ZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL1JFQURNRSBiL21ldGEtb3BlbmVtYmVkZGVkL1JFQURNRQppbmRleCBhNzE2ODAxLi43MzE4ZjA5IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9SRUFETUUKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvUkVBRE1FCkBAIC0xLDYgKzEsNiBAQAogQ29sbGVjdGlvbiBvZiBsYXllcnMgZm9yIHRoZSBPRS1jb3JlIHVuaXZlcnNlCiAKLVRodWQgbWFpbnRhaW5lcjogQXJtaW4gS3VzdGVyICA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CitNYWluIGxheWVyIG1haW50YWluZXI6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiAKIFRoaXMgcmVwb3NpdG9yeSBpcyBhIGNvbGxlY3Rpb24gb2YgbGF5ZXJzIHRvIHN1cHBsaW1lbnQgT0UtQ29yZQogd2l0aCBhZGRpdGlvbmFsIHBhY2thZ2VzLCBFYWNoIGxheWVyIGhhdmUgZGVzaWduYXRlZCBtYWludGFpbmVyCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL1JFQURNRSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvUkVBRE1FCmluZGV4IGFjMDAzNWEuLjg3Y2I2ODUgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvUkVBRE1FCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvUkVBRE1FCkBAIC0xMCwzMCArMTAsMzAgQEAKIFRoaXMgbGF5ZXIgZGVwZW5kcyBvbjoKIAogICBVUkk6IGdpdDovL2dpdC5vcGVuZW1iZWRkZWQub3JnL2JpdGJha2UKLSAgYnJhbmNoOiAxLjQwCisgIGJyYW5jaDogbWFzdGVyCiAKICAgVVJJOiBnaXQ6Ly9naXQub3BlbmVtYmVkZGVkLm9yZy9vcGVuZW1iZWRkZWQtY29yZQogICBsYXllcnM6IG1ldGEKLSAgYnJhbmNoOiB0aHVkCisgIGJyYW5jaDogbWFzdGVyCiAKICAgVVJJOiBnaXQ6Ly9naXQub3BlbmVtYmVkZGVkLm9yZy9tZXRhLW9wZW5lbWJlZGRlZAogICBsYXllcnM6IG1ldGEtb2UKLSAgYnJhbmNoOiB0aHVkCisgIGJyYW5jaDogbWFzdGVyCiAKIFBhdGNoZXMKID09PT09PT0KIAogUGxlYXNlIHN1Ym1pdCBhbnkgcGF0Y2hlcyBhZ2FpbnN0IHRoZSBmaWxlc3lzdGVtcyBsYXllciB0byB0aGUKIE9wZW5FbWJlZGRlZCBkZXZlbG9wbWVudCBtYWlsaW5nIGxpc3QgKG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnKQotd2l0aCAnW21ldGEtZmlsZXN5c3RlbXNdW3RodWRdJyBpbiB0aGUgc3ViamVjdC4KK3dpdGggJ1ttZXRhLWZpbGVzeXN0ZW1zXScgaW4gdGhlIHN1YmplY3QuCiAKLVRodWQgbWFpbnRhaW5lcjogQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KK0xheWVyIG1haW50YWluZXI6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiAKIFdoZW4gc2VuZGluZyBzaW5nbGUgcGF0Y2hlcywgcGxlYXNlIHVzZSBzb21ldGhpbmcgbGlrZToKIAogICAgZ2l0IHNlbmQtZW1haWwgLTEgLU0gXAogICAgICAgICAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIFwKLSAgICAgICAgLS1zdWJqZWN0LXByZWZpeD1tZXRhLWZpbGVzeXN0ZW1zXVt0aHVkXVtQQVRDSAorICAgICAgICAtLXN1YmplY3QtcHJlZml4PW1ldGEtZmlsZXN5c3RlbXNdW1BBVENICiAKIAogVGFibGUgb2YgQ29udGVudHMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvY29uZi9sYXllci5jb25mIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9jb25mL2xheWVyLmNvbmYKaW5kZXggMDAyZjA5OS4uNWFhMmIwYyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9jb25mL2xheWVyLmNvbmYKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9jb25mL2xheWVyLmNvbmYKQEAgLTE1LDQgKzE1LDQgQEAKIAogTEFZRVJERVBFTkRTX2ZpbGVzeXN0ZW1zLWxheWVyID0gImNvcmUgb3BlbmVtYmVkZGVkLWxheWVyIgogCi1MQVlFUlNFUklFU19DT01QQVRfZmlsZXN5c3RlbXMtbGF5ZXIgPSAidGh1ZCIKK0xBWUVSU0VSSUVTX0NPTVBBVF9maWxlc3lzdGVtcy1sYXllciA9ICJ0aHVkIHdhcnJpb3IiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvZnVzZS1leGZhdC9mdXNlLWV4ZmF0XzEuMi4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL2Z1c2UtZXhmYXQvZnVzZS1leGZhdF8xLjIuMy5iYgppbmRleCA5OWJmMmJlLi4xOGZjOWNkIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvZnVzZS1leGZhdC9mdXNlLWV4ZmF0XzEuMi4zLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9mdXNlLWV4ZmF0L2Z1c2UtZXhmYXRfMS4yLjMuYmIKQEAgLTE3LDUgKzE3LDQgQEAKIFNSQ19VUklbbWQ1c3VtXSA9ICJmY2E3MWU2NTk4Zjc5ZDAzN2EzYzdjOTY5Y2I1NzEwYyIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICJmMmUwNmViYTVhMjFjNjIxYWFjMWQ2ZGEyMWIxMmE1YTMyNGZkZDFlMjBmOWM4YWNkMzU3ZGQ0NjNjMjM1NWQ5IgogCi1TID0gIiR7V09SS0RJUn0vJHtQTn0tJHtQVn0iCiBFWFRSQV9PRUNPTkYgKz0gInNiaW5kaXI9JHtiYXNlX3NiaW5kaXJ9IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL2ltYWdlcy9tZXRhLWZpbGVzeXN0ZW1zLWltYWdlLWJhc2UuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvaW1hZ2VzL21ldGEtZmlsZXN5c3RlbXMtaW1hZ2UtYmFzZS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jODliMWUxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL2ltYWdlcy9tZXRhLWZpbGVzeXN0ZW1zLWltYWdlLWJhc2UuYmIKQEAgLTAsMCArMSw3IEBACitTVU1NQVJZID0gIm1ldGEtZmlsZXN5c3RlbXMgYnVpbGQgdGVzdCBpbWFnZSIKKworSU1BR0VfSU5TVEFMTCA9ICJwYWNrYWdlZ3JvdXAtY29yZS1ib290IgorCitMSUNFTlNFID0gIk1JVCIKKworaW5oZXJpdCBjb3JlLWltYWdlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvaW1hZ2VzL21ldGEtZmlsZXN5c3RlbXMtaW1hZ2UuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvaW1hZ2VzL21ldGEtZmlsZXN5c3RlbXMtaW1hZ2UuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2EyMWQyYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9pbWFnZXMvbWV0YS1maWxlc3lzdGVtcy1pbWFnZS5iYgpAQCAtMCwwICsxLDMgQEAKK3JlcXVpcmUgIG1ldGEtZmlsZXN5c3RlbXMtaW1hZ2UtYmFzZS5iYgorCitJTUFHRV9JTlNUQUxMICs9ICJwYWNrYWdlZ3JvdXAtbWV0YS1maWxlc3lzdGVtcyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9vd2ZzL293ZnNfMy4ycDIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvb3dmcy9vd2ZzXzMuMnAyLmJiCmluZGV4IDUwODY1Y2MuLjg1N2FhZjIgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9vd2ZzL293ZnNfMy4ycDIuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL293ZnMvb3dmc18zLjJwMi5iYgpAQCAtMTgsNyArMTgsNyBAQAogCiBTID0gIiR7V09SS0RJUn0vZ2l0IgogCi1pbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgdXBkYXRlLXJjLmQgcGtnY29uZmlnCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgdXBkYXRlLXJjLmQgcGtnY29uZmlnIHN5c3RlbWQKIAogRVhUUkFfT0VDT05GID0gIiBcCiAgICAgICAgICAgICAgICAgIC0td2l0aC1mdXNlaW5jbHVkZT0ke1NUQUdJTkdfSU5DRElSfSBcCkBAIC01Miw5ICs1MiwxMiBAQAogREVTQ1JJUFRJT05fb3dtb24gPSAiTW9uaXRvciBmb3Igb3dzZXJ2ZXIgc2V0dGluZ3MgYW5kIHN0YXRpc3RpY3MiCiBERVNDUklQVElPTl9vd3RhcCA9ICJQYWNrZXQgc25pZmZlciBmb3IgdGhlIG93c2VydmVyIHByb3RvY29sIgogCi1GSUxFU19vd2Z0cGQgPSAiJHtiaW5kaXJ9L293ZnRwZCIKLUZJTEVTX293aHR0cGQgPSAiJHtiaW5kaXJ9L293aHR0cGQgJHtzeXNjb25mZGlyfS9pbml0LmQvb3dodHRwZCIKLUZJTEVTX293c2VydmVyID0gIiR7YmluZGlyfS9vd3NlcnZlciAke3N5c2NvbmZkaXJ9L2luaXQuZC9vd3NlcnZlciIKK0ZJTEVTX293ZnRwZCA9ICIke2JpbmRpcn0vb3dmdHBkICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vb3dmdHBkLnNlcnZpY2UiCitGSUxFU19vd2h0dHBkID0gIiR7YmluZGlyfS9vd2h0dHBkICR7c3lzY29uZmRpcn0vaW5pdC5kL293aHR0cGQgXAorICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L293aHR0cGQuc2VydmljZSIKK0ZJTEVTX293c2VydmVyID0gIiR7YmluZGlyfS9vd3NlcnZlciAke3N5c2NvbmZkaXJ9L2luaXQuZC9vd3NlcnZlciBcCisgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L293c2VydmVyLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9vd3NlcnZlci5zb2NrZXQiCiBGSUxFU19vd3NoZWxsID0gIiR7YmluZGlyfS9vd3JlYWQgJHtiaW5kaXJ9L293d3JpdGUgXAogICAgICAgICAgICAgICAgICAke2JpbmRpcn0vb3dkaXIgJHtiaW5kaXJ9L293cHJlc2VudCBcCiAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9vd2dldCAke2JpbmRpcn0vb3dzaWRlIgpAQCAtNjMsOSArNjYsMTUgQEAKIEZJTEVTX2xpYm93Y2FwaSA9ICIke2xpYmRpcn0vbGlib3djYXBpLSoiCiBGSUxFU19saWJvdyA9ICIke2xpYmRpcn0vbGlib3ctKiIKIEZJTEVTX2xpYm93bmV0ID0gIiR7bGliZGlyfS9saWJvd25ldC0qIgorRklMRVNfJHtQTn0gKz0gIiR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vb3dmcy5zZXJ2aWNlIgogCiBJTklUU0NSSVBUX1BBQ0tBR0VTID0gIm93aHR0cGQgb3dzZXJ2ZXIiCiBJTklUU0NSSVBUX05BTUVfb3dzZXJ2ZXIgPSAib3dzZXJ2ZXIiCiBJTklUU0NSSVBUX05BTUVfb3dodHRwZCA9ICJvd2h0dHBkIgogSU5JVFNDUklQVF9QQVJBTVNfb3dzZXJ2ZXIgPSAiZGVmYXVsdHMgMjAiCiBJTklUU0NSSVBUX1BBUkFNU19vd2h0dHBkID0gImRlZmF1bHRzIDIxIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAib3dmcy5zZXJ2aWNlIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59LW93ZnRwZCA9ICJvd2Z0cGQuc2VydmljZSIKK1NZU1RFTURfU0VSVklDRV8ke1BOfS1vd2h0dHBkID0gIm93aHR0cGQuc2VydmljZSIKK1NZU1RFTURfU0VSVklDRV8ke1BOfS1vd3NlcnZlciA9ICJvd3NlcnZlci5zZXJ2aWNlIG93c2VydmVyLnNvY2tldCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9wYWNrYWdlY29uZmlncy9wYWNrYWdlZ3JvdXAtbWV0YS1maWxlc3lzdGVtcy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9wYWNrYWdlY29uZmlncy9wYWNrYWdlZ3JvdXAtbWV0YS1maWxlc3lzdGVtcy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NmIxYzliCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL3BhY2thZ2Vjb25maWdzL3BhY2thZ2Vncm91cC1tZXRhLWZpbGVzeXN0ZW1zLmJiCkBAIC0wLDAgKzEsMzUgQEAKK1NVTU1BUlkgPSAiTWV0YS1maWxlc3lzdGVtIHBhY2thZ2Vncm91cHMiCisKK2luaGVyaXQgcGFja2FnZWdyb3VwCisKK1BST1ZJREVTID0gIiR7UEFDS0FHRVN9IgorUEFDS0FHRVMgPSAnIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1maWxlc3lzdGVtcyBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtZmlsZXN5c3RlbXMtc3VwcG9ydCBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtZmlsZXN5c3RlbXMtdXRscyBcCisnCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLWZpbGVzeXN0ZW1zID0gIlwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1maWxlc3lzdGVtcyBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtZmlsZXN5c3RlbXMtc3VwcG9ydCBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtZmlsZXN5c3RlbXMtdXRscyBcCisiCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLWZpbGVzeXN0ZW1zID0gIlwKKyAgICBudGZzLTNnLW50ZnNwcm9ncyBpZnVzZSBzc2hmcy1mdXNlIFwKKyAgICBsb2dmc3Byb2dzIG93ZnMgc2ltcGxlLW10cGZzIFwKKyAgICB1bmlvbmZzLWZ1c2UgZnVzZS1leGZhdCB5YWZmczItdXRpbHMgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAicGFtIiwgInNtYm5ldGZzIiwgIiIsIGQpfSBcCisgICAgIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1maWxlc3lzdGVtcy1zdXBwb3J0ID0gIlwKKyAgICBwaHlzZnMgZnVzZSBcCisgICAgIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1maWxlc3lzdGVtcy11dGlscyA9ICJcCisgICAgeG9ycmlzbyBhdWZzLXV0aWwgeGZzcHJvZ3MgXAorICAgIGYyZnMtdG9vbHMgZXhmYXQtdXRpbHMgdWRldmlsIFwKKyAgICB4ZnNkdW1wIFwKKyAgICAiCisKK0VYQ0xVREVfRlJPTV9XT1JMRCA9ICIxIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL3lhZmZzMi95YWZmczItdXRpbHNfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL3lhZmZzMi95YWZmczItdXRpbHNfZ2l0LmJiCmluZGV4IDYwOTVlMjcuLjg2MjhiZWEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy95YWZmczIveWFmZnMyLXV0aWxzX2dpdC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMveWFmZnMyL3lhZmZzMi11dGlsc19naXQuYmIKQEAgLTQzLDMgKzQzLDkgQEAKIH0KIAogQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKKyMgRml4ZWQgbWFrZSBjbGVhbiBlcnJvcjoKKyNtYWtlIC1DIC9saWIvbW9kdWxlcy80LjQuMC0xMTItZ2VuZXJpYy9idWlsZCBNPTxzbmlwPgorI21ha2U6ICoqKiAvbGliL21vZHVsZXMvNC40LjAtMTEyLWdlbmVyaWMvYnVpbGQ6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkuICBTdG9wLgorI21ha2U6ICoqKiBbY2xlYW5dIEVycm9yIDIKK0NMRUFOQlJPS0VOID0gIjEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtc3VwcG9ydC9waHlzZnMvcGh5c2ZzXzMuMC4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXN1cHBvcnQvcGh5c2ZzL3BoeXNmc18zLjAuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2M5N2RlYS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtc3VwcG9ydC9waHlzZnMvcGh5c2ZzXzMuMC4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotU1VNTUFSWSA9ICJQaHlzaWNzRlMgaXMgYSBsaWJyYXJ5IHRvIHByb3ZpZGUgYWJzdHJhY3QgYWNjZXNzIHRvIHZhcmlvdXMgYXJjaGl2ZXMiCi1IT01FQVBBR0UgPSAiaHR0cDovL2ljY3VsdXMub3JnL3BoeXNmcyIKLUxJQ0VOU0UgPSAiWmxpYiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT0yNjY4ZTJmYjA1MWMzZTU2NDE5OGUxNDZhOWEyZDlmMCIKLURFUEVORFMgPSAicmVhZGxpbmUgemxpYiIKLQotaW5oZXJpdCBjbWFrZQotCi1QRSA9ICIxIgotCi1TUkNfVVJJID0gImh0dHA6Ly9pY2N1bHVzLm9yZy8ke0JQTn0vZG93bmxvYWRzLyR7QlB9LnRhci5iejIiCi1TUkNfVVJJW21kNXN1bV0gPSAiMzU5ZjEwMmJjYmQ2MmFjY2Y4NGVmMzJmNDg2MzI1NWQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjc3YjlmODUzMTY4ZDk2MzZhNDRmNzVmY2EzNzJiMzYzMTA2ZjUyZDc4OWQxOGEyZjc3NjM5N2JmMTE3ZjJmMSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1zdXBwb3J0L3BoeXNmcy9waHlzZnNfMy4wLjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtc3VwcG9ydC9waHlzZnMvcGh5c2ZzXzMuMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwMDMzZmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtc3VwcG9ydC9waHlzZnMvcGh5c2ZzXzMuMC4yLmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiUGh5c2ljc0ZTIGlzIGEgbGlicmFyeSB0byBwcm92aWRlIGFic3RyYWN0IGFjY2VzcyB0byB2YXJpb3VzIGFyY2hpdmVzIgorSE9NRUFQQUdFID0gImh0dHA6Ly9pY2N1bHVzLm9yZy9waHlzZnMiCitMSUNFTlNFID0gIlpsaWIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9OTY4MDE4ODJkMTEyMDIzOWRjYWZiZjg4OGU4MjFhNmUiCitERVBFTkRTID0gInJlYWRsaW5lIHpsaWIiCisKK2luaGVyaXQgY21ha2UKKworUEUgPSAiMSIKKworU1JDX1VSSSA9ICJodHRwOi8vaWNjdWx1cy5vcmcvJHtCUE59L2Rvd25sb2Fkcy8ke0JQfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gImRjNzUxMjk0YWFmNTlkMTM1OWJiZTM0ZTY5M2QxZDg3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjMwNGRmNzYyMDZkNjMzZGY1MzYwZTczOGIxMzhjOTRlODJjY2YwODZlNTBiYTg0ZjQ1NmQzZjg0MzJmOWY4NjMiCisKK0VYVFJBX09FQ01BS0UgPSAiLURMSUJfU1VGRklYPSR7QGQuZ2V0VmFyKCdiYXNlbGliJykucmVwbGFjZSgnbGliJywgJycpfSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy94ZnNwcm9ncy94ZnNwcm9nc180LjE4LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMveGZzcHJvZ3MveGZzcHJvZ3NfNC4xOC4wLmJiCmluZGV4IDBhMWJhY2IuLjg4NjAzZGIgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy94ZnNwcm9ncy94ZnNwcm9nc180LjE4LjAuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL3hmc3Byb2dzL3hmc3Byb2dzXzQuMTguMC5iYgpAQCAtNTgsNiArNTgsOCBAQAogICAgIHJtIC1mICR7Qn0vaW5jbHVkZS9idWlsZGRlZnMgJHtCfS9pbmNsdWRlL3BsYXRmb3JtX2RlZnMuaCAke0J9L2NvbmZpZ3VyZQogICAgICMgUmVjcmVhdGUgY29uZmlndXJlIHNjcmlwdC4KICAgICBvZV9ydW5tYWtlIGNvbmZpZ3VyZQorICAgIGluc3RhbGwgLW0gMDc1NSAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2dudS1jb25maWcvY29uZmlnLmd1ZXNzICR7U30KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9nbnUtY29uZmlnL2NvbmZpZy5zdWIgJHtTfQogICAgIG9lX3J1bmNvbmYKIH0KIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9SRUFETUUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL1JFQURNRQppbmRleCA4NGQ0ZjczLi4yYTY4MmU3IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL1JFQURNRQorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL1JFQURNRQpAQCAtMjMsMTYgKzIzLDE2IEBACiBUaGlzIGxheWVyIGRlcGVuZHMgb246CiAKIFVSSTogZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuZW1iZWRkZWQvb2UtY29yZS5naXQKLWJyYW5jaDogdGh1ZAorYnJhbmNoOiBtYXN0ZXIKIHJldmlzaW9uOiBIRUFECiAKIFVSSTogZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuZW1iZWRkZWQvbWV0YS1vZS5naXQKLWJyYW5jaDogdGh1ZAorYnJhbmNoOiBtYXN0ZXIKIHJldmlzaW9uOiBIRUFECiAKLVNlbmQgcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyB3aXRoICdbbWV0YS1nbm9tZV1bdGh1ZF0nIGluIHRoZSBzdWJqZWN0JworU2VuZCBwdWxsIHJlcXVlc3RzIHRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIHdpdGggJ1ttZXRhLWdub21lXScgaW4gdGhlIHN1YmplY3QnCiAKIFdoZW4gc2VuZGluZyBzaW5nbGUgcGF0Y2hlcywgcGxlYXNlIHVzaW5nIHNvbWV0aGluZyBsaWtlOgotJ2dpdCBzZW5kLWVtYWlsIC1NIC0xIC0tdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgLS1zdWJqZWN0LXByZWZpeD1tZXRhLWdub21lXVt0aHVkXVtQQVRDSCcKKydnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1nbm9tZV1bUEFUQ0gnCiAKLVRodWQgbWFpbnRhaW5lcjogQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KK0xheWVyIG1haW50YWluZXI6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvY29uZi9sYXllci5jb25mIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9jb25mL2xheWVyLmNvbmYKaW5kZXggZTlkMDc4NS4uMGI2ODIzMiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9jb25mL2xheWVyLmNvbmYKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9jb25mL2xheWVyLmNvbmYKQEAgLTE0LDcgKzE0LDcgQEAKIAogTEFZRVJERVBFTkRTX2dub21lLWxheWVyID0gImNvcmUgb3BlbmVtYmVkZGVkLWxheWVyIG5ldHdvcmtpbmctbGF5ZXIiCiAKLUxBWUVSU0VSSUVTX0NPTVBBVF9nbm9tZS1sYXllciA9ICJ0aHVkIgorTEFZRVJTRVJJRVNfQ09NUEFUX2dub21lLWxheWVyID0gInRodWQgd2FycmlvciIKIAogIyBTYW5pdHkgY2hlY2sgZm9yIG1ldGEtZ25vbWUgbGF5ZXIuCiAjIFNldHRpbmcgU0tJUF9NRVRBX0dOT01FX1NBTklUWV9DSEVDSyB0byAiMSIgd291bGQgc2tpcCB0aGUgYmJhcHBlbmQgZmlsZXMgY2hlY2suCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmstbWFuYWdlci1hcHBsZXQvbmV0d29yay1tYW5hZ2VyLWFwcGxldF8xLjguMTguYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmstbWFuYWdlci1hcHBsZXQvbmV0d29yay1tYW5hZ2VyLWFwcGxldF8xLjguMTguYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxODQwMDAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrLW1hbmFnZXItYXBwbGV0L25ldHdvcmstbWFuYWdlci1hcHBsZXRfMS44LjE4LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotU1VNTUFSWSA9ICJHVEsrIGFwcGxldCBmb3IgTmV0d29ya01hbmFnZXIiCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIiCi0KLURFUEVORFMgPSAiZ3RrKzMgbGlibm90aWZ5IGxpYnNlY3JldCBuZXR3b3JrbWFuYWdlciBkYnVzLWdsaWIgXAotICAgICAgICAgICBnY29uZiBsaWJnbm9tZS1rZXlyaW5nIGlzby1jb2RlcyBuc3MgXAotICAgICAgICAgICBpbnRsdG9vbC1uYXRpdmUgXAotIgotCi1HTk9NRUJBU0VCVUlMRENMQVNTID0gImF1dG90b29scy1icm9rZW5zZXAiCi1pbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjayBnbm9tZWJhc2UgZ3NldHRpbmdzIGd0ay1pY29uLWNhY2hlIGdvYmplY3QtaW50cm9zcGVjdGlvbgotCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgotCi1TUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICIzNDkyMzU3OWIzOTM2MGRiNjQ2NDkzNDJlZTY3MzVkOCIKLVNSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjIzZGMxNDA0ZjFlMDYyMmI3YzQ3MThiNmQ5NzhiMTAxZDVlNGQ5YmUwYjkyMTMzYjM4NjNhNGRjMjk3ODYxNzgiCi0KLVBBQ0tBR0VDT05GSUdbbW9kZW1tYW5hZ2VyXSA9ICItLXdpdGgtd3dhbiwtLXdpdGhvdXQtd3dhbixtb2RlbW1hbmFnZXIiCi1QQUNLQUdFQ09ORklHW21vYmlsZS1wcm92aWRlci1pbmZvXSA9ICItLWVuYWJsZS1tb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm8sLS1kaXNhYmxlLW1vYmlsZS1icm9hZGJhbmQtcHJvdmlkZXItaW5mbyxtb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm8sbW9iaWxlLWJyb2FkYmFuZC1wcm92aWRlci1pbmZvIgotUEFDS0FHRUNPTkZJRyA/Pz0gIiIKLQotRVhUUkFfT0VDT05GID0gIiBcCi0gICAgLS13aXRob3V0LXNlbGludXggXAotIgotCi1kb19jb25maWd1cmVfYXBwZW5kKCkgewotICAgICMgU2lnaC4uLiAtLWVuYWJsZS1jb21waWxlLXdhcm5pbmdzPW5vIGRvZXNuJ3QgYWN0dWFsbHkgdHVybiBvZmYgLVdlcnJvcgotICAgIGZvciBpIGluICQoZmluZCAke0J9IC1uYW1lICJNYWtlZmlsZSIpIDsgZG8KLSAgICAgICAgc2VkIC1pIC1lIHMlLVdlcnJvclteWzpzcGFjZTpdXSolJWcgJGkKLSAgICBkb25lCi19Ci0KLSMgZ29iamVjdC1pbnRyb3NwZWN0aW9uIHJlbGF0ZWQKLUdJX0RBVEFfRU5BQkxFRF9saWJjLW11c2wgPSAiRmFsc2UiCi0KLWRvX2NvbXBpbGVfcHJlcGVuZCgpIHsKLSAgICBleHBvcnQgR0lSX0VYVFJBX0xJQlNfUEFUSD0iJHtCfS9zcmMvbGlibm1hLy5saWJzOiR7Qn0vc3JjL2xpYm5tLWd0ay8ubGlicyIKLX0KLQotUkRFUEVORFNfJHtQTn0gPSsgIm5ldHdvcmttYW5hZ2VyIgotCi1GSUxFU18ke1BOfSArPSAiIFwKLSAgICAke2RhdGFkaXJ9L25tLWFwcGxldC8gXAotICAgICR7ZGF0YWRpcn0vbGlibm0tZ3RrL3dpZmkudWkgXAotICAgICR7ZGF0YWRpcn0vbGlibm1hL3dpZmkudWkgXAotICAgICR7ZGF0YWRpcn0vbWV0YWluZm8gXAotIgotCi0jIG11c2wgYnVpbGRzIGdlbmVyYXRlIGdpciBmaWxlcyB3aGljaCBvdGhlcndpc2UgZ28gdW4tcGFja2FnZWQKLUZJTEVTXyR7UE59LWRldiArPSAiIFwKLSAgICAke2RhdGFkaXJ9L2dpci0xLjAgXAotIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrLW1hbmFnZXItYXBwbGV0L25ldHdvcmstbWFuYWdlci1hcHBsZXRfMS44LjIwLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrLW1hbmFnZXItYXBwbGV0L25ldHdvcmstbWFuYWdlci1hcHBsZXRfMS44LjIwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxODFmNWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmstbWFuYWdlci1hcHBsZXQvbmV0d29yay1tYW5hZ2VyLWFwcGxldF8xLjguMjAuYmIKQEAgLTAsMCArMSw1MiBAQAorU1VNTUFSWSA9ICJHVEsrIGFwcGxldCBmb3IgTmV0d29ya01hbmFnZXIiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIiCisKK0RFUEVORFMgPSAiZ3RrKzMgbGlibm90aWZ5IGxpYnNlY3JldCBuZXR3b3JrbWFuYWdlciBkYnVzLWdsaWIgXAorICAgICAgICAgICBnY29uZiBsaWJnbm9tZS1rZXlyaW5nIGlzby1jb2RlcyBuc3MgXAorICAgICAgICAgICBpbnRsdG9vbC1uYXRpdmUgXAorIgorCitHTk9NRUJBU0VCVUlMRENMQVNTID0gImF1dG90b29scy1icm9rZW5zZXAiCitpbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjayBnbm9tZWJhc2UgZ3NldHRpbmdzIGd0ay1pY29uLWNhY2hlIGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICIwNmFhZmE4NTE3NjIxNDYwMzQzNTFhYTcyZWJiMjNkNCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjA1MGRiYjE1NTU2NmM3MTUyMzlkYzAzNzg4NDRkOGJlZWQxMDk1NGU2NGU3MTAxNGVjZWY4Y2E5MTJkZjM0ZWMiCisKK1BBQ0tBR0VDT05GSUdbbW9kZW1tYW5hZ2VyXSA9ICItLXdpdGgtd3dhbiwtLXdpdGhvdXQtd3dhbixtb2RlbW1hbmFnZXIiCitQQUNLQUdFQ09ORklHW21vYmlsZS1wcm92aWRlci1pbmZvXSA9ICItLWVuYWJsZS1tb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm8sLS1kaXNhYmxlLW1vYmlsZS1icm9hZGJhbmQtcHJvdmlkZXItaW5mbyxtb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm8sbW9iaWxlLWJyb2FkYmFuZC1wcm92aWRlci1pbmZvIgorUEFDS0FHRUNPTkZJRyA/Pz0gIiIKKworRVhUUkFfT0VDT05GID0gIiBcCisgICAgLS13aXRob3V0LXNlbGludXggXAorIgorCitkb19jb25maWd1cmVfYXBwZW5kKCkgeworICAgICMgU2lnaC4uLiAtLWVuYWJsZS1jb21waWxlLXdhcm5pbmdzPW5vIGRvZXNuJ3QgYWN0dWFsbHkgdHVybiBvZmYgLVdlcnJvcgorICAgIGZvciBpIGluICQoZmluZCAke0J9IC1uYW1lICJNYWtlZmlsZSIpIDsgZG8KKyAgICAgICAgc2VkIC1pIC1lIHMlLVdlcnJvclteWzpzcGFjZTpdXSolJWcgJGkKKyAgICBkb25lCit9CisKKyMgZ29iamVjdC1pbnRyb3NwZWN0aW9uIHJlbGF0ZWQKK0dJX0RBVEFfRU5BQkxFRF9saWJjLW11c2wgPSAiRmFsc2UiCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICBleHBvcnQgR0lSX0VYVFJBX0xJQlNfUEFUSD0iJHtCfS9zcmMvbGlibm1hLy5saWJzOiR7Qn0vc3JjL2xpYm5tLWd0ay8ubGlicyIKK30KKworUkRFUEVORFNfJHtQTn0gPSsgIm5ldHdvcmttYW5hZ2VyIgorCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAke2RhdGFkaXJ9L25tLWFwcGxldC8gXAorICAgICR7ZGF0YWRpcn0vbGlibm0tZ3RrL3dpZmkudWkgXAorICAgICR7ZGF0YWRpcn0vbGlibm1hL3dpZmkudWkgXAorICAgICR7ZGF0YWRpcn0vbWV0YWluZm8gXAorIgorCisjIG11c2wgYnVpbGRzIGdlbmVyYXRlIGdpciBmaWxlcyB3aGljaCBvdGhlcndpc2UgZ28gdW4tcGFja2FnZWQKK0ZJTEVTXyR7UE59LWRldiArPSAiIFwKKyAgICAke2RhdGFkaXJ9L2dpci0xLjAgXAorIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWV4dGVuZGVkL2dwYXJ0ZWQvZ3BhcnRlZF8wLjMxLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZXh0ZW5kZWQvZ3BhcnRlZC9ncGFydGVkXzAuMzEuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNThiZWFmNi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZXh0ZW5kZWQvZ3BhcnRlZC9ncGFydGVkXzAuMzEuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLVNVTU1BUlkgPSAiQSBwYXJ0aXRpb24gZWRpdG9yIHRvIGdyYXBoaWNhbGx5IG1hbmFnZSBkaXNrIHBhcnRpdGlvbnMgIgotSE9NRVBBR0UgPSAiaHR0cDovL2dwYXJ0ZWQub3JnL2luZGV4LnBocCIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKLQotaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBndGstaWNvbi1jYWNoZQotCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgotCi1TUkNfVVJJID0gIiBcCi0gICAgJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3Byb2plY3QvJHtCUE59LyR7QlBOfS8ke0JQTn0tJHtQVn0vJHtCUE59LSR7UFZ9LnRhci5neiBcCi0gICAgZmlsZTovL29yZy55b2N0b3Byb2plY3QucGtleGVjLnJ1bi1ncGFydGVkLnBvbGljeSBcCi0gICAgZmlsZTovL2dwYXJ0ZWRfcG9sa2l0IFwKLSIKLVNSQ19VUklbbWQ1c3VtXSA9ICJjNTU0Y2M1NzM0YzUwNDU5ZGQ1NTFiZDNmYTEwNzEwZSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIzYjdiNDlhNDM0ZDllNGIzOTdiYzQxYTFmNWFjYWI4NTM5YjlmZjQwMmI0NzJkZmQ4M2FkNzdiMmRlY2QwN2JhIgotCi1ERVBFTkRTID0gImdsaWItMi4wIGdsaWItMi4wLW5hdGl2ZSBndGttbSBwYXJ0ZWQgZ25vbWUtZG9jLXV0aWxzIGludGx0b29sLW5hdGl2ZSIKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgIyBBZGQgYSBzY3JpcHQgd2hpY2ggY2hlY2tzIGlmIHBvbGtpdCBpcyBpbnN0YWxsZWQuCi0gICAgIyBJZiB5ZXM6IGEgcG9saWN5IGlzIHJlcXVlc3RlZCBmcm9tIHBvbGtpdCAvIG90aGVyd2lzZSBzdGFydCBhcyB1c3VhbAotICAgIGluc3RhbGwgJHtXT1JLRElSfS9ncGFydGVkX3BvbGtpdCAke0R9JHtzYmluZGlyfQotICAgIHNlZCAtaSAnczolc2JpbmRpciU6JHtzYmluZGlyfTpnJyAke0R9JHtzYmluZGlyfS9ncGFydGVkX3BvbGtpdAotICAgICMgcmVsaW5rIG1lbnUgZW50cnkgdG8gdXNlIG91ciBzY3JpcHQKLSAgICBzZWQgLWkgJ3M6JHtzYmluZGlyfS9ncGFydGVkOiR7c2JpbmRpcn0vZ3BhcnRlZF9wb2xraXQ6ZycgJHtEfSR7ZGF0YWRpcn0vYXBwbGljYXRpb25zL2dwYXJ0ZWQuZGVza3RvcAotCi0gICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9wb2xraXQtMS9hY3Rpb25zCi0gICAgaW5zdGFsbCAke1dPUktESVJ9L29yZy55b2N0b3Byb2plY3QucGtleGVjLnJ1bi1ncGFydGVkLnBvbGljeSAke0R9JHtkYXRhZGlyfS9wb2xraXQtMS9hY3Rpb25zL29yZy55b2N0b3Byb2plY3QucGtleGVjLnJ1bi1ncGFydGVkLnBvbGljeQotfQotCi1FWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXNjcm9sbGtlZXBlciAtLWRpc2FibGUtZG9jIgotCi1GSUxFU18ke1BOfSArPSAiIFwKLSAgICAke2RhdGFkaXJ9L2FwcGRhdGEgXAotICAgICR7ZGF0YWRpcn0vaWNvbnMgXAotICAgICR7ZGF0YWRpcn0vcG9sa2l0LTEgXAotIgotCi1SREVQRU5EU18ke1BOfSA9ICJkb3Nmc3Rvb2xzIG10b29scyBlMmZzcHJvZ3MiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZXh0ZW5kZWQvZ3BhcnRlZC9ncGFydGVkXzAuMzMuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1leHRlbmRlZC9ncGFydGVkL2dwYXJ0ZWRfMC4zMy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5ZjY5OTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZXh0ZW5kZWQvZ3BhcnRlZC9ncGFydGVkXzAuMzMuMC5iYgpAQCAtMCwwICsxLDQwIEBACitTVU1NQVJZID0gIkEgcGFydGl0aW9uIGVkaXRvciB0byBncmFwaGljYWxseSBtYW5hZ2UgZGlzayBwYXJ0aXRpb25zICIKK0hPTUVQQUdFID0gImh0dHA6Ly9ncGFydGVkLm9yZy9pbmRleC5waHAiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK2luaGVyaXQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIGF1dG90b29scyBwa2djb25maWcgZ3RrLWljb24tY2FjaGUKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSSA9ICIgXAorICAgICR7U09VUkNFRk9SR0VfTUlSUk9SfS9wcm9qZWN0LyR7QlBOfS8ke0JQTn0vJHtCUE59LSR7UFZ9LyR7QlBOfS0ke1BWfS50YXIuZ3ogXAorICAgIGZpbGU6Ly9vcmcueW9jdG9wcm9qZWN0LnBrZXhlYy5ydW4tZ3BhcnRlZC5wb2xpY3kgXAorICAgIGZpbGU6Ly9ncGFydGVkX3BvbGtpdCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiMmY0ODFhZDM0ZGVjYjcwMjFjYTA0Y2EzMDVlNzllN2QiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTAyM2I4Yzk4M2Y4OGEyMmU2NWJmNmYwOWExMmVhMDkzNjlkZWZjMDA4OTgxYjUyZWU4Yjk2YTM4NzlmODFkNiIKKworREVQRU5EUyA9ICJnbGliLTIuMCBnbGliLTIuMC1uYXRpdmUgZ3RrbW0gcGFydGVkIGdub21lLWRvYy11dGlscyBpbnRsdG9vbC1uYXRpdmUiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICMgQWRkIGEgc2NyaXB0IHdoaWNoIGNoZWNrcyBpZiBwb2xraXQgaXMgaW5zdGFsbGVkLgorICAgICMgSWYgeWVzOiBhIHBvbGljeSBpcyByZXF1ZXN0ZWQgZnJvbSBwb2xraXQgLyBvdGhlcndpc2Ugc3RhcnQgYXMgdXN1YWwKKyAgICBpbnN0YWxsICR7V09SS0RJUn0vZ3BhcnRlZF9wb2xraXQgJHtEfSR7c2JpbmRpcn0KKyAgICBzZWQgLWkgJ3M6JXNiaW5kaXIlOiR7c2JpbmRpcn06ZycgJHtEfSR7c2JpbmRpcn0vZ3BhcnRlZF9wb2xraXQKKyAgICAjIHJlbGluayBtZW51IGVudHJ5IHRvIHVzZSBvdXIgc2NyaXB0CisgICAgc2VkIC1pICdzOiR7c2JpbmRpcn0vZ3BhcnRlZDoke3NiaW5kaXJ9L2dwYXJ0ZWRfcG9sa2l0OmcnICR7RH0ke2RhdGFkaXJ9L2FwcGxpY2F0aW9ucy9ncGFydGVkLmRlc2t0b3AKKworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vcG9sa2l0LTEvYWN0aW9ucworICAgIGluc3RhbGwgJHtXT1JLRElSfS9vcmcueW9jdG9wcm9qZWN0LnBrZXhlYy5ydW4tZ3BhcnRlZC5wb2xpY3kgJHtEfSR7ZGF0YWRpcn0vcG9sa2l0LTEvYWN0aW9ucy9vcmcueW9jdG9wcm9qZWN0LnBrZXhlYy5ydW4tZ3BhcnRlZC5wb2xpY3kKK30KKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1zY3JvbGxrZWVwZXIgLS1kaXNhYmxlLWRvYyIKKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtkYXRhZGlyfS9hcHBkYXRhIFwKKyAgICAke2RhdGFkaXJ9L2ljb25zIFwKKyAgICAke2RhdGFkaXJ9L3BvbGtpdC0xIFwKKyIKKworUkRFUEVORFNfJHtQTn0gPSAiZG9zZnN0b29scyBtdG9vbHMgZTJmc3Byb2dzIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Rjb25mL2Rjb25mLWVkaXRvcl8zLjI4LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZGNvbmYvZGNvbmYtZWRpdG9yXzMuMjguMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzBmOTE3ZS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZGNvbmYvZGNvbmYtZWRpdG9yXzMuMjguMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLVNVTU1BUlkgPSAiQ29uZmlndXJhdGlvbiBlZGl0b3IgZm9yIGRjb25mIgotTElDRU5TRSA9ICJHUEx2MyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTFlYmJkM2UzNDIzN2FmMjZkYTVkYzA4YTRlNDQwNDY0IgotCi1HTk9NRUJBU0VCVUlMRENMQVNTID0gIm1lc29uIgotCi1ERVBFTkRTID0gImRjb25mIGd0ayszIgotCi1pbmhlcml0IGdub21lYmFzZSB2YWxhIGdldHRleHQgZ3NldHRpbmdzIGJhc2gtY29tcGxldGlvbgotCi1TUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJjYzllYjgwMjBjYzg0ODgxMjk3MmQ4NTE5YzNkMDVjZiIKLVNSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjQ1NWI1M2Q4Mjc4MjBlZmQyOGExNzZlZTUyZTEzZWRhNWNkYThjZGY0ZTMxZTAxNDVjZmRkNjk5MzFiZjBjNWEiCi0KLUZJTEVTXyR7UE59ICs9ICIgXAotICAgICR7ZGF0YWRpcn0vZGJ1cy0xIFwKLSAgICAke2RhdGFkaXJ9L21ldGFpbmZvIFwKLSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9kY29uZi9kY29uZi1lZGl0b3JfMy4zMi4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Rjb25mL2Rjb25mLWVkaXRvcl8zLjMyLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTk5ZWQwNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9kY29uZi9kY29uZi1lZGl0b3JfMy4zMi4wLmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiQ29uZmlndXJhdGlvbiBlZGl0b3IgZm9yIGRjb25mIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTFlYmJkM2UzNDIzN2FmMjZkYTVkYzA4YTRlNDQwNDY0IgorCitHTk9NRUJBU0VCVUlMRENMQVNTID0gIm1lc29uIgorCitERVBFTkRTID0gImRjb25mIGd0ayszIgorCitpbmhlcml0IGdub21lYmFzZSB2YWxhIGdldHRleHQgZ3NldHRpbmdzIGJhc2gtY29tcGxldGlvbgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICIzMzFhMzYwM2MwZjhhOTkxM2UzYTNjMGYxNzhiNTMxMCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImYxOWQxMzMyYWMyN2UyM2VmM2RjMmVkMDdiYTRlNDY0NmQ5ZDdmMDVlMmU3ODc0OGFhNTI1YTEzMjBhZGJhYmEiCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7ZGF0YWRpcn0vZGJ1cy0xIFwKKyAgICAke2RhdGFkaXJ9L21ldGFpbmZvIFwKKyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9kY29uZi9kY29uZl8wLjI4LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZGNvbmYvZGNvbmZfMC4yOC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OTI5MmE4Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9kY29uZi9kY29uZl8wLjI4LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1TVU1NQVJZID0gImNvbmZpZ3VhdGlvbiBkYXRhYmFzZSBzeXN0ZW0iCi1MSUNFTlNFID0gIkxHUEx2Mi4xIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MmQ1MDI1ZDRhYTM0OTViZWZlZjhmMTcyMDZhNWIwYTEiCi1TRUNUSU9OID0gIngxMS9nbm9tZSIKLQotU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiODFmYWE4ZTY4ZTVlYTcxZmYwZWU3NTA1MGZjMDc1OWMiCi1TUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI2MWQzYjM4NjVlZjU4YjcyOWMzYjM5YWEwOTc5Zjg4NmMwMTRhYTgzNjJmOTNkY2ZjNzRiZjU2NDhlZDljNzQyIgotCi1ERVBFTkRTID0gImRidXMgZ2xpYi0yLjAgaW50bHRvb2wtbmF0aXZlIgotCi1HTk9NRUJBU0VCVUlMRENMQVNTID0gIm1lc29uIgotCi1pbmhlcml0IGdub21lYmFzZSBnc2V0dGluZ3MgYmFzaC1jb21wbGV0aW9uIHZhbGEKLQotRklMRVNfJHtQTn0gKz0gIiBcCi0gICAgJHtkYXRhZGlyfS9kYnVzLTEgXAotICAgICR7bGliZGlyfS9naW8vbW9kdWxlcy8qLnNvIFwKLSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9kY29uZi9kY29uZl8wLjMyLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZGNvbmYvZGNvbmZfMC4zMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkMWJiZGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZGNvbmYvZGNvbmZfMC4zMi4wLmJiCkBAIC0wLDAgKzEsMjEgQEAKK1NVTU1BUlkgPSAiY29uZmlndWF0aW9uIGRhdGFiYXNlIHN5c3RlbSIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yZDUwMjVkNGFhMzQ5NWJlZmVmOGYxNzIwNmE1YjBhMSIKK1NFQ1RJT04gPSAieDExL2dub21lIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJlMWFjMGI2Mjg1YWJlZmVlZDY5Y2E5ZTM4MGU0NGY1YSIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjY4YmNlNzhiMTliYzk0Y2IyYzNiYjg1ODdlMzdmOWU1ZTMzODU2OGMzYTY3NGY4NmVkZGU5YzlmMTYyNGZmYWIiCisKK0RFUEVORFMgPSAiZGJ1cyBnbGliLTIuMCBpbnRsdG9vbC1uYXRpdmUiCisKK0dOT01FQkFTRUJVSUxEQ0xBU1MgPSAibWVzb24iCisKK2luaGVyaXQgZ25vbWViYXNlIGJhc2gtY29tcGxldGlvbiB2YWxhCisKKyMgSS9PIGVycm9yIDogQXR0ZW1wdCB0byBsb2FkIG5ldHdvcmsgZW50aXR5IGh0dHA6Ly9kb2Nib29rLnNvdXJjZWZvcmdlLm5ldC9yZWxlYXNlL3hzbC9jdXJyZW50L21hbnBhZ2VzL2RvY2Jvb2sueHNsCitFWFRSQV9PRU1FU09OID0gIi1EbWFuPWZhbHNlIgorCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAke2RhdGFkaXJ9L2RidXMtMSBcCisgICAgJHtsaWJkaXJ9L2dpby9tb2R1bGVzLyouc28gXAorIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Vkcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXJfMy4yNi42LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Vkcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXJfMy4yNi42LmJiCmluZGV4IGRiNWRjYTkuLjE5NDlmYzcgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9lZHMvZXZvbHV0aW9uLWRhdGEtc2VydmVyXzMuMjYuNi5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZWRzL2V2b2x1dGlvbi1kYXRhLXNlcnZlcl8zLjI2LjYuYmIKQEAgLTM4LDYgKzM4LDcgQEAKICAgICAtREVOQUJMRV9HT09HTEVfQVVUSD1PRkYgXAogICAgIC1ERU5BQkxFX1dFQVRIRVI9T0ZGIFwKICAgICAtRCR7TEtTVFJGVElNRX0gXAorICAgIC1ETElCX1NVRkZJWD0ke0BkLmdldFZhcignYmFzZWxpYicpLnJlcGxhY2UoJ2xpYicsICcnKX0gXAogIgogCiBQQUNLQUdFQ09ORklHID8/PSAiIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2V2aW5jZS9ldmluY2VfMy4yOC4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2V2aW5jZS9ldmluY2VfMy4yOC4yLmJiCmluZGV4IDhiZjhhMDQuLjAxZjU4MWEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ldmluY2UvZXZpbmNlXzMuMjguMi5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZXZpbmNlL2V2aW5jZV8zLjI4LjIuYmIKQEAgLTYsOCArNiw2IEBACiAKIGluaGVyaXQgZ25vbWUgcGtnY29uZmlnIGd0ay1pY29uLWNhY2hlIGdzZXR0aW5ncyBnb2JqZWN0LWludHJvc3BlY3Rpb24gZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIHN5c3RlbWQKIAotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLQogU1JDX1VSSSA9ICIke0dOT01FX01JUlJPUn0vJHtHTk9NRUJOfS8ke0Bnbm9tZV92ZXJkaXIoIiR7UFZ9Iil9LyR7R05PTUVCTn0tJHtQVn0udGFyLiR7R05PTUVfQ09NUFJFU1NfVFlQRX07bmFtZT1hcmNoaXZlIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtaGVscC1yZW1vdmUtWUVMUC1tYWNyby5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLUFkZC1mb3JtYXQtYXR0cmlidXRlLXRvLV9zeW5jdGV4X21hbGxvYy5wYXRjaCBcCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZmFlbnphLWljb24tdGhlbWUvZmFlbnphLWljb24tdGhlbWVfMS4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2ZhZW56YS1pY29uLXRoZW1lL2ZhZW56YS1pY29uLXRoZW1lXzEuMy5iYgppbmRleCBhMzliMWEwLi41NjFiMDk0IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZmFlbnphLWljb24tdGhlbWUvZmFlbnphLWljb24tdGhlbWVfMS4zLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9mYWVuemEtaWNvbi10aGVtZS9mYWVuemEtaWNvbi10aGVtZV8xLjMuYmIKQEAgLTgsNyArOCw3IEBACiAKIFMgPSAiJHtXT1JLRElSfSIKIAotU1JDX1VSSSA9ICJodHRwOi8vZmFlbnphLWljb24tdGhlbWUuZ29vZ2xlY29kZS5jb20vZmlsZXMvJHtQTn1fJHtQVn0uemlwIgorU1JDX1VSSSA9ICJodHRwOi8vZmFlbnphLWljb24tdGhlbWUuZ29vZ2xlY29kZS5jb20vZmlsZXMvJHtCUE59XyR7UFZ9LnppcCIKIFNSQ19VUklbbWQ1c3VtXSA9ICJlOWJkNjEwNmQxMzAxN2NlMDZkMjRiNTg2MjU5YWU5YyIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICJkNDQ4NmZkYTA0MTNmOGE4MWE4N2UwZGQyMzI5ZjUwZjJhOGE3Y2I0MTQ3YjQ4Y2YxNDdmMDE2MGFkZDgxNzRhIgogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGVza3RvcC9nbm9tZS1kZXNrdG9wLzAwMDEtRGlzYWJsZS1saWJzZWNjb21wLXN5Y2FsbC1maWx0ZXJpbmctbWVjaGFuaXNtLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLWRlc2t0b3AvZ25vbWUtZGVza3RvcC8wMDAxLURpc2FibGUtbGlic2VjY29tcC1zeWNhbGwtZmlsdGVyaW5nLW1lY2hhbmlzbS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWExMWU4YS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGVza3RvcC9nbm9tZS1kZXNrdG9wLzAwMDEtRGlzYWJsZS1saWJzZWNjb21wLXN5Y2FsbC1maWx0ZXJpbmctbWVjaGFuaXNtLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotRnJvbSA5Njc1M2Q4NWQ4YjUzZGQ4Zjg3YjhmNDQ0ODkyZWZmZmRiZmFiMzg4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+Ci1EYXRlOiBUaHUsIDUgT2N0IDIwMTcgMTQ6NTQ6MTcgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSF0gRGlzYWJsZSBsaWJzZWNjb21wIChzeWNhbGwgZmlsdGVyaW5nIG1lY2hhbmlzbSkKLQotVXBzdHJlYW0gZm9yZ290IHRvIG1ha2UgaXQgb3B0aW9uYWwsIGFuZCBpdCBpcyBub3QgY3VycmVudGx5IHVzZWQgaW4gWW9jdG8KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZS1jb3JlIHNwZWNpZmljXQotU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+Ci0KLS0tLQotIGNvbmZpZ3VyZS5hYyB8IDIwIC0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDIwIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCAxMThkMDRmLi40N2M4ODk0IDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmFjCi0rKysgYi9jb25maWd1cmUuYWMKLUBAIC0xNTEsMjYgKzE1MSw2IEBAIGZpCi0gCi0gU0VDQ09NUF9QS0c9IiIKLSBlbmFibGVfc2VjY29tcD0ibm8iCi0tZG5sIENoZWNrIGZvciBidWJibGV3cmFwIGNvbXBhdGlibGUgcGxhdGZvcm0KLS1jYXNlICRob3N0X29zIGluCi0tICBsaW51eCopCi0tICAgIGNhc2UgJGhvc3RfY3B1IGluCi0tICAgICAgYWxwaGF8aWE2NHxtNjhrfHNoNHxzcGFyYzY0KQotLSAgICAgICAgZW5hYmxlX3NlY2NvbXA9Im5vIChub3QgYXZhaWxhYmxlIG9uIHRoaXMgYXJjaGl0ZWN0dXJlKSIKLS0gICAgICAgIEFDX01TR19XQVJOKCJzZWNjb21wIG5vdCBhdmFpbGFibGUgb24gdGhpcyBhcmNoaXRlY3R1cmUiKQotLSAgICAgICAgOzsKLS0gICAgICAqKQotLSAgICAgICAgUEtHX0NIRUNLX01PRFVMRVMoTElCU0VDQ09NUCwgW2xpYnNlY2NvbXBdKQotLSAgICAgICAgU0VDQ09NUF9QS0c9ImxpYnNlY2NvbXAiCi0tICAgICAgICBBQ19ERUZJTkUoW0VOQUJMRV9TRUNDT01QXSwgWzFdLCBbRGVmaW5lIGlmIHVzaW5nIHNlY2NvbXBdKQotLSAgICAgICAgZW5hYmxlX3NlY2NvbXA9InllcyIKLS0gICAgICAgIDs7Ci0tICAgIGVzYWMKLS0gICAgQUNfREVGSU5FX1VOUVVPVEVEKF9HTlVfU09VUkNFLCAxLCBbRGVmaW5lIHRvIGluY2x1ZGUgR05VIGV4dGVuc2lvbnNdKQotLSAgICBBQ19ERUZJTkVfVU5RVU9URUQoSEFWRV9CV1JBUCwgMSwgW0RlZmluZSB0byAxIGlmIEJ1YmJsZXdyYXAgc3VwcG9ydCBpcyBhdmFpbGFibGVdKQotLSAgICBBQ19ERUZJTkVfVU5RVU9URUQoSU5TVEFMTF9QUkVGSVgsICIkcHJlZml4IiwgW1BhdGggdG8gbGlicmFyeSBpbnN0YWxsIHByZWZpeF0pCi0tICAgIDs7Ci0tZXNhYwotIAotIGRubCBwa2ctY29uZmlnIGRlcGVuZGVuY3kgY2hlY2tzCi0gCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGVza3RvcC9nbm9tZS1kZXNrdG9wM18zLjI4LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGVza3RvcC9nbm9tZS1kZXNrdG9wM18zLjI4LjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM5YjM0OTEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLWRlc2t0b3AvZ25vbWUtZGVza3RvcDNfMy4yOC4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotU1VNTUFSWSA9ICJHTk9NRSBsaWJyYXJ5IGZvciByZWFkaW5nIC5kZXNrdG9wIGZpbGVzIgotU0VDVElPTiA9ICJ4MTEvZ25vbWUiCi1MSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTVmMzBmMDcxNmRmZGQwZDkxZWI0MzllYmVjNTIyZWMyIgotCi1CUE4gPSAiZ25vbWUtZGVza3RvcCIKLQotaW5oZXJpdCBnbm9tZSBwa2djb25maWcgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuIGdvYmplY3QtaW50cm9zcGVjdGlvbgotU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiYmNiZjkwNmQ5NGViMDgwNjBjNjBhNzM2NDM4NGQ2NzgiCi1TUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI3OGEzOTdhMmJlNDc1ODZlNmRjMDc1ZDZhN2ZjNTY1OWFhZTNkMTA3MTNkNzY5OTRjZTFiNDYwODZlN2VjYjlhIgotCi1TUkNfVVJJICs9ICIgXAotICAgICAgICAgICBmaWxlOi8vZ25vbWUtZGVza3RvcC10aHVtYm5haWwtZG9uLXQtYXNzdW1lLXRpbWVfdC1pcy1sb25nLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRGlzYWJsZS1saWJzZWNjb21wLXN5Y2FsbC1maWx0ZXJpbmctbWVjaGFuaXNtLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1ERVBFTkRTICs9ICJpbnRsdG9vbC1uYXRpdmUgZ3NldHRpbmdzLWRlc2t0b3Atc2NoZW1hcyBnY29uZiB2aXJ0dWFsL2xpYngxMSBndGsrMyBnbGliLTIuMCBzdGFydHVwLW5vdGlmaWNhdGlvbiB4a2V5Ym9hcmQtY29uZmlnIGlzby1jb2RlcyB1ZGV2IgotCi1pbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjayBndGstZG9jCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgotCi1FWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWRlc2t0b3AtZG9jcyIKLQotUEFDS0FHRVMgPSsgImxpYmdub21lLWRlc2t0b3AzIgotRklMRVNfbGliZ25vbWUtZGVza3RvcDMgPSAiJHtsaWJkaXJ9L2xpYioke1NPTElCU30gJHtkYXRhZGlyfS9saWJnbm9tZS1kZXNrdG9wKi9wbnAuaWRzICR7ZGF0YWRpcn0vZ25vbWUvKnhtbCIKLQotUlJFQ09NTUVORFNfbGliZ25vbWUtZGVza3RvcDMgKz0gImdzZXR0aW5ncy1kZXNrdG9wLXNjaGVtYXMiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGVza3RvcC9nbm9tZS1kZXNrdG9wM18zLjMyLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGVza3RvcC9nbm9tZS1kZXNrdG9wM18zLjMyLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTg1YTI1MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1kZXNrdG9wL2dub21lLWRlc2t0b3AzXzMuMzIuMC5iYgpAQCAtMCwwICsxLDI4IEBACitTVU1NQVJZID0gIkdOT01FIGxpYnJhcnkgZm9yIHJlYWRpbmcgLmRlc2t0b3AgZmlsZXMiCitTRUNUSU9OID0gIngxMS9nbm9tZSIKK0xJQ0VOU0UgPSAiR1BMdjIgJiBMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9NWYzMGYwNzE2ZGZkZDBkOTFlYjQzOWViZWM1MjJlYzIiCisKK0JQTiA9ICJnbm9tZS1kZXNrdG9wIgorCitHTk9NRUJBU0VCVUlMRENMQVNTID0gIm1lc29uIgorCitpbmhlcml0IGdub21lIHBrZ2NvbmZpZyB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4gZ29iamVjdC1pbnRyb3NwZWN0aW9uCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImU0MjNlZDZkNjQ4YzZjNGY5Nzk4ZmE5Y2Q5ZWE4ZDk5IgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiYTYzOTNkYzVmYzI5ZmMwNjUyYWM4NGM3M2IzZGEyMDVkMGIwMTY4MTI4YzRjZjZkMjc3OTdhMDhmM2QwN2I1NCIKKworU1JDX1VSSSArPSAiZmlsZTovL2dub21lLWRlc2t0b3AtdGh1bWJuYWlsLWRvbi10LWFzc3VtZS10aW1lX3QtaXMtbG9uZy5wYXRjaCIKKworREVQRU5EUyArPSAiaXRzdG9vbC1uYXRpdmUgZ3NldHRpbmdzLWRlc2t0b3Atc2NoZW1hcyBnY29uZiB2aXJ0dWFsL2xpYngxMSBndGsrMyBnbGliLTIuMCBzdGFydHVwLW5vdGlmaWNhdGlvbiB4a2V5Ym9hcmQtY29uZmlnIGlzby1jb2RlcyB1ZGV2IgorCitpbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjayBndGstZG9jCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitFWFRSQV9PRU1FU09OID0gIi1EZGVza3RvcF9kb2NzPWZhbHNlIgorCitQQUNLQUdFUyA9KyAibGliZ25vbWUtZGVza3RvcDMiCitGSUxFU19saWJnbm9tZS1kZXNrdG9wMyA9ICIke2xpYmRpcn0vbGliKiR7U09MSUJTfSAke2RhdGFkaXJ9L2xpYmdub21lLWRlc2t0b3AqL3BucC5pZHMgJHtkYXRhZGlyfS9nbm9tZS8qeG1sIgorCitSUkVDT01NRU5EU19saWJnbm9tZS1kZXNrdG9wMyArPSAiZ3NldHRpbmdzLWRlc2t0b3Atc2NoZW1hcyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1zeXN0ZW0tbW9uaXRvci9maWxlcy8wMDAxLWhlbHAtcmVtb3ZlLVlFTFAtbWFjcm8ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtc3lzdGVtLW1vbml0b3IvZmlsZXMvMDAwMS1oZWxwLXJlbW92ZS1ZRUxQLW1hY3JvLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1N2I2MGEwLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1zeXN0ZW0tbW9uaXRvci9maWxlcy8wMDAxLWhlbHAtcmVtb3ZlLVlFTFAtbWFjcm8ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1Gcm9tIDRhM2VlOGI0NmQyNWIzZDMxMDQ0OGJmYTQ0NDZlMTVhNjg2ZmM2ODUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotRGF0ZTogRnJpLCAyMyBNYXIgMjAxOCAxMzo1MDoxOCArMDEwMAotU3ViamVjdDogW1BBVENIXSBoZWxwOiByZW1vdmUgWUVMUCBtYWNybwotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkLXNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotLS0tCi0gaGVscC9NYWtlZmlsZS5hbSB8IDIgLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2hlbHAvTWFrZWZpbGUuYW0gYi9oZWxwL01ha2VmaWxlLmFtCi1pbmRleCBjNWNkMGQzLi40YjgzYWRmIDEwMDY0NAotLS0tIGEvaGVscC9NYWtlZmlsZS5hbQotKysrIGIvaGVscC9NYWtlZmlsZS5hbQotQEAgLTEsNSArMSwzIEBACi0tQFlFTFBfSEVMUF9SVUxFU0AKLS0KLSBIRUxQX0lEID0gZ25vbWUtc3lzdGVtLW1vbml0b3IKLSAKLSBIRUxQX0ZJTEVTID0gXAotLS0gCi0yLjE0LjMKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXN5c3RlbS1tb25pdG9yL2dub21lLXN5c3RlbS1tb25pdG9yLzAwMDEtRG8tbm90LWJ1aWxkLWhlbHAtd2UtZG8tbm90LWhhdmUteWVscC15ZXQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtc3lzdGVtLW1vbml0b3IvZ25vbWUtc3lzdGVtLW1vbml0b3IvMDAwMS1Eby1ub3QtYnVpbGQtaGVscC13ZS1kby1ub3QtaGF2ZS15ZWxwLXlldC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMmU3MjBlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXN5c3RlbS1tb25pdG9yL2dub21lLXN5c3RlbS1tb25pdG9yLzAwMDEtRG8tbm90LWJ1aWxkLWhlbHAtd2UtZG8tbm90LWhhdmUteWVscC15ZXQucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorRnJvbSBjNjY0OWZkY2ZiMmY0NDgwNzA4OTc0MTU1N2Y4ZTUyN2FiOTc1MWU0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KK0RhdGU6IFN1biwgMjQgTWFyIDIwMTkgMDI6NDY6MDcgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRG8gbm90IGJ1aWxkIGhlbHAgLSB3ZSBkbyBub3QgaGF2ZSB5ZWxwIHlldAorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkLXNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgorLS0tCisgbWVzb24uYnVpbGQgfCAxIC0KKyAxIGZpbGUgY2hhbmdlZCwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbWVzb24uYnVpbGQgYi9tZXNvbi5idWlsZAoraW5kZXggZDYwY2VkNy4uNmEwYWI0YiAxMDA2NDQKKy0tLSBhL21lc29uLmJ1aWxkCisrKysgYi9tZXNvbi5idWlsZAorQEAgLTE4Myw3ICsxODMsNiBAQCBzdWJkaXIoJ2RhdGEnKQorIHN1YmRpcigncG8nKQorIHN1YmRpcignc2NyaXB0cycpCisgc3ViZGlyKCdzcmMnKQorLXN1YmRpcignaGVscCcpCisgCisgCisgbWVzc2FnZSgnXG4nLmpvaW4oWycnLAorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXN5c3RlbS1tb25pdG9yL2dub21lLXN5c3RlbS1tb25pdG9yXzMuMjYuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1zeXN0ZW0tbW9uaXRvci9nbm9tZS1zeXN0ZW0tbW9uaXRvcl8zLjI2LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDliNmNlMTcuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXN5c3RlbS1tb25pdG9yL2dub21lLXN5c3RlbS1tb25pdG9yXzMuMjYuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLVNVTU1BUlkgPSAiR25vbWUgc3lzdGVtIG1vbml0b3IiCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCi0KLURFUEVORFMgPSAiIFwKLSAgICBpbnRsdG9vbC1uYXRpdmUgXAotICAgIGdub21lLWNvbW1vbi1uYXRpdmUgXAotICAgIGdsaWItMi4wLW5hdGl2ZSBcCi0gICAgZ3RrbW0zIFwKLSAgICBsaWJndG9wIFwKLSAgICBsaWJyc3ZnIFwKLSAgICBsaWJ3bmNrMyBcCi0iCi0KLWluaGVyaXQgZ25vbWViYXNlIGRpc3Ryb19mZWF0dXJlc19jaGVjawotCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgotCi1TUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJmY2Q1OTg2N2MwN2Y4YzQ4NTNiMWUyOGQ2MGNiYzAzNyIKLVNSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImY4NDhhOGMyY2E1ZTE2NGNmMDlkM2EyMDVkZDQ5ZTRlNGJmNGI2MGQ0M2IwOTY5YzEwNDQzZWI1MTlkMGU2YjMiCi1TUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1oZWxwLXJlbW92ZS1ZRUxQLW1hY3JvLnBhdGNoIgotCi1SUkVDT01NRU5EU18ke1BOfSA9ICJhZHdhaXRhLWljb24tdGhlbWUiCi0KLUZJTEVTXyR7UE59ICs9ICIgXAotICAgICR7ZGF0YWRpcn0vaWNvbnMgXAotICAgICR7ZGF0YWRpcn0vZGJ1cy0xIFwKLSAgICAke2RhdGFkaXJ9L2dub21lL2F1dG9zdGFydCBcCi0iCi0KLUZJTEVTXyR7UE59LWRvYyArPSAiIFwKLSAgICAke2RhdGFkaXJ9L29tZiBcCi0gICAgJHtkYXRhZGlyfS9nbm9tZS9oZWxwIFwKLSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1zeXN0ZW0tbW9uaXRvci9nbm9tZS1zeXN0ZW0tbW9uaXRvcl8zLjMyLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtc3lzdGVtLW1vbml0b3IvZ25vbWUtc3lzdGVtLW1vbml0b3JfMy4zMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyNDMyYTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtc3lzdGVtLW1vbml0b3IvZ25vbWUtc3lzdGVtLW1vbml0b3JfMy4zMi4wLmJiCkBAIC0wLDAgKzEsMzMgQEAKK1NVTU1BUlkgPSAiR25vbWUgc3lzdGVtIG1vbml0b3IiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK0RFUEVORFMgPSAiIFwKKyAgICBpdHN0b29sLW5hdGl2ZSBcCisgICAgZ25vbWUtY29tbW9uLW5hdGl2ZSBcCisgICAgbGlieG1sMi1uYXRpdmUgXAorICAgIGdsaWItMi4wLW5hdGl2ZSBcCisgICAgZ3RrbW0zIFwKKyAgICBsaWJndG9wIFwKKyAgICBsaWJyc3ZnIFwKKyIKKworR05PTUVCQVNFQlVJTERDTEFTUyA9ICJtZXNvbiIKKworaW5oZXJpdCBnbm9tZWJhc2UgZ3RrLWljb24tY2FjaGUgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIGdldHRleHQKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiNmMyYzVjNWJmOGYxNWQzZTY5ODVmYWFjYmQzMDU1ZGQiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJhZjAwYzRhNDJkZDFkYjE3ZDlhYmU4OGVkYjExYzc3NTFiMjA5ODJkYjFhOGEyYTQ2N2JhYjIwNmZkOGE3N2UzIgorU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtRG8tbm90LWJ1aWxkLWhlbHAtd2UtZG8tbm90LWhhdmUteWVscC15ZXQucGF0Y2giCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgZCl9IgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItRHN5c3RlbWQ9dHJ1ZSwgLURzeXN0ZW1kPWZhbHNlLCBzeXN0ZW1kIgorCitSUkVDT01NRU5EU18ke1BOfSA9ICJhZHdhaXRhLWljb24tdGhlbWUiCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7ZGF0YWRpcn0vZGJ1cy0xIFwKKyAgICAke2RhdGFkaXJ9L21ldGFpbmZvIFwKKyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nc3BlbGwvZ3NwZWxsXzEuOC4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dzcGVsbC9nc3BlbGxfMS44LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWRlMjk4YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nc3BlbGwvZ3NwZWxsXzEuOC4xLmJiCkBAIC0wLDAgKzEsMTEgQEAKK1NVTU1BUlkgPSAic3BlbGwgYWRkcyBzcGVsbC1jaGVja2luZyB0byBhIEdUSysgYXBwbGljYXRpb25zIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly93aWtpLmdub21lLm9yZy9Qcm9qZWN0cy9nc3BlbGwiCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OGMyZTFlYzE1NDBmYjNlMGJlYjY4MzYxMzQ0Y2JhN2UiCisKK0RFUEVORFMgPSAiZ3RrKzMgaXNvLWNvZGVzIGVuY2hhbnQyIgorCitpbmhlcml0IGdub21lYmFzZSBnZXR0ZXh0IGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI4MjY5OTE4ZWE1ZmY3OThlNDk5NDNlN2RhZjZhMzJiOSIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjgxOWExZDIzYzc2MDMwMDBlNzNmNWU3MzhiZGQyODQzNDJlMGNkMzQ1ZmIwYzc2NTA5OTljMzFlYzc0MWJiZTUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ3Rrc291cmNldmlldy9ndGtzb3VyY2V2aWV3M18zLjI0LjEwLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d0a3NvdXJjZXZpZXcvZ3Rrc291cmNldmlldzNfMy4yNC4xMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTFlNDc5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d0a3NvdXJjZXZpZXcvZ3Rrc291cmNldmlldzNfMy4yNC4xMC5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gIlBvcnRhYmxlIEMgbGlicmFyeSBmb3IgbXVsdGlsaW5lIHRleHQgZWRpdGluZyIKK0hPTUVQQUdFID0gImh0dHA6Ly9wcm9qZWN0cy5nbm9tZS5vcmcvZ3Rrc291cmNldmlldy8iCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mYmMwOTM5MDE4NTdmY2QxMThmMDY1ZjkwMDk4MmMyNCIKKworREVQRU5EUyA9ICJndGsrMyBsaWJ4bWwyIGludGx0b29sLW5hdGl2ZSBnbm9tZS1jb21tb24tbmF0aXZlIGdsaWItMi4wLW5hdGl2ZSIKKworUE5BTUUgPSAiZ3Rrc291cmNldmlldyIKKworUyA9ICIke1dPUktESVJ9LyR7UE5BTUV9LSR7UFZ9IgorCitpbmhlcml0IGdub21lYmFzZSBsaWJfcGFja2FnZSBnZXR0ZXh0IGRpc3Ryb19mZWF0dXJlc19jaGVjayBndGstZG9jIGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJID0gImh0dHA6Ly9mdHAuZ25vbWUub3JnL3B1Yi9nbm9tZS9zb3VyY2VzL2d0a3NvdXJjZXZpZXcvMy4yNC8ke1BOQU1FfS0ke1BWfS50YXIueHoiCitTUkNfVVJJW21kNXN1bV0gPSAiZTQzMzM3ZDE3YzQwZWFlNDQwYTc2NjMwZGI3NmM1NGUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWI1NDA2Y2RkMGJkY2Y2NmFmY2Q1MmIxZTA0OGEyZjQzYzBmM2FiMzkxNjQ0ZWUzMGQ5YWM0MTliOTNjZDU5YiIKKworRklMRVNfJHtQTn0gKz0gIiAke2RhdGFkaXJ9L2d0a3NvdXJjZXZpZXctMy4wIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d0a3NvdXJjZXZpZXcvZ3Rrc291cmNldmlldzNfMy4yNC44LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d0a3NvdXJjZXZpZXcvZ3Rrc291cmNldmlldzNfMy4yNC44LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3Y2I4ODY2Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ndGtzb3VyY2V2aWV3L2d0a3NvdXJjZXZpZXczXzMuMjQuOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLVNVTU1BUlkgPSAiUG9ydGFibGUgQyBsaWJyYXJ5IGZvciBtdWx0aWxpbmUgdGV4dCBlZGl0aW5nIgotSE9NRVBBR0UgPSAiaHR0cDovL3Byb2plY3RzLmdub21lLm9yZy9ndGtzb3VyY2V2aWV3LyIKLQotTElDRU5TRSA9ICJMR1BMdjIuMSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZiYzA5MzkwMTg1N2ZjZDExOGYwNjVmOTAwOTgyYzI0IgotCi1ERVBFTkRTID0gImd0ayszIGxpYnhtbDIgaW50bHRvb2wtbmF0aXZlIGdub21lLWNvbW1vbi1uYXRpdmUgZ2xpYi0yLjAtbmF0aXZlIgotCi1QTkFNRSA9ICJndGtzb3VyY2V2aWV3IgotCi1TID0gIiR7V09SS0RJUn0vJHtQTkFNRX0tJHtQVn0iCi0KLWluaGVyaXQgZ25vbWViYXNlIGxpYl9wYWNrYWdlIGdldHRleHQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIGd0ay1kb2MgZ29iamVjdC1pbnRyb3NwZWN0aW9uCi0KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi0KLVNSQ19VUkkgPSAiaHR0cDovL2Z0cC5nbm9tZS5vcmcvcHViL2dub21lL3NvdXJjZXMvZ3Rrc291cmNldmlldy8zLjI0LyR7UE5BTUV9LSR7UFZ9LnRhci54eiIKLVNSQ19VUklbbWQ1c3VtXSA9ICI1MmY4YzgzYWQyMWFkNzVlOWVlNmNjYTAzY2UyZTYzZiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIxZTliYjhmZjE5MGRiNzA1ZGViOTE2ZGQyM2ZmNjgxZjBlODgwM2FlYzQwN2JmMGZkNjRjN2U2MTVhYzQzNmZlIgotCi1GSUxFU18ke1BOfSArPSAiICR7ZGF0YWRpcn0vZ3Rrc291cmNldmlldy0zLjAiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ3Zmcy9ndmZzXzEuMzkuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ndmZzL2d2ZnNfMS4zOS4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYTFlYjZhLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ndmZzL2d2ZnNfMS4zOS4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNzAgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiZ3ZmcyBpcyBhIHVzZXJzcGFjZSB2aXJ0dWFsIGZpbGVzeXN0ZW0iCi1MSUNFTlNFID0gIkxHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA1ZGYzOGRkNzdjMzVlYzg0MzFmMjEyNDEwYTMzMjllIgotCi1HTk9NRUJBU0VCVUlMRENMQVNTID0gIm1lc29uIgotaW5oZXJpdCBnbm9tZSBiYXNoLWNvbXBsZXRpb24gZ2V0dGV4dAotCi1ERVBFTkRTICs9ICJsaWJzZWNyZXQgZ2xpYi0yLjAgZ2NvbmYgaW50bHRvb2wtbmF0aXZlIGxpYmd1ZGV2IHVkaXNrczIgcG9sa2l0IHNoYWRvdy1uYXRpdmUiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly9kb3dubG9hZC5nbm9tZS5vcmcvc291cmNlcy8ke0JQTn0vJHtAZ25vbWVfdmVyZGlyKCIke1BWfSIpfS8ke0JQTn0tJHtQVn0udGFyLnh6O25hbWU9YXJjaGl2ZSIKLQotU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiNGM2ODg5OWNmZDgwZDU3YTE1Mzc3MTUzNDE5M2JiOWEiCi1TUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI2ZTcyMTM1NzAzODliMTdiNjc0MzM2OTVmNTE1ZjNiMTc3MDViYTk3NjE2OGE0Yzg4MjhmYzE3N2NjZTUwMjIzIgotCi0KLUVYVFJBX09FTUVTT04gPSAiIFwKLSAgICAtRGJsdXJheT1mYWxzZSBcCi0gICAgLURnZHU9ZmFsc2UgXAotICAgIC1EZ29hPWZhbHNlIFwKLSAgICAtRGdvb2dsZT1mYWxzZSBcCi0gICAgLURuZnM9ZmFsc2UgXAotICAgIC1EdWRpc2tzMj10cnVlIFwKLSAgICAtRGRvY3VtZW50YXRpb249ZmFsc2UgXAotIgotCi1QQUNLQUdFUyA9KyAiZ3Zmc2QtZnRwIGd2ZnNkLXNmdHAgZ3Zmc2QtdHJhc2giCi0KLUZJTEVTXyR7UE59ICs9ICIgXAotICAgICR7ZGF0YWRpcn0vZ2xpYi0yLjAgXAotICAgICR7ZGF0YWRpcn0vR0NvbmYgXAotICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3NlcnZpY2VzIFwKLSAgICAke2xpYmRpcn0vZ2lvL21vZHVsZXMvKi5zbyBcCi0gICAgJHtsaWJkaXJ9L3RtcGZpbGVzLmQgXAotICAgICR7c3lzdGVtZF91c2VyX3VuaXRkaXJ9IFwKLSIKLVJERVBFTkRTXyR7UE59ID0gInVkaXNrczIiCi0KLUZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2dpby9tb2R1bGVzLy5kZWJ1Zy8qIgotRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vZ2lvL21vZHVsZXMvKi5sYSIKLQotRklMRVNfZ3Zmc2QtZnRwID0gIiR7bGliZXhlY2Rpcn0vZ3Zmc2QtZnRwICR7ZGF0YWRpcn0vZ3Zmcy9tb3VudHMvZnRwLm1vdW50IgotRklMRVNfZ3Zmc2Qtc2Z0cCA9ICIke2xpYmV4ZWNkaXJ9L2d2ZnNkLXNmdHAgJHtkYXRhZGlyfS9ndmZzL21vdW50cy9zZnRwLm1vdW50IgotRklMRVNfZ3Zmc2QtdHJhc2ggPSAiJHtsaWJleGVjZGlyfS9ndmZzZC10cmFzaCAke2RhdGFkaXJ9L2d2ZnMvbW91bnRzL3RyYXNoLm1vdW50IgotCi1SUkVDT01NRU5EU19ndmZzZC1mdHAgKz0gIm9wZW5zc2gtc2Z0cCBvcGVuc3NoLXNzaCIKLQotUEFDS0FHRUNPTkZJRyA/PSAibGliZ3Bob3RvMiAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgZCl9IgotCi1QQUNLQUdFQ09ORklHW2FmY10gPSAiLURhZmM9dHJ1ZSwgLURhZmM9ZmFsc2UsIGxpYmltb2JpbGVkZXZpY2UgbGlicGxpc3QiCi1QQUNLQUdFQ09ORklHW2FyY2hpdmVdID0gIi1EYXJjaGl2ZT10cnVlLCAtRGFyY2hpdmU9ZmFsc2UsIGxpYmFyY2hpdmUiCi1QQUNLQUdFQ09ORklHW2Ruc3NkXSA9ICItRGRuc3NkPXRydWUsIC1EZG5zc2Q9ZmFsc2UsIGF2YWhpIgotUEFDS0FHRUNPTkZJR1tnY3JdID0gIi1EZ2NyPXRydWUsIC1EZ2NyPWZhbHNlLCBnY3IiCi1QQUNLQUdFQ09ORklHW2h0dHBdID0gIi1EaHR0cD10cnVlLCAtRGh0dHA9ZmFsc2UsIGxpYnNvdXAtMi40IgotUEFDS0FHRUNPTkZJR1tsaWJtdHBdID0gIi1EbXRwPXRydWUsIC1EbXRwPWZhbHNlLCBsaWJtdHAiCi1QQUNLQUdFQ09ORklHW2xvZ2luZF0gPSAiLURsb2dpbmQ9dHJ1ZSwgLURsb2dpbmQ9ZmFsc2UsIHN5c3RlbWQiCi1QQUNLQUdFQ09ORklHW2xpYmdwaG90bzJdID0gIi1EZ3Bob3RvMj10cnVlLCAtRGdwaG90bzI9ZmFsc2UsIGxpYmdwaG90bzIiCi1QQUNLQUdFQ09ORklHW3NhbWJhXSA9ICItRHNtYj10cnVlLCAtRHNtYj1mYWxzZSwgc2FtYmEiCi1QQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi1Ec3lzdGVtZHVzZXJ1bml0ZGlyPSR7c3lzdGVtZF91c2VyX3VuaXRkaXJ9IC1EdG1wZmlsZXNkaXI9JHtsaWJkaXJ9L3RtcGZpbGVzLmQsIC1Ec3lzdGVtZHVzZXJ1bml0ZGlyPW5vIC1EdG1wZmlsZXNkaXI9bm8sIHN5c3RlbWQiCi0KLSMgbmVlZHMgbWV0YS1maWxlc3lzdGVtcwotUEFDS0FHRUNPTkZJR1tmdXNlXSA9ICItRGZ1c2U9dHJ1ZSwgLURmdXNlPWZhbHNlLCBmdXNlIgotCi0jIGxpYmNkaW8tcGFyYW5vaWEgcmVjaXBlIGRvZXNuJ3QgZXhpc3QgeWV0Ci1QQUNLQUdFQ09ORklHW2NkZGFdID0gIi1EY2RkYT10cnVlLCAtRGNkZGE9ZmFsc2UsIGxpYmNkaW8tcGFyYW5vaWEiCi0KLSMgRml4IHVwIHBlcm1pc3Npb25zIG9uIHBvbGtpdCBydWxlcy5kIHRvIHdvcmsgd2l0aCBycG00IGNvbnN0cmFpbnRzCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLQljaG1vZCA3MDAgJHtEfS8ke2RhdGFkaXJ9L3BvbGtpdC0xL3J1bGVzLmQKLQljaG93biBwb2xraXRkOnJvb3QgJHtEfS8ke2RhdGFkaXJ9L3BvbGtpdC0xL3J1bGVzLmQKLX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ndmZzL2d2ZnNfMS40MC4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d2ZnMvZ3Zmc18xLjQwLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2YyMzljNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ndmZzL2d2ZnNfMS40MC4wLmJiCkBAIC0wLDAgKzEsNzAgQEAKK0RFU0NSSVBUSU9OID0gImd2ZnMgaXMgYSB1c2Vyc3BhY2UgdmlydHVhbCBmaWxlc3lzdGVtIgorTElDRU5TRSA9ICJMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNWRmMzhkZDc3YzM1ZWM4NDMxZjIxMjQxMGEzMzI5ZSIKKworR05PTUVCQVNFQlVJTERDTEFTUyA9ICJtZXNvbiIKK2luaGVyaXQgZ25vbWUgYmFzaC1jb21wbGV0aW9uIGdldHRleHQgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuCisKK0RFUEVORFMgKz0gImxpYnNlY3JldCBnbGliLTIuMCBnY29uZiBpbnRsdG9vbC1uYXRpdmUgbGliZ3VkZXYgdWRpc2tzMiBwb2xraXQgc2hhZG93LW5hdGl2ZSIKKworU1JDX1VSSSA9ICJodHRwczovL2Rvd25sb2FkLmdub21lLm9yZy9zb3VyY2VzLyR7QlBOfS8ke0Bnbm9tZV92ZXJkaXIoIiR7UFZ9Iil9LyR7QlBOfS0ke1BWfS50YXIueHo7bmFtZT1hcmNoaXZlIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI5NmVmNTNlZDYxM2U0ZDIyM2UwZGIzYTdhY2VhNDRmMCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjM3MzlkNjRiNzljOTVhOWYwZjlmYWYyYzVmOWU1Mjk4YjRiMmViZGQ2NDMxNDM1Y2U2NTZlY2QxOWIzMWUyZjIiCisKKworRVhUUkFfT0VNRVNPTiA9ICIgXAorICAgIC1EYmx1cmF5PWZhbHNlIFwKKyAgICAtRGdkdT1mYWxzZSBcCisgICAgLURnb2E9ZmFsc2UgXAorICAgIC1EZ29vZ2xlPWZhbHNlIFwKKyAgICAtRG5mcz1mYWxzZSBcCisgICAgLUR1ZGlza3MyPXRydWUgXAorICAgIC1EZG9jdW1lbnRhdGlvbj1mYWxzZSBcCisiCisKK1BBQ0tBR0VTID0rICJndmZzZC1mdHAgZ3Zmc2Qtc2Z0cCBndmZzZC10cmFzaCIKKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtkYXRhZGlyfS9nbGliLTIuMCBcCisgICAgJHtkYXRhZGlyfS9HQ29uZiBcCisgICAgJHtkYXRhZGlyfS9kYnVzLTEvc2VydmljZXMgXAorICAgICR7bGliZGlyfS9naW8vbW9kdWxlcy8qLnNvIFwKKyAgICAke2xpYmRpcn0vdG1wZmlsZXMuZCBcCisgICAgJHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0gXAorIgorUkRFUEVORFNfJHtQTn0gPSAidWRpc2tzMiIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZ2lvL21vZHVsZXMvLmRlYnVnLyoiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9naW8vbW9kdWxlcy8qLmxhIgorCitGSUxFU19ndmZzZC1mdHAgPSAiJHtsaWJleGVjZGlyfS9ndmZzZC1mdHAgJHtkYXRhZGlyfS9ndmZzL21vdW50cy9mdHAubW91bnQiCitGSUxFU19ndmZzZC1zZnRwID0gIiR7bGliZXhlY2Rpcn0vZ3Zmc2Qtc2Z0cCAke2RhdGFkaXJ9L2d2ZnMvbW91bnRzL3NmdHAubW91bnQiCitGSUxFU19ndmZzZC10cmFzaCA9ICIke2xpYmV4ZWNkaXJ9L2d2ZnNkLXRyYXNoICR7ZGF0YWRpcn0vZ3Zmcy9tb3VudHMvdHJhc2gubW91bnQiCisKK1JSRUNPTU1FTkRTX2d2ZnNkLWZ0cCArPSAib3BlbnNzaC1zZnRwIG9wZW5zc2gtc3NoIgorCitQQUNLQUdFQ09ORklHID89ICJsaWJncGhvdG8yICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCBkKX0iCisKK1BBQ0tBR0VDT05GSUdbYWZjXSA9ICItRGFmYz10cnVlLCAtRGFmYz1mYWxzZSwgbGliaW1vYmlsZWRldmljZSBsaWJwbGlzdCIKK1BBQ0tBR0VDT05GSUdbYXJjaGl2ZV0gPSAiLURhcmNoaXZlPXRydWUsIC1EYXJjaGl2ZT1mYWxzZSwgbGliYXJjaGl2ZSIKK1BBQ0tBR0VDT05GSUdbZG5zc2RdID0gIi1EZG5zc2Q9dHJ1ZSwgLURkbnNzZD1mYWxzZSwgYXZhaGkiCitQQUNLQUdFQ09ORklHW2djcl0gPSAiLURnY3I9dHJ1ZSwgLURnY3I9ZmFsc2UsIGdjciIKK1BBQ0tBR0VDT05GSUdbaHR0cF0gPSAiLURodHRwPXRydWUsIC1EaHR0cD1mYWxzZSwgbGlic291cC0yLjQiCitQQUNLQUdFQ09ORklHW2xpYm10cF0gPSAiLURtdHA9dHJ1ZSwgLURtdHA9ZmFsc2UsIGxpYm10cCIKK1BBQ0tBR0VDT05GSUdbbG9naW5kXSA9ICItRGxvZ2luZD10cnVlLCAtRGxvZ2luZD1mYWxzZSwgc3lzdGVtZCIKK1BBQ0tBR0VDT05GSUdbbGliZ3Bob3RvMl0gPSAiLURncGhvdG8yPXRydWUsIC1EZ3Bob3RvMj1mYWxzZSwgbGliZ3Bob3RvMiIKK1BBQ0tBR0VDT05GSUdbc2FtYmFdID0gIi1Ec21iPXRydWUsIC1Ec21iPWZhbHNlLCBzYW1iYSIKK1BBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLURzeXN0ZW1kdXNlcnVuaXRkaXI9JHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0gLUR0bXBmaWxlc2Rpcj0ke2xpYmRpcn0vdG1wZmlsZXMuZCwgLURzeXN0ZW1kdXNlcnVuaXRkaXI9bm8gLUR0bXBmaWxlc2Rpcj1ubywgc3lzdGVtZCIKKworIyBuZWVkcyBtZXRhLWZpbGVzeXN0ZW1zCitQQUNLQUdFQ09ORklHW2Z1c2VdID0gIi1EZnVzZT10cnVlLCAtRGZ1c2U9ZmFsc2UsIGZ1c2UiCisKKyMgbGliY2Rpby1wYXJhbm9pYSByZWNpcGUgZG9lc24ndCBleGlzdCB5ZXQKK1BBQ0tBR0VDT05GSUdbY2RkYV0gPSAiLURjZGRhPXRydWUsIC1EY2RkYT1mYWxzZSwgbGliY2Rpby1wYXJhbm9pYSIKKworIyBGaXggdXAgcGVybWlzc2lvbnMgb24gcG9sa2l0IHJ1bGVzLmQgdG8gd29yayB3aXRoIHJwbTQgY29uc3RyYWludHMKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCWNobW9kIDcwMCAke0R9LyR7ZGF0YWRpcn0vcG9sa2l0LTEvcnVsZXMuZAorCWNob3duIHBvbGtpdGQ6cm9vdCAke0R9LyR7ZGF0YWRpcn0vcG9sa2l0LTEvcnVsZXMuZAorfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmdub21lL2xpYmdub21la2JkXzMuMjYuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnbm9tZS9saWJnbm9tZWtiZF8zLjI2LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ1NmE3NDQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmdub21lL2xpYmdub21la2JkXzMuMjYuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLVNVTU1BUlkgPSAiR05PTUUga2V5Ym9hcmQgbGlicmFyeSIKLUxJQ0VOU0UgPSAiTEdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTZlMjljNjg4ZDkxMmRhMTJiNjZiNzNlMzJiMDNkODEyIgotCi1TRUNUSU9OID0gIngxMS9nbm9tZS9saWJzIgotCi1ERVBFTkRTID0gImdjb25mIGdsaWItMi4wIGxpYnhrbGF2aWVyIGd0ayszIGludGx0b29sLW5hdGl2ZSIKLQotaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgZ25vbWUgZ29iamVjdC1pbnRyb3NwZWN0aW9uIGdldHRleHQKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLQotR05PTUVfQ09NUFJFU1NfVFlQRSA9ICJ4eiIKLQotU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiOGI5ZDEzZDQ2MjU1Y2RlOTEwYjNkYjVhNmViYjQ3MjciCi1TUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJlYTNiNDE4YzU3YzMwNjE1ZjdlZTViNmY3MThkZWY3YzlkMDljZTM0NjM3MzI0MzYxMTUwNzQ0MjU4OTY4ODc1IgotCi1FWFRSQV9PRUNPTkZfcmVtb3ZlID0gIi0tZGlzYWJsZS1zY2hlbWFzLWluc3RhbGwiCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnbm9tZS9saWJnbm9tZWtiZF8zLjI2LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ25vbWUvbGliZ25vbWVrYmRfMy4yNi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhNzM3OWYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ25vbWUvbGliZ25vbWVrYmRfMy4yNi4xLmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiR05PTUUga2V5Ym9hcmQgbGlicmFyeSIKK0xJQ0VOU0UgPSAiTEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTZlMjljNjg4ZDkxMmRhMTJiNjZiNzNlMzJiMDNkODEyIgorCitTRUNUSU9OID0gIngxMS9nbm9tZS9saWJzIgorCitERVBFTkRTID0gImdjb25mIGdsaWItMi4wIGxpYnhrbGF2aWVyIGd0ayszIGludGx0b29sLW5hdGl2ZSIKKworaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgZ25vbWUgZ29iamVjdC1pbnRyb3NwZWN0aW9uIGdldHRleHQKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworR05PTUVfQ09NUFJFU1NfVFlQRSA9ICJ4eiIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiOTgwNDAwMjI0ODQ0MDZlN2ViZTI1ZjgyY2VmOTMzNDQiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJmN2NhMDI2MzE1NzZlOWI4OGFlZTFiMWJhZTM3YWMxNDg4YjgwZWU3OTc1ZjIwYTk3ZjI5ZTc2MWE3MTcyNjc5IgorCitFWFRSQV9PRUNPTkZfcmVtb3ZlID0gIi0tZGlzYWJsZS1zY2hlbWFzLWluc3RhbGwiCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnc2YvbGliZ3NmXzEuMTQuMjkuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ3NmL2xpYmdzZl8xLjE0LjI5LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNWUyZjFkLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnc2YvbGliZ3NmXzEuMTQuMjkuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1TVU1NQVJZID0gIkdOT01FIFN0cnVjdHVyZWQgRmlsZSBMaWJyYXJ5IgotTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZGM3MzcxYjUwODE2Yzk2ZTE0NWZhMGY4YWRlOGUyNGQgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTYxNDY0Y2ZlMzQyNzk4ZWVjZWQ4MmVmZTlhZTU1ZjYzIgotCi1TRUNUSU9OID0gImxpYnMiCi0KLURFUEVORFM9ICJsaWJ4bWwyIGJ6aXAyIGdsaWItMi4wIHpsaWIgaW50bHRvb2wtbmF0aXZlIGdub21lLWNvbW1vbi1uYXRpdmUiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnbm9tZSBnY29uZiBnb2JqZWN0LWludHJvc3BlY3Rpb24KLQotU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtY29uZmlndXJlLmFjLWRyb3AtYS1jb3B5LXBhc3RlLW9mLWludHJvc3BlY3Rpb24ubTQtbS5wYXRjaCIKLQotU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiMzA1NmI5NGJiMzI4MWRiYzgzMTEzNzFiZmMyM2NmNzIiCi1TUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI0ZDhiY2EzMzQyNGViNzExYWNkYjZhMDYwY2I0ODhiMTMyMDYzZDY5OWM0ZmEyMDFkYjI0YzJjODljNjI1MjljIgotCi1HTk9NRV9DT01QUkVTU19UWVBFID0gInh6IgotCi1QQUNLQUdFQ09ORklHID8/PSAiIgotUEFDS0FHRUNPTkZJR1tnZGstcGl4YnVmXSA9ICItLXdpdGgtZ2RrLXBpeGJ1ZiwtLXdpdGhvdXQtZ2RrLXBpeGJ1ZixnZGstcGl4YnVmIgotCi1FWFRSQV9PRUNPTkYgPSAiXAotICAgIC0tZGlzYWJsZS1ndGstZG9jIFwKLSAgICAtLXdpdGgtYnoyIFwKLSIKLQotUkRFUEVORFNfJHtQTn0gPSAiZ2NvbmYiCi0KLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3RodW1ibmFpbGVycyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnc2YvbGliZ3NmXzEuMTQuNDUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ3NmL2xpYmdzZl8xLjE0LjQ1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2M2UyNmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ3NmL2xpYmdzZl8xLjE0LjQ1LmJiCkBAIC0wLDAgKzEsMjkgQEAKK1NVTU1BUlkgPSAiR05PTUUgU3RydWN0dXJlZCBGaWxlIExpYnJhcnkiCitMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kYzczNzFiNTA4MTZjOTZlMTQ1ZmEwZjhhZGU4ZTI0ZCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9NjE0NjRjZmUzNDI3OThlZWNlZDgyZWZlOWFlNTVmNjMiCisKK1NFQ1RJT04gPSAibGlicyIKKworREVQRU5EUz0gImxpYnhtbDIgYnppcDIgZ2xpYi0yLjAgemxpYiBpbnRsdG9vbC1uYXRpdmUgZ25vbWUtY29tbW9uLW5hdGl2ZSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdub21lIGdjb25mIGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitTUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1jb25maWd1cmUuYWMtZHJvcC1hLWNvcHktcGFzdGUtb2YtaW50cm9zcGVjdGlvbi5tNC1tLnBhdGNoIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJlNDVjYzhhYTljNDk1MTZkNTQwYjdkNzMwN2Y3NTVmMSIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjVjYmMyYzBmMWRjNDRkMjAyZmEwYzZlM2E1MWU5ZjE3YjBjMmRlYjg3MTFiYTY1MDQzMmJmZGUzMTgwYjY5ZmEiCisKK0dOT01FX0NPTVBSRVNTX1RZUEUgPSAieHoiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2dkay1waXhidWZdID0gIi0td2l0aC1nZGstcGl4YnVmLC0td2l0aG91dC1nZGstcGl4YnVmLGdkay1waXhidWYiCisKK0VYVFJBX09FQ09ORiA9ICJcCisgICAgLS1kaXNhYmxlLWd0ay1kb2MgXAorICAgIC0td2l0aC1iejIgXAorIgorCitSREVQRU5EU18ke1BOfSA9ICJnY29uZiIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vdGh1bWJuYWlsZXJzIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmd0b3AvbGliZ3RvcF8yLjM4LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ3RvcC9saWJndG9wXzIuMzguMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDk0OTM0Zi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ3RvcC9saWJndG9wXzIuMzguMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLVNVTU1BUlkgPSAiTGliR1RvcDIiCi1MSUNFTlNFID0gIkdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIgotCi1pbmhlcml0IGdub21lYmFzZSBsaWJfcGFja2FnZSBndGstZG9jIGRpc3Ryb19mZWF0dXJlc19jaGVjayBnb2JqZWN0LWludHJvc3BlY3Rpb24gZ2V0dGV4dAotCi0jIGRlcGVuZHMgb24gbGlieGF1Ci1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgotCi1TUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJiYjBjZTdkZTZiMjg2OTRiNDA0MDVlZWRhYzhhMzFiNSIKLVNSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjRmNmMwZTYyYmI0MzhhYmZkMTZiNDU1OWNkMmVjYTAyNTFkZTE5ZTI5MWM4ODhjZGM0ZGM4OGU1ZmZlYmI2MTIiCi0KLURFUEVORFMgPSAiZ2xpYi0yLjAgbGlieGF1IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmd0b3AvbGliZ3RvcF8yLjQwLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ3RvcC9saWJndG9wXzIuNDAuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTk0MTk4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmd0b3AvbGliZ3RvcF8yLjQwLjAuYmIKQEAgLTAsMCArMSwxNiBAQAorU1VNTUFSWSA9ICJMaWJHVG9wMiIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIiCisKK2luaGVyaXQgZ25vbWViYXNlIGxpYl9wYWNrYWdlIGd0ay1kb2MgZ29iamVjdC1pbnRyb3NwZWN0aW9uIGdldHRleHQgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuCisKKyMgZGVwZW5kcyBvbiBsaWJ4YXUKK2luaGVyaXQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJjNmQ2NzMyNWNkOTdiMjIwOGI0MWUwN2U2Y2M3Yjk0NyIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjc4ZjMyNzRjMGM3OWM0MzRjMDM2NTVjMWIzNWVkZjdiOTVlYzA0MjE0MzA4OTdmYjEzNDVhOThhMjY1ZWQyZDQiCisKK0RFUEVORFMgPSAiZ2xpYi0yLjAgbGlieGF1IgorCitFWFRSQV9PRU1BS0UgKz0gIkxJQkdUT1BfTElCUz0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGlidGltZXpvbmVtYXAvbGlidGltZXpvbmVtYXBfMC40LjUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGlidGltZXpvbmVtYXAvbGlidGltZXpvbmVtYXBfMC40LjUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk1N2Q3ZDAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYnRpbWV6b25lbWFwL2xpYnRpbWV6b25lbWFwXzAuNC41LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiVGltZSB6b25lIG1hcCB3aWRnZXQgZm9yIEd0aysiCi1IT01FUEFHRSA9ICJodHRwczovL2xhdW5jaHBhZC5uZXQvdGltZXpvbmVtYXAiCi1TRUNUSU9OID0gImRldmVsL2xpYiIKLUxJQ0VOU0UgPSAiR1BMdjMiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKLQotU1JDX1VSSSA9ICJodHRwOi8vYXJjaGl2ZS51YnVudHUuY29tL3VidW50dS9wb29sL21haW4vbGlidC8ke0JQTn0vJHtCUE59XyR7UFZ9LnRhci5neiBcCi0iCi1TUkNfVVJJW21kNXN1bV0gPSAiMDU0MzA2ZmE5OThmZTU4MGYxN2I2OGFhMWUxNjU1MWIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzI3ZTY0YTE3YzY3NmMxYmNkYTNiNmJhMzM5NGQzZDAxMjUwZTVhYzlhNDkyMjJiOWZmNTczN2Q5MGIxNTM4MyIKLQotCi1ERVBFTkRTID0gImd0ayszIGdkay1waXhidWYgbGlic291cC0yLjQganNvbi1nbGliIGdub21lLWNvbW1vbi1uYXRpdmUgXAotIgotCi1CID0gIiR7U30iCi0KLWluaGVyaXQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIGF1dG90b29scyBwa2djb25maWcgZ29iamVjdC1pbnRyb3NwZWN0aW9uCi0KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotCShjZCAke1N9OyBOT0NPTkZJR1VSRT0ieWVzIiAuICR7U30vYXV0b2dlbi5zaCkKLX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJ0aW1lem9uZW1hcC9saWJ0aW1lem9uZW1hcF8wLjQuNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJ0aW1lem9uZW1hcC9saWJ0aW1lem9uZW1hcF8wLjQuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZjUyYzQyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYnRpbWV6b25lbWFwL2xpYnRpbWV6b25lbWFwXzAuNC42LmJiCkBAIC0wLDAgKzEsMjEgQEAKK0RFU0NSSVBUSU9OID0gIlRpbWUgem9uZSBtYXAgd2lkZ2V0IGZvciBHdGsrIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9sYXVuY2hwYWQubmV0L3RpbWV6b25lbWFwIgorU0VDVElPTiA9ICJkZXZlbC9saWIiCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCisKK1NSQ19VUkkgPSAiaHR0cDovL2FyY2hpdmUudWJ1bnR1LmNvbS91YnVudHUvcG9vbC9tYWluL2xpYnQvJHtCUE59LyR7QlBOfV8ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiZjg1YTIxOTk0YTM5N2ZiMWZmMmQzZWM0MDRiZGQ1OTIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGQ2MzRjYzI0NzZkOGY1N2QxZWUxODY0YmQ0ZjQ0MjE4MGFlNGJmMDQwYTlhZTRiZjczYjY2YmJkODVkNzE5NSIKKworREVQRU5EUyA9ICJndGsrMyBnZGstcGl4YnVmIGxpYnNvdXAtMi40IGpzb24tZ2xpYiBnbm9tZS1jb21tb24tbmF0aXZlIgorCitCID0gIiR7U30iCisKK2luaGVyaXQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIGF1dG90b29scyBwa2djb25maWcgZ29iamVjdC1pbnRyb3NwZWN0aW9uCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworCShjZCAke1N9OyBOT0NPTkZJR1VSRT0ieWVzIiAuICR7U30vYXV0b2dlbi5zaCkKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9tZXRhY2l0eS9tZXRhY2l0eV8zLjI4LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbWV0YWNpdHkvbWV0YWNpdHlfMy4yOC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxODlmNmVjLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9tZXRhY2l0eS9tZXRhY2l0eV8zLjI4LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1TRUNUSU9OID0gIngxMS93bSIKLVNVTU1BUlkgPSAiTWV0YWNpdHkgaXMgdGhlIGJvcmluZyB3aW5kb3cgbWFuYWdlciBmb3IgdGhlIGFkdWx0IGluIHlvdSIKLUxJQ0VOU0UgPSAiR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjRjY2U1MzU2MGI4ZTYxOWZmYTdjODMwZmI4NzYxYWEgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2luY2x1ZGUvbWFpbi5oO2VuZGxpbmU9MjQ7bWQ1PTcyMTQ4ZWRlMDdhNmRhZGQwMWRlNmE4ODJkMjBhOWFkIgotCi1QRSA9ICIxIgotCi1ERVBFTkRTID0gImdzZXR0aW5ncy1kZXNrdG9wLXNjaGVtYXMgc3RhcnR1cC1ub3RpZmljYXRpb24gXAotICAgICAgICAgICBnbm9tZS1kb2MtdXRpbHMgZ2RrLXBpeGJ1Zi1uYXRpdmUgXAotICAgICAgICAgICBndGsrMyBnbGliLTIuMCBsaWJjYW5iZXJyYSBsaWJndG9wIGludGx0b29sLW5hdGl2ZSIKLQotaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBnbm9tZWJhc2UgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCi0jIGRlcGVuZHMgb24gc3RhcnR1cC1ub3RpZmljYXRpb24gd2hpY2ggZGVwZW5kcyBvbiB2aXJ0dWFsL2xpYngxMQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL0dOT01FL21ldGFjaXR5LmdpdDticmFuY2g9bWFzdGVyIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtZHJvcC16ZW5pdHktZGV0ZWN0aW9uLnBhdGNoIFwKLSIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLVNSQ1JFViA9ICJjMGQ0YjJmYzBmY2Q2ZjJkM2MzN2RhOTM1OTIzZjllOWVkNWViOTlmIgotCi1FWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS14aW5lcmFtYSIKLQotUEFDS0FHRUNPTkZJRyA/PSAiIgotCi0jIGVuYWJsZSBhcyBuZWNjZXNzYXJ5IHVudGlsIG5ldyB3YXJuaW5ncyBhcmUgZGVhbHQgd2l0aAotUEFDS0FHRUNPTkZJR1t3ZXJyb3JdID0gIi0tZW5hYmxlLVdlcnJvciwtLWRpc2FibGUtV2Vycm9yLCwiCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotICAgIGNkICR7U30KLSAgICBhY2xvY2FsIC0taW5zdGFsbCB8fCBleGl0IDEKLSAgICBhdXRvcmVjb25mIC0tdmVyYm9zZSAtLWZvcmNlIC0taW5zdGFsbCAtV25vLXBvcnRhYmlsaXR5IHx8IGV4aXQgMQotICAgIGNkIC0KLQotfQotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS90aGVtZXMgJHtkYXRhZGlyfS9nbm9tZS1jb250cm9sLWNlbnRlciAke2RhdGFkaXJ9L2dub21lIgotUkRFUEVORFNfJHtQTn0gKz0gImdzZXR0aW5ncy1kZXNrdG9wLXNjaGVtYXMiCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9tZXRhY2l0eS9tZXRhY2l0eV8zLjMwLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbWV0YWNpdHkvbWV0YWNpdHlfMy4zMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1M2Y3ZWYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbWV0YWNpdHkvbWV0YWNpdHlfMy4zMC4xLmJiCkBAIC0wLDAgKzEsNDEgQEAKK1NFQ1RJT04gPSAieDExL3dtIgorU1VNTUFSWSA9ICJNZXRhY2l0eSBpcyB0aGUgYm9yaW5nIHdpbmRvdyBtYW5hZ2VyIGZvciB0aGUgYWR1bHQgaW4geW91IgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iNGNjZTUzNTYwYjhlNjE5ZmZhN2M4MzBmYjg3NjFhYSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvaW5jbHVkZS9tYWluLmg7ZW5kbGluZT0yNDttZDU9NzIxNDhlZGUwN2E2ZGFkZDAxZGU2YTg4MmQyMGE5YWQiCisKK1BFID0gIjEiCisKK0RFUEVORFMgPSAiZ3NldHRpbmdzLWRlc2t0b3Atc2NoZW1hcyBzdGFydHVwLW5vdGlmaWNhdGlvbiBcCisgICAgICAgICAgIGdub21lLWRvYy11dGlscyBnZGstcGl4YnVmLW5hdGl2ZSBcCisgICAgICAgICAgIGd0ayszIGdsaWItMi4wIGxpYmNhbmJlcnJhIGxpYmd0b3AgaW50bHRvb2wtbmF0aXZlIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IGdub21lYmFzZSBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKyMgZGVwZW5kcyBvbiBzdGFydHVwLW5vdGlmaWNhdGlvbiB3aGljaCBkZXBlbmRzIG9uIHZpcnR1YWwvbGlieDExCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vR05PTUUvbWV0YWNpdHkuZ2l0O2JyYW5jaD1tYXN0ZXIgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1kcm9wLXplbml0eS1kZXRlY3Rpb24ucGF0Y2ggXAorIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorU1JDUkVWID0gImQ2OWZiYTA1MmNkZDBhYTgzNDhkYzFiYmJiYjFlY2JhZGZiZWJiZDgiCisKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLXhpbmVyYW1hIgorCitQQUNLQUdFQ09ORklHID89ICIiCisKKyMgZW5hYmxlIGFzIG5lY2Nlc3NhcnkgdW50aWwgbmV3IHdhcm5pbmdzIGFyZSBkZWFsdCB3aXRoCitQQUNLQUdFQ09ORklHW3dlcnJvcl0gPSAiLS1lbmFibGUtV2Vycm9yLC0tZGlzYWJsZS1XZXJyb3IsLCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgY2QgJHtTfQorICAgIGFjbG9jYWwgLS1pbnN0YWxsIHx8IGV4aXQgMQorICAgIGF1dG9yZWNvbmYgLS12ZXJib3NlIC0tZm9yY2UgLS1pbnN0YWxsIC1Xbm8tcG9ydGFiaWxpdHkgfHwgZXhpdCAxCisgICAgY2QgLQorCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3RoZW1lcyAke2RhdGFkaXJ9L2dub21lLWNvbnRyb2wtY2VudGVyICR7ZGF0YWRpcn0vZ25vbWUiCitSREVQRU5EU18ke1BOfSArPSAiZ3NldHRpbmdzLWRlc2t0b3Atc2NoZW1hcyIKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3d2L3d2XzEuMi40LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3d2L3d2XzEuMi40LmJiCmluZGV4IDhlZDFmY2QuLjAzZWU1YjQgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS93di93dl8xLjIuNC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvd3Yvd3ZfMS4yLjQuYmIKQEAgLTE2LDYgKzE2LDQgQEAKIAogaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCiAKLVMgPSAiJHtXT1JLRElSfS8ke1BOfS0ke1BWfSIKLQogRVhUUkFfT0VDT05GID0gIiIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L3VzZXJtb2RlL3VzZXJtb2RlLzAwMDEtSW5jbHVkZS1zeXMtc3lzbWFjcm9zLmgtZm9yLW1ham9yLW1pbm9yLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdXNlcm1vZGUvdXNlcm1vZGUvMDAwMS1JbmNsdWRlLXN5cy1zeXNtYWNyb3MuaC1mb3ItbWFqb3ItbWlub3IucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI3N2Y2ZTIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdXNlcm1vZGUvdXNlcm1vZGUvMDAwMS1JbmNsdWRlLXN5cy1zeXNtYWNyb3MuaC1mb3ItbWFqb3ItbWlub3IucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi1Gcm9tIDc1NTM5NjU5Mzk2YjE4MTEwZDVhNTJhOGEzMjg0NTI1NGI0ZDhlY2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU2F0LCAxMSBBdWcgMjAxOCAxODoyNTo0NyAtMDcwMAotU3ViamVjdDogW1BBVENIXSBJbmNsdWRlIHN5cy9zeXNtYWNyb3MuaCBmb3IgbWFqb3IvbWlub3IKLQotdXNlcm1vdW50LmM6MjM4OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBtYWpvcicKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gdXNlcm1vdW50LmMgfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL3VzZXJtb3VudC5jIGIvdXNlcm1vdW50LmMKLWluZGV4IDQxMDcwMjcuLjIxZWY3N2YgMTAwNjQ0Ci0tLS0gYS91c2VybW91bnQuYwotKysrIGIvdXNlcm1vdW50LmMKLUBAIC00MCw2ICs0MCw3IEBACi0gI2luY2x1ZGUgPHN5cy9zdGF0Lmg+Ci0gI2luY2x1ZGUgPHN5cy90aW1lLmg+Ci0gI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotKyNpbmNsdWRlIDxzeXMvc3lzbWFjcm9zLmg+Ci0gI2luY2x1ZGUgPGVycm5vLmg+Ci0gI2luY2x1ZGUgPGdsb2IuaD4KLSAjaW5jbHVkZSA8bGliaW50bC5oPgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdXNlcm1vZGUvdXNlcm1vZGUvMDAwMS1NaXNzaW5nLW4taW4tdHJhbnNsYXRlZC1zdHJpbmcucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC91c2VybW9kZS91c2VybW9kZS8wMDAxLU1pc3Npbmctbi1pbi10cmFuc2xhdGVkLXN0cmluZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWRiNzAwZS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC91c2VybW9kZS91c2VybW9kZS8wMDAxLU1pc3Npbmctbi1pbi10cmFuc2xhdGVkLXN0cmluZy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLUZyb20gN2NiYzY0NDFjZDA2ZTBjMGJiNTFhYzM3YzhmMjJiMGZkNTFmMTJmMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEppcmkgS3VjZXJhIDxqa3VjZXJhQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDExIEFwciAyMDE4IDE3OjEzOjQ0ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIE1pc3NpbmcgXG4gaW4gdHJhbnNsYXRlZCBzdHJpbmcKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotCi1TaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBwby90ci5wbyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3BvL3RyLnBvIGIvcG8vdHIucG8KLWluZGV4IDg0ZTUwMjEuLmEyOGU5NDcgMTAwNjQ0Ci0tLS0gYS9wby90ci5wbwotKysrIGIvcG8vdHIucG8KLUBAIC00MDgsNyArNDA4LDcgQEAgbXNnc3RyICJHcmFmaWsgcGVuY2VyZSBhw6fEsWxhbWFkxLEgdmUgdcOnYmlyaW0gZGVuZXRpbWkgYnVsdW5hbWFkxLEuXG4iCi0gIzogLi4vLi4vcG8vLi4vdXNlcnBhc3N3ZC5jOjM3Ci0gIywgYy1mb3JtYXQKLSBtc2dpZCAiVW5leHBlY3RlZCBjb21tYW5kLWxpbmUgYXJndW1lbnRzXG4iCi0tbXNnc3RyICJCZWtsZW5tZXllbiBrb211dCBzYXTEsXLEsSBhcmfDvG1hbmxhcsSxIgotK21zZ3N0ciAiQmVrbGVubWV5ZW4ga29tdXQgc2F0xLFyxLEgYXJnw7xtYW5sYXLEsVxuIgotIAotICM6IC4uLy4uL3BvLy4uL3VzZXJpbmZvLmM6NDExCi0gIywgYy1mb3JtYXQKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdXNlcm1vZGUvdXNlcm1vZGVfMS4xMTIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC91c2VybW9kZS91c2VybW9kZV8xLjExMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODJjY2YzZS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC91c2VybW9kZS91c2VybW9kZV8xLjExMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLURFU0NSSVBUSU9OID0gIlRoZSB1c2VybW9kZSBjb250YWlucyB0aGUgdXNlcmhlbHBlciBwcm9ncmFtLCB3aGljaCBjYW4gYmUgdXNlZCB0byBhbGxvdyBjb25maWd1cmVkIFwKLXByb2dyYW1zIHRvIGJlIHJ1biB3aXRoIHN1cGVydXNlciBwcml2aWxlZ2VzIGJ5IG9yZGluYXJ5IHVzZXJzLCBhbmQgc2V2ZXJhbCBcCi1ncmFwaGljYWwgdG9vbHMgZm9yIHVzZXJzOiBcCi0qIHVzZXJpbmZvIGFsbG93cyB1c2VycyB0byBjaGFuZ2UgdGhlaXIgZmluZ2VyIGluZm9ybWF0aW9uLiBcCi0qIHVzZXJtb3VudCBsZXRzIHVzZXJzIG1vdW50LCB1bm1vdW50LCBhbmQgZm9ybWF0IGZpbGVzeXN0ZW1zLiBcCi0qIHVzZXJwYXNzd2QgYWxsb3dzIHVzZXJzIHRvIGNoYW5nZSB0aGVpciBwYXNzd29yZHMuIFwKLSIKLUhPTUVQQUdFID0gImh0dHBzOi8vcGFndXJlLmlvL3VzZXJtb2RlIgotTElDRU5TRSA9ICJHUEx2MisiCi1ERVBFTkRTID0gImxpYnVzZXIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnbGlicGFtJywgJycsIGQpfSBcCi0gICAgICAgICAgIGd0aysgZGVza3RvcC1maWxlLXV0aWxzLW5hdGl2ZSBcCi0gICAgICAgICAgIHN0YXJ0dXAtbm90aWZpY2F0aW9uIGludGx0b29sLW5hdGl2ZSBcCi0gICAgICAgICAgIHV0aWwtbGludXggXAotIgotCi1TUkNfVVJJID0gImh0dHBzOi8vcmVsZWFzZXMucGFndXJlLm9yZy8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci54eiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWZpeC1jb21waWxlLWZhaWx1cmUtYWdhaW5zdC1tdXNsLUMtbGlicmFyeS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLU1ha2VmaWxlLmFtLUxpbmstd2l0aC1saWJtLWZvci1wb3dsLUFQSS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLU1pc3Npbmctbi1pbi10cmFuc2xhdGVkLXN0cmluZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUluY2x1ZGUtc3lzLXN5c21hY3Jvcy5oLWZvci1tYWpvci1taW5vci5wYXRjaCBcCi0gICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICJhNzY2YTlmNzYwMGY1NzNmYjZkZTQ2NTVkNDE2MjE5NiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIzN2M0ZDY2NzIwOWRhMTQwODJjMDhkZjZlNDhmZTk1NWQxNTMyZWZlYmQ1MzIyZjEzZjk0NjgzYzZjYzEwMzcwIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiIKLQotaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnCi0KLUVYVFJBX09FTUFLRSArPSAiSU5TVEFMTD0naW5zdGFsbCAtcCciCi0KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEgcGFtIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdXNlcm1vZGUvdXNlcm1vZGVfMS4xMTMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC91c2VybW9kZS91c2VybW9kZV8xLjExMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTI3ODM2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdXNlcm1vZGUvdXNlcm1vZGVfMS4xMTMuYmIKQEAgLTAsMCArMSwyOSBAQAorREVTQ1JJUFRJT04gPSAiVGhlIHVzZXJtb2RlIGNvbnRhaW5zIHRoZSB1c2VyaGVscGVyIHByb2dyYW0sIHdoaWNoIGNhbiBiZSB1c2VkIHRvIGFsbG93IGNvbmZpZ3VyZWQgXAorcHJvZ3JhbXMgdG8gYmUgcnVuIHdpdGggc3VwZXJ1c2VyIHByaXZpbGVnZXMgYnkgb3JkaW5hcnkgdXNlcnMsIGFuZCBzZXZlcmFsIFwKK2dyYXBoaWNhbCB0b29scyBmb3IgdXNlcnM6IFwKKyogdXNlcmluZm8gYWxsb3dzIHVzZXJzIHRvIGNoYW5nZSB0aGVpciBmaW5nZXIgaW5mb3JtYXRpb24uIFwKKyogdXNlcm1vdW50IGxldHMgdXNlcnMgbW91bnQsIHVubW91bnQsIGFuZCBmb3JtYXQgZmlsZXN5c3RlbXMuIFwKKyogdXNlcnBhc3N3ZCBhbGxvd3MgdXNlcnMgdG8gY2hhbmdlIHRoZWlyIHBhc3N3b3Jkcy4gXAorIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9wYWd1cmUuaW8vdXNlcm1vZGUiCitMSUNFTlNFID0gIkdQTHYyKyIKK0RFUEVORFMgPSAibGlidXNlciAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdsaWJwYW0nLCAnJywgZCl9IFwKKyAgICAgICAgICAgZ3RrKyBkZXNrdG9wLWZpbGUtdXRpbHMtbmF0aXZlIFwKKyAgICAgICAgICAgc3RhcnR1cC1ub3RpZmljYXRpb24gaW50bHRvb2wtbmF0aXZlIFwKKyAgICAgICAgICAgdXRpbC1saW51eCBcCisiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9yZWxlYXNlcy5wYWd1cmUub3JnLyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZml4LWNvbXBpbGUtZmFpbHVyZS1hZ2FpbnN0LW11c2wtQy1saWJyYXJ5LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtTWFrZWZpbGUuYW0tTGluay13aXRoLWxpYm0tZm9yLXBvd2wtQVBJLnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImVhZGZiZmYxODU3OGI2NDUwOTZiNmZhNjE4NTRiNDFkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk5ZmJmZDI0OGI0MTFlZDBlN2M0NGQxOTU3YjBlY2RlNjk5YjVhOTY4YTRkYjVkMzcyMjhlODJlN2IxYmEwOTIiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIgorCitpbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjayBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcKKworRVhUUkFfT0VNQUtFICs9ICJJTlNUQUxMPSdpbnN0YWxsIC1wJyIKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSBwYW0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9SRUFETUUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9SRUFETUUKaW5kZXggYmEyYmE1Zi4uNzkyNDRkNCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvUkVBRE1FCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL1JFQURNRQpAQCAtMTIsNyArMTIsNyBAQAogVGhpcyBsYXllciBkZXBlbmRzIG9uOgogCiBVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL29lLWNvcmUuZ2l0Ci1icmFuY2g6IHRodWQKK2JyYW5jaDogbWFzdGVyCiByZXZpc2lvbjogSEVBRAogCiAKQEAgLTIwLDEyICsyMCwxMiBAQAogLS0tLS0tLS0tLS0KIAogU2VuZCBwYXRjaGVzIC8gcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZwotd2l0aCAnW21ldGEtaW5pdHJhbWZzXVt0aHVkXScgaW4gdGhlIHN1YmplY3QuCit3aXRoICdbbWV0YS1pbml0cmFtZnNdJyBpbiB0aGUgc3ViamVjdC4KIAogV2hlbiBzZW5kaW5nIHNpbmdsZSBwYXRjaGVzLCBwbGVhc2UgdXNpbmcgc29tZXRoaW5nIGxpa2U6Ci0nZ2l0IHNlbmQtZW1haWwgLU0gLTEgLS10byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyAtLXN1YmplY3QtcHJlZml4PW1ldGEtaW5pdHJhbWZzXVt0aHVkXVtQQVRDSCcKKydnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1pbml0cmFtZnNdW1BBVENIJwogCi1UaHVkIG1haW50YWluZXI6IEFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CitJbnRlcm0gbGF5ZXIgbWFpbnRhaW5lcjogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIAogCiBMaWNlbnNlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9jbGFzc2VzL2tsaWJjLmJiY2xhc3MgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9jbGFzc2VzL2tsaWJjLmJiY2xhc3MKaW5kZXggYjdiNzJiNy4uYmJhMTBmMSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvY2xhc3Nlcy9rbGliYy5iYmNsYXNzCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL2NsYXNzZXMva2xpYmMuYmJjbGFzcwpAQCAtOCw5ICs4LDkgQEAKIENDX2FwcGVuZF9hcm12N3ZlID0gIiAke0AnIC1tZmxvYXQtYWJpPSR7VFVORV9DQ0FSR1NfTUZMT0FUfScgaWYgKGQuZ2V0VmFyKCdUVU5FX0NDQVJHU19NRkxPQVQnKSAhPSAnJykgZWxzZSAnJ30iCiBDQ19hcHBlbmRfYXJtdjdhID0gIiAke0AnIC1tZmxvYXQtYWJpPSR7VFVORV9DQ0FSR1NfTUZMT0FUfScgaWYgKGQuZ2V0VmFyKCdUVU5FX0NDQVJHU19NRkxPQVQnKSAhPSAnJykgZWxzZSAnJ30iCiAKLUNQUF9mb3JjZXZhcmlhYmxlID0gIiR7Q0N9IC1FIgotCiAjIGtsY2MgdXNlcyBvd24gb3B0aW1pemF0aW9ucyBieSBkZWZhdWx0LiBTZWUga2xjYygxKSBtYW4gZmlsZS4KIGV4cG9ydCBDRkxBR1M9IiR7VFVORV9DQ0FSR1N9IgogZXhwb3J0IENQUEZMQUdTPSIke1RVTkVfQ0NBUkdTfSIKIGV4cG9ydCBMREZMQUdTPSIke1RVTkVfQ0NBUkdTfSIKKworT1ZFUlJJREVTID0uICJsaWJjLWtsaWJjOiIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL2NvbmYvbGF5ZXIuY29uZiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL2NvbmYvbGF5ZXIuY29uZgppbmRleCBiZDkyZGRmLi42ZTBiMDBkIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9jb25mL2xheWVyLmNvbmYKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvY29uZi9sYXllci5jb25mCkBAIC0xNiw3ICsxNiw3IEBACiBCQkZJTEVfUFJJT1JJVFlfbWV0YS1pbml0cmFtZnMgPSAiOCIKIExBWUVSREVQRU5EU19tZXRhLWluaXRyYW1mcyA9ICJjb3JlIgogCi1MQVlFUlNFUklFU19DT01QQVRfbWV0YS1pbml0cmFtZnMgPSAidGh1ZCIKK0xBWUVSU0VSSUVTX0NPTVBBVF9tZXRhLWluaXRyYW1mcyA9ICJ0aHVkIHdhcnJpb3IiCiAKIFNJR0dFTl9FWENMVURFX1NBRkVfUkVDSVBFX0RFUFMgKz0gIiBcCiAgIGRyYWN1dC0+dmlydHVhbC9rZXJuZWwgXApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1ic3Ava2V4ZWNib290L2ZpbGVzLzAwMDEta2V4ZWNib290LVVzZS1uZXctcmVib290LUFQSS13aXRoLWtsaWJjLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1ic3Ava2V4ZWNib290L2ZpbGVzLzAwMDEta2V4ZWNib290LVVzZS1uZXctcmVib290LUFQSS13aXRoLWtsaWJjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyZDYyMmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9rZXhlY2Jvb3QvZmlsZXMvMDAwMS1rZXhlY2Jvb3QtVXNlLW5ldy1yZWJvb3QtQVBJLXdpdGgta2xpYmMucGF0Y2gKQEAgLTAsMCArMSw0MiBAQAorRnJvbSBhNmQxNjc4Mzc5ZGY2MTQyYTY4Y2M5YmI3NmRhZTU0MGEzMWI4ZmRiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMTQgTWFyIDIwMTkgMjM6NDc6NTAgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0ga2V4ZWNib290OiBVc2UgbmV3IHJlYm9vdCgpIEFQSSB3aXRoIGtsaWJjCisKK0tsaWJjIGhhcyBjaGFuZ2VkIHRoaXMgQVBJIGluCitodHRwczovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGlicy9rbGliYy9rbGliYy5naXQvY29tbWl0Lz9pZD02YjYyMWI4NzA1Y2U1OTAxZGNmNDk2MDdjOGEzNTIzYzllNTIxOTAxCisKK3RoZXJlZm9yZSBhZG9wdCB0aGUgY29kZQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9rZXhlY2Jvb3QuYyB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMva2V4ZWNib290LmMgYi9zcmMva2V4ZWNib290LmMKK2luZGV4IGNmNDliNDAuLmM3ODVmY2UgMTAwNjQ0CistLS0gYS9zcmMva2V4ZWNib290LmMKKysrKyBiL3NyYy9rZXhlY2Jvb3QuYworQEAgLTg1Nyw3ICs4NTcsNyBAQCBpbnQgcHJvY2Vzc19jdHhfbWVudShzdHJ1Y3QgcGFyYW1zX3QgKnBhcmFtcywgaW50IGFjdGlvbikgeworICNlbHNlCisgCQlzeW5jKCk7CisgCQkvKiBpZiAoIC0xID09IHJlYm9vdChMSU5VWF9SRUJPT1RfQ01EX1JFU1RBUlQpICkgeyAqLworLQkJaWYgKCAtMSA9PSByZWJvb3QoUkJfQVVUT0JPT1QpICkgeworKwkJaWYgKCAtMSA9PSByZWJvb3QoUkJfQVVUT0JPT1QsIE5VTEwpICkgeworIAkJCWxvZ19tc2cobGcsICJDYW4ndCBpbml0aWF0ZSByZWJvb3Q6ICVzIiwgRVJSTVNHKTsKKyAJCX0KKyAjZW5kaWYKK0BAIC04NzQsNyArODc0LDcgQEAgaW50IHByb2Nlc3NfY3R4X21lbnUoc3RydWN0IHBhcmFtc190ICpwYXJhbXMsIGludCBhY3Rpb24pIHsKKyAjZWxzZQorIAkJc3luYygpOworIAkJLyogaWYgKCAtMSA9PSByZWJvb3QoTElOVVhfUkVCT09UX0NNRF9QT1dFUl9PRkYpICkgeyAqLworLQkJaWYgKCAtMSA9PSByZWJvb3QoUkJfUE9XRVJfT0ZGKSApIHsKKysJCWlmICggLTEgPT0gcmVib290KFJCX1BPV0VSX09GRiwgTlVMTCkgKSB7CisgCQkJbG9nX21zZyhsZywgIkNhbid0IGluaXRpYXRlIHNodXRkb3duOiAlcyIsIEVSUk1TRyk7CisgCQl9CisgI2VuZGlmCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9rZXhlY2Jvb3Qva2V4ZWNib290X2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtYnNwL2tleGVjYm9vdC9rZXhlY2Jvb3RfZ2l0LmJiCmluZGV4IDZkNzllOGYuLjRiMjBlMWUgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtYnNwL2tleGVjYm9vdC9rZXhlY2Jvb3RfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtYnNwL2tleGVjYm9vdC9rZXhlY2Jvb3RfZ2l0LmJiCkBAIC02LDcgKzYsOSBAQAogUFYgPSAiMC42K2dpdCR7U1JDUFZ9IgogUyA9ICIke1dPUktESVJ9L2dpdCIKIFNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9rZXhlY2Jvb3Qva2V4ZWNib290LmdpdCIKLVNSQ1JFViA9ICI0YzAxZDY5NjBhYTZhOWQwMzY3NTYwNTA2MjQ2OWFiNzc3ZmEyYjAxIgorU1JDX1VSSV9hcHBlbmRfbGliYy1rbGliYyA9ICIgZmlsZTovLzAwMDEta2V4ZWNib290LVVzZS1uZXctcmVib290LUFQSS13aXRoLWtsaWJjLnBhdGNoICIKKworU1JDUkVWID0gIjc0MDlhMWUwYWFlYTYxYWY4N2M0ZWNhMDE0OWNlYzE4YTlmNThhYjYiCiBpbmhlcml0IGF1dG90b29scwogCiBFWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtdGV4dHVpIC0tZW5hYmxlLWRlbGF5PTIgLS1lbmFibGUtZXZkZXYtcmF0ZT0xMDAwLDI1MCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtY29yZS9pbWFnZXMvbWV0YS1pbml0cmFtZnMtaW1hZ2UuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWNvcmUvaW1hZ2VzL21ldGEtaW5pdHJhbWZzLWltYWdlLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkNzBkNmQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWNvcmUvaW1hZ2VzL21ldGEtaW5pdHJhbWZzLWltYWdlLmJiCkBAIC0wLDAgKzEsOCBAQAorU1VNTUFSWSA9ICJtZXRhLWluaXRyYW1mcyBidWlsZCB0ZXN0IGltYWdlIgorCitJTUFHRV9JTlNUQUxMID0gInBhY2thZ2Vncm91cC1jb3JlLWJvb3QgXAorICAgICAgICAgICAgICAgICBwYWNrYWdlZ3JvdXAtbWV0YS1pbml0cmFtZnMiCisKK0xJQ0VOU0UgPSAiTUlUIgorCitpbmhlcml0IGNvcmUtaW1hZ2UKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1tZXRhLWluaXRyYW1mcy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1tZXRhLWluaXRyYW1mcy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZmVkZTVhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLW1ldGEtaW5pdHJhbWZzLmJiCkBAIC0wLDAgKzEsMzYgQEAKK1NVTU1BUlkgPSAiTWV0YS1pbml0cmFtZnMgcGFja2FnZWdyb3VwcyIKKworaW5oZXJpdCBwYWNrYWdlZ3JvdXAKKworUFJPVklERVMgPSAiJHtQQUNLQUdFU30iCitQQUNLQUdFUyA9ICcgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLWluaXRyYW1mcyBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtaW5pdHJhbWZzLWRldnRvb2xzIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1pbml0cmFtZnMta2VybmVsIFwKKycKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtaW5pdHJhbWZzID0gIlwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1pbml0cmFtZnMtZGV2dG9vbHMgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLWluaXRyYW1mcy1rZXJuZWwgXAorIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1pbml0cmFtZnMtZGV2dG9vbHMgPSAiXAorICAgIGxpYmtsaWJjICBkcmFjdXQgXAorICAgIGtsaWJjLXV0aWxzLWNhdCBrbGliYy11dGlscy1sb3NldHVwIGtsaWJjLXV0aWxzLXJlYWRsaW5rIGtsaWJjLXV0aWxzLWNocm9vdCBcCisgICAga2xpYmMtdXRpbHMtbHMga2xpYmMtdXRpbHMtcmVib290IGtsaWJjLXV0aWxzLWNwaW8ga2xpYmMtdXRpbHMtbWluaXBzIFwKKyAgICBrbGliYy11dGlscy1yZXN1bWUga2xpYmMtdXRpbHMtZGQga2xpYmMtdXRpbHMtbWtkaXIga2xpYmMtdXRpbHMtcnVuLWluaXQgXAorICAgIGtsaWJjLXV0aWxzLWRtZXNnIGtsaWJjLXV0aWxzLW1rZmlmbyBrbGliYy11dGlscy1zaC5zaGFyZWQga2xpYmMtdXRpbHMtZmFsc2UgXAorICAgIGtsaWJjLXV0aWxzLW1rbm9kIGtsaWJjLXV0aWxzLXNsZWVwIGtsaWJjLXV0aWxzLWZzdHlwZSBrbGliYy11dGlscy1tb3VudCBcCisgICAga2xpYmMtdXRpbHMtc3luYyBrbGliYy11dGlscy1oYWx0IGtsaWJjLXV0aWxzLW12IGtsaWJjLXV0aWxzLXRydWUga2xpYmMtdXRpbHMtaXBjb25maWcgXAorICAgIGtsaWJjLXV0aWxzLW5mc21vdW50IGtsaWJjLXV0aWxzLXVtb3VudCBrbGliYy11dGlscy1raWxsIGtsaWJjLXV0aWxzLW51a2Uga2xpYmMtdXRpbHMtdW5hbWUgXAorICAgIG10ZGluZm8ta2xpYmMgdWJpYXR0YWNoLWtsaWJjIHViaWJsb2NrLWtsaWJjIHViaWNyYzMyLWtsaWJjIHViaWRldGFjaC1rbGliYyBcCisgICAgdWJpZm9ybWF0LWtsaWJjIHViaW1rdm9sLWtsaWJjIHViaW5mby1rbGliYyB1YmluaXplLWtsaWJjIHViaXJlbmFtZS1rbGliYyBcCisgICAgdWJpcm12b2wta2xpYmMgdWJpcnN2b2wta2xpYmMgdWJpdXBkYXRldm9sLWtsaWJjIFwKKyAgICAke0BiYi51dGlscy5jb250YWluc19hbnkoIlRSQU5TTEFURURfVEFSR0VUX0FSQ0giLCAiaTU4NiB4ODYtNjQiLCAiZ3J1YmJ5IiwgIiIsIGQpfSBcCisgICAgIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1pbml0cmFtZnMta2VybmVsID0gIlwKKyAgICBrZXhlYy1rbGliYyB2bWNvcmUtZG1lc2cta2xpYmMgXAorICAgICIKKworRVhDTFVERV9GUk9NX1dPUkxEID0gIjEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40LzAwMDEtRGVmaW5lLWluXy1zdHJ1Y3RzLWZvci1ub24tZ2xpYmMtc3lzdGVtLWxpYnMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzLzAwMDEtRGVmaW5lLWluXy1zdHJ1Y3RzLWZvci1ub24tZ2xpYmMtc3lzdGVtLWxpYnMucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvMDAwMS1EZWZpbmUtaW5fLXN0cnVjdHMtZm9yLW5vbi1nbGliYy1zeXN0ZW0tbGlicy5wYXRjaApyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy8wMDAxLURlZmluZS1pbl8tc3RydWN0cy1mb3Itbm9uLWdsaWJjLXN5c3RlbS1saWJzLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40LzAwMDEtRGVmaW5lLXVsb2NrZWRfLWZnZXRzLWZyZWFkLWZ3cml0ZS1hbGlhc2VzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy8wMDAxLURlZmluZS11bG9ja2VkXy1mZ2V0cy1mcmVhZC1md3JpdGUtYWxpYXNlcy5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLURlZmluZS11bG9ja2VkXy1mZ2V0cy1mcmVhZC1md3JpdGUtYWxpYXNlcy5wYXRjaApyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy8wMDAxLURlZmluZS11bG9ja2VkXy1mZ2V0cy1mcmVhZC1md3JpdGUtYWxpYXNlcy5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLUtidWlsZC5rbGliYy1BZGQtcGF0aC10by1jb21waWxlci1oZWFkZXJzLXZpYS1pc3lzdGUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzLzAwMDEtS2J1aWxkLmtsaWJjLUFkZC1wYXRoLXRvLWNvbXBpbGVyLWhlYWRlcnMtdmlhLWlzeXN0ZS5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLUtidWlsZC5rbGliYy1BZGQtcGF0aC10by1jb21waWxlci1oZWFkZXJzLXZpYS1pc3lzdGUucGF0Y2gKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMvMDAwMS1LYnVpbGQua2xpYmMtQWRkLXBhdGgtdG8tY29tcGlsZXItaGVhZGVycy12aWEtaXN5c3RlLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40LzAwMDEtS2J1aWxkLmtsaWJjLVVzZS1wcmludC1saWJnY2MtZmlsZS1uYW1lLWluc3RlYWQtb2YtcC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMvMDAwMS1LYnVpbGQua2xpYmMtVXNlLXByaW50LWxpYmdjYy1maWxlLW5hbWUtaW5zdGVhZC1vZi1wLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40LzAwMDEtS2J1aWxkLmtsaWJjLVVzZS1wcmludC1saWJnY2MtZmlsZS1uYW1lLWluc3RlYWQtb2YtcC5wYXRjaApyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy8wMDAxLUtidWlsZC5rbGliYy1Vc2UtcHJpbnQtbGliZ2NjLWZpbGUtbmFtZS1pbnN0ZWFkLW9mLXAucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvMDAwMS1hbHdheXMtdXNlLWJmZC1saW5rZXIucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzLzAwMDEtYWx3YXlzLXVzZS1iZmQtbGlua2VyLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40LzAwMDEtYWx3YXlzLXVzZS1iZmQtbGlua2VyLnBhdGNoCnJlbmFtZSB0byBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzLzAwMDEtYWx3YXlzLXVzZS1iZmQtbGlua2VyLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40LzAwMDEtYXJtLURvLW5vdC1zZXQtYS1mYWxsYmFjay1tYXJjaC1hbmQtbXR1bmUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzLzAwMDEtYXJtLURvLW5vdC1zZXQtYS1mYWxsYmFjay1tYXJjaC1hbmQtbXR1bmUucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvMDAwMS1hcm0tRG8tbm90LXNldC1hLWZhbGxiYWNrLW1hcmNoLWFuZC1tdHVuZS5wYXRjaApyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy8wMDAxLWFybS1Eby1ub3Qtc2V0LWEtZmFsbGJhY2stbWFyY2gtYW5kLW10dW5lLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40LzAwMDEtZGFzaC1TcGVjaWZ5LWZvcm1hdC1zdHJpbmctaW4tZm10c3RyLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy8wMDAxLWRhc2gtU3BlY2lmeS1mb3JtYXQtc3RyaW5nLWluLWZtdHN0ci5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLWRhc2gtU3BlY2lmeS1mb3JtYXQtc3RyaW5nLWluLWZtdHN0ci5wYXRjaApyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy8wMDAxLWRhc2gtU3BlY2lmeS1mb3JtYXQtc3RyaW5nLWluLWZtdHN0ci5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLWluY2x1ZGUtbGludXgtc3lzaW5mby5oLWRpcmVjdGx5LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy8wMDAxLWluY2x1ZGUtbGludXgtc3lzaW5mby5oLWRpcmVjdGx5LnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40LzAwMDEtaW5jbHVkZS1saW51eC1zeXNpbmZvLmgtZGlyZWN0bHkucGF0Y2gKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMvMDAwMS1pbmNsdWRlLWxpbnV4LXN5c2luZm8uaC1kaXJlY3RseS5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLWtsaWJjLUtidWlsZC1BY2NlcHQtRVhUUkFfS0xJQkNBRkxBR1MucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzLzAwMDEta2xpYmMtS2J1aWxkLUFjY2VwdC1FWFRSQV9LTElCQ0FGTEFHUy5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLWtsaWJjLUtidWlsZC1BY2NlcHQtRVhUUkFfS0xJQkNBRkxBR1MucGF0Y2gKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMvMDAwMS1rbGliYy1LYnVpbGQtQWNjZXB0LUVYVFJBX0tMSUJDQUZMQUdTLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40LzAwMDEta2xpYmMtYWRkLWdldHJhbmRvbS1zeXNjYWxsLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy8wMDAxLWtsaWJjLWFkZC1nZXRyYW5kb20tc3lzY2FsbC5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLWtsaWJjLWFkZC1nZXRyYW5kb20tc3lzY2FsbC5wYXRjaApyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy8wMDAxLWtsaWJjLWFkZC1nZXRyYW5kb20tc3lzY2FsbC5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLWtsaWJjXzIuMC40LWFkZC1rZXhlY19maWxlX2xvYWQtc3lzY2FsbC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMvMDAwMS1rbGliY18yLjAuNC1hZGQta2V4ZWNfZmlsZV9sb2FkLXN5c2NhbGwucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvMDAwMS1rbGliY18yLjAuNC1hZGQta2V4ZWNfZmlsZV9sb2FkLXN5c2NhbGwucGF0Y2gKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMvMDAwMS1rbGliY18yLjAuNC1hZGQta2V4ZWNfZmlsZV9sb2FkLXN5c2NhbGwucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvMDAwMS1ta2ZpZm8tSW1wbGVtZW50LW1rZmlmby5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMvMDAwMS1ta2ZpZm8tSW1wbGVtZW50LW1rZmlmby5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLW1rZmlmby1JbXBsZW1lbnQtbWtmaWZvLnBhdGNoCnJlbmFtZSB0byBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzLzAwMDEtbWtmaWZvLUltcGxlbWVudC1ta2ZpZm8ucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMvYXJtdjQtZml4LXY0YngucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzL2FybXY0LWZpeC12NGJ4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhMzM0ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzL2FybXY0LWZpeC12NGJ4LnBhdGNoCkBAIC0wLDAgKzEsMjQgQEAKK0Zyb20gZDJmYjQ4NGQ5OTUyMjEyNzdjY2U3YWJkZGNkN2RmYTBlOGJjZWVjMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMTEgSmFuIDIwMTMgMTc6MjY6NDAgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0ga2xpYmNfMi4wLjI6IGFwcGx5IEZJWF9WNEJYIHBhdGNoIGZvciBhcm12NCB0YXJnZXRzIG9ubHkKKworU3RhdHVzOiBub3QgYXBwbGljYWJsZSB1cHN0cmVhbSwgaW4gT0UvWW9jdG8gd2UgdXNlICQoRklYX1Y0QlgpCit3aGljaCBpcyAiIiBpbiBjYXNlIG9mIGFybXY1IG9yIHRodW1icy4KKworU2lnbmVkLW9mZi1ieTogQW5kcmVhIEFkYW1pIDxhbmRyZWEuYWRhbWlAZ21haWwuY29tPgorCistLS0KKyB1c3Iva2xpYmMvYXJjaC9hcm0vTUNPTkZJRyB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCistLS0gYS91c3Iva2xpYmMvYXJjaC9hcm0vTUNPTkZJRworKysrIGIvdXNyL2tsaWJjL2FyY2gvYXJtL01DT05GSUcKK0BAIC0yOSw2ICsyOSw3IEBAIGVsc2UKKyBLTElCQ1NIQVJFREZMQUdTID0gLVR0ZXh0LXNlZ21lbnQgMHgwMTgwMDAwMAorIGlmZXEgKCQoQ09ORklHX0FFQUJJKSx5KQorIEtMSUJDUkVRRkxBR1MgKz0gLW1hYmk9YWFwY3MtbGludXggLW1uby10aHVtYi1pbnRlcndvcmsKKytLTElCQ0xERkxBR1MgKz0gJChGSVhfQVJNVjRfRUFCSV9CWCkKKyBlbHNlCisgS0xJQkNSRVFGTEFHUyArPSAtbWFiaT1hcGNzLWdudSAtbW5vLXRodW1iLWludGVyd29yaworIGVuZGlmCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40L2tsY2MtY29uc2lkZXItc3lzcm9vdC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMva2xjYy1jb25zaWRlci1zeXNyb290LnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40L2tsY2MtY29uc2lkZXItc3lzcm9vdC5wYXRjaApyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy9rbGNjLWNvbnNpZGVyLXN5c3Jvb3QucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQva2xjYy1jcm9zcy1hY2NlcHQtY2xhbmctb3B0aW9ucy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMva2xjYy1jcm9zcy1hY2NlcHQtY2xhbmctb3B0aW9ucy5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC9rbGNjLWNyb3NzLWFjY2VwdC1jbGFuZy1vcHRpb25zLnBhdGNoCnJlbmFtZSB0byBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzL2tsY2MtY3Jvc3MtYWNjZXB0LWNsYW5nLW9wdGlvbnMucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMva2xpYmMtY29uZmlnLWVhYmkucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzL2tsaWJjLWNvbmZpZy1lYWJpLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE2OTk4ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzL2tsaWJjLWNvbmZpZy1lYWJpLnBhdGNoCkBAIC0wLDAgKzEsMjMgQEAKK0Zyb20gMTExOGNjOTcxOTE3YWJlMTlkZGIwMjlhYTgwNDE3ZjZmZDZiYjM0MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFRob21hcyBLdW56ZSA8dGhvbW15Y2hlY2tAZ214LmRlPgorRGF0ZTogU2F0LCA2IEF1ZyAyMDExIDA1OjMwOjE0ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIGtsaWJjOiBpbml0aWFsIGNvbW1pdCBvZiB2ZXJzaW9uIDEuNS4yNAorCitQYXRjaCB3YXMgaW1wb3J0ZWQgZnJvbSB0aGUgT3BlbkVtYmVkZGVkIGdpdCBzZXJ2ZXIKKyhnaXQ6Ly9naXQub3BlbmVtYmVkZGVkLm9yZy9vcGVuZW1iZWRkZWQpCithcyBvZiBjb21taXQgaWQgYjY3NjRjZjMyZWM5MzU0NzUzMTEzMGRjYTM2NGZiOTVlMWM0OTVmNAorU2lnbmVkLW9mZi1ieTogVGhvbWFzIEt1bnplIDx0aG9tbXljaGVja0BnbXguZGU+CisKKy0tLQorIGRlZmNvbmZpZyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworLS0tIGEvZGVmY29uZmlnCisrKysgYi9kZWZjb25maWcKK0BAIC02LDUgKzYsNSBAQCBDT05GSUdfS0xJQkNfWkxJQj15CisgQ09ORklHX1JFR1BBUk09eQorICMgQVJNIG9wdGlvbnMKKyAjIENPTkZJR19LTElCQ19USFVNQiBpcyBub3Qgc2V0CistIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAorK0NPTkZJR19BRUFCST15CisgIyBDT05GSUdfREVCVUdfSU5GTyBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40L3VzZS1lbnYtZm9yLXBlcmwucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzL3VzZS1lbnYtZm9yLXBlcmwucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvdXNlLWVudi1mb3ItcGVybC5wYXRjaApyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy91c2UtZW52LWZvci1wZXJsLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsY2MtY3Jvc3NfMi4wLjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsY2MtY3Jvc3NfMi4wLjQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIyODViMmUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGNjLWNyb3NzXzIuMC40LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotU1VNTUFSWSA9ICJUaGUga2xjYyBjcm9zc2NvbXBpbGVyIGZvciBrbGliYyIKLQotcmVxdWlyZSBrbGliYy5pbmMKLURFUEVORFMgPSAia2xpYmMiCi0KLSMgbm8gcGFja2FnaW5nIGZvciB0aGlzIGNyb3Nzc2NyaXB0Ci1QQUNLQUdFUyA9ICIiCi1pbmhlcml0IG5vcGFja2FnZXMKLQotRklMRVNQQVRIID0uICIke0ZJTEVfRElSTkFNRX0va2xpYmMtJHtQVn06IgotCi1TUkNfVVJJICs9ICJmaWxlOi8vdXNlLWVudi1mb3ItcGVybC5wYXRjaCIKLQotIyBkaXNhYmxlIHRhc2sgYWxyZWFkeSBydW4gaW4ga2xpYmMgcmVjaXBlCi1kb19jb25maWd1cmVbbm9leGVjXSA9ICIxIgotCi1kb19jb21waWxlKCkgewotICAgIG9lX3J1bm1ha2UgJ0lOU1RBTExESVI9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtsaWJkaXJ9L2tsaWJjJyBrbGNjCi19Ci0KLWRvX2luc3RhbGwoKSB7Ci0gICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJfY3Jvc3NzY3JpcHRzfS8KLSAgICBpbnN0YWxsIC1tIDA3NTUga2xjYy9rbGNjICR7RH0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9LyR7VEFSR0VUX1BSRUZJWH1rbGNjCi0gICAgIyBUdXJuIHRoZSBob3JyaWJseSBlbmNvZGVkIHBhdGhzIGludG8gc29tZXRoaW5nIHdoaWNoIHNzdGF0ZSBjYW4gdHJhbnNmb3JtIHVzaW5nIGl0cyB1c3VzYWwKLSAgICAjIG1hZ2ljIGJ5IHJlbW92aW5nIGFsbCB0aGUgY3JhenkgZXNjYXBpbmcuCi0gICAgc2VkIC1pIC1lICIyaSBcJFRBUkdFVFNZU1JPT1QgPSAnJHtTVEFHSU5HX0RJUl9UQVJHRVR9JzsiIFwKLSAgICAgICAgICAgLWUgIjJpIFwkTkFUSVZFU1lTUk9PVCA9ICcke1NUQUdJTkdfRElSX05BVElWRX0nOyIgXAotICAgICAgICAgICAtZSAncyMke0BkLmdldFZhcigiU1RBR0lOR19ESVJfTkFUSVZFIiwgVHJ1ZSkucmVwbGFjZSgiLyIsICJcXFxcLyIpLnJlcGxhY2UoIi0iLCAiXFxcXC0iKS5yZXBsYWNlKCIuIiwgIlxcXFwuIil9IyR7TkFUSVZFU1lTUk9PVH0jZzsnIFwKLSAgICAgICAgICAgLWUgJ3MjJHtAZC5nZXRWYXIoIlNUQUdJTkdfRElSX1RBUkdFVCIsIFRydWUpLnJlcGxhY2UoIi8iLCAiXFxcXC8iKS5yZXBsYWNlKCItIiwgIlxcXFwtIikucmVwbGFjZSgiLiIsICJcXFxcLiIpfSMke1RBUkdFVFNZU1JPT1R9I2cnIFwKLSAgICAgICAgJHtEfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vJHtUQVJHRVRfUFJFRklYfWtsY2MKLX0KLQotU1lTUk9PVF9ESVJTICs9ICIke2JpbmRpcl9jcm9zc3NjcmlwdHN9IgotU1NUQVRFX1NDQU5fRklMRVMgKz0gIiota2xjYyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xjYy1jcm9zc18yLjAuNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xjYy1jcm9zc18yLjAuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MDExYWEyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGNjLWNyb3NzXzIuMC42LmJiCkBAIC0wLDAgKzEsMzIgQEAKK1NVTU1BUlkgPSAiVGhlIGtsY2MgY3Jvc3Njb21waWxlciBmb3Iga2xpYmMiCisKK3JlcXVpcmUga2xpYmMuaW5jCitERVBFTkRTID0gImtsaWJjIgorCisjIG5vIHBhY2thZ2luZyBmb3IgdGhpcyBjcm9zc3NjcmlwdAorUEFDS0FHRVMgPSAiIgoraW5oZXJpdCBub3BhY2thZ2VzCisKK1NSQ19VUkkgKz0gImZpbGU6Ly91c2UtZW52LWZvci1wZXJsLnBhdGNoIgorCisjIGRpc2FibGUgdGFzayBhbHJlYWR5IHJ1biBpbiBrbGliYyByZWNpcGUKK2RvX2NvbmZpZ3VyZVtub2V4ZWNdID0gIjEiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZSAnSU5TVEFMTERJUj0ke1NUQUdJTkdfRElSX1RBUkdFVH0ke2xpYmRpcn0va2xpYmMnIGtsY2MKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9LworICAgIGluc3RhbGwgLW0gMDc1NSBrbGNjL2tsY2MgJHtEfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vJHtUQVJHRVRfUFJFRklYfWtsY2MKKyAgICAjIFR1cm4gdGhlIGhvcnJpYmx5IGVuY29kZWQgcGF0aHMgaW50byBzb21ldGhpbmcgd2hpY2ggc3N0YXRlIGNhbiB0cmFuc2Zvcm0gdXNpbmcgaXRzIHVzdXNhbAorICAgICMgbWFnaWMgYnkgcmVtb3ZpbmcgYWxsIHRoZSBjcmF6eSBlc2NhcGluZy4KKyAgICBzZWQgLWkgLWUgIjJpIFwkVEFSR0VUU1lTUk9PVCA9ICcke1NUQUdJTkdfRElSX1RBUkdFVH0nOyIgXAorICAgICAgICAgICAtZSAiMmkgXCROQVRJVkVTWVNST09UID0gJyR7U1RBR0lOR19ESVJfTkFUSVZFfSc7IiBcCisgICAgICAgICAgIC1lICdzIyR7QGQuZ2V0VmFyKCJTVEFHSU5HX0RJUl9OQVRJVkUiKS5yZXBsYWNlKCIvIiwgIlxcXFwvIikucmVwbGFjZSgiLSIsICJcXFxcLSIpLnJlcGxhY2UoIi4iLCAiXFxcXC4iKX0jJHtOQVRJVkVTWVNST09UfSNnOycgXAorICAgICAgICAgICAtZSAncyMke0BkLmdldFZhcigiU1RBR0lOR19ESVJfVEFSR0VUIikucmVwbGFjZSgiLyIsICJcXFxcLyIpLnJlcGxhY2UoIi0iLCAiXFxcXC0iKS5yZXBsYWNlKCIuIiwgIlxcXFwuIil9IyR7VEFSR0VUU1lTUk9PVH0jZycgXAorICAgICAgICAke0R9JHtiaW5kaXJfY3Jvc3NzY3JpcHRzfS8ke1RBUkdFVF9QUkVGSVh9a2xjYworfQorCitTWVNST09UX0RJUlMgKz0gIiR7YmluZGlyX2Nyb3Nzc2NyaXB0c30iCitTU1RBVEVfU0NBTl9GSUxFUyArPSAiKi1rbGNjIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLWtsaWJjLXN0YXRpYy11dGlscy1kby1ub3QtYnVpbGQtc2hhcmVkLWJpbmFyaWVzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLWtsaWJjLXN0YXRpYy11dGlscy1kby1ub3QtYnVpbGQtc2hhcmVkLWJpbmFyaWVzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZjdjZDM1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvMDAwMS1rbGliYy1zdGF0aWMtdXRpbHMtZG8tbm90LWJ1aWxkLXNoYXJlZC1iaW5hcmllcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIxMyArMCwwIEBACi1Gcm9tIGMwMzRkY2VhZTE3YjdkOGQ0Mzc4NzFhZmU1ZWJhNTVhNTU0MzQyMjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbmRyZWEgQWRhbWkgPGFuZHJlYS5hZGFtaUBnbWFpbC5jb20+Ci1EYXRlOiBXZWQsIDEwIE9jdCAyMDE4IDAwOjQ4OjMxICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIGtsaWJjLXN0YXRpYy11dGlsczogZG8gbm90IGJ1aWxkIHNoYXJlZCBiaW5hcmllcwotCi1XZSB3ZXJlIGJ1aWxkaW5nIHNvbWUgc2hhcmVkIHV0aWxpdGllcyBhbmQgdGhpcyB3YXMgbGVhZGluZyB0byBsaW5rZXIgZXJyb3JzCi1mb3IgeDg2IHdpdGggc2VjdXJpdHkgZmxhZ3MgZW5hYmxlZC4KLQotRml4Ci0gaTU4Ni1vZS1saW51eC1tdXNsLWxkLmJmZDogZGlzY2FyZGVkIG91dHB1dCBzZWN0aW9uOiBgLmdvdC5wbHQnCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbRW1iZWRkZWQgU3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KLS0tLQotIHVzci9kYXNoL0tidWlsZCAgICAgICAgICAgfCA2ICstLS0tLQotIHVzci9raW5pdC9LYnVpbGQgICAgICAgICAgfCA0ICstLS0KLSB1c3Iva2luaXQvZnN0eXBlL0tidWlsZCAgIHwgNCArLS0tCi0gdXNyL2tpbml0L2lwY29uZmlnL0tidWlsZCB8IDQgKy0tLQotIHVzci9raW5pdC9uZnNtb3VudC9LYnVpbGQgfCA0ICstLS0KLSB1c3Iva2luaXQvcmVzdW1lL0tidWlsZCAgIHwgNSArLS0tLQotIHVzci9raW5pdC9ydW4taW5pdC9LYnVpbGQgfCA1ICstLS0tCi0gdXNyL3V0aWxzL0tidWlsZCAgICAgICAgICB8IDcgKystLS0tLQotIDggZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCAzMCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3Vzci9kYXNoL0tidWlsZCBiL3Vzci9kYXNoL0tidWlsZAotaW5kZXggMWE2OTIwYS4uYjNhNGU2NCAxMDA2NDQKLS0tLSBhL3Vzci9kYXNoL0tidWlsZAotKysrIGIvdXNyL2Rhc2gvS2J1aWxkCi1AQCAtMjUsMTIgKzI1LDggQEAgZ2VuLWgtZmlsZXMgOj0gYnVpbHRpbnMuaCBub2Rlcy5oIHN5bnRheC5oIHRva2VuLmgKLSAKLSBzdGF0aWMteSA6PSBzaAotIAotLSMgVGhlIHNoYXJlZCBiaW5hcnkKLS1zaGFyZWQteSAgICA6PSBzaC5zaGFyZWQKLS1zaC5zaGFyZWQteSA6PSAkKHNoLXkpCi0tCi0gIyBGb3IgY2xlYW5pbmcKLS10YXJnZXRzIDo9IHNoIHNoLmcgc2guc2hhcmVkIHNoLnNoYXJlZC5nICQoZ2VuLW8tZmlsZXMpCi0rdGFyZ2V0cyA6PSBzaCBzaC5nICQoZ2VuLW8tZmlsZXMpCi0gCi0gIyBleHBsaWNpdCBkZXBlbmRlbmN5IGZvciBhbGwgZ2VuZXJhdGVkIGZpbGVzCi0gJChhZGRwcmVmaXggJChvYmopLywgJChzaC15KSk6ICQoYWRkcHJlZml4ICQob2JqKS8sICQoZ2VuLWgtZmlsZXMpKQotZGlmZiAtLWdpdCBhL3Vzci9raW5pdC9LYnVpbGQgYi91c3Iva2luaXQvS2J1aWxkCi1pbmRleCBmN2ZkY2NkLi44ZGIwNmFiIDEwMDY0NAotLS0tIGEvdXNyL2tpbml0L0tidWlsZAotKysrIGIvdXNyL2tpbml0L0tidWlsZAotQEAgLTE4LDggKzE4LDYgQEAga2luaXQteSAgKz0gZnN0eXBlLwotIGtpbml0LXkgICs9IHJlc3VtZS8KLSAKLSBzdGF0aWMteSA6PSBraW5pdAotLXNoYXJlZC15IDo9IGtpbml0LnNoYXJlZAotLWtpbml0LnNoYXJlZC15IDo9ICQoa2luaXQteSkKLSAKLSAjIEFkZGl0aW9uYWwgaW5jbHVkZSBwYXRocyBmaWxlcwotIEtMSUJDQ0ZMQUdTICs9IC1JJChzcmN0cmVlKS8kKHNyYykvZnN0eXBlIFwKLUBAIC0yOSw3ICsyNyw3IEBAIEtMSUJDQ0ZMQUdTICs9IC1JJChzcmN0cmVlKS8kKHNyYykvZnN0eXBlIFwKLSAgCSAgICAgICAtSSQoc3JjdHJlZSkvJChzcmMpL3J1bi1pbml0Ci0gCi0gIyBDbGVhbmluZwotLXRhcmdldHMgKz0ga2luaXQga2luaXQuZyBraW5pdC5zaGFyZWQga2luaXQuc2hhcmVkLmcKLSt0YXJnZXRzICs9IGtpbml0IGtpbml0LmcKLSBzdWJkaXItIDo9IGZzdHlwZSBpcGNvbmZpZyBuZnNtb3VudCByZXN1bWUgcnVuLWluaXQKLSAKLSAKLWRpZmYgLS1naXQgYS91c3Iva2luaXQvZnN0eXBlL0tidWlsZCBiL3Vzci9raW5pdC9mc3R5cGUvS2J1aWxkCi1pbmRleCAzNjc2MTFkLi44ZDQ1M2VhIDEwMDY0NAotLS0tIGEvdXNyL2tpbml0L2ZzdHlwZS9LYnVpbGQKLSsrKyBiL3Vzci9raW5pdC9mc3R5cGUvS2J1aWxkCi1AQCAtMyw3ICszLDYgQEAKLSAjCi0gCi0gc3RhdGljLXkgOj0gc3RhdGljL2ZzdHlwZQotLXNoYXJlZC15IDo9IHNoYXJlZC9mc3R5cGUKLSAKLSAjIGNvbW1vbiAubyBmaWxlcwotIG9ianMgOj0gbWFpbi5vIGZzdHlwZS5vCi1AQCAtMTYsOCArMTUsNyBAQCBsaWIteSA6PSAkKG9ianMpCi0gCi0gIyAubyBmaWxlcyB1c2VkIHRvIGJ1aWx0IGV4ZWN1dGFibGVzCi0gc3RhdGljL2ZzdHlwZS15IDo9ICQob2JqcykKLS1zaGFyZWQvZnN0eXBlLXkgOj0gJChvYmpzKQotIAotICMgQ2xlYW5pbmcKLS1jbGVhbi1kaXJzIDo9IHN0YXRpYyBzaGFyZWQKLStjbGVhbi1kaXJzIDo9IHN0YXRpYwotIAotZGlmZiAtLWdpdCBhL3Vzci9raW5pdC9pcGNvbmZpZy9LYnVpbGQgYi91c3Iva2luaXQvaXBjb25maWcvS2J1aWxkCi1pbmRleCBlYjFkNDcyLi5lZjg3ZTdlIDEwMDY0NAotLS0tIGEvdXNyL2tpbml0L2lwY29uZmlnL0tidWlsZAotKysrIGIvdXNyL2tpbml0L2lwY29uZmlnL0tidWlsZAotQEAgLTMsNyArMyw2IEBACi0gIwotIAotIHN0YXRpYy15IDo9IHN0YXRpYy9pcGNvbmZpZwotLXNoYXJlZC15IDo9IHNoYXJlZC9pcGNvbmZpZwotIAotICMgY29tbW9uIC5vIGZpbGVzCi0gb2JqcyA6PSBtYWluLm8gbmV0ZGV2Lm8gcGFja2V0Lm8KLUBAIC0yMiw4ICsyMSw3IEBAIGxpYi15IDo9ICQob2JqcykKLSAKLSAjIC5vIGZpbGVzIHVzZWQgdG8gYnVpbHQgZXhlY3V0YWJsZXMKLSBzdGF0aWMvaXBjb25maWcteSA6PSAkKG9ianMpCi0tc2hhcmVkL2lwY29uZmlnLXkgOj0gJChvYmpzKQotIAotICMgQ2xlYW5pbmcKLS1jbGVhbi1kaXJzIDo9IHN0YXRpYyBzaGFyZWQKLStjbGVhbi1kaXJzIDo9IHN0YXRpYwotIAotZGlmZiAtLWdpdCBhL3Vzci9raW5pdC9uZnNtb3VudC9LYnVpbGQgYi91c3Iva2luaXQvbmZzbW91bnQvS2J1aWxkCi1pbmRleCBiYTMxNzA4Li4wMWJlZGNlIDEwMDY0NAotLS0tIGEvdXNyL2tpbml0L25mc21vdW50L0tidWlsZAotKysrIGIvdXNyL2tpbml0L25mc21vdW50L0tidWlsZAotQEAgLTQsNyArNCw2IEBACi0gCi0gc3RhdGljLXkgOj0gc3RhdGljL25mc21vdW50Ci0gI0ZJWE1FIC0gYnVpbGQgaXMgYnJva2VuIHN0YXRpYy15IDo9IGR1bW15cG1hcAotLXNoYXJlZC15IDo9IHNoYXJlZC9uZnNtb3VudAotIAotIG9ianMgOj0gbWFpbi5vIG1vdW50Lm8gcG9ydG1hcC5vIGR1bW15cG1hcC5vIHN1bnJwYy5vCi0gCi1AQCAtMTMsNyArMTIsNiBAQCBsaWIteSA6PSAkKG9ianMpCi0gCi0gIyAubyBmaWxlcyB1c2VkIGZvciBleGVjdXRhYmxlcwotIHN0YXRpYy9uZnNtb3VudC15IDo9ICQob2JqcykKLS1zaGFyZWQvbmZzbW91bnQteSA6PSAkKG9ianMpCi0gCi0gIyBkdW1teXBtYXAgdXNlcyBhIHNpbmdsZSAubyBmaWxlIChyZW5hbWUgc3JjIGZpbGU/KQotIGR1bW15cG1hcC15IDo9IGR1bW15cG1hcF90ZXN0Lm8KLUBAIC0yMSw1ICsxOSw1IEBAIGR1bW15cG1hcC15IDo9IGR1bW15cG1hcF90ZXN0Lm8KLSAjIFRPRE8gLSBkbyB3ZSB3YW50IGEgc3RyaXBwZWQgdmVyc2lvbgotICMgVE9ETyAtIGRvIHdlIHdhbnQgdGhlIHN0YXRpYy5nICsgc2hhcmVkLmcgZGlyZWN0b3JpZXM/Ci0gCi0tY2xlYW4tZGlycyA6PSBzdGF0aWMgc2hhcmVkCi0rY2xlYW4tZGlycyA6PSBzdGF0aWMKLSAKLWRpZmYgLS1naXQgYS91c3Iva2luaXQvcmVzdW1lL0tidWlsZCBiL3Vzci9raW5pdC9yZXN1bWUvS2J1aWxkCi1pbmRleCBjMTM0MmUxLi4xNWI5NTkwIDEwMDY0NAotLS0tIGEvdXNyL2tpbml0L3Jlc3VtZS9LYnVpbGQKLSsrKyBiL3Vzci9raW5pdC9yZXN1bWUvS2J1aWxkCi1AQCAtMyw3ICszLDYgQEAKLSAjCi0gCi0gc3RhdGljLXkgOj0gc3RhdGljL3Jlc3VtZQotLXNoYXJlZC15IDo9IHNoYXJlZC9yZXN1bWUKLSAKLSAjIGNvbW1vbiAubyBmaWxlcwotIG9ianMgOj0gcmVzdW1lLm8gcmVzdW1lbGliLm8KLUBAIC0yMCw5ICsxOSw3IEBAIEtMSUJDQ0ZMQUdTICs9IC1JJChzcmN0cmVlKS8kKHNyYykvLi4KLSAjIC5vIGZpbGVzIHVzZWQgdG8gYnVpbHQgZXhlY3V0YWJsZXMKLSBzdGF0aWMvcmVzdW1lLXkgICA6PSAkKG9ianMpCi0gc3RhdGljL3Jlc3VtZS1saWIgOj0gLi4vbGliLmEKLS1zaGFyZWQvcmVzdW1lLXkgICA6PSAkKG9ianMpCi0tc2hhcmVkL3Jlc3VtZS1saWIgOj0gLi4vbGliLmEKLSAKLSAjIENsZWFuaW5nCi0tY2xlYW4tZGlycyA6PSBzdGF0aWMgc2hhcmVkCi0rY2xlYW4tZGlycyA6PSBzdGF0aWMKLSAKLWRpZmYgLS1naXQgYS91c3Iva2luaXQvcnVuLWluaXQvS2J1aWxkIGIvdXNyL2tpbml0L3J1bi1pbml0L0tidWlsZAotaW5kZXggYzE1M2IwYS4uYTFlYTgzNCAxMDA2NDQKLS0tLSBhL3Vzci9raW5pdC9ydW4taW5pdC9LYnVpbGQKLSsrKyBiL3Vzci9raW5pdC9ydW4taW5pdC9LYnVpbGQKLUBAIC0zLDcgKzMsNiBAQAotICMKLSAKLSBzdGF0aWMteSA6PSBzdGF0aWMvcnVuLWluaXQKLS1zaGFyZWQteSA6PSBzaGFyZWQvcnVuLWluaXQKLSAKLSAjIGNvbW1vbiAubyBmaWxlcwotIG9ianMgOj0gcnVuLWluaXQubyBydW5pbml0bGliLm8KLUBAIC0yNCw5ICsyMyw3IEBAIEtMSUJDQ0ZMQUdTICs9IC1JJChzcmN0cmVlKS8kKHNyYykvLi4KLSAjIC5vIGZpbGVzIHVzZWQgdG8gYnVpbHQgZXhlY3V0YWJsZXMKLSBzdGF0aWMvcnVuLWluaXQteSAgIDo9ICQob2JqcykKLSBzdGF0aWMvcnVuLWluaXQtbGliIDo9IC4uL2xpYi5hCi0tc2hhcmVkL3J1bi1pbml0LXkgICA6PSAkKG9ianMpCi0tc2hhcmVkL3J1bi1pbml0LWxpYiA6PSAuLi9saWIuYQotIAotICMgQ2xlYW5pbmcKLS1jbGVhbi1kaXJzIDo9IHN0YXRpYyBzaGFyZWQKLStjbGVhbi1kaXJzIDo9IHN0YXRpYwotIAotZGlmZiAtLWdpdCBhL3Vzci91dGlscy9LYnVpbGQgYi91c3IvdXRpbHMvS2J1aWxkCi1pbmRleCA2N2Q5NDg2Li4xNTczMzYzIDEwMDY0NAotLS0tIGEvdXNyL3V0aWxzL0tidWlsZAotKysrIGIvdXNyL3V0aWxzL0tidWlsZAotQEAgLTcsNyArNyw2IEBAIHByb2dzICs9IHRydWUgZmFsc2Ugc2xlZXAgbG4gbXYgbnVrZSBtaW5pcHMgY2F0IGxzIGxvc2V0dXAKLSBwcm9ncyArPSB1bmFtZSBoYWx0IGtpbGwgcmVhZGxpbmsgY3BpbyBzeW5jIGRtZXNnCi0gCi0gc3RhdGljLXkgOj0gJChhZGRwcmVmaXggc3RhdGljLywgJChwcm9ncykpCi0tc2hhcmVkLXkgOj0gJChhZGRwcmVmaXggc2hhcmVkLywgJChwcm9ncykpCi0gCi0gIyBUaGUgYmluYXJ5IGlzIHBsYWNlZCBpbiBhIHN1YmRpciwgc28gd2UgbmVlZCB0byB0ZWxsIGtidWlsZCB0aGlzCi0gc3RhdGljL2Nocm9vdC15ICAgICA6PSBjaHJvb3QubwotQEAgLTYyLDEzICs2MSwxMSBAQCBzdGF0aWMvbG9zZXR1cC15ICAgIDo9IGxvc2V0dXAubwotIHNoYXJlZC9sb3NldHVwLXkgICAgOj0gbG9zZXR1cC5vCi0gCi0gIyBBZGRpdGlvbmFsbHkgbGlua2VkIHRhcmdldHMKLS1hbHdheXMgOj0gc3RhdGljL3JlYm9vdCBzdGF0aWMvcG93ZXJvZmYgc2hhcmVkL3JlYm9vdCBzaGFyZWQvcG93ZXJvZmYKLSthbHdheXMgOj0gc3RhdGljL3JlYm9vdCBzdGF0aWMvcG93ZXJvZmYKLSAKLSAkKG9iaikvc3RhdGljL3JlYm9vdCAkKG9iaikvc3RhdGljL3Bvd2Vyb2ZmOiAkKG9iaikvc3RhdGljL2hhbHQKLSAJJChjYWxsIGNtZCxsbikKLS0kKG9iaikvc2hhcmVkL3JlYm9vdCAkKG9iaikvc2hhcmVkL3Bvd2Vyb2ZmOiAkKG9iaikvc2hhcmVkL2hhbHQKLS0JJChjYWxsIGNtZCxsbikKLSAKLSAjIENsZWFuIGRlbGV0ZXMgdGhlIHN0YXRpYyBhbmQgc2hhcmVkIGRpcgotLWNsZWFuLWRpcnMgOj0gc3RhdGljIHNoYXJlZAotK2NsZWFuLWRpcnMgOj0gc3RhdGljCi0gCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvYXJtdjQtZml4LXY0YngucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40L2FybXY0LWZpeC12NGJ4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlODQyMzUzLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvYXJtdjQtZml4LXY0YngucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1Gcm9tIGQyZmI0ODRkOTk1MjIxMjc3Y2NlN2FiZGRjZDdkZmEwZThiY2VlYzMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbmRyZWEgQWRhbWkgPGFuZHJlYS5hZGFtaUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDExIEphbiAyMDEzIDE3OjI2OjQwICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGtsaWJjXzIuMC4yOiBhcHBseSBGSVhfVjRCWCBwYXRjaCBmb3IgYXJtdjQgdGFyZ2V0cyBvbmx5Ci0KLVN0YXR1czogbm90IGFwcGxpY2FibGUgdXBzdHJlYW0sIGluIE9FL1lvY3RvIHdlIHVzZSAkKEZJWF9WNEJYKQotd2hpY2ggaXMgIiIgaW4gY2FzZSBvZiBhcm12NSBvciB0aHVtYnMuCi0KLVNpZ25lZC1vZmYtYnk6IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KLQotLS0tCi0gdXNyL2tsaWJjL2FyY2gvYXJtL01DT05GSUcgfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL3Vzci9rbGliYy9hcmNoL2FybS9NQ09ORklHIGIvdXNyL2tsaWJjL2FyY2gvYXJtL01DT05GSUcKLWluZGV4IDUzYmMxZGMuLjMwM2M2YWMgMTAwNjQ0Ci0tLS0gYS91c3Iva2xpYmMvYXJjaC9hcm0vTUNPTkZJRwotKysrIGIvdXNyL2tsaWJjL2FyY2gvYXJtL01DT05GSUcKLUBAIC0yOSw2ICsyOSw3IEBAIGVsc2UKLSBLTElCQ1NIQVJFREZMQUdTID0gLVR0ZXh0IDB4MDE4MDAyMDAKLSBpZmVxICgkKENPTkZJR19BRUFCSSkseSkKLSBLTElCQ1JFUUZMQUdTICs9IC1tYWJpPWFhcGNzLWxpbnV4IC1tbm8tdGh1bWItaW50ZXJ3b3JrCi0rS0xJQkNMREZMQUdTICs9ICQoRklYX0FSTVY0X0VBQklfQlgpCi0gZWxzZQotIEtMSUJDUkVRRkxBR1MgKz0gLW1hYmk9YXBjcy1nbnUgLW1uby10aHVtYi1pbnRlcndvcmsKLSBlbmRpZgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC9rbGliYy1jb25maWctZWFiaS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQva2xpYmMtY29uZmlnLWVhYmkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYyOGNkNTQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC9rbGliYy1jb25maWctZWFiaS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLUZyb20gMTExOGNjOTcxOTE3YWJlMTlkZGIwMjlhYTgwNDE3ZjZmZDZiYjM0MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFRob21hcyBLdW56ZSA8dGhvbW15Y2hlY2tAZ214LmRlPgotRGF0ZTogU2F0LCA2IEF1ZyAyMDExIDA1OjMwOjE0ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGtsaWJjOiBpbml0aWFsIGNvbW1pdCBvZiB2ZXJzaW9uIDEuNS4yNAotCi1QYXRjaCB3YXMgaW1wb3J0ZWQgZnJvbSB0aGUgT3BlbkVtYmVkZGVkIGdpdCBzZXJ2ZXIKLShnaXQ6Ly9naXQub3BlbmVtYmVkZGVkLm9yZy9vcGVuZW1iZWRkZWQpCi1hcyBvZiBjb21taXQgaWQgYjY3NjRjZjMyZWM5MzU0NzUzMTEzMGRjYTM2NGZiOTVlMWM0OTVmNAotU2lnbmVkLW9mZi1ieTogVGhvbWFzIEt1bnplIDx0aG9tbXljaGVja0BnbXguZGU+Ci0KLS0tLQotIGRlZmNvbmZpZyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2RlZmNvbmZpZyBiL2RlZmNvbmZpZwotaW5kZXggMDRiOThlOS4uMGNiMjNkMCAxMDA2NDQKLS0tLSBhL2RlZmNvbmZpZwotKysrIGIvZGVmY29uZmlnCi1AQCAtNiw0ICs2LDQgQEAgQ09ORklHX0tMSUJDX1pMSUI9eQotIENPTkZJR19SRUdQQVJNPXkKLSAjIEFSTSBvcHRpb25zCi0gIyBDT05GSUdfS0xJQkNfVEhVTUIgaXMgbm90IHNldAotLSMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKLStDT05GSUdfQUVBQkk9eQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC9rbGliYy1saW51eC1saWJjLWRldi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQva2xpYmMtbGludXgtbGliYy1kZXYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE1NTYzYjcuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC9rbGliYy1saW51eC1saWJjLWRldi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLUZyb20gMWJlMmJjNDFmOTE1OTIyMTAyYTNiYTY3MWI1NGMyZGY2ZjAwNTJlNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEJlbiBIdXRjaGluZ3MgPGJlbkBkZWNhZGVudC5vcmcudWs+Ci1EYXRlOiBTdW4sIDE0IE1hciAyMDEwIDE4OjQxOjU2ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGtsaWJjXzEuNS4yNjogbm93IGJ1aWxkIGFnYWluc3QgbGludXgtbGliYy1oZWFkZXJzCi0KLWNvbW1pdCA0M2FkZjY5MDYyMjU0ZmI0ZjhkNGQxMWZiNWZlMzZhNjBhZTI1ZDVhCi0KLSAgICBUYWtlbiBmcm9tIGRlYmlhbiAiRml4IGtsaWJjIERlYmlhbiBzcGVjaWZpYyBidWlsZCB0cm91YmxlIgotICAgIEFkYXB0ZWQgZm9yIGtsaWJjXzIuMC4yCi0KLS0tLQotIHNjcmlwdHMvS2J1aWxkLmluc3RhbGwgfCA0ICsrKy0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zY3JpcHRzL0tidWlsZC5pbnN0YWxsIGIvc2NyaXB0cy9LYnVpbGQuaW5zdGFsbAotaW5kZXggOGFmNTY5Ny4uZDMyYThhNSAxMDA2NDQKLS0tLSBhL3NjcmlwdHMvS2J1aWxkLmluc3RhbGwKLSsrKyBiL3NjcmlwdHMvS2J1aWxkLmluc3RhbGwKLUBAIC05NSw3ICs5NSw5IEBAIGhlYWRlcjoKLSAJJChRKW1rZGlyIC1wICQoSU5TVEFMTFJPT1QpJChJTlNUQUxMRElSKS8kKEtDUk9TUylpbmNsdWRlCi0gCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpbGliCi0gCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpYmluCi0tCSQoUSkkKE1BS0UpIC1DICQoS0xJQkNLRVJORUxTUkMpIEFSQ0g9JChLTElCQ0FSQ0gpIElOU1RBTExfSERSX1BBVEg9JChJTlNUQUxMUk9PVCkkKElOU1RBTExESVIpLyQoS0NST1NTKSBoZWFkZXJzX2luc3RhbGwKLSsJJChRKWZvciB4IGluIC4uLy4uLy4uL2luY2x1ZGUvYXNtIC4uLy4uLy4uL2luY2x1ZGUvYXNtLWdlbmVyaWMgLi4vLi4vLi4vaW5jbHVkZS9saW51eCAuLi8uLi8uLi9pbmNsdWRlL210ZDsgZG8gXAotKwkJbG4gLXNmICQke3h9ICQoSU5TVEFMTFJPT1QpJChJTlNUQUxMRElSKS8kKEtDUk9TUylpbmNsdWRlLyB8fCBleGl0OyBcCi0rCWRvbmUKLSAJJChRKWNwIC1yZiB1c3IvaW5jbHVkZS8uICQoSU5TVEFMTFJPT1QpJChJTlNUQUxMRElSKS8kKEtDUk9TUylpbmNsdWRlLy4KLSAJJChRKWNobW9kIC1SIGErclgsZ28tdyAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpaW5jbHVkZQotIAkkKFEpJChpbnN0YWxsLWRhdGEpICQoc3JjdHJlZSkva2xjYy9rbGNjLjEgJChJTlNUQUxMUk9PVCkkKG1hbmRpcikvbWFuMS8kKEtDUk9TUylrbGNjLjEKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvc3RhZ2luZy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvc3RhZ2luZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWM3YTY2Mi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40L3N0YWdpbmcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNTEgKzAsMCBAQAotRnJvbSAxODkyMDc5YjgyN2NmOGY4MzE2MzA1YjZkNmUwOTg1ZGI4MjQ0MWEyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVGhvbWFzIEt1bnplIDx0aG9tbXljaGVja0BnbXguZGU+Ci1EYXRlOiBTYXQsIDYgQXVnIDIwMTEgMDU6MzA6MTQgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0ga2xpYmM6IGluaXRpYWwgY29tbWl0IG9mIHZlcnNpb24gMS41LjI0Ci0KLVBhdGNoIHdhcyBpbXBvcnRlZCBmcm9tIHRoZSBPcGVuRW1iZWRkZWQgZ2l0IHNlcnZlcgotKGdpdDovL2dpdC5vcGVuZW1iZWRkZWQub3JnL29wZW5lbWJlZGRlZCkKLWFzIG9mIGNvbW1pdCBpZCBlZWZiOTlhMzEzYmJjYzhmMzRjOGIzMmJmMGM1YWEyZGQyNTgwNzM1Ci1TaWduZWQtb2ZmLWJ5OiBUaG9tYXMgS3VuemUgPHRob21teWNoZWNrQGdteC5kZT4KLQotTWlub3IgZWRpdHMgZm9sbG93aW5nIHVwc3RyZWFtIGNoYW5nZXMKLVNpZ25lZC1vZmYtYnk6IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KLQotLS0tCi0gc2NyaXB0cy9LYnVpbGQuaW5zdGFsbCAgICB8IDQgLS0tLQotIHVzci9kYXNoL0tidWlsZCAgICAgICAgICAgfCAyIC0tCi0gdXNyL2d6aXAvS2J1aWxkICAgICAgICAgICB8IDIgLS0KLSB1c3Iva2luaXQvS2J1aWxkICAgICAgICAgIHwgMiAtLQotIHVzci9raW5pdC9mc3R5cGUvS2J1aWxkICAgfCAyIC0tCi0gdXNyL2tpbml0L2lwY29uZmlnL0tidWlsZCB8IDIgLS0KLSB1c3Iva2luaXQvbmZzbW91bnQvS2J1aWxkIHwgMiAtLQotIHVzci9raW5pdC9yZXN1bWUvS2J1aWxkICAgfCAyIC0tCi0gdXNyL2tpbml0L3J1bi1pbml0L0tidWlsZCB8IDIgLS0KLSB1c3Iva2xpYmMvS2J1aWxkICAgICAgICAgIHwgMiAtLQotIHVzci91dGlscy9LYnVpbGQgICAgICAgICAgfCAyIC0tCi0gMTEgZmlsZXMgY2hhbmdlZCwgMjQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zY3JpcHRzL0tidWlsZC5pbnN0YWxsIGIvc2NyaXB0cy9LYnVpbGQuaW5zdGFsbAotaW5kZXggZDMyYThhNS4uZmRhNjk5ZCAxMDA2NDQKLS0tLSBhL3NjcmlwdHMvS2J1aWxkLmluc3RhbGwKLSsrKyBiL3NjcmlwdHMvS2J1aWxkLmluc3RhbGwKLUBAIC04OCwxOSArODgsMTUgQEAgZWxzZQotIGhlYWRlcjoKLSAJJChRKWVjaG8gIiAgSU5TVEFMTCBoZWFkZXJzICsgbWFuIHBhZ2VzIHRvICQoSU5TVEFMTFJPT1QpJChJTlNUQUxMRElSKSIKLSAJJChRKW1rZGlyIC1wICQoSU5TVEFMTFJPT1QpJChiaW5kaXIpCi0tCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQobWFuZGlyKS9tYW4xCi0tCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQoU0hMSUJESVIpCi0gCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikKLSAJJChRKS1ybSAtcmYgJChJTlNUQUxMUk9PVCkkKElOU1RBTExESVIpLyQoS0NST1NTKWluY2x1ZGUKLSAJJChRKW1rZGlyIC1wICQoSU5TVEFMTFJPT1QpJChJTlNUQUxMRElSKS8kKEtDUk9TUylpbmNsdWRlCi0gCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpbGliCi0tCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpYmluCi0gCSQoUSlmb3IgeCBpbiAuLi8uLi8uLi9pbmNsdWRlL2FzbSAuLi8uLi8uLi9pbmNsdWRlL2FzbS1nZW5lcmljIC4uLy4uLy4uL2luY2x1ZGUvbGludXggLi4vLi4vLi4vaW5jbHVkZS9tdGQ7IGRvIFwKLSAJCWxuIC1zZiAkJHt4fSAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpaW5jbHVkZS8gfHwgZXhpdDsgXAotIAlkb25lCi0gCSQoUSljcCAtcmYgdXNyL2luY2x1ZGUvLiAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpaW5jbHVkZS8uCi0gCSQoUSljaG1vZCAtUiBhK3JYLGdvLXcgJChJTlNUQUxMUk9PVCkkKElOU1RBTExESVIpLyQoS0NST1NTKWluY2x1ZGUKLS0JJChRKSQoaW5zdGFsbC1kYXRhKSAkKHNyY3RyZWUpL2tsY2Mva2xjYy4xICQoSU5TVEFMTFJPT1QpJChtYW5kaXIpL21hbjEvJChLQ1JPU1Mpa2xjYy4xCi0gCSQoUSkkKGluc3RhbGwtYmluKSAkKG9ianRyZWUpL2tsY2MvJChLQ1JPU1Mpa2xjYyAkKElOU1RBTExST09UKSQoYmluZGlyKQotIAotIGZvb3RlcjogaGVhZGVyCi1kaWZmIC0tZ2l0IGEvdXNyL2Rhc2gvS2J1aWxkIGIvdXNyL2Rhc2gvS2J1aWxkCi1pbmRleCAzYTk4YzFmLi4xYTY5MjBhIDEwMDY0NAotLS0tIGEvdXNyL2Rhc2gvS2J1aWxkCi0rKysgYi91c3IvZGFzaC9LYnVpbGQKLUBAIC05Miw1ICs5MiwzIEBAICQob2JqKS9zeW50YXguYzogJChvYmopL21rc3ludGF4Ci0gJChvYmopL3N5bnRheC5oOiAkKG9iaikvc3ludGF4LmMKLSAJJChRKToKLSAKLS0jIFRhcmdldHMgdG8gaW5zdGFsbAotLWluc3RhbGwteSA6PSBzaC5zaGFyZWQKLWRpZmYgLS1naXQgYS91c3IvZ3ppcC9LYnVpbGQgYi91c3IvZ3ppcC9LYnVpbGQKLWluZGV4IDliYmYwYTQuLmM0OTdkMDIgMTAwNjQ0Ci0tLS0gYS91c3IvZ3ppcC9LYnVpbGQKLSsrKyBiL3Vzci9nemlwL0tidWlsZAotQEAgLTIxLDUgKzIxLDMgQEAgJChvYmopL2d1bnppcCAkKG9iaikvemNhdDogJChvYmopL2d6aXAKLSAjIENsZWFuaW5nCi0gdGFyZ2V0cyA6PSBnemlwIGd6aXAuZyBndW56aXAgemNhdAotIAotLSMgVGFyZ2V0cyB0byBpbnN0YWxsCi0taW5zdGFsbC15IDo9IGd6aXAgZ3VuemlwIHpjYXQKLWRpZmYgLS1naXQgYS91c3Iva2luaXQvS2J1aWxkIGIvdXNyL2tpbml0L0tidWlsZAotaW5kZXggNTMyMDEyNy4uZjdmZGNjZCAxMDA2NDQKLS0tLSBhL3Vzci9raW5pdC9LYnVpbGQKLSsrKyBiL3Vzci9raW5pdC9LYnVpbGQKLUBAIC0zMyw1ICszMywzIEBAIHRhcmdldHMgKz0ga2luaXQga2luaXQuZyBraW5pdC5zaGFyZWQga2luaXQuc2hhcmVkLmcKLSBzdWJkaXItIDo9IGZzdHlwZSBpcGNvbmZpZyBuZnNtb3VudCByZXN1bWUgcnVuLWluaXQKLSAKLSAKLS0jIGluc3RhbGwgYmluYXJ5Ci0taW5zdGFsbC15IDo9IGtpbml0IGtpbml0LnNoYXJlZAotZGlmZiAtLWdpdCBhL3Vzci9raW5pdC9mc3R5cGUvS2J1aWxkIGIvdXNyL2tpbml0L2ZzdHlwZS9LYnVpbGQKLWluZGV4IDliMjBkYjEuLjM2NzYxMWQgMTAwNjQ0Ci0tLS0gYS91c3Iva2luaXQvZnN0eXBlL0tidWlsZAotKysrIGIvdXNyL2tpbml0L2ZzdHlwZS9LYnVpbGQKLUBAIC0yMSw1ICsyMSwzIEBAIHNoYXJlZC9mc3R5cGUteSA6PSAkKG9ianMpCi0gIyBDbGVhbmluZwotIGNsZWFuLWRpcnMgOj0gc3RhdGljIHNoYXJlZAotIAotLSMgaW5zdGFsbCBiaW5hcnkKLS1pbnN0YWxsLXkgOj0gJChzaGFyZWQteSkKLWRpZmYgLS1naXQgYS91c3Iva2luaXQvaXBjb25maWcvS2J1aWxkIGIvdXNyL2tpbml0L2lwY29uZmlnL0tidWlsZAotaW5kZXggN2Y4ZDE4MS4uZWIxZDQ3MiAxMDA2NDQKLS0tLSBhL3Vzci9raW5pdC9pcGNvbmZpZy9LYnVpbGQKLSsrKyBiL3Vzci9raW5pdC9pcGNvbmZpZy9LYnVpbGQKLUBAIC0yNyw1ICsyNywzIEBAIHNoYXJlZC9pcGNvbmZpZy15IDo9ICQob2JqcykKLSAjIENsZWFuaW5nCi0gY2xlYW4tZGlycyA6PSBzdGF0aWMgc2hhcmVkCi0gCi0tIyBpbnN0YWxsIGJpbmFyeQotLWluc3RhbGwteSA6PSAkKHNoYXJlZC15KQotZGlmZiAtLWdpdCBhL3Vzci9raW5pdC9uZnNtb3VudC9LYnVpbGQgYi91c3Iva2luaXQvbmZzbW91bnQvS2J1aWxkCi1pbmRleCA0NjFlNmYzLi5iYTMxNzA4IDEwMDY0NAotLS0tIGEvdXNyL2tpbml0L25mc21vdW50L0tidWlsZAotKysrIGIvdXNyL2tpbml0L25mc21vdW50L0tidWlsZAotQEAgLTIzLDUgKzIzLDMgQEAgZHVtbXlwbWFwLXkgOj0gZHVtbXlwbWFwX3Rlc3QubwotIAotIGNsZWFuLWRpcnMgOj0gc3RhdGljIHNoYXJlZAotIAotLSMgSW5zdGFsbCBiaW5hcnkKLS1pbnN0YWxsLXkgOj0gJChzaGFyZWQteSkKLWRpZmYgLS1naXQgYS91c3Iva2luaXQvcmVzdW1lL0tidWlsZCBiL3Vzci9raW5pdC9yZXN1bWUvS2J1aWxkCi1pbmRleCAwMzQxOTVkLi5jMTM0MmUxIDEwMDY0NAotLS0tIGEvdXNyL2tpbml0L3Jlc3VtZS9LYnVpbGQKLSsrKyBiL3Vzci9raW5pdC9yZXN1bWUvS2J1aWxkCi1AQCAtMjYsNSArMjYsMyBAQCBzaGFyZWQvcmVzdW1lLWxpYiA6PSAuLi9saWIuYQotICMgQ2xlYW5pbmcKLSBjbGVhbi1kaXJzIDo9IHN0YXRpYyBzaGFyZWQKLSAKLS0jIGluc3RhbGwgYmluYXJ5Ci0taW5zdGFsbC15IDo9ICQoc2hhcmVkLXkpCi1kaWZmIC0tZ2l0IGEvdXNyL2tpbml0L3J1bi1pbml0L0tidWlsZCBiL3Vzci9raW5pdC9ydW4taW5pdC9LYnVpbGQKLWluZGV4IGY3ODMyYjcuLmMxNTNiMGEgMTAwNjQ0Ci0tLS0gYS91c3Iva2luaXQvcnVuLWluaXQvS2J1aWxkCi0rKysgYi91c3Iva2luaXQvcnVuLWluaXQvS2J1aWxkCi1AQCAtMzAsNSArMzAsMyBAQCBzaGFyZWQvcnVuLWluaXQtbGliIDo9IC4uL2xpYi5hCi0gIyBDbGVhbmluZwotIGNsZWFuLWRpcnMgOj0gc3RhdGljIHNoYXJlZAotIAotLSMgaW5zdGFsbCBiaW5hcnkKLS1pbnN0YWxsLXkgOj0gJChzaGFyZWQteSkKLWRpZmYgLS1naXQgYS91c3Iva2xpYmMvS2J1aWxkIGIvdXNyL2tsaWJjL0tidWlsZAotaW5kZXggZWJhNmFkZC4uOThjYWYyZSAxMDA2NDQKLS0tLSBhL3Vzci9rbGliYy9LYnVpbGQKLSsrKyBiL3Vzci9rbGliYy9LYnVpbGQKLUBAIC0xODUsNSArMTg1LDMgQEAgaW5zdGFsbC1ydWxlOgotIAkgICAgICAgICAgJChJTlNUQUxMUk9PVCkkKElOU1RBTExESVIpLyQoS0xJQkNDUk9TUylsaWIpKQotIAkkKFEpJChpbnN0YWxsLWxpYikgJChvYmopL2tsaWJjLSQoU09MSUJIQVNIKS5zbyBcCi0gCSAgICAgICAgICAgICAgICAgICAgICAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLTElCQ0NST1NTKWxpYgotLQkkKFEpJChpbnN0YWxsLWxpYikgJChvYmopL2tsaWJjLSQoU09MSUJIQVNIKS5zbyBcCi0tCSAgICAgICAgICAgICAgICAgICAgICAkKElOU1RBTExST09UKSQoU0hMSUJESVIpCi1kaWZmIC0tZ2l0IGEvdXNyL3V0aWxzL0tidWlsZCBiL3Vzci91dGlscy9LYnVpbGQKLWluZGV4IDA1YWE3OTQuLjY3ZDk0ODYgMTAwNjQ0Ci0tLS0gYS91c3IvdXRpbHMvS2J1aWxkCi0rKysgYi91c3IvdXRpbHMvS2J1aWxkCi1AQCAtNzIsNSArNzIsMyBAQCAkKG9iaikvc2hhcmVkL3JlYm9vdCAkKG9iaikvc2hhcmVkL3Bvd2Vyb2ZmOiAkKG9iaikvc2hhcmVkL2hhbHQKLSAjIENsZWFuIGRlbGV0ZXMgdGhlIHN0YXRpYyBhbmQgc2hhcmVkIGRpcgotIGNsZWFuLWRpcnMgOj0gc3RhdGljIHNoYXJlZAotIAotLSMgaW5zdGFsbCBvbmx5IGluc3RhbGwgdGhlIHNoYXJlZCBiaW5hcmllcwotLWluc3RhbGwteSA6PSAkKHNoYXJlZC15KSBzaGFyZWQvcmVib290IHNoYXJlZC9wb3dlcm9mZgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy1zdGF0aWMtdXRpbHNfMi4wLjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXN0YXRpYy11dGlsc18yLjAuNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTY3Nzg2My4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXN0YXRpYy11dGlsc18yLjAuNC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLVNVTU1BUlkgPSAia2xpYmMgdXRpbHMgZm9yIGluaXRyYW1mcyBzdGF0aWNhbGx5IGNvbXBpbGVkIgotCi1GSUxFU1BBVEggPS4gIiR7RklMRV9ESVJOQU1FfS9rbGliYy0ke1BWfToiCi0KLVBBQ0tBR0VTID0gIiR7UE59IgotRklMRVNfJHtQTn0gPSAiIgotCi1LTElCQ19VVElMU19WQVJJQU5UID0gInN0YXRpYyIKLUtMSUJDX1VUSUxTX1BLR05BTUUgPSAia2xpYmMtc3RhdGljLXV0aWxzIgotCi1yZXF1aXJlIGtsaWJjLXV0aWxzLmluYwotcmVxdWlyZSBrbGliYy5pbmMKLQotU1JDX1VSSSArPSAiZmlsZTovLzAwMDEta2xpYmMtc3RhdGljLXV0aWxzLWRvLW5vdC1idWlsZC1zaGFyZWQtYmluYXJpZXMucGF0Y2giCi0KLSMgYXZvaWQgdGV4dHJlbCBpZiBsaW5raW5nIHdpdGggLXBpZQotU0VDVVJJVFlfQ0ZMQUdTID0gIiIKLVNFQ1VSSVRZX0xERkxBR1MgPSAiIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy1zdGF0aWMtdXRpbHNfMi4wLjYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXN0YXRpYy11dGlsc18yLjAuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jODM1ZmQ2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy1zdGF0aWMtdXRpbHNfMi4wLjYuYmIKQEAgLTAsMCArMSwxMiBAQAorU1VNTUFSWSA9ICJrbGliYyB1dGlscyBmb3IgaW5pdHJhbWZzIHN0YXRpY2FsbHkgY29tcGlsZWQiCisKK0ZJTEVTUEFUSCA9LiAiJHtGSUxFX0RJUk5BTUV9L2tsaWJjLSR7UFZ9OiIKKworUEFDS0FHRVMgPSAiJHtQTn0iCitGSUxFU18ke1BOfSA9ICIiCisKK0tMSUJDX1VUSUxTX1ZBUklBTlQgPSAic3RhdGljIgorS0xJQkNfVVRJTFNfUEtHTkFNRSA9ICJrbGliYy1zdGF0aWMtdXRpbHMiCisKK3JlcXVpcmUga2xpYmMtdXRpbHMuaW5jCityZXF1aXJlIGtsaWJjLmluYwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy11dGlscy5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXV0aWxzLmluYwppbmRleCAyYWFjOWU2Li4wMGNiODZkIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXV0aWxzLmluYworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXV0aWxzLmluYwpAQCAtMiwxMSArMiwxMSBAQAogICAgIGluc3RhbGwgLWQgJHtEfSR7YmFzZV9iaW5kaXJ9CiAgICAgaW5zdGFsbCAtZCAke0R9JHtiYXNlX3NiaW5kaXJ9CiAgICAgaWYgWyAiJHtLTElCQ19VVElMU19WQVJJQU5UfSIgPSAic2hhcmVkIiBdOyB0aGVuCi0gICAgICAgIGluc3RhbGwgLW0gNzU1IHVzci9raW5pdC9raW5pdC5zaGFyZWQgJHtEfSR7YmFzZV9iaW5kaXJ9L2tpbml0LnNoYXJlZAotICAgICAgICBpbnN0YWxsIC1tIDc1NSB1c3IvZGFzaC9zaC5zaGFyZWQgJHtEfSR7YmFzZV9iaW5kaXJ9L3NoLnNoYXJlZAorICAgICAgICBpbnN0YWxsIC1tIDc1NSB1c3Iva2luaXQvc2hhcmVkL2tpbml0ICR7RH0ke2Jhc2VfYmluZGlyfS9raW5pdC5zaGFyZWQKKyAgICAgICAgaW5zdGFsbCAtbSA3NTUgdXNyL2Rhc2gvc2hhcmVkL3NoICR7RH0ke2Jhc2VfYmluZGlyfS9zaC5zaGFyZWQKICAgICBlbHNlCi0gICAgICAgIGluc3RhbGwgLW0gNzU1IHVzci9kYXNoL3NoICR7RH0ke2Jhc2VfYmluZGlyfS9zaAotICAgICAgICBpbnN0YWxsIC1tIDc1NSB1c3Iva2luaXQva2luaXQgJHtEfSR7YmFzZV9iaW5kaXJ9L2tpbml0CisgICAgICAgIGluc3RhbGwgLW0gNzU1IHVzci9kYXNoL3N0YXRpYy9zaCAke0R9JHtiYXNlX2JpbmRpcn0vc2gKKyAgICAgICAgaW5zdGFsbCAtbSA3NTUgdXNyL2tpbml0L3N0YXRpYy9raW5pdCAke0R9JHtiYXNlX2JpbmRpcn0va2luaXQKICAgICAgICAgaW5zdGFsbCAtbSA3NTUgdXNyL2d6aXAvZ3ppcCAke0R9JHtiYXNlX2JpbmRpcn0KICAgICAgICAgbG4gLXMgZ3ppcCAke0R9JHtiYXNlX2JpbmRpcn0vZ3VuemlwCiAgICAgICAgIGxuIC1zIGd6aXAgJHtEfSR7YmFzZV9iaW5kaXJ9L3pjYXQKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtdXRpbHNfMi4wLjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXV0aWxzXzIuMC42LmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXV0aWxzXzIuMC40LmJiCnJlbmFtZSB0byBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXV0aWxzXzIuMC42LmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMuaW5jCmluZGV4IGVjNTJlOTcuLjU4MDU0NDggMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMuaW5jCkBAIC01LDEyICs1LDEwIEBACiBMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSAmIEdQTC0yLjAgJiBNSVQgJiBabGliIgogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vdXNyL2tsaWJjL0xJQ0VOU0U7bWQ1PWQ3NTE4MWYxMGU5OThjMjFlYjE0N2Y2ZDJlNDNjZThiIgogREVQRU5EUyA9ICJsaW51eC1saWJjLWhlYWRlcnMgcGVybC1uYXRpdmUiCi1TUkNSRVYgPSAiNGQxOTk3NGQ3MDIwNDg4ZjYzNjUxMjQ0ZTFmOWY1MTcyN2MzZjY2YyIKK1NSQ1JFViA9ICIyMmIzNmQxYWUzNDQxNmJjNDg4Njk2MTljYmIwY2NjYjIwNzBmNDhmIgogCiBTUkNfVVJJID0gImdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGlicy9rbGliYy9rbGliYy5naXQgXAogICAgICAgICAgICAke0FSTVBBVENIRVN9IFwKLSAgICAgICAgICAgZmlsZTovL2tsaWJjLWxpbnV4LWxpYmMtZGV2LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3N0YWdpbmcucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8va2xjYy1jb25zaWRlci1zeXNyb290LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL2tsY2MtY3Jvc3MtYWNjZXB0LWNsYW5nLW9wdGlvbnMucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1kYXNoLVNwZWNpZnktZm9ybWF0LXN0cmluZy1pbi1mbXRzdHIucGF0Y2ggXApAQCAtNDgsOCArNDYsNiBAQAogICAgICAgICAgICAgICAgICdLTElCQ09QVEZMQUdTPSR7VFVORV9DQ0FSR1N9IC1PcycgXAogICAgICAgICAgICAgICAgICBWPTEgXAogICAgICAgICAgICAgICAgICIKLUVYVFJBX09FTUFLRSArPSAiJ0VYVFJBX0tMSUJDQUZMQUdTPSR7U0VDVVJJVFlfQ0ZMQUdTfSAtV2EsLS1ub2V4ZWNzdGFjaycgXAotICAgICAgICAgICAgICAgICAnRVhUUkFfS0xJQkNMREZMQUdTPSR7U0VDVVJJVFlfTERGTEFHU30gLXogbm9leGVjc3RhY2snIgogCiBleHBvcnQgRklYX0FSTVY0X0VBQklfQlggPSAiJHtGSVhfVjRCWH0iCiBLTElCQ1RIVU1CID0gIiR7QFsnQ09ORklHX0tMSUJDX1RIVU1CPW4nLCAnQ09ORklHX0tMSUJDX1RIVU1CPXknXVsoZC5nZXRWYXIoJ0FSTV9JTlNUUlVDVElPTl9TRVQnKSA9PSAndGh1bWInKV19IgpAQCAtNzYsMTAgKzcyLDMgQEAKIEtMSUJDX0FSQ0hfcG93ZXJwYyA9ICJwcGMiCiBLTElCQ19BUkNIX3Bvd2VycGM2NCA9ICJwcGM2NCIKIFRISVNfTElCS0xJQkMgPSAibGlia2xpYmMgKD0gJHtQVn0tJHtQUn0pIgotCi1HQ0NQSUUgPz0gIiIKLVNFQ1VSSVRZX0xERkxBR1MgPSAiJHtAJy16IHJlbHJvIC16IG5vdyAtcGllJyBpZiAnJHtHQ0NQSUV9JyBlbHNlICcnfSIKLVNFQ1VSSVRZX0xERkxBR1NfbWlwcyA9ICIiCi1TRUNVUklUWV9MREZMQUdTX21pcHNlbCA9ICIiCi1TRUNVUklUWV9MREZMQUdTX21pcHM2NCA9ICIiCi1TRUNVUklUWV9MREZMQUdTX21pcHM2NGVsID0gIiIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmNfMi4wLjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjXzIuMC40LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYzgwZjM4Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmNfMi4wLjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1TVU1NQVJZID0gImtsaWJjLCBhIHNtYWxsIEMgbGlicmFyeSBmb3IgdXNlIHdpdGggaW5pdHJhbWZzIgotCi1kb19pbnN0YWxsKCkgewotICAgIG9lX3J1bm1ha2UgaW5zdGFsbAotICAgICMgdGhlIGNyb3NzY29tcGlsZXIgaXMgcGFja2FnZWQgYnkga2xjYy1jcm9zcwotICAgICMgcmVtb3ZlIGtsY2MKLSAgICBybSAke0R9JHtiaW5kaXJ9L2tsY2MKLSAgICAjIHJlbW92ZSBub3cgZW1wdHkgZGlyCi0gICAgcm1kaXIgJHtEfSR7YmluZGlyfQotICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfQotICAgIGluc3RhbGwgLW0gNzU1IHVzci9rbGliYy9rbGliYy0qLnNvICR7RH0ke2xpYmRpcn0KLSAgICAoY2QgICR7RH0ke2xpYmRpcn07IGxuIC1zIGtsaWJjLSouc28ga2xpYmMuc28pCi19Ci0KLVBBQ0tBR0VTID0gImxpYmtsaWJjIGxpYmtsaWJjLXN0YXRpY2RldiBsaWJrbGliYy1kZXYiCi0KLUZJTEVTX2xpYmtsaWJjID0gIiR7bGliZGlyfS9rbGliYy0qLnNvIgotRklMRVNfbGlia2xpYmMtc3RhdGljZGV2ID0gIiR7bGliZGlyfS9rbGliYy9saWIvbGliYy5hIgotRklMRVNfbGlia2xpYmMtZGV2ID0gIiR7bGliZGlyfS9rbGliYy5zbyBcCi0gICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2tsaWJjL2xpYi8qIFwKLSAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0va2xpYmMvaW5jbHVkZS8qIFwKLSAgICAgICAgICAgICAgICAgICAgICAiCi0KLXJlcXVpcmUga2xpYmMuaW5jCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjXzIuMC42LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliY18yLjAuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZGYwYjBhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliY18yLjAuNi5iYgpAQCAtMCwwICsxLDI2IEBACitTVU1NQVJZID0gImtsaWJjLCBhIHNtYWxsIEMgbGlicmFyeSBmb3IgdXNlIHdpdGggaW5pdHJhbWZzIgorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbAorICAgICMgdGhlIGNyb3NzY29tcGlsZXIgaXMgcGFja2FnZWQgYnkga2xjYy1jcm9zcworICAgICMgcmVtb3ZlIGtsY2MKKyAgICBybSAke0R9JHtiaW5kaXJ9L2tsY2MKKyAgICAjIHJlbW92ZSBub3cgZW1wdHkgZGlyCisgICAgcm1kaXIgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfQorICAgIGluc3RhbGwgLW0gNzU1IHVzci9rbGliYy9rbGliYy0qLnNvICR7RH0ke2xpYmRpcn0KKyAgICAoY2QgICR7RH0ke2xpYmRpcn07IGxuIC1zIGtsaWJjLSouc28ga2xpYmMuc28pCisgICAgcm0gLXJmICR7RH0ke2V4ZWNfcHJlZml4fS9tYW4KKyAgICBybSAtcmYgJHtEfSR7bGliZGlyfS9rbGliYy9iaW4KK30KKworUEFDS0FHRVMgPSAibGlia2xpYmMgbGlia2xpYmMtc3RhdGljZGV2IGxpYmtsaWJjLWRldiIKKworRklMRVNfbGlia2xpYmMgPSAiJHtsaWJkaXJ9L2tsaWJjLSouc28iCitGSUxFU19saWJrbGliYy1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9L2tsaWJjL2xpYi9saWJjLmEiCitGSUxFU19saWJrbGliYy1kZXYgPSAiJHtsaWJkaXJ9L2tsaWJjLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0va2xpYmMvbGliLyogXAorICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9rbGliYy9pbmNsdWRlLyogXAorICAgICAgICAgICAgICAgICAgICAgICIKKworcmVxdWlyZSBrbGliYy5pbmMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLzE0MC1taXBzX2Rpc2FibGVfZGV2aWNldHJlZV9zdXBwb3J0LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMvMTQwLW1pcHNfZGlzYWJsZV9kZXZpY2V0cmVlX3N1cHBvcnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjNlZjNjOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLzE0MC1taXBzX2Rpc2FibGVfZGV2aWNldHJlZV9zdXBwb3J0LnBhdGNoCkBAIC0wLDAgKzEsMTYzIEBACitGcm9tIDVlYTdjZDc4Y2QyNTJmZmQzYTlmM2ZiYzhkYzc5NWQ2ZTE1OTYwODQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbmRyZWEgQWRhbWkgPGFuZHJlYS5hZGFtaUBnbWFpbC5jb20+CitEYXRlOiBNb24sIDE3IERlYyAyMDE4IDExOjI1OjIwICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGtleGVjLXRvb2xzOiBmaXggbm9uLWRldmljZSB0cmVlIGRldmljZXMgb24gbWlwcworCitBZGQgYWRkaXRpb25hbCBhcmd1bWVudCAnLS1uby1kdGInIHdoaWNoIGRpc2FibGVzIGRldmljZSB0cmVlCitzZWFyY2ggaW4gY3VycmVudGx5IGxvYWRlZCBrZXJuZWwuCisKK1Rha2VuIGZyb20gTEVERS1ERVY6CitodHRwczovL3BhdGNod29yay5vemxhYnMub3JnL3BhdGNoLzg1Mjk2MS8KKworUmViYXNlZCBmb3Iga2V4ZWMtdG9vbHMgMi4wLjE4CitSZW1vdmVkIHBwYyBjaGFuZ2UgKHVud2FudGVkID8pCisKK1NpZ25lZC1vZmYtYnk6IEtvbnN0YW50aW4gS3V6b3YgPG1hc3Rlci5ub3NmZXJhdHVAZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogQW5kcmVhIEFkYW1pIDxhbmRyZWEuYWRhbWlAZ21haWwuY29tPgorLS0tCisga2V4ZWMvYXJjaC9taXBzL2luY2x1ZGUvYXJjaC9vcHRpb25zLmggfCAgNCArLQorIGtleGVjL2FyY2gvbWlwcy9rZXhlYy1lbGYtbWlwcy5jICAgICAgIHwgNTggKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KKyBrZXhlYy9hcmNoL21pcHMva2V4ZWMtbWlwcy5jICAgICAgICAgICB8ICA0ICsrCisga2V4ZWMvYXJjaC9taXBzL2tleGVjLW1pcHMuaCAgICAgICAgICAgfCAgMSArCisgNCBmaWxlcyBjaGFuZ2VkLCAzOSBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2tleGVjL2FyY2gvbWlwcy9pbmNsdWRlL2FyY2gvb3B0aW9ucy5oIGIva2V4ZWMvYXJjaC9taXBzL2luY2x1ZGUvYXJjaC9vcHRpb25zLmgKK2luZGV4IDQxNmUyMjQuLjE4ZDI4MTEgMTAwNjQ0CistLS0gYS9rZXhlYy9hcmNoL21pcHMvaW5jbHVkZS9hcmNoL29wdGlvbnMuaAorKysrIGIva2V4ZWMvYXJjaC9taXBzL2luY2x1ZGUvYXJjaC9vcHRpb25zLmgKK0BAIC01LDYgKzUsNyBAQAorICNkZWZpbmUgT1BUX0FQUEVORAkoT1BUX0FSQ0hfTUFYKzApCisgI2RlZmluZSBPUFRfRFRCCQkoT1BUX0FSQ0hfTUFYKzEpCisgI2RlZmluZSBPUFRfUkFNRElTSwkoT1BUX0FSQ0hfTUFYKzIpCisrI2RlZmluZSBPUFRfTk9fRFRCCShPUFRfQVJDSF9NQVgrMykKKyAKKyAvKiBPcHRpb25zIHJlbGV2YW50IHRvIHRoZSBhcmNoaXRlY3R1cmUgKGV4Y2x1ZGluZyBsb2FkZXItc3BlY2lmaWMgb25lcyksCisgICogaW4gdGhpcyBjYXNlIG5vbmU6CitAQCAtMTQsNyArMTUsOCBAQAorIAl7ImNvbW1hbmQtbGluZSIsIDEsIDAsIE9QVF9BUFBFTkR9LCBcCisgCXsiYXBwZW5kIiwJIDEsIDAsIE9QVF9BUFBFTkR9LCBcCisgCXsiZHRiIiwJCTEsIDAsIE9QVF9EVEIgfSwgXAorLQl7ImluaXRyZCIsCTEsIDAsIE9QVF9SQU1ESVNLIH0sCisrCXsiaW5pdHJkIiwJMSwgMCwgT1BUX1JBTURJU0sgfSwgXAorKwl7Im5vLWR0YiIsCTAsIDAsIE9QVF9OT19EVEIgfSwKKyAKKyAKKyAjZGVmaW5lIEtFWEVDX0FSQ0hfT1BUX1NUUiBLRVhFQ19PUFRfU1RSICIiCitkaWZmIC0tZ2l0IGEva2V4ZWMvYXJjaC9taXBzL2tleGVjLWVsZi1taXBzLmMgYi9rZXhlYy9hcmNoL21pcHMva2V4ZWMtZWxmLW1pcHMuYworaW5kZXggODQ5YTdiYS4uNWMwZTUzNSAxMDA2NDQKKy0tLSBhL2tleGVjL2FyY2gvbWlwcy9rZXhlYy1lbGYtbWlwcy5jCisrKysgYi9rZXhlYy9hcmNoL21pcHMva2V4ZWMtZWxmLW1pcHMuYworQEAgLTE0MSwzNSArMTQxLDM3IEBAIGludCBlbGZfbWlwc19sb2FkKGludCBhcmdjLCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqYnVmLCBvZmZfdCBsZW4sCisgCWVsc2UKKyAJCWNtZGxpbmVfYWRkciA9IDA7CisgCistCS8qIE1JUFMgc3lzdGVtcyB0aGF0IGhhdmUgYmVlbiBjb252ZXJ0ZWQgdG8gdXNlIGRldmljZSB0cmVlCistCSAqIHBhc3NlZCB0aHJvdWdoIFVISSB3aWxsIHVzZSBjb21tYW5kbGluZSBpbiB0aGUgRFRCIGFuZAorLQkgKiB0aGUgRFRCIHBhc3NlZCBhcyBhIHNlcGFyYXRlIGJ1ZmZlci4gTm90ZSB0aGF0CistCSAqIENNRExJTkVfUFJFRklYIGlzIHNraXBwZWQgaGVyZSBpbnRlbnRpb25hbGx5LCBhcyBpdCBpcworLQkgKiB1c2VkIG9ubHkgaW4gdGhlIGxlZ2FjeSBtZXRob2QgKi8KKy0KKy0JaWYgKGFyY2hfb3B0aW9ucy5kdGJfZmlsZSkgeworLQkJZHRiX2J1ZiA9IHNsdXJwX2ZpbGUoYXJjaF9vcHRpb25zLmR0Yl9maWxlLCAmZHRiX2xlbmd0aCk7CistCX0gZWxzZSB7CistCQljcmVhdGVfZmxhdHRlbl90cmVlKCZkdGJfYnVmLCAmZHRiX2xlbmd0aCwgY21kbGluZV9idWYgKyBzdHJsZW4oQ01ETElORV9QUkVGSVgpKTsKKy0JfQorIAorLQlpZiAoYXJjaF9vcHRpb25zLmluaXRyZF9maWxlKSB7CistCQlpbml0cmRfYnVmID0gc2x1cnBfZmlsZShhcmNoX29wdGlvbnMuaW5pdHJkX2ZpbGUsICZpbml0cmRfc2l6ZSk7CisrCWlmICghYXJjaF9vcHRpb25zLm5vX2R0YikgeworKwkJLyogTUlQUyBzeXN0ZW1zIHRoYXQgaGF2ZSBiZWVuIGNvbnZlcnRlZCB0byB1c2UgZGV2aWNlIHRyZWUKKysJCSAqIHBhc3NlZCB0aHJvdWdoIFVISSB3aWxsIHVzZSBjb21tYW5kbGluZSBpbiB0aGUgRFRCIGFuZAorKwkJICogdGhlIERUQiBwYXNzZWQgYXMgYSBzZXBhcmF0ZSBidWZmZXIuIE5vdGUgdGhhdAorKwkJICogQ01ETElORV9QUkVGSVggaXMgc2tpcHBlZCBoZXJlIGludGVudGlvbmFsbHksIGFzIGl0IGlzCisrCQkgKiB1c2VkIG9ubHkgaW4gdGhlIGxlZ2FjeSBtZXRob2QgKi8KKysKKysJCWlmIChhcmNoX29wdGlvbnMuZHRiX2ZpbGUpIHsKKysJCQlkdGJfYnVmID0gc2x1cnBfZmlsZShhcmNoX29wdGlvbnMuZHRiX2ZpbGUsICZkdGJfbGVuZ3RoKTsKKysJCX0gZWxzZSB7CisrCQkJY3JlYXRlX2ZsYXR0ZW5fdHJlZSgmZHRiX2J1ZiwgJmR0Yl9sZW5ndGgsIGNtZGxpbmVfYnVmICsgc3RybGVuKENNRExJTkVfUFJFRklYKSk7CisrCQl9CisgCistCQkvKiBDcmVhdGUgaW5pdHJkIGVudHJpZXMgaW4gZHRiIC0gYWx0aG91Z2ggYXQgdGhpcyB0aW1lCistCQkgKiB0aGV5IHdvdWxkIG5vdCBwb2ludCB0byB0aGUgY29ycmVjdCBsb2NhdGlvbiAqLworLQkJZHRiX3NldF9pbml0cmQoJmR0Yl9idWYsICZkdGJfbGVuZ3RoLCBpbml0cmRfYnVmLCBpbml0cmRfYnVmICsgaW5pdHJkX3NpemUpOworKwkJaWYgKGFyY2hfb3B0aW9ucy5pbml0cmRfZmlsZSkgeworKwkJCWluaXRyZF9idWYgPSBzbHVycF9maWxlKGFyY2hfb3B0aW9ucy5pbml0cmRfZmlsZSwgJmluaXRyZF9zaXplKTsKKyAKKy0JCWluaXRyZF9iYXNlID0gYWRkX2J1ZmZlcihpbmZvLCBpbml0cmRfYnVmLCBpbml0cmRfc2l6ZSwKKy0JCQkJCWluaXRyZF9zaXplLCBzaXplb2Yodm9pZCAqKSwKKy0JCQkJCV9BTElHTl9VUChrZXJuZWxfYWRkciArIGtlcm5lbF9zaXplICsgZHRiX2xlbmd0aCwKKy0JCQkJCQlwYWdlc2l6ZSksIDB4MGZmZmZmZmYsIDEpOworKwkJCS8qIENyZWF0ZSBpbml0cmQgZW50cmllcyBpbiBkdGIgLSBhbHRob3VnaCBhdCB0aGlzIHRpbWUKKysJCQkgKiB0aGV5IHdvdWxkIG5vdCBwb2ludCB0byB0aGUgY29ycmVjdCBsb2NhdGlvbiAqLworKwkJCWR0Yl9zZXRfaW5pdHJkKCZkdGJfYnVmLCAmZHRiX2xlbmd0aCwgaW5pdHJkX2J1ZiwgaW5pdHJkX2J1ZiArIGluaXRyZF9zaXplKTsKKyAKKy0JCS8qIE5vdyB0aGF0IHRoZSBidWZmZXIgZm9yIGluaXRyZCBpcyBwcmVwYXJlZCwgdXBkYXRlIHRoZSBkdGIKKy0JCSAqIHdpdGggYW4gYXBwcm9wcmlhdGUgbG9jYXRpb24gKi8KKy0JCWR0Yl9zZXRfaW5pdHJkKCZkdGJfYnVmLCAmZHRiX2xlbmd0aCwgaW5pdHJkX2Jhc2UsIGluaXRyZF9iYXNlICsgaW5pdHJkX3NpemUpOworLQl9CisrCQkJaW5pdHJkX2Jhc2UgPSBhZGRfYnVmZmVyKGluZm8sIGluaXRyZF9idWYsIGluaXRyZF9zaXplLAorKwkJCQkJCWluaXRyZF9zaXplLCBzaXplb2Yodm9pZCAqKSwKKysJCQkJCQlfQUxJR05fVVAoa2VybmVsX2FkZHIgKyBrZXJuZWxfc2l6ZSArIGR0Yl9sZW5ndGgsCisrCQkJCQkJCXBhZ2VzaXplKSwgMHgwZmZmZmZmZiwgMSk7CisgCisrCQkJLyogTm93IHRoYXQgdGhlIGJ1ZmZlciBmb3IgaW5pdHJkIGlzIHByZXBhcmVkLCB1cGRhdGUgdGhlIGR0YgorKwkJCSAqIHdpdGggYW4gYXBwcm9wcmlhdGUgbG9jYXRpb24gKi8KKysJCQlkdGJfc2V0X2luaXRyZCgmZHRiX2J1ZiwgJmR0Yl9sZW5ndGgsIGluaXRyZF9iYXNlLCBpbml0cmRfYmFzZSArIGluaXRyZF9zaXplKTsKKysJCX0KKysJfQorIAorIAkvKiBUaGlzIGlzIGEgbGVnYWN5IG1ldGhvZCBmb3IgY29tbWFuZGxpbmUgcGFzc2luZyB1c2VkCisgCSAqIGN1cnJlbnRseSBieSBPY3Rlb24gQ1BVcyBvbmx5ICovCitAQCAtMTc3LDkgKzE3OSwxMSBAQCBpbnQgZWxmX21pcHNfbG9hZChpbnQgYXJnYywgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKmJ1Ziwgb2ZmX3QgbGVuLAorIAkJCXNpemVvZihjbWRsaW5lX2J1ZiksIHNpemVvZih2b2lkICopLAorIAkJCWNtZGxpbmVfYWRkciwgMHgwZmZmZmZmZiwgMSk7CisgCistCWFkZF9idWZmZXIoaW5mbywgZHRiX2J1ZiwgZHRiX2xlbmd0aCwgZHRiX2xlbmd0aCwgMCwKKy0JCV9BTElHTl9VUChrZXJuZWxfYWRkciArIGtlcm5lbF9zaXplLCBwYWdlc2l6ZSksCistCQkweDBmZmZmZmZmLCAxKTsKKysJaWYgKCFhcmNoX29wdGlvbnMubm9fZHRiKSB7CisrCQlhZGRfYnVmZmVyKGluZm8sIGR0Yl9idWYsIGR0Yl9sZW5ndGgsIGR0Yl9sZW5ndGgsIDAsCisrCQkJX0FMSUdOX1VQKGtlcm5lbF9hZGRyICsga2VybmVsX3NpemUsIHBhZ2VzaXplKSwKKysJCQkweDBmZmZmZmZmLCAxKTsKKysJfQorIAorIAlyZXR1cm4gMDsKKyB9CitkaWZmIC0tZ2l0IGEva2V4ZWMvYXJjaC9taXBzL2tleGVjLW1pcHMuYyBiL2tleGVjL2FyY2gvbWlwcy9rZXhlYy1taXBzLmMKK2luZGV4IDQxNWMyZWQuLmU1NTdmOGIgMTAwNjQ0CistLS0gYS9rZXhlYy9hcmNoL21pcHMva2V4ZWMtbWlwcy5jCisrKysgYi9rZXhlYy9hcmNoL21pcHMva2V4ZWMtbWlwcy5jCitAQCAtODksNiArODksNyBAQCB2b2lkIGFyY2hfdXNhZ2Uodm9pZCkKKyAJIiAgICAtLWFwcGVuZD1TVFJJTkcgICAgICAgU2V0IHRoZSBrZXJuZWwgY29tbWFuZCBsaW5lIHRvIFNUUklORy5cbiIKKyAJIiAgICAtLWR0Yj1GSUxFICAgICAgICAgICAgVXNlIEZJTEUgYXMgdGhlIGRldmljZSB0cmVlIGJsb2IuXG4iCisgCSIgICAgLS1pbml0cmQ9RklMRSAgICAgICAgIFVzZSBGSUxFIGFzIGluaXRpYWwgcmFtZGlzay5cbiIKKysJIiAgICAtLW5vLWR0YiAgICAgICAgICAgICAgRG9uJ3QgdHJ5IHRvIGZpbmQgZGV2aWNlIHRyZWVcbiIKKyAJKTsKKyB9CisgCitAQCAtMTIxLDYgKzEyMiw5IEBAIGludCBhcmNoX3Byb2Nlc3Nfb3B0aW9ucyhpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgCQljYXNlIE9QVF9SQU1ESVNLOgorIAkJCWFyY2hfb3B0aW9ucy5pbml0cmRfZmlsZSA9IG9wdGFyZzsKKyAJCQlicmVhazsKKysJCWNhc2UgT1BUX05PX0RUQjoKKysJCQlhcmNoX29wdGlvbnMubm9fZHRiID0gMTsKKysJCQlicmVhazsKKyAJCWRlZmF1bHQ6CisgCQkJYnJlYWs7CisgCQl9CitkaWZmIC0tZ2l0IGEva2V4ZWMvYXJjaC9taXBzL2tleGVjLW1pcHMuaCBiL2tleGVjL2FyY2gvbWlwcy9rZXhlYy1taXBzLmgKK2luZGV4IDIyMmM4MTUuLjkwYjIxYzMgMTAwNjQ0CistLS0gYS9rZXhlYy9hcmNoL21pcHMva2V4ZWMtbWlwcy5oCisrKysgYi9rZXhlYy9hcmNoL21pcHMva2V4ZWMtbWlwcy5oCitAQCAtMjIsNiArMjIsNyBAQCBzdHJ1Y3QgYXJjaF9vcHRpb25zX3QgeworIAljaGFyICpkdGJfZmlsZTsKKyAJY2hhciAqaW5pdHJkX2ZpbGU7CisgCWludCBjb3JlX2hlYWRlcl90eXBlOworKwlpbnQgbm9fZHRiOworIH07CisgCisgZXh0ZXJuIHN0cnVjdCBtZW1vcnlfcmFuZ2VzIHVzYWJsZW1lbV9yZ25zOworLS0gCisyLjE3LjEKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMva2xpYmMtcmVib290LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMva2xpYmMtcmVib290LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlMTMwMWQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy9rbGliYy1yZWJvb3QucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIGEva2V4ZWMva2V4ZWMuYworKysrIGIva2V4ZWMva2V4ZWMuYworQEAgLTkwMSw3ICs5MDEsNyBAQCBzdGF0aWMgaW50IG15X2V4ZWModm9pZCkKKyAJaWYgKHhlbl9wcmVzZW50KCkpCisgCQl4ZW5fa2V4ZWNfZXhlYygpOworIAllbHNlCistCQlyZWJvb3QoTElOVVhfUkVCT09UX0NNRF9LRVhFQyk7CisrCQlyZWJvb3QoTElOVVhfUkVCT09UX0NNRF9LRVhFQywgTlVMTCk7CisgCS8qIEkgaGF2ZSBmYWlsZWQgaWYgSSBtYWtlIGl0IGhlcmUgKi8KKyAJZnByaW50ZihzdGRlcnIsICJrZXhlYyBmYWlsZWQ6ICVzXG4iLCAKKyAJCXN0cmVycm9yKGVycm5vKSk7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliY19naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliY19naXQuYmIKaW5kZXggY2MxYzU1MS4uN2FkNTVkOCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmNfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjX2dpdC5iYgpAQCAtNiwxNCArNiwxNCBAQAogTElDRU5TRSA9ICJHUEx2MiIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWVhNWJlZDJmNjBkMzU3NjE4Y2ExNjFhZDUzOWY3YzBhIFwKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL2tleGVjL2tleGVjLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0yMDttZDU9YWYxMGY2YWU0YTg3MTU5NjVlNjQ4YWE2ODdhZDNlMDkiCi1QViA9ICIyLjAuMTcrZ2l0JHtTUkNQVn0iCitQViA9ICIyLjAuMTgrZ2l0JHtTUkNQVn0iCiAKIERFUEVORFMgPSAiemxpYiB4eiIKIAogaW5oZXJpdCBrbGliYyBhdXRvdG9vbHMKIAogU1JDX1VSSSA9ICJnaXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL3V0aWxzL2tlcm5lbC9rZXhlYy9rZXhlYy10b29scy5naXQiCi1TUkNSRVYgPSAiYjlkZTIxZWY1MWE3Y2VhYjcxMjJhNzA3YzE4ODYwMmVhZTIyYzRlZSIKK1NSQ1JFViA9ICI1NzUwOTgwY2RiYmMzM2VmNzViZmJhNjY2MDI5NWI5MzIzNzZjZTE1IgogCiBCVUlMRF9QQVRDSEVTID0gImZpbGU6Ly8wMDAxLWZvcmNlLXN0YXRpYy1idWlsZC5wYXRjaCBcCiAgICAgICAgICAgICAgICAgIGZpbGU6Ly8wMDAyLUFkanVzdC10aGUtb3JkZXItb2YtaGVhZGVycy10by1maXgtYnVpbGQtZm9yLW11c2wucGF0Y2giCkBAIC0zMSw3ICszMSw4IEBACiAgICAgICAgICAgICBmaWxlOi8vMDAxMi1wdXJnYXRvcnktc3RyaW5nLmMtYXZvaWQtaW5jbHVzaW9uLW9mLXN0cmluZy5oLnBhdGNoIFwKICAgICAgICAgICAgIGZpbGU6Ly8wMDEzLXNoYTI1Ni5oLWF2b2lkLWluY2x1c2lvbi1vZi1zeXMtdHlwZXMuaC5wYXRjaCBcCiAgICAgICAgICAgICBmaWxlOi8vMDAxNC1hZGQtaWZfbmFtZWluZGV4LWZyb20tbXVzbC5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAxNS12bWNvcmUtZG1lc2ctZml4LXdhcm5pbmcucGF0Y2giCisgICAgICAgICAgICBmaWxlOi8vMDAxNS12bWNvcmUtZG1lc2ctZml4LXdhcm5pbmcucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL2tsaWJjLXJlYm9vdC5wYXRjaCIKIAogV0FSTklOR19GSVhFUyA9ICIiCiBGUk9NX09FX0NPUkUgPSAiZmlsZTovL2FybV9jcmFzaGR1bXAtZml4LWJ1ZmZlci1hbGlnbi5wYXRjaCBcCkBAIC00Miw2ICs0Myw5IEBACiAKIFNSQ19VUklfYXBwZW5kX2FybSA9ICIgZmlsZTovL2FybV9jcmFzaGR1bXAucGF0Y2giCiAKK1NSQ19VUklfYXBwZW5kX21pcHMgPSAiIGZpbGU6Ly8xNDAtbWlwc19kaXNhYmxlX2RldmljZXRyZWVfc3VwcG9ydC5wYXRjaCIKK1NSQ19VUklfYXBwZW5kX21pcHNlbCA9ICIgZmlsZTovLzE0MC1taXBzX2Rpc2FibGVfZGV2aWNldHJlZV9zdXBwb3J0LnBhdGNoIgorCiBTUkNfVVJJX2FwcGVuZF94ODYgPSAiIGZpbGU6Ly94ODZfc3lzX2lvLnBhdGNoIGZpbGU6Ly94ODZfYmFzZW5hbWUucGF0Y2ggXAogICAgICAgICAgICAgICAgICAgICAgICBmaWxlOi8veDg2X3Zmc2NhbmYucGF0Y2ggZmlsZTovL3g4Nl9rZXhlY190ZXN0LnBhdGNoIgogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvUkVBRE1FIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL1JFQURNRQppbmRleCAwNTAzOTJkLi4yMGY0ZmI4IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvUkVBRE1FCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9SRUFETUUKQEAgLTEsMTkgKzEsMTkgQEAKIFRoaXMgbGF5ZXIgZGVwZW5kcyBvbjoKIAogVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9vZS1jb3JlLmdpdAotYnJhbmNoOiB0aHVkCiticmFuY2g6IG1hc3RlcgogcmV2aXNpb246IEhFQUQKIAogVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9tZXRhLW9lLmdpdAogbGF5ZXJzOiBtZXRhLW9lCi1icmFuY2g6IHRodWQKK2JyYW5jaDogbWFzdGVyCiByZXZpc2lvbjogSEVBRAogCi1TZW5kIHB1bGwgcmVxdWVzdHMgdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgd2l0aCAnW21ldGEtbXVsdGltZWRpYV1bdGh1ZF0nIGluIHRoZSBzdWJqZWN0JworU2VuZCBwdWxsIHJlcXVlc3RzIHRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIHdpdGggJ1ttZXRhLW11bHRpbWVkaWFdJyBpbiB0aGUgc3ViamVjdCcKIAogV2hlbiBzZW5kaW5nIHNpbmdsZSBwYXRjaGVzLCBwbGVhc2UgdXNlIHNvbWV0aGluZyBsaWtlOgotJ2dpdCBzZW5kLWVtYWlsIC1NIC0xIC0tdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgLS1zdWJqZWN0LXByZWZpeD1tZXRhLW11bHRpbWVkaWFdW3RodWRdW1BBVENICisnZ2l0IHNlbmQtZW1haWwgLU0gLTEgLS10byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyAtLXN1YmplY3QtcHJlZml4PW1ldGEtbXVsdGltZWRpYV1bUEFUQ0gKIAogWW91IGFyZSBlbmNvdXJhZ2VkIHRvIGZvcmsgdGhlIG1pcnJvciBvbiBnaXRodWIgaHR0cHM6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9tZXRhLW9lLyB0byBzaGFyZSB5b3VyIHBhdGNoZXMsIHRoaXMgaXMgcHJlZmVycmVkIGZvciBwYXRjaCBzZXRzIGNvbnNpc3Rpbmcgb2YgbW9yZSB0aGFuIG9uZSBwYXRjaC4gT3RoZXIgc2VydmljZXMgbGlrZSBnaXRvcmlvdXMsIHJlcG8ub3IuY3ogb3Igc2VsZiBob3N0ZWQgc2V0dXBzIGFyZSBvZiBjb3Vyc2UgYWNjZXB0ZWQgYXMgd2VsbCwgJ2dpdCBmZXRjaCA8cmVtb3RlPicgd29ya3MgdGhlIHNhbWUgb24gYWxsIG9mIHRoZW0uIFdlIHJlY29tbWVuZCBnaXRodWIgYmVjYXVzZSBpdCBpcyBmcmVlLCBlYXN5IHRvIHVzZSwgaGFzIGJlZW4gcHJvdmVuIHRvIGJlIHJlbGlhYmxlIGFuZCBoYXMgYSByZWFsbHkgZ29vZCB3ZWIgR1VJLgogCi1UaHVkIG1haW50YWluZXI6IEFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CitMYXllciBtYWludGFpbmVyOiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvY29uZi9sYXllci5jb25mIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL2NvbmYvbGF5ZXIuY29uZgppbmRleCBlMmE3NzAxLi5lMDVhNjUyIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvY29uZi9sYXllci5jb25mCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9jb25mL2xheWVyLmNvbmYKQEAgLTE3LDYgKzE3LDggQEAKIEJCRklMRV9DT0xMRUNUSU9OUyArPSAibXVsdGltZWRpYS1sYXllciIKIEJCRklMRV9QQVRURVJOX211bHRpbWVkaWEtbGF5ZXIgOj0gIl4ke0xBWUVSRElSfS8iCiAKK0xJQ0VOU0VfUEFUSCArPSAiJHtMQVlFUkRJUn0vbGljZW5zZXMiCisKICMgRGVmaW5lIHRoZSBwcmlvcml0eSBmb3IgcmVjaXBlcyAoLmJiIGZpbGVzKSBmcm9tIHRoaXMgbGF5ZXIsCiAjIGNob29zaW5nIGNhcmVmdWxseSBob3cgdGhpcyBsYXllciBpbnRlcmFjdHMgd2l0aCBhbGwgb2YgdGhlCiAjIG90aGVyIGxheWVycy4KQEAgLTI5LDQgKzMxLDQgQEAKIAogTEFZRVJERVBFTkRTX211bHRpbWVkaWEtbGF5ZXIgPSAiY29yZSIKIAotTEFZRVJTRVJJRVNfQ09NUEFUX211bHRpbWVkaWEtbGF5ZXIgPSAidGh1ZCIKK0xBWUVSU0VSSUVTX0NPTVBBVF9tdWx0aW1lZGlhLWxheWVyID0gInRodWQgd2FycmlvciIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9saWNlbnNlcy9CZWxsQmlyZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9saWNlbnNlcy9CZWxsQmlyZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYzVjMDNmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL2xpY2Vuc2VzL0JlbGxCaXJkCkBAIC0wLDAgKzEsMjUgQEAKKyhjKSBDb3B5cmlnaHQgdGhlIGF1dGhvcnMgb2YgQmVsbGJpcmQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisKK1Blcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byB1c2UgYW5kIGRpc3RyaWJ1dGUgIAordGhpcyBzb2Z0d2FyZSBhbmQgaXRzIGRvY3VtZW50YXRpb24gd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nICAgCit3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsICAKK2Rpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGlzIHdvcmssIGFuZCB0byAgICAgIAorcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGlzIHdvcmsgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvICAgCit0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAxLiBUaGUgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mICAgIAorICAgIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gICAgICAgICAgICAgICAgICAgICAgICAgCisgMi4gQW55IG1vZGlmaWNhdGlvbnMgbXVzdCBiZSBjbGVhcmx5IG1hcmtlZCBhcyBzdWNoLiAgICAgICAgICAgICAgICAKKyAzLiBPcmlnaW5hbCBhdXRob3JzJyBuYW1lcyBhcmUgbm90IGRlbGV0ZWQuICAgICAgICAgICAgICAgICAgICAgICAgIAorIDQuIFRoZSBhdXRob3JzJyBuYW1lcyBhcmUgbm90IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzICAgCisgICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuICAgICAgICAKKyAgICBwZXJtaXNzaW9uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCitUSEUgQ09OVFJJQlVUT1JTIFRPIFRISVMgV09SSyAgICAgICAgIAorRElTQ0xBSU0gQUxMIFdBUlJBTlRJRVMgV0lUSCBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSwgSU5DTFVESU5HICAgICAgCitBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUywgSU4gTk8gRVZFTlQgICAKK1NIQUxMIFRIRSBDT05UUklCVVRPUlMgQkUgTElBQkxFICAgICAgCitGT1IgQU5ZIFNQRUNJQUwsIElORElSRUNUIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyAgICAKK1dIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiAgIAorQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgICAgICAgICAgCitBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiAgICAgICAKK1RISVMgU09GVFdBUkUuIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL2xpY2Vuc2VzL0NNVS1UZXggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvbGljZW5zZXMvQ01VLVRleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNTEyMjI4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL2xpY2Vuc2VzL0NNVS1UZXgKQEAgLTAsMCArMSwyMCBAQAorQ29weXJpZ2h0IChDKSAyMDAxLTIwMTQgQ2FybmVnaWUgTWVsbG9uIFVuaXZlcnNpdHkKKworUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIG1ha2UgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzIG9mCit0aGlzIG1hbnVhbCBwcm92aWRlZCB0aGUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZQorYXJlIHByZXNlcnZlZCBvbiBhbGwgY29waWVzLgorCitQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gcHJvY2VzcyB0aGlzIGZpbGUgdGhyb3VnaCBUZVgsIG9yIG90aGVyd2lzZSBhbmQKK3ByaW50IHRoZSByZXN1bHRzLCBwcm92aWRlZCB0aGUgcHJpbnRlZCBkb2N1bWVudCBjYXJyaWVzIGNvcHlpbmcKK3Blcm1pc3Npb24gbm90aWNlIGlkZW50aWNhbCB0byB0aGlzIG9uZSBleGNlcHQgZm9yIHRoZSByZW1vdmFsIG9mIHRoaXMKK3BhcmFncmFwaCAodGhpcyBwYXJhZ3JhcGggbm90IGJlaW5nIHJlbGV2YW50IHRvIHRoZSBwcmludGVkIG1hbnVhbCkuCisKK1Blcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBjb3B5IGFuZCBkaXN0cmlidXRlIG1vZGlmaWVkIHZlcnNpb25zIG9mIHRoaXMKK21hbnVhbCB1bmRlciB0aGUgY29uZGl0aW9ucyBmb3IgdmVyYmF0aW0gY29weWluZywgcHJvdmlkZWQgdGhhdCB0aGUgZW50aXJlCityZXN1bHRpbmcgZGVyaXZlZCB3b3JrIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiBhIHBlcm1pc3Npb24KK25vdGljZSBpZGVudGljYWwgdG8gdGhpcyBvbmUuCisKK1Blcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBjb3B5IGFuZCBkaXN0cmlidXRlIHRyYW5zbGF0aW9ucyBvZiB0aGlzIG1hbnVhbAoraW50byBhbm90aGVyIGxhbmd1YWdlLCB1bmRlciB0aGUgYWJvdmUgY29uZGl0aW9ucyBmb3IgbW9kaWZpZWQgdmVyc2lvbnMsCitleGNlcHQgdGhhdCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIG1heSBiZSBzdGF0ZWQgaW4gYSB0cmFuc2xhdGlvbiBhcHByb3ZlZAorYnkgdGhlIGF1dGhvcnMuCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvbGljZW5zZXMvU3VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL2xpY2Vuc2VzL1N1bgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMTI1YTE2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL2xpY2Vuc2VzL1N1bgpAQCAtMCwwICsxLDIzIEBACitUaGlzIHNvdXJjZSBjb2RlIGlzIGEgcHJvZHVjdCBvZiBTdW4gTWljcm9zeXN0ZW1zLCBJbmMuIGFuZCBpcyBwcm92aWRlZAorZm9yIHVucmVzdHJpY3RlZCB1c2UuICBVc2VycyBtYXkgY29weSBvciBtb2RpZnkgdGhpcyBzb3VyY2UgY29kZSB3aXRob3V0CitjaGFyZ2UuCisKK1NVTiBTT1VSQ0UgQ09ERSBJUyBQUk9WSURFRCBBUyBJUyBXSVRIIE5PIFdBUlJBTlRJRVMgT0YgQU5ZIEtJTkQgSU5DTFVESU5HCitUSEUgV0FSUkFOVElFUyBPRiBERVNJR04sIE1FUkNIQU5USUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCitQVVJQT1NFLCBPUiBBUklTSU5HIEZST00gQSBDT1VSU0UgT0YgREVBTElORywgVVNBR0UgT1IgVFJBREUgUFJBQ1RJQ0UuCisKK1N1biBzb3VyY2UgY29kZSBpcyBwcm92aWRlZCB3aXRoIG5vIHN1cHBvcnQgYW5kIHdpdGhvdXQgYW55IG9ibGlnYXRpb24gb24KK3RoZSBwYXJ0IG9mIFN1biBNaWNyb3N5c3RlbXMsIEluYy4gdG8gYXNzaXN0IGluIGl0cyB1c2UsIGNvcnJlY3Rpb24sCittb2RpZmljYXRpb24gb3IgZW5oYW5jZW1lbnQuCisKK1NVTiBNSUNST1NZU1RFTVMsIElOQy4gU0hBTEwgSEFWRSBOTyBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRQorSU5GUklOR0VNRU5UIE9GIENPUFlSSUdIVFMsIFRSQURFIFNFQ1JFVFMgT1IgQU5ZIFBBVEVOVFMgQlkgVEhJUyBTT0ZUV0FSRQorT1IgQU5ZIFBBUlQgVEhFUkVPRi4KKworSW4gbm8gZXZlbnQgd2lsbCBTdW4gTWljcm9zeXN0ZW1zLCBJbmMuIGJlIGxpYWJsZSBmb3IgYW55IGxvc3QgcmV2ZW51ZQorb3IgcHJvZml0cyBvciBvdGhlciBzcGVjaWFsLCBpbmRpcmVjdCBhbmQgY29uc2VxdWVudGlhbCBkYW1hZ2VzLCBldmVuIGlmCitTdW4gaGFzIGJlZW4gYWR2aXNlZCBvZiB0aGUgcG9zc2liaWxpdHkgb2Ygc3VjaCBkYW1hZ2VzLgorCitTdW4gTWljcm9zeXN0ZW1zLCBJbmMuCisyNTUwIEdhcmNpYSBBdmVudWUKK01vdW50YWluIFZpZXcsIENhbGlmb3JuaWEgIDk0MDQzCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlidXBucC9saWJ1cG5wX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJ1cG5wL2xpYnVwbnBfZ2l0LmJiCmluZGV4IDdhNTI0ZjIuLjMzOWMwN2MgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJ1cG5wL2xpYnVwbnBfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJ1cG5wL2xpYnVwbnBfZ2l0LmJiCkBAIC01LDE2ICs1LDIxIEBACiBzdXBwb3J0aW5nIHRoZSBEb2N1bWVudCBPYmplY3QgTW9kZWwgKERPTSkgTGV2ZWwgMiBBUEkgYW5kIGFuIG9wdGlvbmFsLCBcCiBpbnRlZ3JhdGVkIG1pbmkgd2ViIHNlcnZlciBmb3Igc2VydmluZyBVUG5QIHJlbGF0ZWQgZG9jdW1lbnRzLiIKIEhPTUVQQUdFID0gImh0dHA6Ly9wdXBucC5zb3VyY2Vmb3JnZS5uZXQvIgotTElDRU5TRSA9ICJCU0QiCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKIAotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YjMxOTBkNTI0NGUwOGU3OGU0YzhlZTc4NTQ0ZjQ4NjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zOTRhMGYxN2I5N2YzMzQyNjI3NTU3MWUxNTkyMDQzNCIKIAotUFYgPSAiMS44LjIrZ2l0JHtTUkNQVn0iCi1TUkNSRVYgPSAiNTZkNjA0MmFiYWU4NjFlODgzOGE0ZTZiNmI1YjU3NWI5OWUzOGYzNCIKK1BWID0gIjEuOC40K2dpdCR7U1JDUFZ9IgorIyByZWxlYXNlLTEuOC40CitTUkNSRVYgPSAiZDVhMDFmYzk4OTVkYWFlOThhMGM1YThjN2QzYWZjZTQ2YWRkNTI5ZCIKIFNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9tcmppbWVuZXovcHVwbnAuZ2l0O3Byb3RvY29sPWh0dHBzIgogCiBTPSIke1dPUktESVJ9L2dpdCIKIAogaW5oZXJpdCBhdXRvdG9vbHMKIAotRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS1yZXVzZWFkZHIiClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS1yZXVzZWFkZHIiCisKKyMgRW5hYmxlIExGUyBzdXBwb3J0ICggZm9yIHNhbXBsZXMgKQorQ0ZMQUdTICs9ICItRF9MQVJHRUZJTEVfU09VUkNFIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQiCitDWFhGTEFHUyArPSAiLURfTEFSR0VGSUxFX1NPVVJDRSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3J5Z2VsL3J5Z2VsXzAuMzQuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9yeWdlbC9yeWdlbF8wLjM0LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIxMzMxZmYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3J5Z2VsL3J5Z2VsXzAuMzQuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAgQEAKLVNVTU1BUlkgPSAiQSBVUG5QIEFWIG1lZGlhIHNlcnZlciBhbmQgcmVuZGVyZXIiCi1ERVNDUklQVElPTiA9ICJSeWdlbCBpcyBhIGhvbWUgbWVkaWEgc29sdXRpb24gKFVQblAgQVYgTWVkaWFTZXJ2ZXIpIHRoYXQgXAotYWxsb3cgeW91IHRvIGVhc2lseSBzaGFyZSBhdWRpbywgdmlkZW8gYW5kIHBpY3R1cmVzIHRvIG90aGVyIGRldmljZXMuIFwKLUFkZGl0aW9uYWxseSwgbWVkaWEgcGxheWVyIHNvZnR3YXJlIG1heSB1c2UgUnlnZWwgdG8gYmVjb21lIGEgTWVkaWFSZW5kZXJlciBcCi10aGF0IG1heSBiZSBjb250cm9sbGVkIHJlbW90ZWx5IGJ5IGEgVVBuUCBvciBETE5BIENvbnRyb2xsZXIuIgotSE9NRVBBR0UgPSAiaHR0cDovL2xpdmUuZ25vbWUub3JnL1J5Z2VsIgotCi1MSUNFTlNFID0gIkxHUEwtMi4xIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCi0KLURFUEVORFMgPSAibGlieG1sMiBnbGliLTIuMCBnc3NkcCBndXBucCBndXBucC1hdiBndXBucC1kbG5hIGdzdHJlYW1lcjEuMCBnc3RyZWFtZXIxLjAtcGx1Z2lucy1iYXNlIGxpYmdlZSBsaWJzb3VwLTIuNCBsaWJtZWRpYWFydC0yLjAgbGlidW5pc3RyaW5nIHNxbGl0ZTMgaW50bHRvb2wtbmF0aXZlIgotUkRFUEVORFNfJHtQTn0gPSAiZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZS1wbGF5YmFjayBzaGFyZWQtbWltZS1pbmZvIgotUlJFQ09NTUVORFNfJHtQTn0gPSAicnlnZWwtcGx1Z2luLW1lZGlhLWV4cG9ydCIKLQotR05PTUVfQ09NUFJFU1NfVFlQRSA9ICJ4eiIKLVNSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjdkODkyMzMyNGIyODBjZDU0NTI4MDNkNjExNzZhMzRhIgotU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiZmJiMmQ0NmNiZTRlNzUwZGY2NjEwYjRjNjZiMjI3OGYwNmQxZjcxYTI1N2M3OTAzZTY3NmNjYjM5NGRhZDQxOCIKLQotaW5oZXJpdCBnbm9tZWJhc2UgdmFsYSBnb2JqZWN0LWludHJvc3BlY3Rpb24gZ2V0dGV4dCBzeXN0ZW1kCi0KLUVYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtdHJhY2tlci1wbHVnaW4gLS13aXRoLW1lZGlhLWVuZ2luZT1nc3RyZWFtZXIiCi0KLVBBQ0tBR0VDT05GSUcgPz0gImV4dGVybmFsIG1wcmlzIHJ1aWggbWVkaWEtZXhwb3J0IGdzdC1sYXVuY2giCi0KLVBBQ0tBR0VDT05GSUdfYXBwZW5kID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAieDExIiwgIiBndGsrMyIsICIiLCBkKX0iCi0KLVBBQ0tBR0VDT05GSUdbZXh0ZXJuYWxdID0gIi0tZW5hYmxlLWV4dGVybmFsLXBsdWdpbiwtLWRpc2FibGUtZXh0ZXJuYWwtcGx1Z2luIgotUEFDS0FHRUNPTkZJR1ttcHJpc10gPSAiLS1lbmFibGUtbXByaXMtcGx1Z2luLC0tZGlzYWJsZS1tcHJpcy1wbHVnaW4iCi1QQUNLQUdFQ09ORklHW3J1aWhdID0gIi0tZW5hYmxlLXJ1aWgtcGx1Z2luLC0tZGlzYWJsZS1ydWloLXBsdWdpbiIKLVBBQ0tBR0VDT05GSUdbbWVkaWEtZXhwb3J0XSA9ICItLWVuYWJsZS1tZWRpYS1leHBvcnQtcGx1Z2luLC0tZGlzYWJsZS1tZWRpYS1leHBvcnQtcGx1Z2luIgotUEFDS0FHRUNPTkZJR1tnc3QtbGF1bmNoXSA9ICItLWVuYWJsZS1nc3QtbGF1bmNoLXBsdWdpbiwtLWRpc2FibGUtZ3N0LWxhdW5jaC1wbHVnaW4iCi1QQUNLQUdFQ09ORklHW2d0ayszXSA9ICIsLS13aXRob3V0LXVpLGd0ayszIgotUEFDS0FHRUNPTkZJR1tsbXNdID0gIi0tZW5hYmxlLWxtcy1wbHVnaW4sLS1kaXNhYmxlLWxtcy1wbHVnaW4iCi0KLUxJQlYgPSAiMi42IgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICAgICAjIFJlbW92ZSAubGEgZmlsZXMgZm9yIGxvYWRhYmxlIG1vZHVsZXMKLSAgICAgICBybSAtZiAke0R9LyR7bGliZGlyfS9yeWdlbC0ke0xJQlZ9L2VuZ2luZXMvKi5sYQotICAgICAgIHJtIC1mICR7RH0vJHtsaWJkaXJ9L3J5Z2VsLSR7TElCVn0vcGx1Z2lucy8qLmxhCi0gICAgICAgaWYgWyAtZSAke0R9JHtsaWJkaXJ9L3N5c3RlbWQvdXNlci9yeWdlbC5zZXJ2aWNlIF07IHRoZW4KLSAgICAgICAgICAgICAgIG1rZGlyIC1wICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0gICAgICAgICAgICAgICBtdiAke0R9JHtsaWJkaXJ9L3N5c3RlbWQvdXNlci9yeWdlbC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0gICAgICAgICAgICAgICBybWRpciAke0R9JHtsaWJkaXJ9L3N5c3RlbWQvdXNlciAke0R9JHtsaWJkaXJ9L3N5c3RlbWQKLSAgICAgICBmaQotfQotCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3J5Z2VsLSR7TElCVn0vZW5naW5lcyAke2RhdGFkaXJ9L2RidXMtMSAke2RhdGFkaXJ9L2ljb25zIgotRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vcnlnZWwtJHtMSUJWfS9lbmdpbmVzLy5kZWJ1ZyAke2xpYmRpcn0vcnlnZWwtJHtMSUJWfS9wbHVnaW5zLy5kZWJ1ZyIKLQotUEFDS0FHRVMgKz0gIiR7UE59LW1ldGEiCi1BTExPV19FTVBUWV8ke1BOfS1tZXRhID0gIjEiCi0KLVBBQ0tBR0VTX0RZTkFNSUMgPSAiJHtQTn0tcGx1Z2luLSoiCi0KLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJyeWdlbC5zZXJ2aWNlIgotCi1weXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7Ci0gICAgcnlnZWxfbGliZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfS9yeWdlbC0ke0xJQlZ9JykKLSAgICBwb3N0aW5zdCA9IGQuZ2V0VmFyKCdwbHVnaW5fcG9zdGluc3QnKQotICAgIHBrZ3MgPSBbXQotCi0gICAgcGtncyArPSBkb19zcGxpdF9wYWNrYWdlcyhkLCBvZS5wYXRoLmpvaW4ocnlnZWxfbGliZGlyLCAicGx1Z2lucyIpLCAnbGlicnlnZWwtKC4qKVwuc28kJywgZC5leHBhbmQoJyR7UE59LXBsdWdpbi0lcycpLCAnUnlnZWwgcGx1Z2luIGZvciAlcycsIHBvc3RpbnN0PXBvc3RpbnN0LCBleHRyYV9kZXBlbmRzPWQuZXhwYW5kKCcke1BOfScpKQotICAgIHBrZ3MgKz0gZG9fc3BsaXRfcGFja2FnZXMoZCwgb2UucGF0aC5qb2luKHJ5Z2VsX2xpYmRpciwgInBsdWdpbnMiKSwgJyguKilcLnBsdWdpbiQnLCBkLmV4cGFuZCgnJHtQTn0tcGx1Z2luLSVzJyksICdSeWdlbCBwbHVnaW4gZm9yICVzJywgcG9zdGluc3Q9cG9zdGluc3QsIGV4dHJhX2RlcGVuZHM9ZC5leHBhbmQoJyR7UE59JykpCi0KLSAgICBtZXRhcGtnID0gZC5nZXRWYXIoJ1BOJykgKyAnLW1ldGEnCi0gICAgZC5zZXRWYXIoJ1JERVBFTkRTXycgKyBtZXRhcGtnLCAnICcuam9pbihwa2dzKSkKLX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9yeWdlbC9yeWdlbF8wLjM3LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvcnlnZWwvcnlnZWxfMC4zNy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4NjlkODYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvcnlnZWwvcnlnZWxfMC4zNy4wLmJiCkBAIC0wLDAgKzEsNjggQEAKK1NVTU1BUlkgPSAiQSBVUG5QIEFWIG1lZGlhIHNlcnZlciBhbmQgcmVuZGVyZXIiCitERVNDUklQVElPTiA9ICJSeWdlbCBpcyBhIGhvbWUgbWVkaWEgc29sdXRpb24gKFVQblAgQVYgTWVkaWFTZXJ2ZXIpIHRoYXQgXAorYWxsb3cgeW91IHRvIGVhc2lseSBzaGFyZSBhdWRpbywgdmlkZW8gYW5kIHBpY3R1cmVzIHRvIG90aGVyIGRldmljZXMuIFwKK0FkZGl0aW9uYWxseSwgbWVkaWEgcGxheWVyIHNvZnR3YXJlIG1heSB1c2UgUnlnZWwgdG8gYmVjb21lIGEgTWVkaWFSZW5kZXJlciBcCit0aGF0IG1heSBiZSBjb250cm9sbGVkIHJlbW90ZWx5IGJ5IGEgVVBuUCBvciBETE5BIENvbnRyb2xsZXIuIgorSE9NRVBBR0UgPSAiaHR0cDovL2xpdmUuZ25vbWUub3JnL1J5Z2VsIgorCitMSUNFTlNFID0gIkxHUEwtMi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCisKK0RFUEVORFMgPSAibGlieG1sMiBnbGliLTIuMCBnc3NkcCBndXBucCBndXBucC1hdiBndXBucC1kbG5hIGdzdHJlYW1lcjEuMCBnc3RyZWFtZXIxLjAtcGx1Z2lucy1iYXNlIGxpYmdlZSBsaWJzb3VwLTIuNCBsaWJtZWRpYWFydC0yLjAgbGlidW5pc3RyaW5nIHNxbGl0ZTMgaW50bHRvb2wtbmF0aXZlIgorUkRFUEVORFNfJHtQTn0gPSAiZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZS1wbGF5YmFjayBzaGFyZWQtbWltZS1pbmZvIgorUlJFQ09NTUVORFNfJHtQTn0gPSAicnlnZWwtcGx1Z2luLW1lZGlhLWV4cG9ydCIKKworR05PTUVfQ09NUFJFU1NfVFlQRSA9ICJ4eiIKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImY4OTcxNjdhZDgyZTJlNzQxNTgyZjJjMzkzYTc2ODQzIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiZGZkM2Q4ODVkYTNhYzM4M2JhMGNmYmYxMTk5OTVmNGEwYzJiY2EyY2M4ZjhjZmNkM2RmMTBjZmVjOGYzNWNkNyIKKworaW5oZXJpdCBnbm9tZWJhc2UgdmFsYSBnb2JqZWN0LWludHJvc3BlY3Rpb24gZ2V0dGV4dCBzeXN0ZW1kCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtdHJhY2tlci1wbHVnaW4gLS13aXRoLW1lZGlhLWVuZ2luZT1nc3RyZWFtZXIiCisKK1BBQ0tBR0VDT05GSUcgPz0gImV4dGVybmFsIG1wcmlzIHJ1aWggbWVkaWEtZXhwb3J0IGdzdC1sYXVuY2giCisKK1BBQ0tBR0VDT05GSUdfYXBwZW5kID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAieDExIiwgIiBndGsrMyIsICIiLCBkKX0iCisKK1BBQ0tBR0VDT05GSUdbZXh0ZXJuYWxdID0gIi0tZW5hYmxlLWV4dGVybmFsLXBsdWdpbiwtLWRpc2FibGUtZXh0ZXJuYWwtcGx1Z2luIgorUEFDS0FHRUNPTkZJR1ttcHJpc10gPSAiLS1lbmFibGUtbXByaXMtcGx1Z2luLC0tZGlzYWJsZS1tcHJpcy1wbHVnaW4iCitQQUNLQUdFQ09ORklHW3J1aWhdID0gIi0tZW5hYmxlLXJ1aWgtcGx1Z2luLC0tZGlzYWJsZS1ydWloLXBsdWdpbiIKK1BBQ0tBR0VDT05GSUdbbWVkaWEtZXhwb3J0XSA9ICItLWVuYWJsZS1tZWRpYS1leHBvcnQtcGx1Z2luLC0tZGlzYWJsZS1tZWRpYS1leHBvcnQtcGx1Z2luIgorUEFDS0FHRUNPTkZJR1tnc3QtbGF1bmNoXSA9ICItLWVuYWJsZS1nc3QtbGF1bmNoLXBsdWdpbiwtLWRpc2FibGUtZ3N0LWxhdW5jaC1wbHVnaW4iCitQQUNLQUdFQ09ORklHW2d0ayszXSA9ICIsLS13aXRob3V0LXVpLGd0ayszIgorUEFDS0FHRUNPTkZJR1tsbXNdID0gIi0tZW5hYmxlLWxtcy1wbHVnaW4sLS1kaXNhYmxlLWxtcy1wbHVnaW4iCisKK0xJQlYgPSAiMi42IgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAgICAjIFJlbW92ZSAubGEgZmlsZXMgZm9yIGxvYWRhYmxlIG1vZHVsZXMKKyAgICAgICBybSAtZiAke0R9LyR7bGliZGlyfS9yeWdlbC0ke0xJQlZ9L2VuZ2luZXMvKi5sYQorICAgICAgIHJtIC1mICR7RH0vJHtsaWJkaXJ9L3J5Z2VsLSR7TElCVn0vcGx1Z2lucy8qLmxhCisgICAgICAgaWYgWyAtZSAke0R9JHtsaWJkaXJ9L3N5c3RlbWQvdXNlci9yeWdlbC5zZXJ2aWNlIF07IHRoZW4KKyAgICAgICAgICAgICAgIG1rZGlyIC1wICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgICAgICAgICBtdiAke0R9JHtsaWJkaXJ9L3N5c3RlbWQvdXNlci9yeWdlbC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgICAgICAgICBybWRpciAke0R9JHtsaWJkaXJ9L3N5c3RlbWQvdXNlciAke0R9JHtsaWJkaXJ9L3N5c3RlbWQKKyAgICAgICBmaQorfQorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3J5Z2VsLSR7TElCVn0vZW5naW5lcyAke2RhdGFkaXJ9L2RidXMtMSAke2RhdGFkaXJ9L2ljb25zIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vcnlnZWwtJHtMSUJWfS9lbmdpbmVzLy5kZWJ1ZyAke2xpYmRpcn0vcnlnZWwtJHtMSUJWfS9wbHVnaW5zLy5kZWJ1ZyIKKworUEFDS0FHRVMgKz0gIiR7UE59LW1ldGEiCitBTExPV19FTVBUWV8ke1BOfS1tZXRhID0gIjEiCisKK1BBQ0tBR0VTX0RZTkFNSUMgPSAiJHtQTn0tcGx1Z2luLSoiCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJyeWdlbC5zZXJ2aWNlIgorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CisgICAgcnlnZWxfbGliZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfS9yeWdlbC0ke0xJQlZ9JykKKyAgICBwb3N0aW5zdCA9IGQuZ2V0VmFyKCdwbHVnaW5fcG9zdGluc3QnKQorICAgIHBrZ3MgPSBbXQorCisgICAgcGtncyArPSBkb19zcGxpdF9wYWNrYWdlcyhkLCBvZS5wYXRoLmpvaW4ocnlnZWxfbGliZGlyLCAicGx1Z2lucyIpLCAnbGlicnlnZWwtKC4qKVwuc28kJywgZC5leHBhbmQoJyR7UE59LXBsdWdpbi0lcycpLCAnUnlnZWwgcGx1Z2luIGZvciAlcycsIHBvc3RpbnN0PXBvc3RpbnN0LCBleHRyYV9kZXBlbmRzPWQuZXhwYW5kKCcke1BOfScpKQorICAgIHBrZ3MgKz0gZG9fc3BsaXRfcGFja2FnZXMoZCwgb2UucGF0aC5qb2luKHJ5Z2VsX2xpYmRpciwgInBsdWdpbnMiKSwgJyguKilcLnBsdWdpbiQnLCBkLmV4cGFuZCgnJHtQTn0tcGx1Z2luLSVzJyksICdSeWdlbCBwbHVnaW4gZm9yICVzJywgcG9zdGluc3Q9cG9zdGluc3QsIGV4dHJhX2RlcGVuZHM9ZC5leHBhbmQoJyR7UE59JykpCisKKyAgICBtZXRhcGtnID0gZC5nZXRWYXIoJ1BOJykgKyAnLW1ldGEnCisgICAgZC5zZXRWYXIoJ1JERVBFTkRTXycgKyBtZXRhcGtnLCAnICcuam9pbihwa2dzKSkKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWR2Yi9vc2NhbS9vc2NhbS8wMDAxLWluY2x1ZGUtc3lzLXN5c21hY3Jvcy5oLWZvci1tYWpvci1taW5vci1kZWZpbml0aW9ucy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWR2Yi9vc2NhbS9vc2NhbS8wMDAxLWluY2x1ZGUtc3lzLXN5c21hY3Jvcy5oLWZvci1tYWpvci1taW5vci1kZWZpbml0aW9ucy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDNkODllMy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1kdmIvb3NjYW0vb3NjYW0vMDAwMS1pbmNsdWRlLXN5cy1zeXNtYWNyb3MuaC1mb3ItbWFqb3ItbWlub3ItZGVmaW5pdGlvbnMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1Gcm9tIGEzNzJmZTQ2NzQ5NWE2NzRhZDYyNDRiNjdlODNkZmJmYTg0NTVmNTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU2F0LCAxMSBBdWcgMjAxOCAxMzo1NDozMiAtMDcwMAotU3ViamVjdDogW1BBVENIXSBpbmNsdWRlIHN5cy9zeXNtYWNyb3MuaCBmb3IgbWFqb3IvbWlub3IgZGVmaW5pdGlvbnMKLQotY3NjdGFwaS9pZmRfZGIyY29tLmM6Mjc6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYG1pbm9yJwotY29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGdsb2JhbHMuaCB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvZ2xvYmFscy5oIGIvZ2xvYmFscy5oCi1pbmRleCBiZDEyMjQ0Li45ZTEwMjI1IDEwMDY0NAotLS0tIGEvZ2xvYmFscy5oCi0rKysgYi9nbG9iYWxzLmgKLUBAIC0zNiw2ICszNiw3IEBACi0gI2luY2x1ZGUgPHRlcm1pb3MuaD4KLSAjaW5jbHVkZSA8aW50dHlwZXMuaD4KLSAjaW5jbHVkZSA8c3lzL3V0c25hbWUuaD4KLSsjaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgotIAotIC8qCi0gICogVGhlIGZvbGxvd2luZyBoYWNrIGlzIHRha2VuIGZyb20gTGludXg6IGluY2x1ZGUvbGludXgva2NvbmZpZy5oCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1kdmIvb3NjYW0vb3NjYW1fc3ZuLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtZHZiL29zY2FtL29zY2FtX3N2bi5iYgppbmRleCBhOGFlYzExLi41YWNkZDdlIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1kdmIvb3NjYW0vb3NjYW1fc3ZuLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWR2Yi9vc2NhbS9vc2NhbV9zdm4uYmIKQEAgLTQsMTIgKzQsMTEgQEAKIExJQ0VOU0UgPSAiR1BMdjMiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKIAotREVQRU5EUyA9ICJsaWJ1c2IxIG9wZW5zc2wxMCBwY3NjLWxpdGUiCitERVBFTkRTID0gImxpYnVzYjEgb3BlbnNzbCBwY3NjLWxpdGUiCiAKIFNSQ19VUkkgPSAic3ZuOi8vd3d3LnN0cmVhbWJvYXJkLnR2L3N2bi9vc2NhbTttb2R1bGU9dHJ1bms7cHJvdG9jb2w9aHR0cCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWluY2x1ZGUtc3lzLXN5c21hY3Jvcy5oLWZvci1tYWpvci1taW5vci1kZWZpbml0aW9ucy5wYXRjaCBcCiAgICAgICAgICAgICIKLVNSQ1JFViA9ICIxMTQzMSIKK1NSQ1JFViA9ICIxMTQ5MSIKIFBWID0gIjEuMTArJHtTUkNQVn0iCiAKIFMgPSAiJHtXT1JLRElSfS90cnVuayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWR2Yi90dmhlYWRlbmQvdHZoZWFkZW5kX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWR2Yi90dmhlYWRlbmQvdHZoZWFkZW5kX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzZjZDQ2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtZHZiL3R2aGVhZGVuZC90dmhlYWRlbmRfZ2l0LmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiVHZoZWFkZW5kOiBUViBzdHJlYW1pbmcgc2VydmVyIGFuZCByZWNvcmRlciIKK0hPTUVQQUdFID0gImh0dHBzOi8vdHZoZWFkZW5kLm9yZy8iCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBnZXR0ZXh0IGdpdHBrZ3YgcGtnY29uZmlnCisKK0RFUEVORFMgPSAiYXZhaGkgY21ha2UtbmF0aXZlIGR2Yi1hcHBzIGxpYmR2YmNzYSBsaWJwY3JlMiBvcGVuc3NsIHVyaXBhcnNlciB6bGliIgorCitMSUNFTlNFID0gIkdQTHYzKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UubWQ7bWQ1PTljYWU1YWNhYzJlOWVlMmZjM2FlYzAxYWM4OGNlNWRiIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vdHZoZWFkZW5kL3R2aGVhZGVuZC5naXQiCisKK1NSQ1JFViA9ICJiZGMyYWU5ZTE5NTIwYTEwY2RmMGJlYzBmY2MwMDUwYjMyYmM3NWZmIgorUFYgPSAiNC4zK2dpdCR7U1JDUFZ9IgorUEtHViA9ICI0LjMrZ2l0JHtHSVRQS0dWfSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworRVhUUkFfT0VDT05GICs9ICItLWFyY2g9JHtUQVJHRVRfQVJDSH0gXAorICAgICAgICAgICAgICAgICAtLWRpc2FibGUtaGRob21lcnVuX3N0YXRpYyBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1mZm1wZWdfc3RhdGljIFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWxpYmF2IFwKKyAgICAgICAgICAgICAgICAgIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9jYXBzL2NhcHNfMC45LjI0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9jYXBzL2NhcHNfMC45LjI0LmJiCmluZGV4IGZlODY0YzQuLjA0MDRiZDUgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvY2Fwcy9jYXBzXzAuOS4yNC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2NhcHMvY2Fwc18wLjkuMjQuYmIKQEAgLTMsNyArMyw3IEBACiBMSUNFTlNFID0gIkdQTC0zIgogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCiAKLVNSQ19VUkkgPSAiaHR0cDovL3F1aXR0ZS5kZS9kc3AvJHtQTn1fJHtQVn0udGFyLmJ6MiBcCitTUkNfVVJJID0gImh0dHA6Ly9xdWl0dGUuZGUvZHNwLyR7QlBOfV8ke1BWfS50YXIuYnoyIFwKICAgICAgICAgICAgZmlsZTovL0F2b2lkLWFtYmlndWl0eS1pbi1kaXYtaW52b2NhdGlvbi5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWJhc2ljLmgtVXNlLWM5OS1zdXBwb3J0ZWQtc3RkaW50LXR5cGVzLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL2FwcGVuZF9sZGZsYWdzLnBhdGNoIFwKQEAgLTEzLDggKzEzLDYgQEAKIFNSQ19VUklbbWQ1c3VtXSA9ICJjMWQ2MzQwMzhkY2I1NDcwMjMwNmMwZTMwY2IxYzYyNiIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICJmNzQ2ZmViYTU3YWYzMTZiMTU5ZjAxNjlkZTVkNzhiNGZkMTA2NGMyYzBjODAxN2NiNTg1NmIyZjIyZTgzZjIwIgogCi1TID0gIiR7V09SS0RJUn0vJHtQTn0tJHtQVn0iCi0KIEVYVFJBX09FTUFLRSA9ICIgXAogICAgIENDPScke0NYWH0nIFwKICAgICBDRkxBR1M9JyR7Q0ZMQUdTfSAtZmZhc3QtbWF0aCAtZnVucm9sbC1sb29wcyAtZlBJQyAtRFBJQycgXApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9kdmItYXBwc18xLjEuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZHZiLWFwcHNfMS4xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmY5ZWFiYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZHZiLWFwcHNfMS4xLjEuYmIKQEAgLTAsMCArMSwxMDcgQEAKK1NVTU1BUlkgPSAiTGludXggRFZCIEFQSSBhcHBsaWNhdGlvbnMgYW5kIHV0aWxpdGllcyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubGludXh0di5vcmciCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCitTUkNSRVYgPSAiM2Q0M2IyODAyOThjMzlhNjdkMWQ4ODllMDFlMTczZjUyYzEyZGEzNSIKKworU1JDX1VSSSA9ICJoZzovL2xpbnV4dHYub3JnL2hnO21vZHVsZT1kdmItYXBwcztwcm90b2NvbD1odHRwIFwKKyAgICAgICAgICBmaWxlOi8vZHZiLWZlLXhjNTAwMGMtNC4xLjMwLjcuZncgXAorICAgICAgICAgIGZpbGU6Ly9kdmItc2Nhbi10YWJsZSBcCisgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWdlbmVyYXRlLWtleW5hbWVzLnBhdGNoIFwKKyAgICAgICAgICBmaWxlOi8vMDAwMi1GaXgtY29tcGlsZXItd2FybmluZy1mbGFncy5wYXRjaCBcCisgICAgICAgICAgZmlsZTovLzAwMDMtaGFuZGxlLXN0YXRpYy1zaGFyZWQtb25seS1idWlsZC5wYXRjaCBcCisgICAgICAgICAgZmlsZTovLzAwMDQtTWFrZWZpbGUtcmVtb3ZlLXRlc3QucGF0Y2ggXAorICAgICAgICAgIGZpbGU6Ly8wMDA1LWxpYnVjc2ktb3B0aW1pemF0aW9uLXJlbW92YWwucGF0Y2ggXAorICAgICAgICAgIGZpbGU6Ly8wMDA2LUNBX1NFVF9QSUQucGF0Y2ggXAorICAgICAgICAgICIKKworUyA9ICIke1dPUktESVJ9LyR7QlBOfSIKKworaW5oZXJpdCBwZXJsbmF0aXZlCisKK2V4cG9ydCBlbmFibGVfc3RhdGljPSJubyIKKworZG9fY29uZmlndXJlKCkgeworICAgIHNlZCAtaSAtZSBzOi91c3IvaW5jbHVkZToke1NUQUdJTkdfSU5DRElSfTpnIHV0aWwvYXY3MTEwX2xvYWRrZXlzL2dlbmVyYXRlLWtleW5hbWVzLnNoCit9Citkb19pbnN0YWxsKCkgeworICAgIG1ha2UgREVTVERJUj0ke0R9IGluc3RhbGwKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9LyR7ZG9jZGlyfS9kdmItYXBwcworICAgIGluc3RhbGwgLWQgJHtEfS8ke2RvY2Rpcn0vZHZiLWFwcHMvc2NhbgorICAgIGluc3RhbGwgLWQgJHtEfS8ke2RvY2Rpcn0vZHZiLWFwcHMvc3phcAorICAgIGNobW9kIGErcnggJHtEfS8ke2xpYmRpcn0vKi5zbyoKKyAgICBpZiBbICIke0RWQl9XSU5UVl9UVU5FUn0iID0gInRydWUiIF07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9L2xpYi9maXJtd2FyZQorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS8qLmZ3ICR7RH0vbGliL2Zpcm13YXJlLworICAgIGZpCisgICAgY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgJHtTfS91dGlsL3N6YXAvY2hhbm5lbHMtY29uZiogJHtEfS8ke2RvY2Rpcn0vZHZiLWFwcHMvc3phcC8KKyAgICBjcCAtUiAtLW5vLWRlcmVmZXJlbmNlIC0tcHJlc2VydmU9bW9kZSxsaW5rcyAke1N9L3V0aWwvc3phcC9SRUFETUUgICAke0R9LyR7ZG9jZGlyfS9kdmItYXBwcy9zemFwLworICAgIGNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzICR7V09SS0RJUn0vZHZiLXNjYW4tdGFibGUvKiAke0R9L3Vzci9zaGFyZS9kdmIKK30KKworUEFDS0FHRVMgPSsgImR2Yi1ldnRlc3QgZHZiLWV2dGVzdC1kYmcgXAorICAgICAgICAgICAgIGR2YmFwcC10ZXN0cyBkdmJhcHAtdGVzdHMtZGJnIFwKKyAgICAgICAgICAgICBkdmJkYXRlIGR2YmRhdGUtZGJnIFwKKyAgICAgICAgICAgICBkdmJ0cmFmZmljIGR2YnRyYWZmaWMtZGJnIFwKKyAgICAgICAgICAgICBkdmJuZXQgZHZibmV0LWRiZyBcCisgICAgICAgICAgICAgZHZiLXNjYW4gZHZiLXNjYW4tZGJnIGR2Yi1zY2FuLWRhdGEgXAorICAgICAgICAgICAgIGR2Yi1hemFwIGR2Yi1hemFwLWRiZyBcCisgICAgICAgICAgICAgZHZiLWN6YXAgZHZiLWN6YXAtZGJnIFwKKyAgICAgICAgICAgICBkdmItc3phcCBkdmItc3phcC1kYmcgXAorICAgICAgICAgICAgIGR2Yi10emFwIGR2Yi10emFwLWRiZyBcCisgICAgICAgICAgICAgZHZiLWZlbW9uIGR2Yi1mZW1vbi1kYmcgXAorICAgICAgICAgICAgIGR2Yi16YXAtZGF0YSIKK1BBQ0tBR0VTID0rICJsaWJkdmJhcGkgbGliZHZiY2ZnIGxpYmR2YmVuNTAyMjEgXAorICAgICAgICAgICAgbGliZXNnIGxpYnVjc2kgbGliZHZic2VjIgorCitSREVQRU5EU19kdmJkYXRlID0rICJsaWJkdmJhcGkgbGlidWNzaSIKK1JERVBFTkRTX2R2YnRyYWZmaWMgPSsgImxpYmR2YmFwaSIKK1JERVBFTkRTX2R2Yi1zY2FuID0rICJsaWJkdmJhcGkgbGliZHZiY2ZnIGxpYmR2YnNlYyIKK1JERVBFTkRTX2R2Yi1hcHBzID0rICJsaWJkdmJhcGkgbGliZHZiY2ZnIGxpYmR2YnNlYyBsaWJkdmJlbjUwMjIxIGxpYnVjc2kiCitSREVQRU5EU19kdmItZmVtb24gPSsgImxpYmR2YmFwaSIKK1JERVBFTkRTX2R2Ym5ldCA9KyAibGliZHZiYXBpIgorCitSQ09ORkxJQ1RTX2R2Yi1ldnRlc3QgPSAiZXZ0ZXN0IgorCitGSUxFU18ke1BOfSA9ICIke2JpbmRpcn0gJHtkYXRhZGlyfS9kdmIgbGliL2Zpcm13YXJlIgorRklMRVNfJHtQTn0tZG9jID0gIiIKK0ZJTEVTXyR7UE59LWRldiA9ICIke2luY2x1ZGVkaXJ9IgorRklMRVNfZHZiLWV2dGVzdCA9ICIke2JpbmRpcn0vZXZ0ZXN0IgorRklMRVNfZHZiLWV2dGVzdC1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy9ldnRlc3QiCitGSUxFU19kdmJhcHAtdGVzdHMgPSAiJHtiaW5kaXJ9Lyp0ZXN0KiAiCitGSUxFU19kdmJhcHAtdGVzdHMtZGJnID0gIiR7YmluZGlyfS8uZGVidWcvKnRlc3QqIgorRklMRVNfZHZiZGF0ZSA9ICIke2JpbmRpcn0vZHZiZGF0ZSIKK0ZJTEVTX2R2YmRhdGUtZGJnID0gIiR7YmluZGlyfS8uZGVidWcvZHZiZGF0ZSIKK0ZJTEVTX2R2YnRyYWZmaWMgPSAiJHtiaW5kaXJ9L2R2YnRyYWZmaWMiCitGSUxFU19kdmJ0cmFmZmljLWRiZyA9ICIke2JpbmRpcn0vLmRlYnVnL2R2YnRyYWZmaWMiCitGSUxFU19kdmJuZXQgPSAiJHtiaW5kaXJ9L2R2Ym5ldCIKK0ZJTEVTX2R2Ym5ldC1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy9kdmJuZXQiCitGSUxFU19kdmItc2NhbiA9ICIke2JpbmRpcn0vKnNjYW4gIgorRklMRVNfZHZiLXNjYW4tZGJnID0gIiR7YmluZGlyfS8uZGVidWcvKnNjYW4iCitGSUxFU19kdmItc2Nhbi1kYXRhID0gIiR7ZG9jZGlyfS9kdmItYXBwcy9zY2FuIgorRklMRVNfZHZiLWF6YXAgPSAiJHtiaW5kaXJ9L2F6YXAiCitGSUxFU19kdmItYXphcC1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy9hemFwIgorRklMRVNfZHZiLWN6YXAgPSAiJHtiaW5kaXJ9L2N6YXAiCitGSUxFU19kdmItY3phcC1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy9jemFwIgorRklMRVNfZHZiLXN6YXAgPSAiJHtiaW5kaXJ9L3N6YXAiCitGSUxFU19kdmItc3phcC1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy9zemFwIgorRklMRVNfZHZiLXR6YXAgPSAiJHtiaW5kaXJ9L3R6YXAiCitGSUxFU19kdmItdHphcC1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy90emFwIgorRklMRVNfZHZiLWZlbW9uID0gIiR7YmluZGlyfS9mZW1vbiIKK0ZJTEVTX2R2Yi1mZW1vbi1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy9mZW1vbiIKK0ZJTEVTX2R2Yi16YXAtZGF0YSA9ICIke2RvY2Rpcn0vZHZiLWFwcHMvc3phcCIKKworcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQgKCkgeworICAgIGR2Yl9saWJkaXIgPSBiYi5kYXRhLmV4cGFuZCgnJHtsaWJkaXJ9JywgZCkKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBkdmJfbGliZGlyLCAnXmxpYiguKilcLnNvJCcsICdsaWIlcycsICdEVkIgJXMgcGFja2FnZScsIGV4dHJhX2RlcGVuZHM9JycsIGFsbG93X2xpbmtzPVRydWUpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZHZiX2xpYmRpciwgJ15saWIoLiopXC5sYSQnLCAnbGliJXMtZGV2JywgJ0RWQiAlcyBkZXZlbG9wbWVudCBwYWNrYWdlJywgZXh0cmFfZGVwZW5kcz0nJHtQTn0tZGV2JykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBkdmJfbGliZGlyLCAnXmxpYiguKilcLmEkJywgJ2xpYiVzLWRldicsICdEVkIgJXMgZGV2ZWxvcG1lbnQgcGFja2FnZScsIGV4dHJhX2RlcGVuZHM9JyR7UE59LWRldicpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZHZiX2xpYmRpciwgJ15saWIoLiopXC5zb1wuKicsICdsaWIlcycsICdEVkIgJXMgbGlicmFyeScsIGV4dHJhX2RlcGVuZHM9JycsIGFsbG93X2xpbmtzPVRydWUpCit9CisKK0lOU0FORV9TS0lQXyR7UE59ID0gImxkZmxhZ3MiCitJTlNBTkVfU0tJUF8ke1BOfS1kZXYgPSAibGRmbGFncyIKKworRFZCX1dJTlRWX1RVTkVSID0gInRydWUiCitUQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvMDAwMS1GaXgtZ2VuZXJhdGUta2V5bmFtZXMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzLzAwMDEtRml4LWdlbmVyYXRlLWtleW5hbWVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ5ODYwN2QKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzLzAwMDEtRml4LWdlbmVyYXRlLWtleW5hbWVzLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKK0ZpeCBnZW5lcmF0ZS1rZXluYW1lcy5zaCBzY3JpcHQgZm9yIGNyb3NzLWNvbXBpbGF0aW9uCisKK2dlbmVyYXRlLWtleW5hbWVzLnNoIHJlYWRzIC91c3IvaW5jbHVkZS9saW51eCB0byBmaW5kIHRoZSBrZXluYW1lCitzeW1ib2xzLiBIb3dldmVyLCB3aGVuIGNyb3NzLWNvbXBpbGluZywgdGhlIGluY2x1ZGUgcGF0aCBwb2ludHMKK3NvbWV3aGVyZSBlbHNlLiBBbGxvdyB0aGUgdXNlciB0byBwYXNzIENST1NTX1JPT1QgdG8gcG9pbnQgdG8gdGhlCityb290IG9mIHRoZSBjcm9zcy1jb21waWxhdGlvbiBlbnZpcm9ubWVudC4KKworU2lnbmVkLW9mZi1ieTogQXJub3V0IFZhbmRlY2FwcGVsbGUgKEVzc2Vuc2l1bS9NaW5kKSA8YXJub3V0QG1pbmQuYmU+CistLS0KK2RpZmYgLXJ1cCBkdmItYXBwcy04M2M3NDY0NjJjY2Iub3JpZy91dGlsL2F2NzExMF9sb2Fka2V5cy9nZW5lcmF0ZS1rZXluYW1lcy5zaCBkdmItYXBwcy04M2M3NDY0NjJjY2IvdXRpbC9hdjcxMTBfbG9hZGtleXMvZ2VuZXJhdGUta2V5bmFtZXMuc2gKKy0tLSBkdmItYXBwcy04M2M3NDY0NjJjY2Iub3JpZy91dGlsL2F2NzExMF9sb2Fka2V5cy9nZW5lcmF0ZS1rZXluYW1lcy5zaAkyMDEyLTEyLTA2IDEwOjM4OjA3LjAwMDAwMDAwMCArMDEwMAorKysrIGR2Yi1hcHBzLTgzYzc0NjQ2MmNjYi91dGlsL2F2NzExMF9sb2Fka2V5cy9nZW5lcmF0ZS1rZXluYW1lcy5zaAkyMDEzLTA4LTI5IDIxOjQ3OjA5LjcxNzk5MTQzOSArMDIwMAorQEAgLTE4LDcgKzE4LDcgQEAgZWNobyAifTsiID4+ICQxCisgZWNobyA+PiAkMQorIGVjaG8gPj4gJDEKKyBlY2hvICJzdGF0aWMgc3RydWN0IGlucHV0X2tleV9uYW1lIGtleV9uYW1lIFtdID0geyIgPj4gJDEKKy1mb3IgeCBpbiAkKGNhdCAvdXNyL2luY2x1ZGUvbGludXgvaW5wdXQuaCBpbnB1dF9mYWtlLmggfCBcCisrZm9yIHggaW4gJChjYXQgJHtDUk9TU19ST09UfS91c3IvaW5jbHVkZS9saW51eC9pbnB1dC5oIGlucHV0X2Zha2UuaCB8IFwKKyAgICAgICAgICAgIGVncmVwICIjZGVmaW5lWyBcdF0rS0VZXyIgfCBncmVwIC12IEtFWV9NQVggfCBcCisgICAgICAgICAgICBjdXQgLWYgMSB8IGN1dCAtZiAyIC1kICIgIiB8IHNvcnQgLXUpIDsgZG8KKyAgICAgZWNobyAiICAgICAgICB7IFwiJChlY2hvICR4IHwgY3V0IC1iIDUtKVwiLCAkeCB9LCIgPj4gJDEKK0BAIC0yNiw3ICsyNiw3IEBAIGRvbmUKKyBlY2hvICJ9OyIgPj4gJDEKKyBlY2hvID4+ICQxCisgZWNobyAic3RhdGljIHN0cnVjdCBpbnB1dF9rZXlfbmFtZSBidG5fbmFtZSBbXSA9IHsiID4+ICQxCistZm9yIHggaW4gJChjYXQgL3Vzci9pbmNsdWRlL2xpbnV4L2lucHV0LmggaW5wdXRfZmFrZS5oIHwgXAorK2ZvciB4IGluICQoY2F0ICR7Q1JPU1NfUk9PVH0vdXNyL2luY2x1ZGUvbGludXgvaW5wdXQuaCBpbnB1dF9mYWtlLmggfCBcCisgICAgICAgICAgICBlZ3JlcCAiI2RlZmluZVsgXHRdK0JUTl8iIHwgXAorICAgICAgICAgICAgY3V0IC1mIDEgfCBjdXQgLWYgMiAtZCAiICIgfCBzb3J0IC11KSA7IGRvCisgICAgICBlY2hvICIgICAgICAgIHsgXCIkKGVjaG8gJHggfCBjdXQgLWIgNS0pXCIsICR4IH0sIiA+PiAkMQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy8wMDAyLUZpeC1jb21waWxlci13YXJuaW5nLWZsYWdzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy8wMDAyLUZpeC1jb21waWxlci13YXJuaW5nLWZsYWdzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljNjI3NmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzLzAwMDItRml4LWNvbXBpbGVyLXdhcm5pbmctZmxhZ3MucGF0Y2gKQEAgLTAsMCArMSw0NCBAQAorRnJvbSA5YjhmMWRmNDFmNzU3OWRhNjNjMjc3NjNmZjE4NGQzNTFlNGM3ZmVmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogU2ltb24gRGF3c29uIDxzcGRhd3NvbkBnbWFpbC5jb20+CitEYXRlOiBTdW4sIDQgSmFuIDIwMTUgMTI6MDY6MTggKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IGNvbXBpbGVyIHdhcm5pbmcgZmxhZ3MKKworICBXaGVuIGJ1aWxkaW5nIGZvciBiZmluLCB0aGUgYnVpbGQgZmFpbHMgYXMgZm9sbG93cy4KKworICBjYzE6IGVycm9yOiB1bnJlY29nbml6ZWQgY29tbWFuZCBsaW5lIG9wdGlvbiAiLVduby1wYWNrZWQtYml0ZmllbGQtY29tcGF0IgorCitBbiBleGFtcGxlIG9mIGFuIGF1dG9idWlsZCBmYWlsdXJlIGFyaXNpbmcgZnJvbSB0aGlzIGlzIHRoZSBmb2xsb3dpbmcuCisKKyAgaHR0cDovL2F1dG9idWlsZC5idWlsZHJvb3QubmV0L3Jlc3VsdHMvOTJlLzkyZTQ3MjAwNDgxMmEzNjE2ZjYyZDc2NmE5ZWEwN2E5OTdhNjZlODkvCisgIGh0dHA6Ly9hdXRvYnVpbGQuYnVpbGRyb290Lm5ldC9yZXN1bHRzLzZlNy82ZTdiNDhhZDk3NjgzNDlkOTgzOTg1YzMwNjdjNDI2N2NkZTgwNTQxLworCitDbGVhcmx5LCBub3QgYWxsIHRvb2xjaGFpbnMgcHJvdmlkZSBhIGdjYyB0aGF0IHVuZGVyc3RhbmRzCit0aGUgLVduby1wYWNrZWQtYml0ZmllbGQtY29tcGF0IGZsYWc7IHJlbW92ZSB1c2FnZSBvZiB0aGlzIGZsYWcuCisKK1duby1wYWNrZWQtYml0ZmllbGQtY29tcGF0IG9wdGlvbiB3YXMgYWRkZWQgaW4gZ2NjIDQuNC4KKworW1JvbWFpbjoKKyAgLSBUaGlzIHBhdGNoIGlzIGFsc28gbmVlZGVkIGZvciBiZmluIHRvb2xjaGFpbnMgd2hpY2ggdXNlIGdjYyA0LjMuNQorICAtIEFkZCBhIGxpbmsgdG8gYmZpbiBidWlsZCBmYWlsdXJlXQorU2lnbmVkLW9mZi1ieTogU2ltb24gRGF3c29uIDxzcGRhd3NvbkBnbWFpbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBSb21haW4gTmFvdXIgPHJvbWFpbi5uYW91ckBvcGVud2lkZS5mcj4KKy0tLQorIHV0aWwvc2Nhbi9NYWtlZmlsZSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3V0aWwvc2Nhbi9NYWtlZmlsZSBiL3V0aWwvc2Nhbi9NYWtlZmlsZQoraW5kZXggZDQ4YzQ3OC4uODg2NjdjNSAxMDA2NDQKKy0tLSBhL3V0aWwvc2Nhbi9NYWtlZmlsZQorKysrIGIvdXRpbC9zY2FuL01ha2VmaWxlCitAQCAtMTQsNyArMTQsNyBAQCBpbnN0X2JpbiA9ICQoYmluYXJpZXMpCisgCisgcmVtb3ZpbmcgPSBhdHNjX3BzaXBfc2VjdGlvbi5jIGF0c2NfcHNpcF9zZWN0aW9uLmgKKyAKKy1DUFBGTEFHUyArPSAtV25vLXBhY2tlZC1iaXRmaWVsZC1jb21wYXQgLURfX0tFUk5FTF9TVFJJQ1RfTkFNRVMKKytDUFBGTEFHUyArPSAtRF9fS0VSTkVMX1NUUklDVF9OQU1FUworIAorIC5QSE9OWTogYWxsCisgCistLSAKKzEuOS4zCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvMDAwMy1oYW5kbGUtc3RhdGljLXNoYXJlZC1vbmx5LWJ1aWxkLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy8wMDAzLWhhbmRsZS1zdGF0aWMtc2hhcmVkLW9ubHktYnVpbGQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGRjN2M2OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvMDAwMy1oYW5kbGUtc3RhdGljLXNoYXJlZC1vbmx5LWJ1aWxkLnBhdGNoCkBAIC0wLDAgKzEsNDQgQEAKK0Zyb20gYTgyNmM3YzcyMmRiNDBiZmVkZjAwZTUxY2UzODQxMTU1MGFlODIxNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvbWFpbiBOYW91ciA8cm9tYWluLm5hb3VyQG9wZW53aWRlLmZyPgorRGF0ZTogVGh1LCAyNSBEZWMgMjAxNCAxOToyMjoxNiArMDEwMAorU3ViamVjdDogW1BBVENIXSBNYWtlLnJ1bGVzOiBIYW5kbGUgc3RhdGljL3NoYXJlZCBvbmx5IGJ1aWxkCisKK0RvIG5vdCBidWlsZCAuYSBsaWJyYXJ5IHdoZW4gZW5hYmxlX3N0YXRpYyBpcyBzZXQgdG8gIm5vIgorRG8gbm90IGJ1aWxkIC5zbyBsaWJyYXJ5IHdoZW4gZW5hYmxlX3NoYXJlZCBpcyBzZXQgdG8gIm5vIgorCitTaWduZWQtb2ZmLWJ5OiBSb21haW4gTmFvdXIgPHJvbWFpbi5uYW91ckBvcGVud2lkZS5mcj4KKy0tLQorIE1ha2UucnVsZXMgfCAxMCArKysrKysrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2UucnVsZXMgYi9NYWtlLnJ1bGVzCitpbmRleCAzNDEwZDdiLi5kMjc0ZTE2IDEwMDY0NAorLS0tIGEvTWFrZS5ydWxlcworKysrIGIvTWFrZS5ydWxlcworQEAgLTksNyArOSwxMyBAQCBpZm5lcSAoJChsaWJfbmFtZSksKQorIENGTEFHU19MSUIgPz0gLWZQSUMKKyBDRkxBR1MgKz0gJChDRkxBR1NfTElCKQorIAorLWxpYnJhcmllcyA9ICQobGliX25hbWUpLnNvICQobGliX25hbWUpLmEKKytpZm5lcSAoJChlbmFibGVfc3RhdGljKSxubykKKytsaWJyYXJpZXMgKz0gJChsaWJfbmFtZSkuYQorK2VuZGlmCisrCisraWZuZXEgKCQoZW5hYmxlX3NoYXJlZCksbm8pCisrbGlicmFyaWVzICs9ICQobGliX25hbWUpLnNvCisrZW5kaWYKKyAKKyAuUEhPTlk6IGxpYnJhcnkKKyAKK0BAIC0yMyw3ICsyOSw3IEBAIHByZXJlcXVpc2l0ZXMgPSAkKHN1YnN0IC5vLC5kLCQob2JqZWN0cykpICQoYWRkc3VmZml4IC5kLCQoYmluYXJpZXMpKQorIAorIC5QSE9OWTogY2xlYW4gaW5zdGFsbAorIAorLWlmZXEgKCQoc3RhdGljKSwxKQorK2lmbmVxICgkKGVuYWJsZV9zdGF0aWMpLG5vKQorIExERkxBR1MgKz0gLXN0YXRpYworIGVuZGlmCisgCistLSAKKzEuOS4zCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvMDAwNC1NYWtlZmlsZS1yZW1vdmUtdGVzdC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvMDAwNC1NYWtlZmlsZS1yZW1vdmUtdGVzdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NWJmYWQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy8wMDA0LU1ha2VmaWxlLXJlbW92ZS10ZXN0LnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK0Zyb20gYzU3ODc3MmQ2YWJjNWZkZjNlYzgzZjYzMmMzNzEzNzNlNWJhZjlmMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvbWFpbiBOYW91ciA8cm9tYWluLm5hb3VyQG9wZW53aWRlLmZyPgorRGF0ZTogRnJpLCAyNiBEZWMgMjAxNCAwMTowNDo1OCArMDEwMAorU3ViamVjdDogW1BBVENIXSBNYWtlZmlsZTogcmVtb3ZlIHRlc3QKKworVGVzdHMgbmVlZHMgc3RhdGljIGxpYnJhcmllcywgcmVtb3ZlIHRoZW0gZm9yIHNoYXJlZCBvbmx5IGJ1aWxkLgorCitTaWduZWQtb2ZmLWJ5OiBSb21haW4gTmFvdXIgPHJvbWFpbi5uYW91ckBvcGVud2lkZS5mcj4KKy0tLQorIE1ha2VmaWxlIHwgMSAtCisgMSBmaWxlIGNoYW5nZWQsIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKK2luZGV4IDY1YTIyNzMuLjEwNWM0NjAgMTAwNjQ0CistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC0xMCw3ICsxMCw2IEBAIERWQl9BUElfTUlOT1IgOj0gJCh3b3JkIDMsICQoc2hlbGwgZ3JlcCAtbTEgIkRWQl9BUElfVkVSU0lPTl9NSU5PUiIgJChWRVJTSU9OX0ZJCisgCisgYWxsIGNsZWFuIGluc3RhbGw6CisgCSQoTUFLRSkgLUMgbGliICRACistCSQoTUFLRSkgLUMgdGVzdCAkQAorIAkkKE1BS0UpIC1DIHV0aWwgJEAKKyAKKyB1cGRhdGU6CistLSAKKzEuOS4zCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvMDAwNS1saWJ1Y3NpLW9wdGltaXphdGlvbi1yZW1vdmFsLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy8wMDA1LWxpYnVjc2ktb3B0aW1pemF0aW9uLXJlbW92YWwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjEyZDM1YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvMDAwNS1saWJ1Y3NpLW9wdGltaXphdGlvbi1yZW1vdmFsLnBhdGNoCkBAIC0wLDAgKzEsMTMgQEAKK2RpZmYgLXIgM2Q0M2IyODAyOThjIGxpYi9saWJ1Y3NpL2VuZGlhbm9wcy5oCistLS0gYS9saWIvbGlidWNzaS9lbmRpYW5vcHMuaAlGcmkgTWFyIDIxIDIwOjI2OjM2IDIwMTQgKzAxMDAKKysrKyBiL2xpYi9saWJ1Y3NpL2VuZGlhbm9wcy5oCUZyaSBKYW4gMTkgMDY6NTY6MTUgMjAxOCArMDAwMAorQEAgLTMzLDYgKzMzLDkgQEAKKyAjZGVmaW5lIF9fdWNzaV9wYWNrZWQgX19hdHRyaWJ1dGVfXygocGFja2VkKSkKKyAKKyAKKysjaWYgX19HTlVDX18gPj0gNiArICgwID49IF9fR05VQ19NSU5PUl9fKQorKyNwcmFnbWEgR0NDIG9wdGltaXplICgiTzEiKQorKyNlbmRpZgorIAorIAorICNpZiBfX0JZVEVfT1JERVIgPT0gX19CSUdfRU5ESUFOCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzLzAwMDYtQ0FfU0VUX1BJRC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvMDAwNi1DQV9TRVRfUElELnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUxMDBjNjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzLzAwMDYtQ0FfU0VUX1BJRC5wYXRjaApAQCAtMCwwICsxLDI0IEBACitJbmRleDogZHZiLWFwcHMvdXRpbC9kc3QtdXRpbHMvZHN0X3Rlc3QuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGR2Yi1hcHBzLm9yaWcvdXRpbC9kc3QtdXRpbHMvZHN0X3Rlc3QuYworKysrIGR2Yi1hcHBzL3V0aWwvZHN0LXV0aWxzL2RzdF90ZXN0LmMKK0BAIC0zNSw3ICszNSwxOCBAQAorICNpbmNsdWRlIDxsaWJkdmJlbjUwMjIxL2VuNTAyMjFfYXBwX3RhZ3MuaD4KKyAKKyAjZGVmaW5lIENBX05PREUgIi9kZXYvZHZiL2FkYXB0ZXIwL2NhMCIKKy0KKysvKgorKyBRdWljayBoYWNrIGFyb3VuZCB0aGUgcmVtb3ZhbCBvZiBjYV9waWRfdCBhbmQgQ0FfR0VUX1BJRCBpbiByZWNlbnQga2VybmVscworKyAgaHR0cHM6Ly9naXRodWIuY29tL3RvcnZhbGRzL2xpbnV4L2NvbW1pdC84MzNmZjVlN2ZlZGExYTA0MmI4M2U4MjIwOGNlZjNkMjEyY2EwZWYxCisrKi8KKysjaWZuZGVmIENBX1NFVF9QSUQKKyt0eXBlZGVmIHN0cnVjdCBjYV9waWQgeworKwl1bnNpZ25lZCBpbnQgcGlkOworKwlpbnQgaW5kZXg7ICAgICAgLyogLTEgPT0gZGlzYWJsZSovCisrfSBjYV9waWRfdDsKKysvKiBXZSBzaG91bGQgbm90IGJlIGFibGUgdG8gZ2V0IGl0IHNvIGEgbnVtYmVyIHRoYXQgaXMgdW5saWtlbHkgdG8gaGFwcGVuICovCisrI2RlZmluZSBDQV9TRVRfUElEIDQyNDI0MjQyCisrI2VuZGlmCisgc3RhdGljIGludCBkc3RfY29tbXMoaW50IGNhZmQsIHVpbnQzMl90IHRhZywgdWludDMyX3QgZnVuY3Rpb24sIHN0cnVjdCBjYV9tc2cgKm1zZykKKyB7CisgCWlmICh0YWcpIHsKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLWZlLXhjNTAwMGMtNC4xLjMwLjcuZncgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1mZS14YzUwMDBjLTQuMS4zMC43LmZ3Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3ODZmZmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1mZS14YzUwMDBjLTQuMS4zMC43LmZ3CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy9jYS1BQi1DYWxnYXJ5IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL2NhLUFCLUNhbGdhcnkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDYwMmMyYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy9jYS1BQi1DYWxnYXJ5CkBAIC0wLDAgKzEsNDggQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgZmlsZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSB3X3NjYW4KKyMgKGh0dHA6Ly93aXJiZWwuaHRwYy1mb3J1bS5kZS93X3NjYW4vaW5kZXgyLmh0bWwpCisjISA8d19zY2FuPiAyMDExMDUwMiAxIDAgQVRTQyBDQSA8L3dfc2Nhbj4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBDYWxnYXJ5IEFCLCBDYW5hZGEgT1RBCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMS0xOAorCisjIHByb3ZpZGVkIGJ5IChvcHQpICAgIDogc2hhZG93b2ZkYXJrbmVzc0BnbWFpbC5jb20KKyMKKyMgQVsyXSA8ZnJlcT4gPG1vZD4gWyMgY29tbWVudF0KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1MTUwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1NjMwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1ODEwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2MTcwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2MzUwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2ODMwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1BVFNDLWNlbnRlci1mcmVxdWVuY2llcy04VlNCIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLUFUU0MtY2VudGVyLWZyZXF1ZW5jaWVzLThWU0IKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTc0NDg3OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1BVFNDLWNlbnRlci1mcmVxdWVuY2llcy04VlNCCkBAIC0wLDAgKzEsNDEwIEBACisjIFVTIEFUU0MgY2VudGVyIGZyZXF1ZW5jaWVzLCB1c2UgaWYgaW4gZG91YnQKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU3MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2OTAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDc5MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gODUwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSAxNzcwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSAxODMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSAxODkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSAxOTUwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSAyMDEwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSAyMDcwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSAyMTMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA0NzMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA0NzkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA0ODUwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA0OTEwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA0OTcwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1MDMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1MDkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1MTUwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1MjEwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1MjcwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1MzMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1MzkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1NDUwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1NTEwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1NTcwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1NjMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1NjkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1NzUwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1ODEwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1ODcwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1OTMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1OTkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2MDUwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2MTEwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2MTcwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2MjMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2MjkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2MzUwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2NDEwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2NDcwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2NTMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2NTkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2NjUwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2NzEwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2NzcwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2ODMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2ODkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2OTUwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3MDEwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3MDcwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3MTMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3MTkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3MjUwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3MzEwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3MzcwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3NDMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3NDkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3NTUwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3NjEwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3NjcwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3NzMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3NzkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3ODUwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3OTEwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3OTcwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA4MDMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1DQS1TRi1CYXktQXJlYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1DQS1TRi1CYXktQXJlYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lNDhlNmUyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLUNBLVNGLUJheS1BcmVhCkBAIC0wLDAgKzEsODEgQEAKKyMgaW5pdGlhbCB0dW5pbmcgZGF0YSBmb3Igc29tZSBmcmVxdWVuY2llcyBvZiBmb3IgdGhlIFNhbiBGcmFuY2lzY28gQmF5IEFyZWEKKyMgaW5jbHVkZXMgU2FuIEZyYW5jaXNjbywgU2FuIEpvc2UsIE9ha2xhbmQuLi4KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDUwMzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU1MTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU2MzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU5MzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDYyMzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDYzNTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY0NzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY1OTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY4MzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY4OTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDcwMTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDcyNTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDczMTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLUNPLURlbnZlciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1DTy1EZW52ZXIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDc4ZWNiMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1DTy1EZW52ZXIKQEAgLTAsMCArMSwxMTYgQEAKKyMgbWFpbiBjaGFubmVscyBpbiBEZW52ZXIKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDE4OTAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDIxMzAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDQ3OTAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDQ4NTAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDQ5MTAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDQ5NzAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDUwMzAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDUxNTAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU2MzAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU4MTAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU5MzAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU5OTAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDYxNzAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDYyOTAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDYzNTAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY0NzAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY1OTAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY4OTAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY5NTAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLUNhYmxlLUVJQS01NDItSFJDLWNlbnRlci1mcmVxdWVuY2llcy1RQU0yNTYgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtQ2FibGUtRUlBLTU0Mi1IUkMtY2VudGVyLWZyZXF1ZW5jaWVzLVFBTTI1NgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jNTQxYjFlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLUNhYmxlLUVJQS01NDItSFJDLWNlbnRlci1mcmVxdWVuY2llcy1RQU0yNTYKQEAgLTAsMCArMSw3NjcgQEAKKyMgVVMgRUlBLTU0MiBDYWJsZSBjZW50ZXIgZnJlcXVlbmNpZXMKKyMgSGFybW9uaWNhbGx5IFJlbGF0ZWQgQ2FycmllcnMgKEhSQykKKyMgQ2hhbm5lbHMgMSB0byAxMjUgYXJlIGluIGFzY2VuZGluZyBFSUEvTkNUQSBjaGFubmVsIGRlc2lnbmF0aW9uIG9yZGVyCisKKyMxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3Mzc1MzYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NTc1MjcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MTc1MzAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2Nzc1MzMwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3Nzc1MzkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA4Mzc1NDIwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNzU3NTg3MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTgxNzU5MDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE4Nzc1OTMwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE5Mzc1OTYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxOTk3NTk5MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjA1NzYwMjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIxMTc2MDUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMjE3NTYwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTI3NzU2MzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDEzMzc1NjYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMzk3NTY5MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTQ1NzU3MjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE1MTc1NzUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMjAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE1Nzc1NzgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNjM3NTgxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTY5NzU4NDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIxNzc2MDgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMjM3NjExMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjI5NzYxNDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIzNTc2MTcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNDE3NjIwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjQ3NzYyMzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI1Mzc2MjYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMzAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI1OTc2MjkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNjU3NjMyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjcxNzYzNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI3Nzc2MzgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyODM3NjQxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjg5NzY0NDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI5NTc2NDcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMDE3NjUwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzA3NzY1MzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMxMzc2NTYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjNDAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMxOTc2NTkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMjU3NjYyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzMxNzY2NTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMzNzc2NjgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNDM3NjcxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzQ5NzY3NDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM1NTc2NzcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNjE3NjgwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzY3NzY4MzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM3Mzc2ODYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjNTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM3OTc2ODkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzODU3NjkyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzkxNzY5NTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM5Nzc2OTgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0MDM3NzAxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDA5NzcwNDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQxNTc3MDcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0MjE3NzEwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDI3NzcxMzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQzMzc3MTYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjNjAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQzOTc3MTkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NDU3NzIyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDUxNzcyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ1Nzc3MjgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NjM3NzMxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDY5NzczNDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ3NTc3MzcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0ODE3NzQwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDg3Nzc0MzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ5Mzc3NDYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjNzAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ5OTc3NDkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MDU3NzUyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTExNzc1NTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUxNzc3NTgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MjM3NzYxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTI5Nzc2NDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUzNTc3NjcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NDE3NzcwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTQ3Nzc3MzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU1Mzc3NzYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjODAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU1OTc3NzkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NjU3NzgyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTcxNzc4NTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU3Nzc3ODgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1ODM3NzkxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTg5Nzc5NDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU5NTc3OTcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MDE3ODAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjA3NzgwMzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYxMzc4MDYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjOTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYxOTc4MDkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MjU3ODEyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjMxNzgxNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYzNzc4MTgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2NDM3ODIxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gOTE3NTQ1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gOTc3NTQ4MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTAzNzU1MTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDEwOTc3NTAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMTU3NzUwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzEwMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjQ5NzgyNDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY1NTc4MjcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2NjE3ODMwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjY3NzgzMzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY3Mzc4MzYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2Nzk3ODM5MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjg1Nzg0MjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY5MTc4NDUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2OTc3ODQ4MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzAzNzg1MTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMxMTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDcwOTc4NTQwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3MTU3ODU3MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzIxNzg2MDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDcyNzc4NjMwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3MzM3ODY2MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzM5Nzg2OTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc0NTc4NzIwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3NTE3ODc1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzU3Nzg3ODAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc2Mzc4ODEwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMTIwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3Njk3ODg0MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzc1Nzg4NzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc4MTc4OTAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3ODc3ODkzMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzkzNzg5NjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc5OTc4OTkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtQ2FibGUtRUlBLTU0Mi1JUkMtY2VudGVyX2ZyZXF1ZW5jaWVzLVFBTTI1NiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1DYWJsZS1FSUEtNTQyLUlSQy1jZW50ZXJfZnJlcXVlbmNpZXMtUUFNMjU2Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFhYTJhMTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtQ2FibGUtRUlBLTU0Mi1JUkMtY2VudGVyX2ZyZXF1ZW5jaWVzLVFBTTI1NgpAQCAtMCwwICsxLDc2NyBAQAorIyBVUyBDYWJsZSBFSUEtNTQyIGNlbnRlciBmcmVxdWVuY2llcworIyBJbmNyZW1lbnRhbGx5IFJlbGF0ZWQgQ2FycmllcnMgKElSQykKKyMgQ2hhbm5lbHMgMS0xMjUgYXJlIGluIGFzY2VuZGluZyBFSUEvTkNUQSBjaGFubmVsIGRlc2lnbmF0aW9uIG9yZGVyCisKKyMxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3NTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NzAyNTAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2OTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3OTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA4NTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNzcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTgzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE4OTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE5NTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMDEwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjA3MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIxMzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMjMwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTI5MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDEzNTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNDEwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTQ3MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE1MzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMjAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE1OTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNjUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTcxMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIxOTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMjUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjMxMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIzNzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNDMwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjQ5MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI1NTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMzAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI2MTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNjcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjczMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI3OTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyODUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjkxMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI5NzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMDMwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzA5MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMxNTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjNDAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMyMTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMjcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzMzMDI1MDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMzOTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNDUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzUxMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM1NzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNjMwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzY5MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM3NTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjNTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM4MTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzODcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzkzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM5OTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0MDUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDExMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQxNzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0MjMwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDI5MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQzNTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjNjAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ0MTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NDcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDUzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ1OTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NjUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDcxMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ3NzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0ODMwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDg5MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ5NTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjNzAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUwMTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MDcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTEzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUxOTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MjUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTMxMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUzNzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NDMwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTQ5MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU1NTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjODAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU2MTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NjcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTczMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU3OTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1ODUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTkxMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU5NzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MDMwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjA5MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYxNTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjOTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYyMTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MjcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjMzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYzOTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2NDUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gOTMwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gOTkwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTA1MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDExMTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMTcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzEwMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjUxMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY1NzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2NjMwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjY5MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY3NTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2ODEwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjg3MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY5MzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2OTkwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzA1MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMxMTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDcxMTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3MTcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzIzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDcyOTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3MzUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzQxMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc0NzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3NTMwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzU5MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc2NTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMTIwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3NzEwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzc3MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc4MzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3ODkwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzk1MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDgwMTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtQ2FibGUtSFJDLWNlbnRlci1mcmVxdWVuY2llcy1RQU0yNTYgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtQ2FibGUtSFJDLWNlbnRlci1mcmVxdWVuY2llcy1RQU0yNTYKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmUyMGI0NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1DYWJsZS1IUkMtY2VudGVyLWZyZXF1ZW5jaWVzLVFBTTI1NgpAQCAtMCwwICsxLDc2NyBAQAorIyBVUyBDYWJsZSBjZW50ZXIgZnJlcXVlbmNpZXMKKyMgSGFybW9uaWNhbGx5IFJlbGF0ZWQgQ2FycmllcnMgKEhSQykKKyMgQ2hhbm5lbHMgYXJlIGluIGFzY2VuZGluZyBFSUEvTkNUQSBjaGFubmVsIGRlc2lnbmF0aW9uIG9yZGVyCisKKyMxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3Mzc1MzYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NTc1MjcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MTc1MzAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2Nzc1MzMwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3Nzc1MzkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA4Mzc1NDIwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNzU3NTg3MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTgxNzU5MDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE4Nzc1OTMwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE5Mzc1OTYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxOTk3NTk5MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjA1NzYwMjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIxMTc2MDUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMjE3NTYwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTI3NzU2MzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDEzMzc1NjYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMzk3NTY5MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTQ1NzU3MjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE1MTc1NzUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMjAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE1Nzc1NzgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNjM3NTgxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTY5NzU4NDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIxNzc2MDgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMjM3NjExMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjI5NzYxNDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIzNTc2MTcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNDE3NjIwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjQ3NzYyMzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI1Mzc2MjYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMzAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI1OTc2MjkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNjU3NjMyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjcxNzYzNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI3Nzc2MzgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyODM3NjQxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjg5NzY0NDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI5NTc2NDcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMDE3NjUwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzA3NzY1MzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMxMzc2NTYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjNDAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMxOTc2NTkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMjU3NjYyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzMxNzY2NTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMzNzc2NjgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNDM3NjcxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzQ5NzY3NDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM1NTc2NzcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNjE3NjgwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzY3NzY4MzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM3Mzc2ODYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjNTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM3OTc2ODkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzODU3NjkyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzkxNzY5NTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM5Nzc2OTgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0MDM3NzAxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDA5NzcwNDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQxNTc3MDcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0MjE3NzEwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDI3NzcxMzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQzMzc3MTYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjNjAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQzOTc3MTkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NDU3NzIyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDUxNzcyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ1Nzc3MjgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NjM3NzMxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDY5NzczNDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ3NTc3MzcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0ODE3NzQwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDg3Nzc0MzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ5Mzc3NDYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjNzAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ5OTc3NDkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MDU3NzUyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTExNzc1NTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUxNzc3NTgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MjM3NzYxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTI5Nzc2NDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUzNTc3NjcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NDE3NzcwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTQ3Nzc3MzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU1Mzc3NzYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjODAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU1OTc3NzkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NjU3NzgyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTcxNzc4NTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU3Nzc3ODgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1ODM3NzkxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTg5Nzc5NDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU5NTc3OTcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MDE3ODAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjA3NzgwMzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYxMzc4MDYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjOTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYxOTc4MDkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MjU3ODEyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjMxNzgxNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYzNzc4MTgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2NDM3ODIxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gOTE3NTQ1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gOTc3NTQ4MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTAzNzU1MTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDEwOTc1NTQwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMTU3NTU3MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzEwMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjQ5NzgyNDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY1NTc4MjcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2NjE3ODMwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjY3NzgzMzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY3Mzc4MzYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2Nzk3ODM5MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjg1Nzg0MjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY5MTc4NDUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2OTc3ODQ4MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzAzNzg1MTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMxMTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDcwOTc4NTQwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3MTU3ODU3MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzIxNzg2MDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDcyNzc4NjMwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3MzM3ODY2MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzM5Nzg2OTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc0NTc4NzIwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3NTE3ODc1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzU3Nzg3ODAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc2Mzc4ODEwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMTIwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3Njk3ODg0MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzc1Nzg4NzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc4MTc4OTAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3ODc3ODkzMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzkzNzg5NjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc5OTc4OTkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtQ2FibGUtSVJDLWNlbnRlci1mcmVxdWVuY2llcy1RQU0yNTYgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtQ2FibGUtSVJDLWNlbnRlci1mcmVxdWVuY2llcy1RQU0yNTYKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2Q4YzQwOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1DYWJsZS1JUkMtY2VudGVyLWZyZXF1ZW5jaWVzLVFBTTI1NgpAQCAtMCwwICsxLDc2NyBAQAorIyBVUyBDYWJsZSBjZW50ZXIgZnJlcXVlbmNpZXMKKyMgSW5jcmVtZW50YWxseSBSZWxhdGVkIENhcnJpZXJzIChJUkMpCisjIENoYW5uZWxzIGFyZSBpbiBhc2NlbmRpbmcgRUlBL05DVEEgY2hhbm5lbCBkZXNpZ25hdGlvbiBvcmRlcgorCisjMQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gODUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTc3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE4MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxODkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzEwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxOTUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjAxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIwNzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMTMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTIzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDEyOTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMzUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTQxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE0NzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNTMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzIwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNTkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTY1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE3MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMTkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjI1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIzMTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMzcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjQzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI0OTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNTUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzMwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNjEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjY3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI3MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNzkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjg1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI5MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyOTcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzAzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMwOTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMTUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzQwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMjEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzI3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMzMzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMzkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzQ1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM1MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNTcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzYzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM2OTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNzUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzUwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzODEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzg3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM5MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzOTkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDA1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQxMTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0MTcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDIzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQyOTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0MzUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzYwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NDEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDQ3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ1MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NTkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDY1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ3MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NzcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDgzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ4OTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0OTUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzcwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MDEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTA3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUxMzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MTkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTI1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUzMTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MzcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTQzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU0OTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NTUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzgwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NjEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTY3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU3MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NzkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTg1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU5MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1OTcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjAzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYwOTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MTUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzkwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MjEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjI3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYzMzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MzkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjQ1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDkzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDk5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDEwNTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMTEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTE3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMxMDAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY1MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2NTcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjYzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY2OTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2NzUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjgxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY4NzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2OTMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjk5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDcwNTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMTEwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3MTEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzE3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDcyMzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3MjkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzM1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc0MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3NDcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzUzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc1OTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3NjUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzEyMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzcxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc3NzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3ODMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzg5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc5NTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA4MDEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLUNhYmxlLVN0YW5kYXJkLWNlbnRlci1mcmVxdWVuY2llcy1RQU0yNTYgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtQ2FibGUtU3RhbmRhcmQtY2VudGVyLWZyZXF1ZW5jaWVzLVFBTTI1NgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iNDkzMTI4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLUNhYmxlLVN0YW5kYXJkLWNlbnRlci1mcmVxdWVuY2llcy1RQU0yNTYKQEAgLTAsMCArMSw5NjEgQEAKKyMgVVMgRUlBL05DVEEgU3RhbmRhcmQgQ2FibGUgY2VudGVyIGZyZXF1ZW5jaWVzCisjIENoYW5uZWxzIGFyZSBpbiBhc2NlbmRpbmcgRUlBL05DVEEgY2hhbm5lbCBkZXNpZ25hdGlvbiBvcmRlcgorCisjMgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gODUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTc3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE4MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxODkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzEwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxOTUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjAxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIwNzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMTMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTIzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDEyOTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMzUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTQxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE0NzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNTMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzIwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNTkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTY1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE3MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMTkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjI1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIzMTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMzcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjQzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI0OTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNTUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzMwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNjEwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjY3MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI3MzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNzkwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjg1MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI5MTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyOTcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzAzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMwOTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMTUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzQwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMjEwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzI3MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMzMzAyNTAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMzkwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzQ1MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM1MTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNTcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzYzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM2OTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNzUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzUwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzODEwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzg3MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM5MzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzOTkwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDA1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQxMTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0MTcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDIzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQyOTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0MzUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzYwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NDEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDQ3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ1MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NTkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDY1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ3MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NzcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDgzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ4OTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0OTUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzcwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MDEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTA3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUxMzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MTkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTI1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUzMTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MzcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTQzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU0OTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NTUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzgwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NjEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTY3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU3MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NzkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTg1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU5MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1OTcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjAzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYwOTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MTUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzkwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MjEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjI3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYzMzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MzkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjQ1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDkzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDk5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDEwNTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMTEwMjUwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTE3MDI1MDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMxMDAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY1MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2NTcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjYzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY2OTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2NzUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjgxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY4NzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2OTMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjk5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDcwNTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMTEwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3MTEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzE3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDcyMzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3MjkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzM1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc0MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3NDcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzUzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc1OTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3NjUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzEyMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzcxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc3NzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3ODMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzg5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc5NTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA4MDEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gODA3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDgxMzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA4MTkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gODI1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMxMjEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDgzMTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA4MzcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gODQzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDg0OTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA4NTUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gODYxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDg2NzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA4NzMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gODc5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDg4NTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMTIyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA4OTEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gODk3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDkwMzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA5MDkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gOTE1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDkyMTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA5MjcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gOTMzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDkzOTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA5NDUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzEyMworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gOTUxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDk1NzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA5NjMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gOTY5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDk3NTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA5ODEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gOTg3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDk5MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA5OTkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLUlELUJvaXNlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLUlELUJvaXNlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRjZWY2N2MKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtSUQtQm9pc2UKQEAgLTAsMCArMSwzOCBAQAorIyBCb2lzZSwgSUQsIFVTQQorIyBBIGZyZXEgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gMTk1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gMjEzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTE1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTMzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTQ1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTU3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtTUEtQm9zdG9uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLU1BLUJvc3RvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yMzI0NDAyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLU1BLUJvc3RvbgpAQCAtMCwwICsxLDY4IEBACisjIGluaXRpYWwgdHVuaW5nIGRhdGEgZm9yIEJvc3RvbiwgTUEKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDUwMzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDUwOTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDUyNzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU2MzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU2OTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU3NTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU4MTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDYyMzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDYzNTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY0MTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY0NzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLU1JLUxhbnNpbmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtTUktTGFuc2luZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MWZiOGQyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLU1JLUxhbnNpbmcKQEAgLTAsMCArMSwzMiBAQAorIyBpbml0aWFsIHR1bmluZyBkYXRhIGZvciBMYW5zaW5nLCBNSQorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjE3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjk1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzE5MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzMxMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzQzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtTlRTQy1jZW50ZXItZnJlcXVlbmNpZXMtOFZTQiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1OVFNDLWNlbnRlci1mcmVxdWVuY2llcy04VlNCCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhmMTUzYWYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtTlRTQy1jZW50ZXItZnJlcXVlbmNpZXMtOFZTQgpAQCAtMCwwICsxLDQxMCBAQAorIyBVUyBOVFNDIGNlbnRlciBmcmVxdWVuY2llcywgdXNlIGlmIGluIGRvdWJ0CisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDYzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjkwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3OTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDg1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gMTc3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gMTgzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gMTg5MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gMTk1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gMjAxMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gMjA3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gMjEzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNDczMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNDc5MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNDg1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNDkxMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNDk3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTAzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTA5MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTE1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTIxMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTI3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTMzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTM5MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTQ1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTUxMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTU3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTYzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTY5MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTc1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTgxMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTg3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTkzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTk5MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjA1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjExMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjE3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjIzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjI5MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjM1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjQxMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjQ3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjUzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjU5MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjY1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjcxMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjc3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjgzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjg5MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjk1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzAxMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzA3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzEzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzE5MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzI1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzMxMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzM3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzQzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzQ5MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzU1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzYxMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzY3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzczMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzc5MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzg1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzkxMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzk3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gODAzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtUEEtUGhpbGFkZWxwaGlhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLVBBLVBoaWxhZGVscGhpYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NGE3ZTY5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLVBBLVBoaWxhZGVscGhpYQpAQCAtMCwwICsxLDU2IEBACisjIFVTIE5ZIHN0YXRlCisKKyNBIDE4MzAwMDAwMCA4VlNCCisjQSA1MTUwMDAwMDAgOFZTQgorI0EgNTQ1MDAwMDAwIDhWU0IKKyNBIDU1MTAwMDAwMCA4VlNCCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTc1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTgxMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTkzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCisjQSA2NDEwMDAwMDAgOFZTQgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY0NzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDcxMzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworI0EgNzE5MDAwMDAwIDhWU0IKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3NzMwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3ODUwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3OTEwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL2FjdGl2eS5yY21tIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvYWN0aXZ5LnJjbW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzdkNzI4MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL2FjdGl2eS5yY21tCkBAIC0wLDAgKzEsNTMgQEAKKzB4MDAgS0VZXzAKKzB4MDEgS0VZXzEKKzB4MDIgS0VZXzIKKzB4MDMgS0VZXzMKKzB4MDQgS0VZXzQKKzB4MDUgS0VZXzUKKzB4MDYgS0VZXzYKKzB4MDcgS0VZXzcKKzB4MDggS0VZXzgKKzB4MDkgS0VZXzkKKworMHgwYyBLRVlfUE9XRVIKKzB4MGEgS0VZX0JBQ0sKKworMHhmZSBLRVlfU0NST0xMVVAKKzB4ZmYgS0VZX1NDUk9MTERPV04KKworMHg0MCBLRVlfR09UTworMHg4NiBLRVlfS0VZQk9BUkQKKworMHg4NyBLRVlfUkVECisweGRhIEtFWV9HUkVFTgorMHhmMyBLRVlfWUVMTE9XCisweDg4IEtFWV9CTFVFCisKKzB4ODIgS0VZX0hPTUUKKzB4NTQgS0VZX01FTlUKKworMHg1OCBLRVlfVVAKKzB4NTkgS0VZX0RPV04KKzB4NWEgS0VZX0xFRlQKKzB4NWIgS0VZX1JJR0hUCisKKzB4NWMgS0VZX09LCisKKzB4ZjAgS0VZX0NIQU5ORUxVUAorMHhlZiBLRVlfQ0hBTk5FTERPV04KKworMHgxMCBLRVlfVk9MVU1FVVAKKzB4MTEgS0VZX1ZPTFVNRURPV04KKworMHg4MSBLRVlfSU5GTworMHgwZCBLRVlfTVVURQorCisweDJmIEtFWV9SRVdJTkQKKzB4MmMgS0VZX1BMQVlQQVVTRQorMHgyZSBLRVlfRkFTVEZPUldBUkQKKzB4MzcgS0VZX1JFQ09SRAorCisweDIxIEtFWV9QUkVWSU9VUworMHgzMSBLRVlfU1RPUAorMHgyMCBLRVlfTkVYVAorMHg0MiBLRVlfRUpFQ1RDRApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvZ2FsYXhpcy5yY21tIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvZ2FsYXhpcy5yY21tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4ZWIzODkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9nYWxheGlzLnJjbW0KQEAgLTAsMCArMSw1MCBAQAorMHgwMCBLRVlfMAorMHgwMSBLRVlfMQorMHgwMiBLRVlfMgorMHgwMyBLRVlfMworMHgwNCBLRVlfNAorMHgwNSBLRVlfNQorMHgwNiBLRVlfNgorMHgwNyBLRVlfNworMHgwOCBLRVlfOAorMHgwOSBLRVlfOQorCisweDBhIEtFWV9NSFAKKzB4MGMgS0VZX1BPV0VSCisweDBkIEtFWV9NVVRFCisweDBmIEtFWV9JTkZPCisweDEwIEtFWV9WT0xVTUVVUAorMHgxMSBLRVlfVk9MVU1FRE9XTgorMHgyMCBLRVlfQ0hBTk5FTFVQCisweDIxIEtFWV9DSEFOTkVMRE9XTgorMHgzYyBLRVlfVEVYVAorMHgzZiBLRVlfVFYKKworMHg0NSBLRVlfU0VUVVAKKzB4NGIgS0VZX1NVQlRJVExFCisweDRlIEtFWV9MQU5HVUFHRQorCisweDUwIEtFWV9SQURJTworMHg1NSBLRVlfRVhJVAorCisweDU4IEtFWV9VUAorMHg1OSBLRVlfRE9XTgorMHg1YSBLRVlfTEVGVAorMHg1YiBLRVlfUklHSFQKKzB4NWMgS0VZX09LCisKKzB4NmQgS0VZX1JFRAorMHg2ZSBLRVlfR1JFRU4KKzB4NmYgS0VZX1lFTExPVworMHg3MCBLRVlfQkxVRQorCisweDc4IEtFWV9NRU5VCisweDc5IEtFWV9MSVNUCisweGNjIEtFWV9FUEcKKworMHhjNCBLRVlfVVAKKzB4YzUgS0VZX1VQCisweGM2IEtFWV9ET1dOCisweGM3IEtFWV9ET1dOCisKKzB4ZmYgS0VZX1ZDUgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvaGF1cHBhdWdlLnJjNSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL2hhdXBwYXVnZS5yYzUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjUyZWI4NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL2hhdXBwYXVnZS5yYzUKQEAgLTAsMCArMSwyNCBAQAorMHgwMCBLRVlfMAorMHgwMSBLRVlfMQorMHgwMiBLRVlfMgorMHgwMyBLRVlfMworMHgwNCBLRVlfNAorMHgwNSBLRVlfNQorMHgwNiBLRVlfNgorMHgwNyBLRVlfNworMHgwOCBLRVlfOAorMHgwOSBLRVlfOQorCisweDBjIEtFWV9SQURJTworMHgwZCBLRVlfTVVURQorMHgwZiBLRVlfVFYKKworMHgxMCBLRVlfVk9MVU1FVVAKKzB4MTEgS0VZX1ZPTFVNRURPV04KKzB4MWUgS0VZX1ZFTkRPUgorCisweDIwIEtFWV9DSEFOTkVMVVAKKzB4MjEgS0VZX0NIQU5ORUxET1dOCisweDIyIEtFWV9TRUxFQ1QKKzB4MjYgS0VZX0NZQ0xFV0lORE9XUworMHgyZSBLRVlfU0NSRUVOCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9oYXVwcGF1Z2UyLnJjNSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL2hhdXBwYXVnZTIucmM1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2M2ZlYTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9oYXVwcGF1Z2UyLnJjNQpAQCAtMCwwICsxLDQwIEBACisweDAwIEtFWV8wCisweDAxIEtFWV8xCisweDAyIEtFWV8yCisweDAzIEtFWV8zCisweDA0IEtFWV80CisweDA1IEtFWV81CisweDA2IEtFWV82CisweDA3IEtFWV83CisweDA4IEtFWV84CisweDA5IEtFWV85CisKKzB4MTAgS0VZX1ZPTFVNRVVQCisweDExIEtFWV9WT0xVTUVET1dOCisweDFlIEtFWV9WRU5ET1IKKworMHgyMCBLRVlfQ0hBTk5FTFVQCisweDIxIEtFWV9DSEFOTkVMRE9XTgorMHgyMiBLRVlfU0VMRUNUCisweDI2IEtFWV9DWUNMRVdJTkRPV1MKKworMHgzZCBLRVlfUE9XRVIKKzB4M2IgS0VZX0dPVE8KKzB4MWYgS0VZX0JBQ0sKKzB4MGQgS0VZX01FTlUKKzB4MGIgS0VZX1JFRAorMHgyZSBLRVlfR1JFRU4KKzB4MzggS0VZX1lFTExPVworMHgyNSBLRVlfT0sKKzB4MjkgS0VZX0JMVUUKKzB4MGYgS0VZX01VVEUKKzB4MGMgS0VZX0FVWAorMHgzYyBLRVlfU0NSRUVOCisweDMyIEtFWV9SRVdJTkQKKzB4MzUgS0VZX1BMQVkKKzB4MzQgS0VZX0ZPUldBUkQKKzB4MzcgS0VZX1JFQ09SRAorMHgzNiBLRVlfU1RPUAorMHgzMCBLRVlfUEFVU0UKKzB4MjQgS0VZX0xFRlQKKzB4MWUgS0VZX1JJR0hUCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9oYXVwcGF1Z2VfZ3JleS5yYzUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9oYXVwcGF1Z2VfZ3JleS5yYzUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmJjYTUyNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL2hhdXBwYXVnZV9ncmV5LnJjNQpAQCAtMCwwICsxLDM5IEBACisweDNkIEtFWV9QT1dFUgorMHgzYiBLRVlfR09UTworCisweDAwIEtFWV8wCisweDAxIEtFWV8xCisweDAyIEtFWV8yCisweDAzIEtFWV8zCisweDA0IEtFWV80CisweDA1IEtFWV81CisweDA2IEtFWV82CisweDA3IEtFWV83CisweDA4IEtFWV84CisweDA5IEtFWV85CisKKzB4MWYgS0VZX0VYSVQKKzB4MGQgS0VZX01FTlUKKworMHgwYiBLRVlfUkVECisweDJlIEtFWV9HUkVFTgorMHgzOCBLRVlfWUVMTE9XCisweDI5IEtFWV9CTFVFCisKKzB4MTEgS0VZX0xFRlQKKzB4MTAgS0VZX1JJR0hUCisweDIwIEtFWV9VUAorMHgyMSBLRVlfRE9XTgorMHgyNSBLRVlfT0sKKworMHgwZiBLRVlfTVVURQorMHgwYyBLRVlfSU5GTworMHgzYyBLRVlfRVBHCisweDMyIEtFWV9SRVdJTkQKKzB4MzUgS0VZX1BMQVkKKzB4MzQgS0VZX0ZBU1RGT1JXQVJECisweDM3IEtFWV9SRUNPUkQKKzB4MzYgS0VZX1NUT1AKKzB4MzAgS0VZX1BBVVNFCisweDI0IEtFWV9QUkVWSU9VUworMHgxZSBLRVlfTkVYVApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvbWJvXzgxMDk1LWNvZGVfNTYyLnJjNSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL21ib184MTA5NS1jb2RlXzU2Mi5yYzUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU3ZTQxMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL21ib184MTA5NS1jb2RlXzU2Mi5yYzUKQEAgLTAsMCArMSwzOSBAQAorMHgwYyBLRVlfUE9XRVIKKworMHgwMSBLRVlfMQorMHgwMiBLRVlfMgorMHgwMyBLRVlfMworMHgwNCBLRVlfNAorCisweDA1IEtFWV81CisweDA2IEtFWV82CisweDA3IEtFWV83CisweDA4IEtFWV84CisKKzB4MDkgS0VZXzkKKzB4MDAgS0VZXzAKKzB4MGEgS0VZX0YxMQorMHgyYiBLRVlfRjEyCisKKzB4M2YgS0VZX1BST0dSQU0KKzB4MjMgS0VZX0NPTkZJRworMHgwZCBLRVlfTVVURQorCisweDExIEtFWV9WT0xVTUVET1dOCisweDEwIEtFWV9WT0xVTUVVUAorMHgyMCBLRVlfQ0hBTk5FTFVQCisweDIxIEtFWV9DSEFOTkVMRE9XTgorMHgyOSBLRVlfVFYKKworMHgxYSBLRVlfUkVECisweDFiIEtFWV9HUkVFTgorMHgyZSBLRVlfWUVMTE9XCisweDI0IEtFWV9CTFVFCisKKzB4MzIgS0VZX1JFV0lORAorMHgzNSBLRVlfUExBWQorMHgzNCBLRVlfRk9SV0FSRAorMHgzNyBLRVlfUkVDT1JECisKKzB4MzYgS0VZX1NUT1AKKzB4MzAgS0VZX1BBVVNFCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9tZWRpb25fMDg4LnJjNSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL21lZGlvbl8wODgucmM1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViZWMzZmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9tZWRpb25fMDg4LnJjNQpAQCAtMCwwICsxLDM2IEBACisweDAwIEtFWV8wCisweDAxIEtFWV8xCisweDAyIEtFWV8yCisweDAzIEtFWV8zCisweDA0IEtFWV80CisweDA1IEtFWV81CisweDA2IEtFWV82CisweDA3IEtFWV83CisweDA4IEtFWV84CisweDA5IEtFWV85CisKKzB4MGIgS0VZX0JBQ0sKKzB4MGMgS0VZX1BPV0VSCisweDBkIEtFWV9NVVRFCisweDBlIEtFWV9NRU5VCisweDBmIEtFWV9UVgorCisweDEwIEtFWV9WT0xVTUVVUAorMHgxMSBLRVlfVk9MVU1FRE9XTgorMHgxMiBLRVlfVVAKKzB4MTMgS0VZX0RPV04KKzB4MTQgS0VZX1JJR0hUCisweDE1IEtFWV9MRUZUCisweDFlIEtFWV9WRU5ET1IKKworMHgyMCBLRVlfQ0hBTk5FTFVQCisweDIxIEtFWV9DSEFOTkVMRE9XTgorMHgyMiBLRVlfU0VMRUNUCisweDIzIEtFWV9PSworMHgyNiBLRVlfQ1lDTEVXSU5ET1dTCisweDJlIEtFWV9TQ1JFRU4KKworMHgzNyBLRVlfUkVECisweDM2IEtFWV9HUkVFTgorMHgzNCBLRVlfQkxVRQorMHgzMiBLRVlfWUVMTE9XCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9tZWRpb25fMTU1LnJjNSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL21lZGlvbl8xNTUucmM1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxNmJiZDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9tZWRpb25fMTU1LnJjNQpAQCAtMCwwICsxLDM1IEBACisweDAwIEtFWV8wCisweDAxIEtFWV8xCisweDAyIEtFWV8yCisweDAzIEtFWV8zCisweDA0IEtFWV80CisweDA1IEtFWV81CisweDA2IEtFWV82CisweDA3IEtFWV83CisweDA4IEtFWV84CisweDA5IEtFWV85CisKKzB4MzUgS0VZX0JBQ0sKKzB4MGMgS0VZX1BPV0VSCisweDBkIEtFWV9NVVRFCisweDNmIEtFWV9NRU5VCisweDBmIEtFWV9UVgorCisweDEwIEtFWV9WT0xVTUVVUAorMHgxMSBLRVlfVk9MVU1FRE9XTgorMHgxMiBLRVlfVVAKKzB4MTMgS0VZX0RPV04KKzB4MTQgS0VZX1JJR0hUCisweDE1IEtFWV9MRUZUCisKKzB4MGEgS0VZX0NIQU5ORUxVUAorMHgwYiBLRVlfQ0hBTk5FTERPV04KKzB4MjIgS0VZX1NFTEVDVAorMHgyMyBLRVlfT0sKKzB4MjYgS0VZX0NZQ0xFV0lORE9XUworMHgyZSBLRVlfU0NSRUVOCisKKzB4MzcgS0VZX1JFRAorMHgzNiBLRVlfR1JFRU4KKzB4MzQgS0VZX0JMVUUKKzB4MzIgS0VZX1lFTExPVwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvcGhpbGlwcy5yYzUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9waGlsaXBzLnJjNQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OGJjODVkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvcGhpbGlwcy5yYzUKQEAgLTAsMCArMSwzMiBAQAorMHgwMCBLRVlfMAorMHgwMSBLRVlfMQorMHgwMiBLRVlfMgorMHgwMyBLRVlfMworMHgwNCBLRVlfNAorMHgwNSBLRVlfNQorMHgwNiBLRVlfNgorMHgwNyBLRVlfNworMHgwOCBLRVlfOAorMHgwOSBLRVlfOQorCisweDBiIEtFWV9NRU5VCisweDBjIEtFWV9QT1dFUgorMHgwZCBLRVlfTVVURQorMHgwZSBLRVlfT0sKKzB4MGYgS0VZX01JTlVTCisweDEwIEtFWV9WT0xVTUVVUAorMHgxMSBLRVlfVk9MVU1FRE9XTgorCisweDIwIEtFWV9DSEFOTkVMVVAKKzB4MjEgS0VZX0NIQU5ORUxET1dOCisweDI2IEtFWV9JTkZPCisweDJkIEtFWV9aT09NCisweDJlIEtFWV9DWUNMRVdJTkRPV1MKKworMHgzMiBLRVlfUExBWQorMHgzNCBLRVlfRk9SV0FSRAorMHgzNiBLRVlfU1RPUAorMHgzNyBLRVlfUkVXSU5ECisweDM4IEtFWV9BVVgKKzB4M2MgS0VZX1RFWFQKKzB4M2YgS0VZX1NDUkVFTgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvcGhpbGlwczEzNTgucmM1IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvcGhpbGlwczEzNTgucmM1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwNTc1NWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9waGlsaXBzMTM1OC5yYzUKQEAgLTAsMCArMSwzNyBAQAorMHgwMCBLRVlfMAorMHgwMSBLRVlfMQorMHgwMiBLRVlfMgorMHgwMyBLRVlfMworMHgwNCBLRVlfNAorMHgwNSBLRVlfNQorMHgwNiBLRVlfNgorMHgwNyBLRVlfNworMHgwOCBLRVlfOAorMHgwOSBLRVlfOQorMHgwQyBLRVlfUE9XRVIKKzB4MEQgS0VZX01VVEUKKzB4MEUgS0VZX09LCisweDBGIEtFWV9ESUdJVFMKKzB4MTAgS0VZX1JJR0hUCisweDExIEtFWV9MRUZUCisweDFFIEtFWV9TVE9QCisweDIwIEtFWV9VUAorMHgyMSBLRVlfRE9XTgorMHgyMyBLRVlfQUIKKzB4MjQgS0VZX1JFQ09SRAorMHgyNSBLRVlfU1VCVElUTEUKKzB4MjYgS0VZX0lORk8KKzB4MjkgS0VZX1BMQVkKKzB4MkEgS0VZX0ZPUldBUkQKKzB4MkIgS0VZX1BBVVNFCisweDJDIEtFWV9SRVdJTkQKKzB4MkQgS0VZX0Y0CisweDJFIEtFWV9GMworMHgzMiBLRVlfWUVMTE9XCisweDM0IEtFWV9CTFVFCisweDM2IEtFWV9HUkVFTgorMHgzNyBLRVlfUkVECisweDM4IEtFWV9BVVgKKzB4M0MgS0VZX0YyCisweDNEIEtFWV9TQ1JFRU4KKzB4M0YgS0VZX0YxCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy90ZWNobm90cmVuZC5yYzUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy90ZWNobm90cmVuZC5yYzUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTI2ZmRjNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL3RlY2hub3RyZW5kLnJjNQpAQCAtMCwwICsxLDQxIEBACisweDIyIEtFWV9FUEcKKzB4MWEgS0VZX1JBRElPCisweDE5IEtFWV9URVhUCisKKzB4MGMgS0VZXzAKKzB4MDMgS0VZXzEKKzB4MDQgS0VZXzIKKzB4MDUgS0VZXzMKKzB4MDYgS0VZXzQKKzB4MDcgS0VZXzUKKzB4MDggS0VZXzYKKzB4MDkgS0VZXzcKKzB4MGEgS0VZXzgKKzB4MGIgS0VZXzkKKworMHgwZCBLRVlfVVAKKzB4MTEgS0VZX0RPV04KKzB4MjUgS0VZX1ZPTFVNRVVQCisweDI2IEtFWV9WT0xVTUVET1dOCisKKzB4MjMgS0VZX0NIQU5ORUxVUAorMHgyNCBLRVlfQ0hBTk5FTERPV04KKworMHgwMSBLRVlfUE9XRVIKKzB4MTMgS0VZX0JBQ0sKKzB4MDIgS0VZX01FTlUKKzB4MTQgS0VZX1JFRAorMHgxNSBLRVlfR1JFRU4KKzB4MTYgS0VZX1lFTExPVworMHgwZiBLRVlfT0sKKzB4MTcgS0VZX0JMVUUKKzB4MTggS0VZX01VVEUKKzB4M2QgS0VZX1JFV0lORAorMHgzYiBLRVlfUExBWQorMHgzZiBLRVlfRk9SV0FSRAorMHgzYSBLRVlfUkVDT1JECisweDNjIEtFWV9TVE9QCisweDNlIEtFWV9QQVVTRQorMHgwZSBLRVlfTEVGVAorMHgxMCBLRVlfUklHSFQKKzB4MTIgS0VZX0lORk8KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvYXQtSW5uc2JydWNrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9hdC1Jbm5zYnJ1Y2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODk4MzNlYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvYXQtSW5uc2JydWNrCkBAIC0wLDAgKzEsNTAgQEAKKyMgc2NhbiBjb25maWcgZm9yIElubnNicnVjayBUZWxlc3lzdGVtIGNhYmxlIHByb3ZpZGVyCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9hdC1LYWJlbC1CcmF1bmF1IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9hdC1LYWJlbC1CcmF1bmF1Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQxMTFjM2IKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2F0LUthYmVsLUJyYXVuYXUKQEAgLTAsMCArMSwxOTQgQEAKKyMgS2FiZWwgQnJhdW5hdQorIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDAyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDI2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDY2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDYxMTEwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2MTExMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDYxMTEwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2MTExMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjQyODAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2NDI4MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDYxMTEwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2F0LUthYmVsc2lnbmFsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9hdC1LYWJlbHNpZ25hbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMjczMDQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9hdC1LYWJlbHNpZ25hbApAQCAtMCwwICsxLDI5MCBAQAorIyBrYWJlbHNpZ25hbAorIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzIyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMzODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gODAyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA4MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvYXQtS2FycmVyTmV0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9hdC1LYXJyZXJOZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzcxYzYzYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvYXQtS2FycmVyTmV0CkBAIC0wLDAgKzEsMTg3IEBACisjIEthYmVsIFN0LiBGbG9yaWFuIGJlaSBMaW56L0FUIEthcnJlck5ldAorIyAyMDA5LTAxLTEwCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9hdC1MaXdlc3QgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2F0LUxpd2VzdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mM2IwY2FkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9hdC1MaXdlc3QKQEAgLTAsMCArMSwyMjcgQEAKKyMgS2FiZWwgTGluei9BVCBMaXdlc3QKKyMgMjAwNi0wOC0wMQorIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2F0LVNhbHpidXJnQUcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2F0LVNhbHpidXJnQUcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGE5ZTM2NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvYXQtU2FsemJ1cmdBRwpAQCAtMCwwICsxLDUwIEBACisjIHNjYW4gY29uZmlnIGZvciBTYWx6YnVyZyBBRyBjYWJsZSBwcm92aWRlcgorIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMwNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvYXQtVmllbm5hIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9hdC1WaWVubmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGJjZTRhOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvYXQtVmllbm5hCkBAIC0wLDAgKzEsMTAgQEAKKyMgS2FiZWwgVmllbm5hCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzc3NzUwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2JlLUlOLkRJLUludGVnYW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2JlLUlOLkRJLUludGVnYW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTZlY2ZmYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvYmUtSU4uREktSW50ZWdhbgpAQCAtMCwwICsxLDExNCBAQAorIyBJbnRlZ2FuIERWQi1DIChCZWxnaXVtLCBJTi5ESSByZWdpb24pCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9ici1OZXQtRGlnaXRhbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvYnItTmV0LURpZ2l0YWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTk3MzgzNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvYnItTmV0LURpZ2l0YWwKQEAgLTAsMCArMSwxMyBAQAorIyBOZXQgRGlnaXRhbAorIyBKdXN0IHRoZSBpbml0aWFsIHRyYW5zcG9uZGVyIGlzIGVub3VnaAorCisjIGZyZXEgc3IgZmVjIG1vZAorIyBGb3VuZCBvbiBTYW8gSm9zZSBkb3MgQ2FtcG9zLCBTUAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTczMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA1MjE3MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2NoLUJlcm4tdXBjLWNhYmxlY29tIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9jaC1CZXJuLXVwYy1jYWJsZWNvbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yMDUzZDZjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9jaC1CZXJuLXVwYy1jYWJsZWNvbQpAQCAtMCwwICsxLDExIEBACisjIHVwYyBjYWJsZWNvbQorIyBCZXJuZSwgU3dpdHplcmxhbmQKKyMgZnJlcSBzciBmZWMgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9jaC1HR0EtUHJhdHRlbG4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2NoLUdHQS1QcmF0dGVsbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yNTgxZDgxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9jaC1HR0EtUHJhdHRlbG4KQEAgLTAsMCArMSwyODcgQEAKKyMgRFZCLUMgdHJhbnNwb25kZXIvbXV4ZXMgc2NhbgorIyBHR0EgUHJhdHRlbG4sIFN3aXR6ZXJsYW5kCisjIHd3dy5nZ2EtcHJhdHRlbG4uY2gKKyMgTmV0d29yayBJRDogMTg2CisjIDIwMTItMTItMTcKKworIyBmcmVxICAgICAgc3IgICAgICBmZWMgIG1vZCAgICBDb21tZW50CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW1RlbGVjbHViXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbSW50ZXJ0YWlubWVudF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tJbnRlcnRhaW5tZW50XQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0ludGVydGFpbm1lbnRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0ludGVydGFpbm1lbnRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tJbnRlcnRhaW5tZW50XQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDgwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA4MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDgyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA4NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvY2gtUmVnYS1TZW5zZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvY2gtUmVnYS1TZW5zZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42YjViZWZmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9jaC1SZWdhLVNlbnNlCkBAIC0wLDAgKzEsMjA5IEBACisjIFJlZ2EgU2Vuc2UsIFN3aXR6ZXJsYW5kCisjIGZyZXEgc3IgZmVjIG1vZAorCisjIFBheSBUVgorW1RlbGVjbHViXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBCYXNpcyBvZmZlcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTI1MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDY2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEhEVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2NoLVZpZGVvMjAwMCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvY2gtVmlkZW8yMDAwCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg2NWM5MGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2NoLVZpZGVvMjAwMApAQCAtMCwwICsxLDEyIEBACisjIENhYmxlIFZpZGVvMjAwMAorIyBDYW50b24gb2YgTmV1Y2hhdGVsLCBTd2l0emVybGFuZAorCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvY2gtWnVlcmljaC11cGMtY2FibGVjb20gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2NoLVp1ZXJpY2gtdXBjLWNhYmxlY29tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE2MzlmODIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2NoLVp1ZXJpY2gtdXBjLWNhYmxlY29tCkBAIC0wLDAgKzEsMTEgQEAKKyMgdXBjIGNhYmxlY29tCisjIFp1cmljaCwgU3dpdHplcmxhbmQKKyMgZnJlcSBzciBmZWMgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9jaC1pbnRlckdHQSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvY2gtaW50ZXJHR0EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTA0NTdkYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvY2gtaW50ZXJHR0EKQEAgLTAsMCArMSwyMjMgQEAKKyMgRFZCLUMgdHJhbnNwb25kZXIvbXV4ZXMgc2NhbgorIyBpbnRlckdHQSwgU3dpdHplcmxhbmQKKyMgd3d3LmludGVyZ2dhLWFnLmNoCisjIE5ldHdvcmsgSUQ6IDU1NQorIyAyMDEyLTEyLTE4CisKKyMgZnJlcSAgICAgIHNyICAgICAgZmVjICBtb2QgICAgQ29tbWVudAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9jaC1xdWlja2xpbmUtZXdhYXJiZXJnIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9jaC1xdWlja2xpbmUtZXdhYXJiZXJnCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM1MTY4MjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2NoLXF1aWNrbGluZS1ld2FhcmJlcmcKQEAgLTAsMCArMSw4IEBACisjIEluaXRpYWwgc2NhbiBjb25maWcgZm9yIFN3aXNzIERWQi1DIHByb3ZpZGVyIFF1aWNrbGluZSBpbiBBYXJiZXJnIChFV0EpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2N6LU1vcmF2aWFuZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2N6LU1vcmF2aWFuZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDU3ZjgzYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvY3otTW9yYXZpYW5ldApAQCAtMCwwICsxLDEwOCBAQAorIyBEVkItQyBNb3JhdmlhbmV0IChodHRwOi8vd3d3Lm1vcmF2aWEubmV0LykKKyMgQXZhaWxhYmxlIGluIHZpbGxhZ2VzIGFuZCBjaXRpZXMgYXJvdW5kIEJybm86CisjIEJvaHVzbGF2aWNlLCBCdWtvdmFueSwgSHJ1c292YW55IHUgQnJuYSwgSHVzdG9wZWNlLCBJdmFuY2ljZSwgSmlyaWtvdmljZSwKKyMgS3lqb3YsIE1vcmF2c2t5IEtydW1sb3YsIE11dGVuaWNlLCBOZXNsb3ZpY2UsIE5vdmUgQnJhbmljZSwgT3NsYXZhbnksCisjIFBvcHV2a3ksIFBhZG9jaG92LCBUcm91YnNrbywgUm9zaWNlLCBUaXNub3YsIFZvamtvdmljZSwgU3ZhdG9ib3JpY2UsCisjIFNsYXBhbmljZSwgWmFiY2ljZSwgWmlkbG9jaG92aWNlCisjIFRoZSBzYW1lIGNvbnRlbnQgaXMgYXZhaWxhYmxlIGFsc28gZnJvbSBOZWpUViB3aGVyZSB0aGV5IHByb3ZpZGUgRFZCLUMuCisjIEN1cnJlbnRseSBpdCBpcyBpbiBIYXZsaWNrdXYgQnJvZCwgQnJlY2xhdiwgVmVsa2UgTWV6aXJpY2kKKyMKKyMgMjAwOC0xMi0wMworIworIyBmcmVxICAgICAgc3IgICAgICBmZWMgIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDIyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyMzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjY2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyODIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9jei1VUEMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2N6LVVQQwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZDdmZDI5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9jei1VUEMKQEAgLTAsMCArMSwyMjcgQEAKKyMgVVBDIMSMZXNrw6EgcmVwdWJsaWthIHwgaHR0cHM6Ly93d3cudXBjLmN6LworIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy51cGN6b25lLmN6L2Rvd25sb2FkL3Nlem5hbV9tdXh1Lmh0bQorIyBMYXN0IHVwZGF0ZWQ6IDIwLzMvMjAxNgorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1CZXJsaW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RlLUJlcmxpbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iOTNmZjZiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1CZXJsaW4KQEAgLTAsMCArMSwyNiBAQAorIyBLYWJlbCBCZXJsaW4KKyMgZnJlcSBzciBmZWMgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTEzMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RlLUJyYW5kZW5idXJnLUhhdmVsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1CcmFuZGVuYnVyZy1IYXZlbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kMDQxN2FkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1CcmFuZGVuYnVyZy1IYXZlbApAQCAtMCwwICsxLDIyNiBAQAorIyBCcmFuZGVuYnVyZyBhbiBkZXIgSGF2ZWwKKyMgZnJlcSBzciBmZWMgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1IZXNzZW4tVW5pdHltZWRpYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtSGVzc2VuLVVuaXR5bWVkaWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODA3YzQ0MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtSGVzc2VuLVVuaXR5bWVkaWEKQEAgLTAsMCArMSwzNDMgQEAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDI2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDEyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA4MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDgxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA4MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1LYWJlbF9CVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtS2FiZWxfQlcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjIwMTVjZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtS2FiZWxfQlcKQEAgLTAsMCArMSwyMyBAQAorIyBLYWJlbC1CVywgU3RhbmQgMDQvMjAwNworIworIyBOdXIgZWluZSBBbmZhbmdzZnJlcXVlbnogaXN0IG5vZXRpZywgdW0gZGVuIEJhbGwgaW5zCisjIFJvbGxlbiB6dSBicmluZ2VuLiBRdWFzaSBhbHMgRWluc3RpZWdzcHVua3QgZnVlciBlaW5lCisjIHVtZmFzc2VuZGUgU3VjaGUuIEVzIGJlc3RlaHQga2VpbiBHcnVuZCwgc2ljaCB1bSBhbGwgZGllCisjIHZpZWxlbiBhbmRlcmVuIEZyZXF1ZW56ZW4gdW5kIGRlcmVuIGFrdHVlbGwgdmVyd2VuZGV0ZQorIyBQYXJhbWV0ZXIgenUga3VlbW1lcm4gdW5kIGRpZXNlIGRhbm4gd29tb2VnbGljaCBhdWNoCisjIG5vY2ggYXVmIGVpbmVtIGFrdHVlbGxlbiBTdGFuZCBoYWx0ZW4genUgd29sbGVuLiBCZWkgZGVyCisjIHNjaGllcmVuIEFuemFobCBkZXIgaW5uZXJoYWxiIGRlcyBBdXNiYXVnZWJpZXRzIGR1cmNoCisjIEthYmVsIEJXIGdlbnV0enRlbiBGcmVxdWVuemVuIHdhZXJlIGRhcyBudXIgemVpdHJhdWJlbmQKKyMgdW5kIGZlaGxlcmFuZmFlbGxpZy4uLiA7LSkKKyMKKyMgRGlyayBSaXR0ZXIgPGRpcmtAR05VbWF0aWMuZGU+CisjCisjIGZyZXEgICAgICBzciAgICAgIGZlYyAgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtS2FiZWxfRGV1dHNjaGxhbmQtSGFubm92ZXIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RlLUthYmVsX0RldXRzY2hsYW5kLUhhbm5vdmVyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM0MzIzODQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RlLUthYmVsX0RldXRzY2hsYW5kLUhhbm5vdmVyCkBAIC0wLDAgKzEsMjE5IEBACisjIEthYmVsIERldXRzY2hsYW5kCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vaGVscGRlc2sua2RnZm9ydW0uZGUvc2VuZGIvYmVsZWd1bmctMTg4Lmh0bWwKKyMgZnJlcSBzciBmZWMgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDEyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMzMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzM4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDY2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1NdWVuY2hlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtTXVlbmNoZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTZmNjM3OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtTXVlbmNoZW4KQEAgLTAsMCArMSwxNzQgQEAKKyMgMjAwOC0wNi0yMgorIyBBcmVhOiBNdWVuY2hlbiBDaXR5CisjIENhYmxlIFByb3ZpZGVyOiBLYWJlbCAmIE1lZGllbiBTZXJ2aWNlIC0gaHR0cDovL3d3dy5hdGNhYmxlLmRlCisjIENhYmxlIENvbnRlbnQ6IENhYmxldmlzdGEgR21iSCAtIGh0dHA6Ly93d3cuY2FibGV2aXN0YS5kZQorIworIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDExMzAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMjEwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtTmV0QWFjaGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1OZXRBYWNoZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNThlZTU5NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtTmV0QWFjaGVuCkBAIC0wLDAgKzEsMjkyIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGZpbGUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgd19zY2FuCisjIChodHRwOi8vd2lyYmVsLmh0cGMtZm9ydW0uZGUvd19zY2FuL2luZGV4Mi5odG1sKQorIyEgPHdfc2Nhbj4gMjAxMjA2MDUgMSAwIENBQkxFIERFIDwvd19zY2FuPgorIyBNYW51YWxseSBhZGp1c3RlZCBieSByZWR1Y2luZyB3aGl0ZXNwYWNlIGJldHdlZW4gZmVjIGFuZCBtb2QKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBHZXJtYW55LCBBYWNoZW4sIE5ldEFhY2hlbiwgaHR0cDovL3d3dy5uZXRhYWNoZW4uZGUvCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxMy0wNC0xMQorIyBwcm92aWRlZCBieSAob3B0KSAgICA6IFRpbGwgTWFhcyA8b3BlbnNvdXJjZUB0aWxsLm5hbWU+CisjCisjIENbMl0gW3BscF9pZF0gW2RhdGFfc2xpY2VfaWRdIFtzeXN0ZW1faWRdIDxmcmVxPiA8c3I+IDxmZWM+IDxtb2Q+IFsjIGNvbW1lbnRdCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbTmV0Q29sb2duZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMTMwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tOZXRDb2xvZ25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW05ldENvbG9nbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbTmV0Q29sb2duZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tOZXRDb2xvZ25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW05ldENvbG9nbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbTmV0Q29sb2duZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tOZXRDb2xvZ25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDEyMTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW05ldENvbG9nbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbTmV0Q29sb2duZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tOZXRDb2xvZ25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW05ldENvbG9nbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbTmV0Q29sb2duZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tOZXRDb2xvZ25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW05ldENvbG9nbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbTmV0Q29sb2duZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tOZXRDb2xvZ25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW05ldENvbG9nbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbTmV0Q29sb2duZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tOZXRDb2xvZ25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW05ldENvbG9nbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbTmV0Q29sb2duZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tOZXRDb2xvZ25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDEyOTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0JldGFEaWdpdGFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQmV0YURpZ2l0YWxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tCZXRhRGlnaXRhbF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0JldGFEaWdpdGFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQmV0YURpZ2l0YWxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1QcmltYWNvbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtUHJpbWFjb20KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjg5YTg2ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtUHJpbWFjb20KQEAgLTAsMCArMSwyNTEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgZmlsZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSB3X3NjYW4KKyMgKGh0dHA6Ly93aXJiZWwuaHRwYy1mb3J1bS5kZS93X3NjYW4vaW5kZXgyLmh0bWwpCisjISA8d19zY2FuPiAyMDEzMDMzMSAxIDAgQ0FCTEUgREUgPC93X3NjYW4+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogQ2hlbW5pdHogUHJpbWFjb20KKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDEzLTA2LTIyCisjIHByb3ZpZGVkIGJ5IChvcHQpICAgIDogU3ZlbiBFY2tlbG1hbm4gPHN2ZW5AbmFyZmF0aW9uLm9yZz4KKyMKKyMgQ1syXSBbcGxwX2lkXSBbZGF0YV9zbGljZV9pZF0gW3N5c3RlbV9pZF0gPGZyZXE+IDxzcj4gPGZlYz4gPG1vZD4gWyMgY29tbWVudF0KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDEyMTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNjkwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ByaW1hQ29tIEEuRy5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzM4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ByaW1hQ29tIEEuRy5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ByaW1hQ29tIEEuRy5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ByaW1hQ29tIEEuRy5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ByaW1hQ29tIEEuRy5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMzMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ByaW1hQ29tIEEuRy5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ByaW1hQ29tIEEuRy5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDEyOTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMzcwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ByaW1hQ29tIEEuRy5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTQ1MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMwNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ByaW1hQ29tIEEuRy5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzIyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNTMwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE2MTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1Vbml0eW1lZGlhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1Vbml0eW1lZGlhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAzMjNkMWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RlLVVuaXR5bWVkaWEKQEAgLTAsMCArMSwyNjAgQEAKKyMgVW5pdHltZWRpYQorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy51bml0eW1lZGlhLmRlL3NlcnZpY2Uvc29mb3J0aGlsZmUvZnJlcXVlbnplbi5odG1sCisjIGFuZCBodHRwOi8vd3d3LnVuaXR5bWVkaWEuZGUvaW1hZ2VzL1VuaXR5RGlnaXRhbFRWX0xpbmV1cF8wMS0wNy0yMDA5LnBkZgorIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDExMzAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTIxMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RlLWllc3kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RlLWllc3kKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmIzNjMwZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtaWVzeQpAQCAtMCwwICsxLDE0NiBAQAorIyBVbml0eSBNZWRpYSAoaWVzeSBIZXNzZW4sIGlzaCBOb3JkcmhlaW4tV2VzdGZhbGVuKQorIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDExMzAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMjEwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDY2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1rb21yby1Sb3NlbmhlaW0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RlLWtvbXJvLVJvc2VuaGVpbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40OWZmYTViCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1rb21yby1Sb3NlbmhlaW0KQEAgLTAsMCArMSwyMjYgQEAKKyMga29tcm8gKFJvc2VuaGVpbSkKKyMgZnJlcSBzciBmZWMgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMTMwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTIxMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMzODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1uZWZ0diBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtbmVmdHYKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWJmMGYwMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtbmVmdHYKQEAgLTAsMCArMSwyMzcgQEAKKyMgQ2FibGUgY29uZiBmb3IgTkVGdHYKKyMgKE51ZXJuYmVyZywgRXJsYW5nZW4sIEZ1ZXJ0aCBhbmQgSGVyem9nZW5hdXJhY2ggKGhlcnpvbWVkaWEpKQorCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTEzMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUaGUgZm9sbG93aW5nIGNoYW5uZWwgaXMgb25seSBhdmFpbGFibGUgaW4gSGVyem9nZW5hdXJhY2gKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDgwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA4MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kay1BYXJodXMtQW50ZW5uZWZvcmVuaW5nIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kay1BYXJodXMtQW50ZW5uZWZvcmVuaW5nCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNkMGFlMTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RrLUFhcmh1cy1BbnRlbm5lZm9yZW5pbmcKQEAgLTAsMCArMSw5IEBACisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGstQ29wZW5oYWdlbi1BRkRLIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kay1Db3BlbmhhZ2VuLUFGREsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTc3M2NjMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGstQ29wZW5oYWdlbi1BRkRLCkBAIC0wLDAgKzEsNjcgQEAKKyMgQUZESywgQ29wZW5oYWdlbgorIyBodHRwOi8vd3d3LmFmZGsudHYvCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RrLU9kZW5zZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGstT2RlbnNlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZmYWM5YzgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RrLU9kZW5zZQpAQCAtMCwwICsxLDY2IEBACisjIEdsZW50ZXZlanMgQW50ZW5uZWxhdWcgKERlbm1hcmsgLyBPZGVuc2UpCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjU1MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA1MDAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kay1Zb3VTZWUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RrLVlvdVNlZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41NGNhZGI1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kay1Zb3VTZWUKQEAgLTAsMCArMSwyMjMgQEAKK1tDSEFOTkVMXQorICAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKyAgICAgICAgRlJFUVVFTkNZID0gNjAyMDAwMDAwCisgICAgICAgIFNZTUJPTF9SQVRFID0gNjg3NTAwMAorICAgICAgICBJTk5FUl9GRUMgPSBOT05FCisgICAgICAgIE1PRFVMQVRJT04gPSBRQU0vNjQKKyAgICAgICAgSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKyAgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisgICAgICAgIEZSRVFVRU5DWSA9IDU5NDAwMDAwMAorICAgICAgICBTWU1CT0xfUkFURSA9IDY4NzUwMDAKKyAgICAgICAgSU5ORVJfRkVDID0gTk9ORQorICAgICAgICBNT0RVTEFUSU9OID0gUUFNLzY0CisgICAgICAgIElOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisgICAgICAgIERFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorICAgICAgICBGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKyAgICAgICAgU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisgICAgICAgIElOTkVSX0ZFQyA9IE5PTkUKKyAgICAgICAgTU9EVUxBVElPTiA9IFFBTS82NAorICAgICAgICBJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorICAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKyAgICAgICAgRlJFUVVFTkNZID0gNTc4MDAwMDAwCisgICAgICAgIFNZTUJPTF9SQVRFID0gNjg3NTAwMAorICAgICAgICBJTk5FUl9GRUMgPSBOT05FCisgICAgICAgIE1PRFVMQVRJT04gPSBRQU0vNjQKKyAgICAgICAgSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKyAgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisgICAgICAgIEZSRVFVRU5DWSA9IDU3MDAwMDAwMAorICAgICAgICBTWU1CT0xfUkFURSA9IDY4NzUwMDAKKyAgICAgICAgSU5ORVJfRkVDID0gTk9ORQorICAgICAgICBNT0RVTEFUSU9OID0gUUFNLzY0CisgICAgICAgIElOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisgICAgICAgIERFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorICAgICAgICBGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKyAgICAgICAgU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisgICAgICAgIElOTkVSX0ZFQyA9IE5PTkUKKyAgICAgICAgTU9EVUxBVElPTiA9IFFBTS82NAorICAgICAgICBJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorICAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKyAgICAgICAgRlJFUVVFTkNZID0gNTU0MDAwMDAwCisgICAgICAgIFNZTUJPTF9SQVRFID0gNjg3NTAwMAorICAgICAgICBJTk5FUl9GRUMgPSBOT05FCisgICAgICAgIE1PRFVMQVRJT04gPSBRQU0vNjQKKyAgICAgICAgSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKyAgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisgICAgICAgIEZSRVFVRU5DWSA9IDU0NjAwMDAwMAorICAgICAgICBTWU1CT0xfUkFURSA9IDY4NzUwMDAKKyAgICAgICAgSU5ORVJfRkVDID0gTk9ORQorICAgICAgICBNT0RVTEFUSU9OID0gUUFNLzY0CisgICAgICAgIElOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisgICAgICAgIERFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorICAgICAgICBGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKyAgICAgICAgU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisgICAgICAgIElOTkVSX0ZFQyA9IE5PTkUKKyAgICAgICAgTU9EVUxBVElPTiA9IFFBTS82NAorICAgICAgICBJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorICAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKyAgICAgICAgRlJFUVVFTkNZID0gNTMwMDAwMDAwCisgICAgICAgIFNZTUJPTF9SQVRFID0gNjg3NTAwMAorICAgICAgICBJTk5FUl9GRUMgPSBOT05FCisgICAgICAgIE1PRFVMQVRJT04gPSBRQU0vNjQKKyAgICAgICAgSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKyAgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisgICAgICAgIEZSRVFVRU5DWSA9IDUyMjAwMDAwMAorICAgICAgICBTWU1CT0xfUkFURSA9IDY4NzUwMDAKKyAgICAgICAgSU5ORVJfRkVDID0gTk9ORQorICAgICAgICBNT0RVTEFUSU9OID0gUUFNLzY0CisgICAgICAgIElOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisgICAgICAgIERFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorICAgICAgICBGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKyAgICAgICAgU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisgICAgICAgIElOTkVSX0ZFQyA9IE5PTkUKKyAgICAgICAgTU9EVUxBVElPTiA9IFFBTS82NAorICAgICAgICBJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorICAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKyAgICAgICAgRlJFUVVFTkNZID0gNTA2MDAwMDAwCisgICAgICAgIFNZTUJPTF9SQVRFID0gNjg3NTAwMAorICAgICAgICBJTk5FUl9GRUMgPSBOT05FCisgICAgICAgIE1PRFVMQVRJT04gPSBRQU0vNjQKKyAgICAgICAgSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKyAgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisgICAgICAgIEZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorICAgICAgICBTWU1CT0xfUkFURSA9IDY4NzUwMDAKKyAgICAgICAgSU5ORVJfRkVDID0gTk9ORQorICAgICAgICBNT0RVTEFUSU9OID0gUUFNLzY0CisgICAgICAgIElOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisgICAgICAgIERFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorICAgICAgICBGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKyAgICAgICAgU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisgICAgICAgIElOTkVSX0ZFQyA9IE5PTkUKKyAgICAgICAgTU9EVUxBVElPTiA9IFFBTS82NAorICAgICAgICBJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorICAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKyAgICAgICAgRlJFUVVFTkNZID0gNDgyMDAwMDAwCisgICAgICAgIFNZTUJPTF9SQVRFID0gNjg3NTAwMAorICAgICAgICBJTk5FUl9GRUMgPSBOT05FCisgICAgICAgIE1PRFVMQVRJT04gPSBRQU0vNjQKKyAgICAgICAgSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKyAgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisgICAgICAgIEZSRVFVRU5DWSA9IDQ1ODAwMDAwMAorICAgICAgICBTWU1CT0xfUkFURSA9IDY4NzUwMDAKKyAgICAgICAgSU5ORVJfRkVDID0gTk9ORQorICAgICAgICBNT0RVTEFUSU9OID0gUUFNLzY0CisgICAgICAgIElOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisgICAgICAgIERFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorICAgICAgICBGUkVRVUVOQ1kgPSA0NTAwMDAwMDAKKyAgICAgICAgU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisgICAgICAgIElOTkVSX0ZFQyA9IE5PTkUKKyAgICAgICAgTU9EVUxBVElPTiA9IFFBTS82NAorICAgICAgICBJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorICAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKyAgICAgICAgRlJFUVVFTkNZID0gNDQyMDAwMDAwCisgICAgICAgIFNZTUJPTF9SQVRFID0gNjg3NTAwMAorICAgICAgICBJTk5FUl9GRUMgPSBOT05FCisgICAgICAgIE1PRFVMQVRJT04gPSBRQU0vNjQKKyAgICAgICAgSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKyAgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisgICAgICAgIEZSRVFVRU5DWSA9IDQxODAwMDAwMAorICAgICAgICBTWU1CT0xfUkFURSA9IDY4NzUwMDAKKyAgICAgICAgSU5ORVJfRkVDID0gTk9ORQorICAgICAgICBNT0RVTEFUSU9OID0gUUFNLzY0CisgICAgICAgIElOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisgICAgICAgIERFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorICAgICAgICBGUkVRVUVOQ1kgPSA0MDIwMDAwMDAKKyAgICAgICAgU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisgICAgICAgIElOTkVSX0ZFQyA9IE5PTkUKKyAgICAgICAgTU9EVUxBVElPTiA9IFFBTS82NAorICAgICAgICBJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorICAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKyAgICAgICAgRlJFUVVFTkNZID0gMzc4MDAwMDAwCisgICAgICAgIFNZTUJPTF9SQVRFID0gNjg3NTAwMAorICAgICAgICBJTk5FUl9GRUMgPSBOT05FCisgICAgICAgIE1PRFVMQVRJT04gPSBRQU0vNjQKKyAgICAgICAgSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKyAgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisgICAgICAgIEZSRVFVRU5DWSA9IDI0ODAwMDAwMAorICAgICAgICBTWU1CT0xfUkFURSA9IDY4NzUwMDAKKyAgICAgICAgSU5ORVJfRkVDID0gTk9ORQorICAgICAgICBNT0RVTEFUSU9OID0gUUFNLzY0CisgICAgICAgIElOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisgICAgICAgIERFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorICAgICAgICBGUkVRVUVOQ1kgPSAyMzgwMDAwMDAKKyAgICAgICAgU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisgICAgICAgIElOTkVSX0ZFQyA9IE5PTkUKKyAgICAgICAgTU9EVUxBVElPTiA9IFFBTS82NAorICAgICAgICBJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorICAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKyAgICAgICAgRlJFUVVFTkNZID0gMjMwMDAwMDAwCisgICAgICAgIFNZTUJPTF9SQVRFID0gNjg3NTAwMAorICAgICAgICBJTk5FUl9GRUMgPSBOT05FCisgICAgICAgIE1PRFVMQVRJT04gPSBRQU0vNjQKKyAgICAgICAgSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKyAgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisgICAgICAgIEZSRVFVRU5DWSA9IDE1NjAwMDAwMAorICAgICAgICBTWU1CT0xfUkFURSA9IDY4NzUwMDAKKyAgICAgICAgSU5ORVJfRkVDID0gTk9ORQorICAgICAgICBNT0RVTEFUSU9OID0gUUFNLzY0CisgICAgICAgIElOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisgICAgICAgIERFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorICAgICAgICBGUkVRVUVOQ1kgPSAxNDMwMDAwMDAKKyAgICAgICAgU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisgICAgICAgIElOTkVSX0ZFQyA9IE5PTkUKKyAgICAgICAgTU9EVUxBVElPTiA9IFFBTS82NAorICAgICAgICBJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorICAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKyAgICAgICAgRlJFUVVFTkNZID0gMTM1MDAwMDAwCisgICAgICAgIFNZTUJPTF9SQVRFID0gNjg3NTAwMAorICAgICAgICBJTk5FUl9GRUMgPSBOT05FCisgICAgICAgIE1PRFVMQVRJT04gPSBRQU0vNjQKKyAgICAgICAgSU5WRVJTSU9OID0gQVVUTwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9lcy1FdXNrYWx0ZWwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2VzLUV1c2thbHRlbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iZjU5MjZiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9lcy1FdXNrYWx0ZWwKQEAgLTAsMCArMSwxMTcgQEAKKyMgU2NhbiBjb25maWcgZm9yIEV1c2thbHRlbCAoRFZCLUMpCisjIEJhc3F1ZSBDb3VudHJ5IC0gU3BhaW4KKyMgZmlsZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSB3X3NjYW4KKyMgKGh0dHA6Ly9mcmVlLnBhZ2VzLmF0L3dpcmJlbDR2ZHIvd19zY2FuL2luZGV4Mi5odG1sKQorIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gODAyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDgxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA4MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9maS1IVFYgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2ZpLUhUVgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45YjY5ZGU2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9maS1IVFYKQEAgLTAsMCArMSwyMzQgQEAKKyMgR2VuZXJhdGVkIGZyb20gaHR0cDovL2R2Yi53ZWxoby5maS9oZWw1LXNpZHVtcDEueG1sCisjIDIwMTYtMDEtMDYgMTU6NDI6MzIuMDczNjM3CisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyOTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzM4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDIwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyMTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDIyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9maS1Kb2Vuc3V1LVRpa2thIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9maS1Kb2Vuc3V1LVRpa2thCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRmOGRiZTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2ZpLUpvZW5zdXUtVGlra2EKQEAgLTAsMCArMSw5MCBAQAorIyBEVkItQywgVGlra2EgTWVkaWEsIEpvZW5zdXUsIEZpbmxhbmQKKyMgZnJlcSBzciBmZWMgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9maS1LYWlzYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZmktS2Fpc2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTFiODY5ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZmktS2Fpc2EKQEAgLTAsMCArMSwyMjYgQEAKKyMgS2Fpc2FuZXQgT3kgKEthamFhbmkpCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzM4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMDgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMDgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI4MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjc0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyMDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDIxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyMjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2ZpLVRUViBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZmktVFRWCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMxMDcxOWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2ZpLVRUVgpAQCAtMCwwICsxLDE4IEBACisjIFRUVgorIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2ZpLVR1cmt1IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9maS1UdXJrdQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kOGM3ZGE2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9maS1UdXJrdQpAQCAtMCwwICsxLDE3MCBAQAorIyBUdXJ1biBLYWFwZWxpdGVsZXZpc2lvIE95IChUdXJrdSkKKyMgZnJlcSBzciBmZWMgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyMzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyOTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2ZpLWRuYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZmktZG5hCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQwYmRkNjMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2ZpLWRuYQpAQCAtMCwwICsxLDIzNyBAQAorIyBETkEgbmV0d29yayByZWZlcmVuY2UgY2hhbm5lbHMKKyMgdXBkYXRlZCAyMDExLTA0LTA4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBodHRwOi8vd3d3LmRuYS5maS9ZS1NJVFlJU0lMTEUvVFYvS0FBUEVMSVRWL1NpdnV0L1RhYWp1dWRldC5hc3B4CisjCisjIGZyZXEgICAgICBzciAgICAgIGZlYyAgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDIyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjc0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyODIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI5MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjk4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyOTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMwNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMzMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzM4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9maS1qa2wgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2ZpLWprbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZGZkNjc4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9maS1qa2wKQEAgLTAsMCArMSw2NiBAQAorIyBPbkNhYmxlIChGaW5sYW5kIC8gSnl2w6Rza3lsw6QpCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDAyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZmktc29uZXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9maS1zb25lcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmExMzI2YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZmktc29uZXJhCkBAIC0wLDAgKzEsMTk2IEBACisjIFNvbmVyYSBrYWFwZWxpLXR2IChGaW5sYW5kKQorIyBNYWtzdXR0b21hdCBrYW5hdmF0IG92YXQgMjQyLDI1MCwzMTQsMzcwIGphIDQxMCBNSHo6biBtdXhlaXNzYQorIworIyBmcmVxIMKgIMKgIMKgc3IgwqAgwqAgwqBmZWMgwqBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDIzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI1ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjY2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzM4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZmktdmFhc2Etb25jYWJsZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZmktdmFhc2Etb25jYWJsZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNzUxODBmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9maS12YWFzYS1vbmNhYmxlCkBAIC0wLDAgKzEsOTAgQEAKKyMgT25DYWJsZSAoRmlubGFuZCAvIFZhYXNhKQorIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTQzMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9mci1ub29zLW51bWVyaWNhYmxlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9mci1ub29zLW51bWVyaWNhYmxlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjEyNDliMzcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2ZyLW5vb3MtbnVtZXJpY2FibGUKQEAgLTAsMCArMSwzMTQgQEAKKyMgQ2FibGUgZW4gRnJhbmNlCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTIzMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDEzMTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMzkwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTQ3MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE1NTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNjMwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTcxMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE3OTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxODcwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTk1MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDIwMzAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyMTEwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjE5MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDIyNzAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyMzUwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjQzMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI1MTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNTkwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjY3MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI3NTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyODMwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjkxMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI5OTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMTUwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzIzMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMzOTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNDcwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzQ4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9oci1CLm5ldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvaHItQi5uZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWRlOGViNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvaHItQi5uZXQKQEAgLTAsMCArMSwyNTAgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgZmlsZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSB3X3NjYW4KKyMgKGh0dHA6Ly93aXJiZWwuaHRwYy1mb3J1bS5kZS93X3NjYW4vaW5kZXgyLmh0bWwpCisjISA8d19zY2FuPiAyMDEzMDMzMSAxIDAgQ0FCTEUgSFIgPC93X3NjYW4+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogPENyb2F0aWEsIEIubmV0LCBodHRwOi8vd3d3LmJuZXQuaHIvPgorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTUtMDYtMDcKKyMgcHJvdmlkZWQgYnkgKG9wdCkgICAgOiA8Z29nbyB0cmViZWxuaWsyQGdtYWlsLmNvbT4KKyMKKyMgQ1syXSBbcGxwX2lkXSBbZGF0YV9zbGljZV9pZF0gW3N5c3RlbV9pZF0gPGZyZXE+IDxzcj4gPGZlYz4gPG1vZD4gWyMgY29tbWVudF0KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA4MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gODU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDgxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gODI2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9odS1EaWdpa2FiZWwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2h1LURpZ2lrYWJlbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wOGQ1MDZiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9odS1EaWdpa2FiZWwKQEAgLTAsMCArMSwxNDQgQEAKKyMgRGlnaWthYmVsLCBIdW5nYXJ5CisjIEZvciB0aGUgZm9sbG93aW5nIGNpdGllczoKKyMgIEJ1ZGFwZXN0LCBEb3JvZywgSGF0dmFuLCBLaXNrdW5oYWxhcywgRGVicmVjZW4sIFN6ZWtlc2ZlaGVydmFyLCBQZWNzLAorIyAgVmVzenByZW0sIER1bmF1anZhcm9zLCBNaXNrb2xjLCBHeW9uZ3lvcywgVGF0YWJhbnlhLCBWYXJwYWxvdGEsIE5hZ3lrYW5penNhLAorIyAgU2FsZ290YXJqYW4sIEJhdG9ueXRlcmVueWUsIFN6b2xub2ssIFN6ZW50aXN0dmFuLCBOeWlyZWd5aGF6YSwgR3lvciwKKyMgIFN6YXpoYWxvbWJhdHRhLCBCZWtlc2NzYWJhLCBCZWtlcywgRWdlciwgS29tbG8sIE9yb3N6bGFueQorIyBJbiBzb21lIG9mIHRoZSBjaXRpZXMgbm90IGFsbCB0aGUgZnJlcXVlbmNpZXMgYXJlIGF2YWlsYWJsZS4KKyMgZnJlcSBzciBmZWMgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMjEwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9sdS1FdHRlbGJydWNrLUFDRSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvbHUtRXR0ZWxicnVjay1BQ0UKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGE1NjdmZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvbHUtRXR0ZWxicnVjay1BQ0UKQEAgLTAsMCArMSwxMzIgQEAKKyMgU2NhbiBjb25maWcgZm9yIEFudGVubmUgQ29sbGVjdGl2ZSBFdHRlbGJydWNrIGEucy5iLmwuCisjIChodHRwOi8vYW50ZW5uZS1ldHRlbGJydWNrLmx1KQorIyBMdXhlbWJvdXJnIC0gRXR0ZWxicnVjaworIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NTYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDM0NTAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjYwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSAzNDUwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcyMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gMzQ1MDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MzIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDM0NTAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzI0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSAzNDUwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcyODAwMDAwMAorCVNZTUJPTF9SQVRFID0gMzQ1MDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL25sLURlbHRhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9ubC1EZWx0YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kMjc4ZjhkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9ubC1EZWx0YQpAQCAtMCwwICsxLDE1IEBACisjIEluaXRpYWwgVHVuaW5nIGZpbGUgZm9yIG5sLURFTFRBCisjIFRoaXMgZmlsZSBvbmx5IGxpc3RzIHRoZSBtYWluCisjIGZyZXF1ZW5jeS4gWW91IHN0aWxsIG5lZWQgdG8gZG8KKyMgYSBuZXR3b3JrIHNjYW4gdG8gZmluZCBvdGhlcgorIyB0cmFuc3BvbmRlcnMuCisjCisjCitbTWFpbiBGcmVxdWVuY3ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDAyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvbmwtUkVLQU0tQ0FJV19Hb3VkYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvbmwtUkVLQU0tQ0FJV19Hb3VkYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40Y2Q2MGJkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9ubC1SRUtBTS1DQUlXX0dvdWRhCkBAIC0wLDAgKzEsMTggQEAKKyMgUkVLQU0gLyBDYWl3YXksIEdvdWRhLCBOZXRoZXJsYW5kcworIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE2MzAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9ubC1aaWdnbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvbmwtWmlnZ28KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODhjODk2NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvbmwtWmlnZ28KQEAgLTAsMCArMSwxNyBAQAorIyBJbml0aWFsIFR1bmluZyBmaWxlIGZvciBubC1aaWdnbworIyBUaGlzIGZpbGUgb25seSBsaXN0cyB0aGUgbWFpbgorIyBmcmVxdWVuY2llLiBZb3Ugc3RpbGwgbmVlZCB0byBkbworIyBhIG5ldHdvcmsgc2NhbiB0byBmaW5kIG90aGVyCisjIHRyYW5zcG9uZGVycy4KKyMgQWxzbyBzZXQgdGhlIG5ldHdvcmsgaWQKKyMgKGFrYSBuaXQgb3RoZXIpIHRvOiA1NTU1CisjCisKK1tNYWluIEZyZXF1ZW5jeSBaaWdnb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9uby1Pc2xvLUNhbmFsRGlnaXRhbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvbm8tT3Nsby1DYW5hbERpZ2l0YWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTYwYzE5ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvbm8tT3Nsby1DYW5hbERpZ2l0YWwKQEAgLTAsMCArMSw5NyBAQAorIyBuby1vc2xvLUNhbmFsRGlnaXRhbCAoY2FibGUpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5NTAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTUwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjk1MDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5NTAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTUwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjk1MDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5NTAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTUwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjk1MDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5NTAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTUwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjk1MDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL25vLU9zbG8tR2V0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9uby1Pc2xvLUdldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wNWFjNDYzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9uby1Pc2xvLUdldApAQCAtMCwwICsxLDE2OSBAQAorIyBuby1Pc2xvLUdldCAoY2FibGUpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNDEwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI3MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjgwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyOTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5NTIwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL3JvLURpZ2lUViBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvcm8tRGlnaVRWCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZlNmNiNmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL3JvLURpZ2lUVgpAQCAtMCwwICsxLDIwMSBAQAorIyBGcm9tIGh0dHA6Ly93d3cucmNzLXJkcy5yby9wZXJzb25hbC10dj90PWNhYmx1JnBhY2hldD1kaWdpdGFsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMzODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDY2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL3NlLUdvdGhuZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL3NlLUdvdGhuZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2Y0ZjcwZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvc2UtR290aG5ldApAQCAtMCwwICsxLDEyMSBAQAorIyBHb3RobmV0IERWQi1DCisjIFVwZGF0ZWQ6IDIwMDgtMDktMTkKKyMgZnJlcSBzciBmZWMgbW9kCisKKyMgRnJlZSBjaGFubmVscworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTUEEgY2hhbm5lbHMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQ2FuYWwgRGlnaXRhbCBjaGFubmVscworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA3MDAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNzAwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDcwMDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA3MDAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNzAwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDcwMDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9zZS1jb21oZW0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL3NlLWNvbWhlbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yNGFjZDk3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9zZS1jb21oZW0KQEAgLTAsMCArMSwyNDggQEAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI5MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjk4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzIyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMzODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FCUzEtNzUuMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FCUzEtNzUuMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjE4MzYyOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQUJTMS03NS4wRQpAQCAtMCwwICsxLDY2IEBACisjIEFCUy0xIEAgNzVFCisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTE4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTQ4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTc5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjQwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjcwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjkzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNzA0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI3NDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNzQwODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DMS0xMDN3IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUMxLTEwM3cKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmI5ZGI4NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DMS0xMDN3CkBAIC0wLDAgKzEsMTkgQEAKKyMgQU1DIDEgQCAxMDNXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NDIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzEwX0MtMTM1VyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DMTBfQy0xMzVXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJlMzY4NDMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzEwX0MtMTM1VwpAQCAtMCwwICsxLDIxIEBACisjIEFNQyAxMCBAIDEzNVcgQy1CQU5ECisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgyMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5MjY4MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTAwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjkyNjgwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUMxMV9DLTEzMVcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzExX0MtMTMxVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MjA3ZDliCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUMxMV9DLTEzMVcKQEAgLTAsMCArMSwzMCBAQAorIyBBTUMgMTEgQCAxMzFXIEMtQkFORAorIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzODIwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjk3MjYwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzg2MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkyODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxNDMyMjAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzE2LTg1LjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUMxNi04NS4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44ZDg5ZjkxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUMxNi04NS4wVwpAQCAtMCwwICsxLDI3IEBACisjIEFNQyAyIEAgODVXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MzEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMzAyMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc0NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzMDIxMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzcxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTMwMjEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzE4X0MtMTA1VyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DMThfQy0xMDVXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA5YWFjYjYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzE4X0MtMTA1VwpAQCAtMCwwICsxLDIwIEBACisjIEFNQyAxOCBAIDEwNVcgQy1CQU5ECisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM3ODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwNjgwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DNC0xMDF3IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUM0LTEwMXcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTEzOTdkNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DNC0xMDF3CkBAIC0wLDAgKzEsNTkgQEAKKyMgQU1DIDQgQCAxMDEuMFcKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU3MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA3MjM0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjU1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzA4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIxNzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MjIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1NzAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjgxMzgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNjkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUM1LTc5dyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DNS03OXcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmQ4ZjdlYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DNS03OXcKQEAgLTAsMCArMSwxOSBAQAorIyBBTUMgNSBAIDc5VworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzQyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDExMTEwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTgyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjMwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzYtNzJ3IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUM2LTcydwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41MjU5NzJhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUM2LTcydwpAQCAtMCwwICsxLDMzMSBAQAorIyBBTUMgNiBAIDcyVworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDgyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI2NTYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE0OTQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjU2MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTQ5OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTY0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTA1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NjMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1NDYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTIwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1NDgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTUyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU1NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQzOTIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1NjMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MzkyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTcwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDM5MjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU3NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQzOTIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1ODYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNjUyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjAzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDg1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2MDUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzYwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTYxMTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzNDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjI4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY1NjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2MzcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTY0MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzNzAyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjQ4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NjcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNzQwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTY3NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTcwOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzE1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NDYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc0ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE0MDE1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzUyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NjMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgxNzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDUwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NzQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk4NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTk1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAxMzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDI1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMzEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA0NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDYxMTEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjg5MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE0NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNTczMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTg4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjUxMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DOF9DLTEzOVcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzhfQy0xMzlXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdhMzJhZGIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzhfQy0xMzlXCkBAIC0wLDAgKzEsNTcgQEAKKyMgQU1DIDggQCAxMzlXIEMtQkFORAorIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNTYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMzI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc0NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTU1MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzY2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzMzUwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNzEzNjAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE1MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA5MjU5MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTcwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEwMTI4MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DOS04My4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DOS04My4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44NDdhYjJhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUM5LTgzLjBXCkBAIC0wLDAgKzEsMTIzIEBACisjIEFNQyA5IEAgODNXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MjMyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzUxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDIzMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc1NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyMzIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NjMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MjMyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzY5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDIzMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc3NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyMzIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MjYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1NjMyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODY0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg3MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODg5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTMwMjUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MjYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjUxMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk1MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAwMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUM5X0MtODMuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzlfQy04My4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zYmIxMGJmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUM5X0MtODMuMFcKQEAgLTAsMCArMSw0OSBAQAorIyBBTUMgOSBAIDgzVyBDLUJBTkQKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODA0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQxNjcwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjM5ODAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgxMzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjIxMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODE3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4ODMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzODI1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQwMzQwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BZ2lsYTJfQy0xNDYuMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FnaWxhMl9DLTE0Ni4wRQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41NTkxZTUwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BZ2lsYTJfQy0xNDYuMEUKQEAgLTAsMCArMSwxODYgQEAKKyMgQWdpbGEgMiBAIDE0Ni4wRSBDLUJBTkQKKyMgR2VuZXJhdGVkIGJ5IFBpZXRybyBDYXNvYXIKKyMgMXN0IE1hcmNoIDIwMDkKKworIyBNUEVHLTIgJiBNUEVHLTQgUVBTSyAoRFZCUy9TMikKKyMgZnJlcSBwb2wgc3IgZmVjCisKKyMgVml2YSBQcmltZSBDaGFubmVsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcyNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIzNDUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBab2UgUGhpbGlwcGluZXMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzc0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBEYSBBaSBUViBpbmRvbmVzaWEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzkxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzEwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRyaW5pdHkgQnJvYWRjYXN0aW5nIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3OTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTAwOTEwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBCYXlvbiBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3OTYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMzYwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgV2hpdGUgU3ByaW5ncyBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NDYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2MTEwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVENUIFdvcmxkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg1NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI2MDMwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBDQ1ROCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg3MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNTMyMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTkJOIFBoaWxpcHBpbmVzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg3NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBBbCBNYXNyaXlhaAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4ODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVml2YSBFbnRlcnRhaW5tZW50IE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4ODcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NzE2MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgSUJDMTMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODk2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIENUTiBDYW1ib2RpYSBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTc5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDk2MjgwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBEaXZ5YSBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5OTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTMzMzAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBGYW1pbHlsYW5kIFRWIE5ldHdvcmsKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTY0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM3MzUwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBNVFYgUGhpbGlwcGluZXMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTcxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMyMTMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUaGUgT2xkIFBhdGggVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTgzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIxNzAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBVTlRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE4ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMTcwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FtYXpvbmFzLTYxLjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BbWF6b25hcy02MS4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iNzQ3MWMxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BbWF6b25hcy02MS4wVwpAQCAtMCwwICsxLDQxMSBAQAorIyBBbWF6b25hcyBAIDYxLjBXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk1NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk2NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk3NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk5MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEzNzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM0MDkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk0MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzNDgwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDkyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTMyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNzQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMzMwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTI4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExODUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTE4MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwNDkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA1MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk3NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjMxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc4NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk3NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI2NjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NzcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5ODUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDQ0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODEwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MjEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjE3NDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDc1MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTY4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNzMwNzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA1MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI2NjY3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTcyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwOTIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTE3NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4ODgwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNTQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA5NjE1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDk5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDc1NzYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4ODUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0ODkwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODgyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDExMzQzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTMzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMxMTEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwNzgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTg2MjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkxMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMjIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MDYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjIwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTA4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIxNzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMzIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTEzNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI2NjY3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDU0MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgwODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDExMTExMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTcyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjY2NjcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE1NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NTQwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNDkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDU0MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTQ4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTMzMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE3ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMzMzMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTY2MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwOTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc5MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM2MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNzIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwMTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNjY2NjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTA1NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDEyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0Ftb3MtNHcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0Ftb3MtNHcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTIyMjgwYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQW1vcy00dwpAQCAtMCwwICsxLDM3MCBAQAorIyBBbW9zIDYgQCA0VworIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDcyMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3MjIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDcyMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwNzU4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3NTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDc1OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4MDYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwODA2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4NDIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwODQyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4NDIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDg5MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4OTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDkyNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5MjUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk3MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDA4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwMTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjk1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExMjMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxODUwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExNjcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMjUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTc5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjY2NjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMjYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTMwNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE5NTQwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzMTkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzMjkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMzMzMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzMzMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzNDcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMzUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzODQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxOTAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDExMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNzkyNTAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDI5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTkyNTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDM1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjA4OTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDc0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1MTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU1ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTU5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTM0MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU3MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDg4ODgwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU5MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIxMzUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1OTMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTYyNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2MzAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTYzMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2MzAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjM3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE0ODAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTY0NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDkxNjcwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTY0NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA4NTE4MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NTQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gODUyMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BbmlrLUYxLTEwNy4zVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQW5pay1GMS0xMDcuM1cKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDYxMzAyNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQW5pay1GMS0xMDcuM1cKQEAgLTAsMCArMSwzNSBAQAorIyBBbmlrIEYxIEAgMTA3LjNXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMDIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxOTk4MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA2MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE5OTgwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTU1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjI1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxODUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxOTk4MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQW5pay1GMVJfQy0xMDcuM1cgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FuaWstRjFSX0MtMTA3LjNXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI5OTU5YjYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FuaWstRjFSX0MtMTA3LjNXCkBAIC0wLDAgKzEsOTMgQEAKKyMgQW5payBGMVIgQCAxMDcuM1cgQy1CQU5ECisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAwMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDc4NTYwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MDgwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODA3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY0OTkwMDAKKwlJTk5FUl9GRUMgPSAxLzIKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MjQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjUwMDAwMAorCUlOTkVSX0ZFQyA9IDEvMgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM5MTQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNzA3ODAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MjgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQwMjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDYwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MzQ4MDAwCisJSU5ORVJfRkVDID0gNy84CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTAwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MzQ4MDAwCisJSU5ORVJfRkVDID0gNy84CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDE0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BbmlrLUYyX0MtMTExLjFXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BbmlrLUYyX0MtMTExLjFXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE5YTgzOGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FuaWstRjJfQy0xMTEuMVcKQEAgLTAsMCArMSwxMiBAQAorIyBBbmlrIEYyIEAgMTExLjFXIEMtQkFORAorIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MTA0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQxNDMwMDAKKwlJTk5FUl9GRUMgPSAxLzIKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BbmlrLUYzLTExOVcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FuaWstRjMtMTE5VwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mNDQwNWZjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BbmlrLUYzLTExOVcKQEAgLTAsMCArMSw1NjAgQEAKKyNEaXNoIE5ldHdvcmsgVVNBIHdvcmtzIHdpdGggUFNLLzh0dXJibworI0p1c3QgRFZCUy1VU0IgR2VucGl4IFNreSBXYWxrZXIgMSBvciAyIHdvcmtzIHdpdGggUFNLLzh0dXJibworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MTUwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTcyODAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NDUwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc1ODAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NzYwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc4OTAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MDYwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgxOTAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MzcwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg1MDAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NjcwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg4MDAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4OTgwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkyODAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTU5MDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NzIwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTg5MDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMDIwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDIwMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMzMwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDUwMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNjMwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDgxMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwOTQwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTExMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMjQwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTQyMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNTUwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTcyMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxODUwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjI0MDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyMzkwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyNTMwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjI2ODAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyODIwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjI5NzAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzMTEwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjMyNjAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzNDEwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjM1NTAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzNzAwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjM4NDAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIwMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzk5MDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0MTQwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0MjgwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNDQzMDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQ1NzAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNDcyMDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQ4NjAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MDEwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTE2MDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MzAwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTQ1MDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1NTkwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTc0MDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1ODkwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjAzMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2MTgwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjMyMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2NDcwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjYxMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2NzYwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQXBzdGFyNl9DLTEzNC4wRSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQXBzdGFyNl9DLTEzNC4wRQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iNjFjN2M3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BcHN0YXI2X0MtMTM0LjBFCkBAIC0wLDAgKzEsMzYgQEAKKyMgQXBzdGFyIDYgQCAxMzQuMEUgQy1CQU5ECisjIEdlbmVyYXRlZCBieSBQaWV0cm8gQ2Fzb2FyCisjIDFzdCBNYXJjaCAyMDA5CisKKyMgTVBFRy0yICYgTVBFRy00IFFQU0sgKERWQlMvUzIpCisjIGZyZXEgcG9sIHNyIGZlYworCisjIE5ldyBFbnRlcnRhaW5tZW50CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc2NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyODUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUZXN0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg0MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVFYgTnVzYW50YXJhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkwNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMyNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQXNpYVNhdDJfQy0xMDAuNUUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FzaWFTYXQyX0MtMTAwLjVFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMwODg5YzgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FzaWFTYXQyX0MtMTAwLjVFCkBAIC0wLDAgKzEsMTU2IEBACisjIEFzaWFTYXQgMiAxMDAuNUUgQy1CQU5ECisjIEdlbmVyYXRlZCBieSBQaWV0cm8gQ2Fzb2FyCisjIDFzdCBNYXJjaCAyMDA5CisKKyMgTVBFRy0yICYgTVBFRy00IFFQU0sgKERWQlMvUzIpCisjIGZyZXEgcG9sIHNyIGZlYworCisjIElyaXMgU2F0IE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBBUFROIERpcmVjdAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MDYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MTY3MDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQVBUTiBHbG9iYWwgVmlkZW8gV2lyZSAoTVBFRy00IFMvMikKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzMyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gODg4OTAwMAorCUlOTkVSX0ZFQyA9IDIvMworCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEJZVSBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NjcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjUyNzAwMAorCUlOTkVSX0ZFQyA9IDEvMgorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEFKSyBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NzgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzMzMzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFJUQiBJbnRlcm5hdGlvbmFsIEJydW5laQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3ODYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2MDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU2hhbXNoYWQgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzkwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI0NDQwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBGVFYgSEQgKE1QRUctNCBTLzIpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc5NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ2NDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBBcmFic2F0IEFTQlUgQm91cXVldCBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODIwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU3RhciBUViBNdWx0aXBsZXggKE1QRUctNCBTLzIpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg0MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgRSBOZXR3b3JrIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4ODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFNhdExpbmsgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk2MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU3RhciBUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU2F0TGluayBFdXJvcGVhbiBCb3VxdWV0IChNUEVHLTIgJiBNUEVHLTQgUzIpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAwMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MTI1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTWFjYXUgU2F0ZWxsaXRlIFRWIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNDgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTE4NTIwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQXNpYVNhdDNTX0MtMTA1LjVFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9Bc2lhU2F0M1NfQy0xMDUuNUUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDQ1NGU0NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQXNpYVNhdDNTX0MtMTA1LjVFCkBAIC0wLDAgKzEsMzI2IEBACisjIEFzaWFTYXQgM1MgMTA1LjVFIEMtQkFORAorIyBHZW5lcmF0ZWQgYnkgUGlldHJvIENhc29hcgorIyAxc3QgTWFyY2ggMjAwOQorCisjIE1QRUctMiAmIE1QRUctNCBRUFNLIChEVkJTL1MyKQorIyBmcmVxIHBvbCBzciBmZWMKKworIyBDaGluYSBFbnRlcnRhaW5tZW50IFRWICYgTWFoYXJpc2hpIFZlZGEgVmlzaW9uCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY4MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI2NjcwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTWVkaWFDb3JwIENoYW5uZWwgTmV3cyBBc2lhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcwNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDYwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBCVFYgV29ybGQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzI1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0NTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBHYWxheHkgVFZCCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcyOTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzNjUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgWmVlIE5ldHdvcmsKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzMzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBNYWRhbmkgQ2hhbm5lbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MzkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgxNTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEZhc2hpb24gVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzQ2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI2MjUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBBYWogTmV3cworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgyMTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEFyaXJhbmcgQXJhYgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQxODAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEdsb2JlY2FzdCBtdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjYwMDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTdGFyIFRWIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3ODAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgxMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBBaXJ3YXZlcyBNZWRpYSBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzg2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTcwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFplZSBOZXR3b3JrIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTdGFyIFRWIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNjg1MDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFN0YXIgVFYgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg2MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEI0VSBJTkRJQSAtIE1QRUctNCBTLzIgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg4MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU3RhciBUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVHVuZXIgSW50ZXJuYXRpb25hbCBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjgxMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTdGFyIFRWIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5ODAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgxMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTdGFyIFRWIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNjg1MDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFNhaGFyYSBTYW1heSBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3MjUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVk9BIFZvaWNlIE9mIEFtZXJpY2EgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA0MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIwNDAwMDAwCisJSU5ORVJfRkVDID0gMS8yCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgR2xvYmVjYXN0IE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNzEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNDI0MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFBUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDkxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEzMzMzMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU3VuIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA5NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU1NTQwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBQVFYgR2xvYmFsIFVTQQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMDIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjg5NDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFBUViBHbG9iYWwgVUsgJiBFdXJvcGUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTA2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4OTQwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBHYWxheHkgVFZCIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMzY1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFBUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTE0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDcwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBFeWUgVFYgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEyOTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzNjAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgWmVlIE5ldHdvcmsgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEdlbyBUViBOZXR3b3JrIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxODAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjY2NjYwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQXNpYXNhdDRfQy0xMjIuMkUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FzaWFzYXQ0X0MtMTIyLjJFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNiYzBjMDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FzaWFzYXQ0X0MtMTIyLjJFCkBAIC0wLDAgKzEsNzYgQEAKKyMgQXNpYXNhdCA0IEAgMTIyLjJFIEMtQkFORAorIyBHZW5lcmF0ZWQgYnkgUGlldHJvIENhc29hcgorIyAxc3QgTWFyY2ggMjAwOQorCisjIE1QRUctMiAmIE1QRUctNCBRUFNLIChEVkJTL1MyKQorIyBmcmVxIHBvbCBzciBmZWMKKworIyBTSVRJIERpZ2l0YWwgTmV0d29yayBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTSVRJIERpZ2l0YWwgTmV0d29yayBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODIwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgSGVuYW4gUmFkaW8gTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg1NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIxNzAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTSVRJIERpZ2l0YWwgTmV0d29yayBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODgwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTSVRJIERpZ2l0YWwgbmV0d29yayBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTIwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTSVRJIERpZ2l0YWwgbmV0d29yayBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTSVRJIERpZ2l0YWwgbmV0d29yayBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FzdHJhLTE5LjJFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9Bc3RyYS0xOS4yRQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yZDFmMGIyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9Bc3RyYS0xOS4yRQpAQCAtMCwwICsxLDEwIEBACisjIEFzdHJhIDE5LjJFIFNEVCBpbmZvIHNlcnZpY2UgdHJhbnNwb25kZXIKKyMgZnJlcSBwb2wgc3IgZmVjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1NTE1MDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQXN0cmEtMjMuNUUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FzdHJhLTIzLjVFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmVkNTA1ZWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FzdHJhLTIzLjVFCkBAIC0wLDAgKzEsNDUwIEBACisjIEFzdHJhIDIzLjVFCisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwNzU4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3ODgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDgwMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4NDIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTMzMzMwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDg2MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCisjIEFzdHJhMkNvbm5lY3QKKyMgUzIgMTA4OTEyNTAgSCAyMjAwMDAwMCAzLzQgQVVUTyA4UFNLCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE0NzUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTUxNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNTE1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4NTAwMDAwCisJSU5ORVJfRkVDID0gOS8xMAorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFQU0sKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNTU1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjg1MDAwMDAKKwlJTk5FUl9GRUMgPSA5LzEwCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUVBTSworCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE1NTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjg1MDAwMDAKKwlJTk5FUl9GRUMgPSA5LzEwCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUVBTSworCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE1OTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjg1MDAwMDAKKwlJTk5FUl9GRUMgPSA5LzEwCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUVBTSworCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE1OTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODUwMDAwMAorCUlOTkVSX0ZFQyA9IDkvMTAKKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBRUFNLCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTYzNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4NTAwMDAwCisJSU5ORVJfRkVDID0gOS8xMAorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFQU0sKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNjM1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4NTAwMDAwCisJSU5ORVJfRkVDID0gOS8xMAorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFQU0sKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTY3NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODUwMDAwMAorCUlOTkVSX0ZFQyA9IDkvMTAKKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBRUFNLCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTcxOTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gOS8xMAorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFQU0sKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MzkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgQXN0cmEyQ29ubmVjdAorIyBTMiAxMTc1ODAwMCBIIDI3NTAwMDAwIDUvNiBBVVRPIDhQU0sKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE3NzgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSA5LzEwCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUVBTSworCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc5ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExODE3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gOS8xMAorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFQU0sKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTkwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTg1NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFQU0sKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTE0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgQXN0cmEyQ29ubmVjdAorIyBTMiAxMTk1NDAwMCBIIDI3NTAwMDAwIDMvNCBBVVRPIDhQU0sKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk5MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTIwMzIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDkvMTAKKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBRUFNLCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDcwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTIxMDkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDkvMTAKKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBRUFNLCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBBc3RyYTJDb25uZWN0CisjIFMyIDEyMTQ4MDAwIEggMjc1MDAwMDAgMy80IEFVVE8gOFBTSworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTY4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisjIEFzdHJhMkNvbm5lY3QKKyMgUzIgMTIyMjYwMDAgSCAyNzUwMDAwMCAzLzUgQVVUTyA4UFNLCisjIEFzdHJhMkNvbm5lY3QKKyMgUzIgMTIzMDQwMDAgSCAyNzUwMDAwMCA1LzYgQVVUTyA4UFNLCisjIEFzdHJhMkNvbm5lY3QKKyMgUzIgMTIzNDQwMDAgSCAyODIwMDAwMCA1LzYgQVVUTyA4UFNLCisjIEFzdHJhMkNvbm5lY3QKKyMgUzIgMTIzODIwMDAgSCAyNzUwMDAwMCAzLzQgQVVUTyA4UFNLCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTI1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1NjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTY1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNjA1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjg1MDAwMDAKKwlJTk5FUl9GRUMgPSA5LzEwCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUVBTSworCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTI2MDUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjg1MDAwMDAKKwlJTk5FUl9GRUMgPSA5LzEwCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUVBTSworCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYzMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2MzEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2MzYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjI3NzAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjQxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIyMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjQ0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjE3MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjQ5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTYwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjYxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjE3MDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjg1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2OTYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gMS8yCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI3MTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2MTExMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNzI1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FzdHJhLTI4LjJFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9Bc3RyYS0yOC4yRQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wMjY2ODM5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9Bc3RyYS0yOC4yRQpAQCAtMCwwICsxLDg2MyBAQAorIyBBc3RyYSAyOC4yRSBTRFQgaW5mbyBzZXJ2aWNlIHRyYW5zcG9uZGVyCisjIGZyZXEgcG9sIHNyIGZlYworCisjIyBBc3RyYSAyRQorIyBUcmFuc3BvbmRlciAxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNzE5NTAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjk1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNzU4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjk1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NzgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNzk4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjk1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MTcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA3CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE4NTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA5CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDEwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4OTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAxMQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTE0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAxMgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTM0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMTMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk1NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMTYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTIwMTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAxNworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDMyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAxOAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDUxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMTkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA3MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMjAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTIwOTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAyMQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTEwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAyMgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTI5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMjIEFzdHJhIDJGCisjIFRyYW5zcG9uZGVyIDIzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNDgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDI0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyMTY4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMjUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE4ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMjYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjIwNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDI3CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyMjI2NTAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjk1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAyOAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjI0NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIyBBc3RyYSAyRQorIyBUcmFuc3BvbmRlciAyOQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjY2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyMgQXN0cmEgMkUKKyMgVHJhbnNwb25kZXIgMzEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjMwNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMjIEFzdHJhIDJFCisjIFRyYW5zcG9uZGVyIDMxCitbQ0hBTk5FTF0KKyAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJTCisgICAgICAgRlJFUVVFTkNZID0gMTIzMDQwMDAKKyAgICAgICBQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisgICAgICAgU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorICAgICAgIElOTkVSX0ZFQyA9IDIvMworICAgICAgIE1PRFVMQVRJT04gPSBRUFNLCisgICAgICAgSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDMyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyMzI0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMzMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTIzNDQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDM0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyMzYzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMjIEFzdHJhIDJGCisjIFRyYW5zcG9uZGVyIDM4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNDQxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMzkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTI0NjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIyBBc3RyYSAyRQorIyBUcmFuc3BvbmRlciA0MAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNDgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMjIEFzdHJhIDJFCisjIFRyYW5zcG9uZGVyIDQxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3MTQyNTAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDQyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3MjkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA0MworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwNzQ0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA0NAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwNzU4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgNDUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDc3MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgNDYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDc4ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDQ3CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4MDMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDQ4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4MTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA0OQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMDgzMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDUwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEwODQ3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIzMDAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDUyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEwODc2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIzMDAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDUzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4OTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDU0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5MDYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA1NgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMDkzNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMzAwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyMgQXN0cmEgMkcKKyMgVHJhbnNwb25kZXIgNTcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk2NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgNTkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk5NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgNjEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTEwMjQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMzAwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA2MworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTA1Mjc1MAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIzMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDY0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExMDY4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIzMDAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDY1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwODEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDY2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExMDk3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIzMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDY3CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExMTIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDY4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExMjcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjMwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA2OQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTQxMjUwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA3MQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTcwNzUwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA4OQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDY0MjUwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA5MAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDc5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgOTIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTUwODUwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDkzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1MjM1MDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDk0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNTM4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIzMDAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDk1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1NTI3NTAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDk2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1Njc1MDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA5NworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTgyMjUwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA5OAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTk3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgOTkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE2MTE3NTAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMzAwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAxMDIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTY1NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDEwMgorW0NIQU5ORUxdCisgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCUworICAgICAgIEZSRVFVRU5DWSA9IDExNjU2MDAwCisgICAgICAgUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKyAgICAgICBTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisgICAgICAgSU5ORVJfRkVDID0gNS82CisgICAgICAgTU9EVUxBVElPTiA9IFFQU0sKKyAgICAgICBJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMTAzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NzE3NTAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDEwNAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjg1NTAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMjIEFzdHJhIDJGCisjIFRyYW5zcG9uZGVyIDEwOQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzA3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAxMTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTMwNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDExMQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzQ0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAxMTIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTM0NDUwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIyBBc3RyYSAyRQorIyBUcmFuc3BvbmRlciAxMTMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTM4NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMTE0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExMzg1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMTE1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE0MjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDExNgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDI2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgQzEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTIyNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgQzIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTEyMjUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjMwMDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgQzEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTI2NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgQzIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTI2NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BdGxhbnRpYy1CaXJkLTEtMTIuNVcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0F0bGFudGljLUJpcmQtMS0xMi41VwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wYzg1ZDUwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BdGxhbnRpYy1CaXJkLTEtMTIuNVcKQEAgLTAsMCArMSwyNzAgQEAKKyMgQXRsYW50aWMgQmlyZCAxIEAgMTIuNVcKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDk5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTMyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzI1NTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTM2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM3MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTE3NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE1MTkwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExNzkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjI0MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTE4ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU3MjIwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTMzMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY0MjgwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTMzNzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE5MjMwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTM0MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyNzkwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTM1NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDExNzgxMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE0MDgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTQyODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1OTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTYyMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NDMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMzk4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjQ1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ3OTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzY4ODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjUxNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE3NDU1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MzUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTQ1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTc0NTUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU5NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIxNzAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU5NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE3MzAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYwNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE0ODEwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY1NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyODUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY1ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIxNDEwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY2MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTI4MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNzE4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzY1MTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAzMworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjcxODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM2NTEwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTI3MTgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNjUxMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDM1CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNzE4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzY1MTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAzNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNzIwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE4MDgwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjc0MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjE0MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0F0bGFudGljLUJpcmQtMy01LjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BdGxhbnRpYy1CaXJkLTMtNS4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45ZDc1MWE3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BdGxhbnRpYy1CaXJkLTMtNS4wVwpAQCAtMCwwICsxLDM2NCBAQAorIyBBdGxhbnRpYyBCaXJkIDMgQCA1LjBXCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTEwMTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAyCisJUExTX0NPREUgPSAxNjQxNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTAxMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDMKKwlQTFNfQ09ERSA9IDE2NDE2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExMDEyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMTEKKwlQTFNfQ09ERSA9IDE2NDE2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExMTc5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gNAorCVBMU19DT0RFID0gMTY0MTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTExNzkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSA1CisJUExTX0NPREUgPSAxNjQxNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTE3OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDEyCisJUExTX0NPREUgPSAxNjQxNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTYzNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDEKKwlQTFNfQ09ERSA9IDE2NDE2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNjM3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMgorCVBMU19DT0RFID0gMTY0MTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE2MzcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAzCisJUExTX0NPREUgPSAxNjQxNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTYzNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDQKKwlQTFNfQ09ERSA9IDE2NDE2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNjM3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gNQorCVBMU19DT0RFID0gMTY0MTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE2MzcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSA2CisJUExTX0NPREUgPSAxNjQxNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTY3NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gNworCVBMU19DT0RFID0gMTY0MTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE2NzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDgKKwlQTFNfQ09ERSA9IDE2NDE2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNjc1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSA5CisJUExTX0NPREUgPSAxNjQxNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTY3NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMTAKKwlQTFNfQ09ERSA9IDE2NDE2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNjc1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAxMQorCVBMU19DT0RFID0gMTY0MTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE2NzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDEyCisJUExTX0NPREUgPSAxNjQxNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTY3NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMTMKKwlQTFNfQ09ERSA9IDE2NDE2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNjc1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAxNAorCVBMU19DT0RFID0gMTY0MTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE2NzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDE1CisJUExTX0NPREUgPSAxNjQxNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTY3NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMTYKKwlQTFNfQ09ERSA9IDE2NDE2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNTg1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAxCisJUExTX0NPREUgPSA4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNTg1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAyCisJUExTX0NPREUgPSA4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNjA2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMQorCVBMU19DT0RFID0gOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjYwNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDIKKwlQTFNfQ09ERSA9IDgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTI2NDgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAxCisJUExTX0NPREUgPSAxMjEyMTIKKwlQTFNfTU9ERSA9IDEKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTI2NDgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAyCisJUExTX0NPREUgPSAxMjEyMTIKKwlQTFNfTU9ERSA9IDEKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTI2NjkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDA4MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDEKKwlQTFNfQ09ERSA9IDgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTI2NjkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDA4MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDIKKwlQTFNfQ09ERSA9IDgKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQnJhc2lsU2F0LUIxLTc1LjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9CcmFzaWxTYXQtQjEtNzUuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjAzMWNhNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQnJhc2lsU2F0LUIxLTc1LjBXCkBAIC0wLDAgKzEsNjcgQEAKKyMgQnJhc2lsc2F0IEIxIEAgNzUuMFcKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjQ4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQyODUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY1NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NjIwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NTMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDcxMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjU1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjYyMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjI5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjYyMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzExMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzIwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjQ0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzYzODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0JyYXNpbFNhdC1CMi02NS4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQnJhc2lsU2F0LUIyLTY1LjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJjMjQ5NTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0JyYXNpbFNhdC1CMi02NS4wVwpAQCAtMCwwICsxLDI1MSBAQAorIyBCcmFzaWxzYXQgQjIgQCA2NS4wVworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNTQwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMDgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMzMzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNTAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzkyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzOTMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEwNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjE0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwOTcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjY2NzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTA1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjY2NjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTM1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjY2NjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODkwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjY2NjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTI1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjY2NjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTEyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQyODUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY1MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NDQwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxODA4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3ODcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NzYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc0MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTE3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NjMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgxNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc5MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcyMTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5NjMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY4NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkxNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc2NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMzMzYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg0NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcwNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI0NjIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY2NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDcyMzYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc3MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxNDgwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MzQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjg1MjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODEwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTMzMzMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc2MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMjIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgzNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM1NzIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg1MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE1NzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0JyYXNpbFNhdC1CNC03MC4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQnJhc2lsU2F0LUI0LTcwLjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI3M2M5ZmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0JyYXNpbFNhdC1CNC03MC4wVwpAQCAtMCwwICsxLDI5MSBAQAorIyBCcmFzaWxzYXQgQjQgQCA3MC4wVworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMjE0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MTQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjcyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDcxMzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTU1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDQwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTY1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5MzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzYyODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY0NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjE0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0Mjg1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2ODgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2ODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NjIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDYwNjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTQ1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzIxNDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjQwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzI2MzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTc5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM2MTcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc1MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MjIwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2ODUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjUwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk4NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIxNzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAxMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzMDIxMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NzAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2MzcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjI4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MDgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzkyODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDQ3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDcxNDMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY3MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA4NDU0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTY0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTg3NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjk1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzU5ODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTAwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNTIwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5ODMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTYzMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjMxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDY4NzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODc0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDU5MjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcwMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA5MTIzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5OTcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjMwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTczMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQzMzgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0JyYXNpbHNhdEI0LTg0LjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9CcmFzaWxzYXRCNC04NC4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hNGQ0ZDBhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9CcmFzaWxzYXRCNC04NC4wVwpAQCAtMCwwICsxLDY1OSBAQAorIyBCcmFzaWxzYXQgQjMgQCA4NC4wVworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MjgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MzQwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2OTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzMzMzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDU0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEyODcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc0NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQzMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzczODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NzA4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MjMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTgwODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzY4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDgwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk1NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MzQwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNjcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3OTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzMzMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODY2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDQyNTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTMyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEzMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNTMyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MDYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTI4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDI4ODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjY1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMxNzcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzczMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjE0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NzQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMzMwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MjcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzI1NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzEwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzI2MTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODgzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDI3ODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzcwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzMzMzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzU0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDUwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc2NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyODUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkxMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM2MTYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcwNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyODAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg1MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzODA2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMDEyNzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTM2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY1MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzODA3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNTY1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NzEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDM1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4OTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDMwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNzEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMTcwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MTYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0ODAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNjgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNjAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNzAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk2NDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTQ5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQzNDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY4NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNjkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gODE0MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTQ0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjczNDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzM2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDI4NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzkwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTA0NDQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcyNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMDc1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMjEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2MjkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NzAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ0NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTg1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkxNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE1NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2OTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzMzMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjQ0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ2ODcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA4NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE3MjAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4ODkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDQwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNzYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzUxNTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODI5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQzNDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgwNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNjYyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQ2MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzU3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzU2NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjk2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTgwODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTg5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY5MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NTcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzYwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTk2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIzMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkyNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEyNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEzNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIxNDIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY3NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0Mjg1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MzEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3ODYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDI4NjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjg4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIzMDgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA3NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NDQ0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzI1NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODI0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzc4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY4NTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcxMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxMjk2MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODc3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDQ1MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA2NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMzMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0NoaW5hU2F0NUEtODcuNUUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0NoaW5hU2F0NUEtODcuNUUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjMxZmMwYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQ2hpbmFTYXQ1QS04Ny41RQpAQCAtMCwwICsxLDM2IEBACisjIENoaW5hU3RhciAxIEAgODcuNUUgQy1CQU5ECisjIEdlbmVyYXRlZCBieSBQaWV0cm8gQ2Fzb2FyCisjIDFzdCBNYXJjaCAyMDA5CisKKyMgTVBFRy0yICYgTVBFRy00IFFQU0sgKERWQlMvUzIpCisjIGZyZXEgcG9sIHNyIGZlYworCisjIE15YXdhZHkgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzM0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTkyNTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFphbSBUViBUZXN0cworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNTMyMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVGVzdCBDYXJkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA4MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ2ODcwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvRWNob3N0YXItMTArMTEtMTEwVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvRWNob3N0YXItMTArMTEtMTEwVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NTIxYWI1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9FY2hvc3Rhci0xMCsxMS0xMTBXCkBAIC0wLDAgKzEsMjgxIEBACisjRGlzaCBOZXR3b3JrIFVTQSB3b3JrcyB3aXRoIFBTSy84dHVyYm8KKyNKdXN0IERWQlMtVVNCIEdlbnBpeCBTa3kgV2Fsa2VyIDEgb3IgMiB3b3JrcyB3aXRoIFBTSy84dHVyYm8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjI0MDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyMzkwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjUzMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyNjgwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyODIwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjI5NzAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyOTcwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzExMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzMjYwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzQxMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzNTUwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzcwMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzODQwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzOTkwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQxNDAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0MjgwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQ0MzAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIwMDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQ1NzAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNDcyMDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQ4NjAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTAxMDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjUxNjAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MzAwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTQ1MDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1NTkwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTc0MDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU4OTAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYwMzAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjE4MDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYzMjAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjYxMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9Fc3RyZWxhLWRvLVN1bC02My4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvRXN0cmVsYS1kby1TdWwtNjMuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmUwNjkzMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvRXN0cmVsYS1kby1TdWwtNjMuMFcKQEAgLTAsMCArMSwxOTUgQEAKKyMgRXN0cmVsYSBkbyBTdWwgQCA2My4wVworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODkyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NjQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5ODcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMzMwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDU0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjY2NjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MzAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTYwMzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMTI0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTk4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMxMjQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ0NDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk1ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2MTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzEyNDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg2MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTY0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODc5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NjQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjM2MjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgxNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTc3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMxMjQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1ODIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzEyNDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk4MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDg4ODgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4ODgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjM5MjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg5ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNDgwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODcxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3OTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ0NDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg0NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NDQ0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjQwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE4MTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODc1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzMzMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1NDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTA0MTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0V1dGVsc2F0OS05LjBFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9FdXRlbHNhdDktOS4wRQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40OWU2NWQ2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9FdXRlbHNhdDktOS4wRQpAQCAtMCwwICsxLDExNCBAQAorIyBFdXJvYmlyZCA5LjBFCisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzI3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NDcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzY2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3ODUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODA0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MjMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODQzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4ODEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjY3MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkxOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTM4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk3NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5OTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA1NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwOTIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9FdXRlbHNhdFcyLTE2RSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvRXV0ZWxzYXRXMi0xNkUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWIyYmE4OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvRXV0ZWxzYXRXMi0xNkUKQEAgLTAsMCArMSw0NTEgQEAKKyMgRXV0ZWxzYXQgVzIgQCAxNkUKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk1NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MjEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5NjgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTcyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTc2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjQwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk4OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY0MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5OTcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDA1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjQwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTAxMTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTAxNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY0MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwMjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODk0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDQ2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTA1NTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwNTcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMzI3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDYxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTcyMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTA3ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDUyMDgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwOTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzIwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwOTQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzM0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTMyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE0MTg1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTc4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTkyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjY2NzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTI2NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIxNzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEyNzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMTEwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTI5NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzMzMzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzA0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzI0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE0MjgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE0NDkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTQ3MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTk1MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTQ5MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5OTUwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTEzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5OTUwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTM0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1NTQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1NzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU5NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODgwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTYxNzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5OTUwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjM0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE3NTc4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjU4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NTkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTc1NzgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2ODIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTQ0NjgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MzgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDM0MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU0OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODk0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTU1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTYzMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU1NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMTU2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTYyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTYzMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU2MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjIyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTY4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzcwMzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYyNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NDQ0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjMzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ4ODMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2NDIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzQxODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY1MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE1MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjU2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ4ODMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2NzcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjExMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY4MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4OTQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI3MDMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzQ4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNzE2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjcyMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI3MzMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTYyNzcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0V4cHJlc3MtM0EtMTEuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0V4cHJlc3MtM0EtMTEuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmJlMjcyYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvRXhwcmVzcy0zQS0xMS4wVwpAQCAtMCwwICsxLDExIEBACisjIEV4cHJlc3MgM0EgQCAxMS4wVworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NzUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk2MjMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0V4cHJlc3NBTTEtNDAuMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0V4cHJlc3NBTTEtNDAuMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmQzMWRhOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvRXhwcmVzc0FNMS00MC4wRQpAQCAtMCwwICsxLDI2IEBACisjIEV4cHJlc3MgQU0xIEAgNDBFCisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTY3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTk1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDk3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvRXhwcmVzc0FNMi04MC4wRSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvRXhwcmVzc0FNMi04MC4wRQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45ZGZjZmMwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9FeHByZXNzQU0yLTgwLjBFCkBAIC0wLDAgKzEsMTY4IEBACisjIEV4cHJlc3MgQU0yIEAgODBFCisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTczMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5OTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ0NDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTA0NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ0OTQ4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDgxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDUwNjQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwODgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDU0ODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTE5MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE0NjIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzIwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTQ3ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ0MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1NDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ5NTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2MDYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ5NDgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBFeHByZXNzIEFNMiBAIDgwRSBDLUJBTkQKKyMgR2VuZXJhdGVkIGJ5IFJvbWFuIEthc2hjaGVldgorIyBNYXIgMzAsIDIwMDgKKyMgZnJlcSBwb2wgc3IgZmVjCisKKyMgUlNDQworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1MjUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzExMDYwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVFJLIFNldmVyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzU1ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjE1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisjIFRSViBNdWppCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzU2MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjI1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisjIE9UViBTYWtoYWxpbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2MjUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBSU0NDCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY3NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMzQ4MzAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA1IEthbmFsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkyOTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDg3MDUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVFYgQ2VudHIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTQ3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisjIEJsYWdvdmVzdCBUZWxla2FuYWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTc1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY1MTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvRXhwcmVzc0FNMjItNTMuMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0V4cHJlc3NBTTIyLTUzLjBFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjUxMzI0NGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0V4cHJlc3NBTTIyLTUzLjBFCkBAIC0wLDAgKzEsNTEgQEAKKyMgRXhwcmVzcyBBTSAyMiBAIDUzRQorIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTA0NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NDk1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTc0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gODE1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworI1MgMTA5NzQwMDAgViAzMjIyMzAwMCA3LzgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTAzMTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM3NTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTA5NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExMjQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNzU5MzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTYxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDU3ODUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MTBSLTEyM3cgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTEwUi0xMjN3Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjYyMTJmNTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTEwUi0xMjN3CkBAIC0wLDAgKzEsNTkgQEAKKyMgR2FsYXh5IDEwUiBAIDEyM1cKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTcyMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzY5MjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTczMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzMjQwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODAwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI2NjU3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODA1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDU4MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk2NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxMzAyMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjEwNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjIyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTE0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTEzX0MtMTI3VyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MTNfQy0xMjdXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRiODVlMjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTEzX0MtMTI3VwpAQCAtMCwwICsxLDM5IEBACisjIEdhbGF4eSAxMyBAIDEyN1cgQy1CQU5ECisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM3ODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzODIwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDY2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzMxMzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQxODUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMDA5NzAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxNF9DLTEyNVcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTE0X0MtMTI1VwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iN2ZmZTBkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxNF9DLTEyNVcKQEAgLTAsMCArMSwzMCBAQAorIyBHYWxheHkgMTQgQCAxMjVXIEMtQkFORAorIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNjY2ODAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc2MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE5ODg3MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzkwMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTA3NzAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxNV9DLTEzM1cgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTE1X0MtMTMzVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iY2MwOTZmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxNV9DLTEzM1cKQEAgLTAsMCArMSwyMiBAQAorIyBHQUxBWFkgMTUgQCAxMzNXIEMtQkFORAorIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3OTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMTkzNTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM4MDkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTYzMDMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxNl9DLTk5LjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxNl9DLTk5LjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVkMjNjNmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTE2X0MtOTkuMFcKQEAgLTAsMCArMSwxMzcgQEAKKyMgR2FsYXh5IDE2IEAgOTlXIEMtQkFORAorIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzcyMTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDg3MDMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzg5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTY3MTAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc5NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzODA1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjMwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgxMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDgwMjkwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MzIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNTYxMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTM2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTU0NTAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAwMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI2Mzk4MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDgwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc3ODAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MTIwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA5LzEwCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM3NDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODEyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE1MDA0MDAwCisJSU5ORVJfRkVDID0gNy84CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDAwNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1ODMzMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDYwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NzgxMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDE0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDkvMTAKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MTctOTEuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTE3LTkxLjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZmNzU5OWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTE3LTkxLjBXCkBAIC0wLDAgKzEsMzcwIEBACisjIEdhbGF4eSAxNyBAIDkxVworIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk2NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxOTg1MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk5NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTAyNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgwNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODE1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MjUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjExMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkyNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTMwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MzUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTQ1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTUwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTU1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTY1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTcwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NzAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTc1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5ODUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTg1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5OTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTkwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5OTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTk1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDA1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDEwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDE1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAyNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDMwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMzUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA2NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU2MzIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDgzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTYzMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA4NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MTQ0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDk2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYxNDQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjE0NDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjExNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MTQ0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxN19DLTkxLjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxN19DLTkxLjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA1MzBiYzkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTE3X0MtOTEuMFcKQEAgLTAsMCArMSw0OCBAQAorIyBHYWxheHkgMTcgQCA5MVcgQy1CYW5kCisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NjcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjE5MDAwCisJSU5ORVJfRkVDID0gMS8yCisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTM1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI0ODkwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzOTI1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQyNDkwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzk2NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1NjAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQwNjcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjA1MTAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTE5LTk3LjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxOS05Ny4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zYzFjZGYyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxOS05Ny4wVwpAQCAtMCwwICsxLDEzMCBAQAorIyBHYWxheHkgMTkgQCA5N1cKKyMgZnJlcSBwb2wgc3IgZmVjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3ODkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgxMjUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MzYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjA3NjUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NjcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NzQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg5ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkzNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTY2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5OTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNTMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwODQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwOTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjExNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjQyNTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjEyMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTQ2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTUyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNzcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjMwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTE5X0MtOTcuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTE5X0MtOTcuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmQ5ZjQ2MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MTlfQy05Ny4wVwpAQCAtMCwwICsxLDEzOCBAQAorIyBHYWxheHkgMTkgQCA5N1cgQy1CQU5ECisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDcwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTQ5OTAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQxMDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTg2MjAwMAorCUlOTkVSX0ZFQyA9IDkvMTAKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzc2MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMTQ1NjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3OTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTMzMzIwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzODE0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYzNzMwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODQ3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzUzMjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg1NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTQwMDAwCisJSU5ORVJfRkVDID0gNy84CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTIyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM3MDMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzOTg0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM1OTkwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDA2MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTg1ODAwMAorCUlOTkVSX0ZFQyA9IDkvMTAKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDA4MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTg1ODAwMAorCUlOTkVSX0ZFQyA9IDkvMTAKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDEyMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk4NjIwMDAKKwlJTk5FUl9GRUMgPSA5LzEwCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MjNfQy0xMjFXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkyM19DLTEyMVcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjAzYjFkZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MjNfQy0xMjFXCkBAIC0wLDAgKzEsMTExIEBACisjIEdhbGF4eSAyMyBAIDEyMVcgQy1CQU5ECisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM4NDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NzcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDQ0MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODkyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTMwMjAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzOTEwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTQzOTkwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTE1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTgwODYwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3ODAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjkyNjkwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5ODAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjkyNzAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MDMyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDgzMzIwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDUwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI1OTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MDcwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY1MzcwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDE3MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxODkxNTAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxOTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTEwNjgwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkyNS05My4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MjUtOTMuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2YzNDllMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MjUtOTMuMFcKQEAgLTAsMCArMSw0NzQgQEAKKyMgR2FsYXh5IDI1IEAgOTNXCisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzExMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE0MzEyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzIxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MjcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTczMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzM3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTczNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzQyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NDgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc1MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzY3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NzIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzcyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NzcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc4MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzg4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3OTMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgwOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODE0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MjcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gODQyOTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgzNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDcxNzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NDEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODY1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM1MTYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4ODcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg5MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTA0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAxMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkwNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTE5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MjQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkyNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDg4NDgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MjkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkzNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTM2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gODg0ODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk0NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDg4NDgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NDkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk1NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTU2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk2MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTYxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk2NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTY3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk3MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTcyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk3NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNDcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA0ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNTQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDU4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNTkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDYzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNjQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDY5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA3NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA4Njc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDg5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY1MTEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MTA0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTE2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjEyMTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMjYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTMyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE3NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1MTQ3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkyNy0xMjl3IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkyNy0xMjl3Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNmYjQwMmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTI3LTEyOXcKQEAgLTAsMCArMSwxMSBAQAorIyBHYWxheHkgMjcgQCAxMjlXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NjQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTIwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkyOC04OS4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MjgtODkuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2VmYjMyMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MjgtODkuMFcKQEAgLTAsMCArMSwzMTUgQEAKKyMgR2FsYXh5IDI4IEAgODlXCisjIEludGVsc2F0IEFtZXJpY2FzIDggQCA4OVcKKyMgZnJlcSBwb2wgc3IgZmVjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MTcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDExMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzQ3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjYyMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc1NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2MjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3ODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgwMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODI1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDU1MjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg2NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM3MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4ODIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0ODgzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTI1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkzMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTM2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk0MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTUwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk1NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODgwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk2NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NzAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTcwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTgwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk4NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5ODkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjExMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk5MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5OTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDAwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjg4MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMDkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjExMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAzMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwOTIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMzE0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTE0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTQzOTgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMzQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTY0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE3MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTgwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE4NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxOTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTk2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MjhfQy04OS4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MjhfQy04OS4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hYmE2OThkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkyOF9DLTg5LjBXCkBAIC0wLDAgKzEsMzAgQEAKKyMgR2FsYXh5IDI4IEAgODlXICBDLUJhbmQKKyMgCisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzODYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzkwMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5ODYyMDAwCisJSU5ORVJfRkVDID0gOS8xMAorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4ODAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzIzNjQwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkzQy05NS4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5M0MtOTUuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDllNjJjZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5M0MtOTUuMFcKQEAgLTAsMCArMSwxMCBAQAorIyBHYWxheHkgM0MgQCA5NVcKKyMgZnJlcSBwb2wgc3IgZmVjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3ODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMDc2MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5M0NfQy05NS4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5M0NfQy05NS4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45YzAzYzQxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkzQ19DLTk1LjBXCkBAIC0wLDAgKzEsMjkgQEAKKyMgR2FsYXh5IDNDIEAgOTVXIEMtQkFORAorIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzk1MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE0OTk5MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc3NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2OTIzMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM4MjQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9IaXNwYXNhdC0zMC4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSGlzcGFzYXQtMzAuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjc2MjUxNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSGlzcGFzYXQtMzAuMFcKQEAgLTAsMCArMSwyOTcgQEAKKyMgSGlzcGFzYXQgMzAuMFcKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTA3MzAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMQorCVBMU19DT0RFID0gOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMDczMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMQorCVBMU19DT0RFID0gOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwODkwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTMwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTUxMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE1MjkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTAwMDAwMDAKKwlJTk5FUl9GRUMgPSA5LzEwCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUVBTSworCVNUUkVBTV9JRCA9IDEKKwlQTFNfQ09ERSA9IDgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE2MTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTAwMDAwMAorCUlOTkVSX0ZFQyA9IDkvMTAKKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDEKKwlQTFNfQ09ERSA9IDgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTY0MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MzEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NzEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4OTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MzEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIyMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkzMTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxNDgxMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDkyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTMwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDEKKwlQTFNfQ09ERSA9IDgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE2ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAxCisJUExTX0NPREUgPSA4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyMDcKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMQorCVBMU19DT0RFID0gOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjI2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjQ2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDEKKwlQTFNfQ09ERSA9IDgKKwlJTlZFUlNJT04gPSBBVVRPCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyODQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMQorCVBMU19DT0RFID0gOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzAzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzIyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzNjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjM4MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjM5ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAxCisJUExTX0NPREUgPSA4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0MzcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMQorCVBMU19DT0RFID0gOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNDU2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNDc2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDEKKwlQTFNfQ09ERSA9IDgKKwlJTlZFUlNJT04gPSBBVVRPCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0hvdGJpcmQtMTMuMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0hvdGJpcmQtMTMuMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGRmMGFiMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSG90YmlyZC0xMy4wRQpAQCAtMCwwICsxLDc3OCBAQAorIyBFVVRFTFNBVCBTa3lQbGV4LCBIb3RiaXJkIDEzRQorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3MTkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDcyMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5OTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3NTcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDc3NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3OTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDgzNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwODUzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDg3MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwODkyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDkxMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTMwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk0OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTcxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk5MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDEzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTAzNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDU0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTA3NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDk1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTExNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTM3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTE1ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTc4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTIwMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMjE5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTI0MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMjc4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEyOTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzM0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTM1NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzczMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTM5MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDExMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTQ3MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDg4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTUyNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1NDEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU2NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1ODUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTYwNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2MjMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTY0NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NjIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTY3NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MjcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc0NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NjUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc4NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgyMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NDIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg2MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4ODAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkwMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExOTE5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAxCisJUExTX0NPREUgPSA4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExOTE5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAyCisJUExTX0NPREUgPSA4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MzgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTU4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDE1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAzNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDU0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA3MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDkyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjExMTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTQ5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNjkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTg4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyMDcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjI2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyNDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjY0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyODQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzAyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzMjIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzQxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzNjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzc5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzOTgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNDE4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0MzcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNDc1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjUxOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjUzOTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAxCisJUExTX0NPREUgPSA4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNTM5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDIKKwlQTFNfQ09ERSA9IDgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU1ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTc3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU5NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjE2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYzNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjU0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY3MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjkyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjcxMzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNzMxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSUE3LTEyOXcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0lBNy0xMjl3Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjYxMjUwNGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0lBNy0xMjl3CkBAIC0wLDAgKzEsMTEgQEAKKyMgSW50ZWxzYXQgQW1lcmljYXMgNyBAIDEyOVcKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk4OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MjEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0luc2F0MkVfQy04My4wRSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW5zYXQyRV9DLTgzLjBFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY2YmRjY2MKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0luc2F0MkVfQy04My4wRQpAQCAtMCwwICsxLDI5NiBAQAorIyBJbnNhdCAyRSBAIDgzLjBFIEMtQkFORAorIyBHZW5lcmF0ZWQgYnkgUGlldHJvIENhc29hcgorIyAxc3QgTWFyY2ggMjAwOQorCisjIE1QRUctMiAmIE1QRUctNCBRUFNLIChEVkJTL1MyKQorIyBmcmVxIHBvbCBzciBmZWMKKworIyBORSBUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNTIxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDg2NDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBORSBUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNTM3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEwODAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVFYgOSBUZWx1Z3UKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNTUwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTMSBDaGFubmVsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzU1OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMzY2MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVFYgOSBLYW5uYWRhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzU4MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgSmF5YSBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1OTMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gODY4MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRhdGEgQ29tbXVuaWNhdGlvbnMgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzU5MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA5NjI5MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQXNpYW5ldCBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjQzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE5NTMxMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQW1yaXRhIFRWIE1pZGRsZSBFYXN0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY3ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1OTI2MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTWFoYWEgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjg5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4OTMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUYXRhIENvbW11bmljYXRpb25zIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2OTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjExMTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIENOQkMgSW5kaWEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzYwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBSYWogVFYgTmV0d29yayBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzc0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEzMDIxMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVVRWaSBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3OTQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFBUQyBNdWx0aXBsZXggKE1QRUctNCBTLzIpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgxNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVGF0YSBDb21tdW5pY2F0aW9ucyBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODQ1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI2MDQzMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgSW5kaWF2aXNpb24KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTE0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBZZXMgSW5kaWF2aXNpb24KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTE5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBNYW5vcmFtYSBOZXdzIEludGVybmF0aW9uYWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTIzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUYXRhIENvbW11bmljYXRpb25zIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MzQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTMwMjEwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBSYWogTXVzaXgga2FuYWRhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk2MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NjU2MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVFYgOSBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTc0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEzMzMzMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQXNpYW5ldCBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDEwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE5NTMxMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVGF0YSBDb21tdW5pY2F0aW9ucyBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDMxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDc0NDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBSUlNhdCBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDQyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDc0MjAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUYXRhIENvbW11bmljYXRpb25zIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNTA4NDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEREIG5hdGlvbmFsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA3MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgSW5kaWFzaWduIE11bGl0cGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwOTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gOTIzMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIE5ld3MgTGl2ZSAoTVBFRy00IFMvMikKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTAwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ3MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW5zYXQzQV9DLTkzLjVFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnNhdDNBX0MtOTMuNUUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjEyZDM2YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW5zYXQzQV9DLTkzLjVFCkBAIC0wLDAgKzEsMjA2IEBACisjIEluc2F0IDNBIEAgOTMuNUUgQy1CQU5ECisjIEdlbmVyYXRlZCBieSBQaWV0cm8gQ2Fzb2FyCisjIDFzdCBNYXJjaCAyMDA5CisKKyMgTVBFRy0yICYgTVBFRy00IFFQU0sgKERWQlMvUzIpCisjIGZyZXEgcG9sIHNyIGZlYworCisjIEREIEJhbmdsYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MzIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEREIFB1bmphYgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEREIEd1amFyYXRpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc1MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MjUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgREQgQ2hhbmRhbmEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzU5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYyNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBERCBPcml5YQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NzIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEREIGthc2hpcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3ODIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEREIFNhaHlhZHJpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc5MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA4NjAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgREQgTWFsYXlhbGFtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgxMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MjUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgREQgU2FwdGFnaXJpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgyMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MjUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgREQgcG9kaGlnYWkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODMxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDg2MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBERCBIaW1hY2hhbCBQcmFkZXNoCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkzMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MjUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgREQgSmFpcHVyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MjUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTWFkaHlhIFByYWRlc2gKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTUwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYyNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBERCBVdHRhciBQcmFkZXNoCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk1ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MjUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgREQgTm9ydGggRWFzdAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwOTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEREIE1pem9yYW0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTAxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYyNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBERCBUcmlwdXJhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEwOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MjUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUlRBIEFmZ2hhbmlzdGFuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEzMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUlRBIEFmZ2hhbmlzdGFuIE5hbmdhcmhhcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMzYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEFyaWFuYSBUViBOZXR3b3JrIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNDEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNTE1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnNhdDRBX0MtODMuMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0luc2F0NEFfQy04My4wRQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44ZTFlOTAzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnNhdDRBX0MtODMuMEUKQEAgLTAsMCArMSwyOTYgQEAKKyMgSW5zYXQgNEEgQCA4My4wRSBDLUJBTkQKKyMgR2VuZXJhdGVkIGJ5IFBpZXRybyBDYXNvYXIKKyMgMXN0IE1hcmNoIDIwMDkKKworIyBNUEVHLTIgJiBNUEVHLTQgUVBTSyAoRFZCUy9TMikKKyMgZnJlcSBwb2wgc3IgZmVjCisKKyMgTlNUUEwgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcyNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI2NjY1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgSW5kaWFzaWduIG11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NTYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMzMzMzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFN0YXIgVFYgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc3NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEwOTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgRXNzZWwgU2h5YW0gTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgwNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVGFyYW5nIFRWIE11bHRpcGxleCAoTVBFRy00IFMvMikKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODQxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjkyMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIENUVk4gQUtEIFBsdXMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODUzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzI2NTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEthc3RodXJpIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg1NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM0NjIwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBLYW15YWIgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODc0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzQwMzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFZhbml0aGEgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODkyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzMwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEVzc2VsIFNoYXlhbSBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODk4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjgwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIENoYW5uZWwgMTAgSW5kaWEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTEwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzYwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEVzc2VsIFNoeWFtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkyMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgRFkgMzY1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk0OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMyMjUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTU4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gOTUwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFplZSBOZXdzIFV0dGFyIFByYWRlc2gKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTc2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzIwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEVUViBOZXR3b3JrIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMDQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjIyMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEVzc2VsIFNoeWFtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA0MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDc1MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBMYW1oYXMgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA1NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzMjMwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTmV0d29yayAxOCBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDcyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIElCTiBMb2ttYXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDc4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIExpdmUgSW5kaWEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDg3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzMwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIE1pIE1hcmF0aGkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDkxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEJCUyBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NzUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTWFub3JhbWEgTmV3cworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1NTU1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQkFHIEZpbG1zCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEzNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEwNjAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgWmVlIE5ldHdvcmsgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE1MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBaZWUgTmV0d29yayBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTYxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIExvayBTYWJoYSBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNzAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgS29sa2F0YSBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMjMzMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0luc2F0NEJfQy05My41RSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW5zYXQ0Ql9DLTkzLjVFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZlOTM5OTcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0luc2F0NEJfQy05My41RQpAQCAtMCwwICsxLDE1NiBAQAorIyBJbnNhdCA0QiBAIDkzLjVFIEMtQkFORAorIyBHZW5lcmF0ZWQgYnkgUGlldHJvIENhc29hcgorIyAxc3QgTWFyY2ggMjAwOQorCisjIE1QRUctMiAmIE1QRUctNCBRUFNLIChEVkJTL1MyKQorIyBmcmVxIHBvbCBzciBmZWMKKworIyBEb29yZGFyc2hhbiBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzI1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBERCBEZWhyYWR1bgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MjUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgREQgUmFpcHVyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc2MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBERCBSYW5jaGkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzY4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEREIEphbW11CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc3NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBERCBIaXNzYXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODAyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEREIENoYW5kaWdhcmgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODA4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEREIFBvcnQgQmxhaXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODIyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEREIEJpaGFyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgzMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDYyNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBERCBOb3J0aCBFYXN0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg0MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDYyNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTdW4gbmV0d29yaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4ODUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIERvb3JkYXJzaGFuIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFNha3NoaSBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDQwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVGF0YSBDb21tdW5pY2F0aW9ucyBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDA1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjU0MjIwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTdW4gTmV0d29yaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbDQtNzIuMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsNC03Mi4wRQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mZWJhNjVlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbDQtNzIuMEUKQEAgLTAsMCArMSwzNCBAQAorIyBJbnRlbDQgQCA3MkUKKyMgZnJlcSBwb2wgc3IgZmVjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1MzMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDIyMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTYzODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU2MzIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gODIzMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjUyNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbDkwNC02MC4wRSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWw5MDQtNjAuMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTFiY2NlNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWw5MDQtNjAuMEUKQEAgLTAsMCArMSw5MCBAQAorIyBJbnRlbDkwNCBAIDYwRQorIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTAwMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5NzUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwMTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTc1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDE1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjk3NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTA5MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTgwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTAxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQxMDUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExNDIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTYzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTUyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjk2MzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTE1NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5NjMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1MTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNzMwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTYzNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTcwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTY3NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTcwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtMTAwMi0xLjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC0xMDAyLTEuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTdiMmI2MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtMTAwMi0xLjBXCkBAIC0wLDAgKzEsMTQ2IEBACisjIEludGVsc2F0IDEwMDIgQCAxLjBXCisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNzUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE4MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIxMDUwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDkzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTkxOTEwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTE2NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxNDUwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExODIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzEwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjA2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTMzNTYwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjUyNzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1NjMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTYzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2MDcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjA3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2NDMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjQzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2ODcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjg3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI3MTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTg0MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjcyMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI3MzUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gODgwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC0xMS00My4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtMTEtNDMuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2FlOTEwNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtMTEtNDMuMFcKQEAgLTAsMCArMSwxMSBAQAorIyBJbnRlbHNhdCAxMSBAIDQzLjBXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk0NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU5NDUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTEyLTQ1LjBFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC0xMi00NS4wRQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xMjRiMGVjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC0xMi00NS4wRQpAQCAtMCwwICsxLDEwNiBAQAorIyBJbnRlbHNhdCAxMiBAIDQ1LjBFCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE0NjgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNDk1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDcyOTkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1MTcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk1OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTUyMzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1Nzg3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTU1MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE1OTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAyCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNTkxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTU5MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE2MzIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNjczMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC0xUi00NS4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtMVItNDUuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDUxMmM1NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtMVItNDUuMFcKQEAgLTAsMCArMSwzMzEgQEAKKyMgSW50ZWxzYXQgMVIgQCA0NS4wVworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTQ0NTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg1NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIzNzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4OTMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjIwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NjkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNTE1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxODYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDQwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQzNDcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA3MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNjE1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5OTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDA0NDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODgyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0MTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3ODgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MjgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNTA1NzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTczNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1MDU3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzIyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MTgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDY2NzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgzMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE3MzYwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTMwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDExNzkwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODA4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDc3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTMyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTc0OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NDEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MDUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ0MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzU5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NDEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE3MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NDEwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4OTkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjYxMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTkyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjA3NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDk2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gODEwMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg3MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDYwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc0NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzE1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDU1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk4NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMzEwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4OTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjExMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTM1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjY2MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEyMTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM1MTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc0MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NDQ0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDI5MjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTc1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzMTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEzMzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3ODUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQwOTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODY4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEwMDc1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NzQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gODgyMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTI4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzMTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTNSLTQzLjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC0zUi00My4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45ZmZjZWM1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC0zUi00My4wVwpAQCAtMCwwICsxLDI1OSBAQAorIyBJbnRlbHNhdCAzUiBAIDQzLjBXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkzNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMzMTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkwMTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NjIwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4OTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjExMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTM1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE3MzYwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NzIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjIwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTI3MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTA2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI2NDcwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNTYzMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTE5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY2MjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA4MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NTk5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMDYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTI3MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTk0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjEwOTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg2NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NDI5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgyODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MzUwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4ODgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA3ODEzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3ODUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDgwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTQyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEyMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk0NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNTkyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5ODgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDA3MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODQ1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzA4MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA0MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwODAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NjUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODUwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4ODAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzA1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzcwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc0NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMxMTEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0Njg3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzU0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzEwOTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzQ2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIxMjYxMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDU3MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTMwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjgxMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtNkItNDMuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTZCLTQzLjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE2OWU2ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTZCLTQzLjBXCkBAIC0wLDAgKzEsMTE1IEBACisjIEludGVsc2F0IDZCIEAgNDMuMFcKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDg4MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwODgyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTcwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5NzAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwNTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTEzMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzgyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTMwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwNzIwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3MjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwNTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzODIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDgwMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwODAwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC03MDUtNTAuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTcwNS01MC4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40NjFiNjhhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC03MDUtNTAuMFcKQEAgLTAsMCArMSwzNSBAQAorIyBJbnRlbHNhdCA3MDUgQCA1MC4wVworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzYxNzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTE3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQwODcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgzODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDcwNTMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEyNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDYxMTEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTcwNy01My4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtNzA3LTUzLjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIyODg2NmMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTcwNy01My4wVwpAQCAtMCwwICsxLDE5IEBACisjIEludGVsc2F0IDcwNyBAIDUzLjBXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgyMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDgzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDUzMzMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTkwMy0zNC41VyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtOTAzLTM0LjVXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY2YmU2ZWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTkwMy0zNC41VwpAQCAtMCwwICsxLDM1IEBACisjIEludGVsc2F0IDkwMyBAIDM0LjVXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE3ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjU1NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDQ1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDk2MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODk1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTMwMjEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAwNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMTcwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC05MDUtMjQuNVcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTkwNS0yNC41VwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43MzBkMmM5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC05MDUtMjQuNVcKQEAgLTAsMCArMSw1MSBAQAorIyBJbnRlbHNhdCA5MDUgQCAyNC41VworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNzEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjExMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTgxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYxMTEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE5NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1MTkzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNjIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjExMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDYwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYxMTEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA3MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MTExMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC05MDctMjcuNVcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTkwNy0yNy41VwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45ZTZkNTUzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC05MDctMjcuNVcKQEAgLTAsMCArMSw1MSBAQAorIyBJbnRlbHNhdCA5MDcgQCAyNy41VworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NzMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0Njg3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0Njg3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzMyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE0MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NDMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxODA4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MzgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNTQ0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdDIxX0MtNTguMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0MjFfQy01OC4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44NDY3MTU5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdDIxX0MtNTguMFcKQEAgLTAsMCArMSwyNzMgQEAKKyMgSW50ZWxzYXQgMjEgQCA1OC4wVyBDLUJBTkQKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzcyMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM3NjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzNzg1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTE5OTAwMAorCUlOTkVSX0ZFQyA9IDkvMTAKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3OTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMzI5MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODQwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc2OTAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4ODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzY5MDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM5MjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDkvMTAKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzk1MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE1MTQ2MDAwCisJSU5ORVJfRkVDID0gMy81CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM5NzIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDk5MDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQwMDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODEyMjAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNjU5MTAwMAorCUlOTkVSX0ZFQyA9IDEvMgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQwODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNzAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzcyMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDgvOQorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc2OTAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzODAwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzY5MDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM4ODAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzkxMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxNDk5OTAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MjQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjYyMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkzNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA3MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzk2MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MDAwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQwNDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NjkwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTIwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAxMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTUwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk0MDAwMAkKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNjkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE3NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTQxMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQzNF9DLTU1LjVXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdDM0X0MtNTUuNVcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGIyMGZmYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQzNF9DLTU1LjVXCkBAIC0wLDAgKzEsMzcxIEBACisjIEludGVsc2F0IDM0IEAgNTUuNVcgQy1CQU5ECisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcxNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDg4OTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzNzI1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM3NDYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNjAwMDAwCisJSU5ORVJfRkVDID0gMy81CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzU0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDIzMjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc1NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5NjcwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzNzYzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM3NzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA3OTk5MDAwCisJSU5ORVJfRkVDID0gMy81CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM3OTcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjcwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM4NDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzODcyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gOTMzMzAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzOTEwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTgzMzAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkzMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU2MjUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzOTY5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNzEyMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MDE1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDA1NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQwODQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMDU2MDAwMAorCUlOTkVSX0ZFQyA9IDMvNQorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MDk3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjI3MjAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQxMDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxODQwMDAwCisJSU5ORVJfRkVDID0gMy81CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQxMDYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1MzYwMDAwCisJSU5ORVJfRkVDID0gMy81CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQxMTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MDAwMDAwCisJSU5ORVJfRkVDID0gMy81CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQxMjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1NDk5MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEzNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDQwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDE0MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDUwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDE0NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM0NDMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTUxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQxNjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1NTk5MDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgwNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNjY2NDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNjcwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM4ODQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzkyNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA3MTk5MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM5ODcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzMyOTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzOTkwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM1OTAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDAyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDg2ODEwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE4NDAxMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQwODUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDA3NDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA5MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzNjE2MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDEwMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMzE5MDAwCisJSU5ORVJfRkVDID0gOC85CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDExMTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxODUwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQxMzYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDE3NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQ4X0MtMTY2LjBFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdDhfQy0xNjYuMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmU2MWU2YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQ4X0MtMTY2LjBFCkBAIC0wLDAgKzEsMTE2IEBACisjIEludGVsc2F0IDggQCAxNjYuMEUgQy1CQU5ECisjIEdlbmVyYXRlZCBieSBQaWV0cm8gQ2Fzb2FyCisjIDFzdCBNYXJjaCAyMDA5CisKKyMgTVBFRy0yICYgTVBFRy00IFFQU0sgKERWQlMvUzIpCisjIGZyZXEgcG9sIHNyIGZlYworCisjIFZpYWNvbSBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzQwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTb3V0aCBLb3JlYW4gTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc5MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NTEwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQXJpcmFuZyBXb3JsZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEF1c3RyYWxpYW4gbmV0d29yayBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODI5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTMyMzgwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUVkJTIG11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MzMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBOQkMgVW5pdmVyc2FsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkwMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgSW50ZWxzYXQgbXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk0MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NjkwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQ2hpbmEgUmFkaW8gbXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk1OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzNDI4MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTkhLIFdvcmxkIG5ldHdvcmsgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA2MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE2MTgwMDAwCisJSU5ORVJfRkVDID0gMS8yCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUGhpbGlwcGluZXMgTmV0d29yayBUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTIyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDU1NTQwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUQVMgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEzMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1ODAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0pDU2F0M0FfQy0xMjguMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0pDU2F0M0FfQy0xMjguMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjExYzYzNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSkNTYXQzQV9DLTEyOC4wRQpAQCAtMCwwICsxLDQ2IEBACisjIEpDU0FUIDNBIEAgMTI4LjBFIEMtQkFORAorIyBHZW5lcmF0ZWQgYnkgUGlldHJvIENhc29hcgorIyAxc3QgTWFyY2ggMjAwOQorCisjIE1QRUctMiAmIE1QRUctNCBRUFNLIChEVkJTL1MyKQorIyBmcmVxIHBvbCBzciBmZWMKKworIyBUQVMgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk2MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRBUyBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDAwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTWlyYWNsZW5ldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzMzMjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRBUyBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTIwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL01lYXNhdDNfQy05MS41RSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvTWVhc2F0M19DLTkxLjVFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRlY2NlNWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL01lYXNhdDNfQy05MS41RQpAQCAtMCwwICsxLDE2NiBAQAorIyBNZWFzYXQgMyBAIDkxLjVFIEMtQkFORAorIyBHZW5lcmF0ZWQgYnkgUGlldHJvIENhc29hcgorIyAxc3QgTWFyY2ggMjAwOQorCisjIE1QRUctMiAmIE1QRUctNCBRUFNLIChEVkJTL1MyKQorIyBmcmVxIHBvbCBzciBmZWMKKworIyBTaG9wIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzYyOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQW9yYSBUViBNdWxpdHBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjQ0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIzMjAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTb2xhciBFbnRlcnRhaW5tZW50CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY0NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxOTUxMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIE5hdGlvbmFsIEdlb2dyYXBoaWMgbXVzaWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzE4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE3MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBEWlJIIFRWIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MjEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjE3MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEFzY2VudCBNZWRpYSAoTVBFRy00IFMvMikKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzUxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEzMzMwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgR2xvYmVjYXN0IE11bHRpcGxleCAoTVBFRy00IFMvMikKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzY5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE0MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgSFRWIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3OTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNzAzMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFNreSBJbnRlcm5hdGlvbmFsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgxNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVW4tbmFtZWQgTXVsaXRwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg2NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzODM1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUlRNIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NzcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTI1MjUwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBSVE0gU2FyYXdhayBGZWVkcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4ODcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk4NDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEdsb2JlY2FzdCBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTIwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgR2lueCBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMTMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk2MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFlSIEFzaWEgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTE3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NjMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBBbGwgU3BvcnRzIE5ldHdvcmsgKE1QRUctNCBTLzIpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEzNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA3MjAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL05TUy0xMC0zNy41VyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvTlNTLTEwLTM3LjVXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRmODkyYWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL05TUy0xMC0zNy41VwpAQCAtMCwwICsxLDc1IEBACisjIE5TUyAxMCBAIDM3LjVXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA1NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MjQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxODA4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNTkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzIxNDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODI4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjUzMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODQ0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDM0MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDcxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMxNTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA1MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NDQwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzI1MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDc3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMyMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL05TUy03LTIyLjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9OU1MtNy0yMi4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMDg1ZDBmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9OU1MtNy0yMi4wVwpAQCAtMCwwICsxLDE3OSBAQAorIyBOU1MgNyBAIDIyLjBXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkyNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM3MTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkyMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM3MTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk1NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1NjMyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MjkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNTYzMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTE1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzcxNTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzYxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyNjUwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODI1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTkwNDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE2MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY1MTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NzcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzUwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNDkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTIxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzUwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAwMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAxMTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEyNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM2ODAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk2OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE4MDgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk3NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE4NDIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MTQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1NjMwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMzgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzY5MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjc0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMjIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAzMzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzNjg5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMTYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNjYzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9OU1MtODA2LTQwLjVXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9OU1MtODA2LTQwLjVXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZiNWQwNTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL05TUy04MDYtNDAuNVcKQEAgLTAsMCArMSw4NDMgQEAKKyMgTlNTIDgwNiBAIDQwLjVXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MjEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNTAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDM1MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTg2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzE3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODU5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjYwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTIwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAxNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1NzEyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NzgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjExMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTY1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI1NDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc3NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcyNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNjY2NzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjAwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI1MTg1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjY2NjcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk4MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxNzgwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDkwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI1MTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA0MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDg2ODAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAwOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMDMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NDgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NjQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjE3MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjQ0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjUzNDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjk1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjk2MzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDgyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjY2NjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTQzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ4MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY0MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5OTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNTc4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDUwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMDkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDUwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzE3MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzU1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEzNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDUwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMDMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDUwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2MDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTE4NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODY4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIxMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY4NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY4ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NzkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIyMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTYxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTQ4MTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTMwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkyMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQ1OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDcxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzMzMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE0NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI1NzEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY0NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MzcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxOTUxMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTMyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjQ4MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjUzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDU5MjQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA1NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDcyMzMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkzODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0Nzg1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzI4MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODMyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEzMzEwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwOTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjIwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwODIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjUxMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTA3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIxMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzUwMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEyNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNTMxMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjcxMzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTgzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIyMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDY1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gODQwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDYzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDg1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk3MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMzMzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAyNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE2MDMwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjY4NjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkyMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDUzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY3NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2MzcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTYzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1MTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNTYzMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNTE2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTYzMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDkzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4ODcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE3NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQzOTEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEyNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM0ODAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEzOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjIwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2OTMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ0MTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTk0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjY2MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODAzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDExMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NTIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNjY2OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODk4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQxOTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE2MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDcyMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE2ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI0MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk2NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMzMzIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEwMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NTQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEyNzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEwOTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NTQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY3MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5NjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg1MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY2MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNTQwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNzAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjIyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2MzAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1NjMyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2OTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIyMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTg0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjE0MjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTIyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE4NjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAyMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzODAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMzcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NzgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIxMTcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEzMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNzQ0MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTQyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIyMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTkwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQxOTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY2NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMzQwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NzMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvTmFodWVsLTEtNzEuOFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL05haHVlbC0xLTcxLjhXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY2YzM3MDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL05haHVlbC0xLTcxLjhXCkBAIC0wLDAgKzEsNjcgQEAKKyMgTmFodWVsIDEgQCA3MS44VworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjczMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2ODAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzMzNTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTY1NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MTcwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODc0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMzYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk2MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg3MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDgwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMTYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNDM5NjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk5NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA4NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9OaWxlc2F0MTAxKzEwMi03LjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9OaWxlc2F0MTAxKzEwMi03LjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRhNmJiMzAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL05pbGVzYXQxMDErMTAyLTcuMFcKQEAgLTAsMCArMSwzMTQgQEAKKyMgTmlsZXNhdCAxMDEvMTAyICYgQXRsYW50aWMgQmlyZCBAIDdXCisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwNzE5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3MjMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwNzU4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3NzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwNzk2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4OTIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTExMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5MzAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzE3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NDcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc2NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3ODUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgwNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MjMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg0MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NjIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg4MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkxOTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MzgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk1ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NzcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc2MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk5NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAzNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNTQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA3MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMzAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE0OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyMDcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjIyNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyODQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjMwMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzNDEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjM2MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzODAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjM5OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0MTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQ3NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL09wdHVzQzEtMTU2RSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvT3B0dXNDMS0xNTZFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMzZWRkYjMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL09wdHVzQzEtMTU2RQpAQCAtMCwwICsxLDE0NiBAQAorIyBPcHR1cyBDMSBzYXRlbGxpdGUgMTU2RQorIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjI3ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzMDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzU4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjcwMDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjM5ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3ODAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0MDcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQzODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3ODAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0ODcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc4MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjUwMTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5NDczMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MTgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzgwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTI3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1NTgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzgwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTY0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjk0NzMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU2NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzgwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTk4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc4MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYwNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTQ3MzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjM4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc4MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY4OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3ODAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI3MjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvT3B0dXNEMS0xNjAuMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL09wdHVzRDEtMTYwLjBFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZlZjkwMWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL09wdHVzRDEtMTYwLjBFCkBAIC0wLDAgKzEsMTggQEAKKyMgT3B0dXMgRDEgc2F0ZWxsaXRlIDE2MC4wRQorIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQ1NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyNTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0ODMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9QQVMtNDMuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1BBUy00My4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kYjViZjkzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9QQVMtNDMuMFcKQEAgLTAsMCArMSwzNCBAQAorIyBQQVMgNi82Qi8zUiBhdCA0My4wVworIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU3ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE5ODUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1ODQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYwNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2MTYwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY2NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE5ODUwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1BhbGFwYUMyX0MtMTEzLjBFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9QYWxhcGFDMl9DLTExMy4wRQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mMDBlNGM5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9QYWxhcGFDMl9DLTExMy4wRQpAQCAtMCwwICsxLDExNiBAQAorIyBQYWxhcGEgQzIgQCAxMTMuMEUgQy1CQU5ECisjIEdlbmVyYXRlZCBieSBQaWV0cm8gQ2Fzb2FyCisjIDFzdCBNYXJjaCAyMDA5CisKKyMgTVBFRy0yICYgTVBFRy00IFFQU0sgKERWQlMvUzIpCisjIGZyZXEgcG9sIHNyIGZlYworCisjIFNDVFYgSmF3YSBUaW11cgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMTI1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU0NUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NTgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDcwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVFZSSSBOYXNpb25hbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1NTU1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUkNUSQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NzQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NTIwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgS0JTIFdvcmxkIEluZG9uZXNpYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MzYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjA5NzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEJhbGkgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTI2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDIwODAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRWIE9uZSBJbmRvbmVzaWEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDU0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTYzMjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEFOVFYgSW5kb25lc2lhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA1NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NTEwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgSW5kb3NpYXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDc0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTYXRlbGluZG8gTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA4MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MTI1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVFBJIEluZG9uZXNpYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxODQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjcwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9TQlM2LTc0dyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvU0JTNi03NHcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjZjYTZjNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvU0JTNi03NHcKQEAgLTAsMCArMSwxMSBAQAorIyBTQlMgNiBAIDc0VworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzQ0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjYxNjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvU0VTMV9DLTEwMVcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1NFUzFfQy0xMDFXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBkYmI4NjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1NFUzFfQy0xMDFXCkBAIC0wLDAgKzEsNzUgQEAKKyMgU0VTIDEgQCAxMDEuMFcgQy1CQU5ECisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQwMjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzNzE1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ3NzUwMDAKKwlJTk5FUl9GRUMgPSAzLzUKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzIwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzczMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDEwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjczNDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk1NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzM0MDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTYwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3MzQwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NzMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNTkyNDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1NFUzItODcuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1NFUzItODcuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWZhMjFhYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvU0VTMi04Ny4wVwpAQCAtMCwwICsxLDU5IEBACisjIEFNQyAzIEAgODcuMFcKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTcxNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ4NTkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNDIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNDcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MzQwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTU5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDQ0NDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE2NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNzIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDQ0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTgyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9TRVMyX0MtODcuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1NFUzJfQy04Ny4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMTkzNzJmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9TRVMyX0MtODcuMFcKQEAgLTAsMCArMSw2NiBAQAorIyBTRVMgMiBAIDg3LjBXIEMtQkFORAorIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NDIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2MTQ5MDAwCisJSU5ORVJfRkVDID0gNy84CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDAwMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5MTIzMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA0MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ3MTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzNzQzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDUwMDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzUyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDg2ODEwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzOTQ4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQxNjQwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzk1MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1NFUzNfQy0xMDNXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9TRVMzX0MtMTAzVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yYTBkNDEzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9TRVMzX0MtMTAzVwpAQCAtMCwwICsxLDExMSBAQAorIyBTRVMgMyBAIDEwM1cgQy1CQU5ECisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg0MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI2NjgyMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTAzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjUxMTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkxMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5MjcwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMTQ5MDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzkyMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3MzMwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTI3MTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQwNDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjkyNjgwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NzEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTQ4MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM0OTkwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDkwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE0MDI5MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDE0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9TVDFfQy04MC4wRSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvU1QxX0MtODAuMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDYwYTM5ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvU1QxX0MtODAuMEUKQEAgLTAsMCArMSw3NiBAQAorIyBTVDEgQCA4OC4wRSBDLUJBTkQKKyMgR2VuZXJhdGVkIGJ5IFBpZXRybyBDYXNvYXIKKyMgMXN0IE1hcmNoIDIwMDkKKworIyBNUEVHLTIgJiBNUEVHLTQgUVBTSyAoRFZCUy9TMikKKyMgZnJlcSBwb2wgc3IgZmVjCisKKyMgR1RWIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM0NjkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBBQlRWIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1MjEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA4MzMyMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVmlkZW9sYW5kIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1NTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBHVFYgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzU5NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVmlkZW9sYW5kIG11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2MzIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBDaHVuZ3dhIFRlbGVjb20KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjcxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gOTI1NjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIE5URCBUViBBc2lhLVBhY2lmaWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjg5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9TYXRtZXgtNS0xMTYuOFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1NhdG1leC01LTExNi44VwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45NmM4MDRkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9TYXRtZXgtNS0xMTYuOFcKQEAgLTAsMCArMSw1NTUgQEAKKyMgU2F0bWV4IDUgQCAxMTYuOFcKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAzNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI1MzIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MjMyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxOTUxMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTA1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NjMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA4NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMxNjIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc2NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE2MjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTgwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTk1MTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDExNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMyNTMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTI3MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTYwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5MjcwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODEyNTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDUyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQzMDcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMjQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMzQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNjE3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDI4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzI1NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA2MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDc4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzEzMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTQ5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA3NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5NjIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc0OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQwNzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc0NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ0ODAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc1NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg2OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg3NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIxNzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg3OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE5ODQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk1NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNjAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NzUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzEzMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTgyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjUzMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODMyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTUzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI1OTcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk4NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA4ODYwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5OTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjE3MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzQ4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIxMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkzMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MTQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzIyMzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODg4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTM1MTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODA1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ2NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAwMTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMjMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTc2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk4NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTA4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjY2NjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDM4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDc2NzUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgwOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwODAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjkyNzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkxMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE2NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE3MzMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxOTMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNzg4NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE2NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDQ0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQzNDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcyMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTIyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDk3NjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc5NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NjgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDM3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIyMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDQ2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjQ0MTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDgwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjQ0MTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzczMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4OTIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc2NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODkzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MzUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ0MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTcyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzM2NDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTA1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjQwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDA3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDU1ODIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg4NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgyNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3MTIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk0NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzNDEwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNTIwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NzYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjkyMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvU2F0bWV4LTYtMTEzLjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9TYXRtZXgtNi0xMTMuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTlhOGYzMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvU2F0bWV4LTYtMTEzLjBXCkBAIC0wLDAgKzEsMTMxIEBACisjIFNhdG1leCA2IEAgMTEzLjBXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA3ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM2MDkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA4MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTQ1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA4NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODIxMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTI2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYwMjIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNjYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDc1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM3ODIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA5MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzNzIwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5ODUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjMwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjEyNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIxNzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNTcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAzODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA5MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMzM3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NDcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzcwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzYxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIxMjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMDcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIyMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA4MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI1NjM1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9TaXJpdXMtNS4wRSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvU2lyaXVzLTUuMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWY5M2MzOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvU2lyaXVzLTUuMEUKQEAgLTAsMCArMSw1MTkgQEAKKyMgU2lyaXVzIDUuMEUKKyMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSBraW5nb2ZzYXQubmV0IGluaSBmaWxlIDAwNDguaW5pCisjIGh0dHA6Ly9lbi5raW5nb2ZzYXQubmV0L3NhdGVsbGl0ZXMucGhwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExMjY1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTEyNjUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTEzMDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTMwNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTM0NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExMzQ1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExMzg1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MjcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzQ3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NjYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzg1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MDQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODIzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NDMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODYyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4ODEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTAwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MTkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTM4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NTgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTc3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5OTYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDE1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMzQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDU0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNzMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDkyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTMwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNDkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjE2OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjE4ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCVNUUkVBTV9JRCA9IDEwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTIxODgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKwlTVFJFQU1fSUQgPSAyMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyMjA3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyMjYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNTU0MDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjQ1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyNjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjg0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzMDMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNTU0NzAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzIyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyMzQxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisJU1RSRUFNX0lEID0gMzAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjM0MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCVNUUkVBTV9JRCA9IDQwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTIzNjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjM3OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzOTkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQxODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNDM3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNDU2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQ3NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjU3NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzOTIyMDAwCisJSU5ORVJfRkVDID0gMS8yCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2MDgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjM3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTQ0NjUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY3MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI2MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY4MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDk0MDQwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY4MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2ODg4MDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNjg3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTYwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjg3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY2NjcwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY5NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMzMzMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNzAyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjEwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNzAzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NjMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjcxOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTYwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNzIyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE2MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTI3MjUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTQ4MDAwMAorCUlOTkVSX0ZFQyA9IDgvOQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNzI4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE2MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGVsZWNvbTItOC4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGVsZWNvbTItOC4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42Mzc4NzFkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9UZWxlY29tMi04LjBXCkBAIC0wLDAgKzEsMTIyIEBACisjIFRlbGVjb20yIDguMFcKKyMgZnJlcSBwb2wgc3IgZmVjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5NzIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk3NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwMTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDExMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwNDIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA3ODYwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwNTMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwNjQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMjY2NzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzg3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjQ3NDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTQyODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1MDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNDYwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTU0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1OTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU0NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMzgwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU2NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjQ5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1RlbGtvbTFfQy0xMDguMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1RlbGtvbTFfQy0xMDguMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTk0YjVlNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGVsa29tMV9DLTEwOC4wRQpAQCAtMCwwICsxLDE0NiBAQAorIyBUZWxrb20gMSBAIDEwOC4wRSBDLUJBTkQKKyMgR2VuZXJhdGVkIGJ5IFBpZXRybyBDYXNvYXIKKyMgMXN0IE1hcmNoIDIwMDkKKworIyBNUEVHLTIgJiBNUEVHLTQgUVBTSyAoRFZCUy9TMikKKyMgZnJlcSBwb2wgc3IgZmVjCisKKyMgVGVsa29tIFZpc2lvbiBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNTgwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUZWxrb20gVmlzaW9uIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2MjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRlbGtvbSBWaXNpb24gTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRWIFRpbW9yIExlc3RlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc3NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyODUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUViBFZHVrYXNpIDEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzg1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRWUkkgS2FsYmFyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc5MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUVlJJIFBhcHVhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc5NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUViBFZHVrYXNpIDIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODA3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRyYW5zIDcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTkwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRWUkkgQWNlaAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUkNUSSBKYXdhIFRpbXVyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAyNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUcmFucyBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwODQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUGFwdWEgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDkyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzU3MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEpUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwOTcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMTI1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1RlbHN0YXIxMF9DLTc2LjVFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9UZWxzdGFyMTBfQy03Ni41RQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zZWE2MzRiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9UZWxzdGFyMTBfQy03Ni41RQpAQCAtMCwwICsxLDE5NiBAQAorIyBUZWxzdGFyIDEwIEAgNzYuNUUgQy1CQU5ECisjIEdlbmVyYXRlZCBieSBQaWV0cm8gQ2Fzb2FyCisjIDFzdCBNYXJjaCAyMDA5CisKKyMgTVBFRy0yICYgTVBFRy00IFFQU0sgKERWQlMvUzIpCisjIGZyZXEgcG9sIHNyIGZlYworCisjIFJhY2luZyBJbnRlcm5hdGlvbmFsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY0NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDUwNjQwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBJbWFnZSBDaGFubmVsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY1NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMyMTQwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBHbG9iZSBDYXN0IEFzaWEgbXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY4MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVUJJIFdvcmxkIFRWIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODA2NjAwMAorCUlOTkVSX0ZFQyA9IDIvMworCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFVCSSBXb3JsZCBUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MDY2MDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgRWt1c2hleSBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3ODcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NjAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgRGlnYW50YSBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3OTMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MzQwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUlJTYXQgR2xvYmFsIE5ldHdvcmsgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg0MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQ2hhbm5lbCAxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAwMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQwODAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBCb2lzaGFraGkgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDA5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDMwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRWIE1hbGRpdmVzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAzMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MzEyMDAwCisJSU5ORVJfRkVDID0gMS8yCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQ2hhbm5lbCBJCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAzNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQzMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBCYW5nbGEgVmlzaW9uCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA0OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM2MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBLYW50aXB1ciBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNTYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMjE0MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQkJDIFdvcmxkIFNlcnZpY2UgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA3MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzMDIwMDAwCisJSU5ORVJfRkVDID0gMS8yCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTU5DIEluZG9uZXNpYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMTI1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTkRUViBBcmFiaWEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTM3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjg5MzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIElzbGFtaWMgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTQ2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzYwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEJhbmdsYWRlc2ggTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE3MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDc0MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGVsc3RhcjEyLTE1LjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9UZWxzdGFyMTItMTUuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWRkMzY3YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGVsc3RhcjEyLTE1LjBXCkBAIC0wLDAgKzEsMTk0IEBACisjIFRlbHN0YXIgMTIgMTUuMFcKKyMgZnJlcSBwb2wgc3IgZmVjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5ODgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODkzMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5OTIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODkzMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwNjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxOTI3OTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTIzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE5Mjc5MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExMjQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxODM4NjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTUwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTgzODYwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTE1MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxOTI3OTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTMxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzE5ODAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTY2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDI4NDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjc3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAKKwlJTk5FUl9GRUMgPSAxLzIKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTcwOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMTk1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODA2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDc1OTYwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk2MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE0NzE0MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwODIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTM1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMTcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NzcyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTU5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNzc3NzAwMAorCUlOTkVSX0ZFQyA9IDIvMworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTY2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzUwMzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTczMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzUwMzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTI0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI2NDcwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1NDcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMTkwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTg5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ1MDMwMDAKKwlJTk5FUl9GRUMgPSAxLzIKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYwODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE5Mjc5MDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2MTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTE5MzkwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY0NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGVsc3RhcjE4X0MtMTM4LjBFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9UZWxzdGFyMThfQy0xMzguMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYThhZTMwOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGVsc3RhcjE4X0MtMTM4LjBFCkBAIC0wLDAgKzEsNDYgQEAKKyMgVGVsc3RhciAxOCBAIDEzOC4wRSBDLUJBTkQKKyMgR2VuZXJhdGVkIGJ5IFBpZXRybyBDYXNvYXIKKyMgMXN0IE1hcmNoIDIwMDkKKworIyBNUEVHLTIgJiBNUEVHLTQgUVBTSyAoRFZCUy9TMikKKyMgZnJlcSBwb2wgc3IgZmVjCisKKyMgSS1Ta3ktTmV0IE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1OTkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBJLVNreS1OZXQgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY2MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIExOVFYgTGFvcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAzNDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEJCQyBXb3JsZCBTZXJ2aWNlIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMjQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzI1NTAwMAorCUlOTkVSX0ZFQyA9IDEvMgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9UaGFpY29tMUFfQy0xMjAuMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1RoYWljb20xQV9DLTEyMC4wRQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hOWJjYjE3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9UaGFpY29tMUFfQy0xMjAuMEUKQEAgLTAsMCArMSw2NiBAQAorIyBUaGFpY29tIDFBIEAgMTIwLjBFIEMtQkFORAorIyBHZW5lcmF0ZWQgYnkgUGlldHJvIENhc29hcgorIyAxc3QgTWFyY2ggMjAwOQorCisjIE1QRUctMiAmIE1QRUctNCBRUFNLIChEVkJTL1MyKQorIyBmcmVxIHBvbCBzciBmZWMKKworIyBUVjMgQ2FtYm9kaWEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzI1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBQYW55YXBpd2F0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc0NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODUwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQ1ROIENhbWJvZGlhIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NTQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gOTYyODAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEthc2lrb3JuIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg4MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQmF5b24gVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTE2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzNTkwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBSYWRpbyBUaGFpbGFuZCBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTM1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE4MDgwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGhhaWNvbTJfQy03OC41RSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGhhaWNvbTJfQy03OC41RQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNDJlNzBiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9UaGFpY29tMl9DLTc4LjVFCkBAIC0wLDAgKzEsOTYgQEAKKyMgVGhhaWNvbSAyIEAgNzguNUUgQy1CQU5ECisjIEdlbmVyYXRlZCBieSBQaWV0cm8gQ2Fzb2FyCisjIDFzdCBNYXJjaCAyMDA5CisKKyMgTVBFRy0yICYgTVBFRy00IFFQU0sgKERWQlMvUzIpCisjIGZyZXEgcG9sIHNyIGZlYworCisjIEJCVFYgQ2hhbm5lbCA3CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc2NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU5MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTQlQgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODAzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTQ0NTAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIE1DT1QgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg4ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE1NjI1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUm95YWwgVGhhaSBBcm15IFRWIDUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTA1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRoYWkgVFYgQ29sb3IgQ2hhbm5lbCAzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk2NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ1NTEwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBSVSBUViAxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAwMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEwODUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUZW4gVFYgJiBSaWNoIENoYW5uZWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDE2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjMwNTAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIE5CVCBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMDYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0Njg4MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVGhhaSBQQlMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTQ1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDgxNTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9UaGFpY29tNV9DLTc4LjVFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9UaGFpY29tNV9DLTc4LjVFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIxNzFhOTcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1RoYWljb201X0MtNzguNUUKQEAgLTAsMCArMSwyMTYgQEAKKyMgVGhhaWNvbSA1IEAgNzguNUUgQy1CQU5ECisjIEdlbmVyYXRlZCBieSBQaWV0cm8gQ2Fzb2FyCisjIDFzdCBNYXJjaCAyMDA5CisKKyMgTVBFRy0yICYgTVBFRy00IFFQU0sgKERWQlMvUzIpCisjIGZyZXEgcG9sIHNyIGZlYworCisjIEVUQyBJbmRpYSBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNDIxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY2NjcwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBFdXJvcGUgTWVkaWEgUG9ydCBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNDMxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTMzMzMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBOZXBhbCBUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNDMyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY2NjcwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBDVFY5CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzQ0ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjIyMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUlJTYXQgR2xvYmFsIE5ldHdvcmsgKE1QRUctNCBTLzIpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzQ1MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzMzMzMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQXZlbnVlcyBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM0NTQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzMzMzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFBTSSBDaGFubmVsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzQ2MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxNTM4MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU2FnYXJtYXRoYSBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM0ODkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzMzMzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIERoaSBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1MDIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ0NDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEtvcmVhbiBDZW50cmFsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzUwNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMzNjcwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBHYW5nIENhcnRvb24gQ2hhbm5lbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1MDUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTg1MjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIExhbyBTdGFyIENoYW5uZWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNTIxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5MTcwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUaGFpY29tIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1NDUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBSUlNhdCBHbG9iYWwgTmV0d29yaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1NTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMzMzMzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFZUViBNYWxkaXZlcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1NjIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDQ0MDAwCisJSU5ORVJfRkVDID0gMS8yCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTVJUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNTc0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNzQ5MjAwMAorCUlOTkVSX0ZFQyA9IDIvMworCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRoYWljb20gTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzU4NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNjY2NzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRoYWljb20gTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzYwMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI2NjY3MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTVJUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjE3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEyNTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUlJTYXQgR2xvYmFsIE5ldHdvcmsgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY0MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MDY2MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVFZLIENhbWJvZGlhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY2NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM3MDQwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGhvci0xLjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9UaG9yLTEuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGI0NjI2NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGhvci0xLjBXCkBAIC0wLDAgKzEsNTA2IEBACisjIFRob3IgMS4wVworIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDc0NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI1MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3NzgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjUwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDc3ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4MDkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQ1MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDgwOTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4NDEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQ1MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDg0MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4NzIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQ1MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDg3MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5MDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjUwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDkwMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI1MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5MzQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQ1MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDkzNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI1MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEyMTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQ1MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTIyOTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEyNDcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQ1MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTI2MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEyNzgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQ1MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTI5MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzMDkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQ1MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTMyNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzMjUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQ1MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTMyNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNDUwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzQxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzNTcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDUwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzcyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzODkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDUwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDAzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE0MjEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDUwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDM0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MjcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc0NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NjYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc4NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgyMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg2MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4ODEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkwMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MTkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkzODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI1MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk3NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5OTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAxNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMzQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA3MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDkyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjEzMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNDkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE2OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxODgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjUwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjIyNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjQ1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjMwMzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzIyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc4MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjM0MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzOTkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNDE4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0NTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQ3NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1R1cmtzYXQtNDIuMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1R1cmtzYXQtNDIuMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzM2M2FlZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVHVya3NhdC00Mi4wRQpAQCAtMCwwICsxLDgxOCBAQAorIyBUdXJrc2F0IDQyLjBFCisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTY4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ1NTcwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk3MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5OTkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIyMjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDAzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIxNzUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTAwNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTUwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwMTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjEyNTAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDE0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIwNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTAxODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwMjgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDgzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDg4ODgwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTEzNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMTcwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExNDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTU5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI1OTYwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTE2MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjIyMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExNjYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk2MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTc3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU1NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5MTYwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU3NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI0MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU4MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDQwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTYwNzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM3NTAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTcxMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTYzMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIyMjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzI5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE1NTU1MDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MzQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMjkxMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MzkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMTI1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NDMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjIyMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIyMjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzQ4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDQ0NDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzUzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzU0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc1ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTYyMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1OTI1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NjIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjE1NTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzY1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMjIwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc3MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMTc3MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NzMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQyMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzc1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIyMjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzc3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMxNTAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc4MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODE1MDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3OTQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1NjMyMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQ0NDQwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgzMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MzkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ0NDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODQ2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzMzMwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg1MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NDQ0MDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODY3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDQwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg3NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzNDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NzgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzc1MDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODgyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NjUwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg4NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMzMzMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4OTIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMjgwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODkyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NjAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg5NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjIyMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MTIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMzMzMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MTkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQ0NDQwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk1MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA4ODAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NTkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk2MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTYzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIzMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk2NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MzQwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NzAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNzkwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTczMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyNDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk4NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk5NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDAyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDgwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDA4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDQwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDE1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDgwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDIyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTM4MDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDI4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDU1NzAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTI2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjEyNzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDc0MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE0MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMjIwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NDQ0MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MTMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MTgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMTI1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MjQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MjUwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MzAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDQ0MDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTYyMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1NDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMTI1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1NjMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDAwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTkwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU5NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNTAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2MDUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk2MTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjA5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM3MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYxNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMzMzMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2MzMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDgwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjM2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDgwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjM4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI0MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY0NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMzMzMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2NTIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjUyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY2MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA5MTUwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2NzIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjIyMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2ODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA4ODg4MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2OTIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2OTYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjIyMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2OTkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI3MDIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjg1MDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI3MTcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNTkyNTAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNzMxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzMzMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVmluYXNhdDFfQy0xMzIuMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1ZpbmFzYXQxX0MtMTMyLjBFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA2ZjlhY2IKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1ZpbmFzYXQxX0MtMTMyLjBFCkBAIC0wLDAgKzEsMjYgQEAKKyMgVklOQVNBVCAxIEAgMTMyLjBFIEMtQkFORAorIyBHZW5lcmF0ZWQgYnkgUGlldHJvIENhc29hcgorIyAxc3QgTWFyY2ggMjAwOQorCisjIE1QRUctMiAmIE1QRUctNCBRUFNLIChEVkJTL1MyKQorIyBmcmVxIHBvbCBzciBmZWMKKworIyBWVFYgTXVsdGlwbGV4IChWVFYgMSwgVlRWIDIsIFZUViAzLCBWVFYgNCwgVlRWNikKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNDEzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDk3NjYwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBWT1YgVFYgKFZvaWNlIG9mIFZpZXROYW0pCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzUyOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1lhbWFsMjAxLTkwLjBFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9ZYW1hbDIwMS05MC4wRQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mZDRiOTdlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9ZYW1hbDIwMS05MC4wRQpAQCAtMCwwICsxLDIwOSBAQAorIyBZYW1hbDIwMSBAIDkwRQorIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk5MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMTcwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTk1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQyODUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwNTcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjY0NzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwOTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjY0NzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExNDUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIyMjIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NzEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTgyMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgWWFtYWwyMDEgQCA5MEUgQy1CQU5ECisjIEdlbmVyYXRlZCBieSBSb21hbiBLYXNoY2hlZXYKKyMgTWFyIDMwLCAyMDA4CisjIGZyZXEgcG9sIHNyIGZlYworCisjIE5hdVRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzUzNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI1MzIwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHVya21lbmlzdGFuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzU1MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisjIENOTAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1NzcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNjI2MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisjIE5vcmQgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNTg4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDI4NTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUZWxla29tcGFuaWphIE9UVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2MDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0Mjg1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisjIE9ibGFzdG5vZSBUZWxldmlkZW5pZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2MDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDI4NTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBDTkwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjA1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjYyNjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBHYXNjb20KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjQ1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU3BhcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NzQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUViBHdWJlcm5pYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMjAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisjIFl1emhuaXkgUmVnaW9uCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkwMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyODUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgUm9zdG92IFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkwNzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyNjUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgT1JUUksgMTIgS2FuYWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTEyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDI5NTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBPMgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NDQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNTU1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBLbHViIFB1dGVzaGVzdHZpeQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5ODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzODAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBNdXNpYyBCb3gKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDQyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDg2ODEwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgTmV0U2VydmljZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwODQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hZC1BbmRvcnJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hZC1BbmRvcnJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU0MzI1MWQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2FkLUFuZG9ycmEKQEAgLTAsMCArMSw0OSBAQAorIyBEVkItVCBBbmRvcnJhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdC1BbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F0LUFsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ZmJmZGNlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdC1BbGwKQEAgLTAsMCArMSw1OTEgQEAKKyMgQXVzdHJpYSwgYWxsIERWQi1UIHRyYW5zbWl0dGVycyBydW4gYnkgT1JTCisjIENyZWF0ZWQgZnJvbQorIyBodHRwOi8vd3d3Lm9ycy5hdC9maWxlYWRtaW4vdXNlcl91cGxvYWQvZG93bmxvYWRzL0RWQi1UX0thbmFsYmV6ZWljaG51bmdlbl91bmRfTWl0dGVuZnJlcXVlbnplbi5wZGYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUFkZWxhaWRlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1BZGVsYWlkZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41Mzc2ZGQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1BZGVsYWlkZQpAQCAtMCwwICsxLDc5IEBACisjIEF1c3RyYWxpYSAvIEFkZWxhaWRlIC8gTXQgTG9mdHkKKyMgQUJDCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjI2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU2V2ZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBOaW5lCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTkxNjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjE5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0JTCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTY0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyAzRCBUcmlhbCBBdXN0cmFsaWEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzY2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUFkZWxhaWRlRm9vdGhpbGxzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1BZGVsYWlkZUZvb3RoaWxscwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43M2RiZTNkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1BZGVsYWlkZUZvb3RoaWxscwpAQCAtMCwwICsxLDY2IEBACisjIEF1c3RyYWxpYSAvIEFkZWxhaWRlIC8gR3JlbmZlbGwgU3RyZWV0CisjIEFCQworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4MTYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNldmVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzExNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgTmluZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc5NTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNCUworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtQmFsbGFyYXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUJhbGxhcmF0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQzOGFkYTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUJhbGxhcmF0CkBAIC0wLDAgKzEsNjYgQEAKKyMgQXVzdHJhbGlhIC8gQmFsbGFyYXQKKyMgQUJDCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjIwNjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgUHJpbWUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBXSU4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTI2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNDCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEzNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0JTCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1CZW5kaWdvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1CZW5kaWdvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA3ZjA5Y2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUJlbmRpZ28KQEAgLTAsMCArMSwzMjYgQEAKKyMgQXVzdHJhbGlhIC8gQmVuZGlnbyAoTXQgQWxleGFuZHJpYSB0cmFuc21pdHRlcnMpCisjIEFCQworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2OTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjIwNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFNldmVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NTI1MDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTmluZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3NjI1MDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTkyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgyNTAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFNCUworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM0MjUwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFVOSzEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBVTksyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzNjYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg1NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0MzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1Mjk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTY0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzY2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzExNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTA1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1CcmlzYmFuZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtQnJpc2JhbmUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTIzY2I5YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtQnJpc2JhbmUKQEAgLTAsMCArMSw3OSBAQAorIyBBdXN0cmFsaWEgLyBCcmlzYmFuZSAoTXQgQ29vdC10aGEgdHJhbnNtaXR0ZXJzKQorIyBBQkMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTZXZlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIE5pbmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxOTE2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQlMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxODQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDMxIERpZ2l0YWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1Mjk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUNhaXJucyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtQ2Fpcm5zCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjI3MmM2MDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUNhaXJucwpAQCAtMCwwICsxLDY2IEBACisjIEF1c3RyYWxpYSAvIENhaXJucyAoTXQgQmVsbGVuZGVuLUtlciB0cmFuc21pdHRlcnMpCisjIEFCQyBWSEYgOAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE5MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNFVkVOIFZIRiAxMQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIxOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFdJTiBWSEYgMTIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBURU4gVkhGIDYgKEV4cGVjdGVkIFN0YXJ0IERhdGUgRGVjIDIwMDYpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0JTIFVIRiAyOQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtQ2FuYmVycmEtQmxhY2stTXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUNhbmJlcnJhLUJsYWNrLU10Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU3ODNlOGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUNhbmJlcnJhLUJsYWNrLU10CkBAIC0wLDAgKzEsNjYgQEAKKyMgQXVzdHJhbGlhIC8gQ2FuYmVycmEgLyBCbGFjayBNdAorIyBBQkMgKEFCQzgpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU2V2ZW4gKENCTjEyKQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIyNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIChOaW5lIChXSU4xMSkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUZW4gKENUQzYpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0JTIChTQlM3KQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE4NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUNvb25hYmFyYWJyYW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUNvb25hYmFyYWJyYW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODNhNGU2YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtQ29vbmFiYXJhYnJhbgpAQCAtMCwwICsxLDU3IEBACisjIEF1c3RyYWxpYSAvIENvb25hYmFyYWJyYW4KKyMKKyMKKyMgQUJDIFZIRjEyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjI2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVEVOIFVIRjQ2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgTmluZSBVSEY0NQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNldmVuIFZIRjExCisjVCA2MTgyNTAwMDAgN01IeiAzLzQgTk9ORSBRQU02NCA4ayAxLzE2IE5PTkUKKyMgU0JTIFVIRjQ0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1EYXJ3aW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LURhcndpbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40ZTc3MTk0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1EYXJ3aW4KQEAgLTAsMCArMSw2NSBAQAorIyBBQkMgKFVIRiAzMCkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDM2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBOaW5lIChVSEYgMzEpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTUwNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0JTIChVSEYgMjkpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM2NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTb3V0aGVybiBDcm9zcyAoVUhGIDMyKQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NzYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIERhcndpbiBEaWdpdGFsIFRlbGV2aXNpb24gKFVIRiAzMykKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjQ2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1EZXZvbnBvcnQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LURldm9ucG9ydApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kYTM5ZTBkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1EZXZvbnBvcnQKQEAgLTAsMCArMSw5NSBAQAorIyBBdXN0cmFsaWEgLyBUYXNtYW5pYSAvIERldm9ucG9ydAorIworIyBCcmV0dCBTIEhhbGxldHQgT2N0b2JlciAyMDA5ICwgbWF5IG5vdCBiZSBjb21wbGV0ZSAhIQorIworIyBBQkMgVkhGIDU3CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMjUwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgQUJDIERpZ2l0YWwgNDUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQlMgVkhGIDU0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA5MjUwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQlMgRGlnaXRhbCAzOQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0NUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMzQ5ODAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFdJTgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNzQ5ODAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVERUCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg1NDk4MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1GcmFzZXJDb2FzdC1CdW5kYWJlcmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUZyYXNlckNvYXN0LUJ1bmRhYmVyZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lYTkzZDgyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1GcmFzZXJDb2FzdC1CdW5kYWJlcmcKQEAgLTAsMCArMSw2NiBAQAorIyBBdXN0cmFsaWEgLyBRTEQgLyBGcmFzZXIgQ29hc3QgLSBCdW5kYWJlcmcgLyBNdCBHb29uYW5lbWFuCisjIEFCQyBWSEY5QQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIwNTYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNCUyBVSEYyOAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU2V2ZW4gVkhGNworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE4NDYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFdJTiBXaWRlIEJheSBWSEYxMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIxMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNvdXRoZXJuIENyb3NzIFRlbiBWSEY5CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTk4NTI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtR29sZENvYXN0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1Hb2xkQ29hc3QKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWYzYTc0YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtR29sZENvYXN0CkBAIC0wLDAgKzEsMTA4IEBACisjIERWQi1UIGZyZXF1ZW5jaWVzICYgbW9kdWxhdGlvbiBmb3IgdGhlIEdvbGQgQ29hc3QsIEF1c3RyYWxpYSAoTXQgVGFtYm9yaW5lKQorIyBTZWUgaHR0cDovL3d3dy5kYmEub3JnLmF1L2luZGV4LmFzcD9zZWN0aW9uSUQ9MjImcmVjTG9jYXRpb249R29sZCtDb2FzdAorIyBhbmQgaHR0cDovL3d3dy5kYmEub3JnLmF1L2luZGV4LmFzcD9zZWN0aW9uSUQ9MTIwCisjCisjIEFCQyAoVUhGIDYyKQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNCUyAoVUhGIDM2KQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU2V2ZW4gKFVIRiA1MykKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIE5CTiAoVUhGIDY4KQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgwOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFByaW1lIChVSEYgNjUpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU291dGhlcm4gQ3Jvc3MgVGVuIChVSEYgNDMpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgTmluZSAoVUhGIDU5KQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRlbiAoVUhGIDU2KQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUdvdWxidXJuLVJvY2t5X0hpbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUdvdWxidXJuLVJvY2t5X0hpbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjU5ZDllYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtR291bGJ1cm4tUm9ja3lfSGlsbApAQCAtMCwwICsxLDY2NCBAQAorIyBBdXN0cmFsaWEgLyBHb3VsYnVybiAvIFJvY2t5IEhpbGwKKyMKKyMgU2Nhbm5lZCAzMS8wNy8yMDE2IC0gQWxleCBGZXJyYXJhIChhbGV4QHJlY2VwdGl2ZWl0LmNvbS5hdSkKKworW05pbmUgQ2FuYmVycmFdCisJU0VSVklDRV9JRCA9IDIwNTUKKwlWSURFT19QSUQgPSAzNTMKKwlBVURJT19QSUQgPSAzNTQKKwlQSURfMGIgPSA4MDI2CisJUElEXzA2ID0gMzU1CisJUElEXzA1ID0gODAyNQorCUZSRVFVRU5DWSA9IDY0MTUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbOUhEIENhbmJlcnJhXQorCVNFUlZJQ0VfSUQgPSAyMjQ3CisJVklERU9fUElEID0gMTc2MQorCUFVRElPX1BJRCA9IDE3NjIgMTc2MyA4MDI1CisJUElEXzBiID0gODAyNgorCUZSRVFVRU5DWSA9IDY0MTUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbTmluZSBDYW5iZXJyYV0KKwlTRVJWSUNFX0lEID0gMjIxNQorCVZJREVPX1BJRCA9IDM1MworCUFVRElPX1BJRCA9IDM1NAorCVBJRF8wYiA9IDgwMjYKKwlQSURfMDYgPSAzNTUKKwlQSURfMDUgPSA4MDI1CisJRlJFUVVFTkNZID0gNjQxNTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1s5R2VtXQorCVNFUlZJQ0VfSUQgPSAyMDg3CisJVklERU9fUElEID0gMTcxMQorCUFVRElPX1BJRCA9IDE3MTIKKwlQSURfMGIgPSA4MDI2CisJUElEXzA2ID0gMTcxMworCVBJRF8wNSA9IDgwMjUKKwlGUkVRVUVOQ1kgPSA2NDE1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworWzlHbyFdCisJU0VSVklDRV9JRCA9IDIxMTkKKwlWSURFT19QSUQgPSAxNzIxCisJQVVESU9fUElEID0gMTcyMgorCVBJRF8wYiA9IDgwMjYKKwlQSURfMDYgPSAxNzIzCisJUElEXzA1ID0gODAyNQorCUZSRVFVRU5DWSA9IDY0MTUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbOUxpZmVdCisJU0VSVklDRV9JRCA9IDIyNzkKKwlWSURFT19QSUQgPSAxNzcxCisJQVVESU9fUElEID0gMTc3MgorCVBJRF8wYiA9IDgwMjYKKwlQSURfMDYgPSAxNzczCisJUElEXzA1ID0gODAyNQorCUZSRVFVRU5DWSA9IDY0MTUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbWUVTU0hPUF0KKwlTRVJWSUNFX0lEID0gMjE1MQorCVZJREVPX1BJRCA9IDE3MzEKKwlBVURJT19QSUQgPSAxNzMyCisJUElEXzBiID0gODAyNgorCVBJRF8wNSA9IDgwMjUKKwlGUkVRVUVOQ1kgPSA2NDE1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW0FzcGlyZV0KKwlTRVJWSUNFX0lEID0gMjE4MworCVZJREVPX1BJRCA9IDE3NDEKKwlBVURJT19QSUQgPSAxNzQyCisJUElEXzBiID0gODAyNgorCVBJRF8wNSA9IDgwMjUKKwlGUkVRVUVOQ1kgPSA2NDE1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW1dJTiBDYW5iZXJyYV0KKwlTRVJWSUNFX0lEID0gMTkyMQorCVZJREVPX1BJRCA9IDEyMgorCUFVRElPX1BJRCA9IDUyMgorCVBJRF8wYiA9IDEwMgorCVBJRF8wNiA9IDcyMgorCUZSRVFVRU5DWSA9IDYzNDUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbV0lOIENhbmJlcnJhIEhEXQorCVNFUlZJQ0VfSUQgPSAxOTM5CisJVklERU9fUElEID0gMTI1CisJQVVESU9fUElEID0gNTI1IDcyNQorCVBJRF8wYiA9IDEwMgorCUZSRVFVRU5DWSA9IDYzNDUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbT05FIENhbmJlcnJhXQorCVNFUlZJQ0VfSUQgPSAxOTIyCisJVklERU9fUElEID0gMTIzCisJQVVESU9fUElEID0gNTIzCisJUElEXzBiID0gMTAyCisJUElEXzA2ID0gNzIzCisJRlJFUVVFTkNZID0gNjM0NTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1tFTEVWRU4gQ2FuYmVycmFdCisJU0VSVklDRV9JRCA9IDE5MjYKKwlWSURFT19QSUQgPSAxMjQKKwlBVURJT19QSUQgPSA1MjQKKwlQSURfMGIgPSAxMDIKKwlQSURfMDYgPSA3MjQKKwlGUkVRVUVOQ1kgPSA2MzQ1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW1dJTiBORVRXT1JLXQorCVNFUlZJQ0VfSUQgPSAxOTM2CisJVklERU9fUElEID0gMTI2CisJQVVESU9fUElEID0gNTI2CisJUElEXzBiID0gMTAyCisJUElEXzA2ID0gNzI2CisJRlJFUVVFTkNZID0gNjM0NTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1tUVlNOXQorCVNFUlZJQ0VfSUQgPSAxOTI4CisJVklERU9fUElEID0gMTE2CisJQVVESU9fUElEID0gNTE2CisJUElEXzBiID0gMTAyCisJUElEXzA2ID0gNzE2CisJRlJFUVVFTkNZID0gNjM0NTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1tHT0xEXQorCVNFUlZJQ0VfSUQgPSAxOTI3CisJVklERU9fUElEID0gMTE1CisJQVVESU9fUElEID0gNTE1CisJUElEXzBiID0gMTAyCisJUElEXzA2ID0gNzE1CisJRlJFUVVFTkNZID0gNjM0NTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1tPTkUgQ2FuYmVycmFdCisJU0VSVklDRV9JRCA9IDE5MjUKKwlWSURFT19QSUQgPSAxMjMKKwlBVURJT19QSUQgPSA1MjMKKwlQSURfMGIgPSAxMDIKKwlQSURfMDYgPSA3MjMKKwlGUkVRVUVOQ1kgPSA2MzQ1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW1dJTiBDYW5iZXJyYV0KKwlTRVJWSUNFX0lEID0gMTkyNAorCVZJREVPX1BJRCA9IDEyMgorCUFVRElPX1BJRCA9IDUyMgorCVBJRF8wYiA9IDEwMgorCVBJRF8wNiA9IDcyMgorCUZSRVFVRU5DWSA9IDYzNDUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbUFJJTUU3IENhbmJlcnJhXQorCVNFUlZJQ0VfSUQgPSAyMzc0CisJVklERU9fUElEID0gMjc0MAorCUFVRElPX1BJRCA9IDI3NDEKKwlQSURfMGIgPSAyNzQ5CisJUElEXzA2ID0gMjc0NQorCUZSRVFVRU5DWSA9IDYyNzUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbUFJJTUU3IENhbmJlcnJhXQorCVNFUlZJQ0VfSUQgPSAyNDAwCisJVklERU9fUElEID0gMjc0MAorCUFVRElPX1BJRCA9IDI3NDEKKwlQSURfMGIgPSAyNzQ5CisJUElEXzA2ID0gMjc0NQorCUZSRVFVRU5DWSA9IDYyNzUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbUFJJTUU3IENhbmJlcnJhXQorCVNFUlZJQ0VfSUQgPSAyNDAxCisJVklERU9fUElEID0gMjc0MAorCUFVRElPX1BJRCA9IDI3NDEKKwlQSURfMGIgPSAyNzQ5CisJUElEXzA2ID0gMjc0NQorCUZSRVFVRU5DWSA9IDYyNzUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbN1RXTyBDYW5iZXJyYV0KKwlTRVJWSUNFX0lEID0gMjQwMgorCVZJREVPX1BJRCA9IDQ2MjAKKwlBVURJT19QSUQgPSA0NjIxCisJUElEXzBiID0gMjc0OQorCVBJRF8wNiA9IDQ2MjUKKwlGUkVRVUVOQ1kgPSA2Mjc1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworWzdtYXRlIENhbmJlcnJhXQorCVNFUlZJQ0VfSUQgPSAyNDAzCisJVklERU9fUElEID0gNDYzMAorCUFVRElPX1BJRCA9IDQ2MzIgNDYzNQorCVBJRF8wYiA9IDI3NDkKKwlGUkVRVUVOQ1kgPSA2Mjc1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW2lzaG9wdHZdCisJU0VSVklDRV9JRCA9IDI0MDUKKwlWSURFT19QSUQgPSA0NjUwCisJQVVESU9fUElEID0gNDY1MQorCVBJRF8wYiA9IDI3NDkKKwlGUkVRVUVOQ1kgPSA2Mjc1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW1JBQ0lORy5DT01dCisJU0VSVklDRV9JRCA9IDI0MDgKKwlWSURFT19QSUQgPSA0NjgwCisJQVVESU9fUElEID0gNDY4MQorCVBJRF8wYiA9IDI3NDkKKwlGUkVRVUVOQ1kgPSA2Mjc1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW0FCQyBOZXdzIDI0XQorCVNFUlZJQ0VfSUQgPSA2NzIKKwlWSURFT19QSUQgPSA1MTYKKwlBVURJT19QSUQgPSA2NTQgNTgwIDU1MDAKKwlQSURfMGIgPSA1NTAxIDUwMDAKKwlGUkVRVUVOQ1kgPSA2MjA1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW0FCQ10KKwlTRVJWSUNFX0lEID0gNjczCisJVklERU9fUElEID0gNTEyCisJQVVESU9fUElEID0gNjUwCisJUElEXzBiID0gNTUwMSA1MDAwCisJUElEXzA2ID0gNTc2CisJUElEXzA1ID0gNTUwMAorCUZSRVFVRU5DWSA9IDYyMDUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbQUJDMi9LSURTXQorCVNFUlZJQ0VfSUQgPSA2NzQKKwlWSURFT19QSUQgPSA1MTMKKwlBVURJT19QSUQgPSA2NTEKKwlQSURfMGIgPSA1NTAxIDUwMDAKKwlQSURfMDYgPSA1NzcKKwlQSURfMDUgPSA1NTAwCisJRlJFUVVFTkNZID0gNjIwNTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1tBQkNdCisJU0VSVklDRV9JRCA9IDY3NQorCVZJREVPX1BJRCA9IDUxMgorCUFVRElPX1BJRCA9IDY1MAorCVBJRF8wYiA9IDU1MDEgNTAwMAorCVBJRF8wNiA9IDU3NgorCVBJRF8wNSA9IDU1MDAKKwlGUkVRVUVOQ1kgPSA2MjA1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW0FCQzNdCisJU0VSVklDRV9JRCA9IDY3NgorCVZJREVPX1BJRCA9IDUxNAorCUFVRElPX1BJRCA9IDY1MgorCVBJRF8wYiA9IDU1MDEgNTAwMAorCVBJRF8wNiA9IDU3OAorCVBJRF8wNSA9IDU1MDAKKwlGUkVRVUVOQ1kgPSA2MjA1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW0RvdWJsZSBKXQorCVNFUlZJQ0VfSUQgPSA2NzgKKwlBVURJT19QSUQgPSA2OTAKKwlQSURfMGIgPSA1NTAxCisJUElEXzA1ID0gNTUwMAorCUZSRVFVRU5DWSA9IDYyMDUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbQUJDIEphenpdCisJU0VSVklDRV9JRCA9IDY3OQorCUFVRElPX1BJRCA9IDcwMAorCVBJRF8wYiA9IDU1MDEKKwlQSURfMDUgPSA1NTAwCisJRlJFUVVFTkNZID0gNjIwNTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1tTQlMgT05FXQorCVNFUlZJQ0VfSUQgPSA4NDkKKwlWSURFT19QSUQgPSAxNjEKKwlBVURJT19QSUQgPSA4MQorCVBJRF8wYiA9IDcwMDAgNTAwMAorCVBJRF8wNiA9IDQxCisJUElEXzA1ID0gNzg0OQorCUZSRVFVRU5DWSA9IDYxMzUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbU0JTIEhEXQorCVNFUlZJQ0VfSUQgPSA4NTMKKwlWSURFT19QSUQgPSAxMDIKKwlBVURJT19QSUQgPSAxMDMKKwlQSURfMGIgPSA3MDAwIDUwMDAKKwlQSURfMDYgPSA0MworCVBJRF8wNSA9IDc4NTMKKwlGUkVRVUVOQ1kgPSA2MTM1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW1NCUyBUV09dCisJU0VSVklDRV9JRCA9IDg1MAorCVZJREVPX1BJRCA9IDE2MgorCUFVRElPX1BJRCA9IDgzCisJUElEXzBiID0gNzAwMCA1MDAwCisJUElEXzA2ID0gNDIKKwlQSURfMDUgPSA3ODUwCisJRlJFUVVFTkNZID0gNjEzNTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1tGb29kIE5ldHdvcmtdCisJU0VSVklDRV9JRCA9IDg1MQorCVZJREVPX1BJRCA9IDE2MworCUFVRElPX1BJRCA9IDg1CisJUElEXzBiID0gNzAwMCA1MDAwCisJUElEXzA2ID0gNDQKKwlQSURfMDUgPSA3ODQ5CisJRlJFUVVFTkNZID0gNjEzNTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1tOSVRWXQorCVNFUlZJQ0VfSUQgPSA4NTIKKwlWSURFT19QSUQgPSAxNjQKKwlBVURJT19QSUQgPSA4NworCVBJRF8wYiA9IDcwMDAgNTAwMAorCVBJRF8wNiA9IDQ1CisJUElEXzA1ID0gNzg1MgorCUZSRVFVRU5DWSA9IDYxMzUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbU0JTIFJhZGlvIDFdCisJU0VSVklDRV9JRCA9IDg2MgorCUFVRElPX1BJRCA9IDIwMQorCUZSRVFVRU5DWSA9IDYxMzUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbU0JTIFJhZGlvIDJdCisJU0VSVklDRV9JRCA9IDg2MworCUFVRElPX1BJRCA9IDIwMgorCUZSRVFVRU5DWSA9IDYxMzUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbU0JTIFJhZGlvIDNdCisJU0VSVklDRV9JRCA9IDg2NAorCUFVRElPX1BJRCA9IDIwMworCUZSRVFVRU5DWSA9IDYxMzUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUhlcnZleV9CYXktR2hvc3RfSGlsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtSGVydmV5X0JheS1HaG9zdF9IaWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmUzNTg2OWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUhlcnZleV9CYXktR2hvc3RfSGlsbApAQCAtMCwwICsxLDgxIEBACisjIEF1c3RyYWxpYSAvIEhlcnZleSBCYXkgLyBHaG9zdCBIaWxsCisjCisjCisjIEFCQyBVSEY1NgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNldmVuIFVIRjU5CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgTmluZSBVSEY2MgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2NzYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRlbiBVSEY2OAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgwOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNCUyBVSEYyOAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0JTIFVIRjM0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1Ib2JhcnQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUhvYmFydApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jOTRjNTNmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1Ib2JhcnQKQEAgLTAsMCArMSw2NiBAQAorIyBBdXN0cmFsaWEgLyBUYXNtYW5pYSAvIEhvYmFydAorIyBBQkMgVkhGIDgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxOTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQlMgVkhGIDlhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjA1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQ1QgVkhGIDEwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjEyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgV0lOIFZIRiA3CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTg0NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBURFQgVkhGIDExCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjE5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1NYWNrYXkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LU1hY2theQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mODk0MDA3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1NYWNrYXkKQEAgLTAsMCArMSw2OCBAQAorIyBBdXN0cmFsaWEgLyBNYWNrYXkgKE10IEJsYWNrd29vZCB0cmFuc21pdHRlcnMpCisjIGF1ZnJlcT0oKFVIRiBjaGFubmVsIG51bWJlcikqOCszMDYpCisKKyMgQUJDCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjEyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU2V2ZW4gTmV0d29yaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgV0lOIERpZ2l0YWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1Nzg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTb3V0aGVybiBDcm9zcyBUZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQlMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LU1lbGJvdXJuZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtTWVsYm91cm5lCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNjNzQyZmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LU1lbGJvdXJuZQpAQCAtMCwwICsxLDg4IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGZpbGUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgd19zY2FuCisjIChodHRwOi8vd2lyYmVsLmh0cGMtZm9ydW0uZGUvd19zY2FuL2luZGV4Mi5odG1sKQorIyEgPHdfc2Nhbj4gMjAxMzAzMzEgMSAwIFRFUlJFU1RSSUFMIEFVIDwvd19zY2FuPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IEF1c3RyYWxpYSAvIE1lbGJvdXJuZSAoTXQgRGFuZGVub25nIHRyYW5zbWl0dGVycykKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTA4LTE3CisjIHByb3ZpZGVkIGJ5IChvcHQpICAgIDogPHlvdXIgbmFtZSBvciBlbWFpbCBoZXJlPgorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBTZXZlbiBOZXR3b3JrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNCUyBNZWxib3VybmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxODQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBOaW5lIE5ldHdvcmsgQXVzdHJhbGlhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTkxNjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIE5ldHdvcmsgVEVOCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjE5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIEFCQyBNZWxib3VybmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgQzMxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU3NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFQU0sKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1NZWxib3VybmUtU2VsYnkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LU1lbGJvdXJuZS1TZWxieQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yMjE5NDY2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1NZWxib3VybmUtU2VsYnkKQEAgLTAsMCArMSw2NiBAQAorIyBBdXN0cmFsaWEgLyBNZWxib3VybmUgKFNlbGJ5IFJlcGVhdGVyKQorIyBBQkMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTZXZlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyMDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIE5pbmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQlMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODM1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1NZWxib3VybmUtVXB3ZXkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LU1lbGJvdXJuZS1VcHdleQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45NzhlMmFkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1NZWxib3VybmUtVXB3ZXkKQEAgLTAsMCArMSw2NiBAQAorIyBBdXN0cmFsaWEgLyBNZWxib3VybmUgKFVwd2V5IFJlcGVhdGVyKQorIyBBQkMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTZXZlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyMDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIE5pbmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQlMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODM1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LU1pZE5vcnRoQ29hc3QgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LU1pZE5vcnRoQ29hc3QKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzE0ZDhkYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtTWlkTm9ydGhDb2FzdApAQCAtMCwwICsxLDEzMSBAQAorIyBBdXN0cmFsaWEgQUJDIE1pZCBOb3J0aCBDb2FzdAorIyBBQkMgbWlkZGxlIGJyb3RoZXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxODQ2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBQcmltZSBNaWRkbGUgQnJvdGhlcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIE5CTiBNaWRkbGUgQnJvdGhlcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIyNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRlbiBNaWRkbGUgQnJvdGhlcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNCUyBtaWRkbGUgYnJvdGhlcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgQUJDIE1vb21iaWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBQcmltZSBNb29tYmlsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQzNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgTkJOIE1vb21iaWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUZW4gTW9vbWJpbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5OTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNCUyBNb29tYmlsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjA2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1OZXdjYXN0bGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LU5ld2Nhc3RsZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kZDYzNGU0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1OZXdjYXN0bGUKQEAgLTAsMCArMSw2NiBAQAorIyBBdXN0cmFsaWEgLyBOZXdjYXN0bGUKKyMgU0JTCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBOQk4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBQcmltZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIEFCQworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5MjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNDMTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTA1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1QZXJ0aCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtUGVydGgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGM2ZmIwOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtUGVydGgKQEAgLTAsMCArMSw2NiBAQAorIyBBdXN0cmFsaWEgLyBQZXJ0aAorIyBBQkMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTZXZlbiBOZXR3b3JrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgTmluZSBOZXR3b3JrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTkxNjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgTmV0d29yayBURU4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQlMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzY2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LVBlcnRoX1JvbGV5c3RvbmUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LVBlcnRoX1JvbGV5c3RvbmUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjAyY2MyMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtUGVydGhfUm9sZXlzdG9uZQpAQCAtMCwwICsxLDY2IEBACisjIEF1c3RyYWxpYSAvIFBlcnRoIChSb2xleXN0b25lIHRyYW5zbWl0dGVyKQorIyBTQlMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIEFCQworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNldmVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgTmluZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LVNwZW5jZXJHdWxmIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1TcGVuY2VyR3VsZgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45OTgzMTEwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1TcGVuY2VyR3VsZgpAQCAtMCwwICsxLDQwIEBACisjIEF1c3RyYWxpYSAvIFNvdXRoIEF1c3RyYWxpYSAvIFB0IFBpcmllIChUSEUgQkxVRkYpCisjIEFCQworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5OTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNvdXRoZXJuIENyb3NzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0JTCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjIwNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1TdW5zaGluZUNvYXN0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1TdW5zaGluZUNvYXN0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZmNmY1ZGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LVN1bnNoaW5lQ29hc3QKQEAgLTAsMCArMSw2NiBAQAorIyBBdXN0cmFsaWEgLyBTdW5zaGluZSBDb2FzdAorIyBTQlM0MCBTQlMgKioqCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEzNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUTlE0NCAxMCAqKioKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIEFCQzQxIEFCQyAqKioKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjA1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTVFE0MiA3ICoqKgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFJUUTQzIFdJTiAqKioKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1TdXRoZXJsYW5kIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1TdXRoZXJsYW5kCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQwM2Y0YmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LVN1dGhlcmxhbmQKQEAgLTAsMCArMSw2MyBAQAorIyBBdXN0cmFsaWEgLyBTdXRoZXJsYW5kCisjCisjIEF1c3RyYWxpYSBtb2R1bGF0aW9uIHBhcmFtczoKKyMgLSBodHRwOi8vd3d3LmRiYS5vcmcuYXUvaW5kZXguYXNwP3NlY3Rpb25JRD0xMjAKKyMKKyMKKyMgTm9ydGggKEJyb2FkY2FzdCBTaXRlIEVzY2FycG1lbnQgUm9hZCBCUk9LRVJTIE5PU0UpCisjIC0gaHR0cDovL3d3dy5kYmEub3JnLmF1L2luZGV4LmFzcD9xdWVyeT10cnVlJnNlY3Rpb25JRD0yMiZyZWNMb2NhdGlvbj1Xb2xsb25nb25nKyUyRCtOb3J0aAorIworI0NoYW5uZWwgNyBzdGF0aW9ucworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjQ2hhbm5lbCA5IGJ1bmRsZQorIyBUIDE5MTUwMDAwMCA3TUh6IEFVVE8gQVVUTyBBVVRPIEFVVE8gQVVUTyBBVVRPCisjT25lIGFuZCBDaGFubmVsIDEwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjE5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyNBdW50eQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIyNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjU0JTCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtU3lkbmV5IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1TeWRuZXkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTllN2JlMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtU3lkbmV5CkBAIC0wLDAgKzEsODIgQEAKKyMgQXVzdHJhbGlhIC8gU3lkbmV5ICh0cmFuc21pdHRlcnMgYXQgQXJ0YXJtb24vR29yZSBIaWxsL1dpbGxvdWdoYnkpCisjCisjICMjIFNlcnZpY2UgLSBDaGFubmVsIC0gTmV0d29yayBvd25lcgorIworIyMgQUJDIC0gQ0gxMiAtIEFCQworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIyNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyMgQVROIC0gQ0g2IC0gU2V2ZW4gTmV0d29yaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyMgVENOIC0gQ0g4IC0gTmluZSBOZXR3b3JrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTkxNjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIyBURU4gLSBDSDExIC0gTmV0d29yayBUZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMjIFNCUyAtIENINyAtIFNCUworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE4NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIyBUU04gLSBDSDI5IC0gQ29tbXVuaXR5IFRlbGV2aXNpb24KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzY2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUVBTSworCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtU3lkbmV5X0tpbmdzX0Nyb3NzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1TeWRuZXlfS2luZ3NfQ3Jvc3MKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjYxZmI5OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtU3lkbmV5X0tpbmdzX0Nyb3NzCkBAIC0wLDAgKzEsNjggQEAKKyMgQXVzdHJhbGlhIC8gU3lkbmV5IC8gS2luZ3MgQ3Jvc3MgYW5kIE5vcnRoIEhlYWQKKyMKKyMKKyMgQUJDIFVIRjMwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQzNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU2V2ZW4gVUhGNDgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2Njk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBOaW5lIFVIRjMzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTY0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVGVuIFVIRjQ1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQ4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0JTIFVIRjM0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1UYW13b3J0aCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtVGFtd29ydGgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODdjMzE4MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtVGFtd29ydGgKQEAgLTAsMCArMSwyMDAgQEAKKyMgQXVzdHJhbGlhIC8gTlNXIC8gTmV3IEVuZ2xhbmQgLyBUYW13b3J0aCAvIE10LlNvbWEKKyMgU0JTCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBOQk4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTM1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBQcmltZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIEFCQworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxMTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNDMTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEF1c3RyYWxpYSAvIE5TVyAvIE5ldyBFbmdsYW5kIC8gVXBwZXIgTmFtb2kgLyBNdC5Eb3dlCisjIFNCUworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgTkJOCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTkyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgUHJpbWUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMDU2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBBQkMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxOTE2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQzEwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEzNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBBdXN0cmFsaWEgLyBOU1cgLyBXZXN0ZXJuIERpc3RyaWN0cyAvIENlbnRyYWwgV2VzdGVybiBTbG9wZXMgLyBNdC4gQ2VubiBDcnVhaWNoCisjIFNCUworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgV0lOCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQ4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgUHJpbWUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjA1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBBQkMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMjY2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQzEwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtVG93bnN2aWxsZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtVG93bnN2aWxsZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kN2M4YjZjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1Ub3duc3ZpbGxlCkBAIC0wLDAgKzEsNjYgQEAKKyMgQXVzdHJhbGlhIC8gQnJpc2JhbmUgKE10IENvb3QtdGhhIHRyYW5zbWl0dGVycykKKyMgU0JTCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTkyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBBQkMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTA1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTZXZlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5OTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIE5pbmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjA1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1XYWdnYVdhZ2dhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1XYWdnYVdhZ2dhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQwNzYyYzcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LVdhZ2dhV2FnZ2EKQEAgLTAsMCArMSw2NiBAQAorIyBBdXN0cmFsaWEgLyBXYWdnYSBXYWdnYSAoTXQgVWx1bmRyYSkKKyMgQUJDCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0JTCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBQcmltZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2MjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNvdXRoZXJuIENyb3NzIFRlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFdJTgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LVdvbGxvbmdvbmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LVdvbGxvbmdvbmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTRmZTc0NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtV29sbG9uZ29uZwpAQCAtMCwwICsxLDE0OSBAQAorIyBBdXN0cmFsaWEgLyBXb2xsb25nb25nCisjCisjIEF1c3RyYWxpYSBtb2R1bGF0aW9uIHBhcmFtczoKKyMgLSBodHRwOi8vd3d3LmRiYS5vcmcuYXUvaW5kZXguYXNwP3NlY3Rpb25JRD0xMjAKKyMKKyMKKyMgTm9ydGggKEJyb2FkY2FzdCBTaXRlIEVzY2FycG1lbnQgUm9hZCBCUk9LRVJTIE5PU0UpCisjIC0gaHR0cDovL3d3dy5kYmEub3JnLmF1L2luZGV4LmFzcD9xdWVyeT10cnVlJnNlY3Rpb25JRD0yMiZyZWNMb2NhdGlvbj1Xb2xsb25nb25nKyUyRCtOb3J0aAorIworIyBBQkMgVUhGNTIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBQcmltZSBVSEY0NgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1NTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFdJTiBVSEY0MAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRlbiBVSEY0MworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNCUyBVSEY1NAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxMTYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgSWxsYXdhcnJhIChCcm9hZGNhc3QgQXVzdHJhbGlhIERpZ2l0YWwgVGVsZXZpc2lvbiBUb3dlciBLTklHSFRTIEhJTEwpCisjIC0gaHR0cDovL3d3dy5kYmEub3JnLmF1L2luZGV4LmFzcD9xdWVyeT10cnVlJnNlY3Rpb25JRD0yMiZyZWNMb2NhdGlvbj1Xb2xsb25nb25nKyUyRCtJbGxhd2FycmEKKyMKKyMgQUJDIFVIRjUxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgUHJpbWUgVUhGMzgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBXSU4gVUhGMzYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUZW4gVUhGMzcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQlMgLSBzYW1lIGFzIE5vcnRoCisjCisjIFN0YW53ZWxsIFBhcmsgKEJhbGQgSGlsbCBTVEFOV0VMTCBUT1BTKQorIyAtIGh0dHA6Ly93d3cuZGJhLm9yZy5hdS9pbmRleC5hc3A/cXVlcnk9dHJ1ZSZzZWN0aW9uSUQ9MjImcmVjTG9jYXRpb249V29sbG9uZ29uZyslMkQrU3RhbndlbGwlMjBQYXJrCisjCisjIEFCQywgUHJpbWUsIFdJTiwgVGVuIGFyZSBpZGVudGljYWwgdG8gV29sbG9uZ29uZyAvIE5vcnRoCisjIFNCUyBVSEY0OQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtY2FuYmVycmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LWNhbmJlcnJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc5YTA5NGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LWNhbmJlcnJhCkBAIC0wLDAgKzEsNjYgQEAKKyMgQXVzdHJhbGlhIC8gQ2FuYmVycmEgLyBXb2RlbgorIyBBQkMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMDU2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTZXZlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgTmluZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE5MTYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIxOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNCUworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0MzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtdW5rbm93biBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtdW5rbm93bgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jOGQxNmIzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS11bmtub3duCkBAIC0wLDAgKzEsMTMgQEAKKyMgQXVzdHJhbGlhIEFCQworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIyNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXV0by1BdXN0cmFsaWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1dG8tQXVzdHJhbGlhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY1OGZhZTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1dG8tQXVzdHJhbGlhCkBAIC0wLDAgKzEsMTIwOSBAQAorIyBmb3IgKCRmcmVxID0gMTc3NTAwMDAwOyAkZnJlcSA8PSAyMjY1MDAwMDA7ICRmcmVxICs9IDcwMDAwMDApIHsKKyMgCXByaW50ICJUICRmcmVxIDdNSHogQVVUTyBOT05FIEFVVE8gQVVUTyBBVVRPIE5PTkVcbiI7CisjIAlwcmludCAiVCAiLCAkZnJlcSArIDEyNTAwMCwgIiA3TUh6IEFVVE8gTk9ORSBBVVRPIEFVVE8gQVVUTyBOT05FXG4iOworIyB9CisjIGZvciAoJGZyZXEgPSA1Mjk1MDAwMDA7ICRmcmVxIDw9IDgxNjUwMDAwMDsgJGZyZXEgKz0gNzAwMDAwMCkgeworIyAJcHJpbnQgIlQgJGZyZXEgN01IeiBBVVRPIE5PTkUgQVVUTyBBVVRPIEFVVE8gTk9ORVxuIjsKKyMgCXByaW50ICJUICIsICRmcmVxICsgMTI1MDAwLCAiIDdNSHogQVVUTyBOT05FIEFVVE8gQVVUTyBBVVRPIE5PTkVcbiI7CisjIH0KKyMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTc3NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE4NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxODQ2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE5MTYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTk4NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMDU2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjEyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIxMjYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjE5NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIyNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMjY2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTI5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyOTYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM2NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0MzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDM2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTUwNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1MDYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU3NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjQ2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MTYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1Nzg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODU2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTkyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5MjYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk5NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDY2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEzNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMzYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjA1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjIwNjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2Mjc2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQxNjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDg2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1NTYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjYyNjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2OTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2Njk2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NjYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODM1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgzNjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTA2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5NzYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA0NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxMTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTE2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxODYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzI1NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzI2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczOTYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1MzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTM2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYwNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MDYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3Njc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzY3NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzQ2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzgxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4MTYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg4NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc5NTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3OTU2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODAyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgwMjYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MDk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODA5NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTY2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1dG8tRGVmYXVsdCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXV0by1EZWZhdWx0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFkZDgxYjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1dG8tRGVmYXVsdApAQCAtMCwwICsxLDY5MSBAQAorIyBmb3IgKCRmcmVxID0gMTc3NTAwMDAwOyAkZnJlcSA8PSAyMjY1MDAwMDA7ICRmcmVxICs9IDcwMDAwMDApIHsKKyMgCXByaW50ICJUICRmcmVxIDdNSHogQVVUTyBOT05FIEFVVE8gQVVUTyBBVVRPIE5PTkVcbiI7CisjIH0KKyMgZm9yICgkZnJlcSA9IDQ3NDAwMDAwMDsgJGZyZXEgPD0gODU4MDAwMDAwOyAkZnJlcSArPSA4MDAwMDAwKSB7CisjIAlwcmludCAiVCAkZnJlcSA4TUh6IEFVVE8gTk9ORSBBVVRPIEFVVE8gQVVUTyBOT05FXG4iOworIyB9CisjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE4NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxOTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMTI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjE5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIyNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1dG8tVGFpd2FuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdXRvLVRhaXdhbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zYjJmYjlmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdXRvLVRhaXdhbgpAQCAtMCwwICsxLDE2MCBAQAorIyBmb3IgKCRmcmVxID0gNTI3MDAwMDAwOyAkZnJlcSA8PSA1OTkwMDAwMDA7ICRmcmVxICs9IDYwMDAwMDApIHsKKyMgCXByaW50ICJUICRmcmVxIDZNSHogQVVUTyBOT05FIEFVVE8gQVVUTyBBVVRPIE5PTkVcbiI7CisjIH0KKyMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjcwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMzMDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzOTAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDYwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDUwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTUxMDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NzAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDYwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjMwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTY5MDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3NTAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDYwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODEwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg3MDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5MzAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDYwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTkwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1dG8tV2l0aDE2N2tIek9mZnNldHMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1dG8tV2l0aDE2N2tIek9mZnNldHMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzU0MmRiMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXV0by1XaXRoMTY3a0h6T2Zmc2V0cwpAQCAtMCwwICsxLDE4NjkgQEAKKyMgZm9yICgkZnJlcSA9IDE3NzUwMDAwMDsgJGZyZXEgPD0gMjI2NTAwMDAwOyAkZnJlcSArPSA3MDAwMDAwKSB7CisjIAlwcmludCAiVCAkZnJlcSA3TUh6IEFVVE8gTk9ORSBBVVRPIEFVVE8gQVVUTyBOT05FXG4iOworIyB9CisjIGZvciAoJGZyZXEgPSA0NzQwMDAwMDA7ICRmcmVxIDw9IDg1ODAwMDAwMDsgJGZyZXEgKz0gODAwMDAwMCkgeworIyAJcHJpbnQgIlQgJGZyZXEgOE1IeiBBVVRPIE5PTkUgQVVUTyBBVVRPIEFVVE8gTk9ORVxuIjsKKyMgCXByaW50ICJUICIsICRmcmVxIC0gMTY3MDAwLCAiIDhNSHogQVVUTyBOT05FIEFVVE8gQVVUTyBBVVRPIE5PTkVcbiI7CisjIAlwcmludCAiVCAiLCAkZnJlcSArIDE2NzAwMCwgIiA4TUh6IEFVVE8gTk9ORSBBVVRPIEFVVE8gQVVUTyBOT05FXG4iOworIyB9CisjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE4NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxOTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMTI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjE5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIyNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDczODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDg5ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk3ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTEzODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTI5ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM3ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTUzODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTY5ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc3ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTkzODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjA5ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE3ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjMzODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQ5ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU3ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjczODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjg5ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk3ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzEzODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzI5ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM3ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzUzODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzY5ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc3ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzkzODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc5NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODAxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgwMjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODA5ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxMDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODE3ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODI1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgyNjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODMzODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQ5ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODU3ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXgtU21lZHNib2xlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9heC1TbWVkc2JvbGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTllMjA2ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXgtU21lZHNib2xlCkBAIC0wLDAgKzEsMzQgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgZmlsZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSB3X3NjYW4KKyMgKGh0dHA6Ly93aXJiZWwuaHRwYy1mb3J1bS5kZS93X3NjYW4vaW5kZXgyLmh0bWwpCisjISA8d19zY2FuPiAyMDA5MDgwOCAyIDAgT0ZETSBGSSA8L3dfc2Nhbj4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiDDhWxhbmQgU21lZHNiw7ZsZS9TdW5kCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAwOS0xMi0yMworIyBwcm92aWRlZCBieSAob3B0KSAgICA6IGsuaGFtcGZAZ21haWwuY29tCisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbw4VsYW5kIE5ldHdvcmtdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1vDhWxhbmQgTmV0d29ya10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9iZS1BbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2JlLUFsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jOTU3YzA2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9iZS1BbGwKQEAgLTAsMCArMSw2MiBAQAorIyBCZWxnaXVtLCB3aG9sZSBjb3VudHJ5CisjIENyZWF0ZWQgZnJvbSBodHRwOi8vbmwud2lraXBlZGlhLm9yZy93aWtpL0RWQi1ULWZyZXF1ZW50aWVzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYmctU29maWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2JnLVNvZmlhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFkMzlkMWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2JnLVNvZmlhCkBAIC0wLDAgKzEsNTggQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgZmlsZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSB3X3NjYW4KKyMgKGh0dHA6Ly93aXJiZWwuaHRwYy1mb3J1bS5kZS93X3NjYW4vaW5kZXgyLmh0bWwpCisjISA8d19zY2FuPiAyMDEzMDMzMSAxIDAgVEVSUkVTVFJJQUwgQkcgPC93X3NjYW4+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogU29maWEKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDEzLTA1LTEzCisjIHByb3ZpZGVkIGJ5IChvcHQpICAgIDogdi5sYWxvdkBnbWFpbC5jb20KKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tOVVJUUyBEaWdpdGFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbTlVSVFMgRGlnaXRhbF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0ZpcnN0IERpZ2l0YWxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tOVVJUU10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvY2gtQWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9jaC1BbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGZmNzdjYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvY2gtQWxsCkBAIC0wLDAgKzEsMzM5IEBACisjIFN3aXR6ZXJsYW5kLCB3aG9sZSBjb3VudHJ5CisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmJyb2FkY2FzdC5jaC9wb3J0YWwuYXNweD9waWQ9NzA1CisjIGFuZCBodHRwOi8vd3d3LmJyb2FkY2FzdC5jaC9kYXRhX3Byb2dyYW1fZHZidC5hc3B4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9jaC1DaXR5Y2FibGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2NoLUNpdHljYWJsZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lZjU4ZDA2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9jaC1DaXR5Y2FibGUKQEAgLTAsMCArMSwzMjUgQEAKKyMgTGF1c2FubmUgLSBTd2l0emVybGFuZCAoRFZCLVQgb24gQ2l0eUNhYmxlIGNhYmxlIG5ldHdvcmspCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDcvOAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNy84CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA3LzgKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDcvOAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNy84CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA3LzgKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDcvOAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNy84CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA3LzgKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDcvOAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNy84CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA3LzgKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDcvOAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNy84CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA3LzgKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDcvOAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNy84CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA3LzgKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDcvOAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNy84CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA3LzgKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDcvOAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNy84CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA3LzgKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDcvOAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNy84CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA3LzgKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2NoLUdlbmV2YSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvY2gtR2VuZXZhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE2NGNjOTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2NoLUdlbmV2YQpAQCAtMCwwICsxLDE0NyBAQAorIyBTd2l0emVybGFuZCwgR2VuZXZhIHJlZ2lvbgorIyBVcGRhdGVkIGJ5IHRrZXJuZW5AZGVja3BvaW50LmNoIG9uIDIwMTAvMTIvMDMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAxNjYwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgxNjYwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MTY2MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIxNjYwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjE2NjAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAxNjYwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzk0MTY2MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxODE2NjAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAxNjYwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2NvLUFsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvY28tQWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMwNjA1NmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2NvLUFsbApAQCAtMCwwICsxLDM0IEBACisjIGluaXRpYWwgc2NhbiBmaWxlIGZvciBDb2xvbWJpYSwgbmF0aW9uYWwgbGV2ZWwKKyMgRFZCLVQyLCA0NzAtODYwTUh6LCA2TUh6IGJhbmR3aWR0aAorIyBTZWU6IGh0dHBzOi8vZXMud2lraXBlZGlhLm9yZy93aWtpL1RlbGV2aXNpJUMzJUIzbl9EaWdpdGFsX1RlcnJlc3RyZV9lbl9Db2xvbWJpYQorIyBTZWU6IGh0dHBzOi8vd3d3LmNyY29tLmdvdi5jby9yZWN1cnNvc191c2VyL0RvY3VtZW50b3NfQ1JDXzIwMTIvQWN0aXZpZGFkZXNfUmVndWxhdG9yaWFzL1REVC9kb2N1bWVudG9zX3NvcG9ydGVfVERUXzIwMTIwOTE0LnBkZiNwYWdlPTUxCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDczMDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ3OTAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDYwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0ODUwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDkxMDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU1MTAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDYwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NTcwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2N6LUFsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvY3otQWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY3MmYyYzYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2N6LUFsbApAQCAtMCwwICsxLDQ4MyBAQAorIyBDemVjaCBSZXB1YmxpYywgd2hvbGUgY291bnRyeSAodXBkYXRlZCB0byByZWd1bGF0b3J5IDIwMTMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmN0dS5jei9jcy9kb3dubG9hZC9wbGFuLXZ5dXppdGktcmFkaW92ZWhvLXNwZWt0cmEvcm9rXzIwMTIvcHYtcF8xMC0wOF8yMDEyLTExLnBkZgorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1CYWRlbi1XdWVydHRlbWJlcmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLUJhZGVuLVd1ZXJ0dGVtYmVyZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wN2VhZDMxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1CYWRlbi1XdWVydHRlbWJlcmcKQEAgLTAsMCArMSwxOTQgQEAKKyMgRFZCLVQgQmFkZW4tV8O8cnR0ZW1iZXJnCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LnVlYmVyYWxsZmVybnNlaGVuLmRlL2RhdGEvc2VuZGVybGlzdGUucGRmCitbQ0gyMTogWkRGLCAzc2F0LCBLaUthIC8gWkRGbmVvLCBaREZpbmZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyMjogWkRGLCAzc2F0LCBLaUthIC8gWkRGbmVvLCBaREZpbmZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyMzogWkRGLCAzc2F0LCBLaUthIC8gWkRGbmVvLCBaREZpbmZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyNjogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zUGx1c10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzM6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzk6IFNXUi1CVywgQmF5ZXJpc2NoZXMgRmVybnNlaGVuLCBociwgV0RSXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0MDogU1dSLUJXLCBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIGhyLCBXRFJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQxOiBTV1ItQlcsIEJheWVyaXNjaGVzIEZlcm5zZWhlbiwgaHIsIFdEUl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDM6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc1BsdXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ1OiBSVEwsIFJUTDIsIFN1cGVyIFJUTCwgVk9YLCBSVEwgQ3JpbWUsIFBhc3Npb24gW1NlbmRlbm9ybTogTVBFRy00XV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDk6IFNXUi1CVywgQmF5ZXJpc2NoZXMgRmVybnNlaGVuLCBociwgV0RSXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1MDogU1dSLUJXLCBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIGhyLCBXRFJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDUyOiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNQbHVzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1NDogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zUGx1c10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTk6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc1BsdXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDYwOiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNQbHVzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLUJheWVybiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtQmF5ZXJuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBkNDE4MmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLUJheWVybgpAQCAtMCwwICsxLDIzNyBAQAorIyBEVkItVCBCYXllcm4KKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cudWViZXJhbGxmZXJuc2VoZW4uZGUvZGF0YS9zZW5kZXJsaXN0ZS5wZGYKK1tDSDIzOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI1OiBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIEJSLWFscGhhLCBTV1IsIEVpbnNFeHRyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIENIMjU6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mbworW0NIMjc6IEJheWVyaXNjaGVzIEZlcm5zZWhlbiwgQlItYWxwaGEsIFNXUiwgRWluc0V4dHJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyODogQmF5ZXJpc2NoZXMgRmVybnNlaGVuLCBCUi1hbHBoYSwgU1dSLCBFaW5zRXh0cmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBDSDI4OiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm8KK1tDSDI5OiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNQbHVzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzMDogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zUGx1c10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzM6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzQ6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzY6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc1BsdXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDM5OiBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIEJSLWFscGhhLCBTV1IsIEVpbnNFeHRyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDA6IEJheWVyaXNjaGVzIEZlcm5zZWhlbiwgQlItYWxwaGEsIE1EUiwgaHJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBDSDQwOiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNQbHVzCitbQ0g0MjogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zUGx1c10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIENINDI6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mbworW0NINDQ6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDU6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc1BsdXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ2OiBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIEJSLWFscGhhLCBNRFIsIGhyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQ0g0NjogQmF5ZXJpc2NoZXMgRmVybnNlaGVuLCBCUi1hbHBoYSwgU1dSLCBFaW5zRXh0cmEKK1tDSDQ3OiBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIEJSLWFscGhhLCBNRFIsIGhyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQ0g0NzogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zUGx1cworW0NINDk6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc1BsdXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDUzOiBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIEJSLWFscGhhLCBTV1IsIEVpbnNFeHRyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIENINTM6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mbworW0NINTU6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc1BsdXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtQmVybGluIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1CZXJsaW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzlkMjliNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtQmVybGluCkBAIC0wLDAgKzEsMTEwIEBACisjIERWQi1UIEJlcmxpbgorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy51ZWJlcmFsbGZlcm5zZWhlbi5kZS9kYXRhL3NlbmRlcmxpc3RlLnBkZgorW0NIMjU6IFJUTCwgUlRMMiwgU3VwZXIgUlRMLCBWT1hdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI3OiBEYXMgRXJzdGUsIFJCQiwgUGhvZW5peCwgRWluc0V4dHJhIC8gQnJhbmRlbmJ1cmdBa3R1ZWxsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzMzogWkRGLCAzc2F0LCBLaUthIC8gWkRGbmVvLCBaREZpbmZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzOTogUVZDLCBEYXNWaWVydGUsIEJpYmVsLlRWLCBCUi1GZXJuc2VoZW4sIG4tdHYsIEV1cm9OZXdzL0NoYW5uZTIxIFNob3AgKyA3IFJhZGlvcHJvZ3JdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ0OiBQcm9TaWViZW4sIFNhdC4xLCBLYWJlbDEsIE4yNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDc6IE1EUiwgTkRSLCBhcnRlLCBocl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTA6IFRlbGU1LCBIU0UgMjQsIFdEUiwgU1dSIChCVyAvIFJQKV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTY6IEV1cm9zcG9ydCwgVFYuQiwgTXVzaWMxLCBzaXh4LF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTk6IEJlcmxpbmVyU3ByZWVrYW5hbCAvIEp1dmVsb1RWLCBTZXJ2dXNUViwgQW5peGVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtQnJhbmRlbmJ1cmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLUJyYW5kZW5idXJnCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIyMzEyNmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLUJyYW5kZW5idXJnCkBAIC0wLDAgKzEsNTAgQEAKKyMgRFZCLVQgQnJhbmRlbmJ1cmcKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cudWViZXJhbGxmZXJuc2VoZW4uZGUvZGF0YS9zZW5kZXJsaXN0ZS5wZGYKK1tDSDMzOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDM2OiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDUzOiBEYXMgRXJzdGUsIFJCQiwgUGhvZW5peCwgRWluc0V4dHJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1NzogTURSLCBORFIsIGFydGVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtQnJlbWVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1CcmVtZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjRhYjhlYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtQnJlbWVuCkBAIC0wLDAgKzEsNzQgQEAKKyMgRFZCLVQgQnJlbWVuCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LnVlYmVyYWxsZmVybnNlaGVuLmRlL2RhdGEvc2VuZGVybGlzdGUucGRmCitbQ0gyMjogRGFzIEVyc3RlIChSQiksIFJCIFRWIChORFIgTkRTKSwgYXJ0ZSwgUGhvZW5peF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjk6IE5EUiBORFMsIFdEUi9ORFIgU0gsIE1EUi9ORFIgTVZQLCBIUi9ORFIgSEhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDMyOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQyOiBSVEwsIFJUTDIsIFN1cGVyIFJUTCwgVk9YXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0NTogVGVsZSA1LCBTSVhYLCBRVkMsIE1vbmEgLyBCaWJlbCBUViAvIERhcyBWaWVydGVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ5OiBQcm9TaWViZW4sIFNhdC4xLCBLYWJlbDEsIE4yNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1EdXNzZWxkb3JmIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1EdXNzZWxkb3JmCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFhZjVhNTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLUR1c3NlbGRvcmYKQEAgLTAsMCArMSwxNDQgQEAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtSGFtYnVyZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtSGFtYnVyZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43YTQzYjc4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1IYW1idXJnCkBAIC0wLDAgKzEsOTggQEAKKyMgRFZCLVQgSGFtYnVyZworIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy51ZWJlcmFsbGZlcm5zZWhlbi5kZS9kYXRhL3NlbmRlcmxpc3RlLnBkZgorW0NIMjM6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjg6IE5EUiBTSCwgV0RSL05EUiBORFMsIE1EUi9ORFIgTVZQLCBCUiBGZXJuc2VoZW4vTkRSIEhIXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzMDogUHJvU2llYmVuLCBTYXQuMS8gU2F0LjFSZWdpb25hbCwgS2FiZWwxLCBOMjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDMzOiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNFeHRyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzY6IFRlbGU1LCBEYXMgVmllcnRlLCBRVkMsIENoYW5uZWwyMS8gRXVyb25ld3NdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQwOiBSVEwsIFJUTDIsIFN1cGVyIFJUTCwgVk9YXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0NjogU0lYWCwgSGFtYnVyZyAxLCBCaWJlbCBUViwgRXVyb3Nwb3J0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1NDogTkRSIEhILCBXRFIvTkRSIE5EUywgTURSL05EUiBNVlAsIEJSIEZlcm5zZWhlbi9ORFIgU0hdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtSGVzc2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1IZXNzZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjM2ZTMwYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtSGVzc2VuCkBAIC0wLDAgKzEsMTk0IEBACisjIERWQi1UIEhlc3NlbgorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy51ZWJlcmFsbGZlcm5zZWhlbi5kZS9kYXRhL3NlbmRlcmxpc3RlLnBkZgorW0NIMjE6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjI6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjQ6IGhyLCBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIFNXUi1SUCwgV0RSXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyNTogWkRGLCAzc2F0LCBLaUthIC8gWkRGbmVvLCBaREZpbmZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzMjogRGFzIEVyc3RlLCBQaG9lbml4LCBhcnRlLCBFaW5zRXh0cmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDM0OiBSVEwsIFJUTDIsIFN1cGVyIFJUTCwgVk9YXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzNTogaHIsIEJheWVyaXNjaGVzIEZlcm5zZWhlbiwgU1dSLVJQLCBNRFJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDM3OiBEYXMgRXJzdGUsIFBob2VuaXgsIGFydGUsIEVpbnNFeHRyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzk6IGhyLCBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIFNXUi1SUCwgcmJiXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0MjogWkRGLCAzc2F0LCBLaUthIC8gWkRGbmVvLCBaREZpbmZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0MzogRGFzIEVyc3RlLCBQaG9lbml4LCBhcnRlLCBFaW5zRXh0cmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ1OiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDUyOiBUZWxlNSwgUVZDLCByaGVpbm1haW50diAvIENoYW5uZWwyMSwgaU11c2ljMSAvIEFuaXhlXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1MzogaHIsIEJheWVyaXNjaGVzIEZlcm5zZWhlbiwgU1dSLUJXLCBXRFJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDU0OiBQcm9TaWViZW4sIFNhdC4xLCBLYWJlbDEsIE4yNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTU6IGhyLCBORFIsIE1EUiwgV0RSXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLU1lY2tsZW5idXJnLVZvcnBvbW1lcm4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLU1lY2tsZW5idXJnLVZvcnBvbW1lcm4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjU5MDEyZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtTWVja2xlbmJ1cmctVm9ycG9tbWVybgpAQCAtMCwwICsxLDExMCBAQAorIyBEVkItVCBNZWNrbGVuYnVyZy1Wb3Jwb21tZXJuZW4KKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cudWViZXJhbGxmZXJuc2VoZW4uZGUvZGF0YS9zZW5kZXJsaXN0ZS5wZGYKK1tDSDIyOiBEYXMgRXJzdGUsIE5EUiBNVlAsIFJCQiwgTURSL05EUiBTSF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjM6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjY6IERhcyBFcnN0ZSwgTkRSIE1WUCwgUkJCLCBNRFIvTkRSIFNIXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyOTogRGFzIEVyc3RlLCBORFIgTVZQLCBSQkIsIE1EUi9ORFIgU0hdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDM2OiBEYXMgRXJzdGUsIE5EUiBNVlAsIFJCQiwgTURSL05EUiBTSF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzc6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDA6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDY6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTM6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1OaWVkZXJzYWNoc2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1OaWVkZXJzYWNoc2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQ5NmUxYzQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLU5pZWRlcnNhY2hzZW4KQEAgLTAsMCArMSwyNzAgQEAKKyMgRFZCLVQgTmllZGVyc2FjaHNlbgorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy51ZWJlcmFsbGZlcm5zZWhlbi5kZS9kYXRhL3NlbmRlcmxpc3RlLnBkZgorW0NIMjE6IE5EUiBORFMsIFdEUi9ORFIgU0gsIE1EUi9ORFIgTVZQLCBIUi9ORFIgSEhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDIyOiBEYXMgRXJzdGUgKFJCKSwgUkIgVFYgKE5EUiBORFMpLCBhcnRlLCBQaG9lbml4XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQ0gyMjogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zRXh0cmEKK1tDSDIzOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI0OiBSVEwsIFJUTDIsIFN1cGVyIFJUTCwgVk9YXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyNjogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zRXh0cmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI4OiBUZWxlIDUsIE5pY2tlbG9kZW9uL0NvbWVkeSBDZW50cmFsLCBFdXJvc3BvcnQsIE1vbmEgLyBCaWJlbCBUViAvIERhcyBWaWVydGVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI5OiBORFIgTkRTLCBXRFIvTkRSIFNILCBNRFIvTkRSIE1WUCwgSFIvTkRSIEhIXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzMTogWkRGLCAzc2F0LCBLaUthIC8gWkRGbmVvLCBaREZpbmZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzMjogWkRGLCAzc2F0LCBLaUthIC8gWkRGbmVvLCBaREZpbmZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzNTogWkRGLCAzc2F0LCBLaUthIC8gWkRGbmVvLCBaREZpbmZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzNjogTkRSIE5EUywgV0RSL05EUiBTSCwgTURSL05EUiBNVlAsIEhSL05EUiBISF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzg6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc0V4dHJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQ0gzODogWkRGLCAzc2F0LCBLaUthIC8gWkRGbmVvLCBaREZpbmZvCitbQ0g0MjogUlRMLCBSVEwyLCBTdXBlciBSVEwsIFZPWF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIENINDI6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mbworW0NINDM6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc0V4dHJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQ0g0MzogTkRSIE5EUywgV0RSL05EUiBTSCwgTURSL05EUiBNVlAsIEhSL05EUiBISAorW0NINDQ6IFByb1NpZWJlbiwgU2F0LjEsIEthYmVsMSwgTjI0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0NTogVGVsZSA1LCBTSVhYLCBRVkMsIE1vbmEgLyBCaWJlbCBUViAvIERhcyBWaWVydGVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ3OiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNFeHRyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDg6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc0V4dHJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0OTogUHJvU2llYmVuLCBTYXQuMSwgS2FiZWwxLCBOMjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDU4OiBORFIgTkRTLCBXRFIvTkRSIFNILCBNRFIvTkRSIE1WUCwgSFIvTkRSIEhIXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1OTogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zRXh0cmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDYwOiBUZWxlIDUsIE5pY2tlbG9kZW9uL0NvbWVkeSBDZW50cmFsLCBFdXJvc3BvcnQsIE1vbmEgLyBCaWJlbCBUViAvIERhcyBWaWVydGVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtTm9yZHJoZWluLVdlc3RmYWxlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtTm9yZHJoZWluLVdlc3RmYWxlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45NDBkMThkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1Ob3JkcmhlaW4tV2VzdGZhbGVuCkBAIC0wLDAgKzEsMjMxIEBACisjIERWQi1UIE5vcmRyaGVpbi1XZXN0ZmFsZW4KKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cudWViZXJhbGxmZXJuc2VoZW4uZGUvZGF0YS9zZW5kZXJsaXN0ZS5wZGYKK1tDSDI1OiBXRFItRG9ydG11bmQsIE5EUi9XRFItUnVociwgTURSLCBTV1JdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI2OiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNGZXN0aXZhbF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIENIMjY6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mbworW0NIMjc6IFdEUi1Tw7xkd2VzdGZhbGVuLCBORFIsIE1EUiwgU1dSXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyOTogUlRMLCBSVEwyLCBTdXBlciBSVEwsIFZPWF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzA6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzE6IFdEUi1PV0xfYWt0dWVsbCwgTkRSL1dEUi1Tw7xkd2VzdGZhbGVuLCBNRFIsIFNXUl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzM6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzU6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzY6IFRlbGU1LCBDTk4sIEV1cm9zcG9ydCwgVklWQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzc6IFdEUi1BYWNoZW4sIE5EUi9XRFItS8O2bG4sIE1EUiwgU1dSXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0NjogV0RSLUTDvHNzZWxkb3JmLCBNRFIvV0RSLUR1aXNidXJnLCBORFIvV0RSLUJlcmcuTGFuZCwgU1dSXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0ODogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zRmVzdGl2YWxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ5OiBXRFItS8O2bG4sIE1EUi9XRFItQm9ubiwgTkRSL1dEUi1BYWNoZW4sIFNXUl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTA6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc0Zlc3RpdmFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1MjogVGVsZTUsIENOTiwgRXVyb3Nwb3J0LCBWSVZBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1MzogUHJvU2llYmVuLCBTYXQuMSwgS2FiZWwxLCBOMjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDU1OiBQcm9TaWViZW4sIFNhdC4xLCBLYWJlbDEsIE4yNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTc6IFdEUi1SdWhyLCBORFIvV0RSLURvcnRtdW5kLCBNRFIsIFNXUl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINjA6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc0Zlc3RpdmFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLVJoZWlubGFuZC1QZmFseiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtUmhlaW5sYW5kLVBmYWx6Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg3Nzk5NDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLVJoZWlubGFuZC1QZmFsegpAQCAtMCwwICsxLDk4IEBACisjIERWQi1UIFJoZWlubGFuZC1QZmFsegorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy51ZWJlcmFsbGZlcm5zZWhlbi5kZS9kYXRhL3NlbmRlcmxpc3RlLnBkZgorW0NIMjg6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzA6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzM6IFNXUi1SUCwgQmF5ZXJpc2NoZXMgRmVybnNlaGVuLCBociwgV0RSXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0NDogU1dSLVJQLCBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIGhyLCBXRFJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ2OiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNQbHVzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0ODogU1dSLVJQLCBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIGhyLCBXRFJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDU2OiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNQbHVzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1NzogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zUGx1c10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1TYWFybGFuZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtU2FhcmxhbmQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDgwOTU1NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtU2FhcmxhbmQKQEAgLTAsMCArMSw1MCBAQAorIyBEVkItVCBTYWFybGFuZAorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy51ZWJlcmFsbGZlcm5zZWhlbi5kZS9kYXRhL3NlbmRlcmxpc3RlLnBkZgorW0NIMzA6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDI6IERhcyBFcnN0ZSwgU1IgRmVybnNlaGVuLCBhcnRlLCBQaG9lbml4XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0NDogU1dSLVJQLCBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIGhyLCBXRFJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ5OiBUZWxlNSwgUVZDLCBCaWJlbC5UViwgZnJlaWUgS2FwYXppdMOkdF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1TYWNoc2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1TYWNoc2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFkODc1MTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLVNhY2hzZW4KQEAgLTAsMCArMSwxMzQgQEAKKyMgRFZCLVQgU2FjaHNlbgorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy51ZWJlcmFsbGZlcm5zZWhlbi5kZS9kYXRhL3NlbmRlcmxpc3RlLnBkZgorW0NIMjI6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjQ6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc0Zlc3RpdmFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyNTogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zRmVzdGl2YWxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI3OiBNRFItU04sIHJiYiwgQmF5ZXJpc2NoZXMgRmVybnNlaGVuLCBXRFJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI4OiBSVEwsIFJUTDIsIFN1cGVyIFJUTCwgVk9YLCBSVEwgQ3JpbWUsIFBhc3Npb24gW1NlbmRlbm9ybTogTVBFRy00XV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjk6IE1EUi1TTiwgcmJiLCBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIFdEUl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzE6IExGIExlaXB6Zy5GZXJucy4sIEluZm9UVkxlaXB6aWcsIEJCQ1dvcmxkLCBCaWJlbC5UViwgUmFkaW9MZWlwemlnLCBSYWRpb0hvcmViXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzI6IE1EUi1TTiwgcmJiLCBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIFdEUl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzY6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzc6IE1EUi1TTiwgcmJiLCBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIFdEUl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzk6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc0Zlc3RpdmFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLVNhY2hzZW4tQW5oYWx0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1TYWNoc2VuLUFuaGFsdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45OTI1YTJkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1TYWNoc2VuLUFuaGFsdApAQCAtMCwwICsxLDEyMiBAQAorIyBEVkItVCBTYWNoc2VuLUFuaGFsdAorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy51ZWJlcmFsbGZlcm5zZWhlbi5kZS9kYXRhL3NlbmRlcmxpc3RlLnBkZgorW0NIMjI6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjQ6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc0Zlc3RpdmFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyODogUlRMLCBSVEwyLCBTdXBlciBSVEwsIFZPWCwgUlRMIENyaW1lLCBQYXNzaW9uIFtTZW5kZW5vcm06IE1QRUctNF1dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI5OiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNGZXN0aXZhbF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzA6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzE6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzQ6IE1EUi1TVCwgcmJiLCBORFIsIFdEUl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzg6IE1EUi1TVCwgcmJiLCBORFIsIFdEUl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDE6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc0Zlc3RpdmFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1NTogVFYgSGFsbGUgKFRlc3RiZXRyaWViKV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUVBTSworCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtU2NobGVzd2lnLUhvbHN0ZWluIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1TY2hsZXN3aWctSG9sc3RlaW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDA5NzZhYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtU2NobGVzd2lnLUhvbHN0ZWluCkBAIC0wLDAgKzEsMTgyIEBACisjIERWQi1UIFNjaGxlc3dpZy1Ib2xzdGVpbgorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy51ZWJlcmFsbGZlcm5zZWhlbi5kZS9kYXRhL3NlbmRlcmxpc3RlLnBkZgorW0NIMjE6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjM6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjQ6IE5EUiBTSCwgV0RSL05EUiBORFMsIE1EUi9ORFIgTVZQLCBCUiBGZXJuc2VoZW4vTkRSIEhIXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyNjogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zRXh0cmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI4OiBORFIgU0gsIFdEUi9ORFIgTkRTLCBNRFIvTkRSIE1WUCwgQlIgRmVybnNlaGVuL05EUiBISF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzA6IFByb1NpZWJlbiwgU2F0LjEvIFNhdC4xUmVnaW9uYWwsIEthYmVsMSwgTjI0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzMTogWkRGLCAzc2F0LCBLaUthIC8gWkRGbmVvLCBaREZpbmZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzMzogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zRXh0cmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDM1OiBQcm9TaWViZW4sIFNhdC4xLyBTYXQuMVJlZ2lvbmFsLCBLYWJlbDEsIE4yNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzk6IE5EUiBTSCwgV0RSL05EUiBORFMsIE1EUi9ORFIgTVZQLCBCUiBGZXJuc2VoZW4vTkRSIEhIXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0MDogUlRMLCBSVEwyLCBTdXBlciBSVEwsIFZPWF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDU6IFJUTCwgUlRMMiwgU3VwZXIgUlRMLCBWT1hdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ3OiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNFeHRyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTc6IFRlbGUgNSwgU0lYWCwgZGFzIFZpZXJ0ZSwgQmliZWwgVFZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDU5OiBUZWxlIDUsIFNJWFgsIGRhcyBWaWVydGUsIEJpYmVsIFRWXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLVRodWVyaW5nZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLVRodWVyaW5nZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzJmYTk0NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtVGh1ZXJpbmdlbgpAQCAtMCwwICsxLDg2IEBACisjIERWQi1UIFRow7xyaW5nZW4KKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cudWViZXJhbGxmZXJuc2VoZW4uZGUvZGF0YS9zZW5kZXJsaXN0ZS5wZGYKK1tDSDIxOiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNGZXN0aXZhbF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjI6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjU6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc0Zlc3RpdmFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyNzogTURSLVRILCByYmIsIGhyLCBCYXllcmlzY2hlcyBGZXJuc2VoZW5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ4OiBNRFItVEgsIHJiYiwgaHIsIEJheWVyaXNjaGVzIEZlcm5zZWhlbl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTA6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTM6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc0Zlc3RpdmFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RrLUFsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGstQWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZiZDU5MGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RrLUFsbApAQCAtMCwwICsxLDIzMSBAQAorIyBEZW5tYXJrLCB3aG9sZSBjb3VudHJ5CisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2ktdHYuZGsvSW5kaG9sZF9vZ190aWxidWQvZnJla3ZlbnNlci5hc3AKKyMgYW5kIGh0dHA6Ly93d3cuZGlnaS10di5kay9TZW5kZW5ldHRldHNfb3BieWduaW5nLworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZWUtQWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lZS1BbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjg5YTM1YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZWUtQWxsCkBAIC0wLDAgKzEsMzkzIEBACisjIEVzdG9uaWEsIHdob2xlIGNvdW50cnkKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cubGV2aXJhLmVlL3RyYW5zbWl0dGVyLnBkZgorIyBhbmQgaHR0cDovL3dpa2kud2lmaS5lZS9pbmRleC5waHAvRFZCLVQjVGVobmlsaW5lX3RlYXZlCisjIEFkZGl0aW9uYWwgTVVYIGluZm8gaHR0cDovL3d3dy5sZXZpcmEuZWUvcHJvZ3JhbS5wZGYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSA0Mjk0OTY3Mjk1CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFQU0sKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gNDI5NDk2NzI5NQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSA0Mjk0OTY3Mjk1CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDQyOTQ5NjcyOTUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSA0Mjk0OTY3Mjk1CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUFsYmFjZXRlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1BbGJhY2V0ZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kNjQwMTJlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1BbGJhY2V0ZQpAQCAtMCwwICsxLDE0NSBAQAorIyBTcGFpbiwgQWxiYWNldGUgLSBVcGRhdGUgMjAxMC8wOC8xMiAoRnJldWQpCitbQ2FuYWwgMzc6IExhIFJlZ2lvbmFsLCBUQ00sIENSTl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDQ2OiBTb2dlY3VhdHJvLCBsYVNleHRhMiwgbGFTZXh0YTMgKFRvZG9zIHBlbmRpZW50ZXMgZGUgYXNpZ25hcildCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA0NzogQ05DLCBWaXNpb242LCBBQlRlVmUsIFB1bnRvIFJhZGlvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNTA6IEJvaW5nLCBMYSAxMCwgTVRWLCBQdW50byBSYWRpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDUzOiBOaXRybywgTWFyY2EgVFYsIFZlbzEzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNTY6IFRWRSBIRCwgVGVsZWRlcG9ydGUsIFBydWViYXMgVFZFLCBSTkUgMSwgUk5FIENMw4FTSUNBLCBSTkUgM10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDU5OiBMYSAxLCBMYSAyLCAyNEgsIENsYW4sIFJORTEsIFJORSBDbMOhc2ljYSwgUk5FIDNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2MzogQ01ULCBDTVQyLCBSQ01dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2NjogVmVvNywgVGllbmRhIGVuIFZlbywgSW50ZXJlY29ub23DrWEsIEFYTiwgVGVsZWRlcG9ydGUsIFJhZGlvIEludGVyZWNvbm9tw61hLCBSYWRpbyBNYXJjYSwgZXNSYWRpbywgVmF1Z2hhbiBSYWRpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY3OiBDdWF0cm8sIENOTissIDQwIExhdGlubywgQ2FuYWwrIERvcywgQ2FuYWwgQ2x1YiwgTGFTZXh0YSwgU0VSLCA0MCBQcmluY2lwYWxlcywgQ2FkZW5hIERpYWxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2ODogVGVsZWNpbmNvLCBMYSBTaWV0ZSwgRkRGLCBDaW5jb1Nob3AsIERpc25leSBDaGFubmVsLCBQdW50byBSYWRpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY5OiBBbnRlbmEgMywgTmVveCwgTm92YSwgR29sIFRlbGV2aXNpw7NuLCBPbmRhIENlcm8sIEV1cm9wYSBGTSwgT25kYSBNZWxvZMOtYSBdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQWxmYWJpYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQWxmYWJpYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lZTIwZTY4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1BbGZhYmlhCkBAIC0wLDAgKzEsMTQ1IEBACisjIERWQi1UIEFsZmFiaWEsIE1hbGxvcmNhLCBCYWxlYXJpYyBJc2xhbmRzLCBTcGFpbi4KK1tUVjMgQ2F0LCAzLzI0LCAzMywgU3VwZXIzLzMwMF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW05pdHJvLCBBM1RWSEQsIDEzVFYsIFRpZW5kYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1RWIE1hbGxvcmNhLCBDYW5hbCA0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbUG9wdWxhciBUViwgVEVWRWldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tYcGxvcmEsIGxhU2V4dGEzLCBsYVNleHRhSEQsIEN1YXRyb0hELCBFbmVyZ3ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tCb2luZywgVGVsZWNpbmNvSEQsIFBhcmFtb3VudF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0xhMUhELCBURFAsIFREUEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQy42MzogMjRoLCA1MCBhbml2LiwgQ2xhblRWLCBMYSAyLCBUVkUxOyBSTkUgMSwgUk5FIDMsIFJORSBDOyBEaWdpdGV4dCwgRVBHLCBMYW56YWRlcmEuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQy42NTogSUIzLCBJQjNIRCwgTWV0cm9wb2xpdGFuIFRWXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQy42NzogQ3VhdHJvLCBMYSBTZXh0YSwgR29sVFYsIERpdmluaXR5LCBOdWV2ZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MuNjg6IFRlbGUgNSwgTGE3LCBGREYsIERpc25leSBDaGFubmVsLCBJbnRlcmVjb25vbcOtYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MuNjk6IEFudGVuYSAzLCBEaXNjb3ZlcnkgTWF4LCBOZW94LCBOb3ZhLCBBWE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQWxpY2FudGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUFsaWNhbnRlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE5NWE0OTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUFsaWNhbnRlCkBAIC0wLDAgKzEsODUgQEAKKyMgRFZCLVQgQWxpY2FudGUsIFNwYWluCitbQ2FuYWwgNTU6IFRWMywgSzMzLzMzLCAzLzI0LCBDYW5hbCAzMDBdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA1ODogTGEgUHJpbWVyYSwgTGEgMiwgQ2FuYWwgMjRILCBDbGFuL1RWRSA1MCwgUk5FMSwgUk5FIENsw6FzaWNhLCBSTkUgM10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDYzOiBUZWxlbWFkcmlkLCBMYSBPdHJhLCBPbmRhIDZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2NjogVmVvLCBWZW8gMiwgTmV0IFRWLCBUZWxlZGVwb3J0ZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY3OiBDdWF0cm8sIENOTissIDQwIExhdGlubywgTGEgU2V4dGEgMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY4OiBUZWxlY2luY28sIFRlbGVjaW5jbyBTcG9ydCwgVGVsZWNpbmNvIEVzdHJlbGxhcywgRmx5IE11c2ljXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjk6IEFudGVuYSAzLCBBbnRlbmEgTmVveCwgQW50ZW5hIE5vdmEsIExhIFNleHRhIDJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQWxtZXJpYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQWxtZXJpYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hNjQ4MWU2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1BbG1lcmlhCkBAIC0wLDAgKzEsMTA4IEBACisjIFNwYWluLCBBbG1lcmlhIC0gVXBkYXRlIDIwMTYvMDMvMTcgKGRlbmlzZV9hbWlnYSkKK1tDYW5hbCAzNDogSW50ZXJhbG1lcmlhIFRWLCA4VFYsIFR1YmllbnN0YXIgQXN0cm9jYW5hbCwgQ2FuYWwgMjhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCAzNjogQXRyZXNlcmllcyBIRCwgRW5lcmd5IEhELCBSZWFsIE1hZHJpZCBUVl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDM4OiBCb2luZywgRW5lcmd5LCBNZWdhLCAxM1RWLCBPbmRhIENlcm8sIEV1cm9wYSBGTSwgTWVsb2RpYSBGTSwgQ29wZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDQxOiBBbnRlbmEgMywgQW50ZW5hIDNIRCwgbGFTZXh0YSwgbGFTZWN0YSBIRCwgTmVveCwgTm92YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDQ0OiBUZWxlY2luY28sIFRlbGVjaW5jbyBIRCwgQ3VhdHJvLCBDdWF0cm8gSEQsIEZERiwgRGl2aW5pdHldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA0NzogVERQLCBURFAgSEQgOUtpc3MgVFYsIDEwLCBSYWRpbyBDbGFzaWNhIEhRLCBSYWRpbyAzIEhRLCBSYWRpbyBFeHRlcmlvciBSTkUgS2lzcyBGTSwgQ2FuYWwgSW5nZW5pZXJpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDU3OiBMYSAxLCBMYSAxIEhELCBMYSAyLCAyNGgsIENsYW4sIFJhZGlvLCBSYWRpbyA1XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNTg6IDEzVFYsIERpc2NvdmVyeSBNQVgsIERpc25leSBDaGFubmVsLCBQYXJhbW91bnQgQ2hhbm5lbCwgQ29wZSwgUmFkaW8gTWFyaWEsIFJhZGlvIE1hcmNhLCBWYXVnaGFuIFJhZGlvLCBlc1JhZGlvLCBHdWlkZSBQbHVzK10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDU5OiBDYW5hbCBTdXIsIENhbmFsIFN1ciAyLCBBbmRhbHVjaWEgVFYsIEVIUyBUViwgQ2FuYWwgU3VyIFJhZGlvLCBGbGFtZW5jbyBSYWRpbywgQ2FuYWwgRmllc3RhIFJhZGlvLCBSYWRpbyBBbmRhbHVjaWEgSW5mb3JtYWNpb25dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUFscGljYXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUFscGljYXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmU0Njc0MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQWxwaWNhdApAQCAtMCwwICsxLDczIEBACisjIERWQi1UIEFscGljYXQgKExsZWlkYSkKK1tjNTg6IFRWMywgSzMvMzMsIDMvMjQsIDMwMCwgM2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tjNjQ6IFRWRTEsIFRWRTIsIFRlbGVkZXBvcnRlLCBDMjRoXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbYzY2OiBUVkUgQ2xhblRWLCBUVkUgNTBhLCBWZW8xLCBWZW8yLCBOZXRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tjNjc6IEN1YXRybywgNDBMYXRpbm8sIENOTissIExhU2V4dGEgMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW2M2ODogVDUsIFQ1IFNwb3J0cywgVDUgRXN0cmVsbGFzLCBOZXQgRmx5IE11c2ljXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbYzY5OiBBbnRlbmEzLCBBbnRlbmEuTmVveCwgQW50ZW5hLk5vdmEsIExhIFNleHRhIDJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQXN0dXJpYXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUFzdHVyaWFzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjI4M2I5MTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUFzdHVyaWFzCkBAIC0wLDAgKzEsMTk0IEBACisjIERWQi1UIEFzdHVyaWFzCitbQ2FuYWwgMjI6IEF0cmVzZXJpZXMgSEQsIEVuZXJneSBIRCwgUmVhbCBNYWRyaWQgVFYsIEJlIE1hZF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTVEFSVCBDQU5HQVMgREUgTkFSQ0VBIFkgTExBTkVTCitbQ2FuYWwgMjU6IEVkLiBQcmVuc2EgQXN0dXJpYW5hLCBUZWxlTmFyY2VhLCBUZWxlQXZpbMOpcywgVVRFIE9wYWxvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworIyBFTkQgQ0FOR0FTIERFIE5BUkNFQSBZIExMQU5FUworCitbQ2FuYWwgMjc6IEJvaW5nLCBFbmVyZ3ksIE1lZ2EsIDEzIFRWLCBPbmRhIENlcm8sIEV1cm9wYSBGTSwgTWVsb2TDrWEgRk0sIENvcGVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCAyODogVGVsZWNpbmNvLCBUZWxlY2luY28gSEQsIEN1YXRybywgQ3VhdHJvIEhELCBGREYsIERpdmluaXR5XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgMzI6IEFudGVuYSAzLCBBbnRlbmEgMyBIRCwgbGFTZXh0YSwgbGFTZXh0YSBIRCwgTmVveCwgTm92YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDM1OiBQcm94aW1hbWVudGUsIERpc2NvdmVyeSBNYXgsIERpc25leSBDaGFubmVsLCBQYXJhbW91bnQgQ2hhbm5lbCwgQ29wZSwgUmFkaW8gTWFyw61hLCBSYWRpbyBNYXJjYSwgVmF1Z2hhbiBSYWRpbywgZXNSYWRpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTVEFSVCBHSUrDk04KK1tDYW5hbCAzODogTXV5IE11eSBUViwgQ2FuYWwgMTAsIEFzdHJvY2FuYWxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisjIEVORCBHSUrDk04KKworW0NhbmFsIDM5OiBMYSAxLCBMYSAxIEhELCBMYSAyLCAyNGgsIENsYW4sIFJhZGlvIE5hY2lvbmFsLCBSYWRpbyA1XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNDI6IFREUCwgVERQIEhELCBLSVNTLCBURU4sIFJhZGlvIENsw6FzaWNhIEhRLCBSYWRpbyAzIEhRLCBSYWRpbyBFeHRlcmlvciBSTkUsIEtpc3MgRk1dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU1RBUlQgT1ZJRURPCitbQ2FuYWwgNDM6IEVkLiBQcmVuc2EgQXN0dXJpYW5hLCBPdmllZG8gVFYsIENhbmFsIDEwXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworIyBFTkQgT1ZJRURPCisKKyMgU1RBUlQgSU5GSUVTVE8KK1tDYW5hbCA0NDogRWQuIFByZW5zYSBBc3R1cmlhbmEsIFRlbGVBdmlsw6lzLCBVVEUgT3BhbG9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisjIEVORCBJTkZJRVNUTworCitbQ2FuYWwgNDU6IFRQQTcsIFRQQTgsIFRQQSBIRCwgUlBBLCBSYWRpbyBMYW5ncmVvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNUQVJUIE1JRVJFUworW0NhbmFsIDQ2OiBDdWVuY2FzIE1pbmVyYXMgVFYsIFByb2R1Y2Npb25lcyBHcmVsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKyMgRU5EIE1JRVJFUworCisjIFNUQVJUIEFWSUzDiVMKK1tDYW5hbCA0NzogRWQuIFByZW5zYSBBc3R1cmlhbmEsIENhbmFsIDEwLCBUZWxlQXZpbMOpc10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKyMgRU5EIEFWSUzDiVMKKworIyBTVEFSVCBMVUFSQ0EtVkFMRMOJUworW0NhbmFsIDU2OiBFZC4gUHJlbnNhIEFzdHVyaWFuYSwgVGVsZUF2aWzDqXMsIE9SVF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKyMgRU5EIExVQVJDQS1WQUxEw4lTCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUJhaXhvTWluaG8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUJhaXhvTWluaG8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmZjMWRlOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQmFpeG9NaW5obwpAQCAtMCwwICsxLDgxIEBACisjIGZpbGUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgd19zY2FuCisjIChodHRwOi8vd2lyYmVsLmh0cGMtZm9ydW0uZGUvd19zY2FuL2luZGV4Mi5odG1sKQorIyEgPHdfc2Nhbj4gMjAwOTA1MjggMSAwIE9GRE0gRVMgPC93X3NjYW4+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogQmFpeG8gTWluaG8sIFBvbnRldmVkcmEgKFNwYWluKQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMDktMDctMTEKKyMgcHJvdmlkZWQgYnkgKG9wdCkgICAgOiBuZW9ubWFubkBnbWFpbC5jb20KKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tTRk5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbU0ZOXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1JBUiBQb250ZXZlZHJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbUkdFIEdBTElDSUFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQmlsYmFvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1CaWxiYW8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzQyMzNmMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQmlsYmFvCkBAIC0wLDAgKzEsNzIgQEAKK1tDYW5hbCA2NzogQ05OKy4gQ3VhdHJvLCBMYSBTZXh0YSwgNDAgbGF0aW5vIFRWXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjk6IEFudGVuYSAzLCBMYSBTZXh0YSAyLCBOZW8sIE5vdmEsIFRlbGVoaXQsIE9uZGEgQ2VybywgRXVyb3BhIEZNLCBPbmRhIE1lbG9kaWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2MzogTGEgUHJpbWVyYSwgTGEgMiwgQ2FuYWwgMjRILCBDbGFuL1RWRSA1MCwgUk5FMSwgUk5FIENsw6FzaWNhLCBSTkUgM10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY2OiBWZW8sIFZlbyAyLCBOZXQgVFYsIFRlbGVkZXBvcnRlXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjg6IFRlbGVjaW5jbywgVGVsZWNpbmNvIFNwb3J0LCBUZWxlY2luY28gRXN0cmVsbGFzLCBGbHkgTXVzaWNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2MTogRVRCMSwgRVRCMiwgRVRCLVNhdCwgQ2FuYWwgVmFzY28sIEV1c2thZGkgSXJyYXRpYSwgUmFkaW8gRXVza2FkaSwgRXVza2FkaSBHYXN0ZWEsIFJhZGlvIEVJVEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQ2FkaXogYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUNhZGl6Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQxNTUwMDMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUNhZGl6CkBAIC0wLDAgKzEsMjk0IEBACisjIERWQi1UIENhZGl6IChBbmRhbHVzaWEpICAgICAgICAgICAgICAgICAgICAgIGJ5IHhpdGVycmV4ICBBdWcgMjAxNAorIyBJbmZvIG9idGFpbmVkIGZyb20gU3BhbmlzaCBHb3Zlcm5tZW50IChNaW5pc3RlcmlvIGRlIEluZHVzdHJpYSkgYXQgVVJMOgorIyA8aHR0cDovL3d3dy5taW5ldHVyLmdvYi5lcy90ZWxlY29tdW5pY2FjaW9uZXMvaW5mcmFlc3RydWN0dXJhcy9wYWdpbmFzL3RkdF9pY3QuYXNweD4KK1tDMjEgIyBNUEUyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIzICMgUkdFMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNCAjIFJHRTFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNDk4MDAwMDAwIDhNSHogMi8zIE5PTkUgUUFNNjQgOGsgMS80IE5PTkUgICAgIyBDMjQgIyBUTDAyQ0EgQXJjb3MKK1tDMjcgIyBSR0UyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDUyMjAwMDAwMCA4TUh6IDIvMyBOT05FIFFBTTY0IDhrIDEvNCBOT05FICAgICMgQzI3ICMgVEwwNkNBIE9sdmVyYQorW0MyOCAjIFRMMDFDQSBBbGdlY2lyYXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzAgIyBUTDA1Q0EgSmVyZXpdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzMgIyBSR0UyIChNYWluKV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzOCAjIE1QRTNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDEgIyBNUEUyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQzICMgVEwwOENBIE1lZGluYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NCAjIE1QRTFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDYgIyBBTkRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDkgIyBNUEUzIChNYWluKV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MCAjIFRMMDdDQSBVYnJpcXVlXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUyICMgUkdFMl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA3MjIwMDAwMDAgOE1IeiAyLzMgTk9ORSBRQU02NCA4ayAxLzQgTk9ORSAgICAjIEM1MiAjIFRMMDRDQSBDaGljbGFuYQorW0M1MyAjIE1QRTEgKE1haW4pXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU0ICMgVEwwM0NBIENhZGl6XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU1ICMgTVBFMiAoTWFpbildCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTcgIyBSR0UxIChNYWluKV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1OSAjIEFORCAoTWFpbildCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjQgIyBSR0UxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzY3ICMgTUQ2N10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M2OCAjIE1ENjhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjkgIyBNRDY5XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUNhcmNlcmVzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1DYXJjZXJlcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44ZjUyYTQ2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1DYXJjZXJlcwpAQCAtMCwwICsxLDEwOCBAQAorW0NhbmFsIDM5OiA4TWFkcmlkLCBUTVQtUG9wdWxhciBUViwgS2lzcyBUViwgSW50ZXJlY29ub23DrWEgVFZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA1MDogRXNNYWRyaWQgVFYsIFZlci10LCBFTTIsIExpYmVydGFkIERpZ2l0YWwgVFZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA1ODogTGEgUHJpbWVyYSwgTGEgMiwgQ2FuYWwgMjRILCBDbGFuL1RWRSA1MCwgUk5FMSwgUk5FIENsw6FzaWNhLCBSTkUgM10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDYzOiBUZWxlbWFkcmlkLCBMYSBPdHJhLCBPbmRhIDZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2NjogVmVvLCBWZW8gMiwgTmV0IFRWLCBUZWxlZGVwb3J0ZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY3OiBDdWF0cm8sIENOTissIDQwIExhdGlubywgTGEgU2V4dGEgMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY4OiBUZWxlY2luY28sIFRlbGVjaW5jbyBTcG9ydCwgVGVsZWNpbmNvIEVzdHJlbGxhcywgRmx5IE11c2ljXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjk6IEFudGVuYSAzLCBBbnRlbmEgTmVveCwgQW50ZW5hIE5vdmEsIExhIFNleHRhIDJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2MTogQ2FuYWwgRXh0cmVtYWR1cmEsIEV4dHJlbWFkdXJhIFRlbGV2aXNpb25dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQ29sbHNlcm9sYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQ29sbHNlcm9sYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MGM3M2YwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1Db2xsc2Vyb2xhCkBAIC0wLDAgKzEsMTIxIEBACisjIERWQi1UIENvbGxzZXJvbGEgKEJhcmNlbG9uYSkKK1tCVFYsIFRWIEJhZGFsb25hLCBUViBMJ0hvc3BpdGFsZXQsIFRWIGRlbCBCZXPDsnMsIENPTSBSw6BkaW8sIFLDoGRpbyBDaXV0YXQgQmFkYWxvbmEsIFLDoGRpbyBMJ0hvc3BpdGFsZXRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1s4VFYsIEJhcsOnYSBUViwgRURDMywgMTA1VFYsIFJBQyAxLCBSQUMgMTA1XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVFYzSEQsIDMvMjQsIENhbmFsIDksIElCMywgQ2F0YWx1bnlhIE3DunNpY2EsIGlDYXQgRk1dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVcmJlIFRWLCBDYW5hbCBDYXRhbMOgLCAyNSBUViwgTG9jYWxpYSwgT25hIEZNLCBPbmRhIFJhbWJsYSwgU2Vuc2FjacOzIFLDoGRpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1RWMywgMzMsIDMvMjQsIEszLzMwMCwgQ2F0YWx1bnlhIFLDoGRpbywgQ2F0YWx1bnlhIEluZm9ybWFjacOzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVFZFMSwgVFZFMiwgVFZFIDI0SCwgQ2xhbi9UVkUgNTAgQcOxb3MsIFJORTEsIFJORUMsIFJORTNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tWZW83LCBTb255IFRWIGVuIFZlbywgVGllbmRhIGVuIFZlbywgSW50ZXJlY29ub23DrWEsIFRlbGVkZXBvcnRlLCBSYWRpbyBJbnRlcmVjb25vbcOtYSwgUmFkaW8gTWFyY2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDdWF0cm8sIENOTissIDQwIExhdGlubywgTGEgU2V4dGEsIFNlciwgNDAgUHJpbmNpcGFsZXMsIENhZGVuYSBEaWFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVGVsZWNpbm8sIExhIFNpZXRlLCBGREYsIENpbmNvU2hvcCwgRGlzbmV5IENoYW5uZWwsIFB1bnRvIFJhZGlvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQW50ZW5hIDMsIEFudGVuYS5OZW94LCBBbnRlbmEuTm92YSwgSG9nYXIgMTAsIE9uZGEgQ2VybywgRXVyb3BhIEZNLCBPbmRhIE1lbG9kw61hXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLURvbm9zdGlhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1Eb25vc3RpYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hNzYwMzQ2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1Eb25vc3RpYQpAQCAtMCwwICsxLDEyMiBAQAorIyBUaGUgY2hhbm5lbHMgd2l0aCAxLzMyIGd1YXJkLWludGVydmFsIGFyZSBGcmVuY2ggYW5kIHNob3VsZCBiZSBwZXJmZWN0bHkgdmlzaWJsZQorIyBoZXJlLiBIb3dldmVyIEkgaGF2ZSBvbmx5IG1hbmFnZWQgdG8gZ2V0IGEgbG9jayBmb3IgdGhlIGNoYW5uZWwgNTcgb2YgdGhlIEZyZW5jaCBvbmVzLgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtR3JhbmFkYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtR3JhbmFkYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xNTQ1Yjk2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1HcmFuYWRhCkBAIC0wLDAgKzEsNzMgQEAKKyMgU3BhaW4sIEdyYW5hZGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtSHVlc2NhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1IdWVzY2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTNjYjA4NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtSHVlc2NhCkBAIC0wLDAgKzEsMTI0IEBACisjIERWQi1UIEh1ZXNjYSAoQXJhZ29uKSBbU3BhaW5dIFtlcy1IdWVzY2FdCisjIEdlbmVyYXRlZCBieSBWaWNlbnRlIEhlcm5hbmRvIEFyYSA8Yml6ZW50b25AZ21haWwuY29tPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitbQ0ggNDMgIEhUVi1IdWVzY2FUZWxldmlzaW9uXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0ggNDQgIExhIFNleHRhIDJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSCA0NSAgVFZFIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0ggNDggIE5JVFJPXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0ggNTQgIEJPSU5HXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0ggNTcgIEFSQUdPTiBUVl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIIDYxICBUVkVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSCA2N10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIIDY4XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0ggNjldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtTGFzX1BhbG1hcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtTGFzX1BhbG1hcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kYTk3MWVlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1MYXNfUGFsbWFzCkBAIC0wLDAgKzEsMTQ5IEBACisjIEZ1bmNpb25hIGNvcnJlY3RhbWVudGUgZW4gTGFzIFBhbG1hcyBkZSBHcmFuIENhbmFyaWEgKDI1LTA5LTIwMTApCisjIAorIyBSZXZpc2FkYSB5IGNvcnJlZ2lkYSBwb3IgZWwgR3J1cG8gZGUgVXN1YXJpb3MgZGUgTGludXggZGUgQ2FuYXJpYXMKKyMgaHR0cDovL3d3dy5ndWxpYy5vcmcKKyMKK1tDYW5hbCAyODogVFZFIEhELCBUZWxlZGVwb3J0ZSwgUk5FIENsw6FzaWNhLCBSTkUgM10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDMyOiBCb2luZywgVGVsZWNpbmNvIEhELCBMYSAxMCwgTVRWLCBQdW50byBSYWRpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDM1OiBTb2dlY3VhdHJvLCBMYVNleHRhMiwgTGFTZXh0YTNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCAzODogTml0cm8sIEFudGVuYSAzIEhELCBNYXJjYSBUViwgVmVvMTNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA0NDogQ2FuYWwgNyBHcmFuIENhbmFyaWEsIFRJQyBDYW5hbCA4LCBDYW5hbCA0LCBSVEldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA1MjogTG9jYWxpYSwgTnVldmUgVFYsIE51ZXZlIFJhZGlvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjA6IFRWRTEsIFRWRTIsIDI0SCBUVkUsIENsYW4vVFZFLCBSTkUsIFJORUMsIFJORTMsIExhbnphZGVyYSwgRVBHLCBEaWdpdGV4dCwgTWV0ZW8sIEJvbHNhLCBUcmFmaWNvLCBFbXBsZWF0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjU6IFRWIEMsIFRWIEMyLCBBbnRlbmEgMyBDYW5hcmlhcywgUG9wdWxhciBUViwgQ2FuYXJpYXMgUmFkaW8sIENvcGUsIENhZGVuYSAxMDAsIFJhZGlvIEVDQ0EsIExhbnphZGVyYSwgVGlja2VyLCBQaWxvdG8gVERUXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjY6IFZlbzcsIFRpZW5kYSBlbiBWZW8sIEFYTiwgSW50ZXJlY29ub21pYSwgVGVsZWRlcG9ydGUsIFJhZGlvIEludGVyZWNvbm9taWEsIFJhZGlvIE1hcmNhLCBlc1JhZGlvLCBWYXVnaGFuIFJhZGlvLCBDYW5hbCBJbmdlbmllcsOtYSwgR1VJREUgUGx1cyArLCBDNjZHYW5jaG8sIEM2NkxhbnphZGVyYSwgQzY2RVBHLCBFcGdOZXRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2NzogQ3VhdHJvLCBDTk4rLCBDYW5hbCsgRG9zLCBDYW5hbCBDbHViLCBsYVNleHRhLCBTRVIsIDQwIFByaW5jaXBhbGVzLCBDYWRlbmEgRGlhbCwgTGFuemFkZXJhLCBFUEcgVERULCBUaWNrZXIsIExhbnphZGVyYSwgTm90aWNpYXMsIEVQR10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY4OiBUZWxlY2luY28sIExhIFNpZXRlLCBGREYsIENpbmNvU2hvcCwgRGlzbmV5IENoYW5uZWwsIFQ1TGFuemFkZXJhLCBUNURpZ2l0ZXh0LCBOb3RpY2lhcywgVGllbXBvLCBCb2xzYSwgVHLDoWZpY29dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2OTogQW50ZW5hIDMsIE5lb3gsIE5vdmEsIEdvbCBUZWxldmlzacOzbiwgT25kYSBDZXJvLCBFdXJvcGEgRk0sIE9uZGEgTWVsb2TDrWEsIHR2dHYgRElHSVRBTCwgQTNMYW56YWRlcmEsIEEzUG9ydGFsLCBBM0VQRywgQTNUaWNrZXIsIFQtc2VuaW9yaXR5LCBHb2wgQmFyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUx1Z28gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUx1Z28KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTMxNjRhNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtTHVnbwpAQCAtMCwwICsxLDc0IEBACisjIERWQi1UIEx1Z28gKENlbnRybyBlbWlzb3IgUGFyYW1vKSAtIFJldi4gMS4yIC0gMTEuMTIuMDUKKworW1RWRSAxLCBUVkUgMiwgMjRIIFRWRSwgQ0xBTi81MCBUVkUsIFJORTEsIFJORSBDTEFTSUNBLCBSTkUzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVFZHLCBHQUxJQ0lBIFRWIEFNRVJJQ0EsIFJBRElPIEdBTEVHQSwgUi5HQUxFR0EgTVVTSUNBLCBTT04gR0FMSUNJQSBSQURJTywgUFJPQkFTIFJFVEVHQUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tURUxFREVQT1JURSwgVkVPIFRWLCBWRU8gMiwgTkVUIFRWXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ1VBVFJPLCBDTk4rLCA0MCBMQVRJTk8sIExBIFNFWFRBIDFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tURUxFQ0lOQ08sIFQ1IEVTVFJFTExBUywgVDUgU1BPUlQsIEZMWU1VU0lDXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQU5URU5BIDMsIEFOVEVOQS5ORU9YLCBBTlRFTkEuTk9WQSwgTEEgU0VYVEEgMl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1NYWRyaWQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLU1hZHJpZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MGRmNmU2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1NYWRyaWQKQEAgLTAsMCArMSwxNDIgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgZmlsZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSB3X3NjYW4KKyMgKGh0dHA6Ly93aXJiZWwuaHRwYy1mb3J1bS5kZS93X3NjYW4vaW5kZXgyLmh0bWwpCisjISA8d19zY2FuPiAyMDExMDMwNiAyIDAgT0ZETSBFUyA8L3dfc2Nhbj4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiA8YWRkIGRlc2NyaXB0aW9uIGhlcmU+CisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxMS0wMy0xNgorIyBwcm92aWRlZCBieSAob3B0KSAgICA6IDx5b3VyIG5hbWUgb3IgZW1haWwgaGVyZT4KKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVGVsZWRpZnVzaW9uIE1hZHJpZF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tSR0UyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbUkdFIE1BRFJJRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tURFQtQ0FNXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbU0ZOXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbU0ZOXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbU0ZOXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbU0ZOXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLU1hbGFnYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtTWFsYWdhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjUyMWU1ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLU1hbGFnYQpAQCAtMCwwICsxLDczIEBACisjIERWQi1UIE1hbGFnYSAoQW5kYWx1Y2lhKSAgICAgICAgICAgICAgICAgICBieSBQZWRybyBMZW9uIDQgTWF5byAyMDA3CitbQzU3IExhIFByaW1lcmEsIExhIDIsIENhbmFsIDI0SCwgQ2xhbi9UVkUgNTAsIFJORTEsIFJORSBDbMOhc2ljYSwgUk5FIDNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjMgQ2FuYWwgU3VyLCBDYW5hbCAyIEFuZGFsdWNpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M2NiBURUxFREVQT1JURSwgVkVPLCAqQ2FuYWwgSW5nZW5pZXJpYSwgU0VUZW5WRU8sIFRpZW5kYSBlbiBWRU8sIE5FVCBUViwgUmFkaW8gSW50ZXJlY29ub21pYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M2NyBDVUFUUk8sIENOTissIDQwIExBVElOTywgbGFTZXh0YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M2OCBUZWxlY2luY28sIFQ1IEVzdHJlbGxhcywgVDUgU3BvcnQsIEZMWU1VU0lDLCBQVU5UTyBSQURJT10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M2OSBBTlRFTkEgMywgQU5URU5BLk5FT1gsIEFOVEVOQS5OT1ZBLCAqdHZ0diBESUdJVEFMLCBPTkRBIENFUk8sIEVVUk9QQSBGTSwgT05EQSBNRUxPRElBLCBUZWxlaGl0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLU11cm9zLU5vaWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLU11cm9zLU5vaWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjZkMzAxNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtTXVyb3MtTm9pYQpAQCAtMCwwICsxLDg1IEBACisjIERWQi1UIE11cm9zIGFuZCBOb2lhCitbQ2FuYWwgMjc6IExvY2FsIFJpYmVpcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2MTogUkFSIEEgQ29ydW5oYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDYzOiBSR0UgR2FsaWNpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY2OiBTRk4gMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY3OiBTRk4gMl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY4OiBTRk4gM10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY5OiBTRk4gNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1NdXNzYXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1NdXNzYXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMwMjM4M2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLU11c3NhcmEKQEAgLTAsMCArMSw3MyBAQAorIyBEVkItVCBMYSBNdXNzYXJhIChSZXVzLVRhcnJhZ29uYSkKK1tjNTk6IFRWMywgSzMvMzMsIDMvMjQsIDMwMCwgM2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tjNjQ6IFRWRTEsIFRWRTIsIFRlbGVkZXBvcnRlLCBDMjRoXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbYzY2OiBUVkUgQ2xhblRWLCBUVkUgNTBhLCBWZW8xLCBWZW8yLCBOZXRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tjNjc6IEN1YXRybywgNDBMYXRpbm8sIENOTissIExhU2V4dGEgMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW2M2ODogVDUsIFQ1IFNwb3J0cywgVDUgRXN0cmVsbGFzLCBOZXQgRmx5IE11c2ljXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbYzY5OiBBbnRlbmEzLCBBbnRlbmEuTmVveCwgQW50ZW5hLk5vdmEsIExhIFNleHRhIDJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtUGFtcGxvbmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVBhbXBsb25hCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZlZDZmNTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVBhbXBsb25hCkBAIC0wLDAgKzEsODUgQEAKKyMgRFZCLVQgUGFtcGxvbmEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVNDX1RlbmVyaWZlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1TQ19UZW5lcmlmZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yNWVmM2JhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1TQ19UZW5lcmlmZQpAQCAtMCwwICsxLDE0OSBAQAorIyBGdW5jaW9uYSBjb3JyZWN0YW1lbnRlIGVuIFNhbnRhIENydXogZGUgVGVuZXJpZmUgKDI1LTA5LTIwMTApCisjIAorIyBSZXZpc2FkYSB5IGNvcnJlZ2lkYSBwb3IgZWwgR3J1cG8gZGUgVXN1YXJpb3MgZGUgTGludXggZGUgQ2FuYXJpYXMKKyMgaHR0cDovL3d3dy5ndWxpYy5vcmcKKyMKK1tDMjNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjBdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjddCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtU2FudGFuZGVyIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1TYW50YW5kZXIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDJmYzM5MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtU2FudGFuZGVyCkBAIC0wLDAgKzEsNTAgQEAKKyMgZmlsZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSB3X3NjYW4KKyMgKGh0dHA6Ly93aXJiZWwuaHRwYy1mb3J1bS5kZS93X3NjYW4vaW5kZXgyLmh0bWwpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1TYW50aWFnb19kZV9Db21wb3N0ZWxhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1TYW50aWFnb19kZV9Db21wb3N0ZWxhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc1OTQzZGIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVNhbnRpYWdvX2RlX0NvbXBvc3RlbGEKQEAgLTAsMCArMSw4NSBAQAorIyBEVkItVCBTYW50aWFnbyBkZSBDb21wb3N0ZWxhCitbQ2FuYWwgMjM6IExvY2FsIFNhbnRpYWdvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNDA6IFJBUiBTYW50aWFnb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDYzOiBSR0UgR2FsaWNpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY2OiBTRk4gMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY3OiBTRk4gMl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY4OiBTRk4gM10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY5OiBTRk4gNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1TZXZpbGxhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1TZXZpbGxhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE3ZWFlMmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVNldmlsbGEKQEAgLTAsMCArMSwyMzEgQEAKKyMgRFZCLVQgU2V2aWxsYSAoU3BhaW4pIGJ5IHgyIDE1LWFnb3MtMjAxMCwgbW9kaWZpY2FkbyAxNS1hZ28tMjAxMAorIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYW5rcyB0byBodHRwOi8vd3d3LnRkdDEuY29tCisjICAgICAgICAgdGhhbmtzIHRvIGh0dHA6Ly93aXJiZWwuaHRwYy1mb3J1bS5kZS93X3NjYW4vaW5kZXgyLmh0bWwKK1tDMzNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTddCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjddCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtVGVuZXJpZmUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVRlbmVyaWZlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM5N2EwMDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVRlbmVyaWZlCkBAIC0wLDAgKzEsMTQ1IEBACisjIERWQi1UIFRlbmVyaWZlLCBTcGFpbiAoMDMvMDQvMjAxMSkKK1tDYW5hbCAyMzogbGFTZXh0YSAyLCBsYVNleHRhIDMsIGxhU2V4dGEgSEQsIEMrIDIsIEN1YXRyb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDI0OiBDYW5hbCA3LCBNw61yYW1lLCBDYW5hbCA0IFRlbmVyaWZlXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgMjY6IE5pdHJvLCBBbnRlbmEgMywgTWFyY2EsIDEzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgMjk6IEJvaW5nLCBUZWxlNSBIRCwgTVRWLCBMYSAxMF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDQ1OiBUVkUgSEQsIHRkcF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDU2OiBDYW5hbCA2IFRlaWRlVmlzacOzbiwgRWxEw61hXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNTk6IFRWIENhbmFyaWEsIFRWIENhbmFyaWEgMiwgQW50ZW5hIDMgQ2FuYXJpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDYwOiBMYSAxLCBMYSAyLCAyNGgsIENsYW5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2NjogVGVsZWRlcG9ydGUsIENhbmFsIEluZ2VuaWVyw61hLCBWZW83LCBJbnRlcmVjb25vbcOtYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY3OiBsYVNleHRhLCBsYVNleHRhIDMsIEdvbCBUZWxldmlzacOzbiwgQ3VhdHJvLCBEaXZpbml0eSwgTGEgVGllbmRhIGVuIENhc2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2ODogVGVsZTUsIEZERiwgbGFTaWV0ZSwgRGlzbmV5IENoYW5uZWwsIEludGVyZWNvbm9tw61hXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjk6IEFudGVuYSAzLCBOZW94LCBOb3ZhLCBWZW83LCBBWE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtVmFsZW5jaWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVZhbGVuY2lhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQ0YzM1NjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVZhbGVuY2lhCkBAIC0wLDAgKzEsOTcgQEAKKyMgRFZCLVQgVmFsZW5jaWEsIFNwYWluCitbQ2FuYWwgMjM6IFRNViwgVGVsZSA3LCBBcHJlbmRlIGluZ2xlcyBUViwgRWQuIFByZW5zYSBWYWwuLFIuTWVkaWFtZWRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA1NTogVFYzLCAzMywgMy8yNCwgSzMvMzAwXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNTc6IENhbmFsIDksIFB1bnQgMiwgUG9wdWxhciBUViwgTFAgVGV2YSwgUmFkaW8gOSwgU2kgUmFkaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA1ODogVFZFIDEsIExhIDIsIDI0SCBUVkUsIENsYW4gVFZFLCBSTkUgMSwgUk5FIEMsIFJORSAzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjY6IFZlbywgU29ueSBUViBlbiBWZW8sIFRpZW5kYSBlbiBWZW8sIEludGVyZWNvbm9taWEsIFRlbGVkZXBvcnRlLCBSLiBJbnRlcmVjLiwgUi4gTWFyY2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2NzogQ3VhdHJvLCBDTk4rLCA0MCBMYXRpbm8sIFByb21vLCBMYSBTZXh0YSwgU2VyLCA0MCBQcmluYy4sIENhZC4gRGlhbF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY4OiBUZWxlY2luY28sIFRlbGVjaW5jbyAyLCBGREYsIENpbmNvIFNob3AsIERpc25leSBDaGFubmVsLCBQdW50byBSYWRpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY5OiBBbnRlbmEgMywgQW50ZW5hIE5lb3gsIEFudGVuYSBOb3ZhLCBIb2dhciAxMCwgT25kYSBDZXJvLCBFdXJvcGEgRk0sIE9uZGEgTWVsb2RpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1WYWxsYWRvbGlkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1WYWxsYWRvbGlkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMxYmYwYWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVZhbGxhZG9saWQKQEAgLTAsMCArMSw2MSBAQAorIyBEVkItVCBWYWxsYWRvbGlkCitbQ2FuYWwgNTc6IENsYW4gVFZFLCAyNEggVFZFLCBMYSAyLCBUVkUgMSwgUk5FMSwgUk5FMywgUk5DXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjY6IFZlbywgVmVvIDIsIE5ldCBUViwgVGVsZWRlcG9ydGVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2NzogQ3VhdHJvLCBDTk4rLCA0MCBMYXRpbm8sIExhIFNleHRhIDFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2ODogVGVsZWNpbmNvLCBUZWxlY2luY28gU3BvcnQsIFRlbGVjaW5jbyBFc3RyZWxsYXMsIEZseSBNdXNpY10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY5OiBBbnRlbmEgMywgQW50ZW5hIE5lb3gsIEFudGVuYSBOb3ZhLCBMYSBTZXh0YSAyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVZpbGFtYXJ4YW50IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1WaWxhbWFyeGFudApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMzU1ZWVmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1WaWxhbWFyeGFudApAQCAtMCwwICsxLDI1IEBACisjIERWQi1UIFZpbGFtYXJ4YW50LCBWYWxlbmNpYSwgQy4gVmFsZW5jaWFuYSwgU3BhaW4uCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtVml0b3JpYS1HYXN0ZWl6IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1WaXRvcmlhLUdhc3RlaXoKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTQ3NWM4YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtVml0b3JpYS1HYXN0ZWl6CkBAIC0wLDAgKzEsNzQgQEAKKyMgQ2hhbm5lbCBuYW1lcyBpbiB1c2UgYXQgMjAwOS8wNy8xMiwgaW4gQ2hhbm5lbCA2NiBbZmZmZV0gaXMgYSBzY3JhbWJsZWQgY2hhbm5lbC4KKyMgSW4gdGhlIGdlbmVyYXRlZCAqY2hhbm5lbHMuY29uZiBmaWxlIGNvdWxkIGJlIG5lY2VzYXJ5IHRvIGNoYW5nZSBJbnRlcmVjb25vbcOtYSwgUmFkaW8gSW50ZXJlY29ub23DrWEsIE9OREEgTUVMT0TDjUEgdG8gSW50ZXJlY29ub21pYSwgUmFkaW8gSW50ZXJlY29ub21pYSwgT05EQSBNRUxPRElBIGZvciBUb3RlbSB0byB3b3JrIHdlbGwuCitbQ2FuYWwgNTg6IEVUQjEsIEVUQjIsIEVUQjMsIEVUQlNBVCwgRXVza2FkaSBJcnJhdGlhLCBHYXp0ZWEsIEVpVEIgSXJyYXRpYSwgUmFkaW8gRXVza2FkaSwgUmFkaW8gVml0b3JpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDYzOiBMYSAxLCBMYSAyLCAyNGgsIENsYW4sIFJORTEsIFJORUMsIFJORTNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2NjogVGVsZWRlcG9ydGUsIENhbmFsIEluZ2VuaWVyaWEsIFZFTzcsIFNPTlkgVFYgZW4gVkVPLCBUaWVuZGEgZW4gVkVPLCBHVUlERSBQTFVTKywgSW50ZXJlY29ub23DrWEsIFJhZGlvIEludGVyZWNvbm9tw61hLCBbZmZmZV0sIFJBRElPIE1BUkNBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjc6IGxhU2V4dGEsIENVQVRSTywgQ05OKywgNDAgTEFUSU5PLCBDQU5BTCBDTFVCLCBTRVIsIDQwIFBSSU5DSVBBTEVTLCBDQURFTkEgRElBTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY4OiBUZWxlY2luY28sIEZERiwgTGFTaWV0ZSwgRGlzbmV5IENoYW5uZWwsIENpbmNvc2hvcF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY5OiBBTlRFTkEgMywgQU5URU5BLk5FT1gsIEFOVEVOQS5OT1ZBLCBPTkRBIENFUk8sIEVVUk9QQSBGTSwgT05EQSBNRUxPRMONQSwgSE9HQVIgMTBdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtWmFyYWdvemEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVphcmFnb3phCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU2YWFiNDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVphcmFnb3phCkBAIC0wLDAgKzEsNjIgQEAKKyMgRFZCLVQgWmFyYWdvemEgKEFyYWfDs24pIFtTcGFpbl0gW2VzLVphcmFnb3phXQorIyBHZW5lcmF0ZWQgYnkgVsOtY3RvciBNYXJ0w61uZXogUm9tYW5vcyA8dm1yb21hbm9zQGdtYWlsLmNvbT4KK1tDYW5hbCA2MzogVFZFIDEsIFRWRSAyLCAyNEgsIENMQU4vNTAsIFJORTEsIFJORUMsIFJORTNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2NjogVEVMRURFUE9SVEUsIFZFTyBUViwgVkVPIDIsIE5FVCBUVl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY3OiBDVUFUUk8sIENOTissIDQwIExBVElOTywgTEEgU0VYVEEgMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY4OiBUNSBFU1RSRUxMQVMsIFQ1IFNQT1JULCBURUxFQ0lOQ08sIEZMWU1VU0lDXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjk6IEFOVEVOQSAzLCBBTlRFTkEuTkVPWCwgQU5URU5BLk5PVkEsIExBIFNFWFRBIDJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktQWFuZWtvc2tpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1BYW5la29za2kKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2RkYTMyNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktQWFuZWtvc2tpCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbQWFuZWtvc2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tBYW5la29za2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0FhbmVrb3NraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQWFuZWtvc2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktQWFuZWtvc2tpX0tvbmdpbmthbmdhcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktQWFuZWtvc2tpX0tvbmdpbmthbmdhcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mZjEzNzQxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1BYW5la29za2lfS29uZ2lua2FuZ2FzCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbQWFuZWtvc2tpX0tvbmdpbmthbmdhc10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQWFuZWtvc2tpX0tvbmdpbmthbmdhc10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQWFuZWtvc2tpX0tvbmdpbmthbmdhc10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQWFuZWtvc2tpX0tvbmdpbmthbmdhc10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUFodGFyaSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktQWh0YXJpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFhOTBlYTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUFodGFyaQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0FodGFyaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQWh0YXJpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktQWxhamFydmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUFsYWphcnZpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjcxMjQ4M2QKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUFsYWphcnZpCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbQWxhamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0FsYWphcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tBbGFqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQWxhamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1BbmphbGFua29za2lfUnVvdGlsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktQW5qYWxhbmtvc2tpX1J1b3RpbGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGFlMTIzMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktQW5qYWxhbmtvc2tpX1J1b3RpbGEKQEAgLTAsMCArMSwyOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tBbmphbGFua29za2lfUnVvdGlsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQW5qYWxhbmtvc2tpX1J1b3RpbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0FuamFsYW5rb3NraV9SdW90aWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tBbmphbGFua29za2lfUnVvdGlsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQW5qYWxhbmtvc2tpX1J1b3RpbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUVzcG9vIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtRXNwb28KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2Q3NGZjMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUVzcG9vCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxODQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtRXVyYWpva2kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1FdXJham9raQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zMWRlOTM1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtRXVyYWpva2kKQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE4NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1IYW1lZW5saW5uYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUhhbWVlbmxpbm5hCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkyYjRlY2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1IYW1lZW5saW5uYQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjE5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjI2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjEyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUhhbWluYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUhhbWluYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNTI1Y2IwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtSGFtaW5hCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtSGF1c2phcnZpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtSGF1c2phcnZpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkyYjRlY2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1IYXVzamFydmkKQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIyNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1IZWxzaW5raSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUhlbHNpbmtpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdkNzRmYzEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1IZWxzaW5raQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTg0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUpva2lvaW5lbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUpva2lvaW5lbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45MmI0ZWNmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtSm9raW9pbmVuCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtSnl2YXNreWxhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtSnl2YXNreWxhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkyNWM4MjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1KeXZhc2t5bGEKQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1LYWFyaW5hIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtS2FhcmluYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44NWNhM2JkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtS2FhcmluYQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjA1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUthamFhbmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1LYWphYW5pCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM1MjVjYjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1LYWphYW5pCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtS2FuZ2FzYWxhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtS2FuZ2FzYWxhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNiMjdkZTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1LYW5nYXNhbGEKQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIyNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1LYXJra2lsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUthcmtraWxhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdkNzRmYzEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1LYXJra2lsYQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTg0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUtpaW1pbmtpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtS2lpbWlua2kKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTI1YzgyNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUtpaW1pbmtpCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMDU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtS29ra29sYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUtva2tvbGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTI1YzgyNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUtva2tvbGEKQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1Lb250aW9sYWh0aSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUtvbnRpb2xhaHRpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI3ODk1ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1Lb250aW9sYWh0aQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjEyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjA1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjI2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUtvdXZvbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1Lb3V2b2xhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM1MjVjYjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1Lb3V2b2xhCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtS3VvcGlvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtS3VvcGlvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjYzYmUzY2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1LdW9waW8KQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE4NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1MYWh0aSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUxhaHRpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjgxNDdkNTAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1MYWh0aQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjA1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUxhcHBlZW5yYW50YSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUxhcHBlZW5yYW50YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iNzg5NWQwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtTGFwcGVlbnJhbnRhCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMDU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtTG9oamEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1Mb2hqYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ZDc0ZmMxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtTG9oamEKQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE4NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1Mb3ZpaXNhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtTG92aWlzYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ZDc0ZmMxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtTG92aWlzYQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTg0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLU1pa2tlbGkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1NaWtrZWxpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI3ODk1ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1NaWtrZWxpCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMDU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtTm91c2lhaW5lbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLU5vdXNpYWluZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODVjYTNiZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLU5vdXNpYWluZW4KQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1OdXJtaWphcnZpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtTnVybWlqYXJ2aQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ZDc0ZmMxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtTnVybWlqYXJ2aQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTg0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVBvcnZvbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVBvcnZvbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ZDc0ZmMxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtUG9ydm9vCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxODQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtU2FsbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVNhbG8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODVjYTNiZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVNhbG8KQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1TYXZvbmxpbm5hIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtU2F2b25saW5uYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43Mjk1NDEzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtU2F2b25saW5uYQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjEyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjA1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjE5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVNlaW5ham9raSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVNlaW5ham9raQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yZjVkN2U1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtU2VpbmFqb2tpCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtVHlybmF2YSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVR5cm5hdmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTI1YzgyNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVR5cm5hdmEKQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1VbHZpbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1VbHZpbGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzFkZTkzNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVVsdmlsYQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjA1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTg0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVZhYXNhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtVmFhc2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmY1ZDdlNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVZhYXNhCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtVmFsa2Vha29za2kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1WYWxrZWFrb3NraQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jYjI3ZGUyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtVmFsa2Vha29za2kKQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIyNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1WZXNpbGFodGkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1WZXNpbGFodGkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2IyN2RlMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVZlc2lsYWh0aQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjI2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjEyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVlsaXZpZXNrYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVlsaXZpZXNrYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44MTQ3ZDUwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtWWxpdmllc2thCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMDU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Fbm9udGVraW9fQWhvdmFhcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUVub250ZWtpb19BaG92YWFyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yMWFiZGJjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Fbm9udGVraW9fQWhvdmFhcmEKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tFbm9udGVraW9fQWhvdmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0Vub250ZWtpb19BaG92YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUVub250ZWtpb19IZXR0YSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRW5vbnRla2lvX0hldHRhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZmZjZiODQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUVub250ZWtpb19IZXR0YQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0Vub250ZWtpb19IZXR0YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbRW5vbnRla2lvX0hldHRhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRW5vbnRla2lvX0t1dHRhbmVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Fbm9udGVraW9fS3V0dGFuZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjlhNmFmOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRW5vbnRla2lvX0t1dHRhbmVuCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbRW5vbnRla2lvX0t1dHRhbmVuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tFbm9udGVraW9fS3V0dGFuZW5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Fc3BvbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRXNwb28KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2ViOTA2ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRXNwb28KQEAgLTAsMCArMSwzMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tFc3Bvby1BXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tFc3Bvby1CXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tFc3Bvby1DXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tFc3Bvby1FXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tFc3Bvby1EXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbRXNwb28tSF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1FdXJham9raSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRXVyYWpva2kKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWQwOTBhNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRXVyYWpva2kKQEAgLTAsMCArMSwyOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tFdXJham9raV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbRXVyYWpva2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0V1cmFqb2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tFdXJham9raV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbRXVyYWpva2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRmlza2FycyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRmlza2FycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wZjg0YmI3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1GaXNrYXJzCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbRmlza2Fyc10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbRmlza2Fyc10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbRmlza2Fyc10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbRmlza2Fyc10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUhhYXBhdmVzaSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSGFhcGF2ZXNpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhiZTFmNjIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUhhYXBhdmVzaQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0hhYXBhdmVzaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSGFhcGF2ZXNpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tIYWFwYXZlc2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0hhYXBhdmVzaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUhhbWVlbmt5cm9fS3lyb3Nrb3NraSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSGFtZWVua3lyb19LeXJvc2tvc2tpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhhOTg3OTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUhhbWVlbmt5cm9fS3lyb3Nrb3NraQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0hhbWVlbmt5cm9fS3lyb3Nrb3NraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSGFtZWVua3lyb19LeXJvc2tvc2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tIYW1lZW5reXJvX0t5cm9za29za2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0hhbWVlbmt5cm9fS3lyb3Nrb3NraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUhhbWVlbmxpbm5hX1BhaW5va2FuZ2FzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IYW1lZW5saW5uYV9QYWlub2thbmdhcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45YTU2YjJiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IYW1lZW5saW5uYV9QYWlub2thbmdhcwpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0hhbWVlbmxpbm5hX1BhaW5va2FuZ2FzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tIYW1lZW5saW5uYV9QYWlub2thbmdhc10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSGFtZWVubGlubmFfUGFpbm9rYW5nYXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IYW5rbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSGFua28KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWIwOGExNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSGFua28KQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tIYW5rb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSGFua29dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0hhbmtvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tIYW5rb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUhhcnRvbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUhhcnRvbGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDEwZGYyMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSGFydG9sYQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0hhcnRvbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0hhcnRvbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0hhcnRvbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IZWluYXZlc2kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUhlaW5hdmVzaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iMzNiYjM5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IZWluYXZlc2kKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tIZWluYXZlc2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0hlaW5hdmVzaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSGVpbmF2ZXNpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSGVpbm9sYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSGVpbm9sYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43YTZmMjM0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IZWlub2xhCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSGVpbm9sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSGVpbm9sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSGVpbm9sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSGVpbm9sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUh5cnluc2FsbWkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUh5cnluc2FsbWkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTExZjg5YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSHlyeW5zYWxtaQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0h5cnluc2FsbWldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0h5cnluc2FsbWldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0h5cnluc2FsbWldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IeXJ5bnNhbG1pX0t5cGFyYXZhYXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IeXJ5bnNhbG1pX0t5cGFyYXZhYXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY0MDJkOGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUh5cnluc2FsbWlfS3lwYXJhdmFhcmEKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tIeXJ5bnNhbG1pX0t5cGFyYXZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tIeXJ5bnNhbG1pX0t5cGFyYXZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tIeXJ5bnNhbG1pX0t5cGFyYXZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSHlyeW5zYWxtaV9QYWxqYWtrYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSHlyeW5zYWxtaV9QYWxqYWtrYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44MDZhM2MwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IeXJ5bnNhbG1pX1BhbGpha2thCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSHlyeW5zYWxtaV9QYWxqYWtrYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSHlyeW5zYWxtaV9QYWxqYWtrYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSHlyeW5zYWxtaV9QYWxqYWtrYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUh5dmlua2FhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IeXZpbmthYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lNzExYjE2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IeXZpbmthYQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0h5dmlua2FhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tIeXZpbmthYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSHl2aW5rYWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0h5dmlua2FhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSWlfUmFpc2tpbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSWlfUmFpc2tpbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jNWZkYTY3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1JaV9SYWlza2lvCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSWlfUmFpc2tpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSWlfUmFpc2tpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUlpc2FsbWkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUlpc2FsbWkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDI4MTgyNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSWlzYWxtaQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0lpc2FsbWldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0lpc2FsbWldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Ja2FhbGluZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUlrYWFsaW5lbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44ODVkNDRiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Ja2FhbGluZW4KQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tJa2FhbGluZW5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0lrYWFsaW5lbl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSWthYWxpbmVuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tJa2FhbGluZW5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Ja2FhbGluZW5fUmlpdGlhbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUlrYWFsaW5lbl9SaWl0aWFsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41NWQ4MjAyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Ja2FhbGluZW5fUmlpdGlhbGEKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tJa2FhbGluZW5fUmlpdGlhbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0lrYWFsaW5lbl9SaWl0aWFsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSWthYWxpbmVuX1JpaXRpYWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tJa2FhbGluZW5fUmlpdGlhbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1JbmFyaSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSW5hcmkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzFkZWIyMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSW5hcmkKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tJbmFyaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSW5hcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1JbmFyaV9KYW5pc3BhYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSW5hcmlfSmFuaXNwYWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzdiZDMxZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSW5hcmlfSmFuaXNwYWEKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tJbmFyaV9KYW5pc3BhYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSW5hcmlfSmFuaXNwYWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1JbmFyaV9OYWF0YW1vIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1JbmFyaV9OYWF0YW1vCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJhODQzNjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUluYXJpX05hYXRhbW8KQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tJbmFyaV9OYWF0YW1vXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tJbmFyaV9OYWF0YW1vXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSXZhbG9fU2FhcmluZWl0YW1vdmFhcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUl2YWxvX1NhYXJpbmVpdGFtb3ZhYXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjcwMTgxYmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUl2YWxvX1NhYXJpbmVpdGFtb3ZhYXJhCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSXZhbG9fU2FhcmluZWl0YW1vdmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0l2YWxvX1NhYXJpbmVpdGFtb3ZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSmFsYXNqYXJ2aSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSmFsYXNqYXJ2aQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45YmM3MDU4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KYWxhc2phcnZpCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSmFsYXNqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSmFsYXNqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSmFsYXNqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSmFsYXNqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUphbXNhX0hhbGxpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KYW1zYV9IYWxsaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41ZDA2NTIwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KYW1zYV9IYWxsaQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0phbXNhX0hhbGxpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKYW1zYV9IYWxsaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSmFtc2FfSGFsbGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0phbXNhX0hhbGxpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSmFtc2FfS2FpcG9sYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSmFtc2FfS2FpcG9sYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jYThlNTYzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KYW1zYV9LYWlwb2xhCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSmFtc2FfS2FpcG9sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSmFtc2FfS2FpcG9sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSmFtc2FfS2FpcG9sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSmFtc2FfS2FpcG9sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUphbXNhX01hdGtvc3Z1b3JpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KYW1zYV9NYXRrb3N2dW9yaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lYWNhY2ZmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KYW1zYV9NYXRrb3N2dW9yaQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0phbXNhX01hdGtvc3Z1b3JpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKYW1zYV9NYXRrb3N2dW9yaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSmFtc2FfTWF0a29zdnVvcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0phbXNhX01hdGtvc3Z1b3JpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSmFtc2FfT3VuaW5wb2hqYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSmFtc2FfT3VuaW5wb2hqYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43MGViOGUxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KYW1zYV9PdW5pbnBvaGphCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSmFtc2FfT3VuaW5wb2hqYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSmFtc2FfT3VuaW5wb2hqYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSmFtc2FfT3VuaW5wb2hqYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUphbXNhbmtvc2tpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KYW1zYW5rb3NraQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xNDJiZTkxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KYW1zYW5rb3NraQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0phbXNhbmtvc2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKYW1zYW5rb3NraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSmFtc2Fua29za2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0phbXNhbmtvc2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSm9lbnN1dV9WZXN0aW5rYWxsaW8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUpvZW5zdXVfVmVzdGlua2FsbGlvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc2NWJhMWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUpvZW5zdXVfVmVzdGlua2FsbGlvCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSm9lbnN1dV9WZXN0aW5rYWxsaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0pvZW5zdXVfVmVzdGlua2FsbGlvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKb2Vuc3V1X1Zlc3RpbmthbGxpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUpvcm9pbmVuX1B1dWtrb2xhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Kb3JvaW5lbl9QdXVra29sYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41ZmNlOGRiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Kb3JvaW5lbl9QdXVra29sYQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0pvcm9pbmVuX1B1dWtrb2xhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKb3JvaW5lbl9QdXVra29sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSm9yb2luZW5fUHV1a2tvbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Kb3V0c2FfTGFua2lhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Kb3V0c2FfTGFua2lhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNjNDRjODEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUpvdXRzYV9MYW5raWEKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tKb3V0c2FfTGFua2lhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKb3V0c2FfTGFua2lhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKb3V0c2FfTGFua2lhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKb3V0c2FfTGFua2lhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSm91dHNlbm8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUpvdXRzZW5vCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjgwMzM3ZmMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUpvdXRzZW5vCkBAIC0wLDAgKzEsMjggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSm91dHNlbm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0pvdXRzZW5vXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKb3V0c2Vub10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSm91dHNlbm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0pvdXRzZW5vXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUp1dXBham9raV9Lb3BzYW1vIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KdXVwYWpva2lfS29wc2FtbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hOTlhZjc3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KdXVwYWpva2lfS29wc2FtbwpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0p1dXBham9raV9Lb3BzYW1vXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKdXVwYWpva2lfS29wc2Ftb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSnV1cGFqb2tpX0tvcHNhbW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KdXZhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KdXZhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFiOGExNWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUp1dmEKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tKdXZhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKdXZhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKdXZhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKdXZhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSnl2YXNreWxhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KeXZhc2t5bGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDJjZWQ5ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSnl2YXNreWxhCkBAIC0wLDAgKzEsMzMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSnl2YXNreWxhLUFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0p5dmFza3lsYS1CXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKeXZhc2t5bGEtQ10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSnl2YXNreWxhLUVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0p5dmFza3lsYS1EXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSnl2YXNreWxhLUhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSnl2YXNreWxhX1ZhYWpha29za2kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUp5dmFza3lsYV9WYWFqYWtvc2tpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkyYjVhYzkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUp5dmFza3lsYV9WYWFqYWtvc2tpCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSnl2YXNreWxhX1ZhYWpha29za2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0p5dmFza3lsYV9WYWFqYWtvc2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKeXZhc2t5bGFfVmFhamFrb3NraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthYXZpX1NpdmFra2F2YWFyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2FhdmlfU2l2YWtrYXZhYXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc1OTVhMzkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthYXZpX1NpdmFra2F2YWFyYQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0thYXZpX1NpdmFra2F2YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2FhdmlfU2l2YWtrYXZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLYWF2aV9TaXZha2thdmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYWphYW5pX1BvbGx5dmFhcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthamFhbmlfUG9sbHl2YWFyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zZWE3YjkwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYWphYW5pX1BvbGx5dmFhcmEKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLYWphYW5pX1BvbGx5dmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0thamFhbmlfUG9sbHl2YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2FqYWFuaV9Qb2xseXZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2FsYWpva2kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthbGFqb2tpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNhYjc5NmQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthbGFqb2tpCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS2FsYWpva2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0thbGFqb2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLYWxham9raV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthbmdhc2xhbXBpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYW5nYXNsYW1waQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kODRiMmE5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYW5nYXNsYW1waQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0thbmdhc2xhbXBpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLYW5nYXNsYW1waV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2FuZ2FzbGFtcGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0thbmdhc2xhbXBpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2FuZ2FzbmllbWlfVHVya2lubWFraSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2FuZ2FzbmllbWlfVHVya2lubWFraQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41NjQ3NmU2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYW5nYXNuaWVtaV9UdXJraW5tYWtpCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS2FuZ2FzbmllbWlfVHVya2lubWFraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2FuZ2FzbmllbWlfVHVya2lubWFraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2FuZ2FzbmllbWlfVHVya2lubWFraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2FuZ2FzbmllbWlfVHVya2lubWFraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthbmthYW5wYWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthbmthYW5wYWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTNkZjdiYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2Fua2FhbnBhYQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0thbmthYW5wYWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0thbmthYW5wYWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0thbmthYW5wYWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0thbmthYW5wYWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYXJpZ2FzbmllbWkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthcmlnYXNuaWVtaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MDU0OGM3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYXJpZ2FzbmllbWkKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLYXJpZ2FzbmllbWldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0thcmlnYXNuaWVtaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthcmtraWxhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYXJra2lsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kNTk4ZjQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYXJra2lsYQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0thcmtraWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLYXJra2lsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2Fya2tpbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0thcmtraWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2Fyc3R1bGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthcnN0dWxhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRmZDMwMDEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthcnN0dWxhCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS2Fyc3R1bGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0thcnN0dWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLYXJzdHVsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthcnZpYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2FydmlhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjUxZTg5YjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthcnZpYQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0thcnZpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2FydmlhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLYXJ2aWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYXVuaXNwYWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthdW5pc3BhYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lOWZlYTljCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYXVuaXNwYWEKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLYXVuaXNwYWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0thdW5pc3BhYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtlbWlqYXJ2aV9TdW9tdXR1bnR1cmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtlbWlqYXJ2aV9TdW9tdXR1bnR1cmkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGFjNWQ5MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2VtaWphcnZpX1N1b211dHVudHVyaQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0tlbWlqYXJ2aV9TdW9tdXR1bnR1cmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tlbWlqYXJ2aV9TdW9tdXR1bnR1cmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LZXJpbWFraSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2VyaW1ha2kKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjhmNDVkMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2VyaW1ha2kKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLZXJpbWFraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2VyaW1ha2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tlcmltYWtpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLZXJpbWFraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtldXJ1dSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2V1cnV1Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRkNDliNWIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtldXJ1dQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0tldXJ1dV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2V1cnV1XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLZXVydXVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tldXJ1dV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtldXJ1dV9IYWFwYW1ha2kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtldXJ1dV9IYWFwYW1ha2kKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2ZiOWIwZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2V1cnV1X0hhYXBhbWFraQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0tldXJ1dV9IYWFwYW1ha2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tldXJ1dV9IYWFwYW1ha2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tldXJ1dV9IYWFwYW1ha2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tldXJ1dV9IYWFwYW1ha2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LaWhuaW8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtpaG5pbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43YzVjOTkyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LaWhuaW8KQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLaWhuaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tpaG5pb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2lobmlvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLaWhuaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LaWlodGVseXN2YWFyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2lpaHRlbHlzdmFhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTJlNjBiOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2lpaHRlbHlzdmFhcmEKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLaWlodGVseXN2YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2lpaHRlbHlzdmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LaWxwaXNqYXJ2aSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2lscGlzamFydmkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWQzNDM1YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2lscGlzamFydmkKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLaWxwaXNqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2lscGlzamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LaXR0aWxhX0xldml0dW50dXJpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LaXR0aWxhX0xldml0dW50dXJpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFlNGMxYzkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtpdHRpbGFfTGV2aXR1bnR1cmkKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLaXR0aWxhX0xldml0dW50dXJpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLaXR0aWxhX0xldml0dW50dXJpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS29sYXJpX1Z1b2xpdHRhamEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtvbGFyaV9WdW9saXR0YWphCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY1MDc3NTAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtvbGFyaV9WdW9saXR0YWphCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS29sYXJpX1Z1b2xpdHRhamFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tvbGFyaV9WdW9saXR0YWphXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS29saSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS29saQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wMzRiZjJkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Lb2xpCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS29saV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS29saV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS29saV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS29saV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtvcnBpbGFodGlfVmFhcnVudnVvcmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtvcnBpbGFodGlfVmFhcnVudnVvcmkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2ZhM2VkNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS29ycGlsYWh0aV9WYWFydW52dW9yaQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0tvcnBpbGFodGlfVmFhcnVudnVvcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tvcnBpbGFodGlfVmFhcnVudnVvcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tvcnBpbGFodGlfVmFhcnVudnVvcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tvcnBpbGFodGlfVmFhcnVudnVvcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Lb3JwcG9vIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Lb3JwcG9vCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZjODQyNDEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtvcnBwb28KQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLb3JwcG9vXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLb3JwcG9vXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLb3JwcG9vXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLb3JwcG9vXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3J1dW51cHl5IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LcnV1bnVweXkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjVkODZjNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3J1dW51cHl5CkBAIC0wLDAgKzEsMjggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS3J1dW51cHl5XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLcnV1bnVweXldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tydXVudXB5eV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3J1dW51cHl5XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLcnV1bnVweXldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3VobW9fSGF1a2VsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3VobW9fSGF1a2VsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jM2EzYmQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdWhtb19IYXVrZWxhCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS3VobW9fSGF1a2VsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3VobW9fSGF1a2VsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3VobW9fSGF1a2VsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt1aG1vX0xlbnRpaXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdWhtb19MZW50aWlyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xMTI3OTk5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdWhtb19MZW50aWlyYQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0t1aG1vX0xlbnRpaXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLdWhtb19MZW50aWlyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3VobW9fTGVudGlpcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdWhtb19OaXZhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdWhtb19OaXZhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZmN2FhMmMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt1aG1vX05pdmEKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLdWhtb19OaXZhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLdWhtb19OaXZhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLdWhtb19OaXZhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3VobW9pbmVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdWhtb2luZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTNkMmRlOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3VobW9pbmVuCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS3VobW9pbmVuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLdWhtb2luZW5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0t1aG1vaW5lbl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3VobW9pbmVuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3VobW9pbmVuX0hhcmp1bnNhbG1pIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdWhtb2luZW5fSGFyanVuc2FsbWkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDU5ZGY5MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3VobW9pbmVuX0hhcmp1bnNhbG1pCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS3VobW9pbmVuX0hhcmp1bnNhbG1pXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLdWhtb2luZW5fSGFyanVuc2FsbWldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0t1aG1vaW5lbl9IYXJqdW5zYWxtaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3VobW9pbmVuX0hhcmp1bnNhbG1pXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3VobW9pbmVuX1B1dWtrb2luZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt1aG1vaW5lbl9QdXVra29pbmVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjExM2UwZjQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt1aG1vaW5lbl9QdXVra29pbmVuCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS3VobW9pbmVuX1B1dWtrb2luZW5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0t1aG1vaW5lbl9QdXVra29pbmVuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLdWhtb2luZW5fUHV1a2tvaW5lbl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt1b3BpbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3VvcGlvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmViMzllNWYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt1b3BpbwpAQCAtMCwwICsxLDI4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0t1b3Bpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3VvcGlvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLdW9waW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0t1b3Bpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3VvcGlvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt1cmlra2FfS2VzdGkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt1cmlra2FfS2VzdGkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzM0Y2ZlNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3VyaWtrYV9LZXN0aQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0t1cmlra2FfS2VzdGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0t1cmlra2FfS2VzdGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0t1cmlra2FfS2VzdGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0t1cmlra2FfS2VzdGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdXN0YXZpX1ZpaGVybGFodGkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt1c3RhdmlfVmloZXJsYWh0aQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lY2VmNzRkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdXN0YXZpX1ZpaGVybGFodGkKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLdXN0YXZpX1ZpaGVybGFodGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0t1c3RhdmlfVmloZXJsYWh0aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3VzdGF2aV9WaWhlcmxhaHRpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLdXN0YXZpX1ZpaGVybGFodGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdXVzYW1vX0hhbXBwdWxhbXBpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdXVzYW1vX0hhbXBwdWxhbXBpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZjZTkyNDMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt1dXNhbW9fSGFtcHB1bGFtcGkKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLdXVzYW1vX0hhbXBwdWxhbXBpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLdXVzYW1vX0hhbXBwdWxhbXBpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3l5amFydmlfTm9wb3NlbmFobyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3l5amFydmlfTm9wb3NlbmFobwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kM2RlYWI4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LeXlqYXJ2aV9Ob3Bvc2VuYWhvCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS3l5amFydmlfTm9wb3NlbmFob10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3l5amFydmlfTm9wb3NlbmFob10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3l5amFydmlfTm9wb3NlbmFob10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUxhaHRpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1MYWh0aQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mNGM4OWI4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1MYWh0aQpAQCAtMCwwICsxLDMzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0xhaHRpLUFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0xhaHRpLUJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0xhaHRpLUNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0xhaHRpLUVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0xhaHRpLURdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMYWh0aS1IXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUxhcHVhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1MYXB1YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45MDg0NDQwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1MYXB1YQpAQCAtMCwwICsxLDI4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0xhcHVhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMYXB1YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTGFwdWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0xhcHVhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMYXB1YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1MYXVrYWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUxhdWthYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zYzQ4NGFlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1MYXVrYWEKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tMYXVrYWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0xhdWthYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTGF1a2FhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMYXVrYWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1MYXVrYWFfVmlodGF2dW9yaSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTGF1a2FhX1ZpaHRhdnVvcmkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWJjOTNhNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTGF1a2FhX1ZpaHRhdnVvcmkKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tMYXVrYWFfVmlodGF2dW9yaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTGF1a2FhX1ZpaHRhdnVvcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0xhdWthYV9WaWh0YXZ1b3JpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMYXVrYWFfVmlodGF2dW9yaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUxhdmlhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1MYXZpYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mMmYxMzkxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1MYXZpYQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0xhdmlhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMYXZpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTGF2aWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Mb2hqYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTG9oamEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDA0MGY5YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTG9oamEKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tMb2hqYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTG9oamFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0xvaGphXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMb2hqYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUxvaW1hYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTG9pbWFhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBiNmFhZDgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUxvaW1hYQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0xvaW1hYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTG9pbWFhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMb2ltYWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0xvaW1hYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUx1aGFua2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUx1aGFua2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjY0MDdjZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTHVoYW5rYQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0x1aGFua2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0x1aGFua2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0x1aGFua2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0x1aGFua2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1MdW9waW9pbmVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1MdW9waW9pbmVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjllZDRlM2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUx1b3Bpb2luZW4KQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tMdW9waW9pbmVuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMdW9waW9pbmVuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMdW9waW9pbmVuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMdW9waW9pbmVuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTWFudHRhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1NYW50dGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTIwMTQwNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTWFudHRhCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbTWFudHRhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tNYW50dGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW01hbnR0YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTWFudHRhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTWFudHloYXJqdSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTWFudHloYXJqdQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zYjdmMTI3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1NYW50eWhhcmp1CkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbTWFudHloYXJqdV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTWFudHloYXJqdV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTWFudHloYXJqdV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU1pa2tlbGkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU1pa2tlbGkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjUyMzg3OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTWlra2VsaQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW01pa2tlbGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW01pa2tlbGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW01pa2tlbGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW01pa2tlbGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1NdW9uaW9fT2xvc3R1bnR1cmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU11b25pb19PbG9zdHVudHVyaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iZmRmMGM3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1NdW9uaW9fT2xvc3R1bnR1cmkKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tNdW9uaW9fT2xvc3R1bnR1cmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW011b25pb19PbG9zdHVudHVyaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU5pbHNpYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTmlsc2lhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIwOGQxYzQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU5pbHNpYQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW05pbHNpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTmlsc2lhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tOaWxzaWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW05pbHNpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU5pbHNpYV9LZXNraS1TaWlrYWphcnZpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1OaWxzaWFfS2Vza2ktU2lpa2FqYXJ2aQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iZmJjNTYxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1OaWxzaWFfS2Vza2ktU2lpa2FqYXJ2aQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW05pbHNpYV9LZXNraS1TaWlrYWphcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tOaWxzaWFfS2Vza2ktU2lpa2FqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTmlsc2lhX0tlc2tpLVNpaWthamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1OaWxzaWFfUGlzYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTmlsc2lhX1Bpc2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGM4ZWUzNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTmlsc2lhX1Bpc2EKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tOaWxzaWFfUGlzYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTmlsc2lhX1Bpc2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW05pbHNpYV9QaXNhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTm9raWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU5va2lhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJhMmIzODAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU5va2lhCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbTm9raWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW05va2lhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tOb2tpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTm9raWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Ob2tpYV9TaXVybyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTm9raWFfU2l1cm8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWJhM2NjYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTm9raWFfU2l1cm8KQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tOb2tpYV9TaXVyb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTm9raWFfU2l1cm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW05va2lhX1NpdXJvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tOb2tpYV9TaXVyb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU51bW1pLVB1c3VsYV9IeW9ub2xhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1OdW1taS1QdXN1bGFfSHlvbm9sYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wODg0MGNjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1OdW1taS1QdXN1bGFfSHlvbm9sYQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW051bW1pLVB1c3VsYV9IeW9ub2xhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tOdW1taS1QdXN1bGFfSHlvbm9sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTnVtbWktUHVzdWxhX0h5b25vbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW051bW1pLVB1c3VsYV9IeW9ub2xhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTnVvcmdhbV9OamFsbGF2YWFyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTnVvcmdhbV9OamFsbGF2YWFyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lMWMxYzNlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1OdW9yZ2FtX05qYWxsYXZhYXJhCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbTnVvcmdhbV9OamFsbGF2YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTnVvcmdhbV9OamFsbGF2YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU51b3JnYW1fcmFqYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTnVvcmdhbV9yYWphCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJiMmNiM2MKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU51b3JnYW1fcmFqYQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW051b3JnYW1fcmFqYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTnVvcmdhbV9yYWphXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTnVybWVzX0tvbm5hbnZhYXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1OdXJtZXNfS29ubmFudmFhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2NkM2Q5MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTnVybWVzX0tvbm5hbnZhYXJhCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbTnVybWVzX0tvbm5hbnZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tOdXJtZXNfS29ubmFudmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW051cm1lc19Lb25uYW52YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTnVybWVzX0tvbm5hbnZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTnVybWVzX0tvcnRldmFhcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU51cm1lc19Lb3J0ZXZhYXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNlMTE4YWQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU51cm1lc19Lb3J0ZXZhYXJhCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbTnVybWVzX0tvcnRldmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW051cm1lc19Lb3J0ZXZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tOdXJtZXNfS29ydGV2YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU9yaXZlc2lfVGFsdmlhaW5lbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktT3JpdmVzaV9UYWx2aWFpbmVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE0OTc4MmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU9yaXZlc2lfVGFsdmlhaW5lbgpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW09yaXZlc2lfVGFsdmlhaW5lbl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbT3JpdmVzaV9UYWx2aWFpbmVuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tPcml2ZXNpX1RhbHZpYWluZW5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1PdWx1IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1PdWx1Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBlMzkwNmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU91bHUKQEAgLTAsMCArMSwzMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tPdWx1LUFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW091bHUtQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbT3VsdS1DXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tPdWx1LUVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW091bHUtRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW091bHUtSF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QYWRhc2pva2kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBhZGFzam9raQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40NzI0NmI0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QYWRhc2pva2kKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tQYWRhc2pva2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1BhZGFzam9raV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUGFkYXNqb2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQYWRhc2pva2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QYWRhc2pva2lfQXJyYWtvc2tpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QYWRhc2pva2lfQXJyYWtvc2tpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM4YzFiMDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBhZGFzam9raV9BcnJha29za2kKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tQYWRhc2pva2lfQXJyYWtvc2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQYWRhc2pva2lfQXJyYWtvc2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQYWRhc2pva2lfQXJyYWtvc2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQYWRhc2pva2lfQXJyYWtvc2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGFsdGFtb19LaXZlc3ZhYXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QYWx0YW1vX0tpdmVzdmFhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTZmOGJhMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGFsdGFtb19LaXZlc3ZhYXJhCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUGFsdGFtb19LaXZlc3ZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQYWx0YW1vX0tpdmVzdmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1BhbHRhbW9fS2l2ZXN2YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBhcmFpbmVuX0hvdXRza2FyaSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGFyYWluZW5fSG91dHNrYXJpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmUxODc4MTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBhcmFpbmVuX0hvdXRza2FyaQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1BhcmFpbmVuX0hvdXRza2FyaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUGFyYWluZW5fSG91dHNrYXJpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQYXJhaW5lbl9Ib3V0c2thcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1BhcmFpbmVuX0hvdXRza2FyaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBhcmlra2FsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGFyaWtrYWxhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmYwZjUyZjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBhcmlra2FsYQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1Bhcmlra2FsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUGFyaWtrYWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQYXJpa2thbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1Bhcmlra2FsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBhcmthbm9fU29wdWthbGxpbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGFya2Fub19Tb3B1a2FsbGlvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjYyZTg1MDcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBhcmthbm9fU29wdWthbGxpbwpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1Bhcmthbm9fU29wdWthbGxpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUGFya2Fub19Tb3B1a2FsbGlvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQYXJrYW5vX1NvcHVrYWxsaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1Bhcmthbm9fU29wdWthbGxpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBlbGxvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QZWxsbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yY2JkMjhlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QZWxsbwpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1BlbGxvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQZWxsb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBlbGxvX1JhdGFzdmFhcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBlbGxvX1JhdGFzdmFhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmY3ZjY2MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGVsbG9fUmF0YXN2YWFyYQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1BlbGxvX1JhdGFzdmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1BlbGxvX1JhdGFzdmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QZXJobyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGVyaG8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGE3YTJkYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGVyaG8KQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tQZXJob10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUGVyaG9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1BlcmhvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQZXJob10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBlcm5hamEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBlcm5hamEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTQ1OWU4OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGVybmFqYQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1Blcm5hamFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1Blcm5hamFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1Blcm5hamFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QaWVrc2FtYWtpX0hhbGtva3VtcHUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBpZWtzYW1ha2lfSGFsa29rdW1wdQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mMDNmOWEwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QaWVrc2FtYWtpX0hhbGtva3VtcHUKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tQaWVrc2FtYWtpX0hhbGtva3VtcHVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1BpZWtzYW1ha2lfSGFsa29rdW1wdV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUGlla3NhbWFraV9IYWxrb2t1bXB1XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGlodGlwdWRhcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGlodGlwdWRhcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MmNkZDI5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QaWh0aXB1ZGFzCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUGlodGlwdWRhc10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUGlodGlwdWRhc10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUGlodGlwdWRhc10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBvcnZvb19TdW9tZW5reWxhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Qb3J2b29fU3VvbWVua3lsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43YjVlNzlkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Qb3J2b29fU3VvbWVua3lsYQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1BvcnZvb19TdW9tZW5reWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQb3J2b29fU3VvbWVua3lsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUG9ydm9vX1N1b21lbmt5bGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1BvcnZvb19TdW9tZW5reWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUG9zaW8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBvc2lvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAyNTg2NDcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBvc2lvCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUG9zaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1Bvc2lvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUHVkYXNqYXJ2aSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUHVkYXNqYXJ2aQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kYzg1ZDlhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QdWRhc2phcnZpCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUHVkYXNqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUHVkYXNqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUHVkYXNqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVB1ZGFzamFydmlfSXNvLVN5b3RlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QdWRhc2phcnZpX0lzby1TeW90ZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yNGNlYmRkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QdWRhc2phcnZpX0lzby1TeW90ZQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1B1ZGFzamFydmlfSXNvLVN5b3RlXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQdWRhc2phcnZpX0lzby1TeW90ZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUHVkYXNqYXJ2aV9Jc28tU3lvdGVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QdWRhc2phcnZpX0thbmdhc3ZhYXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QdWRhc2phcnZpX0thbmdhc3ZhYXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNiOTExNjMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVB1ZGFzamFydmlfS2FuZ2FzdmFhcmEKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tQdWRhc2phcnZpX0thbmdhc3ZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQdWRhc2phcnZpX0thbmdhc3ZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUHVvbGFua2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVB1b2xhbmthCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMzNzBhOWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVB1b2xhbmthCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUHVvbGFua2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1B1b2xhbmthXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQdW9sYW5rYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUHVvbGFua2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QeWhhdHVudHVyaSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUHloYXR1bnR1cmkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzUwMDU3NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUHloYXR1bnR1cmkKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tQeWhhdHVudHVyaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUHloYXR1bnR1cmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QeWhhdnVvcmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVB5aGF2dW9yaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hZDIzMjY1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QeWhhdnVvcmkKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tQeWhhdnVvcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1B5aGF2dW9yaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUHloYXZ1b3JpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUHlsa29ubWFraV9LYXJhbmthamFydmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVB5bGtvbm1ha2lfS2FyYW5rYWphcnZpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJkN2VmMTcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVB5bGtvbm1ha2lfS2FyYW5rYWphcnZpCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUHlsa29ubWFraV9LYXJhbmthamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1B5bGtvbm1ha2lfS2FyYW5rYWphcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQeWxrb25tYWtpX0thcmFua2FqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJhYWhlX01lc3RhdXNrYWxsaW8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJhYWhlX01lc3RhdXNrYWxsaW8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTRjYzdiMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUmFhaGVfTWVzdGF1c2thbGxpbwpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1JhYWhlX01lc3RhdXNrYWxsaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1JhYWhlX01lc3RhdXNrYWxsaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1JhYWhlX01lc3RhdXNrYWxsaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1JhYWhlX01lc3RhdXNrYWxsaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1SYWFoZV9QaWVoaW5raSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUmFhaGVfUGllaGlua2kKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWIzODM2ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUmFhaGVfUGllaGlua2kKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tSYWFoZV9QaWVoaW5raV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUmFhaGVfUGllaGlua2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1JhYWhlX1BpZWhpbmtpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUmFudWFfSGFhc2lvbm1hYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUmFudWFfSGFhc2lvbm1hYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44MzdhMTBmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1SYW51YV9IYWFzaW9ubWFhCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUmFudWFfSGFhc2lvbm1hYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUmFudWFfSGFhc2lvbm1hYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJhbnVhX0xlcHBpYWhvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1SYW51YV9MZXBwaWFobwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45NGQzZWVmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1SYW51YV9MZXBwaWFobwpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1JhbnVhX0xlcHBpYWhvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tSYW51YV9MZXBwaWFob10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJhdXRhdmFhcmFfQW5nZXJ2aWtrbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUmF1dGF2YWFyYV9BbmdlcnZpa2tvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM4OWU0YmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJhdXRhdmFhcmFfQW5nZXJ2aWtrbwpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1JhdXRhdmFhcmFfQW5nZXJ2aWtrb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUmF1dGF2YWFyYV9BbmdlcnZpa2tvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tSYXV0YXZhYXJhX0FuZ2Vydmlra29dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1JhdXRhdmFhcmFfQW5nZXJ2aWtrb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJhdXRqYXJ2aV9TaW1wZWxlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1SYXV0amFydmlfU2ltcGVsZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yZDRjMjU0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1SYXV0amFydmlfU2ltcGVsZQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1JhdXRqYXJ2aV9TaW1wZWxlXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tSYXV0amFydmlfU2ltcGVsZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUmF1dGphcnZpX1NpbXBlbGVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1SaXN0aWphcnZpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1SaXN0aWphcnZpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc5YTU4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJpc3RpamFydmkKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tSaXN0aWphcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tSaXN0aWphcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tSaXN0aWphcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUm92YW5pZW1pIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Sb3ZhbmllbWkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODdhNjViMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUm92YW5pZW1pCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUm92YW5pZW1pXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tSb3ZhbmllbWldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1JvdmFuaWVtaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJvdmFuaWVtaV9LYWlodWFudmFhcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJvdmFuaWVtaV9LYWlodWFudmFhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzgwOGViYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUm92YW5pZW1pX0thaWh1YW52YWFyYQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1JvdmFuaWVtaV9LYWlodWFudmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1JvdmFuaWVtaV9LYWlodWFudmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Sb3ZhbmllbWlfS2FyaHV2YWFyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUm92YW5pZW1pX0thcmh1dmFhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDY5ZWNiNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUm92YW5pZW1pX0thcmh1dmFhcmEKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tSb3ZhbmllbWlfS2FyaHV2YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUm92YW5pZW1pX0thcmh1dmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Sb3ZhbmllbWlfTWFyYXNlbmthbGxpbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUm92YW5pZW1pX01hcmFzZW5rYWxsaW8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmM4ZDU0MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUm92YW5pZW1pX01hcmFzZW5rYWxsaW8KQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tSb3ZhbmllbWlfTWFyYXNlbmthbGxpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUm92YW5pZW1pX01hcmFzZW5rYWxsaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Sb3ZhbmllbWlfUmFudGFsYWtpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Sb3ZhbmllbWlfUmFudGFsYWtpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZlM2VhNGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJvdmFuaWVtaV9SYW50YWxha2kKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tSb3ZhbmllbWlfUmFudGFsYWtpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tSb3ZhbmllbWlfUmFudGFsYWtpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUm92YW5pZW1pX1NvbmthIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Sb3ZhbmllbWlfU29ua2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTMyYjQwOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUm92YW5pZW1pX1NvbmthCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUm92YW5pZW1pX1NvbmthXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tSb3ZhbmllbWlfU29ua2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Sb3ZhbmllbWlfU29ydmlzZWxrYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUm92YW5pZW1pX1NvcnZpc2Vsa2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmViM2JjZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUm92YW5pZW1pX1NvcnZpc2Vsa2EKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tSb3ZhbmllbWlfU29ydmlzZWxrYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUm92YW5pZW1pX1NvcnZpc2Vsa2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1SdWthIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1SdWthCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRlNDFkZGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJ1a2EKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tSdWthXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tSdWthXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tSdWthXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUnVvdmVzaV9TdG9ybWluaWVtaSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUnVvdmVzaV9TdG9ybWluaWVtaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hYzQ2NWNiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1SdW92ZXNpX1N0b3JtaW5pZW1pCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUnVvdmVzaV9TdG9ybWluaWVtaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUnVvdmVzaV9TdG9ybWluaWVtaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUnVvdmVzaV9TdG9ybWluaWVtaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUnVvdmVzaV9TdG9ybWluaWVtaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhYXJpamFydmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhYXJpamFydmkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMThjOTIzZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2FhcmlqYXJ2aQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1NhYXJpamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1NhYXJpamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1NhYXJpamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1NhYXJpamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYWFyaWphcnZpX0thbG1hcmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhYXJpamFydmlfS2FsbWFyaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43N2Q1YWRlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYWFyaWphcnZpX0thbG1hcmkKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tTYWFyaWphcnZpX0thbG1hcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1NhYXJpamFydmlfS2FsbWFyaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU2FhcmlqYXJ2aV9LYWxtYXJpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2FhcmlqYXJ2aV9NYWhsdSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2FhcmlqYXJ2aV9NYWhsdQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40ODMyNGQwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYWFyaWphcnZpX01haGx1CkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbU2FhcmlqYXJ2aV9NYWhsdV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU2FhcmlqYXJ2aV9NYWhsdV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU2FhcmlqYXJ2aV9NYWhsdV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhbGxhX0hpcnZhc3ZhYXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYWxsYV9IaXJ2YXN2YWFyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lMTQxMGEwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYWxsYV9IaXJ2YXN2YWFyYQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1NhbGxhX0hpcnZhc3ZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTYWxsYV9IaXJ2YXN2YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhbGxhX0loaXN0eXNqYW5rYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2FsbGFfSWhpc3R5c2phbmthCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBkODU3YjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhbGxhX0loaXN0eXNqYW5rYQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1NhbGxhX0loaXN0eXNqYW5rYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU2FsbGFfSWhpc3R5c2phbmthXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2FsbGFfTmFydXNrYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2FsbGFfTmFydXNrYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wNmJjMWJhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYWxsYV9OYXJ1c2thCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbU2FsbGFfTmFydXNrYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU2FsbGFfTmFydXNrYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhbGxhX1NhbGxhdHVudHVyaSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2FsbGFfU2FsbGF0dW50dXJpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU0YTU1NTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhbGxhX1NhbGxhdHVudHVyaQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1NhbGxhX1NhbGxhdHVudHVyaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU2FsbGFfU2FsbGF0dW50dXJpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2FsbGFfU2FyaXZhYXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYWxsYV9TYXJpdmFhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWI5YmJjMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2FsbGFfU2FyaXZhYXJhCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbU2FsbGFfU2FyaXZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTYWxsYV9TYXJpdmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYWxvX0lzb2t5bGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhbG9fSXNva3lsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MmRmM2I0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYWxvX0lzb2t5bGEKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tTYWxvX0lzb2t5bGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1NhbG9fSXNva3lsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU2Fsb19Jc29reWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTYWxvX0lzb2t5bGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYXZ1a29za2lfTWFydHRpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYXZ1a29za2lfTWFydHRpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFhZmJkY2IKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhdnVrb3NraV9NYXJ0dGkKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tTYXZ1a29za2lfTWFydHRpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTYXZ1a29za2lfTWFydHRpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2F2dWtvc2tpX1Rhbmh1YSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2F2dWtvc2tpX1Rhbmh1YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45MWY1ZmE3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYXZ1a29za2lfVGFuaHVhCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbU2F2dWtvc2tpX1Rhbmh1YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU2F2dWtvc2tpX1Rhbmh1YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNpaWxpbmphcnZpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TaWlsaW5qYXJ2aQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ZmMxZjQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TaWlsaW5qYXJ2aQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1NpaWxpbmphcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTaWlsaW5qYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU2lpbGluamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1NpaWxpbmphcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2ltb19WaWFudGllIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TaW1vX1ZpYW50aWUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTgwYzdiZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2ltb19WaWFudGllCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbU2ltb19WaWFudGllXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTaW1vX1ZpYW50aWVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1NpbW9fVmlhbnRpZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNpcG9vX05vcnJrdWxsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2lwb29fTm9ycmt1bGxhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFiZmI0MTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNpcG9vX05vcnJrdWxsYQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1NpcG9vX05vcnJrdWxsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU2lwb29fTm9ycmt1bGxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTaXBvb19Ob3Jya3VsbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1NpcG9vX05vcnJrdWxsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNvZGFua3lsYV9QaXR0aW92YWFyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU29kYW5reWxhX1BpdHRpb3ZhYXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmExMjNmNjQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNvZGFua3lsYV9QaXR0aW92YWFyYQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1NvZGFua3lsYV9QaXR0aW92YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU29kYW5reWxhX1BpdHRpb3ZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU29kYW5reWxhX1Z1b3RzbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU29kYW5reWxhX1Z1b3RzbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45YzYwYjc3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Tb2Rhbmt5bGFfVnVvdHNvCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbU29kYW5reWxhX1Z1b3Rzb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU29kYW5reWxhX1Z1b3Rzb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVN1bGthdmFfVmFhdGFsYW5tYWtpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TdWxrYXZhX1ZhYXRhbGFubWFraQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zMWJkZDYxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TdWxrYXZhX1ZhYXRhbGFubWFraQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1N1bGthdmFfVmFhdGFsYW5tYWtpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTdWxrYXZhX1ZhYXRhbGFubWFraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU3Vsa2F2YV9WYWF0YWxhbm1ha2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TdW9tdXNzYWxtaV9BbGEtVnVva2tpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TdW9tdXNzYWxtaV9BbGEtVnVva2tpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA4NzhhODgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVN1b211c3NhbG1pX0FsYS1WdW9ra2kKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tTdW9tdXNzYWxtaV9BbGEtVnVva2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTdW9tdXNzYWxtaV9BbGEtVnVva2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU3VvbXVzc2FsbWlfQW1tYW5zYWFyaSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU3VvbXVzc2FsbWlfQW1tYW5zYWFyaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45YWZjZWZmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TdW9tdXNzYWxtaV9BbW1hbnNhYXJpCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbU3VvbXVzc2FsbWlfQW1tYW5zYWFyaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU3VvbXVzc2FsbWlfQW1tYW5zYWFyaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVN1b211c3NhbG1pX0p1bnR1c3JhbnRhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TdW9tdXNzYWxtaV9KdW50dXNyYW50YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NmM0ZTViCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TdW9tdXNzYWxtaV9KdW50dXNyYW50YQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1N1b211c3NhbG1pX0p1bnR1c3JhbnRhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTdW9tdXNzYWxtaV9KdW50dXNyYW50YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVN1b211c3NhbG1pX015bGx5bGFodGkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVN1b211c3NhbG1pX015bGx5bGFodGkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTYzMDk3NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU3VvbXVzc2FsbWlfTXlsbHlsYWh0aQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1N1b211c3NhbG1pX015bGx5bGFodGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1N1b211c3NhbG1pX015bGx5bGFodGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TeXNtYV9MaWlrb2xhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TeXNtYV9MaWlrb2xhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjlkYjQ0MjQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVN5c21hX0xpaWtvbGEKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tTeXNtYV9MaWlrb2xhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTeXNtYV9MaWlrb2xhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTeXNtYV9MaWlrb2xhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTeXNtYV9MaWlrb2xhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVGFpdmFsa29za2kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVRhaXZhbGtvc2tpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMzMDdhZTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVRhaXZhbGtvc2tpCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVGFpdmFsa29za2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1RhaXZhbGtvc2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVGFpdmFsa29za2lfVGFpdmFsdmFhcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVRhaXZhbGtvc2tpX1RhaXZhbHZhYXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZmODFiZjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVRhaXZhbGtvc2tpX1RhaXZhbHZhYXJhCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVGFpdmFsa29za2lfVGFpdmFsdmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1RhaXZhbGtvc2tpX1RhaXZhbHZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVGFtbWVsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVGFtbWVsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mNTM3YmVmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1UYW1tZWxhCkBAIC0wLDAgKzEsMjggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVGFtbWVsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVGFtbWVsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVGFtbWVsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVGFtbWVsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVGFtbWVsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1UYW1taXNhYXJpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1UYW1taXNhYXJpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjUyNDhmZDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVRhbW1pc2FhcmkKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tUYW1taXNhYXJpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tUYW1taXNhYXJpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tUYW1taXNhYXJpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tUYW1taXNhYXJpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVGFtcGVyZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVGFtcGVyZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yN2NmM2E3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1UYW1wZXJlCkBAIC0wLDAgKzEsMzMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVGFtcGVyZS1BXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tUYW1wZXJlLUJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1RhbXBlcmUtQ10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVGFtcGVyZS1FXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tUYW1wZXJlLURdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tUYW1wZXJlLUhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVGFtcGVyZV9QeXluaWtraSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVGFtcGVyZV9QeXluaWtraQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wM2U4ZWNjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1UYW1wZXJlX1B5eW5pa2tpCkBAIC0wLDAgKzEsMjggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVGFtcGVyZV9QeXluaWtraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVGFtcGVyZV9QeXluaWtraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVGFtcGVyZV9QeXluaWtraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVGFtcGVyZV9QeXluaWtraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVGFtcGVyZV9QeXluaWtraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1UZXJ2b2xhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1UZXJ2b2xhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQyYzJkOTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVRlcnZvbGEKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tUZXJ2b2xhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tUZXJ2b2xhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tUZXJ2b2xhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVHVya3UgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVR1cmt1Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmUzOTA3YTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVR1cmt1CkBAIC0wLDAgKzEsMzMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVHVya3UtQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVHVya3UtQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVHVya3UtQ10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVHVya3UtRV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVHVya3UtRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1R1cmt1LUhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVXRzam9raSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVXRzam9raQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iODg0YTE3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1VdHNqb2tpCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVXRzam9raV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVXRzam9raV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVV0c2pva2lfTnV2dnVzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1VdHNqb2tpX051dnZ1cwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NmQzNWEzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1VdHNqb2tpX051dnZ1cwpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1V0c2pva2lfTnV2dnVzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tVdHNqb2tpX051dnZ1c10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVV0c2pva2lfT3V0YWtvc2tpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1VdHNqb2tpX091dGFrb3NraQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41M2E3NWFmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1VdHNqb2tpX091dGFrb3NraQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1V0c2pva2lfT3V0YWtvc2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tVdHNqb2tpX091dGFrb3NraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVV0c2pva2lfUG9sdmFybmllbWkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVV0c2pva2lfUG9sdmFybmllbWkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGVlNGNlYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVXRzam9raV9Qb2x2YXJuaWVtaQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1V0c2pva2lfUG9sdmFybmllbWldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1V0c2pva2lfUG9sdmFybmllbWldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1VdHNqb2tpX1JvdmlzdXZhbnRvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1VdHNqb2tpX1JvdmlzdXZhbnRvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc0NTlhOGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVV0c2pva2lfUm92aXN1dmFudG8KQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tVdHNqb2tpX1JvdmlzdXZhbnRvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tVdHNqb2tpX1JvdmlzdXZhbnRvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVXRzam9raV9UZW5vbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVV0c2pva2lfVGVub2xhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjk2NTA0MzkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVV0c2pva2lfVGVub2xhCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVXRzam9raV9UZW5vbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1V0c2pva2lfVGVub2xhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVXVzaWthdXB1bmtpX09yaXZvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1VdXNpa2F1cHVua2lfT3Jpdm8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWJlMWY3ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVXVzaWthdXB1bmtpX09yaXZvCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVXVzaWthdXB1bmtpX09yaXZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tVdXNpa2F1cHVua2lfT3Jpdm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1V1c2lrYXVwdW5raV9Pcml2b10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVXVzaWthdXB1bmtpX09yaXZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVmFhbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVZhYWxhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg2ZTg3NzMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVZhYWxhCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVmFhbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1ZhYWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tWYWFsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVZhYXNhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WYWFzYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ODI2MzEzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WYWFzYQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1ZhYXNhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tWYWFzYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVmFhc2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WYWx0aW1vIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WYWx0aW1vCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjgxZTgyNDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVZhbHRpbW8KQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tWYWx0aW1vXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tWYWx0aW1vXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tWYWx0aW1vXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVmFtbWFsYV9KeXJhbnZ1b3JpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WYW1tYWxhX0p5cmFudnVvcmkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjY1ODJhOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVmFtbWFsYV9KeXJhbnZ1b3JpCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVmFtbWFsYV9KeXJhbnZ1b3JpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tWYW1tYWxhX0p5cmFudnVvcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1ZhbW1hbGFfSnlyYW52dW9yaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVmFtbWFsYV9KeXJhbnZ1b3JpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVmFtbWFsYV9Sb2lzbWFsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVmFtbWFsYV9Sb2lzbWFsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41M2YzNzkzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WYW1tYWxhX1JvaXNtYWxhCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVmFtbWFsYV9Sb2lzbWFsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVmFtbWFsYV9Sb2lzbWFsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVmFtbWFsYV9Sb2lzbWFsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVZhbW1hbGFfU2F2aSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVmFtbWFsYV9TYXZpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE4OWFmYjQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVZhbW1hbGFfU2F2aQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1ZhbW1hbGFfU2F2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVmFtbWFsYV9TYXZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tWYW1tYWxhX1NhdmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WYW50YWFfSGFrdW5pbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVZhbnRhYV9IYWt1bmlsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hZjQ5M2ExCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WYW50YWFfSGFrdW5pbGEKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tWYW50YWFfSGFrdW5pbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1ZhbnRhYV9IYWt1bmlsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVmFudGFhX0hha3VuaWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tWYW50YWFfSGFrdW5pbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WYXJwYWlzamFydmlfSG9ua2FtYWtpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WYXJwYWlzamFydmlfSG9ua2FtYWtpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjViZGY5NzQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVZhcnBhaXNqYXJ2aV9Ib25rYW1ha2kKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tWYXJwYWlzamFydmlfSG9ua2FtYWtpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tWYXJwYWlzamFydmlfSG9ua2FtYWtpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tWYXJwYWlzamFydmlfSG9ua2FtYWtpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tWYXJwYWlzamFydmlfSG9ua2FtYWtpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVmlycmF0X0xhcHBhdnVvcmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVZpcnJhdF9MYXBwYXZ1b3JpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjYxZjEyYjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVZpcnJhdF9MYXBwYXZ1b3JpCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVmlycmF0X0xhcHBhdnVvcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1ZpcnJhdF9MYXBwYXZ1b3JpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tWaXJyYXRfTGFwcGF2dW9yaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVmlycmF0X0xhcHBhdnVvcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WdW9rYXR0aSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVnVva2F0dGkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWE3OGNmMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVnVva2F0dGkKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tWdW9rYXR0aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVnVva2F0dGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1Z1b2thdHRpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tWdW9rYXR0aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVlsaXRvcm5pb19BaW5pb3ZhYXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ZbGl0b3JuaW9fQWluaW92YWFyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lYmQ3MmI5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ZbGl0b3JuaW9fQWluaW92YWFyYQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1lsaXRvcm5pb19BaW5pb3ZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tZbGl0b3JuaW9fQWluaW92YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbWWxpdG9ybmlvX0FpbmlvdmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ZbGl0b3JuaW9fUmFhbnVqYXJ2aSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktWWxpdG9ybmlvX1JhYW51amFydmkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODg1YzE4ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktWWxpdG9ybmlvX1JhYW51amFydmkKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tZbGl0b3JuaW9fUmFhbnVqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbWWxpdG9ybmlvX1JhYW51amFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ZbGxhcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktWWxsYXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDQ4OGNmYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktWWxsYXMKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tZbGxhc10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbWWxsYXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ZbGxhc2phcnZpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ZbGxhc2phcnZpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY3OTAwODkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVlsbGFzamFydmkKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tZbGxhc2phcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tZbGxhc2phcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZnItQWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9mci1BbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzNlYmExMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZnItQWxsCkBAIC0wLDAgKzEsNDgxIEBACisjIEZyYW5jZSBBTEwgKEFsbCBjaGFubmVsIDIxIHRvIDYwKQorW1VIRiAyMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgMjJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDIzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiAyNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgMjVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDI2XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiAyN10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgMjhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDI5XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiAzMF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgMzFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDMyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiAzM10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgMzRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDM1XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiAzNl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgMzddCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDM4XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiAzOV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgNDBdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDQxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiA0Ml0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgNDNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDQ0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiA0NV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgNDZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDQ3XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiA0OF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgNDldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDUwXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiA1MV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgNTJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDUzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiA1NF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgNTVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDU2XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiA1N10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgNThdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDU5XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiA2MF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZ3ItQXRoZW5zIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9nci1BdGhlbnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjhlNmMwNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZ3ItQXRoZW5zCkBAIC0wLDAgKzEsOTUgQEAKKyMgSW5pdGlhbCBzY2FuIGNvbmZpZyBmb3IgRFZCLVQgaW4gQXRoZW5zIEdyZWVjZQorIyBDcmVhdGVkIGZyb20gdGhlIGZyZXF1ZW5jaWVzIGxpc3RlZCBpbgorIyBodHRwOi8vd3d3LnNhdHNwb3QuZ3IvdGVsZXZpc2lvbi9jaGFubmVscy8xNjAtdHYtc2l4bm90aXRlcy1hdHRpa2kKKyMgYW5kIHRoZSBhY3R1YWwgc2VydmljZSBuYW1lcyBmb3IgY29tbWVudHMuCisKKyMgQVJULCBBTlQxLCBBTFBIQSwgRQorW0RpZ2VhIDAxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNUQVIsIE0udHYsIFNLQUksIE1FR0EKK1tEaWdlYSAwMl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBWb3VsaSwgS29zbW9zLCBOIFBsdXMsIERldXRlcm8sIE4xLCBOIEhELCBUcml0bywgUHJvdG8KK1tEVCBESUdJVEFMIDAxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIERXLCBQUk9UTywgS09TTU9TLCBSSUssIFRSSVRPLCBUViA1LCBFdXJvcGUsIEJCQyBXb3JsZCBOZXdzCitbRFQgRElHSVRBTCAwMl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBCTFVFIFNLWSwgQVRUSUNBIFRWLCBBQiBDSEFOTkVMLCBDSEFOTkVMIDksIEFDVElPTjI0CitbTVVMVEkgQVRUSUtJIDAxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIEtPTlRSQSwgTUFEIFRWLCBFWFRSQSBDSEFOTkVMLCBISUdIIFRWCitbTVVMVEkgQVRUSUtJIDAyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIE5JQ0tFTE9ERU9OLCBTTUlMRSwgU0JDLCBNVFYgR1JFRUNFCitbTVVMVEkgQVRUSUtJIDAzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9oay1Ib25nS29uZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaGstSG9uZ0tvbmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWUyZDEzNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaGstSG9uZ0tvbmcKQEAgLTAsMCArMSw5NCBAQAorIyBIb25nIEtvbmcgKERNQi1USCkKKworIyBUVkIgKGJhbmQgMzUpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIEFUViAoYmFuZCAzNykKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTaW11bGNhc3QgKGJhbmQgMjIpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNpbXVsY2FzdCAoYmFuZCAzMCkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU2ltdWxjYXN0IChiYW5kIDMyKQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTaW11bGNhc3QgKGJhbmQgNDApCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNpbXVsY2FzdCAoYmFuZCA0MykKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHItQWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9oci1BbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjkxOTA5OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHItQWxsCkBAIC0wLDAgKzEsMzE1IEBACisjIENyb2F0aWEsIHdob2xlIGNvdW50cnkKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cub2l2LmhyL2Jyb2FkY2FzdGluZy90YWJsZXMvZHR2X2hyLmFzcHgKKyMgYW5kIGZyb20gaHR0cDovL3d3dy5vaXYuaHIvYnJvYWRjYXN0aW5nL3RhYmxlcy9kdHZfY2hhbm5lbF9oci5hc3B4CitbRDEgTVVYRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0QyIE1VWEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tENCBNVVhBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbRDUgTVVYQSwgRDkgTVVYRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0Q1IE1VWERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbZDcyIE1VWERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tENiBNVVhBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbRDcgTVVYRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0Q4IE1VWEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tEOCBNVVhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbZDcxIE1VWERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tEMyBNVVhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbRDEgTVVYQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0QyIE1VWEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tENCBNVVhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbRDEgTVVYQiwgRDMgTVVYQSwgRDYgTVVYQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0Q1IE1VWERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbU0xPIE1VWEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tEMyBNVVhCLCBENCBNVVhCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbRDcgTVVYQSwgRDkgTVVYQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0Q1IE1VWEIsIEQ4IE1VWEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tENiBNVVhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVHVzdGkgVnJoIE1VWERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tEMiBNVVhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbRDcgTVVYQiwgRDkgTVVYQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0Q1IE1GTl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtQmVrZXNjc2FiYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtQmVrZXNjc2FiYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kYWMyZTdiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1CZWtlc2NzYWJhCkBAIC0wLDAgKzEsNTMgQEAKKyMgSHVuZ2FyeSAvIEJla2VzY3NhYmEKKyMKKyMgQS5tdWx0aXBsZXggVUhGLTM4OgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIG0xIEhELCBtMiBIRCwgRHVuYSBXb3JsZCwgRHVuYSBIRCwgTVIxIEtvc3N1dGggUmFkaW8sIE1SMiBQZXRvZmkgUmFkaW8sIE1SMyBCYXJ0b2sgUmFkaW8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjCisjIEIubXVsdGlwbGV4IFVIRi01NDoKKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUFJPNCwgVklBU0FUMywgUHJpem1hIFRWLCBNdXpzaWthIFRWLCBVbml2ZXJzYWwgQ2hhbm5lbCwgQ29tZWR5IENlbnRyYWwsIE1pbmltYXgsCisjIENhcnRvb24gTmV0d29yaywgU3Bla3RydW0sIEhpc3RvcnksIFNwb3J0MSwgU3BvcnQyLCBEb3JjZWwgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjCisjIEMubXVsdGlwbGV4IFVIRi02NToKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBSVEwgS2x1YiwgVFYyLCBFdXJvbmV3cyBUZXN0LCBJbmZvIGNzYXRvcm5hLCBOZW8gRk0KKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBDb29sLCBGaWxtKywgSEJPLCBOYXRpb25hbCBHZW9ncmFwaGljLCBEaXNuZXkgQ2hhbm5lbCwgQVhOLCBGRU0zLCBQcml2YXRlIHNwaWNlLCBBVFYsCisjIEhpclRWLCBTcG9ydGtsdWIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUJ1ZGFwZXN0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1CdWRhcGVzdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iNGMxN2IzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1CdWRhcGVzdApAQCAtMCwwICsxLDUzIEBACisjIEh1bmdhcnkgLyBCdWRhcGVzdAorIworIyBBLm11bHRpcGxleCBVSEYtMzg6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbTEgSEQsIG0yIEhELCBEdW5hIFdvcmxkLCBEdW5hIEhELCBNUjEgS29zc3V0aCBSYWRpbywgTVIyIFBldG9maSBSYWRpbywgTVIzIEJhcnRvayBSYWRpbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQi5tdWx0aXBsZXggVUhGLTU1OgorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBQUk80LCBWSUFTQVQzLCBQcml6bWEgVFYsIE11enNpa2EgVFYsIFVuaXZlcnNhbCBDaGFubmVsLCBDb21lZHkgQ2VudHJhbCwgTWluaW1heCwKKyMgQ2FydG9vbiBOZXR3b3JrLCBTcGVrdHJ1bSwgSGlzdG9yeSwgU3BvcnQxLCBTcG9ydDIsIERvcmNlbCBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQy5tdWx0aXBsZXggVUhGLTYyOgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFJUTCBLbHViLCBUVjIsIEV1cm9uZXdzIFRlc3QsIEluZm8gY3NhdG9ybmEsIE5lbyBGTQorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIENvb2wsIEZpbG0rLCBIQk8sIE5hdGlvbmFsIEdlb2dyYXBoaWMsIERpc25leSBDaGFubmVsLCBBWE4sIEZFTTMsIFByaXZhdGUgc3BpY2UsIEFUViwKKyMgSGlyVFYsIFNwb3J0a2x1YgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtQ3Nhdm9seS1LaXNrb3JvcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtQ3Nhdm9seS1LaXNrb3JvcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45Yjg4MzcxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1Dc2F2b2x5LUtpc2tvcm9zCkBAIC0wLDAgKzEsNDIgQEAKKyMgSHVuZ2FyeSAvIENzYXZvbHktS2lza29yb3MKKyMKKyMgQS5tdWx0aXBsZXggVUhGLTQ1OgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIG0xIEhELCBtMiBIRCwgRHVuYSBXb3JsZCwgRHVuYSBIRCwgTVIxIEtvc3N1dGggUmFkaW8sIE1SMiBQZXRvZmkgUmFkaW8sIE1SMyBCYXJ0b2sgUmFkaW8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjCisjIEIubXVsdGlwbGV4IFVIRi0wMDoKKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUFJPNCwgVklBU0FUMywgUHJpem1hIFRWLCBNdXpzaWthIFRWLCBVbml2ZXJzYWwgQ2hhbm5lbCwgQ29tZWR5IENlbnRyYWwsIE1pbmltYXgsCisjIENhcnRvb24gTmV0d29yaywgU3Bla3RydW0sIEhpc3RvcnksIFNwb3J0MSwgU3BvcnQyLCBEb3JjZWwgVFYKKyMgVCA3NDYwMDAwMDAgOE1IeiAzLzQgTk9ORSBRQU02NCA4ayAxLzQgTk9ORQorIworIyBDLm11bHRpcGxleCBVSEYtNjg6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1EZWJyZWNlbi1Lb21hZGkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LURlYnJlY2VuLUtvbWFkaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43Mzk1OTM5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1EZWJyZWNlbi1Lb21hZGkKQEAgLTAsMCArMSw1MyBAQAorIyBIdW5nYXJ5IC8gRGVicmVjZW4tS29tYWRpCisjCisjIEEubXVsdGlwbGV4IFVIRi00NjoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtNTE6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBDLm11bHRpcGxleCBVSEYtNjI6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1GZWhlcmd5YXJtYXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUZlaGVyZ3lhcm1hdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kYmZkZGEwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1GZWhlcmd5YXJtYXQKQEAgLTAsMCArMSw0MiBAQAorIyBIdW5nYXJ5IC8gRmVoZXJneWFybWF0CisjCisjIEEubXVsdGlwbGV4IFVIRi01ODoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtMDA6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCisjIFQgNzE0MDAwMDAwIDhNSHogMy80IE5PTkUgUUFNNjQgOGsgMS80IE5PTkUKKyMKKyMgQy5tdWx0aXBsZXggVUhGLTM4OgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFJUTCBLbHViLCBUVjIsIEV1cm9uZXdzIFRlc3QsIEluZm8gY3NhdG9ybmEsIE5lbyBGTQorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIENvb2wsIEZpbG0rLCBIQk8sIE5hdGlvbmFsIEdlb2dyYXBoaWMsIERpc25leSBDaGFubmVsLCBBWE4sIEZFTTMsIFByaXZhdGUgc3BpY2UsIEFUViwKKyMgSGlyVFYsIFNwb3J0a2x1YgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtR2VyZWNzZS1Eb3JvZy1UYXRhYmFueWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUdlcmVjc2UtRG9yb2ctVGF0YWJhbnlhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFhMTQ3OTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUdlcmVjc2UtRG9yb2ctVGF0YWJhbnlhCkBAIC0wLDAgKzEsNTMgQEAKKyMgSHVuZ2FyeSAvIEdlcmVjc2UtRG9yb2ctVGF0YWJhbnlhCisjCisjIEEubXVsdGlwbGV4IFVIRi02NDoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtMjk6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBDLm11bHRpcGxleCBVSEYtNjM6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1HeW9yIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1HeW9yCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVlY2Q1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUd5b3IKQEAgLTAsMCArMSw1MyBAQAorIyBIdW5nYXJ5IC8gR3lvcgorIworIyBBLm11bHRpcGxleCBVSEYtNDI6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbTEgSEQsIG0yIEhELCBEdW5hIFdvcmxkLCBEdW5hIEhELCBNUjEgS29zc3V0aCBSYWRpbywgTVIyIFBldG9maSBSYWRpbywgTVIzIEJhcnRvayBSYWRpbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQi5tdWx0aXBsZXggVUhGLTI1OgorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBQUk80LCBWSUFTQVQzLCBQcml6bWEgVFYsIE11enNpa2EgVFYsIFVuaXZlcnNhbCBDaGFubmVsLCBDb21lZHkgQ2VudHJhbCwgTWluaW1heCwKKyMgQ2FydG9vbiBOZXR3b3JrLCBTcGVrdHJ1bSwgSGlzdG9yeSwgU3BvcnQxLCBTcG9ydDIsIERvcmNlbCBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQy5tdWx0aXBsZXggVUhGLTYxOgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFJUTCBLbHViLCBUVjIsIEV1cm9uZXdzIFRlc3QsIEluZm8gY3NhdG9ybmEsIE5lbyBGTQorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIENvb2wsIEZpbG0rLCBIQk8sIE5hdGlvbmFsIEdlb2dyYXBoaWMsIERpc25leSBDaGFubmVsLCBBWE4sIEZFTTMsIFByaXZhdGUgc3BpY2UsIEFUViwKKyMgSGlyVFYsIFNwb3J0a2x1YgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtS2FiaGVneS1LYXBvc3Zhci1UYW1hc2kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUthYmhlZ3ktS2Fwb3N2YXItVGFtYXNpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZjNWNiZmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUthYmhlZ3ktS2Fwb3N2YXItVGFtYXNpCkBAIC0wLDAgKzEsNDIgQEAKKyMgSHVuZ2FyeSAvIEthYmhlZ3ktS2Fwb3N2YXItVGFtYXNpCisjCisjIEEubXVsdGlwbGV4IFVIRi02NDoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtMDA6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCisjIFQgNTA2MDAwMDAwIDhNSHogMy80IE5PTkUgUUFNNjQgOGsgMS80IE5PTkUKKyMKKyMgQy5tdWx0aXBsZXggVUhGLTYxOgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFJUTCBLbHViLCBUVjIsIEV1cm9uZXdzIFRlc3QsIEluZm8gY3NhdG9ybmEsIE5lbyBGTQorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIENvb2wsIEZpbG0rLCBIQk8sIE5hdGlvbmFsIEdlb2dyYXBoaWMsIERpc25leSBDaGFubmVsLCBBWE4sIEZFTTMsIFByaXZhdGUgc3BpY2UsIEFUViwKKyMgSGlyVFYsIFNwb3J0a2x1YgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtS2FyYW5jcy1OYWd5LUhpZGVnLWhlZ3ktQmFsYXNzYWd5YXJtYXQtR29kb2xsby1TYWxnb3Rhcmphbi1WYWMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUthcmFuY3MtTmFneS1IaWRlZy1oZWd5LUJhbGFzc2FneWFybWF0LUdvZG9sbG8tU2FsZ290YXJqYW4tVmFjCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJiMmNhYjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUthcmFuY3MtTmFneS1IaWRlZy1oZWd5LUJhbGFzc2FneWFybWF0LUdvZG9sbG8tU2FsZ290YXJqYW4tVmFjCkBAIC0wLDAgKzEsNTMgQEAKKyMgSHVuZ2FyeSAvIEthcmFuY3MtTmFneS1IaWRlZy1oZWd5LUJhbGFzc2FneWFybWF0LUdvZG9sbG8tU2FsZ290YXJqYW4tVmFjCisjCisjIEEubXVsdGlwbGV4IFVIRi0zODoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtNTU6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBDLm11bHRpcGxleCBVSEYtNjI6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1LYXJjYWcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUthcmNhZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hZTYzOTBhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1LYXJjYWcKQEAgLTAsMCArMSw1MyBAQAorIyBIdW5nYXJ5IC8gS2FyY2FnCisjCisjIEEubXVsdGlwbGV4IFVIRi00NjoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtMzA6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBDLm11bHRpcGxleCBVSEYtNjQ6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1LZWNza2VtZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUtlY3NrZW1ldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZjlmZmFkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1LZWNza2VtZXQKQEAgLTAsMCArMSw1MyBAQAorIyBIdW5nYXJ5IC8gS2Vjc2tlbWV0CisjCisjIEEubXVsdGlwbGV4IFVIRi01NjoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtMzk6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBDLm11bHRpcGxleCBVSEYtNjg6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1LZWtlcy1DZWdsZWQtRWdlci1NaXNrb2xjdGFwb2xjYS1PemQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUtla2VzLUNlZ2xlZC1FZ2VyLU1pc2tvbGN0YXBvbGNhLU96ZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41OGFmY2Q5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1LZWtlcy1DZWdsZWQtRWdlci1NaXNrb2xjdGFwb2xjYS1PemQKQEAgLTAsMCArMSw1MyBAQAorIyBIdW5nYXJ5IC8gS2VrZXMtQ2VnbGVkLU1pc2tvbGN0YXBvbGNhCisjCisjIEEubXVsdGlwbGV4IFVIRi00NDoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtMzk6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBDLm11bHRpcGxleCBVSEYtNjk6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1NaXNrb2xjLUFnZ3RlbGVrLUZvbnkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LU1pc2tvbGMtQWdndGVsZWstRm9ueQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNjFhYzVhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1NaXNrb2xjLUFnZ3RlbGVrLUZvbnkKQEAgLTAsMCArMSw1MyBAQAorIyBIdW5nYXJ5IC8gTWlza29sYy1BZ2d0ZWxlay1Gb255CisjCisjIEEubXVsdGlwbGV4IFVIRi00NToKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtMzE6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBDLm11bHRpcGxleCBVSEYtNjM6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1Nb3ItU2lvZm9rLVZlc3pwcmVtLVppcmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LU1vci1TaW9mb2stVmVzenByZW0tWmlyYwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jYzJlMzJhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1Nb3ItU2lvZm9rLVZlc3pwcmVtLVppcmMKQEAgLTAsMCArMSw1MyBAQAorIyBIdW5nYXJ5IC8gTW9yLVNpb2Zvay1WZXN6cHJlbS1aaXJjCisjCisjIEEubXVsdGlwbGV4IFVIRi02NDoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtMjk6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUFJPNCwgVklBU0FUMywgUHJpem1hIFRWLCBNdXpzaWthIFRWLCBVbml2ZXJzYWwgQ2hhbm5lbCwgQ29tZWR5IENlbnRyYWwsIE1pbmltYXgsCisjIENhcnRvb24gTmV0d29yaywgU3Bla3RydW0sIEhpc3RvcnksIFNwb3J0MSwgU3BvcnQyLCBEb3JjZWwgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjCisjIEMubXVsdGlwbGV4IFVIRi02MToKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBSVEwgS2x1YiwgVFYyLCBFdXJvbmV3cyBUZXN0LCBJbmZvIGNzYXRvcm5hLCBOZW8gRk0KKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBDb29sLCBGaWxtKywgSEJPLCBOYXRpb25hbCBHZW9ncmFwaGljLCBEaXNuZXkgQ2hhbm5lbCwgQVhOLCBGRU0zLCBQcml2YXRlIHNwaWNlLCBBVFYsCisjIEhpclRWLCBTcG9ydGtsdWIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LU5hZ3lrYW5penNhLUJhcmNzLUtlc3p0aGVseSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtTmFneWthbml6c2EtQmFyY3MtS2VzenRoZWx5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNlMGVlMDcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LU5hZ3lrYW5penNhLUJhcmNzLUtlc3p0aGVseQpAQCAtMCwwICsxLDUzIEBACisjIEh1bmdhcnkgLyBOYWd5a2FuaXpzYS1CYXJjcy1LZXN6dGhlbHkKKyMKKyMgQS5tdWx0aXBsZXggVUhGLTI0OgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIG0xIEhELCBtMiBIRCwgRHVuYSBXb3JsZCwgRHVuYSBIRCwgTVIxIEtvc3N1dGggUmFkaW8sIE1SMiBQZXRvZmkgUmFkaW8sIE1SMyBCYXJ0b2sgUmFkaW8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjCisjIEIubXVsdGlwbGV4IFVIRi01NToKKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUFJPNCwgVklBU0FUMywgUHJpem1hIFRWLCBNdXpzaWthIFRWLCBVbml2ZXJzYWwgQ2hhbm5lbCwgQ29tZWR5IENlbnRyYWwsIE1pbmltYXgsCisjIENhcnRvb24gTmV0d29yaywgU3Bla3RydW0sIEhpc3RvcnksIFNwb3J0MSwgU3BvcnQyLCBEb3JjZWwgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjCisjIEMubXVsdGlwbGV4IFVIRi02NToKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBSVEwgS2x1YiwgVFYyLCBFdXJvbmV3cyBUZXN0LCBJbmZvIGNzYXRvcm5hLCBOZW8gRk0KKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBDb29sLCBGaWxtKywgSEJPLCBOYXRpb25hbCBHZW9ncmFwaGljLCBEaXNuZXkgQ2hhbm5lbCwgQVhOLCBGRU0zLCBQcml2YXRlIHNwaWNlLCBBVFYsCisjIEhpclRWLCBTcG9ydGtsdWIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LU55aXJlZ3loYXphLVRva2FqLUthemluY2JhcmNpa2EtU2FseS1TYXRvcmFsamF1amhlbHkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LU55aXJlZ3loYXphLVRva2FqLUthemluY2JhcmNpa2EtU2FseS1TYXRvcmFsamF1amhlbHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDNmOGU5NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtTnlpcmVneWhhemEtVG9rYWotS2F6aW5jYmFyY2lrYS1TYWx5LVNhdG9yYWxqYXVqaGVseQpAQCAtMCwwICsxLDUzIEBACisjIEh1bmdhcnkgLyBOee1yZWd5aGF6YS1Ub2thai1LemluY2JhcmNpa2EtU2FseS1TYXRvcmFsamF1amhlbHkKKyMKKyMgQS5tdWx0aXBsZXggVUhGLTY4OgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIG0xIEhELCBtMiBIRCwgRHVuYSBXb3JsZCwgRHVuYSBIRCwgTVIxIEtvc3N1dGggUmFkaW8sIE1SMiBQZXRvZmkgUmFkaW8sIE1SMyBCYXJ0b2sgUmFkaW8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjCisjIEIubXVsdGlwbGV4IFVIRi0zMToKKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUFJPNCwgVklBU0FUMywgUHJpem1hIFRWLCBNdXpzaWthIFRWLCBVbml2ZXJzYWwgQ2hhbm5lbCwgQ29tZWR5IENlbnRyYWwsIE1pbmltYXgsCisjIENhcnRvb24gTmV0d29yaywgU3Bla3RydW0sIEhpc3RvcnksIFNwb3J0MSwgU3BvcnQyLCBEb3JjZWwgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjCisjIEMubXVsdGlwbGV4IFVIRi02MzoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBSVEwgS2x1YiwgVFYyLCBFdXJvbmV3cyBUZXN0LCBJbmZvIGNzYXRvcm5hLCBOZW8gRk0KKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBDb29sLCBGaWxtKywgSEJPLCBOYXRpb25hbCBHZW9ncmFwaGljLCBEaXNuZXkgQ2hhbm5lbCwgQVhOLCBGRU0zLCBQcml2YXRlIHNwaWNlLCBBVFYsCisjIEhpclRWLCBTcG9ydGtsdWIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LVBlY3MtU2lrbG9zIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1QZWNzLVNpa2xvcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iNTQ5N2M4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1QZWNzLVNpa2xvcwpAQCAtMCwwICsxLDQyIEBACisjIEh1bmdhcnkgLyBQZWNzLVNpa2xvcworIworIyBBLm11bHRpcGxleCBVSEYtNTI6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbTEgSEQsIG0yIEhELCBEdW5hIFdvcmxkLCBEdW5hIEhELCBNUjEgS29zc3V0aCBSYWRpbywgTVIyIFBldG9maSBSYWRpbywgTVIzIEJhcnRvayBSYWRpbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQi5tdWx0aXBsZXggVUhGLTAwOgorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBQUk80LCBWSUFTQVQzLCBQcml6bWEgVFYsIE11enNpa2EgVFYsIFVuaXZlcnNhbCBDaGFubmVsLCBDb21lZHkgQ2VudHJhbCwgTWluaW1heCwKKyMgQ2FydG9vbiBOZXR3b3JrLCBTcGVrdHJ1bSwgSGlzdG9yeSwgU3BvcnQxLCBTcG9ydDIsIERvcmNlbCBUVgorIyBUIDU1NDAwMDAwMCA4TUh6IDMvNCBOT05FIFFBTTY0IDhrIDEvNCBOT05FCisjCisjIEMubXVsdGlwbGV4IFVIRi02NzoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBSVEwgS2x1YiwgVFYyLCBFdXJvbmV3cyBUZXN0LCBJbmZvIGNzYXRvcm5hLCBOZW8gRk0KKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBDb29sLCBGaWxtKywgSEJPLCBOYXRpb25hbCBHZW9ncmFwaGljLCBEaXNuZXkgQ2hhbm5lbCwgQVhOLCBGRU0zLCBQcml2YXRlIHNwaWNlLCBBVFYsCisjIEhpclRWLCBTcG9ydGtsdWIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LVNvcHJvbi1Lb3N6ZWcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LVNvcHJvbi1Lb3N6ZWcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGE5YjA4MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtU29wcm9uLUtvc3plZwpAQCAtMCwwICsxLDUzIEBACisjIEh1bmdhcnkgLyBTb3Byb24tS29zemVnCisjCisjIEEubXVsdGlwbGV4IFVIRi00MjoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtNDA6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBDLm11bHRpcGxleCBVSEYtNjg6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1TemVnZWQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LVN6ZWdlZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41ZmEyYWExCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1TemVnZWQKQEAgLTAsMCArMSw1MyBAQAorIyBIdW5nYXJ5IC8gU3plZ2VkCisjCisjIEEubXVsdGlwbGV4IFVIRi02MDoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtMjI6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBDLm11bHRpcGxleCBVSEYtNjU6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1TemVrZXNmZWhlcnZhciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtU3pla2VzZmVoZXJ2YXIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjliMjE2MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtU3pla2VzZmVoZXJ2YXIKQEAgLTAsMCArMSw1MyBAQAorIyBIdW5nYXJ5IC8gU3pla2VzZmVoZXJ2YXIKKyMKKyMgQS5tdWx0aXBsZXggVUhGLTMwOgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIG0xIEhELCBtMiBIRCwgRHVuYSBXb3JsZCwgRHVuYSBIRCwgTVIxIEtvc3N1dGggUmFkaW8sIE1SMiBQZXRvZmkgUmFkaW8sIE1SMyBCYXJ0b2sgUmFkaW8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjCisjIEIubXVsdGlwbGV4IFVIRi0yOToKKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUFJPNCwgVklBU0FUMywgUHJpem1hIFRWLCBNdXpzaWthIFRWLCBVbml2ZXJzYWwgQ2hhbm5lbCwgQ29tZWR5IENlbnRyYWwsIE1pbmltYXgsCisjIENhcnRvb24gTmV0d29yaywgU3Bla3RydW0sIEhpc3RvcnksIFNwb3J0MSwgU3BvcnQyLCBEb3JjZWwgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjCisjIEMubXVsdGlwbGV4IFVIRi02MzoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBSVEwgS2x1YiwgVFYyLCBFdXJvbmV3cyBUZXN0LCBJbmZvIGNzYXRvcm5hLCBOZW8gRk0KKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBDb29sLCBGaWxtKywgSEJPLCBOYXRpb25hbCBHZW9ncmFwaGljLCBEaXNuZXkgQ2hhbm5lbCwgQVhOLCBGRU0zLCBQcml2YXRlIHNwaWNlLCBBVFYsCisjIEhpclRWLCBTcG9ydGtsdWIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LVN6ZW50ZXMtQmF0dG9ueWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LVN6ZW50ZXMtQmF0dG9ueWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzRmNzU2YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtU3plbnRlcy1CYXR0b255YQpAQCAtMCwwICsxLDQyIEBACisjIEh1bmdhcnkgLyBTemVudGVzLUJhdHRvbnlhCisjCisjIEEubXVsdGlwbGV4IFVIRi02MDoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtMDA6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUFJPNCwgVklBU0FUMywgUHJpem1hIFRWLCBNdXpzaWthIFRWLCBVbml2ZXJzYWwgQ2hhbm5lbCwgQ29tZWR5IENlbnRyYWwsIE1pbmltYXgsCisjIENhcnRvb24gTmV0d29yaywgU3Bla3RydW0sIEhpc3RvcnksIFNwb3J0MSwgU3BvcnQyLCBEb3JjZWwgVFYKKyMgVCA1MzgwMDAwMDAgOE1IeiAzLzQgTk9ORSBRQU02NCA4ayAxLzQgTk9ORQorIworIyBDLm11bHRpcGxleCBVSEYtNjU6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1Tem9sbm9rIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1Tem9sbm9rCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFmMzcxZTAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LVN6b2xub2sKQEAgLTAsMCArMSw1MyBAQAorIyBIdW5nYXJ5IC8gU3pvbG5vaworIworIyBBLm11bHRpcGxleCBVSEYtNTY6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbTEgSEQsIG0yIEhELCBEdW5hIFdvcmxkLCBEdW5hIEhELCBNUjEgS29zc3V0aCBSYWRpbywgTVIyIFBldG9maSBSYWRpbywgTVIzIEJhcnRvayBSYWRpbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQi5tdWx0aXBsZXggVUhGLTMwOgorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBDLm11bHRpcGxleCBVSEYtNjQ6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1Tem9tYmF0aGVseS1WYXN2YXItTGVudGktWmFsYWVnZXJzemVnIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1Tem9tYmF0aGVseS1WYXN2YXItTGVudGktWmFsYWVnZXJzemVnCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU4NzdiNGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LVN6b21iYXRoZWx5LVZhc3Zhci1MZW50aS1aYWxhZWdlcnN6ZWcKQEAgLTAsMCArMSw1MyBAQAorIyBIdW5nYXJ5IC8gU3pvbWJhdGhlbHktVmFzdmFyLUxlbnRpLVphbGFlZ2Vyc3plZworIworIyBBLm11bHRpcGxleCBVSEYtMzg6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbTEgSEQsIG0yIEhELCBEdW5hIFdvcmxkLCBEdW5hIEhELCBNUjEgS29zc3V0aCBSYWRpbywgTVIyIFBldG9maSBSYWRpbywgTVIzIEJhcnRvayBSYWRpbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQi5tdWx0aXBsZXggVUhGLTU4OgorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBDLm11bHRpcGxleCBVSEYtNjg6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1VemQtQm9ueWhhZC1EdW5hdWp2YXJvcy1TemVrc3phcmQtU3ppZ2V0dmFyIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1VemQtQm9ueWhhZC1EdW5hdWp2YXJvcy1TemVrc3phcmQtU3ppZ2V0dmFyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc4MDc1ZTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LVV6ZC1Cb255aGFkLUR1bmF1anZhcm9zLVN6ZWtzemFyZC1TemlnZXR2YXIKQEAgLTAsMCArMSw1MyBAQAorIyBIdW5nYXJ5IC8gVXpkLUJvbnloYWQtRHVuYXVqdmFyb3MtU3pla3N6YXJkLVN6aWdldHZhcgorIworIyBBLm11bHRpcGxleCBVSEYtNTI6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbTEgSEQsIG0yIEhELCBEdW5hIFdvcmxkLCBEdW5hIEhELCBNUjEgS29zc3V0aCBSYWRpbywgTVIyIFBldG9maSBSYWRpbywgTVIzIEJhcnRvayBSYWRpbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQi5tdWx0aXBsZXggVUhGLTM3OgorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBDLm11bHRpcGxleCBVSEYtNjc6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1DYWlybkhpbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLUNhaXJuSGlsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kM2E1ZGM1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1DYWlybkhpbGwKQEAgLTAsMCArMSwyNiBAQAorIyBJcmVsYW5kLCBDYWlybiBIaWxsCisjIEdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuY29tcmVnLmllL19maWxldXBsb2FkL0Jyb2FkY2FzdF9UZWNobmljYWxfUGFyYW1ldGVycy54bHN4CitbQ0g0NzogU2FvcnZpZXcgTVVYMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ0OiBTYW9ydmlldyBNVVgyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1DbGVybW9udENhcm4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLUNsZXJtb250Q2FybgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44MWYxN2QyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1DbGVybW9udENhcm4KQEAgLTAsMCArMSwyNiBAQAorIyBJcmVsYW5kLCBDbGVybW9udCBDYXJuCisjIEdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuY29tcmVnLmllL19maWxldXBsb2FkL0Jyb2FkY2FzdF9UZWNobmljYWxfUGFyYW1ldGVycy54bHN4CitbQ0g1MjogU2FvcnZpZXcgTVVYMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDU2OiBTYW9ydmlldyBNVVgyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1EdW5nYXJ2YW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLUR1bmdhcnZhbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xYzJjY2Q4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1EdW5nYXJ2YW4KQEAgLTAsMCArMSwyNiBAQAorIyBJcmVsYW5kLCBEdW5nYXJ2YW4KKyMgR2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5jb21yZWcuaWUvX2ZpbGV1cGxvYWQvQnJvYWRjYXN0X1RlY2huaWNhbF9QYXJhbWV0ZXJzLnhsc3gKK1tDSDU1OiBTYW9ydmlldyBNVVgxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTk6IFNhb3J2aWV3IE1VWDJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLUhvbHl3ZWxsSGlsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWUtSG9seXdlbGxIaWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjViYjJjNTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLUhvbHl3ZWxsSGlsbApAQCAtMCwwICsxLDI2IEBACisjIElyZWxhbmQsIEhvbHl3ZWxsIEhpbGwKKyMgR2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5jb21yZWcuaWUvX2ZpbGV1cGxvYWQvQnJvYWRjYXN0X1RlY2huaWNhbF9QYXJhbWV0ZXJzLnhsc3gKK1tDSDMwOiBTYW9ydmlldyBNVVgxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzM6IFNhb3J2aWV3IE1VWDJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLUtpcHB1cmUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLUtpcHB1cmUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGE3YTNiZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWUtS2lwcHVyZQpAQCAtMCwwICsxLDI2IEBACisjIElyZWxhbmQsIEtpcHB1cmUKKyMgR2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5jb21yZWcuaWUvX2ZpbGV1cGxvYWQvQnJvYWRjYXN0X1RlY2huaWNhbF9QYXJhbWV0ZXJzLnhsc3gKK1tDSDU0OiBTYW9ydmlldyBNVVgxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTg6IFNhb3J2aWV3IE1VWDJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLU1hZ2hlcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLU1hZ2hlcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTg3YWNkOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWUtTWFnaGVyYQpAQCAtMCwwICsxLDI2IEBACisjIElyZWxhbmQsIE1hZ2hlcmEKKyMgR2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5jb21yZWcuaWUvX2ZpbGV1cGxvYWQvQnJvYWRjYXN0X1RlY2huaWNhbF9QYXJhbWV0ZXJzLnhsc3gKK1tDSDQ4OiBTYW9ydmlldyBNVVgxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTU6IFNhb3J2aWV3IE1VWDJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLU1vdW50TGVpbnN0ZXIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLU1vdW50TGVpbnN0ZXIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjA0MzBhMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWUtTW91bnRMZWluc3RlcgpAQCAtMCwwICsxLDI2IEBACisjIElyZWxhbmQsIE1vdW50IExlaW5zdGVyCisjIEdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuY29tcmVnLmllL19maWxldXBsb2FkL0Jyb2FkY2FzdF9UZWNobmljYWxfUGFyYW1ldGVycy54bHN4CitbQ0gyMzogU2FvcnZpZXcgTVVYMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI2OiBTYW9ydmlldyBNVVgyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1NdWxsYWdoYW5pc2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLU11bGxhZ2hhbmlzaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45ZWI3Y2ViCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1NdWxsYWdoYW5pc2gKQEAgLTAsMCArMSwyNiBAQAorIyBJcmVsYW5kLCBNdWxsYWdoYW5pc2gKKyMgR2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5jb21yZWcuaWUvX2ZpbGV1cGxvYWQvQnJvYWRjYXN0X1RlY2huaWNhbF9QYXJhbWV0ZXJzLnhsc3gKK1tDSDIxOiBTYW9ydmlldyBNVVgxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjQ6IFNhb3J2aWV3IE1VWDJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLVNwdXJIaWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1TcHVySGlsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45Njc4MmZlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1TcHVySGlsbApAQCAtMCwwICsxLDI2IEBACisjIElyZWxhbmQsIFNwdXIgSGlsbAorIyBHZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmNvbXJlZy5pZS9fZmlsZXVwbG9hZC9Ccm9hZGNhc3RfVGVjaG5pY2FsX1BhcmFtZXRlcnMueGxzeAorW0NINDU6IFNhb3J2aWV3IE1VWDFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0OTogU2FvcnZpZXcgTVVYMl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWUtVGhyZWVSb2NrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1UaHJlZVJvY2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2RmNjQ4ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWUtVGhyZWVSb2NrCkBAIC0wLDAgKzEsMjYgQEAKKyMgSXJlbGFuZCwgVGhyZWUgUm9jaworIyBHZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmNvbXJlZy5pZS9fZmlsZXVwbG9hZC9Ccm9hZGNhc3RfVGVjaG5pY2FsX1BhcmFtZXRlcnMueGxzeAorW0NIMzA6IFNhb3J2aWV3IE1VWDFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzMzogU2FvcnZpZXcgTVVYMl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWUtVHJ1c2ttb3JlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1UcnVza21vcmUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODM4NDI5YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWUtVHJ1c2ttb3JlCkBAIC0wLDAgKzEsMjYgQEAKKyMgSXJlbGFuZCwgVHJ1c2ttb3JlCisjIEdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuY29tcmVnLmllL19maWxldXBsb2FkL0Jyb2FkY2FzdF9UZWNobmljYWxfUGFyYW1ldGVycy54bHN4CitbQ0g1MzogU2FvcnZpZXcgTVVYMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDU3OiBTYW9ydmlldyBNVVgyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1Xb29kY29ja0hpbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLVdvb2Rjb2NrSGlsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wNjVlNmZjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1Xb29kY29ja0hpbGwKQEAgLTAsMCArMSwyNiBAQAorIyBJcmVsYW5kLCBXb29kY29jayBIaWxsCisjIEdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuY29tcmVnLmllL19maWxldXBsb2FkL0Jyb2FkY2FzdF9UZWNobmljYWxfUGFyYW1ldGVycy54bHN4CitbQ0g0NzogU2FvcnZpZXcgTVVYMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ0OiBTYW9ydmlldyBNVVgyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pbC1BbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2lsLUFsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xNGUyYjVkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pbC1BbGwKQEAgLTAsMCArMSwyNiBAQAorIyBJc3JhZWwsIElzcmFlbCBCcm9hZGNhc3RpbmcgQXV0aG9yaXR5J3MgdHJhbnNtaXR0ZXJzCisjIEdlbmVyYXRlZCBmcm9tIGxpc3QgaW4gaHR0cDovL3d3dy5pYmEub3JnLmlsL3JlY2VwdGlvbi8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pci1UZWhyYW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2lyLVRlaHJhbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45YzI4YTc3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pci1UZWhyYW4KQEAgLTAsMCArMSwyNSBAQAorIyBEVkItVCBUZWhyYW4KK1tJUklCLVRWMS8yLzMvNC81LCBJUklOTiwgQU1PVVpFU0gsIFFVUkFOLVRWXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbUFJFU1MgVFYsIEFMLUFMQU0sIEFMLUtPVVNBUiwgSkFBTUVKQU0gMSwgSVJJQiBNT1NUQU5BRCwgSVJJQiBPU1RBTkldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaXMtUmV5a2phdmlrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pcy1SZXlramF2aWsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzg5OGE2YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaXMtUmV5a2phdmlrCkBAIC0wLDAgKzEsMjI2IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGZpbGUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgd19zY2FuCisjIChodHRwOi8vd2lyYmVsLmh0cGMtZm9ydW0uZGUvd19zY2FuL2luZGV4Mi5odG1sKQorIyEgPHdfc2Nhbj4gMjAxMDAzMTYgMSAwIE9GRE0gSVMgPC93X3NjYW4+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogPGFkZCBkZXNjcmlwdGlvbiBoZXJlPgorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTAtMTAtMjIKKyMgcHJvdmlkZWQgYnkgKG9wdCkgICAgOiA8eW91ciBuYW1lIG9yIGVtYWlsIGhlcmU+CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tWb2RhZm9uZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ZvZGFmb25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ZvZGFmb25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ZvZGFmb25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ZvZGFmb25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ZvZGFmb25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tWb2RhZm9uZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tWb2RhZm9uZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tWb2RhZm9uZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tWb2RhZm9uZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tWb2RhZm9uZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tWb2RhZm9uZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tWb2RhZm9uZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tWb2RhZm9uZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tWb2RhZm9uZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tWb2RhZm9uZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaXQtQWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pdC1BbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzQxY2FjMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaXQtQWxsCkBAIC0wLDAgKzEsNzYxIEBACisjIFRoaXMgZmlsZSBsaXN0cyBhbGwgZnJlcXVlbmNpZXMgdXNlZCBpbiBXZXN0ZXJuIEV1cm9wZSBmb3IgRFZCLVQuCisjIFRoZSB0cmFuc21pc3Npb24gcGFyYW1ldGVycyBsaXN0ZWQgaGVyZSBhcmUgdGhlIG9uZXMgZ2VuZXJhbGx5IHVzZWQgaW4KKyMgSXRhbHksIGJyb2FkY2FzdCBuZXdvcmtzIGluIG90aGVyIGNvdW50cmllcyBkbyB1c2UgZGlmZmVyZW50IHBhcmFtZXRlcnMuCisjIE1vcmVvdmVyLCBvdGhlciBjb3VudHJpZXMgdXNlIGEgYmFuZHdpZHRoIG9mIDggTUh6IGFsc28gZm9yIEJhbmQgSUlJCisjIGNoYW5uZWxzLgorIworIyBDb21waWxlZCBpbiBEZWNlbWJlciAyMDEwIGJ5IE1hcmNvIGQnSXRyaSA8bWRAbGludXguaXQ+LgorIworIyBSZWZlcmVuY2VzOgorIyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0JhbmRfSSNFdXJvcGUKKyMgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9CYW5kX0lJSSNFdXJvcGUKKyMgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9GaWxlOlZIRl9Vc2FnZS5zdmcKKyMgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9UZWxldmlzaW9uX2NoYW5uZWxfZnJlcXVlbmNpZXMKKworCisjIyMgVkhGIC0gQmFuZCBJSUkgIyMjCisjIDUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTg0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE5MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA5CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjA1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgMTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMTI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyAxMQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIxOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDEyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjI2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyMjIFVIRiAtIEJhbmQgSVYgIyMjCisjIDIxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgMjIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyAyMworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDI0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgMjUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyAyNgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDI3CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgMjgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyAyOQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDMwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgMzEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyAzMgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDMzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgMzQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyAzNQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDM2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgMzcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIyMgVUhGIC0gQmFuZCBWICMjIworIyAzOAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDM5CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNDAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA0MQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDQyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNDMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA0NAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDQ1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNDYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA0NworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDQ4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNDkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA1MAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDUxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNTIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA1MworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDU0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNTUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA1NgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDU3CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNTgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA1OQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDYwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNjEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA2MgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDYzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNjQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA2NQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDY2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNjcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA2OAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDY5CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbHQtQWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9sdC1BbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGFlNWZlZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbHQtQWxsCkBAIC0wLDAgKzEsMzAyIEBACisjIExpdGh1YW5pYSwgd2hvbGUgY291bnRyeQorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy5za2FpdG1lbmluZS5sdC9sdC9za2FpdG1lbmluZV90dl9saWV0dXZvamUvYW50emVtaW5lX2R2Yl90Lmh0bWwKKyMgQ3JlYXRlZCBieSBiYXJ1c2VAZ21haWwuY29tCisKKyMgTFJUQyBJIHRpbmtsYXMKK1trYW5hbGFzIDIyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDI2XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDM5XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDQ0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDQ3XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDU3XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDU4XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDYwXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDYxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBMUlRDIElJIHRpbmtsYXMKK1trYW5hbGFzIDMzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDM4XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDQ4XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDU0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDYyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDYzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBURU8gTFQgSSB0aW5rbGFzCitba2FuYWxhcyAzNl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitba2FuYWxhcyA1MF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitba2FuYWxhcyA1OV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitba2FuYWxhcyA2NV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVEVPIExUIElJIHRpbmtsYXMKK1trYW5hbGFzIDIxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDMwXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDUzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyNUIDc4NjAwMDAwMCA4TUh6IEFVVE8gTk9ORSBRQU02NCA4ayAxLzE2IE5PTkUgIyBrYW5hbGFzIDYwCisKKyMgVmlsbml1aSBib251c2FzCitba2FuYWxhcyAzN10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2x1LUFsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbHUtQWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRlODA1M2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2x1LUFsbApAQCAtMCwwICsxLDQ5IEBACisjIERWQi1UIEx1eGVtYm91cmcgWzIwMDctMTEtMThdCitbS2FuYWwgNyAgIE02LCBSVEwgOCwgTFVYRS5UVl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0thbmFsIDIxICBhaXJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tLYW5hbCAyNCAgY2x1YiBSVEwsIFJUTCBUVkksIHBsdWcgVFYsIFJUTCA0LCBSVEwgNSwgUlRMIDddCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbS2FuYWwgMjcgIFJUTCBUZWxlTGV0eiwgMiB0ZW4gUlRMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9sdi1SaWdhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9sdi1SaWdhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJmYjJlMzcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2x2LVJpZ2EKQEAgLTAsMCArMSw5MiBAQAorIyBMYXR2aWEgLSBSaWdhIChsdi1SaWdhKQorIyBHZW5lcmF0ZWQgYnkgUmFpbW9uZHMgQ2ljYW5zCisjIFVURjggZW5jb2RpbmcKKworCisjIERMUlRDCitbV2VhayBzaWduYWwhIFbEgWrFoSBzaWduxIFscyEg0KHQu9Cw0LHRi9C5INGB0LjQs9C90LDQuyFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBCYWx0a29tIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L25sLUFsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbmwtQWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMzZmNjZDMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L25sLUFsbApAQCAtMCwwICsxLDQ4MyBAQAorIyBUaGUgTmV0aGVybGFuZHMsIHdob2xlIGNvdW50cnkKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly9yYWRpby10di1uZWRlcmxhbmQubmwvVFYgICAgICAgMS4yNTE5NzhlLTMxMm5kZXJsaWpzdCUyME5lZGVybGFuZC54bHMKKyMgYW5kIGh0dHA6Ly9yYWRpby10di1uZWRlcmxhbmQubmwvZHZidC9kdmJ0LWxva2FhbC5odG1sCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uby1Ucm9uZGVsYWdfU3Rqb3JkYWwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L25vLVRyb25kZWxhZ19TdGpvcmRhbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mNmQ4OTk3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uby1Ucm9uZGVsYWdfU3Rqb3JkYWwKQEAgLTAsMCArMSwzOSBAQAorIyBOb3J3YXkgLyBUcm9uZGVsYWcgLyBTdGpvcmRhbAorIyBtb2RpZmllZCBhY2NvcmRpbmcgdG8gZGF0YSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSB3X3NjYW4KKyMgZnJlZSAobnJrKSBjaGFubmVscyBhcmUgb24gNjU4MDAwMDAwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LUF1Y2tsYW5kSW5maWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1BdWNrbGFuZEluZmlsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kYzA1ZjBjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1BdWNrbGFuZEluZmlsbApAQCAtMCwwICsxLDQyIEBACisjIFBpbmVoaWxsLCBSZW11ZXJhLCBTa3kgVG93ZXIsIEF1Y2tsYW5kIEluZmlsbCwgQXVja2xhbmQgTloKKyMKKyMgQ2hhbm5lbCBhbGxvY2F0aW9uIGRldGFpbHMgZm9yIE5aIGNhbiBiZSBmb3VuZCBhdAorIyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0ZyZWV2aWV3XyhOZXdfWmVhbGFuZCkKKyMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1BdWNrbGFuZFdhaWF0YXJ1YSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotQXVja2xhbmRXYWlhdGFydWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGZiZWI4NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotQXVja2xhbmRXYWlhdGFydWEKQEAgLTAsMCArMSw0MiBAQAorIyBXYWlhdGFydWEsIEF1Y2tsYW5kIE5aCisjCisjIENoYW5uZWwgYWxsb2NhdGlvbiBkZXRhaWxzIGZvciBOWiBjYW4gYmUgZm91bmQgYXQKKyMgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9GcmVldmlld18oTmV3X1plYWxhbmQpCisjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotQ2hyaXN0Y2h1cmNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1DaHJpc3RjaHVyY2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjQyYzE4NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotQ2hyaXN0Y2h1cmNoCkBAIC0wLDAgKzEsNDIgQEAKKyMgU3VnYXJsb2FmLCBDaHJpc3RjaHVyY2ggTloKKyMKKyMgQ2hhbm5lbCBhbGxvY2F0aW9uIGRldGFpbHMgZm9yIE5aIGNhbiBiZSBmb3VuZCBhdAorIyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0ZyZWV2aWV3XyhOZXdfWmVhbGFuZCkKKyMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1EdW5lZGluIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1EdW5lZGluCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQ0MDQ0OWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LUR1bmVkaW4KQEAgLTAsMCArMSw0MiBAQAorIyBNdCBDYXJnaWxsLCBEdW5lZGluIE5aCisjCisjIENoYW5uZWwgYWxsb2NhdGlvbiBkZXRhaWxzIGZvciBOWiBjYW4gYmUgZm91bmQgYXQKKyMgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9GcmVldmlld18oTmV3X1plYWxhbmQpCisjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotSGFtaWx0b24gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LUhhbWlsdG9uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmVlYjViNDEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LUhhbWlsdG9uCkBAIC0wLDAgKzEsNDIgQEAKKyMgSGFtaWx0b24gSW5maWxsLCBXYWlrYXRvIE5aCisjCisjIENoYW5uZWwgYWxsb2NhdGlvbiBkZXRhaWxzIGZvciBOWiBjYW4gYmUgZm91bmQgYXQKKyMgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9GcmVldmlld18oTmV3X1plYWxhbmQpCisjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotSGF3a2VzQmF5TXRFcmluIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1IYXdrZXNCYXlNdEVyaW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmI2Y2VlMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotSGF3a2VzQmF5TXRFcmluCkBAIC0wLDAgKzEsNDIgQEAKKyMgTXQuIEVyaW4sIEhhd2tlcyBCYXkgTloKKyMKKyMgQ2hhbm5lbCBhbGxvY2F0aW9uIGRldGFpbHMgZm9yIE5aIGNhbiBiZSBmb3VuZCBhdAorIyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0ZyZWV2aWV3XyhOZXdfWmVhbGFuZCkKKyMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1IYXdrZXNCYXlOYXBpZXIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LUhhd2tlc0JheU5hcGllcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wOTQxYjgzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1IYXdrZXNCYXlOYXBpZXIKQEAgLTAsMCArMSw0MiBAQAorIyBOYXBpZXIgSW5maWxsLCBIYXdrZXMgQmF5IE5aCisjCisjIENoYW5uZWwgYWxsb2NhdGlvbiBkZXRhaWxzIGZvciBOWiBjYW4gYmUgZm91bmQgYXQKKyMgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9GcmVldmlld18oTmV3X1plYWxhbmQpCisjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotTWFuYXdhdHUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LU1hbmF3YXR1Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjljMDEzMDQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LU1hbmF3YXR1CkBAIC0wLDAgKzEsNDIgQEAKKyMgV2hhcml0ZSwgTWFuYXdhdHUgTloKKyMKKyMgQ2hhbm5lbCBhbGxvY2F0aW9uIGRldGFpbHMgZm9yIE5aIGNhbiBiZSBmb3VuZCBhdAorIyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0ZyZWV2aWV3XyhOZXdfWmVhbGFuZCkKKyMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1UYXVyYW5nYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotVGF1cmFuZ2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2IzMGM1ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotVGF1cmFuZ2EKQEAgLTAsMCArMSw0MiBAQAorIyBLb3B1a2FpcnVhLCBUYXVyYW5nYSBOWgorIworIyBDaGFubmVsIGFsbG9jYXRpb24gZGV0YWlscyBmb3IgTlogY2FuIGJlIGZvdW5kIGF0CisjIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvRnJlZXZpZXdfKE5ld19aZWFsYW5kKQorIworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LVdhaWthdG8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LVdhaWthdG8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDg4Y2VhNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotV2Fpa2F0bwpAQCAtMCwwICsxLDQyIEBACisjIFRlIEFyb2hhLCBXYWlrYXRvIE5aCisjCisjIENoYW5uZWwgYWxsb2NhdGlvbiBkZXRhaWxzIGZvciBOWiBjYW4gYmUgZm91bmQgYXQKKyMgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9GcmVldmlld18oTmV3X1plYWxhbmQpCisjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotV2VsbGluZ3RvbkluZmlsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotV2VsbGluZ3RvbkluZmlsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42M2Q0ODcxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1XZWxsaW5ndG9uSW5maWxsCkBAIC0wLDAgKzEsNDIgQEAKKyMgRml0emhlcmJlcnQsIEJheHRlcnMgS25vYiwgV2VsbGluZ3RvbiBpbmZpbGwsIFdlbGxpbmd0b24gTloKKyMKKyMgQ2hhbm5lbCBhbGxvY2F0aW9uIGRldGFpbHMgZm9yIE5aIGNhbiBiZSBmb3VuZCBhdAorIyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0ZyZWV2aWV3XyhOZXdfWmVhbGFuZCkKKyMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1XZWxsaW5ndG9uS2F1a2F1IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1XZWxsaW5ndG9uS2F1a2F1Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkxMTFmMWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LVdlbGxpbmd0b25LYXVrYXUKQEAgLTAsMCArMSw0MiBAQAorIyBLYXVrYXUsIFdlbGxpbmd0b24gTloKKyMKKyMgQ2hhbm5lbCBhbGxvY2F0aW9uIGRldGFpbHMgZm9yIE5aIGNhbiBiZSBmb3VuZCBhdAorIyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0ZyZWV2aWV3XyhOZXdfWmVhbGFuZCkKKyMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1XZWxsaW5ndG9uTmdhcmFyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotV2VsbGluZ3Rvbk5nYXJhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjdkOTIwYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotV2VsbGluZ3Rvbk5nYXJhcmEKQEAgLTAsMCArMSw0MiBAQAorIyBOZ2FyYXJhLCBXZWxsaW5ndG9uIE5aCisjCisjIENoYW5uZWwgYWxsb2NhdGlvbiBkZXRhaWxzIGZvciBOWiBjYW4gYmUgZm91bmQgYXQKKyMgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9GcmVldmlld18oTmV3X1plYWxhbmQpCisjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcGwtQ3plc3RvY2hvd2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3BsLUN6ZXN0b2Nob3dhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmUyNGY1ZjYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3BsLUN6ZXN0b2Nob3dhCkBAIC0wLDAgKzEsNDYgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgZmlsZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSB3X3NjYW4KKyMgKGh0dHA6Ly93aXJiZWwuaHRwYy1mb3J1bS5kZS93X3NjYW4vaW5kZXgyLmh0bWwpCisjISA8d19zY2FuPiAyMDEyMDYwNSAxIDAgVEVSUkVTVFJJQUwgUEwgPC93X3NjYW4+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogUEwgQ3plc3RvY2hvd2Egc2xhc2tpZQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTItMTEtMzAKKyMgcHJvdmlkZWQgYnkgKG9wdCkgICAgOiBKYWt1YiBLYXNwcnp5Y2tpIGpha3ViQGthc3Byenlja2kubmFtZQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW01VWC0xIEVtaXRlbCBXcmVjenljYSAxMDBLVyBIXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tNVVgtMiBFbWl0ZWwgV3JlY3p5Y2EgMTAwS1cgSF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbTVVYLTMgVE9OIEN6ZXN0b2Nob3dhL0JsZXN6bm8gMktXIEhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9wbC1HZGFuc2sgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3BsLUdkYW5zawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42ZmYxOGNiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9wbC1HZGFuc2sKQEAgLTAsMCArMSwyNSBAQAorIyBHZGHFhHNrLCBQb2xhbmQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9wbC1LcmFrb3cgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3BsLUtyYWtvdwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xMmIxNjRmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9wbC1LcmFrb3cKQEAgLTAsMCArMSw4MiBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBmaWxlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IHdfc2NhbgorIyAoaHR0cDovL3dpcmJlbC5odHBjLWZvcnVtLmRlL3dfc2Nhbi9pbmRleDIuaHRtbCkKKyMhIDx3X3NjYW4+IDIwMDkxMjMwIDEgMCBPRkRNIFBMIDwvd19zY2FuPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFBvbGFuZCwgS3Jha293CisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxMS0xMC0yOQorIyBwcm92aWRlZCBieSAob3B0KSAgICA6IERhbWlhbiBHb2xkYQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0NoLjIzLCBNdXgyIFRhcm5vdy9nLlN3Lk1hcmNpbmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tOVyAwNCBNYWxvcG9sc2tpZSwgQ2guNDgsIE11eDMgS3Jha293L0Nob3JhZ3dpY2EgMmtXXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2guNDksIE11eDIgS2F0b3dpY2UvS29zenRvd3ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDaC41MSwgTXV4MyBLYXRvd2ljZS9Lb3N6dG93eSAyLjVrV10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NoLjYyLCBNdXgxIFdpc2xhL1Nrcnp5Y3puZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1RQIEVtaVRlbCBDaC42NCwgTXV4MyBLcmFrb3cvQ2hvcmFnd2ljYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9wbC1Lcm9zbm9fU3VjaGFfR29yYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcGwtS3Jvc25vX1N1Y2hhX0dvcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2I0ZTkyZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcGwtS3Jvc25vX1N1Y2hhX0dvcmEKQEAgLTAsMCArMSwzNSBAQAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcGwtUnplc3pvdyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcGwtUnplc3pvdwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xOTkxODc4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9wbC1SemVzem93CkBAIC0wLDAgKzEsMTMgQEAKKyMgUnplc3pvdyAvIFN1Y2hhIEdvcmEsIFNvdXRoLUVhc3QgUG9sYW5kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcGwtU3pjemVjaW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3BsLVN6Y3plY2luCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg2ZGI2OWYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3BsLVN6Y3plY2luCkBAIC0wLDAgKzEsNDYgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgZmlsZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSB3X3NjYW4KKyMgKGh0dHA6Ly93aXJiZWwuaHRwYy1mb3J1bS5kZS93X3NjYW4vaW5kZXgyLmh0bWwpCisjISA8d19zY2FuPiAyMDA5MTIzMCAxIDAgT0ZETSBQTCA8L3dfc2Nhbj4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBQb2xhbmQsIFN6Y3plY2luCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNS0xMi0wMQorIyBwcm92aWRlZCBieSAob3B0KSAgICA6IEZhbnRvbQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitbWmFjaG9kbmlvcG9tb3Jza2llLCBDaC40MSwgTXV4MSBTemN6ZWNpbi9Lb2xvd28gMTAwa1ddCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1taYWNob2RuaW9wb21vcnNraWUsIENoLjM0LCBNdXgyIFN6Y3plY2luL0tvbG93byAxMDBrV10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1phY2hvZG5pb3BvbW9yc2tpZSwgQ2guNDgsIE11eDMgU3pjemVjaW4vS29sb3dvIDEwMGtXXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9wbC1XYXJzemF3YSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcGwtV2Fyc3phd2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTZjNmIzZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcGwtV2Fyc3phd2EKQEAgLTAsMCArMSw2NCBAQAorIyBXYXJzYXcgKE1hc293aWFuKSwgUG9sYW5kCisjCisjIENoYW5uZWxzIGluZm86IGh0dHA6Ly9zYXQtY2hhcnRzLmV1L2R2Yi10LnBocAorIworW1Jhc3p5bi9QS2lOIE1VWC0zXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbUmFzenluL1BLaU4gTVVYLTggKFRWTkhEKV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tSYXN6eW4vUEtpTiBNVVgtMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1Jhc3p5bi9QS2lOIE1VWC0yXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbUEtpTiBNVVgtOF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9wbC1Xcm9jbGF3IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9wbC1Xcm9jbGF3Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNmZmJlN2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3BsLVdyb2NsYXcKQEAgLTAsMCArMSwxMyBAQAorIyBXcm9jbGF3IC8gWm9yYXdpbmEsIFNvdXRoLVdlc3QgUG9sYW5kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcHQtQWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9wdC1BbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTE5ZTRkYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcHQtQWxsCkBAIC0wLDAgKzEsODUgQEAKKyMgR2VuZXJhdGVkIGZyb20gaHR0cDovL3RkdC1wb3J0dWdhbC5ibG9nc3BvdC5wdC8KK1tNb250ZSBkYSBWaXJnZW1dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tMb3VzYSAoVHJldmltKV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbTW9udGVqdW50b10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tNYWlubGFuZCBTRk5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcm8tQnVjaGFyZXN0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9yby1CdWNoYXJlc3QKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTI0MjdjZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcm8tQnVjaGFyZXN0CkBAIC0wLDAgKzEsMzcgQEAKKyMgUm9tYW5pYSAvIEJ1Y2hhcmVzdAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbU1JUVl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tTTlIgRFZCLVRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3J1LUtyYXNub2RhciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcnUtS3Jhc25vZGFyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA0YTBmZGIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3J1LUtyYXNub2RhcgpAQCAtMCwwICsxLDI2IEBACisjIFJ1c3NpYSwgS3Jhc25vZGFyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA0LzUKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDQvNQorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMQorCUlOVkVSU0lPTiA9IEFVVE8KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcnUtTm92b3NpYmlyc2sgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3J1LU5vdm9zaWJpcnNrCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNiZTNjMzMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3J1LU5vdm9zaWJpcnNrCkBAIC0wLDAgKzEsMjYgQEAKKyMgUnVzc2lhLCBOb3Zvc2liaXJzaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNC81CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA0LzUKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDEKKwlJTlZFUlNJT04gPSBBVVRPCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3J1LVZvbGdvZG9uc2sgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3J1LVZvbGdvZG9uc2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjgzMmQ3MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcnUtVm9sZ29kb25zawpAQCAtMCwwICsxLDI2IEBACisjIFJ1c3NpYSwgVm9sZ29kb25zaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNC81CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA0LzUKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDEKKwlJTlZFUlNJT04gPSBBVVRPCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFhcmVhdmFhcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFhcmVhdmFhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTNkNzE2YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWFyZWF2YWFyYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQWFyZWF2YWFyYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWRvbGZzdHJvbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWRvbGZzdHJvbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iN2FhNDQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BZG9sZnN0cm9tCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBBZG9sZnN0csO2bQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWduYXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFnbmFzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJkN2MxYzkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFnbmFzCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBBZ27DpHMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFrZXJzam9uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ba2Vyc2pvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yNmRjNGVkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ba2Vyc2pvbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gw4VrZXJzasO2bgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWxhZm9ycyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWxhZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMTI2ZGNlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbGFmb3JzCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gQWxhZm9ycworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbGJhY2tlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWxiYWNrZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTkxYWE0ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWxiYWNrZW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEFsYmFja2VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbGdzam8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFsZ3NqbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42YmNiNzgyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbGdzam8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIMOEbGdzasO2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbGluZ3Nhc19NYXJpZWRhbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWxpbmdzYXNfTWFyaWVkYWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjQ5ZmU5OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWxpbmdzYXNfTWFyaWVkYWwKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBBbGluZ3PDpXMvTWFyaWVkYWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWx2YW5nZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFsdmFuZ2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNkMzg5YTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFsdmFuZ2VuCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gw4RsdsOkbmdlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbHZkYWxlbl9CcnVubnNiZXJnIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbHZkYWxlbl9CcnVubnNiZXJnCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRmMWI4MjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFsdmRhbGVuX0JydW5uc2JlcmcKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSDDhGx2ZGFsZW4vQnJ1bm5zYmVyZworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWx2ZGFsc2FzZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFsdmRhbHNhc2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE1NjE1ODkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFsdmRhbHNhc2VuCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gw4RsdmRhbHPDpXNlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWx2c2JhY2thIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbHZzYmFja2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2ViOTYzNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWx2c2JhY2thCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSDDhGx2c2JhY2thCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbHZzYnluIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbHZzYnluCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRjMzA4ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFsdnNieW4KQEAgLTAsMCArMSw3MCBAQAorIyBTd2VkZW4gLSDDhGx2c2J5bgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFtbWFybmFzX1JpYm92YXJkbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQW1tYXJuYXNfUmlib3ZhcmRvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkyMDZhOWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFtbWFybmFzX1JpYm92YXJkbwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQW1tYXJuw6RzIFJpYm92YXJkbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQW1tYXJuYXNfVGp1bHRyYXNrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbW1hcm5hc19UanVsdHJhc2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGJiMWQzNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQW1tYXJuYXNfVGp1bHRyYXNrCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBBbW1hcm7DpHMvVGp1bHRyw6RzaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQW1vdCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQW1vdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNjY5N2I3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbW90CkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gw4Vtb3QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFtb3Rmb3JzX0tyb3Bwc3RhZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQW1vdGZvcnNfS3JvcHBzdGFkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkyNzI2NDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFtb3Rmb3JzX0tyb3Bwc3RhZApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gw4Vtb3Rmb3JzIEtyb3Bwc3RhZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFjYWJlZDcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSDDhW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFuZGVyc3ZhdHRuZXRfRXJzbXlyYmVyZ2V0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbmRlcnN2YXR0bmV0X0Vyc215cmJlcmdldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hYTgyYjNmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbmRlcnN2YXR0bmV0X0Vyc215cmJlcmdldApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQW5kZXJzdmF0dG5ldC9FcnNteXJiZXJnZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFuZ2VfU25vYmVyZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQW5nZV9Tbm9iZXJnCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdmMGJhYzcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFuZ2VfU25vYmVyZwpAQCAtMCwwICsxLDYzIEBACisjIFN3ZWRlbiAtIMOFbmdlL1Nuw7ZiZXJnCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQW5nZWJvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbmdlYm8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDMxNDVlYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQW5nZWJvCkBAIC0wLDAgKzEsNiBAQAorIyBTd2VkZW4gLSDDhG5nZWJvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFuZ2VsaG9sbV9WZWdlaG9sbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQW5nZWxob2xtX1ZlZ2Vob2xtCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM2MTExMjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFuZ2VsaG9sbV9WZWdlaG9sbQpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIMOEbmdlbGhvbG0vVmVnZWhvbG0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFuZ2Vyc2pvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbmdlcnNqbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xOTBjN2Y1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbmdlcnNqbwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gw4RuZ2Vyc2rDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXJlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BcmUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmU1ODFiYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXJlCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gw4VyZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BcmphbmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFyamFuZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zYjU0MGFiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BcmphbmcKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSDDhXJqw6RuZworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BcmplcGxvZ19HYWx0aXNwb3VkYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXJqZXBsb2dfR2FsdGlzcG91ZGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGMwYzgxOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXJqZXBsb2dfR2FsdGlzcG91ZGEKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBBcmplcGxvZyBHYWx0aXNwb3VkYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Bcm9zam9rayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXJvc2pva2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmE4OGRlMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXJvc2pva2sKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIMOFcm9zam9raworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXJ2aWRzamF1cl9KdWx0cmFzayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXJ2aWRzamF1cl9KdWx0cmFzawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43NmM0ODYyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BcnZpZHNqYXVyX0p1bHRyYXNrCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gQXJ2aWRzamF1ci9KdWx0csOkc2sKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFydmlrYV9PcnNodWx0YWJlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXJ2aWthX09yc2h1bHRhYmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdkMDQxYjIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFydmlrYV9PcnNodWx0YWJlcmdldApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQXJ2aWthL8OWcnNodWx0YWJlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNhNjIxM2UKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFzCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSDDhXMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFzZWxlX0FzbGlhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Bc2VsZV9Bc2xpYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jYWMwZDhlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Bc2VsZV9Bc2xpYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gw4VzZWxlIMOFc2xpYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXNtb25fU29ybW9mbG8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFzbW9uX1Nvcm1vZmxvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM3NDQyMDYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFzbW9uX1Nvcm1vZmxvCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSDDhXNtb24vU8O2cm1vZmxvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Bc3BlYm9kYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXNwZWJvZGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWNhNTAwMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXNwZWJvZGEKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBBc3BlYm9kYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXR2aWRhYmVyZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXR2aWRhYmVyZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zODBiN2UxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BdHZpZGFiZXJnCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gw4V0dmlkYWJlcmcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXZlc3RhX0tyeWxibyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXZlc3RhX0tyeWxibwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lOWExNDZiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BdmVzdGFfS3J5bGJvCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gQXZlc3RhL0tyeWxibworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmFja2UgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJhY2tlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU2ODhiZjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJhY2tlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBCYWNrZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmFja2Vmb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CYWNrZWZvcnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjZiOWJhOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmFja2Vmb3JzCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gQsOkY2tlZm9ycworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmFua2VyeWQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJhbmtlcnlkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFiMTIzMTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJhbmtlcnlkCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gQmFua2VyeWQKK1tbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CZW5ndHNmb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CZW5ndHNmb3JzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQxZGU3ZTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJlbmd0c2ZvcnMKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJlbmd0c2ZvcnMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJlcmdoYW1uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CZXJnaGFtbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41OWIxOThhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CZXJnaGFtbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQmVyZ2hhbW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJlcmdzaGFtcmFfVmF4dHVuYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmVyZ3NoYW1yYV9WYXh0dW5hCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA4ZTdlNmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJlcmdzaGFtcmFfVmF4dHVuYQpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEJlcmdzaGFtcmEvVmF4dHVuYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CZXJnc2pvX0JhbGxlYmVyZ2V0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CZXJnc2pvX0JhbGxlYmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY0YzhjMzMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJlcmdzam9fQmFsbGViZXJnZXQKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBCZXJnc2rDti9Cw6VsbGViZXJnZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJlcmd2aWsgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJlcmd2aWsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDFhYzZiZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmVyZ3ZpawpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEJlcmd2aWsKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJpbGxzam8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJpbGxzam8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmYzYmJmNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmlsbHNqbwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQmlsbHNqw7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJpc3Bmb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CaXNwZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kOTNhYTdhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CaXNwZm9ycwpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEJpc3Bmb3JzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJqb3JrbGlkZW5fVG9ybmVoYW1uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cam9ya2xpZGVuX1Rvcm5laGFtbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNjUzZDU2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cam9ya2xpZGVuX1Rvcm5laGFtbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQmrDtnJrbGlkZW4vVG9ybmVoYW1uCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cam9ya3NlbGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJqb3Jrc2VsZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mYTI0ZmQyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cam9ya3NlbGUKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJqw7Zya3NlbGUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJqb3JrdmF0dG5ldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmpvcmt2YXR0bmV0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI4Y2UzYWQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJqb3JrdmF0dG5ldApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQmrDtnJrdmF0dG5ldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmpvcm5hIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cam9ybmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTAyMjMyOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmpvcm5hCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBCasO2cm5hCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CanVyYmVyZ2V0X0hlbXRqYXJuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CanVyYmVyZ2V0X0hlbXRqYXJuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU2ZDU3YzUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJqdXJiZXJnZXRfSGVtdGphcm4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJqdXJiZXJnZXQvSGVtdGrDpHJuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CanVydHJhc2sgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJqdXJ0cmFzawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMWQ3YTMyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CanVydHJhc2sKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJqdXJ0csOkc2sKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvYmVyZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9iZXJnCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMyM2IxYzIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvYmVyZwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQm9iZXJnCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb2RhX0ZhZ2VydW0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvZGFfRmFnZXJ1bQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yZjcwNWE3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb2RhX0ZhZ2VydW0KQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBCw7ZkYS9GYWdlcnVtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvZGVuX1Nrb2dzYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9kZW5fU2tvZ3NhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM3ZGJhYmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvZGVuX1Nrb2dzYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQm9kZW4vU2tvZ3PDpQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9ncmFuZ2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb2dyYW5nZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGFlNDY1NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9ncmFuZ2VuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBCb2dyYW5nZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvbGxlYnlnZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9sbGVieWdkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjgwNjA2NjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvbGxlYnlnZApAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIEJvbGxlYnlnZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvbGxuYXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvbGxuYXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjNmNTZiNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9sbG5hcwpAQCAtMCwwICsxLDYzIEBACisjIFN3ZWRlbiAtIEJvbGxuw6RzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTg0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9uaGFtbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9uaGFtbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wN2U2ZDg0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb25oYW1uCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBCw7ZuaGFtbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9yYXNfRGFsc2pvZm9ycyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9yYXNfRGFsc2pvZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YWU0YjlkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3Jhc19EYWxzam9mb3JzCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gQm9yw6VzL0RhbHNqw7Zmb3JzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvcmFzX1Nqb2JvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3Jhc19Tam9ibwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mMmU4MGYxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3Jhc19Tam9ibwpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEJvcsOlcy9TasO2Ym8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvcmdhZmphbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvcmdhZmphbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjhlNzJhMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9yZ2FmamFsbApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQm9yZ2FmasOkbGwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvcmdob2xtX1JhbXNhdHRyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9yZ2hvbG1fUmFtc2F0dHJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA0ZGYwMDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvcmdob2xtX1JhbXNhdHRyYQpAQCAtMCwwICsxLDMxIEBACisjIFN3ZWRlbiAtIEJvcmdob2xtL1JhbXPDpHR0cmEKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3Jnc2pvYnluIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3Jnc2pvYnluCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNkNTVkOTcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvcmdzam9ieW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJvcmdzasO2YnluCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3JrYW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvcmthbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lZmViYTMwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3JrYW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJvcmthbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9ybGFuZ2VfSWRrZXJiZXJnZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvcmxhbmdlX0lka2VyYmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI2NzhlZTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvcmxhbmdlX0lka2VyYmVyZ2V0CkBAIC0wLDAgKzEsNjMgQEAKKyMgU3dlZGVuIC0gQm9ybMOkbmdlL0lka2VyYmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3JsYW5nZV9OeWdhcmRhcm5hIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3JsYW5nZV9OeWdhcmRhcm5hCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM5M2U3MjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvcmxhbmdlX055Z2FyZGFybmEKQEAgLTAsMCArMSw0OSBAQAorIyBTd2VkZW4gLSBCb3Jsw6RuZ2UvTnlnw6VyZGFybmEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3J0YW5zYnluX0JvcnRhbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9ydGFuc2J5bl9Cb3J0YW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGMwZjI2MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9ydGFuc2J5bl9Cb3J0YW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJvcnRhbnNieW4vQm9ydGFuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3NlYnluIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3NlYnluCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmVkYjdjNGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvc2VieW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJvc2VieW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvdHNtYXJrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3RzbWFyawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jYTI1N2ExCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3RzbWFyawpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQm90c21hcmsKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvdHRuYXJ5ZF9SeWQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvdHRuYXJ5ZF9SeWQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTI5ZTU0ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm90dG5hcnlkX1J5ZApAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEJvdHRuYXJ5ZC9SeWQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJyZWRha2VyIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CcmVkYWtlcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNDI3NDRhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CcmVkYWtlcgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQnJlZMOla2VyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CcmVkYnluX0t1YmJlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CcmVkYnluX0t1YmJlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjEwMzhlMjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJyZWRieW5fS3ViYmUKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJyZWRieW4vS3ViYmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJyZWRieW5fVmFzdGVyZmFubmJ5biBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQnJlZGJ5bl9WYXN0ZXJmYW5uYnluCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJhYmIxYWQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJyZWRieW5fVmFzdGVyZmFubmJ5bgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQnJlZGJ5biBWw6RzdGVyZmFubmJ5bgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQnJlZHNqb24gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJyZWRzam9uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM2YjRlN2UKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJyZWRzam9uCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBCcmVkc2rDtm4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJyb21zZWJybyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQnJvbXNlYnJvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQ4ZTgxNzUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJyb21zZWJybwpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEJyw7Ztc2Vicm8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQnJ1emFob2xtIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CcnV6YWhvbG0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDVjYWRkZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQnJ1emFob2xtCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gQnJ1emFob2xtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CeWRhbGVuX0hvdmRlaG9nZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJ5ZGFsZW5fSG92ZGVob2dlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kY2VjNDE1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CeWRhbGVuX0hvdmRlaG9nZW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJ5ZGFsZW4vSG92ZGVow7ZnZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJ5Z2RldHJhc2sgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJ5Z2RldHJhc2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTc2NjE2MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQnlnZGV0cmFzawpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQnlnZGV0csOkc2sKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJ5Z2RzaWxqdW0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJ5Z2RzaWxqdW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmE3ZWIwMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQnlnZHNpbGp1bQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQnlnZHNpbGp1bQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQnl4ZWxrcm9rIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CeXhlbGtyb2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWJmZjU0MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQnl4ZWxrcm9rCkBAIC0wLDAgKzEsMjUgQEAKKyMgU3dlZGVuIC0gQnl4ZWxrcm9rCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRGFkcmFuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EYWRyYW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzhlYjlhMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRGFkcmFuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBEw6VkcmFuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EYWwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURhbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mMzNhYjJlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EYWwKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIERhbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRGFsZm9ycyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRGFsZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41N2FlMWQzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EYWxmb3JzCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gRGFsZm9ycworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRGFsc19MYW5nZWQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURhbHNfTGFuZ2VkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQ3MzczM2QKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURhbHNfTGFuZ2VkCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBEYWxzIEzDpW5nZWQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURhbHN0dWdhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EYWxzdHVnYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zMjg0OTZhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EYWxzdHVnYQpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIERhbHN0dWdhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EZWdlYmVyZ2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURlZ2ViZXJnYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMzUxOGY3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EZWdlYmVyZ2EKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIERlZ2ViZXJnYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRGVnZXJmb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EZWdlcmZvcnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjJmNjU3MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRGVnZXJmb3JzCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gRGVnZXJmb3JzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EZWxhcnkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURlbGFyeQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lNjI1MDBhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EZWxhcnkKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBEZWxhcnkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURlbGFyeV9Lb2xhYm9kYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRGVsYXJ5X0tvbGFib2RhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM2MmRmMjYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURlbGFyeV9Lb2xhYm9kYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRGVsYXJ5L0vDtmxhYm9kYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRGp1cmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURqdXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAyMGE0ZDQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURqdXJhCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gRGp1cmEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURvcm90ZWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURvcm90ZWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2I1YWFjYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRG9yb3RlYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRG9yb3RlYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRHJldmRhZ2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EcmV2ZGFnZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTJjOWRhMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRHJldmRhZ2VuCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gRHJldmRhZ2VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EdXZlZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRHV2ZWQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGZiMzlkYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRHV2ZWQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIER1dmVkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EdXZuYXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUR1dm5hcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zM2FhZjk3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EdXZuYXMKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBEdXZuw6RzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EdXZuYXNfQmFzbmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUR1dm5hc19CYXNuYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kZTVlYzU1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EdXZuYXNfQmFzbmEKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBEdXZuw6RzL0LDpHNuYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRWRhbmUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUVkYW5lCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMxNjg2ODEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUVkYW5lCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBFZGFuZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRWRzYnluIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1FZHNieW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjkyNDQwZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRWRzYnluCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gRWRzYnluCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1FZHNlbGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUVkc2VsZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jN2RmM2I4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1FZHNlbGUKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEVkc2VsZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRWRzbGVza29nX0hvZ2hlZGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1FZHNsZXNrb2dfSG9naGVkZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2RmN2YwZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRWRzbGVza29nX0hvZ2hlZGVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBFZHNsZXNrb2cvSMO2Z2hlZGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Fa3NoYXJhZF9Fa2VzYmVyZ2V0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Fa3NoYXJhZF9Fa2VzYmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZkYWEyZDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUVrc2hhcmFkX0VrZXNiZXJnZXQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEVrc2jDpHJhZCBFa2VzYmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1FbGxvcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRWxsb3MKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmE4Mzg0OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRWxsb3MKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEVsbMO2cworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRW1tYWJvZGFfQmFsc2h1bHQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUVtbWFib2RhX0JhbHNodWx0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjYxZDExN2IKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUVtbWFib2RhX0JhbHNodWx0CkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gRW1tYWJvZGEvQsOkbHNodWx0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRW5hZm9ycyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRW5hZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41ZTIwODlhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1FbmFmb3JzCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBFbmFmb3JzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1FbnZpa2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1FbnZpa2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjk5MzY3MTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUVudmlrZW4KQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBFbnZpa2VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRXJpa3NsdW5kX0Jlcmdhc2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Fcmlrc2x1bmRfQmVyZ2FzZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmIxNjIyYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRXJpa3NsdW5kX0Jlcmdhc2VuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBFcmlrc2x1bmQvQmVyZ8Olc2VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYWdlcnN0YSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFnZXJzdGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzIwMWIzNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFnZXJzdGEKQEAgLTAsMCArMSwyNSBAQAorIyBTd2VkZW4gLSBGYWdlcnN0YQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZhZ2Vyc3RhX0phdHRhc2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYWdlcnN0YV9KYXR0YXNlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kZTkzZDI5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYWdlcnN0YV9KYXR0YXNlbgpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEZhZ2Vyc3RhIErDpHR0w6VzZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFsZXJ1bV9DZW50cnVtIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYWxlcnVtX0NlbnRydW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzE2ZjI2MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFsZXJ1bV9DZW50cnVtCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gRmFsZXJ1bS9DZW50cnVtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYWxrZW5iZXJnX1JpbmdzZWdhcmQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZhbGtlbmJlcmdfUmluZ3NlZ2FyZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43MDlkYmFkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYWxrZW5iZXJnX1JpbmdzZWdhcmQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEZhbGtlbmJlcmcvUmluZ3NlZ8OlcmQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZhbHRyYXNrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYWx0cmFzawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45M2JjZGExCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYWx0cmFzawpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRmFsdHLDpHNrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYWx1bl9Mb3ZiZXJnZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZhbHVuX0xvdmJlcmdldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43OTJiY2I3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYWx1bl9Mb3ZiZXJnZXQKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBGYWx1bi9Mw7Z2YmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFyaWxhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYXJpbGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWFkNTE2MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFyaWxhCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gRsOkcmlsYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFyamVzdGFkZW5fQWxndXRzcnVtIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYXJqZXN0YWRlbl9BbGd1dHNydW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTQ1YTFkYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFyamVzdGFkZW5fQWxndXRzcnVtCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gRsOkcmplc3RhZGVuL0FsZ3V0c3J1bQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYXJvX0Fqa2Vyc3RyYXNrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYXJvX0Fqa2Vyc3RyYXNrCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmYzZjI2NTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZhcm9fQWprZXJzdHJhc2sKQEAgLTAsMCArMSwyNSBAQAorIyBTd2VkZW4gLSBGw6Vyw7YvQWprZXJzdHLDpHNrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFyb19Bamtlc3RyYXNrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYXJvX0Fqa2VzdHJhc2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWUzNjgzNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFyb19Bamtlc3RyYXNrCkBAIC0wLDAgKzEsMzAgQEAKKyMgU3dlZGVuIC0gRsOlcsO2L0Fqa2VzdHLDpHNrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFyb3N1bmRfQnVuZ2UgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZhcm9zdW5kX0J1bmdlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJiMGRjYjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZhcm9zdW5kX0J1bmdlCkBAIC0wLDAgKzEsMzEgQEAKKyMgU3dlZGVuIC0gRsOlcsO2c3VuZC9CdW5nZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmVuZ2Vyc2ZvcnMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZlbmdlcnNmb3JzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjk0ZWVjYTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZlbmdlcnNmb3JzCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBGZW5nZXJzZm9ycworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmlsaXBzdGFkX0tsb2NrYXJob2pkZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZpbGlwc3RhZF9LbG9ja2FyaG9qZGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMzNjc0YmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZpbGlwc3RhZF9LbG9ja2FyaG9qZGVuCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gRmlsaXBzdGFkL0tsb2NrYXJow7ZqZGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmlubnZlZGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GaW5udmVkZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWZhMGRiZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmlubnZlZGVuCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gRmlubnZlZGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmphbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmphbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MDBkOTkxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GamFsCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBGasOkbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmphbGxzdGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZqYWxsc3RhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFmYzk5Y2MKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZqYWxsc3RhCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBGasOkbGxzdGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZsYXJrZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmxhcmtlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJlMGQ5ZWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZsYXJrZQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRmzDpHJrZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmxvZGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZsb2RhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFmNGU2MjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZsb2RhCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBGbG9kYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmx1cmttYXJrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GbHVya21hcmsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2VkYmE4MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmx1cmttYXJrCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBGbHVya21hcmsKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZseWdnc2pvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GbHlnZ3NqbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iY2VjMDMwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GbHlnZ3NqbwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRmx5Z2dzasO2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GbHluIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GbHluCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU5YjhhZWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZseW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEZseW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZvbHNieW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZvbHNieW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWI3MDAwNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRm9sc2J5bgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRsO2bHNieW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZvcnNlZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRm9yc2VkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQ5ODEzMjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZvcnNlZApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRm9yc2VkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Gb3JzbW8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZvcnNtbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41NjBiYWZhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Gb3JzbW8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEZvcnNtbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRm9yc21vX1l0dGVyc2VsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Gb3JzbW9fWXR0ZXJzZWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODY2ODFjNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRm9yc21vX1l0dGVyc2VsCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBGb3JzbW8vWXR0ZXJzZWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZvcnNuYXNldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRm9yc25hc2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjgxMjcyMTcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZvcnNuYXNldApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRm9yc27DpHNldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnJhbmtyaWtlZ2FyZGVuX0ZyYW5rcmlrZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnJhbmtyaWtlZ2FyZGVuX0ZyYW5rcmlrZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YTgyOTg4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GcmFua3Jpa2VnYXJkZW5fRnJhbmtyaWtlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBGcmFua3Jpa2Vnw6VyZGVuL0ZyYW5rcmlrZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnJhbnN0YSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnJhbnN0YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hYzg2ZWRlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GcmFuc3RhCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBGcsOkbnN0YQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnJlZHJpa2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZyZWRyaWthCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc2MjMwZDEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZyZWRyaWthCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBGcmVkcmlrYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnJlZHJpa3NiZXJnIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GcmVkcmlrc2JlcmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDM4ZGVmZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnJlZHJpa3NiZXJnCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gRnJlZHJpa3NiZXJnCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GcmVkcm9zIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GcmVkcm9zCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIwMTNkODYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZyZWRyb3MKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEZyZWRyb3MKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZyaXRzbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZyaXRzbGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTI0ZTc2MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnJpdHNsYQpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEZyaXRzbGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZ1bGxzam9uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GdWxsc2pvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mNTc3MzlkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GdWxsc2pvbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRnVsbHNqw7ZuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GdW5hc2RhbGVuX0Z1bmFzZGFsc2JlcmdlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GdW5hc2RhbGVuX0Z1bmFzZGFsc2JlcmdlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmIyNGNlNWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZ1bmFzZGFsZW5fRnVuYXNkYWxzYmVyZ2UKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBGdW7DpHNkYWxlbiBGdW7DpHNkYWxzYmVyZ2UKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnVuYXNkYWxlbl9UZWxlc3RhdGlvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnVuYXNkYWxlbl9UZWxlc3RhdGlvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wY2ZmMDYyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GdW5hc2RhbGVuX1RlbGVzdGF0aW9uCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBGdW7DpHNkYWxlbi9UZWxlc3RhdGlvbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnVydWRhbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnVydWRhbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45MmQwODE3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GdXJ1ZGFsCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gRnVydWRhbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2FkZGVkZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2FkZGVkZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zMTE4M2I1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HYWRkZWRlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBHw6RkZGVkZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2FsbGl2YXJlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HYWxsaXZhcmUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWY5OGE5NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2FsbGl2YXJlCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gR8OkbGxpdmFyZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdhbGxzYXR0ZXIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdhbGxzYXR0ZXIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmNlNTQyNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2FsbHNhdHRlcgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gR2FsbHPDpHR0ZXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdhcmRpa2ZvcnMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdhcmRpa2ZvcnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWM5N2E5NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2FyZGlrZm9ycwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gR2FyZGlrZm9ycworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2FyZ25hcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2FyZ25hcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41ZWY3OWExCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HYXJnbmFzCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBHYXJnbsOkcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2FycGVuYmVyZ19LdXBwZ2FyZGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HYXJwZW5iZXJnX0t1cHBnYXJkZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWRjNzkwZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2FycGVuYmVyZ19LdXBwZ2FyZGVuCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gR2FycGVuYmVyZy9LdXBwZ8OlcmRlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2F2bGVfU2tvZ211ciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2F2bGVfU2tvZ211cgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hZThhYzc1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HYXZsZV9Ta29nbXVyCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gR8OkdmxlL1Nrb2dtdXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HaWxsaG92IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HaWxsaG92Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE1NDE1ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdpbGxob3YKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEdpbGxob3YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdsaW1ha3JhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HbGltYWtyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41ZjAyN2NjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HbGltYWtyYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gR2xpbcOla3JhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HbmFycCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR25hcnAKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDRiNDYxZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR25hcnAKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBHbmFycAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR25lc3RhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HbmVzdGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWJhZjcwZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR25lc3RhCkBAIC0wLDAgKzEsMjUgQEAKKyMgU3dlZGVuIC0gR25lc3RhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR25vc2pvX01hcmllaG9sbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR25vc2pvX01hcmllaG9sbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NTRjNWFjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Hbm9zam9fTWFyaWVob2xtCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gR25vc2rDti9NYXJpZWhvbG0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdvcmRhbGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Hb3JkYWxlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lNDcyNjNmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Hb3JkYWxlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gR8O2cmRhbGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Hb3RlYm9yZ19CcnVkYXJlbW9zc2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Hb3RlYm9yZ19CcnVkYXJlbW9zc2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjUxZDdiNjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdvdGVib3JnX0JydWRhcmVtb3NzZW4KQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBHw7Z0ZWJvcmcvQnJ1ZGFyZW1vc3NlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjA1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdvdGVib3JnX1NsYXR0YWRhbW0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdvdGVib3JnX1NsYXR0YWRhbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGY0OTllOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR290ZWJvcmdfU2xhdHRhZGFtbQpAQCAtMCwwICsxLDMxIEBACisjIFN3ZWRlbiAtIEfDtnRlYm9yZy9TbMOkdHRhZGFtbQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3JhbmluZ2UgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdyYW5pbmdlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE5MWUxNGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdyYW5pbmdlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBHcmFuaW5nZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3Jhc21hcmsgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdyYXNtYXJrCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNjMGNkNmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdyYXNtYXJrCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBHcsOkc21hcmsKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdyYXNteXIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdyYXNteXIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTc2N2Y1MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3Jhc215cgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gR3LDpHNteXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdyZWJiZXN0YWQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdyZWJiZXN0YWQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDFiNmJhOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3JlYmJlc3RhZApAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEdyZWJiZXN0YWQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3JldmllIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HcmV2aWUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGMyYTk4YTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdyZXZpZQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gR3JldmllCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Hcm92ZWxzam9uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Hcm92ZWxzam9uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA0Zjc5MTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdyb3ZlbHNqb24KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEdyw7Z2ZWxzasO2bgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3J1bXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdydW1zCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQ3ZTk5NzYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdydW1zCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBHcnVtcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3VsaWtzYmVyZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3VsaWtzYmVyZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wNTBmODY0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HdWxpa3NiZXJnCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBHdWxpa3NiZXJnCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HdWxpa3NiZXJnX1JvZHZhdHRuZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUd1bGlrc2JlcmdfUm9kdmF0dG5ldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jNTViODBhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HdWxpa3NiZXJnX1JvZHZhdHRuZXQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEd1bGlrc2JlcmcvUsO2ZHZhdHRuZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUd1bGxicmFuZHN0b3JwIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HdWxsYnJhbmRzdG9ycApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mOTE3MTM0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HdWxsYnJhbmRzdG9ycApAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEd1bGxicmFuZHN0b3JwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HdW1ob2pkZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUd1bWhvamRlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43MzIyODIwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HdW1ob2pkZW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEd1bWjDtmpkZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUd1bm5hcm5fU29yc2pvbGlkZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUd1bm5hcm5fU29yc2pvbGlkZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWFlZTAyZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3VubmFybl9Tb3Jzam9saWRlbgpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEd1bm5hcm4vU8O2cnNqw7ZsaWRlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HdW5uYXJzYm8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUd1bm5hcnNibwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lOTUxY2RlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HdW5uYXJzYm8KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBHdW5uYXJzYm8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUd1bm5hcnNieW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUd1bm5hcnNieW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTYyNTczOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3VubmFyc2J5bgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gR3VubmFyc2J5bgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3VubmFyc2tvZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3VubmFyc2tvZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45NjAwYzkyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HdW5uYXJza29nCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBHdW5uYXJza29nCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HdXN1bSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3VzdW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmFlZWVjNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3VzdW0KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBHdXN1bQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFkYW5iZXJnIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWRhbmJlcmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGEzNDg4NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFkYW5iZXJnCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBIw6RkYW5iZXJnCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWdmb3JzX1Zhcm11bGxzYXNlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFnZm9yc19WYXJtdWxsc2FzZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2I4ZjkzMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFnZm9yc19WYXJtdWxsc2FzZW4KQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBIYWdmb3JzL1bDpHJtdWxsc8Olc2VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFrYWZvdCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFrYWZvdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xZjFiMzkyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWthZm90CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBIw6VrYWZvdAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsYWZvcnNlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsYWZvcnNlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mOWFiODQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxhZm9yc2VuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBIw6VsYWZvcnNlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsamVib2RhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxqZWJvZGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDU2YmIxZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsamVib2RhCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBIw6RsamVib2RhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxsYW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbGxhbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zMTYyNjZjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxsYW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEjDpWxsYW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbGxhcnlkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxsYXJ5ZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kMzg4MjI3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxsYXJ5ZApAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEhhbGxhcnlkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxsYXN0cm9tIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxsYXN0cm9tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNlMDdkZTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbGxhc3Ryb20KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEjDpGxsYXN0csO2bQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsbGJvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxsYm8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjhlNjBmNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsbGJvCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gSMOkbGxibworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsbGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbGxlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjgyMTkyZmQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbGxlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBIw6RsbGUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbGxldmlrc3N0cmFuZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsbGV2aWtzc3RyYW5kCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNlMTI1MjgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbGxldmlrc3N0cmFuZApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSMOkbGxldmlrc3N0cmFuZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsbHNqbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsbHNqbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YWM2NjQ2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxsc2pvCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBIw6RsbHNqw7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbG1zdGFkX0hhbW5lbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsbXN0YWRfSGFtbmVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM0NGU3MTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbG1zdGFkX0hhbW5lbgpAQCAtMCwwICsxLDMxIEBACisjIFN3ZWRlbiAtIEhhbG1zdGFkL0hhbW5lbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsbXN0YWRfT3NrYXJzdHJvbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsbXN0YWRfT3NrYXJzdHJvbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iZDhiMDZiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxtc3RhZF9Pc2thcnN0cm9tCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gSGFsbXN0YWQvT3NrYXJzdHLDtm0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYW1idXJnc3VuZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFtYnVyZ3N1bmQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDlhY2E1ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFtYnVyZ3N1bmQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEhhbWJ1cmdzdW5kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYXJhZHMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhcmFkcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YWNhZTlhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYXJhZHMKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEhhcmFkcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFybm9zYW5kX0hhcm5vbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFybm9zYW5kX0hhcm5vbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NTExZmVhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYXJub3NhbmRfSGFybm9uCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gSMOkcm7DtnNhbmQvSMOkcm7Dtm4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYXJyc2pvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFycnNqb24KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTk3ZDlmYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFycnNqb24KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEhhcnJzasO2bgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFzc2VsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFzc2VsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kOWVlOThhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYXNzZWxhCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gSGFzc2VsYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGF2ZGhlbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGF2ZGhlbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iYThmMTk4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYXZkaGVtCkBAIC0wLDAgKzEsNjEgQEAKKyMgU3dlZGVuIC0gSGF2ZGhlbQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlZGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlZGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTAyNGFhNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGVkZQpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEhlZGUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGVkZW1vcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlZGVtb3JhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI0YzRlNTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlZGVtb3JhCkBAIC0wLDAgKzEsNiBAQAorIyBTd2VkZW4gLSBIZWRlbW9yYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZWRlbmFzZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlZGVuYXNldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMzNlNmFkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZWRlbmFzZXQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEhlZGVuw6RzZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlbGd1bSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGVsZ3VtCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU3ZjgyYTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlbGd1bQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSGVsZ3VtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZWxzaW5nYm9yZ19PbHltcGlhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZWxzaW5nYm9yZ19PbHltcGlhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIyNDg0MGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlbHNpbmdib3JnX09seW1waWEKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBIZWxzaW5nYm9yZy9PbHltcGlhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGVtYXZhbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGVtYXZhbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xYWYzNGJlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZW1hdmFuCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gSGVtYXZhbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZW1zb24gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlbXNvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42YTZlMDAxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZW1zb24KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEhlbXPDtm4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlbmFuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZW5hbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yZmFiMjRjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZW5hbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSGVuw6VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZW5uYW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlbm5hbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zN2U3OGM3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZW5uYW4KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBIZW5uYW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlc3RyYV9Bc3BhcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGVzdHJhX0FzcGFzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmYzYTU1NGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlc3RyYV9Bc3BhcwpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEhlc3RyYS/DhHNww6VzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Iam9fR3JldmJhY2sgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhqb19HcmV2YmFjawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41MDYzYzFmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Iam9fR3JldmJhY2sKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBIam8vR3JldmLDpGNrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2ZvcnMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hNDc2ZWI4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2ZvcnMKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBIb2ZvcnMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2dmb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2dmb3JzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE5NzQyM2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvZ2ZvcnMKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBIw7ZnZm9ycworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG9nbHVuZGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvZ2x1bmRhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg2NjU2ZjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvZ2x1bmRhCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBIw7ZnbHVuZGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvZ3NieV9WaXJzdGFkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2dzYnlfVmlyc3RhZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yN2UzNzY4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2dzYnlfVmlyc3RhZApAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIEjDtmdzYnkvVmlyc3RhZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvZ3ZhbGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2d2YWxlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mOTBlMDFlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2d2YWxlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSMO2Z3bDpWxlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG9samVzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2xqZXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmVlZmE4NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG9samVzCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBIw7ZsamVzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2xsdmlrZW5fU3RvcmFfSGFtbWFyIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2xsdmlrZW5fU3RvcmFfSGFtbWFyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQxZGU5OWQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvbGx2aWtlbl9TdG9yYV9IYW1tYXIKQEAgLTAsMCArMSwzMCBAQAorIyBTd2VkZW4gLSBIw7ZsbHZpa2VuL1N0b3JhIEhhbW1hcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvbHNieWJydW5uX0hvbHNieWhvbG0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvbHNieWJydW5uX0hvbHNieWhvbG0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDE4MDA1MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG9sc2J5YnJ1bm5fSG9sc2J5aG9sbQpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEhvbHNieWJydW5uL0hvbHNieWhvbG0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvcmJ5X1NhbGxlcnVwIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib3JieV9TYWxsZXJ1cApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43MzYzY2JiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib3JieV9TYWxsZXJ1cApAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIEjDtnJieS9TYWxsZXJ1cAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjEyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvcmtlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG9ya2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQ1OGVlNmQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvcmtlbgpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEjDtnJrZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvcm5vbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG9ybm9uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQ4OTJjMWQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvcm5vbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSG9ybsO2bgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG90YWdlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG90YWdlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MzFhNjI0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib3RhZ2VuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBIb3RhZ2VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib3RpbmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvdGluZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MDM4N2M2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib3RpbmcKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEhvdGluZworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG92ZmphbGxldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG92ZmphbGxldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zZDM3OTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib3ZmamFsbGV0CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBIb3ZmasOkbGxldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSHVkaWtzdmFsbF9Gb3JzYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSHVkaWtzdmFsbF9Gb3JzYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hZWNmNmQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IdWRpa3N2YWxsX0ZvcnNhCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gSHVkaWtzdmFsbC9Gb3JzYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUh1ZGlrc3ZhbGxfR2FsZ2JlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSHVkaWtzdmFsbF9HYWxnYmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjgzNmYzYzUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUh1ZGlrc3ZhbGxfR2FsZ2JlcmdldApAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIEh1ZGlrc3ZhbGwvR2FsZ2JlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUh1bW1lbGhvbG0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUh1bW1lbGhvbG0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODg2MzhhZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSHVtbWVsaG9sbQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSHVtbWVsaG9sbQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSHVubmVib3N0cmFuZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSHVubmVib3N0cmFuZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41NDkxOGRmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IdW5uZWJvc3RyYW5kCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBIdW5uZWJvc3RyYW5kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IdXNrdmFybmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUh1c2t2YXJuYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lYjUwMGFiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IdXNrdmFybmEKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBIdXNrdmFybmEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUh1c3VtIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IdXN1bQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kNjY3OGE0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IdXN1bQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSHVzdW0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUlkaXZ1b21hIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1JZGl2dW9tYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kOGEzYjQyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1JZGl2dW9tYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSWRpdnVvbWEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUlkcmUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUlkcmUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzQxZmY4ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSWRyZQpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIElkcmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1JbmdhdG9ycCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSW5nYXRvcnAKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmIxMTg4OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSW5nYXRvcnAKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBJbmdhdG9ycAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSW5ndmFsbHNiZW5uaW5nIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Jbmd2YWxsc2Jlbm5pbmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzkxY2IxNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSW5ndmFsbHNiZW5uaW5nCkBAIC0wLDAgKzEsNiBAQAorIyBTd2VkZW4gLSBJbmd2YWxsc2Jlbm5pbmcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSXJldmlrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1JcmV2aWsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWZhNDlkOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSXJldmlrCkBAIC0wLDAgKzEsMjUgQEAKKyMgU3dlZGVuIC0gSXJldmlrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSXJldmlrXzMxOTUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUlyZXZpa18zMTk1Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY5NGI3NTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUlyZXZpa18zMTk1CkBAIC0wLDAgKzEsMzAgQEAKKyMgU3dlZGVuIC0gSXJldmlrLzMxOTUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1JdmFyc2J5biBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSXZhcnNieW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWY1YzU1NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSXZhcnNieW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEl2YXJzYnluCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KYWtrdmlrX0ZyYWtlbm15cmVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KYWtrdmlrX0ZyYWtlbm15cmVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNhMmNlYTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUpha2t2aWtfRnJha2VubXlyZW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIErDpGtrdmlrIEZyw6RrZW5teXJlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSmFtam8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUphbWpvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRkMTQ0NmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUphbWpvCkBAIC0wLDAgKzEsMjUgQEAKKyMgU3dlZGVuIC0gSsOkbWrDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUphcmt2aXNzbGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUphcmt2aXNzbGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2NmYmFlYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSmFya3Zpc3NsZQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSsOkcmt2aXNzbGUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUphcm5mb3JzZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUphcm5mb3JzZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDE2M2JlMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSmFybmZvcnNlbgpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIErDpHJuZm9yc2VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KYXJwZW5fTWVsbGFuZ2FyZHNiZXJnZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUphcnBlbl9NZWxsYW5nYXJkc2JlcmdldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kNGI0N2M1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KYXJwZW5fTWVsbGFuZ2FyZHNiZXJnZXQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIErDpHJwZW4gTWVsbGFuZ8OlcmRzYmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KYXJ2c28gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUphcnZzbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kNWRjZjYyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KYXJ2c28KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBKw6RydnPDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSmFydnRyYXNrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KYXJ2dHJhc2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGU0NjUxMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSmFydnRyYXNrCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBKw6RydnRyw6RzaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSm9lc3Ryb20gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUpvZXN0cm9tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjllMWJjNGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUpvZXN0cm9tCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBKb2VzdHLDtm0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUpva2ttb2trX055Ym9yZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSm9ra21va2tfTnlib3JnCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRmMTJjZjIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUpva2ttb2trX055Ym9yZwpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEpva2ttb2trL055Ym9yZworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Kb2trbW9ra19UamFsbWVqYXVyZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSm9ra21va2tfVGphbG1lamF1cmUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzY0YmE2ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSm9ra21va2tfVGphbG1lamF1cmUKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBKb2trbW9ray9UamFsbWVqYXVyZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUpvbmtvcGluZ19Cb25kYmVyZ2V0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Kb25rb3BpbmdfQm9uZGJlcmdldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mOGNhMWQ0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Kb25rb3BpbmdfQm9uZGJlcmdldApAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIErDtm5rw7ZwaW5nL0JvbmRiZXJnZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE4NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Kb3JtdmF0dG5ldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSm9ybXZhdHRuZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGE5YjQ1OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSm9ybXZhdHRuZXQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEpvcm12YXR0bmV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KdWRlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KdWRlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmYwYTRkZmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUp1ZGUKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEp1ZGUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUp1bnNlbGVfSGFtcHRqYXJuc2JlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSnVuc2VsZV9IYW1wdGphcm5zYmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmEwMzFiNzEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUp1bnNlbGVfSGFtcHRqYXJuc2JlcmdldApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSnVuc2VsZSBIYW1wdGrDpHJuc2JlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSnVuc2VsZV9WYWxsZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUp1bnNlbGVfVmFsbGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFmMWZlMTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUp1bnNlbGVfVmFsbGVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBKdW5zZWxlL1ZhbGxlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FnZXJvZF9Nb2xsYXJwIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYWdlcm9kX01vbGxhcnAKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjY1YjE5NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FnZXJvZF9Nb2xsYXJwCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBLw6VnZXLDtmQvTcO2bGxhcnAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthbGFybmUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthbGFybmUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2VkNGM3MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FsYXJuZQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS8OkbGFybmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthbGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYWxlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMjZkNzc2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYWxlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS8OkbGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYWxpeCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FsaXgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmU0ZTFkMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FsaXgKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBLYWxpeAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthbGxlcmVkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYWxsZXJlZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45YmFkMDM2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYWxsZXJlZApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS8OlbGxlcmVkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYWxsaW5nZV9LYWxsZWJlcmdhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYWxsaW5nZV9LYWxsZWJlcmdhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQwNzljNmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthbGxpbmdlX0thbGxlYmVyZ2EKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBLYWxsaW5nZS9LYWxsZWJlcmdhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthbGxyb3IgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthbGxyb3IKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWMwNWY0MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FsbHJvcgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS2FsbHLDtnIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthbXBlcnN2aWtfRWtlYmVyZ2V0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYW1wZXJzdmlrX0VrZWJlcmdldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNzM5NGNhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYW1wZXJzdmlrX0VrZWJlcmdldApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS8OkbXBlcnN2aWsvRWtlYmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXJib2xlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXJib2xlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY3MzQwY2MKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthcmJvbGUKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBLw6VyYsO2bGUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthcmVzdWFuZG8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthcmVzdWFuZG8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWM4ZTkzNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FyZXN1YW5kbwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS2FyZXN1YW5kbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FybGFuZGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthcmxhbmRhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNjNDU1YTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthcmxhbmRhCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBLYXJsYW5kYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FybHNib3JnX1ZhYmVyZ2V0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXJsc2JvcmdfVmFiZXJnZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGMxYTZhZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FybHNib3JnX1ZhYmVyZ2V0CkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gS2FybHNib3JnL1ZhYmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXJsc2hhbW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthcmxzaGFtbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45NDhlNWQwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXJsc2hhbW4KQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBLYXJsc2hhbW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXJsc2tyb25hX0phbWpvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXJsc2tyb25hX0phbWpvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQ3YzJiZjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthcmxza3JvbmFfSmFtam8KQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBLYXJsc2tyb25hL0rDpG1qw7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FybHNrcm9uYV9WYW1vIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXJsc2tyb25hX1ZhbW8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTYxOTVmNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FybHNrcm9uYV9WYW1vCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gS2FybHNrcm9uYS9Ww6Rtw7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXJsc3RhZF9Tb3Jtb24gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthcmxzdGFkX1Nvcm1vbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wMTczZTQyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXJsc3RhZF9Tb3Jtb24KQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBLYXJsc3RhZCBTw7ZybW9uCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FzdGFfUmluZ2thbGxlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FzdGFfUmluZ2thbGxlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42Mjg4ZDQxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXN0YV9SaW5na2FsbGVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBLw6VzdGEgUmluZ2thbGxlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2F4YXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtheGFzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU0ZTY3YzgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtheGFzCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBLYXjDpXMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtheGhvbG1lbl9WaXN0YWt1bGxlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXhob2xtZW5fVmlzdGFrdWxsZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lM2YwNGUzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXhob2xtZW5fVmlzdGFrdWxsZQpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEtheGhvbG1lbi9WaXN0YWt1bGxlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LaW5uYXN0cm9tIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LaW5uYXN0cm9tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE2MTJkMzYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtpbm5hc3Ryb20KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBLaW5uYXN0csO2bQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2lydW5hX0tpcnVuYXZhYXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LaXJ1bmFfS2lydW5hdmFhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTFlZTQ2MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2lydW5hX0tpcnVuYXZhYXJhCkBAIC0wLDAgKzEsNjMgQEAKKyMgU3dlZGVuIC0gS2lydW5hL0tpcnVuYXZhYXJhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2lzYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2lzYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41OTAxMTFkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LaXNhCkBAIC0wLDAgKzEsNzAgQEAKKyMgU3dlZGVuIC0gS2lzYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxODQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtsaW5nc3RhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LbGluZ3N0YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MWI5NjY5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LbGluZ3N0YQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS2xpbmdzdGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtsb3Zzam8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtsb3Zzam8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmNiZjJlNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2xvdnNqbwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS2zDtnZzasO2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LbmFyZWQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtuYXJlZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wNGRiODU0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LbmFyZWQKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBLbsOkcmVkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LbmF2bGFuZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS25hdmxhbmQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWEwOTIyNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS25hdmxhbmQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEtuw6R2bGFuZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS29wbWFuaG9sbWVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Lb3BtYW5ob2xtZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmJlNTVhNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS29wbWFuaG9sbWVuCkBAIC0wLDAgKzEsNjMgQEAKKyMgU3dlZGVuIC0gS8O2cG1hbmhvbG1lbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtvcHBhcmJlcmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtvcHBhcmJlcmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjY4NDQ0NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS29wcGFyYmVyZwpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEtvcHBhcmJlcmcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtvcHBvbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS29wcG9tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU2MDAxNTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtvcHBvbQpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEtvcHBvbQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Lb3JzdHJhc2sgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtvcnN0cmFzawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iODU0Y2MyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Lb3JzdHJhc2sKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEtvcnN0csOkc2sKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtvdHRzam9uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Lb3R0c2pvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hM2IwY2RlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Lb3R0c2pvbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS8O2dHRzasO2bgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS292bGFuZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS292bGFuZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45ZjVkOTdjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Lb3ZsYW5kCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBLb3ZsYW5kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LcmFtZm9yc19MdWdudmlrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LcmFtZm9yc19MdWdudmlrCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY3YmFiOWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtyYW1mb3JzX0x1Z252aWsKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBLcmFtZm9ycy9MdWdudmlrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3JhbWZvcnNfT3N0YnkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtyYW1mb3JzX09zdGJ5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjljZDBkNzgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtyYW1mb3JzX09zdGJ5CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBLcmFtZm9ycy/DlnN0YnkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtyYW5nZWRlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LcmFuZ2VkZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hYzZmZjBiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LcmFuZ2VkZQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS3LDpW5nZWRlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LcmlzdGluZWJlcmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtyaXN0aW5lYmVyZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mOGMwMGE0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LcmlzdGluZWJlcmcKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEtyaXN0aW5lYmVyZworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3Jpc3RpbmVoYW1uX1V0c2lrdHNiZXJnZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtyaXN0aW5laGFtbl9VdHNpa3RzYmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE0ZDUzOTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtyaXN0aW5laGFtbl9VdHNpa3RzYmVyZ2V0CkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gS3Jpc3RpbmVoYW1uL1V0c2lrdHNiZXJnZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Lcm9rc3RyYW5kIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Lcm9rc3RyYW5kCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI5OTlkMzQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtyb2tzdHJhbmQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEtyb2tzdHJhbmQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUt1bHRzam9uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdWx0c2pvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hNzljYTU4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdWx0c2pvbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS3VsdHNqw7ZuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdW5nYWx2IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdW5nYWx2Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmVhNTE4ODIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUt1bmdhbHYKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBLdW5nw6RsdgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdW5nc2F0ZXIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUt1bmdzYXRlcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yNjAyNmI2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdW5nc2F0ZXIKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBLdW5nc8OkdGVyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdW5nc2JhY2thX09qZXJzYm8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUt1bmdzYmFja2FfT2plcnNibwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xN2ZiZGExCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdW5nc2JhY2thX09qZXJzYm8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEt1bmdzYmFja2Evw5ZqZXJzYm8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUt1bmdzYmVyZ2V0X0dJIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdW5nc2JlcmdldF9HSQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44ZDM0ZTIwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdW5nc2JlcmdldF9HSQpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEt1bmdzYmVyZ2V0L0dJCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdW5nc2JlcmdldF9HbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3VuZ3NiZXJnZXRfR2wKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjNlNWMyZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3VuZ3NiZXJnZXRfR2wKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEt1bmdzYmVyZ2V0L0dsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdW5nc2hhbW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUt1bmdzaGFtbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hZGI1OTg5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdW5nc2hhbW4KQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBLdW5nc2hhbW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3VycmF2YWFyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3VycmF2YWFyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wNmFiZjJiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdXJyYXZhYXJhCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBLdXJyYXZhYXJhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdmFybnN2ZWRqYW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUt2YXJuc3ZlZGphbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMmQ5ZjZlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdmFybnN2ZWRqYW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEt2YXJuc3ZlZGphbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3Zpa2tqb2trX0FycmV2YXJlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ldmlra2pva2tfQXJyZXZhcmUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjQ2MDZhYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3Zpa2tqb2trX0FycmV2YXJlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBLdmlra2pva2svw4VycmV2YXJlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ldmlra2pva2tfVGF2dmV2YXJlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ldmlra2pva2tfVGF2dmV2YXJlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQxNWU5YTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUt2aWtram9ra19UYXZ2ZXZhcmUKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEt2aWtram9ray9UYXZ2ZXZhcmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUt5cmtlc3VuZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3lya2VzdW5kCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkzNWEzMDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUt5cmtlc3VuZApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS3lya2VzdW5kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MYWdmb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MYWdmb3JzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM0ZjUzMGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxhZ2ZvcnMKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIExhZ2ZvcnMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxhZ2dhcmJlcmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxhZ2dhcmJlcmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGM5Njg3NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGFnZ2FyYmVyZwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTGFnZ2FyYmVyZworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGFpc3ZhbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxhaXN2YWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM2ZDFiMGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxhaXN2YWxsCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBMYWlzdmFsbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGFuZ2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxhbmdhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmYwODM1MzIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxhbmdhCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBMw6VuZ8OlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MYW5nc2VsZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGFuZ3NlbGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTViZGRmYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGFuZ3NlbGUKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEzDpW5nc2VsZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGFuZ3NoeXR0YW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxhbmdzaHl0dGFuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE1OGY4YjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxhbmdzaHl0dGFuCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gTMOlbmdzaHl0dGFuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MYW5nc2h5dHRhbl9FbmdlbHNmb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MYW5nc2h5dHRhbl9FbmdlbHNmb3JzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQyMGQxOGIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxhbmdzaHl0dGFuX0VuZ2Vsc2ZvcnMKQEAgLTAsMCArMSw2IEBACisjIFN3ZWRlbiAtIEzDpW5nc2h5dHRhbi9FbmdlbHNmb3JzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxheHNqbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGF4c2pvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY1NWIyOGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxheHNqbwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTGF4c2rDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGF4dmlrZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxheHZpa2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRiZDZiZDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxheHZpa2VuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBMYXh2aWtlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGVrc2FuZF9Bc2xlZHNiZXJnZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxla3NhbmRfQXNsZWRzYmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY3YTBkOGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxla3NhbmRfQXNsZWRzYmVyZ2V0CkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gTGVrc2FuZC/DhXNsZWRzYmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxla3NhbmRfS2FyaW5nYmVyZ2V0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MZWtzYW5kX0thcmluZ2JlcmdldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MzEyMzNiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MZWtzYW5kX0thcmluZ2JlcmdldApAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIExla3NhbmQvS8OkcmluZ2JlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGVrdmF0dG5ldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGVrdmF0dG5ldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lMDUyOTI0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MZWt2YXR0bmV0CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBMZWt2YXR0bmV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MZXJkYWxhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MZXJkYWxhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNlOTc1MGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxlcmRhbGEKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBMZXJkYWxhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MZXNqb2ZvcnMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxlc2pvZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40N2VjMTA0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MZXNqb2ZvcnMKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBMZXNqw7Zmb3JzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpZGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaWRlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ZTBlODQ0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaWRlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTGlkZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpZGVuX09zdGVyc3Ryb20gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpZGVuX09zdGVyc3Ryb20KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzcxMjBhMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGlkZW5fT3N0ZXJzdHJvbQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTGlkZW4vw5ZzdGVyc3Ryw7ZtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaWxsYV9FZGV0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaWxsYV9FZGV0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmVkYWY5MDYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpbGxhX0VkZXQKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBMaWxsYSBFZGV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpbGxvZ2RhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaWxsb2dkYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44Y2VhZWExCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaWxsb2dkYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTGlsbMO2Z2RhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaWxscGl0ZV9CYXN0YWJlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGlsbHBpdGVfQmFzdGFiZXJnZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTI5NmMwYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGlsbHBpdGVfQmFzdGFiZXJnZXQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIExpbGxwaXRlIEJhc3RhYmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaWxsdGphcmFfRGlnZXJiZXJnZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpbGx0amFyYV9EaWdlcmJlcmdldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZDkxOTdiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaWxsdGphcmFfRGlnZXJiZXJnZXQKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBMaWxsdGrDpHJhL0RpZ2VyYmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaW1lZHNmb3JzZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpbWVkc2ZvcnNlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NGM0ZDI1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaW1lZHNmb3JzZW4KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBMaW1lZHNmb3JzZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpbmRzaGFtbWFyX1JhbWt2aWxsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGluZHNoYW1tYXJfUmFta3ZpbGxhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU3MzZkMGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpbmRzaGFtbWFyX1JhbWt2aWxsYQpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIExpbmRzaGFtbWFyL1JhbWt2aWxsYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGlua29waW5nX1ZhdHRlbnRvcm5ldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGlua29waW5nX1ZhdHRlbnRvcm5ldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lY2M0NGU4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaW5rb3BpbmdfVmF0dGVudG9ybmV0CkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gTGlua8O2cGluZy9WYXR0ZW50b3JuZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaW5zZWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaW5zZWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY3OTIwOWIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpbnNlbGwKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIExpbnNlbGwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpdCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGl0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFiZTI0ZWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpdApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTGl0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1ManVnYXJuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1ManVnYXJuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMyNTZjZTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxqdWdhcm4KQEAgLTAsMCArMSwyNSBAQAorIyBTd2VkZW4gLSBManVnYXJuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGp1Z2Fybl8zMTkzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1ManVnYXJuXzMxOTMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDI0OGNlYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGp1Z2Fybl8zMTkzCkBAIC0wLDAgKzEsMzAgQEAKKyMgU3dlZGVuIC0gTGp1Z2Fybi8zMTkzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGp1bmdhdmVyayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGp1bmdhdmVyawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45YjgxNDRkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1ManVuZ2F2ZXJrCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBManVuZ2F2ZXJrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1ManVuZ2RhbGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1ManVuZ2RhbGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjk5M2VmZDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxqdW5nZGFsZW4KQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBManVuZ2RhbGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxqdXN0b3JwIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1ManVzdG9ycApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xNDQ0ZGM5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1ManVzdG9ycApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTGp1c3RvcnAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxqdXN2YXR0bmV0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1ManVzdmF0dG5ldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yNTAyNmNhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1ManVzdmF0dG5ldApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTGp1c3ZhdHRuZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxvZGVydXBzX1N0cmFuZGJhZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTG9kZXJ1cHNfU3RyYW5kYmFkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE5YjQwNzMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxvZGVydXBzX1N0cmFuZGJhZApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTMO2ZGVydXBzIFN0cmFuZGJhZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTG9mZnN0cmFuZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTG9mZnN0cmFuZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40NDBhYzBhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Mb2Zmc3RyYW5kCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gTG9mZnN0cmFuZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxvZnNkYWxlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTG9mc2RhbGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRjYWUyMzAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxvZnNkYWxlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTG9mc2RhbGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Mb2dkZWFsdiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTG9nZGVhbHYKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjFhN2FjOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTG9nZGVhbHYKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEzDtmdkZcOkbHYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxvbm5lYmVyZ2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxvbm5lYmVyZ2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjlhOGU4ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTG9ubmViZXJnYQpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEzDtm5uZWJlcmdhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxvcnN0cmFuZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTG9yc3RyYW5kCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRiYmRlNGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxvcnN0cmFuZApAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEzDtnJzdHJhbmQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxvdmFuZ2VyIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Mb3ZhbmdlcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wZTA1ZGY1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Mb3ZhbmdlcgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTMO2dsOlbmdlcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTHVkdmlrYV9Cam9ya2FzZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUx1ZHZpa2FfQmpvcmthc2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg1MTJhMGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUx1ZHZpa2FfQmpvcmthc2VuCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gTHVkdmlrYS9CasO2cmvDpXNlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUx1bXNoZWRlbl9UcmVrYW50ZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUx1bXNoZWRlbl9UcmVrYW50ZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWI5ZTBiNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTHVtc2hlZGVuX1RyZWthbnRlbgpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEx1bXNoZWRlbi9UcmVrYW50ZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUx5Y2tzZWxlX0tuYWZ0ZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUx5Y2tzZWxlX0tuYWZ0ZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjVlYzZkZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTHlja3NlbGVfS25hZnRlbgpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIEx5Y2tzZWxlL0tuYWZ0ZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYWh1bHQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1haHVsdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kMjczMTFkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYWh1bHQKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBNYWh1bHQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1hbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1hbGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTZmY2U1YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWFsYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTWFsw6UKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1hbG1vX0phZ2Vyc3JvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYWxtb19KYWdlcnNybwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jODcyNWM5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYWxtb19KYWdlcnNybwpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIE1hbG3Dti9Kw6RnZXJzcm8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYWx1bmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1hbHVuZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40ZWE2MzYxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYWx1bmcKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBNYWx1bmcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYW5zZXJ1ZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWFuc2VydWQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTllZTViMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWFuc2VydWQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE3DpW5zZXJ1ZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWFyZHNqbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWFyZHNqbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kZGY2N2JhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYXJkc2pvCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBNw6VyZHNqw7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1hcmlhbm5lbHVuZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWFyaWFubmVsdW5kCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIxYjUxMDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1hcmlhbm5lbHVuZApAQCAtMCwwICsxLDYgQEAKKyMgU3dlZGVuIC0gTWFyaWFubmVsdW5kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1hcmthcnlkX0h1YWx0ZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1hcmthcnlkX0h1YWx0ZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDUzODA3ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWFya2FyeWRfSHVhbHRldApAQCAtMCwwICsxLDQ5IEBACisjIFN3ZWRlbiAtIE1hcmthcnlkL0h1YWx0ZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTg0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWF0Zm9ycyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWF0Zm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40ZjBiODJiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYXRmb3JzCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gTWF0Zm9ycworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWF0c2RhbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWF0c2RhbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMDZlYzM2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYXRzZGFsCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBNYXRzZGFsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NZWRzdHVnYW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1lZHN0dWdhbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yY2E3MTk0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NZWRzdHVnYW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE1lZHN0dWdhbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWl0dGFkYWxlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWl0dGFkYWxlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kZGJjNjBhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NaXR0YWRhbGVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBNaXR0w6VkYWxlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWphbGxvbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWphbGxvbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44ZjBlYTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NamFsbG9tCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gTWrDpGxsb20KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWpvc2pvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Nam9zam8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWEzMzlmZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWpvc2pvCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBNasO2c2rDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTW9saWRlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTW9saWRlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MDY3ODI3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Nb2xpZGVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBNb2xpZGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Nb2xuYm9fVGFsbHN0dWdhbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTW9sbmJvX1RhbGxzdHVnYW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWFhNjE3NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTW9sbmJvX1RhbGxzdHVnYW4KQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBNw7ZsbmJvL1RhbGxzdHVnYW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTW9sbmRhbF9WYXN0ZXJiZXJnZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1vbG5kYWxfVmFzdGVyYmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhiYzMxMjIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1vbG5kYWxfVmFzdGVyYmVyZ2V0CkBAIC0wLDAgKzEsMzAgQEAKKyMgU3dlZGVuIC0gTcO2bG5kYWwvVsOkc3RlcmJlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1vcmFfRWxkcmlzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Nb3JhX0VsZHJpcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zMjIzMzFiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Nb3JhX0VsZHJpcwpAQCAtMCwwICsxLDYzIEBACisjIFN3ZWRlbiAtIE1vcmEvRWxkcmlzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTW9ya3JldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTW9ya3JldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jYWM4Mjg2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Nb3JrcmV0CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBNw7Zya3JldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTW9za29zZWwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1vc2tvc2VsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdjMjA3NTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1vc2tvc2VsCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBNb3Nrb3NlbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTW90YWxhX0VydmFzdGVieSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTW90YWxhX0VydmFzdGVieQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lYjQ2OTc2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Nb3RhbGFfRXJ2YXN0ZWJ5CkBAIC0wLDAgKzEsNzAgQEAKKyMgU3dlZGVuIC0gTW90YWxhL0VydmFzdGVieQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NdWxsc2pvX1RvcmVzdG9ycCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTXVsbHNqb19Ub3Jlc3RvcnAKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWY2NzZlNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTXVsbHNqb19Ub3Jlc3RvcnAKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBNdWxsc2rDti9Ub3Jlc3RvcnAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU11bmtlZGFsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NdW5rZWRhbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iYzAyMmMzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NdW5rZWRhbApAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIE11bmtlZGFsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU11bmtmb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NdW5rZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41ZGNjNjU2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NdW5rZm9ycwpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIE11bmtmb3JzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU11b2Rvc2xvbXBvbG8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU11b2Rvc2xvbXBvbG8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjEwZDc0MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTXVvZG9zbG9tcG9sbwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTXVvZG9zbG9tcG9sbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTmFsZGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OYWxkZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDJlNGViZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTmFsZGVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBOw6RsZGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OYXNha2VyIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OYXNha2VyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVkZjZlMmMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5hc2FrZXIKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE7DpHPDpWtlcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTmFzYW5nZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5hc2FuZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM4MWFjNjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5hc2FuZ2V0CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBOw6Rzw6RuZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OYXNzam8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5hc3NqbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43YjE2Mjg0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OYXNzam8KQEAgLTAsMCArMSw2MyBAQAorIyBTd2VkZW4gLSBOw6Rzc2rDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE4NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTmFzdGVsbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTmFzdGVsbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lNDdhZGU2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OYXN0ZWxuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBOw6RzdGVsbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTmF2ZWt2YXJuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OYXZla3Zhcm4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2NjYzYzZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTmF2ZWt2YXJuCkBAIC0wLDAgKzEsNiBAQAorIyBTd2VkZW4gLSBOw6R2ZWt2YXJuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5hdmVyZWRlX09iZXJnZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5hdmVyZWRlX09iZXJnZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjZlNmZiNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTmF2ZXJlZGVfT2JlcmdldApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTsOkdmVyZWRlIMOWYmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OaWVtaXNlbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTmllbWlzZWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWVlNmJlNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTmllbWlzZWwKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE5pZW1pc2VsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3JkYW5lZGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcmRhbmVkZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zYTJhZDI5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3JkYW5lZGUKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE5vcmRhbmVkZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9yZG1hbGluZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9yZG1hbGluZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45ZDAyY2Q1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3JkbWFsaW5nCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBOb3JkbWFsaW5nCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3JyYV9Sb3J1bSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9ycmFfUm9ydW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTA4ZGZkOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9ycmFfUm9ydW0KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE5vcnJhIFLDtnJ1bQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9ycmFoYW1tYXIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcnJhaGFtbWFyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQyNzYwNTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcnJhaGFtbWFyCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gTm9ycmFoYW1tYXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcnJha2VyIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3JyYWtlcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZmVhNDNmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3JyYWtlcgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTm9ycsOla2VyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3JyZm9ycyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9ycmZvcnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDlhMGNiZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9ycmZvcnMKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE5vcnJmb3JzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3JyaGFzc2VsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3JyaGFzc2VsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY5YjY5OGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcnJoYXNzZWwKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE5vcnJoYXNzZWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcnJrb3BpbmdfS3Jva2VrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3Jya29waW5nX0tyb2tlawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mNmU2ZTQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3Jya29waW5nX0tyb2tlawpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIE5vcnJrw7ZwaW5nL0tyb2tlaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcnJ0YWxqZV9Tb2RyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9ycnRhbGplX1NvZHJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMzYjZjOGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcnJ0YWxqZV9Tb2RyYQpAQCAtMCwwICsxLDMwIEBACisjIFN3ZWRlbiAtIE5vcnJ0w6RsamUgU8O2ZHJhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcnJ0YWxqZV9Tb2RyYV9CZXJnZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcnJ0YWxqZV9Tb2RyYV9CZXJnZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2M4Mjk2OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9ycnRhbGplX1NvZHJhX0JlcmdlbgpAQCAtMCwwICsxLDYxIEBACisjIFN3ZWRlbiAtIE5vcnJ0w6RsamUvU8O2ZHJhIEJlcmdlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcnNqb3ZhbGxlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9yc2pvdmFsbGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRmM2U3NjgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcnNqb3ZhbGxlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTm9yc2rDtnZhbGxlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTnloZW0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU55aGVtCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE3NDA2ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU55aGVtCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBOeWhlbQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTnlrb3BpbmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU55a29waW5nCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY3MzUxNDgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU55a29waW5nCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gTnlrw7ZwaW5nCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OeWxpZGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OeWxpZGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMwM2JjNGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU55bGlkZW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE55bGlkZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU55bmFzaGFtbl9WYXR0ZW50b3JuZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU55bmFzaGFtbl9WYXR0ZW50b3JuZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWMxMThkOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTnluYXNoYW1uX1ZhdHRlbnRvcm5ldApAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIE55bsOkc2hhbW4vVmF0dGVudG9ybmV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9kc21hbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT2RzbWFsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZmZjkzNTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9kc21hbApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gw5Zkc23DpWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9sZGVuX1RlbGVzdGF0aW9uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PbGRlbl9UZWxlc3RhdGlvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40YTY1ZmFlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PbGRlbl9UZWxlc3RhdGlvbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gT2xkZW4vVGVsZXN0YXRpb24KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9sa2FtYW5naSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT2xrYW1hbmdpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM3NmI3ODQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9sa2FtYW5naQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gT2xrYW1hbmdpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PbG9mc3Ryb20gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9sb2ZzdHJvbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lODgzZGMzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PbG9mc3Ryb20KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE9sb2ZzdHLDtm0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9yZWJyb19Mb2NraHl0dGFuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PcmVicm9fTG9ja2h5dHRhbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wMzZkNzRiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PcmVicm9fTG9ja2h5dHRhbgpAQCAtMCwwICsxLDcwIEBACisjIFN3ZWRlbiAtIMOWcmVicm8vTG9ja2h5dHRhbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9ya2VsbGp1bmdhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PcmtlbGxqdW5nYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yMzA2YzdlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PcmtlbGxqdW5nYQpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIMOWcmtlbGxqdW5nYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjEyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Pcm5za29sZHN2aWtfQXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9ybnNrb2xkc3Zpa19BcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iMzU0NTJjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Pcm5za29sZHN2aWtfQXMKQEAgLTAsMCArMSw3MCBAQAorIyBTd2VkZW4gLSDDlnJuc2vDtmxkc3Zpay/DhXMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3NrYXJzaGFtbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3NrYXJzaGFtbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44ZWUwNGNhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Pc2thcnNoYW1uCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gT3NrYXJzaGFtbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Pc21vX0Jqb3JzdGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9zbW9fQmpvcnN0YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jNTk3M2JmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Pc21vX0Jqb3JzdGEKQEAgLTAsMCArMSwxMCBAQAorIyBTd2VkZW4gLSDDlnNtby9CasO2cnN0YQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3N0ZXJmb3JzZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3N0ZXJmb3JzZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZTcyYjkzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Pc3RlcmZvcnNlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSDDlnN0ZXJmb3JzZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3N0ZXJncmFuaW5nZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3N0ZXJncmFuaW5nZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xYzBhNTg5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Pc3RlcmdyYW5pbmdlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSDDlnN0ZXJncmFuaW5nZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3N0ZXJzdW5kX0JyYXR0YXNlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3N0ZXJzdW5kX0JyYXR0YXNlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kZGI3NGE1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Pc3RlcnN1bmRfQnJhdHRhc2VuCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gw5ZzdGVyc3VuZC9CcmF0dMOlc2VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3N0aGFtbWFyX1ZhbG8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9zdGhhbW1hcl9WYWxvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMwMTA2M2QKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9zdGhhbW1hcl9WYWxvCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gw5ZzdGhhbW1hci9WYWzDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTg0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9zdG1hcmsgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9zdG1hcmsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDBjYjFhNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3N0bWFyawpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gw5ZzdG1hcmsKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU92ZXJhbW1lciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3ZlcmFtbWVyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRiM2UxM2IKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU92ZXJhbW1lcgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gw5Z2ZXJhbW1lcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3ZlcmhvZ2RhbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3ZlcmhvZ2RhbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40OTkwNzQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PdmVyaG9nZGFsCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSDDlnZlcmhvZ2RhbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3ZlcmthbGl4IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PdmVya2FsaXgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTY2MTJiOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3ZlcmthbGl4CkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gw5Z2ZXJrYWxpeAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU92ZXJrbGludGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PdmVya2xpbnRlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41YzQyN2VlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PdmVya2xpbnRlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gw5Z2ZXJrbGludGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PdmVycmlzc2pvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PdmVycmlzc2pvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAzMGYxNGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU92ZXJyaXNzam8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIMOWdmVycmlzc2rDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3ZlcnRvcm5lYV9TYXJraXZhYXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PdmVydG9ybmVhX1NhcmtpdmFhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWQ5YmVlMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3ZlcnRvcm5lYV9TYXJraXZhYXJhCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gw5Z2ZXJ0b3JuZcOlIFPDpHJraXZhYXJhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU92ZXJ0dXJpbmdlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3ZlcnR1cmluZ2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFkYmFjMTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU92ZXJ0dXJpbmdlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gw5Z2ZXJ0dXJpbmdlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3hiZXJnIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PeGJlcmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2EyOGJlNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3hiZXJnCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gT3hiZXJnCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1QYWphbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVBhamFsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMGU3YjY0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1QYWphbGEKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBQYWphbGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUGF1bGlzdG9tIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1QYXVsaXN0b20KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2RkOWI1MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUGF1bGlzdG9tCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gUGF1bGlzdMO2bQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUGF1bGlzdHJvbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUGF1bGlzdHJvbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MGY4MjUzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1QYXVsaXN0cm9tCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBQYXVsaXN0csO2bQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUGlsZ3JpbXN0YWQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVBpbGdyaW1zdGFkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNiZWQyOTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVBpbGdyaW1zdGFkCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBQaWxncmltc3RhZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUG9yanVzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Qb3JqdXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzIwNjIzZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUG9yanVzCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gUG9yanVzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVB1b2x0c2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVB1b2x0c2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGQzMTQwYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUHVvbHRzYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gUHVvbHRzYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmFndW5kYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmFndW5kYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43YmQxNzA1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SYWd1bmRhCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gUmFndW5kYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SYW1zZWxlX1NrYXZhc2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SYW1zZWxlX1NrYXZhc2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZiZDZlNGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJhbXNlbGVfU2thdmFzZW4KQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBSYW1zZWxlIFNrYXbDpXNlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SYW1zam8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJhbXNqbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YmIzZmZlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SYW1zam8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFJhbXNqw7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJhbXVuZGJlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmFtdW5kYmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBmOGMxNjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJhbXVuZGJlcmdldApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gUmFtdW5kYmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SYW5kYWxlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmFuZGFsZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzBmNDIzMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmFuZGFsZW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFLDpW5kYWxlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmFuZGlqYXVyZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmFuZGlqYXVyZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jY2ZhODZiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SYW5kaWphdXJlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBSYW5kaWphdXJlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SYW5zYXRlciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmFuc2F0ZXIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODYxNTY5NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmFuc2F0ZXIKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFJhbnPDpHRlcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmF0dHZpayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmF0dHZpawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43MjViYzhiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SYXR0dmlrCkBAIC0wLDAgKzEsNiBAQAorIyBTd2VkZW4gLSBSw6R0dHZpaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SZW5nc2pvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SZW5nc2pvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA3NmM0NWQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJlbmdzam8KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBSZW5nc2rDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmVuc3Ryb20gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJlbnN0cm9tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY3MTBlYzMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJlbnN0cm9tCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBSZW5zdHLDtm0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJlc2VsZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmVzZWxlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI3MDZjODcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJlc2VsZQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gUmVzZWxlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SaXNiYWNrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SaXNiYWNrCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmYyNzE3M2UKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJpc2JhY2sKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFJpc2LDpGNrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SaXNzbmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJpc3NuYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yOWVmZmZlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SaXNzbmEKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFJpc3NuYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUml0c2VtIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SaXRzZW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGM5ODIwOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUml0c2VtCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBSaXRzZW0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJvYmVydHNmb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Sb2JlcnRzZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wMWYwY2VlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Sb2JlcnRzZm9ycwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gUm9iZXJ0c2ZvcnMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJvamRhZm9ycyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUm9qZGFmb3JzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAxMTlkYmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJvamRhZm9ycwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gUsO2amTDpWZvcnMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJvbm5hbmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJvbm5hbmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWU4NjA3ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUm9ubmFuZwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gUsO2bm7DpG5nCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Sb3JiYWNrc25hcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUm9yYmFja3NuYXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjRlMDgxZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUm9yYmFja3NuYXMKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBSw7ZyYsOkY2tzbsOkcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUm9zc29uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Sb3Nzb24KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjgwN2JkMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUm9zc29uCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBSb3Nzw7ZuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SdXNrc2VsZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUnVza3NlbGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzVkMzZlNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUnVza3NlbGUKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFJ1c2tzZWxlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYWR2YWx1c3BlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2FkdmFsdXNwZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjUxMGEzNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2FkdmFsdXNwZW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFPDpGR2YWx1c3BlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2FnbXlyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2FnbXlyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hOWQ2N2U4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYWdteXJhCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gU8OlZ215cmEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNhaXZvbXVvdGthIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYWl2b211b3RrYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41N2I0M2E2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYWl2b211b3RrYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU2Fpdm9tdW90a2EKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNhbGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYWxlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41OGJkNWE2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYWxlbgpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIFPDpGxlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2FsZmphbGxldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2FsZmphbGxldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hYTE2MWFjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYWxmamFsbGV0CkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gU8OkbGZqw6RsbGV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYXJuYV9NaWNrZWx0ZW1wbGV0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYXJuYV9NaWNrZWx0ZW1wbGV0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFhZTRlMjYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNhcm5hX01pY2tlbHRlbXBsZXQKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBTw6RybmEvTWlja2VsdGVtcGxldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2F0aWxhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYXRpbGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTBlZmYwMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2F0aWxhCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gU8OkdGlsYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2F2YXJfU29yYnluIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYXZhcl9Tb3JieW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGM5MjRiZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2F2YXJfU29yYnluCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTw6R2YXIgU8O2cmJ5bgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2F2YXN0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYXZhc3QKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWE5OTAwNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2F2YXN0CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTw6R2YXN0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYXhkYWxlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2F4ZGFsZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2YzZjRhZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2F4ZGFsZW4KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBTYXhkYWxlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2VpdGV2YWFyZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2VpdGV2YWFyZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMDJjODMxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TZWl0ZXZhYXJlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTZWl0ZXZhYXJlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TZWxhbmdlciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2VsYW5nZXIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGVhM2UyYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2VsYW5nZXIKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFNlbMOlbmdlcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2VsdGphcm4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNlbHRqYXJuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM5MTRjOGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNlbHRqYXJuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTZWx0asOkcm4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNpZGVuc2pvX0FiZXJnZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNpZGVuc2pvX0FiZXJnZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWFlOWI1YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2lkZW5zam9fQWJlcmdldApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU2lkZW5zasO2IMOFYmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TaWxqYW5zbmFzX1V2YmVyZ2V0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TaWxqYW5zbmFzX1V2YmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdmMzVjNTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNpbGphbnNuYXNfVXZiZXJnZXQKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBTaWxqYW5zbsOkcy9VdmJlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2ltcmlzaGFtbl9GYWJyaWtzZ2F0YW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNpbXJpc2hhbW5fRmFicmlrc2dhdGFuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU1NTgzZGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNpbXJpc2hhbW5fRmFicmlrc2dhdGFuCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gU2ltcmlzaGFtbi9GYWJyaWtzZ2F0YW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2thbGFuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta2FsYW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzEzNjJlNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2thbGFuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTa8OlbGFuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta2FsbXNqbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2thbG1zam8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2Y0YmQ0MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2thbG1zam8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFNrYWxtc2rDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2thcnN0YWQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrYXJzdGFkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU4YTc0OTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrYXJzdGFkCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gU2vDpHJzdGFkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta2FydmFuZ2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta2FydmFuZ2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmViZTk1OTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrYXJ2YW5nZW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFNrw6RydsOlbmdlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2thdHR1bmdieW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrYXR0dW5nYnluCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM4NDJiMzAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrYXR0dW5nYnluCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gU2thdHR1bmdieW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrYXVsb19QeWhha2llbGluZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrYXVsb19QeWhha2llbGluZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmJmZWY3YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2thdWxvX1B5aGFraWVsaW5lbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU2thdWxvIFB5aMOka2llbGluZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrZWxsZWZ0ZWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrZWxsZWZ0ZWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmFiMTQwMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2tlbGxlZnRlYQpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIFNrZWxsZWZ0ZcOlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxODQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2tlbmVfTnlja2xhcmJlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2tlbmVfTnlja2xhcmJlcmdldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40OTM0N2QzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta2VuZV9OeWNrbGFyYmVyZ2V0CkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gU2tlbmUvTnlja2xhcmJlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2tpbGxpbmdzZm9ycyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2tpbGxpbmdzZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jNjM1ZGI1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta2lsbGluZ3Nmb3JzCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTa2lsbGluZ3Nmb3JzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta29ycGVkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta29ycGVkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY5NGUzZTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrb3JwZWQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFNrb3JwZWQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrb3R0c3VuZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2tvdHRzdW5kCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg2MmMwNDQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrb3R0c3VuZApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU2tvdHRzdW5kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta292ZGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrb3ZkZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40YTVmOGIyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta292ZGUKQEAgLTAsMCArMSw3MCBAQAorIyBTd2VkZW4gLSBTa8O2dmRlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2tyb3ZlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2tyb3ZlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45OGUyNGYwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta3JvdmVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTa3LDtnZlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2t5bW5hcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2t5bW5hcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xNjU4ZDYzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta3ltbmFzCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTa3ltbsOkcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2x1c3Nmb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TbHVzc2ZvcnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGE2YTliNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2x1c3Nmb3JzCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTbHVzc2ZvcnMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNtZWRqZWJhY2tlbl9VdmJlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU21lZGplYmFja2VuX1V2YmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAxNjU4ZGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNtZWRqZWJhY2tlbl9VdmJlcmdldApAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIFNtZWRqZWJhY2tlbi9VdmJlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvZGVyaGFtbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29kZXJoYW1uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZhODVmMGIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvZGVyaGFtbgpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIFPDtmRlcmhhbW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Tb2RlcmtvcGluZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29kZXJrb3BpbmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2U1NWNkNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29kZXJrb3BpbmcKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBTw7ZkZXJrw7ZwaW5nCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29kZXJ0YWxqZV9SYWduaGlsZHNib3JnIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Tb2RlcnRhbGplX1JhZ25oaWxkc2JvcmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDY1NDM0ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29kZXJ0YWxqZV9SYWduaGlsZHNib3JnCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gU8O2ZGVydMOkbGplL1JhZ25oaWxkc2JvcmcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Tb2xsZWZ0ZWFfSGFsbHN0YSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29sbGVmdGVhX0hhbGxzdGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTI3OWJlNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29sbGVmdGVhX0hhbGxzdGEKQEAgLTAsMCArMSw2MyBAQAorIyBTd2VkZW4gLSBTb2xsZWZ0ZcOlL0hhbGxzdGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvbGxlZnRlYV9NdWx0cmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvbGxlZnRlYV9NdWx0cmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGZiOGVjMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29sbGVmdGVhX011bHRyYQpAQCAtMCwwICsxLDYzIEBACisjIFN3ZWRlbiAtIFNvbGxlZnRlw6UvTXVsdHLDpQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29yYWtlciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29yYWtlcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45MzY1MjE1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Tb3Jha2VyCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTw7Zyw6VrZXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvcmJ5Z2RlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29yYnlnZGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIwZTlkMzEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvcmJ5Z2RlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU8O2cmJ5Z2RlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29yZmxhcmtlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Tb3JmbGFya2UKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmU3NzlmNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29yZmxhcmtlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTw7ZyZmzDpHJrZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29yc2VsZV9OYWxvdmFyZG8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvcnNlbGVfTmFsb3ZhcmRvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVmOGNkN2IKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvcnNlbGVfTmFsb3ZhcmRvCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTb3JzZWxlIE5hbG92YXJkbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29yc2VsZV9WYXR0ZW50b3JuZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvcnNlbGVfVmF0dGVudG9ybmV0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJhN2UzYzIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvcnNlbGVfVmF0dGVudG9ybmV0CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTb3JzZWxlL1ZhdHRlbnRvcm5ldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29yc2pvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29yc2pvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44NGU5OWU4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Tb3Jzam9uCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gU8O2cnNqw7ZuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Tb3Vrb2xvamFydmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvdWtvbG9qYXJ2aQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42ZDVlMjQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Tb3Vrb2xvamFydmkKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFNvdWtvbG9qw6RydmkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0YWxvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3RhbG9uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNlODgxNTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0YWxvbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU3RhbG9uCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdGlnc2pvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdGlnc2pvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjEzN2E1OWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0aWdzam8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFN0aWdzasO2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdG9ja2hvbG1fTWFyaWViZXJnIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdG9ja2hvbG1fTWFyaWViZXJnCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBhZTMwYTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b2NraG9sbV9NYXJpZWJlcmcKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBTdG9ja2hvbG0vTWFyaWViZXJnCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3RvY2tob2xtX05hY2thIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdG9ja2hvbG1fTmFja2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjUzNDUwNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3RvY2tob2xtX05hY2thCkBAIC0wLDAgKzEsNzEgQEAKKyMgU3dlZGVuIC0gU3RvY2tob2xtL05hY2thCitbVGVyYWNvbV9NdXhfMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1RlcmFjb21fTXV4XzJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tUZXJhY29tX011eF8zXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVGVyYWNvbV9NdXhfNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1RlcmFjb21fTXV4XzVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdG9kZV9IdWxsc2pvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3RvZGVfSHVsbHNqb24KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTQ2YmM4MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3RvZGVfSHVsbHNqb24KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFN0w7ZkZS9IdWxsc2rDtm4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b2RlX0ludGFnZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b2RlX0ludGFnZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGViM2JhYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3RvZGVfSW50YWdldApAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIFN0w7ZkZSBJbnRhZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b21uZV9Ta2FzYXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b21uZV9Ta2FzYXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2UyOTNiYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3RvbW5lX1NrYXNhcwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU3TDtm1uZS9Ta2Fzw6VzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdG9yYV9Ta2VkdmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b3JhX1NrZWR2aQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mMDBjNzkzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdG9yYV9Ta2VkdmkKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBTdG9yYSBTa2VkdmkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b3JkYWxlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3RvcmRhbGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc1NjU2ZGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b3JkYWxlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU3RvcmRhbGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdG9yZmphdGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdG9yZmphdGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkzYjg5OGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b3JmamF0ZW4KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBTdG9yZmrDpHRlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3RvcmxpZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b3JsaWVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjEwZTI1MjIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b3JsaWVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTdG9ybGllbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3RvcnVtYW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b3J1bWFuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjlmZTIzZmMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b3J1bWFuCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gU3RvcnVtYW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdHJvbXN0YWQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0cm9tc3RhZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mMjYwOWY2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdHJvbXN0YWQKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBTdHLDtm1zdGFkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMDU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3Ryb21zdW5kX0dyZWxzZ2FyZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3Ryb21zdW5kX0dyZWxzZ2FyZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMTI2NTUyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdHJvbXN1bmRfR3JlbHNnYXJkCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gU3Ryw7Ztc3VuZC9HcmVsc2fDpXJkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0dWd1biBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3R1Z3VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU0YjYyMTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0dWd1bgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU3R1Z3VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdHlyc2pvYm8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0eXJzam9ibwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xY2NjZTA0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdHlyc2pvYm8KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBTdHlyc2rDtmJvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdWRkZXNqYXVyIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdWRkZXNqYXVyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM2YTUzZGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN1ZGRlc2phdXIKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFN1ZGRlc2phdXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN1aWphdmFhcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN1aWphdmFhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWYwMzcxYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3VpamF2YWFyYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU3VpamF2YWFyYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3VsdmlrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdWx2aWsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDI2ZjU5MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3VsdmlrCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTdWx2aWsKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN1bmRib3JuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5kYm9ybgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iNDIzNzU3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5kYm9ybgpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIFN1bmRib3JuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5kc2JydWsgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN1bmRzYnJ1awpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45YzdhN2ZkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5kc2JydWsKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBTdW5kc2JydWsKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5kc3ZhbGxfU19TdGFkc2JlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3VuZHN2YWxsX1NfU3RhZHNiZXJnZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2Y2YmJkYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3VuZHN2YWxsX1NfU3RhZHNiZXJnZXQKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBTdW5kc3ZhbGwvUyBTdGFkc2JlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN1bm5lX0FzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5uZV9BcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jOTQ1MDBlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5uZV9BcwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU3VubmUvw4VzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5uZV9CbGFiYXJza3VsbGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5uZV9CbGFiYXJza3VsbGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMwZjI5YTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN1bm5lX0JsYWJhcnNrdWxsZW4KQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBTdW5uZS9CbMOlYsOkcnNrdWxsZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5uZW1vIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5uZW1vCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE4YmVlYzIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN1bm5lbW8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFN1bm5lbW8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN2YW5laG9sbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3ZhbmVob2xtCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjliMzJkNDQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN2YW5laG9sbQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU3ZhbmVob2xtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdmFuc3RlaW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN2YW5zdGVpbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45N2UxZDNlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdmFuc3RlaW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFN2YW5zdGVpbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3ZhcmRzb3N1bmRfU3ZhcmRzbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3ZhcmRzb3N1bmRfU3ZhcmRzbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yMzNjMTBlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdmFyZHNvc3VuZF9TdmFyZHNvCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTdsOkcmRzw7ZzdW5kL1N2w6RyZHPDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3ZhcnRuYXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN2YXJ0bmFzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFjMzc2OTAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN2YXJ0bmFzCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gU3ZhcnRuw6RzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdmVnX0JyaWNrYW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN2ZWdfQnJpY2thbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iMzg1Yjk4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdmVnX0JyaWNrYW4KQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBTdmVnL0JyaWNrYW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdmVnX1JhbnNqbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3ZlZ19SYW5zam8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmI1MDNkOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3ZlZ19SYW5zam8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFN2ZWcvUmFuc2rDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3ZlbnN0YXZpayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3ZlbnN0YXZpawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41NTFlMzNmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdmVuc3RhdmlrCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTdmVuc3RhdmlrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdmluZXN1bmQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN2aW5lc3VuZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zMmM1MDk4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdmluZXN1bmQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFN2aW5lc3VuZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3lzc2xlYmFjayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3lzc2xlYmFjawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iMmJlNjgyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TeXNzbGViYWNrCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gU3lzc2xlYsOkY2sKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVGFiZXJnIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UYWJlcmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2VlODUzMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVGFiZXJnCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gVGFiZXJnCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UYW5kYWRhbGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UYW5kYWRhbGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU3MjZkM2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRhbmRhZGFsZW4KQEAgLTAsMCArMSw2IEBACisjIFN3ZWRlbiAtIFRhbmTDpWRhbGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRhbm5hc19WYXN0cmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRhbm5hc19WYXN0cmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWUxNzk5YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVGFubmFzX1Zhc3RyYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVMOkbm7DpHMgVsOkc3RyYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVGFubmRhbGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UYW5uZGFsZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2E0YjY2OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVGFubmRhbGVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBUw6RubmRhbGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UYXJuYWJ5X1J5ZmphbGxldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVGFybmFieV9SeWZqYWxsZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjI3MjBhOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVGFybmFieV9SeWZqYWxsZXQKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBUw6RybmFieSBSeWZqw6RsbGV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRhcm5hbW8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRhcm5hbW8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGZkNGU5MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVGFybmFtbwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVMOkcm5hbW8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRhc2pvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UYXNqbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iMTk1ODU0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UYXNqbwpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIFTDpXNqw7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UYXZlbHNqbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVGF2ZWxzam8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjMwMDk5MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVGF2ZWxzam8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFRhdmVsc2rDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVG9ja3Nmb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ub2Nrc2ZvcnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmMwODc5NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVG9ja3Nmb3JzCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gVMO2Y2tzZm9ycworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ub2xsc2pvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ub2xsc2pvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNmMTg1MjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRvbGxzam8KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBUw7ZsbHNqw7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRvcm1lc3RvcnAgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRvcm1lc3RvcnAKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDRiZjQ0OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVG9ybWVzdG9ycApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVG9ybWVzdG9ycAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVG9ybmV0cmFzayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVG9ybmV0cmFzawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jOTdiM2Q2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ub3JuZXRyYXNrCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBUb3JuZXRyw6RzaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVG9ycHNoYW1tYXIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRvcnBzaGFtbWFyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjI1MTAyNjgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRvcnBzaGFtbWFyCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gVG9ycHNoYW1tYXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVG9yc2J5X0JhZGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRvcnNieV9CYWRhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZjM2U1MDYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRvcnNieV9CYWRhCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gVG9yc2J5L0JhZGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UcmFuYXNfQnJlZGthcnIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRyYW5hc19CcmVka2FycgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ZTg4NTg4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UcmFuYXNfQnJlZGthcnIKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBUcmFuw6VzL0JyZWRrw6RycgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UcmFuZW1vIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UcmFuZW1vCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmVjYTkzMDQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRyYW5lbW8KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBUcmFuZW1vCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UcmFuc3RyYW5kX0JvbGhlZGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UcmFuc3RyYW5kX0JvbGhlZGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJkMTQwYTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRyYW5zdHJhbmRfQm9saGVkZW4KQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBUcmFuc3RyYW5kL0JvbGhlZGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVHJhcnlkX0JldGFzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UcmFyeWRfQmV0YXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmE3YmNkZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVHJhcnlkX0JldGFzCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gVHJhcnlkL0JldMOlcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTg0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRyZWhvcm5pbmdzam8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRyZWhvcm5pbmdzam8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTE0ZDQ4ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVHJlaG9ybmluZ3NqbwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVHJlaMO2cm5pbmdzasO2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UcmVsbGVib3JnX0d5bGxlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UcmVsbGVib3JnX0d5bGxlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQxMjdmNjYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRyZWxsZWJvcmdfR3lsbGUKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBUcmVsbGVib3JnL0d5bGxlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRyb2xsaGF0dGFuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ucm9sbGhhdHRhbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43MmNhMDYwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ucm9sbGhhdHRhbgpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIFRyb2xsaMOkdHRhbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjA1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRyb3NhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ucm9zYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yZDZiOTYzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ucm9zYQpAQCAtMCwwICsxLDI1IEBACisjIFN3ZWRlbiAtIFRyb3NhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVHVsbGluZ2VfSGFtcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVR1bGxpbmdlX0hhbXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmIxYjE1YWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVR1bGxpbmdlX0hhbXJhCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gVHVsbGluZ2UvSGFtcmEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVHlyaW5nZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVHlyaW5nZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xMjIyZTVjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UeXJpbmdlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBUeXJpbmdlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UeXN0YmVyZ2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVR5c3RiZXJnYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lZjI0MGEzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UeXN0YmVyZ2EKQEAgLTAsMCArMSw2IEBACisjIFN3ZWRlbiAtIFR5c3RiZXJnYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VZGRldmFsbGFfSGVycmVzdGFkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VZGRldmFsbGFfSGVycmVzdGFkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJjMTk5MmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVkZGV2YWxsYV9IZXJyZXN0YWQKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBVZGRldmFsbGEvSGVycmVzdGFkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMDU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVWRkZXZhbGxhX0thcGVsbGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVkZGV2YWxsYV9LYXBlbGxlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdhMjY2OGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVkZGV2YWxsYV9LYXBlbGxlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBVZGRldmFsbGEvS2FwZWxsZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVWdnbGVoZWRlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVWdnbGVoZWRlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hZmJmYzY4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VZ2dsZWhlZGVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBVZ2dsZWhlZGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbGxhbmdlcl9Ta2lkc3RhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbGxhbmdlcl9Ta2lkc3RhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhmNWE1NGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVsbGFuZ2VyX1NraWRzdGEKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFVsbMOlbmdlciBTa2lkc3RhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbGxhcmVkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbGxhcmVkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjI5ZDRhMDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVsbGFyZWQKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBVbGxhcmVkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbHJpY2VoYW1uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbHJpY2VoYW1uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc1OWM2MmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVscmljZWhhbW4KQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBVbHJpY2VoYW1uCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVWx2b2hhbW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVsdm9oYW1uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU3YWU3MzEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVsdm9oYW1uCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBVbHbDtmhhbW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVsdnNoeXR0YW5fUG9yanVzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbHZzaHl0dGFuX1Bvcmp1cwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wOGYwMjM0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbHZzaHl0dGFuX1Bvcmp1cwpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIFVsdnNoeXR0YW4vUG9yanVzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbWVhX01hcmllaGVtIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbWVhX01hcmllaGVtCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjcwZjczNjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVtZWFfTWFyaWVoZW0KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFVtZcOlL01hcmllaGVtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbWZvcnMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVtZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41MWExZTQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbWZvcnMKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFVtZm9ycworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVW1ncmFuc2VsZV9HcmFuc2VsZWx1bmQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVtZ3JhbnNlbGVfR3JhbnNlbGVsdW5kCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhmZWYxMmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVtZ3JhbnNlbGVfR3JhbnNlbGVsdW5kCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBVbWdyYW5zZWxlL0dyYW5zZWxlbHVuZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVW5kZXJzYWtlciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVW5kZXJzYWtlcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45NWU4MTZlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbmRlcnNha2VyCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBVbmRlcnPDpWtlcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVXBwc2FsYV9SaWNrb21iZXJnYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVXBwc2FsYV9SaWNrb21iZXJnYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yYzBhYzhmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VcHBzYWxhX1JpY2tvbWJlcmdhCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gVXBwc2FsYS9SaWNrb21iZXJnYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVXBwc2FsYV9WZWR5eGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVwcHNhbGFfVmVkeXhhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU1Zjk5YTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVwcHNhbGFfVmVkeXhhCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gVXBwc2FsYS9WZWR5eGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VdGFuc2pvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VdGFuc2pvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjk1MDQ0MDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVV0YW5zam8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFV0YW5zasO2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VdGFuc2tvZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVXRhbnNrb2cKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzk5ZDg1MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVXRhbnNrb2cKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFV0YW5za29nCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYWRkb19FbG1zdGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhZGRvX0VsbXN0YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zMTBhMWRhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYWRkb19FbG1zdGEKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBWw6RkZMO2L0VsbXN0YQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTg0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhbGFkYWxlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFsYWRhbGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjlhZWVkODgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhbGFkYWxlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVsOlbMOlZGFsZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhbGFuZ2VyIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYWxhbmdlcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NGUzM2YxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYWxhbmdlcgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVsOlbMOlbmdlcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFsZGVtYXJzdmlrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYWxkZW1hcnN2aWsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGQ3Yzc0MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFsZGVtYXJzdmlrCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gVmFsZGVtYXJzdmlrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFsc2pvYnluIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYWxzam9ieW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGMxNThiOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFsc2pvYnluCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBWYWxzasO2YnluCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYW5uYXNfR3Jhbmx1bmRzYmVyZ2V0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYW5uYXNfR3Jhbmx1bmRzYmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjUzZTdkZjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhbm5hc19HcmFubHVuZHNiZXJnZXQKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBWw6RubsOkcy9HcmFubHVuZHNiZXJnZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYW5zYnJvX0h1bW1lbGJlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFuc2Jyb19IdW1tZWxiZXJnZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGI0MjYzZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFuc2Jyb19IdW1tZWxiZXJnZXQKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBWYW5zYnJvL0h1bW1lbGJlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFyYmVyZ19HcmltZXRvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFyYmVyZ19HcmltZXRvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42Yzg1YWNkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYXJiZXJnX0dyaW1ldG9uCkBAIC0wLDAgKzEsNjMgQEAKKyMgU3dlZGVuIC0gVmFyYmVyZy9HcmltZXRvbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFybXZhdHRuZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhcm12YXR0bmV0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjllNTYwOTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhcm12YXR0bmV0CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBWYXJtdmF0dG5ldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFybmFtb19BbGFuZHNyeWQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhcm5hbW9fQWxhbmRzcnlkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY5ZjY0MTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhcm5hbW9fQWxhbmRzcnlkCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBWw6RybmFtby9BbGFuZHNyeWQgLQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFzc2JvdHRlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFzc2JvdHRlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41YWFjNWU5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYXNzYm90dGVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBWYXNzYm90dGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYXNzaWphdXJlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYXNzaWphdXJlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhkNmViZjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhc3NpamF1cmUKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFZhc3NpamF1cmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhc3RhbnNqbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFzdGFuc2pvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRhZmE4OGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhc3RhbnNqbwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVsOkc3RhbnNqw7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhc3RlcmFzX0xpbGxoYXJhZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFzdGVyYXNfTGlsbGhhcmFkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBjNTAxOTAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhc3RlcmFzX0xpbGxoYXJhZApAQCAtMCwwICsxLDgyIEBACisjIFN3ZWRlbiAtIFbDpHN0ZXLDpXMvTGlsbGjDpHJhZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYXN0ZXJ2aWtfRmFyaHVsdCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFzdGVydmlrX0Zhcmh1bHQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmIxN2QzOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFzdGVydmlrX0Zhcmh1bHQKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBWw6RzdGVydmlrL0bDpXJodWx0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmF0byBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmF0bwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45NDcyMWQwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYXRvCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBWw6R0w7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZheGJvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYXhibwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xMTY0ODNmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYXhibwpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIFbDpHhibworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmVtZGFsc3NrYWxldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmVtZGFsc3NrYWxldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yNDQ3ODg3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WZW1kYWxzc2thbGV0CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBWZW1kYWxzc2thbGV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WZXNzaWdlYnJvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WZXNzaWdlYnJvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJjZDkyMWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZlc3NpZ2Vicm8KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBWZXNzaWdlYnJvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WZXRsYW5kYV9OeWUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZldGxhbmRhX055ZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43Y2QxZjVjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WZXRsYW5kYV9OeWUKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBWZXRsYW5kYS9OeWUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpZHNlbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlkc2VsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAzNTE3ODMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpZHNlbApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVmlkc2VsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaWV0YXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpZXRhcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42Njg2NTdiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaWV0YXMKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFZpZXRhcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlrbWFuc2h5dHRhbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlrbWFuc2h5dHRhbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42YjI0ZDZlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaWttYW5zaHl0dGFuCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gVmlrbWFuc2h5dHRhbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlrc2pvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaWtzam8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDAwNDI1MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlrc2pvCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBWaWtzasO2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaWxoZWxtaW5hIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaWxoZWxtaW5hCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFhZGIyYTAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpbGhlbG1pbmEKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBWaWxoZWxtaW5hCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpbGxhbmRzX1ZhbmdhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaWxsYW5kc19WYW5nYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MzFlYzBjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaWxsYW5kc19WYW5nYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVmlsbGFuZHMgVsOlbmdhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaW5kZWxncmFuc2VsZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmluZGVsZ3JhbnNlbGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDMxZTY4MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmluZGVsZ3JhbnNlbGUKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFZpbmRlbGdyYW5zZWxlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaW5kZWxuX1JlbmZvcnMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpbmRlbG5fUmVuZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kMzRjODM2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaW5kZWxuX1JlbmZvcnMKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBWaW5kZWxuL1JlbmZvcnMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlyc2VydW0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpcnNlcnVtCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMyYzc5YmMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpcnNlcnVtCkBAIC0wLDAgKzEsNjMgQEAKKyMgU3dlZGVuIC0gVmlyc2VydW0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpc2J5X0ZvbGxpbmdibyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlzYnlfRm9sbGluZ2JvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMzYjE0ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpc2J5X0ZvbGxpbmdibwpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIFZpc2J5L0ZvbGxpbmdibworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjA1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpc2J5X0hhbW5lbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlzYnlfSGFtbmVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFjODM5ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpc2J5X0hhbW5lbgpAQCAtMCwwICsxLDY1IEBACisjIFN3ZWRlbiAtIFZpc2J5L0hhbW5lbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlzYnlfSGF2ZGhlbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlzYnlfSGF2ZGhlbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMzc2MjE3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaXNieV9IYXZkaGVtCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gVmlzYnkvSGF2ZGhlbQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjA1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaXNpbmdzbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlzaW5nc28KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGRjYzRmNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlzaW5nc28KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBWaXNpbmdzw7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpc2xhbmRhX055ZGFsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlzbGFuZGFfTnlkYWxhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFhYWYzZWYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpc2xhbmRhX055ZGFsYQpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIFZpc2xhbmRhL055ZGFsYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpdGJlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVml0YmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjcwNTNmNWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpdGJlcmdldApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVml0YmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaXRzYW5kIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaXRzYW5kCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmExYjRkYzkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpdHNhbmQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFZpdHNhbmQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpdHNhbmRfVmFnc2pvZm9ycyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVml0c2FuZF9WYWdzam9mb3JzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMwN2MwMTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpdHNhbmRfVmFnc2pvZm9ycwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVml0c2FuZC9Ww6Rnc2rDtmZvcnMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZveG5hIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Wb3huYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMTRjYmE3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Wb3huYQpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIFZveG5hCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WdW9sbGVyaW0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZ1b2xsZXJpbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMDM0Y2E4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WdW9sbGVyaW0KQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBWdW9sbGVyaW0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtWXN0YWRfTWV0YWxsZ2F0YW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVlzdGFkX01ldGFsbGdhdGFuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVjMjUwYjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVlzdGFkX01ldGFsbGdhdGFuCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gWXN0YWQvTWV0YWxsZ2F0YW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1ZdHRlcm1hbHVuZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtWXR0ZXJtYWx1bmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzQ3M2IzMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtWXR0ZXJtYWx1bmcKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBZdHRlcm1hbHVuZworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2ktTGp1YmxqYW5hIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zaS1ManVibGphbmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTFkM2U4YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2ktTGp1YmxqYW5hCkBAIC0wLDAgKzEsMjcgQEAKKyMgU2xvdmVuaWEgLyBManVibGphbmEKKyMgTVVMVElQTEVYIEEKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1CYW5za2FCeXN0cmljYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stQmFuc2thQnlzdHJpY2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzQwMTY0YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stQmFuc2thQnlzdHJpY2EKQEAgLTAsMCArMSwzMCBAQAorIyBEVkItVCBCYW5za2EgQnlzdHJpY2EgKEJhbnNrYSBCeXN0cmljYSwgU2xvdmFrIFJlcHVibGljKQorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy5kdmJ0LnRvd2VyY29tLnNrL29kYm9ybmljaS5waHAKKworIyAyLnN0IG11bHRpcGxleCAoY29tbWVyY2lhbCkgLSBvbiBjaGFubmVsIDUxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIDMuc3QgbXVsdGlwbGV4IChwdWJsaWMpIC0gb24gY2hhbm5lbCAzMworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stQmFuc2thU3RpYXZuaWNhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1CYW5za2FTdGlhdm5pY2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGFmYzQ3MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stQmFuc2thU3RpYXZuaWNhCkBAIC0wLDAgKzEsMzAgQEAKKyMgRFZCLVQgQmFuc2thIFN0aWF2bmljYSAoQmFuc2thIFN0aWF2bmljYSwgU2xvdmFrIFJlcHVibGljKQorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy5kdmJ0LnRvd2VyY29tLnNrL29kYm9ybmljaS5waHAKKworIyAyLnN0IG11bHRpcGxleCAoY29tbWVyY2lhbCkgLSBvbiBjaGFubmVsIDIxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIDMuc3QgbXVsdGlwbGV4IChwdWJsaWMpIC0gb24gY2hhbm5lbCA0OAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stQmFyZGVqb3YgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLUJhcmRlam92Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE0ODFiZGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLUJhcmRlam92CkBAIC0wLDAgKzEsMzAgQEAKKyMgRFZCLVQgQmFyZGVqb3YgKEJhcmRlam92LCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgNDAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDU0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1CcmF0aXNsYXZhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1CcmF0aXNsYXZhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNkNDYxNjIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLUJyYXRpc2xhdmEKQEAgLTAsMCArMSw0OCBAQAorIyBEVkItVCBCcmF0aXNsYXZhIChCcmF0aXNsYXZhLCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgNTYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDI3CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjCisjIFQtIFZpZGVvIEFnZW5jeQorIyAoVE9ETzogaHR0cDovL3d3dy56aXZlLnNrL2JyYXRpc2xhdmEtc2EtZG9ja2FsYS1ub3Z5Y2gtcHJvZ3JhbW92LXYtZHZiLXQtZGl2YWNpLXNpLW5hbGFkaWEtdXotYWotdGEzL3NjLTQtYS0yOTg4MzAvZGVmYXVsdC5hc3B4KQorIworIyByZWdpb25hbCBtdWx0aXBsZXggLSBvbiBjaGFubmVsIDU1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1DYWRjYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stQ2FkY2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWJkMGU1YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stQ2FkY2EKQEAgLTAsMCArMSwzMCBAQAorIyBEVkItVCBDYWRjYSAoQ2FkY2EsIFNsb3ZhayBSZXB1YmxpYykKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cuZHZidC50b3dlcmNvbS5zay9vZGJvcm5pY2kucGhwCisKKyMgMi5zdCBtdWx0aXBsZXggKGNvbW1lcmNpYWwpIC0gb24gY2hhbm5lbCA1MgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyAzLnN0IG11bHRpcGxleCAocHVibGljKSAtIG9uIGNoYW5uZWwgMzIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLURldHZhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1EZXR2YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40NGNmMmE2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1EZXR2YQpAQCAtMCwwICsxLDMwIEBACisjIERWQi1UIERldHZhIChEZXR2YSwgU2xvdmFrIFJlcHVibGljKQorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy5kdmJ0LnRvd2VyY29tLnNrL29kYm9ybmljaS5waHAKKworIyAyLnN0IG11bHRpcGxleCAoY29tbWVyY2lhbCkgLSBvbiBjaGFubmVsIDYwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIDMuc3QgbXVsdGlwbGV4IChwdWJsaWMpIC0gb24gY2hhbm5lbCAzMworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stSG51c3RhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1IbnVzdGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDBiNDFlZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stSG51c3RhCkBAIC0wLDAgKzEsMzAgQEAKKyMgRFZCLVQgSG51c3RhIChIbnVzdGEsIFNsb3ZhayBSZXB1YmxpYykKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cuZHZidC50b3dlcmNvbS5zay9vZGJvcm5pY2kucGhwCisKKyMgMi5zdCBtdWx0aXBsZXggKGNvbW1lcmNpYWwpIC0gb24gY2hhbm5lbCAyNworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyAzLnN0IG11bHRpcGxleCAocHVibGljKSAtIG9uIGNoYW5uZWwgNTQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLUtvc2ljZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stS29zaWNlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdjMDFiODEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLUtvc2ljZQpAQCAtMCwwICsxLDMwIEBACisjIERWQi1UIEtvc2ljZSAoS29zaWNlLCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgNTkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDI1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1LcmFsb3Zza3lDaGxtZWMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLUtyYWxvdnNreUNobG1lYwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43MTYzZTgzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1LcmFsb3Zza3lDaGxtZWMKQEAgLTAsMCArMSwzMCBAQAorIyBEVkItVCBLcmFsb3Zza3kgQ2hsbWVjIChLcmFsb3Zza3kgQ2hsbWVjLCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgNTkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDI1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1Lcm9tcGFjaHkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLUtyb21wYWNoeQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yNzc0N2NkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1Lcm9tcGFjaHkKQEAgLTAsMCArMSwzMCBAQAorIyBEVkItVCBLcm9tcGFjaHkgKEtyb21wYWNoeSwgU2xvdmFrIFJlcHVibGljKQorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy5kdmJ0LnRvd2VyY29tLnNrL29kYm9ybmljaS5waHAKKworIyAyLnN0IG11bHRpcGxleCAoY29tbWVyY2lhbCkgLSBvbiBjaGFubmVsIDU5CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIDMuc3QgbXVsdGlwbGV4IChwdWJsaWMpIC0gb24gY2hhbm5lbCAyNQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stTHVjZW5lYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stTHVjZW5lYwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xMjI1ZWFjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1MdWNlbmVjCkBAIC0wLDAgKzEsMzAgQEAKKyMgRFZCLVQgTHVjZW5lYyAoTHVjZW5lYywgU2xvdmFrIFJlcHVibGljKQorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy5kdmJ0LnRvd2VyY29tLnNrL29kYm9ybmljaS5waHAKKworIyAyLnN0IG11bHRpcGxleCAoY29tbWVyY2lhbCkgLSBvbiBjaGFubmVsIDYwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIDMuc3QgbXVsdGlwbGV4IChwdWJsaWMpIC0gb24gY2hhbm5lbCAzMworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stTWVkemV2IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1NZWR6ZXYKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTJlMTliYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stTWVkemV2CkBAIC0wLDAgKzEsMzAgQEAKKyMgRFZCLVQgTWVkemV2IChNZWR6ZXYsIFNsb3ZhayBSZXB1YmxpYykKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cuZHZidC50b3dlcmNvbS5zay9vZGJvcm5pY2kucGhwCisKKyMgMi5zdCBtdWx0aXBsZXggKGNvbW1lcmNpYWwpIC0gb24gY2hhbm5lbCA1OQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyAzLnN0IG11bHRpcGxleCAocHVibGljKSAtIG9uIGNoYW5uZWwgMjUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLU5hbWVzdG92byBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stTmFtZXN0b3ZvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmVhNzZjMTAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLU5hbWVzdG92bwpAQCAtMCwwICsxLDMwIEBACisjIERWQi1UIE5hbWVzdG92byAoTmFtZXN0b3ZvLCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgNTkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDI2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1OaXRyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stTml0cmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTgyMzQyNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stTml0cmEKQEAgLTAsMCArMSwzMCBAQAorIyBEVkItVCBOaXRyYSAoTml0cmEsIFNsb3ZhayBSZXB1YmxpYykKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cuZHZidC50b3dlcmNvbS5zay9vZGJvcm5pY2kucGhwCisKKyMgMi5zdCBtdWx0aXBsZXggKGNvbW1lcmNpYWwpIC0gb24gY2hhbm5lbCAyMQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyAzLnN0IG11bHRpcGxleCAocHVibGljKSAtIG9uIGNoYW5uZWwgNDgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVBvcHJhZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stUG9wcmFkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNjZWMzNTAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVBvcHJhZApAQCAtMCwwICsxLDQyIEBACisjIERWQi1UIFBvcHJhZCAoUG9wcmFkLCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgNTUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDI0LzU0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stUG92YXpza2FCeXN0cmljYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stUG92YXpza2FCeXN0cmljYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kMzI3NTllCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1Qb3ZhenNrYUJ5c3RyaWNhCkBAIC0wLDAgKzEsMzAgQEAKKyMgRFZCLVQgUG92YXpza2EgQnlzdHJpY2EgKFBvdmF6c2thIEJ5c3RyaWNhLCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgNTIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDMyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1QcmVzb3YgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVByZXNvdgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wZjBhMzZlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1QcmVzb3YKQEAgLTAsMCArMSwzMCBAQAorIyBEVkItVCBQcmXFoW92IChQcmXFoW92LCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIE1VWDIgLSBDb21tZXJjaWFsIC0gb24gY2hhbm5lbCA1OQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBNVVgzIC0gUHVibGljIC0gb24gY2hhbm5lbCAyNQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stUHJpZXZpZHphIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1QcmlldmlkemEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGFmYmMxZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stUHJpZXZpZHphCkBAIC0wLDAgKzEsMzAgQEAKKyMgRFZCLVQgUHJpZXZpZHphIChQcmlldmlkemEsIFNsb3ZhayBSZXB1YmxpYykKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cuZHZidC50b3dlcmNvbS5zay9vZGJvcm5pY2kucGhwCisKKyMgMi5zdCBtdWx0aXBsZXggKGNvbW1lcmNpYWwpIC0gb24gY2hhbm5lbCA1MgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyAzLnN0IG11bHRpcGxleCAocHVibGljKSAtIG9uIGNoYW5uZWwgNTcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVJldnVjYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stUmV2dWNhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRmNzk3Y2UKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVJldnVjYQpAQCAtMCwwICsxLDMwIEBACisjIERWQi1UIFJldnVjYSAoUmV2dWNhLCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgMjcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDU0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1Sb3puYXZhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1Sb3puYXZhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZjMDlhYWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVJvem5hdmEKQEAgLTAsMCArMSwzMCBAQAorIyBEVkItVCBSb3puYXZhIChSb3puYXZhLCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgMjcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDU0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1SdXpvbWJlcm9rIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1SdXpvbWJlcm9rCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZjMmM2NjgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVJ1em9tYmVyb2sKQEAgLTAsMCArMSwzMCBAQAorIyBEVkItVCBSdXpvbWJlcm9rIChSdXpvbWJlcm9rLCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgNTkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDI2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1TbmluYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stU25pbmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjBmMTU4NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stU25pbmEKQEAgLTAsMCArMSwzMCBAQAorIyBEVkItVCBTbmluYSAoU25pbmEsIFNsb3ZhayBSZXB1YmxpYykKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cuZHZidC50b3dlcmNvbS5zay9vZGJvcm5pY2kucGhwCisKKyMgMi5zdCBtdWx0aXBsZXggKGNvbW1lcmNpYWwpIC0gb24gY2hhbm5lbCA1OQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyAzLnN0IG11bHRpcGxleCAocHVibGljKSAtIG9uIGNoYW5uZWwgMjUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVN0YXJhTHVib3ZuYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stU3RhcmFMdWJvdm5hCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmIxY2Y3NDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVN0YXJhTHVib3ZuYQpAQCAtMCwwICsxLDMwIEBACisjIERWQi1UIFN0YXJhIEx1Ym92bmEgKFN0YXJhIEx1Ym92bmEsIFNsb3ZhayBSZXB1YmxpYykKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cuZHZidC50b3dlcmNvbS5zay9vZGJvcm5pY2kucGhwCisKKyMgMi5zdCBtdWx0aXBsZXggKGNvbW1lcmNpYWwpIC0gb24gY2hhbm5lbCA1NQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyAzLnN0IG11bHRpcGxleCAocHVibGljKSAtIG9uIGNoYW5uZWwgMjQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVN0dXJvdm8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVN0dXJvdm8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjU0ZjhkZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stU3R1cm92bwpAQCAtMCwwICsxLDMwIEBACisjIERWQi1UIFN0dXJvdm8gKFN0dXJvdm8sIFNsb3ZhayBSZXB1YmxpYykKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cuZHZidC50b3dlcmNvbS5zay9vZGJvcm5pY2kucGhwCisKKyMgMi5zdCBtdWx0aXBsZXggKGNvbW1lcmNpYWwpIC0gb24gY2hhbm5lbCAyMQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyAzLnN0IG11bHRpcGxleCAocHVibGljKSAtIG9uIGNoYW5uZWwgNDgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVRyZW5jaW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVRyZW5jaW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODA1MDM4YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stVHJlbmNpbgpAQCAtMCwwICsxLDMwIEBACisjIERWQi1UIFRyZW5jaW4gKFRyZW5jaW4sIFNsb3ZhayBSZXB1YmxpYykKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cuZHZidC50b3dlcmNvbS5zay9vZGJvcm5pY2kucGhwCisKKyMgMi5zdCBtdWx0aXBsZXggKGNvbW1lcmNpYWwpIC0gb24gY2hhbm5lbCA1MgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyAzLnN0IG11bHRpcGxleCAocHVibGljKSAtIG9uIGNoYW5uZWwgNTcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVppbGluYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stWmlsaW5hCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU4ZDQ4NmQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVppbGluYQpAQCAtMCwwICsxLDMwIEBACisjIERWQi1UIFppbGluYSAoWmlsaW5hLCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgNTIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDMyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC90dy1BbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3R3LUFsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zZTE4MTY3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC90dy1BbGwKQEAgLTAsMCArMSwxMzIgQEAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzMwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM5MDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NTAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDYwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTEwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU3MDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MzAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDYwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjkwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc1MDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4MTAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDYwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODcwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTkzMDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91YS1LaGFya292IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91YS1LaGFya292Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM4YzZiMDcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VhLUtoYXJrb3YKQEAgLTAsMCArMSw0OSBAQAorIyBVa3JhaW5lLCBLaGFya292CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzUKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNQorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy81CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzUKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWEtS2lldiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWEtS2lldgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42YmYwOTZiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91YS1LaWV2CkBAIC0wLDAgKzEsNDkgQEAKKyMgVWtyYWluZSwgS2lldgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy81CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzUKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNQorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy81CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VhLUxvem92YXlhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91YS1Mb3pvdmF5YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iZTdkOWI5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91YS1Mb3pvdmF5YQpAQCAtMCwwICsxLDQ5IEBACisjIFVrcmFpbmUsIExvem92YXlhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzUKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNQorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy81CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzUKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWEtT2Rlc3NhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91YS1PZGVzc2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTZmMDBmYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWEtT2Rlc3NhCkBAIC0wLDAgKzEsNDkgQEAKKyMgVWtyYWluZSwgT2Rlc3NhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzUKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNQorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy81CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzUKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWctQWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91Zy1BbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2UyYTI4NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWctQWxsCkBAIC0wLDAgKzEsNDUgQEAKKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyCTogS2FtcGFsYS1VZ2FuZGEKKyMgZGF0ZQkJCTogMjAxMy0xMS0wMQorIyBwcm92aWRlZCBieQkJOiBKb3NlcGggWmlrdXNvb2thCisjIAkgICAgICAgICAgICAgICAJOiBodHRwOi8vam9zZXBoLnppa3Vzb29rYS5jb20KKyMgCSAgICAgICAgICAgICAgIAk6IGpvc2VwaEB6aWt1c29va2EuY29tCisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbVUNDIFByaW1hcnldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFQU0sKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gQVVUTworCVNUUkVBTV9JRCA9IDEKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBBVVRPCisJU1RSRUFNX0lEID0gOQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1BYmVyZGFyZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQWJlcmRhcmUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTBjMDhiMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQWJlcmRhcmUKQEAgLTAsMCArMSw4MSBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0NGNDQrMERBL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgQWJlcmRhcmUKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyNC0gQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5NzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIxKyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNSsgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMisgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI4KyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjctIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTIxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUFuZ3VzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1Bbmd1cwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xMTI3ZTM2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1Bbmd1cwpAQCAtMCwwICsxLDk0IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvREQ0oDBSUS9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIEFuZ3VzCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNS0wMS0xNworIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNjAtIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMSBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU0IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTggQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ5IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CZWFjb25IaWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CZWFjb25IaWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU0OWIzYzkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUJlYWNvbkhpbGwKQEAgLTAsMCArMSw5NCBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L1RRM6AxUlQvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBCZWFjb24gSGlsbAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTUtMDEtMTcKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzYwLSBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTMrIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMzIENPTTcgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDIgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NSBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTEgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU3KyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc2MjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CZWxtb250IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CZWxtb250Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQxN2MzY2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUJlbG1vbnQKQEAgLTAsMCArMSw5NCBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0xOOKA2SlQvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBCZWxtb250CisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDMjIgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI1IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMzIENPTTcgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzAtIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTMgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzYwLSBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjggQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQmlsc2RhbGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUJpbHNkYWxlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI4MTY0Y2MKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUJpbHNkYWxlCkBAIC0wLDAgKzEsOTQgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9UUzmgN0pTL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgQmlsc2RhbGUKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyNiBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjkgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzEgQ09NNyBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ2IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MCBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjMgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQmxhY2tIaWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CbGFja0hpbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjk3YzI2ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQmxhY2tIaWxsCkBAIC0wLDAgKzEsMTA2IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvTUw3oDROWi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIEJsYWNrIEhpbGwKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M0NiBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDMgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzIgQ09NNyBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MSsgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NCBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDcgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQwIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUxIEwtR0xXXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQmxhZW5wbHd5ZiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQmxhZW5wbHd5ZgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41YTU2OWMyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CbGFlbnBsd3lmCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9TWTIzoDRRSC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIEJsYWVucGx3eWYKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyNyBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjQgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjUgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMiBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjggQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIxKyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ3NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CbHVlYmVsbEhpbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUJsdWViZWxsSGlsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MzBhZTc1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CbHVlYmVsbEhpbGwKQEAgLTAsMCArMSw5NCBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L01FNaA5UkQvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBCbHVlYmVsbCBIaWxsCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNS0wMS0xNworIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNDYgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQzIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMyIENPTTcgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDUgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzOSsgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU0IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MCsgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MjYxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQnJlc3NheSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQnJlc3NheQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45Yzk1MjM0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CcmVzc2F5CkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9aRTKgOUVML05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgQnJlc3NheQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI4IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNSBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI0IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMSsgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIyKyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ4MjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CcmllcmxleUhpbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUJyaWVybGV5SGlsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNGZiYzkwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CcmllcmxleUhpbGwKQEAgLTAsMCArMSw5MyBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0RZNaAyUEQvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBCcmllcmxleSBIaWxsCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNjAtIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NysgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTAgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1OS0gQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3NzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU1IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOSBMLUJSTV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUVBTSworCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUJyaXN0b2xJbGNoZXN0ZXJDcmVzY2VudCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQnJpc3RvbElsY2hlc3RlckNyZXNjZW50Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZhMjY4ZmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUJyaXN0b2xJbGNoZXN0ZXJDcmVzY2VudApAQCAtMCwwICsxLDkzIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvQlMxM6A3SFUvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBCcmlzdG9sIElsY2hlc3RlciBDcmVzY2VudAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzQxKyBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDQgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDIrIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDUgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzM5KyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDcgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzAgTC1CU0xdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFQU0sKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CcmlzdG9sS2luZ3NXZXN0b24gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUJyaXN0b2xLaW5nc1dlc3RvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YWJkMjJhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CcmlzdG9sS2luZ3NXZXN0b24KQEAgLTAsMCArMSw5MyBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0JTOaAyUVkvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBCcmlzdG9sIEtpbmdzIFdlc3RvbgorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzQzIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MCBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU3IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M2MC0gQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ2IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMwIEwtQlNMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQnJvbXNncm92ZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQnJvbXNncm92ZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44OTU2ZWRlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1Ccm9tc2dyb3ZlCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9CNjGgOUpEL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgQnJvbXNncm92ZQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI2IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MSsgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NCBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDcgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMwLSBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU0NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1Ccm91Z2hlck1vdW50YWluIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1Ccm91Z2hlck1vdW50YWluCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjk5YzA0YTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUJyb3VnaGVyTW91bnRhaW4KQEAgLTAsMCArMSw5NCBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0JUNzigM1NHL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgQnJvdWdoZXIgTW91bnRhaW4KKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyOCBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjIrIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIxKyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI0IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjUgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzAtIE5JIG11eF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU0NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFQU0sKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1DYWxkYmVjayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQ2FsZGJlY2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzc1YzNkMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQ2FsZGJlY2sKQEAgLTAsMCArMSw5NCBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0NBN6A4RFcvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBDYWxkYmVjaworIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTUtMDEtMTcKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI1LSBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjgtIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyOTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMyIENPTTcgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjMtIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDg5ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjYtIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTM4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOS0gQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzNzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMwLSBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU0NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1DYXJhZG9uSGlsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQ2FyYWRvbkhpbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTIxNmFhNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQ2FyYWRvbkhpbGwKQEAgLTAsMCArMSw5NCBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L1BMMTSgNUxUL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgQ2FyYWRvbiBIaWxsCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNS0wMS0xNworIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDMjgrIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNSsgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzEgQ09NNyBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMSsgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNC0gQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5NzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI3LSBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjIrIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDgyMTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUNhcm1lbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQ2FybWVsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjllNzhkZmQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUNhcm1lbApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvU0ExNKA3TkEvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBDYXJtZWwKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M2MC0gQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUzIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU0IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTggQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ5IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1DaGF0dG9uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1DaGF0dG9uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRkNDBhNDYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUNoYXR0b24KQEAgLTAsMCArMSw4MSBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L05FNjegNUpEL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgQ2hhdHRvbgorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzQ1IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MiBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MSBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ0IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzkrIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjE4MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUNoZXN0ZXJmaWVsZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQ2hlc3RlcmZpZWxkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM4YmVkYjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUNoZXN0ZXJmaWVsZApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvUzE4oDRCVC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIENoZXN0ZXJmaWVsZAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI2IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ2IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MCBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjkgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQ3JhaWdrZWxseSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQ3JhaWdrZWxseQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44MjQ5NDgxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1DcmFpZ2tlbGx5CkBAIC0wLDAgKzEsMTA2IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvS1kzoDlIVy9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIENyYWlna2VsbHkKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyNyBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjQgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzMgQ09NNyBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MiBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ1IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzOSsgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIxKyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ3NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMCBMLUVETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUVBTSworCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUNyeXN0YWxQYWxhY2UgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUNyeXN0YWxQYWxhY2UKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2QxN2RkOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQ3J5c3RhbFBhbGFjZQpAQCAtMCwwICsxLDk0IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvU0UxOaAxVUUvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBDcnlzdGFsIFBhbGFjZQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzIzIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNiBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMyBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI1IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjIgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI4LSBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTI5ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzAtIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTQ1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLURhcnZlbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstRGFydmVsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAxNWY5ZmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLURhcnZlbApAQCAtMCwwICsxLDk0IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvS0ExNqA5TFMvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBEYXJ2ZWwKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE1LTAxLTE3CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyMi0gQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI1IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMxIENPTTcgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjMgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNiBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjkgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI4IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLURpdmlzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1EaXZpcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40ZGJjNmM1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1EaXZpcwpAQCAtMCwwICsxLDk0IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvQlQxN6AwTkcvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBEaXZpcworIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI3IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMSsgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzMgQ09NNyBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI2IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOSBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjQgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstRG92ZXIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLURvdmVyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE1ZmQyNzAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLURvdmVyCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9DVDE1oDdBUS9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIERvdmVyCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNTAgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUxIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU1IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTkgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ4IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1EdXJyaXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUR1cnJpcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ZWNkYzcwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1EdXJyaXMKQEAgLTAsMCArMSw5NCBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0FCMzmgM1RIL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgRHVycmlzCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNS0wMS0xNworIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDMjggQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI1IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMyIENPTTcgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjMgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNiBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjkgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIyIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUVpdHNoYWwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUVpdHNoYWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzkwMWMxMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstRWl0c2hhbApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvSFMyoDlKVy9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIEVpdHNoYWwKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyNiBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjMgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjUgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMiBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjggQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI5IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUVtbGV5TW9vciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstRW1sZXlNb29yCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM5YzAxZDcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUVtbGV5TW9vcgpAQCAtMCwwICsxLDEwNiBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0hEOKA5VEYvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBFbWxleSBNb29yCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNDcgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ0IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMyIENPTTcgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTEgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MiBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDggQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQxIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU2IEwtTERTXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstRmVuaGFtIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1GZW5oYW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGQwNTRmNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstRmVuaGFtCkBAIC0wLDAgKzEsOTQgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9ORTE1oDZQTC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIEZlbmhhbQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTUtMDEtMTcKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI3IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNCBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMSBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI1IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjIrIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOCBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjErIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDc0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUZlbnRvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstRmVudG9uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhjMGE1NDMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUZlbnRvbgpAQCAtMCwwICsxLDk0IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvU1Q0oDJOWC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIEZlbnRvbgorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTUtMDEtMTcKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI0IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMiBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI1IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjIrIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOCBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjErIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDc0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUZlcnJ5c2lkZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstRmVycnlzaWRlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjcxYzJlMTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUZlcnJ5c2lkZQpAQCAtMCwwICsxLDU3IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvU0ExNys1VVIvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBGZXJyeXNpZGUKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyMSsgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMwLSBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI0IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUd1aWxkZm9yZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstR3VpbGRmb3JkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFiNTYxNjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUd1aWxkZm9yZApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvR1UyoDdSVy9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIEd1aWxkZm9yZAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzQzIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NiBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0OCBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUyIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0OSBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDAgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstSGFubmluZ3RvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstSGFubmluZ3RvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kM2JiYzc1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1IYW5uaW5ndG9uCkBAIC0wLDAgKzEsOTQgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9SRzI2oDVVRC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIEhhbm5pbmd0b24KKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M0NSBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDIgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzIgQ09NNyBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MSBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ0IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzkrIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjE4MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUhhc3RpbmdzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1IYXN0aW5ncwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41MjBjODZhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1IYXN0aW5ncwpAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvVE4zNKAxTEUvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBIYXN0aW5ncworIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI1IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOCBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI2IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMC0gQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIyIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUhlYXRoZmllbGQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUhlYXRoZmllbGQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmRhNmZlMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstSGVhdGhmaWVsZApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvVE4yMaAwVUcvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBIZWF0aGZpZWxkCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNTIgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ5IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQyIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDQgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQxIEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1IZW1lbEhlbXBzdGVhZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstSGVtZWxIZW1wc3RlYWQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDExNmQ0ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstSGVtZWxIZW1wc3RlYWQKQEAgLTAsMCArMSw4MSBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0hQM6A4U0EvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBIZW1lbCBIZW1wc3RlYWQKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M0NCBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDEgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTAgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1OSBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTUgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ3IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUh1bnRzaGF3Q3Jvc3MgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUh1bnRzaGF3Q3Jvc3MKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2IyYjk2NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstSHVudHNoYXdDcm9zcwpAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvRVgzMaAzTkQvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBIdW50c2hhdyBDcm9zcworIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzUwIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1OS0gRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc3ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDggU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MiBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTYrIEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NS0gQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NDU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstSWRsZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstSWRsZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lNzM2Y2E5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1JZGxlCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9CRDE4oDFKUC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIElkbGUKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyNCBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjEgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDIgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NSBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzkgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI3IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUtlZWx5bGFuZ0hpbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUtlZWx5bGFuZ0hpbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWM5MGI1ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstS2VlbHlsYW5nSGlsbApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvS1cxNaAxU0YvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBLZWVseWxhbmcgSGlsbAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzQ2IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MiBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ1IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzOSsgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQwKyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYyNjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1LZWlnaGxleSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstS2VpZ2hsZXkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWI4NjQ0OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstS2VpZ2hsZXkKQEAgLTAsMCArMSw4MSBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0JEMjCgNVJML05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgS2VpZ2hsZXkKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M0OSBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTggRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTcgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MyBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjAtIEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NCBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1LaWx2ZXlIaWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1LaWx2ZXlIaWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU5MTllZTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUtpbHZleUhpbGwKQEAgLTAsMCArMSw4MSBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L1NBMaA3QkwvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBLaWx2ZXkgSGlsbAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzIzIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNiBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNSBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIyIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOCBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjkgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstS25vY2tNb3JlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1Lbm9ja01vcmUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2Q3ZTQxZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstS25vY2tNb3JlCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9BQjU1oDZYUC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIEtub2NrbW9yZQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI2IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU3IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M2MC0gQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI5IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUxhbmNhc3RlciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTGFuY2FzdGVyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA2OTRlN2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUxhbmNhc3RlcgpAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvTEE1oDhBRi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIExhbmNhc3RlcgorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI3LSBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjQtIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5NzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI1KyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI4KyBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjIrIEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMSsgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0NzQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTGFya1N0b2tlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1MYXJrU3Rva2UKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2Q3YTZmYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTGFya1N0b2tlCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9HTDU1oDZMUy9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIExhcmsgU3Rva2UKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyNiBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjMgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDErIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDQgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ3IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMC0gQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NDU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTGltYXZhZHkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUxpbWF2YWR5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjk3N2I5NzMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUxpbWF2YWR5CkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9CVDQ5oDlMSi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIExpbWF2YWR5CisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNTAgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU5IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU0IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTggQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ5IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NSBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1MbGFuZGRvbmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUxsYW5kZG9uYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44ODA2N2VlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1MbGFuZGRvbmEKQEAgLTAsMCArMSw4MSBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0xMNTigOFlCL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgTGxhbmRkb25hCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNTcgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzYwLSBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ2IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MCBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTMgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTWFsdmVybiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTWFsdmVybgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NmMxMGUyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1NYWx2ZXJuCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9XUjE0oDRBRC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIE1hbHZlcm4KKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M1MyBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTcgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTAgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1OS0gQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3NzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU1IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M2MC0gQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3ODU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTWVuZGlwIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1NZW5kaXAKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGQzODQ5YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTWVuZGlwCkBAIC0wLDAgKzEsOTQgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9CQTWgM0xCL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgTWVuZGlwCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNS0wMS0xNworIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNDkgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU0IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMzIENPTTcgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDggU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NiBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTIgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU4IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLU1pZGh1cnN0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1NaWRodXJzdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNzQxNmFkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1NaWRodXJzdApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvR1UyOKA5RUEvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBNaWRodXJzdAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzU1IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NiBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NCBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU5IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MCBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTggQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTW9lbHlQYXJjIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1Nb2VseVBhcmMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTIzMDBiNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTW9lbHlQYXJjCkBAIC0wLDAgKzEsOTQgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9DSDegNVVVL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgTW9lbCB5IFBhcmMKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE1LTAxLTE3CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M0NSBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzkrIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMyIENPTTcgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTEtIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzEzODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTIrIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0OC0gQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4OTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQyIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLU5vdHRpbmdoYW0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLU5vdHRpbmdoYW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODExMmVjNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTm90dGluZ2hhbQpAQCAtMCwwICsxLDkzIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvTkcxNqAyU1UvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBOb3R0aW5naGFtCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDMjcgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI0IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUxIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTIgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ4IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMSsgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0NzQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTAgTC1OT1RdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFQU0sKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1PbGl2ZXJzTW91bnQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLU9saXZlcnNNb3VudApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44OThlMjlhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1PbGl2ZXJzTW91bnQKQEAgLTAsMCArMSw4MSBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L1lPMTGgMlRaL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgT2xpdmVycyBNb3VudAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzU3IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M2MC0gRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTQgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1OCBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDkgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUzIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLU94Zm9yZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstT3hmb3JkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjEyNzQzNDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLU94Zm9yZApAQCAtMCwwICsxLDEwNiBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L09YM6A5U1MvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBPeGZvcmQKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE1LTAxLTE3CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M1MysgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzYwLSBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMSBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUwIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTktIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3Nzc4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NSBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTcgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjkgTC1PRkRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFQU0sKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1QZW5kbGVGb3Jlc3QgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVBlbmRsZUZvcmVzdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43YmNkZDVhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1QZW5kbGVGb3Jlc3QKQEAgLTAsMCArMSw4MSBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0JCMTKgOVBXL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgUGVuZGxlIEZvcmVzdAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI4KyBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjUrIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI3LSBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIxKyBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjQtIEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTc4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMisgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0ODIxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUGx5bXB0b24gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVBseW1wdG9uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQzYmNlOTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVBseW1wdG9uCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9QTDegMVRUL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgUGx5bXB0b24KKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M1NCBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDkgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDIgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NSBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTYgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU4IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVBvbnRvcFBpa2UgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVBvbnRvcFBpa2UKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmNlYjIyOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUG9udG9wUGlrZQpAQCAtMCwwICsxLDEwNiBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0RIOaA5QVQvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBQb250b3AgUGlrZQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzU4IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NCBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMyBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUwIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTkgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU1IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0OSBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NiBMLU5DTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUVBTSworCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVBvbnR5cG9vbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUG9udHlwb29sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI2NmM4MzcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVBvbnR5cG9vbApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvTlA0oDVYSi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFBvbnR5cG9vbAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzIzKyBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjYrIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI1LSBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIyLSBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjgtIEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1Mjk4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOSsgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MzgxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUHJlc2VsaSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUHJlc2VsaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43MmU3MWMyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1QcmVzZWxpCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9TQTQxoDNRUi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFByZXNlbGkKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M0MysgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ2KyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0Mi0gU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDE4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NS0gQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzM5KyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDArIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjI2MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVJlZHJ1dGggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVJlZHJ1dGgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjUwY2E2MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUmVkcnV0aApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvVFIxNqA2UVovTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBSZWRydXRoCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNDQrIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MSsgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDggU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MiBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTEgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ3IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVJlaWdhdGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVJlaWdhdGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjg0NWQzNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUmVpZ2F0ZQpAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvUkgyoDlSTi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFJlaWdhdGUKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M2MC0gQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU3IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIxKyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI0IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTMgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUmlkZ2VIaWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1SaWRnZUhpbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWJiMDk3MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUmlkZ2VIaWxsCkBAIC0wLDAgKzEsOTQgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9IUjigMlBHL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgUmlkZ2UgSGlsbAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTUtMDEtMTcKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI4IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNSBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMiBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIxKyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI0IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjIrIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDgyMTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVJvc2VtYXJraWUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVJvc2VtYXJraWUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2ZiZDdlMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUm9zZW1hcmtpZQpAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvSVYxMaA4WFkvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBSb3NlbWFya2llCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNDUgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzM5KyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ2IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MCsgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQyIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVJvc25lYXRoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1Sb3NuZWF0aApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZjAwNmU3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1Sb3NuZWF0aApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvRzg0oDBMRi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFJvc25lYXRoCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNS0wMS0xNworIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNDkgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU4IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUzIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTcgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzYwLSBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTQgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUm93cmlkZ2UgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVJvd3JpZGdlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE2Zjc4MWQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVJvd3JpZGdlCkBAIC0wLDAgKzEsMTA2IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvUE8zMKA0SFQvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBSb3dyaWRnZQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI0IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMSBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI1IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjIrIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOCBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjErIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDc0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI5IEwtU09UXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUnVtc3RlckZvcmVzdCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUnVtc3RlckZvcmVzdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xZjIyOWNkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1SdW1zdGVyRm9yZXN0CkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9LVzWgNkRKL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgUnVtc3RlciBGb3Jlc3QKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyNyBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjQgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzAtIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTkgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU1IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMSsgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0NzQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU2FkZGxld29ydGggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVNhZGRsZXdvcnRoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZhNGIyZDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVNhZGRsZXdvcnRoCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9PTDOgNVJVL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgU2FkZGxld29ydGgKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M0NSBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzkrIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUxLSBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxMzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUyKyBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDggQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQyIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVNhbGlzYnVyeSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU2FsaXNidXJ5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE3ZjI0YTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVNhbGlzYnVyeQpAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvU1AyoDhOWi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFNhbGlzYnVyeQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzU3IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M2MC0gRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTAgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1OS0gQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3NzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU1IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1TYW5keUhlYXRoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1TYW5keUhlYXRoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjViMzQyMzAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVNhbmR5SGVhdGgKQEAgLTAsMCArMSw5NCBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L1NHMTmgMk5IL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgU2FuZHkgSGVhdGgKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyNyBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjQgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzIgQ09NNyBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MSBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUyIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0OCBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjErIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDc0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVNlbGtpcmsgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVNlbGtpcmsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWU0ZDgyMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU2Vsa2lyawpAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvVEQ3oDRRTi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFNlbGtpcmsKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M1MCBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTktIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3NzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU3IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTMgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzYwLSBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTUgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU2hlZmZpZWxkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1TaGVmZmllbGQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2MzMTIwNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU2hlZmZpZWxkCkBAIC0wLDAgKzEsMTA2IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvUzEwoDVHTC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFNoZWZmaWVsZAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTUtMDEtMTcKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI3IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNCBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMSBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQyIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDUgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzM5KyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjErIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDc0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU1IEwtU0ZEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU3RvY2tsYW5kSGlsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU3RvY2tsYW5kSGlsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YjlhZDVhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1TdG9ja2xhbmRIaWxsCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9FWDE0oDlFUC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFN0b2NrbGFuZCBIaWxsCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDMjYrIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMysgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjUtIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjItIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOC0gQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI5KyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1TdG9yZXRvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU3RvcmV0b24KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTVmODg2OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU3RvcmV0b24KQEAgLTAsMCArMSw5MyBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0NINjOgMlJIL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgU3RvcmV0b24KKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyOCBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjUgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjMgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNiBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjkgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIyIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMwIEwtTElWXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU3VkYnVyeSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU3VkYnVyeQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zYmUwOTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1TdWRidXJ5CkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9DTzEwoDVORy9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFN1ZGJ1cnkKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M0NCBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDEgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTggU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M2MC0gQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU2IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1TdXR0b25Db2xkZmllbGQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVN1dHRvbkNvbGRmaWVsZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mZjFkZWVkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1TdXR0b25Db2xkZmllbGQKQEAgLTAsMCArMSwxMDYgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9CNzWgNUpKL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgU3V0dG9uIENvbGRmaWVsZAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzQzIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NiBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMyBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQyIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDUgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzM5KyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDArIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjI2MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUxIEwtQlJNXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstVGFjb2xuZXN0b24gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVRhY29sbmVzdG9uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFmNjY0YjgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVRhY29sbmVzdG9uCkBAIC0wLDAgKzEsOTQgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9OUjE2oDFEVy9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFRhY29sbmVzdG9uCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNS0wMS0xNworIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNTUtIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1OS0gRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc3ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzEgQ09NNyBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MiBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ1IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzOSsgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUwIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVRoZVdyZWtpbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstVGhlV3Jla2luCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZlNTg3ODkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVRoZVdyZWtpbgpAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvVEY2oDVBSC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFRoZSBXcmVraW4KKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyNiBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjMgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDErIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDQgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ3IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMC0gQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NDU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstVG9yb3NheSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstVG9yb3NheQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43NGI5NmU0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1Ub3Jvc2F5CkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9QQTY1oDZBWi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFRvcm9zYXkKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyOCBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjUgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjMgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNiBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjkgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIyIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVR1bmJyaWRnZVdlbGxzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1UdW5icmlkZ2VXZWxscwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40N2VkMjgyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1UdW5icmlkZ2VXZWxscwpAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvVE4xMaAwTkIvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBUdW5icmlkZ2UgV2VsbHMKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M1MiBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDkgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDIgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NCBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDEgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ3IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVdhbHRoYW0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVdhbHRoYW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzg5YWU2OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstV2FsdGhhbQpAQCAtMCwwICsxLDEwNiBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0xFMTSgNEFKL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgV2FsdGhhbQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzQ5IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NC0gRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM3ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzEgQ09NNyBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOSBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU2IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTggQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjYgTC1OT1RdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFQU0sKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1XZW52b2UgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVdlbnZvZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ZDIxYjdhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1XZW52b2UKQEAgLTAsMCArMSwxMDYgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9DRjWgNlNBL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgV2Vudm9lCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNDErIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NCBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMSBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQyKyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ1IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzOSsgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ3IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUxIEwtQ0RGXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstV2hpdGVoYXdrSGlsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstV2hpdGVoYXdrSGlsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zY2JhYmJiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1XaGl0ZWhhd2tIaWxsCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9CTjKgNUVML05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgV2hpdGVoYXdrIEhpbGwKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M2MC0gQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUzIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU3IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTYgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ4IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MSBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1XaW50ZXJIaWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1XaW50ZXJIaWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE1NTQ2ZDcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVdpbnRlckhpbGwKQEAgLTAsMCArMSw5NCBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0JMNqA2U0wvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBXaW50ZXIgSGlsbAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzUwIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1OSBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMSBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU4IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDkgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU1IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NC0gQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3Mzc4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdm4tSGFub2kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3ZuLUhhbm9pCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFiYjk2OTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3ZuLUhhbm9pCkBAIC0wLDAgKzEsMjYgQEAKKyMgSGFub2kgLSBWaWV0bmFtIC0gRFZCLVQgYnkgVlRDCisjIGNvbnRyaWJ1dGVkIGJ5IFBoYW0gVGhhbmggTmFtIDxwaGFtdGhhbmhuYW0ucHRuQGdtYWlsLmNvbT4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3ZuLVRoYWliaW5oIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC92bi1UaGFpYmluaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mMzQwOTQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC92bi1UaGFpYmluaApAQCAtMCwwICsxLDI2IEBACisjIFRoYWliaW5oIC0gVmlldG5hbSAtIERWQi1UIGJ5IFZUQworIyBjb250cmlidXRlZCBieSBQaGFtIFRoYW5oIE5hbSA8cGhhbXRoYW5obmFtLnB0bkBnbWFpbC5jb20+CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mYWFjL2ZhYWNfMS4yOS45LjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZhYWMvZmFhY18xLjI5LjkuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzhiZGE5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mYWFjL2ZhYWNfMS4yOS45LjIuYmIKQEAgLTAsMCArMSwyNyBAQAorU1VNTUFSWSA9ICJGcmVld2FyZSBBZHZhbmNlZCBBdWRpbyBDb2RlciAoTVBFRzItQUFDLCBNUEVHNC1BQUMpIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJMR1BMdjIrIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5hdWRpb2NvZGluZy5jb20vZmFhYy5odG1sIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9M2JmNTAwMDJhZWZkMDAyZjQ5ZTdiYjg1NDA2M2Y3ZTcgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGliZmFhYy9jb2Rlci5oO2JlZ2lubGluZT01O2VuZGxpbmU9MTc7bWQ1PWZhMWZkNmE1ZmE4Y2RjODc3ZDYzYTEyNTMwZDI3M2UwIgorCitMSUNFTlNFX0ZMQUdTID0gImNvbW1lcmNpYWwiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK1NSQ19VUkkgPSAiIFwKKyAgICAke1NPVVJDRUZPUkdFX01JUlJPUn0vZmFhYy8ke0JQfS50YXIuZ3ogXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMmI1OGQ2MjFmYWQ4ZmRhODc5ZjA3YjdjYWQ4YmZlMTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDQ1ZjIwOWQ4MzdjNDlkYWU2ZGVlYmNkZDg3YjhjYzNiMDRlYTI5MDg4MDM1OGZhZWNmNWU3NzM3NzQwYzc3MSIKKworUEFDS0FHRVMgPSsgImxpYiR7QlBOfSBsaWIke0JQTn0tZGV2IgorCitGSUxFU18ke1BOfSA9ICIgJHtiaW5kaXJ9L2ZhYWMgIgorRklMRVNfbGliJHtCUE59ID0gIiAke2xpYmRpcn0vKi5zby4qIgorRklMRVNfbGliJHtCUE59LWRldiA9ICIgXAorICAgICR7aW5jbHVkZWRpcn0gXAorICAgICR7bGliZGlyfS8qLnNvIFwKKyAgICAke2xpYmRpcn0vKi5sYSBcCisiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZhYWMvZmFhY18xLjI5LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mYWFjL2ZhYWNfMS4yOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDM2ZjJmNC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZhYWMvZmFhY18xLjI5LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotU1VNTUFSWSA9ICJGcmVld2FyZSBBZHZhbmNlZCBBdWRpbyBDb2RlciAoTVBFRzItQUFDLCBNUEVHNC1BQUMpIgotU0VDVElPTiA9ICJsaWJzIgotTElDRU5TRSA9ICJMR1BMdjIrIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5hdWRpb2NvZGluZy5jb20vZmFhYy5odG1sIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9M2JmNTAwMDJhZWZkMDAyZjQ5ZTdiYjg1NDA2M2Y3ZTcgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGliZmFhYy9jb2Rlci5oO2JlZ2lubGluZT01O2VuZGxpbmU9MTc7bWQ1PWZhMWZkNmE1ZmE4Y2RjODc3ZDYzYTEyNTMwZDI3M2UwIgotCi1MSUNFTlNFX0ZMQUdTID0gImNvbW1lcmNpYWwiCi0KLWluaGVyaXQgYXV0b3Rvb2xzCi0KLVNSQ19VUkkgPSAiIFwKLSAgICAke1NPVVJDRUZPUkdFX01JUlJPUn0vZmFhYy8ke0JQfS50YXIuZ3ogXAotICAgIGZpbGU6Ly8wMDAxLW1wNHYyLURlZmluZS1fX1NUUklORy1pZi1jZGVmcy5oLWRvZXMtbm90LWV4aXN0LnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjc4NjAzNzIwZjY1NTE4MDA1OWQ2OTcwYzU4MmEzMDA1IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhjYzdiMDNjZWIyNzIyMjIzYTY0NTdlOTVkNGM5OTQ3MzFkODAyMTRhMDNiYTMzZDFhZjc2YmE1M2Y0YjMxOTciCi0KLUVYVFJBX09FQ09ORiArPSAiLS13aXRob3V0LW1wNHYyIgotCi1QQUNLQUdFUyA9KyAibGliJHtCUE59IGxpYiR7QlBOfS1kZXYiCi0KLUZJTEVTXyR7UE59ID0gIiAke2JpbmRpcn0vZmFhYyAiCi1GSUxFU19saWIke1BOfSA9ICIgJHtsaWJkaXJ9Lyouc28uKiIKLUZJTEVTX2xpYiR7UE59LWRldiA9ICIgXAotICAgICR7aW5jbHVkZWRpcn0gXAotICAgICR7bGliZGlyfS8qLnNvIFwKLSAgICAke2xpYmRpcn0vKi5sYSBcCi0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZhYWMvZmlsZXMvMDAwMS1tcDR2Mi1EZWZpbmUtX19TVFJJTkctaWYtY2RlZnMuaC1kb2VzLW5vdC1leGlzdC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZmFhYy9maWxlcy8wMDAxLW1wNHYyLURlZmluZS1fX1NUUklORy1pZi1jZGVmcy5oLWRvZXMtbm90LWV4aXN0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkODQ1ZGRmLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZmFhYy9maWxlcy8wMDAxLW1wNHYyLURlZmluZS1fX1NUUklORy1pZi1jZGVmcy5oLWRvZXMtbm90LWV4aXN0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotRnJvbSA0NmNjOTI5OGMzOGI5ZGQ3MzVmZWMzZjM5YWEyZDZlNTZhMzYyNDEwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMjggTWFyIDIwMTcgMjE6MzM6MzYgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSCAyLzJdIG1wNHYyOiBEZWZpbmUgX19TVFJJTkcgaWYgY2RlZnMuaCBkb2VzIG5vdCBleGlzdAotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gY29tbW9uL21wNHYyL21wNHV0aWwuaCB8IDQgKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2NvbW1vbi9tcDR2Mi9tcDR1dGlsLmggYi9jb21tb24vbXA0djIvbXA0dXRpbC5oCi1pbmRleCAxZjljYjY0Li4xZTdhY2VkIDEwMDY0NAotLS0tIGEvY29tbW9uL21wNHYyL21wNHV0aWwuaAotKysrIGIvY29tbW9uL21wNHYyL21wNHV0aWwuaAotQEAgLTIzLDYgKzIzLDEwIEBACi0gI2RlZmluZSBfX01QNF9VVElMX0lOQ0xVREVEX18KLSAjaW5jbHVkZSA8YXNzZXJ0Lmg+Ci0gCi0rI2lmbmRlZiBfX1NUUklORwotKyNkZWZpbmUgX19TVFJJTkcoeCkgICAgICN4Ci0rI2VuZGlmCi0rCi0gI2lmbmRlZiBBU1NFUlQKLSAjZGVmaW5lIEFTU0VSVChleHByKSBcCi0gCWlmICghKGV4cHIpKSB7IFwKLS0tIAotMi4xMi4xCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZmx1aWRzeW50aC9maWxlcy8wMDAxLVVzZS1BUk0tTkVPTi1hY2NlbGFyYXRpb24tZm9yLWZsb2F0LW11bHRpdGhyZWFkZWQtc2UucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZsdWlkc3ludGgvZmlsZXMvMDAwMS1Vc2UtQVJNLU5FT04tYWNjZWxhcmF0aW9uLWZvci1mbG9hdC1tdWx0aXRocmVhZGVkLXNlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZTE4NDZlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZmx1aWRzeW50aC9maWxlcy8wMDAxLVVzZS1BUk0tTkVPTi1hY2NlbGFyYXRpb24tZm9yLWZsb2F0LW11bHRpdGhyZWFkZWQtc2UucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3NiArMCwwIEBACi1Gcm9tIDJkZTdlMTI4ZmJkZjUyODcxNmI1MDBjZjI3ZWQ5YTQzNThjOTMxYzkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotRGF0ZTogRnJpLCAyNCBOb3YgMjAxNyAwMDowNTozNSArMDEwMAotU3ViamVjdDogW1BBVENIIDIvMl0gVXNlIEFSTS1ORU9OIGFjY2VsYXJhdGlvbiBmb3IgZmxvYXQtbXVsdGl0aHJlYWRlZCBzZXR1cHMKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+Ci0tLS0KLSBzcmMvcnZvaWNlL2ZsdWlkX3J2b2ljZV9taXhlci5jIHwgMjYgKysrKysrKysrKysrKysrKysrKysrKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3J2b2ljZS9mbHVpZF9ydm9pY2VfbWl4ZXIuYyBiL3NyYy9ydm9pY2UvZmx1aWRfcnZvaWNlX21peGVyLmMKLWluZGV4IDk2MTY1MTguLmRiZjgwNTcgMTAwNjQ0Ci0tLS0gYS9zcmMvcnZvaWNlL2ZsdWlkX3J2b2ljZV9taXhlci5jCi0rKysgYi9zcmMvcnZvaWNlL2ZsdWlkX3J2b2ljZV9taXhlci5jCi1AQCAtMjcsNiArMjcsMTAgQEAKLSAjaW5jbHVkZSAiZmx1aWRfbGFkc3BhLmgiCi0gI2luY2x1ZGUgImZsdWlkX3N5bnRoLmgiCi0gCi0rI2lmIGRlZmluZWQoX19BUk1fTkVPTl9fKQotKyNpbmNsdWRlICJhcm1fbmVvbi5oIgotKyNlbmRpZgotKwotIAotICNkZWZpbmUgRU5BQkxFX01JWEVSX1RIUkVBRFMgMQotIAotQEAgLTc5NCwyMCArNzk4LDQyIEBAIGZsdWlkX21peGVyX2J1ZmZlcnNfbWl4KGZsdWlkX21peGVyX2J1ZmZlcnNfdCogZGVzdCwgZmx1aWRfbWl4ZXJfYnVmZmVyc190KiBzcmMpCi0gICBpZiAobWluYnVmID4gc3JjLT5idWZfY291bnQpCi0gICAgIG1pbmJ1ZiA9IHNyYy0+YnVmX2NvdW50OwotICAgZm9yIChpPTA7IGkgPCBtaW5idWY7IGkrKykgewotKyNpZiBkZWZpbmVkKF9fQVJNX05FT05fXykgJiYgZGVmaW5lZChXSVRIX0ZMT0FUKQotKyAgICBmb3IgKGo9MDsgaiA8IHNjb3VudDsgais9NCkgewotKyAgICAgICAgZmxvYXQzMng0X3QgdmxlZnQgPSB2bGQxcV9mMzIoJmRlc3QtPmxlZnRfYnVmW2ldW2pdKTsKLSsgICAgICAgIGZsb2F0MzJ4NF90IHZyaWdodCA9IHZsZDFxX2YzMigmZGVzdC0+cmlnaHRfYnVmW2ldW2pdKTsKLSsgICAgICAgIHZsZWZ0ID0gdmFkZHFfZjMyKHZsZWZ0LCB2bGQxcV9mMzIoJnNyYy0+bGVmdF9idWZbaV1bal0pKTsKLSsgICAgICAgIHZyaWdodCA9IHZhZGRxX2YzMih2cmlnaHQsIHZsZDFxX2YzMigmc3JjLT5yaWdodF9idWZbaV1bal0pKTsKLSsgICAgICAgIHZzdDFxX2YzMigmZGVzdC0+bGVmdF9idWZbaV1bal0sIHZsZWZ0KTsKLSsgICAgICAgIHZzdDFxX2YzMigmZGVzdC0+cmlnaHRfYnVmW2ldW2pdLCB2cmlnaHQpOwotKyAgICB9Ci0rI2Vsc2UKLSAgICAgZm9yIChqPTA7IGogPCBzY291bnQ7IGorKykgewotICAgICAgIGRlc3QtPmxlZnRfYnVmW2ldW2pdICs9IHNyYy0+bGVmdF9idWZbaV1bal07Ci0gICAgICAgZGVzdC0+cmlnaHRfYnVmW2ldW2pdICs9IHNyYy0+cmlnaHRfYnVmW2ldW2pdOwotICAgICB9Ci0rI2VuZGlmCi0gICB9Ci0gCi0gICBtaW5idWYgPSBkZXN0LT5meF9idWZfY291bnQ7Ci0gICBpZiAobWluYnVmID4gc3JjLT5meF9idWZfY291bnQpCi0gICAgIG1pbmJ1ZiA9IHNyYy0+ZnhfYnVmX2NvdW50OwotICAgZm9yIChpPTA7IGkgPCBtaW5idWY7IGkrKykgewotKyNpZiBkZWZpbmVkKF9fQVJNX05FT05fXykgJiYgZGVmaW5lZChXSVRIX0ZMT0FUKQotKyAgICBmb3IgKGo9MDsgaiA8IHNjb3VudDsgais9NCkgewotKyAgICAgICAgZmxvYXQzMng0X3QgdmxlZnQgPSB2bGQxcV9mMzIoJmRlc3QtPmZ4X2xlZnRfYnVmW2ldW2pdKTsKLSsgICAgICAgIGZsb2F0MzJ4NF90IHZyaWdodCA9IHZsZDFxX2YzMigmZGVzdC0+ZnhfcmlnaHRfYnVmW2ldW2pdKTsKLSsgICAgICAgIHZsZWZ0ID0gdmFkZHFfZjMyKHZsZWZ0LCB2bGQxcV9mMzIoJnNyYy0+ZnhfbGVmdF9idWZbaV1bal0pKTsKLSsgICAgICAgIHZyaWdodCA9IHZhZGRxX2YzMih2cmlnaHQsIHZsZDFxX2YzMigmc3JjLT5meF9yaWdodF9idWZbaV1bal0pKTsKLSsgICAgICAgIHZzdDFxX2YzMigmZGVzdC0+ZnhfbGVmdF9idWZbaV1bal0sIHZsZWZ0KTsKLSsgICAgICAgIHZzdDFxX2YzMigmZGVzdC0+ZnhfcmlnaHRfYnVmW2ldW2pdLCB2cmlnaHQpOwotKyAgICB9Ci0rI2Vsc2UKLSAgICAgZm9yIChqPTA7IGogPCBzY291bnQ7IGorKykgewotICAgICAgIGRlc3QtPmZ4X2xlZnRfYnVmW2ldW2pdICs9IHNyYy0+ZnhfbGVmdF9idWZbaV1bal07Ci0gICAgICAgZGVzdC0+ZnhfcmlnaHRfYnVmW2ldW2pdICs9IHNyYy0+ZnhfcmlnaHRfYnVmW2ldW2pdOwotICAgICB9Ci0rI2VuZGlmCi0gICB9Ci0gfQotIAotLS0gCi0yLjkuNQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZsdWlkc3ludGgvZmx1aWRzeW50aC1uYXRpdmVfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mbHVpZHN5bnRoL2ZsdWlkc3ludGgtbmF0aXZlX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOTVjNGM0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mbHVpZHN5bnRoL2ZsdWlkc3ludGgtbmF0aXZlX2dpdC5iYgpAQCAtMCwwICsxLDEwIEBACityZXF1aXJlICR7QlBOfS5pbmMKKworaW5oZXJpdCBuYXRpdmUKKworT0VDTUFLRV9TT1VSQ0VQQVRIID0gIiR7U30vc3JjL2dlbnRhYmxlcyIKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgJHtCfS9tYWtlX3RhYmxlcy5leGUgJHtEfS8ke2JpbmRpcn0vCit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZsdWlkc3ludGgvZmx1aWRzeW50aC5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZsdWlkc3ludGgvZmx1aWRzeW50aC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODEwY2E5OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZmx1aWRzeW50aC9mbHVpZHN5bnRoLmluYwpAQCAtMCwwICsxLDEyIEBACitTVU1NQVJZID0gIkZsdWlkc3ludGggaXMgYSBzb2Z0d2FyZSBzeW50aGVzaXplciIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZmx1aWRzeW50aC5vcmcvIgorU0VDVElPTiA9ICJsaWJzL211bHRpbWVkaWEiCitMSUNFTlNFID0gIkxHUEwtMi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZmMxNzhiY2Q0MjUwOTA5MzlhOGI2MzRkMWQ2YTk1OTQiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9GbHVpZFN5bnRoL2ZsdWlkc3ludGguZ2l0IgorU1JDUkVWID0gIjk2NzFlNDEyZmVlZGI5MDMyNWUwMzhjM2FhZjVkNTQzZWViYzIwYzAiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorUFYgPSAiMi4wLjQiCisKK2luaGVyaXQgY21ha2UgcGtnY29uZmlnIGxpYl9wYWNrYWdlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZsdWlkc3ludGgvZmx1aWRzeW50aC8wMDAxLURvLW5vdC1idWlsZC1nZW50YWJsZXMtaGVscGVyLXdlLWhhdmUtdG8tdXNlLW5hdGl2ZS0ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZsdWlkc3ludGgvZmx1aWRzeW50aC8wMDAxLURvLW5vdC1idWlsZC1nZW50YWJsZXMtaGVscGVyLXdlLWhhdmUtdG8tdXNlLW5hdGl2ZS0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDQ2MTIyNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZmx1aWRzeW50aC9mbHVpZHN5bnRoLzAwMDEtRG8tbm90LWJ1aWxkLWdlbnRhYmxlcy1oZWxwZXItd2UtaGF2ZS10by11c2UtbmF0aXZlLS5wYXRjaApAQCAtMCwwICsxLDM3IEBACitGcm9tIDgxZWE4MjBiMTU1ZTg4N2IxM2VhNTk4NmMzNDA3Y2Y5M2IyNzM3ZjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgorRGF0ZTogV2VkLCAyIEphbiAyMDE5IDE4OjQyOjQ2ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIERvIG5vdCBidWlsZCBnZW50YWJsZXMgaGVscGVyIC0gd2UgaGF2ZSB0byB1c2UgbmF0aXZlIHZhcmlhbnQKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KKy0tLQorIHNyYy9DTWFrZUxpc3RzLnR4dCB8IDExIC0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDExIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL0NNYWtlTGlzdHMudHh0IGIvc3JjL0NNYWtlTGlzdHMudHh0CitpbmRleCBhMGJhNTNkMS4uMWM2MjY3MTcgMTAwNjQ0CistLS0gYS9zcmMvQ01ha2VMaXN0cy50eHQKKysrKyBiL3NyYy9DTWFrZUxpc3RzLnR4dAorQEAgLTM1OSwxNCArMzU5LDMgQEAgZWxzZSAoIE1BQ09TWF9GUkFNRVdPUksgKQorICkKKyAgICBpbnN0YWxsICggRklMRVMgJHtwdWJsaWNfbWFpbl9IRUFERVJ9IERFU1RJTkFUSU9OICR7SU5DTFVERV9JTlNUQUxMX0RJUn0gKQorIGVuZGlmICggTUFDT1NYX0ZSQU1FV09SSyApCistCistIyAqKioqKioqIEF1dG8gR2VuZXJhdGVkIExvb2t1cCBUYWJsZXMgKioqKioqCistCistaW5jbHVkZShFeHRlcm5hbFByb2plY3QpCistRXh0ZXJuYWxQcm9qZWN0X0FkZChnZW50YWJsZXMKKy0gICAgRE9XTkxPQURfQ09NTUFORCAiIgorLSAgICBTT1VSQ0VfRElSICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9nZW50YWJsZXMKKy0gICAgQklOQVJZX0RJUiAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vZ2VudGFibGVzCistICAgIElOU1RBTExfQ09NTUFORCAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vZ2VudGFibGVzL21ha2VfdGFibGVzLmV4ZSAiJHtDTUFLRV9CSU5BUllfRElSfS8iCistKQorLWFkZF9kZXBlbmRlbmNpZXMobGliZmx1aWRzeW50aC1PQkogZ2VudGFibGVzKQorLS0gCisyLjE0LjUKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mbHVpZHN5bnRoL2ZsdWlkc3ludGgvMDAwMi1mbHVpZF9zeW50aF9ud3JpdGVfZmxvYXQtQWxsb3ctemVyby1wb2ludGVyLWZvci1sZWZ0LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mbHVpZHN5bnRoL2ZsdWlkc3ludGgvMDAwMi1mbHVpZF9zeW50aF9ud3JpdGVfZmxvYXQtQWxsb3ctemVyby1wb2ludGVyLWZvci1sZWZ0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0ZGFhOTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZsdWlkc3ludGgvZmx1aWRzeW50aC8wMDAyLWZsdWlkX3N5bnRoX253cml0ZV9mbG9hdC1BbGxvdy16ZXJvLXBvaW50ZXItZm9yLWxlZnQucGF0Y2gKQEAgLTAsMCArMSwxNzggQEAKK0Zyb20gMzAwOTc3NTM3YjYwNTZiZGJiYmE5ZGY5MTAwZmE2ZTg5MWNhMWY0NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+CitEYXRlOiBNb24sIDE3IERlYyAyMDE4IDE0OjA4OjQ1ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMi8yXSBmbHVpZF9zeW50aF9ud3JpdGVfZmxvYXQ6IEFsbG93IHplcm8gcG9pbnRlciBmb3IKKyBsZWZ0L3JpZ2h0IGFuZCB6ZXJvIHBvaW50ZXIgaW4gYXJyYXlzCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1dpdGggdGhpcyBtb2RpZmljYXRpb24gYSBjbGllbnQgY2FuIGRlZmluZSBleGFjdGx5IHdoYXQgaXQgd2FudHMgdG8gZ2V0IGludG8KK2J1ZmZlcnMgdG8gYXZvaWQgdXNlbGVzcyBjb3B5aW5nIG9mIGRhdGEuIE9uIHdlYWsgbWFjaGluZXMgdGhpcyBsZWFkcyB0byBtZWFzdXJhYmxlCitwZXJmb3JtYW5jZSB3aW5zLgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbMV0KKworWzFdIGh0dHBzOi8vZ2l0aHViLmNvbS9GbHVpZFN5bnRoL2ZsdWlkc3ludGgvcHVsbC80OTAKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KKy0tLQorIHNyYy9zeW50aC9mbHVpZF9zeW50aC5jIHwgNjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA0OCBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9zeW50aC9mbHVpZF9zeW50aC5jIGIvc3JjL3N5bnRoL2ZsdWlkX3N5bnRoLmMKK2luZGV4IDBkZjYyMGQzLi4zNzlmODIxNiAxMDA2NDQKKy0tLSBhL3NyYy9zeW50aC9mbHVpZF9zeW50aC5jCisrKysgYi9zcmMvc3ludGgvZmx1aWRfc3ludGguYworQEAgLTMzMDYsMTAgKzMzMDYsMTAgQEAgZmx1aWRfc3ludGhfcHJvZ3JhbV9yZXNldChmbHVpZF9zeW50aF90ICpzeW50aCkKKyAgKiBTeW50aGVzaXplIGEgYmxvY2sgb2YgZmxvYXRpbmcgcG9pbnQgYXVkaW8gdG8gc2VwYXJhdGUgYXVkaW8gYnVmZmVycyAobXVsdGljaGFubmVsIHJlbmRlcmluZykuIEZpcnN0IGVmZmVjdCBjaGFubmVsIHVzZWQgYnkgcmV2ZXJiLCBzZWNvbmQgZm9yIGNob3J1cy4KKyAgKiBAcGFyYW0gc3ludGggRmx1aWRTeW50aCBpbnN0YW5jZQorICAqIEBwYXJhbSBsZW4gQ291bnQgb2YgYXVkaW8gZnJhbWVzIHRvIHN5bnRoZXNpemUKKy0gKiBAcGFyYW0gbGVmdCBBcnJheSBvZiBmbG9hdCBidWZmZXJzIHRvIHN0b3JlIGxlZnQgY2hhbm5lbCBvZiBwbGFuYXIgYXVkaW8gKGFzIG1hbnkgYXMgXGMgc3ludGguYXVkaW8tY2hhbm5lbHMgYnVmZmVycywgZWFjaCBvZiBcYyBsZW4gaW4gc2l6ZSkKKy0gKiBAcGFyYW0gcmlnaHQgQXJyYXkgb2YgZmxvYXQgYnVmZmVycyB0byBzdG9yZSByaWdodCBjaGFubmVsIG9mIHBsYW5hciBhdWRpbyAoc2l6ZTogZGl0bykKKy0gKiBAcGFyYW0gZnhfbGVmdCBTaW5jZSAxLjEuNzogSWYgbm90IFxjIE5VTEwsIGFycmF5IG9mIGZsb2F0IGJ1ZmZlcnMgdG8gc3RvcmUgbGVmdCBlZmZlY3QgY2hhbm5lbHMgKGFzIG1hbnkgYXMgXGMgc3ludGguZWZmZWN0cy1jaGFubmVscyBidWZmZXJzLCBlYWNoIG9mIFxjIGxlbiBpbiBzaXplKQorLSAqIEBwYXJhbSBmeF9yaWdodCBTaW5jZSAxLjEuNzogSWYgbm90IFxjIE5VTEwsIGFycmF5IG9mIGZsb2F0IGJ1ZmZlcnMgdG8gc3RvcmUgcmlnaHQgZWZmZWN0IGNoYW5uZWxzIChzaXplOiBkaXRvKQorKyAqIEBwYXJhbSBsZWZ0IEFycmF5IG9mIGZsb2F0IGJ1ZmZlcnMgdG8gc3RvcmUgbGVmdCBjaGFubmVsIG9mIHBsYW5hciBhdWRpbyAoYXMgbWFueSBhcyBcYyBzeW50aC5hdWRpby1jaGFubmVscyBidWZmZXJzLCBlYWNoIG9mIFxjIGxlbiBpbiBzaXplKS4gU2luY2UgMi4wLjM6IE5VTEwgYWxsb3dlZCAvIE5VTEwgYWxsb3dlZCBmb3IgYXJyYXkgZW50cnkKKysgKiBAcGFyYW0gcmlnaHQgQXJyYXkgb2YgZmxvYXQgYnVmZmVycyB0byBzdG9yZSByaWdodCBjaGFubmVsIG9mIHBsYW5hciBhdWRpbyAoc2l6ZTogZGl0bykuIFNpbmNlIDIuMC4zOiBOVUxMIGFsbG93ZWQgLyBOVUxMIGFsbG93ZWQgZm9yIGFycmF5IGVudHJ5CisrICogQHBhcmFtIGZ4X2xlZnQgU2luY2UgMS4xLjc6IElmIG5vdCBcYyBOVUxMLCBhcnJheSBvZiBmbG9hdCBidWZmZXJzIHRvIHN0b3JlIGxlZnQgZWZmZWN0IGNoYW5uZWxzIChhcyBtYW55IGFzIFxjIHN5bnRoLmVmZmVjdHMtY2hhbm5lbHMgYnVmZmVycywgZWFjaCBvZiBcYyBsZW4gaW4gc2l6ZSkuIFNpbmNlIDIuMC4zOiBOVUxMIGFsbG93ZWQgZm9yIGFycmF5IGVudHJ5CisrICogQHBhcmFtIGZ4X3JpZ2h0IFNpbmNlIDEuMS43OiBJZiBub3QgXGMgTlVMTCwgYXJyYXkgb2YgZmxvYXQgYnVmZmVycyB0byBzdG9yZSByaWdodCBlZmZlY3QgY2hhbm5lbHMgKHNpemU6IGRpdG8pLiBTaW5jZSAyLjAuMzogTlVMTCBhbGxvd2VkIGZvciBhcnJheSBlbnRyeQorICAqIEByZXR1cm4gI0ZMVUlEX09LIG9uIHN1Y2Nlc3MsICNGTFVJRF9GQUlMRUQgb3RoZXJ3aXNlCisgICoKKyAgKiBAbm90ZSBTaG91bGQgb25seSBiZSBjYWxsZWQgZnJvbSBzeW50aGVzaXMgdGhyZWFkLgorQEAgLTMzODYsMTUgKzMzODYsMjcgQEAgZmx1aWRfc3ludGhfbndyaXRlX2Zsb2F0KGZsdWlkX3N5bnRoX3QgKnN5bnRoLCBpbnQgbGVuLAorICAgICAgICAgZm9yKGkgPSAwOyBpIDwgc3ludGgtPmF1ZGlvX2NoYW5uZWxzOyBpKyspCisgICAgICAgICB7CisgI2lmZGVmIFdJVEhfRkxPQVQKKy0gICAgICAgICAgICBGTFVJRF9NRU1DUFkobGVmdFtpXSwgJmxlZnRfaW5baSAqIEZMVUlEX0JVRlNJWkUgKiBGTFVJRF9NSVhFUl9NQVhfQlVGRkVSU19ERUZBVUxUICsgc3ludGgtPmN1cl0sIGJ5dGVzKTsKKy0gICAgICAgICAgICBGTFVJRF9NRU1DUFkocmlnaHRbaV0sICZyaWdodF9pbltpICogRkxVSURfQlVGU0laRSAqIEZMVUlEX01JWEVSX01BWF9CVUZGRVJTX0RFRkFVTFQgKyBzeW50aC0+Y3VyXSwgYnl0ZXMpOworKyAgICAgICAgICAgIGlmKGxlZnQgIT0gTlVMTCAmJiBsZWZ0W2ldICE9IE5VTEwpCisrICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICBGTFVJRF9NRU1DUFkobGVmdFtpXSwgJmxlZnRfaW5baSAqIEZMVUlEX0JVRlNJWkUgKiBGTFVJRF9NSVhFUl9NQVhfQlVGRkVSU19ERUZBVUxUICsgc3ludGgtPmN1cl0sIGJ5dGVzKTsKKysgICAgICAgICAgICB9CisrICAgICAgICAgICAgaWYocmlnaHQgIT0gTlVMTCAmJiByaWdodFtpXSAhPSBOVUxMKQorKyAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgRkxVSURfTUVNQ1BZKHJpZ2h0W2ldLCAmcmlnaHRfaW5baSAqIEZMVUlEX0JVRlNJWkUgKiBGTFVJRF9NSVhFUl9NQVhfQlVGRkVSU19ERUZBVUxUICsgc3ludGgtPmN1cl0sIGJ5dGVzKTsKKysgICAgICAgICAgICB9CisgI2Vsc2UgLy9XSVRIX0ZMT0FUCisgICAgICAgICAgICAgaW50IGo7CisgCisgICAgICAgICAgICAgZm9yKGogPSAwOyBqIDwgbnVtOyBqKyspCisgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICBsZWZ0W2ldW2pdID0gKGZsb2F0KSBsZWZ0X2luW2kgKiBGTFVJRF9CVUZTSVpFICogRkxVSURfTUlYRVJfTUFYX0JVRkZFUlNfREVGQVVMVCArIGogKyBzeW50aC0+Y3VyXTsKKy0gICAgICAgICAgICAgICAgcmlnaHRbaV1bal0gPSAoZmxvYXQpIHJpZ2h0X2luW2kgKiBGTFVJRF9CVUZTSVpFICogRkxVSURfTUlYRVJfTUFYX0JVRkZFUlNfREVGQVVMVCArIGogKyBzeW50aC0+Y3VyXTsKKysgICAgICAgICAgICAgICAgaWYobGVmdCAhPSBOVUxMICYmIGxlZnRbaV0gIT0gTlVMTCkKKysgICAgICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICAgICAgbGVmdFtpXVtqXSA9IChmbG9hdCkgbGVmdF9pbltpICogRkxVSURfQlVGU0laRSAqIEZMVUlEX01JWEVSX01BWF9CVUZGRVJTX0RFRkFVTFQgKyBqICsgc3ludGgtPmN1cl07CisrICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICAgICAgaWYocmlnaHQgIT0gTlVMTCAmJiByaWdodFtpXSAhPSBOVUxMKQorKyAgICAgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgICAgICByaWdodFtpXVtqXSA9IChmbG9hdCkgcmlnaHRfaW5baSAqIEZMVUlEX0JVRlNJWkUgKiBGTFVJRF9NSVhFUl9NQVhfQlVGRkVSU19ERUZBVUxUICsgaiArIHN5bnRoLT5jdXJdOworKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgfQorIAorICNlbmRpZiAvL1dJVEhfRkxPQVQKK0BAIC0zNDA0LDEyICszNDE2LDEyIEBAIGZsdWlkX3N5bnRoX253cml0ZV9mbG9hdChmbHVpZF9zeW50aF90ICpzeW50aCwgaW50IGxlbiwKKyAgICAgICAgIHsKKyAjaWZkZWYgV0lUSF9GTE9BVAorIAorLSAgICAgICAgICAgIGlmKGZ4X2xlZnQgIT0gTlVMTCkKKysgICAgICAgICAgICBpZihmeF9sZWZ0ICE9IE5VTEwgJiYgZnhfbGVmdFtpXSAhPSBOVUxMKQorICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgRkxVSURfTUVNQ1BZKGZ4X2xlZnRbaV0sICZmeF9sZWZ0X2luW2kgKiBGTFVJRF9CVUZTSVpFICogRkxVSURfTUlYRVJfTUFYX0JVRkZFUlNfREVGQVVMVCArIHN5bnRoLT5jdXJdLCBieXRlcyk7CisgICAgICAgICAgICAgfQorIAorLSAgICAgICAgICAgIGlmKGZ4X3JpZ2h0ICE9IE5VTEwpCisrICAgICAgICAgICAgaWYoZnhfcmlnaHQgIT0gTlVMTCAmJiBmeF9yaWdodFtpXSAhPSBOVUxMKQorICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgRkxVSURfTUVNQ1BZKGZ4X3JpZ2h0W2ldLCAmZnhfcmlnaHRfaW5baSAqIEZMVUlEX0JVRlNJWkUgKiBGTFVJRF9NSVhFUl9NQVhfQlVGRkVSU19ERUZBVUxUICsgc3ludGgtPmN1cl0sIGJ5dGVzKTsKKyAgICAgICAgICAgICB9CitAQCAtMzQxNyw3ICszNDI5LDcgQEAgZmx1aWRfc3ludGhfbndyaXRlX2Zsb2F0KGZsdWlkX3N5bnRoX3QgKnN5bnRoLCBpbnQgbGVuLAorICNlbHNlIC8vV0lUSF9GTE9BVAorICAgICAgICAgICAgIGludCBqOworIAorLSAgICAgICAgICAgIGlmKGZ4X2xlZnQgIT0gTlVMTCkKKysgICAgICAgICAgICBpZihmeF9sZWZ0ICE9IE5VTEwgJiYgZnhfbGVmdFtpXSAhPSBOVUxMKQorICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgZm9yKGogPSAwOyBqIDwgbnVtOyBqKyspCisgICAgICAgICAgICAgICAgIHsKK0BAIC0zNDI1LDcgKzM0MzcsNyBAQCBmbHVpZF9zeW50aF9ud3JpdGVfZmxvYXQoZmx1aWRfc3ludGhfdCAqc3ludGgsIGludCBsZW4sCisgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICB9CisgCistICAgICAgICAgICAgaWYoZnhfcmlnaHQgIT0gTlVMTCkKKysgICAgICAgICAgICBpZihmeF9yaWdodCAhPSBOVUxMICYmIGZ4X3JpZ2h0W2ldICE9IE5VTEwpCisgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICBmb3IoaiA9IDA7IGogPCBudW07IGorKykKKyAgICAgICAgICAgICAgICAgeworQEAgLTM0NTYsMTUgKzM0NjgsMzAgQEAgZmx1aWRfc3ludGhfbndyaXRlX2Zsb2F0KGZsdWlkX3N5bnRoX3QgKnN5bnRoLCBpbnQgbGVuLAorICAgICAgICAgZm9yKGkgPSAwOyBpIDwgc3ludGgtPmF1ZGlvX2NoYW5uZWxzOyBpKyspCisgICAgICAgICB7CisgI2lmZGVmIFdJVEhfRkxPQVQKKy0gICAgICAgICAgICBGTFVJRF9NRU1DUFkobGVmdFtpXSArIGNvdW50LCAmbGVmdF9pbltpICogRkxVSURfQlVGU0laRSAqIEZMVUlEX01JWEVSX01BWF9CVUZGRVJTX0RFRkFVTFRdLCBieXRlcyk7CistICAgICAgICAgICAgRkxVSURfTUVNQ1BZKHJpZ2h0W2ldICsgY291bnQsICZyaWdodF9pbltpICogRkxVSURfQlVGU0laRSAqIEZMVUlEX01JWEVSX01BWF9CVUZGRVJTX0RFRkFVTFRdLCBieXRlcyk7CisrICAgICAgICAgICAgaWYobGVmdCAhPSBOVUxMICYmIGxlZnRbaV0gIT0gTlVMTCkKKysgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgIEZMVUlEX01FTUNQWShsZWZ0W2ldICsgY291bnQsICZsZWZ0X2luW2kgKiBGTFVJRF9CVUZTSVpFICogRkxVSURfTUlYRVJfTUFYX0JVRkZFUlNfREVGQVVMVF0sIGJ5dGVzKTsKKysgICAgICAgICAgICB9CisrICAgICAgICAgICAgaWYocmlnaHQgIT0gTlVMTCAmJiByaWdodFtpXSAhPSBOVUxMKQorKyAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgRkxVSURfTUVNQ1BZKHJpZ2h0W2ldICsgY291bnQsICZyaWdodF9pbltpICogRkxVSURfQlVGU0laRSAqIEZMVUlEX01JWEVSX01BWF9CVUZGRVJTX0RFRkFVTFRdLCBieXRlcyk7CisrICAgICAgICAgICAgfQorICNlbHNlIC8vV0lUSF9GTE9BVAorICAgICAgICAgICAgIGludCBqOworIAorLSAgICAgICAgICAgIGZvcihqID0gMDsgaiA8IG51bTsgaisrKQorKyAgICAgICAgICAgIGlmKGxlZnQgIT0gTlVMTCAmJiBsZWZ0W2ldICE9IE5VTEwpCisrICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICBmb3IoaiA9IDA7IGogPCBudW07IGorKykKKysgICAgICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICAgICAgbGVmdFtpXVtqICsgY291bnRdID0gKGZsb2F0KSBsZWZ0X2luW2kgKiBGTFVJRF9CVUZTSVpFICogRkxVSURfTUlYRVJfTUFYX0JVRkZFUlNfREVGQVVMVCArIGpdOworKyAgICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgfQorKyAgICAgICAgICAgIGlmKHJpZ2h0ICE9IE5VTEwgJiYgcmlnaHRbaV0gIT0gTlVMTCkKKyAgICAgICAgICAgICB7CistICAgICAgICAgICAgICAgIGxlZnRbaV1baiArIGNvdW50XSA9IChmbG9hdCkgbGVmdF9pbltpICogRkxVSURfQlVGU0laRSAqIEZMVUlEX01JWEVSX01BWF9CVUZGRVJTX0RFRkFVTFQgKyBqXTsKKy0gICAgICAgICAgICAgICAgcmlnaHRbaV1baiArIGNvdW50XSA9IChmbG9hdCkgcmlnaHRfaW5baSAqIEZMVUlEX0JVRlNJWkUgKiBGTFVJRF9NSVhFUl9NQVhfQlVGRkVSU19ERUZBVUxUICsgal07CisrICAgICAgICAgICAgICAgIGZvcihqID0gMDsgaiA8IG51bTsgaisrKQorKyAgICAgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgICAgICByaWdodFtpXVtqICsgY291bnRdID0gKGZsb2F0KSByaWdodF9pbltpICogRkxVSURfQlVGU0laRSAqIEZMVUlEX01JWEVSX01BWF9CVUZGRVJTX0RFRkFVTFQgKyBqXTsKKysgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgIH0KKyAKKyAjZW5kaWYgLy9XSVRIX0ZMT0FUCitAQCAtMzQ3NCwxMiArMzUwMSwxMiBAQCBmbHVpZF9zeW50aF9ud3JpdGVfZmxvYXQoZmx1aWRfc3ludGhfdCAqc3ludGgsIGludCBsZW4sCisgICAgICAgICB7CisgI2lmZGVmIFdJVEhfRkxPQVQKKyAKKy0gICAgICAgICAgICBpZihmeF9sZWZ0ICE9IE5VTEwpCisrICAgICAgICAgICAgaWYoZnhfbGVmdCAhPSBOVUxMICYmIGZ4X2xlZnRbaV0gIT0gTlVMTCkKKyAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIEZMVUlEX01FTUNQWShmeF9sZWZ0W2ldICsgY291bnQsICZmeF9sZWZ0X2luW2kgKiBGTFVJRF9CVUZTSVpFICogRkxVSURfTUlYRVJfTUFYX0JVRkZFUlNfREVGQVVMVF0sIGJ5dGVzKTsKKyAgICAgICAgICAgICB9CisgCistICAgICAgICAgICAgaWYoZnhfcmlnaHQgIT0gTlVMTCkKKysgICAgICAgICAgICBpZihmeF9yaWdodCAhPSBOVUxMICYmIGZ4X3JpZ2h0W2ldICE9IE5VTEwpCisgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICBGTFVJRF9NRU1DUFkoZnhfcmlnaHRbaV0gKyBjb3VudCwgJmZ4X3JpZ2h0X2luW2kgKiBGTFVJRF9CVUZTSVpFICogRkxVSURfTUlYRVJfTUFYX0JVRkZFUlNfREVGQVVMVF0sIGJ5dGVzKTsKKyAgICAgICAgICAgICB9CitAQCAtMzQ4Nyw3ICszNTE0LDcgQEAgZmx1aWRfc3ludGhfbndyaXRlX2Zsb2F0KGZsdWlkX3N5bnRoX3QgKnN5bnRoLCBpbnQgbGVuLAorICNlbHNlIC8vV0lUSF9GTE9BVAorICAgICAgICAgICAgIGludCBqOworIAorLSAgICAgICAgICAgIGlmKGZ4X2xlZnQgIT0gTlVMTCkKKysgICAgICAgICAgICBpZihmeF9sZWZ0ICE9IE5VTEwgJiYgZnhfbGVmdFtpXSAhPSBOVUxMKQorICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgZm9yKGogPSAwOyBqIDwgbnVtOyBqKyspCisgICAgICAgICAgICAgICAgIHsKK0BAIC0zNDk1LDcgKzM1MjIsNyBAQCBmbHVpZF9zeW50aF9ud3JpdGVfZmxvYXQoZmx1aWRfc3ludGhfdCAqc3ludGgsIGludCBsZW4sCisgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICB9CisgCistICAgICAgICAgICAgaWYoZnhfcmlnaHQgIT0gTlVMTCkKKysgICAgICAgICAgICBpZihmeF9yaWdodCAhPSBOVUxMICYmIGZ4X3JpZ2h0W2ldICE9IE5VTEwpCisgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICBmb3IoaiA9IDA7IGogPCBudW07IGorKykKKyAgICAgICAgICAgICAgICAgeworLS0gCisyLjE0LjUKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mbHVpZHN5bnRoL2ZsdWlkc3ludGgvMDAwMy1Vc2UtQVJNLU5FT04tYWNjZWxhcmF0aW9uLWZvci1mbG9hdC1tdWx0aXRocmVhZGVkLXNlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mbHVpZHN5bnRoL2ZsdWlkc3ludGgvMDAwMy1Vc2UtQVJNLU5FT04tYWNjZWxhcmF0aW9uLWZvci1mbG9hdC1tdWx0aXRocmVhZGVkLXNlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhZDA5OTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZsdWlkc3ludGgvZmx1aWRzeW50aC8wMDAzLVVzZS1BUk0tTkVPTi1hY2NlbGFyYXRpb24tZm9yLWZsb2F0LW11bHRpdGhyZWFkZWQtc2UucGF0Y2gKQEAgLTAsMCArMSwzMDQgQEAKK0Zyb20gOTQ3Zjc5Zjk3YTVmYTY1NDdkOTliZmYyODI2MDYwMjY2MzJlMDEwYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+CitEYXRlOiBTYXQsIDEzIE9jdCAyMDE4IDIzOjAxOjExICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFVzZSBBUk0tTkVPTiBhY2NlbGFyYXRpb24gZm9yIGZsb2F0LW11bHRpdGhyZWFkZWQgc2V0dXBzCisKK1Byb2ZpbGluZyBzaG93cyBhIGNvbnNpZGVyYWJsZSBwZXJmb3JtYW5jZSB3aW4uIFNlZSBlc3RpbWF0ZWQgbnVtYmVyIG9mIHZvaWNlczoKK1RoZXkgaW5jcmVhc2UgZnJvbSB+NDcxIHRvIH41MTMgd2hpY2ggbWFrZXMgYSB+OSUgd2luOgorCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCitXSVRIT1VUIEFSTSBORU9OOgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorCittb3JvbmFAcmFzcGJlcnJ5cGkzOn4kIGZsdWlkc3ludGggLW8gc3ludGguY3B1LWNvcmVzPTQgLW8gc3ludGguY2hvcnVzLmFjdGl2ZT0wIC1vIHN5bnRoLnJldmVyYi5hY3RpdmU9MCAvdXNyL3NoYXJlL3NmMi9mbHVpZHIzZ20uc2YyCis+IHByb2Zfc2V0X3ByaW50IDEKKz4gcHJvZl9zZXRfbm90ZXMgMTAKKz4gcHJvZl9zdGFydCAzIDEwMDAwCitHZW5lcmF0aW5nIDEwIG5vdGVzLCBnZW5lcmF0ZWQgdm9pY2VzOjIwCitOdW1iZXIgb2YgbWVhc3VyZXMobl9wcm9mKTozLCBkdXJhdGlvbiBvZiBvbmUgbWVzdXJlKGR1cik6MTAwMDBtcworCitQcm9maWxpbmcgdGltZShtbTpzcyk6IFRvdGFsPTA6MzAgIFJlbWFpbmRlcj0wOjMwLCBwcmVzcyA8RU5URVI+IHRvIGNhbmNlbAorIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIER1cmF0aW9uKG1pY3Jvc2Vjb25kKSBhbmQgY3B1IGxvYWRzKCUpIChzcjogNDgwMDAgSHosIHNwOiAyMC44MyBtaWNyb3NlY29uZCkKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBDb2RlIHVuZGVyIHByb2ZpbGluZyAgICAgICB8Vm9pY2VzfCAgICAgICBEdXJhdGlvbiAobWljcm9zZWNvbmQpICAgfCAgTG9hZCglKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICBuYnJ8ICAgICAgIG1pbnwgICAgICAgYXZnfCAgICAgICBtYXh8CisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tCisgc3ludGhfd3JpdGVfKiAtLS0tLS0tLS0tLS0+fCAgICAyMHwgICAgMTEyLjAwfCAgICAxMTguOTZ8ICAgIDIwNi4wMHwgICA0LjQ2MQorIHN5bnRoX29uZV9ibG9jayAtLS0tLS0tLS0tPnwgICAgMjB8ICAgIDEwOS4wMHwgICAgMTE2LjQ0fCAgICAxOTYuMDB8ICAgNC4zNjcKKyBzeW50aF9vbmVfYmxvY2s6Y2xlYXIgLS0tLT58ICAgIDIwfCAgICAgIDEuMDB8ICAgICAgMS42N3wgICAgIDE4LjAwfCAgIDAuMDYzCisgc3ludGhfb25lX2Jsb2NrOm9uZSB2b2ljZS0+fCAgICAgMXwgICAgIDExLjAwfCAgICAgMTIuMzZ8ICAgICA1OC4wMHwgICAwLjQ2MworIHN5bnRoX29uZV9ibG9jazphbGwgdm9pY2VzPnwgICAgMjB8ICAgIDEwNy4wMHwgICAgMTEzLjQ3fCAgICAxODcuMDB8ICAgNC4yNTUKKyBzeW50aF9vbmVfYmxvY2s6cmV2ZXJiIC0tLT58IG5vIHByb2ZpbGluZyBhdmFpbGFibGUKKyBzeW50aF9vbmVfYmxvY2s6Y2hvcnVzIC0tLT58IG5vIHByb2ZpbGluZyBhdmFpbGFibGUKKyB2b2ljZTpub3RlIC0tLS0tLS0tLS0tLS0tLT58IG5vIHByb2ZpbGluZyBhdmFpbGFibGUKKyB2b2ljZTpyZWxlYXNlIC0tLS0tLS0tLS0tLT58IG5vIHByb2ZpbGluZyBhdmFpbGFibGUKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBDcHUgbG9hZHMoJSkgKHNyOiA0ODAwMCBIeiwgc3A6IDIwLjgzIG1pY3Jvc2Vjb25kKSBhbmQgbWF4aW11bSB2b2ljZXMKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBuVm9pY2VzfCB0b3RhbCglKXx2b2ljZXMoJSl8IHJldmVyYiglKXxjaG9ydXMoJSl8IHZvaWNlKCUpfGVzdGltYXRlZCBtYXhWb2ljZXMKKyAtLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgIDIwfCAgICA0LjQ2MXwgICAgNC40NjF8ICAgICAwLjAwMHwgICAgMC4wMDB8ICAgIDAuMjEzfCAgICAgICAgICAgICAgNDcwCisKK1Byb2ZpbGluZyB0aW1lKG1tOnNzKTogVG90YWw9MDozMCAgUmVtYWluZGVyPTA6MjAsIHByZXNzIDxFTlRFUj4gdG8gY2FuY2VsCisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgRHVyYXRpb24obWljcm9zZWNvbmQpIGFuZCBjcHUgbG9hZHMoJSkgKHNyOiA0ODAwMCBIeiwgc3A6IDIwLjgzIG1pY3Jvc2Vjb25kKQorIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIENvZGUgdW5kZXIgcHJvZmlsaW5nICAgICAgIHxWb2ljZXN8ICAgICAgIER1cmF0aW9uIChtaWNyb3NlY29uZCkgICB8ICBMb2FkKCUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIG5icnwgICAgICAgbWlufCAgICAgICBhdmd8ICAgICAgIG1heHwKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0KKyBzeW50aF93cml0ZV8qIC0tLS0tLS0tLS0tLT58ICAgIDIwfCAgICAxMTIuMDB8ICAgIDExOC40MnwgICAgMjE2LjAwfCAgIDQuNDQxCisgc3ludGhfb25lX2Jsb2NrIC0tLS0tLS0tLS0+fCAgICAyMHwgICAgMTA5LjAwfCAgICAxMTUuOTF8ICAgIDIwNS4wMHwgICA0LjM0NworIHN5bnRoX29uZV9ibG9jazpjbGVhciAtLS0tPnwgICAgMjB8ICAgICAgMS4wMHwgICAgICAxLjY1fCAgICAgMTguMDB8ICAgMC4wNjIKKyBzeW50aF9vbmVfYmxvY2s6b25lIHZvaWNlLT58ICAgICAxfCAgICAgMTEuMDB8ICAgICAxMi4zMHwgICAgIDU4LjAwfCAgIDAuNDYxCisgc3ludGhfb25lX2Jsb2NrOmFsbCB2b2ljZXM+fCAgICAyMHwgICAgMTA3LjAwfCAgICAxMTIuOTh8ICAgIDE5Ny4wMHwgICA0LjIzNworIHN5bnRoX29uZV9ibG9jazpyZXZlcmIgLS0tPnwgbm8gcHJvZmlsaW5nIGF2YWlsYWJsZQorIHN5bnRoX29uZV9ibG9jazpjaG9ydXMgLS0tPnwgbm8gcHJvZmlsaW5nIGF2YWlsYWJsZQorIHZvaWNlOm5vdGUgLS0tLS0tLS0tLS0tLS0tPnwgbm8gcHJvZmlsaW5nIGF2YWlsYWJsZQorIHZvaWNlOnJlbGVhc2UgLS0tLS0tLS0tLS0tPnwgbm8gcHJvZmlsaW5nIGF2YWlsYWJsZQorIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIENwdSBsb2FkcyglKSAoc3I6IDQ4MDAwIEh6LCBzcDogMjAuODMgbWljcm9zZWNvbmQpIGFuZCBtYXhpbXVtIHZvaWNlcworIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIG5Wb2ljZXN8IHRvdGFsKCUpfHZvaWNlcyglKXwgcmV2ZXJiKCUpfGNob3J1cyglKXwgdm9pY2UoJSl8ZXN0aW1hdGVkIG1heFZvaWNlcworIC0tLS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgMjB8ICAgIDQuNDQxfCAgICA0LjQ0MXwgICAgIDAuMDAwfCAgICAwLjAwMHwgICAgMC4yMTJ8ICAgICAgICAgICAgICA0NzIKKworUHJvZmlsaW5nIHRpbWUobW06c3MpOiBUb3RhbD0wOjMwICBSZW1haW5kZXI9MDoxMCwgcHJlc3MgPEVOVEVSPiB0byBjYW5jZWwKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBEdXJhdGlvbihtaWNyb3NlY29uZCkgYW5kIGNwdSBsb2FkcyglKSAoc3I6IDQ4MDAwIEh6LCBzcDogMjAuODMgbWljcm9zZWNvbmQpCisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgQ29kZSB1bmRlciBwcm9maWxpbmcgICAgICAgfFZvaWNlc3wgICAgICAgRHVyYXRpb24gKG1pY3Jvc2Vjb25kKSAgIHwgIExvYWQoJSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgbmJyfCAgICAgICBtaW58ICAgICAgIGF2Z3wgICAgICAgbWF4fAorIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLQorIHN5bnRoX3dyaXRlXyogLS0tLS0tLS0tLS0tPnwgICAgMjB8ICAgIDExMi4wMHwgICAgMTE4LjY0fCAgICAyNDQuMDB8ICAgNC40NDkKKyBzeW50aF9vbmVfYmxvY2sgLS0tLS0tLS0tLT58ICAgIDIwfCAgICAxMDkuMDB8ICAgIDExNi4xMnwgICAgMjM0LjAwfCAgIDQuMzU1Cisgc3ludGhfb25lX2Jsb2NrOmNsZWFyIC0tLS0+fCAgICAyMHwgICAgICAxLjAwfCAgICAgIDEuNjd8ICAgICAzNy4wMHwgICAwLjA2MgorIHN5bnRoX29uZV9ibG9jazpvbmUgdm9pY2UtPnwgICAgIDF8ICAgICAxMS4wMHwgICAgIDEyLjMxfCAgICAgNjMuMDB8ICAgMC40NjIKKyBzeW50aF9vbmVfYmxvY2s6YWxsIHZvaWNlcz58ICAgIDIwfCAgICAxMDcuMDB8ICAgIDExMy4xOHwgICAgMjE0LjAwfCAgIDQuMjQ0Cisgc3ludGhfb25lX2Jsb2NrOnJldmVyYiAtLS0+fCBubyBwcm9maWxpbmcgYXZhaWxhYmxlCisgc3ludGhfb25lX2Jsb2NrOmNob3J1cyAtLS0+fCBubyBwcm9maWxpbmcgYXZhaWxhYmxlCisgdm9pY2U6bm90ZSAtLS0tLS0tLS0tLS0tLS0+fCBubyBwcm9maWxpbmcgYXZhaWxhYmxlCisgdm9pY2U6cmVsZWFzZSAtLS0tLS0tLS0tLS0+fCBubyBwcm9maWxpbmcgYXZhaWxhYmxlCisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgQ3B1IGxvYWRzKCUpIChzcjogNDgwMDAgSHosIHNwOiAyMC44MyBtaWNyb3NlY29uZCkgYW5kIG1heGltdW0gdm9pY2VzCisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgblZvaWNlc3wgdG90YWwoJSl8dm9pY2VzKCUpfCByZXZlcmIoJSl8Y2hvcnVzKCUpfCB2b2ljZSglKXxlc3RpbWF0ZWQgbWF4Vm9pY2VzCisgLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICAyMHwgICAgNC40NDl8ICAgIDQuNDQ5fCAgICAgMC4wMDB8ICAgIDAuMDAwfCAgICAwLjIxMnwgICAgICAgICAgICAgIDQ3MQorU3RvcHBpbmcgMjAgdm9pY2VzLi4udm9pY2VzIHN0b3BwZWQuCis+IHF1aXQKK2NoZWVycyEKK0phY2tUZW1wb3JhcnlFeGNlcHRpb24gOiBub3cgcXVpdHMuLi4KK0phY2sgbWFpbiBjYXVnaHQgc2lnbmFsIDIKK2ZsdWlkX3Byb2ZpbGluZ19wcmludAorZmx1aWRzeW50aDogRXN0aW1hdGVkIHRpbWVzOiBtaW4vYXZnL21heCAobWljcm8gc2Vjb25kcykKK2ZsdWlkc3ludGg6IHN5bnRoX3dyaXRlXyogLS0tLS0tLS0tLS0tPjogMTEyLjAwMC8xMTguNjM2LzI0NC4wMDAKK2ZsdWlkc3ludGg6IHN5bnRoX29uZV9ibG9jayAtLS0tLS0tLS0tPjogMTA5LjAwMC8xMTYuMTI0LzIzNC4wMDAKK2ZsdWlkc3ludGg6IHN5bnRoX29uZV9ibG9jazpjbGVhciAtLS0tPjogMS4wMDAvMS42NjUvMzcuMDAwCitmbHVpZHN5bnRoOiBzeW50aF9vbmVfYmxvY2s6b25lIHZvaWNlLT46IDExLjAwMC8xMi4zMDkvNjMuMDAwCitmbHVpZHN5bnRoOiBzeW50aF9vbmVfYmxvY2s6YWxsIHZvaWNlcz46IDEwNy4wMDAvMTEzLjE4MC8yMTQuMDAwCisKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK1dJVEggQVJNIE5FT046CisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisKK21vcm9uYUByYXNwYmVycnlwaTM6fiQgZmx1aWRzeW50aCAtbyBzeW50aC5jcHUtY29yZXM9NCAtbyBzeW50aC5jaG9ydXMuYWN0aXZlPTAgLW8gc3ludGgucmV2ZXJiLmFjdGl2ZT0wIC91c3Ivc2hhcmUvc2YyL2ZsdWlkcjNnbS5zZjIKKz4gcHJvZl9zZXRfcHJpbnQgMQorPiBwcm9mX3NldF9ub3RlcyAxMAorPiBwcm9mX3N0YXJ0IDMgMTAwMDAKK0dlbmVyYXRpbmcgMTAgbm90ZXMsIGdlbmVyYXRlZCB2b2ljZXM6MjAKK051bWJlciBvZiBtZWFzdXJlcyhuX3Byb2YpOjMsIGR1cmF0aW9uIG9mIG9uZSBtZXN1cmUoZHVyKToxMDAwMG1zCisKK1Byb2ZpbGluZyB0aW1lKG1tOnNzKTogVG90YWw9MDozMCAgUmVtYWluZGVyPTA6MzAsIHByZXNzIDxFTlRFUj4gdG8gY2FuY2VsCisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgRHVyYXRpb24obWljcm9zZWNvbmQpIGFuZCBjcHUgbG9hZHMoJSkgKHNyOiA0ODAwMCBIeiwgc3A6IDIwLjgzIG1pY3Jvc2Vjb25kKQorIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIENvZGUgdW5kZXIgcHJvZmlsaW5nICAgICAgIHxWb2ljZXN8ICAgICAgIER1cmF0aW9uIChtaWNyb3NlY29uZCkgICB8ICBMb2FkKCUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIG5icnwgICAgICAgbWlufCAgICAgICBhdmd8ICAgICAgIG1heHwKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0KKyBzeW50aF93cml0ZV8qIC0tLS0tLS0tLS0tLT58ICAgIDIwfCAgICAxMDIuMDB8ICAgIDEwOS4yMXwgICAgMjEzLjAwfCAgIDQuMDk1Cisgc3ludGhfb25lX2Jsb2NrIC0tLS0tLS0tLS0+fCAgICAyMHwgICAgIDk5LjAwfCAgICAxMDYuNjh8ICAgIDIwMS4wMHwgICA0LjAwMQorIHN5bnRoX29uZV9ibG9jazpjbGVhciAtLS0tPnwgICAgMjB8ICAgICAgMS4wMHwgICAgICAxLjY0fCAgICAgMTguMDB8ICAgMC4wNjIKKyBzeW50aF9vbmVfYmxvY2s6b25lIHZvaWNlLT58ICAgICAxfCAgICAgMTEuMDB8ICAgICAxMi4zMHwgICAgIDU0LjAwfCAgIDAuNDYxCisgc3ludGhfb25lX2Jsb2NrOmFsbCB2b2ljZXM+fCAgICAyMHwgICAgIDk3LjAwfCAgICAxMDMuNzF8ICAgIDE4OC4wMHwgICAzLjg4OQorIHN5bnRoX29uZV9ibG9jazpyZXZlcmIgLS0tPnwgbm8gcHJvZmlsaW5nIGF2YWlsYWJsZQorIHN5bnRoX29uZV9ibG9jazpjaG9ydXMgLS0tPnwgbm8gcHJvZmlsaW5nIGF2YWlsYWJsZQorIHZvaWNlOm5vdGUgLS0tLS0tLS0tLS0tLS0tPnwgbm8gcHJvZmlsaW5nIGF2YWlsYWJsZQorIHZvaWNlOnJlbGVhc2UgLS0tLS0tLS0tLS0tPnwgbm8gcHJvZmlsaW5nIGF2YWlsYWJsZQorIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIENwdSBsb2FkcyglKSAoc3I6IDQ4MDAwIEh6LCBzcDogMjAuODMgbWljcm9zZWNvbmQpIGFuZCBtYXhpbXVtIHZvaWNlcworIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIG5Wb2ljZXN8IHRvdGFsKCUpfHZvaWNlcyglKXwgcmV2ZXJiKCUpfGNob3J1cyglKXwgdm9pY2UoJSl8ZXN0aW1hdGVkIG1heFZvaWNlcworIC0tLS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgMjB8ICAgIDQuMDk1fCAgICA0LjA5NXwgICAgIDAuMDAwfCAgICAwLjAwMHwgICAgMC4xOTR8ICAgICAgICAgICAgICA1MTQKKworUHJvZmlsaW5nIHRpbWUobW06c3MpOiBUb3RhbD0wOjMwICBSZW1haW5kZXI9MDoyMCwgcHJlc3MgPEVOVEVSPiB0byBjYW5jZWwKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBEdXJhdGlvbihtaWNyb3NlY29uZCkgYW5kIGNwdSBsb2FkcyglKSAoc3I6IDQ4MDAwIEh6LCBzcDogMjAuODMgbWljcm9zZWNvbmQpCisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgQ29kZSB1bmRlciBwcm9maWxpbmcgICAgICAgfFZvaWNlc3wgICAgICAgRHVyYXRpb24gKG1pY3Jvc2Vjb25kKSAgIHwgIExvYWQoJSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgbmJyfCAgICAgICBtaW58ICAgICAgIGF2Z3wgICAgICAgbWF4fAorIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLQorIHN5bnRoX3dyaXRlXyogLS0tLS0tLS0tLS0tPnwgICAgMjB8ICAgIDEwMi4wMHwgICAgMTA5LjQ2fCAgICAyNzguMDB8ICAgNC4xMDUKKyBzeW50aF9vbmVfYmxvY2sgLS0tLS0tLS0tLT58ICAgIDIwfCAgICAgOTkuMDB8ICAgIDEwNi45MXwgICAgMjY1LjAwfCAgIDQuMDA5Cisgc3ludGhfb25lX2Jsb2NrOmNsZWFyIC0tLS0+fCAgICAyMHwgICAgICAxLjAwfCAgICAgIDEuNjd8ICAgICAyMi4wMHwgICAwLjA2MgorIHN5bnRoX29uZV9ibG9jazpvbmUgdm9pY2UtPnwgICAgIDF8ICAgICAxMS4wMHwgICAgIDEyLjMwfCAgICAgNTQuMDB8ICAgMC40NjEKKyBzeW50aF9vbmVfYmxvY2s6YWxsIHZvaWNlcz58ICAgIDIwfCAgICAgOTcuMDB8ICAgIDEwMy45NHwgICAgMjUxLjAwfCAgIDMuODk4Cisgc3ludGhfb25lX2Jsb2NrOnJldmVyYiAtLS0+fCBubyBwcm9maWxpbmcgYXZhaWxhYmxlCisgc3ludGhfb25lX2Jsb2NrOmNob3J1cyAtLS0+fCBubyBwcm9maWxpbmcgYXZhaWxhYmxlCisgdm9pY2U6bm90ZSAtLS0tLS0tLS0tLS0tLS0+fCBubyBwcm9maWxpbmcgYXZhaWxhYmxlCisgdm9pY2U6cmVsZWFzZSAtLS0tLS0tLS0tLS0+fCBubyBwcm9maWxpbmcgYXZhaWxhYmxlCisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgQ3B1IGxvYWRzKCUpIChzcjogNDgwMDAgSHosIHNwOiAyMC44MyBtaWNyb3NlY29uZCkgYW5kIG1heGltdW0gdm9pY2VzCisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgblZvaWNlc3wgdG90YWwoJSl8dm9pY2VzKCUpfCByZXZlcmIoJSl8Y2hvcnVzKCUpfCB2b2ljZSglKXxlc3RpbWF0ZWQgbWF4Vm9pY2VzCisgLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICAyMHwgICAgNC4xMDV8ICAgIDQuMTA1fCAgICAgMC4wMDB8ICAgIDAuMDAwfCAgICAwLjE5NXwgICAgICAgICAgICAgIDUxMworCitQcm9maWxpbmcgdGltZShtbTpzcyk6IFRvdGFsPTA6MzAgIFJlbWFpbmRlcj0wOjEwLCBwcmVzcyA8RU5URVI+IHRvIGNhbmNlbAorIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIER1cmF0aW9uKG1pY3Jvc2Vjb25kKSBhbmQgY3B1IGxvYWRzKCUpIChzcjogNDgwMDAgSHosIHNwOiAyMC44MyBtaWNyb3NlY29uZCkKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBDb2RlIHVuZGVyIHByb2ZpbGluZyAgICAgICB8Vm9pY2VzfCAgICAgICBEdXJhdGlvbiAobWljcm9zZWNvbmQpICAgfCAgTG9hZCglKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICBuYnJ8ICAgICAgIG1pbnwgICAgICAgYXZnfCAgICAgICBtYXh8CisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tCisgc3ludGhfd3JpdGVfKiAtLS0tLS0tLS0tLS0+fCAgICAyMHwgICAgMTAyLjAwfCAgICAxMDkuMjJ8ICAgIDI3OC4wMHwgICA0LjA5NgorIHN5bnRoX29uZV9ibG9jayAtLS0tLS0tLS0tPnwgICAgMjB8ICAgICA5OS4wMHwgICAgMTA2LjY1fCAgICAyNjUuMDB8ICAgMy45OTkKKyBzeW50aF9vbmVfYmxvY2s6Y2xlYXIgLS0tLT58ICAgIDIwfCAgICAgIDEuMDB8ICAgICAgMS42N3wgICAgIDIyLjAwfCAgIDAuMDYyCisgc3ludGhfb25lX2Jsb2NrOm9uZSB2b2ljZS0+fCAgICAgMXwgICAgIDExLjAwfCAgICAgMTIuMzF8ICAgICA1Ny4wMHwgICAwLjQ2MgorIHN5bnRoX29uZV9ibG9jazphbGwgdm9pY2VzPnwgICAgMjB8ICAgICA5Ny4wMHwgICAgMTAzLjY4fCAgICAyNTEuMDB8ICAgMy44ODgKKyBzeW50aF9vbmVfYmxvY2s6cmV2ZXJiIC0tLT58IG5vIHByb2ZpbGluZyBhdmFpbGFibGUKKyBzeW50aF9vbmVfYmxvY2s6Y2hvcnVzIC0tLT58IG5vIHByb2ZpbGluZyBhdmFpbGFibGUKKyB2b2ljZTpub3RlIC0tLS0tLS0tLS0tLS0tLT58IG5vIHByb2ZpbGluZyBhdmFpbGFibGUKKyB2b2ljZTpyZWxlYXNlIC0tLS0tLS0tLS0tLT58IG5vIHByb2ZpbGluZyBhdmFpbGFibGUKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBDcHUgbG9hZHMoJSkgKHNyOiA0ODAwMCBIeiwgc3A6IDIwLjgzIG1pY3Jvc2Vjb25kKSBhbmQgbWF4aW11bSB2b2ljZXMKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBuVm9pY2VzfCB0b3RhbCglKXx2b2ljZXMoJSl8IHJldmVyYiglKXxjaG9ydXMoJSl8IHZvaWNlKCUpfGVzdGltYXRlZCBtYXhWb2ljZXMKKyAtLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgIDIwfCAgICA0LjA5NnwgICAgNC4wOTZ8ICAgICAwLjAwMHwgICAgMC4wMDB8ICAgIDAuMTk0fCAgICAgICAgICAgICAgNTE0CitTdG9wcGluZyAyMCB2b2ljZXMuLi52b2ljZXMgc3RvcHBlZC4KKz4gcXVpdAorY2hlZXJzIQorSmFja1RlbXBvcmFyeUV4Y2VwdGlvbiA6IG5vdyBxdWl0cy4uLgorSmFjayBtYWluIGNhdWdodCBzaWduYWwgMgorZmx1aWRfcHJvZmlsaW5nX3ByaW50CitmbHVpZHN5bnRoOiBFc3RpbWF0ZWQgdGltZXM6IG1pbi9hdmcvbWF4IChtaWNybyBzZWNvbmRzKQorZmx1aWRzeW50aDogc3ludGhfd3JpdGVfKiAtLS0tLS0tLS0tLS0+OiAxMDIuMDAwLzEwOS4yMTYvMjc4LjAwMAorZmx1aWRzeW50aDogc3ludGhfb25lX2Jsb2NrIC0tLS0tLS0tLS0+OiA5OS4wMDAvMTA2LjY0OS8yNjUuMDAwCitmbHVpZHN5bnRoOiBzeW50aF9vbmVfYmxvY2s6Y2xlYXIgLS0tLT46IDEuMDAwLzEuNjY2LzIyLjAwMAorZmx1aWRzeW50aDogc3ludGhfb25lX2Jsb2NrOm9uZSB2b2ljZS0+OiAxMS4wMDAvMTIuMzA3LzU3LjAwMAorZmx1aWRzeW50aDogc3ludGhfb25lX2Jsb2NrOmFsbCB2b2ljZXM+OiA5Ny4wMDAvMTAzLjY4MS8yNTEuMDAwCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQtc3BlY2lmaWNdCisKKy0tLQorIHNyYy9ydm9pY2UvZmx1aWRfcnZvaWNlX21peGVyLmMgfCA1NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL3J2b2ljZS9mbHVpZF9ydm9pY2VfbWl4ZXIuYyBiL3NyYy9ydm9pY2UvZmx1aWRfcnZvaWNlX21peGVyLmMKK2luZGV4IGFmMGVmNzVkLi4wN2EzNTdjNyAxMDA2NDQKKy0tLSBhL3NyYy9ydm9pY2UvZmx1aWRfcnZvaWNlX21peGVyLmMKKysrKyBiL3NyYy9ydm9pY2UvZmx1aWRfcnZvaWNlX21peGVyLmMKK0BAIC0yNyw2ICsyNyw5IEBACisgI2luY2x1ZGUgImZsdWlkX2xhZHNwYS5oIgorICNpbmNsdWRlICJmbHVpZF9zeW50aC5oIgorIAorKyNpZiBkZWZpbmVkKF9fQVJNX05FT05fXykKKysjaW5jbHVkZSAiYXJtX25lb24uaCIKKysjZW5kaWYKKyAKKyAvLyBJZiBsZXNzIHRoYW4geCB2b2ljZXMsIHRoZSB0aHJlYWQgb3ZlcmhlYWQgaXMgbGFyZ2VyIHRoYW4gdGhlIGdhaW4sCisgLy8gc28gZG9uJ3QgYWN0aXZhdGUgdGhlIHRocmVhZChzKS4KK0BAIC0xMDUzLDkgKzEwNTYsMTUgQEAgZmx1aWRfbWl4ZXJfYnVmZmVyc19taXgoZmx1aWRfbWl4ZXJfYnVmZmVyc190ICpkc3QsIGZsdWlkX21peGVyX2J1ZmZlcnNfdCAqc3JjLAorICAgICBpbnQgaSwgajsKKyAgICAgaW50IHNjb3VudCA9IGN1cnJlbnRfYmxvY2tjb3VudCAqIEZMVUlEX0JVRlNJWkU7CisgICAgIGludCBtaW5idWY7CisrI2lmIGRlZmluZWQoX19BUk1fTkVPTl9fKSAmJiBkZWZpbmVkKFdJVEhfRkxPQVQpCisrICAgIGZsdWlkX3JlYWxfdCAqRkxVSURfUkVTVFJJQ1QgYmFzZV9zcmNfbGVmdDsKKysgICAgZmx1aWRfcmVhbF90ICpGTFVJRF9SRVNUUklDVCBiYXNlX3NyY19yaWdodDsKKysgICAgZmx1aWRfcmVhbF90ICpGTFVJRF9SRVNUUklDVCBiYXNlX2RzdF9sZWZ0OworKyAgICBmbHVpZF9yZWFsX3QgKkZMVUlEX1JFU1RSSUNUIGJhc2VfZHN0X3JpZ2h0OworKyNlbHNlCisgICAgIGZsdWlkX3JlYWxfdCAqRkxVSURfUkVTVFJJQ1QgYmFzZV9zcmM7CisgICAgIGZsdWlkX3JlYWxfdCAqRkxVSURfUkVTVFJJQ1QgYmFzZV9kc3Q7CistCisrI2VuZGlmCisgICAgIG1pbmJ1ZiA9IGRzdC0+YnVmX2NvdW50OworIAorICAgICBpZihtaW5idWYgPiBzcmMtPmJ1Zl9jb3VudCkKK0BAIC0xMDYzLDYgKzEwNzIsMjcgQEAgZmx1aWRfbWl4ZXJfYnVmZmVyc19taXgoZmx1aWRfbWl4ZXJfYnVmZmVyc190ICpkc3QsIGZsdWlkX21peGVyX2J1ZmZlcnNfdCAqc3JjLAorICAgICAgICAgbWluYnVmID0gc3JjLT5idWZfY291bnQ7CisgICAgIH0KKyAKKysjaWYgZGVmaW5lZChfX0FSTV9ORU9OX18pICYmIGRlZmluZWQoV0lUSF9GTE9BVCkKKysgICAgYmFzZV9zcmNfbGVmdCA9IGZsdWlkX2FsaWduX3B0cihzcmMtPmxlZnRfYnVmLCBGTFVJRF9ERUZBVUxUX0FMSUdOTUVOVCk7CisrICAgIGJhc2VfZHN0X2xlZnQgPSBmbHVpZF9hbGlnbl9wdHIoZHN0LT5sZWZ0X2J1ZiwgRkxVSURfREVGQVVMVF9BTElHTk1FTlQpOworKyAgICBiYXNlX3NyY19yaWdodCA9IGZsdWlkX2FsaWduX3B0cihzcmMtPnJpZ2h0X2J1ZiwgRkxVSURfREVGQVVMVF9BTElHTk1FTlQpOworKyAgICBiYXNlX2RzdF9yaWdodCA9IGZsdWlkX2FsaWduX3B0cihkc3QtPnJpZ2h0X2J1ZiwgRkxVSURfREVGQVVMVF9BTElHTk1FTlQpOworKworKyAgICBmb3IoaSA9IDA7IGkgPCBtaW5idWY7IGkrKykKKysgICAgeworKyAgICAgICAgZm9yKGogPSAwOyBqIDwgc2NvdW50OyBqKz00KQorKyAgICAgICAgeworKyAgICAgICAgICAgIGludCBkc3BfaSA9IGkgKiBGTFVJRF9NSVhFUl9NQVhfQlVGRkVSU19ERUZBVUxUICogRkxVSURfQlVGU0laRSArIGo7CisrCisrICAgICAgICAgICAgZmxvYXQzMng0X3QgdmxlZnQgPSB2bGQxcV9mMzIoJmJhc2VfZHN0X2xlZnRbZHNwX2ldKTsKKysgICAgICAgICAgICBmbG9hdDMyeDRfdCB2cmlnaHQgPSB2bGQxcV9mMzIoJmJhc2VfZHN0X3JpZ2h0W2RzcF9pXSk7CisrICAgICAgICAgICAgdmxlZnQgPSB2YWRkcV9mMzIodmxlZnQsIHZsZDFxX2YzMigmYmFzZV9zcmNfbGVmdFtkc3BfaV0pKTsKKysgICAgICAgICAgICB2cmlnaHQgPSB2YWRkcV9mMzIodnJpZ2h0LCB2bGQxcV9mMzIoJmJhc2Vfc3JjX3JpZ2h0W2RzcF9pXSkpOworKyAgICAgICAgICAgIHZzdDFxX2YzMigmYmFzZV9kc3RfbGVmdFtkc3BfaV0sIHZsZWZ0KTsKKysgICAgICAgICAgICB2c3QxcV9mMzIoJmJhc2VfZHN0X3JpZ2h0W2RzcF9pXSwgdnJpZ2h0KTsKKysgICAgICAgIH0KKysgICAgfQorKyNlbHNlCisgICAgIGJhc2Vfc3JjID0gZmx1aWRfYWxpZ25fcHRyKHNyYy0+bGVmdF9idWYsIEZMVUlEX0RFRkFVTFRfQUxJR05NRU5UKTsKKyAgICAgYmFzZV9kc3QgPSBmbHVpZF9hbGlnbl9wdHIoZHN0LT5sZWZ0X2J1ZiwgRkxVSURfREVGQVVMVF9BTElHTk1FTlQpOworIAorQEAgLTEwOTAsNiArMTEyMCw3IEBAIGZsdWlkX21peGVyX2J1ZmZlcnNfbWl4KGZsdWlkX21peGVyX2J1ZmZlcnNfdCAqZHN0LCBmbHVpZF9taXhlcl9idWZmZXJzX3QgKnNyYywKKyAgICAgICAgICAgICBiYXNlX2RzdFtkc3BfaV0gKz0gYmFzZV9zcmNbZHNwX2ldOworICAgICAgICAgfQorICAgICB9CisrI2VuZGlmCisgCisgICAgIG1pbmJ1ZiA9IGRzdC0+ZnhfYnVmX2NvdW50OworIAorQEAgLTEwOTgsNiArMTEyOSwyNyBAQCBmbHVpZF9taXhlcl9idWZmZXJzX21peChmbHVpZF9taXhlcl9idWZmZXJzX3QgKmRzdCwgZmx1aWRfbWl4ZXJfYnVmZmVyc190ICpzcmMsCisgICAgICAgICBtaW5idWYgPSBzcmMtPmZ4X2J1Zl9jb3VudDsKKyAgICAgfQorIAorKyNpZiBkZWZpbmVkKF9fQVJNX05FT05fXykgJiYgZGVmaW5lZChXSVRIX0ZMT0FUKQorKyAgICBiYXNlX3NyY19sZWZ0ID0gZmx1aWRfYWxpZ25fcHRyKHNyYy0+ZnhfbGVmdF9idWYsIEZMVUlEX0RFRkFVTFRfQUxJR05NRU5UKTsKKysgICAgYmFzZV9kc3RfbGVmdCA9IGZsdWlkX2FsaWduX3B0cihkc3QtPmZ4X2xlZnRfYnVmLCBGTFVJRF9ERUZBVUxUX0FMSUdOTUVOVCk7CisrICAgIGJhc2Vfc3JjX3JpZ2h0ID0gZmx1aWRfYWxpZ25fcHRyKHNyYy0+ZnhfcmlnaHRfYnVmLCBGTFVJRF9ERUZBVUxUX0FMSUdOTUVOVCk7CisrICAgIGJhc2VfZHN0X3JpZ2h0ID0gZmx1aWRfYWxpZ25fcHRyKGRzdC0+ZnhfcmlnaHRfYnVmLCBGTFVJRF9ERUZBVUxUX0FMSUdOTUVOVCk7CisrCisrICAgIGZvcihpID0gMDsgaSA8IG1pbmJ1ZjsgaSsrKQorKyAgICB7CisrICAgICAgICBmb3IoaiA9IDA7IGogPCBzY291bnQ7IGorPTQpCisrICAgICAgICB7CisrICAgICAgICAgICAgaW50IGRzcF9pID0gaSAqIEZMVUlEX01JWEVSX01BWF9CVUZGRVJTX0RFRkFVTFQgKiBGTFVJRF9CVUZTSVpFICsgajsKKysKKysgICAgICAgICAgICBmbG9hdDMyeDRfdCB2bGVmdCA9IHZsZDFxX2YzMigmYmFzZV9kc3RfbGVmdFtkc3BfaV0pOworKyAgICAgICAgICAgIGZsb2F0MzJ4NF90IHZyaWdodCA9IHZsZDFxX2YzMigmYmFzZV9kc3RfcmlnaHRbZHNwX2ldKTsKKysgICAgICAgICAgICB2bGVmdCA9IHZhZGRxX2YzMih2bGVmdCwgdmxkMXFfZjMyKCZiYXNlX3NyY19sZWZ0W2RzcF9pXSkpOworKyAgICAgICAgICAgIHZyaWdodCA9IHZhZGRxX2YzMih2cmlnaHQsIHZsZDFxX2YzMigmYmFzZV9zcmNfcmlnaHRbZHNwX2ldKSk7CisrICAgICAgICAgICAgdnN0MXFfZjMyKCZiYXNlX2RzdF9sZWZ0W2RzcF9pXSwgdmxlZnQpOworKyAgICAgICAgICAgIHZzdDFxX2YzMigmYmFzZV9kc3RfcmlnaHRbZHNwX2ldLCB2cmlnaHQpOworKyAgICAgICAgfQorKyAgICB9CisrI2Vsc2UKKyAgICAgYmFzZV9zcmMgPSBmbHVpZF9hbGlnbl9wdHIoc3JjLT5meF9sZWZ0X2J1ZiwgRkxVSURfREVGQVVMVF9BTElHTk1FTlQpOworICAgICBiYXNlX2RzdCA9IGZsdWlkX2FsaWduX3B0cihkc3QtPmZ4X2xlZnRfYnVmLCBGTFVJRF9ERUZBVUxUX0FMSUdOTUVOVCk7CisgCitAQCAtMTEyNSw2ICsxMTc3LDcgQEAgZmx1aWRfbWl4ZXJfYnVmZmVyc19taXgoZmx1aWRfbWl4ZXJfYnVmZmVyc190ICpkc3QsIGZsdWlkX21peGVyX2J1ZmZlcnNfdCAqc3JjLAorICAgICAgICAgICAgIGJhc2VfZHN0W2RzcF9pXSArPSBiYXNlX3NyY1tkc3BfaV07CisgICAgICAgICB9CisgICAgIH0KKysjZW5kaWYKKyB9CisgCisgCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZsdWlkc3ludGgvZmx1aWRzeW50aF8xLjEuMTEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZsdWlkc3ludGgvZmx1aWRzeW50aF8xLjEuMTEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRkZjMxMDIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mbHVpZHN5bnRoL2ZsdWlkc3ludGhfMS4xLjExLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotU1VNTUFSWSA9ICJGbHVpZHN5bnRoIGlzIGEgc29mdHdhcmUgc3ludGhlc2l6ZXIiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmZsdWlkc3ludGgub3JnLyIKLVNFQ1RJT04gPSAibGlicy9tdWx0aW1lZGlhIgotTElDRU5TRSA9ICJMR1BMLTIuMSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWZjMTc4YmNkNDI1MDkwOTM5YThiNjM0ZDFkNmE5NTk0IgotCi1ERVBFTkRTID0gImFsc2EtbGliIG5jdXJzZXMgZ2xpYi0yLjAiCi0KLVNSQ19VUkkgPSAiIFwKLSAgICBnaXQ6Ly9naXRodWIuY29tL0ZsdWlkU3ludGgvZmx1aWRzeW50aC5naXQ7YnJhbmNoPTEuMS54IFwKLSAgICBmaWxlOi8vMDAwMS1Vc2UtQVJNLU5FT04tYWNjZWxhcmF0aW9uLWZvci1mbG9hdC1tdWx0aXRocmVhZGVkLXNlLnBhdGNoIFwKLSIKLVNSQ1JFViA9ICJmNjVjNmJhMjVmYjJjN2UzN2M4OWZjNmE0YWZjNWFhNjQ1ZTIwOGMyIgotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBjbWFrZSBwa2djb25maWcgbGliX3BhY2thZ2UKLQotRVhUUkFfT0VDTUFLRSA9ICItRGVuYWJsZS1mbG9hdHM9T04gLURMSUJfU1VGRklYPSR7QGQuZ2V0VmFyKCdiYXNlbGliJykucmVwbGFjZSgnbGliJywgJycpfSIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3B1bHNlYXVkaW8nLCBkKX0iCi1QQUNLQUdFQ09ORklHW3NuZGZpbGVdID0gIi1EZW5hYmxlLWxpYnNuZGZpbGUtc3VwcG9ydD1PTiwtRGVuYWJsZS1saWJzbmRmaWxlLXN1cHBvcnQ9T0ZGLGxpYnNuZGZpbGUxIgotUEFDS0FHRUNPTkZJR1tqYWNrXSA9ICItRGVuYWJsZS1qYWNrLXN1cHBvcnQ9T04sLURlbmFibGUtamFjay1zdXBwb3J0PU9GRixqYWNrIgotUEFDS0FHRUNPTkZJR1twdWxzZWF1ZGlvXSA9ICItRGVuYWJsZS1wdWxzZWF1ZGlvPU9OLC1EZW5hYmxlLXB1bHNlYXVkaW89T0ZGLHB1bHNlYXVkaW8iCi1QQUNLQUdFQ09ORklHW3BvcnRhdWRpb10gPSAiLURlbmFibGUtcG9ydGF1ZGlvPU9OLC1EZW5hYmxlLXBvcnRhdWRpbz1PRkYscG9ydGF1ZGlvLXYxOSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZmx1aWRzeW50aC9mbHVpZHN5bnRoX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZmx1aWRzeW50aC9mbHVpZHN5bnRoX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZjYwMGEyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mbHVpZHN5bnRoL2ZsdWlkc3ludGhfZ2l0LmJiCkBAIC0wLDAgKzEsMjIgQEAKK3JlcXVpcmUgJHtCUE59LmluYworCitERVBFTkRTID0gIiR7QlBOfS1uYXRpdmUgYWxzYS1saWIgbmN1cnNlcyBnbGliLTIuMCIKKworU1JDX1VSSSArPSAiIFwKKyAgICBmaWxlOi8vMDAwMS1Eby1ub3QtYnVpbGQtZ2VudGFibGVzLWhlbHBlci13ZS1oYXZlLXRvLXVzZS1uYXRpdmUtLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMi1mbHVpZF9zeW50aF9ud3JpdGVfZmxvYXQtQWxsb3ctemVyby1wb2ludGVyLWZvci1sZWZ0LnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMy1Vc2UtQVJNLU5FT04tYWNjZWxhcmF0aW9uLWZvci1mbG9hdC1tdWx0aXRocmVhZGVkLXNlLnBhdGNoIFwKKyIKKworRVhUUkFfT0VDTUFLRSA9ICItRGVuYWJsZS1mbG9hdHM9T04gLURMSUJfU1VGRklYPSR7QGQuZ2V0VmFyKCdiYXNlbGliJykucmVwbGFjZSgnbGliJywgJycpfSIKKworZG9fY29uZmlndXJlX2FwcGVuZCgpIHsKKyAgICBtYWtlX3RhYmxlcy5leGUgJHtCfS8KK30KKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3B1bHNlYXVkaW8nLCBkKX0iCitQQUNLQUdFQ09ORklHW3NuZGZpbGVdID0gIi1EZW5hYmxlLWxpYnNuZGZpbGU9T04sLURlbmFibGUtbGlic25kZmlsZT1PRkYsbGlic25kZmlsZTEiCitQQUNLQUdFQ09ORklHW2phY2tdID0gIi1EZW5hYmxlLWphY2s9T04sLURlbmFibGUtamFjaz1PRkYsamFjayIKK1BBQ0tBR0VDT05GSUdbcHVsc2VhdWRpb10gPSAiLURlbmFibGUtcHVsc2VhdWRpbz1PTiwtRGVuYWJsZS1wdWxzZWF1ZGlvPU9GRixwdWxzZWF1ZGlvIgorUEFDS0FHRUNPTkZJR1twb3J0YXVkaW9dID0gIi1EZW5hYmxlLXBvcnRhdWRpbz1PTiwtRGVuYWJsZS1wb3J0YXVkaW89T0ZGLHBvcnRhdWRpby12MTkiCitQQUNLQUdFQ09ORklHW3Byb2ZpbGluZ10gPSAiLURlbmFibGUtcHJvZmlsaW5nPU9OLC1EZW5hYmxlLXByb2ZpbGluZz1PRkYiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dlcmJlcmEvZ2VyYmVyYV9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dlcmJlcmEvZ2VyYmVyYV9naXQuYmIKaW5kZXggZjc2M2NmMS4uOWM3OGRhMCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nZXJiZXJhL2dlcmJlcmFfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ2VyYmVyYS9nZXJiZXJhX2dpdC5iYgpAQCAtNywyMCArNywyMSBAQAogICAgIGZpbGU6Ly9nZXJiZXJhLnNlcnZpY2UgXAogIgogCi1QViA9ICIxLjArZ2l0JHtTUkNQVn0iCi1TUkNSRVYgPSAiNDQzNWIxNjVkMTIxMTk1YWVmZDY3ZDAyODdmN2Y5MzQ5ZTE4MWQ0NSIKK1BWID0gIjEuMy4wK2dpdCR7U1JDUFZ9IgorIyB2MS4zLjAKK1NSQ1JFViA9ICJjN2E4MWZiNDFlNDQ2ZWU2N2IzZWFjOTBlMmNhZWNkNmRlNjUxYTE2IgogCiBTID0gIiR7V09SS0RJUn0vZ2l0IgogCi1ERVBFTkRTID0gImV4cGF0IHpsaWIgY3VybCBsaWJ1cG5wIGUyZnNwcm9ncyBzcWxpdGUzICIKK0RFUEVORFMgPSAiZXhwYXQgemxpYiBjdXJsIGxpYnVwbnAgZTJmc3Byb2dzIHNxbGl0ZTMgbGlibnNsMiIKIAogU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImdlcmJlcmEuc2VydmljZSIKIAogaW5oZXJpdCBjbWFrZSBzeXN0ZW1kCiAKLVBBQ0tBR0VDT05GSUcgPSAiIgorUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCBkKX0iCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi1EV0lUSF9TWVNURU1EPVRSVUUsLURXSVRIX1NZU1RFTUQ9RkFMU0Usc3lzdGVtZCIKIFBBQ0tBR0VDT05GSUdbdGFnbGliXSA9ICItRFdJVEhfVEFHTElCPVRSVUUsLURXSVRIX1RBR0xJQj1GQUxTRSx0YWdsaWIiCi0KIEVYVFJBX09FQ01BS0UgPSAiLURXSVRIX0pTPUZBTFNFIC1EV0lUSF9NQUdJQz1GQUxTRSAtRFdJVEhfRVhJRj1GQUxTRSAtRExJQlVVSURfSU5DTFVERV9ESVJTPSR7U1RBR0lOR19JTkNESVJ9IC1ETElCVVVJRF9MSUJSQVJJRVM9LWx1dWlkIgogCiBkb19pbnN0YWxsX2FwcGVuZCgpIHsKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZsdWVuZG8tbXAzXzAuMTAuMzEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mbHVlbmRvLW1wM18wLjEwLjMxLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZTJjZDJhLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZsdWVuZG8tbXAzXzAuMTAuMzEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi1yZXF1aXJlIGdzdC1mbHVlbmRvLmluYwotCi1TVU1NQVJZID0gIkZsdWVuZG8gY2xvc2VkLWZvcm1hdCBtcDMgR1N0cmVhbWVyIHBsdWctaW4iCi1MSUNFTlNFID0gIk1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTI1OWE0M2RkMWM5ODU0YjcxZmMzOTZmNzQ2OTlmNGQyIgotTElDRU5TRV9GTEFHUyA9ICJjb21tZXJjaWFsIgotCi1HU1RSRUFNRVJfREVCVUcgPz0gIi0tZGlzYWJsZS1kZWJ1ZyIKLUVYVFJBX09FQ09ORiArPSAiJHtHU1RSRUFNRVJfREVCVUd9IC0td2l0aC1nc3RyZWFtZXItYXBpPTAuMTAiCi0KLWFjcGF0aHMgPSAiLUkgJHtTfS9jb21tb24vbTQgLUkgJHtTfS9tNCIKLQotU1JDX1VSSVttZDVzdW1dID0gImFkZjAzOTBmMzQxNmJiNzJmOTFjMzU4NTI4YmUwYzM4IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImRhZTBkMDU1OWE0ZTE1OWMwZGQ5MmI3ZTE4ZGUwNTlhNTc4M2Y4ZDAzODkwNGM3ZGU0Y2E2MzkzZjdkNTVjN2QiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mbHVlbmRvLW1wZWdkZW11eF8wLjEwLjg1LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmx1ZW5kby1tcGVnZGVtdXhfMC4xMC44NS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2JiYTQxYS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mbHVlbmRvLW1wZWdkZW11eF8wLjEwLjg1LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotcmVxdWlyZSBnc3QtZmx1ZW5kby5pbmMKLQotU1VNTUFSWSA9ICJGbHVlbmRvIE1QRUcgVHJhbnNwb3J0IFN0cmVhbSBhbmQgUHJvZ3JhbSBTdHJlYW0gZGVtdXhlciBmb3IgR1N0cmVhbWVyIgotTElDRU5TRSA9ICJNUEx2MS4xIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YmUyODJmMWMzY2M5YTk4Y2MwZGM1YzJiMjVkZmM1MTAgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2dzdG1wZWdkZW11eC5oO2JlZ2lubGluZT0xO2VuZGxpbmU9MTk7bWQ1PWE5ZTkwMDMzZjU5ODk3YjkxNjY0ZDlmMmEyZmYwMWRkIgotTElDRU5TRV9GTEFHUyA9ICJjb21tZXJjaWFsIgotCi1hY3BhdGhzID0gIi1JICR7U30vY29tbW9uL200IC1JICR7U30vbTQiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI3YzRmYjk5M2Y4MGI5YWU2MzFiMTE4OTc3MzNmMDk3MCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJkZjA0YzkxY2M4ZTVkOWE4OTJjMjQ5MmVkOTg5OTc0YjQ1NDdiZWFhMmEzNjQ3NjQ5ZTg1MTEzMzE3ODk3NDI0IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmx1ZW5kby5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mbHVlbmRvLmluYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2E3N2Q2Mi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mbHVlbmRvLmluYworKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLVNVTU1BUlkgPSAiRmx1ZW5kbyBjbG9zZWQtZm9ybWF0IEdTdHJlYW1lciBwbHVnLWluIgotU0VDVElPTiA9ICJtdWx0aW1lZGlhIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9jb3JlLmZsdWVuZG8uY29tL2dzdHJlYW1lci90cmFjL3dpa2kiCi1ERVBFTkRTID0gImdzdHJlYW1lciBnc3QtcGx1Z2lucy1iYXNlIHpsaWIiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi1TUkNfVVJJID0gImh0dHA6Ly9jb3JlLmZsdWVuZG8uY29tL2dzdHJlYW1lci9zcmMvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuYnoyIgotCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLyouc28iCi1GSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC8uZGVidWciCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC8qLmxhICR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC8qLmEiCi0KLUVYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtdmFsZ3JpbmQiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1tZXRhLWJhc2VfMC4xMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LW1ldGEtYmFzZV8wLjEwLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OGYxYWJmLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LW1ldGEtYmFzZV8wLjEwLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNzMgKzAsMCBAQAotU1VNTUFSWSA9ICJHU3RyZWFtZXIgcGFja2FnZSBncm91cHMiCi1MSUNFTlNFID0gIk1JVCIKLQotQ09NTUVSQ0lBTF9QTFVHSU5TID0gIiR7Q09NTUVSQ0lBTF9BVURJT19QTFVHSU5TfSAke0NPTU1FUkNJQUxfVklERU9fUExVR0lOU30iCi1ERVBFTkRTX1VHTFk9IiR7QCdnc3QtcGx1Z2lucy11Z2x5JyBpZiAndWdseScgaW4gQ09NTUVSQ0lBTF9QTFVHSU5TLnNwbGl0KCctJykgZWxzZSAnJ30iCi1ERVBFTkRTX0JBRD0iJHtAJ2dzdC1wbHVnaW5zLWJhZCcgaWYgJ2JhZCcgaW4gQ09NTUVSQ0lBTF9QTFVHSU5TLnNwbGl0KCctJykgZWxzZSAnJ30iCi1ERVBFTkRTID0gImdzdHJlYW1lciBnc3QtcGx1Z2lucy1iYXNlIGdzdC1wbHVnaW5zLWdvb2QgJHtERVBFTkRTX1VHTFl9ICR7REVQRU5EU19CQUR9IgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPTU1PTl9MSUNFTlNFX0RJUn0vTUlUO21kNT0wODM1YWRlNjk4ZTBiY2Y4NTA2ZWNkYTJmN2I0ZjMwMiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL0NPUFlJTkcuTUlUO21kNT0zZGE5Y2ZiY2I3ODhjODBhMDM4NDM2MWI0ZGUyMDQyMCIKLQotCi1QUiA9ICJyMTMiCi0KLVBBQ0tBR0VTID0gIlwKLSAgICBnc3QtbWV0YS1iYXNlIFwKLSAgICBnc3QtbWV0YS14MTEtYmFzZSBcCi0gICAgZ3N0LW1ldGEtYXVkaW8gXAotICAgIGdzdC1tZXRhLWRlYnVnIFwKLSAgICBnc3QtbWV0YS12aWRlbyIKLQotQUxMT1dfRU1QVFlfZ3N0LW1ldGEtYmFzZSA9ICIxIgotQUxMT1dfRU1QVFlfZ3N0LW1ldGEteDExLWJhc2UgPSAiMSIKLUFMTE9XX0VNUFRZX2dzdC1tZXRhLWF1ZGlvID0gIjEiCi1BTExPV19FTVBUWV9nc3QtbWV0YS1kZWJ1ZyA9ICIxIgotQUxMT1dfRU1QVFlfZ3N0LW1ldGEtdmlkZW8gPSAiMSIKLQotUkRFUEVORFNfZ3N0LW1ldGEtYmFzZSA9ICJcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAnZ3N0LW1ldGEteDExLWJhc2UnLCAnJywgZCl9IFwKLSAgICBnc3RyZWFtZXIgXAotICAgIGdzdC1wbHVnaW5zLWJhc2UtcGxheWJpbiBcCi0gICAgZ3N0LXBsdWdpbnMtYmFzZS1kZWNvZGViaW4gXAotICAgIGdzdC1wbHVnaW5zLWJhc2UtZGVjb2RlYmluMiBcCi0gICAgZ3N0LXBsdWdpbnMtYmFzZS1naW8gXAotICAgIGdzdC1wbHVnaW5zLWJhc2UtYWxzYSBcCi0gICAgZ3N0LXBsdWdpbnMtYmFzZS12b2x1bWUgXAotICAgIGdzdC1wbHVnaW5zLWJhc2UtYXVkaW9jb252ZXJ0IFwKLSAgICBnc3QtcGx1Z2lucy1iYXNlLWF1ZGlvcmVzYW1wbGUgXAotICAgIGdzdC1wbHVnaW5zLWJhc2UtdHlwZWZpbmRmdW5jdGlvbnMgXAotICAgIGdzdC1wbHVnaW5zLWJhc2UtdmlkZW9zY2FsZSBcCi0gICAgZ3N0LXBsdWdpbnMtYmFzZS1mZm1wZWdjb2xvcnNwYWNlIFwKLSAgICBnc3QtcGx1Z2lucy1nb29kLWF1dG9kZXRlY3QgXAotICAgIGdzdC1wbHVnaW5zLWdvb2Qtc291cGh0dHBzcmMiCi0KLVJSRUNPTU1FTkRTX2dzdC1tZXRhLXgxMS1iYXNlID0gIlwKLSAgICBnc3QtcGx1Z2lucy1iYXNlLXhpbWFnZXNpbmsgXAotICAgIGdzdC1wbHVnaW5zLWJhc2UteHZpbWFnZXNpbmsiCi0KLVJERVBFTkRTX2dzdC1tZXRhLWF1ZGlvID0gIlwKLSAgICBnc3QtbWV0YS1iYXNlIFwKLSAgICBnc3QtcGx1Z2lucy1iYXNlLXZvcmJpcyBcCi0gICAgZ3N0LXBsdWdpbnMtYmFzZS1vZ2cgXAotICAgIGdzdC1wbHVnaW5zLWdvb2Qtd2F2cGFyc2UgXAotICAgIGdzdC1wbHVnaW5zLWdvb2QtZmxhYyBcCi0gICAgJHtDT01NRVJDSUFMX0FVRElPX1BMVUdJTlN9IgotCi0KLVJERVBFTkRTX2dzdC1tZXRhLWRlYnVnID0gIlwKLSAgICBnc3QtbWV0YS1iYXNlIFwKLSAgICBnc3QtcGx1Z2lucy1nb29kLWRlYnVnIFwKLSAgICBnc3QtcGx1Z2lucy1iYXNlLWF1ZGlvdGVzdHNyYyBcCi0gICAgZ3N0LXBsdWdpbnMtYmFzZS12aWRlb3Rlc3RzcmMiCi0KLQotUkRFUEVORFNfZ3N0LW1ldGEtdmlkZW8gPSAiXAotICAgIGdzdC1tZXRhLWJhc2UgXAotICAgIGdzdC1wbHVnaW5zLWdvb2QtYXZpIFwKLSAgICBnc3QtcGx1Z2lucy1nb29kLW1hdHJvc2thIFwKLSAgICBnc3QtcGx1Z2lucy1iYXNlLXRoZW9yYSBcCi0gICAgJHtDT01NRVJDSUFMX1ZJREVPX1BMVUdJTlN9IgotCi1SUkVDT01NRU5EU19nc3QtbWV0YS12aWRlbyA9ICJcCi0gICAgZ3N0LW1ldGEtYXVkaW8iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1vcGVubWF4L2djY180LjYucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1vcGVubWF4L2djY180LjYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU3YTYzYjUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3Qtb3Blbm1heC9nY2NfNC42LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IFNhdWwgV29sZCA8c2d3QGxpbnV4LmludGVsLmNvbT4KLQotSW5kZXg6IGdzdC1vcGVubWF4LTAuMTAuMS9vbXgvZ3N0b214LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnc3Qtb3Blbm1heC0wLjEwLjEub3JpZy9vbXgvZ3N0b214LmMJMjAxMC0wOS0zMCAxODowMDoyNC4wMDAwMDAwMDAgLTA3MDAKLSsrKyBnc3Qtb3Blbm1heC0wLjEwLjEvb214L2dzdG9teC5jCTIwMTEtMDUtMTcgMjM6MDg6MDguNzk0NTM1ODcyIC0wNzAwCi1AQCAtMjM4LDcgKzIzOCw4IEBACi0gICAgIGNvbnN0IGdjaGFyICplbGVtZW50X25hbWUgPSBnc3Rfc3RydWN0dXJlX250aF9maWVsZF9uYW1lIChlbGVtZW50X3RhYmxlLCBpKTsKLSAgICAgR3N0U3RydWN0dXJlICplbGVtZW50ID0gZ2V0X2VsZW1lbnRfZW50cnkgKGVsZW1lbnRfbmFtZSk7Ci0gICAgIGNvbnN0IGdjaGFyICp0eXBlX25hbWUsICpwYXJlbnRfdHlwZV9uYW1lOwotLSAgICBjb25zdCBnY2hhciAqY29tcG9uZW50X25hbWUsICpjb21wb25lbnRfcm9sZSwgKmxpYnJhcnlfbmFtZTsKLSsgICAgY29uc3QgZ2NoYXIgKmNvbXBvbmVudF9uYW1lLCAqbGlicmFyeV9uYW1lOwotKyAgICBjb25zdCBnY2hhciBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgKmNvbXBvbmVudF9yb2xlOwotICAgICBHVHlwZSB0eXBlOwotICAgICBnaW50IHJhbms7Ci0gCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1vcGVubWF4L3B0ci1hcnJheS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LW9wZW5tYXgvcHRyLWFycmF5LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1OTY1YmJhLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LW9wZW5tYXgvcHRyLWFycmF5LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotUmVuYW1lIHN0YXRpYyBmdW5jdGlvbnMgdGhhdCB1c2UgR0xpYiBuYW1pbmcgY29udmVudGlvbnMgYXMgb25lIG9mIHRoZW0KLShnX3B0cl9hcnJheV9pbnNlcnQpIGhhcyBub3cgYmVlbiBhZGRlZCB0byBHTGliLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLVNpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+Ci0KLWRpZmYgLS1naXQgYS9vbXgvZ3N0b214X3V0aWwuYyBiL29teC9nc3RvbXhfdXRpbC5jCi1pbmRleCA0MjNlNDQxLi41NzlkYmY1IDEwMDY0NAotLS0tIGEvb214L2dzdG9teF91dGlsLmMKLSsrKyBiL29teC9nc3RvbXhfdXRpbC5jCi1AQCAtODUsNyArODUsNyBAQCBzdGF0aWMgZ2Jvb2xlYW4gaW5pdGlhbGl6ZWQ7Ci0gICovCi0gCi0gc3RhdGljIHZvaWQKLS1nX3B0cl9hcnJheV9jbGVhciAoR1B0ckFycmF5ICogYXJyYXkpCi0rb214X2dfcHRyX2FycmF5X2NsZWFyIChHUHRyQXJyYXkgKiBhcnJheSkKLSB7Ci0gICBndWludCBpbmRleDsKLSAgIGZvciAoaW5kZXggPSAwOyBpbmRleCA8IGFycmF5LT5sZW47IGluZGV4KyspCi1AQCAtOTMsNyArOTMsNyBAQCBnX3B0cl9hcnJheV9jbGVhciAoR1B0ckFycmF5ICogYXJyYXkpCi0gfQotIAotIHN0YXRpYyB2b2lkCi0tZ19wdHJfYXJyYXlfaW5zZXJ0IChHUHRyQXJyYXkgKiBhcnJheSwgZ3VpbnQgaW5kZXgsIGdwb2ludGVyIGRhdGEpCi0rb214X2dfcHRyX2FycmF5X2luc2VydCAoR1B0ckFycmF5ICogYXJyYXksIGd1aW50IGluZGV4LCBncG9pbnRlciBkYXRhKQotIHsKLSAgIGlmIChpbmRleCArIDEgPiBhcnJheS0+bGVuKSB7Ci0gICAgIGdfcHRyX2FycmF5X3NldF9zaXplIChhcnJheSwgaW5kZXggKyAxKTsKLUBAIC0zOTQsNyArMzk0LDcgQEAgZ19vbXhfY29yZV91bmxvYWQgKEdPbXhDb3JlICogY29yZSkKLSAgIH0KLSAKLSAgIGNvcmVfZm9yX2VhY2hfcG9ydCAoY29yZSwgZ19vbXhfcG9ydF9mcmVlKTsKLS0gIGdfcHRyX2FycmF5X2NsZWFyIChjb3JlLT5wb3J0cyk7Ci0rICBvbXhfZ19wdHJfYXJyYXlfY2xlYXIgKGNvcmUtPnBvcnRzKTsKLSB9Ci0gCi0gc3RhdGljIGlubGluZSBHT214UG9ydCAqCi1AQCAtNDE4LDcgKzQxOCw3IEBAIGdfb214X2NvcmVfbmV3X3BvcnQgKEdPbXhDb3JlICogY29yZSwgZ3VpbnQgaW5kZXgpCi0gICB9Ci0gCi0gICBwb3J0ID0gZ19vbXhfcG9ydF9uZXcgKGNvcmUsIGluZGV4KTsKLS0gIGdfcHRyX2FycmF5X2luc2VydCAoY29yZS0+cG9ydHMsIGluZGV4LCBwb3J0KTsKLSsgIG9teF9nX3B0cl9hcnJheV9pbnNlcnQgKGNvcmUtPnBvcnRzLCBpbmRleCwgcG9ydCk7Ci0gCi0gICByZXR1cm4gcG9ydDsKLSB9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1vcGVubWF4XzAuMTAuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LW9wZW5tYXhfMC4xMC4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZTAxNTc5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LW9wZW5tYXhfMC4xMC4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotU1VNTUFSWSA9ICJHU3RyZWFtZXIgcGx1Zy1pbiBmb3IgY29tbXVuaWNhdGlvbiB3aXRoIE9wZW5NQVggSUwgY29tcG9uZW50cyIKLURFU0NSSVBUSU9OID0gIkdzdE9wZW5NQVggaXMgYSBHU3RyZWFtZXIgcGx1Zy1pbiB0aGF0IGFsbG93cyBcCi1jb21tdW5pY2F0aW9uIHdpdGggT3Blbk1BWCBJbnRlZ3JhdGlvbiBMYXllciAoSUwpIGNvbXBvbmVudHMuIE9wZW5NQVggXAotSUwgaXMgYW4gaW5kdXN0cnkgc3RhbmRhcmQgdGhhdCBwcm92aWRlcyBhbiBhYnN0cmFjdGlvbiBsYXllciBmb3IgXAotY29tcHV0ZXIgZ3JhcGhpY3MsIHZpZGVvLCBhbmQgc291bmQgcm91dGluZXMuIgotSE9NRVBBR0UgPSAiaHR0cDovL2ZyZWVkZXNrdG9wLm9yZy93aWtpL0dzdE9wZW5NQVgiCi1ERVBFTkRTID0gImdzdHJlYW1lciIKLVJERVBFTkRTXyR7UE59ID0gImxpYm9teGlsIgotTElDRU5TRSA9ICJMR1BMdjIuMSIKLUxJQ0VOU0VfRkxBR1MgPSAiY29tbWVyY2lhbCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZiYzA5MzkwMTg1N2ZjZDExOGYwNjVmOTAwOTgyYzI0IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3V0aWwvc2VtLmg7YmVnaW5saW5lPTE7ZW5kbGluZT0yMDttZDU9YWNjY2U1NTUwZDU1ODNiODM5YjQ0MWEwNjIzZjA5ZmMiCi0KLVNSQ19VUkkgPSAiaHR0cDovL2dzdHJlYW1lci5mcmVlZGVza3RvcC5vcmcvc3JjL2dzdC1vcGVubWF4L2dzdC1vcGVubWF4LSR7UFZ9LnRhci5iejIgXAotICAgICAgICAgICBmaWxlOi8vZ2NjXzQuNi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9wdHItYXJyYXkucGF0Y2ggXAotICAgICAgICAgICAiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi0jIFRlbGwgY29uZmlndXJlIHRoYXQgdGhpcyBpc24ndCBhIGRldmVsb3BtZW50IHNuYXBzaG90IHNvIHdlIGRvbid0IHdhbnQKLSMgLVdlcnJvciAoaG9wZWZ1bGx5IGZpeGVkIGluIDAuMTAuMikKLWV4cG9ydCBHU1RfQ1ZTPSJubyIKLQotRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtdmFsZ3JpbmQiCi0KLVBSID0gInI0IgotCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwL2xpYmdzdG9teC5zbyIKLUZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwL2xpYmdzdG9teC5sYSIKLUZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwL2xpYmdzdG9teC5hIgotRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZ3N0cmVhbWVyLTAuMTAvLmRlYnVnLyIKLQotU1JDX1VSSVttZDVzdW1dID0gIjRkMDM3MGJmZTk5ZGVhMjA5MThjODQzNDdhYmFkYjRlIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjkwNzRkNWEwNTkxOTk1MTMzZDE5Y2ZiMTUxNDRmMTk2NjRmOTAyYzE2MjNmOTk2NTk1Njk1Y2YyYzIwNzBlMWYiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhZC9idWZmZXItb3ZlcmZsb3ctbXA0LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYWQvYnVmZmVyLW92ZXJmbG93LW1wNC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjM1YWNkYS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhZC9idWZmZXItb3ZlcmZsb3ctbXA0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotRGVzY3JpcHRpb246IEZpeCBidWZmZXIgb3ZlcmZsb3cgaW4gbXA0IHBhcnNpbmcKLUF1dGhvcjogUmFscGggR2lsZXMgPGdpbGVzQG1vemlsbGEuY29tPgotLS0tCi1CYWNrcG9ydCBwYXRjaCBmcm9tIGRlYmlhbiB0byBmaXggQ1ZFLTIwMTUtMDc5Ny4KLWh0dHBzOi8vc291cmNlcy5kZWJpYW4ubmV0L2RhdGEvbWFpbi9nL2dzdC1wbHVnaW5zLWJhZDAuMTAvMC4xMC4yMy03LjErZGViN3UyL2RlYmlhbi9wYXRjaGVzL2J1ZmZlci1vdmVyZmxvdy1tcDQucGF0Y2gKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotCi1TaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KLS0tLQotLS0tIGdzdC1wbHVnaW5zLWJhZDAuMTAtMC4xMC4yMy5vcmlnL2dzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmMKLSsrKyBnc3QtcGx1Z2lucy1iYWQwLjEwLTAuMTAuMjMvZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYwotQEAgLTM4NCw2ICszODQsMTEgQEAgZ3N0X2gyNjRfcGFyc2Vfd3JhcF9uYWwgKEdzdEgyNjRQYXJzZSAqCi0gCi0gICBHU1RfREVCVUdfT0JKRUNUIChoMjY0cGFyc2UsICJuYWwgbGVuZ3RoICVkIiwgc2l6ZSk7Ci0gCi0rICBpZiAoc2l6ZSA+IEdfTUFYVUlOVDMyIC0gbmwpIHsKLSsgICAgR1NUX0VMRU1FTlRfRVJST1IgKGgyNjRwYXJzZSwgU1RSRUFNLCBGQUlMRUQsIChOVUxMKSwKLSsgICAgICAgICgib3ZlcmZsb3cgaW4gbmFsIHNpemUiKSk7Ci0rICAgIHJldHVybiBOVUxMOwotKyAgfQotICAgYnVmID0gZ3N0X2J1ZmZlcl9uZXdfYW5kX2FsbG9jIChzaXplICsgbmwgKyA0KTsKLSAgIGlmIChmb3JtYXQgPT0gR1NUX0gyNjRfUEFSU0VfRk9STUFUX0FWQykgewotICAgICBHU1RfV1JJVEVfVUlOVDMyX0JFIChHU1RfQlVGRkVSX0RBVEEgKGJ1ZiksIHNpemUgPDwgKDMyIC0gOCAqIG5sKSk7Ci1AQCAtNDUyLDYgKzQ1NywxMSBAQCBnc3RfaDI2NF9wYXJzZV9wcm9jZXNzX25hbCAoR3N0SDI2NFBhcnNlCi0gICAgIEdTVF9ERUJVR19PQkpFQ1QgKGgyNjRwYXJzZSwgIm5vdCBwcm9jZXNzaW5nIG5hbCBzaXplICV1IiwgbmFsdS0+c2l6ZSk7Ci0gICAgIHJldHVybjsKLSAgIH0KLSsgIGlmIChHX1VOTElLRUxZIChuYWx1LT5zaXplID4gMjAgKiAxMDI0ICogMTAyNCkpIHsKLSsgICAgR1NUX0RFQlVHX09CSkVDVCAoaDI2NHBhcnNlLCAibm90IHByb2Nlc3NpbmcgbmFsIHNpemUgJXUgKHRvbyBiaWcpIiwKLSsgICAgICAgIG5hbHUtPnNpemUpOwotKyAgICByZXR1cm47Ci0rICB9Ci0gCi0gICAvKiB3ZSBoYXZlIGEgcGVlayBhcyB3ZWxsICovCi0gICBuYWxfdHlwZSA9IG5hbHUtPnR5cGU7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhZF8wLjEwLjIzLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYWRfMC4xMC4yMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzhmY2NjOC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhZF8wLjEwLjIzLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNjEgKzAsMCBAQAotcmVxdWlyZSBnc3QtcGx1Z2lucy5pbmMKLQotTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIrICYgTEdQTHYyLjErICIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA2MzZlNzNmZjAyMTVlOGQ2NzJkYzRjMzJjMzE3YmIzIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dzdC90dGEvZmlsdGVycy5oO2JlZ2lubGluZT0xMjtlbmRsaW5lPTI5O21kNT02MjliMGM3YTY2NWQxNTVhNjY3Nzc3OGY0NDYwZWMwNiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9NTVjYTgxN2NjYjdkNWI1YjY2MzU1NjkwZTlhYmM2MDUgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3N0L3R0YS9jcmMzMi5oO2JlZ2lubGluZT0xMjtlbmRsaW5lPTI5O21kNT03MWE5MDRkOTljZTdhZTBjMWNmMTI5ODkxYjk4MTQ1YyIKLQotREVQRU5EUyArPSAiZ3N0LXBsdWdpbnMtYmFzZSIKLQotUFIgPSAicjQiCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly9idWZmZXItb3ZlcmZsb3ctbXA0LnBhdGNoIgotCi1pbmhlcml0IGdldHRleHQgZ3NldHRpbmdzCi0KLUVYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWV4cGVyaW1lbnRhbCBcCi0gICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1zZGwgLS1kaXNhYmxlLWNkYXVkaW8gLS1kaXNhYmxlLWRpcmVjdGZiIFwKLSAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXZkcGF1IC0tZGlzYWJsZS1hcGV4c2luayIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gImJ6aXAgY3VybCBcCi0gICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAncnN2ZycsICcnLCBkKX0iCi0KLVBBQ0tBR0VDT05GSUdbYnppcF0gPSAiLS1lbmFibGUtYnoyLC0tZGlzYWJsZS1iejIsYnppcDIiCi1QQUNLQUdFQ09ORklHW2N1cmxdID0gIi0tZW5hYmxlLWN1cmwsLS1kaXNhYmxlLWN1cmwsY3VybCIKLVBBQ0tBR0VDT05GSUdbcnN2Z10gPSAiLS1lbmFibGUtcnN2ZywtLWRpc2FibGUtcnN2ZyxsaWJyc3ZnLCIKLVBBQ0tBR0VDT05GSUdbb3JjXSA9ICItLWVuYWJsZS1vcmMsLS1kaXNhYmxlLW9yYyxvcmMiCi1QQUNLQUdFQ09ORklHW25lb25dID0gIi0tZW5hYmxlLW5lb24sLS1kaXNhYmxlLW5lb24sbmVvbiIKLVBBQ0tBR0VDT05GSUdbbW1zXSA9ICItLWVuYWJsZS1saWJtbXMsLS1kaXNhYmxlLWxpYm1tcyxsaWJtbXMiCi1QQUNLQUdFQ09ORklHW2NvZ10gPSAiLS1lbmFibGUtY29nLC0tZGlzYWJsZS1jb2csbGlicG5nIgotUEFDS0FHRUNPTkZJR1tmYWFkXSA9ICItLWVuYWJsZS1mYWFkLC0tZGlzYWJsZS1mYWFkLGZhYWQyIgotUEFDS0FHRUNPTkZJR1tqcDJrXSA9ICItLWVuYWJsZS1qcDJrLC0tZGlzYWJsZS1qcDJrLGphc3BlciIKLVBBQ0tBR0VDT05GSUdbbW9kcGx1Z10gPSAiLS1lbmFibGUtbW9kcGx1ZywtLWRpc2FibGUtbW9kcGx1ZyxsaWJtb2RwbHVnIgotUEFDS0FHRUNPTkZJR1tvcHVzXSA9ICItLWVuYWJsZS1vcHVzLC0tZGlzYWJsZS1vcHVzLGxpYm9wdXMiCi1QQUNLQUdFQ09ORklHW3NuZGZpbGVdID0gIi0tZW5hYmxlLXNuZGZpbGUsLS1kaXNhYmxlLXNuZGZpbGUsbGlic25kZmlsZTEiCi1QQUNLQUdFQ09ORklHW3ZwOF0gPSAiLS1lbmFibGUtdnA4LC0tZGlzYWJsZS12cDgsbGlidnB4IgotUEFDS0FHRUNPTkZJR1thc3NdID0gIi0tZW5hYmxlLWFzc3JlbmRlciwtLWRpc2FibGUtYXNzcmVuZGVyLGxpYmFzcyIKLVBBQ0tBR0VDT05GSUdbb3BlbmFsXSA9ICItLWVuYWJsZS1vcGVuYWwsLS1kaXNhYmxlLW9wZW5hbCxvcGVuYWwtc29mdCIKLVBBQ0tBR0VDT05GSUdbc2Nocm9dID0gIi0tZW5hYmxlLXNjaHJvLC0tZGlzYWJsZS1zY2hybyxzY2hyb2VkaW5nZXIiCi1QQUNLQUdFQ09ORklHW2RjMTM5NF0gPSAiLS1lbmFibGUtZGMxMzk0LC0tZGlzYWJsZS1kYzEzOTQsbGliZGMxMzk0IgotUEFDS0FHRUNPTkZJR1tmYWFjXSA9ICItLWVuYWJsZS1mYWFjLC0tZGlzYWJsZS1mYWFjLGZhYWMiCi1QQUNLQUdFQ09ORklHW3J0bXBdID0gIi0tZW5hYmxlLXJ0bXAsLS1kaXNhYmxlLXJ0bXAscnRtcGR1bXAiCi1QQUNLQUdFQ09ORklHW3ZvYW1yd2JlbmNdID0gIi0tZW5hYmxlLXZvYW1yd2JlbmMsLS1kaXNhYmxlLXZvYW1yd2JlbmMsdm8tYW1yd2JlbmMiCi1QQUNLQUdFQ09ORklHW3ZvYWFjZW5jXSA9ICItLWVuYWJsZS12b2FhY2VuYywtLWRpc2FibGUtdm9hYWNlbmMsdm8tYWFjZW5jIgotUEFDS0FHRUNPTkZJR1tyZXNpbmR2ZF0gPSAiLS1lbmFibGUtcmVzaW5kdmQsLS1kaXNhYmxlLXJlc2luZHZkLGxpYmR2ZG5hdiBsaWJkdmRyZWFkIgotUEFDS0FHRUNPTkZJR1t6YmFyXSA9ICItLWVuYWJsZS16YmFyLC0tZGlzYWJsZS16YmFyLHpiYXIganBlZyIKLQotQVJNX0lOU1RSVUNUSU9OX1NFVCA9ICJhcm0iCi0KLVBBQ0tBR0VTID0rICIke1BOfS1yZXNpbmR2ZCIKLUZJTEVTXyR7UE59LXJlc2luZHZkID0gIiR7bGliZGlyfS9nc3RyZWFtZXItJHtMSUJWfS9saWJyZXNpbmR2ZC5zbyIKLUZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0ke0xJQlZ9L2xpYnJlc2luZHZkLmxhIgotRklMRVNfJHtQTn0tdm9hbXJ3YmVuYyArPSAiJHtkYXRhZGlyfS9nc3RyZWFtZXItJHtMSUJWfS9wcmVzZXRzL0dzdFZvQW1yd2JFbmMucHJzIgotCi1kb19jb25maWd1cmVfcHJlcGVuZCgpIHsKLSAgICAjIFRoaXMgbTQgZmlsZSBjb250YWlucyBuYXN0aW5lc3Mgd2hpY2ggY29uZmxpY3RzIHdpdGggbGlidG9vbCAyLjIuMgotICAgIHJtICR7U30vbTQvbGliLWxpbmsubTQgfHwgdHJ1ZQotfQotCi1TUkNfVVJJW21kNXN1bV0gPSAiZmNiMDk3OTgxMTQ0NjE5NTUyNjBlNGQ5NDBkYjU5ODciCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGVhZTdkMWExMzU3YWU4Mzc3ZmRlZDZhMWI0MmU2NjM4ODdiZWFiZTBlNmNjMzM2ZTJlZjlhZGE0MmUxMTQ5MSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtYmFzZS0wLjEwLjM2LzAwMDEtYWNsb2NhbC5tNC1kb24tdC1kby1jcmF6eS10aGluZ3MtdG8tR0xJQl9DRkxBR1MucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhc2UtMC4xMC4zNi8wMDAxLWFjbG9jYWwubTQtZG9uLXQtZG8tY3JhenktdGhpbmdzLXRvLUdMSUJfQ0ZMQUdTLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyOWZiZWM1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtYmFzZS0wLjEwLjM2LzAwMDEtYWNsb2NhbC5tNC1kb24tdC1kby1jcmF6eS10aGluZ3MtdG8tR0xJQl9DRkxBR1MucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1Gcm9tIDU0NzhlYWZlY2Y2MThjZDhlNzQyY2MxYjk2ZDY4OGEyYzdjZTVhNzkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+Ci1EYXRlOiBTdW4sIDIgT2N0IDIwMTYgMjE6NDk6MzMgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gZ3N0LWdsaWIyLm00OiBkb24ndCBkbyBjcmF6eSB0aGluZ3MgdG8gR0xJQl9DRkxBR1MKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotd2UgYXJlIGRlZmluaXRlbHkgbm90IG9uZSBvZiB0aG9zZSBwb29yIHNvdWxzIG1lbnRpb25lZAotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgotLS0tCi0gY29tbW9uL200L2dzdC1nbGliMi5tNCB8IDEgLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9jb21tb24vbTQvZ3N0LWdsaWIyLm00IGIvY29tbW9uL200L2dzdC1nbGliMi5tNAotaW5kZXggYjAxZjAyZi4uNDU2OWFlNSAxMDA2NDQKLS0tLSBhL2NvbW1vbi9tNC9nc3QtZ2xpYjIubTQKLSsrKyBiL2NvbW1vbi9tNC9nc3QtZ2xpYjIubTQKLUBAIC02OSw3ICs2OSw2IEBAIEFDX0RFRlVOKFtBR19HU1RfR0xJQl9DSEVDS10sCi0gICBmaQotIAotICAgZG5sIGZvciB0aGUgcG9vciBzb3VscyB3aG8gZm9yIGV4YW1wbGUgaGF2ZSBnbGliIGluIC91c3IvbG9jYWwKLS0gIEFTX1NDUlVCX0lOQ0xVREUoR0xJQl9DRkxBR1MpCi0gCi0gICBBQ19TVUJTVChHTElCX0VYVFJBX0NGTEFHUykKLSBdKQotLS0gCi0yLjUuNQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhc2UtMC4xMC4zNi9hdWRpb3Jlc2FtcGxlLUZpeC1idWlsZC1vbi14ODYtaWYtZW1taW50cmluLmgtaXMtYXZhLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYXNlLTAuMTAuMzYvYXVkaW9yZXNhbXBsZS1GaXgtYnVpbGQtb24teDg2LWlmLWVtbWludHJpbi5oLWlzLWF2YS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTIxNDI1Ni4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhc2UtMC4xMC4zNi9hdWRpb3Jlc2FtcGxlLUZpeC1idWlsZC1vbi14ODYtaWYtZW1taW50cmluLmgtaXMtYXZhLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotYXVkaW9yZXNhbXBsZTogRml4IGJ1aWxkIG9uIHg4NiBpZiBlbW1pbnRyaW4uaCBpcyBhdmFpbGFibGUgYnV0IGNhbid0IGJlIHVzZWQKLQotT24geDg2LCBFTU1JTlRSSU4gaXMgZGVmaW5lZCBidXQgbm90IHVzYWJsZSB3aXRob3V0IFNTRSBzbyBjaGVjayBmb3IKLV9fU1NFX18gYW5kIF9fU1NFMl9fIGFzIHdlbGwuCi0KLWh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzA2OTAKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotCi1TaWduZWQtb2ZmLWJ5OiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgotLS0tCi0gZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuYyB8ICAgIDQgKystLQotIDEgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuYyBiL2dzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmMKLWluZGV4IDk4ZDAwNmMuLjQ4MWZhMDEgMTAwNjQ0Ci0tLS0gYS9nc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5jCi0rKysgYi9nc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5jCi1AQCAtNzcsMTMgKzc3LDEzIEBACi0gI2RlZmluZSBFWFBPUlQgR19HTlVDX0lOVEVSTkFMCi0gCi0gI2lmZGVmIF9VU0VfU1NFCi0tI2lmbmRlZiBIQVZFX1hNTUlOVFJJTl9ICi0rI2lmICFkZWZpbmVkKF9fU1NFX18pIHx8ICFkZWZpbmVkKEhBVkVfWE1NSU5UUklOX0gpCi0gI3VuZGVmIF9VU0VfU1NFCi0gI2VuZGlmCi0gI2VuZGlmCi0gCi0gI2lmZGVmIF9VU0VfU1NFMgotLSNpZm5kZWYgSEFWRV9FTU1JTlRSSU5fSAotKyNpZiAhZGVmaW5lZChfX1NTRTJfXykgfHwgIWRlZmluZWQoSEFWRV9FTU1JTlRSSU5fSCkKLSAjdW5kZWYgX1VTRV9TU0UyCi0gI2VuZGlmCi0gI2VuZGlmCi0tLSAKLTEuNy4xCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtYmFzZS0wLjEwLjM2L2NvbmZpZ3VyZS5hYy1maXgtc3VicGFyc2UtcGx1Z2luLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYXNlLTAuMTAuMzYvY29uZmlndXJlLmFjLWZpeC1zdWJwYXJzZS1wbHVnaW4ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI4NjAyYzguLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYXNlLTAuMTAuMzYvY29uZmlndXJlLmFjLWZpeC1zdWJwYXJzZS1wbHVnaW4ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbc2ltaWxhciBwYXRjaCBieSBvdGhlciBhdXRob3IsIGJ1Z3ppbGxhXQotQnVndHJhY2tlci1VUkw6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM2MDAKLQotUHJlcGVuZCBQS0dfQ09ORklHX1NZU1JPT1QgdG8gaW5jbHVkZWRpciwgc28gY29uZmlndXJlIGRvZXNuJ3QKLXNlYXJjaCBmb3IgZ3N0Y29uZmlnLmggaW4gL3Vzci9pbmNsdWRlLgotCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE9iZXJyaXR0ZXIgPG9iaUBvcGVuZHJlYW1ib3gub3JnPgotLS0tCi0gY29uZmlndXJlLmFjIHwgICAgMiArLQotIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCAxOTAxYmNmLi40NjBmYjBhIDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmFjCi0rKysgYi9jb25maWd1cmUuYWMKLUBAIC00MzUsNyArNDM1LDcgQEAgQUdfR1NUX0NIRUNLX1BMVUdJTih2b2x1bWUpCi0gZG5sIGNoZWNrIGZvciBnc3RyZWFtZXIgY29yZSBmZWF0dXJlcyAoc3Vic3lzdGVtcykKLSBkbmwgRklYTUU6IHRoaXMgYXNzdW1lcyBzcmNkaXIgPT0gYnVpbGRkaXIgZm9yIHVuaW5zdGFsbGVkIHNldHVwcwotIEdTVF9DT05GSUdQQVRIPWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPWluY2x1ZGVkaXIgZ3N0cmVhbWVyLTAuMTBgIi9nc3QvZ3N0Y29uZmlnLmgiCi0tQUdfR1NUX1BBUlNFX1NVQlNZU1RFTV9ESVNBQkxFUygkR1NUX0NPTkZJR1BBVEgpCi0rQUdfR1NUX1BBUlNFX1NVQlNZU1RFTV9ESVNBQkxFUygkUEtHX0NPTkZJR19TWVNST09UX0RJUiRHU1RfQ09ORklHUEFUSCkKLSBBTV9DT05ESVRJT05BTChVU0VfWE1MLCB0ZXN0ICRHU1RfRElTQUJMRV9YTUwgIT0gIjEiKQotIAotIGRubCBkaXNhYmxlIHBsdWctaW5zIHRoYXQgcmVxdWlyZSBsaWJ4bWwyJ3MgSFRNTCBzdXBwb3J0IGlmIGl0IGlzIG5vdCBhdmFpbGFibGUKLS0tIAotMS43LjUuNAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhc2UtMC4xMC4zNi9nc3QtcGx1Z2lucy1iYXNlLXRyZW1vci5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtYmFzZS0wLjEwLjM2L2dzdC1wbHVnaW5zLWJhc2UtdHJlbW9yLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OWRiYzlkLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtYmFzZS0wLjEwLjM2L2dzdC1wbHVnaW5zLWJhc2UtdHJlbW9yLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotUmVtb3ZlIC1EVFJFTU9SIG9wdGlvbiBzaW5jZSBUcmVtb3IgaGFzIGRyb3BwZWQgaXRzIGludGVybmFsCi1saWJvZ2cyLCBhbmQgZ3N0LXBsdWdpbnMtYmFzZSBoYXMgZGVwZW5kZW5jeSBvbiB0aGF0LgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCi0KLVNpZ25lZC1vZmYtYnk6IERvbmd4aWFvIFh1IDxkb25neGlhby54dUBpbnRlbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBTaGFuZSBXYW5nIDxzaGFuZS53YW5nQGludGVsLmNvbT4KLQotZGlmZiAtciA3MDA2NWZiNGUwODUgZXh0L3ZvcmJpcy9NYWtlZmlsZS5hbQotLS0tIGEvZXh0L3ZvcmJpcy9NYWtlZmlsZS5hbQlUdWUgTWFyIDEzIDE2OjM2OjU2IDIwMTIgKzA4MDAKLSsrKyBiL2V4dC92b3JiaXMvTWFrZWZpbGUuYW0JVHVlIE1hciAxMyAxNjozODo1MyAyMDEyICswODAwCi1AQCAtMzAsNyArMzAsNyBAQAotIAlnc3R2b3JiaXNkZWMuYyBnc3R2b3JiaXNkZWNsaWIuYyBnc3R2b3JiaXNjb21tb24uYwotIGxpYmdzdGl2b3JiaXNkZWNfbGFfQ0ZMQUdTID0gXAotIAkkKEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTKSAkKEdTVF9DRkxBR1MpIFwKLS0JLURUUkVNT1IgJChJVk9SQklTX0NGTEFHUykKLSsJJChJVk9SQklTX0NGTEFHUykKLSBsaWJnc3Rpdm9yYmlzZGVjX2xhX0xJQkFERCA9IFwKLSAJJCh0b3BfYnVpbGRkaXIpL2dzdC1saWJzL2dzdC90YWcvbGliZ3N0dGFnLUBHU1RfTUFKT1JNSU5PUkAubGEgXAotIAkkKHRvcF9idWlsZGRpcikvZ3N0LWxpYnMvZ3N0L2F1ZGlvL2xpYmdzdGF1ZGlvLUBHU1RfTUFKT1JNSU5PUkAubGEgXApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYXNlXzAuMTAuMzYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhc2VfMC4xMC4zNi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjIzNTQ2NC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhc2VfMC4xMC4zNi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLXJlcXVpcmUgZ3N0LXBsdWdpbnMuaW5jCi0KLUxJQ0VOU0UgPSAiR1BMdjIrICYgTEdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA2MzZlNzNmZjAyMTVlOGQ2NzJkYzRjMzJjMzE3YmIzIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2NvbW1vbi9jb3ZlcmFnZS9jb3ZlcmFnZS1yZXBvcnQucGw7YmVnaW5saW5lPTI7ZW5kbGluZT0xNzttZDU9NjIyOTIxZmZhZDhjYjE4YWI5MDZjNTYwNTI3ODhhM2YgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTU1Y2E4MTdjY2I3ZDViNWI2NjM1NTY5MGU5YWJjNjA1IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dzdC9mZm1wZWdjb2xvcnNwYWNlL3V0aWxzLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0yMDttZDU9OWM4M2EyMDBiOGU1OTdiMjZjYTI5ZGYyMGZjNmVjZDAiCi0KLURFUEVORFMgKz0gImFsc2EtbGliIGxpYm9nZyBsaWJ2b3JiaXMgbGlidGhlb3JhIHV0aWwtbGludXggdHJlbW9yIGdsaWItMi4wLW5hdGl2ZSIKLQotU1JDX1VSSSArPSAiZmlsZTovL2dzdC1wbHVnaW5zLWJhc2UtdHJlbW9yLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUuYWMtZml4LXN1YnBhcnNlLXBsdWdpbi5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vYXVkaW9yZXNhbXBsZS1GaXgtYnVpbGQtb24teDg2LWlmLWVtbWludHJpbi5oLWlzLWF2YS5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1hY2xvY2FsLm00LWRvbi10LWRvLWNyYXp5LXRoaW5ncy10by1HTElCX0NGTEFHUy5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI3NzZjNzM4ODNlNTY3ZjY3YjljNGEyODQ3ZDhkMDQxYSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIyY2QzYjBmYThlOWI1OTVkYjhmNTE0ZWY3YzJiZGJjZDYzOWEwZDYzZDE1NGMwMGY4YzliNjA5MzIxZjQ5OTc2IgotCi1QUiA9ICJyOCIKLQotaW5oZXJpdCBnZXR0ZXh0Ci0KLUVYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWZyZWV0eXBldGVzdCIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsIGQpfSIKLQotUEFDS0FHRUNPTkZJR1tvcmNdID0gIi0tZW5hYmxlLW9yYywtLWRpc2FibGUtb3JjLG9yYyIKLVBBQ0tBR0VDT05GSUdbcGFuZ29dID0gIi0tZW5hYmxlLXBhbmdvLC0tZGlzYWJsZS1wYW5nbyxwYW5nbyIKLVBBQ0tBR0VDT05GSUdbeDExXSA9ICItLWVuYWJsZS14IC0tZW5hYmxlLXh2aWRlbywtLWRpc2FibGUteCAtLWRpc2FibGUteHZpZGVvLHZpcnR1YWwvbGlieDExIGxpYnh2IGxpYnNtIGxpYmljZSIKLVBBQ0tBR0VDT05GSUdbY2RwYXJhbm9pYV0gPSAiLS1lbmFibGUtY2RwYXJhbm9pYSwtLWRpc2FibGUtY2RwYXJhbm9pYSxjZHBhcmFub2lhIgotCi1kb19jb25maWd1cmVfcHJlcGVuZCgpIHsKLSAgICAjIFRoaXMgbTQgZmlsZSBjb250YWlucyBuYXN0aW5lc3Mgd2hpY2ggY29uZmxpY3RzIHdpdGggbGlidG9vbCAyLjIuMgotICAgIHJtIC1mICR7U30vbTQvbGliLWxpbmsubTQKLX0KLQotRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vJHtCUE59IgotCi1DQUNIRURfQ09ORklHVVJFVkFSU19hcHBlbmRfeDg2ID0gIiBhY19jdl9oZWFkZXJfZW1taW50cmluX2g9bm8gYWNfY3ZfaGVhZGVyX3htbWludHJpbl9oPW5vIgotCi0jIC91c3IvYmluL2dzdC12aXN1YWxpc2UtMC4xMCBpcyBhIHBlcmwgc2NyaXB0LgotUkRFUEVORFNfJHtQTn0tYXBwcyArPSAicGVybCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ2wvMDAwMS1jb25kaXRpb25hbC1nbC1mcmFtZWJ1ZmZlci11bmRlZmluZWQtdXNlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1nbC8wMDAxLWNvbmRpdGlvbmFsLWdsLWZyYW1lYnVmZmVyLXVuZGVmaW5lZC11c2UucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJjMmY4OGIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1nbC8wMDAxLWNvbmRpdGlvbmFsLWdsLWZyYW1lYnVmZmVyLXVuZGVmaW5lZC11c2UucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1Gcm9tIDE0ZDUxY2JlZmVmMTk3MzdlN2FiMmI2ODE4ZWUxZDNiZGIyNDhkMTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKZXJlbXkgU3Rhc2hsdWsgPGpzdGFzaGx1a0BkZWthcmVzZWFyY2guY29tPgotRGF0ZTogV2VkLCA2IEZlYiAyMDEzIDA5OjU5OjQ4IC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0hdIGNvbmRpdGlvbmFsIGdsIGZyYW1lYnVmZmVyIHVuZGVmaW5lZCB1c2UKLQotVGhlIE9wZW5HTCBleHRlbnNpb24gR0xfQVJCX2ZyYW1lYnVmZmVyX29iamVjdCBkZWZpbmVzIHRoZSBtYWNybwotR0xfRlJBTUVCVUZGRVJfVU5ERUZJTkVELiBUaGUgbWFjcm8gd2lsbCBvbmx5IG5lZWQgdG8gbWFwIHRvIGFuIGVycm9yCi1zdHJpbmcgaWYgdGhlIGV4dGVuc2lvbiBwcm92aWRlcyBmdW5jdGlvbnMgdGhhdCBtaWdodCByZXR1cm4gdGhlIG1hY3JvLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogSmVyZW15IFN0YXNobHVrIDxqc3Rhc2hsdWtAZGVrYXJlc2VhcmNoLmNvbT4KLS0tLQotIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYyB8ICAgIDIgKysKLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9nc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmMgYi9nc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmMKLWluZGV4IDNlZDBiNzEuLjY0YzZjMmMgMTAwNjQ0Ci0tLS0gYS9nc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmMKLSsrKyBiL2dzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYwotQEAgLTIxNzcsOSArMjE3NywxMSBAQCBnc3RfZ2xfZGlzcGxheV9jaGVja19mcmFtZWJ1ZmZlcl9zdGF0dXMgKHZvaWQpCi0gICAgICAgR1NUX0VSUk9SICgiR0xfRlJBTUVCVUZGRVJfSU5DT01QTEVURV9ESU1FTlNJT05TIik7Ci0gICAgICAgYnJlYWs7Ci0gCi0rI2lmIGRlZmluZWQoR0xfQVJCX2ZyYW1lYnVmZmVyX29iamVjdCkKLSAgICAgY2FzZSBHTF9GUkFNRUJVRkZFUl9VTkRFRklORUQ6Ci0gICAgICAgR1NUX0VSUk9SICgiR0xfRlJBTUVCVUZGRVJfVU5ERUZJTkVEIik7Ci0gICAgICAgYnJlYWs7Ci0rI2VuZGlmCi0gCi0gICAgIGRlZmF1bHQ6Ci0gICAgICAgR1NUX0VSUk9SICgiR2VuZXJhbCBGQk8gZXJyb3IiKTsKLS0tIAotMS43LjkuNQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdsL3JwaS1lZ2wtZ2xlczItZGVwLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1nbC9ycGktZWdsLWdsZXMyLWRlcC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2RiMWM1YS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdsL3JwaS1lZ2wtZ2xlczItZGVwLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotQ2hlY2sgZm9yIGhlYWRlciBhbmQgbGlicmFyeSBzZXBhcmF0ZWx5IGFuZCBjaGVjayBmb3IgR0xFU3YyIGJlZm9yZSBlZ2wKLXRoaXMgaXMgdG8gb3ZlcmNvbWUgYW4gYW5ub3lpbmcgaXNzdWUgd2l0aCBycGkvdXNlcmxhbmQgd2hlcmUgZWdsIGRlcGVuZHMKLW9uIHN5c21ib2xzIGZyb20gbGliR0xFU3YyCi0KLS1LaGVtCi1JbmRleDogZ3N0LXBsdWdpbnMtZ2wtMC4xMC4zL2NvbmZpZ3VyZS5hYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdzdC1wbHVnaW5zLWdsLTAuMTAuMy5vcmlnL2NvbmZpZ3VyZS5hYwotKysrIGdzdC1wbHVnaW5zLWdsLTAuMTAuMy9jb25maWd1cmUuYWMKLUBAIC0xODMsOCArMTgzLDEwIEBAIGNhc2UgJGhvc3QgaW4KLSAgICAgZWxzZQotICAgICAgIEFDX0NIRUNLX0hFQURFUlMoW0VHTC9lZ2wuaF0sIFtIQVZFX0VHTD15ZXNdLCBbSEFWRV9FR0w9bm9dKQotICAgICAgIGlmIHRlc3QgIngkSEFWRV9FR0wiID0gInh5ZXMiOyB0aGVuCi0tICAgICAgICBBR19HU1RfQ0hFQ0tfTElCSEVBREVSKEVHTCwgRUdMLCBlZ2xHZXRFcnJvciwsIEVHTC9lZ2wuaCwsIEFDX01TR19FUlJPUihbRUdMIGlzIHJlcXVpcmVkXSkpCi0tICAgICAgICBBR19HU1RfQ0hFQ0tfTElCSEVBREVSKEdMRVMyLCBHTEVTdjIsIGdsVGV4SW1hZ2UyRCwsIEdMRVMyL2dsMi5oLCwgQUNfTVNHX0VSUk9SKFtPcGVuR0xFUzIgaXMgcmVxdWlyZWRdKSkKLSsgICAgICAgIEFDX0NIRUNLX0hFQURFUlMoW0dMRVMyL2dsMi5oXSwsIEFDX01TR19FUlJPUihbT3BlbkdMRVMyIGlzIHJlcXVpcmVkXSkpCi0rICAgICAgICBBQ19DSEVDS19MSUIoR0xFU3YyLFtnbFRleEltYWdlMkRdLCwgQUNfTVNHX0VSUk9SKFtPcGVuR0xFUzIgaXMgcmVxdWlyZWRdKSkKLSsgICAgICAgIEFDX0NIRUNLX0hFQURFUlMoW0VHTC9lZ2wuaF0sLCBBQ19NU0dfRVJST1IoW0VHTCBpcyByZXF1aXJlZF0pKQotKyAgICAgICAgQUNfQ0hFQ0tfTElCKEVHTCxbZWdsR2V0RXJyb3JdLCwgQUNfTVNHX0VSUk9SKFtFR0wgaXMgcmVxdWlyZWRdKSkKLSAgICAgICAgIEdMX0xJQlM9IiRMSUJTICRYX0xJQlMgLWxFR0wgLWxHTEVTdjIiCi0gICAgICAgICBHTF9CQUNLRU5EPXgxMUVTMgotICAgICAgICAgR0xfVFlQRT1nbGVzCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdsXzAuMTAuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ2xfMC4xMC4zLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmM2VhZjMwLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ2xfMC4xMC4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotcmVxdWlyZSBnc3QtcGx1Z2lucy5pbmMKLQotTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIrICYgTEdQTHYyLjErICIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU1Y2E4MTdjY2I3ZDViNWI2NjM1NTY5MGU5YWJjNjA1IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiYWM3MGVkZTEzZjc5OTc4ZDU2ZWFlZDhhYmFhM2M5MzgiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDgzNDBiNmE0YjhhYmNlMTYzNDRhN2JjMzNlNzRhOTRmZGNjZTRmNTdlZjYzNDJjZGYyZjk0MWM0MjliZjIxMCIKLQotU1JDX1VSSSArPSAiIGZpbGU6Ly8wMDAxLWNvbmRpdGlvbmFsLWdsLWZyYW1lYnVmZmVyLXVuZGVmaW5lZC11c2UucGF0Y2ggXAotICAgICAgICAgICAgIGZpbGU6Ly9ycGktZWdsLWdsZXMyLWRlcC5wYXRjaCBcCi0iCi0KLURFUEVORFMgKz0gImdzdC1wbHVnaW5zLWJhc2UgdmlydHVhbC9saWJnbGVzMiB2aXJ0dWFsL2VnbCBqcGVnIGxpYnBuZyBnbGV3IgotCi1QUiA9ICJyNCIKLQotaW5oZXJpdCBnZXR0ZXh0IGRpc3Ryb19mZWF0dXJlc19jaGVjawotCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAib3BlbmdsIgotCi0jIFRoaXMgcGFja2FnZSBkb2Vzbid0IGhhdmUgYSBjb25maWd1cmUgc3dpdGNoIGZvciBFR0wgb3IgR0wsIHNvIGZvcmNpYmx5IHRlbGwKLSMgY29uZmlndXJlIHRoYXQgaXQgY2FuJ3QgZmluZCBnbC5oIHNvIGl0IGFsd2F5cyB1c2VzIEVHTC4gIElmL3doZW4gd2UgaGF2ZSBzb21lCi0jIHdheSBmb3IgbWFjaGluZXMgdG8gc3BlY2lmeSB0aGVpciBwcmVmZXJyZWQgR0wgZmxhdm91ciB0aGlzIGNhbiBiZQotIyBhdXRvbWF0aWNhbGx5IGFkYXB0ZWQuCi1FWFRSQV9PRUNPTkYgKz0gImFjX2N2X2hlYWRlcl9HTF9nbF9oPW5vIgotCi1BTExPV19FTVBUWV8ke1BOfSA9ICIxIgotQUxMT1dfRU1QVFlfJHtQTn0tYXBwcyA9ICIxIgotQUxMT1dfRU1QVFlfJHtQTn0tZ2xpYiA9ICIxIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1nb29kLTAuMTAuMzEvMDAwMS12NGwyLWZpeC1idWlsZC13aXRoLXJlY2VudC1rZXJuZWxzLXRoZS12NGwyX2J1ZmZlci1pLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1nb29kLTAuMTAuMzEvMDAwMS12NGwyLWZpeC1idWlsZC13aXRoLXJlY2VudC1rZXJuZWxzLXRoZS12NGwyX2J1ZmZlci1pLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NDU2ZDNjLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ29vZC0wLjEwLjMxLzAwMDEtdjRsMi1maXgtYnVpbGQtd2l0aC1yZWNlbnQta2VybmVscy10aGUtdjRsMl9idWZmZXItaS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLUZyb20gMTJkMThmZTRlOThlN2MyMzJkNTliNTZkNTI5YTA1MjFmMjkzZmU2ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KLURhdGU6IFdlZCwgNSBTZXAgMjAxMiAxODo1NDo0MiArMDIwMAotU3ViamVjdDogW1BBVENIXSB2NGwyOiBmaXggYnVpbGQgd2l0aCByZWNlbnQga2VybmVscywgdGhlIHY0bDJfYnVmZmVyIGlucHV0Ci0gZmllbGQgd2FzIHJlbW92ZWQKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotCi1bMV0gaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL2dzdHJlYW1lci9nc3QtcGx1Z2lucy1nb29kL2NvbW1pdC8/aWQ9OWYyYWE4ZDQ3ZjgzNWVhMTU1YWFmNjM1ZjYxOGMwZmMxY2E4NzAxMgotCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+Ci0tLS0KLSBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jIHwgICAgMSAtCi0gMSBmaWxlcyBjaGFuZ2VkLCAwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jIGIvc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYwotaW5kZXggYjgxYzZhNC4uNTFjYzBjZSAxMDA2NDQKLS0tLSBhL3N5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmMKLSsrKyBiL3N5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmMKLUBAIC0xODEsNyArMTgxLDYgQEAgZ3N0X3Y0bDJfYnVmZmVyX25ldyAoR3N0VjRsMkJ1ZmZlclBvb2wgKiBwb29sLCBndWludCBpbmRleCwgR3N0Q2FwcyAqIGNhcHMpCi0gICAgIEdTVF9MT0dfT0JKRUNUIChwb29sLT52NGwyZWxlbSwgIiAgTU1BUCBvZmZzZXQ6ICAldSIsCi0gICAgICAgICByZXQtPnZidWZmZXIubS5vZmZzZXQpOwotICAgR1NUX0xPR19PQkpFQ1QgKHBvb2wtPnY0bDJlbGVtLCAiICBsZW5ndGg6ICAgICV1IiwgcmV0LT52YnVmZmVyLmxlbmd0aCk7Ci0tICBHU1RfTE9HX09CSkVDVCAocG9vbC0+djRsMmVsZW0sICIgIGlucHV0OiAgICAgJXUiLCByZXQtPnZidWZmZXIuaW5wdXQpOwotIAotICAgZGF0YSA9IChndWludDggKikgdjRsMl9tbWFwICgwLCByZXQtPnZidWZmZXIubGVuZ3RoLAotICAgICAgIFBST1RfUkVBRCB8IFBST1RfV1JJVEUsIE1BUF9TSEFSRUQsIHBvb2wtPnZpZGVvX2ZkLAotLS0gCi0xLjcuNi41Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ29vZC0wLjEwLjMxLzAwMDEtdjRsMl9jYWxscy1kZWZpbmUtVjRMMl9DSURfSENFTlRFUi1hbmQtVjRMMl9DSURfVkNFTi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ29vZC0wLjEwLjMxLzAwMDEtdjRsMl9jYWxscy1kZWZpbmUtVjRMMl9DSURfSENFTlRFUi1hbmQtVjRMMl9DSURfVkNFTi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmQwZGU1OC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdvb2QtMC4xMC4zMS8wMDAxLXY0bDJfY2FsbHMtZGVmaW5lLVY0TDJfQ0lEX0hDRU5URVItYW5kLVY0TDJfQ0lEX1ZDRU4ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi1Gcm9tIGNjYjAxZGU4MDk2YTMyZDg2ZDQ3YjBkOTJlYzM0MTZjNTdlZTRkMjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAd2luZHJpdmVyLmNvbT4KLURhdGU6IFRodSwgMjIgQXVnIDIwMTMgMTI6MTU6NTQgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gdjRsMl9jYWxsczogZGVmaW5lIFY0TDJfQ0lEX0hDRU5URVIgYW5kIFY0TDJfQ0lEX1ZDRU5URVIKLQota2VybmVsIGNvbW1pdCAyNGI5ZjUwMTcgW1ttZWRpYV0gVjRMOiBSZW1vdmUgZGVwcmVjYXRlZCBpbWFnZSBjZW50ZXJpbmcgY29udHJvbHNdCi1yZW1vdmVkIHRoZSBkZWZpbml0aW9ucyBvZiBWNEwyX0NJRF9IQ0VOVEVSIGFuZCBWNEwyX0NJRF9WQ0VOVEVSIGFmdGVyIHRocmVlCi15ZWFycyBvZiBkZXByZWNpYXRpb24uCi0KLVRoZSBpb2N0bCB2YWx1ZXMgYXJlIHN0aWxsIGZyZWUsIGFuZCB0aGUgY2FzZSBzdGF0ZW1lbnQgd2hpY2ggcHJvY2Vzc2VzcyB0aGVtCi1pbiB2NGwyIHVzZXJzcGFjZSBmYWxscyB0aHJvdWdoIHRvIHRoZSBwcm9wZXIgcmVwbGFjZW1lbnQuIFNvIGluIHRoZSBzaG9ydAotdGVybSwgd2UgY2FuIGV4cGxpY2l0bHkgZGVmaW5lIHRoZW0gdXNpbmcgdGhlIG9sZCBhYnNvbHV0ZSB2YWx1ZXMsIGFuZCBldmVyeXRoaW5nCi13aWxsIHdvcmsuCi0KLVNpZ25lZC1vZmYtYnk6IEJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEB3aW5kcml2ZXIuY29tPgotLS0tCi0gc3lzL3Y0bDIvdjRsMl9jYWxscy5jIHwgICAgOSArKysrKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3lzL3Y0bDIvdjRsMl9jYWxscy5jIGIvc3lzL3Y0bDIvdjRsMl9jYWxscy5jCi1pbmRleCAzMDliZmI2Li4zYzY0NTQ0IDEwMDY0NAotLS0tIGEvc3lzL3Y0bDIvdjRsMl9jYWxscy5jCi0rKysgYi9zeXMvdjRsMi92NGwyX2NhbGxzLmMKLUBAIC01NCwxMSArNTQsMTYgQEAKLSAjaW5jbHVkZSAiZ3N0L2dzdC1pMThuLXBsdWdpbi5oIgotIAotIC8qIFRob3NlIGFyZSBpb2N0bCBjYWxscyAqLwotKwotKy8qIFY0TDJfQ0lEX0hDRU5URVIgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBtYWlubGluZSBrZXJuZWwsIGJ1dAotKyAgIHRoZSBpb2N0bCBzcGFjZSBpcyBzdGlsbCBwcmVzZW50LiBTaW5jZSB0aGVzZSB2YWx1ZXMgZmFsbCB0aHJvdWdoCi0rICAgdG8gdGhlaXIgcmVwbGFjZW1lbnQsIGl0IGlzIHNhZmUgKGluIHRoZSBzaG9ydCB0ZXJtKSB0byByZS11c2UgdGhlCi0rICAgIG9sZCB2YWx1ZXMgZXhwbGljdGlseSAqLwotICNpZm5kZWYgVjRMMl9DSURfSENFTlRFUgotLSNkZWZpbmUgVjRMMl9DSURfSENFTlRFUiBWNEwyX0NJRF9IQ0VOVEVSX0RFUFJFQ0FURUQKLSsjZGVmaW5lIFY0TDJfQ0lEX0hDRU5URVIgVjRMMl9DSURfQkFTRSsyMgotICNlbmRpZgotICNpZm5kZWYgVjRMMl9DSURfVkNFTlRFUgotLSNkZWZpbmUgVjRMMl9DSURfVkNFTlRFUiBWNEwyX0NJRF9WQ0VOVEVSX0RFUFJFQ0FURUQKLSsjZGVmaW5lIFY0TDJfQ0lEX1ZDRU5URVIgVjRMMl9DSURfQkFTRSsyMwotICNlbmRpZgotIAotIEdTVF9ERUJVR19DQVRFR09SWV9FWFRFUk4gKHY0bDJfZGVidWcpOwotLS0gCi0xLjcuMTAuNAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdvb2QtMC4xMC4zMS8wNDA3LW11bGF3ZGVjLWZpeC1pbnRlZ2VyLW92ZXJydW4ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdvb2QtMC4xMC4zMS8wNDA3LW11bGF3ZGVjLWZpeC1pbnRlZ2VyLW92ZXJydW4ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ4YjhlOTguLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1nb29kLTAuMTAuMzEvMDQwNy1tdWxhd2RlYy1maXgtaW50ZWdlci1vdmVycnVuLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotRnJvbSBjZTk0YjJjMmI5MWI2ZGIxOTBjMTIxODYwZTEyYTZhZmFmY2U3YWUxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9sYW5kIEtyaWthdmEgPHJrcmlrYXZhQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMiBOb3YgMjAxMiAxMjozODo0NCAtMDQwMAotU3ViamVjdDogW1BBVENIIDQwNy80NDBdIG11bGF3ZGVjOiBmaXggaW50ZWdlciBvdmVycnVuCi0KLVRoZXJlIG1pZ2h0IGJlIG1vcmUgdGhhbiA2NTUzNSBzYW1wbGVzIGluIGEgY2h1bmsgb2YgZGF0YS4KLQotaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzQ2OQotCi1Db21taXQgLSAzYmU0NWY3MDIyMDMxMGVjMWM2MGQ4MTlmOTBiNWYyYWUwM2I1ZDgzIGluIDAuMTAgYnJhbmNoCi0KLVVwc3RyZWFtIFN0YXR1czogIEJhY2twb3J0ZWQKLQotU2lnbmVkLW9mZi1ieTogUm9sYW5kIEtyaWthdmEgPHJrcmlrYXZhQGdtYWlsLmNvbT4KLS0tLQotIGdzdC9sYXcvbXVsYXctY29udmVyc2lvbi5jIHwgICAgNiArKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ3N0L2xhdy9tdWxhdy1jb252ZXJzaW9uLmMgYi9nc3QvbGF3L211bGF3LWNvbnZlcnNpb24uYwotaW5kZXggOGFmYWU4MC4uMTkwYTlmNSAxMDA2NDQKLS0tLSBhL2dzdC9sYXcvbXVsYXctY29udmVyc2lvbi5jCi0rKysgYi9nc3QvbGF3L211bGF3LWNvbnZlcnNpb24uYwotQEAgLTUxLDkgKzUxLDEwIEBAIG11bGF3X2VuY29kZSAoZ2ludDE2ICogaW4sIGd1aW50OCAqIG91dCwgZ2ludCBudW1zYW1wbGVzKQotICAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LAotICAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3Ci0gICB9OwotLSAgZ2ludDE2IHNpZ24sIGV4cG9uZW50LCBtYW50aXNzYSwgaTsKLSsgIGdpbnQxNiBzaWduLCBleHBvbmVudCwgbWFudGlzc2E7Ci0gICBnaW50MTYgc2FtcGxlOwotICAgZ3VpbnQ4IHVsYXdieXRlOwotKyAgZ2ludCBpOwotIAotICAgZm9yIChpID0gMDsgaSA8IG51bXNhbXBsZXM7IGkrKykgewotICAgICBzYW1wbGUgPSBpbltpXTsKLUBAIC0xMDIsNyArMTAzLDggQEAgbXVsYXdfZGVjb2RlIChndWludDggKiBpbiwgZ2ludDE2ICogb3V0LCBnaW50IG51bXNhbXBsZXMpCi0gICBzdGF0aWMgZ2ludDE2IGV4cF9sdXRbOF0gPSB7IDAsIDEzMiwgMzk2LCA5MjQsIDE5ODAsIDQwOTIsIDgzMTYsIDE2NzY0IH07Ci0gICBnaW50MTYgc2lnbiwgZXhwb25lbnQsIG1hbnRpc3NhOwotICAgZ3VpbnQ4IHVsYXdieXRlOwotLSAgZ2ludDE2IGxpbmVhciwgaTsKLSsgIGdpbnQxNiBsaW5lYXI7Ci0rICBnaW50IGk7Ci0gCi0gICBmb3IgKGkgPSAwOyBpIDwgbnVtc2FtcGxlczsgaSsrKSB7Ci0gICAgIHVsYXdieXRlID0gaW5baV07Ci0tLSAKLTEuNy45LjUKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1nb29kXzAuMTAuMzEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdvb2RfMC4xMC4zMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjk5M2NmYy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdvb2RfMC4xMC4zMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLXJlcXVpcmUgZ3N0LXBsdWdpbnMuaW5jCi0KLUxJQ0VOU0UgPSAiR1BMdjIrICYgTEdQTHYyLjErIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTZmODllMjEwMGQ5YjZjZGZmY2VhNGYzOThlMzczNDMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vY29tbW9uL2NvdmVyYWdlL2NvdmVyYWdlLXJlcG9ydC5wbDtiZWdpbmxpbmU9MjtlbmRsaW5lPTE3O21kNT02MjI5MjFmZmFkOGNiMThhYjkwNmM1NjA1Mjc4OGEzZiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9nc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0yMzttZDU9YjYwZWJlZmQ1YjJmNWE4ZTBjYWI2YmZlZTM5MWE1ZmUiCi0KLVBSID0gInI4IgotCi1QQUNLQUdFQ09ORklHID89ICJqcGVnIHY0bCBcCi0gICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAncHVsc2VhdWRpbyB4MTEnLCBkKX0gXAotIgotUEFDS0FHRUNPTkZJR1twdWxzZWF1ZGlvXSA9ICItLWVuYWJsZS1wdWxzZSwtLWRpc2FibGUtcHVsc2UscHVsc2VhdWRpbyIKLVBBQ0tBR0VDT05GSUdbamFja10gPSAiLS1lbmFibGUtamFjaywtLWRpc2FibGUtamFjayxqYWNrIgotUEFDS0FHRUNPTkZJR1tqcGVnXSA9ICItLWVuYWJsZS1qcGVnLC0tZGlzYWJsZS1qcGVnLGpwZWciCi1QQUNLQUdFQ09ORklHW3dhdnBhY2tdID0gIi0tZW5hYmxlLXdhdnBhY2ssLS1kaXNhYmxlLXdhdnBhY2ssd2F2cGFjayIKLVBBQ0tBR0VDT05GSUdbZ2RrcGl4YnVmXSA9ICItLWVuYWJsZS1nZGtfcGl4YnVmLC0tZGlzYWJsZS1nZGtfcGl4YnVmLGdkay1waXhidWYiCi1QQUNLQUdFQ09ORklHW3Y0bF0gPSAiLS1lbmFibGUtZ3N0X3Y0bDIgLS13aXRoLWd1ZGV2LC0tZGlzYWJsZS1nc3RfdjRsMiAtLXdpdGhvdXQtZ3VkZXYsbGliZ3VkZXYiCi0jIHN1Yi1mZWF0dXJlIG9mIHY0bCwgYnV0IGNvbnRyb2wgc2VwYXJhdGVseSBzaW5jZSBsaWJ2NGwgaXMgbm90IHBhcnQgb2Ygb2UtY29yZQotUEFDS0FHRUNPTkZJR1tsaWJ2NGxdID0gIi0td2l0aC1saWJ2NGwyLC0td2l0aG91dC1saWJ2NGwyLGxpYnY0bCIKLVBBQ0tBR0VDT05GSUdbYnppcDJdID0gIi0tZW5hYmxlLWJ6MiwtLWRpc2FibGUtYnoyLGJ6aXAyIgotUEFDS0FHRUNPTkZJR1tvcmNdID0gIi0tZW5hYmxlLW9yYywtLWRpc2FibGUtb3JjLG9yYyIKLVBBQ0tBR0VDT05GSUdbeDExXSA9ICItLWVuYWJsZS14LC0tZGlzYWJsZS14LHZpcnR1YWwvbGlieDExIGxpYnhmaXhlcyBsaWJ4ZGFtYWdlIgotUEFDS0FHRUNPTkZJR1tkdjEzOTRdID0gIi0tZW5hYmxlLWR2MTM5NCwtLWRpc2FibGUtZHYxMzk0LGxpYnJhdzEzOTQgbGliaWVjNjE4ODMgbGliYXZjMTM5NCIKLQotREVQRU5EUyArPSAiZ3N0LXBsdWdpbnMtYmFzZSBnY29uZiBjYWlybyBsaWJwbmcgemxpYiBsaWJpZDN0YWcgZmxhYyBcCi0gICAgICAgICAgICBzcGVleCBsaWJzb3VwLTIuNCBsaWJjYXAiCi0KLWluaGVyaXQgZ2V0dGV4dCBnY29uZgotCi1TUkNfVVJJICs9ICJmaWxlOi8vMDAwMS12NGwyLWZpeC1idWlsZC13aXRoLXJlY2VudC1rZXJuZWxzLXRoZS12NGwyX2J1ZmZlci1pLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAxLXY0bDJfY2FsbHMtZGVmaW5lLVY0TDJfQ0lEX0hDRU5URVItYW5kLVY0TDJfQ0lEX1ZDRU4ucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzA0MDctbXVsYXdkZWMtZml4LWludGVnZXItb3ZlcnJ1bi5wYXRjaCBcCi0iCi1FWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1hYWxpYiAtLWRpc2FibGUtZXNkIC0tZGlzYWJsZS1zaG91dDIgLS1kaXNhYmxlLWxpYmNhY2EgLS1kaXNhYmxlLWhhbCBcCi0gICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1leGFtcGxlcyAtLWRpc2FibGUtdGFnbGliIgotCi1kb19jb25maWd1cmVfcHJlcGVuZCgpIHsKLSAgICAjIFRoaXMgbTQgZmlsZSBjb250YWlucyBuYXN0aW5lc3Mgd2hpY2ggY29uZmxpY3RzIHdpdGggbGlidG9vbCAyLjIuMgotICAgIHJtICR7U30vbTQvbGliLWxpbmsubTQgfHwgdHJ1ZQotfQotCi1TUkNfVVJJW21kNXN1bV0gPSAiMjRmOThhMjk0YTJiNTIxZTFiMjk0MTJiZGFkYWUyZTYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2UyNzg0MGU0MGE3OTMyZWYyZGMwMzJkNzIwMWY5ZjQxYWZjYWYwYjQzN2RhZjVkMWQ0NGRjOTZkOWUzNWFjNiIKLQotRklMRVNfJHtQTn0tZ2NvbmZlbGVtZW50cyArPSAiJHtzeXNjb25mZGlyfS9nY29uZi9zY2hlbWFzL2dzdHJlYW1lci0wLjEwLnNjaGVtYXMiCi1GSUxFU18ke1BOfS1lcXVhbGl6ZXIgKz0gIiR7ZGF0YWRpcn0vZ3N0cmVhbWVyLTAuMTAvcHJlc2V0cy8qLnBycyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtdWdseS8wMDAxLWNkaW8tY29tcGVuc2F0ZS1mb3ItbGliY2Rpby1zLXJlY2VudC1jZC10ZXh0LWFwaS1jaGEucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLXVnbHkvMDAwMS1jZGlvLWNvbXBlbnNhdGUtZm9yLWxpYmNkaW8tcy1yZWNlbnQtY2QtdGV4dC1hcGktY2hhLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZjcyZmMwLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtdWdseS8wMDAxLWNkaW8tY29tcGVuc2F0ZS1mb3ItbGliY2Rpby1zLXJlY2VudC1jZC10ZXh0LWFwaS1jaGEucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxOTMgKzAsMCBAQAotRnJvbSA2NDliZDkyY2QyNjAwNzE5ODYyYWQ1MTg5ODk5MjEyNDA5ZGQwYTY3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTGVvbiBNZXJ0ZW4gTG9oc2UgPGxlb25AZ3JlZW4tc2lkZS5kZT4KLURhdGU6IFRodSwgMyBNYXkgMjAxMiAyMzo1MDozMCArMDEwMAotU3ViamVjdDogW1BBVENIXSBjZGlvOiBjb21wZW5zYXRlIGZvciBsaWJjZGlvJ3MgcmVjZW50IGNkLXRleHQgYXBpIGNoYW5nZXMKLQotaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTExMgotCi1Db25mbGljdHM6Ci0KLQlleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jCi0KLVNpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotLS0tCi0gZXh0L2NkaW8vZ3N0Y2Rpby5jICAgICAgICB8IDM1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCi0gZXh0L2NkaW8vZ3N0Y2Rpby5oICAgICAgICB8IDE2ICsrKysrKysrKysrKysrKysKLSBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jIHwgMTkgKysrKysrKysrKysrKysrKysrKwotIDMgZmlsZXMgY2hhbmdlZCwgNjMgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2V4dC9jZGlvL2dzdGNkaW8uYyBiL2V4dC9jZGlvL2dzdGNkaW8uYwotaW5kZXggMmY1OGQxOC4uNDgzZWJmNSAxMDA2NDQKLS0tLSBhL2V4dC9jZGlvL2dzdGNkaW8uYwotKysrIGIvZXh0L2NkaW8vZ3N0Y2Rpby5jCi1AQCAtMzAsMTIgKzMwLDE2IEBACi0gR1NUX0RFQlVHX0NBVEVHT1JZIChnc3RfY2Rpb19kZWJ1Zyk7Ci0gCi0gdm9pZAotLWdzdF9jZGlvX2FkZF9jZHRleHRfZmllbGQgKEdzdE9iamVjdCAqIHNyYywgY2R0ZXh0X3QgKiBjZHRleHQsCi0rZ3N0X2NkaW9fYWRkX2NkdGV4dF9maWVsZCAoR3N0T2JqZWN0ICogc3JjLCBjZHRleHRfdCAqIGNkdGV4dCwgdHJhY2tfdCB0cmFjaywKLSAgICAgY2R0ZXh0X2ZpZWxkX3QgZmllbGQsIGNvbnN0IGdjaGFyICogZ3N0X3RhZywgR3N0VGFnTGlzdCAqKiBwX3RhZ3MpCi0gewotICAgY29uc3QgZ2NoYXIgKnR4dDsKLSAKLSsjaWYgTElCQ0RJT19WRVJTSU9OX05VTSA+IDgzCi0rICB0eHQgPSBjZHRleHRfZ2V0X2NvbnN0IChjZHRleHQsIGZpZWxkLCB0cmFjayk7Ci0rI2Vsc2UKLSAgIHR4dCA9IGNkdGV4dF9nZXRfY29uc3QgKGZpZWxkLCBjZHRleHQpOwotKyNlbmRpZgotICAgaWYgKHR4dCA9PSBOVUxMIHx8ICp0eHQgPT0gJ1wwJykgewotICAgICBHU1RfREVCVUdfT0JKRUNUIChzcmMsICJlbXB0eSBDRC1URVhUIGZpZWxkICV1ICglcykiLCBmaWVsZCwgZ3N0X3RhZyk7Ci0gICAgIHJldHVybjsKLUBAIC01Nyw2ICs2MSwxMiBAQCBnc3RfY2Rpb19hZGRfY2R0ZXh0X2ZpZWxkIChHc3RPYmplY3QgKiBzcmMsIGNkdGV4dF90ICogY2R0ZXh0LAotIH0KLSAKLSBHc3RUYWdMaXN0ICoKLSsjaWYgTElCQ0RJT19WRVJTSU9OX05VTSA+IDgzCi0rZ3N0X2NkaW9fZ2V0X2NkdGV4dCAoR3N0T2JqZWN0ICogc3JjLCBjZHRleHRfdCAqIHQsIHRyYWNrX3QgdHJhY2spCi0rewotKyAgR3N0VGFnTGlzdCAqdGFncyA9IE5VTEw7Ci0rCi0rI2Vsc2UKLSBnc3RfY2Rpb19nZXRfY2R0ZXh0IChHc3RPYmplY3QgKiBzcmMsIENkSW8gKiBjZGlvLCB0cmFja190IHRyYWNrKQotIHsKLSAgIEdzdFRhZ0xpc3QgKnRhZ3MgPSBOVUxMOwotQEAgLTY3LDE0ICs3NywyMiBAQCBnc3RfY2Rpb19nZXRfY2R0ZXh0IChHc3RPYmplY3QgKiBzcmMsIENkSW8gKiBjZGlvLCB0cmFja190IHRyYWNrKQotICAgICBHU1RfREVCVUdfT0JKRUNUIChzcmMsICJubyBDRC1URVhUIGZvciB0cmFjayAldSIsIHRyYWNrKTsKLSAgICAgcmV0dXJuIE5VTEw7Ci0gICB9Ci0rI2VuZGlmCi0gCi0tICBnc3RfY2Rpb19hZGRfY2R0ZXh0X2ZpZWxkIChzcmMsIHQsIENEVEVYVF9QRVJGT1JNRVIsIEdTVF9UQUdfQVJUSVNULCAmdGFncyk7Ci0tICBnc3RfY2Rpb19hZGRfY2R0ZXh0X2ZpZWxkIChzcmMsIHQsIENEVEVYVF9USVRMRSwgR1NUX1RBR19USVRMRSwgJnRhZ3MpOwotKyAgZ3N0X2NkaW9fYWRkX2NkdGV4dF9maWVsZCAoc3JjLCB0LCB0cmFjaywgQ0RURVhUX0ZJRUxEX1BFUkZPUk1FUiwKLSsgICAgICBHU1RfVEFHX0FSVElTVCwgJnRhZ3MpOwotKyAgZ3N0X2NkaW9fYWRkX2NkdGV4dF9maWVsZCAoc3JjLCB0LCB0cmFjaywgQ0RURVhUX0ZJRUxEX1RJVExFLCBHU1RfVEFHX1RJVExFLAotKyAgICAgICZ0YWdzKTsKLSAKLSAgIHJldHVybiB0YWdzOwotIH0KLSAKLSB2b2lkCi0rI2lmIExJQkNESU9fVkVSU0lPTl9OVU0gPiA4MwotK2dzdF9jZGlvX2FkZF9jZHRleHRfYWxidW1fdGFncyAoR3N0T2JqZWN0ICogc3JjLCBjZHRleHRfdCAqIHQsCi0rICAgIEdzdFRhZ0xpc3QgKiB0YWdzKQotK3sKLSsjZWxzZQotIGdzdF9jZGlvX2FkZF9jZHRleHRfYWxidW1fdGFncyAoR3N0T2JqZWN0ICogc3JjLCBDZElvICogY2RpbywgR3N0VGFnTGlzdCAqIHRhZ3MpCi0gewotICAgY2R0ZXh0X3QgKnQ7Ci1AQCAtODQsMTEgKzEwMiwxNCBAQCBnc3RfY2Rpb19hZGRfY2R0ZXh0X2FsYnVtX3RhZ3MgKEdzdE9iamVjdCAqIHNyYywgQ2RJbyAqIGNkaW8sIEdzdFRhZ0xpc3QgKiB0YWdzKQotICAgICBHU1RfREVCVUdfT0JKRUNUIChzcmMsICJubyBDRC1URVhUIGZvciBhbGJ1bSIpOwotICAgICByZXR1cm47Ci0gICB9Ci0rI2VuZGlmCi0gCi0tICAvKiBGSVhNRTogbWFwIENEVEVYVF9QRVJGT1JNRVIgdG8gR1NUX1RBR19BTEJVTV9BUlRJU1Qgb25jZSB3ZSBoYXZlIHRoYXQgKi8KLS0gIGdzdF9jZGlvX2FkZF9jZHRleHRfZmllbGQgKHNyYywgdCwgQ0RURVhUX1RJVExFLCBHU1RfVEFHX0FMQlVNLCAmdGFncyk7Ci0tICBnc3RfY2Rpb19hZGRfY2R0ZXh0X2ZpZWxkIChzcmMsIHQsIENEVEVYVF9HRU5SRSwgR1NUX1RBR19HRU5SRSwgJnRhZ3MpOwotLQotKyAgZ3N0X2NkaW9fYWRkX2NkdGV4dF9maWVsZCAoc3JjLCB0LCAwLCBDRFRFWFRfRklFTERfUEVSRk9STUVSLAotKyAgICAgIEdTVF9UQUdfQUxCVU1fQVJUSVNULCAmdGFncyk7Ci0rICBnc3RfY2Rpb19hZGRfY2R0ZXh0X2ZpZWxkIChzcmMsIHQsIDAsIENEVEVYVF9GSUVMRF9USVRMRSwgR1NUX1RBR19BTEJVTSwKLSsgICAgICAmdGFncyk7Ci0rICBnc3RfY2Rpb19hZGRfY2R0ZXh0X2ZpZWxkIChzcmMsIHQsIDAsIENEVEVYVF9GSUVMRF9HRU5SRSwgR1NUX1RBR19HRU5SRSwKLSsgICAgICAmdGFncyk7Ci0gICBHU1RfREVCVUcgKCJDRC1URVhUIGFsYnVtIHRhZ3M6ICUiIEdTVF9QVFJfRk9STUFULCB0YWdzKTsKLSB9Ci0gCi1kaWZmIC0tZ2l0IGEvZXh0L2NkaW8vZ3N0Y2Rpby5oIGIvZXh0L2NkaW8vZ3N0Y2Rpby5oCi1pbmRleCBlZjMxZWQwLi5jNmRhNTgwIDEwMDY0NAotLS0tIGEvZXh0L2NkaW8vZ3N0Y2Rpby5oCi0rKysgYi9leHQvY2Rpby9nc3RjZGlvLmgKLUBAIC0yNCwyMiArMjQsMzggQEAKLSAjaW5jbHVkZSA8Z3N0L2dzdC5oPgotICNpbmNsdWRlIDxjZGlvL2NkaW8uaD4KLSAjaW5jbHVkZSA8Y2Rpby9jZHRleHQuaD4KLSsjaW5jbHVkZSA8Y2Rpby92ZXJzaW9uLmg+Ci0rCi0rI2lmIExJQkNESU9fVkVSU0lPTl9OVU0gPD0gODMKLSsgICNkZWZpbmUgQ0RURVhUX0ZJRUxEX1BFUkZPUk1FUiBDRFRFWFRfUEVSRk9STUVSCi0rICAjZGVmaW5lIENEVEVYVF9GSUVMRF9HRU5SRSAgICAgQ0RURVhUX0dFTlJFCi0rICAjZGVmaW5lIENEVEVYVF9GSUVMRF9USVRMRSAgICAgQ0RURVhUX1RJVExFCi0rI2VuZGlmCi0gCi0gR1NUX0RFQlVHX0NBVEVHT1JZX0VYVEVSTiAoZ3N0X2NkaW9fZGVidWcpOwotICNkZWZpbmUgR1NUX0NBVF9ERUZBVUxUIGdzdF9jZGlvX2RlYnVnCi0gCi0gdm9pZCAgICAgZ3N0X2NkaW9fYWRkX2NkdGV4dF9maWVsZCAoR3N0T2JqZWN0ICAgICAgKiBzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2R0ZXh0X3QgICAgICAgKiBjZHRleHQsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tfdCAgICAgICAgICB0cmFjaywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZHRleHRfZmllbGRfdCAgIGZpZWxkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICogZ3N0X3RhZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHc3RUYWdMaXN0ICAgICoqIHBfdGFncyk7Ci0gCi0gR3N0VGFnTGlzdCAgKiBnc3RfY2Rpb19nZXRfY2R0ZXh0ICAoR3N0T2JqZWN0ICAgICAgKiBzcmMsCi0rI2lmIExJQkNESU9fVkVSU0lPTl9OVU0gPiA4MwotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNkdGV4dF90ICAgICAgICogdCwKLSsjZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENkSW8gICAgICAgICAgICogY2RpbywKLSsjZW5kaWYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFja190ICAgICAgICAgIHRyYWNrKTsKLSAKLSB2b2lkICAgICAgZ3N0X2NkaW9fYWRkX2NkdGV4dF9hbGJ1bV90YWdzIChHc3RPYmplY3QgICogc3JjLAotKyNpZiBMSUJDRElPX1ZFUlNJT05fTlVNID4gODMKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZHRleHRfdCAgICogdCwKLSsjZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENkSW8gICAgICAgKiBjZGlvLAotKyNlbmRpZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdzdFRhZ0xpc3QgKiB0YWdzKTsKLSAKLSAjZW5kaWYgLyogX19HU1RfQ0RJT19IX18gKi8KLWRpZmYgLS1naXQgYS9leHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jIGIvZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYwotaW5kZXggNjE1YTBjOC4uODMwODM5ZSAxMDA2NDQKLS0tLSBhL2V4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmMKLSsrKyBiL2V4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmMKLUBAIC0yMDYsNiArMjA2LDkgQEAgZ3N0X2NkaW9fY2RkYV9zcmNfb3BlbiAoR3N0QXVkaW9DZFNyYyAqIGF1ZGlvY2RzcmMsIGNvbnN0IGdjaGFyICogZGV2aWNlKQotICAgR3N0Q2Rpb0NkZGFTcmMgKnNyYzsKLSAgIGRpc2Ntb2RlX3QgZGlzY21vZGU7Ci0gICBnaW50IGZpcnN0X3RyYWNrLCBudW1fdHJhY2tzLCBpOwotKyNpZiBMSUJDRElPX1ZFUlNJT05fTlVNID4gODMKLSsgIGNkdGV4dF90ICpjZHRleHQ7Ci0rI2VuZGlmCi0gCi0gICBzcmMgPSBHU1RfQ0RJT19DRERBX1NSQyAoYXVkaW9jZHNyYyk7Ci0gCi1AQCAtMjQ0LDggKzI0NCwxOCBAQCBnc3RfY2Rpb19jZGRhX3NyY19vcGVuIChHc3RDZGRhQmFzZVNyYyAqIGNkZGFiYXNlc3JjLCBjb25zdCBnY2hhciAqIGRldmljZSkKLSAgIGlmIChzcmMtPnJlYWRfc3BlZWQgIT0gLTEpCi0gICAgIGNkaW9fc2V0X3NwZWVkIChzcmMtPmNkaW8sIHNyYy0+cmVhZF9zcGVlZCk7Ci0gCi0rI2lmIExJQkNESU9fVkVSU0lPTl9OVU0gPiA4MwotKyAgY2R0ZXh0ID0gY2Rpb19nZXRfY2R0ZXh0IChzcmMtPmNkaW8pOwotKwotKyAgaWYgKE5VTEwgPT0gY2R0ZXh0KQotKyAgICBHU1RfREVCVUdfT0JKRUNUIChzcmMsICJubyBDRC1URVhUIG9uIGRpc2MiKTsKLSsgIGVsc2UKLSsgICAgZ3N0X2NkaW9fYWRkX2NkdGV4dF9hbGJ1bV90YWdzIChHU1RfT0JKRUNUX0NBU1QgKHNyYyksIGNkdGV4dCwKLSsgICAgICAgIGNkZGFiYXNlc3JjLT50YWdzKTsKLSsjZWxzZQotICAgZ3N0X2NkaW9fYWRkX2NkdGV4dF9hbGJ1bV90YWdzIChHU1RfT0JKRUNUX0NBU1QgKHNyYyksIHNyYy0+Y2RpbywKLSAgICAgICBjZGRhYmFzZXNyYy0+dGFncyk7Ci0rI2VuZGlmCi0gCi0gICBHU1RfTE9HX09CSkVDVCAoc3JjLCAiJXUgdHJhY2tzLCBmaXJzdCB0cmFjazogJWQiLCBudW1fdHJhY2tzLCBmaXJzdF90cmFjayk7Ci0gCi1AQCAtMjUwLDggKzI2MywxNCBAQCBnc3RfY2Rpb19jZGRhX3NyY19vcGVuIChHc3RBdWRpb0NkU3JjICogYXVkaW9jZHNyYywgY29uc3QgZ2NoYXIgKiBkZXZpY2UpCi0gICAgICAqIHRoZSByaWdodCB0aGluZyBoZXJlIChmb3IgY2RkYiBpZCBjYWxjdWxhdGlvbnMgZXRjLiBhcyB3ZWxsKSAqLwotICAgICB0cmFjay5zdGFydCA9IGNkaW9fZ2V0X3RyYWNrX2xzbiAoc3JjLT5jZGlvLCBpICsgZmlyc3RfdHJhY2spOwotICAgICB0cmFjay5lbmQgPSB0cmFjay5zdGFydCArIGxlbl9zZWN0b3JzIC0gMTsgIC8qIC0xPyAqLwotKyNpZiBMSUJDRElPX1ZFUlNJT05fTlVNID4gODMKLSsgICAgaWYgKE5VTEwgIT0gY2R0ZXh0KQotKyAgICAgIHRyYWNrLnRhZ3MgPSBnc3RfY2Rpb19nZXRfY2R0ZXh0IChHU1RfT0JKRUNUIChzcmMpLCBjZHRleHQsCi0rICAgICAgICAgIGkgKyBmaXJzdF90cmFjayk7Ci0rI2Vsc2UKLSAgICAgdHJhY2sudGFncyA9IGdzdF9jZGlvX2dldF9jZHRleHQgKEdTVF9PQkpFQ1QgKHNyYyksIHNyYy0+Y2RpbywKLSAgICAgICAgIGkgKyBmaXJzdF90cmFjayk7Ci0rI2VuZGlmCi0gCi0gICAgIGdzdF9hdWRpb19jZF9zcmNfYWRkX3RyYWNrIChHU1RfQVVESU9fQ0RfU1JDIChzcmMpLCAmdHJhY2spOwotICAgfQotLS0gCi0yLjEuMAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLXVnbHkvMDAwMi1GaXgtb3BlbmNvcmUtaW5jbHVkZS1wYXRocy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtdWdseS8wMDAyLUZpeC1vcGVuY29yZS1pbmNsdWRlLXBhdGhzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZmQ2YTI2Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtdWdseS8wMDAyLUZpeC1vcGVuY29yZS1pbmNsdWRlLXBhdGhzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTggKzAsMCBAQAotRnJvbSBlNjM0YmM2NDIwODI2Zjc2MGY2NTE5YTlmMTM0YzZhNGQzNDEyZWY4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgotRGF0ZTogTW9uLCAxOSBPY3QgMjAxNSAxNToyNjoyNCArMDIwMAotU3ViamVjdDogW1BBVENIXSBGaXggb3BlbmNvcmUgaW5jbHVkZSBwYXRocwotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW25vIHVwc3RyZWFtIC0gR1N0cmVhbWVyIDAuMTAgaXMgbm8gbG9uZ2VyIGJlaW5nIG1haW50YWluZWRdCi0KLVNpZ25lZC1vZmYtYnk6IENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KLS0tLQotIGV4dC9hbXJuYi9hbXJuYmRlYy5oICAgIHwgMiArLQotIGV4dC9hbXJuYi9hbXJuYmVuYy5oICAgIHwgMiArLQotIGV4dC9hbXJ3YmRlYy9hbXJ3YmRlYy5oIHwgNCArKy0tCi0gMyBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9leHQvYW1ybmIvYW1ybmJkZWMuaCBiL2V4dC9hbXJuYi9hbXJuYmRlYy5oCi1pbmRleCAxZTgxODM5Li4wMWI3MTU0IDEwMDY0NAotLS0tIGEvZXh0L2Ftcm5iL2Ftcm5iZGVjLmgKLSsrKyBiL2V4dC9hbXJuYi9hbXJuYmRlYy5oCi1AQCAtMjIsNyArMjIsNyBAQAotIAotICNpbmNsdWRlIDxnc3QvZ3N0Lmg+Ci0gI2luY2x1ZGUgPGdzdC9hdWRpby9nc3RhdWRpb2RlY29kZXIuaD4KLS0jaW5jbHVkZSA8aW50ZXJmX2RlYy5oPgotKyNpbmNsdWRlIDxvcGVuY29yZS1hbXJuYi9pbnRlcmZfZGVjLmg+Ci0gCi0gR19CRUdJTl9ERUNMUwotIAotZGlmZiAtLWdpdCBhL2V4dC9hbXJuYi9hbXJuYmVuYy5oIGIvZXh0L2Ftcm5iL2Ftcm5iZW5jLmgKLWluZGV4IDdmNjczYWMuLjViZTM5YjUgMTAwNjQ0Ci0tLS0gYS9leHQvYW1ybmIvYW1ybmJlbmMuaAotKysrIGIvZXh0L2Ftcm5iL2Ftcm5iZW5jLmgKLUBAIC0yMSw3ICsyMSw3IEBACi0gI2RlZmluZSBfX0dTVF9BTVJOQkVOQ19IX18KLSAKLSAjaW5jbHVkZSA8Z3N0L2dzdC5oPgotLSNpbmNsdWRlIDxpbnRlcmZfZW5jLmg+Ci0rI2luY2x1ZGUgPG9wZW5jb3JlLWFtcm5iL2ludGVyZl9lbmMuaD4KLSAjaW5jbHVkZSA8Z3N0L2F1ZGlvL2dzdGF1ZGlvZW5jb2Rlci5oPgotIAotIEdfQkVHSU5fREVDTFMKLWRpZmYgLS1naXQgYS9leHQvYW1yd2JkZWMvYW1yd2JkZWMuaCBiL2V4dC9hbXJ3YmRlYy9hbXJ3YmRlYy5oCi1pbmRleCBjMzUyOGZjLi5mMjdjNmQyIDEwMDY0NAotLS0tIGEvZXh0L2FtcndiZGVjL2FtcndiZGVjLmgKLSsrKyBiL2V4dC9hbXJ3YmRlYy9hbXJ3YmRlYy5oCi1AQCAtMjIsOCArMjIsOCBAQAotIAotICNpbmNsdWRlIDxnc3QvZ3N0Lmg+Ci0gI2luY2x1ZGUgPGdzdC9hdWRpby9nc3RhdWRpb2RlY29kZXIuaD4KLS0jaW5jbHVkZSA8ZGVjX2lmLmg+Ci0tI2luY2x1ZGUgPGlmX3JvbS5oPgotKyNpbmNsdWRlIDxvcGVuY29yZS1hbXJ3Yi9kZWNfaWYuaD4KLSsjaW5jbHVkZSA8b3BlbmNvcmUtYW1yd2IvaWZfcm9tLmg+Ci0gCi0gR19CRUdJTl9ERUNMUwotIAotLS0gCi0xLjkuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLXVnbHlfMC4xMC4xOS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtdWdseV8wLjEwLjE5LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOTliNDdkLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtdWdseV8wLjEwLjE5LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotcmVxdWlyZSBnc3QtcGx1Z2lucy5pbmMKLQotTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIuMSsgJiBMR1BMdjIrIgotTElDRU5TRV9GTEFHUyA9ICJjb21tZXJjaWFsIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTZmODllMjEwMGQ5YjZjZGZmY2VhNGYzOThlMzczNDMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3N0L3N5bmFlc3RoZXNpYS9zeW5hZXNjb3BlLmg7YmVnaW5saW5lPTE7ZW5kbGluZT0yMDttZDU9OTlmMzAxZGY3YjgwNDkwYzZmZjgzMDVmY2M3MTI4MzggXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vdGVzdHMvY2hlY2svZWxlbWVudHMveGluZ211eC5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjE7bWQ1PTRjNzcxYjhhZjE4ODcyNDg1NWNiOTljYWRkMzkwMDY4IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dzdC9tcGVnc3RyZWFtL2dzdG1wZWdwYXJzZS5oO2JlZ2lubGluZT0xO2VuZGxpbmU9MTg7bWQ1PWZmNjU0NjdiMGM1M2NkZmE5OGQwNjg0YzFiYzI0MGE5IgotCi1ERVBFTkRTICs9ICJnc3QtcGx1Z2lucy1iYXNlIGxpYmlkM3RhZyBsaWJtYWQgbXBlZzJkZWMgbGliYTUyIGxhbWUiCi1QUiA9ICJyMyIKLQotaW5oZXJpdCBnZXR0ZXh0Ci0KLUVYVFJBX09FQ09ORiArPSAiLS13aXRoLXBsdWdpbnM9YTUyZGVjLGxhbWUsaWQzdGFnLG1hZCxtcGVnMmRlYyxtcGVnc3RyZWFtLG1wZWdhdWRpb3BhcnNlLGFzZmRlbXV4LHJlYWxtZWRpYSBcCi0gICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1vcmMiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIiCi1QQUNLQUdFQ09ORklHW3gyNjRdID0gIi0tZW5hYmxlLXgyNjQsLS1kaXNhYmxlLXgyNjQseDI2NCIKLVBBQ0tBR0VDT05GSUdbY2Rpb10gPSAiLS1lbmFibGUtY2RpbywtLWRpc2FibGUtY2RpbyxsaWJjZGlvIgotUEFDS0FHRUNPTkZJR1tkdmRyZWFkXSA9ICItLWVuYWJsZS1kdmRyZWFkLC0tZGlzYWJsZS1kdmRyZWFkLGxpYmR2ZHJlYWQiCi1QQUNLQUdFQ09ORklHW2Ftcm5iXSA9ICItLWVuYWJsZS1hbXJuYiwtLWRpc2FibGUtYW1ybmIsb3BlbmNvcmUtYW1yIgotUEFDS0FHRUNPTkZJR1thbXJ3Yl0gPSAiLS1lbmFibGUtYW1yd2IsLS1kaXNhYmxlLWFtcndiLG9wZW5jb3JlLWFtciIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7Ci0gICAgIyBUaGlzIG00IGZpbGUgY29udGFpbnMgbmFzdGluZXNzIHdoaWNoIGNvbmZsaWN0cyB3aXRoIGxpYnRvb2wgMi4yLjIKLSAgICBybSAke1N9L200L2xpYi1saW5rLm00IHx8IHRydWUKLX0KLQotU1JDX1VSSVttZDVzdW1dID0gIjFkODFjNTkzZTIyYTZjZGYwZjJiNGY1N2VhZTkzZGYyIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFjYTkwMDU5Mjc1YzBmNWRjYTcxZDRkMTYwMWE4ZjQyOWI3ODUyYmFlZDA3MjNlODIwNzAzYjk3N2UyYzhkZjAiCi1TUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1jZGlvLWNvbXBlbnNhdGUtZm9yLWxpYmNkaW8tcy1yZWNlbnQtY2QtdGV4dC1hcGktY2hhLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAyLUZpeC1vcGVuY29yZS1pbmNsdWRlLXBhdGhzLnBhdGNoIgotCi1GSUxFU18ke1BOfS1hbXJuYiArPSAiJHtkYXRhZGlyfS9nc3RyZWFtZXItMC4xMC9wcmVzZXRzL0dzdEFtcm5iRW5jLnBycyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy5pbmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZlMTYzYTguLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy5pbmMKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1TVU1NQVJZID0gIlBsdWdpbnMgZm9yIHRoZSBHU3RyZWFtZXIgbXVsdGltZWRpYSBmcmFtZXdvcmsiCi1IT01FUEFHRSA9ICJodHRwOi8vZ3N0cmVhbWVyLmZyZWVkZXNrdG9wLm9yZy8iCi1CVUdUUkFDS0VSID0gImh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1Hc3RyZWFtZXIiCi1TRUNUSU9OID0gIm11bHRpbWVkaWEiCi1ERVBFTkRTID0gImdzdHJlYW1lciIKLQotIyBnb2JqZWN0LWludHJvc3BlY3Rpb24gdG8gZ2V0IC0tZGlzYWJsZS1pbnRyb3NwZWN0aW9uIGludG8gVU5LTk9XTl9DT05GSUdVUkVfV0hJVEVMSVNUCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ29iamVjdC1pbnRyb3NwZWN0aW9uCi0KLVNSQ19VUkkgPSAiaHR0cDovL2dzdHJlYW1lci5mcmVlZGVza3RvcC5vcmcvc3JjLyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiIKLQotR1NUUkVBTUVSX0RFQlVHID89ICItLWRpc2FibGUtZGVidWciCi1FWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXZhbGdyaW5kICR7R1NUUkVBTUVSX0RFQlVHfSAtLWRpc2FibGUtZXhhbXBsZXMgLS1kaXNhYmxlLWludHJvc3BlY3Rpb24iCi0KLWFjcGF0aHMgPSAiLUkgJHtTfS9jb21tb24vbTQgLUkgJHtTfS9tNCIKLQotTElCViA9ICIwLjEwIgotcmVxdWlyZSByZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLXBhY2thZ2UuaW5jCi0KLVBBQ0tBR0VTX0RZTkFNSUMgKz0gIl4ke1BOfS0uKiIKLQotIyBhcHBseSBnc3RyZWFtZXIgaGFjayBhZnRlciBNYWtlZmlsZS5pbi5pbiBpbiBzb3VyY2UgaXMgcmVwbGFjZWQgYnkgb3VyIHZlcnNpb24gZnJvbQotIyAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2dldHRleHQvcG8vTWFrZWZpbGUuaW4uaW4sIGJ1dCBiZWZvcmUgY29uZmlndXJlIGlzIGV4ZWN1dGVkCi0jIGh0dHA6Ly9saXN0cy5saW51eHRvZ28ub3JnL3BpcGVybWFpbC9vcGVuZW1iZWRkZWQtY29yZS8yMDEyLU5vdmVtYmVyLzAzMjIzMy5odG1sCi1vZV9ydW5jb25mX3ByZXBlbmQoKSB7Ci0gICAgaWYgWyAtZSAke1N9L3BvL01ha2VmaWxlLmluLmluIF07IHRoZW4KLSAgICAgICAgc2VkIC1pIC1lICIxYVxcIiAtZSAnR0VUVEVYVF9QQUNLQUdFID0gQEdFVFRFWFRfUEFDS0FHRUAnICR7U30vcG8vTWFrZWZpbGUuaW4uaW4KLSAgICBmaQotfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcnRzcC8wMDAxLWNoYW5nZS1kZXByZWNhdGVkLUlOQ0xVREVTLXRvLUFNX0NQUEZMQUdTLWZvci1hdXRvbWEucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1ydHNwLzAwMDEtY2hhbmdlLWRlcHJlY2F0ZWQtSU5DTFVERVMtdG8tQU1fQ1BQRkxBR1MtZm9yLWF1dG9tYS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjliMjFkZC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1ydHNwLzAwMDEtY2hhbmdlLWRlcHJlY2F0ZWQtSU5DTFVERVMtdG8tQU1fQ1BQRkxBR1MtZm9yLWF1dG9tYS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLWluZGV4IGdzdC1ydHNwXzAuMTAuOC9iaW5kaW5ncy9weXRob24vTWFrZWZpbGUuYW0KLUluZGV4OiBnc3QtcnRzcC0wLjEwLjgvYmluZGluZ3MvcHl0aG9uL01ha2VmaWxlLmFtCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ3N0LXJ0c3AtMC4xMC44Lm9yaWcvYmluZGluZ3MvcHl0aG9uL01ha2VmaWxlLmFtCi0rKysgZ3N0LXJ0c3AtMC4xMC44L2JpbmRpbmdzL3B5dGhvbi9NYWtlZmlsZS5hbQotQEAgLTE0LDcgKzE0LDcgQEAgZGVmc19EQVRBID0gJChERUZTKQotIGRlZnNkaXIgPSAkKHBrZ2RhdGFkaXIpLyQoR1NUX01BSk9STUlOT1IpL2RlZnMKLSBPVkVSUklERVMgPSBydHNwc2VydmVyLm92ZXJyaWRlCi0gCi0tSU5DTFVERVMgPSAtSSQodG9wX3NyY2RpcikgLUkkKHNyY2RpcikgJChQWVRIT05fSU5DTFVERVMpCi0rQU1fQ1BQRkxBR1MgPSAtSSQodG9wX3NyY2RpcikgLUkkKHNyY2RpcikgJChQWVRIT05fSU5DTFVERVMpCi0gCi0gcnRzcHNlcnZlcl9sYV9DRkxBR1MgPSAtSSQodG9wX3NyY2Rpcikvc3JjIFwKLSAJCSQoUFlHT0JKRUNUX0NGTEFHUykgJChHU1RfUExVR0lOU19CQVNFX0NGTEFHUykgJChHU1RfQ0ZMQUdTKQotSW5kZXg6IGdzdC1ydHNwLTAuMTAuOC9leGFtcGxlcy9NYWtlZmlsZS5hbQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdzdC1ydHNwLTAuMTAuOC5vcmlnL2V4YW1wbGVzL01ha2VmaWxlLmFtCi0rKysgZ3N0LXJ0c3AtMC4xMC44L2V4YW1wbGVzL01ha2VmaWxlLmFtCi1AQCAtMSw2ICsxLDYgQEAKLSBub2luc3RfUFJPR1JBTVMgPSB0ZXN0LXZpZGVvIHRlc3Qtb2dnIHRlc3QtbXA0IHRlc3QtcmVhZG1lIHRlc3QtbGF1bmNoIHRlc3Qtc2RwIHRlc3QtdXJpIHRlc3QtYXV0aAotIAotLUlOQ0xVREVTID0gLUkkKHRvcF9zcmNkaXIpIC1JJChzcmNkaXIpCi0rQU1fQ1BQRkxBR1MgPSAtSSQodG9wX3NyY2RpcikgLUkkKHNyY2RpcikKLSAKLSBBTV9DRkxBR1MgPSAkKEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTKSAkKEdTVF9DRkxBR1MpCi0gQU1fTERGTEFHUyA9IFwKLUluZGV4OiBnc3QtcnRzcC0wLjEwLjgvdGVzdHMvTWFrZWZpbGUuYW0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnc3QtcnRzcC0wLjEwLjgub3JpZy90ZXN0cy9NYWtlZmlsZS5hbQotKysrIGdzdC1ydHNwLTAuMTAuOC90ZXN0cy9NYWtlZmlsZS5hbQotQEAgLTEsNiArMSw2IEBACi0gbm9pbnN0X1BST0dSQU1TID0gdGVzdC1jbGVhbnVwCi0gCi0tSU5DTFVERVMgPSAtSSQodG9wX3NyY2RpcikgLUkkKHNyY2RpcikKLStBTV9DUFBGTEFHUyA9IC1JJCh0b3Bfc3JjZGlyKSAtSSQoc3JjZGlyKQotIAotIEFNX0NGTEFHUyA9ICQoR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MpICQoR1NUX0NGTEFHUykKLSBBTV9MREZMQUdTID0gXApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcnRzcF8wLjEwLjguYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1ydHNwXzAuMTAuOC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjc4YmNhZi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1ydHNwXzAuMTAuOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLVNVTU1BUlkgPSAiR1N0cmVhbWVyIFJUU1Agc2VydmVyIgotTElDRU5TRSA9ICJMR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTVjYTgxN2NjYjdkNWI1YjY2MzU1NjkwZTlhYmM2MDUiCi0KLVNSQ19VUkkgPSAiaHR0cDovL2dzdHJlYW1lci5mcmVlZGVza3RvcC5vcmcvc3JjLyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWNoYW5nZS1kZXByZWNhdGVkLUlOQ0xVREVTLXRvLUFNX0NQUEZMQUdTLWZvci1hdXRvbWEucGF0Y2giCi1TUkNfVVJJW21kNXN1bV0gPSAiYjUxMWFmMDcwMDA1OTVmNjNjM2E3MDU5NDYyMjE2NDMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTkxNTg4N2NmODUxNWJkYTg3NDYyYzY5NzM4NjQ2YWZiNzE1YjU5NzYxM2VkYzczNDA0NzdjY2FiNjNhNjYxNyIKLQotREVQRU5EUyA9ICJnc3QtcGx1Z2lucy1iYXNlIGdzdHJlYW1lciIKLQotRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1pbnRyb3NwZWN0aW9uIgotCi0jIENvbmZpZ3VyZSBhbHdheXMgY2hlY2tzIGZvciBQeXRob24gc28gaW5oZXJpdCBweXRob25uYXRpdmUuIEJldHRlciBzb2x1dGlvbgotIyB3b3VsZCBiZSB0byBkaXNhYmxlIHRoZSBjaGVja3MgZW50aXJlbHkuCi1pbmhlcml0IGF1dG90b29scyBweXRob25uYXRpdmUgZ2V0dGV4dAotCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7ZGF0YWRpcn0vdmFsYS92YXBpLyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvMDAwMS1iYXNlcGFyc2UtRml4LXNlbGYtY29tcGFyaXNvbi1hbHdheXMtZXZhbHVhdGVzLXRvLXRyLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi8wMDAxLWJhc2VwYXJzZS1GaXgtc2VsZi1jb21wYXJpc29uLWFsd2F5cy1ldmFsdWF0ZXMtdG8tdHIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQwNzc0OTYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi8wMDAxLWJhc2VwYXJzZS1GaXgtc2VsZi1jb21wYXJpc29uLWFsd2F5cy1ldmFsdWF0ZXMtdG8tdHIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1Gcm9tIGVkN2Y0ODAyMjIyMjM0ZWVmMTkyYWEzZjc0YmM5MjI2OGYzMzhmOTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBTZWJhc3RpYW4gRHJvZWdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KLURhdGU6IFR1ZSwgNiBNYXIgMjAxMiAxMjoyODowMiArMDEwMAotU3ViamVjdDogW1BBVENIXSBiYXNlcGFyc2U6IEZpeCAnc2VsZi1jb21wYXJpc29uIGFsd2F5cyBldmFsdWF0ZXMgdG8gdHJ1ZScKLQotVGhpcyB3YXMgcmVhbGx5IGEgYnVnLgotCi1Db21taXQgaXMgZWQ3ZjQ4MDIyMjIyMzRlZWYxOTJhYTNmNzRiYzkyMjY4ZjMzOGY5NyBpbiAwLjEwIGJyYW5jaAotCi1VcHN0cmVhbSBTdGF0dXM6ICBCYWNrcG9ydGVkCi0KLVNpZ25lZC1vZmYtYnk6IFNlYmFzdGlhbiBEcm9lZ2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgotLS0tCi0gbGlicy9nc3QvYmFzZS9nc3RiYXNlcGFyc2UuYyB8ICAgIDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2xpYnMvZ3N0L2Jhc2UvZ3N0YmFzZXBhcnNlLmMgYi9saWJzL2dzdC9iYXNlL2dzdGJhc2VwYXJzZS5jCi1pbmRleCA4NTFlYzFkLi4xMDhlZTg5IDEwMDY0NAotLS0tIGEvbGlicy9nc3QvYmFzZS9nc3RiYXNlcGFyc2UuYwotKysrIGIvbGlicy9nc3QvYmFzZS9nc3RiYXNlcGFyc2UuYwotQEAgLTM4OTksNyArMzg5OSw3IEBAIGdzdF9iYXNlX3BhcnNlX2hhbmRsZV9zZWVrIChHc3RCYXNlUGFyc2UgKiBwYXJzZSwgR3N0RXZlbnQgKiBldmVudCkKLSAgICAgICAgc2VlayBldmVudCAoaW4gYnl0ZXMpIHRvIHVwc3RyZWFtLiBTZWdtZW50IC8gZmx1c2ggaGFuZGxpbmcgaGFwcGVucwotICAgICAgICBpbiBjb3JyZXNwb25kaW5nIHNyYyBldmVudCBoYW5kbGVycyAqLwotICAgICBHU1RfREVCVUdfT0JKRUNUIChwYXJzZSwgInNlZWsgaW4gUFVTSCBtb2RlIik7Ci0tICAgIGlmIChzZWVrc3RvcCA+PSAwICYmIHNlZWtwb3MgPD0gc2Vla3BvcykKLSsgICAgaWYgKHNlZWtzdG9wID49IDAgJiYgc2Vla3N0b3AgPD0gc2Vla3BvcykKLSAgICAgICBzZWVrc3RvcCA9IHNlZWtwb3M7Ci0gICAgIG5ld19ldmVudCA9IGdzdF9ldmVudF9uZXdfc2VlayAocmF0ZSwgR1NUX0ZPUk1BVF9CWVRFUywgZmxhZ3MsCi0gICAgICAgICBHU1RfU0VFS19UWVBFX1NFVCwgc2Vla3Bvcywgc3RvcF90eXBlLCBzZWVrc3RvcCk7Ci0tLSAKLTEuNy45LjUKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi8wMDAxLXBhcnNlLW1ha2UtZ3JhbW1hci55LXdvcmstd2l0aC1CaXNvbi0zLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi8wMDAxLXBhcnNlLW1ha2UtZ3JhbW1hci55LXdvcmstd2l0aC1CaXNvbi0zLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYzJkNjA2Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvMDAwMS1wYXJzZS1tYWtlLWdyYW1tYXIueS13b3JrLXdpdGgtQmlzb24tMy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLUZyb20gNjA1MTZmNDc5ODg5NGY5NThmYzUzYjQ3MGUxMjgzMzE4ZDBmODcwNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtlcnJpY2sgU3RhbGV5IDxrZXJyaWNrQGtlcnJpY2tzdGFsZXkuY29tPgotRGF0ZTogVHVlLCAyMCBBdWcgMjAxMyAyMzo1OToyOSAtMDcwMAotU3ViamVjdDogW1BBVENIIDEvMl0gcGFyc2U6IG1ha2UgZ3JhbW1hci55IHdvcmsgd2l0aCBCaXNvbiAzCi0KLVlZTEVYX1BBUkFNIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQgaW4gQmlzb24gMy4KLQotaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjQ2MgotLS0tCi0gZ3N0L3BhcnNlL2dyYW1tYXIueSB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2dzdC9wYXJzZS9ncmFtbWFyLnkgYi9nc3QvcGFyc2UvZ3JhbW1hci55Ci1pbmRleCAyNGZjODdiLi43ZjlkZDE2IDEwMDY0NAotLS0tIGEvZ3N0L3BhcnNlL2dyYW1tYXIueQotKysrIGIvZ3N0L3BhcnNlL2dyYW1tYXIueQotQEAgLTI2LDcgKzI2LDYgQEAKLSAgKi8KLSAKLSAjZGVmaW5lIFlZRVJST1JfVkVSQk9TRSAxCi0tI2RlZmluZSBZWUxFWF9QQVJBTSBzY2FubmVyCi0gCi0gI2RlZmluZSBZWUVOQUJMRV9OTFMgMAotIAotQEAgLTY0OCw2ICs2NDcsNyBAQCBzdGF0aWMgaW50IHl5ZXJyb3IgKHZvaWQgKnNjYW5uZXIsIGdyYXBoX3QgKmdyYXBoLCBjb25zdCBjaGFyICpzKTsKLSAlcmlnaHQgJy4nCi0gJWxlZnQgJyEnICc9JwotIAotKyVsZXgtcGFyYW0geyB2b2lkICpzY2FubmVyIH0KLSAlcGFyc2UtcGFyYW0geyB2b2lkICpzY2FubmVyIH0KLSAlcGFyc2UtcGFyYW0geyBncmFwaF90ICpncmFwaCB9Ci0gJXB1cmUtcGFyc2VyCi0tLSAKLTIuNy4yCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvMDAwMi1nc3QtZ2xpYjIubTQtZG9uLXQtZG8tY3JhenktdGhpbmdzLXRvLUdMSUJfQ0ZMQUdTLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi8wMDAyLWdzdC1nbGliMi5tNC1kb24tdC1kby1jcmF6eS10aGluZ3MtdG8tR0xJQl9DRkxBR1MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhkYjM5NjYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi8wMDAyLWdzdC1nbGliMi5tNC1kb24tdC1kby1jcmF6eS10aGluZ3MtdG8tR0xJQl9DRkxBR1MucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1Gcm9tIDRiMTQ1Y2ViMjJiYmNlN2JhNmUyMDljNmFiNjFmMmQ1ODY3ZTY5ZjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDEgTm92IDIwMTYgMTk6MDI6MzAgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gZ3N0LWdsaWIyLm00OiBkb24ndCBkbyBjcmF6eSB0aGluZ3MgdG8gR0xJQl9DRkxBR1MKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotd2UgYXJlIGRlZmluaXRlbHkgbm90IG9uZSBvZiB0aG9zZSBwb29yIHNvdWxzIG1lbnRpb25lZAotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgotLS0tCi0gY29tbW9uL200L2dzdC1nbGliMi5tNCB8IDEgLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9jb21tb24vbTQvZ3N0LWdsaWIyLm00IGIvY29tbW9uL200L2dzdC1nbGliMi5tNAotaW5kZXggYjAxZjAyZi4uNDU2OWFlNSAxMDA2NDQKLS0tLSBhL2NvbW1vbi9tNC9nc3QtZ2xpYjIubTQKLSsrKyBiL2NvbW1vbi9tNC9nc3QtZ2xpYjIubTQKLUBAIC02OSw3ICs2OSw2IEBAIEFDX0RFRlVOKFtBR19HU1RfR0xJQl9DSEVDS10sCi0gICBmaQotIAotICAgZG5sIGZvciB0aGUgcG9vciBzb3VscyB3aG8gZm9yIGV4YW1wbGUgaGF2ZSBnbGliIGluIC91c3IvbG9jYWwKLS0gIEFTX1NDUlVCX0lOQ0xVREUoR0xJQl9DRkxBR1MpCi0gCi0gICBBQ19TVUJTVChHTElCX0VYVFJBX0NGTEFHUykKLSBdKQotLS0gCi0yLjUuNQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdHJlYW1lci0wLjEwLjM2L2NoZWNrX2ZpeC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvY2hlY2tfZml4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZDhiYjEzLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvY2hlY2tfZml4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotIyBnc3RyZWFtZXI6IEZpeCBhIHByb2JsZW0gd2l0aCBjb25maWd1cmUgaWYgY2hlY2sgaGFzIGFscmVhZHkgYmVlbiBidWlsdAotIyBSaWNoYXJkIFB1cmRpZSA8cnB1cmRpZUBsaW51eC5pbnRlbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KLQotZGlmZiAtdXJOIGdzdHJlYW1lci0wLjEwLjI5LW9yaWcvY29uZmlndXJlLmFjIGdzdHJlYW1lci0wLjEwLjI5L2NvbmZpZ3VyZS5hYwotLS0tIGdzdHJlYW1lci0wLjEwLjI5LW9yaWcvY29uZmlndXJlLmFjCTIwMTAtMDYtMjYgMTI6NDk6MjcuNzc0OTMwNzczICswODAwCi0rKysgZ3N0cmVhbWVyLTAuMTAuMjkvY29uZmlndXJlLmFjCTIwMTAtMDYtMjYgMTI6NTE6MTIuODk5MjAwMjMzICswODAwCi1AQCAtNTQzLDggKzU0MywxMCBAQAotICAgICAgICopIEJVSUxEX0NIRUNLPXllcyA7OwotICAgICBlc2FjCi0gXSkKLSsKLSBkbmwgYml0IG9mIGEgbWlzbm9tZXIsIGJ1dCBrZWVwIHRoZSBjb25kaXRpb25hbCBuYW1lZCBsaWtlIHRoaXMgc28gd2UgZG9uJ3QKLSBkbmwgaGF2ZSB0byBjaGFuZ2UgdG9vIG11Y2ggZWxzZXdoZXJlCi0rSEFWRV9DSEVDSz1ubwotIEFNX0NPTkRJVElPTkFMKEhBVkVfQ0hFQ0ssIHRlc3QgIngkQlVJTERfQ0hFQ0siID0gInh5ZXMiKQotIAotIGRubCBjb25maWd1cmUgdGhlIGRlc2lyZWQgYnVmZmVyIGFsaWdubWVudApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi9nc3QtaW5zcGVjdC1jaGVjay1lcnJvci5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvZ3N0LWluc3BlY3QtY2hlY2stZXJyb3IucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMwYmU4NWYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi9nc3QtaW5zcGVjdC1jaGVjay1lcnJvci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLSMgRml4IGNyYXNoIHdpdGggZ3N0LWluc3BlY3QKLSMgQ2hyaXMgTG9yZCA8Y2hyaXNAb3BlbmVkaGFuZC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0tLS0gZ3N0cmVhbWVyLTAuMTAuOS90b29scy9nc3QtaW5zcGVjdC5jLm9sZAkyMDA2LTA5LTEyIDExOjU2OjUzLjAwMDAwMDAwMCArMDEwMAotKysrIGdzdHJlYW1lci0wLjEwLjkvdG9vbHMvZ3N0LWluc3BlY3QuYwkyMDA2LTA5LTEyIDExOjU3OjI3LjAwMDAwMDAwMCArMDEwMAotQEAgLTExMjMsNyArMTEyMyw3IEBACi0gICBnX29wdGlvbl9jb250ZXh0X2FkZF9tYWluX2VudHJpZXMgKGN0eCwgb3B0aW9ucywgR0VUVEVYVF9QQUNLQUdFKTsKLSAgIGdfb3B0aW9uX2NvbnRleHRfYWRkX2dyb3VwIChjdHgsIGdzdF9pbml0X2dldF9vcHRpb25fZ3JvdXAgKCkpOwotICAgaWYgKCFnX29wdGlvbl9jb250ZXh0X3BhcnNlIChjdHgsICZhcmdjLCAmYXJndiwgJmVycikpIHsKLS0gICAgZ19wcmludCAoIkVycm9yIGluaXRpYWxpemluZzogJXNcbiIsIGVyci0+bWVzc2FnZSk7Ci0rICAgIGdfcHJpbnQgKCJFcnJvciBpbml0aWFsaXppbmc6ICVzXG4iLCBlcnIgPyBlcnItPm1lc3NhZ2UgOiAiKG51bGwpIik7Ci0gICAgIGV4aXQgKDEpOwotICAgfQotICAgZ19vcHRpb25fY29udGV4dF9mcmVlIChjdHgpOwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi9nc3RyZWdpc3RyeWJpbmFyeS5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi9nc3RyZWdpc3RyeWJpbmFyeS5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMWYzZTcxLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvZ3N0cmVnaXN0cnliaW5hcnkuYworKysgL2Rldi9udWxsCkBAIC0xLDQ4NyArMCwwIEBACi0vKiBHU3RyZWFtZXIKLSAqIENvcHlyaWdodCAoQykgMTk5OSwyMDAwIEVyaWsgV2FsdGhpbnNlbiA8b21lZ2FAY3NlLm9naS5lZHU+Ci0gKiAgICAgICAgICAgICAgICAgICAgMjAwMCBXaW0gVGF5bWFucyA8d3RheUBjaGVsbG8uYmU+Ci0gKiAgICAgICAgICAgICAgICAgICAgMjAwNSBEYXZpZCBBLiBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KLSAqCi0gKiBnc3RyZWdpc3RyeXhtbC5jOiBHc3RSZWdpc3RyeSBvYmplY3QsIHN1cHBvcnQgcm91dGluZXMKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdWxuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUKLSAqIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAotICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCi0gKi8KLQotCi0jaW5jbHVkZSA8Z3N0L2dzdHJlZ2lzdHJ5YmluYXJ5Lmg+Ci0KLS8qCi0qKiBTaW1wbGUgaGFuZHkgZnVuY3Rpb24gdG8gd3JpdGUgYSBtZW1vcnkgbG9jYXRpb24gdG8gdGhlIHJlZ2lzdHJ5IGNhY2hlIGZpbGUKLSovCi1pbmxpbmUgc3RhdGljIGdib29sZWFuCi1nc3RfcmVnaXN0cnlfYmluYXJ5X3dyaXRlKEdzdFJlZ2lzdHJ5ICpyZWdpc3RyeSwgY29uc3Qgdm9pZCAqbWVtLCBjb25zdCBzc2l6ZV90IHNpemUpCi17Ci0gIGlmICh3cml0ZShyZWdpc3RyeS0+Y2FjaGVfZmlsZSwgbWVtLCBzaXplKSAhPSBzaXplKQotICAgIHsKLSAgICAgIEdTVF9FUlJPUigiRmFpbGVkIHRvIHdyaXRlIGJpbmFyeSByZWdpc3RyeSBlbGVtZW50OiBwdHI9JXAgc2l6ZT0ldSBlcnJvcj0lc1xuIiwKLQkJbWVtLCBzaXplLCBzdHJlcnJvcihlcnJubykpOwotICAgICAgcmV0dXJuIEZBTFNFOwotICAgIH0KLSAgcmV0dXJuIFRSVUU7Ci19Ci0KLS8qCi0qKiBTYXZlIGZlYXR1cmVzIEdzdEJpbmFyeSBzdHlsZQotKi8KLXN0YXRpYyBnYm9vbGVhbiAKLWdzdF9yZWdpc3RyeV9iaW5hcnlfZmlsbF9mZWF0dXJlKEdMaXN0ICoqbGlzdCwgR3N0UGx1Z2luRmVhdHVyZSAqb3JpZywgR3N0QmluYXJ5UGx1Z2luRmVhdHVyZSAqZGVzdCwgY29uc3QgY2hhciAqbmFtZSkKLXsKLSAgR3N0QmluYXJ5Q2h1bmNrICpjaGs7Ci0KLSAgaWYgKChjaGsgPSBjYWxsb2MoMSwgc2l6ZW9mIChHc3RCaW5hcnlDaHVuY2spKSkgPT0gTlVMTCkKLSAgICByZXR1cm4gRkFMU0U7Ci0KLSAgY2hrLT5kYXRhID0gZGVzdDsKLSAgY2hrLT5zaXplID0gc2l6ZW9mIChHc3RCaW5hcnlQbHVnaW5GZWF0dXJlKTsKLQotICAqbGlzdCA9IGdfbGlzdF9hcHBlbmQoKmxpc3QsIGNoayk7Ci0KLSAgZGVzdC0+cmFuayA9IG9yaWctPnJhbms7Ci0gIGlmICghc3RybmNweShkZXN0LT50eXBlbmFtZSwgbmFtZSwgR1NUX0JJTkFSWV9SRUdJU1RSWV9UWVBFTkFNRV9UWVBFTkFNRV9MRU4pIHx8Ci0gICAgICAhc3RybmNweShkZXN0LT5uYW1lLCBvcmlnLT5uYW1lLCBHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX05BTUVfTEVOKSkKLSAgICB7Ci0gICAgICBHU1RfRVJST1IoIkZhaWxlZCB0byB3cml0ZSBiaW5hcnkgcmVnaXN0cnkgZmVhdHVyZSIpOwotICAgICAgZ290byBmYWlsOwotICAgIH0KLSAgCi0gIGlmIChHU1RfSVNfRUxFTUVOVF9GQUNUT1JZKG9yaWcpKQotICAgIHsKLSAgICAgIEdzdEVsZW1lbnRGYWN0b3J5ICpmYWN0b3J5ID0gR1NUX0VMRU1FTlRfRkFDVE9SWShvcmlnKTsKLSAgICAgIAotICAgICAgaWYgKCFzdHJuY3B5KGRlc3QtPmxvbmduYW1lLCBmYWN0b3J5LT5kZXRhaWxzLmxvbmduYW1lLCBHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX0xPTkdOQU1FX0xFTikgfHwKLQkgICFzdHJuY3B5KGRlc3QtPmNsYXNzLCBmYWN0b3J5LT5kZXRhaWxzLmtsYXNzLCBHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX0NMQVNTX0xFTikgfHwKLQkgICFzdHJuY3B5KGRlc3QtPmRlc2NyaXB0aW9uLCBmYWN0b3J5LT5kZXRhaWxzLmRlc2NyaXB0aW9uLCBHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX0RFU0NSSVBUSU9OX0xFTikgfHwKLQkgICFzdHJuY3B5KGRlc3QtPmF1dGhvciwgZmFjdG9yeS0+ZGV0YWlscy5hdXRob3IsIEdTVF9CSU5BUllfUkVHSVNUUllfVFlQRU5BTUVfQVVUSE9SX0xFTikpCi0JewotCSAgR1NUX0VSUk9SKCJGYWlsZWQgdG8gd3JpdGUgYmluYXJ5IHJlZ2lzdHJ5IGZlYXR1cmUiKTsKLQkgIGdvdG8gZmFpbDsKLQl9Ci0gICAgfQotICAKLSAgZGVzdC0+bnBhZHRlbXBsYXRlcyA9IGRlc3QtPm5pbnRlcmZhY2VzID0gZGVzdC0+bnVyaXR5cGVzID0gMDsKLSAgcmV0dXJuIFRSVUU7Ci0KLSBmYWlsOgotICBmcmVlKGNoayk7Ci0gIHJldHVybiBGQUxTRTsKLX0KLQotCi0vKgotKiogSW5pdGlhbGl6ZSB0aGUgR3N0QmluYXJ5UmVnaXN0cnlNYWdpYywgc2V0dGluZyBib3RoIG91ciBtYWdpYyBudW1iZXIgYW5kIGdzdHJlYW1lciBtYWpvci9taW5vciB2ZXJzaW9uCi0qLwotaW5saW5lIHN0YXRpYyBnYm9vbGVhbgotZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9pbml0aWFsaXplX21hZ2ljKEdzdEJpbmFyeVJlZ2lzdHJ5TWFnaWMgKm0pCi17Ci0gIGlmICghc3RybmNweShtLT5tYWdpYywgR1NUX01BR0lDX0JJTkFSWV9SRUdJU1RSWV9TVFIsIEdTVF9NQUdJQ19CSU5BUllfUkVHSVNUUllfTEVOKSB8fAotICAgICAgIXN0cm5jcHkobS0+dmVyc2lvbiwgR1NUX01BSk9STUlOT1IsIEdTVF9CSU5BUllfUkVHSVNUUllfVkVSU0lPTl9MRU4pKQotICAgIHsKLSAgICAgIEdTVF9FUlJPUigiRmFpbGVkIHRvIHdyaXRlIG1hZ2ljIHRvIHRoZSByZWdpc3RyeSBtYWdpYyBzdHJ1Y3R1cmUiKTsKLSAgICAgIHJldHVybiBGQUxTRTsKLSAgICB9Ci0gIHJldHVybiBUUlVFOwotfQotCi0vKgotKiogQ2hlY2sgR3N0QmluYXJ5UmVnaXN0cnlNYWdpYyB2YWxpZGl0eS4KLSoqIFJldHVybiBhIHBvaW50ZXIgcG9pbnRpbmcgcmlnaHQgYWZ0ZXIgdGhlIG1hZ2ljIHN0cnVjdHVyZQotKi8KLXN0YXRpYyBnY2hhciAqCi1nc3RfcmVnaXN0cnlfYmluYXJ5X2NoZWNrX21hZ2ljKGdjaGFyICppbikKLXsKLSAgR3N0QmluYXJ5UmVnaXN0cnlNYWdpYyAqbSA9IChHc3RCaW5hcnlSZWdpc3RyeU1hZ2ljICopIGluOwotCi0gIGlmIChtID09IE5VTEwgfHwgbS0+bWFnaWMgPT0gTlVMTCB8fCBtLT52ZXJzaW9uID09IE5VTEwpCi0gICAgewotICAgICAgR1NUX0VSUk9SKCJCaW5hcnkgcmVnaXN0cnkgbWFnaWMgc3RydWN0dXJlIGlzIGJyb2tlbiIpOwotICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotICBpZiAoc3RybmNtcChtLT5tYWdpYywgR1NUX01BR0lDX0JJTkFSWV9SRUdJU1RSWV9TVFIsIEdTVF9NQUdJQ19CSU5BUllfUkVHSVNUUllfTEVOKSAhPSAwKQotICAgIHsKLSAgICAgIEdTVF9FUlJPUigiQmluYXJ5IHJlZ2lzdHJ5IG1hZ2ljIGlzIGRpZmZlcmVudCA6ICUwMnglMDJ4JTAyeCUwMnggIT0gJTAyeCUwMnglMDJ4JTAyeCIsCi0JCUdTVF9NQUdJQ19CSU5BUllfUkVHSVNUUllfU1RSWzBdICYgMHhmZiwgR1NUX01BR0lDX0JJTkFSWV9SRUdJU1RSWV9TVFJbMV0gJiAweGZmLAotCQlHU1RfTUFHSUNfQklOQVJZX1JFR0lTVFJZX1NUUlsyXSAmIDB4ZmYsIEdTVF9NQUdJQ19CSU5BUllfUkVHSVNUUllfU1RSWzNdICYgMHhmZiwKLQkJbS0+bWFnaWNbMF0gJiAweGZmLCBtLT5tYWdpY1sxXSAmIDB4ZmYsIG0tPm1hZ2ljWzJdICYgMHhmZiwgbS0+bWFnaWNbM10gJiAweGZmKTsKLSAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLSAgaWYgKHN0cm5jbXAobS0+dmVyc2lvbiwgR1NUX01BSk9STUlOT1IsIEdTVF9CSU5BUllfUkVHSVNUUllfVkVSU0lPTl9MRU4pKQotICAgIHsKLSAgICAgIEdTVF9FUlJPUigiQmluYXJ5IHJlZ2lzdHJ5IG1hZ2ljIHZlcnNpb24gaXMgZGlmZmVyZW50IDogJXMgIT0gJXMiLAotCQlHU1RfTUFKT1JNSU5PUiwgbS0+dmVyc2lvbik7Ci0gICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0gIHJldHVybiAoaW4gKyBzaXplb2YgKEdzdEJpbmFyeVJlZ2lzdHJ5TWFnaWMpKTsKLX0KLQotLyoKLSoqIEFkYXB0IGEgR3N0UGx1Z2luIHRvIG91ciBHc3RCaW5hcnlQbHVnaW5FbGVtZW50IHN0cnVjdHVyZSwgYW5kIHdyaXRlIGl0IHRvIHRoZSAKLSoqIHJlZ2lzdHJ5IGZpbGUuCi0qLyAgIAotc3RhdGljIGdib29sZWFuCi1nc3RfcmVnaXN0cnlfYmluYXJ5X3NhdmVfcGx1Z2luKEdMaXN0ICoqbGlzdCwgR3N0UmVnaXN0cnkgKnJlZ2lzdHJ5LCBHc3RQbHVnaW4gKnBsdWdpbikKLXsKLSAgR3N0QmluYXJ5UGx1Z2luRWxlbWVudCAqZTsKLSAgR3N0QmluYXJ5Q2h1bmNrICpjaGs7Ci0gIEdMaXN0ICp3YWxrOwotCi0gIGlmICgoZSA9IGNhbGxvYygxLCBzaXplb2YgKEdzdEJpbmFyeVBsdWdpbkVsZW1lbnQpKSkgPT0gTlVMTCB8fAotICAgICAgKGNoayA9IGNhbGxvYygxLCBzaXplb2YgKEdzdEJpbmFyeUNodW5jaykpKSA9PSBOVUxMKQotICAgIHJldHVybiBGQUxTRTsKLQotICBjaGstPmRhdGEgPSBlOwotICBjaGstPnNpemUgPSBzaXplb2YgKEdzdEJpbmFyeVBsdWdpbkVsZW1lbnQpOwotICAqbGlzdCA9IGdfbGlzdF9hcHBlbmQoKmxpc3QsIGNoayk7Ci0KLSAgaWYgKCFzdHJuY3B5KGUtPm5hbWUsIHBsdWdpbi0+ZGVzYy5uYW1lLCBHU1RfQklOQVJZX1JFR0lTVFJZX05BTUVfTEVOKQkJICAgICAgIAl8fAotICAgICAgIXN0cm5jcHkoZS0+ZGVzY3JpcHRpb24sIHBsdWdpbi0+ZGVzYy5kZXNjcmlwdGlvbiwgR1NUX0JJTkFSWV9SRUdJU1RSWV9ERVNDUklQVElPTl9MRU4pCXx8Ci0gICAgICAhc3RybmNweShlLT5maWxlbmFtZSwgcGx1Z2luLT5maWxlbmFtZSwgX1BPU0lYX1BBVEhfTUFYKQkJCQkJfHwKLSAgICAgICFzdHJuY3B5KGUtPnZlcnNpb24sIHBsdWdpbi0+ZGVzYy52ZXJzaW9uLCBHU1RfQklOQVJZX1JFR0lTVFJZX1ZFUlNJT05fTEVOKQkJfHwKLSAgICAgICFzdHJuY3B5KGUtPmxpY2Vuc2UsIHBsdWdpbi0+ZGVzYy5saWNlbnNlLCBHU1RfQklOQVJZX1JFR0lTVFJZX0xJQ0VOU0VfTEVOKQkJfHwKLSAgICAgICFzdHJuY3B5KGUtPnNvdXJjZSwgcGx1Z2luLT5kZXNjLnNvdXJjZSwgR1NUX0JJTkFSWV9SRUdJU1RSWV9TT1VSQ0VfTEVOKQkJCXx8Ci0gICAgICAhc3RybmNweShlLT5wYWNrYWdlLCBwbHVnaW4tPmRlc2MucGFja2FnZSwgR1NUX0JJTkFSWV9SRUdJU1RSWV9QQUNLQUdFX0xFTikJCXx8Ci0gICAgICAhc3RybmNweShlLT5vcmlnaW4sIHBsdWdpbi0+ZGVzYy5vcmlnaW4sIEdTVF9CSU5BUllfUkVHSVNUUllfT1JJR0lOX0xFTikpCi0gICAgewotICAgICAgR1NUX0RFQlVHKCJDYW4ndCBhZGFwdCBHc3RQbHVnaW4gdG8gR3N0QmluYXJ5UGx1Z2luRWxlbWVudCIpOwotICAgICAgZ290byBmYWlsOwotICAgIH0KLQotICBlLT5zaXplID0gcGx1Z2luLT5maWxlX3NpemU7Ci0gIGUtPm0zMnAgPSBwbHVnaW4tPmZpbGVfbXRpbWU7Ci0gIAotICBHTGlzdCAqZnRfbGlzdCA9IGdzdF9yZWdpc3RyeV9nZXRfZmVhdHVyZV9saXN0X2J5X3BsdWdpbihyZWdpc3RyeSwgcGx1Z2luLT5kZXNjLm5hbWUpOwotCi0gIGZvciAod2FsayA9IGZ0X2xpc3Q7IHdhbGs7IHdhbGsgPSBnX2xpc3RfbmV4dCh3YWxrKSwgZS0+bmZlYXR1cmVzKyspCi0gICAgewotICAgICAgR3N0UGx1Z2luRmVhdHVyZSAqY3VyZmVhdCA9IEdTVF9QTFVHSU5fRkVBVFVSRSAod2Fsay0+ZGF0YSk7Ci0gICAgICBHc3RCaW5hcnlQbHVnaW5GZWF0dXJlICpuZXdmZWF0OwotICAgICAgY29uc3QgY2hhciAqZmVhdF9uYW1lID0gZ190eXBlX25hbWUoR19PQkpFQ1RfVFlQRShjdXJmZWF0KSk7Ci0gICAgICAKLSAgICAgIGlmICgobmV3ZmVhdCA9IGNhbGxvYygxLCBzaXplb2YgKEdzdEJpbmFyeVBsdWdpbkZlYXR1cmUpKSkgPT0gTlVMTCkKLQkgIGdvdG8gZmFpbDsKLQotICAgICAgaWYgKCFmZWF0X25hbWUgfHwgIWdzdF9yZWdpc3RyeV9iaW5hcnlfZmlsbF9mZWF0dXJlKGxpc3QsIGN1cmZlYXQsIG5ld2ZlYXQsIGZlYXRfbmFtZSkpCi0JewotCSAgR1NUX0VSUk9SKCJDYW4ndCBmaWxsIHBsdWdpbiBmZWF0dXJlLCBhYm9ydGluZy4iKTsKLQkgIGdvdG8gZmFpbDsKLQl9Ci0gICAgfQotCi0gIEdTVF9ERUJVRygiRm91bmQgJWQgZmVhdHVyZXMgaW4gcGx1Z2luIFwiJXNcIlxuIiwgZS0+bmZlYXR1cmVzLCBlLT5uYW1lKTsKLSAgcmV0dXJuIFRSVUU7Ci0KLSBmYWlsOgotICBmcmVlKGNoayk7Ci0gIGZyZWUoZSk7Ci0gIHJldHVybiBGQUxTRTsKLX0KLQotLyoKLSoqIFdyaXRlIHRoZSBjYWNoZSB0byBmaWxlLiBQYXJ0IG9mIHRoZSBjb2RlIHdhcyB0YWtlbiBmcm9tIGdzdHJlZ2lzdHJ5eG1sLmMKLSovCi1nYm9vbGVhbiAKLWdzdF9yZWdpc3RyeV9iaW5hcnlfd3JpdGVfY2FjaGUoR3N0UmVnaXN0cnkgKnJlZ2lzdHJ5LCBjb25zdCBjaGFyICpsb2NhdGlvbikKLXsKLSAgR0xpc3QgKndhbGs7Ci0gIGNoYXIgKnRtcF9sb2NhdGlvbjsKLSAgR3N0QmluYXJ5UmVnaXN0cnlNYWdpYyAqbWFnaWM7Ci0gIEdzdEJpbmFyeUNodW5jayAqbWFnaWNfY2h1bmNrOwotICBHTGlzdCAqdG9fd3JpdGUgPSBOVUxMOwotIAotICBHU1RfSU5GTygiV3JpdGluZyBiaW5hcnkgcmVnaXN0cnkgY2FjaGUiKTsKLQotICBnX3JldHVybl92YWxfaWZfZmFpbCAoR1NUX0lTX1JFR0lTVFJZIChyZWdpc3RyeSksIEZBTFNFKTsKLSAgdG1wX2xvY2F0aW9uID0gZ19zdHJjb25jYXQgKGxvY2F0aW9uLCAiLnRtcFhYWFhYWCIsIE5VTEwpOwotICByZWdpc3RyeS0+Y2FjaGVfZmlsZSA9IGdfbWtzdGVtcCAodG1wX2xvY2F0aW9uKTsKLSAgaWYgKHJlZ2lzdHJ5LT5jYWNoZV9maWxlID09IC0xKQotICAgIHsKLSAgICAgIGNoYXIgKmRpcjsKLQotICAgICAgLyogb29wcywgSSBiZXQgdGhlIGRpcmVjdG9yeSBkb2Vzbid0IGV4aXN0ICovCi0gICAgICBkaXIgPSBnX3BhdGhfZ2V0X2Rpcm5hbWUgKGxvY2F0aW9uKTsKLSAgICAgIGdfbWtkaXJfd2l0aF9wYXJlbnRzIChkaXIsIDA3NzcpOwotICAgICAgZ19mcmVlIChkaXIpOwotICAgICAgCi0gICAgICByZWdpc3RyeS0+Y2FjaGVfZmlsZSA9IGdfbWtzdGVtcCAodG1wX2xvY2F0aW9uKTsKLSAgICB9Ci0KLSAgaWYgKHJlZ2lzdHJ5LT5jYWNoZV9maWxlID09IC0xKQotICAgIGdvdG8gZmFpbDsKLQotICBpZiAoKG1hZ2ljID0gY2FsbG9jKDEsIHNpemVvZiAoR3N0QmluYXJ5UmVnaXN0cnlNYWdpYykpKSA9PSBOVUxMIHx8Ci0gICAgICAhZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9pbml0aWFsaXplX21hZ2ljKG1hZ2ljKSkKLSAgICBnb3RvIGZhaWw7Ci0KLSAgaWYgKChtYWdpY19jaHVuY2sgPSBjYWxsb2MoMSwgc2l6ZW9mIChHc3RCaW5hcnlDaHVuY2spKSkgPT0gTlVMTCkKLSAgICBnb3RvIGZhaWw7Ci0KLSAgbWFnaWNfY2h1bmNrLT5kYXRhID0gbWFnaWM7Ci0gIG1hZ2ljX2NodW5jay0+c2l6ZSA9IHNpemVvZiAoR3N0QmluYXJ5UmVnaXN0cnlNYWdpYyk7Ci0gIHRvX3dyaXRlID0gZ19saXN0X2FwcGVuZCh0b193cml0ZSwgbWFnaWNfY2h1bmNrKTsgCi0KLSAgLyogSXRlcmF0ZSB0cm91Z2ggdGhlIGxpc3Qgb2YgcGx1Z2lucyBpbiB0aGUgR3N0UmVnaXN0cnkgYW5kIGFkYXB0IHRoZW0gdG8gb3VyIHN0cnVjdHVyZXMgKi8KLSAgZm9yICh3YWxrID0gZ19saXN0X2xhc3QocmVnaXN0cnktPnBsdWdpbnMpOyB3YWxrOyB3YWxrID0gZ19saXN0X3ByZXZpb3VzKHdhbGspKQotICAgIHsKLSAgICAgIEdzdFBsdWdpbiAqcGx1Z2luID0gR1NUX1BMVUdJTih3YWxrLT5kYXRhKTsKLSAgICAgIAotICAgICAgaWYgKCFwbHVnaW4tPmZpbGVuYW1lKQotCWNvbnRpbnVlOwotCSAgCi0gICAgICBpZiAocGx1Z2luLT5mbGFncyAmIEdTVF9QTFVHSU5fRkxBR19DQUNIRUQpCi0JewotCSAgaW50IHJldDsKLQkgIHN0cnVjdCBzdGF0IHN0YXRidWY7Ci0JICAKLQkgIHJldCA9IGdfc3RhdCAocGx1Z2luLT5maWxlbmFtZSwgJnN0YXRidWYpOwotCSAgaWYgKChyZXQgPSBnX3N0YXQgKHBsdWdpbi0+ZmlsZW5hbWUsICZzdGF0YnVmKSkgPCAwIAl8fAotCSAgICAgIHBsdWdpbi0+ZmlsZV9tdGltZSAhPSBzdGF0YnVmLnN0X210aW1lCQl8fAotCSAgICAgIHBsdWdpbi0+ZmlsZV9zaXplICE9IHN0YXRidWYuc3Rfc2l6ZSkKLQkgICAgY29udGludWU7Ci0JfQotCi0gICAgICBpZiAoIWdzdF9yZWdpc3RyeV9iaW5hcnlfc2F2ZV9wbHVnaW4oJnRvX3dyaXRlLCByZWdpc3RyeSwgcGx1Z2luKSkKLQl7Ci0JICBHU1RfRVJST1IoIkNhbid0IHdyaXRlIGJpbmFyeSBwbHVnaW4gaW5mb3JtYXRpb24gZm9yIFwiJXNcIiIsIHBsdWdpbi0+ZmlsZW5hbWUpOwotCSAgY29udGludWU7IC8qIFRyeSBhbnl3YXkgKi8KLQl9Ci0gICAgfQotCi0gIGZvciAod2FsayA9IGdfbGlzdF9maXJzdCh0b193cml0ZSk7IHdhbGs7IHdhbGsgPSBnX2xpc3RfbmV4dCh3YWxrKSkKLSAgICB7Ci0gICAgICBHc3RCaW5hcnlDaHVuY2sgKmN1ciA9IHdhbGstPmRhdGE7Ci0KLSAgICAgIGlmICghZ3N0X3JlZ2lzdHJ5X2JpbmFyeV93cml0ZShyZWdpc3RyeSwgY3VyLT5kYXRhLCBjdXItPnNpemUpKQotCXsKLQkgIGZyZWUoY3VyLT5kYXRhKTsKLQkgIGZyZWUoY3VyKTsKLQkgIGdfbGlzdF9mcmVlKHRvX3dyaXRlKTsKLQkgIGdvdG8gZmFpbDsKLQl9Ci0gICAgICBmcmVlKGN1ci0+ZGF0YSk7Ci0gICAgICBmcmVlKGN1cik7Ci0gICAgfQotICBnX2xpc3RfZnJlZSh0b193cml0ZSk7Ci0KLSAgaWYgKGNsb3NlKHJlZ2lzdHJ5LT5jYWNoZV9maWxlKSA8IDApCi0gICAgewotICAgICAgR1NUX0RFQlVHKCJDYW4ndCBjbG9zZSByZWdpc3RyeSBmaWxlIDogJXMiLCBzdHJlcnJvcihlcnJubykpOwotICAgICAgZ290byBmYWlsOwotICAgIH0KLSAgCi0gIGlmIChnX2ZpbGVfdGVzdCAodG1wX2xvY2F0aW9uLCBHX0ZJTEVfVEVTVF9FWElTVFMpKSB7Ci0jaWZkZWYgV0lOMzIKLSAgICByZW1vdmUgKGxvY2F0aW9uKTsKLSNlbmRpZgotICAgIHJlbmFtZSAodG1wX2xvY2F0aW9uLCBsb2NhdGlvbik7Ci0gIH0KLQotICBnX2ZyZWUgKHRtcF9sb2NhdGlvbik7Ci0gIHJldHVybiBUUlVFOwotCi0gZmFpbDoKLSAgZ19mcmVlKHRtcF9sb2NhdGlvbik7Ci0gIHJldHVybiBGQUxTRTsKLX0KLQotc3RhdGljIEdzdFBsdWdpbkZlYXR1cmUqCi1nc3RfcmVnaXN0cnlfYmluYXJ5X2xvYWRfZmVhdHVyZShHc3RCaW5hcnlQbHVnaW5GZWF0dXJlICppbikKLXsKLSAgR3N0UGx1Z2luRmVhdHVyZSAqZmVhdHVyZTsKLSAgR1R5cGUgdHlwZTsKLQotICBpZiAoIWluLT50eXBlbmFtZSB8fCAhKihpbi0+dHlwZW5hbWUpKQotICAgIHJldHVybiBOVUxMOwotCi0gIC8qICBHU1RfSU5GTygiUGx1Z2luIGZlYXR1cmUgdHlwZW5hbWUgOiAlcyIsIGluLT50eXBlbmFtZSk7Ki8KLQotICBpZiAoISh0eXBlID0gZ190eXBlX2Zyb21fbmFtZShpbi0+dHlwZW5hbWUpKSkKLSAgICB7Ci0gICAgICBHU1RfRVJST1IoIlVua25vd24gdHlwZSBmcm9tIHR5cGVuYW1lIik7Ci0gICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0gIGZlYXR1cmUgPSBnX29iamVjdF9uZXcgKHR5cGUsIE5VTEwpOwotCi0gIGlmICghZmVhdHVyZSkgewotICAgIEdTVF9FUlJPUigiQ2FuJ3QgY3JlYXRlIGZlYXR1cmUgZnJvbSB0eXBlIik7Ci0gICAgcmV0dXJuIE5VTEw7Ci0gIH0KLQotICBpZiAoIUdTVF9JU19QTFVHSU5fRkVBVFVSRSAoZmVhdHVyZSkpIHsKLSAgICAvKiBkb24ndCByZWFsbHkga25vdyB3aGF0IGl0IGlzICovCi0gICAgaWYgKEdTVF9JU19PQkpFQ1QgKGZlYXR1cmUpKQotICAgICAgZ3N0X29iamVjdF91bnJlZiAoZmVhdHVyZSk7Ci0gICAgZWxzZQotICAgICAgZ19vYmplY3RfdW5yZWYgKGZlYXR1cmUpOwotICAgIHJldHVybiBOVUxMOwotICB9Ci0KLSAgZmVhdHVyZS0+bmFtZSA9IGdfc3RyZHVwKGluLT5uYW1lKTsKLSAgZmVhdHVyZS0+cmFuayA9IGluLT5yYW5rOwotCi0gIGlmIChHU1RfSVNfRUxFTUVOVF9GQUNUT1JZKGZlYXR1cmUpKQotICAgIHsKLSAgICAgIEdzdEVsZW1lbnRGYWN0b3J5ICpmYWN0b3J5ID0gR1NUX0VMRU1FTlRfRkFDVE9SWShmZWF0dXJlKTsKLQotICAgICAgZmFjdG9yeS0+ZGV0YWlscy5sb25nbmFtZSA9IGdfc3RyZHVwKGluLT5sb25nbmFtZSk7Ci0gICAgICBmYWN0b3J5LT5kZXRhaWxzLmtsYXNzID0gZ19zdHJkdXAoaW4tPmNsYXNzKTsKLSAgICAgIGZhY3RvcnktPmRldGFpbHMuZGVzY3JpcHRpb24gPSBnX3N0cmR1cChpbi0+ZGVzY3JpcHRpb24pOwotICAgICAgZmFjdG9yeS0+ZGV0YWlscy5hdXRob3IgPSBnX3N0cmR1cChpbi0+YXV0aG9yKTsKLQotICAgICAgLyogICAgICBHU1RfSU5GTygiRWxlbWVudCBmYWN0b3J5IDogJXMiLCBmYWN0b3J5LT5kZXRhaWxzLmxvbmduYW1lKTsgKi8KLSAgICB9Ci0KLSAgR1NUX0RFQlVHKCJBZGRlZCBmZWF0dXJlICVwIHdpdGggbmFtZSAlcyIsIGZlYXR1cmUsIGZlYXR1cmUtPm5hbWUpOwotICByZXR1cm4gZmVhdHVyZTsKLX0KLQotLyoKLSoqIE1ha2UgYSBuZXcgcGx1Z2luIGZyb20gY3VycmVudCBHc3RCaW5hcnlQbHVnaW5FbGVtZW50IHN0cnVjdHVyZQotKiogYW5kIHNhdmUgaXQgdG8gdGhlIEdzdFJlZ2lzdHJ5LiBSZXR1cm4gYW4gb2Zmc2V0IHRvIHRoZSBuZXh0Ci0qKiBHc3RCaW5hcnlQbHVnaW5FbGVtZW50IHN0cnVjdHVyZS4KLSovCi1zdGF0aWMgdW5zaWduZWQgbG9uZwotZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9nZXRfYmluYXJ5X3BsdWdpbihHc3RSZWdpc3RyeSAqcmVnaXN0cnksIGdjaGFyICppbikKLXsKLSAgR3N0QmluYXJ5UGx1Z2luRWxlbWVudCAqcCA9IChHc3RCaW5hcnlQbHVnaW5FbGVtZW50ICopIGluOwotICBHc3RQbHVnaW4gKnBsdWdpbiA9IE5VTEw7Ci0gIEdMaXN0ICpwbHVnaW5fZmVhdHVyZXMgPSBOVUxMOwotICBHc3RCaW5hcnlQbHVnaW5GZWF0dXJlICpmZWF0OwotICB1bnNpZ25lZCBpbnQgaTsKLSAgdW5zaWduZWQgbG9uZyBvZmZzZXQ7Ci0KLSAgcGx1Z2luID0gZ19vYmplY3RfbmV3IChHU1RfVFlQRV9QTFVHSU4sIE5VTEwpOwotCi0gIHBsdWdpbi0+ZmxhZ3MgfD0gR1NUX1BMVUdJTl9GTEFHX0NBQ0hFRDsKLQotICBwbHVnaW4tPmRlc2MubmFtZSA9IGdfc3RyZHVwKHAtPm5hbWUpOwotICBwbHVnaW4tPmRlc2MuZGVzY3JpcHRpb249IGdfc3RyZHVwKHAtPmRlc2NyaXB0aW9uKTsKLSAgcGx1Z2luLT5maWxlbmFtZSA9IGdfc3RyZHVwKHAtPmZpbGVuYW1lKTsKLSAgcGx1Z2luLT5kZXNjLnZlcnNpb24gPSBnX3N0cmR1cChwLT52ZXJzaW9uKTsKLSAgcGx1Z2luLT5kZXNjLmxpY2Vuc2UgPSBnX3N0cmR1cChwLT5saWNlbnNlKTsKLSAgcGx1Z2luLT5kZXNjLnNvdXJjZSA9IGdfc3RyZHVwKHAtPnNvdXJjZSk7Ci0gIHBsdWdpbi0+ZGVzYy5wYWNrYWdlID0gZ19zdHJkdXAocC0+cGFja2FnZSk7Ci0gIHBsdWdpbi0+ZGVzYy5vcmlnaW4gPSBnX3N0cmR1cChwLT5vcmlnaW4pOwotICBwbHVnaW4tPmZpbGVfbXRpbWUgPSBwLT5tMzJwOwotICBwbHVnaW4tPmZpbGVfc2l6ZSA9IHAtPnNpemU7Ci0gIHBsdWdpbi0+YmFzZW5hbWUgPSBnX3BhdGhfZ2V0X2Jhc2VuYW1lIChwbHVnaW4tPmZpbGVuYW1lKTsKLQotICBpZiAocGx1Z2luLT5maWxlX210aW1lIDwgMCB8fCBwbHVnaW4tPmZpbGVfc2l6ZSA8IDApCi0gICAgewotICAgICAgR1NUX0VSUk9SKCJQbHVnaW4gdGltZSBvciBmaWxlIHNpemUgaXMgbm90IHZhbGlkICEiKTsKLSAgICAgIGdfZnJlZShwbHVnaW4pOwotICAgICAgcmV0dXJuIC0xOwotICAgIH0KLQotICBpZiAocC0+bmZlYXR1cmVzIDwgMCkKLSAgICB7Ci0gICAgICBHU1RfRVJST1IoIlRoZSBudW1iZXIgb2YgZmVhdHVyZSBzdHJ1Y3R1cmUgaXMgbm90IHZhbGlkICEiKTsKLSAgICAgIGdzdF9vYmplY3RfdW5yZWYocGx1Z2luKTsKLSAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0KLSAgZm9yIChmZWF0ID0gKEdzdEJpbmFyeVBsdWdpbkZlYXR1cmUgKikgKGluICsgc2l6ZW9mIChHc3RCaW5hcnlQbHVnaW5FbGVtZW50KSksIGkgPSAwOyAKLSAgICAgICBpIDwgcC0+bmZlYXR1cmVzOyBpKyssIGZlYXQrKykKLSAgICB7Ci0gICAgICBHc3RQbHVnaW5GZWF0dXJlICpnc3RmZWF0OwotCi0gICAgICBpZiAoKGdzdGZlYXQgPSBnc3RfcmVnaXN0cnlfYmluYXJ5X2xvYWRfZmVhdHVyZShmZWF0KSkgPT0gTlVMTCkKLQl7Ci0JICBnX2xpc3RfZnJlZShwbHVnaW5fZmVhdHVyZXMpOwotCSAgZ19mcmVlKHBsdWdpbik7Ci0JICBHU1RfRVJST1IoIkVycm9yIHdoaWxlIGxvYWRpbmcgYmluYXJ5IGZlYXR1cmUiKTsKLQkgIHJldHVybiAtMTsKLQl9Ci0gICAgICBnc3RmZWF0LT5wbHVnaW5fbmFtZSA9IGdfc3RyZHVwKHBsdWdpbi0+ZGVzYy5uYW1lKTsKLSAgICAgIHBsdWdpbl9mZWF0dXJlcyA9IGdfbGlzdF9wcmVwZW5kKHBsdWdpbl9mZWF0dXJlcywgZ3N0ZmVhdCk7Ci0gICAgfQotICAKLSAgR1NUX0RFQlVHKCJBZGRlZCBwbHVnaW4gXCIlc1wiIHRvIGdsb2JhbCByZWdpc3RyeSBmcm9tIGJpbmFyeSByZWdpc3RyeSIsIHBsdWdpbi0+ZGVzYy5uYW1lKTsgCi0gIEdMaXN0ICpnOwotCi0gIGdzdF9yZWdpc3RyeV9hZGRfcGx1Z2luIChyZWdpc3RyeSwgcGx1Z2luKTsKLSAgZm9yIChnID0gcGx1Z2luX2ZlYXR1cmVzOyBnOyBnID0gZ19saXN0X25leHQgKGcpKQotICAgIGdzdF9yZWdpc3RyeV9hZGRfZmVhdHVyZSAocmVnaXN0cnksIEdTVF9QTFVHSU5fRkVBVFVSRSAoZy0+ZGF0YSkpOwotICAvKiAgZ19saXN0X2ZyZWUocGx1Z2luX2ZlYXR1cmVzKTsgKi8KLQotICBvZmZzZXQgPSBzaXplb2YgKEdzdEJpbmFyeVBsdWdpbkVsZW1lbnQpICsgcC0+bmZlYXR1cmVzICogc2l6ZW9mIChHc3RCaW5hcnlQbHVnaW5GZWF0dXJlKTsKLSAgcmV0dXJuIG9mZnNldDsKLX0KLQotCi0vKgotKiogUmVhZCB0aGUgY2FjaGUgYW5kIGFkYXB0IGl0IHRvIGZpbGwgR3N0UmVnaXN0cnkKLSovIAotZ2Jvb2xlYW4gCi1nc3RfcmVnaXN0cnlfYmluYXJ5X3JlYWRfY2FjaGUoR3N0UmVnaXN0cnkgKnJlZ2lzdHJ5LCBjb25zdCBjaGFyICpsb2NhdGlvbikKLXsKLSAgR01hcHBlZEZpbGUgKm1hcHBlZCA9IE5VTEw7Ci0gIEdUaW1lciAqdGltZXIgPSBOVUxMOwotICBnY2hhciAqY29udGVudHMgPSBOVUxMOwotICBnZG91YmxlIHNlY29uZHM7Ci0gIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCBpbmM7Ci0gIGdzaXplIHNpemU7Ci0KLSAgLyogbWFrZSBzdXJlIHRoZXNlIHR5cGVzIGV4aXN0ICovCi0gIEdTVF9UWVBFX0VMRU1FTlRfRkFDVE9SWTsKLSAgR1NUX1RZUEVfVFlQRV9GSU5EX0ZBQ1RPUlk7Ci0gIEdTVF9UWVBFX0lOREVYX0ZBQ1RPUlk7Ci0KLSAgdGltZXIgPSBnX3RpbWVyX25ldyAoKTsKLQotICBpZiAoKG1hcHBlZCA9IGdfbWFwcGVkX2ZpbGVfbmV3KGxvY2F0aW9uLCBGQUxTRSwgTlVMTCkpID09IE5VTEwgfHwKLSAgICAgIChjb250ZW50cyA9IGdfbWFwcGVkX2ZpbGVfZ2V0X2NvbnRlbnRzKG1hcHBlZCkpID09IE5VTEwpCi0gICAgewotICAgICAgR1NUX0VSUk9SKCJDYW4ndCBsb2FkIGZpbGUgOiAlcyIsIHN0cmVycm9yKGVycm5vKSk7Ci0gICAgICByZXR1cm4gRkFMU0U7Ci0gICAgfQotICBpZiAoKGNvbnRlbnRzID0gZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9jaGVja19tYWdpYyhjb250ZW50cykpID09IE5VTEwpCi0gICAgewotICAgICAgR1NUX0VSUk9SKCJCaW5hcnkgcmVnaXN0cnkgdHlwZSBub3QgcmVjb2duaXplZCAoaW52YWxpZCBtYWdpYykiKTsKLSAgICAgIGdfbWFwcGVkX2ZpbGVfZnJlZShtYXBwZWQpOwotICAgICAgcmV0dXJuIEZBTFNFOwotICAgIH0KLQotICBpZiAoKHNpemUgPSBnX21hcHBlZF9maWxlX2dldF9sZW5ndGgobWFwcGVkKSkgPCBzaXplb2YgKEdzdEJpbmFyeVBsdWdpbkVsZW1lbnQpKQotICAgIHsKLSAgICAgIEdTVF9JTkZPKCJObyBiaW5hcnkgcGx1Z2lucyBzdHJ1Y3R1cmUgdG8gcmVhZCIpOwotICAgICAgcmV0dXJuIFRSVUU7IC8qIFRoaXMgaXMgbm90IHJlYWxseSBhbiBlcnJvciAqLwotICAgIH0KLQotICBmb3IgKG9mZnNldCA9IGluYyA9IDA7IChvZmZzZXQgKyBzaXplb2YgKEdzdEJpbmFyeVBsdWdpbkVsZW1lbnQpKSA8IHNpemUgJiYKLQkgKGluYyA9IGdzdF9yZWdpc3RyeV9iaW5hcnlfZ2V0X2JpbmFyeV9wbHVnaW4ocmVnaXN0cnksIGNvbnRlbnRzICsgb2Zmc2V0KSkgPiAwOwotICAgICAgIG9mZnNldCArPSBpbmMpCi0gICAgOyAvKiBNYXkgd2FudCBpbiB0aGUgZnV0dXJlIHRvIGRvIHNvbWV0aGluZyBoZXJlICovCi0gIGlmIChpbmMgPCAwKQotICAgIHsKLSAgICAgIEdTVF9ERUJVRygiUHJvYmxlbSB3aGlsZSByZWFkaW5nIGJpbmFyeSByZWdpc3RyeSIpOwotICAgICAgcmV0dXJuIEZBTFNFOwotICAgIH0KLQotICBnX3RpbWVyX3N0b3AgKHRpbWVyKTsKLSAgc2Vjb25kcyA9IGdfdGltZXJfZWxhcHNlZCAodGltZXIsIE5VTEwpOwotICBnX3RpbWVyX2Rlc3Ryb3kgKHRpbWVyKTsKLQotICBHU1RfSU5GTyAoImxvYWRlZCAlcyBpbiAlZiBzZWNvbmRzIiwgbG9jYXRpb24sIHNlY29uZHMpOwotCi0gIGlmIChtYXBwZWQpCi0gICAgZ19tYXBwZWRfZmlsZV9mcmVlIChtYXBwZWQpOwotICByZXR1cm4gVFJVRTsKLX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvZ3N0cmVnaXN0cnliaW5hcnkuaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvZ3N0cmVnaXN0cnliaW5hcnkuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmVmMjRkNy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdHJlYW1lci0wLjEwLjM2L2dzdHJlZ2lzdHJ5YmluYXJ5LmgKKysrIC9kZXYvbnVsbApAQCAtMSwxOTQgKzAsMCBAQAotLyogR1N0cmVhbWVyCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTksMjAwMCBFcmlrIFdhbHRoaW5zZW4gPG9tZWdhQGNzZS5vZ2kuZWR1PgotICogICAgICAgICAgICAgICAgICAgIDIwMDAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNoZWxsby5iZT4KLSAqCi0gKiBnc3RyZWdpc3RyeS5oOiBIZWFkZXIgZm9yIHJlZ2lzdHJ5IGhhbmRsaW5nCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUKLSAqIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAotICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCi0gKi8KLQotLyogU1VHR0VTVElPTlMgQU5EIFRPRE8gOgotKiogPT09PT09PT09PT09PT09PT09PT0KLSoqIC0gVXNlIGEgY29tcHJlc3NlZCByZWdpc3RyeSwgYnV0IHdvdWxkIGluZHVjZSBwZXJmb3JtYW5jZSBsb3NzCi0qKiAtIEVuY3J5cHQgdGhlIHJlZ2lzdHJ5LCBmb3Igc2VjdXJpdHkgcHVycG9zZSwgYnV0IHdvdWxkIGFsc28gcmVkdWNlIHBlcmZvcm1hbmNlcwotKiogLSBBbHNvIGhhdmUgYSBub24tbW1hcCBiYXNlZCBjYWNoZSByZWFkaW5nICh3b3JrIHdpdGggZmlsZSBkZXNjcmlwdG9ycykKLSovCi0KLSNpZm5kZWYgX19HU1RfUkVHSVNUUllCSU5BUllfSF9fCi0jZGVmaW5lIF9fR1NUX1JFR0lTVFJZQklOQVJZX0hfXwotCi0jaWZkZWYgSEFWRV9DT05GSUdfSAotIyAgaW5jbHVkZSAiY29uZmlnLmgiCi0jZW5kaWYKLQotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSA8ZXJybm8uaD4KLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSNpbmNsdWRlIDxzeXMvc3RhdC5oPgotI2luY2x1ZGUgPGRpcmVudC5oPgotI2luY2x1ZGUgPGZjbnRsLmg+Ci0jaW5jbHVkZSA8c3lzL21tYW4uaD4KLSNpZmRlZiBIQVZFX1VOSVNURF9ICi0jaW5jbHVkZSA8dW5pc3RkLmg+Ci0jZW5kaWYKLQotI2luY2x1ZGUgPGdzdC9nc3RfcHJpdmF0ZS5oPgotI2luY2x1ZGUgPGdzdC9nc3RlbGVtZW50Lmg+Ci0jaW5jbHVkZSA8Z3N0L2dzdHR5cGVmaW5kLmg+Ci0jaW5jbHVkZSA8Z3N0L2dzdHR5cGVmaW5kZmFjdG9yeS5oPgotI2luY2x1ZGUgPGdzdC9nc3R1cmkuaD4KLSNpbmNsdWRlIDxnc3QvZ3N0aW5mby5oPgotI2luY2x1ZGUgPGdzdC9nc3RlbnVtdHlwZXMuaD4KLSNpbmNsdWRlIDxnc3QvZ3N0cmVnaXN0cnkuaD4KLSNpbmNsdWRlIDxnc3QvZ3N0cGFkdGVtcGxhdGUuaD4KLQotI2luY2x1ZGUgImdsaWItY29tcGF0LXByaXZhdGUuaCIKLSNpbmNsdWRlIDxnbGliL2dzdGRpby5oPgotCi0vKiBBIG1hZ2ljLCB3cml0dGVuIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUgKi8KLSNkZWZpbmUgR1NUX01BR0lDX0JJTkFSWV9SRUdJU1RSWV9TVFIgIlx4YzBceGRlXHhmMFx4MGQiCi0jZGVmaW5lIEdTVF9NQUdJQ19CSU5BUllfUkVHSVNUUllfTEVOICg0KQotI2RlZmluZSBHU1RfTUFHSUNfQklOQVJZX1ZFUlNJT05fTEVOICg2NCkKLQotdHlwZWRlZiBzdHJ1Y3QgX0dzdEJpbmFyeVJlZ2lzdHJ5TWFnaWMKLXsKLSAgY2hhciBtYWdpY1tHU1RfTUFHSUNfQklOQVJZX1JFR0lTVFJZX0xFTl07Ci0gIGNoYXIgdmVyc2lvbltHU1RfTUFHSUNfQklOQVJZX1ZFUlNJT05fTEVOXTsKLX0gR3N0QmluYXJ5UmVnaXN0cnlNYWdpYzsKLQotCi0vKiBVc2VkIHRvIHN0b3JlIHBvaW50ZXJzIHRvIHdyaXRlICovCi10eXBlZGVmIHN0cnVjdCBfR3N0QmluYXJ5Q2h1bmNrCi17Ci0gIHZvaWQgKmRhdGE7Ci0gIHVuc2lnbmVkIGludCBzaXplOwotfSBHc3RCaW5hcnlDaHVuY2s7Ci0KLQotLyogQSBzdHJ1Y3R1cmUgY29udGFpbmluZyAoc3RhdGljZWx5KSBldmVyeSBpbmZvcm1hdGlvbiBuZWVkZWQgZm9yIGEgcGx1Z2luCi0qKgotKiogTm90ZXMgOgotKiogIm5mZWF0dXJlcyIgaXMgdXNlZCB0byBzYXkgaG93IG1hbnkgR3N0QmluYXJ5UGx1Z2luRmVhdHVyZSBzdHJ1Y3R1cmVzIHdlIHdpbGwgaGF2ZSAKLSoqIHJpZ2h0IGFmdGVyIHRoZSBzdHJ1Y3R1cmUgaXRzZWxmLgotKi8KLQotLyogVmFyaW91cyBsZW5naHQgZGVmaW5lcyBmb3Igb3VyIEdzdEJpbmFyeVBsdWdpbkVsZW1lbnQgc3RydWN0dXJlIAotKiogTm90ZSA6IFdlIGNvdWxkIGV2ZW50dWFsbHkgdXNlIHNtYWxsZXIgc2l6ZQotKi8KLSNkZWZpbmUgR1NUX0JJTkFSWV9SRUdJU1RSWV9OQU1FX0xFTiAoMjU2KQotI2RlZmluZSBHU1RfQklOQVJZX1JFR0lTVFJZX0RFU0NSSVBUSU9OX0xFTiAoMTAyNCkKLSNkZWZpbmUgR1NUX0JJTkFSWV9SRUdJU1RSWV9WRVJTSU9OX0xFTiAoNjQpCi0jZGVmaW5lIEdTVF9CSU5BUllfUkVHSVNUUllfTElDRU5TRV9MRU4gKDI1NikKLSNkZWZpbmUgR1NUX0JJTkFSWV9SRUdJU1RSWV9TT1VSQ0VfTEVOICgyNTYpCi0jZGVmaW5lIEdTVF9CSU5BUllfUkVHSVNUUllfUEFDS0FHRV9MRU4gKDEwMjQpCi0jZGVmaW5lIEdTVF9CSU5BUllfUkVHSVNUUllfT1JJR0lOX0xFTiAoMTAyNCkKLQotdHlwZWRlZiBzdHJ1Y3QgX0dzdEJpbmFyeVBsdWdpbkVsZW1lbnQKLXsKLSAgY2hhciBuYW1lW0dTVF9CSU5BUllfUkVHSVNUUllfTkFNRV9MRU5dOwotICBjaGFyIGRlc2NyaXB0aW9uW0dTVF9CSU5BUllfUkVHSVNUUllfREVTQ1JJUFRJT05fTEVOXTsKLSAgY2hhciBmaWxlbmFtZVtfUE9TSVhfUEFUSF9NQVhdOwotICBjaGFyIHZlcnNpb25bR1NUX0JJTkFSWV9SRUdJU1RSWV9WRVJTSU9OX0xFTl07Ci0gIGNoYXIgbGljZW5zZVtHU1RfQklOQVJZX1JFR0lTVFJZX0xJQ0VOU0VfTEVOXTsKLSAgY2hhciBzb3VyY2VbR1NUX0JJTkFSWV9SRUdJU1RSWV9TT1VSQ0VfTEVOXTsKLSAgY2hhciBwYWNrYWdlW0dTVF9CSU5BUllfUkVHSVNUUllfUEFDS0FHRV9MRU5dOwotICBjaGFyIG9yaWdpbltHU1RfQklOQVJZX1JFR0lTVFJZX09SSUdJTl9MRU5dOwotICB1bnNpZ25lZCBsb25nIHNpemU7Ci0gIHVuc2lnbmVkIGxvbmcgbTMycDsKLSAgdW5zaWduZWQgaW50IG5mZWF0dXJlczsKLX0gR3N0QmluYXJ5UGx1Z2luRWxlbWVudDsKLQotCi0vKiBBIHN0cnVjdHVyZSBjb250YWluaW5nIHRoZSBwbHVnaW4gZmVhdHVyZXMKLSoqCi0qKiBOb3RlIDoKLSoqICJucGFkdGVtcGxhdGVzIiBpcyB1c2VkIHRvIHN0b3JlIHRoZSBudW1iZXIgb2YgR3N0QmluYXJ5UGFkVGVtcGxhdGUgc3RydWN0dXJlcyBmb2xsb3dpbmcgdGhlIHN0cnVjdHVyZSBpdHNlbGYuCi0qKiAibmludGVyZmFjZXMiIGlzIHVzZWQgdG8gc3RvcmUgdGhlIG51bWJlciBvZiBHc3RCaW5hcnlJbnRlcmZhY2Ugc3RydWN0dXJlcyBmb2xsb3dpbmcgdGhlIHN0cnVjdHVyZSBpdHNlbGYuCi0qKiAibnVyaXR5cGVzIiBpcyB1c2VkIHRvIHN0b3JlIHRoZSBudW1iZXIgb2YgR3N0QmluYXJ5VXJpVHlwZSBzdHJ1Y3R1cmVzIGZvbGxvd2luZyB0aGUgc3RydWN0dXJlIGl0c2VsZi4KLSovCi0jZGVmaW5lIEdTVF9CSU5BUllfUkVHSVNUUllfVFlQRU5BTUVfVFlQRU5BTUVfTEVOICgyNTYpCi0jZGVmaW5lIEdTVF9CSU5BUllfUkVHSVNUUllfVFlQRU5BTUVfTkFNRV9MRU4gKDI1NikKLSNkZWZpbmUgR1NUX0JJTkFSWV9SRUdJU1RSWV9UWVBFTkFNRV9MT05HTkFNRV9MRU4gKDEwMjQpCi0jZGVmaW5lIEdTVF9CSU5BUllfUkVHSVNUUllfVFlQRU5BTUVfQ0xBU1NfTEVOICg1MTIpCi0jZGVmaW5lIEdTVF9CSU5BUllfUkVHSVNUUllfVFlQRU5BTUVfREVTQ1JJUFRJT05fTEVOICgxMDI0KQotI2RlZmluZSBHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX0FVVEhPUl9MRU4gKDI1NikKLQotdHlwZWRlZiBzdHJ1Y3QgX0dzdEJpbmFyeVBsdWdpbkZlYXR1cmUKLXsKLSAgY2hhciB0eXBlbmFtZVtHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX1RZUEVOQU1FX0xFTl07Ci0gIGNoYXIgbmFtZVtHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX05BTUVfTEVOXTsKLSAgdW5zaWduZWQgbG9uZyByYW5rOwotICBjaGFyIGxvbmduYW1lW0dTVF9CSU5BUllfUkVHSVNUUllfVFlQRU5BTUVfTE9OR05BTUVfTEVOXTsKLSAgY2hhciBjbGFzc1tHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX0NMQVNTX0xFTl07Ci0gIGNoYXIgZGVzY3JpcHRpb25bR1NUX0JJTkFSWV9SRUdJU1RSWV9UWVBFTkFNRV9ERVNDUklQVElPTl9MRU5dOwotICBjaGFyIGF1dGhvcltHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX0FVVEhPUl9MRU5dOwotICB1bnNpZ25lZCBpbnQgbnBhZHRlbXBsYXRlczsKLSAgdW5zaWduZWQgaW50IG5pbnRlcmZhY2VzOwotICB1bnNpZ25lZCBpbnQgbnVyaXR5cGVzOwotfSBHc3RCaW5hcnlQbHVnaW5GZWF0dXJlOwotCi0KLS8qIAotKiogQSBzdHJ1Y3R1cmUgY29udGFpbmluZyB0aGUgc3RhdGljIHBhZCB0ZW1wbGF0ZXMgb2YgYSBwbHVnaW4gZmVhdHVyZSAKLSovCi0jZGVmaW5lIEdTVF9CSU5BUllfUkVHSVNUUllfUEFEVEVNUExBVEVfTkFNRV9MRU4gKDI1NikKLSNkZWZpbmUgR1NUX0JJTkFSWV9SRUdJU1RSWV9QQURURU1QTEFURV9DQVBfTEVOICgxMDI0KQotCi10eXBlZGVmIHN0cnVjdCBfR3N0QmluYXJ5UGFkVGVtcGxhdGUKLXsKLSAgY2hhciBuYW1lW0dTVF9CSU5BUllfUkVHSVNUUllfUEFEVEVNUExBVEVfTkFNRV9MRU5dOwotICBjaGFyIGNhcFtHU1RfQklOQVJZX1JFR0lTVFJZX1BBRFRFTVBMQVRFX0NBUF9MRU5dOwotICBpbnQgZGlyZWN0aW9uOwkJCQkJLyogRWl0aGVyIDA6InNpbmsiIG9yIDE6InNyYyIgKi8KLSAgR3N0UGFkUHJlc2VuY2UgcHJlc2VuY2U7Ci19IEdzdEJpbmFyeVBhZFRlbXBsYXRlOwotCi0vKgotKiogQSB2ZXJ5IHNpbXBsZSBzdHJ1Y3R1cmUgZGVmaW5pbmcgdGhlIHBsdWdpbiBmZWF0dXJlIGludGVyZmFjZSBzdHJpbmcKLSovCi0jZGVmaW5lIEdTVF9CSU5BUllfUkVHSVNUUllfSU5URVJGQUNFX0lOVEVSRkFDRV9MRU4gKDUxMikKLXR5cGVkZWYgc3RydWN0IF9Hc3RCaW5hcnlJbnRlcmZhY2UKLXsKLSAgY2hhciBpbnRlcmZhY2VbR1NUX0JJTkFSWV9SRUdJU1RSWV9JTlRFUkZBQ0VfSU5URVJGQUNFX0xFTl07Ci0gIHVuc2lnbmVkIGxvbmcgc2l6ZTsKLX0gR3N0QmluYXJ5SW50ZXJmYWNlOwotCi0vKiBVcmkgVHlwZSAqLwotdHlwZWRlZiBzdHJ1Y3QgX0dzdEJpbmFyeVVyaVR5cGUKLXsKLSAgR3N0VVJJVHlwZSB0eXBlOwotICB1bnNpZ25lZCBsb25nIG51cmlwcm90b2NvbHM7Ci19IEdzdEJpbmFyeVVyaVR5cGU7Ci0KLS8qIAotKiogRnVuY3Rpb24gcHJvdG90eXBlcwotKi8KLQotLyogTG9jYWwgcHJvdG90eXBlcyAqLwotaW5saW5lIHN0YXRpYyBnYm9vbGVhbiBnc3RfcmVnaXN0cnlfYmluYXJ5X3dyaXRlKEdzdFJlZ2lzdHJ5ICpyZWdpc3RyeSwgY29uc3Qgdm9pZCAqbWVtLCBjb25zdCBzc2l6ZV90IHNpemUpOwotaW5saW5lIHN0YXRpYyBnYm9vbGVhbiBnc3RfcmVnaXN0cnlfYmluYXJ5X2luaXRpYWxpemVfbWFnaWMoR3N0QmluYXJ5UmVnaXN0cnlNYWdpYyAqbSk7Ci1zdGF0aWMgZ2Jvb2xlYW4gZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9maWxsX2ZlYXR1cmUoR0xpc3QgKipsaXN0LCBHc3RQbHVnaW5GZWF0dXJlICosIEdzdEJpbmFyeVBsdWdpbkZlYXR1cmUgKiwgY29uc3QgY2hhciAqKTsKLXN0YXRpYyBnYm9vbGVhbiBnc3RfcmVnaXN0cnlfYmluYXJ5X3NhdmVfcGx1Z2luKEdMaXN0ICoqbGlzdCwgR3N0UmVnaXN0cnkgKnJlZ2lzdHJ5LCBHc3RQbHVnaW4gKnBsdWdpbik7Ci1zdGF0aWMgZ2NoYXIgKmdzdF9yZWdpc3RyeV9iaW5hcnlfY2hlY2tfbWFnaWMoZ2NoYXIgKmluKTsKLXN0YXRpYyBHc3RQbHVnaW5GZWF0dXJlICpnc3RfcmVnaXN0cnlfYmluYXJ5X2xvYWRfZmVhdHVyZShHc3RCaW5hcnlQbHVnaW5GZWF0dXJlICopOwotc3RhdGljIHVuc2lnbmVkIGxvbmcgZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9nZXRfYmluYXJ5X3BsdWdpbihHc3RSZWdpc3RyeSAqcmVnaXN0cnksIGdjaGFyICppbik7Ci0KLS8qIEV4cG9ydGFibGUgKi8KLWdib29sZWFuIGdzdF9yZWdpc3RyeV9iaW5hcnlfd3JpdGVfY2FjaGUoR3N0UmVnaXN0cnkgKnJlZ2lzdHJ5LCBjb25zdCBjaGFyICpsb2NhdGlvbik7Ci1nYm9vbGVhbiBnc3RfcmVnaXN0cnlfYmluYXJ5X3JlYWRfY2FjaGUoR3N0UmVnaXN0cnkgKnJlZ2lzdHJ5LCBjb25zdCBjaGFyICpsb2NhdGlvbik7Ci0KLSNlbmRpZiAvKiAhX19HU1RfUkVHSVNUUllCSU5BUllfSF9fICovCi0KLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXJfMC4xMC4zNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyXzAuMTAuMzYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU2ZDgyMjAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXJfMC4xMC4zNi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLVNVTU1BUlkgPSAiR1N0cmVhbWVyIG11bHRpbWVkaWEgZnJhbWV3b3JrIgotREVTQ1JJUFRJT04gPSAiR1N0cmVhbWVyIGlzIGEgbXVsdGltZWRpYSBmcmFtZXdvcmsgZm9yIGVuY29kaW5nIGFuZCBkZWNvZGluZyB2aWRlbyBhbmQgc291bmQuIFwKLUl0IHN1cHBvcnRzIGEgd2lkZSByYW5nZSBvZiBmb3JtYXRzIGluY2x1ZGluZyBtcDMsIG9nZywgYXZpLCBtcGVnIGFuZCBxdWlja3RpbWUuIgotSE9NRVBBR0UgPSAiaHR0cDovL2dzdHJlYW1lci5mcmVlZGVza3RvcC5vcmcvIgotQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9R3N0cmVhbWVyIgotU0VDVElPTiA9ICJtdWx0aW1lZGlhIgotTElDRU5TRSA9ICJMR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTVjYTgxN2NjYjdkNWI1YjY2MzU1NjkwZTlhYmM2MDUgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3N0L2dzdC5oO2JlZ2lubGluZT0xO2VuZGxpbmU9MjE7bWQ1PThlNWZlNWU4N2QzM2EwNDQ3OWZkZTg2MmUyMzhlYWE0IgotREVQRU5EUyA9ICJnbGliLTIuMCBsaWJ4bWwyIGJpc29uLW5hdGl2ZSBmbGV4LW5hdGl2ZSBnbGliLTIuMC1uYXRpdmUiCi0KLVBSID0gInIyIgotCi1TUkNfVVJJID0gImh0dHA6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3JnL3NyYy9nc3RyZWFtZXIvZ3N0cmVhbWVyLSR7UFZ9LnRhci5iejIgXAotICAgICAgICAgICBmaWxlOi8vY2hlY2tfZml4LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2dzdC1pbnNwZWN0LWNoZWNrLWVycm9yLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtYmFzZXBhcnNlLUZpeC1zZWxmLWNvbXBhcmlzb24tYWx3YXlzLWV2YWx1YXRlcy10by10ci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXBhcnNlLW1ha2UtZ3JhbW1hci55LXdvcmstd2l0aC1CaXNvbi0zLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItZ3N0LWdsaWIyLm00LWRvbi10LWRvLWNyYXp5LXRoaW5ncy10by1HTElCX0NGTEFHUy5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJhMGNmN2Q2ODc3ZjY5NGExYTJhZDJiNGQxZWNiODkwYiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlNTU2YTUyOWUwYThjZjFjZDBhZmQwY2FiMmFmNTQ4OGM5NTI0ZTdjM2Y0MDlkZTI5YjVkODJiYjQxYWU3YTMwIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dAotCi1HU1RSRUFNRVJfREVCVUcgPz0gIi0tZGlzYWJsZS1kZWJ1ZyIKLUVYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtZG9jYm9vayAtLWRpc2FibGUtZ3RrLWRvYyBcCi0gICAgICAgICAgICAtLWRpc2FibGUtZGVwZW5kZW5jeS10cmFja2luZyAtLWRpc2FibGUtY2hlY2sgXAotICAgICAgICAgICAgLS1kaXNhYmxlLWV4YW1wbGVzIC0tZGlzYWJsZS10ZXN0cyBcCi0gICAgICAgICAgICAtLWRpc2FibGUtdmFsZ3JpbmQgJHtHU1RSRUFNRVJfREVCVUd9IFwKLSAgICAgICAgICAgIC0tZGlzYWJsZS1pbnRyb3NwZWN0aW9uIFwKLSAgICAgICAgICAgICIKLQotQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImFjX2N2X2hlYWRlcl92YWxncmluZF92YWxncmluZF9oPW5vIgotCi0jIGFwcGx5IGdzdHJlYW1lciBoYWNrIGFmdGVyIE1ha2VmaWxlLmluLmluIGluIHNvdXJjZSBpcyByZXBsYWNlZCBieSBvdXIgdmVyc2lvbiBmcm9tCi0jICR7U1RBR0lOR19EQVRBRElSX05BVElWRX0vZ2V0dGV4dC9wby9NYWtlZmlsZS5pbi5pbiwgYnV0IGJlZm9yZSBjb25maWd1cmUgaXMgZXhlY3V0ZWQKLSMgaHR0cDovL2xpc3RzLmxpbnV4dG9nby5vcmcvcGlwZXJtYWlsL29wZW5lbWJlZGRlZC1jb3JlLzIwMTItTm92ZW1iZXIvMDMyMjMzLmh0bWwKLW9lX3J1bmNvbmZfcHJlcGVuZCgpIHsKLSAgICAgICAgc2VkIC1pIC1lICIxYVxcIiAtZSAnR0VUVEVYVF9QQUNLQUdFID0gQEdFVFRFWFRfUEFDS0FHRUAnICR7U30vcG8vTWFrZWZpbGUuaW4uaW4KLX0KLQotI2RvX2NvbXBpbGVfcHJlcGVuZCAoKSB7Ci0jICAgIG12ICR7V09SS0RJUn0vZ3N0cmVnaXN0cnliaW5hcnkuW2NoXSAke1N9L2dzdC8KLSN9Ci0KLUZJTEVTXyR7UE59ICs9ICIgJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLyouc28iCi1GSUxFU18ke1BOfS1kZXYgKz0gIiAke2xpYmRpcn0vZ3N0cmVhbWVyLTAuMTAvKi5sYSAke2xpYmRpcn0vZ3N0cmVhbWVyLTAuMTAvKi5hIgotRklMRVNfJHtQTn0tZGJnICs9ICIgJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLy5kZWJ1Zy8gJHtsaWJleGVjZGlyfS9nc3RyZWFtZXItMC4xMC8uZGVidWcvIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9pbWFnZXMvbWV0YS1tdWx0aW1lZGlhLWltYWdlLWJhc2UuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ltYWdlcy9tZXRhLW11bHRpbWVkaWEtaW1hZ2UtYmFzZS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNDlmOTg5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9pbWFnZXMvbWV0YS1tdWx0aW1lZGlhLWltYWdlLWJhc2UuYmIKQEAgLTAsMCArMSw3IEBACitTVU1NQVJZID0gIm1ldGEtbXVsdGltZWRpYSBidWlsZCB0ZXN0IGltYWdlIgorCitJTUFHRV9JTlNUQUxMID0gInBhY2thZ2Vncm91cC1jb3JlLWJvb3QiCisKK0xJQ0VOU0UgPSAiTUlUIgorCitpbmhlcml0IGNvcmUtaW1hZ2UKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvaW1hZ2VzL21ldGEtbXVsdGltZWRpYS1pbWFnZS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvaW1hZ2VzL21ldGEtbXVsdGltZWRpYS1pbWFnZS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjJmZGE5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9pbWFnZXMvbWV0YS1tdWx0aW1lZGlhLWltYWdlLmJiCkBAIC0wLDAgKzEsMyBAQAorcmVxdWlyZSAgbWV0YS1tdWx0aW1lZGlhLWltYWdlLWJhc2UuYmIKKworSU1BR0VfSU5TVEFMTCArPSAicGFja2FnZWdyb3VwLW1ldGEtbXVsdGltZWRpYSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZGMxMzk0L2xpYmRjMTM5NF9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmRjMTM5NC9saWJkYzEzOTRfZ2l0LmJiCmluZGV4IGI2YmI0NDcuLjNiM2FjODMgMTAwNzU1Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZGMxMzk0L2xpYmRjMTM5NF9naXQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJkYzEzOTQvbGliZGMxMzk0X2dpdC5iYgpAQCAtMTksNyArMTksNyBAQAogICAgICAgICAgICBmaWxlOi8vaW5zdGFsbF9leGFtcGxlcy5wYXRjaCBcCiAgICAgICAgICAgIgogCi1TID0gIiR7V09SS0RJUn0vZ2l0LyR7UE59IgorUyA9ICIke1dPUktESVJ9L2dpdC8ke0JQTn0iCiAKIGluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJkdmJjc2EvbGliZHZiY3NhL2xpYmR2YmNzYS5wYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZHZiY3NhL2xpYmR2YmNzYS9saWJkdmJjc2EucGMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTdlNzQ2NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZHZiY3NhL2xpYmR2YmNzYS9saWJkdmJjc2EucGMKQEAgLTAsMCArMSwxMCBAQAorcHJlZml4PS91c3IKK2xpYmRpcj0ke3ByZWZpeH0vbGliCitpbmNsdWRlZGlyPSR7cHJlZml4fS9pbmNsdWRlCisKK05hbWU6IGxpYmR2YmNzYQorRGVzY3JpcHRpb246ICBpcyBhIGZyZWUgaW1wbGVtZW50YXRpb24gb2YgdGhlIERWQiBDb21tb24gU2NyYW1ibGluZyBBbGdvcml0aG0gLSBEVkIvQ1NBIC0gd2l0aCBlbmNyeXB0aW9uIGFuZCBkZWNyeXB0aW9uIGNhcGFiaWxpdGllcy4KK1ZlcnNpb246IDEuMS4wCitSZXF1aXJlczoKK0xpYnM6IC1MJHtsaWJkaXJ9IC1sZHZiY3NhCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZHZiY3NhL2xpYmR2YmNzYV8xLjEuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZHZiY3NhL2xpYmR2YmNzYV8xLjEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZjA0MmMzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJkdmJjc2EvbGliZHZiY3NhXzEuMS4wLmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiT3BlbiBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgRFZCIENvbW1vbiBTY3JhbWJsaW5nIEFsZ29yaXRobSwgZW5jcnlwdCBhbmQgZGVjcnlwdCAiCitTRUNUSU9OID0gImxpYnMvbXVsdGltZWRpYSIKK0xJQ0VOU0UgPSAiTEdQTHYyLjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK1NSQ1JFViA9ICJiYzZjMGIxNjRhODdjZTA1ZTk5MjU3ODVjYzZmYjNmNTRjMDJiMDI2IgorCitTUkNfVVJJID0gImdpdDovL2NvZGUudmlkZW9sYW4ub3JnL3ZpZGVvbGFuL2xpYmR2YmNzYS5naXQ7cHJvdG9jb2w9aHR0cHMgXAorICAgICAgICAgICBmaWxlOi8vbGliZHZiY3NhLnBjIFwKKyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgbGliX3BhY2thZ2UgcGtnY29uZmlnCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLUQgLW0gMDY0NCAke1N9L3NyYy9kdmJjc2EvZHZiY3NhLmggJHtEfSR7aW5jbHVkZWRpcn0vZHZiY3NhL2R2YmNzYS5oCisgICAgaW5zdGFsbCAtRCAtbSAwNjQ0ICR7V09SS0RJUn0vbGliZHZiY3NhLnBjICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnL2xpYmR2YmNzYS5wYworfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9taW1pYy9taW1pY18xLjIuMC4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9taW1pYy9taW1pY18xLjIuMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiNGIxYjMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL21pbWljL21pbWljXzEuMi4wLjIuYmIKQEAgLTAsMCArMSwyNyBAQAorU1VNTUFSWSA9ICJBIGZhc3QgbGlnaHR3ZWlnaHQgVGV4dC10by1zcGVlY2ggZW5naW5lIgorREVTQ1JJUFRJT04gPSAiTWltaWMgaXMgYSBmYXN0LCBsaWdodHdlaWdodCBUZXh0LXRvLXNwZWVjaCBlbmdpbmUgZGV2ZWxvcGVkIGJ5IE15Y3JvZnQgQS5JLiBhbmQgVm9jYWxpRCwgYmFzZWQgb24gQ2FybmVnaWUgTWVsbG9uIFVuaXZlcnNpdHnigJlzIEZsaXRlIChGZXN0aXZhbC1MaXRlKSBzb2Z0d2FyZS4gTWltaWMgdGFrZXMgaW4gdGV4dCBhbmQgcmVhZHMgaXQgb3V0IGxvdWQgdG8gY3JlYXRlIGEgaGlnaCBxdWFsaXR5IHZvaWNlLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vbWltaWMubXljcm9mdC5haS8iCitTRUNUSU9OID0gIm11bHRpbWVkaWEiCisKKyMgIk1pbWljIGlzIGF2YWlsYWJsZSB1bmRlciBwZXJtaXNzaXZlIEJTRC1saWtlIGxpY2Vuc2VzIgorTElDRU5TRSA9ICJNSVQtWCAmIFwKKyAgICAgICAgICAgUEQgJiBcCisgICAgICAgICAgIENNVS1UZXggJiBcCisgICAgICAgICAgIEJTRCAmIFwKKyAgICAgICAgICAgQlNELTItQ2xhdXNlICYgXAorICAgICAgICAgICBCU0QtMy1DbGF1c2UgJiBcCisgICAgICAgICAgIGZsaXRlICYgXAorICAgICAgICAgICAoZmxpdGUgJiBTdW4pICYgXAorICAgICAgICAgICBCZWxsQmlyZCAmIFwKKyAgICAgICAgICAgQXBhY2hlLTIuMCBcCisgICAgICAgICAgICIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTQxNmVmMWNhNTE2NzcwN2ZlMzgxZDdiZTMzNjY0YTMzIgorCitERVBFTkRTID0gImN1cmwtbmF0aXZlIGljdSIKKworU1JDUkVWID0gIjY3ZTQzYmYwZmE1NjAwODI3NmI4NzhlYzM3OTBhYTVmMzJlYjJhMTYiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vTXljcm9mdEFJL21pbWljLmdpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworUyA9ICIke1dPUktESVJ9L2dpdCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvb3BlbmFsL29wZW5hbC1zb2Z0LzAwMDEtVXNlLUJVSUxEX0NDLXRvLWNvbXBpbGUtbmF0aXZlLXRvb2xzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9vcGVuYWwvb3BlbmFsLXNvZnQvMDAwMS1Vc2UtQlVJTERfQ0MtdG8tY29tcGlsZS1uYXRpdmUtdG9vbHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTZmMTIzZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvb3BlbmFsL29wZW5hbC1zb2Z0LzAwMDEtVXNlLUJVSUxEX0NDLXRvLWNvbXBpbGUtbmF0aXZlLXRvb2xzLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK0Zyb20gMjkyMTc5MzJjMzRkN2UzMzY4NzY0YWI2NDg3OWRjNmYxZWRhYjFhNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBNb24sIDE0IEphbiAyMDE5IDExOjE5OjQ0IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIFVzZSBob3N0IGNvbXBpbGVyIHRvIGNvbXBpbGUgbmF0aXZlIHRvb2xzCisKK0hlbHBzIGluIGNyb3NzIGNvbXBpbGluZworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FLVNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCistLS0KKyBDTWFrZUxpc3RzLnR4dCB8IDUgKystLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAoraW5kZXggMzliODAyNTAuLmQ2YmRmOGVkIDEwMDY0NAorLS0tIGEvQ01ha2VMaXN0cy50eHQKKysrKyBiL0NNYWtlTGlzdHMudHh0CitAQCAtMTI4OCwxMSArMTI4OCwxMCBAQCBGSUxFKE1BS0VfRElSRUNUT1JZICIke05BVElWRV9CSU5fRElSfSIpCisgU0VUKEJJTjJIX0NPTU1BTkQgICIke05BVElWRV9CSU5fRElSfWJpbjJoIikKKyBTRVQoQlNJTkNHRU5fQ09NTUFORCAgIiR7TkFUSVZFX0JJTl9ESVJ9YnNpbmNnZW4iKQorIEFERF9DVVNUT01fQ09NTUFORChPVVRQVVQgIiR7QklOMkhfQ09NTUFORH0iICIke0JTSU5DR0VOX0NPTU1BTkR9IgorLSAgICBDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gLUcgIiR7Q01BS0VfR0VORVJBVE9SfSIgIiR7TkFUSVZFX1NSQ19ESVJ9IgorICAgICBDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gLUUgcmVtb3ZlICIke0JJTjJIX0NPTU1BTkR9IiAiJHtCU0lOQ0dFTl9DT01NQU5EfSIKKy0gICAgQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9IC0tYnVpbGQgLiAtLWNvbmZpZyAiUmVsZWFzZSIKKysgICAgQ09NTUFORCBnY2MgIiR7TkFUSVZFX1NSQ19ESVJ9YmluMmguYyIgLW8gIiR7QklOMkhfQ09NTUFORH0iIC1sbQorKyAgICBDT01NQU5EIGdjYyAiJHtOQVRJVkVfU1JDX0RJUn1ic2luY2dlbi5jIiAtbyAiJHtCU0lOQ0dFTl9DT01NQU5EfSIgLWxtCisgICAgIFdPUktJTkdfRElSRUNUT1JZICIke05BVElWRV9CSU5fRElSfSIKKy0gICAgREVQRU5EUyAiJHtOQVRJVkVfU1JDX0RJUn1DTWFrZUxpc3RzLnR4dCIKKyAgICAgSU1QTElDSVRfREVQRU5EUyBDICIke05BVElWRV9TUkNfRElSfWJpbjJoLmMiCisgICAgICAgICAgICAgICAgICAgICAgQyAiJHtOQVRJVkVfU1JDX0RJUn1ic2luY2dlbi5jIgorICAgICBWRVJCQVRJTQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9vcGVuYWwvb3BlbmFsLXNvZnQvMDAwMi1tYWtlaHJ0Zi1EaXNhYmxlLVdzdHJpbmdvcC10cnVuY2F0aW9uLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9vcGVuYWwvb3BlbmFsLXNvZnQvMDAwMi1tYWtlaHJ0Zi1EaXNhYmxlLVdzdHJpbmdvcC10cnVuY2F0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0MjAzODYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL29wZW5hbC9vcGVuYWwtc29mdC8wMDAyLW1ha2VocnRmLURpc2FibGUtV3N0cmluZ29wLXRydW5jYXRpb24ucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSAwN2VmODZlMzNlZDZmNzU4NWYwZGZhYTE3MzJlYTE3YzgxNjY1NWE0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMTQgSmFuIDIwMTkgMTE6NDU6NDIgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gbWFrZWhydGY6IERpc2FibGUgV3N0cmluZ29wLXRydW5jYXRpb24KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtTaG91bGQgYmUgZml4ZWQgaW4gY29kZV0KK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyB1dGlscy9tYWtlaHJ0Zi5jIHwgMiArKworIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3V0aWxzL21ha2VocnRmLmMgYi91dGlscy9tYWtlaHJ0Zi5jCitpbmRleCAwYmQzNjg0OS4uMGFiZTQyNTIgMTAwNjQ0CistLS0gYS91dGlscy9tYWtlaHJ0Zi5jCisrKysgYi91dGlscy9tYWtlaHJ0Zi5jCitAQCAtODYyLDYgKzg2Miw3IEBAIHN0YXRpYyBpbnQgVHJSZWFkT3BlcmF0b3IoVG9rZW5SZWFkZXJUICp0ciwgY29uc3QgY2hhciAqb3ApCisgICogcGF0dGVybiBzdHJpbmcgYXJlIHJlcGxhY2VkIHdpdGggdGhlIHJlcGxhY2VtZW50IHN0cmluZy4gIFRoZSByZXN1bHQgaXMKKyAgKiB0cnVuY2F0ZWQgaWYgbmVjZXNzYXJ5LgorICAqLworKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdzdHJpbmdvcC10cnVuY2F0aW9uIgorIHN0YXRpYyBpbnQgU3RyU3Vic3QoY29uc3QgY2hhciAqaW4sIGNvbnN0IGNoYXIgKnBhdCwgY29uc3QgY2hhciAqcmVwLCBjb25zdCBzaXplX3QgbWF4TGVuLCBjaGFyICpvdXQpCisgeworICAgICBzaXplX3QgaW5MZW4sIHBhdExlbiwgcmVwTGVuOworQEAgLTkwMCw2ICs5MDEsNyBAQCBzdGF0aWMgaW50IFN0clN1YnN0KGNvbnN0IGNoYXIgKmluLCBjb25zdCBjaGFyICpwYXQsIGNvbnN0IGNoYXIgKnJlcCwgY29uc3Qgc2l6ZQorICAgICByZXR1cm4gIXRydW5jYXRlZDsKKyB9CisgCisrI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBwb3AKKyAKKyAvKioqKioqKioqKioqKioqKioqKioqCisgICoqKiBNYXRoIHJvdXRpbmVzICoqKgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9vcGVuYWwvb3BlbmFsLXNvZnRfMS4xNS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9vcGVuYWwvb3BlbmFsLXNvZnRfMS4xNS4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMGYxYTI2Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvb3BlbmFsL29wZW5hbC1zb2Z0XzEuMTUuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLVNVTU1BUlkgPSAiT3BlbkFMIGlzIGEgY3Jvc3MtcGxhdGZvcm0gM0QgYXVkaW8gQVBJIgotSE9NRVBBR0UgPSAiaHR0cDovL2tjYXQuc3RyYW5nZXNvZnQubmV0L29wZW5hbC5odG1sIgotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZhY2MzYThmNDUyOTMwMDgzYmJiOTVkODJiOTg5YzM1IgotCi1pbmhlcml0IGNtYWtlCi0KLVNSQ19VUkkgPSAiaHR0cDovL2tjYXQuc3RyYW5nZXNvZnQubmV0L29wZW5hbC1yZWxlYXNlcy8ke0JQfS50YXIuYnoyIgotU1JDX1VSSVttZDVzdW1dID0gImVhODNkZWMzYjk2NTVhMjdkMjhlN2JjN2NhZTljZDcxIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBlMjlhMTYyZjA4NDFjY2I0MTM1Y2U3NmU5MmU4YTcwNDU4OWI2ODBhODVlZGRmNzZmODk4ZGU1MjM2ZWIwNTYiCi0KLVBBQ0tBR0VDT05GSUcgPz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2Fsc2EgcHVsc2VhdWRpbycsIGQpfSIKLVBBQ0tBR0VDT05GSUdbYWxzYV0gPSAiLURBTFNBPVRSVUUsIC1EQUxTQT1GQUxTRSwgYWxzYS1saWIiCi1QQUNLQUdFQ09ORklHW3B1bHNlYXVkaW9dID0gIi1EUFVMU0VBVURJTz1UUlVFLCAtRFBVTFNFQVVESU89RkFMU0UsIHB1bHNlYXVkaW8iCi0jIGN1cnJlbnRseSBkb2Vzbid0IHdvcmsgd2l0aCBsaWJhdi05Ci0jIFBLR19DSEVDS19NT0RVTEVTKEZGTVBFRyBsaWJhdmNvZGVjPj01My42MS4xMDAgbGliYXZmb3JtYXQ+PTUzLjMyLjEwMCBsaWJhdnV0aWw+PTUxLjM1LjEwMCkKLSMgYnV0IGFsZmZtcGVnLmM6NDE4OjQ0OiBlcnJvcjogJ0FWX0NIX0xBWU9VVF9NT05PJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKLVBBQ0tBR0VDT05GSUdbZXhhbXBsZXNdID0gIi1ERVhBTVBMRVM9VFJVRSwgLURFWEFNUExFUz1GQUxTRSwgbGliYXYiCi0KLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L29wZW5hbCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvb3BlbmFsL29wZW5hbC1zb2Z0XzEuMTkuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvb3BlbmFsL29wZW5hbC1zb2Z0XzEuMTkuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOWNkZmFjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9vcGVuYWwvb3BlbmFsLXNvZnRfMS4xOS4xLmJiCkBAIC0wLDAgKzEsMjUgQEAKK1NVTU1BUlkgPSAiT3BlbkFMIGlzIGEgY3Jvc3MtcGxhdGZvcm0gM0QgYXVkaW8gQVBJIgorSE9NRVBBR0UgPSAiaHR0cDovL2tjYXQuc3RyYW5nZXNvZnQubmV0L29wZW5hbC5odG1sIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTBmMTU5ZjE5ZjkzNzdlMTg5NWZiYjQ3N2Q1YTc5NTNlIgorCitpbmhlcml0IGNtYWtlIHBrZ2NvbmZpZworCisjIG9wZW5hbC1zb2Z0LTEuMTkuMQorU1JDUkVWID0gIjY3NjEyMThlNTE2OTlmNDZiZjI1YzM3N2U2NWIzZTllYTVlNDM0YjkiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20va2NhdC9vcGVuYWwtc29mdCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVVzZS1CVUlMRF9DQy10by1jb21waWxlLW5hdGl2ZS10b29scy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLW1ha2VocnRmLURpc2FibGUtV3N0cmluZ29wLXRydW5jYXRpb24ucGF0Y2ggXAorICAgICAgICAgICAiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK1BBQ0tBR0VDT05GSUcgPz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2Fsc2EgcHVsc2VhdWRpbycsIGQpfSIKK1BBQ0tBR0VDT05GSUdbYWxzYV0gPSAiLURBTFNBPVRSVUUsIC1EQUxTQT1GQUxTRSwgYWxzYS1saWIiCitQQUNLQUdFQ09ORklHW3B1bHNlYXVkaW9dID0gIi1EUFVMU0VBVURJTz1UUlVFLCAtRFBVTFNFQVVESU89RkFMU0UsIHB1bHNlYXVkaW8iCisjIGN1cnJlbnRseSBkb2Vzbid0IHdvcmsgd2l0aCBsaWJhdi05CisjIFBLR19DSEVDS19NT0RVTEVTKEZGTVBFRyBsaWJhdmNvZGVjPj01My42MS4xMDAgbGliYXZmb3JtYXQ+PTUzLjMyLjEwMCBsaWJhdnV0aWw+PTUxLjM1LjEwMCkKKyMgYnV0IGFsZmZtcGVnLmM6NDE4OjQ0OiBlcnJvcjogJ0FWX0NIX0xBWU9VVF9NT05PJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKK1BBQ0tBR0VDT05GSUdbZXhhbXBsZXNdID0gIi1ERVhBTVBMRVM9VFJVRSwgLURFWEFNUExFUz1GQUxTRSwgbGliYXYiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L29wZW5hbCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtbWV0YS1tdWx0aW1lZGlhLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1tZXRhLW11bHRpbWVkaWEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjA0OGFjNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtbWV0YS1tdWx0aW1lZGlhLmJiCkBAIC0wLDAgKzEsNTIgQEAKK1NVTU1BUlkgPSAiTWV0YS1tdWx0aW1lZGlhIHBhY2thZ2Vncm91cHMiCisKK2luaGVyaXQgcGFja2FnZWdyb3VwCisKK1BST1ZJREVTID0gIiR7UEFDS0FHRVN9IgorUEFDS0FHRVMgPSAnIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1tdWx0aW1lZGlhIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1tdWx0aW1lZGlhLWNvbm5lY3Rpdml0eSBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbXVsdGltZWRpYS1kdmIgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLW11bHRpbWVkaWEtbWt2IFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1tdWx0aW1lZGlhLXN1cHBvcnQgXAorJworCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1tdWx0aW1lZGlhID0gIlwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1tdWx0aW1lZGlhIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1tdWx0aW1lZGlhLWNvbm5lY3Rpdml0eSBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbXVsdGltZWRpYS1kdmIgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLW11bHRpbWVkaWEtbWt2IFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1tdWx0aW1lZGlhLXN1cHBvcnQgXAorIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1tdWx0aW1lZGlhID0gIlwKKyAgICBsaWJkdmJwc2kgbGliZGMxMzk0IGdzdGQgZ3N0LXNoYXJrIFwKKyAgICBiaWdidWNrYnVubnktNzIwcCB0ZWFyc29mc3RlZWwtMTA4MHAgYmlnYnVja2J1bm55LTEwODBwIGJpZ2J1Y2tidW5ueS00ODBwIFwKKyAgICBvcGVuYWwtc29mdCBkbGV5bmEtY29yZSBkbGV5bmEtcmVuZGVyZXIgZGxleW5hLXNlcnZlciBkbGV5bmEtY29ubmVjdG9yLWRidXMgXAorICAgIGFsc2EtZXF1YWwgbGliZHZkbmF2IGxpYm11c2ljYnJhaW56IHRpbnlhbHNhIFwKKyAgICBmbHVpZHN5bnRoIGNkcGFyYW5vaWEgdm9yYmlzLXRvb2xzIHRyZW1vciBjYXBzIGxpYmFvIGxpYmF2YzEzOTQgXAorICAgIG9wdXNmaWxlIGdlcmJlcmEgbGliZHZkY3NzIHdlYnJ0Yy1hdWRpby1wcm9jZXNzaW5nIFwKKyAgICBydG1wZHVtcCBsaWJvcGVubXB0IHNjaHJvZWRpbmdlciBtcGQgbXBjIGxpYm1wZGNsaWVudCBcCisgICAgbmNtcGMgbGlibXBkIGxpYnNxdWlzaCBkY2FkZWMgbGliaWVjNjE4ODMgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAicGFtIiwgIiIsICIiLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJMSUNFTlNFX0ZMQUdTX1dISVRFTElTVCIsICJjb21tZXJjaWFsIiwgIm1pbmlkbG5hIGdzdC1mbHVlbmRvLW1wZWdkZW11eCB2bGMiLCAiIiwgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiTElDRU5TRV9GTEFHU19XSElURUxJU1QiLCAiY29tbWVyY2lhbCIsICJ2by1hYWNlbmMgc294IGxpYmRlMjY1IGdzdC1vcGVubWF4IiwgIiIsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkxJQ0VOU0VfRkxBR1NfV0hJVEVMSVNUIiwgImNvbW1lcmNpYWwiLCAic3RyZWFtcmlwcGVyIGdzdC1wbHVnaW5zLXVnbHkgZ3N0LWZsdWVuZG8tbXAzIGdzdC1wbHVnaW5zLWdsIiwgIiIsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkxJQ0VOU0VfRkxBR1NfV0hJVEVMSVNUIiwgImNvbW1lcmNpYWwiLCAib3BlbmgyNjQgb3BlbmNvcmUtYW1yIGZhYWMgdm8tYW1yd2JlbmMiLCAiIiwgZCl9IFwKKyAgICAiCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLW11bHRpbWVkaWEtY29ubmVjdGl2aXR5ID0gIlwKKyAgICByeWdlbCBndXBucCBndXBucC1pZ2QgZ3NzZHAgZ3VwbnAtZGxuYSBndXBucC1hdiBsaWJ1cG5wIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgIngxMSIsICJndXBucC10b29scyIsICIiLCBkKX0gXAorICAgICIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtbXVsdGltZWRpYS1kdmIgPSAiXAorICAgIG9zY2FtICIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtbXVsdGltZWRpYS1ta3YgPSAiXAorICAgIGxpYm1hdHJvc2thIGxpYmVibWwgXAorICAgICIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtbXVsdGltZWRpYS1zdXBwb3J0ID0gIlwKKyAgICBsaWJvaWwgbGlibWVkaWFhcnQgbGlibWVkaWFhcnQtMi4wIGdzdC1pbnN0cnVtZW50cyBsaWJzcnRwIGNyb3NzZ3VpZCBcCisgICAgIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy5pbmMKaW5kZXggZjEzYzBlYS4uMTlhYzgyMCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLmluYworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMuaW5jCkBAIC01LDcgKzUsNyBAQAogTElDRU5TRSA9ICJHUEwtMi4wIgogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCiAKLURFUEVORFMgPSAiZnJpYmlkaSBsaWJ0b29sIGxpYmdjcnlwdCBsaWJnY3J5cHQtbmF0aXZlIFwKK0RFUEVORFMgPSAiY29yZXV0aWxzLW5hdGl2ZSBmcmliaWRpIGxpYnRvb2wgbGliZ2NyeXB0IGxpYmdjcnlwdC1uYXRpdmUgXAogICAgZGJ1cyBkYnVzLWdsaWIgbGlieG1sMiBnbnV0bHMgXAogICAgdHJlbW9yIGZhYWQyIGZmbXBlZyBmbGFjIGZsdWlkc3ludGggYWxzYS1saWIgXAogICAgbHVhLW5hdGl2ZSBsdWEgbGliaWRuIFwKQEAgLTIxLDEyICsyMSwxMiBAQAogaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCiAKIEFSTV9JTlNUUlVDVElPTl9TRVQgPSAiYXJtIgotCitleHBvcnQgQlVJTERDQyA9ICIke0JVSUxEX0NDfSIKIEVYVFJBX09FQ09ORiA9ICJcCiAgICAgLS1lbmFibGUtcnVuLWFzLXJvb3QgXAogICAgIC0tZW5hYmxlLXh2aWRlbyBcCiAgICAgLS1kaXNhYmxlLXNjcmVlbiAtLWRpc2FibGUtY2FjYSBcCi0gICAgLS1lbmFibGUtaHR0cGQgLS1lbmFibGUtdmxtIFwKKyAgICAtLWVuYWJsZS12bG0gXAogICAgIC0tZW5hYmxlLWZyZWV0eXBlIFwKICAgICAtLWVuYWJsZS10cmVtb3IgXAogICAgIC0tZW5hYmxlLXY0bDIgLS1kaXNhYmxlLWFhIC0tZGlzYWJsZS1mYWFkIFwKQEAgLTM1LDIyICszNSwyMiBAQAogICAgIC0td2l0aG91dC1rZGUtc29saWQgXAogICAgIC0tZW5hYmxlLXJlYWxydHNwIFwKICAgICAtLWRpc2FibGUtbGlidGFyIFwKKyAgICAtLWVuYWJsZS1hdmNvZGVjIFwKICAgICBhY19jdl9wYXRoX01PQz0ke1NUQUdJTkdfQklORElSX05BVElWRX0vbW9jNCBcCiAgICAgYWNfY3ZfcGF0aF9SQ0M9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3JjYzQgXAogICAgIGFjX2N2X3BhdGhfVUlDPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS91aWM0IFwKICIKIAotUEFDS0FHRUNPTkZJRyA/PSAiIGxpdmU1NTUgZGMxMzk0IGR2MTM5NCBub3RpZnkgZm9udGNvbmZpZyBmcmVldHlwZSBkdmRyZWFkIHBuZyAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICd4MTEgc2RsIHZkcGF1JywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUcgPz0gIiBsaXZlNTU1IGRjMTM5NCBkdjEzOTQgbm90aWZ5IGZvbnRjb25maWcgZnJlZXR5cGUgZHZkcmVhZCBwbmcgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAneDExJywgJycsIGQpfSIKKwogUEFDS0FHRUNPTkZJR1ttYWRdID0gIi0tZW5hYmxlLW1hZCwtLWRpc2FibGUtbWFkLGxpYm1hZCIKLVBBQ0tBR0VDT05GSUdbc2RsXSA9ICItLWVuYWJsZS1zZGwsLS1kaXNhYmxlLXNkbCx2aXJ0dWFsL2xpYnNkbCBsaWJzZGwtaW1hZ2UgIgogUEFDS0FHRUNPTkZJR1thNTJdID0gIi0tZW5hYmxlLWE1MiwtLWRpc2FibGUtYTUyLGxpYmE1MiIKIFBBQ0tBR0VDT05GSUdbamFja10gPSAiLS1lbmFibGUtamFjaywtLWRpc2FibGUtamFjayxqYWNrIgogUEFDS0FHRUNPTkZJR1tsaXZlNTU1XSA9ICItLWVuYWJsZS1saXZlNTU1LC0tZGlzYWJsZS1saXZlNTU1LGxpdmU1NTUiCiBQQUNLQUdFQ09ORklHW2xpYmFzc10gPSAiLS1lbmFibGUtbGliYXNzLC0tZGlzYWJsZS1saWJhc3MsbGliYXNzIgotUEFDS0FHRUNPTkZJR1tta3ZdID0gIi0tZW5hYmxlLW1rdiwtLWRpc2FibGUtbWt2LGxpYm1hdHJvc2thIGxpYmVibWwiCiBQQUNLQUdFQ09ORklHW3Bvc3Rwcm9jXSA9ICItLWVuYWJsZS1wb3N0cHJvYywtLWRpc2FibGUtcG9zdHByb2MsbGlicG9zdHByb2MiCitQQUNLQUdFQ09ORklHW2xpYnZhXSA9ICItLWVuYWJsZS1saWJ2YSwtLWRpc2FibGUtbGlidmEsbGlidmEiCiBQQUNLQUdFQ09ORklHW29wZW5jdl0gPSAiLS1lbmFibGUtb3BlbmN2LC0tZGlzYWJsZS1vcGVuY3Ysb3BlbmN2IgotUEFDS0FHRUNPTkZJR1tsaWJ2YV0gPSAiLS1lbmFibGUtbGlidmEgLS1lbmFibGUtYXZjb2RlYywtLWRpc2FibGUtbGlidmEgLS1kaXNhYmxlLWF2Y29kZWMsbGlidmEgbGliYXYiCiBQQUNLQUdFQ09ORklHW3NwZWV4XSA9ICItLWVuYWJsZS1zcGVleCwtLWRpc2FibGUtc3BlZXgsc3BlZXgiCiBQQUNLQUdFQ09ORklHW2dzdHJlYW1lcl0gPSAiLS1lbmFibGUtZ3N0LWRlY29kZSwtLWRpc2FibGUtZ3N0LWRlY29kZSxnc3RyZWFtZXIxLjAgZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZSBnc3QtcGx1Z2lucy1iYWQiCiBQQUNLQUdFQ09ORklHW3ZweF0gPSAiLS1lbmFibGUtdnB4LC0tZGlzYWJsZS12cHgsIGxpYnZweCIKQEAgLTgxLDcgKzgxLDYgQEAKIH0KIAogZG9fY29uZmlndXJlX2FwcGVuZCgpIHsKLSAgICBzZWQgLWkgLWUgczonJChNT0MpICQoREVGUykgJChDUFBGTEFHUyknOickKE1PQykgJChERUZTKSdcIC1JJHtCfS9pbmNsdWRlXCAtRFNZU19MSU5VWDpnICR7Qn0vbW9kdWxlcy9ndWkvcXQ0L01ha2VmaWxlCiAgICAgc2VkIC1pIC1lIHM6JyR7dG9wX2J1aWxkZGlyX3NsYXNofWxpYnRvb2wnOicke3RvcF9idWlsZGRpcl9zbGFzaH0nJHtUQVJHRVRfU1lTfS1saWJ0b29sOmcgJHtCfS9kb2x0bGlidG9vbAogfQogCkBAIC05NCwxMCArOTMsMTEgQEAKIAogRklMRVNfJHtQTn0gKz0gIlwKICAgICAke2JpbmRpcn0vdmxjIFwKKyAgICAke2xpYmRpcn0vdmxjL3ZsYy9saWJ2bGNfdmRwYXUuc28gXAogICAgICR7ZGF0YWRpcn0vYXBwbGljYXRpb25zIFwKICAgICAke2RhdGFkaXJ9L3ZsYy8gXAogICAgICR7ZGF0YWRpcn0vaWNvbnMgXAotICAgICR7bGluZGlyfS92bGMvdmxjL2xpYnZsY192ZHBhdS5zbyBcCisgICAgJHtkYXRhZGlyfS9tZXRhaW5mby92bGMuYXBwZGF0YS54bWwgXAogIgogCiBGSUxFU18ke1BOfS1kYmcgKz0gIlwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDAxLWVuYWJsZS1zdWJkaXItb2JqZWN0cy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDAxLWVuYWJsZS1zdWJkaXItb2JqZWN0cy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWYwZTcwOC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwMS1lbmFibGUtc3ViZGlyLW9iamVjdHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi1JbmRleDogdmxjLTIuMS4yL2NvbmZpZ3VyZS5hYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHZsYy0yLjEuMi5vcmlnL2NvbmZpZ3VyZS5hYwotKysrIHZsYy0yLjEuMi9jb25maWd1cmUuYWMKLUBAIC0yNCw3ICsyNCw3IEBAIEFDX0NBTk9OSUNBTF9CVUlMRAotIEFDX0NBTk9OSUNBTF9IT1NUCi0gQUNfUFJFU0VSVkVfSEVMUF9PUkRFUgotIAotLUFNX0lOSVRfQVVUT01BS0UodGFyLXVzdGFyIGNvbG9yLXRlc3RzIGZvcmVpZ24pCi0rQU1fSU5JVF9BVVRPTUFLRSh0YXItdXN0YXIgY29sb3ItdGVzdHMgZm9yZWlnbiBzdWJkaXItb2JqZWN0cykKLSBBQ19DT05GSUdfSEVBREVSUyhbY29uZmlnLmhdKQotIAotICMgRGlzYWJsZSB3aXRoICIuL2NvbmZpZ3VyZSAtLWRpc2FibGUtc2lsZW50LXJ1bGVzIiBvciAibWFrZSBWPTEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwMi1nbGliYy1kb2VzLW5vdC1wcm92aWRlLXN0cmxjcHkucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwMi1nbGliYy1kb2VzLW5vdC1wcm92aWRlLXN0cmxjcHkucGF0Y2gKaW5kZXggNmQyYTQ2Zi4uM2RiM2RmMyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDItZ2xpYmMtZG9lcy1ub3QtcHJvdmlkZS1zdHJsY3B5LnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDAyLWdsaWJjLWRvZXMtbm90LXByb3ZpZGUtc3RybGNweS5wYXRjaApAQCAtMSw4ICsxLDYgQEAKLUluZGV4OiB2bGMtMi4xLjIvc3JjL2lucHV0L3N1YnRpdGxlcy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gdmxjLTIuMS4yLm9yaWcvc3JjL2lucHV0L3N1YnRpdGxlcy5jCi0rKysgdmxjLTIuMS4yL3NyYy9pbnB1dC9zdWJ0aXRsZXMuYwotQEAgLTQ0LDYgKzQ0LDEyIEBACistLS0gYS9zcmMvaW5wdXQvc3VidGl0bGVzLmMKKysrKyBiL3NyYy9pbnB1dC9zdWJ0aXRsZXMuYworQEAgLTQyLDYgKzQyLDEyIEBACiAgI2luY2x1ZGUgImlucHV0X2ludGVybmFsLmgiCiAgCiAgLyoqCkBAIC0xMiw2ICsxMCw2IEBACiArI2RlZmluZSBzdHJsY3B5KGRzdCwgc3JjLCBuKSAqKChjaGFyKiApIG1lbXBjcHkoZHN0LCBzcmMsIG4pKSA9ICdcMCcKICsKICsvKioKLSAgKiBXZSBhcmUgbm90IGdvaW5nIHRvIGF1dG9kZXRlY3QgbW9yZSBzdWJ0aXRsZSBmaWxlcyB0aGFuIHRoaXMuCisgICogVGhlIHBvc3NpYmxlIGV4dGVuc2lvbnMgZm9yIHN1YnRpdGxlIGZpbGVzIHdlIHN1cHBvcnQKICAgKi8KLSAjZGVmaW5lIE1BWF9TVUJUSVRMRV9GSUxFUyAxMjgKKyBzdGF0aWMgY29uc3QgY2hhciAqY29uc3Qgc3ViX2V4dHNbXSA9IHsgU0xBVkVfU1BVX0VYVEVOU0lPTlMsICIiIH07CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwMy11c2UtYW0tcGF0aC1saWJnY3J5cHQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwMy11c2UtYW0tcGF0aC1saWJnY3J5cHQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhlODgxZDAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDMtdXNlLWFtLXBhdGgtbGliZ2NyeXB0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotKiBUaGUgdXBzdHJlYW0gdGVzdHMgZm9yIGxpYmdjcnlwdCBhcmUgYXdrd2FyZCBhbmQgbm90IHdvcmtpbmcuCi0gIC0gUmVxdWlyZXMgbGliZ2NyeXB0LWNvbmZpZywgd2hpY2ggc2VlbXMgYnJva2VuPwotKiBBTV9QQVRIX0xJQkdDUllQVCBleGlzdHMgZm9yIGEgcmVhc29uLCB3aHkgbm90IHVzZSBpdD8gS0lTUy4KLSogVXBzdHJlYW0gYWJhbmRvbmVkIEFNX1BBVEhfTElCR0NSWVBUIGluIHRoZSBwYXN0Li4ubmV3ZXIgYXV0b21ha2Ugb2s/Ci0KLVVwc3RyZWFtIHN0YXR1czogUGVuZGluZwotCi1JbmRleDogdmxjLTIuMi4xL2NvbmZpZ3VyZS5hYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHZsYy0yLjIuMS5vcmlnL2NvbmZpZ3VyZS5hYwotKysrIHZsYy0yLjIuMS9jb25maWd1cmUuYWMKLUBAIC00MDE3LDI1ICs0MDE3LDE5IEBAIFBLR19FTkFCTEVfTU9EVUxFU19WTEMoW0xJQlhNTDJdLCBbeG1sXSwKLSBkbmwKLSBkbmwgbGliZ2NyeXB0Ci0gZG5sCi0rR0NSWVBUX0xJQlZFUj0xCi0rR0NSWVBUX1JFUT0xLjEuOTQKLSBBQ19BUkdfRU5BQkxFKGxpYmdjcnlwdCwKLSAgIFsgIC0tZGlzYWJsZS1saWJnY3J5cHQgICAgIGdjcnlwdCBzdXBwb3J0IChkZWZhdWx0IGVuYWJsZWQpXSkKLSBBU19JRihbdGVzdCAiJHtlbmFibGVfbGliZ2NyeXB0fSIgIT0gIm5vIl0sIFsKLS0gIEFDX0NIRUNLX0RFQ0woW0dDUllDVExfU0VUX1RIUkVBRF9DQlNdLCBbCi0tICAgIGxpYmdjcnlwdC1jb25maWcgLS12ZXJzaW9uID4vZGV2L251bGwgfHwgXAotLSAgICAgICAgQUNfTVNHX0VSUk9SKFtnY3J5cHQuaCBwcmVzZW50IGJ1dCBsaWJnY3J5cHQtY29uZmlnIGNvdWxkIG5vdCBiZSBmb3VuZF0pCi0tICAgIEFDX0NIRUNLX0xJQihnY3J5cHQsIGdjcnlfY29udHJvbCwgWwotLSAgICAgIGhhdmVfbGliZ2NyeXB0PSJ5ZXMiCi0tICAgICAgR0NSWVBUX0NGTEFHUz0iYGxpYmdjcnlwdC1jb25maWcgLS1jZmxhZ3NgIgotLSAgICAgIEdDUllQVF9MSUJTPSJgbGliZ2NyeXB0LWNvbmZpZyAtLWxpYnNgIgotLSAgICBdLCBbCi0tICAgICAgQUNfTVNHX0VSUk9SKFtsaWJnY3J5cHQgbm90IGZvdW5kLiBJbnN0YWxsIGxpYmdjcnlwdCBvciBwYXNzIC0tZGlzYWJsZS1saWJnY3J5cHQuXSkKLS0gICAgXSwgW2BsaWJnY3J5cHQtY29uZmlnIC0tbGlic2BdKQotLSAgXSwgWwotLSAgICBBQ19NU0dfRVJST1IoW2xpYmdjcnlwdCB2ZXJzaW9uIDEuMS45NCBvciBoaWdoZXIgbm90IGZvdW5kLiBJbnN0YWxsIGxpYmdjcnlwdCBvciBwYXNzIC0tZGlzYWJsZS1saWJnY3J5cHQuXSkKLS0gIF0sIFsjaW5jbHVkZSA8Z2NyeXB0Lmg+XQotLSAgKQotKyAgICAgIEFNX1BBVEhfTElCR0NSWVBUKCRHQ1JZUFRfTElCVkVSOiRHQ1JZUFRfUkVRLAotKyAgICAgIFsKLSsgICAgICAgICAgR0NSWVBUX0NGTEFHUz0iJExJQkdDUllQVF9DRkxBR1MiCi0rICAgICAgICAgIEdDUllQVF9MSUJTPSIkTElCR0NSWVBUX0xJQlMiCi0rICAgICAgXSxbCi0rICAgICAgICAgIEFDX01TR19FUlJPUihbbGliZ2NyeXB0IHZlcnNpb24gMS4xLjk0IG9yIGhpZ2hlciBub3QgZm91bmQuIEluc3RhbGwgbGliZ2NyeXB0IG9yIHVzZSAtLWRpc2FibGUtbGliZ2NyeXB0LiBIYXZlIGEgbmljZSBkYXkuXSkKLSsgICAgICBdKQotIF0pCi0tCi0gQUNfU1VCU1QoR0NSWVBUX0NGTEFHUykKLSBBQ19TVUJTVChHQ1JZUFRfTElCUykKLSBBTV9DT05ESVRJT05BTChbSEFWRV9HQ1JZUFRdLCBbdGVzdCAiJHtoYXZlX2xpYmdjcnlwdH0iID0gInllcyJdKQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDQtbW9kdWxlcy1ndWktcXQ0LW91dC1vZi10cmVlLWJ1aWxkLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDQtbW9kdWxlcy1ndWktcXQ0LW91dC1vZi10cmVlLWJ1aWxkLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1M2RmMWM2Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDA0LW1vZHVsZXMtZ3VpLXF0NC1vdXQtb2YtdHJlZS1idWlsZC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLSogbW9kdWxlcy9ndWkvcXQ0L01ha2VmaWxlLmFtIG5vdCBCIT1TIGZyaWVuZGx5Ci0qIFNpbXBsZSBzb2x1dGlvbiB0byBtaXNzaW5nIGRpcmVjdG9yaWVzIGluICR7Qn0KLQotVXBzdHJlYW0gc3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IFRpbSBPcmxpbmcgPFRpY29UaW1vQGdtYWlsLmNvbT4KLQotSW5kZXg6IHZsYy0yLjIuMS9tb2R1bGVzL2d1aS9xdDQvTWFrZWZpbGUuYW0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSB2bGMtMi4yLjEub3JpZy9tb2R1bGVzL2d1aS9xdDQvTWFrZWZpbGUuYW0KLSsrKyB2bGMtMi4yLjEvbW9kdWxlcy9ndWkvcXQ0L01ha2VmaWxlLmFtCi1AQCAtMTI3LDYgKzEyNyw3IEBAIG1vY192ZXJib3NlXzAgPSBAZWNobyAiICBNT0MgICAiICRAOwotIG1vY192ZXJib3NlX18wID0gJChtb2NfdmVyYm9zZV8wKQotIAotIC5ocHAubW9jLmNwcDoKLSsJWyAtZCAkKGRpciAkQCkgXSB8fCBta2RpciAtcCAkKGRpciAkQCkKLSAJJChtb2NfdmVyYm9zZSkkKE1PQykgJChNT0NfQ1BQRkxBR1MpIC1vICRAICQ8Ci0gCi0gIyBUaGVzZSBNT0MgZmlsZXMgZGVwZW5kIG9uIHRoZSBjb25maWd1cmUgc2V0dGluZ3M6CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwNS1saWJwb3N0cHJvYy1oZWFkZXItY2hlY2sucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwNS1saWJwb3N0cHJvYy1oZWFkZXItY2hlY2sucGF0Y2gKaW5kZXggMmQ4NGZmZC4uNzdhN2Q2MSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDUtbGlicG9zdHByb2MtaGVhZGVyLWNoZWNrLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDA1LWxpYnBvc3Rwcm9jLWhlYWRlci1jaGVjay5wYXRjaApAQCAtMiwxNiArMiwxNCBAQAogCiBVcHN0cmVhbS1zdGF0dXM6IFBlbmRpbmcKIAotSW5kZXg6IHZsYy0yLjEuNC9jb25maWd1cmUuYWMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSB2bGMtMi4xLjQub3JpZy9jb25maWd1cmUuYWMKLSsrKyB2bGMtMi4xLjQvY29uZmlndXJlLmFjCi1AQCAtMjQ0NCw3ICsyNDQ0LDcgQEAgdGhlbgorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0yNTg5LDcgKzI1ODksNyBAQCB0aGVuCiAgICAgICAgVkxDX1NBVkVfRkxBR1MKICAgICAgICBDUFBGTEFHUz0iJHtDUFBGTEFHU30gJHtQT1NUUFJPQ19DRkxBR1N9IgogICAgICAgIENGTEFHUz0iJHtDRkxBR1N9ICR7UE9TVFBST0NfQ0ZMQUdTfSIKIC0gICAgICBBQ19DSEVDS19IRUFERVJTKHBvc3Rwcm9jL3Bvc3Rwcm9jZXNzLmgpCiArICAgICAgQUNfQ0hFQ0tfSEVBREVSUyhwb3N0cHJvYy9wb3N0cHJvY2Vzcy5oLFtdLFtBQ19DSEVDS19IRUFERVJTKGxpYnBvc3Rwcm9jL3Bvc3Rwcm9jZXNzLmgpXSkKICAgICAgICBWTENfQUREX1BMVUdJTihbcG9zdHByb2NdKQotICAgICAgIFZMQ19BRERfTElCUyhbcG9zdHByb2NdLFskUE9TVFBST0NfTElCUyAkQVZVVElMX0xJQlNdKQotICAgICAgIFZMQ19BRERfQ0ZMQUdTKFtwb3N0cHJvY10sWyRQT1NUUFJPQ19DRkxBR1MgJEFWVVRJTF9DRkxBR1NdKQorICAgICAgIFZMQ19SRVNUT1JFX0ZMQUdTCisgICAgIF0sWwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDgtZml4LWx1YUwtY2hlY2tpbnQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwOC1maXgtbHVhTC1jaGVja2ludC5wYXRjaAppbmRleCAxNDVlMWFiLi45NmI1ZDJkIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwOC1maXgtbHVhTC1jaGVja2ludC5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwOC1maXgtbHVhTC1jaGVja2ludC5wYXRjaApAQCAtNSw0NiArNSwyOSBAQAogCiBTaWduZWQtb2ZmLWJ5OiBUaW0gT3JsaW5nIDxUaWNvVGltb0BnbWFpbC5jb20+CiAKLUluZGV4OiB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvZGVtdXguYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHZsYy0yLjIuMS5vcmlnL21vZHVsZXMvbHVhL2RlbXV4LmMKLSsrKyB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvZGVtdXguYwotQEAgLTUyLDcgKzUyLDcgQEAgc3RydWN0IGRlbXV4X3N5c190CistLS0gYS9tb2R1bGVzL2x1YS9kZW11eC5jCisrKysgYi9tb2R1bGVzL2x1YS9kZW11eC5jCitAQCAtNTIsNyArNTIsNyBAQCBzdHJ1Y3QgdmxjbHVhX3BsYXlsaXN0CiAgc3RhdGljIGludCB2bGNsdWFfZGVtdXhfcGVlayggbHVhX1N0YXRlICpMICkKICB7Ci0gICAgIGRlbXV4X3QgKnBfZGVtdXggPSAoZGVtdXhfdCAqKXZsY2x1YV9nZXRfdGhpcyggTCApOworICAgICBzdHJlYW1fdCAqcyA9IChzdHJlYW1fdCAqKXZsY2x1YV9nZXRfdGhpcyhMKTsKIC0gICAgaW50IG4gPSBsdWFMX2NoZWNraW50KCBMLCAxICk7CiArICAgIGludCBuID0gbHVhTF9jaGVja2ludGVnZXIoIEwsIDEgKTsKICAgICAgY29uc3QgdWludDhfdCAqcF9wZWVrOwogIAotICAgICBpbnQgaV9wZWVrID0gc3RyZWFtX1BlZWsoIHBfZGVtdXgtPnMsICZwX3BlZWssIG4gKTsKLUBAIC02Nyw3ICs2Nyw3IEBAIHN0YXRpYyBpbnQgdmxjbHVhX2RlbXV4X3JlYWQoIGx1YV9TdGF0ZQorICAgICBzc2l6ZV90IHZhbCA9IHZsY19zdHJlYW1fUGVlayhzLT5wX3NvdXJjZSwgJnBfcGVlaywgbik7CitAQCAtNjYsNyArNjYsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV9kZW11eF9wZWVrKCBsdWFfU3RhdGUKKyBzdGF0aWMgaW50IHZsY2x1YV9kZW11eF9yZWFkKCBsdWFfU3RhdGUgKkwgKQogIHsKLSAgICAgZGVtdXhfdCAqcF9kZW11eCA9IChkZW11eF90ICopdmxjbHVhX2dldF90aGlzKCBMICk7Ci0gICAgIGNvbnN0IHVpbnQ4X3QgKnBfcmVhZDsKKyAgICAgc3RyZWFtX3QgKnMgPSAoc3RyZWFtX3QgKil2bGNsdWFfZ2V0X3RoaXMoTCk7CiAtICAgIGludCBuID0gbHVhTF9jaGVja2ludCggTCwgMSApOwogKyAgICBpbnQgbiA9IGx1YUxfY2hlY2tpbnRlZ2VyKCBMLCAxICk7Ci0gICAgIGludCBpX3JlYWQgPSBzdHJlYW1fUGVlayggcF9kZW11eC0+cywgJnBfcmVhZCwgbiApOworICAgICBjaGFyICpidWYgPSBtYWxsb2Mobik7CiAgCi0gICAgIGlmKCBpX3JlYWQgPiAwICkKLUluZGV4OiB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy9jb25maWd1cmF0aW9uLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSB2bGMtMi4yLjEub3JpZy9tb2R1bGVzL2x1YS9saWJzL2NvbmZpZ3VyYXRpb24uYwotKysrIHZsYy0yLjIuMS9tb2R1bGVzL2x1YS9saWJzL2NvbmZpZ3VyYXRpb24uYwotQEAgLTg0LDcgKzg0LDcgQEAgc3RhdGljIGludCB2bGNsdWFfY29uZmlnX3NldCggbHVhX1N0YXRlCi0gICAgICAgICAgICAgYnJlYWs7Ci0gCi0gICAgICAgICBjYXNlIFZMQ19WQVJfSU5URUdFUjoKLS0gICAgICAgICAgICBjb25maWdfUHV0SW50KCBwX3RoaXMsIHBzel9uYW1lLCBsdWFMX2NoZWNraW50KCBMLCAyICkgKTsKLSsgICAgICAgICAgICBjb25maWdfUHV0SW50KCBwX3RoaXMsIHBzel9uYW1lLCBsdWFMX2NoZWNraW50ZWdlciggTCwgMiApICk7Ci0gICAgICAgICAgICAgYnJlYWs7Ci0gCi0gICAgICAgICBjYXNlIFZMQ19WQVJfQk9PTDoKLUluZGV4OiB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy9uZXQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHZsYy0yLjIuMS5vcmlnL21vZHVsZXMvbHVhL2xpYnMvbmV0LmMKLSsrKyB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy9uZXQuYwotQEAgLTIwMiw3ICsyMDIsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV9uZXRfbGlzdGVuX3RjcCggbHVhX1N0CisgICAgIGlmIChidWYgIT0gTlVMTCkKKy0tLSBhL21vZHVsZXMvbHVhL2xpYnMvbmV0LmMKKysrKyBiL21vZHVsZXMvbHVhL2xpYnMvbmV0LmMKK0BAIC0xNzksNyArMTc5LDcgQEAgc3RhdGljIGludCB2bGNsdWFfbmV0X2xpc3Rlbl90Y3AoIGx1YV9TdAogIHsKICAgICAgdmxjX29iamVjdF90ICpwX3RoaXMgPSB2bGNsdWFfZ2V0X3RoaXMoIEwgKTsKICAgICAgY29uc3QgY2hhciAqcHN6X2hvc3QgPSBsdWFMX2NoZWNrc3RyaW5nKCBMLCAxICk7CkBAIC01MywxNiArMzYsMTYgQEAKICAgICAgaW50ICpwaV9mZCA9IG5ldF9MaXN0ZW5UQ1AoIHBfdGhpcywgcHN6X2hvc3QsIGlfcG9ydCApOwogICAgICBpZiggcGlfZmQgPT0gTlVMTCApCiAgICAgICAgICByZXR1cm4gbHVhTF9lcnJvciggTCwgIkNhbm5vdCBsaXN0ZW4gb24gJXM6JWQiLCBwc3pfaG9zdCwgaV9wb3J0ICk7Ci1AQCAtMjc0LDcgKzI3NCw3IEBAIHN0YXRpYyBpbnQgdmxjbHVhX25ldF9jb25uZWN0X3RjcCggbHVhX1MKK0BAIC0yNTEsNyArMjUxLDcgQEAgc3RhdGljIGludCB2bGNsdWFfbmV0X2Nvbm5lY3RfdGNwKCBsdWFfUwogIHsKICAgICAgdmxjX29iamVjdF90ICpwX3RoaXMgPSB2bGNsdWFfZ2V0X3RoaXMoIEwgKTsKICAgICAgY29uc3QgY2hhciAqcHN6X2hvc3QgPSBsdWFMX2NoZWNrc3RyaW5nKCBMLCAxICk7CiAtICAgIGludCBpX3BvcnQgPSBsdWFMX2NoZWNraW50KCBMLCAyICk7CiArICAgIGludCBpX3BvcnQgPSBsdWFMX2NoZWNraW50ZWdlciggTCwgMiApOwotICAgICBpbnQgaV9mZCA9IG5ldF9Db25uZWN0KCBwX3RoaXMsIHBzel9ob3N0LCBpX3BvcnQsIFNPQ0tfU1RSRUFNLCBJUFBST1RPX1RDUCApOworICAgICBpbnQgaV9mZCA9IG5ldF9Db25uZWN0VENQKCBwX3RoaXMsIHBzel9ob3N0LCBpX3BvcnQgKTsKICAgICAgbHVhX3B1c2hpbnRlZ2VyKCBMLCB2bGNsdWFfZmRfbWFwX3NhZmUoIEwsIGlfZmQgKSApOwogICAgICByZXR1cm4gMTsKLUBAIC0yODIsMjYgKzI4MiwyNiBAQCBzdGF0aWMgaW50IHZsY2x1YV9uZXRfY29ubmVjdF90Y3AoIGx1YV9TCitAQCAtMjU5LDE0ICsyNTksMTQgQEAgc3RhdGljIGludCB2bGNsdWFfbmV0X2Nvbm5lY3RfdGNwKCBsdWFfUwogIAogIHN0YXRpYyBpbnQgdmxjbHVhX25ldF9jbG9zZSggbHVhX1N0YXRlICpMICkKICB7CkBAIC03OSwyMiArNjIsMjUgQEAKICAgICAgc2l6ZV90IGlfbGVuOwogICAgICBjb25zdCBjaGFyICpwc3pfYnVmZmVyID0gbHVhTF9jaGVja2xzdHJpbmcoIEwsIDIsICZpX2xlbiApOwogIAotLSAgICBpX2xlbiA9IGx1YUxfb3B0aW50KCBMLCAzLCBpX2xlbiApOwotKyAgICBpX2xlbiA9IGx1YUxfb3B0aW50ZWdlciggTCwgMywgaV9sZW4gKTsKLSAgICAgbHVhX3B1c2hpbnRlZ2VyKCBMLCAoZmQgIT0gLTEpID8gc2VuZCggZmQsIHBzel9idWZmZXIsIGlfbGVuLCAwICkgOiAtMSApOwotICAgICByZXR1cm4gMTsKLSB9CitAQCAtMjc4LDcgKzI3OCw3IEBAIHN0YXRpYyBpbnQgdmxjbHVhX25ldF9zZW5kKCBsdWFfU3RhdGUgKkwKICAKICBzdGF0aWMgaW50IHZsY2x1YV9uZXRfcmVjdiggbHVhX1N0YXRlICpMICkKICB7CiAtICAgIGludCBmZCA9IHZsY2x1YV9mZF9nZXQoIEwsIGx1YUxfY2hlY2tpbnQoIEwsIDEgKSApOwotLSAgICBzaXplX3QgaV9sZW4gPSBsdWFMX29wdGludCggTCwgMiwgMSApOwogKyAgICBpbnQgZmQgPSB2bGNsdWFfZmRfZ2V0KCBMLCBsdWFMX2NoZWNraW50ZWdlciggTCwgMSApICk7Ci0rICAgIHNpemVfdCBpX2xlbiA9IGx1YUxfb3B0aW50ZWdlciggTCwgMiwgMSApOworICAgICBzaXplX3QgaV9sZW4gPSAoc2l6ZV90KWx1YUxfb3B0aW50ZWdlciggTCwgMiwgMSApOwogICAgICBjaGFyIHBzel9idWZmZXJbaV9sZW5dOwogIAotICAgICBzc2l6ZV90IGlfcmV0ID0gKGZkICE9IC0xKSA/IHJlY3YoIGZkLCBwc3pfYnVmZmVyLCBpX2xlbiwgMCApIDogLTE7Ci1AQCAtMzgyLDE5ICszODIsMTkgQEAgc3RhdGljIGludCB2bGNsdWFfZmRfb3BlbiggbHVhX1N0YXRlICpMCitAQCAtMzEyLDcgKzMxMiw3IEBAIHN0YXRpYyBpbnQgdmxjbHVhX25ldF9wb2xsKCBsdWFfU3RhdGUgKkwKKyAgICAgbHVhX3B1c2huaWwoIEwgKTsKKyAgICAgZm9yKCBpbnQgaSA9IDA7IGx1YV9uZXh0KCBMLCAxICk7IGkrKyApCisgICAgIHsKKy0gICAgICAgIGx1YWZkc1tpXSA9IGx1YUxfY2hlY2tpbnQoIEwsIC0yICk7CisrICAgICAgICBsdWFmZHNbaV0gPSBsdWFMX2NoZWNraW50ZWdlciggTCwgLTIgKTsKKyAgICAgICAgIHBfZmRzW2ldLmZkID0gdmxjbHVhX2ZkX2dldCggTCwgbHVhZmRzW2ldICk7CisgICAgICAgICBwX2Zkc1tpXS5ldmVudHMgPSBsdWFMX2NoZWNraW50ZWdlciggTCwgLTEgKTsKKyAgICAgICAgIHBfZmRzW2ldLmV2ZW50cyAmPSBQT0xMSU4gfCBQT0xMT1VUIHwgUE9MTFBSSTsKK0BAIC0zNjAsNyArMzYwLDcgQEAgc3RhdGljIGludCB2bGNsdWFfZmRfb3BlbiggbHVhX1N0YXRlICpMCiAgI2lmbmRlZiBfV0lOMzIKICBzdGF0aWMgaW50IHZsY2x1YV9mZF93cml0ZSggbHVhX1N0YXRlICpMICkKICB7CkBAIC0xMDMsNDcgKzg5LDE4IEBACiAgICAgIHNpemVfdCBpX2xlbjsKICAgICAgY29uc3QgY2hhciAqcHN6X2J1ZmZlciA9IGx1YUxfY2hlY2tsc3RyaW5nKCBMLCAyLCAmaV9sZW4gKTsKICAKLS0gICAgaV9sZW4gPSBsdWFMX29wdGludCggTCwgMywgaV9sZW4gKTsKLSsgICAgaV9sZW4gPSBsdWFMX29wdGludGVnZXIoIEwsIDMsIGlfbGVuICk7Ci0gICAgIGx1YV9wdXNoaW50ZWdlciggTCwgKGZkICE9IC0xKSA/IHdyaXRlKCBmZCwgcHN6X2J1ZmZlciwgaV9sZW4gKSA6IC0xICk7Ci0gICAgIHJldHVybiAxOwotIH0KK0BAIC0zNzEsNyArMzcxLDcgQEAgc3RhdGljIGludCB2bGNsdWFfZmRfd3JpdGUoIGx1YV9TdGF0ZSAqTAogIAogIHN0YXRpYyBpbnQgdmxjbHVhX2ZkX3JlYWQoIGx1YV9TdGF0ZSAqTCApCiAgewogLSAgICBpbnQgZmQgPSB2bGNsdWFfZmRfZ2V0KCBMLCBsdWFMX2NoZWNraW50KCBMLCAxICkgKTsKLS0gICAgc2l6ZV90IGlfbGVuID0gbHVhTF9vcHRpbnQoIEwsIDIsIDEgKTsKICsgICAgaW50IGZkID0gdmxjbHVhX2ZkX2dldCggTCwgbHVhTF9jaGVja2ludGVnZXIoIEwsIDEgKSApOwotKyAgICBzaXplX3QgaV9sZW4gPSBsdWFMX29wdGludGVnZXIoIEwsIDIsIDEgKTsKKyAgICAgc2l6ZV90IGlfbGVuID0gKHNpemVfdClsdWFMX29wdGludGVnZXIoIEwsIDIsIDEgKTsKICAgICAgY2hhciBwc3pfYnVmZmVyW2lfbGVuXTsKICAKLSAgICAgc3NpemVfdCBpX3JldCA9IChmZCAhPSAtMSkgPyByZWFkKCBmZCwgcHN6X2J1ZmZlciwgaV9sZW4gKSA6IC0xOwotSW5kZXg6IHZsYy0yLjIuMS9tb2R1bGVzL2x1YS9saWJzL29zZC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gdmxjLTIuMi4xLm9yaWcvbW9kdWxlcy9sdWEvbGlicy9vc2QuYwotKysrIHZsYy0yLjIuMS9tb2R1bGVzL2x1YS9saWJzL29zZC5jCi1AQCAtNjcsNyArNjcsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV9vc2RfaWNvbiggbHVhX1N0YXRlICpMCi0gewotICAgICBjb25zdCBjaGFyICpwc3pfaWNvbiA9IGx1YUxfY2hlY2tzdHJpbmcoIEwsIDEgKTsKLSAgICAgaW50IGlfaWNvbiA9IHZsY19vc2RfaWNvbl9mcm9tX3N0cmluZyggcHN6X2ljb24gKTsKLS0gICAgaW50IGlfY2hhbiA9IGx1YUxfb3B0aW50KCBMLCAyLCBTUFVfREVGQVVMVF9DSEFOTkVMICk7Ci0rICAgIGludCBpX2NoYW4gPSBsdWFMX29wdGludGVnZXIoIEwsIDIsIFNQVV9ERUZBVUxUX0NIQU5ORUwgKTsKLSAgICAgaWYoICFpX2ljb24gKQotICAgICAgICAgcmV0dXJuIGx1YUxfZXJyb3IoIEwsICJcIiVzXCIgaXMgbm90IGEgdmFsaWQgb3NkIGljb24uIiwgcHN6X2ljb24gKTsKLSAKLUBAIC0xMTQsOSArMTE0LDkgQEAgc3RhdGljIGludCB2bGNfb3NkX3Bvc2l0aW9uX2Zyb21fc3RyaW5nKAotIHN0YXRpYyBpbnQgdmxjbHVhX29zZF9tZXNzYWdlKCBsdWFfU3RhdGUgKkwgKQotIHsKLSAgICAgY29uc3QgY2hhciAqcHN6X21lc3NhZ2UgPSBsdWFMX2NoZWNrc3RyaW5nKCBMLCAxICk7Ci0tICAgIGludCBpX2NoYW4gPSBsdWFMX29wdGludCggTCwgMiwgU1BVX0RFRkFVTFRfQ0hBTk5FTCApOwotKyAgICBpbnQgaV9jaGFuID0gbHVhTF9vcHRpbnRlZ2VyKCBMLCAyLCBTUFVfREVGQVVMVF9DSEFOTkVMICk7Ci0gICAgIGNvbnN0IGNoYXIgKnBzel9wb3NpdGlvbiA9IGx1YUxfb3B0c3RyaW5nKCBMLCAzLCAidG9wLXJpZ2h0IiApOwotLSAgICBtdGltZV90IGR1cmF0aW9uID0gbHVhTF9vcHRpbnQoIEwsIDQsIDEwMDAwMDAgKTsKLSsgICAgbXRpbWVfdCBkdXJhdGlvbiA9IGx1YUxfb3B0aW50ZWdlciggTCwgNCwgMTAwMDAwMCApOwotIAotICAgICBpbnB1dF90aHJlYWRfdCAqcF9pbnB1dCA9IHZsY2x1YV9nZXRfaW5wdXRfaW50ZXJuYWwoIEwgKTsKLSAgICAgaWYoIHBfaW5wdXQgKQotQEAgLTE1NCwxMCArMTU0LDEwIEBAIHN0YXRpYyBpbnQgdmxjX29zZF9zbGlkZXJfdHlwZV9mcm9tX3N0cmkKKy0tLSBhL21vZHVsZXMvbHVhL2xpYnMvb3NkLmMKKysrKyBiL21vZHVsZXMvbHVhL2xpYnMvb3NkLmMKK0BAIC0xNTQsNyArMTU0LDcgQEAgc3RhdGljIGludCB2bGNfb3NkX3NsaWRlcl90eXBlX2Zyb21fc3RyaQogIAogIHN0YXRpYyBpbnQgdmxjbHVhX29zZF9zbGlkZXIoIGx1YV9TdGF0ZSAqTCApCiAgewpAQCAtMTUxLDExICsxMDgsNyBAQAogKyAgICBpbnQgaV9wb3NpdGlvbiA9IGx1YUxfY2hlY2tpbnRlZ2VyKCBMLCAxICk7CiAgICAgIGNvbnN0IGNoYXIgKnBzel90eXBlID0gbHVhTF9jaGVja3N0cmluZyggTCwgMiApOwogICAgICBpbnQgaV90eXBlID0gdmxjX29zZF9zbGlkZXJfdHlwZV9mcm9tX3N0cmluZyggcHN6X3R5cGUgKTsKLS0gICAgaW50IGlfY2hhbiA9IGx1YUxfb3B0aW50KCBMLCAzLCBTUFVfREVGQVVMVF9DSEFOTkVMICk7Ci0rICAgIGludCBpX2NoYW4gPSBsdWFMX29wdGludGVnZXIoIEwsIDMsIFNQVV9ERUZBVUxUX0NIQU5ORUwgKTsKLSAgICAgaWYoICFpX3R5cGUgKQotICAgICAgICAgcmV0dXJuIGx1YUxfZXJyb3IoIEwsICJcIiVzXCIgaXMgbm90IGEgdmFsaWQgc2xpZGVyIHR5cGUuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwc3pfdHlwZSApOworICAgICBpbnQgaV9jaGFuID0gKGludClsdWFMX29wdGludGVnZXIoIEwsIDMsIFZPVVRfU1BVX0NIQU5ORUxfT1NEICk7CiBAQCAtMTk4LDcgKzE5OCw3IEBAIHN0YXRpYyBpbnQgdmxjbHVhX3NwdV9jaGFubmVsX3JlZ2lzdGVyKAogIAogIHN0YXRpYyBpbnQgdmxjbHVhX3NwdV9jaGFubmVsX2NsZWFyKCBsdWFfU3RhdGUgKkwgKQpAQCAtMTY1LDEwICsxMTgsOCBAQAogICAgICBpbnB1dF90aHJlYWRfdCAqcF9pbnB1dCA9IHZsY2x1YV9nZXRfaW5wdXRfaW50ZXJuYWwoIEwgKTsKICAgICAgaWYoICFwX2lucHV0ICkKICAgICAgICAgIHJldHVybiBsdWFMX2Vycm9yKCBMLCAiVW5hYmxlIHRvIGZpbmQgaW5wdXQuIiApOwotSW5kZXg6IHZsYy0yLjIuMS9tb2R1bGVzL2x1YS9saWJzL3BsYXlsaXN0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSB2bGMtMi4yLjEub3JpZy9tb2R1bGVzL2x1YS9saWJzL3BsYXlsaXN0LmMKLSsrKyB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy9wbGF5bGlzdC5jCistLS0gYS9tb2R1bGVzL2x1YS9saWJzL3BsYXlsaXN0LmMKKysrKyBiL21vZHVsZXMvbHVhL2xpYnMvcGxheWxpc3QuYwogQEAgLTY5LDcgKzY5LDcgQEAgc3RhdGljIGludCB2bGNsdWFfcGxheWxpc3RfbmV4dCggbHVhX1N0YQogIAogIHN0YXRpYyBpbnQgdmxjbHVhX3BsYXlsaXN0X3NraXAoIGx1YV9TdGF0ZSAqIEwgKQpAQCAtMTg2LDE3ICsxMzcsMTcgQEAKICsgICAgaW50IGlfaWQgPSBsdWFMX2NoZWNraW50ZWdlciggTCwgMSApOwogICAgICBwbGF5bGlzdF90ICpwX3BsYXlsaXN0ID0gdmxjbHVhX2dldF9wbGF5bGlzdF9pbnRlcm5hbCggTCApOwogICAgICBQTF9MT0NLOwotICAgICBpbnQgaV9yZXQgPSBwbGF5bGlzdF9Db250cm9sKCBwX3BsYXlsaXN0LCBQTEFZTElTVF9WSUVXUExBWSwKLUBAIC0xMzksNyArMTM5LDcgQEAgc3RhdGljIGludCB2bGNsdWFfcGxheWxpc3RfZ290b2l0ZW0oIGx1YQorICAgICBwbGF5bGlzdF9WaWV3UGxheSggcF9wbGF5bGlzdCwgTlVMTCwKK0BAIC0xMzgsNyArMTM4LDcgQEAgc3RhdGljIGludCB2bGNsdWFfcGxheWxpc3RfZ290b2l0ZW0oIGx1YQogIAogIHN0YXRpYyBpbnQgdmxjbHVhX3BsYXlsaXN0X2RlbGV0ZSggbHVhX1N0YXRlICogTCApCiAgewogLSAgICBpbnQgaV9pZCA9IGx1YUxfY2hlY2tpbnQoIEwsIDEgKTsKICsgICAgaW50IGlfaWQgPSBsdWFMX2NoZWNraW50ZWdlciggTCwgMSApOwogICAgICBwbGF5bGlzdF90ICpwX3BsYXlsaXN0ID0gdmxjbHVhX2dldF9wbGF5bGlzdF9pbnRlcm5hbCggTCApOworIAogICAgICBQTF9MT0NLOwotICAgICBwbGF5bGlzdF9pdGVtX3QgKnBfaXRlbSA9IHBsYXlsaXN0X0l0ZW1HZXRCeUlkKCBwX3BsYXlsaXN0LCBpX2lkICk7Ci1AQCAtMTU1LDggKzE1NSw4IEBAIHN0YXRpYyBpbnQgdmxjbHVhX3BsYXlsaXN0X2RlbGV0ZSggbHVhX1MKK0BAIC0xNTIsOCArMTUyLDggQEAgc3RhdGljIGludCB2bGNsdWFfcGxheWxpc3RfZGVsZXRlKCBsdWFfUwogIAogIHN0YXRpYyBpbnQgdmxjbHVhX3BsYXlsaXN0X21vdmUoIGx1YV9TdGF0ZSAqIEwgKQogIHsKQEAgLTIwNywxMSArMTU4LDkgQEAKICAgICAgcGxheWxpc3RfdCAqcF9wbGF5bGlzdCA9IHZsY2x1YV9nZXRfcGxheWxpc3RfaW50ZXJuYWwoIEwgKTsKICAgICAgUExfTE9DSzsKICAgICAgcGxheWxpc3RfaXRlbV90ICpwX2l0ZW0gPSBwbGF5bGlzdF9JdGVtR2V0QnlJZCggcF9wbGF5bGlzdCwgaV9pdGVtICk7Ci1JbmRleDogdmxjLTIuMi4xL21vZHVsZXMvbHVhL2xpYnMvc3RyZWFtLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSB2bGMtMi4yLjEub3JpZy9tb2R1bGVzL2x1YS9saWJzL3N0cmVhbS5jCi0rKysgdmxjLTIuMi4xL21vZHVsZXMvbHVhL2xpYnMvc3RyZWFtLmMKLUBAIC0xMDEsNyArMTAxLDcgQEAgc3RhdGljIGludCB2bGNsdWFfc3RyZWFtX3JlYWQoIGx1YV9TdGF0ZQorLS0tIGEvbW9kdWxlcy9sdWEvbGlicy9zdHJlYW0uYworKysrIGIvbW9kdWxlcy9sdWEvbGlicy9zdHJlYW0uYworQEAgLTEyMyw3ICsxMjMsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV9zdHJlYW1fcmVhZCggbHVhX1N0YXRlCiAgewogICAgICBpbnQgaV9yZWFkOwogICAgICBzdHJlYW1fdCAqKnBwX3N0cmVhbSA9IChzdHJlYW1fdCAqKilsdWFMX2NoZWNrdWRhdGEoIEwsIDEsICJzdHJlYW0iICk7CkBAIC0yMjAsMjMgKzE2OSw4IEBACiAgICAgIHVpbnQ4X3QgKnBfcmVhZCA9IG1hbGxvYyggbiApOwogICAgICBpZiggIXBfcmVhZCApIHJldHVybiB2bGNsdWFfZXJyb3IoIEwgKTsKICAKLUluZGV4OiB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy92YXJpYWJsZXMuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHZsYy0yLjIuMS5vcmlnL21vZHVsZXMvbHVhL2xpYnMvdmFyaWFibGVzLmMKLSsrKyB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy92YXJpYWJsZXMuYwotQEAgLTEwMyw3ICsxMDMsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV90b3ZhbHVlKCBsdWFfU3RhdGUgKkwsCi0gICAgICAgICAgICAgdmFsLT5iX2Jvb2wgPSBsdWFMX2NoZWNrYm9vbGVhbiggTCwgLTEgKTsKLSAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgIGNhc2UgVkxDX1ZBUl9JTlRFR0VSOgotLSAgICAgICAgICAgIHZhbC0+aV9pbnQgPSBsdWFMX2NoZWNraW50KCBMLCAtMSApOwotKyAgICAgICAgICAgIHZhbC0+aV9pbnQgPSBsdWFMX2NoZWNraW50ZWdlciggTCwgLTEgKTsKLSAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgIGNhc2UgVkxDX1ZBUl9TVFJJTkc6Ci0gICAgICAgICAgICAgdmFsLT5wc3pfc3RyaW5nID0gKGNoYXIqKWx1YUxfY2hlY2tzdHJpbmcoIEwsIC0xICk7IC8qIFhYWDogQmV3YXJlLCB0aGlzIG9ubHkgc3RheXMgdmFsaWQgYXMgbG9uZyBhcyAoTCwtMSkgc3RheXMgaW4gdGhlIHN0YWNrICovCi1JbmRleDogdmxjLTIuMi4xL21vZHVsZXMvbHVhL2xpYnMvdm9sdW1lLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSB2bGMtMi4yLjEub3JpZy9tb2R1bGVzL2x1YS9saWJzL3ZvbHVtZS5jCi0rKysgdmxjLTIuMi4xL21vZHVsZXMvbHVhL2xpYnMvdm9sdW1lLmMKKy0tLSBhL21vZHVsZXMvbHVhL2xpYnMvdm9sdW1lLmMKKysrKyBiL21vZHVsZXMvbHVhL2xpYnMvdm9sdW1lLmMKIEBAIC00OCw3ICs0OCw3IEBACiAgc3RhdGljIGludCB2bGNsdWFfdm9sdW1lX3NldCggbHVhX1N0YXRlICpMICkKICB7CkBAIC0yNDYsMzQgKzE4MCw1NCBAQAogICAgICBpZiggaV92b2x1bWUgPCAwICkKICAgICAgICAgIGlfdm9sdW1lID0gMDsKICAgICAgaW50IGlfcmV0ID0gcGxheWxpc3RfVm9sdW1lU2V0KCBwX3RoaXMsIGlfdm9sdW1lLyhmbG9hdClBT1VUX1ZPTFVNRV9ERUZBVUxUICk7Ci1AQCAtNjgsNyArNjgsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV92b2x1bWVfdXAoIGx1YV9TdGF0ZSAqCi0gICAgIHBsYXlsaXN0X3QgKnBfdGhpcyA9IHZsY2x1YV9nZXRfcGxheWxpc3RfaW50ZXJuYWwoIEwgKTsKLSAgICAgZmxvYXQgdm9sdW1lOwotIAotLSAgICBwbGF5bGlzdF9Wb2x1bWVVcCggcF90aGlzLCBsdWFMX29wdGludCggTCwgMSwgMSApLCAmdm9sdW1lICk7Ci0rICAgIHBsYXlsaXN0X1ZvbHVtZVVwKCBwX3RoaXMsIGx1YUxfb3B0aW50ZWdlciggTCwgMSwgMSApLCAmdm9sdW1lICk7Ci0gICAgIGx1YV9wdXNobnVtYmVyKCBMLCBscm91bmRmKHZvbHVtZSAqIEFPVVRfVk9MVU1FX0RFRkFVTFQpICk7Ci0gICAgIHJldHVybiAxOworLS0tIGEvbW9kdWxlcy9sdWEvbGlicy9kaWFsb2cuYworKysrIGIvbW9kdWxlcy9sdWEvbGlicy9kaWFsb2cuYworQEAgLTM4Miw3ICszODIsNyBAQCBzdGF0aWMgaW50IGx1YV9HZXREaWFsb2dVcGRhdGUoIGx1YV9TdGF0CisgICAgIC8qIFJlYWQgZW50cnkgaW4gdGhlIEx1YSByZWdpc3RyeSAqLworICAgICBsdWFfcHVzaGxpZ2h0dXNlcmRhdGEoIEwsICh2b2lkKikgJmtleV91cGRhdGUgKTsKKyAgICAgbHVhX2dldHRhYmxlKCBMLCBMVUFfUkVHSVNUUllJTkRFWCApOworLSAgICByZXR1cm4gbHVhTF9jaGVja2ludCggTCwgLTEgKTsKKysgICAgcmV0dXJuIGx1YUxfY2hlY2tpbnRlZ2VyKCBMLCAtMSApOwogIH0KLUBAIC03OCw3ICs3OCw3IEBAIHN0YXRpYyBpbnQgdmxjbHVhX3ZvbHVtZV9kb3duKCBsdWFfU3RhdGUKLSAgICAgcGxheWxpc3RfdCAqcF90aGlzID0gdmxjbHVhX2dldF9wbGF5bGlzdF9pbnRlcm5hbCggTCApOwotICAgICBmbG9hdCB2b2x1bWU7CiAgCi0tICAgIHBsYXlsaXN0X1ZvbHVtZURvd24oIHBfdGhpcywgbHVhTF9vcHRpbnQoIEwsIDEsIDEgKSwgJnZvbHVtZSApOwotKyAgICBwbGF5bGlzdF9Wb2x1bWVEb3duKCBwX3RoaXMsIGx1YUxfb3B0aW50ZWdlciggTCwgMSwgMSApLCAmdm9sdW1lICk7Ci0gICAgIGx1YV9wdXNobnVtYmVyKCBMLCBscm91bmRmKHZvbHVtZSAqIEFPVVRfVk9MVU1FX0RFRkFVTFQpICk7Ci0gICAgIHJldHVybiAxOwotIH0KLUluZGV4OiB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy93aW4uYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHZsYy0yLjIuMS5vcmlnL21vZHVsZXMvbHVhL2xpYnMvd2luLmMKLSsrKyB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy93aW4uYwotQEAgLTEyMyw3ICsxMjMsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV9jb25zb2xlX2luaXQoIGx1YV9TdGF0CisgLyoqIE1hbnVhbGx5IHVwZGF0ZSBhIGRpYWxvZworQEAgLTU3MywyMiArNTczLDIyIEBAIHN0YXRpYyBpbnQgdmxjbHVhX2NyZWF0ZV93aWRnZXRfaW5uZXIoIGwKICAKLSBzdGF0aWMgaW50IHZsY2x1YV9jb25zb2xlX3dhaXQoIGx1YV9TdGF0ZSAqTCApCi0gewotLSAgICBpbnQgaV90aW1lb3V0ID0gbHVhTF9vcHRpbnQoIEwsIDEsIDAgKTsKLSsgICAgaW50IGlfdGltZW91dCA9IGx1YUxfb3B0aW50ZWdlciggTCwgMSwgMCApOwotICAgICBEV09SRCBzdGF0dXMgPSBXYWl0Rm9yU2luZ2xlT2JqZWN0KCBHZXRDb25zb2xlKCBMICksIGlfdGltZW91dCApOwotICAgICBsdWFfcHVzaGJvb2xlYW4oIEwsIHN0YXR1cyA9PSBXQUlUX09CSkVDVF8wICk7Ci0gICAgIHJldHVybiAxOworICAgICAvKiBTZXQgY29tbW9uIGFyZ3VtZW50czogY29sLCByb3csIGhzcGFuLCB2c3Bhbiwgd2lkdGgsIGhlaWdodCAqLworICAgICBpZiggbHVhX2lzbnVtYmVyKCBMLCBhcmcgKSApCistICAgICAgICBwX3dpZGdldC0+aV9jb2x1bW4gPSBsdWFMX2NoZWNraW50KCBMLCBhcmcgKTsKKysgICAgICAgIHBfd2lkZ2V0LT5pX2NvbHVtbiA9IGx1YUxfY2hlY2tpbnRlZ2VyKCBMLCBhcmcgKTsKKyAgICAgZWxzZSBnb3RvIGVuZF9vZl9hcmdzOworICAgICBpZiggbHVhX2lzbnVtYmVyKCBMLCArK2FyZyApICkKKy0gICAgICAgIHBfd2lkZ2V0LT5pX3JvdyA9IGx1YUxfY2hlY2tpbnQoIEwsIGFyZyApOworKyAgICAgICAgcF93aWRnZXQtPmlfcm93ID0gbHVhTF9jaGVja2ludGVnZXIoIEwsIGFyZyApOworICAgICBlbHNlIGdvdG8gZW5kX29mX2FyZ3M7CisgICAgIGlmKCBsdWFfaXNudW1iZXIoIEwsICsrYXJnICkgKQorLSAgICAgICAgcF93aWRnZXQtPmlfaG9yaXpfc3BhbiA9IGx1YUxfY2hlY2tpbnQoIEwsIGFyZyApOworKyAgICAgICAgcF93aWRnZXQtPmlfaG9yaXpfc3BhbiA9IGx1YUxfY2hlY2tpbnRlZ2VyKCBMLCBhcmcgKTsKKyAgICAgZWxzZSBnb3RvIGVuZF9vZl9hcmdzOworICAgICBpZiggbHVhX2lzbnVtYmVyKCBMLCArK2FyZyApICkKKy0gICAgICAgIHBfd2lkZ2V0LT5pX3ZlcnRfc3BhbiA9IGx1YUxfY2hlY2tpbnQoIEwsIGFyZyApOworKyAgICAgICAgcF93aWRnZXQtPmlfdmVydF9zcGFuID0gbHVhTF9jaGVja2ludGVnZXIoIEwsIGFyZyApOworICAgICBlbHNlIGdvdG8gZW5kX29mX2FyZ3M7CisgICAgIGlmKCBsdWFfaXNudW1iZXIoIEwsICsrYXJnICkgKQorLSAgICAgICAgcF93aWRnZXQtPmlfd2lkdGggPSBsdWFMX2NoZWNraW50KCBMLCBhcmcgKTsKKysgICAgICAgIHBfd2lkZ2V0LT5pX3dpZHRoID0gbHVhTF9jaGVja2ludGVnZXIoIEwsIGFyZyApOworICAgICBlbHNlIGdvdG8gZW5kX29mX2FyZ3M7CisgICAgIGlmKCBsdWFfaXNudW1iZXIoIEwsICsrYXJnICkgKQorLSAgICAgICAgcF93aWRnZXQtPmlfaGVpZ2h0ID0gbHVhTF9jaGVja2ludCggTCwgYXJnICk7CisrICAgICAgICBwX3dpZGdldC0+aV9oZWlnaHQgPSBsdWFMX2NoZWNraW50ZWdlciggTCwgYXJnICk7CisgICAgIGVsc2UgZ290byBlbmRfb2ZfYXJnczsKKyAKKyBlbmRfb2ZfYXJnczoKKy0tLSBhL21vZHVsZXMvbHVhL2xpYnMvaW8uYworKysrIGIvbW9kdWxlcy9sdWEvbGlicy9pby5jCitAQCAtMTM5LDcgKzEzOSw3IEBAIHN0YXRpYyBpbnQgdmxjbHVhX2lvX2ZpbGVfc2VlayggbHVhX1N0YXQKKyAgICAgY29uc3QgY2hhciogcHN6X21vZGUgPSBsdWFMX29wdHN0cmluZyggTCwgMiwgTlVMTCApOworICAgICBpZiAoIHBzel9tb2RlICE9IE5VTEwgKQorICAgICB7CistICAgICAgICBsb25nIGlfb2Zmc2V0ID0gbHVhTF9vcHRsb25nKCBMLCAzLCAwICk7CisrICAgICAgICBsb25nIGlfb2Zmc2V0ID0gKGxvbmcpbHVhTF9vcHRpbnRlZ2VyKCBMLCAzLCAwICk7CisgICAgICAgICBpbnQgaV9tb2RlOworICAgICAgICAgaWYgKCAhc3RyY21wKCBwc3pfbW9kZSwgInNldCIgKSApCisgICAgICAgICAgICAgaV9tb2RlID0gU0VFS19TRVQ7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwOS1BdmNvZGVjLXN3c2NhbGUtdXNlLUFWX1BJWF9GTVQtY29uc2lzdGVudGx5LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDktQXZjb2RlYy1zd3NjYWxlLXVzZS1BVl9QSVhfRk1ULWNvbnNpc3RlbnRseS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2IzYmE3MS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwOS1BdmNvZGVjLXN3c2NhbGUtdXNlLUFWX1BJWF9GTVQtY29uc2lzdGVudGx5LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjkzICswLDAgQEAKLUZyb20gNDI3NzMyYTM3OTg5MzQ5MWVhYzI3YWVhZGZmMGUwYjNlMjUyZDE1OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEplYW4tQmFwdGlzdGUgS2VtcGYgPGpiQHZpZGVvbGFuLm9yZz4KLURhdGU6IE1vbiwgMzEgQXVnIDIwMTUgMDg6MTk6MDAgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gQXZjb2RlYy9zd3NjYWxlOiB1c2UgQVZfUElYX0ZNVCBjb25zaXN0ZW50bHkKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZmFhN2JkMzU3YjFmOWUwN2E2ZmZiYzQ1MWExODg3NzNmYWQ3YTI3NSkKLVNpZ25lZC1vZmYtYnk6IFJhZmHDq2wgQ2FycsOpIDxmdW5tYW5AdmlkZW9sYW4ub3JnPgotCi1Db25mbGljdHM6Ci0JbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2Nocm9tYS5jCi0JbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3ZpZGVvLmMKLS0tLQotIG1vZHVsZXMvY29kZWMvYXZjb2RlYy9jaHJvbWEuYyB8IDEwNCArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIG1vZHVsZXMvY29kZWMvYXZjb2RlYy92aWRlby5jICB8ICAxMCArKy0tCi0gbW9kdWxlcy92aWRlb19jaHJvbWEvc3dzY2FsZS5jIHwgIDI4ICsrKysrLS0tLS0tCi0gMyBmaWxlcyBjaGFuZ2VkLCA3MSBpbnNlcnRpb25zKCspLCA3MSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9jaHJvbWEuYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9jaHJvbWEuYwotaW5kZXggMzkzMzY0Yi4uYzMxZjkzZCAxMDA2NDQKLS0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9jaHJvbWEuYwotKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2Nocm9tYS5jCi1AQCAtNjIsNzcgKzYyLDc3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QKLSB9IGNocm9tYV90YWJsZVtdID0KLSB7Ci0gICAgIC8qIFBsYW5hciBZVVYgZm9ybWF0cyAqLwotLSAgICB7VkxDX0NPREVDX0k0NDQsIFBJWF9GTVRfWVVWNDQ0UCwgMCwgMCwgMCB9LAotLSAgICB7VkxDX0NPREVDX0o0NDQsIFBJWF9GTVRfWVVWSjQ0NFAsIDAsIDAsIDAgfSwKLS0KLS0gICAge1ZMQ19DT0RFQ19JNDQwLCBQSVhfRk1UX1lVVjQ0MFAsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19DT0RFQ19KNDQwLCBQSVhfRk1UX1lVVko0NDBQLCAwLCAwLCAwIH0sCi0tCi0tICAgIHtWTENfQ09ERUNfSTQyMiwgUElYX0ZNVF9ZVVY0MjJQLCAwLCAwLCAwIH0sCi0tICAgIHtWTENfQ09ERUNfSjQyMiwgUElYX0ZNVF9ZVVZKNDIyUCwgMCwgMCwgMCB9LAotLQotLSAgICB7VkxDX0NPREVDX0k0MjAsIFBJWF9GTVRfWVVWNDIwUCwgMCwgMCwgMCB9LAotLSAgICB7VkxDX0NPREVDX1lWMTIsIFBJWF9GTVRfWVVWNDIwUCwgMCwgMCwgMCB9LAotLSAgICB7VkxDX0ZPVVJDQygnSScsJ1knLCdVJywnVicpLCBQSVhfRk1UX1lVVjQyMFAsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19DT0RFQ19KNDIwLCBQSVhfRk1UX1lVVko0MjBQLCAwLCAwLCAwIH0sCi0tICAgIHtWTENfQ09ERUNfSTQxMSwgUElYX0ZNVF9ZVVY0MTFQLCAwLCAwLCAwIH0sCi0tICAgIHtWTENfQ09ERUNfSTQxMCwgUElYX0ZNVF9ZVVY0MTBQLCAwLCAwLCAwIH0sCi0tICAgIHtWTENfRk9VUkNDKCdZJywnVicsJ1UnLCc5JyksIFBJWF9GTVRfWVVWNDEwUCwgMCwgMCwgMCB9LAotLQotLSAgICB7VkxDX0ZPVVJDQygnTicsJ1YnLCcxJywnMicpLCBQSVhfRk1UX05WMTIsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19GT1VSQ0MoJ04nLCdWJywnMicsJzEnKSwgUElYX0ZNVF9OVjIxLCAwLCAwLCAwIH0sCi0tCi0tICAgIHtWTENfQ09ERUNfSTQyMF85TCwgUElYX0ZNVF9ZVVY0MjBQOUxFLCAwLCAwLCAwIH0sCi0tICAgIHtWTENfQ09ERUNfSTQyMF85QiwgUElYX0ZNVF9ZVVY0MjBQOUJFLCAwLCAwLCAwIH0sCi0tICAgIHtWTENfQ09ERUNfSTQyMF8xMEwsIFBJWF9GTVRfWVVWNDIwUDEwTEUsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19DT0RFQ19JNDIwXzEwQiwgUElYX0ZNVF9ZVVY0MjBQMTBCRSwgMCwgMCwgMCB9LAotKyAgICB7VkxDX0NPREVDX0k0NDQsIEFWX1BJWF9GTVRfWVVWNDQ0UCwgMCwgMCwgMCB9LAotKyAgICB7VkxDX0NPREVDX0o0NDQsIEFWX1BJWF9GTVRfWVVWSjQ0NFAsIDAsIDAsIDAgfSwKLSsKLSsgICAge1ZMQ19DT0RFQ19JNDQwLCBBVl9QSVhfRk1UX1lVVjQ0MFAsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19KNDQwLCBBVl9QSVhfRk1UX1lVVko0NDBQLCAwLCAwLCAwIH0sCi0rCi0rICAgIHtWTENfQ09ERUNfSTQyMiwgQVZfUElYX0ZNVF9ZVVY0MjJQLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfQ09ERUNfSjQyMiwgQVZfUElYX0ZNVF9ZVVZKNDIyUCwgMCwgMCwgMCB9LAotKwotKyAgICB7VkxDX0NPREVDX0k0MjAsIEFWX1BJWF9GTVRfWVVWNDIwUCwgMCwgMCwgMCB9LAotKyAgICB7VkxDX0NPREVDX1lWMTIsIEFWX1BJWF9GTVRfWVVWNDIwUCwgMCwgMCwgMCB9LAotKyAgICB7VkxDX0ZPVVJDQygnSScsJ1knLCdVJywnVicpLCBBVl9QSVhfRk1UX1lVVjQyMFAsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19KNDIwLCBBVl9QSVhfRk1UX1lVVko0MjBQLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfQ09ERUNfSTQxMSwgQVZfUElYX0ZNVF9ZVVY0MTFQLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfQ09ERUNfSTQxMCwgQVZfUElYX0ZNVF9ZVVY0MTBQLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfRk9VUkNDKCdZJywnVicsJ1UnLCc5JyksIEFWX1BJWF9GTVRfWVVWNDEwUCwgMCwgMCwgMCB9LAotKwotKyAgICB7VkxDX0ZPVVJDQygnTicsJ1YnLCcxJywnMicpLCBBVl9QSVhfRk1UX05WMTIsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19GT1VSQ0MoJ04nLCdWJywnMicsJzEnKSwgQVZfUElYX0ZNVF9OVjIxLCAwLCAwLCAwIH0sCi0rCi0rICAgIHtWTENfQ09ERUNfSTQyMF85TCwgQVZfUElYX0ZNVF9ZVVY0MjBQOUxFLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfQ09ERUNfSTQyMF85QiwgQVZfUElYX0ZNVF9ZVVY0MjBQOUJFLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfQ09ERUNfSTQyMF8xMEwsIEFWX1BJWF9GTVRfWVVWNDIwUDEwTEUsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19JNDIwXzEwQiwgQVZfUElYX0ZNVF9ZVVY0MjBQMTBCRSwgMCwgMCwgMCB9LAotICNpZiBMSUJBVlVUSUxfVkVSU0lPTl9JTlQgPj0gQVZfVkVSU0lPTl9JTlQoNTEsMTMsMCkKLS0gICAge1ZMQ19DT0RFQ19JNDIyXzlMLCBQSVhfRk1UX1lVVjQyMlA5TEUsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19DT0RFQ19JNDIyXzlCLCBQSVhfRk1UX1lVVjQyMlA5QkUsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19JNDIyXzlMLCBBVl9QSVhfRk1UX1lVVjQyMlA5TEUsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19JNDIyXzlCLCBBVl9QSVhfRk1UX1lVVjQyMlA5QkUsIDAsIDAsIDAgfSwKLSAjZW5kaWYKLS0gICAge1ZMQ19DT0RFQ19JNDIyXzEwTCwgUElYX0ZNVF9ZVVY0MjJQMTBMRSwgMCwgMCwgMCB9LAotLSAgICB7VkxDX0NPREVDX0k0MjJfMTBCLCBQSVhfRk1UX1lVVjQyMlAxMEJFLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfQ09ERUNfSTQyMl8xMEwsIEFWX1BJWF9GTVRfWVVWNDIyUDEwTEUsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19JNDIyXzEwQiwgQVZfUElYX0ZNVF9ZVVY0MjJQMTBCRSwgMCwgMCwgMCB9LAotIAotLSAgICB7VkxDX0NPREVDX1lVVjQyMEEsIFBJWF9GTVRfWVVWQTQyMFAsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19ZVVY0MjBBLCBBVl9QSVhfRk1UX1lVVkE0MjBQLCAwLCAwLCAwIH0sCi0gI2lmIExJQkFWVVRJTF9WRVJTSU9OX0NIRUNLKCA1MSwgNDUsIDAsIDc0LCAxMDAgKQotICAgICB7VkxDX0NPREVDX1lVVjQyMkEsIEFWX1BJWF9GTVRfWVVWQTQyMlAsIDAsIDAsIDAgfSwKLSAjZW5kaWYKLSAKLS0gICAge1ZMQ19DT0RFQ19JNDQ0XzlMLCBQSVhfRk1UX1lVVjQ0NFA5TEUsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19DT0RFQ19JNDQ0XzlCLCBQSVhfRk1UX1lVVjQ0NFA5QkUsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19DT0RFQ19JNDQ0XzEwTCwgUElYX0ZNVF9ZVVY0NDRQMTBMRSwgMCwgMCwgMCB9LAotLSAgICB7VkxDX0NPREVDX0k0NDRfMTBCLCBQSVhfRk1UX1lVVjQ0NFAxMEJFLCAwLCAwLCAwIH0sCi0tICAgIHtWTENfQ09ERUNfSTQ0NF8xNkwsIFBJWF9GTVRfWVVWNDQ0UDE2TEUsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19DT0RFQ19JNDQ0XzE2QiwgUElYX0ZNVF9ZVVY0NDRQMTZCRSwgMCwgMCwgMCB9LAotKyAgICB7VkxDX0NPREVDX0k0NDRfOUwsIEFWX1BJWF9GTVRfWVVWNDQ0UDlMRSwgMCwgMCwgMCB9LAotKyAgICB7VkxDX0NPREVDX0k0NDRfOUIsIEFWX1BJWF9GTVRfWVVWNDQ0UDlCRSwgMCwgMCwgMCB9LAotKyAgICB7VkxDX0NPREVDX0k0NDRfMTBMLCBBVl9QSVhfRk1UX1lVVjQ0NFAxMExFLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfQ09ERUNfSTQ0NF8xMEIsIEFWX1BJWF9GTVRfWVVWNDQ0UDEwQkUsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19JNDQ0XzE2TCwgQVZfUElYX0ZNVF9ZVVY0NDRQMTZMRSwgMCwgMCwgMCB9LAotKyAgICB7VkxDX0NPREVDX0k0NDRfMTZCLCBBVl9QSVhfRk1UX1lVVjQ0NFAxNkJFLCAwLCAwLCAwIH0sCi0gCi0gICAgIC8qIFBhY2tlZCBZVVYgZm9ybWF0cyAqLwotLSAgICB7VkxDX0NPREVDX1lVWVYsIFBJWF9GTVRfWVVZVjQyMiwgMCwgMCwgMCB9LAotLSAgICB7VkxDX0ZPVVJDQygnWScsJ1UnLCdZJywnVicpLCBQSVhfRk1UX1lVWVY0MjIsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19DT0RFQ19VWVZZLCBQSVhfRk1UX1VZVlk0MjIsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19GT1VSQ0MoJ1knLCc0JywnMScsJzEnKSwgUElYX0ZNVF9VWVlWWVk0MTEsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19ZVVlWLCBBVl9QSVhfRk1UX1lVWVY0MjIsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19GT1VSQ0MoJ1knLCdVJywnWScsJ1YnKSwgQVZfUElYX0ZNVF9ZVVlWNDIyLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfQ09ERUNfVVlWWSwgQVZfUElYX0ZNVF9VWVZZNDIyLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfRk9VUkNDKCdZJywnNCcsJzEnLCcxJyksIEFWX1BJWF9GTVRfVVlZVllZNDExLCAwLCAwLCAwIH0sCi0gCi0gICAgIC8qIFBhY2tlZCBSR0IgZm9ybWF0cyAqLwotLSAgICBWTENfUkdCKCBWTENfRk9VUkNDKCdSJywnRycsJ0InLCc0JyksIFBJWF9GTVRfUkdCNCwgUElYX0ZNVF9CR1I0LCAweDEwLCAweDA2LCAweDAxICkKLS0gICAgVkxDX1JHQiggVkxDX0ZPVVJDQygnUicsJ0cnLCdCJywnOCcpLCBQSVhfRk1UX1JHQjgsIFBJWF9GTVRfQkdSOCwgMHhDMCwgMHgzOCwgMHgwNyApCi0rICAgIFZMQ19SR0IoIFZMQ19GT1VSQ0MoJ1InLCdHJywnQicsJzQnKSwgQVZfUElYX0ZNVF9SR0I0LCBBVl9QSVhfRk1UX0JHUjQsIDB4MTAsIDB4MDYsIDB4MDEgKQotKyAgICBWTENfUkdCKCBWTENfRk9VUkNDKCdSJywnRycsJ0InLCc4JyksIEFWX1BJWF9GTVRfUkdCOCwgQVZfUElYX0ZNVF9CR1I4LCAweEMwLCAweDM4LCAweDA3ICkKLSAKLS0gICAgVkxDX1JHQiggVkxDX0NPREVDX1JHQjE1LCBQSVhfRk1UX1JHQjU1NSwgUElYX0ZNVF9CR1I1NTUsIDB4N2MwMCwgMHgwM2UwLCAweDAwMWYgKQotLSAgICBWTENfUkdCKCBWTENfQ09ERUNfUkdCMTYsIFBJWF9GTVRfUkdCNTY1LCBQSVhfRk1UX0JHUjU2NSwgMHhmODAwLCAweDA3ZTAsIDB4MDAxZiApCi0tICAgIFZMQ19SR0IoIFZMQ19DT0RFQ19SR0IyNCwgUElYX0ZNVF9CR1IyNCwgUElYX0ZNVF9SR0IyNCwgMHhmZjAwMDAsIDB4MDBmZjAwLCAweDAwMDBmZiApCi0rICAgIFZMQ19SR0IoIFZMQ19DT0RFQ19SR0IxNSwgQVZfUElYX0ZNVF9SR0I1NTUsIEFWX1BJWF9GTVRfQkdSNTU1LCAweDdjMDAsIDB4MDNlMCwgMHgwMDFmICkKLSsgICAgVkxDX1JHQiggVkxDX0NPREVDX1JHQjE2LCBBVl9QSVhfRk1UX1JHQjU2NSwgQVZfUElYX0ZNVF9CR1I1NjUsIDB4ZjgwMCwgMHgwN2UwLCAweDAwMWYgKQotKyAgICBWTENfUkdCKCBWTENfQ09ERUNfUkdCMjQsIEFWX1BJWF9GTVRfQkdSMjQsIEFWX1BJWF9GTVRfUkdCMjQsIDB4ZmYwMDAwLCAweDAwZmYwMCwgMHgwMDAwZmYgKQotIAotLSAgICBWTENfUkdCKCBWTENfQ09ERUNfUkdCMzIsIFBJWF9GTVRfUkdCMzIsIFBJWF9GTVRfQkdSMzIsIDB4MDBmZjAwMDAsIDB4MDAwMGZmMDAsIDB4MDAwMDAwZmYgKQotLSAgICBWTENfUkdCKCBWTENfQ09ERUNfUkdCMzIsIFBJWF9GTVRfUkdCMzJfMSwgUElYX0ZNVF9CR1IzMl8xLCAweGZmMDAwMDAwLCAweDAwZmYwMDAwLCAweDAwMDBmZjAwICkKLSsgICAgVkxDX1JHQiggVkxDX0NPREVDX1JHQjMyLCBBVl9QSVhfRk1UX1JHQjMyLCBBVl9QSVhfRk1UX0JHUjMyLCAweDAwZmYwMDAwLCAweDAwMDBmZjAwLCAweDAwMDAwMGZmICkKLSsgICAgVkxDX1JHQiggVkxDX0NPREVDX1JHQjMyLCBBVl9QSVhfRk1UX1JHQjMyXzEsIEFWX1BJWF9GTVRfQkdSMzJfMSwgMHhmZjAwMDAwMCwgMHgwMGZmMDAwMCwgMHgwMDAwZmYwMCApCi0gCi0gI2lmZGVmIEFWX1BJWF9GTVRfMEJHUjMyCi0gICAgIFZMQ19SR0IoIFZMQ19DT0RFQ19SR0IzMiwgQVZfUElYX0ZNVF8wQkdSMzIsIEFWX1BJWF9GTVRfMFJHQjMyLCAweDAwMDAwMGZmLCAweDAwMDBmZjAwLCAweDAwZmYwMDAwICkKLSAjZW5kaWYKLSAKLS0gICAge1ZMQ19DT0RFQ19SR0JBLCBQSVhfRk1UX1JHQkEsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19DT0RFQ19BUkdCLCBQSVhfRk1UX0FSR0IsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19DT0RFQ19CR1JBLCBQSVhfRk1UX0JHUkEsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19DT0RFQ19HUkVZLCBQSVhfRk1UX0dSQVk4LCAwLCAwLCAwfSwKLSsgICAge1ZMQ19DT0RFQ19SR0JBLCBBVl9QSVhfRk1UX1JHQkEsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19BUkdCLCBBVl9QSVhfRk1UX0FSR0IsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19CR1JBLCBBVl9QSVhfRk1UX0JHUkEsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19HUkVZLCBBVl9QSVhfRk1UX0dSQVk4LCAwLCAwLCAwfSwKLSAKLSAgICAgIC8qIFBhbGV0aXplZCBSR0IgKi8KLS0gICAge1ZMQ19DT0RFQ19SR0JQLCBQSVhfRk1UX1BBTDgsIDAsIDAsIDB9LAotKyAgICB7VkxDX0NPREVDX1JHQlAsIEFWX1BJWF9GTVRfUEFMOCwgMCwgMCwgMH0sCi0gCi0gI2lmIExJQkFWVVRJTF9WRVJTSU9OX0NIRUNLKDUxLCA0MiwgMCwgNzQsMTAwKQotICAgICB7VkxDX0NPREVDX0dCUl9QTEFOQVIsIEFWX1BJWF9GTVRfR0JSUCwgMCwgMCwgMCB9LAotQEAgLTIwMSw1ICsyMDEsNSBAQCBpbnQgRmluZEZmbXBlZ0Nocm9tYSggdmxjX2ZvdXJjY190IGZvdXJjYyApCi0gICAgIGZvciggaW50IGkgPSAwOyBjaHJvbWFfdGFibGVbaV0uaV9jaHJvbWEgIT0gMDsgaSsrICkKLSAgICAgICAgIGlmKCBjaHJvbWFfdGFibGVbaV0uaV9jaHJvbWEgPT0gZm91cmNjICkKLSAgICAgICAgICAgICByZXR1cm4gY2hyb21hX3RhYmxlW2ldLmlfY2hyb21hX2lkOwotLSAgICByZXR1cm4gUElYX0ZNVF9OT05FOwotKyAgICByZXR1cm4gQVZfUElYX0ZNVF9OT05FOwotIH0KLWRpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvdmlkZW8uYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy92aWRlby5jCi1pbmRleCBjMTE1ZGI5Li5hZTYwMGU4IDEwMDY0NAotLS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3ZpZGVvLmMKLSsrKyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy92aWRlby5jCi1AQCAtMTAwNCw3ICsxMDA0LDcgQEAgc3RhdGljIHBpY3R1cmVfdCAqbGF2Y19kcl9HZXRGcmFtZShzdHJ1Y3QgQVZDb2RlY0NvbnRleHQgKmN0eCwKLSAgICAgaWYgKEdldFZsY0Nocm9tYSgmZGVjLT5mbXRfb3V0LnZpZGVvLCBjdHgtPnBpeF9mbXQpICE9IFZMQ19TVUNDRVNTKQotICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgIGRlYy0+Zm10X291dC5pX2NvZGVjID0gZGVjLT5mbXRfb3V0LnZpZGVvLmlfY2hyb21hOwotLSAgICBpZiAoY3R4LT5waXhfZm10ID09IFBJWF9GTVRfUEFMOCkKLSsgICAgaWYgKGN0eC0+cGl4X2ZtdCA9PSBBVl9QSVhfRk1UX1BBTDgpCi0gICAgICAgICByZXR1cm4gTlVMTDsKLSAKLSAgICAgaW50IHdpZHRoID0gZnJhbWUtPndpZHRoOwotQEAgLTExODAsNyArMTE4MCw3IEBAIHN0YXRpYyBwaWN0dXJlX3QgKmZmbXBlZ19kcl9HZXRGcmFtZUJ1ZihzdHJ1Y3QgQVZDb2RlY0NvbnRleHQgKnBfY29udGV4dCkKLSAgICAgaWYgKEdldFZsY0Nocm9tYSgmcF9kZWMtPmZtdF9vdXQudmlkZW8sIHBfY29udGV4dC0+cGl4X2ZtdCkgIT0gVkxDX1NVQ0NFU1MpCi0gICAgICAgICBnb3RvIG5vX2RyOwotIAotLSAgICBpZiAocF9jb250ZXh0LT5waXhfZm10ID09IFBJWF9GTVRfUEFMOCkKLSsgICAgaWYgKHBfY29udGV4dC0+cGl4X2ZtdCA9PSBBVl9QSVhfRk1UX1BBTDgpCi0gICAgICAgICBnb3RvIG5vX2RyOwotIAotICAgICBwX2RlYy0+Zm10X291dC5pX2NvZGVjID0gcF9kZWMtPmZtdF9vdXQudmlkZW8uaV9jaHJvbWE7Ci1AQCAtMTIxNSw3ICsxMjE1LDcgQEAgc3RhdGljIHBpY3R1cmVfdCAqZmZtcGVnX2RyX0dldEZyYW1lQnVmKHN0cnVjdCBBVkNvZGVjQ29udGV4dCAqcF9jb250ZXh0KQotICAgICAgICAgICAgIGdvdG8gbm9fZHI7Ci0gICAgIH0KLSAKLS0gICAgaWYoIHBfY29udGV4dC0+cGl4X2ZtdCA9PSBQSVhfRk1UX1lVVjQyMlAgKQotKyAgICBpZiggcF9jb250ZXh0LT5waXhfZm10ID09IEFWX1BJWF9GTVRfWVVWNDIyUCApCi0gICAgIHsKLSAgICAgICAgIGlmKCAyICogcF9waWMtPnBbMV0uaV9waXRjaCAhPSBwX3BpYy0+cFswXS5pX3BpdGNoIHx8Ci0gICAgICAgICAgICAgMiAqIHBfcGljLT5wWzJdLmlfcGl0Y2ggIT0gcF9waWMtPnBbMF0uaV9waXRjaCApCi1AQCAtMTMyNSw3ICsxMzI1LDcgQEAgc3RhdGljIGVudW0gUGl4ZWxGb3JtYXQgZmZtcGVnX0dldEZvcm1hdCggQVZDb2RlY0NvbnRleHQgKnBfY29udGV4dCwKLSAKLSAgICAgLyogRW51bWVyYXRlIGF2YWlsYWJsZSBmb3JtYXRzICovCi0gICAgIGJvb2wgY2FuX2h3YWNjZWwgPSBmYWxzZTsKLS0gICAgZm9yKCBzaXplX3QgaSA9IDA7IHBpX2ZtdFtpXSAhPSBQSVhfRk1UX05PTkU7IGkrKyApCi0rICAgIGZvciggc2l6ZV90IGkgPSAwOyBwaV9mbXRbaV0gIT0gQVZfUElYX0ZNVF9OT05FOyBpKysgKQotICAgICB7Ci0gICAgICAgICBjb25zdCBBVlBpeEZtdERlc2NyaXB0b3IgKmRzYyA9IGF2X3BpeF9mbXRfZGVzY19nZXQocGlfZm10W2ldKTsKLSAgICAgICAgIGlmIChkc2MgPT0gTlVMTCkKLUBAIC0xMzUyLDcgKzEzNTIsNyBAQCBzdGF0aWMgZW51bSBQaXhlbEZvcm1hdCBmZm1wZWdfR2V0Rm9ybWF0KCBBVkNvZGVjQ29udGV4dCAqcF9jb250ZXh0LAotICAgICBpZiggcF92YSA9PSBOVUxMICkKLSAgICAgICAgIGdvdG8gZW5kOwotIAotLSAgICBmb3IoIHNpemVfdCBpID0gMDsgcGlfZm10W2ldICE9IFBJWF9GTVRfTk9ORTsgaSsrICkKLSsgICAgZm9yKCBzaXplX3QgaSA9IDA7IHBpX2ZtdFtpXSAhPSBBVl9QSVhfRk1UX05PTkU7IGkrKyApCi0gICAgIHsKLSAgICAgICAgIGlmKCBwX3ZhLT5waXhfZm10ICE9IHBpX2ZtdFtpXSApCi0gICAgICAgICAgICAgY29udGludWU7Ci1kaWZmIC0tZ2l0IGEvbW9kdWxlcy92aWRlb19jaHJvbWEvc3dzY2FsZS5jIGIvbW9kdWxlcy92aWRlb19jaHJvbWEvc3dzY2FsZS5jCi1pbmRleCA1NjllMGY1Li40ZTBlY2YxIDEwMDY0NAotLS0tIGEvbW9kdWxlcy92aWRlb19jaHJvbWEvc3dzY2FsZS5jCi0rKysgYi9tb2R1bGVzL3ZpZGVvX2Nocm9tYS9zd3NjYWxlLmMKLUBAIC0yNTcsMzUgKzI1NywzNSBAQCBzdGF0aWMgdm9pZCBGaXhQYXJhbWV0ZXJzKCBpbnQgKnBpX2ZtdCwgYm9vbCAqcGJfaGFzX2EsIGJvb2wgKnBiX3N3YXBfdXYsIHZsY19mbwotICAgICBzd2l0Y2goIGZtdCApCi0gICAgIHsKLSAgICAgY2FzZSBWTENfQ09ERUNfWVVWNDIyQToKLS0gICAgICAgICpwaV9mbXQgPSBQSVhfRk1UX1lVVjQyMlA7Ci0rICAgICAgICAqcGlfZm10ID0gQVZfUElYX0ZNVF9ZVVY0MjJQOwotICAgICAgICAgKnBiX2hhc19hID0gdHJ1ZTsKLSAgICAgICAgIGJyZWFrOwotICAgICBjYXNlIFZMQ19DT0RFQ19ZVVY0MjBBOgotLSAgICAgICAgKnBpX2ZtdCA9IFBJWF9GTVRfWVVWNDIwUDsKLSsgICAgICAgICpwaV9mbXQgPSBBVl9QSVhfRk1UX1lVVjQyMFA7Ci0gICAgICAgICAqcGJfaGFzX2EgPSB0cnVlOwotICAgICAgICAgYnJlYWs7Ci0gICAgIGNhc2UgVkxDX0NPREVDX1lVVkE6Ci0tICAgICAgICAqcGlfZm10ID0gUElYX0ZNVF9ZVVY0NDRQOwotKyAgICAgICAgKnBpX2ZtdCA9IEFWX1BJWF9GTVRfWVVWNDQ0UDsKLSAgICAgICAgICpwYl9oYXNfYSA9IHRydWU7Ci0gICAgICAgICBicmVhazsKLSAgICAgY2FzZSBWTENfQ09ERUNfUkdCQToKLS0gICAgICAgICpwaV9mbXQgPSBQSVhfRk1UX0JHUjMyOwotKyAgICAgICAgKnBpX2ZtdCA9IEFWX1BJWF9GTVRfQkdSMzI7Ci0gICAgICAgICAqcGJfaGFzX2EgPSB0cnVlOwotICAgICAgICAgYnJlYWs7Ci0gICAgIGNhc2UgVkxDX0NPREVDX0FSR0I6Ci0tICAgICAgICAqcGlfZm10ID0gUElYX0ZNVF9CR1IzMl8xOwotKyAgICAgICAgKnBpX2ZtdCA9IEFWX1BJWF9GTVRfQkdSMzJfMTsKLSAgICAgICAgICpwYl9oYXNfYSA9IHRydWU7Ci0gICAgICAgICBicmVhazsKLSAgICAgY2FzZSBWTENfQ09ERUNfQkdSQToKLS0gICAgICAgICpwaV9mbXQgPSBQSVhfRk1UX1JHQjMyOwotKyAgICAgICAgKnBpX2ZtdCA9IEFWX1BJWF9GTVRfUkdCMzI7Ci0gICAgICAgICAqcGJfaGFzX2EgPSB0cnVlOwotICAgICAgICAgYnJlYWs7Ci0gICAgIGNhc2UgVkxDX0NPREVDX1lWMTI6Ci0tICAgICAgICAqcGlfZm10ID0gUElYX0ZNVF9ZVVY0MjBQOwotKyAgICAgICAgKnBpX2ZtdCA9IEFWX1BJWF9GTVRfWVVWNDIwUDsKLSAgICAgICAgICpwYl9zd2FwX3V2ID0gdHJ1ZTsKLSAgICAgICAgIGJyZWFrOwotICAgICBjYXNlIFZMQ19DT0RFQ19ZVjk6Ci0tICAgICAgICAqcGlfZm10ID0gUElYX0ZNVF9ZVVY0MTBQOwotKyAgICAgICAgKnBpX2ZtdCA9IEFWX1BJWF9GTVRfWVVWNDEwUDsKLSAgICAgICAgICpwYl9zd2FwX3V2ID0gdHJ1ZTsKLSAgICAgICAgIGJyZWFrOwotICAgICBkZWZhdWx0OgotQEAgLTMxNCw3ICszMTQsNyBAQCBzdGF0aWMgaW50IEdldFBhcmFtZXRlcnMoIFNjYWxlckNvbmZpZ3VyYXRpb24gKnBfY2ZnLAotICAgICB7Ci0gICAgICAgICBpZiggcF9mbXRpLT5pX2Nocm9tYSA9PSBWTENfQ09ERUNfWVVWUCAmJiBBTExPV19ZVVZQICkKLSAgICAgICAgIHsKLS0gICAgICAgICAgICBpX2ZtdGkgPSBpX2ZtdG8gPSBQSVhfRk1UX0dSQVk4OwotKyAgICAgICAgICAgIGlfZm10aSA9IGlfZm10byA9IEFWX1BJWF9GTVRfR1JBWTg7Ci0gICAgICAgICAgICAgaV9zd3NfZmxhZ3MgPSBTV1NfUE9JTlQ7Ci0gICAgICAgICB9Ci0gICAgIH0KLUBAIC0zMjcsOSArMzI3LDkgQEAgc3RhdGljIGludCBHZXRQYXJhbWV0ZXJzKCBTY2FsZXJDb25maWd1cmF0aW9uICpwX2NmZywKLSAgICAgICogV2l0aG91dCBTV1NfQUNDVVJBVEVfUk5EIHRoZSBxdWFsaXR5IGlzIHJlYWxseSBiYWQgZm9yIHNvbWUgY29udmVyc2lvbnMgKi8KLSAgICAgc3dpdGNoKCBpX2ZtdG8gKQotICAgICB7Ci0tICAgIGNhc2UgUElYX0ZNVF9BUkdCOgotLSAgICBjYXNlIFBJWF9GTVRfUkdCQToKLS0gICAgY2FzZSBQSVhfRk1UX0FCR1I6Ci0rICAgIGNhc2UgQVZfUElYX0ZNVF9BUkdCOgotKyAgICBjYXNlIEFWX1BJWF9GTVRfUkdCQToKLSsgICAgY2FzZSBBVl9QSVhfRk1UX0FCR1I6Ci0gICAgICAgICBpX3N3c19mbGFncyB8PSBTV1NfQUNDVVJBVEVfUk5EOwotICAgICAgICAgYnJlYWs7Ci0gICAgIH0KLUBAIC00MDMsOCArNDAzLDggQEAgc3RhdGljIGludCBJbml0KCBmaWx0ZXJfdCAqcF9maWx0ZXIgKQotICAgICBjb25zdCB1bnNpZ25lZCBpX2ZtdG9fdmlzaWJsZV93aWR0aCA9IHBfZm10by0+aV92aXNpYmxlX3dpZHRoICogcF9zeXMtPmlfZXh0ZW5kX2ZhY3RvcjsKLSAgICAgZm9yKCBpbnQgbiA9IDA7IG4gPCAoY2ZnLmJfaGFzX2EgPyAyIDogMSk7IG4rKyApCi0gICAgIHsKLS0gICAgICAgIGNvbnN0IGludCBpX2ZtdGkgPSBuID09IDAgPyBjZmcuaV9mbXRpIDogUElYX0ZNVF9HUkFZODsKLS0gICAgICAgIGNvbnN0IGludCBpX2ZtdG8gPSBuID09IDAgPyBjZmcuaV9mbXRvIDogUElYX0ZNVF9HUkFZODsKLSsgICAgICAgIGNvbnN0IGludCBpX2ZtdGkgPSBuID09IDAgPyBjZmcuaV9mbXRpIDogQVZfUElYX0ZNVF9HUkFZODsKLSsgICAgICAgIGNvbnN0IGludCBpX2ZtdG8gPSBuID09IDAgPyBjZmcuaV9mbXRvIDogQVZfUElYX0ZNVF9HUkFZODsKLSAgICAgICAgIHN0cnVjdCBTd3NDb250ZXh0ICpjdHg7Ci0gCi0gICAgICAgICBjdHggPSBzd3NfZ2V0Q29udGV4dCggaV9mbXRpX3Zpc2libGVfd2lkdGgsIHBfZm10aS0+aV92aXNpYmxlX2hlaWdodCwgaV9mbXRpLAotLS0gCi0yLjUuMAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAxMC1TV1NDQUxFLWZpeC1jb21waWxhdGlvbi13aXRoLTQueC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDEwLVNXU0NBTEUtZml4LWNvbXBpbGF0aW9uLXdpdGgtNC54LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1Njc0NGU3Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDEwLVNXU0NBTEUtZml4LWNvbXBpbGF0aW9uLXdpdGgtNC54LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotRnJvbSA2ZmE4YTRhOWJiNjRmZjM0MzI4YWFlNDZhY2Q2MDBmODUwMmIyYzA1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSmVhbi1CYXB0aXN0ZSBLZW1wZiA8amJAdmlkZW9sYW4ub3JnPgotRGF0ZTogTW9uLCAzMSBBdWcgMjAxNSAwOTowNzozOSArMDIwMAotU3ViamVjdDogW1BBVENIXSBTV1NDQUxFOiBmaXggY29tcGlsYXRpb24gd2l0aCA0LngKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMmIyMzg1N2M2ODYyMmVkZGE3NmI3MmI3NGFlYjNkOTQzZWUyNzdjOSkKLVNpZ25lZC1vZmYtYnk6IFJhZmHDq2wgQ2FycsOpIDxmdW5tYW5AdmlkZW9sYW4ub3JnPgotLS0tCi0gbW9kdWxlcy92aWRlb19jaHJvbWEvc3dzY2FsZS5jIHwgMyArKysKLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9tb2R1bGVzL3ZpZGVvX2Nocm9tYS9zd3NjYWxlLmMgYi9tb2R1bGVzL3ZpZGVvX2Nocm9tYS9zd3NjYWxlLmMKLWluZGV4IDRlMGVjZjEuLjI2ZDBkNmYgMTAwNjQ0Ci0tLS0gYS9tb2R1bGVzL3ZpZGVvX2Nocm9tYS9zd3NjYWxlLmMKLSsrKyBiL21vZHVsZXMvdmlkZW9fY2hyb21hL3N3c2NhbGUuYwotQEAgLTM2LDYgKzM2LDcgQEAKLSAjaW5jbHVkZSA8dmxjX2NwdS5oPgotIAotICNpbmNsdWRlIDxsaWJzd3NjYWxlL3N3c2NhbGUuaD4KLSsjaW5jbHVkZSA8bGlic3dzY2FsZS92ZXJzaW9uLmg+Ci0gCi0gI2lmZGVmIF9fQVBQTEVfXwotICMgaW5jbHVkZSA8VGFyZ2V0Q29uZGl0aW9uYWxzLmg+Ci1AQCAtMjM1LDYgKzIzNiw3IEBAIHN0YXRpYyBpbnQgR2V0U3dzQ3B1TWFzayh2b2lkKQotIHsKLSAgICAgaW50IGlfc3dzX2NwdSA9IDA7Ci0gCi0rI2lmIExJQlNXU0NBTEVfVkVSU0lPTl9NQUpPUiA8IDQKLSAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKQotICAgICBpZiggdmxjX0NQVV9NTVgoKSApCi0gICAgICAgICBpX3N3c19jcHUgfD0gU1dTX0NQVV9DQVBTX01NWDsKLUBAIC0yNDgsNiArMjUwLDcgQEAgc3RhdGljIGludCBHZXRTd3NDcHVNYXNrKHZvaWQpCi0gICAgIGlmKCB2bGNfQ1BVX0FMVElWRUMoKSApCi0gICAgICAgICBpX3N3c19jcHUgfD0gU1dTX0NQVV9DQVBTX0FMVElWRUM7Ci0gI2VuZGlmCi0rI2VuZGlmCi0gCi0gICAgIHJldHVybiBpX3N3c19jcHU7Ci0gfQotLS0gCi0yLjUuMAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGNfMi4yLjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGNfMi4yLjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI1YmUwNGMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjXzIuMi4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotcmVxdWlyZSAke0JQTn0uaW5jCi0KLSMgd29yayBhcm91bmQgYnVpbGQgZmFpbHVyZQotRVhUUkFfT0VDT05GICs9ICIgLS1lbmFibGUtbGlieG1sMj1ubyIKLQotU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtZW5hYmxlLXN1YmRpci1vYmplY3RzLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAyLWdsaWJjLWRvZXMtbm90LXByb3ZpZGUtc3RybGNweS5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMy11c2UtYW0tcGF0aC1saWJnY3J5cHQucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDQtbW9kdWxlcy1ndWktcXQ0LW91dC1vZi10cmVlLWJ1aWxkLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDA1LWxpYnBvc3Rwcm9jLWhlYWRlci1jaGVjay5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwNi1tYWtlLW9wZW5jdi1jb25maWd1cmFibGUucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDctdXNlLXZvcmJpc2lkZWMucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDgtZml4LWx1YUwtY2hlY2tpbnQucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDktQXZjb2RlYy1zd3NjYWxlLXVzZS1BVl9QSVhfRk1ULWNvbnNpc3RlbnRseS5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAxMC1TV1NDQUxFLWZpeC1jb21waWxhdGlvbi13aXRoLTQueC5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJmOThkNjBmMGY1OWVmNzJiNmUzNDA3ZjJmZjA5YmRhNiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI5YWQyMzEyOGJlMTZmOWI0MGVkNzcyOTYxMjcyY2IwNzQ4ZWQ4ZTRhYTFiYzc5YzEyOWU1ODlmZWViZWE1ZmI1IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjXzMuMC42LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjXzMuMC42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhZTIxM2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGNfMy4wLjYuYmIKQEAgLTAsMCArMSwxNiBAQAorcmVxdWlyZSAke0JQTn0uaW5jCisKKyMgd29yayBhcm91bmQgYnVpbGQgZmFpbHVyZQorRVhUUkFfT0VDT05GICs9ICIgLS1lbmFibGUtbGlieG1sMj1ubyIKKworTERGTEFHU19hcHBlbmRfcmlzY3Y2NCA9ICIgLXB0aHJlYWQiCisKK1NSQ19VUkkgKz0gIiBcCisgICAgICAgICAgICBmaWxlOi8vMDAwMi1nbGliYy1kb2VzLW5vdC1wcm92aWRlLXN0cmxjcHkucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDUtbGlicG9zdHByb2MtaGVhZGVyLWNoZWNrLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDA2LW1ha2Utb3BlbmN2LWNvbmZpZ3VyYWJsZS5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwNy11c2Utdm9yYmlzaWRlYy5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwOC1maXgtbHVhTC1jaGVja2ludC5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiNGZmNzFkMjYyZTA3MGZkMTlmODZhMWMzNTQyYzdiNGUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMThjMTZkNGJlMGYzNDg2MWQwYWE1MWZiZDI3NGZiODdmMGNhYjNiNzExOTc1N2VhZDkzZjNkYjNhMWYyN2VkMyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvd2VicnRjLWF1ZGlvLXByb2Nlc3Npbmcvd2VicnRjLWF1ZGlvLXByb2Nlc3NpbmcvcmlzY3Zfc3VwcG9ydC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvd2VicnRjLWF1ZGlvLXByb2Nlc3Npbmcvd2VicnRjLWF1ZGlvLXByb2Nlc3NpbmcvcmlzY3Zfc3VwcG9ydC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NzZiOTg2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS93ZWJydGMtYXVkaW8tcHJvY2Vzc2luZy93ZWJydGMtYXVkaW8tcHJvY2Vzc2luZy9yaXNjdl9zdXBwb3J0LnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK0FkZCBzdXBwb3J0IGZvciBSSVNDLVYKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tIGEvd2VicnRjL2Jhc2UvYmFzaWN0eXBlcy5oCisrKysgYi93ZWJydGMvYmFzZS9iYXNpY3R5cGVzLmgKK0BAIC0yOSw2ICsyOSwxMCBAQAorICNkZWZpbmUgQ1BVX0FSTSAxCisgI2VuZGlmCisgCisrI2lmIGRlZmluZWQoX19yaXNjdikgfHwgZGVmaW5lZChfTV9SSVNDVikKKysjZGVmaW5lIENQVV9SSVNDViAxCisrI2VuZGlmCisrCisgI2lmIGRlZmluZWQoQ1BVX1g4NikgJiYgZGVmaW5lZChDUFVfQVJNKQorICNlcnJvciBDUFVfWDg2IGFuZCBDUFVfQVJNIGJvdGggZGVmaW5lZC4KKyAjZW5kaWYKKy0tLSBhL3dlYnJ0Yy90eXBlZGVmcy5oCisrKysgYi93ZWJydGMvdHlwZWRlZnMuaAorQEAgLTU2LDYgKzU2LDEzIEBACisgI2VsaWYgZGVmaW5lZChfX3Bvd2VycGNfXykKKyAjZGVmaW5lIFdFQlJUQ19BUkNIXzMyX0JJVFMKKyAjZGVmaW5lIFdFQlJUQ19BUkNIX0JJR19FTkRJQU4KKysjZWxpZiBkZWZpbmVkKF9fcmlzY3YpCisrI2lmIF9fcmlzY3ZfeGxlbiA9PSA2NAorKyMgZGVmaW5lIFdFQlJUQ19BUkNIXzY0X0JJVFMKKysjZWxzZQorKyMgZGVmaW5lIFdFQlJUQ19BUkNIXzMyX0JJVFMKKysjZW5kaWYKKysjZGVmaW5lIFdFQlJUQ19BUkNIX0xJVFRMRV9FTkRJQU4KKyAjZWxpZiBkZWZpbmVkKF9fcG5hY2xfXykKKyAjZGVmaW5lIFdFQlJUQ19BUkNIXzMyX0JJVFMKKyAjZGVmaW5lIFdFQlJUQ19BUkNIX0xJVFRMRV9FTkRJQU4KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvd2VicnRjLWF1ZGlvLXByb2Nlc3Npbmcvd2VicnRjLWF1ZGlvLXByb2Nlc3NpbmdfMC4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS93ZWJydGMtYXVkaW8tcHJvY2Vzc2luZy93ZWJydGMtYXVkaW8tcHJvY2Vzc2luZ18wLjMuYmIKaW5kZXggMmIwZjdjNi4uZGJiYTJmNCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS93ZWJydGMtYXVkaW8tcHJvY2Vzc2luZy93ZWJydGMtYXVkaW8tcHJvY2Vzc2luZ18wLjMuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS93ZWJydGMtYXVkaW8tcHJvY2Vzc2luZy93ZWJydGMtYXVkaW8tcHJvY2Vzc2luZ18wLjMuYmIKQEAgLTE5LDYgKzE5LDcgQEAKICAgICAgICAgICAgZmlsZTovLzAwMDQtdHlwZWRlZnMuaC1hZGQtc3VwcG9ydC1mb3ItNjQtYml0LWFuZC1iaWctZW5kaWFuLU1JUC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDA1LXR5cGVkZWZzLmgtYWRkLXN1cHBvcnQtZm9yLVBvd2VyUEMucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwNi1jb21tb25fYXVkaW8taW1wbGVtZW50LWVuZGlhbm5lc3MtY29udmVyc2lvbi1pbi13YXYtLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3Jpc2N2X3N1cHBvcnQucGF0Y2ggXAogIgogCiBTUkNfVVJJW21kNXN1bV0gPSAiMzM2YWUwMzJmNjA4ZTY1ODA4YWM1NzdjZGUwYWI3MmMiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm9pbC9saWJvaWwtMC4zLjE3LzAwMDEtbWF0aF92ZnBfYXNtLlMtQ29udmVydC1mbGRtaWEtZnN0bWlhLWluc3RydWN0aW9ucy10by5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLXN1cHBvcnQvbGlib2lsL2xpYm9pbC0wLjMuMTcvMDAwMS1tYXRoX3ZmcF9hc20uUy1Db252ZXJ0LWZsZG1pYS1mc3RtaWEtaW5zdHJ1Y3Rpb25zLXRvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1OTAzODAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm9pbC9saWJvaWwtMC4zLjE3LzAwMDEtbWF0aF92ZnBfYXNtLlMtQ29udmVydC1mbGRtaWEtZnN0bWlhLWluc3RydWN0aW9ucy10by5wYXRjaApAQCAtMCwwICsxLDI1NyBAQAorRnJvbSAwMmExMzhmMGIyNDdmYjA4Yjc5OWYzMmM0OWIzNTkxMmIyOTIxMzIxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMTIgRmViIDIwMTkgMTE6Mzg6NDYgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gbWF0aF92ZnBfYXNtLlM6IENvbnZlcnQgZmxkbWlhL2ZzdG1pYSBpbnN0cnVjdGlvbnMgdG8gVUFMCisgc3ludGF4IGZvciBjbGFuZworCitUaGlzIGlzIGZsYWdnZWQgd2l0aCBjbGFuZyBpbnRlcm5hbCBhc3NlbWJsZXIsIHNpbmNlIGl0IGRvZXMgbm90IGFsbG93Citub24gVUFMIHN5bnRheAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGxpYm9pbC9hcm0vbWF0aF92ZnBfYXNtLlMgfCA5NCArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNDcgaW5zZXJ0aW9ucygrKSwgNDcgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWJvaWwvYXJtL21hdGhfdmZwX2FzbS5TIGIvbGlib2lsL2FybS9tYXRoX3ZmcF9hc20uUworaW5kZXggYWU1YzgwMy4uM2RkMTRkOSAxMDA2NDQKKy0tLSBhL2xpYm9pbC9hcm0vbWF0aF92ZnBfYXNtLlMKKysrKyBiL2xpYm9pbC9hcm0vbWF0aF92ZnBfYXNtLlMKK0BAIC0yNSw3ICsyNSw3IEBACisgICovCisgCisgI2lmIGRlZmluZWQoX19WRlBfRlBfXykgJiYgIWRlZmluZWQoX19TT0ZURlBfXykKKy0vKiAKKysvKgorICoqIGNvbXBpbGUgd2l0aCAtbWNwdT1hcm0xMTM2ai1zIC1tZnB1PXZmcCAtbWZsb2F0LWFiaT1zb2Z0ZnAKKyAqKgorICoqIHZvaWQgdmZwX2FkZF9mMzIgKGZsb2F0ICpkLCBjb25zdCBmbG9hdCAqczEsIGNvbnN0IGZsb2F0ICpzMiwgaW50IG4pOworQEAgLTQ4LDEwICs0OCwxMCBAQAorICAgICBhbmRzICAgICAgICAgIGlwLCByMywgIzc7ICAgICAgICAgICAgICAgLyogaXAgPSBuICUgOCAqLyAgICAgICAgICAgICAgICAgIFwKKyAgICAgYmVxICAgICAgICAgICB2ZnBfICMjIGZuYW1lICMjIF91bnJvbGw7IC8qIGlmIGlwID09IDAgZ290byBwcmVwX2xvb3AyICovICBcCisgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBmbGRtaWFzICAgICAgIHIxISwge3MwfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgZmxkbWlhcyAgICAgICByMiEsIHtzMX07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIHZsZG1pYS5mMzIgICAgICAgcjEhLCB7czB9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICB2bGRtaWEuZjMyICAgICAgIHIyISwge3MxfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIyMgZmluc3QgIyNzICBzMiwgczAsIHMxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGZzdG1pYXMgICAgICAgcjAhLCB7czJ9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICB2c3RtaWEuZjMyICAgICAgIHIwISwge3MyfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgc3VicyAgICAgICAgICBpcCwgaXAsICMxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIGJuZSAgICAgICAgICAgdmZwXyAjIyBmbmFtZSAjIyBfbG9vcDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfdW5yb2xsOiAgICAgICAgICAgICAgICAgLyogdW5yb2xsIGJ5IDggKi8gICAgICAgICAgICAgICAgIFwKK0BAIC02MiwxNSArNjIsMTUgQEAKKyAgICAgb3JyICAgICAgICAgICBmcCwgbHIsIGZwLCBsc2wgIzE2OyAgICAgIC8qIHNldCB2ZWN0b3IgbGVuZ2h0IHRvIDggKi8gICAgICBcCisgICAgIGZteHIgICAgICAgICAgZnBzY3IsIGZwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfbG9vcDI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgZmxkbWlhcyAgICAgICByMSEsIHtzOCwgczksIHMxMCwgczExLCBzMTIsIHMxMywgczE0LCBzMTV9OyAgICAgICAgICAgICAgICBcCistICAgIGZsZG1pYXMgICAgICAgcjIhLCB7czE2LCBzMTcsIHMxOCwgczE5LCBzMjAsIHMyMSwgczIyLCBzMjN9OyAgICAgICAgICAgICAgXAorKyAgICB2bGRtaWEuZjMyICAgICAgIHIxISwge3M4LCBzOSwgczEwLCBzMTEsIHMxMiwgczEzLCBzMTQsIHMxNX07ICAgICAgICAgICAgICAgIFwKKysgICAgdmxkbWlhLmYzMiAgICAgICByMiEsIHtzMTYsIHMxNywgczE4LCBzMTksIHMyMCwgczIxLCBzMjIsIHMyM307ICAgICAgICAgICAgICBcCisgICAgICMjIGZpbnN0ICMjcyAgczI0LCBzOCwgczE2OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBmc3RtaWFzICAgICAgIHIwISwge3MyNCwgczI1LCBzMjYsIHMyNywgczI4LCBzMjksIHMzMCwgczMxfTsgICAgICAgICAgICAgIFwKKysgICAgdnN0bWlhLmYzMiAgICAgICByMCEsIHtzMjQsIHMyNSwgczI2LCBzMjcsIHMyOCwgczI5LCBzMzAsIHMzMX07ICAgICAgICAgICAgICBcCisgICAgIHN1YnMgICAgICAgICAgaXAsIGlwLCAjMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICBibmUgICAgICAgICAgIHZmcF8gIyMgZm5hbWUgIyMgX2xvb3AyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgZm14ciAgICAgICAgICBmcHNjciwgbHI7ICAgICAgICAgICAgICAgIC8qIHJlc3RvcmUgb3JpZ2luYWwgZnBzY3IgKi8gICAgICBcCisgICB2ZnBfICMjIGZuYW1lICMjIF9lbmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBsZG1pYSAgICAgICAgIHNwISwge2ZwLCBwY307ICAgICAgICAvKiByZWNvdmVyaW5nIGZyb20gc3RhY2sgYW5kIHJldHVybiAqLyAgIAorKyAgICBsZG1pYSAgICAgICAgIHNwISwge2ZwLCBwY307ICAgICAgICAvKiByZWNvdmVyaW5nIGZyb20gc3RhY2sgYW5kIHJldHVybiAqLworIAorICNkZWZpbmUgVU5ST0xMX0Y2NF9URU1QTEFURShmbmFtZSxmaW5zdCkgXAorICAgLmdsb2JhbCB2ZnBfICMjIGZuYW1lICMjIDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKK0BAIC03OSwxMCArNzksMTAgQEAKKyAgICAgYW5kcyAgICAgICAgICBpcCwgcjMsICMzOyAgICAgICAgICAgICAgIC8qIGlwID0gbiAlIDMgKi8gICAgICAgICAgICAgICAgICBcCisgICAgIGJlcSAgICAgICAgICAgdmZwXyAjIyBmbmFtZSAjIyBfdW5yb2xsOyAvKiBpZiBpcCA9PSAwIGdvdG8gcHJlcF9sb29wMiAqLyAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfbG9vcDE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgZmxkbWlhZCAgICAgICByMSEsIHtkMH07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGZsZG1pYWQgICAgICAgcjIhLCB7ZDF9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICB2bGRtaWEuZjY0ICAgICAgIHIxISwge2QwfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgdmxkbWlhLmY2NCAgICAgICByMiEsIHtkMX07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICMjIGZpbnN0ICMjZCAgZDIsIGQwLCBkMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBmc3RtaWFkICAgICAgIHIwISwge2QyfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgdnN0bWlhLmY2NCAgICAgICByMCEsIHtkMn07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIHN1YnMgICAgICAgICAgaXAsIGlwLCAjMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICBibmUgICAgICAgICAgIHZmcF8gIyMgZm5hbWUgIyMgX2xvb3AxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIHZmcF8gIyMgZm5hbWUgIyMgX3Vucm9sbDogICAgICAgICAgICAgICAgIC8qIHVucm9sbCBieSA0ICovICAgICAgICAgICAgICAgICBcCitAQCAtOTMsMTUgKzkzLDE1IEBACisgICAgIG9yciAgICAgICAgICAgZnAsIGxyLCBmcCwgbHNsICMxNjsgICAgICAvKiBzZXQgdmVjdG9yIGxlbmdodCB0byA4ICovICAgICAgXAorICAgICBmbXhyICAgICAgICAgIGZwc2NyLCBmcDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIHZmcF8gIyMgZm5hbWUgIyMgX2xvb3AyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGZsZG1pYWQgICAgICAgcjEhLCB7ZDQsIGQ1LCBkNiwgZDd9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBmbGRtaWFkICAgICAgIHIyISwge2Q4LCBkOSwgZDEwLCBkMTF9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgdmxkbWlhLmY2NCAgICAgICByMSEsIHtkNCwgZDUsIGQ2LCBkN307ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIHZsZG1pYS5mNjQgICAgICAgcjIhLCB7ZDgsIGQ5LCBkMTAsIGQxMX07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAjIyBmaW5zdCAjI2QgIGQxMiwgZDQsIGQ4OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgZnN0bWlhZCAgICAgICByMCEsIHtkMTIsIGQxMywgZDE0LCBkMTV9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIHZzdG1pYS5mNjQgICAgICAgcjAhLCB7ZDEyLCBkMTMsIGQxNCwgZDE1fTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICBzdWJzICAgICAgICAgIGlwLCBpcCwgIzE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgYm5lICAgICAgICAgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIGZteHIgICAgICAgICAgZnBzY3IsIGxyOyAgICAgICAgICAgICAgICAvKiByZXN0b3JlIG9yaWdpbmFsIGZwc2NyICovICAgICAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfZW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgbGRtaWEgICAgICAgICBzcCEsIHtmcCwgcGN9OyAgICAgICAgLyogcmVjb3ZlcmluZyBmcm9tIHN0YWNrIGFuZCByZXR1cm4gKi8gICAKKysgICAgbGRtaWEgICAgICAgICBzcCEsIHtmcCwgcGN9OyAgICAgICAgLyogcmVjb3ZlcmluZyBmcm9tIHN0YWNrIGFuZCByZXR1cm4gKi8KKyAKKyAuYWxpZ24gMgorIFVOUk9MTF9GMzJfVEVNUExBVEUoYWRkX2YzMixmYWRkKTsKK0BAIC0xMTksNyArMTE5LDcgQEAgVU5ST0xMX0Y2NF9URU1QTEFURShzdWJ0cmFjdF9mNjQsZnN1Yik7CisgI3VuZGVmIFVOUk9MTF9GMzJfVEVNUExBVEUKKyAjdW5kZWYgVU5ST0xMX0Y2NF9URU1QTEFURQorIAorLS8qIAorKy8qCisgKioKKyAqKiB2b2lkIHZmcF9zY2FsYXJhZGRfZjMyX25zIChmbG9hdCAqZCwgY29uc3QgZmxvYXQgKnMxLCBjb25zdCBmbG9hdCAqczJfMSwgaW50IG4pOworICoqIHZvaWQgdmZwX3NjYWxhcmFkZF9mNjRfbnMgKGRvdWJsZSAqZCwgY29uc3QgZG91YmxlICpzMSwgY29uc3QgZG91YmxlICpzMl8xLCBpbnQgbik7CitAQCAtMTMzLDEzICsxMzMsMTMgQEAgVU5ST0xMX0Y2NF9URU1QTEFURShzdWJ0cmFjdF9mNjQsZnN1Yik7CisgICAuZ2xvYmFsIHZmcF8gIyMgZm5hbWUgIyMgOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgc3RtZGIgICAgICAgICBzcCEsIHtmcCwgbHJ9OyAgICAgICAgICAgIC8qIHNhdmUgcmVnaXN0ZXJzIHRvIHN0YWNrICovICAgICBcCistICAgIGZsZG1pYXMgICAgICAgcjIsIHtzMX07ICAgICAgICAgICAgICAgICAvKiBsb2FkIHNjYWxhciB2YWx1ZSAqLyAgICAgICAgICAgXAorKyAgICB2bGRtaWEuZjMyICAgICAgIHIyLCB7czF9OyAgICAgICAgICAgICAgICAgLyogbG9hZCBzY2FsYXIgdmFsdWUgKi8gICAgICAgICAgIFwKKyAgICAgYW5kcyAgICAgICAgICBpcCwgcjMsICM3OyAgICAgICAgICAgICAgIC8qIGlwID0gbiAlIDggKi8gICAgICAgICAgICAgICAgICBcCisgICAgIGJlcSAgICAgICAgICAgdmZwXyAjIyBmbmFtZSAjIyBfdW5yb2xsOyAvKiBpZiBpcCA9PSAwIGdvdG8gcHJlcF9sb29wMiAqLyAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfbG9vcDE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgZmxkbWlhcyAgICAgICByMSEsIHtzMH07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIHZsZG1pYS5mMzIgICAgICAgcjEhLCB7czB9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAjIyBmaW5zdCAjI3MgIHMyLCBzMCwgczE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgZnN0bWlhcyAgICAgICByMCEsIHtzMn07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIHZzdG1pYS5mMzIgICAgICAgcjAhLCB7czJ9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICBzdWJzICAgICAgICAgIGlwLCBpcCwgIzE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgYm5lICAgICAgICAgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICB2ZnBfICMjIGZuYW1lICMjIF91bnJvbGw6ICAgICAgICAgICAgICAgICAvKiB1bnJvbGwgYnkgOCAqLyAgICAgICAgICAgICAgICAgXAorQEAgLTE1MCwyNiArMTUwLDI2IEBAIFVOUk9MTF9GNjRfVEVNUExBVEUoc3VidHJhY3RfZjY0LGZzdWIpOworICAgICBvcnIgICAgICAgICAgIGZwLCBsciwgZnAsIGxzbCAjMTY7ICAgICAgLyogc2V0IHZlY3RvciBsZW5naHQgdG8gOCAqLyAgICAgIFwKKyAgICAgZm14ciAgICAgICAgICBmcHNjciwgZnA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBmbGRtaWFzICAgICAgIHIxISwge3M4LCBzOSwgczEwLCBzMTEsIHMxMiwgczEzLCBzMTQsIHMxNX07ICAgICAgICAgICAgICAgIFwKKysgICAgdmxkbWlhLmYzMiAgICAgICByMSEsIHtzOCwgczksIHMxMCwgczExLCBzMTIsIHMxMywgczE0LCBzMTV9OyAgICAgICAgICAgICAgICBcCisgICAgICMjIGZpbnN0ICMjcyAgczI0LCBzOCwgczE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBmc3RtaWFzICAgICAgIHIwISwge3MyNCwgczI1LCBzMjYsIHMyNywgczI4LCBzMjksIHMzMCwgczMxfTsgICAgICAgICAgICAgIFwKKysgICAgdnN0bWlhLmYzMiAgICAgICByMCEsIHtzMjQsIHMyNSwgczI2LCBzMjcsIHMyOCwgczI5LCBzMzAsIHMzMX07ICAgICAgICAgICAgICBcCisgICAgIHN1YnMgICAgICAgICAgaXAsIGlwLCAjMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICBibmUgICAgICAgICAgIHZmcF8gIyMgZm5hbWUgIyMgX2xvb3AyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgZm14ciAgICAgICAgICBmcHNjciwgbHI7ICAgICAgICAgICAgICAgIC8qIHJlc3RvcmUgb3JpZ2luYWwgZnBzY3IgKi8gICAgICBcCisgICB2ZnBfICMjIGZuYW1lICMjIF9lbmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBsZG1pYSAgICAgICAgIHNwISwge2ZwLCBwY307ICAgICAgICAvKiByZWNvdmVyaW5nIGZyb20gc3RhY2sgYW5kIHJldHVybiAqLyAgIAorKyAgICBsZG1pYSAgICAgICAgIHNwISwge2ZwLCBwY307ICAgICAgICAvKiByZWNvdmVyaW5nIGZyb20gc3RhY2sgYW5kIHJldHVybiAqLworIAorICNkZWZpbmUgVU5ST0xMX0Y2NF9URU1QTEFURShmbmFtZSxmaW5zdCkgXAorICAgLmdsb2JhbCB2ZnBfICMjIGZuYW1lICMjIDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIHZmcF8gIyMgZm5hbWUgIyMgOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIHN0bWRiICAgICAgICAgc3AhLCB7ZnAsIGxyfTsgICAgICAgICAgICAvKiBzYXZlIHJlZ2lzdGVycyB0byBzdGFjayAqLyAgICAgXAorLSAgICBmbGRtaWFkICAgICAgIHIyLCB7ZDF9OyAgICAgICAgICAgICAgICAgLyogbG9hZCBzY2FsYXIgdmFsdWUgKi8gICAgICAgICAgIFwKKysgICAgdmxkbWlhLmY2NCAgICAgICByMiwge2QxfTsgICAgICAgICAgICAgICAgIC8qIGxvYWQgc2NhbGFyIHZhbHVlICovICAgICAgICAgICBcCisgICAgIGFuZHMgICAgICAgICAgaXAsIHIzLCAjMzsgICAgICAgICAgICAgICAvKiBpcCA9IG4gJSAzICovICAgICAgICAgICAgICAgICAgXAorICAgICBiZXEgICAgICAgICAgIHZmcF8gIyMgZm5hbWUgIyMgX3Vucm9sbDsgLyogaWYgaXAgPT0gMCBnb3RvIHByZXBfbG9vcDIgKi8gIFwKKyAgIHZmcF8gIyMgZm5hbWUgIyMgX2xvb3AxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGZsZG1pYWQgICAgICAgcjEhLCB7ZDB9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICB2bGRtaWEuZjY0ICAgICAgIHIxISwge2QwfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIyMgZmluc3QgIyNkICBkMiwgZDAsIGQxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGZzdG1pYWQgICAgICAgcjAhLCB7ZDJ9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICB2c3RtaWEuZjY0ICAgICAgIHIwISwge2QyfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgc3VicyAgICAgICAgICBpcCwgaXAsICMxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIGJuZSAgICAgICAgICAgdmZwXyAjIyBmbmFtZSAjIyBfbG9vcDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfdW5yb2xsOiAgICAgICAgICAgICAgICAgLyogdW5yb2xsIGJ5IDQgKi8gICAgICAgICAgICAgICAgIFwKK0BAIC0xODAsMTQgKzE4MCwxNCBAQCBVTlJPTExfRjY0X1RFTVBMQVRFKHN1YnRyYWN0X2Y2NCxmc3ViKTsKKyAgICAgb3JyICAgICAgICAgICBmcCwgbHIsIGZwLCBsc2wgIzE2OyAgICAgIC8qIHNldCB2ZWN0b3IgbGVuZ2h0IHRvIDQgKi8gICAgICBcCisgICAgIGZteHIgICAgICAgICAgZnBzY3IsIGZwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfbG9vcDI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgZmxkbWlhZCAgICAgICByMSEsIHtkNCwgZDUsIGQ2LCBkN307ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIHZsZG1pYS5mNjQgICAgICAgcjEhLCB7ZDQsIGQ1LCBkNiwgZDd9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAjIyBmaW5zdCAjI2QgIGQxMiwgZDQsIGQxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgZnN0bWlhZCAgICAgICByMCEsIHtkMTIsIGQxMywgZDE0LCBkMTV9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIHZzdG1pYS5mNjQgICAgICAgcjAhLCB7ZDEyLCBkMTMsIGQxNCwgZDE1fTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICBzdWJzICAgICAgICAgIGlwLCBpcCwgIzE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgYm5lICAgICAgICAgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIGZteHIgICAgICAgICAgZnBzY3IsIGxyOyAgICAgICAgICAgICAgICAvKiByZXN0b3JlIG9yaWdpbmFsIGZwc2NyICovICAgICAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfZW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgbGRtaWEgICAgICAgICBzcCEsIHtmcCwgcGN9OyAgICAgICAgLyogcmVjb3ZlcmluZyBmcm9tIHN0YWNrIGFuZCByZXR1cm4gKi8gICAKKysgICAgbGRtaWEgICAgICAgICBzcCEsIHtmcCwgcGN9OyAgICAgICAgLyogcmVjb3ZlcmluZyBmcm9tIHN0YWNrIGFuZCByZXR1cm4gKi8KKyAKKyBVTlJPTExfRjMyX1RFTVBMQVRFKHNjYWxhcmFkZF9mMzJfbnMsZmFkZCk7CisgVU5ST0xMX0Y2NF9URU1QTEFURShzY2FsYXJhZGRfZjY0X25zLGZhZGQpOworQEAgLTE5OCw3ICsxOTgsNyBAQCBVTlJPTExfRjY0X1RFTVBMQVRFKHNjYWxhcm11bHRpcGx5X2Y2NF9ucyxmbXVsKTsKKyAjdW5kZWYgVU5ST0xMX0YzMl9URU1QTEFURQorICN1bmRlZiBVTlJPTExfRjY0X1RFTVBMQVRFCisgCistLyogCisrLyoKKyAqKgorICoqIHZvaWQgdmZwX2Fic19mMzJfZjMyX25zKGZsb2F0ICpkLCBjb25zdCBmbG9hdCAqcywgaW50IG4pOworICoqIHZvaWQgdmZwX2Fic19mNjRfZjY0X25zKGRvdWJsZSAqZCwgY29uc3QgZG91YmxlICpzLCBpbnQgbik7CitAQCAtMjE1LDkgKzIxNSw5IEBAIFVOUk9MTF9GNjRfVEVNUExBVEUoc2NhbGFybXVsdGlwbHlfZjY0X25zLGZtdWwpOworICAgICBhbmRzICAgICAgICAgIGlwLCByMiwgIzc7ICAgICAgICAgICAgICAgLyogaXAgPSBuICUgOCAqLyAgICAgICAgICAgICAgICAgIFwKKyAgICAgYmVxICAgICAgICAgICB2ZnBfICMjIGZuYW1lICMjIF91bnJvbGw7IC8qIGlmIGlwID09IDAgZ290byBwcmVwX2xvb3AyICovICBcCisgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBmbGRtaWFzICAgICAgIHIxISwge3MwfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgIyMgZmluc3QgIyNzICBzMiwgczA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGZzdG1pYXMgICAgICAgcjAhLCB7czJ9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICB2bGRtaWEuZjMyICAgICAgIHIxISwge3MwfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgIyMgZmluc3QgIyMuZjMyICBzMiwgczA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIHZzdG1pYS5mMzIgICAgICAgcjAhLCB7czJ9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICBzdWJzICAgICAgICAgIGlwLCBpcCwgIzE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgYm5lICAgICAgICAgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICB2ZnBfICMjIGZuYW1lICMjIF91bnJvbGw6ICAgICAgICAgICAgICAgICAvKiB1bnJvbGwgYnkgOCAqLyAgICAgICAgICAgICAgICAgXAorQEAgLTIyOCwxNCArMjI4LDE0IEBAIFVOUk9MTF9GNjRfVEVNUExBVEUoc2NhbGFybXVsdGlwbHlfZjY0X25zLGZtdWwpOworICAgICBvcnIgICAgICAgICAgIGZwLCBsciwgZnAsIGxzbCAjMTY7ICAgICAgLyogc2V0IHZlY3RvciBsZW5naHQgdG8gOCAqLyAgICAgIFwKKyAgICAgZm14ciAgICAgICAgICBmcHNjciwgZnA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBmbGRtaWFzICAgICAgIHIxISwge3M4LCBzOSwgczEwLCBzMTEsIHMxMiwgczEzLCBzMTQsIHMxNX07ICAgICAgICAgICAgICAgIFwKKy0gICAgIyMgZmluc3QgIyNzICBzMjQsIHM4OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGZzdG1pYXMgICAgICAgcjAhLCB7czI0LCBzMjUsIHMyNiwgczI3LCBzMjgsIHMyOSwgczMwLCBzMzF9OyAgICAgICAgICAgICAgXAorKyAgICB2bGRtaWEuZjMyICAgICAgIHIxISwge3M4LCBzOSwgczEwLCBzMTEsIHMxMiwgczEzLCBzMTQsIHMxNX07ICAgICAgICAgICAgICAgIFwKKysgICAgIyMgZmluc3QgICMjLmYzMiBzMjQsIHM4OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIHZzdG1pYS5mMzIgICAgICAgcjAhLCB7czI0LCBzMjUsIHMyNiwgczI3LCBzMjgsIHMyOSwgczMwLCBzMzF9OyAgICAgICAgICAgICAgXAorICAgICBzdWJzICAgICAgICAgIGlwLCBpcCwgIzE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgYm5lICAgICAgICAgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIGZteHIgICAgICAgICAgZnBzY3IsIGxyOyAgICAgICAgICAgICAgICAvKiByZXN0b3JlIG9yaWdpbmFsIGZwc2NyICovICAgICAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfZW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgbGRtaWEgICAgICAgICBzcCEsIHtmcCwgcGN9OyAgICAgICAgLyogcmVjb3ZlcmluZyBmcm9tIHN0YWNrIGFuZCByZXR1cm4gKi8gICAKKysgICAgbGRtaWEgICAgICAgICBzcCEsIHtmcCwgcGN9OyAgICAgICAgLyogcmVjb3ZlcmluZyBmcm9tIHN0YWNrIGFuZCByZXR1cm4gKi8KKyAKKyAjZGVmaW5lIFVOUk9MTF9GNjRfVEVNUExBVEUoZm5hbWUsZmluc3QpIFwKKyAgIC5nbG9iYWwgdmZwXyAjIyBmbmFtZSAjIyA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCitAQCAtMjQ0LDkgKzI0NCw5IEBAIFVOUk9MTF9GNjRfVEVNUExBVEUoc2NhbGFybXVsdGlwbHlfZjY0X25zLGZtdWwpOworICAgICBhbmRzICAgICAgICAgIGlwLCByMiwgIzM7ICAgICAgICAgICAgICAgLyogaXAgPSBuICUgMyAqLyAgICAgICAgICAgICAgICAgIFwKKyAgICAgYmVxICAgICAgICAgICB2ZnBfICMjIGZuYW1lICMjIF91bnJvbGw7IC8qIGlmIGlwID09IDAgZ290byBwcmVwX2xvb3AyICovICBcCisgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBmbGRtaWFkICAgICAgIHIxISwge2QwfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgIyMgZmluc3QgIyNkICBkMiwgZDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGZzdG1pYWQgICAgICAgcjAhLCB7ZDJ9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICB2bGRtaWEuZjY0ICAgICAgIHIxISwge2QwfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgIyMgZmluc3QgICMjLmY2NCBkMiwgZDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIHZzdG1pYS5mNjQgICAgICAgcjAhLCB7ZDJ9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICBzdWJzICAgICAgICAgIGlwLCBpcCwgIzE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgYm5lICAgICAgICAgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICB2ZnBfICMjIGZuYW1lICMjIF91bnJvbGw6ICAgICAgICAgICAgICAgICAvKiB1bnJvbGwgYnkgNCAqLyAgICAgICAgICAgICAgICAgXAorQEAgLTI1NywyMCArMjU3LDIwIEBAIFVOUk9MTF9GNjRfVEVNUExBVEUoc2NhbGFybXVsdGlwbHlfZjY0X25zLGZtdWwpOworICAgICBvcnIgICAgICAgICAgIGZwLCBsciwgZnAsIGxzbCAjMTY7ICAgICAgLyogc2V0IHZlY3RvciBsZW5naHQgdG8gNCAqLyAgICAgIFwKKyAgICAgZm14ciAgICAgICAgICBmcHNjciwgZnA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBmbGRtaWFkICAgICAgIHIxISwge2Q0LCBkNSwgZDYsIGQ3fTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgIyMgZmluc3QgIyNkICBkMTIsIGQ0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGZzdG1pYWQgICAgICAgcjAhLCB7ZDEyLCBkMTMsIGQxNCwgZDE1fTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICB2bGRtaWEuZjY0ICAgICAgIHIxISwge2Q0LCBkNSwgZDYsIGQ3fTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgIyMgZmluc3QgICMjLmY2NCBkMTIsIGQ0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIHZzdG1pYS5mNjQgICAgICAgcjAhLCB7ZDEyLCBkMTMsIGQxNCwgZDE1fTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICBzdWJzICAgICAgICAgIGlwLCBpcCwgIzE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgYm5lICAgICAgICAgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIGZteHIgICAgICAgICAgZnBzY3IsIGxyOyAgICAgICAgICAgICAgICAvKiByZXN0b3JlIG9yaWdpbmFsIGZwc2NyICovICAgICAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfZW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgbGRtaWEgICAgICAgICBzcCEsIHtmcCwgcGN9OyAgICAgICAgLyogcmVjb3ZlcmluZyBmcm9tIHN0YWNrIGFuZCByZXR1cm4gKi8gICAKKysgICAgbGRtaWEgICAgICAgICBzcCEsIHtmcCwgcGN9OyAgICAgICAgLyogcmVjb3ZlcmluZyBmcm9tIHN0YWNrIGFuZCByZXR1cm4gKi8KKyAKKy1VTlJPTExfRjMyX1RFTVBMQVRFKGFic19mMzJfZjMyX25zLGZhYnMpOworLVVOUk9MTF9GNjRfVEVNUExBVEUoYWJzX2Y2NF9mNjRfbnMsZmFicyk7CisrVU5ST0xMX0YzMl9URU1QTEFURShhYnNfZjMyX2YzMl9ucyx2YWJzKTsKKytVTlJPTExfRjY0X1RFTVBMQVRFKGFic19mNjRfZjY0X25zLHZhYnMpOworIAorLVVOUk9MTF9GMzJfVEVNUExBVEUobmVnYXRpdmVfZjMyLGZuZWcpOworLVVOUk9MTF9GNjRfVEVNUExBVEUobmVnYXRpdmVfZjY0LGZuZWcpOworK1VOUk9MTF9GMzJfVEVNUExBVEUobmVnYXRpdmVfZjMyLHZuZWcpOworK1VOUk9MTF9GNjRfVEVNUExBVEUobmVnYXRpdmVfZjY0LHZuZWcpOworIAorICN1bmRlZiBVTlJPTExfRjMyX1RFTVBMQVRFCisgI3VuZGVmIFVOUk9MTF9GNjRfVEVNUExBVEUKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLXN1cHBvcnQvbGlib2lsL2xpYm9pbC0wLjMuMTcvZml4X3Jpc2N2X3VuYWxpZ25lZF9hY2Nlc3MucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm9pbC9saWJvaWwtMC4zLjE3L2ZpeF9yaXNjdl91bmFsaWduZWRfYWNjZXNzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0OGJkZTcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm9pbC9saWJvaWwtMC4zLjE3L2ZpeF9yaXNjdl91bmFsaWduZWRfYWNjZXNzLnBhdGNoCkBAIC0wLDAgKzEsMTUgQEAKK1JJU0MtViBzdXBwb3J0cyB1bmFsaWduZWQgYWNjZXNzZXMsIHRoZXJlZm9yZSBlbmFibGUgaXQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tIGEvbTQvYXMtdW5hbGlnbmVkLWFjY2Vzcy5tNAorKysrIGIvbTQvYXMtdW5hbGlnbmVkLWFjY2Vzcy5tNAorQEAgLTUsNyArNSw3IEBAIEFDX0RFRlVOKFtBU19VTkFMSUdORURfQUNDRVNTXSwgWworICAgQUNfTVNHX0NIRUNLSU5HKFtpZiB1bmFsaWduZWQgbWVtb3J5IGFjY2VzcyB3b3JrcyBjb3JyZWN0bHldKQorICAgaWYgdGVzdCB4IiRhc19jdl91bmFsaWduZWRfYWNjZXNzIiA9IHggOyB0aGVuCisgICAgIGNhc2UgJGhvc3QgaW4KKy0gICAgICBhbHBoYSp8YXJtKnxocCp8bWlwcyp8c2gqfHNwYXJjKnxpYTY0KikKKysgICAgICBhbHBoYSp8YXJtKnxocCp8bWlwcyp8cmlzY3YqfHNoKnxzcGFyYyp8aWE2NCopCisgICAgICAgICBfQVNfRUNIT19OKFsoYmxhY2tsaXN0ZWQpIF0pCisgICAgICAgICBhc19jdl91bmFsaWduZWRfYWNjZXNzPW5vCisgCTs7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm9pbC9saWJvaWxfMC4zLjE3LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtc3VwcG9ydC9saWJvaWwvbGlib2lsXzAuMy4xNy5iYgppbmRleCAwM2I3Nzg1Li42NTRlZTFlIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm9pbC9saWJvaWxfMC4zLjE3LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLXN1cHBvcnQvbGlib2lsL2xpYm9pbF8wLjMuMTcuYmIKQEAgLTE3LDcgKzE3LDkgQEAKICAgICAgICAgICAgZmlsZTovL2ZpeC11bmFsaWduZWQtd2hpdGVsaXN0LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWVuYWJsZS12ZnAtZmxhZy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9saWJvaWxfZml4X2Zvcl94MzIucGF0Y2ggXAotICAgICAgICAgICIKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbWF0aF92ZnBfYXNtLlMtQ29udmVydC1mbGRtaWEtZnN0bWlhLWluc3RydWN0aW9ucy10by5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9maXhfcmlzY3ZfdW5hbGlnbmVkX2FjY2Vzcy5wYXRjaCBcCisgICAgICAgICAgICIKIAogU1JDX1VSSVttZDVzdW1dID0gIjQ3ZGM3MzRmODJmYWViMjk2NGQ5Nzc3MWNmZDJlNzAxIgogU1JDX1VSSVtzaGEyNTZzdW1dID0gIjEwNWYwMjA3OWIwYjUwMDM0Yzc1OWRiMzRiNDczZWNiNTcwNGZmYTIwYTU0ODZiNjBhOGI3Njk4MTI4YmZjNjkiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvTUFJTlRBSU5FUlMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvTUFJTlRBSU5FUlMKaW5kZXggOTQ1ZWU4Ni4uNWM0YzRjZSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL01BSU5UQUlORVJTCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9NQUlOVEFJTkVSUwpAQCAtMiwxMiArMiwzOCBAQAogCiBQbGVhc2Ugc3VibWl0IGFueSBwYXRjaGVzIGFnYWluc3QgbWV0YS1uZXR3b3JraW5nIHRvIHRoZSBPcGVuRW1iZWRkZWQKIGRldmVsb3BtZW50IG1haWxpbmcgbGlzdCAob3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcpIHdpdGgKLSdbbWV0YS1uZXR3b3JraW5nXVt0aHVkXScgaW4gdGhlIHN1YmplY3QuCisnW21ldGEtbmV0d29ya2luZ10nIGluIHRoZSBzdWJqZWN0LgogCiBXaGVuIHNlbmRpbmcgc2luZ2xlIHBhdGNoZXMsIHBsZWFzZSB1c2Ugc29tZXRoaW5nIGxpa2U6CiAKICAgIGdpdCBzZW5kLWVtYWlsIC0xIC1NIFwKICAgICAgICAgLS10byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyBcCi0gICAgICAgIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1uZXR3b3JraW5nXVt0aHVkXVtQQVRDSAorICAgICAgICAtLXN1YmplY3QtcHJlZml4PW1ldGEtbmV0d29ya2luZ11bUEFUQ0gKIAotVGh1ZCBNYWludGFpbmVyOiAgICAgIEFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CitZb3UgbWF5IGFsc28gY29udGFjdCB0aGUgbWFpbnRhaW5lcnMgZGlyZWN0bHkuCisKK0Rlc2NyaXB0aW9ucyBvZiBzZWN0aW9uIGVudHJpZXM6CisKKyAgICAgICAgTTogTWFpbCBwYXRjaGVzIHRvOiBGdWxsTmFtZSA8YWRkcmVzc0Bkb21haW4+CisgICAgICAgIEY6IEZpbGVzIGFuZCBkaXJlY3RvcmllcyB3aXRoIHdpbGRjYXJkIHBhdHRlcm5zLgorICAgICAgICAgICBBIHRyYWlsaW5nIHNsYXNoIGluY2x1ZGVzIGFsbCBmaWxlcyBhbmQgc3ViZGlyZWN0b3J5IGZpbGVzLgorICAgICAgICAgICBGOiByZWNpcGVzLWRldnRvb2xzLyAgICBhbGwgZmlsZXMgaW4gYW5kIGJlbG93IHJlY2lwZXMtZGV2dG9vbHMKKyAgICAgICAgICAgRjogcmVjaXBlcy1zZWxpbnV4LyogICAgYWxsIGZpbGVzIGluIHJlY2lwZXMtc2VsaW51eCwgYnV0IG5vdCBiZWxvdworICAgICAgICAgICBPbmUgcGF0dGVybiBwZXIgbGluZS4gIE11bHRpcGxlIEY6IGxpbmVzIGFjY2VwdGFibGUuCisKK1BsZWFzZSBrZWVwIHRoaXMgbGlzdCBpbiBhbHBoYWJldGljYWwgb3JkZXIuCisKK01haW50YWluZXJzIExpc3QgKHRyeSB0byBsb29rIGZvciBtb3N0IHByZWNpc2UgYXJlYXMgZmlyc3QpCisKK0NPTU1PTgorTTogICAgICBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorTTogICAgICAiSm9lIE1hY0RvbmFsZCAoYmFja3VwKSIgPGpvZUBkZXNlcnRlZC5uZXQ+CitMOiAgICAgIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnCitROiAgICAgIGh0dHBzOi8vcGF0Y2h3b3JrLm9wZW5lbWJlZGRlZC5vcmcvcHJvamVjdC9vZS8KK1M6ICAgICAgTWFpbnRhaW5lZAorRjogICAgICBjb25mCitGOiAgICAgIHJlY2lwZXMtKgorCitORVRLSVQKK006ICAgICAgQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KK0Y6ICAgICAgcmVjaXBlcy1uZXRraXQKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9SRUFETUUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvUkVBRE1FCmluZGV4IDdhNGFjYTQuLmUxYmEyN2QgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9SRUFETUUKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL1JFQURNRQpAQCAtMTgsMTkgKzE4LDE5IEBACiBUaGlzIGxheWVyIGRlcGVuZHMgb246CiAKIFVSSTogZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuZW1iZWRkZWQvb3BlbmVtYmVkZGVkLWNvcmUuZ2l0Ci1icmFuY2g6IHRodWQKK2JyYW5jaDogbWFzdGVyCiByZXZpc2lvbjogSEVBRAogCiBGb3Igc29tZSByZWNpcGVzLCB0aGUgbWV0YS1vZSBsYXllciBpcyByZXF1aXJlZDoKIAogVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9tZXRhLW9wZW5lbWJlZGRlZC5naXQKIHN1YmRpcmVjdG9yeTogbWV0YS1vZQotYnJhbmNoOiB0aHVkCiticmFuY2g6IG1hc3RlcgogcmV2aXNpb246IEhFQUQKIAogVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9tZXRhLW9wZW5lbWJlZGRlZC5naXQKIHN1YmRpcmVjdG9yeTogbWV0YS1weXRob24KLWJyYW5jaDogdGh1ZAorYnJhbmNoOiBtYXN0ZXIKIHJldmlzaW9uOiBIRUFECiAKIE1haW50ZW5hbmNlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvY29uZi9sYXllci5jb25mIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2NvbmYvbGF5ZXIuY29uZgppbmRleCBkMzZmZjViLi42N2Y1OGJjIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvY29uZi9sYXllci5jb25mCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9jb25mL2xheWVyLmNvbmYKQEAgLTE3LDcgKzE3LDcgQEAKIExBWUVSREVQRU5EU19uZXR3b3JraW5nLWxheWVyICs9ICJvcGVuZW1iZWRkZWQtbGF5ZXIiCiBMQVlFUkRFUEVORFNfbmV0d29ya2luZy1sYXllciArPSAibWV0YS1weXRob24iCiAKLUxBWUVSU0VSSUVTX0NPTVBBVF9uZXR3b3JraW5nLWxheWVyID0gInRodWQiCitMQVlFUlNFUklFU19DT01QQVRfbmV0d29ya2luZy1sYXllciA9ICJ0aHVkIHdhcnJpb3IiCiAKIExJQ0VOU0VfUEFUSCArPSAiJHtMQVlFUkRJUn0vbGljZW5zZXMiCiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jaXZldHdlYi9jaXZldHdlYi8wMDAxLXVuZGVmaW5lLW1hY3JvLWJlZm9yZS1yZWRlZmluaW5nLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2NpdmV0d2ViL2NpdmV0d2ViLzAwMDEtdW5kZWZpbmUtbWFjcm8tYmVmb3JlLXJlZGVmaW5pbmcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2NTMzMDIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2NpdmV0d2ViL2NpdmV0d2ViLzAwMDEtdW5kZWZpbmUtbWFjcm8tYmVmb3JlLXJlZGVmaW5pbmcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1Gcm9tIDU5ZjY1MjM1YTdhNjkwZjUwZDE2ODZlOTk3NzkwOGMwNTM2OTdkOGMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVHVlLCAyOCBBdWcgMjAxOCAyMjo1OToxMyAtMDcwMAotU3ViamVjdDogW1BBVENIXSB1bmRlZmluZSBtYWNybyBiZWZvcmUgcmVkZWZpbmluZwotCi1GaXhlcwotc3JjL21haW4uYzo4OTo5OiBlcnJvcjogJ3ByaW50ZicgbWFjcm8gcmVkZWZpbmVkIFstV2Vycm9yLC1XbWFjcm8tcmVkZWZpbmVkXQotCi1VcHN0cmVhbS1TdGF0czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vY2l2ZXR3ZWIvY2l2ZXR3ZWIvcHVsbC82NDldCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gc3JjL21haW4uYyB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL21haW4uYyBiL3NyYy9tYWluLmMKLWluZGV4IGJiY2IwYWVjLi4wMTE5MWEzYyAxMDA2NDQKLS0tLSBhL3NyYy9tYWluLmMKLSsrKyBiL3NyYy9tYWluLmMKLUBAIC04Niw2ICs4Niw3IEBACi0gCi0gI2luY2x1ZGUgImNpdmV0d2ViLmgiCi0gCi0rI3VuZGVmIHByaW50ZgotICNkZWZpbmUgcHJpbnRmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gCURPX05PVF9VU0VfVEhJU19GVU5DVElPTl9fVVNFX2ZwcmludGYgLyogUmVxdWlyZWQgZm9yIHVuaXQgdGVzdGluZyAqLwotIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2NpdmV0d2ViL2NpdmV0d2ViX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jaXZldHdlYi9jaXZldHdlYl9naXQuYmIKaW5kZXggZDY4MWY3Zi4uYzhmZTI0YyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2NpdmV0d2ViL2NpdmV0d2ViX2dpdC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvY2l2ZXR3ZWIvY2l2ZXR3ZWJfZ2l0LmJiCkBAIC00LDExICs0LDEwIEBACiBMSUNFTlNFID0gIk1JVCIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UubWQ7bWQ1PTZmMjhmZGNiYTBkZGE3MzVlZWQ2MmJhYzZhMzk3NTYyIgogCi1TUkNSRVYgPSAiMTlmMzFiYThkZDg0NDNlODZjNzAyOGE0YjRjMzdmNGIyOTlhYTY4YyIKLVBWID0gIjEuMTArZ2l0JHtTUkNQVn0iCitTUkNSRVYgPSAiY2U4ZjZkMzhhNjBlYjE2Yzk5NmFmZWUxZTUzNDBmNzZlZjRkMDkyMyIKK1BWID0gIjEuMTErZ2l0JHtTUkNQVn0iCiBTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vY2l2ZXR3ZWIvY2l2ZXR3ZWIuZ2l0IFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtVW5pdHRlc3QtTGluay1saWJydC1hbmQtbGlibS11c2luZy1sLW9wdGlvbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXVuZGVmaW5lLW1hY3JvLWJlZm9yZS1yZWRlZmluaW5nLnBhdGNoIFwKICAgICAgICAgICAgIgogCiBTID0gIiR7V09SS0RJUn0vZ2l0IgpAQCAtMzYsNyArMzUsNyBAQAogUEFDS0FHRUNPTkZJR1tjcHBdID0gIi1EQ0lWRVRXRUJfRU5BQkxFX0NYWD1PTiwtRENJVkVUV0VCX0VOQUJMRV9DWFg9T0ZGLCIKIFBBQ0tBR0VDT05GSUdbZGVidWddID0gIi1EQ0lWRVRXRUJfRU5BQkxFX01FTU9SWV9ERUJVR0dJTkc9T04sLURDSVZFVFdFQl9FTkFCTEVfTUVNT1JZX0RFQlVHR0lORz1PRkYsIgogUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItRENJVkVUV0VCX0VOQUJMRV9JUFY2PU9OLC1EQ0lWRVRXRUJfRU5BQkxFX0lQVjY9T0ZGLCIKLVBBQ0tBR0VDT05GSUdbc2VydmVyXSA9ICItRENJVkVUV0VCX0lOU1RBTExfRVhFQ1VUQUJMRT1PTiwtRENJVkVUV0VCX0lOU1RBTExfRVhFQ1VUQUJMRT1PRkYsIgorUEFDS0FHRUNPTkZJR1tzZXJ2ZXJdID0gIi1EQ0lWRVRXRUJfRU5BQkxFX1NFUlZFUl9FWEVDVVRBQkxFPU9OIC1EQ0lWRVRXRUJfSU5TVEFMTF9FWEVDVVRBQkxFPU9OLC1EQ0lWRVRXRUJfRU5BQkxFX1NFUlZFUl9FWEVDVVRBQkxFPU9GRiAtRENJVkVUV0VCX0lOU1RBTExfRVhFQ1VUQUJMRT1PRkYsIgogUEFDS0FHRUNPTkZJR1tzc2xdID0gIi1EQ0lWRVRXRUJfRU5BQkxFX1NTTD1PTiAtRENJVkVUV0VCX1NTTF9PUEVOU1NMX0FQSV8xXzE9T0ZGIC1EQ0lWRVRXRUJfRU5BQkxFX1NTTF9EWU5BTUlDX0xPQURJTkc9T0ZGLC1EQ0lWRVRXRUJfRU5BQkxFX1NTTD1PRkYsb3BlbnNzbCAoPTEuMC4yJSksIgogUEFDS0FHRUNPTkZJR1t3ZWJzb2NrZXRzXSA9ICItRENJVkVUV0VCX0VOQUJMRV9XRUJTT0NLRVRTPU9OLC1EQ0lWRVRXRUJfRU5BQkxFX1dFQlNPQ0tFVFM9T0ZGLCIKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2NyZGEvY3JkYV8zLjE4LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2NyZGEvY3JkYV8zLjE4LmJiCmluZGV4IGQ1ZDJhYjYuLmM5MzkwNWUgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jcmRhL2NyZGFfMy4xOC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvY3JkYS9jcmRhXzMuMTguYmIKQEAgLTQsMTAgKzQsNyBAQAogTElDRU5TRSA9ICJjb3B5bGVmdC1uZXh0LTAuMy4wIgogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vY29weWxlZnQtbmV4dC0wLjMuMDttZDU9ODc0M2EyYzM1OTAzN2Q0ZDMyOWEzMWU3OWVhYmVmZmUiCiAKLURFUEVORFMgPSAicHl0aG9uLW0yY3J5cHRvLW5hdGl2ZSBweXRob24tdHlwaW5nLW5hdGl2ZSBweXRob24tbmF0aXZlIGxpYm5sIFwKLSAgICAgICAgICAgJHtAb2UudXRpbHMuY29uZGl0aW9uYWwoIkRFRkFVTFRfQ1JZUFQiLCAiZ2NyeXB0IiwgImxpYmdjcnlwdCIsICIiLCBkKX0gXAotICAgICAgICAgICAke0BvZS51dGlscy5jb25kaXRpb25hbCgiREVGQVVMVF9DUllQVCIsICJvcGVuc3NsIiwgIm9wZW5zc2wxMCIsICIiLCBkKX0gXAotICAgICAgICAgICIKK0RFUEVORFMgPSAicHl0aG9uLW0yY3J5cHRvLW5hdGl2ZSBweXRob24tdHlwaW5nLW5hdGl2ZSBweXRob24tbmF0aXZlIGxpYm5sIGxpYmdjcnlwdCIKIAogU1JDX1VSSSA9ICJodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9zb2Z0d2FyZS9uZXR3b3JrLyR7QlBOfS8ke0JQfS50YXIueHogXAogICAgICAgICAgICBmaWxlOi8vZG8tbm90LXJ1bi1sZGNvbmZpZy1pZi1kZXN0ZGlyLWlzLXNldC5wYXRjaCBcCkBAIC0yMywxMyArMjAsOSBAQAogCiBpbmhlcml0IHB5dGhvbi1kaXIgcHl0aG9ubmF0aXZlIHNpdGVpbmZvCiAKLSMgImdjcnlwdCIgb3IgIm9wZW5zc2wiCi1ERUZBVUxUX0NSWVBUID8/PSAiZ2NyeXB0IgotCiAjIFJlY3Vyc2l2ZSBtYWtlIHByb2JsZW0KIEVYVFJBX09FTUFLRSA9ICJNQUtFRkxBR1M9IERFU1RESVI9JHtEfSBMSUJESVI9JHtsaWJkaXJ9L2NyZGEgTERMSUJSRUc9Jy1XbCwtcnBhdGgsJHtsaWJkaXJ9L2NyZGEgLWxyZWcnIFwKICAgICAgICAgICAgICAgICBVREVWX1JVTEVfRElSPSR7bm9uYXJjaF9saWJkaXJ9L3VkZXYvcnVsZXMuZC8iCi1FWFRSQV9PRU1BS0VfYXBwZW5kID0gIiAke0BvZS51dGlscy5jb25kaXRpb25hbCgiREVGQVVMVF9DUllQVCIsICJvcGVuc3NsIiwgIlVTRV9PUEVOU1NMPTEiLCAiIiwgZCl9IgogVEFSR0VUX0JJVFMgPSAiJHtTSVRFSU5GT19CSVRTfSIKIGV4cG9ydCBUQVJHRVRfQklUUwogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGhjcGNkL2RoY3BjZF82LjExLjUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGhjcGNkL2RoY3BjZF82LjExLjUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg4NWM2YzAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3BjZC9kaGNwY2RfNi4xMS41LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCi1TVU1NQVJZID0gImRoY3BjZCAtIGEgREhDUCBjbGllbnQiCi1ERVNDUklQVElPTiA9ICJkaGNwY2QgcnVucyBvbiB5b3VyIG1hY2hpbmUgYW5kIHNpbGVudGx5IGNvbmZpZ3VyZXMgeW91ciBjb21wdXRlciB0byB3b3JrIG9uIHRoZSBhdHRhY2hlZCBuZXR3b3JrcyB3aXRob3V0IHRyb3VibGUgYW5kIG1vc3RseSB3aXRob3V0IGNvbmZpZ3VyYXRpb24uIgotCi1IT01FUEFHRSA9ICJodHRwOi8vcm95Lm1hcnBsZXMubmFtZS9wcm9qZWN0cy9kaGNwY2QvIgotCi1MSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RoY3BjZC5jO2VuZGxpbmU9MjY7bWQ1PTc3YzQwZDY3MWFmZjgwNGNhOTFlYTk5NTU2ZGE4ZTliIgotCi1TUkNfVVJJID0gImh0dHA6Ly9yb3kubWFycGxlcy5uYW1lL2Rvd25sb2Fkcy8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci54eiIKLQotU1JDX1VSSVttZDVzdW1dID0gIjI0NjU2MjRiNjJjMTE1NGYwZTg5ZGM2OWM0MmM4NDliIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZmOTY3NGRjN2UyN2U5MzZjYzc4NzE3NTQwNGE2MTcxNjE4Njc1ZWNmYjY5MDNhYjk4ODdiMWI2NmE4N2Q2OWUiCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAotCi1QQUNLQUdFQ09ORklHID89ICJ1ZGV2ICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0iCi0KLVBBQ0tBR0VDT05GSUdbdWRldl0gPSAiLS13aXRoLXVkZXYsLS13aXRob3V0LXVkZXYsdWRldix1ZGV2IgotUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2IgotCi1FWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtaXB2NCIKLQotRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZGhjcGNkL2Rldi8uZGVidWciCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGhjcGNkL2RoY3BjZF83LjAuOC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kaGNwY2QvZGhjcGNkXzcuMC44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0YzNkYjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGhjcGNkL2RoY3BjZF83LjAuOC5iYgpAQCAtMCwwICsxLDI2IEBACitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKK1NVTU1BUlkgPSAiZGhjcGNkIC0gYSBESENQIGNsaWVudCIKK0RFU0NSSVBUSU9OID0gImRoY3BjZCBydW5zIG9uIHlvdXIgbWFjaGluZSBhbmQgc2lsZW50bHkgY29uZmlndXJlcyB5b3VyIGNvbXB1dGVyIHRvIHdvcmsgb24gdGhlIGF0dGFjaGVkIG5ldHdvcmtzIHdpdGhvdXQgdHJvdWJsZSBhbmQgbW9zdGx5IHdpdGhvdXQgY29uZmlndXJhdGlvbi4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly9yb3kubWFycGxlcy5uYW1lL3Byb2plY3RzL2RoY3BjZC8iCisKK0xJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MWU4ZjE3ZTRlZGNjY2MzODE1MmNjZjYwMzc0ZTBmODkiCisKK1NSQ19VUkkgPSAiaHR0cDovL3JveS5tYXJwbGVzLm5hbWUvZG93bmxvYWRzLyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLnh6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiNzdiYmIxZDczYjZmMzBkNmRkY2M4YjBmZDNlYWUyNjYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTY5NjhlODgzMzY5YWI0YWZkMTFlYmE5ZGZkOWJiMTA5ZjVkZmZmNjViMjgxNGNlNmM0MzJmMzYzNjJkYzliNSIKKworU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtcmVtb3ZlLUlOQ0xVREVESVItdG8tcHJldmVudC1idWlsZC1pc3N1ZXMucGF0Y2giCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCitQQUNLQUdFQ09ORklHID89ICJ1ZGV2ICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0iCisKK1BBQ0tBR0VDT05GSUdbdWRldl0gPSAiLS13aXRoLXVkZXYsLS13aXRob3V0LXVkZXYsdWRldix1ZGV2IgorUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2IgorCitFWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtaXB2NCIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZGhjcGNkL2Rldi8uZGVidWciCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGhjcGNkL2ZpbGVzLzAwMDEtcmVtb3ZlLUlOQ0xVREVESVItdG8tcHJldmVudC1idWlsZC1pc3N1ZXMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGhjcGNkL2ZpbGVzLzAwMDEtcmVtb3ZlLUlOQ0xVREVESVItdG8tcHJldmVudC1idWlsZC1pc3N1ZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzdkMjM0NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kaGNwY2QvZmlsZXMvMDAwMS1yZW1vdmUtSU5DTFVERURJUi10by1wcmV2ZW50LWJ1aWxkLWlzc3Vlcy5wYXRjaApAQCAtMCwwICsxLDQ1IEBACitGcm9tIGFhOWUzOTgyYzFlNzVhZDQ5OTQ1YTYyZjVlMjYyMjc5YzdhOTA1YTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBTdGVmYW5vIENhcHBhIDxzdGVmYW5vLmNhcHBhLmtzODlAZ21haWwuY29tPgorRGF0ZTogU3VuLCAxMyBKYW4gMjAxOSAwMTo1MDo1MiArMDEwMAorU3ViamVjdDogW1BBVENIXSByZW1vdmUgSU5DTFVERURJUiB0byBwcmV2ZW50IGJ1aWxkIGlzc3VlcworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogU3RlZmFubyBDYXBwYSA8c3RlZmFuby5jYXBwYS5rczg5QGdtYWlsLmNvbT4KKy0tLQorIGNvbmZpZ3VyZSB8IDUgLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQoraW5kZXggNmM4MWUwZGIuLjMyZGVhMmI0IDEwMDc1NQorLS0tIGEvY29uZmlndXJlCisrKysgYi9jb25maWd1cmUKK0BAIC0yMCw3ICsyMCw2IEBAIEJVSUxEPQorIEhPU1Q9CisgSE9TVENDPQorIFRBUkdFVD0KKy1JTkNMVURFRElSPQorIERFQlVHPQorIEZPUks9CisgU1RBVElDPQorQEAgLTcyLDcgKzcxLDYgQEAgZm9yIHggZG8KKyAJLS1tYW5kaXIpIE1BTkRJUj0kdmFyOzsKKyAJLS1kYXRhZGlyKSBEQVRBRElSPSR2YXI7OworIAktLXdpdGgtY2NvcHRzfENGTEFHUykgQ0ZMQUdTPSR2YXI7OworLQktSXwtLWluY2x1ZGVkaXIpIElOQ0xVREVESVI9IiRJTkNMVURFRElSJHtJTkNMVURFRElSOisgfS1JJHZhciI7OworIAlDQykgQ0M9JHZhcjs7CisgCUNQUEZMQUdTKSBDUFBGTEFHUz0kdmFyOzsKKyAJUEtHX0NPTkZJRykgUEtHX0NPTkZJRz0kdmFyOzsKK0BAIC0zMDksOSArMzA3LDYgQEAgaWYgWyAtbiAiJENQUEZMQUdTIiBdOyB0aGVuCisgCWVjaG8gIkNQUEZMQUdTPSIgPj4kQ09ORklHX01LCisgCWVjaG8gIkNQUEZMQUdTKz0JJENQUEZMQUdTIiA+PiRDT05GSUdfTUsKKyBmaQorLWlmIFsgLW4gIiRJTkNMVURFRElSIiBdOyB0aGVuCistCWVjaG8gIkNQUEZMQUdTKz0JJElOQ0xVREVESVIiID4+JENPTkZJR19NSworLWZpCisgaWYgWyAtbiAiJExERkxBR1MiIF07IHRoZW4KKyAJZWNobyAiTERGTEFHUz0iID4+JENPTkZJR19NSworIAllY2hvICJMREZMQUdTKz0JJExERkxBR1MiID4+JENPTkZJR19NSworLS0gCisyLjE3LjIgKEFwcGxlIEdpdC0xMTMpCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kaWJibGVyL2RpYmJsZXIvMDAwMS1saW51eC1wb3J0LVJlbmFtZS1wdGhyZWFkX211dGV4X3QtdmFyaWFibGUtbG9jay5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kaWJibGVyL2RpYmJsZXIvMDAwMS1saW51eC1wb3J0LVJlbmFtZS1wdGhyZWFkX211dGV4X3QtdmFyaWFibGUtbG9jay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNDZhNTZhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RpYmJsZXIvZGliYmxlci8wMDAxLWxpbnV4LXBvcnQtUmVuYW1lLXB0aHJlYWRfbXV0ZXhfdC12YXJpYWJsZS1sb2NrLnBhdGNoCkBAIC0wLDAgKzEsNzQgQEAKK0Zyb20gNjMwMDg2Y2YxYjNmYmE3MTgyMjMxOWEyNjhkMzcxMTczNGNkNmFhOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUaHUsIDMxIEphbiAyMDE5IDEyOjU2OjEzIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGxpbnV4LXBvcnQ6IFJlbmFtZSBwdGhyZWFkX211dGV4X3QgdmFyaWFibGUgJ2xvY2snCisKK2xvY2sgaXMgYWxzbyB1c2VkIGJ5IGxpYmMrKyBpbiBzdGQgbmFtZXNwYWNlIGFuZCB1c2luZyBpdCBoZXJlIGNhdXNlcworY2xhbmcgdG8gZmFpbCBlLmcuCisKK2RpYmJsZXItY2xpZW50LmNwcDo0NzoyNTogZXJyb3I6IHJlZmVyZW5jZSB0byAnbG9jaycgaXMgYW1iaWd1b3VzCisgICAgcHRocmVhZF9tdXRleF9sb2NrKCZsb2NrKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4uLy4uLy4uLy4uLy4uLy4uLy4uL3dvcmtzcGFjZS9zb3VyY2VzL2RpYmJsZXIvUG9ydC1saW51eC9kaWJibGVyLWNsaWVudC5jcHA6Mjk6MjY6IG5vdGU6IGNhbmRpZGF0ZSBmb3VuZCBieSBuYW1lIGxvb2t1cCBpcyAnbG9jaycKK2V4dGVybiA6OnB0aHJlYWRfbXV0ZXhfdCBsb2NrOworICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy9tbnQvYS95b2UvYnVpbGQvdG1wL3dvcmsvYWFyY2g2NC15b2UtbGludXgvZGliYmxlci8xLjAuMSsxLjAuMlJDMStnaXRjNGIwZWQ1MmU3NTFkYTc4MjNkZDlhMzZlOTFmOTNhNjMxMGU1NTI1LXIwL3JlY2lwZS1zeXNyb290L3Vzci9pbmNsdWRlL2MrKy92MS9tdXRleDo0NDY6MTogbm90ZTogY2FuZGlkYXRlIGZvdW5kIGJ5IG5hbWUgbG9va3VwIGlzICdzdGQ6Ol9fMTo6bG9jaycKK2xvY2soX0wwJiBfX2wwLCBfTDEmIF9fbDEsIF9MMiYgX19sMiwgX0wzJiAuLi5fX2wzKQorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL3RvbWFzem1ydWdhbHNraS9kaWJibGVyL3B1bGwvMzddCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBQb3J0LWxpbnV4L2RpYmJsZXItY2xpZW50LmNwcCAgICAgICAgICB8IDYgKysrLS0tCisgUG9ydC1saW51eC9sb3dsZXZlbC1saW51eC1saW5rLXN0YXRlLmMgfCA2ICsrKy0tLQorIDIgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvUG9ydC1saW51eC9kaWJibGVyLWNsaWVudC5jcHAgYi9Qb3J0LWxpbnV4L2RpYmJsZXItY2xpZW50LmNwcAoraW5kZXggNzhmMzQyNDEuLmI1ZWJiOWYwIDEwMDY0NAorLS0tIGEvUG9ydC1saW51eC9kaWJibGVyLWNsaWVudC5jcHAKKysrKyBiL1BvcnQtbGludXgvZGliYmxlci1jbGllbnQuY3BwCitAQCAtMjYsNyArMjYsNyBAQCB1c2luZyBuYW1lc3BhY2Ugc3RkOworIAorICNkZWZpbmUgSUZfUkVDT05ORUNURURfREVURUNURUQgLTEKKyAKKy1leHRlcm4gcHRocmVhZF9tdXRleF90IGxvY2s7CisrZXh0ZXJuIHB0aHJlYWRfbXV0ZXhfdCBkaWJibGVyX2xvY2s7CisgCisgVERIQ1BDbGllbnQqIHB0ciA9IDA7CisgCitAQCAtNDQsOCArNDQsOCBAQCB2b2lkIHNpZ25hbF9oYW5kbGVyKGludCBuKSB7CisgI2lmZGVmIE1PRF9DTE5UX0NPTkZJUk0KKyB2b2lkIHNpZ25hbF9oYW5kbGVyX29mX2xpbmtzdGF0ZV9jaGFuZ2UoaW50IG4pIHsKKyAgICAgTG9nKE5vdGljZSkgPDwgIk5ldHdvcmsgc3dpdGNoIG9mZiBldmVudCBkZXRlY3RlZC4gaW5pdGlhdGluZyBDT05GSVJNLiIgPDwgTG9nRW5kOworLSAgICBwdGhyZWFkX211dGV4X2xvY2soJmxvY2spOworLSAgICBwdGhyZWFkX211dGV4X3VubG9jaygmbG9jayk7CisrICAgIHB0aHJlYWRfbXV0ZXhfbG9jaygmZGliYmxlcl9sb2NrKTsKKysgICAgcHRocmVhZF9tdXRleF91bmxvY2soJmRpYmJsZXJfbG9jayk7CisgfQorICNlbmRpZgorIAorZGlmZiAtLWdpdCBhL1BvcnQtbGludXgvbG93bGV2ZWwtbGludXgtbGluay1zdGF0ZS5jIGIvUG9ydC1saW51eC9sb3dsZXZlbC1saW51eC1saW5rLXN0YXRlLmMKK2luZGV4IDc2MjkzZWExLi5lNmI5NDA2MyAxMDA2NDQKKy0tLSBhL1BvcnQtbGludXgvbG93bGV2ZWwtbGludXgtbGluay1zdGF0ZS5jCisrKysgYi9Qb3J0LWxpbnV4L2xvd2xldmVsLWxpbnV4LWxpbmstc3RhdGUuYworQEAgLTM0LDcgKzM0LDcgQEAgdm9sYXRpbGUgaW50ICogbm90aWZpZXIgPSAwOworIGludCBpc0RvbmUgPSAwOworIHB0aHJlYWRfdCBwYXJlbnRfaWQ7CisgcHRocmVhZF90IG50aWQ7CistcHRocmVhZF9tdXRleF90IGxvY2s7CisrcHRocmVhZF9tdXRleF90IGRpYmJsZXJfbG9jazsKKyAKKyBzdHJ1Y3Qgc3RhdGUgeworICAgICBpbnQgaWQ7CitAQCAtODYsOSArODYsOSBAQCB2b2lkIGxpbmtfc3RhdGVfY2hhbmdlZChpbnQgaWZpbmRleCkKKyAgICAgeworIAlpZiAoY2hhbmdlZF9saW5rcy0+Y250PDE2KQorIAkgICAgY2hhbmdlZF9saW5rcy0+aWZpbmRleFtjaGFuZ2VkX2xpbmtzLT5jbnQrK10gPSBpZmluZGV4OworLQlwdGhyZWFkX211dGV4X2xvY2soJmxvY2spOworKwlwdGhyZWFkX211dGV4X2xvY2soJmRpYmJsZXJfbG9jayk7CisgCSpub3RpZmllciA9IDE7IC8qIG5vdGlmeSB0aGF0IGNoYW5nZSBoYXMgb2NjdXJlZCAqLworLQlwdGhyZWFkX211dGV4X3VubG9jaygmbG9jayk7CisrCXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZkaWJibGVyX2xvY2spOworIAlwdGhyZWFkX2tpbGwocGFyZW50X2lkLFNJR1VTUjEpOworICAgICB9IGVsc2UKKyAgICAgewpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RpYmJsZXIvZGliYmxlcl9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGliYmxlci9kaWJibGVyX2dpdC5iYgppbmRleCA4ODkwZTE0Li45MDA1MWEzIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGliYmxlci9kaWJibGVyX2dpdC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGliYmxlci9kaWJibGVyX2dpdC5iYgpAQCAtOSw3ICs5LDggQEAKIAogU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3RvbWFzem1ydWdhbHNraS9kaWJibGVyIFwKICAgICAgICAgICAgZmlsZTovL2RpYmJsZXJfZml4X2dldFNpemVfY3Jhc2gucGF0Y2ggXAotICAgICAgICAgICIKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbGludXgtcG9ydC1SZW5hbWUtcHRocmVhZF9tdXRleF90LXZhcmlhYmxlLWxvY2sucGF0Y2ggXAorICAgICAgICAgICAiCiBQViA9ICIxLjAuMSsxLjAuMlJDMStnaXQke1NSQ1JFVn0iCiAKIFMgPSAiJHtXT1JLRElSfS9naXQiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZmlyZXdhbGxkL2ZpbGVzLzAwMDEtZml4LWJ1aWxkaW5nLWluLWEtc2VwYXJhdGUtZGlyZWN0b3J5LW91dHNpZGUtdGhlLXNvdS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9maXJld2FsbGQvZmlsZXMvMDAwMS1maXgtYnVpbGRpbmctaW4tYS1zZXBhcmF0ZS1kaXJlY3Rvcnktb3V0c2lkZS10aGUtc291LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmMzRmZjIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZmlyZXdhbGxkL2ZpbGVzLzAwMDEtZml4LWJ1aWxkaW5nLWluLWEtc2VwYXJhdGUtZGlyZWN0b3J5LW91dHNpZGUtdGhlLXNvdS5wYXRjaApAQCAtMCwwICsxLDc3IEBACitmaXJld2FsbGQ6IGZpeCBidWlsZGluZyBpbiBhIHNlcGFyYXRlIGRpcmVjdG9yeSBvdXRzaWRlIHRoZSBzb3VyY2UgdHJlZQorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL2ZpcmV3YWxsZC9maXJld2FsbGQvcHVsbC80NTZdCitTaWduZWQtb2ZmLWJ5OiBEYW4gQ2FsbGFnaGFuIDxkYW4uY2FsbGFnaGFuQG9wZW5nZWFyLmNvbT4KKworZGlmZiAtLWdpdCBhL2NvbmZpZy9NYWtlZmlsZS5hbSBiL2NvbmZpZy9NYWtlZmlsZS5hbQoraW5kZXggNzA0OGQyZWUuLjUyNzBkNDA4IDEwMDY0NAorLS0tIGEvY29uZmlnL01ha2VmaWxlLmFtCisrKysgYi9jb25maWcvTWFrZWZpbGUuYW0KK0BAIC0zNzcsMTEgKzM3NywxMSBAQCBpbnN0YWxsLWNvbmZpZzoKKyAJJChNS0RJUl9QKSAkKERFU1RESVIpJChzY29uZmRpcikvem9uZXMKKyAJJChNS0RJUl9QKSAkKERFU1RESVIpJChzY29uZmRpcikvaGVscGVycworIAkkKE1LRElSX1ApICQoREVTVERJUikkKHByZWZpeGxpYmRpcikKKy0JY3AgLXIgaWNtcHR5cGVzICQoREVTVERJUikkKHByZWZpeGxpYmRpcikKKy0JY3AgLXIgaXBzZXRzICQoREVTVERJUikkKHByZWZpeGxpYmRpcikKKy0JY3AgLXIgc2VydmljZXMgJChERVNURElSKSQocHJlZml4bGliZGlyKQorLQljcCAtciB6b25lcyAkKERFU1RESVIpJChwcmVmaXhsaWJkaXIpCistCWNwIC1yIGhlbHBlcnMgJChERVNURElSKSQocHJlZml4bGliZGlyKQorKwljcCAtciAkKHNyY2RpcikvaWNtcHR5cGVzICQoREVTVERJUikkKHByZWZpeGxpYmRpcikKKysJY3AgLXIgJChzcmNkaXIpL2lwc2V0cyAkKERFU1RESVIpJChwcmVmaXhsaWJkaXIpCisrCWNwIC1yICQoc3JjZGlyKS9zZXJ2aWNlcyAkKERFU1RESVIpJChwcmVmaXhsaWJkaXIpCisrCWNwIC1yICQoc3JjZGlyKS96b25lcyAkKERFU1RESVIpJChwcmVmaXhsaWJkaXIpCisrCWNwIC1yICQoc3JjZGlyKS9oZWxwZXJzICQoREVTVERJUikkKHByZWZpeGxpYmRpcikKKyAKKyB1bmluc3RhbGwtY29uZmlnOgorIAlybWRpciAkKERFU1RESVIpJChzY29uZmRpcikvaWNtcHR5cGVzCitkaWZmIC0tZ2l0IGEvZG9jL3htbC9NYWtlZmlsZS5hbSBiL2RvYy94bWwvTWFrZWZpbGUuYW0KK2luZGV4IDhjOTNhYjljLi5kMDMxM2UzZSAxMDA2NDQKKy0tLSBhL2RvYy94bWwvTWFrZWZpbGUuYW0KKysrKyBiL2RvYy94bWwvTWFrZWZpbGUuYW0KK0BAIC02OSw3ICs2OSw4IEBAIGVkaXQgPSBzZWQgXAorIAktZSAnc3xcQFBSRUZJWFxAfCQocHJlZml4KXwnIFwKKyAJLWUgJ3N8XEBTWVNDT05GRElSXEB8JChzeXNjb25mZGlyKXwnIFwKKyAJLWUgJ3N8XEBQQUNLQUdFX1NUUklOR1xAfCQoUEFDS0FHRV9TVFJJTkcpfCcgXAorLQktZSAnc3xcQElGQ0ZHRElSXEB8JChJRkNGR0RJUil8JworKwktZSAnc3xcQElGQ0ZHRElSXEB8JChJRkNGR0RJUil8JyBcCisrCS1lICdzfEBTUkNESVJAfCQoc3JjZGlyKXwnCisgCisgdHJhbnNmb3JtLW1hbi54c2w6IHRyYW5zZm9ybS1tYW4ueHNsLmluCisgCSQoZWRpdCkgJDwgPiRACitkaWZmIC0tZ2l0IGEvZG9jL3htbC9maXJld2FsbC1jbWQueG1sLmluIGIvZG9jL3htbC9maXJld2FsbC1jbWQueG1sLmluCitpbmRleCBjMjYwNjU1My4uMjRkNzc4NTggMTAwNjQ0CistLS0gYS9kb2MveG1sL2ZpcmV3YWxsLWNtZC54bWwuaW4KKysrKyBiL2RvYy94bWwvZmlyZXdhbGwtY21kLnhtbC5pbgorQEAgLTEsOSArMSw5IEBACisgPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKyA8IURPQ1RZUEUgcmVmZW50cnkgUFVCTElDICItLy9PQVNJUy8vRFREIERvY0Jvb2sgWE1MIFY0LjIvL0VOIiAiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjIvZG9jYm9va3guZHRkIgorIFsKKy08IUVOVElUWSBhdXRob3JzIFNZU1RFTSAiYXV0aG9ycy54bWwiPgorLTwhRU5USVRZIHNlZWFsc28gU1lTVEVNICJzZWVhbHNvLnhtbCI+CistPCFFTlRJVFkgbm90ZXMgU1lTVEVNICJub3Rlcy54bWwiPgorKzwhRU5USVRZIGF1dGhvcnMgU1lTVEVNICJAU1JDRElSQC9hdXRob3JzLnhtbCI+CisrPCFFTlRJVFkgc2VlYWxzbyBTWVNURU0gIkBTUkNESVJAL3NlZWFsc28ueG1sIj4KKys8IUVOVElUWSBub3RlcyBTWVNURU0gIkBTUkNESVJAL25vdGVzLnhtbCI+CisgPCFFTlRJVFkgZXJyb3Jjb2RlcyBTWVNURU0gImVycm9yY29kZXMueG1sIj4KKyBdPgorIAorZGlmZiAtLWdpdCBhL2RvYy94bWwvZmlyZXdhbGxkLnhtbC5pbiBiL2RvYy94bWwvZmlyZXdhbGxkLnhtbC5pbgoraW5kZXggZGU4MDIwNTkuLjNkMzE5YjA0IDEwMDY0NAorLS0tIGEvZG9jL3htbC9maXJld2FsbGQueG1sLmluCisrKysgYi9kb2MveG1sL2ZpcmV3YWxsZC54bWwuaW4KK0BAIC0xLDkgKzEsOSBAQAorIDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+CisgPCFET0NUWVBFIHJlZmVudHJ5IFBVQkxJQyAiLS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBWNC4yLy9FTiIgImh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4yL2RvY2Jvb2t4LmR0ZCIKKyBbCistPCFFTlRJVFkgYXV0aG9ycyBTWVNURU0gImF1dGhvcnMueG1sIj4KKy08IUVOVElUWSBzZWVhbHNvIFNZU1RFTSAic2VlYWxzby54bWwiPgorLTwhRU5USVRZIG5vdGVzIFNZU1RFTSAibm90ZXMueG1sIj4KKys8IUVOVElUWSBhdXRob3JzIFNZU1RFTSAiQFNSQ0RJUkAvYXV0aG9ycy54bWwiPgorKzwhRU5USVRZIHNlZWFsc28gU1lTVEVNICJAU1JDRElSQC9zZWVhbHNvLnhtbCI+CisrPCFFTlRJVFkgbm90ZXMgU1lTVEVNICJAU1JDRElSQC9ub3Rlcy54bWwiPgorIF0+CisgCisgPCEtLQorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2ZpcmV3YWxsZC9maWxlcy9maXJld2FsbGQuaW5pdCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9maXJld2FsbGQvZmlsZXMvZmlyZXdhbGxkLmluaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDhlODkzMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9maXJld2FsbGQvZmlsZXMvZmlyZXdhbGxkLmluaXQKQEAgLTAsMCArMSw0OCBAQAorIyEvYmluL3NoCisKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6IGZpcmV3YWxsZAorIyBSZXF1aXJlZC1TdGFydDogJHN5c2xvZyAkbG9jYWxfZnMgbWVzc2FnZWJ1cworIyBSZXF1aXJlZC1TdG9wOiAKKyMgRGVmYXVsdC1TdGFydDogMiAzIDQgNQorIyBEZWZhdWx0LVN0b3A6IDAgMSA2CisjIFNob3J0LURlc2NyaXB0aW9uOiAKKyMgRGVzY3JpcHRpb246IAorIyMjIEVORCBJTklUIElORk8KKworLiAvZXRjL2luaXQuZC9mdW5jdGlvbnMKKworZmlyZXdhbGxkPS91c3Ivc2Jpbi9maXJld2FsbGQKK3BpZGZpbGU9L3Zhci9ydW4vZmlyZXdhbGxkLnBpZAorCitjYXNlICIkMSIgaW4KKyAgICBzdGFydCkKKyAgICAgICAgZWNobyAtbiAiU3RhcnRpbmcgZmlyZXdhbGxkOiAiCisgICAgICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLS1xdWlldCAtLWV4ZWMgJGZpcmV3YWxsZAorICAgICAgICBlY2hvICIuIgorICAgICAgICA7OworICAgIHN0b3ApCisgICAgICAgIGVjaG8gLW4gIlN0b3BwaW5nIGZpcmV3YWxsZDogIgorICAgICAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLXBpZGZpbGUgJHBpZGZpbGUKKyAgICAgICAgZWNobyAiLiIKKyAgICAgICAgOzsKKyAgICByZXN0YXJ0KQorICAgICAgICBlY2hvIC1uICJTdG9wcGluZyBmaXJld2FsbGQ6ICIKKyAgICAgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tcXVpZXQgLS1waWRmaWxlICRwaWRmaWxlCisgICAgICAgIGVjaG8gIi4iCisgICAgICAgIGVjaG8gLW4gIlN0YXJ0aW5nIGZpcmV3YWxsZDogIgorICAgICAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0YXJ0IC0tcXVpZXQgLS1leGVjICRmaXJld2FsbGQKKyAgICAgICAgZWNobyAiLiIKKyAgICAgICAgOzsKKyAgICByZWxvYWQpCisgICAgICAgIGVjaG8gLW4gIlJlbG9hZGluZyBmaXJld2FsbGQ6ICIKKyAgICAgICAgZmlyZXdhbGwtY21kIC0tcmVsb2FkCisgICAgICAgIGVjaG8gIi4iCisgICAgICAgIDs7CisgICAgc3RhdHVzKQorICAgICAgICBmaXJld2FsbC1jbWQgLS1zdGF0ZQorICAgICAgICA7OworICAgICopCisgICAgICAgIGVjaG8gIlVzYWdlOiAvZXRjL2luaXQuZC9maXJld2FsbGQge3N0YXJ0fHN0b3B8cmVzdGFydHxyZWxvYWR8c3RhdHVzfSIgPiYyCisgICAgICAgIGV4aXQgMQorZXNhYwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2ZpcmV3YWxsZC9maXJld2FsbGRfMC42LjMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZmlyZXdhbGxkL2ZpcmV3YWxsZF8wLjYuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTk5ZmE3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2ZpcmV3YWxsZC9maXJld2FsbGRfMC42LjMuYmIKQEAgLTAsMCArMSw4NCBAQAorU1VNTUFSWSA9ICJEeW5hbWljIGZpcmV3YWxsIGRhZW1vbiB3aXRoIGEgRC1CdXMgaW50ZXJmYWNlIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9maXJld2FsbGQub3JnLyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL2ZpcmV3YWxsZC9maXJld2FsbGQvaXNzdWVzIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vZmlyZXdhbGxkL2ZpcmV3YWxsZC9hcmNoaXZlL3Yke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZmlyZXdhbGxkLmluaXQgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1maXgtYnVpbGRpbmctaW4tYS1zZXBhcmF0ZS1kaXJlY3Rvcnktb3V0c2lkZS10aGUtc291LnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1ZWY5NTRkOWI2YjI0NGZmZWFiY2QyMjZiZTE4NjdhMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwMzlhZDU2ZWE2ZDY1NTNhYWRmMzMyNDNlYTViMzk4MDJkNzM1MTllNDZhODljODBjNjQ4YjJiZDFlYzc4YWViIgorCisjIGdsaWItMi4wLW5hdGl2ZSBpcyBuZWVkZWQgZm9yIEdTRVRUSU5HU19SVUxFUyBhdXRvY29uZiBtYWNybyBmcm9tIGdzZXR0aW5ncy5tNAorIyB4bWx0by1uYXRpdmUgaXMgbmVlZGVkIHRvIHBvcHVsYXRlIC9ldGMveG1sL2NhdGFsb2cueG1sIGluIHRoZSBzeXNyb290IHNvIHRoYXQgeHNsdHByb2MgZmluZHMgdGhlIGRvY2Jvb2sgeHNsdAorREVQRU5EUyA9ICJpbnRsdG9vbC1uYXRpdmUgZ2xpYi0yLjAtbmF0aXZlIGxpYnhzbHQtbmF0aXZlIGRvY2Jvb2steHNsLXN0eWxlc2hlZXRzLW5hdGl2ZSB4bWx0by1uYXRpdmUiCisKK2luaGVyaXQgZ2V0dGV4dCBhdXRvdG9vbHMgYmFzaC1jb21wbGV0aW9uIHB5dGhvbjNuYXRpdmUgZ3NldHRpbmdzIHN5c3RlbWQgdXBkYXRlLXJjLmQKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCBkKX0iCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0td2l0aC1zeXN0ZW1kLXVuaXRkaXI9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8sLS1kaXNhYmxlLXN5c3RlbWQiCisKKyMgaXB0YWJsZXMsIGlwNnRhYmxlcywgZWJ0YWJsZXMsIGFuZCBpcHNldCAqc2hvdWxkKiBiZSB1bm5lY2Vzc2FyeQorIyB3aGVuIHRoZSBuZnRhYmxlcyBiYWNrZW5kIGlzIGF2YWlsYWJsZSwgYmVjYXVzZSBuZnRhYmxlcyBzdXBlcnNlZGVzIGFsbCBvZiB0aGVtLgorIyBIb3dldmVyIHdlIHN0aWxsIG5lZWQgaXB0YWJsZXMgYW5kIGlwNnRhYmxlcyB0byBiZSBhdmFpbGFibGUgb3RoZXJ3aXNlIGFueQorIyBhcHBsaWNhdGlvbiByZWx5aW5nIG9uICJkaXJlY3QgcGFzc3Rocm91Z2giIHJ1bGVzIChzdWNoIGFzIGRvY2tlcikgd2lsbCBicmVhay4KKyMgL2V0Yy9zeXNjb25maWcvZmlyZXdhbGxkIGlzIGEgUmVkIEhhdC1pc20sIG9ubHkgcmVmZXJlbmNlZCBieQorIyB0aGUgUmVkIEhhdC1zcGVjaWZpYyBpbml0IHNjcmlwdCB3aGljaCB3ZSBhcmVuJ3QgdXNpbmcsIHNvIHdlIGRpc2FibGUgdGhhdC4KK0VYVFJBX09FQ09ORiA9ICJcCisgICAgLS13aXRoLW5mdD0ke3NiaW5kaXJ9L25mdCBcCisgICAgLS13aXRob3V0LWlwc2V0IFwKKyAgICAtLXdpdGgtaXB0YWJsZXM9JHtzYmluZGlyfS9pcHRhYmxlcyBcCisgICAgLS13aXRoLWlwdGFibGVzLXJlc3RvcmU9JHtzYmluZGlyfS9pcHRhYmxlcy1yZXN0b3JlIFwKKyAgICAtLXdpdGgtaXA2dGFibGVzPSR7c2JpbmRpcn0vaXA2dGFibGVzIFwKKyAgICAtLXdpdGgtaXA2dGFibGVzLXJlc3RvcmU9JHtzYmluZGlyfS9pcDZ0YWJsZXMtcmVzdG9yZSBcCisgICAgLS13aXRob3V0LWVidGFibGVzIFwKKyAgICAtLXdpdGhvdXQtZWJ0YWJsZXMtcmVzdG9yZSBcCisgICAgLS1kaXNhYmxlLXN5c2NvbmZpZyBcCisiCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJmaXJld2FsbGQiCitTWVNURU1EX1NFUlZJQ0UgPSAiZmlyZXdhbGxkLnNlcnZpY2UiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgIDoKKyAgICBlbHNlCisgICAgICAgICMgZmlyZXdhbGxkIHNoaXBzIGFuIGluaXQgc2NyaXB0IGJ1dCBpdCBjb250YWlucyBSZWQgSGF0LWlzbXMsIHJlcGxhY2UgaXQgd2l0aCBvdXIgb3duCisgICAgICAgIHJtIC1yZiAke0R9JHtzeXNjb25mZGlyfS9yYy5kLworICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgICAgICBpbnN0YWxsIC1tMDc1NSAke1dPUktESVJ9L2ZpcmV3YWxsZC5pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9maXJld2FsbGQKKyAgICBmaQorCisgICAgIyBXZSByYW4gLi9jb25maWd1cmUgd2l0aCBQWVRIT04gcG9pbnRlZCBhdCB0aGUgYmluYXJ5IGluc2lkZSAkU1RBR0lOR19CSU5ESVJfTkFUSVZFCisgICAgIyBzbyBub3cgd2UgbmVlZCB0byBmaXggdXAgYW55IHJlZmVyZW5jZXMgdG8gcG9pbnQgYXQgdGhlIHByb3BlciBwYXRoIGluIHRoZSBpbWFnZS4KKyAgICAjIFRoaXMgaGFjayBpcyBhbHNvIGluIGRpc3R1dGlscy5iYmNsYXNzLCBidXQgZmlyZXdhbGxkIGRvZXNuJ3QgdXNlIGRpc3R1dGlscy9zZXR1cHRvb2xzLgorICAgIGlmIFsgJHtQTn0gIT0gIiR7QlBOfS1uYXRpdmUiIF07IHRoZW4KKyAgICAgICAgc2VkIC1pIC1lIHM6JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3B5dGhvbjMtbmF0aXZlL3B5dGhvbjM6JHtiaW5kaXJ9L3B5dGhvbjM6ZyBcCisgICAgICAgICAgICAke0R9JHtiaW5kaXJ9LyogJHtEfSR7c2JpbmRpcn0vKiAke0R9JHtzeXNjb25mZGlyfS9maXJld2FsbGQvKi54bWwKKyAgICBmaQorICAgIHNlZCAtaSAtZSBzOiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfToke2JpbmRpcn06ZyBcCisgICAgICAgICR7RH0ke2JpbmRpcn0vKiAke0R9JHtzYmluZGlyfS8qICR7RH0ke3N5c2NvbmZkaXJ9L2ZpcmV3YWxsZC8qLnhtbAorfQorCitGSUxFU18ke1BOfSArPSAiXAorICAgICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9L2ZpcmV3YWxsIFwKKyAgICAke2RhdGFkaXJ9L3BvbGtpdC0xIFwKKyAgICAke2RhdGFkaXJ9L21ldGFpbmZvIFwKKyIKKworUkRFUEVORFNfJHtQTn0gPSAiXAorICAgIG5mdGFibGVzIFwKKyAgICBpcHRhYmxlcyBcCisgICAgcHl0aG9uMy1jb3JlIFwKKyAgICBweXRob24zLWlvIFwKKyAgICBweXRob24zLWZjbnRsIFwKKyAgICBweXRob24zLXNoZWxsIFwKKyAgICBweXRob24zLXN5c2xvZyBcCisgICAgcHl0aG9uMy14bWwgXAorICAgIHB5dGhvbjMtZGJ1cyBcCisgICAgcHl0aG9uMy1zbGlwLWRidXMgXAorICAgIHB5dGhvbjMtZGVjb3JhdG9yIFwKKyAgICBweXRob24zLXB5Z29iamVjdCBcCisiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZnJlZXJhZGl1cy9maWxlcy9yYWRpdXNkLnNlcnZpY2UgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZnJlZXJhZGl1cy9maWxlcy9yYWRpdXNkLnNlcnZpY2UKaW5kZXggODk5YzRlNC4uOGRhZTBkZiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2ZyZWVyYWRpdXMvZmlsZXMvcmFkaXVzZC5zZXJ2aWNlCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9mcmVlcmFkaXVzL2ZpbGVzL3JhZGl1c2Quc2VydmljZQpAQCAtNiw3ICs2LDYgQEAKIFR5cGU9Zm9ya2luZwogUElERmlsZT1AU1RBVEVESVJAL3J1bi9yYWRpdXNkL3JhZGl1c2QucGlkCiBFeGVjU3RhcnRQcmU9LUBCQVNFX0JJTkRJUkAvY2hvd24gLVIgcmFkaXVzZC5yYWRpdXNkIEBTVEFURURJUkAvcnVuL3JhZGl1c2QKLUV4ZWNTdGFydFByZT0tQEJBU0VfQklORElSQC9zaCAtYyAiaWYgWyAhIC1mIEBTWVNDT05GRElSQC9yYWRkYi9jZXJ0cy9zZXJ2ZXIucGVtIF07IHRoZW4gc3VkbyAtdSByYWRpdXNkIEBTWVNDT05GRElSQC9yYWRkYi9jZXJ0cy9ib290c3RyYXA7IGZpIgogRXhlY1N0YXJ0UHJlPUBTQklORElSQC9yYWRpdXNkIC1DCiBFeGVjU3RhcnQ9QFNCSU5ESVJAL3JhZGl1c2QgLWQgQFNZU0NPTkZESVJAL3JhZGRiCiBFeGVjUmVsb2FkPUBTQklORElSQC9yYWRpdXNkIC1DCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZnJlZXJhZGl1cy9mcmVlcmFkaXVzXzMuMC4xNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9mcmVlcmFkaXVzL2ZyZWVyYWRpdXNfMy4wLjE3LmJiCmluZGV4IGMxN2Q1NmQuLjVhYjlhM2YgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9mcmVlcmFkaXVzL2ZyZWVyYWRpdXNfMy4wLjE3LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9mcmVlcmFkaXVzL2ZyZWVyYWRpdXNfMy4wLjE3LmJiCkBAIC02OCw2ICs2OCw3IEBACiAKIFBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdwYW0nLCAnJywgZCl9IFwKICAgICAgICAgICAgICAgICAgICBwY3JlIGxpYmNhcCBcCisgICAgICAgICAgICAgICAgICAgb3BlbnNzbCBybG0tZWFwLWZhc3QgcmxtLWVhcC1wd2QgXAogIgogCiBQQUNLQUdFQ09ORklHW2tyYjVdID0gIi0td2l0aC1ybG1fa3JiNSwtLXdpdGhvdXQtcmxtX2tyYjUsa3JiNSIKQEAgLTgzLDYgKzg0LDkgQEAKIFBBQ0tBR0VDT05GSUdbcHl0aG9uXSA9ICItLXdpdGgtcmxtX3B5dGhvbiAtLXdpdGgtcmxtLXB5dGhvbi1iaW49JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3B5dGhvbi1uYXRpdmUvcHl0aG9uIC0td2l0aC1ybG0tcHl0aG9uLWluY2x1ZGUtZGlyPSR7U1RBR0lOR19JTkNESVJ9LyR7UFlUSE9OX0RJUn0sLS13aXRob3V0LXJsbV9weXRob24scHl0aG9uLW5hdGl2ZSBweXRob24iCiBQQUNLQUdFQ09ORklHW3Jlc3RdID0gIi0td2l0aC1ybG1fcmVzdCwtLXdpdGhvdXQtcmxtX3Jlc3QsY3VybCBqc29uLWMiCiBQQUNLQUdFQ09ORklHW3J1YnldID0gIi0td2l0aC1ybG1fcnVieSwtLXdpdGhvdXQtcmxtX3J1YnkscnVieSIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS13aXRoLW9wZW5zc2wsIC0td2l0aG91dC1vcGVuc3NsIgorUEFDS0FHRUNPTkZJR1tybG0tZWFwLWZhc3RdID0gIi0td2l0aC1ybG1fZWFwX2Zhc3QsIC0td2l0aG91dC1ybG1fZWFwX2Zhc3QiCitQQUNLQUdFQ09ORklHW3JsbS1lYXAtcHdkXSA9ICItLXdpdGgtcmxtX2VhcF9wd2QsIC0td2l0aG91dC1ybG1fZWFwX3B3ZCIKIAogaW5oZXJpdCB1c2VyYWRkIGF1dG90b29scy1icm9rZW5zZXAgdXBkYXRlLXJjLmQgc3lzdGVtZAogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlsc18xLjkuNC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzXzEuOS40LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMjdkYmFlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzXzEuOS40LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjA2ICswLDAgQEAKLURFU0NSSVBUSU9OID0gIlRoZSBHTlUgaW5ldHV0aWxzIGFyZSBhIGNvbGxlY3Rpb24gb2YgY29tbW9uIFwKLW5ldHdvcmtpbmcgdXRpbGl0aWVzIGFuZCBzZXJ2ZXJzIGluY2x1ZGluZyBmdHAsIGZ0cGQsIHJjcCwgXAotcmV4ZWMsIHJsb2dpbiwgcmxvZ2luZCwgcnNoLCByc2hkLCBzeXNsb2csIHN5c2xvZ2QsIHRhbGssIFwKLXRhbGtkLCB0ZWxuZXQsIHRlbG5ldGQsIHRmdHAsIHRmdHBkLCBhbmQgdXVjcGQuIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2luZXR1dGlscyIKLVNFQ1RJT04gPSAibmV0IgotREVQRU5EUyA9ICJuY3Vyc2VzIG5ldGJhc2UgcmVhZGxpbmUgdmlydHVhbC9jcnlwdCIKLQotTElDRU5TRSA9ICJHUEx2MyIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MGM3MDUxYWVmOTIxOWRjNzIzN2YyMDZjNWM0MTc5YTciCi0KLVNSQ19VUkkgPSAiJHtHTlVfTUlSUk9SfS9pbmV0dXRpbHMvaW5ldHV0aWxzLSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly92ZXJzaW9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2luZXR1dGlscy0xLjgtMDAwMS1wcmludGYtcGFyc2UtcHVsbC1pbi1mZWF0dXJlcy5oLWZvci1fX0dMSUJDX18ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vaW5ldHV0aWxzLTEuOC0wMDAzLXdjaGFyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3JleGVjLnhpbmV0ZC5pbmV0dXRpbHMgIFwKLSAgICAgICAgICAgZmlsZTovL3Jsb2dpbi54aW5ldGQuaW5ldHV0aWxzIFwKLSAgICAgICAgICAgZmlsZTovL3JzaC54aW5ldGQuaW5ldHV0aWxzIFwKLSAgICAgICAgICAgZmlsZTovL3RlbG5ldC54aW5ldGQuaW5ldHV0aWxzIFwKLSAgICAgICAgICAgZmlsZTovL3RmdHBkLnhpbmV0ZC5pbmV0dXRpbHMgXAotICAgICAgICAgICBmaWxlOi8vaW5ldHV0aWxzLTEuOS1QQVRIX1BST0NORVRfREVWLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2luZXR1dGlscy1vbmx5LWNoZWNrLXBhbV9hcHBsLmgtd2hlbi1wYW0tZW5hYmxlZC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXJjcC1maXgtdG8td29yay13aXRoLWxhcmdlLWZpbGVzLnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjA0ODUyYzI2YzQ3Y2M4YzZiODI1ZjJiNzRmMTkxZjUyIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImJlOGY3NWVmZjkzNmI4ZTQxYjExMjQ2MmRiNTFhZGY2ODk3MTU2NThhMWIwOWUwZDZiMDVkMTFlYzkyY2M2MTYiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgdXBkYXRlLWFsdGVybmF0aXZlcyB0ZXhpbmZvCi0KLWFjcGF0aHMgPSAiLUkgLi9tNCIKLQotU1JDX1VSSSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgJycsICdmaWxlOi8vZml4LWRpc2FibGUtaXB2Ni5wYXRjaCcsIGQpfSIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gImZ0cCB1dWNwZCBcCi0gICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgZCl9IFwKLSAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCAnaXB2NiBwaW5nNicsICcnLCBkKX0gXAotICAgICAgICAgICAgICAgICAgIgotUEFDS0FHRUNPTkZJR1tmdHBdID0gIi0tZW5hYmxlLWZ0cCwtLWRpc2FibGUtZnRwLHJlYWRsaW5lIgotUEFDS0FHRUNPTkZJR1t1dWNwZF0gPSAiLS1lbmFibGUtdXVjcGQsLS1kaXNhYmxlLXV1Y3BkLHJlYWRsaW5lIgotUEFDS0FHRUNPTkZJR1twYW1dID0gIi0td2l0aC1wYW0sLS13aXRob3V0LXBhbSxsaWJwYW0iCi1QQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYgZ2xfY3Zfc29ja2V0X2lwdjY9bm8sIgotUEFDS0FHRUNPTkZJR1twaW5nNl0gPSAiLS1lbmFibGUtcGluZzYsLS1kaXNhYmxlLXBpbmc2LCIKLQotRVhUUkFfT0VDT05GID0gIi0td2l0aC1uY3Vyc2VzLWluY2x1ZGUtZGlyPSR7U1RBR0lOR19JTkNESVJ9IFwKLSAgICAgICAgaW5ldHV0aWxzX2N2X3BhdGhfbG9naW49JHtiYXNlX2JpbmRpcn0vbG9naW4gXAotICAgICAgICAtLXdpdGgtbGlicmVhZGxpbmUtcHJlZml4PSR7U1RBR0lOR19MSUJESVJ9IFwKLSAgICAgICAgLS1lbmFibGUtcnBhdGg9bm8gXAotIgotCi1FWFRSQV9PRUNPTkZfYXBwZW5kX2xpYmMtbXVzbCA9ICIgLS1kaXNhYmxlLXJzaCAtLWRpc2FibGUtcmNwIC0tZGlzYWJsZS1ybG9naW4gIgotCi1kb19jb25maWd1cmVfcHJlcGVuZCAoKSB7Ci0gICAgZXhwb3J0IEhFTFAyTUFOPSd0cnVlJwotICAgIGNwICR7U1RBR0lOR19EQVRBRElSX05BVElWRX0vZ2V0dGV4dC9jb25maWcucnBhdGggJHtTfS9idWlsZC1hdXgvY29uZmlnLnJwYXRoCi0gICAgcm0gLWYgJHtTfS9nbG9iL2NvbmZpZ3VyZSoKLX0KLQotZG9faW5zdGFsbF9hcHBlbmQgKCkgewotICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtiYXNlX3NiaW5kaXJ9Ci0gICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke3NiaW5kaXJ9Ci0gICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kCi0gICAgaWYgWyAiJHtiYXNlX2JpbmRpcn0iICE9ICIke2JpbmRpcn0iIF0gOyB0aGVuCi0gICAgICAgICBpbnN0YWxsIC1tIDA3NTUgLWQgJHtEfSR7YmFzZV9iaW5kaXJ9Ci0gICAgICAgICBtdiAke0R9JHtiaW5kaXJ9L3BpbmcqICR7RH0ke2Jhc2VfYmluZGlyfS8KLSAgICAgICAgIG12ICR7RH0ke2JpbmRpcn0vaG9zdG5hbWUgJHtEfSR7YmFzZV9iaW5kaXJ9LwotICAgIGZpCi0gICAgbXYgJHtEfSR7YmluZGlyfS9pZmNvbmZpZyAke0R9JHtiYXNlX3NiaW5kaXJ9LwotICAgIG12ICR7RH0ke2xpYmV4ZWNkaXJ9L3N5c2xvZ2QgJHtEfSR7YmFzZV9zYmluZGlyfS8KLSAgICBtdiAke0R9JHtsaWJleGVjZGlyfS90ZnRwZCAke0R9JHtzYmluZGlyfS9pbi50ZnRwZAotICAgIG12ICR7RH0ke2xpYmV4ZWNkaXJ9L3RlbG5ldGQgJHtEfSR7c2JpbmRpcn0vaW4udGVsbmV0ZAotICAgIG12ICR7RH0ke2xpYmV4ZWNkaXJ9L3JleGVjZCAke0R9JHtzYmluZGlyfS9pbi5yZXhlY2QKLSAgICBpZiBbIC1lICR7RH0ke2xpYmV4ZWNkaXJ9L3Jsb2dpbmQgXTsgdGhlbgotICAgICAgICBtdiAke0R9JHtsaWJleGVjZGlyfS9ybG9naW5kICR7RH0ke3NiaW5kaXJ9L2luLnJsb2dpbmQKLSAgICBmaQotICAgIGlmIFsgLWUgJHtEfSR7bGliZXhlY2Rpcn0vcnNoZCBdOyB0aGVuCi0gICAgICAgIG12ICR7RH0ke2xpYmV4ZWNkaXJ9L3JzaGQgJHtEfSR7c2JpbmRpcn0vaW4ucnNoZAotICAgIGZpCi0gICAgaWYgWyAtZSAke0R9JHtsaWJleGVjZGlyfS90YWxrZCBdOyB0aGVuCi0gICAgICAgIG12ICR7RH0ke2xpYmV4ZWNkaXJ9L3RhbGtkICR7RH0ke3NiaW5kaXJ9L2luLnRhbGtkCi0gICAgZmkKLSAgICBtdiAke0R9JHtsaWJleGVjZGlyfS91dWNwZCAke0R9JHtzYmluZGlyfS9pbi51dWNwZAotICAgIG12ICR7RH0ke2xpYmV4ZWNkaXJ9LyogJHtEfSR7YmluZGlyfS8KLSAgICBjcCAke1dPUktESVJ9L3JleGVjLnhpbmV0ZC5pbmV0dXRpbHMgICR7RH0vJHtzeXNjb25mZGlyfS94aW5ldGQuZC9yZXhlYwotICAgIGNwICR7V09SS0RJUn0vcmxvZ2luLnhpbmV0ZC5pbmV0dXRpbHMgICR7RH0vJHtzeXNjb25mZGlyfS94aW5ldGQuZC9ybG9naW4KLSAgICBjcCAke1dPUktESVJ9L3JzaC54aW5ldGQuaW5ldHV0aWxzICAke0R9LyR7c3lzY29uZmRpcn0veGluZXRkLmQvcnNoCi0gICAgY3AgJHtXT1JLRElSfS90ZWxuZXQueGluZXRkLmluZXR1dGlscyAgJHtEfS8ke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kL3RlbG5ldAotICAgIGNwICR7V09SS0RJUn0vdGZ0cGQueGluZXRkLmluZXR1dGlscyAgJHtEfS8ke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kL3RmdHBkCi0KLSAgICBzZWQgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgLWkgJHtEfS8ke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kLyoKLSAgICBpZiBbIC1lICR7RH0ke2xpYmRpcn0vY2hhcnNldC5hbGlhcyBdOyB0aGVuCi0gICAgICAgIHJtIC1yZiAke0R9JHtsaWJkaXJ9L2NoYXJzZXQuYWxpYXMKLSAgICBmaQotICAgIHJtIC1yZiAke0R9JHtsaWJleGVjZGlyfS8KLSAgICAjIHJlbW92ZSB1c3IvbGliIGlmIGVtcHR5Ci0gICAgcm1kaXIgJHtEfSR7bGliZGlyfSB8fCB0cnVlCi19Ci0KLVBBQ0tBR0VTID0rICIke1BOfS1waW5nICR7UE59LXBpbmc2ICR7UE59LWhvc3RuYW1lICR7UE59LWlmY29uZmlnIFwKLSR7UE59LXRmdHAgJHtQTn0tbG9nZ2VyICR7UE59LXRyYWNlcm91dGUgJHtQTn0tc3lzbG9nZCBcCi0ke1BOfS1mdHAgJHtQTn0tZnRwZCAke1BOfS10ZnRwZCAke1BOfS10ZWxuZXQgJHtQTn0tdGVsbmV0ZCAke1BOfS1pbmV0ZCBcCi0ke1BOfS1yc2ggJHtQTn0tcnNoZCIKLQotIyBUaGUgcGFja2FnZXMgdGZ0cGQsIHRlbG5ldGQgYW5kIHJzaGQgY29uZmxpY3Qgd2l0aCB0aGUgb25lcwotIyBwcm92aWRlZCBieSBuZXRraXQsIHNvIGFkZCB0aGUgY29ycmVzcG9uZGluZyAtZGJnIHBhY2thZ2VzCi0jIGZvciB0aGVtIHRvIGF2b2lkIHRoZSBjb25mbGljdGlvbiBiZXR3ZWVuIHRoZSBkYmcgcGFja2FnZQotIyBvZiBpbmV0dXRpbHMgYW5kIG5ldGtpdC4KLVBBQ0tBR0VTID0rICIke1BOfS10ZnRwZC1kYmcgJHtQTn0tdGVsbmV0ZC1kYmcgJHtQTn0tcnNoZC1kYmciCi1OT0FVVE9QQUNLQUdFREVCVUcgPSAiMSIKLQotQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiNzkiCi1BTFRFUk5BVElWRV8ke1BOfSA9ICJ0YWxrIHdob2lzIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3RhbGtkXSAgPSAiJHtzYmluZGlyfS9pbi50YWxrZCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVt1dWNwZF0gID0gIiR7c2JpbmRpcn0vaW4udXVjcGQiCi0KLUFMVEVSTkFUSVZFX1BSSU9SSVRZXyR7UE59LWxvZ2dlciA9ICI2MCIKLUFMVEVSTkFUSVZFXyR7UE59LWxvZ2dlciA9ICJsb2dnZXIiCi1BTFRFUk5BVElWRV8ke1BOfS1zeXNsb2dkID0gInN5c2xvZ2QiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbc3lzbG9nZF0gID0gIiR7YmFzZV9zYmluZGlyfS9zeXNsb2dkIgotCi1BTFRFUk5BVElWRV8ke1BOfS1mdHAgPSAiZnRwIgotQUxURVJOQVRJVkVfJHtQTn0tZnRwZCA9ICJmdHBkIgotQUxURVJOQVRJVkVfJHtQTn0tdGZ0cCA9ICJ0ZnRwIgotQUxURVJOQVRJVkVfJHtQTn0tdGZ0cGQgPSAidGZ0cGQiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbdGZ0cGRdID0gIiR7c2JpbmRpcn0vdGZ0cGQiCi1BTFRFUk5BVElWRV9UQVJHRVRbdGZ0cGRdICA9ICIke3NiaW5kaXJ9L2luLnRmdHBkIgotCi1BTFRFUk5BVElWRV8ke1BOfS10ZWxuZXQgPSAidGVsbmV0IgotQUxURVJOQVRJVkVfJHtQTn0tdGVsbmV0ZCA9ICJ0ZWxuZXRkIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3RlbG5ldGRdID0gIiR7c2JpbmRpcn0vdGVsbmV0ZCIKLUFMVEVSTkFUSVZFX1RBUkdFVFt0ZWxuZXRkXSA9ICIke3NiaW5kaXJ9L2luLnRlbG5ldGQiCi0KLUFMVEVSTkFUSVZFXyR7UE59LXJzaCA9ICJyY3AgcmV4ZWMgcmxvZ2luIHJzaCIKLUFMVEVSTkFUSVZFXyR7UE59LXJzaGQgPSAicnNoZCByZXhlY2QgcmxvZ2luZCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtyc2hkXSA9ICIke3NiaW5kaXJ9L3JzaGQiCi1BTFRFUk5BVElWRV9UQVJHRVRbcnNoZF0gPSAiJHtzYmluZGlyfS9pbi5yc2hkIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3JleGVjZF0gPSAiJHtzYmluZGlyfS9yZXhlY2QiCi1BTFRFUk5BVElWRV9UQVJHRVRbcmV4ZWNkXSA9ICIke3NiaW5kaXJ9L2luLnJleGVjZCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtybG9naW5kXSA9ICIke3NiaW5kaXJ9L3Jsb2dpbmQiCi1BTFRFUk5BVElWRV9UQVJHRVRbcmxvZ2luZF0gPSAiJHtzYmluZGlyfS9pbi5ybG9naW5kIgotCi1BTFRFUk5BVElWRV8ke1BOfS1pbmV0ZD0gImluZXRkIgotQUxURVJOQVRJVkVfJHtQTn0tdHJhY2Vyb3V0ZSA9ICJ0cmFjZXJvdXRlIgotCi1BTFRFUk5BVElWRV8ke1BOfS1ob3N0bmFtZSA9ICJob3N0bmFtZSIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtob3N0bmFtZV0gID0gIiR7YmFzZV9iaW5kaXJ9L2hvc3RuYW1lIgotCi1BTFRFUk5BVElWRV8ke1BOfS1kb2MgPSAiaG9zdG5hbWUuMSBkbnNkb21haW5uYW1lLjEgbG9nZ2VyLjEgc3lzbG9nZC44IgotQUxURVJOQVRJVkVfTElOS19OQU1FW2hvc3RuYW1lLjFdID0gIiR7bWFuZGlyfS9tYW4xL2hvc3RuYW1lLjEiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbZG5zZG9tYWlubmFtZS4xXSA9ICIke21hbmRpcn0vbWFuMS9kbnNkb21haW5uYW1lLjEiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbbG9nZ2VyLjFdID0gIiR7bWFuZGlyfS9tYW4xL2xvZ2dlci4xIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3N5c2xvZ2QuOF0gPSAiJHttYW5kaXJ9L21hbjgvc3lzbG9nZC44IgotCi1BTFRFUk5BVElWRV8ke1BOfS1pZmNvbmZpZyA9ICJpZmNvbmZpZyIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtpZmNvbmZpZ10gID0gIiR7YmFzZV9zYmluZGlyfS9pZmNvbmZpZyIKLQotQUxURVJOQVRJVkVfJHtQTn0tcGluZyA9ICJwaW5nIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3BpbmddICAgPSAiJHtiYXNlX2JpbmRpcn0vcGluZyIKLQotQUxURVJOQVRJVkVfJHtQTn0tcGluZzYgPSAiJHtAYmIudXRpbHMuZmlsdGVyKCdQQUNLQUdFQ09ORklHJywgJ3Bpbmc2JywgZCl9IgotQUxURVJOQVRJVkVfTElOS19OQU1FW3Bpbmc2XSAgPSAiJHtiYXNlX2JpbmRpcn0vcGluZzYiCi0KLQotRklMRVNfJHtQTn0tZGJnICs9ICIke2Jhc2VfYmluZGlyfS8uZGVidWcgJHtiYXNlX3NiaW5kaXJ9Ly5kZWJ1ZyAke2JpbmRpcn0vLmRlYnVnICR7c2JpbmRpcn0vLmRlYnVnIgotRklMRVNfJHtQTn0tcGluZyA9ICIke2Jhc2VfYmluZGlyfS9waW5nLiR7QlBOfSIKLUZJTEVTXyR7UE59LXBpbmc2ID0gIiR7YmFzZV9iaW5kaXJ9L3Bpbmc2LiR7QlBOfSIKLUZJTEVTXyR7UE59LWhvc3RuYW1lID0gIiR7YmFzZV9iaW5kaXJ9L2hvc3RuYW1lLiR7QlBOfSIKLUZJTEVTXyR7UE59LWlmY29uZmlnID0gIiR7YmFzZV9zYmluZGlyfS9pZmNvbmZpZy4ke0JQTn0iCi1GSUxFU18ke1BOfS10cmFjZXJvdXRlID0gIiR7YmluZGlyfS90cmFjZXJvdXRlLiR7QlBOfSIKLUZJTEVTXyR7UE59LWxvZ2dlciA9ICIke2JpbmRpcn0vbG9nZ2VyLiR7QlBOfSIKLQotRklMRVNfJHtQTn0tc3lzbG9nZCA9ICIke2Jhc2Vfc2JpbmRpcn0vc3lzbG9nZC4ke0JQTn0iCi1SQ09ORkxJQ1RTXyR7UE59LXN5c2xvZ2QgPSAicnN5c2xvZyBidXN5Ym94LXN5c2xvZyBzeXNrbG9nZCBzeXNsb2ctbmciCi0KLUZJTEVTXyR7UE59LWZ0cCA9ICIke2JpbmRpcn0vZnRwLiR7QlBOfSIKLQotRklMRVNfJHtQTn0tdGZ0cCA9ICIke2JpbmRpcn0vdGZ0cC4ke0JQTn0iCi1GSUxFU18ke1BOfS10ZWxuZXQgPSAiJHtiaW5kaXJ9L3RlbG5ldC4ke0JQTn0iCi1GSUxFU18ke1BOfS1yc2ggPSAiJHtiaW5kaXJ9L3JzaC4ke0JQTn0gJHtiaW5kaXJ9L3Jsb2dpbi4ke0JQTn0gJHtiaW5kaXJ9L3JleGVjLiR7QlBOfSAke2JpbmRpcn0vcmNwLiR7QlBOfSIKLQotRklMRVNfJHtQTn0tcnNoZCA9ICIke3NiaW5kaXJ9L2luLnJzaGQgJHtzYmluZGlyfS9pbi5ybG9naW5kICR7c2JpbmRpcn0vaW4ucmV4ZWNkIFwKLSAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS94aW5ldGQuZC9yc2ggJHtzeXNjb25mZGlyfS94aW5ldGQuZC9ybG9naW4gJHtzeXNjb25mZGlyfS94aW5ldGQuZC9yZXhlYyIKLUZJTEVTXyR7UE59LXJzaGQtZGJnID0gIiR7c2JpbmRpcn0vLmRlYnVnL2luLnJzaGQgJHtzYmluZGlyfS8uZGVidWcvaW4ucmxvZ2luZCAke3NiaW5kaXJ9Ly5kZWJ1Zy9pbi5yZXhlY2QiCi1SREVQRU5EU18ke1BOfS1yc2hkICs9ICJ4aW5ldGQgdGNwLXdyYXBwZXJzIgotUkNPTkZMSUNUU18ke1BOfS1yc2hkICs9ICJuZXRraXQtcnNoZCIKLVJQUk9WSURFU18ke1BOfS1yc2hkID0gInJzaGQiCi0KLUZJTEVTXyR7UE59LWZ0cGQgPSAiJHtiaW5kaXJ9L2Z0cGQuJHtCUE59IgotRklMRVNfJHtQTn0tZnRwZC1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy9mdHBkLiR7QlBOfSIKLVJERVBFTkRTXyR7UE59LWZ0cGQgKz0gInhpbmV0ZCIKLQotRklMRVNfJHtQTn0tdGZ0cGQgPSAiJHtzYmluZGlyfS9pbi50ZnRwZCAke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kL3RmdHBkIgotRklMRVNfJHtQTn0tdGZ0cGQtZGJnID0gIiR7c2JpbmRpcn0vLmRlYnVnL2luLnRmdHBkIgotUkNPTkZMSUNUU18ke1BOfS10ZnRwZCArPSAibmV0a2l0LXRmdHBkIgotUkRFUEVORFNfJHtQTn0tdGZ0cGQgKz0gInhpbmV0ZCIKLQotRklMRVNfJHtQTn0tdGVsbmV0ZCA9ICIke3NiaW5kaXJ9L2luLnRlbG5ldGQgJHtzeXNjb25mZGlyfS94aW5ldGQuZC90ZWxuZXQiCi1GSUxFU18ke1BOfS10ZWxuZXRkLWRiZyA9ICIke3NiaW5kaXJ9Ly5kZWJ1Zy9pbi50ZWxuZXRkIgotUkNPTkZMSUNUU18ke1BOfS10ZWxuZXRkICs9ICJuZXRraXQtdGVsbmV0ZCIKLVJQUk9WSURFU18ke1BOfS10ZWxuZXRkID0gInRlbG5ldGQiCi1SREVQRU5EU18ke1BOfS10ZWxuZXRkICs9ICJ4aW5ldGQiCi0KLUZJTEVTXyR7UE59LWluZXRkID0gIiR7YmluZGlyfS9pbmV0ZC4ke0JQTn0iCi0KLVJERVBFTkRTXyR7UE59ID0gInhpbmV0ZCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tYmVkdGxzL21iZWR0bHNfMi4xMy4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L21iZWR0bHMvbWJlZHRsc18yLjEzLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZmM2Y3ZjAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L21iZWR0bHMvbWJlZHRsc18yLjEzLjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi1TVU1NQVJZID0gIkxpZ2h0d2VpZ2h0IGNyeXB0byBhbmQgU1NML1RMUyBsaWJyYXJ5IgotREVTQ1JJUFRJT04gPSAibWJlZHRscyBpcyBhIGxlYW4gb3BlbiBzb3VyY2UgY3J5cHRvIGxpYnJhcnkgICAgICAgICAgXAotZm9yIHByb3ZpZGluZyBTU0wgYW5kIFRMUyBzdXBwb3J0IGluIHlvdXIgcHJvZ3JhbXMuIEl0IG9mZmVycyAgICAgICAgXAotYW4gaW50dWl0aXZlIEFQSSBhbmQgZG9jdW1lbnRlZCBoZWFkZXIgZmlsZXMsIHNvIHlvdSBjYW4gYWN0dWFsbHkgICAgXAotdW5kZXJzdGFuZCB3aGF0IHRoZSBjb2RlIGRvZXMuIEl0IGZlYXR1cmVzOiAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotIC0gU3ltbWV0cmljIGFsZ29yaXRobXMsIGxpa2UgQUVTLCBCbG93ZmlzaCwgVHJpcGxlLURFUywgREVTLCBBUkM0LCAgXAotICAgQ2FtZWxsaWEgYW5kIFhURUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotIC0gSGFzaCBhbGdvcml0aG1zLCBsaWtlIFNIQS0xLCBTSEEtMiwgUklQRU1ELTE2MCBhbmQgTUQ1ICAgICAgICAgICAgXAotIC0gRW50cm9weSBwb29sIGFuZCByYW5kb20gZ2VuZXJhdG9ycywgbGlrZSBDVFItRFJCRyBhbmQgSE1BQy1EUkJHICAgXAotIC0gUHVibGljIGtleSBhbGdvcml0aG1zLCBsaWtlIFJTQSwgRWxsaXB0aWMgQ3VydmVzLCBEaWZmaWUtSGVsbG1hbiwgXAotICAgRUNEU0EgYW5kIEVDREggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotIC0gU1NMIHYzIGFuZCBUTFMgMS4wLCAxLjEgYW5kIDEuMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotIC0gQWJzdHJhY3Rpb24gbGF5ZXJzIGZvciBjaXBoZXJzLCBoYXNoZXMsIHB1YmxpYyBrZXkgb3BlcmF0aW9ucywgICAgXAotICAgcGxhdGZvcm0gYWJzdHJhY3Rpb24gYW5kIHRocmVhZGluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotIgotCi1IT01FUEFHRSA9ICJodHRwczovL3Rscy5tYmVkLm9yZy8iCi0KLUxJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTMwMmQ1MGE2MzY5ZjVmMjJlZmRiNjc0ZGI5MDgxNjdhIgotCi1TRUNUSU9OID0gImxpYnMiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly90bHMubWJlZC5vcmcvZG93bmxvYWQvbWJlZHRscy0ke1BWfS1hcGFjaGUudGd6IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNjU5ZDk2YmIwMzAxMmNhNmRiNDE0YTkxMzdmY2RiZDYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTkzYjRlNGQyZTE2MjlmYzQwN2FiNDc1MGQ2OWZhMzA5YTBkZGI2NjU2NWRjM2RlYjViNjBlZGRiZGViMDZkYSIKLQotaW5oZXJpdCBjbWFrZQotCi1QQUNLQUdFQ09ORklHID8/PSAic2hhcmVkLWxpYnMgcHJvZ3JhbXMiCi1QQUNLQUdFQ09ORklHW3NoYXJlZC1saWJzXSA9ICItRFVTRV9TSEFSRURfTUJFRFRMU19MSUJSQVJZPU9OLC1VU0VfU0hBUkVEX01CRURUTFNfTElCUkFSWT1PRkYiCi1QQUNLQUdFQ09ORklHW3Byb2dyYW1zXSA9ICItREVOQUJMRV9QUk9HUkFNUz1PTiwtREVOQUJMRV9QUk9HUkFNUz1PRkYiCi0KLUVYVFJBX09FQ01BS0UgPSAiLURFTkFCTEVfVEVTVElORz1PRkYgLURMSUJfSU5TVEFMTF9ESVI6U1RSSU5HPSR7bGliZGlyfSIKLQotUFJPVklERVMgKz0gInBvbGFyc3NsIgotUlBST1ZJREVTXyR7UE59ID0gInBvbGFyc3NsIgotCi1QQUNLQUdFUyA9KyAiJHtQTn0tcHJvZ3JhbXMiCi1GSUxFU18ke1BOfS1wcm9ncmFtcyA9ICIke2JpbmRpcn0vIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L21iZWR0bHMvbWJlZHRsc18yLjE2LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbWJlZHRscy9tYmVkdGxzXzIuMTYuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZTlkMDFlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L21iZWR0bHMvbWJlZHRsc18yLjE2LjAuYmIKQEAgLTAsMCArMSw0MSBAQAorU1VNTUFSWSA9ICJMaWdodHdlaWdodCBjcnlwdG8gYW5kIFNTTC9UTFMgbGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIm1iZWR0bHMgaXMgYSBsZWFuIG9wZW4gc291cmNlIGNyeXB0byBsaWJyYXJ5ICAgICAgICAgIFwKK2ZvciBwcm92aWRpbmcgU1NMIGFuZCBUTFMgc3VwcG9ydCBpbiB5b3VyIHByb2dyYW1zLiBJdCBvZmZlcnMgICAgICAgIFwKK2FuIGludHVpdGl2ZSBBUEkgYW5kIGRvY3VtZW50ZWQgaGVhZGVyIGZpbGVzLCBzbyB5b3UgY2FuIGFjdHVhbGx5ICAgIFwKK3VuZGVyc3RhbmQgd2hhdCB0aGUgY29kZSBkb2VzLiBJdCBmZWF0dXJlczogICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAtIFN5bW1ldHJpYyBhbGdvcml0aG1zLCBsaWtlIEFFUywgQmxvd2Zpc2gsIFRyaXBsZS1ERVMsIERFUywgQVJDNCwgIFwKKyAgIENhbWVsbGlhIGFuZCBYVEVBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAtIEhhc2ggYWxnb3JpdGhtcywgbGlrZSBTSEEtMSwgU0hBLTIsIFJJUEVNRC0xNjAgYW5kIE1ENSAgICAgICAgICAgIFwKKyAtIEVudHJvcHkgcG9vbCBhbmQgcmFuZG9tIGdlbmVyYXRvcnMsIGxpa2UgQ1RSLURSQkcgYW5kIEhNQUMtRFJCRyAgIFwKKyAtIFB1YmxpYyBrZXkgYWxnb3JpdGhtcywgbGlrZSBSU0EsIEVsbGlwdGljIEN1cnZlcywgRGlmZmllLUhlbGxtYW4sIFwKKyAgIEVDRFNBIGFuZCBFQ0RIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAtIFNTTCB2MyBhbmQgVExTIDEuMCwgMS4xIGFuZCAxLjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAtIEFic3RyYWN0aW9uIGxheWVycyBmb3IgY2lwaGVycywgaGFzaGVzLCBwdWJsaWMga2V5IG9wZXJhdGlvbnMsICAgIFwKKyAgIHBsYXRmb3JtIGFic3RyYWN0aW9uIGFuZCB0aHJlYWRpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyIKKworSE9NRVBBR0UgPSAiaHR0cHM6Ly90bHMubWJlZC5vcmcvIgorCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zMDJkNTBhNjM2OWY1ZjIyZWZkYjY3NGRiOTA4MTY3YSIKKworU0VDVElPTiA9ICJsaWJzIgorCitTUkNfVVJJID0gImh0dHBzOi8vdGxzLm1iZWQub3JnL2Rvd25sb2FkL21iZWR0bHMtJHtQVn0tYXBhY2hlLnRneiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlYWU5Y2YxNjExNGY0NDkxZGJiYzBmZTM2YmI3ZTZjMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlM2RhYjU2ZTkwOTNjNzkwYjdkNWUwZjdlYjE5NDUxMDEwZmU2ODA2NDlkMjVjZjFkY2NhOWQ1NDQxNjY5YWUyIgorCitpbmhlcml0IGNtYWtlCisKK1BBQ0tBR0VDT05GSUcgPz89ICJzaGFyZWQtbGlicyBwcm9ncmFtcyIKK1BBQ0tBR0VDT05GSUdbc2hhcmVkLWxpYnNdID0gIi1EVVNFX1NIQVJFRF9NQkVEVExTX0xJQlJBUlk9T04sLVVTRV9TSEFSRURfTUJFRFRMU19MSUJSQVJZPU9GRiIKK1BBQ0tBR0VDT05GSUdbcHJvZ3JhbXNdID0gIi1ERU5BQkxFX1BST0dSQU1TPU9OLC1ERU5BQkxFX1BST0dSQU1TPU9GRiIKKworRVhUUkFfT0VDTUFLRSA9ICItREVOQUJMRV9URVNUSU5HPU9GRiAtRExJQl9JTlNUQUxMX0RJUjpTVFJJTkc9JHtsaWJkaXJ9IgorCitQUk9WSURFUyArPSAicG9sYXJzc2wiCitSUFJPVklERVNfJHtQTn0gPSAicG9sYXJzc2wiCisKK1BBQ0tBR0VTID0rICIke1BOfS1wcm9ncmFtcyIKK0ZJTEVTXyR7UE59LXByb2dyYW1zID0gIiR7YmluZGlyfS8iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbWluaXVwbnBkL2ZpbGVzLzAwMDEtQWRkLU9wZW5FbWJlZGRlZC1jcm9zcy1jb21waWxlLWNhc2UucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbWluaXVwbnBkL2ZpbGVzLzAwMDEtQWRkLU9wZW5FbWJlZGRlZC1jcm9zcy1jb21waWxlLWNhc2UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2Q0MjkxZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9taW5pdXBucGQvZmlsZXMvMDAwMS1BZGQtT3BlbkVtYmVkZGVkLWNyb3NzLWNvbXBpbGUtY2FzZS5wYXRjaApAQCAtMCwwICsxLDQwIEBACitGcm9tIDU0Njk4ODU2ZTU2MDJiYmQ5ZDYxZTg1NTgxNGM4NTRhMDEzYjQ4NDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogU2F0LCAyMiBEZWMgMjAxOCAxODo0Nzo0NSAtMDgwMAorU3ViamVjdDogW1BBVENIXSBBZGQgT3BlbkVtYmVkZGVkIGNyb3NzIGNvbXBpbGUgY2FzZQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBnZW5jb25maWcuc2ggfCAxMSArKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9nZW5jb25maWcuc2ggYi9nZW5jb25maWcuc2gKK2luZGV4IGRjNDI0NjIuLjU5OTIyZTkgMTAwNzU1CistLS0gYS9nZW5jb25maWcuc2gKKysrKyBiL2dlbmNvbmZpZy5zaAorQEAgLTk4LDYgKzk4LDEyIEBAIGlmIFsgLWYgLi4vc2hhcmVkL3RvbWF0b192ZXJzaW9uIF07IHRoZW4KKyAJT1NfVkVSU0lPTj0iVG9tYXRvICRUT01BVE9fVkVSIgorIGZpCisgCisrIyBPcGVuRW1iZWRkZWQgc3BlY2lhbCBjYXNlCisraWYgWyAtZiAuL29zLm9wZW5lbWJlZGRlZCBdOyB0aGVuCisrCU9TX05BTUU9T3BlbkVtYmVkZGVkCisrCU9TX1ZFUlNJT049JChjYXQgLi9vcy5vcGVuZW1iZWRkZWQpCisrZmkKKysKKyAke1JNfSAke0NPTkZJR0ZJTEV9CisgCisgZWNobyAiLyogTWluaVVQblAgUHJvamVjdCIgPj4gJHtDT05GSUdGSUxFfQorQEAgLTMxOCw2ICszMjQsMTEgQEAgY2FzZSAkT1NfTkFNRSBpbgorIAkJZWNobyAiI2RlZmluZSBVU0VfSUZBQ0VXQVRDSEVSIDEiID4+ICR7Q09ORklHRklMRX0KKyAJCUZXPW5ldGZpbHRlcgorIAkJOzsKKysJT3BlbkVtYmVkZGVkKQorKwkJT1NfVVJMPWh0dHA6Ly93d3cub3BlbmVtYmVkZGVkLm9yZy8KKysJCWVjaG8gIiNkZWZpbmUgVVNFX0lGQUNFV0FUQ0hFUiAxIiA+PiAke0NPTkZJR0ZJTEV9CisrCQlGVz1uZXRmaWx0ZXIKKysJCTs7CisgCUFzdExpbnV4KQorIAkJT1NfVVJMPWh0dHA6Ly93d3cuYXN0bGludXgub3JnLworIAkJZWNobyAiI2RlZmluZSBVU0VfSUZBQ0VXQVRDSEVSIDEiID4+ICR7Q09ORklHRklMRX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9taW5pdXBucGQvbWluaXVwbnBkXzIuMC4yMDE4MDIwMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9taW5pdXBucGQvbWluaXVwbnBkXzIuMC4yMDE4MDIwMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDRiNWNkNS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbWluaXVwbnBkL21pbml1cG5wZF8yLjAuMjAxODAyMDMuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi1TVU1NQVJZID0gIkxpZ2h0d2VpZ2h0IFVQblAgSUdEIGRhZW1vbiIKLURFU0NSSVBUSU9OID0gIlRoZSBtaW5pVVBuUCBkYWVtb24gaXMgYW4gVVBuUCBJR0QgKGludGVybmV0IGdhdGV3YXkgZGV2aWNlKSBcCi13aGljaCBwcm92aWRlIE5BVCB0cmF2ZXJzYWwgc2VydmljZXMgdG8gYW55IFVQblAgZW5hYmxlZCBjbGllbnQgb24gXAotdGhlIG5ldHdvcmsuIgotCi1TRUNUSU9OID0gIm5ldHdvcmtpbmciCi1MSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTkxYWMwMGM2YjlmNWMxMDZlODkyOTFlMTk2ZmUwMjM0IgotCi1pbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBrZ2NvbmZpZyBzeXN0ZW1kCi0KLURFUEVORFMgKz0gImlwdGFibGVzIG5ldC10b29scyB1dGlsLWxpbnV4IGxpYm1ubCBsaWJuZXRmaWx0ZXItY29ubnRyYWNrIgotCi1TUkNfVVJJID0gImh0dHA6Ly9taW5pdXBucC50dXhmYW1pbHkub3JnL2ZpbGVzL2Rvd25sb2FkLnBocD9maWxlPSR7UH0udGFyLmd6O2Rvd25sb2FkZmlsZW5hbWU9JHtQfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vbWluaXVwbnBkLnNlcnZpY2UiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJiNGM3YzkzODkxNWVkZWVlNmNhNGM2NWRkMDIxZjIxMiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI4NjBjMTVmMmY4MzQwZmQ2OTU0NmIwMWNmZmU0YzdmY2ZmM2U2M2E3YmRmZTVhMmFmNmIyMzQ2ZjBlMDc0YmI2IgotCi1JUFY2ID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsICctLWlwdjYnLCAnJywgZCl9IgotCi1kb19jb21waWxlKCkgewotICAgIGNkICR7U30KLSAgICBDT05GSUdfT1BUSU9OUz0iJHtJUFY2fSAtLWxlYXNlZmlsZSAtLXZlbmRvcmNmZyIgb2VfcnVubWFrZSAtZiBNYWtlZmlsZS5saW51eAotfQotCi1kb19pbnN0YWxsKCkgewotICAgIGluc3RhbGwgLWQgJHtEfS8ke3NiaW5kaXJ9Ci0gICAgaW5zdGFsbCAke1N9L21pbml1cG5wZCAke0R9LyR7c2JpbmRpcn0KLSAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS8ke0JQTn0KLSAgICBpbnN0YWxsICR7U30vbmV0ZmlsdGVyL2lwdGFibGVzX2luaXQuc2ggJHtEfS8ke3N5c2NvbmZkaXJ9LyR7QlBOfQotICAgIGluc3RhbGwgJHtTfS9uZXRmaWx0ZXIvaXB0YWJsZXNfcmVtb3ZlYWxsLnNoICR7RH0vJHtzeXNjb25mZGlyfS8ke0JQTn0KLSAgICBpbnN0YWxsICR7U30vbmV0ZmlsdGVyL2lwNnRhYmxlc19pbml0LnNoICR7RH0vJHtzeXNjb25mZGlyfS8ke0JQTn0KLSAgICBpbnN0YWxsICR7U30vbmV0ZmlsdGVyL2lwNnRhYmxlc19yZW1vdmVhbGwuc2ggJHtEfS8ke3N5c2NvbmZkaXJ9LyR7QlBOfQotICAgIGluc3RhbGwgLW0gMDY0NCAtYiAke1N9L21pbml1cG5wZC5jb25mICR7RH0vJHtzeXNjb25mZGlyfS8ke0JQTn0KLSAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQKLSAgICBpbnN0YWxsICR7U30vbGludXgvbWluaXVwbnBkLmluaXQuZC5zY3JpcHQgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZC9taW5pdXBucGQKLQotICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9taW5pdXBucGQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KLX0KLQotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIm1pbml1cG5wZC5zZXJ2aWNlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L21pbml1cG5wZC9taW5pdXBucGRfMi4xLjIwMTkwMjEwLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L21pbml1cG5wZC9taW5pdXBucGRfMi4xLjIwMTkwMjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwMmY1MDcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbWluaXVwbnBkL21pbml1cG5wZF8yLjEuMjAxOTAyMTAuYmIKQEAgLTAsMCArMSw0OCBAQAorU1VNTUFSWSA9ICJMaWdodHdlaWdodCBVUG5QIElHRCBkYWVtb24iCitERVNDUklQVElPTiA9ICJUaGUgbWluaVVQblAgZGFlbW9uIGlzIGFuIFVQblAgSUdEIChpbnRlcm5ldCBnYXRld2F5IGRldmljZSkgXAord2hpY2ggcHJvdmlkZSBOQVQgdHJhdmVyc2FsIHNlcnZpY2VzIHRvIGFueSBVUG5QIGVuYWJsZWQgY2xpZW50IG9uIFwKK3RoZSBuZXR3b3JrLiIKKworU0VDVElPTiA9ICJuZXR3b3JraW5nIgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT05MWFjMDBjNmI5ZjVjMTA2ZTg5MjkxZTE5NmZlMDIzNCIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcgc3lzdGVtZAorCitERVBFTkRTICs9ICJpcHRhYmxlcyBuZXQtdG9vbHMgdXRpbC1saW51eCBsaWJtbmwgbGlibmV0ZmlsdGVyLWNvbm50cmFjayIKKworU1JDX1VSSSA9ICJodHRwOi8vbWluaXVwbnAudHV4ZmFtaWx5Lm9yZy9maWxlcy9kb3dubG9hZC5waHA/ZmlsZT0ke1B9LnRhci5nejtkb3dubG9hZGZpbGVuYW1lPSR7UH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL21pbml1cG5wZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtQWRkLU9wZW5FbWJlZGRlZC1jcm9zcy1jb21waWxlLWNhc2UucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiMDNiMDBjMjcxMDY4MzVlNzI4YTNiODU4ZWNmODMzOTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWFhZWNkMjVjZjE1MmQ5OTU1N2RmZTgwYzc1MDhhZjljYjA2ZTk3ZWNhZDQ3ODZjZTVkYWZiNGM5NThkMTk2YiIKKworSVBWNiA9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCAnLS1pcHY2JywgJycsIGQpfSIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICBlY2hvICIke0BkLmdldFZhcignRElTVFJPX1ZFUlNJT04nKX0iID4gJHtTfS9vcy5vcGVuZW1iZWRkZWQKK30KKworZG9fY29tcGlsZSgpIHsKKyAgICBjZCAke1N9CisgICAgQ09ORklHX09QVElPTlM9IiR7SVBWNn0gLS1sZWFzZWZpbGUgLS12ZW5kb3JjZmciIG9lX3J1bm1ha2UgLWYgTWFrZWZpbGUubGludXgKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzYmluZGlyfQorICAgIGluc3RhbGwgJHtTfS9taW5pdXBucGQgJHtEfS8ke3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vJHtCUE59CisgICAgaW5zdGFsbCAke1N9L25ldGZpbHRlci9pcHRhYmxlc19pbml0LnNoICR7RH0vJHtzeXNjb25mZGlyfS8ke0JQTn0KKyAgICBpbnN0YWxsICR7U30vbmV0ZmlsdGVyL2lwdGFibGVzX3JlbW92ZWFsbC5zaCAke0R9LyR7c3lzY29uZmRpcn0vJHtCUE59CisgICAgaW5zdGFsbCAke1N9L25ldGZpbHRlci9pcDZ0YWJsZXNfaW5pdC5zaCAke0R9LyR7c3lzY29uZmRpcn0vJHtCUE59CisgICAgaW5zdGFsbCAke1N9L25ldGZpbHRlci9pcDZ0YWJsZXNfcmVtb3ZlYWxsLnNoICR7RH0vJHtzeXNjb25mZGlyfS8ke0JQTn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgLWIgJHtTfS9taW5pdXBucGQuY29uZiAke0R9LyR7c3lzY29uZmRpcn0vJHtCUE59CisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAke1N9L2xpbnV4L21pbml1cG5wZC5pbml0LmQuc2NyaXB0ICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQvbWluaXVwbnBkCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbWluaXVwbnBkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCit9CisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJtaW5pdXBucGQuc2VydmljZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb3NxdWl0dG8vZmlsZXMvMDAwMi11dGhhc2gtcmVtb3ZlLWluLXRyZWUtdmVyc2lvbi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb3NxdWl0dG8vZmlsZXMvMDAwMi11dGhhc2gtcmVtb3ZlLWluLXRyZWUtdmVyc2lvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzg5ZGZlNi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9zcXVpdHRvL2ZpbGVzLzAwMDItdXRoYXNoLXJlbW92ZS1pbi10cmVlLXZlcnNpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5NzUgKzAsMCBAQAotRnJvbSBkOWFlZWY4ZDk1YTMyNTk0MmNjOTJmNGQ3MjQxNTc3MWQ3NWQ5MDRjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0FuZHI9QzM9QTk9MjBEcmFzemlrPz0gPGFuZHJlLmRyYXN6aWtAamNpLmNvbT4KLURhdGU6IFR1ZSwgMTIgQXByIDIwMTYgMTM6MDU6MTAgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAyLzJdIHV0aGFzaDogcmVtb3ZlIGluLXRyZWUgdmVyc2lvbgotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1XZSBkb24ndCBuZWVkIGl0IGFzIHdlIHdhbnQgdG8gdXNlIHRoZSB2ZXJzaW9uIHByb3ZpZGVkIGJ5Ci1tZXRhLW9lIGluc3RlYWQuCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQtc3BlY2lmaWNdCi1TaWduZWQtb2ZmLWJ5OiBBbmRyw6kgRHJhc3ppayA8YW5kcmUuZHJhc3ppa0BqY2kuY29tPgotLS0tCi0gc3JjL3V0aGFzaC5oIHwgOTQ4IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDk0OCBkZWxldGlvbnMoLSkKLSBkZWxldGUgbW9kZSAxMDA2NDQgc3JjL3V0aGFzaC5oCi0KLWRpZmYgLS1naXQgYS9zcmMvdXRoYXNoLmggYi9zcmMvdXRoYXNoLmgKLWRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggOTE1YTgyNS4uMDAwMDAwMAotLS0tIGEvc3JjL3V0aGFzaC5oCi0rKysgL2Rldi9udWxsCi1AQCAtMSw5NDggKzAsMCBAQAotLS8qCi0tQ29weXJpZ2h0IChjKSAyMDAzLTIwMTMsIFRyb3kgRC4gSGFuc29uICAgICBodHRwOi8vdHJveWRoYW5zb24uZ2l0aHViLmNvbS91dGhhc2gvCi0tQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS0KLS1SZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLS1tb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKLS0KLS0gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotLSAgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLS0KLS1USElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUwotLUlTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRAotLVRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQQotLVBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUgotLU9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotLUVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLS1QUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLS1QUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GCi0tTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcKLS1ORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKLS1TT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLS0qLwotLQotLSNpZm5kZWYgVVRIQVNIX0gKLS0jZGVmaW5lIFVUSEFTSF9IIAotLQotLSNpbmNsdWRlIDxzdHJpbmcuaD4gICAvKiBtZW1jbXAsc3RybGVuICovCi0tI2luY2x1ZGUgPHN0ZGRlZi5oPiAgIC8qIHB0cmRpZmZfdCAqLwotLSNpbmNsdWRlIDxzdGRsaWIuaD4gICAvKiBleGl0KCkgKi8KLS0KLS0vKiBUaGVzZSBtYWNyb3MgdXNlIGRlY2x0eXBlIG9yIHRoZSBlYXJsaWVyIF9fdHlwZW9mIEdOVSBleHRlbnNpb24uCi0tICAgQXMgZGVjbHR5cGUgaXMgb25seSBhdmFpbGFibGUgaW4gbmV3ZXIgY29tcGlsZXJzIChWUzIwMTAgb3IgZ2NjIDQuMysKLS0gICB3aGVuIGNvbXBpbGluZyBjKysgc291cmNlKSB0aGlzIGNvZGUgdXNlcyB3aGF0ZXZlciBtZXRob2QgaXMgbmVlZGVkCi0tICAgb3IsIGZvciBWUzIwMDggd2hlcmUgbmVpdGhlciBpcyBhdmFpbGFibGUsIHVzZXMgY2FzdGluZyB3b3JrYXJvdW5kcy4gKi8KLS0jaWZkZWYgX01TQ19WRVIgICAgICAgICAvKiBNUyBjb21waWxlciAqLwotLSNpZiBfTVNDX1ZFUiA+PSAxNjAwICYmIGRlZmluZWQoX19jcGx1c3BsdXMpICAvKiBWUzIwMTAgb3IgbmV3ZXIgaW4gQysrIG1vZGUgKi8KLS0jZGVmaW5lIERFQ0xUWVBFKHgpIChkZWNsdHlwZSh4KSkKLS0jZWxzZSAgICAgICAgICAgICAgICAgICAvKiBWUzIwMDggb3Igb2xkZXIgKG9yIFZTMjAxMCBpbiBDIG1vZGUpICovCi0tI2RlZmluZSBOT19ERUNMVFlQRQotLSNkZWZpbmUgREVDTFRZUEUoeCkKLS0jZW5kaWYKLS0jZWxzZSAgICAgICAgICAgICAgICAgICAvKiBHTlUsIFN1biBhbmQgb3RoZXIgY29tcGlsZXJzICovCi0tI2RlZmluZSBERUNMVFlQRSh4KSAoX190eXBlb2YoeCkpCi0tI2VuZGlmCi0tCi0tI2lmZGVmIE5PX0RFQ0xUWVBFCi0tI2RlZmluZSBERUNMVFlQRV9BU1NJR04oZHN0LHNyYykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLWRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGNoYXIgKipfZGFfZHN0ID0gKGNoYXIqKikoJihkc3QpKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAqX2RhX2RzdCA9IChjaGFyKikoc3JjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUoMCkKLS0jZWxzZSAKLS0jZGVmaW5lIERFQ0xUWVBFX0FTU0lHTihkc3Qsc3JjKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgKGRzdCkgPSBERUNMVFlQRShkc3QpKHNyYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS19IHdoaWxlKDApCi0tI2VuZGlmCi0tCi0tLyogYSBudW1iZXIgb2YgdGhlIGhhc2ggZnVuY3Rpb24gdXNlIHVpbnQzMl90IHdoaWNoIGlzbid0IGRlZmluZWQgb24gd2luMzIgKi8KLS0jaWZkZWYgX01TQ19WRVIKLS10eXBlZGVmIHVuc2lnbmVkIGludCB1aW50MzJfdDsKLS10eXBlZGVmIHVuc2lnbmVkIGNoYXIgdWludDhfdDsKLS0jZWxzZQotLSNpbmNsdWRlIDxpbnR0eXBlcy5oPiAgIC8qIHVpbnQzMl90ICovCi0tI2VuZGlmCi0tCi0tI2RlZmluZSBVVEhBU0hfVkVSU0lPTiAxLjkuOAotLQotLSNpZm5kZWYgdXRoYXNoX2ZhdGFsCi0tI2RlZmluZSB1dGhhc2hfZmF0YWwobXNnKSBleGl0KC0xKSAgICAgICAgLyogZmF0YWwgZXJyb3IgKG91dCBvZiBtZW1vcnksZXRjKSAqLwotLSNlbmRpZgotLSNpZm5kZWYgdXRoYXNoX21hbGxvYwotLSNkZWZpbmUgdXRoYXNoX21hbGxvYyhzeikgbWFsbG9jKHN6KSAgICAgIC8qIG1hbGxvYyBmY24gICAgICAgICAgICAgICAgICAgICAgKi8KLS0jZW5kaWYKLS0jaWZuZGVmIHV0aGFzaF9mcmVlCi0tI2RlZmluZSB1dGhhc2hfZnJlZShwdHIsc3opIGZyZWUocHRyKSAgICAgLyogZnJlZSBmY24gICAgICAgICAgICAgICAgICAgICAgICAqLwotLSNlbmRpZgotLQotLSNpZm5kZWYgdXRoYXNoX25vZXhwYW5kX2Z5aQotLSNkZWZpbmUgdXRoYXNoX25vZXhwYW5kX2Z5aSh0YmwpICAgICAgICAgIC8qIGNhbiBiZSBkZWZpbmVkIHRvIGxvZyBub2V4cGFuZCAgKi8KLS0jZW5kaWYKLS0jaWZuZGVmIHV0aGFzaF9leHBhbmRfZnlpCi0tI2RlZmluZSB1dGhhc2hfZXhwYW5kX2Z5aSh0YmwpICAgICAgICAgICAgLyogY2FuIGJlIGRlZmluZWQgdG8gbG9nIGV4cGFuZHMgICAqLwotLSNlbmRpZgotLQotLS8qIGluaXRpYWwgbnVtYmVyIG9mIGJ1Y2tldHMgKi8KLS0jZGVmaW5lIEhBU0hfSU5JVElBTF9OVU1fQlVDS0VUUyAzMiAgICAgIC8qIGluaXRpYWwgbnVtYmVyIG9mIGJ1Y2tldHMgICAgICAgICovCi0tI2RlZmluZSBIQVNIX0lOSVRJQUxfTlVNX0JVQ0tFVFNfTE9HMiA1ICAvKiBsZzIgb2YgaW5pdGlhbCBudW1iZXIgb2YgYnVja2V0cyAqLwotLSNkZWZpbmUgSEFTSF9CS1RfQ0FQQUNJVFlfVEhSRVNIIDEwICAgICAgLyogZXhwYW5kIHdoZW4gYnVja2V0IGNvdW50IHJlYWNoZXMgKi8KLS0KLS0vKiBjYWxjdWxhdGUgdGhlIGVsZW1lbnQgd2hvc2UgaGFzaCBoYW5kbGUgYWRkcmVzcyBpcyBoaGUgKi8KLS0jZGVmaW5lIEVMTVRfRlJPTV9ISCh0YmwsaGhwKSAoKHZvaWQqKSgoKGNoYXIqKShoaHApKSAtICgodGJsKS0+aGhvKSkpCi0tCi0tI2RlZmluZSBIQVNIX0ZJTkQoaGgsaGVhZCxrZXlwdHIsa2V5bGVuLG91dCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLWRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHVuc2lnbmVkIF9oZl9ia3QsX2hmX2hhc2h2OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBvdXQ9TlVMTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgaWYgKGhlYWQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgIEhBU0hfRkNOKGtleXB0cixrZXlsZW4sIChoZWFkKS0+aGgudGJsLT5udW1fYnVja2V0cywgX2hmX2hhc2h2LCBfaGZfYmt0KTsgICBcCi0tICAgICBpZiAoSEFTSF9CTE9PTV9URVNUKChoZWFkKS0+aGgudGJsLCBfaGZfaGFzaHYpKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICBIQVNIX0ZJTkRfSU5fQktUKChoZWFkKS0+aGgudGJsLCBoaCwgKGhlYWQpLT5oaC50YmwtPmJ1Y2tldHNbIF9oZl9ia3QgXSwgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICBrZXlwdHIsa2V5bGVuLG91dCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS19IHdoaWxlICgwKQotLQotLSNpZmRlZiBIQVNIX0JMT09NCi0tI2RlZmluZSBIQVNIX0JMT09NX0JJVExFTiAoMVVMTCA8PCBIQVNIX0JMT09NKQotLSNkZWZpbmUgSEFTSF9CTE9PTV9CWVRFTEVOIChIQVNIX0JMT09NX0JJVExFTi84KSArICgoSEFTSF9CTE9PTV9CSVRMRU4lOCkgPyAxOjApCi0tI2RlZmluZSBIQVNIX0JMT09NX01BS0UodGJsKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLWRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICh0YmwpLT5ibG9vbV9uYml0cyA9IEhBU0hfQkxPT007ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAodGJsKS0+Ymxvb21fYnYgPSAodWludDhfdCopdXRoYXNoX21hbGxvYyhIQVNIX0JMT09NX0JZVEVMRU4pOyAgICAgICAgICAgICAgICAgXAotLSAgaWYgKCEoKHRibCktPmJsb29tX2J2KSkgIHsgdXRoYXNoX2ZhdGFsKCAib3V0IG9mIG1lbW9yeSIpOyB9ICAgICAgICAgICAgICAgICAgIFwKLS0gIG1lbXNldCgodGJsKS0+Ymxvb21fYnYsIDAsIEhBU0hfQkxPT01fQllURUxFTik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAodGJsKS0+Ymxvb21fc2lnID0gSEFTSF9CTE9PTV9TSUdOQVRVUkU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUgKDApIAotLQotLSNkZWZpbmUgSEFTSF9CTE9PTV9GUkVFKHRibCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB1dGhhc2hfZnJlZSgodGJsKS0+Ymxvb21fYnYsIEhBU0hfQkxPT01fQllURUxFTik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUgKDApIAotLQotLSNkZWZpbmUgSEFTSF9CTE9PTV9CSVRTRVQoYnYsaWR4KSAoYnZbKGlkeCkvOF0gfD0gKDFVIDw8ICgoaWR4KSU4KSkpCi0tI2RlZmluZSBIQVNIX0JMT09NX0JJVFRFU1QoYnYsaWR4KSAoYnZbKGlkeCkvOF0gJiAoMVUgPDwgKChpZHgpJTgpKSkKLS0KLS0jZGVmaW5lIEhBU0hfQkxPT01fQUREKHRibCxoYXNodikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBIQVNIX0JMT09NX0JJVFNFVCgodGJsKS0+Ymxvb21fYnYsIChoYXNodiAmICh1aW50MzJfdCkoKDFVTEwgPDwgKHRibCktPmJsb29tX25iaXRzKSAtIDEpKSkKLS0KLS0jZGVmaW5lIEhBU0hfQkxPT01fVEVTVCh0YmwsaGFzaHYpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBIQVNIX0JMT09NX0JJVFRFU1QoKHRibCktPmJsb29tX2J2LCAoaGFzaHYgJiAodWludDMyX3QpKCgxVUxMIDw8ICh0YmwpLT5ibG9vbV9uYml0cykgLSAxKSkpCi0tCi0tI2Vsc2UKLS0jZGVmaW5lIEhBU0hfQkxPT01fTUFLRSh0YmwpIAotLSNkZWZpbmUgSEFTSF9CTE9PTV9GUkVFKHRibCkgCi0tI2RlZmluZSBIQVNIX0JMT09NX0FERCh0YmwsaGFzaHYpIAotLSNkZWZpbmUgSEFTSF9CTE9PTV9URVNUKHRibCxoYXNodikgKDEpCi0tI2RlZmluZSBIQVNIX0JMT09NX0JZVEVMRU4gMAotLSNlbmRpZgotLQotLSNkZWZpbmUgSEFTSF9NQUtFX1RBQkxFKGhoLGhlYWQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAoaGVhZCktPmhoLnRibCA9IChVVF9oYXNoX3RhYmxlKil1dGhhc2hfbWFsbG9jKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgIHNpemVvZihVVF9oYXNoX3RhYmxlKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGlmICghKChoZWFkKS0+aGgudGJsKSkgIHsgdXRoYXNoX2ZhdGFsKCAib3V0IG9mIG1lbW9yeSIpOyB9ICAgICAgICAgICAgICAgICAgICBcCi0tICBtZW1zZXQoKGhlYWQpLT5oaC50YmwsIDAsIHNpemVvZihVVF9oYXNoX3RhYmxlKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgKGhlYWQpLT5oaC50YmwtPnRhaWwgPSAmKChoZWFkKS0+aGgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIChoZWFkKS0+aGgudGJsLT5udW1fYnVja2V0cyA9IEhBU0hfSU5JVElBTF9OVU1fQlVDS0VUUzsgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAoaGVhZCktPmhoLnRibC0+bG9nMl9udW1fYnVja2V0cyA9IEhBU0hfSU5JVElBTF9OVU1fQlVDS0VUU19MT0cyOyAgICAgICAgICAgICAgXAotLSAgKGhlYWQpLT5oaC50YmwtPmhobyA9IChjaGFyKikoJihoZWFkKS0+aGgpIC0gKGNoYXIqKShoZWFkKTsgICAgICAgICAgICAgICAgICAgIFwKLS0gIChoZWFkKS0+aGgudGJsLT5idWNrZXRzID0gKFVUX2hhc2hfYnVja2V0Kil1dGhhc2hfbWFsbG9jKCAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgIEhBU0hfSU5JVElBTF9OVU1fQlVDS0VUUypzaXplb2Yoc3RydWN0IFVUX2hhc2hfYnVja2V0KSk7ICAgICAgICAgICAgICAgXAotLSAgaWYgKCEgKGhlYWQpLT5oaC50YmwtPmJ1Y2tldHMpIHsgdXRoYXNoX2ZhdGFsKCAib3V0IG9mIG1lbW9yeSIpOyB9ICAgICAgICAgICAgIFwKLS0gIG1lbXNldCgoaGVhZCktPmhoLnRibC0+YnVja2V0cywgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgIEhBU0hfSU5JVElBTF9OVU1fQlVDS0VUUypzaXplb2Yoc3RydWN0IFVUX2hhc2hfYnVja2V0KSk7ICAgICAgICAgICAgICAgXAotLSAgSEFTSF9CTE9PTV9NQUtFKChoZWFkKS0+aGgudGJsKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIChoZWFkKS0+aGgudGJsLT5zaWduYXR1cmUgPSBIQVNIX1NJR05BVFVSRTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tfSB3aGlsZSgwKQotLQotLSNkZWZpbmUgSEFTSF9BREQoaGgsaGVhZCxmaWVsZG5hbWUsa2V5bGVuX2luLGFkZCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIEhBU0hfQUREX0tFWVBUUihoaCxoZWFkLCYoKGFkZCktPmZpZWxkbmFtZSksa2V5bGVuX2luLGFkZCkKLS0KLS0jZGVmaW5lIEhBU0hfUkVQTEFDRShoaCxoZWFkLGZpZWxkbmFtZSxrZXlsZW5faW4sYWRkLHJlcGxhY2VkKSAgICAgICAgICAgICAgICAgICBcCi0tZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgcmVwbGFjZWQ9TlVMTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIEhBU0hfRklORChoaCxoZWFkLCYoKGFkZCktPmZpZWxkbmFtZSksa2V5bGVuX2luLHJlcGxhY2VkKTsgICAgICAgICAgICAgICAgICAgICBcCi0tICBpZiAocmVwbGFjZWQhPU5VTEwpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgSEFTSF9ERUxFVEUoaGgsaGVhZCxyZXBsYWNlZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIH07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBIQVNIX0FERChoaCxoZWFkLGZpZWxkbmFtZSxrZXlsZW5faW4sYWRkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUoMCkKLS0gCi0tI2RlZmluZSBIQVNIX0FERF9LRVlQVFIoaGgsaGVhZCxrZXlwdHIsa2V5bGVuX2luLGFkZCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLWRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gdW5zaWduZWQgX2hhX2JrdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tIChhZGQpLT5oaC5uZXh0ID0gTlVMTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAoYWRkKS0+aGgua2V5ID0gKGNoYXIqKWtleXB0cjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gKGFkZCktPmhoLmtleWxlbiA9ICh1bnNpZ25lZClrZXlsZW5faW47ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSBpZiAoIShoZWFkKSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgaGVhZCA9IChhZGQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIChoZWFkKS0+aGgucHJldiA9IE5VTEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBIQVNIX01BS0VfVEFCTEUoaGgsaGVhZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gfSBlbHNlIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIChoZWFkKS0+aGgudGJsLT50YWlsLT5uZXh0ID0gKGFkZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAoYWRkKS0+aGgucHJldiA9IEVMTVRfRlJPTV9ISCgoaGVhZCktPmhoLnRibCwgKGhlYWQpLT5oaC50YmwtPnRhaWwpOyAgICAgICAgIFwKLS0gICAgKGhlYWQpLT5oaC50YmwtPnRhaWwgPSAmKChhZGQpLT5oaCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAoaGVhZCktPmhoLnRibC0+bnVtX2l0ZW1zKys7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gKGFkZCktPmhoLnRibCA9IChoZWFkKS0+aGgudGJsOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tIEhBU0hfRkNOKGtleXB0cixrZXlsZW5faW4sIChoZWFkKS0+aGgudGJsLT5udW1fYnVja2V0cywgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgIChhZGQpLT5oaC5oYXNodiwgX2hhX2JrdCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gSEFTSF9BRERfVE9fQktUKChoZWFkKS0+aGgudGJsLT5idWNrZXRzW19oYV9ia3RdLCYoYWRkKS0+aGgpOyAgICAgICAgICAgICAgICAgICBcCi0tIEhBU0hfQkxPT01fQUREKChoZWFkKS0+aGgudGJsLChhZGQpLT5oaC5oYXNodik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSBIQVNIX0VNSVRfS0VZKGhoLGhlYWQsa2V5cHRyLGtleWxlbl9pbik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gSEFTSF9GU0NLKGhoLGhlYWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tfSB3aGlsZSgwKQotLQotLSNkZWZpbmUgSEFTSF9UT19CS1QoIGhhc2h2LCBudW1fYmt0cywgYmt0ICkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBia3QgPSAoKGhhc2h2KSAmICgobnVtX2JrdHMpIC0gMSkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUoMCkKLS0KLS0vKiBkZWxldGUgImRlbHB0ciIgZnJvbSB0aGUgaGFzaCB0YWJsZS4KLS0gKiAidGhlIHVzdWFsIiBwYXRjaC11cCBwcm9jZXNzIGZvciB0aGUgYXBwLW9yZGVyIGRvdWJseS1saW5rZWQtbGlzdC4KLS0gKiBUaGUgdXNlIG9mIF9oZF9oaF9kZWwgYmVsb3cgZGVzZXJ2ZXMgc3BlY2lhbCBleHBsYW5hdGlvbi4KLS0gKiBUaGVzZSB1c2VkIHRvIGJlIGV4cHJlc3NlZCB1c2luZyAoZGVscHRyKSBidXQgdGhhdCBsZWQgdG8gYSBidWcKLS0gKiBpZiBzb21lb25lIHVzZWQgdGhlIHNhbWUgc3ltYm9sIGZvciB0aGUgaGVhZCBhbmQgZGVsZXRlZSwgbGlrZQotLSAqICBIQVNIX0RFTEVURShoaCx1c2Vycyx1c2Vycyk7Ci0tICogV2Ugd2FudCB0aGF0IHRvIHdvcmssIGJ1dCBieSBjaGFuZ2luZyB0aGUgaGVhZCAodXNlcnMpIGJlbG93Ci0tICogd2Ugd2VyZSBmb3JmZWl0aW5nIG91ciBhYmlsaXR5IHRvIGZ1cnRoZXIgcmVmZXIgdG8gdGhlIGRlbGV0ZWUgKHVzZXJzKQotLSAqIGluIHRoZSBwYXRjaC11cCBwcm9jZXNzLiBTb2x1dGlvbjogdXNlIHNjcmF0Y2ggc3BhY2UgdG8KLS0gKiBjb3B5IHRoZSBkZWxldGVlIHBvaW50ZXIsIHRoZW4gdGhlIGxhdHRlciByZWZlcmVuY2VzIGFyZSB2aWEgdGhhdAotLSAqIHNjcmF0Y2ggcG9pbnRlciByYXRoZXIgdGhhbiB0aHJvdWdoIHRoZSByZXBvaW50ZWQgKHVzZXJzKSBzeW1ib2wuCi0tICovCi0tI2RlZmluZSBIQVNIX0RFTEVURShoaCxoZWFkLGRlbHB0cikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLWRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgdW5zaWduZWQgX2hkX2JrdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIHN0cnVjdCBVVF9oYXNoX2hhbmRsZSAqX2hkX2hoX2RlbDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBpZiAoICgoZGVscHRyKS0+aGgucHJldiA9PSBOVUxMKSAmJiAoKGRlbHB0ciktPmhoLm5leHQgPT0gTlVMTCkgKSAgeyAgICAgICAgIFwKLS0gICAgICAgIHV0aGFzaF9mcmVlKChoZWFkKS0+aGgudGJsLT5idWNrZXRzLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAoaGVhZCktPmhoLnRibC0+bnVtX2J1Y2tldHMqc2l6ZW9mKHN0cnVjdCBVVF9oYXNoX2J1Y2tldCkgKTsgXAotLSAgICAgICAgSEFTSF9CTE9PTV9GUkVFKChoZWFkKS0+aGgudGJsKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIHV0aGFzaF9mcmVlKChoZWFkKS0+aGgudGJsLCBzaXplb2YoVVRfaGFzaF90YWJsZSkpOyAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICBoZWFkID0gTlVMTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICB9IGVsc2UgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIF9oZF9oaF9kZWwgPSAmKChkZWxwdHIpLT5oaCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICBpZiAoKGRlbHB0cikgPT0gRUxNVF9GUk9NX0hIKChoZWFkKS0+aGgudGJsLChoZWFkKS0+aGgudGJsLT50YWlsKSkgeyAgICAgXAotLSAgICAgICAgICAgIChoZWFkKS0+aGgudGJsLT50YWlsID0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgKFVUX2hhc2hfaGFuZGxlKikoKHB0cmRpZmZfdCkoKGRlbHB0ciktPmhoLnByZXYpICsgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgIChoZWFkKS0+aGgudGJsLT5oaG8pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIGlmICgoZGVscHRyKS0+aGgucHJldikgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgKChVVF9oYXNoX2hhbmRsZSopKChwdHJkaWZmX3QpKChkZWxwdHIpLT5oaC5wcmV2KSArICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgKGhlYWQpLT5oaC50YmwtPmhobykpLT5uZXh0ID0gKGRlbHB0ciktPmhoLm5leHQ7ICAgICAgICAgICAgIFwKLS0gICAgICAgIH0gZWxzZSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgREVDTFRZUEVfQVNTSUdOKGhlYWQsKGRlbHB0ciktPmhoLm5leHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIGlmIChfaGRfaGhfZGVsLT5uZXh0KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgKChVVF9oYXNoX2hhbmRsZSopKChwdHJkaWZmX3QpX2hkX2hoX2RlbC0+bmV4dCArICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgKGhlYWQpLT5oaC50YmwtPmhobykpLT5wcmV2ID0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgIF9oZF9oaF9kZWwtPnByZXY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgSEFTSF9UT19CS1QoIF9oZF9oaF9kZWwtPmhhc2h2LCAoaGVhZCktPmhoLnRibC0+bnVtX2J1Y2tldHMsIF9oZF9ia3QpOyAgIFwKLS0gICAgICAgIEhBU0hfREVMX0lOX0JLVChoaCwoaGVhZCktPmhoLnRibC0+YnVja2V0c1tfaGRfYmt0XSwgX2hkX2hoX2RlbCk7ICAgICAgICBcCi0tICAgICAgICAoaGVhZCktPmhoLnRibC0+bnVtX2l0ZW1zLS07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgSEFTSF9GU0NLKGhoLGhlYWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tfSB3aGlsZSAoMCkKLS0KLS0KLS0vKiBjb252ZW5pZW5jZSBmb3JtcyBvZiBIQVNIX0ZJTkQvSEFTSF9BREQvSEFTSF9ERUwgKi8KLS0jZGVmaW5lIEhBU0hfRklORF9TVFIoaGVhZCxmaW5kc3RyLG91dCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIEhBU0hfRklORChoaCxoZWFkLGZpbmRzdHIsc3RybGVuKGZpbmRzdHIpLG91dCkKLS0jZGVmaW5lIEhBU0hfQUREX1NUUihoZWFkLHN0cmZpZWxkLGFkZCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIEhBU0hfQUREKGhoLGhlYWQsc3RyZmllbGQsc3RybGVuKGFkZC0+c3RyZmllbGQpLGFkZCkKLS0jZGVmaW5lIEhBU0hfUkVQTEFDRV9TVFIoaGVhZCxzdHJmaWVsZCxhZGQscmVwbGFjZWQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBIQVNIX1JFUExBQ0UoaGgsaGVhZCxzdHJmaWVsZCxzdHJsZW4oYWRkLT5zdHJmaWVsZCksYWRkLHJlcGxhY2VkKQotLSNkZWZpbmUgSEFTSF9GSU5EX0lOVChoZWFkLGZpbmRpbnQsb3V0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgSEFTSF9GSU5EKGhoLGhlYWQsZmluZGludCxzaXplb2YoaW50KSxvdXQpCi0tI2RlZmluZSBIQVNIX0FERF9JTlQoaGVhZCxpbnRmaWVsZCxhZGQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBIQVNIX0FERChoaCxoZWFkLGludGZpZWxkLHNpemVvZihpbnQpLGFkZCkKLS0jZGVmaW5lIEhBU0hfUkVQTEFDRV9JTlQoaGVhZCxpbnRmaWVsZCxhZGQscmVwbGFjZWQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIEhBU0hfUkVQTEFDRShoaCxoZWFkLGludGZpZWxkLHNpemVvZihpbnQpLGFkZCxyZXBsYWNlZCkKLS0jZGVmaW5lIEhBU0hfRklORF9QVFIoaGVhZCxmaW5kcHRyLG91dCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIEhBU0hfRklORChoaCxoZWFkLGZpbmRwdHIsc2l6ZW9mKHZvaWQgKiksb3V0KQotLSNkZWZpbmUgSEFTSF9BRERfUFRSKGhlYWQscHRyZmllbGQsYWRkKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgSEFTSF9BREQoaGgsaGVhZCxwdHJmaWVsZCxzaXplb2Yodm9pZCAqKSxhZGQpCi0tI2RlZmluZSBIQVNIX1JFUExBQ0VfUFRSKGhlYWQscHRyZmllbGQsYWRkKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBIQVNIX1JFUExBQ0UoaGgsaGVhZCxwdHJmaWVsZCxzaXplb2Yodm9pZCAqKSxhZGQscmVwbGFjZWQpCi0tI2RlZmluZSBIQVNIX0RFTChoZWFkLGRlbHB0cikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBIQVNIX0RFTEVURShoaCxoZWFkLGRlbHB0cikKLS0KLS0vKiBIQVNIX0ZTQ0sgY2hlY2tzIGhhc2ggaW50ZWdyaXR5IG9uIGV2ZXJ5IGFkZC9kZWxldGUgd2hlbiBIQVNIX0RFQlVHIGlzIGRlZmluZWQuCi0tICogVGhpcyBpcyBmb3IgdXRoYXNoIGRldmVsb3BlciBvbmx5OyBpdCBjb21waWxlcyBhd2F5IGlmIEhBU0hfREVCVUcgaXNuJ3QgZGVmaW5lZC4KLS0gKi8KLS0jaWZkZWYgSEFTSF9ERUJVRwotLSNkZWZpbmUgSEFTSF9PT1BTKC4uLikgZG8geyBmcHJpbnRmKHN0ZGVycixfX1ZBX0FSR1NfXyk7IGV4aXQoLTEpOyB9IHdoaWxlICgwKQotLSNkZWZpbmUgSEFTSF9GU0NLKGhoLGhlYWQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIHVuc2lnbmVkIF9ia3RfaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICB1bnNpZ25lZCBfY291bnQsIF9ia3RfY291bnQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgY2hhciAqX3ByZXY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIHN0cnVjdCBVVF9oYXNoX2hhbmRsZSAqX3RoaDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBpZiAoaGVhZCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIF9jb3VudCA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICBmb3IoIF9ia3RfaSA9IDA7IF9ia3RfaSA8IChoZWFkKS0+aGgudGJsLT5udW1fYnVja2V0czsgX2JrdF9pKyspIHsgICAgICAgXAotLSAgICAgICAgICAgIF9ia3RfY291bnQgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICBfdGhoID0gKGhlYWQpLT5oaC50YmwtPmJ1Y2tldHNbX2JrdF9pXS5oaF9oZWFkOyAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgX3ByZXYgPSBOVUxMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIHdoaWxlIChfdGhoKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICBpZiAoX3ByZXYgIT0gKGNoYXIqKShfdGhoLT5oaF9wcmV2KSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgIEhBU0hfT09QUygiaW52YWxpZCBoaF9wcmV2ICVwLCBhY3R1YWwgJXBcbiIsICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgX3RoaC0+aGhfcHJldiwgX3ByZXYgKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgX2JrdF9jb3VudCsrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgIF9wcmV2ID0gKGNoYXIqKShfdGhoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICBfdGhoID0gX3RoaC0+aGhfbmV4dDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIF9jb3VudCArPSBfYmt0X2NvdW50OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICBpZiAoKGhlYWQpLT5oaC50YmwtPmJ1Y2tldHNbX2JrdF9pXS5jb3VudCAhPSAgX2JrdF9jb3VudCkgeyAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgSEFTSF9PT1BTKCJpbnZhbGlkIGJ1Y2tldCBjb3VudCAlZCwgYWN0dWFsICVkXG4iLCAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAoaGVhZCktPmhoLnRibC0+YnVja2V0c1tfYmt0X2ldLmNvdW50LCBfYmt0X2NvdW50KTsgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgaWYgKF9jb3VudCAhPSAoaGVhZCktPmhoLnRibC0+bnVtX2l0ZW1zKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICBIQVNIX09PUFMoImludmFsaWQgaGggaXRlbSBjb3VudCAlZCwgYWN0dWFsICVkXG4iLCAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgIChoZWFkKS0+aGgudGJsLT5udW1faXRlbXMsIF9jb3VudCApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIC8qIHRyYXZlcnNlIGhoIGluIGFwcCBvcmRlcjsgY2hlY2sgbmV4dC9wcmV2IGludGVncml0eSwgY291bnQgKi8gICAgICAgICBcCi0tICAgICAgICBfY291bnQgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgX3ByZXYgPSBOVUxMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIF90aGggPSAgJihoZWFkKS0+aGg7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICB3aGlsZSAoX3RoaCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgX2NvdW50Kys7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgIGlmIChfcHJldiAhPShjaGFyKikoX3RoaC0+cHJldikpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICBIQVNIX09PUFMoImludmFsaWQgcHJldiAlcCwgYWN0dWFsICVwXG4iLCAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgX3RoaC0+cHJldiwgX3ByZXYgKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICBfcHJldiA9IChjaGFyKilFTE1UX0ZST01fSEgoKGhlYWQpLT5oaC50YmwsIF90aGgpOyAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgX3RoaCA9ICggX3RoaC0+bmV4dCA/ICAoVVRfaGFzaF9oYW5kbGUqKSgoY2hhciopKF90aGgtPm5leHQpICsgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGhlYWQpLT5oaC50YmwtPmhobykgOiBOVUxMICk7ICAgICAgICAgICAgICAgICBcCi0tICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgaWYgKF9jb3VudCAhPSAoaGVhZCktPmhoLnRibC0+bnVtX2l0ZW1zKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICBIQVNIX09PUFMoImludmFsaWQgYXBwIGl0ZW0gY291bnQgJWQsIGFjdHVhbCAlZFxuIiwgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgIChoZWFkKS0+aGgudGJsLT5udW1faXRlbXMsIF9jb3VudCApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tfSB3aGlsZSAoMCkKLS0jZWxzZQotLSNkZWZpbmUgSEFTSF9GU0NLKGhoLGhlYWQpIAotLSNlbmRpZgotLQotLS8qIFdoZW4gY29tcGlsZWQgd2l0aCAtREhBU0hfRU1JVF9LRVlTLCBsZW5ndGgtcHJlZml4ZWQga2V5cyBhcmUgZW1pdHRlZCB0byAKLS0gKiB0aGUgZGVzY3JpcHRvciB0byB3aGljaCB0aGlzIG1hY3JvIGlzIGRlZmluZWQgZm9yIHR1bmluZyB0aGUgaGFzaCBmdW5jdGlvbi4KLS0gKiBUaGUgYXBwIGNhbiAjaW5jbHVkZSA8dW5pc3RkLmg+IHRvIGdldCB0aGUgcHJvdG90eXBlIGZvciB3cml0ZSgyKS4gKi8KLS0jaWZkZWYgSEFTSF9FTUlUX0tFWVMKLS0jZGVmaW5lIEhBU0hfRU1JVF9LRVkoaGgsaGVhZCxrZXlwdHIsZmllbGRsZW4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICB1bnNpZ25lZCBfa2xlbiA9IGZpZWxkbGVuOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgd3JpdGUoSEFTSF9FTUlUX0tFWVMsICZfa2xlbiwgc2l6ZW9mKF9rbGVuKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIHdyaXRlKEhBU0hfRU1JVF9LRVlTLCBrZXlwdHIsIGZpZWxkbGVuKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUgKDApCi0tI2Vsc2UgCi0tI2RlZmluZSBIQVNIX0VNSVRfS0VZKGhoLGhlYWQsa2V5cHRyLGZpZWxkbGVuKSAgICAgICAgICAgICAgICAgICAgCi0tI2VuZGlmCi0tCi0tLyogZGVmYXVsdCB0byBKZW5raW4ncyBoYXNoIHVubGVzcyBvdmVycmlkZGVuIGUuZy4gREhBU0hfRlVOQ1RJT049SEFTSF9TQVggKi8KLS0jaWZkZWYgSEFTSF9GVU5DVElPTiAKLS0jZGVmaW5lIEhBU0hfRkNOIEhBU0hfRlVOQ1RJT04KLS0jZWxzZQotLSNkZWZpbmUgSEFTSF9GQ04gSEFTSF9KRU4KLS0jZW5kaWYKLS0KLS0vKiBUaGUgQmVybnN0ZWluIGhhc2ggZnVuY3Rpb24sIHVzZWQgaW4gUGVybCBwcmlvciB0byB2NS42ICovCi0tI2RlZmluZSBIQVNIX0JFUihrZXksa2V5bGVuLG51bV9ia3RzLGhhc2h2LGJrdCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLWRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHVuc2lnbmVkIF9oYl9rZXlsZW49a2V5bGVuOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBjaGFyICpfaGJfa2V5PShjaGFyKikoa2V5KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgKGhhc2h2KSA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHdoaWxlIChfaGJfa2V5bGVuLS0pICB7IChoYXNodikgPSAoKGhhc2h2KSAqIDMzKSArICpfaGJfa2V5Kys7IH0gICAgICAgICAgICAgICBcCi0tICBia3QgPSAoaGFzaHYpICYgKG51bV9ia3RzLTEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUgKDApCi0tCi0tCi0tLyogU0FYL0ZOVi9PQVQvSkVOIGhhc2ggZnVuY3Rpb25zIGFyZSBtYWNybyB2YXJpYW50cyBvZiB0aG9zZSBsaXN0ZWQgYXQgCi0tICogaHR0cDovL2V0ZXJuYWxseWNvbmZ1enpsZWQuY29tL3R1dHMvYWxnb3JpdGhtcy9qc3dfdHV0X2hhc2hpbmcuYXNweCAqLwotLSNkZWZpbmUgSEFTSF9TQVgoa2V5LGtleWxlbixudW1fYmt0cyxoYXNodixia3QpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB1bnNpZ25lZCBfc3hfaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgY2hhciAqX2hzX2tleT0oY2hhciopKGtleSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGhhc2h2ID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBmb3IoX3N4X2k9MDsgX3N4X2kgPCBrZXlsZW47IF9zeF9pKyspICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgIGhhc2h2IF49IChoYXNodiA8PCA1KSArIChoYXNodiA+PiAyKSArIF9oc19rZXlbX3N4X2ldOyAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGJrdCA9IGhhc2h2ICYgKG51bV9ia3RzLTEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tfSB3aGlsZSAoMCkKLS0KLS0jZGVmaW5lIEhBU0hfRk5WKGtleSxrZXlsZW4sbnVtX2JrdHMsaGFzaHYsYmt0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgdW5zaWduZWQgX2ZuX2k7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGNoYXIgKl9oZl9rZXk9KGNoYXIqKShrZXkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBoYXNodiA9IDIxNjYxMzYyNjFVTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgZm9yKF9mbl9pPTA7IF9mbl9pIDwga2V5bGVuOyBfZm5faSsrKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICBoYXNodiA9IChoYXNodiAqIDE2Nzc3NjE5KSBeIF9oZl9rZXlbX2ZuX2ldOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBia3QgPSBoYXNodiAmIChudW1fYmt0cy0xKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUoMCkgCi0tIAotLSNkZWZpbmUgSEFTSF9PQVQoa2V5LGtleWxlbixudW1fYmt0cyxoYXNodixia3QpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB1bnNpZ25lZCBfaG9faTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgY2hhciAqX2hvX2tleT0oY2hhciopKGtleSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGhhc2h2ID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBmb3IoX2hvX2k9MDsgX2hvX2kgPCBrZXlsZW47IF9ob19pKyspIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgIGhhc2h2ICs9IF9ob19rZXlbX2hvX2ldOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICBoYXNodiArPSAoaGFzaHYgPDwgMTApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgaGFzaHYgXj0gKGhhc2h2ID4+IDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGhhc2h2ICs9IChoYXNodiA8PCAzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBoYXNodiBePSAoaGFzaHYgPj4gMTEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgaGFzaHYgKz0gKGhhc2h2IDw8IDE1KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGJrdCA9IGhhc2h2ICYgKG51bV9ia3RzLTEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tfSB3aGlsZSgwKQotLQotLSNkZWZpbmUgSEFTSF9KRU5fTUlYKGEsYixjKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBhIC09IGI7IGEgLT0gYzsgYSBePSAoIGMgPj4gMTMgKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgYiAtPSBjOyBiIC09IGE7IGIgXj0gKCBhIDw8IDggKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGMgLT0gYTsgYyAtPSBiOyBjIF49ICggYiA+PiAxMyApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBhIC09IGI7IGEgLT0gYzsgYSBePSAoIGMgPj4gMTIgKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgYiAtPSBjOyBiIC09IGE7IGIgXj0gKCBhIDw8IDE2ICk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGMgLT0gYTsgYyAtPSBiOyBjIF49ICggYiA+PiA1ICk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBhIC09IGI7IGEgLT0gYzsgYSBePSAoIGMgPj4gMyApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgYiAtPSBjOyBiIC09IGE7IGIgXj0gKCBhIDw8IDEwICk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGMgLT0gYTsgYyAtPSBiOyBjIF49ICggYiA+PiAxNSApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tfSB3aGlsZSAoMCkKLS0KLS0jZGVmaW5lIEhBU0hfSkVOKGtleSxrZXlsZW4sbnVtX2JrdHMsaGFzaHYsYmt0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgdW5zaWduZWQgX2hqX2ksX2hqX2osX2hqX2s7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHVuc2lnbmVkIGNoYXIgKl9oal9rZXk9KHVuc2lnbmVkIGNoYXIqKShrZXkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBoYXNodiA9IDB4ZmVlZGJlZWY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgX2hqX2kgPSBfaGpfaiA9IDB4OWUzNzc5Yjk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIF9oal9rID0gKHVuc2lnbmVkKWtleWxlbjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB3aGlsZSAoX2hqX2sgPj0gMTIpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBfaGpfaSArPSAgICAoX2hqX2tleVswXSArICggKHVuc2lnbmVkKV9oal9rZXlbMV0gPDwgOCApICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICsgKCAodW5zaWduZWQpX2hqX2tleVsyXSA8PCAxNiApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICArICggKHVuc2lnbmVkKV9oal9rZXlbM10gPDwgMjQgKSApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBfaGpfaiArPSAgICAoX2hqX2tleVs0XSArICggKHVuc2lnbmVkKV9oal9rZXlbNV0gPDwgOCApICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICsgKCAodW5zaWduZWQpX2hqX2tleVs2XSA8PCAxNiApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICArICggKHVuc2lnbmVkKV9oal9rZXlbN10gPDwgMjQgKSApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBoYXNodiArPSAoX2hqX2tleVs4XSArICggKHVuc2lnbmVkKV9oal9rZXlbOV0gPDwgOCApICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICsgKCAodW5zaWduZWQpX2hqX2tleVsxMF0gPDwgMTYgKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICArICggKHVuc2lnbmVkKV9oal9rZXlbMTFdIDw8IDI0ICkgKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgIEhBU0hfSkVOX01JWChfaGpfaSwgX2hqX2osIGhhc2h2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgX2hqX2tleSArPSAxMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgIF9oal9rIC09IDEyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgaGFzaHYgKz0ga2V5bGVuOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHN3aXRjaCAoIF9oal9rICkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICBjYXNlIDExOiBoYXNodiArPSAoICh1bnNpZ25lZClfaGpfa2V5WzEwXSA8PCAyNCApOyAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgY2FzZSAxMDogaGFzaHYgKz0gKCAodW5zaWduZWQpX2hqX2tleVs5XSA8PCAxNiApOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgIGNhc2UgOTogIGhhc2h2ICs9ICggKHVuc2lnbmVkKV9oal9rZXlbOF0gPDwgOCApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICBjYXNlIDg6ICBfaGpfaiArPSAoICh1bnNpZ25lZClfaGpfa2V5WzddIDw8IDI0ICk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgY2FzZSA3OiAgX2hqX2ogKz0gKCAodW5zaWduZWQpX2hqX2tleVs2XSA8PCAxNiApOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgIGNhc2UgNjogIF9oal9qICs9ICggKHVuc2lnbmVkKV9oal9rZXlbNV0gPDwgOCApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICBjYXNlIDU6ICBfaGpfaiArPSBfaGpfa2V5WzRdOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgY2FzZSA0OiAgX2hqX2kgKz0gKCAodW5zaWduZWQpX2hqX2tleVszXSA8PCAyNCApOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgIGNhc2UgMzogIF9oal9pICs9ICggKHVuc2lnbmVkKV9oal9rZXlbMl0gPDwgMTYgKTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICBjYXNlIDI6ICBfaGpfaSArPSAoICh1bnNpZ25lZClfaGpfa2V5WzFdIDw8IDggKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgY2FzZSAxOiAgX2hqX2kgKz0gX2hqX2tleVswXTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBIQVNIX0pFTl9NSVgoX2hqX2ksIF9oal9qLCBoYXNodik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgYmt0ID0gaGFzaHYgJiAobnVtX2JrdHMtMSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS19IHdoaWxlKDApCi0tCi0tLyogVGhlIFBhdWwgSHNpZWggaGFzaCBmdW5jdGlvbiAqLwotLSN1bmRlZiBnZXQxNmJpdHMKLS0jaWYgKGRlZmluZWQoX19HTlVDX18pICYmIGRlZmluZWQoX19pMzg2X18pKSB8fCBkZWZpbmVkKF9fV0FUQ09NQ19fKSAgICAgICAgICAgICBcCi0tICB8fCBkZWZpbmVkKF9NU0NfVkVSKSB8fCBkZWZpbmVkIChfX0JPUkxBTkRDX18pIHx8IGRlZmluZWQgKF9fVFVSQk9DX18pCi0tI2RlZmluZSBnZXQxNmJpdHMoZCkgKCooKGNvbnN0IHVpbnQxNl90ICopIChkKSkpCi0tI2VuZGlmCi0tCi0tI2lmICFkZWZpbmVkIChnZXQxNmJpdHMpCi0tI2RlZmluZSBnZXQxNmJpdHMoZCkgKCgoKHVpbnQzMl90KSgoKGNvbnN0IHVpbnQ4X3QgKikoZCkpWzFdKSkgPDwgOCkgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICAgKyh1aW50MzJfdCkoKChjb25zdCB1aW50OF90ICopKGQpKVswXSkgKQotLSNlbmRpZgotLSNkZWZpbmUgSEFTSF9TRkgoa2V5LGtleWxlbixudW1fYmt0cyxoYXNodixia3QpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB1bnNpZ25lZCBjaGFyICpfc2ZoX2tleT0odW5zaWduZWQgY2hhciopKGtleSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgdWludDMyX3QgX3NmaF90bXAsIF9zZmhfbGVuID0ga2V5bGVuOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBpbnQgX3NmaF9yZW0gPSBfc2ZoX2xlbiAmIDM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgX3NmaF9sZW4gPj49IDI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGhhc2h2ID0gMHhjYWZlYmFiZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgLyogTWFpbiBsb29wICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGZvciAoO19zZmhfbGVuID4gMDsgX3NmaF9sZW4tLSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIGhhc2h2ICAgICs9IGdldDE2Yml0cyAoX3NmaF9rZXkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBfc2ZoX3RtcCAgICAgICA9ICh1aW50MzJfdCkoZ2V0MTZiaXRzIChfc2ZoX2tleSsyKSkgPDwgMTEgIF4gaGFzaHY7ICAgICAgICAgIFwKLS0gICAgaGFzaHYgICAgID0gKGhhc2h2IDw8IDE2KSBeIF9zZmhfdG1wOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIF9zZmhfa2V5ICs9IDIqc2l6ZW9mICh1aW50MTZfdCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBoYXNodiAgICArPSBoYXNodiA+PiAxMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgLyogSGFuZGxlIGVuZCBjYXNlcyAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHN3aXRjaCAoX3NmaF9yZW0pIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIGNhc2UgMzogaGFzaHYgKz0gZ2V0MTZiaXRzIChfc2ZoX2tleSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIGhhc2h2IF49IGhhc2h2IDw8IDE2OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICBoYXNodiBePSAodWludDMyX3QpKF9zZmhfa2V5W3NpemVvZiAodWludDE2X3QpXSA8PCAxOCk7ICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgaGFzaHYgKz0gaGFzaHYgPj4gMTE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIGJyZWFrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgY2FzZSAyOiBoYXNodiArPSBnZXQxNmJpdHMgKF9zZmhfa2V5KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgaGFzaHYgXj0gaGFzaHYgPDwgMTE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIGhhc2h2ICs9IGhhc2h2ID4+IDE3OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICBicmVhazsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIGNhc2UgMTogaGFzaHYgKz0gKl9zZmhfa2V5OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIGhhc2h2IF49IGhhc2h2IDw8IDEwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICBoYXNodiArPSBoYXNodiA+PiAxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgLyogRm9yY2UgImF2YWxhbmNoaW5nIiBvZiBmaW5hbCAxMjcgYml0cyAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIGhhc2h2IF49IGhhc2h2IDw8IDM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBoYXNodiArPSBoYXNodiA+PiA1OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgaGFzaHYgXj0gaGFzaHYgPDwgNDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIGhhc2h2ICs9IGhhc2h2ID4+IDE3OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBoYXNodiBePSBoYXNodiA8PCAyNTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgaGFzaHYgKz0gaGFzaHYgPj4gNjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIGJrdCA9IGhhc2h2ICYgKG51bV9ia3RzLTEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUoMCkgCi0tCi0tI2lmZGVmIEhBU0hfVVNJTkdfTk9fU1RSSUNUX0FMSUFTSU5HCi0tLyogVGhlIE11cm11ckhhc2ggZXhwbG9pdHMgc29tZSBDUFUncyAoeDg2LHg4Nl82NCkgdG9sZXJhbmNlIGZvciB1bmFsaWduZWQgcmVhZHMuCi0tICogRm9yIG90aGVyIHR5cGVzIG9mIENQVSdzIChlLmcuIFNwYXJjKSBhbiB1bmFsaWduZWQgcmVhZCBjYXVzZXMgYSBidXMgZXJyb3IuCi0tICogTXVybXVySGFzaCB1c2VzIHRoZSBmYXN0ZXIgYXBwcm9hY2ggb25seSBvbiBDUFUncyB3aGVyZSB3ZSBrbm93IGl0J3Mgc2FmZS4gCi0tICoKLS0gKiBOb3RlIHRoZSBwcmVwcm9jZXNzb3IgYnVpbHQtaW4gZGVmaW5lcyBjYW4gYmUgZW1pdHRlZCB1c2luZzoKLS0gKgotLSAqICAgZ2NjIC1tNjQgLWRNIC1FIC0gPCAvZGV2L251bGwgICAgICAgICAgICAgICAgICAob24gZ2NjKQotLSAqICAgY2MgLSMjIGEuYyAod2hlcmUgYS5jIGlzIGEgc2ltcGxlIHRlc3QgZmlsZSkgICAoU3VuIFN0dWRpbykKLS0gKi8KLS0jaWYgKGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgIHx8IGRlZmluZWQoX01fSVg4NikpCi0tI2RlZmluZSBNVVJfR0VUQkxPQ0socCxpKSBwW2ldCi0tI2Vsc2UgLyogbm9uIGludGVsICovCi0tI2RlZmluZSBNVVJfUExVUzBfQUxJR05FRChwKSAoKCh1bnNpZ25lZCBsb25nKXAgJiAweDMpID09IDApCi0tI2RlZmluZSBNVVJfUExVUzFfQUxJR05FRChwKSAoKCh1bnNpZ25lZCBsb25nKXAgJiAweDMpID09IDEpCi0tI2RlZmluZSBNVVJfUExVUzJfQUxJR05FRChwKSAoKCh1bnNpZ25lZCBsb25nKXAgJiAweDMpID09IDIpCi0tI2RlZmluZSBNVVJfUExVUzNfQUxJR05FRChwKSAoKCh1bnNpZ25lZCBsb25nKXAgJiAweDMpID09IDMpCi0tI2RlZmluZSBXUChwKSAoKHVpbnQzMl90KikoKHVuc2lnbmVkIGxvbmcpKHApICYgfjNVTCkpCi0tI2lmIChkZWZpbmVkKF9fQklHX0VORElBTl9fKSB8fCBkZWZpbmVkKFNQQVJDKSB8fCBkZWZpbmVkKF9fcHBjX18pIHx8IGRlZmluZWQoX19wcGM2NF9fKSkKLS0jZGVmaW5lIE1VUl9USFJFRV9PTkUocCkgKCgoKCpXUChwKSkmMHgwMGZmZmZmZikgPDwgOCkgfCAoKCgqKFdQKHApKzEpKSYweGZmMDAwMDAwKSA+PiAyNCkpCi0tI2RlZmluZSBNVVJfVFdPX1RXTyhwKSAgICgoKCgqV1AocCkpJjB4MDAwMGZmZmYpIDw8MTYpIHwgKCgoKihXUChwKSsxKSkmMHhmZmZmMDAwMCkgPj4gMTYpKQotLSNkZWZpbmUgTVVSX09ORV9USFJFRShwKSAoKCgoKldQKHApKSYweDAwMDAwMGZmKSA8PDI0KSB8ICgoKCooV1AocCkrMSkpJjB4ZmZmZmZmMDApID4+ICA4KSkKLS0jZWxzZSAvKiBhc3N1bWUgbGl0dGxlIGVuZGlhbiBub24taW50ZWwgKi8KLS0jZGVmaW5lIE1VUl9USFJFRV9PTkUocCkgKCgoKCpXUChwKSkmMHhmZmZmZmYwMCkgPj4gOCkgfCAoKCgqKFdQKHApKzEpKSYweDAwMDAwMGZmKSA8PCAyNCkpCi0tI2RlZmluZSBNVVJfVFdPX1RXTyhwKSAgICgoKCgqV1AocCkpJjB4ZmZmZjAwMDApID4+MTYpIHwgKCgoKihXUChwKSsxKSkmMHgwMDAwZmZmZikgPDwgMTYpKQotLSNkZWZpbmUgTVVSX09ORV9USFJFRShwKSAoKCgoKldQKHApKSYweGZmMDAwMDAwKSA+PjI0KSB8ICgoKCooV1AocCkrMSkpJjB4MDBmZmZmZmYpIDw8ICA4KSkKLS0jZW5kaWYKLS0jZGVmaW5lIE1VUl9HRVRCTE9DSyhwLGkpIChNVVJfUExVUzBfQUxJR05FRChwKSA/ICgocClbaV0pIDogICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKE1VUl9QTFVTMV9BTElHTkVEKHApID8gTVVSX1RIUkVFX09ORShwKSA6IFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChNVVJfUExVUzJfQUxJR05FRChwKSA/IE1VUl9UV09fVFdPKHApIDogIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNVVJfT05FX1RIUkVFKHApKSkpCi0tI2VuZGlmCi0tI2RlZmluZSBNVVJfUk9UTDMyKHgscikgKCgoeCkgPDwgKHIpKSB8ICgoeCkgPj4gKDMyIC0gKHIpKSkpCi0tI2RlZmluZSBNVVJfRk1JWChfaCkgXAotLWRvIHsgICAgICAgICAgICAgICAgIFwKLS0gIF9oIF49IF9oID4+IDE2OyAgICBcCi0tICBfaCAqPSAweDg1ZWJjYTZiOyAgXAotLSAgX2ggXj0gX2ggPj4gMTM7ICAgIFwKLS0gIF9oICo9IDB4YzJiMmFlMzVsOyBcCi0tICBfaCBePSBfaCA+PiAxNjsgICAgXAotLX0gd2hpbGUoMCkKLS0KLS0jZGVmaW5lIEhBU0hfTVVSKGtleSxrZXlsZW4sbnVtX2JrdHMsaGFzaHYsYmt0KSAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGNvbnN0IHVpbnQ4X3QgKl9tdXJfZGF0YSA9IChjb25zdCB1aW50OF90Kikoa2V5KTsgICAgICAgICAgICAgICAgICAgIFwKLS0gIGNvbnN0IGludCBfbXVyX25ibG9ja3MgPSAoa2V5bGVuKSAvIDQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHVpbnQzMl90IF9tdXJfaDEgPSAweGY4OEQ1MzUzOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHVpbnQzMl90IF9tdXJfYzEgPSAweGNjOWUyZDUxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHVpbnQzMl90IF9tdXJfYzIgPSAweDFiODczNTkzOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHVpbnQzMl90IF9tdXJfazEgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGNvbnN0IHVpbnQ4X3QgKl9tdXJfdGFpbDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGNvbnN0IHVpbnQzMl90ICpfbXVyX2Jsb2NrcyA9IChjb25zdCB1aW50MzJfdCopKF9tdXJfZGF0YStfbXVyX25ibG9ja3MqNCk7IFwKLS0gIGludCBfbXVyX2k7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGZvcihfbXVyX2kgPSAtX211cl9uYmxvY2tzOyBfbXVyX2k7IF9tdXJfaSsrKSB7ICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgX211cl9rMSA9IE1VUl9HRVRCTE9DSyhfbXVyX2Jsb2NrcyxfbXVyX2kpOyAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgX211cl9rMSAqPSBfbXVyX2MxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgX211cl9rMSA9IE1VUl9ST1RMMzIoX211cl9rMSwxNSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgX211cl9rMSAqPSBfbXVyX2MyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgX211cl9oMSBePSBfbXVyX2sxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgX211cl9oMSA9IE1VUl9ST1RMMzIoX211cl9oMSwxMyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgX211cl9oMSA9IF9tdXJfaDEqNSsweGU2NTQ2YjY0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIF9tdXJfdGFpbCA9IChjb25zdCB1aW50OF90KikoX211cl9kYXRhICsgX211cl9uYmxvY2tzKjQpOyAgICAgICAgICAgIFwKLS0gIF9tdXJfazE9MDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHN3aXRjaCgoa2V5bGVuKSAmIDMpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgY2FzZSAzOiBfbXVyX2sxIF49IF9tdXJfdGFpbFsyXSA8PCAxNjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgY2FzZSAyOiBfbXVyX2sxIF49IF9tdXJfdGFpbFsxXSA8PCA4OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgY2FzZSAxOiBfbXVyX2sxIF49IF9tdXJfdGFpbFswXTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgX211cl9rMSAqPSBfbXVyX2MxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgX211cl9rMSA9IE1VUl9ST1RMMzIoX211cl9rMSwxNSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgX211cl9rMSAqPSBfbXVyX2MyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgX211cl9oMSBePSBfbXVyX2sxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIF9tdXJfaDEgXj0gKGtleWxlbik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIE1VUl9GTUlYKF9tdXJfaDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGhhc2h2ID0gX211cl9oMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGJrdCA9IGhhc2h2ICYgKG51bV9ia3RzLTEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS19IHdoaWxlKDApCi0tI2VuZGlmICAvKiBIQVNIX1VTSU5HX05PX1NUUklDVF9BTElBU0lORyAqLwotLQotLS8qIGtleSBjb21wYXJpc29uIGZ1bmN0aW9uOyByZXR1cm4gMCBpZiBrZXlzIGVxdWFsICovCi0tI2RlZmluZSBIQVNIX0tFWUNNUChhLGIsbGVuKSBtZW1jbXAoYSxiLGxlbikgCi0tCi0tLyogaXRlcmF0ZSBvdmVyIGl0ZW1zIGluIGEga25vd24gYnVja2V0IHRvIGZpbmQgZGVzaXJlZCBpdGVtICovCi0tI2RlZmluZSBIQVNIX0ZJTkRfSU5fQktUKHRibCxoaCxoZWFkLGtleXB0cixrZXlsZW5faW4sb3V0KSAgICAgICAgICAgICAgICAgICAgICAgXAotLWRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gaWYgKGhlYWQuaGhfaGVhZCkgREVDTFRZUEVfQVNTSUdOKG91dCxFTE1UX0ZST01fSEgodGJsLGhlYWQuaGhfaGVhZCkpOyAgICAgICAgICBcCi0tIGVsc2Ugb3V0PU5VTEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSB3aGlsZSAob3V0KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgaWYgKChvdXQpLT5oaC5rZXlsZW4gPT0ga2V5bGVuX2luKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIGlmICgoSEFTSF9LRVlDTVAoKG91dCktPmhoLmtleSxrZXlwdHIsa2V5bGVuX2luKSkgPT0gMCkgYnJlYWs7ICAgICAgICAgICAgIFwKLS0gICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIGlmICgob3V0KS0+aGguaGhfbmV4dCkgREVDTFRZUEVfQVNTSUdOKG91dCxFTE1UX0ZST01fSEgodGJsLChvdXQpLT5oaC5oaF9uZXh0KSk7IFwKLS0gICAgZWxzZSBvdXQgPSBOVUxMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUoMCkKLS0KLS0vKiBhZGQgYW4gaXRlbSB0byBhIGJ1Y2tldCAgKi8KLS0jZGVmaW5lIEhBU0hfQUREX1RPX0JLVChoZWFkLGFkZGhoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSBoZWFkLmNvdW50Kys7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gKGFkZGhoKS0+aGhfbmV4dCA9IGhlYWQuaGhfaGVhZDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tIChhZGRoaCktPmhoX3ByZXYgPSBOVUxMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSBpZiAoaGVhZC5oaF9oZWFkKSB7IChoZWFkKS5oaF9oZWFkLT5oaF9wcmV2ID0gKGFkZGhoKTsgfSAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gKGhlYWQpLmhoX2hlYWQ9YWRkaGg7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tIGlmIChoZWFkLmNvdW50ID49ICgoaGVhZC5leHBhbmRfbXVsdCsxKSAqIEhBU0hfQktUX0NBUEFDSVRZX1RIUkVTSCkgICAgICAgICAgICAgXAotLSAgICAgJiYgKGFkZGhoKS0+dGJsLT5ub2V4cGFuZCAhPSAxKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgSEFTSF9FWFBBTkRfQlVDS0VUUygoYWRkaGgpLT50YmwpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUoMCkKLS0KLS0vKiByZW1vdmUgYW4gaXRlbSBmcm9tIGEgZ2l2ZW4gYnVja2V0ICovCi0tI2RlZmluZSBIQVNIX0RFTF9JTl9CS1QoaGgsaGVhZCxoaF9kZWwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAoaGVhZCkuY291bnQtLTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgaWYgKChoZWFkKS5oaF9oZWFkID09IGhoX2RlbCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgKGhlYWQpLmhoX2hlYWQgPSBoaF9kZWwtPmhoX25leHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgaWYgKGhoX2RlbC0+aGhfcHJldikgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICBoaF9kZWwtPmhoX3ByZXYtPmhoX25leHQgPSBoaF9kZWwtPmhoX25leHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgaWYgKGhoX2RlbC0+aGhfbmV4dCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICBoaF9kZWwtPmhoX25leHQtPmhoX3ByZXYgPSBoaF9kZWwtPmhoX3ByZXY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAotLQotLS8qIEJ1Y2tldCBleHBhbnNpb24gaGFzIHRoZSBlZmZlY3Qgb2YgZG91YmxpbmcgdGhlIG51bWJlciBvZiBidWNrZXRzCi0tICogYW5kIHJlZGlzdHJpYnV0aW5nIHRoZSBpdGVtcyBpbnRvIHRoZSBuZXcgYnVja2V0cy4gSWRlYWxseSB0aGUKLS0gKiBpdGVtcyB3aWxsIGRpc3RyaWJ1dGUgbW9yZSBvciBsZXNzIGV2ZW5seSBpbnRvIHRoZSBuZXcgYnVja2V0cwotLSAqICh0aGUgZXh0ZW50IHRvIHdoaWNoIHRoaXMgaXMgdHJ1ZSBpcyBhIG1lYXN1cmUgb2YgdGhlIHF1YWxpdHkgb2YKLS0gKiB0aGUgaGFzaCBmdW5jdGlvbiBhcyBpdCBhcHBsaWVzIHRvIHRoZSBrZXkgZG9tYWluKS4gCi0tICogCi0tICogV2l0aCB0aGUgaXRlbXMgZGlzdHJpYnV0ZWQgaW50byBtb3JlIGJ1Y2tldHMsIHRoZSBjaGFpbiBsZW5ndGgKLS0gKiAoaXRlbSBjb3VudCkgaW4gZWFjaCBidWNrZXQgaXMgcmVkdWNlZC4gVGh1cyBieSBleHBhbmRpbmcgYnVja2V0cwotLSAqIHRoZSBoYXNoIGtlZXBzIGEgYm91bmQgb24gdGhlIGNoYWluIGxlbmd0aC4gVGhpcyBib3VuZGVkIGNoYWluIAotLSAqIGxlbmd0aCBpcyB0aGUgZXNzZW5jZSBvZiBob3cgYSBoYXNoIHByb3ZpZGVzIGNvbnN0YW50IHRpbWUgbG9va3VwLgotLSAqIAotLSAqIFRoZSBjYWxjdWxhdGlvbiBvZiB0YmwtPmlkZWFsX2NoYWluX21heGxlbiBiZWxvdyBkZXNlcnZlcyBzb21lCi0tICogZXhwbGFuYXRpb24uIEZpcnN0LCBrZWVwIGluIG1pbmQgdGhhdCB3ZSdyZSBjYWxjdWxhdGluZyB0aGUgaWRlYWwKLS0gKiBtYXhpbXVtIGNoYWluIGxlbmd0aCBiYXNlZCBvbiB0aGUgKm5ldyogKGRvdWJsZWQpIGJ1Y2tldCBjb3VudC4KLS0gKiBJbiBmcmFjdGlvbnMgdGhpcyBpcyBqdXN0IG4vYiAobj1udW1iZXIgb2YgaXRlbXMsYj1uZXcgbnVtIGJ1Y2tldHMpLgotLSAqIFNpbmNlIHRoZSBpZGVhbCBjaGFpbiBsZW5ndGggaXMgYW4gaW50ZWdlciwgd2Ugd2FudCB0byBjYWxjdWxhdGUgCi0tICogY2VpbChuL2IpLiBXZSBkb24ndCBkZXBlbmQgb24gZmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBpbiB0aGlzCi0tICogaGFzaCwgc28gdG8gY2FsY3VsYXRlIGNlaWwobi9iKSB3aXRoIGludGVnZXJzIHdlIGNvdWxkIHdyaXRlCi0tICogCi0tICogICAgICBjZWlsKG4vYikgPSAobi9iKSArICgobiViKT8xOjApCi0tICogCi0tICogYW5kIGluIGZhY3QgYSBwcmV2aW91cyB2ZXJzaW9uIG9mIHRoaXMgaGFzaCBkaWQganVzdCB0aGF0LgotLSAqIEJ1dCBub3cgd2UgaGF2ZSBpbXByb3ZlZCB0aGluZ3MgYSBiaXQgYnkgcmVjb2duaXppbmcgdGhhdCBiIGlzCi0tICogYWx3YXlzIGEgcG93ZXIgb2YgdHdvLiBXZSBrZWVwIGl0cyBiYXNlIDIgbG9nIGhhbmR5IChjYWxsIGl0IGxiKSwKLS0gKiBzbyBub3cgd2UgY2FuIHdyaXRlIHRoaXMgd2l0aCBhIGJpdCBzaGlmdCBhbmQgbG9naWNhbCBBTkQ6Ci0tICogCi0tICogICAgICBjZWlsKG4vYikgPSAobj4+bGIpICsgKCAobiAmIChiLTEpKSA/IDE6MCkKLS0gKiAKLS0gKi8KLS0jZGVmaW5lIEhBU0hfRVhQQU5EX0JVQ0tFVFModGJsKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICB1bnNpZ25lZCBfaGVfYmt0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgdW5zaWduZWQgX2hlX2JrdF9pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIHN0cnVjdCBVVF9oYXNoX2hhbmRsZSAqX2hlX3RoaCwgKl9oZV9oaF9ueHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBVVF9oYXNoX2J1Y2tldCAqX2hlX25ld19idWNrZXRzLCAqX2hlX25ld2JrdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgX2hlX25ld19idWNrZXRzID0gKFVUX2hhc2hfYnVja2V0Kil1dGhhc2hfbWFsbG9jKCAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgIDIgKiB0YmwtPm51bV9idWNrZXRzICogc2l6ZW9mKHN0cnVjdCBVVF9oYXNoX2J1Y2tldCkpOyAgICAgICAgICAgICAgXAotLSAgICBpZiAoIV9oZV9uZXdfYnVja2V0cykgeyB1dGhhc2hfZmF0YWwoICJvdXQgb2YgbWVtb3J5Iik7IH0gICAgICAgICAgICAgICAgICAgIFwKLS0gICAgbWVtc2V0KF9oZV9uZXdfYnVja2V0cywgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgMiAqIHRibC0+bnVtX2J1Y2tldHMgKiBzaXplb2Yoc3RydWN0IFVUX2hhc2hfYnVja2V0KSk7ICAgICAgICAgICAgICAgXAotLSAgICB0YmwtPmlkZWFsX2NoYWluX21heGxlbiA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgKHRibC0+bnVtX2l0ZW1zID4+ICh0YmwtPmxvZzJfbnVtX2J1Y2tldHMrMSkpICsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICgodGJsLT5udW1faXRlbXMgJiAoKHRibC0+bnVtX2J1Y2tldHMqMiktMSkpID8gMSA6IDApOyAgICAgICAgICAgICAgICAgICAgXAotLSAgICB0YmwtPm5vbmlkZWFsX2l0ZW1zID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgZm9yKF9oZV9ia3RfaSA9IDA7IF9oZV9ia3RfaSA8IHRibC0+bnVtX2J1Y2tldHM7IF9oZV9ia3RfaSsrKSAgICAgICAgICAgICAgICBcCi0tICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgX2hlX3RoaCA9IHRibC0+YnVja2V0c1sgX2hlX2JrdF9pIF0uaGhfaGVhZDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIHdoaWxlIChfaGVfdGhoKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICBfaGVfaGhfbnh0ID0gX2hlX3RoaC0+aGhfbmV4dDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgSEFTSF9UT19CS1QoIF9oZV90aGgtPmhhc2h2LCB0YmwtPm51bV9idWNrZXRzKjIsIF9oZV9ia3QpOyAgICAgICAgICAgIFwKLS0gICAgICAgICAgIF9oZV9uZXdia3QgPSAmKF9oZV9uZXdfYnVja2V0c1sgX2hlX2JrdCBdKTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICBpZiAoKysoX2hlX25ld2JrdC0+Y291bnQpID4gdGJsLT5pZGVhbF9jaGFpbl9tYXhsZW4pIHsgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICB0YmwtPm5vbmlkZWFsX2l0ZW1zKys7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgX2hlX25ld2JrdC0+ZXhwYW5kX211bHQgPSBfaGVfbmV3Ymt0LT5jb3VudCAvICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRibC0+aWRlYWxfY2hhaW5fbWF4bGVuOyAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgIF9oZV90aGgtPmhoX3ByZXYgPSBOVUxMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICBfaGVfdGhoLT5oaF9uZXh0ID0gX2hlX25ld2JrdC0+aGhfaGVhZDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgaWYgKF9oZV9uZXdia3QtPmhoX2hlYWQpIF9oZV9uZXdia3QtPmhoX2hlYWQtPmhoX3ByZXYgPSAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgX2hlX3RoaDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICBfaGVfbmV3Ymt0LT5oaF9oZWFkID0gX2hlX3RoaDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgX2hlX3RoaCA9IF9oZV9oaF9ueHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICB1dGhhc2hfZnJlZSggdGJsLT5idWNrZXRzLCB0YmwtPm51bV9idWNrZXRzKnNpemVvZihzdHJ1Y3QgVVRfaGFzaF9idWNrZXQpICk7IFwKLS0gICAgdGJsLT5udW1fYnVja2V0cyAqPSAyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIHRibC0+bG9nMl9udW1fYnVja2V0cysrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICB0YmwtPmJ1Y2tldHMgPSBfaGVfbmV3X2J1Y2tldHM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgdGJsLT5pbmVmZl9leHBhbmRzID0gKHRibC0+bm9uaWRlYWxfaXRlbXMgPiAodGJsLT5udW1faXRlbXMgPj4gMSkpID8gICAgICAgICBcCi0tICAgICAgICAodGJsLT5pbmVmZl9leHBhbmRzKzEpIDogMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBpZiAodGJsLT5pbmVmZl9leHBhbmRzID4gMSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIHRibC0+bm9leHBhbmQ9MTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICB1dGhhc2hfbm9leHBhbmRfZnlpKHRibCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgdXRoYXNoX2V4cGFuZF9meWkodGJsKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tfSB3aGlsZSgwKQotLQotLQotLS8qIFRoaXMgaXMgYW4gYWRhcHRhdGlvbiBvZiBTaW1vbiBUYXRoYW0ncyBPKG4gbG9nKG4pKSBtZXJnZXNvcnQgKi8KLS0vKiBOb3RlIHRoYXQgSEFTSF9TT1JUIGFzc3VtZXMgdGhlIGhhc2ggaGFuZGxlIG5hbWUgdG8gYmUgaGguIAotLSAqIEhBU0hfU1JUIHdhcyBhZGRlZCB0byBhbGxvdyB0aGUgaGFzaCBoYW5kbGUgbmFtZSB0byBiZSBwYXNzZWQgaW4uICovCi0tI2RlZmluZSBIQVNIX1NPUlQoaGVhZCxjbXBmY24pIEhBU0hfU1JUKGhoLGhlYWQsY21wZmNuKQotLSNkZWZpbmUgSEFTSF9TUlQoaGgsaGVhZCxjbXBmY24pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB1bnNpZ25lZCBfaHNfaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgdW5zaWduZWQgX2hzX2xvb3BpbmcsX2hzX25tZXJnZXMsX2hzX2luc2l6ZSxfaHNfcHNpemUsX2hzX3FzaXplOyAgICAgICAgICAgICAgIFwKLS0gIHN0cnVjdCBVVF9oYXNoX2hhbmRsZSAqX2hzX3AsICpfaHNfcSwgKl9oc19lLCAqX2hzX2xpc3QsICpfaHNfdGFpbDsgICAgICAgICAgICBcCi0tICBpZiAoaGVhZCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgIF9oc19pbnNpemUgPSAxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICBfaHNfbG9vcGluZyA9IDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgX2hzX2xpc3QgPSAmKChoZWFkKS0+aGgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgIHdoaWxlIChfaHNfbG9vcGluZykgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgX2hzX3AgPSBfaHNfbGlzdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgIF9oc19saXN0ID0gTlVMTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICBfaHNfdGFpbCA9IE5VTEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgX2hzX25tZXJnZXMgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgIHdoaWxlIChfaHNfcCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgX2hzX25tZXJnZXMrKzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgIF9oc19xID0gX2hzX3A7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICBfaHNfcHNpemUgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgZm9yICggX2hzX2kgPSAwOyBfaHNfaSAgPCBfaHNfaW5zaXplOyBfaHNfaSsrICkgeyAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICBfaHNfcHNpemUrKzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgX2hzX3EgPSAoVVRfaGFzaF9oYW5kbGUqKSgoX2hzX3EtPm5leHQpID8gICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgKCh2b2lkKikoKGNoYXIqKShfaHNfcS0+bmV4dCkgKyAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgIChoZWFkKS0+aGgudGJsLT5oaG8pKSA6IE5VTEwpOyAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgaWYgKCEgKF9oc19xKSApIGJyZWFrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgIF9oc19xc2l6ZSA9IF9oc19pbnNpemU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICB3aGlsZSAoKF9oc19wc2l6ZSA+IDApIHx8ICgoX2hzX3FzaXplID4gMCkgJiYgX2hzX3EgKSkgeyAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgIGlmIChfaHNfcHNpemUgPT0gMCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgX2hzX2UgPSBfaHNfcTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgIF9oc19xID0gKFVUX2hhc2hfaGFuZGxlKikoKF9oc19xLT5uZXh0KSA/ICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodm9pZCopKChjaGFyKikoX2hzX3EtPm5leHQpICsgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaGVhZCktPmhoLnRibC0+aGhvKSkgOiBOVUxMKTsgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgIF9oc19xc2l6ZS0tOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIChfaHNfcXNpemUgPT0gMCkgfHwgIShfaHNfcSkgKSB7ICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgX2hzX2UgPSBfaHNfcDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgIGlmIChfaHNfcCl7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICAgIF9oc19wID0gKFVUX2hhc2hfaGFuZGxlKikoKF9oc19wLT5uZXh0KSA/ICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodm9pZCopKChjaGFyKikoX2hzX3AtPm5leHQpICsgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaGVhZCktPmhoLnRibC0+aGhvKSkgOiBOVUxMKTsgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgX2hzX3BzaXplLS07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICBjbXBmY24oREVDTFRZUEUoaGVhZCkoRUxNVF9GUk9NX0hIKChoZWFkKS0+aGgudGJsLF9oc19wKSksIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIERFQ0xUWVBFKGhlYWQpKEVMTVRfRlJPTV9ISCgoaGVhZCktPmhoLnRibCxfaHNfcSkpKSBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDw9IDApIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICBfaHNfZSA9IF9oc19wOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgaWYgKF9oc19wKXsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgX2hzX3AgPSAoVVRfaGFzaF9oYW5kbGUqKSgoX2hzX3AtPm5leHQpID8gICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHZvaWQqKSgoY2hhciopKF9oc19wLT5uZXh0KSArICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGhlYWQpLT5oaC50YmwtPmhobykpIDogTlVMTCk7ICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICBfaHNfcHNpemUtLTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICB9IGVsc2UgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgIF9oc19lID0gX2hzX3E7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICBfaHNfcSA9IChVVF9oYXNoX2hhbmRsZSopKChfaHNfcS0+bmV4dCkgPyAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHZvaWQqKSgoY2hhciopKF9oc19xLT5uZXh0KSArICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGhlYWQpLT5oaC50YmwtPmhobykpIDogTlVMTCk7ICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICBfaHNfcXNpemUtLTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgaWYgKCBfaHNfdGFpbCApIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICBfaHNfdGFpbC0+bmV4dCA9ICgoX2hzX2UpID8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgRUxNVF9GUk9NX0hIKChoZWFkKS0+aGgudGJsLF9oc19lKSA6IE5VTEwpOyAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgfSBlbHNlIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICBfaHNfbGlzdCA9IF9oc19lOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgaWYgKF9oc19lKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgIF9oc19lLT5wcmV2ID0gKChfaHNfdGFpbCkgPyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICBFTE1UX0ZST01fSEgoKGhlYWQpLT5oaC50YmwsX2hzX3RhaWwpIDogTlVMTCk7ICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgIF9oc190YWlsID0gX2hzX2U7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICBfaHNfcCA9IF9oc19xOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgaWYgKF9oc190YWlsKXsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgX2hzX3RhaWwtPm5leHQgPSBOVUxMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgaWYgKCBfaHNfbm1lcmdlcyA8PSAxICkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICBfaHNfbG9vcGluZz0wOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgKGhlYWQpLT5oaC50YmwtPnRhaWwgPSBfaHNfdGFpbDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgIERFQ0xUWVBFX0FTU0lHTihoZWFkLEVMTVRfRlJPTV9ISCgoaGVhZCktPmhoLnRibCwgX2hzX2xpc3QpKTsgICAgICBcCi0tICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICBfaHNfaW5zaXplICo9IDI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgSEFTSF9GU0NLKGhoLGhlYWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS19IHdoaWxlICgwKQotLQotLS8qIFRoaXMgZnVuY3Rpb24gc2VsZWN0cyBpdGVtcyBmcm9tIG9uZSBoYXNoIGludG8gYW5vdGhlciBoYXNoLiAKLS0gKiBUaGUgZW5kIHJlc3VsdCBpcyB0aGF0IHRoZSBzZWxlY3RlZCBpdGVtcyBoYXZlIGR1YWwgcHJlc2VuY2UgCi0tICogaW4gYm90aCBoYXNoZXMuIFRoZXJlIGlzIG5vIGNvcHkgb2YgdGhlIGl0ZW1zIG1hZGU7IHJhdGhlciAKLS0gKiB0aGV5IGFyZSBhZGRlZCBpbnRvIHRoZSBuZXcgaGFzaCB0aHJvdWdoIGEgc2Vjb25kYXJ5IGhhc2ggCi0tICogaGFzaCBoYW5kbGUgdGhhdCBtdXN0IGJlIHByZXNlbnQgaW4gdGhlIHN0cnVjdHVyZS4gKi8KLS0jZGVmaW5lIEhBU0hfU0VMRUNUKGhoX2RzdCwgZHN0LCBoaF9zcmMsIHNyYywgY29uZCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgdW5zaWduZWQgX3NyY19ia3QsIF9kc3RfYmt0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHZvaWQgKl9sYXN0X2VsdD1OVUxMLCAqX2VsdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBVVF9oYXNoX2hhbmRsZSAqX3NyY19oaCwgKl9kc3RfaGgsICpfbGFzdF9lbHRfaGg9TlVMTDsgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgcHRyZGlmZl90IF9kc3RfaGhvID0gKChjaGFyKikoJihkc3QpLT5oaF9kc3QpIC0gKGNoYXIqKShkc3QpKTsgICAgICAgICAgICAgICAgIFwKLS0gIGlmIChzcmMpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIGZvcihfc3JjX2JrdD0wOyBfc3JjX2JrdCA8IChzcmMpLT5oaF9zcmMudGJsLT5udW1fYnVja2V0czsgX3NyY19ia3QrKykgeyAgICAgXAotLSAgICAgIGZvcihfc3JjX2hoID0gKHNyYyktPmhoX3NyYy50YmwtPmJ1Y2tldHNbX3NyY19ia3RdLmhoX2hlYWQ7ICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgX3NyY19oaDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgIF9zcmNfaGggPSBfc3JjX2hoLT5oaF9uZXh0KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICBfZWx0ID0gRUxNVF9GUk9NX0hIKChzcmMpLT5oaF9zcmMudGJsLCBfc3JjX2hoKTsgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgaWYgKGNvbmQoX2VsdCkpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgX2RzdF9oaCA9IChVVF9oYXNoX2hhbmRsZSopKCgoY2hhciopX2VsdCkgKyBfZHN0X2hobyk7ICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIF9kc3RfaGgtPmtleSA9IF9zcmNfaGgtPmtleTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICBfZHN0X2hoLT5rZXlsZW4gPSBfc3JjX2hoLT5rZXlsZW47ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgX2RzdF9oaC0+aGFzaHYgPSBfc3JjX2hoLT5oYXNodjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIF9kc3RfaGgtPnByZXYgPSBfbGFzdF9lbHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICBfZHN0X2hoLT5uZXh0ID0gTlVMTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgaWYgKF9sYXN0X2VsdF9oaCkgeyBfbGFzdF9lbHRfaGgtPm5leHQgPSBfZWx0OyB9ICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIGlmICghZHN0KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgIERFQ0xUWVBFX0FTU0lHTihkc3QsX2VsdCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICBIQVNIX01BS0VfVEFCTEUoaGhfZHN0LGRzdCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIH0gZWxzZSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgIF9kc3RfaGgtPnRibCA9IChkc3QpLT5oaF9kc3QudGJsOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIEhBU0hfVE9fQktUKF9kc3RfaGgtPmhhc2h2LCBfZHN0X2hoLT50YmwtPm51bV9idWNrZXRzLCBfZHN0X2JrdCk7ICAgIFwKLS0gICAgICAgICAgICBIQVNIX0FERF9UT19CS1QoX2RzdF9oaC0+dGJsLT5idWNrZXRzW19kc3RfYmt0XSxfZHN0X2hoKTsgICAgICAgICAgICBcCi0tICAgICAgICAgICAgKGRzdCktPmhoX2RzdC50YmwtPm51bV9pdGVtcysrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIF9sYXN0X2VsdCA9IF9lbHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICBfbGFzdF9lbHRfaGggPSBfZHN0X2hoOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgSEFTSF9GU0NLKGhoX2RzdCxkc3QpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS19IHdoaWxlICgwKQotLQotLSNkZWZpbmUgSEFTSF9DTEVBUihoaCxoZWFkKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBpZiAoaGVhZCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICB1dGhhc2hfZnJlZSgoaGVhZCktPmhoLnRibC0+YnVja2V0cywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgKGhlYWQpLT5oaC50YmwtPm51bV9idWNrZXRzKnNpemVvZihzdHJ1Y3QgVVRfaGFzaF9idWNrZXQpKTsgICAgICBcCi0tICAgIEhBU0hfQkxPT01fRlJFRSgoaGVhZCktPmhoLnRibCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICB1dGhhc2hfZnJlZSgoaGVhZCktPmhoLnRibCwgc2l6ZW9mKFVUX2hhc2hfdGFibGUpKTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgKGhlYWQpPU5VTEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUoMCkKLS0KLS0jZGVmaW5lIEhBU0hfT1ZFUkhFQUQoaGgsaGVhZCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tIChzaXplX3QpKCgoKGhlYWQpLT5oaC50YmwtPm51bV9pdGVtcyAgICogc2l6ZW9mKFVUX2hhc2hfaGFuZGxlKSkgICArICAgICAgICAgICAgXAotLSAgICAgICAgICAgKChoZWFkKS0+aGgudGJsLT5udW1fYnVja2V0cyAqIHNpemVvZihVVF9oYXNoX2J1Y2tldCkpICAgKyAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAoc2l6ZW9mKFVUX2hhc2hfdGFibGUpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgICAgICAgICAgICBcCi0tICAgICAgICAgICAgKEhBU0hfQkxPT01fQllURUxFTikpKQotLQotLSNpZmRlZiBOT19ERUNMVFlQRQotLSNkZWZpbmUgSEFTSF9JVEVSKGhoLGhlYWQsZWwsdG1wKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1mb3IoKGVsKT0oaGVhZCksICgqKGNoYXIqKikoJih0bXApKSk9KGNoYXIqKSgoaGVhZCk/KGhlYWQpLT5oaC5uZXh0Ok5VTEwpOyAgICAgICBcCi0tICBlbDsgKGVsKT0odG1wKSwoKihjaGFyKiopKCYodG1wKSkpPShjaGFyKikoKHRtcCk/KHRtcCktPmhoLm5leHQ6TlVMTCkpIAotLSNlbHNlCi0tI2RlZmluZSBIQVNIX0lURVIoaGgsaGVhZCxlbCx0bXApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLWZvcigoZWwpPShoZWFkKSwodG1wKT1ERUNMVFlQRShlbCkoKGhlYWQpPyhoZWFkKS0+aGgubmV4dDpOVUxMKTsgICAgICAgICAgICAgICAgIFwKLS0gIGVsOyAoZWwpPSh0bXApLCh0bXApPURFQ0xUWVBFKGVsKSgodG1wKT8odG1wKS0+aGgubmV4dDpOVUxMKSkKLS0jZW5kaWYKLS0KLS0vKiBvYnRhaW4gYSBjb3VudCBvZiBpdGVtcyBpbiB0aGUgaGFzaCAqLwotLSNkZWZpbmUgSEFTSF9DT1VOVChoZWFkKSBIQVNIX0NOVChoaCxoZWFkKSAKLS0jZGVmaW5lIEhBU0hfQ05UKGhoLGhlYWQpICgoaGVhZCk/KChoZWFkKS0+aGgudGJsLT5udW1faXRlbXMpOjApCi0tCi0tdHlwZWRlZiBzdHJ1Y3QgVVRfaGFzaF9idWNrZXQgewotLSAgIHN0cnVjdCBVVF9oYXNoX2hhbmRsZSAqaGhfaGVhZDsKLS0gICB1bnNpZ25lZCBjb3VudDsKLS0KLS0gICAvKiBleHBhbmRfbXVsdCBpcyBub3JtYWxseSBzZXQgdG8gMC4gSW4gdGhpcyBzaXR1YXRpb24sIHRoZSBtYXggY2hhaW4gbGVuZ3RoCi0tICAgICogdGhyZXNob2xkIGlzIGVuZm9yY2VkIGF0IGl0cyBkZWZhdWx0IHZhbHVlLCBIQVNIX0JLVF9DQVBBQ0lUWV9USFJFU0guIChJZgotLSAgICAqIHRoZSBidWNrZXQncyBjaGFpbiBleGNlZWRzIHRoaXMgbGVuZ3RoLCBidWNrZXQgZXhwYW5zaW9uIGlzIHRyaWdnZXJlZCkuIAotLSAgICAqIEhvd2V2ZXIsIHNldHRpbmcgZXhwYW5kX211bHQgdG8gYSBub24temVybyB2YWx1ZSBkZWxheXMgYnVja2V0IGV4cGFuc2lvbgotLSAgICAqICh0aGF0IHdvdWxkIGJlIHRyaWdnZXJlZCBieSBhZGRpdGlvbnMgdG8gdGhpcyBwYXJ0aWN1bGFyIGJ1Y2tldCkKLS0gICAgKiB1bnRpbCBpdHMgY2hhaW4gbGVuZ3RoIHJlYWNoZXMgYSAqbXVsdGlwbGUqIG9mIEhBU0hfQktUX0NBUEFDSVRZX1RIUkVTSC4KLS0gICAgKiAoVGhlIG11bHRpcGxpZXIgaXMgc2ltcGx5IGV4cGFuZF9tdWx0KzEpLiBUaGUgd2hvbGUgaWRlYSBvZiB0aGlzCi0tICAgICogbXVsdGlwbGllciBpcyB0byByZWR1Y2UgYnVja2V0IGV4cGFuc2lvbnMsIHNpbmNlIHRoZXkgYXJlIGV4cGVuc2l2ZSwgaW4KLS0gICAgKiBzaXR1YXRpb25zIHdoZXJlIHdlIGtub3cgdGhhdCBhIHBhcnRpY3VsYXIgYnVja2V0IHRlbmRzIHRvIGJlIG92ZXJ1c2VkLgotLSAgICAqIEl0IGlzIGJldHRlciB0byBsZXQgaXRzIGNoYWluIGxlbmd0aCBncm93IHRvIGEgbG9uZ2VyIHlldC1zdGlsbC1ib3VuZGVkCi0tICAgICogdmFsdWUsIHRoYW4gdG8gZG8gYW4gTyhuKSBidWNrZXQgZXhwYW5zaW9uIHRvbyBvZnRlbi4gCi0tICAgICovCi0tICAgdW5zaWduZWQgZXhwYW5kX211bHQ7Ci0tCi0tfSBVVF9oYXNoX2J1Y2tldDsKLS0KLS0vKiByYW5kb20gc2lnbmF0dXJlIHVzZWQgb25seSB0byBmaW5kIGhhc2ggdGFibGVzIGluIGV4dGVybmFsIGFuYWx5c2lzICovCi0tI2RlZmluZSBIQVNIX1NJR05BVFVSRSAweGEwMTExZmUxCi0tI2RlZmluZSBIQVNIX0JMT09NX1NJR05BVFVSRSAweGIxMjIyMGYyCi0tCi0tdHlwZWRlZiBzdHJ1Y3QgVVRfaGFzaF90YWJsZSB7Ci0tICAgVVRfaGFzaF9idWNrZXQgKmJ1Y2tldHM7Ci0tICAgdW5zaWduZWQgbnVtX2J1Y2tldHMsIGxvZzJfbnVtX2J1Y2tldHM7Ci0tICAgdW5zaWduZWQgbnVtX2l0ZW1zOwotLSAgIHN0cnVjdCBVVF9oYXNoX2hhbmRsZSAqdGFpbDsgLyogdGFpbCBoaCBpbiBhcHAgb3JkZXIsIGZvciBmYXN0IGFwcGVuZCAgICAqLwotLSAgIHB0cmRpZmZfdCBoaG87IC8qIGhhc2ggaGFuZGxlIG9mZnNldCAoYnl0ZSBwb3Mgb2YgaGFzaCBoYW5kbGUgaW4gZWxlbWVudCAqLwotLQotLSAgIC8qIGluIGFuIGlkZWFsIHNpdHVhdGlvbiAoYWxsIGJ1Y2tldHMgdXNlZCBlcXVhbGx5KSwgbm8gYnVja2V0IHdvdWxkIGhhdmUKLS0gICAgKiBtb3JlIHRoYW4gY2VpbCgjaXRlbXMvI2J1Y2tldHMpIGl0ZW1zLiB0aGF0J3MgdGhlIGlkZWFsIGNoYWluIGxlbmd0aC4gKi8KLS0gICB1bnNpZ25lZCBpZGVhbF9jaGFpbl9tYXhsZW47Ci0tCi0tICAgLyogbm9uaWRlYWxfaXRlbXMgaXMgdGhlIG51bWJlciBvZiBpdGVtcyBpbiB0aGUgaGFzaCB3aG9zZSBjaGFpbiBwb3NpdGlvbgotLSAgICAqIGV4Y2VlZHMgdGhlIGlkZWFsIGNoYWluIG1heGxlbi4gdGhlc2UgaXRlbXMgcGF5IHRoZSBwZW5hbHR5IGZvciBhbiB1bmV2ZW4KLS0gICAgKiBoYXNoIGRpc3RyaWJ1dGlvbjsgcmVhY2hpbmcgdGhlbSBpbiBhIGNoYWluIHRyYXZlcnNhbCB0YWtlcyA+aWRlYWwgc3RlcHMgKi8KLS0gICB1bnNpZ25lZCBub25pZGVhbF9pdGVtczsKLS0KLS0gICAvKiBpbmVmZmVjdGl2ZSBleHBhbmRzIG9jY3VyIHdoZW4gYSBidWNrZXQgZG91Ymxpbmcgd2FzIHBlcmZvcm1lZCwgYnV0IAotLSAgICAqIGFmdGVyd2FyZCwgbW9yZSB0aGFuIGhhbGYgdGhlIGl0ZW1zIGluIHRoZSBoYXNoIGhhZCBub25pZGVhbCBjaGFpbgotLSAgICAqIHBvc2l0aW9ucy4gSWYgdGhpcyBoYXBwZW5zIG9uIHR3byBjb25zZWN1dGl2ZSBleHBhbnNpb25zIHdlIGluaGliaXQgYW55Ci0tICAgICogZnVydGhlciBleHBhbnNpb24sIGFzIGl0J3Mgbm90IGhlbHBpbmc7IHRoaXMgaGFwcGVucyB3aGVuIHRoZSBoYXNoCi0tICAgICogZnVuY3Rpb24gaXNuJ3QgYSBnb29kIGZpdCBmb3IgdGhlIGtleSBkb21haW4uIFdoZW4gZXhwYW5zaW9uIGlzIGluaGliaXRlZAotLSAgICAqIHRoZSBoYXNoIHdpbGwgc3RpbGwgd29yaywgYWxiZWl0IG5vIGxvbmdlciBpbiBjb25zdGFudCB0aW1lLiAqLwotLSAgIHVuc2lnbmVkIGluZWZmX2V4cGFuZHMsIG5vZXhwYW5kOwotLQotLSAgIHVpbnQzMl90IHNpZ25hdHVyZTsgLyogdXNlZCBvbmx5IHRvIGZpbmQgaGFzaCB0YWJsZXMgaW4gZXh0ZXJuYWwgYW5hbHlzaXMgKi8KLS0jaWZkZWYgSEFTSF9CTE9PTQotLSAgIHVpbnQzMl90IGJsb29tX3NpZzsgLyogdXNlZCBvbmx5IHRvIHRlc3QgYmxvb20gZXhpc3RzIGluIGV4dGVybmFsIGFuYWx5c2lzICovCi0tICAgdWludDhfdCAqYmxvb21fYnY7Ci0tICAgY2hhciBibG9vbV9uYml0czsKLS0jZW5kaWYKLS0KLS19IFVUX2hhc2hfdGFibGU7Ci0tCi0tdHlwZWRlZiBzdHJ1Y3QgVVRfaGFzaF9oYW5kbGUgewotLSAgIHN0cnVjdCBVVF9oYXNoX3RhYmxlICp0Ymw7Ci0tICAgdm9pZCAqcHJldjsgICAgICAgICAgICAgICAgICAgICAgIC8qIHByZXYgZWxlbWVudCBpbiBhcHAgb3JkZXIgICAgICAqLwotLSAgIHZvaWQgKm5leHQ7ICAgICAgICAgICAgICAgICAgICAgICAvKiBuZXh0IGVsZW1lbnQgaW4gYXBwIG9yZGVyICAgICAgKi8KLS0gICBzdHJ1Y3QgVVRfaGFzaF9oYW5kbGUgKmhoX3ByZXY7ICAgLyogcHJldmlvdXMgaGggaW4gYnVja2V0IG9yZGVyICAgICovCi0tICAgc3RydWN0IFVUX2hhc2hfaGFuZGxlICpoaF9uZXh0OyAgIC8qIG5leHQgaGggaW4gYnVja2V0IG9yZGVyICAgICAgICAqLwotLSAgIHZvaWQgKmtleTsgICAgICAgICAgICAgICAgICAgICAgICAvKiBwdHIgdG8gZW5jbG9zaW5nIHN0cnVjdCdzIGtleSAgKi8KLS0gICB1bnNpZ25lZCBrZXlsZW47ICAgICAgICAgICAgICAgICAgLyogZW5jbG9zaW5nIHN0cnVjdCdzIGtleSBsZW4gICAgICovCi0tICAgdW5zaWduZWQgaGFzaHY7ICAgICAgICAgICAgICAgICAgIC8qIHJlc3VsdCBvZiBoYXNoLWZjbihrZXkpICAgICAgICAqLwotLX0gVVRfaGFzaF9oYW5kbGU7Ci0tCi0tI2VuZGlmIC8qIFVUSEFTSF9IICovCi0tLSAKLTIuMTUuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9zcXVpdHRvL21vc3F1aXR0b18xLjUuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb3NxdWl0dG8vbW9zcXVpdHRvXzEuNS4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNmMxZDY3Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb3NxdWl0dG8vbW9zcXVpdHRvXzEuNS4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsOTMgKzAsMCBAQAotU1VNTUFSWSA9ICJPcGVuIHNvdXJjZSBNUVRUIHYzLjEvMy4xLjEgaW1wbGVtZW50aW9uIgotREVTQ1JJUFRJT04gPSAiTW9zcXVpdHRvIGlzIGFuIG9wZW4gc291cmNlIChFY2xpcHNlIGxpY2Vuc2VkKSBtZXNzYWdlIGJyb2tlciB0aGF0IGltcGxlbWVudHMgdGhlIE1RIFRlbGVtZXRyeSBUcmFuc3BvcnQgcHJvdG9jb2wgdmVyc2lvbiAzLjEgYW5kIDMuMS4xLiBNUVRUIHByb3ZpZGVzIGEgbGlnaHR3ZWlnaHQgbWV0aG9kIG9mIGNhcnJ5aW5nIG91dCBtZXNzYWdpbmcgdXNpbmcgYSBwdWJsaXNoL3N1YnNjcmliZSBtb2RlbC4gIgotSE9NRVBBR0UgPSAiaHR0cDovL21vc3F1aXR0by5vcmcvIgotU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCi1MSUNFTlNFID0gIkVQTC0xLjAgfCBFREwtMS4wIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PTYyZGRjODQ2MTc5ZTkwOGRjMGM4ZWZlYzRhNDJlZjIwIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2VkbC12MTA7bWQ1PWMwOWYxMjE5MzlmMDYzYWViNTIzNTk3MmJlOGM3MjJjIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2VwbC12MTA7bWQ1PThkMzgzYzM3OWU5MWQyMGJhMThhNTJjM2U3ZDNhOTc5IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL25vdGljZS5odG1sO21kNT1hMDBkNmY5YWI1NDJiZTdiYWJjMmQ4YjgwZDVkMmE0YyBcCi0iCi1ERVBFTkRTID0gInV0aGFzaCIKLQotU1JDX1VSSSA9ICJodHRwOi8vbW9zcXVpdHRvLm9yZy9maWxlcy9zb3VyY2UvbW9zcXVpdHRvLSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLXV0aGFzaC1yZW1vdmUtaW4tdHJlZS12ZXJzaW9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL21vc3F1aXR0by5pbml0IFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gImY5OGM5OTk5OGEzNmEyMzRmM2E5ZDliNDAyYjk5MWRiIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjg1NTdiYzdhZTM0ZGZhZjMyYTBmYjU2ZDI0OTFiN2E3ZjczMTI2OWM4ODMzNzIyNzIzMzAxMzUwMmRmNGQ1YjAiCi0KLWluaGVyaXQgc3lzdGVtZCB1cGRhdGUtcmMuZCB1c2VyYWRkCi0KLVBBQ0tBR0VDT05GSUcgPz89ICJzc2wgdXVpZCBcCi0gICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCBkKX0gXAotICAgICAgICAgICAgICAgICAgIgotCi1QQUNLQUdFQ09ORklHW2Rucy1zcnZdID0gIldJVEhfU1JWPXllcyxXSVRIX1NSVj1ubyxjLWFyZXMiCi1QQUNLQUdFQ09ORklHW3NzbF0gPSAiV0lUSF9UTFM9eWVzIFdJVEhfVExTX1BTSz15ZXMsV0lUSF9UTFM9bm8gV0lUSF9UTFNfUFNLPW5vLG9wZW5zc2wiCi1QQUNLQUdFQ09ORklHW3V1aWRdID0gIldJVEhfVVVJRD15ZXMsV0lUSF9VVUlEPW5vLHV0aWwtbGludXgiCi1QQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIldJVEhfU1lTVEVNRD15ZXMsV0lUSF9TWVNURU1EPW5vLHN5c3RlbWQiCi1QQUNLQUdFQ09ORklHW3dlYnNvY2tldHNdID0gIldJVEhfV0VCU09DS0VUUz15ZXMsV0lUSF9XRUJTT0NLRVRTPW5vLGxpYndlYnNvY2tldHMiCi0KLUVYVFJBX09FTUFLRSA9ICIgXAotICAgIHByZWZpeD0ke3ByZWZpeH0gXAotICAgIG1hbmRpcj0ke21hbmRpcn0gXAotICAgIGxvY2FsZWRpcj0ke2xvY2FsZWRpcn0gXAotICAgICR7UEFDS0FHRUNPTkZJR19DT05GQVJHU30gXAotICAgIFNUUklQPS9iaW4vdHJ1ZSBcCi0gICAgV0lUSF9ET0NTPW5vIFwKLSIKLQotZXhwb3J0IExJQl9TVUZGSVggPSAiJHtAZC5nZXRWYXIoJ2Jhc2VsaWInLCBUcnVlKS5yZXBsYWNlKCdsaWInLCAnJyl9IgotCi1kb19pbnN0YWxsKCkgewotICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbAotCi0gICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zZXJ2aWNlL3N5c3RlbWQvbW9zcXVpdHRvLnNlcnZpY2Uubm90aWZ5ICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL21vc3F1aXR0by5zZXJ2aWNlCi0KLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L21vc3F1aXR0bwotICAgIGluc3RhbGwgLW0gMDY0NCAke0R9JHtzeXNjb25mZGlyfS9tb3NxdWl0dG8vbW9zcXVpdHRvLmNvbmYuZXhhbXBsZSBcCi0gICAgICAgICAgICAgICAgICAgICR7RH0ke3N5c2NvbmZkaXJ9L21vc3F1aXR0by9tb3NxdWl0dG8uY29uZgotCi0gICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvCi0gICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vbW9zcXVpdHRvLmluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL21vc3F1aXR0bwotICAgIHNlZCAtaSAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyBcCi0gICAgICAgIC1lICdzLEBCQVNFX1NCSU5ESVJALCR7YmFzZV9zYmluZGlyfSxnJyBcCi0gICAgICAgIC1lICdzLEBMT0NBTFNUQVRFRElSQCwke2xvY2Fsc3RhdGVkaXJ9LGcnIFwKLSAgICAgICAgLWUgJ3MsQFNZU0NPTkZESVJALCR7c3lzY29uZmRpcn0sZycgXAotICAgICAgICAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbW9zcXVpdHRvCi19Ci0KLVBBQ0tBR0VTICs9ICJsaWJtb3NxdWl0dG8xIGxpYm1vc3F1aXR0b3BwMSAke1BOfS1jbGllbnRzIgotCi1QQUNLQUdFX0JFRk9SRV9QTiA9ICIke1BOfS1leGFtcGxlcyIKLQotRklMRVNfJHtQTn0gPSAiJHtzYmluZGlyfS9tb3NxdWl0dG8gXAotICAgICAgICAgICAgICAgJHtiaW5kaXJ9L21vc3F1aXR0b19wYXNzd2QgXAotICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9tb3NxdWl0dG8gXAotICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9pbml0LmQgXAotICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9tb3NxdWl0dG8uc2VydmljZSBcCi0iCi0KLUNPTkZGSUxFU18ke1BOfSArPSAiJHtzeXNjb25mZGlyfS9tb3NxdWl0dG8vbW9zcXVpdHRvLmNvbmYiCi0KLUZJTEVTX2xpYm1vc3F1aXR0bzEgPSAiJHtsaWJkaXJ9L2xpYm1vc3F1aXR0by5zby4xIgotCi1GSUxFU19saWJtb3NxdWl0dG9wcDEgPSAiJHtsaWJkaXJ9L2xpYm1vc3F1aXR0b3BwLnNvLjEiCi0KLUZJTEVTXyR7UE59LWNsaWVudHMgPSAiJHtiaW5kaXJ9L21vc3F1aXR0b19wdWIgXAotICAgICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vbW9zcXVpdHRvX3N1YiBcCi0iCi0KLUZJTEVTXyR7UE59LWV4YW1wbGVzID0gIiR7c3lzY29uZmRpcn0vbW9zcXVpdHRvLyouZXhhbXBsZSIKLQotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIm1vc3F1aXR0by5zZXJ2aWNlIgotCi1JTklUU0NSSVBUX05BTUUgPSAibW9zcXVpdHRvIgotSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMgMzAiCi0KLVVTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCi1VU0VSQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIC0tbm8tY3JlYXRlLWhvbWUgLS1zaGVsbCAvYmluL2ZhbHNlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgLS11c2VyLWdyb3VwIG1vc3F1aXR0byIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb3NxdWl0dG8vbW9zcXVpdHRvXzEuNS44LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vc3F1aXR0by9tb3NxdWl0dG9fMS41LjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzY4YjU5MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb3NxdWl0dG8vbW9zcXVpdHRvXzEuNS44LmJiCkBAIC0wLDAgKzEsOTMgQEAKK1NVTU1BUlkgPSAiT3BlbiBzb3VyY2UgTVFUVCB2My4xLzMuMS4xIGltcGxlbWVudGlvbiIKK0RFU0NSSVBUSU9OID0gIk1vc3F1aXR0byBpcyBhbiBvcGVuIHNvdXJjZSAoRWNsaXBzZSBsaWNlbnNlZCkgbWVzc2FnZSBicm9rZXIgdGhhdCBpbXBsZW1lbnRzIHRoZSBNUSBUZWxlbWV0cnkgVHJhbnNwb3J0IHByb3RvY29sIHZlcnNpb24gMy4xIGFuZCAzLjEuMS4gTVFUVCBwcm92aWRlcyBhIGxpZ2h0d2VpZ2h0IG1ldGhvZCBvZiBjYXJyeWluZyBvdXQgbWVzc2FnaW5nIHVzaW5nIGEgcHVibGlzaC9zdWJzY3JpYmUgbW9kZWwuICIKK0hPTUVQQUdFID0gImh0dHA6Ly9tb3NxdWl0dG8ub3JnLyIKK1NFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgorTElDRU5TRSA9ICJFUEwtMS4wIHwgRURMLTEuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT02MmRkYzg0NjE3OWU5MDhkYzBjOGVmZWM0YTQyZWYyMCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9lZGwtdjEwO21kNT1jMDlmMTIxOTM5ZjA2M2FlYjUyMzU5NzJiZThjNzIyYyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9lcGwtdjEwO21kNT04ZDM4M2MzNzllOTFkMjBiYTE4YTUyYzNlN2QzYTk3OSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9ub3RpY2UuaHRtbDttZDU9YTAwZDZmOWFiNTQyYmU3YmFiYzJkOGI4MGQ1ZDJhNGMgXAorIgorREVQRU5EUyA9ICJ1dGhhc2giCisKK1NSQ19VUkkgPSAiaHR0cDovL21vc3F1aXR0by5vcmcvZmlsZXMvc291cmNlL21vc3F1aXR0by0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vbW9zcXVpdHRvLmluaXQgXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYmJiY2NlYjMyZGIzNjU3ZDlkNDM2YTg0NDBhOWRiMWMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzhkN2U3MGMzNzk0ZGMzYTFkNDg0YjRmMmY4ZDNhZGRlYmU5YzJkYTNmNWExY2ViZTU1N2Y3ZDEzYmViMGRhNCIKKworaW5oZXJpdCBzeXN0ZW1kIHVwZGF0ZS1yYy5kIHVzZXJhZGQKKworUEFDS0FHRUNPTkZJRyA/Pz0gInNzbCB1dWlkIFwKKyAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsIGQpfSBcCisgICAgICAgICAgICAgICAgICAiCisKK1BBQ0tBR0VDT05GSUdbZG5zLXNydl0gPSAiV0lUSF9TUlY9eWVzLFdJVEhfU1JWPW5vLGMtYXJlcyIKK1BBQ0tBR0VDT05GSUdbc3NsXSA9ICJXSVRIX1RMUz15ZXMgV0lUSF9UTFNfUFNLPXllcyxXSVRIX1RMUz1ubyBXSVRIX1RMU19QU0s9bm8sb3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbdXVpZF0gPSAiV0lUSF9VVUlEPXllcyxXSVRIX1VVSUQ9bm8sdXRpbC1saW51eCIKK1BBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiV0lUSF9TWVNURU1EPXllcyxXSVRIX1NZU1RFTUQ9bm8sc3lzdGVtZCIKK1BBQ0tBR0VDT05GSUdbd2Vic29ja2V0c10gPSAiV0lUSF9XRUJTT0NLRVRTPXllcyxXSVRIX1dFQlNPQ0tFVFM9bm8sbGlid2Vic29ja2V0cyIKKworRVhUUkFfT0VNQUtFID0gIiBcCisgICAgcHJlZml4PSR7cHJlZml4fSBcCisgICAgbWFuZGlyPSR7bWFuZGlyfSBcCisgICAgbG9jYWxlZGlyPSR7bG9jYWxlZGlyfSBcCisgICAgJHtQQUNLQUdFQ09ORklHX0NPTkZBUkdTfSBcCisgICAgU1RSSVA9L2Jpbi90cnVlIFwKKyAgICBXSVRIX0RPQ1M9bm8gXAorICAgIFdJVEhfQlVORExFRF9ERVBTPW5vIFwKKyIKKworZXhwb3J0IExJQl9TVUZGSVggPSAiJHtAZC5nZXRWYXIoJ2Jhc2VsaWInKS5yZXBsYWNlKCdsaWInLCAnJyl9IgorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbAorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zZXJ2aWNlL3N5c3RlbWQvbW9zcXVpdHRvLnNlcnZpY2Uubm90aWZ5ICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL21vc3F1aXR0by5zZXJ2aWNlCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L21vc3F1aXR0bworICAgIGluc3RhbGwgLW0gMDY0NCAke0R9JHtzeXNjb25mZGlyfS9tb3NxdWl0dG8vbW9zcXVpdHRvLmNvbmYuZXhhbXBsZSBcCisgICAgICAgICAgICAgICAgICAgICR7RH0ke3N5c2NvbmZkaXJ9L21vc3F1aXR0by9tb3NxdWl0dG8uY29uZgorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vbW9zcXVpdHRvLmluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL21vc3F1aXR0bworICAgIHNlZCAtaSAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyBcCisgICAgICAgIC1lICdzLEBCQVNFX1NCSU5ESVJALCR7YmFzZV9zYmluZGlyfSxnJyBcCisgICAgICAgIC1lICdzLEBMT0NBTFNUQVRFRElSQCwke2xvY2Fsc3RhdGVkaXJ9LGcnIFwKKyAgICAgICAgLWUgJ3MsQFNZU0NPTkZESVJALCR7c3lzY29uZmRpcn0sZycgXAorICAgICAgICAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbW9zcXVpdHRvCit9CisKK1BBQ0tBR0VTICs9ICJsaWJtb3NxdWl0dG8xIGxpYm1vc3F1aXR0b3BwMSAke1BOfS1jbGllbnRzIgorCitQQUNLQUdFX0JFRk9SRV9QTiA9ICIke1BOfS1leGFtcGxlcyIKKworRklMRVNfJHtQTn0gPSAiJHtzYmluZGlyfS9tb3NxdWl0dG8gXAorICAgICAgICAgICAgICAgJHtiaW5kaXJ9L21vc3F1aXR0b19wYXNzd2QgXAorICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9tb3NxdWl0dG8gXAorICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9pbml0LmQgXAorICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9tb3NxdWl0dG8uc2VydmljZSBcCisiCisKK0NPTkZGSUxFU18ke1BOfSArPSAiJHtzeXNjb25mZGlyfS9tb3NxdWl0dG8vbW9zcXVpdHRvLmNvbmYiCisKK0ZJTEVTX2xpYm1vc3F1aXR0bzEgPSAiJHtsaWJkaXJ9L2xpYm1vc3F1aXR0by5zby4xIgorCitGSUxFU19saWJtb3NxdWl0dG9wcDEgPSAiJHtsaWJkaXJ9L2xpYm1vc3F1aXR0b3BwLnNvLjEiCisKK0ZJTEVTXyR7UE59LWNsaWVudHMgPSAiJHtiaW5kaXJ9L21vc3F1aXR0b19wdWIgXAorICAgICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vbW9zcXVpdHRvX3N1YiBcCisiCisKK0ZJTEVTXyR7UE59LWV4YW1wbGVzID0gIiR7c3lzY29uZmRpcn0vbW9zcXVpdHRvLyouZXhhbXBsZSIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIm1vc3F1aXR0by5zZXJ2aWNlIgorCitJTklUU0NSSVBUX05BTUUgPSAibW9zcXVpdHRvIgorSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMgMzAiCisKK1VTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCitVU0VSQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIC0tbm8tY3JlYXRlLWhvbWUgLS1zaGVsbCAvYmluL2ZhbHNlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgLS11c2VyLWdyb3VwIG1vc3F1aXR0byIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDAxLURvLW5vdC1pbmNsdWRlLW5ldC1ldGhlcm5ldC5oLWFuZC1saW51eC1pZl9ldGhlci5oLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyLzAwMDEtRG8tbm90LWluY2x1ZGUtbmV0LWV0aGVybmV0LmgtYW5kLWxpbnV4LWlmX2V0aGVyLmgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBjNDE1YmMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyLzAwMDEtRG8tbm90LWluY2x1ZGUtbmV0LWV0aGVybmV0LmgtYW5kLWxpbnV4LWlmX2V0aGVyLmgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi1Gcm9tIDNmNGI2MzE5NzAxODM0MTgyMzA0YzQwNzkxMTk3ODBmNGFlNWI0OWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogV2VkLCA3IE5vdiAyMDE4IDExOjMwOjQ0IC0wODAwCi1TdWJqZWN0OiBbUEFUQ0hdIERvIG5vdCBpbmNsdWRlIG5ldC9ldGhlcm5ldC5oIGFuZCBsaW51eC9pZl9ldGhlci5oCi0KLVRoZXkgY29uZmxpY3Qgd2hlbiB1c2VkIHRvZ2V0aGVyIGVzcGVjaWFsbHkgd2l0aCBtdXNsCi1yZW1vdmluZyB0aGVtIHN0aWxsIGtlZXBzIGl0IHdvcmtpbmcgc28gaXQgc2VlbXMgdGhleSBhcmUgcmVkdW5kYW50Ci0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBzaGFyZWQvbi1hY2Qvc3JjL24tYWNkLmMgICAgICAgICAgICAgIHwgMSAtCi0gc3JjL3BsYXRmb3JtL3dwYW4vbm0td3Bhbi11dGlscy5oICAgICB8IDIgLS0KLSBzcmMvc2V0dGluZ3Mvbm0tc2V0dGluZ3MtY29ubmVjdGlvbi5oIHwgMiAtLQotIDMgZmlsZXMgY2hhbmdlZCwgNSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NoYXJlZC9uLWFjZC9zcmMvbi1hY2QuYyBiL3NoYXJlZC9uLWFjZC9zcmMvbi1hY2QuYwotaW5kZXggOTE2NGY5NS4uOTUzOGU1MCAxMDA2NDQKLS0tLSBhL3NoYXJlZC9uLWFjZC9zcmMvbi1hY2QuYwotKysrIGIvc2hhcmVkL24tYWNkL3NyYy9uLWFjZC5jCi1AQCAtMjMsNyArMjMsNiBAQAotICNpbmNsdWRlIDxlcnJuby5oPgotICNpbmNsdWRlIDxsaW1pdHMuaD4KLSAjaW5jbHVkZSA8bGludXgvZmlsdGVyLmg+Ci0tI2luY2x1ZGUgPGxpbnV4L2lmX2V0aGVyLmg+Ci0gI2luY2x1ZGUgPGxpbnV4L2lmX3BhY2tldC5oPgotICNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KLSAjaW5jbHVkZSA8bmV0aW5ldC9pZl9ldGhlci5oPgotZGlmZiAtLWdpdCBhL3NyYy9wbGF0Zm9ybS93cGFuL25tLXdwYW4tdXRpbHMuaCBiL3NyYy9wbGF0Zm9ybS93cGFuL25tLXdwYW4tdXRpbHMuaAotaW5kZXggZjdkMGMwMy4uZTFjODFmNSAxMDA2NDQKLS0tLSBhL3NyYy9wbGF0Zm9ybS93cGFuL25tLXdwYW4tdXRpbHMuaAotKysrIGIvc3JjL3BsYXRmb3JtL3dwYW4vbm0td3Bhbi11dGlscy5oCi1AQCAtMjAsOCArMjAsNiBAQAotICNpZm5kZWYgX19XUEFOX1VUSUxTX0hfXwotICNkZWZpbmUgX19XUEFOX1VUSUxTX0hfXwotIAotLSNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KLS0KLSAjaW5jbHVkZSAibm0tZGJ1cy1pbnRlcmZhY2UuaCIKLSAjaW5jbHVkZSAicGxhdGZvcm0vbm0tbmV0bGluay5oIgotIAotZGlmZiAtLWdpdCBhL3NyYy9zZXR0aW5ncy9ubS1zZXR0aW5ncy1jb25uZWN0aW9uLmggYi9zcmMvc2V0dGluZ3Mvbm0tc2V0dGluZ3MtY29ubmVjdGlvbi5oCi1pbmRleCBlNzk2YjcxLi5jMDFmZWY2IDEwMDY0NAotLS0tIGEvc3JjL3NldHRpbmdzL25tLXNldHRpbmdzLWNvbm5lY3Rpb24uaAotKysrIGIvc3JjL3NldHRpbmdzL25tLXNldHRpbmdzLWNvbm5lY3Rpb24uaAotQEAgLTIyLDggKzIyLDYgQEAKLSAjaWZuZGVmIF9fTkVUV09SS01BTkFHRVJfU0VUVElOR1NfQ09OTkVDVElPTl9IX18KLSAjZGVmaW5lIF9fTkVUV09SS01BTkFHRVJfU0VUVElOR1NfQ09OTkVDVElPTl9IX18KLSAKLS0jaW5jbHVkZSA8bmV0L2V0aGVybmV0Lmg+Ci0tCi0gI2luY2x1ZGUgIm5tLWRidXMtb2JqZWN0LmgiCi0gI2luY2x1ZGUgIm5tLWNvbm5lY3Rpb24uaCIKLSAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDAxLUZpeGVkLWNvbmZpZ3VyZS5hYy1GaXgtcGtnY29uZmlnLXN5c3Jvb3QtbG9jYXRpb25zLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyLzAwMDEtRml4ZWQtY29uZmlndXJlLmFjLUZpeC1wa2djb25maWctc3lzcm9vdC1sb2NhdGlvbnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzAyYzAyOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDAxLUZpeGVkLWNvbmZpZ3VyZS5hYy1GaXgtcGtnY29uZmlnLXN5c3Jvb3QtbG9jYXRpb25zLnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKK0Zyb20gM2RjM2Q4ZTczYmM0MzBlYTRlOTNlMzNmN2IyYTRiM2UwZmYxNzVhZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFBhYmxvIFNhYXZlZHJhIDxwc2FhdmVkcmFAaWdhbGlhLmNvbT4KK0RhdGU6IFR1ZSwgMTMgTWFyIDIwMTggMTc6MzY6MjAgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4ZWQgY29uZmlndXJlLmFjOiBGaXggcGtnY29uZmlnIHN5c3Jvb3QgbG9jYXRpb25zCisKKy0tLQorIGNvbmZpZ3VyZS5hYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggOTY3ZWFjMC4uYjkxNDIxOSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNTkyLDcgKzU5Miw3IEBAIGlmIHRlc3QgIiRoYXZlX2phbnNzb24iID0gInllcyI7IHRoZW4KKyAJQUNfREVGSU5FKFdJVEhfSkFOU1NPTiwgMSwgW0RlZmluZSBpZiBKQU5TU09OIGlzIGVuYWJsZWRdKQorIAorIAlBQ19DSEVDS19UT09MUyhSRUFERUxGLCBbZXUtcmVhZGVsZiByZWFkZWxmXSkKKy0JSkFOU1NPTl9MSUJESVI9YCRQS0dfQ09ORklHIC0tdmFyaWFibGU9bGliZGlyIGphbnNzb25gCisrCUpBTlNTT05fTElCRElSPSR7UEtHX0NPTkZJR19TWVNST09UX0RJUn1gJFBLR19DT05GSUcgLS12YXJpYWJsZT1saWJkaXIgamFuc3NvbmAKKyAJSkFOU1NPTl9TT05BTUU9YCRSRUFERUxGIC1kICRKQU5TU09OX0xJQkRJUi9saWJqYW5zc29uLnNvIHxzZWQgLW4gJ3MvLipTT05BTUUuKlxbW1woW15dXSpcKV1dL1wxL3AnYAorIAorIAlpZiB0ZXN0ICIkSkFOU1NPTl9TT05BTUUiID0gIiI7IHRoZW4KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDAxLXNkLWxsZHAuaC1SZW1vdmUtbmV0LWV0aGVybmV0Lmgtc2VlbXMtdG8tYmUtb3Zlci1zcGUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvMDAwMS1zZC1sbGRwLmgtUmVtb3ZlLW5ldC1ldGhlcm5ldC5oLXNlZW1zLXRvLWJlLW92ZXItc3BlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OWEwNzM1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDAxLXNkLWxsZHAuaC1SZW1vdmUtbmV0LWV0aGVybmV0Lmgtc2VlbXMtdG8tYmUtb3Zlci1zcGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi1Gcm9tIDE4ZjcxYzFiNDg3MzBiODYwMjgyNjUxN2YyYjViMDg4MjgzYWU5NDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAzMSBNYXIgMjAxNyAxNjo0ODowMCAtMDcwMAotU3ViamVjdDogW1BBVENIXSBzZC1sbGRwLmg6IFJlbW92ZSBuZXQvZXRoZXJuZXQuaCBzZWVtcyB0byBiZSBvdmVyIHNwZWNpZmllZAotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gc3JjL3N5c3RlbWQvc3JjL2xpYnN5c3RlbWQtbmV0d29yay9zZC1sbGRwLmMgfCAxICsKLSBzcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1sbGRwLmggICAgICAgICAgICB8IDIgKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3N5c3RlbWQvc3JjL2xpYnN5c3RlbWQtbmV0d29yay9zZC1sbGRwLmMgYi9zcmMvc3lzdGVtZC9zcmMvbGlic3lzdGVtZC1uZXR3b3JrL3NkLWxsZHAuYwotaW5kZXggMzFlMjQ0OC4uNzcyMWNjMiAxMDA2NDQKLS0tLSBhL3NyYy9zeXN0ZW1kL3NyYy9saWJzeXN0ZW1kLW5ldHdvcmsvc2QtbGxkcC5jCi0rKysgYi9zcmMvc3lzdGVtZC9zcmMvbGlic3lzdGVtZC1uZXR3b3JrL3NkLWxsZHAuYwotQEAgLTMsNiArMyw3IEBACi0gI2luY2x1ZGUgIm5tLXNkLWFkYXB0LmgiCi0gCi0gI2luY2x1ZGUgPGFycGEvaW5ldC5oPgotKyNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KLSAjaW5jbHVkZSA8bGludXgvc29ja2lvcy5oPgotIAotICNpbmNsdWRlICJzZC1sbGRwLmgiCi1kaWZmIC0tZ2l0IGEvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtbGxkcC5oIGIvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtbGxkcC5oCi1pbmRleCAzZjM1ZWViLi42MWIwZTQ1IDEwMDY0NAotLS0tIGEvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtbGxkcC5oCi0rKysgYi9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1sbGRwLmgKLUBAIC0xOCw3ICsxOCw3IEBACi0gKioqLwotIAotICNpbmNsdWRlIDxpbnR0eXBlcy5oPgotLSNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KLSsvLyNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KLSAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0gCi0gI2luY2x1ZGUgInNkLWV2ZW50LmgiCi0tLSAKLTIuMTQuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvMDAwMi1Eby1ub3QtY3JlYXRlLXNldHRpbmdzLXNldHRpbmdzLXByb3BlcnR5LWRvY3VtZW50YXRpLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyLzAwMDItRG8tbm90LWNyZWF0ZS1zZXR0aW5ncy1zZXR0aW5ncy1wcm9wZXJ0eS1kb2N1bWVudGF0aS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NTgxZGQzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyLzAwMDItRG8tbm90LWNyZWF0ZS1zZXR0aW5ncy1zZXR0aW5ncy1wcm9wZXJ0eS1kb2N1bWVudGF0aS5wYXRjaApAQCAtMCwwICsxLDcxIEBACitGcm9tIDRmMDAwYTRhMTk5NzVkNmFiYTcxNDI3ZTY5M2NkMWVkMDgwYWJkYTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgorRGF0ZTogVGh1LCAyMiBNYXIgMjAxOCAxMTowODozMCArMDEwMAorU3ViamVjdDogW1BBVENIXSBEbyBub3QgY3JlYXRlIHNldHRpbmdzIHNldHRpbmdzL3Byb3BlcnR5IGRvY3VtZW50YXRpb24KK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworSXQgd2FzIHRyaWVkIHRvIGdldCB0aGlzIHdvcmsgYnV0IGdpIC8gR2lyUmVwb3NpdG9yeSBjb3VsZCBub3QgYmUgZm91bmQgYnkKK3B5dGhvbi4gQW55d2F5IGl0IGlzIG5vdCBuZWNlc3NhcnkgZm9yIHVzIHRvIGhhdmUgdGhlIHNldHRpbmdzL3Byb3BlcnR5IGRvY3MuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0Ugc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+CistLS0KKyBNYWtlZmlsZS5hbSAgfCAxMSAtLS0tLS0tLS0tLQorIGNvbmZpZ3VyZS5hYyB8ICA1IC0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KK2luZGV4IGIxODA0NjYuLjFhYjQ2NTggMTAwNjQ0CistLS0gYS9NYWtlZmlsZS5hbQorKysrIGIvTWFrZWZpbGUuYW0KK0BAIC0xMjk4LDkgKzEyOTgsNyBAQCBFWFRSQV9ESVNUICs9IFwKKyBpZiBIQVZFX0lOVFJPU1BFQ1RJT04KKyAKKyBsaWJubV9ub2luc3RfZGF0YSA9IFwKKy0JbGlibm0vbm0tcHJvcGVydHktZG9jcy54bWwgXAorIAlsaWJubS9ubS1zZXR0aW5ncy1kb2NzLW92ZXJyaWRlcy54bWwgXAorLQlsaWJubS9ubS1zZXR0aW5ncy1kb2NzLnhtbCBcCisgCWxpYm5tL25tLXNldHRpbmdzLWtleWZpbGUtZG9jcy54bWwgXAorIAlsaWJubS9ubS1zZXR0aW5ncy1pZmNmZy1yaC1kb2NzLnhtbAorIAorQEAgLTM5MzAsMTggKzM5MjgsOSBAQCAkKGNsaWVudHNfY29tbW9uX2xpYm5tY19iYXNlX2xhX09CSkVDVFMpOiAkKGxpYm5tX2xpYl9oX3B1Yl9ta2VudW1zKQorICQoY2xpZW50c19jb21tb25fbGlibm1jX2Jhc2VfbGFfT0JKRUNUUyk6IGNsaWVudHMvY29tbW9uLy5kaXJzdGFtcAorIAorIGNsaWVudHNfY29tbW9uX3NldHRpbmdzX2RvY19oID0gY2xpZW50cy9jb21tb24vc2V0dGluZ3MtZG9jcy5oCistaWYgSEFWRV9JTlRST1NQRUNUSU9OCistJChjbGllbnRzX2NvbW1vbl9zZXR0aW5nc19kb2NfaCk6IGNsaWVudHMvY29tbW9uL3NldHRpbmdzLWRvY3MueHNsIGxpYm5tL25tLXByb3BlcnR5LWRvY3MueG1sIGNsaWVudHMvY29tbW9uLy5kaXJzdGFtcAorLQkkKEFNX1ZfR0VOKSAkKFhTTFRQUk9DKSAtLW91dHB1dCAkQCAkPCAkKHdvcmQgMiwkXikKKy1ESVNUQ0xFQU5GSUxFUyArPSAkKGNsaWVudHNfY29tbW9uX3NldHRpbmdzX2RvY19oKQorLWNoZWNrLWxvY2FsLXNldHRpbmdzLWRvY3M6ICQoY2xpZW50c19jb21tb25fc2V0dGluZ3NfZG9jX2gpCistCSQoc3JjZGlyKS90b29scy9jaGVjay1zZXR0aW5ncy1kb2NzLnNoICIkKHNyY2RpcikiICIkKGJ1aWxkZGlyKSIgIiQoY2xpZW50c19jb21tb25fc2V0dGluZ3NfZG9jX2gpIgorLWNoZWNrX2xvY2FsICs9IGNoZWNrLWxvY2FsLXNldHRpbmdzLWRvY3MKKy1lbHNlCisgJChjbGllbnRzX2NvbW1vbl9zZXR0aW5nc19kb2NfaCk6ICQoY2xpZW50c19jb21tb25fc2V0dGluZ3NfZG9jX2gpLmluIGNsaWVudHMvY29tbW9uLy5kaXJzdGFtcAorIAkkKEFNX1ZfR0VOKSBjcCAiJChzcmNkaXIpLyQoY2xpZW50c19jb21tb25fc2V0dGluZ3NfZG9jX2gpLmluIiAiJChidWlsZGRpcikvJChjbGllbnRzX2NvbW1vbl9zZXR0aW5nc19kb2NfaCkiCisgY2hlY2stbG9jYWwtc2V0dGluZ3MtZG9jczoKKy1lbmRpZgorIEVYVFJBX0RJU1QgKz0gXAorIAkkKGNsaWVudHNfY29tbW9uX3NldHRpbmdzX2RvY19oKSBcCisgCSQoY2xpZW50c19jb21tb25fc2V0dGluZ3NfZG9jX2gpLmluCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCBiOTE0MjE5Li44NzJjMjkyIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0xMjE1LDExICsxMjE1LDYgQEAgR1RLX0RPQ19DSEVDSygxLjApCisgIyBjaGVjayBpZiB3ZSBjYW4gYnVpbGQgc2V0dGluZyBwcm9wZXJ0eSBkb2N1bWVudGF0aW9uCisgYnVpbGRfZG9jcz1ubworIGlmIHRlc3QgLW4gIiRJTlRST1NQRUNUSU9OX01BS0VGSUxFIjsgdGhlbgorLQkjIElmIGctaSBpcyBpbnN0YWxsZWQgd2Uga25vdyB3ZSBoYXZlIHB5dGhvbiwgYnV0IHdlIG1pZ2h0IG5vdCBoYXZlIHB5Z29iamVjdAorLQlpZiAhICIkUFlUSE9OIiAtYyAnZnJvbSBnaS5yZXBvc2l0b3J5IGltcG9ydCBHT2JqZWN0JyA+JiAvZGV2L251bGw7IHRoZW4KKy0JCUFDX01TR19FUlJPUihbIi0tZW5hYmxlLWludHJvc3BlY3Rpb24gYWltcyB0byBidWlsZCB0aGUgc2V0dGluZ3MgZG9jdW1lbnRhdGlvbi4gVGhpcyByZXF1aXJlcyBHT2JqZWN0IGludHJvc3BlY3Rpb24gZm9yIHB5dGhvbiAocHlnb2JqZWN0KV0pCistCWZpCistCisgCUFDX1BBVEhfUFJPRyhQRVJMLCBwZXJsKQorIAlpZiB0ZXN0IC16ICIkUEVSTCI7IHRoZW4KKyAJCUFDX01TR19FUlJPUihbLS1lbmFibGUtaW50cm9zcGVjdGlvbiByZXF1aXJlcyBwZXJsXSkKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDAyLUZpeGVkLWNvbmZpZ3VyZS5hYy1GaXgtcGtnY29uZmlnLXN5c3Jvb3QtbG9jYXRpb25zLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyLzAwMDItRml4ZWQtY29uZmlndXJlLmFjLUZpeC1wa2djb25maWctc3lzcm9vdC1sb2NhdGlvbnMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM1MWYyNjQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyLzAwMDItRml4ZWQtY29uZmlndXJlLmFjLUZpeC1wa2djb25maWctc3lzcm9vdC1sb2NhdGlvbnMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi1Gcm9tIDU4M2YwNDQ4ZmI3ZTlhYmEyYjQxMGMwNmVlYzZmNDIwYjQxYTZhMGMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBQYWJsbyBTYWF2ZWRyYSA8cHNhYXZlZHJhQGlnYWxpYS5jb20+Ci1EYXRlOiBUdWUsIDEzIE1hciAyMDE4IDE3OjM2OjIwICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIEZpeGVkIGNvbmZpZ3VyZS5hYzogRml4IHBrZ2NvbmZpZyBzeXNyb290IGxvY2F0aW9ucwotCi0tLS0KLSBjb25maWd1cmUuYWMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDUxZTVlYjYuLmM5ZDNlNTYgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuYWMKLSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTU3Miw3ICs1NzIsNyBAQCBpZiB0ZXN0ICIkaGF2ZV9qYW5zc29uIiA9ICJ5ZXMiOyB0aGVuCi0gCUFDX0RFRklORShXSVRIX0pBTlNTT04sIDEsIFtEZWZpbmUgaWYgSkFOU1NPTiBpcyBlbmFibGVkXSkKLSAKLSAJQUNfQ0hFQ0tfVE9PTFMoUkVBREVMRiwgW2V1LXJlYWRlbGYgcmVhZGVsZl0pCi0tCUpBTlNTT05fTElCRElSPWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPWxpYmRpciBqYW5zc29uYAotKwlKQU5TU09OX0xJQkRJUj0ke1BLR19DT05GSUdfU1lTUk9PVF9ESVJ9YCRQS0dfQ09ORklHIC0tdmFyaWFibGU9bGliZGlyIGphbnNzb25gCi0gCUpBTlNTT05fU09OQU1FPWAkUkVBREVMRiAtZCAkSkFOU1NPTl9MSUJESVIvbGliamFuc3Nvbi5zbyB8c2VkIC1uICdzLy4qU09OQU1FLipcW1tcKFteXV0qXCldXS9cMS9wJ2AKLSAKLSAJaWYgdGVzdCAiJEpBTlNTT05fU09OQU1FIiA9ICIiOyB0aGVuCi0tLSAKLTIuMTQuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvMDAwMy1Eby1ub3QtY3JlYXRlLXNldHRpbmdzLXNldHRpbmdzLXByb3BlcnR5LWRvY3VtZW50YXRpLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyLzAwMDMtRG8tbm90LWNyZWF0ZS1zZXR0aW5ncy1zZXR0aW5ncy1wcm9wZXJ0eS1kb2N1bWVudGF0aS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzUwMjkzYy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvMDAwMy1Eby1ub3QtY3JlYXRlLXNldHRpbmdzLXNldHRpbmdzLXByb3BlcnR5LWRvY3VtZW50YXRpLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODAgKzAsMCBAQAotRnJvbSA0ZjAwMGE0YTE5OTc1ZDZhYmE3MTQyN2U2OTNjZDFlZDA4MGFiZGE5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KLURhdGU6IFRodSwgMjIgTWFyIDIwMTggMTE6MDg6MzAgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gRG8gbm90IGNyZWF0ZSBzZXR0aW5ncyBzZXR0aW5ncy9wcm9wZXJ0eSBkb2N1bWVudGF0aW9uCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLUl0IHdhcyB0cmllZCB0byBnZXQgdGhpcyB3b3JrIGJ1dCBnaSAvIEdpclJlcG9zaXRvcnkgY291bGQgbm90IGJlIGZvdW5kIGJ5Ci1weXRob24uIEFueXdheSBpdCBpcyBub3QgbmVjZXNzYXJ5IGZvciB1cyB0byBoYXZlIHRoZSBzZXR0aW5ncy9wcm9wZXJ0eSBkb2NzLgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIHNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotLS0tCi0gTWFrZWZpbGUuYW0gIHwgMjAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBjb25maWd1cmUuYWMgfCAgNSAtLS0tLQotIDIgZmlsZXMgY2hhbmdlZCwgMjUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9NYWtlZmlsZS5hbSBiL01ha2VmaWxlLmFtCi1pbmRleCAxZTEwMGY2Li5kMzFlM2MxIDEwMDY0NAotLS0tIGEvTWFrZWZpbGUuYW0KLSsrKyBiL01ha2VmaWxlLmFtCi1AQCAtMTExNSw5ICsxMTE1LDcgQEAgRVhUUkFfRElTVCArPSBcCi0gaWYgSEFWRV9JTlRST1NQRUNUSU9OCi0gCi0gbGlibm1fbm9pbnN0X2RhdGEgPSBcCi0tCWxpYm5tL25tLXByb3BlcnR5LWRvY3MueG1sIFwKLSAJbGlibm0vbm0tc2V0dGluZ3MtZG9jcy1vdmVycmlkZXMueG1sIFwKLS0JbGlibm0vbm0tc2V0dGluZ3MtZG9jcy54bWwgXAotIAlsaWJubS9ubS1zZXR0aW5ncy1rZXlmaWxlLWRvY3MueG1sIFwKLSAJbGlibm0vbm0tc2V0dGluZ3MtaWZjZmctcmgtZG9jcy54bWwKLSAKLUBAIC0zNjkyLDI3ICszNjkwLDkgQEAgJChjbGllbnRzX2NvbW1vbl9saWJubWNfYmFzZV9sYV9PQkpFQ1RTKTogJChsaWJubV9saWJfaF9wdWJfbWtlbnVtcykKLSAkKGNsaWVudHNfY29tbW9uX2xpYm5tY19iYXNlX2xhX09CSkVDVFMpOiBjbGllbnRzL2NvbW1vbi8uZGlyc3RhbXAKLSAKLSBjbGllbnRzX2NvbW1vbl9zZXR0aW5nc19kb2NfaCA9IGNsaWVudHMvY29tbW9uL3NldHRpbmdzLWRvY3MuaAotLWlmIEhBVkVfSU5UUk9TUEVDVElPTgotLSQoY2xpZW50c19jb21tb25fc2V0dGluZ3NfZG9jX2gpOiBjbGllbnRzL2NvbW1vbi9zZXR0aW5ncy1kb2NzLnhzbCBsaWJubS9ubS1wcm9wZXJ0eS1kb2NzLnhtbCBjbGllbnRzL2NvbW1vbi8uZGlyc3RhbXAKLS0JJChBTV9WX0dFTikgJChYU0xUUFJPQykgLS1vdXRwdXQgJEAgJDwgJCh3b3JkIDIsJF4pCi0tRElTVENMRUFORklMRVMgKz0gJChjbGllbnRzX2NvbW1vbl9zZXR0aW5nc19kb2NfaCkKLS1jaGVjay1sb2NhbC1zZXR0aW5ncy1kb2NzOiAkKGNsaWVudHNfY29tbW9uX3NldHRpbmdzX2RvY19oKQotLQlAaWYgdGVzdCAteiAiJCROTVRTVF9OT19DSEVDS19TRVRUSU5HU19ET0NTIiA7IHRoZW4gXAotLQkJaWYgISBjbXAgLXMgIiQoc3JjZGlyKS8kKGNsaWVudHNfY29tbW9uX3NldHRpbmdzX2RvY19oKS5pbiIgIiQoYnVpbGRkaXIpLyQoY2xpZW50c19jb21tb25fc2V0dGluZ3NfZG9jX2gpIiA7IHRoZW4gXAotLQkJCWlmIHRlc3QgIiQkTk1fVEVTVF9SRUdFTkVSQVRFIiA9PSAxIDsgdGhlbiBcCi0tCQkJCWNwIC1mICIkKGJ1aWxkZGlyKS8kKGNsaWVudHNfY29tbW9uX3NldHRpbmdzX2RvY19oKSIgIiQoc3JjZGlyKS8kKGNsaWVudHNfY29tbW9uX3NldHRpbmdzX2RvY19oKS5pbiI7IFwKLS0JCQllbHNlIFwKLS0JCQkJZWNobyAiVGhlIGdlbmVyYXRlZCBmaWxlIFwiJChidWlsZGRpcikvJChjbGllbnRzX2NvbW1vbl9zZXR0aW5nc19kb2NfaClcIiBkaWZmZXJzIGZyb20gdGhlIHNvdXJjZSBmaWxlIFwiJChzcmNkaXIpLyQoY2xpZW50c19jb21tb25fc2V0dGluZ3NfZG9jX2gpLmluXCIuIFlvdSBwcm9iYWJseSBzaG91bGQgY29weSB0aGUgZ2VuZXJhdGVkIGZpbGUgb3ZlciB0byB0aGUgc291cmNlIGZpbGUuIFlvdSBjYW4gc2tpcCB0aGlzIHRlc3QgYnkgc2V0dGluZyBcJCROTVRTVF9OT19DSEVDS19TRVRUSU5HU19ET0NTPXllcyIuIFlvdSBjYW4gYWxzbyBhdXRvbWF0aWNhbGx5IGNvcHkgdGhlIGZpbGUgYnkgcmVydW5uaW5nIHRoZSB0ZXN0IHdpdGggXCQkTk1fVEVTVF9SRUdFTkVSQVRFPTEgOyBcCi0tCQkJCWZhbHNlOyBcCi0tCQkJZmk7IFwKLS0JCWZpO1wKLS0JZmkKLS1jaGVja19sb2NhbCArPSBjaGVjay1sb2NhbC1zZXR0aW5ncy1kb2NzCi0tZWxzZQotICQoY2xpZW50c19jb21tb25fc2V0dGluZ3NfZG9jX2gpOiAkKGNsaWVudHNfY29tbW9uX3NldHRpbmdzX2RvY19oKS5pbiBjbGllbnRzL2NvbW1vbi8uZGlyc3RhbXAKLSAJJChBTV9WX0dFTikgY3AgIiQoc3JjZGlyKS8kKGNsaWVudHNfY29tbW9uX3NldHRpbmdzX2RvY19oKS5pbiIgIiQoYnVpbGRkaXIpLyQoY2xpZW50c19jb21tb25fc2V0dGluZ3NfZG9jX2gpIgotIGNoZWNrLWxvY2FsLXNldHRpbmdzLWRvY3M6Ci0tZW5kaWYKLSBFWFRSQV9ESVNUICs9IFwKLSAJJChjbGllbnRzX2NvbW1vbl9zZXR0aW5nc19kb2NfaCkgXAotIAkkKGNsaWVudHNfY29tbW9uX3NldHRpbmdzX2RvY19oKS5pbgotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotaW5kZXggNzlkYzNiOS4uMjNkMTRhNiAxMDA2NDQKLS0tLSBhL2NvbmZpZ3VyZS5hYwotKysrIGIvY29uZmlndXJlLmFjCi1AQCAtMTE5NSwxMSArMTE5NSw2IEBAIEdUS19ET0NfQ0hFQ0soMS4wKQotICMgY2hlY2sgaWYgd2UgY2FuIGJ1aWxkIHNldHRpbmcgcHJvcGVydHkgZG9jdW1lbnRhdGlvbgotIGJ1aWxkX2RvY3M9bm8KLSBpZiB0ZXN0IC1uICIkSU5UUk9TUEVDVElPTl9NQUtFRklMRSI7IHRoZW4KLS0JIyBJZiBnLWkgaXMgaW5zdGFsbGVkIHdlIGtub3cgd2UgaGF2ZSBweXRob24sIGJ1dCB3ZSBtaWdodCBub3QgaGF2ZSBweWdvYmplY3QKLS0JaWYgISAiJFBZVEhPTiIgLWMgJ2Zyb20gZ2kucmVwb3NpdG9yeSBpbXBvcnQgR09iamVjdCcgPiYgL2Rldi9udWxsOyB0aGVuCi0tCQlBQ19NU0dfRVJST1IoWyItLWVuYWJsZS1pbnRyb3NwZWN0aW9uIGFpbXMgdG8gYnVpbGQgdGhlIHNldHRpbmdzIGRvY3VtZW50YXRpb24uIFRoaXMgcmVxdWlyZXMgR09iamVjdCBpbnRyb3NwZWN0aW9uIGZvciBweXRob24gKHB5Z29iamVjdCldKQotLQlmaQotLQotIAlBQ19QQVRIX1BST0coUEVSTCwgcGVybCkKLSAJaWYgdGVzdCAteiAiJFBFUkwiOyB0aGVuCi0gCQlBQ19NU0dfRVJST1IoWy0tZW5hYmxlLWludHJvc3BlY3Rpb24gcmVxdWlyZXMgcGVybF0pCi0tLSAKLTIuMTQuNQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDAxLURvLW5vdC1pbmNsdWRlLW5ldC1ldGhlcm5ldC5oLWFuZC1saW51eC1pZl9ldGhlci5oLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwMS1Eby1ub3QtaW5jbHVkZS1uZXQtZXRoZXJuZXQuaC1hbmQtbGludXgtaWZfZXRoZXIuaC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NTVlNWZmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwMS1Eby1ub3QtaW5jbHVkZS1uZXQtZXRoZXJuZXQuaC1hbmQtbGludXgtaWZfZXRoZXIuaC5wYXRjaApAQCAtMCwwICsxLDU0IEBACitGcm9tIGIyY2RhYjc0NmVmNjRiYzI1YmEwYjljZmY1OTZlYmRkZGQ2ZThkYzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogV2VkLCA3IE5vdiAyMDE4IDExOjMwOjQ0IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIERvIG5vdCBpbmNsdWRlIG5ldC9ldGhlcm5ldC5oIGFuZCBsaW51eC9pZl9ldGhlci5oCisKK1RoZXkgY29uZmxpY3Qgd2hlbiB1c2VkIHRvZ2V0aGVyIGVzcGVjaWFsbHkgd2l0aCBtdXNsCityZW1vdmluZyB0aGVtIHN0aWxsIGtlZXBzIGl0IHdvcmtpbmcgc28gaXQgc2VlbXMgdGhleSBhcmUgcmVkdW5kYW50CisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKKy0tLQorIHNoYXJlZC9uLWFjZC9zcmMvbi1hY2QuYyAgICAgICAgICAgICAgfCAxIC0KKyBzcmMvcGxhdGZvcm0vd3Bhbi9ubS13cGFuLXV0aWxzLmggICAgIHwgMiAtLQorIHNyYy9zZXR0aW5ncy9ubS1zZXR0aW5ncy1jb25uZWN0aW9uLmggfCAyIC0tCisgMyBmaWxlcyBjaGFuZ2VkLCA1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc2hhcmVkL24tYWNkL3NyYy9uLWFjZC5jIGIvc2hhcmVkL24tYWNkL3NyYy9uLWFjZC5jCitpbmRleCBkZWY1NmEyLi5kZDRlYjc4IDEwMDY0NAorLS0tIGEvc2hhcmVkL24tYWNkL3NyYy9uLWFjZC5jCisrKysgYi9zaGFyZWQvbi1hY2Qvc3JjL24tYWNkLmMKK0BAIC0xMSw3ICsxMSw2IEBACisgI2luY2x1ZGUgPGludHR5cGVzLmg+CisgI2luY2x1ZGUgPGxpbWl0cy5oPgorICNpbmNsdWRlIDxsaW51eC9pZl9wYWNrZXQuaD4KKy0jaW5jbHVkZSA8bmV0aW5ldC9pZl9ldGhlci5oPgorICNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorICNpbmNsdWRlIDxzdHJpbmcuaD4KK2RpZmYgLS1naXQgYS9zcmMvcGxhdGZvcm0vd3Bhbi9ubS13cGFuLXV0aWxzLmggYi9zcmMvcGxhdGZvcm0vd3Bhbi9ubS13cGFuLXV0aWxzLmgKK2luZGV4IDFiNTRlYzQuLmVkMzk5MzggMTAwNjQ0CistLS0gYS9zcmMvcGxhdGZvcm0vd3Bhbi9ubS13cGFuLXV0aWxzLmgKKysrKyBiL3NyYy9wbGF0Zm9ybS93cGFuL25tLXdwYW4tdXRpbHMuaAorQEAgLTIwLDggKzIwLDYgQEAKKyAjaWZuZGVmIF9fV1BBTl9VVElMU19IX18KKyAjZGVmaW5lIF9fV1BBTl9VVElMU19IX18KKyAKKy0jaW5jbHVkZSA8bmV0L2V0aGVybmV0Lmg+CistCisgI2luY2x1ZGUgIm5tLWRidXMtaW50ZXJmYWNlLmgiCisgI2luY2x1ZGUgInBsYXRmb3JtL25tLW5ldGxpbmsuaCIKKyAKK2RpZmYgLS1naXQgYS9zcmMvc2V0dGluZ3Mvbm0tc2V0dGluZ3MtY29ubmVjdGlvbi5oIGIvc3JjL3NldHRpbmdzL25tLXNldHRpbmdzLWNvbm5lY3Rpb24uaAoraW5kZXggZTc5NmI3MS4uYzAxZmVmNiAxMDA2NDQKKy0tLSBhL3NyYy9zZXR0aW5ncy9ubS1zZXR0aW5ncy1jb25uZWN0aW9uLmgKKysrKyBiL3NyYy9zZXR0aW5ncy9ubS1zZXR0aW5ncy1jb25uZWN0aW9uLmgKK0BAIC0yMiw4ICsyMiw2IEBACisgI2lmbmRlZiBfX05FVFdPUktNQU5BR0VSX1NFVFRJTkdTX0NPTk5FQ1RJT05fSF9fCisgI2RlZmluZSBfX05FVFdPUktNQU5BR0VSX1NFVFRJTkdTX0NPTk5FQ1RJT05fSF9fCisgCistI2luY2x1ZGUgPG5ldC9ldGhlcm5ldC5oPgorLQorICNpbmNsdWRlICJubS1kYnVzLW9iamVjdC5oIgorICNpbmNsdWRlICJubS1jb25uZWN0aW9uLmgiCisgCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDAxLW11c2wtYmFzaWMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDAxLW11c2wtYmFzaWMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwZGRhNWIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwMS1tdXNsLWJhc2ljLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotRnJvbSBlOTJkZTc0MDlhM2UxMDdmOTBkMTA4YTljNWQ0OWJkMDQxODI5NmRkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KLURhdGU6IFRodSwgMjIgTWFyIDIwMTggMTc6NTQ6MTAgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gVXN1YWwgZml4IGZvciBtdXNsIGxpYmMKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVN0b2xlbiBmcm9tIFsxXSBhbmQgcHJldHR5ZmllZCBzbGlnaHRseQotCi1bMV0gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWRsaW51eC92b2lkLXBhY2thZ2VzL3RyZWUvbWFzdGVyL3NyY3BrZ3MvTmV0d29ya01hbmFnZXIvcGF0Y2hlcwotCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotCi0tLS0KLSBzcmMvc3lzdGVtZC9zcmMvYmFzaWMvc3RkaW8tdXRpbC5oIHwgMiArKwotIHNyYy9zeXN0ZW1kL3NyYy9iYXNpYy91dGlsLmggICAgICAgfCA1ICsrKysrCi0gMiBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy9zeXN0ZW1kL3NyYy9iYXNpYy9zdGRpby11dGlsLmggYi9zcmMvc3lzdGVtZC9zcmMvYmFzaWMvc3RkaW8tdXRpbC5oCi1pbmRleCA3M2MwMzI3Li5lMWNlNjRmIDEwMDY0NAotLS0tIGEvc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL3N0ZGlvLXV0aWwuaAotKysrIGIvc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL3N0ZGlvLXV0aWwuaAotQEAgLTEsNyArMSw5IEBACi0gLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IExHUEwtMi4xKyAqLwotICNwcmFnbWEgb25jZQotIAotKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKLSAjaW5jbHVkZSA8cHJpbnRmLmg+Ci0rI2VuZGlmCi0gI2luY2x1ZGUgPHN0ZGFyZy5oPgotICNpbmNsdWRlIDxzdGRpby5oPgotICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLWRpZmYgLS1naXQgYS9zcmMvc3lzdGVtZC9zcmMvYmFzaWMvdXRpbC5oIGIvc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL3V0aWwuaAotaW5kZXggYjMxZGZkMS4uOWI3MDMyYyAxMDA2NDQKLS0tLSBhL3NyYy9zeXN0ZW1kL3NyYy9iYXNpYy91dGlsLmgKLSsrKyBiL3NyYy9zeXN0ZW1kL3NyYy9iYXNpYy91dGlsLmgKLUBAIC0yOCw2ICsyOCwxMSBAQAotICNpbmNsdWRlICJtaXNzaW5nLmgiCi0gI2luY2x1ZGUgInRpbWUtdXRpbC5oIgotIAotKyNpZiAhZGVmaW5lZChfX0dMSUJDX18pCi0rdHlwZWRlZiBpbnQgKCpfX2NvbXBhcl9mbl90KSAoY29uc3Qgdm9pZCosIGNvbnN0IHZvaWQqKTsKLSt0eXBlZGVmIF9fY29tcGFyX2ZuX3QgY29tcGFyaXNvbl9mbl90OwotKyNlbmRpZgotKwotIHNpemVfdCBwYWdlX3NpemUodm9pZCkgX3B1cmVfOwotICNkZWZpbmUgUEFHRV9BTElHTihsKSBBTElHTl9UTygobCksIHBhZ2Vfc2l6ZSgpKQotIAotLS0gCi0yLjE0LjMKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwMi1tdXNsLWRsb3Blbi1jb25maWd1cmUtYWMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDAyLW11c2wtZGxvcGVuLWNvbmZpZ3VyZS1hYy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzE2MmMxZC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDAyLW11c2wtZGxvcGVuLWNvbmZpZ3VyZS1hYy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLUZyb20gNTcyMzlmZGE1NmI2OGE4ZjNlNDEzZjdiNmFmNTI5MGJhMGQ4NjYzNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+Ci1EYXRlOiBUaHUsIDIyIE1hciAyMDE4IDE4OjE4OjA2ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIG11c2w6IGRsb3BlbiBpcyBpbmNsdWRlZCBzbyBMRF9MSUJTPSIiIGluc3RlYWQgb2YKLSBMRF9MSUJTPSJub25lIHJlcXVpcmVkIgotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU3RvbGVuIGZyb20gWzFdIGFuZCBwcmV0dHlmaWVkIHNsaWdodGx5Ci0KLVsxXSBodHRwczovL2dpdGh1Yi5jb20vdm9pZGxpbnV4L3ZvaWQtcGFja2FnZXMvdHJlZS9tYXN0ZXIvc3JjcGtncy9OZXR3b3JrTWFuYWdlci9wYXRjaGVzCi0KLVNpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+Ci0tLS0KLSBjb25maWd1cmUuYWMgfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotaW5kZXggNDg3YTI2Ni4uOTZhZTRmNyAxMDA2NDQKLS0tLSBhL2NvbmZpZ3VyZS5hYwotKysrIGIvY29uZmlndXJlLmFjCi1AQCAtMjM1LDYgKzIzNSw3IEBAIGRubAotIGRubCBDaGVja3MgZm9yIGxpYmRsIC0gb24gY2VydGFpbiBwbGF0Zm9ybXMgaXRzIHBhcnQgb2YgbGliYwotIGRubAotIEFDX1NFQVJDSF9MSUJTKFtkbG9wZW5dLCBbZGwgZGxkXSwgW10sIFthY19jdl9zZWFyY2hfZGxvcGVuPV0pCi0rQVNfSUYoW3Rlc3QgIiRhY19jdl9zZWFyY2hfZGxvcGVuIiA9ICJub25lIHJlcXVpcmVkIl0sW2FjX2N2X3NlYXJjaF9kbG9wZW49IiJdKQotIEFDX1NVQlNUKFtETF9MSUJTXSwgIiRhY19jdl9zZWFyY2hfZGxvcGVuIikKLSAKLSBQS0dfQ0hFQ0tfTU9EVUxFUyhHTElCLCBbZ2lvLXVuaXgtMi4wID49IDIuMzcuNiBnbW9kdWxlLTIuMF0sCi0tLSAKLTIuMTQuMwotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDAyLXNkLWxsZHAuaC1SZW1vdmUtbmV0LWV0aGVybmV0Lmgtc2VlbXMtdG8tYmUtb3Zlci1zcGUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDAyLXNkLWxsZHAuaC1SZW1vdmUtbmV0LWV0aGVybmV0Lmgtc2VlbXMtdG8tYmUtb3Zlci1zcGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWM1OTIwOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDItc2QtbGxkcC5oLVJlbW92ZS1uZXQtZXRoZXJuZXQuaC1zZWVtcy10by1iZS1vdmVyLXNwZS5wYXRjaApAQCAtMCwwICsxLDM3IEBACitGcm9tIDMyZGM2Y2FiNTg5MTJhZGQ1YmM2NDk1NTU4NTM4OTUzZDkzNDRjMzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogRnJpLCAzMSBNYXIgMjAxNyAxNjo0ODowMCAtMDcwMAorU3ViamVjdDogW1BBVENIXSBzZC1sbGRwLmg6IFJlbW92ZSBuZXQvZXRoZXJuZXQuaCBzZWVtcyB0byBiZSBvdmVyIHNwZWNpZmllZAorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCistLS0KKyBzcmMvc3lzdGVtZC9zcmMvbGlic3lzdGVtZC1uZXR3b3JrL3NkLWxsZHAuYyB8IDEgKworIHNyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWxsZHAuaCAgICAgICAgICAgIHwgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvc3lzdGVtZC9zcmMvbGlic3lzdGVtZC1uZXR3b3JrL3NkLWxsZHAuYyBiL3NyYy9zeXN0ZW1kL3NyYy9saWJzeXN0ZW1kLW5ldHdvcmsvc2QtbGxkcC5jCitpbmRleCA3NDExMjhlLi42MjkxNGFlIDEwMDY0NAorLS0tIGEvc3JjL3N5c3RlbWQvc3JjL2xpYnN5c3RlbWQtbmV0d29yay9zZC1sbGRwLmMKKysrKyBiL3NyYy9zeXN0ZW1kL3NyYy9saWJzeXN0ZW1kLW5ldHdvcmsvc2QtbGxkcC5jCitAQCAtMyw2ICszLDcgQEAKKyAjaW5jbHVkZSAibm0tc2QtYWRhcHQtY29yZS5oIgorIAorICNpbmNsdWRlIDxhcnBhL2luZXQuaD4KKysjaW5jbHVkZSA8bmV0L2V0aGVybmV0Lmg+CisgI2luY2x1ZGUgPGxpbnV4L3NvY2tpb3MuaD4KKyAjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisgCitkaWZmIC0tZ2l0IGEvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtbGxkcC5oIGIvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtbGxkcC5oCitpbmRleCBiZjNhZmFkLi40Y2FjZTg3IDEwMDY0NAorLS0tIGEvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtbGxkcC5oCisrKysgYi9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1sbGRwLmgKK0BAIC0xOCw3ICsxOCw3IEBACisgKioqLworIAorICNpbmNsdWRlIDxpbnR0eXBlcy5oPgorLSNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KKysvLyNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgCisgI2luY2x1ZGUgInNkLWV2ZW50LmgiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDAzLW11c2wtYmFzaWMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDAzLW11c2wtYmFzaWMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGQ5MDU0OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDMtbXVzbC1iYXNpYy5wYXRjaApAQCAtMCwwICsxLDU2IEBACitGcm9tIGZmMWE1Yjg0OTc1NWRiNjdiMTc3ODk0MGZmZjkyZDZlYjhiOGIwNTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgorRGF0ZTogVGh1LCAyMiBNYXIgMjAxOCAxNzo1NDoxMCArMDEwMAorU3ViamVjdDogW1BBVENIXSBVc3VhbCBmaXggZm9yIG11c2wgbGliYworTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU3RvbGVuIGZyb20gWzFdIGFuZCBwcmV0dHlmaWVkIHNsaWdodGx5CisKK1sxXSBodHRwczovL2dpdGh1Yi5jb20vdm9pZGxpbnV4L3ZvaWQtcGFja2FnZXMvdHJlZS9tYXN0ZXIvc3JjcGtncy9OZXR3b3JrTWFuYWdlci9wYXRjaGVzCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+CisKKy0tLQorIHNoYXJlZC9zeXN0ZW1kL3NyYy9iYXNpYy9zdGRpby11dGlsLmggfCAyICsrCisgc2hhcmVkL3N5c3RlbWQvc3JjL2Jhc2ljL3V0aWwuaCAgICAgICB8IDUgKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc2hhcmVkL3N5c3RlbWQvc3JjL2Jhc2ljL3N0ZGlvLXV0aWwuaCBiL3NoYXJlZC9zeXN0ZW1kL3NyYy9iYXNpYy9zdGRpby11dGlsLmgKK2luZGV4IGRjNjdiNmUuLjYzMzYyNDMgMTAwNjQ0CistLS0gYS9zaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvc3RkaW8tdXRpbC5oCisrKysgYi9zaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvc3RkaW8tdXRpbC5oCitAQCAtMSw3ICsxLDkgQEAKKyAvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTEdQTC0yLjErICovCisgI3ByYWdtYSBvbmNlCisgCisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICNpbmNsdWRlIDxwcmludGYuaD4KKysjZW5kaWYKKyAjaW5jbHVkZSA8c3RkYXJnLmg+CisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorZGlmZiAtLWdpdCBhL3NoYXJlZC9zeXN0ZW1kL3NyYy9iYXNpYy91dGlsLmggYi9zaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvdXRpbC5oCitpbmRleCBkYzMzZDY2Li44ZWUyZDY0IDEwMDY0NAorLS0tIGEvc2hhcmVkL3N5c3RlbWQvc3JjL2Jhc2ljL3V0aWwuaAorKysrIGIvc2hhcmVkL3N5c3RlbWQvc3JjL2Jhc2ljL3V0aWwuaAorQEAgLTI3LDYgKzI3LDExIEBACisgI2luY2x1ZGUgIm1hY3JvLmgiCisgI2luY2x1ZGUgInRpbWUtdXRpbC5oIgorIAorKyNpZiAhZGVmaW5lZChfX0dMSUJDX18pCisrdHlwZWRlZiBpbnQgKCpfX2NvbXBhcl9mbl90KSAoY29uc3Qgdm9pZCosIGNvbnN0IHZvaWQqKTsKKyt0eXBlZGVmIF9fY29tcGFyX2ZuX3QgY29tcGFyaXNvbl9mbl90OworKyNlbmRpZgorKworIHNpemVfdCBwYWdlX3NpemUodm9pZCkgX3B1cmVfOworICNkZWZpbmUgUEFHRV9BTElHTihsKSBBTElHTl9UTygobCksIHBhZ2Vfc2l6ZSgpKQorIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwMy1tdXNsLW5ldHdvcmstc3VwcG9ydC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDMtbXVzbC1uZXR3b3JrLXN1cHBvcnQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlhNThjMGUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwMy1tdXNsLW5ldHdvcmstc3VwcG9ydC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDcyICswLDAgQEAKLUZyb20gNzE0YjQ3MzFhMjM4NjUzZTljN2Q4ODVjMGRlZTEwNjc3YjBhNGRmMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+Ci1EYXRlOiBUaHUsIDIyIE1hciAyMDE4IDE4OjI0OjA3ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIG11c2w6IG5ldHdvcmsgc3VwcG9ydAotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU3RvbGVuIGZyb20gWzFdIGFuZCBwcmV0dHlmaWVkIHNsaWdodGx5Ci0KLVsxXSBodHRwczovL2dpdGh1Yi5jb20vdm9pZGxpbnV4L3ZvaWQtcGFja2FnZXMvdHJlZS9tYXN0ZXIvc3JjcGtncy9OZXR3b3JrTWFuYWdlci9wYXRjaGVzCi0KLVNpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+Ci0tLS0KLSBsaWJubS1jb3JlL25tLXV0aWxzLmggICAgICAgICAgICAgICB8IDQgKysrKwotIHNyYy9wbGF0Zm9ybS93aWZpL25tLXdpZmktdXRpbHMuaCAgIHwgNCArKysrCi0gc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL3NvY2tldC11dGlsLmggfCA1ICsrKysrCi0gMyBmaWxlcyBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9saWJubS1jb3JlL25tLXV0aWxzLmggYi9saWJubS1jb3JlL25tLXV0aWxzLmgKLWluZGV4IGRmOTI4NGIuLjJiY2Y0YjggMTAwNjQ0Ci0tLS0gYS9saWJubS1jb3JlL25tLXV0aWxzLmgKLSsrKyBiL2xpYm5tLWNvcmUvbm0tdXRpbHMuaAotQEAgLTMwLDcgKzMwLDExIEBACi0gI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KLSAKLSAvKiBGb3IgRVRIX0FMRU4gYW5kIElORklOSUJBTkRfQUxFTiAqLwotKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKLSAjaW5jbHVkZSA8bGludXgvaWZfZXRoZXIuaD4KLSsjZWxzZQotKyNkZWZpbmUgRVRIX0FMRU4JNgkJLyogT2N0ZXRzIGluIG9uZSBldGhlcm5ldCBhZGRyCSAqLwotKyNlbmRpZgotICNpbmNsdWRlIDxsaW51eC9pZl9pbmZpbmliYW5kLmg+Ci0gCi0gI2luY2x1ZGUgIm5tLWNvcmUtZW51bS10eXBlcy5oIgotZGlmZiAtLWdpdCBhL3NyYy9wbGF0Zm9ybS93aWZpL25tLXdpZmktdXRpbHMuaCBiL3NyYy9wbGF0Zm9ybS93aWZpL25tLXdpZmktdXRpbHMuaAotaW5kZXggNzA1NzE3Yi4uZGEzZWRjNCAxMDA2NDQKLS0tLSBhL3NyYy9wbGF0Zm9ybS93aWZpL25tLXdpZmktdXRpbHMuaAotKysrIGIvc3JjL3BsYXRmb3JtL3dpZmkvbm0td2lmaS11dGlscy5oCi1AQCAtMjIsNyArMjIsMTEgQEAKLSAjaWZuZGVmIF9fV0lGSV9VVElMU19IX18KLSAjZGVmaW5lIF9fV0lGSV9VVElMU19IX18KLSAKLSsjaWYgZGVmaW5lZChfX0dMSUJDX18pCi0gI2luY2x1ZGUgPG5ldC9ldGhlcm5ldC5oPgotKyNlbHNlIC8qIG11c2wgbGliYyAqLwotKyNkZWZpbmUgRVRIX0FMRU4JNgkJLyogT2N0ZXRzIGluIG9uZSBldGhlcm5ldCBhZGRyCSAqLwotKyNlbmRpZgotIAotICNpbmNsdWRlICJubS1kYnVzLWludGVyZmFjZS5oIgotICNpbmNsdWRlICJubS1zZXR0aW5nLXdpcmVsZXNzLmgiCi1kaWZmIC0tZ2l0IGEvc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL3NvY2tldC11dGlsLmggYi9zcmMvc3lzdGVtZC9zcmMvYmFzaWMvc29ja2V0LXV0aWwuaAotaW5kZXggZDdlMmQ4NS4uZDEwOWM4NCAxMDA2NDQKLS0tLSBhL3NyYy9zeXN0ZW1kL3NyYy9iYXNpYy9zb2NrZXQtdXRpbC5oCi0rKysgYi9zcmMvc3lzdGVtZC9zcmMvYmFzaWMvc29ja2V0LXV0aWwuaAotQEAgLTExLDYgKzExLDExIEBACi0gI2luY2x1ZGUgPGxpbnV4L25ldGxpbmsuaD4KLSAjaW5jbHVkZSA8bGludXgvaWZfaW5maW5pYmFuZC5oPgotICNpbmNsdWRlIDxsaW51eC9pZl9wYWNrZXQuaD4KLSsjaWYgIWRlZmluZWQoX19HTElCQ19fKQotKy8qIFNJT0NHU1RBTVBOUyBmcm9tIGxpbnV4L2FzbS1nZW5lcmljLmgKLSsgKiBmb3Igc3JjL3N5c3RlbWQvc3JjL2xpYnN5c3RlbWQtbmV0d29yay9zZC1sbGRwLmMgKi8KLSsjaW5jbHVkZSA8bGludXgvc29ja2lvcy5oPgotKyNlbmRpZgotIAotICNpbmNsdWRlICJtYWNyby5oIgotICNpbmNsdWRlICJtaXNzaW5nLmgiCi0tLSAKLTIuMTQuMwotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA0LW11c2wtZGxvcGVuLWNvbmZpZ3VyZS1hYy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDQtbXVzbC1kbG9wZW4tY29uZmlndXJlLWFjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxOWUxYmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA0LW11c2wtZGxvcGVuLWNvbmZpZ3VyZS1hYy5wYXRjaApAQCAtMCwwICsxLDMzIEBACitGcm9tIDc3NDNlYTYzZmJlNTcyYjFmODJkYjdkMzk5ZmU5YzVjOTk1MjE0MzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgorRGF0ZTogVGh1LCAyMiBNYXIgMjAxOCAxODoxODowNiArMDEwMAorU3ViamVjdDogW1BBVENIXSBtdXNsOiBkbG9wZW4gaXMgaW5jbHVkZWQgc28gTERfTElCUz0iIiBpbnN0ZWFkIG9mCisgTERfTElCUz0ibm9uZSByZXF1aXJlZCIKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1N0b2xlbiBmcm9tIFsxXSBhbmQgcHJldHR5ZmllZCBzbGlnaHRseQorCitbMV0gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWRsaW51eC92b2lkLXBhY2thZ2VzL3RyZWUvbWFzdGVyL3NyY3BrZ3MvTmV0d29ya01hbmFnZXIvcGF0Y2hlcworCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgorCistLS0KKyBjb25maWd1cmUuYWMgfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggYjkxNDIxOS4uMWIyYjBmZiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMjQxLDYgKzI0MSw3IEBAIGRubAorIGRubCBDaGVja3MgZm9yIGxpYmRsIC0gb24gY2VydGFpbiBwbGF0Zm9ybXMgaXRzIHBhcnQgb2YgbGliYworIGRubAorIEFDX1NFQVJDSF9MSUJTKFtkbG9wZW5dLCBbZGwgZGxkXSwgW10sIFthY19jdl9zZWFyY2hfZGxvcGVuPV0pCisrQVNfSUYoW3Rlc3QgIiRhY19jdl9zZWFyY2hfZGxvcGVuIiA9ICJub25lIHJlcXVpcmVkIl0sW2FjX2N2X3NlYXJjaF9kbG9wZW49IiJdKQorIEFDX1NVQlNUKFtETF9MSUJTXSwgIiRhY19jdl9zZWFyY2hfZGxvcGVuIikKKyAKKyBQS0dfQ0hFQ0tfTU9EVUxFUyhHTElCLCBbZ2lvLXVuaXgtMi4wID49IDIuMzcuNiBnbW9kdWxlLTIuMF0sCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA0LW11c2wtcHJvY2Vzcy11dGlsLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwNC1tdXNsLXByb2Nlc3MtdXRpbC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWU1Yzk0My4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA0LW11c2wtcHJvY2Vzcy11dGlsLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjIgKzAsMCBAQAotRnJvbSBkNTEzYzhiZmM5ODJkYmQ5NzY2MTcxNzhiMDQwYzUxMmM5NTcxMGI2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KLURhdGU6IFRodSwgMjUgT2N0IDIwMTggMDk6NTc6MDcgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gbXVzbDogcHJvY2Vzcy11dGlsCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TdG9sZW4gZnJvbSBbMV0gYW5kIHByZXR0eWZpZWQgc2xpZ2h0bHkKLQotWzFdIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkbGludXgvdm9pZC1wYWNrYWdlcy90cmVlL21hc3Rlci9zcmNwa2dzL05ldHdvcmtNYW5hZ2VyL3BhdGNoZXMKLQotU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KLS0tLQotIHNyYy9zeXN0ZW1kL3NyYy9iYXNpYy9wcm9jZXNzLXV0aWwuYyB8IDkgKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jIGIvc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jCi1pbmRleCAxNDEyZjAzLi40NWY1MDQ5IDEwMDY0NAotLS0tIGEvc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jCi0rKysgYi9zcmMvc3lzdGVtZC9zcmMvYmFzaWMvcHJvY2Vzcy11dGlsLmMKLUBAIC0yMSw2ICsyMSw5IEBACi0gI2luY2x1ZGUgPHN5cy93YWl0Lmg+Ci0gI2luY2x1ZGUgPHN5c2xvZy5oPgotICNpbmNsdWRlIDx1bmlzdGQuaD4KLSsjaWZuZGVmIF9fR0xJQkNfXwotKyNpbmNsdWRlIDxwdGhyZWFkLmg+Ci0rI2VuZGlmCi0gI2lmIDAgLyogTk1fSUdOT1JFRCAqLwotICNpZiBIQVZFX1ZBTEdSSU5EX1ZBTEdSSU5EX0gKLSAjaW5jbHVkZSA8dmFsZ3JpbmQvdmFsZ3JpbmQuaD4KLUBAIC0xMTUzLDExICsxMTU2LDEzIEBAIHZvaWQgcmVzZXRfY2FjaGVkX3BpZCh2b2lkKSB7Ci0gICAgICAgICBjYWNoZWRfcGlkID0gQ0FDSEVEX1BJRF9VTlNFVDsKLSB9Ci0gCi0rI2lmZGVmIF9fR0xJQkNfXwotIC8qIFdlIHVzZSBnbGliYyBfX3JlZ2lzdGVyX2F0Zm9yaygpICsgX19kc29faGFuZGxlIGRpcmVjdGx5IGhlcmUsIGFzIHRoZXkgYXJlIG5vdCBpbmNsdWRlZCBpbiB0aGUgZ2xpYmMKLSAgKiBoZWFkZXJzLiBfX3JlZ2lzdGVyX2F0Zm9yaygpIGlzIG1vc3RseSBlcXVpdmFsZW50IHRvIHB0aHJlYWRfYXRmb3JrKCksIGJ1dCBkb2Vzbid0IHJlcXVpcmUgdXMgdG8gbGluayBhZ2FpbnN0Ci0gICogbGlicHRocmVhZCwgYXMgaXQgaXMgcGFydCBvZiBnbGliYyBhbnl3YXkuICovCi0gZXh0ZXJuIGludCBfX3JlZ2lzdGVyX2F0Zm9yayh2b2lkICgqcHJlcGFyZSkgKHZvaWQpLCB2b2lkICgqcGFyZW50KSAodm9pZCksIHZvaWQgKCpjaGlsZCkgKHZvaWQpLCB2b2lkICpkc29faGFuZGxlKTsKLSBleHRlcm4gdm9pZCogX19kc29faGFuZGxlIF9fYXR0cmlidXRlX18gKChfX3dlYWtfXykpOwotKyNlbmRpZgotIAotIHBpZF90IGdldHBpZF9jYWNoZWQodm9pZCkgewotICAgICAgICAgc3RhdGljIGJvb2wgaW5zdGFsbGVkID0gZmFsc2U7Ci1AQCAtMTE4Niw3ICsxMTkxLDExIEBAIHBpZF90IGdldHBpZF9jYWNoZWQodm9pZCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAqIG9ubHkgaGFsZi1kb2N1bWVudGVkIChnbGliYyBkb2Vzbid0IGRvY3VtZW50IGl0IGJ1dCBMU0IgZG9lcyDigJQgdGhvdWdoIG9ubHkgc3VwZXJmaWNpYWxseSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgKiB3ZSdsbCBjaGVjayBmb3IgZXJyb3JzIG9ubHkgaW4gdGhlIG1vc3QgZ2VuZXJpYyBmYXNoaW9uIHBvc3NpYmxlLiAqLwotIAotKyNpZmRlZiBfX0dMSUJDX18KLSAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoX19yZWdpc3Rlcl9hdGZvcmsoTlVMTCwgTlVMTCwgcmVzZXRfY2FjaGVkX3BpZCwgX19kc29faGFuZGxlKSAhPSAwKSB7Ci0rI2Vsc2UKLSsgICAgICAgICAgICAgICAgICAgICAgICBpZiAocHRocmVhZF9hdGZvcmsoTlVMTCwgTlVMTCwgcmVzZXRfY2FjaGVkX3BpZCkgIT0gMCkgewotKyNlbmRpZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogT09NPyBMZXQncyB0cnkgYWdhaW4gbGF0ZXIgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlZF9waWQgPSBDQUNIRURfUElEX1VOU0VUOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ld19waWQ7Ci0tLSAKLTIuMTQuNQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA1LW11c2wtYXZvaWQtZnVydGhlci1jb25mbGljdHMtYnktaW5jbHVkaW5nLW5ldC1ldGhlcm4ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA1LW11c2wtYXZvaWQtZnVydGhlci1jb25mbGljdHMtYnktaW5jbHVkaW5nLW5ldC1ldGhlcm4ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZiY2E5NWUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwNS1tdXNsLWF2b2lkLWZ1cnRoZXItY29uZmxpY3RzLWJ5LWluY2x1ZGluZy1uZXQtZXRoZXJuLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzcgKzAsMCBAQAotRnJvbSBiM2I0ZmUzNTAxOGM5OGFkMTc2NzE5YjJkOWZmYjg2Nzk3NGZjN2MzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KLURhdGU6IE1vbiwgMTYgQXByIDIwMTggMTQ6NDU6NDQgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gbXVzbDogYXZvaWQgZnVydGhlciBjb25mbGljdHMgYnkgaW5jbHVkaW5nIG5ldC9ldGhlcm5ldC5oCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotLS0tCi0gc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtZGhjcC1jbGllbnQuaCAgfCAyICsrCi0gc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtZGhjcC1sZWFzZS5oICAgfCAyICsrCi0gc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtZGhjcDYtY2xpZW50LmggfCAyICsrCi0gc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtaXB2NGxsLmggICAgICAgfCAyICsrCi0gNCBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3AtY2xpZW50LmggYi9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwLWNsaWVudC5oCi1pbmRleCBlMzg4NTUyLi45YzRkZGU4IDEwMDY0NAotLS0tIGEvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtZGhjcC1jbGllbnQuaAotKysrIGIvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtZGhjcC1jbGllbnQuaAotQEAgLTIwLDcgKzIwLDkgQEAKLSAqKiovCi0gCi0gI2luY2x1ZGUgPGludHR5cGVzLmg+Ci0rI2lmIGRlZmluZWQoX19HTElCQ19fKQotICNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KLSsjZW5kaWYKLSAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgotICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSAKLWRpZmYgLS1naXQgYS9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwLWxlYXNlLmggYi9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwLWxlYXNlLmgKLWluZGV4IDJhNjAxNDUuLjE5ZDE4MTQgMTAwNjQ0Ci0tLS0gYS9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwLWxlYXNlLmgKLSsrKyBiL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3AtbGVhc2UuaAotQEAgLTE5LDcgKzE5LDkgQEAKLSAqKiovCi0gCi0gI2luY2x1ZGUgPGludHR5cGVzLmg+Ci0rI2lmIGRlZmluZWQoX19HTElCQ19fKQotICNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KLSsjZW5kaWYKLSAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgotICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSAKLWRpZmYgLS1naXQgYS9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwNi1jbGllbnQuaCBiL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3A2LWNsaWVudC5oCi1pbmRleCBmYTM2ZGNhLi4yZDI1MDEwIDEwMDY0NAotLS0tIGEvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtZGhjcDYtY2xpZW50LmgKLSsrKyBiL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3A2LWNsaWVudC5oCi1AQCAtMjAsNyArMjAsOSBAQAotICoqKi8KLSAKLSAjaW5jbHVkZSA8aW50dHlwZXMuaD4KLSsjaWYgZGVmaW5lZChfX0dMSUJDX18pCi0gI2luY2x1ZGUgPG5ldC9ldGhlcm5ldC5oPgotKyNlbmRpZgotICNpbmNsdWRlIDxzdGRib29sLmg+Ci0gI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotIAotZGlmZiAtLWdpdCBhL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWlwdjRsbC5oIGIvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtaXB2NGxsLmgKLWluZGV4IDcxYmQ0Y2YuLjFjNjY3YmEgMTAwNjQ0Ci0tLS0gYS9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1pcHY0bGwuaAotKysrIGIvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtaXB2NGxsLmgKLUBAIC0xOSw3ICsxOSw5IEBACi0gICBhbG9uZyB3aXRoIHN5c3RlbWQ7IElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLSAqKiovCi0gCi0rI2lmIGRlZmluZWQoX19HTElCQ19fKQotICNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KLSsjZW5kaWYKLSAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgotIAotICNpbmNsdWRlICJzZC1ldmVudC5oIgotLS0gCi0yLjE0LjUKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwNS1tdXNsLW5ldHdvcmstc3VwcG9ydC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDUtbXVzbC1uZXR3b3JrLXN1cHBvcnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDVmNjA3ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDUtbXVzbC1uZXR3b3JrLXN1cHBvcnQucGF0Y2gKQEAgLTAsMCArMSw3MSBAQAorRnJvbSA3MGVjYmMwMTg3NGJmMmY4NjAzY2NiZGZkYTYzNGNhYzBiYjgzZDkzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMjIgTWFyIDIwMTggMTg6MjQ6MDcgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gbXVzbDogbmV0d29yayBzdXBwb3J0CitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTdG9sZW4gZnJvbSBbMV0gYW5kIHByZXR0eWZpZWQgc2xpZ2h0bHkKKworWzFdIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkbGludXgvdm9pZC1wYWNrYWdlcy90cmVlL21hc3Rlci9zcmNwa2dzL05ldHdvcmtNYW5hZ2VyL3BhdGNoZXMKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KKworLS0tCisgbGlibm0tY29yZS9ubS11dGlscy5oICAgICAgICAgICAgICAgICAgfCA0ICsrKysKKyBzaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvc29ja2V0LXV0aWwuaCB8IDYgKysrKysrCisgc3JjL3BsYXRmb3JtL3dpZmkvbm0td2lmaS11dGlscy5oICAgICAgfCA0ICsrKysKKyAzIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2xpYm5tLWNvcmUvbm0tdXRpbHMuaCBiL2xpYm5tLWNvcmUvbm0tdXRpbHMuaAoraW5kZXggMmI1YmFiYS4uOTc2ODUwYyAxMDA2NDQKKy0tLSBhL2xpYm5tLWNvcmUvbm0tdXRpbHMuaAorKysrIGIvbGlibm0tY29yZS9ubS11dGlscy5oCitAQCAtMzAsNyArMzAsMTEgQEAKKyAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgorIAorIC8qIEZvciBFVEhfQUxFTiBhbmQgSU5GSU5JQkFORF9BTEVOICovCisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICNpbmNsdWRlIDxsaW51eC9pZl9ldGhlci5oPgorKyNlbHNlCisrI2RlZmluZSBFVEhfQUxFTgk2CQkvKiBPY3RldHMgaW4gb25lIGV0aGVybmV0IGFkZHIJICovCisrI2VuZGlmCisgI2luY2x1ZGUgPGxpbnV4L2lmX2luZmluaWJhbmQuaD4KKyAKKyAjaW5jbHVkZSAibm0tY29yZS1lbnVtLXR5cGVzLmgiCitkaWZmIC0tZ2l0IGEvc2hhcmVkL3N5c3RlbWQvc3JjL2Jhc2ljL3NvY2tldC11dGlsLmggYi9zaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvc29ja2V0LXV0aWwuaAoraW5kZXggZDIyNDZhOC4uNzZmMjU3ZiAxMDA2NDQKKy0tLSBhL3NoYXJlZC9zeXN0ZW1kL3NyYy9iYXNpYy9zb2NrZXQtdXRpbC5oCisrKysgYi9zaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvc29ja2V0LXV0aWwuaAorQEAgLTEzLDYgKzEzLDEyIEBACisgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorICNpbmNsdWRlIDxzeXMvdW4uaD4KKyAKKysjaWYgIWRlZmluZWQoX19HTElCQ19fKQorKy8qIFNJT0NHU1RBTVBOUyBmcm9tIGxpbnV4L2FzbS1nZW5lcmljLmgKKysgKiBmb3Igc3JjL3N5c3RlbWQvc3JjL2xpYnN5c3RlbWQtbmV0d29yay9zZC1sbGRwLmMgKi8KKysjaW5jbHVkZSA8bGludXgvc29ja2lvcy5oPgorKyNlbmRpZgorKworICNpbmNsdWRlICJtYWNyby5oIgorICNpbmNsdWRlICJtaXNzaW5nX3NvY2tldC5oIgorICNpbmNsdWRlICJzcGFyc2UtZW5kaWFuLmgiCitkaWZmIC0tZ2l0IGEvc3JjL3BsYXRmb3JtL3dpZmkvbm0td2lmaS11dGlscy5oIGIvc3JjL3BsYXRmb3JtL3dpZmkvbm0td2lmaS11dGlscy5oCitpbmRleCAzNjE0OGI1Li5kMjgyZWIyIDEwMDY0NAorLS0tIGEvc3JjL3BsYXRmb3JtL3dpZmkvbm0td2lmaS11dGlscy5oCisrKysgYi9zcmMvcGxhdGZvcm0vd2lmaS9ubS13aWZpLXV0aWxzLmgKK0BAIC0yMiw3ICsyMiwxMSBAQAorICNpZm5kZWYgX19XSUZJX1VUSUxTX0hfXworICNkZWZpbmUgX19XSUZJX1VUSUxTX0hfXworIAorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAjaW5jbHVkZSA8bmV0L2V0aGVybmV0Lmg+CisrI2Vsc2UgLyogbXVzbCBsaWJjICovCisrI2RlZmluZSBFVEhfQUxFTgk2CQkvKiBPY3RldHMgaW4gb25lIGV0aGVybmV0IGFkZHIJICovCisrI2VuZGlmCisgCisgI2luY2x1ZGUgIm5tLWRidXMtaW50ZXJmYWNlLmgiCisgI2luY2x1ZGUgIm5tLXNldHRpbmctd2lyZWxlc3MuaCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDYtQWRkLWEtc3RybmR1cGEtcmVwbGFjZW1lbnQtZm9yLW11c2wucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA2LUFkZC1hLXN0cm5kdXBhLXJlcGxhY2VtZW50LWZvci1tdXNsLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMjNhNGQ5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDYtQWRkLWEtc3RybmR1cGEtcmVwbGFjZW1lbnQtZm9yLW11c2wucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi1Gcm9tIDZkYjY1OTZlNDUwMDYyNjAxZDE4YjJhZTgxMmE0YTU4ZDJlMDNhNTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotRGF0ZTogTW9uLCAxNiBBcHIgMjAxOCAxNTowNzoyMCArMDIwMAotU3ViamVjdDogW1BBVENIXSBBZGQgYSBzdHJuZHVwYSByZXBsYWNlbWVudCBmb3IgbXVzbAotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KLS0tLQotIHNyYy9zeXN0ZW1kL3NyYy9iYXNpYy9pbi1hZGRyLXV0aWwuYyB8IDEgKwotIHNyYy9zeXN0ZW1kL3NyYy9iYXNpYy9zdHJpbmctdXRpbC5oICB8IDUgKysrKysKLSAyIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL2luLWFkZHItdXRpbC5jIGIvc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL2luLWFkZHItdXRpbC5jCi1pbmRleCAyYTAyZDkwLi5hNTdjMzYwIDEwMDY0NAotLS0tIGEvc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL2luLWFkZHItdXRpbC5jCi0rKysgYi9zcmMvc3lzdGVtZC9zcmMvYmFzaWMvaW4tYWRkci11dGlsLmMKLUBAIC0xMyw2ICsxMyw3IEBACi0gI2luY2x1ZGUgImluLWFkZHItdXRpbC5oIgotICNpbmNsdWRlICJtYWNyby5oIgotICNpbmNsdWRlICJwYXJzZS11dGlsLmgiCi0rI2luY2x1ZGUgInN0cmluZy11dGlsLmgiCi0gI2luY2x1ZGUgInV0aWwuaCIKLSAKLSBib29sIGluNF9hZGRyX2lzX251bGwoY29uc3Qgc3RydWN0IGluX2FkZHIgKmEpIHsKLWRpZmYgLS1naXQgYS9zcmMvc3lzdGVtZC9zcmMvYmFzaWMvc3RyaW5nLXV0aWwuaCBiL3NyYy9zeXN0ZW1kL3NyYy9iYXNpYy9zdHJpbmctdXRpbC5oCi1pbmRleCA0Yzk0YjE4Li5hNmRjNDQ2IDEwMDY0NAotLS0tIGEvc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL3N0cmluZy11dGlsLmgKLSsrKyBiL3NyYy9zeXN0ZW1kL3NyYy9iYXNpYy9zdHJpbmctdXRpbC5oCi1AQCAtMjYsNiArMjYsMTEgQEAKLSAjZGVmaW5lIHN0cmNhc2VlcShhLGIpIChzdHJjYXNlY21wKChhKSwoYikpID09IDApCi0gI2RlZmluZSBzdHJuY2FzZWVxKGEsIGIsIG4pIChzdHJuY2FzZWNtcCgoYSksIChiKSwgKG4pKSA9PSAwKQotIAotKy8qIG11c2wgZG9lcyBub3Qga25vdyBzdHJuZHVwYSAqLwotKyNpZiAhZGVmaW5lZChfX0dMSUJDX18pCi0rI2RlZmluZSBzdHJuZHVwYSh4LHMpIHN0cm5jcHkoYWxsb2NhKHN0cmxlbih4KSsxKSx4LHMpCi0rI2VuZGlmCi0rCi0gaW50IHN0cmNtcF9wdHIoY29uc3QgY2hhciAqYSwgY29uc3QgY2hhciAqYikgX3B1cmVfOwotIAotIHN0YXRpYyBpbmxpbmUgYm9vbCBzdHJlcV9wdHIoY29uc3QgY2hhciAqYSwgY29uc3QgY2hhciAqYikgewotLS0gCi0yLjE0LjMKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwNi1tdXNsLXByb2Nlc3MtdXRpbC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDYtbXVzbC1wcm9jZXNzLXV0aWwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTI1ZTM1OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDYtbXVzbC1wcm9jZXNzLXV0aWwucGF0Y2gKQEAgLTAsMCArMSw2MCBAQAorRnJvbSA0ZjJmYjFlMWY3ODViYWQyMmRmOGYzZDk2Y2I0NzkyYWNmMjFmMzE1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMjUgT2N0IDIwMTggMDk6NTc6MDcgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gbXVzbDogcHJvY2Vzcy11dGlsCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTdG9sZW4gZnJvbSBbMV0gYW5kIHByZXR0eWZpZWQgc2xpZ2h0bHkKKworWzFdIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkbGludXgvdm9pZC1wYWNrYWdlcy90cmVlL21hc3Rlci9zcmNwa2dzL05ldHdvcmtNYW5hZ2VyL3BhdGNoZXMKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KKworLS0tCisgc2hhcmVkL3N5c3RlbWQvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jIHwgOSArKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvcHJvY2Vzcy11dGlsLmMgYi9zaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvcHJvY2Vzcy11dGlsLmMKK2luZGV4IGIwYWZiNWMuLjdhZGM4YmQgMTAwNjQ0CistLS0gYS9zaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvcHJvY2Vzcy11dGlsLmMKKysrKyBiL3NoYXJlZC9zeXN0ZW1kL3NyYy9iYXNpYy9wcm9jZXNzLXV0aWwuYworQEAgLTIxLDYgKzIxLDkgQEAKKyAjaW5jbHVkZSA8c3lzL3dhaXQuaD4KKyAjaW5jbHVkZSA8c3lzbG9nLmg+CisgI2luY2x1ZGUgPHVuaXN0ZC5oPgorKyNpZm5kZWYgX19HTElCQ19fCisrI2luY2x1ZGUgPHB0aHJlYWQuaD4KKysjZW5kaWYKKyAjaWYgMCAvKiBOTV9JR05PUkVEICovCisgI2lmIEhBVkVfVkFMR1JJTkRfVkFMR1JJTkRfSAorICNpbmNsdWRlIDx2YWxncmluZC92YWxncmluZC5oPgorQEAgLTExNjgsMTEgKzExNzEsMTMgQEAgdm9pZCByZXNldF9jYWNoZWRfcGlkKHZvaWQpIHsKKyAgICAgICAgIGNhY2hlZF9waWQgPSBDQUNIRURfUElEX1VOU0VUOworIH0KKyAKKysjaWZkZWYgX19HTElCQ19fCisgLyogV2UgdXNlIGdsaWJjIF9fcmVnaXN0ZXJfYXRmb3JrKCkgKyBfX2Rzb19oYW5kbGUgZGlyZWN0bHkgaGVyZSwgYXMgdGhleSBhcmUgbm90IGluY2x1ZGVkIGluIHRoZSBnbGliYworICAqIGhlYWRlcnMuIF9fcmVnaXN0ZXJfYXRmb3JrKCkgaXMgbW9zdGx5IGVxdWl2YWxlbnQgdG8gcHRocmVhZF9hdGZvcmsoKSwgYnV0IGRvZXNuJ3QgcmVxdWlyZSB1cyB0byBsaW5rIGFnYWluc3QKKyAgKiBsaWJwdGhyZWFkLCBhcyBpdCBpcyBwYXJ0IG9mIGdsaWJjIGFueXdheS4gKi8KKyBleHRlcm4gaW50IF9fcmVnaXN0ZXJfYXRmb3JrKHZvaWQgKCpwcmVwYXJlKSAodm9pZCksIHZvaWQgKCpwYXJlbnQpICh2b2lkKSwgdm9pZCAoKmNoaWxkKSAodm9pZCksIHZvaWQgKmRzb19oYW5kbGUpOworIGV4dGVybiB2b2lkKiBfX2Rzb19oYW5kbGUgX3dlYWtfOworKyNlbmRpZgorIAorIHBpZF90IGdldHBpZF9jYWNoZWQodm9pZCkgeworICAgICAgICAgc3RhdGljIGJvb2wgaW5zdGFsbGVkID0gZmFsc2U7CitAQCAtMTIwMSw3ICsxMjA2LDExIEBAIHBpZF90IGdldHBpZF9jYWNoZWQodm9pZCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAqIG9ubHkgaGFsZi1kb2N1bWVudGVkIChnbGliYyBkb2Vzbid0IGRvY3VtZW50IGl0IGJ1dCBMU0IgZG9lcyDigJQgdGhvdWdoIG9ubHkgc3VwZXJmaWNpYWxseSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKiB3ZSdsbCBjaGVjayBmb3IgZXJyb3JzIG9ubHkgaW4gdGhlIG1vc3QgZ2VuZXJpYyBmYXNoaW9uIHBvc3NpYmxlLiAqLworIAorKyNpZmRlZiBfX0dMSUJDX18KKyAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoX19yZWdpc3Rlcl9hdGZvcmsoTlVMTCwgTlVMTCwgcmVzZXRfY2FjaGVkX3BpZCwgX19kc29faGFuZGxlKSAhPSAwKSB7CisrI2Vsc2UKKysgICAgICAgICAgICAgICAgICAgICAgICBpZiAocHRocmVhZF9hdGZvcmsoTlVMTCwgTlVMTCwgcmVzZXRfY2FjaGVkX3BpZCkgIT0gMCkgeworKyNlbmRpZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogT09NPyBMZXQncyB0cnkgYWdhaW4gbGF0ZXIgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlZF9waWQgPSBDQUNIRURfUElEX1VOU0VUOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ld19waWQ7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA3LW11c2wtYXZvaWQtZnVydGhlci1jb25mbGljdHMtYnktaW5jbHVkaW5nLW5ldC1ldGhlcm4ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA3LW11c2wtYXZvaWQtZnVydGhlci1jb25mbGljdHMtYnktaW5jbHVkaW5nLW5ldC1ldGhlcm4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjExYTJkYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDctbXVzbC1hdm9pZC1mdXJ0aGVyLWNvbmZsaWN0cy1ieS1pbmNsdWRpbmctbmV0LWV0aGVybi5wYXRjaApAQCAtMCwwICsxLDc1IEBACitGcm9tIDQyMzJhMzQwNjRlMzNiNTJmMDdjY2E1MWI5MDJiOTM2OTk4MDBmNzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgorRGF0ZTogTW9uLCAxNiBBcHIgMjAxOCAxNDo0NTo0NCArMDIwMAorU3ViamVjdDogW1BBVENIXSBtdXNsOiBhdm9pZCBmdXJ0aGVyIGNvbmZsaWN0cyBieSBpbmNsdWRpbmcgbmV0L2V0aGVybmV0LmgKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+CisKKy0tLQorIHNyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3AtY2xpZW50LmggIHwgMiArKworIHNyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3AtbGVhc2UuaCAgIHwgMiArKworIHNyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3A2LWNsaWVudC5oIHwgMiArKworIHNyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWlwdjRsbC5oICAgICAgIHwgMiArKworIDQgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwLWNsaWVudC5oIGIvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtZGhjcC1jbGllbnQuaAoraW5kZXggYmQwZDQyOS4uYzkzNWZlMSAxMDA2NDQKKy0tLSBhL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3AtY2xpZW50LmgKKysrKyBiL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3AtY2xpZW50LmgKK0BAIC0yMCw3ICsyMCw5IEBACisgKioqLworIAorICNpbmNsdWRlIDxpbnR0eXBlcy5oPgorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAjaW5jbHVkZSA8bmV0L2V0aGVybmV0Lmg+CisrI2VuZGlmCisgI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgI2luY2x1ZGUgPHN0ZGJvb2wuaD4KK2RpZmYgLS1naXQgYS9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwLWxlYXNlLmggYi9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwLWxlYXNlLmgKK2luZGV4IGQyOTljNzkuLjk5MWU2N2UgMTAwNjQ0CistLS0gYS9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwLWxlYXNlLmgKKysrKyBiL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3AtbGVhc2UuaAorQEAgLTE5LDcgKzE5LDkgQEAKKyAqKiovCisgCisgI2luY2x1ZGUgPGludHR5cGVzLmg+CisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KKysjZW5kaWYKKyAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAKK2RpZmYgLS1naXQgYS9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwNi1jbGllbnQuaCBiL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3A2LWNsaWVudC5oCitpbmRleCA0M2QzOGY1Li41N2FiNDg3IDEwMDY0NAorLS0tIGEvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtZGhjcDYtY2xpZW50LmgKKysrKyBiL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3A2LWNsaWVudC5oCitAQCAtMjAsNyArMjAsOSBAQAorICoqKi8KKyAKKyAjaW5jbHVkZSA8aW50dHlwZXMuaD4KKysjaWYgZGVmaW5lZChfX0dMSUJDX18pCisgI2luY2x1ZGUgPG5ldC9ldGhlcm5ldC5oPgorKyNlbmRpZgorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAKKyAjaW5jbHVkZSAic2QtZGhjcDYtbGVhc2UuaCIKK2RpZmYgLS1naXQgYS9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1pcHY0bGwuaCBiL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWlwdjRsbC5oCitpbmRleCA3MWJkNGNmLi4xYzY2N2JhIDEwMDY0NAorLS0tIGEvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtaXB2NGxsLmgKKysrKyBiL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWlwdjRsbC5oCitAQCAtMTksNyArMTksOSBAQAorICAgYWxvbmcgd2l0aCBzeXN0ZW1kOyBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKioqLworIAorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAjaW5jbHVkZSA8bmV0L2V0aGVybmV0Lmg+CisrI2VuZGlmCisgI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KKyAKKyAjaW5jbHVkZSAic2QtZXZlbnQuaCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDgtQWRkLWEtc3RybmR1cGEtcmVwbGFjZW1lbnQtZm9yLW11c2wucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA4LUFkZC1hLXN0cm5kdXBhLXJlcGxhY2VtZW50LWZvci1tdXNsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4NTgxMDEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA4LUFkZC1hLXN0cm5kdXBhLXJlcGxhY2VtZW50LWZvci1tdXNsLnBhdGNoCkBAIC0wLDAgKzEsNDUgQEAKK0Zyb20gY2RkNjkzMjFlYzk3ZWQxOWU2NmE3NDdhOTY4YTE2MzdhMjUxYjllNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+CitEYXRlOiBNb24sIDE2IEFwciAyMDE4IDE1OjA3OjIwICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBhIHN0cm5kdXBhIHJlcGxhY2VtZW50IGZvciBtdXNsCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgorCistLS0KKyBzaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvaW4tYWRkci11dGlsLmMgfCAxICsKKyBzaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvc3RyaW5nLXV0aWwuaCAgfCA1ICsrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3NoYXJlZC9zeXN0ZW1kL3NyYy9iYXNpYy9pbi1hZGRyLXV0aWwuYyBiL3NoYXJlZC9zeXN0ZW1kL3NyYy9iYXNpYy9pbi1hZGRyLXV0aWwuYworaW5kZXggNWNlZDM1MC4uYzZiNTJiOCAxMDA2NDQKKy0tLSBhL3NoYXJlZC9zeXN0ZW1kL3NyYy9iYXNpYy9pbi1hZGRyLXV0aWwuYworKysrIGIvc2hhcmVkL3N5c3RlbWQvc3JjL2Jhc2ljL2luLWFkZHItdXRpbC5jCitAQCAtMTMsNiArMTMsNyBAQAorICNpbmNsdWRlICJpbi1hZGRyLXV0aWwuaCIKKyAjaW5jbHVkZSAibWFjcm8uaCIKKyAjaW5jbHVkZSAicGFyc2UtdXRpbC5oIgorKyNpbmNsdWRlICJzdHJpbmctdXRpbC5oIgorICNpbmNsdWRlICJ1dGlsLmgiCisgCisgYm9vbCBpbjRfYWRkcl9pc19udWxsKGNvbnN0IHN0cnVjdCBpbl9hZGRyICphKSB7CitkaWZmIC0tZ2l0IGEvc2hhcmVkL3N5c3RlbWQvc3JjL2Jhc2ljL3N0cmluZy11dGlsLmggYi9zaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvc3RyaW5nLXV0aWwuaAoraW5kZXggMzgwNzBhYi4uNmI5MThlMCAxMDA2NDQKKy0tLSBhL3NoYXJlZC9zeXN0ZW1kL3NyYy9iYXNpYy9zdHJpbmctdXRpbC5oCisrKysgYi9zaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvc3RyaW5nLXV0aWwuaAorQEAgLTI3LDYgKzI3LDExIEBACisgI2RlZmluZSBzdHJjYXNlZXEoYSxiKSAoc3RyY2FzZWNtcCgoYSksKGIpKSA9PSAwKQorICNkZWZpbmUgc3RybmNhc2VlcShhLCBiLCBuKSAoc3RybmNhc2VjbXAoKGEpLCAoYiksIChuKSkgPT0gMCkKKyAKKysvKiBtdXNsIGRvZXMgbm90IGtub3cgc3RybmR1cGEgKi8KKysjaWYgIWRlZmluZWQoX19HTElCQ19fKQorKyNkZWZpbmUgc3RybmR1cGEoeCxzKSBzdHJuY3B5KGFsbG9jYShzdHJsZW4oeCkrMSkseCxzKQorKyNlbmRpZgorKworIGludCBzdHJjbXBfcHRyKGNvbnN0IGNoYXIgKmEsIGNvbnN0IGNoYXIgKmIpIF9wdXJlXzsKKyAKKyBzdGF0aWMgaW5saW5lIGJvb2wgc3RyZXFfcHRyKGNvbnN0IGNoYXIgKmEsIGNvbnN0IGNoYXIgKmIpIHsKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlcl8xLjE0LjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXJfMS4xNC40LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMjE2MDBlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlcl8xLjE0LjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNDQgKzAsMCBAQAotU1VNTUFSWSA9ICJOZXR3b3JrTWFuYWdlciIKLUhPTUVQQUdFID0gImh0dHBzOi8vd2lraS5nbm9tZS5vcmcvUHJvamVjdHMvTmV0d29ya01hbmFnZXIiCi1TRUNUSU9OID0gIm5ldC9taXNjIgotCi1MSUNFTlNFID0gIkdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWNiYmZmZDU2ODIyN2FkYTUwNjY0MGZlOTUwYTQ4MjNiIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYm5tLXV0aWwvQ09QWUlORzttZDU9MWM0ZmE3NjVkNmViM2NkMmZiZDg0MzQ0YTFiODE2Y2QgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZG9jcy9hcGkvaHRtbC9saWNlbnNlLmh0bWw7bWQ1PTJkNTZhMWIwYzQyZTM4OGFhODZhZWY1OWIxNTRlOGMzIFwKLSIKLQotREVQRU5EUyA9ICIgXAotICAgIGludGx0b29sLW5hdGl2ZSBcCi0gICAgbGlieHNsdC1uYXRpdmUgXAotICAgIGxpYm5sIFwKLSAgICBsaWJndWRldiBcCi0gICAgdXRpbC1saW51eCBcCi0gICAgbGlibmRwIFwKLSAgICBsaWJuZXd0IFwKLSAgICBwb2xraXQgXAotICAgIGphbnNzb24gXAotICAgIGN1cmwgXAotIgotCi1pbmhlcml0IGdub21lYmFzZSBnZXR0ZXh0IHN5c3RlbWQgYmx1ZXRvb3RoIGJhc2gtY29tcGxldGlvbiB2YWxhIGdvYmplY3QtaW50cm9zcGVjdGlvbiBndGstZG9jCi0KLVNSQ19VUkkgPSAiIFwKLSAgICAke0dOT01FX01JUlJPUn0vTmV0d29ya01hbmFnZXIvJHtAZ25vbWVfdmVyZGlyKCIke1BWfSIpfS9OZXR3b3JrTWFuYWdlci0ke1BWfS50YXIueHogXAotICAgIGZpbGU6Ly8wMDAxLXNkLWxsZHAuaC1SZW1vdmUtbmV0LWV0aGVybmV0Lmgtc2VlbXMtdG8tYmUtb3Zlci1zcGUucGF0Y2ggXAotICAgIGZpbGU6Ly8wMDAyLUZpeGVkLWNvbmZpZ3VyZS5hYy1GaXgtcGtnY29uZmlnLXN5c3Jvb3QtbG9jYXRpb25zLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMy1Eby1ub3QtY3JlYXRlLXNldHRpbmdzLXNldHRpbmdzLXByb3BlcnR5LWRvY3VtZW50YXRpLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMS1Eby1ub3QtaW5jbHVkZS1uZXQtZXRoZXJuZXQuaC1hbmQtbGludXgtaWZfZXRoZXIuaC5wYXRjaCBcCi0gICAgZmlsZTovL211c2wvMDAwMS1tdXNsLWJhc2ljLnBhdGNoIFwKLSAgICBmaWxlOi8vbXVzbC8wMDAyLW11c2wtZGxvcGVuLWNvbmZpZ3VyZS1hYy5wYXRjaCBcCi0gICAgZmlsZTovL211c2wvMDAwMy1tdXNsLW5ldHdvcmstc3VwcG9ydC5wYXRjaCBcCi0gICAgZmlsZTovL211c2wvMDAwNC1tdXNsLXByb2Nlc3MtdXRpbC5wYXRjaCBcCi0gICAgZmlsZTovL211c2wvMDAwNS1tdXNsLWF2b2lkLWZ1cnRoZXItY29uZmxpY3RzLWJ5LWluY2x1ZGluZy1uZXQtZXRoZXJuLnBhdGNoIFwKLSAgICBmaWxlOi8vbXVzbC8wMDA2LUFkZC1hLXN0cm5kdXBhLXJlcGxhY2VtZW50LWZvci1tdXNsLnBhdGNoIFwKLSIKLVNSQ19VUklbbWQ1c3VtXSA9ICI1NGNlNjJmMGFhMThlZjZjNWU3NTRlYWFjNDc0OTRhYyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIzNWEzZWRlNGM3ZDEyZDYyMTIwMzNjOWU0NGNiODJiNzY5MmYzODA2M2I1M2EwNjc1NjdmMDJmNTkzN2M4YzE4IgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiJHtHTk9NRV9NSVJST1J9L05ldHdvcmtNYW5hZ2VyLzEuMTAvIgotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiTmV0d29ya01hbmFnZXJcLSg/UDxwdmVyPjFcLjEwKFwuXGQrKSspLnRhci54eiIKLQotUyA9ICIke1dPUktESVJ9L05ldHdvcmtNYW5hZ2VyLSR7UFZ9IgotCi1FWFRSQV9PRUNPTkYgPSAiIFwKLSAgICAtLWRpc2FibGUtaWZjZmctcmggXAotICAgIC0tZGlzYWJsZS1tb3JlLXdhcm5pbmdzIFwKLSAgICAtLXdpdGgtaXB0YWJsZXM9JHtzYmluZGlyfS9pcHRhYmxlcyBcCi0gICAgLS13aXRoLXRlc3RzIFwKLSAgICAtLXdpdGgtbm10dWk9eWVzIFwKLSAgICAtLXdpdGgtdWRldi1kaXI9JHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2IFwKLSIKLQotIyBnb2JqZWN0LWludHJvc3BlY3Rpb24gcmVsYXRlZAotR0lfREFUQV9FTkFCTEVEX2xpYmMtbXVzbCA9ICJGYWxzZSIKLQotIyBzdG9sZW4gZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZGxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvc3JjcGtncy9OZXR3b3JrTWFuYWdlci90ZW1wbGF0ZQotQ0ZMQUdTX2xpYmMtbXVzbF9hcHBlbmQgPSAiIFwKLSAgICAtREhBVkVfU0VDVVJFX0dFVEVOViAtRHNlY3VyZV9nZXRlbnY9Z2V0ZW52IFwKLSAgICAtRF9fVVNFX1BPU0lYMTk5MzA5IC1EUlRMRF9ERUVQQklORD0wIFwKLSIKLQotZG9fY29tcGlsZV9wcmVwZW5kKCkgewotICAgIGV4cG9ydCBHSVJfRVhUUkFfTElCU19QQVRIPSIke0J9L2xpYm5tLy5saWJzOiR7Qn0vbGlibm0tZ2xpYi8ubGliczoke0J9L2xpYm5tLXV0aWwvLmxpYnMiCi19Ci0KLVBBQ0tBR0VDT05GSUcgPz89ICJuc3MgaWZ1cGRvd24gZGhjbGllbnQgZG5zbWFzcSBcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3N5c3RlbWQnLCBiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICdjb25zb2xla2l0JywgJycsIGQpLCBkKX0gXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYmx1ZXRvb3RoJywgJyR7QkxVRVp9JywgJycsIGQpfSBcCi0gICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnd2lmaScsIGQpfSBcCi0iCi1QQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIiBcCi0gICAgLS13aXRoLXN5c3RlbWRzeXN0ZW11bml0ZGlyPSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0gLS13aXRoLXNlc3Npb24tdHJhY2tpbmc9c3lzdGVtZCAtLWVuYWJsZS1wb2xraXQsIFwKLSAgICAtLXdpdGhvdXQtc3lzdGVtZHN5c3RlbXVuaXRkaXIsIFwKLSAgICBwb2xraXQgXAotIgotUEFDS0FHRUNPTkZJR1tibHVlejVdID0gIi0tZW5hYmxlLWJsdWV6NS1kdW4sLS1kaXNhYmxlLWJsdWV6NS1kdW4sYmx1ZXo1IgotIyBjb25zb2xla2l0IGlzIG5vdCBwaWNrZWQgYnkgc2hsaWJzLCBzbyBhZGQgaXQgdG8gUkRFUEVORFMgdG9vCi1QQUNLQUdFQ09ORklHW2NvbnNvbGVraXRdID0gIi0td2l0aC1zZXNzaW9uLXRyYWNraW5nPWNvbnNvbGVraXQsLGNvbnNvbGVraXQsY29uc29sZWtpdCIKLVBBQ0tBR0VDT05GSUdbbW9kZW1tYW5hZ2VyXSA9ICItLXdpdGgtbW9kZW0tbWFuYWdlci0xPXllcywtLXdpdGgtbW9kZW0tbWFuYWdlci0xPW5vLG1vZGVtbWFuYWdlciIKLVBBQ0tBR0VDT05GSUdbcHBwXSA9ICItLWVuYWJsZS1wcHAsLS1kaXNhYmxlLXBwcCxwcHAscHBwIgotIyBVc2UgZnVsbCBmZWF0dXJlZCBkaGNwIGNsaWVudCBpbnN0ZWFkIG9mIGludGVybmFsIG9uZQotUEFDS0FHRUNPTkZJR1tkaGNsaWVudF0gPSAiLS13aXRoLWRoY2xpZW50PSR7YmFzZV9zYmluZGlyfS9kaGNsaWVudCwsLGRoY3AtY2xpZW50IgotUEFDS0FHRUNPTkZJR1tkbnNtYXNxXSA9ICItLXdpdGgtZG5zbWFzcT0ke2JpbmRpcn0vZG5zbWFzcSIKLVBBQ0tBR0VDT05GSUdbbnNzXSA9ICItLXdpdGgtY3J5cHRvPW5zcywsbnNzIgotUEFDS0FHRUNPTkZJR1tnbGliXSA9ICItLXdpdGgtbGlibm0tZ2xpYiwsZGJ1cy1nbGliLW5hdGl2ZSBkYnVzLWdsaWIiCi1QQUNLQUdFQ09ORklHW2dudXRsc10gPSAiLS13aXRoLWNyeXB0bz1nbnV0bHMsLGdudXRscyIKLVBBQ0tBR0VDT05GSUdbd2lmaV0gPSAiLS1lbmFibGUtd2lmaT15ZXMsLS1lbmFibGUtd2lmaT1ubywsd3BhLXN1cHBsaWNhbnQiCi1QQUNLQUdFQ09ORklHW2lmdXBkb3duXSA9ICItLWVuYWJsZS1pZnVwZG93biwtLWRpc2FibGUtaWZ1cGRvd24iCi1QQUNLQUdFQ09ORklHW3F0NC14MTEtZnJlZV0gPSAiLS1lbmFibGUtcXQsLS1kaXNhYmxlLXF0LHF0NC14MTEtZnJlZSIKLQotUEFDS0FHRVMgPSsgImxpYm5tdXRpbCBsaWJubWdsaWIgbGlibm1nbGliLXZwbiBcCi0gICR7UE59LW5tdHVpICR7UE59LW5tdHVpLWRvYyBcCi0gICR7UE59LWFkc2wgXAotIgotCi1GSUxFU19saWJubXV0aWwgKz0gIiR7bGliZGlyfS9saWJubS11dGlsLnNvLioiCi1GSUxFU19saWJubWdsaWIgKz0gIiR7bGliZGlyfS9saWJubS1nbGliLnNvLioiCi1GSUxFU19saWJubWdsaWItdnBuICs9ICIke2xpYmRpcn0vbGlibm0tZ2xpYi12cG4uc28uKiIKLQotRklMRVNfJHtQTn0tYWRzbCA9ICIke2xpYmRpcn0vTmV0d29ya01hbmFnZXIvbGlibm0tZGV2aWNlLXBsdWdpbi1hZHNsLnNvIgotCi1GSUxFU18ke1BOfSArPSAiIFwKLSAgICAke2xpYmV4ZWNkaXJ9IFwKLSAgICAke2xpYmRpcn0vTmV0d29ya01hbmFnZXIvJHtQVn0vKi5zbyBcCi0gICAgJHtub25hcmNoX2xpYmRpcn0vTmV0d29ya01hbmFnZXIvVlBOIFwKLSAgICAke25vbmFyY2hfbGliZGlyfS9OZXR3b3JrTWFuYWdlci9jb25mLmQgXAotICAgICR7ZGF0YWRpcn0vcG9sa2l0LTEgXAotICAgICR7ZGF0YWRpcn0vZGJ1cy0xIFwKLSAgICAke25vYXJjaF9iYXNlX2xpYmRpcn0vdWRldi8qIFwKLSAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtIFwKLSAgICAke2xpYmRpcn0vcHBwZCBcCi0iCi0KLVJSRUNPTU1FTkRTXyR7UE59ICs9ICJpcHRhYmxlcyBcCi0gICAgJHtAYmIudXRpbHMuZmlsdGVyKCdQQUNLQUdFQ09ORklHJywgJ2Ruc21hc3EnLCBkKX0gXAotIgotUkNPTkZMSUNUU18ke1BOfSA9ICJjb25ubWFuIgotCi1GSUxFU18ke1BOfS1kZXYgKz0gIiBcCi0gICAgJHtkYXRhZGlyfS9OZXR3b3JrTWFuYWdlci9nZGItY21kIFwKLSAgICAke2xpYmRpcn0vcHBwZC8qLyoubGEgXAotICAgICR7bGliZGlyfS9OZXR3b3JrTWFuYWdlci8qLmxhIFwKLSAgICAke2xpYmRpcn0vTmV0d29ya01hbmFnZXIvJHtQVn0vKi5sYSBcCi0iCi0KLUZJTEVTXyR7UE59LW5tdHVpID0gIiBcCi0gICAgJHtiaW5kaXJ9L25tdHVpIFwKLSAgICAke2JpbmRpcn0vbm10dWktZWRpdCBcCi0gICAgJHtiaW5kaXJ9L25tdHVpLWNvbm5lY3QgXAotICAgICR7YmluZGlyfS9ubXR1aS1ob3N0bmFtZSBcCi0iCi0KLUZJTEVTXyR7UE59LW5tdHVpLWRvYyA9ICIgXAotICAgICR7bWFuZGlyfS9tYW4xL25tdHVpKiBcCi0iCi0KLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJOZXR3b3JrTWFuYWdlci5zZXJ2aWNlIE5ldHdvcmtNYW5hZ2VyLWRpc3BhdGNoZXIuc2VydmljZSIKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgcm0gLXJmICR7RH0vcnVuICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bgotfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyXzEuMTYuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlcl8xLjE2LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmRmNjBlZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlcl8xLjE2LjAuYmIKQEAgLTAsMCArMSwxNDMgQEAKK1NVTU1BUlkgPSAiTmV0d29ya01hbmFnZXIiCitIT01FUEFHRSA9ICJodHRwczovL3dpa2kuZ25vbWUub3JnL1Byb2plY3RzL05ldHdvcmtNYW5hZ2VyIgorU0VDVElPTiA9ICJuZXQvbWlzYyIKKworTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jYmJmZmQ1NjgyMjdhZGE1MDY2NDBmZTk1MGE0ODIzYiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWJubS11dGlsL0NPUFlJTkc7bWQ1PTFjNGZhNzY1ZDZlYjNjZDJmYmQ4NDM0NGExYjgxNmNkIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2RvY3MvYXBpL2h0bWwvbGljZW5zZS5odG1sO21kNT0yMzM5MzEzMDNlZjgwZWRlZDE2N2FkZDFmNjBhNTBjMSBcCisiCisKK0RFUEVORFMgPSAiIFwKKyAgICBpbnRsdG9vbC1uYXRpdmUgXAorICAgIGxpYnhzbHQtbmF0aXZlIFwKKyAgICBsaWJubCBcCisgICAgbGliZ3VkZXYgXAorICAgIHV0aWwtbGludXggXAorICAgIGxpYm5kcCBcCisgICAgbGlibmV3dCBcCisgICAgamFuc3NvbiBcCisgICAgY3VybCBcCisiCisKK2luaGVyaXQgZ25vbWViYXNlIGdldHRleHQgc3lzdGVtZCBibHVldG9vdGggYmFzaC1jb21wbGV0aW9uIHZhbGEgZ29iamVjdC1pbnRyb3NwZWN0aW9uIGd0ay1kb2MKKworU1JDX1VSSSA9ICIgXAorICAgICR7R05PTUVfTUlSUk9SfS9OZXR3b3JrTWFuYWdlci8ke0Bnbm9tZV92ZXJkaXIoIiR7UFZ9Iil9L05ldHdvcmtNYW5hZ2VyLSR7UFZ9LnRhci54eiBcCisgICAgZmlsZTovLzAwMDEtRml4ZWQtY29uZmlndXJlLmFjLUZpeC1wa2djb25maWctc3lzcm9vdC1sb2NhdGlvbnMucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAyLURvLW5vdC1jcmVhdGUtc2V0dGluZ3Mtc2V0dGluZ3MtcHJvcGVydHktZG9jdW1lbnRhdGkucGF0Y2ggXAorICAgIGZpbGU6Ly9tdXNsLzAwMDEtRG8tbm90LWluY2x1ZGUtbmV0LWV0aGVybmV0LmgtYW5kLWxpbnV4LWlmX2V0aGVyLmgucGF0Y2ggXAorICAgIGZpbGU6Ly9tdXNsLzAwMDItc2QtbGxkcC5oLVJlbW92ZS1uZXQtZXRoZXJuZXQuaC1zZWVtcy10by1iZS1vdmVyLXNwZS5wYXRjaCBcCisgICAgZmlsZTovL211c2wvMDAwMy1tdXNsLWJhc2ljLnBhdGNoIFwKKyAgICBmaWxlOi8vbXVzbC8wMDA0LW11c2wtZGxvcGVuLWNvbmZpZ3VyZS1hYy5wYXRjaCBcCisgICAgZmlsZTovL211c2wvMDAwNS1tdXNsLW5ldHdvcmstc3VwcG9ydC5wYXRjaCBcCisgICAgZmlsZTovL211c2wvMDAwNi1tdXNsLXByb2Nlc3MtdXRpbC5wYXRjaCBcCisgICAgZmlsZTovL211c2wvMDAwNy1tdXNsLWF2b2lkLWZ1cnRoZXItY29uZmxpY3RzLWJ5LWluY2x1ZGluZy1uZXQtZXRoZXJuLnBhdGNoIFwKKyAgICBmaWxlOi8vbXVzbC8wMDA4LUFkZC1hLXN0cm5kdXBhLXJlcGxhY2VtZW50LWZvci1tdXNsLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICIxMGFiYWNhYWZiMTYyYTY3ZDI5NDJhZGYwM2U3ZTllNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ZTk2MjgzM2I2Y2EwM2VkZGExYmM1N2VkNjYxNGE3YjhjMjMzOTUzMWI0NGFjZWYwOThkMDVmMjMyNGM1ZDJjIgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiJHtHTk9NRV9NSVJST1J9L05ldHdvcmtNYW5hZ2VyLzEuMTAvIgorVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiTmV0d29ya01hbmFnZXJcLSg/UDxwdmVyPjFcLjEwKFwuXGQrKSspLnRhci54eiIKKworUyA9ICIke1dPUktESVJ9L05ldHdvcmtNYW5hZ2VyLSR7UFZ9IgorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLWRpc2FibGUtaWZjZmctcmggXAorICAgIC0tZGlzYWJsZS1tb3JlLXdhcm5pbmdzIFwKKyAgICAtLXdpdGgtaXB0YWJsZXM9JHtzYmluZGlyfS9pcHRhYmxlcyBcCisgICAgLS13aXRoLXRlc3RzIFwKKyAgICAtLXdpdGgtbm10dWk9eWVzIFwKKyAgICAtLXdpdGgtdWRldi1kaXI9JHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2IFwKKyIKKworIyBnb2JqZWN0LWludHJvc3BlY3Rpb24gcmVsYXRlZAorR0lfREFUQV9FTkFCTEVEX2xpYmMtbXVzbCA9ICJGYWxzZSIKKworIyBzdG9sZW4gZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZGxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvc3JjcGtncy9OZXR3b3JrTWFuYWdlci90ZW1wbGF0ZQorQ0ZMQUdTX2xpYmMtbXVzbF9hcHBlbmQgPSAiIFwKKyAgICAtREhBVkVfU0VDVVJFX0dFVEVOViAtRHNlY3VyZV9nZXRlbnY9Z2V0ZW52IFwKKyAgICAtRF9fVVNFX1BPU0lYMTk5MzA5IC1EUlRMRF9ERUVQQklORD0wIFwKKyIKKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworICAgIGV4cG9ydCBHSVJfRVhUUkFfTElCU19QQVRIPSIke0J9L2xpYm5tLy5saWJzOiR7Qn0vbGlibm0tZ2xpYi8ubGliczoke0J9L2xpYm5tLXV0aWwvLmxpYnMiCit9CisKK1BBQ0tBR0VDT05GSUcgPz89ICJuc3MgaWZ1cGRvd24gZGhjbGllbnQgZG5zbWFzcSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3N5c3RlbWQnLCBiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICdjb25zb2xla2l0JywgJycsIGQpLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYmx1ZXRvb3RoJywgJyR7QkxVRVp9JywgJycsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnd2lmaSBwb2xraXQnLCBkKX0gXAorIgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICIgXAorICAgIC0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtIC0td2l0aC1zZXNzaW9uLXRyYWNraW5nPXN5c3RlbWQsIFwKKyAgICAtLXdpdGhvdXQtc3lzdGVtZHN5c3RlbXVuaXRkaXIsIFwKKyIKK1BBQ0tBR0VDT05GSUdbcG9sa2l0XSA9ICItLWVuYWJsZS1wb2xraXQgLS1lbmFibGUtcG9sa2l0LWFnZW50LC0tZGlzYWJsZS1wb2xraXQgLS1kaXNhYmxlLXBvbGtpdC1hZ2VudCxwb2xraXQiCitQQUNLQUdFQ09ORklHW2JsdWV6NV0gPSAiLS1lbmFibGUtYmx1ZXo1LWR1biwtLWRpc2FibGUtYmx1ZXo1LWR1bixibHVlejUiCisjIGNvbnNvbGVraXQgaXMgbm90IHBpY2tlZCBieSBzaGxpYnMsIHNvIGFkZCBpdCB0byBSREVQRU5EUyB0b28KK1BBQ0tBR0VDT05GSUdbY29uc29sZWtpdF0gPSAiLS13aXRoLXNlc3Npb24tdHJhY2tpbmc9Y29uc29sZWtpdCwsY29uc29sZWtpdCxjb25zb2xla2l0IgorUEFDS0FHRUNPTkZJR1ttb2RlbW1hbmFnZXJdID0gIi0td2l0aC1tb2RlbS1tYW5hZ2VyLTE9eWVzLC0td2l0aC1tb2RlbS1tYW5hZ2VyLTE9bm8sbW9kZW1tYW5hZ2VyIgorUEFDS0FHRUNPTkZJR1twcHBdID0gIi0tZW5hYmxlLXBwcCwtLWRpc2FibGUtcHBwLHBwcCxwcHAiCisjIFVzZSBmdWxsIGZlYXR1cmVkIGRoY3AgY2xpZW50IGluc3RlYWQgb2YgaW50ZXJuYWwgb25lCitQQUNLQUdFQ09ORklHW2RoY2xpZW50XSA9ICItLXdpdGgtZGhjbGllbnQ9JHtiYXNlX3NiaW5kaXJ9L2RoY2xpZW50LCwsZGhjcC1jbGllbnQiCitQQUNLQUdFQ09ORklHW2Ruc21hc3FdID0gIi0td2l0aC1kbnNtYXNxPSR7YmluZGlyfS9kbnNtYXNxIgorUEFDS0FHRUNPTkZJR1tuc3NdID0gIi0td2l0aC1jcnlwdG89bnNzLCxuc3MiCitQQUNLQUdFQ09ORklHW2dsaWJdID0gIi0td2l0aC1saWJubS1nbGliLCxkYnVzLWdsaWItbmF0aXZlIGRidXMtZ2xpYiIKK1BBQ0tBR0VDT05GSUdbZ251dGxzXSA9ICItLXdpdGgtY3J5cHRvPWdudXRscywsZ251dGxzIgorUEFDS0FHRUNPTkZJR1t3aWZpXSA9ICItLWVuYWJsZS13aWZpPXllcywtLWVuYWJsZS13aWZpPW5vLCx3cGEtc3VwcGxpY2FudCIKK1BBQ0tBR0VDT05GSUdbaWZ1cGRvd25dID0gIi0tZW5hYmxlLWlmdXBkb3duLC0tZGlzYWJsZS1pZnVwZG93biIKK1BBQ0tBR0VDT05GSUdbcXQ0LXgxMS1mcmVlXSA9ICItLWVuYWJsZS1xdCwtLWRpc2FibGUtcXQscXQ0LXgxMS1mcmVlIgorCitQQUNLQUdFUyA9KyAibGlibm11dGlsIGxpYm5tZ2xpYiBsaWJubWdsaWItdnBuIFwKKyAgJHtQTn0tbm10dWkgJHtQTn0tbm10dWktZG9jIFwKKyAgJHtQTn0tYWRzbCBcCisiCisKK0ZJTEVTX2xpYm5tdXRpbCArPSAiJHtsaWJkaXJ9L2xpYm5tLXV0aWwuc28uKiIKK0ZJTEVTX2xpYm5tZ2xpYiArPSAiJHtsaWJkaXJ9L2xpYm5tLWdsaWIuc28uKiIKK0ZJTEVTX2xpYm5tZ2xpYi12cG4gKz0gIiR7bGliZGlyfS9saWJubS1nbGliLXZwbi5zby4qIgorCitGSUxFU18ke1BOfS1hZHNsID0gIiR7bGliZGlyfS9OZXR3b3JrTWFuYWdlci9saWJubS1kZXZpY2UtcGx1Z2luLWFkc2wuc28iCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7bGliZXhlY2Rpcn0gXAorICAgICR7bGliZGlyfS9OZXR3b3JrTWFuYWdlci8ke1BWfS8qLnNvIFwKKyAgICAke25vbmFyY2hfbGliZGlyfS9OZXR3b3JrTWFuYWdlci9WUE4gXAorICAgICR7bm9uYXJjaF9saWJkaXJ9L05ldHdvcmtNYW5hZ2VyL2NvbmYuZCBcCisgICAgJHtkYXRhZGlyfS9wb2xraXQtMSBcCisgICAgJHtkYXRhZGlyfS9kYnVzLTEgXAorICAgICR7bm9hcmNoX2Jhc2VfbGliZGlyfS91ZGV2LyogXAorICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0gXAorICAgICR7bGliZGlyfS9wcHBkIFwKKyIKKworUlJFQ09NTUVORFNfJHtQTn0gKz0gImlwdGFibGVzIFwKKyAgICAke0BiYi51dGlscy5maWx0ZXIoJ1BBQ0tBR0VDT05GSUcnLCAnZG5zbWFzcScsIGQpfSBcCisiCitSQ09ORkxJQ1RTXyR7UE59ID0gImNvbm5tYW4iCisKK0ZJTEVTXyR7UE59LWRldiArPSAiIFwKKyAgICAke2RhdGFkaXJ9L05ldHdvcmtNYW5hZ2VyL2dkYi1jbWQgXAorICAgICR7bGliZGlyfS9wcHBkLyovKi5sYSBcCisgICAgJHtsaWJkaXJ9L05ldHdvcmtNYW5hZ2VyLyoubGEgXAorICAgICR7bGliZGlyfS9OZXR3b3JrTWFuYWdlci8ke1BWfS8qLmxhIFwKKyIKKworRklMRVNfJHtQTn0tbm10dWkgPSAiIFwKKyAgICAke2JpbmRpcn0vbm10dWkgXAorICAgICR7YmluZGlyfS9ubXR1aS1lZGl0IFwKKyAgICAke2JpbmRpcn0vbm10dWktY29ubmVjdCBcCisgICAgJHtiaW5kaXJ9L25tdHVpLWhvc3RuYW1lIFwKKyIKKworRklMRVNfJHtQTn0tbm10dWktZG9jID0gIiBcCisgICAgJHttYW5kaXJ9L21hbjEvbm10dWkqIFwKKyIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3N5c3RlbWQnLCAnTmV0d29ya01hbmFnZXIuc2VydmljZSBOZXR3b3JrTWFuYWdlci1kaXNwYXRjaGVyLnNlcnZpY2UnLCAnJywgZCl9IgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBybSAtcmYgJHtEfS9ydW4gJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuCit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbmNvbm5lY3Qvb3BlbmNvbm5lY3RfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5jb25uZWN0L29wZW5jb25uZWN0X2dpdC5iYgppbmRleCBjOTQ0MTQ0Li4wNTBhMjgzIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbmNvbm5lY3Qvb3BlbmNvbm5lY3RfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuY29ubmVjdC9vcGVuY29ubmVjdF9naXQuYmIKQEAgLTIsNyArMiwxMSBAQAogTElDRU5TRSA9ICJMR1BMdjIuMSIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTEdQTDttZDU9MjQzYjcyNWQ3MWJiNWRmNGExZTU5MjBiMzQ0Yjg2YWQiCiAKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LmluZnJhZGVhZC5vcmcvdXNlcnMvZHdtdzIvb3BlbmNvbm5lY3QuZ2l0IgorU1JDUkVWID0gIjY0ODdlZTg3NjNlMWI2MzQ1NzE4Njg0OTA5YWNhOTcwYmVmYmM0OWQiCisKIERFUEVORFMgPSAidnBuYyBsaWJ4bWwyIGtyYjUgZ2V0dGV4dC1uYXRpdmUiCitSREVQRU5EU18ke1BOfSA9ICJiYXNoIHB5dGhvbiIKIAogUEFDS0FHRUNPTkZJRyA/Pz0gImdudXRscyBsejQgbGlicHJveHkiCiAKQEAgLTE0LDEwICsxOCw3IEBACiAjIG5vdCBjb25maWcgZGVmYXVsdHMKIFBBQ0tBR0VDT05GSUdbcGNzYy1saXRlXSA9ICItLXdpdGgtbGlicGNzY2xpdGUsLS13aXRob3V0LWxpYnBjc2NsaXRlLHBjc2MtbGl0ZSwiCiAKLVBWID0gIjcuMDgiCi0KLVNSQ1JFViA9ICI5Njk3YmVhMGU1MDk1MmNhYjU3MDYzMjM4YjQzYTcwOTllNDk4Y2JiIgotU1JDX1VSSSA9ICJnaXQ6Ly9naXQuaW5mcmFkZWFkLm9yZy91c2Vycy9kd213Mi9vcGVuY29ubmVjdC5naXQiCitQViA9ICI4LjAyIgogCiBTID0gIiR7V09SS0RJUn0vZ2l0IgogCkBAIC0yNSwzICsyNiw4IEBACiAKIEVYVFJBX09FQ09ORiArPSAiLS13aXRoLXZwbmMtc2NyaXB0PSR7U1lTUk9PVF9ERVNURElSfSR7c3lzY29uZmRpcn0vdnBuYy92cG5jLXNjcmlwdCBcCiAgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1zdGF0aWMiCisKK2RvX2NvbmZpZ3VyZV9hcHBlbmQoKSB7CisgICAgIyBzY3JpcHQgaGFzIC91c3IvYmluL3B5dGhvbjIgcGF0aCBoYXJkY29kZWQKKyAgICBzZWQgLWkgLWUgJ3M9cHl0aG9uMlwuKj1weXRob249ZycgJHtTfS90cm9qYW5zL3RuY2Mtd3JhcHBlci5weQorfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi1uZXR3b3JrbWFuYWdlci9weXRob24tbmV0d29ya21hbmFnZXJfMi4wLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvcHl0aG9uLW5ldHdvcmttYW5hZ2VyL3B5dGhvbi1uZXR3b3JrbWFuYWdlcl8yLjAuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGU0MWFhNS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvcHl0aG9uLW5ldHdvcmttYW5hZ2VyL3B5dGhvbi1uZXR3b3JrbWFuYWdlcl8yLjAuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLVNVTU1BUlkgPSAiRWFzeSBjb21tdW5pY2F0aW9uIHdpdGggTmV0d29ya01hbmFnZXIgZnJvbSBQeXRob24iCi1IT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vc2V2ZWFzL3B5dGhvbi1uZXR3b3JrbWFuYWdlciIKLUxJQ0VOU0UgPSAiWmxpYiIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OGQ4YmFjMTc0YmY4NDIyYjE1MTIwMGU2Y2M3OGViZTQiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI1ZmM2NDRhNjU0NjMwMzEyOTVjNmI3ZGQ1MWEwZjFiZCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJiYzM2NTA3NTA2YWQyOWJmZGFjOTQxYjA5ODdlYmQxY2M5NjMzYzlhOTI5MWQ3Mzc4ZTIyOWU0NTE1YTBhNTE3IgotCi1QWVBJX1BBQ0tBR0UgPSAicHl0aG9uLW5ldHdvcmttYW5hZ2VyIgotaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKLQotUkRFUEVORFNfJHtQTn0gPSAibmV0d29ya21hbmFnZXIgcHl0aG9uLWRidXMgcHl0aG9uLXNpeCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9weXRob24tbmV0d29ya21hbmFnZXIvcHl0aG9uLW5ldHdvcmttYW5hZ2VyXzIuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9weXRob24tbmV0d29ya21hbmFnZXIvcHl0aG9uLW5ldHdvcmttYW5hZ2VyXzIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYWE0MWYxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi1uZXR3b3JrbWFuYWdlci9weXRob24tbmV0d29ya21hbmFnZXJfMi4xLmJiCkBAIC0wLDAgKzEsMTMgQEAKK1NVTU1BUlkgPSAiRWFzeSBjb21tdW5pY2F0aW9uIHdpdGggTmV0d29ya01hbmFnZXIgZnJvbSBQeXRob24iCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vc2V2ZWFzL3B5dGhvbi1uZXR3b3JrbWFuYWdlciIKK0xJQ0VOU0UgPSAiWmxpYiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OGQ4YmFjMTc0YmY4NDIyYjE1MTIwMGU2Y2M3OGViZTQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmNjM4ZDg1NGEzNjM5ZmIzN2MwZTA2ZDEwOTJhNzcxZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhZWYxZTM0ZDk4ZDdiZWM3Y2MzNjhlMGNhMGYyZTk3NDkzZjliNWViZTZkNzEwM2Y4ZjY0NjBjZmNhM2RjNmZjIgorCitQWVBJX1BBQ0tBR0UgPSAicHl0aG9uLW5ldHdvcmttYW5hZ2VyIgoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworUkRFUEVORFNfJHtQTn0gPSAibmV0d29ya21hbmFnZXIgcHl0aG9uLWRidXMgcHl0aG9uLXNpeCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zYW1iYS9zYW1iYV80LjguNC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zYW1iYS9zYW1iYV80LjguNC5iYgppbmRleCBmMWFhZWI4Li5lODZlZDk2IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc2FtYmEvc2FtYmFfNC44LjQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3NhbWJhL3NhbWJhXzQuOC40LmJiCkBAIC0xOTMsMTUgKzE5MywxNSBAQAogCiBweXRob24gc2FtYmFfcG9wdWxhdGVfcGFja2FnZXMoKSB7CiAgICAgZGVmIG1vZHVsZV9ob29rKGZpbGUsIHBrZywgcGF0dGVybiwgZm9ybWF0LCBiYXNlbmFtZSk6Ci0gICAgICAgIHBuID0gZC5nZXRWYXIoJ1BOJywgVHJ1ZSkKKyAgICAgICAgcG4gPSBkLmdldFZhcignUE4nKQogICAgICAgICBkLmFwcGVuZFZhcignUlJFQ09NTUVORFNfJXMtYmFzZScgJSBwbiwgJyAlcycgJSBwa2cpCiAKLSAgICBtbHByZWZpeCA9IGQuZ2V0VmFyKCdNTFBSRUZJWCcsIFRydWUpIG9yICcnCisgICAgbWxwcmVmaXggPSBkLmdldFZhcignTUxQUkVGSVgnKSBvciAnJwogICAgIHBhbV9saWJkaXIgPSBkLmV4cGFuZCgnJHtiYXNlX2xpYmRpcn0vc2VjdXJpdHknKQogICAgIHBhbV9wa2duYW1lID0gbWxwcmVmaXggKyAncGFtLXBsdWdpbiVzJwogICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHBhbV9saWJkaXIsICdecGFtXyguKilcLnNvJCcsIHBhbV9wa2duYW1lLCAnUEFNIHBsdWdpbiBmb3IgJXMnLCBleHRyYV9kZXBlbmRzPScnLCBwcmVwZW5kPVRydWUpCiAKLSAgICBsaWJkaXIgPSBkLmdldFZhcignbGliZGlyJywgVHJ1ZSkKKyAgICBsaWJkaXIgPSBkLmdldFZhcignbGliZGlyJykKICAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBsaWJkaXIsICdebGliKC4qKVwuc29cLi4qJCcsICdsaWIlcycsICdTYW1iYSAlcyBsaWJyYXJ5JywgZXh0cmFfZGVwZW5kcz0nJHtQTn0tY29tbW9uJywgcHJlcGVuZD1UcnVlLCBhbGxvd19saW5rcz1UcnVlKQogICAgIHBrZ2xpYmRpciA9ICclcy9zYW1iYScgJSBsaWJkaXIKICAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwa2dsaWJkaXIsICdebGliKC4qKVwuc28kJywgJ2xpYiVzJywgJ1NhbWJhICVzIGxpYnJhcnknLCBleHRyYV9kZXBlbmRzPScke1BOfS1jb21tb24nLCBwcmVwZW5kPVRydWUpCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc25vcnQvc25vcnRfMi45LjExLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc25vcnQvc25vcnRfMi45LjExLjEuYmIKaW5kZXggYTk5MTM4ZC4uYzJlYjk1ZiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Nub3J0L3Nub3J0XzIuOS4xMS4xLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zbm9ydC9zbm9ydF8yLjkuMTEuMS5iYgpAQCAtNzIsNyArNzIsNyBAQAogICAgIG1rZGlyIC1wICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xvZy9zbm9ydAogICAgIGluc3RhbGwgLWQgJHtEfS92YXIvbG9nL3Nub3J0CiAKLSAgICBzZWQgLWkgJ3MvLWZkZWJ1Zy1wcmVmaXgtbWFwW14gXSovL2c7IHMjJHtTVEFHSU5HX0RJUl9UQVJHRVR9IyNnJyAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy8qLnBjCisgICAgc2VkIC1pIC1lICdzfC1mZGVidWctcHJlZml4LW1hcFteIF0qfHxnOyBzfC1mbWFjcm8tcHJlZml4LW1hcFteIF0qfHxnOyBzfCR7U1RBR0lOR19ESVJfVEFSR0VUfXx8ZycgJHtEfSR7bGliZGlyfS9wa2djb25maWcvKi5wYwogfQogCiBGSUxFU18ke1BOfSArPSAiIFwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS93aXJlbGVzcy1yZWdkYi93aXJlbGVzcy1yZWdkYl8yMDE4LjEwLjI0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dpcmVsZXNzLXJlZ2RiL3dpcmVsZXNzLXJlZ2RiXzIwMTguMTAuMjQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUxYWE5YTUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dpcmVsZXNzLXJlZ2RiL3dpcmVsZXNzLXJlZ2RiXzIwMTguMTAuMjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi1TVU1NQVJZID0gIldpcmVsZXNzIENlbnRyYWwgUmVndWxhdG9yeSBEb21haW4gRGF0YWJhc2UiCi1IT01FUEFHRSA9ICJodHRwOi8vd2lyZWxlc3Mua2VybmVsLm9yZy9lbi9kZXZlbG9wZXJzL1JlZ3VsYXRvcnkvQ1JEQSIKLVNFQ1RJT04gPSAibmV0IgotTElDRU5TRSA9ICJJU0MiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0wN2M0ZjZkZWEzODQ1YjAyYTE4ZGMwMGM4Yzg3Njk5YyIKLQotU1JDX1VSSSA9ICJodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9zb2Z0d2FyZS9uZXR3b3JrLyR7QlBOfS8ke0JQfS50YXIueHoiCi1TUkNfVVJJW21kNXN1bV0gPSAiYjgxYmQxZjY1MjVhNDgwNmE3MDc4ODFhYTNkZGE2M2YiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGQzZTg0NWFjNzdkMjFhYWM5Yjg4NjQyYzNkZDA0M2E4M2UzOTIwZDcwNmI2M2Q1ZTVjMzFkZmZkYmVjOTExNiIKLQotaW5oZXJpdCBiaW5fcGFja2FnZSBhbGxhcmNoCi0KLWRvX2luc3RhbGwoKSB7Ci0gICAgaW5zdGFsbCAtZCAtbTA3NTUgJHtEfSR7bm9uYXJjaF9saWJkaXJ9L2NyZGEKLSAgICBpbnN0YWxsIC1kIC1tMDc1NSAke0R9JHtzeXNjb25mZGlyfS93aXJlbGVzcy1yZWdkYi9wdWJrZXlzCi0gICAgaW5zdGFsbCAtbSAwNjQ0IHJlZ3VsYXRvcnkuYmluICR7RH0ke25vbmFyY2hfbGliZGlyfS9jcmRhL3JlZ3VsYXRvcnkuYmluCi0gICAgaW5zdGFsbCAtbSAwNjQ0IHNmb3JzaGVlLmtleS5wdWIucGVtICR7RH0ke3N5c2NvbmZkaXJ9L3dpcmVsZXNzLXJlZ2RiL3B1YmtleXMvc2ZvcnNoZWUua2V5LnB1Yi5wZW0KLQotICAgIGluc3RhbGwgLW0gMDY0NCAtRCByZWd1bGF0b3J5LmRiICR7RH0ke25vbmFyY2hfYmFzZV9saWJkaXJ9L2Zpcm13YXJlL3JlZ3VsYXRvcnkuZGIKLSAgICBpbnN0YWxsIC1tIDA2NDQgcmVndWxhdG9yeS5kYi5wN3MgJHtEfSR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vZmlybXdhcmUvcmVndWxhdG9yeS5kYi5wN3MKLX0KLQotIyBJbnN0YWxsIHN0YXRpYyByZWd1bGF0b3J5IERCIGluIC9saWIvZmlybXdhcmUgZm9yIGtlcm5lbCB0byBsb2FkLgotIyBUaGlzIHJlcXVpcmVzIExpbnV4IGtlcm5lbCA+PSB2NC4xNS4KLSMgRm9yIGtlcm5lbCA8PSB2NC4xNCwgaW5oZXJpdCB0aGUga2VybmVsX3dpcmVsZXNzX3JlZ2RiLmJiY2xhc3MgaW4ga2VybmVsJ3MgcmVjaXBlLgotUEFDS0FHRVMgPSsgIiR7UE59LXN0YXRpYyIKLVJDT05GTElDVFNfJHtQTn0gPSAiJHtQTn0tc3RhdGljIgotCi1GSUxFU18ke1BOfS1zdGF0aWMgPSAiIFwKLSAgICAke25vbmFyY2hfYmFzZV9saWJkaXJ9L2Zpcm13YXJlL3JlZ3VsYXRvcnkuZGIgXAotICAgICR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vZmlybXdhcmUvcmVndWxhdG9yeS5kYi5wN3MgXAotIgotCi0jIE5hdGl2ZSB1c2VycyBtaWdodCB3YW50IHRvIHVzZSB0aGUgc291cmNlIG9mIHJlZ3VsYXRvcnkgREIuCi0jIFRoaXMgaXMgZm9yIGV4YW1wbGUgdXNlZCBieSBMaW51eCBrZXJuZWwgPD0gdjQuMTQgYW5kIGtlcm5lbF93aXJlbGVzc19yZWdkYi5iYmNsYXNzLgotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlKCkgewotICAgIGluc3RhbGwgLW0gMDY0NCAtRCBkYi50eHQgJHtEfSR7bGliZGlyfS9jcmRhL2RiLnR4dAotfQotCi1SU1VHR0VTVFNfJHtQTn0gPSAiY3JkYSIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvd2lyZWxlc3MtcmVnZGIvd2lyZWxlc3MtcmVnZGJfMjAxOS4wMy4wMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS93aXJlbGVzcy1yZWdkYi93aXJlbGVzcy1yZWdkYl8yMDE5LjAzLjAxLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiN2RlNTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvd2lyZWxlc3MtcmVnZGIvd2lyZWxlc3MtcmVnZGJfMjAxOS4wMy4wMS5iYgpAQCAtMCwwICsxLDQyIEBACitTVU1NQVJZID0gIldpcmVsZXNzIENlbnRyYWwgUmVndWxhdG9yeSBEb21haW4gRGF0YWJhc2UiCitIT01FUEFHRSA9ICJodHRwOi8vd2lyZWxlc3Mua2VybmVsLm9yZy9lbi9kZXZlbG9wZXJzL1JlZ3VsYXRvcnkvQ1JEQSIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJJU0MiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0wN2M0ZjZkZWEzODQ1YjAyYTE4ZGMwMGM4Yzg3Njk5YyIKKworU1JDX1VSSSA9ICJodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9zb2Z0d2FyZS9uZXR3b3JrLyR7QlBOfS8ke0JQfS50YXIueHoiCitTUkNfVVJJW21kNXN1bV0gPSAiYjVlYjJkMGNjMjNmNWU0OTVhNTk0MDVlMzRjZTQzN2YiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2E0ZTZmNzAwNjU5OWJjNTc2NGY4NmUxZTg2NDIyNzEwZGExM2FkODBlMDI0MjE0N2I2MWM2ODU1ZWJjOTE1ZiIKKworaW5oZXJpdCBiaW5fcGFja2FnZSBhbGxhcmNoCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAtbTA3NTUgJHtEfSR7bm9uYXJjaF9saWJkaXJ9L2NyZGEKKyAgICBpbnN0YWxsIC1kIC1tMDc1NSAke0R9JHtzeXNjb25mZGlyfS93aXJlbGVzcy1yZWdkYi9wdWJrZXlzCisgICAgaW5zdGFsbCAtbSAwNjQ0IHJlZ3VsYXRvcnkuYmluICR7RH0ke25vbmFyY2hfbGliZGlyfS9jcmRhL3JlZ3VsYXRvcnkuYmluCisgICAgaW5zdGFsbCAtbSAwNjQ0IHNmb3JzaGVlLmtleS5wdWIucGVtICR7RH0ke3N5c2NvbmZkaXJ9L3dpcmVsZXNzLXJlZ2RiL3B1YmtleXMvc2ZvcnNoZWUua2V5LnB1Yi5wZW0KKworICAgIGluc3RhbGwgLW0gMDY0NCAtRCByZWd1bGF0b3J5LmRiICR7RH0ke25vbmFyY2hfYmFzZV9saWJkaXJ9L2Zpcm13YXJlL3JlZ3VsYXRvcnkuZGIKKyAgICBpbnN0YWxsIC1tIDA2NDQgcmVndWxhdG9yeS5kYi5wN3MgJHtEfSR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vZmlybXdhcmUvcmVndWxhdG9yeS5kYi5wN3MKK30KKworIyBJbnN0YWxsIHN0YXRpYyByZWd1bGF0b3J5IERCIGluIC9saWIvZmlybXdhcmUgZm9yIGtlcm5lbCB0byBsb2FkLgorIyBUaGlzIHJlcXVpcmVzIExpbnV4IGtlcm5lbCA+PSB2NC4xNS4KKyMgRm9yIGtlcm5lbCA8PSB2NC4xNCwgaW5oZXJpdCB0aGUga2VybmVsX3dpcmVsZXNzX3JlZ2RiLmJiY2xhc3MgaW4ga2VybmVsJ3MgcmVjaXBlLgorUEFDS0FHRVMgPSsgIiR7UE59LXN0YXRpYyIKK1JDT05GTElDVFNfJHtQTn0gPSAiJHtQTn0tc3RhdGljIgorCitGSUxFU18ke1BOfS1zdGF0aWMgPSAiIFwKKyAgICAke25vbmFyY2hfYmFzZV9saWJkaXJ9L2Zpcm13YXJlL3JlZ3VsYXRvcnkuZGIgXAorICAgICR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vZmlybXdhcmUvcmVndWxhdG9yeS5kYi5wN3MgXAorIgorCisjIE5hdGl2ZSB1c2VycyBtaWdodCB3YW50IHRvIHVzZSB0aGUgc291cmNlIG9mIHJlZ3VsYXRvcnkgREIuCisjIFRoaXMgaXMgZm9yIGV4YW1wbGUgdXNlZCBieSBMaW51eCBrZXJuZWwgPD0gdjQuMTQgYW5kIGtlcm5lbF93aXJlbGVzc19yZWdkYi5iYmNsYXNzLgorZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlKCkgeworICAgIGluc3RhbGwgLW0gMDY0NCAtRCBkYi50eHQgJHtEfSR7bGliZGlyfS9jcmRhL2RiLnR4dAorfQorCitSU1VHR0VTVFNfJHtQTn0gPSAiY3JkYSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvd29sZnNzbC9maWxlcy8wMDAxLWZpeC1uby1ydWxlLXRvLW1ha2UtY3lhc3NsLW9wdGlvbnMuaC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS93b2xmc3NsL2ZpbGVzLzAwMDEtZml4LW5vLXJ1bGUtdG8tbWFrZS1jeWFzc2wtb3B0aW9ucy5oLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMzA0ZDkzLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS93b2xmc3NsL2ZpbGVzLzAwMDEtZml4LW5vLXJ1bGUtdG8tbWFrZS1jeWFzc2wtb3B0aW9ucy5oLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotRnJvbSBmYjQ5MDEzNmNmOGYyNDU2Y2ZlMTNiMGI0Zjc5NmU2YzE1NWU3NWRjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRGVuZ2tlIER1IDxkZW5na2UuZHVAd2luZHJpdmVyLmNvbT4KLURhdGU6IFdlZCwgMzAgQXVnIDIwMTcgMDM6MDI6MzIgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gZml4IG5vIHJ1bGUgdG8gbWFrZSBjeWFzc2wvb3B0aW9ucy5oCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBEZW5na2UgRHUgPGRlbmdrZS5kdUB3aW5kcml2ZXIuY29tPgotLS0tCi0gY29uZmlndXJlLmFjIHwgMSArCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDM5NWQ3NWQuLmQ0YTM4ODAgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuYWMKLSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTM2ODQsNiArMzY4NCw3IEBAIEFDX0NPTkZJR19GSUxFUyhbd29sZnNzbC9vcHRpb25zLmhdKQotICNmaQotIEFDX0NPTkZJR19GSUxFUyhbc3VwcG9ydC93b2xmc3NsLnBjXSkKLSBBQ19DT05GSUdfRklMRVMoW3JwbS9zcGVjXSkKLStBQ19DT05GSUdfRklMRVMoW2N5YXNzbC9vcHRpb25zLmhdKQotIAotIEFYX0NSRUFURV9HRU5FUklDX0NPTkZJRwotIEFYX0FNX0pPQlNFUlZFUihbeWVzXSkKLS0tIAotMi44LjEKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dvbGZzc2wvd29sZnNzbF8zLjE0LjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvd29sZnNzbC93b2xmc3NsXzMuMTQuNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGM5MDk0ZC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvd29sZnNzbC93b2xmc3NsXzMuMTQuNC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLVNVTU1BUlkgPSAid29sZlNTTCBMaWdodHdlaWdodCwgRW1iZWRkZWQgU1NMIExpYnJhcnkiCi1ERVNDUklQVElPTiA9ICJ3b2xmU1NMLCBmb3JtZXJseSBDeWFTU0wsIGlzIGEgbGlnaHR3ZWlnaHQgU1NMIGxpYnJhcnkgd3JpdHRlbiBpbiBDIGFuZCBcCi0gICAgICAgICAgICAgICBvcHRpbWl6ZWQgZm9yIGVtYmVkZGVkIGFuZCBSVE9TIGVudmlyb25tZW50cy4gSXQgY2FuIGJlIFwKLSAgICAgICAgICAgICAgIFVwIHRvIDIwIHRpbWVzIHNtYWxsZXIgdGhhbiBPcGVuU1NMIHdoaWxlIHN0aWxsIHN1cHBvcnRpbmcgXAotICAgICAgICAgICAgICAgYSBmdWxsIFRMUyAxLjIgY2xpZW50IGFuZCBzZXJ2ZXIuIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy53b2xmc3NsLmNvbS95YVNTTC9Qcm9kdWN0cy13b2xmc3NsLmh0bWwiCi1CVUdUUkFDS0VSID0gImh0dHA6Ly9naXRodWIuY29tL3dvbGZzc2wvd29sZnNzbC9pc3N1ZXMiCi1TRUNUSU9OID0gImxpYnMiCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCi0KLVBST1ZJREVTICs9ICJjeWFzc2wiCi1SUFJPVklERVNfJHtQTn0gPSAiY3lhc3NsIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotU1JDUkVWID0gIjExOTZhM2I2NGQ5ZmFiZmZjODI3M2I4N2Y2ZjY5YWMwZTc1ZDJlYjciCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vd29sZlNTTC93b2xmc3NsLmdpdDtwcm90b2NvbD1odHRwczsgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1maXgtbm8tcnVsZS10by1tYWtlLWN5YXNzbC1vcHRpb25zLmgucGF0Y2ggXAotICAgICAgICAgICIKLQotaW5oZXJpdCBhdXRvdG9vbHMKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0iCi1QQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYsIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dvbGZzc2wvd29sZnNzbF8zLjE1LjcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvd29sZnNzbC93b2xmc3NsXzMuMTUuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTBhNjA3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dvbGZzc2wvd29sZnNzbF8zLjE1LjcuYmIKQEAgLTAsMCArMSwyMSBAQAorU1VNTUFSWSA9ICJ3b2xmU1NMIExpZ2h0d2VpZ2h0IEVtYmVkZGVkIFNTTC9UTFMgTGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIndvbGZTU0wsIGZvcm1lcmx5IEN5YVNTTCwgaXMgYSBsaWdodHdlaWdodCBTU0wgbGlicmFyeSB3cml0dGVuIFwKKyAgICAgICAgICAgICAgIGluIEMgYW5kIG9wdGltaXplZCBmb3IgZW1iZWRkZWQgYW5kIFJUT1MgZW52aXJvbm1lbnRzLiBJdCBjYW4gXAorICAgICAgICAgICAgICAgYmUgdXAgdG8gMjAgdGltZXMgc21hbGxlciB0aGFuIE9wZW5TU0wgd2hpbGUgc3RpbGwgc3VwcG9ydGluZyBcCisgICAgICAgICAgICAgICBhIGZ1bGwgVExTIGNsaWVudCBhbmQgc2VydmVyLCB1cCB0byBUTFMgMS4zIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly93d3cud29sZnNzbC5jb20vcHJvZHVjdHMvd29sZnNzbCIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL3dvbGZzc2wvd29sZnNzbC9pc3N1ZXMiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisKK1BST1ZJREVTICs9ICJjeWFzc2wiCitSUFJPVklERVNfJHtQTn0gPSAiY3lhc3NsIgorCitTUkNfVVJJID0gImh0dHBzOi8vd3d3LndvbGZzc2wuY29tL3dvbGZzc2wtJHtQVn0uemlwIgorU1JDX1VSSVttZDVzdW1dID0gIjZlYzA4YzA5ZTNmNTFjY2NiYjE2ODZiNGZkNDVmOTJmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjRjYzMxOGM0OTU4MGQzYjljMzYxZmUyNThmYWM2MTA2NjI0YWE3NDRmMWQzNGUwMzk3N2I1ODc3NjZhNzUzZWUiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0JCQ0xBU1NFWFRFTkQgKz0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLW5ldHdvcmtpbmctaW1hZ2UtYmFzZS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvcmUvaW1hZ2VzL21ldGEtbmV0d29ya2luZy1pbWFnZS1iYXNlLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhZjE0MDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLW5ldHdvcmtpbmctaW1hZ2UtYmFzZS5iYgpAQCAtMCwwICsxLDcgQEAKK1NVTU1BUlkgPSAibWV0YS1uZXR3b3JraW5nIGJ1aWxkIHRlc3QgaW1hZ2UiCisKK0lNQUdFX0lOU1RBTEwgPSAicGFja2FnZWdyb3VwLWNvcmUtYm9vdCIKKworTElDRU5TRSA9ICJNSVQiCisKK2luaGVyaXQgY29yZS1pbWFnZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29yZS9pbWFnZXMvbWV0YS1uZXR3b3JraW5nLWltYWdlLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29yZS9pbWFnZXMvbWV0YS1uZXR3b3JraW5nLWltYWdlLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0Yzc0MDEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLW5ldHdvcmtpbmctaW1hZ2UuYmIKQEAgLTAsMCArMSwzIEBACityZXF1aXJlICBtZXRhLW5ldHdvcmtpbmctaW1hZ2UtYmFzZS5iYgorCitJTUFHRV9JTlNUQUxMICs9ICJwYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42M2FkMzRjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmcuYmIKQEAgLTAsMCArMSwxMjIgQEAKK1NVTU1BUlkgPSAiTWV0YS1uZXR3b3JraW5nIHBhY2thZ2Vncm91cHMiCisKK2luaGVyaXQgcGFja2FnZWdyb3VwCisKK1BST1ZJREVTID0gIiR7UEFDS0FHRVN9IgorUEFDS0FHRVMgPSAnIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLWNvbm5lY3Rpdml0eSBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1kYWVtb25zICBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1kZXZ0b29scyBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1leHRlbmRlZCBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1maWx0ZXIgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctaXJjIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLWtlcm5lbCBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1uZXRraXQgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctcHJvdG9jb2xzIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLXN1cHBvcnQgXAorJworCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nID0gIlwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLWNvbm5lY3Rpdml0eSBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1kYWVtb25zICBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1kZXZ0b29scyBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1leHRlbmRlZCBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1maWx0ZXIgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctaXJjIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLWtlcm5lbCBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1uZXRraXQgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctcHJvdG9jb2xzIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLXN1cHBvcnQgXAorICAgICIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1jb25uZWN0aXZpdHkgPSAiXAorICAgIG9wZW5jb25uZWN0IGV6LWlwdXBkYXRlIG1vc3F1aXR0byBzZXRoZGxjIGNyZGEgXAorICAgIGRpYmJsZXItc2VydmVyIGRpYmJsZXItY2xpZW50IGRpYmJsZXItcmVxdWVzdG9yIGRpYmJsZXItcmVsYXkgXAorICAgIGxpYmRuZXQgdWZ3IGNpdmV0d2ViIGZyZWVyYWRpdXMga2VhIGRhcSBcCisgICAgbWJlZHRscyByZWxheWQgc25vcnQgZGhjcGNkIHJkYXRlIHZsYW4gdW1pcCB2cG5jIFwKKyAgICBpbmV0dXRpbHMgd29sZnNzbCBsZnRwIG1pbml1cG5wZCBuZXR3b3JrbWFuYWdlciBcCisgICAgbmV0d29ya21hbmFnZXItb3BlbnZwbiByZGlzdCBuYW5vbXNnIHB5dGhvbi1uZXR3b3JrbWFuYWdlciBcCisgICAgd2lyZWxlc3MtcmVnZGIgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRSIsICJibHVlejUgeDExIiwgImJsdWVtYW4iLCAiIiwgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkUiLCAicGFtIiwgInNhbWJhIiwgIiIsIGQpfSBcCisgICAgIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLWRhZW1vbnMgPSAiXAorICAgIGlwcG9vbCByYWR2ZCBhdXRvZnMga2VlcGFsaXZlZCBwcm9mdHBkIG9wZW5ocGkgbGxkcGQgXAorICAgIHB0cGQgaWdtcHByb3h5IG9wZW5zYWYgc3F1aWQgXAorICAgIGF0ZnRwIHBvc3RmaXggaXNjc2ktaW5pdGlhdG9yLXV0aWxzIHZzZnRwZCBjeXJ1cy1zYXNsIFwKKyAgICBwdXJlLWZ0cGQgdmJsYWRlIHRmdHAtaHBhIG5jZnRwIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkUiLCAic3lzdGVtZCIsICJuZXR3b3JrZC1kaXNwYXRjaGVyIiwgIiIsIGQpfSBcCisgICAgIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLWRldnRvb2xzID0gIlwKKyAgICBweXRob24tbGRhcCBncnBjIFwKKyAgICAiCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctZXh0ZW5kZWQgPSAiXAorICAgIGNvcm9zeW5jIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkUiLCAic3lzdGVtZCIsICJkbG0iLCAiIiwgZCl9IFwKKyAgICAiCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctZmlsdGVyID0gIlwKKyAgICBlYnRhYmxlcyBjb25udHJhY2stdG9vbHMgbGlibmV0ZmlsdGVyLXF1ZXVlIFwKKyAgICBsaWJuZXRmaWx0ZXItY29ubnRyYWNrIGxpYm5ldGZpbHRlci1jdGhlbHBlciBsaWJuZXRmaWx0ZXItYWNjdCBcCisgICAgbGlibmV0ZmlsdGVyLWN0dGltZW91dCBsaWJuZXRmaWx0ZXItbG9nIG5mYWNjdCBcCisgICAgYXJuby1pcHRhYmxlcy1maXJld2FsbCBsaWJuZnRubCBuZnRhYmxlcyBcCisgICAgbGlibmZuZXRsaW5rIFwKKyAgICAiIAorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLWlyYyA9ICJcCisgICAgem5jIFwKKyAgICAiCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmcta2VybmVsID0gIlwKKyAgICB3aXJlZ3VhcmQtbW9kdWxlIHdpcmVndWFyZC10b29scyBcCisgICAgIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLW5ldGtpdCA9ICJcCisgICAgbmV0a2l0LXJ3aG8tY2xpZW50IG5ldGtpdC1yd2hvLXNlcnZlciBuZXRraXQtcnNoLWNsaWVudCBuZXRraXQtcnNoLXNlcnZlciBcCisgICAgbmV0a2l0LXRlbG5ldCBuZXRraXQtdGZ0cC1jbGllbnQgbmV0a2l0LXRmdHAtc2VydmVyIFwKKyAgICBuZXRraXQtZnRwIG5ldGtpdC1ydXNlcnMtY2xpZW50IG5ldGtpdC1ydXNlcnMtc2VydmVyIG5ldGtpdC1ycGMgXAorICAgICIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1wcm90b2NvbHMgPSAiXAorICAgIHRzb2NrcyBmcmVlZGlhbWV0ZXIgeGwydHBkIGJhYmVsZCBtZG5zIG5ldC1zbm1wIFwKKyAgICBxdWFnZ2EgcHB0cC1saW51eCB6ZXJvY29uZiBub3BvbGwgb3BlbmZsb3cgcnAtcHBwb2UgXAorICAgIHJhZGl1c2NsaWVudC1uZyBvcGVubDJ0cCB1c3JzY3RwIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkUiLCAicGFtIiwgImRhbnRlIiwgIiIsIGQpfSBcCisgICAgIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLXN1cHBvcnQgPSAiXAorICAgIG5jcCBuZGlzYzYgbXRyIHRpbnlwcm94eSBzc21waW5nIG50cCBcCisgICAgd3Bhbi10b29scyBicmlkZ2UtdXRpbHMgaWZlbnNsYXZlIGNlbHQwNTEgcGltZCBcCisgICAgbmJkLWNsaWVudCBuYmQtc2VydmVyIG5iZC10cmR1bXAgXAorICAgIHBoeXRvb2wgZndrbm9wIGh0cGRhdGUgdGNwcmVwbGF5IGlwc2VjLXRvb2xzIFwKKyAgICB0cmFjZXJvdXRlIGdlb2lwLXBlcmwgZ2VvaXAgZ2VvaXB1cGRhdGUgZXNtdHAgXAorICAgIGxpYnRkYiBuZXRjZiBkbnNtYXNxIGN1cmxwcCBvcGVuaXBtaSBkcmJkLXV0aWxzIFwKKyAgICBkcmJkIHR1bmN0bCBkb3ZlY290IGlwdnNhZG0gc3R1bm5lbCBjaHJvbnkgc3BpY2UtcHJvdG9jb2wgXAorICAgIHVzYnJlZGlyIG50b3Agd2lyZXNoYXJrIHRuZnRwIGxrc2N0cC10b29scyBcCisgICAgY2ltLXNjaGVtYS1kb2NzIGNpbS1zY2hlbWEtZmluYWwgY2ltLXNjaGVtYS1leHBlciBcCisgICAgbGlibWVtY2FjaGVkIHNtY3JvdXRlIGxpYnRldmVudCBpcGNhbGMgYy1hcmVzIHVmdHAgXAorICAgIG50aW1lZCBsaW51eC1hdG0gc3NtdHAgb3BlbnZwbiBsb3dwYW4tdG9vbHMgcmRtYS1jb3JlIFwKKyAgICBpZnRvcCBhb2V0b29scyB0Y3BzbGljZSB0Y3BkdW1wIGxpYnRhbGxvYyBtZW1jYWNoZWQgbnV0dGNwIG5ldGNhdCBcCisgICAgbmV0Y2F0LW9wZW5ic2QgZmV0Y2htYWlsIHlwLXRvb2xzIHlwYmluZC1tdCB5cC10b29scyBcCisgICAgYXJwdGFibGVzIG1hY2NoYW5nZXIgbmdodHRwMiBzdHJvbmdzd2FuIGZwaW5nIFwKKyAgICBkbnNzZWMtY29uZiBsaWJlc210cCBjaWZzLXV0aWxzIG9wZW4taXNucyBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFIiwgInBhbSIsICJsaWJsZGIiLCAiIiwgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiTElDRU5TRV9GTEFHU19XSElURUxJU1QiLCAibm9uLWNvbW1lcmNpYWwiLCAibmV0cGVyZiIsICIiLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zX2FueSgiVFJBTlNMQVRFRF9UQVJHRVRfQVJDSCIsICJpNTg2IHg4Ni02NCIsICJzcGljZSIsICIiLCBkKX0gXAorICAgICIKKworCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLXN1cHBvcnRfcmVtb3ZlX21pcHNhcmNoID0gInNwaWNlLXByb3RvY29sIgorUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1zdXBwb3J0X3JlbW92ZV9taXBzNjQgPSAic3BpY2UtcHJvdG9jb2wiCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLXN1cHBvcnRfcmVtb3ZlX21pcHM2NGVsID0gInNwaWNlLXByb3RvY29sIgorUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1zdXBwb3J0X3JlbW92ZV9wb3dlcnBjID0gInNwaWNlLXByb3RvY29sIgorUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1zdXBwb3J0X3JlbW92ZV9yaXNjdjY0ID0gInNwaWNlLXByb3RvY29sIgorUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1zdXBwb3J0X3JlbW92ZV9yaXNjdjMyID0gInNwaWNlLXByb3RvY29sIgorUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1zdXBwb3J0X3JlbW92ZV9hcm12NSA9ICJzcGljZS1wcm90b2NvbCIKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctc3VwcG9ydF9yZW1vdmVfYWFyY2g2NCA9ICJzcGljZS1wcm90b2NvbCBtZW1jYWNoZWQiCisKK0VYQ0xVREVfRlJPTV9XT1JMRCA9ICIxIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzLzAwMDEtRG8tbm90LWhhcmRjb2RlLXBhdGgtZm9yLXBrZy5tNC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy8wMDAxLURvLW5vdC1oYXJkY29kZS1wYXRoLWZvci1wa2cubTQucGF0Y2gKaW5kZXggZjNmMjVmNC4uNDEwODI3YiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzLzAwMDEtRG8tbm90LWhhcmRjb2RlLXBhdGgtZm9yLXBrZy5tNC5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvMDAwMS1Eby1ub3QtaGFyZGNvZGUtcGF0aC1mb3ItcGtnLm00LnBhdGNoCkBAIC0xLDIxICsxLDI2IEBACi1Gcm9tIDZkMjQzNjVmMDgyODE4NWZkMWJiNGQxOTkyMDljYTA3ZWI5NWM0MWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyNCBBdWcgMjAxOCAwNjoyNDozNiArMDAwMAotU3ViamVjdDogW1BBVENIXSBEbyBub3QgaGFyZGNvZGUgcGF0aCBmb3IgcGtnLm00CitGcm9tIGEyNzIxN2E1NDM3ZGEzMTNkMjUxYjRhNzY1YmY3Y2I2MGZmYWE2MmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAyNyBOb3YgMjAxOCAxNToyNzo0NyArMDgwMAorU3ViamVjdDogW1BBVENIXSBGcm9tIDZkMjQzNjVmMDgyODE4NWZkMWJiNGQxOTkyMDljYTA3ZWI5NWM0MWQgTW9uIFNlcCAxNworIDAwOjAwOjAwIDIwMDEgRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4gRGF0ZTogRnJpLCAyNCBBdWcgMjAxOAorIDA2OjI0OjM2ICswMDAwIFN1YmplY3Q6IFtQQVRDSF0gRG8gbm90IGhhcmRjb2RlIHBhdGggZm9yIHBrZy5tNAogCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIAogU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKwordXBkYXRlIHBhdGNoIHRvIHZlcnNpb24gNS4xLjUKK1NpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CiAtLS0KICBjb25maWd1cmUuaW4gfCAyICstCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KLWluZGV4IDUwYWVkMTUuLmY4MTc2N2MgMTAwNjQ0CitpbmRleCA0OTNiOWYxLi4yNjhkMDZiIDEwMDY0NAogLS0tIGEvY29uZmlndXJlLmluCiArKysgYi9jb25maWd1cmUuaW4KIEBAIC0xMiw3ICsxMiw3IEBAIGRlZmluZShbQUNfQ0FDSEVfU0FWRV0sIClkbmwKLSBBQ19JTklUKC5hdXRvZnMtNS4xLjQpCisgQUNfSU5JVCguYXV0b2ZzLTUuMS41KQogIAogICMgZm9yIHBrZy1jb25maWcgbWFjcm9zCiAtbTRfaW5jbHVkZShbL3Vzci9zaGFyZS9hY2xvY2FsL3BrZy5tNF0pCkBAIC0yNCw1ICsyOSw1IEBACiAgIwogICMgYXV0b2ZzIGluc3RhbGxzIGJ5IGRlZmF1bHQgaW4gL3VzcgogLS0gCi0xLjkuMQorMi43LjQKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzLzAwMDItUmVwbGFjZS1fX1NfSUVYRUMtd2l0aC1TX0lFWEVDLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzLzAwMDItUmVwbGFjZS1fX1NfSUVYRUMtd2l0aC1TX0lFWEVDLnBhdGNoCmluZGV4IDQ2OTAyN2EuLmU3ZmRkMTAgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy8wMDAyLVJlcGxhY2UtX19TX0lFWEVDLXdpdGgtU19JRVhFQy5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvMDAwMi1SZXBsYWNlLV9fU19JRVhFQy13aXRoLVNfSUVYRUMucGF0Y2gKQEAgLTEsMjIgKzEsMjYgQEAKLUZyb20gNTU3Y2EzOTlmNGIzYTM5N2YyMGJiMTQ3ZWM2ZGM0YWI5NzMyZGQxZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDMxIE1hciAyMDE3IDE5OjEyOjEwIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIFJlcGxhY2UgX19TX0lFWEVDIHdpdGggU19JRVhFQworRnJvbSAwOTZlMzM3NDMxNThlMGU4YzA0ZDYwZDAxY2M2NmUyOTQ1ZDc5Nzc3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgMjcgTm92IDIwMTggMTY6NTI6MzUgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gRnJvbSA1NTdjYTM5OWY0YjNhMzk3ZjIwYmIxNDdlYzZkYzRhYjk3MzJkZDFlIE1vbiBTZXAgMTcKKyAwMDowMDowMCAyMDAxIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IERhdGU6IEZyaSwgMzEgTWFyIDIwMTcKKyAxOToxMjoxMCAtMDcwMCBTdWJqZWN0OiBbUEFUQ0hdIFJlcGxhY2UgX19TX0lFWEVDIHdpdGggU19JRVhFQwogCiBTX0lFWEVDIGlzIHBvcnRhYmxlCiAKIFNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiAKK3VwZGF0ZSBwYXRjaCB0byB2ZXJzaW9uIDUuMS41CitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgogLS0tCi0gZGFlbW9uL2xvb2t1cC5jICAgICAgICB8IDQgKystLQorIGRhZW1vbi9sb29rdXAuYyAgICAgICAgfCA2ICsrKy0tLQogIG1vZHVsZXMvbG9va3VwX211bHRpLmMgfCAyICstCi0gMiBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisgMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9kYWVtb24vbG9va3VwLmMgYi9kYWVtb24vbG9va3VwLmMKLWluZGV4IDIwMWNjYmIuLmQ4MjFkYjggMTAwNjQ0CitpbmRleCAxOGRmOTM1Li5kMzVkNDg0IDEwMDY0NAogLS0tIGEvZGFlbW9uL2xvb2t1cC5jCiArKysgYi9kYWVtb24vbG9va3VwLmMKLUBAIC0zNjYsNyArMzY2LDcgQEAgc3RhdGljIGludCByZWFkX2ZpbGVfc291cmNlX2luc3RhbmNlKHN0cnVjdCBhdXRvZnNfcG9pbnQgKmFwLCBzdHJ1Y3QgbWFwX3NvdXJjZQorQEAgLTM4Miw3ICszODIsNyBAQCBzdGF0aWMgaW50IHJlYWRfZmlsZV9zb3VyY2VfaW5zdGFuY2Uoc3RydWN0IGF1dG9mc19wb2ludCAqYXAsIHN0cnVjdCBtYXBfc291cmNlCiAgCWlmICghU19JU1JFRyhzdC5zdF9tb2RlKSkKICAJCXJldHVybiBOU1NfU1RBVFVTX05PVEZPVU5EOwogIApAQCAtMjUsNyArMjksNyBAQAogIAkJdHlwZSA9IHNyY19wcm9nOwogIAllbHNlCiAgCQl0eXBlID0gc3JjX2ZpbGU7Ci1AQCAtODU2LDcgKzg1Niw3IEBAIHN0YXRpYyBpbnQgbG9va3VwX25hbWVfZmlsZV9zb3VyY2VfaW5zdGFuY2Uoc3RydWN0IGF1dG9mc19wb2ludCAqYXAsIHN0cnVjdCBtYXBfCitAQCAtOTQyLDcgKzk0Miw3IEBAIHN0YXRpYyBpbnQgbG9va3VwX25hbWVfZmlsZV9zb3VyY2VfaW5zdGFuY2Uoc3RydWN0IGF1dG9mc19wb2ludCAqYXAsIHN0cnVjdCBtYXBfCiAgCWlmICghU19JU1JFRyhzdC5zdF9tb2RlKSkKICAJCXJldHVybiBOU1NfU1RBVFVTX05PVEZPVU5EOwogIApAQCAtMzQsOCArMzgsMTcgQEAKICAJCXR5cGUgPSBzcmNfcHJvZzsKICAJZWxzZQogIAkJdHlwZSA9IHNyY19maWxlOworQEAgLTExMTgsNyArMTExOCw3IEBAIHN0YXRpYyBzdHJ1Y3QgbWFwX3NvdXJjZSAqbG9va3VwX2dldF9tYXBfc291cmNlKHN0cnVjdCBtYXN0ZXJfbWFwZW50ICplbnRyeSkKKyAJaWYgKCFTX0lTUkVHKHN0LnN0X21vZGUpKQorIAkJcmV0dXJuIE5VTEw7CisgCistCWlmIChzdC5zdF9tb2RlICYgX19TX0lFWEVDKQorKwlpZiAoc3Quc3RfbW9kZSAmIFNfSUVYRUMpCisgCQl0eXBlID0gInByb2dyYW0iOworIAllbHNlCisgCQl0eXBlID0gImZpbGUiOwogZGlmZiAtLWdpdCBhL21vZHVsZXMvbG9va3VwX211bHRpLmMgYi9tb2R1bGVzL2xvb2t1cF9tdWx0aS5jCi1pbmRleCBmYWRkMmVhLi4zZWNkYTZkIDEwMDY0NAoraW5kZXggYmI5Zjg4Yy4uY2YxMDlkZSAxMDA2NDQKIC0tLSBhL21vZHVsZXMvbG9va3VwX211bHRpLmMKICsrKyBiL21vZHVsZXMvbG9va3VwX211bHRpLmMKIEBAIC0yNDcsNyArMjQ3LDcgQEAgc3RhdGljIHN0cnVjdCBsb29rdXBfbW9kICpuc3Nfb3Blbl9sb29rdXAoY29uc3QgY2hhciAqZm9ybWF0LCBpbnQgYXJnYywgY29uc3QgY2gKQEAgLTQ3LDMgKzYwLDYgQEAKICAJCQkJdHlwZSA9IHNyY19wcm9nOwogIAkJCWVsc2UKICAJCQkJdHlwZSA9IHNyY19maWxlOworLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvYXV0b2ZzLTUuMC43LWRvLW5vdC1jaGVjay1mb3ItbW9kcHJvYmUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvYXV0b2ZzLTUuMC43LWRvLW5vdC1jaGVjay1mb3ItbW9kcHJvYmUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFkNWMzZTEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL2F1dG9mcy01LjAuNy1kby1ub3QtY2hlY2stZm9yLW1vZHByb2JlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODkgKzAsMCBAQAotRnJvbSAyY2JjNTc2ZWExZmJkMWNiZjQ1NzlkNjRiMzBlNDFkNzYyMDg0ZTdmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogInlhbmp1bi56aHUiIDx5YW5qdW4uemh1QHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUdWUsIDE1IEphbiAyMDEzIDEyOjQ1OjQ0ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIGF1dG9mczogZG8gbm90IGNoZWNrIGZvciBtb2Rwcm9iZQotCi1EZXNjcmlwdGlvbjogTG9hZGluZyBhdXRvZnMgbW9kdWxlIGlzICNpZmRlZidlZCBpbiB0aGUgc291cmNlLCBzbwotIHRoZXJlIGlzIG5vIG5lZWQgdG8gY2hlY2sgZm9yIC9wcm9jICh3aGljaCBpcyBvbmx5IHVzZWQKLSB0byBsb2FkIG1vZHVsZSkgb3IgbW9kcHJvYmUuICBCb3RoIG1vZHByb2JlIGFuZCAvcHJvYwotIGFyZSBhbHdheXMgaW4gdGhlIGZpeGVkIGxvY2F0aW9uIHNvIHRoZXJlJ3Mgbm8gbmVlZCB0bwotIGNoZWNrIGZvciB0aGVzZSB0byBzdGFydCB3aXRoLgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFsxXQotWzFdIGh0dHA6Ly93d3cuc3Bpbmljcy5uZXQvbGlzdHMvYXV0b2ZzL21zZzAwMTM5Lmh0bWwKLQotLS0tCi0gY29uZmlndXJlLmluICAgICAgICB8ICA2IC0tLS0tLQotIGRhZW1vbi9tb2R1bGUuYyAgICAgfCAgMyArKysKLSBpbmNsdWRlL2F1dG9tb3VudC5oIHwgMTEgKysrLS0tLS0tLS0KLSAzIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KLWluZGV4IDQ0YTFjOGIuLmIyMjYyMzYgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuaW4KLSsrKyBiL2NvbmZpZ3VyZS5pbgotQEAgLTM0LDExICszNCw2IEBAIEFDX01TR19DSEVDS0lORyhbZm9yIGJpbmFyaWVzIGluXSkKLSBBQ19NU0dfUkVTVUxUKFskc2VhcmNocGF0aF0pCi0gCi0gIwotLSMgTWFrZSBzdXJlIHdlIGhhdmUgIi9wcm9jIgotLSMKLS1BRl9MSU5VWF9QUk9DRlMoKQotLQotLSMKLSAjIExvY2F0aW9uIG9mIGluaXQuZCBkaXJlY3Rvcnk/Ci0gIwotIEFGX0lOSVRfRCgpCi1AQCAtMTQyLDcgKzEzNyw2IEBAIEFGX1BBVEhfSU5DTFVERShVTU9VTlQsIHVtb3VudCwgL2Jpbi91bW91bnQsICRzZWFyY2hwYXRoKQotIEFGX1BBVEhfSU5DTFVERShFMkZTQ0ssIGZzY2suZXh0MiBlMmZzY2ssICwgJHNlYXJjaHBhdGgpCi0gQUZfUEFUSF9JTkNMVURFKEUzRlNDSywgZnNjay5leHQzIGUzZnNjaywgLCAkc2VhcmNocGF0aCkKLSBBRl9QQVRIX0lOQ0xVREUoRTRGU0NLLCBmc2NrLmV4dDQgZTRmc2NrLCAsICRzZWFyY2hwYXRoKQotLUFGX1BBVEhfSU5DTFVERShNT0RQUk9CRSwgbW9kcHJvYmUsICwgJHNlYXJjaHBhdGgpCi0gCi0gQUZfQ0hFQ0tfUFJPRyhMRVgsIGZsZXggbGV4LCAsICRzZWFyY2hwYXRoKQotIEFGX0NIRUNLX1BST0coWUFDQywgYmlzb24sICwgJHNlYXJjaHBhdGgpCi1kaWZmIC0tZ2l0IGEvZGFlbW9uL21vZHVsZS5jIGIvZGFlbW9uL21vZHVsZS5jCi1pbmRleCBiZWQ4ZjdhLi5lNDFhOThlIDEwMDY0NAotLS0tIGEvZGFlbW9uL21vZHVsZS5jCi0rKysgYi9kYWVtb24vbW9kdWxlLmMKLUBAIC0xOSw2ICsxOSw4IEBACi0gI2luY2x1ZGUgImF1dG9tb3VudC5oIgotICNpbmNsdWRlICJuc3N3aXRjaC5oIgotIAotKyNpZiAwCi0rLyogc2VlIGNvbW1lbnQgaW4gZGFlbW9uL2F1dG9tb3VudC5jIGFyb3VuZCBsb2FkX2F1dG9mczRfbW9kdWxlKCkgY2FsbCAqLwotIGludCBsb2FkX2F1dG9mczRfbW9kdWxlKHZvaWQpCi0gewotIAlGSUxFICpmcDsKLUBAIC01Myw2ICs1NSw3IEBAIGludCBsb2FkX2F1dG9mczRfbW9kdWxlKHZvaWQpCi0gCi0gCXJldHVybiAxOwotIH0KLSsjZW5kaWYKLSAKLSBpbnQgb3Blbl9sb29rdXAoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqZXJyX3ByZWZpeCwgY29uc3QgY2hhciAqbWFwZm10LAotIAkJaW50IGFyZ2MsIGNvbnN0IGNoYXIgKmNvbnN0ICphcmd2LCBzdHJ1Y3QgbG9va3VwX21vZCAqKmxvb2t1cCkKLWRpZmYgLS1naXQgYS9pbmNsdWRlL2F1dG9tb3VudC5oIGIvaW5jbHVkZS9hdXRvbW91bnQuaAotaW5kZXggYzBmNWZiZi4uY2MzMzZhZCAxMDA2NDQKLS0tLSBhL2luY2x1ZGUvYXV0b21vdW50LmgKLSsrKyBiL2luY2x1ZGUvYXV0b21vdW50LmgKLUBAIC01MSwxNiArNTEsMTEgQEAKLSAjZXJyb3IgRmFpbGVkIHRvIGxvY2F0ZSB1bW91bnQoOCkhCi0gI2VuZGlmCi0gCi0tI2lmbmRlZiBIQVZFX01PRFBST0JFCi0tI2Vycm9yIEZhaWxlZCB0byBsb2NhdGUgbW9kcHJvYmUoOCkhCi0tI2VuZGlmCi0tCi0tI2lmbmRlZiBIQVZFX0xJTlVYX1BST0NGUwotLSNlcnJvciBGYWlsZWQgdG8gdmVyaWZ5IGV4aXN0ZW5jZSBvZiBwcm9jZnMgZmlsZXN5c3RlbSEKLS0jZW5kaWYKLS0KLSsjaWYgMAotKy8qIHNlZSBjb21tZW50IGluIGRhZW1vbi9hdXRvbW91bnQuYyBhcm91bmQgbG9hZF9hdXRvZnM0X21vZHVsZSgpIGNhbGwgKi8KLSAjZGVmaW5lIEZTX01PRFVMRV9OQU1FICAiYXV0b2ZzNCIKLSBpbnQgbG9hZF9hdXRvZnM0X21vZHVsZSh2b2lkKTsKLSsjZW5kaWYKLSAKLSAvKiBUaGUgLXMgKHNsb3BweSkgb3B0aW9uIHRvIG1vdW50IGlzIGdvb2QsIGlmIHdlIGhhdmUgaXQuLi4gKi8KLSAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy9wa2djb25maWctbGlibnNsLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL3BrZ2NvbmZpZy1saWJuc2wucGF0Y2gKaW5kZXggMWM3YjExOS4uYmU3NTBhYiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL3BrZ2NvbmZpZy1saWJuc2wucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL3BrZ2NvbmZpZy1saWJuc2wucGF0Y2gKQEAgLTEsNyArMSw5IEBACi1Gcm9tIGUzYWU1NmNmMGJiNDA2M2MzMTI5NWY0NWQwNGUzYzUwNGY0YjZjYzcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogTW9uLCAyNCBBcHIgMjAxNyAyMDo0MToyNSAtMDcwMAotU3ViamVjdDogW1BBVENIXSBhdXRvZnM6IFVwZ3JhZGUgdG8gNS4xLjIgcmVsZWFzZQorRnJvbSA2MDJmOWNhODNjMmJkYmY1MTFiY2IxNzhmY2I0YjlmYzU0ZGE5NTVmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgMjcgTm92IDIwMTggMTU6MjA6NDYgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gRnJvbSBlM2FlNTZjZjBiYjQwNjNjMzEyOTVmNDVkMDRlM2M1MDRmNGI2Y2M3IE1vbiBTZXAgMTcKKyAwMDowMDowMCAyMDAxIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IERhdGU6IE1vbiwgMjQgQXByIDIwMTcKKyAyMDo0MToyNSAtMDcwMCBTdWJqZWN0OiBbUEFUQ0hdIGF1dG9mczogVXBncmFkZSB0byA1LjEuMiByZWxlYXNlCiAKIFVzZSBwa2ctY29uZmlnIGZpcnN0IHRvIGxvb2sgZm9yIGV4dGVybmFsIGxpYm5zbCB3aGljaCBpcyBub3cKIHNwbGl0IG91dCBmcm9tIGdsaWJjLCBpZiBpdCBkb2VzIG5vdCBleGlzdCB0aGVuIHNlZSBpZiBpdHMgcHJvdmlkZWQKQEAgLTksMjAgKzExLDI3IEBACiAKIC1LaGVtCiAKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCit1cGRhdGUgcGF0Y2ggdG8gdmVyc2lvbiA1LjEuNQorU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KIC0tLQogIGNvbmZpZ3VyZS5pbiB8IDIgKy0KICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgotaW5kZXggOWNmNzNiOC4uMTAxNmM3MSAxMDA2NDQKK2luZGV4IDc2ZWNiNDAuLjQ5M2I5ZjEgMTAwNjQ0CiAtLS0gYS9jb25maWd1cmUuaW4KICsrKyBiL2NvbmZpZ3VyZS5pbgotQEAgLTE4Niw3ICsxODYsNyBAQCBmaQotICMKLSAjIGdsaWJjL2xpYmMgNiBuZXcgbGlicmFyaWVzCi0gIwotLUFDX0NIRUNLX0xJQihuc2wsIHlwX21hdGNoLCBMSUJOU0w9Ii1sbnNsIikKLStQS0dfQ0hFQ0tfTU9EVUxFUyhbTlNMXSwgW2xpYm5zbF0sIFtdLCBbQUNfQ0hFQ0tfTElCKFtuc2xdLFt5cF9tYXRjaF0sW0xJQk5TTD0iLWxuc2wiXSxbTElCTlNMPSIiXSldKQotIEFDX1NVQlNUKExJQk5TTCkKK0BAIC0yMzgsNyArMjM4LDcgQEAgQUNfU1VCU1QoTElCQ0xPQ0tfR0VUVElNRSkKICAKLSBBQ19DSEVDS19MSUIocmVzb2x2LCByZXNfcXVlcnksIExJQlJFU09MVj0iLWxyZXNvbHYiKQorIFBLR19DSEVDS19NT0RVTEVTKFtOU0xdLFtsaWJuc2xdLCwKKyBbCistQUNfQ0hFQ0tfTElCKG5zbCwgeXBfbWF0Y2gsIE5TTF9MSUJTPSItbG5zbCIpCisrUEtHX0NIRUNLX01PRFVMRVMoW05TTF0sIFtsaWJuc2xdLCBbXSwgW0FDX0NIRUNLX0xJQihbbnNsXSxbeXBfbWF0Y2hdLFtMSUJOU0w9Ii1sbnNsIl0sW0xJQk5TTD0iIl0pXSkKKyBBQ19TVUJTVChOU0xfTElCUykKKyBOU0xfQ0ZMQUdTPSIiCisgXSkKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL3VzaW5nLXBrZy1jb25maWctdG8tZGV0ZWN0LWxpYnhtbC0yLjAtYW5kLWtyYjUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvdXNpbmctcGtnLWNvbmZpZy10by1kZXRlY3QtbGlieG1sLTIuMC1hbmQta3JiNS5wYXRjaAppbmRleCAzZDBjNmJkLi5kMWY5ZjM0IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvdXNpbmctcGtnLWNvbmZpZy10by1kZXRlY3QtbGlieG1sLTIuMC1hbmQta3JiNS5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvdXNpbmctcGtnLWNvbmZpZy10by1kZXRlY3QtbGlieG1sLTIuMC1hbmQta3JiNS5wYXRjaApAQCAtMSwyMiArMSwyNyBAQAotRnJvbSBkYWJjYmRhZTM4MDM4YThlNGFkMmM0Mjg2MTEyMzgxYzQwN2M1Y2U3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgotRGF0ZTogVHVlLCAxOSBBdWcgMjAxNCAxMTozMTozNSArMDgwMAotU3ViamVjdDogW1BBVENIXSB1c2luZyBwa2ctY29uZmlnIHRvIGRldGVjdCBsaWJ4bWwtMi4wIGFuZCBrcmI1CitGcm9tIGRkOTBhNjkwZjk1NTY5Yjk5OWI4YWM5YWI1N2U4MzRiMzQyMWRjYmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAyNyBOb3YgMjAxOCAxNToxOTowNyArMDgwMAorU3ViamVjdDogW1BBVENIXSBGcm9tIGRhYmNiZGFlMzgwMzhhOGU0YWQyYzQyODYxMTIzODFjNDA3YzVjZTcgTW9uIFNlcCAxNworIDAwOjAwOjAwIDIwMDEgRnJvbTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPiBEYXRlOiBUdWUsIDE5IEF1ZyAyMDE0CisgMTE6MzE6MzUgKzA4MDAgU3ViamVjdDogW1BBVENIXSB1c2luZyBwa2ctY29uZmlnIHRvIGRldGVjdCBsaWJ4bWwtMi4wIGFuZAorIGtyYjUKIAotVXBzdHJlYW0tc3RhdHVzOiBQZW5kaW5nCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIAogU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgogCit1cGRhdGUgcGF0Y2ggdG8gNS4xLjUKK1NpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CiAtLS0KICBjb25maWd1cmUuaW4gfCAxNiArKysrKysrKysrKysrKy0tCiAgMSBmaWxlIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KLWluZGV4IGIyMjYyMzYuLjljZjczYjggMTAwNjQ0CitpbmRleCBmNWZiYjM1Li43NmVjYjQwIDEwMDY0NAogLS0tIGEvY29uZmlndXJlLmluCiArKysgYi9jb25maWd1cmUuaW4KLUBAIC0xNjIsOCArMTYyLDIwIEBAIGlmIHRlc3QgeCRlbmFibGVfc2xvcHB5X21vdW50ID0geHllczsgdGhlbgotIGZpCitAQCAtMjExLDggKzIxMSwyMCBAQCBmaQorIEFDX1NVQlNUKEVOQUJMRV9GRURGUykKICAKICAjIExEQVAgU0FTTCBhdXRoIG5lZWRzIGxpYnhtbCBhbmQgS2VyYmVyb3MKIC1BRl9DSEVDS19MSUJYTUwoKQpAQCAtMzgsMyArNDMsNiBAQAogIAogIEFDX1NFQVJDSF9MSUJTKFt2ZXJzaW9uc29ydF0sW10pCiAgaWYgdGVzdCAiJGFjX2N2X3NlYXJjaF92ZXJzaW9uc29ydCIgPSAibm8iOyB0aGVuCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mc181LjEuNC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mc181LjEuNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGExYmNhZC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnNfNS4xLjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw4MCArMCwwIEBACi1TVU1NQVJZID0gIktlcm5lbCBiYXNlZCBhdXRvbW91bnRlciBmb3IgbGludXgiCi1TRUNUSU9OID0gInV0aWxzIgotTElDRU5TRSA9ICJHUEwtMi4wIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDYzNmU3M2ZmMDIxNWU4ZDY3MmRjNGMzMmMzMTdiYjMiCi0KLURFUEVORFMgKz0gImxpYnRpcnBjIGZsZXgtbmF0aXZlIGJpc29uLW5hdGl2ZSBlMmZzcHJvZ3Mgb3BlbnNzbCBsaWJ4bWwyIHV0aWwtbGludXggY3lydXMtc2FzbCBsaWJuc2wyIgotCi1DRkxBR1MgKz0gIi1JJHtTVEFHSU5HX0lOQ0RJUn0vdGlycGMiCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBzeXN0ZW1kIHVwZGF0ZS1yYy5kIHBrZ2NvbmZpZwotCi1TUkNfVVJJID0gIiR7S0VSTkVMT1JHX01JUlJPUn0vbGludXgvZGFlbW9ucy9hdXRvZnMvdjUvYXV0b2ZzLSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9hdXRvZnMtNS4wLjctaW5jbHVkZS1saW51eC1uZnMuaC1kaXJlY3RseS1pbi1ycGNfc3ViLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL25vLWJhc2gucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vY3Jvc3MucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vYXV0b2ZzLTUuMC43LWRvLW5vdC1jaGVjay1mb3ItbW9kcHJvYmUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZml4X2Rpc2FibGVfbGRhcC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9hdXRvZnMtNS4wLjctZml4LWxpYi1kZXBzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2FkZC10aGUtbmVlZGVkLXN0ZGFyZy5oLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3VzaW5nLXBrZy1jb25maWctdG8tZGV0ZWN0LWxpYnhtbC0yLjAtYW5kLWtyYjUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZm9yY2UtU1RSSVAtdG8tZW10cHkucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcmVtb3ZlLWJhc2hpc20ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZml4LXRoZS1ZQUNDLXJ1bGUtdG8tZml4LWEtYnVpbGRpbmctZmFpbHVyZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLURlZmluZS1fX1NXT1JEX1RZUEUtYW5kLV9QQVRIX05TU1dJVENIX0NPTkYucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1SZXBsYWNlLV9fU19JRVhFQy13aXRoLVNfSUVYRUMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcGtnY29uZmlnLWxpYm5zbC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLW1vZHVsZXMtbG9va3VwX211bHRpLmMtUmVwbGFjZS1fX1NfSUVYRUMtd2l0aC1TX0lFWEUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3QtaGFyZGNvZGUtcGF0aC1mb3ItcGtnLm00LnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gIjE3YmM5ZDM3MWNmMzlkOTlmNDAwZWJhZGZjMjI4OWJiIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhkMWM5OTY0YzgyODZjY2IwODI2MmFkNDdjNjBiYjYzNDM0OTI5MDJkZWY1Mzk5ZmQzNmQ3OWEwY2NiMGU3MTgiCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICIke0tFUk5FTE9SR19NSVJST1J9L2xpbnV4L2RhZW1vbnMvYXV0b2ZzL3Y1LyIKLQotSU5JVFNDUklQVF9OQU1FID0gImF1dG9mcyIKLUlOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIgotCi0jIEZJWE1FOiBtb2R1bGVzL01ha2VmaWxlIGhhcyBjcmFwcHkgcnVsZXMgdGhhdCBkb24ndCBvYmV5IExERkxBR1MKLSNDRkxBR1MgKz0gIiR7TERGTEFHU30iCi0KLVBBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS13aXRoLXN5c3RlbWQ9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbSwtLXdpdGhvdXQtc3lzdGVtZCxzeXN0ZW1kIgotCi1QQUNLQUdFQ09ORklHID89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgZCl9IgotCi1FWFRSQV9PRU1BS0UgPSAiRE9OVFNUUklQPTEiCi1FWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1tb3VudC1sb2NraW5nIFwKLSAgICAgICAgICAgICAgICAtLWVuYWJsZS1pZ25vcmUtYnVzeSAtLXdpdGgtb3BlbmxkYXA9bm8gXAotICAgICAgICAgICAgICAgIC0td2l0aC1zYXNsPW5vIC0td2l0aC1saWJ0aXJwYyBcCi0gICAgICAgICAgICAgICAgLS13aXRoLXBhdGg9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9IFwKLSAgICAgICAgICAgICAgICAtLXdpdGgtZmlmb2Rpcj0ke2xvY2Fsc3RhdGVkaXJ9L3J1biBcCi0gICAgICAgICAgICAgICAgLS13aXRoLWZsYWdkaXI9JHtsb2NhbHN0YXRlZGlyfS9ydW4gXAotIgotQ0FDSEVEX0NPTkZJR1VSRVZBUlMgPSAiYWNfY3ZfcGF0aF9SQU5MSUI9JHtSQU5MSUJ9IFwKLSAgICAgICAgICAgICAgICAgICAgICAgIGFjX2N2X3BhdGhfUlBDR0VOPXJwY2dlbiBcCi0iCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKLSAgICBpZiBbICEgLWUgJHtTfS9hY2luY2x1ZGUubTQgXTsgdGhlbgotICAgICAgICBjcCAke1N9L2FjbG9jYWwubTQgJHtTfS9hY2luY2x1ZGUubTQKLSAgICBmaQotICAgIGNwICR7U1RBR0lOR19EQVRBRElSX05BVElWRX0vYWNsb2NhbC9wa2cubTQgLgotfQotCi1kb19pbnN0YWxsX2FwcGVuZCAoKSB7Ci0gICAgaWYgWyAtZCAke0R9L3J1biBdOyB0aGVuCi0gICAgICAgIHJtZGlyICR7RH0vcnVuCi0gICAgZmkKLSAgICBpZiBbIC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1biBdOyB0aGVuCi0gICAgICAgIHJtZGlyICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bgotICAgIGZpCi19Ci1TRUNVUklUWV9DRkxBR1MgPSAiJHtTRUNVUklUWV9OT19QSUVfQ0ZMQUdTfSIKLQotSU5TQU5FX1NLSVBfJHtQTn0gPSAiZGV2LXNvIgotCi1SUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCi1SUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCi1SQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImF1dG9mcy5zZXJ2aWNlIgotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnNfNS4xLjUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnNfNS4xLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWU0MzU0OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mc181LjEuNS5iYgpAQCAtMCwwICsxLDg0IEBACitTVU1NQVJZID0gIktlcm5lbCBiYXNlZCBhdXRvbW91bnRlciBmb3IgbGludXgiCitTRUNUSU9OID0gInV0aWxzIgorTElDRU5TRSA9ICJHUEwtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDYzNmU3M2ZmMDIxNWU4ZDY3MmRjNGMzMmMzMTdiYjMiCisKK0RFUEVORFMgKz0gImxpYnRpcnBjIGZsZXgtbmF0aXZlIGJpc29uLW5hdGl2ZSBlMmZzcHJvZ3Mgb3BlbnNzbCBsaWJ4bWwyIHV0aWwtbGludXggY3lydXMtc2FzbCBsaWJuc2wyIgorCitDRkxBR1MgKz0gIi1JJHtTVEFHSU5HX0lOQ0RJUn0vdGlycGMiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBzeXN0ZW1kIHVwZGF0ZS1yYy5kIHBrZ2NvbmZpZworCitTUkNfVVJJID0gIiR7S0VSTkVMT1JHX01JUlJPUn0vbGludXgvZGFlbW9ucy9hdXRvZnMvdjUvYXV0b2ZzLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9hdXRvZnMtNS4wLjctaW5jbHVkZS1saW51eC1uZnMuaC1kaXJlY3RseS1pbi1ycGNfc3ViLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL25vLWJhc2gucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vY3Jvc3MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZml4X2Rpc2FibGVfbGRhcC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9hdXRvZnMtNS4wLjctZml4LWxpYi1kZXBzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2FkZC10aGUtbmVlZGVkLXN0ZGFyZy5oLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3VzaW5nLXBrZy1jb25maWctdG8tZGV0ZWN0LWxpYnhtbC0yLjAtYW5kLWtyYjUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZm9yY2UtU1RSSVAtdG8tZW10cHkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcmVtb3ZlLWJhc2hpc20ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZml4LXRoZS1ZQUNDLXJ1bGUtdG8tZml4LWEtYnVpbGRpbmctZmFpbHVyZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLURlZmluZS1fX1NXT1JEX1RZUEUtYW5kLV9QQVRIX05TU1dJVENIX0NPTkYucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1SZXBsYWNlLV9fU19JRVhFQy13aXRoLVNfSUVYRUMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcGtnY29uZmlnLWxpYm5zbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW1vZHVsZXMtbG9va3VwX211bHRpLmMtUmVwbGFjZS1fX1NfSUVYRUMtd2l0aC1TX0lFWEUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3QtaGFyZGNvZGUtcGF0aC1mb3ItcGtnLm00LnBhdGNoIFwKKyAgICAgICAgICAgIgorCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwM2IxMzE2OGVjN2JkNjZhNmYyZDVmNmZlYTcwNWVlZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4NmE4ZTU2ZWE5ZDcyYmI1M2ZmOGNkZmVlZmI1Y2FmZTk4MzU5MmM2YjAxNzhmYjk5YzRhNzMxZTU5ODc5MTgxIgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiJHtLRVJORUxPUkdfTUlSUk9SfS9saW51eC9kYWVtb25zL2F1dG9mcy92NS8iCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJhdXRvZnMiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyIKKworIyBGSVhNRTogbW9kdWxlcy9NYWtlZmlsZSBoYXMgY3JhcHB5IHJ1bGVzIHRoYXQgZG9uJ3Qgb2JleSBMREZMQUdTCisjQ0ZMQUdTICs9ICIke0xERkxBR1N9IgorCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0td2l0aC1zeXN0ZW1kPSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0sLS13aXRob3V0LXN5c3RlbWQsc3lzdGVtZCIKKworUEFDS0FHRUNPTkZJRyA/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsIGQpfSIKKworRVhUUkFfT0VNQUtFID0gIkRPTlRTVFJJUD0xIgorRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtbW91bnQtbG9ja2luZyBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtaWdub3JlLWJ1c3kgLS13aXRoLW9wZW5sZGFwPW5vIFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtc2FzbD1ubyAtLXdpdGgtbGlidGlycGMgXAorICAgICAgICAgICAgICAgIC0td2l0aC1wYXRoPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfSBcCisgICAgICAgICAgICAgICAgLS13aXRoLWZpZm9kaXI9JHtsb2NhbHN0YXRlZGlyfS9ydW4gXAorICAgICAgICAgICAgICAgIC0td2l0aC1mbGFnZGlyPSR7bG9jYWxzdGF0ZWRpcn0vcnVuIFwKKyIKK0NBQ0hFRF9DT05GSUdVUkVWQVJTID0gImFjX2N2X3BhdGhfUkFOTElCPSR7UkFOTElCfSBcCisgICAgICAgICAgICAgICAgICAgICAgICBhY19jdl9wYXRoX1JQQ0dFTj1ycGNnZW4gXAorIgorCitkb19jb25maWd1cmVfcHJlcGVuZCAoKSB7CisgICAgaWYgWyAhIC1lICR7U30vYWNpbmNsdWRlLm00IF07IHRoZW4KKyAgICAgICAgY3AgJHtTfS9hY2xvY2FsLm00ICR7U30vYWNpbmNsdWRlLm00CisgICAgZmkKKyAgICBjcCAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2FjbG9jYWwvcGtnLm00IC4KK30KKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgICMgc2FtcGxlcyBoYXZlIGJlZW4gcmVtb3ZlZCBmcm9tIFNVQkRJUlMgZnJvbSA1LjEuNSwgbmVlZCB0byBpbnN0YWxsIHNlcGFyYXRlbHkKKyAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGxfc2FtcGxlcworCisgICAgaWYgWyAtZCAke0R9L3J1biBdOyB0aGVuCisgICAgICAgIHJtZGlyICR7RH0vcnVuCisgICAgZmkKKyAgICBpZiBbIC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1biBdOyB0aGVuCisgICAgICAgIHJtZGlyICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bgorICAgIGZpCit9CitTRUNVUklUWV9DRkxBR1MgPSAiJHtTRUNVUklUWV9OT19QSUVfQ0ZMQUdTfSIKKworSU5TQU5FX1NLSVBfJHtQTn0gPSAiZGV2LXNvIgorCitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImF1dG9mcy5zZXJ2aWNlIgorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2lnbXBwcm94eS9pZ21wcHJveHlfMC4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pZ21wcHJveHkvaWdtcHByb3h5XzAuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTQyNGRjNC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2lnbXBwcm94eS9pZ21wcHJveHlfMC4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotU1VNTUFSWSA9ICJzaW1wbGUgZHluYW1pYyBtdWx0aWNhc3Qgcm91dGluZyBkYWVtb24gdGhhdCBvbmx5IHVzZXMgSUdNUCBzaWduYWxsaW5nIgotSE9NRVBBR0UgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9pZ21wcHJveHkvIgotCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MWU5OTVlMjc5OWJiMGQyN2Q2MzA2OWI5N2Y4MDU0MjAiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9pZ21wcHJveHkvZmlsZXMvJHtCUE59LyR7UFZ9LyR7QlBOfS0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1zcmMtaWdtcHByb3h5LmgtSW5jbHVkZS1zeXMtdHlwZXMuaC1mb3ItdV9zaG9ydC11X2luLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiYzU2ZjQxZWMxOTViYzFmZTAxNjM2OWJmNzRlZmM1YTEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZWUxOGZmM2Q4YzNhZTNhMjlkY2NiN2U1ZWVkZjMzMjMzNzMzMDAyMDE2OGJkOTVhMTFjZWNlOGQ3ZDdlZTZhZSIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCi0KLUNGTEFHUyArPSAiLURfR05VX1NPVVJDRSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaWdtcHByb3h5L2lnbXBwcm94eV8wLjIuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaWdtcHByb3h5L2lnbXBwcm94eV8wLjIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOTllYmUwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pZ21wcHJveHkvaWdtcHByb3h5XzAuMi4xLmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAic2ltcGxlIGR5bmFtaWMgbXVsdGljYXN0IHJvdXRpbmcgZGFlbW9uIHRoYXQgb25seSB1c2VzIElHTVAgc2lnbmFsbGluZyIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvaWdtcHByb3h5LyIKKworTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00MzIwNDBmZjNhNTU2NzBjMWRlYzBjMzJiMjA5YWQ2OSIKKworU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vcGFsaS9pZ21wcHJveHkvcmVsZWFzZXMvZG93bmxvYWQvJHtQVn0vaWdtcHByb3h5LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXNyYy1pZ21wcHJveHkuaC1JbmNsdWRlLXN5cy10eXBlcy5oLWZvci11X3Nob3J0LXVfaW4ucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjNhOWMyY2I0MmMxZjVlZTBjYjc2OWE0ODg0NTQ1NjQxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQzNTFlNjIzMDM3MzkwZjU3NWMxMjAzZDljYmI3YmEzM2E4YmRlZjg1YTNjNWUxZDI5MDFjNWEyYTM4NDQ5YTEiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitDRkxBR1MgKz0gIi1EX0dOVV9TT1VSQ0UiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2lzY3NpLWluaXRpYXRvci11dGlscy9maWxlcy8wMDAxLUZpeC1pNTg2LWJ1aWxkLWlzc3Vlcy13aXRoLXN0cmluZy1sZW5ndGgtb3ZlcmZsb3cucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2lzY3NpLWluaXRpYXRvci11dGlscy9maWxlcy8wMDAxLUZpeC1pNTg2LWJ1aWxkLWlzc3Vlcy13aXRoLXN0cmluZy1sZW5ndGgtb3ZlcmZsb3cucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjk0NWM2MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzL2ZpbGVzLzAwMDEtRml4LWk1ODYtYnVpbGQtaXNzdWVzLXdpdGgtc3RyaW5nLWxlbmd0aC1vdmVyZmxvdy5wYXRjaApAQCAtMCwwICsxLDExNSBAQAorRnJvbSAyNGNlOGY2MmUwNDJlNjk0OTdlMTI5OTIxMjUwNGMzNTYxNzllMTViIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGVlIER1bmNhbiA8bGR1bmNhbkBzdXNlLmNvbT4KK0RhdGU6IFR1ZSwgNiBOb3YgMjAxOCAxMToxNjowNiAtMDgwMAorU3ViamVjdDogW1BBVENIXSBGaXggaTU4NiBidWlsZCBpc3N1ZXMgd2l0aCBzdHJpbmcgbGVuZ3RoIG92ZXJmbG93LgorCitHY2M3IHdhcm5zIG9mIHBvc3NpYmxlIHN0cmluZyBwcmludCBvdmVyZmxvdywgb24gaTU4NiwKK3doZW4gcHJpbnRpbmcgcGFzc3dvcmQgbGVuZ3RoICh2aWEgYSBtYWNybyksIGdlbmVyYXRpbmcKK2Vycm9ycyBsaWtlOgorCitbICAgNTlzXSAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+CitbICAgNTlzXSBJbiBmaWxlIGluY2x1ZGVkIGZyb20gL3Vzci9pbmNsdWRlL3N0ZGlvLmg6ODYyOjAsCitbICAgNTlzXSAgICAgICAgICAgICAgICAgIGZyb20gaWRibS5oOjI3LAorWyAgIDU5c10gICAgICAgICAgICAgICAgICBmcm9tIGNvbnRleHQuaDoyMiwKK1sgICA1OXNdICAgICAgICAgICAgICAgICAgZnJvbSBpZGJtLmM6NTk6CitbICAgNTlzXSAvdXNyL2luY2x1ZGUvYml0cy9zdGRpbzIuaDo2NDoxMDogbm90ZToKKydfX2J1aWx0aW5fX19zbnByaW50Zl9jaGsnIG91dHB1dCBiZXR3ZWVuIDIgYW5kIDExIGJ5dGVzIGludG8gYQorZGVzdGluYXRpb24gb2Ygc2l6ZSA4CitbICAgNTlzXSAgICByZXR1cm4gX19idWlsdGluX19fc25wcmludGZfY2hrIChfX3MsIF9fbiwKK19fVVNFX0ZPUlRJRllfTEVWRUwgLSAxLAorWyAgIDU5c10gICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Cit+fn5+fn5+fn5+CitbICAgNTlzXSAgICAgICAgIF9fYm9zIChfX3MpLCBfX2ZtdCwgX192YV9hcmdfcGFjayAoKSk7CitbICAgNTlzXSAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KK1sgICA1OXNdIGNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCitbICAgNTlzXSBtYWtlWzFdOiAqKiogWzxidWlsdGluPjogaWRibS5vXSBFcnJvciAxCitbICAgNTlzXSBtYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeQorCitUaGUgZml4IGlzIHRvIGxpbWl0IHRoZSBzaXplIG9mIHRoZSBzdHJpbmcgcHJpbnRlZCwgc28gdGhhdCBubworb3ZlcmZsb3cgaXMgcG9zc2libGUuCisKK1RoZSBwcmludCBtYWNyb3MgaW4gdXNyL2lkYm0uYyB3ZXJlIHVwZGF0ZWQsIGFzIHdlbGwsIHRvIG1hdGNoCit0aGUgbmV3ZXIgdmVyc2lvbiBpbiBsaWJvcGVuaXNjc2l1c3IvaWRibS5jLCBhbHNvIHRvIGhlbHAgdGhlCitpNTg2IGJ1aWxkLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0W2h0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLWlzY3NpL29wZW4taXNjc2kvY29tbWl0LzI0Y2U4ZjYyZTA0MmU2OTQ5N2UxMjk5MjEyNTA0YzM1NjE3OWUxNWJdCisKK1NpZ25lZC1vZmYtYnk6IE1pbmdsaSBZdSA8bWluZ2xpLnl1QHdpbmRyaXZlci5jb20+CistLS0KKyBsaWJvcGVuaXNjc2l1c3IvaWRibS5jIHwgIDIgKy0KKyB1c3IvaWRibS5jICAgICAgICAgICAgIHwgMTEgKysrKysrLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYm9wZW5pc2NzaXVzci9pZGJtLmMgYi9saWJvcGVuaXNjc2l1c3IvaWRibS5jCitpbmRleCA3NzI0ZGUyLi4wNTVkZDlhIDEwMDY0NAorLS0tIGEvbGlib3BlbmlzY3NpdXNyL2lkYm0uYworKysrIGIvbGlib3BlbmlzY3NpdXNyL2lkYm0uYworQEAgLTY3Niw3ICs2NzYsNyBAQCB1cGRhdGVkOgorIAlpZiAoIXBhc3N3ZF9kb25lICYmICFzdHJjbXAoI19wYXJhbSwgbmFtZSkpIHsgXAorIAkJcGFzc3dkX2RvbmUgPSAxOyBcCisgCQluYW1lID0gI19wYXJhbSAiX2xlbmd0aCI7IFwKKy0JCXNucHJpbnRmKHBhc3N3ZF9sZW4sIDgsICIlZCIsIChpbnQpc3RybGVuKHZhbHVlKSk7IFwKKysJCXNucHJpbnRmKHBhc3N3ZF9sZW4sIDgsICIlLjdkIiwgKGludClzdHJsZW4odmFsdWUpICYgMHhmZmZmKTsgXAorIAkJdmFsdWUgPSBwYXNzd2RfbGVuOyBcCisgCQlnb3RvIHNldHVwX3Bhc3N3ZF9sZW47IFwKKyAJfQorZGlmZiAtLWdpdCBhL3Vzci9pZGJtLmMgYi91c3IvaWRibS5jCitpbmRleCBhMDIwN2UyLi44OWE2YzI3IDEwMDY0NAorLS0tIGEvdXNyL2lkYm0uYworKysrIGIvdXNyL2lkYm0uYworQEAgLTMwLDYgKzMwLDcgQEAKKyAjaW5jbHVkZSA8ZmNudGwuaD4KKyAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyAjaW5jbHVkZSA8c3lzL2ZpbGUuaD4KKysjaW5jbHVkZSA8aW50dHlwZXMuaD4KKyAKKyAjaW5jbHVkZSAiaWRibS5oIgorICNpbmNsdWRlICJpZGJtX2ZpZWxkcy5oIgorQEAgLTY1LDcgKzY2LDcgQEAgc3RhdGljIHN0cnVjdCBpZGJtICpkYjsKKyAjZGVmaW5lIF9fcmVjaW5mb19pbnQoX2tleSwgX2luZm8sIF9yZWMsIF9uYW1lLCBfc2hvdywgX24sIF9tb2QpIGRvIHsgXAorIAlfaW5mb1tfbl0udHlwZSA9IFRZUEVfSU5UOyBcCisgCXN0cmxjcHkoX2luZm9bX25dLm5hbWUsIF9rZXksIE5BTUVfTUFYVkFMKTsgXAorLQlzbnByaW50ZihfaW5mb1tfbl0udmFsdWUsIFZBTFVFX01BWFZBTCwgIiVkIiwgX3JlYy0+X25hbWUpOyBcCisrCXNucHJpbnRmKF9pbmZvW19uXS52YWx1ZSwgVkFMVUVfTUFYVkFMLCAiJSIgUFJJaTMyLCBfcmVjLT5fbmFtZSk7IFwKKyAJX2luZm9bX25dLmRhdGEgPSAmX3JlYy0+X25hbWU7IFwKKyAJX2luZm9bX25dLmRhdGFfbGVuID0gc2l6ZW9mKF9yZWMtPl9uYW1lKTsgXAorIAlfaW5mb1tfbl0udmlzaWJsZSA9IF9zaG93OyBcCitAQCAtNzYsNyArNzcsNyBAQCBzdGF0aWMgc3RydWN0IGlkYm0gKmRiOworICNkZWZpbmUgX19yZWNpbmZvX3VpbnQ4KF9rZXksIF9pbmZvLCBfcmVjLCBfbmFtZSwgX3Nob3csIF9uLCBfbW9kKSBkbyB7IFwKKyAJX2luZm9bX25dLnR5cGUgPSBUWVBFX1VJTlQ4OyBcCisgCXN0cmxjcHkoX2luZm9bX25dLm5hbWUsIF9rZXksIE5BTUVfTUFYVkFMKTsgXAorLQlzbnByaW50ZihfaW5mb1tfbl0udmFsdWUsIFZBTFVFX01BWFZBTCwgIiVkIiwgX3JlYy0+X25hbWUpOyBcCisrCXNucHJpbnRmKF9pbmZvW19uXS52YWx1ZSwgVkFMVUVfTUFYVkFMLCAiJSIgUFJJdTgsIF9yZWMtPl9uYW1lKTsgXAorIAlfaW5mb1tfbl0uZGF0YSA9ICZfcmVjLT5fbmFtZTsgXAorIAlfaW5mb1tfbl0uZGF0YV9sZW4gPSBzaXplb2YoX3JlYy0+X25hbWUpOyBcCisgCV9pbmZvW19uXS52aXNpYmxlID0gX3Nob3c7IFwKK0BAIC04Nyw3ICs4OCw3IEBAIHN0YXRpYyBzdHJ1Y3QgaWRibSAqZGI7CisgI2RlZmluZSBfX3JlY2luZm9fdWludDE2KF9rZXksIF9pbmZvLCBfcmVjLCBfbmFtZSwgX3Nob3csIF9uLCBfbW9kKSBkbyB7IFwKKyAJX2luZm9bX25dLnR5cGUgPSBUWVBFX1VJTlQxNjsgXAorIAlzdHJsY3B5KF9pbmZvW19uXS5uYW1lLCBfa2V5LCBOQU1FX01BWFZBTCk7IFwKKy0Jc25wcmludGYoX2luZm9bX25dLnZhbHVlLCBWQUxVRV9NQVhWQUwsICIlZCIsIF9yZWMtPl9uYW1lKTsgXAorKwlzbnByaW50ZihfaW5mb1tfbl0udmFsdWUsIFZBTFVFX01BWFZBTCwgIiUiIFBSSXUxNiwgX3JlYy0+X25hbWUpOyBcCisgCV9pbmZvW19uXS5kYXRhID0gJl9yZWMtPl9uYW1lOyBcCisgCV9pbmZvW19uXS5kYXRhX2xlbiA9IHNpemVvZihfcmVjLT5fbmFtZSk7IFwKKyAJX2luZm9bX25dLnZpc2libGUgPSBfc2hvdzsgXAorQEAgLTk4LDcgKzk5LDcgQEAgc3RhdGljIHN0cnVjdCBpZGJtICpkYjsKKyAjZGVmaW5lIF9fcmVjaW5mb191aW50MzIoX2tleSwgX2luZm8sIF9yZWMsIF9uYW1lLCBfc2hvdywgX24sIF9tb2QpIGRvIHsgXAorIAlfaW5mb1tfbl0udHlwZSA9IFRZUEVfVUlOVDMyOyBcCisgCXN0cmxjcHkoX2luZm9bX25dLm5hbWUsIF9rZXksIE5BTUVfTUFYVkFMKTsgXAorLQlzbnByaW50ZihfaW5mb1tfbl0udmFsdWUsIFZBTFVFX01BWFZBTCwgIiVkIiwgX3JlYy0+X25hbWUpOyBcCisrCXNucHJpbnRmKF9pbmZvW19uXS52YWx1ZSwgVkFMVUVfTUFYVkFMLCAiJSIgUFJJdTMyLCBfcmVjLT5fbmFtZSk7IFwKKyAJX2luZm9bX25dLmRhdGEgPSAmX3JlYy0+X25hbWU7IFwKKyAJX2luZm9bX25dLmRhdGFfbGVuID0gc2l6ZW9mKF9yZWMtPl9uYW1lKTsgXAorIAlfaW5mb1tfbl0udmlzaWJsZSA9IF9zaG93OyBcCitAQCAtMTA0MSw3ICsxMDQyLDcgQEAgdXBkYXRlZDoKKyAJaWYgKCFwYXNzd2RfZG9uZSAmJiAhc3RyY21wKCNfcGFyYW0sIG5hbWUpKSB7IFwKKyAJCXBhc3N3ZF9kb25lID0gMTsgXAorIAkJbmFtZSA9ICNfcGFyYW0gIl9sZW5ndGgiOyBcCistCQlzbnByaW50ZihwYXNzd2RfbGVuLCA4LCAiJWQiLCAoaW50KXN0cmxlbih2YWx1ZSkpOyBcCisrCQlzbnByaW50ZihwYXNzd2RfbGVuLCA4LCAiJS43IiBQUklpMzIsIChpbnQpc3RybGVuKHZhbHVlKSAmIDB4ZmZmZik7IFwKKyAJCXZhbHVlID0gcGFzc3dkX2xlbjsgXAorIAkJZ290byBzZXR1cF9wYXNzd2RfbGVuOyBcCisgCX0KKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pc2NzaS1pbml0aWF0b3ItdXRpbHMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzXzIuMC44NzYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2lzY3NpLWluaXRpYXRvci11dGlscy9pc2NzaS1pbml0aWF0b3ItdXRpbHNfMi4wLjg3Ni5iYgppbmRleCBlNmE4N2EzLi40OGIwNzgzIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2lzY3NpLWluaXRpYXRvci11dGlscy9pc2NzaS1pbml0aWF0b3ItdXRpbHNfMi4wLjg3Ni5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2lzY3NpLWluaXRpYXRvci11dGlscy9pc2NzaS1pbml0aWF0b3ItdXRpbHNfMi4wLjg3Ni5iYgpAQCAtMTQsNiArMTQsNyBAQAogU1JDUkVWID89ICJiZDc5ZTRlZDEwMDRhNjAzNWQyNTM4YTMwOGM1OTMwODkwNDIxYTIyIgogCiBTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vb3Blbi1pc2NzaS9vcGVuLWlzY3NpIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWk1ODYtYnVpbGQtaXNzdWVzLXdpdGgtc3RyaW5nLWxlbmd0aC1vdmVyZmxvdy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9pbml0ZC5kZWJpYW4gXAogICAgICAgICAgICBmaWxlOi8vOTlfaXNjc2ktaW5pdGlhdG9yLXV0aWxzIFwKICAgICAgICAgICAgZmlsZTovL2lzY3NpLWluaXRpYXRvciBcCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL29wZW5ocGkvb3BlbmhwaV8zLjguMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvb3BlbmhwaS9vcGVuaHBpXzMuOC4wLmJiCmluZGV4IGM0YjMzMDkuLmNhOTEzMGQgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvb3BlbmhwaS9vcGVuaHBpXzMuOC4wLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvb3BlbmhwaS9vcGVuaHBpXzMuOC4wLmJiCkBAIC02MCwxMCArNjAsMTEgQEAKIElOU0FORV9TS0lQXyR7UE59LWxpYnMgPSAiZGV2LXNvIgogUkRFUEVORFNfJHtQTn0gKz0gIiR7UE59LWxpYnMiCiAKLVBBQ0tBR0VDT05GSUcgPz89ICJsaWJnY3J5cHQgbm9uMzJiaXQiCitQQUNLQUdFQ09ORklHID8/PSAibGliZ2NyeXB0IG5vbjMyYml0IHNubXAtYmMiCiBQQUNLQUdFQ09ORklHW3N5c2ZzXSA9ICItLWVuYWJsZS1zeXNmcywtLWRpc2FibGUtc3lzZnMsc3lzZnN1dGlscywiCiBQQUNLQUdFQ09ORklHW2xpYmdjcnlwdF0gPSAiLS1lbmFibGUtZW5jcnlwdGlvbiwtLWRpc2FibGUtZW5jcnlwdGlvbixsaWJnY3J5cHQsIgogUEFDS0FHRUNPTkZJR1tub24zMmJpdF0gPSAiLS1lbmFibGUtbm9uMzJiaXQtaW50LC0tZGlzYWJsZS1ub24zMmJpdC1pbnQsLCIKK1BBQ0tBR0VDT05GSUdbc25tcC1iY10gPSAiLS1lbmFibGUtc25tcF9iYywtLWRpc2FibGUtc25tcF9iYyIKIAogZXhwb3J0IERJU1RSTwogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL29wZW5zYWYvb3BlbnNhZi8wMDAxLUZpeC1zdHJpbmctb3ZlcmZsb3ctaW4tc25wcmludGYucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL29wZW5zYWYvb3BlbnNhZi8wMDAxLUZpeC1zdHJpbmctb3ZlcmZsb3ctaW4tc25wcmludGYucGF0Y2gKaW5kZXggZGI2Nzk2ZC4uOTNjNzU3NyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9vcGVuc2FmL29wZW5zYWYvMDAwMS1GaXgtc3RyaW5nLW92ZXJmbG93LWluLXNucHJpbnRmLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvb3BlbnNhZi9vcGVuc2FmLzAwMDEtRml4LXN0cmluZy1vdmVyZmxvdy1pbi1zbnByaW50Zi5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gYWU3MTc4YTc4YWJhMmU1NzY2YjcwMTkxNjE3MTEzNDg3ZmQ3YWQwYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gODg2NjFhNjA2Mjk4OTQzNTM1MTJjNTNlZDMyZjJiOTAxZjY0MTQ5YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBNb24sIDE2IEFwciAyMDE4IDE4OjI5OjE3IC0wNzAwCiBTdWJqZWN0OiBbUEFUQ0hdIEZpeCBzdHJpbmcgb3ZlcmZsb3cgaW4gc25wcmludGYKQEAgLTUzLDcgKzUzLDcgQEAKICAgIFRSQUNFX0VOVEVSKCk7CiAgCiBkaWZmIC0tZ2l0IGEvc3JjL3NtZi9zbWZkL1NtZlVwZ3JhZGVDYW1wYWlnbi5jYyBiL3NyYy9zbWYvc21mZC9TbWZVcGdyYWRlQ2FtcGFpZ24uY2MKLWluZGV4IDQ1Y2RjZTguLjY3NjFiY2YgMTAwNjQ0CitpbmRleCBjMzBlYTE0Li4wOThmMTdhIDEwMDY0NAogLS0tIGEvc3JjL3NtZi9zbWZkL1NtZlVwZ3JhZGVDYW1wYWlnbi5jYwogKysrIGIvc3JjL3NtZi9zbWZkL1NtZlVwZ3JhZGVDYW1wYWlnbi5jYwogQEAgLTQ0Nyw3ICs0NDcsNyBAQCBTYUFpc0Vycm9yVCBTbWZVcGdyYWRlQ2FtcGFpZ246OnRvb01hbnlSZXN0YXJ0cyhib29sICpvX3Jlc3VsdCkgewpAQCAtNjYsMTEgKzY2LDExIEBACiAgICAvKiBSZWFkIHRoZSBTbWZDYW1wUmVzdGFydEluZm8gb2JqZWN0IHNtZkNhbXBSZXN0YXJ0Q250IGF0dHIgKi8KICAgIHN0ZDo6c3RyaW5nIG9iaiA9ICJzbWZSZXN0YXJ0SW5mbz1pbmZvLCIgKwogQEAgLTQ3Myw3ICs0NzMsNyBAQCBTYUFpc0Vycm9yVCBTbWZVcGdyYWRlQ2FtcGFpZ246OnRvb01hbnlSZXN0YXJ0cyhib29sICpvX3Jlc3VsdCkgewotICAgICBhdHRyc21mQ2FtcFJlc3RhcnRDbnQuc2V0TmFtZSgic21mQ2FtcFJlc3RhcnRDbnQiKTsKLSAgICAgYXR0cnNtZkNhbXBSZXN0YXJ0Q250LnNldFR5cGUoIlNBX0lNTV9BVFRSX1NBVUlOVDMyVCIpOworICAgICBhdHRyc21mQ2FtcFJlc3RhcnRDbnQuU2V0QXR0cmlidXRlTmFtZSgic21mQ2FtcFJlc3RhcnRDbnQiKTsKKyAgICAgYXR0cnNtZkNhbXBSZXN0YXJ0Q250LlNldEF0dHJpYnV0ZVR5cGUoIlNBX0lNTV9BVFRSX1NBVUlOVDMyVCIpOwogICAgICBjaGFyIGJ1Zls1XTsKIC0gICAgc25wcmludGYoYnVmLCA0LCAiJWQiLCBjdXJDbnQpOwogKyAgICBzbnByaW50ZihidWYsIDQsICIlaGQiLCBjdXJDbnQpOwotICAgICBhdHRyc21mQ2FtcFJlc3RhcnRDbnQuYWRkVmFsdWUoYnVmKTsKLSAgICAgaW1vQ2FtcFJlc3RhcnRJbmZvLmFkZFZhbHVlKGF0dHJzbWZDYW1wUmVzdGFydENudCk7CisgICAgIGF0dHJzbWZDYW1wUmVzdGFydENudC5BZGRBdHRyaWJ1dGVWYWx1ZShidWYpOworICAgICBpbW9DYW1wUmVzdGFydEluZm8uQWRkVmFsdWUoYXR0cnNtZkNhbXBSZXN0YXJ0Q250KTsKICAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvb3BlbnNhZi9vcGVuc2FmXzUuMTguMDQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL29wZW5zYWYvb3BlbnNhZl81LjE4LjA0LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNTM0YzYyLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvb3BlbnNhZi9vcGVuc2FmXzUuMTguMDQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw3NCArMCwwIEBACi1TVU1NQVJZID0gIk9wZW5TQUYgaXMgYW4gb3BlbiBzb3VyY2UgaW1wbGVtZW50YXRpb24gb2YgdGhlIFNBRiBBSVMgc3BlY2lmaWNhdGlvbiIKLURFU0NSSVBUSU9OID0gIk9wZW5TQUYgaXMgYW4gb3BlbiBzb3VyY2UgcHJvamVjdCBlc3RhYmxpc2hlZCB0byBkZXZlbG9wIGEgYmFzZSBwbGF0Zm9ybSBcCi1taWRkbGV3YXJlIGNvbnNpc3RlbnQgd2l0aCBTZXJ2aWNlIEF2YWlsYWJpbGl0eSBGb3J1bSAoU0EgRm9ydW0pIFwKLXNwZWNpZmljYXRpb25zLCB1bmRlciB0aGUgTEdQTHYyLjEgbGljZW5zZS4gVGhlIE9wZW5TQUYgRm91bmRhdGlvbiB3YXMgXAotZXN0YWJsaXNoZWQgYnkgbGVhZGluZyBDb21tdW5pY2F0aW9ucyBhbmQgRW50ZXJwcmlzZSBDb21wdXRpbmcgQ29tcGFuaWVzIHRvIFwKLWZhY2lsaXRhdGUgdGhlIE9wZW5TQUYgUHJvamVjdCBhbmQgdG8gYWNjZWxlcmF0ZSB0aGUgYWRvcHRpb24gb2YgdGhlIE9wZW5TQUYgXAotY29kZSBiYXNlIGluIGNvbW1lcmNpYWwgcHJvZHVjdHMuIFwKLVRoZSBPcGVuU0FGIHByb2plY3Qgd2FzIGxhdW5jaGVkIGluIG1pZCAyMDA3IGFuZCBoYXMgYmVlbiB1bmRlciBkZXZlbG9wbWVudCBieSBcCi1hbiBpbmZvcm1hbCBncm91cCBvZiBzdXBwb3J0ZXJzIG9mIHRoZSBPcGVuU0FGIGluaXRpYXRpdmUuIFRoZSBPcGVuU0FGIFwKLUZvdW5kYXRpb24gd2FzIGZvdW5kZWQgb24gSmFudWFyeSAyMm5kIDIwMDggd2l0aCBFbWVyc29uIE5ldHdvcmsgUG93ZXIsIFwKLUVyaWNzc29uLCBOb2tpYSBTaWVtZW5zIE5ldHdvcmtzLCBIUCBhbmQgU3VuIE1pY3Jvc3lzdGVtcyBhcyBmb3VuZGluZyBtZW1iZXJzLiIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cub3BlbnNhZi5vcmciCi1TRUNUSU9OID0gImFkbWluIgotTElDRU5TRSA9ICJMR1BMdjIuMSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTElCO21kNT1hOTE2NDY3YjkxMDc2ZTYzMWRkOGVkYjc0MjQ3NjljNyIKLQotREVQRU5EUyA9ICJsaWJ4bWwyIHB5dGhvbiIKLVRPT0xDSEFJTiA9ICJnY2MiCi0KLVNFQ1VSSVRZX0NGTEFHUyA9ICIke1NFQ1VSSVRZX05PX1BJRV9DRkxBR1N9IgotCi1TUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS8ke0JQTn0vcmVsZWFzZXMvJHtCUE59LSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS1QYXNzLWxpbmtlci1zcGVjaWZpYy1vcHRpb25zLXdpdGgtV2wucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUtRGlzYWJsZS1mb3JtYXQtb3ZlcmZsb3ctaWYtc3VwcG9ydGVkLWJ5LWdjLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtc3JjLUFkZC1taXNzaW5nLWhlYWRlci1saW1pdHMuaC1mb3ItX1BPU0lYX0hPU1RfTkFNRS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWltbXBiZV9kdW1wLmNjLVVzZS1zeXMtd2FpdC5oLWluc3RlYWQtb2Ytd2FpdC5oLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtQ2F0Y2gtc3RkLWlmc3RyZWFtLWZhaWx1cmUtYnktcmVmZXJlbmNlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItRml4LWZvcm1hdC10cnVuY2F0aW9uLWVycm9ycy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1zdHJpbmctb3ZlcmZsb3ctaW4tc25wcmludGYucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwOC1jaGVjay1mb3Itc2l6ZS1iZWZvcmUtdXNpbmctc3RybmNweS5wYXRjaCBcCi0gICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICIyMTgzNmU0M2IxM2FkMzNiZWQ5YmQwZWQzOTFlNWE2ZSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlNTVkYzI2NDU0ODdmYjIyOTM4ZTgzODZiOTllZWY2ZWI3YWZmNDNhMjQ2Y2UzZTkyNDg4ZGFmNmVlNDYyNDdhIgotCi1pbmhlcml0IGF1dG90b29scyB1c2VyYWRkIHN5c3RlbWQgcGtnY29uZmlnCi0KLVVTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCi1HUk9VUEFERF9QQVJBTV8ke1BOfSA9ICItZiAtciBvcGVuc2FmIgotVVNFUkFERF9QQVJBTV8ke1BOfSA9ICAiLXIgLWcgb3BlbnNhZiAtZCAke2RhdGFkaXJ9L29wZW5zYWYvIC1zICR7c2JpbmRpcn0vbm9sb2dpbiAtYyBcIk9wZW5TQUZcIiBvcGVuc2FmIgotCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gKz0gIm9wZW5zYWZkLnNlcnZpY2UiCi1TWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCi0KLVBBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLCxzeXN0ZW1kIgotUEFDS0FHRUNPTkZJR1tvcGVuaHBpXSA9ICItLXdpdGgtaHBpLWludGVyZmFjZT1CMDMsLG9wZW5ocGkiCi1QQUNLQUdFQ09ORklHW3BsbV0gPSAiLS1lbmFibGUtYWlzLXBsbSwtLWRpc2FibGUtYWlzLXBsbSxsaWJ2aXJ0IG9wZW5ocGkiCi0KLVBBQ0tBR0VDT05GSUcgPz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICcgc3lzdGVtZCcsICcnLCBkKX0iCi0KLVBLR0xJQkRJUj0iJHtsaWJkaXJ9IgotCi1MREZMQUdTICs9ICItV2wsLS1hcy1uZWVkZWQgLWxhdG9taWMgLVdsLC0tbm8tYXMtbmVlZGVkIgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICBjcCAtYXYgLS1uby1wcmVzZXJ2ZT1vd25lcnNoaXAgJHtCfS9saWIvLmxpYnMvKi5zbyogJHtEfSR7bGliZGlyfQotICAgIHJtIC1mciAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbG9jayIKLSAgICBybSAtZnIgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1biIKLSAgICBybWRpciAtLWlnbm9yZS1mYWlsLW9uLW5vbi1lbXB0eSAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0iCi0gICAgcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgIiR7RH0ke2RhdGFkaXJ9L2phdmEiCi0gICAgaWYgWyAhIC1kICIke0R9JHtzeXNjb25mZGlyfS9pbml0LmQiIF07IHRoZW4KLSAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKLSAgICAgICAgaW5zdGFsbCAtbSAwNzU1ICR7Qn0vb3NhZi9zZXJ2aWNlcy9pbmZyYXN0cnVjdHVyZS9uaWQvc2NyaXB0cy9vcGVuc2FmZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvCi0gICAgZmkKLX0KLQotRklMRVNfJHtQTn0gKz0gIiR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vKi5zZXJ2aWNlIgotRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke1BLR0xJQkRJUn0vKi5hIgotCi1JTlNBTkVfU0tJUF8ke1BOfSA9ICJkZXYtc28iCi0KLVJERVBFTkRTXyR7UE59ICs9ICJiYXNoIHB5dGhvbiIKLQotIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMTg2OTcwLwotRVhDTFVERV9GUk9NX1dPUkxEX2xpYmMtbXVzbCA9ICIxIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9vcGVuc2FmL29wZW5zYWZfNS4xOC4wOS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvb3BlbnNhZi9vcGVuc2FmXzUuMTguMDkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjFhZWRjNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvb3BlbnNhZi9vcGVuc2FmXzUuMTguMDkuYmIKQEAgLTAsMCArMSw3NSBAQAorU1VNTUFSWSA9ICJPcGVuU0FGIGlzIGFuIG9wZW4gc291cmNlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBTQUYgQUlTIHNwZWNpZmljYXRpb24iCitERVNDUklQVElPTiA9ICJPcGVuU0FGIGlzIGFuIG9wZW4gc291cmNlIHByb2plY3QgZXN0YWJsaXNoZWQgdG8gZGV2ZWxvcCBhIGJhc2UgcGxhdGZvcm0gXAorbWlkZGxld2FyZSBjb25zaXN0ZW50IHdpdGggU2VydmljZSBBdmFpbGFiaWxpdHkgRm9ydW0gKFNBIEZvcnVtKSBcCitzcGVjaWZpY2F0aW9ucywgdW5kZXIgdGhlIExHUEx2Mi4xIGxpY2Vuc2UuIFRoZSBPcGVuU0FGIEZvdW5kYXRpb24gd2FzIFwKK2VzdGFibGlzaGVkIGJ5IGxlYWRpbmcgQ29tbXVuaWNhdGlvbnMgYW5kIEVudGVycHJpc2UgQ29tcHV0aW5nIENvbXBhbmllcyB0byBcCitmYWNpbGl0YXRlIHRoZSBPcGVuU0FGIFByb2plY3QgYW5kIHRvIGFjY2VsZXJhdGUgdGhlIGFkb3B0aW9uIG9mIHRoZSBPcGVuU0FGIFwKK2NvZGUgYmFzZSBpbiBjb21tZXJjaWFsIHByb2R1Y3RzLiBcCitUaGUgT3BlblNBRiBwcm9qZWN0IHdhcyBsYXVuY2hlZCBpbiBtaWQgMjAwNyBhbmQgaGFzIGJlZW4gdW5kZXIgZGV2ZWxvcG1lbnQgYnkgXAorYW4gaW5mb3JtYWwgZ3JvdXAgb2Ygc3VwcG9ydGVycyBvZiB0aGUgT3BlblNBRiBpbml0aWF0aXZlLiBUaGUgT3BlblNBRiBcCitGb3VuZGF0aW9uIHdhcyBmb3VuZGVkIG9uIEphbnVhcnkgMjJuZCAyMDA4IHdpdGggRW1lcnNvbiBOZXR3b3JrIFBvd2VyLCBcCitFcmljc3NvbiwgTm9raWEgU2llbWVucyBOZXR3b3JrcywgSFAgYW5kIFN1biBNaWNyb3N5c3RlbXMgYXMgZm91bmRpbmcgbWVtYmVycy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm9wZW5zYWYub3JnIgorU0VDVElPTiA9ICJhZG1pbiIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9YTkxNjQ2N2I5MTA3NmU2MzFkZDhlZGI3NDI0NzY5YzciCisKK0RFUEVORFMgPSAibGlieG1sMiBweXRob24iCitUT09MQ0hBSU4gPSAiZ2NjIgorCitTRUNVUklUWV9DRkxBR1MgPSAiJHtTRUNVUklUWV9OT19QSUVfQ0ZMQUdTfSIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vJHtCUE59L3JlbGVhc2VzLyR7QlBOfS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUtUGFzcy1saW5rZXItc3BlY2lmaWMtb3B0aW9ucy13aXRoLVdsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLURpc2FibGUtZm9ybWF0LW92ZXJmbG93LWlmLXN1cHBvcnRlZC1ieS1nYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXNyYy1BZGQtbWlzc2luZy1oZWFkZXItbGltaXRzLmgtZm9yLV9QT1NJWF9IT1NUX05BTUUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1pbW1wYmVfZHVtcC5jYy1Vc2Utc3lzLXdhaXQuaC1pbnN0ZWFkLW9mLXdhaXQuaC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUNhdGNoLXN0ZC1pZnN0cmVhbS1mYWlsdXJlLWJ5LXJlZmVyZW5jZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLUZpeC1mb3JtYXQtdHJ1bmNhdGlvbi1lcnJvcnMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtc3RyaW5nLW92ZXJmbG93LWluLXNucHJpbnRmLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDgtY2hlY2stZm9yLXNpemUtYmVmb3JlLXVzaW5nLXN0cm5jcHkucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiNDUwNDRmZGUwYjM1ZWFjMDU3YTVmYTA1YzI3YjgwNDAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjMwYTBlYTYyOGJhMjc4MTcwYTkxMzc0NmMzOWIyYzhjZDUyOWQ3ZGMyNTMyNmIyZTE3YjVjMDk1Y2Y5NDAyNSIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXNlcmFkZCBzeXN0ZW1kIHBrZ2NvbmZpZworCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorR1JPVVBBRERfUEFSQU1fJHtQTn0gPSAiLWYgLXIgb3BlbnNhZiIKK1VTRVJBRERfUEFSQU1fJHtQTn0gPSAgIi1yIC1nIG9wZW5zYWYgLWQgJHtkYXRhZGlyfS9vcGVuc2FmLyAtcyAke3NiaW5kaXJ9L25vbG9naW4gLWMgXCJPcGVuU0FGXCIgb3BlbnNhZiIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ICs9ICJvcGVuc2FmZC5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIiwsc3lzdGVtZCIKK1BBQ0tBR0VDT05GSUdbb3BlbmhwaV0gPSAiLS13aXRoLWhwaS1pbnRlcmZhY2U9QjAzLCxvcGVuaHBpIgorUEFDS0FHRUNPTkZJR1twbG1dID0gIi0tZW5hYmxlLWFpcy1wbG0sLS1kaXNhYmxlLWFpcy1wbG0sbGlidmlydCBvcGVuaHBpIgorCitQQUNLQUdFQ09ORklHID89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAnIHN5c3RlbWQnLCAnJywgZCl9IgorCitQS0dMSUJESVI9IiR7bGliZGlyfSIKK0NQUEZMQUdTICs9ICItV25vLWVycm9yPXN0cmluZ29wLW92ZXJmbG93PSAtV25vLWVycm9yPXN0cmluZ29wLXRydW5jYXRpb24iCitDWFhGTEFHUyArPSAiLVduby1lcnJvcj1zdHJpbmdvcC1vdmVyZmxvdz0gLVduby1lcnJvcj1zdHJpbmdvcC10cnVuY2F0aW9uIC1Xbm8tZXJyb3I9Zm9ybWF0LXRydW5jYXRpb249IgorTERGTEFHUyArPSAiLVdsLC0tYXMtbmVlZGVkIC1sYXRvbWljIC1XbCwtLW5vLWFzLW5lZWRlZCIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgY3AgLWF2IC0tbm8tcHJlc2VydmU9b3duZXJzaGlwICR7Qn0vbGliLy5saWJzLyouc28qICR7RH0ke2xpYmRpcn0KKyAgICBybSAtZnIgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xvY2siCisgICAgcm0gLWZyICIke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4iCisgICAgcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9IgorICAgIHJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICIke0R9JHtkYXRhZGlyfS9qYXZhIgorICAgIGlmIFsgISAtZCAiJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kIiBdOyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgICAgIGluc3RhbGwgLW0gMDc1NSAke0J9L29zYWYvc2VydmljZXMvaW5mcmFzdHJ1Y3R1cmUvbmlkL3NjcmlwdHMvb3BlbnNhZmQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kLworICAgIGZpCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLyouc2VydmljZSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtQS0dMSUJESVJ9LyouYSIKKworSU5TQU5FX1NLSVBfJHtQTn0gPSAiZGV2LXNvIgorCitSREVQRU5EU18ke1BOfSArPSAiYmFzaCBweXRob24iCisKKyMgaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzE4Njk3MC8KK0VYQ0xVREVfRlJPTV9XT1JMRF9saWJjLW11c2wgPSAiMSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9maWxlcy9saW51eF81LngucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Bvc3RmaXgvZmlsZXMvbGludXhfNS54LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiYjgxMWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Bvc3RmaXgvZmlsZXMvbGludXhfNS54LnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK1JlY29nbmlzZSBrZXJuZWwgNS54IHZlcnNpb25pbmcgc2NoZW1lCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworLS0tIGEvbWFrZWRlZnMKKysrKyBiL21ha2VkZWZzCitAQCAtNTQzLDcgKzU0Myw3IEBAIEVPRgorIAkJOiAke1NITElCX0VOVj0iTERfTElCUkFSWV9QQVRIPWBwd2RgL2xpYiJ9CisgCQk6ICR7UExVR0lOX0xEPSIke0NDLWdjY30gLXNoYXJlZCJ9CisgCQk7OworLSAgTGludXguWzM0XS4qKQlTWVNUWVBFPUxJTlVYJFJFTEVBU0VfTUFKT1IKKysgIExpbnV4LlszNDVdLiopCVNZU1RZUEU9TElOVVgkUkVMRUFTRV9NQUpPUgorIAkJY2FzZSAiJENDQVJHUyIgaW4KKyAJCSAqLUROT19EQiopIDs7CisgCQkgKi1ESEFTX0RCKikgOzsKKy0tLSBhL3NyYy91dGlsL3N5c19kZWZzLmgKKysrKyBiL3NyYy91dGlsL3N5c19kZWZzLmgKK0BAIC03NDksNyArNzQ5LDcgQEAgZXh0ZXJuIGludCBpbml0Z3JvdXBzKGNvbnN0IGNoYXIgKiwgaW50KQorICAvKgorICAgKiBMSU5VWC4KKyAgICovCistI2lmIGRlZmluZWQoTElOVVgyKSB8fCBkZWZpbmVkKExJTlVYMykgfHwgZGVmaW5lZChMSU5VWDQpCisrI2lmIGRlZmluZWQoTElOVVgyKSB8fCBkZWZpbmVkKExJTlVYMykgfHwgZGVmaW5lZChMSU5VWDQpIHx8IGRlZmluZWQoTElOVVg1KQorICNkZWZpbmUgU1VQUE9SVEVECisgI2RlZmluZSBVSU5UMzJfVFlQRQl1bnNpZ25lZCBpbnQKKyAjZGVmaW5lIFVJTlQxNl9UWVBFCXVuc2lnbmVkIHNob3J0CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Bvc3RmaXgvcG9zdGZpeF8zLjMuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9wb3N0Zml4XzMuMy4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NzE4YjdlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9wb3N0Zml4XzMuMy4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotcmVxdWlyZSBwb3N0Zml4LmluYwotCi1TUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1tYWtlZGVmcy1Vc2UtbmF0aXZlLWNvbXBpbGVyLXRvLWJ1aWxkLW1ha2VkZWZzLnRlc3QucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL3Bvc3RmaXgtaW5zdGFsbC5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vaWN1LWNvbmZpZy5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1tYWtlZGVmcy1hZGQtbG5zbC1hbmQtbHJlc29sdi10by1TWVNMSUJTLWJ5LWRlZmF1bHQucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI0MzgxYzY0OTJmNDE1ZTRhNjljZjUwOTlkNGFjZWE3NiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI1NGY1MTRkYWU0MmI1Mjc1Y2I0YmM5YzY5MjgzZjE2YzA2MjAwYjcxODEzZDBiYjY5NjU2OGM0YmE3YWU3ZTNiIgotCi1VUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJwb3N0Zml4XC0oP1A8cHZlcj4zXC4zKFwuXGQrKSspLnRhci5neiIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9wb3N0Zml4XzMuNC4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wb3N0Zml4L3Bvc3RmaXhfMy40LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzMzODBkOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9wb3N0Zml4XzMuNC4xLmJiCkBAIC0wLDAgKzEsMTIgQEAKK3JlcXVpcmUgcG9zdGZpeC5pbmMKKworU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtbWFrZWRlZnMtVXNlLW5hdGl2ZS1jb21waWxlci10by1idWlsZC1tYWtlZGVmcy50ZXN0LnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9wb3N0Zml4LWluc3RhbGwucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL2ljdS1jb25maWcucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtbWFrZWRlZnMtYWRkLWxuc2wtYW5kLWxyZXNvbHYtdG8tU1lTTElCUy1ieS1kZWZhdWx0LnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9saW51eF81LngucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiZDI5MmJiNDlhMWM3OWZmNmQyZWI5YzVlODhjNTE0MjUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGM5NzYzZjdhOGVjNzBkNDk5MjU3YjdmMjViYjUwZTFmM2RhOGE0YzQzZTU5ODI2YmE4YTI2YzRhNzc4ZDBjZSIKKworVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAicG9zdGZpeFwtKD9QPHB2ZXI+M1wuMyhcLlxkKykrKS50YXIuZ3oiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3JhZHZkL3JhZHZkXzIuMTcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3JhZHZkL3JhZHZkXzIuMTcuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRiYWVhMDEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9yYWR2ZC9yYWR2ZF8yLjE3LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi0KLXJlcXVpcmUgcmFkdmQuaW5jCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI2NGVlM2ZkYjU1NDRiY2RkZWYxYzZjZDgwZDc3ZmEwYSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI1Mzc1N2U3ZjIxNjQ4OTllMTE0NTQ4MmYxYWU5MTgyOTYwMGE2ZTJmNmZlYzI5Y2ZiM2IzNTBhM2JiNDViZDVkIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9yYWR2ZC9yYWR2ZF8yLjE4LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9yYWR2ZC9yYWR2ZF8yLjE4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwOTdiMjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3JhZHZkL3JhZHZkXzIuMTguYmIKQEAgLTAsMCArMSw1IEBACisKK3JlcXVpcmUgcmFkdmQuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyNmVhZDNhMGQ1Y2ZiZTRjODFjMzA4OWVhZjdiMzI1MCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0ZjU3M2UzNmI5NmJhOTJkMDNiNWFiYmJkNWYwNTliOWM4OTk0OTY3ODEyYzc3ODUyZjQ0MDQ5YWM1YTQ0OGZkIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9zcXVpZC9zcXVpZF8zLjUuMjcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL3NxdWlkXzMuNS4yNy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTU1N2M0Yi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL3NxdWlkXzMuNS4yNy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDExNSArMCwwIEBACi1TVU1NQVJZID0gIkEgZnVsbHktZmVhdHVyZWQgaHR0cCBwcm94eSBhbmQgd2ViLWNhY2hlIGRhZW1vbiBmb3IgTGludXgiCi1ERVNDUklQVElPTiA9ICJBIGZ1bGx5LWZlYXR1cmVkIGh0dHAgcHJveHkgYW5kIHdlYi1jYWNoZSBkYWVtb24gZm9yIExpbnV4LiBcCi1TcXVpZCBvZmZlcnMgYSByaWNoIGFjY2VzcyBjb250cm9sLCBhdXRob3JpemF0aW9uIGFuZCBsb2dnaW5nIGVudmlyb25tZW50IHRvIFwKLWRldmVsb3Agd2ViIHByb3h5IGFuZCBjb250ZW50IHNlcnZpbmcgYXBwbGljYXRpb25zLiBcCi1TcXVpZCBvZmZlcnMgYSByaWNoIHNldCBvZiB0cmFmZmljIG9wdGltaXphdGlvbiBvcHRpb25zLCBtb3N0IG9mIHdoaWNoIGFyZSBcCi1lbmFibGVkIGJ5IGRlZmF1bHQgZm9yIHNpbXBsZXIgaW5zdGFsbGF0aW9uIGFuZCBoaWdoIHBlcmZvcm1hbmNlLiBcCi0iCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LnNxdWlkLWNhY2hlLm9yZyIKLVNFQ1RJT04gPSAid2ViIgotTElDRU5TRSA9ICJHUEx2MisiCi0KLU1BSl9WRVIgPSAiJHtAb2UudXRpbHMudHJpbV92ZXJzaW9uKCIke1BWfSIsIDEpfSIKLU1JTl9WRVIgPSAiJHtAb2UudXRpbHMudHJpbV92ZXJzaW9uKCIke1BWfSIsIDIpfSIKLQotU1JDX1VSSSA9ICJodHRwOi8vd3d3LnNxdWlkLWNhY2hlLm9yZy9WZXJzaW9ucy92JHtNQUpfVkVSfS8ke01JTl9WRVJ9LyR7QlBOfS0ke1BWfS50YXIuYnoyIFwKLSAgICAgICAgICAgZmlsZTovL1NldC11cC1mb3ItY3Jvc3MtY29tcGlsYXRpb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vU2tpcC1BQ19SVU5fSUZFTFNFLXRlc3RzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0ZpeC1mbGF3ZWQtZHluYW1pYy1sZGItbGluay10ZXN0LWluLWNvbmZpZ3VyZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9zcXVpZC11c2Utc2VyaWFsLXRlc3RzLWNvbmZpZy1uZWVkZWQtYnktcHRlc3QucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgZmlsZTovL3ZvbGF0aWxlcy4wM19zcXVpZCBcCi0gICAgICAgICAgIGZpbGU6Ly9zZXRfc3lzcm9vdF9wYXRjaC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9zcXVpZC1kb24tdC1kby1zcXVpZC1jb25mLXRlc3RzLWF0LWJ1aWxkLXRpbWUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUtQ2hlY2stZm9yLVduby1lcnJvci1mb3JtYXQtdHJ1bmNhdGlvbi1jb21wLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtdG9vbHMuY2MtZml4ZWQtdW51c2VkLXJlc3VsdC13YXJuaW5nLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtQnVnLTQ4NDMtcHQxLWV4dF9lZGlyZWN0b3J5X3VzZXJpcF9hY2wtcmVmYWN0b3JpbmctZi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLXNtYmxpYi1maXgtYnVmZmVyLW92ZXItcmVhZC5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSV9yZW1vdmVfdG9vbGNoYWluLWNsYW5nID0gImZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS1DaGVjay1mb3ItV25vLWVycm9yLWZvcm1hdC10cnVuY2F0aW9uLWNvbXAucGF0Y2giCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJjMTdhM2VkM2E0MGNkNTljMjNmNDhiODUzOWRhZmNkOCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI0NjdkYTEzNGVhZjBmNzk2MmJhNTg4MTc5M2QxMDY3NzJmYjA1ZmVmYTRhZWE3ZDk1NjllZWMwNDEyYzUyNDMzIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jNDkyZTJkNmQzMmVjNWMxYWFkMGUwNjA5YTE0MWNlOSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9lcnJvcnMvQ09QWVJJR0hUO21kNT04ODYxMTMwZmFlOTE0MDBiY2Y5OWI2NmYxMzMxNzJiMyBcCi0gICAgICAgICAgICAgICAgICAgIgotREVQRU5EUyA9ICJsaWJ0b29sIGtyYjUgb3BlbmxkYXAgZGIgY3lydXMtc2FzbCBvcGVuc3NsIGV4cGF0IGxpYnhtbDIiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyB1c2VyYWRkIHB0ZXN0IHBlcmxuYXRpdmUKLQotVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSIKLVVTRVJBRERfUEFSQU1fJHtQTn0gPSAiLS1zeXN0ZW0gLS1uby1jcmVhdGUtaG9tZSAtLWhvbWUtZGlyIC92YXIvcnVuL3NxdWlkIC0tc2hlbGwgL2Jpbi9mYWxzZSAtLXVzZXItZ3JvdXAgc3F1aWQiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnVEFSR0VUX0FSQ0gnLCAncG93ZXJwYycsICdub2F0b21pY3MnLCAnJywgZCl9IFwKLSAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnVEFSR0VUX0FSQ0gnLCAnbWlwcycsICdub2F0b21pY3MnLCAnJywgZCl9IFwKLSAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnVEFSR0VUX0FSQ0gnLCAnbWlwc2VsJywgJ25vYXRvbWljcycsICcnLCBkKX0gXAotICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0gXAotICAgICAgICAgICAgICAgICAgIgotUEFDS0FHRUNPTkZJR1tsaWJuZXRmaWx0ZXItY29ubnRyYWNrXSA9ICItLXdpdGgtbmV0ZmlsdGVyLWNvbm50cmFjaz0ke2luY2x1ZGVkaXJ9LCAtLXdpdGhvdXQtbmV0ZmlsdGVyLWNvbm50cmFjaywgbGlibmV0ZmlsdGVyLWNvbm50cmFjayIKLVBBQ0tBR0VDT05GSUdbbm9hdG9taWNzXSA9ICJzcXVpZF9jdl9nbnVfYXRvbWljcz1ubyxzcXVpZF9jdl9nbnVfYXRvbWljcz15ZXMsLCIKLVBBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiwiCi1QQUNLQUdFQ09ORklHW3dlcnJvcl0gPSAiLS1lbmFibGUtc3RyaWN0LWVycm9yLWNoZWNraW5nLC0tZGlzYWJsZS1zdHJpY3QtZXJyb3ItY2hlY2tpbmcsIgotCi1CQVNJQ19BVVRIID0gIkRCIFNBU0wgTERBUCIKLQotREVQRU5EUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnbGlicGFtJywgJycsIGQpfSIKLUJBU0lDX0FVVEggKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ1BBTScsICcnLCBkKX0iCi0KLUVYVFJBX09FQ09ORiArPSAiLS13aXRoLWRlZmF1bHQtdXNlcj1zcXVpZCAtLWVuYWJsZS1hdXRoLWJhc2ljPScke0JBU0lDX0FVVEh9JyBcCi0gICAgICAgICAgICAgICAgIC0tc3lzY29uZmRpcj0ke3N5c2NvbmZkaXJ9LyR7QlBOfSBcCi0gICAgICAgICAgICAgICAgIC0td2l0aC1sb2dkaXI9JHtsb2NhbHN0YXRlZGlyfS9sb2cvJHtCUE59IFwKLSAgICAgICAgICAgICAgICAgJ1BFUkw9JHtVU1JCSU5QQVRIfS9lbnYgcGVybCciCi0KLWV4cG9ydCBCVUlMRENYWEZMQUdTPSIke0JVSUxEX0NYWEZMQUdTfSIKLQotVEVTVERJUiA9ICJ0ZXN0LXN1aXRlIgotCi1kb19jb25maWd1cmVfcHJlcGVuZCgpIHsKLSAgICBleHBvcnQgU1lTUk9PVD0kUEtHX0NPTkZJR19TWVNST09UX0RJUgotfQotCi1kb19jb21waWxlX3B0ZXN0KCkgewotICAgIG9lX3J1bm1ha2UgLUMgJHtURVNURElSfSBidWlsZHRlc3QtVEVTVFMKLX0KLQotZG9faW5zdGFsbF9wdGVzdCgpIHsKLSAgICBjcCAtcmYgJHtCfS8ke1RFU1RESVJ9ICR7RH0ke1BURVNUX1BBVEh9Ci0gICAgY3AgLXJmICR7U30vJHtURVNURElSfSAke0R9JHtQVEVTVF9QQVRIfQotCi0gICAgIyBkbyBOT1QgbmVlZCB0byByZWJ1aWxkIE1ha2VmaWxlIGl0c2VsZgotICAgIHNlZCAtaSAncy9eTWFrZWZpbGU6LiokL01ha2VmaWxlOi8nICR7RH0ke1BURVNUX1BBVEh9LyR7VEVTVERJUn0vTWFrZWZpbGUKLQotICAgICMgQWRkIHNxdWlkLWNvbmYtdGVzdHMgZm9yIHJ1bnRpbWUgdGVzdHMKLSAgICBzZWQgLWUgJ3MvXlwocnVudGVzdC1URVNUUzpcKS9cMSBzcXVpZC1jb25mLXRlc3RzLycgXAotICAgICAgICAtZSAicy9cKGxpc3Q9JyBcJChURVNUUylcKS9cMSBzcXVpZC1jb25mLXRlc3RzLyIgXAotICAgICAgICAtaSAke0R9JHtQVEVTVF9QQVRIfS8ke1RFU1RESVJ9L01ha2VmaWxlCi0KLSAgICAjIEVuc3VyZSB0aGUgcGF0aCBmb3IgY29tbWFuZCB0cnVlIGlzIGNvcnJlY3QKLSAgICBzZWQgLWkgJ3M6XlRSVUUgPSAuKiQ6VFJVRSA9IC9iaW4vdHJ1ZTonICR7RH0ke1BURVNUX1BBVEh9LyR7VEVTVERJUn0vTWFrZWZpbGUKLX0KLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KLSAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kCi0gICAgICAgIGVjaG8gImQgJHtsb2NhbHN0YXRlZGlyfS9ydW4vJHtCUE59IDA3NTUgc3F1aWQgc3F1aWQgLSIgPj4gJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC8ke0JQTn0uY29uZgotICAgICAgICBlY2hvICJkICR7bG9jYWxzdGF0ZWRpcn0vbG9nLyR7QlBOfSAwNzUwIHNxdWlkIHNxdWlkIC0iID4+ICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvJHtCUE59LmNvbmYKLSAgICBmaQotCi0gICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcwotICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3ZvbGF0aWxlcy4wM19zcXVpZCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcy8wM19zcXVpZAotCi0gICAgcm1kaXIgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bi8ke0JQTn0iCi0gICAgcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1biIKLQotICAgIHJtZGlyICIke0R9JHtsb2NhbHN0YXRlZGlyfS9sb2cvJHtCUE59IgotICAgIHJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICIke0R9JHtsb2NhbHN0YXRlZGlyfS9sb2ciCi19Ci0KLUZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0gJHtkYXRhZGlyfS9lcnJvcnMgJHtkYXRhZGlyfS9pY29ucyIKLUZJTEVTXyR7UE59LWRiZyArPSAiL3Vzci9zcmMvZGVidWciCi1GSUxFU18ke1BOfS1kb2MgKz0gIiR7ZGF0YWRpcn0vKi50eHQiCi0KLVJERVBFTkRTXyR7UE59ICs9ICJwZXJsIgotUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIm1ha2UiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL3NxdWlkXzMuNS4yOC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvc3F1aWQvc3F1aWRfMy41LjI4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUzM2MxYjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL3NxdWlkXzMuNS4yOC5iYgpAQCAtMCwwICsxLDExNSBAQAorU1VNTUFSWSA9ICJBIGZ1bGx5LWZlYXR1cmVkIGh0dHAgcHJveHkgYW5kIHdlYi1jYWNoZSBkYWVtb24gZm9yIExpbnV4IgorREVTQ1JJUFRJT04gPSAiQSBmdWxseS1mZWF0dXJlZCBodHRwIHByb3h5IGFuZCB3ZWItY2FjaGUgZGFlbW9uIGZvciBMaW51eC4gXAorU3F1aWQgb2ZmZXJzIGEgcmljaCBhY2Nlc3MgY29udHJvbCwgYXV0aG9yaXphdGlvbiBhbmQgbG9nZ2luZyBlbnZpcm9ubWVudCB0byBcCitkZXZlbG9wIHdlYiBwcm94eSBhbmQgY29udGVudCBzZXJ2aW5nIGFwcGxpY2F0aW9ucy4gXAorU3F1aWQgb2ZmZXJzIGEgcmljaCBzZXQgb2YgdHJhZmZpYyBvcHRpbWl6YXRpb24gb3B0aW9ucywgbW9zdCBvZiB3aGljaCBhcmUgXAorZW5hYmxlZCBieSBkZWZhdWx0IGZvciBzaW1wbGVyIGluc3RhbGxhdGlvbiBhbmQgaGlnaCBwZXJmb3JtYW5jZS4gXAorIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5zcXVpZC1jYWNoZS5vcmciCitTRUNUSU9OID0gIndlYiIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorCitNQUpfVkVSID0gIiR7QG9lLnV0aWxzLnRyaW1fdmVyc2lvbigiJHtQVn0iLCAxKX0iCitNSU5fVkVSID0gIiR7QG9lLnV0aWxzLnRyaW1fdmVyc2lvbigiJHtQVn0iLCAyKX0iCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5zcXVpZC1jYWNoZS5vcmcvVmVyc2lvbnMvdiR7TUFKX1ZFUn0vJHtNSU5fVkVSfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9TZXQtdXAtZm9yLWNyb3NzLWNvbXBpbGF0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL1NraXAtQUNfUlVOX0lGRUxTRS10ZXN0cy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9GaXgtZmxhd2VkLWR5bmFtaWMtbGRiLWxpbmstdGVzdC1pbi1jb25maWd1cmUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc3F1aWQtdXNlLXNlcmlhbC10ZXN0cy1jb25maWctbmVlZGVkLWJ5LXB0ZXN0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIGZpbGU6Ly92b2xhdGlsZXMuMDNfc3F1aWQgXAorICAgICAgICAgICBmaWxlOi8vc2V0X3N5c3Jvb3RfcGF0Y2gucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc3F1aWQtZG9uLXQtZG8tc3F1aWQtY29uZi10ZXN0cy1hdC1idWlsZC10aW1lLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLUNoZWNrLWZvci1Xbm8tZXJyb3ItZm9ybWF0LXRydW5jYXRpb24tY29tcC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXRvb2xzLmNjLWZpeGVkLXVudXNlZC1yZXN1bHQtd2FybmluZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUJ1Zy00ODQzLXB0MS1leHRfZWRpcmVjdG9yeV91c2VyaXBfYWNsLXJlZmFjdG9yaW5nLWYucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1zbWJsaWItZml4LWJ1ZmZlci1vdmVyLXJlYWQucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklfcmVtb3ZlX3Rvb2xjaGFpbi1jbGFuZyA9ICJmaWxlOi8vMDAwMS1jb25maWd1cmUtQ2hlY2stZm9yLVduby1lcnJvci1mb3JtYXQtdHJ1bmNhdGlvbi1jb21wLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNGFlM2Y2Mjc3YjNhYTYzODZjYjVhZDJkOTU0MTc5YzIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTE5NzFiZmUzYzEzZjQzOGU0MjU2OWVhNTUxMjA2Y2FmNjhlY2FhOTY4MzA1YzMwZjdiNDIyYjU1NmViYzdhYyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YzQ5MmUyZDZkMzJlYzVjMWFhZDBlMDYwOWExNDFjZTkgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZXJyb3JzL0NPUFlSSUdIVDttZDU9MWMwNzgxZTJlY2QzMDUxYzc2NWQ1MjU1NzJkZWZiYzcgXAorICAgICAgICAgICAgICAgICAgICIKK0RFUEVORFMgPSAibGlidG9vbCBrcmI1IG9wZW5sZGFwIGRiIGN5cnVzLXNhc2wgb3BlbnNzbCBleHBhdCBsaWJ4bWwyIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgdXNlcmFkZCBwdGVzdCBwZXJsbmF0aXZlCisKK1VTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCitVU0VSQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIC0tbm8tY3JlYXRlLWhvbWUgLS1ob21lLWRpciAvdmFyL3J1bi9zcXVpZCAtLXNoZWxsIC9iaW4vZmFsc2UgLS11c2VyLWdyb3VwIHNxdWlkIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RBUkdFVF9BUkNIJywgJ3Bvd2VycGMnLCAnbm9hdG9taWNzJywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1RBUkdFVF9BUkNIJywgJ21pcHMnLCAnbm9hdG9taWNzJywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1RBUkdFVF9BUkNIJywgJ21pcHNlbCcsICdub2F0b21pY3MnLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICIKK1BBQ0tBR0VDT05GSUdbbGlibmV0ZmlsdGVyLWNvbm50cmFja10gPSAiLS13aXRoLW5ldGZpbHRlci1jb25udHJhY2s9JHtpbmNsdWRlZGlyfSwgLS13aXRob3V0LW5ldGZpbHRlci1jb25udHJhY2ssIGxpYm5ldGZpbHRlci1jb25udHJhY2siCitQQUNLQUdFQ09ORklHW25vYXRvbWljc10gPSAic3F1aWRfY3ZfZ251X2F0b21pY3M9bm8sc3F1aWRfY3ZfZ251X2F0b21pY3M9eWVzLCwiCitQQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYsIgorUEFDS0FHRUNPTkZJR1t3ZXJyb3JdID0gIi0tZW5hYmxlLXN0cmljdC1lcnJvci1jaGVja2luZywtLWRpc2FibGUtc3RyaWN0LWVycm9yLWNoZWNraW5nLCIKKworQkFTSUNfQVVUSCA9ICJEQiBTQVNMIExEQVAiCisKK0RFUEVORFMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ2xpYnBhbScsICcnLCBkKX0iCitCQVNJQ19BVVRIICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdQQU0nLCAnJywgZCl9IgorCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aC1kZWZhdWx0LXVzZXI9c3F1aWQgLS1lbmFibGUtYXV0aC1iYXNpYz0nJHtCQVNJQ19BVVRIfScgXAorICAgICAgICAgICAgICAgICAtLXN5c2NvbmZkaXI9JHtzeXNjb25mZGlyfS8ke0JQTn0gXAorICAgICAgICAgICAgICAgICAtLXdpdGgtbG9nZGlyPSR7bG9jYWxzdGF0ZWRpcn0vbG9nLyR7QlBOfSBcCisgICAgICAgICAgICAgICAgICdQRVJMPSR7VVNSQklOUEFUSH0vZW52IHBlcmwnIgorCitleHBvcnQgQlVJTERDWFhGTEFHUz0iJHtCVUlMRF9DWFhGTEFHU30iCisKK1RFU1RESVIgPSAidGVzdC1zdWl0ZSIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgZXhwb3J0IFNZU1JPT1Q9JFBLR19DT05GSUdfU1lTUk9PVF9ESVIKK30KKworZG9fY29tcGlsZV9wdGVzdCgpIHsKKyAgICBvZV9ydW5tYWtlIC1DICR7VEVTVERJUn0gYnVpbGR0ZXN0LVRFU1RTCit9CisKK2RvX2luc3RhbGxfcHRlc3QoKSB7CisgICAgY3AgLXJmICR7Qn0vJHtURVNURElSfSAke0R9JHtQVEVTVF9QQVRIfQorICAgIGNwIC1yZiAke1N9LyR7VEVTVERJUn0gJHtEfSR7UFRFU1RfUEFUSH0KKworICAgICMgZG8gTk9UIG5lZWQgdG8gcmVidWlsZCBNYWtlZmlsZSBpdHNlbGYKKyAgICBzZWQgLWkgJ3MvXk1ha2VmaWxlOi4qJC9NYWtlZmlsZTovJyAke0R9JHtQVEVTVF9QQVRIfS8ke1RFU1RESVJ9L01ha2VmaWxlCisKKyAgICAjIEFkZCBzcXVpZC1jb25mLXRlc3RzIGZvciBydW50aW1lIHRlc3RzCisgICAgc2VkIC1lICdzL15cKHJ1bnRlc3QtVEVTVFM6XCkvXDEgc3F1aWQtY29uZi10ZXN0cy8nIFwKKyAgICAgICAgLWUgInMvXChsaXN0PScgXCQoVEVTVFMpXCkvXDEgc3F1aWQtY29uZi10ZXN0cy8iIFwKKyAgICAgICAgLWkgJHtEfSR7UFRFU1RfUEFUSH0vJHtURVNURElSfS9NYWtlZmlsZQorCisgICAgIyBFbnN1cmUgdGhlIHBhdGggZm9yIGNvbW1hbmQgdHJ1ZSBpcyBjb3JyZWN0CisgICAgc2VkIC1pICdzOl5UUlVFID0gLiokOlRSVUUgPSAvYmluL3RydWU6JyAke0R9JHtQVEVTVF9QQVRIfS8ke1RFU1RESVJ9L01ha2VmaWxlCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZAorICAgICAgICBlY2hvICJkICR7bG9jYWxzdGF0ZWRpcn0vcnVuLyR7QlBOfSAwNzU1IHNxdWlkIHNxdWlkIC0iID4+ICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvJHtCUE59LmNvbmYKKyAgICAgICAgZWNobyAiZCAke2xvY2Fsc3RhdGVkaXJ9L2xvZy8ke0JQTn0gMDc1MCBzcXVpZCBzcXVpZCAtIiA+PiAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kLyR7QlBOfS5jb25mCisgICAgZmkKKworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS92b2xhdGlsZXMuMDNfc3F1aWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvMDNfc3F1aWQKKworICAgIHJtZGlyICIke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4vJHtCUE59IgorICAgIHJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICIke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4iCisKKyAgICBybWRpciAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbG9nLyR7QlBOfSIKKyAgICBybWRpciAtLWlnbm9yZS1mYWlsLW9uLW5vbi1lbXB0eSAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbG9nIgorfQorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9ICR7ZGF0YWRpcn0vZXJyb3JzICR7ZGF0YWRpcn0vaWNvbnMiCitGSUxFU18ke1BOfS1kYmcgKz0gIi91c3Ivc3JjL2RlYnVnIgorRklMRVNfJHtQTn0tZG9jICs9ICIke2RhdGFkaXJ9LyoudHh0IgorCitSREVQRU5EU18ke1BOfSArPSAicGVybCIKK1JERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICJtYWtlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvdnNmdHBkLTMuMC4zLzAwMDEtdnNmdHBkLWFsbG93LXN5c2NhbGxzLWluLXRoZS1zZWNjb21wLXNhbmRib3gucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC92c2Z0cGQtMy4wLjMvMDAwMS12c2Z0cGQtYWxsb3ctc3lzY2FsbHMtaW4tdGhlLXNlY2NvbXAtc2FuZGJveC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTczYzk2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvdnNmdHBkLTMuMC4zLzAwMDEtdnNmdHBkLWFsbG93LXN5c2NhbGxzLWluLXRoZS1zZWNjb21wLXNhbmRib3gucGF0Y2gKQEAgLTAsMCArMSw0NiBAQAorRnJvbSBkZDM1MzMwM2Y2MmQxZGZlMzJjYjAwMGU0ODI2MTZiMDIxNzA4ZmJlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWluZ2xpIFl1IDxtaW5nbGkueXVAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFRodSwgMjkgTm92IDIwMTggMDA6NDc6MzQgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gdnNmdHBkOiBhbGxvdyBzeXNjYWxscyBpbiB0aGUgc2VjY29tcCBzYW5kYm94CisKKyogQWxsb3cgc3lzaW5mbygpIGFuZCBnZXRkZW50czY0IGluIHRoZSBzZWNjb21wCisgIHNhbmRib3ggb3RoZXJ3aXNlIGNvbWVzIGJlbG93IE9PUFM6IHByaXZfc29ja19nZXRfY21kCisgIGFzIHRoZSBzeXNjYWxsIHN5c2luZm8oKSBhbmQgZ2V0ZGVudHM2NCBub3QgYWxsb3dlZAorCityb290QHFlbXV4ODYtNjQ6fiMgdG5mdHAgMTkyLjE2OC4xLjEKK0Nvbm5lY3RlZCB0byAxOTIuMTY4LjEuMS4KKzIyMCAodnNGVFBkIDMuMC4zKQorTmFtZSAoMTkyLjE2OC4xLjE6cm9vdCk6IGFub255bW91cworMzMxIFBsZWFzZSBzcGVjaWZ5IHRoZSBwYXNzd29yZC4KK1Bhc3N3b3JkOgorMjMwIExvZ2luIHN1Y2Nlc3NmdWwuCitSZW1vdGUgc3lzdGVtIHR5cGUgaXMgVU5JWC4KK1VzaW5nIGJpbmFyeSBtb2RlIHRvIHRyYW5zZmVyIGZpbGVzLgorZnRwPiBwcm9tcHQKK0ludGVyYWN0aXZlIG1vZGUgb2ZmLgorZnRwPiBtZ2V0IHNtYWxsKgorT09QUzogcHJpdl9zb2NrX2dldF9jbWQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IE1pbmdsaSBZdSA8bWluZ2xpLnl1QHdpbmRyaXZlci5jb20+CistLS0KKyBzZWNjb21wc2FuZGJveC5jIHwgMiArKworIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3NlY2NvbXBzYW5kYm94LmMgYi9zZWNjb21wc2FuZGJveC5jCitpbmRleCAyYzM1MGE5Li4zNzdjNTBlIDEwMDY0NAorLS0tIGEvc2VjY29tcHNhbmRib3guYworKysrIGIvc2VjY29tcHNhbmRib3guYworQEAgLTQwOSw2ICs0MDksOCBAQCBzZWNjb21wX3NhbmRib3hfc2V0dXBfcG9zdGxvZ2luKGNvbnN0IHN0cnVjdCB2c2Zfc2Vzc2lvbiogcF9zZXNzKQorICAgYWxsb3dfbnIoX19OUl9nZXRjd2QpOworICAgYWxsb3dfbnIoX19OUl9jaGRpcik7CisgICBhbGxvd19ucihfX05SX2dldGRlbnRzKTsKKysgIGFsbG93X25yKF9fTlJfZ2V0ZGVudHM2NCk7CisrICBhbGxvd19ucihfX05SX3N5c2luZm8pOworICAgLyogTWlzYyAqLworICAgYWxsb3dfbnIoX19OUl91bWFzayk7CisgCistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC92c2Z0cGQtMy4wLjMvMDAwMS12c2Z0cGQtYWxsb3ctc3lzaW5mby1pbi10aGUtc2VjY29tcC1zYW5kYm94LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvdnNmdHBkLTMuMC4zLzAwMDEtdnNmdHBkLWFsbG93LXN5c2luZm8taW4tdGhlLXNlY2NvbXAtc2FuZGJveC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzZjMGY4MC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC92c2Z0cGQtMy4wLjMvMDAwMS12c2Z0cGQtYWxsb3ctc3lzaW5mby1pbi10aGUtc2VjY29tcC1zYW5kYm94LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotRnJvbSA5YzQ4MjZjMTlmMDRkYTUzMzg4NjIwOTM2MWEyY2FkZGY1ODJkNjVjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWluZ2xpIFl1IDxNaW5nbGkuWXVAd2luZHJpdmVyLmNvbT4KLURhdGU6IFR1ZSwgNiBTZXAgMjAxNiAxNzoxNzo0NCArMDgwMAotU3ViamVjdDogW1BBVENIXSB2c2Z0cGQ6IGFsbG93IHN5c2luZm8oKSBpbiB0aGUgc2VjY29tcCBzYW5kYm94Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0qIEFsbG93IHN5c2luZm8oKSBpbiB0aGUgc2VjY29tcCBzYW5kYm94IG90aGVyd2lzZQotICBjb21lcyBiZWxvdyBPT1BTOiBwcml2X3NvY2tfZ2V0X2NtZCBhcyB0aGUgc3lzY2FsbAotICBzeXNpbmZvKCkgbm90IGFsbG93ZWQKLQotdG5mdHAgMTkyLjE2OC4xLjEKLUNvbm5lY3RlZCB0byAxOTIuMTY4LjEuMS4KLTIyMCAodnNGVFBkIDMuMC4zKQotTmFtZSAoMTkyLjE2OC4xLjE6cm9vdCk6IGFub255bW91cwotMzMxIFBsZWFzZSBzcGVjaWZ5IHRoZSBwYXNzd29yZC4KLVBhc3N3b3JkOgotMjMwIExvZ2luIHN1Y2Nlc3NmdWwuCi1SZW1vdGUgc3lzdGVtIHR5cGUgaXMgVU5JWC4KLVVzaW5nIGJpbmFyeSBtb2RlIHRvIHRyYW5zZmVyIGZpbGVzLgotZnRwPiBwcm9tcHQKLUludGVyYWN0aXZlIG1vZGUgb2ZmLgotZnRwPiBtZ2V0IHNtYWxsKgotT09QUzogcHJpdl9zb2NrX2dldF9jbWQKLQotU2lnbmVkLW9mZi1ieTogTWluZ2xpIFl1IDxNaW5nbGkuWXVAd2luZHJpdmVyLmNvbT4KLQotLS0tCi0gc2VjY29tcHNhbmRib3guYyB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvc2VjY29tcHNhbmRib3guYyBiL3NlY2NvbXBzYW5kYm94LmMKLWluZGV4IDJjMzUwYTkuLjY3ZDljYTUgMTAwNjQ0Ci0tLS0gYS9zZWNjb21wc2FuZGJveC5jCi0rKysgYi9zZWNjb21wc2FuZGJveC5jCi1AQCAtNDA5LDYgKzQwOSw3IEBAIHNlY2NvbXBfc2FuZGJveF9zZXR1cF9wb3N0bG9naW4oY29uc3Qgc3RydWN0IHZzZl9zZXNzaW9uKiBwX3Nlc3MpCi0gICBhbGxvd19ucihfX05SX2dldGN3ZCk7Ci0gICBhbGxvd19ucihfX05SX2NoZGlyKTsKLSAgIGFsbG93X25yKF9fTlJfZ2V0ZGVudHMpOwotKyAgYWxsb3dfbnIoX19OUl9zeXNpbmZvKTsKLSAgIC8qIE1pc2MgKi8KLSAgIGFsbG93X25yKF9fTlJfdW1hc2spOwotIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvdnNmdHBkXzMuMC4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvdnNmdHBkXzMuMC4zLmJiCmluZGV4IDJlM2UwZTguLmRmMGQ3ZjQgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL3ZzZnRwZF8zLjAuMy5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC92c2Z0cGRfMy4wLjMuYmIKQEAgLTE4LDcgKzE4LDcgQEAKICAgICAgICAgICAgZmlsZTovL3ZvbGF0aWxlcy45OV92c2Z0cGQgXAogICAgICAgICAgICBmaWxlOi8vdnNmdHBkLnNlcnZpY2UgXAogICAgICAgICAgICBmaWxlOi8vdnNmdHBkLTIuMS4wLWZpbHRlci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXZzZnRwZC1hbGxvdy1zeXNpbmZvLWluLXRoZS1zZWNjb21wLXNhbmRib3gucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS12c2Z0cGQtYWxsb3ctc3lzY2FsbHMtaW4tdGhlLXNlY2NvbXAtc2FuZGJveC5wYXRjaCBcCiAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3RjcC13cmFwcGVycycsICdmaWxlOi8vdnNmdHBkLXRjcF93cmFwcGVycy1zdXBwb3J0LnBhdGNoJywgJycsIGQpfSBcCiAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJycsICcke05PUEFNX1NSQ30nLCBkKX0gXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1zeXNkZXB1dGlsLmMtRml4LXdpdGgtbXVzbC13aGljaC1kb2VzLW5vdC1oYXZlLXV0bXB4LnBhdGNoIFwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWlyYy96bmMvem5jX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWlyYy96bmMvem5jX2dpdC5iYgppbmRleCA4YzY5NzljLi43MjhlZjg3IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1pcmMvem5jL3puY19naXQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtaXJjL3puYy96bmNfZ2l0LmJiCkBAIC0zMCw1ICszMCw1IEBACiB9CiAKIGRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIHNlZCAtaSAncy8tZmRlYnVnLXByZWZpeC1tYXBbXiBdKi8vZzsgcyMke1NUQUdJTkdfRElSX1RBUkdFVH0jI2cnICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnLyoucGMKKyAgICBzZWQgLWkgLWUgJ3N8JHtERUJVR19QUkVGSVhfTUFQfXx8Zzsgc3wtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9UQVJHRVR9fHxnJyAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy8qLnBjCiB9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvd2lyZWd1YXJkL3dpcmVndWFyZC1tb2R1bGVfMC4wLjIwMTcxMjIxLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMta2VybmVsL3dpcmVndWFyZC93aXJlZ3VhcmQtbW9kdWxlXzAuMC4yMDE3MTIyMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmM2OWM1OC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvd2lyZWd1YXJkL3dpcmVndWFyZC1tb2R1bGVfMC4wLjIwMTcxMjIxLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotcmVxdWlyZSB3aXJlZ3VhcmQuaW5jCi0KLWluaGVyaXQgbW9kdWxlIGtlcm5lbC1tb2R1bGUtc3BsaXQKLQotREVQRU5EUyA9ICJ2aXJ0dWFsL2tlcm5lbCBsaWJtbmwiCi0KLSMgVGhpcyBtb2R1bGUgcmVxdWlyZXMgTGludXggMy4xMCBoaWdoZXIgYW5kIHNldmVyYWwgbmV0d29ya2luZyByZWxhdGVkCi0jIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4gRm9yIGV4YWN0IGtlcm5lbCByZXF1aXJlbWVudHMgdmlzaXQ6Ci0jIGh0dHBzOi8vd3d3LndpcmVndWFyZC5pby9pbnN0YWxsLyNrZXJuZWwtcmVxdWlyZW1lbnRzCi0KLUVYVFJBX09FTUFLRV9hcHBlbmQgPSAiIFwKLSAgICBLRVJORUxESVI9JHtTVEFHSU5HX0tFUk5FTF9ESVJ9IFwKLSAgICAiCi0KLU1BS0VfVEFSR0VUUyA9ICJtb2R1bGUiCi0KLVJSRUNPTU1FTkRTXyR7UE59ID0gImtlcm5lbC1tb2R1bGUteHQtaGFzaGxpbWl0IgotTU9EVUxFX05BTUUgPSAid2lyZWd1YXJkIgotCi0jIEtlcm5lbCBtb2R1bGUgcGFja2FnZXMgTVVTVCBiZWdpbiB3aXRoICdrZXJuZWwtbW9kdWxlLScsIG90aGVyd2lzZQotIyBtdWx0aWxpYiBpbWFnZSBnZW5lcmF0aW9uIGNhbiBmYWlsLgotIwotIyBUaGUgZm9sbG93aW5nIGxpbmUgaXMgb25seSBuZWNlc3NhcnkgaWYgdGhlIHJlY2lwZSBuYW1lIGRvZXMgbm90IGJlZ2luCi0jIHdpdGgga2VybmVsLW1vZHVsZS0uCi1QS0dfJHtQTn0gPSAia2VybmVsLW1vZHVsZS0ke01PRFVMRV9OQU1FfSIKLQotbW9kdWxlX2RvX2luc3RhbGwoKSB7Ci0gICAgaW5zdGFsbCAtZCAke0R9L2xpYi9tb2R1bGVzLyR7S0VSTkVMX1ZFUlNJT059L2tlcm5lbC8ke01PRFVMRV9OQU1FfQotICAgIGluc3RhbGwgLW0gMDY0NCAke01PRFVMRV9OQU1FfS5rbyBcCi0gICAgJHtEfS9saWIvbW9kdWxlcy8ke0tFUk5FTF9WRVJTSU9OfS9rZXJuZWwvJHtNT0RVTEVfTkFNRX0vJHtNT0RVTEVfTkFNRX0ua28KLX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWtlcm5lbC93aXJlZ3VhcmQvd2lyZWd1YXJkLW1vZHVsZV8wLjAuMjAxOTAxMjMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvd2lyZWd1YXJkL3dpcmVndWFyZC1tb2R1bGVfMC4wLjIwMTkwMTIzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJhZGM5N2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvd2lyZWd1YXJkL3dpcmVndWFyZC1tb2R1bGVfMC4wLjIwMTkwMTIzLmJiCkBAIC0wLDAgKzEsMzEgQEAKK3JlcXVpcmUgd2lyZWd1YXJkLmluYworCitpbmhlcml0IG1vZHVsZSBrZXJuZWwtbW9kdWxlLXNwbGl0CisKK0RFUEVORFMgPSAidmlydHVhbC9rZXJuZWwgbGlibW5sIgorCisjIFRoaXMgbW9kdWxlIHJlcXVpcmVzIExpbnV4IDMuMTAgaGlnaGVyIGFuZCBzZXZlcmFsIG5ldHdvcmtpbmcgcmVsYXRlZAorIyBjb25maWd1cmF0aW9uIG9wdGlvbnMuIEZvciBleGFjdCBrZXJuZWwgcmVxdWlyZW1lbnRzIHZpc2l0OgorIyBodHRwczovL3d3dy53aXJlZ3VhcmQuaW8vaW5zdGFsbC8ja2VybmVsLXJlcXVpcmVtZW50cworCitFWFRSQV9PRU1BS0VfYXBwZW5kID0gIiBcCisgICAgS0VSTkVMRElSPSR7U1RBR0lOR19LRVJORUxfRElSfSBcCisgICAgIgorCitNQUtFX1RBUkdFVFMgPSAibW9kdWxlIgorCitSUkVDT01NRU5EU18ke1BOfSA9ICJrZXJuZWwtbW9kdWxlLXh0LWhhc2hsaW1pdCIKK01PRFVMRV9OQU1FID0gIndpcmVndWFyZCIKKworIyBLZXJuZWwgbW9kdWxlIHBhY2thZ2VzIE1VU1QgYmVnaW4gd2l0aCAna2VybmVsLW1vZHVsZS0nLCBvdGhlcndpc2UKKyMgbXVsdGlsaWIgaW1hZ2UgZ2VuZXJhdGlvbiBjYW4gZmFpbC4KKyMKKyMgVGhlIGZvbGxvd2luZyBsaW5lIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHRoZSByZWNpcGUgbmFtZSBkb2VzIG5vdCBiZWdpbgorIyB3aXRoIGtlcm5lbC1tb2R1bGUtLgorUEtHXyR7UE59ID0gImtlcm5lbC1tb2R1bGUtJHtNT0RVTEVfTkFNRX0iCisKK21vZHVsZV9kb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vbW9kdWxlcy8ke0tFUk5FTF9WRVJTSU9OfS9rZXJuZWwvJHtNT0RVTEVfTkFNRX0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtNT0RVTEVfTkFNRX0ua28gXAorICAgICR7RH0ke25vbmFyY2hfYmFzZV9saWJkaXJ9L21vZHVsZXMvJHtLRVJORUxfVkVSU0lPTn0va2VybmVsLyR7TU9EVUxFX05BTUV9LyR7TU9EVUxFX05BTUV9LmtvCit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvd2lyZWd1YXJkL3dpcmVndWFyZC10b29sc18wLjAuMjAxNzEyMjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvd2lyZWd1YXJkL3dpcmVndWFyZC10b29sc18wLjAuMjAxOTAxMjMuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWtlcm5lbC93aXJlZ3VhcmQvd2lyZWd1YXJkLXRvb2xzXzAuMC4yMDE3MTIyMS5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMta2VybmVsL3dpcmVndWFyZC93aXJlZ3VhcmQtdG9vbHNfMC4wLjIwMTkwMTIzLmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvd2lyZWd1YXJkL3dpcmVndWFyZC5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvd2lyZWd1YXJkL3dpcmVndWFyZC5pbmMKaW5kZXggNmJkNTgxYS4uODMxNGU3OSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMta2VybmVsL3dpcmVndWFyZC93aXJlZ3VhcmQuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWtlcm5lbC93aXJlZ3VhcmQvd2lyZWd1YXJkLmluYwpAQCAtMTEsNyArMTEsNyBAQAogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vLi4vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCiAKIFNSQ19VUkkgPSAiaHR0cHM6Ly9naXQuengyYzQuY29tL1dpcmVHdWFyZC9zbmFwc2hvdC9XaXJlR3VhcmQtJHtQVn0udGFyLnh6IgotU1JDX1VSSVttZDVzdW1dID0gIjM5YmI5OWZlMTEzNTY0MjNmYjFhYjQ1YWUyZDkzOGJiIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJiOTc2OTdlOWIyNzFiYTg4MzZhMDQxMjBhMjg3YjgyNDY0ODEyNGYyMWQ1MzA5MTcwZWM1MWMxZjg2YWM1ZWQiCitTUkNfVVJJW21kNXN1bV0gPSAiOGEwYTIzMmY2NWQ1ZDg2ZGQ0MDhlZmQ5YWMzMGJjZjkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZWRkMTNjNzYzMWFmMTY5ZTM4Mzg2MjFiMWExYmZmM2VmNzNjZjdiYzc3OGVlYzJiZDU1ZjdjMTA4OWZmZGY5YiIKIAogUyA9ICIke1dPUktESVJ9L1dpcmVHdWFyZC0ke1BWfS9zcmMvIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC1yc2gvbmV0a2l0LXJzaF8wLjE3LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC1yc2gvbmV0a2l0LXJzaF8wLjE3LmJiCmluZGV4IDAzZGQ5NjMuLmQwMzRjZDggMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2hfMC4xNy5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJzaC9uZXRraXQtcnNoXzAuMTcuYmIKQEAgLTM5LDYgKzM5LDggQEAKIFBBQ0tBR0VDT05GSUcgKz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsIGQpfSIKIFBBQ0tBR0VDT05GSUdbcGFtXSA9ICIgLCAtLXdpdGhvdXQtcGFtLCBsaWJwYW0sIGxpYnBhbSIKIAorQ09NUEFUSUJMRV9IT1NUX2xpYmMtbXVzbCA9ICdudWxsJworCiBkb19jb25maWd1cmUgKCkgewogICAgIC4vY29uZmlndXJlIC0tcHJlZml4PSR7cHJlZml4fSAtLWV4ZWMtcHJlZml4PSR7ZXhlY19wcmVmaXh9CiAgICAgZWNobyAiSU5TVEFMTFJPT1Q9JHtEfSIgPiBNQ09ORklHCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvMDAwMS1uZXQtc25tcC1maXgtY29tcGlsZS1lcnJvci1kaXNhYmxlLWRlcy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC8wMDAxLW5ldC1zbm1wLWZpeC1jb21waWxlLWVycm9yLWRpc2FibGUtZGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlNjg2Y2UKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvMDAwMS1uZXQtc25tcC1maXgtY29tcGlsZS1lcnJvci1kaXNhYmxlLWRlcy5wYXRjaApAQCAtMCwwICsxLDYyIEBACitGcm9tIGUzOGM1MDhlZjQwMTU5M2IxZDRmZTQyYjYyZTQyYTQ5Y2ZlYzgyYWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAyNiBGZWIgMjAxOSAxNDoyNjowNyArMDgwMAorU3ViamVjdDogW1BBVENIXSBuZXQtc25tcDogZml4IGNvbXBpbGUgZXJyb3Igd2l0aCAtLWRpc2FibGUtZGVzCisKK3wgc2NhcGkuYzogSW4gZnVuY3Rpb24gJ3NjX2VuY3J5cHQnOgorfCBzY2FwaS5jOjEyNTY6NTogZXJyb3I6ICdwYWRfc2l6ZScgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4gJ2R5c2l6ZSc/Cit8ICAgICAgcGFkX3NpemUgPSBwYWktPnBhZF9zaXplOworfCAgICAgIF5+fn5+fn5+Cit8ICAgICAgZHlzaXplCisKK3BhZF9zaXplIGlzIGRlZmluZWQgb25seSB3aXRob3V0IC0tZGlzYWJsZS1kZXMKK1tzbmlwXQorI2lmbmRlZiBORVRTTk1QX0RJU0FCTEVfREVTCisgICAgaW50ICAgICAgICAgICAgIHBhZCwgcGxhc3QsIHBhZF9zaXplID0gMDsgCisKK2J1dCB1c2VkIHdoZW4gZGlzYWJsZS1kZXMsCitbc25pcF0KKyAgICAgICAgUVVJVEZVTihTTk1QRVJSX0dFTkVSUiwgc2NfZW5jcnlwdF9xdWl0KTsKKyAgICB9ICAgIAorICAgIHBhZF9zaXplID0gcGFpLT5wYWRfc2l6ZTsKKworICAgIG1lbXNldChteV9pdiwgMCwgc2l6ZW9mKG15X2l2KSk7CisKKyNpZm5kZWYgTkVUU05NUF9ESVNBQkxFX0RFUworICAgIGlmIChVU01fQ1JFQVRFX1VTRVJfUFJJVl9ERVMgPT0gKHBhaS0+dHlwZSAmIFVTTV9QUklWX01BU0tfQUxHKSkgeworCisgICAgICAgIC8qCisKK2ZpeCBieSBtb3ZlIGl0IGludG8gI2lmbmRlZiBORVRTTk1QX0RJU0FCTEVfREVTCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL3NvdXJjZWZvcmdlLm5ldC9wL25ldC1zbm1wL2J1Z3MvMjkyNy9dCisKK1NpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyBzbm1wbGliL3NjYXBpLmMgfCAzICsrLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NubXBsaWIvc2NhcGkuYyBiL3NubXBsaWIvc2NhcGkuYworaW5kZXggNDNjYWRkZi4uYzA5ZGViMCAxMDA2NDQKKy0tLSBhL3NubXBsaWIvc2NhcGkuYworKysrIGIvc25tcGxpYi9zY2FwaS5jCitAQCAtMTI1Myw3ICsxMjUzLDYgQEAgc2NfZW5jcnlwdChjb25zdCBvaWQgKiBwcml2dHlwZSwgc2l6ZV90IHByaXZ0eXBlbGVuLAorIAorICAgICAgICAgUVVJVEZVTihTTk1QRVJSX0dFTkVSUiwgc2NfZW5jcnlwdF9xdWl0KTsKKyAgICAgfQorLSAgICBwYWRfc2l6ZSA9IHBhaS0+cGFkX3NpemU7CisgCisgICAgIG1lbXNldChteV9pdiwgMCwgc2l6ZW9mKG15X2l2KSk7CisgCitAQCAtMTI2Myw2ICsxMjYyLDggQEAgc2NfZW5jcnlwdChjb25zdCBvaWQgKiBwcml2dHlwZSwgc2l6ZV90IHByaXZ0eXBlbGVuLAorICAgICAgICAgLyoKKyAgICAgICAgICAqIG5vdyBjYWxjdWxhdGUgdGhlIHBhZGRpbmcgbmVlZGVkIAorICAgICAgICAgICovCisrCisrICAgICAgIHBhZF9zaXplID0gcGFpLT5wYWRfc2l6ZTsKKyAgICAgICAgIHBhZCA9IHBhZF9zaXplIC0gKHB0bGVuICUgcGFkX3NpemUpOworICAgICAgICAgcGxhc3QgPSAoaW50KSBwdGxlbiAtIChwYWRfc2l6ZSAtIHBhZCk7CisgICAgICAgICBpZiAocGFkID09IHBhZF9zaXplKQorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvMDAwMS1yZW1vdmUtY29uZmlndXJlLW9wdGlvbnMtZnJvbS12ZXJzaW9uaW5mby5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC8wMDAxLXJlbW92ZS1jb25maWd1cmUtb3B0aW9ucy1mcm9tLXZlcnNpb25pbmZvLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZDU0MDk2Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC8wMDAxLXJlbW92ZS1jb25maWd1cmUtb3B0aW9ucy1mcm9tLXZlcnNpb25pbmZvLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotRnJvbSBmNTkyMzk4YjFjNjU5Zjg0MTY4ZjVjODRmNjNhZjNiNzE0NTRiOGY1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotRGF0ZTogRnJpLCAyOCBTZXAgMjAxOCAyMjo1OToyMyArMDgwMAotU3ViamVjdDogW1BBVENIXSByZW1vdmUgY29uZmlndXJlIG9wdGlvbnMgZnJvbSB2ZXJzaW9uaW5mbwotCi1Db25maWd1cmUgb3B0aW9ucyBjb250YWlucyBob3N0IGJ1aWxkIHBhdGhzIHdoaWNoIGJyZWFrcwotYmluYXJ5IHJlcHJvZHVjaWJpbGl0eS4KLQotSXQgaXMgbm8gaGFybSB0byByZW1vdmUgaXQgZnJvbSB2ZXJzaW9uIGluZm8uCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY3Jvc3MgY29tcGlsZSBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gYWdlbnQvbWliZ3JvdXAvdWNkLXNubXAvdmVyc2lvbmluZm8uYyB8IDQgKystLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9hZ2VudC9taWJncm91cC91Y2Qtc25tcC92ZXJzaW9uaW5mby5jIGIvYWdlbnQvbWliZ3JvdXAvdWNkLXNubXAvdmVyc2lvbmluZm8uYwotaW5kZXggYTUxNTFjMS4uMTE2MDM4MiAxMDA2NDQKLS0tLSBhL2FnZW50L21pYmdyb3VwL3VjZC1zbm1wL3ZlcnNpb25pbmZvLmMKLSsrKyBiL2FnZW50L21pYmdyb3VwL3VjZC1zbm1wL3ZlcnNpb25pbmZvLmMKLUBAIC05Miw3ICs5Miw3IEBAIHZhcl9leHRlbnNpYmxlX3ZlcnNpb24oc3RydWN0IHZhcmlhYmxlICp2cCwKLSAgICAgc3RhdGljIGNoYXIgICAgIGVycm1zZ1szMDBdOwotICAgICBjaGFyICAgICAgICAgICAqY3B0cjsKLSAgICAgdGltZV90ICAgICAgICAgIGN1cnRpbWU7Ci0tI2lmZGVmIE5FVFNOTVBfQ09ORklHVVJFX09QVElPTlMKLSsjaWYgMAotICAgICBzdGF0aWMgY2hhciAgICAgY29uZmlnX29wdHNbXSA9IE5FVFNOTVBfQ09ORklHVVJFX09QVElPTlM7Ci0gI2VuZGlmCi0gCi1AQCAtMTI2LDcgKzEyNiw3IEBAIHZhcl9leHRlbnNpYmxlX3ZlcnNpb24oc3RydWN0IHZhcmlhYmxlICp2cCwKLSAgICAgICAgICp2YXJfbGVuID0gc3RybGVuKGVycm1zZyk7Ci0gICAgICAgICByZXR1cm4gKCh1X2NoYXIgKikgZXJybXNnKTsKLSAgICAgY2FzZSBWRVJDT05GSUc6Ci0tI2lmZGVmIE5FVFNOTVBfQ09ORklHVVJFX09QVElPTlMKLSsjaWYgMAotICAgICAgICAgKnZhcl9sZW4gPSBzdHJsZW4oY29uZmlnX29wdHMpOwotICAgICAgICAgaWYgKCp2YXJfbGVuID4gMTAyNCkKLSAgICAgICAgICAgICAqdmFyX2xlbiA9IDEwMjQ7ICAgIC8qIG1pYiBpbXBvc2VkIHJlc3RyaWN0aW9uICovCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC9yZXByb2R1Y2liaWxpdHktYWNjZXB0LWNvbmZpZ3VyZS1vcHRpb25zLWZyb20tZW52LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wL3JlcHJvZHVjaWJpbGl0eS1hY2NlcHQtY29uZmlndXJlLW9wdGlvbnMtZnJvbS1lbnYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjBkYmY1YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC9yZXByb2R1Y2liaWxpdHktYWNjZXB0LWNvbmZpZ3VyZS1vcHRpb25zLWZyb20tZW52LnBhdGNoCkBAIC0wLDAgKzEsMTUgQEAKK1JlcHJvZHVjaWJsZSBidWlsZDogVG8gYXZvaWQgYnVpbGQgaG9zdCBwYXRocyBiZWluZyB3cml0dGVuIGludG8gYmluYXJpZXMsCithY2NlcHQgTkVUU05NUF9DT05GSUdVUkVfT1BUSU9OUyBmcm9tIHRoZSBlbnZpcm9ubWVudC4KK05FVFNOTVBfQ09ORklHVVJFX09QVElPTlMgY2FuIGJlIHNldCBlaXRoZXIgbnVsbCBvciB0byBhIGZpeGVkIHZhbHVlLgorCistLS0gbmV0LXNubXAtNS44Lm9yaWdpbmFsL2NvbmZpZ3VyZS5hYwkyMDE4LTExLTIwIDE3OjQxOjM5LjkyNjUyOTA3MiArMTMwMAorKysrIG5ldC1zbm1wLTUuOC9jb25maWd1cmUuYWMJMjAxOC0xMS0yMCAxNzo1NDo0NC40ODgxODAyMjQgKzEzMDAKK0BAIC0yOCw3ICsyOCw3IEBACisgIworICMgc2F2ZSB0aGUgY29uZmlndXJlIGFyZ3VtZW50cworICMKKy1BQ19ERUZJTkVfVU5RVU9URUQoTkVUU05NUF9DT05GSUdVUkVfT1BUSU9OUywiJGFjX2NvbmZpZ3VyZV9hcmdzIiwKKytBQ19ERUZJTkVfVU5RVU9URUQoTkVUU05NUF9DT05GSUdVUkVfT1BUSU9OUywiJHtORVRTTk1QX0NPTkZJR1VSRV9PUFRJT05TLSRhY19jb25maWd1cmVfYXJnc30iLAorICAgW2NvbmZpZ3VyZSBvcHRpb25zIHNwZWNpZmllZF0pCisgQ09ORklHVVJFX09QVElPTlM9IlwiJGFjX2NvbmZpZ3VyZV9hcmdzXCIiCisgQUNfU1VCU1QoQ09ORklHVVJFX09QVElPTlMpCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvcmVwcm9kdWNpYmlsaXR5LWhhdmUtcHJpbnRjYXAucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvcmVwcm9kdWNpYmlsaXR5LWhhdmUtcHJpbnRjYXAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDMxNmM3YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC9yZXByb2R1Y2liaWxpdHktaGF2ZS1wcmludGNhcC5wYXRjaApAQCAtMCwwICsxLDE5IEBACitSZXByb2R1Y2libGUgYnVpbGQ6IERvbid0IGNoZWNrIGZvciAvZXRjL3ByaW50Y2FwIG9uIHRoZSBidWlsZCBtYWNoaW5lIHdoZW4KK2Nyb3NzLWNvbXBpbGluZy4gVXNlIEFDX0NIRUNLX0ZJTEUgdG8gc2V0IHRoZSBjYWNoZWQgdmFyaWFibGUKK2FjX2N2X2ZpbGVfX2V0Y19wcmludGNhcCBpbnN0ZWFkLiBXaGVuIGNyb3NzLWNvbXBpbGluZywgdGhpcyB2YXJpYWJsZSBzaG91bGQgYmUKK3NldCBpbiB0aGUgZW52aXJvbm1lbnQgdG8gInllcyIgb3IgIm5vIiBhcyBhcHByb3ByaWF0ZSBmb3IgdGhlIHRhcmdldCBwbGF0Zm9ybS4KKworLS0tIG5ldC1zbm1wLTUuOC5vcmlnaW5hbC9jb25maWd1cmUuZC9jb25maWdfb3NfbWlzYzQJMjAxOC0xMS0yMCAxNzowNTowMy45ODYyNzQ1MjIgKzEzMDAKKysrKyBuZXQtc25tcC01LjgvY29uZmlndXJlLmQvY29uZmlnX29zX21pc2M0CTIwMTgtMTEtMjAgMTc6MDg6MzIuMjUwNzAwNDQ4ICsxMzAwCitAQCAtMTE2LDkgKzExNiw5IEBACisgCVtQYXRoIHRvIHRoZSBscHN0YXQgY29tbWFuZF0pCisgICAgIEFDX0RFRklORShIQVZFX0xQU1RBVCwgMSwgW1NldCBpZiB0aGUgbHBzdGF0IGNvbW1hbmQgaXMgYXZhaWxhYmxlXSkKKyBmaQorLWlmIHRlc3QgLXIgL2V0Yy9wcmludGNhcDsgdGhlbgorK0FDX0NIRUNLX0ZJTEUoWy9ldGMvcHJpbnRjYXBdLAorICAgICBBQ19ERUZJTkUoSEFWRV9QUklOVENBUCwgMSwgW1NldCBpZiAvZXRjL3ByaW50Y2FwIGV4aXN0c10pCistZmkKKyspCisgCisgCisgIyAgICAgICBDaGVjayBwcyBhcmdzCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXBfNS44LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wXzUuOC5iYgppbmRleCA3NTdjMWRiLi42NzMxNDJiIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXBfNS44LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcF81LjguYmIKQEAgLTEsOSArMSw5IEBACiBTVU1NQVJZID0gIlZhcmlvdXMgdG9vbHMgcmVsYXRpbmcgdG8gdGhlIFNpbXBsZSBOZXR3b3JrIE1hbmFnZW1lbnQgUHJvdG9jb2wiCiBIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm5ldC1zbm1wLm9yZy8iCiBTRUNUSU9OID0gIm5ldCIKLUxJQ0VOU0UgPSAiQlNEIgorTElDRU5TRSA9ICJCU0QgJiBNSVQiCiAKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9MztlbmRsaW5lPTg7bWQ1PTdmN2YwMGJhNjM5YWM4ZThkZWI1YTYyMmVhMjQ2MzRlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OWQxMDBhMzk1YTM4NTg0ZjJlYzE4YTgyNzUyNjE2ODciCiAKIERFUEVORFMgPSAib3BlbnNzbCBsaWJubCBwY2l1dGlscyIKIApAQCAtMjQsNyArMjQsOSBAQAogICAgICAgICAgICBmaWxlOi8vMDAwNC1jb25maWd1cmUtZml4LWluY29ycmVjdC12YXJpYWJsZS5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9uZXQtc25tcC01LjcuMi1maXgtZW5naW5lQm9vdHMtdmFsdWUtb24tU0lHSFVQLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL25ldC1zbm1wLWZpeC1mb3ItZGlzYWJsZS1kZXMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1yZW1vdmUtY29uZmlndXJlLW9wdGlvbnMtZnJvbS12ZXJzaW9uaW5mby5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9yZXByb2R1Y2liaWxpdHktaGF2ZS1wcmludGNhcC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9yZXByb2R1Y2liaWxpdHktYWNjZXB0LWNvbmZpZ3VyZS1vcHRpb25zLWZyb20tZW52LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbmV0LXNubXAtZml4LWNvbXBpbGUtZXJyb3ItZGlzYWJsZS1kZXMucGF0Y2ggXAogICAgICAgICAgICAiCiBTUkNfVVJJW21kNXN1bV0gPSAiNmFhZTU5NDhkZjdlZmRlNjI2NjEzZDZhNGIzY2Q5ZDQiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzYyOTEzODViOGVkODRmMDU4OTBmZTQxOTcwMDVkYWY3ZTdlZTdiMDgyYzJlMzkwZmExMTRhOTQ3N2E1NjA0MiIKQEAgLTQxLDE1ICs0MywxNSBAQAogCiBUQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKIAotUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgZCl9IGRlcyIKIFBBQ0tBR0VDT05GSUdbZWxmdXRpbHNdID0gIi0td2l0aC1lbGYsIC0td2l0aG91dC1lbGYsIGVsZnV0aWxzIgogUEFDS0FHRUNPTkZJR1tsaWJubF0gPSAiLS13aXRoLW5sLCAtLXdpdGhvdXQtbmwsIGxpYm5sIgogCi1QQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsIGQpfSIKIFBBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiwsIgogCiBQQUNLQUdFQ09ORklHW3BlcmxdID0gIi0tZW5hYmxlLWVtYmVkZGVkLXBlcmwgLS13aXRoLXBlcmwtbW9kdWxlcz15ZXMsIC0tZGlzYWJsZS1lbWJlZGRlZC1wZXJsIC0td2l0aC1wZXJsLW1vZHVsZXM9bm8sXAogICAgICAgICAgICAgICAgICAgICAgICBwZXJsLCBwZXJsIHBlcmwtbGliIgorUEFDS0FHRUNPTkZJR1tkZXNdID0gIi0tZW5hYmxlLWRlcywtLWRpc2FibGUtZGVzIgogCiBFWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtc2hhcmVkIFwKICAgICAgICAgICAgICAgICAtLWRpc2FibGUtbWFudWFscyBcCkBAIC02OCwxMiArNzAsMTcgQEAKICAgICBhY19jdl9oZWFkZXJfdmFsZ3JpbmRfbWVtY2hlY2tfaD1ubyBcCiAgICAgYWNfY3ZfRVRDX01OVFRBQj0vZXRjL210YWIgXAogICAgIGx0X2N2X3NobGlicGF0aF9vdmVycmlkZXNfcnVucGF0aD15ZXMgXAorICAgIGFjX2N2X3BhdGhfVU5BTUVQUk9HPSR7YmFzZV9iaW5kaXJ9L3VuYW1lIFwKKyAgICBhY19jdl9maWxlX19ldGNfcHJpbnRjYXA9bm8gXAorICAgIE5FVFNOTVBfQ09ORklHVVJFX09QVElPTlM9IFwKICIKIGV4cG9ydCBQRVJMUFJPRz0iJHtiaW5kaXJ9L2VudiBwZXJsIgogUEVSTFBST0dfYXBwZW5kID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3BlcmwnLCAnIC1JJHtXT1JLRElSfScsICcnLCBkKX0iCiAKIEhBU19QRVJMID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3BlcmwnLCAnMScsICcwJywgZCl9IgogCitQVEVTVF9CVUlMRF9IT1NUX0ZJTEVTICs9ICJuZXQtc25tcC1jb25maWcgZ2VuLXZhcmlhYmxlcyIKKwogZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CiAgICAgc2VkIC1pIC1lICJzfEkvdXNyL2luY2x1ZGV8SSR7U1RBR0lOR19JTkNESVJ9fGciIFwKICAgICAgICAgIiR7U30iL2NvbmZpZ3VyZSBcCkBAIC0xMTQsMTEgKzEyMSwxMyBAQAogICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3NubXB0cmFwZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCiAgICAgc2VkICAgIC1lICJzQF5OU0NfU1JDRElSPS4qQE5TQ19TUkNESVI9LkBnIiBcCiAgICAgICAgIC1pICR7RH0ke2JpbmRpcn0vbmV0LXNubXAtY3JlYXRlLXYzLXVzZXIKLSAgICBzZWQgICAgLWUgInNAXk5TQ19TUkNESVI9LipATlNDX1NSQ0RJUj0uQGciIFwKLSAgICAgICAgICAgLWUgInNAXChbXiBdKi1mZGVidWctcHJlZml4LW1hcD1bXiBdKlwpXDEqQEBnIiBcCi0gICAgICAgICAgIC1lICJzQFwoW14gXSotLXN5c3Jvb3Q9W14gXSpcKVwxKkBAZyIgXAotICAgICAgICAgICAtZSAic0BcKFteIF0qLS13aXRoLWxpYnRvb2wtc3lzcm9vdD1bXiBdKlwpXDEqQEBnIiBcCi0gICAgICAgICAgIC1lICJzQFwoW14gXSotLXdpdGgtaW5zdGFsbC1wcmVmaXg9W14gXSpcKVwxKkBAZyIgXAorICAgIHNlZCAtZSAnc0BeTlNDX1NSQ0RJUj0uKkBOU0NfU1JDRElSPS5AZycgXAorICAgICAgICAtZSAnc0BbXiBdKi1mZGVidWctcHJlZml4LW1hcD1bXiAiXSpAQGcnIFwKKyAgICAgICAgLWUgJ3NAW14gXSotLXN5c3Jvb3Q9W14gIl0qQEBnJyBcCisgICAgICAgIC1lICdzQFteIF0qLS13aXRoLWxpYnRvb2wtc3lzcm9vdD1bXiAiXSpAQGcnIFwKKyAgICAgICAgLWUgJ3NAW14gXSotLXdpdGgtaW5zdGFsbC1wcmVmaXg9W14gIl0qQEBnJyBcCisgICAgICAgIC1lICdzQFteIF0qUEtHX0NPTkZJR19QQVRIPVteICJdKkBAZycgXAorICAgICAgICAtZSAnc0BbXiBdKlBLR19DT05GSUdfTElCRElSPVteICJdKkBAZycgXAogICAgICAgICAtaSAke0R9JHtiaW5kaXJ9L25ldC1zbm1wLWNvbmZpZwogCiAgICAgaWYgWyAiJHtIQVNfUEVSTH0iID0gIjEiIF07IHRoZW4KQEAgLTE2OSwxMiArMTc4LDYgQEAKICAgICBmaQogfQogCi1QQUNLQUdFX1BSRVBST0NFU1NfRlVOQ1MgKz0gIm5ldF9zbm1wX3BhY2thZ2VfcHJlcHJvY2VzcyIKLW5ldF9zbm1wX3BhY2thZ2VfcHJlcHJvY2VzcyAoKSB7Ci0gICAgc2VkIC1lICdzQCR7UkVDSVBFX1NZU1JPT1R9QEBnJyBcCi0gICAgICAgLWkgJHtQS0dEfSR7YmluZGlyfS9uZXQtc25tcC1jb25maWcKLX0KLQogUEFDS0FHRVMgKz0gIiR7UE59LWxpYnMgJHtQTn0tbWlicyAke1BOfS1zZXJ2ZXIgJHtQTn0tY2xpZW50IFwKICAgICAgICAgICAgICAke1BOfS1zZXJ2ZXItc25tcGQgJHtQTn0tc2VydmVyLXNubXB0cmFwZCBcCiAgICAgICAgICAgICAgJHtQTn0tbGliLW5ldHNubXAgJHtQTn0tbGliLWFnZW50ICR7UE59LWxpYi1oZWxwZXJzIFwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYy1hcmVzL2MtYXJlc18xLjE0LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2MtYXJlcy9jLWFyZXNfMS4xNC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMzE1NDNkLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYy1hcmVzL2MtYXJlc18xLjE0LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi0jIENvcHlyaWdodCAoYykgMjAxMi0yMDE0IExHIEVsZWN0cm9uaWNzLCBJbmMuCi1TVU1NQVJZID0gImMtYXJlcyBpcyBhIEMgbGlicmFyeSB0aGF0IHJlc29sdmVzIG5hbWVzIGFzeW5jaHJvbm91c2x5LiIKLUhPTUVQQUdFID0gImh0dHA6Ly9kYW5pZWwuaGF4eC5zZS9wcm9qZWN0cy9jLWFyZXMvIgotU0VDVElPTiA9ICJsaWJzIgotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLm1kO21kNT1mYjk5NzQ1NGM4ZDYyYWE2YTQ3ZjA3YThjZDQ4YjAwNiIKLQotUFYgPSAiMS4xNC4wK2dpdHIke1NSQ1BWfSIKLQotU1JDX1VSSSA9ICJcCi0gICAgZ2l0Oi8vZ2l0aHViLmNvbS9jLWFyZXMvYy1hcmVzLmdpdCBcCi0gICAgZmlsZTovL2NtYWtlLWluc3RhbGwtbGliY2FyZXMucGMucGF0Y2ggXAotIgotU1JDUkVWID0gIjE3ZGMxYjMxMDJlMGRmYzNlN2UzMTM2OTk4OTAxMzE1NGVlMTc4OTMiCi0KLVVQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gImNhcmVzLSg/UDxwdmVyPlxkK18oXGRfPykrKSIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBjbWFrZSBwa2djb25maWcKLQotUEFDS0FHRVMgPSsgIiR7UE59LXV0aWxzIgotCi1GSUxFU18ke1BOfS11dGlscyA9ICIke2JpbmRpcn0iCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYy1hcmVzL2MtYXJlc18xLjE1LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2MtYXJlcy9jLWFyZXNfMS4xNS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0Mzc1MjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2MtYXJlcy9jLWFyZXNfMS4xNS4wLmJiCkBAIC0wLDAgKzEsMjYgQEAKKyMgQ29weXJpZ2h0IChjKSAyMDEyLTIwMTQgTEcgRWxlY3Ryb25pY3MsIEluYy4KK1NVTU1BUlkgPSAiYy1hcmVzIGlzIGEgQyBsaWJyYXJ5IHRoYXQgcmVzb2x2ZXMgbmFtZXMgYXN5bmNocm9ub3VzbHkuIgorSE9NRVBBR0UgPSAiaHR0cDovL2RhbmllbC5oYXh4LnNlL3Byb2plY3RzL2MtYXJlcy8iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UubWQ7bWQ1PWZiOTk3NDU0YzhkNjJhYTZhNDdmMDdhOGNkNDhiMDA2IgorCitQViA9ICIxLjE1LjArZ2l0ciR7U1JDUFZ9IgorCitTUkNfVVJJID0gIlwKKyAgICBnaXQ6Ly9naXRodWIuY29tL2MtYXJlcy9jLWFyZXMuZ2l0IFwKKyAgICBmaWxlOi8vY21ha2UtaW5zdGFsbC1saWJjYXJlcy5wYy5wYXRjaCBcCisiCitTUkNSRVYgPSAiZTk4MjkyNGFjZWU3ZjczMTNiNGJhYTRlZTVlYzAwMGM1ZTM3M2MzMCIKKworVVBTVFJFQU1fQ0hFQ0tfR0lUVEFHUkVHRVggPSAiY2FyZXMtKD9QPHB2ZXI+XGQrXyhcZF8/KSspIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGNtYWtlIHBrZ2NvbmZpZworCitQQUNLQUdFUyA9KyAiJHtQTn0tdXRpbHMiCisKK0ZJTEVTXyR7UE59LXV0aWxzID0gIiR7YmluZGlyfSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jaW0tc2NoZW1hL2NpbS1zY2hlbWEtZG9jc18yLjQwLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvY2ltLXNjaGVtYS1kb2NzXzIuNDAuMC5iYgppbmRleCAzMTg3NWVhLi40ZWNhYWJkIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvY2ltLXNjaGVtYS1kb2NzXzIuNDAuMC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvY2ltLXNjaGVtYS1kb2NzXzIuNDAuMC5iYgpAQCAtNCwxOCArNCwxMyBAQAogCiBMSUNFTlNFID0gIkRNVEYiCiAKLVNSQ19VUkkgPSAiaHR0cDovL2RtdGYub3JnL3NpdGVzL2RlZmF1bHQvZmlsZXMvY2ltL2NpbV9zY2hlbWFfdjI0MDAvY2ltX3NjaGVtYV8ke1BWfUZpbmFsLURvYy56aXAgXAorU1JDX1VSSSA9ICJodHRwOi8vZG10Zi5vcmcvc2l0ZXMvZGVmYXVsdC9maWxlcy9jaW0vY2ltX3NjaGVtYV92MjQwMC9jaW1fc2NoZW1hXyR7UFZ9RmluYWwtRG9jLnppcDtzdWJkaXI9JHtCUH0gXAogICAgICAgICAgICBmaWxlOi8vTElDRU5TRSBcCiAgICAgICAgICAgIgogU1JDX1VSSVttZDVzdW1dID0gIjNkMDE5NDBiYzEwODVjNmM0MjE4NGMyNWZiNjFmNzM5IgogU1JDX1VSSVtzaGEyNTZzdW1dID0gIjMxNzRjZjBmODY1N2IxOWQ4MGRjNTllMTg0Nzc4ZDhlNTUzZGE0MjQ3MjhjYjI5NjZmZTlkNTQyOGRkODQyNjciCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1dPUktESVJ9L0xJQ0VOU0U7bWQ1PWVlY2M2ZjcxYTU2ZmYzY2FmMTdmMTViZjdhZWFjN2I0IgogCi1kb191bnBhY2soKSB7Ci0gICAgICAgIHVuemlwIC1xICR7RExfRElSfS9jaW1fc2NoZW1hXyR7UFZ9RmluYWwtRG9jLnppcCAtZCAke1N9Ci0gICAgICAgIGNwIC1mICR7RklMRV9ESVJOQU1FfS9maWxlcy9MSUNFTlNFICR7V09SS0RJUn0vCi19Ci0KIGRvX2luc3RhbGwoKSB7CiAgICAgICAgIGluc3RhbGwgLWQgLW0gMDc1NSAke0R9JHtkYXRhZGlyfS9kb2MvY2ltLXNjaGVtYS0ke1BWfS1kb2NzCiAgICAgICAgIGNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzIC12ICR7U30vKiAke0R9JHtkYXRhZGlyfS9kb2MvY2ltLXNjaGVtYS0ke1BWfS1kb2NzCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvY2ltLXNjaGVtYS1maW5hbF8yLjQwLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvY2ltLXNjaGVtYS1maW5hbF8yLjQwLjAuYmIKaW5kZXggYTE0ZGU0Ni4uNjdkMWRiMiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jaW0tc2NoZW1hL2NpbS1zY2hlbWEtZmluYWxfMi40MC4wLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY2ltLXNjaGVtYS9jaW0tc2NoZW1hLWZpbmFsXzIuNDAuMC5iYgpAQCAtNCwxOCArNCwxMyBAQAogCiBSQ09ORkxJQ1RTXyR7UE59ID0gImNpbS1zY2hlbWEtZXhwZXIiCiAKLVNSQ19VUkkgPSAiaHR0cDovL2RtdGYub3JnL3NpdGVzL2RlZmF1bHQvZmlsZXMvY2ltL2NpbV9zY2hlbWFfdjI0MDAvY2ltX3NjaGVtYV8ke1BWfUZpbmFsLU1PRnMuemlwIFwKK1NSQ19VUkkgPSAiaHR0cDovL2RtdGYub3JnL3NpdGVzL2RlZmF1bHQvZmlsZXMvY2ltL2NpbV9zY2hlbWFfdjI0MDAvY2ltX3NjaGVtYV8ke1BWfUZpbmFsLU1PRnMuemlwO3N1YmRpcj0ke0JQfSBcCiAgICAgZmlsZTovL0xJQ0VOU0UgXAogIgogU1JDX1VSSVttZDVzdW1dID0gImE5YmRmMTdjNzM3NGUzYjViN2FkZWFhYzQ4NDJjNGFkIgogU1JDX1VSSVtzaGEyNTZzdW1dID0gImRiZmEzMDY0ZWE0MjdhY2Q3MWE0YmViYmMxNzJjYTJkYzQ0YjBiMDlhNmQ4M2IwOTQ1YjlmZmE5ODhhOTA1OGEiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1dPUktESVJ9L0xJQ0VOU0U7bWQ1PWVlY2M2ZjcxYTU2ZmYzY2FmMTdmMTViZjdhZWFjN2I0IgogCi1kb191bnBhY2soKSB7Ci0gICAgdW56aXAgLXEgJHtETF9ESVJ9L2NpbV9zY2hlbWFfJHtQVn1GaW5hbC1NT0ZzLnppcCAtZCAke1N9Ci0gICAgY3AgLWYgJHtGSUxFX0RJUk5BTUV9L2ZpbGVzL0xJQ0VOU0UgJHtXT1JLRElSfS8KLX0KLQogZG9faW5zdGFsbCgpIHsKICAgICBpbnN0YWxsIC1kIC1tIDA3NTUgJHtEfSR7ZGF0YWRpcn0vbW9mL2NpbXYke1BWfS8KICAgICBpbnN0YWxsIC1kIC1tIDA3NTUgJHtEfSR7ZGF0YWRpcn0vZG9jL2NpbS1zY2hlbWEtJHtQVn0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9kbnNtYXNxLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9kbnNtYXNxLmluYwppbmRleCA0ZjRiYmYxLi4zMzY3OGUyIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZG5zbWFzcS5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kbnNtYXNxL2Ruc21hc3EuaW5jCkBAIC0xMiw2ICsxMiw3IEBACiAgICAgICAgICAgIGZpbGU6Ly9kbnNtYXNxLmNvbmYgXAogICAgICAgICAgICBmaWxlOi8vZG5zbWFzcS1yZXNvbHZjb25mLnNlcnZpY2UgXAogICAgICAgICAgICBmaWxlOi8vZG5zbWFzcS1ub3Jlc29sdmNvbmYuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9kbnNtYXNxLXJlc29sdmVkLmNvbmYgXAogIgogCiBpbmhlcml0IHBrZ2NvbmZpZyB1cGRhdGUtcmMuZCBzeXN0ZW1kCkBAIC01OCw2ICs1OSw4IEBACiAgICAgZWxzZQogICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9kbnNtYXNxLW5vcmVzb2x2Y29uZi5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2Ruc21hc3Euc2VydmljZQogICAgIGZpCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9zeXN0ZW1kL3Jlc29sdmVkLmNvbmYuZC8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9kbnNtYXNxLXJlc29sdmVkLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vc3lzdGVtZC9yZXNvbHZlZC5jb25mLmQvCiAKICAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9jb250cmliL2xlYXNlLXRvb2xzL2RoY3BfcmVsZWFzZSAke0R9JHtiaW5kaXJ9CiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9kbnNtYXNxXzIuNzkuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZG5zbWFzcV8yLjc5LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNjZiOWE5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9kbnNtYXNxXzIuNzkuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLXJlcXVpcmUgZG5zbWFzcS5pbmMKLQotU1JDX1VSSVtkbnNtYXNxLTIuNzkubWQ1c3VtXSA9ICI1ZDcxMjBhNDZkMGMxNmEzMzRmNDY3NTdkN2UyYmE1NSIKLVNSQ19VUklbZG5zbWFzcS0yLjc5LnNoYTI1NnN1bV0gPSAiNzc1MTJkZDZmMzFmZmQ5NjcxOGU4ZGNiYmY1NGYwMmMwODNmMDUxZDRjY2E3MDliZDMyNTQwYWVhMjY5Zjc4OSIKLVNSQ19VUkkgKz0gIlwKLSAgICBmaWxlOi8vbHVhLnBhdGNoIFwKLSIKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kbnNtYXNxL2Ruc21hc3FfMi44MC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9kbnNtYXNxXzIuODAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmRiZGVmYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9kbnNtYXNxXzIuODAuYmIKQEAgLTAsMCArMSw4IEBACityZXF1aXJlIGRuc21hc3EuaW5jCisKK1NSQ19VUklbZG5zbWFzcS0yLjgwLm1kNXN1bV0gPSAiMWYwNzFmZDExNDU0ZTFjZmZlYTczYmRhZGNmNzBiMjEiCitTUkNfVVJJW2Ruc21hc3EtMi44MC5zaGEyNTZzdW1dID0gIjllNGE1OGY4MTZjZTAwMzNjZTM4M2M1NDliN2Q0MDU4YWQ5YjgyMzk2OGQzNTJkMmI3NjYxNGY4M2VhMzlhZGMiCitTUkNfVVJJICs9ICJcCisgICAgZmlsZTovL2x1YS5wYXRjaCBcCisiCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9maWxlcy9kbnNtYXNxLXJlc29sdmVkLmNvbmYgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZmlsZXMvZG5zbWFzcS1yZXNvbHZlZC5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMzZjQ2NDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZmlsZXMvZG5zbWFzcS1yZXNvbHZlZC5jb25mCkBAIC0wLDAgKzEsMyBAQAorIyBBdm9pZCBjb25mbGljdHMgYmV0d2VlbiBkbnNtYXNxIGFuZCBzeXN0ZW1kLXJlc29sdmVkIGFib3V0IHBvcnQgNTMKK1tSZXNvbHZlXQorRE5TU3R1Ykxpc3RlbmVyPW5vCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RvdmVjb3QvZG92ZWNvdF8yLjIuMzMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RvdmVjb3QvZG92ZWNvdF8yLjIuMzMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg4MmQ1ZDUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kb3ZlY290L2RvdmVjb3RfMi4yLjMzLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNjkgKzAsMCBAQAotU1VNTUFSWSA9ICJEb3ZlY290IGlzIGFuIG9wZW4gc291cmNlIElNQVAgYW5kIFBPUDMgZW1haWwgc2VydmVyIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly93d3cuZG92ZWNvdC5vcmcvIgotREVTQ1JJUFRJT04gPSAiRG92ZWNvdCBpcyBhbiBvcGVuIHNvdXJjZSBJTUFQIGFuZCBQT1AzIGVtYWlsIHNlcnZlciBmb3IgTGludXgvVU5JWC1saWtlIHN5c3RlbXMsIHdyaXR0ZW4gd2l0aCBzZWN1cml0eSBwcmltYXJpbHkgaW4gbWluZC4gRG92ZWNvdCBpcyBhbiBleGNlbGxlbnQgY2hvaWNlIGZvciBib3RoIHNtYWxsIGFuZCBsYXJnZSBpbnN0YWxsYXRpb25zLiBJdCdzIGZhc3QsIHNpbXBsZSB0byBzZXQgdXAsIHJlcXVpcmVzIG5vIHNwZWNpYWwgYWRtaW5pc3RyYXRpb24gYW5kIGl0IHVzZXMgdmVyeSBsaXR0bGUgbWVtb3J5LiIKLVNFQ1RJT04gPSAibWFpbCIKLUxJQ0VOU0UgPSAiTEdQTHYyLjEgJiBNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hOTgxMzc5YmQwZjFjMzYyZjhkMWQyMTUxNWU1YjMwYiIKLQotU1JDX1VSSSA9ICJodHRwOi8vZG92ZWNvdC5vcmcvcmVsZWFzZXMvMi4yL2RvdmVjb3QtJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLmFjLWNvbnZlcnQtQUNfVFJZX1JVTi10by1BQ19UUllfTElOSy1zdGF0ZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kb3ZlY290LnNlcnZpY2UgXAotICAgICAgICAgICBmaWxlOi8vZG92ZWNvdC5zb2NrZXQgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1kb3ZlYWRtLUZpeC1wYXJhbGxlbC1idWlsZC5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gImQ2MWQxZTkyM2EyMmY5MDYyY2M5ZjQ3Njk2ODgyNjY2IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImU5NDgzZDY4YTc2OThkNzAxYmMwNjEyNGZjZjZlMWIxZjE2MzgwYzI5ODZjN2VjMGNmNGUxNDc1YjlkMGMyMTgiCi0KLURFUEVORFMgPSAib3BlbnNzbCB4eiB6bGliIGJ6aXAyIGxpYmNhcCBpY3UgbGlidGlycGMiCi1DRkxBR1MgKz0gIi1JJHtTVEFHSU5HX0lOQ0RJUn0vdGlycGMiCi1MREZMQUdTICs9ICItbHRpcnBjIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgc3lzdGVtZCB1c2VyYWRkCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdsZGFwIHBhbScsIGQpfSIKLQotUEFDS0FHRUNPTkZJR1twYW1dID0gIi0td2l0aC1wYW0sLS13aXRob3V0LXBhbSxsaWJwYW0sIgotUEFDS0FHRUNPTkZJR1tsZGFwXSA9ICItLXdpdGgtbGRhcD1wbHVnaW4sLS13aXRob3V0LWxkYXAsb3BlbmxkYXAsIgotUEFDS0FHRUNPTkZJR1tsejRdID0gIi0td2l0aC1sejQsLS13aXRob3V0LWx6NCxsejQsIgotCi0jIEZyb20gbmF0aXZlIGJ1aWxkIGluIGFybXY3YS1oZi9lZ2xpYmMKLUNBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJpX2N2X3NpZ25lZF9zaXplX3Q9bm8gXAotICAgICAgICAgICAgICAgICAgICAgICAgIGlfY3ZfZ210aW1lX21heF90aW1lX3Q9MzIgXAotICAgICAgICAgICAgICAgICAgICAgICAgIGlfY3Zfc2lnbmVkX3RpbWVfdD15ZXMgXAotICAgICAgICAgICAgICAgICAgICAgICAgIGlfY3ZfbW1hcF9wbGF5c193aXRoX3dyaXRlPXllcyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgaV9jdl9mZF9wYXNzaW5nPXllcyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgaV9jdl9jOTlfdnNucHJpbnRmPXllcyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgbGliX2N2X19fdmFfY29weT15ZXMgXAotICAgICAgICAgICAgICAgICAgICAgICAgIGxpYl9jdl92YV9jb3B5PXllcyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgbGliX2N2X3ZhX3ZhbF9jb3B5PXllcyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAiCi0KLSMgaGFyZGNvZGUgZXBvbGwoKSB0byBhdm9pZCBydW5uaW5nIHVuc2FmZSB0ZXN0cwotIyBCU0QgbmVlZHMga3F1ZXVlIGFuZCB1Y2xpYmMgcG9sbCgpCi1FWFRSQV9PRUNPTkYgPSAiIC0td2l0aC1pb2xvb3A9ZXBvbGwgXAotICAgICAgICAgICAgICAgICAtLXdpdGgtc3lzdGVtZHN5c3RlbXVuaXRkaXI9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbSIKLQotU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfSIKLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJkb3ZlY290LnNlcnZpY2UgZG92ZWNvdC5zb2NrZXQiCi1TWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCi0KLWRvX2luc3RhbGxfYXBwZW5kICgpIHsKLSAgICBpbnN0YWxsIC1kIDc1NSAke0R9L2V0Yy9kb3ZlY290Ci0gICAgdG91Y2ggNjQ0ICR7RH0vZXRjL2RvdmVjb3QvZG92ZWNvdC5jb25mCi0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZG92ZWNvdC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0gICAgc2VkIC1pIC1lICdzI0BTWVNDT05GRElSQCMke3N5c2NvbmZkaXJ9I2cnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2RvdmVjb3Quc2VydmljZQotICAgIHNlZCAtaSAtZSAncyNAU0JJTkRJUkAjJHtzYmluZGlyfSNnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9kb3ZlY290LnNlcnZpY2UKLX0KLQotVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSIKLVVTRVJBRERfUEFSQU1fJHtQTn0gPSAiLXIgLWQgJHtsaWJleGVjZGlyfSAtTSAtcyAke2Jhc2Vfc2JpbmRpcn0vbm9sb2dpbiAtZyBkb3ZlY290IGRvdmVjb3Q7IFwKLSAgICAgICAgICAgICAgICAgICAgICAtciAtZCAke2xpYmV4ZWNkaXJ9IC1NIC1zICR7YmFzZV9zYmluZGlyfS9ub2xvZ2luIC1nIGRvdmVudWxsIGRvdmVudWxsIgotR1JPVVBBRERfUEFSQU1fJHtQTn0gPSAiLWYgLXIgZG92ZWNvdDstZiAtciBkb3ZlbnVsbCIKLQotRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9kb3ZlY290LypwbHVnaW4uc28gXAotICAgICAgICAgICAgICAgICR7bGliZGlyfS9kb3ZlY290L2xpYmZzX2NvbXByZXNzLnNvIFwKLSAgICAgICAgICAgICAgICAke2xpYmRpcn0vZG92ZWNvdC9saWJzc2xfaW9zdHJlYW1fb3BlbnNzbC5zbyIKLUZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L2RvdmVjb3QvKi8qLmEiCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9kb3ZlY290L2xpYmRvdmVjb3QqLnNvIgotRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZG92ZWNvdC8qLy5kZWJ1ZyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG92ZWNvdC9kb3ZlY290XzIuMi4zNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG92ZWNvdC9kb3ZlY290XzIuMi4zNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOWJmYjkxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kb3ZlY290L2RvdmVjb3RfMi4yLjM2LmJiCkBAIC0wLDAgKzEsNjkgQEAKK1NVTU1BUlkgPSAiRG92ZWNvdCBpcyBhbiBvcGVuIHNvdXJjZSBJTUFQIGFuZCBQT1AzIGVtYWlsIHNlcnZlciIKK0hPTUVQQUdFID0gImh0dHBzOi8vd3d3LmRvdmVjb3Qub3JnLyIKK0RFU0NSSVBUSU9OID0gIkRvdmVjb3QgaXMgYW4gb3BlbiBzb3VyY2UgSU1BUCBhbmQgUE9QMyBlbWFpbCBzZXJ2ZXIgZm9yIExpbnV4L1VOSVgtbGlrZSBzeXN0ZW1zLCB3cml0dGVuIHdpdGggc2VjdXJpdHkgcHJpbWFyaWx5IGluIG1pbmQuIERvdmVjb3QgaXMgYW4gZXhjZWxsZW50IGNob2ljZSBmb3IgYm90aCBzbWFsbCBhbmQgbGFyZ2UgaW5zdGFsbGF0aW9ucy4gSXQncyBmYXN0LCBzaW1wbGUgdG8gc2V0IHVwLCByZXF1aXJlcyBubyBzcGVjaWFsIGFkbWluaXN0cmF0aW9uIGFuZCBpdCB1c2VzIHZlcnkgbGl0dGxlIG1lbW9yeS4iCitTRUNUSU9OID0gIm1haWwiCitMSUNFTlNFID0gIkxHUEx2Mi4xICYgTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTk4MTM3OWJkMGYxYzM2MmY4ZDFkMjE1MTVlNWIzMGIiCisKK1NSQ19VUkkgPSAiaHR0cDovL2RvdmVjb3Qub3JnL3JlbGVhc2VzLzIuMi9kb3ZlY290LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS5hYy1jb252ZXJ0LUFDX1RSWV9SVU4tdG8tQUNfVFJZX0xJTkstc3RhdGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZG92ZWNvdC5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL2RvdmVjb3Quc29ja2V0IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZG92ZWFkbS1GaXgtcGFyYWxsZWwtYnVpbGQucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhOGQ2NDkyNTg0MDI1YjI0MTNlODJlYTQ4ZGUzY2Q1ZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlOWFiYTg5YmIxYWMxZTk1ODFiODRlNGE3YTUwZjUzMTQyNTM5NjE0ZWFmN2NjNGM4MDAwN2ViZWE0OTg4YmU1IgorCitERVBFTkRTID0gIm9wZW5zc2wgeHogemxpYiBiemlwMiBsaWJjYXAgaWN1IGxpYnRpcnBjIgorQ0ZMQUdTICs9ICItSSR7U1RBR0lOR19JTkNESVJ9L3RpcnBjIgorTERGTEFHUyArPSAiLWx0aXJwYyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHN5c3RlbWQgdXNlcmFkZAorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnbGRhcCBwYW0nLCBkKX0iCisKK1BBQ0tBR0VDT05GSUdbcGFtXSA9ICItLXdpdGgtcGFtLC0td2l0aG91dC1wYW0sbGlicGFtLCIKK1BBQ0tBR0VDT05GSUdbbGRhcF0gPSAiLS13aXRoLWxkYXA9cGx1Z2luLC0td2l0aG91dC1sZGFwLG9wZW5sZGFwLCIKK1BBQ0tBR0VDT05GSUdbbHo0XSA9ICItLXdpdGgtbHo0LC0td2l0aG91dC1sejQsbHo0LCIKKworIyBGcm9tIG5hdGl2ZSBidWlsZCBpbiBhcm12N2EtaGYvZWdsaWJjCitDQUNIRURfQ09ORklHVVJFVkFSUyArPSAiaV9jdl9zaWduZWRfc2l6ZV90PW5vIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpX2N2X2dtdGltZV9tYXhfdGltZV90PTMyIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpX2N2X3NpZ25lZF90aW1lX3Q9eWVzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpX2N2X21tYXBfcGxheXNfd2l0aF93cml0ZT15ZXMgXAorICAgICAgICAgICAgICAgICAgICAgICAgIGlfY3ZfZmRfcGFzc2luZz15ZXMgXAorICAgICAgICAgICAgICAgICAgICAgICAgIGlfY3ZfYzk5X3ZzbnByaW50Zj15ZXMgXAorICAgICAgICAgICAgICAgICAgICAgICAgIGxpYl9jdl9fX3ZhX2NvcHk9eWVzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBsaWJfY3ZfdmFfY29weT15ZXMgXAorICAgICAgICAgICAgICAgICAgICAgICAgIGxpYl9jdl92YV92YWxfY29weT15ZXMgXAorICAgICAgICAgICAgICAgICAgICAgICAgIgorCisjIGhhcmRjb2RlIGVwb2xsKCkgdG8gYXZvaWQgcnVubmluZyB1bnNhZmUgdGVzdHMKKyMgQlNEIG5lZWRzIGtxdWV1ZSBhbmQgdWNsaWJjIHBvbGwoKQorRVhUUkFfT0VDT05GID0gIiAtLXdpdGgtaW9sb29wPWVwb2xsIFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLXN5c3RlbWRzeXN0ZW11bml0ZGlyPSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0iCisKK1NZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0iCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiZG92ZWNvdC5zZXJ2aWNlIGRvdmVjb3Quc29ja2V0IgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgaW5zdGFsbCAtZCA3NTUgJHtEfS9ldGMvZG92ZWNvdAorICAgIHRvdWNoIDY0NCAke0R9L2V0Yy9kb3ZlY290L2RvdmVjb3QuY29uZgorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2RvdmVjb3Quc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIHNlZCAtaSAtZSAncyNAU1lTQ09ORkRJUkAjJHtzeXNjb25mZGlyfSNnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9kb3ZlY290LnNlcnZpY2UKKyAgICBzZWQgLWkgLWUgJ3MjQFNCSU5ESVJAIyR7c2JpbmRpcn0jZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vZG92ZWNvdC5zZXJ2aWNlCit9CisKK1VTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCitVU0VSQUREX1BBUkFNXyR7UE59ID0gIi1yIC1kICR7bGliZXhlY2Rpcn0gLU0gLXMgJHtiYXNlX3NiaW5kaXJ9L25vbG9naW4gLWcgZG92ZWNvdCBkb3ZlY290OyBcCisgICAgICAgICAgICAgICAgICAgICAgLXIgLWQgJHtsaWJleGVjZGlyfSAtTSAtcyAke2Jhc2Vfc2JpbmRpcn0vbm9sb2dpbiAtZyBkb3ZlbnVsbCBkb3ZlbnVsbCIKK0dST1VQQUREX1BBUkFNXyR7UE59ID0gIi1mIC1yIGRvdmVjb3Q7LWYgLXIgZG92ZW51bGwiCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vZG92ZWNvdC8qcGx1Z2luLnNvIFwKKyAgICAgICAgICAgICAgICAke2xpYmRpcn0vZG92ZWNvdC9saWJmc19jb21wcmVzcy5zbyBcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2RvdmVjb3QvbGlic3NsX2lvc3RyZWFtX29wZW5zc2wuc28iCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS9kb3ZlY290LyovKi5hIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vZG92ZWNvdC9saWJkb3ZlY290Ki5zbyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2RvdmVjb3QvKi8uZGVidWciCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RyYmQvZHJiZF85LjAuMTYtMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZHJiZC9kcmJkXzkuMC4xNi0xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3OTRjNGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RyYmQvZHJiZF85LjAuMTYtMS5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gIkRpc3RyaWJ1dGVkIGJsb2NrIGRldmljZSBkcml2ZXIgZm9yIExpbnV4IgorREVTQ1JJUFRJT04gPSAiRFJCRCBpcyBhIGJsb2NrIGRldmljZSB3aGljaCBpcyBkZXNpZ25lZCB0byBidWlsZCBoaWdoIFwKKyAgICAgICAgICAgICAgIGF2YWlsYWJpbGl0eSBjbHVzdGVycy4gVGhpcyBpcyBkb25lIGJ5IG1pcnJvcmluZyBhIHdob2xlIFwKKyAgICAgICAgICAgICAgIGJsb2NrIGRldmljZSB2aWEgKGEgZGVkaWNhdGVkKSBuZXR3b3JrLiBZb3UgY291bGQgc2VlIFwKKyAgICAgICAgICAgICAgIGl0IGFzIGEgbmV0d29yayByYWlkLTEuIgorSE9NRVBBR0UgPSAiaHR0cDovL29zcy5saW5iaXQuY29tL2RyYmQvIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU1NzRjNjk2NWFlNWY1ODNlNTU4ODBlMzk3ZmJiMDE4IgorREVQRU5EUyA9ICJ2aXJ0dWFsL2tlcm5lbCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmxpbmJpdC5jb20vZG93bmxvYWRzL2RyYmQvOS4wL2RyYmQtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2NoZWNrX2V4aXN0ZW5jZV9vZl9tb2R1bGVzX2JlZm9yZV9pbnN0YWxsaW5nLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNjQxNGE5ZWVmMjgwN2M4MjEwYjY0MDNlMzZjZTNlYTQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjA3NGIwZDY0M2Y0YmJhZTQ2NDFkM2I0YmMzMGY0ODQwZTc0ZjJhMjEyZGQ5YzY1NTViODE0MWU1MzBlNTc4OSIKKworaW5oZXJpdCBtb2R1bGUKKworRVhUUkFfT0VNQUtFICs9ICJLRElSPScke1NUQUdJTkdfS0VSTkVMX0RJUn0nIgorCitkb19pbnN0YWxsICgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0iJHtEfSIKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZHJiZC9kcmJkXzkuMC44LTEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RyYmQvZHJiZF85LjAuOC0xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYTRkMTBiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZHJiZC9kcmJkXzkuMC44LTEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1TVU1NQVJZID0gIkRpc3RyaWJ1dGVkIGJsb2NrIGRldmljZSBkcml2ZXIgZm9yIExpbnV4IgotREVTQ1JJUFRJT04gPSAiRFJCRCBpcyBhIGJsb2NrIGRldmljZSB3aGljaCBpcyBkZXNpZ25lZCB0byBidWlsZCBoaWdoIFwKLSAgICAgICAgICAgICAgIGF2YWlsYWJpbGl0eSBjbHVzdGVycy4gVGhpcyBpcyBkb25lIGJ5IG1pcnJvcmluZyBhIHdob2xlIFwKLSAgICAgICAgICAgICAgIGJsb2NrIGRldmljZSB2aWEgKGEgZGVkaWNhdGVkKSBuZXR3b3JrLiBZb3UgY291bGQgc2VlIFwKLSAgICAgICAgICAgICAgIGl0IGFzIGEgbmV0d29yayByYWlkLTEuIgotSE9NRVBBR0UgPSAiaHR0cDovL29zcy5saW5iaXQuY29tL2RyYmQvIgotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU1NzRjNjk2NWFlNWY1ODNlNTU4ODBlMzk3ZmJiMDE4IgotREVQRU5EUyA9ICJ2aXJ0dWFsL2tlcm5lbCIKLQotU1JDX1VSSSA9ICJodHRwOi8vd3d3LmxpbmJpdC5jb20vZG93bmxvYWRzL2RyYmQvOS4wL2RyYmQtJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL2NoZWNrX2V4aXN0ZW5jZV9vZl9tb2R1bGVzX2JlZm9yZV9pbnN0YWxsaW5nLnBhdGNoIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiYzFkZDU4MDQzZjQ2ZTk5MjZiNTc5YWE2NWQ0ZWE5ODAiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiODdmNzJkNDZkYjliYWQ5MjY0MTViM2FiOWY1ZjEzOTdkZThjNTgxZDJlMmVjMWFkZGJkZDVjZTI2MDRlNjEyMyIKLWluaGVyaXQgbW9kdWxlCi0KLUVYVFJBX09FTUFLRSArPSAiS0RJUj0nJHtTVEFHSU5HX0tFUk5FTF9ESVJ9JyIKLQotZG9faW5zdGFsbCAoKSB7Ci0gICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9IiR7RH0iCi19Ci0KLVBOQkxBQ0tMSVNUW2RyYmRdID0gImltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdzZXR1cF90aW1lcic7IDQuMTUgaGVhZCBmaWxlIGlzc3VlPyIgCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRkYi9saWJ0ZGIvMDAwMS1NYWtlZmlsZS1maXgtcHJvYmxlbS10aGF0LXdhZi1jYW5ub3QtZm91bmQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRkYi9saWJ0ZGIvMDAwMS1NYWtlZmlsZS1maXgtcHJvYmxlbS10aGF0LXdhZi1jYW5ub3QtZm91bmQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTBmMmVmOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlidGRiL2xpYnRkYi8wMDAxLU1ha2VmaWxlLWZpeC1wcm9ibGVtLXRoYXQtd2FmLWNhbm5vdC1mb3VuZC5wYXRjaApAQCAtMCwwICsxLDM1IEBACitGcm9tIDcyMDU3NjFkNjU0NjM2YTZjMWZhZDAzYTNjYTQwZDM4ZTI1M2UxOTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorRGF0ZTogRnJpLCAyNSBKYW4gMjAxOSAxNjowMTowNyArMDgwMAorU3ViamVjdDogW1BBVENIXSBNYWtlZmlsZTogZml4IHByb2JsZW0gdGhhdCB3YWYgY2Fubm90IGZvdW5kCisKK3RkYiBpcyBzdWJmb2xkZXIgb2Ygc2FtYmEsIGJ1dCBpdCBjYW4gYWxzbyBidWlsZCBpbmRlcGVuZGVudGx5Lgorc28gYm90aCBwYXRoIG5lZWQgdG8gYmUgYWRkZWQgaW50byBQQVRICisKK1Vwc3RlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZSBzcGVjaWZpY10KKworRml4IHJlamVjdCBieSB1cHN0cmVhbSBzaW5jZSB1cHN0ZWFtIG5lZWQgdG8gc3VwcG9ydCBib3RoIHB5dGhvbjIvMywKK3NvIGRyb3AgYWRkIGFwcGVuZCBQQVRILiByZWZlciBsaW5rOgoraHR0cHM6Ly9naXRsYWIuY29tL3NhbWJhLXRlYW0vc2FtYmEvbWVyZ2VfcmVxdWVzdHMvMjA5CitodHRwczovL2dpdGxhYi5jb20vc2FtYmEtdGVhbS9zYW1iYS9tZXJnZV9yZXF1ZXN0cy8yMTEKKworU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorIE1ha2VmaWxlIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQoraW5kZXggM2U3MDE0Ni4uNjRiYjM5MyAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTEsNiArMSw2IEBACisgIyBzaW1wbGUgbWFrZWZpbGUgd3JhcHBlciB0byBydW4gd2FmCisgCistV0FGX0JJTkFSWT0kKFBZVEhPTikgLi4vLi4vYnVpbGR0b29scy9iaW4vd2FmCisrV0FGX0JJTkFSWT1QQVRIPWJ1aWxkdG9vbHMvYmluOi4uLy4uL2J1aWxkdG9vbHMvYmluOiQkUEFUSCB3YWYKKyBXQUY9UFlUSE9OSEFTSFNFRUQ9MSBXQUZfTUFLRT0xICQoV0FGX0JJTkFSWSkKKyAKKyBhbGw6CistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlidGRiL2xpYnRkYi8wMDAxLXdhZi1hZGQtc3VwcG9ydC1vZi1jcm9zc19jb21waWxlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZGIvbGlidGRiLzAwMDEtd2FmLWFkZC1zdXBwb3J0LW9mLWNyb3NzX2NvbXBpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTIwYzlhMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlidGRiL2xpYnRkYi8wMDAxLXdhZi1hZGQtc3VwcG9ydC1vZi1jcm9zc19jb21waWxlLnBhdGNoCkBAIC0wLDAgKzEsNjMgQEAKK0Zyb20gNGI4NDYzZmY0M2Y4OTgzYTcwNmIxODFjNTI5MjQ5MWY5Zjk1NGJlMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitEYXRlOiBGcmksIDI1IEphbiAyMDE5IDE1OjAwOjU5ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIHdhZjogYWRkIHN1cHBvcnQgb2YgY3Jvc3NfY29tcGlsZQorCitBZnRlciB1cGdyYWRlIGxpYnRkYiBmcm9tIDEuMy4xNiB0byAxLjMuMTcsIHdhZiBidWlsZCBzeXN0ZW0KK3doaWNoIHVzZWQgYnkgbGlidGRiIHVwZ3JhZGUgZnJvbSAxLjUuMTkgdG8gMi4wLjgKKworb24gMS41LjE5LCBmb3IgY3Jvc3NfY29tcGlsZSwgc3VicHJvY2Vzcy5Qb3BlbiBpcyBzZXQgdG8gYmUKK3NhbWJhX2Nyb3NzLmNyb3NzX1BvcGVuLCB3aGljaCB3aWxsIG5vdCBleGVjdXRlIHRlc3Rwcm9nIG9uCitob3N0LCBidXQgb25seSByZWFkIHJlc3VsdCBmcm9tIGNyb3NzLWFuc3dlcnMudHh0IHdoaWNoIGlzCitwYXNzZWQgYnkgb3B0aW9uIC0tY3Jvc3MtYW5zd2VyCisKK3BhcnQgb2Ygb2xkIGNvZGU6CisgICAgYXJncyA9IFV0aWxzLnRvX2xpc3Qoa3cuZ2V0KCdleGVjX2FyZ3MnLCBbXSkpCisgICAgcHJvYyA9IFV0aWxzLnBwcm9jLlBvcGVuKFtsYXN0cHJvZ10gKyBhcmdzLCBzdGRvdXQ9VXRpbHMucHByb2MuUElQRSwgc3RkZXJyPVV0aWxzLnBwcm9jLlBJUEUpCisKK2J1dCBvbiAyLjAuOCwgZXhlY19hcmdzIGlzIG5vdCB1c2VkIGFuZCBjYXVzZSBkb19jb25maWd1cmUKK2ZhaWxlZCB3aXRoIEV4ZWMgZm9ybWF0IGVycm9yCisKK2ZpeGVkIGJ5IGFwcGVuZCBjcm9zcyBhbnNlciByZWxhdGVkIGFyZ3MgdG8gY21kCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGxhYi5jb20vc2FtYmEtdGVhbS9zYW1iYS9tZXJnZV9yZXF1ZXN0cy8yMTFdCisKK1NpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyB0aGlyZF9wYXJ0eS93YWYvd2FmbGliL1Rvb2xzL2NfY29uZmlnLnB5IHwgMTEgKysrKysrLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvd2FmL3dhZmxpYi9Ub29scy9jX2NvbmZpZy5weSBiL3RoaXJkX3BhcnR5L3dhZi93YWZsaWIvVG9vbHMvY19jb25maWcucHkKK2luZGV4IDc2MDgyMTUuLjc2N2NmMzMgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS93YWYvd2FmbGliL1Rvb2xzL2NfY29uZmlnLnB5CisrKysgYi90aGlyZF9wYXJ0eS93YWYvd2FmbGliL1Rvb2xzL2NfY29uZmlnLnB5CitAQCAtNjYwLDIwICs2NjAsMjEgQEAgY2xhc3MgdGVzdF9leGVjKFRhc2suVGFzayk6CisgCSIiIgorIAljb2xvciA9ICdQSU5LJworIAlkZWYgcnVuKHNlbGYpOgorKwkJYXJncyA9IHNlbGYuZ2VuZXJhdG9yLmJsZC5rdy5nZXQoJ2V4ZWNfYXJncycsIFtdKQorIAkJaWYgZ2V0YXR0cihzZWxmLmdlbmVyYXRvciwgJ3JwYXRoJywgTm9uZSk6CisgCQkJaWYgZ2V0YXR0cihzZWxmLmdlbmVyYXRvciwgJ2RlZmluZV9yZXQnLCBGYWxzZSk6CistCQkJCXNlbGYuZ2VuZXJhdG9yLmJsZC5yZXR2YWwgPSBzZWxmLmdlbmVyYXRvci5ibGQuY21kX2FuZF9sb2coW3NlbGYuaW5wdXRzWzBdLmFic3BhdGgoKV0pCistCQkJZWxzZToKKy0JCQkJc2VsZi5nZW5lcmF0b3IuYmxkLnJldHZhbCA9IHNlbGYuZ2VuZXJhdG9yLmJsZC5leGVjX2NvbW1hbmQoW3NlbGYuaW5wdXRzWzBdLmFic3BhdGgoKV0pCisrCQkJCXNlbGYuZ2VuZXJhdG9yLmJsZC5yZXR2YWwgPSBzZWxmLmdlbmVyYXRvci5ibGQuY21kX2FuZF9sb2coW3NlbGYuaW5wdXRzWzBdLmFic3BhdGgoKV0gKyBhcmdzKQorKwkJCWVsc2U6IAorKwkJCQlzZWxmLmdlbmVyYXRvci5ibGQucmV0dmFsID0gc2VsZi5nZW5lcmF0b3IuYmxkLmV4ZWNfY29tbWFuZChbc2VsZi5pbnB1dHNbMF0uYWJzcGF0aCgpXSArIGFyZ3MpCisgCQllbHNlOgorIAkJCWVudiA9IHNlbGYuZW52LmVudiBvciB7fQorIAkJCWVudi51cGRhdGUoZGljdChvcy5lbnZpcm9uKSkKKyAJCQlmb3IgdmFyIGluICgnTERfTElCUkFSWV9QQVRIJywgJ0RZTERfTElCUkFSWV9QQVRIJywgJ1BBVEgnKToKKyAJCQkJZW52W3Zhcl0gPSBzZWxmLmlucHV0c1swXS5wYXJlbnQuYWJzcGF0aCgpICsgb3MucGF0aC5wYXRoc2VwICsgZW52LmdldCh2YXIsICcnKQorIAkJCWlmIGdldGF0dHIoc2VsZi5nZW5lcmF0b3IsICdkZWZpbmVfcmV0JywgRmFsc2UpOgorLQkJCQlzZWxmLmdlbmVyYXRvci5ibGQucmV0dmFsID0gc2VsZi5nZW5lcmF0b3IuYmxkLmNtZF9hbmRfbG9nKFtzZWxmLmlucHV0c1swXS5hYnNwYXRoKCldLCBlbnY9ZW52KQorKwkJCQlzZWxmLmdlbmVyYXRvci5ibGQucmV0dmFsID0gc2VsZi5nZW5lcmF0b3IuYmxkLmNtZF9hbmRfbG9nKFtzZWxmLmlucHV0c1swXS5hYnNwYXRoKCldICsgYXJncywgZW52PWVudikKKyAJCQllbHNlOgorLQkJCQlzZWxmLmdlbmVyYXRvci5ibGQucmV0dmFsID0gc2VsZi5nZW5lcmF0b3IuYmxkLmV4ZWNfY29tbWFuZChbc2VsZi5pbnB1dHNbMF0uYWJzcGF0aCgpXSwgZW52PWVudikKKysJCQkJc2VsZi5nZW5lcmF0b3IuYmxkLnJldHZhbCA9IHNlbGYuZ2VuZXJhdG9yLmJsZC5leGVjX2NvbW1hbmQoW3NlbGYuaW5wdXRzWzBdLmFic3BhdGgoKV0gKyBhcmdzLCBlbnY9ZW52KQorIAorIEBmZWF0dXJlKCd0ZXN0X2V4ZWMnKQorIEBhZnRlcl9tZXRob2QoJ2FwcGx5X2xpbmsnKQorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRkYi9saWJ0ZGIvdGRiLUFkZC1jb25maWd1cmUtb3B0aW9ucy1mb3ItcGFja2FnZXMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRkYi9saWJ0ZGIvdGRiLUFkZC1jb25maWd1cmUtb3B0aW9ucy1mb3ItcGFja2FnZXMucGF0Y2gKaW5kZXggMzY1YjkyZC4uZTZlMTAyMyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZGIvbGlidGRiL3RkYi1BZGQtY29uZmlndXJlLW9wdGlvbnMtZm9yLXBhY2thZ2VzLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlidGRiL2xpYnRkYi90ZGItQWRkLWNvbmZpZ3VyZS1vcHRpb25zLWZvci1wYWNrYWdlcy5wYXRjaApAQCAtMSw2ICsxLDYgQEAKLUZyb20gNmRlMWFmZmRkZGU0MDAzYTk1NjUyM2MzMzBlY2YyNGUyMmUwOTRhYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMTNiYmM4NTFkOWZkNzM5NmYwODc3NThlNjE0YWJiYTYwZWViMmFhZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDE5IEp1bCAyMDE4IDE2OjIwOjMyICswODAwCitEYXRlOiBXZWQsIDIzIEphbiAyMDE5IDEwOjE0OjA1ICswODAwCiBTdWJqZWN0OiBbUEFUQ0hdIHRkYjogQWRkIGNvbmZpZ3VyZSBvcHRpb25zIGZvciBwYWNrYWdlcwogCiBBZGQgY29uZmlndXJlIG9wdGlvbnMgZm9yIHRoZSBmb2xsb3dpbmcgcGFja2FnZXM6CkBAIC0yMSwxNiArMjEsMTkgQEAKIAogVXBkYXRlIGZvciBsaWJ0ZGJfMS4zLjE2CiBTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorCitVcGRhdGUgZm9yIGxpYnRkYl8xLjMuMTcKK1NpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CiAtLS0KLSBsaWIvcmVwbGFjZS93c2NyaXB0IHwgODkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KKyBsaWIvcmVwbGFjZS93c2NyaXB0IHwgOTUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KICB3c2NyaXB0ICAgICAgICAgICAgIHwgIDYgKysrKwotIDIgZmlsZXMgY2hhbmdlZCwgNzUgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCisgMiBmaWxlcyBjaGFuZ2VkLCA3OSBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2xpYi9yZXBsYWNlL3dzY3JpcHQgYi9saWIvcmVwbGFjZS93c2NyaXB0Ci1pbmRleCBmZDAwYTQyLi4yZGY4M2NkIDEwMDY0NAoraW5kZXggNmNiYWU5My4uN2FlYWY0NiAxMDA2NDQKIC0tLSBhL2xpYi9yZXBsYWNlL3dzY3JpcHQKICsrKyBiL2xpYi9yZXBsYWNlL3dzY3JpcHQKLUBAIC0yMyw2ICsyMyw0MSBAQCBkZWYgc2V0X29wdGlvbnMob3B0KToKK0BAIC0yNSw2ICsyNSw0MSBAQCBkZWYgb3B0aW9ucyhvcHQpOgogICAgICBvcHQuUFJJVkFURV9FWFRFTlNJT05fREVGQVVMVCgnJykKICAgICAgb3B0LlJFQ1VSU0UoJ2J1aWxkdG9vbHMvd2Fmc2FtYmEnKQogIApAQCAtNzIsNyArNzUsNyBAQAogIEBVdGlscy5ydW5fb25jZQogIGRlZiBjb25maWd1cmUoY29uZik6CiAgICAgIGNvbmYuUkVDVVJTRSgnYnVpbGR0b29scy93YWZzYW1iYScpCi1AQCAtMzIsMTIgKzY3LDI1IEBAIGRlZiBjb25maWd1cmUoY29uZik6CitAQCAtMzQsMTIgKzY5LDI1IEBAIGRlZiBjb25maWd1cmUoY29uZik6CiAgICAgIGNvbmYuREVGSU5FKCdIQVZFX0xJQlJFUExBQ0UnLCAxKQogICAgICBjb25mLkRFRklORSgnTElCUkVQTEFDRV9ORVRXT1JLX0NIRUNLUycsIDEpCiAgCkBAIC0xMDMsMjEgKzEwNiwyNCBAQAogICAgICBjb25mLkNIRUNLX0hFQURFUlMoJ3BvcnQuaCcpCiAgICAgIGNvbmYuQ0hFQ0tfSEVBREVSUygnc3lzL2ZjbnRsLmggc3lzL2ZpbGlvLmggc3lzL2ZpbHN5cy5oIHN5cy9mcy9zNXBhcmFtLmggc3lzL2ZzL3Z4L3F1b3RhLmgnKQogICAgICBjb25mLkNIRUNLX0hFQURFUlMoJ3N5cy9pZC5oIHN5cy9pb2N0bC5oIHN5cy9pcGMuaCBzeXMvbW1hbi5oIHN5cy9tb2RlLmggc3lzL25kaXIuaCBzeXMvcHJpdi5oJykKLUBAIC0xMDgsNyArMTU2LDkgQEAgZGVmIGNvbmZpZ3VyZShjb25mKToKK0BAIC0xMTAsOCArMTU4LDEwIEBAIGRlZiBjb25maWd1cmUoY29uZik6CiAgICAgIGNvbmYuQ0hFQ0tfSEVBREVSUygnc3lzL2ZpbGVpby5oIHN5cy9maWxlc3lzLmggc3lzL2R1c3RhdC5oIHN5cy9zeXNtYWNyb3MuaCcpCiAgICAgIGNvbmYuQ0hFQ0tfSEVBREVSUygneGZzL2xpYnhmcy5oIG5ldGdyb3VwLmgnKQogIAotLSAgICBjb25mLkNIRUNLX0hFQURFUlMoJ3ZhbGdyaW5kLmggdmFsZ3JpbmQvdmFsZ3JpbmQuaCB2YWxncmluZC9tZW1jaGVjay5oJykKKy0gICAgY29uZi5DSEVDS19IRUFERVJTKCd2YWxncmluZC5oIHZhbGdyaW5kL3ZhbGdyaW5kLmgnKQorLSAgICBjb25mLkNIRUNLX0hFQURFUlMoJ3ZhbGdyaW5kL21lbWNoZWNrLmggdmFsZ3JpbmQvaGVsZ3JpbmQuaCcpCiArICAgIGlmIE9wdGlvbnMub3B0aW9ucy5lbmFibGVfdmFsZ3JpbmQ6Ci0rICAgICAgICBjb25mLkNIRUNLX0hFQURFUlMoJ3ZhbGdyaW5kLmggdmFsZ3JpbmQvdmFsZ3JpbmQuaCB2YWxncmluZC9tZW1jaGVjay5oJykKKysgICAgICAgIGNvbmYuQ0hFQ0tfSEVBREVSUygndmFsZ3JpbmQuaCB2YWxncmluZC92YWxncmluZC5oJykKKysgICAgICAgIGNvbmYuQ0hFQ0tfSEVBREVSUygndmFsZ3JpbmQvbWVtY2hlY2suaCB2YWxncmluZC9oZWxncmluZC5oJykKICsKICAgICAgY29uZi5DSEVDS19IRUFERVJTKCduc3NfY29tbW9uLmggbnNzd2l0Y2guaCBuc19hcGkuaCcpCiAgICAgIGNvbmYuQ0hFQ0tfSEVBREVSUygnc3lzL2V4dGF0dHIuaCBzeXMvZWEuaCBzeXMvcHJvcGxpc3QuaCBzeXMvY2RlZnMuaCcpCiAgICAgIGNvbmYuQ0hFQ0tfSEVBREVSUygndXRtcC5oIHV0bXB4LmggbGFzdGxvZy5oJykKLUBAIC0zNDIsMjAgKzM5MiwxOSBAQCBkZWYgY29uZmlndXJlKGNvbmYpOgorQEAgLTM3OSwyMSArNDI5LDIyIEBAIGRlZiBjb25maWd1cmUoY29uZik6CisgICAgIGNvbmYuQ0hFQ0tfRlVOQ1MoJ3ByY3RsIGRpcm5hbWUgYmFzZW5hbWUnKQogIAogICAgICBzdHJsY3B5X2luX2JzZCA9IEZhbHNlCi0gCistCiAtICAgICMgbGliYnNkIG9uIHNvbWUgcGxhdGZvcm1zIHByb3ZpZGVzIHN0cmxjcHkgYW5kIHN0cmxjYXQKIC0gICAgaWYgbm90IGNvbmYuQ0hFQ0tfRlVOQ1MoJ3N0cmxjcHkgc3RybGNhdCcpOgogLSAgICAgICAgaWYgY29uZi5DSEVDS19GVU5DU19JTignc3RybGNweSBzdHJsY2F0JywgJ2JzZCcsIGhlYWRlcnM9J2JzZC9zdHJpbmcuaCcsCkBAIC0xMzIsMjcgKzEzOCwzMCBAQAogLQogLSAgICBpZiBub3QgY29uZi5DSEVDS19GVU5DUygnY2xvc2Vmcm9tJyk6CiAtICAgICAgICBjb25mLkNIRUNLX0ZVTkNTX0lOKCdjbG9zZWZyb20nLCAnYnNkJywgaGVhZGVycz0nYnNkL3VuaXN0ZC5oJykKKysgICAgCiArICAgIGlmIE9wdGlvbnMub3B0aW9ucy5lbmFibGVfbGliYnNkOgogKyAgICAgICAgIyBsaWJic2Qgb24gc29tZSBwbGF0Zm9ybXMgcHJvdmlkZXMgc3RybGNweSBhbmQgc3RybGNhdAogKyAgICAgICAgaWYgbm90IGNvbmYuQ0hFQ0tfRlVOQ1MoJ3N0cmxjcHkgc3RybGNhdCcpOgotKyAgICAgICAgICAgIGNvbmYuQ0hFQ0tfRlVOQ1NfSU4oJ3N0cmxjcHkgc3RybGNhdCcsICdic2QnLCBoZWFkZXJzPSdic2Qvc3RyaW5nLmgnLAotKyAgICAgICAgICAgICAgICAgICAgY2hlY2tsaWJjPVRydWUpCisrICAgICAgICAgICAgaWYgY29uZi5DSEVDS19GVU5DU19JTignc3RybGNweSBzdHJsY2F0JywgJ2JzZCcsIGhlYWRlcnM9J2JzZC9zdHJpbmcuaCcsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja2xpYmM9VHJ1ZSk6CisrICAgICAgICAgICAgICAgIHN0cmxjcHlfaW5fYnNkID0gVHJ1ZQogKyAgICAgICAgaWYgbm90IGNvbmYuQ0hFQ0tfRlVOQ1MoJ2dldHBlZXJlaWQnKToKICsgICAgICAgICAgICBjb25mLkNIRUNLX0ZVTkNTX0lOKCdnZXRwZWVyZWlkJywgJ2JzZCcsIGhlYWRlcnM9J3N5cy90eXBlcy5oIGJzZC91bmlzdGQuaCcpCiArICAgICAgICBpZiBub3QgY29uZi5DSEVDS19GVU5DU19JTignc2V0cHJvY3RpdGxlJywgJ3NldHByb2N0aXRsZScsIGhlYWRlcnM9J3NldHByb2N0aXRsZS5oJyk6CiArICAgICAgICAgICAgY29uZi5DSEVDS19GVU5DU19JTignc2V0cHJvY3RpdGxlJywgJ2JzZCcsIGhlYWRlcnM9J3N5cy90eXBlcy5oIGJzZC91bmlzdGQuaCcpCisrICAgICAgICBpZiBub3QgY29uZi5DSEVDS19GVU5DUygnc2V0cHJvY3RpdGxlX2luaXQnKToKKysgICAgICAgICAgICBjb25mLkNIRUNLX0ZVTkNTX0lOKCdzZXRwcm9jdGl0bGVfaW5pdCcsICdic2QnLCBoZWFkZXJzPSdzeXMvdHlwZXMuaCBic2QvdW5pc3RkLmgnKQogKwogKyAgICAgICAgaWYgbm90IGNvbmYuQ0hFQ0tfRlVOQ1MoJ2Nsb3NlZnJvbScpOgogKyAgICAgICAgICAgIGNvbmYuQ0hFQ0tfRlVOQ1NfSU4oJ2Nsb3NlZnJvbScsICdic2QnLCBoZWFkZXJzPSdic2QvdW5pc3RkLmgnKQotKyAgICAKICAKICAgICAgY29uZi5DSEVDS19DT0RFKCcnJwogICAgICAgICAgICAgICAgICBzdHJ1Y3QgdWNyZWQgY3JlZDsKIGRpZmYgLS1naXQgYS93c2NyaXB0IGIvd3NjcmlwdAotaW5kZXggNjUwNTY0OC4uNjYwODQ4MSAxMDA2NDQKK2luZGV4IGJjNWVlMjYuLjlhYzEwYjYgMTAwNjQ0CiAtLS0gYS93c2NyaXB0CiArKysgYi93c2NyaXB0Ci1AQCAtNjMsNiArNjMsMTIgQEAgZGVmIHNldF9vcHRpb25zKG9wdCk6CitAQCAtNjksNiArNjksMTIgQEAgZGVmIG9wdGlvbnMob3B0KToKICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwgZGVzdD0nZGlzYWJsZV90ZGJfbXV0ZXhfbG9ja2luZycsCiAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9RmFsc2UpCiAgCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRkYi9saWJ0ZGJfMS4zLjE2LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZGIvbGlidGRiXzEuMy4xNi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDU3OWVkNi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRkYi9saWJ0ZGJfMS4zLjE2LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotU1VNTUFSWSA9ICJUaGUgdGRiIGxpYnJhcnkiCi1IT01FUEFHRSA9ICJodHRwOi8vdGRiLnNhbWJhLm9yZy8iCi1TRUNUSU9OID0gImxpYnMiCi1MSUNFTlNFID0gIkxHUEwtMy4wKyAmIEdQTC0zLjArIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly90b29scy90ZGJkdW1wLmM7ZW5kbGluZT0xODttZDU9YjU5Y2Q0NWFhODYyNDU3ODEyNmE4Yzk4ZjQ4MDE4YzQgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vaW5jbHVkZS90ZGIuaDtlbmRsaW5lPTI3O21kNT1mNWJiNTQ0NjQxZDMwODE4MjFiY2MxZGQ1ODMxMGJlNiIKLQotU1JDX1VSSSA9ICJodHRwczovL3NhbWJhLm9yZy9mdHAvdGRiL3RkYi0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vZG8tbm90LWNoZWNrLXhzbHRwcm9jLW1hbnBhZ2VzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3RkYi1BZGQtY29uZmlndXJlLW9wdGlvbnMtZm9yLXBhY2thZ2VzLnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjdkMDZkODcwOTE4OGUwN2RmODUzZDllOTFkYjg4OTI3IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZhM2ZjMjYxNjU2N2YyMzk5Mzk4NGFkYTNjZWE5N2Q5NTNhMjc2NjlmZmQxYmZiYmU5NjFmMjZlMGNmOTZjYzUiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICJcCi0gICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnYWNsJywgZCl9IFwKLSAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3hhdHRyJywgJ2F0dHInLCAnJywgZCl9IFwKLSIKLVBBQ0tBR0VDT05GSUdbYWNsXSA9ICItLXdpdGgtYWNsLC0td2l0aG91dC1hY2wsYWNsIgotUEFDS0FHRUNPTkZJR1thdHRyXSA9ICItLXdpdGgtYXR0ciwtLXdpdGhvdXQtYXR0cixhdHRyIgotUEFDS0FHRUNPTkZJR1tsaWJhaW9dID0gIi0td2l0aC1saWJhaW8sLS13aXRob3V0LWxpYmFpbyxsaWJhaW8iCi1QQUNLQUdFQ09ORklHW2xpYmJzZF0gPSAiLS13aXRoLWxpYmJzZCwtLXdpdGhvdXQtbGliYnNkLGxpYmJzZCIKLVBBQ0tBR0VDT05GSUdbbGliY2FwXSA9ICItLXdpdGgtbGliY2FwLC0td2l0aG91dC1saWJjYXAsbGliY2FwIgotUEFDS0FHRUNPTkZJR1t2YWxncmluZF0gPSAiLS13aXRoLXZhbGdyaW5kLC0td2l0aG91dC12YWxncmluZCx2YWxncmluZCIKLQotUyA9ICIke1dPUktESVJ9L3RkYi0ke1BWfSIKLQotaW5oZXJpdCB3YWYtc2FtYmEKLQotRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtcnBhdGggXAotICAgICAgICAgICAgICAgICAtLWJ1bmRsZWQtbGlicmFyaWVzPU5PTkUgXAotICAgICAgICAgICAgICAgICAtLWJ1aWx0aW4tbGlicmFyaWVzPXJlcGxhY2UgXAotICAgICAgICAgICAgICAgICAtLXdpdGgtbGliaWNvbnY9JHtTVEFHSU5HX0RJUl9IT1NUfSR7cHJlZml4fVwKLSAgICAgICAgICAgICAgICAiCi0KLVBBQ0tBR0VTICs9ICJ0ZGItdG9vbHMgcHl0aG9uLXRkYiIKLQotUlBST1ZJREVTXyR7UE59LWRiZyArPSAicHl0aG9uLXRkYi1kYmciCi0KLUZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS8qLnNvLioiCi1GSUxFU190ZGItdG9vbHMgPSAiJHtiaW5kaXJ9LyoiCi1GSUxFU19weXRob24tdGRiID0gIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9CQVNFVkVSU0lPTn0vc2l0ZS1wYWNrYWdlcy8qIgotUkRFUEVORFNfcHl0aG9uLXRkYiA9ICJweXRob24iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRkYi9saWJ0ZGJfMS4zLjE3LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZGIvbGlidGRiXzEuMy4xNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Yzc3NTVjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZGIvbGlidGRiXzEuMy4xNy5iYgpAQCAtMCwwICsxLDUyIEBACitTVU1NQVJZID0gIlRoZSB0ZGIgbGlicmFyeSIKK0hPTUVQQUdFID0gImh0dHA6Ly90ZGIuc2FtYmEub3JnLyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTC0zLjArICYgR1BMLTMuMCsiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3Rvb2xzL3RkYmR1bXAuYztlbmRsaW5lPTE4O21kNT1iNTljZDQ1YWE4NjI0NTc4MTI2YThjOThmNDgwMThjNCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9pbmNsdWRlL3RkYi5oO2VuZGxpbmU9Mjc7bWQ1PWY1YmI1NDQ2NDFkMzA4MTgyMWJjYzFkZDU4MzEwYmU2IgorCitTUkNfVVJJID0gImh0dHBzOi8vc2FtYmEub3JnL2Z0cC90ZGIvdGRiLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9kby1ub3QtY2hlY2steHNsdHByb2MtbWFucGFnZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vdGRiLUFkZC1jb25maWd1cmUtb3B0aW9ucy1mb3ItcGFja2FnZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS13YWYtYWRkLXN1cHBvcnQtb2YtY3Jvc3NfY29tcGlsZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLU1ha2VmaWxlLWZpeC1wcm9ibGVtLXRoYXQtd2FmLWNhbm5vdC1mb3VuZC5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1MTlkMzczYWM3MmE2NmIwYTI3MzlkYmI0OTVkZTEyNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxY2I0Mzk5Mzk0YzYwYTc3MzQzMGNhNTQ4NDgzNTlhZGNmNTRmYjZmMTM2YWZkY2ZjYmJlNjJiNWY0MjQ1NjE0IgorCitQQUNLQUdFQ09ORklHID8/PSAiXAorICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2FjbCcsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4YXR0cicsICdhdHRyJywgJycsIGQpfSBcCisiCisKK1BBQ0tBR0VDT05GSUdbYWNsXSA9ICItLXdpdGgtYWNsLC0td2l0aG91dC1hY2wsYWNsIgorUEFDS0FHRUNPTkZJR1thdHRyXSA9ICItLXdpdGgtYXR0ciwtLXdpdGhvdXQtYXR0cixhdHRyIgorUEFDS0FHRUNPTkZJR1tsaWJhaW9dID0gIi0td2l0aC1saWJhaW8sLS13aXRob3V0LWxpYmFpbyxsaWJhaW8iCitQQUNLQUdFQ09ORklHW2xpYmJzZF0gPSAiLS13aXRoLWxpYmJzZCwtLXdpdGhvdXQtbGliYnNkLGxpYmJzZCIKK1BBQ0tBR0VDT05GSUdbbGliY2FwXSA9ICItLXdpdGgtbGliY2FwLC0td2l0aG91dC1saWJjYXAsbGliY2FwIgorUEFDS0FHRUNPTkZJR1t2YWxncmluZF0gPSAiLS13aXRoLXZhbGdyaW5kLC0td2l0aG91dC12YWxncmluZCx2YWxncmluZCIKKworUyA9ICIke1dPUktESVJ9L3RkYi0ke1BWfSIKKworaW5oZXJpdCB3YWYtc2FtYmEKKworI2Nyb3NzX2NvbXBpbGUgY2Fubm90IHVzZSBwcmVmb3JrZWQgcHJvY2Vzcywgc2luY2UgZm9yayBwcm9jZXNzIGVhcmxpZXIgdGhhbiBwb2ludCBzdWJwcm9jZXMucG9wZW4KKyN0byBjcm9zcyBQb3BlbgorZXhwb3J0IFdBRl9OT19QUkVGT1JLPSJ5ZXMiCisKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLXJwYXRoIFwKKyAgICAgICAgICAgICAgICAgLS1idW5kbGVkLWxpYnJhcmllcz1OT05FIFwKKyAgICAgICAgICAgICAgICAgLS1idWlsdGluLWxpYnJhcmllcz1yZXBsYWNlIFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLWxpYmljb252PSR7U1RBR0lOR19ESVJfSE9TVH0ke3ByZWZpeH1cCisgICAgICAgICAgICAgICAgIgorCitQQUNLQUdFUyArPSAidGRiLXRvb2xzIHB5dGhvbi10ZGIiCisKK1JQUk9WSURFU18ke1BOfS1kYmcgKz0gInB5dGhvbi10ZGItZGJnIgorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vKi5zby4qIgorRklMRVNfdGRiLXRvb2xzID0gIiR7YmluZGlyfS8qIgorRklMRVNfcHl0aG9uLXRkYiA9ICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059L3NpdGUtcGFja2FnZXMvKiIKK1JERVBFTkRTX3B5dGhvbi10ZGIgPSAicHl0aG9uIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saW51eC1hdG0vbGludXgtYXRtLzAwMDEtSUZOQU1TSVotaXMtZGVmaW5lZC1pbi1uZXQtaWYuaC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGludXgtYXRtL2xpbnV4LWF0bS8wMDAxLUlGTkFNU0laLWlzLWRlZmluZWQtaW4tbmV0LWlmLmgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTdjNzA5MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGludXgtYXRtL2xpbnV4LWF0bS8wMDAxLUlGTkFNU0laLWlzLWRlZmluZWQtaW4tbmV0LWlmLmgucGF0Y2gKQEAgLTAsMCArMSw0OCBAQAorRnJvbSAyOWIzN2U0NTU3N2MwOTIxODQ2YzE3MDlhMTkwZjA4YTNiMDMyNjY2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgOCBNYXIgMjAxOSAwOTowODozOCAtMDgwMAorU3ViamVjdDogW1BBVENIXSBJRk5BTVNJWiBpcyBkZWZpbmVkIGluIG5ldC9pZi5oCisKK0ZpeGVzCisvbW50L2EveW9lL2J1aWxkL3RtcC93b3JrL3FlbXVyaXNjdjY0LXlvZS1saW51eC1tdXNsL2xpbnV4LWF0bS8yLjUuMi1yMC9yZWNpcGUtc3lzcm9vdC91c3IvaW5jbHVkZS9saW51eC9pZl9hcnAuaDoxMjE6MTY6IGVycm9yOiAnSUZOQU1TSVonIHVuZGVjbGFyZWQgaGVyZSAobm90IGluIGEgZnVuY3Rpb24pCit8ICBjaGFyICBhcnBfZGV2W0lGTkFNU0laXTsKK3wgICAgICAgICAgICAgICAgXn5+fn5+fn4KK0luIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi8uLi8uLi9saW51eC1hdG0tMi41LjIvc3JjL2FycGQvaXRmLmM6MTc6CisvbW50L2EveW9lL2J1aWxkL3RtcC93b3JrL3FlbXVyaXNjdjY0LXlvZS1saW51eC1tdXNsL2xpbnV4LWF0bS8yLjUuMi1yMC9yZWNpcGUtc3lzcm9vdC91c3IvaW5jbHVkZS9saW51eC9pZl9hcnAuaDoxMjE6MTY6IGVycm9yOiAnSUZOQU1TSVonIHVuZGVjbGFyZWQgaGVyZSAobm90IGluIGEgZnVuY3Rpb24pCit8ICBjaGFyICBhcnBfZGV2W0lGTkFNU0laXTsKK3wgICAgICAgICAgICAgICAgXn5+fn5+fn4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgc3JjL2FycGQvYXJwLmMgfCAxICsKKyBzcmMvYXJwZC9pdGYuYyB8IDEgKworIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvYXJwZC9hcnAuYyBiL3NyYy9hcnBkL2FycC5jCitpbmRleCA5MmQzNzg3Li5mZjE1NzRjIDEwMDY0NAorLS0tIGEvc3JjL2FycGQvYXJwLmMKKysrKyBiL3NyYy9hcnBkL2FycC5jCitAQCAtMTcsNiArMTcsNyBAQAorICNpbmNsdWRlIDxuZXRpbmV0L2luLmg+IC8qIGZvciBudG9ocywgZXRjLiAqLworICNkZWZpbmUgX0xJTlVYX05FVERFVklDRV9IIC8qIHZlcnkgY3J1ZGUgaGFjayBmb3IgZ2xpYmMyICovCisgI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisrI2luY2x1ZGUgPG5ldC9pZi5oPgorICNpbmNsdWRlIDxsaW51eC9pZl9hcnAuaD4KKyAjaW5jbHVkZSA8bGludXgvaWZfZXRoZXIuaD4KKyAjaW5jbHVkZSA8YXRtLmg+CitkaWZmIC0tZ2l0IGEvc3JjL2FycGQvaXRmLmMgYi9zcmMvYXJwZC9pdGYuYworaW5kZXggOTJmMDk1MS4uZDI4NWUzYiAxMDA2NDQKKy0tLSBhL3NyYy9hcnBkL2l0Zi5jCisrKysgYi9zcmMvYXJwZC9pdGYuYworQEAgLTE0LDYgKzE0LDcgQEAKKyAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgorICNkZWZpbmUgX0xJTlVYX05FVERFVklDRV9IIC8qIGdsaWJjMiAqLworICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorKyNpbmNsdWRlIDxuZXQvaWYuaD4KKyAjaW5jbHVkZSA8bGludXgvaWZfYXJwLmg+CisgCisgI2luY2x1ZGUgImF0bWQuaCIKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGludXgtYXRtL2xpbnV4LWF0bV8yLjUuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGludXgtYXRtL2xpbnV4LWF0bV8yLjUuMi5iYgppbmRleCA5ZmNlNGZiLi41MTY4MmIxIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpbnV4LWF0bS9saW51eC1hdG1fMi41LjIuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saW51eC1hdG0vbGludXgtYXRtXzIuNS4yLmJiCkBAIC0xNCw2ICsxNCw3IEBACiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLXR0Y3AtQWRkLXByaW50Zi1mb3JtYXQtc3RyaW5nLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDItc2lnZC1SZXBsYWNlLW9uX2V4aXQtQVBJLXdpdGgtYXRleGl0LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDMtbXBvYWQtRHJvcC1vbGQtaGFjay10by1jb21waWxlLXdpdGgtdmVyeS1vbGQtZ2xpYmMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1JRk5BTVNJWi1pcy1kZWZpbmVkLWluLW5ldC1pZi5oLnBhdGNoIFwKICIKIAogU1JDX1VSSVttZDVzdW1dID0gImQ0OTQ5OTM2OGMzY2YxNWY3M2EwNWQ5YmNlODgyNGE4IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRjYXQvbmV0Y2F0LW9wZW5ic2RfMS4xOTAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldGNhdC9uZXRjYXQtb3BlbmJzZF8xLjE5MC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGVmYzA1Yy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldGNhdC9uZXRjYXQtb3BlbmJzZF8xLjE5MC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLXJlcXVpcmUgbmV0Y2F0LmluYwotU1VNTUFSWSA9ICJPcGVuQlNEIE5ldGNhdCIKLUhPTUVQQUdFID0gImh0dHA6Ly9mdHAuZGViaWFuLm9yZyIKLUxJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZGViaWFuL2NvcHlyaWdodDttZDU9ZjM5ZTYwYWU0ZWE5ZmRiNTU5YzgzM2JlMmU1OWRlOTkiCi0KLURFUEVORFMgKz0gImdsaWItMi4wIGxpYmJzZCIKLWRvX3BhdGNoW2RlcGVuZHNdID0gInF1aWx0LW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290IgotCi1TUkNfVVJJID0gImh0dHBzOi8vbGF1bmNocGFkLm5ldC91YnVudHUvK2FyY2hpdmUvcHJpbWFyeS8rc291cmNlZmlsZXMvbmV0Y2F0LW9wZW5ic2QvMS4xOTAtMi9uZXRjYXQtb3BlbmJzZF8ke1BWfS5vcmlnLnRhci5nejtuYW1lPW5ldGNhdCBcCi0gICAgICAgICAgIGh0dHBzOi8vbGF1bmNocGFkLm5ldC91YnVudHUvK2FyY2hpdmUvcHJpbWFyeS8rc291cmNlZmlsZXMvbmV0Y2F0LW9wZW5ic2QvMS4xOTAtMi9uZXRjYXQtb3BlbmJzZF8ke1BWfS0yLmRlYmlhbi50YXIueHo7bmFtZT1uZXRjYXQtcGF0Y2g7c3ViZGlyPSR7QlB9IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtYnVuZGxlLW93bi1iYXNlNjQtZW5jb2RlLWRlY29kZS1mdW5jdGlvbnMucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbmV0Y2F0Lm1kNXN1bV0gPSAiZGQzMmZkMWQ3OTAzYjU0MWFkODcwOTc5NDUzOWI5NTkiCi1TUkNfVVJJW25ldGNhdC5zaGEyNTZzdW1dID0gIjY4Y2NjNDQ4MzkyYzA1ZWM1MWJhZWQwMTY3YTcyYjhjNjUwNDU0Zjk5MGI4OTVkNmU2ODc3ZDQxNmEzOGU1MzYiCi1TUkNfVVJJW25ldGNhdC1wYXRjaC5tZDVzdW1dID0gIjc4MDU4YjdhZjAxNzA2NTRiODc3YjAyYzM3NzE2Y2RmIgotU1JDX1VSSVtuZXRjYXQtcGF0Y2guc2hhMjU2c3VtXSA9ICI4ODA4OGFmM2Y1MjBjNzgyNWU1OWJjMTMzZDY1ZTcwZmM0YTMwMTM5ZDQ1MWM2ZmFhYmJkOWYyNDBiYzc4Mzc0IgotCi1pbmhlcml0IHBrZ2NvbmZpZwotCi1FWFRSQV9PRU1BS0UgKz0gIidMREZMQUdTPSR7TERGTEFHU30nIgotCi1kb19jb25maWd1cmVbbm9leGVjXSA9ICIxIgotCi1uZXRjYXRfZG9fcGF0Y2goKSB7Ci0gICAgY2QgJHtTfQotICAgIHF1aWx0IHBvcCAtYSB8fCB0cnVlCi0gICAgaWYgWyAtZCAke1N9Ly5wYy1uZXRjYXQgXTsgdGhlbgotICAgICAgICAgICAgcm0gLXJmICR7U30vLnBjCi0gICAgICAgICAgICBtdiAke1N9Ly5wYy1uZXRjYXQgJHtTfS8ucGMKLSAgICAgICAgICAgIFFVSUxUX1BBVENIRVM9JHtTfS9kZWJpYW4vcGF0Y2hlcyBxdWlsdCBwb3AgLWEKLSAgICAgICAgICAgIHJtIC1yZiAke1N9Ly5wYwotICAgIGZpCi0gICAgUVVJTFRfUEFUQ0hFUz0ke1N9L2RlYmlhbi9wYXRjaGVzIHF1aWx0IHB1c2ggLWEKLSAgICBtdiAke1N9Ly5wYyAke1N9Ly5wYy1uZXRjYXQKLX0KLQotZG9fdW5wYWNrW2NsZWFuZGlyc10gKz0gIiR7U30iCi0KLXB5dGhvbiBkb19wYXRjaCgpIHsKLSAgICBiYi5idWlsZC5leGVjX2Z1bmMoJ25ldGNhdF9kb19wYXRjaCcsIGQpCi0gICAgYmIuYnVpbGQuZXhlY19mdW5jKCdwYXRjaF9kb19wYXRjaCcsIGQpCi19Ci0KLWRvX2NvbXBpbGUoKSB7Ci0gICAgY2QgJHtTfQotICAgIHBrZ3JlbD00Ci0gICAgb2VfcnVubWFrZSBDRkxBR1M9IiRDRkxBR1MgLURERUJJQU5fVkVSU0lPTj1cIlxcXCIke3BrZ3JlbH1cXFwiXCIiCi19Ci0KLWRvX2luc3RhbGwoKSB7Ci0gICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9Ci0gICAgaW5zdGFsbCAtbSA3NTUgJHtTfS9uYyAke0R9JHtiaW5kaXJ9L25jLiR7QlBOfQotfQotQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiNjAiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldGNhdC9uZXRjYXQtb3BlbmJzZF8xLjE5NS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmV0Y2F0L25ldGNhdC1vcGVuYnNkXzEuMTk1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwYWQ0M2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldGNhdC9uZXRjYXQtb3BlbmJzZF8xLjE5NS5iYgpAQCAtMCwwICsxLDU2IEBACityZXF1aXJlIG5ldGNhdC5pbmMKK1NVTU1BUlkgPSAiT3BlbkJTRCBOZXRjYXQiCitIT01FUEFHRSA9ICJodHRwOi8vZnRwLmRlYmlhbi5vcmciCitMSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RlYmlhbi9jb3B5cmlnaHQ7bWQ1PWYzOWU2MGFlNGVhOWZkYjU1OWM4MzNiZTJlNTlkZTk5IgorCitERVBFTkRTICs9ICJnbGliLTIuMCBsaWJic2QiCitkb19wYXRjaFtkZXBlbmRzXSA9ICJxdWlsdC1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCIKKworU1JDX1VSSSA9ICJodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi8yMDE4MTAyMlQwODU0MDRaL3Bvb2wvbWFpbi9uL25ldGNhdC1vcGVuYnNkL25ldGNhdC1vcGVuYnNkXyR7UFZ9Lm9yaWcudGFyLmd6O25hbWU9bmV0Y2F0IFwKKyAgICAgICAgICAgaHR0cDovL3NuYXBzaG90LmRlYmlhbi5vcmcvYXJjaGl2ZS9kZWJpYW4vMjAxODEwMjJUMDg1NDA0Wi9wb29sL21haW4vbi9uZXRjYXQtb3BlbmJzZC9uZXRjYXQtb3BlbmJzZF8ke1BWfS0xLmRlYmlhbi50YXIueHo7bmFtZT1uZXRjYXQtcGF0Y2g7c3ViZGlyPSR7QlB9IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtYnVuZGxlLW93bi1iYXNlNjQtZW5jb2RlLWRlY29kZS1mdW5jdGlvbnMucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbmV0Y2F0Lm1kNXN1bV0gPSAiMjE5ZDVlNDljNDU2NThlMjI5YTNiZGE2MzA2M2E5ODYiCitTUkNfVVJJW25ldGNhdC5zaGEyNTZzdW1dID0gIjBlMjgzYjJhMjE0MzEzYzY5NDQ3Y2Q5NjJjNTI4YWMxOWFmYjNkZGZlNjA2YjI1ZGU2ZDE3OWYxODdjZGU0YzMiCitTUkNfVVJJW25ldGNhdC1wYXRjaC5tZDVzdW1dID0gIjdlYmEyNDE5ODlkYmVmNmNhYTc4ZWM0YmM4ZTM1MTUxIgorU1JDX1VSSVtuZXRjYXQtcGF0Y2guc2hhMjU2c3VtXSA9ICJjNjczNmZjYmFiNTI1NGNiYmM1MjI3ODk5M2E5NTFkYTExMjZlNDI4MDBhMjk3YzI3ZGIyOTdlMzMyZTIwMTdlIgorCitpbmhlcml0IHBrZ2NvbmZpZworCitFWFRSQV9PRU1BS0UgKz0gIidMREZMQUdTPSR7TERGTEFHU30nIgorCitkb19jb25maWd1cmVbbm9leGVjXSA9ICIxIgorCituZXRjYXRfZG9fcGF0Y2goKSB7CisgICAgY2QgJHtTfQorICAgIHF1aWx0IHBvcCAtYSB8fCB0cnVlCisgICAgaWYgWyAtZCAke1N9Ly5wYy1uZXRjYXQgXTsgdGhlbgorICAgICAgICAgICAgcm0gLXJmICR7U30vLnBjCisgICAgICAgICAgICBtdiAke1N9Ly5wYy1uZXRjYXQgJHtTfS8ucGMKKyAgICAgICAgICAgIFFVSUxUX1BBVENIRVM9JHtTfS9kZWJpYW4vcGF0Y2hlcyBxdWlsdCBwb3AgLWEKKyAgICAgICAgICAgIHJtIC1yZiAke1N9Ly5wYworICAgIGZpCisgICAgUVVJTFRfUEFUQ0hFUz0ke1N9L2RlYmlhbi9wYXRjaGVzIHF1aWx0IHB1c2ggLWEKKyAgICBtdiAke1N9Ly5wYyAke1N9Ly5wYy1uZXRjYXQKK30KKworZG9fdW5wYWNrW2NsZWFuZGlyc10gKz0gIiR7U30iCisKK3B5dGhvbiBkb19wYXRjaCgpIHsKKyAgICBiYi5idWlsZC5leGVjX2Z1bmMoJ25ldGNhdF9kb19wYXRjaCcsIGQpCisgICAgYmIuYnVpbGQuZXhlY19mdW5jKCdwYXRjaF9kb19wYXRjaCcsIGQpCit9CisKK2RvX2NvbXBpbGUoKSB7CisgICAgY2QgJHtTfQorICAgIHBrZ3JlbD00CisgICAgb2VfcnVubWFrZSBDRkxBR1M9IiRDRkxBR1MgLURERUJJQU5fVkVSU0lPTj1cIlxcXCIke3BrZ3JlbH1cXFwiXCIiCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgJHtTfS9uYyAke0R9JHtiaW5kaXJ9L25jLiR7QlBOfQorfQorQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiNjAiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25naHR0cDIvbmdodHRwMl8xLjI2LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25naHR0cDIvbmdodHRwMl8xLjI2LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNjY2Q0ODYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZ2h0dHAyL25naHR0cDJfMS4yNi4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotU1VNTUFSWSA9ICJIVFRQLzIgQyBMaWJyYXJ5IGFuZCB0b29scyIKLUhPTUVQQUdFID0gImh0dHBzOi8vbmdodHRwMi5vcmcvIgotU0VDVElPTiA9ICJsaWJzIgotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NjRhYmRmMzBiMmVhZGQzN2NlNDdkY2JjZTBlYTFlYyIKLQotU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vbmdodHRwMi9uZ2h0dHAyL3JlbGVhc2VzL2Rvd25sb2FkL3Yke1BWfS9uZ2h0dHAyLSR7UFZ9LnRhci5iejIiCi1TUkNfVVJJW21kNXN1bV0gPSAiOTI2ZjA3YWQzYjUwZjM4ZjdkODkzNWNlZDA0NzE2Y2YiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGRmNDIyOWY0MTIzYjVhYTk2ZTgzNGViY2ZkZmZlOTU0ZTkzZDk4NmYwMjUyZmQxMDEyM2Q1MGM2ZjAxMDk4MyIKLQotREVQRU5EUyA9ICJsaWJ4bWwyIG9wZW5zc2wgemxpYiBqYW5zc29uIGN1bml0IGMtYXJlcyIKLQotaW5oZXJpdCBjbWFrZSBweXRob25uYXRpdmUgcHl0aG9uLWRpcgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZ2h0dHAyL25naHR0cDJfMS4zNy4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZ2h0dHAyL25naHR0cDJfMS4zNy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwMTk2ZDYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25naHR0cDIvbmdodHRwMl8xLjM3LjAuYmIKQEAgLTAsMCArMSwxMyBAQAorU1VNTUFSWSA9ICJIVFRQLzIgQyBMaWJyYXJ5IGFuZCB0b29scyIKK0hPTUVQQUdFID0gImh0dHBzOi8vbmdodHRwMi5vcmcvIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NjRhYmRmMzBiMmVhZGQzN2NlNDdkY2JjZTBlYTFlYyIKKworU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vbmdodHRwMi9uZ2h0dHAyL3JlbGVhc2VzL2Rvd25sb2FkL3Yke1BWfS9uZ2h0dHAyLSR7UFZ9LnRhci54eiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJkYzc1MzZkMDJhYTdkNDg4M2MyMGVhZjYzNzc0NzM4MSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhYTA5MGIxNjRiMTdmNGI5MWZlMzIzMTBhMWMwZWRmM2U5N2UwMmNkOWQxNTI0ZWVmNDJkNjBkZDFlOGQ0N2I3IgorCitERVBFTkRTID0gImxpYnhtbDIgb3BlbnNzbCB6bGliIGphbnNzb24gY3VuaXQgYy1hcmVzIgorCitpbmhlcml0IGNtYWtlIHB5dGhvbm5hdGl2ZSBweXRob24tZGlyCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25pcy9uaXMuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uaXMvbmlzLmluYwppbmRleCAyMDBlYWY3Li5hOTY4YWYxIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25pcy9uaXMuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmlzL25pcy5pbmMKQEAgLTI1LDcgKzI1LDcgQEAKICMgc28gZm9yY2UgdGhlIHBhY2thZ2UgdG8gYmUgc2tpcHBlZCBoZXJlICh0aGlzIHdpbGwgY2F1c2UgYQogIyAnbm90aGluZyBwcm92aWRlcycgZXJyb3IpCiBweXRob24gKCkgewotICAgIG9zID0gZC5nZXRWYXIoIlRBUkdFVF9PUyIsIFRydWUpCisgICAgb3MgPSBkLmdldFZhcigiVEFSR0VUX09TIikKICAgICBpZiBvcyA9PSAibGludXgtdWNsaWJjIjoKICAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFJlY2lwZSgiTklTIGZ1bmN0aW9uYWxpdHkgcmVxdWlyZXMgcnBjc3ZjL3lwLmgsIHVDbGliQyBkb2VzIG5vdCBwcm92aWRlIHRoaXMiKQogfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9vcGVuaXBtaS9vcGVuaXBtaV8yLjAuMjUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L29wZW5pcG1pL29wZW5pcG1pXzIuMC4yNS5iYgppbmRleCBkMjhlYmQ0Li5mMDQyNmNlIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L29wZW5pcG1pL29wZW5pcG1pXzIuMC4yNS5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L29wZW5pcG1pL29wZW5pcG1pXzIuMC4yNS5iYgpAQCAtMzgsNyArMzgsNyBAQAogU1JDX1VSSVttZDVzdW1dID0gIjE0NjFhYzRkNzhmYzUxNjY0NmZkMGE2ZTYwNWE4YjA1IgogU1JDX1VSSVtzaGEyNTZzdW1dID0gImYwZjFhMGVjNzMyNDA5OTMwYjdhMzFhNmRhYTZjZjM5YjU4NWY1MjA1OWI2MmE1ZjA5MmI3ZWNlMjFhYTc1YTUiCiAKLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcgcHl0aG9ubmF0aXZlIHBlcmxuYXRpdmUgdXBkYXRlLXJjLmQgc3lzdGVtZAoraW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZyBweXRob25uYXRpdmUgcGVybG5hdGl2ZSB1cGRhdGUtcmMuZCBzeXN0ZW1kIGNwYW4tYmFzZQogCiBFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXN0YXRpYyBcCiAgICAgICAgICAgICAgICAgLS13aXRoLXBlcmw9JyR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9wZXJsLW5hdGl2ZS9wZXJsJyBcCkBAIC03OCw2ICs3OCw3IEBACiAgICAgICAgIGVjaG8gIlNBTDogU1RBR0lOR19JTkNESVJfTkFUSVZFID0gJFNUQUdJTkdfSU5DRElSX05BVElWRSIKICAgICAgICAgZWNobyAiU0FMOiBsaWJkaXIgPSAkbGliZGlyIgogICAgICAgICBzZWQgLWkgLWUgIi9eUEVSTF9DRkxBR1MvczotSS91c3IvbG9jYWwvaW5jbHVkZTotSSR7U1RBR0lOR19JTkNESVJfTkFUSVZFfTpnIiAkaQorICAgICAgICBzZWQgLWkgLWUgIi9eUEVSTF9DRkxBR1MvczotSSAuKiA6LUkgJHtTVEFHSU5HX0xJQkRJUn0ke1BFUkxfT1dOX0RJUn0vcGVybDUvJHtAZ2V0X3BlcmxfdmVyc2lvbihkKX0vJHtAZ2V0X3BlcmxfYXJjaChkKX0vQ09SRSA6ZyIgJGkKICAgICAgICAgc2VkIC1pIC1lICIvXlBFUkxfSU5TVEFMTF9ESVIvczpeUEVSTF9JTlNUQUxMX0RJUiA9IC4qOlBFUkxfSU5TVEFMTF9ESVIgPSAke2xpYmRpcn0vcGVybC92ZW5kb3JfcGVybC8kcGVybF92ZXI6ZyIgJGkKICAgICBkb25lCiB9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3N0cm9uZ3N3YW4vc3Ryb25nc3dhbl81LjcuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvc3Ryb25nc3dhbi9zdHJvbmdzd2FuXzUuNy4xLmJiCmluZGV4IGM4YmIxN2MuLjVhNGUyZDMgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvc3Ryb25nc3dhbi9zdHJvbmdzd2FuXzUuNy4xLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvc3Ryb25nc3dhbi9zdHJvbmdzd2FuXzUuNy4xLmJiCkBAIC02Niw4ICs2Niw4IEBACiAgICAgZGJnbGliZGlyID0gb3MucGF0aC5qb2luKGxpYmRpciwgJy5kZWJ1ZycpCiAKICAgICBkZWYgYWRkX3BsdWdpbl9jb25mKGYsIHBrZywgZmlsZV9yZWdleCwgb3V0cHV0X3BhdHRlcm4sIG1vZHVsZW5hbWUpOgotICAgICAgICBkdmFyID0gZC5nZXRWYXIoJ1BLR0QnLCBUcnVlKQotICAgICAgICBvbGRmaWxlcyA9IGQuZ2V0VmFyKCdDT05GRklMRVNfJyArIHBrZywgVHJ1ZSkKKyAgICAgICAgZHZhciA9IGQuZ2V0VmFyKCdQS0dEJykKKyAgICAgICAgb2xkZmlsZXMgPSBkLmdldFZhcignQ09ORkZJTEVTXycgKyBwa2cpCiAgICAgICAgIG5ld2ZpbGUgPSAnLycgKyBvcy5wYXRoLnJlbHBhdGgoZiwgZHZhcikKIAogICAgICAgICBpZiBub3Qgb2xkZmlsZXM6CkBAIC04Myw3ICs4Myw3IEBACiAgICAgc3BsaXRfc3RhdGljZGV2X3BhY2thZ2VzID0gZG9fc3BsaXRfcGFja2FnZXMoZCwgbGliZGlyLCAnbGlic3Ryb25nc3dhbi0oLiopXC5hJywgJyR7UE59LXBsdWdpbi0lcy1zdGF0aWNkZXYnLCAnc3Ryb25nU3dhbiAlcyBwbHVnaW4gLSBEZXZlbG9wbWVudCBmaWxlcyAoU3RhdGljIExpYnJhcmllcyknLCBwcmVwZW5kPVRydWUsIGV4dHJhX2RlcGVuZHM9JyR7UE59LXN0YXRpY2RldicpCiAKICAgICBpZiBzcGxpdF9wYWNrYWdlczoKLSAgICAgICAgcG4gPSBkLmdldFZhcignUE4nLCBUcnVlKQorICAgICAgICBwbiA9IGQuZ2V0VmFyKCdQTicpCiAgICAgICAgIGQuc2V0VmFyKCdSUkVDT01NRU5EU18nICsgcG4gKyAnLXBsdWdpbnMnLCAnICcuam9pbihzcGxpdF9wYWNrYWdlcykpCiAgICAgICAgIGQuYXBwZW5kVmFyKCdSUkVDT01NRU5EU18nICsgcG4gKyAnLWRiZycsICcgJyArICcgJy5qb2luKHNwbGl0X2RiZ19wYWNrYWdlcykpCiAgICAgICAgIGQuYXBwZW5kVmFyKCdSUkVDT01NRU5EU18nICsgcG4gKyAnLWRldicsICcgJyArICcgJy5qb2luKHNwbGl0X2Rldl9wYWNrYWdlcykpCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcGR1bXAvdGNwZHVtcC9hdm9pZC1hYnNvbHV0ZS1wYXRoLXdoZW4tc2VhcmNoaW5nLWZvci1saWJkbHBpLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcGR1bXAvYXZvaWQtYWJzb2x1dGUtcGF0aC13aGVuLXNlYXJjaGluZy1mb3ItbGliZGxwaS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kODJjMTYwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcGR1bXAvYXZvaWQtYWJzb2x1dGUtcGF0aC13aGVuLXNlYXJjaGluZy1mb3ItbGliZGxwaS5wYXRjaApAQCAtMCwwICsxLDMwIEBACitGcm9tIGEyYmZkMjgwMzRkOWFhNDhkOGZmMTA5YzEzMTRlNTNiYzk3Nzk3NTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbmRyZSBNY0N1cmR5IDxhcm1jY3VyZHlAZ21haWwuY29tPgorRGF0ZTogV2VkLCAyNCBPY3QgMjAxOCAyMjoyNjowOCAtMDcwMAorU3ViamVjdDogW1BBVENIXSBhdm9pZCBhYnNvbHV0ZSBwYXRoIHdoZW4gc2VhcmNoaW5nIGZvciBsaWJkbHBpCisKK0xldCB0aGUgYnVpbGQgZW52aXJvbm1lbnQgY29udHJvbCBsaWJyYXJ5IHNlYXJjaCBwYXRocy4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQW5kcmUgTWNDdXJkeSA8YXJtY2N1cmR5QGdtYWlsLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5pbiB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgoraW5kZXggYzg4MjkwOS4uNTJhZWZkNiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5pbgorKysrIGIvY29uZmlndXJlLmluCitAQCAtNTQyLDcgKzU0Miw3IEBAIGRvbid0Ll0pCisgZmkKKyAKKyAjIGxpYmRscGkgaXMgbmVlZGVkIGZvciBTb2xhcmlzIDExIGFuZCBsYXRlci4KKy1BQ19DSEVDS19MSUIoZGxwaSwgZGxwaV93YWxrLCBMSUJTPSIkTElCUyAtbGRscGkiIExERkxBR1M9Ii1ML2xpYiAkTERGTEFHUyIsICwtTC9saWIpCisrQUNfQ0hFQ0tfTElCKGRscGksIGRscGlfd2FsaywgTElCUz0iJExJQlMgLWxkbHBpIikKKyAKKyBkbmwKKyBkbmwgQ2hlY2sgZm9yICJwY2FwX2xpc3RfZGF0YWxpbmtzKCkiLCAicGNhcF9zZXRfZGF0YWxpbmsoKSIsCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwZHVtcC90Y3BkdW1wL3VubmVjZXNzYXJ5LXRvLWNoZWNrLWxpYnBjYXAucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcGR1bXAvdGNwZHVtcC91bm5lY2Vzc2FyeS10by1jaGVjay1saWJwY2FwLnBhdGNoCmluZGV4IDhjZWZhZGYuLjY5ZDY4YmEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwZHVtcC90Y3BkdW1wL3VubmVjZXNzYXJ5LXRvLWNoZWNrLWxpYnBjYXAucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcGR1bXAvdW5uZWNlc3NhcnktdG8tY2hlY2stbGlicGNhcC5wYXRjaApAQCAtMSwxMCArMSw4IEBACi1Gcm9tIDc0MWQ3N2U0MmZjNGFmNDk4MDRmN2VlNDNiNzIzN2UwMTYzM2NiY2QgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGRkMDIzYzEzMzk4MGZjYzBjZmY1ODk2ZTg1Mzc3Njc1ZTA1NzE4OTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CiBEYXRlOiBUdWUsIDggSnVsIDIwMTQgMTM6MjA6NDcgKzA4MDAKIFN1YmplY3Q6IFtQQVRDSF0gdW5uZWNlc3NhcnkgdG8gY2hlY2sgbGlicGNhcAogCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQogc2luY2UgdGhlIGNoZWNrIG9mIGxpYnBjYXAgZGlkIG5vdCBjb25zaWRlciB0aGUgY3Jvc3MtY29tcGlsZSwgbGVhZCB0byB0aGUKIGJlbG93IGVycm9yOgogCVRoaXMgYXV0b2NvbmYgbG9nIGluZGljYXRlcyBlcnJvcnMsIGl0IGxvb2tlZCBhdCBob3N0IGluY2x1ZGUgYW5kL29yCkBAIC0xMywyMiArMTEsMjkgQEAKIEluIGZhY3QsIHRoZSBsaWJwY2FwIGhhcyBiZWVuIGFkZGVkIGludG8gdGhlIHRjcGR1bXAncyBERVBFTkRTLCBub3QgbmVlZCB0bwogY2hlY2sgaWYgbGlicGNhcCBleGlzdGVkLgogCi1TaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIHNwZWNpZmljXQogCitTaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitTaWduZWQtb2ZmLWJ5OiBBbmRyZSBNY0N1cmR5IDxhcm1jY3VyZHlAZ21haWwuY29tPgogLS0tCi0gY29uZmlndXJlLmluIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorIGNvbmZpZ3VyZS5pbiB8IDQgKysrLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgotaW5kZXggYjIzMDVhNS4uYjNiNWRiZiAxMDA2NDQKK2luZGV4IGIyMzA1YTUuLmM4ODI5MDkgMTAwNjQ0CiAtLS0gYS9jb25maWd1cmUuaW4KICsrKyBiL2NvbmZpZ3VyZS5pbgotQEAgLTQxOCw3ICs0MTgsNyBAQCBkbmwgU29tZSBwbGF0Zm9ybXMgbWF5IG5lZWQgLWxuc2wgZm9yIGdldHJwY2J5bnVtYmVyLgorQEAgLTQxOCw3ICs0MTgsOSBAQCBkbmwgU29tZSBwbGF0Zm9ybXMgbWF5IG5lZWQgLWxuc2wgZm9yIGdldHJwY2J5bnVtYmVyLgogIEFDX1NFQVJDSF9MSUJTKGdldHJwY2J5bnVtYmVyLCBuc2wsCiAgICAgIEFDX0RFRklORShIQVZFX0dFVFJQQ0JZTlVNQkVSLCAxLCBbZGVmaW5lIGlmIHlvdSBoYXZlIGdldHJwY2J5bnVtYmVyKCldKSkKICAKIC1BQ19MQkxfTElCUENBUChWX1BDQVBERVAsIFZfSU5DTFMpCi0rI0FDX0xCTF9MSUJQQ0FQKFZfUENBUERFUCwgVl9JTkNMUykKKysjIFNpbXBsaWZpZWQgKG1vcmUgY3Jvc3MgY29tcGlsZSBmcmllbmRseSkgY2hlY2sgZm9yIGxpYnBjYXAuIEFsbCB3ZSByZWFsbHkKKysjIG5lZWQgaXMgdG8gc2FuaXR5IGNoZWNrIHRoYXQgbGlicGNhcCBpcyBhdmFpbGFibGUgYW5kIGFkZCAtbHBjYXAgdG8gTElCUy4KKytBQ19DSEVDS19MSUIocGNhcCwgcGNhcF9jb21waWxlLCBMSUJTPSIkTElCUyAtbHBjYXAiKQogIAogICMKICAjIENoZWNrIGZvciB0aGVzZSBhZnRlciBBQ19MQkxfTElCUENBUCwgc28gd2UgbGluayB3aXRoIHRoZSBhcHByb3ByaWF0ZQorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcGR1bXAvdGNwZHVtcF80LjkuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwZHVtcC90Y3BkdW1wXzQuOS4yLmJiCmluZGV4IGQzODU0MGUuLjAzOGMxNjEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwZHVtcC90Y3BkdW1wXzQuOS4yLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwZHVtcC90Y3BkdW1wXzQuOS4yLmJiCkBAIC0xLDEzICsxLDE1IEBACiBTVU1NQVJZID0gIkEgc29waGlzdGljYXRlZCBuZXR3b3JrIHByb3RvY29sIGFuYWx5emVyIgogSE9NRVBBR0UgPSAiaHR0cDovL3d3dy50Y3BkdW1wLm9yZy8iCitTRUNUSU9OID0gIm5ldCIKIExJQ0VOU0UgPSAiQlNEIgogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MWQ0YjAzNjY1NTc5NTFjODRhOTRmYWJlMzUyOWY4NjciCi1TRUNUSU9OID0gIm5ldCIKKwogREVQRU5EUyA9ICJsaWJwY2FwIgogCiBTUkNfVVJJID0gIiBcCiAgICAgaHR0cDovL3d3dy50Y3BkdW1wLm9yZy9yZWxlYXNlLyR7QlB9LnRhci5neiBcCiAgICAgZmlsZTovL3VubmVjZXNzYXJ5LXRvLWNoZWNrLWxpYnBjYXAucGF0Y2ggXAorICAgIGZpbGU6Ly9hdm9pZC1hYnNvbHV0ZS1wYXRoLXdoZW4tc2VhcmNoaW5nLWZvci1saWJkbHBpLnBhdGNoIFwKICAgICBmaWxlOi8vYWRkLXB0ZXN0LnBhdGNoIFwKICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKICIKQEAgLTE1LDM0ICsxNywyNSBAQAogU1JDX1VSSVttZDVzdW1dID0gIjliYmMxZWUzM2RhYjYxMzAyNDExYjAyZGQwNTE1NTc2IgogU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc5OGIzNTM2YTI5ODMyY2UwY2JiMDdmYWZiMWNlNTA5N2M5NWUzMDhhNmY1OTJkMTQwNTJlMWVmMTUwNWZlNzkiCiAKLWV4cG9ydCBMSUJTPSIgLWxwY2FwIgotCiBpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcHRlc3QKLUNBQ0hFRF9DT05GSUdVUkVWQVJTID0gImFjX2N2X2xpbnV4X3ZlcnM9JHthY19jdl9saW51eF92ZXJzPTJ9IgogCi1QQUNLQUdFQ09ORklHID8/PSAib3BlbnNzbCIKLVBBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS13aXRoLWNyeXB0bz15ZXMsIC0td2l0aG91dC1vcGVuc3NsIC0td2l0aG91dC1jcnlwdG8sIG9wZW5zc2wiCi1QQUNLQUdFQ09ORklHW3NtaV0gPSAiLS13aXRoLXNtaSwgLS13aXRob3V0LXNtaSxsaWJzbWkiCi1QQUNLQUdFQ09ORklHW2xpYmNhcC1uZ10gPSAiLS13aXRoLWNhcC1uZz15ZXMsLS13aXRoLWNhcC1uZz1ubyxsaWJjYXAtbmciCitQQUNLQUdFQ09ORklHID89ICJvcGVuc3NsIgogCi1FWFRSQV9BVVRPUkVDT05GICs9ICIgLUkgbTQiCitQQUNLQUdFQ09ORklHW2xpYmNhcC1uZ10gPSAiLS13aXRoLWNhcC1uZywtLXdpdGhvdXQtY2FwLW5nLGxpYmNhcC1uZyIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS13aXRoLWNyeXB0bywtLXdpdGhvdXQtb3BlbnNzbCAtLXdpdGhvdXQtY3J5cHRvLG9wZW5zc2wiCitQQUNLQUdFQ09ORklHW3NtaV0gPSAiLS13aXRoLXNtaSwtLXdpdGhvdXQtc21pLGxpYnNtaSIKKworRVhUUkFfQVVUT1JFQ09ORiArPSAiLUkgbTQiCiAKIGRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewogICAgIG1rZGlyIC1wICR7U30vbTQKICAgICBpZiBbIC1mIGFjbG9jYWwubTQgXTsgdGhlbgogICAgICAgICBtdiBhY2xvY2FsLm00ICR7U30vbTQKICAgICBmaQotICAgICMgQUNfQ0hFQ0tfTElCKGRscGkuLiB3YXMgbG9va2luZyB0byBob3N0IC9saWIKLSAgICBzZWQgLWkgJ3M6LUwvbGliOjpnJyAuL2NvbmZpZ3VyZS5pbgotfQotZG9fY29uZmlndXJlX2FwcGVuZCgpIHsKLSAgICBzZWQgLWkgJ3M6LUwvdXNyL2xpYjo6JyAuL01ha2VmaWxlCi0gICAgc2VkIC1pICdzOi1XbCwtcnBhdGgsJHtTVEFHSU5HX0xJQkRJUn06OicgLi9NYWtlZmlsZQotICAgIHNlZCAtaSAnczotSS91c3IvaW5jbHVkZTo6JyAuL01ha2VmaWxlCiB9CiAKIGRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgICMgdGNwZHVtcCA0LjAuMCBpbnN0YWxscyBhIGNvcHkgdG8gL3Vzci9zYmluL3RjcGR1bXAuNC4wLjAKKyAgICAjIG1ha2UgaW5zdGFsbCBpbnN0YWxscyBhbiB1bm5lZWRlZCBleHRyYSBjb3B5IG9mIHRoZSB0Y3BkdW1wIGJpbmFyeQogICAgIHJtIC1mICR7RH0ke3NiaW5kaXJ9L3RjcGR1bXAuJHtQVn0KIH0KIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC93aXJlc2hhcmsvd2lyZXNoYXJrLzAwMDEtQWRkLWxpYm0tdG8tbGluay1mb3ItZm1vZC1BUEkucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3dpcmVzaGFyay93aXJlc2hhcmsvMDAwMS1BZGQtbGlibS10by1saW5rLWZvci1mbW9kLUFQSS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTY1ZWY5Yi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3dpcmVzaGFyay93aXJlc2hhcmsvMDAwMS1BZGQtbGlibS10by1saW5rLWZvci1mbW9kLUFQSS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLUZyb20gMWE2YTVkMmJjYjFhZGVjOWJhMTM4YzJlYmVlN2JiYzk5NDYyMGFmZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDEyIEp1biAyMDE4IDIzOjIzOjQ0IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIEFkZCBsaWJtIHRvIGxpbmsgZm9yIGZtb2QoKSBBUEkKLQotZml4ZXMKLWxkOiBDTWFrZUZpbGVzL3RzaGFyay5kaXIvdWkvY2xpL3RhcC1jb21wYXJlc3RhdC5jLm86IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gc3ltYm9sICdmbW9kQEBHTElCQ18yLjIuNScKLXwgL21udC9hL29lL2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0LWJlYy1saW51eC93aXJlc2hhcmsvMV8yLjYuMS1yMC9yZWNpcGUtc3lzcm9vdC9saWIvbGlibS5zby42OiBlcnJvciBhZGRpbmcgc3ltYm9sczogRFNPIG1pc3NpbmcgZnJvbSBjb21tYW5kIGxpbmUKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIENNYWtlTGlzdHMudHh0IHwgMSArCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCi0KLWRpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0Ci1pbmRleCA3OTUwZTg1Li5hY2VlMTQwIDEwMDY0NAotLS0tIGEvQ01ha2VMaXN0cy50eHQKLSsrKyBiL0NNYWtlTGlzdHMudHh0Ci1AQCAtMjQ5NCw2ICsyNDk0LDcgQEAgaWYoQlVJTERfdHNoYXJrKQotIAkJJHtMSUJFUEFOX0xJQlN9Ci0gCQkke0FQUExFX0NPUkVfRk9VTkRBVElPTl9MSUJSQVJZfQotIAkJJHtBUFBMRV9TWVNURU1fQ09ORklHVVJBVElPTl9MSUJSQVJZfQotKwkJbQotIAkpCi0gCXNldCh0c2hhcmtfRklMRVMKLSAJCWNhcHR1cmVfb3B0cy5jCi0tLSAKLTIuMTcuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3dpcmVzaGFyay93aXJlc2hhcmtfMi42LjYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3dpcmVzaGFyay93aXJlc2hhcmtfMi42LjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ2OTlmNjcuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC93aXJlc2hhcmsvd2lyZXNoYXJrXzIuNi42LmJiCisrKyAvZGV2L251bGwKQEAgLTEsOTQgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAid2lyZXNoYXJrIC0gYSBwb3B1bGFyIG5ldHdvcmsgcHJvdG9jb2wgYW5hbHl6ZXIiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LndpcmVzaGFyay5vcmciCi1TRUNUSU9OID0gIm5ldCIKLUxJQ0VOU0UgPSAiR1BMLTIuMCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTZlMjcxMjM0YmExYTEzYzZlNTEyZTc2Yjk0YWMyZjc3IgotCi1ERVBFTkRTID0gInBjcmUgZXhwYXQgZ2xpYi0yLjAgZ2xpYi0yLjAtbmF0aXZlIGxpYmdjcnlwdCBsaWJncGctZXJyb3IgbGlieG1sMiBiaXNvbi1uYXRpdmUiCi0KLURFUEVORFNfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgd2lyZXNoYXJrLW5hdGl2ZSBjaHJwYXRoLXJlcGxhY2VtZW50LW5hdGl2ZSAiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly8xLmFzLmRsLndpcmVzaGFyay5vcmcvc3JjL2FsbC12ZXJzaW9ucy8ke0JQfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1BZGQtbGlibS10by1saW5rLWZvci1mbW9kLUFQSS5wYXRjaCBcCi0gICAgICAgICAgIgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly8xLmFzLmRsLndpcmVzaGFyay5vcmcvc3JjIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiYjMwYmE1YjliNDhlZDJmZjkxYzBjZTM1N2QzM2I0NmIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDg3OTMzZWEwNzViZGJiMjVkOGRmMDYwMTdkOWM0ZjQ5ZmMyMGViN2Y2ZWM4MGFmMDg2NzE4ZWQ1NTUwZTg2MyIKLQotUEUgPSAiMSIKLQotaW5oZXJpdCBjbWFrZSBwa2djb25maWcgcHl0aG9ubmF0aXZlIHBlcmxuYXRpdmUgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuCi0KLUFSTV9JTlNUUlVDVElPTl9TRVQgPSAiYXJtIgotCi0jIE9wdGlvbnM6IGd0ayssIGd0ayszIGFuZCBxdDUKLUdUSyA9ICJndGsrMyIKLQotUEFDS0FHRUNPTkZJRyA/PSAibGlicGNhcCBnbnV0bHMgbGlibmwgbGliY2FwIHNiYyIKLVBBQ0tBR0VDT05GSUdfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJ4MTEiLCAiICR7R1RLfSIsICIiLCBkKX0iCi0KLVBBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlID0gImxpYnBjYXAgZ251dGxzIHNzbCBsaWJzc2giCi0KLVBBQ0tBR0VDT05GSUdbbGliY2FwXSA9ICItREVOQUJMRV9DQVA9T04sLURFTkFCTEVfQ0FQPU9GRiAtREVOQUJMRV9QQ0FQX05HX0RFRkFVTFQ9T04sIGxpYmNhcCIKLVBBQ0tBR0VDT05GSUdbbGlicGNhcF0gPSAiLURFTkFCTEVfUENBUD1PTiwtREVOQUJMRV9QQ0FQPU9GRiAtREVOQUJMRV9QQ0FQX05HX0RFRkFVTFQ9T04gLCBsaWJwY2FwIgotUEFDS0FHRUNPTkZJR1tsaWJzbWldID0gIi1ERU5BQkxFX1NNST1PTiwtREVOQUJMRV9TTUk9T0ZGLGxpYnNtaSIKLVBBQ0tBR0VDT05GSUdbbGlibmxdID0gIiwsbGlibmwiCi1QQUNLQUdFQ09ORklHW3BvcnRhdWRpb10gPSAiLURFTkFCTEVfUE9SVEFVRElPPU9OLC1ERU5BQkxFX1BPUlRBVURJTz1PRkYsIHBvcnRhdWRpby12MTkiCi1QQUNLQUdFQ09ORklHW2d0aytdID0gIi1ERU5BQkxFX0dUSz1PTiAtREJVSUxEX3dpcmVzaGFya19ndGs9T04sIC1ERU5BQkxFX0dUSz1PRkYsIGd0aysiCi1QQUNLQUdFQ09ORklHW2d0ayszXSA9ICItREVOQUJMRV9HVEszPU9OIC1EQlVJTERfd2lyZXNoYXJrX2d0az1PTiwgLURFTkFCTEVfR1RLMz1PRkYsIGd0ayszIgotUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIi1ERU5BQkxFX0dOVVRMUz1PTiwtREVOQUJMRV9HTlVUTFM9T0ZGLCBnbnV0bHMiCi1QQUNLQUdFQ09ORklHW3NzbF0gPSAiLCxvcGVuc3NsIgotUEFDS0FHRUNPTkZJR1trcmI1XSA9ICItREVOQUJMRV9LUkI1PU9OLC1ERU5BQkxFX0tSQjU9T0ZGLCBrcmI1IgotUEFDS0FHRUNPTkZJR1tsdWFdID0gIi1ERU5BQkxFX0xVQT1PTiwtREVOQUJMRV9MVUE9T0ZGLCBsdWEiCi1QQUNLQUdFQ09ORklHW3psaWJdID0gIi1ERU5BQkxFX1pMSUI9T04sLURFTkFCTEVfWkxJQj1PRkYsIHpsaWIiCi1QQUNLQUdFQ09ORklHW2dlb2lwXSA9ICIsLCBnZW9pcCIKLVBBQ0tBR0VDT05GSUdbcGx1Z2luc10gPSAiLURFTkFCTEVfUExVR0lOUz1PTiwtREVOQUJMRV9QTFVHSU5TPU9GRiIKLVBBQ0tBR0VDT05GSUdbc2JjXSA9ICItREVOQUJMRV9TQkM9T04sLURFTkFCTEVfU0JDPU9GRiwgc2JjIgotUEFDS0FHRUNPTkZJR1tsaWJzc2hdID0gIiwsbGlic3NoMiIKLVBBQ0tBR0VDT05GSUdbbHo0XSA9ICItREVOQUJMRV9MWjQ9T04sLURFTkFCTEVfTFo0PU9GRiwgbHo0IgotCi0jIHRoZXNlIG5leHQgdHdvIG9wdGlvbnMgcmVxdWlyZSBhZGRpb25hbCBsYXllcnMKLVBBQ0tBR0VDT05GSUdbYy1hcmVzXSA9ICItREVOQUJMRV9DQVJFUz1PTiwtREVOQUJMRV9DQVJFUz1PRkYsIGMtYXJlcyIKLVBBQ0tBR0VDT05GSUdbcXQ1XSA9ICItREVOQUJMRV9RVDU9T04gLURCVUlMRF93aXJlc2hhcms9T04sIC1ERU5BQkxFX1FUNT1PRkYgLURCVUlMRF93aXJlc2hhcms9T0ZGLCBxdGJhc2UiCi0KLUVYVFJBX09FQ01BS0UgKz0gIi1ERU5BQkxFX05FVExJTks9T04gXAotICAgICAgICAgICAgICAgICAgLURCVUlMRF9tbWRicmVzb2x2ZT1PRkYgXAotICAgICAgICAgICAgICAgICAgLURCVUlMRF9yYW5kcGt0ZHVtcD1PRkYgXAotICAgICAgICAgICAgICAgICAgLURCVUlMRF9hbmRyb2lkZHVtcD1PRkYgXAotICAgICAgICAgICAgICAgICAgLURCVUlMRF9kY2VycGNpZGwyd3JzPU9GRiBcCi0gICAgICAgICAgICAgICAgICAtRE1fSU5DTFVERV9ESVI9JHtpbmNsdWRlZGlyfSBcCi0gICAgICAgICAgICAgICAgICAtRE1fTElCUkFSWT0ke2xpYmRpcn0gXAotICAgICAgICAgICAgICAgICAiCi1DRkxBR1NfYXBwZW5kID0gIiAtbG0iCi0KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKLQlpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KLQlmb3IgZiBpbiBsZW1vbgotCWRvCi0JCWluc3RhbGwgLW0gMDc1NSAke0J9L3J1bi8kZiAke0R9JHtiaW5kaXJ9Ci0JZG9uZQotfQotCi1kb19pbnN0YWxsX2FwcGVuZF9jbGFzcy10YXJnZXQoKSB7Ci0JZm9yIGYgaW4gYGZpbmQgJHtEfSR7bGliZGlyfSAke0R9JHtiaW5kaXJ9IC10eXBlIGYgLWV4ZWN1dGFibGVgCi0JZG8KLQkJY2hycGF0aCAtLWRlbGV0ZSAkZgotCWRvbmUKLX0KLQotUEFDS0FHRV9CRUZPUkVfUE4gKz0gInRzaGFyayIKLVBBQ0tBR0VfQkVGT1JFX1BOICs9ICIke1BOfS1ndGsiCi0KLUZJTEVTX3RzaGFyayA9ICIke2JpbmRpcn0vdHNoYXJrICR7bWFuZGlyfS9tYW4xL3RzaGFyay4qIgotRklMRVNfJHtQTn0tZ3RrID0gIiR7YmluZGlyfS93aXJlc2hhcmstZ3RrICR7ZGF0YWRpcn0vaWNvbnMgJHtkYXRhZGlyfS9hcHBkYXRhIFwKLSAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2FwcGxpY2F0aW9ucyAke2RhdGFkaXJ9L3dpcmVzaGFyayAke2RhdGFkaXJ9L21pbWUgXAotICAgICAgICAgICAgICAgICAgICR7bWFuZGlyfS9tYW4xL3dpcmVzaGFyay4qICIKLQotRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0qIgotCi1SREVQRU5EU190c2hhcmsgPSAid2lyZXNoYXJrIgotUkRFUEVORFNfJHtQTn0tZ3RrID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAieDExIiwgIiR7R1RLfSIsICIiLCBkKX0gd2lyZXNoYXJrIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvd2lyZXNoYXJrL3dpcmVzaGFya18zLjAuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvd2lyZXNoYXJrL3dpcmVzaGFya18zLjAuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzU1ZTNkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC93aXJlc2hhcmsvd2lyZXNoYXJrXzMuMC4wLmJiCkBAIC0wLDAgKzEsODEgQEAKK0RFU0NSSVBUSU9OID0gIndpcmVzaGFyayAtIGEgcG9wdWxhciBuZXR3b3JrIHByb3RvY29sIGFuYWx5emVyIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy53aXJlc2hhcmsub3JnIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkdQTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT02ZTI3MTIzNGJhMWExM2M2ZTUxMmU3NmI5NGFjMmY3NyIKKworREVQRU5EUyA9ICJwY3JlIGV4cGF0IGdsaWItMi4wIGdsaWItMi4wLW5hdGl2ZSBsaWJnY3J5cHQgbGliZ3BnLWVycm9yIGxpYnhtbDIgYmlzb24tbmF0aXZlIgorCitERVBFTkRTX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIHdpcmVzaGFyay1uYXRpdmUgY2hycGF0aC1yZXBsYWNlbWVudC1uYXRpdmUgIgorCitTUkNfVVJJID0gImh0dHBzOi8vMS5ldS5kbC53aXJlc2hhcmsub3JnL3NyYy93aXJlc2hhcmstJHtQVn0udGFyLnh6IgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly8xLmFzLmRsLndpcmVzaGFyay5vcmcvc3JjIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMjU4ZDYyYWM3NDM0ZDEyNmRjNDk3MzAzYzhmNzk2MWIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYmM0ZjMwZjViMmU5NGYzYTY5NmZlZjlkZTQ0NjczY2RmNDAyZGI5MGFhYzUyOTk5NjZkYTY0N2Y3MDhmMDA5ZSIKKworUEUgPSAiMSIKKworaW5oZXJpdCBjbWFrZSBwa2djb25maWcgcHl0aG9uM25hdGl2ZSBwZXJsbmF0aXZlIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbgorCitBUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKKworUEFDS0FHRUNPTkZJRyA/PSAibGlicGNhcCBnbnV0bHMgbGlibmwgbGliY2FwIHNiYyIKKworUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmUgPSAibGlicGNhcCBnbnV0bHMgc3NsIGxpYnNzaCIKKworUEFDS0FHRUNPTkZJR1tsaWJjYXBdID0gIi1ERU5BQkxFX0NBUD1PTiwtREVOQUJMRV9DQVA9T0ZGIC1ERU5BQkxFX1BDQVBfTkdfREVGQVVMVD1PTiwgbGliY2FwIgorUEFDS0FHRUNPTkZJR1tsaWJwY2FwXSA9ICItREVOQUJMRV9QQ0FQPU9OLC1ERU5BQkxFX1BDQVA9T0ZGIC1ERU5BQkxFX1BDQVBfTkdfREVGQVVMVD1PTiAsIGxpYnBjYXAiCitQQUNLQUdFQ09ORklHW2xpYnNtaV0gPSAiLURFTkFCTEVfU01JPU9OLC1ERU5BQkxFX1NNST1PRkYsbGlic21pIgorUEFDS0FHRUNPTkZJR1tsaWJubF0gPSAiLCxsaWJubCIKK1BBQ0tBR0VDT05GSUdbcG9ydGF1ZGlvXSA9ICItREVOQUJMRV9QT1JUQVVESU89T04sLURFTkFCTEVfUE9SVEFVRElPPU9GRiwgcG9ydGF1ZGlvLXYxOSIKK1BBQ0tBR0VDT05GSUdbZ251dGxzXSA9ICItREVOQUJMRV9HTlVUTFM9T04sLURFTkFCTEVfR05VVExTPU9GRiwgZ251dGxzIgorUEFDS0FHRUNPTkZJR1tzc2xdID0gIiwsb3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdba3JiNV0gPSAiLURFTkFCTEVfS1JCNT1PTiwtREVOQUJMRV9LUkI1PU9GRiwga3JiNSIKK1BBQ0tBR0VDT05GSUdbbHVhXSA9ICItREVOQUJMRV9MVUE9T04sLURFTkFCTEVfTFVBPU9GRiwgbHVhIgorUEFDS0FHRUNPTkZJR1t6bGliXSA9ICItREVOQUJMRV9aTElCPU9OLC1ERU5BQkxFX1pMSUI9T0ZGLCB6bGliIgorUEFDS0FHRUNPTkZJR1tnZW9pcF0gPSAiLCwgZ2VvaXAiCitQQUNLQUdFQ09ORklHW3BsdWdpbnNdID0gIi1ERU5BQkxFX1BMVUdJTlM9T04sLURFTkFCTEVfUExVR0lOUz1PRkYiCitQQUNLQUdFQ09ORklHW3NiY10gPSAiLURFTkFCTEVfU0JDPU9OLC1ERU5BQkxFX1NCQz1PRkYsIHNiYyIKK1BBQ0tBR0VDT05GSUdbbGlic3NoXSA9ICIsLGxpYnNzaDIiCitQQUNLQUdFQ09ORklHW2x6NF0gPSAiLURFTkFCTEVfTFo0PU9OLC1ERU5BQkxFX0xaND1PRkYsIGx6NCIKKworIyB0aGVzZSBuZXh0IHR3byBvcHRpb25zIHJlcXVpcmUgYWRkaW9uYWwgbGF5ZXJzCitQQUNLQUdFQ09ORklHW2MtYXJlc10gPSAiLURFTkFCTEVfQ0FSRVM9T04sLURFTkFCTEVfQ0FSRVM9T0ZGLCBjLWFyZXMiCitQQUNLQUdFQ09ORklHW3F0NV0gPSAiLURFTkFCTEVfUVQ1PU9OIC1EQlVJTERfd2lyZXNoYXJrPU9OLCAtREVOQUJMRV9RVDU9T0ZGIC1EQlVJTERfd2lyZXNoYXJrPU9GRiwgcXRiYXNlIgorCitFWFRSQV9PRUNNQUtFICs9ICItREVOQUJMRV9ORVRMSU5LPU9OIFwKKyAgICAgICAgICAgICAgICAgIC1EQlVJTERfbW1kYnJlc29sdmU9T0ZGIFwKKyAgICAgICAgICAgICAgICAgIC1EQlVJTERfcmFuZHBrdGR1bXA9T0ZGIFwKKyAgICAgICAgICAgICAgICAgIC1EQlVJTERfYW5kcm9pZGR1bXA9T0ZGIFwKKyAgICAgICAgICAgICAgICAgIC1EQlVJTERfZGNlcnBjaWRsMndycz1PRkYgXAorICAgICAgICAgICAgICAgICAgLURNX0lOQ0xVREVfRElSPSR7aW5jbHVkZWRpcn0gXAorICAgICAgICAgICAgICAgICAgLURNX0xJQlJBUlk9JHtsaWJkaXJ9IFwKKyAgICAgICAgICAgICAgICAgIgorQ0ZMQUdTX2FwcGVuZCA9ICIgLWxtIgorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7CisJaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisJZm9yIGYgaW4gbGVtb24KKwlkbworCQlpbnN0YWxsIC1tIDA3NTUgJHtCfS9ydW4vJGYgJHtEfSR7YmluZGlyfQorCWRvbmUKK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgeworCWZvciBmIGluIGBmaW5kICR7RH0ke2xpYmRpcn0gJHtEfSR7YmluZGlyfSAtdHlwZSBmIC1leGVjdXRhYmxlYAorCWRvCisJCWNocnBhdGggLS1kZWxldGUgJGYKKwlkb25lCit9CisKK1BBQ0tBR0VfQkVGT1JFX1BOICs9ICJ0c2hhcmsiCisKK0ZJTEVTX3RzaGFyayA9ICIke2JpbmRpcn0vdHNoYXJrICR7bWFuZGlyfS9tYW4xL3RzaGFyay4qIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfSoiCisKK1JERVBFTkRTX3RzaGFyayA9ICJ3aXJlc2hhcmsiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9SRUFETUUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL1JFQURNRQppbmRleCBkZTM1MWYyLi4wZTlmODQyIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL1JFQURNRQorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL1JFQURNRQpAQCAtNCwxMyArNCwxMyBAQAogVGhpcyBsYXllciBkZXBlbmRzIG9uOgogCiBVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL29wZW5lbWJlZGRlZC1jb3JlLmdpdAotYnJhbmNoOiB0aHVkIAorYnJhbmNoOiBtYXN0ZXIKIHJldmlzaW9uOiBIRUFECiAKLVNlbmQgcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyB3aXRoICdbbWV0YS1vZV1bdGh1ZF0nIGluIHRoZSBzdWJqZWN0JworU2VuZCBwdWxsIHJlcXVlc3RzIHRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIHdpdGggJ1ttZXRhLW9lXScgaW4gdGhlIHN1YmplY3QnCiAKIFdoZW4gc2VuZGluZyBzaW5nbGUgcGF0Y2hlcywgcGxlYXNlIHVzZSBzb21ldGhpbmcgbGlrZToKLSdnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1vZVt0aHVkXVtQQVRDSCcKKydnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1vZV1bUEFUQ0gnCiAKIFlvdSBhcmUgZW5jb3VyYWdlZCB0byBmb3JrIHRoZSBtaXJyb3Igb24gR2l0SHViIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuZW1iZWRkZWQvb3BlbmVtYmVkZGVkLWNvcmUKIHRvIHNoYXJlIHlvdXIgcGF0Y2hlcywgdGhpcyBpcyBwcmVmZXJyZWQgZm9yIHBhdGNoIHNldHMgY29uc2lzdGluZyBvZiBtb3JlIHRoYW4gb25lIHBhdGNoLgpAQCAtMTksNCArMTksNCBAQAogJ2dpdCBmZXRjaCA8cmVtb3RlPicgd29ya3MgdGhlIHNhbWUgb24gYWxsIG9mIHRoZW0uIFdlIHJlY29tbWVuZCBHaXRIdWIgYmVjYXVzZSBpdCBpcyBmcmVlLCBlYXN5CiB0byB1c2UsIGhhcyBiZWVuIHByb3ZlbiB0byBiZSByZWxpYWJsZSBhbmQgaGFzIGEgcmVhbGx5IGdvb2Qgd2ViIEdVSS4KIAotVGh1ZCBtYWludGFpbmVyOiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgorbGF5ZXIgbWFpbnRhaW5lcjogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvY2xhc3Nlcy9icmVha3BhZC5iYmNsYXNzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jbGFzc2VzL2JyZWFrcGFkLmJiY2xhc3MKaW5kZXggMzZmMTFmZi4uY2ViZTU1OSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jbGFzc2VzL2JyZWFrcGFkLmJiY2xhc3MKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jbGFzc2VzL2JyZWFrcGFkLmJiY2xhc3MKQEAgLTI1LDYgKzI1LDkgQEAKIGJyZWFrcGFkX3BhY2thZ2VfcHJlcHJvY2VzcyAoKSB7CiAgICAgbWtkaXIgLXAgJHtQS0dEfS91c3Ivc2hhcmUvYnJlYWtwYWQtc3ltcwogICAgIGZpbmQgJHtEfSAtbmFtZSAke0JSRUFLUEFEX0JJTn0gLWV4ZWMgc2ggLWMgImR1bXBfc3ltcyB7fSA+ICR7UEtHRH0vdXNyL3NoYXJlL2JyZWFrcGFkLXN5bXMvJHtCUkVBS1BBRF9CSU59LnN5bSIgXDsKKyAgICBIQVNIPSQoaGVhZCAtbjEgJHtQS0dEfS91c3Ivc2hhcmUvYnJlYWtwYWQtc3ltcy8ke0JSRUFLUEFEX0JJTn0uc3ltIHwgcmV2IHwgY3V0IC1kICcgJyAtZjIgfCByZXYpCisgICAgbWtkaXIgLXAgJHtQS0dEfS91c3Ivc2hhcmUvYnJlYWtwYWQtc3ltcy8ke0JSRUFLUEFEX0JJTn0vJHtIQVNIfQorICAgIG12ICR7UEtHRH0vdXNyL3NoYXJlL2JyZWFrcGFkLXN5bXMvJHtCUkVBS1BBRF9CSU59LnN5bSAke1BLR0R9L3Vzci9zaGFyZS9icmVha3BhZC1zeW1zLyR7QlJFQUtQQURfQklOfS8ke0hBU0h9CiB9CiAKIFBBQ0tBR0VTID0rICIke1BOfS1icmVha3BhZCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvY2xhc3Nlcy9zY2FuY29kZS5iYmNsYXNzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jbGFzc2VzL3NjYW5jb2RlLmJiY2xhc3MKaW5kZXggNzAxNjYwZi4uZTBmMGRiYyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jbGFzc2VzL3NjYW5jb2RlLmJiY2xhc3MKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jbGFzc2VzL3NjYW5jb2RlLmJiY2xhc3MKQEAgLTMsMTggKzMsMTggQEAKICMgRm9yIG1vcmUgaW5mb3JtYWl0b24gaHR0cHM6Ly9naXRodWIuY29tL25leEIvc2NhbmNvZGUtdG9vbGtpdAogCiBTQ0FOQ09ERV9GT1JNQVQgPz0gImh0bWwtYXBwIgotRVhUID0gIiR7QCdodG1sJyBpZiBkLmdldFZhcignU0NBTkNPREVfRk9STUFUJywgVHJ1ZSkgPT0gJ2h0bWwtYXBwJyBlbHNlICdqc29uJ30iCitFWFQgPSAiJHtAJ2h0bWwnIGlmIGQuZ2V0VmFyKCdTQ0FOQ09ERV9GT1JNQVQnKSA9PSAnaHRtbC1hcHAnIGVsc2UgJ2pzb24nfSIKIFNDQU5DT0RFX1RPT0xLSVQgPSAiJHtAZ2V0X3NjYW5jb2RlX3Rvb2xraXQoZCl9IgogU0NBTkNPREVfVEFHID0gInYyLjIuMSIKIFNDQU5DT0RFX0dJVF9MT0NBVElPTiA/PSAiaHR0cHM6Ly9naXRodWIuY29tL25leEIvc2NhbmNvZGUtdG9vbGtpdC5naXQiCiBTQ0FOQ09ERV9TUkNfTE9DQVRJT04gPz0gIiR7RExfRElSfS9zY2FuY29kZSIKIAogZGVmIGdldF9zY2FuY29kZV90b29sa2l0KGQpOgotICAgIGxmID0gYmIudXRpbHMubG9ja2ZpbGUoZC5nZXRWYXIoJ1NDQU5DT0RFX1NSQ19MT0NBVElPTicsIFRydWUpICsgIi5sb2NrIikKLSAgICBpZiAobm90IG9zLnBhdGguZXhpc3RzKGQuZ2V0VmFyKCdTQ0FOQ09ERV9TUkNfTE9DQVRJT04nLCBUcnVlKSkpOgotICAgICAgICBvcy5zeXN0ZW0oImdpdCBjbG9uZSAlcyAlcyAtYiAlcyIgJSAoZC5nZXRWYXIoJ1NDQU5DT0RFX0dJVF9MT0NBVElPTicsIFRydWUpLCBkLmdldFZhcignU0NBTkNPREVfU1JDX0xPQ0FUSU9OJywgVHJ1ZSksIGQuZ2V0VmFyKCdTQ0FOQ09ERV9UQUcnLCBUcnVlKSkpCisgICAgbGYgPSBiYi51dGlscy5sb2NrZmlsZShkLmdldFZhcignU0NBTkNPREVfU1JDX0xPQ0FUSU9OJykgKyAiLmxvY2siKQorICAgIGlmIChub3Qgb3MucGF0aC5leGlzdHMoZC5nZXRWYXIoJ1NDQU5DT0RFX1NSQ19MT0NBVElPTicpKSk6CisgICAgICAgIG9zLnN5c3RlbSgiZ2l0IGNsb25lICVzICVzIC1iICVzIiAlIChkLmdldFZhcignU0NBTkNPREVfR0lUX0xPQ0FUSU9OJyksIGQuZ2V0VmFyKCdTQ0FOQ09ERV9TUkNfTE9DQVRJT04nKSwgZC5nZXRWYXIoJ1NDQU5DT0RFX1RBRycpKSkKICAgICBiYi51dGlscy51bmxvY2tmaWxlKGxmKQotICAgIHJldHVybiAoZC5nZXRWYXIoJ1NDQU5DT0RFX1NSQ19MT0NBVElPTicsIFRydWUpKQorICAgIHJldHVybiAoZC5nZXRWYXIoJ1NDQU5DT0RFX1NSQ19MT0NBVElPTicpKQogCiBkb19zY2FuY29kZSgpIHsKIAlta2RpciAtcCAke0RFUExPWV9ESVJfSU1BR0V9L3NjYW5jb2RlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2NvbmYvbGF5ZXIuY29uZiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvY29uZi9sYXllci5jb25mCmluZGV4IDIzYzEwY2UuLjMxZjJmMTcgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvY29uZi9sYXllci5jb25mCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvY29uZi9sYXllci5jb25mCkBAIC0yOSw3ICsyOSw3IEBACiAKIExBWUVSREVQRU5EU19vcGVuZW1iZWRkZWQtbGF5ZXIgPSAiY29yZSIKIAotTEFZRVJTRVJJRVNfQ09NUEFUX29wZW5lbWJlZGRlZC1sYXllciA9ICJ0aHVkIgorTEFZRVJTRVJJRVNfQ09NUEFUX29wZW5lbWJlZGRlZC1sYXllciA9ICJ0aHVkIHdhcnJpb3IiCiAKIExJQ0VOU0VfUEFUSCArPSAiJHtMQVlFUkRJUn0vbGljZW5zZXMiCiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvSERGNSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvSERGNQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMDQ4MWRkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9IREY1CkBAIC0wLDAgKzEsOTIgQEAKK0NvcHlyaWdodCBOb3RpY2UgYW5kIExpY2Vuc2UgVGVybXMgZm9yIAorSERGNSAoSGllcmFyY2hpY2FsIERhdGEgRm9ybWF0IDUpIFNvZnR3YXJlIExpYnJhcnkgYW5kIFV0aWxpdGllcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworSERGNSAoSGllcmFyY2hpY2FsIERhdGEgRm9ybWF0IDUpIFNvZnR3YXJlIExpYnJhcnkgYW5kIFV0aWxpdGllcworQ29weXJpZ2h0IChjKSAyMDA2LTIwMTgsIFRoZSBIREYgR3JvdXAuIAorCitOQ1NBIEhERjUgKEhpZXJhcmNoaWNhbCBEYXRhIEZvcm1hdCA1KSBTb2Z0d2FyZSBMaWJyYXJ5IGFuZCBVdGlsaXRpZXMKK0NvcHlyaWdodCAoYykgMTk5OC0yMDA2LCBUaGUgQm9hcmQgb2YgVHJ1c3RlZXMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMuIAorCitBbGwgcmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgCittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgZm9yIGFueSBwdXJwb3NlIChpbmNsdWRpbmcgY29tbWVyY2lhbCBwdXJwb3NlcykgCitwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCisxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIAorICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMsIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisKKzIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgCisgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucywgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiAKKyAgIGFuZC9vciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCiszLiBOZWl0aGVyIHRoZSBuYW1lIG9mIFRoZSBIREYgR3JvdXAsIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5LCBub3IgdGhlIAorICAgbmFtZSBvZiBhbnkgQ29udHJpYnV0b3IgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgCisgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24gZnJvbSAKKyAgIFRoZSBIREYgR3JvdXAsIHRoZSBVbml2ZXJzaXR5LCBvciB0aGUgQ29udHJpYnV0b3IsIHJlc3BlY3RpdmVseS4KKworRElTQ0xBSU1FUjogCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBIREYgR1JPVVAgQU5EIFRIRSBDT05UUklCVVRPUlMgCisiQVMgSVMiIFdJVEggTk8gV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTRUQgT1IgSU1QTElFRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEhERiBHUk9VUCBPUiBUSEUgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERBTUFHRVMgU1VGRkVSRUQgQlkgVEhFIFVTRVJTIEFSSVNJTkcgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAKK1lvdSBhcmUgdW5kZXIgbm8gb2JsaWdhdGlvbiB3aGF0c29ldmVyIHRvIHByb3ZpZGUgYW55IGJ1ZyBmaXhlcywgcGF0Y2hlcywgb3IgdXBncmFkZXMgdG8gdGhlIGZlYXR1cmVzLCBmdW5jdGlvbmFsaXR5IG9yIHBlcmZvcm1hbmNlIG9mIHRoZSBzb3VyY2UgY29kZSAoIkVuaGFuY2VtZW50cyIpIHRvIGFueW9uZTsgaG93ZXZlciwgaWYgeW91IGNob29zZSB0byBtYWtlIHlvdXIgRW5oYW5jZW1lbnRzIGF2YWlsYWJsZSBlaXRoZXIgcHVibGljbHksIG9yIGRpcmVjdGx5IHRvIFRoZSBIREYgR3JvdXAsIHdpdGhvdXQgaW1wb3NpbmcgYSBzZXBhcmF0ZSB3cml0dGVuIGxpY2Vuc2UgYWdyZWVtZW50IGZvciBzdWNoIEVuaGFuY2VtZW50cywgdGhlbiB5b3UgaGVyZWJ5IGdyYW50IHRoZSBmb2xsb3dpbmcgbGljZW5zZTogYSBub24tZXhjbHVzaXZlLCByb3lhbHR5LWZyZWUgcGVycGV0dWFsIGxpY2Vuc2UgdG8gaW5zdGFsbCwgdXNlLCBtb2RpZnksIHByZXBhcmUgZGVyaXZhdGl2ZSB3b3JrcywgaW5jb3Jwb3JhdGUgaW50byBvdGhlciBjb21wdXRlciBzb2Z0d2FyZSwgZGlzdHJpYnV0ZSwgYW5kIHN1YmxpY2Vuc2Ugc3VjaCBlbmhhbmNlbWVudHMgb3IgZGVyaXZhdGl2ZSB3b3JrcyB0aGVyZW9mLCBpbiBiaW5hcnkgYW5kIHNvdXJjZSBjb2RlIGZvcm0uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitMaW1pdGVkIHBvcnRpb25zIG9mIEhERjUgd2VyZSBkZXZlbG9wZWQgYnkgTGF3cmVuY2UgQmVya2VsZXkgTmF0aW9uYWwgCitMYWJvcmF0b3J5IChMQk5MKS4gTEJOTCdzIENvcHlyaWdodCBOb3RpY2UgYW5kIExpY2Vuc2luZyBUZXJtcyBjYW4gYmUKK2ZvdW5kIGhlcmU6IENPUFlJTkdfTEJOTF9IREY1IGZpbGUgaW4gdGhpcyBkaXJlY3Rvcnkgb3IgYXQgCitodHRwOi8vc3VwcG9ydC5oZGZncm91cC5vcmcvZnRwL0hERjUvcmVsZWFzZXMvQ09QWUlOR19MQk5MX0hERjUuIAorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ29udHJpYnV0b3JzOiAgIE5hdGlvbmFsIENlbnRlciBmb3IgU3VwZXJjb21wdXRpbmcgQXBwbGljYXRpb25zIChOQ1NBKSBhdCAKK3RoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzLCBGb3J0bmVyIFNvZnR3YXJlLCBVbmlkYXRhIFByb2dyYW0gQ2VudGVyIChuZXRDREYpLCBUaGUgSW5kZXBlbmRlbnQgSlBFRyBHcm91cCAoSlBFRyksIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRsZXIgKGd6aXApLCBhbmQgRGlnaXRhbCBFcXVpcG1lbnQgQ29ycG9yYXRpb24gKERFQykuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgCitQb3J0aW9ucyBvZiBIREY1IHdlcmUgZGV2ZWxvcGVkIHdpdGggc3VwcG9ydCBmcm9tIHRoZSBMYXdyZW5jZSBCZXJrZWxleSAKK05hdGlvbmFsIExhYm9yYXRvcnkgKExCTkwpIGFuZCB0aGUgVW5pdGVkIFN0YXRlcyBEZXBhcnRtZW50IG9mIEVuZXJneSAKK3VuZGVyIFByaW1lIENvbnRyYWN0IE5vLiBERS1BQzAyLTA1Q0gxMTIzMS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworUG9ydGlvbnMgb2YgSERGNSB3ZXJlIGRldmVsb3BlZCB3aXRoIHN1cHBvcnQgZnJvbSB0aGUgVW5pdmVyc2l0eSBvZiAKK0NhbGlmb3JuaWEsIExhd3JlbmNlIExpdmVybW9yZSBOYXRpb25hbCBMYWJvcmF0b3J5IChVQyBMTE5MKS4gIAorVGhlIGZvbGxvd2luZyBzdGF0ZW1lbnQgYXBwbGllcyB0byB0aG9zZSBwb3J0aW9ucyBvZiB0aGUgcHJvZHVjdCBhbmQgbXVzdCAKK2JlIHJldGFpbmVkIGluIGFueSByZWRpc3RyaWJ1dGlvbiBvZiBzb3VyY2UgY29kZSwgYmluYXJpZXMsIGRvY3VtZW50YXRpb24sIAorYW5kL29yIGFjY29tcGFueWluZyBtYXRlcmlhbHM6CisKKyAgIFRoaXMgd29yayB3YXMgcGFydGlhbGx5IHByb2R1Y2VkIGF0IHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEsIAorICAgTGF3cmVuY2UgTGl2ZXJtb3JlIE5hdGlvbmFsIExhYm9yYXRvcnkgKFVDIExMTkwpIHVuZGVyIGNvbnRyYWN0IAorICAgbm8uIFctNzQwNS1FTkctNDggKENvbnRyYWN0IDQ4KSBiZXR3ZWVuIHRoZSBVLlMuIERlcGFydG1lbnQgb2YgRW5lcmd5IAorICAgKERPRSkgYW5kIFRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEgKFVuaXZlcnNpdHkpIAorICAgZm9yIHRoZSBvcGVyYXRpb24gb2YgVUMgTExOTC4KKworICAgRElTQ0xBSU1FUjogCisgICBUaGlzIHdvcmsgd2FzIHByZXBhcmVkIGFzIGFuIGFjY291bnQgb2Ygd29yayBzcG9uc29yZWQgYnkgYW4gYWdlbmN5IG9mIAorICAgdGhlIFVuaXRlZCBTdGF0ZXMgR292ZXJubWVudC4gTmVpdGhlciB0aGUgVW5pdGVkIFN0YXRlcyBHb3Zlcm5tZW50IG5vciAKKyAgIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEgbm9yIGFueSBvZiB0aGVpciBlbXBsb3llZXMsIG1ha2VzIGFueSAKKyAgIHdhcnJhbnR5LCBleHByZXNzIG9yIGltcGxpZWQsIG9yIGFzc3VtZXMgYW55IGxpYWJpbGl0eSBvciByZXNwb25zaWJpbGl0eSAKKyAgIGZvciB0aGUgYWNjdXJhY3ksIGNvbXBsZXRlbmVzcywgb3IgdXNlZnVsbmVzcyBvZiBhbnkgaW5mb3JtYXRpb24sIAorICAgYXBwYXJhdHVzLCBwcm9kdWN0LCBvciBwcm9jZXNzIGRpc2Nsb3NlZCwgb3IgcmVwcmVzZW50cyB0aGF0IGl0cyB1c2UgCisgICB3b3VsZCBub3QgaW5mcmluZ2UgcHJpdmF0ZWx5LSBvd25lZCByaWdodHMuIFJlZmVyZW5jZSBoZXJlaW4gdG8gYW55IAorICAgc3BlY2lmaWMgY29tbWVyY2lhbCBwcm9kdWN0cywgcHJvY2Vzcywgb3Igc2VydmljZSBieSB0cmFkZSBuYW1lLCAKKyAgIHRyYWRlbWFyaywgbWFudWZhY3R1cmVyLCBvciBvdGhlcndpc2UsIGRvZXMgbm90IG5lY2Vzc2FyaWx5IGNvbnN0aXR1dGUgCisgICBvciBpbXBseSBpdHMgZW5kb3JzZW1lbnQsIHJlY29tbWVuZGF0aW9uLCBvciBmYXZvcmluZyBieSB0aGUgVW5pdGVkIAorICAgU3RhdGVzIEdvdmVybm1lbnQgb3IgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gVGhlIHZpZXdzIGFuZCAKKyAgIG9waW5pb25zIG9mIGF1dGhvcnMgZXhwcmVzc2VkIGhlcmVpbiBkbyBub3QgbmVjZXNzYXJpbHkgc3RhdGUgb3IgcmVmbGVjdCAKKyAgIHRob3NlIG9mIHRoZSBVbml0ZWQgU3RhdGVzIEdvdmVybm1lbnQgb3IgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYSwgCisgICBhbmQgc2hhbGwgbm90IGJlIHVzZWQgZm9yIGFkdmVydGlzaW5nIG9yIHByb2R1Y3QgZW5kb3JzZW1lbnQgcHVycG9zZXMuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0hERjUgaXMgYXZhaWxhYmxlIHdpdGggdGhlIFNaSVAgY29tcHJlc3Npb24gbGlicmFyeSBidXQgU1pJUCBpcyBub3QgcGFydCAKK29mIEhERjUgYW5kIGhhcyBzZXBhcmF0ZSBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgdGVybXMuIFNlZSBTWklQIENvbXByZXNzaW9uIAoraW4gSERGIFByb2R1Y3RzICh3d3cuaGRmZ3JvdXAub3JnL2RvY19yZXNvdXJjZS9TWklQLykgZm9yIGZ1cnRoZXIgZGV0YWlscy4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9TU1BMLTEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL1NTUEwtMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZTEzODNkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9TU1BMLTEKQEAgLTAsMCArMSw1NTcgQEAKKyAgICAgICAgICAgICAgICAgICAgIFNlcnZlciBTaWRlIFB1YmxpYyBMaWNlbnNlCisgICAgICAgICAgICAgICAgICAgICBWRVJTSU9OIDEsIE9DVE9CRVIgMTYsIDIwMTgKKworICAgICAgICAgICAgICAgICAgICBDb3B5cmlnaHQgwqkgMjAxOCBNb25nb0RCLCBJbmMuCisKKyAgRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzIG9mIHRoaXMKKyAgbGljZW5zZSBkb2N1bWVudCwgYnV0IGNoYW5naW5nIGl0IGlzIG5vdCBhbGxvd2VkLgorCisgICAgICAgICAgICAgICAgICAgICAgIFRFUk1TIEFORCBDT05ESVRJT05TCisKKyAgMC4gRGVmaW5pdGlvbnMuCisgIAorICDigJxUaGlzIExpY2Vuc2XigJ0gcmVmZXJzIHRvIFNlcnZlciBTaWRlIFB1YmxpYyBMaWNlbnNlLgorCisgIOKAnENvcHlyaWdodOKAnSBhbHNvIG1lYW5zIGNvcHlyaWdodC1saWtlIGxhd3MgdGhhdCBhcHBseSB0byBvdGhlciBraW5kcyBvZgorICB3b3Jrcywgc3VjaCBhcyBzZW1pY29uZHVjdG9yIG1hc2tzLgorCisgIOKAnFRoZSBQcm9ncmFt4oCdIHJlZmVycyB0byBhbnkgY29weXJpZ2h0YWJsZSB3b3JrIGxpY2Vuc2VkIHVuZGVyIHRoaXMKKyAgTGljZW5zZS4gIEVhY2ggbGljZW5zZWUgaXMgYWRkcmVzc2VkIGFzIOKAnHlvdeKAnS4g4oCcTGljZW5zZWVz4oCdIGFuZAorICDigJxyZWNpcGllbnRz4oCdIG1heSBiZSBpbmRpdmlkdWFscyBvciBvcmdhbml6YXRpb25zLgorCisgIFRvIOKAnG1vZGlmeeKAnSBhIHdvcmsgbWVhbnMgdG8gY29weSBmcm9tIG9yIGFkYXB0IGFsbCBvciBwYXJ0IG9mIHRoZSB3b3JrIGluCisgIGEgZmFzaGlvbiByZXF1aXJpbmcgY29weXJpZ2h0IHBlcm1pc3Npb24sIG90aGVyIHRoYW4gdGhlIG1ha2luZyBvZiBhbgorICBleGFjdCBjb3B5LiBUaGUgcmVzdWx0aW5nIHdvcmsgaXMgY2FsbGVkIGEg4oCcbW9kaWZpZWQgdmVyc2lvbuKAnSBvZiB0aGUKKyAgZWFybGllciB3b3JrIG9yIGEgd29yayDigJxiYXNlZCBvbuKAnSB0aGUgZWFybGllciB3b3JrLgorCisgIEEg4oCcY292ZXJlZCB3b3Jr4oCdIG1lYW5zIGVpdGhlciB0aGUgdW5tb2RpZmllZCBQcm9ncmFtIG9yIGEgd29yayBiYXNlZCBvbgorICB0aGUgUHJvZ3JhbS4KKworICBUbyDigJxwcm9wYWdhdGXigJ0gYSB3b3JrIG1lYW5zIHRvIGRvIGFueXRoaW5nIHdpdGggaXQgdGhhdCwgd2l0aG91dAorICBwZXJtaXNzaW9uLCB3b3VsZCBtYWtlIHlvdSBkaXJlY3RseSBvciBzZWNvbmRhcmlseSBsaWFibGUgZm9yCisgIGluZnJpbmdlbWVudCB1bmRlciBhcHBsaWNhYmxlIGNvcHlyaWdodCBsYXcsIGV4Y2VwdCBleGVjdXRpbmcgaXQgb24gYQorICBjb21wdXRlciBvciBtb2RpZnlpbmcgYSBwcml2YXRlIGNvcHkuIFByb3BhZ2F0aW9uIGluY2x1ZGVzIGNvcHlpbmcsCisgIGRpc3RyaWJ1dGlvbiAod2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiksIG1ha2luZyBhdmFpbGFibGUgdG8gdGhlCisgIHB1YmxpYywgYW5kIGluIHNvbWUgY291bnRyaWVzIG90aGVyIGFjdGl2aXRpZXMgYXMgd2VsbC4KKworICBUbyDigJxjb252ZXnigJ0gYSB3b3JrIG1lYW5zIGFueSBraW5kIG9mIHByb3BhZ2F0aW9uIHRoYXQgZW5hYmxlcyBvdGhlcgorICBwYXJ0aWVzIHRvIG1ha2Ugb3IgcmVjZWl2ZSBjb3BpZXMuIE1lcmUgaW50ZXJhY3Rpb24gd2l0aCBhIHVzZXIgdGhyb3VnaCBhCisgIGNvbXB1dGVyIG5ldHdvcmssIHdpdGggbm8gdHJhbnNmZXIgb2YgYSBjb3B5LCBpcyBub3QgY29udmV5aW5nLgorCisgIEFuIGludGVyYWN0aXZlIHVzZXIgaW50ZXJmYWNlIGRpc3BsYXlzIOKAnEFwcHJvcHJpYXRlIExlZ2FsIE5vdGljZXPigJ0gdG8gdGhlCisgIGV4dGVudCB0aGF0IGl0IGluY2x1ZGVzIGEgY29udmVuaWVudCBhbmQgcHJvbWluZW50bHkgdmlzaWJsZSBmZWF0dXJlIHRoYXQKKyAgKDEpIGRpc3BsYXlzIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UsIGFuZCAoMikgdGVsbHMgdGhlIHVzZXIgdGhhdAorICB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIHdvcmsgKGV4Y2VwdCB0byB0aGUgZXh0ZW50IHRoYXQgd2FycmFudGllcworICBhcmUgcHJvdmlkZWQpLCB0aGF0IGxpY2Vuc2VlcyBtYXkgY29udmV5IHRoZSB3b3JrIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kCisgIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzIExpY2Vuc2UuIElmIHRoZSBpbnRlcmZhY2UgcHJlc2VudHMgYSBsaXN0IG9mCisgIHVzZXIgY29tbWFuZHMgb3Igb3B0aW9ucywgc3VjaCBhcyBhIG1lbnUsIGEgcHJvbWluZW50IGl0ZW0gaW4gdGhlIGxpc3QKKyAgbWVldHMgdGhpcyBjcml0ZXJpb24uCisKKyAgMS4gU291cmNlIENvZGUuCisKKyAgVGhlIOKAnHNvdXJjZSBjb2Rl4oCdIGZvciBhIHdvcmsgbWVhbnMgdGhlIHByZWZlcnJlZCBmb3JtIG9mIHRoZSB3b3JrIGZvcgorICBtYWtpbmcgbW9kaWZpY2F0aW9ucyB0byBpdC4g4oCcT2JqZWN0IGNvZGXigJ0gbWVhbnMgYW55IG5vbi1zb3VyY2UgZm9ybSBvZiBhCisgIHdvcmsuCisKKyAgQSDigJxTdGFuZGFyZCBJbnRlcmZhY2XigJ0gbWVhbnMgYW4gaW50ZXJmYWNlIHRoYXQgZWl0aGVyIGlzIGFuIG9mZmljaWFsCisgIHN0YW5kYXJkIGRlZmluZWQgYnkgYSByZWNvZ25pemVkIHN0YW5kYXJkcyBib2R5LCBvciwgaW4gdGhlIGNhc2Ugb2YKKyAgaW50ZXJmYWNlcyBzcGVjaWZpZWQgZm9yIGEgcGFydGljdWxhciBwcm9ncmFtbWluZyBsYW5ndWFnZSwgb25lIHRoYXQgaXMKKyAgd2lkZWx5IHVzZWQgYW1vbmcgZGV2ZWxvcGVycyB3b3JraW5nIGluIHRoYXQgbGFuZ3VhZ2UuICBUaGUg4oCcU3lzdGVtCisgIExpYnJhcmllc+KAnSBvZiBhbiBleGVjdXRhYmxlIHdvcmsgaW5jbHVkZSBhbnl0aGluZywgb3RoZXIgdGhhbiB0aGUgd29yayBhcworICBhIHdob2xlLCB0aGF0IChhKSBpcyBpbmNsdWRlZCBpbiB0aGUgbm9ybWFsIGZvcm0gb2YgcGFja2FnaW5nIGEgTWFqb3IKKyAgQ29tcG9uZW50LCBidXQgd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhhdCBNYWpvciBDb21wb25lbnQsIGFuZCAoYikgc2VydmVzCisgIG9ubHkgdG8gZW5hYmxlIHVzZSBvZiB0aGUgd29yayB3aXRoIHRoYXQgTWFqb3IgQ29tcG9uZW50LCBvciB0byBpbXBsZW1lbnQKKyAgYSBTdGFuZGFyZCBJbnRlcmZhY2UgZm9yIHdoaWNoIGFuIGltcGxlbWVudGF0aW9uIGlzIGF2YWlsYWJsZSB0byB0aGUKKyAgcHVibGljIGluIHNvdXJjZSBjb2RlIGZvcm0uIEEg4oCcTWFqb3IgQ29tcG9uZW504oCdLCBpbiB0aGlzIGNvbnRleHQsIG1lYW5zIGEKKyAgbWFqb3IgZXNzZW50aWFsIGNvbXBvbmVudCAoa2VybmVsLCB3aW5kb3cgc3lzdGVtLCBhbmQgc28gb24pIG9mIHRoZQorICBzcGVjaWZpYyBvcGVyYXRpbmcgc3lzdGVtIChpZiBhbnkpIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHdvcmsgcnVucywgb3IKKyAgYSBjb21waWxlciB1c2VkIHRvIHByb2R1Y2UgdGhlIHdvcmssIG9yIGFuIG9iamVjdCBjb2RlIGludGVycHJldGVyIHVzZWQKKyAgdG8gcnVuIGl0LgorCisgIFRoZSDigJxDb3JyZXNwb25kaW5nIFNvdXJjZeKAnSBmb3IgYSB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gbWVhbnMgYWxsIHRoZQorICBzb3VyY2UgY29kZSBuZWVkZWQgdG8gZ2VuZXJhdGUsIGluc3RhbGwsIGFuZCAoZm9yIGFuIGV4ZWN1dGFibGUgd29yaykgcnVuCisgIHRoZSBvYmplY3QgY29kZSBhbmQgdG8gbW9kaWZ5IHRoZSB3b3JrLCBpbmNsdWRpbmcgc2NyaXB0cyB0byBjb250cm9sCisgIHRob3NlIGFjdGl2aXRpZXMuIEhvd2V2ZXIsIGl0IGRvZXMgbm90IGluY2x1ZGUgdGhlIHdvcmsncyBTeXN0ZW0KKyAgTGlicmFyaWVzLCBvciBnZW5lcmFsLXB1cnBvc2UgdG9vbHMgb3IgZ2VuZXJhbGx5IGF2YWlsYWJsZSBmcmVlIHByb2dyYW1zCisgIHdoaWNoIGFyZSB1c2VkIHVubW9kaWZpZWQgaW4gcGVyZm9ybWluZyB0aG9zZSBhY3Rpdml0aWVzIGJ1dCB3aGljaCBhcmUKKyAgbm90IHBhcnQgb2YgdGhlIHdvcmsuIEZvciBleGFtcGxlLCBDb3JyZXNwb25kaW5nIFNvdXJjZSBpbmNsdWRlcworICBpbnRlcmZhY2UgZGVmaW5pdGlvbiBmaWxlcyBhc3NvY2lhdGVkIHdpdGggc291cmNlIGZpbGVzIGZvciB0aGUgd29yaywgYW5kCisgIHRoZSBzb3VyY2UgY29kZSBmb3Igc2hhcmVkIGxpYnJhcmllcyBhbmQgZHluYW1pY2FsbHkgbGlua2VkIHN1YnByb2dyYW1zCisgIHRoYXQgdGhlIHdvcmsgaXMgc3BlY2lmaWNhbGx5IGRlc2lnbmVkIHRvIHJlcXVpcmUsIHN1Y2ggYXMgYnkgaW50aW1hdGUKKyAgZGF0YSBjb21tdW5pY2F0aW9uIG9yIGNvbnRyb2wgZmxvdyBiZXR3ZWVuIHRob3NlIHN1YnByb2dyYW1zIGFuZCBvdGhlcgorICBwYXJ0cyBvZiB0aGUgd29yay4KKworICBUaGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IHVzZXJzIGNhbgorICByZWdlbmVyYXRlIGF1dG9tYXRpY2FsbHkgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UuCisKKyAgVGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGZvciBhIHdvcmsgaW4gc291cmNlIGNvZGUgZm9ybSBpcyB0aGF0IHNhbWUgd29yay4KKworICAyLiBCYXNpYyBQZXJtaXNzaW9ucy4KKworICBBbGwgcmlnaHRzIGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlIGFyZSBncmFudGVkIGZvciB0aGUgdGVybSBvZgorICBjb3B5cmlnaHQgb24gdGhlIFByb2dyYW0sIGFuZCBhcmUgaXJyZXZvY2FibGUgcHJvdmlkZWQgdGhlIHN0YXRlZAorICBjb25kaXRpb25zIGFyZSBtZXQuIFRoaXMgTGljZW5zZSBleHBsaWNpdGx5IGFmZmlybXMgeW91ciB1bmxpbWl0ZWQKKyAgcGVybWlzc2lvbiB0byBydW4gdGhlIHVubW9kaWZpZWQgUHJvZ3JhbSwgc3ViamVjdCB0byBzZWN0aW9uIDEzLiBUaGUKKyAgb3V0cHV0IGZyb20gcnVubmluZyBhIGNvdmVyZWQgd29yayBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSBvbmx5IGlmIHRoZQorICBvdXRwdXQsIGdpdmVuIGl0cyBjb250ZW50LCBjb25zdGl0dXRlcyBhIGNvdmVyZWQgd29yay4gVGhpcyBMaWNlbnNlCisgIGFja25vd2xlZGdlcyB5b3VyIHJpZ2h0cyBvZiBmYWlyIHVzZSBvciBvdGhlciBlcXVpdmFsZW50LCBhcyBwcm92aWRlZCBieQorICBjb3B5cmlnaHQgbGF3LiAgU3ViamVjdCB0byBzZWN0aW9uIDEzLCB5b3UgbWF5IG1ha2UsIHJ1biBhbmQgcHJvcGFnYXRlCisgIGNvdmVyZWQgd29ya3MgdGhhdCB5b3UgZG8gbm90IGNvbnZleSwgd2l0aG91dCBjb25kaXRpb25zIHNvIGxvbmcgYXMgeW91cgorICBsaWNlbnNlIG90aGVyd2lzZSByZW1haW5zIGluIGZvcmNlLiBZb3UgbWF5IGNvbnZleSBjb3ZlcmVkIHdvcmtzIHRvCisgIG90aGVycyBmb3IgdGhlIHNvbGUgcHVycG9zZSBvZiBoYXZpbmcgdGhlbSBtYWtlIG1vZGlmaWNhdGlvbnMgZXhjbHVzaXZlbHkKKyAgZm9yIHlvdSwgb3IgcHJvdmlkZSB5b3Ugd2l0aCBmYWNpbGl0aWVzIGZvciBydW5uaW5nIHRob3NlIHdvcmtzLCBwcm92aWRlZAorICB0aGF0IHlvdSBjb21wbHkgd2l0aCB0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlIGluIGNvbnZleWluZyBhbGwKKyAgbWF0ZXJpYWwgZm9yIHdoaWNoIHlvdSBkbyBub3QgY29udHJvbCBjb3B5cmlnaHQuIFRob3NlIHRodXMgbWFraW5nIG9yCisgIHJ1bm5pbmcgdGhlIGNvdmVyZWQgd29ya3MgZm9yIHlvdSBtdXN0IGRvIHNvIGV4Y2x1c2l2ZWx5IG9uIHlvdXIKKyAgYmVoYWxmLCB1bmRlciB5b3VyIGRpcmVjdGlvbiBhbmQgY29udHJvbCwgb24gdGVybXMgdGhhdCBwcm9oaWJpdCB0aGVtCisgIGZyb20gbWFraW5nIGFueSBjb3BpZXMgb2YgeW91ciBjb3B5cmlnaHRlZCBtYXRlcmlhbCBvdXRzaWRlIHRoZWlyCisgIHJlbGF0aW9uc2hpcCB3aXRoIHlvdS4KKworICBDb252ZXlpbmcgdW5kZXIgYW55IG90aGVyIGNpcmN1bXN0YW5jZXMgaXMgcGVybWl0dGVkIHNvbGVseSB1bmRlciB0aGUKKyAgY29uZGl0aW9ucyBzdGF0ZWQgYmVsb3cuIFN1YmxpY2Vuc2luZyBpcyBub3QgYWxsb3dlZDsgc2VjdGlvbiAxMCBtYWtlcyBpdAorICB1bm5lY2Vzc2FyeS4KKworICAzLiBQcm90ZWN0aW5nIFVzZXJzJyBMZWdhbCBSaWdodHMgRnJvbSBBbnRpLUNpcmN1bXZlbnRpb24gTGF3LgorCisgIE5vIGNvdmVyZWQgd29yayBzaGFsbCBiZSBkZWVtZWQgcGFydCBvZiBhbiBlZmZlY3RpdmUgdGVjaG5vbG9naWNhbAorICBtZWFzdXJlIHVuZGVyIGFueSBhcHBsaWNhYmxlIGxhdyBmdWxmaWxsaW5nIG9ibGlnYXRpb25zIHVuZGVyIGFydGljbGUgMTEKKyAgb2YgdGhlIFdJUE8gY29weXJpZ2h0IHRyZWF0eSBhZG9wdGVkIG9uIDIwIERlY2VtYmVyIDE5OTYsIG9yIHNpbWlsYXIgbGF3cworICBwcm9oaWJpdGluZyBvciByZXN0cmljdGluZyBjaXJjdW12ZW50aW9uIG9mIHN1Y2ggbWVhc3VyZXMuCisKKyAgV2hlbiB5b3UgY29udmV5IGEgY292ZXJlZCB3b3JrLCB5b3Ugd2FpdmUgYW55IGxlZ2FsIHBvd2VyIHRvIGZvcmJpZAorICBjaXJjdW12ZW50aW9uIG9mIHRlY2hub2xvZ2ljYWwgbWVhc3VyZXMgdG8gdGhlIGV4dGVudCBzdWNoIGNpcmN1bXZlbnRpb24gaXMKKyAgZWZmZWN0ZWQgYnkgZXhlcmNpc2luZyByaWdodHMgdW5kZXIgdGhpcyBMaWNlbnNlIHdpdGggcmVzcGVjdCB0byB0aGUKKyAgY292ZXJlZCB3b3JrLCBhbmQgeW91IGRpc2NsYWltIGFueSBpbnRlbnRpb24gdG8gbGltaXQgb3BlcmF0aW9uIG9yCisgIG1vZGlmaWNhdGlvbiBvZiB0aGUgd29yayBhcyBhIG1lYW5zIG9mIGVuZm9yY2luZywgYWdhaW5zdCB0aGUgd29yaydzIHVzZXJzLAorICB5b3VyIG9yIHRoaXJkIHBhcnRpZXMnIGxlZ2FsIHJpZ2h0cyB0byBmb3JiaWQgY2lyY3VtdmVudGlvbiBvZgorICB0ZWNobm9sb2dpY2FsIG1lYXN1cmVzLgorCisgIDQuIENvbnZleWluZyBWZXJiYXRpbSBDb3BpZXMuCisKKyAgWW91IG1heSBjb252ZXkgdmVyYmF0aW0gY29waWVzIG9mIHRoZSBQcm9ncmFtJ3Mgc291cmNlIGNvZGUgYXMgeW91CisgIHJlY2VpdmUgaXQsIGluIGFueSBtZWRpdW0sIHByb3ZpZGVkIHRoYXQgeW91IGNvbnNwaWN1b3VzbHkgYW5kCisgIGFwcHJvcHJpYXRlbHkgcHVibGlzaCBvbiBlYWNoIGNvcHkgYW4gYXBwcm9wcmlhdGUgY29weXJpZ2h0IG5vdGljZTsga2VlcAorICBpbnRhY3QgYWxsIG5vdGljZXMgc3RhdGluZyB0aGF0IHRoaXMgTGljZW5zZSBhbmQgYW55IG5vbi1wZXJtaXNzaXZlIHRlcm1zCisgIGFkZGVkIGluIGFjY29yZCB3aXRoIHNlY3Rpb24gNyBhcHBseSB0byB0aGUgY29kZTsga2VlcCBpbnRhY3QgYWxsIG5vdGljZXMKKyAgb2YgdGhlIGFic2VuY2Ugb2YgYW55IHdhcnJhbnR5OyBhbmQgZ2l2ZSBhbGwgcmVjaXBpZW50cyBhIGNvcHkgb2YgdGhpcworICBMaWNlbnNlIGFsb25nIHdpdGggdGhlIFByb2dyYW0uICBZb3UgbWF5IGNoYXJnZSBhbnkgcHJpY2Ugb3Igbm8gcHJpY2UgZm9yCisgIGVhY2ggY29weSB0aGF0IHlvdSBjb252ZXksIGFuZCB5b3UgbWF5IG9mZmVyIHN1cHBvcnQgb3Igd2FycmFudHkKKyAgcHJvdGVjdGlvbiBmb3IgYSBmZWUuCisKKyAgNS4gQ29udmV5aW5nIE1vZGlmaWVkIFNvdXJjZSBWZXJzaW9ucy4KKworICBZb3UgbWF5IGNvbnZleSBhIHdvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0sIG9yIHRoZSBtb2RpZmljYXRpb25zIHRvCisgIHByb2R1Y2UgaXQgZnJvbSB0aGUgUHJvZ3JhbSwgaW4gdGhlIGZvcm0gb2Ygc291cmNlIGNvZGUgdW5kZXIgdGhlIHRlcm1zCisgIG9mIHNlY3Rpb24gNCwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBtZWV0IGFsbCBvZiB0aGVzZSBjb25kaXRpb25zOgorCisgICAgYSkgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91IG1vZGlmaWVkIGl0LAorICAgIGFuZCBnaXZpbmcgYSByZWxldmFudCBkYXRlLgorCisgICAgYikgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgaXQgaXMgcmVsZWFzZWQKKyAgICB1bmRlciB0aGlzIExpY2Vuc2UgYW5kIGFueSBjb25kaXRpb25zIGFkZGVkIHVuZGVyIHNlY3Rpb24gNy4gVGhpcworICAgIHJlcXVpcmVtZW50IG1vZGlmaWVzIHRoZSByZXF1aXJlbWVudCBpbiBzZWN0aW9uIDQgdG8g4oCca2VlcCBpbnRhY3QgYWxsCisgICAgbm90aWNlc+KAnS4KKworICAgIGMpIFlvdSBtdXN0IGxpY2Vuc2UgdGhlIGVudGlyZSB3b3JrLCBhcyBhIHdob2xlLCB1bmRlciB0aGlzIExpY2Vuc2UgdG8KKyAgICBhbnlvbmUgd2hvIGNvbWVzIGludG8gcG9zc2Vzc2lvbiBvZiBhIGNvcHkuIFRoaXMgTGljZW5zZSB3aWxsIHRoZXJlZm9yZQorICAgIGFwcGx5LCBhbG9uZyB3aXRoIGFueSBhcHBsaWNhYmxlIHNlY3Rpb24gNyBhZGRpdGlvbmFsIHRlcm1zLCB0byB0aGUKKyAgICB3aG9sZSBvZiB0aGUgd29yaywgYW5kIGFsbCBpdHMgcGFydHMsIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZXkgYXJlCisgICAgcGFja2FnZWQuIFRoaXMgTGljZW5zZSBnaXZlcyBubyBwZXJtaXNzaW9uIHRvIGxpY2Vuc2UgdGhlIHdvcmsgaW4gYW55CisgICAgb3RoZXIgd2F5LCBidXQgaXQgZG9lcyBub3QgaW52YWxpZGF0ZSBzdWNoIHBlcm1pc3Npb24gaWYgeW91IGhhdmUKKyAgICBzZXBhcmF0ZWx5IHJlY2VpdmVkIGl0LgorCisgICAgZCkgSWYgdGhlIHdvcmsgaGFzIGludGVyYWN0aXZlIHVzZXIgaW50ZXJmYWNlcywgZWFjaCBtdXN0IGRpc3BsYXkKKyAgICBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzOyBob3dldmVyLCBpZiB0aGUgUHJvZ3JhbSBoYXMgaW50ZXJhY3RpdmUKKyAgICBpbnRlcmZhY2VzIHRoYXQgZG8gbm90IGRpc3BsYXkgQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcywgeW91ciB3b3JrCisgICAgbmVlZCBub3QgbWFrZSB0aGVtIGRvIHNvLgorCisgIEEgY29tcGlsYXRpb24gb2YgYSBjb3ZlcmVkIHdvcmsgd2l0aCBvdGhlciBzZXBhcmF0ZSBhbmQgaW5kZXBlbmRlbnQKKyAgd29ya3MsIHdoaWNoIGFyZSBub3QgYnkgdGhlaXIgbmF0dXJlIGV4dGVuc2lvbnMgb2YgdGhlIGNvdmVyZWQgd29yaywgYW5kCisgIHdoaWNoIGFyZSBub3QgY29tYmluZWQgd2l0aCBpdCBzdWNoIGFzIHRvIGZvcm0gYSBsYXJnZXIgcHJvZ3JhbSwgaW4gb3Igb24KKyAgYSB2b2x1bWUgb2YgYSBzdG9yYWdlIG9yIGRpc3RyaWJ1dGlvbiBtZWRpdW0sIGlzIGNhbGxlZCBhbiDigJxhZ2dyZWdhdGXigJ0gaWYKKyAgdGhlIGNvbXBpbGF0aW9uIGFuZCBpdHMgcmVzdWx0aW5nIGNvcHlyaWdodCBhcmUgbm90IHVzZWQgdG8gbGltaXQgdGhlCisgIGFjY2VzcyBvciBsZWdhbCByaWdodHMgb2YgdGhlIGNvbXBpbGF0aW9uJ3MgdXNlcnMgYmV5b25kIHdoYXQgdGhlCisgIGluZGl2aWR1YWwgd29ya3MgcGVybWl0LiBJbmNsdXNpb24gb2YgYSBjb3ZlcmVkIHdvcmsgaW4gYW4gYWdncmVnYXRlIGRvZXMKKyAgbm90IGNhdXNlIHRoaXMgTGljZW5zZSB0byBhcHBseSB0byB0aGUgb3RoZXIgcGFydHMgb2YgdGhlIGFnZ3JlZ2F0ZS4KKyAgCisgIDYuIENvbnZleWluZyBOb24tU291cmNlIEZvcm1zLgorCisgIFlvdSBtYXkgY29udmV5IGEgY292ZXJlZCB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gdW5kZXIgdGhlIHRlcm1zIG9mCisgIHNlY3Rpb25zIDQgYW5kIDUsIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gY29udmV5IHRoZSBtYWNoaW5lLXJlYWRhYmxlCisgIENvcnJlc3BvbmRpbmcgU291cmNlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIGluIG9uZSBvZiB0aGVzZQorICB3YXlzOgorCisgICAgYSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdAorICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgdGhlCisgICAgQ29ycmVzcG9uZGluZyBTb3VyY2UgZml4ZWQgb24gYSBkdXJhYmxlIHBoeXNpY2FsIG1lZGl1bSBjdXN0b21hcmlseQorICAgIHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLgorICAgCisgICAgYikgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdAorICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgYSB3cml0dGVuCisgICAgb2ZmZXIsIHZhbGlkIGZvciBhdCBsZWFzdCB0aHJlZSB5ZWFycyBhbmQgdmFsaWQgZm9yIGFzIGxvbmcgYXMgeW91CisgICAgb2ZmZXIgc3BhcmUgcGFydHMgb3IgY3VzdG9tZXIgc3VwcG9ydCBmb3IgdGhhdCBwcm9kdWN0IG1vZGVsLCB0byBnaXZlCisgICAgYW55b25lIHdobyBwb3NzZXNzZXMgdGhlIG9iamVjdCBjb2RlIGVpdGhlciAoMSkgYSBjb3B5IG9mIHRoZQorICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZvciBhbGwgdGhlIHNvZnR3YXJlIGluIHRoZSBwcm9kdWN0IHRoYXQgaXMKKyAgICBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSwgb24gYSBkdXJhYmxlIHBoeXNpY2FsIG1lZGl1bSBjdXN0b21hcmlseSB1c2VkCisgICAgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLCBmb3IgYSBwcmljZSBubyBtb3JlIHRoYW4geW91ciByZWFzb25hYmxlIGNvc3QKKyAgICBvZiBwaHlzaWNhbGx5IHBlcmZvcm1pbmcgdGhpcyBjb252ZXlpbmcgb2Ygc291cmNlLCBvciAoMikgYWNjZXNzIHRvCisgICAgY29weSB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZnJvbSBhIG5ldHdvcmsgc2VydmVyIGF0IG5vIGNoYXJnZS4KKyAgIAorICAgIGMpIENvbnZleSBpbmRpdmlkdWFsIGNvcGllcyBvZiB0aGUgb2JqZWN0IGNvZGUgd2l0aCBhIGNvcHkgb2YgdGhlCisgICAgd3JpdHRlbiBvZmZlciB0byBwcm92aWRlIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZS4gVGhpcyBhbHRlcm5hdGl2ZSBpcworICAgIGFsbG93ZWQgb25seSBvY2Nhc2lvbmFsbHkgYW5kIG5vbmNvbW1lcmNpYWxseSwgYW5kIG9ubHkgaWYgeW91IHJlY2VpdmVkCisgICAgdGhlIG9iamVjdCBjb2RlIHdpdGggc3VjaCBhbiBvZmZlciwgaW4gYWNjb3JkIHdpdGggc3Vic2VjdGlvbiA2Yi4KKyAgIAorICAgIGQpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIGZyb20gYSBkZXNpZ25hdGVkIHBsYWNlCisgICAgKGdyYXRpcyBvciBmb3IgYSBjaGFyZ2UpLCBhbmQgb2ZmZXIgZXF1aXZhbGVudCBhY2Nlc3MgdG8gdGhlCisgICAgQ29ycmVzcG9uZGluZyBTb3VyY2UgaW4gdGhlIHNhbWUgd2F5IHRocm91Z2ggdGhlIHNhbWUgcGxhY2UgYXQgbm8KKyAgICBmdXJ0aGVyIGNoYXJnZS4gWW91IG5lZWQgbm90IHJlcXVpcmUgcmVjaXBpZW50cyB0byBjb3B5IHRoZQorICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLiBJZiB0aGUgcGxhY2UgdG8gY29weQorICAgIHRoZSBvYmplY3QgY29kZSBpcyBhIG5ldHdvcmsgc2VydmVyLCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgbWF5IGJlIG9uCisgICAgYSBkaWZmZXJlbnQgc2VydmVyIChvcGVyYXRlZCBieSB5b3Ugb3IgYSB0aGlyZCBwYXJ0eSkgdGhhdCBzdXBwb3J0cworICAgIGVxdWl2YWxlbnQgY29weWluZyBmYWNpbGl0aWVzLCBwcm92aWRlZCB5b3UgbWFpbnRhaW4gY2xlYXIgZGlyZWN0aW9ucworICAgIG5leHQgdG8gdGhlIG9iamVjdCBjb2RlIHNheWluZyB3aGVyZSB0byBmaW5kIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZS4KKyAgICBSZWdhcmRsZXNzIG9mIHdoYXQgc2VydmVyIGhvc3RzIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSwgeW91IHJlbWFpbgorICAgIG9ibGlnYXRlZCB0byBlbnN1cmUgdGhhdCBpdCBpcyBhdmFpbGFibGUgZm9yIGFzIGxvbmcgYXMgbmVlZGVkIHRvCisgICAgc2F0aXNmeSB0aGVzZSByZXF1aXJlbWVudHMuCisgICAKKyAgICBlKSBDb252ZXkgdGhlIG9iamVjdCBjb2RlIHVzaW5nIHBlZXItdG8tcGVlciB0cmFuc21pc3Npb24sIHByb3ZpZGVkIHlvdQorICAgIGluZm9ybSBvdGhlciBwZWVycyB3aGVyZSB0aGUgb2JqZWN0IGNvZGUgYW5kIENvcnJlc3BvbmRpbmcgU291cmNlIG9mCisgICAgdGhlIHdvcmsgYXJlIGJlaW5nIG9mZmVyZWQgdG8gdGhlIGdlbmVyYWwgcHVibGljIGF0IG5vIGNoYXJnZSB1bmRlcgorICAgIHN1YnNlY3Rpb24gNmQuCisKKyAgQSBzZXBhcmFibGUgcG9ydGlvbiBvZiB0aGUgb2JqZWN0IGNvZGUsIHdob3NlIHNvdXJjZSBjb2RlIGlzIGV4Y2x1ZGVkCisgIGZyb20gdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGFzIGEgU3lzdGVtIExpYnJhcnksIG5lZWQgbm90IGJlIGluY2x1ZGVkCisgIGluIGNvbnZleWluZyB0aGUgb2JqZWN0IGNvZGUgd29yay4KKworICBBIOKAnFVzZXIgUHJvZHVjdOKAnSBpcyBlaXRoZXIgKDEpIGEg4oCcY29uc3VtZXIgcHJvZHVjdOKAnSwgd2hpY2ggbWVhbnMgYW55CisgIHRhbmdpYmxlIHBlcnNvbmFsIHByb3BlcnR5IHdoaWNoIGlzIG5vcm1hbGx5IHVzZWQgZm9yIHBlcnNvbmFsLCBmYW1pbHksCisgIG9yIGhvdXNlaG9sZCBwdXJwb3Nlcywgb3IgKDIpIGFueXRoaW5nIGRlc2lnbmVkIG9yIHNvbGQgZm9yIGluY29ycG9yYXRpb24KKyAgaW50byBhIGR3ZWxsaW5nLiBJbiBkZXRlcm1pbmluZyB3aGV0aGVyIGEgcHJvZHVjdCBpcyBhIGNvbnN1bWVyIHByb2R1Y3QsCisgIGRvdWJ0ZnVsIGNhc2VzIHNoYWxsIGJlIHJlc29sdmVkIGluIGZhdm9yIG9mIGNvdmVyYWdlLiBGb3IgYSBwYXJ0aWN1bGFyCisgIHByb2R1Y3QgcmVjZWl2ZWQgYnkgYSBwYXJ0aWN1bGFyIHVzZXIsIOKAnG5vcm1hbGx5IHVzZWTigJ0gcmVmZXJzIHRvIGEKKyAgdHlwaWNhbCBvciBjb21tb24gdXNlIG9mIHRoYXQgY2xhc3Mgb2YgcHJvZHVjdCwgcmVnYXJkbGVzcyBvZiB0aGUgc3RhdHVzCisgIG9mIHRoZSBwYXJ0aWN1bGFyIHVzZXIgb3Igb2YgdGhlIHdheSBpbiB3aGljaCB0aGUgcGFydGljdWxhciB1c2VyCisgIGFjdHVhbGx5IHVzZXMsIG9yIGV4cGVjdHMgb3IgaXMgZXhwZWN0ZWQgdG8gdXNlLCB0aGUgcHJvZHVjdC4gQSBwcm9kdWN0CisgIGlzIGEgY29uc3VtZXIgcHJvZHVjdCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIHByb2R1Y3QgaGFzIHN1YnN0YW50aWFsCisgIGNvbW1lcmNpYWwsIGluZHVzdHJpYWwgb3Igbm9uLWNvbnN1bWVyIHVzZXMsIHVubGVzcyBzdWNoIHVzZXMgcmVwcmVzZW50CisgIHRoZSBvbmx5IHNpZ25pZmljYW50IG1vZGUgb2YgdXNlIG9mIHRoZSBwcm9kdWN0LgorCisgIOKAnEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbuKAnSBmb3IgYSBVc2VyIFByb2R1Y3QgbWVhbnMgYW55IG1ldGhvZHMsCisgIHByb2NlZHVyZXMsIGF1dGhvcml6YXRpb24ga2V5cywgb3Igb3RoZXIgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8gaW5zdGFsbAorICBhbmQgZXhlY3V0ZSBtb2RpZmllZCB2ZXJzaW9ucyBvZiBhIGNvdmVyZWQgd29yayBpbiB0aGF0IFVzZXIgUHJvZHVjdCBmcm9tCisgIGEgbW9kaWZpZWQgdmVyc2lvbiBvZiBpdHMgQ29ycmVzcG9uZGluZyBTb3VyY2UuIFRoZSBpbmZvcm1hdGlvbiBtdXN0CisgIHN1ZmZpY2UgdG8gZW5zdXJlIHRoYXQgdGhlIGNvbnRpbnVlZCBmdW5jdGlvbmluZyBvZiB0aGUgbW9kaWZpZWQgb2JqZWN0CisgIGNvZGUgaXMgaW4gbm8gY2FzZSBwcmV2ZW50ZWQgb3IgaW50ZXJmZXJlZCB3aXRoIHNvbGVseSBiZWNhdXNlCisgIG1vZGlmaWNhdGlvbiBoYXMgYmVlbiBtYWRlLgorCisgIElmIHlvdSBjb252ZXkgYW4gb2JqZWN0IGNvZGUgd29yayB1bmRlciB0aGlzIHNlY3Rpb24gaW4sIG9yIHdpdGgsIG9yCisgIHNwZWNpZmljYWxseSBmb3IgdXNlIGluLCBhIFVzZXIgUHJvZHVjdCwgYW5kIHRoZSBjb252ZXlpbmcgb2NjdXJzIGFzIHBhcnQKKyAgb2YgYSB0cmFuc2FjdGlvbiBpbiB3aGljaCB0aGUgcmlnaHQgb2YgcG9zc2Vzc2lvbiBhbmQgdXNlIG9mIHRoZSBVc2VyCisgIFByb2R1Y3QgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIHJlY2lwaWVudCBpbiBwZXJwZXR1aXR5IG9yIGZvciBhIGZpeGVkIHRlcm0KKyAgKHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSB0cmFuc2FjdGlvbiBpcyBjaGFyYWN0ZXJpemVkKSwgdGhlIENvcnJlc3BvbmRpbmcKKyAgU291cmNlIGNvbnZleWVkIHVuZGVyIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZQorICBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24uIEJ1dCB0aGlzIHJlcXVpcmVtZW50IGRvZXMgbm90IGFwcGx5IGlmIG5laXRoZXIKKyAgeW91IG5vciBhbnkgdGhpcmQgcGFydHkgcmV0YWlucyB0aGUgYWJpbGl0eSB0byBpbnN0YWxsIG1vZGlmaWVkIG9iamVjdAorICBjb2RlIG9uIHRoZSBVc2VyIFByb2R1Y3QgKGZvciBleGFtcGxlLCB0aGUgd29yayBoYXMgYmVlbiBpbnN0YWxsZWQgaW4KKyAgUk9NKS4KKworICBUaGUgcmVxdWlyZW1lbnQgdG8gcHJvdmlkZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24gZG9lcyBub3QgaW5jbHVkZSBhCisgIHJlcXVpcmVtZW50IHRvIGNvbnRpbnVlIHRvIHByb3ZpZGUgc3VwcG9ydCBzZXJ2aWNlLCB3YXJyYW50eSwgb3IgdXBkYXRlcworICBmb3IgYSB3b3JrIHRoYXQgaGFzIGJlZW4gbW9kaWZpZWQgb3IgaW5zdGFsbGVkIGJ5IHRoZSByZWNpcGllbnQsIG9yIGZvcgorICB0aGUgVXNlciBQcm9kdWN0IGluIHdoaWNoIGl0IGhhcyBiZWVuIG1vZGlmaWVkIG9yIGluc3RhbGxlZC4gQWNjZXNzCisgIHRvIGEgbmV0d29yayBtYXkgYmUgZGVuaWVkIHdoZW4gdGhlIG1vZGlmaWNhdGlvbiBpdHNlbGYgbWF0ZXJpYWxseQorICBhbmQgYWR2ZXJzZWx5IGFmZmVjdHMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbmV0d29yayBvciB2aW9sYXRlcyB0aGUKKyAgcnVsZXMgYW5kIHByb3RvY29scyBmb3IgY29tbXVuaWNhdGlvbiBhY3Jvc3MgdGhlIG5ldHdvcmsuCisKKyAgQ29ycmVzcG9uZGluZyBTb3VyY2UgY29udmV5ZWQsIGFuZCBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24gcHJvdmlkZWQsIGluCisgIGFjY29yZCB3aXRoIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGluIGEgZm9ybWF0IHRoYXQgaXMgcHVibGljbHkgZG9jdW1lbnRlZAorICAoYW5kIHdpdGggYW4gaW1wbGVtZW50YXRpb24gYXZhaWxhYmxlIHRvIHRoZSBwdWJsaWMgaW4gc291cmNlIGNvZGUgZm9ybSksCisgIGFuZCBtdXN0IHJlcXVpcmUgbm8gc3BlY2lhbCBwYXNzd29yZCBvciBrZXkgZm9yIHVucGFja2luZywgcmVhZGluZyBvcgorICBjb3B5aW5nLgorCisgIDcuIEFkZGl0aW9uYWwgVGVybXMuCisKKyAg4oCcQWRkaXRpb25hbCBwZXJtaXNzaW9uc+KAnSBhcmUgdGVybXMgdGhhdCBzdXBwbGVtZW50IHRoZSB0ZXJtcyBvZiB0aGlzCisgIExpY2Vuc2UgYnkgbWFraW5nIGV4Y2VwdGlvbnMgZnJvbSBvbmUgb3IgbW9yZSBvZiBpdHMgY29uZGl0aW9ucy4KKyAgQWRkaXRpb25hbCBwZXJtaXNzaW9ucyB0aGF0IGFyZSBhcHBsaWNhYmxlIHRvIHRoZSBlbnRpcmUgUHJvZ3JhbSBzaGFsbCBiZQorICB0cmVhdGVkIGFzIHRob3VnaCB0aGV5IHdlcmUgaW5jbHVkZWQgaW4gdGhpcyBMaWNlbnNlLCB0byB0aGUgZXh0ZW50IHRoYXQKKyAgdGhleSBhcmUgdmFsaWQgdW5kZXIgYXBwbGljYWJsZSBsYXcuIElmIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMgYXBwbHkgb25seQorICB0byBwYXJ0IG9mIHRoZSBQcm9ncmFtLCB0aGF0IHBhcnQgbWF5IGJlIHVzZWQgc2VwYXJhdGVseSB1bmRlciB0aG9zZQorICBwZXJtaXNzaW9ucywgYnV0IHRoZSBlbnRpcmUgUHJvZ3JhbSByZW1haW5zIGdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZQorICB3aXRob3V0IHJlZ2FyZCB0byB0aGUgYWRkaXRpb25hbCBwZXJtaXNzaW9ucy4gIFdoZW4geW91IGNvbnZleSBhIGNvcHkgb2YKKyAgYSBjb3ZlcmVkIHdvcmssIHlvdSBtYXkgYXQgeW91ciBvcHRpb24gcmVtb3ZlIGFueSBhZGRpdGlvbmFsIHBlcm1pc3Npb25zCisgIGZyb20gdGhhdCBjb3B5LCBvciBmcm9tIGFueSBwYXJ0IG9mIGl0LiAoQWRkaXRpb25hbCBwZXJtaXNzaW9ucyBtYXkgYmUKKyAgd3JpdHRlbiB0byByZXF1aXJlIHRoZWlyIG93biByZW1vdmFsIGluIGNlcnRhaW4gY2FzZXMgd2hlbiB5b3UgbW9kaWZ5IHRoZQorICB3b3JrLikgWW91IG1heSBwbGFjZSBhZGRpdGlvbmFsIHBlcm1pc3Npb25zIG9uIG1hdGVyaWFsLCBhZGRlZCBieSB5b3UgdG8KKyAgYSBjb3ZlcmVkIHdvcmssIGZvciB3aGljaCB5b3UgaGF2ZSBvciBjYW4gZ2l2ZSBhcHByb3ByaWF0ZSBjb3B5cmlnaHQKKyAgcGVybWlzc2lvbi4KKworICBOb3R3aXRoc3RhbmRpbmcgYW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UsIGZvciBtYXRlcmlhbCB5b3UgYWRkCisgIHRvIGEgY292ZXJlZCB3b3JrLCB5b3UgbWF5IChpZiBhdXRob3JpemVkIGJ5IHRoZSBjb3B5cmlnaHQgaG9sZGVycyBvZgorICB0aGF0IG1hdGVyaWFsKSBzdXBwbGVtZW50IHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2Ugd2l0aCB0ZXJtczoKKworICAgIGEpIERpc2NsYWltaW5nIHdhcnJhbnR5IG9yIGxpbWl0aW5nIGxpYWJpbGl0eSBkaWZmZXJlbnRseSBmcm9tIHRoZQorICAgIHRlcm1zIG9mIHNlY3Rpb25zIDE1IGFuZCAxNiBvZiB0aGlzIExpY2Vuc2U7IG9yCisKKyAgICBiKSBSZXF1aXJpbmcgcHJlc2VydmF0aW9uIG9mIHNwZWNpZmllZCByZWFzb25hYmxlIGxlZ2FsIG5vdGljZXMgb3IKKyAgICBhdXRob3IgYXR0cmlidXRpb25zIGluIHRoYXQgbWF0ZXJpYWwgb3IgaW4gdGhlIEFwcHJvcHJpYXRlIExlZ2FsCisgICAgTm90aWNlcyBkaXNwbGF5ZWQgYnkgd29ya3MgY29udGFpbmluZyBpdDsgb3IKKworICAgIGMpIFByb2hpYml0aW5nIG1pc3JlcHJlc2VudGF0aW9uIG9mIHRoZSBvcmlnaW4gb2YgdGhhdCBtYXRlcmlhbCwgb3IKKyAgICByZXF1aXJpbmcgdGhhdCBtb2RpZmllZCB2ZXJzaW9ucyBvZiBzdWNoIG1hdGVyaWFsIGJlIG1hcmtlZCBpbgorICAgIHJlYXNvbmFibGUgd2F5cyBhcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgdmVyc2lvbjsgb3IKKworICAgIGQpIExpbWl0aW5nIHRoZSB1c2UgZm9yIHB1YmxpY2l0eSBwdXJwb3NlcyBvZiBuYW1lcyBvZiBsaWNlbnNvcnMgb3IKKyAgICBhdXRob3JzIG9mIHRoZSBtYXRlcmlhbDsgb3IKKworICAgIGUpIERlY2xpbmluZyB0byBncmFudCByaWdodHMgdW5kZXIgdHJhZGVtYXJrIGxhdyBmb3IgdXNlIG9mIHNvbWUgdHJhZGUKKyAgICBuYW1lcywgdHJhZGVtYXJrcywgb3Igc2VydmljZSBtYXJrczsgb3IKKworICAgIGYpIFJlcXVpcmluZyBpbmRlbW5pZmljYXRpb24gb2YgbGljZW5zb3JzIGFuZCBhdXRob3JzIG9mIHRoYXQgbWF0ZXJpYWwKKyAgICBieSBhbnlvbmUgd2hvIGNvbnZleXMgdGhlIG1hdGVyaWFsIChvciBtb2RpZmllZCB2ZXJzaW9ucyBvZiBpdCkgd2l0aAorICAgIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIG9mIGxpYWJpbGl0eSB0byB0aGUgcmVjaXBpZW50LCBmb3IgYW55CisgICAgbGlhYmlsaXR5IHRoYXQgdGhlc2UgY29udHJhY3R1YWwgYXNzdW1wdGlvbnMgZGlyZWN0bHkgaW1wb3NlIG9uIHRob3NlCisgICAgbGljZW5zb3JzIGFuZCBhdXRob3JzLgorCisgIEFsbCBvdGhlciBub24tcGVybWlzc2l2ZSBhZGRpdGlvbmFsIHRlcm1zIGFyZSBjb25zaWRlcmVkIOKAnGZ1cnRoZXIKKyAgcmVzdHJpY3Rpb25z4oCdIHdpdGhpbiB0aGUgbWVhbmluZyBvZiBzZWN0aW9uIDEwLiBJZiB0aGUgUHJvZ3JhbSBhcyB5b3UKKyAgcmVjZWl2ZWQgaXQsIG9yIGFueSBwYXJ0IG9mIGl0LCBjb250YWlucyBhIG5vdGljZSBzdGF0aW5nIHRoYXQgaXQgaXMKKyAgZ292ZXJuZWQgYnkgdGhpcyBMaWNlbnNlIGFsb25nIHdpdGggYSB0ZXJtIHRoYXQgaXMgYSBmdXJ0aGVyIHJlc3RyaWN0aW9uLAorICB5b3UgbWF5IHJlbW92ZSB0aGF0IHRlcm0uIElmIGEgbGljZW5zZSBkb2N1bWVudCBjb250YWlucyBhIGZ1cnRoZXIKKyAgcmVzdHJpY3Rpb24gYnV0IHBlcm1pdHMgcmVsaWNlbnNpbmcgb3IgY29udmV5aW5nIHVuZGVyIHRoaXMgTGljZW5zZSwgeW91CisgIG1heSBhZGQgdG8gYSBjb3ZlcmVkIHdvcmsgbWF0ZXJpYWwgZ292ZXJuZWQgYnkgdGhlIHRlcm1zIG9mIHRoYXQgbGljZW5zZQorICBkb2N1bWVudCwgcHJvdmlkZWQgdGhhdCB0aGUgZnVydGhlciByZXN0cmljdGlvbiBkb2VzIG5vdCBzdXJ2aXZlIHN1Y2gKKyAgcmVsaWNlbnNpbmcgb3IgY29udmV5aW5nLgorCisgIElmIHlvdSBhZGQgdGVybXMgdG8gYSBjb3ZlcmVkIHdvcmsgaW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uLCB5b3UgbXVzdAorICBwbGFjZSwgaW4gdGhlIHJlbGV2YW50IHNvdXJjZSBmaWxlcywgYSBzdGF0ZW1lbnQgb2YgdGhlIGFkZGl0aW9uYWwgdGVybXMKKyAgdGhhdCBhcHBseSB0byB0aG9zZSBmaWxlcywgb3IgYSBub3RpY2UgaW5kaWNhdGluZyB3aGVyZSB0byBmaW5kIHRoZQorICBhcHBsaWNhYmxlIHRlcm1zLiAgQWRkaXRpb25hbCB0ZXJtcywgcGVybWlzc2l2ZSBvciBub24tcGVybWlzc2l2ZSwgbWF5IGJlCisgIHN0YXRlZCBpbiB0aGUgZm9ybSBvZiBhIHNlcGFyYXRlbHkgd3JpdHRlbiBsaWNlbnNlLCBvciBzdGF0ZWQgYXMKKyAgZXhjZXB0aW9uczsgdGhlIGFib3ZlIHJlcXVpcmVtZW50cyBhcHBseSBlaXRoZXIgd2F5LgorCisgIDguIFRlcm1pbmF0aW9uLgorCisgIFlvdSBtYXkgbm90IHByb3BhZ2F0ZSBvciBtb2RpZnkgYSBjb3ZlcmVkIHdvcmsgZXhjZXB0IGFzIGV4cHJlc3NseQorICBwcm92aWRlZCB1bmRlciB0aGlzIExpY2Vuc2UuIEFueSBhdHRlbXB0IG90aGVyd2lzZSB0byBwcm9wYWdhdGUgb3IgbW9kaWZ5CisgIGl0IGlzIHZvaWQsIGFuZCB3aWxsIGF1dG9tYXRpY2FsbHkgdGVybWluYXRlIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMKKyAgTGljZW5zZSAoaW5jbHVkaW5nIGFueSBwYXRlbnQgbGljZW5zZXMgZ3JhbnRlZCB1bmRlciB0aGUgdGhpcmQgcGFyYWdyYXBoCisgIG9mIHNlY3Rpb24gMTEpLgorCisgIEhvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyIGxpY2Vuc2UKKyAgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyByZWluc3RhdGVkIChhKSBwcm92aXNpb25hbGx5LAorICB1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGV4cGxpY2l0bHkgYW5kIGZpbmFsbHkgdGVybWluYXRlcworICB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGZhaWxzIHRvCisgIG5vdGlmeSB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMgcHJpb3IgdG8gNjAgZGF5cworICBhZnRlciB0aGUgY2Vzc2F0aW9uLgorCisgIE1vcmVvdmVyLCB5b3VyIGxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyByZWluc3RhdGVkCisgIHBlcm1hbmVudGx5IGlmIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vdGlmaWVzIHlvdSBvZiB0aGUgdmlvbGF0aW9uIGJ5IHNvbWUKKyAgcmVhc29uYWJsZSBtZWFucywgdGhpcyBpcyB0aGUgZmlyc3QgdGltZSB5b3UgaGF2ZSByZWNlaXZlZCBub3RpY2Ugb2YKKyAgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSAoZm9yIGFueSB3b3JrKSBmcm9tIHRoYXQgY29weXJpZ2h0IGhvbGRlciwgYW5kCisgIHlvdSBjdXJlIHRoZSB2aW9sYXRpb24gcHJpb3IgdG8gMzAgZGF5cyBhZnRlciB5b3VyIHJlY2VpcHQgb2YgdGhlIG5vdGljZS4KKworICBUZXJtaW5hdGlvbiBvZiB5b3VyIHJpZ2h0cyB1bmRlciB0aGlzIHNlY3Rpb24gZG9lcyBub3QgdGVybWluYXRlIHRoZQorICBsaWNlbnNlcyBvZiBwYXJ0aWVzIHdobyBoYXZlIHJlY2VpdmVkIGNvcGllcyBvciByaWdodHMgZnJvbSB5b3UgdW5kZXIKKyAgdGhpcyBMaWNlbnNlLiBJZiB5b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90IHBlcm1hbmVudGx5CisgIHJlaW5zdGF0ZWQsIHlvdSBkbyBub3QgcXVhbGlmeSB0byByZWNlaXZlIG5ldyBsaWNlbnNlcyBmb3IgdGhlIHNhbWUKKyAgbWF0ZXJpYWwgdW5kZXIgc2VjdGlvbiAxMC4KKworICA5LiBBY2NlcHRhbmNlIE5vdCBSZXF1aXJlZCBmb3IgSGF2aW5nIENvcGllcy4KKworICBZb3UgYXJlIG5vdCByZXF1aXJlZCB0byBhY2NlcHQgdGhpcyBMaWNlbnNlIGluIG9yZGVyIHRvIHJlY2VpdmUgb3IgcnVuIGEKKyAgY29weSBvZiB0aGUgUHJvZ3JhbS4gQW5jaWxsYXJ5IHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZCB3b3JrIG9jY3VycmluZworICBzb2xlbHkgYXMgYSBjb25zZXF1ZW5jZSBvZiB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uIHRvIHJlY2VpdmUgYQorICBjb3B5IGxpa2V3aXNlIGRvZXMgbm90IHJlcXVpcmUgYWNjZXB0YW5jZS4gSG93ZXZlciwgbm90aGluZyBvdGhlciB0aGFuCisgIHRoaXMgTGljZW5zZSBncmFudHMgeW91IHBlcm1pc3Npb24gdG8gcHJvcGFnYXRlIG9yIG1vZGlmeSBhbnkgY292ZXJlZAorICB3b3JrLiBUaGVzZSBhY3Rpb25zIGluZnJpbmdlIGNvcHlyaWdodCBpZiB5b3UgZG8gbm90IGFjY2VwdCB0aGlzIExpY2Vuc2UuCisgIFRoZXJlZm9yZSwgYnkgbW9kaWZ5aW5nIG9yIHByb3BhZ2F0aW5nIGEgY292ZXJlZCB3b3JrLCB5b3UgaW5kaWNhdGUgeW91cgorICBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzby4KKworICAxMC4gQXV0b21hdGljIExpY2Vuc2luZyBvZiBEb3duc3RyZWFtIFJlY2lwaWVudHMuCisKKyAgRWFjaCB0aW1lIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHRoZSByZWNpcGllbnQgYXV0b21hdGljYWxseSByZWNlaXZlcworICBhIGxpY2Vuc2UgZnJvbSB0aGUgb3JpZ2luYWwgbGljZW5zb3JzLCB0byBydW4sIG1vZGlmeSBhbmQgcHJvcGFnYXRlIHRoYXQKKyAgd29yaywgc3ViamVjdCB0byB0aGlzIExpY2Vuc2UuIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlIGZvciBlbmZvcmNpbmcKKyAgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGggdGhpcyBMaWNlbnNlLgorCisgIEFuIOKAnGVudGl0eSB0cmFuc2FjdGlvbuKAnSBpcyBhIHRyYW5zYWN0aW9uIHRyYW5zZmVycmluZyBjb250cm9sIG9mIGFuCisgIG9yZ2FuaXphdGlvbiwgb3Igc3Vic3RhbnRpYWxseSBhbGwgYXNzZXRzIG9mIG9uZSwgb3Igc3ViZGl2aWRpbmcgYW4KKyAgb3JnYW5pemF0aW9uLCBvciBtZXJnaW5nIG9yZ2FuaXphdGlvbnMuIElmIHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZCB3b3JrCisgIHJlc3VsdHMgZnJvbSBhbiBlbnRpdHkgdHJhbnNhY3Rpb24sIGVhY2ggcGFydHkgdG8gdGhhdCB0cmFuc2FjdGlvbiB3aG8KKyAgcmVjZWl2ZXMgYSBjb3B5IG9mIHRoZSB3b3JrIGFsc28gcmVjZWl2ZXMgd2hhdGV2ZXIgbGljZW5zZXMgdG8gdGhlIHdvcmsKKyAgdGhlIHBhcnR5J3MgcHJlZGVjZXNzb3IgaW4gaW50ZXJlc3QgaGFkIG9yIGNvdWxkIGdpdmUgdW5kZXIgdGhlIHByZXZpb3VzCisgIHBhcmFncmFwaCwgcGx1cyBhIHJpZ2h0IHRvIHBvc3Nlc3Npb24gb2YgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIG9mIHRoZQorICB3b3JrIGZyb20gdGhlIHByZWRlY2Vzc29yIGluIGludGVyZXN0LCBpZiB0aGUgcHJlZGVjZXNzb3IgaGFzIGl0IG9yIGNhbgorICBnZXQgaXQgd2l0aCByZWFzb25hYmxlIGVmZm9ydHMuCisKKyAgWW91IG1heSBub3QgaW1wb3NlIGFueSBmdXJ0aGVyIHJlc3RyaWN0aW9ucyBvbiB0aGUgZXhlcmNpc2Ugb2YgdGhlIHJpZ2h0cworICBncmFudGVkIG9yIGFmZmlybWVkIHVuZGVyIHRoaXMgTGljZW5zZS4gRm9yIGV4YW1wbGUsIHlvdSBtYXkgbm90IGltcG9zZSBhCisgIGxpY2Vuc2UgZmVlLCByb3lhbHR5LCBvciBvdGhlciBjaGFyZ2UgZm9yIGV4ZXJjaXNlIG9mIHJpZ2h0cyBncmFudGVkCisgIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIHlvdSBtYXkgbm90IGluaXRpYXRlIGxpdGlnYXRpb24gKGluY2x1ZGluZyBhCisgIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQgYW55IHBhdGVudCBjbGFpbQorICBpcyBpbmZyaW5nZWQgYnkgbWFraW5nLCB1c2luZywgc2VsbGluZywgb2ZmZXJpbmcgZm9yIHNhbGUsIG9yIGltcG9ydGluZworICB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBvZiBpdC4KKworICAxMS4gUGF0ZW50cy4KKworICBBIOKAnGNvbnRyaWJ1dG9y4oCdIGlzIGEgY29weXJpZ2h0IGhvbGRlciB3aG8gYXV0aG9yaXplcyB1c2UgdW5kZXIgdGhpcworICBMaWNlbnNlIG9mIHRoZSBQcm9ncmFtIG9yIGEgd29yayBvbiB3aGljaCB0aGUgUHJvZ3JhbSBpcyBiYXNlZC4gVGhlIHdvcmsKKyAgdGh1cyBsaWNlbnNlZCBpcyBjYWxsZWQgdGhlIGNvbnRyaWJ1dG9yJ3Mg4oCcY29udHJpYnV0b3IgdmVyc2lvbuKAnS4KKworICBBIGNvbnRyaWJ1dG9yJ3Mg4oCcZXNzZW50aWFsIHBhdGVudCBjbGFpbXPigJ0gYXJlIGFsbCBwYXRlbnQgY2xhaW1zIG93bmVkIG9yCisgIGNvbnRyb2xsZWQgYnkgdGhlIGNvbnRyaWJ1dG9yLCB3aGV0aGVyIGFscmVhZHkgYWNxdWlyZWQgb3IgaGVyZWFmdGVyCisgIGFjcXVpcmVkLCB0aGF0IHdvdWxkIGJlIGluZnJpbmdlZCBieSBzb21lIG1hbm5lciwgcGVybWl0dGVkIGJ5IHRoaXMKKyAgTGljZW5zZSwgb2YgbWFraW5nLCB1c2luZywgb3Igc2VsbGluZyBpdHMgY29udHJpYnV0b3IgdmVyc2lvbiwgYnV0IGRvIG5vdAorICBpbmNsdWRlIGNsYWltcyB0aGF0IHdvdWxkIGJlIGluZnJpbmdlZCBvbmx5IGFzIGEgY29uc2VxdWVuY2Ugb2YgZnVydGhlcgorICBtb2RpZmljYXRpb24gb2YgdGhlIGNvbnRyaWJ1dG9yIHZlcnNpb24uIEZvciBwdXJwb3NlcyBvZiB0aGlzIGRlZmluaXRpb24sCisgIOKAnGNvbnRyb2zigJ0gaW5jbHVkZXMgdGhlIHJpZ2h0IHRvIGdyYW50IHBhdGVudCBzdWJsaWNlbnNlcyBpbiBhIG1hbm5lcgorICBjb25zaXN0ZW50IHdpdGggdGhlIHJlcXVpcmVtZW50cyBvZiB0aGlzIExpY2Vuc2UuCisKKyAgRWFjaCBjb250cmlidXRvciBncmFudHMgeW91IGEgbm9uLWV4Y2x1c2l2ZSwgd29ybGR3aWRlLCByb3lhbHR5LWZyZWUKKyAgcGF0ZW50IGxpY2Vuc2UgdW5kZXIgdGhlIGNvbnRyaWJ1dG9yJ3MgZXNzZW50aWFsIHBhdGVudCBjbGFpbXMsIHRvIG1ha2UsCisgIHVzZSwgc2VsbCwgb2ZmZXIgZm9yIHNhbGUsIGltcG9ydCBhbmQgb3RoZXJ3aXNlIHJ1biwgbW9kaWZ5IGFuZCBwcm9wYWdhdGUKKyAgdGhlIGNvbnRlbnRzIG9mIGl0cyBjb250cmlidXRvciB2ZXJzaW9uLgorCisgIEluIHRoZSBmb2xsb3dpbmcgdGhyZWUgcGFyYWdyYXBocywgYSDigJxwYXRlbnQgbGljZW5zZeKAnSBpcyBhbnkgZXhwcmVzcworICBhZ3JlZW1lbnQgb3IgY29tbWl0bWVudCwgaG93ZXZlciBkZW5vbWluYXRlZCwgbm90IHRvIGVuZm9yY2UgYSBwYXRlbnQKKyAgKHN1Y2ggYXMgYW4gZXhwcmVzcyBwZXJtaXNzaW9uIHRvIHByYWN0aWNlIGEgcGF0ZW50IG9yIGNvdmVuYW50IG5vdCB0bworICBzdWUgZm9yIHBhdGVudCBpbmZyaW5nZW1lbnQpLiBUbyDigJxncmFudOKAnSBzdWNoIGEgcGF0ZW50IGxpY2Vuc2UgdG8gYSBwYXJ0eQorICBtZWFucyB0byBtYWtlIHN1Y2ggYW4gYWdyZWVtZW50IG9yIGNvbW1pdG1lbnQgbm90IHRvIGVuZm9yY2UgYSBwYXRlbnQKKyAgYWdhaW5zdCB0aGUgcGFydHkuCisKKyAgSWYgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywga25vd2luZ2x5IHJlbHlpbmcgb24gYSBwYXRlbnQgbGljZW5zZSwgYW5kCisgIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBpcyBub3QgYXZhaWxhYmxlIGZvciBhbnlvbmUgdG8gY29weSwKKyAgZnJlZSBvZiBjaGFyZ2UgYW5kIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIHRocm91Z2ggYSBwdWJsaWNseQorICBhdmFpbGFibGUgbmV0d29yayBzZXJ2ZXIgb3Igb3RoZXIgcmVhZGlseSBhY2Nlc3NpYmxlIG1lYW5zLCB0aGVuIHlvdSBtdXN0CisgIGVpdGhlciAoMSkgY2F1c2UgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIHRvIGJlIHNvIGF2YWlsYWJsZSwgb3IgKDIpCisgIGFycmFuZ2UgdG8gZGVwcml2ZSB5b3Vyc2VsZiBvZiB0aGUgYmVuZWZpdCBvZiB0aGUgcGF0ZW50IGxpY2Vuc2UgZm9yIHRoaXMKKyAgcGFydGljdWxhciB3b3JrLCBvciAoMykgYXJyYW5nZSwgaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIHRoZQorICByZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNlLCB0byBleHRlbmQgdGhlIHBhdGVudCBsaWNlbnNlIHRvIGRvd25zdHJlYW0KKyAgcmVjaXBpZW50cy4g4oCcS25vd2luZ2x5IHJlbHlpbmfigJ0gbWVhbnMgeW91IGhhdmUgYWN0dWFsIGtub3dsZWRnZSB0aGF0LCBidXQKKyAgZm9yIHRoZSBwYXRlbnQgbGljZW5zZSwgeW91ciBjb252ZXlpbmcgdGhlIGNvdmVyZWQgd29yayBpbiBhIGNvdW50cnksIG9yCisgIHlvdXIgcmVjaXBpZW50J3MgdXNlIG9mIHRoZSBjb3ZlcmVkIHdvcmsgaW4gYSBjb3VudHJ5LCB3b3VsZCBpbmZyaW5nZQorICBvbmUgb3IgbW9yZSBpZGVudGlmaWFibGUgcGF0ZW50cyBpbiB0aGF0IGNvdW50cnkgdGhhdCB5b3UgaGF2ZSByZWFzb24KKyAgdG8gYmVsaWV2ZSBhcmUgdmFsaWQuCisKKyAgSWYsIHB1cnN1YW50IHRvIG9yIGluIGNvbm5lY3Rpb24gd2l0aCBhIHNpbmdsZSB0cmFuc2FjdGlvbiBvcgorICBhcnJhbmdlbWVudCwgeW91IGNvbnZleSwgb3IgcHJvcGFnYXRlIGJ5IHByb2N1cmluZyBjb252ZXlhbmNlIG9mLCBhCisgIGNvdmVyZWQgd29yaywgYW5kIGdyYW50IGEgcGF0ZW50IGxpY2Vuc2UgdG8gc29tZSBvZiB0aGUgcGFydGllcyByZWNlaXZpbmcKKyAgdGhlIGNvdmVyZWQgd29yayBhdXRob3JpemluZyB0aGVtIHRvIHVzZSwgcHJvcGFnYXRlLCBtb2RpZnkgb3IgY29udmV5IGEKKyAgc3BlY2lmaWMgY29weSBvZiB0aGUgY292ZXJlZCB3b3JrLCB0aGVuIHRoZSBwYXRlbnQgbGljZW5zZSB5b3UgZ3JhbnQgaXMKKyAgYXV0b21hdGljYWxseSBleHRlbmRlZCB0byBhbGwgcmVjaXBpZW50cyBvZiB0aGUgY292ZXJlZCB3b3JrIGFuZCB3b3JrcworICBiYXNlZCBvbiBpdC4KKworICBBIHBhdGVudCBsaWNlbnNlIGlzIOKAnGRpc2NyaW1pbmF0b3J54oCdIGlmIGl0IGRvZXMgbm90IGluY2x1ZGUgd2l0aGluIHRoZQorICBzY29wZSBvZiBpdHMgY292ZXJhZ2UsIHByb2hpYml0cyB0aGUgZXhlcmNpc2Ugb2YsIG9yIGlzIGNvbmRpdGlvbmVkIG9uCisgIHRoZSBub24tZXhlcmNpc2Ugb2Ygb25lIG9yIG1vcmUgb2YgdGhlIHJpZ2h0cyB0aGF0IGFyZSBzcGVjaWZpY2FsbHkKKyAgZ3JhbnRlZCB1bmRlciB0aGlzIExpY2Vuc2UuIFlvdSBtYXkgbm90IGNvbnZleSBhIGNvdmVyZWQgd29yayBpZiB5b3UgYXJlCisgIGEgcGFydHkgdG8gYW4gYXJyYW5nZW1lbnQgd2l0aCBhIHRoaXJkIHBhcnR5IHRoYXQgaXMgaW4gdGhlIGJ1c2luZXNzIG9mCisgIGRpc3RyaWJ1dGluZyBzb2Z0d2FyZSwgdW5kZXIgd2hpY2ggeW91IG1ha2UgcGF5bWVudCB0byB0aGUgdGhpcmQgcGFydHkKKyAgYmFzZWQgb24gdGhlIGV4dGVudCBvZiB5b3VyIGFjdGl2aXR5IG9mIGNvbnZleWluZyB0aGUgd29yaywgYW5kIHVuZGVyCisgIHdoaWNoIHRoZSB0aGlyZCBwYXJ0eSBncmFudHMsIHRvIGFueSBvZiB0aGUgcGFydGllcyB3aG8gd291bGQgcmVjZWl2ZSB0aGUKKyAgY292ZXJlZCB3b3JrIGZyb20geW91LCBhIGRpc2NyaW1pbmF0b3J5IHBhdGVudCBsaWNlbnNlIChhKSBpbiBjb25uZWN0aW9uCisgIHdpdGggY29waWVzIG9mIHRoZSBjb3ZlcmVkIHdvcmsgY29udmV5ZWQgYnkgeW91IChvciBjb3BpZXMgbWFkZSBmcm9tCisgIHRob3NlIGNvcGllcyksIG9yIChiKSBwcmltYXJpbHkgZm9yIGFuZCBpbiBjb25uZWN0aW9uIHdpdGggc3BlY2lmaWMKKyAgcHJvZHVjdHMgb3IgY29tcGlsYXRpb25zIHRoYXQgY29udGFpbiB0aGUgY292ZXJlZCB3b3JrLCB1bmxlc3MgeW91CisgIGVudGVyZWQgaW50byB0aGF0IGFycmFuZ2VtZW50LCBvciB0aGF0IHBhdGVudCBsaWNlbnNlIHdhcyBncmFudGVkLCBwcmlvcgorICB0byAyOCBNYXJjaCAyMDA3LgorCisgIE5vdGhpbmcgaW4gdGhpcyBMaWNlbnNlIHNoYWxsIGJlIGNvbnN0cnVlZCBhcyBleGNsdWRpbmcgb3IgbGltaXRpbmcgYW55CisgIGltcGxpZWQgbGljZW5zZSBvciBvdGhlciBkZWZlbnNlcyB0byBpbmZyaW5nZW1lbnQgdGhhdCBtYXkgb3RoZXJ3aXNlIGJlCisgIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYXBwbGljYWJsZSBwYXRlbnQgbGF3LgorCisgIDEyLiBObyBTdXJyZW5kZXIgb2YgT3RoZXJzJyBGcmVlZG9tLgorCisgIElmIGNvbmRpdGlvbnMgYXJlIGltcG9zZWQgb24geW91ICh3aGV0aGVyIGJ5IGNvdXJ0IG9yZGVyLCBhZ3JlZW1lbnQgb3IKKyAgb3RoZXJ3aXNlKSB0aGF0IGNvbnRyYWRpY3QgdGhlIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLCB0aGV5IGRvIG5vdAorICBleGN1c2UgeW91IGZyb20gdGhlIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLiBJZiB5b3UgY2Fubm90IHVzZSwKKyAgcHJvcGFnYXRlIG9yIGNvbnZleSBhIGNvdmVyZWQgd29yayBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIKKyAgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcyBMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuCisgIGFzIGEgY29uc2VxdWVuY2UgeW91IG1heSBub3QgdXNlLCBwcm9wYWdhdGUgb3IgY29udmV5IGl0IGF0IGFsbC4gRm9yCisgIGV4YW1wbGUsIGlmIHlvdSBhZ3JlZSB0byB0ZXJtcyB0aGF0IG9ibGlnYXRlIHlvdSB0byBjb2xsZWN0IGEgcm95YWx0eSBmb3IKKyAgZnVydGhlciBjb252ZXlpbmcgZnJvbSB0aG9zZSB0byB3aG9tIHlvdSBjb252ZXkgdGhlIFByb2dyYW0sIHRoZSBvbmx5IHdheQorICB5b3UgY291bGQgc2F0aXNmeSBib3RoIHRob3NlIHRlcm1zIGFuZCB0aGlzIExpY2Vuc2Ugd291bGQgYmUgdG8gcmVmcmFpbgorICBlbnRpcmVseSBmcm9tIGNvbnZleWluZyB0aGUgUHJvZ3JhbS4KKworICAxMy4gT2ZmZXJpbmcgdGhlIFByb2dyYW0gYXMgYSBTZXJ2aWNlLgorCisgIElmIHlvdSBtYWtlIHRoZSBmdW5jdGlvbmFsaXR5IG9mIHRoZSBQcm9ncmFtIG9yIGEgbW9kaWZpZWQgdmVyc2lvbgorICBhdmFpbGFibGUgdG8gdGhpcmQgcGFydGllcyBhcyBhIHNlcnZpY2UsIHlvdSBtdXN0IG1ha2UgdGhlIFNlcnZpY2UgU291cmNlCisgIENvZGUgYXZhaWxhYmxlIHZpYSBuZXR3b3JrIGRvd25sb2FkIHRvIGV2ZXJ5b25lIGF0IG5vIGNoYXJnZSwgdW5kZXIgdGhlCisgIHRlcm1zIG9mIHRoaXMgTGljZW5zZS4gTWFraW5nIHRoZSBmdW5jdGlvbmFsaXR5IG9mIHRoZSBQcm9ncmFtIG9yCisgIG1vZGlmaWVkIHZlcnNpb24gYXZhaWxhYmxlIHRvIHRoaXJkIHBhcnRpZXMgYXMgYSBzZXJ2aWNlIGluY2x1ZGVzLAorICB3aXRob3V0IGxpbWl0YXRpb24sIGVuYWJsaW5nIHRoaXJkIHBhcnRpZXMgdG8gaW50ZXJhY3Qgd2l0aCB0aGUKKyAgZnVuY3Rpb25hbGl0eSBvZiB0aGUgUHJvZ3JhbSBvciBtb2RpZmllZCB2ZXJzaW9uIHJlbW90ZWx5IHRocm91Z2ggYQorICBjb21wdXRlciBuZXR3b3JrLCBvZmZlcmluZyBhIHNlcnZpY2UgdGhlIHZhbHVlIG9mIHdoaWNoIGVudGlyZWx5IG9yCisgIHByaW1hcmlseSBkZXJpdmVzIGZyb20gdGhlIHZhbHVlIG9mIHRoZSBQcm9ncmFtIG9yIG1vZGlmaWVkIHZlcnNpb24sIG9yCisgIG9mZmVyaW5nIGEgc2VydmljZSB0aGF0IGFjY29tcGxpc2hlcyBmb3IgdXNlcnMgdGhlIHByaW1hcnkgcHVycG9zZSBvZiB0aGUKKyAgUHJvZ3JhbSBvciBtb2RpZmllZCB2ZXJzaW9uLgorCisgIOKAnFNlcnZpY2UgU291cmNlIENvZGXigJ0gbWVhbnMgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGZvciB0aGUgUHJvZ3JhbSBvcgorICB0aGUgbW9kaWZpZWQgdmVyc2lvbiwgYW5kIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgYWxsIHByb2dyYW1zIHRoYXQKKyAgeW91IHVzZSB0byBtYWtlIHRoZSBQcm9ncmFtIG9yIG1vZGlmaWVkIHZlcnNpb24gYXZhaWxhYmxlIGFzIGEgc2VydmljZSwKKyAgaW5jbHVkaW5nLCB3aXRob3V0IGxpbWl0YXRpb24sIG1hbmFnZW1lbnQgc29mdHdhcmUsIHVzZXIgaW50ZXJmYWNlcywKKyAgYXBwbGljYXRpb24gcHJvZ3JhbSBpbnRlcmZhY2VzLCBhdXRvbWF0aW9uIHNvZnR3YXJlLCBtb25pdG9yaW5nIHNvZnR3YXJlLAorICBiYWNrdXAgc29mdHdhcmUsIHN0b3JhZ2Ugc29mdHdhcmUgYW5kIGhvc3Rpbmcgc29mdHdhcmUsIGFsbCBzdWNoIHRoYXQgYQorICB1c2VyIGNvdWxkIHJ1biBhbiBpbnN0YW5jZSBvZiB0aGUgc2VydmljZSB1c2luZyB0aGUgU2VydmljZSBTb3VyY2UgQ29kZQorICB5b3UgbWFrZSBhdmFpbGFibGUuICAKKworICAxNC4gUmV2aXNlZCBWZXJzaW9ucyBvZiB0aGlzIExpY2Vuc2UuCisKKyAgTW9uZ29EQiwgSW5jLiBtYXkgcHVibGlzaCByZXZpc2VkIGFuZC9vciBuZXcgdmVyc2lvbnMgb2YgdGhlIFNlcnZlciBTaWRlCisgIFB1YmxpYyBMaWNlbnNlIGZyb20gdGltZSB0byB0aW1lLiBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsIGJlIHNpbWlsYXIgaW4KKyAgc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0byBhZGRyZXNzIG5ldworICBwcm9ibGVtcyBvciBjb25jZXJucy4KKworICBFYWNoIHZlcnNpb24gaXMgZ2l2ZW4gYSBkaXN0aW5ndWlzaGluZyB2ZXJzaW9uIG51bWJlci4gSWYgdGhlIFByb2dyYW0KKyAgc3BlY2lmaWVzIHRoYXQgYSBjZXJ0YWluIG51bWJlcmVkIHZlcnNpb24gb2YgdGhlIFNlcnZlciBTaWRlIFB1YmxpYworICBMaWNlbnNlIOKAnG9yIGFueSBsYXRlciB2ZXJzaW9u4oCdIGFwcGxpZXMgdG8gaXQsIHlvdSBoYXZlIHRoZSBvcHRpb24gb2YKKyAgZm9sbG93aW5nIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBlaXRoZXIgb2YgdGhhdCBudW1iZXJlZCB2ZXJzaW9uIG9yIG9mCisgIGFueSBsYXRlciB2ZXJzaW9uIHB1Ymxpc2hlZCBieSBNb25nb0RCLCBJbmMuIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90CisgIHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGUgU2VydmVyIFNpZGUgUHVibGljIExpY2Vuc2UsIHlvdSBtYXkKKyAgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkIGJ5IE1vbmdvREIsIEluYy4KKworICBJZiB0aGUgUHJvZ3JhbSBzcGVjaWZpZXMgdGhhdCBhIHByb3h5IGNhbiBkZWNpZGUgd2hpY2ggZnV0dXJlIHZlcnNpb25zIG9mCisgIHRoZSBTZXJ2ZXIgU2lkZSBQdWJsaWMgTGljZW5zZSBjYW4gYmUgdXNlZCwgdGhhdCBwcm94eSdzIHB1YmxpYyBzdGF0ZW1lbnQKKyAgb2YgYWNjZXB0YW5jZSBvZiBhIHZlcnNpb24gcGVybWFuZW50bHkgYXV0aG9yaXplcyB5b3UgdG8gY2hvb3NlIHRoYXQKKyAgdmVyc2lvbiBmb3IgdGhlIFByb2dyYW0uCisKKyAgTGF0ZXIgbGljZW5zZSB2ZXJzaW9ucyBtYXkgZ2l2ZSB5b3UgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQgcGVybWlzc2lvbnMuCisgIEhvd2V2ZXIsIG5vIGFkZGl0aW9uYWwgb2JsaWdhdGlvbnMgYXJlIGltcG9zZWQgb24gYW55IGF1dGhvciBvciBjb3B5cmlnaHQKKyAgaG9sZGVyIGFzIGEgcmVzdWx0IG9mIHlvdXIgY2hvb3NpbmcgdG8gZm9sbG93IGEgbGF0ZXIgdmVyc2lvbi4KKworICAxNS4gRGlzY2xhaW1lciBvZiBXYXJyYW50eS4KKworICBUSEVSRSBJUyBOTyBXQVJSQU5UWSBGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZCisgIEFQUExJQ0FCTEUgTEFXLiBFWENFUFQgV0hFTiBPVEhFUldJU0UgU1RBVEVEIElOIFdSSVRJTkcgVEhFIENPUFlSSUdIVAorICBIT0xERVJTIEFORC9PUiBPVEhFUiBQQVJUSUVTIFBST1ZJREUgVEhFIFBST0dSQU0g4oCcQVMgSVPigJ0gV0lUSE9VVCBXQVJSQU5UWQorICBPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICBQVVJQT1NFLiBUSEUgRU5USVJFIFJJU0sgQVMgVE8gVEhFIFFVQUxJVFkgQU5EIFBFUkZPUk1BTkNFIE9GIFRIRSBQUk9HUkFNCisgIElTIFdJVEggWU9VLiBTSE9VTEQgVEhFIFBST0dSQU0gUFJPVkUgREVGRUNUSVZFLCBZT1UgQVNTVU1FIFRIRSBDT1NUIE9GCisgIEFMTCBORUNFU1NBUlkgU0VSVklDSU5HLCBSRVBBSVIgT1IgQ09SUkVDVElPTi4KKyAgCisgIDE2LiBMaW1pdGF0aW9uIG9mIExpYWJpbGl0eS4KKyAgCisgIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORworICBXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1PRElGSUVTIEFORC9PUiBDT05WRVlTCisgIFRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywgSU5DTFVESU5HCisgIEFOWSBHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRgorICBUSEUgVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8KKyAgTE9TUyBPRiBEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVQorICBPUiBUSElSRCBQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSCisgIFBST0dSQU1TKSwgRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRQorICBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRVMuCisgIAorICAxNy4gSW50ZXJwcmV0YXRpb24gb2YgU2VjdGlvbnMgMTUgYW5kIDE2LgorCisgIElmIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5IGFuZCBsaW1pdGF0aW9uIG9mIGxpYWJpbGl0eSBwcm92aWRlZCBhYm92ZQorICBjYW5ub3QgYmUgZ2l2ZW4gbG9jYWwgbGVnYWwgZWZmZWN0IGFjY29yZGluZyB0byB0aGVpciB0ZXJtcywgcmV2aWV3aW5nCisgIGNvdXJ0cyBzaGFsbCBhcHBseSBsb2NhbCBsYXcgdGhhdCBtb3N0IGNsb3NlbHkgYXBwcm94aW1hdGVzIGFuIGFic29sdXRlCisgIHdhaXZlciBvZiBhbGwgY2l2aWwgbGlhYmlsaXR5IGluIGNvbm5lY3Rpb24gd2l0aCB0aGUgUHJvZ3JhbSwgdW5sZXNzIGEKKyAgd2FycmFudHkgb3IgYXNzdW1wdGlvbiBvZiBsaWFiaWxpdHkgYWNjb21wYW5pZXMgYSBjb3B5IG9mIHRoZSBQcm9ncmFtIGluCisgIHJldHVybiBmb3IgYSBmZWUuCisgIAorICAgICAgICAgICAgICAgICAgICAgICAgRU5EIE9GIFRFUk1TIEFORCBDT05ESVRJT05TCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL3JlYWQtZWRpZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvcmVhZC1lZGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlYjJjNjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL3JlYWQtZWRpZApAQCAtMCwwICsxLDE3IEBACisKKyAqIFRoaXMgaXMgYW4gdW5vZmZpY2lhbCBsaWNlbnNlLiBMZXQncyBjYWxsIGl0IEJTRC1saWtlLCB3aXRoIHRoZXNlIHRlcm1zOgorICogICAqIFlvdSBhcmUgZnJlZSB0byB1c2UgdGhpcyBzb2Z0d2FyZSBmb3IgYW55IHB1cnBvc2UuIEkgY2Fubm90IGd1YXJhbnRlZQorICogICAgIGFueXRoaW5nIGFib3V0IHRoaXMgc29mdHdhcmUgb3IgaXRzIGZpdG5lc3MgZm9yIGFueSBwdXJwb3NlLiBJIHdpbGwKKyAqICAgICBvZmZlciBzdXBwb3J0IGZvciB0aGlzIHNvZnR3YXJlIGFzIGxvbmcgYXMgSSBhbSBjYXBhYmxlIG9mIGRvaW5nIHNvLAorICogICAgIGJ1dCB0aGlzIHNob3VsZCBub3QgYmUgaW50ZXJwcmV0ZWQgYXMgYSBzdXBwb3J0IGNvbnRyYWN0IG9mIGFueSBraW5kLgorICoKKyAqICAgKiBZb3UgYXJlIGZyZWUgdG8gbW9kaWZ5LCBkaXN0cmlidXRlLCBldGMuIHRoaXMgY29kZSB1bmRlciB0aGUgc3RyaWN0CisgKiAgICAgY29uZGl0aW9uIHRoYXQgeW91IGVtYWlsIG1lLCBNYXR0aGV3IEtlcm4gPHB5cm9waG9iaWNtYW5AZ21haWwuY29tPiwgYQorICogICAgIGJyaWVmIG1lc3NhZ2Ugb24gd2hhdCB5b3UncmUgZG9pbmcuIE5vdGhpbmcgd2lsbCBiZSByZWplY3RlZCwgdGhpcyBpcworICogICAgIHNpbXBseSB0byBrZWVwIHRhYnMgb24gbXkgd29yaywgYW5kIG1heWJlIHdlIGNhbiBzaGFyZSBpZGVhcyBvbiBFRElEcy4KKyAqCisgKiAgICogKEMpb3B5cmlnaHQgMjAwOC0yMDE0IE1hdHRoZXcgS2VybgorICoKKyAqICAgUGxlYXNlIHNlZSBBVVRIT1JTIGZvciBhIGxpc3Qgb2YgdGhlIHBlb3BsZSB3aG8gbWFkZSB0aGlzIHNvZnR3YXJlCisgKiAgIHBvc3NpYmxlLiBBbGwgb2YgdGhlIGN1cnJlbnQgY29kZSBpcyBhIHJld3JpdGUgb2YgbXkgb3duIHdvcmssIGJ1dAorICogICBJIGFtIHN0aWxsIGluZGVidGVkIHRvIHRob3NlIGd1eXMgZm9yIGEgdG9uIG9mIHRoZSBpZGVhcy4KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvY3B1YnVybi9jcHVidXJuLWFybS8wMDAxLWNwdWJ1cm4tYTguUy1SZW1vdmUtLmZ1bmMtLmVuZGZ1bmMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2NwdWJ1cm4vY3B1YnVybi1hcm0vMDAwMS1jcHVidXJuLWE4LlMtUmVtb3ZlLS5mdW5jLS5lbmRmdW5jLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyZjEyZmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2NwdWJ1cm4vY3B1YnVybi1hcm0vMDAwMS1jcHVidXJuLWE4LlMtUmVtb3ZlLS5mdW5jLS5lbmRmdW5jLnBhdGNoCkBAIC0wLDAgKzEsNjkgQEAKK0Zyb20gMDY0YTYzODYwYmY5ZWU0YmY1NGZhY2I3NmNhNjZmOWY5NTdkNDc5NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDI5IEphbiAyMDE5IDExOjEyOjM4IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGNwdWJ1cm4qLlM6IFJlbW92ZSAuZnVuYy8uZW5kZnVuYworCitUaGVzZSBhcmUgbmVlZGVkIHRvIGdlbmVyYXRlIHN0YWJzIGRlYnVnIGluZm8gd2hpY2ggd2UgZG9udCB1c2UKK2FuZCBhcmUgc2lsZW50bHkgaWdub3JlZCBieSBnbnUgYXNzZW1ibGVyIHdoZW4gdW51c2VkLCBjbGFuZyBhc3NlbWJsZXIKK2hvd2V2ZXIgYmFyZnMsIHNvIHJlbW92ZSB0aGVtCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworLS0tCisgY3B1YnVybi1hNy5TIHwgMiAtLQorIGNwdWJ1cm4tYTguUyB8IDIgLS0KKyBjcHVidXJuLWE5LlMgfCAyIC0tCisgMyBmaWxlcyBjaGFuZ2VkLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY3B1YnVybi1hNy5TIGIvY3B1YnVybi1hNy5TCitpbmRleCA3NGU5MjVhLi5jMWUzMDhjIDEwMDY0NAorLS0tIGEvY3B1YnVybi1hNy5TCisrKysgYi9jcHVidXJuLWE3LlMKK0BAIC00Miw3ICs0Miw2IEBACisgCisgICAgIC5nbG9iYWwgbWFpbgorIAorLS5mdW5jIG1haW4KKyAudHlwZSBtYWluLCAlZnVuY3Rpb24KKyBtYWluOgorICAgICAgICAgcHVzaCAgICAgICAge3I0LXIxMiwgbHJ9CitAQCAtODgsNCArODcsMyBAQCBtYWluOgorIAorICAgICAgICAgbW92ICAgICAgICAgcjAsICMwCisgICAgICAgICBwb3AgICAgICAgICB7cjQtcjEyLCBwY30KKy0uZW5kZnVuYworZGlmZiAtLWdpdCBhL2NwdWJ1cm4tYTguUyBiL2NwdWJ1cm4tYTguUworaW5kZXggYzZmOTNhNi4uYTQyZjVhNSAxMDA2NDQKKy0tLSBhL2NwdWJ1cm4tYTguUworKysrIGIvY3B1YnVybi1hOC5TCitAQCAtNDYsNyArNDYsNiBAQAorIC8qIDE2IHNlZW1zIHRvIGJlIGEgZ29vZCBjaG9pY2UgKi8KKyAjZGVmaW5lIFNURVAgICAgICAgICAgICAgICAgIDE2CisgCistLmZ1bmMgbWFpbgorIC50aHVtYl9mdW5jCisgbWFpbjoKKyAgICAgICAgIG1vdiAgICAgICAgIGxyLCBwYworQEAgLTcwLDQgKzY5LDMgQEAgbWFpbjoKKyAgICAgICAgIHN1YnMgICAgICAgIGxyLCBsciwgIyhTVEVQICogNCkKKyAgICAgLmVuZHIKKyAgICAgICAgIGJuZSAgICAgICAgIDBiCistLmVuZGZ1bmMKK2RpZmYgLS1naXQgYS9jcHVidXJuLWE5LlMgYi9jcHVidXJuLWE5LlMKK2luZGV4IDAzMzhiMDAuLmExY2NhZTUgMTAwNjQ0CistLS0gYS9jcHVidXJuLWE5LlMKKysrKyBiL2NwdWJ1cm4tYTkuUworQEAgLTQ4LDcgKzQ4LDYgQEAKKyAvKiA2NCBzZWVtcyB0byBiZSBhIGdvb2QgY2hvaWNlICovCisgI2RlZmluZSBTVEVQICAgICAgICAgICAgICAgICA2NAorIAorLS5mdW5jIG1haW4KKyAudHlwZSBtYWluLCAlZnVuY3Rpb24KKyBtYWluOgorIAorQEAgLTk0LDQgKzkzLDMgQEAgbWFpbjoKKyAgICAgICAgIHN1YnNuZSAgICAgIGxyLCBsciwgIyhTVEVQICogNCkKKyAgICAgLmVuZHIKKyAgICAgICAgIGJuZSAgICAgICAgIDBiCistLmVuZGZ1bmMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvY3B1YnVybi9jcHVidXJuLWFybS8wMDAyLWJ1cm4uUy1BZGQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2NwdWJ1cm4vY3B1YnVybi1hcm0vMDAwMi1idXJuLlMtQWRkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViNjhjOWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2NwdWJ1cm4vY3B1YnVybi1hcm0vMDAwMi1idXJuLlMtQWRkLnBhdGNoCkBAIC0wLDAgKzEsNDcgQEAKK0Zyb20gYzJhZGNjYTkzYTAwNzU2NjVhODE5NWNhYWQ0OWI4OTc4NTg4NmU4ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDI5IEphbiAyMDE5IDEyOjAyOjIyIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGJ1cm4uUzogQWRkCisKK1RoaXMgaXMgb3JpZ2luYWxseSBmcm9tCitodHRwczovL2hhcmR3YXJlYnVnLm9yZy9maWxlcy9idXJuLlMKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgYnVybi5TIHwgMjYgKysrKysrKysrKysrKysrKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBidXJuLlMKKworZGlmZiAtLWdpdCBhL2J1cm4uUyBiL2J1cm4uUworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmMzNzJjODcKKy0tLSAvZGV2L251bGwKKysrKyBiL2J1cm4uUworQEAgLTAsMCArMSwyNiBAQAorKyAgICAgICAgLmFyY2ggICBhcm12Ny1hCisrICAgICAgICAuZnB1ICAgIG5lb24KKysKKysgICAgICAgIC50ZXh0CisrCisrICAgICAgICAuZ2xvYmFsIG1haW4KKysgICAgICAgIC50eXBlICAgbWFpbiwgU1RUX0ZVTkMKKysgICAgICAgIC5mdW5jICAgbWFpbgorK21haW46CisrICAgICAgICBiaWMgICAgICAgICAgICAgc3AsICBzcCwgICMxNQorKzE6CisrICAgICAgICB2bGQxLjggICAgICAgICAge3E4fSwgW3NwLDoxMjhdCisrICAgICAgICBzbXVhZCAgICAgICAgICAgcjYsICByNCwgIHI1CisrICAgICAgICB2ZW9yICAgICAgICAgICAgcTksICBxMCwgIHExCisrICAgICAgICBhZGQgICAgICAgICAgICAgbHIsICByNCwgIHI1CisrICAgICAgICBsZHIgICAgICAgICAgICAgaXAsICBbc3BdCisrICAgICAgICB2ZXh0LjggICAgICAgICAgcTEwLCBxMywgIHE0LCAgIzEKKysgICAgICAgIGVvciAgICAgICAgICAgICByNSwgIHI0LCAgcjUKKysgICAgICAgIHZhZGQuaTMyICAgICAgICBxMTEsIHEwLCAgcTEKKysgICAgICAgIHNtdXNkICAgICAgICAgICByNiwgIHI0LCAgcjUKKysgICAgICAgIGxkciAgICAgICAgICAgICByMiwgIFtzcF0KKysgICAgICAgIHZleHQuOCAgICAgICAgICBxMTIsIHExLCAgcTIsICAjMworKyAgICAgICAgc3N1YjggICAgICAgICAgIGxyLCAgcjQsICByNQorKyAgICAgICAgdm11bC51MTYgICAgICAgIHExMywgcTAsICBxNAorKyAgICAgICAgYiAgICAgICAgICAgICAgIDFiCisrLmVuZGZ1bmMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvY3B1YnVybi9jcHVidXJuLWFybS8wMDAzLWJ1cm4uUy1SZW1vdmUtLmZ1bmMtLmVuZGZ1bmMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2NwdWJ1cm4vY3B1YnVybi1hcm0vMDAwMy1idXJuLlMtUmVtb3ZlLS5mdW5jLS5lbmRmdW5jLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzNTFiNjIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2NwdWJ1cm4vY3B1YnVybi1hcm0vMDAwMy1idXJuLlMtUmVtb3ZlLS5mdW5jLS5lbmRmdW5jLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gMDc4ZGY1YjI1ZDc1NTc4YmIwNDQ4Y2E1MzUxNGMyM2RlYmU2ZDkyMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDI5IEphbiAyMDE5IDEyOjAzOjExIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGJ1cm4uUzogUmVtb3ZlIC5mdW5jLy5lbmRmdW5jCisKK1RoZXNlIGFyZSB1c2VsZXNzIG9uIExpbnV4IHN5c3RlbXMgd2hlcmUgd2UgdXNlIGR3YXJmIGRlYnVnIGluZm8gaW5zdGVhZAorb2Ygc3RhYnMKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgYnVybi5TIHwgMiAtLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYnVybi5TIGIvYnVybi5TCitpbmRleCBjMzcyYzg3Li40NDU4ZjUxIDEwMDY0NAorLS0tIGEvYnVybi5TCisrKysgYi9idXJuLlMKK0BAIC01LDcgKzUsNiBAQAorIAorICAgICAgICAgLmdsb2JhbCBtYWluCisgICAgICAgICAudHlwZSAgIG1haW4sIFNUVF9GVU5DCistICAgICAgICAuZnVuYyAgIG1haW4KKyBtYWluOgorICAgICAgICAgYmljICAgICAgICAgICAgIHNwLCAgc3AsICAjMTUKKyAxOgorQEAgLTIzLDQgKzIyLDMgQEAgbWFpbjoKKyAgICAgICAgIHNzdWI4ICAgICAgICAgICBsciwgIHI0LCAgcjUKKyAgICAgICAgIHZtdWwudTE2ICAgICAgICBxMTMsIHEwLCAgcTQKKyAgICAgICAgIGIgICAgICAgICAgICAgICAxYgorLS5lbmRmdW5jCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2NwdWJ1cm4vY3B1YnVybi1hcm1fZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9jcHVidXJuL2NwdWJ1cm4tYXJtX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTg5ZGEzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9jcHVidXJuL2NwdWJ1cm4tYXJtX2dpdC5iYgpAQCAtMCwwICsxLDM4IEBACitTVU1NQVJZID0gIkEgY29sbGVjdGlvbiBvZiBjcHVidXJuIHByb2dyYW1zIHR1bmVkIGZvciBkaWZmZXJlbnQgQVJNIGhhcmR3YXJlIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9jcHVidXJuLWE1My5TO2JlZ2lubGluZT0xO2VuZGxpbmU9MjI7bWQ1PTNiN2NjZDcwMTQ0YzE2ZDNmZTE0YWM0OTFjMmQ0YTg3IgorCitSUFJPVklERVNfJHtQTn0gPSAiY3B1YnVybi1uZW9uIgorUFJPVklERVMgKz0gImNwdWJ1cm4tbmVvbiIKKworU1JDUkVWID0gImFkN2U2NDY3MDBkMTRiODE0MTMyOTdiZGEwMmZiN2ZlOTY2MTNjM2YiCisKK1BWID0gIjEuMCtnaXQke1NSQ1BWfSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3NzdmIvY3B1YnVybi1hcm0uZ2l0IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtY3B1YnVybi1hOC5TLVJlbW92ZS0uZnVuYy0uZW5kZnVuYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLWJ1cm4uUy1BZGQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1idXJuLlMtUmVtb3ZlLS5mdW5jLS5lbmRmdW5jLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitkb19jb21waWxlKCkgeworICAgICR7Q0N9ICR7Q0ZMQUdTfSAke0xERkxBR1N9IGJ1cm4uUyAtbyBidXJuCisgICAgJHtDQ30gJHtDRkxBR1N9ICR7TERGTEFHU30gY3B1YnVybi1hNy5TIC1vIGJ1cm4tYTcKKyAgICAke0NDfSAke0NGTEFHU30gJHtMREZMQUdTfSBjcHVidXJuLWE4LlMgLW8gYnVybi1hOAorICAgICR7Q0N9ICR7Q0ZMQUdTfSAke0xERkxBR1N9IGNwdWJ1cm4tYTkuUyAtbyBidXJuLWE5CisgICAgJHtDQ30gJHtDRkxBR1N9ICR7TERGTEFHU30gY3B1YnVybi1hNTMuUyAtbyBidXJuLWE1MworICAgICR7Q0N9ICR7Q0ZMQUdTfSAke0xERkxBR1N9IGNwdWJ1cm4ta3JhaXQuUyAtbyBidXJuLWtyYWl0Cit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgZm9yIGYgaW4gYnVybiBidXJuLWE3IGJ1cm4tYTggYnVybi1hOSBidXJuLWE1MyBidXJuLWtyYWl0OyBkbworICAgICAgICBpbnN0YWxsIC1tIDA3NTUgJGYgJHtEfSR7YmluZGlyfS8kZgorICAgIGRvbmUKK30KKworQ09NUEFUSUJMRV9NQUNISU5FID89ICIoXiQpIgorQ09NUEFUSUJMRV9NQUNISU5FX2FybXY3YSA9ICIoLiopIgorQ09NUEFUSUJMRV9NQUNISU5FX2FybXY3dmUgPSAiKC4qKSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvY3B1YnVybi9jcHVidXJuLW5lb25fMjAxNDA2MjYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2NwdWJ1cm4vY3B1YnVybi1uZW9uXzIwMTQwNjI2LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNGUzZmM0Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvY3B1YnVybi9jcHVidXJuLW5lb25fMjAxNDA2MjYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi1TVU1NQVJZID0gIkNQVSBidXJuIGFwcCB0aGF0IGxvYWRzIHRoZSBORU9OIGNvcHJvY2Vzc29yIGZ1bGx5IgotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9idXJuLlM7bWQ1PTgyM2FiYzcyYzJjZDQ0OGU4N2RmOWJjNTM1NWE0NDU2IgotCi1ETF9ESVJfYXBwZW5kID0gIi8ke1BOfS0ke1BWfSIKLQotIyBFbnN1cmUgdG8gbWFrZSB0aGlzIGF2YWlsYWJsZSBmb3IgbWFjaGluZSB3aGljaCBoYXMgbmVvbgotQ09NUEFUSUJMRV9NQUNISU5FID0gIigke0BiYi51dGlscy5jb250YWlucygiVFVORV9GRUFUVVJFUyIsICJuZW9uIiwgIiR7TUFDSElORX0iLCAiSW52YWxpZCEiLCBkKX0pIgotCi1TUkNfVVJJID0gImh0dHA6Ly9oYXJkd2FyZWJ1Zy5vcmcvZmlsZXMvYnVybi5TO25hbWU9bXJ1IFwKLSAgICAgICAgICAgaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3NzdmIvY3B1YnVybi1hcm0vZGQ1YzViYTU4ZDJiMGIyM2NmYWI0YTI4NmY5ZDNmNTUxMDAwMGYyMC9jcHVidXJuLWE4LlM7bmFtZT1zc3ZiIgotCi1TUkNfVVJJW21ydS5tZDVzdW1dID0gIjgyM2FiYzcyYzJjZDQ0OGU4N2RmOWJjNTM1NWE0NDU2IgotU1JDX1VSSVttcnUuc2hhMjU2c3VtXSA9ICIwMWQ5ZmMwNGY4Mzc0MGM1MTNjMjU0MDFkY2M4OWMxMWIyYTVhNjAxM2U3MGJmY2E0MmI3YjAyMTI5Zjg4Y2QyIgotU1JDX1VSSVtzc3ZiLm1kNXN1bV0gPSAiYmEwZWYyOTM5YTNiM2I0ODc1MjM0NDhjNjc1NDRlOTQiCi1TUkNfVVJJW3NzdmIuc2hhMjU2c3VtXSA9ICJjZTQyZWJkYzcxYzg3NmEzM2Q5Zjc1MzQzNTVlZjc2Y2VmYTBkMDBkZGIxOWFkNjljZjA1YTI2NmM4NjFkMDhkIgotCi1TID0gIiR7V09SS0RJUn0iCi0KLWRvX2NvbXBpbGUoKSB7Ci0gICAgJHtDQ30gJHtDRkxBR1N9ICR7TERGTEFHU30gYnVybi5TIC1vIGJ1cm4KLSAgICAke0NDfSAke0NGTEFHU30gJHtMREZMQUdTfSBjcHVidXJuLWE4LlMgLW8gYnVybi1uZW9uYTgKLX0KLQotZG9faW5zdGFsbCgpIHsKLSAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KLSAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9idXJuICR7RH0ke2JpbmRpcn0vYnVybi1uZW9uCi0gICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vYnVybi1uZW9uYTggJHtEfSR7YmluZGlyfS8KLX0KLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9nbG1hcmsyL2ZpbGVzLzAwMDEtRml4LWNsYW5nLXdhcm5pbmdzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9nbG1hcmsyL2ZpbGVzLzAwMDEtRml4LWNsYW5nLXdhcm5pbmdzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZGYwOWZhLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZ2xtYXJrMi9maWxlcy8wMDAxLUZpeC1jbGFuZy13YXJuaW5ncy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLUZyb20gMzVlOWY4MDUxOGQ2NjZkYjVmOWM2MmU4MDcyZmZiYzMwN2I0YWY0ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBTYXQsIDI2IEF1ZyAyMDE3IDA4OjMwOjAxIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIEZpeCBjbGFuZyB3YXJuaW5ncwotCi0uLi9zcmMvbmF0aXZlLXN0YXRlLWRybS5jcHA6MzM0OjIwOiBlcnJvcjogY2Fubm90IHBhc3Mgb2JqZWN0IG9mIG5vbi10cml2aWFsIHR5cGUgJ3N0ZDo6X19jeHgxMTo6YmFzaWNfc3RyaW5nPGNoYXI+JyB0aHJvdWdoIHZhcmlhZGljIGZ1bmN0aW9uOyBjYWxsIHdpbGwgYWJvcnQgYXQgcnVudGltZSBbLVdub24tcG9kLXZhcmFyZ3NdCi0gICAgICAgICAgICAgICAgICAgZGV2X3BhdGgpOwotICAgICAgICAgICAgICAgICAgIF4KLTEgZXJyb3IgZ2VuZXJhdGVkLgotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gc3JjL25hdGl2ZS1zdGF0ZS1kcm0uY3BwIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL25hdGl2ZS1zdGF0ZS1kcm0uY3BwIGIvc3JjL25hdGl2ZS1zdGF0ZS1kcm0uY3BwCi1pbmRleCBkYzJiMzIzLi42MjU2NmVlIDEwMDY0NAotLS0tIGEvc3JjL25hdGl2ZS1zdGF0ZS1kcm0uY3BwCi0rKysgYi9zcmMvbmF0aXZlLXN0YXRlLWRybS5jcHAKLUBAIC0zMzEsNyArMzMxLDcgQEAgc3RhdGljIGludCBvcGVuX3VzaW5nX3VkZXZfc2NhbigpCi0gICAgIGlmICghdmFsaWRfZmQoZmQpKSB7Ci0gICAgICAgICAvLyAlbSBpcyBHTElCQyBzcGVjaWZpYy4uLiBNYXliZSB1c2Ugc3RyZXJyb3IgaGVyZS4uLgotICAgICAgICAgTG9nOjplcnJvcigiVHJpZWQgdG8gdXNlICclcycgYnV0IGZhaWxlZC5cblJlYXNvbiA6ICVtIiwKLS0gICAgICAgICAgICAgICAgICAgZGV2X3BhdGgpOwotKyAgICAgICAgICAgICAgICAgICBkZXZfcGF0aC5jX3N0cigpKTsKLSAgICAgfQotICAgICBlbHNlCi0gICAgICAgICBMb2c6OmRlYnVnKCJTdWNjZXNzIVxuIik7Ci0tLSAKLTIuMTQuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2dsbWFyazIvZmlsZXMvRml4LWNvbmZpZ3VyZS1mb3Itc3FydC1jaGVjay5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZ2xtYXJrMi9maWxlcy9GaXgtY29uZmlndXJlLWZvci1zcXJ0LWNoZWNrLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZGUwNWVlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZ2xtYXJrMi9maWxlcy9GaXgtY29uZmlndXJlLWZvci1zcXJ0LWNoZWNrLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotRnJvbSA5ZmIyOThjMzk4Zjg4YTYzZDcxNDMyYmUxNDEwZDUyZmFlMDg5MDYzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVG9tIEhvY2hzdGVpbiA8dG9tLmhvY2hzdGVpbkBueHAuY29tPgotRGF0ZTogTW9uLCA4IEF1ZyAyMDE2IDExOjM5OjU0IC0wNTAwCi0KLS0tLQotIHdzY3JpcHQgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS93c2NyaXB0IGIvd3NjcmlwdAotaW5kZXggY2E4NDNmNC4uZWI0YTI2YSAxMDA2NDQKLS0tLSBhL3dzY3JpcHQKLSsrKyBiL3dzY3JpcHQKLUBAIC04NCw3ICs4NCw3IEBAIGRlZiBjb25maWd1cmUoY3R4KToKLSAgICAgICAgIGN0eC5jaGVja19jYyhsaWIgPSBsaWIsIHVzZWxpYl9zdG9yZSA9IHVzZWxpYikKLSAKLSAgICAgIyBDaGVjayByZXF1aXJlZCBmdW5jdGlvbnMKLS0gICAgcmVxX2Z1bmNzID0gWygnbWVtc2V0JywgJ3N0cmluZy5oJywgW10pICwoJ3NxcnQnLCAnbWF0aC5oJywgWydtJ10pXQotKyAgICByZXFfZnVuY3MgPSBbKCdtZW1zZXQnLCAnc3RyaW5nLmgnLCBbXSldCi0gICAgIGZvciBmdW5jLCBoZWFkZXIsIHVzZWxpYiBpbiByZXFfZnVuY3M6Ci0gICAgICAgICBjdHguY2hlY2tfY2MoZnVuY3Rpb25fbmFtZSA9IGZ1bmMsIGhlYWRlcl9uYW1lID0gaGVhZGVyLAotICAgICAgICAgICAgICAgICAgICAgICB1c2VsaWIgPSB1c2VsaWIsIG1hbmRhdG9yeSA9IFRydWUpCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2dsbWFyazIvZmlsZXMvYnVpbGQtQ2hlY2stcGFja2FnZXMtdG8tYmUtdXNlZC1ieS10aGUtZW5hYmxlZC1mbGF2by5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZ2xtYXJrMi9maWxlcy9idWlsZC1DaGVjay1wYWNrYWdlcy10by1iZS11c2VkLWJ5LXRoZS1lbmFibGVkLWZsYXZvLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MmI4ZGViLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZ2xtYXJrMi9maWxlcy9idWlsZC1DaGVjay1wYWNrYWdlcy10by1iZS11c2VkLWJ5LXRoZS1lbmFibGVkLWZsYXZvLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotRnJvbTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KLVN1YmplY3Q6IFtQQVRDSF0gYnVpbGQ6IENoZWNrIHBhY2thZ2VzIHRvIGJlIHVzZWQgYnkgdGhlIGVuYWJsZWQgZmxhdm9ycwotT3JnYW5pemF0aW9uOiBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTFREQS4KLQotVGhlIHBhY2thZ2VzIHNob3VsZG4ndCBiZSBkeW5hbWljYWxseSBkZXRlY3RlZCBvdGhlcndpc2UgdGhlIGJ1aWxkCi1wcmVkaWN0YWJpbGl0eSBpcyBsb3N0LiBXZSBub3cgaGF2ZSBhbGwgcGFja2FnZXMgYXMgbWFuZGF0b3J5IGJ1dAotZGVwZW5kZW50IG9mIHRoZSBmbGF2b3JzIHdoaWNoIHVzZSB0aGVtLgotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL2dsbWFyazIvZ2xtYXJrMi9wdWxsLzhdCi0KLVNpZ25lZC1vZmYtYnk6IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+Ci0tLS0KLSB3c2NyaXB0IHwgMTAgKysrKysrKy0tLQotIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS93c2NyaXB0IGIvd3NjcmlwdAotaW5kZXggY2FiNjJhMy4uZTdlYWVkMCAxMDA2NDQKLS0tLSBhL3dzY3JpcHQKLSsrKyBiL3dzY3JpcHQKLUBAIC0xMjEsMTMgKzEyMSwxNyBAQCBkZWYgY29uZmlndXJlKGN0eCk6Ci0gICAgICAgICAgICAgICAgICgnbWlyY2xpZW50JywnbWlyY2xpZW50JywgJzAuMTMnLCBsaXN0X2NvbnRhaW5zKGN0eC5vcHRpb25zLmZsYXZvcnMsICdtaXInKSksCi0gICAgICAgICAgICAgICAgICgnd2F5bGFuZC1jbGllbnQnLCd3YXlsYW5kLWNsaWVudCcsIE5vbmUsIGxpc3RfY29udGFpbnMoY3R4Lm9wdGlvbnMuZmxhdm9ycywgJ3dheWxhbmQnKSksCi0gICAgICAgICAgICAgICAgICgnd2F5bGFuZC1lZ2wnLCd3YXlsYW5kLWVnbCcsIE5vbmUsIGxpc3RfY29udGFpbnMoY3R4Lm9wdGlvbnMuZmxhdm9ycywgJ3dheWxhbmQnKSldCi0tICAgIGZvciAocGtnLCB1c2VsaWIsIGF0bGVhc3QsIG1hbmRhdG9yeSkgaW4gb3B0X3BrZ3M6Ci0rICAgIGZvciAocGtnLCB1c2VsaWIsIGF0bGVhc3QsIGNoZWNrKSBpbiBvcHRfcGtnczoKLSsgICAgICAgICMgQ2hlY2sgcGFja2FnZXMgcmVxdWlyZWQgYnkgdGhlIGZsYXZvcnMKLSsgICAgICAgIGlmIG5vdCBjaGVjazoKLSsgICAgICAgICAgICBjb250aW51ZQotKwotICAgICAgICAgaWYgYXRsZWFzdCBpcyBOb25lOgotICAgICAgICAgICAgIGN0eC5jaGVja19jZmcocGFja2FnZSA9IHBrZywgdXNlbGliX3N0b3JlID0gdXNlbGliLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncyA9ICctLWNmbGFncyAtLWxpYnMnLCBtYW5kYXRvcnkgPSBtYW5kYXRvcnkpCi0rICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzID0gJy0tY2ZsYWdzIC0tbGlicycsIG1hbmRhdG9yeSA9IFRydWUpCi0gICAgICAgICBlbHNlOgotICAgICAgICAgICAgIGN0eC5jaGVja19jZmcocGFja2FnZSA9IHBrZywgdXNlbGliX3N0b3JlID0gdXNlbGliLCBhdGxlYXN0X3ZlcnNpb249YXRsZWFzdCwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MgPSAnLS1jZmxhZ3MgLS1saWJzJywgbWFuZGF0b3J5ID0gbWFuZGF0b3J5KQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncyA9ICctLWNmbGFncyAtLWxpYnMnLCBtYW5kYXRvcnkgPSBUcnVlKQotIAotIAotICAgICAjIFByZXBlbmQgQ1hYIGZsYWdzIHNvIHRoYXQgdGhleSBjYW4gYmUgb3ZlcnJpZGVuIGJ5IHRoZQotLS0gCi0yLjQuNgotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2dsbWFyazIvZ2xtYXJrMl9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2dsbWFyazIvZ2xtYXJrMl9naXQuYmIKaW5kZXggOTkwNTBlNy4uN2VkNWNkMCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9nbG1hcmsyL2dsbWFyazJfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZ2xtYXJrMi9nbG1hcmsyX2dpdC5iYgpAQCAtMTAsMTYgKzEwLDEyIEBACiAKIERFUEVORFMgPSAibGlicG5nIGpwZWcgdWRldiIKIAotUFYgPSAiMjAxNy4wNyske1NSQ1BWfSIKK1BWID0gIjIwMTkwMjA1KyR7U1JDUFZ9IgogCiBDT01QQVRJQkxFX0hPU1RfcnBpICA9ICIke0BiYi51dGlscy5jb250YWlucygnTUFDSElORV9GRUFUVVJFUycsICd2YzRncmFwaGljcycsICcuKi1saW51eConLCAnbnVsbCcsIGQpfSIKIAotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2dsbWFyazIvZ2xtYXJrMi5naXQ7cHJvdG9jb2w9aHR0cHMgXAotICAgICAgICAgICBmaWxlOi8vYnVpbGQtQ2hlY2stcGFja2FnZXMtdG8tYmUtdXNlZC1ieS10aGUtZW5hYmxlZC1mbGF2by5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9GaXgtY29uZmlndXJlLWZvci1zcXJ0LWNoZWNrLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWNsYW5nLXdhcm5pbmdzLnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDUkVWID0gImVkMjBjNjMzZjE5MjZkMWRkNzhlM2U4OTA0M2M4NWE4MTMwMmNiZTYiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vZ2xtYXJrMi9nbG1hcmsyLmdpdDtwcm90b2NvbD1odHRwcyIKK1NSQ1JFViA9ICIwYzkwZGQ0OGRmNDNhNmIwZGIxZDlhYWJjYTYyOTgyNDBmNDk2OGY3IgogCiBTID0gIiR7V09SS0RJUn0vZ2l0IgogCkBAIC0zMSw5ICsyNyw2IEBACiAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3dheWxhbmQgb3BlbmdsJywgJ3dheWxhbmQtZ2wgd2F5bGFuZC1nbGVzMicsICcnLCBkKX0gXAogICAgICAgICAgICAgICAgICAgZHJtLWdsIGRybS1nbGVzMiIKIAotIyBFbmFibGUgQysrMTEgZmVhdHVyZXMKLUNYWEZMQUdTICs9ICItc3RkPWMrKzExIgotCiBQQUNLQUdFQ09ORklHW3gxMS1nbF0gPSAiLCx2aXJ0dWFsL2xpYmdsIHZpcnR1YWwvbGlieDExIgogUEFDS0FHRUNPTkZJR1t4MTEtZ2xlczJdID0gIiwsdmlydHVhbC9saWJnbGVzMiB2aXJ0dWFsL2xpYngxMSIKIFBBQ0tBR0VDT05GSUdbZHJtLWdsXSA9ICIsLHZpcnR1YWwvbGliZ2wgbGliZHJtIHZpcnR1YWwvbGliZ2JtIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9saWJjLWJlbmNoL2xpYmMtYmVuY2hfMjAxMTAyMDYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xpYmMtYmVuY2gvbGliYy1iZW5jaF8yMDExMDIwNi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjUzNGM3My4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xpYmMtYmVuY2gvbGliYy1iZW5jaF8yMDExMDIwNi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLVNVTU1BUlkgPSAiVGVzdHMgdG8gY29tcGFyZSBzdGFuZGFyZCBmdW5jdGlvbnMgb2YgZGlmZmVyZW50IGxpYmMgaW1wbGVtZW50YXRpb25zIgotREVTQ1JJUFRJT04gPSAibGliYy1iZW5jaCBpcyBhIHNldCBvZiB0aW1lLSBhbmQgbWVtb3J5LWVmZmljaWVuY3kgdGVzdHMgdG8gY29tcGFyZSBcCi1pbXBsZW1lbnRhdGlvbnMgb2YgdmFyaW91cyBDL1BPU0lYIHN0YW5kYXJkIGxpYnJhcnkgZnVuY3Rpb25zLiIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuZXRhbGFicy5uZXQvbGliYy1iZW5jaC5odG1sIgotU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL01ha2VmaWxlO21kNT1lMTJmMTEzZGEyN2RmZTljZmI2YzJjNTM3ZGE4ZDhkZiIKLQotU1JDX1VSSSA9ICJodHRwOi8vd3d3LmV0YWxhYnMubmV0L3JlbGVhc2VzLyR7QlBOfS0ke1BWfS50YXIuZ3oiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJmNzYzZGU5MGY5NWZlNjhlNGUwM2U1YjZmNDk2OThhYyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI2ODI1MjYwYWE1ZjE1ZjRmYmM3OTU3ZWM1NzhlOWM4NTljYmJlMjEwZTAyNWVjNzRjNGEwZDA1Njc3NTIzNzk0IgotCi1kb19pbnN0YWxsICgpIHsKLSAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KLSAgICBpbnN0YWxsIC1tIDA3NTUgJHtCfS9saWJjLWJlbmNoICR7RH0ke2JpbmRpcn0KLX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbGliYy1iZW5jaC9saWJjLWJlbmNoX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbGliYy1iZW5jaC9saWJjLWJlbmNoX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODEzODk0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9saWJjLWJlbmNoL2xpYmMtYmVuY2hfZ2l0LmJiCkBAIC0wLDAgKzEsMjEgQEAKK1NVTU1BUlkgPSAiVGVzdHMgdG8gY29tcGFyZSBzdGFuZGFyZCBmdW5jdGlvbnMgb2YgZGlmZmVyZW50IGxpYmMgaW1wbGVtZW50YXRpb25zIgorREVTQ1JJUFRJT04gPSAibGliYy1iZW5jaCBpcyBhIHNldCBvZiB0aW1lLSBhbmQgbWVtb3J5LWVmZmljaWVuY3kgdGVzdHMgdG8gY29tcGFyZSBcCitpbXBsZW1lbnRhdGlvbnMgb2YgdmFyaW91cyBDL1BPU0lYIHN0YW5kYXJkIGxpYnJhcnkgZnVuY3Rpb25zLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZXRhbGFicy5uZXQvbGliYy1iZW5jaC5odG1sIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZUklHSFQ7bWQ1PTlhODI1YzYzODk3YzUzZjQ4N2VmOTAwNTk4YzMxNTI3IgorCitTUkNSRVYgPSAiYjZiMmNlNWY5Zjg3YTA5YjE0NDk5Y2IwMGM2MDBjNjAxZjAyMjYzNCIKK1BWID0gIjIwMTEwMjA2K2dpdCR7U1JDUFZ9IgorCitTUkNfVVJJID0gImdpdDovL2dpdC5tdXNsLWxpYmMub3JnL2xpYmMtYmVuY2ggXAorICAgICAgICAgICAiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2RvX2luc3RhbGwgKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke0J9L2xpYmMtYmVuY2ggJHtEfSR7YmluZGlyfQorfQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL25iZW5jaC1ieXRlL25iZW5jaC1ieXRlXzIuMi4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9uYmVuY2gtYnl0ZS9uYmVuY2gtYnl0ZV8yLjIuMy5iYgppbmRleCAyMmJiMDQxLi5iNGQ1NWJlIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL25iZW5jaC1ieXRlL25iZW5jaC1ieXRlXzIuMi4zLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbmJlbmNoLWJ5dGUvbmJlbmNoLWJ5dGVfMi4yLjMuYmIKQEAgLTcsNyArNyw3IEBACiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTU3O2VuZGxpbmU9NjY7bWQ1PTAyMGVmNTc5ZjhmYTU3NDZiN2UzMDdhNTQ3MDc4MzRmIgogU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgogCi1TUkNfVVJJID0gImh0dHBzOi8vZm9zc2llcy5vcmcvbGludXgvbWlzYy8ke0JQfS50YXIuZ3ogXAorU1JDX1VSSSA9ICJodHRwczovL2Zvc3NpZXMub3JnL2xpbnV4L21pc2Mvb2xkLyR7QlB9LnRhci5neiBcCiAgICAgICAgICAgIGZpbGU6Ly9uYmVuY2hfMzJiaXRzLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL01ha2VmaWxlLWFkZC1tb3JlLWRlcGVuZGVuY2llcy10by1wb2ludGVyLmgucGF0Y2giCiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvcGhvcm9uaXgtdGVzdC1zdWl0ZS9waG9yb25peC10ZXN0LXN1aXRlXzguMC4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9waG9yb25peC10ZXN0LXN1aXRlL3Bob3Jvbml4LXRlc3Qtc3VpdGVfOC4wLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIxZmE1MWIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9waG9yb25peC10ZXN0LXN1aXRlL3Bob3Jvbml4LXRlc3Qtc3VpdGVfOC4wLjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1TVU1NQVJZID0gIlBob3Jvbml4IFRlc3QgU3VpdGUiCi1ERVNDUklQVElPTiA9ICJUaGUgUGhvcm9uaXggVGVzdCBTdWl0ZSBpcyBkZXNpZ25lZCB0byBjYXJyeSBvdXQgYm90aCBxdWFsaXRhdGl2ZSBcCi1hbmQgcXVhbnRpdGF0aXZlIGJlbmNobWFya3MgaW4gYSBjbGVhbiwgcmVwcm9kdWNpYmxlLCBhbmQgZWFzeS10by11c2UgbWFubmVyLiIKLUxJQ0VOU0UgPSAiR1BMdjMiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKLVNFQ1RJT04gPSAiY29uc29sZS90ZXN0cyIKLQotU1JDX1VSSSA9ICJodHRwOi8vd3d3LnBob3Jvbml4LXRlc3Qtc3VpdGUuY29tL3JlbGVhc2VzLyR7QlB9LnRhci5neiIKLVNSQ19VUklbbWQ1c3VtXSA9ICIzZGMzYTBlNDkwZTkwOWYxODgzNzlhOWUwNWZkNDc4MCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI2MzA2NTQ5MTA5YzcyNTRiYWYzMWVkYjM4NTI2NWIxOTU1N2I1NjkyMjE3ZDJkZmNmOTZmNmZiMTdkZThlODQyIgotCi1TID0gIiR7V09SS0RJUn0vcGhvcm9uaXgtdGVzdC1zdWl0ZSIKLQotaW5oZXJpdCBzeXN0ZW1kIGFsbGFyY2gKLQotZG9faW5zdGFsbCgpIHsKLSAgICBERVNURElSPSR7RH0gLi9pbnN0YWxsLXNoICR7ZXhlY19wcmVmaXh9Ci0KLSAgICBpZiBbICIke3N5c3RlbWRfdW5pdGRpcn0iICE9ICIvdXNyL2xpYi9zeXN0ZW1kIiBdOyB0aGVuCi0gICAgICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLwotICAgICAgICBtdiAke0R9L3Vzci9saWIvc3lzdGVtZC9zeXN0ZW0vKiAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCi0gICAgICAgIHJtIC1yZiAke0R9L3Vzci9saWIvCi0gICAgZmkKLX0KLQotIyBJdCBpcyBub3QgYWR2aXNhYmxlIHRvIGVuYWJsZSB0aGVzZSBzZXJ2aWNlcyBieSBkZWZhdWx0IHNpbmNlIHRoZXkgY2FuIGNhdXNlCi0jIGNvbnRpbnVhbCB0YXJnZXQgcmVib290cyBpZiB0aGV5IGVuY291bnRlciBuZXR3b3JrIHByb2JsZW1zLgotIwotU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInBob3JvbWF0aWMtY2xpZW50LnNlcnZpY2UgcGhvcm9tYXRpYy1zZXJ2ZXIuc2VydmljZSIKLQotUkRFUEVORFNfJHtQTn0gKz0gImJhc2ggcHl0aG9uIHBocC1jbGkgdXRpbC1saW51eC1sc2NwdSBvcy1yZWxlYXNlIGxzYiIKLQotRklMRVNfJHtQTn0gKz0gIiBcCi0gICAgJHtkYXRhZGlyfS9waG9yb25peC10ZXN0LXN1aXRlIFwKLSAgICAke2RhdGFkaXJ9L2FwcGRhdGEvcGhvcm9uaXgtdGVzdC1zdWl0ZS5hcHBkYXRhLnhtbCBcCi0gICAgJHtkYXRhZGlyfS9pY29ucy9oaWNvbG9yLzQ4eDQ4L2FwcHMvcGhvcm9uaXgtdGVzdC1zdWl0ZS5wbmcgXAotICAgICR7ZGF0YWRpcn0vaWNvbnMvaGljb2xvci82NHg2NC9taW1ldHlwZXMvYXBwbGljYXRpb24teC1vcGVuYmVuY2htYXJraW5nLnBuZyBcCi0gICAgJHtkYXRhZGlyfS9taW1lL3BhY2thZ2VzL29wZW5iZW5jaG1hcmtpbmctbWltZS54bWwgXAotICAgICR7c3lzdGVtZF91bml0ZGlyfS8qIFwKLSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvcGhvcm9uaXgtdGVzdC1zdWl0ZS9waG9yb25peC10ZXN0LXN1aXRlXzguNi4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9waG9yb25peC10ZXN0LXN1aXRlL3Bob3Jvbml4LXRlc3Qtc3VpdGVfOC42LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGM3YjA1NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvcGhvcm9uaXgtdGVzdC1zdWl0ZS9waG9yb25peC10ZXN0LXN1aXRlXzguNi4wLmJiCkBAIC0wLDAgKzEsNDEgQEAKK1NVTU1BUlkgPSAiUGhvcm9uaXggVGVzdCBTdWl0ZSIKK0RFU0NSSVBUSU9OID0gIlRoZSBQaG9yb25peCBUZXN0IFN1aXRlIGlzIGRlc2lnbmVkIHRvIGNhcnJ5IG91dCBib3RoIHF1YWxpdGF0aXZlIFwKK2FuZCBxdWFudGl0YXRpdmUgYmVuY2htYXJrcyBpbiBhIGNsZWFuLCByZXByb2R1Y2libGUsIGFuZCBlYXN5LXRvLXVzZSBtYW5uZXIuIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorU0VDVElPTiA9ICJjb25zb2xlL3Rlc3RzIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cucGhvcm9uaXgtdGVzdC1zdWl0ZS5jb20vcmVsZWFzZXMvJHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImEzZDllODFmNWFiYzE5MjFkM2FhZjcxMGFjNGY0MDQ2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFjYjlkZmNmNGEzNDUyYWFmODJjY2U1OWNjYzA0ZmE0Y2Y1MWE0MzYxN2E2Y2NhOWQxZjljNWM2NzBhNTY1NWQiCisKK1MgPSAiJHtXT1JLRElSfS9waG9yb25peC10ZXN0LXN1aXRlIgorCitpbmhlcml0IHN5c3RlbWQgYWxsYXJjaAorCitkb19pbnN0YWxsKCkgeworICAgIERFU1RESVI9JHtEfSAuL2luc3RhbGwtc2ggJHtleGVjX3ByZWZpeH0KKworICAgIGlmIFsgIiR7c3lzdGVtZF91bml0ZGlyfSIgIT0gIi91c3IvbGliL3N5c3RlbWQiIF07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCisgICAgICAgIG12ICR7RH0vdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbS8qICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKyAgICAgICAgcm0gLXJmICR7RH0vdXNyL2xpYi8KKyAgICBmaQorfQorCisjIEl0IGlzIG5vdCBhZHZpc2FibGUgdG8gZW5hYmxlIHRoZXNlIHNlcnZpY2VzIGJ5IGRlZmF1bHQgc2luY2UgdGhleSBjYW4gY2F1c2UKKyMgY29udGludWFsIHRhcmdldCByZWJvb3RzIGlmIHRoZXkgZW5jb3VudGVyIG5ldHdvcmsgcHJvYmxlbXMuCisjCitTWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAicGhvcm9tYXRpYy1jbGllbnQuc2VydmljZSBwaG9yb21hdGljLXNlcnZlci5zZXJ2aWNlIgorCitSREVQRU5EU18ke1BOfSArPSAiYmFzaCBweXRob24gcGhwLWNsaSB1dGlsLWxpbnV4LWxzY3B1IG9zLXJlbGVhc2UgbHNiIgorCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAke2RhdGFkaXJ9L3Bob3Jvbml4LXRlc3Qtc3VpdGUgXAorICAgICR7ZGF0YWRpcn0vYXBwZGF0YS9waG9yb25peC10ZXN0LXN1aXRlLmFwcGRhdGEueG1sIFwKKyAgICAke2RhdGFkaXJ9L2ljb25zL2hpY29sb3IvNDh4NDgvYXBwcy9waG9yb25peC10ZXN0LXN1aXRlLnBuZyBcCisgICAgJHtkYXRhZGlyfS9pY29ucy9oaWNvbG9yLzY0eDY0L21pbWV0eXBlcy9hcHBsaWNhdGlvbi14LW9wZW5iZW5jaG1hcmtpbmcucG5nIFwKKyAgICAke2RhdGFkaXJ9L21pbWUvcGFja2FnZXMvb3BlbmJlbmNobWFya2luZy1taW1lLnhtbCBcCisgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9LyogXAorIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9zLXN1aXRlL3Mtc3VpdGVfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9zLXN1aXRlL3Mtc3VpdGVfZ2l0LmJiCmluZGV4IDc3ZDE3MjguLjQ3ZDIxZDMgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvcy1zdWl0ZS9zLXN1aXRlX2dpdC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL3Mtc3VpdGUvcy1zdWl0ZV9naXQuYmIKQEAgLTIsNyArMiw3IEBACiBMSUNFTlNFID0gIkdQTHYyIgogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjUyOWFhYTZhMGM1MGYxNWQyOWY4OTYwOWI1YzIyZjMiCiAKLVNSQ1JFViA9ICI3OTY5OGY2NDViZmIyOGQwZDk2NjQ4NGRkYWQzYTFlZmI1NjIyNDZkIgorU1JDUkVWID0gImQwNTAwNjg2NWY2ODgyOWZhNzYwM2JkYjkyYmQ1MTY0OWY1YmExYjYiCiBQViA9ICIwLjArZ2l0JHtTUkNQVn0iCiBTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vQWxnb2Rldi1naXRodWIvUy5naXQ7cHJvdG9jb2w9aHR0cHM7YnJhbmNoPW1hc3RlciIKIApAQCAtMTcsMTEgKzE3LDEzIEBACiAgICAgICAgIGluc3RhbGwgLW0wNzU1IC1wICR7U30vJChiYXNlbmFtZSAkaSkvKiAke0R9L29wdC9TLXN1aXRlLyQoYmFzZW5hbWUgJGkpCiAgICAgZG9uZQogCisgICAgaW5zdGFsbCAtbTA3NTUgJHtTfS9kZWZfY29uZmlnLnNoICR7RH0vb3B0L1Mtc3VpdGUKICAgICBpbnN0YWxsIC1tMDc1NSAke1N9L2NvbmZpZ19wYXJhbXMuc2ggJHtEfS9vcHQvUy1zdWl0ZQotICAgIGluc3RhbGwgLW0wNzU1ICR7U30vZGVmX2NvbmZpZ19wYXJhbXMuc2ggJHtEfS9vcHQvUy1zdWl0ZQorICAgIGluc3RhbGwgLW0wNzU1ICR7U30vcHJvY2Vzc19jb25maWcuc2ggJHtEfS9vcHQvUy1zdWl0ZQogfQogCi1SREVQRU5EU18ke1BOfSA9ICJiYXNoIGJjIGNvcmV1dGlscyBnYXdrIGcrKyBnY2MgZmlvIGxpYmFpbyBsaWJhaW8tZGV2IHN5c3N0YXQiCitSREVQRU5EU18ke1BOfSA9ICJiYXNoIGJjIGNvcmV1dGlscyBnYXdrIGcrKyBnY2MgZmlvIGxpYmFpbyBsaWJhaW8tZGV2IHN5c3N0YXQgXAorCQkgIGdpdCIKIAogRklMRVNfJHtQTn0gPSAiL29wdC9TLXN1aXRlLyIKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay90aW55bWVtYmVuY2gvdGlueW1lbWJlbmNoLzAwMDEtYXNtLURlbGV0ZS0uZnVuYy0uZW5kZnVuYy1kaXJlY3RpdmVzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay90aW55bWVtYmVuY2gvdGlueW1lbWJlbmNoLzAwMDEtYXNtLURlbGV0ZS0uZnVuYy0uZW5kZnVuYy1kaXJlY3RpdmVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMwOTA3MDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL3RpbnltZW1iZW5jaC90aW55bWVtYmVuY2gvMDAwMS1hc20tRGVsZXRlLS5mdW5jLS5lbmRmdW5jLWRpcmVjdGl2ZXMucGF0Y2gKQEAgLTAsMCArMSw0NDQgQEAKK0Zyb20gYjBhNjRkZGViYjUxN2ExNjc4YzQ0ZDliYWYyNGQ4YmJlMzlkMDJjZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDI5IEphbiAyMDE5IDEzOjE1OjA3IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGFzbTogRGVsZXRlIC5mdW5jLy5lbmRmdW5jIGRpcmVjdGl2ZXMKKworVGhlc2UgYXJlIHVzZWZ1bCBvbmx5IHdpdGggc3RhYnMgZGVidWcgZm9ybWF0LCB3aGljaCBpcyBub3QgdXNlZCBvbgorbGludXggc3lzdGVtcywgZ2FzIGlnbm9yZXMgdGhlbSBzaWxlbnRseSwgYnV0IGNsYW5nIGFzc2VtYmxlciBkb2VzIG5vdAorYW5kIHJpZ2h0bHkgc28uCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBhYXJjaDY0LWFzbS5TIHwgMTQgKy0tLS0tLS0tLS0tLS0KKyBhcm0tbmVvbi5TICAgIHwgMjQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgbWlwcy0zMi5TICAgICB8ICA1ICsrLS0tCisgeDg2LXNzZTIuUyAgICB8IDIxICsrKysrKysrKystLS0tLS0tLS0tLQorIDQgZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgNTEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9hYXJjaDY0LWFzbS5TIGIvYWFyY2g2NC1hc20uUworaW5kZXggODQyYjllMi4uMTY1YzhhYyAxMDA2NDQKKy0tLSBhL2FhcmNoNjQtYXNtLlMKKysrKyBiL2FhcmNoNjQtYXNtLlMKK0BAIC0zMSw4ICszMSw3IEBACisgCisgLm1hY3JvIGFzbV9mdW5jdGlvbiBmdW5jdGlvbl9uYW1lCisgICAgIC5nbG9iYWwgXGZ1bmN0aW9uX25hbWUKKy0gICAgLnR5cGUgXGZ1bmN0aW9uX25hbWUsJWZ1bmN0aW9uIAorLS5mdW5jIFxmdW5jdGlvbl9uYW1lCisrICAgIC50eXBlIFxmdW5jdGlvbl9uYW1lLCVmdW5jdGlvbgorIFxmdW5jdGlvbl9uYW1lOgorICAgICBEU1QgICAgICAgICAucmVxIHgwCisgICAgIFNSQyAgICAgICAgIC5yZXEgeDEKK0BAIC01NCw3ICs1Myw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfbGRwc3RwX3hfYWFyY2g2NAorICAgICBzdWJzICAgICAgICBTSVpFLCBTSVpFLCAjNjQKKyAgICAgYmd0ICAgICAgICAgMGIKKyAgICAgcmV0CistLmVuZGZ1bmMKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X2xkcHN0cF9xX2FhcmNoNjQKKyAwOgorQEAgLTY3LDcgKzY1LDYgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9sZHBzdHBfcV9hYXJjaDY0CisgICAgIHN1YnMgICAgICAgIFNJWkUsIFNJWkUsICM2NAorICAgICBiZ3QgICAgICAgICAwYgorICAgICByZXQKKy0uZW5kZnVuYworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfbGRwc3RwX3FfcGYzMl9sMnN0cm1fYWFyY2g2NAorIDA6CitAQCAtODIsNyArNzksNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X2xkcHN0cF9xX3BmMzJfbDJzdHJtX2FhcmNoNjQKKyAgICAgc3VicyAgICAgICAgU0laRSwgU0laRSwgIzY0CisgICAgIGJndCAgICAgICAgIDBiCisgICAgIHJldAorLS5lbmRmdW5jCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9sZHBzdHBfcV9wZjY0X2wyc3RybV9hYXJjaDY0CisgMDoKK0BAIC05Niw3ICs5Miw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfbGRwc3RwX3FfcGY2NF9sMnN0cm1fYWFyY2g2NAorICAgICBzdWJzICAgICAgICBTSVpFLCBTSVpFLCAjNjQKKyAgICAgYmd0ICAgICAgICAgMGIKKyAgICAgcmV0CistLmVuZGZ1bmMKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X2xkcHN0cF9xX3BmMzJfbDFrZWVwX2FhcmNoNjQKKyAwOgorQEAgLTExMSw3ICsxMDYsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X2xkcHN0cF9xX3BmMzJfbDFrZWVwX2FhcmNoNjQKKyAgICAgc3VicyAgICAgICAgU0laRSwgU0laRSwgIzY0CisgICAgIGJndCAgICAgICAgIDBiCisgICAgIHJldAorLS5lbmRmdW5jCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9sZHBzdHBfcV9wZjY0X2wxa2VlcF9hYXJjaDY0CisgMDoKK0BAIC0xMjUsNyArMTE5LDYgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9sZHBzdHBfcV9wZjY0X2wxa2VlcF9hYXJjaDY0CisgICAgIHN1YnMgICAgICAgIFNJWkUsIFNJWkUsICM2NAorICAgICBiZ3QgICAgICAgICAwYgorICAgICByZXQKKy0uZW5kZnVuYworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2ZpbGxfc3RwX3hfYWFyY2g2NAorIDA6CitAQCAtMTM3LDcgKzEzMCw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2ZpbGxfc3RwX3hfYWFyY2g2NAorICAgICBzdWJzICAgICAgICBTSVpFLCBTSVpFLCAjNjQKKyAgICAgYmd0ICAgICAgICAgMGIKKyAgICAgcmV0CistLmVuZGZ1bmMKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19maWxsX3N0cF9xX2FhcmNoNjQKKyAwOgorQEAgLTE0Nyw3ICsxMzksNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19maWxsX3N0cF9xX2FhcmNoNjQKKyAgICAgc3VicyAgICAgICAgU0laRSwgU0laRSwgIzY0CisgICAgIGJndCAgICAgICAgIDBiCisgICAgIHJldAorLS5lbmRmdW5jCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfZmlsbF9zdG5wX3hfYWFyY2g2NAorIDA6CitAQCAtMTU5LDcgKzE1MCw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2ZpbGxfc3RucF94X2FhcmNoNjQKKyAgICAgc3VicyAgICAgICAgU0laRSwgU0laRSwgIzY0CisgICAgIGJndCAgICAgICAgIDBiCisgICAgIHJldAorLS5lbmRmdW5jCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfZmlsbF9zdG5wX3FfYWFyY2g2NAorIDA6CitAQCAtMTY5LDcgKzE1OSw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2ZpbGxfc3RucF9xX2FhcmNoNjQKKyAgICAgc3VicyAgICAgICAgU0laRSwgU0laRSwgIzY0CisgICAgIGJndCAgICAgICAgIDBiCisgICAgIHJldAorLS5lbmRmdW5jCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9sZDFzdDFfYWFyY2g2NAorIDA6CitAQCAtMTgwLDYgKzE2OSw1IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfbGQxc3QxX2FhcmNoNjQKKyAgICAgc3VicyAgICAgICAgU0laRSwgU0laRSwgIzY0CisgICAgIGJndCAgICAgICAgIDBiCisgICAgIHJldAorLS5lbmRmdW5jCisgCisgI2VuZGlmCitkaWZmIC0tZ2l0IGEvYXJtLW5lb24uUyBiL2FybS1uZW9uLlMKK2luZGV4IDRkYjc4Y2UuLjk2MzFkODIgMTAwNjQ0CistLS0gYS9hcm0tbmVvbi5TCisrKysgYi9hcm0tbmVvbi5TCitAQCAtMzIsNyArMzIsNiBAQAorIAorIC5tYWNybyBhc21fZnVuY3Rpb24gZnVuY3Rpb25fbmFtZQorICAgICAuZ2xvYmFsIFxmdW5jdGlvbl9uYW1lCistLmZ1bmMgXGZ1bmN0aW9uX25hbWUKKyBcZnVuY3Rpb25fbmFtZToKKyAgICAgRFNUICAgICAgICAgLnJlcSByMAorICAgICBTUkMgICAgICAgICAucmVxIHIxCitAQCAtNjYsNyArNjUsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19yZWFkX25lb24KKyAgICAgdnBhZGQudTMyICAgZDMxLCBkMzEsIGQzMQorICAgICB2bW92LnUzMiAgICByMCwgZDMxWzBdCisgICAgIGJ4ICAgICAgICAgIGxyCistLmVuZGZ1bmMKKyAKKyAvKiBBY3R1YWxseSB0aGlzIGNhbGN1bGF0ZXMgYSBzdW0gb2YgMzItYml0IHZhbHVlcyAqLworIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX3JlYWRfcGYzMl9uZW9uCitAQCAtOTcsNyArOTUsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19yZWFkX3BmMzJfbmVvbgorICAgICB2cGFkZC51MzIgICBkMzEsIGQzMSwgZDMxCisgICAgIHZtb3YudTMyICAgIHIwLCBkMzFbMF0KKyAgICAgYnggICAgICAgICAgbHIKKy0uZW5kZnVuYworIAorIC8qIEFjdHVhbGx5IHRoaXMgY2FsY3VsYXRlcyBhIHN1bSBvZiAzMi1iaXQgdmFsdWVzICovCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfcmVhZF9wZjY0X25lb24KK0BAIC0xMjcsNyArMTI0LDYgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfcmVhZF9wZjY0X25lb24KKyAgICAgdnBhZGQudTMyICAgZDMxLCBkMzEsIGQzMQorICAgICB2bW92LnUzMiAgICByMCwgZDMxWzBdCisgICAgIGJ4ICAgICAgICAgIGxyCistLmVuZGZ1bmMKKyAKKyAvKiBBY3R1YWxseSB0aGlzIGNhbGN1bGF0ZXMgYSBzdW0gb2YgMzItYml0IHZhbHVlcyAqLworIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX3JlYWQyX25lb24KK0BAIC0xNTYsNyArMTUyLDYgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfcmVhZDJfbmVvbgorICAgICB2cGFkZC51MzIgICBkMzEsIGQzMSwgZDMxCisgICAgIHZtb3YudTMyICAgIHIwLCBkMzFbMF0KKyAgICAgYnggICAgICAgICAgbHIKKy0uZW5kZnVuYworIAorIC8qIEFjdHVhbGx5IHRoaXMgY2FsY3VsYXRlcyBhIHN1bSBvZiAzMi1iaXQgdmFsdWVzICovCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfcmVhZDJfcGYzMl9uZW9uCitAQCAtMTg3LDcgKzE4Miw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX3JlYWQyX3BmMzJfbmVvbgorICAgICB2cGFkZC51MzIgICBkMzEsIGQzMSwgZDMxCisgICAgIHZtb3YudTMyICAgIHIwLCBkMzFbMF0KKyAgICAgYnggICAgICAgICAgbHIKKy0uZW5kZnVuYworIAorIC8qIEFjdHVhbGx5IHRoaXMgY2FsY3VsYXRlcyBhIHN1bSBvZiAzMi1iaXQgdmFsdWVzICovCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfcmVhZDJfcGY2NF9uZW9uCitAQCAtMjE3LDcgKzIxMSw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX3JlYWQyX3BmNjRfbmVvbgorICAgICB2cGFkZC51MzIgICBkMzEsIGQzMSwgZDMxCisgICAgIHZtb3YudTMyICAgIHIwLCBkMzFbMF0KKyAgICAgYnggICAgICAgICAgbHIKKy0uZW5kZnVuYworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfbmVvbgorIDA6CitAQCAtMjI2LDcgKzIxOSw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfbmVvbgorICAgICBzdWJzICAgICAgICBTSVpFLCBTSVpFLCAjMzIKKyAgICAgYmd0ICAgICAgICAgMGIKKyAgICAgYnggICAgICAgICAgbHIKKy0uZW5kZnVuYworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfdW5yb2xsZWRfbmVvbgorICAgICB2cHVzaCAgICAgICB7ZDgtZDE1fQorQEAgLTI0NCw3ICsyMzYsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X3Vucm9sbGVkX25lb24KKyAgICAgYmd0ICAgICAgICAgMGIKKyAgICAgdnBvcCAgICAgICAge2Q4LWQxNX0KKyAgICAgYnggICAgICAgICAgbHIKKy0uZW5kZnVuYworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfcGYzMl9uZW9uCisgMDoKK0BAIC0yNTQsNyArMjQ1LDYgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9wZjMyX25lb24KKyAgICAgc3VicyAgICAgICAgU0laRSwgU0laRSwgIzMyCisgICAgIGJndCAgICAgICAgIDBiCisgICAgIGJ4ICAgICAgICAgIGxyCistLmVuZGZ1bmMKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X3Vucm9sbGVkX3BmMzJfbmVvbgorICAgICB2cHVzaCAgICAgICB7ZDgtZDE1fQorQEAgLTI4MCw3ICsyNzAsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X3Vucm9sbGVkX3BmMzJfbmVvbgorICAgICBiZ3QgICAgICAgICAwYgorICAgICB2cG9wICAgICAgICB7ZDgtZDE1fQorICAgICBieCAgICAgICAgICBscgorLS5lbmRmdW5jCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9wZjY0X25lb24KKyAwOgorQEAgLTI5Miw3ICsyODEsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X3BmNjRfbmVvbgorICAgICBzdWJzICAgICAgICBTSVpFLCBTSVpFLCAjNjQKKyAgICAgYmd0ICAgICAgICAgMGIKKyAgICAgYnggICAgICAgICAgbHIKKy0uZW5kZnVuYworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfdW5yb2xsZWRfcGY2NF9uZW9uCisgICAgIHZwdXNoICAgICAgIHtkOC1kMTV9CitAQCAtMzE0LDcgKzMwMiw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfdW5yb2xsZWRfcGY2NF9uZW9uCisgICAgIGJndCAgICAgICAgIDBiCisgICAgIHZwb3AgICAgICAgIHtkOC1kMTV9CisgICAgIGJ4ICAgICAgICAgIGxyCistLmVuZGZ1bmMKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X2JhY2t3YXJkc19uZW9uCisgICAgIGFkZCAgICAgICAgIFNSQywgU1JDLCBTSVpFCitAQCAtMzI4LDcgKzMxNSw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfYmFja3dhcmRzX25lb24KKyAgICAgc3VicyAgICAgICAgU0laRSwgU0laRSwgIzMyCisgICAgIGJndCAgICAgICAgIDBiCisgICAgIGJ4ICAgICAgICAgIGxyCistLmVuZGZ1bmMKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X2JhY2t3YXJkc19wZjMyX25lb24KKyAgICAgYWRkICAgICAgICAgU1JDLCBTUkMsIFNJWkUKK0BAIC0zNDMsNyArMzI5LDYgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9iYWNrd2FyZHNfcGYzMl9uZW9uCisgICAgIHN1YnMgICAgICAgIFNJWkUsIFNJWkUsICMzMgorICAgICBiZ3QgICAgICAgICAwYgorICAgICBieCAgICAgICAgICBscgorLS5lbmRmdW5jCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9iYWNrd2FyZHNfcGY2NF9uZW9uCisgICAgIGFkZCAgICAgICAgIFNSQywgU1JDLCBTSVpFCitAQCAtMzYwLDcgKzM0NSw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfYmFja3dhcmRzX3BmNjRfbmVvbgorICAgICBzdWJzICAgICAgICBTSVpFLCBTSVpFLCAjNjQKKyAgICAgYmd0ICAgICAgICAgMGIKKyAgICAgYnggICAgICAgICAgbHIKKy0uZW5kZnVuYworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2ZpbGxfbmVvbgorICAgICB2bGQxLjggICAgICB7ZDAsIGQxLCBkMiwgZDN9LCBbU1JDXSEKK0BAIC0zNzAsNyArMzU0LDYgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfZmlsbF9uZW9uCisgICAgIHN1YnMgICAgICAgIFNJWkUsIFNJWkUsICM2NAorICAgICBiZ3QgICAgICAgICAwYgorICAgICBieCAgICAgICAgICBscgorLS5lbmRmdW5jCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfZmlsbF9iYWNrd2FyZHNfbmVvbgorICAgICBhZGQgICAgICAgICBTUkMsIFNSQywgU0laRQorQEAgLTM4Myw3ICszNjYsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19maWxsX2JhY2t3YXJkc19uZW9uCisgICAgIHN1YnMgICAgICAgIFNJWkUsIFNJWkUsICMzMgorICAgICBiZ3QgICAgICAgICAwYgorICAgICBieCAgICAgICAgICBscgorLS5lbmRmdW5jCisgCisgLyogc29tZSBjb2RlIGZvciBvbGRlciBBUk0gcHJvY2Vzc29ycyAqLworIAorQEAgLTM5OCw3ICszODAsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19maWxsX3N0bTRfYXJtdjQKKyAgICAgc3VicyAgICAgICAgU0laRSwgU0laRSwgIzY0CisgICAgIGJndCAgICAgICAgIDBiCisgICAgIHBvcCAgICAgICAgIHtyNC1yMTIsIHBjfQorLS5lbmRmdW5jCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfZmlsbF9zdG04X2FybXY0CisgICAgIHB1c2ggICAgICAgIHtyNC1yMTIsIGxyfQorQEAgLTQwOSw3ICszOTAsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19maWxsX3N0bThfYXJtdjQKKyAgICAgc3VicyAgICAgICAgU0laRSwgU0laRSwgIzY0CisgICAgIGJndCAgICAgICAgIDBiCisgICAgIHBvcCAgICAgICAgIHtyNC1yMTIsIHBjfQorLS5lbmRmdW5jCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfZmlsbF9zdHJkX2FybXY1dGUKKyAgICAgcHVzaCAgICAgICAge3I0LXIxMiwgbHJ9CitAQCAtNDI2LDcgKzQwNiw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2ZpbGxfc3RyZF9hcm12NXRlCisgICAgIHN1YnMgICAgICAgIFNJWkUsIFNJWkUsICM2NAorICAgICBiZ3QgICAgICAgICAwYgorICAgICBwb3AgICAgICAgICB7cjQtcjEyLCBwY30KKy0uZW5kZnVuYworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfaW5jcl9hcm12NXRlCisgICAgIHB1c2ggICAgICAgIHtyNC1yMTIsIGxyfQorQEAgLTQ0Miw3ICs0MjEsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X2luY3JfYXJtdjV0ZQorICAgICBzdG1pYSAgICAgICBEU1QhLCB7cjgtcjExfQorICAgICBiZ3QgICAgICAgICAwYgorICAgICBwb3AgICAgICAgICB7cjQtcjEyLCBwY30KKy0uZW5kZnVuYworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfd3JhcF9hcm12NXRlCisgICAgIHB1c2ggICAgICAgIHtyNC1yMTIsIGxyfQorQEAgLTQ1OCw3ICs0MzYsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X3dyYXBfYXJtdjV0ZQorICAgICBzdG1pYSAgICAgICBEU1QhLCB7cjgtcjExfQorICAgICBiZ3QgICAgICAgICAwYgorICAgICBwb3AgICAgICAgICB7cjQtcjEyLCBwY30KKy0uZW5kZnVuYworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfdmZwCisgICAgIHB1c2ggICAgICAgIHtyNC1yMTIsIGxyfQorQEAgLTQ3MCw2ICs0NDcsNSBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X3ZmcAorICAgICBiZ3QgICAgICAgICAwYgorICAgICB2cG9wICAgICAgICB7ZDgtZDE1fQorICAgICBwb3AgICAgICAgICB7cjQtcjEyLCBwY30KKy0uZW5kZnVuYworIAorICNlbmRpZgorZGlmZiAtLWdpdCBhL21pcHMtMzIuUyBiL21pcHMtMzIuUworaW5kZXggMTdiMmI3Zi4uNGY3ZGRhZSAxMDA2NDQKKy0tLSBhL21pcHMtMzIuUworKysrIGIvbWlwcy0zMi5TCitAQCAtMzIsNyArMzIsNiBAQAorIC5tYWNybyBhc21fZnVuY3Rpb24gZnVuY3Rpb25fbmFtZQorICAgICAuZ2xvYmFsIFxmdW5jdGlvbl9uYW1lCisgICAgIC50eXBlIFxmdW5jdGlvbl9uYW1lLCBAZnVuY3Rpb24KKy0gICAgLmZ1bmMgXGZ1bmN0aW9uX25hbWUKKyBcZnVuY3Rpb25fbmFtZToKKyAuZW5kbQorIAorQEAgLTkzLDcgKzkyLDcgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfZmlsbF9wZjMyX21pcHMzMgorIDI6CisgICAgIGpyICAgICAgICAgICRyYQorICAgICBub3AKKy0uZW5kZnVuYworKworIAorIC8qCisgICogdm9pZCBhbGlnbmVkX2Jsb2NrX2NvcHlfcGYzMl9taXBzMzIoaW50NjRfdCAqZHN0LCBpbnQ2NF90ICpzcmMsIGludCBzaXplKQorQEAgLTE3OCw2ICsxNzcsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X3BmMzJfbWlwczMyCisgICAgIGx3ICAgICAgICAgICRzNywgICAgMjgoJHNwKQorICAgICBqciAgICAgICAgICAkcmEKKyAgICAgYWRkaSAgICAgICAgJHNwLCAgICAkc3AsICAgIDMyCistLmVuZGZ1bmMKKysKKyAKKyAjZW5kaWYKK2RpZmYgLS1naXQgYS94ODYtc3NlMi5TIGIveDg2LXNzZTIuUworaW5kZXggZDg4NDBlNC4uNDA5MDMxYiAxMDA2NDQKKy0tLSBhL3g4Ni1zc2UyLlMKKysrKyBiL3g4Ni1zc2UyLlMKK0BAIC0zMCw3ICszMCw2IEBACisgCisgLm1hY3JvIGFzbV9mdW5jdGlvbl9oZWxwZXIgZnVuY3Rpb25fbmFtZQorICAgICAuZ2xvYmFsIFxmdW5jdGlvbl9uYW1lCistLmZ1bmMgXGZ1bmN0aW9uX25hbWUKKyBcZnVuY3Rpb25fbmFtZToKKyAjaWZkZWYgX19hbWQ2NF9fCisgICAjaWZkZWYgX1dJTjY0CitAQCAtOTAsNyArODksNyBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X21vdnNiCisgICAgIHBvcDMgICAgICAgIGVkaSBlc2kgZWN4CisgI2VuZGlmCisgICAgIHJldAorLS5lbmRmdW5jCisrCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9tb3ZzZAorIDA6CitAQCAtMTEwLDcgKzEwOSw3IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfbW92c2QKKyAgICAgcG9wMyAgICAgICAgZWRpIGVzaSBlY3gKKyAjZW5kaWYKKyAgICAgcmV0CistLmVuZGZ1bmMKKysKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X3NzZTIKKyAwOgorQEAgLTEyNyw3ICsxMjYsNyBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X3NzZTIKKyAgICAgc3ViICAgICAgICAgU0laRSwgNjQKKyAgICAgamcgICAgICAgICAgMGIKKyAgICAgcmV0CistLmVuZGZ1bmMKKysKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X250X3NzZTIKKyAwOgorQEAgLTE0NCw3ICsxNDMsNyBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X250X3NzZTIKKyAgICAgc3ViICAgICAgICAgU0laRSwgNjQKKyAgICAgamcgICAgICAgICAgMGIKKyAgICAgcmV0CistLmVuZGZ1bmMKKysKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X3BmMzJfc3NlMgorIDA6CitAQCAtMTYzLDcgKzE2Miw3IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfcGYzMl9zc2UyCisgICAgIHN1YiAgICAgICAgIFNJWkUsICAgICAgIDY0CisgICAgIGpnICAgICAgICAgIDBiCisgICAgIHJldAorLS5lbmRmdW5jCisrCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9udF9wZjMyX3NzZTIKKyAwOgorQEAgLTE4Miw3ICsxODEsNyBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X250X3BmMzJfc3NlMgorICAgICBzdWIgICAgICAgICBTSVpFLCAgICAgICA2NAorICAgICBqZyAgICAgICAgICAwYgorICAgICByZXQKKy0uZW5kZnVuYworKworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfcGY2NF9zc2UyCisgMDoKK0BAIC0yMDAsNyArMTk5LDcgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9wZjY0X3NzZTIKKyAgICAgc3ViICAgICAgICAgU0laRSwgICAgICAgNjQKKyAgICAgamcgICAgICAgICAgMGIKKyAgICAgcmV0CistLmVuZGZ1bmMKKysKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X250X3BmNjRfc3NlMgorIDA6CitAQCAtMjE4LDcgKzIxNyw3IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfbnRfcGY2NF9zc2UyCisgICAgIHN1YiAgICAgICAgIFNJWkUsICAgICAgIDY0CisgICAgIGpnICAgICAgICAgIDBiCisgICAgIHJldAorLS5lbmRmdW5jCisrCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfZmlsbF9zc2UyCisgICAgIG1vdmRxYSAgICAgIHhtbTAsICAgICAgIFtTUkMgKyAwXQorQEAgLTIzMSw3ICsyMzAsNyBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19maWxsX3NzZTIKKyAgICAgc3ViICAgICAgICAgU0laRSwgICAgICAgNjQKKyAgICAgamcgICAgICAgICAgMGIKKyAgICAgcmV0CistLmVuZGZ1bmMKKysKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19maWxsX250X3NzZTIKKyAgICAgbW92ZHFhICAgICAgeG1tMCwgICAgICAgW1NSQyArIDBdCitAQCAtMjQ0LDcgKzI0Myw3IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2ZpbGxfbnRfc3NlMgorICAgICBzdWIgICAgICAgICBTSVpFLCAgICAgICA2NAorICAgICBqZyAgICAgICAgICAwYgorICAgICByZXQKKy0uZW5kZnVuYworKworIAorIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvdGlueW1lbWJlbmNoL3RpbnltZW1iZW5jaF9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL3RpbnltZW1iZW5jaC90aW55bWVtYmVuY2hfZ2l0LmJiCmluZGV4IDhjYjU5ZGEuLjJjZTEwZjkgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvdGlueW1lbWJlbmNoL3RpbnltZW1iZW5jaF9naXQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay90aW55bWVtYmVuY2gvdGlueW1lbWJlbmNoX2dpdC5iYgpAQCAtOCw4ICs4LDEwIEBACiAKIFBWID0gIjAuNC4wK2dpdCR7U1JDUFZ9IgogCi1TUkNSRVYgPSAiMmM3ODk4NDk3MDlkODM3YjRiZDExNGMxMWVkMmQ5YmRjNjVhZmJjNiIKLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9zc3ZiL3RpbnltZW1iZW5jaC5naXQiCitTUkNSRVYgPSAiYTJjZjZkN2UzODJlM2FlYTFlYjM5MTczMTc0ZDlmYTI4Y2FkMTVmMyIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9zc3ZiL3RpbnltZW1iZW5jaC5naXQgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1hc20tRGVsZXRlLS5mdW5jLS5lbmRmdW5jLWRpcmVjdGl2ZXMucGF0Y2ggXAorICAgICAgICAgICAiCiAKIFMgPSAiJHtXT1JLRElSfS9naXQiCiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ic3AvZWZpYm9vdG1nci9lZmlib290bWdyXzAuMTYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYnNwL2VmaWJvb3RtZ3IvZWZpYm9vdG1ncl8wLjE2LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NDk3ZTA5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ic3AvZWZpYm9vdG1nci9lZmlib290bWdyXzAuMTYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1ERVNDUklQVElPTiA9ICJMaW51eCB1c2VyLXNwYWNlIGFwcGxpY2F0aW9uIHRvIG1vZGlmeSB0aGUgRUZJIEJvb3QgTWFuYWdlci4iCi1TVU1NQVJZID0gIkVGSSBCb290IE1hbmFnZXIiCi1IT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vcmhpbnN0YWxsZXIvZWZpYm9vdG1nciIKLVNFQ1RJT04gPSAiYmFzZSIKLQotTElDRU5TRSA9ICJHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNjM2ZTczZmYwMjE1ZThkNjcyZGM0YzMyYzMxN2JiMyIKLQotREVQRU5EUyA9ICJwY2l1dGlscyB6bGliIGVmaXZhciIKLQotQ09NUEFUSUJMRV9IT1NUID0gIihpLjg2fHg4Nl82NHxhcm18YWFyY2g2NCkuKi1saW51eCIKLQotU1JDUkVWID0gImE1MTAzMjUxYTExNjYzYWRkZGM4NWM4NmUwYjhkM2QzYjczY2JiNGEiCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vcmhpbnN0YWxsZXIvZWZpYm9vdG1nci5naXQ7cHJvdG9jb2w9aHR0cHMgXAotICAgICAgICAgICIKLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWluaGVyaXQgcGtnY29uZmlnCi0KLUVYVFJBX09FTUFLRSA9ICInRUZJRElSPS8nICdDQz0ke0NDfScgJ0NGTEFHUz0ke0NGTEFHU30gLUkke1N9L3NyYy9pbmNsdWRlIGBwa2ctY29uZmlnIC0tY2ZsYWdzIGVmaXZhcmAnIgotCi1DRkxBR1NfYXBwZW5kX3Rvb2xjaGFpbi1jbGFuZyA9ICIgLVduby1lcnJvciIKLWRvX2luc3RhbGwgKCkgewotICAgIGluc3RhbGwgLUQgLXAgLW0wNzU1ICR7Qn0vc3JjL2VmaWJvb3RtZ3IgJHtEfS8ke3NiaW5kaXJ9L2VmaWJvb3RtZ3IKLX0KLQotQ0xFQU5CUk9LRU4gPSAiMSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ic3AvZWZpYm9vdG1nci9lZmlib290bWdyXzE3LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJzcC9lZmlib290bWdyL2VmaWJvb3RtZ3JfMTcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGVkYjJlNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ic3AvZWZpYm9vdG1nci9lZmlib290bWdyXzE3LmJiCkBAIC0wLDAgKzEsMjggQEAKK0RFU0NSSVBUSU9OID0gIkxpbnV4IHVzZXItc3BhY2UgYXBwbGljYXRpb24gdG8gbW9kaWZ5IHRoZSBFRkkgQm9vdCBNYW5hZ2VyLiIKK1NVTU1BUlkgPSAiRUZJIEJvb3QgTWFuYWdlciIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9yaGluc3RhbGxlci9lZmlib290bWdyIgorU0VDVElPTiA9ICJiYXNlIgorCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA2MzZlNzNmZjAyMTVlOGQ2NzJkYzRjMzJjMzE3YmIzIgorCitERVBFTkRTID0gInBjaXV0aWxzIHpsaWIgZWZpdmFyIgorCitDT01QQVRJQkxFX0hPU1QgPSAiKGkuODZ8eDg2XzY0fGFybXxhYXJjaDY0KS4qLWxpbnV4IgorCitTUkNSRVYgPSAiZTA2NzE2MGVjZWY4MjA4ZTE5NDQwMDJlNWQ1MGIyNzU3MzMyMTFmYiIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9yaGluc3RhbGxlci9lZmlib290bWdyLmdpdDtwcm90b2NvbD1odHRwcyBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXJlbW92ZS1leHRyYS1kZWNsLnBhdGNoIFwKKyAgICAgICAgICAiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IHBrZ2NvbmZpZworCitFWFRSQV9PRU1BS0UgPSAiJ0VGSURJUj0vJyAnQ0M9JHtDQ30nICdDRkxBR1M9JHtDRkxBR1N9IC1JJHtTfS9zcmMvaW5jbHVkZSBgcGtnLWNvbmZpZyAtLWNmbGFncyBlZml2YXJgJyIKKworQ0ZMQUdTX2FwcGVuZF90b29sY2hhaW4tY2xhbmcgPSAiIC1Xbm8tZXJyb3IiCitkb19pbnN0YWxsICgpIHsKKyAgICBpbnN0YWxsIC1EIC1wIC1tMDc1NSAke0J9L3NyYy9lZmlib290bWdyICR7RH0vJHtzYmluZGlyfS9lZmlib290bWdyCit9CisKK0NMRUFOQlJPS0VOID0gIjEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYnNwL2VmaWJvb3RtZ3IvZmlsZXMvMDAwMS1yZW1vdmUtZXh0cmEtZGVjbC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ic3AvZWZpYm9vdG1nci9maWxlcy8wMDAxLXJlbW92ZS1leHRyYS1kZWNsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyZjNhODEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYnNwL2VmaWJvb3RtZ3IvZmlsZXMvMDAwMS1yZW1vdmUtZXh0cmEtZGVjbC5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIDk5YjU3ODUwMTY0MzM3N2UwYjE5OTRiMmEwNjhiNzkwZDE4OWQ1YWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBQZXRlciBKb25lcyA8cGpvbmVzQHJlZGhhdC5jb20+CitEYXRlOiBXZWQsIDEzIEp1biAyMDE4IDA5OjQxOjAxIC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIHJlbW92ZSBleHRyYSBkZWNsCisKK1NpZ25lZC1vZmYtYnk6IFBldGVyIEpvbmVzIDxwam9uZXNAcmVkaGF0LmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbZ2l0Oi8vZ2l0aHViLmNvbS9yaGluc3RhbGxlci9lZmlib290bWdyLmdpdF0KK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKworLS0tCisgc3JjL2VmaWJvb3RtZ3IuYyB8IDMgLS0tCisgMSBmaWxlIGNoYW5nZWQsIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvZWZpYm9vdG1nci5jIGIvc3JjL2VmaWJvb3RtZ3IuYworaW5kZXggZGUzOGYwMS4uNGUxYTY4MCAxMDA2NDQKKy0tLSBhL3NyYy9lZmlib290bWdyLmMKKysrKyBiL3NyYy9lZmlib290bWdyLmMKK0BAIC0xNTM2LDkgKzE1MzYsNiBAQCBwYXJzZV9vcHRzKGludCBhcmdjLCBjaGFyICoqYXJndikKKyAJCQkJCSAgICAgICAiaW52YWxpZCBudW1lcmljIHZhbHVlICVzXG4iLAorIAkJCQkJICAgICAgIG9wdGFyZyk7CisgCQkJfQorLSAgICAgICAgICAgICAgICAgICAgICAgIC8qIFhYWCBlZml2YXItMzYgYWNjaWRlbnRhbGx5IGRvZXNuJ3QgaGF2ZSBhIHB1YmxpYworLSAgICAgICAgICAgICAgICAgICAgICAgICAqIGhlYWRlciBmb3IgdGhpcyAqLworLQkJCWV4dGVybiBpbnQgZWZpX3NldF92ZXJib3NlKGludCB2ZXJib3NpdHksIEZJTEUgKmVycmxvZyk7CisgCQkJZWZpX3NldF92ZXJib3NlKG9wdHMudmVyYm9zZSAtIDIsIHN0ZGVycik7CisgCQkJYnJlYWs7CisgCQljYXNlICdWJzoKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJzcC9lZml2YXIvZWZpdmFyXzAuMzYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYnNwL2VmaXZhci9lZml2YXJfMC4zNi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjA1ODhlZS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYnNwL2VmaXZhci9lZml2YXJfMC4zNi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLVNVTU1BUlkgPSAiVG9vbHMgdG8gbWFuaXB1bGF0ZSBVRUZJIHZhcmlhYmxlcyIKLURFU0NSSVBUSU9OID0gImVmaXZhciBwcm92aWRlcyBhIHNpbXBsZSBjb21tYW5kIGxpbmUgaW50ZXJmYWNlIHRvIHRoZSBVRUZJIHZhcmlhYmxlIGZhY2lsaXR5IgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3JoaW5zdGFsbGVyL2VmaXZhciIKLQotTElDRU5TRSA9ICJMR1BMdjIuMSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTY2MjZiYjFlMjAxODljZmE5NWYyYzUwOGJhMjg2MzkzIgotCi1ERVBFTkRTID0gInBvcHQiCi1ERVBFTkRTX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIGVmaXZhci1uYXRpdmUiCi0KLWluaGVyaXQgcGtnY29uZmlnCi0KLUNPTVBBVElCTEVfSE9TVCA9ICIoaS44Nnx4ODZfNjR8YXJtfGFhcmNoNjQpLiotbGludXgiCi0KLVNSQ1JFViA9ICJlZjM0NDkyMjNlY2QxZTdiMTA5OGM1MjNkNjZiMmY5NjBmZTgzOWVhIgotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3JoaW5zdGFsbGVyL2VmaXZhci5naXQgXAotICAgICAgICAgICBmaWxlOi8vYWxsb3ctbXVsdGktZGVmaW5pdGlvbnMtZm9yLW5hdGl2ZS5wYXRjaCBcCi0gICAgICAgICAgICIKLVNSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgZmlsZTovLzAwMDEtZWZpdmFyLWZpeC1mb3ItY3Jvc3MtY29tcGlsZS5wYXRjaCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGQtaXMtZ29sZCcsICdmaWxlOi8vMDAwNC1maXgtdW5rbm93LW9wdGlvbi1mb3ItZ29sZC1saW5rZXIucGF0Y2gnLCAnJywgZCl9IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKLVNSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgZmlsZTovL2ZpeC1jb21waWxlLWZhaWx1cmUtd2l0aC1ob3N0LWdjYy00LjYucGF0Y2ggXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1kb19jb21waWxlX3ByZXBlbmQoKSB7Ci0gICAgc2VkIC1pIC1lIHM6LVdlcnJvcjo6ZyAke1N9L2djYy5zcGVjcwotfQotCi1kb19jb21waWxlX2NsYXNzLW5hdGl2ZSgpIHsKLSAgICBvZV9ydW5tYWtlIC1DIHNyYyBtYWtlZ3VpZHMgQ0NfRk9SX0JVSUxEPSIke0JVSUxEX0NDfSIKLX0KLQotZG9faW5zdGFsbCgpIHsKLSAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9Ci19Ci0KLWRvX2luc3RhbGxfY2xhc3MtbmF0aXZlKCkgewotICAgIGluc3RhbGwgLUQgLW0gMDc1NSAke0J9L3NyYy9tYWtlZ3VpZHMgJHtEfSR7YmluZGlyfS9tYWtlZ3VpZHMKLX0KLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYnNwL2VmaXZhci9lZml2YXJfMzcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYnNwL2VmaXZhci9lZml2YXJfMzcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGE1NmU3YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ic3AvZWZpdmFyL2VmaXZhcl8zNy5iYgpAQCAtMCwwICsxLDQ1IEBACitTVU1NQVJZID0gIlRvb2xzIHRvIG1hbmlwdWxhdGUgVUVGSSB2YXJpYWJsZXMiCitERVNDUklQVElPTiA9ICJlZml2YXIgcHJvdmlkZXMgYSBzaW1wbGUgY29tbWFuZCBsaW5lIGludGVyZmFjZSB0byB0aGUgVUVGSSB2YXJpYWJsZSBmYWNpbGl0eSIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9yaGluc3RhbGxlci9lZml2YXIiCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT02NjI2YmIxZTIwMTg5Y2ZhOTVmMmM1MDhiYTI4NjM5MyIKKworREVQRU5EUyA9ICJwb3B0IgorREVQRU5EU19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBlZml2YXItbmF0aXZlIgorCitpbmhlcml0IHBrZ2NvbmZpZworCitDT01QQVRJQkxFX0hPU1QgPSAiKGkuODZ8eDg2XzY0fGFybXxhYXJjaDY0KS4qLWxpbnV4IgorCitTUkNSRVYgPSAiYzFkNmIxMGUxZWQ0YmEyYmUwN2YzODVlYWU1YmNlYjY5NDQ3OGExMCIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9yaGluc3RhbGxlci9lZml2YXIuZ2l0IFwKKyAgICAgICAgICAgZmlsZTovL2FsbG93LW11bHRpLWRlZmluaXRpb25zLWZvci1uYXRpdmUucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIGZpbGU6Ly8wMDAxLWVmaXZhci1maXgtZm9yLWNyb3NzLWNvbXBpbGUucGF0Y2ggXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2xkLWlzLWdvbGQnLCAnZmlsZTovLzAwMDQtZml4LXVua25vdy1vcHRpb24tZm9yLWdvbGQtbGlua2VyLnBhdGNoJywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCitTUkNfVVJJX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGZpbGU6Ly9maXgtY29tcGlsZS1mYWlsdXJlLXdpdGgtaG9zdC1nY2MtNC42LnBhdGNoIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAtZSBzOi1XZXJyb3I6OmcgJHtTfS9nY2Muc3BlY3MKK30KKworZG9fY29tcGlsZV9jbGFzcy1uYXRpdmUoKSB7CisgICAgb2VfcnVubWFrZSAtQyBzcmMgbWFrZWd1aWRzIENDX0ZPUl9CVUlMRD0iJHtCVUlMRF9DQ30iCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfQorfQorCitkb19pbnN0YWxsX2NsYXNzLW5hdGl2ZSgpIHsKKyAgICBpbnN0YWxsIC1EIC1tIDA3NTUgJHtCfS9zcmMvbWFrZWd1aWRzICR7RH0ke2JpbmRpcn0vbWFrZWd1aWRzCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitSUkVDT01NRU5EU18ke1BOfSA9ICJrZXJuZWwtbW9kdWxlLWVmaXZhcmZzIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJzcC9sbV9zZW5zb3JzL2xtc2Vuc29ycy8wMDAxLWxtLXNlbnNvcnMtZml4LXNlbnNvcnMtZGV0ZWN0LWNhbi10LXJlYWQtdGhlLWNwdS1pbmYucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYnNwL2xtX3NlbnNvcnMvbG1zZW5zb3JzLzAwMDEtbG0tc2Vuc29ycy1maXgtc2Vuc29ycy1kZXRlY3QtY2FuLXQtcmVhZC10aGUtY3B1LWluZi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZDU3MDlmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJzcC9sbV9zZW5zb3JzL2xtc2Vuc29ycy8wMDAxLWxtLXNlbnNvcnMtZml4LXNlbnNvcnMtZGV0ZWN0LWNhbi10LXJlYWQtdGhlLWNwdS1pbmYucGF0Y2gKQEAgLTAsMCArMSw3NCBAQAorRnJvbSBkZDliNDBjNTRmMTYwYTQ0ZjFkNzhlNTk0NmQ0Y2QwMGE4ODUyODAyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRGVuZ2tlIER1IDxkZW5na2UuZHVAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFdlZCwgMjEgU2VwIDIwMTYgMDM6MTc6MzIgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSF0gbG0tc2Vuc29yczogZml4IHNlbnNvcnMtZGV0ZWN0IGNhbid0IHJlYWQgdGhlIGNwdSBpbmZvcm1hdGlvbgorIG9uIGZzbC10NHh4eAorCitUaGlzIGlzIGJlY2F1c2UgdHdvIHJlYXNvbnM6CisKKzEuIFRoZSBzZW5zb3JzLWRldGVjdCBwcm9ncmFtIGluIGxtLXNlbnNvcnMgZGVwZW5kcyBvbiB0aGUgZmlsZSAnL3Byb2MvY3B1aW5mbycsCisgICBkaWZmZXJlbnQgYXJjaCB3cml0ZSBkaWZmZXJlbnQgaW5mb21hdGlvbiB0byBpdC4gVGhhdCBwcm9ncmFtIHN1cHBvcnRzIHg4NgorICAgYW5kIHg4Ni02NCB3ZWxsLCBidXQgd2VhayBvbiBwcGMgYW5kIGFybS4KKworMi4gVGhlIHNlbnNvcnMtZGV0ZWN0IHByb2dyYW0gc2hvdyB0aGUgY3B1IGluZm9ybWF0aW9uIGp1c3QgZGVzaWduIGZvciBpbnRlbCdzCisgICBjcHUsIHdoZW4gbWVldHMgb3RoZXIgYXJjaCwgaXQgY2FuJ3Qgb3V0cHV0IHRoZSBjb3JyZWN0IGluZm9ybWF0aW9uLgorCitTbyB3ZSBuZWVkIHRvIGFkZCB0aGUgcHBjIGFuZCBhcm0gc3VwcG9ydCBmb3IgdGhpcyBwcm9ncmFtOgorCisxLiBhZGQgdGhlIHBwYyBjcHUgaW5mb3JtYXRpb24gZmllbGQgJ2NwdScgaW4gaW5pdGlhbGl6ZV9jcHVfbGlzdCBmdW5jdGlvbi4KKworMi4gYWRkIHRoZSBjb3JyZXNwb25kIGNhc2Ugb2YgcHBjIGFuZCBhcm0gd2hlbiBwcmludCBjcHUgaW5mb3JtYXRpb24gaW4KKyAgIHByaW50X2NwdV9pbmZvIGZ1bmN0aW9uLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogRGVuZ2tlIER1IDxkZW5na2UuZHVAd2luZHJpdmVyLmNvbT4KKy0tLQorIHByb2cvZGV0ZWN0L3NlbnNvcnMtZGV0ZWN0IHwgMTEgKysrKysrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvcHJvZy9kZXRlY3Qvc2Vuc29ycy1kZXRlY3QgYi9wcm9nL2RldGVjdC9zZW5zb3JzLWRldGVjdAoraW5kZXggNWY2MjQwNS4uYWU0ZGVmMSAxMDA3NTUKKy0tLSBhL3Byb2cvZGV0ZWN0L3NlbnNvcnMtZGV0ZWN0CisrKysgYi9wcm9nL2RldGVjdC9zZW5zb3JzLWRldGVjdAorQEAgLTI4MzMsNiArMjgzMyw3IEBAIHN1YiBrZXJuZWxfdmVyc2lvbl9hdF9sZWFzdAorICMgbW9kZWwgbmFtZSBhbmQgc3RlcHBpbmcsIGRpcmVjdGx5IHRha2VuIGZyb20gL3Byb2MvY3B1aW5mby4KKyB1c2UgdmFycyBxdyhAY3B1KTsKKyAKKysjIFRoZSBhZGRlZCBmaWVsZCAnY3B1JyBpcyBmb3Igc3VwcG9ydCB0aGUgcHBjLgorIHN1YiBpbml0aWFsaXplX2NwdV9saXN0CisgeworIAlsb2NhbCAkXzsKK0BAIC0yODQ4LDcgKzI4NDksNyBAQCBzdWIgaW5pdGlhbGl6ZV9jcHVfbGlzdAorIAkJCX07CisgCQkJbmV4dDsKKyAJCX0KKy0JCWlmIChtL14odmVuZG9yX2lkfGNwdSBmYW1pbHl8bW9kZWx8bW9kZWwgbmFtZXxzdGVwcGluZ3xjcHVpZCBsZXZlbClccyo6XHMqKC4rKSQvKSB7CisrCQlpZiAobS9eKHZlbmRvcl9pZHxjcHUgZmFtaWx5fG1vZGVsfG1vZGVsIG5hbWV8c3RlcHBpbmd8Y3B1aWQgbGV2ZWx8Y3B1fHJldmlzaW9uKVxzKjpccyooLispJC8pIHsKKyAJCQlteSAkayA9ICQxOworIAkJCW15ICR2ID0gJDI7CisgCQkJJHYgPX4gcy9ccysvIC9nOwkjIE1lcmdlIG11bHRpcGxlIHNwYWNlcworQEAgLTI4NjEsMTIgKzI4NjIsMjAgQEAgc3ViIGluaXRpYWxpemVfY3B1X2xpc3QKKyAJcHVzaCBAY3B1LCAkZW50cnkgaWYgc2NhbGFyIGtleXMoJXskZW50cnl9KTsgIyBMYXN0IGVudHJ5CisgfQorIAorKyMgVGhlIGZpZWxkICdtb2RlbCBuYW1lJyBpcyBmb3IgQVJNLgorKyMgVGhlIGZpZWxkICdjcHUnIGlzIGZvciBwcGMuCisgc3ViIHByaW50X2NwdV9pbmZvCisgeworIAlteSAkY3B1ID0gJGNwdVswXTsKKyAJaWYgKCAkY3B1LT57J21vZGVsIG5hbWUnfSAmJiAkY3B1LT57J2NwdSBmYW1pbHknfSAmJiAkY3B1LT57bW9kZWx9ICYmICRjcHUtPntzdGVwcGluZ30gKSB7CisgCQlwcmludCAiIyBQcm9jZXNzb3I6ICRjcHUtPnsnbW9kZWwgbmFtZSd9ICgkY3B1LT57J2NwdSBmYW1pbHknfS8kY3B1LT57bW9kZWx9LyRjcHUtPntzdGVwcGluZ30pXG4iOworIAl9CisrCWVsc2lmICggJGNwdS0+eydtb2RlbCBuYW1lJ30gKSB7CisrCQlwcmludCAiIyBQcm9jZXNzb3I6ICRjcHUtPnsnbW9kZWwgbmFtZSd9XG4iOworKwl9CisrCWVsc2lmICggJGNwdS0+eydjcHUnfSAmJiAkY3B1LT57J3JldmlzaW9uJ30gKSB7CisrCQlwcmludCAiIyBQcm9jZXNzb3I6ICRjcHUtPnsnY3B1J30gJGNwdS0+eydyZXZpc2lvbid9XG4iOworKwl9CisgCWVsc2UgeworIAkJcHJpbnQgIiMgUHJvY2Vzc29yOiBUaGVyZSBpc24ndCBlbm91Z2ggY3B1IGluZm8gZm9yIHRoaXMgYXJjaCEhIVxuIjsKKyAJfQorLS0gCisyLjguMQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYnNwL2xtX3NlbnNvcnMvbG1zZW5zb3JzXzMuNC4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJzcC9sbV9zZW5zb3JzL2xtc2Vuc29yc18zLjQuMC5iYgppbmRleCBmZmFiNWQ2Li40ZGJlZjczIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYnNwL2xtX3NlbnNvcnMvbG1zZW5zb3JzXzMuNC4wLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ic3AvbG1fc2Vuc29ycy9sbXNlbnNvcnNfMy40LjAuYmIKQEAgLTEyLDYgKzEyLDcgQEAKICAgICAgICAgICAgZmlsZTovL3NlbnNvcmQuaW5pdCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWxtc2Vuc29ycy1zZW5zb3JzLWRldGVjdC1wcmludC1hLXNwZWNpYWwtbWVzc2FnZS13aGUucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1wcm9nLURvLW5vdC1saW1pdC1zeXMtaW8uaC1oZWFkZXItaW5jbHVkZS10by1qdXN0LWdsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbG0tc2Vuc29ycy1maXgtc2Vuc29ycy1kZXRlY3QtY2FuLXQtcmVhZC10aGUtY3B1LWluZi5wYXRjaCBcCiAiCiBTUkNfVVJJW21kNXN1bV0gPSAiMWU5ZjExN2NiZmExMWJlMTk1NWFkYzk2ZGY3MWVhZGIiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTMzNGMxYzJiMDZmNzI5MGUzZTY2YmRhZTMzMGE1ZDM2MDU0NzAxZmZkNDdhNWRkZTdhMDZmOWE3NDAyY2I0ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvaG9zdGFwZC9ob3N0YXBkL2RlZmNvbmZpZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvaG9zdGFwZC9ob3N0YXBkL2RlZmNvbmZpZwppbmRleCAyNzg5NjQwLi5hNjJiZWM0IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2hvc3RhcGQvaG9zdGFwZC9kZWZjb25maWcKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ob3N0YXBkL2hvc3RhcGQvZGVmY29uZmlnCkBAIC0xMzksNiArMTM5LDkgQEAKICMgSUVFRSA4MDIuMTFuIChIaWdoIFRocm91Z2hwdXQpIHN1cHBvcnQKIENPTkZJR19JRUVFODAyMTFOPXkKIAorIyBJRUVFIDgwMi4xMWFjIChWZXJ5IEhpZ2ggVGhyb3VnaHB1dCkgc3VwcG9ydAorQ09ORklHX0lFRUU4MDIxMUFDPXkKKwogIyBSZW1vdmUgZGVidWdnaW5nIGNvZGUgdGhhdCBpcyBwcmludGluZyBvdXQgZGVidWcgbWVzc2FnZXMgdG8gc3Rkb3V0LgogIyBUaGlzIGNhbiBiZSB1c2VkIHRvIHJlZHVjZSB0aGUgc2l6ZSBvZiB0aGUgaG9zdGFwZCBjb25zaWRlcmFibHkgaWYgZGVidWdnaW5nCiAjIGNvZGUgaXMgbm90IG5lZWRlZC4KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvaXJzc2kvaXJzc2lfMS4wLjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2lyc3NpL2lyc3NpXzEuMC40LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMGIwNGJiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvaXJzc2kvaXJzc2lfMS4wLjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1TVU1NQVJZID0gIm5jdXJzZXMgSVJDIGNsaWVudCIKLURFU0NSSVBUSU9OID0gIklyc3NpIGlzIGFuIG5jdXJzZXMgSVJDIGNsaWVudCIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01NWZkYzExMTMzMDYxNjdkNmVhMjU2MTQwNGNlMDJmOCIKLQotREVQRU5EUyA9ICJnbGliLTIuMCBuY3Vyc2VzIG9wZW5zc2wiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tLyR7QlBOfS8ke0JQTn0vcmVsZWFzZXMvZG93bmxvYWQvJHtQVn0vJHtCUH0udGFyLnh6IgotU1JDX1VSSVttZDVzdW1dID0gIjQ2ZDRhYzJhN2FiNDcyZTVkYzgwMGU1ZDdiZDlhODc5IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImI4NWMwN2RiYWZlMTc4MjEzZWNjZGM2OWY1ZjhmMGFjMDI0ZGVhMDFjNjcyNDQ2NjhmOTFlYzFjMDZiOTg2Y2EiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi1FWFRSQV9PRUNPTkYgKz0gIi0td2l0aC10ZXh0dWkgXAotICAgICAgICAgICAgICAgICAtLXdpdGgtcHJveHkgXAotICAgICAgICAgICAgICAgICAtLXdpdGgtYm90IFwKLSAgICAgICAgICAgICAgICAgLS13aXRoLXBlcmw9bm8gXAotICAgICAgICAgICAgICAgICAtLWVuYWJsZS10cnVlLWNvbG9yIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pcnNzaS9pcnNzaV8xLjEuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvaXJzc2kvaXJzc2lfMS4xLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTI4NjdlOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvaXJzc2kvaXJzc2lfMS4xLjIuYmIKQEAgLTAsMCArMSwxOCBAQAorU1VNTUFSWSA9ICJuY3Vyc2VzIElSQyBjbGllbnQiCitERVNDUklQVElPTiA9ICJJcnNzaSBpcyBhbiBuY3Vyc2VzIElSQyBjbGllbnQiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTVmZGMxMTEzMzA2MTY3ZDZlYTI1NjE0MDRjZTAyZjgiCisKK0RFUEVORFMgPSAiZ2xpYi0yLjAgbmN1cnNlcyBvcGVuc3NsIgorCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS8ke0JQTn0vJHtCUE59L3JlbGVhc2VzL2Rvd25sb2FkLyR7UFZ9LyR7QlB9LnRhci54eiIKK1NSQ19VUklbbWQ1c3VtXSA9ICIyNzFkMmZkODc1Y2RkZDM0NTI2MjM0ZDhhNzY2ZDgyYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1Y2NjMmI4OWEzOTRlOTFiZWEwYWE4M2E5NTFjM2IxZDQ3MWM3NmRhODdiNDE2OWVjNDM1NTMwYTMxYmY5NzMyIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworRVhUUkFfT0VDT05GICs9ICItLXdpdGgtdGV4dHVpIFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLXByb3h5IFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLWJvdCBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1wZXJsPW5vIFwKKyAgICAgICAgICAgICAgICAgLS1lbmFibGUtdHJ1ZS1jb2xvciIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvaXdkL2l3ZF8wLjE0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pd2QvaXdkXzAuMTQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWRmYmVkOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvaXdkL2l3ZF8wLjE0LmJiCkBAIC0wLDAgKzEsMzEgQEAKK0RFU0NSSVBUSU9OID0gIldpcmVsZXNzIGRhZW1vbiBmb3IgTGludXgiCitMSUNFTlNFID0gIkxHUEwtMi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZmI1MDRiNjdjNTAzMzFmYzc4NzM0ZmVkOTBmYjBlMDkiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBzeXN0ZW1kCisKK0RFUEVORFMgPSAiZWxsIHJlYWRsaW5lIGRidXMiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9uZXR3b3JrL3dpcmVsZXNzL2l3ZC5naXQiCitTUkNSRVYgPSAiZjg3MTU5OTY0Y2Y4ZmQ5Zjg1YjA2OTlkNTBlNGEwNTFkNGY3Yzk0OCIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgZCl9IgorUEFDS0FHRUNPTkZJR1t3aXJlZF0gPSAiLS1lbmFibGUtd2lyZWQsLS1kaXNhYmxlLXdpcmVkIgorUEFDS0FHRUNPTkZJR1tvZm9ub10gPSAiLS1lbmFibGUtb2Zvbm8sLS1kaXNhYmxlLW9mb25vIgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLXdpdGgtc3lzdGVtZC11bml0ZGlyPSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0sLS1kaXNhYmxlLXN5c3RlbWQtc2VydmljZSxzeXN0ZW1kIgorCitFWFRSQV9PRUNPTkYgKz0gIi0tZW5hYmxlLWV4dGVybmFsLWVsbCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgIG1rZGlyIC1wICR7U30vYnVpbGQtYXV4Cit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIG1rZGlyIC0tcGFyZW50cyAke0R9JHtkb2NkaXJ9LyR7QlBOfQorICAgIGluc3RhbGwgLW02NDQgJHtTfS9kb2MvKi50eHQgJHtEfSR7ZG9jZGlyfS8ke0JQTn0KK30KKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZGJ1cy0xIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiaXdkLnNlcnZpY2UgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnd2lyZWQnLCAnZWFkLnNlcnZpY2UnLCAnJywgZCl9IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjVfMS4xNi4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjVfMS4xNi4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMTc0OGNiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkva3JiNS9rcmI1XzEuMTYuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE4OCArMCwwIEBACi1TVU1NQVJZID0gIkEgbmV0d29yayBhdXRoZW50aWNhdGlvbiBwcm90b2NvbCIKLURFU0NSSVBUSU9OID0gIktlcmJlcm9zIGlzIGEgc3lzdGVtIGZvciBhdXRoZW50aWNhdGluZyB1c2VycyBhbmQgc2VydmljZXMgb24gYSBuZXR3b3JrLiBcCi0gS2VyYmVyb3MgaXMgYSB0cnVzdGVkIHRoaXJkLXBhcnR5IHNlcnZpY2UuICBUaGF0IG1lYW5zIHRoYXQgdGhlcmUgaXMgYSBcCi0gdGhpcmQgcGFydHkgKHRoZSBLZXJiZXJvcyBzZXJ2ZXIpIHRoYXQgaXMgdHJ1c3RlZCBieSBhbGwgdGhlIGVudGl0aWVzIG9uIFwKLSB0aGUgbmV0d29yayAodXNlcnMgYW5kIHNlcnZpY2VzLCB1c3VhbGx5IGNhbGxlZCAicHJpbmNpcGFscyIpLiBcCi0gLiBcCi0gVGhpcyBpcyB0aGUgTUlUIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBvZiBLZXJiZXJvcyBWNS4gXAotIC4gXAotIFRoaXMgcGFja2FnZSBjb250YWlucyB0aGUgS2VyYmVyb3Mga2V5IHNlcnZlciAoS0RDKS4gIFRoZSBLREMgbWFuYWdlcyBhbGwgXAotIGF1dGhlbnRpY2F0aW9uIGNyZWRlbnRpYWxzIGZvciBhIEtlcmJlcm9zIHJlYWxtLCBob2xkcyB0aGUgbWFzdGVyIGtleXMgXAotIGZvciB0aGUgcmVhbG0sIGFuZCByZXNwb25kcyB0byBhdXRoZW50aWNhdGlvbiByZXF1ZXN0cy4gIFRoaXMgcGFja2FnZSBcCi0gc2hvdWxkIGJlIGluc3RhbGxlZCBvbiBib3RoIG1hc3RlciBhbmQgc2xhdmUgS0RDcy4iCi0KLUhPTUVQQUdFID0gImh0dHA6Ly93ZWIubWl0LmVkdS9LZXJiZXJvcy8iCi1TRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKLUxJQ0VOU0UgPSAiTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtTfS8uLi9OT1RJQ0U7bWQ1PTdmOTViYzNkOGQwMzUxYWE0ODFkNTZkNWU5ZGUyMGMzIgotREVQRU5EUyA9ICJiaXNvbi1uYXRpdmUgbmN1cnNlcyB1dGlsLWxpbnV4IGUyZnNwcm9ncyBlMmZzcHJvZ3MtbmF0aXZlIG9wZW5zc2wiCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBiaW5jb25maWcgcGVybG5hdGl2ZSBzeXN0ZW1kIHVwZGF0ZS1yYy5kCi0KLVNIUlRfVkVSID0gIiR7QG9lLnV0aWxzLnRyaW1fdmVyc2lvbigiJHtQVn0iLCAyKX0iCi1TUkNfVVJJID0gImh0dHA6Ly93ZWIubWl0LmVkdS9rZXJiZXJvcy9kaXN0LyR7QlBOfS8ke1NIUlRfVkVSfS8ke0JQfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1hY2xvY2FsLUFkZC1wYXJhbWV0ZXItdG8tZGlzYWJsZS1rZXl1dGlscy1kZXRlY3Rpb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuLXN1cHByZXNzLXVzci1saWItaW4ta3JiNS1jb25maWcucGF0Y2g7c3RyaXBsZXZlbD0yIFwKLSAgICAgICAgICAgZmlsZTovL2Nyb3NzY29tcGlsZV9ubS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9ldGMvaW5pdC5kL2tyYjUta2RjIFwKLSAgICAgICAgICAgZmlsZTovL2V0Yy9pbml0LmQva3JiNS1hZG1pbi1zZXJ2ZXIgXAotICAgICAgICAgICBmaWxlOi8vZXRjL2RlZmF1bHQva3JiNS1rZGMgXAotICAgICAgICAgICBmaWxlOi8vZXRjL2RlZmF1bHQva3JiNS1hZG1pbi1zZXJ2ZXIgXAotICAgICAgICAgICBmaWxlOi8va3JiNS1rZGMuc2VydmljZSBcCi0gICAgICAgICAgIGZpbGU6Ly9rcmI1LWFkbWluLXNlcnZlci5zZXJ2aWNlIFwKLSIKLVNSQ19VUklbbWQ1c3VtXSA9ICI4NDhlOWI4MGQ2YWFhYTc5OGUzZjNkZjI0YjgzYzQwNyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIyMTRmZmUzOTRlM2FkMGM3MzA1NjQwNzRlYzQ0ZjFkYTExOTE1OWQ5NDI4MWJiZWM1NDFkYzI5MTY4ZDIxMTE3IgotCi1DVkVfUFJPRFVDVCA9ICJrZXJiZXJvcyIKLQotUyA9ICIke1dPUktESVJ9LyR7QlB9L3NyYyIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiIKLVBBQ0tBR0VDT05GSUdbbGliZWRpdF0gPSAiLS13aXRoLWxpYmVkaXQsLS13aXRob3V0LWxpYmVkaXQsbGliZWRpdCIKLVBBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS13aXRoLWNyeXB0by1pbXBsPW9wZW5zc2wsLG9wZW5zc2wiCi1QQUNLQUdFQ09ORklHW2tleXV0aWxzXSA9ICItLWVuYWJsZS1rZXl1dGlscywtLWRpc2FibGUta2V5dXRpbHMsa2V5dXRpbHMiCi1QQUNLQUdFQ09ORklHW2xkYXBdID0gIi0td2l0aC1sZGFwLC0td2l0aG91dC1sZGFwLG9wZW5sZGFwIgotUEFDS0FHRUNPTkZJR1tyZWFkbGluZV0gPSAiLS13aXRoLXJlYWRsaW5lLC0td2l0aG91dC1yZWFkbGluZSxyZWFkbGluZSIKLQotRVhUUkFfT0VDT05GICs9ICIgLS13aXRob3V0LXRjbCAtLXdpdGgtc3lzdGVtLWV0IC0tZGlzYWJsZS1ycGF0aCIKLUNBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJrcmI1X2N2X2F0dHJfY29uc3RydWN0b3JfZGVzdHJ1Y3Rvcj15ZXMgYWNfY3ZfZnVuY19yZWdjb21wPXllcyBcCi0gICAgICAgICAgICAgICAgICBhY19jdl9wcmludGZfcG9zaXRpb25hbD15ZXMgYWNfY3ZfZmlsZV9fZXRjX2Vudmlyb25tZW50PXllcyBcCi0gICAgICAgICAgICAgICAgICBhY19jdl9maWxlX19ldGNfVElNRVpPTkU9bm8iCi0KLUNGTEFHU19hcHBlbmQgPSAiIC1mUElDIC1EREVTVFJVQ1RPUl9BVFRSX1dPUktTPTEgLUkke1NUQUdJTkdfSU5DRElSfS9ldCIKLUNGTEFHU19hcHBlbmRfcmlzY3Y2NCA9ICIgLURfUkVFTlRSQU5UIC1wdGhyZWFkIgotTERGTEFHU19hcHBlbmQgPSAiIC1wdGhyZWFkIgotCi1kb19jb25maWd1cmUoKSB7Ci0gICAgZ251LWNvbmZpZ2l6ZSAtLWZvcmNlCi0gICAgYXV0b3JlY29uZgotICAgIG9lX3J1bmNvbmYKLX0KLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgcm0gLXJmICR7RH0vJHtsb2NhbHN0YXRlZGlyfS9ydW4KLSAgICBybSAtZiAke0R9JHtiaW5kaXJ9L3NjbGllbnQKLSAgICBybSAtZiAke0R9JHtiaW5kaXJ9L3NpbV9jbGllbnQKLSAgICBybSAtZiAke0R9JHtiaW5kaXJ9L3V1Y2xpZW50Ci0gICAgcm0gLWYgJHtEfSR7c2JpbmRpcn0va3JiNS1zZW5kLXByCi0gICAgcm0gLWYgJHtEfSR7c2JpbmRpcn0vc2ltX3NlcnZlcgotICAgIHJtIC1mICR7RH0ke3NiaW5kaXJ9L3NzZXJ2ZXIKLSAgICBybSAtZiAke0R9JHtzYmluZGlyfS91dXNlcnZlcgotCi0gICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0gICAgICAgIG1rZGlyIC1wICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQgJHtEfS8ke3N5c2NvbmZkaXJ9L2RlZmF1bHQKLSAgICAgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vZXRjL2luaXQuZC8qICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQKLSAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZXRjL2RlZmF1bHQvKiAke0R9LyR7c3lzY29uZmRpcn0vZGVmYXVsdAotCi0gICAgICAgIG1rZGlyIC1wICR7RH0vJHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcwotICAgICAgICBlY2hvICJkIHJvb3Qgcm9vdCAwNzU1ICR7bG9jYWxzdGF0ZWRpcn0vcnVuL2tyYjVrZGMgbm9uZSIgXAotICAgICAgICAgICAgICA+ICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzLzg3X2tyYjUKLQotICAgICAgICBlY2hvICJSVU5fS0FETUlORD10cnVlIiA+PiAke0R9LyR7c3lzY29uZmRpcn0vZGVmYXVsdC9rcmI1LWFkbWluLXNlcnZlcgotICAgIGZpCi0gICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KLSAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kCi0gICAgICAgIGVjaG8gImQgL3J1bi9rcmI1a2RjIC0gLSAtIC0iIFwKLSAgICAgICAgICAgICAgPiAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kL2tyYjUuY29uZgotCi0gICAgICAgIG1rZGlyIC1wICR7RH0vJHtzeXNjb25mZGlyfS9kZWZhdWx0Ci0gICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2V0Yy9kZWZhdWx0LyogJHtEfS8ke3N5c2NvbmZkaXJ9L2RlZmF1bHQKLQotICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9Ci0gICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2tyYjUtYWRtaW4tc2VydmVyLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0KLSAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0va3JiNS1rZGMuc2VydmljZSAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfQotICAgIGZpCi19Ci0KLVBBQ0tBR0VTID0rICIke1BOfS1hZG1pbi1zZXJ2ZXIgXAotICAgICAgICAgICAgICR7UE59LWdzcy1zYW1wbGVzIFwKLSAgICAgICAgICAgICAke1BOfS1rNXRscyBcCi0gICAgICAgICAgICAgJHtQTn0ta2RjIFwKLSAgICAgICAgICAgICAke1BOfS1rZGMtbGRhcCBcCi0gICAgICAgICAgICAgJHtQTn0ta3Byb3BkIFwKLSAgICAgICAgICAgICAke1BOfS1vdHAgXAotICAgICAgICAgICAgICR7UE59LXBraW5pdCBcCi0gICAgICAgICAgICAgJHtQTn0tdXNlciBcCi0gICAgICAgICAgICAgbGliZ3NzYXBpLWtyYjUgXAotICAgICAgICAgICAgIGxpYmdzc3JwYyBcCi0gICAgICAgICAgICAgbGliazVjcnlwdG8gXAotICAgICAgICAgICAgIGxpYmthZG01Y2xudC1taXQgXAotICAgICAgICAgICAgIGxpYmthZG01c3J2LW1pdCBcCi0gICAgICAgICAgICAgbGlia2RiNSBcCi0gICAgICAgICAgICAgbGlia3JhZCBcCi0gICAgICAgICAgICAgbGlia3JiNSBcCi0gICAgICAgICAgICAgbGlia3JiNXN1cHBvcnQgXAotICAgICAgICAgICAgIGxpYnZlcnRvIgotCi1GSUxFU18ke1BOfSA9ICIke2xpYmRpcn0va3JiNS9wbHVnaW5zL3ByZWF1dGgvdGVzdC5zbyIKLUZJTEVTXyR7UE59LWRvYyArPSAiJHtkYXRhZGlyfS9leGFtcGxlcyIKLUZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2tyYjUvcGx1Z2lucy8qLy5kZWJ1ZyIKLQotRklMRVNfJHtQTn0tYWRtaW4tc2VydmVyID0gIiR7c2JpbmRpcn0va2FkbWluLmxvY2FsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3NiaW5kaXJ9L2thZG1pbmQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7c2JpbmRpcn0va3Byb3AgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vZGVmYXVsdC9rcmI1LWFkbWluLXNlcnZlciBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9pbml0LmQva3JiNS1hZG1pbi1zZXJ2ZXIgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0va3JiNS1hZG1pbi1zZXJ2ZXIuc2VydmljZSIKLQotRklMRVNfJHtQTn0tZ3NzLXNhbXBsZXMgPSAiJHtiaW5kaXJ9L2dzcy1jbGllbnQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzYmluZGlyfS9nc3Mtc2VydmVyIgotCi1GSUxFU18ke1BOfS1rNXRscyA9ICIke2xpYmRpcn0va3JiNS9wbHVnaW5zL3Rscy9rNXRscy5zbyIKLQotRklMRVNfJHtQTn0ta2RjID0gIiR7bGliZGlyfS9rcmI1L3BsdWdpbnMva2RiL2RiMi5zbyBcCi0gICAgICAgICAgICAgICAgICAgJHtsb2NhbHN0YXRlZGlyfS9rcmI1a2RjIFwKLSAgICAgICAgICAgICAgICAgICAke3NiaW5kaXJ9L2tkYjVfdXRpbCBcCi0gICAgICAgICAgICAgICAgICAgJHtzYmluZGlyfS9rcHJvcGxvZyBcCi0gICAgICAgICAgICAgICAgICAgJHtzYmluZGlyfS9rcmI1a2RjIFwKLSAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2RlZmF1bHQva3JiNS1rZGMgXAotICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvODdfa3JiNSBcCi0gICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9pbml0LmQva3JiNS1rZGMgXAotICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC9rcmI1LmNvbmYgXAotICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0va3JiNS1rZGMuc2VydmljZSIKLQotRklMRVNfJHtQTn0ta2RjLWxkYXAgPSAiJHtsaWJkaXJ9L2tyYjUvbGlia2RiX2xkYXAke1NPTElCU30gXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2tyYjUvcGx1Z2lucy9rZGIva2xkYXAuc28gXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtzYmluZGlyfS9rZGI1X2xkYXBfdXRpbCIKLQotRklMRVNfJHtQTn0ta3Byb3BkID0gIiR7c2JpbmRpcn0va3Byb3BkIgotRklMRVNfJHtQTn0tb3RwID0gIiR7bGliZGlyfS9rcmI1L3BsdWdpbnMvcHJlYXV0aC9vdHAuc28iCi1GSUxFU18ke1BOfS1wa2luaXQgPSAiJHtsaWJkaXJ9L2tyYjUvcGx1Z2lucy9wcmVhdXRoL3BraW5pdC5zbyIKLUZJTEVTXyR7UE59LXVzZXIgPSAiJHtiaW5kaXJ9L2sqIgotCi1GSUxFU19saWJnc3NhcGkta3JiNSA9ICIke2xpYmRpcn0vbGliZ3NzYXBpX2tyYjUke1NPTElCU30iCi1GSUxFU19saWJnc3NycGMgPSAiJHtsaWJkaXJ9L2xpYmdzc3JwYyR7U09MSUJTfSIKLUZJTEVTX2xpYms1Y3J5cHRvID0gIiR7bGliZGlyfS9saWJrNWNyeXB0byR7U09MSUJTfSIKLUZJTEVTX2xpYmthZG01Y2xudC1taXQgPSAiJHtsaWJkaXJ9L2xpYmthZG01Y2xudF9taXQke1NPTElCU30iCi1GSUxFU19saWJrYWRtNXNydi1taXQgPSAiJHtsaWJkaXJ9L2xpYmthZG01c3J2X21pdCR7U09MSUJTfSIKLUZJTEVTX2xpYmtkYjUgPSAiJHtsaWJkaXJ9L2xpYmtkYjUke1NPTElCU30iCi1GSUxFU19saWJrcmFkID0gIiR7bGliZGlyfS9saWJrcmFkJHtTT0xJQlN9IgotRklMRVNfbGlia3JiNSA9ICIke2xpYmRpcn0vbGlia3JiNSR7U09MSUJTfSBcCi0gICAgICAgICAgICAgICAgICR7bGliZGlyfS9rcmI1L3BsdWdpbnMvYXV0aGRhdGEgXAotICAgICAgICAgICAgICAgICAke2xpYmRpcn0va3JiNS9wbHVnaW5zL2xpYmtyYjUiCi1GSUxFU19saWJrcmI1c3VwcG9ydCA9ICIke2xpYmRpcn0vbGlia3JiNXN1cHBvcnQke1NPTElCU30iCi1GSUxFU19saWJ2ZXJ0byA9ICIke2xpYmRpcn0vbGlidmVydG8ke1NPTElCU30iCi0KLVJERVBFTkRTXyR7UE59LWthZG1pbi1zZXJ2ZXIgPSAiJHtQTn0ta2RjIgotUkRFUEVORFNfJHtQTn0ta3Byb3BkID0gIiR7UE59LWtkYyIKLQotSU5JVFNDUklQVF9QQUNLQUdFUyA9ICIke1BOfS1hZG1pbi1zZXJ2ZXIgJHtQTn0ta2RjIgotSU5JVFNDUklQVF9OQU1FXyR7UE59LWFkbWluLXNlcnZlciA9ICJrcmI1LWFkbWluLXNlcnZlciIKLUlOSVRTQ1JJUFRfTkFNRV8ke1BOfS1rZGMgPSAia3JiNS1rZGMiCi0KLVNZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0tYWRtaW4tc2VydmVyICR7UE59LWtkYyIKLVNZU1RFTURfU0VSVklDRV8ke1BOfS1hZG1pbi1zZXJ2ZXIgPSAia3JiNS1hZG1pbi1zZXJ2ZXIuc2VydmljZSIKLVNZU1RFTURfU0VSVklDRV8ke1BOfS1rZGMgPSAia3JiNS1rZGMuc2VydmljZSIKLQotcGtnX3Bvc3RpbnN0XyR7UE59LWtkYyAoKSB7Ci0gICAgaWYgWyAteiAiJEQiIF07IHRoZW4KLSAgICAgICAgaWYgY29tbWFuZCAtdiBzeXN0ZW1kLXRtcGZpbGVzID4vZGV2L251bGw7IHRoZW4KLSAgICAgICAgICAgIHN5c3RlbWQtdG1wZmlsZXMgLS1jcmVhdGUgJHtzeXNjb25mZGlyfS90bXBmaWxlcy5kL2tyYjUuY29uZgotICAgICAgICBlbGlmIFsgLWUgJHtzeXNjb25mZGlyfS9pbml0LmQvcG9wdWxhdGUtdm9sYXRpbGUuc2ggXTsgdGhlbgotICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvcG9wdWxhdGUtdm9sYXRpbGUuc2ggdXBkYXRlCi0gICAgICAgIGZpCi0gICAgZmkKLX0KLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjVfMS4xNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkva3JiNS9rcmI1XzEuMTcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTI3YTRhZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkva3JiNS9rcmI1XzEuMTcuYmIKQEAgLTAsMCArMSwxOTIgQEAKK1NVTU1BUlkgPSAiQSBuZXR3b3JrIGF1dGhlbnRpY2F0aW9uIHByb3RvY29sIgorREVTQ1JJUFRJT04gPSAiS2VyYmVyb3MgaXMgYSBzeXN0ZW0gZm9yIGF1dGhlbnRpY2F0aW5nIHVzZXJzIGFuZCBzZXJ2aWNlcyBvbiBhIG5ldHdvcmsuIFwKKyBLZXJiZXJvcyBpcyBhIHRydXN0ZWQgdGhpcmQtcGFydHkgc2VydmljZS4gIFRoYXQgbWVhbnMgdGhhdCB0aGVyZSBpcyBhIFwKKyB0aGlyZCBwYXJ0eSAodGhlIEtlcmJlcm9zIHNlcnZlcikgdGhhdCBpcyB0cnVzdGVkIGJ5IGFsbCB0aGUgZW50aXRpZXMgb24gXAorIHRoZSBuZXR3b3JrICh1c2VycyBhbmQgc2VydmljZXMsIHVzdWFsbHkgY2FsbGVkICJwcmluY2lwYWxzIikuIFwKKyAuIFwKKyBUaGlzIGlzIHRoZSBNSVQgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIG9mIEtlcmJlcm9zIFY1LiBcCisgLiBcCisgVGhpcyBwYWNrYWdlIGNvbnRhaW5zIHRoZSBLZXJiZXJvcyBrZXkgc2VydmVyIChLREMpLiAgVGhlIEtEQyBtYW5hZ2VzIGFsbCBcCisgYXV0aGVudGljYXRpb24gY3JlZGVudGlhbHMgZm9yIGEgS2VyYmVyb3MgcmVhbG0sIGhvbGRzIHRoZSBtYXN0ZXIga2V5cyBcCisgZm9yIHRoZSByZWFsbSwgYW5kIHJlc3BvbmRzIHRvIGF1dGhlbnRpY2F0aW9uIHJlcXVlc3RzLiAgVGhpcyBwYWNrYWdlIFwKKyBzaG91bGQgYmUgaW5zdGFsbGVkIG9uIGJvdGggbWFzdGVyIGFuZCBzbGF2ZSBLRENzLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL3dlYi5taXQuZWR1L0tlcmJlcm9zLyIKK1NFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1N9Ly4uL05PVElDRTttZDU9YWZmNTQxZTcyNjFmMTkyNmFjNmEyYTlhN2JiYWI4MzkiCitERVBFTkRTID0gImJpc29uLW5hdGl2ZSBuY3Vyc2VzIHV0aWwtbGludXggZTJmc3Byb2dzIGUyZnNwcm9ncy1uYXRpdmUgb3BlbnNzbCIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIGJpbmNvbmZpZyBwZXJsbmF0aXZlIHN5c3RlbWQgdXBkYXRlLXJjLmQKKworU0hSVF9WRVIgPSAiJHtAb2UudXRpbHMudHJpbV92ZXJzaW9uKCIke1BWfSIsIDIpfSIKK1NSQ19VUkkgPSAiaHR0cDovL3dlYi5taXQuZWR1L2tlcmJlcm9zL2Rpc3QvJHtCUE59LyR7U0hSVF9WRVJ9LyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWFjbG9jYWwtQWRkLXBhcmFtZXRlci10by1kaXNhYmxlLWtleXV0aWxzLWRldGVjdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4tc3VwcHJlc3MtdXNyLWxpYi1pbi1rcmI1LWNvbmZpZy5wYXRjaDtzdHJpcGxldmVsPTIgXAorICAgICAgICAgICBmaWxlOi8vY3Jvc3Njb21waWxlX25tLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2V0Yy9pbml0LmQva3JiNS1rZGMgXAorICAgICAgICAgICBmaWxlOi8vZXRjL2luaXQuZC9rcmI1LWFkbWluLXNlcnZlciBcCisgICAgICAgICAgIGZpbGU6Ly9ldGMvZGVmYXVsdC9rcmI1LWtkYyBcCisgICAgICAgICAgIGZpbGU6Ly9ldGMvZGVmYXVsdC9rcmI1LWFkbWluLXNlcnZlciBcCisgICAgICAgICAgIGZpbGU6Ly9rcmI1LWtkYy5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL2tyYjUtYWRtaW4tc2VydmVyLnNlcnZpY2UgXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjNiNzI5ZDg5ZWI0NDExNTBlMTQ2NzgwYzQxMzg0ODFiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVhNmUyMjg0YTUzZGU1NzAyZDNkYzJiZTNiOTMzOWM5NjNmOWI1Mzk3ZDNmYmJjNTNiZWIyNDkzODBhNzgxZjUiCisKK0NWRV9QUk9EVUNUID0gImtlcmJlcm9zIgorQ1ZFX1ZFUlNJT04gPSAiNS0ke1BWfSIKKworUyA9ICIke1dPUktESVJ9LyR7QlB9L3NyYyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gInBraW5pdCIKK1BBQ0tBR0VDT05GSUdbbGliZWRpdF0gPSAiLS13aXRoLWxpYmVkaXQsLS13aXRob3V0LWxpYmVkaXQsbGliZWRpdCIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS13aXRoLWNyeXB0by1pbXBsPW9wZW5zc2wsLG9wZW5zc2wiCitQQUNLQUdFQ09ORklHW2tleXV0aWxzXSA9ICItLWVuYWJsZS1rZXl1dGlscywtLWRpc2FibGUta2V5dXRpbHMsa2V5dXRpbHMiCitQQUNLQUdFQ09ORklHW2xkYXBdID0gIi0td2l0aC1sZGFwLC0td2l0aG91dC1sZGFwLG9wZW5sZGFwIgorUEFDS0FHRUNPTkZJR1tyZWFkbGluZV0gPSAiLS13aXRoLXJlYWRsaW5lLC0td2l0aG91dC1yZWFkbGluZSxyZWFkbGluZSIKK1BBQ0tBR0VDT05GSUdbcGtpbml0XSA9ICItLWVuYWJsZS1wa2luaXQsIC0tZGlzYWJsZS1wa2luaXQiCisKK0VYVFJBX09FQ09ORiArPSAiIC0td2l0aG91dC10Y2wgLS13aXRoLXN5c3RlbS1ldCAtLWRpc2FibGUtcnBhdGgiCitDQUNIRURfQ09ORklHVVJFVkFSUyArPSAia3JiNV9jdl9hdHRyX2NvbnN0cnVjdG9yX2Rlc3RydWN0b3I9eWVzIGFjX2N2X2Z1bmNfcmVnY29tcD15ZXMgXAorICAgICAgICAgICAgICAgICAgYWNfY3ZfcHJpbnRmX3Bvc2l0aW9uYWw9eWVzIGFjX2N2X2ZpbGVfX2V0Y19lbnZpcm9ubWVudD15ZXMgXAorICAgICAgICAgICAgICAgICAgYWNfY3ZfZmlsZV9fZXRjX1RJTUVaT05FPW5vIgorCitDRkxBR1NfYXBwZW5kID0gIiAtZlBJQyAtRERFU1RSVUNUT1JfQVRUUl9XT1JLUz0xIC1JJHtTVEFHSU5HX0lOQ0RJUn0vZXQiCitDRkxBR1NfYXBwZW5kX3Jpc2N2NjQgPSAiIC1EX1JFRU5UUkFOVCAtcHRocmVhZCIKK0xERkxBR1NfYXBwZW5kID0gIiAtcHRocmVhZCIKKworZG9fY29uZmlndXJlKCkgeworICAgIGdudS1jb25maWdpemUgLS1mb3JjZQorICAgIGF1dG9yZWNvbmYKKyAgICBvZV9ydW5jb25mCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIHJtIC1yZiAke0R9LyR7bG9jYWxzdGF0ZWRpcn0vcnVuCisgICAgcm0gLWYgJHtEfSR7YmluZGlyfS9zY2xpZW50CisgICAgcm0gLWYgJHtEfSR7YmluZGlyfS9zaW1fY2xpZW50CisgICAgcm0gLWYgJHtEfSR7YmluZGlyfS91dWNsaWVudAorICAgIHJtIC1mICR7RH0ke3NiaW5kaXJ9L2tyYjUtc2VuZC1wcgorICAgIHJtIC1mICR7RH0ke3NiaW5kaXJ9L3NpbV9zZXJ2ZXIKKyAgICBybSAtZiAke0R9JHtzYmluZGlyfS9zc2VydmVyCisgICAgcm0gLWYgJHtEfSR7c2JpbmRpcn0vdXVzZXJ2ZXIKKworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdmluaXQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICBta2RpciAtcCAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kICR7RH0vJHtzeXNjb25mZGlyfS9kZWZhdWx0CisgICAgICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2V0Yy9pbml0LmQvKiAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2V0Yy9kZWZhdWx0LyogJHtEfS8ke3N5c2NvbmZkaXJ9L2RlZmF1bHQKKworICAgICAgICBta2RpciAtcCAke0R9LyR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMKKyAgICAgICAgZWNobyAiZCByb290IHJvb3QgMDc1NSAke2xvY2Fsc3RhdGVkaXJ9L3J1bi9rcmI1a2RjIG5vbmUiIFwKKyAgICAgICAgICAgICAgPiAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcy84N19rcmI1CisKKyAgICAgICAgZWNobyAiUlVOX0tBRE1JTkQ9dHJ1ZSIgPj4gJHtEfS8ke3N5c2NvbmZkaXJ9L2RlZmF1bHQva3JiNS1hZG1pbi1zZXJ2ZXIKKyAgICBmaQorICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZAorICAgICAgICBlY2hvICJkIC9ydW4va3JiNWtkYyAtIC0gLSAtIiBcCisgICAgICAgICAgICAgID4gJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC9rcmI1LmNvbmYKKworICAgICAgICBta2RpciAtcCAke0R9LyR7c3lzY29uZmRpcn0vZGVmYXVsdAorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9ldGMvZGVmYXVsdC8qICR7RH0vJHtzeXNjb25mZGlyfS9kZWZhdWx0CisKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfQorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9rcmI1LWFkbWluLXNlcnZlci5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9CisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2tyYjUta2RjLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0KKyAgICBmaQorfQorCitQQUNLQUdFUyA9KyAiJHtQTn0tYWRtaW4tc2VydmVyIFwKKyAgICAgICAgICAgICAke1BOfS1nc3Mtc2FtcGxlcyBcCisgICAgICAgICAgICAgJHtQTn0tazV0bHMgXAorICAgICAgICAgICAgICR7UE59LWtkYyBcCisgICAgICAgICAgICAgJHtQTn0ta2RjLWxkYXAgXAorICAgICAgICAgICAgICR7UE59LWtwcm9wZCBcCisgICAgICAgICAgICAgJHtQTn0tb3RwIFwKKyAgICAgICAgICAgICAke1BOfS1wa2luaXQgXAorICAgICAgICAgICAgICR7UE59LXNwYWtlIFwKKyAgICAgICAgICAgICAke1BOfS11c2VyIFwKKyAgICAgICAgICAgICBsaWJnc3NhcGkta3JiNSBcCisgICAgICAgICAgICAgbGliZ3NzcnBjIFwKKyAgICAgICAgICAgICBsaWJrNWNyeXB0byBcCisgICAgICAgICAgICAgbGlia2FkbTVjbG50LW1pdCBcCisgICAgICAgICAgICAgbGlia2FkbTVzcnYtbWl0IFwKKyAgICAgICAgICAgICBsaWJrZGI1IFwKKyAgICAgICAgICAgICBsaWJrcmFkIFwKKyAgICAgICAgICAgICBsaWJrcmI1IFwKKyAgICAgICAgICAgICBsaWJrcmI1c3VwcG9ydCBcCisgICAgICAgICAgICAgbGlidmVydG8iCisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS9rcmI1L3BsdWdpbnMvcHJlYXV0aC90ZXN0LnNvIgorRklMRVNfJHtQTn0tZG9jICs9ICIke2RhdGFkaXJ9L2V4YW1wbGVzIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0va3JiNS9wbHVnaW5zLyovLmRlYnVnIgorCitGSUxFU18ke1BOfS1hZG1pbi1zZXJ2ZXIgPSAiJHtzYmluZGlyfS9rYWRtaW4ubG9jYWwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7c2JpbmRpcn0va2FkbWluZCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzYmluZGlyfS9rcHJvcCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9kZWZhdWx0L2tyYjUtYWRtaW4tc2VydmVyIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9rcmI1LWFkbWluLXNlcnZlciBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9rcmI1LWFkbWluLXNlcnZlci5zZXJ2aWNlIgorCitGSUxFU18ke1BOfS1nc3Mtc2FtcGxlcyA9ICIke2JpbmRpcn0vZ3NzLWNsaWVudCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAke3NiaW5kaXJ9L2dzcy1zZXJ2ZXIiCisKK0ZJTEVTXyR7UE59LWs1dGxzID0gIiR7bGliZGlyfS9rcmI1L3BsdWdpbnMvdGxzL2s1dGxzLnNvIgorCitGSUxFU18ke1BOfS1rZGMgPSAiJHtsaWJkaXJ9L2tyYjUvcGx1Z2lucy9rZGIvZGIyLnNvIFwKKyAgICAgICAgICAgICAgICAgICAke2xvY2Fsc3RhdGVkaXJ9L2tyYjVrZGMgXAorICAgICAgICAgICAgICAgICAgICR7c2JpbmRpcn0va2RiNV91dGlsIFwKKyAgICAgICAgICAgICAgICAgICAke3NiaW5kaXJ9L2twcm9wbG9nIFwKKyAgICAgICAgICAgICAgICAgICAke3NiaW5kaXJ9L2tyYjVrZGMgXAorICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vZGVmYXVsdC9rcmI1LWtkYyBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcy84N19rcmI1IFwKKyAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9rcmI1LWtkYyBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS90bXBmaWxlcy5kL2tyYjUuY29uZiBcCisgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9rcmI1LWtkYy5zZXJ2aWNlIgorCitGSUxFU18ke1BOfS1rZGMtbGRhcCA9ICIke2xpYmRpcn0va3JiNS9saWJrZGJfbGRhcCR7U09MSUJTfSBcCisgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0va3JiNS9wbHVnaW5zL2tkYi9rbGRhcC5zbyBcCisgICAgICAgICAgICAgICAgICAgICAgICAke3NiaW5kaXJ9L2tkYjVfbGRhcF91dGlsIgorCitGSUxFU18ke1BOfS1rcHJvcGQgPSAiJHtzYmluZGlyfS9rcHJvcGQiCitGSUxFU18ke1BOfS1vdHAgPSAiJHtsaWJkaXJ9L2tyYjUvcGx1Z2lucy9wcmVhdXRoL290cC5zbyIKK0ZJTEVTXyR7UE59LXBraW5pdCA9ICIke2xpYmRpcn0va3JiNS9wbHVnaW5zL3ByZWF1dGgvcGtpbml0LnNvIgorRklMRVNfJHtQTn0tc3Bha2UgPSAiJHtsaWJkaXJ9L2tyYjUvcGx1Z2lucy9wcmVhdXRoL3NwYWtlLnNvIgorRklMRVNfJHtQTn0tdXNlciA9ICIke2JpbmRpcn0vayoiCisKK0ZJTEVTX2xpYmdzc2FwaS1rcmI1ID0gIiR7bGliZGlyfS9saWJnc3NhcGlfa3JiNSR7U09MSUJTfSIKK0ZJTEVTX2xpYmdzc3JwYyA9ICIke2xpYmRpcn0vbGliZ3NzcnBjJHtTT0xJQlN9IgorRklMRVNfbGliazVjcnlwdG8gPSAiJHtsaWJkaXJ9L2xpYms1Y3J5cHRvJHtTT0xJQlN9IgorRklMRVNfbGlia2FkbTVjbG50LW1pdCA9ICIke2xpYmRpcn0vbGlia2FkbTVjbG50X21pdCR7U09MSUJTfSIKK0ZJTEVTX2xpYmthZG01c3J2LW1pdCA9ICIke2xpYmRpcn0vbGlia2FkbTVzcnZfbWl0JHtTT0xJQlN9IgorRklMRVNfbGlia2RiNSA9ICIke2xpYmRpcn0vbGlia2RiNSR7U09MSUJTfSIKK0ZJTEVTX2xpYmtyYWQgPSAiJHtsaWJkaXJ9L2xpYmtyYWQke1NPTElCU30iCitGSUxFU19saWJrcmI1ID0gIiR7bGliZGlyfS9saWJrcmI1JHtTT0xJQlN9IFwKKyAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2tyYjUvcGx1Z2lucy9hdXRoZGF0YSBcCisgICAgICAgICAgICAgICAgICR7bGliZGlyfS9rcmI1L3BsdWdpbnMvbGlia3JiNSIKK0ZJTEVTX2xpYmtyYjVzdXBwb3J0ID0gIiR7bGliZGlyfS9saWJrcmI1c3VwcG9ydCR7U09MSUJTfSIKK0ZJTEVTX2xpYnZlcnRvID0gIiR7bGliZGlyfS9saWJ2ZXJ0byR7U09MSUJTfSIKKworUkRFUEVORFNfJHtQTn0ta2FkbWluLXNlcnZlciA9ICIke1BOfS1rZGMiCitSREVQRU5EU18ke1BOfS1rcHJvcGQgPSAiJHtQTn0ta2RjIgorCitJTklUU0NSSVBUX1BBQ0tBR0VTID0gIiR7UE59LWFkbWluLXNlcnZlciAke1BOfS1rZGMiCitJTklUU0NSSVBUX05BTUVfJHtQTn0tYWRtaW4tc2VydmVyID0gImtyYjUtYWRtaW4tc2VydmVyIgorSU5JVFNDUklQVF9OQU1FXyR7UE59LWtkYyA9ICJrcmI1LWtkYyIKKworU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfS1hZG1pbi1zZXJ2ZXIgJHtQTn0ta2RjIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59LWFkbWluLXNlcnZlciA9ICJrcmI1LWFkbWluLXNlcnZlci5zZXJ2aWNlIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59LWtkYyA9ICJrcmI1LWtkYy5zZXJ2aWNlIgorCitwa2dfcG9zdGluc3RfJHtQTn0ta2RjICgpIHsKKyAgICBpZiBbIC16ICIkRCIgXTsgdGhlbgorICAgICAgICBpZiBjb21tYW5kIC12IHN5c3RlbWQtdG1wZmlsZXMgPi9kZXYvbnVsbDsgdGhlbgorICAgICAgICAgICAgc3lzdGVtZC10bXBmaWxlcyAtLWNyZWF0ZSAke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQva3JiNS5jb25mCisgICAgICAgIGVsaWYgWyAtZSAke3N5c2NvbmZkaXJ9L2luaXQuZC9wb3B1bGF0ZS12b2xhdGlsZS5zaCBdOyB0aGVuCisgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9wb3B1bGF0ZS12b2xhdGlsZS5zaCB1cGRhdGUKKyAgICAgICAgZmkKKyAgICBmaQorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYmV2L2xpYmV2XzQuMjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYmV2L2xpYmV2XzQuMjQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE1ODM4ZDMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJldi9saWJldl80LjI0LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotU1VNTUFSWSA9ICJBIGZ1bGwtZmVhdHVyZWQgYW5kIGhpZ2gtcGVyZm9ybWFuY2UgZXZlbnQgbG9vcCB0aGF0IGlzIGxvb3NlbHkgXAotbW9kZWxsZWQgYWZ0ZXIgbGliZXZlbnQuIgotSE9NRVBBR0UgPSAiaHR0cDovL3NvZnR3YXJlLnNjaG1vcnAuZGUvcGtnL2xpYmV2Lmh0bWwiCi1MSUNFTlNFID0gIkJTRC0yLUNsYXVzZSB8IEdQTC0yLjArIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZDZhZDQxNmFmZDA0MGM5MDY5OGVkY2RmMWNiZWUzNDciCi0KLVNSQ19VUkkgPSAiaHR0cDovL2Rpc3Quc2NobW9ycC5kZS9saWJldi9BdHRpYy8ke0JQfS50YXIuZ3oiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI5NDQ1OWE1YTIyZGIwNDFkZWM2Zjk4NDI0ZDZlZmU1NCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI5NzM1OTNkMzQ3OWFiZGY2NTc2NzRhNTVhZmU1Zjc4NjI0YjBlNDQwNjE0ZTJiOGNiM2EwN2YxNmQ0ZDdmODIxIgotCi1pbmhlcml0IGF1dG90b29scwotCi1FWFRSQV9PRUNPTkYgKz0gIi0td2l0aC1waWMiCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgICMgQXZvaWQgY29uZmxpY3Rpbmcgd2l0aCBsaWJldmVudC4gVGhlIHByb3ZpZGVkIGNvbXBhdGliaWxpdHkgbGF5ZXIgaXMKLSAgICAjIHN0aWxsIGJhc2ljIHNvIGRyb3AgaXQgZm9yIG5vdy4KLSAgICBybSAke0R9JHtpbmNsdWRlZGlyfS9ldmVudC5oCi19CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYmV2L2xpYmV2XzQuMjUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYmV2L2xpYmV2XzQuMjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTQ1NmU1MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGliZXYvbGliZXZfNC4yNS5iYgpAQCAtMCwwICsxLDE5IEBACitTVU1NQVJZID0gIkEgZnVsbC1mZWF0dXJlZCBhbmQgaGlnaC1wZXJmb3JtYW5jZSBldmVudCBsb29wIHRoYXQgaXMgbG9vc2VseSBcCittb2RlbGxlZCBhZnRlciBsaWJldmVudC4iCitIT01FUEFHRSA9ICJodHRwOi8vc29mdHdhcmUuc2NobW9ycC5kZS9wa2cvbGliZXYuaHRtbCIKK0xJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIHwgR1BMLTIuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1kNmFkNDE2YWZkMDQwYzkwNjk4ZWRjZGYxY2JlZTM0NyIKKworU1JDX1VSSSA9ICJodHRwOi8vZGlzdC5zY2htb3JwLmRlL2xpYmV2L0F0dGljLyR7QlB9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI5MTFkYWY1NjY1MzRmNzQ1NzI2MDE1NzM2YTA0ZjA0YSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3ODc1N2UxYzI3Nzc4ZDJmMzc5NTI1MWQ5ZmUwOTcxNWQ1MWNlMDQyMjQxNmRhNGFiYjM0YWYzOTI5YzAyNTg5IgorCitpbmhlcml0IGF1dG90b29scworCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aC1waWMiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICMgQXZvaWQgY29uZmxpY3Rpbmcgd2l0aCBsaWJldmVudC4gVGhlIHByb3ZpZGVkIGNvbXBhdGliaWxpdHkgbGF5ZXIgaXMKKyAgICAjIHN0aWxsIGJhc2ljIHNvIGRyb3AgaXQgZm9yIG5vdy4KKyAgICBybSAke0R9JHtpbmNsdWRlZGlyfS9ldmVudC5oCit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYm1iaW0vbGlibWJpbS9jbGFuZy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlibWJpbS9saWJtYmltL2NsYW5nLnBhdGNoCmluZGV4IDkyZTY1N2MuLmQ4ODU3ODQgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlibWJpbS9saWJtYmltL2NsYW5nLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlibWJpbS9saWJtYmltL2NsYW5nLnBhdGNoCkBAIC00NSw3ICs0NSw3IEBACiAgCQkgICAgICAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV3N0cmljdC1wcm90b3R5cGVzIFwKIEBAIC0xNywyMiArMzcsMjMgQEAgaWYgdGVzdCAiJEdDQyIgPSAieWVzIiAtYSAiJHNldF9tb3JlX3dhcgogIAkJICAgICAgLVdtaXNzaW5nLWluY2x1ZGUtZGlycyAtV2FnZ3JlZ2F0ZS1yZXR1cm4gXAotIAkJICAgICAgLVdmb3JtYXQtc2VjdXJpdHk7IGRvCisgCQkgICAgICAtV2Zvcm1hdC1zZWN1cml0eSAtV3R5cGUtbGltaXRzOyBkbwogIAkJU0FWRV9DRkxBR1M9IiRDRkxBR1MiCiAtCQlDRkxBR1M9IiRDRkxBR1MgJG9wdGlvbiIKICsJCUNGTEFHUz0iJENGTEFHUyAkb3B0aW9uICRXRVJST1IiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYm1iaW0vbGlibWJpbV8xLjE2LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYm1iaW0vbGlibWJpbV8xLjE2LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUyNjBjMGYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJtYmltL2xpYm1iaW1fMS4xNi4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotU1VNTUFSWSA9ICJsaWJtYmltIGlzIGxpYnJhcnkgZm9yIHRhbGtpbmcgdG8gV1dBTiBkZXZpY2VzIGJ5IE1CSU0gcHJvdG9jb2wiCi1ERVNDUklQVElPTiA9ICJsaWJtYmltIGlzIGEgZ2xpYi1iYXNlZCBsaWJyYXJ5IGZvciB0YWxraW5nIHRvIFdXQU4gbW9kZW1zIGFuZCBkZXZpY2VzIHdoaWNoIHNwZWFrIHRoZSBNb2JpbGUgSW50ZXJmYWNlIEJyb2FkYmFuZCBNb2RlbCAoTUJJTSkgcHJvdG9jb2wiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL2xpYm1iaW0vIgotTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgotTElDX0ZJTEVTX0NIS1NVTSA9ICIgXAotICAgIGZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCi0gICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyBcCi0iCi0KLURFUEVORFMgPSAiZ2xpYi0yLjAgZ2xpYi0yLjAtbmF0aXZlIGxpYmd1ZGV2IgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgYmFzaC1jb21wbGV0aW9uCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vY2xhbmcucGF0Y2ggXAotIgotU1JDX1VSSVttZDVzdW1dID0gIjc2ZWE0ZDgzODE5ODk5MTliMWQ5YjkxYzgxOGZlZDgwIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImM4Y2E1MGJlZWRkZDRiNDMzMDlkZjViNjk4OTE3MjY4MzAzYmYxNzZjZWE1OGZlNGZlNTNkNWJmMGU5M2ZhYzIiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYm1iaW0vbGlibWJpbV8xLjE4LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYm1iaW0vbGlibWJpbV8xLjE4LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWY1OWFkNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlibWJpbS9saWJtYmltXzEuMTguMC5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gImxpYm1iaW0gaXMgbGlicmFyeSBmb3IgdGFsa2luZyB0byBXV0FOIGRldmljZXMgYnkgTUJJTSBwcm90b2NvbCIKK0RFU0NSSVBUSU9OID0gImxpYm1iaW0gaXMgYSBnbGliLWJhc2VkIGxpYnJhcnkgZm9yIHRhbGtpbmcgdG8gV1dBTiBtb2RlbXMgYW5kIGRldmljZXMgd2hpY2ggc3BlYWsgdGhlIE1vYmlsZSBJbnRlcmZhY2UgQnJvYWRiYW5kIE1vZGVsIChNQklNKSBwcm90b2NvbCIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3dpa2kvU29mdHdhcmUvbGlibWJpbS8iCitMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gIiBcCisgICAgZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKKyAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIFwKKyIKKworREVQRU5EUyA9ICJnbGliLTIuMCBnbGliLTIuMC1uYXRpdmUgbGliZ3VkZXYiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBiYXNoLWNvbXBsZXRpb24KKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy9zb2Z0d2FyZS8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly9jbGFuZy5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiODQwY2QxMzNiYzBmNzE1YTdlZTQ3OTdkZDlhYzU1NjIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmNmNDAxMjhkODNkMDg3OTQ2YTdkODU3N2U3MzU1MjYyMDJlMDM0ZDUyZjkwMDQ3NzM1MzI5NjA5MDk3YjI4MiIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicW1pL2xpYnFtaS8wMDAxLXFtaS1uZXR3b3JrLURvbi10LWNyZWF0ZS1pbnZhbGlkLXdkcy1zdGFydC1uZXR3b3JrLXcucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnFtaS9saWJxbWkvMDAwMS1xbWktbmV0d29yay1Eb24tdC1jcmVhdGUtaW52YWxpZC13ZHMtc3RhcnQtbmV0d29yay13LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMjMwZDY4Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicW1pL2xpYnFtaS8wMDAxLXFtaS1uZXR3b3JrLURvbi10LWNyZWF0ZS1pbnZhbGlkLXdkcy1zdGFydC1uZXR3b3JrLXcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1Gcm9tIDgyNjlmNGQ4NjkyN2ZiZTE5ZTc4Nzc2YTEyNzM2NjgwZmU5MTY5YjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBZHJpYW4gQnVuayA8YnVua0BzdHVzdGEuZGU+Ci1EYXRlOiBNb24sIDEgT2N0IDIwMTggMTY6NTM6MzEgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSF0gcW1pLW5ldHdvcms6IERvbid0IGNyZWF0ZSBpbnZhbGlkIC0td2RzLXN0YXJ0LW5ldHdvcmsgd2hlbgotIEFQTiBpcyBub3Qgc2V0Ci0KLUluIDEuMjAuMiB0aGUgd2FybmluZyBmb3IgdGhpcyB3YXMgdHVybmVkIGludG8gYW4gZXJyb3IuCi0KLShjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDI4OWQ4YWQ2NDE5ODk1ZTJlMWZiYTNkNzhhNTRhMGRiNjVkYTUyMWQpCi0tLS0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotIHV0aWxzL3FtaS1uZXR3b3JrLmluIHwgMTIgKysrKysrKy0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3V0aWxzL3FtaS1uZXR3b3JrLmluIGIvdXRpbHMvcW1pLW5ldHdvcmsuaW4KLWluZGV4IGJmN2JlZDkuLmE5ZTUyOTkgMTAwNzU1Ci0tLS0gYS91dGlscy9xbWktbmV0d29yay5pbgotKysrIGIvdXRpbHMvcW1pLW5ldHdvcmsuaW4KLUBAIC0zMzQsMTEgKzMzNCwxMyBAQCBzdGFydF9uZXR3b3JrICgpCi0gCi0gICAgIHNldHVwX2RhdGFfZm9ybWF0Ci0gCi0tICAgIFNUQVJUX05FVFdPUktfQVJHUz0iYXBuPSckQVBOJyIKLS0gICAgaWYgWyAtbiAiJEFQTl9VU0VSIiBdOyB0aGVuCi0tICAgICAgICBTVEFSVF9ORVRXT1JLX0FSR1M9IiR7U1RBUlRfTkVUV09SS19BUkdTfSx1c2VybmFtZT0nJEFQTl9VU0VSJyIKLS0gICAgICAgIGlmIFsgLW4gIiRBUE5fUEFTUyIgXTsgdGhlbgotLSAgICAgICAgICAgIFNUQVJUX05FVFdPUktfQVJHUz0iJHtTVEFSVF9ORVRXT1JLX0FSR1N9LHBhc3N3b3JkPSckQVBOX1BBU1MnIgotKyAgICBpZiBbIC1uICIkQVBOIiBdOyB0aGVuCi0rICAgICAgICBTVEFSVF9ORVRXT1JLX0FSR1M9ImFwbj0nJEFQTiciCi0rICAgICAgICBpZiBbIC1uICIkQVBOX1VTRVIiIF07IHRoZW4KLSsgICAgICAgICAgICBTVEFSVF9ORVRXT1JLX0FSR1M9IiR7U1RBUlRfTkVUV09SS19BUkdTfSx1c2VybmFtZT0nJEFQTl9VU0VSJyIKLSsgICAgICAgICAgICBpZiBbIC1uICIkQVBOX1BBU1MiIF07IHRoZW4KLSsgICAgICAgICAgICAgICAgU1RBUlRfTkVUV09SS19BUkdTPSIke1NUQVJUX05FVFdPUktfQVJHU30scGFzc3dvcmQ9JyRBUE5fUEFTUyciCi0rICAgICAgICAgICAgZmkKLSAgICAgICAgIGZpCi0gICAgIGZpCi0gCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicW1pL2xpYnFtaV8xLjIwLjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnFtaS9saWJxbWlfMS4yMC4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMGJjODFjLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicW1pL2xpYnFtaV8xLjIwLjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1TVU1NQVJZID0gImxpYnFtaSBpcyBhIGxpYnJhcnkgZm9yIHRhbGtpbmcgdG8gV1dBTiBkZXZpY2VzIGJ5IFFNSSBwcm90b2NvbCIKLURFU0NSSVBUSU9OID0gImxpYnFtaSBpcyBhIGdsaWItYmFzZWQgbGlicmFyeSBmb3IgdGFsa2luZyB0byBXV0FOIG1vZGVtcyBhbmQgZGV2aWNlcyB3aGljaCBzcGVhayB0aGUgUXVhbGNvbW0gTVNNIEludGVyZmFjZSAoUU1JKSBwcm90b2NvbCIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3dpa2kvU29mdHdhcmUvbGlicW1pIgotTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgotTElDX0ZJTEVTX0NIS1NVTSA9ICIgXAotICAgIGZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCi0gICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyBcCi0iCi0KLURFUEVORFMgPSAiZ2xpYi0yLjAgZ2xpYi0yLjAtbmF0aXZlIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgYmFzaC1jb21wbGV0aW9uCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1xbWktbmV0d29yay1Eb24tdC1jcmVhdGUtaW52YWxpZC13ZHMtc3RhcnQtbmV0d29yay13LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRGV0ZWN0LWNsYW5nLnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gIjU4NDIxNDQ3NmFiNzVjMzk0MTYwY2I4NWZiY2NhYTFkIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImM3MzQ1OWNhOGJmZTEyMTNmODA0Nzg1OGQ0OTQ2ZmMxZjU4ZTE2NGQ0ZjQ4OGE3YTY5MDRlZGVlMjVlMmNhNDQiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICJ1ZGV2IG1iaW0iCi1QQUNLQUdFQ09ORklHW3VkZXZdID0gIiwtLXdpdGhvdXQtdWRldixsaWJndWRldiIKLVBBQ0tBR0VDT05GSUdbbWJpbV0gPSAiLS1lbmFibGUtbWJpbS1xbXV4LC0tZGlzYWJsZS1tYmltLXFtdXgsbGlibWJpbSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicW1pL2xpYnFtaV8xLjIyLjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnFtaS9saWJxbWlfMS4yMi4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhMTMyODYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnFtaS9saWJxbWlfMS4yMi4yLmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAibGlicW1pIGlzIGEgbGlicmFyeSBmb3IgdGFsa2luZyB0byBXV0FOIGRldmljZXMgYnkgUU1JIHByb3RvY29sIgorREVTQ1JJUFRJT04gPSAibGlicW1pIGlzIGEgZ2xpYi1iYXNlZCBsaWJyYXJ5IGZvciB0YWxraW5nIHRvIFdXQU4gbW9kZW1zIGFuZCBkZXZpY2VzIHdoaWNoIHNwZWFrIHRoZSBRdWFsY29tbSBNU00gSW50ZXJmYWNlIChRTUkpIHByb3RvY29sIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvd2lraS9Tb2Z0d2FyZS9saWJxbWkiCitMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gIiBcCisgICAgZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKKyAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIFwKKyIKKworREVQRU5EUyA9ICJnbGliLTIuMCBnbGliLTIuMC1uYXRpdmUiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBiYXNoLWNvbXBsZXRpb24KKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy9zb2Z0d2FyZS8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLURldGVjdC1jbGFuZy5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICIzZmQ4MzFjMWIwZGU0YTQ0MzJiZTYyODQzMmE5NjBmZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmMWYxZTUxNGE4OWIxZGNiYTA1Y2Y3Mjc0ODk1ZTczMDFhMmRhNGM5NDdiN2MyZjE3YWNiODRmYzc0MDM4MjI3IgorCitQQUNLQUdFQ09ORklHID8/PSAidWRldiBtYmltIgorUEFDS0FHRUNPTkZJR1t1ZGV2XSA9ICIsLS13aXRob3V0LXVkZXYsbGliZ3VkZXYiCitQQUNLQUdFQ09ORklHW21iaW1dID0gIi0tZW5hYmxlLW1iaW0tcW11eCwtLWRpc2FibGUtbWJpbS1xbXV4LGxpYm1iaW0iCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlidXYvbGlidXZfMS4yMC4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJ1di9saWJ1dl8xLjIwLjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGExMWZmOWQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJ1di9saWJ1dl8xLjIwLjMuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1TVU1NQVJZID0gIkEgbXVsdGktcGxhdGZvcm0gc3VwcG9ydCBsaWJyYXJ5IHdpdGggYSBmb2N1cyBvbiBhc3luY2hyb25vdXMgSS9PIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2xpYnV2L2xpYnV2IgotQlVHVFJBQ0tFUiA9ICJodHRwczovL2dpdGh1Yi5jb20vbGlidXYvbGlidXYvaXNzdWVzIgotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1hNjg5MDJhNDMwZTMyMjAwMjYzZDE4MmQ0NDkyNGQ0NyIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLVNSQ1JFViA9ICI4Y2ZkNjdlNTkxOTUyNTFkZmY3OTNlZTQ3YzE4NWM5ZDZhOGYzODE4IgotQlJBTkNIID0gInYxLngiCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbGlidXYvbGlidXYuZ2l0O3Byb3RvY29sPWh0dHBzO2JyYW5jaD0ke0JSQU5DSH07IgotCi1pbmhlcml0IGF1dG90b29scwotCi1kb19jb25maWd1cmUoKSB7Ci0gICAgJHtTfS9hdXRvZ2VuLnNoIHx8IGJibm90ZSAiJHtQTn0gZmFpbGVkIHRvIGF1dG9nZW4uc2giCi0gICAgb2VfcnVuY29uZgotfQotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlidXYvbGlidXZfMS4yNy4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJ1di9saWJ1dl8xLjI3LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzgyMzk0NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlidXYvbGlidXZfMS4yNy4wLmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiQSBtdWx0aS1wbGF0Zm9ybSBzdXBwb3J0IGxpYnJhcnkgd2l0aCBhIGZvY3VzIG9uIGFzeW5jaHJvbm91cyBJL08iCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vbGlidXYvbGlidXYiCitCVUdUUkFDS0VSID0gImh0dHBzOi8vZ2l0aHViLmNvbS9saWJ1di9saWJ1di9pc3N1ZXMiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWE2ODkwMmE0MzBlMzIyMDAyNjNkMTgyZDQ0OTI0ZDQ3IgorCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9saWJ1di9saWJ1di9hcmNoaXZlL3Yke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiY2MyY2YyNTk0NDJmYmU4NTQwNGU3NTY5MWU4MjQ0ZTEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGFmY2RjODRjZDMxNWI3N2M4ZTUzMmU3YjNmZGU0M2Q1MzZhZjBlMmU4MzVlYWZiZDBlNzU1MThlZDI2ZGJlZCIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworZG9fY29uZmlndXJlKCkgeworICAgICR7U30vYXV0b2dlbi5zaCB8fCBiYm5vdGUgIiR7UE59IGZhaWxlZCB0byBhdXRvZ2VuLnNoIgorICAgIG9lX3J1bmNvbmYKK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYndlYnNvY2tldHMvbGlid2Vic29ja2V0c18zLjAuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlid2Vic29ja2V0cy9saWJ3ZWJzb2NrZXRzXzMuMC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMzg0MTQ4Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlid2Vic29ja2V0cy9saWJ3ZWJzb2NrZXRzXzMuMC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotU1VNTUFSWSA9ICJDYW5vbmljYWwgbGlid2Vic29ja2V0cy5vcmcgd2Vic29ja2V0IGxpYnJhcnkiCi1IT01FUEFHRSA9ICJodHRwczovL2xpYndlYnNvY2tldHMub3JnLyIKLUxJQ0VOU0UgPSAiTEdQTC0yLjEiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT00Y2U4N2YzZmFjYjZmOTExYzE0MmM4YmVmOWJmYjM4MCIKLQotREVQRU5EUyA9ICJ6bGliIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotU1JDUkVWID0gImVhYTkzNWE4MGFkYjM4YjVjYzRkMDljZTA2ZWM5ODdiODdkY2RkZmEiCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vd2FybWNhdC9saWJ3ZWJzb2NrZXRzLmdpdDtwcm90b2NvbD1odHRwczsiCi0KLWluaGVyaXQgY21ha2UgcGtnY29uZmlnCi0KLVBBQ0tBR0VDT05GSUcgPz0gImxpYnV2IGNsaWVudCBzZXJ2ZXIgaHR0cDIgc3NsIgotUEFDS0FHRUNPTkZJR1tjbGllbnRdID0gIi1ETFdTX1dJVEhPVVRfQ0xJRU5UPU9GRiwtRExXU19XSVRIT1VUX0NMSUVOVD1PTiwiCi1QQUNLQUdFQ09ORklHW2h0dHAyXSA9ICItRExXU19XSVRIX0hUVFAyPU9OLC1ETFdTX1dJVEhfSFRUUDI9T0ZGLCIKLVBBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLURMV1NfSVBWNj1PTiwtRExXU19JUFY2PU9GRiwiCi1QQUNLQUdFQ09ORklHW2xpYmV2XSA9ICItRExXU19XSVRIX0xJQkVWPU9OLC1ETFdTX1dJVEhfTElCRVY9T0ZGLGxpYmV2IgotUEFDS0FHRUNPTkZJR1tsaWJ1dl0gPSAiLURMV1NfV0lUSF9MSUJVVj1PTiwtRExXU19XSVRIX0xJQlVWPU9GRixsaWJ1diIKLVBBQ0tBR0VDT05GSUdbc2VydmVyXSA9ICItRExXU19XSVRIT1VUX1NFUlZFUj1PRkYsLURMV1NfV0lUSE9VVF9TRVJWRVI9T04sIgotUEFDS0FHRUNPTkZJR1tzc2xdID0gIi1ETFdTX1dJVEhfU1NMPU9OLC1ETFdTX1dJVEhfU1NMPU9GRixvcGVuc3NsIgotUEFDS0FHRUNPTkZJR1t0ZXN0YXBwc10gPSAiLURMV1NfV0lUSE9VVF9URVNUQVBQUz1PRkYsLURMV1NfV0lUSE9VVF9URVNUQVBQUz1PTiwiCi0KLVBBQ0tBR0VTID0rICIke1BOfS10ZXN0YXBwcyIKLQotRklMRVNfJHtQTn0tdGVzdGFwcHMgKz0gIiR7ZGF0YWRpcn0vbGlid2Vic29ja2V0cy10ZXN0LXNlcnZlci8qIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJ3ZWJzb2NrZXRzL2xpYndlYnNvY2tldHNfMy4xLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYndlYnNvY2tldHMvbGlid2Vic29ja2V0c18zLjEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MDYyMGQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJ3ZWJzb2NrZXRzL2xpYndlYnNvY2tldHNfMy4xLjAuYmIKQEAgLTAsMCArMSwzMCBAQAorU1VNTUFSWSA9ICJDYW5vbmljYWwgbGlid2Vic29ja2V0cy5vcmcgd2Vic29ja2V0IGxpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwczovL2xpYndlYnNvY2tldHMub3JnLyIKK0xJQ0VOU0UgPSAiTEdQTC0yLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT00Y2U4N2YzZmFjYjZmOTExYzE0MmM4YmVmOWJmYjM4MCIKKworREVQRU5EUyA9ICJ6bGliIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorU1JDUkVWID0gIjg5ZWVkY2FhOTRlMWM4YTk3ZWEzYWYxMDY0MmZkMjI0YmNlYTA2OGYiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vd2FybWNhdC9saWJ3ZWJzb2NrZXRzLmdpdDtwcm90b2NvbD1odHRwczsiCisKK2luaGVyaXQgY21ha2UgcGtnY29uZmlnCisKK1BBQ0tBR0VDT05GSUcgPz0gImxpYnV2IGNsaWVudCBzZXJ2ZXIgaHR0cDIgc3NsIgorUEFDS0FHRUNPTkZJR1tjbGllbnRdID0gIi1ETFdTX1dJVEhPVVRfQ0xJRU5UPU9GRiwtRExXU19XSVRIT1VUX0NMSUVOVD1PTiwiCitQQUNLQUdFQ09ORklHW2h0dHAyXSA9ICItRExXU19XSVRIX0hUVFAyPU9OLC1ETFdTX1dJVEhfSFRUUDI9T0ZGLCIKK1BBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLURMV1NfSVBWNj1PTiwtRExXU19JUFY2PU9GRiwiCitQQUNLQUdFQ09ORklHW2xpYmV2XSA9ICItRExXU19XSVRIX0xJQkVWPU9OLC1ETFdTX1dJVEhfTElCRVY9T0ZGLGxpYmV2IgorUEFDS0FHRUNPTkZJR1tsaWJ1dl0gPSAiLURMV1NfV0lUSF9MSUJVVj1PTiwtRExXU19XSVRIX0xJQlVWPU9GRixsaWJ1diIKK1BBQ0tBR0VDT05GSUdbc2VydmVyXSA9ICItRExXU19XSVRIT1VUX1NFUlZFUj1PRkYsLURMV1NfV0lUSE9VVF9TRVJWRVI9T04sIgorUEFDS0FHRUNPTkZJR1tzc2xdID0gIi1ETFdTX1dJVEhfU1NMPU9OLC1ETFdTX1dJVEhfU1NMPU9GRixvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1t0ZXN0YXBwc10gPSAiLURMV1NfV0lUSE9VVF9URVNUQVBQUz1PRkYsLURMV1NfV0lUSE9VVF9URVNUQVBQUz1PTiwiCisKK0VYVFJBX09FQ01BS0UgKz0gIiBcCisgICAgLURMSUJfU1VGRklYPSR7QGQuZ2V0VmFyKCdiYXNlbGliJykucmVwbGFjZSgnbGliJywgJycpfSBcCisiCisKK1BBQ0tBR0VTID0rICIke1BOfS10ZXN0YXBwcyIKKworRklMRVNfJHtQTn0tdGVzdGFwcHMgKz0gIiR7ZGF0YWRpcn0vbGlid2Vic29ja2V0cy10ZXN0LXNlcnZlci8qIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saW51eHB0cC9saW51eHB0cC8wMDAzLWluY2x1ZGUtbWlzc2luZy10aW1lLmgtZm9yLXRpbWVfdC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGludXhwdHAvbGludXhwdHAvMDAwMy1pbmNsdWRlLW1pc3NpbmctdGltZS5oLWZvci10aW1lX3QucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk2MTYzZjYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saW51eHB0cC9saW51eHB0cC8wMDAzLWluY2x1ZGUtbWlzc2luZy10aW1lLmgtZm9yLXRpbWVfdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLUZyb20gYjM2Y2FmZGJjYmUyMTkzZjViNjY5ZTcwM2M2MDhlMTllMjNmODBhMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBTYXQsIDE1IEp1bCAyMDE3IDExOjE2OjQyIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggMy80XSBpbmNsdWRlIG1pc3NpbmcgdGltZS5oIGZvciB0aW1lX3QKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIHV0aWwuaCB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3V0aWwuaCBiL3V0aWwuaAotaW5kZXggZTkxMmYxOS4uM2M2MzRjMSAxMDA2NDQKLS0tLSBhL3V0aWwuaAotKysrIGIvdXRpbC5oCi1AQCAtMjIsNyArMjIsNyBAQAotIAotICNpbmNsdWRlICJkZHQuaCIKLSAjaW5jbHVkZSAiZXRoZXIuaCIKLS0KLSsjaW5jbHVkZSA8dGltZS5oPgotIC8qKgotICAqIFRhYmxlIG9mIGh1bWFuIHJlYWRhYmxlIHN0cmluZ3MsIG9uZSBmb3IgZWFjaCBwb3J0IHN0YXRlLgotICAqLwotLS0gCi0yLjEzLjMKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saW51eHB0cC9saW51eHB0cC8wMDA0LUFkanVzdC1pbmNsdWRlLWhlYWRlci1zZXF1ZW5jZS10by1hdm9pZC1kdXBsaWNhdGUtZGUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpbnV4cHRwL2xpbnV4cHRwLzAwMDQtQWRqdXN0LWluY2x1ZGUtaGVhZGVyLXNlcXVlbmNlLXRvLWF2b2lkLWR1cGxpY2F0ZS1kZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTY5OTI3NS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpbnV4cHRwL2xpbnV4cHRwLzAwMDQtQWRqdXN0LWluY2x1ZGUtaGVhZGVyLXNlcXVlbmNlLXRvLWF2b2lkLWR1cGxpY2F0ZS1kZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLUZyb20gM2NkMjhhYTc3MTkzNGQ5MTY1ZmYwZDdlMTk5MzJjZGU2NWRlM2U1MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBTYXQsIDE1IEp1bCAyMDE3IDExOjE2OjU3IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggNC80XSBBZGp1c3QgaW5jbHVkZSBoZWFkZXIgc2VxdWVuY2UgdG8gYXZvaWQgZHVwbGljYXRlCi0gZGVmaW5pdGlvbnMgb24gbXVzbAotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gcmF3LmMgfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvcmF3LmMgYi9yYXcuYwotaW5kZXggZjUxYzgyOS4uNDk0ZWE3ZiAxMDA2NDQKLS0tLSBhL3Jhdy5jCi0rKysgYi9yYXcuYwotQEAgLTE4LDggKzE4LDYgQEAKLSAgKi8KLSAjaW5jbHVkZSA8ZXJybm8uaD4KLSAjaW5jbHVkZSA8ZmNudGwuaD4KLS0jaW5jbHVkZSA8bGludXgvZmlsdGVyLmg+Ci0tI2luY2x1ZGUgPGxpbnV4L2lmX2V0aGVyLmg+Ci0gI2luY2x1ZGUgPG5ldC9ldGhlcm5ldC5oPgotICNpbmNsdWRlIDxuZXQvaWYuaD4KLSAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgotQEAgLTMyLDYgKzMwLDggQEAKLSAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0gI2luY2x1ZGUgPHVuaXN0ZC5oPgotIAotKyNpbmNsdWRlIDxsaW51eC9maWx0ZXIuaD4KLSsjaW5jbHVkZSA8bGludXgvaWZfZXRoZXIuaD4KLSAjaW5jbHVkZSA8bGludXgvZXJycXVldWUuaD4KLSAjaW5jbHVkZSA8bGludXgvbmV0X3RzdGFtcC5oPgotICNpbmNsdWRlIDxsaW51eC9zb2NraW9zLmg+Ci0tLSAKLTIuMTMuMwotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpbnV4cHRwL2xpbnV4cHRwXzEuOC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGludXhwdHAvbGludXhwdHBfMS44LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjN2I4YjI5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGludXhwdHAvbGludXhwdHBfMS44LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiUHJlY2lzaW9uIFRpbWUgUHJvdG9jb2wgKFBUUCkgYWNjb3JkaW5nIHRvIElFRUUgc3RhbmRhcmQgMTU4OCBmb3IgTGludXgiCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saW51eHB0cC9maWxlcy92JHtQVn0vbGludXhwdHAtJHtQVn0udGd6IFwKLSAgICAgICAgICAgZmlsZTovL2J1aWxkLUFsbG93LUNDLWFuZC1wcmVmaXgtdG8tYmUtb3ZlcnJpZGVuLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL25vLWluY2RlZnMtdXNpbmctaG9zdC1oZWFkZXJzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtaW5jbHVkZS1taXNzaW5nLXRpbWUuaC1mb3ItdGltZV90LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDQtQWRqdXN0LWluY2x1ZGUtaGVhZGVyLXNlcXVlbmNlLXRvLWF2b2lkLWR1cGxpY2F0ZS1kZS5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gIjU2ODhjZGZlNTc5MzIyNzNlMWRiZjM1YjNiOTdiOWEwIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImZhOGUwMGY2ZWM3M2NlZmE3YmIzMTNkY2U3ZjYwZGZlNWViOWUyYmRlMzM1MzU5NGU5YWMxOGVkYzkzZTUxNjUiCi0KLUVYVFJBX09FTUFLRSA9ICJBUkNIPSR7VEFSR0VUX0FSQ0h9IFwKLSAgICBFWFRSQV9DRkxBR1M9Jy1EX0dOVV9TT1VSQ0UgLURIQVZFX0NMT0NLX0FESlRJTUUgLURIQVZFX1BPU0lYX1NQQVdOIC1ESEFWRV9PTkVTVEVQX1NZTkMgJHtDRkxBR1N9JyIKLQotZG9faW5zdGFsbCAoKSB7Ci0gICAgaW5zdGFsbCAtZCAke0R9LyR7YmluZGlyfQotICAgIGluc3RhbGwgLXAgJHtTfS9wdHA0bCAgJHtEfS8ke2JpbmRpcn0KLSAgICBpbnN0YWxsIC1wICR7U30vcG1jICAke0R9LyR7YmluZGlyfQotICAgIGluc3RhbGwgLXAgJHtTfS9waGMyc3lzICAke0R9LyR7YmluZGlyfQotICAgIGluc3RhbGwgLXAgJHtTfS9od3N0YW1wX2N0bCAgJHtEfS8ke2JpbmRpcn0KLX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGludXhwdHAvbGludXhwdHBfMi4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saW51eHB0cC9saW51eHB0cF8yLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWIyNjJkMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGludXhwdHAvbGludXhwdHBfMi4wLmJiCkBAIC0wLDAgKzEsMjIgQEAKK0RFU0NSSVBUSU9OID0gIlByZWNpc2lvbiBUaW1lIFByb3RvY29sIChQVFApIGFjY29yZGluZyB0byBJRUVFIHN0YW5kYXJkIDE1ODggZm9yIExpbnV4IgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitTUkNfVVJJID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGludXhwdHAvZmlsZXMvdiR7UFZ9L2xpbnV4cHRwLSR7UFZ9LnRneiBcCisgICAgICAgICAgIGZpbGU6Ly9idWlsZC1BbGxvdy1DQy1hbmQtcHJlZml4LXRvLWJlLW92ZXJyaWRlbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9uby1pbmNkZWZzLXVzaW5nLWhvc3QtaGVhZGVycy5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gImQ4YmI3Mzc0OTQzYmI3NDdkYjc3ODZhYzI2ZjE3ZjExIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBhMjRkOTQwMWU4N2Q0YWYwMjNkMjAxZTIzNGQ5MTEyN2Q4MmMzNTBkYWFkOTM0MzIxMDYyODRhYTk0NTljN2QiCisKK0VYVFJBX09FTUFLRSA9ICJBUkNIPSR7VEFSR0VUX0FSQ0h9IFwKKyAgICBFWFRSQV9DRkxBR1M9Jy1EX0dOVV9TT1VSQ0UgLURIQVZFX0NMT0NLX0FESlRJTUUgLURIQVZFX1BPU0lYX1NQQVdOIC1ESEFWRV9PTkVTVEVQX1NZTkMgJHtDRkxBR1N9JyIKKworZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9LyR7YmluZGlyfQorICAgIGluc3RhbGwgLXAgJHtTfS9wdHA0bCAgJHtEfS8ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1wICR7U30vcG1jICAke0R9LyR7YmluZGlyfQorICAgIGluc3RhbGwgLXAgJHtTfS9waGMyc3lzICAke0R9LyR7YmluZGlyfQorICAgIGluc3RhbGwgLXAgJHtTfS9od3N0YW1wX2N0bCAgJHtEfS8ke2JpbmRpcn0KK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9kZW1tYW5hZ2VyL21vZGVtbWFuYWdlci8wMDAxLURvLW5vdC1wYXNzLW51bGwtc3RyaW5nLXRvLXMtcHJpbnRmLWZvcm1hdHRlZC1zdHJpbmcucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vZGVtbWFuYWdlci9tb2RlbW1hbmFnZXIvMDAwMS1Eby1ub3QtcGFzcy1udWxsLXN0cmluZy10by1zLXByaW50Zi1mb3JtYXR0ZWQtc3RyaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmYmFmYmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vZGVtbWFuYWdlci9tb2RlbW1hbmFnZXIvMDAwMS1Eby1ub3QtcGFzcy1udWxsLXN0cmluZy10by1zLXByaW50Zi1mb3JtYXR0ZWQtc3RyaW5nLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gYjg4NjJlNmFmMWM2ZDAyMmI4YzE4MjA5OGU3ZGVkZGI4NzRlY2UxOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDE4IERlYyAyMDE4IDIzOjEwOjQ0IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIERvIG5vdCBwYXNzIG51bGwgc3RyaW5nIHRvICVzIHByaW50ZiBmb3JtYXR0ZWQgc3RyaW5nCisKK0hlcmUgdGhlIHN0cmluZyBpcyBhbHJlYWR5IGRlY2lkZWQgdG8gYmUgTlVMTCBhbmQgcGFzc2luZworYSBudWxsIHBvaW50ZXIgdG8gJXMgd2lsbCBub3Qgd29yaworCitGaXhlcworZXJyb3I6ICclcycgZGlyZWN0aXZlIGFyZ3VtZW50IGlzIG51bGwKKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9tb2JpbGUtYnJvYWRiYW5kL01vZGVtTWFuYWdlci9tZXJnZV9yZXF1ZXN0cy82N10KKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIHBsdWdpbnMvbXRrL21tLWJyb2FkYmFuZC1tb2RlbS1tdGsuYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3BsdWdpbnMvbXRrL21tLWJyb2FkYmFuZC1tb2RlbS1tdGsuYyBiL3BsdWdpbnMvbXRrL21tLWJyb2FkYmFuZC1tb2RlbS1tdGsuYworaW5kZXggNDc1YTYzYWMuLjU0MWRlNGE1IDEwMDY0NAorLS0tIGEvcGx1Z2lucy9tdGsvbW0tYnJvYWRiYW5kLW1vZGVtLW10ay5jCisrKysgYi9wbHVnaW5zL210ay9tbS1icm9hZGJhbmQtbW9kZW0tbXRrLmMKK0BAIC0xOTEsNyArMTkxLDcgQEAgZ2V0X3N1cHBvcnRlZF9tb2Rlc19yZWFkeSAoTU1CYXNlTW9kZW0gKnNlbGYsCisgCisgICAgIHJlc3BvbnNlID0gbW1fYmFzZV9tb2RlbV9hdF9jb21tYW5kX2ZpbmlzaCAoTU1fQkFTRV9NT0RFTSAoc2VsZiksIHJlcywgJmVycm9yKTsKKyAgICAgaWYgKCFyZXNwb25zZSkgeworLSAgICAgICAgbW1fZGJnICgiRmFpbCB0byBnZXQgcmVzcG9uc2UgJXMiLCByZXNwb25zZSk7CisrICAgICAgICBtbV9kYmcgKCJGYWlsIHRvIGdldCByZXNwb25zZSIpOworICAgICAgICAgZ190YXNrX3JldHVybl9lcnJvciAodGFzaywgZXJyb3IpOworICAgICAgICAgZ19vYmplY3RfdW5yZWYgKHRhc2spOworICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb2RlbW1hbmFnZXIvbW9kZW1tYW5hZ2VyXzEuOC4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb2RlbW1hbmFnZXIvbW9kZW1tYW5hZ2VyXzEuOC4yLmJiCmluZGV4IDAxYzYyMTQuLmY5YjMwMmEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9kZW1tYW5hZ2VyL21vZGVtbWFuYWdlcl8xLjguMi5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vZGVtbWFuYWdlci9tb2RlbW1hbmFnZXJfMS44LjIuYmIKQEAgLTksMTAgKzksMTEgQEAKIAogaW5oZXJpdCBnbm9tZWJhc2UgZ2V0dGV4dCBzeXN0ZW1kIHZhbGEgZ29iamVjdC1pbnRyb3NwZWN0aW9uIGJhc2gtY29tcGxldGlvbgogCi1ERVBFTkRTID0gImdsaWItMi4wIGxpYmd1ZGV2IGRidXMtZ2xpYiBpbnRsdG9vbC1uYXRpdmUiCitERVBFTkRTID0gImdsaWItMi4wIGxpYmd1ZGV2IGRidXMtZ2xpYiBpbnRsdG9vbC1uYXRpdmUgbGlieHNsdC1uYXRpdmUiCiAKIFNSQ19VUkkgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvTW9kZW1NYW5hZ2VyL01vZGVtTWFuYWdlci0ke1BWfS50YXIueHogXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3Qtc2V0LVduby11bnVzZWQtYnV0LXNldC12YXJpYWJsZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC1wYXNzLW51bGwtc3RyaW5nLXRvLXMtcHJpbnRmLWZvcm1hdHRlZC1zdHJpbmcucGF0Y2ggXAogICAgICAgICAgICAiCiAKIFNSQ19VUklbbWQ1c3VtXSA9ICJhNDljOWY3M2U0NmM3Yjg5ZTVlZmVkZGEyNTBkMjJjMCIKQEAgLTIwLDE0ICsyMSwxNCBAQAogCiBTID0gIiR7V09SS0RJUn0vTW9kZW1NYW5hZ2VyLSR7UFZ9IgogCi1QQUNLQUdFQ09ORklHID8/PSAibWJpbSBxbWkgcG9sa2l0IFwKLSAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgZCl9IFwKK1BBQ0tBR0VDT05GSUcgPz89ICJtYmltIHFtaSBcCisgICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCBwb2xraXQnLCBkKX0gXAogIgogCiBQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLywsIgogUEFDS0FHRUNPTkZJR1twb2xraXRdID0gIi0td2l0aC1wb2xraXQ9eWVzLC0td2l0aC1wb2xraXQ9bm8scG9sa2l0IgogIyBTdXBwb3J0IFdXQU4gbW9kZW1zIGFuZCBkZXZpY2VzIHdoaWNoIHNwZWFrIHRoZSBNb2JpbGUgSW50ZXJmYWNlIEJyb2FkYmFuZCBNb2RlbCAoTUJJTSkgcHJvdG9jb2wuCi1QQUNLQUdFQ09ORklHW21iaW1dID0gIi0td2l0aC1tYmltLC0td2l0aC1tYmltPW5vLGxpYm1iaW0iCitQQUNLQUdFQ09ORklHW21iaW1dID0gIi0td2l0aC1tYmltLC0td2l0aG91dC1tYmltLGxpYm1iaW0iCiAjIFN1cHBvcnQgV1dBTiBtb2RlbXMgYW5kIGRldmljZXMgd2hpY2ggc3BlYWsgdGhlIFF1YWxjb21tIE1TTSBJbnRlcmZhY2UgKFFNSSkgcHJvdG9jb2wuCiBQQUNLQUdFQ09ORklHW3FtaV0gPSAiLS13aXRoLXFtaSwtLXdpdGhvdXQtcW1pLGxpYnFtaSIKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb3NoL21vc2gvMDAwMS1GaXgtYnVpbGRpbmctd2l0aC1saWJjLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb3NoL21vc2gvMDAwMS1GaXgtYnVpbGRpbmctd2l0aC1saWJjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwMGVkZTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vc2gvbW9zaC8wMDAxLUZpeC1idWlsZGluZy13aXRoLWxpYmMucGF0Y2gKQEAgLTAsMCArMSwyNCBAQAorRnJvbSBlZmE5ZTQ5NzE0YjMwZDdkOTEyODk0NmEyNTA0YzkzZTEwZDEwOWI1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMjkgSmFuIDIwMTkgMTI6MjA6MDMgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IGJ1aWxkaW5nIHdpdGggbGliYysrCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9uZXR3b3JrL25ldHdvcmsuY2MgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvbmV0d29yay9uZXR3b3JrLmNjIGIvc3JjL25ldHdvcmsvbmV0d29yay5jYworaW5kZXggMjZkYTYwMy4uZTQ4MDg1MyAxMDA2NDQKKy0tLSBhL3NyYy9uZXR3b3JrL25ldHdvcmsuY2MKKysrKyBiL3NyYy9uZXR3b3JrL25ldHdvcmsuY2MKK0BAIC0zMzUsNyArMzM1LDcgQEAgYm9vbCBDb25uZWN0aW9uOjp0cnlfYmluZCggY29uc3QgY2hhciAqYWRkciwgaW50IHBvcnRfbG93LCBpbnQgcG9ydF9oaWdoICkKKyAgICAgICB9CisgICAgIH0KKyAKKy0gICAgaWYgKCBiaW5kKCBzb2NrKCksICZsb2NhbF9hZGRyLnNhLCBsb2NhbF9hZGRyX2xlbiApID09IDAgKSB7CisrICAgIGlmICggOjpiaW5kKCBzb2NrKCksICZsb2NhbF9hZGRyLnNhLCBsb2NhbF9hZGRyX2xlbiApID09IDAgKSB7CisgICAgICAgc2V0X01UVSggbG9jYWxfYWRkci5zYS5zYV9mYW1pbHkgKTsKKyAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgfSBlbHNlIGlmICggaSA9PSBzZWFyY2hfaGlnaCApIHsgLyogbGFzdCBwb3J0IHRvIHNlYXJjaCAqLwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb3NoL21vc2hfMS4zLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vc2gvbW9zaF8xLjMuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWZjODQzNS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vc2gvbW9zaF8xLjMuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLSMgTk9URTogbW9zaC1zZXJ2ZXIgcmVxdWlyZXMgYSBVVEYtOCBsb2NhbGUsIGJ1dCB0aGVyZSdzIG5vIHdheSB0byBhZGQKLSMgYW4gZXhwbGljaXQgZGVwZW5kZW5jeSBmb3IgdGhpcyBzbyB5b3UgbmVlZCB0byBlbnN1cmUgdGhpcyBpcyBpbiB5b3VyCi0jIGltYWdlIHlvdXJzZWxmIHdoZW4geW91IGluc3RhbGwgbW9zaC1zZXJ2ZXIuCi0KLVNVTU1BUlkgPSAiUmVtb3RlIHNoZWxsIHN1cHBvcnRpbmcgcm9hbWluZyBhbmQgaGlnaC1sYXRlbmN5IGNvbm5lY3Rpb25zIgotREVTQ1JJUFRJT04gPSAiUmVtb3RlIHRlcm1pbmFsIGFwcGxpY2F0aW9uIHRoYXQgYWxsb3dzIHJvYW1pbmcsIHN1cHBvcnRzIFwKLWludGVybWl0dGVudCBjb25uZWN0aXZpdHksIGFuZCBwcm92aWRlcyBpbnRlbGxpZ2VudCBsb2NhbCBlY2hvIGFuZCBsaW5lIFwKLWVkaXRpbmcgb2YgdXNlciBrZXlzdHJva2VzLiBNb3NoIGlzIGEgcmVwbGFjZW1lbnQgZm9yIFNTSC4gSXQncyBtb3JlIFwKLXJvYnVzdCBhbmQgcmVzcG9uc2l2ZSwgZXNwZWNpYWxseSBvdmVyIFdpLUZpLCBjZWxsdWxhciwgYW5kIFwKLWxvbmctZGlzdGFuY2UgbGlua3MuIgotSE9NRVBBR0UgPSAiaHR0cDovL21vc2gubWl0LmVkdSIKLUxJQ0VOU0UgPSAiR1BMdjMrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCi0KLURFUEVORFMgPSAicHJvdG9idWYtbmF0aXZlIHByb3RvYnVmIG5jdXJzZXMgemxpYiBsaWJpby1wdHktcGVybCBvcGVuc3NsIGxpYnV0ZW1wdGVyIgotCi1TUkNfVVJJID0gImh0dHA6Ly9tb3NoLm1pdC5lZHUvbW9zaC0ke1BWfS50YXIuZ3oiCi1TUkNfVVJJW21kNXN1bV0gPSAiZDk2MTI3Njk5NTkzNjk1M2JmMmQ1YTc5NDA2OGIwNzYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzIwZTEyZjQ2MWU1NWQ3MTU2NjU5Nzk3NmJkOTQ0MGJhNmM1MjY1ZmE2OGZiZjYxNGM2ZjFjODQwMWY5MzM3NiIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCi0KLVBBQ0tBR0VfQkVGT1JFX1BOICs9ICIke1BOfS1zZXJ2ZXIiCi1GSUxFU18ke1BOfS1zZXJ2ZXIgPSAiJHtiaW5kaXJ9L21vc2gtc2VydmVyIgotCi1ORUVERURfUEVSTF9NT0RVTEVTID0gIlwKLSAgICBwZXJsLW1vZHVsZS1zb2NrZXQgXAotICAgIHBlcmwtbW9kdWxlLWdldG9wdC1sb25nIFwKLSAgICBwZXJsLW1vZHVsZS1lcnJubyBcCi0gICAgcGVybC1tb2R1bGUtaW8tc29ja2V0LWluZXQgXAotICAgIHBlcmwtbW9kdWxlLXBvc2l4IFwKLSIKLQotIyBtb3NoIHVzZXMgU1NIIHRvIGF1dGhlbnRpY2F0ZSBhbmQgdGhlIGNsaWVudCB1c2VzIE9wZW5TU0gtc3BlY2lmaWMgZmVhdHVyZXMKLVJERVBFTkRTXyR7UE59ICs9ICJvcGVuc3NoLXNzaCAke05FRURFRF9QRVJMX01PRFVMRVN9IgotIyBUaGUgc2VydmVyIHNlZW1lZCBub3QgdG8gd29yayB3aXRoIGRyb3BiZWFyIGVpdGhlcgotUkRFUEVORFNfJHtQTn0tc2VydmVyICs9ICJvcGVuc3NoLXNzaGQgJHtORUVERURfUEVSTF9NT0RVTEVTfSIKLQotIyBGYWlscyB0byBidWlsZCB3aXRoIHRodW1iLTEgKHFlbXVhcm0pCi0jfCB7c3RhbmRhcmQgaW5wdXR9OiBBc3NlbWJsZXIgbWVzc2FnZXM6Ci0jfCB7c3RhbmRhcmQgaW5wdXR9OjIxMDA6IEVycm9yOiBpbnN0cnVjdGlvbiBub3Qgc3VwcG9ydGVkIGluIFRodW1iMTYgbW9kZSAtLSBgYWRkcyByNCxyNCxyNCcKLSN8IHtzdGFuZGFyZCBpbnB1dH06MjEwMTogRXJyb3I6IGluc3RydWN0aW9uIG5vdCBzdXBwb3J0ZWQgaW4gVGh1bWIxNiBtb2RlIC0tIGBhZGNzIHI1LHI1LHI1JwotI3wge3N0YW5kYXJkIGlucHV0fToyMTAyOiBFcnJvcjogaW5zdHJ1Y3Rpb24gbm90IHN1cHBvcnRlZCBpbiBUaHVtYjE2IG1vZGUgLS0gYGFkY3MgcjYscjYscjYnCi0jfCB7c3RhbmRhcmQgaW5wdXR9OjIxMDM6IEVycm9yOiBpbnN0cnVjdGlvbiBub3Qgc3VwcG9ydGVkIGluIFRodW1iMTYgbW9kZSAtLSBgYWRjcyByNyxyNyxyNycKLSN8IHtzdGFuZGFyZCBpbnB1dH06MjEwNDogRXJyb3I6IHNlbGVjdGVkIHByb2Nlc3NvciBkb2VzIG5vdCBzdXBwb3J0IFRodW1iIG1vZGUgYGl0IGNzJwotQVJNX0lOU1RSVUNUSU9OX1NFVCA9ICJhcm0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vc2gvbW9zaF8xLjMuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9zaC9tb3NoXzEuMy4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljNDM5MzUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vc2gvbW9zaF8xLjMuMi5iYgpAQCAtMCwwICsxLDQ4IEBACisjIE5PVEU6IG1vc2gtc2VydmVyIHJlcXVpcmVzIGEgVVRGLTggbG9jYWxlLCBidXQgdGhlcmUncyBubyB3YXkgdG8gYWRkCisjIGFuIGV4cGxpY2l0IGRlcGVuZGVuY3kgZm9yIHRoaXMgc28geW91IG5lZWQgdG8gZW5zdXJlIHRoaXMgaXMgaW4geW91cgorIyBpbWFnZSB5b3Vyc2VsZiB3aGVuIHlvdSBpbnN0YWxsIG1vc2gtc2VydmVyLgorCitTVU1NQVJZID0gIlJlbW90ZSBzaGVsbCBzdXBwb3J0aW5nIHJvYW1pbmcgYW5kIGhpZ2gtbGF0ZW5jeSBjb25uZWN0aW9ucyIKK0RFU0NSSVBUSU9OID0gIlJlbW90ZSB0ZXJtaW5hbCBhcHBsaWNhdGlvbiB0aGF0IGFsbG93cyByb2FtaW5nLCBzdXBwb3J0cyBcCitpbnRlcm1pdHRlbnQgY29ubmVjdGl2aXR5LCBhbmQgcHJvdmlkZXMgaW50ZWxsaWdlbnQgbG9jYWwgZWNobyBhbmQgbGluZSBcCitlZGl0aW5nIG9mIHVzZXIga2V5c3Ryb2tlcy4gTW9zaCBpcyBhIHJlcGxhY2VtZW50IGZvciBTU0guIEl0J3MgbW9yZSBcCityb2J1c3QgYW5kIHJlc3BvbnNpdmUsIGVzcGVjaWFsbHkgb3ZlciBXaS1GaSwgY2VsbHVsYXIsIGFuZCBcCitsb25nLWRpc3RhbmNlIGxpbmtzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9tb3NoLm1pdC5lZHUiCitMSUNFTlNFID0gIkdQTHYzKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitERVBFTkRTID0gInByb3RvYnVmLW5hdGl2ZSBwcm90b2J1ZiBuY3Vyc2VzIHpsaWIgbGliaW8tcHR5LXBlcmwgb3BlbnNzbCBsaWJ1dGVtcHRlciIKKworU1JDX1VSSSA9ICJodHRwOi8vbW9zaC5taXQuZWR1L21vc2gtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWJ1aWxkaW5nLXdpdGgtbGliYy5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1MTIyZjRkMmI5NzNhYjdjMzhkY2RhYzhjMzVjYjYxZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkYTYwMDU3M2RmYTgyN2Q4OGNlMTE0ZTBmZWQzMDIxMDY4OTM4MWJiZGNmZjU0M2M5MzFlNGQ2YTJlODUxMjE2IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworUEFDS0FHRV9CRUZPUkVfUE4gKz0gIiR7UE59LXNlcnZlciIKK0ZJTEVTXyR7UE59LXNlcnZlciA9ICIke2JpbmRpcn0vbW9zaC1zZXJ2ZXIiCisKK05FRURFRF9QRVJMX01PRFVMRVMgPSAiXAorICAgIHBlcmwtbW9kdWxlLXNvY2tldCBcCisgICAgcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgXAorICAgIHBlcmwtbW9kdWxlLWVycm5vIFwKKyAgICBwZXJsLW1vZHVsZS1pby1zb2NrZXQtaW5ldCBcCisgICAgcGVybC1tb2R1bGUtcG9zaXggXAorIgorCisjIG1vc2ggdXNlcyBTU0ggdG8gYXV0aGVudGljYXRlIGFuZCB0aGUgY2xpZW50IHVzZXMgT3BlblNTSC1zcGVjaWZpYyBmZWF0dXJlcworUkRFUEVORFNfJHtQTn0gKz0gIm9wZW5zc2gtc3NoICR7TkVFREVEX1BFUkxfTU9EVUxFU30iCisjIFRoZSBzZXJ2ZXIgc2VlbWVkIG5vdCB0byB3b3JrIHdpdGggZHJvcGJlYXIgZWl0aGVyCitSREVQRU5EU18ke1BOfS1zZXJ2ZXIgKz0gIm9wZW5zc2gtc3NoZCAke05FRURFRF9QRVJMX01PRFVMRVN9IgorCisjIEZhaWxzIHRvIGJ1aWxkIHdpdGggdGh1bWItMSAocWVtdWFybSkKKyN8IHtzdGFuZGFyZCBpbnB1dH06IEFzc2VtYmxlciBtZXNzYWdlczoKKyN8IHtzdGFuZGFyZCBpbnB1dH06MjEwMDogRXJyb3I6IGluc3RydWN0aW9uIG5vdCBzdXBwb3J0ZWQgaW4gVGh1bWIxNiBtb2RlIC0tIGBhZGRzIHI0LHI0LHI0JworI3wge3N0YW5kYXJkIGlucHV0fToyMTAxOiBFcnJvcjogaW5zdHJ1Y3Rpb24gbm90IHN1cHBvcnRlZCBpbiBUaHVtYjE2IG1vZGUgLS0gYGFkY3MgcjUscjUscjUnCisjfCB7c3RhbmRhcmQgaW5wdXR9OjIxMDI6IEVycm9yOiBpbnN0cnVjdGlvbiBub3Qgc3VwcG9ydGVkIGluIFRodW1iMTYgbW9kZSAtLSBgYWRjcyByNixyNixyNicKKyN8IHtzdGFuZGFyZCBpbnB1dH06MjEwMzogRXJyb3I6IGluc3RydWN0aW9uIG5vdCBzdXBwb3J0ZWQgaW4gVGh1bWIxNiBtb2RlIC0tIGBhZGNzIHI3LHI3LHI3JworI3wge3N0YW5kYXJkIGlucHV0fToyMTA0OiBFcnJvcjogc2VsZWN0ZWQgcHJvY2Vzc29yIGRvZXMgbm90IHN1cHBvcnQgVGh1bWIgbW9kZSBgaXQgY3MnCitBUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtdG9vbHMtYmx1ZXRvb3RoLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC10b29scy1ibHVldG9vdGguYmIKaW5kZXggZjJhMTZkYy4uOTEzZTMxMSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC10b29scy1ibHVldG9vdGguYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC10b29scy1ibHVldG9vdGguYmIKQEAgLTMxLDcgKzMxLDMgQEAKICAgICAgICAgIHB1bHNlYXVkaW8tbW9kdWxlLWxvb3BiYWNrJywgXAogICAgICAgICAnJywgZCl9IFwKICIKLQotIyBJbnN0YWxsIGJsdWV6NCB0b29scyBvciBibHVlejUgdG9vbHMgZGVwZW5kaW5nIG9uIHdoYXQgaXMgc3BlY2lmaWVkIGluIHRoZSBkaXN0cm8uCi0jIE90aGVyd2lzZSBpbnN0YWxsIG5vdGhpbmcuCi1SREVQRU5EU18ke1BOfSA9ICIke1JERVBFTkRTXyR7QkxVRVp9fSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvcmFiYml0bXEtYy9yYWJiaXRtcS1jXzAuNy4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9yYWJiaXRtcS1jL3JhYmJpdG1xLWNfMC43LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU5ODQ2ZmQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9yYWJiaXRtcS1jL3JhYmJpdG1xLWNfMC43LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1ERVNDUklQVElPTiA9ICJBIEMtbGFuZ3VhZ2UgQU1RUCBjbGllbnQgbGlicmFyeSBmb3IgdXNlIHdpdGggdjIuMCsgb2YgdGhlIFJhYmJpdE1RIGJyb2tlciIKLUhPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9hbGFueHovcmFiYml0bXEtYyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UtTUlUO21kNT02Yjc0MjRmOWRiODBjZmIxMWZkZDVjOTgwYjU4M2Y1MyIKLUxJQ0VOU0UgPSAiTUlUIgotCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vYWxhbnh6L3JhYmJpdG1xLWMuZ2l0IgotU1JDUkVWID0gIjRkZGUzMGNlOGQ5ODRlZGRhNTQwMzQ5ZjU3ZWI3OTk1YTg3YmE5ZGUiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLURFUEVORFMgPSAicG9wdCBvcGVuc3NsIgotCi1FWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWV4YW1wbGVzIC0tZW5hYmxlLXRvb2xzIC0tZGlzYWJsZS1kb2NzIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcKLQotUEFDS0FHRV9CRUZPUkVfUE4gKz0gIiR7UE59LXRvb2xzIgotRklMRVNfJHtQTn0tdG9vbHMgPSAiJHtiaW5kaXJ9IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9yYWJiaXRtcS1jL3JhYmJpdG1xLWNfMC45LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3JhYmJpdG1xLWMvcmFiYml0bXEtY18wLjkuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MDk2ZDZjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9yYWJiaXRtcS1jL3JhYmJpdG1xLWNfMC45LjAuYmIKQEAgLTAsMCArMSwxOSBAQAorREVTQ1JJUFRJT04gPSAiQSBDLWxhbmd1YWdlIEFNUVAgY2xpZW50IGxpYnJhcnkgZm9yIHVzZSB3aXRoIHYyLjArIG9mIHRoZSBSYWJiaXRNUSBicm9rZXIiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vYWxhbnh6L3JhYmJpdG1xLWMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLU1JVDttZDU9NmI3NDI0ZjlkYjgwY2ZiMTFmZGQ1Yzk4MGI1ODNmNTMiCitMSUNFTlNFID0gIk1JVCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2FsYW54ei9yYWJiaXRtcS1jLmdpdCIKKyMgdjAuOS4wLW1hc3RlcgorU1JDUkVWID0gIjdlNjkzYTIzZjdmYjcxMjBmODU5OTVkM2M5MjI4MTQ0OTViZTMwZGIiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0RFUEVORFMgPSAicG9wdCBvcGVuc3NsIgorCitFWFRSQV9PRUNNQUtFID0gIi1EQlVJTERfRVhBTVBMRVM9T0ZGIC1EQlVJTERfVE9PTFM9T04gLURCVUlMRF9UT09MU19ET0NTPU9GRiAtREJVSUxEX0FQSV9ET0NTPU9GRiIKKworaW5oZXJpdCBjbWFrZSBwa2djb25maWcKKworUEFDS0FHRV9CRUZPUkVfUE4gKz0gIiR7UE59LXRvb2xzIgorRklMRVNfJHtQTn0tdG9vbHMgPSAiJHtiaW5kaXJ9IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93aWZpLXRlc3Qtc3VpdGUvZmlsZXMvMDAwMS1Vc2UtdG9vbGNoYWluLWZyb20tZW52aXJvbm1lbnQtdmFyaWFibGVzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93aWZpLXRlc3Qtc3VpdGUvZmlsZXMvMDAwMS1Vc2UtdG9vbGNoYWluLWZyb20tZW52aXJvbm1lbnQtdmFyaWFibGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllZTRhNTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dpZmktdGVzdC1zdWl0ZS9maWxlcy8wMDAxLVVzZS10b29sY2hhaW4tZnJvbS1lbnZpcm9ubWVudC12YXJpYWJsZXMucGF0Y2gKQEAgLTAsMCArMSw5MiBAQAorRnJvbSA2YjgyMmIzNjczOTIyMmQwYzg2NDI0OTk5MmI1ZDI4ZTNmZjRkOTQ4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWRyaWFuIEZyaWVkbGkgPGFkcmlhbi5mcmllZGxpQGh1c3F2YXJuYWdyb3VwLmNvbT4KK0RhdGU6IE1vbiwgMyBTZXAgMjAxOCAxNzo1ODoyNyArMDIwMAorU3ViamVjdDogW1BBVENIXSBVc2UgdG9vbGNoYWluIGZyb20gZW52aXJvbm1lbnQgdmFyaWFibGVzCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vV2ktRmlUZXN0U3VpdGUvV2ktRmlUZXN0U3VpdGUtTGludXgtRFVUL3B1bGwvNDJdCitTaWduZWQtb2ZmLWJ5OiBBZHJpYW4gRnJpZWRsaSA8YWRyaWFuLmZyaWVkbGlAaHVzcXZhcm5hZ3JvdXAuY29tPgorU2lnbmVkLW9mZi1ieTogQW5raXQgTmF2aWsgPGFua2l0LnRhcm90QGdtYWlsLmNvbT4KKy0tLQorIE1ha2VmaWxlLmluYyAgICAgICAgIHwgNyArKysrLS0tCisgV1RHU2VydmljZS9NYWtlZmlsZSAgfCAyICstCisgY29uc29sZV9zcmMvTWFrZWZpbGUgfCAyICstCisgbGliL01ha2VmaWxlICAgICAgICAgfCA2ICsrKy0tLQorIDQgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuaW5jIGIvTWFrZWZpbGUuaW5jCitpbmRleCBiMGVkZjVhLi4wMDk0YmRmIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUuaW5jCisrKysgYi9NYWtlZmlsZS5pbmMKK0BAIC0xMywxNCArMTMsMTUgQEAKKyAjIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisgIyBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KKyAjCistQ0MgPSBnY2MKKytDQyA/PSBnY2MKKytBUiA/PSBhcgorIExJQj1saWIKKyBEVVQ9ZHV0CisgQ0E9Y2EKKyBVQ0M9dWNjCisgQ09OPWNvbnNvbGVfc3JjCisgV1RHPVdUR1NlcnZpY2UKKy1NQUtFPW1ha2UKKytNQUtFPz1tYWtlCisgCisgIyBUaGlzIGlzIGZvciBXTU0tUFMKKyAjZm9yIEV4dCBURworQEAgLTQ2LDcgKzQ3LDcgQEAgQ0ZMQUdTID0gLWcgLU8yIC1EX1JFRU5UUkFOVCAtV2FsbCAtSS4uL2luYworIAorIERVVExJQlMgPSAuLi9saWIvbGlid2ZhX2R1dC5hIC1scHRocmVhZAorIENBTElCUyA9IC4uL2xpYi9saWJ3ZmFfY2EuYSAtbHB0aHJlYWQKKy1SQU5MSUIgPSByYW5saWIKKytSQU5MSUIgPz0gcmFubGliCisgCisgTElCV0ZBX05BTUVfRFVUID0gbGlid2ZhX2R1dC5hCisgTElCV0ZBX05BTUVfQ0EgPSBsaWJ3ZmFfY2EuYQorZGlmZiAtLWdpdCBhL1dUR1NlcnZpY2UvTWFrZWZpbGUgYi9XVEdTZXJ2aWNlL01ha2VmaWxlCitpbmRleCA1MzEyZWI2Li40ODU1NzcxIDEwMDY0NAorLS0tIGEvV1RHU2VydmljZS9NYWtlZmlsZQorKysrIGIvV1RHU2VydmljZS9NYWtlZmlsZQorQEAgLTEzLDcgKzEzLDcgQEAKKyAjIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisgIyBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KKyAjCistQ0M9Z2NjCisrQ0M/PWdjYworIENGTEFHUz0gLVdhbGwKKyBMSUI9LWxwdGhyZWFkCisgCitkaWZmIC0tZ2l0IGEvY29uc29sZV9zcmMvTWFrZWZpbGUgYi9jb25zb2xlX3NyYy9NYWtlZmlsZQoraW5kZXggODI4MjI4My4uZDEwOThlYiAxMDA2NDQKKy0tLSBhL2NvbnNvbGVfc3JjL01ha2VmaWxlCisrKysgYi9jb25zb2xlX3NyYy9NYWtlZmlsZQorQEAgLTE0LDcgKzE0LDcgQEAKKyAjIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLgorICMKKyAKKy1DQwk9IGdjYworK0NDCT89IGdjYworIENGTEFHUwk9IC1nIC1EV0ZBX0RFQlVHIC1wdGhyZWFkCisgCisgVEFSR0VUUyA9IHdmYV9jb24KK2RpZmYgLS1naXQgYS9saWIvTWFrZWZpbGUgYi9saWIvTWFrZWZpbGUKK2luZGV4IGZmY2VmOTQuLjI5OWI4ZDYgMTAwNjQ0CistLS0gYS9saWIvTWFrZWZpbGUKKysrKyBiL2xpYi9NYWtlZmlsZQorQEAgLTE3LDkgKzE3LDkgQEAKKyBpbmNsdWRlIC4uL01ha2VmaWxlLmluYworIAorIGFsbDogICAgJHtMSUJfT0JKU30KKy0JCWFyIGNydiAke0xJQldGQV9OQU1FfSAkPworLQkJYXIgY3J2ICR7TElCV0ZBX05BTUVfRFVUfSAke0xJQl9PQkpTX0RVVH0KKy0JCWFyIGNydiAke0xJQldGQV9OQU1FX0NBfSAke0xJQl9PQkpTX0NBfSAKKysJCSQoQVIpIGNydiAke0xJQldGQV9OQU1FfSAkPworKwkJJChBUikgY3J2ICR7TElCV0ZBX05BTUVfRFVUfSAke0xJQl9PQkpTX0RVVH0KKysJCSQoQVIpIGNydiAke0xJQldGQV9OQU1FX0NBfSAke0xJQl9PQkpTX0NBfQorIAkJJHtSQU5MSUJ9ICR7TElCV0ZBX05BTUV9ICR7TElCV0ZBX05BTUVfRFVUfSAke0xJQldGQV9OQU1FX0NBfQorIAorIHdmYV90Zy5vOiB3ZmFfdGcuYyAuLi9pbmMvd2ZhX2FndC5oIC4uL2luYy93ZmFfdHlwZXMuaCAuLi9pbmMvd2ZhX3JzcC5oIC4uL2luYy93ZmFfdGx2LmggIC4uL2luYy93ZmFfdGcuaAorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dpZmktdGVzdC1zdWl0ZS9maWxlcy8wMDAyLUFkZC1taXNzaW5nLWluY2x1ZGUtcmVtb3Zlcy11bm5lZGRlZC1zdHVmZi1hbmQtYWRkLW4ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dpZmktdGVzdC1zdWl0ZS9maWxlcy8wMDAyLUFkZC1taXNzaW5nLWluY2x1ZGUtcmVtb3Zlcy11bm5lZGRlZC1zdHVmZi1hbmQtYWRkLW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjBmYjY0NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvd2lmaS10ZXN0LXN1aXRlL2ZpbGVzLzAwMDItQWRkLW1pc3NpbmctaW5jbHVkZS1yZW1vdmVzLXVubmVkZGVkLXN0dWZmLWFuZC1hZGQtbi5wYXRjaApAQCAtMCwwICsxLDQ1IEBACitGcm9tIDQ1MWIxNjJjOTAzYTFlZjA3MGE3NWRjMTgxNzE2MjBmM2JlZWY3YjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbmtpdCBOYXZpayA8YW5raXQudGFyb3RAZ21haWwuY29tPgorRGF0ZTogVHVlLCAyNSBEZWMgMjAxOCAwMDozNjo1OSArMDUzMAorU3ViamVjdDogW1BBVENIIDIvM10gQWRkIG1pc3NpbmcgaW5jbHVkZSwgcmVtb3ZlcyB1bm5lZGRlZCBzdHVmZiBhbmQgYWRkIG5vbgorIGdsaWJjIHJwYworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBSZXRvIFNjaG5laWRlciA8Y29kZUByZXRvLXNjaG5laWRlci5jaD4KK1NpZ25lZC1vZmYtYnk6IEFua2l0IE5hdmlrIDxhbmtpdC50YXJvdEBnbWFpbC5jb20+CistLS0KKyBNYWtlZmlsZSAgICAgfCAyICstCisgaW5jL3dmYV90Zy5oIHwgMyArKysKKyAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQoraW5kZXggMmM0MWExNy4uNWM0YWQ4YyAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTE1LDcgKzE1LDcgQEAKKyAjCisgaW5jbHVkZSBNYWtlZmlsZS5pbmMKKyAKKy1ESVJTPSAke0xJQn0gJHtEVVR9ICR7Q0F9ICR7VEN9ICR7V1RHfSAke0NPTn0KKytESVJTPSAke0xJQn0gJHtEVVR9ICR7Q0F9ICR7VEN9CisgCisgYWxsOgorIAlmb3IgaSBpbiAke0RJUlN9OyBkbyBcCitkaWZmIC0tZ2l0IGEvaW5jL3dmYV90Zy5oIGIvaW5jL3dmYV90Zy5oCitpbmRleCA3OTliZjlmLi5hMTgwNGRkIDEwMDY0NAorLS0tIGEvaW5jL3dmYV90Zy5oCisrKysgYi9pbmMvd2ZhX3RnLmgKK0BAIC0yNCw2ICsyNCw5IEBACisgI2lmbmRlZiBfV0ZBX1RHX0gKKyAjZGVmaW5lIF9XRkFfVEdfSAorIAorKyNpZm5kZWYgX1dJTkRPV1MKKysjaW5jbHVkZSA8cHRocmVhZC5oPgorKyNlbmRpZgorICNpbmNsdWRlIDxzeXMvdGltZS5oPgorIAorIC8qIG1heGltdW0gbnVtYmVyIG9mIHN0cmVhbXMgdG8gc3VwcG9ydCAqLworLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dpZmktdGVzdC1zdWl0ZS9maWxlcy8wMDAzLWZpeC1wYXRoLXRvLXVzci1zYmluLWZvci1zY3JpcHQtYW5kLW1ha2Utc2NyaXB0LWZvci0ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dpZmktdGVzdC1zdWl0ZS9maWxlcy8wMDAzLWZpeC1wYXRoLXRvLXVzci1zYmluLWZvci1zY3JpcHQtYW5kLW1ha2Utc2NyaXB0LWZvci0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTUxMzAyYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvd2lmaS10ZXN0LXN1aXRlL2ZpbGVzLzAwMDMtZml4LXBhdGgtdG8tdXNyLXNiaW4tZm9yLXNjcmlwdC1hbmQtbWFrZS1zY3JpcHQtZm9yLS5wYXRjaApAQCAtMCwwICsxLDU4IEBACitGcm9tIGZjN2I3MTA2ZGQwZDhkMTIzZjIwY2JkOGQ0MDg2MzdmYmMzMTVlMTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbmtpdCBOYXZpayA8YW5raXQudGFyb3RAZ21haWwuY29tPgorRGF0ZTogVHVlLCAyNSBEZWMgMjAxOCAwMToxMjozMiArMDUzMAorU3ViamVjdDogW1BBVENIIDMvM10gZml4IHBhdGggdG8gL3Vzci9zYmluIGZvciBzY3JpcHQgYW5kIG1ha2Ugc2NyaXB0IGZvcgorIGdlbmVyaWMgc2hlbGwKKworU2lnbmVkLW9mZi1ieTogQW5raXQgTmF2aWsgPGFua2l0LnRhcm90QGdtYWlsLmNvbT4KKy0tLQorIGxpYi93ZmFfY3MuYyAgICAgICAgICAgfCA0ICsrLS0KKyBzY3JpcHRzL2Rldl9zZW5kX2ZyYW1lIHwgMiArLQorIHNjcmlwdHMvc3RhX3Jlc2V0X3Bhcm0gfCAyICstCisgMyBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWIvd2ZhX2NzLmMgYi9saWIvd2ZhX2NzLmMKK2luZGV4IDZiMWY1YTIuLjJhMTg1MzMgMTAwNjQ0CistLS0gYS9saWIvd2ZhX2NzLmMKKysrKyBiL2xpYi93ZmFfY3MuYworQEAgLTMxOSw3ICszMTksNyBAQCBpbnQgd2ZhU3RhR2V0SXBDb25maWcoaW50IGxlbiwgQllURSAqY2FDbWRCdWYsIGludCAqcmVzcExlbiwgQllURSAqcmVzcEJ1ZikKKyAgICAgLyoKKyAgICAgICogY2hlY2sgYSBzY3JpcHQgZmlsZSAodGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gc3BlY2lmaWMpCisgICAgICAqLworLSAgICByZXQgPSBhY2Nlc3MoIi91c3IvbG9jYWwvc2Jpbi9nZXRpcGNvbmZpZy5zaCIsIEZfT0spOworKyAgICByZXQgPSBhY2Nlc3MoIi91c3Ivc2Jpbi9nZXRpcGNvbmZpZy5zaCIsIEZfT0spOworICAgICBpZihyZXQgPT0gLTEpCisgICAgIHsKKyAgICAgICAgIGlwY29uZmlnUmVzcC0+c3RhdHVzID0gU1RBVFVTX0VSUk9SOworQEAgLTIxMTUsNyArMjExNSw3IEBAIGludCB3ZmFTdGFQcmVzZXRQYXJhbXMoaW50IGxlbiwgQllURSAqY2FDbWRCdWYsIGludCAqcmVzcExlbiwgQllURSAqcmVzcEJ1ZikKKyAJICAgIHN0ID0gcmVtb3ZlKCIvdG1wL3Byb2Nlc3NpZC50eHQiKTsKKyAJfQorIAkKKy0Jc3ByaW50ZihjbWRTdHIsICIvdXNyL2xvY2FsL3NiaW4vZmluZHByb2Nlc3Muc2ggJXMgL3RtcC9wcm9jZXNzaWQudHh0XG4iLCAid3BhX3N1cHBsaWNhbnQiKTsKKysJc3ByaW50ZihjbWRTdHIsICIvdXNyL3NiaW4vZmluZHByb2Nlc3Muc2ggJXMgL3RtcC9wcm9jZXNzaWQudHh0XG4iLCAid3BhX3N1cHBsaWNhbnQiKTsKKyAJc3QgPSBzeXN0ZW0oY21kU3RyKTsKKyAJCisgCXRtcGZkID0gZm9wZW4oIi90bXAvcHJvY2Vzc2lkLnR4dCIsICJyKyIpOworZGlmZiAtLWdpdCBhL3NjcmlwdHMvZGV2X3NlbmRfZnJhbWUgYi9zY3JpcHRzL2Rldl9zZW5kX2ZyYW1lCitpbmRleCA5ZTZhZmQzLi4zYzM3ZDYxIDEwMDY0NAorLS0tIGEvc2NyaXB0cy9kZXZfc2VuZF9mcmFtZQorKysrIGIvc2NyaXB0cy9kZXZfc2VuZF9mcmFtZQorQEAgLTEsNCArMSw0IEBACistIyEvYmluL2Jhc2ggCisrIyEvdXNyL2Jpbi9lbnYgc2ggCisgCisgIworICMgQ29weXJpZ2h0IChjKSAyMDE2IFdpLUZpIEFsbGlhbmNlCitkaWZmIC0tZ2l0IGEvc2NyaXB0cy9zdGFfcmVzZXRfcGFybSBiL3NjcmlwdHMvc3RhX3Jlc2V0X3Bhcm0KK2luZGV4IDJhZmYxZjEuLjJjMWMzMWUgMTAwNjQ0CistLS0gYS9zY3JpcHRzL3N0YV9yZXNldF9wYXJtCisrKysgYi9zY3JpcHRzL3N0YV9yZXNldF9wYXJtCitAQCAtMSw0ICsxLDQgQEAKKy0jIS9iaW4vYmFzaAorKyMhL3Vzci9iaW4vZW52IHNoCisgCisgIworICMgQ29weXJpZ2h0IChjKSAyMDE2IFdpLUZpIEFsbGlhbmNlCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvd2lmaS10ZXN0LXN1aXRlL2ZpbGVzLzAwMDQtcnVuLXJhbmxpYi1wZXItbGlicmFyeS1hbmQtdXNlLUFSLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93aWZpLXRlc3Qtc3VpdGUvZmlsZXMvMDAwNC1ydW4tcmFubGliLXBlci1saWJyYXJ5LWFuZC11c2UtQVIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDBhZjQ4OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvd2lmaS10ZXN0LXN1aXRlL2ZpbGVzLzAwMDQtcnVuLXJhbmxpYi1wZXItbGlicmFyeS1hbmQtdXNlLUFSLnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK0Zyb20gY2NhMmY5OTAxZmI0ZmRjZGQ0OTA2NmZlNDM0ZWFlNTEyOTY0MTQzZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBTYXQsIDkgRmViIDIwMTkgMDc6NTk6NDcgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSCA0LzRdIHJ1biByYW5saWIgcGVyIGxpYnJhcnkgYW5kIHVzZSBBUgorCitVc2UgQVIgdmFyaWFibGUgdG8gaW52b2tlIGFyY2hpdmVyIGluc3RlYWQgb2YgaGFyZGNvZGluZywgaGVscHMgY3Jvc3MKK2NvbXBpbGUKKworY29tcGlsZXIgcmFubGliIGUuZy4gbGx2bS1yYW5saWIgZmFpbHMgdG8gb3BlcmF0ZSBvbiBtdWx0aXBsZSBhcmNoaXZlcworb24gc2luZ2xlIGludm9jYXRpb24KKworZml4ZXMgZXJyb3JzIGxpa2UKK2FybS15b2UtbGludXgtbXVzbGVhYmktbGx2bS1yYW5saWI6IGVycm9yOiBFeGFjdGx5IG9uZSBhcmNoaXZlIHNob3VsZCBiZSBzcGVjaWZpZWQuCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vV2ktRmlUZXN0U3VpdGUvV2ktRmlUZXN0U3VpdGUtTGludXgtRFVUL3B1bGwvNDddCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgbGliL01ha2VmaWxlIHwgNCArKystCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbGliL01ha2VmaWxlIGIvbGliL01ha2VmaWxlCitpbmRleCAyOTliOGQ2Li41ZmNhMzIyIDEwMDY0NAorLS0tIGEvbGliL01ha2VmaWxlCisrKysgYi9saWIvTWFrZWZpbGUKK0BAIC0yMCw3ICsyMCw5IEBAIGFsbDogICAgJHtMSUJfT0JKU30KKyAJCSQoQVIpIGNydiAke0xJQldGQV9OQU1FfSAkPworIAkJJChBUikgY3J2ICR7TElCV0ZBX05BTUVfRFVUfSAke0xJQl9PQkpTX0RVVH0KKyAJCSQoQVIpIGNydiAke0xJQldGQV9OQU1FX0NBfSAke0xJQl9PQkpTX0NBfQorLQkJJHtSQU5MSUJ9ICR7TElCV0ZBX05BTUV9ICR7TElCV0ZBX05BTUVfRFVUfSAke0xJQldGQV9OQU1FX0NBfQorKwkJJHtSQU5MSUJ9ICR7TElCV0ZBX05BTUV9CisrCQkke1JBTkxJQn0gJHtMSUJXRkFfTkFNRV9EVVR9CisrCQkke1JBTkxJQn0gJHtMSUJXRkFfTkFNRV9DQX0KKyAKKyB3ZmFfdGcubzogd2ZhX3RnLmMgLi4vaW5jL3dmYV9hZ3QuaCAuLi9pbmMvd2ZhX3R5cGVzLmggLi4vaW5jL3dmYV9yc3AuaCAuLi9pbmMvd2ZhX3Rsdi5oICAuLi9pbmMvd2ZhX3RnLmgKKyAKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvd2lmaS10ZXN0LXN1aXRlL3dpZmktdGVzdC1zdWl0ZV9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dpZmktdGVzdC1zdWl0ZS93aWZpLXRlc3Qtc3VpdGVfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk5Y2ZiMzIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dpZmktdGVzdC1zdWl0ZS93aWZpLXRlc3Qtc3VpdGVfZ2l0LmJiCkBAIC0wLDAgKzEsMzggQEAKK1NVTU1BUlkgID0gIldpLUZpIFRlc3QgU3VpdGUgTGludXggQ29udHJvbCBBZ2VudCIKK0RFU0NSSVBUSU9OID0gIldpLUZpIFRlc3QgU3VpdGUgaXMgYSBzb2Z0d2FyZSBwbGF0Zm9ybSBvcmlnaW5hbGx5IGRldmVsb3BlZCBcCitieSBXaS1GaSBBbGxpYW5jZSwgdGhlIGdsb2JhbCBub24tcHJvZml0IGluZHVzdHJ5IGFzc29jaWF0aW9uIHRoYXQgYnJpbmdzIHlvdSBcCitXaS1GaSwgdG8gc3VwcG9ydCBjZXJ0aWZpY2F0aW9uIHByb2dyYW0gZGV2ZWxvcG1lbnQgYW5kIGRldmljZSBjZXJ0aWZpY2F0aW9uLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vd3d3LndpLWZpLm9yZy9jZXJ0aWZpY2F0aW9uL3dpLWZpLXRlc3Qtc3VpdGUiCitMSUNFTlNFICA9ICJJU0MiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9MDU0MjQyN2VkNWMzMTVjYTM0YWEwOWFlN2E4NWVkMzIiCitTRUNUSU9OID0gInRlc3QiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCitTUkNSRVYgPSAiZjdhOGQ3ZWY3ZDFhODMxYzFiYjQ3ZGUyMWZhMDgzNTM2ZWEyZjNhOSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9XaS1GaVRlc3RTdWl0ZS9XaS1GaVRlc3RTdWl0ZS1MaW51eC1EVVQuZ2l0IFwKKwlmaWxlOi8vMDAwMS1Vc2UtdG9vbGNoYWluLWZyb20tZW52aXJvbm1lbnQtdmFyaWFibGVzLnBhdGNoIFwKKwlmaWxlOi8vMDAwMi1BZGQtbWlzc2luZy1pbmNsdWRlLXJlbW92ZXMtdW5uZWRkZWQtc3R1ZmYtYW5kLWFkZC1uLnBhdGNoIFwKKwlmaWxlOi8vMDAwMy1maXgtcGF0aC10by11c3Itc2Jpbi1mb3Itc2NyaXB0LWFuZC1tYWtlLXNjcmlwdC1mb3ItLnBhdGNoIFwKKwlmaWxlOi8vMDAwNC1ydW4tcmFubGliLXBlci1saWJyYXJ5LWFuZC11c2UtQVIucGF0Y2ggXAorIgorCisjIHRvIGF2b2lkIGhvc3QgcGF0aCBRQSBlcnJvcgorQ0ZMQUdTICs9ICItSSR7U1RBR0lOR19JTkNESVJ9L3RpcnBjIgorIyBGaXggR05VIEhBU0ggZXJyb3IKK1RBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgorCitkb19pbnN0YWxsICgpIHsKKwlpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0KKwlpbnN0YWxsIC1tIDA2NDQgJHtTfS9saWIvbGlid2ZhLmEgJHtEfSR7bGliZGlyfQorCWluc3RhbGwgLW0gMDY0NCAke1N9L2xpYi9saWJ3ZmFfY2EuYSAke0R9JHtsaWJkaXJ9CisJaW5zdGFsbCAtbSAwNjQ0ICR7U30vbGliL2xpYndmYV9kdXQuYSAke0R9JHtsaWJkaXJ9CisJaW5zdGFsbCAtZCAke0R9JHtzYmluZGlyfQorCWluc3RhbGwgLW0gMDc1NSAke1N9L2R1dC93ZmFfZHV0ICR7RH0ke3NiaW5kaXJ9CisJaW5zdGFsbCAtbSAwNzU1ICR7U30vY2Evd2ZhX2NhICR7RH0ke3NiaW5kaXJ9CisJaW5zdGFsbCAtbSAwNzU1ICR7U30vc2NyaXB0cy8qLnNoICR7RH0ke3NiaW5kaXJ9CisJaW5zdGFsbCAtbSAwNzU1ICR7U30vc2NyaXB0cy9hcnBfbmVpZ2hfbG9vcCAke0R9JHtzYmluZGlyfQorCWluc3RhbGwgLW0gMDc1NSAke1N9L3NjcmlwdHMvZGV2X3NlbmRfZnJhbWUgJHtEfSR7c2JpbmRpcn0KKwlpbnN0YWxsIC1tIDA3NTUgJHtTfS9zY3JpcHRzL3N0YV9yZXNldF9wYXJtICR7RH0ke3NiaW5kaXJ9Cit9CisKK1JERVBFTkRTXyR7UE59ID0gIndwYS1zdXBwbGljYW50IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS96ZXJvbXEvY3ptcV80LjEuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvemVyb21xL2N6bXFfNC4xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjJkYjAwNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvemVyb21xL2N6bXFfNC4xLjEuYmIKQEAgLTAsMCArMSwzMCBAQAorREVTQ1JJUFRJT04gPSAiQyBiaW5kaW5ncyBmb3IgWmVyb01RIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy56ZXJvbXEub3JnIgorTElDRU5TRSA9ICJNUEwtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9OTc0MWMzNDZlZWY1NjEzMTE2M2UxM2I5ZGIxMjQxYjMiCitERVBFTkRTID0gInplcm9tcSIKKworU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vemVyb21xL2N6bXEvcmVsZWFzZXMvZG93bmxvYWQvdiR7UFZ9L2N6bXEtJHtQVn0udGFyLmd6IFwKKyAgICBmaWxlOi8vMDAwMS1Qcm9ibGVtLW91dC1vZi1kYXRlLXdpdGgtenByb2plY3QucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNmQzYTZmZGQyNWMyYmIyOTg5N2M1MzY3MGRjZTk3YmYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjAwZmY0MTk4ODFkYzJhMDVkMDY4NmM4NDY3Y2Q4OWI0ODgyNjc3ZmM1NmYzMWMwZTJjYzgxYzEzNGNiYjBjMCIKKworaW5oZXJpdCBjbWFrZQorCitQQUNLQUdFUyA9ICJsaWIke0JQTn0gbGliJHtCUE59LWRldiBsaWIke0JQTn0tc3RhdGljZGV2ICR7UE59ICR7UE59LWRiZyIKKworRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9LyoiCitGSUxFU19saWIke0JQTn0gPSAiJHtsaWJkaXJ9Lyouc28uKiIKK0ZJTEVTX2xpYiR7QlBOfS1kZXYgPSAiJHtsaWJkaXJ9Lyouc28gJHtsaWJkaXJ9L3BrZ2NvbmZpZyAke2luY2x1ZGVkaXJ9IgorRklMRVNfbGliJHtCUE59LXN0YXRpY2RldiA9ICIke2xpYmRpcn0vbGliKi5hIgorCitSREVQRU5EU19saWIke0JQTn0tZGV2ID0gInplcm9tcS1kZXYiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJsejQgdXVpZCIKK1BBQ0tBR0VDT05GSUdbbHo0XSA9ICIsLURDTUFLRV9ESVNBQkxFX0ZJTkRfUEFDS0FHRV9sejQ9VFJVRSxsejQiCitQQUNLQUdFQ09ORklHW3V1aWRdID0gIiwtRENNQUtFX0RJU0FCTEVfRklORF9QQUNLQUdFX3V1aWQ9VFJVRSx1dGlsLWxpbnV4IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZXNkayIKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS96ZXJvbXEvZmlsZXMvMDAwMS1Qcm9ibGVtLW91dC1vZi1kYXRlLXdpdGgtenByb2plY3QucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3plcm9tcS9maWxlcy8wMDAxLVByb2JsZW0tb3V0LW9mLWRhdGUtd2l0aC16cHJvamVjdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZjU3MDJjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS96ZXJvbXEvZmlsZXMvMDAwMS1Qcm9ibGVtLW91dC1vZi1kYXRlLXdpdGgtenByb2plY3QucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSBkMTU1ZmZkMzM2MzBmODBiMjNjMzFiM2E2ZTAxZGEyMjFkZDliZDEzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTHVjYSBCb2NjYXNzaSA8bHVjYS5ib2NjYXNzaUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDMwIE1hciAyMDE4IDE2OjM2OjIyICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIFByb2JsZW06IG91dCBvZiBkYXRlIHdpdGggenByb2plY3QKKworVXBzdHJlYW0tU3RhdHVzOiBiYWNrcG9ydAorU2lnbmVkLW9mZi1ieTogQWRyaWFuIEJ1bmsgPGJ1bmtAc3R1c3RhLmRlPgorCitkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAoraW5kZXggYTNiODE3MjIuLjRmMjAzNDYxIDEwMDY0NAorLS0tIGEvQ01ha2VMaXN0cy50eHQKKysrKyBiL0NNYWtlTGlzdHMudHh0CitAQCAtMzgsNyArMzgsNyBAQCBpZiAoTk9UIENNQUtFX0JVSUxEX1RZUEUpCisgICAgICAgICAgICAgT1VUUFVUX1NUUklQX1RSQUlMSU5HX1dISVRFU1BBQ0UKKyAgICAgICAgICkKKyAgICAgICAgIG1lc3NhZ2UoU1RBVFVTICJnaXQgd29ya3NwYWNlIHJvb3QgWyR7Z2l0X3Jlc3VsdH1dOiAke2dpdF9yb290fSIpCistICAgICAgICBpZiAoICIke2dpdF9yZXN1bHR9IiA9PSAiMCIgKQorKyAgICAgICAgaWYgKCAiJHtnaXRfcmVzdWx0fSIgU1RSRVFVQUwgIjAiICkKKyAgICAgICAgICAgICBzZXQgKENNQUtFX0JVSUxEX1RZUEUgRGVidWcpCisgICAgICAgICBlbHNlICgpCisgICAgICAgICAgICAgc2V0IChDTUFLRV9CVUlMRF9UWVBFIFJlbGVhc2UpCitAQCAtNjA4LDcgKzYwOCw3IEBAIGFkZF9jdXN0b21fY29tbWFuZCgKKyAgICAgVEFSR0VUICBkaXN0Y2xlYW4KKyApCisgCistaW5jbHVkZShDbGFuZ0Zvcm1hdCkKKytpbmNsdWRlKENsYW5nRm9ybWF0IE9QVElPTkFMKQorIAorICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICMgc3VtbWFyeQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9kYnVzL2RidXMtYnJva2VyXzE5LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZGJ1cy9kYnVzLWJyb2tlcl8xOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MmQ4YjhiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZGJ1cy9kYnVzLWJyb2tlcl8xOS5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gImRidXMgYnJva2VyIgorREVTQ1JJUFRJT04gPSAiRHJvcC1pbiByZXBsYWNlbWVudCBmb3IgZGJ1cy1kYWVtb24uIgorCitTRUNUSU9OID0gImJhc2UiCisKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTdiNDg2YzIzMzhkMjI1YTE0MDVkOTc5ZWQyYzE1Y2U4IgorCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9idXMxL2RidXMtYnJva2VyL3JlbGVhc2VzL2Rvd25sb2FkL3Yke1BWfS9kYnVzLWJyb2tlci0ke1BWfS50YXIueHoiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTY0ODIyN2Y1YTM0N2Q0ZjM4ZDhhMjliYjkyOTVhNzNhMjVjM2ZlYjRmM2U3OWUzZjA0Y2M4NDczNDNkYTNlZCIKKworaW5oZXJpdCBtZXNvbiBwa2djb25maWcgc3lzdGVtZCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworREVQRU5EUyA9ICJleHBhdCBzeXN0ZW1kIgorCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAic3lzdGVtZCIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIiR7QlBOfS5zZXJ2aWNlIgorCitGSUxFU18ke1BOfSArPSAiJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfSIKK0ZJTEVTXyR7UE59ICs9ICIke3N5c3RlbWRfdXNlcl91bml0ZGlyfSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2RidXMvZGJ1cy1icm9rZXJfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZGJ1cy9kYnVzLWJyb2tlcl9naXQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjMGYzMjUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZGJ1cy9kYnVzLWJyb2tlcl9naXQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1TVU1NQVJZID0gImRidXMgYnJva2VyIgotREVTQ1JJUFRJT04gPSAiRHJvcC1pbiByZXBsYWNlbWVudCBmb3IgZGJ1cy1kYWVtb24uIgotCi1TRUNUSU9OID0gImJhc2UiCi0KLUxJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTdiNDg2YzIzMzhkMjI1YTE0MDVkOTc5ZWQyYzE1Y2U4IgotCi1ERVBFTkRTID0gImRidXMgZ2xpYi0yLjAgZXhwYXQiCi0KLVBWID0gIjE2K2dpdCR7U1JDUFZ9IgotU1JDUkVWID0gImZjODc0YWZhMDk5MmQwYzc1ZWMyNWFjYjQzZDM0NDY3OWYwZWU3ZDIiCi0KLVNSQ19VUkkgPSAiZ2l0c206Ly9naXRodWIuY29tL2J1czEvZGJ1cy1icm9rZXI7cHJvdG9jb2w9Z2l0IgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1pbmhlcml0IG1lc29uIHBrZ2NvbmZpZyBzeXN0ZW1kIGRpc3Ryb19mZWF0dXJlc19jaGVjawotCi1FWFRSQV9PRU1FU09OICs9ICItRGRvY3M9ZmFsc2UiCi0KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJzeXN0ZW1kIgotCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiJHtCUE59LnNlcnZpY2UiCi0KLUZJTEVTXyR7UE59ICs9ICIke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9IgotRklMRVNfJHtQTn0gKz0gIiR7c3lzdGVtZF91c2VyX3VuaXRkaXJ9IgotCi1SREVQRU5EU18ke1BOfSA9ICJkYnVzIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZWxsL2VsbC8wMDAxLWRoY3AtaW5jbHVkZS1pZl9hcnAuaC1mcm9tLWxpYmMtaW5zdGVhZC1vZi1saW51eC1oZWEucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9lbGwvZWxsLzAwMDEtZGhjcC1pbmNsdWRlLWlmX2FycC5oLWZyb20tbGliYy1pbnN0ZWFkLW9mLWxpbnV4LWhlYS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWRhNjU0MC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9lbGwvZWxsLzAwMDEtZGhjcC1pbmNsdWRlLWlmX2FycC5oLWZyb20tbGliYy1pbnN0ZWFkLW9mLWxpbnV4LWhlYS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLUZyb20gZDgyMzZkMWQ3ODlmNDk2YTE5M2RhZTVkMmExNWQ3MDZiODFmNjQ4MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9NYXJ0aW49MjBIdW5kZWI9QzM9QjhsbD89IDxtYXJ0aW5AZ2Vhbml4LmNvbT4KLURhdGU6IFRodSwgMTIgSnVsIDIwMTggMTA6MTk6NTAgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gZGhjcDogaW5jbHVkZSBpZl9hcnAuaCBmcm9tIGxpYmMgaW5zdGVhZCBvZiBsaW51eCBoZWFkZXJzCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci1UbzogZWxsQGxpc3RzLjAxLm9yZwotCi1Db21waWxhdGlvbiB3aXRoIG11c2wgbGliYyBmYWlscyBkdWUgdG8gcmVkZWZpbml0aW9uIG9mICdzdHJ1Y3QKLWFycHtyZXEscmVxX29sZCxoZHJ9JyBpbiBsaW51eC9pZl9hcnAuaCwgc2luY2UgaXQgaXMgYWxyZWFkeSBkZWZpbmVkIGFuZAotaW5jbHVkZWQgaW4gbmV0L2lmX2FycC5oICh0aHJvdWdoIG5ldC9ldGhlcm5ldC5oIC0+IG5ldC9pZl9ldGhlci5oKS4KLQotVGhlIG9ubHkgc3ltYm9scyB1c2VkIGZyb20gaWZfYXJwLmggaXMgQVJQSFJEX0VUSEVSLCBzbyBpdCBzaG91bGQgYmUKLXNhZmUgdG8gYXZvaWQgdGhlIGNvbXBpbGUgZXJyb3IgYnkgaW5jbHVkaW5nIHRoZSBpZl9hcnAuaCBoZWFkZXIgZnJvbQotdGhlIGMtbGlicmFyeSBpbnN0ZWFkLgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2xpc3RzLjAxLm9yZy9waXBlcm1haWwvZWxsLzIwMTgtSnVseS8wMDEyNDQuaHRtbF0KLVNpZ25lZC1vZmYtYnk6IE1hcnRpbiBIdW5kZWLDuGxsIDxtYXJ0aW5AZ2Vhbml4LmNvbT4KLS0tLQotIGVsbC9kaGNwLmMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9lbGwvZGhjcC5jIGIvZWxsL2RoY3AuYwotaW5kZXggNmM5MDM3MC4uMGQ5OWY3NCAxMDA2NDQKLS0tLSBhL2VsbC9kaGNwLmMKLSsrKyBiL2VsbC9kaGNwLmMKLUBAIC0yNyw3ICsyNyw3IEBACi0gI2luY2x1ZGUgPG5ldGluZXQvaXAuaD4KLSAjaW5jbHVkZSA8bmV0L2V0aGVybmV0Lmg+Ci0gI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Ci0tI2luY2x1ZGUgPGxpbnV4L2lmX2FycC5oPgotKyNpbmNsdWRlIDxuZXQvaWZfYXJwLmg+Ci0gI2luY2x1ZGUgPGVycm5vLmg+Ci0gI2luY2x1ZGUgPHRpbWUuaD4KLSAKLS0tIAotMi4xOC4wCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2VsbC9lbGxfMC4xNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2VsbC9lbGxfMC4xNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yN2YxMWNmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZWxsL2VsbF8wLjE3LmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgID0gIkVtYmVkZGVkIExpbnV4IExpYnJhcnkiCitERVNDUklQVElPTiA9ICJFTEwgaXMgYSBEQlVTIGxpYnJhcnkgd2hpY2ggcHJvdmlkZXMgREJVUyBiaW5kaW5ncy4iCitMSUNFTlNFICA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZiNTA0YjY3YzUwMzMxZmM3ODczNGZlZDkwZmIwZTA5IgorU0VDVElPTiA9ICJsaWJzIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworUyA9ICIke1dPUktESVJ9L2dpdCIKK1NSQ1JFViA9ICJlYmMwMjFjZWUzYjJkMjBjYTJhZjVlM2VkMDI0OTVkYTYxNmIyZmQzIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpYnMvZWxsL2VsbC5naXQiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKyAgICBta2RpciAtcCAke1N9L2J1aWxkLWF1eAorfQorCitERVBFTkRTID0gImRidXMiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9lbGwvZWxsXzAuOC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2VsbC9lbGxfMC44LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNDI4Y2FiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2VsbC9lbGxfMC44LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotU1VNTUFSWSAgPSAiRW1iZWRkZWQgTGludXggTGlicmFyeSIKLURFU0NSSVBUSU9OID0gIkVMTCBpcyBhIERCVVMgbGlicmFyeSB3aGljaCBwcm92aWRlcyBEQlVTIGJpbmRpbmdzLiIKLUxJQ0VOU0UgID0gIkxHUEx2Mi4xIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZmI1MDRiNjdjNTAzMzFmYzc4NzM0ZmVkOTBmYjBlMDkiCi1TRUNUSU9OID0gImxpYnMiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotU1JDUkVWID0gImQ1NzIyODFjYWVkZWYzNTdjMzkyYTdjOWFhNjVhM2IyMWExOGNmZGIiCi1TUkNfVVJJID0gImdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGlicy9lbGwvZWxsLmdpdCIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgewotICAgIG1rZGlyIC1wICR7U30vYnVpbGQtYXV4Ci19Ci0KLURFUEVORFMgPSAiZGJ1cyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWJtbS9yZW1vdmUtZXhhbXBsZXMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGlibW0vcmVtb3ZlLWV4YW1wbGVzLnBhdGNoCmluZGV4IGQzMmZlNzguLjQyZjI1MjAgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWJtbS9yZW1vdmUtZXhhbXBsZXMucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYm1tL3JlbW92ZS1leGFtcGxlcy5wYXRjaApAQCAtMSw2ICsxLDcgQEAKLUZyb20gZjQ4YTY5ZmQxMWIyZWRhNmM0M2ZmMDQ2YzIwMmNiYzRkY2Q0ZTkyZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNTIzNjAyNjBjMGQ3M2EwMDA4MmQ4NjdiYzQxNjIyNWZiYzJiNjU3ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CiBEYXRlOiBUdWUsIDEyIEp1bCAyMDExIDExOjQ2OjM3ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGdsaWJtbTogYWRkIDIuMjguMgogCiAtLS0KICBNYWtlZmlsZS5hbSAgfCA3ICstLS0tLS0KQEAgLTgsNyArOSw3IEBACiAgMiBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgNyBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KLWluZGV4IGEwZGY4YWYuLmMzZDVlMDYgMTAwNjQ0CitpbmRleCAxYjM2NmI0Li4wZmY1OGI1IDEwMDY0NAogLS0tIGEvTWFrZWZpbGUuYW0KICsrKyBiL01ha2VmaWxlLmFtCiBAQCAtMjMsMTIgKzIzLDcgQEAgc3JjX3N1YmRpcnMgPSBnbGliL3NyYyBnaW8vc3JjCkBAIC0yNiw3ICsyNyw3IEBACiAgZ2xpYm1tX2luY2x1ZGVkaXIgPSAkKGluY2x1ZGVkaXIpLyQoR0xJQk1NX01PRFVMRV9OQU1FKQogIGdsaWJtbV9pbmNsdWRlX0hFQURFUlMgPSBnbGliL2dsaWJtbS5oCiBkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCBjMjBlNzc4Li43NDIwM2JlIDEwMDY0NAoraW5kZXggZTcwNjY4Ny4uMTk4ZTBkMCAxMDA2NDQKIC0tLSBhL2NvbmZpZ3VyZS5hYwogKysrIGIvY29uZmlndXJlLmFjCiBAQCAtMTY2LDcgKzE2Niw2IEBAIEFDX0NPTkZJR19GSUxFUyhbTWFrZWZpbGUKQEAgLTM2LDQgKzM3LDQgQEAKIC0gICAgICAgICAgICAgICAgIGV4YW1wbGVzL01ha2VmaWxlCiAgICAgICAgICAgICAgICAgICBkb2NzL01ha2VmaWxlCiAgICAgICAgICAgICAgICAgICBkb2NzL3JlZmVyZW5jZS9Eb3h5ZmlsZQotICAgICAgICAgICAgICAgICAgTVNWQ19OZXQyMDEzL2dsaWJtbS9nbGlibW0ucmMKKyAgICAgICAgICAgICAgICAgIE1TVkNfTk1ha2UvZ2xpYm1tL2dsaWJtbS5yYwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYm1tXzIuNTYuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWJtbV8yLjU2LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJmMDQ4ZDIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYm1tXzIuNTYuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLVNVTU1BUlkgPSAiQysrIGJpbmRpbmdzIGZvciB0aGUgZ2xpYiBsaWJyYXJ5IgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5ndGttbS5vcmcvIgotU0VDVElPTiA9ICJsaWJzIgotTElDRU5TRSA9ICJMR1BMdjIuMSAmIEdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NDJkZmZmZWJjNTZmZWM3NTI3YWFjNTNiN2E4OWQxZDggXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy50b29sczttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCi0KLURFUEVORFMgPSAibW0tY29tbW9uIGdsaWItMi4wIGxpYnNpZ2MrKy0yLjAgZ2xpYi0yLjAtbmF0aXZlIgotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCi0KLVNIUlRfVkVSID0gIiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMF19LiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMV19IgotCi1TUkNfVVJJID0gIiBcCi0gICAgZnRwOi8vZnRwLmdub21lLm9yZy9wdWIvR05PTUUvc291cmNlcy9nbGlibW0vJHtTSFJUX1ZFUn0vZ2xpYm1tLSR7UFZ9LnRhci54eiBcCi0gICAgZmlsZTovL3JlbW92ZS1leGFtcGxlcy5wYXRjaCBcCi0iCi1TUkNfVVJJW21kNXN1bV0gPSAiNWFhN2E2MDA4NGZlM2UwMWQ3NDZjOTZmNGExMTUzMDIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmU3NGZjYmEwZDI0NTQ1MWM1OGZjOGExOTZlOWQxMDM3ODliYzUxMGUxZWVlMWE5YjFlODE2YzUyMDllNzlhOSIKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9nbGlibW0tMi40Ci0gICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9hY2xvY2FsCi0KLSAgICBpbnN0YWxsIC1tIDA2NDQgZ2xpYi9nbGlibW1jb25maWcuaCAke0R9JHtkYXRhZGlyfS9nbGlibW0tMi40LwotICAgIGluc3RhbGwgLW0gMDY0NCBzY3JpcHRzL2dsaWJtbV9jaGVja19wZXJsLm00ICR7RH0ke2RhdGFkaXJ9L2FjbG9jYWwvIHx8IHRydWUKLQotICAgIGZvciBpIGluIGdlbmVyYXRlX3dyYXBfaW5pdC5wbCBnbW1wcm9jOyBkbwotICAgICAgICBzZWQgLWkgLWUgJzFzLC4qLCMhJHtiaW5kaXJ9L2VudiBwZXJsLCcgJHtEfSR7bGliZGlyfS9nbGlibW0tMi40L3Byb2MvJGkKLSAgICBkb25lCi19Ci0KLUZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS9saWIqLnNvLioiCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7ZGF0YWRpcn0vZ2xpYm1tLSogJHtsaWJkaXJ9L2dsaWJtbS0yLjQvaW5jbHVkZS8gJHtsaWJkaXJ9L2dsaWJtbS0yLjQvcHJvYy8gJHtsaWJkaXJ9L2dpb21tLTIuNC9pbmNsdWRlLyIKLQotUkRFUEVORFNfJHtQTn0tZGV2ID0gInBlcmwiCi1TRUNVUklUWV9DRkxBR1MgPSAiJHtTRUNVUklUWV9OT19QSUVfQ0ZMQUdTfSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWJtbV8yLjU4LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGlibW1fMi41OC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3YWIwY2IKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGlibW1fMi41OC4xLmJiCkBAIC0wLDAgKzEsMzYgQEAKK1NVTU1BUlkgPSAiQysrIGJpbmRpbmdzIGZvciB0aGUgZ2xpYiBsaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5ndGttbS5vcmcvIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJMR1BMdjIuMSAmIEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NDJkZmZmZWJjNTZmZWM3NTI3YWFjNTNiN2E4OWQxZDggXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy50b29sczttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK0RFUEVORFMgPSAibW0tY29tbW9uIGdsaWItMi4wIGxpYnNpZ2MrKy0yLjAgZ2xpYi0yLjAtbmF0aXZlIgoraW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1NIUlRfVkVSID0gIiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMF19LiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMV19IgorCitTUkNfVVJJID0gIiBcCisgICAgZnRwOi8vZnRwLmdub21lLm9yZy9wdWIvR05PTUUvc291cmNlcy9nbGlibW0vJHtTSFJUX1ZFUn0vZ2xpYm1tLSR7UFZ9LnRhci54eiBcCisgICAgZmlsZTovL3JlbW92ZS1leGFtcGxlcy5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiNzdmMTAxNmNiYjI3ZTE1ZDRlMDRhMmI3YmZkYjRjYWUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmU1ZmUwM2JkZjFlMjIwZWVmZmQ1NDNlMDE3ZmQyZmIxNWJjZWM5MjM1ZjBmZmQ1MDY3NGFmZjkzNjJhODVmMCIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9nbGlibW0tMi40CisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9hY2xvY2FsCisKKyAgICBpbnN0YWxsIC1tIDA2NDQgZ2xpYi9nbGlibW1jb25maWcuaCAke0R9JHtkYXRhZGlyfS9nbGlibW0tMi40LworICAgIGluc3RhbGwgLW0gMDY0NCBzY3JpcHRzL2dsaWJtbV9jaGVja19wZXJsLm00ICR7RH0ke2RhdGFkaXJ9L2FjbG9jYWwvIHx8IHRydWUKKworICAgIGZvciBpIGluIGdlbmVyYXRlX3dyYXBfaW5pdC5wbCBnbW1wcm9jOyBkbworICAgICAgICBzZWQgLWkgLWUgJzFzLC4qLCMhJHtiaW5kaXJ9L2VudiBwZXJsLCcgJHtEfSR7bGliZGlyfS9nbGlibW0tMi40L3Byb2MvJGkKKyAgICBkb25lCit9CisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS9saWIqLnNvLioiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7ZGF0YWRpcn0vZ2xpYm1tLSogJHtsaWJkaXJ9L2dsaWJtbS0yLjQvaW5jbHVkZS8gJHtsaWJkaXJ9L2dsaWJtbS0yLjQvcHJvYy8gJHtsaWJkaXJ9L2dpb21tLTIuNC9pbmNsdWRlLyIKKworUkRFUEVORFNfJHtQTn0tZGV2ID0gInBlcmwiCitTRUNVUklUWV9DRkxBR1MgPSAiJHtTRUNVUklUWV9OT19QSUVfQ0ZMQUdTfSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2xpYnNpZ2MrKy0yLjAvbGlic2lnYysrLTIuMF8yLjEwLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9saWJzaWdjKystMi4wL2xpYnNpZ2MrKy0yLjBfMi4xMC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1M2JkNWRlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2xpYnNpZ2MrKy0yLjAvbGlic2lnYysrLTIuMF8yLjEwLjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi1TVU1NQVJZID0gIkEgbGlicmFyeSBmb3IgbG9vc2UgY291cGxpbmcgb2YgQysrIG1ldGhvZCBjYWxscyIKLVNFQ1RJT04gPSAibGlicyIKLUxJQ0VOU0UgPSAiTEdQTHYyLjEiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kODA0NWYzYjhmOTI5YzFjYjI5YTFlM2ZkNzM3YjQ5OSIKLQotREVQRU5EUyA9ICJtbS1jb21tb24iCi0KLVNSQ19VUkkgPSAiaHR0cDovL2Z0cC5nbm9tZS5vcmcvcHViL0dOT01FL3NvdXJjZXMvbGlic2lnYysrLzIuMTAvbGlic2lnYysrLSR7UFZ9LnRhci54eiIKLVNSQ19VUklbbWQ1c3VtXSA9ICI3MGJjYmRlMmM5MDBlNDkyNWQ2ZWY0YmY1MDk1NDE5NSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJmODQzZDYzNDYyNjBiZmNiNDQyNjI1OWUzMTQ1MTJiOTllMjk2ZThjYTI0MWQ3NzFkMjFhYzY0ZjI4Mjk4ZDgxIgotCi1TID0gIiR7V09SS0RJUn0vbGlic2lnYysrLSR7UFZ9IgotCi1pbmhlcml0IGF1dG90b29scwotCi1FWFRSQV9BVVRPUkVDT05GID0gIi0tZXhjbHVkZT1hdXRvaGVhZGVyIgotCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9zaWdjKystKi8iCi1GSUxFU18ke1BOfS1kb2MgKz0gIiR7ZGF0YWRpcn0vZGV2aGVscCIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCi1TRUNVUklUWV9DRkxBR1MgPSAiJHtTRUNVUklUWV9OT19QSUVfQ0ZMQUdTfSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2xpYnNpZ2MrKy0yLjAvbGlic2lnYysrLTIuMF8yLjEwLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9saWJzaWdjKystMi4wL2xpYnNpZ2MrKy0yLjBfMi4xMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyMDU0YTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9saWJzaWdjKystMi4wL2xpYnNpZ2MrKy0yLjBfMi4xMC4xLmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiQSBsaWJyYXJ5IGZvciBsb29zZSBjb3VwbGluZyBvZiBDKysgbWV0aG9kIGNhbGxzIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQ4MDQ1ZjNiOGY5MjljMWNiMjlhMWUzZmQ3MzdiNDk5IgorCitERVBFTkRTID0gIm1tLWNvbW1vbiIKKworU1JDX1VSSSA9ICJodHRwOi8vZnRwLmdub21lLm9yZy9wdWIvR05PTUUvc291cmNlcy9saWJzaWdjKysvMi4xMC9saWJzaWdjKystJHtQVn0udGFyLnh6IgorU1JDX1VSSVttZDVzdW1dID0gIjU0OWNmZmJkYjcyZmExMDViNzgyNzU2ZjI3MTNmZmM3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM5YTI1ZjI2MTc4YzZjYmIxNDdmOTkwNGQ4YzUzM2I1YTVjNTExMWE0MWFjMmViNzgxZWI3MzRlZWE0NDYwMDMiCisKK1MgPSAiJHtXT1JLRElSfS9saWJzaWdjKystJHtQVn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0VYVFJBX0FVVE9SRUNPTkYgPSAiLS1leGNsdWRlPWF1dG9oZWFkZXIiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L3NpZ2MrKy0qLyIKK0ZJTEVTXyR7UE59LWRvYyArPSAiJHtkYXRhZGlyfS9kZXZoZWxwIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKK1NFQ1VSSVRZX0NGTEFHUyA9ICIke1NFQ1VSSVRZX05PX1BJRV9DRkxBR1N9IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbmRjdGwvbmRjdGxfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbmRjdGwvbmRjdGxfZ2l0LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNDhmMTY2Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL25kY3RsL25kY3RsX2dpdC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLVNVTU1BUlkgPSAibGlibnZkaW1tIHV0aWxpdHkgbGlicmFyeSIKLURFU0NSSVBUSU9OID0gIlV0aWxpdHkgbGlicmFyeSBmb3IgbWFuYWdpbmcgdGhlIGxpYm52ZGltbSBcCi0obm9uLXZvbGF0aWxlIG1lbW9yeSBkZXZpY2UpIHN1Yi1zeXN0ZW0gaW4gdGhlIExpbnV4IGtlcm5lbC4gXAotVGhlIExJQk5WRElNTSBzdWJzeXN0ZW0gcHJvdmlkZXMgc3VwcG9ydCBmb3IgdGhyZWUgdHlwZXMgb2YgXAotTlZESU1NcywgbmFtZWx5LFBNRU0sIEJMSywgYW5kIE5WRElNTSBkZXZpY2VzIHRoYXQgY2FuIFwKLXNpbXVsdGFuZW91c2x5IHN1cHBvcnQgYm90aCBQTUVNIGFuZCBCTEsgbW9kZSBhY2Nlc3MuIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXQua2VybmVsLm9yZy9jZ2l0L2xpbnV4L2tlcm5lbC9naXQvbnZkaW1tL252ZGltbS5naXQvdHJlZS9Eb2N1bWVudGF0aW9uL252ZGltbS9udmRpbW0udHh0P2g9bGlibnZkaW1tLWZvci1uZXh0IgotTElDRU5TRSA9ICJHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lNjY2NTE4MDljYWM1ZGE2MGM4YjgwZTllNGU3OWUwOCIKLQotaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZyBtb2R1bGUtYmFzZSBiYXNoLWNvbXBsZXRpb24gc3lzdGVtZAotCi0jIHY2MgotU1JDUkVWID0gIjExZjU2MGY0MDQ4YzFkMzhiNzAxMWE0OTU2Njg3MWExZThhMDdjOTQiCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vcG1lbS9uZGN0bC5naXQiCi0KLURFUEVORFMgPSAidmlydHVhbC9rZXJuZWwga21vZCB1ZGV2IGpzb24tYyIKLQotUFYgPSAidjYyK2dpdCR7U1JDUFZ9IgotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS10ZXN0IC0tZW5hYmxlLWRlc3RydWN0aXZlIC0tZGlzYWJsZS1kb2NzIgotCi1QQUNLQUdFQ09ORklHID8/PSAiIgotUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLXdpdGgtc3lzdGVtZC11bml0LWRpcj0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9LCAtLXdpdGhvdXQtc3lzdGVtZC11bml0LWRpciwiCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotICAgICR7U30vYXV0b2dlbi5zaAotfQotCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAibmRjdGwtbW9uaXRvci5zZXJ2aWNlIgotCi1DT01QQVRJQkxFX0hPU1Q9Jyh4ODZfNjQpLionCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9uZGN0bC9uZGN0bF92NjMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9uZGN0bC9uZGN0bF92NjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWYzYWJmNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL25kY3RsL25kY3RsX3Y2My5iYgpAQCAtMCwwICsxLDMwIEBACitTVU1NQVJZID0gImxpYm52ZGltbSB1dGlsaXR5IGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJVdGlsaXR5IGxpYnJhcnkgZm9yIG1hbmFnaW5nIHRoZSBsaWJudmRpbW0gXAorKG5vbi12b2xhdGlsZSBtZW1vcnkgZGV2aWNlKSBzdWItc3lzdGVtIGluIHRoZSBMaW51eCBrZXJuZWwuIFwKK1RoZSBMSUJOVkRJTU0gc3Vic3lzdGVtIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRocmVlIHR5cGVzIG9mIFwKK05WRElNTXMsIG5hbWVseSxQTUVNLCBCTEssIGFuZCBOVkRJTU0gZGV2aWNlcyB0aGF0IGNhbiBcCitzaW11bHRhbmVvdXNseSBzdXBwb3J0IGJvdGggUE1FTSBhbmQgQkxLIG1vZGUgYWNjZXNzLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0Lmtlcm5lbC5vcmcvY2dpdC9saW51eC9rZXJuZWwvZ2l0L252ZGltbS9udmRpbW0uZ2l0L3RyZWUvRG9jdW1lbnRhdGlvbi9udmRpbW0vbnZkaW1tLnR4dD9oPWxpYm52ZGltbS1mb3ItbmV4dCIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTY2NjUxODA5Y2FjNWRhNjBjOGI4MGU5ZTRlNzllMDgiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcgYmFzaC1jb21wbGV0aW9uIHN5c3RlbWQKKworU1JDUkVWID0gImNiMmQ2NzhkZDZkMjg2ZGQ5NmQzMTU0OGMzMjQ0OWE4Yjg4M2FlMzIiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vcG1lbS9uZGN0bC5naXQiCisKK0RFUEVORFMgPSAidmlydHVhbC9rZXJuZWwga21vZCB1ZGV2IGpzb24tYyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS10ZXN0IC0tZW5hYmxlLWRlc3RydWN0aXZlIC0tZGlzYWJsZS1kb2NzIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCdzeXN0ZW1kJywnJyxkKX0iCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0td2l0aC1zeXN0ZW1kLCAtLXdpdGhvdXQtc3lzdGVtZCwgc3lzdGVtZCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgJHtTfS9hdXRvZ2VuLnNoCit9CisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJuZGN0bC1tb25pdG9yLnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFXyR7UE59ID0gImRpc2FibGUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1tZXRhLW9lLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtbWV0YS1vZS5iYgppbmRleCA2MmYxYzc3Li41ZmNmOTg5IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1tZXRhLW9lLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLW1ldGEtb2UuYmIKQEAgLTEzNiw4ICsxMzYsNyBAQAogICAgIGxpYnB3cXVhbGl0eSBsaWJxYiBsaWJ1aW8gXAogICAgIGxvY2tmaWxlLXByb2dzIGxvZ3dhdGNoIGxwcm5nIG1haWx4IG1kNWRlZXAgXAogICAgIG1vempzIG1yYWEgbmFuYSBuaWNzdGF0IFwKLSAgICBwN3ppcCBwOHBsYXRmb3JtIGxpYmZpbGUtZm5tYXRjaC1wZXJsIHBvbGtpdCBcCi0gICAgcG9sa2l0LWdyb3VwLXJ1bGUtZGF0ZXRpbWUgcG9sa2l0LWdyb3VwLXJ1bGUtbmV0d29yayBcCisgICAgcDd6aXAgcDhwbGF0Zm9ybSBsaWJmaWxlLWZubWF0Y2gtcGVybCBcCiAgICAgcmFycGQgcmVkaXMgcnJkdG9vbCBsaWJmYXN0anNvbiBsaWJyZWxwIHJzeXNsb2cgc2FubG9jayBcCiAgICAgc2JsaW0tY21waS1kZXZlbCBzYmxpbS1zZmMtY29tbW9uIHNibGltLXNmY2MgXAogICAgIHNjc2lyYXN0b29scyBzZ3BpbyBzbWFydG1vbnRvb2xzIHNuYXBweSBjYW4taXNvdHAgXApAQCAtMTQ4LDYgKzE0Nyw4IEBACiAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJibHVleiIsICJjb2xsZWN0ZCIsICIiLCBkKX0gXAogICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAicGFtIiwgInBhbS1wbHVnaW4tY2NyZWRzIHBhbS1wbHVnaW4tbGRhcGRiIiwgIiIsIGQpfSBcCiAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJwYW0iLCAicGFtLXNzaC1hZ2VudC1hdXRoIG9wZW53c21hbiBzYmxpbS1zZmNiICIsICIiLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAicG9sa2l0IiwgInBvbGtpdCBwb2xraXQtZ3JvdXAtcnVsZS1kYXRldGltZSAiLCAiIiwgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgInBvbGtpdCIsICJwb2xraXQtZ3JvdXAtcnVsZS1uZXR3b3JrICIsICIiLCBkKX0gXAogICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJCQlBBVEgiLCAibWV0YS1weXRob24iLCAib3BlbmxtaS10b29scyIsICIiLCBkKX0gXAogICAgICIKIFJERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLW9lLWV4dGVuZGVkX3JlbW92ZV9taXBzYXJjaCA9ICJ1cG0gbXJhYSB0aXB0b3AiCkBAIC0yMjUsNyArMjI2LDcgQEAKICAgICBhbnRoeSBhc2lvIGF0b3AgYXVnZWFzIGF2cm8tYyBiZHdnYyBmcmFtZSBncmFpbCBcCiAgICAgY2NpZCBjZXJlcy1zb2x2ZXIgY2tlcm1pdCBjcHByZXN0IGN0YXBpLWNvbW1vbiBkYWVtb25pemUgXAogICAgIGRhZW1vbnRvb2xzIGRlYnN1bXMgZGV2bWVtMiBkZnUtdXRpbCBkZnUtdXRpbC1uYXRpdmUgZGlnaXRlbXAgXAotICAgIGRzdGF0IGVqZWN0IGVuY2EgZXBlZyBlc3BlYWsgZXNwZWFrLWRhdGEgZmJzZXQgZmJzZXQtbW9kZXMgXAorICAgIGRzdGF0IGVqZWN0IGVuY2EgZXBlZyBlc3BlYWsgZmJzZXQgZmJzZXQtbW9kZXMgXAogICAgIGZmdHcgZmx0ay1uYXRpdmUgZ2QgZ2ZsYWdzIGdsb2cgZ251bGliIGdwZXJmdG9vbHMgXAogICAgIGdwbSBncmFkbSBnc2wgZ3NvYXAgaGRkdGVtcCBoaWRhcGkgaHRvcCBodW5zcGVsbCBod2RhdGEgaWtzZW1lbCBcCiAgICAgbGliaW5paCBpbm90aWZ5LXRvb2xzIGpvZSBsY21zIGxjb3YgbGliYXRhc21hcnQgbGliYnl0ZXNpemUgXApAQCAtMjQyLDcgKzI0Myw3IEBACiAgICAgc2pmMjQxMC1saW51eC1uYXRpdmUgc2F0eXIgc2RwYXJtIHB0eS1mb3J3YXJkLW5hdGl2ZSBzZXJpYWwtZm9yd2FyZCBcCiAgICAgc2czLXV0aWxzIHNoYXJ1dGlscyBzbWVtIHNwaXRvb2xzIHNyZWNvcmQgc3NpYXBpIHN0YXJ0LXN0b3AtZGFlbW9uIHN0bTMyZmxhc2ggXAogICAgIHN5c2xvZy1uZyBzeXN0ZW0tY29uZmlnLWtleWJvYXJkIHRiYiB0aGluLXByb3Zpc2lvbmluZy10b29scyB0b2t5b2NhYmluZXQgXAotICAgIHRyZWUgdWRpc2tzIHVkaXNrczIgdWh1YmN0bCB1bml4b2RiYyB1cG93ZXIgdXJpcGFyc2VyIHVzYi1tb2Rlc3dpdGNoIFwKKyAgICB0cmVlIHVodWJjdGwgdW5peG9kYmMgdXJpcGFyc2VyIHVzYi1tb2Rlc3dpdGNoIFwKICAgICB1c2ItbW9kZXN3aXRjaC1kYXRhIHVzYnBhdGggdXRoYXNoIHV0b3VjaC1ldmVtdSB1dG91Y2gtZnJhbWUgXAogICAgIHZpbSB2aW0tdGlueSB3ZWJzb2NrZXRwcCB3bWljb25maWcgeGRlbHRhMyB4ZGctdXNlci1kaXJzIHhtbHN0YXJsZXQgXAogICAgIHpiYXIgemlsZSBcCkBAIC0yNTAsNiArMjUxLDcgQEAKICAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgInB1bHNlYWRpbyBibHVlejQiLCAibGliY2FuYmVycmEiLCAiIiwgZCl9IFwKICAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgIngxMSBwYW0iLCAieG9yZ3hyZHAgeHJkcCIsICIiLCBkKX0gXAogICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAiYmx1ZXo0IiwgInByb2NtYWlsIiwgIiIsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJwb2xraXQiLCAidWRpc2tzIHVkaXNrczIgdXBvd2VyIiwgIiIsIGQpfSBcCiAgICAgJHtORTEwfSBcCiAgICAgIgogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9wbHltb3V0aC9maWxlcy8wMDAyLUZpeC1idWlsZC13aXRoLWdsaWJjLTIuMjgucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9wbHltb3V0aC9maWxlcy8wMDAyLUZpeC1idWlsZC13aXRoLWdsaWJjLTIuMjgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2MzhmNzUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcGx5bW91dGgvZmlsZXMvMDAwMi1GaXgtYnVpbGQtd2l0aC1nbGliYy0yLjI4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotRnJvbSAwYzAzNDUzMDNiNzk3MWQ2Y2VjNDc4ZmQ4YjgxZDY0YmMxZmJlMGY2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMjEgQXVnIDIwMTggMjM6MjY6NDUgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IGJ1aWxkIHdpdGggPj0gZ2xpYmMgMi4yOAotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1TdG9sZW4gZnJvbSBbMV0KLQotWzFdIGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjE5MQotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KLS0tLQotIHNyYy9saWJwbHktc3BsYXNoLWNvcmUvcGx5LXRlcm1pbmFsLmMgfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL3NyYy9saWJwbHktc3BsYXNoLWNvcmUvcGx5LXRlcm1pbmFsLmMgYi9zcmMvbGlicGx5LXNwbGFzaC1jb3JlL3BseS10ZXJtaW5hbC5jCi1pbmRleCBhMDk1NGYyLi5mM2IzMmZlIDEwMDY0NAotLS0tIGEvc3JjL2xpYnBseS1zcGxhc2gtY29yZS9wbHktdGVybWluYWwuYwotKysrIGIvc3JjL2xpYnBseS1zcGxhc2gtY29yZS9wbHktdGVybWluYWwuYwotQEAgLTMyLDYgKzMyLDcgQEAKLSAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgotICNpbmNsdWRlIDxzeXMvc3RhdC5oPgotICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSsjaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgotICNpbmNsdWRlIDx0ZXJtaW9zLmg+Ci0gI2luY2x1ZGUgPHVuaXN0ZC5oPgotICNpbmNsdWRlIDx3Y2hhci5oPgotLS0gCi0yLjE0LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcGx5bW91dGgvcGx5bW91dGhfMC45LjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9wbHltb3V0aC9wbHltb3V0aF8wLjkuMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTViMTZjOS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9wbHltb3V0aC9wbHltb3V0aF8wLjkuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDY3ICswLDAgQEAKLVNVTU1BUlkgPSAiUGx5bW91dGggaXMgYSBwcm9qZWN0IGZyb20gRmVkb3JhIHByb3ZpZGluZyBhIGZsaWNrZXItZnJlZSBncmFwaGljYWwgYm9vdCBwcm9jZXNzLiIKLQotREVTQ1JJUFRJT04gPSAiUGx5bW91dGggaXMgYW4gYXBwbGljYXRpb24gdGhhdCBydW5zIHZlcnkgZWFybHkgaW4gdGhlIGJvb3QgcHJvY2VzcyBcCi0gICAgKGV2ZW4gYmVmb3JlIHRoZSByb290IGZpbGVzeXN0ZW0gaXMgbW91bnRlZCEpIHRoYXQgcHJvdmlkZXMgYSBcCi0gICAgZ3JhcGhpY2FsIGJvb3QgYW5pbWF0aW9uIHdoaWxlIHRoZSBib290IHByb2Nlc3MgaGFwcGVucyBpbiB0aGUgYmFja2dyb3VuZC4gXAotIgotCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL1BseW1vdXRoIgotU0VDVElPTiA9ICJiYXNlIgotCi1MSUNFTlNFID0gIkdQTHYyKyIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCi0KLURFUEVORFMgPSAibGliY2FwIGxpYnBuZyBjYWlybyBkYnVzIHVkZXYiCi1QUk9WSURFUyA9ICJ2aXJ0dWFsL3BzcGxhc2giCi1SUFJPVklERVNfJHtQTn0gPSAidmlydHVhbC1wc3BsYXNoIHZpcnR1YWwtcHNwbGFzaC1zdXBwb3J0IgotCi1TUkNfVVJJID0gIiBcCi0gICAgaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvcGx5bW91dGgvcmVsZWFzZXMvJHtCUE59LSR7UFZ9LnRhci5iejIgXAotICAgIGZpbGU6Ly8wMDAxLU1ha2UtZnVsbC1wYXRoLXRvLXN5c3RlbWQtdHR5LWFzay1wYXNzd29yZC1hZ2VudC1jb24ucGF0Y2ggXAotICAgIGZpbGU6Ly8wMDAyLUZpeC1idWlsZC13aXRoLWdsaWJjLTIuMjgucGF0Y2ggXAotIgotU1JDX1VSSVttZDVzdW1dID0gImZmNDIwOTk0ZGViN2VhMjAzZGY2NzhkZjkyZTdhYjdkIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJmMGNlODIwNDJjZjljN2VhZGQyNTE3YTFmNzRjOGE4NWZhODY5OTc4MWQ5ZjI5NGEwNmVhZGUyOWZiZWQ1N2YiCi0KLUVYVFJBX09FQ09ORiArPSAiIC0tZW5hYmxlLXNoYXJlZCAtLWRpc2FibGUtc3RhdGljIC0tZGlzYWJsZS1ndGsgLS1kaXNhYmxlLWRvY3VtZW50YXRpb24gXAotICAgIC0td2l0aC1sb2dvPSR7TE9HT30gXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICctLWVuYWJsZS1zeXN0ZW1kLWludGVncmF0aW9uIC0td2l0aC1zeXN0ZW0tcm9vdC1pbnN0YWxsIC0td2l0aC1zeXN0ZW1kLXR0eS1hc2stcGFzc3dvcmQtYWdlbnQ9JHtiYXNlX2JpbmRpcn0vc3lzdGVtZC10dHktYXNrLXBhc3N3b3JkLWFnZW50JywgJycsIGQpfSBcCi0iCi0KLVBBQ0tBR0VDT05GSUcgPz89ICJwYW5nbyBpbml0cmQiCi1QQUNLQUdFQ09ORklHX2FwcGVuZF94ODYgPSAiIGRybSIKLVBBQ0tBR0VDT05GSUdfYXBwZW5kX3g4Ni02NCA9ICIgZHJtIgotCi1QQUNLQUdFQ09ORklHW2RybV0gPSAiLS1lbmFibGUtZHJtLC0tZGlzYWJsZS1kcm0sbGliZHJtIgotUEFDS0FHRUNPTkZJR1twYW5nb10gPSAiLS1lbmFibGUtcGFuZ28sLS1kaXNhYmxlLXBhbmdvLHBhbmdvIgotUEFDS0FHRUNPTkZJR1tndGtdID0gIi0tZW5hYmxlLWd0aywtLWRpc2FibGUtZ3RrLGd0ayszIgotUEFDS0FHRUNPTkZJR1tpbml0cmRdID0gIiwsLCIKLQotTE9HTyA/Pz0gIiR7ZGF0YWRpcn0vcGx5bW91dGgvYml6Y29tLnBuZyIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHN5c3RlbWQKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgIyBSZW1vdmUgL3Zhci9ydW4gZnJvbSBwYWNrYWdlIGFzIHBseW1vdXRoIHdpbGwgcG9wdWxhdGUgaXQgb24gc3RhcnR1cAotICAgIHJtIC1mciAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuIgotCi0gICAgaWYgISAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdpbml0cmQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgotICAgICAgICBybSAtcmYgIiR7RH0ke2xpYmV4ZWNkaXJ9IgotICAgIGZpCi19Ci0KLVBBQ0tBR0VTID0uICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdpbml0cmQnLCAnJHtQTn0taW5pdHJkICcsICcnLCBkKX0iCi1QQUNLQUdFUyA9KyAiJHtQTn0tc2V0LWRlZmF1bHQtdGhlbWUiCi0KLUZJTEVTXyR7UE59LWluaXRyZCA9ICIke2xpYmV4ZWNkaXJ9L3BseW1vdXRoLyoiCi1GSUxFU18ke1BOfS1zZXQtZGVmYXVsdC10aGVtZSA9ICIke3NiaW5kaXJ9L3BseW1vdXRoLXNldC1kZWZhdWx0LXRoZW1lIgotCi1GSUxFU18ke1BOfSArPSAiJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8qIgotRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vcGx5bW91dGgvcmVuZGVyZXJzLy5kZWJ1ZyIKLQotCi1SREVQRU5EU18ke1BOfS1pbml0cmQgPSAiYmFzaCBkcmFjdXQiCi1SREVQRU5EU18ke1BOfS1zZXQtZGVmYXVsdC10aGVtZSA9ICJiYXNoIgotCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAicGx5bW91dGgtc3RhcnQuc2VydmljZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3BseW1vdXRoL3BseW1vdXRoXzAuOS40LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcGx5bW91dGgvcGx5bW91dGhfMC45LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzA1OTc3ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3BseW1vdXRoL3BseW1vdXRoXzAuOS40LmJiCkBAIC0wLDAgKzEsNjcgQEAKK1NVTU1BUlkgPSAiUGx5bW91dGggaXMgYSBwcm9qZWN0IGZyb20gRmVkb3JhIHByb3ZpZGluZyBhIGZsaWNrZXItZnJlZSBncmFwaGljYWwgYm9vdCBwcm9jZXNzLiIKKworREVTQ1JJUFRJT04gPSAiUGx5bW91dGggaXMgYW4gYXBwbGljYXRpb24gdGhhdCBydW5zIHZlcnkgZWFybHkgaW4gdGhlIGJvb3QgcHJvY2VzcyBcCisgICAgKGV2ZW4gYmVmb3JlIHRoZSByb290IGZpbGVzeXN0ZW0gaXMgbW91bnRlZCEpIHRoYXQgcHJvdmlkZXMgYSBcCisgICAgZ3JhcGhpY2FsIGJvb3QgYW5pbWF0aW9uIHdoaWxlIHRoZSBib290IHByb2Nlc3MgaGFwcGVucyBpbiB0aGUgYmFja2dyb3VuZC4gXAorIgorCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL1BseW1vdXRoIgorU0VDVElPTiA9ICJiYXNlIgorCitMSUNFTlNFID0gIkdQTHYyKyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK0RFUEVORFMgPSAibGliY2FwIGxpYnBuZyBjYWlybyBkYnVzIHVkZXYiCitQUk9WSURFUyA9ICJ2aXJ0dWFsL3BzcGxhc2giCitSUFJPVklERVNfJHtQTn0gPSAidmlydHVhbC1wc3BsYXNoIHZpcnR1YWwtcHNwbGFzaC1zdXBwb3J0IgorCitTUkNfVVJJID0gIiBcCisgICAgaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvcGx5bW91dGgvcmVsZWFzZXMvJHtCUE59LSR7UFZ9LnRhci54eiBcCisgICAgZmlsZTovLzAwMDEtTWFrZS1mdWxsLXBhdGgtdG8tc3lzdGVtZC10dHktYXNrLXBhc3N3b3JkLWFnZW50LWNvbi5wYXRjaCBcCisgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjRlZmE1NTUxZDIzMDE2NTk4MWIxMDVlN2M2YTUwYWE3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjRhMTk3YTRmMWEwNTc4NWQ3NDUzZGQ4MjliMjMxMzUyZmIyZDA5MTcxYmQ4NmM1ZmZhYWZiYjJkZDY3OTEzNTEiCisKK0VYVFJBX09FQ09ORiArPSAiIC0tZW5hYmxlLXNoYXJlZCAtLWRpc2FibGUtc3RhdGljIC0tZGlzYWJsZS1ndGsgLS1kaXNhYmxlLWRvY3VtZW50YXRpb24gXAorICAgIC0td2l0aC1sb2dvPSR7TE9HT30gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICctLWVuYWJsZS1zeXN0ZW1kLWludGVncmF0aW9uIC0td2l0aC1zeXN0ZW0tcm9vdC1pbnN0YWxsIC0td2l0aC1zeXN0ZW1kLXR0eS1hc2stcGFzc3dvcmQtYWdlbnQ9JHtiYXNlX2JpbmRpcn0vc3lzdGVtZC10dHktYXNrLXBhc3N3b3JkLWFnZW50JywgJycsIGQpfSBcCisiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJwYW5nbyBpbml0cmQiCitQQUNLQUdFQ09ORklHX2FwcGVuZF94ODYgPSAiIGRybSIKK1BBQ0tBR0VDT05GSUdfYXBwZW5kX3g4Ni02NCA9ICIgZHJtIgorCitQQUNLQUdFQ09ORklHW2RybV0gPSAiLS1lbmFibGUtZHJtLC0tZGlzYWJsZS1kcm0sbGliZHJtIgorUEFDS0FHRUNPTkZJR1twYW5nb10gPSAiLS1lbmFibGUtcGFuZ28sLS1kaXNhYmxlLXBhbmdvLHBhbmdvIgorUEFDS0FHRUNPTkZJR1tndGtdID0gIi0tZW5hYmxlLWd0aywtLWRpc2FibGUtZ3RrLGd0ayszIgorUEFDS0FHRUNPTkZJR1tpbml0cmRdID0gIiwsLCIKKworTE9HTyA/Pz0gIiR7ZGF0YWRpcn0vcGx5bW91dGgvYml6Y29tLnBuZyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHN5c3RlbWQKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyBSZW1vdmUgL3Zhci9ydW4gZnJvbSBwYWNrYWdlIGFzIHBseW1vdXRoIHdpbGwgcG9wdWxhdGUgaXQgb24gc3RhcnR1cAorICAgIHJtIC1mciAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuIgorCisgICAgaWYgISAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdpbml0cmQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICBybSAtcmYgIiR7RH0ke2xpYmV4ZWNkaXJ9IgorICAgIGZpCit9CisKK1BBQ0tBR0VTID0uICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdpbml0cmQnLCAnJHtQTn0taW5pdHJkICcsICcnLCBkKX0iCitQQUNLQUdFUyA9KyAiJHtQTn0tc2V0LWRlZmF1bHQtdGhlbWUiCisKK0ZJTEVTXyR7UE59LWluaXRyZCA9ICIke2xpYmV4ZWNkaXJ9L3BseW1vdXRoLyoiCitGSUxFU18ke1BOfS1zZXQtZGVmYXVsdC10aGVtZSA9ICIke3NiaW5kaXJ9L3BseW1vdXRoLXNldC1kZWZhdWx0LXRoZW1lIgorCitGSUxFU18ke1BOfSArPSAiJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8qIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vcGx5bW91dGgvcmVuZGVyZXJzLy5kZWJ1ZyIKKworCitSREVQRU5EU18ke1BOfS1pbml0cmQgPSAiYmFzaCBkcmFjdXQiCitSREVQRU5EU18ke1BOfS1zZXQtZGVmYXVsdC10aGVtZSA9ICJiYXNoIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAicGx5bW91dGgtc3RhcnQuc2VydmljZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3RveWJveC90b3lib3hfMC43LjUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS90b3lib3gvdG95Ym94XzAuNy41LmJiCmluZGV4IDFlYTg2OGYuLjYxNDEzNmUgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3RveWJveC90b3lib3hfMC43LjUuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvdG95Ym94L3RveWJveF8wLjcuNS5iYgpAQCAtNDgsNyArNDgsNyBAQAogICAgIGluc3RhbGwgLW0gMDY0NCAke0J9L3RveWJveC5saW5rcyAke0R9JHtzeXNjb25mZGlyfQogfQogCi1pbmhlcml0IHVwZGF0ZS1hbHRlcm5hdGl2ZXMKK2luaGVyaXQgY21sMSB1cGRhdGUtYWx0ZXJuYXRpdmVzCiAKICMgSWYgeW91J3ZlIGNob3NlbiB0byBpbnN0YWxsIHRveWJveCB5b3UgcHJvYmFibHkgd2FudCBpdCB0byB0YWtlIHByZWNlZGVuY2UKICMgb3ZlciBidXN5Ym94IHdoZXJlIHBvc3NpYmxlIGJ1dCBub3Qgb3ZlciBvdGhlciBwYWNrYWdlcwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNyeXB0by9ib3Rhbi9ib3Rhbl8yLjcuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jcnlwdG8vYm90YW4vYm90YW5fMi43LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkyODUzZDAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNyeXB0by9ib3Rhbi9ib3Rhbl8yLjcuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDE4IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0jIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIENPUFlJTkcuTUlUIGZvciB0aGUgdGVybXMpCi0KLURFU0NSSVBUSU9OID0gIkNyeXB0byBhbmQgVExTIGZvciBDKysxMSIKLUhPTUVQQUdFID0gImh0dHBzOi8vYm90YW4ucmFuZG9tYml0Lm5ldCIKLUxJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vbGljZW5zZS50eHQ7bWQ1PWJmMzYxZmM2M2RmM2ZhMjU2NTJlZTgyYzQzYjc2MDFhIgotU0VDVElPTiA9ICJsaWJzIgotCi0KLSN2Mi43LjAKLVNSQ1JFViA9ICI1ODc0MDAwZDQyYzMzOGVjOTVhN2ZmMjRjZGMwYzY0ZTcwZjk2N2I1IgotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3JhbmRvbWJpdC9ib3Rhbi5naXQiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWluaGVyaXQgcHl0aG9uM25hdGl2ZSBzaXRlaW5mbyBsaWJfcGFja2FnZQotCi1DUFUgPz0gIiR7VEFSR0VUX0FSQ0h9IgotQ1BVX3g4NiA9ICJ4ODZfMzIiCi1DUFVfYXJtdjdhID0gImFybXY3IgotQ1BVX2FybXY3dmUgPSAiYXJtdjciCi0KLWRvX2NvbmZpZ3VyZSgpIHsKLQlweXRob24zICR7U30vY29uZmlndXJlLnB5IFwKLQktLXByZWZpeD0iJHtEfSR7cHJlZml4fSIgXAotCS0tY3B1PSIke0NQVX0iIFwKLQktLWNjLWJpbj0iJHtDWFh9IiBcCi0JLS1jeHhmbGFncz0iJHtDWFhGTEFHU30iIFwKLQktLWxkZmxhZ3M9IiR7TERGTEFHU30iIFwKLQktLXdpdGgtZW5kaWFuPSR7QG9lLnV0aWxzLmNvbmRpdGlvbmFsKCdTSVRFSU5GT19FTkRJQU5ORVNTJywgJ2xlJywgJ2xpdHRsZScsICdiaWcnLCBkKX0gXAotCSR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUVU5FX0ZFQVRVUkVTIiwibmVvbiIsIiIsIi0tZGlzYWJsZS1uZW9uIixkKX0gXAotCS0td2l0aC1zeXNyb290LWRpcj0ke1NUQUdJTkdfRElSX1RBUkdFVH0gXAotCS0td2l0aC1idWlsZC1kaXI9IiR7Qn0iIFwKLQktLW9wdGltaXplLWZvci1zaXplIFwKLQktLXdpdGgtc3RhY2stcHJvdGVjdG9yIFwKLQktLWVuYWJsZS1zaGFyZWQtbGlicmFyeSBcCi0JLS13aXRoLXB5dGhvbi12ZXJzaW9ucz0zIFwKLQkke0VYVFJBX09FQ09ORn0KLX0KLQotZG9fY29tcGlsZSgpIHsKLQlvZV9ydW5tYWtlCi19Ci1kb19pbnN0YWxsKCkgewotCW9lX3J1bm1ha2UgaW5zdGFsbAotCXNlZCAtaSAtZSAic3wke0R9fHxnIiAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy9ib3Rhbi0yLnBjCi19Ci0KLVBBQ0tBR0VTICs9ICIke1BOfS1weXRob24zIgotCi1GSUxFU18ke1BOfS1weXRob24zID0gIiR7bGliZGlyfS9weXRob24zIgotCi1SREVQRU5EU18ke1BOfS1weXRob24zICs9ICJweXRob24zIgotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY3J5cHRvL2JvdGFuL2JvdGFuXzIuOS4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNyeXB0by9ib3Rhbi9ib3Rhbl8yLjkuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hN2QyNWQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNyeXB0by9ib3Rhbi9ib3Rhbl8yLjkuMC5iYgpAQCAtMCwwICsxLDUzIEBACisjIENvcHlyaWdodCAoQykgMjAxOCBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBDT1BZSU5HLk1JVCBmb3IgdGhlIHRlcm1zKQorCitERVNDUklQVElPTiA9ICJDcnlwdG8gYW5kIFRMUyBmb3IgQysrMTEiCitIT01FUEFHRSA9ICJodHRwczovL2JvdGFuLnJhbmRvbWJpdC5uZXQiCitMSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2xpY2Vuc2UudHh0O21kNT1mNGMxNDVkNGQ3MGEzMjQ0YTA1M2M5ZjkwZDQ4NDFmYyIKK1NFQ1RJT04gPSAibGlicyIKKworU1JDX1VSSSA9ICJodHRwczovL2JvdGFuLnJhbmRvbWJpdC5uZXQvcmVsZWFzZXMvQm90YW4tJHtQVn0udGd6IgorU1JDX1VSSVttZDVzdW1dID0gImRiODQwM2Q2YTJmMTBjMjBmZGUzZjNjNzZiZTlhMDQ1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjMwNTU2NDM1MjMzNGRkNjNhZTYzZGIwMzkwNzdkOTZhZTUyZGZhNTdhMzI0ODg3MTA4MTcxOWI2YTlmMmQxMTkiCisKK1MgPSAiJHtXT1JLRElSfS9Cb3Rhbi0ke1BWfSIKKworaW5oZXJpdCBweXRob24zbmF0aXZlIHNpdGVpbmZvIGxpYl9wYWNrYWdlCisKK0NQVSA/PSAiJHtUQVJHRVRfQVJDSH0iCitDUFVfeDg2ID0gIng4Nl8zMiIKK0NQVV9hcm12N2EgPSAiYXJtdjciCitDUFVfYXJtdjd2ZSA9ICJhcm12NyIKKworZG9fY29uZmlndXJlKCkgeworCXB5dGhvbjMgJHtTfS9jb25maWd1cmUucHkgXAorCS0tcHJlZml4PSIke0R9JHtwcmVmaXh9IiBcCisJLS1jcHU9IiR7Q1BVfSIgXAorCS0tY2MtYmluPSIke0NYWH0iIFwKKwktLWN4eGZsYWdzPSIke0NYWEZMQUdTfSIgXAorCS0tbGRmbGFncz0iJHtMREZMQUdTfSIgXAorCS0td2l0aC1lbmRpYW49JHtAb2UudXRpbHMuY29uZGl0aW9uYWwoJ1NJVEVJTkZPX0VORElBTk5FU1MnLCAnbGUnLCAnbGl0dGxlJywgJ2JpZycsIGQpfSBcCisJJHtAYmIudXRpbHMuY29udGFpbnMoIlRVTkVfRkVBVFVSRVMiLCJuZW9uIiwiIiwiLS1kaXNhYmxlLW5lb24iLGQpfSBcCisJLS13aXRoLXN5c3Jvb3QtZGlyPSR7U1RBR0lOR19ESVJfVEFSR0VUfSBcCisJLS13aXRoLWJ1aWxkLWRpcj0iJHtCfSIgXAorCS0tb3B0aW1pemUtZm9yLXNpemUgXAorCS0td2l0aC1zdGFjay1wcm90ZWN0b3IgXAorCS0tZW5hYmxlLXNoYXJlZC1saWJyYXJ5IFwKKwktLXdpdGgtcHl0aG9uLXZlcnNpb25zPTMgXAorCSR7RVhUUkFfT0VDT05GfQorfQorCitkb19jb21waWxlKCkgeworCW9lX3J1bm1ha2UKK30KK2RvX2luc3RhbGwoKSB7CisJb2VfcnVubWFrZSBpbnN0YWxsCisJc2VkIC1pIC1lICJzfCR7RH18fGciICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnL2JvdGFuLTIucGMKK30KKworUEFDS0FHRVMgKz0gIiR7UE59LXB5dGhvbjMiCisKK0ZJTEVTXyR7UE59LXB5dGhvbjMgPSAiJHtsaWJkaXJ9L3B5dGhvbjMiCisKK1JERVBFTkRTXyR7UE59LXB5dGhvbjMgKz0gInB5dGhvbjMiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY3J5cHRvL2NyeXB0c2V0dXAvY3J5cHRzZXR1cF8yLjAuNC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jcnlwdG8vY3J5cHRzZXR1cC9jcnlwdHNldHVwXzIuMC40LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYzdiYzZlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jcnlwdG8vY3J5cHRzZXR1cC9jcnlwdHNldHVwXzIuMC40LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotU1VNTUFSWSA9ICJNYW5hZ2UgcGxhaW4gZG0tY3J5cHQgYW5kIExVS1MgZW5jcnlwdGVkIHZvbHVtZXMiCi1ERVNDUklQVElPTiA9ICJDcnlwdHNldHVwIGlzIHVzZWQgdG8gY29udmVuaWVudGx5IHNldHVwIGRtLWNyeXB0IG1hbmFnZWQgXAotZGV2aWNlLW1hcHBlciBtYXBwaW5ncy4gVGhlc2UgaW5jbHVkZSBwbGFpbiBkbS1jcnlwdCB2b2x1bWVzIGFuZCBcCi1MVUtTIHZvbHVtZXMuIFRoZSBkaWZmZXJlbmNlIGlzIHRoYXQgTFVLUyB1c2VzIGEgbWV0YWRhdGEgaGVhZGVyIFwKLWFuZCBjYW4gaGVuY2Ugb2ZmZXIgbW9yZSBmZWF0dXJlcyB0aGFuIHBsYWluIGRtLWNyeXB0LiBPbiB0aGUgb3RoZXIgXAotaGFuZCwgdGhlIGhlYWRlciBpcyB2aXNpYmxlIGFuZCB2dWxuZXJhYmxlIHRvIGRhbWFnZS4iCi1IT01FUEFHRSA9ICJodHRwczovL2dpdGxhYi5jb20vY3J5cHRzZXR1cC9jcnlwdHNldHVwIgotU0VDVElPTiA9ICJjb25zb2xlIgotTElDRU5TRSA9ICJHUEwtMi4wLXdpdGgtT3BlblNTTC1leGNlcHRpb24iCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zMjEwN2RkMjgzYjFkZmViNjZjOWIzZTZiZTMxMjMyNiIKLQotREVQRU5EUyA9ICJ1dGlsLWxpbnV4IGxpYmRldm1hcHBlciBwb3B0IGxpYmdjcnlwdCBqc29uLWMiCi0KLVNSQ19VUkkgPSAiJHtLRVJORUxPUkdfTUlSUk9SfS9saW51eC91dGlscy8ke0JQTn0vdjIuMC8ke0JQfS50YXIueHoiCi1TUkNfVVJJW21kNXN1bV0gPSAiZWQ0MmIzMWY2N2QwNWIwNWUzOTJkMTk0M2Q0NjdiOGQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiOWQzYTNjNzAzMzI5M2UwYzk3ZjBhZDA1MDFmZDViNGQ0OTEzYWU0OTdjYmY3MGNjYTA2NjMzY2NjNTRiNTczNCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcKLQotIyBVc2Ugb3BlbnNzbCBiZWNhdXNlIGxpYmdjcnlwdCBkcm9wcyByb290IHByaXZpbGVnZXMKLSMgaWYgbGliZ2NyeXB0IGlzIGxpbmtlZCB3aXRoIGxpYmNhcCBzdXBwb3J0Ci1QQUNLQUdFQ09ORklHID8/PSAib3BlbnNzbCIKLVBBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS13aXRoLWNyeXB0b19iYWNrZW5kPW9wZW5zc2wsLG9wZW5zc2wiCi1QQUNLQUdFQ09ORklHW2djcnlwdF0gPSAiLS13aXRoLWNyeXB0b19iYWNrZW5kPWdjcnlwdCwsbGliZ2NyeXB0IgotCi1SUkVDT01NRU5EU18ke1BOfSA9ICJrZXJuZWwtbW9kdWxlLWFlcy1nZW5lcmljIFwKLSAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUtZG0tY3J5cHQgXAotICAgICAgICAgICAgICAgICAgICAga2VybmVsLW1vZHVsZS1tZDUgXAotICAgICAgICAgICAgICAgICAgICAga2VybmVsLW1vZHVsZS1jYmMgXAotICAgICAgICAgICAgICAgICAgICAga2VybmVsLW1vZHVsZS1zaGEyNTYtZ2VuZXJpYyBcCi0gICAgICAgICAgICAgICAgICAgICBrZXJuZWwtbW9kdWxlLXh0cyBcCi0iCi0KLUVYVFJBX09FQ09ORiA9ICItLWVuYWJsZS1zdGF0aWMiCi0KLUZJTEVTXyR7UE59ICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJyR7ZXhlY19wcmVmaXh9L2xpYi90bXBmaWxlcy5kL2NyeXB0c2V0dXAuY29uZicsICcnLCBkKX0iCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jcnlwdG8vY3J5cHRzZXR1cC9jcnlwdHNldHVwXzIuMS4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNyeXB0by9jcnlwdHNldHVwL2NyeXB0c2V0dXBfMi4xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2YxZDIyMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jcnlwdG8vY3J5cHRzZXR1cC9jcnlwdHNldHVwXzIuMS4wLmJiCkBAIC0wLDAgKzEsMzggQEAKK1NVTU1BUlkgPSAiTWFuYWdlIHBsYWluIGRtLWNyeXB0IGFuZCBMVUtTIGVuY3J5cHRlZCB2b2x1bWVzIgorREVTQ1JJUFRJT04gPSAiQ3J5cHRzZXR1cCBpcyB1c2VkIHRvIGNvbnZlbmllbnRseSBzZXR1cCBkbS1jcnlwdCBtYW5hZ2VkIFwKK2RldmljZS1tYXBwZXIgbWFwcGluZ3MuIFRoZXNlIGluY2x1ZGUgcGxhaW4gZG0tY3J5cHQgdm9sdW1lcyBhbmQgXAorTFVLUyB2b2x1bWVzLiBUaGUgZGlmZmVyZW5jZSBpcyB0aGF0IExVS1MgdXNlcyBhIG1ldGFkYXRhIGhlYWRlciBcCithbmQgY2FuIGhlbmNlIG9mZmVyIG1vcmUgZmVhdHVyZXMgdGhhbiBwbGFpbiBkbS1jcnlwdC4gT24gdGhlIG90aGVyIFwKK2hhbmQsIHRoZSBoZWFkZXIgaXMgdmlzaWJsZSBhbmQgdnVsbmVyYWJsZSB0byBkYW1hZ2UuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRsYWIuY29tL2NyeXB0c2V0dXAvY3J5cHRzZXR1cCIKK1NFQ1RJT04gPSAiY29uc29sZSIKK0xJQ0VOU0UgPSAiR1BMLTIuMC13aXRoLU9wZW5TU0wtZXhjZXB0aW9uIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzIxMDdkZDI4M2IxZGZlYjY2YzliM2U2YmUzMTIzMjYiCisKK0RFUEVORFMgPSAidXRpbC1saW51eCBsaWJkZXZtYXBwZXIgcG9wdCBsaWJnY3J5cHQganNvbi1jIgorCitTUkNfVVJJID0gIiR7S0VSTkVMT1JHX01JUlJPUn0vbGludXgvdXRpbHMvJHtCUE59L3Yke0BkLmdldFZhcignUFYnKS5zcGxpdCgnLicpWzBdfS4ke0BkLmdldFZhcignUFYnKS5zcGxpdCgnLicpWzFdfS8ke0JQfS50YXIueHoiCitTUkNfVVJJW21kNXN1bV0gPSAiNDFkOGI5ODVlZjY5MjQyODUyYjkzZTk1ZDUzZThlMjgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTNlZWIyNzQxZjhmMzM3NmQxNjU4NTE5MWYzYzYwZTA2N2RkOTg3ZTA5NmMzYzRiMDczZmFiNzc0OGIxYzg5NyIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcKKworIyBVc2Ugb3BlbnNzbCBiZWNhdXNlIGxpYmdjcnlwdCBkcm9wcyByb290IHByaXZpbGVnZXMKKyMgaWYgbGliZ2NyeXB0IGlzIGxpbmtlZCB3aXRoIGxpYmNhcCBzdXBwb3J0CitQQUNLQUdFQ09ORklHID8/PSAib3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS13aXRoLWNyeXB0b19iYWNrZW5kPW9wZW5zc2wsLG9wZW5zc2wiCitQQUNLQUdFQ09ORklHW2djcnlwdF0gPSAiLS13aXRoLWNyeXB0b19iYWNrZW5kPWdjcnlwdCwsbGliZ2NyeXB0IgorCitSUkVDT01NRU5EU18ke1BOfSA9ICJrZXJuZWwtbW9kdWxlLWFlcy1nZW5lcmljIFwKKyAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUtZG0tY3J5cHQgXAorICAgICAgICAgICAgICAgICAgICAga2VybmVsLW1vZHVsZS1tZDUgXAorICAgICAgICAgICAgICAgICAgICAga2VybmVsLW1vZHVsZS1jYmMgXAorICAgICAgICAgICAgICAgICAgICAga2VybmVsLW1vZHVsZS1zaGEyNTYtZ2VuZXJpYyBcCisgICAgICAgICAgICAgICAgICAgICBrZXJuZWwtbW9kdWxlLXh0cyBcCisiCisKK0VYVFJBX09FQ09ORiA9ICItLWVuYWJsZS1zdGF0aWMiCisKK0ZJTEVTXyR7UE59ICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJyR7ZXhlY19wcmVmaXh9L2xpYi90bXBmaWxlcy5kL2NyeXB0c2V0dXAuY29uZicsICcnLCBkKX0iCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jcnlwdG8vbGlia2NhcGkvbGlia2NhcGlfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNyeXB0by9saWJrY2FwaS9saWJrY2FwaV9naXQuYmIKaW5kZXggYTkzZGRjOC4uNDZjNjZhMSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNyeXB0by9saWJrY2FwaS9saWJrY2FwaV9naXQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNyeXB0by9saWJrY2FwaS9saWJrY2FwaV9naXQuYmIKQEAgLTEsMTQgKzEsMTMgQEAKIFNVTU1BUlkgPSAiTGludXggS2VybmVsIENyeXB0byBBUEkgVXNlciBTcGFjZSBJbnRlcmZhY2UgTGlicmFyeSIKIEhPTUVQQUdFID0gImh0dHA6Ly93d3cuY2hyb25veC5kZS9saWJrY2FwaS5odG1sIgogTElDRU5TRSA9ICJCU0QgfCBHUEwtMi4wIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDA0MjFjZjIzMTQyM2JkYTEwY2VhNjkxYjYxM2U4NjYiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xNGQ1YTY4YjI4NzU1YzA0ZWJkYmEyMjZlODg4YjE1NyIKIAogREVQRU5EUyA9ICJsaWJ0b29sIgogCiBTID0gIiR7V09SS0RJUn0vZ2l0IgotIyBVc2UgdjEuMS4zIHdpdGggY2hhbmdlcyBvbiB0b3AgZm9yIGJ1aWxkaW5nIGluIE9FCi1TUkNSRVYgPSAiMWM3MzZjNDNlYjcxZmJiNTY0MGQwMGVmYWYzNGExZWRmMTk3MmM0OSIKLVBWID0gIjEuMS4zK2dpdCR7U1JDUFZ9IgorU1JDUkVWID0gIjNjNTY5MzRmNDRhOGY1YTEyNTdjMzQyOTQyZTZlMDM0ZmM2ZjIwYmUiCitQViA9ICIxLjEuNCtnaXQke1NSQ1BWfSIKIFNSQ19VUkkgPSAiIFwKICAgICBnaXQ6Ly9naXRodWIuY29tL3NtdWVsbGVyREQvbGlia2NhcGkuZ2l0IFwKICIKQEAgLTE2LDEzICsxNSwxNyBAQAogaW5oZXJpdCBhdXRvdG9vbHMKIAogUEFDS0FHRUNPTkZJRyA/Pz0gIiIKLVBBQ0tBR0VDT05GSUdbdGVzdGFwcF0gPSAiLS1lbmFibGUta2NhcGktdGVzdCwsLCIKK1BBQ0tBR0VDT05GSUdbdGVzdGFwcF0gPSAiLS1lbmFibGUta2NhcGktdGVzdCwsLGJhc2giCiBQQUNLQUdFQ09ORklHW2FwcHNdID0gIi0tZW5hYmxlLWtjYXBpLXNwZWVkIC0tZW5hYmxlLWtjYXBpLWhhc2hlciAtLWVuYWJsZS1rY2FwaS1ybmdhcHAgLS1lbmFibGUta2NhcGktZW5jYXBwIC0tZW5hYmxlLWtjYXBpLWRnc3RhcHAsLCwiCiAKIGRvX2luc3RhbGxfYXBwZW5kKCkgewogICAgICMgYmluZGlyIGNvbnRhaW5zIHRlc3RhcHAgYW5kIGFwcHMuICBIb3dldmVyIGl0IGlzIGFsd2F5cyBjcmVhdGVkLCBldmVuCiAgICAgIyB3aGVuIG5vIGJpbmFyaWVzIGFyZSBpbnN0YWxsZWQgKGVtcHR5IGJpbl9QUk9HUkFNUyBpbiBNYWtlZmlsZS5hbSksCiAgICAgcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgJHtEfSR7YmluZGlyfQorCisgICAgIyBSZW1vdmUgdGhlIGdlbmVyYXRlZCBiaW5hcnkgY2hlY2tzdW0gZmlsZXMKKyAgICBybSAtZiAke0R9JHtiaW5kaXJ9Ly4qLmhtYWMKKyAgICBybSAtZiAke0R9JHtsaWJkaXJ9Ly4qLmhtYWMKIH0KIAogQ1BQRkxBR1NfYXBwZW5kX2xpYmMtbXVzbF90b29sY2hhaW4tY2xhbmcgPSAiIC1Xbm8tZXJyb3I9c2lnbi1jb21wYXJlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNyeXB0by9saWJzb2RpdW0vbGlic29kaXVtXzEuMC4xNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jcnlwdG8vbGlic29kaXVtL2xpYnNvZGl1bV8xLjAuMTYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU3ZjM4ZmUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNyeXB0by9saWJzb2RpdW0vbGlic29kaXVtXzEuMC4xNi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLVNVTU1BUlkgPSAiVGhlIFNvZGl1bSBjcnlwdG8gbGlicmFyeSIKLUhPTUVQQUdFID0gImh0dHA6Ly9saWJzb2RpdW0ub3JnLyIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL2plZGlzY3QxL2xpYnNvZGl1bS9pc3N1ZXMiCi1MSUNFTlNFID0gIklTQyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTdmNWVjYmExZmE3OTNmYzFmM2M4ZjMyZDZjYjVhMzdiIgotCi1TUkNfVVJJID0gImh0dHBzOi8vZG93bmxvYWQubGlic29kaXVtLm9yZy9saWJzb2RpdW0vcmVsZWFzZXMvJHtCUE59LSR7UFZ9LnRhci5neiIKLVNSQ19VUklbbWQ1c3VtXSA9ICIzN2IxODgzOWU1N2U3YTYyODM0MjMxMzk1YzhlOTYyYiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlZWFkYzdlMWUxYmNlZjA5NjgwZmI0ODM3ZDQ0OGZiZGY1NzIyNDk3OGY4NjVhYzFjMTY3NDU4NjhmYmQwNTMzIgotCi1pbmhlcml0IGF1dG90b29scwotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY3J5cHRvL2xpYnNvZGl1bS9saWJzb2RpdW1fMS4wLjE3LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNyeXB0by9saWJzb2RpdW0vbGlic29kaXVtXzEuMC4xNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZDkzMDJmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNyeXB0by9saWJzb2RpdW0vbGlic29kaXVtXzEuMC4xNy5iYgpAQCAtMCwwICsxLDEzIEBACitTVU1NQVJZID0gIlRoZSBTb2RpdW0gY3J5cHRvIGxpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwOi8vbGlic29kaXVtLm9yZy8iCitCVUdUUkFDS0VSID0gImh0dHBzOi8vZ2l0aHViLmNvbS9qZWRpc2N0MS9saWJzb2RpdW0vaXNzdWVzIgorTElDRU5TRSA9ICJJU0MiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT00NzIwM2M3NTM5NzJlODU1MTc5ZGZmZmUxNTE4OGJlZSIKKworU1JDX1VSSSA9ICJodHRwczovL2Rvd25sb2FkLmxpYnNvZGl1bS5vcmcvbGlic29kaXVtL3JlbGVhc2VzLyR7QlBOfS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiMGY3MWUyNjgwMTg3YTE1NThiNTQ2MWU2ODc5MzQyYzUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGNjM2RhZTMzZTY0MmNjMTg3YjVjZWI0NjdlMGFkMGUxYjUxZGNiYTU3N2RlMTE5MGU5ZmZhMTc3NjZhYzJiMSIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9sZXZlbGRiL2xldmVsZGJfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9sZXZlbGRiL2xldmVsZGJfZ2l0LmJiCmluZGV4IDhmZWM4OWMuLjkwOGFkM2UgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbGV2ZWxkYi9sZXZlbGRiX2dpdC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL2xldmVsZGIvbGV2ZWxkYl9naXQuYmIKQEAgLTM1LDMgKzM1LDcgQEAKIAogUEFDS0FHRVMgPSsgIiR7UE59LXB0ZXN0IgogRklMRVNfJHtQTn0tcHRlc3QgPSAiJHtiaW5kaXJ9IgorCisjIERvIG5vdCB0cnkgdG8gYnVpbGQgbGliMzItbGV2ZWxkYiBmb3IgbWlwczY0LCBidXQgYWxsb3cgbGlibjMyLWxldmVsZGIuCisjCitDT01QQVRJQkxFX0hPU1RfbWlwc2FyY2hvMzJfcG4tbGliMzItbGV2ZWxkYiA9ICJudWxsIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9tb25nb2RiL21vbmdvZGIvMDAwMS1hc2lvLURvbnQtdXNlLWV4cGVyaW1lbnRhbC13aXRoLWNsYW5nLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9tb25nb2RiL21vbmdvZGIvMDAwMS1hc2lvLURvbnQtdXNlLWV4cGVyaW1lbnRhbC13aXRoLWNsYW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1OTc0MjIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL21vbmdvZGIvbW9uZ29kYi8wMDAxLWFzaW8tRG9udC11c2UtZXhwZXJpbWVudGFsLXdpdGgtY2xhbmcucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorRnJvbSAzMWNhNWM1NjNmMWQ5YTNmNzAyNThiZTNkZDJiMWU1NDdhNjVhNTUwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgNSBGZWIgMjAxOSAwMDoyMToxMiAtMDgwMAorU3ViamVjdDogW1BBVENIXSBhc2lvOiBEb250IHVzZSBleHBlcmltZW50YWwgd2l0aCBjbGFuZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgLi4uL2FzaW8tbWFzdGVyL2FzaW8vaW5jbHVkZS9hc2lvL2RldGFpbC9zdHJpbmdfdmlldy5ocHAgICAgICB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvdGhpcmRfcGFydHkvYXNpby1tYXN0ZXIvYXNpby9pbmNsdWRlL2FzaW8vZGV0YWlsL3N0cmluZ192aWV3LmhwcCBiL3NyYy90aGlyZF9wYXJ0eS9hc2lvLW1hc3Rlci9hc2lvL2luY2x1ZGUvYXNpby9kZXRhaWwvc3RyaW5nX3ZpZXcuaHBwCitpbmRleCAyMjJjMDIxODZkLi4zYmY3NDk0NTI5IDEwMDY0NAorLS0tIGEvc3JjL3RoaXJkX3BhcnR5L2FzaW8tbWFzdGVyL2FzaW8vaW5jbHVkZS9hc2lvL2RldGFpbC9zdHJpbmdfdmlldy5ocHAKKysrKyBiL3NyYy90aGlyZF9wYXJ0eS9hc2lvLW1hc3Rlci9hc2lvL2luY2x1ZGUvYXNpby9kZXRhaWwvc3RyaW5nX3ZpZXcuaHBwCitAQCAtMjgsOCArMjgsOCBAQAorIG5hbWVzcGFjZSBhc2lvIHsKKyAKKyAjaWYgZGVmaW5lZChBU0lPX0hBU19TVERfRVhQRVJJTUVOVEFMX1NUUklOR19WSUVXKQorLXVzaW5nIHN0ZDo6ZXhwZXJpbWVudGFsOjpiYXNpY19zdHJpbmdfdmlldzsKKy11c2luZyBzdGQ6OmV4cGVyaW1lbnRhbDo6c3RyaW5nX3ZpZXc7CisrdXNpbmcgc3RkOjpiYXNpY19zdHJpbmdfdmlldzsKKyt1c2luZyBzdGQ6OnN0cmluZ192aWV3OworICNlbHNlIC8vIGRlZmluZWQoQVNJT19IQVNfU1REX0VYUEVSSU1FTlRBTF9TVFJJTkdfVklFVykKKyB1c2luZyBzdGQ6OmJhc2ljX3N0cmluZ192aWV3OworIHVzaW5nIHN0ZDo6c3RyaW5nX3ZpZXc7CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL21vbmdvZGIvbW9uZ29kYi9kaXNhYmxlLWh3LWNyYzMyLW9uLWFybTY0LXMzOTB4LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9tb25nb2RiL21vbmdvZGIvZGlzYWJsZS1ody1jcmMzMi1vbi1hcm02NC1zMzkweC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjNkNDkyMy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL21vbmdvZGIvbW9uZ29kYi9kaXNhYmxlLWh3LWNyYzMyLW9uLWFybTY0LXMzOTB4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotaW1wb3J0ZWQgZnJvbSBkZWJpYW4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi1JbmRleDogZ2l0L3NyYy90aGlyZF9wYXJ0eS93aXJlZHRpZ2VyL1NDb25zY3JpcHQKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnaXQub3JpZy9zcmMvdGhpcmRfcGFydHkvd2lyZWR0aWdlci9TQ29uc2NyaXB0Ci0rKysgZ2l0L3NyYy90aGlyZF9wYXJ0eS93aXJlZHRpZ2VyL1NDb25zY3JpcHQKLUBAIC0xODEsNyArMTgxLDkgQEAgaWYgdXNlU25hcHB5OgotICMgSWYgbm90IGF2YWlsYWJsZSBhdCBydW50aW1lLCB3ZSBmYWxsIGJhY2sgdG8gc29mdHdhcmUgaW4gc29tZSBjYXNlcy4KLSAjCi0gIyBPbiB6U2VyaWVzIHdlIG1heSBkaXNhYmxlIGJlY2F1c2UgU0xFUyAxMSBrZXJuZWwgZG9lIG5vdCBzdXBwb3J0IHRoZSBpbnN0cnVjdGlvbnMuCi0taWYgbm90IChlbnZbJ1RBUkdFVF9BUkNIJ10gPT0gJ3MzOTB4JyBhbmQgZ2V0X29wdGlvbigidXNlLXMzOTB4LWNyYzMyIikgPT0gIm9mZiIpOgotKyMgRGViaWFuOiBkaXNhYmxlIGhhcmR3YXJlLWFzc2lzdGVkIGNyYzMyIG9uIHMzOTB4IGFuZCBhcm02NCwgYXMgYXQgbGVhc3QgdGhlCi0rIyBidWlsZGQncyBkbyBub3Qgc3VwcG9ydCB0aGUgaW5zdHJ1Y3Rpb25zLgotK2lmIGVudlsnVEFSR0VUX0FSQ0gnXSBub3QgaW4gKCdzMzkweCcsICdhcm02NCcsICdhYXJjaDY0Jyk6Ci0gICAgIGVudi5BcHBlbmQoQ1BQREVGSU5FUz1bIkhBVkVfQ1JDMzJfSEFSRFdBUkUiXSkKLSAKLSB3dGxpYiA9IGVudi5MaWJyYXJ5KAotSW5kZXg6IGdpdC9zcmMvdGhpcmRfcGFydHkvd2lyZWR0aWdlci9kaXN0L2ZpbGVsaXN0Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvc3JjL3RoaXJkX3BhcnR5L3dpcmVkdGlnZXIvZGlzdC9maWxlbGlzdAotKysrIGdpdC9zcmMvdGhpcmRfcGFydHkvd2lyZWR0aWdlci9kaXN0L2ZpbGVsaXN0Ci1AQCAtNTQsNyArNTQsNiBAQCBzcmMvY2hlY2tzdW0vcG93ZXI4L2NyYzMyX3dyYXBwZXIuYwlQT1dFCi0gc3JjL2NoZWNrc3VtL3NvZnR3YXJlL2NoZWNrc3VtLmMKLSBzcmMvY2hlY2tzdW0veDg2L2NyYzMyLXg4Ni5jCQlYODZfSE9TVAotIHNyYy9jaGVja3N1bS96c2VyaWVzL2NyYzMyLXMzOTB4LmMJWlNFUklFU19IT1NUCi0tc3JjL2NoZWNrc3VtL3pzZXJpZXMvY3JjMzJsZS12eC5zeAlaU0VSSUVTX0hPU1QKLSBzcmMvY29uZmlnL2NvbmZpZy5jCi0gc3JjL2NvbmZpZy9jb25maWdfYXBpLmMKLSBzcmMvY29uZmlnL2NvbmZpZ19jaGVjay5jCi1JbmRleDogZ2l0L3NyYy90aGlyZF9wYXJ0eS93aXJlZHRpZ2VyL3NyYy9jaGVja3N1bS96c2VyaWVzL2NyYzMyLXMzOTB4LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnaXQub3JpZy9zcmMvdGhpcmRfcGFydHkvd2lyZWR0aWdlci9zcmMvY2hlY2tzdW0venNlcmllcy9jcmMzMi1zMzkweC5jCi0rKysgZ2l0L3NyYy90aGlyZF9wYXJ0eS93aXJlZHRpZ2VyL3NyYy9jaGVja3N1bS96c2VyaWVzL2NyYzMyLXMzOTB4LmMKLUBAIC03Nyw2ICs3Nyw3IEBAIHVuc2lnbmVkIGludCBfX3d0X2NyYzMyY19sZSh1bnNpZ25lZCBpbnQKLSAJCXJldHVybiBjcmM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAJfQotIAotKyNpZiBkZWZpbmVkKEhBVkVfQ1JDMzJfSEFSRFdBUkUpCi0gLyogTWFpbiBDUkMtMzIgZnVuY3Rpb25zICovCi0gREVGSU5FX0NSQzMyX1ZYKF9fd3RfY3JjMzJjX2xlX3Z4LCBfX3d0X2NyYzMyY19sZV92Z2ZtXzE2LCBfX3d0X2NyYzMyY19sZSkKLSAKLUBAIC04OSw2ICs5MCw3IEBAIF9fd3RfY2hlY2tzdW1faHcoY29uc3Qgdm9pZCAqY2h1bmssIHNpemUKLSB7Ci0gCXJldHVybiAofl9fd3RfY3JjMzJjX2xlX3Z4KDB4ZmZmZmZmZmYsIGNodW5rLCBsZW4pKTsKLSB9Ci0rI2VuZGlmCi0gCi0gI2VuZGlmCi0gCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL21vbmdvZGIvbW9uZ29kYl9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL21vbmdvZGIvbW9uZ29kYl9naXQuYmIKaW5kZXggZDM5YWIwYS4uNTNhOWY2NiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9tb25nb2RiL21vbmdvZGJfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbW9uZ29kYi9tb25nb2RiX2dpdC5iYgpAQCAtMSw2ICsxLDYgQEAKIFNVTU1BUlkgPSAibW9uZ29kYiIKLUxJQ0VOU0UgPSAiQUdQTC0zLjAgJiBBcGFjaGUtMi4wICYgWmxpYiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0dOVS1BR1BMLTMuMC50eHQ7bWQ1PTczZjFlYjIwNTE3YzU1YmY5NDkzYjdkZDZlNDgwNzg4IFwKK0xJQ0VOU0UgPSAiU1NQTC0xICYgQXBhY2hlLTIuMCAmIFpsaWIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLUNvbW11bml0eS50eHQ7bWQ1PTNhODY1ZjI3ZjExZjQzZWNiZTU0MmQ5ZWEzODdkY2YxIFwKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL0FQQUNIRS0yLjAudHh0O21kNT0zYjgzZWY5NjM4N2YxNDY1NWZjODU0ZGRjM2M2YmQ1NyIKIAogREVQRU5EUyA9ICJvcGVuc3NsIGxpYnBjcmUgbGlicGNhcCB6bGliIGJvb3N0IGN1cmwgcHl0aG9uIFwKQEAgLTEwLDkgKzEwLDkgQEAKIAogaW5oZXJpdCBzY29ucyBkb3MydW5peCBzaXRlaW5mbyBweXRob25uYXRpdmUKIAotUFYgPSAiNC4wLjErZ2l0JHtTUkNQVn0iCi0jdjQuMC4xCi1TUkNSRVYgPSAiNTRmMTU4MmZjNmViMDFkZTRkNGM0MmYyNmZjMTMzZTYyM2YwNjVmYiIKK1BWID0gIjQuMC42K2dpdCR7U1JDUFZ9IgorI3Y0LjAuNgorU1JDUkVWID0gImNhYTQyYTFmNzVhNTZjNzY0M2QwYjY4ZDM4ODA0NDQzNzVlYzQyZTMiCiBTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbW9uZ29kYi9tb25nby5naXQ7YnJhbmNoPXY0LjAgXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1UZWxsLXNjb25zLXRvLXVzZS1idWlsZC1zZXR0aW5ncy1mcm9tLWVudmlyb25tZW50LXZhLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtVXNlLWxvbmctbG9uZy1pbnN0ZWFkLW9mLWludDY0X3QucGF0Y2ggXApAQCAtMjAsOCArMjAsOCBAQAogICAgICAgICAgICBmaWxlOi8vMDAwMi1BZGQtYS1kZWZpbml0aW9uLWZvci10aGUtbWFjcm8tX19FTEZfTkFUSVZFX0NMQVNTLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL2FybTY0LXN1cHBvcnQucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1JbnRlbFJERlBNYXRoTGliMjBVMS1DaGVjay1mb3ItX19ERUZJTkVEX3djaGFyX3QucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGlzYWJsZS1ody1jcmMzMi1vbi1hcm02NC1zMzkweC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLVN1cHBvcnQtZGVwcmVjYXRlZC1yZXNvbHZlci1mdW5jdGlvbnMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1hc2lvLURvbnQtdXNlLWV4cGVyaW1lbnRhbC13aXRoLWNsYW5nLnBhdGNoIFwKICAgICAgICAgICAgIgogU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsID0iXAogICAgICAgICAgICBmaWxlOi8vMDAwMi1GaXgtZGVmYXVsdC1zdGFjay1zaXplLXRvLTI1NksucGF0Y2ggXApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiLW5hdGl2ZV8xMC4zLjEzLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiLW5hdGl2ZV8xMC4zLjEzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUxYTAzOGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGItbmF0aXZlXzEwLjMuMTMuYmIKQEAgLTAsMCArMSwyMCBAQAorcmVxdWlyZSBtYXJpYWRiLmluYworaW5oZXJpdCBuYXRpdmUKKworUFJPVklERVMgKz0gIm15c3FsNS1uYXRpdmUiCitERVBFTkRTID0gIm5jdXJzZXMtbmF0aXZlIHpsaWItbmF0aXZlIGJpc29uLW5hdGl2ZSIKKworUkRFUEVORFNfJHtQTn0gPSAiIgorUEFDS0FHRVMgPSAiIgorRVhUUkFfT0VNQUtFID0gIiIKKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwKKworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSBzcWwvZ2VuX2xleF9oYXNoICR7RH0ke2JpbmRpcn0vCisgICAgaW5zdGFsbCAtbSAwNzU1IHNxbC9nZW5fbGV4X3Rva2VuICR7RH0ke2JpbmRpcn0vCisgICAgaW5zdGFsbCAtbSAwNzU1IGV4dHJhL2NvbXBfZXJyICR7RH0ke2JpbmRpcn0vCisgICAgaW5zdGFsbCAtbSAwNzU1IHNjcmlwdHMvY29tcF9zcWwgJHtEfSR7YmluZGlyfS8KK30KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiLW5hdGl2ZV81LjUuNjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGItbmF0aXZlXzUuNS42Mi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGNlOTYwZC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGItbmF0aXZlXzUuNS42Mi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLXJlcXVpcmUgbWFyaWFkYi5pbmMKLWluaGVyaXQgbmF0aXZlCi0KLVBST1ZJREVTICs9ICJteXNxbDUtbmF0aXZlIgotREVQRU5EUyA9ICJuY3Vyc2VzLW5hdGl2ZSB6bGliLW5hdGl2ZSBiaXNvbi1uYXRpdmUiCi0KLVJERVBFTkRTXyR7UE59ID0gIiIKLVBBQ0tBR0VTID0gIiIKLUVYVFJBX09FTUFLRSA9ICIiCi0KLWRvX2luc3RhbGwoKSB7Ci0gICAgb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsCi0KLSAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KLSAgICBpbnN0YWxsIC1tIDA3NTUgc3FsL2dlbl9sZXhfaGFzaCAke0R9JHtiaW5kaXJ9LwotICAgIGluc3RhbGwgLW0gMDc1NSBleHRyYS9jb21wX2VyciAke0R9JHtiaW5kaXJ9LwotICAgIGluc3RhbGwgLW0gMDc1NSBzY3JpcHRzL2NvbXBfc3FsICR7RH0ke2JpbmRpcn0vCi19Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIuaW5jCmluZGV4IDhjYTViMmIuLmZjYTc0ZDQgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiLmluYwpAQCAtNCwxMCArNCw3IEBACiBMSUNFTlNFID0gIkdQTHYyIgogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCiAKLVNSQ19VUkkgPSAiaHR0cHM6Ly9kb3dubG9hZHMubWFyaWFkYi5vcmcvZi8ke0JQfS9zb3VyY2UvJHtCUH0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL2ZpeC1jbWFrZS1tb2R1bGUtcGF0aC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9yZW1vdmUtYmFkLXBhdGgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZml4LW15c3FsY2xpZW50LXItdmVyc2lvbi5wYXRjaCBcCitTUkNfVVJJID0gImh0dHBzOi8vZG93bmxvYWRzLm1hcmlhZGIub3JnL2ludGVyc3RpdGlhbC8ke0JQTn0tJHtQVn0vc291cmNlLyR7QlBOfS0ke1BWfS50YXIuZ3ogXAogICAgICAgICAgICBmaWxlOi8vbXkuY25mIFwKICAgICAgICAgICAgZmlsZTovL215c3FsZC5zZXJ2aWNlIFwKICAgICAgICAgICAgZmlsZTovL2luc3RhbGxfZGIuc2VydmljZSBcCkBAIC0xNSwxMSArMTIsMTUgQEAKICAgICAgICAgICAgZmlsZTovL215c3FsLXN5c3RlbWQtc3RhcnQgXAogICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLmNtYWtlLWZpeC12YWxncmluZC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9maXgtYS1idWlsZGluZy1mYWlsdXJlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2NoYW5nZS1jYy10by1jYy12ZXJzaW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3N1cHBvcnQtZmlsZXMtQ01ha2VMaXN0cy50eHQtZml4LWRvX3BvcHVsYXRlX3N5c3Jvb3QucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc3FsLUNNYWtlTGlzdHMudHh0LWZpeC1nZW5fbGV4X2hhc2gtbm90LWZvdW5kLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtZGlzYWJsZS11Y29udGV4dC1vbi1tdXNsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2MxMV9hdG9taWNzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2NsYW5nX3ZlcnNpb25faGVhZGVyX2NvbmZsaWN0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC1hcm0tYXRvbWljLnBhdGNoIFwKICAgICAgICAgICAiCi1TUkNfVVJJW21kNXN1bV0gPSAiNjM3NWQ1NzdlOTUzOWI4MzlmNDRkODU3ZTcwZjgyYjkiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTZhMzY1YWY3MWI4YTllYzhiZmVlMDgwMWUyZGVjOTUwMTFkYThlZTc1MDc5ODZjYTMyOWJlMTEyOTY0MTFkYiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2MDNjZTQyZTM1YjlhNjg4ZjJjY2EwNTI3NWFjYjVjYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiMmFhODU3ZWY1Yjg0Zjg1YTdlYTYwYTFlYWM3YjM0YzBjYTUxNTFjNzFhMGQ0NGNlMmQ3ZmIwMjhkNzE0NTlhIgogCiBVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL01hcmlhREIvc2VydmVyL3JlbGVhc2VzIgogCkBAIC02Miw3ICs2Myw3IEBACiAjIE1hcmlhREIgZG9lc24ndCBsaW5rIHByb3Blcmx5IHdpdGggZ29sZAogIyBodHRwczovL21hcmlhZGIuYXRsYXNzaWFuLm5ldC9icm93c2UvTURFVi01OTgyCiBUQVJHRVRfQ0ZMQUdTICs9ICItZnVzZS1sZD1iZmQiCi0KK0xERkxBR1MgKz0gIiAtcHRocmVhZCIKIEJVSUxEX0NGTEFHUyArPSAiLWZ1c2UtbGQ9YmZkIgogQlVJTERfQ1hYRkxBR1MgKz0gIi1mdXNlLWxkPWJmZCIKIApAQCAtMTIwLDYgKzEyMSwxMSBAQAogICAgICAgICAgICAgZWNobyAiI2VuZGlmIiA+PiR7Qn0vaW5jbHVkZS9vcGVuc3NsL2tzc2wuaAogICAgICAgICBmaQogICAgIGZpCisgICAgIyB3b3JrYXJvdW5kIHRvIGhhbmRsZSBvdXQtb2Ytc291cmNlIGJ1aWxkIGZyb20gc291cmNlIHBhY2thZ2UKKyAgICB5YWNjX2ZpbGVzPSJzcWxfeWFjYy5oaCBzcWxfeWFjYy5jYyBzcWxfeWFjY19vcmEuaGggc3FsX3lhY2Nfb3JhLmNjIgorICAgIGZvciB5YWNjX2ZpbGUgaW4gJHt5YWNjX2ZpbGVzfTsgZG8KKyAgICAgICAgY3AgJHtTfS9zcWwvJHt5YWNjX2ZpbGV9ICR7Qn0vc3FsLyR7eWFjY19maWxlfQorICAgIGRvbmUKIH0KIAogU1lTUk9PVF9QUkVQUk9DRVNTX0ZVTkNTICs9ICJtYXJpYWRiX3N5c3Jvb3RfcHJlcHJvY2VzcyIKQEAgLTE4MSwxMyArMTg3LDEzIEBACiBSREVQRU5EU18ke1BOfS1zZXJ2ZXIgPSAicGVybCBwZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyBwZXJsLW1vZHVsZS1kYXRhLWR1bXBlciBcCiAgICAgcGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSBwZXJsLW1vZHVsZS1maWxlLXBhdGggcGVybC1tb2R1bGUtc3lzLWhvc3RuYW1lIFwKICAgICBwZXJsLW1vZHVsZS1maWxlLWNvcHkgcGVybC1tb2R1bGUtZmlsZS10ZW1wIHBlcmwtbW9kdWxlLXBvc2l4IFwKLSAgICAke1BOfS1jbGllbnQgbGliZGJpLXBlcmwgbGliZGJkLW15c3FsLXBlcmwiCisgICAgJHtQTn0tY2xpZW50ICR7UE59LXNldHVwZGIgbGliZGJpLXBlcmwgbGliZGJkLW15c3FsLXBlcmwiCiBSREVQRU5EU18ke1BOfS1sZWZ0b3ZlcnMgPSAicGVybCBwZXJsLW1vZHVsZS1jd2QgcGVybC1tb2R1bGUtYmVuY2htYXJrIHBlcmwtbW9kdWxlLWdldG9wdC1sb25nIFwKICAgICBwZXJsLW1vZHVsZS1wb3NpeCBwZXJsLW1vZHVsZS1kYXRhLWR1bXBlciBwZXJsLW1vZHVsZS1zaWd0cmFwIHBlcmwtbW9kdWxlLXRocmVhZHMgXAogICAgIHBlcmwtbW9kdWxlLXRocmVhZHMtc2hhcmVkIHBlcmwtbW9kdWxlLWlvLXNvY2tldCBwZXJsLW1vZHVsZS1zeXMtaG9zdG5hbWUgcGVybC1tb2R1bGUtZmlsZS1jb3B5IFwKICAgICBwZXJsLW1vZHVsZS1maWxlLXNwZWMgcGVybC1tb2R1bGUtZmlsZS1maW5kIHBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUgcGVybC1tb2R1bGUtZmlsZS1wYXRoIFwKICAgICBwZXJsLW1vZHVsZS1jb25zdGFudCBwZXJsLW1vZHVsZS1saWIgcGVybC1tb2R1bGUtZmlsZS10ZW1wIHBlcmwtbW9kdWxlLWZpbGUtc3BlYy1mdW5jdGlvbnMgXAotICAgIHBlcmwtbW9kdWxlLWlvLXNvY2tldC1pbmV0IHBlcmwtbW9kdWxlLWlvLXNlbGVjdCIKKyAgICBwZXJsLW1vZHVsZS1pby1zb2NrZXQtaW5ldCBwZXJsLW1vZHVsZS1pby1zZWxlY3QgYmFzaCIKIFJERVBFTkRTXyR7UE59LXNldHVwZGIgPSAiY29yZXV0aWxzIgogCiAjIEFsbG93IG9sZCBjb2RlIHRvIGxpbmsgdG8gdGhlIGJhY2t3YXJkIGNvbXBhdGlibGUgbGlicmFyeQpAQCAtMTk1LDEwICsyMDEsMTIgQEAKIAogRklMRVNfbGlibXlzcWxjbGllbnQgPSAiXAogICAgICR7bGliZGlyfS9saWJteXNxbGNsaWVudC5zby4qIFwKKyAgICAke2xpYmRpcn0vbGlibWFyaWFkYi5zby4qIFwKICAgICAke3N5c2NvbmZkaXJ9L215LmNuZi5kL2NsaWVudC5jbmYiCiBGSUxFU19saWJteXNxbGNsaWVudC1kZXYgPSAiIFwKICAgICAke2luY2x1ZGVkaXJ9L215c3FsLyBcCiAgICAgJHtsaWJkaXJ9L2xpYm15c3FsY2xpZW50LnNvIFwKKyAgICAke2xpYmRpcn0vbGlibWFyaWFkYi5zbyBcCiAgICAgJHtzeXNjb25mZGlyfS9hY2xvY2FsIFwKICAgICAke2JpbmRpcn0vbXlzcWxfY29uZmlnIgogRklMRVNfbGlibXlzcWxjbGllbnQtc3RhdGljZGV2ID0gIlwKQEAgLTIxNSw5ICsyMjMsMTEgQEAKIEZJTEVTX2xpYm15c3FsY2xpZW50LXItc3RhdGljZGV2ID0gIiR7bGliZGlyfS9saWJteXNxbGNsaWVudF9yLmEiCiAKIEZJTEVTX2xpYm15c3FsZCA9ICJcCi0gICAgJHtsaWJkaXJ9L2xpYm15c3FsZC5zby4qIgorICAgICR7bGliZGlyfS9saWJteXNxbGQuc28uKiBcCisgICAgJHtsaWJkaXJ9L2xpYm1hcmlhZGJkLnNvLioiCiBGSUxFU19saWJteXNxbGQtZGV2ID0gIlwKLSAgICAke2xpYmRpcn0vbGlibXlzcWxkLnNvIgorICAgICR7bGliZGlyfS9saWJteXNxbGQuc28gXAorICAgICR7bGliZGlyfS9saWJtYXJpYWRiZC5zbyIKIAogRklMRVNfJHtQTn0tY2xpZW50ID0gIlwKICAgICAke2JpbmRpcn0vbXlpc2FtX2Z0ZHVtcCBcCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvMDAwMS1kaXNhYmxlLXVjb250ZXh0LW9uLW11c2wucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvMDAwMS1kaXNhYmxlLXVjb250ZXh0LW9uLW11c2wucGF0Y2gKaW5kZXggNjBlOTE5OS4uZGFmMjQzMiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiLzAwMDEtZGlzYWJsZS11Y29udGV4dC1vbi1tdXNsLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi8wMDAxLWRpc2FibGUtdWNvbnRleHQtb24tbXVzbC5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNWJjM2U3ZWY5NzAwZDEyMDU0ZTAxMjVhMTI2ZjFiYjA5M2YwMWVmOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYjY1OGJkYjM4YjdmZjZhNzg5MTVmZDBhYzM5MGZjMjI0ZTQwMDZjYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBTdW4sIDI2IE1hciAyMDE3IDE0OjMwOjMzIC0wNzAwCiBTdWJqZWN0OiBbUEFUQ0hdIGRpc2FibGUgdWNvbnRleHQgb24gbXVzbApAQCAtNiwxMiArNiwxMyBAQAogbXVzbCBkb2VzIG5vdCBoYXZlICpjb250ZXgoKSBBUElzIGV2ZW4gdGhvdWdoIGl0IGhhcyB1Y29udGV4dC5oIGhlYWRlcgogCiBTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCiAtLS0KICBpbmNsdWRlL215X2NvbnRleHQuaCB8IDIgKy0KICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL2luY2x1ZGUvbXlfY29udGV4dC5oIGIvaW5jbHVkZS9teV9jb250ZXh0LmgKLWluZGV4IGRkNDQxMDMuLjliMjhjMTcgMTAwNjQ0CitpbmRleCBlYTBlMzQ5Ni4uNGM5YjM3ZGMgMTAwNjQ0CiAtLS0gYS9pbmNsdWRlL215X2NvbnRleHQuaAogKysrIGIvaW5jbHVkZS9teV9jb250ZXh0LmgKIEBAIC0zMSw3ICszMSw3IEBACkBAIC0yMyw2ICsyNCwzIEBACiAgI2RlZmluZSBNWV9DT05URVhUX1VTRV9VQ09OVEVYVAogICNlbHNlCiAgI2RlZmluZSBNWV9DT05URVhUX0RJU0FCTEUKLS0tIAotMi4xMi4xCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9jMTFfYXRvbWljcy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9jMTFfYXRvbWljcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNjk5ODYxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL2MxMV9hdG9taWNzLnBhdGNoCkBAIC0wLDAgKzEsNjcgQEAKK0F1dGhvcjogVmljZW7Im2l1IENpb3JiYXJ1IDx2aWNlbnRpdUBtYXJpYWRiLm9yZz4KK0RhdGU6ICAgRnJpIERlYyAyMSAxOToxNDowNCAyMDE4ICswMjAwCisKKyAgIExpbmsgd2l0aCBsaWJhdG9taWMgdG8gZW5hYmxlIEMxMSBhdG9taWNzIHN1cHBvcnQKKworICAgU29tZSBhcmNoaXRlY3R1cmVzIChtaXBzKSByZXF1aXJlIGxpYmF0b21pYyB0byBzdXBwb3J0IHByb3BlcgorICAgYXRvbWljIG9wZXJhdGlvbnMuIENoZWNrIGZpcnN0IGlmIHN1cHBvcnQgaXMgYXZhaWxhYmxlIHdpdGhvdXQKKyAgIGxpbmtpbmcsIG90aGVyd2lzZSB1c2UgdGhlIGxpYnJhcnkuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworLS0tIGEvY29uZmlndXJlLmNtYWtlCisrKysgYi9jb25maWd1cmUuY21ha2UKK0BAIC05MjYsNyArOTI2LDI1IEBAIGludCBtYWluKCkKKyAgIGxvbmcgbG9uZyBpbnQgKnB0cj0gJnZhcjsKKyAgIHJldHVybiAoaW50KV9fYXRvbWljX2xvYWRfbihwdHIsIF9fQVRPTUlDX1NFUV9DU1QpOworIH0iCistSEFWRV9HQ0NfQzExX0FUT01JQ1MpCisrSEFWRV9HQ0NfQzExX0FUT01JQ1NfV0lUSE9VVF9MSUJBVE9NSUMpCisrSUYgKEhBVkVfR0NDX0MxMV9BVE9NSUNTX1dJVEhPVVRfTElCQVRPTUlDKQorKyAgU0VUKEhBVkVfR0NDX0MxMV9BVE9NSUNTIFRydWUpCisrRUxTRSgpCisrICBTRVQoT0xEX0NNQUtFX1JFUVVJUkVEX0xJQlJBUklFUyAke0NNQUtFX1JFUVVJUkVEX0xJQlJBUklFU30pCisrICBMSVNUKEFQUEVORCBDTUFLRV9SRVFVSVJFRF9MSUJSQVJJRVMgImF0b21pYyIpCisrICBDSEVDS19DWFhfU09VUkNFX0NPTVBJTEVTKCIKKysgIGludCBtYWluKCkKKysgIHsKKysgICAgbG9uZyBsb25nIGludCB2YXI9IDE7CisrICAgIGxvbmcgbG9uZyBpbnQgKnB0cj0gJnZhcjsKKysgICAgcmV0dXJuIChpbnQpX19hdG9taWNfbG9hZF9uKHB0ciwgX19BVE9NSUNfU0VRX0NTVCk7CisrICB9IgorKyAgSEFWRV9HQ0NfQzExX0FUT01JQ1NfV0lUSF9MSUJBVE9NSUMpCisrICBJRihIQVZFX0dDQ19DMTFfQVRPTUlDU19XSVRIX0xJQkFUT01JQykKKysgICAgU0VUKEhBVkVfR0NDX0MxMV9BVE9NSUNTIFRydWUpCisrICBFTkRJRigpCisrICBTRVQoQ01BS0VfUkVRVUlSRURfTElCUkFSSUVTICR7T0xEX0NNQUtFX1JFUVVJUkVEX0xJQlJBUklFU30pCisrRU5ESUYoKQorIAorIElGKFdJVEhfVkFMR1JJTkQpCisgICBTRVQoSEFWRV92YWxncmluZCAxKQorLS0tIGEvbXlzeXMvQ01ha2VMaXN0cy50eHQKKysrKyBiL215c3lzL0NNYWtlTGlzdHMudHh0CitAQCAtNzgsNiArNzgsMTAgQEAgVEFSR0VUX0xJTktfTElCUkFSSUVTKG15c3lzIGRidWcgc3RyaW5ncworICAke0xJQk5TTH0gJHtMSUJNfSAke0xJQlJUfSAke0xJQkRMfSAke0xJQlNPQ0tFVH0gJHtMSUJFWEVDSU5GT30gJHtDUkMzMl9MSUJSQVJZfSkKKyBEVFJBQ0VfSU5TVFJVTUVOVChteXN5cykKKyAKKytJRiAoSEFWRV9HQ0NfQzExX0FUT01JQ1NfV0lUSF9MSUJBVE9NSUMpCisrICBUQVJHRVRfTElOS19MSUJSQVJJRVMobXlzeXMgYXRvbWljKQorK0VORElGKCkKKysKKyBJRihIQVZFX0JGRF9IKQorICAgVEFSR0VUX0xJTktfTElCUkFSSUVTKG15c3lzIGJmZCkgIAorIEVORElGKEhBVkVfQkZEX0gpCistLS0gYS9zcWwvQ01ha2VMaXN0cy50eHQKKysrKyBiL3NxbC9DTWFrZUxpc3RzLnR4dAorQEAgLTE3OCw2ICsxNzgsMTAgQEAgRUxTRSgpCisgICBTRVQoTVlTUUxEX1NPVVJDRSBtYWluLmNjICR7RFRSQUNFX1BST0JFU19BTEx9KQorIEVORElGKCkKKyAKKytJRiAoSEFWRV9HQ0NfQzExX0FUT01JQ1NfV0lUSF9MSUJBVE9NSUMpCisrICBUQVJHRVRfTElOS19MSUJSQVJJRVMoc3FsIGF0b21pYykKKytFTkRJRigpCisrCisgCisgSUYoTVNWQyBBTkQgTk9UIFdJVEhPVVRfRFlOQU1JQ19QTFVHSU5TKQorIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL2NoYW5nZS1jYy10by1jYy12ZXJzaW9uLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL2NoYW5nZS1jYy10by1jYy12ZXJzaW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMmJkYTI0Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9jaGFuZ2UtY2MtdG8tY2MtdmVyc2lvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLW1hcmlhZGI6IHJlcGxhY2UgdGhlIENDIHdpdGggQ0NfVkVSU0lPTiBhbmQgQ1hYIHdpdGggQ1hYX1ZFUlNJT04KLQotbXlzcWxidWcuc2ggaXMgYSBidWcgcmVwb3J0IHNjcmlwdC4gSXQgbWFrZXMgYSByZXBvcnQgd2l0aCB0aGUgYnVpbGQgaW5mb3JtYXRpb24sCi1pbmNsdWRpbmcgZ2NjIHZlcnNpb24uIFRoZSBDQyBpcyB0aGUgbG9jYWwgcGF0aCBvZiBnY2MsIHdoaWNoIGlzIHVzZWxlc3MgZm9yIGJ1ZwotcmVwb3J0LCBhbmQgdGhlIHBhdGggbWF5IGV4cG9zZSBwcml2YXRlIGluZm9ybWF0aW9uLCBzbyBjaGFuZ2UgaXQgdG8gQ0NfVkVSU0lPTi4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IFl1ZSBUYW8gPFl1ZS5UYW9Ad2luZHJpdmVyLmNvbT4KLVNpZ25lZC1vZmYtYnk6IFdlbnpvbmcgRmFuIDx3ZW56b25nLmZhbkB3aW5kcml2ZXIuY29tPgotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLWRpZmYgLS1naXQgYS9zY3JpcHRzL215c3FsYnVnLnNoLm9sZCBiL3NjcmlwdHMvbXlzcWxidWcuc2gKLWluZGV4IGU5ZGYyMTAuLmQ0YjhkNTMgMTAwNjQ0Ci0tLS0gYS9zY3JpcHRzL215c3FsYnVnLnNoLm9sZAotKysrIGIvc2NyaXB0cy9teXNxbGJ1Zy5zaAotQEAgLTI0LDggKzI0LDggQEAgVkVSU0lPTj0iQFZFUlNJT05AQE1ZU1FMX1NFUlZFUl9TVUZGSVhAIgotIENPTVBJTEFUSU9OX0NPTU1FTlQ9IkBDT01QSUxBVElPTl9DT01NRU5UQCIKLSBCVUdteXNxbD0ibWFyaWEtZGV2ZWxvcGVyc0BsaXN0cy5sYXVuY2hwYWQubmV0IgotICMgVGhpcyBpcyBzZXQgYnkgY29uZmlndXJlCi0tQ09NUF9DQUxMX0lORk89IkNDPSdAU0FWRV9DQ0AnICBDRkxBR1M9J0BTQVZFX0NGTEFHU0AnICBDWFg9J0BTQVZFX0NYWEAnICBDWFhGTEFHUz0nQFNBVkVfQ1hYRkxBR1NAJyAgTERGTEFHUz0nQFNBVkVfTERGTEFHU0AnICBBU0ZMQUdTPSdAU0FWRV9BU0ZMQUdTQCciCi0tQ09NUF9SVU5fSU5GTz0iQ0M9J0BDQ0AnICBDRkxBR1M9J0BDRkxBR1NAJyAgQ1hYPSdAQ1hYQCcgIENYWEZMQUdTPSdAQ1hYRkxBR1NAJyAgTERGTEFHUz0nQExERkxBR1NAJyAgQVNGTEFHUz0nQEFTRkxBR1NAJyIKLStDT01QX0NBTExfSU5GTz0iQ0M9J0BDQ19WRVJTSU9OQCcgIENGTEFHUz0nQFNBVkVfQ0ZMQUdTQCcgIENYWD0nQENYWF9WRVJTSU9OQCcgIENYWEZMQUdTPSdAU0FWRV9DWFhGTEFHU0AnICBMREZMQUdTPSdAU0FWRV9MREZMQUdTQCcgIEFTRkxBR1M9J0BTQVZFX0FTRkxBR1NAJyIKLStDT01QX1JVTl9JTkZPPSJDQz0nQENDX1ZFUlNJT05AJyAgQ0ZMQUdTPSdAQ0ZMQUdTQCcgIENYWD0nQENYWF9WRVJTSU9OQCcgIENYWEZMQUdTPSdAQ1hYRkxBR1NAJyAgTERGTEFHUz0nQExERkxBR1NAJyAgQVNGTEFHUz0nQEFTRkxBR1NAJyIKLSBDT05GSUdVUkVfTElORT0iQENPTkZfQ09NTUFOREAiCi0gCi0gTElCQ19JTkZPPSIiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvY2xhbmdfdmVyc2lvbl9oZWFkZXJfY29uZmxpY3QucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvY2xhbmdfdmVyc2lvbl9oZWFkZXJfY29uZmxpY3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzc3YTg2OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9jbGFuZ192ZXJzaW9uX2hlYWRlcl9jb25mbGljdC5wYXRjaApAQCAtMCwwICsxLDMyIEBACitsaWJjKysgYWxzbyBoYXMgYSBmaWxlIGNhbGxlZCB2ZXJzaW9uIGFuZCB0aGlzIGZpbGUgYW5kIGhvdyBjZmxhZ3MgYXJlIHNwZWNpZmllZAoraXQgZW5kcyB1cCBpbmNsdWRpbmcgdGhpcyBmaWxlIGFuZCByZXN1bHRpbmcgaW4gY29tcGlsZSBlcnJvcnMKKworZml4ZXMgZXJyb3JzIGxpa2UKK3N0b3JhZ2UvbXJvb25nYS92ZXJzaW9uOjE6MTogZXJyb3I6IGV4cGVjdGVkIHVucXVhbGlmaWVkLWlkCis3LjA3CiteCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworLS0tIGEvc3RvcmFnZS9tcm9vbmdhL0NNYWtlTGlzdHMudHh0CisrKysgYi9zdG9yYWdlL21yb29uZ2EvQ01ha2VMaXN0cy50eHQKK0BAIC04MCw3ICs4MCw3IEBAIGVsc2UoKQorICAgc2V0KE1STl9TT1VSQ0VfRElSICR7Q01BS0VfU09VUkNFX0RJUn0pCisgZW5kaWYoKQorIAorLWZpbGUoUkVBRCAke01STl9TT1VSQ0VfRElSfS92ZXJzaW9uICAgICAgICBNUk5fVkVSU0lPTikKKytmaWxlKFJFQUQgJHtNUk5fU09VUkNFX0RJUn0vdmVyICAgICAgICAgICAgTVJOX1ZFUlNJT04pCisgZmlsZShSRUFEICR7TVJOX1NPVVJDRV9ESVJ9L3ZlcnNpb25fbWFqb3IgIE1STl9WRVJTSU9OX01BSk9SKQorIGZpbGUoUkVBRCAke01STl9TT1VSQ0VfRElSfS92ZXJzaW9uX21pbm9yICBNUk5fVkVSU0lPTl9NSU5PUikKKyBmaWxlKFJFQUQgJHtNUk5fU09VUkNFX0RJUn0vdmVyc2lvbl9taWNybyAgTVJOX1ZFUlNJT05fTUlDUk8pCistLS0gL2Rldi9udWxsCisrKysgYi9zdG9yYWdlL21yb29uZ2EvdmVyCitAQCAtMCwwICsxIEBACisrNy4wNworXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCistLS0gYS9zdG9yYWdlL21yb29uZ2EvdmVyc2lvbgorKysrIC9kZXYvbnVsbAorQEAgLTEgKzAsMCBAQAorLTcuMDcKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL2NvbmZpZ3VyZS5jbWFrZS1maXgtdmFsZ3JpbmQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvY29uZmlndXJlLmNtYWtlLWZpeC12YWxncmluZC5wYXRjaAppbmRleCBlOTdkZWY2Li5hYzk0Mjc5IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvY29uZmlndXJlLmNtYWtlLWZpeC12YWxncmluZC5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvY29uZmlndXJlLmNtYWtlLWZpeC12YWxncmluZC5wYXRjaApAQCAtMSw2ICsxLDYgQEAKLUZyb20gNWVmZmJhMGQ3ZDQ3MDcxYTNmMWJjYTU2ODIzMTkwZDVhOTViYjFhNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMjRlMmIwZWRjMjYxMmFjZWZjYzQ4NDE0YmI2ZjBhZWIwODYwNjFhOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBXZWQsIDEyIE5vdiAyMDE0IDAzOjA5OjEwIC0wNTAwCitEYXRlOiBUdWUsIDI2IEZlYiAyMDE5IDIzOjU3OjA2IC0wODAwCiBTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZS5jbWFrZTogZml4IHZhbGdyaW5kCiAKIENoZWNrIHZhbGdyaW5kIGhlYWRlcnMgb25seSBpZiBXSVRIX1ZBTEdSSU5EIGlzIHNldC4KQEAgLTE1LDI3ICsxNSwyNiBAQAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZSBzcGVjaWZpY10KIAogU2lnbmVkLW9mZi1ieTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IE1pbmdsaSBZdSA8bWluZ2xpLnl1QHdpbmRyaXZlci5jb20+CisKIC0tLQotIGNvbmZpZ3VyZS5jbWFrZSB8IDQgKystLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisgY29uZmlndXJlLmNtYWtlIHwgNSArKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9jb25maWd1cmUuY21ha2UgYi9jb25maWd1cmUuY21ha2UKLWluZGV4IDBiZDdiYmUuLjUxYTA5OGYgMTAwNjQ0CitpbmRleCAzY2ZjNGIzMS4uZDAxN2IzYjMgMTAwNjQ0CiAtLS0gYS9jb25maWd1cmUuY21ha2UKICsrKyBiL2NvbmZpZ3VyZS5jbWFrZQotQEAgLTEwNDcsMTAgKzEwNDcsMTAgQEAgTUFSS19BU19BRFZBTkNFRChXSVRIX0FUT01JQ19MT0NLUyBNWV9BVE9NSUNfTU9ERV9SV0xPQ0sgTVlfQVRPTUlDX01PREVfRFVNTVkpCitAQCAtOTMwLDEwICs5MzAsOSBAQCBIQVZFX0dDQ19DMTFfQVRPTUlDUykKICAKICBJRihXSVRIX1ZBTEdSSU5EKQogICAgU0VUKEhBVkVfdmFsZ3JpbmQgMSkKLSsgIENIRUNLX0lOQ0xVREVfRklMRVMoInZhbGdyaW5kL21lbWNoZWNrLmg7dmFsZ3JpbmQvdmFsZ3JpbmQuaCIKLSsgIEhBVkVfVkFMR1JJTkQpCi0gRU5ESUYoKQotIAorLUVORElGKCkKKy0KIC1DSEVDS19JTkNMVURFX0ZJTEVTKCJ2YWxncmluZC9tZW1jaGVjay5oO3ZhbGdyaW5kL3ZhbGdyaW5kLmgiIAotLSAgSEFWRV9WQUxHUklORCkKKysgIENIRUNLX0lOQ0xVREVfRklMRVMoInZhbGdyaW5kL21lbWNoZWNrLmg7dmFsZ3JpbmQvdmFsZ3JpbmQuaCIKKyAgIEhBVkVfVkFMR1JJTkRfTUVNQ0hFQ0tfSCkKKytFTkRJRigpCiAgCiAgIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIyBDaGVjayBmb3IgSVB2NiBzdXBwb3J0Ci0tLSAKLTIuMC4wCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9maXgtYS1idWlsZGluZy1mYWlsdXJlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL2ZpeC1hLWJ1aWxkaW5nLWZhaWx1cmUucGF0Y2gKaW5kZXggMGM0ZTEwMi4uOTE0OWVlMiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL2ZpeC1hLWJ1aWxkaW5nLWZhaWx1cmUucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL2ZpeC1hLWJ1aWxkaW5nLWZhaWx1cmUucGF0Y2gKQEAgLTEsNCArMSw3IEBACi1bUEFUQ0hdIGZpeCBhIGJ1aWxkaW5nIGZhaWx1cmUKK0Zyb20gMWIyYjZhNjFjOWY4MjE1N2NkMmUwYzM3NDRmNmMwN2UwN2FlYjBiZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pbmdsaSBZdSA8bWluZ2xpLnl1QHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDQgTWFyIDIwMTkgMDE6MTE6MzAgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gZml4IGEgYnVpbGRpbmcgZmFpbHVyZQogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCiAKQEAgLTYsMTcgKzksMTggQEAKIEluIGZhY3QsIG91ciBidWlsZGluZyBzeXN0ZW0gd2lsbCBleHBvcnQgdGhlIG5lZWRlZCBjb21tYW5kcwogCiBTaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitTaWduZWQtb2ZmLWJ5OiBNaW5nbGkgWXUgPG1pbmdsaS55dUB3aW5kcml2ZXIuY29tPgogLS0tCiAgQ01ha2VMaXN0cy50eHQgfCA1IC0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDUgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0Ci1pbmRleCBjMWNlMWM1Li44M2IzYTdlIDEwMDY0NAoraW5kZXggZmMzMDc1MC4uNGY5MTEwZSAxMDA2NDQKIC0tLSBhL0NNYWtlTGlzdHMudHh0CiArKysgYi9DTWFrZUxpc3RzLnR4dAotQEAgLTM1MCwxMSArMzUwLDYgQEAgTVlTUUxfQ0hFQ0tfUkVBRExJTkUoKQorQEAgLTM0NywxMSArMzQ3LDYgQEAgQ0hFQ0tfUENSRSgpCiAgCi0gQ0hFQ0tfSkVNQUxMT0MoKQorIENIRUNLX1NZU1RFTUQoKQogIAogLUlGKENNQUtFX0NST1NTQ09NUElMSU5HKQogLSAgU0VUKElNUE9SVF9FWEVDVVRBQkxFUyAiSU1QT1JURklMRS1OT1RGT1VORCIgQ0FDSEUgRklMRVBBVEggIlBhdGggdG8gaW1wb3J0X2V4ZWN1dGFibGVzLmNtYWtlIGZyb20gYSBuYXRpdmUgYnVpbGQiKQpAQCAtMjQsOCArMjgsOCBAQAogLUVORElGKCkKIC0KICAjCi0gIyBTZXR1cCBtYWludGFpbmVyIG1vZGUgb3B0aW9ucyBieSB0aGUgZW5kLiBQbGF0Zm9ybSBjaGVja3MgYXJlCisgIyBTZXR1cCBtYWludGFpbmVyIG1vZGUgb3B0aW9ucy4gUGxhdGZvcm0gY2hlY2tzIGFyZQogICMgbm90IHJ1biB3aXRoIHRoZSB3YXJuaW5nIG9wdGlvbnMgYXMgdG8gbm90IHBlcnR1cmIgZnJhZ2lsZSBjaGVja3MKIC0tIAotMS45LjEKKzIuMTcuMQogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvZml4LWFybS1hdG9taWMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvZml4LWFybS1hdG9taWMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzRkMzExNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9maXgtYXJtLWF0b21pYy5wYXRjaApAQCAtMCwwICsxLDM0IEBACitGcm9tIGZmYWFmNGQ0M2ViZjJlZjZkMDIyOWE2MGY0MDdjMWY1YTA2ZTVjNTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaW5nbGkgWXUgPG1pbmdsaS55dUB3aW5kcml2ZXIuY29tPgorRGF0ZTogRnJpLCAxNSBNYXIgMjAxOSAwMTo0NjowNSAtMDcwMAorU3ViamVjdDogW1BBVENIXSBidWlsZF9yb2Nrc2RiLmNtYWtlOiBmaXggYXRvbWljIHN1cHBvcnQgb24gYXJtCisKK0NoZWNrIHRvIGxpbmsgd2l0aCBsaWJhdG9taWMgdG8gZW5hYmxlIEMxMSBhdG9taWNzIHN1cHBvcnQKK3RvIGZpeCBiZWxvdyBidWlsZCBlcnJvciBvbiBhcm06Cit8IC9idWlsZC90bXAvd29yay9hcm12NWUtd3JzLWxpbnV4LWdudWVhYmkvbWFyaWFkYi8xMC4zLjEzLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2ZS91c3IvYmluL2FybS13cnMtbGludXgtZ251ZWFiaS8uLi8uLi9saWJleGVjL2FybS13cnMtbGludXgtZ251ZWFiaS9nY2MvYXJtLXdycy1saW51eC1nbnVlYWJpLzguMy4wL2xkLmJmZDogbGlicm9ja3NkYmxpYi5hKGVudl9wb3NpeC5jYy5vKTogaW4gZnVuY3Rpb24gYHN0ZDo6X19hdG9taWNfYmFzZTx1bnNpZ25lZCBsb25nIGxvbmc+OjpzdG9yZSh1bnNpZ25lZCBsb25nIGxvbmcsIHN0ZDo6bWVtb3J5X29yZGVyKSc6Cit8IC91c3IvaW5jbHVkZS9jKysvOC4zLjAvYml0cy9hdG9taWNfYmFzZS5oOjM3NDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19hdG9taWNfc3RvcmVfOCcKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IE1pbmdsaSBZdSA8TWluZ2xpLll1QHdpbmRyaXZlci5jb20+CistLS0KKyBzdG9yYWdlL3JvY2tzZGIvYnVpbGRfcm9ja3NkYi5jbWFrZSB8IDMgKysrCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc3RvcmFnZS9yb2Nrc2RiL2J1aWxkX3JvY2tzZGIuY21ha2UgYi9zdG9yYWdlL3JvY2tzZGIvYnVpbGRfcm9ja3NkYi5jbWFrZQoraW5kZXggYzM2Yzc2MS4uMmI1MzlmZiAxMDA2NDQKKy0tLSBhL3N0b3JhZ2Uvcm9ja3NkYi9idWlsZF9yb2Nrc2RiLmNtYWtlCisrKysgYi9zdG9yYWdlL3JvY2tzZGIvYnVpbGRfcm9ja3NkYi5jbWFrZQorQEAgLTQyNCw2ICs0MjQsOSBAQCBsaXN0KEFQUEVORCBTT1VSQ0VTICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9idWlsZF92ZXJzaW9uLmNjKQorIAorIEFERF9DT05WRU5JRU5DRV9MSUJSQVJZKHJvY2tzZGJsaWIgJHtTT1VSQ0VTfSkKKyB0YXJnZXRfbGlua19saWJyYXJpZXMocm9ja3NkYmxpYiAke1RISVJEUEFSVFlfTElCU30gJHtTWVNURU1fTElCU30pCisrSUYgKEhBVkVfR0NDX0MxMV9BVE9NSUNTX1dJVEhfTElCQVRPTUlDKQorKyAgVEFSR0VUX0xJTktfTElCUkFSSUVTKHJvY2tzZGJsaWIgYXRvbWljKQorK0VORElGKCkKKyBJRihDTUFLRV9DWFhfQ09NUElMRVJfSUQgTUFUQ0hFUyAiR05VIiBPUiBDTUFLRV9DWFhfQ09NUElMRVJfSUQgTUFUQ0hFUyAiQ2xhbmciKQorICAgc2V0X3RhcmdldF9wcm9wZXJ0aWVzKHJvY2tzZGJsaWIgUFJPUEVSVElFUyBDT01QSUxFX0ZMQUdTICItZlBJQyAtZm5vLWJ1aWx0aW4tbWVtY21wIC1mcnR0aSIpCisgZW5kaWYoKQorLS0gCisyLjE3LjEKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL2ZpeC1jbWFrZS1tb2R1bGUtcGF0aC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9maXgtY21ha2UtbW9kdWxlLXBhdGgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhkOWY1NTguLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL2ZpeC1jbWFrZS1tb2R1bGUtcGF0aC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLUF2b2lkIENNQUtFX01PRFVMRV9QQVRIIGJlaW5nIG92ZXJ3cml0dGVuCi0KLU9FLUNvcmUncyBzZXR0aW5nIG9mIENNQUtFX01PRFVMRV9QQVRIIHN0b21wcyBvbiBNYXJpYURCJ3MgdmFsdWUgdW5sZXNzCi13ZSBzZXQgaXQgYWZ0ZXIgc2V0dGluZyB0aGUgcHJvamVjdCBuYW1lLgotCi1TaWduZWQtb2ZmLWJ5OiBQYXVsIEVnZ2xldG9uIDxwYXVsLmVnZ2xldG9uQGxpbnV4LmludGVsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFt3b3JraW5nIGFyb3VuZCBPRS1Db3JlIGJ1Z10KLQotLS0tIG1hcmlhZGIvQ01ha2VMaXN0cy50eHQJMjAxNC0wNy0xNyAxMTowMTowNy42NzYzNTMwNDcgKzAxMDAKLSsrKyBtYXJpYWRiL0NNYWtlTGlzdHMudHh0CTIwMTQtMDctMTcgMTE6MDE6MzEuMjk5MzUzMTA3ICswMTAwCi1AQCAtMjgsOCArMjgsNiBAQAotIAotIE1FU1NBR0UoU1RBVFVTICJSdW5uaW5nIGNtYWtlIHZlcnNpb24gJHtDTUFLRV9WRVJTSU9OfSIpCi0gCi0tU0VUKENNQUtFX01PRFVMRV9QQVRIICR7Q01BS0VfTU9EVUxFX1BBVEh9ICR7Q01BS0VfU09VUkNFX0RJUn0vY21ha2UpCi0tCi0gIyBEaXN0aW5ndWlzaCBiZXR3ZWVuIGNvbW11bml0eSBhbmQgbm9uLWNvbW11bml0eSBidWlsZHMsIHdpdGggdGhlCi0gIyBkZWZhdWx0IGJlaW5nIGEgY29tbXVuaXR5IGJ1aWxkLiBUaGlzIGRvZXMgbm90IGltcGFjdCB0aGUgZmVhdHVyZQotICMgc2V0IHRoYXQgd2lsbCBiZSBjb21waWxlZCBpbjsgaXQncyBtZXJlbHkgcHJvdmlkZWQgYXMgYSBoaW50IHRvCi1AQCAtNzcsNiArNzUsOCBAQAotIEVORElGKCkKLSBQUk9KRUNUKCR7TVlTUUxfUFJPSkVDVF9OQU1FfSkKLSAKLStTRVQoQ01BS0VfTU9EVUxFX1BBVEggJHtDTUFLRV9NT0RVTEVfUEFUSH0gJHtDTUFLRV9TT1VSQ0VfRElSfS9jbWFrZSkKLSsKLSBJRihCVUlMRF9DT05GSUcpCi0gICBJTkNMVURFKAotICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9jbWFrZS9idWlsZF9jb25maWd1cmF0aW9ucy8ke0JVSUxEX0NPTkZJR30uY21ha2UpCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvZml4LW15c3FsY2xpZW50LXItdmVyc2lvbi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9maXgtbXlzcWxjbGllbnQtci12ZXJzaW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNTE5ZTQyLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9maXgtbXlzcWxjbGllbnQtci12ZXJzaW9uLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTYwICswLDAgQEAKLUZyb20gNmRiMmE2MDYxOTZmYjM4YTZkMTA2ZGM0MDllZWUxY2I5YTQwYTQ0MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFRvciBEaWRyaWtzZW4gPHRvci5kaWRyaWtzZW5Ab3JhY2xlLmNvbT4KLURhdGU6IE1vbiwgMjQgSnVuIDIwMTMgMTc6MTU6MzUgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gQnVnIzE2ODA5MDU1IE1ZU1FMIDUuNiBBTkQgNS43IFNUSUxMIFVTRSBMSUJNWVNRTENMSUVOVC5TTy4xOAotCi1XaXRoIHRoaXMgcGF0Y2gsIHRoZSBsaWJteXNxbC8gZGlyZWN0b3J5IGNvbnRhaW5zOgotbGlibXlzcWxjbGllbnQuYQotbGlibXlzcWxjbGllbnRfci5hIC0+IGxpYm15c3FsY2xpZW50LmEKLWxpYm15c3FsY2xpZW50X3Iuc28gLT4gbGlibXlzcWxjbGllbnQuc28qCi1saWJteXNxbGNsaWVudF9yLnNvLjE4IC0+IGxpYm15c3FsY2xpZW50LnNvLjE4KgotbGlibXlzcWxjbGllbnRfci5zby4xOC4xLjAgLT4gbGlibXlzcWxjbGllbnQuc28uMTguMS4wKgotbGlibXlzcWxjbGllbnQuc28gLT4gbGlibXlzcWxjbGllbnQuc28uMTgqCi1saWJteXNxbGNsaWVudC5zby4xOCAtPiBsaWJteXNxbGNsaWVudC5zby4xOC4xLjAqCi1saWJteXNxbGNsaWVudC5zby4xOC4xLjAqCi0KLVRoaXMgZml4ZXMgbGlibXlzcWxjbGllbnRfciBzeW1saW5rcyBwb2ludGluZyB0byB0aGUgdW52ZXJzaW9uZWQKLWxpYm15c3FsY2xpZW50LnNvIHN5bWxpbmsgKGxlYWRpbmcgdG8gcGFja2FnZSBRQSBlcnJvcnMgc2luY2UgdGhlCi1saWJteXNxbGNsaWVudC1yIHBhY2thZ2UgZW5kcyB1cCBkZXBlbmRpbmcgb24gbGlibXlzcWxjbGllbnQtZGV2KS4KLQotQm9ycm93ZWQgZnJvbSBNeVNRTCA1LjYgdHJlZSBhdCBodHRwczovL2dpdGh1Yi5jb20vcGVyY29uYS9teXNxbC8KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IFBhdWwgRWdnbGV0b24gPHBhdWwuZWdnbGV0b25AbGludXguaW50ZWwuY29tPgotCi0tLS0KLSBjbWFrZS9pbnN0YWxsX21hY3Jvcy5jbWFrZSB8IDI1ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0KLSBsaWJteXNxbC9DTWFrZUxpc3RzLnR4dCAgICB8IDM0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDQyIGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY21ha2UvaW5zdGFsbF9tYWNyb3MuY21ha2UgYi9jbWFrZS9pbnN0YWxsX21hY3Jvcy5jbWFrZQotaW5kZXggYjhlZmRmOC4uYTBkMGU2OCAxMDA2NDQKLS0tLSBhL2NtYWtlL2luc3RhbGxfbWFjcm9zLmNtYWtlCi0rKysgYi9jbWFrZS9pbnN0YWxsX21hY3Jvcy5jbWFrZQotQEAgLTEsNCArMSw0IEBACi0tIyBDb3B5cmlnaHQgKGMpIDIwMDksIDIwMTEsIE9yYWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0rIyBDb3B5cmlnaHQgKGMpIDIwMDksIDIwMTMsIE9yYWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gIyAKLSAjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotQEAgLTE2NywyOCArMTY3LDMzIEBAIEVOREZVTkNUSU9OKCkKLSAKLSAKLSAjIEluc3RhbGwgc3ltYm9saWMgbGluayB0byBDTWFrZSB0YXJnZXQuIAotLSMgdGhlIGxpbmsgaXMgY3JlYXRlZCBpbiB0aGUgc2FtZSBkaXJlY3RvcnkgYXMgdGFyZ2V0Ci0tIyBhbmQgZXh0ZW5zaW9uIHdpbGwgYmUgdGhlIHNhbWUgYXMgZm9yIHRhcmdldCBmaWxlLgotLU1BQ1JPKElOU1RBTExfU1lNTElOSyBsaW5rbmFtZSB0YXJnZXQgZGVzdGluYXRpb24gY29tcG9uZW50KQotKyMgV2UgZG8gJ2NkIHBhdGg7IGxuIC1zIHRhcmdldF9uYW1lIGxpbmtfbmFtZScKLSsjIFdlIGFsc28gYWRkIGFuIElOU1RBTEwgdGFyZ2V0IGZvciAiJHtwYXRofS8ke2xpbmtfbmFtZX0iCi0rTUFDUk8oSU5TVEFMTF9TWU1MSU5LIHRhcmdldCB0YXJnZXRfbmFtZSBsaW5rX25hbWUgZGVzdGluYXRpb24gY29tcG9uZW50KQotIElGKFVOSVgpCi0gICBHRVRfVEFSR0VUX1BST1BFUlRZKGxvY2F0aW9uICR7dGFyZ2V0fSBMT0NBVElPTikKLSAgIEdFVF9GSUxFTkFNRV9DT01QT05FTlQocGF0aCAke2xvY2F0aW9ufSBQQVRIKQotLSAgR0VUX0ZJTEVOQU1FX0NPTVBPTkVOVChuYW1lICR7bG9jYXRpb259IE5BTUUpCi0tICBTRVQob3V0cHV0ICR7cGF0aH0vJHtsaW5rbmFtZX0pCi0rICBNRVNTQUdFKFNUQVRVUyAidGFyZ2V0ICR7dGFyZ2V0fSIpCi0rICBNRVNTQUdFKFNUQVRVUyAibGlua19uYW1lICR7bGlua19uYW1lfSIpCi0rICBNRVNTQUdFKFNUQVRVUyAidGFyZ2V0X25hbWUgJHt0YXJnZXRfbmFtZX0iKQotKyAgTUVTU0FHRShTVEFUVVMgInBhdGggJHtwYXRofSIpCi0rICBNRVNTQUdFKFNUQVRVUyAiIikKLSsKLSsgIFNFVChvdXRwdXQgJHtwYXRofS8ke2xpbmtfbmFtZX0pCi0gICBBRERfQ1VTVE9NX0NPTU1BTkQoCi0gICAgIE9VVFBVVCAke291dHB1dH0KLSAgICAgQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9IEFSR1MgLUUgcmVtb3ZlIC1mICR7b3V0cHV0fQotICAgICBDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gQVJHUyAtRSBjcmVhdGVfc3ltbGluayAKLS0gICAgICAke25hbWV9IAotLSAgICAgICR7bGlua25hbWV9Ci0rICAgICAgJHt0YXJnZXRfbmFtZX0gCi0rICAgICAgJHtsaW5rX25hbWV9Ci0gICAgIFdPUktJTkdfRElSRUNUT1JZICR7cGF0aH0KLSAgICAgREVQRU5EUyAke3RhcmdldH0KLSAgICAgKQotICAgCi0tICBBRERfQ1VTVE9NX1RBUkdFVChzeW1saW5rXyR7bGlua25hbWV9Ci0rICBBRERfQ1VTVE9NX1RBUkdFVChzeW1saW5rXyR7bGlua19uYW1lfQotICAgICBBTEwKLSAgICAgREVQRU5EUyAke291dHB1dH0pCi0tICBTRVRfVEFSR0VUX1BST1BFUlRJRVMoc3ltbGlua18ke2xpbmtuYW1lfSBQUk9QRVJUSUVTIENMRUFOX0RJUkVDVF9PVVRQVVQgMSkKLSsgIFNFVF9UQVJHRVRfUFJPUEVSVElFUyhzeW1saW5rXyR7bGlua19uYW1lfSBQUk9QRVJUSUVTIENMRUFOX0RJUkVDVF9PVVRQVVQgMSkKLSAgIElGKENNQUtFX0dFTkVSQVRPUiBNQVRDSEVTICJYY29kZSIpCi0gICAgICMgRm9yIFhjb2RlLCByZXBsYWNlIHByb2plY3QgY29uZmlnIHdpdGggaW5zdGFsbCBjb25maWcKLSAgICAgU1RSSU5HKFJFUExBQ0UgIiR7Q01BS0VfQ0ZHX0lOVERJUn0iIAotZGlmZiAtLWdpdCBhL2xpYm15c3FsL0NNYWtlTGlzdHMudHh0IGIvbGlibXlzcWwvQ01ha2VMaXN0cy50eHQKLWluZGV4IGJlNTc2MGYuLjk2Mjg2ZmYgMTAwNjQ0Ci0tLS0gYS9saWJteXNxbC9DTWFrZUxpc3RzLnR4dAotKysrIGIvbGlibXlzcWwvQ01ha2VMaXN0cy50eHQKLUBAIC00MzMsNiArNDMzLDEyIEBAIElGKE1TVkMpCi0gIElOU1RBTExfREVCVUdfVEFSR0VUKGNsaWVudGxpYiBERVNUSU5BVElPTiAke0lOU1RBTExfTElCRElSfS9kZWJ1ZykKLSBFTkRJRigpCi0gCi0rTUFDUk8oR0VUX1RBUkdFVF9OQU1FIHRhcmdldCBvdXRfbmFtZSkKLSsgIEdFVF9UQVJHRVRfUFJPUEVSVFkobG9jYXRpb24gJHt0YXJnZXR9IExPQ0FUSU9OKQotKyAgR0VUX0ZJTEVOQU1FX0NPTVBPTkVOVChuYW1lICR7bG9jYXRpb259IE5BTUUpCi0rICBTRVQoJHtvdXRfbmFtZX0gJHtuYW1lfSkKLStFTkRNQUNSTygpCi0rCi0gSUYoVU5JWCkKLSAgIE1BQ1JPKEdFVF9WRVJTSU9ORURfTElCTkFNRSBMSUJOQU1FIEVYVEVOU0lPTiBWRVJTSU9OIE9VVE5BTUUpCi0gICAgIFNFVChET1RfVkVSU0lPTiAiLiR7VkVSU0lPTn0iKQotQEAgLTQ0NSw3ICs0NTEsMTMgQEAgSUYoVU5JWCkKLSAgICAgICBTRVQoJHtPVVROQU1FfSAke0xJQk5BTUV9JHtFWFRFTlNJT059JHtET1RfVkVSU0lPTn0pCi0gICAgIEVORElGKCkgCi0gICBFTkRNQUNSTygpCi0tICBJTlNUQUxMX1NZTUxJTksoJHtDTUFLRV9TVEFUSUNfTElCUkFSWV9QUkVGSVh9bXlzcWxjbGllbnRfci5hIG15c3FsY2xpZW50ICR7SU5TVEFMTF9MSUJESVJ9IERldmVsb3BtZW50KQotK0VORElGKCkKLSsKLStJRihVTklYKQotKyAgR0VUX1RBUkdFVF9OQU1FKG15c3FsY2xpZW50IGxpYl9uYW1lKQotKyAgSU5TVEFMTF9TWU1MSU5LKG15c3FsY2xpZW50Ci0rICAgICR7bGliX25hbWV9ICR7Q01BS0VfU1RBVElDX0xJQlJBUllfUFJFRklYfW15c3FsY2xpZW50X3IuYQotKyAgICAke0lOU1RBTExfTElCRElSfSBEZXZlbG9wbWVudCkKLSBFTkRJRigpCi0gCi0gSUYoTk9UIERJU0FCTEVfU0hBUkVEKQotQEAgLTQ1NiwxMCArNDY4LDkgQEAgSUYoTk9UIERJU0FCTEVfU0hBUkVEKQotICAgICAjIGxpYnRvb2wgY29tcGF0YWJpbGl0eQotICAgICBJRihDTUFLRV9TWVNURU1fTkFNRSBNQVRDSEVTICJGcmVlQlNEIiBPUiBBUFBMRSkKLSAgICAgICBTRVQoT1NfU0hBUkVEX0xJQl9WRVJTSU9OICIke1NIQVJFRF9MSUJfTUFKT1JfVkVSU0lPTn0iKQotLSAgICBFTFNFSUYoQ01BS0VfU1lTVEVNX05BTUUgTUFUQ0hFUyAiSFAtVVgiKQotLSAgICAgIFNFVChPU19TSEFSRURfTElCX1ZFUlNJT04gIiR7U0hBUkVEX0xJQl9NQUpPUl9WRVJTSU9OfS4wIikKLSAgICAgRUxTRSgpCi0tICAgICAgU0VUKE9TX1NIQVJFRF9MSUJfVkVSU0lPTiAiJHtTSEFSRURfTElCX01BSk9SX1ZFUlNJT059LjAuMCIpCi0rICAgICAgU0VUKE9TX1NIQVJFRF9MSUJfVkVSU0lPTgotKyAgICAgICAgIiR7U0hBUkVEX0xJQl9NQUpPUl9WRVJTSU9OfS4ke1NIQVJFRF9MSUJfTUlOT1JfVkVSU0lPTn0uMCIpCi0gICAgIEVORElGKCkKLSAgICAgIyBOYW1lIG9mIHNoYXJlZCBsaWJyYXJ5IGlzIG15c3FsY2xpZW50IG9uIFVuaXgKLSAgICAgU0VUX1RBUkdFVF9QUk9QRVJUSUVTKGxpYm15c3FsIFBST1BFUlRJRVMgCi1AQCAtNDgyLDggKzQ5MywxMyBAQCBJRihOT1QgRElTQUJMRV9TSEFSRUQpCi0gICAgICAgIiR7Q01BS0VfU0hBUkVEX0xJQlJBUllfU1VGRklYfSIKLSAgICAgICAiIgotICAgICAgIGxpbmtuYW1lKQotLSAgICBJTlNUQUxMX1NZTUxJTksoJHtsaW5rbmFtZX0gbGlibXlzcWwgJHtJTlNUQUxMX0xJQkRJUn0gU2hhcmVkTGlicmFyaWVzKQotLSAgICBTRVQoT1NfU0hBUkVEX0xJQl9TWU1MSU5LUyAiJHtTSEFSRURfTElCX01BSk9SX1ZFUlNJT059IiAiJHtPU19TSEFSRURfTElCX1ZFUlNJT059IikKLSsgICAgR0VUX1RBUkdFVF9OQU1FKGxpYm15c3FsIGxpYl9uYW1lKQotKyAgICBHRVRfRklMRU5BTUVfQ09NUE9ORU5UKGxpYl9uYW1lX3dlICR7bGliX25hbWV9IE5BTUVfV0UpCi0rICAgIElOU1RBTExfU1lNTElOSyhsaWJteXNxbAotKyAgICAgICR7bGliX25hbWV9ICR7bGlua25hbWV9Ci0rICAgICAgJHtJTlNUQUxMX0xJQkRJUn0gU2hhcmVkTGlicmFyaWVzKQotKyAgICBTRVQoT1NfU0hBUkVEX0xJQl9TWU1MSU5LUwotKyAgICAgICIke1NIQVJFRF9MSUJfTUFKT1JfVkVSU0lPTn0iICIke09TX1NIQVJFRF9MSUJfVkVSU0lPTn0iKQotICAgICBMSVNUKFJFTU9WRV9EVVBMSUNBVEVTIE9TX1NIQVJFRF9MSUJfU1lNTElOS1MpCi0gICAgIEZPUkVBQ0godmVyICR7T1NfU0hBUkVEX0xJQl9TWU1MSU5LU30pCi0gICAgICAgR0VUX1ZFUlNJT05FRF9MSUJOQU1FKAotQEAgLTQ5MSw3ICs1MDcsMTEgQEAgSUYoTk9UIERJU0FCTEVfU0hBUkVEKQotICAgICAgICAgIiR7Q01BS0VfU0hBUkVEX0xJQlJBUllfU1VGRklYfSIKLSAgICAgICAgICIke3Zlcn0iCi0gICAgICAgICBsaW5rbmFtZSkKLS0gICAgICBJTlNUQUxMX1NZTUxJTksoJHtsaW5rbmFtZX0gbGlibXlzcWwgJHtJTlNUQUxMX0xJQkRJUn0gU2hhcmVkTGlicmFyaWVzKQotKyAgICAgIEdFVF9WRVJTSU9ORURfTElCTkFNRSgKLSsgICAgICAgICR7bGliX25hbWVfd2V9ICIke0NNQUtFX1NIQVJFRF9MSUJSQVJZX1NVRkZJWH0iICIke3Zlcn0iIGxpYl9uYW1lX3ZlcikKLSsgICAgICBJTlNUQUxMX1NZTUxJTksobGlibXlzcWwKLSsgICAgICAgICR7bGliX25hbWVfdmVyfSAke2xpbmtuYW1lfQotKyAgICAgICAgJHtJTlNUQUxMX0xJQkRJUn0gU2hhcmVkTGlicmFyaWVzKQotICAgICBFTkRGT1JFQUNIKCkKLSAgIEVORElGKCkKLSBFTkRJRigpCi0tLSAKLTIuMC4zCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9yZW1vdmUtYmFkLXBhdGgucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvcmVtb3ZlLWJhZC1wYXRoLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZjI2YjBiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9yZW1vdmUtYmFkLXBhdGgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1SZW1vdmUgaG9zdCBwYXRoIGZyb20gaW5jbHVkZSBkaXJlY3RvcmllcwotCi1OYXR1cmFsbHkgdGhpcyBicmVha3MgY3Jvc3MtY29tcGlsYXRpb24gaWYgcHJlc2VudC4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IFBhdWwgRWdnbGV0b24gPHBhdWwuZWdnbGV0b25AbGludXguaW50ZWwuY29tPgotCi0tLS0gbWFyaWFkYi01LjUuMzgvc3RvcmFnZS90b2t1ZGIvZnQtaW5kZXgvQ01ha2VMaXN0cy50eHQJMjAxNC0wNy0xNyAxNDozNzowNC41MjkzMjc5OTggKzAxMDAKLSsrKyBtYXJpYWRiLTUuNS4zOC9zdG9yYWdlL3Rva3VkYi9mdC1pbmRleC9DTWFrZUxpc3RzLnR4dAkyMDE0LTA3LTE3IDE0OjQzOjU2Ljk5MTMzNzg5NSArMDEwMAotQEAgLTM5LDcgKzM5LDYgQEAKLSAKLSAjIyBkZWZhdWx0IGluY2x1ZGVzIGFuZCBsaWJyYXJpZXMKLSBpbmNsdWRlX2RpcmVjdG9yaWVzKFNZU1RFTQotLSAgL3Vzci9sb2NhbC9pbmNsdWRlCi0gICAke1pMSUJfSU5DTFVERV9ESVJTfQotICAgKQotIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL3NxbC1DTWFrZUxpc3RzLnR4dC1maXgtZ2VuX2xleF9oYXNoLW5vdC1mb3VuZC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9zcWwtQ01ha2VMaXN0cy50eHQtZml4LWdlbl9sZXhfaGFzaC1ub3QtZm91bmQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWZjMWJlNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9zcWwtQ01ha2VMaXN0cy50eHQtZml4LWdlbl9sZXhfaGFzaC1ub3QtZm91bmQucGF0Y2gKQEAgLTAsMCArMSw2NSBAQAorRnJvbSA3OTY0NjQwMTViZmZlNmUwYmVjYTllMWMzNTViMjIzNTEyODAzYzNlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWluZ2xpIFl1IDxtaW5nbGkueXVAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFdlZCwgMjcgRmViIDIwMTkgMjM6MDE6MDAgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gc3FsL0NNYWtlTGlzdHMudHh0OiBmaXggZ2VuX2xleF9oYXNoIG5vdCBmb3VuZAorCitGaXggdGhlIGJlbG93IGRvX2NvbXBpbGUgaXNzdWUgaW4gY3Jvc3MtY29tcGlsaW5nIGVudi4KK3wgbWFrZVsyXTogKioqIE5vIHJ1bGUgdG8gbWFrZSB0YXJnZXQgJy9idWlsZC90bXAvd29yay9hYXJjaDY0LXBva3ktbGludXgvbWFyaWFkYi8xMC4zLjEzLXIwL21hcmlhZGItMTAuMy4xMy9zcWwvZ2VuX2xleF9oYXNoJywgbmVlZGVkIGJ5ICdzcWwvbGV4X2hhc2guaCcuICBTdG9wLgorfCBtYWtlWzJdOiAqKiogTm8gcnVsZSB0byBtYWtlIHRhcmdldCAnL2J1aWxkL3RtcC93b3JrL2FhcmNoNjQtcG9reS1saW51eC9tYXJpYWRiLzEwLjMuMTMtcjAvbWFyaWFkYi0xMC4zLjEzL3NxbC9nZW5fbGV4X3Rva2VuJywgbmVlZGVkIGJ5ICdzcWwvbGV4X3Rva2VuLmgnLiAgU3RvcC4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZSBidWlsZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogTWluZ2xpIFl1IDxtaW5nbGkueXVAd2luZHJpdmVyLmNvbT4KKworLS0tCisgc3FsL0NNYWtlTGlzdHMudHh0IHwgMzAgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3FsL0NNYWtlTGlzdHMudHh0IGIvc3FsL0NNYWtlTGlzdHMudHh0CitpbmRleCBjNjkxMGY0Ni4uYmY1MWY0Y2IgMTAwNjQ0CistLS0gYS9zcWwvQ01ha2VMaXN0cy50eHQKKysrKyBiL3NxbC9DTWFrZUxpc3RzLnR4dAorQEAgLTUwLDExICs1MCwxNiBAQCAke1dTUkVQX0lOQ0xVREVTfQorIAorIAorIAorLUFERF9DVVNUT01fQ09NTUFORCgKKy0gIE9VVFBVVCAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vbGV4X3Rva2VuLmgKKy0gIENPTU1BTkQgZ2VuX2xleF90b2tlbiA+IGxleF90b2tlbi5oCistICBERVBFTkRTIGdlbl9sZXhfdG9rZW4KKy0pCisrSUYoTk9UIENNQUtFX0NST1NTQ09NUElMSU5HKQorKyAgQUREX0NVU1RPTV9DT01NQU5EKAorKyAgIE9VVFBVVCAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vbGV4X3Rva2VuLmgKKysgICBDT01NQU5EIGdlbl9sZXhfdG9rZW4gPiBsZXhfdG9rZW4uaAorKyAgIERFUEVORFMgZ2VuX2xleF90b2tlbikKKytFTFNFKCkKKysgIEFERF9DVVNUT01fQ09NTUFORCgKKysgICBPVVRQVVQgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L2xleF90b2tlbi5oCisrICAgQ09NTUFORCBnZW5fbGV4X3Rva2VuID4gbGV4X3Rva2VuLmgpCisrRU5ESUYoKQorIAorIEFERF9ERUZJTklUSU9OUygtRE1ZU1FMX1NFUlZFUiAtREhBVkVfRVZFTlRfU0NIRURVTEVSKQorIAorQEAgLTM3MCwxMSArMzc1LDE2IEBAIElGKE5PVCBDTUFLRV9DUk9TU0NPTVBJTElORykKKyAgIEFERF9FWEVDVVRBQkxFKGdlbl9sZXhfaGFzaCBnZW5fbGV4X2hhc2guY2MpCisgRU5ESUYoKQorIAorLUFERF9DVVNUT01fQ09NTUFORCgKKy0gIE9VVFBVVCAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vbGV4X2hhc2guaAorLSAgQ09NTUFORCBnZW5fbGV4X2hhc2ggPiBsZXhfaGFzaC5oCistICBERVBFTkRTIGdlbl9sZXhfaGFzaAorLSkKKytJRihOT1QgQ01BS0VfQ1JPU1NDT01QSUxJTkcpCisrICBBRERfQ1VTVE9NX0NPTU1BTkQoCisrICAgT1VUUFVUICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9sZXhfaGFzaC5oCisrICAgQ09NTUFORCBnZW5fbGV4X2hhc2ggPiBsZXhfaGFzaC5oCisrICAgREVQRU5EUyBnZW5fbGV4X2hhc2gpCisrRUxTRSgpCisrICBBRERfQ1VTVE9NX0NPTU1BTkQoCisrICAgT1VUUFVUICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9sZXhfaGFzaC5oCisrICAgQ09NTUFORCBnZW5fbGV4X2hhc2ggPiBsZXhfaGFzaC5oKQorK0VORElGKCkKKyAKKyBNWVNRTF9BRERfRVhFQ1VUQUJMRShteXNxbF90emluZm9fdG9fc3FsIHR6dGltZS5jYyBDT01QT05FTlQgU2VydmVyKQorIFNFVF9UQVJHRVRfUFJPUEVSVElFUyhteXNxbF90emluZm9fdG9fc3FsIFBST1BFUlRJRVMgQ09NUElMRV9GTEFHUyAiLURUWklORk8yU1FMIikKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9zdXBwb3J0LWZpbGVzLUNNYWtlTGlzdHMudHh0LWZpeC1kb19wb3B1bGF0ZV9zeXNyb290LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL3N1cHBvcnQtZmlsZXMtQ01ha2VMaXN0cy50eHQtZml4LWRvX3BvcHVsYXRlX3N5c3Jvb3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGY5YTRlOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9zdXBwb3J0LWZpbGVzLUNNYWtlTGlzdHMudHh0LWZpeC1kb19wb3B1bGF0ZV9zeXNyb290LnBhdGNoCkBAIC0wLDAgKzEsMzQgQEAKK0Zyb20gNGFjNWI1NTVkMDU4ZDRkNDg5ZjI1YTM4MDZhNzg3YjdiMjQ2NWQwOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pbmdsaSBZdSA8bWluZ2xpLnl1QHdpbmRyaXZlci5jb20+CitEYXRlOiBXZWQsIDI3IEZlYiAyMDE5IDIyOjQxOjI2IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIHN1cHBvcnQtZmlsZXMvQ01ha2VMaXN0cy50eHQ6IGZpeCBkb19wb3B1bGF0ZV9zeXNyb290IGlzc3VlCisKK0NvbW1lbnQgb3V0IHRoZSBsb2dpYyB3aGljaCBmb3Igc3VzZSBhcyBpdCBpbnRyb2R1Y2VzCitiZWxvdyBkb19wb3B1bGF0ZV9zeXNyb290IGVycm9yOgorRVJST1I6IG1hcmlhZGItbmF0aXZlLTEwLjMuMTMtcjAgZG9fcG9wdWxhdGVfc3lzcm9vdDogc3N0YXRlIGZvdW5kIGFuIGFic29sdXRlIHBhdGggc3ltbGluayAvYnVpbGQvdG1wL3dvcmsveDg2XzY0LWxpbnV4L21hcmlhZGItbmF0aXZlLzEwLjMuMTMtcjAvc3lzcm9vdC1kZXN0ZGlyL2J1aWxkL3RtcC93b3JrL3g4Nl82NC1saW51eC9tYXJpYWRiLW5hdGl2ZS8xMC4zLjEzLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2ZS91c3Ivc2Jpbi9yY215c3FsIHBvaW50aW5nIGF0IC9idWlsZC90bXAvd29yay94ODZfNjQtbGludXgvbWFyaWFkYi1uYXRpdmUvMTAuMy4xMy1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmUvZXRjL2luaXQuZC9teXNxbC4gUGxlYXNlIHJlcGxhY2UgdGhpcyB3aXRoIGEgcmVsYXRpdmUgbGluay4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlW29lIGJ1aWxkIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBNaW5nbGkgWXUgPG1pbmdsaS55dUB3aW5kcml2ZXIuY29tPgorCistLS0KKyBzdXBwb3J0LWZpbGVzL0NNYWtlTGlzdHMudHh0IHwgNyAtLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDcgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zdXBwb3J0LWZpbGVzL0NNYWtlTGlzdHMudHh0IGIvc3VwcG9ydC1maWxlcy9DTWFrZUxpc3RzLnR4dAoraW5kZXggYjU3Njc0MzIuLjU2NzMzZGUxIDEwMDY0NAorLS0tIGEvc3VwcG9ydC1maWxlcy9DTWFrZUxpc3RzLnR4dAorKysrIGIvc3VwcG9ydC1maWxlcy9DTWFrZUxpc3RzLnR4dAorQEAgLTE2NSwxMiArMTY1LDUgQEAgSUYoVU5JWCkKKyAgICAgICBJTlNUQUxMKEZJTEVTIHJwbS9lbmFibGVfZW5jcnlwdGlvbi5wcmVzZXQgREVTVElOQVRJT04gJHtJTlNUQUxMX1NZU0NPTkYyRElSfQorICAgICAgICAgICAgICAgQ09NUE9ORU5UIEluaUZpbGVzKQorICAgICBFTkRJRigpCistCistICAgICMgVGhpcyBpcyBmb3IgU3VTRToKKy0gICAgSU5TVEFMTChDT0RFICJFWEVDVVRFX1BST0NFU1MoQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9IC1FIGNyZWF0ZV9zeW1saW5rCistICAgICAgICAgICAgICAgICAgICR7SU5TVEFMTF9TWVNDT05GRElSfS9pbml0LmQvbXlzcWwKKy0gICAgICAgICAgICAgICAgICAgJHtJTlNUQUxMX1NCSU5ESVJ9L3JjbXlzcWwKKy0gICAgICAgICAgICAgICAgICAgV09SS0lOR19ESVJFQ1RPUlkgXCRFTlZ7REVTVERJUn0ke3ByZWZpeH0pIgorLSAgICAgICAgICAgICAgICAgICBDT01QT05FTlQgU3VwcG9ydEZpbGVzKQorICAgRU5ESUYoSU5TVEFMTF9TWVNDT05GRElSKQorIEVORElGKCkKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYl8xMC4zLjEzLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiXzEwLjMuMTMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGUyNGM5MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYl8xMC4zLjEzLmJiCkBAIC0wLDAgKzEsMjcgQEAKK3JlcXVpcmUgbWFyaWFkYi5pbmMKKworRVhUUkFfT0VDTUFLRSArPSAiLURTVEFDS19ESVJFQ1RJT049LTEiCisKK0RFUEVORFMgKz0gIm1hcmlhZGItbmF0aXZlIGJpc29uLW5hdGl2ZSBvcGVuc3NsIG5jdXJzZXMgemxpYiByZWFkbGluZSBsaWJhaW8gbGliZXZlbnQgbGlieG1sMiIKKworUFJPVklERVMgKz0gIm15c3FsNSBsaWJteXNxbGNsaWVudCIKKworUlBST1ZJREVTXyR7UE59ICs9ICJteXNxbDUiCitSUkVQTEFDRVNfJHtQTn0gKz0gIm15c3FsNSIKK1JDT05GTElDVFNfJHtQTn0gKz0gIm15c3FsNSIKKworUlBST1ZJREVTXyR7UE59LWRiZyArPSAibXlzcWw1LWRiZyIKK1JSRVBMQUNFU18ke1BOfS1kYmcgKz0gIm15c3FsNS1kYmciCitSQ09ORkxJQ1RTXyR7UE59LWRiZyArPSAibXlzcWw1LWRiZyIKKworUlBST1ZJREVTXyR7UE59LWxlZnRvdmVycyArPSAibXlzcWw1LWxlZnRvdmVycyIKK1JSRVBMQUNFU18ke1BOfS1sZWZ0b3ZlcnMgKz0gIm15c3FsNS1sZWZ0b3ZlcnMiCitSQ09ORkxJQ1RTXyR7UE59LWxlZnRvdmVycyArPSAibXlzcWw1LWxlZnRvdmVycyIKKworUlBST1ZJREVTXyR7UE59LWNsaWVudCArPSAibXlzcWw1LWNsaWVudCIKK1JSRVBMQUNFU18ke1BOfS1jbGllbnQgKz0gIm15c3FsNS1jbGllbnQiCitSQ09ORkxJQ1RTXyR7UE59LWNsaWVudCArPSAibXlzcWw1LWNsaWVudCIKKworUlBST1ZJREVTXyR7UE59LXNlcnZlciArPSAibXlzcWw1LXNlcnZlciIKK1JSRVBMQUNFU18ke1BOfS1zZXJ2ZXIgKz0gIm15c3FsNS1zZXJ2ZXIiCitSQ09ORkxJQ1RTXyR7UE59LXNlcnZlciArPSAibXlzcWw1LXNlcnZlciIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYl81LjUuNjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGJfNS41LjYyLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNzg5NTczLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYl81LjUuNjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1yZXF1aXJlIG1hcmlhZGIuaW5jCi0KLUVYVFJBX09FQ01BS0UgKz0gIi1EU1RBQ0tfRElSRUNUSU9OPS0xIgotCi1ERVBFTkRTICs9ICJtYXJpYWRiLW5hdGl2ZSBuY3Vyc2VzIHpsaWIgcmVhZGxpbmUgbGliYWlvIGxpYmV2ZW50IgotCi1QUk9WSURFUyArPSAibXlzcWw1IGxpYm15c3FsY2xpZW50IgotCi1SUFJPVklERVNfJHtQTn0gKz0gIm15c3FsNSIKLVJSRVBMQUNFU18ke1BOfSArPSAibXlzcWw1IgotUkNPTkZMSUNUU18ke1BOfSArPSAibXlzcWw1IgotCi1SUFJPVklERVNfJHtQTn0tZGJnICs9ICJteXNxbDUtZGJnIgotUlJFUExBQ0VTXyR7UE59LWRiZyArPSAibXlzcWw1LWRiZyIKLVJDT05GTElDVFNfJHtQTn0tZGJnICs9ICJteXNxbDUtZGJnIgotCi1SUFJPVklERVNfJHtQTn0tbGVmdG92ZXJzICs9ICJteXNxbDUtbGVmdG92ZXJzIgotUlJFUExBQ0VTXyR7UE59LWxlZnRvdmVycyArPSAibXlzcWw1LWxlZnRvdmVycyIKLVJDT05GTElDVFNfJHtQTn0tbGVmdG92ZXJzICs9ICJteXNxbDUtbGVmdG92ZXJzIgotCi1SUFJPVklERVNfJHtQTn0tY2xpZW50ICs9ICJteXNxbDUtY2xpZW50IgotUlJFUExBQ0VTXyR7UE59LWNsaWVudCArPSAibXlzcWw1LWNsaWVudCIKLVJDT05GTElDVFNfJHtQTn0tY2xpZW50ICs9ICJteXNxbDUtY2xpZW50IgotCi1SUFJPVklERVNfJHtQTn0tc2VydmVyICs9ICJteXNxbDUtc2VydmVyIgotUlJFUExBQ0VTXyR7UE59LXNlcnZlciArPSAibXlzcWw1LXNlcnZlciIKLVJDT05GTElDVFNfJHtQTn0tc2VydmVyICs9ICJteXNxbDUtc2VydmVyIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9teXNxbC1weXRob24vMDAwMS1fbXlzcWwuYy1maXgtY29tcGlsYXRpb24td2l0aC1NYXJpYURCLXdpdGgtMTAuMy4xMy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbXlzcWwtcHl0aG9uLzAwMDEtX215c3FsLmMtZml4LWNvbXBpbGF0aW9uLXdpdGgtTWFyaWFEQi13aXRoLTEwLjMuMTMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTczMjQxZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbXlzcWwtcHl0aG9uLzAwMDEtX215c3FsLmMtZml4LWNvbXBpbGF0aW9uLXdpdGgtTWFyaWFEQi13aXRoLTEwLjMuMTMucGF0Y2gKQEAgLTAsMCArMSwzNCBAQAorRnJvbSA0NTQzNjU5MmFhNjQzMDhiMmFiNDZmODRjNjEwN2M2ZDdkZTBhM2VjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWluZ2xpIFl1IDxtaW5nbGkueXVAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFdlZCwgNiBNYXIgMjAxOSAwMDoxNjoxNyAtMDgwMAorU3ViamVjdDogW1BBVENIXSBfbXlzcWwuYzogZml4IGNvbXBpbGF0aW9uIHdpdGggTWFyaWFEQiAxMC4zLjEzCisKK1VzZSBzdGFuZGFyZCBBUEkgZnVuY3Rpb24gTVlTUUxfT1BUX1JFQ09OTkVDVAoraW5zdGVhZCBvZiBkaXJlY3QgbW9kaWZpY2F0aW9uIG9mIGludGVybmFsIHN0cnVjdHVyZXMKK3doaWNoIGRvZXMgbm90IHdvcmsgZm9yIE1hcmlhREIuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBNaW5nbGkgWXUgPG1pbmdsaS55dUB3aW5kcml2ZXIuY29tPgorLS0tCisgX215c3FsLmMgfCA5ICsrKysrKysrLQorIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworLS0tIGEvX215c3FsLmMKKysrKyBiL19teXNxbC5jCitAQCAtMjAwMiw3ICsyMDAyLDE0IEBAIF9teXNxbF9Db25uZWN0aW9uT2JqZWN0X3BpbmcoCisgCWludCByLCByZWNvbm5lY3QgPSAtMTsNCisgCWlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAifEkiLCAmcmVjb25uZWN0KSkgcmV0dXJuIE5VTEw7DQorIAljaGVja19jb25uZWN0aW9uKHNlbGYpOw0KKy0JaWYgKCByZWNvbm5lY3QgIT0gLTEgKSBzZWxmLT5jb25uZWN0aW9uLnJlY29ubmVjdCA9IHJlY29ubmVjdDsNCisrCWlmICggcmVjb25uZWN0ICE9IC0xICkgew0KKysjaWYgTVlTUUxfVkVSU0lPTl9JRCA+PSA1MDAxMw0KKysJCW15X2Jvb2wgcmVjb24gPSByZWNvbm5lY3Q7DQorKwkJbXlzcWxfb3B0aW9ucygmc2VsZi0+Y29ubmVjdGlvbiwgTVlTUUxfT1BUX1JFQ09OTkVDVCwgJnJlY29uKTsNCisrI2Vsc2UNCisrCQlzZWxmLT5jb25uZWN0aW9uLnJlY29ubmVjdCA9IHJlY29ubmVjdDsNCisrI2VuZGlmDQorKyAgICAgICAgfQ0KKyAJUHlfQkVHSU5fQUxMT1dfVEhSRUFEUw0KKyAJciA9IG15c3FsX3BpbmcoJihzZWxmLT5jb25uZWN0aW9uKSk7DQorIAlQeV9FTkRfQUxMT1dfVEhSRUFEUw0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbXlzcWwtcHl0aG9uXzEuMi41LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9teXNxbC1weXRob25fMS4yLjUuYmIKaW5kZXggYWMwZGY0Zi4uZjJmYWVjMSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9teXNxbC1weXRob25fMS4yLjUuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9teXNxbC1weXRob25fMS4yLjUuYmIKQEAgLTgsNyArOCw5IEBACiAKIFNSQ05BTUUgPSAiTXlTUUwtcHl0aG9uIgogCi1TUkNfVVJJID0gImh0dHBzOi8vcHlwaS5weXRob24ub3JnL3BhY2thZ2VzL3NvdXJjZS9NLyR7U1JDTkFNRX0vJHtTUkNOQU1FfS0ke1BWfS56aXAiCitTUkNfVVJJID0gImh0dHBzOi8vcHlwaS5weXRob24ub3JnL3BhY2thZ2VzL3NvdXJjZS9NLyR7U1JDTkFNRX0vJHtTUkNOQU1FfS0ke1BWfS56aXAgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1fbXlzcWwuYy1maXgtY29tcGlsYXRpb24td2l0aC1NYXJpYURCLXdpdGgtMTAuMy4xMy5wYXRjaCBcCisiCiBTUkNfVVJJW21kNXN1bV0gPSAiNjU0Zjc1YjMwMmRiNmVkOGRjNWE4OThjNjI1ZTAzMGMiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODExMDQwYjY0N2U1ZDU2ODZmODRkYjQxNWVmZDY5N2U2MjUwMDA4YjExMmI2OTA5YmE3N2FjMDU5ZTE0MGM3NCIKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9wb3N0Z3Jlc3FsL2ZpbGVzLzAwMDEtQWRkLXN1cHBvcnQtZm9yLVJJU0MtVi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcG9zdGdyZXNxbC9maWxlcy8wMDAxLUFkZC1zdXBwb3J0LWZvci1SSVNDLVYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODY1YWQzMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcG9zdGdyZXNxbC9maWxlcy8wMDAxLUFkZC1zdXBwb3J0LWZvci1SSVNDLVYucGF0Y2gKQEAgLTAsMCArMSw0MSBAQAorRnJvbSBiMDZhMjI4YTVmZDE1ODlmYzliZWQ2NTRiMzI4OGIzMjFmYzIxYWExIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogIlJpY2hhcmQgVy5NLiBKb25lcyIgPHJqb25lc0ByZWRoYXQuY29tPgorRGF0ZTogU3VuLCAyMCBOb3YgMjAxNiAxNTowNDo1MiArMDAwMAorU3ViamVjdDogW1BBVENIXSBBZGQgc3VwcG9ydCBmb3IgUklTQy1WLgorCitUaGUgYXJjaGl0ZWN0dXJlIGlzIHN1ZmZpY2llbnRseSBzaW1pbGFyIHRvIGFhcmNoNjQgdGhhdCBzaW1wbHkKK2V4dGVuZGluZyB0aGUgZXhpc3RpbmcgYWFyY2g2NCBtYWNybyB3b3Jrcy4KKy0tLQorIHNyYy9pbmNsdWRlL3N0b3JhZ2Uvc19sb2NrLmggfCA1ICsrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3N0b3JhZ2Uvc19sb2NrLmggYi9zcmMvaW5jbHVkZS9zdG9yYWdlL3NfbG9jay5oCitpbmRleCAzZmUyOWNlLi43Y2Q1NzhmIDEwMDY0NAorLS0tIGEvc3JjL2luY2x1ZGUvc3RvcmFnZS9zX2xvY2suaAorKysrIGIvc3JjL2luY2x1ZGUvc3RvcmFnZS9zX2xvY2suaAorQEAgLTMxNiwxMSArMzE2LDEyIEBAIHRhcyh2b2xhdGlsZSBzbG9ja190ICpsb2NrKQorIAorIC8qCisgICogT24gQVJNIGFuZCBBUk02NCwgd2UgdXNlIF9fc3luY19sb2NrX3Rlc3RfYW5kX3NldChpbnQgKiwgaW50KSBpZiBhdmFpbGFibGUuCisrICogT24gUklTQy1WLCB0aGUgc2FtZS4KKyAgKgorICAqIFdlIHVzZSB0aGUgaW50LXdpZHRoIHZhcmlhbnQgb2YgdGhlIGJ1aWx0aW4gYmVjYXVzZSBpdCB3b3JrcyBvbiBtb3JlIGNoaXBzCisgICogdGhhbiBvdGhlciB3aWR0aHMuCisgICovCistI2lmIGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX2FybSkgfHwgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX2FhcmNoNjQpCisrI2lmIGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX2FybSkgfHwgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX2FhcmNoNjQpIHx8IGRlZmluZWQoX19yaXNjdikKKyAjaWZkZWYgSEFWRV9HQ0NfX1NZTkNfSU5UMzJfVEFTCisgI2RlZmluZSBIQVNfVEVTVF9BTkRfU0VUCisgCitAQCAtMzM3LDcgKzMzOCw3IEBAIHRhcyh2b2xhdGlsZSBzbG9ja190ICpsb2NrKQorICNkZWZpbmUgU19VTkxPQ0sobG9jaykgX19zeW5jX2xvY2tfcmVsZWFzZShsb2NrKQorIAorICNlbmRpZgkgLyogSEFWRV9HQ0NfX1NZTkNfSU5UMzJfVEFTICovCistI2VuZGlmCSAvKiBfX2FybV9fIHx8IF9fYXJtIHx8IF9fYWFyY2g2NF9fIHx8IF9fYWFyY2g2NCAqLworKyNlbmRpZgkgLyogX19hcm1fXyB8fCBfX2FybSB8fCBfX2FhcmNoNjRfXyB8fCBfX2FhcmNoNjQgfHwgX19yaXNjdiAqLworIAorIAorIC8qIFMvMzkwIGFuZCBTLzM5MHggTGludXggKDMyLSBhbmQgNjQtYml0IHpTZXJpZXMpICovCistLSAKKzIuOS4zCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcG9zdGdyZXNxbC9maWxlcy8wMDAxLVN5bmMtb3VyLWNvcHktb2YtdGhlLXRpbWV6b25lLWxpYnJhcnktd2l0aC1JQU5BLXJlbGUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3Bvc3RncmVzcWwvZmlsZXMvMDAwMS1TeW5jLW91ci1jb3B5LW9mLXRoZS10aW1lem9uZS1saWJyYXJ5LXdpdGgtSUFOQS1yZWxlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZDhjNDZlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcG9zdGdyZXNxbC9maWxlcy8wMDAxLVN5bmMtb3VyLWNvcHktb2YtdGhlLXRpbWV6b25lLWxpYnJhcnktd2l0aC1JQU5BLXJlbGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMTY0ICswLDAgQEAKLUZyb20gMTJiZmI3NzhjZTY4OGZjNjYyYTZjYjM1ZjYyOTg3MzRmY2Y0ODU2ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFRvbSBMYW5lIDx0Z2xAc3NzLnBnaC5wYS51cz4KLURhdGU6IEZyaSwgMTkgT2N0IDIwMTggMTk6MzY6MzQgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gU3luYyBvdXIgY29weSBvZiB0aGUgdGltZXpvbmUgbGlicmFyeSB3aXRoIElBTkEgcmVsZWFzZQotIHR6Y29kZTIwMThmLgotCi1BYm91dCBoYWxmIG9mIHRoaXMgaXMgcHVyZWx5IGNvc21ldGljIGNoYW5nZXMgdG8gcmVkdWNlIHRoZSBkaWZmIGJldHdlZW4KLW91ciBjb2RlIGFuZCB0aGVpcnMsIGxpa2UgaW5zZXJ0aW5nICJjb25zdCIgbWFya2VycyB3aGVyZSB0aGV5IGhhdmUgdGhlbS4KLQotVGhlIG90aGVyIGhhbGYgaXMgdHJhY2tpbmcgYWN0dWFsIGNvZGUgY2hhbmdlcyBpbiB6aWMuYyBhbmQgbG9jYWx0aW1lLmMuCi1JIGRvbid0IHRoaW5rIGFueSBvZiB0aGVzZSByZXByZXNlbnQgbmVhci10ZXJtIGNvbXBhdGliaWxpdHkgaGF6YXJkcywgYnV0Ci1pdCBzZWVtcyBiZXN0IHRvIHN0YXkgdXAgdG8gZGF0ZS4KLQotSSBhbHNvIGZpeGVkIGxvbmdzdGFuZGluZyBidWdzIGluIG91ciBjb2RlIGZvciBwcm9kdWNpbmcgdGhlCi1rbm93bl9hYmJyZXZzLnR4dCBsaXN0LCB3aGljaCBieSBjaGFuY2UgaGFkbid0IGJlZW4gZXhwb3NlZCBiZWZvcmUsCi1idXQgd2hpY2ggcmVzdWx0ZWQgaW4gc29tZSBnYXJiYWdlIG91dHB1dCBhZnRlciBhcHBseWluZyB0aGUgdXBzdHJlYW0KLWNoYW5nZXMgaW4gemljLmMuICBOb3RhYmx5LCBiZWNhdXNlIHVwc3RyZWFtIHJlbW92ZWQgdGhlaXIgb2xkIHBob255Ci10cmFuc2l0aW9ucyBhdCB0aGUgQmlnIEJhbmcsIGl0J3Mgbm93IG5lY2Vzc2FyeSB0byBjb3BlIHdpdGggVFppZiBmaWxlcwotY29udGFpbmluZyBubyBEU1QgdHJhbnNpdGlvbiB0aW1lcyBhdCBhbGwuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVNpZ25lZC1vZmYtYnk6IEFybWluIEt1c3RlciA8YWt1c3RlckBtdmlzdGEuY29tPgotCi0tLS0KLSBzcmMvdGltZXpvbmUvUkVBRE1FICAgICAgfCAgIDIgKy0KLSBzcmMvdGltZXpvbmUvbG9jYWx0aW1lLmMgfCAxMjYgKysrKysrKysrKysrLS0tLS0tCi0gc3JjL3RpbWV6b25lL3BndHouaCAgICAgIHwgIDEwICstCi0gc3JjL3RpbWV6b25lL3ByaXZhdGUuaCAgIHwgICAzICsKLSBzcmMvdGltZXpvbmUvc3RyZnRpbWUuYyAgfCAgMTAgKy0KLSBzcmMvdGltZXpvbmUvdHpmaWxlLmggICAgfCAgIDcgKy0KLSBzcmMvdGltZXpvbmUvemljLmMgICAgICAgfCAzMzAgKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSA3IGZpbGVzIGNoYW5nZWQsIDI5MSBpbnNlcnRpb25zKCspLCAxOTcgZGVsZXRpb25zKC0pCi0KLUluZGV4OiBwb3N0Z3Jlc3FsLTEwLjUvc3JjL3RpbWV6b25lL1JFQURNRQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHBvc3RncmVzcWwtMTAuNS5vcmlnL3NyYy90aW1lem9uZS9SRUFETUUKLSsrKyBwb3N0Z3Jlc3FsLTEwLjUvc3JjL3RpbWV6b25lL1JFQURNRQotQEAgLTU1LDcgKzU1LDcgQEAgbWF0Y2ggcHJvcGVybHkgb24gdGhlIG9sZCB2ZXJzaW9uLgotIFRpbWUgWm9uZSBjb2RlCi0gPT09PT09PT09PT09PT0KLSAKLS1UaGUgY29kZSBpbiB0aGlzIGRpcmVjdG9yeSBpcyBjdXJyZW50bHkgc3luY2VkIHdpdGggdHpjb2RlIHJlbGVhc2UgMjAxOGUuCi0rVGhlIGNvZGUgaW4gdGhpcyBkaXJlY3RvcnkgaXMgY3VycmVudGx5IHN5bmNlZCB3aXRoIHR6Y29kZSByZWxlYXNlIDIwMThmLgotIFRoZXJlIGFyZSBtYW55IGNvc21ldGljIChhbmQgbm90IHNvIGNvc21ldGljKSBkaWZmZXJlbmNlcyBmcm9tIHRoZQotIG9yaWdpbmFsIHR6Y29kZSBsaWJyYXJ5LCBidXQgZGlmZnMgaW4gdGhlIHVwc3RyZWFtIHZlcnNpb24gc2hvdWxkIHVzdWFsbHkKLSBiZSBwcm9wYWdhdGVkIHRvIG91ciB2ZXJzaW9uLiAgSGVyZSBhcmUgc29tZSBub3RlcyBhYm91dCB0aGF0LgotSW5kZXg6IHBvc3RncmVzcWwtMTAuNS9zcmMvdGltZXpvbmUvbG9jYWx0aW1lLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwb3N0Z3Jlc3FsLTEwLjUub3JpZy9zcmMvdGltZXpvbmUvbG9jYWx0aW1lLmMKLSsrKyBwb3N0Z3Jlc3FsLTEwLjUvc3JjL3RpbWV6b25lL2xvY2FsdGltZS5jCi1AQCAtMSwzICsxLDUgQEAKLSsvKiBDb252ZXJ0IHRpbWVzdGFtcCBmcm9tIHBnX3RpbWVfdCB0byBzdHJ1Y3QgcGdfdG0uICAqLwotKwotIC8qCi0gICogVGhpcyBmaWxlIGlzIGluIHRoZSBwdWJsaWMgZG9tYWluLCBzbyBjbGFyaWZpZWQgYXMgb2YKLSAgKiAxOTk2LTA2LTA1IGJ5IEFydGh1ciBEYXZpZCBPbHNvbi4KLUBAIC0xMTcsNyArMTE5LDcgQEAgaW5pdF90dGluZm8oc3RydWN0IHR0aW5mbyAqcywgaW50MzIgZ210bwotIH0KLSAKLSBzdGF0aWMgaW50MzIKLS1kZXR6Y29kZShjb25zdCBjaGFyICpjb2RlcCkKLStkZXR6Y29kZShjb25zdCBjaGFyICpjb25zdCBjb2RlcCkKLSB7Ci0gCWludDMyCQlyZXN1bHQ7Ci0gCWludAkJCWk7Ci1AQCAtMTQzLDcgKzE0NSw3IEBAIGRldHpjb2RlKGNvbnN0IGNoYXIgKmNvZGVwKQotIH0KLSAKLSBzdGF0aWMgaW50NjQKLS1kZXR6Y29kZTY0KGNvbnN0IGNoYXIgKmNvZGVwKQotK2RldHpjb2RlNjQoY29uc3QgY2hhciAqY29uc3QgY29kZXApCi0gewotIAl1aW50NjQJCXJlc3VsdDsKLSAJaW50CQkJaTsKLUBAIC0yNTgsOCArMjYwLDEzIEBAIHR6bG9hZGJvZHkoY2hhciBjb25zdCAqbmFtZSwgY2hhciAqY2Fub24KLSAJCWludDMyCQljaGFyY250ID0gZGV0emNvZGUodXAtPnR6aGVhZC50emhfY2hhcmNudCk7Ci0gCQljaGFyIGNvbnN0ICpwID0gdXAtPmJ1ZiArIHR6aGVhZHNpemU7Ci0gCi0rCQkvKgotKwkJICogQWx0aG91Z2ggdHpmaWxlKDUpIGN1cnJlbnRseSByZXF1aXJlcyB0eXBlY250IHRvIGJlIG5vbnplcm8sCi0rCQkgKiBzdXBwb3J0IGZ1dHVyZSBmb3JtYXRzIHRoYXQgbWF5IGFsbG93IHplcm8gdHlwZWNudCBpbiBmaWxlcyB0aGF0Ci0rCQkgKiBoYXZlIGEgVFogc3RyaW5nIGFuZCBubyB0cmFuc2l0aW9ucy4KLSsJCSAqLwotIAkJaWYgKCEoMCA8PSBsZWFwY250ICYmIGxlYXBjbnQgPCBUWl9NQVhfTEVBUFMKLS0JCQkgICYmIDAgPCB0eXBlY250ICYmIHR5cGVjbnQgPCBUWl9NQVhfVFlQRVMKLSsJCQkgICYmIDAgPD0gdHlwZWNudCAmJiB0eXBlY250IDwgVFpfTUFYX1RZUEVTCi0gCQkJICAmJiAwIDw9IHRpbWVjbnQgJiYgdGltZWNudCA8IFRaX01BWF9USU1FUwotIAkJCSAgJiYgMCA8PSBjaGFyY250ICYmIGNoYXJjbnQgPCBUWl9NQVhfQ0hBUlMKLSAJCQkgICYmICh0dGlzc3RkY250ID09IHR5cGVjbnQgfHwgdHRpc3N0ZGNudCA9PSAwKQotQEAgLTQxNiw4ICs0MjMsNyBAQCB0emxvYWRib2R5KGNoYXIgY29uc3QgKm5hbWUsIGNoYXIgKmNhbm9uCi0gCQlzdHJ1Y3Qgc3RhdGUgKnRzID0gJmxzcC0+dS5zdDsKLSAKLSAJCXVwLT5idWZbbnJlYWQgLSAxXSA9ICdcMCc7Ci0tCQlpZiAodHpwYXJzZSgmdXAtPmJ1ZlsxXSwgdHMsIGZhbHNlKQotLQkJCSYmIHRzLT50eXBlY250ID09IDIpCi0rCQlpZiAodHpwYXJzZSgmdXAtPmJ1ZlsxXSwgdHMsIGZhbHNlKSkKLSAJCXsKLSAJCQkvKgotIAkJCSAqIEF0dGVtcHQgdG8gcmV1c2UgZXhpc3RpbmcgYWJicmV2aWF0aW9ucy4gV2l0aG91dCB0aGlzLAotQEAgLTQzMCw3ICs0MzYsNyBAQCB0emxvYWRib2R5KGNoYXIgY29uc3QgKm5hbWUsIGNoYXIgKmNhbm9uCi0gCQkJaW50CQkJZ290YWJiciA9IDA7Ci0gCQkJaW50CQkJY2hhcmNudCA9IHNwLT5jaGFyY250OwotIAotLQkJCWZvciAoaSA9IDA7IGkgPCAyOyBpKyspCi0rCQkJZm9yIChpID0gMDsgaSA8IHRzLT50eXBlY250OyBpKyspCi0gCQkJewotIAkJCQljaGFyCSAgICp0c2FiYnIgPSB0cy0+Y2hhcnMgKyB0cy0+dHRpc1tpXS50dF9hYmJyaW5kOwotIAkJCQlpbnQJCQlqOwotQEAgLTQ1NSw3ICs0NjEsNyBAQCB0emxvYWRib2R5KGNoYXIgY29uc3QgKm5hbWUsIGNoYXIgKmNhbm9uCi0gCQkJCQl9Ci0gCQkJCX0KLSAJCQl9Ci0tCQkJaWYgKGdvdGFiYnIgPT0gMikKLSsJCQlpZiAoZ290YWJiciA9PSB0cy0+dHlwZWNudCkKLSAJCQl7Ci0gCQkJCXNwLT5jaGFyY250ID0gY2hhcmNudDsKLSAKLUBAIC00NzAsNyArNDc2LDggQEAgdHpsb2FkYm9keShjaGFyIGNvbnN0ICpuYW1lLCBjaGFyICpjYW5vbgotIAkJCQkJc3AtPnRpbWVjbnQtLTsKLSAKLSAJCQkJZm9yIChpID0gMDsgaSA8IHRzLT50aW1lY250OyBpKyspCi0tCQkJCQlpZiAoc3AtPmF0c1tzcC0+dGltZWNudCAtIDFdIDwgdHMtPmF0c1tpXSkKLSsJCQkJCWlmIChzcC0+dGltZWNudCA9PSAwCi0rCQkJCQkJfHwgc3AtPmF0c1tzcC0+dGltZWNudCAtIDFdIDwgdHMtPmF0c1tpXSkKLSAJCQkJCQlicmVhazsKLSAJCQkJd2hpbGUgKGkgPCB0cy0+dGltZWNudAotIAkJCQkJICAgJiYgc3AtPnRpbWVjbnQgPCBUWl9NQVhfVElNRVMpCi1AQCAtNDgxLDExICs0ODgsMTMgQEAgdHpsb2FkYm9keShjaGFyIGNvbnN0ICpuYW1lLCBjaGFyICpjYW5vbgotIAkJCQkJc3AtPnRpbWVjbnQrKzsKLSAJCQkJCWkrKzsKLSAJCQkJfQotLQkJCQlzcC0+dHRpc1tzcC0+dHlwZWNudCsrXSA9IHRzLT50dGlzWzBdOwotLQkJCQlzcC0+dHRpc1tzcC0+dHlwZWNudCsrXSA9IHRzLT50dGlzWzFdOwotKwkJCQlmb3IgKGkgPSAwOyBpIDwgdHMtPnR5cGVjbnQ7IGkrKykKLSsJCQkJCXNwLT50dGlzW3NwLT50eXBlY250KytdID0gdHMtPnR0aXNbaV07Ci0gCQkJfQotIAkJfQotIAl9Ci0rCWlmIChzcC0+dHlwZWNudCA9PSAwKQotKwkJcmV0dXJuIEVJTlZBTDsKLSAJaWYgKHNwLT50aW1lY250ID4gMSkKLSAJewotIAkJZm9yIChpID0gMTsgaSA8IHNwLT50aW1lY250OyArK2kpCi1AQCAtNTA3LDYgKzUxNiwxOCBAQCB0emxvYWRib2R5KGNoYXIgY29uc3QgKm5hbWUsIGNoYXIgKmNhbm9uCi0gCX0KLSAKLSAJLyoKLSsJICogSW5mZXIgc3AtPmRlZmF1bHR0eXBlIGZyb20gdGhlIGRhdGEuICBBbHRob3VnaCB0aGlzIGRlZmF1bHQgdHlwZSBpcwotKwkgKiBhbHdheXMgemVybyBmb3IgZGF0YSBmcm9tIHJlY2VudCB0emRiIHJlbGVhc2VzLCB0aGluZ3MgYXJlIHRyaWNraWVyIGZvcgotKwkgKiBkYXRhIGZyb20gdHpkYiAyMDE4ZSBvciBlYXJsaWVyLgotKwkgKgotKwkgKiBUaGUgZmlyc3Qgc2V0IG9mIGhldXJpc3RpY3Mgd29yayBhcm91bmQgYnVncyBpbiAzMi1iaXQgZGF0YSBnZW5lcmF0ZWQKLSsJICogYnkgdHpkYiAyMDEzYyBvciBlYXJsaWVyLiAgVGhlIHdvcmthcm91bmQgaXMgZm9yIHpvbmVzIGxpa2UKLSsJICogQXVzdHJhbGlhL01hY3F1YXJpZSB3aGVyZSB0aW1lc3RhbXBzIGJlZm9yZSB0aGUgZmlyc3QgdHJhbnNpdGlvbiBoYXZlIGEKLSsJICogdGltZSB0eXBlIHRoYXQgaXMgbm90IHRoZSBlYXJsaWVzdCBzdGFuZGFyZC10aW1lIHR5cGUuICBTZWU6Ci0rCSAqIGh0dHBzOi8vbW0uaWNhbm4ub3JnL3BpcGVybWFpbC90ei8yMDEzLU1heS8wMTkzNjguaHRtbAotKwkgKi8KLSsKLSsJLyoKLSAJICogSWYgdHlwZSAwIGlzIHVudXNlZCBpbiB0cmFuc2l0aW9ucywgaXQncyB0aGUgdHlwZSB0byB1c2UgZm9yIGVhcmx5Ci0gCSAqIHRpbWVzLgotIAkgKi8KLUBAIC01MjksNiArNTUwLDExIEBAIHR6bG9hZGJvZHkoY2hhciBjb25zdCAqbmFtZSwgY2hhciAqY2Fub24KLSAJfQotIAotIAkvKgotKwkgKiBUaGUgbmV4dCBoZXVyaXN0aWNzIGFyZSBmb3IgZGF0YSBnZW5lcmF0ZWQgYnkgdHpkYiAyMDE4ZSBvciBlYXJsaWVyLAotKwkgKiBmb3Igem9uZXMgbGlrZSBFU1Q1RURUIHdoZXJlIHRoZSBmaXJzdCB0cmFuc2l0aW9uIGlzIHRvIERTVC4KLSsJICovCi0rCi0rCS8qCi0gCSAqIElmIG5vIHJlc3VsdCB5ZXQsIGZpbmQgdGhlIGZpcnN0IHN0YW5kYXJkIHR5cGUuIElmIHRoZXJlIGlzIG5vbmUsIHB1bnQKLSAJICogdG8gdHlwZSB6ZXJvLgotIAkgKi8KLUBAIC01NDIsNyArNTY4LDE0IEBAIHR6bG9hZGJvZHkoY2hhciBjb25zdCAqbmFtZSwgY2hhciAqY2Fub24KLSAJCQkJYnJlYWs7Ci0gCQkJfQotIAl9Ci0rCi0rCS8qCi0rCSAqIEEgc2ltcGxlICdzcC0+ZGVmYXVsdHR5cGUgPSAwOycgd291bGQgc3VmZmljZSBoZXJlIGlmIHdlIGRpZG4ndCBoYXZlIHRvCi0rCSAqIHdvcnJ5IGFib3V0IDIwMThlLW9yLWVhcmxpZXIgZGF0YS4gIEV2ZW4gc2ltcGxlciB3b3VsZCBiZSB0byByZW1vdmUgdGhlCi0rCSAqIGRlZmF1bHR0eXBlIG1lbWJlciBhbmQganVzdCB1c2UgMCBpbiBpdHMgcGxhY2UuCi0rCSAqLwotIAlzcC0+ZGVmYXVsdHR5cGUgPSBpOwotKwotIAlyZXR1cm4gMDsKLSB9Ci0gCi1AQCAtNjAxLDEwICs2MzQsMTEgQEAgc3RhdGljIGNvbnN0IGludCB5ZWFyX2xlbmd0aHNbMl0gPSB7Ci0gfTsKLSAKLSAvKgotLSAqIEdpdmVuIGEgcG9pbnRlciBpbnRvIGEgdGltZSB6b25lIHN0cmluZywgc2NhbiB1bnRpbCBhIGNoYXJhY3RlciB0aGF0IGlzIG5vdAotLSAqIGEgdmFsaWQgY2hhcmFjdGVyIGluIGEgem9uZSBuYW1lIGlzIGZvdW5kLiBSZXR1cm4gYSBwb2ludGVyIHRvIHRoYXQKLS0gKiBjaGFyYWN0ZXIuCi0rICogR2l2ZW4gYSBwb2ludGVyIGludG8gYSB0aW1lem9uZSBzdHJpbmcsIHNjYW4gdW50aWwgYSBjaGFyYWN0ZXIgdGhhdCBpcyBub3QKLSsgKiBhIHZhbGlkIGNoYXJhY3RlciBpbiBhIHRpbWUgem9uZSBhYmJyZXZpYXRpb24gaXMgZm91bmQuCi0rICogUmV0dXJuIGEgcG9pbnRlciB0byB0aGF0IGNoYXJhY3Rlci4KLSAgKi8KLSsKLSBzdGF0aWMgY29uc3QgY2hhciAqCi0gZ2V0em5hbWUoY29uc3QgY2hhciAqc3RycCkKLSB7Ci1AQCAtNjE3LDE1ICs2NTEsMTcgQEAgZ2V0em5hbWUoY29uc3QgY2hhciAqc3RycCkKLSB9Ci0gCi0gLyoKLS0gKiBHaXZlbiBhIHBvaW50ZXIgaW50byBhbiBleHRlbmRlZCB0aW1lIHpvbmUgc3RyaW5nLCBzY2FuIHVudGlsIHRoZSBlbmRpbmcKLS0gKiBkZWxpbWl0ZXIgb2YgdGhlIHpvbmUgbmFtZSBpcyBsb2NhdGVkLiBSZXR1cm4gYSBwb2ludGVyIHRvIHRoZSBkZWxpbWl0ZXIuCi0rICogR2l2ZW4gYSBwb2ludGVyIGludG8gYW4gZXh0ZW5kZWQgdGltZXpvbmUgc3RyaW5nLCBzY2FuIHVudGlsIHRoZSBlbmRpbmcKLSsgKiBkZWxpbWl0ZXIgb2YgdGhlIHRpbWUgem9uZSBhYmJyZXZpYXRpb24gaXMgbG9jYXRlZC4KLSsgKiBSZXR1cm4gYSBwb2ludGVyIHRvIHRoZSBkZWxpbWl0ZXIuCi0gICoKLSAgKiBBcyB3aXRoIGdldHpuYW1lIGFib3ZlLCB0aGUgbGVnYWwgY2hhcmFjdGVyIHNldCBpcyBhY3R1YWxseSBxdWl0ZQotICAqIHJlc3RyaWN0ZWQsIHdpdGggb3RoZXIgY2hhcmFjdGVycyBwcm9kdWNpbmcgdW5kZWZpbmVkIHJlc3VsdHMuCi0gICogV2UgZG9uJ3QgZG8gYW55IGNoZWNraW5nIGhlcmU7IGNoZWNraW5nIGlzIGRvbmUgbGF0ZXIgaW4gY29tbW9uLWNhc2UgY29kZS4KLSAgKi8KLSsKLSBzdGF0aWMgY29uc3QgY2hhciAqCi0tZ2V0cXpuYW1lKGNvbnN0IGNoYXIgKnN0cnAsIGludCBkZWxpbSkKLStnZXRxem5hbWUoY29uc3QgY2hhciAqc3RycCwgY29uc3QgaW50IGRlbGltKQotIHsKLSAJaW50CQkJYzsKLSAKLUBAIC02MzUsMTMgKzY3MSwxNCBAQCBnZXRxem5hbWUoY29uc3QgY2hhciAqc3RycCwgaW50IGRlbGltKQotIH0KLSAKLSAvKgotLSAqIEdpdmVuIGEgcG9pbnRlciBpbnRvIGEgdGltZSB6b25lIHN0cmluZywgZXh0cmFjdCBhIG51bWJlciBmcm9tIHRoYXQgc3RyaW5nLgotKyAqIEdpdmVuIGEgcG9pbnRlciBpbnRvIGEgdGltZXpvbmUgc3RyaW5nLCBleHRyYWN0IGEgbnVtYmVyIGZyb20gdGhhdCBzdHJpbmcuCi0gICogQ2hlY2sgdGhhdCB0aGUgbnVtYmVyIGlzIHdpdGhpbiBhIHNwZWNpZmllZCByYW5nZTsgaWYgaXQgaXMgbm90LCByZXR1cm4KLSAgKiBOVUxMLgotICAqIE90aGVyd2lzZSwgcmV0dXJuIGEgcG9pbnRlciB0byB0aGUgZmlyc3QgY2hhcmFjdGVyIG5vdCBwYXJ0IG9mIHRoZSBudW1iZXIuCi0gICovCi0rCi0gc3RhdGljIGNvbnN0IGNoYXIgKgotLWdldG51bShjb25zdCBjaGFyICpzdHJwLCBpbnQgKm51bXAsIGludCBtaW4sIGludCBtYXgpCi0rZ2V0bnVtKGNvbnN0IGNoYXIgKnN0cnAsIGludCAqY29uc3QgbnVtcCwgY29uc3QgaW50IG1pbiwgY29uc3QgaW50IG1heCkKLSB7Ci0gCWNoYXIJCWM7Ci0gCWludAkJCW51bTsKLUBAIC02NjMsMTQgKzcwMCwxNSBAQCBnZXRudW0oY29uc3QgY2hhciAqc3RycCwgaW50ICpudW1wLCBpbnQKLSB9Ci0gCi0gLyoKLS0gKiBHaXZlbiBhIHBvaW50ZXIgaW50byBhIHRpbWUgem9uZSBzdHJpbmcsIGV4dHJhY3QgYSBudW1iZXIgb2Ygc2Vjb25kcywKLSsgKiBHaXZlbiBhIHBvaW50ZXIgaW50byBhIHRpbWV6b25lIHN0cmluZywgZXh0cmFjdCBhIG51bWJlciBvZiBzZWNvbmRzLAotICAqIGluIGhoWzptbVs6c3NdXSBmb3JtLCBmcm9tIHRoZSBzdHJpbmcuCi0gICogSWYgYW55IGVycm9yIG9jY3VycywgcmV0dXJuIE5VTEwuCi0gICogT3RoZXJ3aXNlLCByZXR1cm4gYSBwb2ludGVyIHRvIHRoZSBmaXJzdCBjaGFyYWN0ZXIgbm90IHBhcnQgb2YgdGhlIG51bWJlcgotICAqIG9mIHNlY29uZHMuCi0gICovCi0rCi0gc3RhdGljIGNvbnN0IGNoYXIgKgotLWdldHNlY3MoY29uc3QgY2hhciAqc3RycCwgaW50MzIgKnNlY3NwKQotK2dldHNlY3MoY29uc3QgY2hhciAqc3RycCwgaW50MzIgKmNvbnN0IHNlY3NwKQotIHsKLSAJaW50CQkJbnVtOwotIAotQEAgLTcwNCwxMyArNzQyLDE0IEBAIGdldHNlY3MoY29uc3QgY2hhciAqc3RycCwgaW50MzIgKnNlY3NwKQotIH0KLSAKLSAvKgotLSAqIEdpdmVuIGEgcG9pbnRlciBpbnRvIGEgdGltZSB6b25lIHN0cmluZywgZXh0cmFjdCBhbiBvZmZzZXQsIGluCi0rICogR2l2ZW4gYSBwb2ludGVyIGludG8gYSB0aW1lem9uZSBzdHJpbmcsIGV4dHJhY3QgYW4gb2Zmc2V0LCBpbgotICAqIFsrLV1oaFs6bW1bOnNzXV0gZm9ybSwgZnJvbSB0aGUgc3RyaW5nLgotICAqIElmIGFueSBlcnJvciBvY2N1cnMsIHJldHVybiBOVUxMLgotICAqIE90aGVyd2lzZSwgcmV0dXJuIGEgcG9pbnRlciB0byB0aGUgZmlyc3QgY2hhcmFjdGVyIG5vdCBwYXJ0IG9mIHRoZSB0aW1lLgotICAqLwotKwotIHN0YXRpYyBjb25zdCBjaGFyICoKLS1nZXRvZmZzZXQoY29uc3QgY2hhciAqc3RycCwgaW50MzIgKm9mZnNldHApCi0rZ2V0b2Zmc2V0KGNvbnN0IGNoYXIgKnN0cnAsIGludDMyICpjb25zdCBvZmZzZXRwKQotIHsKLSAJYm9vbAkJbmVnID0gZmFsc2U7Ci0gCi1AQCAtNzMwLDEzICs3NjksMTQgQEAgZ2V0b2Zmc2V0KGNvbnN0IGNoYXIgKnN0cnAsIGludDMyICpvZmZzZQotIH0KLSAKLSAvKgotLSAqIEdpdmVuIGEgcG9pbnRlciBpbnRvIGEgdGltZSB6b25lIHN0cmluZywgZXh0cmFjdCBhIHJ1bGUgaW4gdGhlIGZvcm0KLSsgKiBHaXZlbiBhIHBvaW50ZXIgaW50byBhIHRpbWV6b25lIHN0cmluZywgZXh0cmFjdCBhIHJ1bGUgaW4gdGhlIGZvcm0KLSAgKiBkYXRlWy90aW1lXS4gU2VlIFBPU0lYIHNlY3Rpb24gOCBmb3IgdGhlIGZvcm1hdCBvZiAiZGF0ZSIgYW5kICJ0aW1lIi4KLSAgKiBJZiBhIHZhbGlkIHJ1bGUgaXMgbm90IGZvdW5kLCByZXR1cm4gTlVMTC4KLSAgKiBPdGhlcndpc2UsIHJldHVybiBhIHBvaW50ZXIgdG8gdGhlIGZpcnN0IGNoYXJhY3RlciBub3QgcGFydCBvZiB0aGUgcnVsZS4KLSAgKi8KLSsKLSBzdGF0aWMgY29uc3QgY2hhciAqCi0tZ2V0cnVsZShjb25zdCBjaGFyICpzdHJwLCBzdHJ1Y3QgcnVsZSAqcnVsZXApCi0rZ2V0cnVsZShjb25zdCBjaGFyICpzdHJwLCBzdHJ1Y3QgcnVsZSAqY29uc3QgcnVsZXApCi0gewotIAlpZiAoKnN0cnAgPT0gJ0onKQotIAl7Ci1AQCAtNzk1LDkgKzgzNSwxMCBAQCBnZXRydWxlKGNvbnN0IGNoYXIgKnN0cnAsIHN0cnVjdCBydWxlICpyCi0gICogR2l2ZW4gYSB5ZWFyLCBhIHJ1bGUsIGFuZCB0aGUgb2Zmc2V0IGZyb20gVVQgYXQgdGhlIHRpbWUgdGhhdCBydWxlIHRha2VzCi0gICogZWZmZWN0LCBjYWxjdWxhdGUgdGhlIHllYXItcmVsYXRpdmUgdGltZSB0aGF0IHJ1bGUgdGFrZXMgZWZmZWN0LgotICAqLwotKwotIHN0YXRpYyBpbnQzMgotLXRyYW5zdGltZShpbnQgeWVhciwgY29uc3Qgc3RydWN0IHJ1bGUgKnJ1bGVwLAotLQkJICBpbnQzMiBvZmZzZXQpCi0rdHJhbnN0aW1lKGNvbnN0IGludCB5ZWFyLCBjb25zdCBzdHJ1Y3QgcnVsZSAqY29uc3QgcnVsZXAsCi0rCQkgIGNvbnN0IGludDMyIG9mZnNldCkKLSB7Ci0gCWJvb2wJCWxlYXB5ZWFyOwotIAlpbnQzMgkJdmFsdWU7Ci1AQCAtOTgxLDcgKzEwMjIsNyBAQCB0enBhcnNlKGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBzdGF0ZSAqCi0gCQl7Ci0gCQkJZHN0bmFtZSA9IG5hbWU7Ci0gCQkJbmFtZSA9IGdldHpuYW1lKG5hbWUpOwotLQkJCWRzdGxlbiA9IG5hbWUgLSBkc3RuYW1lOwkvKiBsZW5ndGggb2YgRFNUIHpvbmUgbmFtZSAqLwotKwkJCWRzdGxlbiA9IG5hbWUgLSBkc3RuYW1lOwkvKiBsZW5ndGggb2YgRFNUIGFiYnIuICovCi0gCQl9Ci0gCQlpZiAoIWRzdGxlbikKLSAJCQlyZXR1cm4gZmFsc2U7Ci1AQCAtMTAyMyw4ICsxMDY0LDggQEAgdHpwYXJzZShjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgc3RhdGUgKgotIAkJCS8qCi0gCQkJICogVHdvIHRyYW5zaXRpb25zIHBlciB5ZWFyLCBmcm9tIEVQT0NIX1lFQVIgZm9yd2FyZC4KLSAJCQkgKi8KLS0JCQlpbml0X3R0aW5mbygmc3AtPnR0aXNbMF0sIC1kc3RvZmZzZXQsIHRydWUsIHN0ZGxlbiArIDEpOwotLQkJCWluaXRfdHRpbmZvKCZzcC0+dHRpc1sxXSwgLXN0ZG9mZnNldCwgZmFsc2UsIDApOwotKwkJCWluaXRfdHRpbmZvKCZzcC0+dHRpc1swXSwgLXN0ZG9mZnNldCwgZmFsc2UsIDApOwotKwkJCWluaXRfdHRpbmZvKCZzcC0+dHRpc1sxXSwgLWRzdG9mZnNldCwgdHJ1ZSwgc3RkbGVuICsgMSk7Ci0gCQkJc3AtPmRlZmF1bHR0eXBlID0gMDsKLSAJCQl0aW1lY250ID0gMDsKLSAJCQlqYW5maXJzdCA9IDA7Ci1AQCAtMTA3MywxOSArMTExNCwxNSBAQCB0enBhcnNlKGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBzdGF0ZSAqCi0gCQkJCQlpZiAoIWluY3JlbWVudF9vdmVyZmxvd190aW1lCi0gCQkJCQkJKCZzcC0+YXRzW3RpbWVjbnRdLAotIAkJCQkJCSBqYW5vZmZzZXQgKyBzdGFydHRpbWUpKQotLQkJCQkJCXNwLT50eXBlc1t0aW1lY250KytdID0gcmV2ZXJzZWQ7Ci0tCQkJCQllbHNlIGlmIChqYW5vZmZzZXQpCi0tCQkJCQkJc3AtPmRlZmF1bHR0eXBlID0gcmV2ZXJzZWQ7Ci0rCQkJCQkJc3AtPnR5cGVzW3RpbWVjbnQrK10gPSAhcmV2ZXJzZWQ7Ci0gCQkJCQlzcC0+YXRzW3RpbWVjbnRdID0gamFuZmlyc3Q7Ci0gCQkJCQlpZiAoIWluY3JlbWVudF9vdmVyZmxvd190aW1lCi0gCQkJCQkJKCZzcC0+YXRzW3RpbWVjbnRdLAotIAkJCQkJCSBqYW5vZmZzZXQgKyBlbmR0aW1lKSkKLSAJCQkJCXsKLS0JCQkJCQlzcC0+dHlwZXNbdGltZWNudCsrXSA9ICFyZXZlcnNlZDsKLSsJCQkJCQlzcC0+dHlwZXNbdGltZWNudCsrXSA9IHJldmVyc2VkOwotIAkJCQkJCXllYXJsaW0gPSB5ZWFyICsgWUVBUlNQRVJSRVBFQVQgKyAxOwotIAkJCQkJfQotLQkJCQkJZWxzZSBpZiAoamFub2Zmc2V0KQotLQkJCQkJCXNwLT5kZWZhdWx0dHlwZSA9ICFyZXZlcnNlZDsKLSAJCQkJfQotIAkJCQlpZiAoaW5jcmVtZW50X292ZXJmbG93X3RpbWUKLSAJCQkJCSgmamFuZmlyc3QsIGphbm9mZnNldCArIHllYXJzZWNzKSkKLUBAIC0xMDk0LDcgKzExMzEsMTAgQEAgdHpwYXJzZShjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgc3RhdGUgKgotIAkJCX0KLSAJCQlzcC0+dGltZWNudCA9IHRpbWVjbnQ7Ci0gCQkJaWYgKCF0aW1lY250KQotKwkJCXsKLSsJCQkJc3AtPnR0aXNbMF0gPSBzcC0+dHRpc1sxXTsKLSAJCQkJc3AtPnR5cGVjbnQgPSAxOwkvKiBQZXJwZXR1YWwgRFNULiAgKi8KLSsJCQl9Ci0gCQkJZWxzZSBpZiAoWUVBUlNQRVJSRVBFQVQgPCB5ZWFyIC0geWVhcmJlZykKLSAJCQkJc3AtPmdvYmFjayA9IHNwLT5nb2FoZWFkID0gdHJ1ZTsKLSAJCX0KLUBAIC0xMTYzLDcgKzEyMDMsNiBAQCB0enBhcnNlKGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBzdGF0ZSAqCi0gCQkJCQkgKiBvdGhlcndpc2UsIGFkZCB0aGUgc3RhbmRhcmQgdGltZSBvZmZzZXQgdG8gdGhlCi0gCQkJCQkgKiB0cmFuc2l0aW9uIHRpbWUuCi0gCQkJCQkgKi8KLS0KLSAJCQkJCS8qCi0gCQkJCQkgKiBUcmFuc2l0aW9ucyBmcm9tIERTVCB0byBERFNUIHdpbGwgZWZmZWN0aXZlbHkgZGlzYXBwZWFyCi0gCQkJCQkgKiBzaW5jZSBQT1NJWCBwcm92aWRlcyBmb3Igb25seSBvbmUgRFNUIG9mZnNldC4KLUBAIC0xMjE3LDcgKzEyNTYsNyBAQCB0enBhcnNlKGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBzdGF0ZSAqCi0gfQotIAotIHN0YXRpYyB2b2lkCi0tZ210bG9hZChzdHJ1Y3Qgc3RhdGUgKnNwKQotK2dtdGxvYWQoc3RydWN0IHN0YXRlICpjb25zdCBzcCkKLSB7Ci0gCWlmICh0emxvYWQoZ210LCBOVUxMLCBzcCwgdHJ1ZSkgIT0gMCkKLSAJCXR6cGFyc2UoZ210LCBzcCwgdHJ1ZSk7Ci1AQCAtMTIzMiw3ICsxMjcxLDcgQEAgZ210bG9hZChzdHJ1Y3Qgc3RhdGUgKnNwKQotICAqLwotIHN0YXRpYyBzdHJ1Y3QgcGdfdG0gKgotIGxvY2Fsc3ViKHN0cnVjdCBzdGF0ZSBjb25zdCAqc3AsIHBnX3RpbWVfdCBjb25zdCAqdGltZXAsCi0tCQkgc3RydWN0IHBnX3RtICp0bXApCi0rCQkgc3RydWN0IHBnX3RtICpjb25zdCB0bXApCi0gewotIAljb25zdCBzdHJ1Y3QgdHRpbmZvICp0dGlzcDsKLSAJaW50CQkJaTsKLUBAIC0xMzAwLDYgKzEzMzksMTEgQEAgbG9jYWxzdWIoc3RydWN0IHN0YXRlIGNvbnN0ICpzcCwgcGdfdGltZQotIAl9Ci0gCXR0aXNwID0gJnNwLT50dGlzW2ldOwotIAotKwkvKgotKwkgKiBUbyBnZXQgKHdyb25nKSBiZWhhdmlvciB0aGF0J3MgY29tcGF0aWJsZSB3aXRoIFN5c3RlbSBWIFJlbGVhc2UgMi4wCi0rCSAqIHlvdSdkIHJlcGxhY2UgdGhlIHN0YXRlbWVudCBiZWxvdyB3aXRoIHQgKz0gdHRpc3AtPnR0X2dtdG9mZjsKLSsJICogdGltZXN1YigmdCwgMEwsIHNwLCB0bXApOwotKwkgKi8KLSAJcmVzdWx0ID0gdGltZXN1YigmdCwgdHRpc3AtPnR0X2dtdG9mZiwgc3AsIHRtcCk7Ci0gCWlmIChyZXN1bHQpCi0gCXsKLUBAIC0xMzIyLDggKzEzNjYsMTAgQEAgcGdfbG9jYWx0aW1lKGNvbnN0IHBnX3RpbWVfdCAqdGltZXAsIGNvbgotICAqCi0gICogRXhjZXB0IHdlIGhhdmUgYSBwcml2YXRlICJzdHJ1Y3Qgc3RhdGUiIGZvciBHTVQsIHNvIG5vIHNwIGlzIHBhc3NlZCBpbi4KLSAgKi8KLSsKLSBzdGF0aWMgc3RydWN0IHBnX3RtICoKLS1nbXRzdWIocGdfdGltZV90IGNvbnN0ICp0aW1lcCwgaW50MzIgb2Zmc2V0LCBzdHJ1Y3QgcGdfdG0gKnRtcCkKLStnbXRzdWIocGdfdGltZV90IGNvbnN0ICp0aW1lcCwgaW50MzIgb2Zmc2V0LAotKwkgICBzdHJ1Y3QgcGdfdG0gKnRtcCkKLSB7Ci0gCXN0cnVjdCBwZ190bSAqcmVzdWx0OwotIAotQEAgLTEzMzcsNiArMTM4Myw3IEBAIGdtdHN1YihwZ190aW1lX3QgY29uc3QgKnRpbWVwLCBpbnQzMiBvZmYKLSAJCWdtdF9pc19zZXQgPSB0cnVlOwotIAkJZ210bG9hZChnbXRwdHIpOwotIAl9Ci0rCi0gCXJlc3VsdCA9IHRpbWVzdWIodGltZXAsIG9mZnNldCwgZ210cHRyLCB0bXApOwotIAotIAkvKgotQEAgLTEzNjEsNiArMTQwOCw3IEBAIHBnX2dtdGltZShjb25zdCBwZ190aW1lX3QgKnRpbWVwKQotICAqIFJldHVybiB0aGUgbnVtYmVyIG9mIGxlYXAgeWVhcnMgdGhyb3VnaCB0aGUgZW5kIG9mIHRoZSBnaXZlbiB5ZWFyCi0gICogd2hlcmUsIHRvIG1ha2UgdGhlIG1hdGggZWFzeSwgdGhlIGFuc3dlciBmb3IgeWVhciB6ZXJvIGlzIGRlZmluZWQgYXMgemVyby4KLSAgKi8KLSsKLSBzdGF0aWMgaW50Ci0gbGVhcHNfdGhydV9lbmRfb2Zfbm9ubmVnKGludCB5KQotIHsKLUluZGV4OiBwb3N0Z3Jlc3FsLTEwLjUvc3JjL3RpbWV6b25lL3BndHouaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHBvc3RncmVzcWwtMTAuNS5vcmlnL3NyYy90aW1lem9uZS9wZ3R6LmgKLSsrKyBwb3N0Z3Jlc3FsLTEwLjUvc3JjL3RpbWV6b25lL3BndHouaAotQEAgLTQ5LDEwICs0OSwxNiBAQCBzdHJ1Y3Qgc3RhdGUKLSAJcGdfdGltZV90CWF0c1tUWl9NQVhfVElNRVNdOwotIAl1bnNpZ25lZCBjaGFyIHR5cGVzW1RaX01BWF9USU1FU107Ci0gCXN0cnVjdCB0dGluZm8gdHRpc1tUWl9NQVhfVFlQRVNdOwotLQljaGFyCQljaGFyc1tCSUdHRVNUKEJJR0dFU1QoVFpfTUFYX0NIQVJTICsgMSwgMyAvKiBzaXplb2YgZ210ICovICksCi0rCWNoYXIJCWNoYXJzW0JJR0dFU1QoQklHR0VTVChUWl9NQVhfQ0hBUlMgKyAxLCA0IC8qIHNpemVvZiBnbXQgKi8gKSwKLSAJCQkJCQkJICAoMiAqIChUWl9TVFJMRU5fTUFYICsgMSkpKV07Ci0gCXN0cnVjdCBsc2luZm8gbHNpc1tUWl9NQVhfTEVBUFNdOwotLQlpbnQJCQlkZWZhdWx0dHlwZTsJLyogZm9yIGVhcmx5IHRpbWVzIG9yIGlmIG5vIHRyYW5zaXRpb25zICovCi0rCi0rCS8qCi0rCSAqIFRoZSB0aW1lIHR5cGUgdG8gdXNlIGZvciBlYXJseSB0aW1lcyBvciBpZiBubyB0cmFuc2l0aW9ucy4gSXQgaXMgYWx3YXlzCi0rCSAqIHplcm8gZm9yIHJlY2VudCB0emRiIHJlbGVhc2VzLiBJdCBtaWdodCBiZSBub256ZXJvIGZvciBkYXRhIGZyb20gdHpkYgotKwkgKiAyMDE4ZSBvciBlYXJsaWVyLgotKwkgKi8KLSsJaW50CQkJZGVmYXVsdHR5cGU7Ci0gfTsKLSAKLSAKLUluZGV4OiBwb3N0Z3Jlc3FsLTEwLjUvc3JjL3RpbWV6b25lL3ByaXZhdGUuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHBvc3RncmVzcWwtMTAuNS5vcmlnL3NyYy90aW1lem9uZS9wcml2YXRlLmgKLSsrKyBwb3N0Z3Jlc3FsLTEwLjUvc3JjL3RpbWV6b25lL3ByaXZhdGUuaAotQEAgLTEsNCArMSw3IEBACi0rLyogUHJpdmF0ZSBoZWFkZXIgZm9yIHR6ZGIgY29kZS4gICovCi0rCi0gI2lmbmRlZiBQUklWQVRFX0gKLSsKLSAjZGVmaW5lIFBSSVZBVEVfSAotIAotIC8qCi1JbmRleDogcG9zdGdyZXNxbC0xMC41L3NyYy90aW1lem9uZS9zdHJmdGltZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gcG9zdGdyZXNxbC0xMC41Lm9yaWcvc3JjL3RpbWV6b25lL3N0cmZ0aW1lLmMKLSsrKyBwb3N0Z3Jlc3FsLTEwLjUvc3JjL3RpbWV6b25lL3N0cmZ0aW1lLmMKLUBAIC0xLDQgKzEsNCBAQAotLS8qIENvbnZlcnQgYSBicm9rZW4tZG93biB0aW1lc3RhbXAgdG8gYSBzdHJpbmcuICovCi0rLyogQ29udmVydCBhIGJyb2tlbi1kb3duIHRpbWVzdGFtcCB0byBhIHN0cmluZy4gICovCi0gCi0gLyoKLSAgKiBDb3B5cmlnaHQgMTk4OSBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLgotQEAgLTExNSw3ICsxMTUsNyBAQCBzdGF0aWMgY2hhciAqX2FkZChjb25zdCBjaGFyICosIGNoYXIgKiwKLSBzdGF0aWMgY2hhciAqX2NvbnYoaW50LCBjb25zdCBjaGFyICosIGNoYXIgKiwgY29uc3QgY2hhciAqKTsKLSBzdGF0aWMgY2hhciAqX2ZtdChjb25zdCBjaGFyICosIGNvbnN0IHN0cnVjdCBwZ190bSAqLCBjaGFyICosIGNvbnN0IGNoYXIgKiwKLSAJIGVudW0gd2FybiAqKTsKLS1zdGF0aWMgY2hhciAqX3ljb252KGludCwgaW50LCBib29sLCBib29sLCBjaGFyICosIGNvbnN0IGNoYXIgKik7Ci0rc3RhdGljIGNoYXIgKl95Y29udihpbnQsIGludCwgYm9vbCwgYm9vbCwgY2hhciAqLCBjaGFyIGNvbnN0ICopOwotIAotIAotIHNpemVfdAotQEAgLTQ0MSw3ICs0NDEsOCBAQCBfZm10KGNvbnN0IGNoYXIgKmZvcm1hdCwgY29uc3Qgc3RydWN0IHBnCi0gCi0gCQkJCQkvKgotIAkJCQkJICogQzk5IGFuZCBsYXRlciBzYXkgdGhhdCAlWiBtdXN0IGJlIHJlcGxhY2VkIGJ5IHRoZSBlbXB0eQotLQkJCQkJICogc3RyaW5nIGlmIHRoZSB0aW1lIHpvbmUgaXMgbm90IGRldGVybWluYWJsZS4KLSsJCQkJCSAqIHN0cmluZyBpZiB0aGUgdGltZSB6b25lIGFiYnJldmlhdGlvbiBpcyBub3QKLSsJCQkJCSAqIGRldGVybWluYWJsZS4KLSAJCQkJCSAqLwotIAkJCQkJY29udGludWU7Ci0gCQkJCWNhc2UgJ3onOgotQEAgLTUxOSw2ICs1MjAsNyBAQCBfYWRkKGNvbnN0IGNoYXIgKnN0ciwgY2hhciAqcHQsIGNvbnN0IGNoCi0gICogc2FtZSBvdXRwdXQgYXMgJVksIGFuZCB0aGF0ICVZIGNvbnRhaW5zIGF0IGxlYXN0IDQgYnl0ZXMsCi0gICogd2l0aCBtb3JlIG9ubHkgaWYgbmVjZXNzYXJ5LgotICAqLwotKwotIHN0YXRpYyBjaGFyICoKLSBfeWNvbnYoaW50IGEsIGludCBiLCBib29sIGNvbnZlcnRfdG9wLCBib29sIGNvbnZlcnRfeXksCi0gCSAgIGNoYXIgKnB0LCBjb25zdCBjaGFyICpwdGxpbSkKLUBAIC01MjYsNyArNTI4LDcgQEAgX3ljb252KGludCBhLCBpbnQgYiwgYm9vbCBjb252ZXJ0X3RvcCwgYgotIAlpbnQJCQlsZWFkOwotIAlpbnQJCQl0cmFpbDsKLSAKLS0jZGVmaW5lIERJVklTT1IgMTAwCi0rI2RlZmluZSBESVZJU09SCTEwMAotIAl0cmFpbCA9IGEgJSBESVZJU09SICsgYiAlIERJVklTT1I7Ci0gCWxlYWQgPSBhIC8gRElWSVNPUiArIGIgLyBESVZJU09SICsgdHJhaWwgLyBESVZJU09SOwotIAl0cmFpbCAlPSBESVZJU09SOwotSW5kZXg6IHBvc3RncmVzcWwtMTAuNS9zcmMvdGltZXpvbmUvdHpmaWxlLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwb3N0Z3Jlc3FsLTEwLjUub3JpZy9zcmMvdGltZXpvbmUvdHpmaWxlLmgKLSsrKyBwb3N0Z3Jlc3FsLTEwLjUvc3JjL3RpbWV6b25lL3R6ZmlsZS5oCi1AQCAtMSw0ICsxLDcgQEAKLSsvKiBMYXlvdXQgYW5kIGxvY2F0aW9uIG9mIFRaaWYgZmlsZXMuICAqLwotKwotICNpZm5kZWYgVFpGSUxFX0gKLSsKLSAjZGVmaW5lIFRaRklMRV9ICi0gCi0gLyoKLUBAIC0yMSwxNCArMjQsMTQgQEAKLSAgKiBJbmZvcm1hdGlvbiBhYm91dCB0aW1lIHpvbmUgZmlsZXMuCi0gICovCi0gCi0tI2RlZmluZSBUWkRFRkFVTFQJImxvY2FsdGltZSIKLSsjZGVmaW5lIFRaREVGQVVMVAkiL2V0Yy9sb2NhbHRpbWUiCi0gI2RlZmluZSBUWkRFRlJVTEVTCSJwb3NpeHJ1bGVzIgotIAotIC8qCi0gICogRWFjaCBmaWxlIGJlZ2lucyB3aXRoLiAuIC4KLSAgKi8KLSAKLS0jZGVmaW5lIFRaX01BR0lDCSJUWmlmIgotKyNkZWZpbmUJVFpfTUFHSUMJIlRaaWYiCi0gCi0gc3RydWN0IHR6aGVhZAotIHsKLUluZGV4OiBwb3N0Z3Jlc3FsLTEwLjUvc3JjL3RpbWV6b25lL3ppYy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gcG9zdGdyZXNxbC0xMC41Lm9yaWcvc3JjL3RpbWV6b25lL3ppYy5jCi0rKysgcG9zdGdyZXNxbC0xMC41L3NyYy90aW1lem9uZS96aWMuYwotQEAgLTEsMyArMSw1IEBACi0rLyogQ29tcGlsZSAuemkgdGltZSB6b25lIGRhdGEgaW50byBUWmlmIGJpbmFyeSBmaWxlcy4gICovCi0rCi0gLyoKLSAgKiBUaGlzIGZpbGUgaXMgaW4gdGhlIHB1YmxpYyBkb21haW4sIHNvIGNsYXJpZmllZCBhcyBvZgotICAqIDIwMDYtMDctMTcgYnkgQXJ0aHVyIERhdmlkIE9sc29uLgotQEAgLTEzMCw4ICsxMzIsNyBAQCBzdGF0aWMgdm9pZCBhZGpsZWFwKHZvaWQpOwotIHN0YXRpYyB2b2lkIGFzc29jaWF0ZSh2b2lkKTsKLSBzdGF0aWMgdm9pZCBkb2xpbmsoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGJvb2wpOwotIHN0YXRpYyBjaGFyICoqZ2V0ZmllbGRzKGNoYXIgKmJ1Zik7Ci0tc3RhdGljIHppY190IGdldGhtcyhjb25zdCBjaGFyICpzdHJpbmcsIGNvbnN0IGNoYXIgKmVycnN0cmluZywKLS0JICAgYm9vbCk7Ci0rc3RhdGljIHppY190IGdldGhtcyhjb25zdCBjaGFyICpzdHJpbmcsIGNvbnN0IGNoYXIgKmVycnN0cmluZyk7Ci0gc3RhdGljIHppY190IGdldHN0ZG9mZihjaGFyICosIGJvb2wgKik7Ci0gc3RhdGljIHZvaWQgaW5maWxlKGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKLSBzdGF0aWMgdm9pZCBpbmxlYXAoY2hhciAqKmZpZWxkcywgaW50IG5maWVsZHMpOwotQEAgLTE2Miw3ICsxNjMsNyBAQCBlbnVtCi0gUEVSQ0VOVF9aX0xFTl9CT1VORCA9IHNpemVvZiAiKzk5NTk1OSIgLSAxfTsKLSAKLSAvKiBJZiB0cnVlLCB3b3JrIGFyb3VuZCBhIGJ1ZyBpbiBRdCA1LjYuMSBhbmQgZWFybGllciwgd2hpY2ggbWlzaGFuZGxlcwotLSAgIHR6IGJpbmFyeSBmaWxlcyB3aG9zZSBQT1NJWC1UWi1zdHlsZSBzdHJpbmdzIGNvbnRhaW4gJzwnOyBzZWUKLSsgICBUWmlmIGZpbGVzIHdob3NlIFBPU0lYLVRaLXN0eWxlIHN0cmluZ3MgY29udGFpbiAnPCc7IHNlZQotICAgIFFUQlVHLTUzMDcxIDxodHRwczovL2J1Z3JlcG9ydHMucXQuaW8vYnJvd3NlL1FUQlVHLTUzMDcxPi4gIFRoaXMKLSAgICB3b3JrYXJvdW5kIHdpbGwgbm8gbG9uZ2VyIGJlIG5lZWRlZCB3aGVuIFF0IDUuNi4xIGFuZCBlYXJsaWVyIGFyZQotICAgIG9ic29sZXRlLCBzYXkgaW4gdGhlIHllYXIgMjAyMS4gICovCi1AQCAtMjExLDcgKzIxMiw3IEBAIHN0YXRpYyBpbnQJdHlwZWNudDsKLSAjZGVmaW5lIFpGX1JVTEUJCTMKLSAjZGVmaW5lIFpGX0ZPUk1BVAk0Ci0gI2RlZmluZSBaRl9USUxZRUFSCTUKLS0jZGVmaW5lIFpGX1RJTE1PTlRIIDYKLSsjZGVmaW5lIFpGX1RJTE1PTlRICTYKLSAjZGVmaW5lIFpGX1RJTERBWQk3Ci0gI2RlZmluZSBaRl9USUxUSU1FCTgKLSAjZGVmaW5lIFpPTkVfTUlORklFTERTCTUKLUBAIC0yMjQsMTIgKzIyNSwxMiBAQCBzdGF0aWMgaW50CXR5cGVjbnQ7Ci0gI2RlZmluZSBaRkNfR01UT0ZGCTAKLSAjZGVmaW5lIFpGQ19SVUxFCTEKLSAjZGVmaW5lIFpGQ19GT1JNQVQJMgotLSNkZWZpbmUgWkZDX1RJTFlFQVIgMwotKyNkZWZpbmUgWkZDX1RJTFlFQVIJMwotICNkZWZpbmUgWkZDX1RJTE1PTlRICTQKLSAjZGVmaW5lIFpGQ19USUxEQVkJNQotLSNkZWZpbmUgWkZDX1RJTFRJTUUgNgotLSNkZWZpbmUgWk9ORUNfTUlORklFTERTIDMKLS0jZGVmaW5lIFpPTkVDX01BWEZJRUxEUyA3Ci0rI2RlZmluZSBaRkNfVElMVElNRQk2Ci0rI2RlZmluZSBaT05FQ19NSU5GSUVMRFMJMwotKyNkZWZpbmUgWk9ORUNfTUFYRklFTERTCTcKLSAKLSAvKgotICAqIFdoaWNoIGZpbGVzIGFyZSB3aGljaCBvbiBhIFJ1bGUgbGluZS4KLUBAIC0yNDQsNyArMjQ1LDcgQEAgc3RhdGljIGludAl0eXBlY250OwotICNkZWZpbmUgUkZfVE9ECQk3Ci0gI2RlZmluZSBSRl9TVERPRkYJOAotICNkZWZpbmUgUkZfQUJCUlZBUgk5Ci0tI2RlZmluZSBSVUxFX0ZJRUxEUyAxMAotKyNkZWZpbmUgUlVMRV9GSUVMRFMJMTAKLSAKLSAvKgotICAqIFdoaWNoIGZpZWxkcyBhcmUgd2hpY2ggb24gYSBMaW5rIGxpbmUuCi1AQCAtMjUyLDcgKzI1Myw3IEBAIHN0YXRpYyBpbnQJdHlwZWNudDsKLSAKLSAjZGVmaW5lIExGX0ZST00JCTEKLSAjZGVmaW5lIExGX1RPCQkyCi0tI2RlZmluZSBMSU5LX0ZJRUxEUyAzCi0rI2RlZmluZSBMSU5LX0ZJRUxEUwkzCi0gCi0gLyoKLSAgKiBXaGljaCBmaWVsZHMgYXJlIHdoaWNoIG9uIGEgTGVhcCBsaW5lLgotQEAgLTI2NCw3ICsyNjUsNyBAQCBzdGF0aWMgaW50CXR5cGVjbnQ7Ci0gI2RlZmluZSBMUF9USU1FCQk0Ci0gI2RlZmluZSBMUF9DT1JSCQk1Ci0gI2RlZmluZSBMUF9ST0xMCQk2Ci0tI2RlZmluZSBMRUFQX0ZJRUxEUyA3Ci0rI2RlZmluZSBMRUFQX0ZJRUxEUwk3Ci0gCi0gLyoKLSAgKiBZZWFyIHN5bm9ueW1zLgotQEAgLTk5OCw0OCArOTk5LDYgQEAgZG9saW5rKGNoYXIgY29uc3QgKmZyb21maWVsZCwgY2hhciBjb25zdAotIHN0YXRpYyB6aWNfdCBjb25zdCBtaW5fdGltZSA9IE1JTlZBTCh6aWNfdCwgVElNRV9UX0JJVFNfSU5fRklMRSk7Ci0gc3RhdGljIHppY190IGNvbnN0IG1heF90aW1lID0gTUFYVkFMKHppY190LCBUSU1FX1RfQklUU19JTl9GSUxFKTsKLSAKLS0vKgotLSAqIEVzdGltYXRlZCB0aW1lIG9mIHRoZSBCaWcgQmFuZywgaW4gc2Vjb25kcyBzaW5jZSB0aGUgUE9TSVggZXBvY2guCi0tICogcm91bmRlZCBkb3dud2FyZCB0byB0aGUgbmVnYXRpb24gb2YgYSBwb3dlciBvZiB0d28gdGhhdCBpcwotLSAqIGNvbWZvcnRhYmx5IG91dHNpZGUgdGhlIGVycm9yIGJvdW5kcy4KLS0gKgotLSAqIEZvciB0aGUgdGltZSBvZiB0aGUgQmlnIEJhbmcsIHNlZToKLS0gKgotLSAqIEFkZSBQQVIsIEFnaGFuaW0gTiwgQXJtaXRhZ2UtQ2FwbGFuIEMgZXQgYWwuICBQbGFuY2sgMjAxMyByZXN1bHRzLgotLSAqIEkuIE92ZXJ2aWV3IG9mIHByb2R1Y3RzIGFuZCBzY2llbnRpZmljIHJlc3VsdHMuCi0tICogYXJYaXY6MTMwMy41MDYyIDIwMTMtMDMtMjAgMjA6MTA6MDEgVVRDCi0tICogPGh0dHBzOi8vYXJ4aXYub3JnL3BkZi8xMzAzLjUwNjJ2MT4gW1BERl0KLS0gKgotLSAqIFBhZ2UgMzYsIFRhYmxlIDksIHJvdyBBZ2UvR3lyLCBjb2x1bW4gUGxhbmNrK1dQK2hpZ2hMK0JBTyA2OCUgbGltaXRzCi0tICogZ2l2ZXMgdGhlIHZhbHVlIDEzLjc5OCBwbHVzLW9yLW1pbnVzIDAuMDM3IGJpbGxpb24geWVhcnMuCi0tICogTXVsdGlwbHlpbmcgdGhpcyBieSAxMDAwMDAwMDAwIGFuZCB0aGVuIGJ5IDMxNTU3NjAwICh0aGUgbnVtYmVyIG9mCi0tICogc2Vjb25kcyBpbiBhbiBhc3Ryb25vbWljYWwgeWVhcikgZ2l2ZXMgYSB2YWx1ZSB0aGF0IGlzIGNvbWZvcnRhYmx5Ci0tICogbGVzcyB0aGFuIDIqKjU5LCBzbyBCSUdfQkFORyBpcyAtIDIqKjU5LgotLSAqCi0tICogQklHX0JBTkcgaXMgYXBwcm94aW1hdGUsIGFuZCBtYXkgY2hhbmdlIGluIGZ1dHVyZSB2ZXJzaW9ucy4KLS0gKiBQbGVhc2UgZG8gbm90IHJlbHkgb24gaXRzIGV4YWN0IHZhbHVlLgotLSAqLwotLQotLSNpZm5kZWYgQklHX0JBTkcKLS0jZGVmaW5lIEJJR19CQU5HICgtICgoKHppY190KSAxKSA8PCA1OSkpCi0tI2VuZGlmCi0tCi0tLyogSWYgdHJ1ZSwgd29yayBhcm91bmQgR05PTUUgYnVnIDczMDMzMgotLSAgIDxodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMzMyPgotLSAgIGJ5IHJlZnVzaW5nIHRvIG91dHB1dCB0aW1lIHN0YW1wcyBiZWZvcmUgQklHX0JBTkcuCi0tICAgU3VjaCB0aW1lIHN0YW1wcyBhcmUgcGh5c2ljYWxseSBzdXNwZWN0IGFueXdheS4KLS0KLS0gICBUaGUgR05PTUUgYnVnIGlzIHNjaGVkdWxlZCB0byBiZSBmaXhlZCBpbiBHTk9NRSAzLjIyLCBhbmQgaWYgc28KLS0gICB0aGlzIHdvcmthcm91bmQgd2lsbCBubyBsb25nZXIgYmUgbmVlZGVkIHdoZW4gR05PTUUgMy4yMSBhbmQKLS0gICBlYXJsaWVyIGFyZSBvYnNvbGV0ZSwgc2F5IGluIHRoZSB5ZWFyIDIwMjEuICAqLwotLWVudW0KLS17Ci0tV09SS19BUk9VTkRfR05PTUVfQlVHXzczMDMzMiA9IHRydWV9OwotLQotLXN0YXRpYyBjb25zdCB6aWNfdCBlYXJseV90aW1lID0gKFdPUktfQVJPVU5EX0dOT01FX0JVR183MzAzMzIKLS0JCQkJCQkJCSA/IEJJR19CQU5HCi0tCQkJCQkJCQkgOiBNSU5WQUwoemljX3QsIFRJTUVfVF9CSVRTX0lOX0ZJTEUpKTsKLS0KLSAvKiBSZXR1cm4gdHJ1ZSBpZiBOQU1FIGlzIGEgZGlyZWN0b3J5LiAgKi8KLSBzdGF0aWMgYm9vbAotIGl0c2RpcihjaGFyIGNvbnN0ICpuYW1lKQotQEAgLTEyODEsOCArMTI0MCw5IEBAIGluZmlsZShjb25zdCBjaGFyICpuYW1lKQotICAqIEEgbnVsbCBzdHJpbmcgbWFwcyB0byB6ZXJvLgotICAqIENhbGwgZXJyb3Igd2l0aCBlcnJzdHJpbmcgYW5kIHJldHVybiB6ZXJvIG9uIGVycm9ycy4KLSAgKi8KLSsKLSBzdGF0aWMgemljX3QKLS1nZXRobXMoY2hhciBjb25zdCAqc3RyaW5nLCBjaGFyIGNvbnN0ICplcnJzdHJpbmcsIGJvb2wgc2lnbmFibGUpCi0rZ2V0aG1zKGNoYXIgY29uc3QgKnN0cmluZywgY2hhciBjb25zdCAqZXJyc3RyaW5nKQotIHsKLSAJLyogUEc6IG1ha2UgaGggYmUgaW50IG5vdCB6aWNfdCB0byBhdm9pZCBzc2NhbmYgcG9ydGFiaWxpdHkgaXNzdWVzICovCi0gCWludAkJCWhoOwotQEAgLTEyOTksOSArMTI1OSw3IEBAIGdldGhtcyhjaGFyIGNvbnN0ICpzdHJpbmcsIGNoYXIgY29uc3QgKmUKLSAKLSAJaWYgKHN0cmluZyA9PSBOVUxMIHx8ICpzdHJpbmcgPT0gJ1wwJykKLSAJCXJldHVybiAwOwotLQlpZiAoIXNpZ25hYmxlKQotLQkJc2lnbiA9IDE7Ci0tCWVsc2UgaWYgKCpzdHJpbmcgPT0gJy0nKQotKwlpZiAoKnN0cmluZyA9PSAnLScpCi0gCXsKLSAJCXNpZ24gPSAtMTsKLSAJCSsrc3RyaW5nOwotQEAgLTEzODQsNyArMTM0Miw3IEBAIGdldHN0ZG9mZihjaGFyICpmaWVsZCwgYm9vbCAqaXNkc3QpCi0gCQkJCWJyZWFrOwotIAkJfQotIAl9Ci0tCXN0ZG9mZiA9IGdldGhtcyhmaWVsZCwgXygiaW52YWxpZCBzYXZlZCB0aW1lIiksIHRydWUpOwotKwlzdGRvZmYgPSBnZXRobXMoZmllbGQsIF8oImludmFsaWQgc2F2ZWQgdGltZSIpKTsKLSAJKmlzZHN0ID0gZHN0IDwgMCA/IHN0ZG9mZiAhPSAwIDogZHN0OwotIAlyZXR1cm4gc3Rkb2ZmOwotIH0KLUBAIC0xMzk5LDEwICsxMzU3LDI5IEBAIGlucnVsZShjaGFyICoqZmllbGRzLCBpbnQgbmZpZWxkcykKLSAJCWVycm9yKF8oIndyb25nIG51bWJlciBvZiBmaWVsZHMgb24gUnVsZSBsaW5lIikpOwotIAkJcmV0dXJuOwotIAl9Ci0tCWlmICgqZmllbGRzW1JGX05BTUVdID09ICdcMCcpCi0rCXN3aXRjaCAoKmZpZWxkc1tSRl9OQU1FXSkKLSAJewotLQkJZXJyb3IoXygibmFtZWxlc3MgcnVsZSIpKTsKLS0JCXJldHVybjsKLSsJCWNhc2UgJ1wwJzoKLSsJCWNhc2UgJyAnOgotKwkJY2FzZSAnXGYnOgotKwkJY2FzZSAnXG4nOgotKwkJY2FzZSAnXHInOgotKwkJY2FzZSAnXHQnOgotKwkJY2FzZSAnXHYnOgotKwkJY2FzZSAnKyc6Ci0rCQljYXNlICctJzoKLSsJCWNhc2UgJzAnOgotKwkJY2FzZSAnMSc6Ci0rCQljYXNlICcyJzoKLSsJCWNhc2UgJzMnOgotKwkJY2FzZSAnNCc6Ci0rCQljYXNlICc1JzoKLSsJCWNhc2UgJzYnOgotKwkJY2FzZSAnNyc6Ci0rCQljYXNlICc4JzoKLSsJCWNhc2UgJzknOgotKwkJCWVycm9yKF8oIkludmFsaWQgcnVsZSBuYW1lIFwiJXNcIiIpLCBmaWVsZHNbUkZfTkFNRV0pOwotKwkJCXJldHVybjsKLSAJfQotIAlyLnJfZmlsZW5hbWUgPSBmaWxlbmFtZTsKLSAJci5yX2xpbmVudW0gPSBsaW5lbnVtOwotQEAgLTE1MDcsNyArMTQ4NCw3IEBAIGluenN1YihjaGFyICoqZmllbGRzLCBpbnQgbmZpZWxkcywgYm9vbAotIAl9Ci0gCXouel9maWxlbmFtZSA9IGZpbGVuYW1lOwotIAl6LnpfbGluZW51bSA9IGxpbmVudW07Ci0tCXouel9nbXRvZmYgPSBnZXRobXMoZmllbGRzW2lfZ210b2ZmXSwgXygiaW52YWxpZCBVVCBvZmZzZXQiKSwgdHJ1ZSk7Ci0rCXouel9nbXRvZmYgPSBnZXRobXMoZmllbGRzW2lfZ210b2ZmXSwgXygiaW52YWxpZCBVVCBvZmZzZXQiKSk7Ci0gCWlmICgoY3AgPSBzdHJjaHIoZmllbGRzW2lfZm9ybWF0XSwgJyUnKSkgIT0gTlVMTCkKLSAJewotIAkJaWYgKCgqKytjcCAhPSAncycgJiYgKmNwICE9ICd6JykgfHwgc3RyY2hyKGNwLCAnJScpCi1AQCAtMTY0OSw3ICsxNjI2LDcgQEAgaW5sZWFwKGNoYXIgKipmaWVsZHMsIGludCBuZmllbGRzKQotIAkJcmV0dXJuOwotIAl9Ci0gCXQgPSBkYXlvZmYgKiBTRUNTUEVSREFZOwotLQl0b2QgPSBnZXRobXMoZmllbGRzW0xQX1RJTUVdLCBfKCJpbnZhbGlkIHRpbWUgb2YgZGF5IiksIGZhbHNlKTsKLSsJdG9kID0gZ2V0aG1zKGZpZWxkc1tMUF9USU1FXSwgXygiaW52YWxpZCB0aW1lIG9mIGRheSIpKTsKLSAJY3AgPSBmaWVsZHNbTFBfQ09SUl07Ci0gCXsKLSAJCWJvb2wJCXBvc2l0aXZlOwotQEAgLTE3NTcsNyArMTczNCw3IEBAIHJ1bGVzdWIoc3RydWN0IHJ1bGUgKnJwLCBjb25zdCBjaGFyICpsb3kKLSAJCQkJYnJlYWs7Ci0gCQl9Ci0gCX0KLS0JcnAtPnJfdG9kID0gZ2V0aG1zKGRwLCBfKCJpbnZhbGlkIHRpbWUgb2YgZGF5IiksIGZhbHNlKTsKLSsJcnAtPnJfdG9kID0gZ2V0aG1zKGRwLCBfKCJpbnZhbGlkIHRpbWUgb2YgZGF5IikpOwotIAlmcmVlKGRwKTsKLSAKLSAJLyoKLUBAIC0xOTQyLDcgKzE5MTksNDMgQEAgaXMzMihjb25zdCB6aWNfdCB4KQotIH0KLSAKLSBzdGF0aWMgdm9pZAotLXdyaXRlem9uZShjb25zdCBjaGFyICpjb25zdCBuYW1lLCBjb25zdCBjaGFyICpjb25zdCBzdHJpbmcsIGNoYXIgdmVyc2lvbikKLStzd2FwdHlwZXMoaW50IGksIGludCBqKQotK3sKLSsJewotKwkJemljX3QJCXQgPSBnbXRvZmZzW2ldOwotKwotKwkJZ210b2Zmc1tpXSA9IGdtdG9mZnNbal07Ci0rCQlnbXRvZmZzW2pdID0gdDsKLSsJfQotKwl7Ci0rCQljaGFyCQl0ID0gaXNkc3RzW2ldOwotKwotKwkJaXNkc3RzW2ldID0gaXNkc3RzW2pdOwotKwkJaXNkc3RzW2pdID0gdDsKLSsJfQotKwl7Ci0rCQl1bnNpZ25lZCBjaGFyIHQgPSBhYmJyaW5kc1tpXTsKLSsKLSsJCWFiYnJpbmRzW2ldID0gYWJicmluZHNbal07Ci0rCQlhYmJyaW5kc1tqXSA9IHQ7Ci0rCX0KLSsJewotKwkJYm9vbAkJdCA9IHR0aXNzdGRzW2ldOwotKwotKwkJdHRpc3N0ZHNbaV0gPSB0dGlzc3Rkc1tqXTsKLSsJCXR0aXNzdGRzW2pdID0gdDsKLSsJfQotKwl7Ci0rCQlib29sCQl0ID0gdHRpc2dtdHNbaV07Ci0rCi0rCQl0dGlzZ210c1tpXSA9IHR0aXNnbXRzW2pdOwotKwkJdHRpc2dtdHNbal0gPSB0OwotKwl9Ci0rfQotKwotK3N0YXRpYyB2b2lkCi0rd3JpdGV6b25lKGNvbnN0IGNoYXIgKmNvbnN0IG5hbWUsIGNvbnN0IGNoYXIgKmNvbnN0IHN0cmluZywgY2hhciB2ZXJzaW9uLAotKwkJICBpbnQgZGVmYXVsdHR5cGUpCi0gewotIAlGSUxFCSAgICpmcDsKLSAJcHRyZGlmZl90CWksCi1AQCAtMTk3NywxNCArMTk5MCwxMiBAQCB3cml0ZXpvbmUoY29uc3QgY2hhciAqY29uc3QgbmFtZSwgY29uc3QKLSAKLSAJCXRvaSA9IDA7Ci0gCQlmcm9taSA9IDA7Ci0tCQl3aGlsZSAoZnJvbWkgPCB0aW1lY250ICYmIGF0dHlwZXNbZnJvbWldLmF0IDwgZWFybHlfdGltZSkKLS0JCQkrK2Zyb21pOwotIAkJZm9yICg7IGZyb21pIDwgdGltZWNudDsgKytmcm9taSkKLSAJCXsKLS0JCQlpZiAodG9pID4gMSAmJiAoKGF0dHlwZXNbZnJvbWldLmF0ICsKLS0JCQkJCQkJIGdtdG9mZnNbYXR0eXBlc1t0b2kgLSAxXS50eXBlXSkgPD0KLS0JCQkJCQkJKGF0dHlwZXNbdG9pIC0gMV0uYXQgKwotLQkJCQkJCQkgZ210b2Zmc1thdHR5cGVzW3RvaSAtIDJdLnR5cGVdKSkpCi0rCQkJaWYgKHRvaSAhPSAwICYmICgoYXR0eXBlc1tmcm9taV0uYXQgKwotKwkJCQkJCQkgIGdtdG9mZnNbYXR0eXBlc1t0b2kgLSAxXS50eXBlXSkgPD0KLSsJCQkJCQkJIChhdHR5cGVzW3RvaSAtIDFdLmF0ICsgZ210b2Zmc1t0b2kgPT0gMSA/IDAKLSsJCQkJCQkJCQkJCQkJCQk6IGF0dHlwZXNbdG9pIC0gMl0udHlwZV0pKSkKLSAJCQl7Ci0gCQkJCWF0dHlwZXNbdG9pIC0gMV0udHlwZSA9Ci0gCQkJCQlhdHR5cGVzW2Zyb21pXS50eXBlOwotQEAgLTIwMTksOCArMjAzMCw4IEBAIHdyaXRlem9uZShjb25zdCBjaGFyICpjb25zdCBuYW1lLCBjb25zdAotIAl9Ci0gCi0gCS8qCi0tCSAqIFdvcmsgYXJvdW5kIFFUQlVHLTUzMDcxIGZvciB0aW1lIHN0YW1wcyBsZXNzIHRoYW4geTIwMzhfYm91bmRhcnkgLSAxLAotLQkgKiBieSBpbnNlcnRpbmcgYSBuby1vcCB0cmFuc2l0aW9uIGF0IHRpbWUgeTIwMzhfYm91bmRhcnkgLSAxLiBUaGlzIHdvcmtzCi0rCSAqIFdvcmsgYXJvdW5kIFFUQlVHLTUzMDcxIGZvciB0aW1lc3RhbXBzIGxlc3MgdGhhbiB5MjAzOF9ib3VuZGFyeSAtIDEsIGJ5Ci0rCSAqIGluc2VydGluZyBhIG5vLW9wIHRyYW5zaXRpb24gYXQgdGltZSB5MjAzOF9ib3VuZGFyeSAtIDEuIFRoaXMgd29ya3MKLSAJICogb25seSBmb3IgdGltZXN0YW1wcyBiZWZvcmUgdGhlIGJvdW5kYXJ5LCB3aGljaCBzaG91bGQgYmUgZ29vZCBlbm91Z2ggaW4KLSAJICogcHJhY3RpY2UgYXMgUVRCVUctNTMwNzEgc2hvdWxkIGJlIGxvbmctZGVhZCBieSAyMDM4LgotIAkgKi8KLUBAIC0yMTE2LDcgKzIxMjcsOCBAQCB3cml0ZXpvbmUoY29uc3QgY2hhciAqY29uc3QgbmFtZSwgY29uc3QKLSAJCWludAkJCXRoaXNsZWFwaSwKLSAJCQkJCXRoaXNsZWFwY250LAotIAkJCQkJdGhpc2xlYXBsaW07Ci0tCQlpbnQJCQl3cml0ZXR5cGVbVFpfTUFYX1RZUEVTXTsKLSsJCWludAkJCW9sZDA7Ci0rCQljaGFyCQlvbWl0dHlwZVtUWl9NQVhfVFlQRVNdOwotIAkJaW50CQkJdHlwZW1hcFtUWl9NQVhfVFlQRVNdOwotIAkJaW50CQkJdGhpc3R5cGVjbnQ7Ci0gCQljaGFyCQl0aGlzY2hhcnNbVFpfTUFYX0NIQVJTXTsKLUBAIC0yMTQ0LDI4ICsyMTU2LDE5IEBAIHdyaXRlem9uZShjb25zdCBjaGFyICpjb25zdCBuYW1lLCBjb25zdAotIAkJCWVycm9yKF8oInRvbyBtYW55IHRyYW5zaXRpb24gdGltZXMiKSk7Ci0gCQl0aGlzdGltZWxpbSA9IHRoaXN0aW1laSArIHRoaXN0aW1lY250OwotIAkJdGhpc2xlYXBsaW0gPSB0aGlzbGVhcGkgKyB0aGlzbGVhcGNudDsKLS0JCWZvciAoaSA9IDA7IGkgPCB0eXBlY250OyArK2kpCi0tCQkJd3JpdGV0eXBlW2ldID0gdGhpc3RpbWVjbnQgPT0gdGltZWNudDsKLS0JCWlmICh0aGlzdGltZWNudCA9PSAwKQotLQkJewotLQkJCS8qCi0tCQkJICogTm8gdHJhbnNpdGlvbiB0aW1lcyBmYWxsIGluIHRoZSBjdXJyZW50ICgzMi0gb3IgNjQtYml0KSB3aW5kb3cuCi0tCQkJICovCi0tCQkJaWYgKHR5cGVjbnQgIT0gMCkKLS0JCQkJd3JpdGV0eXBlW3R5cGVjbnQgLSAxXSA9IHRydWU7Ci0tCQl9Ci0tCQllbHNlCi0tCQl7Ci0tCQkJZm9yIChpID0gdGhpc3RpbWVpIC0gMTsgaSA8IHRoaXN0aW1lbGltOyArK2kpCi0tCQkJCWlmIChpID49IDApCi0tCQkJCQl3cml0ZXR5cGVbdHlwZXNbaV1dID0gdHJ1ZTsKLSsJCW1lbXNldChvbWl0dHlwZSwgdHJ1ZSwgdHlwZWNudCk7Ci0rCQlvbWl0dHlwZVtkZWZhdWx0dHlwZV0gPSBmYWxzZTsKLSsJCWZvciAoaSA9IHRoaXN0aW1laTsgaSA8IHRoaXN0aW1lbGltOyBpKyspCi0rCQkJb21pdHR5cGVbdHlwZXNbaV1dID0gZmFsc2U7Ci0rCi0rCQkvKgotKwkJICogUmVvcmRlciB0eXBlcyB0byBtYWtlIERFRkFVTFRUWVBFIHR5cGUgMC4gVXNlIFRZUEVNQVAgdG8gc3dhcCBPTEQwCi0rCQkgKiBhbmQgREVGQVVMVFRZUEUgc28gdGhhdCBERUZBVUxUVFlQRSBhcHBlYXJzIGFzIHR5cGUgMCBpbiB0aGUgb3V0cHV0Ci0rCQkgKiBpbnN0ZWFkIG9mIE9MRDAuICBUWVBFTUFQIGFsc28gb21pdHMgdW51c2VkIHR5cGVzLgotKwkJICovCi0rCQlvbGQwID0gc3RybGVuKG9taXR0eXBlKTsKLSsJCXN3YXB0eXBlcyhvbGQwLCBkZWZhdWx0dHlwZSk7Ci0gCi0tCQkJLyoKLS0JCQkgKiBGb3IgQW1lcmljYS9Hb2R0aGFiIGFuZCBBbnRhcmN0aWNhL1BhbG1lcgotLQkJCSAqLwotLQkJCWlmICh0aGlzdGltZWkgPT0gMCkKLS0JCQkJd3JpdGV0eXBlWzBdID0gdHJ1ZTsKLS0JCX0KLSAjaWZuZGVmIExFQVZFX1NPTUVfUFJFXzIwMTFfU1lTVEVNU19JTl9USEVfTFVSQ0gKLSAKLSAJCS8qCi1AQCAtMjE4Nyw4ICsyMTkwLDggQEAgd3JpdGV6b25lKGNvbnN0IGNoYXIgKmNvbnN0IG5hbWUsIGNvbnN0Ci0gCQkJCQltcnVkc3QgPSB0eXBlc1tpXTsKLSAJCQkJZWxzZQotIAkJCQkJbXJ1c3RkID0gdHlwZXNbaV07Ci0tCQkJZm9yIChpID0gMDsgaSA8IHR5cGVjbnQ7ICsraSkKLS0JCQkJaWYgKHdyaXRldHlwZVtpXSkKLSsJCQlmb3IgKGkgPSBvbGQwOyBpIDwgdHlwZWNudDsgaSsrKQotKwkJCQlpZiAoIW9taXR0eXBlW2ldKQotIAkJCQl7Ci0gCQkJCQlpZiAoaXNkc3RzW2ldKQotIAkJCQkJCWhpZHN0ID0gaTsKLUBAIC0yMjA1LDcgKzIyMDgsNyBAQCB3cml0ZXpvbmUoY29uc3QgY2hhciAqY29uc3QgbmFtZSwgY29uc3QKLSAJCQkJCQkJICAgdHRpc3N0ZHNbbXJ1ZHN0XSwKLSAJCQkJCQkJICAgdHRpc2dtdHNbbXJ1ZHN0XSk7Ci0gCQkJCWlzZHN0c1ttcnVkc3RdID0gMTsKLS0JCQkJd3JpdGV0eXBlW3R5cGVdID0gdHJ1ZTsKLSsJCQkJb21pdHR5cGVbdHlwZV0gPSBmYWxzZTsKLSAJCQl9Ci0gCQkJaWYgKGhpc3RkID49IDAgJiYgbXJ1c3RkID49IDAgJiYgaGlzdGQgIT0gbXJ1c3RkICYmCi0gCQkJCWdtdG9mZnNbaGlzdGRdICE9IGdtdG9mZnNbbXJ1c3RkXSkKLUBAIC0yMjE3LDIyICsyMjIwLDI2IEBAIHdyaXRlem9uZShjb25zdCBjaGFyICpjb25zdCBuYW1lLCBjb25zdAotIAkJCQkJCQkgICB0dGlzc3Rkc1ttcnVzdGRdLAotIAkJCQkJCQkgICB0dGlzZ210c1ttcnVzdGRdKTsKLSAJCQkJaXNkc3RzW21ydXN0ZF0gPSAwOwotLQkJCQl3cml0ZXR5cGVbdHlwZV0gPSB0cnVlOwotKwkJCQlvbWl0dHlwZVt0eXBlXSA9IGZhbHNlOwotIAkJCX0KLSAJCX0KLSAjZW5kaWYJCQkJCQkJLyogIWRlZmluZWQKLSAJCQkJCQkJCSAqIExFQVZFX1NPTUVfUFJFXzIwMTFfU1lTVEVNU19JTl9USEVfTFVSQ0ggKi8KLSAJCXRoaXN0eXBlY250ID0gMDsKLS0JCWZvciAoaSA9IDA7IGkgPCB0eXBlY250OyArK2kpCi0tCQkJdHlwZW1hcFtpXSA9IHdyaXRldHlwZVtpXSA/IHRoaXN0eXBlY250KysgOiAtMTsKLSsJCWZvciAoaSA9IG9sZDA7IGkgPCB0eXBlY250OyBpKyspCi0rCQkJaWYgKCFvbWl0dHlwZVtpXSkKLSsJCQkJdHlwZW1hcFtpID09IG9sZDAgPyBkZWZhdWx0dHlwZQotKwkJCQkJCTogaSA9PSBkZWZhdWx0dHlwZSA/IG9sZDAgOiBpXQotKwkJCQkJPSB0aGlzdHlwZWNudCsrOwotKwotIAkJZm9yIChpID0gMDsgaSA8IHNpemVvZiBpbmRtYXAgLyBzaXplb2YgaW5kbWFwWzBdOyArK2kpCi0gCQkJaW5kbWFwW2ldID0gLTE7Ci0gCQl0aGlzY2hhcmNudCA9IDA7Ci0tCQlmb3IgKGkgPSAwOyBpIDwgdHlwZWNudDsgKytpKQotKwkJZm9yIChpID0gb2xkMDsgaSA8IHR5cGVjbnQ7IGkrKykKLSAJCXsKLSAJCQljaGFyCSAgICp0aGlzYWJicjsKLSAKLS0JCQlpZiAoIXdyaXRldHlwZVtpXSkKLSsJCQlpZiAob21pdHR5cGVbaV0pCi0gCQkJCWNvbnRpbnVlOwotIAkJCWlmIChpbmRtYXBbYWJicmluZHNbaV1dID49IDApCi0gCQkJCWNvbnRpbnVlOwotQEAgLTIyNjcsMjMgKzIyNzQsMTYgQEAgd3JpdGV6b25lKGNvbnN0IGNoYXIgKmNvbnN0IG5hbWUsIGNvbnN0Ci0gCQlETyh0emhfdHlwZWNudCk7Ci0gCQlETyh0emhfY2hhcmNudCk7Ci0gI3VuZGVmIERPCi0tCQlmb3IgKGkgPSB0aGlzdGltZWk7IGkgPCB0aGlzdGltZWxpbTsgKytpKQotLQkJCWlmIChwYXNzID09IDEpCi0gCi0tCQkJCS8qCi0tCQkJCSAqIE91dHB1dCBhbiBJTlQzMl9NSU4gInRyYW5zaXRpb24iIGlmIGFwcHJvcHJpYXRlOyBzZWUgYWJvdmUuCi0tCQkJCSAqLwotLQkJCQlwdXR0emNvZGUoKChhdHNbaV0gPCBQR19JTlQzMl9NSU4pID8KLS0JCQkJCQkgICBQR19JTlQzMl9NSU4gOiBhdHNbaV0pLCBmcCk7Ci0tCQkJZWxzZQotKwkJLyogUEc6IHByaW50IGN1cnJlbnQgdGltZXpvbmUgYWJicmV2aWF0aW9ucyBpZiByZXF1ZXN0ZWQgKi8KLSsJCWlmIChwcmludF9hYmJyZXZzICYmIHBhc3MgPT0gMikKLSsJCXsKLSsJCQkvKiBQcmludCAidHlwZSIgZGF0YSBmb3IgcGVyaW9kcyBlbmRpbmcgYWZ0ZXIgcHJpbnRfY3V0b2ZmICovCi0rCQkJZm9yIChpID0gdGhpc3RpbWVpOyBpIDwgdGhpc3RpbWVsaW07ICsraSkKLSAJCQl7Ci0tCQkJCXB1dHR6Y29kZTY0KGF0c1tpXSwgZnApOwotLQotLQkJCQkvKiBQcmludCBjdXJyZW50IHRpbWV6b25lIGFiYnJldmlhdGlvbnMgaWYgcmVxdWVzdGVkICovCi0tCQkJCWlmIChwcmludF9hYmJyZXZzICYmCi0tCQkJCQkoaSA9PSB0aGlzdGltZWxpbSAtIDEgfHwgYXRzW2kgKyAxXSA+IHByaW50X2N1dG9mZikpCi0rCQkJCWlmIChpID09IHRoaXN0aW1lbGltIC0gMSB8fCBhdHNbaSArIDFdID4gcHJpbnRfY3V0b2ZmKQotIAkJCQl7Ci0tCQkJCQl1bnNpZ25lZCBjaGFyIHRtID0gdHlwZW1hcFt0eXBlc1tpXV07Ci0rCQkJCQl1bnNpZ25lZCBjaGFyIHRtID0gdHlwZXNbaV07Ci0gCQkJCQljaGFyCSAgICp0aGlzYWJicmV2ID0gJnRoaXNjaGFyc1tpbmRtYXBbYWJicmluZHNbdG1dXV07Ci0gCi0gCQkJCQkvKiBmaWx0ZXIgb3V0IGFzc29ydGVkIGp1bmsgZW50cmllcyAqLwotQEAgLTIyOTUsNiArMjI5NSwzMiBAQCB3cml0ZXpvbmUoY29uc3QgY2hhciAqY29uc3QgbmFtZSwgY29uc3QKLSAJCQkJCQkJCWlzZHN0c1t0bV0gPyAiXHREIiA6ICIiKTsKLSAJCQkJfQotIAkJCX0KLSsJCQkvKiBQcmludCB0aGUgZGVmYXVsdCB0eXBlIGlmIHdlIGhhdmUgbm8gdHJhbnNpdGlvbnMgYXQgYWxsICovCi0rCQkJaWYgKHRoaXN0aW1laSA+PSB0aGlzdGltZWxpbSkKLSsJCQl7Ci0rCQkJCXVuc2lnbmVkIGNoYXIgdG0gPSBkZWZhdWx0dHlwZTsKLSsJCQkJY2hhcgkgICAqdGhpc2FiYnJldiA9ICZ0aGlzY2hhcnNbaW5kbWFwW2FiYnJpbmRzW3RtXV1dOwotKwotKwkJCQkvKiBmaWx0ZXIgb3V0IGFzc29ydGVkIGp1bmsgZW50cmllcyAqLwotKwkJCQlpZiAoc3RyY21wKHRoaXNhYmJyZXYsIEdSQU5EUEFSRU5URUQpICE9IDAgJiYKLSsJCQkJCXN0cmNtcCh0aGlzYWJicmV2LCAienp6IikgIT0gMCkKLSsJCQkJCWZwcmludGYoc3Rkb3V0LCAiJXNcdCIgSU5UNjRfRk9STUFUICIlc1xuIiwKLSsJCQkJCQkJdGhpc2FiYnJldiwKLSsJCQkJCQkJZ210b2Zmc1t0bV0sCi0rCQkJCQkJCWlzZHN0c1t0bV0gPyAiXHREIiA6ICIiKTsKLSsJCQl9Ci0rCQl9Ci0rCi0rCQlmb3IgKGkgPSB0aGlzdGltZWk7IGkgPCB0aGlzdGltZWxpbTsgKytpKQotKwkJCWlmIChwYXNzID09IDEpCi0rCi0rCQkJCS8qCi0rCQkJCSAqIE91dHB1dCBhbiBJTlQzMl9NSU4gInRyYW5zaXRpb24iIGlmIGFwcHJvcHJpYXRlOyBzZWUgYWJvdmUuCi0rCQkJCSAqLwotKwkJCQlwdXR0emNvZGUoKChhdHNbaV0gPCBQR19JTlQzMl9NSU4pID8KLSsJCQkJCQkgICBQR19JTlQzMl9NSU4gOiBhdHNbaV0pLCBmcCk7Ci0rCQkJZWxzZQotKwkJCQlwdXR0emNvZGU2NChhdHNbaV0sIGZwKTsKLSAJCWZvciAoaSA9IHRoaXN0aW1laTsgaSA8IHRoaXN0aW1lbGltOyArK2kpCi0gCQl7Ci0gCQkJdW5zaWduZWQgY2hhciB1YzsKLUBAIC0yMzAyLDggKzIzMjgsOCBAQCB3cml0ZXpvbmUoY29uc3QgY2hhciAqY29uc3QgbmFtZSwgY29uc3QKLSAJCQl1YyA9IHR5cGVtYXBbdHlwZXNbaV1dOwotIAkJCWZ3cml0ZSgmdWMsIHNpemVvZiB1YywgMSwgZnApOwotIAkJfQotLQkJZm9yIChpID0gMDsgaSA8IHR5cGVjbnQ7ICsraSkKLS0JCQlpZiAod3JpdGV0eXBlW2ldKQotKwkJZm9yIChpID0gb2xkMDsgaSA8IHR5cGVjbnQ7IGkrKykKLSsJCQlpZiAoIW9taXR0eXBlW2ldKQotIAkJCXsKLSAJCQkJcHV0dHpjb2RlKGdtdG9mZnNbaV0sIGZwKTsKLSAJCQkJcHV0Yyhpc2RzdHNbaV0sIGZwKTsKLUBAIC0yMzQ2LDEyICsyMzcyLDEzIEBAIHdyaXRlem9uZShjb25zdCBjaGFyICpjb25zdCBuYW1lLCBjb25zdAotIAkJCQlwdXR0emNvZGU2NCh0b2RvLCBmcCk7Ci0gCQkJcHV0dHpjb2RlKGNvcnJbaV0sIGZwKTsKLSAJCX0KLS0JCWZvciAoaSA9IDA7IGkgPCB0eXBlY250OyArK2kpCi0tCQkJaWYgKHdyaXRldHlwZVtpXSkKLSsJCWZvciAoaSA9IG9sZDA7IGkgPCB0eXBlY250OyBpKyspCi0rCQkJaWYgKCFvbWl0dHlwZVtpXSkKLSAJCQkJcHV0Yyh0dGlzc3Rkc1tpXSwgZnApOwotLQkJZm9yIChpID0gMDsgaSA8IHR5cGVjbnQ7ICsraSkKLS0JCQlpZiAod3JpdGV0eXBlW2ldKQotKwkJZm9yIChpID0gb2xkMDsgaSA8IHR5cGVjbnQ7IGkrKykKLSsJCQlpZiAoIW9taXR0eXBlW2ldKQotIAkJCQlwdXRjKHR0aXNnbXRzW2ldLCBmcCk7Ci0rCQlzd2FwdHlwZXMob2xkMCwgZGVmYXVsdHR5cGUpOwotIAl9Ci0gCWZwcmludGYoZnAsICJcbiVzXG4iLCBzdHJpbmcpOwotIAljbG9zZV9maWxlKGZwLCBkaXJlY3RvcnksIG5hbWUpOwotQEAgLTI3NTcsNiArMjc4NCw3IEBAIG91dHpvbmUoY29uc3Qgc3RydWN0IHpvbmUgKnpwZmlyc3QsIHB0cmQKLSAJemljX3QJCW9uZSA9IDE7Ci0gCXppY190CQl5MjAzOF9ib3VuZGFyeSA9IG9uZSA8PCAzMTsKLSAJemljX3QJCW1heF95ZWFyMDsKLSsJaW50CQkJZGVmYXVsdHR5cGUgPSAtMTsKLSAKLSAJbWF4X2FiYnJfbGVuID0gMiArIG1heF9mb3JtYXRfbGVuICsgbWF4X2FiYnJ2YXJfbGVuOwotIAltYXhfZW52dmFyX2xlbiA9IDIgKiBtYXhfYWJicl9sZW4gKyA1ICogOTsKLUBAIC0yODgwLDkgKzI5MDgsOSBAQCBvdXR6b25lKGNvbnN0IHN0cnVjdCB6b25lICp6cGZpcnN0LCBwdHJkCi0gCQkgKi8KLSAJCXN0ZG9mZiA9IDA7Ci0gCQl6cCA9ICZ6cGZpcnN0W2ldOwotLQkJdXNlc3RhcnQgPSBpID4gMCAmJiAoenAgLSAxKS0+el91bnRpbHRpbWUgPiBlYXJseV90aW1lOwotKwkJdXNlc3RhcnQgPSBpID4gMCAmJiAoenAgLSAxKS0+el91bnRpbHRpbWUgPiBtaW5fdGltZTsKLSAJCXVzZXVudGlsID0gaSA8ICh6b25lY291bnQgLSAxKTsKLS0JCWlmICh1c2V1bnRpbCAmJiB6cC0+el91bnRpbHRpbWUgPD0gZWFybHlfdGltZSkKLSsJCWlmICh1c2V1bnRpbCAmJiB6cC0+el91bnRpbHRpbWUgPD0gbWluX3RpbWUpCi0gCQkJY29udGludWU7Ci0gCQlnbXRvZmYgPSB6cC0+el9nbXRvZmY7Ci0gCQllYXQoenAtPnpfZmlsZW5hbWUsIHpwLT56X2xpbmVudW0pOwotQEAgLTI5MDEsNyArMjkyOSw3IEBAIG91dHpvbmUoY29uc3Qgc3RydWN0IHpvbmUgKnpwZmlyc3QsIHB0cmQKLSAJCQkJdXNlc3RhcnQgPSBmYWxzZTsKLSAJCQl9Ci0gCQkJZWxzZQotLQkJCQlhZGR0dChlYXJseV90aW1lLCB0eXBlKTsKLSsJCQkJZGVmYXVsdHR5cGUgPSB0eXBlOwotIAkJfQotIAkJZWxzZQotIAkJCWZvciAoeWVhciA9IG1pbl95ZWFyOyB5ZWFyIDw9IG1heF95ZWFyOyArK3llYXIpCi1AQCAtMzAzMiw2ICszMDYwLDggQEAgb3V0em9uZShjb25zdCBzdHJ1Y3Qgem9uZSAqenBmaXJzdCwgcHRyZAotIAkJCQkJb2Zmc2V0ID0gb2FkZCh6cC0+el9nbXRvZmYsIHJwLT5yX3N0ZG9mZik7Ci0gCQkJCQl0eXBlID0gYWRkdHlwZShvZmZzZXQsIGFiLCBycC0+cl9pc2RzdCwKLSAJCQkJCQkJCSAgIHJwLT5yX3RvZGlzc3RkLCBycC0+cl90b2Rpc2dtdCk7Ci0rCQkJCQlpZiAoZGVmYXVsdHR5cGUgPCAwICYmICFycC0+cl9pc2RzdCkKLSsJCQkJCQlkZWZhdWx0dHlwZSA9IHR5cGU7Ci0gCQkJCQlpZiAocnAtPnJfaGl5ZWFyID09IFpJQ19NQVgKLSAJCQkJCQkmJiAhKDAgPD0gbGFzdGF0bWF4Ci0gCQkJCQkJCSAmJiBrdGltZSA8IGF0dHlwZXNbbGFzdGF0bWF4XS5hdCkpCi1AQCAtMzA1MCwxMSArMzA4MCwxNSBAQCBvdXR6b25lKGNvbnN0IHN0cnVjdCB6b25lICp6cGZpcnN0LCBwdHJkCi0gCQkJaWYgKCpzdGFydGJ1ZiA9PSAnXDAnKQotIAkJCQllcnJvcihfKCJjYW5ub3QgZGV0ZXJtaW5lIHRpbWUgem9uZSBhYmJyZXZpYXRpb24gdG8gdXNlIGp1c3QgYWZ0ZXIgdW50aWwgdGltZSIpKTsKLSAJCQllbHNlCi0tCQkJCWFkZHR0KHN0YXJ0dGltZSwKLS0JCQkJCSAgYWRkdHlwZShzdGFydG9mZiwgc3RhcnRidWYsCi0tCQkJCQkJCSAgc3RhcnRvZmYgIT0genAtPnpfZ210b2ZmLAotLQkJCQkJCQkgIHN0YXJ0dHRpc3N0ZCwKLS0JCQkJCQkJICBzdGFydHR0aXNnbXQpKTsKLSsJCQl7Ci0rCQkJCWJvb2wJCWlzZHN0ID0gc3RhcnRvZmYgIT0genAtPnpfZ210b2ZmOwotKwotKwkJCQl0eXBlID0gYWRkdHlwZShzdGFydG9mZiwgc3RhcnRidWYsIGlzZHN0LAotKwkJCQkJCQkgICBzdGFydHR0aXNzdGQsIHN0YXJ0dHRpc2dtdCk7Ci0rCQkJCWlmIChkZWZhdWx0dHlwZSA8IDAgJiYgIWlzZHN0KQotKwkJCQkJZGVmYXVsdHR5cGUgPSB0eXBlOwotKwkJCQlhZGR0dChzdGFydHRpbWUsIHR5cGUpOwotKwkJCX0KLSAJCX0KLSAKLSAJCS8qCi1AQCAtMzA3MSw2ICszMTA1LDggQEAgb3V0em9uZShjb25zdCBzdHJ1Y3Qgem9uZSAqenBmaXJzdCwgcHRyZAotIAkJCQlzdGFydHRpbWUgPSB0YWRkKHN0YXJ0dGltZSwgLWdtdG9mZik7Ci0gCQl9Ci0gCX0KLSsJaWYgKGRlZmF1bHR0eXBlIDwgMCkKLSsJCWRlZmF1bHR0eXBlID0gMDsKLSAJaWYgKDAgPD0gbGFzdGF0bWF4KQotIAkJYXR0eXBlc1tsYXN0YXRtYXhdLmRvbnRtZXJnZSA9IHRydWU7Ci0gCWlmIChkb19leHRlbmQpCi1AQCAtMzEwMCw3ICszMTM2LDcgQEAgb3V0em9uZShjb25zdCBzdHJ1Y3Qgem9uZSAqenBmaXJzdCwgcHRyZAotIAkJCWF0dHlwZXNbdGltZWNudCAtIDFdLmRvbnRtZXJnZSA9IHRydWU7Ci0gCQl9Ci0gCX0KLS0Jd3JpdGV6b25lKHpwZmlyc3QtPnpfbmFtZSwgZW52dmFyLCB2ZXJzaW9uKTsKLSsJd3JpdGV6b25lKHpwZmlyc3QtPnpfbmFtZSwgZW52dmFyLCB2ZXJzaW9uLCBkZWZhdWx0dHlwZSk7Ci0gCWZyZWUoc3RhcnRidWYpOwotIAlmcmVlKGFiKTsKLSAJZnJlZShlbnZ2YXIpOwotQEAgLTMxMDksMjEgKzMxNDUsNiBAQCBvdXR6b25lKGNvbnN0IHN0cnVjdCB6b25lICp6cGZpcnN0LCBwdHJkCi0gc3RhdGljIHZvaWQKLSBhZGR0dCh6aWNfdCBzdGFydHRpbWUsIGludCB0eXBlKQotIHsKLS0JaWYgKHN0YXJ0dGltZSA8PSBlYXJseV90aW1lCi0tCQl8fCAodGltZWNudCA9PSAxICYmIGF0dHlwZXNbMF0uYXQgPCBlYXJseV90aW1lKSkKLS0JewotLQkJZ210b2Zmc1swXSA9IGdtdG9mZnNbdHlwZV07Ci0tCQlpc2RzdHNbMF0gPSBpc2RzdHNbdHlwZV07Ci0tCQl0dGlzc3Rkc1swXSA9IHR0aXNzdGRzW3R5cGVdOwotLQkJdHRpc2dtdHNbMF0gPSB0dGlzZ210c1t0eXBlXTsKLS0JCWlmIChhYmJyaW5kc1t0eXBlXSAhPSAwKQotLQkJCXN0cmNweShjaGFycywgJmNoYXJzW2FiYnJpbmRzW3R5cGVdXSk7Ci0tCQlhYmJyaW5kc1swXSA9IDA7Ci0tCQljaGFyY250ID0gc3RybGVuKGNoYXJzKSArIDE7Ci0tCQl0eXBlY250ID0gMTsKLS0JCXRpbWVjbnQgPSAwOwotLQkJdHlwZSA9IDA7Ci0tCX0KLSAJYXR0eXBlcyA9IGdyb3dhbGxvYyhhdHR5cGVzLCBzaXplb2YgKmF0dHlwZXMsIHRpbWVjbnQsICZ0aW1lY250X2FsbG9jKTsKLSAJYXR0eXBlc1t0aW1lY250XS5hdCA9IHN0YXJ0dGltZTsKLSAJYXR0eXBlc1t0aW1lY250XS5kb250bWVyZ2UgPSBmYWxzZTsKLUBAIC0zMzYxLDcgKzMzODIsNyBAQCBpc19hbHBoYShjaGFyIGEpCi0gfQotIAotIC8qIElmIEEgaXMgYW4gdXBwZXJjYXNlIGNoYXJhY3RlciBpbiB0aGUgQyBsb2NhbGUsIHJldHVybiBpdHMgbG93ZXJjYXNlCi0tICogY291bnRlcnBhcnQuICBPdGhlcndpc2UsIHJldHVybiBBLiAgKi8KLSsgICBjb3VudGVycGFydC4gIE90aGVyd2lzZSwgcmV0dXJuIEEuICAqLwotIHN0YXRpYyBjaGFyCi0gbG93ZXJpdChjaGFyIGEpCi0gewotQEAgLTM2MjgsNiArMzY0OSwxOCBAQCBycHl0aW1lKGNvbnN0IHN0cnVjdCBydWxlICpycCwgemljX3Qgd2FuCi0gCWRheW9mZiA9IDA7Ci0gCW0gPSBUTV9KQU5VQVJZOwotIAl5ID0gRVBPQ0hfWUVBUjsKLSsJaWYgKHkgPCB3YW50ZWR5KQotKwl7Ci0rCQl3YW50ZWR5IC09IHk7Ci0rCQlkYXlvZmYgPSAod2FudGVkeSAvIFlFQVJTUEVSUkVQRUFUKSAqIChTRUNTUEVSUkVQRUFUIC8gU0VDU1BFUkRBWSk7Ci0rCQl3YW50ZWR5ICU9IFlFQVJTUEVSUkVQRUFUOwotKwkJd2FudGVkeSArPSB5OwotKwl9Ci0rCWVsc2UgaWYgKHdhbnRlZHkgPCAwKQotKwl7Ci0rCQlkYXlvZmYgPSAod2FudGVkeSAvIFlFQVJTUEVSUkVQRUFUKSAqIChTRUNTUEVSUkVQRUFUIC8gU0VDU1BFUkRBWSk7Ci0rCQl3YW50ZWR5ICU9IFlFQVJTUEVSUkVQRUFUOwotKwl9Ci0gCXdoaWxlICh3YW50ZWR5ICE9IHkpCi0gCXsKLSAJCWlmICh3YW50ZWR5ID4geSkKLUBAIC0zNzA2LDcgKzM3MzksNiBAQCB3aWxsIG5vdCB3b3JrIHdpdGggcHJlLTIwMDQgdmVyc2lvbnMgb2YKLSAJaWYgKGRheW9mZiA+IG1heF90aW1lIC8gU0VDU1BFUkRBWSkKLSAJCXJldHVybiBtYXhfdGltZTsKLSAJdCA9ICh6aWNfdCkgZGF5b2ZmICogU0VDU1BFUkRBWTsKLS0KLSAJcmV0dXJuIHRhZGQodCwgcnAtPnJfdG9kKTsKLSB9Ci0gCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3Bvc3RncmVzcWwvZmlsZXMvMDAwMS1VcGRhdGUtdGltZS16b25lLWRhdGEtZmlsZXMtdG8tdHpkYXRhLXJlbGVhc2UtMjAxOGYucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3Bvc3RncmVzcWwvZmlsZXMvMDAwMS1VcGRhdGUtdGltZS16b25lLWRhdGEtZmlsZXMtdG8tdHpkYXRhLXJlbGVhc2UtMjAxOGYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQxZTc2M2MuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9wb3N0Z3Jlc3FsL2ZpbGVzLzAwMDEtVXBkYXRlLXRpbWUtem9uZS1kYXRhLWZpbGVzLXRvLXR6ZGF0YS1yZWxlYXNlLTIwMThmLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjQ1MiArMCwwIEBACi1Gcm9tIDEzODc3ZDMwZjJlYzkzZjYwNDM5MzdmNzZhZjIwN2RjYzYxNGE0ZTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBUb20gTGFuZSA8dGdsQHNzcy5wZ2gucGEudXM+Ci1EYXRlOiBGcmksIDE5IE9jdCAyMDE4IDE3OjAxOjM0IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIFVwZGF0ZSB0aW1lIHpvbmUgZGF0YSBmaWxlcyB0byB0emRhdGEgcmVsZWFzZSAyMDE4Zi4KLQotRFNUIGxhdyBjaGFuZ2VzIGluIENoaWxlLCBGaWppLCBhbmQgUnVzc2lhIChWb2xnb2dyYWQpLgotSGlzdG9yaWNhbCBjb3JyZWN0aW9ucyBmb3IgQ2hpbmEsIEphcGFuLCBNYWNhdSwgYW5kIE5vcnRoIEtvcmVhLgotCi1Ob3RlOiBsaWtlIHRoZSBwcmV2aW91cyB0emRhdGEgdXBkYXRlLCB0aGlzIGludm9sdmVzIGEgZGVwcmVzc2luZ2x5Ci1sYXJnZSBhbW91bnQgb2Ygc2VtYW50aWNhbGx5LW1lYW5pbmdsZXNzIGNodXJuIGluIHR6ZGF0YS56aS4gIFRoYXQKLWlzIGEgY29uc2VxdWVuY2Ugb2YgdXBzdHJlYW0ncyBkYXRhIGNvbXByZXNzaW9uIG1ldGhvZCBhc3NpZ25pbmcKLXVuc3RhYmxlIGFiYnJldmlhdGlvbnMgdG8gRFNUIHJ1bGVzZXRzLiAgSSBjb21wbGFpbmVkIGFib3V0IHRoYXQKLXRvIHRoZW0gbGFzdCB0aW1lLCBhbmQgdGhpcyB2ZXJzaW9uIG5vdyB1c2VzIGFuIGFzc2lnbm1lbnQgbWV0aG9kCi10aGF0IHBheXMgc29tZSBoZWVkIHRvIG5vdCBjaGFuZ2luZyBhYmJyZXZpYXRpb25zIHVubmVjZXNzYXJpbHkuCi1TbyBob3BlZnVsbHksIHRoYXQnbGwgYmUgYmV0dGVyIGdvaW5nIGZvcndhcmQuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVNpZ25lZC1vZmYtYnk6IEFybWluIEt1c3RlciA8YWt1c3RlckBtdmlzdGEuY29tPgotCi0tLS0KLSBzcmMvdGltZXpvbmUvZGF0YS90emRhdGEuemkgICAgICB8IDUyNzMgKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KLSBzcmMvdGltZXpvbmUva25vd25fYWJicmV2cy50eHQgICB8ICAgIDEgKwotIHNyYy90aW1lem9uZS90em5hbWVzL0FtZXJpY2EudHh0IHwgICAgMyArCi0gc3JjL3RpbWV6b25lL3R6bmFtZXMvQXNpYS50eHQgICAgfCAgICA0ICsKLSBzcmMvdGltZXpvbmUvdHpuYW1lcy9EZWZhdWx0ICAgICB8ICAgIDMgKwotIHNyYy90aW1lem9uZS90em5hbWVzL1BhY2lmaWMudHh0IHwgICAgMyArCi0gNiBmaWxlcyBjaGFuZ2VkLCAyNjYwIGluc2VydGlvbnMoKyksIDI2MjcgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvdGltZXpvbmUvZGF0YS90emRhdGEuemkgYi9zcmMvdGltZXpvbmUvZGF0YS90emRhdGEuemkKLWluZGV4IGM0NzAxMTIuLjZkOTg5MDIgMTAwNjQ0Ci0tLS0gYS9zcmMvdGltZXpvbmUvZGF0YS90emRhdGEuemkKLSsrKyBiL3NyYy90aW1lem9uZS9kYXRhL3R6ZGF0YS56aQotQEAgLTEsMzYgKzEsMzYgQEAKLS0jIHZlcnNpb24gMjAxOGUKLSsjIHZlcnNpb24gMjAxOGYKLSAjIFRoaXMgemljIGlucHV0IGZpbGUgaXMgaW4gdGhlIHB1YmxpYyBkb21haW4uCi0tUiBBIDE5MTYgbyAtIEp1biAxNCAyM3MgMSBTCi0tUiBBIDE5MTYgMTkxOSAtIE8gU3VuPj0xIDIzcyAwIC0KLS1SIEEgMTkxNyBvIC0gTWFyIDI0IDIzcyAxIFMKLS1SIEEgMTkxOCBvIC0gTWFyIDkgMjNzIDEgUwotLVIgQSAxOTE5IG8gLSBNYXIgMSAyM3MgMSBTCi0tUiBBIDE5MjAgbyAtIEYgMTQgMjNzIDEgUwotLVIgQSAxOTIwIG8gLSBPIDIzIDIzcyAwIC0KLS1SIEEgMTkyMSBvIC0gTWFyIDE0IDIzcyAxIFMKLS1SIEEgMTkyMSBvIC0gSnVuIDIxIDIzcyAwIC0KLS1SIEEgMTkzOSBvIC0gUyAxMSAyM3MgMSBTCi0tUiBBIDE5MzkgbyAtIE4gMTkgMSAwIC0KLS1SIEEgMTk0NCAxOTQ1IC0gQXAgTT49MSAyIDEgUwotLVIgQSAxOTQ0IG8gLSBPIDggMiAwIC0KLS1SIEEgMTk0NSBvIC0gUyAxNiAxIDAgLQotLVIgQSAxOTcxIG8gLSBBcCAyNSAyM3MgMSBTCi0tUiBBIDE5NzEgbyAtIFMgMjYgMjNzIDAgLQotLVIgQSAxOTc3IG8gLSBNYXkgNiAwIDEgUwotLVIgQSAxOTc3IG8gLSBPIDIxIDAgMCAtCi0tUiBBIDE5NzggbyAtIE1hciAyNCAxIDEgUwotLVIgQSAxOTc4IG8gLSBTIDIyIDMgMCAtCi0tUiBBIDE5ODAgbyAtIEFwIDI1IDAgMSBTCi0tUiBBIDE5ODAgbyAtIE8gMzEgMiAwIC0KLStSIGQgMTkxNiBvIC0gSnVuIDE0IDIzcyAxIFMKLStSIGQgMTkxNiAxOTE5IC0gTyBTdW4+PTEgMjNzIDAgLQotK1IgZCAxOTE3IG8gLSBNYXIgMjQgMjNzIDEgUwotK1IgZCAxOTE4IG8gLSBNYXIgOSAyM3MgMSBTCi0rUiBkIDE5MTkgbyAtIE1hciAxIDIzcyAxIFMKLStSIGQgMTkyMCBvIC0gRiAxNCAyM3MgMSBTCi0rUiBkIDE5MjAgbyAtIE8gMjMgMjNzIDAgLQotK1IgZCAxOTIxIG8gLSBNYXIgMTQgMjNzIDEgUwotK1IgZCAxOTIxIG8gLSBKdW4gMjEgMjNzIDAgLQotK1IgZCAxOTM5IG8gLSBTIDExIDIzcyAxIFMKLStSIGQgMTkzOSBvIC0gTiAxOSAxIDAgLQotK1IgZCAxOTQ0IDE5NDUgLSBBcCBNPj0xIDIgMSBTCi0rUiBkIDE5NDQgbyAtIE8gOCAyIDAgLQotK1IgZCAxOTQ1IG8gLSBTIDE2IDEgMCAtCi0rUiBkIDE5NzEgbyAtIEFwIDI1IDIzcyAxIFMKLStSIGQgMTk3MSBvIC0gUyAyNiAyM3MgMCAtCi0rUiBkIDE5NzcgbyAtIE1heSA2IDAgMSBTCi0rUiBkIDE5NzcgbyAtIE8gMjEgMCAwIC0KLStSIGQgMTk3OCBvIC0gTWFyIDI0IDEgMSBTCi0rUiBkIDE5NzggbyAtIFMgMjIgMyAwIC0KLStSIGQgMTk4MCBvIC0gQXAgMjUgMCAxIFMKLStSIGQgMTk4MCBvIC0gTyAzMSAyIDAgLQotIFogQWZyaWNhL0FsZ2llcnMgMDoxMjoxMiAtIExNVCAxODkxIE1hciAxNSAwOjEKLSAwOjk6MjEgLSBQTVQgMTkxMSBNYXIgMTEKLS0wIEEgV0Ulc1QgMTk0MCBGIDI1IDIKLS0xIEEgQ0Ulc1QgMTk0NiBPIDcKLSswIGQgV0Ulc1QgMTk0MCBGIDI1IDIKLSsxIGQgQ0Ulc1QgMTk0NiBPIDcKLSAwIC0gV0VUIDE5NTYgSmEgMjkKLSAxIC0gQ0VUIDE5NjMgQXAgMTQKLS0wIEEgV0Ulc1QgMTk3NyBPIDIxCi0tMSBBIENFJXNUIDE5NzkgTyAyNgotLTAgQSBXRSVzVCAxOTgxIE1heQotKzAgZCBXRSVzVCAxOTc3IE8gMjEKLSsxIGQgQ0Ulc1QgMTk3OSBPIDI2Ci0rMCBkIFdFJXNUIDE5ODEgTWF5Ci0gMSAtIENFVAotIFogQXRsYW50aWMvQ2FwZV9WZXJkZSAtMTozNDo0IC0gTE1UIDE5MTIgSmEgMSAydQotIC0yIC0gLTAyIDE5NDIgUwotQEAgLTUyLDQ0ICs1Miw0NCBAQCBMaSBBZnJpY2EvQWJpZGphbiBBZnJpY2EvTG9tZQotIExpIEFmcmljYS9BYmlkamFuIEFmcmljYS9Ob3Vha2Nob3R0Ci0gTGkgQWZyaWNhL0FiaWRqYW4gQWZyaWNhL091YWdhZG91Z291Ci0gTGkgQWZyaWNhL0FiaWRqYW4gQXRsYW50aWMvU3RfSGVsZW5hCi0tUiBCIDE5NDAgbyAtIEp1bCAxNSAwIDEgUwotLVIgQiAxOTQwIG8gLSBPIDEgMCAwIC0KLS1SIEIgMTk0MSBvIC0gQXAgMTUgMCAxIFMKLS1SIEIgMTk0MSBvIC0gUyAxNiAwIDAgLQotLVIgQiAxOTQyIDE5NDQgLSBBcCAxIDAgMSBTCi0tUiBCIDE5NDIgbyAtIE8gMjcgMCAwIC0KLS1SIEIgMTk0MyAxOTQ1IC0gTiAxIDAgMCAtCi0tUiBCIDE5NDUgbyAtIEFwIDE2IDAgMSBTCi0tUiBCIDE5NTcgbyAtIE1heSAxMCAwIDEgUwotLVIgQiAxOTU3IDE5NTggLSBPIDEgMCAwIC0KLS1SIEIgMTk1OCBvIC0gTWF5IDEgMCAxIFMKLS1SIEIgMTk1OSAxOTgxIC0gTWF5IDEgMSAxIFMKLS1SIEIgMTk1OSAxOTY1IC0gUyAzMCAzIDAgLQotLVIgQiAxOTY2IDE5OTQgLSBPIDEgMyAwIC0KLS1SIEIgMTk4MiBvIC0gSnVsIDI1IDEgMSBTCi0tUiBCIDE5ODMgbyAtIEp1bCAxMiAxIDEgUwotLVIgQiAxOTg0IDE5ODggLSBNYXkgMSAxIDEgUwotLVIgQiAxOTg5IG8gLSBNYXkgNiAxIDEgUwotLVIgQiAxOTkwIDE5OTQgLSBNYXkgMSAxIDEgUwotLVIgQiAxOTk1IDIwMTAgLSBBcCBsYXN0RiAwcyAxIFMKLS1SIEIgMTk5NSAyMDA1IC0gUyBsYXN0VGggMjQgMCAtCi0tUiBCIDIwMDYgbyAtIFMgMjEgMjQgMCAtCi0tUiBCIDIwMDcgbyAtIFMgVGg+PTEgMjQgMCAtCi0tUiBCIDIwMDggbyAtIEF1IGxhc3RUaCAyNCAwIC0KLS1SIEIgMjAwOSBvIC0gQXUgMjAgMjQgMCAtCi0tUiBCIDIwMTAgbyAtIEF1IDEwIDI0IDAgLQotLVIgQiAyMDEwIG8gLSBTIDkgMjQgMSBTCi0tUiBCIDIwMTAgbyAtIFMgbGFzdFRoIDI0IDAgLQotLVIgQiAyMDE0IG8gLSBNYXkgMTUgMjQgMSBTCi0tUiBCIDIwMTQgbyAtIEp1biAyNiAyNCAwIC0KLS1SIEIgMjAxNCBvIC0gSnVsIDMxIDI0IDEgUwotLVIgQiAyMDE0IG8gLSBTIGxhc3RUaCAyNCAwIC0KLStSIEsgMTk0MCBvIC0gSnVsIDE1IDAgMSBTCi0rUiBLIDE5NDAgbyAtIE8gMSAwIDAgLQotK1IgSyAxOTQxIG8gLSBBcCAxNSAwIDEgUwotK1IgSyAxOTQxIG8gLSBTIDE2IDAgMCAtCi0rUiBLIDE5NDIgMTk0NCAtIEFwIDEgMCAxIFMKLStSIEsgMTk0MiBvIC0gTyAyNyAwIDAgLQotK1IgSyAxOTQzIDE5NDUgLSBOIDEgMCAwIC0KLStSIEsgMTk0NSBvIC0gQXAgMTYgMCAxIFMKLStSIEsgMTk1NyBvIC0gTWF5IDEwIDAgMSBTCi0rUiBLIDE5NTcgMTk1OCAtIE8gMSAwIDAgLQotK1IgSyAxOTU4IG8gLSBNYXkgMSAwIDEgUwotK1IgSyAxOTU5IDE5ODEgLSBNYXkgMSAxIDEgUwotK1IgSyAxOTU5IDE5NjUgLSBTIDMwIDMgMCAtCi0rUiBLIDE5NjYgMTk5NCAtIE8gMSAzIDAgLQotK1IgSyAxOTgyIG8gLSBKdWwgMjUgMSAxIFMKLStSIEsgMTk4MyBvIC0gSnVsIDEyIDEgMSBTCi0rUiBLIDE5ODQgMTk4OCAtIE1heSAxIDEgMSBTCi0rUiBLIDE5ODkgbyAtIE1heSA2IDEgMSBTCi0rUiBLIDE5OTAgMTk5NCAtIE1heSAxIDEgMSBTCi0rUiBLIDE5OTUgMjAxMCAtIEFwIGxhc3RGIDBzIDEgUwotK1IgSyAxOTk1IDIwMDUgLSBTIGxhc3RUaCAyNCAwIC0KLStSIEsgMjAwNiBvIC0gUyAyMSAyNCAwIC0KLStSIEsgMjAwNyBvIC0gUyBUaD49MSAyNCAwIC0KLStSIEsgMjAwOCBvIC0gQXUgbGFzdFRoIDI0IDAgLQotK1IgSyAyMDA5IG8gLSBBdSAyMCAyNCAwIC0KLStSIEsgMjAxMCBvIC0gQXUgMTAgMjQgMCAtCi0rUiBLIDIwMTAgbyAtIFMgOSAyNCAxIFMKLStSIEsgMjAxMCBvIC0gUyBsYXN0VGggMjQgMCAtCi0rUiBLIDIwMTQgbyAtIE1heSAxNSAyNCAxIFMKLStSIEsgMjAxNCBvIC0gSnVuIDI2IDI0IDAgLQotK1IgSyAyMDE0IG8gLSBKdWwgMzEgMjQgMSBTCi0rUiBLIDIwMTQgbyAtIFMgbGFzdFRoIDI0IDAgLQotIFogQWZyaWNhL0NhaXJvIDI6NTo5IC0gTE1UIDE5MDAgTwotLTIgQiBFRSVzVAotLVIgQyAxOTIwIDE5NDIgLSBTIDEgMCAwOjIwIC0KLS1SIEMgMTkyMCAxOTQyIC0gRCAzMSAwIDAgLQotKzIgSyBFRSVzVAotK1IgR0ggMTkyMCAxOTQyIC0gUyAxIDAgMDoyMCAtCi0rUiBHSCAxOTIwIDE5NDIgLSBEIDMxIDAgMCAtCi0gWiBBZnJpY2EvQWNjcmEgLTA6MDo1MiAtIExNVCAxOTE4Ci0tMCBDIEdNVC8rMDAyMAotKzAgR0ggR01ULyswMDIwCi0gWiBBZnJpY2EvQmlzc2F1IC0xOjI6MjAgLSBMTVQgMTkxMiBKYSAxIDF1Ci0gLTEgLSAtMDEgMTk3NQotIDAgLSBHTVQKLUBAIC0xMTEsOTkgKzExMSw5OSBAQCBaIEFmcmljYS9Nb25yb3ZpYSAtMDo0Mzo4IC0gTE1UIDE4ODIKLSAtMDo0Mzo4IC0gTU1UIDE5MTkgTWFyCi0gLTA6NDQ6MzAgLSBNTVQgMTk3MiBKYSA3Ci0gMCAtIEdNVAotLVIgRCAxOTUxIG8gLSBPIDE0IDIgMSBTCi0tUiBEIDE5NTIgbyAtIEphIDEgMCAwIC0KLS1SIEQgMTk1MyBvIC0gTyA5IDIgMSBTCi0tUiBEIDE5NTQgbyAtIEphIDEgMCAwIC0KLS1SIEQgMTk1NSBvIC0gUyAzMCAwIDEgUwotLVIgRCAxOTU2IG8gLSBKYSAxIDAgMCAtCi0tUiBEIDE5ODIgMTk4NCAtIEFwIDEgMCAxIFMKLS1SIEQgMTk4MiAxOTg1IC0gTyAxIDAgMCAtCi0tUiBEIDE5ODUgbyAtIEFwIDYgMCAxIFMKLS1SIEQgMTk4NiBvIC0gQXAgNCAwIDEgUwotLVIgRCAxOTg2IG8gLSBPIDMgMCAwIC0KLS1SIEQgMTk4NyAxOTg5IC0gQXAgMSAwIDEgUwotLVIgRCAxOTg3IDE5ODkgLSBPIDEgMCAwIC0KLS1SIEQgMTk5NyBvIC0gQXAgNCAwIDEgUwotLVIgRCAxOTk3IG8gLSBPIDQgMCAwIC0KLS1SIEQgMjAxMyBvIC0gTWFyIGxhc3RGIDEgMSBTCi0tUiBEIDIwMTMgbyAtIE8gbGFzdEYgMiAwIC0KLStSIEwgMTk1MSBvIC0gTyAxNCAyIDEgUwotK1IgTCAxOTUyIG8gLSBKYSAxIDAgMCAtCi0rUiBMIDE5NTMgbyAtIE8gOSAyIDEgUwotK1IgTCAxOTU0IG8gLSBKYSAxIDAgMCAtCi0rUiBMIDE5NTUgbyAtIFMgMzAgMCAxIFMKLStSIEwgMTk1NiBvIC0gSmEgMSAwIDAgLQotK1IgTCAxOTgyIDE5ODQgLSBBcCAxIDAgMSBTCi0rUiBMIDE5ODIgMTk4NSAtIE8gMSAwIDAgLQotK1IgTCAxOTg1IG8gLSBBcCA2IDAgMSBTCi0rUiBMIDE5ODYgbyAtIEFwIDQgMCAxIFMKLStSIEwgMTk4NiBvIC0gTyAzIDAgMCAtCi0rUiBMIDE5ODcgMTk4OSAtIEFwIDEgMCAxIFMKLStSIEwgMTk4NyAxOTg5IC0gTyAxIDAgMCAtCi0rUiBMIDE5OTcgbyAtIEFwIDQgMCAxIFMKLStSIEwgMTk5NyBvIC0gTyA0IDAgMCAtCi0rUiBMIDIwMTMgbyAtIE1hciBsYXN0RiAxIDEgUwotK1IgTCAyMDEzIG8gLSBPIGxhc3RGIDIgMCAtCi0gWiBBZnJpY2EvVHJpcG9saSAwOjUyOjQ0IC0gTE1UIDE5MjAKLS0xIEQgQ0Ulc1QgMTk1OQotKzEgTCBDRSVzVCAxOTU5Ci0gMiAtIEVFVCAxOTgyCi0tMSBEIENFJXNUIDE5OTAgTWF5IDQKLSsxIEwgQ0Ulc1QgMTk5MCBNYXkgNAotIDIgLSBFRVQgMTk5NiBTIDMwCi0tMSBEIENFJXNUIDE5OTcgTyA0Ci0rMSBMIENFJXNUIDE5OTcgTyA0Ci0gMiAtIEVFVCAyMDEyIE4gMTAgMgotLTEgRCBDRSVzVCAyMDEzIE8gMjUgMgotKzEgTCBDRSVzVCAyMDEzIE8gMjUgMgotIDIgLSBFRVQKLS1SIEUgMTk4MiBvIC0gTyAxMCAwIDEgLQotLVIgRSAxOTgzIG8gLSBNYXIgMjEgMCAwIC0KLS1SIEUgMjAwOCBvIC0gTyBsYXN0U3VuIDIgMSAtCi0tUiBFIDIwMDkgbyAtIE1hciBsYXN0U3VuIDIgMCAtCi0rUiBNVSAxOTgyIG8gLSBPIDEwIDAgMSAtCi0rUiBNVSAxOTgzIG8gLSBNYXIgMjEgMCAwIC0KLStSIE1VIDIwMDggbyAtIE8gbGFzdFN1biAyIDEgLQotK1IgTVUgMjAwOSBvIC0gTWFyIGxhc3RTdW4gMiAwIC0KLSBaIEluZGlhbi9NYXVyaXRpdXMgMzo1MCAtIExNVCAxOTA3Ci0tNCBFICswNC8rMDUKLS1SIEYgMTkzOSBvIC0gUyAxMiAwIDEgUwotLVIgRiAxOTM5IG8gLSBOIDE5IDAgMCAtCi0tUiBGIDE5NDAgbyAtIEYgMjUgMCAxIFMKLS1SIEYgMTk0NSBvIC0gTiAxOCAwIDAgLQotLVIgRiAxOTUwIG8gLSBKdW4gMTEgMCAxIFMKLS1SIEYgMTk1MCBvIC0gTyAyOSAwIDAgLQotLVIgRiAxOTY3IG8gLSBKdW4gMyAxMiAxIFMKLS1SIEYgMTk2NyBvIC0gTyAxIDAgMCAtCi0tUiBGIDE5NzQgbyAtIEp1biAyNCAwIDEgUwotLVIgRiAxOTc0IG8gLSBTIDEgMCAwIC0KLS1SIEYgMTk3NiAxOTc3IC0gTWF5IDEgMCAxIFMKLS1SIEYgMTk3NiBvIC0gQXUgMSAwIDAgLQotLVIgRiAxOTc3IG8gLSBTIDI4IDAgMCAtCi0tUiBGIDE5NzggbyAtIEp1biAxIDAgMSBTCi0tUiBGIDE5NzggbyAtIEF1IDQgMCAwIC0KLS1SIEYgMjAwOCBvIC0gSnVuIDEgMCAxIFMKLS1SIEYgMjAwOCBvIC0gUyAxIDAgMCAtCi0tUiBGIDIwMDkgbyAtIEp1biAxIDAgMSBTCi0tUiBGIDIwMDkgbyAtIEF1IDIxIDAgMCAtCi0tUiBGIDIwMTAgbyAtIE1heSAyIDAgMSBTCi0tUiBGIDIwMTAgbyAtIEF1IDggMCAwIC0KLS1SIEYgMjAxMSBvIC0gQXAgMyAwIDEgUwotLVIgRiAyMDExIG8gLSBKdWwgMzEgMCAwIC0KLS1SIEYgMjAxMiAyMDEzIC0gQXAgbGFzdFN1biAyIDEgUwotLVIgRiAyMDEyIG8gLSBKdWwgMjAgMyAwIC0KLS1SIEYgMjAxMiBvIC0gQXUgMjAgMiAxIFMKLS1SIEYgMjAxMiBvIC0gUyAzMCAzIDAgLQotLVIgRiAyMDEzIG8gLSBKdWwgNyAzIDAgLQotLVIgRiAyMDEzIG8gLSBBdSAxMCAyIDEgUwotLVIgRiAyMDEzIG1hIC0gTyBsYXN0U3VuIDMgMCAtCi0tUiBGIDIwMTQgMjAyMSAtIE1hciBsYXN0U3VuIDIgMSBTCi0tUiBGIDIwMTQgbyAtIEp1biAyOCAzIDAgLQotLVIgRiAyMDE0IG8gLSBBdSAyIDIgMSBTCi0tUiBGIDIwMTUgbyAtIEp1biAxNCAzIDAgLQotLVIgRiAyMDE1IG8gLSBKdWwgMTkgMiAxIFMKLS1SIEYgMjAxNiBvIC0gSnVuIDUgMyAwIC0KLS1SIEYgMjAxNiBvIC0gSnVsIDEwIDIgMSBTCi0tUiBGIDIwMTcgbyAtIE1heSAyMSAzIDAgLQotLVIgRiAyMDE3IG8gLSBKdWwgMiAyIDEgUwotLVIgRiAyMDE4IG8gLSBNYXkgMTMgMyAwIC0KLS1SIEYgMjAxOCBvIC0gSnVuIDE3IDIgMSBTCi0tUiBGIDIwMTkgbyAtIE1heSA1IDMgMCAtCi0tUiBGIDIwMTkgbyAtIEp1biA5IDIgMSBTCi0tUiBGIDIwMjAgbyAtIEFwIDE5IDMgMCAtCi0tUiBGIDIwMjAgbyAtIE1heSAyNCAyIDEgUwotLVIgRiAyMDIxIG8gLSBBcCAxMSAzIDAgLQotLVIgRiAyMDIxIG8gLSBNYXkgMTYgMiAxIFMKLS1SIEYgMjAyMiBvIC0gTWF5IDggMiAxIFMKLS1SIEYgMjAyMyBvIC0gQXAgMjMgMiAxIFMKLS1SIEYgMjAyNCBvIC0gQXAgMTQgMiAxIFMKLS1SIEYgMjAyNSBvIC0gQXAgNiAyIDEgUwotLVIgRiAyMDI2IG1hIC0gTWFyIGxhc3RTdW4gMiAxIFMKLS1SIEYgMjAzNiBvIC0gTyAxOSAzIDAgLQotLVIgRiAyMDM3IG8gLSBPIDQgMyAwIC0KLSs0IE1VICswNC8rMDUKLStSIE0gMTkzOSBvIC0gUyAxMiAwIDEgUwotK1IgTSAxOTM5IG8gLSBOIDE5IDAgMCAtCi0rUiBNIDE5NDAgbyAtIEYgMjUgMCAxIFMKLStSIE0gMTk0NSBvIC0gTiAxOCAwIDAgLQotK1IgTSAxOTUwIG8gLSBKdW4gMTEgMCAxIFMKLStSIE0gMTk1MCBvIC0gTyAyOSAwIDAgLQotK1IgTSAxOTY3IG8gLSBKdW4gMyAxMiAxIFMKLStSIE0gMTk2NyBvIC0gTyAxIDAgMCAtCi0rUiBNIDE5NzQgbyAtIEp1biAyNCAwIDEgUwotK1IgTSAxOTc0IG8gLSBTIDEgMCAwIC0KLStSIE0gMTk3NiAxOTc3IC0gTWF5IDEgMCAxIFMKLStSIE0gMTk3NiBvIC0gQXUgMSAwIDAgLQotK1IgTSAxOTc3IG8gLSBTIDI4IDAgMCAtCi0rUiBNIDE5NzggbyAtIEp1biAxIDAgMSBTCi0rUiBNIDE5NzggbyAtIEF1IDQgMCAwIC0KLStSIE0gMjAwOCBvIC0gSnVuIDEgMCAxIFMKLStSIE0gMjAwOCBvIC0gUyAxIDAgMCAtCi0rUiBNIDIwMDkgbyAtIEp1biAxIDAgMSBTCi0rUiBNIDIwMDkgbyAtIEF1IDIxIDAgMCAtCi0rUiBNIDIwMTAgbyAtIE1heSAyIDAgMSBTCi0rUiBNIDIwMTAgbyAtIEF1IDggMCAwIC0KLStSIE0gMjAxMSBvIC0gQXAgMyAwIDEgUwotK1IgTSAyMDExIG8gLSBKdWwgMzEgMCAwIC0KLStSIE0gMjAxMiAyMDEzIC0gQXAgbGFzdFN1biAyIDEgUwotK1IgTSAyMDEyIG8gLSBKdWwgMjAgMyAwIC0KLStSIE0gMjAxMiBvIC0gQXUgMjAgMiAxIFMKLStSIE0gMjAxMiBvIC0gUyAzMCAzIDAgLQotK1IgTSAyMDEzIG8gLSBKdWwgNyAzIDAgLQotK1IgTSAyMDEzIG8gLSBBdSAxMCAyIDEgUwotK1IgTSAyMDEzIG1hIC0gTyBsYXN0U3VuIDMgMCAtCi0rUiBNIDIwMTQgMjAyMSAtIE1hciBsYXN0U3VuIDIgMSBTCi0rUiBNIDIwMTQgbyAtIEp1biAyOCAzIDAgLQotK1IgTSAyMDE0IG8gLSBBdSAyIDIgMSBTCi0rUiBNIDIwMTUgbyAtIEp1biAxNCAzIDAgLQotK1IgTSAyMDE1IG8gLSBKdWwgMTkgMiAxIFMKLStSIE0gMjAxNiBvIC0gSnVuIDUgMyAwIC0KLStSIE0gMjAxNiBvIC0gSnVsIDEwIDIgMSBTCi0rUiBNIDIwMTcgbyAtIE1heSAyMSAzIDAgLQotK1IgTSAyMDE3IG8gLSBKdWwgMiAyIDEgUwotK1IgTSAyMDE4IG8gLSBNYXkgMTMgMyAwIC0KLStSIE0gMjAxOCBvIC0gSnVuIDE3IDIgMSBTCi0rUiBNIDIwMTkgbyAtIE1heSA1IDMgMCAtCi0rUiBNIDIwMTkgbyAtIEp1biA5IDIgMSBTCi0rUiBNIDIwMjAgbyAtIEFwIDE5IDMgMCAtCi0rUiBNIDIwMjAgbyAtIE1heSAyNCAyIDEgUwotK1IgTSAyMDIxIG8gLSBBcCAxMSAzIDAgLQotK1IgTSAyMDIxIG8gLSBNYXkgMTYgMiAxIFMKLStSIE0gMjAyMiBvIC0gTWF5IDggMiAxIFMKLStSIE0gMjAyMyBvIC0gQXAgMjMgMiAxIFMKLStSIE0gMjAyNCBvIC0gQXAgMTQgMiAxIFMKLStSIE0gMjAyNSBvIC0gQXAgNiAyIDEgUwotK1IgTSAyMDI2IG1hIC0gTWFyIGxhc3RTdW4gMiAxIFMKLStSIE0gMjAzNiBvIC0gTyAxOSAzIDAgLQotK1IgTSAyMDM3IG8gLSBPIDQgMyAwIC0KLSBaIEFmcmljYS9DYXNhYmxhbmNhIC0wOjMwOjIwIC0gTE1UIDE5MTMgTyAyNgotLTAgRiBXRSVzVCAxOTg0IE1hciAxNgotKzAgTSBXRSVzVCAxOTg0IE1hciAxNgotIDEgLSBDRVQgMTk4NgotLTAgRiBXRSVzVAotKzAgTSBXRSVzVAotIFogQWZyaWNhL0VsX0FhaXVuIC0wOjUyOjQ4IC0gTE1UIDE5MzQKLSAtMSAtIC0wMSAxOTc2IEFwIDE0Ci0tMCBGIFdFJXNUCi0rMCBNIFdFJXNUCi0gWiBBZnJpY2EvTWFwdXRvIDI6MTA6MjAgLSBMTVQgMTkwMyBNYXIKLSAyIC0gQ0FUCi0gTGkgQWZyaWNhL01hcHV0byBBZnJpY2EvQmxhbnR5cmUKLUBAIC0yMTMsMTUgKzIxMywxNSBAQCBMaSBBZnJpY2EvTWFwdXRvIEFmcmljYS9IYXJhcmUKLSBMaSBBZnJpY2EvTWFwdXRvIEFmcmljYS9LaWdhbGkKLSBMaSBBZnJpY2EvTWFwdXRvIEFmcmljYS9MdWJ1bWJhc2hpCi0gTGkgQWZyaWNhL01hcHV0byBBZnJpY2EvTHVzYWthCi0tUiBHIDE5OTQgbyAtIE1hciAyMSAwIC0xIFdBVAotLVIgRyAxOTk0IDIwMTcgLSBTIFN1bj49MSAyIDAgQ0FUCi0tUiBHIDE5OTUgMjAxNyAtIEFwIFN1bj49MSAyIC0xIFdBVAotK1IgTkEgMTk5NCBvIC0gTWFyIDIxIDAgLTEgV0FUCi0rUiBOQSAxOTk0IDIwMTcgLSBTIFN1bj49MSAyIDAgQ0FUCi0rUiBOQSAxOTk1IDIwMTcgLSBBcCBTdW4+PTEgMiAtMSBXQVQKLSBaIEFmcmljYS9XaW5kaG9layAxOjg6MjQgLSBMTVQgMTg5MiBGIDgKLSAxOjMwIC0gKzAxMzAgMTkwMyBNYXIKLSAyIC0gU0FTVCAxOTQyIFMgMjAgMgotIDIgMSBTQVNUIDE5NDMgTWFyIDIxIDIKLSAyIC0gU0FTVCAxOTkwIE1hciAyMQotLTIgRyAlcwotKzIgTkEgJXMKLSBaIEFmcmljYS9MYWdvcyAwOjEzOjM2IC0gTE1UIDE5MTkgUwotIDEgLSBXQVQKLSBMaSBBZnJpY2EvTGFnb3MgQWZyaWNhL0Jhbmd1aQotQEAgLTI0MSw1MiArMjQxLDUyIEBAIFogQWZyaWNhL1Nhb19Ub21lIDA6MjY6NTYgLSBMTVQgMTg4NAotIDEgLSBXQVQKLSBaIEluZGlhbi9NYWhlIDM6NDE6NDggLSBMTVQgMTkwNiBKdW4KLSA0IC0gKzA0Ci0tUiBIIDE5NDIgMTk0MyAtIFMgU3VuPj0xNSAyIDEgLQotLVIgSCAxOTQzIDE5NDQgLSBNYXIgU3VuPj0xNSAyIDAgLQotK1IgU0EgMTk0MiAxOTQzIC0gUyBTdW4+PTE1IDIgMSAtCi0rUiBTQSAxOTQzIDE5NDQgLSBNYXIgU3VuPj0xNSAyIDAgLQotIFogQWZyaWNhL0pvaGFubmVzYnVyZyAxOjUyIC0gTE1UIDE4OTIgRiA4Ci0gMTozMCAtIFNBU1QgMTkwMyBNYXIKLS0yIEggU0FTVAotKzIgU0EgU0FTVAotIExpIEFmcmljYS9Kb2hhbm5lc2J1cmcgQWZyaWNhL01hc2VydQotIExpIEFmcmljYS9Kb2hhbm5lc2J1cmcgQWZyaWNhL01iYWJhbmUKLS1SIEkgMTk3MCBvIC0gTWF5IDEgMCAxIFMKLS1SIEkgMTk3MCAxOTg1IC0gTyAxNSAwIDAgLQotLVIgSSAxOTcxIG8gLSBBcCAzMCAwIDEgUwotLVIgSSAxOTcyIDE5ODUgLSBBcCBsYXN0U3VuIDAgMSBTCi0rUiBTRCAxOTcwIG8gLSBNYXkgMSAwIDEgUwotK1IgU0QgMTk3MCAxOTg1IC0gTyAxNSAwIDAgLQotK1IgU0QgMTk3MSBvIC0gQXAgMzAgMCAxIFMKLStSIFNEIDE5NzIgMTk4NSAtIEFwIGxhc3RTdW4gMCAxIFMKLSBaIEFmcmljYS9LaGFydG91bSAyOjEwOjggLSBMTVQgMTkzMQotLTIgSSBDQSVzVCAyMDAwIEphIDE1IDEyCi0rMiBTRCBDQSVzVCAyMDAwIEphIDE1IDEyCi0gMyAtIEVBVCAyMDE3IE4KLSAyIC0gQ0FUCi0gWiBBZnJpY2EvSnViYSAyOjY6MjggLSBMTVQgMTkzMQotLTIgSSBDQSVzVCAyMDAwIEphIDE1IDEyCi0rMiBTRCBDQSVzVCAyMDAwIEphIDE1IDEyCi0gMyAtIEVBVAotLVIgSiAxOTM5IG8gLSBBcCAxNSAyM3MgMSBTCi0tUiBKIDE5MzkgbyAtIE4gMTggMjNzIDAgLQotLVIgSiAxOTQwIG8gLSBGIDI1IDIzcyAxIFMKLS1SIEogMTk0MSBvIC0gTyA2IDAgMCAtCi0tUiBKIDE5NDIgbyAtIE1hciA5IDAgMSBTCi0tUiBKIDE5NDIgbyAtIE4gMiAzIDAgLQotLVIgSiAxOTQzIG8gLSBNYXIgMjkgMiAxIFMKLS1SIEogMTk0MyBvIC0gQXAgMTcgMiAwIC0KLS1SIEogMTk0MyBvIC0gQXAgMjUgMiAxIFMKLS1SIEogMTk0MyBvIC0gTyA0IDIgMCAtCi0tUiBKIDE5NDQgMTk0NSAtIEFwIE0+PTEgMiAxIFMKLS1SIEogMTk0NCBvIC0gTyA4IDAgMCAtCi0tUiBKIDE5NDUgbyAtIFMgMTYgMCAwIC0KLS1SIEogMTk3NyBvIC0gQXAgMzAgMHMgMSBTCi0tUiBKIDE5NzcgbyAtIFMgMjQgMHMgMCAtCi0tUiBKIDE5NzggbyAtIE1heSAxIDBzIDEgUwotLVIgSiAxOTc4IG8gLSBPIDEgMHMgMCAtCi0tUiBKIDE5ODggbyAtIEp1biAxIDBzIDEgUwotLVIgSiAxOTg4IDE5OTAgLSBTIGxhc3RTdW4gMHMgMCAtCi0tUiBKIDE5ODkgbyAtIE1hciAyNiAwcyAxIFMKLS1SIEogMTk5MCBvIC0gTWF5IDEgMHMgMSBTCi0tUiBKIDIwMDUgbyAtIE1heSAxIDBzIDEgUwotLVIgSiAyMDA1IG8gLSBTIDMwIDFzIDAgLQotLVIgSiAyMDA2IDIwMDggLSBNYXIgbGFzdFN1biAycyAxIFMKLS1SIEogMjAwNiAyMDA4IC0gTyBsYXN0U3VuIDJzIDAgLQotK1IgbiAxOTM5IG8gLSBBcCAxNSAyM3MgMSBTCi0rUiBuIDE5MzkgbyAtIE4gMTggMjNzIDAgLQotK1IgbiAxOTQwIG8gLSBGIDI1IDIzcyAxIFMKLStSIG4gMTk0MSBvIC0gTyA2IDAgMCAtCi0rUiBuIDE5NDIgbyAtIE1hciA5IDAgMSBTCi0rUiBuIDE5NDIgbyAtIE4gMiAzIDAgLQotK1IgbiAxOTQzIG8gLSBNYXIgMjkgMiAxIFMKLStSIG4gMTk0MyBvIC0gQXAgMTcgMiAwIC0KLStSIG4gMTk0MyBvIC0gQXAgMjUgMiAxIFMKLStSIG4gMTk0MyBvIC0gTyA0IDIgMCAtCi0rUiBuIDE5NDQgMTk0NSAtIEFwIE0+PTEgMiAxIFMKLStSIG4gMTk0NCBvIC0gTyA4IDAgMCAtCi0rUiBuIDE5NDUgbyAtIFMgMTYgMCAwIC0KLStSIG4gMTk3NyBvIC0gQXAgMzAgMHMgMSBTCi0rUiBuIDE5NzcgbyAtIFMgMjQgMHMgMCAtCi0rUiBuIDE5NzggbyAtIE1heSAxIDBzIDEgUwotK1IgbiAxOTc4IG8gLSBPIDEgMHMgMCAtCi0rUiBuIDE5ODggbyAtIEp1biAxIDBzIDEgUwotK1IgbiAxOTg4IDE5OTAgLSBTIGxhc3RTdW4gMHMgMCAtCi0rUiBuIDE5ODkgbyAtIE1hciAyNiAwcyAxIFMKLStSIG4gMTk5MCBvIC0gTWF5IDEgMHMgMSBTCi0rUiBuIDIwMDUgbyAtIE1heSAxIDBzIDEgUwotK1IgbiAyMDA1IG8gLSBTIDMwIDFzIDAgLQotK1IgbiAyMDA2IDIwMDggLSBNYXIgbGFzdFN1biAycyAxIFMKLStSIG4gMjAwNiAyMDA4IC0gTyBsYXN0U3VuIDJzIDAgLQotIFogQWZyaWNhL1R1bmlzIDA6NDA6NDQgLSBMTVQgMTg4MSBNYXkgMTIKLSAwOjk6MjEgLSBQTVQgMTkxMSBNYXIgMTEKLS0xIEogQ0Ulc1QKLSsxIG4gQ0Ulc1QKLSBaIEFudGFyY3RpY2EvQ2FzZXkgMCAtIC0wMCAxOTY5Ci0gOCAtICswOCAyMDA5IE8gMTggMgotIDExIC0gKzExIDIwMTAgTWFyIDUgMgotQEAgLTMxNCwxMCArMzE0LDEwIEBAIFogQW50YXJjdGljYS9EdW1vbnREVXJ2aWxsZSAwIC0gLTAwIDE5NDcKLSAxMCAtICsxMAotIFogQW50YXJjdGljYS9TeW93YSAwIC0gLTAwIDE5NTcgSmEgMjkKLSAzIC0gKzAzCi0tUiBLIDIwMDUgbWEgLSBNYXIgbGFzdFN1biAxdSAyICswMgotLVIgSyAyMDA0IG1hIC0gTyBsYXN0U3VuIDF1IDAgKzAwCi0rUiBUciAyMDA1IG1hIC0gTWFyIGxhc3RTdW4gMXUgMiArMDIKLStSIFRyIDIwMDQgbWEgLSBPIGxhc3RTdW4gMXUgMCArMDAKLSBaIEFudGFyY3RpY2EvVHJvbGwgMCAtIC0wMCAyMDA1IEYgMTIKLS0wIEsgJXMKLSswIFRyICVzCi0gWiBBbnRhcmN0aWNhL1Zvc3RvayAwIC0gLTAwIDE5NTcgRCAxNgotIDYgLSArMDYKLSBaIEFudGFyY3RpY2EvUm90aGVyYSAwIC0gLTAwIDE5NzYgRAotQEAgLTMyNSwzMyArMzI1LDMzIEBAIFogQW50YXJjdGljYS9Sb3RoZXJhIDAgLSAtMDAgMTk3NiBECi0gWiBBc2lhL0thYnVsIDQ6MzY6NDggLSBMTVQgMTg5MAotIDQgLSArMDQgMTk0NQotIDQ6MzAgLSArMDQzMAotLVIgTCAyMDExIG8gLSBNYXIgbGFzdFN1biAycyAxIC0KLS1SIEwgMjAxMSBvIC0gTyBsYXN0U3VuIDJzIDAgLQotK1IgQU0gMjAxMSBvIC0gTWFyIGxhc3RTdW4gMnMgMSAtCi0rUiBBTSAyMDExIG8gLSBPIGxhc3RTdW4gMnMgMCAtCi0gWiBBc2lhL1llcmV2YW4gMjo1OCAtIExNVCAxOTI0IE1heSAyCi0gMyAtICswMyAxOTU3IE1hcgotLTQgTSArMDQvKzA1IDE5OTEgTWFyIDMxIDJzCi0tMyBNICswMy8rMDQgMTk5NSBTIDI0IDJzCi0rNCBSICswNC8rMDUgMTk5MSBNYXIgMzEgMnMKLSszIFIgKzAzLyswNCAxOTk1IFMgMjQgMnMKLSA0IC0gKzA0IDE5OTcKLS00IE0gKzA0LyswNSAyMDExCi0tNCBMICswNC8rMDUKLS1SIE4gMTk5NyAyMDE1IC0gTWFyIGxhc3RTdW4gNCAxIC0KLS1SIE4gMTk5NyAyMDE1IC0gTyBsYXN0U3VuIDUgMCAtCi0rNCBSICswNC8rMDUgMjAxMQotKzQgQU0gKzA0LyswNQotK1IgQVogMTk5NyAyMDE1IC0gTWFyIGxhc3RTdW4gNCAxIC0KLStSIEFaIDE5OTcgMjAxNSAtIE8gbGFzdFN1biA1IDAgLQotIFogQXNpYS9CYWt1IDM6MTk6MjQgLSBMTVQgMTkyNCBNYXkgMgotIDMgLSArMDMgMTk1NyBNYXIKLS00IE0gKzA0LyswNSAxOTkxIE1hciAzMSAycwotLTMgTSArMDMvKzA0IDE5OTIgUyBsYXN0U3VuIDJzCi0rNCBSICswNC8rMDUgMTk5MSBNYXIgMzEgMnMKLSszIFIgKzAzLyswNCAxOTkyIFMgbGFzdFN1biAycwotIDQgLSArMDQgMTk5NgotLTQgTyArMDQvKzA1IDE5OTcKLS00IE4gKzA0LyswNQotLVIgUCAyMDA5IG8gLSBKdW4gMTkgMjMgMSAtCi0tUiBQIDIwMDkgbyAtIEQgMzEgMjQgMCAtCi0rNCBFICswNC8rMDUgMTk5NwotKzQgQVogKzA0LyswNQotK1IgQkQgMjAwOSBvIC0gSnVuIDE5IDIzIDEgLQotK1IgQkQgMjAwOSBvIC0gRCAzMSAyNCAwIC0KLSBaIEFzaWEvRGhha2EgNjoxOjQwIC0gTE1UIDE4OTAKLSA1OjUzOjIwIC0gSE1UIDE5NDEgTwotIDY6MzAgLSArMDYzMCAxOTQyIE1heSAxNQotIDU6MzAgLSArMDUzMCAxOTQyIFMKLSA2OjMwIC0gKzA2MzAgMTk1MSBTIDMwCi0gNiAtICswNiAyMDA5Ci0tNiBQICswNi8rMDcKLSs2IEJEICswNi8rMDcKLSBaIEFzaWEvVGhpbXBodSA1OjU4OjM2IC0gTE1UIDE5NDcgQXUgMTUKLSA1OjMwIC0gKzA1MzAgMTk4NyBPCi0gNiAtICswNgotQEAgLTM2NiwxMDMgKzM2NiwxMjcgQEAgWiBBc2lhL1lhbmdvbiA2OjI0OjQ3IC0gTE1UIDE4ODAKLSA2OjMwIC0gKzA2MzAgMTk0MiBNYXkKLSA5IC0gKzA5IDE5NDUgTWF5IDMKLSA2OjMwIC0gKzA2MzAKLS1SIFEgMTk0MCBvIC0gSnVuIDMgMCAxIEQKLS1SIFEgMTk0MCAxOTQxIC0gTyAxIDAgMCBTCi0tUiBRIDE5NDEgbyAtIE1hciAxNiAwIDEgRAotLVIgUiAxOTg2IG8gLSBNYXkgNCAwIDEgRAotLVIgUiAxOTg2IDE5OTEgLSBTIFN1bj49MTEgMCAwIFMKLS1SIFIgMTk4NyAxOTkxIC0gQXAgU3VuPj0xMCAwIDEgRAotK1IgU2ggMTk0MCBvIC0gSnVuIDEgMCAxIEQKLStSIFNoIDE5NDAgbyAtIE8gMTIgMjQgMCBTCi0rUiBTaCAxOTQxIG8gLSBNYXIgMTUgMCAxIEQKLStSIFNoIDE5NDEgbyAtIE4gMSAyNCAwIFMKLStSIFNoIDE5NDIgbyAtIEphIDMxIDAgMSBECi0rUiBTaCAxOTQ1IG8gLSBTIDEgMjQgMCBTCi0rUiBTaCAxOTQ2IG8gLSBNYXkgMTUgMCAxIEQKLStSIFNoIDE5NDYgbyAtIFMgMzAgMjQgMCBTCi0rUiBTaCAxOTQ3IG8gLSBBcCAxNSAwIDEgRAotK1IgU2ggMTk0NyBvIC0gTyAzMSAyNCAwIFMKLStSIFNoIDE5NDggMTk0OSAtIE1heSAxIDAgMSBECi0rUiBTaCAxOTQ4IDE5NDkgLSBTIDMwIDI0IDAgUwotK1IgQ04gMTk4NiBvIC0gTWF5IDQgMiAxIEQKLStSIENOIDE5ODYgMTk5MSAtIFMgU3VuPj0xMSAyIDAgUwotK1IgQ04gMTk4NyAxOTkxIC0gQXAgU3VuPj0xMSAyIDEgRAotIFogQXNpYS9TaGFuZ2hhaSA4OjU6NDMgLSBMTVQgMTkwMQotLTggUSBDJXNUIDE5NDkKLS04IFIgQyVzVAotKzggU2ggQyVzVCAxOTQ5IE1heSAyOAotKzggQ04gQyVzVAotIFogQXNpYS9VcnVtcWkgNTo1MDoyMCAtIExNVCAxOTI4Ci0gNiAtICswNgotLVIgUyAxOTQxIG8gLSBBcCAxIDM6MzAgMSBTCi0tUiBTIDE5NDEgbyAtIFMgMzAgMzozMCAwIC0KLS1SIFMgMTk0NiBvIC0gQXAgMjAgMzozMCAxIFMKLS1SIFMgMTk0NiBvIC0gRCAxIDM6MzAgMCAtCi0tUiBTIDE5NDcgbyAtIEFwIDEzIDM6MzAgMSBTCi0tUiBTIDE5NDcgbyAtIEQgMzAgMzozMCAwIC0KLS1SIFMgMTk0OCBvIC0gTWF5IDIgMzozMCAxIFMKLS1SIFMgMTk0OCAxOTUxIC0gTyBsYXN0U3VuIDM6MzAgMCAtCi0tUiBTIDE5NTIgbyAtIE8gMjUgMzozMCAwIC0KLS1SIFMgMTk0OSAxOTUzIC0gQXAgU3VuPj0xIDM6MzAgMSBTCi0tUiBTIDE5NTMgbyAtIE4gMSAzOjMwIDAgLQotLVIgUyAxOTU0IDE5NjQgLSBNYXIgU3VuPj0xOCAzOjMwIDEgUwotLVIgUyAxOTU0IG8gLSBPIDMxIDM6MzAgMCAtCi0tUiBTIDE5NTUgMTk2NCAtIE4gU3VuPj0xIDM6MzAgMCAtCi0tUiBTIDE5NjUgMTk3NiAtIEFwIFN1bj49MTYgMzozMCAxIFMKLS1SIFMgMTk2NSAxOTc2IC0gTyBTdW4+PTE2IDM6MzAgMCAtCi0tUiBTIDE5NzMgbyAtIEQgMzAgMzozMCAxIFMKLS1SIFMgMTk3OSBvIC0gTWF5IFN1bj49OCAzOjMwIDEgUwotLVIgUyAxOTc5IG8gLSBPIFN1bj49MTYgMzozMCAwIC0KLStSIEhLIDE5NDEgbyAtIEFwIDEgMzozMCAxIFMKLStSIEhLIDE5NDEgbyAtIFMgMzAgMzozMCAwIC0KLStSIEhLIDE5NDYgbyAtIEFwIDIwIDM6MzAgMSBTCi0rUiBISyAxOTQ2IG8gLSBEIDEgMzozMCAwIC0KLStSIEhLIDE5NDcgbyAtIEFwIDEzIDM6MzAgMSBTCi0rUiBISyAxOTQ3IG8gLSBEIDMwIDM6MzAgMCAtCi0rUiBISyAxOTQ4IG8gLSBNYXkgMiAzOjMwIDEgUwotK1IgSEsgMTk0OCAxOTUxIC0gTyBsYXN0U3VuIDM6MzAgMCAtCi0rUiBISyAxOTUyIG8gLSBPIDI1IDM6MzAgMCAtCi0rUiBISyAxOTQ5IDE5NTMgLSBBcCBTdW4+PTEgMzozMCAxIFMKLStSIEhLIDE5NTMgbyAtIE4gMSAzOjMwIDAgLQotK1IgSEsgMTk1NCAxOTY0IC0gTWFyIFN1bj49MTggMzozMCAxIFMKLStSIEhLIDE5NTQgbyAtIE8gMzEgMzozMCAwIC0KLStSIEhLIDE5NTUgMTk2NCAtIE4gU3VuPj0xIDM6MzAgMCAtCi0rUiBISyAxOTY1IDE5NzYgLSBBcCBTdW4+PTE2IDM6MzAgMSBTCi0rUiBISyAxOTY1IDE5NzYgLSBPIFN1bj49MTYgMzozMCAwIC0KLStSIEhLIDE5NzMgbyAtIEQgMzAgMzozMCAxIFMKLStSIEhLIDE5NzkgbyAtIE1heSBTdW4+PTggMzozMCAxIFMKLStSIEhLIDE5NzkgbyAtIE8gU3VuPj0xNiAzOjMwIDAgLQotIFogQXNpYS9Ib25nX0tvbmcgNzozNjo0MiAtIExNVCAxOTA0IE8gMzAKLS04IFMgSEslc1QgMTk0MSBEIDI1Ci0rOCBISyBISyVzVCAxOTQxIEQgMjUKLSA5IC0gSlNUIDE5NDUgUyAxNQotLTggUyBISyVzVAotLVIgVCAxOTQ2IG8gLSBNYXkgMTUgMCAxIEQKLS1SIFQgMTk0NiBvIC0gTyAxIDAgMCBTCi0tUiBUIDE5NDcgbyAtIEFwIDE1IDAgMSBECi0tUiBUIDE5NDcgbyAtIE4gMSAwIDAgUwotLVIgVCAxOTQ4IDE5NTEgLSBNYXkgMSAwIDEgRAotLVIgVCAxOTQ4IDE5NTEgLSBPIDEgMCAwIFMKLS1SIFQgMTk1MiBvIC0gTWFyIDEgMCAxIEQKLS1SIFQgMTk1MiAxOTU0IC0gTiAxIDAgMCBTCi0tUiBUIDE5NTMgMTk1OSAtIEFwIDEgMCAxIEQKLS1SIFQgMTk1NSAxOTYxIC0gTyAxIDAgMCBTCi0tUiBUIDE5NjAgMTk2MSAtIEp1biAxIDAgMSBECi0tUiBUIDE5NzQgMTk3NSAtIEFwIDEgMCAxIEQKLS1SIFQgMTk3NCAxOTc1IC0gTyAxIDAgMCBTCi0tUiBUIDE5NzkgbyAtIEp1bCAxIDAgMSBECi0tUiBUIDE5NzkgbyAtIE8gMSAwIDAgUwotKzggSEsgSEslc1QKLStSIGYgMTk0NiBvIC0gTWF5IDE1IDAgMSBECi0rUiBmIDE5NDYgbyAtIE8gMSAwIDAgUwotK1IgZiAxOTQ3IG8gLSBBcCAxNSAwIDEgRAotK1IgZiAxOTQ3IG8gLSBOIDEgMCAwIFMKLStSIGYgMTk0OCAxOTUxIC0gTWF5IDEgMCAxIEQKLStSIGYgMTk0OCAxOTUxIC0gTyAxIDAgMCBTCi0rUiBmIDE5NTIgbyAtIE1hciAxIDAgMSBECi0rUiBmIDE5NTIgMTk1NCAtIE4gMSAwIDAgUwotK1IgZiAxOTUzIDE5NTkgLSBBcCAxIDAgMSBECi0rUiBmIDE5NTUgMTk2MSAtIE8gMSAwIDAgUwotK1IgZiAxOTYwIDE5NjEgLSBKdW4gMSAwIDEgRAotK1IgZiAxOTc0IDE5NzUgLSBBcCAxIDAgMSBECi0rUiBmIDE5NzQgMTk3NSAtIE8gMSAwIDAgUwotK1IgZiAxOTc5IG8gLSBKdWwgMSAwIDEgRAotK1IgZiAxOTc5IG8gLSBPIDEgMCAwIFMKLSBaIEFzaWEvVGFpcGVpIDg6NiAtIExNVCAxODk2Ci0gOCAtIENTVCAxOTM3IE8KLSA5IC0gSlNUIDE5NDUgUyAyMSAxCi0tOCBUIEMlc1QKLS1SIFUgMTk2MSAxOTYyIC0gTWFyIFN1bj49MTYgMzozMCAxIEQKLS1SIFUgMTk2MSAxOTY0IC0gTiBTdW4+PTEgMzozMCAwIFMKLS1SIFUgMTk2MyBvIC0gTWFyIFN1bj49MTYgMCAxIEQKLS1SIFUgMTk2NCBvIC0gTWFyIFN1bj49MTYgMzozMCAxIEQKLS1SIFUgMTk2NSBvIC0gTWFyIFN1bj49MTYgMCAxIEQKLS1SIFUgMTk2NSBvIC0gTyAzMSAwIDAgUwotLVIgVSAxOTY2IDE5NzEgLSBBcCBTdW4+PTE2IDM6MzAgMSBECi0tUiBVIDE5NjYgMTk3MSAtIE8gU3VuPj0xNiAzOjMwIDAgUwotLVIgVSAxOTcyIDE5NzQgLSBBcCBTdW4+PTE1IDAgMSBECi0tUiBVIDE5NzIgMTk3MyAtIE8gU3VuPj0xNSAwIDAgUwotLVIgVSAxOTc0IDE5NzcgLSBPIFN1bj49MTUgMzozMCAwIFMKLS1SIFUgMTk3NSAxOTc3IC0gQXAgU3VuPj0xNSAzOjMwIDEgRAotLVIgVSAxOTc4IDE5ODAgLSBBcCBTdW4+PTE1IDAgMSBECi0tUiBVIDE5NzggMTk4MCAtIE8gU3VuPj0xNSAwIDAgUwotLVogQXNpYS9NYWNhdSA3OjM0OjIwIC0gTE1UIDE5MTEgRCAzMSAxNnUKLS04IFUgQyVzVAotLVIgViAxOTc1IG8gLSBBcCAxMyAwIDEgUwotLVIgViAxOTc1IG8gLSBPIDEyIDAgMCAtCi0tUiBWIDE5NzYgbyAtIE1heSAxNSAwIDEgUwotLVIgViAxOTc2IG8gLSBPIDExIDAgMCAtCi0tUiBWIDE5NzcgMTk4MCAtIEFwIFN1bj49MSAwIDEgUwotLVIgViAxOTc3IG8gLSBTIDI1IDAgMCAtCi0tUiBWIDE5NzggbyAtIE8gMiAwIDAgLQotLVIgViAxOTc5IDE5OTcgLSBTIGxhc3RTdW4gMCAwIC0KLS1SIFYgMTk4MSAxOTk4IC0gTWFyIGxhc3RTdW4gMCAxIFMKLSs4IGYgQyVzVAotK1IgXyAxOTQyIDE5NDMgLSBBcCAzMCAyMyAxIC0KLStSIF8gMTk0MiBvIC0gTiAxNyAyMyAwIC0KLStSIF8gMTk0MyBvIC0gUyAzMCAyMyAwIFMKLStSIF8gMTk0NiBvIC0gQXAgMzAgMjNzIDEgRAotK1IgXyAxOTQ2IG8gLSBTIDMwIDIzcyAwIFMKLStSIF8gMTk0NyBvIC0gQXAgMTkgMjNzIDEgRAotK1IgXyAxOTQ3IG8gLSBOIDMwIDIzcyAwIFMKLStSIF8gMTk0OCBvIC0gTWF5IDIgMjNzIDEgRAotK1IgXyAxOTQ4IG8gLSBPIDMxIDIzcyAwIFMKLStSIF8gMTk0OSAxOTUwIC0gQXAgU2F0Pj0xIDIzcyAxIEQKLStSIF8gMTk0OSAxOTUwIC0gTyBsYXN0U2F0IDIzcyAwIFMKLStSIF8gMTk1MSBvIC0gTWFyIDMxIDIzcyAxIEQKLStSIF8gMTk1MSBvIC0gTyAyOCAyM3MgMCBTCi0rUiBfIDE5NTIgMTk1MyAtIEFwIFNhdD49MSAyM3MgMSBECi0rUiBfIDE5NTIgbyAtIE4gMSAyM3MgMCBTCi0rUiBfIDE5NTMgMTk1NCAtIE8gbGFzdFNhdCAyM3MgMCBTCi0rUiBfIDE5NTQgMTk1NiAtIE1hciBTYXQ+PTE3IDIzcyAxIEQKLStSIF8gMTk1NSBvIC0gTiA1IDIzcyAwIFMKLStSIF8gMTk1NiAxOTY0IC0gTiBTdW4+PTEgMzozMCAwIFMKLStSIF8gMTk1NyAxOTY0IC0gTWFyIFN1bj49MTggMzozMCAxIEQKLStSIF8gMTk2NSAxOTczIC0gQXAgU3VuPj0xNiAzOjMwIDEgRAotK1IgXyAxOTY1IDE5NjYgLSBPIFN1bj49MTYgMjozMCAwIFMKLStSIF8gMTk2NyAxOTc2IC0gTyBTdW4+PTE2IDM6MzAgMCBTCi0rUiBfIDE5NzMgbyAtIEQgMzAgMzozMCAxIEQKLStSIF8gMTk3NSAxOTc2IC0gQXAgU3VuPj0xNiAzOjMwIDEgRAotK1IgXyAxOTc5IG8gLSBNYXkgMTMgMzozMCAxIEQKLStSIF8gMTk3OSBvIC0gTyBTdW4+PTE2IDM6MzAgMCBTCi0rWiBBc2lhL01hY2F1IDc6MzQ6MTAgLSBMTVQgMTkwNCBPIDMwCi0rOCAtIENTVCAxOTQxIEQgMjEgMjMKLSs5IF8gKzA5LysxMCAxOTQ1IFMgMzAgMjQKLSs4IF8gQyVzVAotK1IgQ1kgMTk3NSBvIC0gQXAgMTMgMCAxIFMKLStSIENZIDE5NzUgbyAtIE8gMTIgMCAwIC0KLStSIENZIDE5NzYgbyAtIE1heSAxNSAwIDEgUwotK1IgQ1kgMTk3NiBvIC0gTyAxMSAwIDAgLQotK1IgQ1kgMTk3NyAxOTgwIC0gQXAgU3VuPj0xIDAgMSBTCi0rUiBDWSAxOTc3IG8gLSBTIDI1IDAgMCAtCi0rUiBDWSAxOTc4IG8gLSBPIDIgMCAwIC0KLStSIENZIDE5NzkgMTk5NyAtIFMgbGFzdFN1biAwIDAgLQotK1IgQ1kgMTk4MSAxOTk4IC0gTWFyIGxhc3RTdW4gMCAxIFMKLSBaIEFzaWEvTmljb3NpYSAyOjEzOjI4IC0gTE1UIDE5MjEgTiAxNAotLTIgViBFRSVzVCAxOTk4IFMKLS0yIE8gRUUlc1QKLSsyIENZIEVFJXNUIDE5OTggUwotKzIgRSBFRSVzVAotIFogQXNpYS9GYW1hZ3VzdGEgMjoxNTo0OCAtIExNVCAxOTIxIE4gMTQKLS0yIFYgRUUlc1QgMTk5OCBTCi0tMiBPIEVFJXNUIDIwMTYgUyA4Ci0rMiBDWSBFRSVzVCAxOTk4IFMKLSsyIEUgRUUlc1QgMjAxNiBTIDgKLSAzIC0gKzAzIDIwMTcgTyAyOSAxdQotLTIgTyBFRSVzVAotKzIgRSBFRSVzVAotIExpIEFzaWEvTmljb3NpYSBFdXJvcGUvTmljb3NpYQotIFogQXNpYS9UYmlsaXNpIDI6NTk6MTEgLSBMTVQgMTg4MAotIDI6NTk6MTEgLSBUQk1UIDE5MjQgTWF5IDIKLSAzIC0gKzAzIDE5NTcgTWFyCi0tNCBNICswNC8rMDUgMTk5MSBNYXIgMzEgMnMKLS0zIE0gKzAzLyswNCAxOTkyCi0tMyBXICswMy8rMDQgMTk5NCBTIGxhc3RTdW4KLS00IFcgKzA0LyswNSAxOTk2IE8gbGFzdFN1bgotKzQgUiArMDQvKzA1IDE5OTEgTWFyIDMxIDJzCi0rMyBSICswMy8rMDQgMTk5MgotKzMgZSArMDMvKzA0IDE5OTQgUyBsYXN0U3VuCi0rNCBlICswNC8rMDUgMTk5NiBPIGxhc3RTdW4KLSA0IDEgKzA1IDE5OTcgTWFyIGxhc3RTdW4KLS00IFcgKzA0LyswNSAyMDA0IEp1biAyNwotLTMgTSArMDMvKzA0IDIwMDUgTWFyIGxhc3RTdW4gMgotKzQgZSArMDQvKzA1IDIwMDQgSnVuIDI3Ci0rMyBSICswMy8rMDQgMjAwNSBNYXIgbGFzdFN1biAyCi0gNCAtICswNAotIFogQXNpYS9EaWxpIDg6MjI6MjAgLSBMTVQgMTkxMgotIDggLSArMDggMTk0MiBGIDIxIDIzCi1AQCAtNTA0LDcyICs1MjgsNzIgQEAgWiBBc2lhL0pheWFwdXJhIDk6MjI6NDggLSBMTVQgMTkzMiBOCi0gOSAtICswOSAxOTQ0IFMKLSA5OjMwIC0gKzA5MzAgMTk2NAotIDkgLSBXSVQKLS1SIFggMTk3OCAxOTgwIC0gTWFyIDIxIDAgMSAtCi0tUiBYIDE5NzggbyAtIE8gMjEgMCAwIC0KLS1SIFggMTk3OSBvIC0gUyAxOSAwIDAgLQotLVIgWCAxOTgwIG8gLSBTIDIzIDAgMCAtCi0tUiBYIDE5OTEgbyAtIE1heSAzIDAgMSAtCi0tUiBYIDE5OTIgMTk5NSAtIE1hciAyMiAwIDEgLQotLVIgWCAxOTkxIDE5OTUgLSBTIDIyIDAgMCAtCi0tUiBYIDE5OTYgbyAtIE1hciAyMSAwIDEgLQotLVIgWCAxOTk2IG8gLSBTIDIxIDAgMCAtCi0tUiBYIDE5OTcgMTk5OSAtIE1hciAyMiAwIDEgLQotLVIgWCAxOTk3IDE5OTkgLSBTIDIyIDAgMCAtCi0tUiBYIDIwMDAgbyAtIE1hciAyMSAwIDEgLQotLVIgWCAyMDAwIG8gLSBTIDIxIDAgMCAtCi0tUiBYIDIwMDEgMjAwMyAtIE1hciAyMiAwIDEgLQotLVIgWCAyMDAxIDIwMDMgLSBTIDIyIDAgMCAtCi0tUiBYIDIwMDQgbyAtIE1hciAyMSAwIDEgLQotLVIgWCAyMDA0IG8gLSBTIDIxIDAgMCAtCi0tUiBYIDIwMDUgbyAtIE1hciAyMiAwIDEgLQotLVIgWCAyMDA1IG8gLSBTIDIyIDAgMCAtCi0tUiBYIDIwMDggbyAtIE1hciAyMSAwIDEgLQotLVIgWCAyMDA4IG8gLSBTIDIxIDAgMCAtCi0tUiBYIDIwMDkgMjAxMSAtIE1hciAyMiAwIDEgLQotLVIgWCAyMDA5IDIwMTEgLSBTIDIyIDAgMCAtCi0tUiBYIDIwMTIgbyAtIE1hciAyMSAwIDEgLQotLVIgWCAyMDEyIG8gLSBTIDIxIDAgMCAtCi0tUiBYIDIwMTMgMjAxNSAtIE1hciAyMiAwIDEgLQotLVIgWCAyMDEzIDIwMTUgLSBTIDIyIDAgMCAtCi0tUiBYIDIwMTYgbyAtIE1hciAyMSAwIDEgLQotLVIgWCAyMDE2IG8gLSBTIDIxIDAgMCAtCi0tUiBYIDIwMTcgMjAxOSAtIE1hciAyMiAwIDEgLQotLVIgWCAyMDE3IDIwMTkgLSBTIDIyIDAgMCAtCi0tUiBYIDIwMjAgbyAtIE1hciAyMSAwIDEgLQotLVIgWCAyMDIwIG8gLSBTIDIxIDAgMCAtCi0tUiBYIDIwMjEgMjAyMyAtIE1hciAyMiAwIDEgLQotLVIgWCAyMDIxIDIwMjMgLSBTIDIyIDAgMCAtCi0tUiBYIDIwMjQgbyAtIE1hciAyMSAwIDEgLQotLVIgWCAyMDI0IG8gLSBTIDIxIDAgMCAtCi0tUiBYIDIwMjUgMjAyNyAtIE1hciAyMiAwIDEgLQotLVIgWCAyMDI1IDIwMjcgLSBTIDIyIDAgMCAtCi0tUiBYIDIwMjggMjAyOSAtIE1hciAyMSAwIDEgLQotLVIgWCAyMDI4IDIwMjkgLSBTIDIxIDAgMCAtCi0tUiBYIDIwMzAgMjAzMSAtIE1hciAyMiAwIDEgLQotLVIgWCAyMDMwIDIwMzEgLSBTIDIyIDAgMCAtCi0tUiBYIDIwMzIgMjAzMyAtIE1hciAyMSAwIDEgLQotLVIgWCAyMDMyIDIwMzMgLSBTIDIxIDAgMCAtCi0tUiBYIDIwMzQgMjAzNSAtIE1hciAyMiAwIDEgLQotLVIgWCAyMDM0IDIwMzUgLSBTIDIyIDAgMCAtCi0tUiBYIDIwMzYgbWEgLSBNYXIgMjEgMCAxIC0KLS1SIFggMjAzNiBtYSAtIFMgMjEgMCAwIC0KLStSIGkgMTk3OCAxOTgwIC0gTWFyIDIxIDAgMSAtCi0rUiBpIDE5NzggbyAtIE8gMjEgMCAwIC0KLStSIGkgMTk3OSBvIC0gUyAxOSAwIDAgLQotK1IgaSAxOTgwIG8gLSBTIDIzIDAgMCAtCi0rUiBpIDE5OTEgbyAtIE1heSAzIDAgMSAtCi0rUiBpIDE5OTIgMTk5NSAtIE1hciAyMiAwIDEgLQotK1IgaSAxOTkxIDE5OTUgLSBTIDIyIDAgMCAtCi0rUiBpIDE5OTYgbyAtIE1hciAyMSAwIDEgLQotK1IgaSAxOTk2IG8gLSBTIDIxIDAgMCAtCi0rUiBpIDE5OTcgMTk5OSAtIE1hciAyMiAwIDEgLQotK1IgaSAxOTk3IDE5OTkgLSBTIDIyIDAgMCAtCi0rUiBpIDIwMDAgbyAtIE1hciAyMSAwIDEgLQotK1IgaSAyMDAwIG8gLSBTIDIxIDAgMCAtCi0rUiBpIDIwMDEgMjAwMyAtIE1hciAyMiAwIDEgLQotK1IgaSAyMDAxIDIwMDMgLSBTIDIyIDAgMCAtCi0rUiBpIDIwMDQgbyAtIE1hciAyMSAwIDEgLQotK1IgaSAyMDA0IG8gLSBTIDIxIDAgMCAtCi0rUiBpIDIwMDUgbyAtIE1hciAyMiAwIDEgLQotK1IgaSAyMDA1IG8gLSBTIDIyIDAgMCAtCi0rUiBpIDIwMDggbyAtIE1hciAyMSAwIDEgLQotK1IgaSAyMDA4IG8gLSBTIDIxIDAgMCAtCi0rUiBpIDIwMDkgMjAxMSAtIE1hciAyMiAwIDEgLQotK1IgaSAyMDA5IDIwMTEgLSBTIDIyIDAgMCAtCi0rUiBpIDIwMTIgbyAtIE1hciAyMSAwIDEgLQotK1IgaSAyMDEyIG8gLSBTIDIxIDAgMCAtCi0rUiBpIDIwMTMgMjAxNSAtIE1hciAyMiAwIDEgLQotK1IgaSAyMDEzIDIwMTUgLSBTIDIyIDAgMCAtCi0rUiBpIDIwMTYgbyAtIE1hciAyMSAwIDEgLQotK1IgaSAyMDE2IG8gLSBTIDIxIDAgMCAtCi0rUiBpIDIwMTcgMjAxOSAtIE1hciAyMiAwIDEgLQotK1IgaSAyMDE3IDIwMTkgLSBTIDIyIDAgMCAtCi0rUiBpIDIwMjAgbyAtIE1hciAyMSAwIDEgLQotK1IgaSAyMDIwIG8gLSBTIDIxIDAgMCAtCi0rUiBpIDIwMjEgMjAyMyAtIE1hciAyMiAwIDEgLQotK1IgaSAyMDIxIDIwMjMgLSBTIDIyIDAgMCAtCi0rUiBpIDIwMjQgbyAtIE1hciAyMSAwIDEgLQotK1IgaSAyMDI0IG8gLSBTIDIxIDAgMCAtCi0rUiBpIDIwMjUgMjAyNyAtIE1hciAyMiAwIDEgLQotK1IgaSAyMDI1IDIwMjcgLSBTIDIyIDAgMCAtCi0rUiBpIDIwMjggMjAyOSAtIE1hciAyMSAwIDEgLQotK1IgaSAyMDI4IDIwMjkgLSBTIDIxIDAgMCAtCi0rUiBpIDIwMzAgMjAzMSAtIE1hciAyMiAwIDEgLQotK1IgaSAyMDMwIDIwMzEgLSBTIDIyIDAgMCAtCi0rUiBpIDIwMzIgMjAzMyAtIE1hciAyMSAwIDEgLQotK1IgaSAyMDMyIDIwMzMgLSBTIDIxIDAgMCAtCi0rUiBpIDIwMzQgMjAzNSAtIE1hciAyMiAwIDEgLQotK1IgaSAyMDM0IDIwMzUgLSBTIDIyIDAgMCAtCi0rUiBpIDIwMzYgbWEgLSBNYXIgMjEgMCAxIC0KLStSIGkgMjAzNiBtYSAtIFMgMjEgMCAwIC0KLSBaIEFzaWEvVGVocmFuIDM6MjU6NDQgLSBMTVQgMTkxNgotIDM6MjU6NDQgLSBUTVQgMTk0NgotIDM6MzAgLSArMDMzMCAxOTc3IE4KLS00IFggKzA0LyswNSAxOTc5Ci0tMzozMCBYICswMzMwLyswNDMwCi0tUiBZIDE5ODIgbyAtIE1heSAxIDAgMSAtCi0tUiBZIDE5ODIgMTk4NCAtIE8gMSAwIDAgLQotLVIgWSAxOTgzIG8gLSBNYXIgMzEgMCAxIC0KLS1SIFkgMTk4NCAxOTg1IC0gQXAgMSAwIDEgLQotLVIgWSAxOTg1IDE5OTAgLSBTIGxhc3RTdW4gMXMgMCAtCi0tUiBZIDE5ODYgMTk5MCAtIE1hciBsYXN0U3VuIDFzIDEgLQotLVIgWSAxOTkxIDIwMDcgLSBBcCAxIDNzIDEgLQotLVIgWSAxOTkxIDIwMDcgLSBPIDEgM3MgMCAtCi0rNCBpICswNC8rMDUgMTk3OQotKzM6MzAgaSArMDMzMC8rMDQzMAotK1IgSVEgMTk4MiBvIC0gTWF5IDEgMCAxIC0KLStSIElRIDE5ODIgMTk4NCAtIE8gMSAwIDAgLQotK1IgSVEgMTk4MyBvIC0gTWFyIDMxIDAgMSAtCi0rUiBJUSAxOTg0IDE5ODUgLSBBcCAxIDAgMSAtCi0rUiBJUSAxOTg1IDE5OTAgLSBTIGxhc3RTdW4gMXMgMCAtCi0rUiBJUSAxOTg2IDE5OTAgLSBNYXIgbGFzdFN1biAxcyAxIC0KLStSIElRIDE5OTEgMjAwNyAtIEFwIDEgM3MgMSAtCi0rUiBJUSAxOTkxIDIwMDcgLSBPIDEgM3MgMCAtCi0gWiBBc2lhL0JhZ2hkYWQgMjo1Nzo0MCAtIExNVCAxODkwCi0gMjo1NzozNiAtIEJNVCAxOTE4Ci0gMyAtICswMyAxOTgyIE1heQotLTMgWSArMDMvKzA0Ci0rMyBJUSArMDMvKzA0Ci0gUiBaIDE5NDAgbyAtIEp1biAxIDAgMSBECi0gUiBaIDE5NDIgMTk0NCAtIE4gMSAwIDAgUwotIFIgWiAxOTQzIG8gLSBBcCAxIDIgMSBECi1AQCAtNjU5LDE2MyArNjgzLDE2MyBAQCBSIFogMjAxMyBtYSAtIE8gbGFzdFN1biAyIDAgUwotIFogQXNpYS9KZXJ1c2FsZW0gMjoyMDo1NCAtIExNVCAxODgwCi0gMjoyMDo0MCAtIEpNVCAxOTE4Ci0gMiBaIEklc1QKLS1SIGEgMTk0OCBvIC0gTWF5IFNhdD49MSAyNCAxIEQKLS1SIGEgMTk0OCAxOTUxIC0gUyBTdW4+PTkgMCAwIFMKLS1SIGEgMTk0OSBvIC0gQXAgU2F0Pj0xIDI0IDEgRAotLVIgYSAxOTUwIDE5NTEgLSBNYXkgU2F0Pj0xIDI0IDEgRAotK1IgSlAgMTk0OCBvIC0gTWF5IFNhdD49MSAyNCAxIEQKLStSIEpQIDE5NDggMTk1MSAtIFMgU2F0Pj04IDI1IDAgUwotK1IgSlAgMTk0OSBvIC0gQXAgU2F0Pj0xIDI0IDEgRAotK1IgSlAgMTk1MCAxOTUxIC0gTWF5IFNhdD49MSAyNCAxIEQKLSBaIEFzaWEvVG9reW8gOToxODo1OSAtIExNVCAxODg3IEQgMzEgMTV1Ci0tOSBhIEolc1QKLS1SIGIgMTk3MyBvIC0gSnVuIDYgMCAxIFMKLS1SIGIgMTk3MyAxOTc1IC0gTyAxIDAgMCAtCi0tUiBiIDE5NzQgMTk3NyAtIE1heSAxIDAgMSBTCi0tUiBiIDE5NzYgbyAtIE4gMSAwIDAgLQotLVIgYiAxOTc3IG8gLSBPIDEgMCAwIC0KLS1SIGIgMTk3OCBvIC0gQXAgMzAgMCAxIFMKLS1SIGIgMTk3OCBvIC0gUyAzMCAwIDAgLQotLVIgYiAxOTg1IG8gLSBBcCAxIDAgMSBTCi0tUiBiIDE5ODUgbyAtIE8gMSAwIDAgLQotLVIgYiAxOTg2IDE5ODggLSBBcCBGPj0xIDAgMSBTCi0tUiBiIDE5ODYgMTk5MCAtIE8gRj49MSAwIDAgLQotLVIgYiAxOTg5IG8gLSBNYXkgOCAwIDEgUwotLVIgYiAxOTkwIG8gLSBBcCAyNyAwIDEgUwotLVIgYiAxOTkxIG8gLSBBcCAxNyAwIDEgUwotLVIgYiAxOTkxIG8gLSBTIDI3IDAgMCAtCi0tUiBiIDE5OTIgbyAtIEFwIDEwIDAgMSBTCi0tUiBiIDE5OTIgMTk5MyAtIE8gRj49MSAwIDAgLQotLVIgYiAxOTkzIDE5OTggLSBBcCBGPj0xIDAgMSBTCi0tUiBiIDE5OTQgbyAtIFMgRj49MTUgMCAwIC0KLS1SIGIgMTk5NSAxOTk4IC0gUyBGPj0xNSAwcyAwIC0KLS1SIGIgMTk5OSBvIC0gSnVsIDEgMHMgMSBTCi0tUiBiIDE5OTkgMjAwMiAtIFMgbGFzdEYgMHMgMCAtCi0tUiBiIDIwMDAgMjAwMSAtIE1hciBsYXN0VGggMHMgMSBTCi0tUiBiIDIwMDIgMjAxMiAtIE1hciBsYXN0VGggMjQgMSBTCi0tUiBiIDIwMDMgbyAtIE8gMjQgMHMgMCAtCi0tUiBiIDIwMDQgbyAtIE8gMTUgMHMgMCAtCi0tUiBiIDIwMDUgbyAtIFMgbGFzdEYgMHMgMCAtCi0tUiBiIDIwMDYgMjAxMSAtIE8gbGFzdEYgMHMgMCAtCi0tUiBiIDIwMTMgbyAtIEQgMjAgMCAwIC0KLS1SIGIgMjAxNCBtYSAtIE1hciBsYXN0VGggMjQgMSBTCi0tUiBiIDIwMTQgbWEgLSBPIGxhc3RGIDBzIDAgLQotKzkgSlAgSiVzVAotK1IgSiAxOTczIG8gLSBKdW4gNiAwIDEgUwotK1IgSiAxOTczIDE5NzUgLSBPIDEgMCAwIC0KLStSIEogMTk3NCAxOTc3IC0gTWF5IDEgMCAxIFMKLStSIEogMTk3NiBvIC0gTiAxIDAgMCAtCi0rUiBKIDE5NzcgbyAtIE8gMSAwIDAgLQotK1IgSiAxOTc4IG8gLSBBcCAzMCAwIDEgUwotK1IgSiAxOTc4IG8gLSBTIDMwIDAgMCAtCi0rUiBKIDE5ODUgbyAtIEFwIDEgMCAxIFMKLStSIEogMTk4NSBvIC0gTyAxIDAgMCAtCi0rUiBKIDE5ODYgMTk4OCAtIEFwIEY+PTEgMCAxIFMKLStSIEogMTk4NiAxOTkwIC0gTyBGPj0xIDAgMCAtCi0rUiBKIDE5ODkgbyAtIE1heSA4IDAgMSBTCi0rUiBKIDE5OTAgbyAtIEFwIDI3IDAgMSBTCi0rUiBKIDE5OTEgbyAtIEFwIDE3IDAgMSBTCi0rUiBKIDE5OTEgbyAtIFMgMjcgMCAwIC0KLStSIEogMTk5MiBvIC0gQXAgMTAgMCAxIFMKLStSIEogMTk5MiAxOTkzIC0gTyBGPj0xIDAgMCAtCi0rUiBKIDE5OTMgMTk5OCAtIEFwIEY+PTEgMCAxIFMKLStSIEogMTk5NCBvIC0gUyBGPj0xNSAwIDAgLQotK1IgSiAxOTk1IDE5OTggLSBTIEY+PTE1IDBzIDAgLQotK1IgSiAxOTk5IG8gLSBKdWwgMSAwcyAxIFMKLStSIEogMTk5OSAyMDAyIC0gUyBsYXN0RiAwcyAwIC0KLStSIEogMjAwMCAyMDAxIC0gTWFyIGxhc3RUaCAwcyAxIFMKLStSIEogMjAwMiAyMDEyIC0gTWFyIGxhc3RUaCAyNCAxIFMKLStSIEogMjAwMyBvIC0gTyAyNCAwcyAwIC0KLStSIEogMjAwNCBvIC0gTyAxNSAwcyAwIC0KLStSIEogMjAwNSBvIC0gUyBsYXN0RiAwcyAwIC0KLStSIEogMjAwNiAyMDExIC0gTyBsYXN0RiAwcyAwIC0KLStSIEogMjAxMyBvIC0gRCAyMCAwIDAgLQotK1IgSiAyMDE0IG1hIC0gTWFyIGxhc3RUaCAyNCAxIFMKLStSIEogMjAxNCBtYSAtIE8gbGFzdEYgMHMgMCAtCi0gWiBBc2lhL0FtbWFuIDI6MjM6NDQgLSBMTVQgMTkzMQotLTIgYiBFRSVzVAotKzIgSiBFRSVzVAotIFogQXNpYS9BbG1hdHkgNTo3OjQ4IC0gTE1UIDE5MjQgTWF5IDIKLSA1IC0gKzA1IDE5MzAgSnVuIDIxCi0tNiBNICswNi8rMDcgMTk5MSBNYXIgMzEgMnMKLS01IE0gKzA1LyswNiAxOTkyIEphIDE5IDJzCi0tNiBNICswNi8rMDcgMjAwNCBPIDMxIDJzCi0rNiBSICswNi8rMDcgMTk5MSBNYXIgMzEgMnMKLSs1IFIgKzA1LyswNiAxOTkyIEphIDE5IDJzCi0rNiBSICswNi8rMDcgMjAwNCBPIDMxIDJzCi0gNiAtICswNgotIFogQXNpYS9ReXp5bG9yZGEgNDoyMTo1MiAtIExNVCAxOTI0IE1heSAyCi0gNCAtICswNCAxOTMwIEp1biAyMQotIDUgLSArMDUgMTk4MSBBcAotIDUgMSArMDYgMTk4MSBPCi0gNiAtICswNiAxOTgyIEFwCi0tNSBNICswNS8rMDYgMTk5MSBNYXIgMzEgMnMKLS00IE0gKzA0LyswNSAxOTkxIFMgMjkgMnMKLS01IE0gKzA1LyswNiAxOTkyIEphIDE5IDJzCi0tNiBNICswNi8rMDcgMTk5MiBNYXIgMjkgMnMKLS01IE0gKzA1LyswNiAyMDA0IE8gMzEgMnMKLSs1IFIgKzA1LyswNiAxOTkxIE1hciAzMSAycwotKzQgUiArMDQvKzA1IDE5OTEgUyAyOSAycwotKzUgUiArMDUvKzA2IDE5OTIgSmEgMTkgMnMKLSs2IFIgKzA2LyswNyAxOTkyIE1hciAyOSAycwotKzUgUiArMDUvKzA2IDIwMDQgTyAzMSAycwotIDYgLSArMDYKLSBaIEFzaWEvQXF0b2JlIDM6NDg6NDAgLSBMTVQgMTkyNCBNYXkgMgotIDQgLSArMDQgMTkzMCBKdW4gMjEKLSA1IC0gKzA1IDE5ODEgQXAKLSA1IDEgKzA2IDE5ODEgTwotIDYgLSArMDYgMTk4MiBBcAotLTUgTSArMDUvKzA2IDE5OTEgTWFyIDMxIDJzCi0tNCBNICswNC8rMDUgMTk5MiBKYSAxOSAycwotLTUgTSArMDUvKzA2IDIwMDQgTyAzMSAycwotKzUgUiArMDUvKzA2IDE5OTEgTWFyIDMxIDJzCi0rNCBSICswNC8rMDUgMTk5MiBKYSAxOSAycwotKzUgUiArMDUvKzA2IDIwMDQgTyAzMSAycwotIDUgLSArMDUKLSBaIEFzaWEvQXF0YXUgMzoyMTo0IC0gTE1UIDE5MjQgTWF5IDIKLSA0IC0gKzA0IDE5MzAgSnVuIDIxCi0gNSAtICswNSAxOTgxIE8KLSA2IC0gKzA2IDE5ODIgQXAKLS01IE0gKzA1LyswNiAxOTkxIE1hciAzMSAycwotLTQgTSArMDQvKzA1IDE5OTIgSmEgMTkgMnMKLS01IE0gKzA1LyswNiAxOTk0IFMgMjUgMnMKLS00IE0gKzA0LyswNSAyMDA0IE8gMzEgMnMKLSs1IFIgKzA1LyswNiAxOTkxIE1hciAzMSAycwotKzQgUiArMDQvKzA1IDE5OTIgSmEgMTkgMnMKLSs1IFIgKzA1LyswNiAxOTk0IFMgMjUgMnMKLSs0IFIgKzA0LyswNSAyMDA0IE8gMzEgMnMKLSA1IC0gKzA1Ci0gWiBBc2lhL0F0eXJhdSAzOjI3OjQ0IC0gTE1UIDE5MjQgTWF5IDIKLSAzIC0gKzAzIDE5MzAgSnVuIDIxCi0gNSAtICswNSAxOTgxIE8KLSA2IC0gKzA2IDE5ODIgQXAKLS01IE0gKzA1LyswNiAxOTkxIE1hciAzMSAycwotLTQgTSArMDQvKzA1IDE5OTIgSmEgMTkgMnMKLS01IE0gKzA1LyswNiAxOTk5IE1hciAyOCAycwotLTQgTSArMDQvKzA1IDIwMDQgTyAzMSAycwotKzUgUiArMDUvKzA2IDE5OTEgTWFyIDMxIDJzCi0rNCBSICswNC8rMDUgMTk5MiBKYSAxOSAycwotKzUgUiArMDUvKzA2IDE5OTkgTWFyIDI4IDJzCi0rNCBSICswNC8rMDUgMjAwNCBPIDMxIDJzCi0gNSAtICswNQotIFogQXNpYS9PcmFsIDM6MjU6MjQgLSBMTVQgMTkyNCBNYXkgMgotIDMgLSArMDMgMTkzMCBKdW4gMjEKLSA1IC0gKzA1IDE5ODEgQXAKLSA1IDEgKzA2IDE5ODEgTwotIDYgLSArMDYgMTk4MiBBcAotLTUgTSArMDUvKzA2IDE5ODkgTWFyIDI2IDJzCi0tNCBNICswNC8rMDUgMTk5MiBKYSAxOSAycwotLTUgTSArMDUvKzA2IDE5OTIgTWFyIDI5IDJzCi0tNCBNICswNC8rMDUgMjAwNCBPIDMxIDJzCi0rNSBSICswNS8rMDYgMTk4OSBNYXIgMjYgMnMKLSs0IFIgKzA0LyswNSAxOTkyIEphIDE5IDJzCi0rNSBSICswNS8rMDYgMTk5MiBNYXIgMjkgMnMKLSs0IFIgKzA0LyswNSAyMDA0IE8gMzEgMnMKLSA1IC0gKzA1Ci0tUiBjIDE5OTIgMTk5NiAtIEFwIFN1bj49NyAwcyAxIC0KLS1SIGMgMTk5MiAxOTk2IC0gUyBsYXN0U3VuIDAgMCAtCi0tUiBjIDE5OTcgMjAwNSAtIE1hciBsYXN0U3VuIDI6MzAgMSAtCi0tUiBjIDE5OTcgMjAwNCAtIE8gbGFzdFN1biAyOjMwIDAgLQotK1IgS0cgMTk5MiAxOTk2IC0gQXAgU3VuPj03IDBzIDEgLQotK1IgS0cgMTk5MiAxOTk2IC0gUyBsYXN0U3VuIDAgMCAtCi0rUiBLRyAxOTk3IDIwMDUgLSBNYXIgbGFzdFN1biAyOjMwIDEgLQotK1IgS0cgMTk5NyAyMDA0IC0gTyBsYXN0U3VuIDI6MzAgMCAtCi0gWiBBc2lhL0Jpc2hrZWsgNDo1ODoyNCAtIExNVCAxOTI0IE1heSAyCi0gNSAtICswNSAxOTMwIEp1biAyMQotLTYgTSArMDYvKzA3IDE5OTEgTWFyIDMxIDJzCi0tNSBNICswNS8rMDYgMTk5MSBBdSAzMSAyCi0tNSBjICswNS8rMDYgMjAwNSBBdSAxMgotKzYgUiArMDYvKzA3IDE5OTEgTWFyIDMxIDJzCi0rNSBSICswNS8rMDYgMTk5MSBBdSAzMSAyCi0rNSBLRyArMDUvKzA2IDIwMDUgQXUgMTIKLSA2IC0gKzA2Ci0tUiBkIDE5NDggbyAtIEp1biAxIDAgMSBECi0tUiBkIDE5NDggbyAtIFMgMTMgMCAwIFMKLS1SIGQgMTk0OSBvIC0gQXAgMyAwIDEgRAotLVIgZCAxOTQ5IDE5NTEgLSBTIFN1bj49OCAwIDAgUwotLVIgZCAxOTUwIG8gLSBBcCAxIDAgMSBECi0tUiBkIDE5NTEgbyAtIE1heSA2IDAgMSBECi0tUiBkIDE5NTUgbyAtIE1heSA1IDAgMSBECi0tUiBkIDE5NTUgbyAtIFMgOSAwIDAgUwotLVIgZCAxOTU2IG8gLSBNYXkgMjAgMCAxIEQKLS1SIGQgMTk1NiBvIC0gUyAzMCAwIDAgUwotLVIgZCAxOTU3IDE5NjAgLSBNYXkgU3VuPj0xIDAgMSBECi0tUiBkIDE5NTcgMTk2MCAtIFMgU3VuPj0xOCAwIDAgUwotLVIgZCAxOTg3IDE5ODggLSBNYXkgU3VuPj04IDIgMSBECi0tUiBkIDE5ODcgMTk4OCAtIE8gU3VuPj04IDMgMCBTCi0rUiBLUiAxOTQ4IG8gLSBKdW4gMSAwIDEgRAotK1IgS1IgMTk0OCBvIC0gUyAxMyAwIDAgUwotK1IgS1IgMTk0OSBvIC0gQXAgMyAwIDEgRAotK1IgS1IgMTk0OSAxOTUxIC0gUyBTdW4+PTggMCAwIFMKLStSIEtSIDE5NTAgbyAtIEFwIDEgMCAxIEQKLStSIEtSIDE5NTEgbyAtIE1heSA2IDAgMSBECi0rUiBLUiAxOTU1IG8gLSBNYXkgNSAwIDEgRAotK1IgS1IgMTk1NSBvIC0gUyA5IDAgMCBTCi0rUiBLUiAxOTU2IG8gLSBNYXkgMjAgMCAxIEQKLStSIEtSIDE5NTYgbyAtIFMgMzAgMCAwIFMKLStSIEtSIDE5NTcgMTk2MCAtIE1heSBTdW4+PTEgMCAxIEQKLStSIEtSIDE5NTcgMTk2MCAtIFMgU3VuPj0xOCAwIDAgUwotK1IgS1IgMTk4NyAxOTg4IC0gTWF5IFN1bj49OCAyIDEgRAotK1IgS1IgMTk4NyAxOTg4IC0gTyBTdW4+PTggMyAwIFMKLSBaIEFzaWEvU2VvdWwgODoyNzo1MiAtIExNVCAxOTA4IEFwCi0gODozMCAtIEtTVCAxOTEyCi0gOSAtIEpTVCAxOTQ1IFMgOAotIDkgLSBLU1QgMTk1NCBNYXIgMjEKLS04OjMwIGQgSyVzVCAxOTYxIEF1IDEwCi0tOSBkIEslc1QKLSs4OjMwIEtSIEslc1QgMTk2MSBBdSAxMAotKzkgS1IgSyVzVAotIFogQXNpYS9QeW9uZ3lhbmcgODoyMyAtIExNVCAxOTA4IEFwCi0gODozMCAtIEtTVCAxOTEyCi0gOSAtIEpTVCAxOTQ1IEF1IDI0Ci0gOSAtIEtTVCAyMDE1IEF1IDE1Ci0tODozMCAtIEtTVCAyMDE4IE1heSA1Ci0rODozMCAtIEtTVCAyMDE4IE1heSA0IDIzOjMwCi0gOSAtIEtTVAotLVIgZSAxOTIwIG8gLSBNYXIgMjggMCAxIFMKLS1SIGUgMTkyMCBvIC0gTyAyNSAwIDAgLQotLVIgZSAxOTIxIG8gLSBBcCAzIDAgMSBTCi0tUiBlIDE5MjEgbyAtIE8gMyAwIDAgLQotLVIgZSAxOTIyIG8gLSBNYXIgMjYgMCAxIFMKLS1SIGUgMTkyMiBvIC0gTyA4IDAgMCAtCi0tUiBlIDE5MjMgbyAtIEFwIDIyIDAgMSBTCi0tUiBlIDE5MjMgbyAtIFMgMTYgMCAwIC0KLS1SIGUgMTk1NyAxOTYxIC0gTWF5IDEgMCAxIFMKLS1SIGUgMTk1NyAxOTYxIC0gTyAxIDAgMCAtCi0tUiBlIDE5NzIgbyAtIEp1biAyMiAwIDEgUwotLVIgZSAxOTcyIDE5NzcgLSBPIDEgMCAwIC0KLS1SIGUgMTk3MyAxOTc3IC0gTWF5IDEgMCAxIFMKLS1SIGUgMTk3OCBvIC0gQXAgMzAgMCAxIFMKLS1SIGUgMTk3OCBvIC0gUyAzMCAwIDAgLQotLVIgZSAxOTg0IDE5ODcgLSBNYXkgMSAwIDEgUwotLVIgZSAxOTg0IDE5OTEgLSBPIDE2IDAgMCAtCi0tUiBlIDE5ODggbyAtIEp1biAxIDAgMSBTCi0tUiBlIDE5ODkgbyAtIE1heSAxMCAwIDEgUwotLVIgZSAxOTkwIDE5OTIgLSBNYXkgMSAwIDEgUwotLVIgZSAxOTkyIG8gLSBPIDQgMCAwIC0KLS1SIGUgMTk5MyBtYSAtIE1hciBsYXN0U3VuIDAgMSBTCi0tUiBlIDE5OTMgMTk5OCAtIFMgbGFzdFN1biAwIDAgLQotLVIgZSAxOTk5IG1hIC0gTyBsYXN0U3VuIDAgMCAtCi0rUiBsIDE5MjAgbyAtIE1hciAyOCAwIDEgUwotK1IgbCAxOTIwIG8gLSBPIDI1IDAgMCAtCi0rUiBsIDE5MjEgbyAtIEFwIDMgMCAxIFMKLStSIGwgMTkyMSBvIC0gTyAzIDAgMCAtCi0rUiBsIDE5MjIgbyAtIE1hciAyNiAwIDEgUwotK1IgbCAxOTIyIG8gLSBPIDggMCAwIC0KLStSIGwgMTkyMyBvIC0gQXAgMjIgMCAxIFMKLStSIGwgMTkyMyBvIC0gUyAxNiAwIDAgLQotK1IgbCAxOTU3IDE5NjEgLSBNYXkgMSAwIDEgUwotK1IgbCAxOTU3IDE5NjEgLSBPIDEgMCAwIC0KLStSIGwgMTk3MiBvIC0gSnVuIDIyIDAgMSBTCi0rUiBsIDE5NzIgMTk3NyAtIE8gMSAwIDAgLQotK1IgbCAxOTczIDE5NzcgLSBNYXkgMSAwIDEgUwotK1IgbCAxOTc4IG8gLSBBcCAzMCAwIDEgUwotK1IgbCAxOTc4IG8gLSBTIDMwIDAgMCAtCi0rUiBsIDE5ODQgMTk4NyAtIE1heSAxIDAgMSBTCi0rUiBsIDE5ODQgMTk5MSAtIE8gMTYgMCAwIC0KLStSIGwgMTk4OCBvIC0gSnVuIDEgMCAxIFMKLStSIGwgMTk4OSBvIC0gTWF5IDEwIDAgMSBTCi0rUiBsIDE5OTAgMTk5MiAtIE1heSAxIDAgMSBTCi0rUiBsIDE5OTIgbyAtIE8gNCAwIDAgLQotK1IgbCAxOTkzIG1hIC0gTWFyIGxhc3RTdW4gMCAxIFMKLStSIGwgMTk5MyAxOTk4IC0gUyBsYXN0U3VuIDAgMCAtCi0rUiBsIDE5OTkgbWEgLSBPIGxhc3RTdW4gMCAwIC0KLSBaIEFzaWEvQmVpcnV0IDI6MjIgLSBMTVQgMTg4MAotLTIgZSBFRSVzVAotLVIgZiAxOTM1IDE5NDEgLSBTIDE0IDAgMDoyMCAtCi0tUiBmIDE5MzUgMTk0MSAtIEQgMTQgMCAwIC0KLSsyIGwgRUUlc1QKLStSIE5CIDE5MzUgMTk0MSAtIFMgMTQgMCAwOjIwIC0KLStSIE5CIDE5MzUgMTk0MSAtIEQgMTQgMCAwIC0KLSBaIEFzaWEvS3VhbGFfTHVtcHVyIDY6NDY6NDYgLSBMTVQgMTkwMQotIDY6NTU6MjUgLSBTTVQgMTkwNSBKdW4KLSA3IC0gKzA3IDE5MzMKLUBAIC04MjcsOTggKzg1MSw5OCBAQCBaIEFzaWEvS3VhbGFfTHVtcHVyIDY6NDY6NDYgLSBMTVQgMTkwMQotIDggLSArMDgKLSBaIEFzaWEvS3VjaGluZyA3OjIxOjIwIC0gTE1UIDE5MjYgTWFyCi0gNzozMCAtICswNzMwIDE5MzMKLS04IGYgKzA4LyswODIwIDE5NDIgRiAxNgotKzggTkIgKzA4LyswODIwIDE5NDIgRiAxNgotIDkgLSArMDkgMTk0NSBTIDEyCi0gOCAtICswOAotIFogSW5kaWFuL01hbGRpdmVzIDQ6NTQgLSBMTVQgMTg4MAotIDQ6NTQgLSBNTVQgMTk2MAotIDUgLSArMDUKLS1SIGcgMTk4MyAxOTg0IC0gQXAgMSAwIDEgLQotLVIgZyAxOTgzIG8gLSBPIDEgMCAwIC0KLS1SIGcgMTk4NSAxOTk4IC0gTWFyIGxhc3RTdW4gMCAxIC0KLS1SIGcgMTk4NCAxOTk4IC0gUyBsYXN0U3VuIDAgMCAtCi0tUiBnIDIwMDEgbyAtIEFwIGxhc3RTYXQgMiAxIC0KLS1SIGcgMjAwMSAyMDA2IC0gUyBsYXN0U2F0IDIgMCAtCi0tUiBnIDIwMDIgMjAwNiAtIE1hciBsYXN0U2F0IDIgMSAtCi0tUiBnIDIwMTUgMjAxNiAtIE1hciBsYXN0U2F0IDIgMSAtCi0tUiBnIDIwMTUgMjAxNiAtIFMgbGFzdFNhdCAwIDAgLQotK1IgWCAxOTgzIDE5ODQgLSBBcCAxIDAgMSAtCi0rUiBYIDE5ODMgbyAtIE8gMSAwIDAgLQotK1IgWCAxOTg1IDE5OTggLSBNYXIgbGFzdFN1biAwIDEgLQotK1IgWCAxOTg0IDE5OTggLSBTIGxhc3RTdW4gMCAwIC0KLStSIFggMjAwMSBvIC0gQXAgbGFzdFNhdCAyIDEgLQotK1IgWCAyMDAxIDIwMDYgLSBTIGxhc3RTYXQgMiAwIC0KLStSIFggMjAwMiAyMDA2IC0gTWFyIGxhc3RTYXQgMiAxIC0KLStSIFggMjAxNSAyMDE2IC0gTWFyIGxhc3RTYXQgMiAxIC0KLStSIFggMjAxNSAyMDE2IC0gUyBsYXN0U2F0IDAgMCAtCi0gWiBBc2lhL0hvdmQgNjo2OjM2IC0gTE1UIDE5MDUgQXUKLSA2IC0gKzA2IDE5NzgKLS03IGcgKzA3LyswOAotKzcgWCArMDcvKzA4Ci0gWiBBc2lhL1VsYWFuYmFhdGFyIDc6NzozMiAtIExNVCAxOTA1IEF1Ci0gNyAtICswNyAxOTc4Ci0tOCBnICswOC8rMDkKLSs4IFggKzA4LyswOQotIFogQXNpYS9DaG9pYmFsc2FuIDc6MzggLSBMTVQgMTkwNSBBdQotIDcgLSArMDcgMTk3OAotIDggLSArMDggMTk4MyBBcAotLTkgZyArMDkvKzEwIDIwMDggTWFyIDMxCi0tOCBnICswOC8rMDkKLSs5IFggKzA5LysxMCAyMDA4IE1hciAzMQotKzggWCArMDgvKzA5Ci0gWiBBc2lhL0thdGhtYW5kdSA1OjQxOjE2IC0gTE1UIDE5MjAKLSA1OjMwIC0gKzA1MzAgMTk4NgotIDU6NDUgLSArMDU0NQotLVIgaCAyMDAyIG8gLSBBcCBTdW4+PTIgMCAxIFMKLS1SIGggMjAwMiBvIC0gTyBTdW4+PTIgMCAwIC0KLS1SIGggMjAwOCBvIC0gSnVuIDEgMCAxIFMKLS1SIGggMjAwOCAyMDA5IC0gTiAxIDAgMCAtCi0tUiBoIDIwMDkgbyAtIEFwIDE1IDAgMSBTCi0rUiBQSyAyMDAyIG8gLSBBcCBTdW4+PTIgMCAxIFMKLStSIFBLIDIwMDIgbyAtIE8gU3VuPj0yIDAgMCAtCi0rUiBQSyAyMDA4IG8gLSBKdW4gMSAwIDEgUwotK1IgUEsgMjAwOCAyMDA5IC0gTiAxIDAgMCAtCi0rUiBQSyAyMDA5IG8gLSBBcCAxNSAwIDEgUwotIFogQXNpYS9LYXJhY2hpIDQ6Mjg6MTIgLSBMTVQgMTkwNwotIDU6MzAgLSArMDUzMCAxOTQyIFMKLSA1OjMwIDEgKzA2MzAgMTk0NSBPIDE1Ci0gNTozMCAtICswNTMwIDE5NTEgUyAzMAotIDUgLSArMDUgMTk3MSBNYXIgMjYKLS01IGggUEslc1QKLS1SIGkgMTk5OSAyMDA1IC0gQXAgRj49MTUgMCAxIFMKLS1SIGkgMTk5OSAyMDAzIC0gTyBGPj0xNSAwIDAgLQotLVIgaSAyMDA0IG8gLSBPIDEgMSAwIC0KLS1SIGkgMjAwNSBvIC0gTyA0IDIgMCAtCi0tUiBpIDIwMDYgMjAwNyAtIEFwIDEgMCAxIFMKLS1SIGkgMjAwNiBvIC0gUyAyMiAwIDAgLQotLVIgaSAyMDA3IG8gLSBTIFRoPj04IDIgMCAtCi0tUiBpIDIwMDggMjAwOSAtIE1hciBsYXN0RiAwIDEgUwotLVIgaSAyMDA4IG8gLSBTIDEgMCAwIC0KLS1SIGkgMjAwOSBvIC0gUyBGPj0xIDEgMCAtCi0tUiBpIDIwMTAgbyAtIE1hciAyNiAwIDEgUwotLVIgaSAyMDEwIG8gLSBBdSAxMSAwIDAgLQotLVIgaSAyMDExIG8gLSBBcCAxIDA6MSAxIFMKLS1SIGkgMjAxMSBvIC0gQXUgMSAwIDAgLQotLVIgaSAyMDExIG8gLSBBdSAzMCAwIDEgUwotLVIgaSAyMDExIG8gLSBTIDMwIDAgMCAtCi0tUiBpIDIwMTIgMjAxNCAtIE1hciBsYXN0VGggMjQgMSBTCi0tUiBpIDIwMTIgbyAtIFMgMjEgMSAwIC0KLS1SIGkgMjAxMyBvIC0gUyBGPj0yMSAwIDAgLQotLVIgaSAyMDE0IDIwMTUgLSBPIEY+PTIxIDAgMCAtCi0tUiBpIDIwMTUgbyAtIE1hciBsYXN0RiAyNCAxIFMKLS1SIGkgMjAxNiBtYSAtIE1hciBTYXQ+PTIyIDEgMSBTCi0tUiBpIDIwMTYgbWEgLSBPIGxhc3RTYXQgMSAwIC0KLSs1IFBLIFBLJXNUCi0rUiBQIDE5OTkgMjAwNSAtIEFwIEY+PTE1IDAgMSBTCi0rUiBQIDE5OTkgMjAwMyAtIE8gRj49MTUgMCAwIC0KLStSIFAgMjAwNCBvIC0gTyAxIDEgMCAtCi0rUiBQIDIwMDUgbyAtIE8gNCAyIDAgLQotK1IgUCAyMDA2IDIwMDcgLSBBcCAxIDAgMSBTCi0rUiBQIDIwMDYgbyAtIFMgMjIgMCAwIC0KLStSIFAgMjAwNyBvIC0gUyBUaD49OCAyIDAgLQotK1IgUCAyMDA4IDIwMDkgLSBNYXIgbGFzdEYgMCAxIFMKLStSIFAgMjAwOCBvIC0gUyAxIDAgMCAtCi0rUiBQIDIwMDkgbyAtIFMgRj49MSAxIDAgLQotK1IgUCAyMDEwIG8gLSBNYXIgMjYgMCAxIFMKLStSIFAgMjAxMCBvIC0gQXUgMTEgMCAwIC0KLStSIFAgMjAxMSBvIC0gQXAgMSAwOjEgMSBTCi0rUiBQIDIwMTEgbyAtIEF1IDEgMCAwIC0KLStSIFAgMjAxMSBvIC0gQXUgMzAgMCAxIFMKLStSIFAgMjAxMSBvIC0gUyAzMCAwIDAgLQotK1IgUCAyMDEyIDIwMTQgLSBNYXIgbGFzdFRoIDI0IDEgUwotK1IgUCAyMDEyIG8gLSBTIDIxIDEgMCAtCi0rUiBQIDIwMTMgbyAtIFMgRj49MjEgMCAwIC0KLStSIFAgMjAxNCAyMDE1IC0gTyBGPj0yMSAwIDAgLQotK1IgUCAyMDE1IG8gLSBNYXIgbGFzdEYgMjQgMSBTCi0rUiBQIDIwMTYgbWEgLSBNYXIgU2F0Pj0yMiAxIDEgUwotK1IgUCAyMDE2IG1hIC0gTyBsYXN0U2F0IDEgMCAtCi0gWiBBc2lhL0dhemEgMjoxNzo1MiAtIExNVCAxOTAwIE8KLSAyIFogRUVUL0VFU1QgMTk0OCBNYXkgMTUKLS0yIEIgRUUlc1QgMTk2NyBKdW4gNQotKzIgSyBFRSVzVCAxOTY3IEp1biA1Ci0gMiBaIEklc1QgMTk5NgotLTIgYiBFRSVzVCAxOTk5Ci0tMiBpIEVFJXNUIDIwMDggQXUgMjkKLSsyIEogRUUlc1QgMTk5OQotKzIgUCBFRSVzVCAyMDA4IEF1IDI5Ci0gMiAtIEVFVCAyMDA4IFMKLS0yIGkgRUUlc1QgMjAxMAotKzIgUCBFRSVzVCAyMDEwCi0gMiAtIEVFVCAyMDEwIE1hciAyNyAwOjEKLS0yIGkgRUUlc1QgMjAxMSBBdQotKzIgUCBFRSVzVCAyMDExIEF1Ci0gMiAtIEVFVCAyMDEyCi0tMiBpIEVFJXNUCi0rMiBQIEVFJXNUCi0gWiBBc2lhL0hlYnJvbiAyOjIwOjIzIC0gTE1UIDE5MDAgTwotIDIgWiBFRVQvRUVTVCAxOTQ4IE1heSAxNQotLTIgQiBFRSVzVCAxOTY3IEp1biA1Ci0rMiBLIEVFJXNUIDE5NjcgSnVuIDUKLSAyIFogSSVzVCAxOTk2Ci0tMiBiIEVFJXNUIDE5OTkKLS0yIGkgRUUlc1QKLS1SIGogMTkzNiBvIC0gTiAxIDAgMSAtCi0tUiBqIDE5MzcgbyAtIEYgMSAwIDAgLQotLVIgaiAxOTU0IG8gLSBBcCAxMiAwIDEgLQotLVIgaiAxOTU0IG8gLSBKdWwgMSAwIDAgLQotLVIgaiAxOTc4IG8gLSBNYXIgMjIgMCAxIC0KLS1SIGogMTk3OCBvIC0gUyAyMSAwIDAgLQotKzIgSiBFRSVzVCAxOTk5Ci0rMiBQIEVFJXNUCi0rUiBQSCAxOTM2IG8gLSBOIDEgMCAxIEQKLStSIFBIIDE5MzcgbyAtIEYgMSAwIDAgUwotK1IgUEggMTk1NCBvIC0gQXAgMTIgMCAxIEQKLStSIFBIIDE5NTQgbyAtIEp1bCAxIDAgMCBTCi0rUiBQSCAxOTc4IG8gLSBNYXIgMjIgMCAxIEQKLStSIFBIIDE5NzggbyAtIFMgMjEgMCAwIFMKLSBaIEFzaWEvTWFuaWxhIC0xNTo1NiAtIExNVCAxODQ0IEQgMzEKLSA4OjQgLSBMTVQgMTg5OSBNYXkgMTEKLS04IGogKzA4LyswOSAxOTQyIE1heQotLTkgLSArMDkgMTk0NCBOCi0tOCBqICswOC8rMDkKLSs4IFBIIFAlc1QgMTk0MiBNYXkKLSs5IC0gSlNUIDE5NDQgTgotKzggUEggUCVzVAotIFogQXNpYS9RYXRhciAzOjI2OjggLSBMTVQgMTkyMAotIDQgLSArMDQgMTk3MiBKdW4KLSAzIC0gKzAzCi1AQCAtOTQ1LDUyICs5NjksNTIgQEAgWiBBc2lhL0NvbG9tYm8gNToxOToyNCAtIExNVCAxODgwCi0gNjozMCAtICswNjMwIDE5OTYgTyAyNiAwOjMwCi0gNiAtICswNiAyMDA2IEFwIDE1IDA6MzAKLSA1OjMwIC0gKzA1MzAKLS1SIGsgMTkyMCAxOTIzIC0gQXAgU3VuPj0xNSAyIDEgUwotLVIgayAxOTIwIDE5MjMgLSBPIFN1bj49MSAyIDAgLQotLVIgayAxOTYyIG8gLSBBcCAyOSAyIDEgUwotLVIgayAxOTYyIG8gLSBPIDEgMiAwIC0KLS1SIGsgMTk2MyAxOTY1IC0gTWF5IDEgMiAxIFMKLS1SIGsgMTk2MyBvIC0gUyAzMCAyIDAgLQotLVIgayAxOTY0IG8gLSBPIDEgMiAwIC0KLS1SIGsgMTk2NSBvIC0gUyAzMCAyIDAgLQotLVIgayAxOTY2IG8gLSBBcCAyNCAyIDEgUwotLVIgayAxOTY2IDE5NzYgLSBPIDEgMiAwIC0KLS1SIGsgMTk2NyAxOTc4IC0gTWF5IDEgMiAxIFMKLS1SIGsgMTk3NyAxOTc4IC0gUyAxIDIgMCAtCi0tUiBrIDE5ODMgMTk4NCAtIEFwIDkgMiAxIFMKLS1SIGsgMTk4MyAxOTg0IC0gTyAxIDIgMCAtCi0tUiBrIDE5ODYgbyAtIEYgMTYgMiAxIFMKLS1SIGsgMTk4NiBvIC0gTyA5IDIgMCAtCi0tUiBrIDE5ODcgbyAtIE1hciAxIDIgMSBTCi0tUiBrIDE5ODcgMTk4OCAtIE8gMzEgMiAwIC0KLS1SIGsgMTk4OCBvIC0gTWFyIDE1IDIgMSBTCi0tUiBrIDE5ODkgbyAtIE1hciAzMSAyIDEgUwotLVIgayAxOTg5IG8gLSBPIDEgMiAwIC0KLS1SIGsgMTk5MCBvIC0gQXAgMSAyIDEgUwotLVIgayAxOTkwIG8gLSBTIDMwIDIgMCAtCi0tUiBrIDE5OTEgbyAtIEFwIDEgMCAxIFMKLS1SIGsgMTk5MSAxOTkyIC0gTyAxIDAgMCAtCi0tUiBrIDE5OTIgbyAtIEFwIDggMCAxIFMKLS1SIGsgMTk5MyBvIC0gTWFyIDI2IDAgMSBTCi0tUiBrIDE5OTMgbyAtIFMgMjUgMCAwIC0KLS1SIGsgMTk5NCAxOTk2IC0gQXAgMSAwIDEgUwotLVIgayAxOTk0IDIwMDUgLSBPIDEgMCAwIC0KLS1SIGsgMTk5NyAxOTk4IC0gTWFyIGxhc3RNIDAgMSBTCi0tUiBrIDE5OTkgMjAwNiAtIEFwIDEgMCAxIFMKLS1SIGsgMjAwNiBvIC0gUyAyMiAwIDAgLQotLVIgayAyMDA3IG8gLSBNYXIgbGFzdEYgMCAxIFMKLS1SIGsgMjAwNyBvIC0gTiBGPj0xIDAgMCAtCi0tUiBrIDIwMDggbyAtIEFwIEY+PTEgMCAxIFMKLS1SIGsgMjAwOCBvIC0gTiAxIDAgMCAtCi0tUiBrIDIwMDkgbyAtIE1hciBsYXN0RiAwIDEgUwotLVIgayAyMDEwIDIwMTEgLSBBcCBGPj0xIDAgMSBTCi0tUiBrIDIwMTIgbWEgLSBNYXIgbGFzdEYgMCAxIFMKLS1SIGsgMjAwOSBtYSAtIE8gbGFzdEYgMCAwIC0KLStSIFMgMTkyMCAxOTIzIC0gQXAgU3VuPj0xNSAyIDEgUwotK1IgUyAxOTIwIDE5MjMgLSBPIFN1bj49MSAyIDAgLQotK1IgUyAxOTYyIG8gLSBBcCAyOSAyIDEgUwotK1IgUyAxOTYyIG8gLSBPIDEgMiAwIC0KLStSIFMgMTk2MyAxOTY1IC0gTWF5IDEgMiAxIFMKLStSIFMgMTk2MyBvIC0gUyAzMCAyIDAgLQotK1IgUyAxOTY0IG8gLSBPIDEgMiAwIC0KLStSIFMgMTk2NSBvIC0gUyAzMCAyIDAgLQotK1IgUyAxOTY2IG8gLSBBcCAyNCAyIDEgUwotK1IgUyAxOTY2IDE5NzYgLSBPIDEgMiAwIC0KLStSIFMgMTk2NyAxOTc4IC0gTWF5IDEgMiAxIFMKLStSIFMgMTk3NyAxOTc4IC0gUyAxIDIgMCAtCi0rUiBTIDE5ODMgMTk4NCAtIEFwIDkgMiAxIFMKLStSIFMgMTk4MyAxOTg0IC0gTyAxIDIgMCAtCi0rUiBTIDE5ODYgbyAtIEYgMTYgMiAxIFMKLStSIFMgMTk4NiBvIC0gTyA5IDIgMCAtCi0rUiBTIDE5ODcgbyAtIE1hciAxIDIgMSBTCi0rUiBTIDE5ODcgMTk4OCAtIE8gMzEgMiAwIC0KLStSIFMgMTk4OCBvIC0gTWFyIDE1IDIgMSBTCi0rUiBTIDE5ODkgbyAtIE1hciAzMSAyIDEgUwotK1IgUyAxOTg5IG8gLSBPIDEgMiAwIC0KLStSIFMgMTk5MCBvIC0gQXAgMSAyIDEgUwotK1IgUyAxOTkwIG8gLSBTIDMwIDIgMCAtCi0rUiBTIDE5OTEgbyAtIEFwIDEgMCAxIFMKLStSIFMgMTk5MSAxOTkyIC0gTyAxIDAgMCAtCi0rUiBTIDE5OTIgbyAtIEFwIDggMCAxIFMKLStSIFMgMTk5MyBvIC0gTWFyIDI2IDAgMSBTCi0rUiBTIDE5OTMgbyAtIFMgMjUgMCAwIC0KLStSIFMgMTk5NCAxOTk2IC0gQXAgMSAwIDEgUwotK1IgUyAxOTk0IDIwMDUgLSBPIDEgMCAwIC0KLStSIFMgMTk5NyAxOTk4IC0gTWFyIGxhc3RNIDAgMSBTCi0rUiBTIDE5OTkgMjAwNiAtIEFwIDEgMCAxIFMKLStSIFMgMjAwNiBvIC0gUyAyMiAwIDAgLQotK1IgUyAyMDA3IG8gLSBNYXIgbGFzdEYgMCAxIFMKLStSIFMgMjAwNyBvIC0gTiBGPj0xIDAgMCAtCi0rUiBTIDIwMDggbyAtIEFwIEY+PTEgMCAxIFMKLStSIFMgMjAwOCBvIC0gTiAxIDAgMCAtCi0rUiBTIDIwMDkgbyAtIE1hciBsYXN0RiAwIDEgUwotK1IgUyAyMDEwIDIwMTEgLSBBcCBGPj0xIDAgMSBTCi0rUiBTIDIwMTIgbWEgLSBNYXIgbGFzdEYgMCAxIFMKLStSIFMgMjAwOSBtYSAtIE8gbGFzdEYgMCAwIC0KLSBaIEFzaWEvRGFtYXNjdXMgMjoyNToxMiAtIExNVCAxOTIwCi0tMiBrIEVFJXNUCi0rMiBTIEVFJXNUCi0gWiBBc2lhL0R1c2hhbmJlIDQ6MzU6MTIgLSBMTVQgMTkyNCBNYXkgMgotIDUgLSArMDUgMTkzMCBKdW4gMjEKLS02IE0gKzA2LyswNyAxOTkxIE1hciAzMSAycwotKzYgUiArMDYvKzA3IDE5OTEgTWFyIDMxIDJzCi0gNSAxICswNS8rMDYgMTk5MSBTIDkgMnMKLSA1IC0gKzA1Ci0gWiBBc2lhL0Jhbmdrb2sgNjo0Mjo0IC0gTE1UIDE4ODAKLUBAIC0xMDAwLDggKzEwMjQsOCBAQCBMaSBBc2lhL0Jhbmdrb2sgQXNpYS9QaG5vbV9QZW5oCi0gTGkgQXNpYS9CYW5na29rIEFzaWEvVmllbnRpYW5lCi0gWiBBc2lhL0FzaGdhYmF0IDM6NTM6MzIgLSBMTVQgMTkyNCBNYXkgMgotIDQgLSArMDQgMTkzMCBKdW4gMjEKLS01IE0gKzA1LyswNiAxOTkxIE1hciAzMSAyCi0tNCBNICswNC8rMDUgMTk5MiBKYSAxOSAyCi0rNSBSICswNS8rMDYgMTk5MSBNYXIgMzEgMgotKzQgUiArMDQvKzA1IDE5OTIgSmEgMTkgMgotIDUgLSArMDUKLSBaIEFzaWEvRHViYWkgMzo0MToxMiAtIExNVCAxOTIwCi0gNCAtICswNAotQEAgLTEwMTEsMTIgKzEwMzUsMTIgQEAgWiBBc2lhL1NhbWFya2FuZCA0OjI3OjUzIC0gTE1UIDE5MjQgTWF5IDIKLSA1IC0gKzA1IDE5ODEgQXAKLSA1IDEgKzA2IDE5ODEgTwotIDYgLSArMDYgMTk4MiBBcAotLTUgTSArMDUvKzA2IDE5OTIKLSs1IFIgKzA1LyswNiAxOTkyCi0gNSAtICswNQotIFogQXNpYS9UYXNoa2VudCA0OjM3OjExIC0gTE1UIDE5MjQgTWF5IDIKLSA1IC0gKzA1IDE5MzAgSnVuIDIxCi0tNiBNICswNi8rMDcgMTk5MSBNYXIgMzEgMgotLTUgTSArMDUvKzA2IDE5OTIKLSs2IFIgKzA2LyswNyAxOTkxIE1hciAzMSAyCi0rNSBSICswNS8rMDYgMTk5MgotIDUgLSArMDUKLSBaIEFzaWEvSG9fQ2hpX01pbmggNzo2OjQwIC0gTE1UIDE5MDYgSnVsCi0gNzo2OjMwIC0gUExNVCAxOTExIE1heQotQEAgLTEwMjgsMTc2ICsxMDUyLDE3NiBAQCBaIEFzaWEvSG9fQ2hpX01pbmggNzo2OjQwIC0gTE1UIDE5MDYgSnVsCi0gNyAtICswNyAxOTU5IEQgMzEgMjMKLSA4IC0gKzA4IDE5NzUgSnVuIDEzCi0gNyAtICswNwotLVIgbCAxOTE3IG8gLSBKYSAxIDA6MSAxIEQKLS1SIGwgMTkxNyBvIC0gTWFyIDI1IDIgMCBTCi0tUiBsIDE5NDIgbyAtIEphIDEgMiAxIEQKLS1SIGwgMTk0MiBvIC0gTWFyIDI5IDIgMCBTCi0tUiBsIDE5NDIgbyAtIFMgMjcgMiAxIEQKLS1SIGwgMTk0MyAxOTQ0IC0gTWFyIGxhc3RTdW4gMiAwIFMKLS1SIGwgMTk0MyBvIC0gTyAzIDIgMSBECi0rUiBBVSAxOTE3IG8gLSBKYSAxIDA6MSAxIEQKLStSIEFVIDE5MTcgbyAtIE1hciAyNSAyIDAgUwotK1IgQVUgMTk0MiBvIC0gSmEgMSAyIDEgRAotK1IgQVUgMTk0MiBvIC0gTWFyIDI5IDIgMCBTCi0rUiBBVSAxOTQyIG8gLSBTIDI3IDIgMSBECi0rUiBBVSAxOTQzIDE5NDQgLSBNYXIgbGFzdFN1biAyIDAgUwotK1IgQVUgMTk0MyBvIC0gTyAzIDIgMSBECi0gWiBBdXN0cmFsaWEvRGFyd2luIDg6NDM6MjAgLSBMTVQgMTg5NSBGCi0gOSAtIEFDU1QgMTg5OSBNYXkKLS05OjMwIGwgQUMlc1QKLS1SIG0gMTk3NCBvIC0gTyBsYXN0U3VuIDJzIDEgRAotLVIgbSAxOTc1IG8gLSBNYXIgU3VuPj0xIDJzIDAgUwotLVIgbSAxOTgzIG8gLSBPIGxhc3RTdW4gMnMgMSBECi0tUiBtIDE5ODQgbyAtIE1hciBTdW4+PTEgMnMgMCBTCi0tUiBtIDE5OTEgbyAtIE4gMTcgMnMgMSBECi0tUiBtIDE5OTIgbyAtIE1hciBTdW4+PTEgMnMgMCBTCi0tUiBtIDIwMDYgbyAtIEQgMyAycyAxIEQKLS1SIG0gMjAwNyAyMDA5IC0gTWFyIGxhc3RTdW4gMnMgMCBTCi0tUiBtIDIwMDcgMjAwOCAtIE8gbGFzdFN1biAycyAxIEQKLSs5OjMwIEFVIEFDJXNUCi0rUiBBVyAxOTc0IG8gLSBPIGxhc3RTdW4gMnMgMSBECi0rUiBBVyAxOTc1IG8gLSBNYXIgU3VuPj0xIDJzIDAgUwotK1IgQVcgMTk4MyBvIC0gTyBsYXN0U3VuIDJzIDEgRAotK1IgQVcgMTk4NCBvIC0gTWFyIFN1bj49MSAycyAwIFMKLStSIEFXIDE5OTEgbyAtIE4gMTcgMnMgMSBECi0rUiBBVyAxOTkyIG8gLSBNYXIgU3VuPj0xIDJzIDAgUwotK1IgQVcgMjAwNiBvIC0gRCAzIDJzIDEgRAotK1IgQVcgMjAwNyAyMDA5IC0gTWFyIGxhc3RTdW4gMnMgMCBTCi0rUiBBVyAyMDA3IDIwMDggLSBPIGxhc3RTdW4gMnMgMSBECi0gWiBBdXN0cmFsaWEvUGVydGggNzo0MzoyNCAtIExNVCAxODk1IEQKLS04IGwgQVclc1QgMTk0MyBKdWwKLS04IG0gQVclc1QKLSs4IEFVIEFXJXNUIDE5NDMgSnVsCi0rOCBBVyBBVyVzVAotIFogQXVzdHJhbGlhL0V1Y2xhIDg6MzU6MjggLSBMTVQgMTg5NSBECi0tODo0NSBsICswODQ1LyswOTQ1IDE5NDMgSnVsCi0tODo0NSBtICswODQ1LyswOTQ1Ci0tUiBuIDE5NzEgbyAtIE8gbGFzdFN1biAycyAxIEQKLS1SIG4gMTk3MiBvIC0gRiBsYXN0U3VuIDJzIDAgUwotLVIgbiAxOTg5IDE5OTEgLSBPIGxhc3RTdW4gMnMgMSBECi0tUiBuIDE5OTAgMTk5MiAtIE1hciBTdW4+PTEgMnMgMCBTCi0tUiBvIDE5OTIgMTk5MyAtIE8gbGFzdFN1biAycyAxIEQKLS1SIG8gMTk5MyAxOTk0IC0gTWFyIFN1bj49MSAycyAwIFMKLSs4OjQ1IEFVICswODQ1LyswOTQ1IDE5NDMgSnVsCi0rODo0NSBBVyArMDg0NS8rMDk0NQotK1IgQVEgMTk3MSBvIC0gTyBsYXN0U3VuIDJzIDEgRAotK1IgQVEgMTk3MiBvIC0gRiBsYXN0U3VuIDJzIDAgUwotK1IgQVEgMTk4OSAxOTkxIC0gTyBsYXN0U3VuIDJzIDEgRAotK1IgQVEgMTk5MCAxOTkyIC0gTWFyIFN1bj49MSAycyAwIFMKLStSIEhvIDE5OTIgMTk5MyAtIE8gbGFzdFN1biAycyAxIEQKLStSIEhvIDE5OTMgMTk5NCAtIE1hciBTdW4+PTEgMnMgMCBTCi0gWiBBdXN0cmFsaWEvQnJpc2JhbmUgMTA6MTI6OCAtIExNVCAxODk1Ci0tMTAgbCBBRSVzVCAxOTcxCi0tMTAgbiBBRSVzVAotKzEwIEFVIEFFJXNUIDE5NzEKLSsxMCBBUSBBRSVzVAotIFogQXVzdHJhbGlhL0xpbmRlbWFuIDk6NTU6NTYgLSBMTVQgMTg5NQotLTEwIGwgQUUlc1QgMTk3MQotLTEwIG4gQUUlc1QgMTk5MiBKdWwKLS0xMCBvIEFFJXNUCi0tUiBwIDE5NzEgMTk4NSAtIE8gbGFzdFN1biAycyAxIEQKLS1SIHAgMTk4NiBvIC0gTyAxOSAycyAxIEQKLS1SIHAgMTk4NyAyMDA3IC0gTyBsYXN0U3VuIDJzIDEgRAotLVIgcCAxOTcyIG8gLSBGIDI3IDJzIDAgUwotLVIgcCAxOTczIDE5ODUgLSBNYXIgU3VuPj0xIDJzIDAgUwotLVIgcCAxOTg2IDE5OTAgLSBNYXIgU3VuPj0xNSAycyAwIFMKLS1SIHAgMTk5MSBvIC0gTWFyIDMgMnMgMCBTCi0tUiBwIDE5OTIgbyAtIE1hciAyMiAycyAwIFMKLS1SIHAgMTk5MyBvIC0gTWFyIDcgMnMgMCBTCi0tUiBwIDE5OTQgbyAtIE1hciAyMCAycyAwIFMKLS1SIHAgMTk5NSAyMDA1IC0gTWFyIGxhc3RTdW4gMnMgMCBTCi0tUiBwIDIwMDYgbyAtIEFwIDIgMnMgMCBTCi0tUiBwIDIwMDcgbyAtIE1hciBsYXN0U3VuIDJzIDAgUwotLVIgcCAyMDA4IG1hIC0gQXAgU3VuPj0xIDJzIDAgUwotLVIgcCAyMDA4IG1hIC0gTyBTdW4+PTEgMnMgMSBECi0rMTAgQVUgQUUlc1QgMTk3MQotKzEwIEFRIEFFJXNUIDE5OTIgSnVsCi0rMTAgSG8gQUUlc1QKLStSIEFTIDE5NzEgMTk4NSAtIE8gbGFzdFN1biAycyAxIEQKLStSIEFTIDE5ODYgbyAtIE8gMTkgMnMgMSBECi0rUiBBUyAxOTg3IDIwMDcgLSBPIGxhc3RTdW4gMnMgMSBECi0rUiBBUyAxOTcyIG8gLSBGIDI3IDJzIDAgUwotK1IgQVMgMTk3MyAxOTg1IC0gTWFyIFN1bj49MSAycyAwIFMKLStSIEFTIDE5ODYgMTk5MCAtIE1hciBTdW4+PTE1IDJzIDAgUwotK1IgQVMgMTk5MSBvIC0gTWFyIDMgMnMgMCBTCi0rUiBBUyAxOTkyIG8gLSBNYXIgMjIgMnMgMCBTCi0rUiBBUyAxOTkzIG8gLSBNYXIgNyAycyAwIFMKLStSIEFTIDE5OTQgbyAtIE1hciAyMCAycyAwIFMKLStSIEFTIDE5OTUgMjAwNSAtIE1hciBsYXN0U3VuIDJzIDAgUwotK1IgQVMgMjAwNiBvIC0gQXAgMiAycyAwIFMKLStSIEFTIDIwMDcgbyAtIE1hciBsYXN0U3VuIDJzIDAgUwotK1IgQVMgMjAwOCBtYSAtIEFwIFN1bj49MSAycyAwIFMKLStSIEFTIDIwMDggbWEgLSBPIFN1bj49MSAycyAxIEQKLSBaIEF1c3RyYWxpYS9BZGVsYWlkZSA5OjE0OjIwIC0gTE1UIDE4OTUgRgotIDkgLSBBQ1NUIDE4OTkgTWF5Ci0tOTozMCBsIEFDJXNUIDE5NzEKLS05OjMwIHAgQUMlc1QKLS1SIHEgMTk2NyBvIC0gTyBTdW4+PTEgMnMgMSBECi0tUiBxIDE5NjggbyAtIE1hciBsYXN0U3VuIDJzIDAgUwotLVIgcSAxOTY4IDE5ODUgLSBPIGxhc3RTdW4gMnMgMSBECi0tUiBxIDE5NjkgMTk3MSAtIE1hciBTdW4+PTggMnMgMCBTCi0tUiBxIDE5NzIgbyAtIEYgbGFzdFN1biAycyAwIFMKLS1SIHEgMTk3MyAxOTgxIC0gTWFyIFN1bj49MSAycyAwIFMKLS1SIHEgMTk4MiAxOTgzIC0gTWFyIGxhc3RTdW4gMnMgMCBTCi0tUiBxIDE5ODQgMTk4NiAtIE1hciBTdW4+PTEgMnMgMCBTCi0tUiBxIDE5ODYgbyAtIE8gU3VuPj0xNSAycyAxIEQKLS1SIHEgMTk4NyAxOTkwIC0gTWFyIFN1bj49MTUgMnMgMCBTCi0tUiBxIDE5ODcgbyAtIE8gU3VuPj0yMiAycyAxIEQKLS1SIHEgMTk4OCAxOTkwIC0gTyBsYXN0U3VuIDJzIDEgRAotLVIgcSAxOTkxIDE5OTkgLSBPIFN1bj49MSAycyAxIEQKLS1SIHEgMTk5MSAyMDA1IC0gTWFyIGxhc3RTdW4gMnMgMCBTCi0tUiBxIDIwMDAgbyAtIEF1IGxhc3RTdW4gMnMgMSBECi0tUiBxIDIwMDEgbWEgLSBPIFN1bj49MSAycyAxIEQKLS1SIHEgMjAwNiBvIC0gQXAgU3VuPj0xIDJzIDAgUwotLVIgcSAyMDA3IG8gLSBNYXIgbGFzdFN1biAycyAwIFMKLS1SIHEgMjAwOCBtYSAtIEFwIFN1bj49MSAycyAwIFMKLSs5OjMwIEFVIEFDJXNUIDE5NzEKLSs5OjMwIEFTIEFDJXNUCi0rUiBBVCAxOTY3IG8gLSBPIFN1bj49MSAycyAxIEQKLStSIEFUIDE5NjggbyAtIE1hciBsYXN0U3VuIDJzIDAgUwotK1IgQVQgMTk2OCAxOTg1IC0gTyBsYXN0U3VuIDJzIDEgRAotK1IgQVQgMTk2OSAxOTcxIC0gTWFyIFN1bj49OCAycyAwIFMKLStSIEFUIDE5NzIgbyAtIEYgbGFzdFN1biAycyAwIFMKLStSIEFUIDE5NzMgMTk4MSAtIE1hciBTdW4+PTEgMnMgMCBTCi0rUiBBVCAxOTgyIDE5ODMgLSBNYXIgbGFzdFN1biAycyAwIFMKLStSIEFUIDE5ODQgMTk4NiAtIE1hciBTdW4+PTEgMnMgMCBTCi0rUiBBVCAxOTg2IG8gLSBPIFN1bj49MTUgMnMgMSBECi0rUiBBVCAxOTg3IDE5OTAgLSBNYXIgU3VuPj0xNSAycyAwIFMKLStSIEFUIDE5ODcgbyAtIE8gU3VuPj0yMiAycyAxIEQKLStSIEFUIDE5ODggMTk5MCAtIE8gbGFzdFN1biAycyAxIEQKLStSIEFUIDE5OTEgMTk5OSAtIE8gU3VuPj0xIDJzIDEgRAotK1IgQVQgMTk5MSAyMDA1IC0gTWFyIGxhc3RTdW4gMnMgMCBTCi0rUiBBVCAyMDAwIG8gLSBBdSBsYXN0U3VuIDJzIDEgRAotK1IgQVQgMjAwMSBtYSAtIE8gU3VuPj0xIDJzIDEgRAotK1IgQVQgMjAwNiBvIC0gQXAgU3VuPj0xIDJzIDAgUwotK1IgQVQgMjAwNyBvIC0gTWFyIGxhc3RTdW4gMnMgMCBTCi0rUiBBVCAyMDA4IG1hIC0gQXAgU3VuPj0xIDJzIDAgUwotIFogQXVzdHJhbGlhL0hvYmFydCA5OjQ5OjE2IC0gTE1UIDE4OTUgUwotIDEwIC0gQUVTVCAxOTE2IE8gMSAyCi0gMTAgMSBBRURUIDE5MTcgRgotLTEwIGwgQUUlc1QgMTk2NwotLTEwIHEgQUUlc1QKLSsxMCBBVSBBRSVzVCAxOTY3Ci0rMTAgQVQgQUUlc1QKLSBaIEF1c3RyYWxpYS9DdXJyaWUgOTozNToyOCAtIExNVCAxODk1IFMKLSAxMCAtIEFFU1QgMTkxNiBPIDEgMgotIDEwIDEgQUVEVCAxOTE3IEYKLS0xMCBsIEFFJXNUIDE5NzEgSnVsCi0tMTAgcSBBRSVzVAotLVIgciAxOTcxIDE5ODUgLSBPIGxhc3RTdW4gMnMgMSBECi0tUiByIDE5NzIgbyAtIEYgbGFzdFN1biAycyAwIFMKLS1SIHIgMTk3MyAxOTg1IC0gTWFyIFN1bj49MSAycyAwIFMKLS1SIHIgMTk4NiAxOTkwIC0gTWFyIFN1bj49MTUgMnMgMCBTCi0tUiByIDE5ODYgMTk4NyAtIE8gU3VuPj0xNSAycyAxIEQKLS1SIHIgMTk4OCAxOTk5IC0gTyBsYXN0U3VuIDJzIDEgRAotLVIgciAxOTkxIDE5OTQgLSBNYXIgU3VuPj0xIDJzIDAgUwotLVIgciAxOTk1IDIwMDUgLSBNYXIgbGFzdFN1biAycyAwIFMKLS1SIHIgMjAwMCBvIC0gQXUgbGFzdFN1biAycyAxIEQKLS1SIHIgMjAwMSAyMDA3IC0gTyBsYXN0U3VuIDJzIDEgRAotLVIgciAyMDA2IG8gLSBBcCBTdW4+PTEgMnMgMCBTCi0tUiByIDIwMDcgbyAtIE1hciBsYXN0U3VuIDJzIDAgUwotLVIgciAyMDA4IG1hIC0gQXAgU3VuPj0xIDJzIDAgUwotLVIgciAyMDA4IG1hIC0gTyBTdW4+PTEgMnMgMSBECi0rMTAgQVUgQUUlc1QgMTk3MSBKdWwKLSsxMCBBVCBBRSVzVAotK1IgQVYgMTk3MSAxOTg1IC0gTyBsYXN0U3VuIDJzIDEgRAotK1IgQVYgMTk3MiBvIC0gRiBsYXN0U3VuIDJzIDAgUwotK1IgQVYgMTk3MyAxOTg1IC0gTWFyIFN1bj49MSAycyAwIFMKLStSIEFWIDE5ODYgMTk5MCAtIE1hciBTdW4+PTE1IDJzIDAgUwotK1IgQVYgMTk4NiAxOTg3IC0gTyBTdW4+PTE1IDJzIDEgRAotK1IgQVYgMTk4OCAxOTk5IC0gTyBsYXN0U3VuIDJzIDEgRAotK1IgQVYgMTk5MSAxOTk0IC0gTWFyIFN1bj49MSAycyAwIFMKLStSIEFWIDE5OTUgMjAwNSAtIE1hciBsYXN0U3VuIDJzIDAgUwotK1IgQVYgMjAwMCBvIC0gQXUgbGFzdFN1biAycyAxIEQKLStSIEFWIDIwMDEgMjAwNyAtIE8gbGFzdFN1biAycyAxIEQKLStSIEFWIDIwMDYgbyAtIEFwIFN1bj49MSAycyAwIFMKLStSIEFWIDIwMDcgbyAtIE1hciBsYXN0U3VuIDJzIDAgUwotK1IgQVYgMjAwOCBtYSAtIEFwIFN1bj49MSAycyAwIFMKLStSIEFWIDIwMDggbWEgLSBPIFN1bj49MSAycyAxIEQKLSBaIEF1c3RyYWxpYS9NZWxib3VybmUgOTozOTo1MiAtIExNVCAxODk1IEYKLS0xMCBsIEFFJXNUIDE5NzEKLS0xMCByIEFFJXNUCi0tUiBzIDE5NzEgMTk4NSAtIE8gbGFzdFN1biAycyAxIEQKLS1SIHMgMTk3MiBvIC0gRiAyNyAycyAwIFMKLS1SIHMgMTk3MyAxOTgxIC0gTWFyIFN1bj49MSAycyAwIFMKLS1SIHMgMTk4MiBvIC0gQXAgU3VuPj0xIDJzIDAgUwotLVIgcyAxOTgzIDE5ODUgLSBNYXIgU3VuPj0xIDJzIDAgUwotLVIgcyAxOTg2IDE5ODkgLSBNYXIgU3VuPj0xNSAycyAwIFMKLS1SIHMgMTk4NiBvIC0gTyAxOSAycyAxIEQKLS1SIHMgMTk4NyAxOTk5IC0gTyBsYXN0U3VuIDJzIDEgRAotLVIgcyAxOTkwIDE5OTUgLSBNYXIgU3VuPj0xIDJzIDAgUwotLVIgcyAxOTk2IDIwMDUgLSBNYXIgbGFzdFN1biAycyAwIFMKLS1SIHMgMjAwMCBvIC0gQXUgbGFzdFN1biAycyAxIEQKLS1SIHMgMjAwMSAyMDA3IC0gTyBsYXN0U3VuIDJzIDEgRAotLVIgcyAyMDA2IG8gLSBBcCBTdW4+PTEgMnMgMCBTCi0tUiBzIDIwMDcgbyAtIE1hciBsYXN0U3VuIDJzIDAgUwotLVIgcyAyMDA4IG1hIC0gQXAgU3VuPj0xIDJzIDAgUwotLVIgcyAyMDA4IG1hIC0gTyBTdW4+PTEgMnMgMSBECi0rMTAgQVUgQUUlc1QgMTk3MQotKzEwIEFWIEFFJXNUCi0rUiBBTiAxOTcxIDE5ODUgLSBPIGxhc3RTdW4gMnMgMSBECi0rUiBBTiAxOTcyIG8gLSBGIDI3IDJzIDAgUwotK1IgQU4gMTk3MyAxOTgxIC0gTWFyIFN1bj49MSAycyAwIFMKLStSIEFOIDE5ODIgbyAtIEFwIFN1bj49MSAycyAwIFMKLStSIEFOIDE5ODMgMTk4NSAtIE1hciBTdW4+PTEgMnMgMCBTCi0rUiBBTiAxOTg2IDE5ODkgLSBNYXIgU3VuPj0xNSAycyAwIFMKLStSIEFOIDE5ODYgbyAtIE8gMTkgMnMgMSBECi0rUiBBTiAxOTg3IDE5OTkgLSBPIGxhc3RTdW4gMnMgMSBECi0rUiBBTiAxOTkwIDE5OTUgLSBNYXIgU3VuPj0xIDJzIDAgUwotK1IgQU4gMTk5NiAyMDA1IC0gTWFyIGxhc3RTdW4gMnMgMCBTCi0rUiBBTiAyMDAwIG8gLSBBdSBsYXN0U3VuIDJzIDEgRAotK1IgQU4gMjAwMSAyMDA3IC0gTyBsYXN0U3VuIDJzIDEgRAotK1IgQU4gMjAwNiBvIC0gQXAgU3VuPj0xIDJzIDAgUwotK1IgQU4gMjAwNyBvIC0gTWFyIGxhc3RTdW4gMnMgMCBTCi0rUiBBTiAyMDA4IG1hIC0gQXAgU3VuPj0xIDJzIDAgUwotK1IgQU4gMjAwOCBtYSAtIE8gU3VuPj0xIDJzIDEgRAotIFogQXVzdHJhbGlhL1N5ZG5leSAxMDo0OjUyIC0gTE1UIDE4OTUgRgotLTEwIGwgQUUlc1QgMTk3MQotLTEwIHMgQUUlc1QKLSsxMCBBVSBBRSVzVCAxOTcxCi0rMTAgQU4gQUUlc1QKLSBaIEF1c3RyYWxpYS9Ccm9rZW5fSGlsbCA5OjI1OjQ4IC0gTE1UIDE4OTUgRgotIDEwIC0gQUVTVCAxODk2IEF1IDIzCi0gOSAtIEFDU1QgMTg5OSBNYXkKLS05OjMwIGwgQUMlc1QgMTk3MQotLTk6MzAgcyBBQyVzVCAyMDAwCi0tOTozMCBwIEFDJXNUCi0tUiB0IDE5ODEgMTk4NCAtIE8gbGFzdFN1biAyIDEgLQotLVIgdCAxOTgyIDE5ODUgLSBNYXIgU3VuPj0xIDIgMCAtCi0tUiB0IDE5ODUgbyAtIE8gbGFzdFN1biAyIDA6MzAgLQotLVIgdCAxOTg2IDE5ODkgLSBNYXIgU3VuPj0xNSAyIDAgLQotLVIgdCAxOTg2IG8gLSBPIDE5IDIgMDozMCAtCi0tUiB0IDE5ODcgMTk5OSAtIE8gbGFzdFN1biAyIDA6MzAgLQotLVIgdCAxOTkwIDE5OTUgLSBNYXIgU3VuPj0xIDIgMCAtCi0tUiB0IDE5OTYgMjAwNSAtIE1hciBsYXN0U3VuIDIgMCAtCi0tUiB0IDIwMDAgbyAtIEF1IGxhc3RTdW4gMiAwOjMwIC0KLS1SIHQgMjAwMSAyMDA3IC0gTyBsYXN0U3VuIDIgMDozMCAtCi0tUiB0IDIwMDYgbyAtIEFwIFN1bj49MSAyIDAgLQotLVIgdCAyMDA3IG8gLSBNYXIgbGFzdFN1biAyIDAgLQotLVIgdCAyMDA4IG1hIC0gQXAgU3VuPj0xIDIgMCAtCi0tUiB0IDIwMDggbWEgLSBPIFN1bj49MSAyIDA6MzAgLQotKzk6MzAgQVUgQUMlc1QgMTk3MQotKzk6MzAgQU4gQUMlc1QgMjAwMAotKzk6MzAgQVMgQUMlc1QKLStSIExIIDE5ODEgMTk4NCAtIE8gbGFzdFN1biAyIDEgLQotK1IgTEggMTk4MiAxOTg1IC0gTWFyIFN1bj49MSAyIDAgLQotK1IgTEggMTk4NSBvIC0gTyBsYXN0U3VuIDIgMDozMCAtCi0rUiBMSCAxOTg2IDE5ODkgLSBNYXIgU3VuPj0xNSAyIDAgLQotK1IgTEggMTk4NiBvIC0gTyAxOSAyIDA6MzAgLQotK1IgTEggMTk4NyAxOTk5IC0gTyBsYXN0U3VuIDIgMDozMCAtCi0rUiBMSCAxOTkwIDE5OTUgLSBNYXIgU3VuPj0xIDIgMCAtCi0rUiBMSCAxOTk2IDIwMDUgLSBNYXIgbGFzdFN1biAyIDAgLQotK1IgTEggMjAwMCBvIC0gQXUgbGFzdFN1biAyIDA6MzAgLQotK1IgTEggMjAwMSAyMDA3IC0gTyBsYXN0U3VuIDIgMDozMCAtCi0rUiBMSCAyMDA2IG8gLSBBcCBTdW4+PTEgMiAwIC0KLStSIExIIDIwMDcgbyAtIE1hciBsYXN0U3VuIDIgMCAtCi0rUiBMSCAyMDA4IG1hIC0gQXAgU3VuPj0xIDIgMCAtCi0rUiBMSCAyMDA4IG1hIC0gTyBTdW4+PTEgMiAwOjMwIC0KLSBaIEF1c3RyYWxpYS9Mb3JkX0hvd2UgMTA6MzY6MjAgLSBMTVQgMTg5NSBGCi0gMTAgLSBBRVNUIDE5ODEgTWFyCi0tMTA6MzAgdCArMTAzMC8rMTEzMCAxOTg1IEp1bAotLTEwOjMwIHQgKzEwMzAvKzExCi0rMTA6MzAgTEggKzEwMzAvKzExMzAgMTk4NSBKdWwKLSsxMDozMCBMSCArMTAzMC8rMTEKLSBaIEFudGFyY3RpY2EvTWFjcXVhcmllIDAgLSAtMDAgMTg5OSBOCi0gMTAgLSBBRVNUIDE5MTYgTyAxIDIKLSAxMCAxIEFFRFQgMTkxNyBGCi0tMTAgbCBBRSVzVCAxOTE5IEFwIDEgMHMKLSsxMCBBVSBBRSVzVCAxOTE5IEFwIDEgMHMKLSAwIC0gLTAwIDE5NDggTWFyIDI1Ci0tMTAgbCBBRSVzVCAxOTY3Ci0tMTAgcSBBRSVzVCAyMDEwIEFwIDQgMwotKzEwIEFVIEFFJXNUIDE5NjcKLSsxMCBBVCBBRSVzVCAyMDEwIEFwIDQgMwotIDExIC0gKzExCi0gWiBJbmRpYW4vQ2hyaXN0bWFzIDc6Mjo1MiAtIExNVCAxODk1IEYKLSA3IC0gKzA3Ci0gWiBJbmRpYW4vQ29jb3MgNjoyNzo0MCAtIExNVCAxOTAwCi0gNjozMCAtICswNjMwCi0tUiB1IDE5OTggMTk5OSAtIE4gU3VuPj0xIDIgMSAtCi0tUiB1IDE5OTkgMjAwMCAtIEYgbGFzdFN1biAzIDAgLQotLVIgdSAyMDA5IG8gLSBOIDI5IDIgMSAtCi0tUiB1IDIwMTAgbyAtIE1hciBsYXN0U3VuIDMgMCAtCi0tUiB1IDIwMTAgMjAxMyAtIE8gU3VuPj0yMSAyIDEgLQotLVIgdSAyMDExIG8gLSBNYXIgU3VuPj0xIDMgMCAtCi0tUiB1IDIwMTIgMjAxMyAtIEphIFN1bj49MTggMyAwIC0KLS1SIHUgMjAxNCBvIC0gSmEgU3VuPj0xOCAyIDAgLQotLVIgdSAyMDE0IG1hIC0gTiBTdW4+PTEgMiAxIC0KLS1SIHUgMjAxNSBtYSAtIEphIFN1bj49MTQgMyAwIC0KLStSIEZKIDE5OTggMTk5OSAtIE4gU3VuPj0xIDIgMSAtCi0rUiBGSiAxOTk5IDIwMDAgLSBGIGxhc3RTdW4gMyAwIC0KLStSIEZKIDIwMDkgbyAtIE4gMjkgMiAxIC0KLStSIEZKIDIwMTAgbyAtIE1hciBsYXN0U3VuIDMgMCAtCi0rUiBGSiAyMDEwIDIwMTMgLSBPIFN1bj49MjEgMiAxIC0KLStSIEZKIDIwMTEgbyAtIE1hciBTdW4+PTEgMyAwIC0KLStSIEZKIDIwMTIgMjAxMyAtIEphIFN1bj49MTggMyAwIC0KLStSIEZKIDIwMTQgbyAtIEphIFN1bj49MTggMiAwIC0KLStSIEZKIDIwMTQgbWEgLSBOIFN1bj49MSAyIDEgLQotK1IgRkogMjAxNSBtYSAtIEphIFN1bj49MTMgMyAwIC0KLSBaIFBhY2lmaWMvRmlqaSAxMTo1NTo0NCAtIExNVCAxOTE1IE8gMjYKLS0xMiB1ICsxMi8rMTMKLSsxMiBGSiArMTIvKzEzCi0gWiBQYWNpZmljL0dhbWJpZXIgLTg6NTk6NDggLSBMTVQgMTkxMiBPCi0gLTkgLSAtMDkKLSBaIFBhY2lmaWMvTWFycXVlc2FzIC05OjE4IC0gTE1UIDE5MTIgTwotQEAgLTEyMzksNTAgKzEyNjMsNTAgQEAgWiBQYWNpZmljL05hdXJ1IDExOjc6NDAgLSBMTVQgMTkyMSBKYSAxNQotIDkgLSArMDkgMTk0NCBBdSAxNQotIDExOjMwIC0gKzExMzAgMTk3OSBNYXkKLSAxMiAtICsxMgotLVIgdiAxOTc3IDE5NzggLSBEIFN1bj49MSAwIDEgLQotLVIgdiAxOTc4IDE5NzkgLSBGIDI3IDAgMCAtCi0tUiB2IDE5OTYgbyAtIEQgMSAycyAxIC0KLS1SIHYgMTk5NyBvIC0gTWFyIDIgMnMgMCAtCi0rUiBOQyAxOTc3IDE5NzggLSBEIFN1bj49MSAwIDEgLQotK1IgTkMgMTk3OCAxOTc5IC0gRiAyNyAwIDAgLQotK1IgTkMgMTk5NiBvIC0gRCAxIDJzIDEgLQotK1IgTkMgMTk5NyBvIC0gTWFyIDIgMnMgMCAtCi0gWiBQYWNpZmljL05vdW1lYSAxMTo1OjQ4IC0gTE1UIDE5MTIgSmEgMTMKLS0xMSB2ICsxMS8rMTIKLS1SIHcgMTkyNyBvIC0gTiA2IDIgMSBTCi0tUiB3IDE5MjggbyAtIE1hciA0IDIgMCBNCi0tUiB3IDE5MjggMTkzMyAtIE8gU3VuPj04IDIgMDozMCBTCi0tUiB3IDE5MjkgMTkzMyAtIE1hciBTdW4+PTE1IDIgMCBNCi0tUiB3IDE5MzQgMTk0MCAtIEFwIGxhc3RTdW4gMiAwIE0KLS1SIHcgMTkzNCAxOTQwIC0gUyBsYXN0U3VuIDIgMDozMCBTCi0tUiB3IDE5NDYgbyAtIEphIDEgMCAwIFMKLS1SIHcgMTk3NCBvIC0gTiBTdW4+PTEgMnMgMSBECi0tUiB4IDE5NzQgbyAtIE4gU3VuPj0xIDI6NDVzIDEgLQotLVIgdyAxOTc1IG8gLSBGIGxhc3RTdW4gMnMgMCBTCi0tUiB4IDE5NzUgbyAtIEYgbGFzdFN1biAyOjQ1cyAwIC0KLS1SIHcgMTk3NSAxOTg4IC0gTyBsYXN0U3VuIDJzIDEgRAotLVIgeCAxOTc1IDE5ODggLSBPIGxhc3RTdW4gMjo0NXMgMSAtCi0tUiB3IDE5NzYgMTk4OSAtIE1hciBTdW4+PTEgMnMgMCBTCi0tUiB4IDE5NzYgMTk4OSAtIE1hciBTdW4+PTEgMjo0NXMgMCAtCi0tUiB3IDE5ODkgbyAtIE8gU3VuPj04IDJzIDEgRAotLVIgeCAxOTg5IG8gLSBPIFN1bj49OCAyOjQ1cyAxIC0KLS1SIHcgMTk5MCAyMDA2IC0gTyBTdW4+PTEgMnMgMSBECi0tUiB4IDE5OTAgMjAwNiAtIE8gU3VuPj0xIDI6NDVzIDEgLQotLVIgdyAxOTkwIDIwMDcgLSBNYXIgU3VuPj0xNSAycyAwIFMKLS1SIHggMTk5MCAyMDA3IC0gTWFyIFN1bj49MTUgMjo0NXMgMCAtCi0tUiB3IDIwMDcgbWEgLSBTIGxhc3RTdW4gMnMgMSBECi0tUiB4IDIwMDcgbWEgLSBTIGxhc3RTdW4gMjo0NXMgMSAtCi0tUiB3IDIwMDggbWEgLSBBcCBTdW4+PTEgMnMgMCBTCi0tUiB4IDIwMDggbWEgLSBBcCBTdW4+PTEgMjo0NXMgMCAtCi0rMTEgTkMgKzExLysxMgotK1IgTlogMTkyNyBvIC0gTiA2IDIgMSBTCi0rUiBOWiAxOTI4IG8gLSBNYXIgNCAyIDAgTQotK1IgTlogMTkyOCAxOTMzIC0gTyBTdW4+PTggMiAwOjMwIFMKLStSIE5aIDE5MjkgMTkzMyAtIE1hciBTdW4+PTE1IDIgMCBNCi0rUiBOWiAxOTM0IDE5NDAgLSBBcCBsYXN0U3VuIDIgMCBNCi0rUiBOWiAxOTM0IDE5NDAgLSBTIGxhc3RTdW4gMiAwOjMwIFMKLStSIE5aIDE5NDYgbyAtIEphIDEgMCAwIFMKLStSIE5aIDE5NzQgbyAtIE4gU3VuPj0xIDJzIDEgRAotK1IgayAxOTc0IG8gLSBOIFN1bj49MSAyOjQ1cyAxIC0KLStSIE5aIDE5NzUgbyAtIEYgbGFzdFN1biAycyAwIFMKLStSIGsgMTk3NSBvIC0gRiBsYXN0U3VuIDI6NDVzIDAgLQotK1IgTlogMTk3NSAxOTg4IC0gTyBsYXN0U3VuIDJzIDEgRAotK1IgayAxOTc1IDE5ODggLSBPIGxhc3RTdW4gMjo0NXMgMSAtCi0rUiBOWiAxOTc2IDE5ODkgLSBNYXIgU3VuPj0xIDJzIDAgUwotK1IgayAxOTc2IDE5ODkgLSBNYXIgU3VuPj0xIDI6NDVzIDAgLQotK1IgTlogMTk4OSBvIC0gTyBTdW4+PTggMnMgMSBECi0rUiBrIDE5ODkgbyAtIE8gU3VuPj04IDI6NDVzIDEgLQotK1IgTlogMTk5MCAyMDA2IC0gTyBTdW4+PTEgMnMgMSBECi0rUiBrIDE5OTAgMjAwNiAtIE8gU3VuPj0xIDI6NDVzIDEgLQotK1IgTlogMTk5MCAyMDA3IC0gTWFyIFN1bj49MTUgMnMgMCBTCi0rUiBrIDE5OTAgMjAwNyAtIE1hciBTdW4+PTE1IDI6NDVzIDAgLQotK1IgTlogMjAwNyBtYSAtIFMgbGFzdFN1biAycyAxIEQKLStSIGsgMjAwNyBtYSAtIFMgbGFzdFN1biAyOjQ1cyAxIC0KLStSIE5aIDIwMDggbWEgLSBBcCBTdW4+PTEgMnMgMCBTCi0rUiBrIDIwMDggbWEgLSBBcCBTdW4+PTEgMjo0NXMgMCAtCi0gWiBQYWNpZmljL0F1Y2tsYW5kIDExOjM5OjQgLSBMTVQgMTg2OCBOIDIKLS0xMTozMCB3IE5aJXNUIDE5NDYKLS0xMiB3IE5aJXNUCi0rMTE6MzAgTlogTlolc1QgMTk0NgotKzEyIE5aIE5aJXNUCi0gWiBQYWNpZmljL0NoYXRoYW0gMTI6MTM6NDggLSBMTVQgMTg2OCBOIDIKLSAxMjoxNSAtICsxMjE1IDE5NDYKLS0xMjo0NSB4ICsxMjQ1LysxMzQ1Ci0rMTI6NDUgayArMTI0NS8rMTM0NQotIExpIFBhY2lmaWMvQXVja2xhbmQgQW50YXJjdGljYS9NY011cmRvCi0tUiB5IDE5NzggbyAtIE4gMTIgMCAwOjMwIC0KLS1SIHkgMTk3OSAxOTkxIC0gTWFyIFN1bj49MSAwIDAgLQotLVIgeSAxOTc5IDE5OTAgLSBPIGxhc3RTdW4gMCAwOjMwIC0KLStSIENLIDE5NzggbyAtIE4gMTIgMCAwOjMwIC0KLStSIENLIDE5NzkgMTk5MSAtIE1hciBTdW4+PTEgMCAwIC0KLStSIENLIDE5NzkgMTk5MCAtIE8gbGFzdFN1biAwIDA6MzAgLQotIFogUGFjaWZpYy9SYXJvdG9uZ2EgLTEwOjM5OjQgLSBMTVQgMTkwMQotIC0xMDozMCAtIC0xMDMwIDE5NzggTiAxMgotLS0xMCB5IC0xMC8tMDkzMAotKy0xMCBDSyAtMTAvLTA5MzAKLSBaIFBhY2lmaWMvTml1ZSAtMTE6MTk6NDAgLSBMTVQgMTkwMQotIC0xMToyMCAtIC0xMTIwIDE5NTEKLSAtMTE6MzAgLSAtMTEzMCAxOTc4IE8KLUBAIC0xMzExLDU3MCArMTMzNSw1NzAgQEAgWiBQYWNpZmljL1BhZ29fUGFnbyAxMjozNzoxMiAtIExNVCAxODkyIEp1bCA1Ci0gLTExOjIyOjQ4IC0gTE1UIDE5MTEKLSAtMTEgLSBTU1QKLSBMaSBQYWNpZmljL1BhZ29fUGFnbyBQYWNpZmljL01pZHdheQotLVIgeiAyMDEwIG8gLSBTIGxhc3RTdW4gMCAxIC0KLS1SIHogMjAxMSBvIC0gQXAgU2F0Pj0xIDQgMCAtCi0tUiB6IDIwMTEgbyAtIFMgbGFzdFNhdCAzIDEgLQotLVIgeiAyMDEyIG1hIC0gQXAgU3VuPj0xIDQgMCAtCi0tUiB6IDIwMTIgbWEgLSBTIGxhc3RTdW4gMyAxIC0KLStSIFdTIDIwMTAgbyAtIFMgbGFzdFN1biAwIDEgLQotK1IgV1MgMjAxMSBvIC0gQXAgU2F0Pj0xIDQgMCAtCi0rUiBXUyAyMDExIG8gLSBTIGxhc3RTYXQgMyAxIC0KLStSIFdTIDIwMTIgbWEgLSBBcCBTdW4+PTEgNCAwIC0KLStSIFdTIDIwMTIgbWEgLSBTIGxhc3RTdW4gMyAxIC0KLSBaIFBhY2lmaWMvQXBpYSAxMjozMzo0IC0gTE1UIDE4OTIgSnVsIDUKLSAtMTE6MjY6NTYgLSBMTVQgMTkxMQotIC0xMTozMCAtIC0xMTMwIDE5NTAKLS0tMTEgeiAtMTEvLTEwIDIwMTEgRCAyOSAyNAotLTEzIHogKzEzLysxNAotKy0xMSBXUyAtMTEvLTEwIDIwMTEgRCAyOSAyNAotKzEzIFdTICsxMy8rMTQKLSBaIFBhY2lmaWMvR3VhZGFsY2FuYWwgMTA6Mzk6NDggLSBMTVQgMTkxMiBPCi0gMTEgLSArMTEKLSBaIFBhY2lmaWMvRmFrYW9mbyAtMTE6MjQ6NTYgLSBMTVQgMTkwMQotIC0xMSAtIC0xMSAyMDExIEQgMzAKLSAxMyAtICsxMwotLVIgISAxOTk5IG8gLSBPIDcgMnMgMSAtCi0tUiAhIDIwMDAgbyAtIE1hciAxOSAycyAwIC0KLS1SICEgMjAwMCAyMDAxIC0gTiBTdW4+PTEgMiAxIC0KLS1SICEgMjAwMSAyMDAyIC0gSmEgbGFzdFN1biAyIDAgLQotLVIgISAyMDE2IG8gLSBOIFN1bj49MSAyIDEgLQotLVIgISAyMDE3IG8gLSBKYSBTdW4+PTE1IDMgMCAtCi0rUiBUTyAxOTk5IG8gLSBPIDcgMnMgMSAtCi0rUiBUTyAyMDAwIG8gLSBNYXIgMTkgMnMgMCAtCi0rUiBUTyAyMDAwIDIwMDEgLSBOIFN1bj49MSAyIDEgLQotK1IgVE8gMjAwMSAyMDAyIC0gSmEgbGFzdFN1biAyIDAgLQotK1IgVE8gMjAxNiBvIC0gTiBTdW4+PTEgMiAxIC0KLStSIFRPIDIwMTcgbyAtIEphIFN1bj49MTUgMyAwIC0KLSBaIFBhY2lmaWMvVG9uZ2F0YXB1IDEyOjE5OjIwIC0gTE1UIDE5MDEKLSAxMjoyMCAtICsxMjIwIDE5NDEKLSAxMyAtICsxMyAxOTk5Ci0tMTMgISArMTMvKzE0Ci0rMTMgVE8gKzEzLysxNAotIFogUGFjaWZpYy9GdW5hZnV0aSAxMTo1Njo1MiAtIExNVCAxOTAxCi0gMTIgLSArMTIKLSBaIFBhY2lmaWMvV2FrZSAxMTo2OjI4IC0gTE1UIDE5MDEKLSAxMiAtICsxMgotLVIgJCAxOTgzIG8gLSBTIDI1IDAgMSAtCi0tUiAkIDE5ODQgMTk5MSAtIE1hciBTdW4+PTIzIDAgMCAtCi0tUiAkIDE5ODQgbyAtIE8gMjMgMCAxIC0KLS1SICQgMTk4NSAxOTkxIC0gUyBTdW4+PTIzIDAgMSAtCi0tUiAkIDE5OTIgMTk5MyAtIEphIFN1bj49MjMgMCAwIC0KLS1SICQgMTk5MiBvIC0gTyBTdW4+PTIzIDAgMSAtCi0rUiBWVSAxOTgzIG8gLSBTIDI1IDAgMSAtCi0rUiBWVSAxOTg0IDE5OTEgLSBNYXIgU3VuPj0yMyAwIDAgLQotK1IgVlUgMTk4NCBvIC0gTyAyMyAwIDEgLQotK1IgVlUgMTk4NSAxOTkxIC0gUyBTdW4+PTIzIDAgMSAtCi0rUiBWVSAxOTkyIDE5OTMgLSBKYSBTdW4+PTIzIDAgMCAtCi0rUiBWVSAxOTkyIG8gLSBPIFN1bj49MjMgMCAxIC0KLSBaIFBhY2lmaWMvRWZhdGUgMTE6MTM6MTYgLSBMTVQgMTkxMiBKYSAxMwotLTExICQgKzExLysxMgotKzExIFZVICsxMS8rMTIKLSBaIFBhY2lmaWMvV2FsbGlzIDEyOjE1OjIwIC0gTE1UIDE5MDEKLSAxMiAtICsxMgotLVIgJSAxOTE2IG8gLSBNYXkgMjEgMnMgMSBCU1QKLS1SICUgMTkxNiBvIC0gTyAxIDJzIDAgR01UCi0tUiAlIDE5MTcgbyAtIEFwIDggMnMgMSBCU1QKLS1SICUgMTkxNyBvIC0gUyAxNyAycyAwIEdNVAotLVIgJSAxOTE4IG8gLSBNYXIgMjQgMnMgMSBCU1QKLS1SICUgMTkxOCBvIC0gUyAzMCAycyAwIEdNVAotLVIgJSAxOTE5IG8gLSBNYXIgMzAgMnMgMSBCU1QKLS1SICUgMTkxOSBvIC0gUyAyOSAycyAwIEdNVAotLVIgJSAxOTIwIG8gLSBNYXIgMjggMnMgMSBCU1QKLS1SICUgMTkyMCBvIC0gTyAyNSAycyAwIEdNVAotLVIgJSAxOTIxIG8gLSBBcCAzIDJzIDEgQlNUCi0tUiAlIDE5MjEgbyAtIE8gMyAycyAwIEdNVAotLVIgJSAxOTIyIG8gLSBNYXIgMjYgMnMgMSBCU1QKLS1SICUgMTkyMiBvIC0gTyA4IDJzIDAgR01UCi0tUiAlIDE5MjMgbyAtIEFwIFN1bj49MTYgMnMgMSBCU1QKLS1SICUgMTkyMyAxOTI0IC0gUyBTdW4+PTE2IDJzIDAgR01UCi0tUiAlIDE5MjQgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotLVIgJSAxOTI1IDE5MjYgLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0tUiAlIDE5MjUgMTkzOCAtIE8gU3VuPj0yIDJzIDAgR01UCi0tUiAlIDE5MjcgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotLVIgJSAxOTI4IDE5MjkgLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0tUiAlIDE5MzAgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotLVIgJSAxOTMxIDE5MzIgLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0tUiAlIDE5MzMgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotLVIgJSAxOTM0IG8gLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0tUiAlIDE5MzUgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotLVIgJSAxOTM2IDE5MzcgLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0tUiAlIDE5MzggbyAtIEFwIFN1bj49OSAycyAxIEJTVAotLVIgJSAxOTM5IG8gLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0tUiAlIDE5MzkgbyAtIE4gU3VuPj0xNiAycyAwIEdNVAotLVIgJSAxOTQwIG8gLSBGIFN1bj49MjMgMnMgMSBCU1QKLS1SICUgMTk0MSBvIC0gTWF5IFN1bj49MiAxcyAyIEJEU1QKLS1SICUgMTk0MSAxOTQzIC0gQXUgU3VuPj05IDFzIDEgQlNUCi0tUiAlIDE5NDIgMTk0NCAtIEFwIFN1bj49MiAxcyAyIEJEU1QKLS1SICUgMTk0NCBvIC0gUyBTdW4+PTE2IDFzIDEgQlNUCi0tUiAlIDE5NDUgbyAtIEFwIE0+PTIgMXMgMiBCRFNUCi0tUiAlIDE5NDUgbyAtIEp1bCBTdW4+PTkgMXMgMSBCU1QKLS1SICUgMTk0NSAxOTQ2IC0gTyBTdW4+PTIgMnMgMCBHTVQKLS1SICUgMTk0NiBvIC0gQXAgU3VuPj05IDJzIDEgQlNUCi0tUiAlIDE5NDcgbyAtIE1hciAxNiAycyAxIEJTVAotLVIgJSAxOTQ3IG8gLSBBcCAxMyAxcyAyIEJEU1QKLS1SICUgMTk0NyBvIC0gQXUgMTAgMXMgMSBCU1QKLS1SICUgMTk0NyBvIC0gTiAyIDJzIDAgR01UCi0tUiAlIDE5NDggbyAtIE1hciAxNCAycyAxIEJTVAotLVIgJSAxOTQ4IG8gLSBPIDMxIDJzIDAgR01UCi0tUiAlIDE5NDkgbyAtIEFwIDMgMnMgMSBCU1QKLS1SICUgMTk0OSBvIC0gTyAzMCAycyAwIEdNVAotLVIgJSAxOTUwIDE5NTIgLSBBcCBTdW4+PTE0IDJzIDEgQlNUCi0tUiAlIDE5NTAgMTk1MiAtIE8gU3VuPj0yMSAycyAwIEdNVAotLVIgJSAxOTUzIG8gLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0tUiAlIDE5NTMgMTk2MCAtIE8gU3VuPj0yIDJzIDAgR01UCi0tUiAlIDE5NTQgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotLVIgJSAxOTU1IDE5NTYgLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0tUiAlIDE5NTcgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotLVIgJSAxOTU4IDE5NTkgLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0tUiAlIDE5NjAgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotLVIgJSAxOTYxIDE5NjMgLSBNYXIgbGFzdFN1biAycyAxIEJTVAotLVIgJSAxOTYxIDE5NjggLSBPIFN1bj49MjMgMnMgMCBHTVQKLS1SICUgMTk2NCAxOTY3IC0gTWFyIFN1bj49MTkgMnMgMSBCU1QKLS1SICUgMTk2OCBvIC0gRiAxOCAycyAxIEJTVAotLVIgJSAxOTcyIDE5ODAgLSBNYXIgU3VuPj0xNiAycyAxIEJTVAotLVIgJSAxOTcyIDE5ODAgLSBPIFN1bj49MjMgMnMgMCBHTVQKLS1SICUgMTk4MSAxOTk1IC0gTWFyIGxhc3RTdW4gMXUgMSBCU1QKLS1SICUgMTk4MSAxOTg5IC0gTyBTdW4+PTIzIDF1IDAgR01UCi0tUiAlIDE5OTAgMTk5NSAtIE8gU3VuPj0yMiAxdSAwIEdNVAotK1IgRyAxOTE2IG8gLSBNYXkgMjEgMnMgMSBCU1QKLStSIEcgMTkxNiBvIC0gTyAxIDJzIDAgR01UCi0rUiBHIDE5MTcgbyAtIEFwIDggMnMgMSBCU1QKLStSIEcgMTkxNyBvIC0gUyAxNyAycyAwIEdNVAotK1IgRyAxOTE4IG8gLSBNYXIgMjQgMnMgMSBCU1QKLStSIEcgMTkxOCBvIC0gUyAzMCAycyAwIEdNVAotK1IgRyAxOTE5IG8gLSBNYXIgMzAgMnMgMSBCU1QKLStSIEcgMTkxOSBvIC0gUyAyOSAycyAwIEdNVAotK1IgRyAxOTIwIG8gLSBNYXIgMjggMnMgMSBCU1QKLStSIEcgMTkyMCBvIC0gTyAyNSAycyAwIEdNVAotK1IgRyAxOTIxIG8gLSBBcCAzIDJzIDEgQlNUCi0rUiBHIDE5MjEgbyAtIE8gMyAycyAwIEdNVAotK1IgRyAxOTIyIG8gLSBNYXIgMjYgMnMgMSBCU1QKLStSIEcgMTkyMiBvIC0gTyA4IDJzIDAgR01UCi0rUiBHIDE5MjMgbyAtIEFwIFN1bj49MTYgMnMgMSBCU1QKLStSIEcgMTkyMyAxOTI0IC0gUyBTdW4+PTE2IDJzIDAgR01UCi0rUiBHIDE5MjQgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotK1IgRyAxOTI1IDE5MjYgLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0rUiBHIDE5MjUgMTkzOCAtIE8gU3VuPj0yIDJzIDAgR01UCi0rUiBHIDE5MjcgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotK1IgRyAxOTI4IDE5MjkgLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0rUiBHIDE5MzAgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotK1IgRyAxOTMxIDE5MzIgLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0rUiBHIDE5MzMgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotK1IgRyAxOTM0IG8gLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0rUiBHIDE5MzUgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotK1IgRyAxOTM2IDE5MzcgLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0rUiBHIDE5MzggbyAtIEFwIFN1bj49OSAycyAxIEJTVAotK1IgRyAxOTM5IG8gLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0rUiBHIDE5MzkgbyAtIE4gU3VuPj0xNiAycyAwIEdNVAotK1IgRyAxOTQwIG8gLSBGIFN1bj49MjMgMnMgMSBCU1QKLStSIEcgMTk0MSBvIC0gTWF5IFN1bj49MiAxcyAyIEJEU1QKLStSIEcgMTk0MSAxOTQzIC0gQXUgU3VuPj05IDFzIDEgQlNUCi0rUiBHIDE5NDIgMTk0NCAtIEFwIFN1bj49MiAxcyAyIEJEU1QKLStSIEcgMTk0NCBvIC0gUyBTdW4+PTE2IDFzIDEgQlNUCi0rUiBHIDE5NDUgbyAtIEFwIE0+PTIgMXMgMiBCRFNUCi0rUiBHIDE5NDUgbyAtIEp1bCBTdW4+PTkgMXMgMSBCU1QKLStSIEcgMTk0NSAxOTQ2IC0gTyBTdW4+PTIgMnMgMCBHTVQKLStSIEcgMTk0NiBvIC0gQXAgU3VuPj05IDJzIDEgQlNUCi0rUiBHIDE5NDcgbyAtIE1hciAxNiAycyAxIEJTVAotK1IgRyAxOTQ3IG8gLSBBcCAxMyAxcyAyIEJEU1QKLStSIEcgMTk0NyBvIC0gQXUgMTAgMXMgMSBCU1QKLStSIEcgMTk0NyBvIC0gTiAyIDJzIDAgR01UCi0rUiBHIDE5NDggbyAtIE1hciAxNCAycyAxIEJTVAotK1IgRyAxOTQ4IG8gLSBPIDMxIDJzIDAgR01UCi0rUiBHIDE5NDkgbyAtIEFwIDMgMnMgMSBCU1QKLStSIEcgMTk0OSBvIC0gTyAzMCAycyAwIEdNVAotK1IgRyAxOTUwIDE5NTIgLSBBcCBTdW4+PTE0IDJzIDEgQlNUCi0rUiBHIDE5NTAgMTk1MiAtIE8gU3VuPj0yMSAycyAwIEdNVAotK1IgRyAxOTUzIG8gLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0rUiBHIDE5NTMgMTk2MCAtIE8gU3VuPj0yIDJzIDAgR01UCi0rUiBHIDE5NTQgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotK1IgRyAxOTU1IDE5NTYgLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0rUiBHIDE5NTcgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotK1IgRyAxOTU4IDE5NTkgLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0rUiBHIDE5NjAgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotK1IgRyAxOTYxIDE5NjMgLSBNYXIgbGFzdFN1biAycyAxIEJTVAotK1IgRyAxOTYxIDE5NjggLSBPIFN1bj49MjMgMnMgMCBHTVQKLStSIEcgMTk2NCAxOTY3IC0gTWFyIFN1bj49MTkgMnMgMSBCU1QKLStSIEcgMTk2OCBvIC0gRiAxOCAycyAxIEJTVAotK1IgRyAxOTcyIDE5ODAgLSBNYXIgU3VuPj0xNiAycyAxIEJTVAotK1IgRyAxOTcyIDE5ODAgLSBPIFN1bj49MjMgMnMgMCBHTVQKLStSIEcgMTk4MSAxOTk1IC0gTWFyIGxhc3RTdW4gMXUgMSBCU1QKLStSIEcgMTk4MSAxOTg5IC0gTyBTdW4+PTIzIDF1IDAgR01UCi0rUiBHIDE5OTAgMTk5NSAtIE8gU3VuPj0yMiAxdSAwIEdNVAotIFogRXVyb3BlL0xvbmRvbiAtMDoxOjE1IC0gTE1UIDE4NDcgRCAxIDBzCi0tMCAlICVzIDE5NjggTyAyNwotKzAgRyAlcyAxOTY4IE8gMjcKLSAxIC0gQlNUIDE5NzEgTyAzMSAydQotLTAgJSAlcyAxOTk2Ci0tMCBPIEdNVC9CU1QKLSswIEcgJXMgMTk5NgotKzAgRSBHTVQvQlNUCi0gTGkgRXVyb3BlL0xvbmRvbiBFdXJvcGUvSmVyc2V5Ci0gTGkgRXVyb3BlL0xvbmRvbiBFdXJvcGUvR3Vlcm5zZXkKLSBMaSBFdXJvcGUvTG9uZG9uIEV1cm9wZS9Jc2xlX29mX01hbgotLVIgJiAxOTcxIG8gLSBPIDMxIDJ1IC0xIC0KLS1SICYgMTk3MiAxOTgwIC0gTWFyIFN1bj49MTYgMnUgMCAtCi0tUiAmIDE5NzIgMTk4MCAtIE8gU3VuPj0yMyAydSAtMSAtCi0tUiAmIDE5ODEgbWEgLSBNYXIgbGFzdFN1biAxdSAwIC0KLS1SICYgMTk4MSAxOTg5IC0gTyBTdW4+PTIzIDF1IC0xIC0KLS1SICYgMTk5MCAxOTk1IC0gTyBTdW4+PTIyIDF1IC0xIC0KLS1SICYgMTk5NiBtYSAtIE8gbGFzdFN1biAxdSAtMSAtCi0rUiBJRSAxOTcxIG8gLSBPIDMxIDJ1IC0xIC0KLStSIElFIDE5NzIgMTk4MCAtIE1hciBTdW4+PTE2IDJ1IDAgLQotK1IgSUUgMTk3MiAxOTgwIC0gTyBTdW4+PTIzIDJ1IC0xIC0KLStSIElFIDE5ODEgbWEgLSBNYXIgbGFzdFN1biAxdSAwIC0KLStSIElFIDE5ODEgMTk4OSAtIE8gU3VuPj0yMyAxdSAtMSAtCi0rUiBJRSAxOTkwIDE5OTUgLSBPIFN1bj49MjIgMXUgLTEgLQotK1IgSUUgMTk5NiBtYSAtIE8gbGFzdFN1biAxdSAtMSAtCi0gWiBFdXJvcGUvRHVibGluIC0wOjI1IC0gTE1UIDE4ODAgQXUgMgotIC0wOjI1OjIxIC0gRE1UIDE5MTYgTWF5IDIxIDJzCi0gLTA6MjU6MjEgMSBJU1QgMTkxNiBPIDEgMnMKLS0wICUgJXMgMTkyMSBEIDYKLS0wICUgR01UL0lTVCAxOTQwIEYgMjUgMnMKLSswIEcgJXMgMTkyMSBEIDYKLSswIEcgR01UL0lTVCAxOTQwIEYgMjUgMnMKLSAwIDEgSVNUIDE5NDYgTyA2IDJzCi0gMCAtIEdNVCAxOTQ3IE1hciAxNiAycwotIDAgMSBJU1QgMTk0NyBOIDIgMnMKLSAwIC0gR01UIDE5NDggQXAgMTggMnMKLS0wICUgR01UL0lTVCAxOTY4IE8gMjcKLS0xICYgSVNUL0dNVAotLVIgTyAxOTc3IDE5ODAgLSBBcCBTdW4+PTEgMXUgMSBTCi0tUiBPIDE5NzcgbyAtIFMgbGFzdFN1biAxdSAwIC0KLS1SIE8gMTk3OCBvIC0gTyAxIDF1IDAgLQotLVIgTyAxOTc5IDE5OTUgLSBTIGxhc3RTdW4gMXUgMCAtCi0tUiBPIDE5ODEgbWEgLSBNYXIgbGFzdFN1biAxdSAxIFMKLS1SIE8gMTk5NiBtYSAtIE8gbGFzdFN1biAxdSAwIC0KLS1SICcgMTk3NyAxOTgwIC0gQXAgU3VuPj0xIDFzIDEgUwotLVIgJyAxOTc3IG8gLSBTIGxhc3RTdW4gMXMgMCAtCi0tUiAnIDE5NzggbyAtIE8gMSAxcyAwIC0KLS1SICcgMTk3OSAxOTk1IC0gUyBsYXN0U3VuIDFzIDAgLQotLVIgJyAxOTgxIG1hIC0gTWFyIGxhc3RTdW4gMXMgMSBTCi0tUiAnIDE5OTYgbWEgLSBPIGxhc3RTdW4gMXMgMCAtCi0tUiAoIDE5MTYgbyAtIEFwIDMwIDIzIDEgUwotLVIgKCAxOTE2IG8gLSBPIDEgMSAwIC0KLS1SICggMTkxNyAxOTE4IC0gQXAgTT49MTUgMnMgMSBTCi0tUiAoIDE5MTcgMTkxOCAtIFMgTT49MTUgMnMgMCAtCi0tUiAoIDE5NDAgbyAtIEFwIDEgMnMgMSBTCi0tUiAoIDE5NDIgbyAtIE4gMiAycyAwIC0KLS1SICggMTk0MyBvIC0gTWFyIDI5IDJzIDEgUwotLVIgKCAxOTQzIG8gLSBPIDQgMnMgMCAtCi0tUiAoIDE5NDQgMTk0NSAtIEFwIE0+PTEgMnMgMSBTCi0tUiAoIDE5NDQgbyAtIE8gMiAycyAwIC0KLS1SICggMTk0NSBvIC0gUyAxNiAycyAwIC0KLS1SICggMTk3NyAxOTgwIC0gQXAgU3VuPj0xIDJzIDEgUwotLVIgKCAxOTc3IG8gLSBTIGxhc3RTdW4gMnMgMCAtCi0tUiAoIDE5NzggbyAtIE8gMSAycyAwIC0KLS1SICggMTk3OSAxOTk1IC0gUyBsYXN0U3VuIDJzIDAgLQotLVIgKCAxOTgxIG1hIC0gTWFyIGxhc3RTdW4gMnMgMSBTCi0tUiAoIDE5OTYgbWEgLSBPIGxhc3RTdW4gMnMgMCAtCi0tUiBXIDE5NzcgMTk4MCAtIEFwIFN1bj49MSAwIDEgUwotLVIgVyAxOTc3IG8gLSBTIGxhc3RTdW4gMCAwIC0KLS1SIFcgMTk3OCBvIC0gTyAxIDAgMCAtCi0tUiBXIDE5NzkgMTk5NSAtIFMgbGFzdFN1biAwIDAgLQotLVIgVyAxOTgxIG1hIC0gTWFyIGxhc3RTdW4gMCAxIFMKLS1SIFcgMTk5NiBtYSAtIE8gbGFzdFN1biAwIDAgLQotLVIgTSAxOTE3IG8gLSBKdWwgMSAyMyAxIE1TVAotLVIgTSAxOTE3IG8gLSBEIDI4IDAgMCBNTVQKLS1SIE0gMTkxOCBvIC0gTWF5IDMxIDIyIDIgTURTVAotLVIgTSAxOTE4IG8gLSBTIDE2IDEgMSBNU1QKLS1SIE0gMTkxOSBvIC0gTWF5IDMxIDIzIDIgTURTVAotLVIgTSAxOTE5IG8gLSBKdWwgMSAwdSAxIE1TRAotLVIgTSAxOTE5IG8gLSBBdSAxNiAwIDAgTVNLCi0tUiBNIDE5MjEgbyAtIEYgMTQgMjMgMSBNU0QKLS1SIE0gMTkyMSBvIC0gTWFyIDIwIDIzIDIgKzA1Ci0tUiBNIDE5MjEgbyAtIFMgMSAwIDEgTVNECi0tUiBNIDE5MjEgbyAtIE8gMSAwIDAgLQotLVIgTSAxOTgxIDE5ODQgLSBBcCAxIDAgMSBTCi0tUiBNIDE5ODEgMTk4MyAtIE8gMSAwIDAgLQotLVIgTSAxOTg0IDE5OTUgLSBTIGxhc3RTdW4gMnMgMCAtCi0tUiBNIDE5ODUgMjAxMCAtIE1hciBsYXN0U3VuIDJzIDEgUwotLVIgTSAxOTk2IDIwMTAgLSBPIGxhc3RTdW4gMnMgMCAtCi0tWiBXRVQgMCBPIFdFJXNUCi0tWiBDRVQgMSAoIENFJXNUCi0tWiBNRVQgMSAoIE1FJXNUCi0tWiBFRVQgMiBPIEVFJXNUCi0tUiApIDE5NDAgbyAtIEp1biAxNiAwIDEgUwotLVIgKSAxOTQyIG8gLSBOIDIgMyAwIC0KLS1SICkgMTk0MyBvIC0gTWFyIDI5IDIgMSBTCi0tUiApIDE5NDMgbyAtIEFwIDEwIDMgMCAtCi0tUiApIDE5NzQgbyAtIE1heSA0IDAgMSBTCi0tUiApIDE5NzQgbyAtIE8gMiAwIDAgLQotLVIgKSAxOTc1IG8gLSBNYXkgMSAwIDEgUwotLVIgKSAxOTc1IG8gLSBPIDIgMCAwIC0KLS1SICkgMTk3NiBvIC0gTWF5IDIgMCAxIFMKLS1SICkgMTk3NiBvIC0gTyAzIDAgMCAtCi0tUiApIDE5NzcgbyAtIE1heSA4IDAgMSBTCi0tUiApIDE5NzcgbyAtIE8gMiAwIDAgLQotLVIgKSAxOTc4IG8gLSBNYXkgNiAwIDEgUwotLVIgKSAxOTc4IG8gLSBPIDEgMCAwIC0KLS1SICkgMTk3OSBvIC0gTWF5IDUgMCAxIFMKLS1SICkgMTk3OSBvIC0gUyAzMCAwIDAgLQotLVIgKSAxOTgwIG8gLSBNYXkgMyAwIDEgUwotLVIgKSAxOTgwIG8gLSBPIDQgMCAwIC0KLS1SICkgMTk4MSBvIC0gQXAgMjYgMCAxIFMKLS1SICkgMTk4MSBvIC0gUyAyNyAwIDAgLQotLVIgKSAxOTgyIG8gLSBNYXkgMiAwIDEgUwotLVIgKSAxOTgyIG8gLSBPIDMgMCAwIC0KLS1SICkgMTk4MyBvIC0gQXAgMTggMCAxIFMKLS1SICkgMTk4MyBvIC0gTyAxIDAgMCAtCi0tUiApIDE5ODQgbyAtIEFwIDEgMCAxIFMKLSswIEcgR01UL0lTVCAxOTY4IE8gMjcKLSsxIElFIElTVC9HTVQKLStSIEUgMTk3NyAxOTgwIC0gQXAgU3VuPj0xIDF1IDEgUwotK1IgRSAxOTc3IG8gLSBTIGxhc3RTdW4gMXUgMCAtCi0rUiBFIDE5NzggbyAtIE8gMSAxdSAwIC0KLStSIEUgMTk3OSAxOTk1IC0gUyBsYXN0U3VuIDF1IDAgLQotK1IgRSAxOTgxIG1hIC0gTWFyIGxhc3RTdW4gMXUgMSBTCi0rUiBFIDE5OTYgbWEgLSBPIGxhc3RTdW4gMXUgMCAtCi0rUiBXLSAxOTc3IDE5ODAgLSBBcCBTdW4+PTEgMXMgMSBTCi0rUiBXLSAxOTc3IG8gLSBTIGxhc3RTdW4gMXMgMCAtCi0rUiBXLSAxOTc4IG8gLSBPIDEgMXMgMCAtCi0rUiBXLSAxOTc5IDE5OTUgLSBTIGxhc3RTdW4gMXMgMCAtCi0rUiBXLSAxOTgxIG1hIC0gTWFyIGxhc3RTdW4gMXMgMSBTCi0rUiBXLSAxOTk2IG1hIC0gTyBsYXN0U3VuIDFzIDAgLQotK1IgYyAxOTE2IG8gLSBBcCAzMCAyMyAxIFMKLStSIGMgMTkxNiBvIC0gTyAxIDEgMCAtCi0rUiBjIDE5MTcgMTkxOCAtIEFwIE0+PTE1IDJzIDEgUwotK1IgYyAxOTE3IDE5MTggLSBTIE0+PTE1IDJzIDAgLQotK1IgYyAxOTQwIG8gLSBBcCAxIDJzIDEgUwotK1IgYyAxOTQyIG8gLSBOIDIgMnMgMCAtCi0rUiBjIDE5NDMgbyAtIE1hciAyOSAycyAxIFMKLStSIGMgMTk0MyBvIC0gTyA0IDJzIDAgLQotK1IgYyAxOTQ0IDE5NDUgLSBBcCBNPj0xIDJzIDEgUwotK1IgYyAxOTQ0IG8gLSBPIDIgMnMgMCAtCi0rUiBjIDE5NDUgbyAtIFMgMTYgMnMgMCAtCi0rUiBjIDE5NzcgMTk4MCAtIEFwIFN1bj49MSAycyAxIFMKLStSIGMgMTk3NyBvIC0gUyBsYXN0U3VuIDJzIDAgLQotK1IgYyAxOTc4IG8gLSBPIDEgMnMgMCAtCi0rUiBjIDE5NzkgMTk5NSAtIFMgbGFzdFN1biAycyAwIC0KLStSIGMgMTk4MSBtYSAtIE1hciBsYXN0U3VuIDJzIDEgUwotK1IgYyAxOTk2IG1hIC0gTyBsYXN0U3VuIDJzIDAgLQotK1IgZSAxOTc3IDE5ODAgLSBBcCBTdW4+PTEgMCAxIFMKLStSIGUgMTk3NyBvIC0gUyBsYXN0U3VuIDAgMCAtCi0rUiBlIDE5NzggbyAtIE8gMSAwIDAgLQotK1IgZSAxOTc5IDE5OTUgLSBTIGxhc3RTdW4gMCAwIC0KLStSIGUgMTk4MSBtYSAtIE1hciBsYXN0U3VuIDAgMSBTCi0rUiBlIDE5OTYgbWEgLSBPIGxhc3RTdW4gMCAwIC0KLStSIFIgMTkxNyBvIC0gSnVsIDEgMjMgMSBNU1QKLStSIFIgMTkxNyBvIC0gRCAyOCAwIDAgTU1UCi0rUiBSIDE5MTggbyAtIE1heSAzMSAyMiAyIE1EU1QKLStSIFIgMTkxOCBvIC0gUyAxNiAxIDEgTVNUCi0rUiBSIDE5MTkgbyAtIE1heSAzMSAyMyAyIE1EU1QKLStSIFIgMTkxOSBvIC0gSnVsIDEgMHUgMSBNU0QKLStSIFIgMTkxOSBvIC0gQXUgMTYgMCAwIE1TSwotK1IgUiAxOTIxIG8gLSBGIDE0IDIzIDEgTVNECi0rUiBSIDE5MjEgbyAtIE1hciAyMCAyMyAyICswNQotK1IgUiAxOTIxIG8gLSBTIDEgMCAxIE1TRAotK1IgUiAxOTIxIG8gLSBPIDEgMCAwIC0KLStSIFIgMTk4MSAxOTg0IC0gQXAgMSAwIDEgUwotK1IgUiAxOTgxIDE5ODMgLSBPIDEgMCAwIC0KLStSIFIgMTk4NCAxOTk1IC0gUyBsYXN0U3VuIDJzIDAgLQotK1IgUiAxOTg1IDIwMTAgLSBNYXIgbGFzdFN1biAycyAxIFMKLStSIFIgMTk5NiAyMDEwIC0gTyBsYXN0U3VuIDJzIDAgLQotK1ogV0VUIDAgRSBXRSVzVAotK1ogQ0VUIDEgYyBDRSVzVAotK1ogTUVUIDEgYyBNRSVzVAotK1ogRUVUIDIgRSBFRSVzVAotK1IgcSAxOTQwIG8gLSBKdW4gMTYgMCAxIFMKLStSIHEgMTk0MiBvIC0gTiAyIDMgMCAtCi0rUiBxIDE5NDMgbyAtIE1hciAyOSAyIDEgUwotK1IgcSAxOTQzIG8gLSBBcCAxMCAzIDAgLQotK1IgcSAxOTc0IG8gLSBNYXkgNCAwIDEgUwotK1IgcSAxOTc0IG8gLSBPIDIgMCAwIC0KLStSIHEgMTk3NSBvIC0gTWF5IDEgMCAxIFMKLStSIHEgMTk3NSBvIC0gTyAyIDAgMCAtCi0rUiBxIDE5NzYgbyAtIE1heSAyIDAgMSBTCi0rUiBxIDE5NzYgbyAtIE8gMyAwIDAgLQotK1IgcSAxOTc3IG8gLSBNYXkgOCAwIDEgUwotK1IgcSAxOTc3IG8gLSBPIDIgMCAwIC0KLStSIHEgMTk3OCBvIC0gTWF5IDYgMCAxIFMKLStSIHEgMTk3OCBvIC0gTyAxIDAgMCAtCi0rUiBxIDE5NzkgbyAtIE1heSA1IDAgMSBTCi0rUiBxIDE5NzkgbyAtIFMgMzAgMCAwIC0KLStSIHEgMTk4MCBvIC0gTWF5IDMgMCAxIFMKLStSIHEgMTk4MCBvIC0gTyA0IDAgMCAtCi0rUiBxIDE5ODEgbyAtIEFwIDI2IDAgMSBTCi0rUiBxIDE5ODEgbyAtIFMgMjcgMCAwIC0KLStSIHEgMTk4MiBvIC0gTWF5IDIgMCAxIFMKLStSIHEgMTk4MiBvIC0gTyAzIDAgMCAtCi0rUiBxIDE5ODMgbyAtIEFwIDE4IDAgMSBTCi0rUiBxIDE5ODMgbyAtIE8gMSAwIDAgLQotK1IgcSAxOTg0IG8gLSBBcCAxIDAgMSBTCi0gWiBFdXJvcGUvVGlyYW5lIDE6MTk6MjAgLSBMTVQgMTkxNAotIDEgLSBDRVQgMTk0MCBKdW4gMTYKLS0xICkgQ0Ulc1QgMTk4NCBKdWwKLS0xIE8gQ0Ulc1QKLSsxIHEgQ0Ulc1QgMTk4NCBKdWwKLSsxIEUgQ0Ulc1QKLSBaIEV1cm9wZS9BbmRvcnJhIDA6Njo0IC0gTE1UIDE5MDEKLSAwIC0gV0VUIDE5NDYgUyAzMAotIDEgLSBDRVQgMTk4NSBNYXIgMzEgMgotLTEgTyBDRSVzVAotLVIgKiAxOTIwIG8gLSBBcCA1IDJzIDEgUwotLVIgKiAxOTIwIG8gLSBTIDEzIDJzIDAgLQotLVIgKiAxOTQ2IG8gLSBBcCAxNCAycyAxIFMKLS1SICogMTk0NiAxOTQ4IC0gTyBTdW4+PTEgMnMgMCAtCi0tUiAqIDE5NDcgbyAtIEFwIDYgMnMgMSBTCi0tUiAqIDE5NDggbyAtIEFwIDE4IDJzIDEgUwotLVIgKiAxOTgwIG8gLSBBcCA2IDAgMSBTCi0tUiAqIDE5ODAgbyAtIFMgMjggMCAwIC0KLSsxIEUgQ0Ulc1QKLStSIGEgMTkyMCBvIC0gQXAgNSAycyAxIFMKLStSIGEgMTkyMCBvIC0gUyAxMyAycyAwIC0KLStSIGEgMTk0NiBvIC0gQXAgMTQgMnMgMSBTCi0rUiBhIDE5NDYgMTk0OCAtIE8gU3VuPj0xIDJzIDAgLQotK1IgYSAxOTQ3IG8gLSBBcCA2IDJzIDEgUwotK1IgYSAxOTQ4IG8gLSBBcCAxOCAycyAxIFMKLStSIGEgMTk4MCBvIC0gQXAgNiAwIDEgUwotK1IgYSAxOTgwIG8gLSBTIDI4IDAgMCAtCi0gWiBFdXJvcGUvVmllbm5hIDE6NToyMSAtIExNVCAxODkzIEFwCi0tMSAoIENFJXNUIDE5MjAKLS0xICogQ0Ulc1QgMTk0MCBBcCAxIDJzCi0tMSAoIENFJXNUIDE5NDUgQXAgMiAycwotKzEgYyBDRSVzVCAxOTIwCi0rMSBhIENFJXNUIDE5NDAgQXAgMSAycwotKzEgYyBDRSVzVCAxOTQ1IEFwIDIgMnMKLSAxIDEgQ0VTVCAxOTQ1IEFwIDEyIDJzCi0gMSAtIENFVCAxOTQ2Ci0tMSAqIENFJXNUIDE5ODEKLS0xIE8gQ0Ulc1QKLSsxIGEgQ0Ulc1QgMTk4MQotKzEgRSBDRSVzVAotIFogRXVyb3BlL01pbnNrIDE6NTA6MTYgLSBMTVQgMTg4MAotIDE6NTAgLSBNTVQgMTkyNCBNYXkgMgotIDIgLSBFRVQgMTkzMCBKdW4gMjEKLSAzIC0gTVNLIDE5NDEgSnVuIDI4Ci0tMSAoIENFJXNUIDE5NDQgSnVsIDMKLS0zIE0gTVNLL01TRCAxOTkwCi0rMSBjIENFJXNUIDE5NDQgSnVsIDMKLSszIFIgTVNLL01TRCAxOTkwCi0gMyAtIE1TSyAxOTkxIE1hciAzMSAycwotLTIgTSBFRSVzVCAyMDExIE1hciAyNyAycwotKzIgUiBFRSVzVCAyMDExIE1hciAyNyAycwotIDMgLSArMDMKLS1SICsgMTkxOCBvIC0gTWFyIDkgMHMgMSBTCi0tUiArIDE5MTggMTkxOSAtIE8gU2F0Pj0xIDIzcyAwIC0KLS1SICsgMTkxOSBvIC0gTWFyIDEgMjNzIDEgUwotLVIgKyAxOTIwIG8gLSBGIDE0IDIzcyAxIFMKLS1SICsgMTkyMCBvIC0gTyAyMyAyM3MgMCAtCi0tUiArIDE5MjEgbyAtIE1hciAxNCAyM3MgMSBTCi0tUiArIDE5MjEgbyAtIE8gMjUgMjNzIDAgLQotLVIgKyAxOTIyIG8gLSBNYXIgMjUgMjNzIDEgUwotLVIgKyAxOTIyIDE5MjcgLSBPIFNhdD49MSAyM3MgMCAtCi0tUiArIDE5MjMgbyAtIEFwIDIxIDIzcyAxIFMKLS1SICsgMTkyNCBvIC0gTWFyIDI5IDIzcyAxIFMKLS1SICsgMTkyNSBvIC0gQXAgNCAyM3MgMSBTCi0tUiArIDE5MjYgbyAtIEFwIDE3IDIzcyAxIFMKLS1SICsgMTkyNyBvIC0gQXAgOSAyM3MgMSBTCi0tUiArIDE5MjggbyAtIEFwIDE0IDIzcyAxIFMKLS1SICsgMTkyOCAxOTM4IC0gTyBTdW4+PTIgMnMgMCAtCi0tUiArIDE5MjkgbyAtIEFwIDIxIDJzIDEgUwotLVIgKyAxOTMwIG8gLSBBcCAxMyAycyAxIFMKLS1SICsgMTkzMSBvIC0gQXAgMTkgMnMgMSBTCi0tUiArIDE5MzIgbyAtIEFwIDMgMnMgMSBTCi0tUiArIDE5MzMgbyAtIE1hciAyNiAycyAxIFMKLS1SICsgMTkzNCBvIC0gQXAgOCAycyAxIFMKLS1SICsgMTkzNSBvIC0gTWFyIDMxIDJzIDEgUwotLVIgKyAxOTM2IG8gLSBBcCAxOSAycyAxIFMKLS1SICsgMTkzNyBvIC0gQXAgNCAycyAxIFMKLS1SICsgMTkzOCBvIC0gTWFyIDI3IDJzIDEgUwotLVIgKyAxOTM5IG8gLSBBcCAxNiAycyAxIFMKLS1SICsgMTkzOSBvIC0gTiAxOSAycyAwIC0KLS1SICsgMTk0MCBvIC0gRiAyNSAycyAxIFMKLS1SICsgMTk0NCBvIC0gUyAxNyAycyAwIC0KLS1SICsgMTk0NSBvIC0gQXAgMiAycyAxIFMKLS1SICsgMTk0NSBvIC0gUyAxNiAycyAwIC0KLS1SICsgMTk0NiBvIC0gTWF5IDE5IDJzIDEgUwotLVIgKyAxOTQ2IG8gLSBPIDcgMnMgMCAtCi0rUiBiIDE5MTggbyAtIE1hciA5IDBzIDEgUwotK1IgYiAxOTE4IDE5MTkgLSBPIFNhdD49MSAyM3MgMCAtCi0rUiBiIDE5MTkgbyAtIE1hciAxIDIzcyAxIFMKLStSIGIgMTkyMCBvIC0gRiAxNCAyM3MgMSBTCi0rUiBiIDE5MjAgbyAtIE8gMjMgMjNzIDAgLQotK1IgYiAxOTIxIG8gLSBNYXIgMTQgMjNzIDEgUwotK1IgYiAxOTIxIG8gLSBPIDI1IDIzcyAwIC0KLStSIGIgMTkyMiBvIC0gTWFyIDI1IDIzcyAxIFMKLStSIGIgMTkyMiAxOTI3IC0gTyBTYXQ+PTEgMjNzIDAgLQotK1IgYiAxOTIzIG8gLSBBcCAyMSAyM3MgMSBTCi0rUiBiIDE5MjQgbyAtIE1hciAyOSAyM3MgMSBTCi0rUiBiIDE5MjUgbyAtIEFwIDQgMjNzIDEgUwotK1IgYiAxOTI2IG8gLSBBcCAxNyAyM3MgMSBTCi0rUiBiIDE5MjcgbyAtIEFwIDkgMjNzIDEgUwotK1IgYiAxOTI4IG8gLSBBcCAxNCAyM3MgMSBTCi0rUiBiIDE5MjggMTkzOCAtIE8gU3VuPj0yIDJzIDAgLQotK1IgYiAxOTI5IG8gLSBBcCAyMSAycyAxIFMKLStSIGIgMTkzMCBvIC0gQXAgMTMgMnMgMSBTCi0rUiBiIDE5MzEgbyAtIEFwIDE5IDJzIDEgUwotK1IgYiAxOTMyIG8gLSBBcCAzIDJzIDEgUwotK1IgYiAxOTMzIG8gLSBNYXIgMjYgMnMgMSBTCi0rUiBiIDE5MzQgbyAtIEFwIDggMnMgMSBTCi0rUiBiIDE5MzUgbyAtIE1hciAzMSAycyAxIFMKLStSIGIgMTkzNiBvIC0gQXAgMTkgMnMgMSBTCi0rUiBiIDE5MzcgbyAtIEFwIDQgMnMgMSBTCi0rUiBiIDE5MzggbyAtIE1hciAyNyAycyAxIFMKLStSIGIgMTkzOSBvIC0gQXAgMTYgMnMgMSBTCi0rUiBiIDE5MzkgbyAtIE4gMTkgMnMgMCAtCi0rUiBiIDE5NDAgbyAtIEYgMjUgMnMgMSBTCi0rUiBiIDE5NDQgbyAtIFMgMTcgMnMgMCAtCi0rUiBiIDE5NDUgbyAtIEFwIDIgMnMgMSBTCi0rUiBiIDE5NDUgbyAtIFMgMTYgMnMgMCAtCi0rUiBiIDE5NDYgbyAtIE1heSAxOSAycyAxIFMKLStSIGIgMTk0NiBvIC0gTyA3IDJzIDAgLQotIFogRXVyb3BlL0JydXNzZWxzIDA6MTc6MzAgLSBMTVQgMTg4MAotIDA6MTc6MzAgLSBCTVQgMTg5MiBNYXkgMSAxMgotIDAgLSBXRVQgMTkxNCBOIDgKLSAxIC0gQ0VUIDE5MTYgTWF5Ci0tMSAoIENFJXNUIDE5MTggTiAxMSAxMXUKLS0wICsgV0Ulc1QgMTk0MCBNYXkgMjAgMnMKLS0xICggQ0Ulc1QgMTk0NCBTIDMKLS0xICsgQ0Ulc1QgMTk3NwotLTEgTyBDRSVzVAotLVIgLCAxOTc5IG8gLSBNYXIgMzEgMjMgMSBTCi0tUiAsIDE5NzkgbyAtIE8gMSAxIDAgLQotLVIgLCAxOTgwIDE5ODIgLSBBcCBTYXQ+PTEgMjMgMSBTCi0tUiAsIDE5ODAgbyAtIFMgMjkgMSAwIC0KLS1SICwgMTk4MSBvIC0gUyAyNyAyIDAgLQotKzEgYyBDRSVzVCAxOTE4IE4gMTEgMTF1Ci0rMCBiIFdFJXNUIDE5NDAgTWF5IDIwIDJzCi0rMSBjIENFJXNUIDE5NDQgUyAzCi0rMSBiIENFJXNUIDE5NzcKLSsxIEUgQ0Ulc1QKLStSIEJHIDE5NzkgbyAtIE1hciAzMSAyMyAxIFMKLStSIEJHIDE5NzkgbyAtIE8gMSAxIDAgLQotK1IgQkcgMTk4MCAxOTgyIC0gQXAgU2F0Pj0xIDIzIDEgUwotK1IgQkcgMTk4MCBvIC0gUyAyOSAxIDAgLQotK1IgQkcgMTk4MSBvIC0gUyAyNyAyIDAgLQotIFogRXVyb3BlL1NvZmlhIDE6MzM6MTYgLSBMTVQgMTg4MAotIDE6NTY6NTYgLSBJTVQgMTg5NCBOIDMwCi0gMiAtIEVFVCAxOTQyIE4gMiAzCi0tMSAoIENFJXNUIDE5NDUKLSsxIGMgQ0Ulc1QgMTk0NQotIDEgLSBDRVQgMTk0NSBBcCAyIDMKLSAyIC0gRUVUIDE5NzkgTWFyIDMxIDIzCi0tMiAsIEVFJXNUIDE5ODIgUyAyNiAzCi0tMiAoIEVFJXNUIDE5OTEKLS0yIFcgRUUlc1QgMTk5NwotLTIgTyBFRSVzVAotLVIgLiAxOTQ1IG8gLSBBcCBNPj0xIDJzIDEgUwotLVIgLiAxOTQ1IG8gLSBPIDEgMnMgMCAtCi0tUiAuIDE5NDYgbyAtIE1heSA2IDJzIDEgUwotLVIgLiAxOTQ2IDE5NDkgLSBPIFN1bj49MSAycyAwIC0KLS1SIC4gMTk0NyAxOTQ4IC0gQXAgU3VuPj0xNSAycyAxIFMKLS1SIC4gMTk0OSBvIC0gQXAgOSAycyAxIFMKLSsyIEJHIEVFJXNUIDE5ODIgUyAyNiAzCi0rMiBjIEVFJXNUIDE5OTEKLSsyIGUgRUUlc1QgMTk5NwotKzIgRSBFRSVzVAotK1IgQ1ogMTk0NSBvIC0gQXAgTT49MSAycyAxIFMKLStSIENaIDE5NDUgbyAtIE8gMSAycyAwIC0KLStSIENaIDE5NDYgbyAtIE1heSA2IDJzIDEgUwotK1IgQ1ogMTk0NiAxOTQ5IC0gTyBTdW4+PTEgMnMgMCAtCi0rUiBDWiAxOTQ3IDE5NDggLSBBcCBTdW4+PTE1IDJzIDEgUwotK1IgQ1ogMTk0OSBvIC0gQXAgOSAycyAxIFMKLSBaIEV1cm9wZS9QcmFndWUgMDo1Nzo0NCAtIExNVCAxODUwCi0gMDo1Nzo0NCAtIFBNVCAxODkxIE8KLS0xICggQ0Ulc1QgMTk0NSBNYXkgOQotLTEgLiBDRSVzVCAxOTQ2IEQgMSAzCi0rMSBjIENFJXNUIDE5NDUgTWF5IDkKLSsxIENaIENFJXNUIDE5NDYgRCAxIDMKLSAxIC0xIEdNVCAxOTQ3IEYgMjMgMgotLTEgLiBDRSVzVCAxOTc5Ci0tMSBPIENFJXNUCi0tUiAvIDE5MTYgbyAtIE1heSAxNCAyMyAxIFMKLS1SIC8gMTkxNiBvIC0gUyAzMCAyMyAwIC0KLS1SIC8gMTk0MCBvIC0gTWF5IDE1IDAgMSBTCi0tUiAvIDE5NDUgbyAtIEFwIDIgMnMgMSBTCi0tUiAvIDE5NDUgbyAtIEF1IDE1IDJzIDAgLQotLVIgLyAxOTQ2IG8gLSBNYXkgMSAycyAxIFMKLS1SIC8gMTk0NiBvIC0gUyAxIDJzIDAgLQotLVIgLyAxOTQ3IG8gLSBNYXkgNCAycyAxIFMKLS1SIC8gMTk0NyBvIC0gQXUgMTAgMnMgMCAtCi0tUiAvIDE5NDggbyAtIE1heSA5IDJzIDEgUwotLVIgLyAxOTQ4IG8gLSBBdSA4IDJzIDAgLQotKzEgQ1ogQ0Ulc1QgMTk3OQotKzEgRSBDRSVzVAotK1IgRCAxOTE2IG8gLSBNYXkgMTQgMjMgMSBTCi0rUiBEIDE5MTYgbyAtIFMgMzAgMjMgMCAtCi0rUiBEIDE5NDAgbyAtIE1heSAxNSAwIDEgUwotK1IgRCAxOTQ1IG8gLSBBcCAyIDJzIDEgUwotK1IgRCAxOTQ1IG8gLSBBdSAxNSAycyAwIC0KLStSIEQgMTk0NiBvIC0gTWF5IDEgMnMgMSBTCi0rUiBEIDE5NDYgbyAtIFMgMSAycyAwIC0KLStSIEQgMTk0NyBvIC0gTWF5IDQgMnMgMSBTCi0rUiBEIDE5NDcgbyAtIEF1IDEwIDJzIDAgLQotK1IgRCAxOTQ4IG8gLSBNYXkgOSAycyAxIFMKLStSIEQgMTk0OCBvIC0gQXUgOCAycyAwIC0KLSBaIEV1cm9wZS9Db3BlbmhhZ2VuIDA6NTA6MjAgLSBMTVQgMTg5MAotIDA6NTA6MjAgLSBDTVQgMTg5NAotLTEgLyBDRSVzVCAxOTQyIE4gMiAycwotLTEgKCBDRSVzVCAxOTQ1IEFwIDIgMgotLTEgLyBDRSVzVCAxOTgwCi0tMSBPIENFJXNUCi0rMSBEIENFJXNUIDE5NDIgTiAyIDJzCi0rMSBjIENFJXNUIDE5NDUgQXAgMiAyCi0rMSBEIENFJXNUIDE5ODAKLSsxIEUgQ0Ulc1QKLSBaIEF0bGFudGljL0Zhcm9lIC0wOjI3OjQgLSBMTVQgMTkwOCBKYSAxMQotIDAgLSBXRVQgMTk4MQotLTAgTyBXRSVzVAotLVIgOiAxOTkxIDE5OTIgLSBNYXIgbGFzdFN1biAyIDEgRAotLVIgOiAxOTkxIDE5OTIgLSBTIGxhc3RTdW4gMiAwIFMKLS1SIDogMTk5MyAyMDA2IC0gQXAgU3VuPj0xIDIgMSBECi0tUiA6IDE5OTMgMjAwNiAtIE8gbGFzdFN1biAyIDAgUwotLVIgOiAyMDA3IG1hIC0gTWFyIFN1bj49OCAyIDEgRAotLVIgOiAyMDA3IG1hIC0gTiBTdW4+PTEgMiAwIFMKLSswIEUgV0Ulc1QKLStSIFRoIDE5OTEgMTk5MiAtIE1hciBsYXN0U3VuIDIgMSBECi0rUiBUaCAxOTkxIDE5OTIgLSBTIGxhc3RTdW4gMiAwIFMKLStSIFRoIDE5OTMgMjAwNiAtIEFwIFN1bj49MSAyIDEgRAotK1IgVGggMTk5MyAyMDA2IC0gTyBsYXN0U3VuIDIgMCBTCi0rUiBUaCAyMDA3IG1hIC0gTWFyIFN1bj49OCAyIDEgRAotK1IgVGggMjAwNyBtYSAtIE4gU3VuPj0xIDIgMCBTCi0gWiBBbWVyaWNhL0Rhbm1hcmtzaGF2biAtMToxNDo0MCAtIExNVCAxOTE2IEp1bCAyOAotIC0zIC0gLTAzIDE5ODAgQXAgNiAyCi0tLTMgTyAtMDMvLTAyIDE5OTYKLSstMyBFIC0wMy8tMDIgMTk5NgotIDAgLSBHTVQKLSBaIEFtZXJpY2EvU2NvcmVzYnlzdW5kIC0xOjI3OjUyIC0gTE1UIDE5MTYgSnVsIDI4Ci0gLTIgLSAtMDIgMTk4MCBBcCA2IDIKLS0tMiAoIC0wMi8tMDEgMTk4MSBNYXIgMjkKLS0tMSBPIC0wMS8rMDAKLSstMiBjIC0wMi8tMDEgMTk4MSBNYXIgMjkKLSstMSBFIC0wMS8rMDAKLSBaIEFtZXJpY2EvR29kdGhhYiAtMzoyNjo1NiAtIExNVCAxOTE2IEp1bCAyOAotIC0zIC0gLTAzIDE5ODAgQXAgNiAyCi0tLTMgTyAtMDMvLTAyCi0rLTMgRSAtMDMvLTAyCi0gWiBBbWVyaWNhL1RodWxlIC00OjM1OjggLSBMTVQgMTkxNiBKdWwgMjgKLS0tNCA6IEElc1QKLSstNCBUaCBBJXNUCi0gWiBFdXJvcGUvVGFsbGlubiAxOjM5IC0gTE1UIDE4ODAKLSAxOjM5IC0gVE1UIDE5MTggRgotLTEgKCBDRSVzVCAxOTE5IEp1bAotKzEgYyBDRSVzVCAxOTE5IEp1bAotIDE6MzkgLSBUTVQgMTkyMSBNYXkKLSAyIC0gRUVUIDE5NDAgQXUgNgotIDMgLSBNU0sgMTk0MSBTIDE1Ci0tMSAoIENFJXNUIDE5NDQgUyAyMgotLTMgTSBNU0svTVNEIDE5ODkgTWFyIDI2IDJzCi0rMSBjIENFJXNUIDE5NDQgUyAyMgotKzMgUiBNU0svTVNEIDE5ODkgTWFyIDI2IDJzCi0gMiAxIEVFU1QgMTk4OSBTIDI0IDJzCi0tMiAoIEVFJXNUIDE5OTggUyAyMgotLTIgTyBFRSVzVCAxOTk5IE8gMzEgNAotKzIgYyBFRSVzVCAxOTk4IFMgMjIKLSsyIEUgRUUlc1QgMTk5OSBPIDMxIDQKLSAyIC0gRUVUIDIwMDIgRiAyMQotLTIgTyBFRSVzVAotLVIgOyAxOTQyIG8gLSBBcCAyIDI0IDEgUwotLVIgOyAxOTQyIG8gLSBPIDQgMSAwIC0KLS1SIDsgMTk4MSAxOTgyIC0gTWFyIGxhc3RTdW4gMiAxIFMKLS1SIDsgMTk4MSAxOTgyIC0gUyBsYXN0U3VuIDMgMCAtCi0rMiBFIEVFJXNUCi0rUiBGSSAxOTQyIG8gLSBBcCAyIDI0IDEgUwotK1IgRkkgMTk0MiBvIC0gTyA0IDEgMCAtCi0rUiBGSSAxOTgxIDE5ODIgLSBNYXIgbGFzdFN1biAyIDEgUwotK1IgRkkgMTk4MSAxOTgyIC0gUyBsYXN0U3VuIDMgMCAtCi0gWiBFdXJvcGUvSGVsc2lua2kgMTozOTo0OSAtIExNVCAxODc4IE1heSAzMQotIDE6Mzk6NDkgLSBITVQgMTkyMSBNYXkKLS0yIDsgRUUlc1QgMTk4MwotLTIgTyBFRSVzVAotKzIgRkkgRUUlc1QgMTk4MwotKzIgRSBFRSVzVAotIExpIEV1cm9wZS9IZWxzaW5raSBFdXJvcGUvTWFyaWVoYW1uCi0tUiA8IDE5MTYgbyAtIEp1biAxNCAyM3MgMSBTCi0tUiA8IDE5MTYgMTkxOSAtIE8gU3VuPj0xIDIzcyAwIC0KLS1SIDwgMTkxNyBvIC0gTWFyIDI0IDIzcyAxIFMKLS1SIDwgMTkxOCBvIC0gTWFyIDkgMjNzIDEgUwotLVIgPCAxOTE5IG8gLSBNYXIgMSAyM3MgMSBTCi0tUiA8IDE5MjAgbyAtIEYgMTQgMjNzIDEgUwotLVIgPCAxOTIwIG8gLSBPIDIzIDIzcyAwIC0KLS1SIDwgMTkyMSBvIC0gTWFyIDE0IDIzcyAxIFMKLS1SIDwgMTkyMSBvIC0gTyAyNSAyM3MgMCAtCi0tUiA8IDE5MjIgbyAtIE1hciAyNSAyM3MgMSBTCi0tUiA8IDE5MjIgMTkzOCAtIE8gU2F0Pj0xIDIzcyAwIC0KLS1SIDwgMTkyMyBvIC0gTWF5IDI2IDIzcyAxIFMKLS1SIDwgMTkyNCBvIC0gTWFyIDI5IDIzcyAxIFMKLS1SIDwgMTkyNSBvIC0gQXAgNCAyM3MgMSBTCi0tUiA8IDE5MjYgbyAtIEFwIDE3IDIzcyAxIFMKLS1SIDwgMTkyNyBvIC0gQXAgOSAyM3MgMSBTCi0tUiA8IDE5MjggbyAtIEFwIDE0IDIzcyAxIFMKLS1SIDwgMTkyOSBvIC0gQXAgMjAgMjNzIDEgUwotLVIgPCAxOTMwIG8gLSBBcCAxMiAyM3MgMSBTCi0tUiA8IDE5MzEgbyAtIEFwIDE4IDIzcyAxIFMKLS1SIDwgMTkzMiBvIC0gQXAgMiAyM3MgMSBTCi0tUiA8IDE5MzMgbyAtIE1hciAyNSAyM3MgMSBTCi0tUiA8IDE5MzQgbyAtIEFwIDcgMjNzIDEgUwotLVIgPCAxOTM1IG8gLSBNYXIgMzAgMjNzIDEgUwotLVIgPCAxOTM2IG8gLSBBcCAxOCAyM3MgMSBTCi0tUiA8IDE5MzcgbyAtIEFwIDMgMjNzIDEgUwotLVIgPCAxOTM4IG8gLSBNYXIgMjYgMjNzIDEgUwotLVIgPCAxOTM5IG8gLSBBcCAxNSAyM3MgMSBTCi0tUiA8IDE5MzkgbyAtIE4gMTggMjNzIDAgLQotLVIgPCAxOTQwIG8gLSBGIDI1IDIgMSBTCi0tUiA8IDE5NDEgbyAtIE1heSA1IDAgMiBNCi0tUiA8IDE5NDEgbyAtIE8gNiAwIDEgUwotLVIgPCAxOTQyIG8gLSBNYXIgOSAwIDIgTQotLVIgPCAxOTQyIG8gLSBOIDIgMyAxIFMKLS1SIDwgMTk0MyBvIC0gTWFyIDI5IDIgMiBNCi0tUiA8IDE5NDMgbyAtIE8gNCAzIDEgUwotLVIgPCAxOTQ0IG8gLSBBcCAzIDIgMiBNCi0tUiA8IDE5NDQgbyAtIE8gOCAxIDEgUwotLVIgPCAxOTQ1IG8gLSBBcCAyIDIgMiBNCi0tUiA8IDE5NDUgbyAtIFMgMTYgMyAwIC0KLS1SIDwgMTk3NiBvIC0gTWFyIDI4IDEgMSBTCi0tUiA8IDE5NzYgbyAtIFMgMjYgMSAwIC0KLStSIEYgMTkxNiBvIC0gSnVuIDE0IDIzcyAxIFMKLStSIEYgMTkxNiAxOTE5IC0gTyBTdW4+PTEgMjNzIDAgLQotK1IgRiAxOTE3IG8gLSBNYXIgMjQgMjNzIDEgUwotK1IgRiAxOTE4IG8gLSBNYXIgOSAyM3MgMSBTCi0rUiBGIDE5MTkgbyAtIE1hciAxIDIzcyAxIFMKLStSIEYgMTkyMCBvIC0gRiAxNCAyM3MgMSBTCi0rUiBGIDE5MjAgbyAtIE8gMjMgMjNzIDAgLQotK1IgRiAxOTIxIG8gLSBNYXIgMTQgMjNzIDEgUwotK1IgRiAxOTIxIG8gLSBPIDI1IDIzcyAwIC0KLStSIEYgMTkyMiBvIC0gTWFyIDI1IDIzcyAxIFMKLStSIEYgMTkyMiAxOTM4IC0gTyBTYXQ+PTEgMjNzIDAgLQotK1IgRiAxOTIzIG8gLSBNYXkgMjYgMjNzIDEgUwotK1IgRiAxOTI0IG8gLSBNYXIgMjkgMjNzIDEgUwotK1IgRiAxOTI1IG8gLSBBcCA0IDIzcyAxIFMKLStSIEYgMTkyNiBvIC0gQXAgMTcgMjNzIDEgUwotK1IgRiAxOTI3IG8gLSBBcCA5IDIzcyAxIFMKLStSIEYgMTkyOCBvIC0gQXAgMTQgMjNzIDEgUwotK1IgRiAxOTI5IG8gLSBBcCAyMCAyM3MgMSBTCi0rUiBGIDE5MzAgbyAtIEFwIDEyIDIzcyAxIFMKLStSIEYgMTkzMSBvIC0gQXAgMTggMjNzIDEgUwotK1IgRiAxOTMyIG8gLSBBcCAyIDIzcyAxIFMKLStSIEYgMTkzMyBvIC0gTWFyIDI1IDIzcyAxIFMKLStSIEYgMTkzNCBvIC0gQXAgNyAyM3MgMSBTCi0rUiBGIDE5MzUgbyAtIE1hciAzMCAyM3MgMSBTCi0rUiBGIDE5MzYgbyAtIEFwIDE4IDIzcyAxIFMKLStSIEYgMTkzNyBvIC0gQXAgMyAyM3MgMSBTCi0rUiBGIDE5MzggbyAtIE1hciAyNiAyM3MgMSBTCi0rUiBGIDE5MzkgbyAtIEFwIDE1IDIzcyAxIFMKLStSIEYgMTkzOSBvIC0gTiAxOCAyM3MgMCAtCi0rUiBGIDE5NDAgbyAtIEYgMjUgMiAxIFMKLStSIEYgMTk0MSBvIC0gTWF5IDUgMCAyIE0KLStSIEYgMTk0MSBvIC0gTyA2IDAgMSBTCi0rUiBGIDE5NDIgbyAtIE1hciA5IDAgMiBNCi0rUiBGIDE5NDIgbyAtIE4gMiAzIDEgUwotK1IgRiAxOTQzIG8gLSBNYXIgMjkgMiAyIE0KLStSIEYgMTk0MyBvIC0gTyA0IDMgMSBTCi0rUiBGIDE5NDQgbyAtIEFwIDMgMiAyIE0KLStSIEYgMTk0NCBvIC0gTyA4IDEgMSBTCi0rUiBGIDE5NDUgbyAtIEFwIDIgMiAyIE0KLStSIEYgMTk0NSBvIC0gUyAxNiAzIDAgLQotK1IgRiAxOTc2IG8gLSBNYXIgMjggMSAxIFMKLStSIEYgMTk3NiBvIC0gUyAyNiAxIDAgLQotIFogRXVyb3BlL1BhcmlzIDA6OToyMSAtIExNVCAxODkxIE1hciAxNSAwOjEKLSAwOjk6MjEgLSBQTVQgMTkxMSBNYXIgMTEgMDoxCi0tMCA8IFdFJXNUIDE5NDAgSnVuIDE0IDIzCi0tMSAoIENFJXNUIDE5NDQgQXUgMjUKLS0wIDwgV0Ulc1QgMTk0NSBTIDE2IDMKLS0xIDwgQ0Ulc1QgMTk3NwotLTEgTyBDRSVzVAotLVIgPSAxOTQ2IG8gLSBBcCAxNCAycyAxIFMKLS1SID0gMTk0NiBvIC0gTyA3IDJzIDAgLQotLVIgPSAxOTQ3IDE5NDkgLSBPIFN1bj49MSAycyAwIC0KLS1SID0gMTk0NyBvIC0gQXAgNiAzcyAxIFMKLS1SID0gMTk0NyBvIC0gTWF5IDExIDJzIDIgTQotLVIgPSAxOTQ3IG8gLSBKdW4gMjkgMyAxIFMKLS1SID0gMTk0OCBvIC0gQXAgMTggMnMgMSBTCi0tUiA9IDE5NDkgbyAtIEFwIDEwIDJzIDEgUwotLVIgPiAxOTQ1IG8gLSBNYXkgMjQgMiAyIE0KLS1SID4gMTk0NSBvIC0gUyAyNCAzIDEgUwotLVIgPiAxOTQ1IG8gLSBOIDE4IDJzIDAgLQotKzAgRiBXRSVzVCAxOTQwIEp1biAxNCAyMwotKzEgYyBDRSVzVCAxOTQ0IEF1IDI1Ci0rMCBGIFdFJXNUIDE5NDUgUyAxNiAzCi0rMSBGIENFJXNUIDE5NzcKLSsxIEUgQ0Ulc1QKLStSIERFIDE5NDYgbyAtIEFwIDE0IDJzIDEgUwotK1IgREUgMTk0NiBvIC0gTyA3IDJzIDAgLQotK1IgREUgMTk0NyAxOTQ5IC0gTyBTdW4+PTEgMnMgMCAtCi0rUiBERSAxOTQ3IG8gLSBBcCA2IDNzIDEgUwotK1IgREUgMTk0NyBvIC0gTWF5IDExIDJzIDIgTQotK1IgREUgMTk0NyBvIC0gSnVuIDI5IDMgMSBTCi0rUiBERSAxOTQ4IG8gLSBBcCAxOCAycyAxIFMKLStSIERFIDE5NDkgbyAtIEFwIDEwIDJzIDEgUwotK1IgU28gMTk0NSBvIC0gTWF5IDI0IDIgMiBNCi0rUiBTbyAxOTQ1IG8gLSBTIDI0IDMgMSBTCi0rUiBTbyAxOTQ1IG8gLSBOIDE4IDJzIDAgLQotIFogRXVyb3BlL0JlcmxpbiAwOjUzOjI4IC0gTE1UIDE4OTMgQXAKLS0xICggQ0Ulc1QgMTk0NSBNYXkgMjQgMgotLTEgPiBDRSVzVCAxOTQ2Ci0tMSA9IENFJXNUIDE5ODAKLS0xIE8gQ0Ulc1QKLSsxIGMgQ0Ulc1QgMTk0NSBNYXkgMjQgMgotKzEgU28gQ0Ulc1QgMTk0NgotKzEgREUgQ0Ulc1QgMTk4MAotKzEgRSBDRSVzVAotIExpIEV1cm9wZS9adXJpY2ggRXVyb3BlL0J1c2luZ2VuCi0gWiBFdXJvcGUvR2licmFsdGFyIC0wOjIxOjI0IC0gTE1UIDE4ODAgQXUgMiAwcwotLTAgJSAlcyAxOTU3IEFwIDE0IDIKLSswIEcgJXMgMTk1NyBBcCAxNCAyCi0gMSAtIENFVCAxOTgyCi0tMSBPIENFJXNUCi0tUiA/IDE5MzIgbyAtIEp1bCA3IDAgMSBTCi0tUiA/IDE5MzIgbyAtIFMgMSAwIDAgLQotLVIgPyAxOTQxIG8gLSBBcCA3IDAgMSBTCi0tUiA/IDE5NDIgbyAtIE4gMiAzIDAgLQotLVIgPyAxOTQzIG8gLSBNYXIgMzAgMCAxIFMKLS1SID8gMTk0MyBvIC0gTyA0IDAgMCAtCi0tUiA/IDE5NTIgbyAtIEp1bCAxIDAgMSBTCi0tUiA/IDE5NTIgbyAtIE4gMiAwIDAgLQotLVIgPyAxOTc1IG8gLSBBcCAxMiAwcyAxIFMKLS1SID8gMTk3NSBvIC0gTiAyNiAwcyAwIC0KLS1SID8gMTk3NiBvIC0gQXAgMTEgMnMgMSBTCi0tUiA/IDE5NzYgbyAtIE8gMTAgMnMgMCAtCi0tUiA/IDE5NzcgMTk3OCAtIEFwIFN1bj49MSAycyAxIFMKLS1SID8gMTk3NyBvIC0gUyAyNiAycyAwIC0KLS1SID8gMTk3OCBvIC0gUyAyNCA0IDAgLQotLVIgPyAxOTc5IG8gLSBBcCAxIDkgMSBTCi0tUiA/IDE5NzkgbyAtIFMgMjkgMiAwIC0KLS1SID8gMTk4MCBvIC0gQXAgMSAwIDEgUwotLVIgPyAxOTgwIG8gLSBTIDI4IDAgMCAtCi0rMSBFIENFJXNUCi0rUiBnIDE5MzIgbyAtIEp1bCA3IDAgMSBTCi0rUiBnIDE5MzIgbyAtIFMgMSAwIDAgLQotK1IgZyAxOTQxIG8gLSBBcCA3IDAgMSBTCi0rUiBnIDE5NDIgbyAtIE4gMiAzIDAgLQotK1IgZyAxOTQzIG8gLSBNYXIgMzAgMCAxIFMKLStSIGcgMTk0MyBvIC0gTyA0IDAgMCAtCi0rUiBnIDE5NTIgbyAtIEp1bCAxIDAgMSBTCi0rUiBnIDE5NTIgbyAtIE4gMiAwIDAgLQotK1IgZyAxOTc1IG8gLSBBcCAxMiAwcyAxIFMKLStSIGcgMTk3NSBvIC0gTiAyNiAwcyAwIC0KLStSIGcgMTk3NiBvIC0gQXAgMTEgMnMgMSBTCi0rUiBnIDE5NzYgbyAtIE8gMTAgMnMgMCAtCi0rUiBnIDE5NzcgMTk3OCAtIEFwIFN1bj49MSAycyAxIFMKLStSIGcgMTk3NyBvIC0gUyAyNiAycyAwIC0KLStSIGcgMTk3OCBvIC0gUyAyNCA0IDAgLQotK1IgZyAxOTc5IG8gLSBBcCAxIDkgMSBTCi0rUiBnIDE5NzkgbyAtIFMgMjkgMiAwIC0KLStSIGcgMTk4MCBvIC0gQXAgMSAwIDEgUwotK1IgZyAxOTgwIG8gLSBTIDI4IDAgMCAtCi0gWiBFdXJvcGUvQXRoZW5zIDE6MzQ6NTIgLSBMTVQgMTg5NSBTIDE0Ci0gMTozNDo1MiAtIEFNVCAxOTE2IEp1bCAyOCAwOjEKLS0yID8gRUUlc1QgMTk0MSBBcCAzMAotLTEgPyBDRSVzVCAxOTQ0IEFwIDQKLS0yID8gRUUlc1QgMTk4MQotLTIgTyBFRSVzVAotLVIgQCAxOTE4IG8gLSBBcCAxIDMgMSBTCi0tUiBAIDE5MTggbyAtIFMgMTYgMyAwIC0KLS1SIEAgMTkxOSBvIC0gQXAgMTUgMyAxIFMKLS1SIEAgMTkxOSBvIC0gTiAyNCAzIDAgLQotLVIgQCAxOTQ1IG8gLSBNYXkgMSAyMyAxIFMKLS1SIEAgMTk0NSBvIC0gTiAxIDAgMCAtCi0tUiBAIDE5NDYgbyAtIE1hciAzMSAycyAxIFMKLS1SIEAgMTk0NiAxOTQ5IC0gTyBTdW4+PTEgMnMgMCAtCi0tUiBAIDE5NDcgMTk0OSAtIEFwIFN1bj49NCAycyAxIFMKLS1SIEAgMTk1MCBvIC0gQXAgMTcgMnMgMSBTCi0tUiBAIDE5NTAgbyAtIE8gMjMgMnMgMCAtCi0tUiBAIDE5NTQgMTk1NSAtIE1heSAyMyAwIDEgUwotLVIgQCAxOTU0IDE5NTUgLSBPIDMgMCAwIC0KLS1SIEAgMTk1NiBvIC0gSnVuIFN1bj49MSAwIDEgUwotLVIgQCAxOTU2IG8gLSBTIGxhc3RTdW4gMCAwIC0KLS1SIEAgMTk1NyBvIC0gSnVuIFN1bj49MSAxIDEgUwotLVIgQCAxOTU3IG8gLSBTIGxhc3RTdW4gMyAwIC0KLS1SIEAgMTk4MCBvIC0gQXAgNiAxIDEgUwotKzIgZyBFRSVzVCAxOTQxIEFwIDMwCi0rMSBnIENFJXNUIDE5NDQgQXAgNAotKzIgZyBFRSVzVCAxOTgxCi0rMiBFIEVFJXNUCi0rUiBoIDE5MTggbyAtIEFwIDEgMyAxIFMKLStSIGggMTkxOCBvIC0gUyAxNiAzIDAgLQotK1IgaCAxOTE5IG8gLSBBcCAxNSAzIDEgUwotK1IgaCAxOTE5IG8gLSBOIDI0IDMgMCAtCi0rUiBoIDE5NDUgbyAtIE1heSAxIDIzIDEgUwotK1IgaCAxOTQ1IG8gLSBOIDEgMCAwIC0KLStSIGggMTk0NiBvIC0gTWFyIDMxIDJzIDEgUwotK1IgaCAxOTQ2IDE5NDkgLSBPIFN1bj49MSAycyAwIC0KLStSIGggMTk0NyAxOTQ5IC0gQXAgU3VuPj00IDJzIDEgUwotK1IgaCAxOTUwIG8gLSBBcCAxNyAycyAxIFMKLStSIGggMTk1MCBvIC0gTyAyMyAycyAwIC0KLStSIGggMTk1NCAxOTU1IC0gTWF5IDIzIDAgMSBTCi0rUiBoIDE5NTQgMTk1NSAtIE8gMyAwIDAgLQotK1IgaCAxOTU2IG8gLSBKdW4gU3VuPj0xIDAgMSBTCi0rUiBoIDE5NTYgbyAtIFMgbGFzdFN1biAwIDAgLQotK1IgaCAxOTU3IG8gLSBKdW4gU3VuPj0xIDEgMSBTCi0rUiBoIDE5NTcgbyAtIFMgbGFzdFN1biAzIDAgLQotK1IgaCAxOTgwIG8gLSBBcCA2IDEgMSBTCi0gWiBFdXJvcGUvQnVkYXBlc3QgMToxNjoyMCAtIExNVCAxODkwIE8KLS0xICggQ0Ulc1QgMTkxOAotLTEgQCBDRSVzVCAxOTQxIEFwIDgKLS0xICggQ0Ulc1QgMTk0NQotLTEgQCBDRSVzVCAxOTgwIFMgMjggMnMKLS0xIE8gQ0Ulc1QKLS1SIFsgMTkxNyAxOTE5IC0gRiAxOSAyMyAxIC0KLS1SIFsgMTkxNyBvIC0gTyAyMSAxIDAgLQotLVIgWyAxOTE4IDE5MTkgLSBOIDE2IDEgMCAtCi0tUiBbIDE5MjEgbyAtIE1hciAxOSAyMyAxIC0KLS1SIFsgMTkyMSBvIC0gSnVuIDIzIDEgMCAtCi0tUiBbIDE5MzkgbyAtIEFwIDI5IDIzIDEgLQotLVIgWyAxOTM5IG8gLSBPIDI5IDIgMCAtCi0tUiBbIDE5NDAgbyAtIEYgMjUgMiAxIC0KLS1SIFsgMTk0MCAxOTQxIC0gTiBTdW4+PTIgMXMgMCAtCi0tUiBbIDE5NDEgMTk0MiAtIE1hciBTdW4+PTIgMXMgMSAtCi0tUiBbIDE5NDMgMTk0NiAtIE1hciBTdW4+PTEgMXMgMSAtCi0tUiBbIDE5NDIgMTk0OCAtIE8gU3VuPj0yMiAxcyAwIC0KLS1SIFsgMTk0NyAxOTY3IC0gQXAgU3VuPj0xIDFzIDEgLQotLVIgWyAxOTQ5IG8gLSBPIDMwIDFzIDAgLQotLVIgWyAxOTUwIDE5NjYgLSBPIFN1bj49MjIgMXMgMCAtCi0tUiBbIDE5NjcgbyAtIE8gMjkgMXMgMCAtCi0rMSBjIENFJXNUIDE5MTgKLSsxIGggQ0Ulc1QgMTk0MSBBcCA4Ci0rMSBjIENFJXNUIDE5NDUKLSsxIGggQ0Ulc1QgMTk4MCBTIDI4IDJzCi0rMSBFIENFJXNUCi0rUiB3IDE5MTcgMTkxOSAtIEYgMTkgMjMgMSAtCi0rUiB3IDE5MTcgbyAtIE8gMjEgMSAwIC0KLStSIHcgMTkxOCAxOTE5IC0gTiAxNiAxIDAgLQotK1IgdyAxOTIxIG8gLSBNYXIgMTkgMjMgMSAtCi0rUiB3IDE5MjEgbyAtIEp1biAyMyAxIDAgLQotK1IgdyAxOTM5IG8gLSBBcCAyOSAyMyAxIC0KLStSIHcgMTkzOSBvIC0gTyAyOSAyIDAgLQotK1IgdyAxOTQwIG8gLSBGIDI1IDIgMSAtCi0rUiB3IDE5NDAgMTk0MSAtIE4gU3VuPj0yIDFzIDAgLQotK1IgdyAxOTQxIDE5NDIgLSBNYXIgU3VuPj0yIDFzIDEgLQotK1IgdyAxOTQzIDE5NDYgLSBNYXIgU3VuPj0xIDFzIDEgLQotK1IgdyAxOTQyIDE5NDggLSBPIFN1bj49MjIgMXMgMCAtCi0rUiB3IDE5NDcgMTk2NyAtIEFwIFN1bj49MSAxcyAxIC0KLStSIHcgMTk0OSBvIC0gTyAzMCAxcyAwIC0KLStSIHcgMTk1MCAxOTY2IC0gTyBTdW4+PTIyIDFzIDAgLQotK1IgdyAxOTY3IG8gLSBPIDI5IDFzIDAgLQotIFogQXRsYW50aWMvUmV5a2phdmlrIC0xOjI4IC0gTE1UIDE5MDgKLS0tMSBbIC0wMS8rMDAgMTk2OCBBcCA3IDFzCi0rLTEgdyAtMDEvKzAwIDE5NjggQXAgNyAxcwotIDAgLSBHTVQKLS1SIFwgMTkxNiBvIC0gSnVuIDMgMjQgMSBTCi0tUiBcIDE5MTYgMTkxNyAtIFMgMzAgMjQgMCAtCi0tUiBcIDE5MTcgbyAtIE1hciAzMSAyNCAxIFMKLS1SIFwgMTkxOCBvIC0gTWFyIDkgMjQgMSBTCi0tUiBcIDE5MTggbyAtIE8gNiAyNCAwIC0KLS1SIFwgMTkxOSBvIC0gTWFyIDEgMjQgMSBTCi0tUiBcIDE5MTkgbyAtIE8gNCAyNCAwIC0KLS1SIFwgMTkyMCBvIC0gTWFyIDIwIDI0IDEgUwotLVIgXCAxOTIwIG8gLSBTIDE4IDI0IDAgLQotLVIgXCAxOTQwIG8gLSBKdW4gMTQgMjQgMSBTCi0tUiBcIDE5NDIgbyAtIE4gMiAycyAwIC0KLS1SIFwgMTk0MyBvIC0gTWFyIDI5IDJzIDEgUwotLVIgXCAxOTQzIG8gLSBPIDQgMnMgMCAtCi0tUiBcIDE5NDQgbyAtIEFwIDIgMnMgMSBTCi0tUiBcIDE5NDQgbyAtIFMgMTcgMnMgMCAtCi0tUiBcIDE5NDUgbyAtIEFwIDIgMiAxIFMKLS1SIFwgMTk0NSBvIC0gUyAxNSAxIDAgLQotLVIgXCAxOTQ2IG8gLSBNYXIgMTcgMnMgMSBTCi0tUiBcIDE5NDYgbyAtIE8gNiAycyAwIC0KLS1SIFwgMTk0NyBvIC0gTWFyIDE2IDBzIDEgUwotLVIgXCAxOTQ3IG8gLSBPIDUgMHMgMCAtCi0tUiBcIDE5NDggbyAtIEYgMjkgMnMgMSBTCi0tUiBcIDE5NDggbyAtIE8gMyAycyAwIC0KLS1SIFwgMTk2NiAxOTY4IC0gTWF5IFN1bj49MjIgMHMgMSBTCi0tUiBcIDE5NjYgbyAtIFMgMjQgMjQgMCAtCi0tUiBcIDE5NjcgMTk2OSAtIFMgU3VuPj0yMiAwcyAwIC0KLS1SIFwgMTk2OSBvIC0gSnVuIDEgMHMgMSBTCi0tUiBcIDE5NzAgbyAtIE1heSAzMSAwcyAxIFMKLS1SIFwgMTk3MCBvIC0gUyBsYXN0U3VuIDBzIDAgLQotLVIgXCAxOTcxIDE5NzIgLSBNYXkgU3VuPj0yMiAwcyAxIFMKLS1SIFwgMTk3MSBvIC0gUyBsYXN0U3VuIDBzIDAgLQotLVIgXCAxOTcyIG8gLSBPIDEgMHMgMCAtCi0tUiBcIDE5NzMgbyAtIEp1biAzIDBzIDEgUwotLVIgXCAxOTczIDE5NzQgLSBTIGxhc3RTdW4gMHMgMCAtCi0tUiBcIDE5NzQgbyAtIE1heSAyNiAwcyAxIFMKLS1SIFwgMTk3NSBvIC0gSnVuIDEgMHMgMSBTCi0tUiBcIDE5NzUgMTk3NyAtIFMgbGFzdFN1biAwcyAwIC0KLS1SIFwgMTk3NiBvIC0gTWF5IDMwIDBzIDEgUwotLVIgXCAxOTc3IDE5NzkgLSBNYXkgU3VuPj0yMiAwcyAxIFMKLS1SIFwgMTk3OCBvIC0gTyAxIDBzIDAgLQotLVIgXCAxOTc5IG8gLSBTIDMwIDBzIDAgLQotK1IgSSAxOTE2IG8gLSBKdW4gMyAyNCAxIFMKLStSIEkgMTkxNiAxOTE3IC0gUyAzMCAyNCAwIC0KLStSIEkgMTkxNyBvIC0gTWFyIDMxIDI0IDEgUwotK1IgSSAxOTE4IG8gLSBNYXIgOSAyNCAxIFMKLStSIEkgMTkxOCBvIC0gTyA2IDI0IDAgLQotK1IgSSAxOTE5IG8gLSBNYXIgMSAyNCAxIFMKLStSIEkgMTkxOSBvIC0gTyA0IDI0IDAgLQotK1IgSSAxOTIwIG8gLSBNYXIgMjAgMjQgMSBTCi0rUiBJIDE5MjAgbyAtIFMgMTggMjQgMCAtCi0rUiBJIDE5NDAgbyAtIEp1biAxNCAyNCAxIFMKLStSIEkgMTk0MiBvIC0gTiAyIDJzIDAgLQotK1IgSSAxOTQzIG8gLSBNYXIgMjkgMnMgMSBTCi0rUiBJIDE5NDMgbyAtIE8gNCAycyAwIC0KLStSIEkgMTk0NCBvIC0gQXAgMiAycyAxIFMKLStSIEkgMTk0NCBvIC0gUyAxNyAycyAwIC0KLStSIEkgMTk0NSBvIC0gQXAgMiAyIDEgUwotK1IgSSAxOTQ1IG8gLSBTIDE1IDEgMCAtCi0rUiBJIDE5NDYgbyAtIE1hciAxNyAycyAxIFMKLStSIEkgMTk0NiBvIC0gTyA2IDJzIDAgLQotK1IgSSAxOTQ3IG8gLSBNYXIgMTYgMHMgMSBTCi0rUiBJIDE5NDcgbyAtIE8gNSAwcyAwIC0KLStSIEkgMTk0OCBvIC0gRiAyOSAycyAxIFMKLStSIEkgMTk0OCBvIC0gTyAzIDJzIDAgLQotK1IgSSAxOTY2IDE5NjggLSBNYXkgU3VuPj0yMiAwcyAxIFMKLStSIEkgMTk2NiBvIC0gUyAyNCAyNCAwIC0KLStSIEkgMTk2NyAxOTY5IC0gUyBTdW4+PTIyIDBzIDAgLQotK1IgSSAxOTY5IG8gLSBKdW4gMSAwcyAxIFMKLStSIEkgMTk3MCBvIC0gTWF5IDMxIDBzIDEgUwotK1IgSSAxOTcwIG8gLSBTIGxhc3RTdW4gMHMgMCAtCi0rUiBJIDE5NzEgMTk3MiAtIE1heSBTdW4+PTIyIDBzIDEgUwotK1IgSSAxOTcxIG8gLSBTIGxhc3RTdW4gMHMgMCAtCi0rUiBJIDE5NzIgbyAtIE8gMSAwcyAwIC0KLStSIEkgMTk3MyBvIC0gSnVuIDMgMHMgMSBTCi0rUiBJIDE5NzMgMTk3NCAtIFMgbGFzdFN1biAwcyAwIC0KLStSIEkgMTk3NCBvIC0gTWF5IDI2IDBzIDEgUwotK1IgSSAxOTc1IG8gLSBKdW4gMSAwcyAxIFMKLStSIEkgMTk3NSAxOTc3IC0gUyBsYXN0U3VuIDBzIDAgLQotK1IgSSAxOTc2IG8gLSBNYXkgMzAgMHMgMSBTCi0rUiBJIDE5NzcgMTk3OSAtIE1heSBTdW4+PTIyIDBzIDEgUwotK1IgSSAxOTc4IG8gLSBPIDEgMHMgMCAtCi0rUiBJIDE5NzkgbyAtIFMgMzAgMHMgMCAtCi0gWiBFdXJvcGUvUm9tZSAwOjQ5OjU2IC0gTE1UIDE4NjYgUyAyMgotIDA6NDk6NTYgLSBSTVQgMTg5MyBPIDMxIDIzOjQ5OjU2Ci0tMSBcIENFJXNUIDE5NDMgUyAxMAotLTEgKCBDRSVzVCAxOTQ0IEp1biA0Ci0tMSBcIENFJXNUIDE5ODAKLS0xIE8gQ0Ulc1QKLSsxIEkgQ0Ulc1QgMTk0MyBTIDEwCi0rMSBjIENFJXNUIDE5NDQgSnVuIDQKLSsxIEkgQ0Ulc1QgMTk4MAotKzEgRSBDRSVzVAotIExpIEV1cm9wZS9Sb21lIEV1cm9wZS9WYXRpY2FuCi0gTGkgRXVyb3BlL1JvbWUgRXVyb3BlL1Nhbl9NYXJpbm8KLS1SIF0gMTk4OSAxOTk2IC0gTWFyIGxhc3RTdW4gMnMgMSBTCi0tUiBdIDE5ODkgMTk5NiAtIFMgbGFzdFN1biAycyAwIC0KLStSIExWIDE5ODkgMTk5NiAtIE1hciBsYXN0U3VuIDJzIDEgUwotK1IgTFYgMTk4OSAxOTk2IC0gUyBsYXN0U3VuIDJzIDAgLQotIFogRXVyb3BlL1JpZ2EgMTozNjozNCAtIExNVCAxODgwCi0gMTozNjozNCAtIFJNVCAxOTE4IEFwIDE1IDIKLSAxOjM2OjM0IDEgTFNUIDE5MTggUyAxNiAzCi1AQCAtMTg4MywxMyArMTkwNywxMyBAQCBaIEV1cm9wZS9SaWdhIDE6MzY6MzQgLSBMTVQgMTg4MAotIDE6MzY6MzQgLSBSTVQgMTkyNiBNYXkgMTEKLSAyIC0gRUVUIDE5NDAgQXUgNQotIDMgLSBNU0sgMTk0MSBKdWwKLS0xICggQ0Ulc1QgMTk0NCBPIDEzCi0tMyBNIE1TSy9NU0QgMTk4OSBNYXIgbGFzdFN1biAycwotKzEgYyBDRSVzVCAxOTQ0IE8gMTMKLSszIFIgTVNLL01TRCAxOTg5IE1hciBsYXN0U3VuIDJzCi0gMiAxIEVFU1QgMTk4OSBTIGxhc3RTdW4gMnMKLS0yIF0gRUUlc1QgMTk5NyBKYSAyMQotLTIgTyBFRSVzVCAyMDAwIEYgMjkKLSsyIExWIEVFJXNUIDE5OTcgSmEgMjEKLSsyIEUgRUUlc1QgMjAwMCBGIDI5Ci0gMiAtIEVFVCAyMDAxIEphIDIKLS0yIE8gRUUlc1QKLSsyIEUgRUUlc1QKLSBMaSBFdXJvcGUvWnVyaWNoIEV1cm9wZS9WYWR1egotIFogRXVyb3BlL1ZpbG5pdXMgMTo0MToxNiAtIExNVCAxODgwCi0gMToyNCAtIFdNVCAxOTE3Ci1AQCAtMTg5OCw3ODMgKzE5MjIsNzc2IEBAIFogRXVyb3BlL1ZpbG5pdXMgMTo0MToxNiAtIExNVCAxODgwCi0gMiAtIEVFVCAxOTIwIE8gOQotIDEgLSBDRVQgMTk0MCBBdSAzCi0gMyAtIE1TSyAxOTQxIEp1biAyNAotLTEgKCBDRSVzVCAxOTQ0IEF1Ci0tMyBNIE1TSy9NU0QgMTk4OSBNYXIgMjYgMnMKLS0yIE0gRUUlc1QgMTk5MSBTIDI5IDJzCi0tMiAoIEVFJXNUIDE5OTgKLSsxIGMgQ0Ulc1QgMTk0NCBBdQotKzMgUiBNU0svTVNEIDE5ODkgTWFyIDI2IDJzCi0rMiBSIEVFJXNUIDE5OTEgUyAyOSAycwotKzIgYyBFRSVzVCAxOTk4Ci0gMiAtIEVFVCAxOTk4IE1hciAyOSAxdQotLTEgTyBDRSVzVCAxOTk5IE8gMzEgMXUKLSsxIEUgQ0Ulc1QgMTk5OSBPIDMxIDF1Ci0gMiAtIEVFVCAyMDAzCi0tMiBPIEVFJXNUCi0tUiBeIDE5MTYgbyAtIE1heSAxNCAyMyAxIFMKLS1SIF4gMTkxNiBvIC0gTyAxIDEgMCAtCi0tUiBeIDE5MTcgbyAtIEFwIDI4IDIzIDEgUwotLVIgXiAxOTE3IG8gLSBTIDE3IDEgMCAtCi0tUiBeIDE5MTggbyAtIEFwIE0+PTE1IDJzIDEgUwotLVIgXiAxOTE4IG8gLSBTIE0+PTE1IDJzIDAgLQotLVIgXiAxOTE5IG8gLSBNYXIgMSAyMyAxIFMKLS1SIF4gMTkxOSBvIC0gTyA1IDMgMCAtCi0tUiBeIDE5MjAgbyAtIEYgMTQgMjMgMSBTCi0tUiBeIDE5MjAgbyAtIE8gMjQgMiAwIC0KLS1SIF4gMTkyMSBvIC0gTWFyIDE0IDIzIDEgUwotLVIgXiAxOTIxIG8gLSBPIDI2IDIgMCAtCi0tUiBeIDE5MjIgbyAtIE1hciAyNSAyMyAxIFMKLS1SIF4gMTkyMiBvIC0gTyBTdW4+PTIgMSAwIC0KLS1SIF4gMTkyMyBvIC0gQXAgMjEgMjMgMSBTCi0tUiBeIDE5MjMgbyAtIE8gU3VuPj0yIDIgMCAtCi0tUiBeIDE5MjQgbyAtIE1hciAyOSAyMyAxIFMKLS1SIF4gMTkyNCAxOTI4IC0gTyBTdW4+PTIgMSAwIC0KLS1SIF4gMTkyNSBvIC0gQXAgNSAyMyAxIFMKLS1SIF4gMTkyNiBvIC0gQXAgMTcgMjMgMSBTCi0tUiBeIDE5MjcgbyAtIEFwIDkgMjMgMSBTCi0tUiBeIDE5MjggbyAtIEFwIDE0IDIzIDEgUwotLVIgXiAxOTI5IG8gLSBBcCAyMCAyMyAxIFMKLSsyIEUgRUUlc1QKLStSIExYIDE5MTYgbyAtIE1heSAxNCAyMyAxIFMKLStSIExYIDE5MTYgbyAtIE8gMSAxIDAgLQotK1IgTFggMTkxNyBvIC0gQXAgMjggMjMgMSBTCi0rUiBMWCAxOTE3IG8gLSBTIDE3IDEgMCAtCi0rUiBMWCAxOTE4IG8gLSBBcCBNPj0xNSAycyAxIFMKLStSIExYIDE5MTggbyAtIFMgTT49MTUgMnMgMCAtCi0rUiBMWCAxOTE5IG8gLSBNYXIgMSAyMyAxIFMKLStSIExYIDE5MTkgbyAtIE8gNSAzIDAgLQotK1IgTFggMTkyMCBvIC0gRiAxNCAyMyAxIFMKLStSIExYIDE5MjAgbyAtIE8gMjQgMiAwIC0KLStSIExYIDE5MjEgbyAtIE1hciAxNCAyMyAxIFMKLStSIExYIDE5MjEgbyAtIE8gMjYgMiAwIC0KLStSIExYIDE5MjIgbyAtIE1hciAyNSAyMyAxIFMKLStSIExYIDE5MjIgbyAtIE8gU3VuPj0yIDEgMCAtCi0rUiBMWCAxOTIzIG8gLSBBcCAyMSAyMyAxIFMKLStSIExYIDE5MjMgbyAtIE8gU3VuPj0yIDIgMCAtCi0rUiBMWCAxOTI0IG8gLSBNYXIgMjkgMjMgMSBTCi0rUiBMWCAxOTI0IDE5MjggLSBPIFN1bj49MiAxIDAgLQotK1IgTFggMTkyNSBvIC0gQXAgNSAyMyAxIFMKLStSIExYIDE5MjYgbyAtIEFwIDE3IDIzIDEgUwotK1IgTFggMTkyNyBvIC0gQXAgOSAyMyAxIFMKLStSIExYIDE5MjggbyAtIEFwIDE0IDIzIDEgUwotK1IgTFggMTkyOSBvIC0gQXAgMjAgMjMgMSBTCi0gWiBFdXJvcGUvTHV4ZW1ib3VyZyAwOjI0OjM2IC0gTE1UIDE5MDQgSnVuCi0tMSBeIENFJXNUIDE5MTggTiAyNQotLTAgXiBXRSVzVCAxOTI5IE8gNiAycwotLTAgKyBXRSVzVCAxOTQwIE1heSAxNCAzCi0tMSAoIFdFJXNUIDE5NDQgUyAxOCAzCi0tMSArIENFJXNUIDE5NzcKLS0xIE8gQ0Ulc1QKLS1SIF8gMTk3MyBvIC0gTWFyIDMxIDBzIDEgUwotLVIgXyAxOTczIG8gLSBTIDI5IDBzIDAgLQotLVIgXyAxOTc0IG8gLSBBcCAyMSAwcyAxIFMKLS1SIF8gMTk3NCBvIC0gUyAxNiAwcyAwIC0KLS1SIF8gMTk3NSAxOTc5IC0gQXAgU3VuPj0xNSAyIDEgUwotLVIgXyAxOTc1IDE5ODAgLSBTIFN1bj49MTUgMiAwIC0KLS1SIF8gMTk4MCBvIC0gTWFyIDMxIDIgMSBTCi0rMSBMWCBDRSVzVCAxOTE4IE4gMjUKLSswIExYIFdFJXNUIDE5MjkgTyA2IDJzCi0rMCBiIFdFJXNUIDE5NDAgTWF5IDE0IDMKLSsxIGMgV0Ulc1QgMTk0NCBTIDE4IDMKLSsxIGIgQ0Ulc1QgMTk3NwotKzEgRSBDRSVzVAotK1IgTVQgMTk3MyBvIC0gTWFyIDMxIDBzIDEgUwotK1IgTVQgMTk3MyBvIC0gUyAyOSAwcyAwIC0KLStSIE1UIDE5NzQgbyAtIEFwIDIxIDBzIDEgUwotK1IgTVQgMTk3NCBvIC0gUyAxNiAwcyAwIC0KLStSIE1UIDE5NzUgMTk3OSAtIEFwIFN1bj49MTUgMiAxIFMKLStSIE1UIDE5NzUgMTk4MCAtIFMgU3VuPj0xNSAyIDAgLQotK1IgTVQgMTk4MCBvIC0gTWFyIDMxIDIgMSBTCi0gWiBFdXJvcGUvTWFsdGEgMDo1ODo0IC0gTE1UIDE4OTMgTiAyIDBzCi0tMSBcIENFJXNUIDE5NzMgTWFyIDMxCi0tMSBfIENFJXNUIDE5ODEKLS0xIE8gQ0Ulc1QKLS1SIGAgMTk5NyBtYSAtIE1hciBsYXN0U3VuIDIgMSBTCi0tUiBgIDE5OTcgbWEgLSBPIGxhc3RTdW4gMyAwIC0KLSsxIEkgQ0Ulc1QgMTk3MyBNYXIgMzEKLSsxIE1UIENFJXNUIDE5ODEKLSsxIEUgQ0Ulc1QKLStSIE1EIDE5OTcgbWEgLSBNYXIgbGFzdFN1biAyIDEgUwotK1IgTUQgMTk5NyBtYSAtIE8gbGFzdFN1biAzIDAgLQotIFogRXVyb3BlL0NoaXNpbmF1IDE6NTU6MjAgLSBMTVQgMTg4MAotIDE6NTUgLSBDTVQgMTkxOCBGIDE1Ci0gMTo0NDoyNCAtIEJNVCAxOTMxIEp1bCAyNAotLTIgeyBFRSVzVCAxOTQwIEF1IDE1Ci0rMiB6IEVFJXNUIDE5NDAgQXUgMTUKLSAyIDEgRUVTVCAxOTQxIEp1bCAxNwotLTEgKCBDRSVzVCAxOTQ0IEF1IDI0Ci0tMyBNIE1TSy9NU0QgMTk5MCBNYXkgNiAyCi0tMiBNIEVFJXNUIDE5OTIKLS0yIFcgRUUlc1QgMTk5NwotLTIgYCBFRSVzVAotKzEgYyBDRSVzVCAxOTQ0IEF1IDI0Ci0rMyBSIE1TSy9NU0QgMTk5MCBNYXkgNiAyCi0rMiBSIEVFJXNUIDE5OTIKLSsyIGUgRUUlc1QgMTk5NwotKzIgTUQgRUUlc1QKLSBaIEV1cm9wZS9Nb25hY28gMDoyOTozMiAtIExNVCAxODkxIE1hciAxNQotIDA6OToyMSAtIFBNVCAxOTExIE1hciAxMQotLTAgPCBXRSVzVCAxOTQ1IFMgMTYgMwotLTEgPCBDRSVzVCAxOTc3Ci0tMSBPIENFJXNUCi0tUiB8IDE5MTYgbyAtIE1heSAxIDAgMSBOU1QKLS1SIHwgMTkxNiBvIC0gTyAxIDAgMCBBTVQKLS1SIHwgMTkxNyBvIC0gQXAgMTYgMnMgMSBOU1QKLS1SIHwgMTkxNyBvIC0gUyAxNyAycyAwIEFNVAotLVIgfCAxOTE4IDE5MjEgLSBBcCBNPj0xIDJzIDEgTlNUCi0tUiB8IDE5MTggMTkyMSAtIFMgbGFzdE0gMnMgMCBBTVQKLS1SIHwgMTkyMiBvIC0gTWFyIGxhc3RTdW4gMnMgMSBOU1QKLS1SIHwgMTkyMiAxOTM2IC0gTyBTdW4+PTIgMnMgMCBBTVQKLS1SIHwgMTkyMyBvIC0gSnVuIEY+PTEgMnMgMSBOU1QKLS1SIHwgMTkyNCBvIC0gTWFyIGxhc3RTdW4gMnMgMSBOU1QKLS1SIHwgMTkyNSBvIC0gSnVuIEY+PTEgMnMgMSBOU1QKLS1SIHwgMTkyNiAxOTMxIC0gTWF5IDE1IDJzIDEgTlNUCi0tUiB8IDE5MzIgbyAtIE1heSAyMiAycyAxIE5TVAotLVIgfCAxOTMzIDE5MzYgLSBNYXkgMTUgMnMgMSBOU1QKLS1SIHwgMTkzNyBvIC0gTWF5IDIyIDJzIDEgTlNUCi0tUiB8IDE5MzcgbyAtIEp1bCAxIDAgMSBTCi0tUiB8IDE5MzcgMTkzOSAtIE8gU3VuPj0yIDJzIDAgLQotLVIgfCAxOTM4IDE5MzkgLSBNYXkgMTUgMnMgMSBTCi0tUiB8IDE5NDUgbyAtIEFwIDIgMnMgMSBTCi0tUiB8IDE5NDUgbyAtIFMgMTYgMnMgMCAtCi0rMCBGIFdFJXNUIDE5NDUgUyAxNiAzCi0rMSBGIENFJXNUIDE5NzcKLSsxIEUgQ0Ulc1QKLStSIE4gMTkxNiBvIC0gTWF5IDEgMCAxIE5TVAotK1IgTiAxOTE2IG8gLSBPIDEgMCAwIEFNVAotK1IgTiAxOTE3IG8gLSBBcCAxNiAycyAxIE5TVAotK1IgTiAxOTE3IG8gLSBTIDE3IDJzIDAgQU1UCi0rUiBOIDE5MTggMTkyMSAtIEFwIE0+PTEgMnMgMSBOU1QKLStSIE4gMTkxOCAxOTIxIC0gUyBsYXN0TSAycyAwIEFNVAotK1IgTiAxOTIyIG8gLSBNYXIgbGFzdFN1biAycyAxIE5TVAotK1IgTiAxOTIyIDE5MzYgLSBPIFN1bj49MiAycyAwIEFNVAotK1IgTiAxOTIzIG8gLSBKdW4gRj49MSAycyAxIE5TVAotK1IgTiAxOTI0IG8gLSBNYXIgbGFzdFN1biAycyAxIE5TVAotK1IgTiAxOTI1IG8gLSBKdW4gRj49MSAycyAxIE5TVAotK1IgTiAxOTI2IDE5MzEgLSBNYXkgMTUgMnMgMSBOU1QKLStSIE4gMTkzMiBvIC0gTWF5IDIyIDJzIDEgTlNUCi0rUiBOIDE5MzMgMTkzNiAtIE1heSAxNSAycyAxIE5TVAotK1IgTiAxOTM3IG8gLSBNYXkgMjIgMnMgMSBOU1QKLStSIE4gMTkzNyBvIC0gSnVsIDEgMCAxIFMKLStSIE4gMTkzNyAxOTM5IC0gTyBTdW4+PTIgMnMgMCAtCi0rUiBOIDE5MzggMTkzOSAtIE1heSAxNSAycyAxIFMKLStSIE4gMTk0NSBvIC0gQXAgMiAycyAxIFMKLStSIE4gMTk0NSBvIC0gUyAxNiAycyAwIC0KLSBaIEV1cm9wZS9BbXN0ZXJkYW0gMDoxOTozMiAtIExNVCAxODM1Ci0tMDoxOTozMiB8ICVzIDE5MzcgSnVsCi0tMDoyMCB8ICswMDIwLyswMTIwIDE5NDAgTWF5IDE2Ci0tMSAoIENFJXNUIDE5NDUgQXAgMiAyCi0tMSB8IENFJXNUIDE5NzcKLS0xIE8gQ0Ulc1QKLS1SIH0gMTkxNiBvIC0gTWF5IDIyIDEgMSBTCi0tUiB9IDE5MTYgbyAtIFMgMzAgMCAwIC0KLS1SIH0gMTk0NSBvIC0gQXAgMiAycyAxIFMKLS1SIH0gMTk0NSBvIC0gTyAxIDJzIDAgLQotLVIgfSAxOTU5IDE5NjQgLSBNYXIgU3VuPj0xNSAycyAxIFMKLS1SIH0gMTk1OSAxOTY1IC0gUyBTdW4+PTE1IDJzIDAgLQotLVIgfSAxOTY1IG8gLSBBcCAyNSAycyAxIFMKLSswOjE5OjMyIE4gJXMgMTkzNyBKdWwKLSswOjIwIE4gKzAwMjAvKzAxMjAgMTk0MCBNYXkgMTYKLSsxIGMgQ0Ulc1QgMTk0NSBBcCAyIDIKLSsxIE4gQ0Ulc1QgMTk3NwotKzEgRSBDRSVzVAotK1IgTk8gMTkxNiBvIC0gTWF5IDIyIDEgMSBTCi0rUiBOTyAxOTE2IG8gLSBTIDMwIDAgMCAtCi0rUiBOTyAxOTQ1IG8gLSBBcCAyIDJzIDEgUwotK1IgTk8gMTk0NSBvIC0gTyAxIDJzIDAgLQotK1IgTk8gMTk1OSAxOTY0IC0gTWFyIFN1bj49MTUgMnMgMSBTCi0rUiBOTyAxOTU5IDE5NjUgLSBTIFN1bj49MTUgMnMgMCAtCi0rUiBOTyAxOTY1IG8gLSBBcCAyNSAycyAxIFMKLSBaIEV1cm9wZS9Pc2xvIDA6NDMgLSBMTVQgMTg5NQotLTEgfSBDRSVzVCAxOTQwIEF1IDEwIDIzCi0tMSAoIENFJXNUIDE5NDUgQXAgMiAyCi0tMSB9IENFJXNUIDE5ODAKLS0xIE8gQ0Ulc1QKLSsxIE5PIENFJXNUIDE5NDAgQXUgMTAgMjMKLSsxIGMgQ0Ulc1QgMTk0NSBBcCAyIDIKLSsxIE5PIENFJXNUIDE5ODAKLSsxIEUgQ0Ulc1QKLSBMaSBFdXJvcGUvT3NsbyBBcmN0aWMvTG9uZ3llYXJieWVuCi0tUiB+IDE5MTggMTkxOSAtIFMgMTYgMnMgMCAtCi0tUiB+IDE5MTkgbyAtIEFwIDE1IDJzIDEgUwotLVIgfiAxOTQ0IG8gLSBBcCAzIDJzIDEgUwotLVIgfiAxOTQ0IG8gLSBPIDQgMiAwIC0KLS1SIH4gMTk0NSBvIC0gQXAgMjkgMCAxIFMKLS1SIH4gMTk0NSBvIC0gTiAxIDAgMCAtCi0tUiB+IDE5NDYgbyAtIEFwIDE0IDBzIDEgUwotLVIgfiAxOTQ2IG8gLSBPIDcgMnMgMCAtCi0tUiB+IDE5NDcgbyAtIE1heSA0IDJzIDEgUwotLVIgfiAxOTQ3IDE5NDkgLSBPIFN1bj49MSAycyAwIC0KLS1SIH4gMTk0OCBvIC0gQXAgMTggMnMgMSBTCi0tUiB+IDE5NDkgbyAtIEFwIDEwIDJzIDEgUwotLVIgfiAxOTU3IG8gLSBKdW4gMiAxcyAxIFMKLS1SIH4gMTk1NyAxOTU4IC0gUyBsYXN0U3VuIDFzIDAgLQotLVIgfiAxOTU4IG8gLSBNYXIgMzAgMXMgMSBTCi0tUiB+IDE5NTkgbyAtIE1heSAzMSAxcyAxIFMKLS1SIH4gMTk1OSAxOTYxIC0gTyBTdW4+PTEgMXMgMCAtCi0tUiB+IDE5NjAgbyAtIEFwIDMgMXMgMSBTCi0tUiB+IDE5NjEgMTk2NCAtIE1heSBsYXN0U3VuIDFzIDEgUwotLVIgfiAxOTYyIDE5NjQgLSBTIGxhc3RTdW4gMXMgMCAtCi0rUiBPIDE5MTggMTkxOSAtIFMgMTYgMnMgMCAtCi0rUiBPIDE5MTkgbyAtIEFwIDE1IDJzIDEgUwotK1IgTyAxOTQ0IG8gLSBBcCAzIDJzIDEgUwotK1IgTyAxOTQ0IG8gLSBPIDQgMiAwIC0KLStSIE8gMTk0NSBvIC0gQXAgMjkgMCAxIFMKLStSIE8gMTk0NSBvIC0gTiAxIDAgMCAtCi0rUiBPIDE5NDYgbyAtIEFwIDE0IDBzIDEgUwotK1IgTyAxOTQ2IG8gLSBPIDcgMnMgMCAtCi0rUiBPIDE5NDcgbyAtIE1heSA0IDJzIDEgUwotK1IgTyAxOTQ3IDE5NDkgLSBPIFN1bj49MSAycyAwIC0KLStSIE8gMTk0OCBvIC0gQXAgMTggMnMgMSBTCi0rUiBPIDE5NDkgbyAtIEFwIDEwIDJzIDEgUwotK1IgTyAxOTU3IG8gLSBKdW4gMiAxcyAxIFMKLStSIE8gMTk1NyAxOTU4IC0gUyBsYXN0U3VuIDFzIDAgLQotK1IgTyAxOTU4IG8gLSBNYXIgMzAgMXMgMSBTCi0rUiBPIDE5NTkgbyAtIE1heSAzMSAxcyAxIFMKLStSIE8gMTk1OSAxOTYxIC0gTyBTdW4+PTEgMXMgMCAtCi0rUiBPIDE5NjAgbyAtIEFwIDMgMXMgMSBTCi0rUiBPIDE5NjEgMTk2NCAtIE1heSBsYXN0U3VuIDFzIDEgUwotK1IgTyAxOTYyIDE5NjQgLSBTIGxhc3RTdW4gMXMgMCAtCi0gWiBFdXJvcGUvV2Fyc2F3IDE6MjQgLSBMTVQgMTg4MAotIDE6MjQgLSBXTVQgMTkxNSBBdSA1Ci0tMSAoIENFJXNUIDE5MTggUyAxNiAzCi0tMiB+IEVFJXNUIDE5MjIgSnVuCi0tMSB+IENFJXNUIDE5NDAgSnVuIDIzIDIKLS0xICggQ0Ulc1QgMTk0NCBPCi0tMSB+IENFJXNUIDE5NzcKLS0xICcgQ0Ulc1QgMTk4OAotLTEgTyBDRSVzVAotLVIgQUEgMTkxNiBvIC0gSnVuIDE3IDIzIDEgUwotLVIgQUEgMTkxNiBvIC0gTiAxIDEgMCAtCi0tUiBBQSAxOTE3IG8gLSBGIDI4IDIzcyAxIFMKLS1SIEFBIDE5MTcgMTkyMSAtIE8gMTQgMjNzIDAgLQotLVIgQUEgMTkxOCBvIC0gTWFyIDEgMjNzIDEgUwotLVIgQUEgMTkxOSBvIC0gRiAyOCAyM3MgMSBTCi0tUiBBQSAxOTIwIG8gLSBGIDI5IDIzcyAxIFMKLS1SIEFBIDE5MjEgbyAtIEYgMjggMjNzIDEgUwotLVIgQUEgMTkyNCBvIC0gQXAgMTYgMjNzIDEgUwotLVIgQUEgMTkyNCBvIC0gTyAxNCAyM3MgMCAtCi0tUiBBQSAxOTI2IG8gLSBBcCAxNyAyM3MgMSBTCi0tUiBBQSAxOTI2IDE5MjkgLSBPIFNhdD49MSAyM3MgMCAtCi0tUiBBQSAxOTI3IG8gLSBBcCA5IDIzcyAxIFMKLS1SIEFBIDE5MjggbyAtIEFwIDE0IDIzcyAxIFMKLS1SIEFBIDE5MjkgbyAtIEFwIDIwIDIzcyAxIFMKLS1SIEFBIDE5MzEgbyAtIEFwIDE4IDIzcyAxIFMKLS1SIEFBIDE5MzEgMTkzMiAtIE8gU2F0Pj0xIDIzcyAwIC0KLS1SIEFBIDE5MzIgbyAtIEFwIDIgMjNzIDEgUwotLVIgQUEgMTkzNCBvIC0gQXAgNyAyM3MgMSBTCi0tUiBBQSAxOTM0IDE5MzggLSBPIFNhdD49MSAyM3MgMCAtCi0tUiBBQSAxOTM1IG8gLSBNYXIgMzAgMjNzIDEgUwotLVIgQUEgMTkzNiBvIC0gQXAgMTggMjNzIDEgUwotLVIgQUEgMTkzNyBvIC0gQXAgMyAyM3MgMSBTCi0tUiBBQSAxOTM4IG8gLSBNYXIgMjYgMjNzIDEgUwotLVIgQUEgMTkzOSBvIC0gQXAgMTUgMjNzIDEgUwotLVIgQUEgMTkzOSBvIC0gTiAxOCAyM3MgMCAtCi0tUiBBQSAxOTQwIG8gLSBGIDI0IDIzcyAxIFMKLS1SIEFBIDE5NDAgMTk0MSAtIE8gNSAyM3MgMCAtCi0tUiBBQSAxOTQxIG8gLSBBcCA1IDIzcyAxIFMKLS1SIEFBIDE5NDIgMTk0NSAtIE1hciBTYXQ+PTggMjNzIDEgUwotLVIgQUEgMTk0MiBvIC0gQXAgMjUgMjJzIDIgTQotLVIgQUEgMTk0MiBvIC0gQXUgMTUgMjJzIDEgUwotLVIgQUEgMTk0MiAxOTQ1IC0gTyBTYXQ+PTI0IDIzcyAwIC0KLS1SIEFBIDE5NDMgbyAtIEFwIDE3IDIycyAyIE0KLS1SIEFBIDE5NDMgMTk0NSAtIEF1IFNhdD49MjUgMjJzIDEgUwotLVIgQUEgMTk0NCAxOTQ1IC0gQXAgU2F0Pj0yMSAyMnMgMiBNCi0tUiBBQSAxOTQ2IG8gLSBBcCBTYXQ+PTEgMjNzIDEgUwotLVIgQUEgMTk0NiBvIC0gTyBTYXQ+PTEgMjNzIDAgLQotLVIgQUEgMTk0NyAxOTQ5IC0gQXAgU3VuPj0xIDJzIDEgUwotLVIgQUEgMTk0NyAxOTQ5IC0gTyBTdW4+PTEgMnMgMCAtCi0tUiBBQSAxOTUxIDE5NjUgLSBBcCBTdW4+PTEgMnMgMSBTCi0tUiBBQSAxOTUxIDE5NjUgLSBPIFN1bj49MSAycyAwIC0KLS1SIEFBIDE5NzcgbyAtIE1hciAyNyAwcyAxIFMKLS1SIEFBIDE5NzcgbyAtIFMgMjUgMHMgMCAtCi0tUiBBQSAxOTc4IDE5NzkgLSBBcCBTdW4+PTEgMHMgMSBTCi0tUiBBQSAxOTc4IG8gLSBPIDEgMHMgMCAtCi0tUiBBQSAxOTc5IDE5ODIgLSBTIGxhc3RTdW4gMXMgMCAtCi0tUiBBQSAxOTgwIG8gLSBNYXIgbGFzdFN1biAwcyAxIFMKLS1SIEFBIDE5ODEgMTk4MiAtIE1hciBsYXN0U3VuIDFzIDEgUwotLVIgQUEgMTk4MyBvIC0gTWFyIGxhc3RTdW4gMnMgMSBTCi0rMSBjIENFJXNUIDE5MTggUyAxNiAzCi0rMiBPIEVFJXNUIDE5MjIgSnVuCi0rMSBPIENFJXNUIDE5NDAgSnVuIDIzIDIKLSsxIGMgQ0Ulc1QgMTk0NCBPCi0rMSBPIENFJXNUIDE5NzcKLSsxIFctIENFJXNUIDE5ODgKLSsxIEUgQ0Ulc1QKLStSIHAgMTkxNiBvIC0gSnVuIDE3IDIzIDEgUwotK1IgcCAxOTE2IG8gLSBOIDEgMSAwIC0KLStSIHAgMTkxNyBvIC0gRiAyOCAyM3MgMSBTCi0rUiBwIDE5MTcgMTkyMSAtIE8gMTQgMjNzIDAgLQotK1IgcCAxOTE4IG8gLSBNYXIgMSAyM3MgMSBTCi0rUiBwIDE5MTkgbyAtIEYgMjggMjNzIDEgUwotK1IgcCAxOTIwIG8gLSBGIDI5IDIzcyAxIFMKLStSIHAgMTkyMSBvIC0gRiAyOCAyM3MgMSBTCi0rUiBwIDE5MjQgbyAtIEFwIDE2IDIzcyAxIFMKLStSIHAgMTkyNCBvIC0gTyAxNCAyM3MgMCAtCi0rUiBwIDE5MjYgbyAtIEFwIDE3IDIzcyAxIFMKLStSIHAgMTkyNiAxOTI5IC0gTyBTYXQ+PTEgMjNzIDAgLQotK1IgcCAxOTI3IG8gLSBBcCA5IDIzcyAxIFMKLStSIHAgMTkyOCBvIC0gQXAgMTQgMjNzIDEgUwotK1IgcCAxOTI5IG8gLSBBcCAyMCAyM3MgMSBTCi0rUiBwIDE5MzEgbyAtIEFwIDE4IDIzcyAxIFMKLStSIHAgMTkzMSAxOTMyIC0gTyBTYXQ+PTEgMjNzIDAgLQotK1IgcCAxOTMyIG8gLSBBcCAyIDIzcyAxIFMKLStSIHAgMTkzNCBvIC0gQXAgNyAyM3MgMSBTCi0rUiBwIDE5MzQgMTkzOCAtIE8gU2F0Pj0xIDIzcyAwIC0KLStSIHAgMTkzNSBvIC0gTWFyIDMwIDIzcyAxIFMKLStSIHAgMTkzNiBvIC0gQXAgMTggMjNzIDEgUwotK1IgcCAxOTM3IG8gLSBBcCAzIDIzcyAxIFMKLStSIHAgMTkzOCBvIC0gTWFyIDI2IDIzcyAxIFMKLStSIHAgMTkzOSBvIC0gQXAgMTUgMjNzIDEgUwotK1IgcCAxOTM5IG8gLSBOIDE4IDIzcyAwIC0KLStSIHAgMTk0MCBvIC0gRiAyNCAyM3MgMSBTCi0rUiBwIDE5NDAgMTk0MSAtIE8gNSAyM3MgMCAtCi0rUiBwIDE5NDEgbyAtIEFwIDUgMjNzIDEgUwotK1IgcCAxOTQyIDE5NDUgLSBNYXIgU2F0Pj04IDIzcyAxIFMKLStSIHAgMTk0MiBvIC0gQXAgMjUgMjJzIDIgTQotK1IgcCAxOTQyIG8gLSBBdSAxNSAyMnMgMSBTCi0rUiBwIDE5NDIgMTk0NSAtIE8gU2F0Pj0yNCAyM3MgMCAtCi0rUiBwIDE5NDMgbyAtIEFwIDE3IDIycyAyIE0KLStSIHAgMTk0MyAxOTQ1IC0gQXUgU2F0Pj0yNSAyMnMgMSBTCi0rUiBwIDE5NDQgMTk0NSAtIEFwIFNhdD49MjEgMjJzIDIgTQotK1IgcCAxOTQ2IG8gLSBBcCBTYXQ+PTEgMjNzIDEgUwotK1IgcCAxOTQ2IG8gLSBPIFNhdD49MSAyM3MgMCAtCi0rUiBwIDE5NDcgMTk0OSAtIEFwIFN1bj49MSAycyAxIFMKLStSIHAgMTk0NyAxOTQ5IC0gTyBTdW4+PTEgMnMgMCAtCi0rUiBwIDE5NTEgMTk2NSAtIEFwIFN1bj49MSAycyAxIFMKLStSIHAgMTk1MSAxOTY1IC0gTyBTdW4+PTEgMnMgMCAtCi0rUiBwIDE5NzcgbyAtIE1hciAyNyAwcyAxIFMKLStSIHAgMTk3NyBvIC0gUyAyNSAwcyAwIC0KLStSIHAgMTk3OCAxOTc5IC0gQXAgU3VuPj0xIDBzIDEgUwotK1IgcCAxOTc4IG8gLSBPIDEgMHMgMCAtCi0rUiBwIDE5NzkgMTk4MiAtIFMgbGFzdFN1biAxcyAwIC0KLStSIHAgMTk4MCBvIC0gTWFyIGxhc3RTdW4gMHMgMSBTCi0rUiBwIDE5ODEgMTk4MiAtIE1hciBsYXN0U3VuIDFzIDEgUwotK1IgcCAxOTgzIG8gLSBNYXIgbGFzdFN1biAycyAxIFMKLSBaIEV1cm9wZS9MaXNib24gLTA6MzY6NDUgLSBMTVQgMTg4NAotIC0wOjM2OjQ1IC0gTE1UIDE5MTIgSmEgMSAwdQotLTAgQUEgV0Ulc1QgMTk2NiBBcCAzIDIKLSswIHAgV0Ulc1QgMTk2NiBBcCAzIDIKLSAxIC0gQ0VUIDE5NzYgUyAyNiAxCi0tMCBBQSBXRSVzVCAxOTgzIFMgMjUgMXMKLS0wICcgV0Ulc1QgMTk5MiBTIDI3IDFzCi0tMSBPIENFJXNUIDE5OTYgTWFyIDMxIDF1Ci0tMCBPIFdFJXNUCi0rMCBwIFdFJXNUIDE5ODMgUyAyNSAxcwotKzAgVy0gV0Ulc1QgMTk5MiBTIDI3IDFzCi0rMSBFIENFJXNUIDE5OTYgTWFyIDMxIDF1Ci0rMCBFIFdFJXNUCi0gWiBBdGxhbnRpYy9Bem9yZXMgLTE6NDI6NDAgLSBMTVQgMTg4NAotIC0xOjU0OjMyIC0gSE1UIDE5MTIgSmEgMSAydQotLS0yIEFBIC0wMi8tMDEgMTk0MiBBcCAyNSAyMnMKLS0tMiBBQSArMDAgMTk0MiBBdSAxNSAyMnMKLS0tMiBBQSAtMDIvLTAxIDE5NDMgQXAgMTcgMjJzCi0tLTIgQUEgKzAwIDE5NDMgQXUgMjggMjJzCi0tLTIgQUEgLTAyLy0wMSAxOTQ0IEFwIDIyIDIycwotLS0yIEFBICswMCAxOTQ0IEF1IDI2IDIycwotLS0yIEFBIC0wMi8tMDEgMTk0NSBBcCAyMSAyMnMKLS0tMiBBQSArMDAgMTk0NSBBdSAyNSAyMnMKLS0tMiBBQSAtMDIvLTAxIDE5NjYgQXAgMyAyCi0tLTEgQUEgLTAxLyswMCAxOTgzIFMgMjUgMXMKLS0tMSAnIC0wMS8rMDAgMTk5MiBTIDI3IDFzCi0tMCBPIFdFJXNUIDE5OTMgTWFyIDI4IDF1Ci0tLTEgTyAtMDEvKzAwCi0rLTIgcCAtMDIvLTAxIDE5NDIgQXAgMjUgMjJzCi0rLTIgcCArMDAgMTk0MiBBdSAxNSAyMnMKLSstMiBwIC0wMi8tMDEgMTk0MyBBcCAxNyAyMnMKLSstMiBwICswMCAxOTQzIEF1IDI4IDIycwotKy0yIHAgLTAyLy0wMSAxOTQ0IEFwIDIyIDIycwotKy0yIHAgKzAwIDE5NDQgQXUgMjYgMjJzCi0rLTIgcCAtMDIvLTAxIDE5NDUgQXAgMjEgMjJzCi0rLTIgcCArMDAgMTk0NSBBdSAyNSAyMnMKLSstMiBwIC0wMi8tMDEgMTk2NiBBcCAzIDIKLSstMSBwIC0wMS8rMDAgMTk4MyBTIDI1IDFzCi0rLTEgVy0gLTAxLyswMCAxOTkyIFMgMjcgMXMKLSswIEUgV0Ulc1QgMTk5MyBNYXIgMjggMXUKLSstMSBFIC0wMS8rMDAKLSBaIEF0bGFudGljL01hZGVpcmEgLTE6NzozNiAtIExNVCAxODg0Ci0gLTE6NzozNiAtIEZNVCAxOTEyIEphIDEgMXUKLS0tMSBBQSAtMDEvKzAwIDE5NDIgQXAgMjUgMjJzCi0tLTEgQUEgKzAxIDE5NDIgQXUgMTUgMjJzCi0tLTEgQUEgLTAxLyswMCAxOTQzIEFwIDE3IDIycwotLS0xIEFBICswMSAxOTQzIEF1IDI4IDIycwotLS0xIEFBIC0wMS8rMDAgMTk0NCBBcCAyMiAyMnMKLS0tMSBBQSArMDEgMTk0NCBBdSAyNiAyMnMKLS0tMSBBQSAtMDEvKzAwIDE5NDUgQXAgMjEgMjJzCi0tLTEgQUEgKzAxIDE5NDUgQXUgMjUgMjJzCi0tLTEgQUEgLTAxLyswMCAxOTY2IEFwIDMgMgotLTAgQUEgV0Ulc1QgMTk4MyBTIDI1IDFzCi0tMCBPIFdFJXNUCi0tUiB7IDE5MzIgbyAtIE1heSAyMSAwcyAxIFMKLS1SIHsgMTkzMiAxOTM5IC0gTyBTdW4+PTEgMHMgMCAtCi0tUiB7IDE5MzMgMTkzOSAtIEFwIFN1bj49MiAwcyAxIFMKLS1SIHsgMTk3OSBvIC0gTWF5IDI3IDAgMSBTCi0tUiB7IDE5NzkgbyAtIFMgbGFzdFN1biAwIDAgLQotLVIgeyAxOTgwIG8gLSBBcCA1IDIzIDEgUwotLVIgeyAxOTgwIG8gLSBTIGxhc3RTdW4gMSAwIC0KLS1SIHsgMTk5MSAxOTkzIC0gTWFyIGxhc3RTdW4gMHMgMSBTCi0tUiB7IDE5OTEgMTk5MyAtIFMgbGFzdFN1biAwcyAwIC0KLSstMSBwIC0wMS8rMDAgMTk0MiBBcCAyNSAyMnMKLSstMSBwICswMSAxOTQyIEF1IDE1IDIycwotKy0xIHAgLTAxLyswMCAxOTQzIEFwIDE3IDIycwotKy0xIHAgKzAxIDE5NDMgQXUgMjggMjJzCi0rLTEgcCAtMDEvKzAwIDE5NDQgQXAgMjIgMjJzCi0rLTEgcCArMDEgMTk0NCBBdSAyNiAyMnMKLSstMSBwIC0wMS8rMDAgMTk0NSBBcCAyMSAyMnMKLSstMSBwICswMSAxOTQ1IEF1IDI1IDIycwotKy0xIHAgLTAxLyswMCAxOTY2IEFwIDMgMgotKzAgcCBXRSVzVCAxOTgzIFMgMjUgMXMKLSswIEUgV0Ulc1QKLStSIHogMTkzMiBvIC0gTWF5IDIxIDBzIDEgUwotK1IgeiAxOTMyIDE5MzkgLSBPIFN1bj49MSAwcyAwIC0KLStSIHogMTkzMyAxOTM5IC0gQXAgU3VuPj0yIDBzIDEgUwotK1IgeiAxOTc5IG8gLSBNYXkgMjcgMCAxIFMKLStSIHogMTk3OSBvIC0gUyBsYXN0U3VuIDAgMCAtCi0rUiB6IDE5ODAgbyAtIEFwIDUgMjMgMSBTCi0rUiB6IDE5ODAgbyAtIFMgbGFzdFN1biAxIDAgLQotK1IgeiAxOTkxIDE5OTMgLSBNYXIgbGFzdFN1biAwcyAxIFMKLStSIHogMTk5MSAxOTkzIC0gUyBsYXN0U3VuIDBzIDAgLQotIFogRXVyb3BlL0J1Y2hhcmVzdCAxOjQ0OjI0IC0gTE1UIDE4OTEgTwotIDE6NDQ6MjQgLSBCTVQgMTkzMSBKdWwgMjQKLS0yIHsgRUUlc1QgMTk4MSBNYXIgMjkgMnMKLS0yICggRUUlc1QgMTk5MQotLTIgeyBFRSVzVCAxOTk0Ci0tMiBXIEVFJXNUIDE5OTcKLS0yIE8gRUUlc1QKLSsyIHogRUUlc1QgMTk4MSBNYXIgMjkgMnMKLSsyIGMgRUUlc1QgMTk5MQotKzIgeiBFRSVzVCAxOTk0Ci0rMiBlIEVFJXNUIDE5OTcKLSsyIEUgRUUlc1QKLSBaIEV1cm9wZS9LYWxpbmluZ3JhZCAxOjIyIC0gTE1UIDE4OTMgQXAKLS0xICggQ0Ulc1QgMTk0NQotLTIgfiBDRSVzVCAxOTQ2Ci0tMyBNIE1TSy9NU0QgMTk4OSBNYXIgMjYgMnMKLS0yIE0gRUUlc1QgMjAxMSBNYXIgMjcgMnMKLSsxIGMgQ0Ulc1QgMTk0NQotKzIgTyBDRSVzVCAxOTQ2Ci0rMyBSIE1TSy9NU0QgMTk4OSBNYXIgMjYgMnMKLSsyIFIgRUUlc1QgMjAxMSBNYXIgMjcgMnMKLSAzIC0gKzAzIDIwMTQgTyAyNiAycwotIDIgLSBFRVQKLSBaIEV1cm9wZS9Nb3Njb3cgMjozMDoxNyAtIExNVCAxODgwCi0gMjozMDoxNyAtIE1NVCAxOTE2IEp1bCAzCi0tMjozMToxOSBNICVzIDE5MTkgSnVsIDEgMHUKLS0zIE0gJXMgMTkyMSBPCi0tMyBNIE1TSy9NU0QgMTkyMiBPCi0rMjozMToxOSBSICVzIDE5MTkgSnVsIDEgMHUKLSszIFIgJXMgMTkyMSBPCi0rMyBSIE1TSy9NU0QgMTkyMiBPCi0gMiAtIEVFVCAxOTMwIEp1biAyMQotLTMgTSBNU0svTVNEIDE5OTEgTWFyIDMxIDJzCi0tMiBNIEVFJXNUIDE5OTIgSmEgMTkgMnMKLS0zIE0gTVNLL01TRCAyMDExIE1hciAyNyAycwotKzMgUiBNU0svTVNEIDE5OTEgTWFyIDMxIDJzCi0rMiBSIEVFJXNUIDE5OTIgSmEgMTkgMnMKLSszIFIgTVNLL01TRCAyMDExIE1hciAyNyAycwotIDQgLSBNU0sgMjAxNCBPIDI2IDJzCi0gMyAtIE1TSwotIFogRXVyb3BlL1NpbWZlcm9wb2wgMjoxNjoyNCAtIExNVCAxODgwCi0gMjoxNiAtIFNNVCAxOTI0IE1heSAyCi0gMiAtIEVFVCAxOTMwIEp1biAyMQotIDMgLSBNU0sgMTk0MSBOCi0tMSAoIENFJXNUIDE5NDQgQXAgMTMKLS0zIE0gTVNLL01TRCAxOTkwCi0rMSBjIENFJXNUIDE5NDQgQXAgMTMKLSszIFIgTVNLL01TRCAxOTkwCi0gMyAtIE1TSyAxOTkwIEp1bCAxIDIKLSAyIC0gRUVUIDE5OTIKLS0yIFcgRUUlc1QgMTk5NCBNYXkKLS0zIFcgTVNLL01TRCAxOTk2IE1hciAzMSAwcwotKzIgZSBFRSVzVCAxOTk0IE1heQotKzMgZSBNU0svTVNEIDE5OTYgTWFyIDMxIDBzCi0gMyAxIE1TRCAxOTk2IE8gMjcgM3MKLS0zIE0gTVNLL01TRCAxOTk3Ci0rMyBSIE1TSy9NU0QgMTk5NwotIDMgLSBNU0sgMTk5NyBNYXIgbGFzdFN1biAxdQotLTIgTyBFRSVzVCAyMDE0IE1hciAzMCAyCi0rMiBFIEVFJXNUIDIwMTQgTWFyIDMwIDIKLSA0IC0gTVNLIDIwMTQgTyAyNiAycwotIDMgLSBNU0sKLSBaIEV1cm9wZS9Bc3RyYWtoYW4gMzoxMjoxMiAtIExNVCAxOTI0IE1heQotIDMgLSArMDMgMTkzMCBKdW4gMjEKLS00IE0gKzA0LyswNSAxOTg5IE1hciAyNiAycwotLTMgTSArMDMvKzA0IDE5OTEgTWFyIDMxIDJzCi0rNCBSICswNC8rMDUgMTk4OSBNYXIgMjYgMnMKLSszIFIgKzAzLyswNCAxOTkxIE1hciAzMSAycwotIDQgLSArMDQgMTk5MiBNYXIgMjkgMnMKLS0zIE0gKzAzLyswNCAyMDExIE1hciAyNyAycwotKzMgUiArMDMvKzA0IDIwMTEgTWFyIDI3IDJzCi0gNCAtICswNCAyMDE0IE8gMjYgMnMKLSAzIC0gKzAzIDIwMTYgTWFyIDI3IDJzCi0gNCAtICswNAotIFogRXVyb3BlL1ZvbGdvZ3JhZCAyOjU3OjQwIC0gTE1UIDE5MjAgSmEgMwotIDMgLSArMDMgMTkzMCBKdW4gMjEKLSA0IC0gKzA0IDE5NjEgTiAxMQotLTQgTSArMDQvKzA1IDE5ODggTWFyIDI3IDJzCi0tMyBNICswMy8rMDQgMTk5MSBNYXIgMzEgMnMKLSs0IFIgKzA0LyswNSAxOTg4IE1hciAyNyAycwotKzMgUiArMDMvKzA0IDE5OTEgTWFyIDMxIDJzCi0gNCAtICswNCAxOTkyIE1hciAyOSAycwotLTMgTSArMDMvKzA0IDIwMTEgTWFyIDI3IDJzCi0rMyBSICswMy8rMDQgMjAxMSBNYXIgMjcgMnMKLSA0IC0gKzA0IDIwMTQgTyAyNiAycwotLTMgLSArMDMKLSszIC0gKzAzIDIwMTggTyAyOCAycwotKzQgLSArMDQKLSBaIEV1cm9wZS9TYXJhdG92IDM6NDoxOCAtIExNVCAxOTE5IEp1bCAxIDB1Ci0gMyAtICswMyAxOTMwIEp1biAyMQotLTQgTSArMDQvKzA1IDE5ODggTWFyIDI3IDJzCi0tMyBNICswMy8rMDQgMTk5MSBNYXIgMzEgMnMKLSs0IFIgKzA0LyswNSAxOTg4IE1hciAyNyAycwotKzMgUiArMDMvKzA0IDE5OTEgTWFyIDMxIDJzCi0gNCAtICswNCAxOTkyIE1hciAyOSAycwotLTMgTSArMDMvKzA0IDIwMTEgTWFyIDI3IDJzCi0rMyBSICswMy8rMDQgMjAxMSBNYXIgMjcgMnMKLSA0IC0gKzA0IDIwMTQgTyAyNiAycwotIDMgLSArMDMgMjAxNiBEIDQgMnMKLSA0IC0gKzA0Ci0gWiBFdXJvcGUvS2lyb3YgMzoxODo0OCAtIExNVCAxOTE5IEp1bCAxIDB1Ci0gMyAtICswMyAxOTMwIEp1biAyMQotLTQgTSArMDQvKzA1IDE5ODkgTWFyIDI2IDJzCi0tMyBNICswMy8rMDQgMTk5MSBNYXIgMzEgMnMKLSs0IFIgKzA0LyswNSAxOTg5IE1hciAyNiAycwotKzMgUiArMDMvKzA0IDE5OTEgTWFyIDMxIDJzCi0gNCAtICswNCAxOTkyIE1hciAyOSAycwotLTMgTSArMDMvKzA0IDIwMTEgTWFyIDI3IDJzCi0rMyBSICswMy8rMDQgMjAxMSBNYXIgMjcgMnMKLSA0IC0gKzA0IDIwMTQgTyAyNiAycwotIDMgLSArMDMKLSBaIEV1cm9wZS9TYW1hcmEgMzoyMDoyMCAtIExNVCAxOTE5IEp1bCAxIDB1Ci0gMyAtICswMyAxOTMwIEp1biAyMQotIDQgLSArMDQgMTkzNSBKYSAyNwotLTQgTSArMDQvKzA1IDE5ODkgTWFyIDI2IDJzCi0tMyBNICswMy8rMDQgMTk5MSBNYXIgMzEgMnMKLS0yIE0gKzAyLyswMyAxOTkxIFMgMjkgMnMKLSs0IFIgKzA0LyswNSAxOTg5IE1hciAyNiAycwotKzMgUiArMDMvKzA0IDE5OTEgTWFyIDMxIDJzCi0rMiBSICswMi8rMDMgMTk5MSBTIDI5IDJzCi0gMyAtICswMyAxOTkxIE8gMjAgMwotLTQgTSArMDQvKzA1IDIwMTAgTWFyIDI4IDJzCi0tMyBNICswMy8rMDQgMjAxMSBNYXIgMjcgMnMKLSs0IFIgKzA0LyswNSAyMDEwIE1hciAyOCAycwotKzMgUiArMDMvKzA0IDIwMTEgTWFyIDI3IDJzCi0gNCAtICswNAotIFogRXVyb3BlL1VseWFub3ZzayAzOjEzOjM2IC0gTE1UIDE5MTkgSnVsIDEgMHUKLSAzIC0gKzAzIDE5MzAgSnVuIDIxCi0tNCBNICswNC8rMDUgMTk4OSBNYXIgMjYgMnMKLS0zIE0gKzAzLyswNCAxOTkxIE1hciAzMSAycwotLTIgTSArMDIvKzAzIDE5OTIgSmEgMTkgMnMKLS0zIE0gKzAzLyswNCAyMDExIE1hciAyNyAycwotKzQgUiArMDQvKzA1IDE5ODkgTWFyIDI2IDJzCi0rMyBSICswMy8rMDQgMTk5MSBNYXIgMzEgMnMKLSsyIFIgKzAyLyswMyAxOTkyIEphIDE5IDJzCi0rMyBSICswMy8rMDQgMjAxMSBNYXIgMjcgMnMKLSA0IC0gKzA0IDIwMTQgTyAyNiAycwotIDMgLSArMDMgMjAxNiBNYXIgMjcgMnMKLSA0IC0gKzA0Ci0gWiBBc2lhL1lla2F0ZXJpbmJ1cmcgNDoyOjMzIC0gTE1UIDE5MTYgSnVsIDMKLSAzOjQ1OjUgLSBQTVQgMTkxOSBKdWwgMTUgNAotIDQgLSArMDQgMTkzMCBKdW4gMjEKLS01IE0gKzA1LyswNiAxOTkxIE1hciAzMSAycwotLTQgTSArMDQvKzA1IDE5OTIgSmEgMTkgMnMKLS01IE0gKzA1LyswNiAyMDExIE1hciAyNyAycwotKzUgUiArMDUvKzA2IDE5OTEgTWFyIDMxIDJzCi0rNCBSICswNC8rMDUgMTk5MiBKYSAxOSAycwotKzUgUiArMDUvKzA2IDIwMTEgTWFyIDI3IDJzCi0gNiAtICswNiAyMDE0IE8gMjYgMnMKLSA1IC0gKzA1Ci0gWiBBc2lhL09tc2sgNDo1MzozMCAtIExNVCAxOTE5IE4gMTQKLSA1IC0gKzA1IDE5MzAgSnVuIDIxCi0tNiBNICswNi8rMDcgMTk5MSBNYXIgMzEgMnMKLS01IE0gKzA1LyswNiAxOTkyIEphIDE5IDJzCi0tNiBNICswNi8rMDcgMjAxMSBNYXIgMjcgMnMKLSs2IFIgKzA2LyswNyAxOTkxIE1hciAzMSAycwotKzUgUiArMDUvKzA2IDE5OTIgSmEgMTkgMnMKLSs2IFIgKzA2LyswNyAyMDExIE1hciAyNyAycwotIDcgLSArMDcgMjAxNCBPIDI2IDJzCi0gNiAtICswNgotIFogQXNpYS9CYXJuYXVsIDU6MzUgLSBMTVQgMTkxOSBEIDEwCi0gNiAtICswNiAxOTMwIEp1biAyMQotLTcgTSArMDcvKzA4IDE5OTEgTWFyIDMxIDJzCi0tNiBNICswNi8rMDcgMTk5MiBKYSAxOSAycwotLTcgTSArMDcvKzA4IDE5OTUgTWF5IDI4Ci0tNiBNICswNi8rMDcgMjAxMSBNYXIgMjcgMnMKLSs3IFIgKzA3LyswOCAxOTkxIE1hciAzMSAycwotKzYgUiArMDYvKzA3IDE5OTIgSmEgMTkgMnMKLSs3IFIgKzA3LyswOCAxOTk1IE1heSAyOAotKzYgUiArMDYvKzA3IDIwMTEgTWFyIDI3IDJzCi0gNyAtICswNyAyMDE0IE8gMjYgMnMKLSA2IC0gKzA2IDIwMTYgTWFyIDI3IDJzCi0gNyAtICswNwotIFogQXNpYS9Ob3Zvc2liaXJzayA1OjMxOjQwIC0gTE1UIDE5MTkgRCAxNCA2Ci0gNiAtICswNiAxOTMwIEp1biAyMQotLTcgTSArMDcvKzA4IDE5OTEgTWFyIDMxIDJzCi0tNiBNICswNi8rMDcgMTk5MiBKYSAxOSAycwotLTcgTSArMDcvKzA4IDE5OTMgTWF5IDIzCi0tNiBNICswNi8rMDcgMjAxMSBNYXIgMjcgMnMKLSs3IFIgKzA3LyswOCAxOTkxIE1hciAzMSAycwotKzYgUiArMDYvKzA3IDE5OTIgSmEgMTkgMnMKLSs3IFIgKzA3LyswOCAxOTkzIE1heSAyMwotKzYgUiArMDYvKzA3IDIwMTEgTWFyIDI3IDJzCi0gNyAtICswNyAyMDE0IE8gMjYgMnMKLSA2IC0gKzA2IDIwMTYgSnVsIDI0IDJzCi0gNyAtICswNwotIFogQXNpYS9Ub21zayA1OjM5OjUxIC0gTE1UIDE5MTkgRCAyMgotIDYgLSArMDYgMTkzMCBKdW4gMjEKLS03IE0gKzA3LyswOCAxOTkxIE1hciAzMSAycwotLTYgTSArMDYvKzA3IDE5OTIgSmEgMTkgMnMKLS03IE0gKzA3LyswOCAyMDAyIE1heSAxIDMKLS02IE0gKzA2LyswNyAyMDExIE1hciAyNyAycwotKzcgUiArMDcvKzA4IDE5OTEgTWFyIDMxIDJzCi0rNiBSICswNi8rMDcgMTk5MiBKYSAxOSAycwotKzcgUiArMDcvKzA4IDIwMDIgTWF5IDEgMwotKzYgUiArMDYvKzA3IDIwMTEgTWFyIDI3IDJzCi0gNyAtICswNyAyMDE0IE8gMjYgMnMKLSA2IC0gKzA2IDIwMTYgTWF5IDI5IDJzCi0gNyAtICswNwotIFogQXNpYS9Ob3Zva3V6bmV0c2sgNTo0ODo0OCAtIExNVCAxOTI0IE1heQotIDYgLSArMDYgMTkzMCBKdW4gMjEKLS03IE0gKzA3LyswOCAxOTkxIE1hciAzMSAycwotLTYgTSArMDYvKzA3IDE5OTIgSmEgMTkgMnMKLS03IE0gKzA3LyswOCAyMDEwIE1hciAyOCAycwotLTYgTSArMDYvKzA3IDIwMTEgTWFyIDI3IDJzCi0rNyBSICswNy8rMDggMTk5MSBNYXIgMzEgMnMKLSs2IFIgKzA2LyswNyAxOTkyIEphIDE5IDJzCi0rNyBSICswNy8rMDggMjAxMCBNYXIgMjggMnMKLSs2IFIgKzA2LyswNyAyMDExIE1hciAyNyAycwotIDcgLSArMDcKLSBaIEFzaWEvS3Jhc25veWFyc2sgNjoxMToyNiAtIExNVCAxOTIwIEphIDYKLSA2IC0gKzA2IDE5MzAgSnVuIDIxCi0tNyBNICswNy8rMDggMTk5MSBNYXIgMzEgMnMKLS02IE0gKzA2LyswNyAxOTkyIEphIDE5IDJzCi0tNyBNICswNy8rMDggMjAxMSBNYXIgMjcgMnMKLSs3IFIgKzA3LyswOCAxOTkxIE1hciAzMSAycwotKzYgUiArMDYvKzA3IDE5OTIgSmEgMTkgMnMKLSs3IFIgKzA3LyswOCAyMDExIE1hciAyNyAycwotIDggLSArMDggMjAxNCBPIDI2IDJzCi0gNyAtICswNwotIFogQXNpYS9Jcmt1dHNrIDY6NTc6NSAtIExNVCAxODgwCi0gNjo1Nzo1IC0gSU1UIDE5MjAgSmEgMjUKLSA3IC0gKzA3IDE5MzAgSnVuIDIxCi0tOCBNICswOC8rMDkgMTk5MSBNYXIgMzEgMnMKLS03IE0gKzA3LyswOCAxOTkyIEphIDE5IDJzCi0tOCBNICswOC8rMDkgMjAxMSBNYXIgMjcgMnMKLSs4IFIgKzA4LyswOSAxOTkxIE1hciAzMSAycwotKzcgUiArMDcvKzA4IDE5OTIgSmEgMTkgMnMKLSs4IFIgKzA4LyswOSAyMDExIE1hciAyNyAycwotIDkgLSArMDkgMjAxNCBPIDI2IDJzCi0gOCAtICswOAotIFogQXNpYS9DaGl0YSA3OjMzOjUyIC0gTE1UIDE5MTkgRCAxNQotIDggLSArMDggMTkzMCBKdW4gMjEKLS05IE0gKzA5LysxMCAxOTkxIE1hciAzMSAycwotLTggTSArMDgvKzA5IDE5OTIgSmEgMTkgMnMKLS05IE0gKzA5LysxMCAyMDExIE1hciAyNyAycwotKzkgUiArMDkvKzEwIDE5OTEgTWFyIDMxIDJzCi0rOCBSICswOC8rMDkgMTk5MiBKYSAxOSAycwotKzkgUiArMDkvKzEwIDIwMTEgTWFyIDI3IDJzCi0gMTAgLSArMTAgMjAxNCBPIDI2IDJzCi0gOCAtICswOCAyMDE2IE1hciAyNyAyCi0gOSAtICswOQotIFogQXNpYS9ZYWt1dHNrIDg6Mzg6NTggLSBMTVQgMTkxOSBEIDE1Ci0gOCAtICswOCAxOTMwIEp1biAyMQotLTkgTSArMDkvKzEwIDE5OTEgTWFyIDMxIDJzCi0tOCBNICswOC8rMDkgMTk5MiBKYSAxOSAycwotLTkgTSArMDkvKzEwIDIwMTEgTWFyIDI3IDJzCi0rOSBSICswOS8rMTAgMTk5MSBNYXIgMzEgMnMKLSs4IFIgKzA4LyswOSAxOTkyIEphIDE5IDJzCi0rOSBSICswOS8rMTAgMjAxMSBNYXIgMjcgMnMKLSAxMCAtICsxMCAyMDE0IE8gMjYgMnMKLSA5IC0gKzA5Ci0gWiBBc2lhL1ZsYWRpdm9zdG9rIDg6NDc6MzEgLSBMTVQgMTkyMiBOIDE1Ci0gOSAtICswOSAxOTMwIEp1biAyMQotLTEwIE0gKzEwLysxMSAxOTkxIE1hciAzMSAycwotLTkgTSArMDkvKzEwIDE5OTIgSmEgMTkgMnMKLS0xMCBNICsxMC8rMTEgMjAxMSBNYXIgMjcgMnMKLSsxMCBSICsxMC8rMTEgMTk5MSBNYXIgMzEgMnMKLSs5IFIgKzA5LysxMCAxOTkyIEphIDE5IDJzCi0rMTAgUiArMTAvKzExIDIwMTEgTWFyIDI3IDJzCi0gMTEgLSArMTEgMjAxNCBPIDI2IDJzCi0gMTAgLSArMTAKLSBaIEFzaWEvS2hhbmR5Z2EgOToyOjEzIC0gTE1UIDE5MTkgRCAxNQotIDggLSArMDggMTkzMCBKdW4gMjEKLS05IE0gKzA5LysxMCAxOTkxIE1hciAzMSAycwotLTggTSArMDgvKzA5IDE5OTIgSmEgMTkgMnMKLS05IE0gKzA5LysxMCAyMDA0Ci0tMTAgTSArMTAvKzExIDIwMTEgTWFyIDI3IDJzCi0rOSBSICswOS8rMTAgMTk5MSBNYXIgMzEgMnMKLSs4IFIgKzA4LyswOSAxOTkyIEphIDE5IDJzCi0rOSBSICswOS8rMTAgMjAwNAotKzEwIFIgKzEwLysxMSAyMDExIE1hciAyNyAycwotIDExIC0gKzExIDIwMTEgUyAxMyAwcwotIDEwIC0gKzEwIDIwMTQgTyAyNiAycwotIDkgLSArMDkKLSBaIEFzaWEvU2FraGFsaW4gOTozMDo0OCAtIExNVCAxOTA1IEF1IDIzCi0gOSAtICswOSAxOTQ1IEF1IDI1Ci0tMTEgTSArMTEvKzEyIDE5OTEgTWFyIDMxIDJzCi0tMTAgTSArMTAvKzExIDE5OTIgSmEgMTkgMnMKLS0xMSBNICsxMS8rMTIgMTk5NyBNYXIgbGFzdFN1biAycwotLTEwIE0gKzEwLysxMSAyMDExIE1hciAyNyAycwotKzExIFIgKzExLysxMiAxOTkxIE1hciAzMSAycwotKzEwIFIgKzEwLysxMSAxOTkyIEphIDE5IDJzCi0rMTEgUiArMTEvKzEyIDE5OTcgTWFyIGxhc3RTdW4gMnMKLSsxMCBSICsxMC8rMTEgMjAxMSBNYXIgMjcgMnMKLSAxMSAtICsxMSAyMDE0IE8gMjYgMnMKLSAxMCAtICsxMCAyMDE2IE1hciAyNyAycwotIDExIC0gKzExCi0gWiBBc2lhL01hZ2FkYW4gMTA6MzoxMiAtIExNVCAxOTI0IE1heSAyCi0gMTAgLSArMTAgMTkzMCBKdW4gMjEKLS0xMSBNICsxMS8rMTIgMTk5MSBNYXIgMzEgMnMKLS0xMCBNICsxMC8rMTEgMTk5MiBKYSAxOSAycwotLTExIE0gKzExLysxMiAyMDExIE1hciAyNyAycwotKzExIFIgKzExLysxMiAxOTkxIE1hciAzMSAycwotKzEwIFIgKzEwLysxMSAxOTkyIEphIDE5IDJzCi0rMTEgUiArMTEvKzEyIDIwMTEgTWFyIDI3IDJzCi0gMTIgLSArMTIgMjAxNCBPIDI2IDJzCi0gMTAgLSArMTAgMjAxNiBBcCAyNCAycwotIDExIC0gKzExCi0gWiBBc2lhL1NyZWRuZWtvbHltc2sgMTA6MTQ6NTIgLSBMTVQgMTkyNCBNYXkgMgotIDEwIC0gKzEwIDE5MzAgSnVuIDIxCi0tMTEgTSArMTEvKzEyIDE5OTEgTWFyIDMxIDJzCi0tMTAgTSArMTAvKzExIDE5OTIgSmEgMTkgMnMKLS0xMSBNICsxMS8rMTIgMjAxMSBNYXIgMjcgMnMKLSsxMSBSICsxMS8rMTIgMTk5MSBNYXIgMzEgMnMKLSsxMCBSICsxMC8rMTEgMTk5MiBKYSAxOSAycwotKzExIFIgKzExLysxMiAyMDExIE1hciAyNyAycwotIDEyIC0gKzEyIDIwMTQgTyAyNiAycwotIDExIC0gKzExCi0gWiBBc2lhL1VzdC1OZXJhIDk6MzI6NTQgLSBMTVQgMTkxOSBEIDE1Ci0gOCAtICswOCAxOTMwIEp1biAyMQotLTkgTSArMDkvKzEwIDE5ODEgQXAKLS0xMSBNICsxMS8rMTIgMTk5MSBNYXIgMzEgMnMKLS0xMCBNICsxMC8rMTEgMTk5MiBKYSAxOSAycwotLTExIE0gKzExLysxMiAyMDExIE1hciAyNyAycwotKzkgUiArMDkvKzEwIDE5ODEgQXAKLSsxMSBSICsxMS8rMTIgMTk5MSBNYXIgMzEgMnMKLSsxMCBSICsxMC8rMTEgMTk5MiBKYSAxOSAycwotKzExIFIgKzExLysxMiAyMDExIE1hciAyNyAycwotIDEyIC0gKzEyIDIwMTEgUyAxMyAwcwotIDExIC0gKzExIDIwMTQgTyAyNiAycwotIDEwIC0gKzEwCi0gWiBBc2lhL0thbWNoYXRrYSAxMDozNDozNiAtIExNVCAxOTIyIE4gMTAKLSAxMSAtICsxMSAxOTMwIEp1biAyMQotLTEyIE0gKzEyLysxMyAxOTkxIE1hciAzMSAycwotLTExIE0gKzExLysxMiAxOTkyIEphIDE5IDJzCi0tMTIgTSArMTIvKzEzIDIwMTAgTWFyIDI4IDJzCi0tMTEgTSArMTEvKzEyIDIwMTEgTWFyIDI3IDJzCi0rMTIgUiArMTIvKzEzIDE5OTEgTWFyIDMxIDJzCi0rMTEgUiArMTEvKzEyIDE5OTIgSmEgMTkgMnMKLSsxMiBSICsxMi8rMTMgMjAxMCBNYXIgMjggMnMKLSsxMSBSICsxMS8rMTIgMjAxMSBNYXIgMjcgMnMKLSAxMiAtICsxMgotIFogQXNpYS9BbmFkeXIgMTE6NDk6NTYgLSBMTVQgMTkyNCBNYXkgMgotIDEyIC0gKzEyIDE5MzAgSnVuIDIxCi0tMTMgTSArMTMvKzE0IDE5ODIgQXAgMSAwcwotLTEyIE0gKzEyLysxMyAxOTkxIE1hciAzMSAycwotLTExIE0gKzExLysxMiAxOTkyIEphIDE5IDJzCi0tMTIgTSArMTIvKzEzIDIwMTAgTWFyIDI4IDJzCi0tMTEgTSArMTEvKzEyIDIwMTEgTWFyIDI3IDJzCi0rMTMgUiArMTMvKzE0IDE5ODIgQXAgMSAwcwotKzEyIFIgKzEyLysxMyAxOTkxIE1hciAzMSAycwotKzExIFIgKzExLysxMiAxOTkyIEphIDE5IDJzCi0rMTIgUiArMTIvKzEzIDIwMTAgTWFyIDI4IDJzCi0rMTEgUiArMTEvKzEyIDIwMTEgTWFyIDI3IDJzCi0gMTIgLSArMTIKLSBaIEV1cm9wZS9CZWxncmFkZSAxOjIyIC0gTE1UIDE4ODQKLSAxIC0gQ0VUIDE5NDEgQXAgMTggMjMKLS0xICggQ0Ulc1QgMTk0NQotKzEgYyBDRSVzVCAxOTQ1Ci0gMSAtIENFVCAxOTQ1IE1heSA4IDJzCi0gMSAxIENFU1QgMTk0NSBTIDE2IDJzCi0gMSAtIENFVCAxOTgyIE4gMjcKLS0xIE8gQ0Ulc1QKLSsxIEUgQ0Ulc1QKLSBMaSBFdXJvcGUvQmVsZ3JhZGUgRXVyb3BlL0xqdWJsamFuYQotIExpIEV1cm9wZS9CZWxncmFkZSBFdXJvcGUvUG9kZ29yaWNhCi0gTGkgRXVyb3BlL0JlbGdyYWRlIEV1cm9wZS9TYXJhamV2bwotIExpIEV1cm9wZS9CZWxncmFkZSBFdXJvcGUvU2tvcGplCi0gTGkgRXVyb3BlL0JlbGdyYWRlIEV1cm9wZS9aYWdyZWIKLSBMaSBFdXJvcGUvUHJhZ3VlIEV1cm9wZS9CcmF0aXNsYXZhCi0tUiBBQiAxOTE4IG8gLSBBcCAxNSAyMyAxIFMKLS1SIEFCIDE5MTggMTkxOSAtIE8gNiAyNHMgMCAtCi0tUiBBQiAxOTE5IG8gLSBBcCA2IDIzIDEgUwotLVIgQUIgMTkyNCBvIC0gQXAgMTYgMjMgMSBTCi0tUiBBQiAxOTI0IG8gLSBPIDQgMjRzIDAgLQotLVIgQUIgMTkyNiBvIC0gQXAgMTcgMjMgMSBTCi0tUiBBQiAxOTI2IDE5MjkgLSBPIFNhdD49MSAyNHMgMCAtCi0tUiBBQiAxOTI3IG8gLSBBcCA5IDIzIDEgUwotLVIgQUIgMTkyOCBvIC0gQXAgMTUgMCAxIFMKLS1SIEFCIDE5MjkgbyAtIEFwIDIwIDIzIDEgUwotLVIgQUIgMTkzNyBvIC0gSnVuIDE2IDIzIDEgUwotLVIgQUIgMTkzNyBvIC0gTyAyIDI0cyAwIC0KLS1SIEFCIDE5MzggbyAtIEFwIDIgMjMgMSBTCi0tUiBBQiAxOTM4IG8gLSBBcCAzMCAyMyAyIE0KLS1SIEFCIDE5MzggbyAtIE8gMiAyNCAxIFMKLS1SIEFCIDE5MzkgbyAtIE8gNyAyNHMgMCAtCi0tUiBBQiAxOTQyIG8gLSBNYXkgMiAyMyAxIFMKLS1SIEFCIDE5NDIgbyAtIFMgMSAxIDAgLQotLVIgQUIgMTk0MyAxOTQ2IC0gQXAgU2F0Pj0xMyAyMyAxIFMKLS1SIEFCIDE5NDMgMTk0NCAtIE8gU3VuPj0xIDEgMCAtCi0tUiBBQiAxOTQ1IDE5NDYgLSBTIGxhc3RTdW4gMSAwIC0KLS1SIEFCIDE5NDkgbyAtIEFwIDMwIDIzIDEgUwotLVIgQUIgMTk0OSBvIC0gTyAyIDEgMCAtCi0tUiBBQiAxOTc0IDE5NzUgLSBBcCBTYXQ+PTEyIDIzIDEgUwotLVIgQUIgMTk3NCAxOTc1IC0gTyBTdW4+PTEgMSAwIC0KLS1SIEFCIDE5NzYgbyAtIE1hciAyNyAyMyAxIFMKLS1SIEFCIDE5NzYgMTk3NyAtIFMgbGFzdFN1biAxIDAgLQotLVIgQUIgMTk3NyBvIC0gQXAgMiAyMyAxIFMKLS1SIEFCIDE5NzggbyAtIEFwIDIgMnMgMSBTCi0tUiBBQiAxOTc4IG8gLSBPIDEgMnMgMCAtCi0tUiBBQyAxOTY3IG8gLSBKdW4gMyAxMiAxIFMKLS1SIEFDIDE5NjcgbyAtIE8gMSAwIDAgLQotLVIgQUMgMTk3NCBvIC0gSnVuIDI0IDAgMSBTCi0tUiBBQyAxOTc0IG8gLSBTIDEgMCAwIC0KLS1SIEFDIDE5NzYgMTk3NyAtIE1heSAxIDAgMSBTCi0tUiBBQyAxOTc2IG8gLSBBdSAxIDAgMCAtCi0tUiBBQyAxOTc3IG8gLSBTIDI4IDAgMCAtCi0tUiBBQyAxOTc4IG8gLSBKdW4gMSAwIDEgUwotLVIgQUMgMTk3OCBvIC0gQXUgNCAwIDAgLQotK1IgcyAxOTE4IG8gLSBBcCAxNSAyMyAxIFMKLStSIHMgMTkxOCAxOTE5IC0gTyA2IDI0cyAwIC0KLStSIHMgMTkxOSBvIC0gQXAgNiAyMyAxIFMKLStSIHMgMTkyNCBvIC0gQXAgMTYgMjMgMSBTCi0rUiBzIDE5MjQgbyAtIE8gNCAyNHMgMCAtCi0rUiBzIDE5MjYgbyAtIEFwIDE3IDIzIDEgUwotK1IgcyAxOTI2IDE5MjkgLSBPIFNhdD49MSAyNHMgMCAtCi0rUiBzIDE5MjcgbyAtIEFwIDkgMjMgMSBTCi0rUiBzIDE5MjggbyAtIEFwIDE1IDAgMSBTCi0rUiBzIDE5MjkgbyAtIEFwIDIwIDIzIDEgUwotK1IgcyAxOTM3IG8gLSBKdW4gMTYgMjMgMSBTCi0rUiBzIDE5MzcgbyAtIE8gMiAyNHMgMCAtCi0rUiBzIDE5MzggbyAtIEFwIDIgMjMgMSBTCi0rUiBzIDE5MzggbyAtIEFwIDMwIDIzIDIgTQotK1IgcyAxOTM4IG8gLSBPIDIgMjQgMSBTCi0rUiBzIDE5MzkgbyAtIE8gNyAyNHMgMCAtCi0rUiBzIDE5NDIgbyAtIE1heSAyIDIzIDEgUwotK1IgcyAxOTQyIG8gLSBTIDEgMSAwIC0KLStSIHMgMTk0MyAxOTQ2IC0gQXAgU2F0Pj0xMyAyMyAxIFMKLStSIHMgMTk0MyAxOTQ0IC0gTyBTdW4+PTEgMSAwIC0KLStSIHMgMTk0NSAxOTQ2IC0gUyBsYXN0U3VuIDEgMCAtCi0rUiBzIDE5NDkgbyAtIEFwIDMwIDIzIDEgUwotK1IgcyAxOTQ5IG8gLSBPIDIgMSAwIC0KLStSIHMgMTk3NCAxOTc1IC0gQXAgU2F0Pj0xMiAyMyAxIFMKLStSIHMgMTk3NCAxOTc1IC0gTyBTdW4+PTEgMSAwIC0KLStSIHMgMTk3NiBvIC0gTWFyIDI3IDIzIDEgUwotK1IgcyAxOTc2IDE5NzcgLSBTIGxhc3RTdW4gMSAwIC0KLStSIHMgMTk3NyBvIC0gQXAgMiAyMyAxIFMKLStSIHMgMTk3OCBvIC0gQXAgMiAycyAxIFMKLStSIHMgMTk3OCBvIC0gTyAxIDJzIDAgLQotIFogRXVyb3BlL01hZHJpZCAtMDoxNDo0NCAtIExNVCAxOTAwIEQgMzEgMjM6NDU6MTYKLS0wIEFCIFdFJXNUIDE5NDAgTWFyIDE2IDIzCi0tMSBBQiBDRSVzVCAxOTc5Ci0tMSBPIENFJXNUCi0rMCBzIFdFJXNUIDE5NDAgTWFyIDE2IDIzCi0rMSBzIENFJXNUIDE5NzkKLSsxIEUgQ0Ulc1QKLSBaIEFmcmljYS9DZXV0YSAtMDoyMToxNiAtIExNVCAxOTAwIEQgMzEgMjM6Mzg6NDQKLSAwIC0gV0VUIDE5MTggTWF5IDYgMjMKLSAwIDEgV0VTVCAxOTE4IE8gNyAyMwotIDAgLSBXRVQgMTkyNAotLTAgQUIgV0Ulc1QgMTkyOQotLTAgQUMgV0Ulc1QgMTk4NCBNYXIgMTYKLSswIHMgV0Ulc1QgMTkyOQotKzAgLSBXRVQgMTk2NwotKzAgTSBXRSVzVCAxOTg0IE1hciAxNgotIDEgLSBDRVQgMTk4NgotLTEgTyBDRSVzVAotKzEgRSBDRSVzVAotIFogQXRsYW50aWMvQ2FuYXJ5IC0xOjE6MzYgLSBMTVQgMTkyMiBNYXIKLSAtMSAtIC0wMSAxOTQ2IFMgMzAgMQotIDAgLSBXRVQgMTk4MCBBcCA2IDBzCi0gMCAxIFdFU1QgMTk4MCBTIDI4IDF1Ci0tMCBPIFdFJXNUCi0rMCBFIFdFJXNUCi0gWiBFdXJvcGUvU3RvY2tob2xtIDE6MTI6MTIgLSBMTVQgMTg3OQotIDE6MDoxNCAtIFNFVCAxOTAwCi0gMSAtIENFVCAxOTE2IE1heSAxNCAyMwotIDEgMSBDRVNUIDE5MTYgTyAxIDEKLSAxIC0gQ0VUIDE5ODAKLS0xIE8gQ0Ulc1QKLS1SIEFEIDE5NDEgMTk0MiAtIE1heSBNPj0xIDEgMSBTCi0tUiBBRCAxOTQxIDE5NDIgLSBPIE0+PTEgMiAwIC0KLSsxIEUgQ0Ulc1QKLStSIENIIDE5NDEgMTk0MiAtIE1heSBNPj0xIDEgMSBTCi0rUiBDSCAxOTQxIDE5NDIgLSBPIE0+PTEgMiAwIC0KLSBaIEV1cm9wZS9adXJpY2ggMDozNDo4IC0gTE1UIDE4NTMgSnVsIDE2Ci0gMDoyOTo0NiAtIEJNVCAxODk0IEp1bgotLTEgQUQgQ0Ulc1QgMTk4MQotLTEgTyBDRSVzVAotLVIgQUUgMTkxNiBvIC0gTWF5IDEgMCAxIFMKLS1SIEFFIDE5MTYgbyAtIE8gMSAwIDAgLQotLVIgQUUgMTkyMCBvIC0gTWFyIDI4IDAgMSBTCi0tUiBBRSAxOTIwIG8gLSBPIDI1IDAgMCAtCi0tUiBBRSAxOTIxIG8gLSBBcCAzIDAgMSBTCi0tUiBBRSAxOTIxIG8gLSBPIDMgMCAwIC0KLS1SIEFFIDE5MjIgbyAtIE1hciAyNiAwIDEgUwotLVIgQUUgMTkyMiBvIC0gTyA4IDAgMCAtCi0tUiBBRSAxOTI0IG8gLSBNYXkgMTMgMCAxIFMKLS1SIEFFIDE5MjQgMTkyNSAtIE8gMSAwIDAgLQotLVIgQUUgMTkyNSBvIC0gTWF5IDEgMCAxIFMKLS1SIEFFIDE5NDAgbyAtIEp1biAzMCAwIDEgUwotLVIgQUUgMTk0MCBvIC0gTyA1IDAgMCAtCi0tUiBBRSAxOTQwIG8gLSBEIDEgMCAxIFMKLS1SIEFFIDE5NDEgbyAtIFMgMjEgMCAwIC0KLS1SIEFFIDE5NDIgbyAtIEFwIDEgMCAxIFMKLS1SIEFFIDE5NDIgbyAtIE4gMSAwIDAgLQotLVIgQUUgMTk0NSBvIC0gQXAgMiAwIDEgUwotLVIgQUUgMTk0NSBvIC0gTyA4IDAgMCAtCi0tUiBBRSAxOTQ2IG8gLSBKdW4gMSAwIDEgUwotLVIgQUUgMTk0NiBvIC0gTyAxIDAgMCAtCi0tUiBBRSAxOTQ3IDE5NDggLSBBcCBTdW4+PTE2IDAgMSBTCi0tUiBBRSAxOTQ3IDE5NTAgLSBPIFN1bj49MiAwIDAgLQotLVIgQUUgMTk0OSBvIC0gQXAgMTAgMCAxIFMKLS1SIEFFIDE5NTAgbyAtIEFwIDE5IDAgMSBTCi0tUiBBRSAxOTUxIG8gLSBBcCAyMiAwIDEgUwotLVIgQUUgMTk1MSBvIC0gTyA4IDAgMCAtCi0tUiBBRSAxOTYyIG8gLSBKdWwgMTUgMCAxIFMKLS1SIEFFIDE5NjIgbyAtIE8gOCAwIDAgLQotLVIgQUUgMTk2NCBvIC0gTWF5IDE1IDAgMSBTCi0tUiBBRSAxOTY0IG8gLSBPIDEgMCAwIC0KLS1SIEFFIDE5NzAgMTk3MiAtIE1heSBTdW4+PTIgMCAxIFMKLS1SIEFFIDE5NzAgMTk3MiAtIE8gU3VuPj0yIDAgMCAtCi0tUiBBRSAxOTczIG8gLSBKdW4gMyAxIDEgUwotLVIgQUUgMTk3MyBvIC0gTiA0IDMgMCAtCi0tUiBBRSAxOTc0IG8gLSBNYXIgMzEgMiAxIFMKLS1SIEFFIDE5NzQgbyAtIE4gMyA1IDAgLQotLVIgQUUgMTk3NSBvIC0gTWFyIDMwIDAgMSBTCi0tUiBBRSAxOTc1IDE5NzYgLSBPIGxhc3RTdW4gMCAwIC0KLS1SIEFFIDE5NzYgbyAtIEp1biAxIDAgMSBTCi0tUiBBRSAxOTc3IDE5NzggLSBBcCBTdW4+PTEgMCAxIFMKLS1SIEFFIDE5NzcgbyAtIE8gMTYgMCAwIC0KLS1SIEFFIDE5NzkgMTk4MCAtIEFwIFN1bj49MSAzIDEgUwotLVIgQUUgMTk3OSAxOTgyIC0gTyBNPj0xMSAwIDAgLQotLVIgQUUgMTk4MSAxOTgyIC0gTWFyIGxhc3RTdW4gMyAxIFMKLS1SIEFFIDE5ODMgbyAtIEp1bCAzMSAwIDEgUwotLVIgQUUgMTk4MyBvIC0gTyAyIDAgMCAtCi0tUiBBRSAxOTg1IG8gLSBBcCAyMCAwIDEgUwotLVIgQUUgMTk4NSBvIC0gUyAyOCAwIDAgLQotLVIgQUUgMTk4NiAxOTkzIC0gTWFyIGxhc3RTdW4gMXMgMSBTCi0tUiBBRSAxOTg2IDE5OTUgLSBTIGxhc3RTdW4gMXMgMCAtCi0tUiBBRSAxOTk0IG8gLSBNYXIgMjAgMXMgMSBTCi0tUiBBRSAxOTk1IDIwMDYgLSBNYXIgbGFzdFN1biAxcyAxIFMKLS1SIEFFIDE5OTYgMjAwNiAtIE8gbGFzdFN1biAxcyAwIC0KLSsxIENIIENFJXNUIDE5ODEKLSsxIEUgQ0Ulc1QKLStSIFQgMTkxNiBvIC0gTWF5IDEgMCAxIFMKLStSIFQgMTkxNiBvIC0gTyAxIDAgMCAtCi0rUiBUIDE5MjAgbyAtIE1hciAyOCAwIDEgUwotK1IgVCAxOTIwIG8gLSBPIDI1IDAgMCAtCi0rUiBUIDE5MjEgbyAtIEFwIDMgMCAxIFMKLStSIFQgMTkyMSBvIC0gTyAzIDAgMCAtCi0rUiBUIDE5MjIgbyAtIE1hciAyNiAwIDEgUwotK1IgVCAxOTIyIG8gLSBPIDggMCAwIC0KLStSIFQgMTkyNCBvIC0gTWF5IDEzIDAgMSBTCi0rUiBUIDE5MjQgMTkyNSAtIE8gMSAwIDAgLQotK1IgVCAxOTI1IG8gLSBNYXkgMSAwIDEgUwotK1IgVCAxOTQwIG8gLSBKdW4gMzAgMCAxIFMKLStSIFQgMTk0MCBvIC0gTyA1IDAgMCAtCi0rUiBUIDE5NDAgbyAtIEQgMSAwIDEgUwotK1IgVCAxOTQxIG8gLSBTIDIxIDAgMCAtCi0rUiBUIDE5NDIgbyAtIEFwIDEgMCAxIFMKLStSIFQgMTk0MiBvIC0gTiAxIDAgMCAtCi0rUiBUIDE5NDUgbyAtIEFwIDIgMCAxIFMKLStSIFQgMTk0NSBvIC0gTyA4IDAgMCAtCi0rUiBUIDE5NDYgbyAtIEp1biAxIDAgMSBTCi0rUiBUIDE5NDYgbyAtIE8gMSAwIDAgLQotK1IgVCAxOTQ3IDE5NDggLSBBcCBTdW4+PTE2IDAgMSBTCi0rUiBUIDE5NDcgMTk1MCAtIE8gU3VuPj0yIDAgMCAtCi0rUiBUIDE5NDkgbyAtIEFwIDEwIDAgMSBTCi0rUiBUIDE5NTAgbyAtIEFwIDE5IDAgMSBTCi0rUiBUIDE5NTEgbyAtIEFwIDIyIDAgMSBTCi0rUiBUIDE5NTEgbyAtIE8gOCAwIDAgLQotK1IgVCAxOTYyIG8gLSBKdWwgMTUgMCAxIFMKLStSIFQgMTk2MiBvIC0gTyA4IDAgMCAtCi0rUiBUIDE5NjQgbyAtIE1heSAxNSAwIDEgUwotK1IgVCAxOTY0IG8gLSBPIDEgMCAwIC0KLStSIFQgMTk3MCAxOTcyIC0gTWF5IFN1bj49MiAwIDEgUwotK1IgVCAxOTcwIDE5NzIgLSBPIFN1bj49MiAwIDAgLQotK1IgVCAxOTczIG8gLSBKdW4gMyAxIDEgUwotK1IgVCAxOTczIG8gLSBOIDQgMyAwIC0KLStSIFQgMTk3NCBvIC0gTWFyIDMxIDIgMSBTCi0rUiBUIDE5NzQgbyAtIE4gMyA1IDAgLQotK1IgVCAxOTc1IG8gLSBNYXIgMzAgMCAxIFMKLStSIFQgMTk3NSAxOTc2IC0gTyBsYXN0U3VuIDAgMCAtCi0rUiBUIDE5NzYgbyAtIEp1biAxIDAgMSBTCi0rUiBUIDE5NzcgMTk3OCAtIEFwIFN1bj49MSAwIDEgUwotK1IgVCAxOTc3IG8gLSBPIDE2IDAgMCAtCi0rUiBUIDE5NzkgMTk4MCAtIEFwIFN1bj49MSAzIDEgUwotK1IgVCAxOTc5IDE5ODIgLSBPIE0+PTExIDAgMCAtCi0rUiBUIDE5ODEgMTk4MiAtIE1hciBsYXN0U3VuIDMgMSBTCi0rUiBUIDE5ODMgbyAtIEp1bCAzMSAwIDEgUwotK1IgVCAxOTgzIG8gLSBPIDIgMCAwIC0KLStSIFQgMTk4NSBvIC0gQXAgMjAgMCAxIFMKLStSIFQgMTk4NSBvIC0gUyAyOCAwIDAgLQotK1IgVCAxOTg2IDE5OTMgLSBNYXIgbGFzdFN1biAxcyAxIFMKLStSIFQgMTk4NiAxOTk1IC0gUyBsYXN0U3VuIDFzIDAgLQotK1IgVCAxOTk0IG8gLSBNYXIgMjAgMXMgMSBTCi0rUiBUIDE5OTUgMjAwNiAtIE1hciBsYXN0U3VuIDFzIDEgUwotK1IgVCAxOTk2IDIwMDYgLSBPIGxhc3RTdW4gMXMgMCAtCi0gWiBFdXJvcGUvSXN0YW5idWwgMTo1NTo1MiAtIExNVCAxODgwCi0gMTo1Njo1NiAtIElNVCAxOTEwIE8KLS0yIEFFIEVFJXNUIDE5NzggTyAxNQotLTMgQUUgKzAzLyswNCAxOTg1IEFwIDIwCi0tMiBBRSBFRSVzVCAyMDA3Ci0tMiBPIEVFJXNUIDIwMTEgTWFyIDI3IDF1Ci0rMiBUIEVFJXNUIDE5NzggTyAxNQotKzMgVCArMDMvKzA0IDE5ODUgQXAgMjAKLSsyIFQgRUUlc1QgMjAwNwotKzIgRSBFRSVzVCAyMDExIE1hciAyNyAxdQotIDIgLSBFRVQgMjAxMSBNYXIgMjggMXUKLS0yIE8gRUUlc1QgMjAxNCBNYXIgMzAgMXUKLSsyIEUgRUUlc1QgMjAxNCBNYXIgMzAgMXUKLSAyIC0gRUVUIDIwMTQgTWFyIDMxIDF1Ci0tMiBPIEVFJXNUIDIwMTUgTyAyNSAxdQotKzIgRSBFRSVzVCAyMDE1IE8gMjUgMXUKLSAyIDEgRUVTVCAyMDE1IE4gOCAxdQotLTIgTyBFRSVzVCAyMDE2IFMgNwotKzIgRSBFRSVzVCAyMDE2IFMgNwotIDMgLSArMDMKLSBMaSBFdXJvcGUvSXN0YW5idWwgQXNpYS9Jc3RhbmJ1bAotIFogRXVyb3BlL0tpZXYgMjoyOjQgLSBMTVQgMTg4MAotIDI6Mjo0IC0gS01UIDE5MjQgTWF5IDIKLSAyIC0gRUVUIDE5MzAgSnVuIDIxCi0gMyAtIE1TSyAxOTQxIFMgMjAKLS0xICggQ0Ulc1QgMTk0MyBOIDYKLS0zIE0gTVNLL01TRCAxOTkwIEp1bCAxIDIKLSsxIGMgQ0Ulc1QgMTk0MyBOIDYKLSszIFIgTVNLL01TRCAxOTkwIEp1bCAxIDIKLSAyIDEgRUVTVCAxOTkxIFMgMjkgMwotLTIgVyBFRSVzVCAxOTk1Ci0tMiBPIEVFJXNUCi0rMiBlIEVFJXNUIDE5OTUKLSsyIEUgRUUlc1QKLSBaIEV1cm9wZS9Vemhnb3JvZCAxOjI5OjEyIC0gTE1UIDE4OTAgTwotIDEgLSBDRVQgMTk0MAotLTEgKCBDRSVzVCAxOTQ0IE8KLSsxIGMgQ0Ulc1QgMTk0NCBPCi0gMSAxIENFU1QgMTk0NCBPIDI2Ci0gMSAtIENFVCAxOTQ1IEp1biAyOQotLTMgTSBNU0svTVNEIDE5OTAKLSszIFIgTVNLL01TRCAxOTkwCi0gMyAtIE1TSyAxOTkwIEp1bCAxIDIKLSAxIC0gQ0VUIDE5OTEgTWFyIDMxIDMKLSAyIC0gRUVUIDE5OTIKLS0yIFcgRUUlc1QgMTk5NQotLTIgTyBFRSVzVAotKzIgZSBFRSVzVCAxOTk1Ci0rMiBFIEVFJXNUCi0gWiBFdXJvcGUvWmFwb3Jvemh5ZSAyOjIwOjQwIC0gTE1UIDE4ODAKLSAyOjIwIC0gKzAyMjAgMTkyNCBNYXkgMgotIDIgLSBFRVQgMTkzMCBKdW4gMjEKLSAzIC0gTVNLIDE5NDEgQXUgMjUKLS0xICggQ0Ulc1QgMTk0MyBPIDI1Ci0tMyBNIE1TSy9NU0QgMTk5MSBNYXIgMzEgMgotLTIgVyBFRSVzVCAxOTk1Ci0tMiBPIEVFJXNUCi0tUiBBRiAxOTE4IDE5MTkgLSBNYXIgbGFzdFN1biAyIDEgRAotLVIgQUYgMTkxOCAxOTE5IC0gTyBsYXN0U3VuIDIgMCBTCi0tUiBBRiAxOTQyIG8gLSBGIDkgMiAxIFcKLS1SIEFGIDE5NDUgbyAtIEF1IDE0IDIzdSAxIFAKLS1SIEFGIDE5NDUgbyAtIFMgbGFzdFN1biAyIDAgUwotLVIgQUYgMTk2NyAyMDA2IC0gTyBsYXN0U3VuIDIgMCBTCi0tUiBBRiAxOTY3IDE5NzMgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBRiAxOTc0IG8gLSBKYSA2IDIgMSBECi0tUiBBRiAxOTc1IG8gLSBGIDIzIDIgMSBECi0tUiBBRiAxOTc2IDE5ODYgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBRiAxOTg3IDIwMDYgLSBBcCBTdW4+PTEgMiAxIEQKLS1SIEFGIDIwMDcgbWEgLSBNYXIgU3VuPj04IDIgMSBECi0tUiBBRiAyMDA3IG1hIC0gTiBTdW4+PTEgMiAwIFMKLSsxIGMgQ0Ulc1QgMTk0MyBPIDI1Ci0rMyBSIE1TSy9NU0QgMTk5MSBNYXIgMzEgMgotKzIgZSBFRSVzVCAxOTk1Ci0rMiBFIEVFJXNUCi0rUiB1IDE5MTggMTkxOSAtIE1hciBsYXN0U3VuIDIgMSBECi0rUiB1IDE5MTggMTkxOSAtIE8gbGFzdFN1biAyIDAgUwotK1IgdSAxOTQyIG8gLSBGIDkgMiAxIFcKLStSIHUgMTk0NSBvIC0gQXUgMTQgMjN1IDEgUAotK1IgdSAxOTQ1IG8gLSBTIGxhc3RTdW4gMiAwIFMKLStSIHUgMTk2NyAyMDA2IC0gTyBsYXN0U3VuIDIgMCBTCi0rUiB1IDE5NjcgMTk3MyAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIHUgMTk3NCBvIC0gSmEgNiAyIDEgRAotK1IgdSAxOTc1IG8gLSBGIDIzIDIgMSBECi0rUiB1IDE5NzYgMTk4NiAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIHUgMTk4NyAyMDA2IC0gQXAgU3VuPj0xIDIgMSBECi0rUiB1IDIwMDcgbWEgLSBNYXIgU3VuPj04IDIgMSBECi0rUiB1IDIwMDcgbWEgLSBOIFN1bj49MSAyIDAgUwotIFogRVNUIC01IC0gRVNUCi0gWiBNU1QgLTcgLSBNU1QKLSBaIEhTVCAtMTAgLSBIU1QKLS1aIEVTVDVFRFQgLTUgQUYgRSVzVAotLVogQ1NUNkNEVCAtNiBBRiBDJXNUCi0tWiBNU1Q3TURUIC03IEFGIE0lc1QKLS1aIFBTVDhQRFQgLTggQUYgUCVzVAotLVIgQUcgMTkyMCBvIC0gTWFyIGxhc3RTdW4gMiAxIEQKLS1SIEFHIDE5MjAgbyAtIE8gbGFzdFN1biAyIDAgUwotLVIgQUcgMTkyMSAxOTY2IC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQUcgMTkyMSAxOTU0IC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBRyAxOTU1IDE5NjYgLSBPIGxhc3RTdW4gMiAwIFMKLStaIEVTVDVFRFQgLTUgdSBFJXNUCi0rWiBDU1Q2Q0RUIC02IHUgQyVzVAotK1ogTVNUN01EVCAtNyB1IE0lc1QKLStaIFBTVDhQRFQgLTggdSBQJXNUCi0rUiBOWSAxOTIwIG8gLSBNYXIgbGFzdFN1biAyIDEgRAotK1IgTlkgMTkyMCBvIC0gTyBsYXN0U3VuIDIgMCBTCi0rUiBOWSAxOTIxIDE5NjYgLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBOWSAxOTIxIDE5NTQgLSBTIGxhc3RTdW4gMiAwIFMKLStSIE5ZIDE5NTUgMTk2NiAtIE8gbGFzdFN1biAyIDAgUwotIFogQW1lcmljYS9OZXdfWW9yayAtNDo1NjoyIC0gTE1UIDE4ODMgTiAxOCAxMjozOjU4Ci0tLTUgQUYgRSVzVCAxOTIwCi0tLTUgQUcgRSVzVCAxOTQyCi0tLTUgQUYgRSVzVCAxOTQ2Ci0tLTUgQUcgRSVzVCAxOTY3Ci0tLTUgQUYgRSVzVAotLVIgQUggMTkyMCBvIC0gSnVuIDEzIDIgMSBECi0tUiBBSCAxOTIwIDE5MjEgLSBPIGxhc3RTdW4gMiAwIFMKLS1SIEFIIDE5MjEgbyAtIE1hciBsYXN0U3VuIDIgMSBECi0tUiBBSCAxOTIyIDE5NjYgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBSCAxOTIyIDE5NTQgLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFIIDE5NTUgMTk2NiAtIE8gbGFzdFN1biAyIDAgUwotKy01IHUgRSVzVCAxOTIwCi0rLTUgTlkgRSVzVCAxOTQyCi0rLTUgdSBFJXNUIDE5NDYKLSstNSBOWSBFJXNUIDE5NjcKLSstNSB1IEUlc1QKLStSIENoIDE5MjAgbyAtIEp1biAxMyAyIDEgRAotK1IgQ2ggMTkyMCAxOTIxIC0gTyBsYXN0U3VuIDIgMCBTCi0rUiBDaCAxOTIxIG8gLSBNYXIgbGFzdFN1biAyIDEgRAotK1IgQ2ggMTkyMiAxOTY2IC0gQXAgbGFzdFN1biAyIDEgRAotK1IgQ2ggMTkyMiAxOTU0IC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBDaCAxOTU1IDE5NjYgLSBPIGxhc3RTdW4gMiAwIFMKLSBaIEFtZXJpY2EvQ2hpY2FnbyAtNTo1MDozNiAtIExNVCAxODgzIE4gMTggMTI6OToyNAotLS02IEFGIEMlc1QgMTkyMAotLS02IEFIIEMlc1QgMTkzNiBNYXIgMSAyCi0rLTYgdSBDJXNUIDE5MjAKLSstNiBDaCBDJXNUIDE5MzYgTWFyIDEgMgotIC01IC0gRVNUIDE5MzYgTiAxNSAyCi0tLTYgQUggQyVzVCAxOTQyCi0tLTYgQUYgQyVzVCAxOTQ2Ci0tLTYgQUggQyVzVCAxOTY3Ci0tLTYgQUYgQyVzVAotKy02IENoIEMlc1QgMTk0MgotKy02IHUgQyVzVCAxOTQ2Ci0rLTYgQ2ggQyVzVCAxOTY3Ci0rLTYgdSBDJXNUCi0gWiBBbWVyaWNhL05vcnRoX0Rha290YS9DZW50ZXIgLTY6NDU6MTIgLSBMTVQgMTg4MyBOIDE4IDEyOjE0OjQ4Ci0tLTcgQUYgTSVzVCAxOTkyIE8gMjUgMgotLS02IEFGIEMlc1QKLSstNyB1IE0lc1QgMTk5MiBPIDI1IDIKLSstNiB1IEMlc1QKLSBaIEFtZXJpY2EvTm9ydGhfRGFrb3RhL05ld19TYWxlbSAtNjo0NTozOSAtIExNVCAxODgzIE4gMTggMTI6MTQ6MjEKLS0tNyBBRiBNJXNUIDIwMDMgTyAyNiAyCi0tLTYgQUYgQyVzVAotKy03IHUgTSVzVCAyMDAzIE8gMjYgMgotKy02IHUgQyVzVAotIFogQW1lcmljYS9Ob3J0aF9EYWtvdGEvQmV1bGFoIC02OjQ3OjcgLSBMTVQgMTg4MyBOIDE4IDEyOjEyOjUzCi0tLTcgQUYgTSVzVCAyMDEwIE4gNyAyCi0tLTYgQUYgQyVzVAotLVIgQUkgMTkyMCAxOTIxIC0gTWFyIGxhc3RTdW4gMiAxIEQKLS1SIEFJIDE5MjAgbyAtIE8gbGFzdFN1biAyIDAgUwotLVIgQUkgMTkyMSBvIC0gTWF5IDIyIDIgMCBTCi0tUiBBSSAxOTY1IDE5NjYgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBSSAxOTY1IDE5NjYgLSBPIGxhc3RTdW4gMiAwIFMKLSstNyB1IE0lc1QgMjAxMCBOIDcgMgotKy02IHUgQyVzVAotK1IgRGUgMTkyMCAxOTIxIC0gTWFyIGxhc3RTdW4gMiAxIEQKLStSIERlIDE5MjAgbyAtIE8gbGFzdFN1biAyIDAgUwotK1IgRGUgMTkyMSBvIC0gTWF5IDIyIDIgMCBTCi0rUiBEZSAxOTY1IDE5NjYgLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBEZSAxOTY1IDE5NjYgLSBPIGxhc3RTdW4gMiAwIFMKLSBaIEFtZXJpY2EvRGVudmVyIC02OjU5OjU2IC0gTE1UIDE4ODMgTiAxOCAxMjowOjQKLS0tNyBBRiBNJXNUIDE5MjAKLS0tNyBBSSBNJXNUIDE5NDIKLS0tNyBBRiBNJXNUIDE5NDYKLS0tNyBBSSBNJXNUIDE5NjcKLS0tNyBBRiBNJXNUCi0tUiBBSiAxOTQ4IG8gLSBNYXIgMTQgMjoxIDEgRAotLVIgQUogMTk0OSBvIC0gSmEgMSAyIDAgUwotLVIgQUogMTk1MCAxOTY2IC0gQXAgbGFzdFN1biAxIDEgRAotLVIgQUogMTk1MCAxOTYxIC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBSiAxOTYyIDE5NjYgLSBPIGxhc3RTdW4gMiAwIFMKLSstNyB1IE0lc1QgMTkyMAotKy03IERlIE0lc1QgMTk0MgotKy03IHUgTSVzVCAxOTQ2Ci0rLTcgRGUgTSVzVCAxOTY3Ci0rLTcgdSBNJXNUCi0rUiBDQSAxOTQ4IG8gLSBNYXIgMTQgMjoxIDEgRAotK1IgQ0EgMTk0OSBvIC0gSmEgMSAyIDAgUwotK1IgQ0EgMTk1MCAxOTY2IC0gQXAgbGFzdFN1biAxIDEgRAotK1IgQ0EgMTk1MCAxOTYxIC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBDQSAxOTYyIDE5NjYgLSBPIGxhc3RTdW4gMiAwIFMKLSBaIEFtZXJpY2EvTG9zX0FuZ2VsZXMgLTc6NTI6NTggLSBMTVQgMTg4MyBOIDE4IDEyOjc6MgotLS04IEFGIFAlc1QgMTk0NgotLS04IEFKIFAlc1QgMTk2NwotLS04IEFGIFAlc1QKLSstOCB1IFAlc1QgMTk0NgotKy04IENBIFAlc1QgMTk2NwotKy04IHUgUCVzVAotIFogQW1lcmljYS9KdW5lYXUgMTU6MjoxOSAtIExNVCAxODY3IE8gMTkgMTU6MzM6MzIKLSAtODo1Nzo0MSAtIExNVCAxOTAwIEF1IDIwIDEyCi0gLTggLSBQU1QgMTk0MgotLS04IEFGIFAlc1QgMTk0NgotKy04IHUgUCVzVCAxOTQ2Ci0gLTggLSBQU1QgMTk2OQotLS04IEFGIFAlc1QgMTk4MCBBcCAyNyAyCi0tLTkgQUYgWSVzVCAxOTgwIE8gMjYgMgotLS04IEFGIFAlc1QgMTk4MyBPIDMwIDIKLS0tOSBBRiBZJXNUIDE5ODMgTiAzMAotLS05IEFGIEFLJXNUCi0rLTggdSBQJXNUIDE5ODAgQXAgMjcgMgotKy05IHUgWSVzVCAxOTgwIE8gMjYgMgotKy04IHUgUCVzVCAxOTgzIE8gMzAgMgotKy05IHUgWSVzVCAxOTgzIE4gMzAKLSstOSB1IEFLJXNUCi0gWiBBbWVyaWNhL1NpdGthIDE0OjU4OjQ3IC0gTE1UIDE4NjcgTyAxOSAxNTozMAotIC05OjE6MTMgLSBMTVQgMTkwMCBBdSAyMCAxMgotIC04IC0gUFNUIDE5NDIKLS0tOCBBRiBQJXNUIDE5NDYKLSstOCB1IFAlc1QgMTk0NgotIC04IC0gUFNUIDE5NjkKLS0tOCBBRiBQJXNUIDE5ODMgTyAzMCAyCi0tLTkgQUYgWSVzVCAxOTgzIE4gMzAKLS0tOSBBRiBBSyVzVAotKy04IHUgUCVzVCAxOTgzIE8gMzAgMgotKy05IHUgWSVzVCAxOTgzIE4gMzAKLSstOSB1IEFLJXNUCi0gWiBBbWVyaWNhL01ldGxha2F0bGEgMTU6MTM6NDIgLSBMTVQgMTg2NyBPIDE5IDE1OjQ0OjU1Ci0gLTg6NDY6MTggLSBMTVQgMTkwMCBBdSAyMCAxMgotIC04IC0gUFNUIDE5NDIKLS0tOCBBRiBQJXNUIDE5NDYKLSstOCB1IFAlc1QgMTk0NgotIC04IC0gUFNUIDE5NjkKLS0tOCBBRiBQJXNUIDE5ODMgTyAzMCAyCi0rLTggdSBQJXNUIDE5ODMgTyAzMCAyCi0gLTggLSBQU1QgMjAxNSBOIDEgMgotLS05IEFGIEFLJXNUCi0rLTkgdSBBSyVzVAotIFogQW1lcmljYS9ZYWt1dGF0IDE0OjQxOjUgLSBMTVQgMTg2NyBPIDE5IDE1OjEyOjE4Ci0gLTk6MTg6NTUgLSBMTVQgMTkwMCBBdSAyMCAxMgotIC05IC0gWVNUIDE5NDIKLS0tOSBBRiBZJXNUIDE5NDYKLSstOSB1IFklc1QgMTk0NgotIC05IC0gWVNUIDE5NjkKLS0tOSBBRiBZJXNUIDE5ODMgTiAzMAotLS05IEFGIEFLJXNUCi0rLTkgdSBZJXNUIDE5ODMgTiAzMAotKy05IHUgQUslc1QKLSBaIEFtZXJpY2EvQW5jaG9yYWdlIDE0OjA6MjQgLSBMTVQgMTg2NyBPIDE5IDE0OjMxOjM3Ci0gLTk6NTk6MzYgLSBMTVQgMTkwMCBBdSAyMCAxMgotIC0xMCAtIEFTVCAxOTQyCi0tLTEwIEFGIEElc1QgMTk2NyBBcAotKy0xMCB1IEElc1QgMTk2NyBBcAotIC0xMCAtIEFIU1QgMTk2OQotLS0xMCBBRiBBSCVzVCAxOTgzIE8gMzAgMgotLS05IEFGIFklc1QgMTk4MyBOIDMwCi0tLTkgQUYgQUslc1QKLSstMTAgdSBBSCVzVCAxOTgzIE8gMzAgMgotKy05IHUgWSVzVCAxOTgzIE4gMzAKLSstOSB1IEFLJXNUCi0gWiBBbWVyaWNhL05vbWUgMTI6NTg6MjIgLSBMTVQgMTg2NyBPIDE5IDEzOjI5OjM1Ci0gLTExOjE6MzggLSBMTVQgMTkwMCBBdSAyMCAxMgotIC0xMSAtIE5TVCAxOTQyCi0tLTExIEFGIE4lc1QgMTk0NgotKy0xMSB1IE4lc1QgMTk0NgotIC0xMSAtIE5TVCAxOTY3IEFwCi0gLTExIC0gQlNUIDE5NjkKLS0tMTEgQUYgQiVzVCAxOTgzIE8gMzAgMgotLS05IEFGIFklc1QgMTk4MyBOIDMwCi0tLTkgQUYgQUslc1QKLSstMTEgdSBCJXNUIDE5ODMgTyAzMCAyCi0rLTkgdSBZJXNUIDE5ODMgTiAzMAotKy05IHUgQUslc1QKLSBaIEFtZXJpY2EvQWRhayAxMjoxMzoyMiAtIExNVCAxODY3IE8gMTkgMTI6NDQ6MzUKLSAtMTE6NDY6MzggLSBMTVQgMTkwMCBBdSAyMCAxMgotIC0xMSAtIE5TVCAxOTQyCi0tLTExIEFGIE4lc1QgMTk0NgotKy0xMSB1IE4lc1QgMTk0NgotIC0xMSAtIE5TVCAxOTY3IEFwCi0gLTExIC0gQlNUIDE5NjkKLS0tMTEgQUYgQiVzVCAxOTgzIE8gMzAgMgotLS0xMCBBRiBBSCVzVCAxOTgzIE4gMzAKLS0tMTAgQUYgSCVzVAotKy0xMSB1IEIlc1QgMTk4MyBPIDMwIDIKLSstMTAgdSBBSCVzVCAxOTgzIE4gMzAKLSstMTAgdSBIJXNUCi0gWiBQYWNpZmljL0hvbm9sdWx1IC0xMDozMToyNiAtIExNVCAxODk2IEphIDEzIDEyCi0gLTEwOjMwIC0gSFNUIDE5MzMgQXAgMzAgMgotIC0xMDozMCAxIEhEVCAxOTMzIE1heSAyMSAxMgotQEAgLTI2ODMsNTMxICsyNzAwLDUzMSBAQCBaIFBhY2lmaWMvSG9ub2x1bHUgLTEwOjMxOjI2IC0gTE1UIDE4OTYgSmEgMTMgMTIKLSAtMTA6MzAgLSBIU1QgMTk0NyBKdW4gOCAyCi0gLTEwIC0gSFNUCi0gWiBBbWVyaWNhL1Bob2VuaXggLTc6Mjg6MTggLSBMTVQgMTg4MyBOIDE4IDExOjMxOjQyCi0tLTcgQUYgTSVzVCAxOTQ0IEphIDEgMDoxCi0rLTcgdSBNJXNUIDE5NDQgSmEgMSAwOjEKLSAtNyAtIE1TVCAxOTQ0IEFwIDEgMDoxCi0tLTcgQUYgTSVzVCAxOTQ0IE8gMSAwOjEKLSstNyB1IE0lc1QgMTk0NCBPIDEgMDoxCi0gLTcgLSBNU1QgMTk2NwotLS03IEFGIE0lc1QgMTk2OCBNYXIgMjEKLSstNyB1IE0lc1QgMTk2OCBNYXIgMjEKLSAtNyAtIE1TVAotIFogQW1lcmljYS9Cb2lzZSAtNzo0NDo0OSAtIExNVCAxODgzIE4gMTggMTI6MTU6MTEKLS0tOCBBRiBQJXNUIDE5MjMgTWF5IDEzIDIKLS0tNyBBRiBNJXNUIDE5NzQKLSstOCB1IFAlc1QgMTkyMyBNYXkgMTMgMgotKy03IHUgTSVzVCAxOTc0Ci0gLTcgLSBNU1QgMTk3NCBGIDMgMgotLS03IEFGIE0lc1QKLS1SIEFLIDE5NDEgbyAtIEp1biAyMiAyIDEgRAotLVIgQUsgMTk0MSAxOTU0IC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBSyAxOTQ2IDE5NTQgLSBBcCBsYXN0U3VuIDIgMSBECi0rLTcgdSBNJXNUCi0rUiBJbiAxOTQxIG8gLSBKdW4gMjIgMiAxIEQKLStSIEluIDE5NDEgMTk1NCAtIFMgbGFzdFN1biAyIDAgUwotK1IgSW4gMTk0NiAxOTU0IC0gQXAgbGFzdFN1biAyIDEgRAotIFogQW1lcmljYS9JbmRpYW5hL0luZGlhbmFwb2xpcyAtNTo0NDozOCAtIExNVCAxODgzIE4gMTggMTI6MTU6MjIKLS0tNiBBRiBDJXNUIDE5MjAKLS0tNiBBSyBDJXNUIDE5NDIKLS0tNiBBRiBDJXNUIDE5NDYKLS0tNiBBSyBDJXNUIDE5NTUgQXAgMjQgMgotKy02IHUgQyVzVCAxOTIwCi0rLTYgSW4gQyVzVCAxOTQyCi0rLTYgdSBDJXNUIDE5NDYKLSstNiBJbiBDJXNUIDE5NTUgQXAgMjQgMgotIC01IC0gRVNUIDE5NTcgUyAyOSAyCi0gLTYgLSBDU1QgMTk1OCBBcCAyNyAyCi0gLTUgLSBFU1QgMTk2OQotLS01IEFGIEUlc1QgMTk3MQotKy01IHUgRSVzVCAxOTcxCi0gLTUgLSBFU1QgMjAwNgotLS01IEFGIEUlc1QKLS1SIEFMIDE5NTEgbyAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFMIDE5NTEgbyAtIFMgbGFzdFN1biAyIDAgUwotLVIgQUwgMTk1NCAxOTYwIC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQUwgMTk1NCAxOTYwIC0gUyBsYXN0U3VuIDIgMCBTCi0rLTUgdSBFJXNUCi0rUiBNYSAxOTUxIG8gLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBNYSAxOTUxIG8gLSBTIGxhc3RTdW4gMiAwIFMKLStSIE1hIDE5NTQgMTk2MCAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIE1hIDE5NTQgMTk2MCAtIFMgbGFzdFN1biAyIDAgUwotIFogQW1lcmljYS9JbmRpYW5hL01hcmVuZ28gLTU6NDU6MjMgLSBMTVQgMTg4MyBOIDE4IDEyOjE0OjM3Ci0tLTYgQUYgQyVzVCAxOTUxCi0tLTYgQUwgQyVzVCAxOTYxIEFwIDMwIDIKLSstNiB1IEMlc1QgMTk1MQotKy02IE1hIEMlc1QgMTk2MSBBcCAzMCAyCi0gLTUgLSBFU1QgMTk2OQotLS01IEFGIEUlc1QgMTk3NCBKYSA2IDIKLSstNSB1IEUlc1QgMTk3NCBKYSA2IDIKLSAtNiAxIENEVCAxOTc0IE8gMjcgMgotLS01IEFGIEUlc1QgMTk3NgotKy01IHUgRSVzVCAxOTc2Ci0gLTUgLSBFU1QgMjAwNgotLS01IEFGIEUlc1QKLS1SIEFNIDE5NDYgbyAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFNIDE5NDYgbyAtIFMgbGFzdFN1biAyIDAgUwotLVIgQU0gMTk1MyAxOTU0IC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQU0gMTk1MyAxOTU5IC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBTSAxOTU1IG8gLSBNYXkgMSAwIDEgRAotLVIgQU0gMTk1NiAxOTYzIC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQU0gMTk2MCBvIC0gTyBsYXN0U3VuIDIgMCBTCi0tUiBBTSAxOTYxIG8gLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFNIDE5NjIgMTk2MyAtIE8gbGFzdFN1biAyIDAgUwotKy01IHUgRSVzVAotK1IgViAxOTQ2IG8gLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBWIDE5NDYgbyAtIFMgbGFzdFN1biAyIDAgUwotK1IgViAxOTUzIDE5NTQgLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBWIDE5NTMgMTk1OSAtIFMgbGFzdFN1biAyIDAgUwotK1IgViAxOTU1IG8gLSBNYXkgMSAwIDEgRAotK1IgViAxOTU2IDE5NjMgLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBWIDE5NjAgbyAtIE8gbGFzdFN1biAyIDAgUwotK1IgViAxOTYxIG8gLSBTIGxhc3RTdW4gMiAwIFMKLStSIFYgMTk2MiAxOTYzIC0gTyBsYXN0U3VuIDIgMCBTCi0gWiBBbWVyaWNhL0luZGlhbmEvVmluY2VubmVzIC01OjUwOjcgLSBMTVQgMTg4MyBOIDE4IDEyOjk6NTMKLS0tNiBBRiBDJXNUIDE5NDYKLS0tNiBBTSBDJXNUIDE5NjQgQXAgMjYgMgotKy02IHUgQyVzVCAxOTQ2Ci0rLTYgViBDJXNUIDE5NjQgQXAgMjYgMgotIC01IC0gRVNUIDE5NjkKLS0tNSBBRiBFJXNUIDE5NzEKLSstNSB1IEUlc1QgMTk3MQotIC01IC0gRVNUIDIwMDYgQXAgMiAyCi0tLTYgQUYgQyVzVCAyMDA3IE4gNCAyCi0tLTUgQUYgRSVzVAotLVIgQU4gMTk0NiBvIC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQU4gMTk0NiBvIC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBTiAxOTUzIDE5NTQgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBTiAxOTUzIDE5NTkgLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFOIDE5NTUgbyAtIE1heSAxIDAgMSBECi0tUiBBTiAxOTU2IDE5NjMgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBTiAxOTYwIG8gLSBPIGxhc3RTdW4gMiAwIFMKLS1SIEFOIDE5NjEgbyAtIFMgbGFzdFN1biAyIDAgUwotLVIgQU4gMTk2MiAxOTYzIC0gTyBsYXN0U3VuIDIgMCBTCi0rLTYgdSBDJXNUIDIwMDcgTiA0IDIKLSstNSB1IEUlc1QKLStSIFBlIDE5NDYgbyAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIFBlIDE5NDYgbyAtIFMgbGFzdFN1biAyIDAgUwotK1IgUGUgMTk1MyAxOTU0IC0gQXAgbGFzdFN1biAyIDEgRAotK1IgUGUgMTk1MyAxOTU5IC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBQZSAxOTU1IG8gLSBNYXkgMSAwIDEgRAotK1IgUGUgMTk1NiAxOTYzIC0gQXAgbGFzdFN1biAyIDEgRAotK1IgUGUgMTk2MCBvIC0gTyBsYXN0U3VuIDIgMCBTCi0rUiBQZSAxOTYxIG8gLSBTIGxhc3RTdW4gMiAwIFMKLStSIFBlIDE5NjIgMTk2MyAtIE8gbGFzdFN1biAyIDAgUwotIFogQW1lcmljYS9JbmRpYW5hL1RlbGxfQ2l0eSAtNTo0NzozIC0gTE1UIDE4ODMgTiAxOCAxMjoxMjo1NwotLS02IEFGIEMlc1QgMTk0NgotLS02IEFOIEMlc1QgMTk2NCBBcCAyNiAyCi0rLTYgdSBDJXNUIDE5NDYKLSstNiBQZSBDJXNUIDE5NjQgQXAgMjYgMgotIC01IC0gRVNUIDE5NjkKLS0tNSBBRiBFJXNUIDE5NzEKLSstNSB1IEUlc1QgMTk3MQotIC01IC0gRVNUIDIwMDYgQXAgMiAyCi0tLTYgQUYgQyVzVAotLVIgQU8gMTk1NSBvIC0gTWF5IDEgMCAxIEQKLS1SIEFPIDE5NTUgMTk2MCAtIFMgbGFzdFN1biAyIDAgUwotLVIgQU8gMTk1NiAxOTY0IC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQU8gMTk2MSAxOTY0IC0gTyBsYXN0U3VuIDIgMCBTCi0rLTYgdSBDJXNUCi0rUiBQaSAxOTU1IG8gLSBNYXkgMSAwIDEgRAotK1IgUGkgMTk1NSAxOTYwIC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBQaSAxOTU2IDE5NjQgLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBQaSAxOTYxIDE5NjQgLSBPIGxhc3RTdW4gMiAwIFMKLSBaIEFtZXJpY2EvSW5kaWFuYS9QZXRlcnNidXJnIC01OjQ5OjcgLSBMTVQgMTg4MyBOIDE4IDEyOjEwOjUzCi0tLTYgQUYgQyVzVCAxOTU1Ci0tLTYgQU8gQyVzVCAxOTY1IEFwIDI1IDIKLSstNiB1IEMlc1QgMTk1NQotKy02IFBpIEMlc1QgMTk2NSBBcCAyNSAyCi0gLTUgLSBFU1QgMTk2NiBPIDMwIDIKLS0tNiBBRiBDJXNUIDE5NzcgTyAzMCAyCi0rLTYgdSBDJXNUIDE5NzcgTyAzMCAyCi0gLTUgLSBFU1QgMjAwNiBBcCAyIDIKLS0tNiBBRiBDJXNUIDIwMDcgTiA0IDIKLS0tNSBBRiBFJXNUCi0tUiBBUCAxOTQ3IDE5NjEgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBUCAxOTQ3IDE5NTQgLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFQIDE5NTUgMTk1NiAtIE8gbGFzdFN1biAyIDAgUwotLVIgQVAgMTk1NyAxOTU4IC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBUCAxOTU5IDE5NjEgLSBPIGxhc3RTdW4gMiAwIFMKLSstNiB1IEMlc1QgMjAwNyBOIDQgMgotKy01IHUgRSVzVAotK1IgU3QgMTk0NyAxOTYxIC0gQXAgbGFzdFN1biAyIDEgRAotK1IgU3QgMTk0NyAxOTU0IC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBTdCAxOTU1IDE5NTYgLSBPIGxhc3RTdW4gMiAwIFMKLStSIFN0IDE5NTcgMTk1OCAtIFMgbGFzdFN1biAyIDAgUwotK1IgU3QgMTk1OSAxOTYxIC0gTyBsYXN0U3VuIDIgMCBTCi0gWiBBbWVyaWNhL0luZGlhbmEvS25veCAtNTo0NjozMCAtIExNVCAxODgzIE4gMTggMTI6MTM6MzAKLS0tNiBBRiBDJXNUIDE5NDcKLS0tNiBBUCBDJXNUIDE5NjIgQXAgMjkgMgotKy02IHUgQyVzVCAxOTQ3Ci0rLTYgU3QgQyVzVCAxOTYyIEFwIDI5IDIKLSAtNSAtIEVTVCAxOTYzIE8gMjcgMgotLS02IEFGIEMlc1QgMTk5MSBPIDI3IDIKLSstNiB1IEMlc1QgMTk5MSBPIDI3IDIKLSAtNSAtIEVTVCAyMDA2IEFwIDIgMgotLS02IEFGIEMlc1QKLS1SIEFRIDE5NDYgMTk2MCAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFRIDE5NDYgMTk1NCAtIFMgbGFzdFN1biAyIDAgUwotLVIgQVEgMTk1NSAxOTU2IC0gTyBsYXN0U3VuIDIgMCBTCi0tUiBBUSAxOTU3IDE5NjAgLSBTIGxhc3RTdW4gMiAwIFMKLSstNiB1IEMlc1QKLStSIFB1IDE5NDYgMTk2MCAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIFB1IDE5NDYgMTk1NCAtIFMgbGFzdFN1biAyIDAgUwotK1IgUHUgMTk1NSAxOTU2IC0gTyBsYXN0U3VuIDIgMCBTCi0rUiBQdSAxOTU3IDE5NjAgLSBTIGxhc3RTdW4gMiAwIFMKLSBaIEFtZXJpY2EvSW5kaWFuYS9XaW5hbWFjIC01OjQ2OjI1IC0gTE1UIDE4ODMgTiAxOCAxMjoxMzozNQotLS02IEFGIEMlc1QgMTk0NgotLS02IEFRIEMlc1QgMTk2MSBBcCAzMCAyCi0rLTYgdSBDJXNUIDE5NDYKLSstNiBQdSBDJXNUIDE5NjEgQXAgMzAgMgotIC01IC0gRVNUIDE5NjkKLS0tNSBBRiBFJXNUIDE5NzEKLSstNSB1IEUlc1QgMTk3MQotIC01IC0gRVNUIDIwMDYgQXAgMiAyCi0tLTYgQUYgQyVzVCAyMDA3IE1hciAxMSAyCi0tLTUgQUYgRSVzVAotKy02IHUgQyVzVCAyMDA3IE1hciAxMSAyCi0rLTUgdSBFJXNUCi0gWiBBbWVyaWNhL0luZGlhbmEvVmV2YXkgLTU6NDA6MTYgLSBMTVQgMTg4MyBOIDE4IDEyOjE5OjQ0Ci0tLTYgQUYgQyVzVCAxOTU0IEFwIDI1IDIKLSstNiB1IEMlc1QgMTk1NCBBcCAyNSAyCi0gLTUgLSBFU1QgMTk2OQotLS01IEFGIEUlc1QgMTk3MwotKy01IHUgRSVzVCAxOTczCi0gLTUgLSBFU1QgMjAwNgotLS01IEFGIEUlc1QKLS1SIEFSIDE5MjEgbyAtIE1heSAxIDIgMSBECi0tUiBBUiAxOTIxIG8gLSBTIDEgMiAwIFMKLS1SIEFSIDE5NDEgMTk2MSAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFSIDE5NDEgbyAtIFMgbGFzdFN1biAyIDAgUwotLVIgQVIgMTk0NiBvIC0gSnVuIDIgMiAwIFMKLS1SIEFSIDE5NTAgMTk1NSAtIFMgbGFzdFN1biAyIDAgUwotLVIgQVIgMTk1NiAxOTYwIC0gTyBsYXN0U3VuIDIgMCBTCi0rLTUgdSBFJXNUCi0rUiB2IDE5MjEgbyAtIE1heSAxIDIgMSBECi0rUiB2IDE5MjEgbyAtIFMgMSAyIDAgUwotK1IgdiAxOTQxIDE5NjEgLSBBcCBsYXN0U3VuIDIgMSBECi0rUiB2IDE5NDEgbyAtIFMgbGFzdFN1biAyIDAgUwotK1IgdiAxOTQ2IG8gLSBKdW4gMiAyIDAgUwotK1IgdiAxOTUwIDE5NTUgLSBTIGxhc3RTdW4gMiAwIFMKLStSIHYgMTk1NiAxOTYwIC0gTyBsYXN0U3VuIDIgMCBTCi0gWiBBbWVyaWNhL0tlbnR1Y2t5L0xvdWlzdmlsbGUgLTU6NDM6MiAtIExNVCAxODgzIE4gMTggMTI6MTY6NTgKLS0tNiBBRiBDJXNUIDE5MjEKLS0tNiBBUiBDJXNUIDE5NDIKLS0tNiBBRiBDJXNUIDE5NDYKLS0tNiBBUiBDJXNUIDE5NjEgSnVsIDIzIDIKLSstNiB1IEMlc1QgMTkyMQotKy02IHYgQyVzVCAxOTQyCi0rLTYgdSBDJXNUIDE5NDYKLSstNiB2IEMlc1QgMTk2MSBKdWwgMjMgMgotIC01IC0gRVNUIDE5NjgKLS0tNSBBRiBFJXNUIDE5NzQgSmEgNiAyCi0rLTUgdSBFJXNUIDE5NzQgSmEgNiAyCi0gLTYgMSBDRFQgMTk3NCBPIDI3IDIKLS0tNSBBRiBFJXNUCi0rLTUgdSBFJXNUCi0gWiBBbWVyaWNhL0tlbnR1Y2t5L01vbnRpY2VsbG8gLTU6Mzk6MjQgLSBMTVQgMTg4MyBOIDE4IDEyOjIwOjM2Ci0tLTYgQUYgQyVzVCAxOTQ2Ci0rLTYgdSBDJXNUIDE5NDYKLSAtNiAtIENTVCAxOTY4Ci0tLTYgQUYgQyVzVCAyMDAwIE8gMjkgMgotLS01IEFGIEUlc1QKLS1SIEFTIDE5NDggbyAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFTIDE5NDggbyAtIFMgbGFzdFN1biAyIDAgUwotKy02IHUgQyVzVCAyMDAwIE8gMjkgMgotKy01IHUgRSVzVAotK1IgRHQgMTk0OCBvIC0gQXAgbGFzdFN1biAyIDEgRAotK1IgRHQgMTk0OCBvIC0gUyBsYXN0U3VuIDIgMCBTCi0gWiBBbWVyaWNhL0RldHJvaXQgLTU6MzI6MTEgLSBMTVQgMTkwNQotIC02IC0gQ1NUIDE5MTUgTWF5IDE1IDIKLSAtNSAtIEVTVCAxOTQyCi0tLTUgQUYgRSVzVCAxOTQ2Ci0tLTUgQVMgRSVzVCAxOTczCi0tLTUgQUYgRSVzVCAxOTc1Ci0rLTUgdSBFJXNUIDE5NDYKLSstNSBEdCBFJXNUIDE5NzMKLSstNSB1IEUlc1QgMTk3NQotIC01IC0gRVNUIDE5NzUgQXAgMjcgMgotLS01IEFGIEUlc1QKLS1SIEFUIDE5NDYgbyAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFUIDE5NDYgbyAtIFMgbGFzdFN1biAyIDAgUwotLVIgQVQgMTk2NiBvIC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQVQgMTk2NiBvIC0gTyBsYXN0U3VuIDIgMCBTCi0rLTUgdSBFJXNUCi0rUiBNZSAxOTQ2IG8gLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBNZSAxOTQ2IG8gLSBTIGxhc3RTdW4gMiAwIFMKLStSIE1lIDE5NjYgbyAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIE1lIDE5NjYgbyAtIE8gbGFzdFN1biAyIDAgUwotIFogQW1lcmljYS9NZW5vbWluZWUgLTU6NTA6MjcgLSBMTVQgMTg4NSBTIDE4IDEyCi0tLTYgQUYgQyVzVCAxOTQ2Ci0tLTYgQVQgQyVzVCAxOTY5IEFwIDI3IDIKLSstNiB1IEMlc1QgMTk0NgotKy02IE1lIEMlc1QgMTk2OSBBcCAyNyAyCi0gLTUgLSBFU1QgMTk3MyBBcCAyOSAyCi0tLTYgQUYgQyVzVAotLVIgQVUgMTkxOCBvIC0gQXAgMTQgMiAxIEQKLS1SIEFVIDE5MTggbyAtIE8gMjcgMiAwIFMKLS1SIEFVIDE5NDIgbyAtIEYgOSAyIDEgVwotLVIgQVUgMTk0NSBvIC0gQXUgMTQgMjN1IDEgUAotLVIgQVUgMTk0NSBvIC0gUyAzMCAyIDAgUwotLVIgQVUgMTk3NCAxOTg2IC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQVUgMTk3NCAyMDA2IC0gTyBsYXN0U3VuIDIgMCBTCi0tUiBBVSAxOTg3IDIwMDYgLSBBcCBTdW4+PTEgMiAxIEQKLS1SIEFVIDIwMDcgbWEgLSBNYXIgU3VuPj04IDIgMSBECi0tUiBBVSAyMDA3IG1hIC0gTiBTdW4+PTEgMiAwIFMKLS1SIEFWIDE5MTcgbyAtIEFwIDggMiAxIEQKLS1SIEFWIDE5MTcgbyAtIFMgMTcgMiAwIFMKLS1SIEFWIDE5MTkgbyAtIE1heSA1IDIzIDEgRAotLVIgQVYgMTkxOSBvIC0gQXUgMTIgMjMgMCBTCi0tUiBBViAxOTIwIDE5MzUgLSBNYXkgU3VuPj0xIDIzIDEgRAotLVIgQVYgMTkyMCAxOTM1IC0gTyBsYXN0U3VuIDIzIDAgUwotLVIgQVYgMTkzNiAxOTQxIC0gTWF5IE0+PTkgMCAxIEQKLS1SIEFWIDE5MzYgMTk0MSAtIE8gTT49MiAwIDAgUwotLVIgQVYgMTk0NiAxOTUwIC0gTWF5IFN1bj49OCAyIDEgRAotLVIgQVYgMTk0NiAxOTUwIC0gTyBTdW4+PTIgMiAwIFMKLS1SIEFWIDE5NTEgMTk4NiAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFWIDE5NTEgMTk1OSAtIFMgbGFzdFN1biAyIDAgUwotLVIgQVYgMTk2MCAxOTg2IC0gTyBsYXN0U3VuIDIgMCBTCi0tUiBBViAxOTg3IG8gLSBBcCBTdW4+PTEgMDoxIDEgRAotLVIgQVYgMTk4NyAyMDA2IC0gTyBsYXN0U3VuIDA6MSAwIFMKLS1SIEFWIDE5ODggbyAtIEFwIFN1bj49MSAwOjEgMiBERAotLVIgQVYgMTk4OSAyMDA2IC0gQXAgU3VuPj0xIDA6MSAxIEQKLS1SIEFWIDIwMDcgMjAxMSAtIE1hciBTdW4+PTggMDoxIDEgRAotLVIgQVYgMjAwNyAyMDEwIC0gTiBTdW4+PTEgMDoxIDAgUwotKy02IHUgQyVzVAotK1IgQyAxOTE4IG8gLSBBcCAxNCAyIDEgRAotK1IgQyAxOTE4IG8gLSBPIDI3IDIgMCBTCi0rUiBDIDE5NDIgbyAtIEYgOSAyIDEgVwotK1IgQyAxOTQ1IG8gLSBBdSAxNCAyM3UgMSBQCi0rUiBDIDE5NDUgbyAtIFMgMzAgMiAwIFMKLStSIEMgMTk3NCAxOTg2IC0gQXAgbGFzdFN1biAyIDEgRAotK1IgQyAxOTc0IDIwMDYgLSBPIGxhc3RTdW4gMiAwIFMKLStSIEMgMTk4NyAyMDA2IC0gQXAgU3VuPj0xIDIgMSBECi0rUiBDIDIwMDcgbWEgLSBNYXIgU3VuPj04IDIgMSBECi0rUiBDIDIwMDcgbWEgLSBOIFN1bj49MSAyIDAgUwotK1IgaiAxOTE3IG8gLSBBcCA4IDIgMSBECi0rUiBqIDE5MTcgbyAtIFMgMTcgMiAwIFMKLStSIGogMTkxOSBvIC0gTWF5IDUgMjMgMSBECi0rUiBqIDE5MTkgbyAtIEF1IDEyIDIzIDAgUwotK1IgaiAxOTIwIDE5MzUgLSBNYXkgU3VuPj0xIDIzIDEgRAotK1IgaiAxOTIwIDE5MzUgLSBPIGxhc3RTdW4gMjMgMCBTCi0rUiBqIDE5MzYgMTk0MSAtIE1heSBNPj05IDAgMSBECi0rUiBqIDE5MzYgMTk0MSAtIE8gTT49MiAwIDAgUwotK1IgaiAxOTQ2IDE5NTAgLSBNYXkgU3VuPj04IDIgMSBECi0rUiBqIDE5NDYgMTk1MCAtIE8gU3VuPj0yIDIgMCBTCi0rUiBqIDE5NTEgMTk4NiAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIGogMTk1MSAxOTU5IC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBqIDE5NjAgMTk4NiAtIE8gbGFzdFN1biAyIDAgUwotK1IgaiAxOTg3IG8gLSBBcCBTdW4+PTEgMDoxIDEgRAotK1IgaiAxOTg3IDIwMDYgLSBPIGxhc3RTdW4gMDoxIDAgUwotK1IgaiAxOTg4IG8gLSBBcCBTdW4+PTEgMDoxIDIgREQKLStSIGogMTk4OSAyMDA2IC0gQXAgU3VuPj0xIDA6MSAxIEQKLStSIGogMjAwNyAyMDExIC0gTWFyIFN1bj49OCAwOjEgMSBECi0rUiBqIDIwMDcgMjAxMCAtIE4gU3VuPj0xIDA6MSAwIFMKLSBaIEFtZXJpY2EvU3RfSm9obnMgLTM6MzA6NTIgLSBMTVQgMTg4NAotLS0zOjMwOjUyIEFWIE4lc1QgMTkxOAotLS0zOjMwOjUyIEFVIE4lc1QgMTkxOQotLS0zOjMwOjUyIEFWIE4lc1QgMTkzNSBNYXIgMzAKLS0tMzozMCBBViBOJXNUIDE5NDIgTWF5IDExCi0tLTM6MzAgQVUgTiVzVCAxOTQ2Ci0tLTM6MzAgQVYgTiVzVCAyMDExIE4KLS0tMzozMCBBVSBOJXNUCi0rLTM6MzA6NTIgaiBOJXNUIDE5MTgKLSstMzozMDo1MiBDIE4lc1QgMTkxOQotKy0zOjMwOjUyIGogTiVzVCAxOTM1IE1hciAzMAotKy0zOjMwIGogTiVzVCAxOTQyIE1heSAxMQotKy0zOjMwIEMgTiVzVCAxOTQ2Ci0rLTM6MzAgaiBOJXNUIDIwMTEgTgotKy0zOjMwIEMgTiVzVAotIFogQW1lcmljYS9Hb29zZV9CYXkgLTQ6MTo0MCAtIExNVCAxODg0Ci0gLTM6MzA6NTIgLSBOU1QgMTkxOAotLS0zOjMwOjUyIEFVIE4lc1QgMTkxOQotKy0zOjMwOjUyIEMgTiVzVCAxOTE5Ci0gLTM6MzA6NTIgLSBOU1QgMTkzNSBNYXIgMzAKLSAtMzozMCAtIE5TVCAxOTM2Ci0tLTM6MzAgQVYgTiVzVCAxOTQyIE1heSAxMQotLS0zOjMwIEFVIE4lc1QgMTk0NgotLS0zOjMwIEFWIE4lc1QgMTk2NiBNYXIgMTUgMgotLS00IEFWIEElc1QgMjAxMSBOCi0tLTQgQVUgQSVzVAotLVIgQVcgMTkxNiBvIC0gQXAgMSAwIDEgRAotLVIgQVcgMTkxNiBvIC0gTyAxIDAgMCBTCi0tUiBBVyAxOTIwIG8gLSBNYXkgOSAwIDEgRAotLVIgQVcgMTkyMCBvIC0gQXUgMjkgMCAwIFMKLS1SIEFXIDE5MjEgbyAtIE1heSA2IDAgMSBECi0tUiBBVyAxOTIxIDE5MjIgLSBTIDUgMCAwIFMKLS1SIEFXIDE5MjIgbyAtIEFwIDMwIDAgMSBECi0tUiBBVyAxOTIzIDE5MjUgLSBNYXkgU3VuPj0xIDAgMSBECi0tUiBBVyAxOTIzIG8gLSBTIDQgMCAwIFMKLS1SIEFXIDE5MjQgbyAtIFMgMTUgMCAwIFMKLS1SIEFXIDE5MjUgbyAtIFMgMjggMCAwIFMKLS1SIEFXIDE5MjYgbyAtIE1heSAxNiAwIDEgRAotLVIgQVcgMTkyNiBvIC0gUyAxMyAwIDAgUwotLVIgQVcgMTkyNyBvIC0gTWF5IDEgMCAxIEQKLS1SIEFXIDE5MjcgbyAtIFMgMjYgMCAwIFMKLS1SIEFXIDE5MjggMTkzMSAtIE1heSBTdW4+PTggMCAxIEQKLS1SIEFXIDE5MjggbyAtIFMgOSAwIDAgUwotLVIgQVcgMTkyOSBvIC0gUyAzIDAgMCBTCi0tUiBBVyAxOTMwIG8gLSBTIDE1IDAgMCBTCi0tUiBBVyAxOTMxIDE5MzIgLSBTIE0+PTI0IDAgMCBTCi0tUiBBVyAxOTMyIG8gLSBNYXkgMSAwIDEgRAotLVIgQVcgMTkzMyBvIC0gQXAgMzAgMCAxIEQKLS1SIEFXIDE5MzMgbyAtIE8gMiAwIDAgUwotLVIgQVcgMTkzNCBvIC0gTWF5IDIwIDAgMSBECi0tUiBBVyAxOTM0IG8gLSBTIDE2IDAgMCBTCi0tUiBBVyAxOTM1IG8gLSBKdW4gMiAwIDEgRAotLVIgQVcgMTkzNSBvIC0gUyAzMCAwIDAgUwotLVIgQVcgMTkzNiBvIC0gSnVuIDEgMCAxIEQKLS1SIEFXIDE5MzYgbyAtIFMgMTQgMCAwIFMKLS1SIEFXIDE5MzcgMTkzOCAtIE1heSBTdW4+PTEgMCAxIEQKLS1SIEFXIDE5MzcgMTk0MSAtIFMgTT49MjQgMCAwIFMKLS1SIEFXIDE5MzkgbyAtIE1heSAyOCAwIDEgRAotLVIgQVcgMTk0MCAxOTQxIC0gTWF5IFN1bj49MSAwIDEgRAotLVIgQVcgMTk0NiAxOTQ5IC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQVcgMTk0NiAxOTQ5IC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBVyAxOTUxIDE5NTQgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBVyAxOTUxIDE5NTQgLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFXIDE5NTYgMTk1OSAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFXIDE5NTYgMTk1OSAtIFMgbGFzdFN1biAyIDAgUwotLVIgQVcgMTk2MiAxOTczIC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQVcgMTk2MiAxOTczIC0gTyBsYXN0U3VuIDIgMCBTCi0rLTM6MzAgaiBOJXNUIDE5NDIgTWF5IDExCi0rLTM6MzAgQyBOJXNUIDE5NDYKLSstMzozMCBqIE4lc1QgMTk2NiBNYXIgMTUgMgotKy00IGogQSVzVCAyMDExIE4KLSstNCBDIEElc1QKLStSIEggMTkxNiBvIC0gQXAgMSAwIDEgRAotK1IgSCAxOTE2IG8gLSBPIDEgMCAwIFMKLStSIEggMTkyMCBvIC0gTWF5IDkgMCAxIEQKLStSIEggMTkyMCBvIC0gQXUgMjkgMCAwIFMKLStSIEggMTkyMSBvIC0gTWF5IDYgMCAxIEQKLStSIEggMTkyMSAxOTIyIC0gUyA1IDAgMCBTCi0rUiBIIDE5MjIgbyAtIEFwIDMwIDAgMSBECi0rUiBIIDE5MjMgMTkyNSAtIE1heSBTdW4+PTEgMCAxIEQKLStSIEggMTkyMyBvIC0gUyA0IDAgMCBTCi0rUiBIIDE5MjQgbyAtIFMgMTUgMCAwIFMKLStSIEggMTkyNSBvIC0gUyAyOCAwIDAgUwotK1IgSCAxOTI2IG8gLSBNYXkgMTYgMCAxIEQKLStSIEggMTkyNiBvIC0gUyAxMyAwIDAgUwotK1IgSCAxOTI3IG8gLSBNYXkgMSAwIDEgRAotK1IgSCAxOTI3IG8gLSBTIDI2IDAgMCBTCi0rUiBIIDE5MjggMTkzMSAtIE1heSBTdW4+PTggMCAxIEQKLStSIEggMTkyOCBvIC0gUyA5IDAgMCBTCi0rUiBIIDE5MjkgbyAtIFMgMyAwIDAgUwotK1IgSCAxOTMwIG8gLSBTIDE1IDAgMCBTCi0rUiBIIDE5MzEgMTkzMiAtIFMgTT49MjQgMCAwIFMKLStSIEggMTkzMiBvIC0gTWF5IDEgMCAxIEQKLStSIEggMTkzMyBvIC0gQXAgMzAgMCAxIEQKLStSIEggMTkzMyBvIC0gTyAyIDAgMCBTCi0rUiBIIDE5MzQgbyAtIE1heSAyMCAwIDEgRAotK1IgSCAxOTM0IG8gLSBTIDE2IDAgMCBTCi0rUiBIIDE5MzUgbyAtIEp1biAyIDAgMSBECi0rUiBIIDE5MzUgbyAtIFMgMzAgMCAwIFMKLStSIEggMTkzNiBvIC0gSnVuIDEgMCAxIEQKLStSIEggMTkzNiBvIC0gUyAxNCAwIDAgUwotK1IgSCAxOTM3IDE5MzggLSBNYXkgU3VuPj0xIDAgMSBECi0rUiBIIDE5MzcgMTk0MSAtIFMgTT49MjQgMCAwIFMKLStSIEggMTkzOSBvIC0gTWF5IDI4IDAgMSBECi0rUiBIIDE5NDAgMTk0MSAtIE1heSBTdW4+PTEgMCAxIEQKLStSIEggMTk0NiAxOTQ5IC0gQXAgbGFzdFN1biAyIDEgRAotK1IgSCAxOTQ2IDE5NDkgLSBTIGxhc3RTdW4gMiAwIFMKLStSIEggMTk1MSAxOTU0IC0gQXAgbGFzdFN1biAyIDEgRAotK1IgSCAxOTUxIDE5NTQgLSBTIGxhc3RTdW4gMiAwIFMKLStSIEggMTk1NiAxOTU5IC0gQXAgbGFzdFN1biAyIDEgRAotK1IgSCAxOTU2IDE5NTkgLSBTIGxhc3RTdW4gMiAwIFMKLStSIEggMTk2MiAxOTczIC0gQXAgbGFzdFN1biAyIDEgRAotK1IgSCAxOTYyIDE5NzMgLSBPIGxhc3RTdW4gMiAwIFMKLSBaIEFtZXJpY2EvSGFsaWZheCAtNDoxNDoyNCAtIExNVCAxOTAyIEp1biAxNQotLS00IEFXIEElc1QgMTkxOAotLS00IEFVIEElc1QgMTkxOQotLS00IEFXIEElc1QgMTk0MiBGIDkgMnMKLS0tNCBBVSBBJXNUIDE5NDYKLS0tNCBBVyBBJXNUIDE5NzQKLS0tNCBBVSBBJXNUCi0rLTQgSCBBJXNUIDE5MTgKLSstNCBDIEElc1QgMTkxOQotKy00IEggQSVzVCAxOTQyIEYgOSAycwotKy00IEMgQSVzVCAxOTQ2Ci0rLTQgSCBBJXNUIDE5NzQKLSstNCBDIEElc1QKLSBaIEFtZXJpY2EvR2xhY2VfQmF5IC0zOjU5OjQ4IC0gTE1UIDE5MDIgSnVuIDE1Ci0tLTQgQVUgQSVzVCAxOTUzCi0tLTQgQVcgQSVzVCAxOTU0Ci0rLTQgQyBBJXNUIDE5NTMKLSstNCBIIEElc1QgMTk1NAotIC00IC0gQVNUIDE5NzIKLS0tNCBBVyBBJXNUIDE5NzQKLS0tNCBBVSBBJXNUCi0tUiBBWCAxOTMzIDE5MzUgLSBKdW4gU3VuPj04IDEgMSBECi0tUiBBWCAxOTMzIDE5MzUgLSBTIFN1bj49OCAxIDAgUwotLVIgQVggMTkzNiAxOTM4IC0gSnVuIFN1bj49MSAxIDEgRAotLVIgQVggMTkzNiAxOTM4IC0gUyBTdW4+PTEgMSAwIFMKLS1SIEFYIDE5MzkgbyAtIE1heSAyNyAxIDEgRAotLVIgQVggMTkzOSAxOTQxIC0gUyBTYXQ+PTIxIDEgMCBTCi0tUiBBWCAxOTQwIG8gLSBNYXkgMTkgMSAxIEQKLS1SIEFYIDE5NDEgbyAtIE1heSA0IDEgMSBECi0tUiBBWCAxOTQ2IDE5NzIgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBWCAxOTQ2IDE5NTYgLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFYIDE5NTcgMTk3MiAtIE8gbGFzdFN1biAyIDAgUwotLVIgQVggMTk5MyAyMDA2IC0gQXAgU3VuPj0xIDA6MSAxIEQKLS1SIEFYIDE5OTMgMjAwNiAtIE8gbGFzdFN1biAwOjEgMCBTCi0rLTQgSCBBJXNUIDE5NzQKLSstNCBDIEElc1QKLStSIG8gMTkzMyAxOTM1IC0gSnVuIFN1bj49OCAxIDEgRAotK1IgbyAxOTMzIDE5MzUgLSBTIFN1bj49OCAxIDAgUwotK1IgbyAxOTM2IDE5MzggLSBKdW4gU3VuPj0xIDEgMSBECi0rUiBvIDE5MzYgMTkzOCAtIFMgU3VuPj0xIDEgMCBTCi0rUiBvIDE5MzkgbyAtIE1heSAyNyAxIDEgRAotK1IgbyAxOTM5IDE5NDEgLSBTIFNhdD49MjEgMSAwIFMKLStSIG8gMTk0MCBvIC0gTWF5IDE5IDEgMSBECi0rUiBvIDE5NDEgbyAtIE1heSA0IDEgMSBECi0rUiBvIDE5NDYgMTk3MiAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIG8gMTk0NiAxOTU2IC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBvIDE5NTcgMTk3MiAtIE8gbGFzdFN1biAyIDAgUwotK1IgbyAxOTkzIDIwMDYgLSBBcCBTdW4+PTEgMDoxIDEgRAotK1IgbyAxOTkzIDIwMDYgLSBPIGxhc3RTdW4gMDoxIDAgUwotIFogQW1lcmljYS9Nb25jdG9uIC00OjE5OjggLSBMTVQgMTg4MyBEIDkKLSAtNSAtIEVTVCAxOTAyIEp1biAxNQotLS00IEFVIEElc1QgMTkzMwotLS00IEFYIEElc1QgMTk0MgotLS00IEFVIEElc1QgMTk0NgotLS00IEFYIEElc1QgMTk3MwotLS00IEFVIEElc1QgMTk5MwotLS00IEFYIEElc1QgMjAwNwotLS00IEFVIEElc1QKLSstNCBDIEElc1QgMTkzMwotKy00IG8gQSVzVCAxOTQyCi0rLTQgQyBBJXNUIDE5NDYKLSstNCBvIEElc1QgMTk3MwotKy00IEMgQSVzVCAxOTkzCi0rLTQgbyBBJXNUIDIwMDcKLSstNCBDIEElc1QKLSBaIEFtZXJpY2EvQmxhbmMtU2FibG9uIC0zOjQ4OjI4IC0gTE1UIDE4ODQKLS0tNCBBVSBBJXNUIDE5NzAKLSstNCBDIEElc1QgMTk3MAotIC00IC0gQVNUCi0tUiBBWSAxOTE5IG8gLSBNYXIgMzAgMjM6MzAgMSBECi0tUiBBWSAxOTE5IG8gLSBPIDI2IDAgMCBTCi0tUiBBWSAxOTIwIG8gLSBNYXkgMiAyIDEgRAotLVIgQVkgMTkyMCBvIC0gUyAyNiAwIDAgUwotLVIgQVkgMTkyMSBvIC0gTWF5IDE1IDIgMSBECi0tUiBBWSAxOTIxIG8gLSBTIDE1IDIgMCBTCi0tUiBBWSAxOTIyIDE5MjMgLSBNYXkgU3VuPj04IDIgMSBECi0tUiBBWSAxOTIyIDE5MjYgLSBTIFN1bj49MTUgMiAwIFMKLS1SIEFZIDE5MjQgMTkyNyAtIE1heSBTdW4+PTEgMiAxIEQKLS1SIEFZIDE5MjcgMTkzMiAtIFMgbGFzdFN1biAyIDAgUwotLVIgQVkgMTkyOCAxOTMxIC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQVkgMTkzMiBvIC0gTWF5IDEgMiAxIEQKLS1SIEFZIDE5MzMgMTk0MCAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFZIDE5MzMgbyAtIE8gMSAyIDAgUwotLVIgQVkgMTkzNCAxOTM5IC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBWSAxOTQ1IDE5NDYgLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFZIDE5NDYgbyAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFZIDE5NDcgMTk0OSAtIEFwIGxhc3RTdW4gMCAxIEQKLS1SIEFZIDE5NDcgMTk0OCAtIFMgbGFzdFN1biAwIDAgUwotLVIgQVkgMTk0OSBvIC0gTiBsYXN0U3VuIDAgMCBTCi0tUiBBWSAxOTUwIDE5NzMgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBWSAxOTUwIG8gLSBOIGxhc3RTdW4gMiAwIFMKLS1SIEFZIDE5NTEgMTk1NiAtIFMgbGFzdFN1biAyIDAgUwotLVIgQVkgMTk1NyAxOTczIC0gTyBsYXN0U3VuIDIgMCBTCi0rUiB0IDE5MTkgbyAtIE1hciAzMCAyMzozMCAxIEQKLStSIHQgMTkxOSBvIC0gTyAyNiAwIDAgUwotK1IgdCAxOTIwIG8gLSBNYXkgMiAyIDEgRAotK1IgdCAxOTIwIG8gLSBTIDI2IDAgMCBTCi0rUiB0IDE5MjEgbyAtIE1heSAxNSAyIDEgRAotK1IgdCAxOTIxIG8gLSBTIDE1IDIgMCBTCi0rUiB0IDE5MjIgMTkyMyAtIE1heSBTdW4+PTggMiAxIEQKLStSIHQgMTkyMiAxOTI2IC0gUyBTdW4+PTE1IDIgMCBTCi0rUiB0IDE5MjQgMTkyNyAtIE1heSBTdW4+PTEgMiAxIEQKLStSIHQgMTkyNyAxOTMyIC0gUyBsYXN0U3VuIDIgMCBTCi0rUiB0IDE5MjggMTkzMSAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIHQgMTkzMiBvIC0gTWF5IDEgMiAxIEQKLStSIHQgMTkzMyAxOTQwIC0gQXAgbGFzdFN1biAyIDEgRAotK1IgdCAxOTMzIG8gLSBPIDEgMiAwIFMKLStSIHQgMTkzNCAxOTM5IC0gUyBsYXN0U3VuIDIgMCBTCi0rUiB0IDE5NDUgMTk0NiAtIFMgbGFzdFN1biAyIDAgUwotK1IgdCAxOTQ2IG8gLSBBcCBsYXN0U3VuIDIgMSBECi0rUiB0IDE5NDcgMTk0OSAtIEFwIGxhc3RTdW4gMCAxIEQKLStSIHQgMTk0NyAxOTQ4IC0gUyBsYXN0U3VuIDAgMCBTCi0rUiB0IDE5NDkgbyAtIE4gbGFzdFN1biAwIDAgUwotK1IgdCAxOTUwIDE5NzMgLSBBcCBsYXN0U3VuIDIgMSBECi0rUiB0IDE5NTAgbyAtIE4gbGFzdFN1biAyIDAgUwotK1IgdCAxOTUxIDE5NTYgLSBTIGxhc3RTdW4gMiAwIFMKLStSIHQgMTk1NyAxOTczIC0gTyBsYXN0U3VuIDIgMCBTCi0gWiBBbWVyaWNhL1Rvcm9udG8gLTU6MTc6MzIgLSBMTVQgMTg5NQotLS01IEFVIEUlc1QgMTkxOQotLS01IEFZIEUlc1QgMTk0MiBGIDkgMnMKLS0tNSBBVSBFJXNUIDE5NDYKLS0tNSBBWSBFJXNUIDE5NzQKLS0tNSBBVSBFJXNUCi0rLTUgQyBFJXNUIDE5MTkKLSstNSB0IEUlc1QgMTk0MiBGIDkgMnMKLSstNSBDIEUlc1QgMTk0NgotKy01IHQgRSVzVCAxOTc0Ci0rLTUgQyBFJXNUCi0gWiBBbWVyaWNhL1RodW5kZXJfQmF5IC01OjU3IC0gTE1UIDE4OTUKLSAtNiAtIENTVCAxOTEwCi0gLTUgLSBFU1QgMTk0MgotLS01IEFVIEUlc1QgMTk3MAotLS01IEFZIEUlc1QgMTk3MwotKy01IEMgRSVzVCAxOTcwCi0rLTUgdCBFJXNUIDE5NzMKLSAtNSAtIEVTVCAxOTc0Ci0tLTUgQVUgRSVzVAotKy01IEMgRSVzVAotIFogQW1lcmljYS9OaXBpZ29uIC01OjUzOjQgLSBMTVQgMTg5NQotLS01IEFVIEUlc1QgMTk0MCBTIDI5Ci0rLTUgQyBFJXNUIDE5NDAgUyAyOQotIC01IDEgRURUIDE5NDIgRiA5IDJzCi0tLTUgQVUgRSVzVAotKy01IEMgRSVzVAotIFogQW1lcmljYS9SYWlueV9SaXZlciAtNjoxODoxNiAtIExNVCAxODk1Ci0tLTYgQVUgQyVzVCAxOTQwIFMgMjkKLSstNiBDIEMlc1QgMTk0MCBTIDI5Ci0gLTYgMSBDRFQgMTk0MiBGIDkgMnMKLS0tNiBBVSBDJXNUCi0rLTYgQyBDJXNUCi0gWiBBbWVyaWNhL0F0aWtva2FuIC02OjY6MjggLSBMTVQgMTg5NQotLS02IEFVIEMlc1QgMTk0MCBTIDI5Ci0rLTYgQyBDJXNUIDE5NDAgUyAyOQotIC02IDEgQ0RUIDE5NDIgRiA5IDJzCi0tLTYgQVUgQyVzVCAxOTQ1IFMgMzAgMgotKy02IEMgQyVzVCAxOTQ1IFMgMzAgMgotIC01IC0gRVNUCi0tUiBBWiAxOTE2IG8gLSBBcCAyMyAwIDEgRAotLVIgQVogMTkxNiBvIC0gUyAxNyAwIDAgUwotLVIgQVogMTkxOCBvIC0gQXAgMTQgMiAxIEQKLS1SIEFaIDE5MTggbyAtIE8gMjcgMiAwIFMKLS1SIEFaIDE5MzcgbyAtIE1heSAxNiAyIDEgRAotLVIgQVogMTkzNyBvIC0gUyAyNiAyIDAgUwotLVIgQVogMTk0MiBvIC0gRiA5IDIgMSBXCi0tUiBBWiAxOTQ1IG8gLSBBdSAxNCAyM3UgMSBQCi0tUiBBWiAxOTQ1IG8gLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFaIDE5NDYgbyAtIE1heSAxMiAyIDEgRAotLVIgQVogMTk0NiBvIC0gTyAxMyAyIDAgUwotLVIgQVogMTk0NyAxOTQ5IC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQVogMTk0NyAxOTQ5IC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBWiAxOTUwIG8gLSBNYXkgMSAyIDEgRAotLVIgQVogMTk1MCBvIC0gUyAzMCAyIDAgUwotLVIgQVogMTk1MSAxOTYwIC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQVogMTk1MSAxOTU4IC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBWiAxOTU5IG8gLSBPIGxhc3RTdW4gMiAwIFMKLS1SIEFaIDE5NjAgbyAtIFMgbGFzdFN1biAyIDAgUwotLVIgQVogMTk2MyBvIC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQVogMTk2MyBvIC0gUyAyMiAyIDAgUwotLVIgQVogMTk2NiAxOTg2IC0gQXAgbGFzdFN1biAycyAxIEQKLS1SIEFaIDE5NjYgMjAwNSAtIE8gbGFzdFN1biAycyAwIFMKLS1SIEFaIDE5ODcgMjAwNSAtIEFwIFN1bj49MSAycyAxIEQKLStSIFcgMTkxNiBvIC0gQXAgMjMgMCAxIEQKLStSIFcgMTkxNiBvIC0gUyAxNyAwIDAgUwotK1IgVyAxOTE4IG8gLSBBcCAxNCAyIDEgRAotK1IgVyAxOTE4IG8gLSBPIDI3IDIgMCBTCi0rUiBXIDE5MzcgbyAtIE1heSAxNiAyIDEgRAotK1IgVyAxOTM3IG8gLSBTIDI2IDIgMCBTCi0rUiBXIDE5NDIgbyAtIEYgOSAyIDEgVwotK1IgVyAxOTQ1IG8gLSBBdSAxNCAyM3UgMSBQCi0rUiBXIDE5NDUgbyAtIFMgbGFzdFN1biAyIDAgUwotK1IgVyAxOTQ2IG8gLSBNYXkgMTIgMiAxIEQKLStSIFcgMTk0NiBvIC0gTyAxMyAyIDAgUwotK1IgVyAxOTQ3IDE5NDkgLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBXIDE5NDcgMTk0OSAtIFMgbGFzdFN1biAyIDAgUwotK1IgVyAxOTUwIG8gLSBNYXkgMSAyIDEgRAotK1IgVyAxOTUwIG8gLSBTIDMwIDIgMCBTCi0rUiBXIDE5NTEgMTk2MCAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIFcgMTk1MSAxOTU4IC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBXIDE5NTkgbyAtIE8gbGFzdFN1biAyIDAgUwotK1IgVyAxOTYwIG8gLSBTIGxhc3RTdW4gMiAwIFMKLStSIFcgMTk2MyBvIC0gQXAgbGFzdFN1biAyIDEgRAotK1IgVyAxOTYzIG8gLSBTIDIyIDIgMCBTCi0rUiBXIDE5NjYgMTk4NiAtIEFwIGxhc3RTdW4gMnMgMSBECi0rUiBXIDE5NjYgMjAwNSAtIE8gbGFzdFN1biAycyAwIFMKLStSIFcgMTk4NyAyMDA1IC0gQXAgU3VuPj0xIDJzIDEgRAotIFogQW1lcmljYS9XaW5uaXBlZyAtNjoyODozNiAtIExNVCAxODg3IEp1bCAxNgotLS02IEFaIEMlc1QgMjAwNgotLS02IEFVIEMlc1QKLS1SIEFhIDE5MTggbyAtIEFwIDE0IDIgMSBECi0tUiBBYSAxOTE4IG8gLSBPIDI3IDIgMCBTCi0tUiBBYSAxOTMwIDE5MzQgLSBNYXkgU3VuPj0xIDAgMSBECi0tUiBBYSAxOTMwIDE5MzQgLSBPIFN1bj49MSAwIDAgUwotLVIgQWEgMTkzNyAxOTQxIC0gQXAgU3VuPj04IDAgMSBECi0tUiBBYSAxOTM3IG8gLSBPIFN1bj49OCAwIDAgUwotLVIgQWEgMTkzOCBvIC0gTyBTdW4+PTEgMCAwIFMKLS1SIEFhIDE5MzkgMTk0MSAtIE8gU3VuPj04IDAgMCBTCi0tUiBBYSAxOTQyIG8gLSBGIDkgMiAxIFcKLS1SIEFhIDE5NDUgbyAtIEF1IDE0IDIzdSAxIFAKLS1SIEFhIDE5NDUgbyAtIFMgbGFzdFN1biAyIDAgUwotLVIgQWEgMTk0NiBvIC0gQXAgU3VuPj04IDIgMSBECi0tUiBBYSAxOTQ2IG8gLSBPIFN1bj49OCAyIDAgUwotLVIgQWEgMTk0NyAxOTU3IC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQWEgMTk0NyAxOTU3IC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBYSAxOTU5IG8gLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBYSAxOTU5IG8gLSBPIGxhc3RTdW4gMiAwIFMKLS1SIEFiIDE5NTcgbyAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFiIDE5NTcgbyAtIE8gbGFzdFN1biAyIDAgUwotLVIgQWIgMTk1OSAxOTYxIC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQWIgMTk1OSBvIC0gTyBsYXN0U3VuIDIgMCBTCi0tUiBBYiAxOTYwIDE5NjEgLSBTIGxhc3RTdW4gMiAwIFMKLSstNiBXIEMlc1QgMjAwNgotKy02IEMgQyVzVAotK1IgciAxOTE4IG8gLSBBcCAxNCAyIDEgRAotK1IgciAxOTE4IG8gLSBPIDI3IDIgMCBTCi0rUiByIDE5MzAgMTkzNCAtIE1heSBTdW4+PTEgMCAxIEQKLStSIHIgMTkzMCAxOTM0IC0gTyBTdW4+PTEgMCAwIFMKLStSIHIgMTkzNyAxOTQxIC0gQXAgU3VuPj04IDAgMSBECi0rUiByIDE5MzcgbyAtIE8gU3VuPj04IDAgMCBTCi0rUiByIDE5MzggbyAtIE8gU3VuPj0xIDAgMCBTCi0rUiByIDE5MzkgMTk0MSAtIE8gU3VuPj04IDAgMCBTCi0rUiByIDE5NDIgbyAtIEYgOSAyIDEgVwotK1IgciAxOTQ1IG8gLSBBdSAxNCAyM3UgMSBQCi0rUiByIDE5NDUgbyAtIFMgbGFzdFN1biAyIDAgUwotK1IgciAxOTQ2IG8gLSBBcCBTdW4+PTggMiAxIEQKLStSIHIgMTk0NiBvIC0gTyBTdW4+PTggMiAwIFMKLStSIHIgMTk0NyAxOTU3IC0gQXAgbGFzdFN1biAyIDEgRAotK1IgciAxOTQ3IDE5NTcgLSBTIGxhc3RTdW4gMiAwIFMKLStSIHIgMTk1OSBvIC0gQXAgbGFzdFN1biAyIDEgRAotK1IgciAxOTU5IG8gLSBPIGxhc3RTdW4gMiAwIFMKLStSIFN3IDE5NTcgbyAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIFN3IDE5NTcgbyAtIE8gbGFzdFN1biAyIDAgUwotK1IgU3cgMTk1OSAxOTYxIC0gQXAgbGFzdFN1biAyIDEgRAotK1IgU3cgMTk1OSBvIC0gTyBsYXN0U3VuIDIgMCBTCi0rUiBTdyAxOTYwIDE5NjEgLSBTIGxhc3RTdW4gMiAwIFMKLSBaIEFtZXJpY2EvUmVnaW5hIC02OjU4OjM2IC0gTE1UIDE5MDUgUwotLS03IEFhIE0lc1QgMTk2MCBBcCBsYXN0U3VuIDIKLSstNyByIE0lc1QgMTk2MCBBcCBsYXN0U3VuIDIKLSAtNiAtIENTVAotIFogQW1lcmljYS9Td2lmdF9DdXJyZW50IC03OjExOjIwIC0gTE1UIDE5MDUgUwotLS03IEFVIE0lc1QgMTk0NiBBcCBsYXN0U3VuIDIKLS0tNyBBYSBNJXNUIDE5NTAKLS0tNyBBYiBNJXNUIDE5NzIgQXAgbGFzdFN1biAyCi0rLTcgQyBNJXNUIDE5NDYgQXAgbGFzdFN1biAyCi0rLTcgciBNJXNUIDE5NTAKLSstNyBTdyBNJXNUIDE5NzIgQXAgbGFzdFN1biAyCi0gLTYgLSBDU1QKLS1SIEFjIDE5MTggMTkxOSAtIEFwIFN1bj49OCAyIDEgRAotLVIgQWMgMTkxOCBvIC0gTyAyNyAyIDAgUwotLVIgQWMgMTkxOSBvIC0gTWF5IDI3IDIgMCBTCi0tUiBBYyAxOTIwIDE5MjMgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBYyAxOTIwIG8gLSBPIGxhc3RTdW4gMiAwIFMKLS1SIEFjIDE5MjEgMTkyMyAtIFMgbGFzdFN1biAyIDAgUwotLVIgQWMgMTk0MiBvIC0gRiA5IDIgMSBXCi0tUiBBYyAxOTQ1IG8gLSBBdSAxNCAyM3UgMSBQCi0tUiBBYyAxOTQ1IG8gLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFjIDE5NDcgbyAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFjIDE5NDcgbyAtIFMgbGFzdFN1biAyIDAgUwotLVIgQWMgMTk2NyBvIC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQWMgMTk2NyBvIC0gTyBsYXN0U3VuIDIgMCBTCi0tUiBBYyAxOTY5IG8gLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBYyAxOTY5IG8gLSBPIGxhc3RTdW4gMiAwIFMKLS1SIEFjIDE5NzIgMTk4NiAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFjIDE5NzIgMjAwNiAtIE8gbGFzdFN1biAyIDAgUwotK1IgRWQgMTkxOCAxOTE5IC0gQXAgU3VuPj04IDIgMSBECi0rUiBFZCAxOTE4IG8gLSBPIDI3IDIgMCBTCi0rUiBFZCAxOTE5IG8gLSBNYXkgMjcgMiAwIFMKLStSIEVkIDE5MjAgMTkyMyAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIEVkIDE5MjAgbyAtIE8gbGFzdFN1biAyIDAgUwotK1IgRWQgMTkyMSAxOTIzIC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBFZCAxOTQyIG8gLSBGIDkgMiAxIFcKLStSIEVkIDE5NDUgbyAtIEF1IDE0IDIzdSAxIFAKLStSIEVkIDE5NDUgbyAtIFMgbGFzdFN1biAyIDAgUwotK1IgRWQgMTk0NyBvIC0gQXAgbGFzdFN1biAyIDEgRAotK1IgRWQgMTk0NyBvIC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBFZCAxOTY3IG8gLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBFZCAxOTY3IG8gLSBPIGxhc3RTdW4gMiAwIFMKLStSIEVkIDE5NjkgbyAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIEVkIDE5NjkgbyAtIE8gbGFzdFN1biAyIDAgUwotK1IgRWQgMTk3MiAxOTg2IC0gQXAgbGFzdFN1biAyIDEgRAotK1IgRWQgMTk3MiAyMDA2IC0gTyBsYXN0U3VuIDIgMCBTCi0gWiBBbWVyaWNhL0VkbW9udG9uIC03OjMzOjUyIC0gTE1UIDE5MDYgUwotLS03IEFjIE0lc1QgMTk4NwotLS03IEFVIE0lc1QKLS1SIEFkIDE5MTggbyAtIEFwIDE0IDIgMSBECi0tUiBBZCAxOTE4IG8gLSBPIDI3IDIgMCBTCi0tUiBBZCAxOTQyIG8gLSBGIDkgMiAxIFcKLS1SIEFkIDE5NDUgbyAtIEF1IDE0IDIzdSAxIFAKLS1SIEFkIDE5NDUgbyAtIFMgMzAgMiAwIFMKLS1SIEFkIDE5NDYgMTk4NiAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFkIDE5NDYgbyAtIE8gMTMgMiAwIFMKLS1SIEFkIDE5NDcgMTk2MSAtIFMgbGFzdFN1biAyIDAgUwotLVIgQWQgMTk2MiAyMDA2IC0gTyBsYXN0U3VuIDIgMCBTCi0rLTcgRWQgTSVzVCAxOTg3Ci0rLTcgQyBNJXNUCi0rUiBWYSAxOTE4IG8gLSBBcCAxNCAyIDEgRAotK1IgVmEgMTkxOCBvIC0gTyAyNyAyIDAgUwotK1IgVmEgMTk0MiBvIC0gRiA5IDIgMSBXCi0rUiBWYSAxOTQ1IG8gLSBBdSAxNCAyM3UgMSBQCi0rUiBWYSAxOTQ1IG8gLSBTIDMwIDIgMCBTCi0rUiBWYSAxOTQ2IDE5ODYgLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBWYSAxOTQ2IG8gLSBPIDEzIDIgMCBTCi0rUiBWYSAxOTQ3IDE5NjEgLSBTIGxhc3RTdW4gMiAwIFMKLStSIFZhIDE5NjIgMjAwNiAtIE8gbGFzdFN1biAyIDAgUwotIFogQW1lcmljYS9WYW5jb3V2ZXIgLTg6MTI6MjggLSBMTVQgMTg4NAotLS04IEFkIFAlc1QgMTk4NwotLS04IEFVIFAlc1QKLSstOCBWYSBQJXNUIDE5ODcKLSstOCBDIFAlc1QKLSBaIEFtZXJpY2EvRGF3c29uX0NyZWVrIC04OjA6NTYgLSBMTVQgMTg4NAotLS04IEFVIFAlc1QgMTk0NwotLS04IEFkIFAlc1QgMTk3MiBBdSAzMCAyCi0rLTggQyBQJXNUIDE5NDcKLSstOCBWYSBQJXNUIDE5NzIgQXUgMzAgMgotIC03IC0gTVNUCi0gWiBBbWVyaWNhL0ZvcnRfTmVsc29uIC04OjEwOjQ3IC0gTE1UIDE4ODQKLS0tOCBBZCBQJXNUIDE5NDYKLSstOCBWYSBQJXNUIDE5NDYKLSAtOCAtIFBTVCAxOTQ3Ci0tLTggQWQgUCVzVCAxOTg3Ci0tLTggQVUgUCVzVCAyMDE1IE1hciA4IDIKLSstOCBWYSBQJXNUIDE5ODcKLSstOCBDIFAlc1QgMjAxNSBNYXIgOCAyCi0gLTcgLSBNU1QKLSBaIEFtZXJpY2EvQ3Jlc3RvbiAtNzo0Njo0IC0gTE1UIDE4ODQKLSAtNyAtIE1TVCAxOTE2IE8KLSAtOCAtIFBTVCAxOTE4IEp1biAyCi0gLTcgLSBNU1QKLS1SIEFlIDE5MTggbyAtIEFwIDE0IDIgMSBECi0tUiBBZSAxOTE4IG8gLSBPIDI3IDIgMCBTCi0tUiBBZSAxOTE5IG8gLSBNYXkgMjUgMiAxIEQKLS1SIEFlIDE5MTkgbyAtIE4gMSAwIDAgUwotLVIgQWUgMTk0MiBvIC0gRiA5IDIgMSBXCi0tUiBBZSAxOTQ1IG8gLSBBdSAxNCAyM3UgMSBQCi0tUiBBZSAxOTQ1IG8gLSBTIDMwIDIgMCBTCi0tUiBBZSAxOTY1IG8gLSBBcCBsYXN0U3VuIDAgMiBERAotLVIgQWUgMTk2NSBvIC0gTyBsYXN0U3VuIDIgMCBTCi0tUiBBZSAxOTgwIDE5ODYgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBZSAxOTgwIDIwMDYgLSBPIGxhc3RTdW4gMiAwIFMKLS1SIEFlIDE5ODcgMjAwNiAtIEFwIFN1bj49MSAyIDEgRAotK1IgWSAxOTE4IG8gLSBBcCAxNCAyIDEgRAotK1IgWSAxOTE4IG8gLSBPIDI3IDIgMCBTCi0rUiBZIDE5MTkgbyAtIE1heSAyNSAyIDEgRAotK1IgWSAxOTE5IG8gLSBOIDEgMCAwIFMKLStSIFkgMTk0MiBvIC0gRiA5IDIgMSBXCi0rUiBZIDE5NDUgbyAtIEF1IDE0IDIzdSAxIFAKLStSIFkgMTk0NSBvIC0gUyAzMCAyIDAgUwotK1IgWSAxOTY1IG8gLSBBcCBsYXN0U3VuIDAgMiBERAotK1IgWSAxOTY1IG8gLSBPIGxhc3RTdW4gMiAwIFMKLStSIFkgMTk4MCAxOTg2IC0gQXAgbGFzdFN1biAyIDEgRAotK1IgWSAxOTgwIDIwMDYgLSBPIGxhc3RTdW4gMiAwIFMKLStSIFkgMTk4NyAyMDA2IC0gQXAgU3VuPj0xIDIgMSBECi0gWiBBbWVyaWNhL1BhbmduaXJ0dW5nIDAgLSAtMDAgMTkyMQotLS00IEFlIEElc1QgMTk5NSBBcCBTdW4+PTEgMgotLS01IEFVIEUlc1QgMTk5OSBPIDMxIDIKLS0tNiBBVSBDJXNUIDIwMDAgTyAyOSAyCi0tLTUgQVUgRSVzVAotKy00IFkgQSVzVCAxOTk1IEFwIFN1bj49MSAyCi0rLTUgQyBFJXNUIDE5OTkgTyAzMSAyCi0rLTYgQyBDJXNUIDIwMDAgTyAyOSAyCi0rLTUgQyBFJXNUCi0gWiBBbWVyaWNhL0lxYWx1aXQgMCAtIC0wMCAxOTQyIEF1Ci0tLTUgQWUgRSVzVCAxOTk5IE8gMzEgMgotLS02IEFVIEMlc1QgMjAwMCBPIDI5IDIKLS0tNSBBVSBFJXNUCi0rLTUgWSBFJXNUIDE5OTkgTyAzMSAyCi0rLTYgQyBDJXNUIDIwMDAgTyAyOSAyCi0rLTUgQyBFJXNUCi0gWiBBbWVyaWNhL1Jlc29sdXRlIDAgLSAtMDAgMTk0NyBBdSAzMQotLS02IEFlIEMlc1QgMjAwMCBPIDI5IDIKLSstNiBZIEMlc1QgMjAwMCBPIDI5IDIKLSAtNSAtIEVTVCAyMDAxIEFwIDEgMwotLS02IEFVIEMlc1QgMjAwNiBPIDI5IDIKLSstNiBDIEMlc1QgMjAwNiBPIDI5IDIKLSAtNSAtIEVTVCAyMDA3IE1hciAxMSAzCi0tLTYgQVUgQyVzVAotKy02IEMgQyVzVAotIFogQW1lcmljYS9SYW5raW5fSW5sZXQgMCAtIC0wMCAxOTU3Ci0tLTYgQWUgQyVzVCAyMDAwIE8gMjkgMgotKy02IFkgQyVzVCAyMDAwIE8gMjkgMgotIC01IC0gRVNUIDIwMDEgQXAgMSAzCi0tLTYgQVUgQyVzVAotKy02IEMgQyVzVAotIFogQW1lcmljYS9DYW1icmlkZ2VfQmF5IDAgLSAtMDAgMTkyMAotLS03IEFlIE0lc1QgMTk5OSBPIDMxIDIKLS0tNiBBVSBDJXNUIDIwMDAgTyAyOSAyCi0rLTcgWSBNJXNUIDE5OTkgTyAzMSAyCi0rLTYgQyBDJXNUIDIwMDAgTyAyOSAyCi0gLTUgLSBFU1QgMjAwMCBOIDUKLSAtNiAtIENTVCAyMDAxIEFwIDEgMwotLS03IEFVIE0lc1QKLSstNyBDIE0lc1QKLSBaIEFtZXJpY2EvWWVsbG93a25pZmUgMCAtIC0wMCAxOTM1Ci0tLTcgQWUgTSVzVCAxOTgwCi0tLTcgQVUgTSVzVAotKy03IFkgTSVzVCAxOTgwCi0rLTcgQyBNJXNUCi0gWiBBbWVyaWNhL0ludXZpayAwIC0gLTAwIDE5NTMKLS0tOCBBZSBQJXNUIDE5NzkgQXAgbGFzdFN1biAyCi0tLTcgQWUgTSVzVCAxOTgwCi0tLTcgQVUgTSVzVAotKy04IFkgUCVzVCAxOTc5IEFwIGxhc3RTdW4gMgotKy03IFkgTSVzVCAxOTgwCi0rLTcgQyBNJXNUCi0gWiBBbWVyaWNhL1doaXRlaG9yc2UgLTk6MDoxMiAtIExNVCAxOTAwIEF1IDIwCi0tLTkgQWUgWSVzVCAxOTY3IE1heSAyOAotLS04IEFlIFAlc1QgMTk4MAotLS04IEFVIFAlc1QKLSstOSBZIFklc1QgMTk2NyBNYXkgMjgKLSstOCBZIFAlc1QgMTk4MAotKy04IEMgUCVzVAotIFogQW1lcmljYS9EYXdzb24gLTk6MTc6NDAgLSBMTVQgMTkwMCBBdSAyMAotLS05IEFlIFklc1QgMTk3MyBPIDI4Ci0tLTggQWUgUCVzVCAxOTgwCi0tLTggQVUgUCVzVAotLVIgQWYgMTkzOSBvIC0gRiA1IDAgMSBECi0tUiBBZiAxOTM5IG8gLSBKdW4gMjUgMCAwIFMKLS1SIEFmIDE5NDAgbyAtIEQgOSAwIDEgRAotLVIgQWYgMTk0MSBvIC0gQXAgMSAwIDAgUwotLVIgQWYgMTk0MyBvIC0gRCAxNiAwIDEgVwotLVIgQWYgMTk0NCBvIC0gTWF5IDEgMCAwIFMKLS1SIEFmIDE5NTAgbyAtIEYgMTIgMCAxIEQKLS1SIEFmIDE5NTAgbyAtIEp1bCAzMCAwIDAgUwotLVIgQWYgMTk5NiAyMDAwIC0gQXAgU3VuPj0xIDIgMSBECi0tUiBBZiAxOTk2IDIwMDAgLSBPIGxhc3RTdW4gMiAwIFMKLS1SIEFmIDIwMDEgbyAtIE1heSBTdW4+PTEgMiAxIEQKLS1SIEFmIDIwMDEgbyAtIFMgbGFzdFN1biAyIDAgUwotLVIgQWYgMjAwMiBtYSAtIEFwIFN1bj49MSAyIDEgRAotLVIgQWYgMjAwMiBtYSAtIE8gbGFzdFN1biAyIDAgUwotKy05IFkgWSVzVCAxOTczIE8gMjgKLSstOCBZIFAlc1QgMTk4MAotKy04IEMgUCVzVAotK1IgbSAxOTM5IG8gLSBGIDUgMCAxIEQKLStSIG0gMTkzOSBvIC0gSnVuIDI1IDAgMCBTCi0rUiBtIDE5NDAgbyAtIEQgOSAwIDEgRAotK1IgbSAxOTQxIG8gLSBBcCAxIDAgMCBTCi0rUiBtIDE5NDMgbyAtIEQgMTYgMCAxIFcKLStSIG0gMTk0NCBvIC0gTWF5IDEgMCAwIFMKLStSIG0gMTk1MCBvIC0gRiAxMiAwIDEgRAotK1IgbSAxOTUwIG8gLSBKdWwgMzAgMCAwIFMKLStSIG0gMTk5NiAyMDAwIC0gQXAgU3VuPj0xIDIgMSBECi0rUiBtIDE5OTYgMjAwMCAtIE8gbGFzdFN1biAyIDAgUwotK1IgbSAyMDAxIG8gLSBNYXkgU3VuPj0xIDIgMSBECi0rUiBtIDIwMDEgbyAtIFMgbGFzdFN1biAyIDAgUwotK1IgbSAyMDAyIG1hIC0gQXAgU3VuPj0xIDIgMSBECi0rUiBtIDIwMDIgbWEgLSBPIGxhc3RTdW4gMiAwIFMKLSBaIEFtZXJpY2EvQ2FuY3VuIC01OjQ3OjQgLSBMTVQgMTkyMiBKYSAxIDA6MTI6NTYKLSAtNiAtIENTVCAxOTgxIEQgMjMKLS0tNSBBZiBFJXNUIDE5OTggQXUgMiAyCi0tLTYgQWYgQyVzVCAyMDE1IEYgMSAyCi0rLTUgbSBFJXNUIDE5OTggQXUgMiAyCi0rLTYgbSBDJXNUIDIwMTUgRiAxIDIKLSAtNSAtIEVTVAotIFogQW1lcmljYS9NZXJpZGEgLTU6NTg6MjggLSBMTVQgMTkyMiBKYSAxIDA6MTozMgotIC02IC0gQ1NUIDE5ODEgRCAyMwotIC01IC0gRVNUIDE5ODIgRCAyCi0tLTYgQWYgQyVzVAotKy02IG0gQyVzVAotIFogQW1lcmljYS9NYXRhbW9yb3MgLTY6NDAgLSBMTVQgMTkyMSBEIDMxIDIzOjIwCi0gLTYgLSBDU1QgMTk4OAotLS02IEFGIEMlc1QgMTk4OQotLS02IEFmIEMlc1QgMjAxMAotLS02IEFGIEMlc1QKLSstNiB1IEMlc1QgMTk4OQotKy02IG0gQyVzVCAyMDEwCi0rLTYgdSBDJXNUCi0gWiBBbWVyaWNhL01vbnRlcnJleSAtNjo0MToxNiAtIExNVCAxOTIxIEQgMzEgMjM6MTg6NDQKLSAtNiAtIENTVCAxOTg4Ci0tLTYgQUYgQyVzVCAxOTg5Ci0tLTYgQWYgQyVzVAotKy02IHUgQyVzVCAxOTg5Ci0rLTYgbSBDJXNUCi0gWiBBbWVyaWNhL01leGljb19DaXR5IC02OjM2OjM2IC0gTE1UIDE5MjIgSmEgMSAwOjIzOjI0Ci0gLTcgLSBNU1QgMTkyNyBKdW4gMTAgMjMKLSAtNiAtIENTVCAxOTMwIE4gMTUKLSAtNyAtIE1TVCAxOTMxIE1heSAxIDIzCi0gLTYgLSBDU1QgMTkzMSBPCi0gLTcgLSBNU1QgMTkzMiBBcAotLS02IEFmIEMlc1QgMjAwMSBTIDMwIDIKLSstNiBtIEMlc1QgMjAwMSBTIDMwIDIKLSAtNiAtIENTVCAyMDAyIEYgMjAKLS0tNiBBZiBDJXNUCi0rLTYgbSBDJXNUCi0gWiBBbWVyaWNhL09qaW5hZ2EgLTY6NTc6NDAgLSBMTVQgMTkyMiBKYSAxIDA6MjoyMAotIC03IC0gTVNUIDE5MjcgSnVuIDEwIDIzCi0gLTYgLSBDU1QgMTkzMCBOIDE1Ci1AQCAtMzIxNSwxMCArMzIzMiwxMCBAQCBaIEFtZXJpY2EvT2ppbmFnYSAtNjo1Nzo0MCAtIExNVCAxOTIyIEphIDEgMDoyOjIwCi0gLTYgLSBDU1QgMTkzMSBPCi0gLTcgLSBNU1QgMTkzMiBBcAotIC02IC0gQ1NUIDE5OTYKLS0tNiBBZiBDJXNUIDE5OTgKLSstNiBtIEMlc1QgMTk5OAotIC02IC0gQ1NUIDE5OTggQXAgU3VuPj0xIDMKLS0tNyBBZiBNJXNUIDIwMTAKLS0tNyBBRiBNJXNUCi0rLTcgbSBNJXNUIDIwMTAKLSstNyB1IE0lc1QKLSBaIEFtZXJpY2EvQ2hpaHVhaHVhIC03OjQ6MjAgLSBMTVQgMTkyMSBEIDMxIDIzOjU1OjQwCi0gLTcgLSBNU1QgMTkyNyBKdW4gMTAgMjMKLSAtNiAtIENTVCAxOTMwIE4gMTUKLUBAIC0zMjI2LDkgKzMyNDMsOSBAQCBaIEFtZXJpY2EvQ2hpaHVhaHVhIC03OjQ6MjAgLSBMTVQgMTkyMSBEIDMxIDIzOjU1OjQwCi0gLTYgLSBDU1QgMTkzMSBPCi0gLTcgLSBNU1QgMTkzMiBBcAotIC02IC0gQ1NUIDE5OTYKLS0tNiBBZiBDJXNUIDE5OTgKLSstNiBtIEMlc1QgMTk5OAotIC02IC0gQ1NUIDE5OTggQXAgU3VuPj0xIDMKLS0tNyBBZiBNJXNUCi0rLTcgbSBNJXNUCi0gWiBBbWVyaWNhL0hlcm1vc2lsbG8gLTc6MjM6NTIgLSBMTVQgMTkyMSBEIDMxIDIzOjM2OjgKLSAtNyAtIE1TVCAxOTI3IEp1biAxMCAyMwotIC02IC0gQ1NUIDE5MzAgTiAxNQotQEAgLTMyMzgsNyArMzI1NSw3IEBAIFogQW1lcmljYS9IZXJtb3NpbGxvIC03OjIzOjUyIC0gTE1UIDE5MjEgRCAzMSAyMzozNjo4Ci0gLTYgLSBDU1QgMTk0MiBBcCAyNAotIC03IC0gTVNUIDE5NDkgSmEgMTQKLSAtOCAtIFBTVCAxOTcwCi0tLTcgQWYgTSVzVCAxOTk5Ci0rLTcgbSBNJXNUIDE5OTkKLSAtNyAtIE1TVAotIFogQW1lcmljYS9NYXphdGxhbiAtNzo1OjQwIC0gTE1UIDE5MjEgRCAzMSAyMzo1NDoyMAotIC03IC0gTVNUIDE5MjcgSnVuIDEwIDIzCi1AQCAtMzI0OSw3ICszMjY2LDcgQEAgWiBBbWVyaWNhL01hemF0bGFuIC03OjU6NDAgLSBMTVQgMTkyMSBEIDMxIDIzOjU0OjIwCi0gLTYgLSBDU1QgMTk0MiBBcCAyNAotIC03IC0gTVNUIDE5NDkgSmEgMTQKLSAtOCAtIFBTVCAxOTcwCi0tLTcgQWYgTSVzVAotKy03IG0gTSVzVAotIFogQW1lcmljYS9CYWhpYV9CYW5kZXJhcyAtNzoxIC0gTE1UIDE5MjEgRCAzMSAyMzo1OQotIC03IC0gTVNUIDE5MjcgSnVuIDEwIDIzCi0gLTYgLSBDU1QgMTkzMCBOIDE1Ci1AQCAtMzI1OSw4ICszMjc2LDggQEAgWiBBbWVyaWNhL0JhaGlhX0JhbmRlcmFzIC03OjEgLSBMTVQgMTkyMSBEIDMxIDIzOjU5Ci0gLTYgLSBDU1QgMTk0MiBBcCAyNAotIC03IC0gTVNUIDE5NDkgSmEgMTQKLSAtOCAtIFBTVCAxOTcwCi0tLTcgQWYgTSVzVCAyMDEwIEFwIDQgMgotLS02IEFmIEMlc1QKLSstNyBtIE0lc1QgMjAxMCBBcCA0IDIKLSstNiBtIEMlc1QKLSBaIEFtZXJpY2EvVGlqdWFuYSAtNzo0ODo0IC0gTE1UIDE5MjIgSmEgMSAwOjExOjU2Ci0gLTcgLSBNU1QgMTkyNAotIC04IC0gUFNUIDE5MjcgSnVuIDEwIDIzCi1AQCAtMzI3MywzMTUgKzMyOTAsMzE1IEBAIFogQW1lcmljYS9UaWp1YW5hIC03OjQ4OjQgLSBMTVQgMTkyMiBKYSAxIDA6MTE6NTYKLSAtOCAtIFBTVCAxOTQ4IEFwIDUKLSAtOCAxIFBEVCAxOTQ5IEphIDE0Ci0gLTggLSBQU1QgMTk1NAotLS04IEFKIFAlc1QgMTk2MQotKy04IENBIFAlc1QgMTk2MQotIC04IC0gUFNUIDE5NzYKLS0tOCBBRiBQJXNUIDE5OTYKLS0tOCBBZiBQJXNUIDIwMDEKLS0tOCBBRiBQJXNUIDIwMDIgRiAyMAotLS04IEFmIFAlc1QgMjAxMAotLS04IEFGIFAlc1QKLS1SIEFnIDE5NjQgMTk3NSAtIE8gbGFzdFN1biAyIDAgUwotLVIgQWcgMTk2NCAxOTc1IC0gQXAgbGFzdFN1biAyIDEgRAotKy04IHUgUCVzVCAxOTk2Ci0rLTggbSBQJXNUIDIwMDEKLSstOCB1IFAlc1QgMjAwMiBGIDIwCi0rLTggbSBQJXNUIDIwMTAKLSstOCB1IFAlc1QKLStSIEJTIDE5NjQgMTk3NSAtIE8gbGFzdFN1biAyIDAgUwotK1IgQlMgMTk2NCAxOTc1IC0gQXAgbGFzdFN1biAyIDEgRAotIFogQW1lcmljYS9OYXNzYXUgLTU6OTozMCAtIExNVCAxOTEyIE1hciAyCi0tLTUgQWcgRSVzVCAxOTc2Ci0tLTUgQUYgRSVzVAotLVIgQWggMTk3NyBvIC0gSnVuIDEyIDIgMSBECi0tUiBBaCAxOTc3IDE5NzggLSBPIFN1bj49MSAyIDAgUwotLVIgQWggMTk3OCAxOTgwIC0gQXAgU3VuPj0xNSAyIDEgRAotLVIgQWggMTk3OSBvIC0gUyAzMCAyIDAgUwotLVIgQWggMTk4MCBvIC0gUyAyNSAyIDAgUwotKy01IEJTIEUlc1QgMTk3NgotKy01IHUgRSVzVAotK1IgQkIgMTk3NyBvIC0gSnVuIDEyIDIgMSBECi0rUiBCQiAxOTc3IDE5NzggLSBPIFN1bj49MSAyIDAgUwotK1IgQkIgMTk3OCAxOTgwIC0gQXAgU3VuPj0xNSAyIDEgRAotK1IgQkIgMTk3OSBvIC0gUyAzMCAyIDAgUwotK1IgQkIgMTk4MCBvIC0gUyAyNSAyIDAgUwotIFogQW1lcmljYS9CYXJiYWRvcyAtMzo1ODoyOSAtIExNVCAxOTI0Ci0gLTM6NTg6MjkgLSBCTVQgMTkzMgotLS00IEFoIEElc1QKLS1SIEFpIDE5MTggMTk0MiAtIE8gU3VuPj0yIDAgMDozMCAtMDUzMAotLVIgQWkgMTkxOSAxOTQzIC0gRiBTdW4+PTkgMCAwIENTVAotLVIgQWkgMTk3MyBvIC0gRCA1IDAgMSBDRFQKLS1SIEFpIDE5NzQgbyAtIEYgOSAwIDAgQ1NUCi0tUiBBaSAxOTgyIG8gLSBEIDE4IDAgMSBDRFQKLS1SIEFpIDE5ODMgbyAtIEYgMTIgMCAwIENTVAotKy00IEJCIEElc1QKLStSIEJaIDE5MTggMTk0MiAtIE8gU3VuPj0yIDAgMDozMCAtMDUzMAotK1IgQlogMTkxOSAxOTQzIC0gRiBTdW4+PTkgMCAwIENTVAotK1IgQlogMTk3MyBvIC0gRCA1IDAgMSBDRFQKLStSIEJaIDE5NzQgbyAtIEYgOSAwIDAgQ1NUCi0rUiBCWiAxOTgyIG8gLSBEIDE4IDAgMSBDRFQKLStSIEJaIDE5ODMgbyAtIEYgMTIgMCAwIENTVAotIFogQW1lcmljYS9CZWxpemUgLTU6NTI6NDggLSBMTVQgMTkxMiBBcAotLS02IEFpICVzCi0rLTYgQlogJXMKLSBaIEF0bGFudGljL0Jlcm11ZGEgLTQ6MTk6MTggLSBMTVQgMTkzMCBKYSAxIDIKLSAtNCAtIEFTVCAxOTc0IEFwIDI4IDIKLS0tNCBBVSBBJXNUIDE5NzYKLS0tNCBBRiBBJXNUCi0tUiBBaiAxOTc5IDE5ODAgLSBGIGxhc3RTdW4gMCAxIEQKLS1SIEFqIDE5NzkgMTk4MCAtIEp1biBTdW4+PTEgMCAwIFMKLS1SIEFqIDE5OTEgMTk5MiAtIEphIFNhdD49MTUgMCAxIEQKLS1SIEFqIDE5OTEgbyAtIEp1bCAxIDAgMCBTCi0tUiBBaiAxOTkyIG8gLSBNYXIgMTUgMCAwIFMKLSstNCBDIEElc1QgMTk3NgotKy00IHUgQSVzVAotK1IgQ1IgMTk3OSAxOTgwIC0gRiBsYXN0U3VuIDAgMSBECi0rUiBDUiAxOTc5IDE5ODAgLSBKdW4gU3VuPj0xIDAgMCBTCi0rUiBDUiAxOTkxIDE5OTIgLSBKYSBTYXQ+PTE1IDAgMSBECi0rUiBDUiAxOTkxIG8gLSBKdWwgMSAwIDAgUwotK1IgQ1IgMTk5MiBvIC0gTWFyIDE1IDAgMCBTCi0gWiBBbWVyaWNhL0Nvc3RhX1JpY2EgLTU6MzY6MTMgLSBMTVQgMTg5MAotIC01OjM2OjEzIC0gU0pNVCAxOTIxIEphIDE1Ci0tLTYgQWogQyVzVAotLVIgQWsgMTkyOCBvIC0gSnVuIDEwIDAgMSBECi0tUiBBayAxOTI4IG8gLSBPIDEwIDAgMCBTCi0tUiBBayAxOTQwIDE5NDIgLSBKdW4gU3VuPj0xIDAgMSBECi0tUiBBayAxOTQwIDE5NDIgLSBTIFN1bj49MSAwIDAgUwotLVIgQWsgMTk0NSAxOTQ2IC0gSnVuIFN1bj49MSAwIDEgRAotLVIgQWsgMTk0NSAxOTQ2IC0gUyBTdW4+PTEgMCAwIFMKLS1SIEFrIDE5NjUgbyAtIEp1biAxIDAgMSBECi0tUiBBayAxOTY1IG8gLSBTIDMwIDAgMCBTCi0tUiBBayAxOTY2IG8gLSBNYXkgMjkgMCAxIEQKLS1SIEFrIDE5NjYgbyAtIE8gMiAwIDAgUwotLVIgQWsgMTk2NyBvIC0gQXAgOCAwIDEgRAotLVIgQWsgMTk2NyAxOTY4IC0gUyBTdW4+PTggMCAwIFMKLS1SIEFrIDE5NjggbyAtIEFwIDE0IDAgMSBECi0tUiBBayAxOTY5IDE5NzcgLSBBcCBsYXN0U3VuIDAgMSBECi0tUiBBayAxOTY5IDE5NzEgLSBPIGxhc3RTdW4gMCAwIFMKLS1SIEFrIDE5NzIgMTk3NCAtIE8gOCAwIDAgUwotLVIgQWsgMTk3NSAxOTc3IC0gTyBsYXN0U3VuIDAgMCBTCi0tUiBBayAxOTc4IG8gLSBNYXkgNyAwIDEgRAotLVIgQWsgMTk3OCAxOTkwIC0gTyBTdW4+PTggMCAwIFMKLS1SIEFrIDE5NzkgMTk4MCAtIE1hciBTdW4+PTE1IDAgMSBECi0tUiBBayAxOTgxIDE5ODUgLSBNYXkgU3VuPj01IDAgMSBECi0tUiBBayAxOTg2IDE5ODkgLSBNYXIgU3VuPj0xNCAwIDEgRAotLVIgQWsgMTk5MCAxOTk3IC0gQXAgU3VuPj0xIDAgMSBECi0tUiBBayAxOTkxIDE5OTUgLSBPIFN1bj49OCAwcyAwIFMKLS1SIEFrIDE5OTYgbyAtIE8gNiAwcyAwIFMKLS1SIEFrIDE5OTcgbyAtIE8gMTIgMHMgMCBTCi0tUiBBayAxOTk4IDE5OTkgLSBNYXIgbGFzdFN1biAwcyAxIEQKLS1SIEFrIDE5OTggMjAwMyAtIE8gbGFzdFN1biAwcyAwIFMKLS1SIEFrIDIwMDAgMjAwMyAtIEFwIFN1bj49MSAwcyAxIEQKLS1SIEFrIDIwMDQgbyAtIE1hciBsYXN0U3VuIDBzIDEgRAotLVIgQWsgMjAwNiAyMDEwIC0gTyBsYXN0U3VuIDBzIDAgUwotLVIgQWsgMjAwNyBvIC0gTWFyIFN1bj49OCAwcyAxIEQKLS1SIEFrIDIwMDggbyAtIE1hciBTdW4+PTE1IDBzIDEgRAotLVIgQWsgMjAwOSAyMDEwIC0gTWFyIFN1bj49OCAwcyAxIEQKLS1SIEFrIDIwMTEgbyAtIE1hciBTdW4+PTE1IDBzIDEgRAotLVIgQWsgMjAxMSBvIC0gTiAxMyAwcyAwIFMKLS1SIEFrIDIwMTIgbyAtIEFwIDEgMHMgMSBECi0tUiBBayAyMDEyIG1hIC0gTiBTdW4+PTEgMHMgMCBTCi0tUiBBayAyMDEzIG1hIC0gTWFyIFN1bj49OCAwcyAxIEQKLSstNiBDUiBDJXNUCi0rUiBRIDE5MjggbyAtIEp1biAxMCAwIDEgRAotK1IgUSAxOTI4IG8gLSBPIDEwIDAgMCBTCi0rUiBRIDE5NDAgMTk0MiAtIEp1biBTdW4+PTEgMCAxIEQKLStSIFEgMTk0MCAxOTQyIC0gUyBTdW4+PTEgMCAwIFMKLStSIFEgMTk0NSAxOTQ2IC0gSnVuIFN1bj49MSAwIDEgRAotK1IgUSAxOTQ1IDE5NDYgLSBTIFN1bj49MSAwIDAgUwotK1IgUSAxOTY1IG8gLSBKdW4gMSAwIDEgRAotK1IgUSAxOTY1IG8gLSBTIDMwIDAgMCBTCi0rUiBRIDE5NjYgbyAtIE1heSAyOSAwIDEgRAotK1IgUSAxOTY2IG8gLSBPIDIgMCAwIFMKLStSIFEgMTk2NyBvIC0gQXAgOCAwIDEgRAotK1IgUSAxOTY3IDE5NjggLSBTIFN1bj49OCAwIDAgUwotK1IgUSAxOTY4IG8gLSBBcCAxNCAwIDEgRAotK1IgUSAxOTY5IDE5NzcgLSBBcCBsYXN0U3VuIDAgMSBECi0rUiBRIDE5NjkgMTk3MSAtIE8gbGFzdFN1biAwIDAgUwotK1IgUSAxOTcyIDE5NzQgLSBPIDggMCAwIFMKLStSIFEgMTk3NSAxOTc3IC0gTyBsYXN0U3VuIDAgMCBTCi0rUiBRIDE5NzggbyAtIE1heSA3IDAgMSBECi0rUiBRIDE5NzggMTk5MCAtIE8gU3VuPj04IDAgMCBTCi0rUiBRIDE5NzkgMTk4MCAtIE1hciBTdW4+PTE1IDAgMSBECi0rUiBRIDE5ODEgMTk4NSAtIE1heSBTdW4+PTUgMCAxIEQKLStSIFEgMTk4NiAxOTg5IC0gTWFyIFN1bj49MTQgMCAxIEQKLStSIFEgMTk5MCAxOTk3IC0gQXAgU3VuPj0xIDAgMSBECi0rUiBRIDE5OTEgMTk5NSAtIE8gU3VuPj04IDBzIDAgUwotK1IgUSAxOTk2IG8gLSBPIDYgMHMgMCBTCi0rUiBRIDE5OTcgbyAtIE8gMTIgMHMgMCBTCi0rUiBRIDE5OTggMTk5OSAtIE1hciBsYXN0U3VuIDBzIDEgRAotK1IgUSAxOTk4IDIwMDMgLSBPIGxhc3RTdW4gMHMgMCBTCi0rUiBRIDIwMDAgMjAwMyAtIEFwIFN1bj49MSAwcyAxIEQKLStSIFEgMjAwNCBvIC0gTWFyIGxhc3RTdW4gMHMgMSBECi0rUiBRIDIwMDYgMjAxMCAtIE8gbGFzdFN1biAwcyAwIFMKLStSIFEgMjAwNyBvIC0gTWFyIFN1bj49OCAwcyAxIEQKLStSIFEgMjAwOCBvIC0gTWFyIFN1bj49MTUgMHMgMSBECi0rUiBRIDIwMDkgMjAxMCAtIE1hciBTdW4+PTggMHMgMSBECi0rUiBRIDIwMTEgbyAtIE1hciBTdW4+PTE1IDBzIDEgRAotK1IgUSAyMDExIG8gLSBOIDEzIDBzIDAgUwotK1IgUSAyMDEyIG8gLSBBcCAxIDBzIDEgRAotK1IgUSAyMDEyIG1hIC0gTiBTdW4+PTEgMHMgMCBTCi0rUiBRIDIwMTMgbWEgLSBNYXIgU3VuPj04IDBzIDEgRAotIFogQW1lcmljYS9IYXZhbmEgLTU6Mjk6MjggLSBMTVQgMTg5MAotIC01OjI5OjM2IC0gSE1UIDE5MjUgSnVsIDE5IDEyCi0tLTUgQWsgQyVzVAotLVIgQWwgMTk2NiBvIC0gTyAzMCAwIDEgRURUCi0tUiBBbCAxOTY3IG8gLSBGIDI4IDAgMCBFU1QKLS1SIEFsIDE5NjkgMTk3MyAtIE8gbGFzdFN1biAwIDA6MzAgLTA0MzAKLS1SIEFsIDE5NzAgbyAtIEYgMjEgMCAwIEVTVAotLVIgQWwgMTk3MSBvIC0gSmEgMjAgMCAwIEVTVAotLVIgQWwgMTk3MiAxOTc0IC0gSmEgMjEgMCAwIEVTVAotKy01IFEgQyVzVAotK1IgRE8gMTk2NiBvIC0gTyAzMCAwIDEgRURUCi0rUiBETyAxOTY3IG8gLSBGIDI4IDAgMCBFU1QKLStSIERPIDE5NjkgMTk3MyAtIE8gbGFzdFN1biAwIDA6MzAgLTA0MzAKLStSIERPIDE5NzAgbyAtIEYgMjEgMCAwIEVTVAotK1IgRE8gMTk3MSBvIC0gSmEgMjAgMCAwIEVTVAotK1IgRE8gMTk3MiAxOTc0IC0gSmEgMjEgMCAwIEVTVAotIFogQW1lcmljYS9TYW50b19Eb21pbmdvIC00OjM5OjM2IC0gTE1UIDE4OTAKLSAtNDo0MCAtIFNETVQgMTkzMyBBcCAxIDEyCi0tLTUgQWwgJXMgMTk3NCBPIDI3Ci0rLTUgRE8gJXMgMTk3NCBPIDI3Ci0gLTQgLSBBU1QgMjAwMCBPIDI5IDIKLS0tNSBBRiBFJXNUIDIwMDAgRCAzIDEKLSstNSB1IEUlc1QgMjAwMCBEIDMgMQotIC00IC0gQVNUCi0tUiBBbSAxOTg3IDE5ODggLSBNYXkgU3VuPj0xIDAgMSBECi0tUiBBbSAxOTg3IDE5ODggLSBTIGxhc3RTdW4gMCAwIFMKLStSIFNWIDE5ODcgMTk4OCAtIE1heSBTdW4+PTEgMCAxIEQKLStSIFNWIDE5ODcgMTk4OCAtIFMgbGFzdFN1biAwIDAgUwotIFogQW1lcmljYS9FbF9TYWx2YWRvciAtNTo1Njo0OCAtIExNVCAxOTIxCi0tLTYgQW0gQyVzVAotLVIgQW4gMTk3MyBvIC0gTiAyNSAwIDEgRAotLVIgQW4gMTk3NCBvIC0gRiAyNCAwIDAgUwotLVIgQW4gMTk4MyBvIC0gTWF5IDIxIDAgMSBECi0tUiBBbiAxOTgzIG8gLSBTIDIyIDAgMCBTCi0tUiBBbiAxOTkxIG8gLSBNYXIgMjMgMCAxIEQKLS1SIEFuIDE5OTEgbyAtIFMgNyAwIDAgUwotLVIgQW4gMjAwNiBvIC0gQXAgMzAgMCAxIEQKLS1SIEFuIDIwMDYgbyAtIE8gMSAwIDAgUwotKy02IFNWIEMlc1QKLStSIEdUIDE5NzMgbyAtIE4gMjUgMCAxIEQKLStSIEdUIDE5NzQgbyAtIEYgMjQgMCAwIFMKLStSIEdUIDE5ODMgbyAtIE1heSAyMSAwIDEgRAotK1IgR1QgMTk4MyBvIC0gUyAyMiAwIDAgUwotK1IgR1QgMTk5MSBvIC0gTWFyIDIzIDAgMSBECi0rUiBHVCAxOTkxIG8gLSBTIDcgMCAwIFMKLStSIEdUIDIwMDYgbyAtIEFwIDMwIDAgMSBECi0rUiBHVCAyMDA2IG8gLSBPIDEgMCAwIFMKLSBaIEFtZXJpY2EvR3VhdGVtYWxhIC02OjI6NCAtIExNVCAxOTE4IE8gNQotLS02IEFuIEMlc1QKLS1SIEFvIDE5ODMgbyAtIE1heSA4IDAgMSBECi0tUiBBbyAxOTg0IDE5ODcgLSBBcCBsYXN0U3VuIDAgMSBECi0tUiBBbyAxOTgzIDE5ODcgLSBPIGxhc3RTdW4gMCAwIFMKLS1SIEFvIDE5ODggMTk5NyAtIEFwIFN1bj49MSAxcyAxIEQKLS1SIEFvIDE5ODggMTk5NyAtIE8gbGFzdFN1biAxcyAwIFMKLS1SIEFvIDIwMDUgMjAwNiAtIEFwIFN1bj49MSAwIDEgRAotLVIgQW8gMjAwNSAyMDA2IC0gTyBsYXN0U3VuIDAgMCBTCi0tUiBBbyAyMDEyIDIwMTUgLSBNYXIgU3VuPj04IDIgMSBECi0tUiBBbyAyMDEyIDIwMTUgLSBOIFN1bj49MSAyIDAgUwotLVIgQW8gMjAxNyBtYSAtIE1hciBTdW4+PTggMiAxIEQKLS1SIEFvIDIwMTcgbWEgLSBOIFN1bj49MSAyIDAgUwotKy02IEdUIEMlc1QKLStSIEhUIDE5ODMgbyAtIE1heSA4IDAgMSBECi0rUiBIVCAxOTg0IDE5ODcgLSBBcCBsYXN0U3VuIDAgMSBECi0rUiBIVCAxOTgzIDE5ODcgLSBPIGxhc3RTdW4gMCAwIFMKLStSIEhUIDE5ODggMTk5NyAtIEFwIFN1bj49MSAxcyAxIEQKLStSIEhUIDE5ODggMTk5NyAtIE8gbGFzdFN1biAxcyAwIFMKLStSIEhUIDIwMDUgMjAwNiAtIEFwIFN1bj49MSAwIDEgRAotK1IgSFQgMjAwNSAyMDA2IC0gTyBsYXN0U3VuIDAgMCBTCi0rUiBIVCAyMDEyIDIwMTUgLSBNYXIgU3VuPj04IDIgMSBECi0rUiBIVCAyMDEyIDIwMTUgLSBOIFN1bj49MSAyIDAgUwotK1IgSFQgMjAxNyBtYSAtIE1hciBTdW4+PTggMiAxIEQKLStSIEhUIDIwMTcgbWEgLSBOIFN1bj49MSAyIDAgUwotIFogQW1lcmljYS9Qb3J0LWF1LVByaW5jZSAtNDo0OToyMCAtIExNVCAxODkwCi0gLTQ6NDkgLSBQUE1UIDE5MTcgSmEgMjQgMTIKLS0tNSBBbyBFJXNUCi0tUiBBcCAxOTg3IDE5ODggLSBNYXkgU3VuPj0xIDAgMSBECi0tUiBBcCAxOTg3IDE5ODggLSBTIGxhc3RTdW4gMCAwIFMKLS1SIEFwIDIwMDYgbyAtIE1heSBTdW4+PTEgMCAxIEQKLS1SIEFwIDIwMDYgbyAtIEF1IE0+PTEgMCAwIFMKLSstNSBIVCBFJXNUCi0rUiBITiAxOTg3IDE5ODggLSBNYXkgU3VuPj0xIDAgMSBECi0rUiBITiAxOTg3IDE5ODggLSBTIGxhc3RTdW4gMCAwIFMKLStSIEhOIDIwMDYgbyAtIE1heSBTdW4+PTEgMCAxIEQKLStSIEhOIDIwMDYgbyAtIEF1IE0+PTEgMCAwIFMKLSBaIEFtZXJpY2EvVGVndWNpZ2FscGEgLTU6NDg6NTIgLSBMTVQgMTkyMSBBcAotLS02IEFwIEMlc1QKLSstNiBITiBDJXNUCi0gWiBBbWVyaWNhL0phbWFpY2EgLTU6NzoxMCAtIExNVCAxODkwCi0gLTU6NzoxMCAtIEtNVCAxOTEyIEYKLSAtNSAtIEVTVCAxOTc0Ci0tLTUgQUYgRSVzVCAxOTg0Ci0rLTUgdSBFJXNUIDE5ODQKLSAtNSAtIEVTVAotIFogQW1lcmljYS9NYXJ0aW5pcXVlIC00OjQ6MjAgLSBMTVQgMTg5MAotIC00OjQ6MjAgLSBGRk1UIDE5MTEgTWF5Ci0gLTQgLSBBU1QgMTk4MCBBcCA2Ci0gLTQgMSBBRFQgMTk4MCBTIDI4Ci0gLTQgLSBBU1QKLS1SIEFxIDE5NzkgMTk4MCAtIE1hciBTdW4+PTE2IDAgMSBECi0tUiBBcSAxOTc5IDE5ODAgLSBKdW4gTT49MjMgMCAwIFMKLS1SIEFxIDIwMDUgbyAtIEFwIDEwIDAgMSBECi0tUiBBcSAyMDA1IG8gLSBPIFN1bj49MSAwIDAgUwotLVIgQXEgMjAwNiBvIC0gQXAgMzAgMiAxIEQKLS1SIEFxIDIwMDYgbyAtIE8gU3VuPj0xIDEgMCBTCi0rUiBOSSAxOTc5IDE5ODAgLSBNYXIgU3VuPj0xNiAwIDEgRAotK1IgTkkgMTk3OSAxOTgwIC0gSnVuIE0+PTIzIDAgMCBTCi0rUiBOSSAyMDA1IG8gLSBBcCAxMCAwIDEgRAotK1IgTkkgMjAwNSBvIC0gTyBTdW4+PTEgMCAwIFMKLStSIE5JIDIwMDYgbyAtIEFwIDMwIDIgMSBECi0rUiBOSSAyMDA2IG8gLSBPIFN1bj49MSAxIDAgUwotIFogQW1lcmljYS9NYW5hZ3VhIC01OjQ1OjggLSBMTVQgMTg5MAotIC01OjQ1OjEyIC0gTU1UIDE5MzQgSnVuIDIzCi0gLTYgLSBDU1QgMTk3MyBNYXkKLSAtNSAtIEVTVCAxOTc1IEYgMTYKLS0tNiBBcSBDJXNUIDE5OTIgSmEgMSA0Ci0rLTYgTkkgQyVzVCAxOTkyIEphIDEgNAotIC01IC0gRVNUIDE5OTIgUyAyNAotIC02IC0gQ1NUIDE5OTMKLSAtNSAtIEVTVCAxOTk3Ci0tLTYgQXEgQyVzVAotKy02IE5JIEMlc1QKLSBaIEFtZXJpY2EvUGFuYW1hIC01OjE4OjggLSBMTVQgMTg5MAotIC01OjE5OjM2IC0gQ01UIDE5MDggQXAgMjIKLSAtNSAtIEVTVAotIExpIEFtZXJpY2EvUGFuYW1hIEFtZXJpY2EvQ2F5bWFuCi0gWiBBbWVyaWNhL1B1ZXJ0b19SaWNvIC00OjI0OjI1IC0gTE1UIDE4OTkgTWFyIDI4IDEyCi0gLTQgLSBBU1QgMTk0MiBNYXkgMwotLS00IEFGIEElc1QgMTk0NgotKy00IHUgQSVzVCAxOTQ2Ci0gLTQgLSBBU1QKLSBaIEFtZXJpY2EvTWlxdWVsb24gLTM6NDQ6NDAgLSBMTVQgMTkxMSBNYXkgMTUKLSAtNCAtIEFTVCAxOTgwIE1heQotIC0zIC0gLTAzIDE5ODcKLS0tMyBBVSAtMDMvLTAyCi0rLTMgQyAtMDMvLTAyCi0gWiBBbWVyaWNhL0dyYW5kX1R1cmsgLTQ6NDQ6MzIgLSBMTVQgMTg5MAotIC01Ojc6MTAgLSBLTVQgMTkxMiBGCi0gLTUgLSBFU1QgMTk3OQotLS01IEFGIEUlc1QgMjAxNSBOIFN1bj49MSAyCi0rLTUgdSBFJXNUIDIwMTUgTiBTdW4+PTEgMgotIC00IC0gQVNUIDIwMTggTWFyIDExIDMKLS0tNSBBRiBFJXNUCi0tUiBBciAxOTMwIG8gLSBEIDEgMCAxIC0KLS1SIEFyIDE5MzEgbyAtIEFwIDEgMCAwIC0KLS1SIEFyIDE5MzEgbyAtIE8gMTUgMCAxIC0KLS1SIEFyIDE5MzIgMTk0MCAtIE1hciAxIDAgMCAtCi0tUiBBciAxOTMyIDE5MzkgLSBOIDEgMCAxIC0KLS1SIEFyIDE5NDAgbyAtIEp1bCAxIDAgMSAtCi0tUiBBciAxOTQxIG8gLSBKdW4gMTUgMCAwIC0KLS1SIEFyIDE5NDEgbyAtIE8gMTUgMCAxIC0KLS1SIEFyIDE5NDMgbyAtIEF1IDEgMCAwIC0KLS1SIEFyIDE5NDMgbyAtIE8gMTUgMCAxIC0KLS1SIEFyIDE5NDYgbyAtIE1hciAxIDAgMCAtCi0tUiBBciAxOTQ2IG8gLSBPIDEgMCAxIC0KLS1SIEFyIDE5NjMgbyAtIE8gMSAwIDAgLQotLVIgQXIgMTk2MyBvIC0gRCAxNSAwIDEgLQotLVIgQXIgMTk2NCAxOTY2IC0gTWFyIDEgMCAwIC0KLS1SIEFyIDE5NjQgMTk2NiAtIE8gMTUgMCAxIC0KLS1SIEFyIDE5NjcgbyAtIEFwIDIgMCAwIC0KLS1SIEFyIDE5NjcgMTk2OCAtIE8gU3VuPj0xIDAgMSAtCi0tUiBBciAxOTY4IDE5NjkgLSBBcCBTdW4+PTEgMCAwIC0KLS1SIEFyIDE5NzQgbyAtIEphIDIzIDAgMSAtCi0tUiBBciAxOTc0IG8gLSBNYXkgMSAwIDAgLQotLVIgQXIgMTk4OCBvIC0gRCAxIDAgMSAtCi0tUiBBciAxOTg5IDE5OTMgLSBNYXIgU3VuPj0xIDAgMCAtCi0tUiBBciAxOTg5IDE5OTIgLSBPIFN1bj49MTUgMCAxIC0KLS1SIEFyIDE5OTkgbyAtIE8gU3VuPj0xIDAgMSAtCi0tUiBBciAyMDAwIG8gLSBNYXIgMyAwIDAgLQotLVIgQXIgMjAwNyBvIC0gRCAzMCAwIDEgLQotLVIgQXIgMjAwOCAyMDA5IC0gTWFyIFN1bj49MTUgMCAwIC0KLS1SIEFyIDIwMDggbyAtIE8gU3VuPj0xNSAwIDEgLQotKy01IHUgRSVzVAotK1IgQSAxOTMwIG8gLSBEIDEgMCAxIC0KLStSIEEgMTkzMSBvIC0gQXAgMSAwIDAgLQotK1IgQSAxOTMxIG8gLSBPIDE1IDAgMSAtCi0rUiBBIDE5MzIgMTk0MCAtIE1hciAxIDAgMCAtCi0rUiBBIDE5MzIgMTkzOSAtIE4gMSAwIDEgLQotK1IgQSAxOTQwIG8gLSBKdWwgMSAwIDEgLQotK1IgQSAxOTQxIG8gLSBKdW4gMTUgMCAwIC0KLStSIEEgMTk0MSBvIC0gTyAxNSAwIDEgLQotK1IgQSAxOTQzIG8gLSBBdSAxIDAgMCAtCi0rUiBBIDE5NDMgbyAtIE8gMTUgMCAxIC0KLStSIEEgMTk0NiBvIC0gTWFyIDEgMCAwIC0KLStSIEEgMTk0NiBvIC0gTyAxIDAgMSAtCi0rUiBBIDE5NjMgbyAtIE8gMSAwIDAgLQotK1IgQSAxOTYzIG8gLSBEIDE1IDAgMSAtCi0rUiBBIDE5NjQgMTk2NiAtIE1hciAxIDAgMCAtCi0rUiBBIDE5NjQgMTk2NiAtIE8gMTUgMCAxIC0KLStSIEEgMTk2NyBvIC0gQXAgMiAwIDAgLQotK1IgQSAxOTY3IDE5NjggLSBPIFN1bj49MSAwIDEgLQotK1IgQSAxOTY4IDE5NjkgLSBBcCBTdW4+PTEgMCAwIC0KLStSIEEgMTk3NCBvIC0gSmEgMjMgMCAxIC0KLStSIEEgMTk3NCBvIC0gTWF5IDEgMCAwIC0KLStSIEEgMTk4OCBvIC0gRCAxIDAgMSAtCi0rUiBBIDE5ODkgMTk5MyAtIE1hciBTdW4+PTEgMCAwIC0KLStSIEEgMTk4OSAxOTkyIC0gTyBTdW4+PTE1IDAgMSAtCi0rUiBBIDE5OTkgbyAtIE8gU3VuPj0xIDAgMSAtCi0rUiBBIDIwMDAgbyAtIE1hciAzIDAgMCAtCi0rUiBBIDIwMDcgbyAtIEQgMzAgMCAxIC0KLStSIEEgMjAwOCAyMDA5IC0gTWFyIFN1bj49MTUgMCAwIC0KLStSIEEgMjAwOCBvIC0gTyBTdW4+PTE1IDAgMSAtCi0gWiBBbWVyaWNhL0FyZ2VudGluYS9CdWVub3NfQWlyZXMgLTM6NTM6NDggLSBMTVQgMTg5NCBPIDMxCi0gLTQ6MTY6NDggLSBDTVQgMTkyMCBNYXkKLSAtNCAtIC0wNCAxOTMwIEQKLS0tNCBBciAtMDQvLTAzIDE5NjkgTyA1Ci0tLTMgQXIgLTAzLy0wMiAxOTk5IE8gMwotLS00IEFyIC0wNC8tMDMgMjAwMCBNYXIgMwotLS0zIEFyIC0wMy8tMDIKLSstNCBBIC0wNC8tMDMgMTk2OSBPIDUKLSstMyBBIC0wMy8tMDIgMTk5OSBPIDMKLSstNCBBIC0wNC8tMDMgMjAwMCBNYXIgMwotKy0zIEEgLTAzLy0wMgotIFogQW1lcmljYS9BcmdlbnRpbmEvQ29yZG9iYSAtNDoxNjo0OCAtIExNVCAxODk0IE8gMzEKLSAtNDoxNjo0OCAtIENNVCAxOTIwIE1heQotIC00IC0gLTA0IDE5MzAgRAotLS00IEFyIC0wNC8tMDMgMTk2OSBPIDUKLS0tMyBBciAtMDMvLTAyIDE5OTEgTWFyIDMKLSstNCBBIC0wNC8tMDMgMTk2OSBPIDUKLSstMyBBIC0wMy8tMDIgMTk5MSBNYXIgMwotIC00IC0gLTA0IDE5OTEgTyAyMAotLS0zIEFyIC0wMy8tMDIgMTk5OSBPIDMKLS0tNCBBciAtMDQvLTAzIDIwMDAgTWFyIDMKLS0tMyBBciAtMDMvLTAyCi0rLTMgQSAtMDMvLTAyIDE5OTkgTyAzCi0rLTQgQSAtMDQvLTAzIDIwMDAgTWFyIDMKLSstMyBBIC0wMy8tMDIKLSBaIEFtZXJpY2EvQXJnZW50aW5hL1NhbHRhIC00OjIxOjQwIC0gTE1UIDE4OTQgTyAzMQotIC00OjE2OjQ4IC0gQ01UIDE5MjAgTWF5Ci0gLTQgLSAtMDQgMTkzMCBECi0tLTQgQXIgLTA0Ly0wMyAxOTY5IE8gNQotLS0zIEFyIC0wMy8tMDIgMTk5MSBNYXIgMwotKy00IEEgLTA0Ly0wMyAxOTY5IE8gNQotKy0zIEEgLTAzLy0wMiAxOTkxIE1hciAzCi0gLTQgLSAtMDQgMTk5MSBPIDIwCi0tLTMgQXIgLTAzLy0wMiAxOTk5IE8gMwotLS00IEFyIC0wNC8tMDMgMjAwMCBNYXIgMwotLS0zIEFyIC0wMy8tMDIgMjAwOCBPIDE4Ci0rLTMgQSAtMDMvLTAyIDE5OTkgTyAzCi0rLTQgQSAtMDQvLTAzIDIwMDAgTWFyIDMKLSstMyBBIC0wMy8tMDIgMjAwOCBPIDE4Ci0gLTMgLSAtMDMKLSBaIEFtZXJpY2EvQXJnZW50aW5hL1R1Y3VtYW4gLTQ6MjA6NTIgLSBMTVQgMTg5NCBPIDMxCi0gLTQ6MTY6NDggLSBDTVQgMTkyMCBNYXkKLSAtNCAtIC0wNCAxOTMwIEQKLS0tNCBBciAtMDQvLTAzIDE5NjkgTyA1Ci0tLTMgQXIgLTAzLy0wMiAxOTkxIE1hciAzCi0rLTQgQSAtMDQvLTAzIDE5NjkgTyA1Ci0rLTMgQSAtMDMvLTAyIDE5OTEgTWFyIDMKLSAtNCAtIC0wNCAxOTkxIE8gMjAKLS0tMyBBciAtMDMvLTAyIDE5OTkgTyAzCi0tLTQgQXIgLTA0Ly0wMyAyMDAwIE1hciAzCi0rLTMgQSAtMDMvLTAyIDE5OTkgTyAzCi0rLTQgQSAtMDQvLTAzIDIwMDAgTWFyIDMKLSAtMyAtIC0wMyAyMDA0IEp1bgotIC00IC0gLTA0IDIwMDQgSnVuIDEzCi0tLTMgQXIgLTAzLy0wMgotKy0zIEEgLTAzLy0wMgotIFogQW1lcmljYS9BcmdlbnRpbmEvTGFfUmlvamEgLTQ6Mjc6MjQgLSBMTVQgMTg5NCBPIDMxCi0gLTQ6MTY6NDggLSBDTVQgMTkyMCBNYXkKLSAtNCAtIC0wNCAxOTMwIEQKLS0tNCBBciAtMDQvLTAzIDE5NjkgTyA1Ci0tLTMgQXIgLTAzLy0wMiAxOTkxIE1hcgotKy00IEEgLTA0Ly0wMyAxOTY5IE8gNQotKy0zIEEgLTAzLy0wMiAxOTkxIE1hcgotIC00IC0gLTA0IDE5OTEgTWF5IDcKLS0tMyBBciAtMDMvLTAyIDE5OTkgTyAzCi0tLTQgQXIgLTA0Ly0wMyAyMDAwIE1hciAzCi0rLTMgQSAtMDMvLTAyIDE5OTkgTyAzCi0rLTQgQSAtMDQvLTAzIDIwMDAgTWFyIDMKLSAtMyAtIC0wMyAyMDA0IEp1bgotIC00IC0gLTA0IDIwMDQgSnVuIDIwCi0tLTMgQXIgLTAzLy0wMiAyMDA4IE8gMTgKLSstMyBBIC0wMy8tMDIgMjAwOCBPIDE4Ci0gLTMgLSAtMDMKLSBaIEFtZXJpY2EvQXJnZW50aW5hL1Nhbl9KdWFuIC00OjM0OjQgLSBMTVQgMTg5NCBPIDMxCi0gLTQ6MTY6NDggLSBDTVQgMTkyMCBNYXkKLSAtNCAtIC0wNCAxOTMwIEQKLS0tNCBBciAtMDQvLTAzIDE5NjkgTyA1Ci0tLTMgQXIgLTAzLy0wMiAxOTkxIE1hcgotKy00IEEgLTA0Ly0wMyAxOTY5IE8gNQotKy0zIEEgLTAzLy0wMiAxOTkxIE1hcgotIC00IC0gLTA0IDE5OTEgTWF5IDcKLS0tMyBBciAtMDMvLTAyIDE5OTkgTyAzCi0tLTQgQXIgLTA0Ly0wMyAyMDAwIE1hciAzCi0rLTMgQSAtMDMvLTAyIDE5OTkgTyAzCi0rLTQgQSAtMDQvLTAzIDIwMDAgTWFyIDMKLSAtMyAtIC0wMyAyMDA0IE1heSAzMQotIC00IC0gLTA0IDIwMDQgSnVsIDI1Ci0tLTMgQXIgLTAzLy0wMiAyMDA4IE8gMTgKLSstMyBBIC0wMy8tMDIgMjAwOCBPIDE4Ci0gLTMgLSAtMDMKLSBaIEFtZXJpY2EvQXJnZW50aW5hL0p1anV5IC00OjIxOjEyIC0gTE1UIDE4OTQgTyAzMQotIC00OjE2OjQ4IC0gQ01UIDE5MjAgTWF5Ci0gLTQgLSAtMDQgMTkzMCBECi0tLTQgQXIgLTA0Ly0wMyAxOTY5IE8gNQotLS0zIEFyIC0wMy8tMDIgMTk5MCBNYXIgNAotKy00IEEgLTA0Ly0wMyAxOTY5IE8gNQotKy0zIEEgLTAzLy0wMiAxOTkwIE1hciA0Ci0gLTQgLSAtMDQgMTk5MCBPIDI4Ci0gLTQgMSAtMDMgMTk5MSBNYXIgMTcKLSAtNCAtIC0wNCAxOTkxIE8gNgotIC0zIDEgLTAyIDE5OTIKLS0tMyBBciAtMDMvLTAyIDE5OTkgTyAzCi0tLTQgQXIgLTA0Ly0wMyAyMDAwIE1hciAzCi0tLTMgQXIgLTAzLy0wMiAyMDA4IE8gMTgKLSstMyBBIC0wMy8tMDIgMTk5OSBPIDMKLSstNCBBIC0wNC8tMDMgMjAwMCBNYXIgMwotKy0zIEEgLTAzLy0wMiAyMDA4IE8gMTgKLSAtMyAtIC0wMwotIFogQW1lcmljYS9BcmdlbnRpbmEvQ2F0YW1hcmNhIC00OjIzOjggLSBMTVQgMTg5NCBPIDMxCi0gLTQ6MTY6NDggLSBDTVQgMTkyMCBNYXkKLSAtNCAtIC0wNCAxOTMwIEQKLS0tNCBBciAtMDQvLTAzIDE5NjkgTyA1Ci0tLTMgQXIgLTAzLy0wMiAxOTkxIE1hciAzCi0rLTQgQSAtMDQvLTAzIDE5NjkgTyA1Ci0rLTMgQSAtMDMvLTAyIDE5OTEgTWFyIDMKLSAtNCAtIC0wNCAxOTkxIE8gMjAKLS0tMyBBciAtMDMvLTAyIDE5OTkgTyAzCi0tLTQgQXIgLTA0Ly0wMyAyMDAwIE1hciAzCi0rLTMgQSAtMDMvLTAyIDE5OTkgTyAzCi0rLTQgQSAtMDQvLTAzIDIwMDAgTWFyIDMKLSAtMyAtIC0wMyAyMDA0IEp1bgotIC00IC0gLTA0IDIwMDQgSnVuIDIwCi0tLTMgQXIgLTAzLy0wMiAyMDA4IE8gMTgKLSstMyBBIC0wMy8tMDIgMjAwOCBPIDE4Ci0gLTMgLSAtMDMKLSBaIEFtZXJpY2EvQXJnZW50aW5hL01lbmRvemEgLTQ6MzU6MTYgLSBMTVQgMTg5NCBPIDMxCi0gLTQ6MTY6NDggLSBDTVQgMTkyMCBNYXkKLSAtNCAtIC0wNCAxOTMwIEQKLS0tNCBBciAtMDQvLTAzIDE5NjkgTyA1Ci0tLTMgQXIgLTAzLy0wMiAxOTkwIE1hciA0Ci0rLTQgQSAtMDQvLTAzIDE5NjkgTyA1Ci0rLTMgQSAtMDMvLTAyIDE5OTAgTWFyIDQKLSAtNCAtIC0wNCAxOTkwIE8gMTUKLSAtNCAxIC0wMyAxOTkxIE1hcgotIC00IC0gLTA0IDE5OTEgTyAxNQotIC00IDEgLTAzIDE5OTIgTWFyCi0gLTQgLSAtMDQgMTk5MiBPIDE4Ci0tLTMgQXIgLTAzLy0wMiAxOTk5IE8gMwotLS00IEFyIC0wNC8tMDMgMjAwMCBNYXIgMwotKy0zIEEgLTAzLy0wMiAxOTk5IE8gMwotKy00IEEgLTA0Ly0wMyAyMDAwIE1hciAzCi0gLTMgLSAtMDMgMjAwNCBNYXkgMjMKLSAtNCAtIC0wNCAyMDA0IFMgMjYKLS0tMyBBciAtMDMvLTAyIDIwMDggTyAxOAotKy0zIEEgLTAzLy0wMiAyMDA4IE8gMTgKLSAtMyAtIC0wMwotLVIgQXMgMjAwOCAyMDA5IC0gTWFyIFN1bj49OCAwIDAgLQotLVIgQXMgMjAwNyAyMDA4IC0gTyBTdW4+PTggMCAxIC0KLStSIFNhIDIwMDggMjAwOSAtIE1hciBTdW4+PTggMCAwIC0KLStSIFNhIDIwMDcgMjAwOCAtIE8gU3VuPj04IDAgMSAtCi0gWiBBbWVyaWNhL0FyZ2VudGluYS9TYW5fTHVpcyAtNDoyNToyNCAtIExNVCAxODk0IE8gMzEKLSAtNDoxNjo0OCAtIENNVCAxOTIwIE1heQotIC00IC0gLTA0IDE5MzAgRAotLS00IEFyIC0wNC8tMDMgMTk2OSBPIDUKLS0tMyBBciAtMDMvLTAyIDE5OTAKLSstNCBBIC0wNC8tMDMgMTk2OSBPIDUKLSstMyBBIC0wMy8tMDIgMTk5MAotIC0zIDEgLTAyIDE5OTAgTWFyIDE0Ci0gLTQgLSAtMDQgMTk5MCBPIDE1Ci0gLTQgMSAtMDMgMTk5MSBNYXIKLUBAIC0zNTkwLDI4NiArMzYwNywyODggQEAgWiBBbWVyaWNhL0FyZ2VudGluYS9TYW5fTHVpcyAtNDoyNToyNCAtIExNVCAxODk0IE8gMzEKLSAtNCAxIC0wMyAyMDAwIE1hciAzCi0gLTMgLSAtMDMgMjAwNCBNYXkgMzEKLSAtNCAtIC0wNCAyMDA0IEp1bCAyNQotLS0zIEFyIC0wMy8tMDIgMjAwOCBKYSAyMQotLS00IEFzIC0wNC8tMDMgMjAwOSBPIDExCi0rLTMgQSAtMDMvLTAyIDIwMDggSmEgMjEKLSstNCBTYSAtMDQvLTAzIDIwMDkgTyAxMQotIC0zIC0gLTAzCi0gWiBBbWVyaWNhL0FyZ2VudGluYS9SaW9fR2FsbGVnb3MgLTQ6MzY6NTIgLSBMTVQgMTg5NCBPIDMxCi0gLTQ6MTY6NDggLSBDTVQgMTkyMCBNYXkKLSAtNCAtIC0wNCAxOTMwIEQKLS0tNCBBciAtMDQvLTAzIDE5NjkgTyA1Ci0tLTMgQXIgLTAzLy0wMiAxOTk5IE8gMwotLS00IEFyIC0wNC8tMDMgMjAwMCBNYXIgMwotKy00IEEgLTA0Ly0wMyAxOTY5IE8gNQotKy0zIEEgLTAzLy0wMiAxOTk5IE8gMwotKy00IEEgLTA0Ly0wMyAyMDAwIE1hciAzCi0gLTMgLSAtMDMgMjAwNCBKdW4KLSAtNCAtIC0wNCAyMDA0IEp1biAyMAotLS0zIEFyIC0wMy8tMDIgMjAwOCBPIDE4Ci0rLTMgQSAtMDMvLTAyIDIwMDggTyAxOAotIC0zIC0gLTAzCi0gWiBBbWVyaWNhL0FyZ2VudGluYS9Vc2h1YWlhIC00OjMzOjEyIC0gTE1UIDE4OTQgTyAzMQotIC00OjE2OjQ4IC0gQ01UIDE5MjAgTWF5Ci0gLTQgLSAtMDQgMTkzMCBECi0tLTQgQXIgLTA0Ly0wMyAxOTY5IE8gNQotLS0zIEFyIC0wMy8tMDIgMTk5OSBPIDMKLS0tNCBBciAtMDQvLTAzIDIwMDAgTWFyIDMKLSstNCBBIC0wNC8tMDMgMTk2OSBPIDUKLSstMyBBIC0wMy8tMDIgMTk5OSBPIDMKLSstNCBBIC0wNC8tMDMgMjAwMCBNYXIgMwotIC0zIC0gLTAzIDIwMDQgTWF5IDMwCi0gLTQgLSAtMDQgMjAwNCBKdW4gMjAKLS0tMyBBciAtMDMvLTAyIDIwMDggTyAxOAotKy0zIEEgLTAzLy0wMiAyMDA4IE8gMTgKLSAtMyAtIC0wMwotIExpIEFtZXJpY2EvQ3VyYWNhbyBBbWVyaWNhL0FydWJhCi0gWiBBbWVyaWNhL0xhX1BheiAtNDozMjozNiAtIExNVCAxODkwCi0gLTQ6MzI6MzYgLSBDTVQgMTkzMSBPIDE1Ci0gLTQ6MzI6MzYgMSBCU1QgMTkzMiBNYXIgMjEKLSAtNCAtIC0wNAotLVIgQXQgMTkzMSBvIC0gTyAzIDExIDEgLQotLVIgQXQgMTkzMiAxOTMzIC0gQXAgMSAwIDAgLQotLVIgQXQgMTkzMiBvIC0gTyAzIDAgMSAtCi0tUiBBdCAxOTQ5IDE5NTIgLSBEIDEgMCAxIC0KLS1SIEF0IDE5NTAgbyAtIEFwIDE2IDEgMCAtCi0tUiBBdCAxOTUxIDE5NTIgLSBBcCAxIDAgMCAtCi0tUiBBdCAxOTUzIG8gLSBNYXIgMSAwIDAgLQotLVIgQXQgMTk2MyBvIC0gRCA5IDAgMSAtCi0tUiBBdCAxOTY0IG8gLSBNYXIgMSAwIDAgLQotLVIgQXQgMTk2NSBvIC0gSmEgMzEgMCAxIC0KLS1SIEF0IDE5NjUgbyAtIE1hciAzMSAwIDAgLQotLVIgQXQgMTk2NSBvIC0gRCAxIDAgMSAtCi0tUiBBdCAxOTY2IDE5NjggLSBNYXIgMSAwIDAgLQotLVIgQXQgMTk2NiAxOTY3IC0gTiAxIDAgMSAtCi0tUiBBdCAxOTg1IG8gLSBOIDIgMCAxIC0KLS1SIEF0IDE5ODYgbyAtIE1hciAxNSAwIDAgLQotLVIgQXQgMTk4NiBvIC0gTyAyNSAwIDEgLQotLVIgQXQgMTk4NyBvIC0gRiAxNCAwIDAgLQotLVIgQXQgMTk4NyBvIC0gTyAyNSAwIDEgLQotLVIgQXQgMTk4OCBvIC0gRiA3IDAgMCAtCi0tUiBBdCAxOTg4IG8gLSBPIDE2IDAgMSAtCi0tUiBBdCAxOTg5IG8gLSBKYSAyOSAwIDAgLQotLVIgQXQgMTk4OSBvIC0gTyAxNSAwIDEgLQotLVIgQXQgMTk5MCBvIC0gRiAxMSAwIDAgLQotLVIgQXQgMTk5MCBvIC0gTyAyMSAwIDEgLQotLVIgQXQgMTk5MSBvIC0gRiAxNyAwIDAgLQotLVIgQXQgMTk5MSBvIC0gTyAyMCAwIDEgLQotLVIgQXQgMTk5MiBvIC0gRiA5IDAgMCAtCi0tUiBBdCAxOTkyIG8gLSBPIDI1IDAgMSAtCi0tUiBBdCAxOTkzIG8gLSBKYSAzMSAwIDAgLQotLVIgQXQgMTk5MyAxOTk1IC0gTyBTdW4+PTExIDAgMSAtCi0tUiBBdCAxOTk0IDE5OTUgLSBGIFN1bj49MTUgMCAwIC0KLS1SIEF0IDE5OTYgbyAtIEYgMTEgMCAwIC0KLS1SIEF0IDE5OTYgbyAtIE8gNiAwIDEgLQotLVIgQXQgMTk5NyBvIC0gRiAxNiAwIDAgLQotLVIgQXQgMTk5NyBvIC0gTyA2IDAgMSAtCi0tUiBBdCAxOTk4IG8gLSBNYXIgMSAwIDAgLQotLVIgQXQgMTk5OCBvIC0gTyAxMSAwIDEgLQotLVIgQXQgMTk5OSBvIC0gRiAyMSAwIDAgLQotLVIgQXQgMTk5OSBvIC0gTyAzIDAgMSAtCi0tUiBBdCAyMDAwIG8gLSBGIDI3IDAgMCAtCi0tUiBBdCAyMDAwIDIwMDEgLSBPIFN1bj49OCAwIDEgLQotLVIgQXQgMjAwMSAyMDA2IC0gRiBTdW4+PTE1IDAgMCAtCi0tUiBBdCAyMDAyIG8gLSBOIDMgMCAxIC0KLS1SIEF0IDIwMDMgbyAtIE8gMTkgMCAxIC0KLS1SIEF0IDIwMDQgbyAtIE4gMiAwIDEgLQotLVIgQXQgMjAwNSBvIC0gTyAxNiAwIDEgLQotLVIgQXQgMjAwNiBvIC0gTiA1IDAgMSAtCi0tUiBBdCAyMDA3IG8gLSBGIDI1IDAgMCAtCi0tUiBBdCAyMDA3IG8gLSBPIFN1bj49OCAwIDEgLQotLVIgQXQgMjAwOCAyMDE3IC0gTyBTdW4+PTE1IDAgMSAtCi0tUiBBdCAyMDA4IDIwMTEgLSBGIFN1bj49MTUgMCAwIC0KLS1SIEF0IDIwMTIgbyAtIEYgU3VuPj0yMiAwIDAgLQotLVIgQXQgMjAxMyAyMDE0IC0gRiBTdW4+PTE1IDAgMCAtCi0tUiBBdCAyMDE1IG8gLSBGIFN1bj49MjIgMCAwIC0KLS1SIEF0IDIwMTYgMjAyMiAtIEYgU3VuPj0xNSAwIDAgLQotLVIgQXQgMjAxOCBtYSAtIE4gU3VuPj0xIDAgMSAtCi0tUiBBdCAyMDIzIG8gLSBGIFN1bj49MjIgMCAwIC0KLS1SIEF0IDIwMjQgMjAyNSAtIEYgU3VuPj0xNSAwIDAgLQotLVIgQXQgMjAyNiBvIC0gRiBTdW4+PTIyIDAgMCAtCi0tUiBBdCAyMDI3IDIwMzMgLSBGIFN1bj49MTUgMCAwIC0KLS1SIEF0IDIwMzQgbyAtIEYgU3VuPj0yMiAwIDAgLQotLVIgQXQgMjAzNSAyMDM2IC0gRiBTdW4+PTE1IDAgMCAtCi0tUiBBdCAyMDM3IG8gLSBGIFN1bj49MjIgMCAwIC0KLS1SIEF0IDIwMzggbWEgLSBGIFN1bj49MTUgMCAwIC0KLStSIEIgMTkzMSBvIC0gTyAzIDExIDEgLQotK1IgQiAxOTMyIDE5MzMgLSBBcCAxIDAgMCAtCi0rUiBCIDE5MzIgbyAtIE8gMyAwIDEgLQotK1IgQiAxOTQ5IDE5NTIgLSBEIDEgMCAxIC0KLStSIEIgMTk1MCBvIC0gQXAgMTYgMSAwIC0KLStSIEIgMTk1MSAxOTUyIC0gQXAgMSAwIDAgLQotK1IgQiAxOTUzIG8gLSBNYXIgMSAwIDAgLQotK1IgQiAxOTYzIG8gLSBEIDkgMCAxIC0KLStSIEIgMTk2NCBvIC0gTWFyIDEgMCAwIC0KLStSIEIgMTk2NSBvIC0gSmEgMzEgMCAxIC0KLStSIEIgMTk2NSBvIC0gTWFyIDMxIDAgMCAtCi0rUiBCIDE5NjUgbyAtIEQgMSAwIDEgLQotK1IgQiAxOTY2IDE5NjggLSBNYXIgMSAwIDAgLQotK1IgQiAxOTY2IDE5NjcgLSBOIDEgMCAxIC0KLStSIEIgMTk4NSBvIC0gTiAyIDAgMSAtCi0rUiBCIDE5ODYgbyAtIE1hciAxNSAwIDAgLQotK1IgQiAxOTg2IG8gLSBPIDI1IDAgMSAtCi0rUiBCIDE5ODcgbyAtIEYgMTQgMCAwIC0KLStSIEIgMTk4NyBvIC0gTyAyNSAwIDEgLQotK1IgQiAxOTg4IG8gLSBGIDcgMCAwIC0KLStSIEIgMTk4OCBvIC0gTyAxNiAwIDEgLQotK1IgQiAxOTg5IG8gLSBKYSAyOSAwIDAgLQotK1IgQiAxOTg5IG8gLSBPIDE1IDAgMSAtCi0rUiBCIDE5OTAgbyAtIEYgMTEgMCAwIC0KLStSIEIgMTk5MCBvIC0gTyAyMSAwIDEgLQotK1IgQiAxOTkxIG8gLSBGIDE3IDAgMCAtCi0rUiBCIDE5OTEgbyAtIE8gMjAgMCAxIC0KLStSIEIgMTk5MiBvIC0gRiA5IDAgMCAtCi0rUiBCIDE5OTIgbyAtIE8gMjUgMCAxIC0KLStSIEIgMTk5MyBvIC0gSmEgMzEgMCAwIC0KLStSIEIgMTk5MyAxOTk1IC0gTyBTdW4+PTExIDAgMSAtCi0rUiBCIDE5OTQgMTk5NSAtIEYgU3VuPj0xNSAwIDAgLQotK1IgQiAxOTk2IG8gLSBGIDExIDAgMCAtCi0rUiBCIDE5OTYgbyAtIE8gNiAwIDEgLQotK1IgQiAxOTk3IG8gLSBGIDE2IDAgMCAtCi0rUiBCIDE5OTcgbyAtIE8gNiAwIDEgLQotK1IgQiAxOTk4IG8gLSBNYXIgMSAwIDAgLQotK1IgQiAxOTk4IG8gLSBPIDExIDAgMSAtCi0rUiBCIDE5OTkgbyAtIEYgMjEgMCAwIC0KLStSIEIgMTk5OSBvIC0gTyAzIDAgMSAtCi0rUiBCIDIwMDAgbyAtIEYgMjcgMCAwIC0KLStSIEIgMjAwMCAyMDAxIC0gTyBTdW4+PTggMCAxIC0KLStSIEIgMjAwMSAyMDA2IC0gRiBTdW4+PTE1IDAgMCAtCi0rUiBCIDIwMDIgbyAtIE4gMyAwIDEgLQotK1IgQiAyMDAzIG8gLSBPIDE5IDAgMSAtCi0rUiBCIDIwMDQgbyAtIE4gMiAwIDEgLQotK1IgQiAyMDA1IG8gLSBPIDE2IDAgMSAtCi0rUiBCIDIwMDYgbyAtIE4gNSAwIDEgLQotK1IgQiAyMDA3IG8gLSBGIDI1IDAgMCAtCi0rUiBCIDIwMDcgbyAtIE8gU3VuPj04IDAgMSAtCi0rUiBCIDIwMDggMjAxNyAtIE8gU3VuPj0xNSAwIDEgLQotK1IgQiAyMDA4IDIwMTEgLSBGIFN1bj49MTUgMCAwIC0KLStSIEIgMjAxMiBvIC0gRiBTdW4+PTIyIDAgMCAtCi0rUiBCIDIwMTMgMjAxNCAtIEYgU3VuPj0xNSAwIDAgLQotK1IgQiAyMDE1IG8gLSBGIFN1bj49MjIgMCAwIC0KLStSIEIgMjAxNiAyMDIyIC0gRiBTdW4+PTE1IDAgMCAtCi0rUiBCIDIwMTggbWEgLSBOIFN1bj49MSAwIDEgLQotK1IgQiAyMDIzIG8gLSBGIFN1bj49MjIgMCAwIC0KLStSIEIgMjAyNCAyMDI1IC0gRiBTdW4+PTE1IDAgMCAtCi0rUiBCIDIwMjYgbyAtIEYgU3VuPj0yMiAwIDAgLQotK1IgQiAyMDI3IDIwMzMgLSBGIFN1bj49MTUgMCAwIC0KLStSIEIgMjAzNCBvIC0gRiBTdW4+PTIyIDAgMCAtCi0rUiBCIDIwMzUgMjAzNiAtIEYgU3VuPj0xNSAwIDAgLQotK1IgQiAyMDM3IG8gLSBGIFN1bj49MjIgMCAwIC0KLStSIEIgMjAzOCBtYSAtIEYgU3VuPj0xNSAwIDAgLQotIFogQW1lcmljYS9Ob3JvbmhhIC0yOjk6NDAgLSBMTVQgMTkxNAotLS0yIEF0IC0wMi8tMDEgMTk5MCBTIDE3Ci0rLTIgQiAtMDIvLTAxIDE5OTAgUyAxNwotIC0yIC0gLTAyIDE5OTkgUyAzMAotLS0yIEF0IC0wMi8tMDEgMjAwMCBPIDE1Ci0rLTIgQiAtMDIvLTAxIDIwMDAgTyAxNQotIC0yIC0gLTAyIDIwMDEgUyAxMwotLS0yIEF0IC0wMi8tMDEgMjAwMiBPCi0rLTIgQiAtMDIvLTAxIDIwMDIgTwotIC0yIC0gLTAyCi0gWiBBbWVyaWNhL0JlbGVtIC0zOjEzOjU2IC0gTE1UIDE5MTQKLS0tMyBBdCAtMDMvLTAyIDE5ODggUyAxMgotKy0zIEIgLTAzLy0wMiAxOTg4IFMgMTIKLSAtMyAtIC0wMwotIFogQW1lcmljYS9TYW50YXJlbSAtMzozODo0OCAtIExNVCAxOTE0Ci0tLTQgQXQgLTA0Ly0wMyAxOTg4IFMgMTIKLSstNCBCIC0wNC8tMDMgMTk4OCBTIDEyCi0gLTQgLSAtMDQgMjAwOCBKdW4gMjQKLSAtMyAtIC0wMwotIFogQW1lcmljYS9Gb3J0YWxlemEgLTI6MzQgLSBMTVQgMTkxNAotLS0zIEF0IC0wMy8tMDIgMTk5MCBTIDE3Ci0rLTMgQiAtMDMvLTAyIDE5OTAgUyAxNwotIC0zIC0gLTAzIDE5OTkgUyAzMAotLS0zIEF0IC0wMy8tMDIgMjAwMCBPIDIyCi0rLTMgQiAtMDMvLTAyIDIwMDAgTyAyMgotIC0zIC0gLTAzIDIwMDEgUyAxMwotLS0zIEF0IC0wMy8tMDIgMjAwMiBPCi0rLTMgQiAtMDMvLTAyIDIwMDIgTwotIC0zIC0gLTAzCi0gWiBBbWVyaWNhL1JlY2lmZSAtMjoxOTozNiAtIExNVCAxOTE0Ci0tLTMgQXQgLTAzLy0wMiAxOTkwIFMgMTcKLSstMyBCIC0wMy8tMDIgMTk5MCBTIDE3Ci0gLTMgLSAtMDMgMTk5OSBTIDMwCi0tLTMgQXQgLTAzLy0wMiAyMDAwIE8gMTUKLSstMyBCIC0wMy8tMDIgMjAwMCBPIDE1Ci0gLTMgLSAtMDMgMjAwMSBTIDEzCi0tLTMgQXQgLTAzLy0wMiAyMDAyIE8KLSstMyBCIC0wMy8tMDIgMjAwMiBPCi0gLTMgLSAtMDMKLSBaIEFtZXJpY2EvQXJhZ3VhaW5hIC0zOjEyOjQ4IC0gTE1UIDE5MTQKLS0tMyBBdCAtMDMvLTAyIDE5OTAgUyAxNwotKy0zIEIgLTAzLy0wMiAxOTkwIFMgMTcKLSAtMyAtIC0wMyAxOTk1IFMgMTQKLS0tMyBBdCAtMDMvLTAyIDIwMDMgUyAyNAotKy0zIEIgLTAzLy0wMiAyMDAzIFMgMjQKLSAtMyAtIC0wMyAyMDEyIE8gMjEKLS0tMyBBdCAtMDMvLTAyIDIwMTMgUwotKy0zIEIgLTAzLy0wMiAyMDEzIFMKLSAtMyAtIC0wMwotIFogQW1lcmljYS9NYWNlaW8gLTI6MjI6NTIgLSBMTVQgMTkxNAotLS0zIEF0IC0wMy8tMDIgMTk5MCBTIDE3Ci0rLTMgQiAtMDMvLTAyIDE5OTAgUyAxNwotIC0zIC0gLTAzIDE5OTUgTyAxMwotLS0zIEF0IC0wMy8tMDIgMTk5NiBTIDQKLSstMyBCIC0wMy8tMDIgMTk5NiBTIDQKLSAtMyAtIC0wMyAxOTk5IFMgMzAKLS0tMyBBdCAtMDMvLTAyIDIwMDAgTyAyMgotKy0zIEIgLTAzLy0wMiAyMDAwIE8gMjIKLSAtMyAtIC0wMyAyMDAxIFMgMTMKLS0tMyBBdCAtMDMvLTAyIDIwMDIgTwotKy0zIEIgLTAzLy0wMiAyMDAyIE8KLSAtMyAtIC0wMwotIFogQW1lcmljYS9CYWhpYSAtMjozNDo0IC0gTE1UIDE5MTQKLS0tMyBBdCAtMDMvLTAyIDIwMDMgUyAyNAotKy0zIEIgLTAzLy0wMiAyMDAzIFMgMjQKLSAtMyAtIC0wMyAyMDExIE8gMTYKLS0tMyBBdCAtMDMvLTAyIDIwMTIgTyAyMQotKy0zIEIgLTAzLy0wMiAyMDEyIE8gMjEKLSAtMyAtIC0wMwotIFogQW1lcmljYS9TYW9fUGF1bG8gLTM6NjoyOCAtIExNVCAxOTE0Ci0tLTMgQXQgLTAzLy0wMiAxOTYzIE8gMjMKLSstMyBCIC0wMy8tMDIgMTk2MyBPIDIzCi0gLTMgMSAtMDIgMTk2NAotLS0zIEF0IC0wMy8tMDIKLSstMyBCIC0wMy8tMDIKLSBaIEFtZXJpY2EvQ2FtcG9fR3JhbmRlIC0zOjM4OjI4IC0gTE1UIDE5MTQKLS0tNCBBdCAtMDQvLTAzCi0rLTQgQiAtMDQvLTAzCi0gWiBBbWVyaWNhL0N1aWFiYSAtMzo0NDoyMCAtIExNVCAxOTE0Ci0tLTQgQXQgLTA0Ly0wMyAyMDAzIFMgMjQKLSstNCBCIC0wNC8tMDMgMjAwMyBTIDI0Ci0gLTQgLSAtMDQgMjAwNCBPCi0tLTQgQXQgLTA0Ly0wMwotKy00IEIgLTA0Ly0wMwotIFogQW1lcmljYS9Qb3J0b19WZWxobyAtNDoxNTozNiAtIExNVCAxOTE0Ci0tLTQgQXQgLTA0Ly0wMyAxOTg4IFMgMTIKLSstNCBCIC0wNC8tMDMgMTk4OCBTIDEyCi0gLTQgLSAtMDQKLSBaIEFtZXJpY2EvQm9hX1Zpc3RhIC00OjI6NDAgLSBMTVQgMTkxNAotLS00IEF0IC0wNC8tMDMgMTk4OCBTIDEyCi0rLTQgQiAtMDQvLTAzIDE5ODggUyAxMgotIC00IC0gLTA0IDE5OTkgUyAzMAotLS00IEF0IC0wNC8tMDMgMjAwMCBPIDE1Ci0rLTQgQiAtMDQvLTAzIDIwMDAgTyAxNQotIC00IC0gLTA0Ci0gWiBBbWVyaWNhL01hbmF1cyAtNDowOjQgLSBMTVQgMTkxNAotLS00IEF0IC0wNC8tMDMgMTk4OCBTIDEyCi0rLTQgQiAtMDQvLTAzIDE5ODggUyAxMgotIC00IC0gLTA0IDE5OTMgUyAyOAotLS00IEF0IC0wNC8tMDMgMTk5NCBTIDIyCi0rLTQgQiAtMDQvLTAzIDE5OTQgUyAyMgotIC00IC0gLTA0Ci0gWiBBbWVyaWNhL0VpcnVuZXBlIC00OjM5OjI4IC0gTE1UIDE5MTQKLS0tNSBBdCAtMDUvLTA0IDE5ODggUyAxMgotKy01IEIgLTA1Ly0wNCAxOTg4IFMgMTIKLSAtNSAtIC0wNSAxOTkzIFMgMjgKLS0tNSBBdCAtMDUvLTA0IDE5OTQgUyAyMgotKy01IEIgLTA1Ly0wNCAxOTk0IFMgMjIKLSAtNSAtIC0wNSAyMDA4IEp1biAyNAotIC00IC0gLTA0IDIwMTMgTiAxMAotIC01IC0gLTA1Ci0gWiBBbWVyaWNhL1Jpb19CcmFuY28gLTQ6MzE6MTIgLSBMTVQgMTkxNAotLS01IEF0IC0wNS8tMDQgMTk4OCBTIDEyCi0rLTUgQiAtMDUvLTA0IDE5ODggUyAxMgotIC01IC0gLTA1IDIwMDggSnVuIDI0Ci0gLTQgLSAtMDQgMjAxMyBOIDEwCi0gLTUgLSAtMDUKLS1SIEF1IDE5MjcgMTkzMSAtIFMgMSAwIDEgLQotLVIgQXUgMTkyOCAxOTMyIC0gQXAgMSAwIDAgLQotLVIgQXUgMTk2OCBvIC0gTiAzIDR1IDEgLQotLVIgQXUgMTk2OSBvIC0gTWFyIDMwIDN1IDAgLQotLVIgQXUgMTk2OSBvIC0gTiAyMyA0dSAxIC0KLS1SIEF1IDE5NzAgbyAtIE1hciAyOSAzdSAwIC0KLS1SIEF1IDE5NzEgbyAtIE1hciAxNCAzdSAwIC0KLS1SIEF1IDE5NzAgMTk3MiAtIE8gU3VuPj05IDR1IDEgLQotLVIgQXUgMTk3MiAxOTg2IC0gTWFyIFN1bj49OSAzdSAwIC0KLS1SIEF1IDE5NzMgbyAtIFMgMzAgNHUgMSAtCi0tUiBBdSAxOTc0IDE5ODcgLSBPIFN1bj49OSA0dSAxIC0KLS1SIEF1IDE5ODcgbyAtIEFwIDEyIDN1IDAgLQotLVIgQXUgMTk4OCAxOTkwIC0gTWFyIFN1bj49OSAzdSAwIC0KLS1SIEF1IDE5ODggMTk4OSAtIE8gU3VuPj05IDR1IDEgLQotLVIgQXUgMTk5MCBvIC0gUyAxNiA0dSAxIC0KLS1SIEF1IDE5OTEgMTk5NiAtIE1hciBTdW4+PTkgM3UgMCAtCi0tUiBBdSAxOTkxIDE5OTcgLSBPIFN1bj49OSA0dSAxIC0KLS1SIEF1IDE5OTcgbyAtIE1hciAzMCAzdSAwIC0KLS1SIEF1IDE5OTggbyAtIE1hciBTdW4+PTkgM3UgMCAtCi0tUiBBdSAxOTk4IG8gLSBTIDI3IDR1IDEgLQotLVIgQXUgMTk5OSBvIC0gQXAgNCAzdSAwIC0KLS1SIEF1IDE5OTkgMjAxMCAtIE8gU3VuPj05IDR1IDEgLQotLVIgQXUgMjAwMCAyMDA3IC0gTWFyIFN1bj49OSAzdSAwIC0KLS1SIEF1IDIwMDggbyAtIE1hciAzMCAzdSAwIC0KLS1SIEF1IDIwMDkgbyAtIE1hciBTdW4+PTkgM3UgMCAtCi0tUiBBdSAyMDEwIG8gLSBBcCBTdW4+PTEgM3UgMCAtCi0tUiBBdSAyMDExIG8gLSBNYXkgU3VuPj0yIDN1IDAgLQotLVIgQXUgMjAxMSBvIC0gQXUgU3VuPj0xNiA0dSAxIC0KLS1SIEF1IDIwMTIgMjAxNCAtIEFwIFN1bj49MjMgM3UgMCAtCi0tUiBBdSAyMDEyIDIwMTQgLSBTIFN1bj49MiA0dSAxIC0KLS1SIEF1IDIwMTYgbWEgLSBNYXkgU3VuPj05IDN1IDAgLQotLVIgQXUgMjAxNiBtYSAtIEF1IFN1bj49OSA0dSAxIC0KLStSIHggMTkyNyAxOTMxIC0gUyAxIDAgMSAtCi0rUiB4IDE5MjggMTkzMiAtIEFwIDEgMCAwIC0KLStSIHggMTk2OCBvIC0gTiAzIDR1IDEgLQotK1IgeCAxOTY5IG8gLSBNYXIgMzAgM3UgMCAtCi0rUiB4IDE5NjkgbyAtIE4gMjMgNHUgMSAtCi0rUiB4IDE5NzAgbyAtIE1hciAyOSAzdSAwIC0KLStSIHggMTk3MSBvIC0gTWFyIDE0IDN1IDAgLQotK1IgeCAxOTcwIDE5NzIgLSBPIFN1bj49OSA0dSAxIC0KLStSIHggMTk3MiAxOTg2IC0gTWFyIFN1bj49OSAzdSAwIC0KLStSIHggMTk3MyBvIC0gUyAzMCA0dSAxIC0KLStSIHggMTk3NCAxOTg3IC0gTyBTdW4+PTkgNHUgMSAtCi0rUiB4IDE5ODcgbyAtIEFwIDEyIDN1IDAgLQotK1IgeCAxOTg4IDE5OTAgLSBNYXIgU3VuPj05IDN1IDAgLQotK1IgeCAxOTg4IDE5ODkgLSBPIFN1bj49OSA0dSAxIC0KLStSIHggMTk5MCBvIC0gUyAxNiA0dSAxIC0KLStSIHggMTk5MSAxOTk2IC0gTWFyIFN1bj49OSAzdSAwIC0KLStSIHggMTk5MSAxOTk3IC0gTyBTdW4+PTkgNHUgMSAtCi0rUiB4IDE5OTcgbyAtIE1hciAzMCAzdSAwIC0KLStSIHggMTk5OCBvIC0gTWFyIFN1bj49OSAzdSAwIC0KLStSIHggMTk5OCBvIC0gUyAyNyA0dSAxIC0KLStSIHggMTk5OSBvIC0gQXAgNCAzdSAwIC0KLStSIHggMTk5OSAyMDEwIC0gTyBTdW4+PTkgNHUgMSAtCi0rUiB4IDIwMDAgMjAwNyAtIE1hciBTdW4+PTkgM3UgMCAtCi0rUiB4IDIwMDggbyAtIE1hciAzMCAzdSAwIC0KLStSIHggMjAwOSBvIC0gTWFyIFN1bj49OSAzdSAwIC0KLStSIHggMjAxMCBvIC0gQXAgU3VuPj0xIDN1IDAgLQotK1IgeCAyMDExIG8gLSBNYXkgU3VuPj0yIDN1IDAgLQotK1IgeCAyMDExIG8gLSBBdSBTdW4+PTE2IDR1IDEgLQotK1IgeCAyMDEyIDIwMTQgLSBBcCBTdW4+PTIzIDN1IDAgLQotK1IgeCAyMDEyIDIwMTQgLSBTIFN1bj49MiA0dSAxIC0KLStSIHggMjAxNiAyMDE4IC0gTWF5IFN1bj49OSAzdSAwIC0KLStSIHggMjAxNiAyMDE4IC0gQXUgU3VuPj05IDR1IDEgLQotK1IgeCAyMDE5IG1hIC0gQXAgU3VuPj0yIDN1IDAgLQotK1IgeCAyMDE5IG1hIC0gUyBTdW4+PTIgNHUgMSAtCi0gWiBBbWVyaWNhL1NhbnRpYWdvIC00OjQyOjQ2IC0gTE1UIDE4OTAKLSAtNDo0Mjo0NiAtIFNNVCAxOTEwIEphIDEwCi0gLTUgLSAtMDUgMTkxNiBKdWwKLSAtNDo0Mjo0NiAtIFNNVCAxOTE4IFMgMTAKLSAtNCAtIC0wNCAxOTE5IEp1bAotIC00OjQyOjQ2IC0gU01UIDE5MjcgUwotLS01IEF1IC0wNS8tMDQgMTkzMiBTCi0rLTUgeCAtMDUvLTA0IDE5MzIgUwotIC00IC0gLTA0IDE5NDIgSnVuCi0gLTUgLSAtMDUgMTk0MiBBdQotIC00IC0gLTA0IDE5NDYgSnVsIDE1Ci0gLTQgMSAtMDMgMTk0NiBTCi0gLTQgLSAtMDQgMTk0NyBBcAotIC01IC0gLTA1IDE5NDcgTWF5IDIxIDIzCi0tLTQgQXUgLTA0Ly0wMwotKy00IHggLTA0Ly0wMwotIFogQW1lcmljYS9QdW50YV9BcmVuYXMgLTQ6NDM6NDAgLSBMTVQgMTg5MAotIC00OjQyOjQ2IC0gU01UIDE5MTAgSmEgMTAKLSAtNSAtIC0wNSAxOTE2IEp1bAotIC00OjQyOjQ2IC0gU01UIDE5MTggUyAxMAotIC00IC0gLTA0IDE5MTkgSnVsCi0gLTQ6NDI6NDYgLSBTTVQgMTkyNyBTCi0tLTUgQXUgLTA1Ly0wNCAxOTMyIFMKLSstNSB4IC0wNS8tMDQgMTkzMiBTCi0gLTQgLSAtMDQgMTk0MiBKdW4KLSAtNSAtIC0wNSAxOTQyIEF1Ci0gLTQgLSAtMDQgMTk0NyBBcAotIC01IC0gLTA1IDE5NDcgTWF5IDIxIDIzCi0tLTQgQXUgLTA0Ly0wMyAyMDE2IEQgNAotKy00IHggLTA0Ly0wMyAyMDE2IEQgNAotIC0zIC0gLTAzCi0gWiBQYWNpZmljL0Vhc3RlciAtNzoxNzoyOCAtIExNVCAxODkwCi0gLTc6MTc6MjggLSBFTVQgMTkzMiBTCi0tLTcgQXUgLTA3Ly0wNiAxOTgyIE1hciAxNCAzdQotLS02IEF1IC0wNi8tMDUKLSstNyB4IC0wNy8tMDYgMTk4MiBNYXIgMTQgM3UKLSstNiB4IC0wNi8tMDUKLSBaIEFudGFyY3RpY2EvUGFsbWVyIDAgLSAtMDAgMTk2NQotLS00IEFyIC0wNC8tMDMgMTk2OSBPIDUKLS0tMyBBciAtMDMvLTAyIDE5ODIgTWF5Ci0tLTQgQXUgLTA0Ly0wMyAyMDE2IEQgNAotKy00IEEgLTA0Ly0wMyAxOTY5IE8gNQotKy0zIEEgLTAzLy0wMiAxOTgyIE1heQotKy00IHggLTA0Ly0wMyAyMDE2IEQgNAotIC0zIC0gLTAzCi0tUiBBdiAxOTkyIG8gLSBNYXkgMyAwIDEgLQotLVIgQXYgMTk5MyBvIC0gQXAgNCAwIDAgLQotK1IgQ08gMTk5MiBvIC0gTWF5IDMgMCAxIC0KLStSIENPIDE5OTMgbyAtIEFwIDQgMCAwIC0KLSBaIEFtZXJpY2EvQm9nb3RhIC00OjU2OjE2IC0gTE1UIDE4ODQgTWFyIDEzCi0gLTQ6NTY6MTYgLSBCTVQgMTkxNCBOIDIzCi0tLTUgQXYgLTA1Ly0wNAotKy01IENPIC0wNS8tMDQKLSBaIEFtZXJpY2EvQ3VyYWNhbyAtNDozNTo0NyAtIExNVCAxOTEyIEYgMTIKLSAtNDozMCAtIC0wNDMwIDE5NjUKLSAtNCAtIEFTVAotIExpIEFtZXJpY2EvQ3VyYWNhbyBBbWVyaWNhL0xvd2VyX1ByaW5jZXMKLSBMaSBBbWVyaWNhL0N1cmFjYW8gQW1lcmljYS9LcmFsZW5kaWprCi0tUiBBdyAxOTkyIG8gLSBOIDI4IDAgMSAtCi0tUiBBdyAxOTkzIG8gLSBGIDUgMCAwIC0KLStSIEVDIDE5OTIgbyAtIE4gMjggMCAxIC0KLStSIEVDIDE5OTMgbyAtIEYgNSAwIDAgLQotIFogQW1lcmljYS9HdWF5YXF1aWwgLTU6MTk6MjAgLSBMTVQgMTg5MAotIC01OjE0IC0gUU1UIDE5MzEKLS0tNSBBdyAtMDUvLTA0Ci0rLTUgRUMgLTA1Ly0wNAotIFogUGFjaWZpYy9HYWxhcGFnb3MgLTU6NTg6MjQgLSBMTVQgMTkzMQotIC01IC0gLTA1IDE5ODYKLS0tNiBBdyAtMDYvLTA1Ci0tUiBBeCAxOTM3IDE5MzggLSBTIGxhc3RTdW4gMCAxIC0KLS1SIEF4IDE5MzggMTk0MiAtIE1hciBTdW4+PTE5IDAgMCAtCi0tUiBBeCAxOTM5IG8gLSBPIDEgMCAxIC0KLS1SIEF4IDE5NDAgMTk0MiAtIFMgbGFzdFN1biAwIDEgLQotLVIgQXggMTk0MyBvIC0gSmEgMSAwIDAgLQotLVIgQXggMTk4MyBvIC0gUyBsYXN0U3VuIDAgMSAtCi0tUiBBeCAxOTg0IDE5ODUgLSBBcCBsYXN0U3VuIDAgMCAtCi0tUiBBeCAxOTg0IG8gLSBTIDE2IDAgMSAtCi0tUiBBeCAxOTg1IDIwMDAgLSBTIFN1bj49OSAwIDEgLQotLVIgQXggMTk4NiAyMDAwIC0gQXAgU3VuPj0xNiAwIDAgLQotLVIgQXggMjAwMSAyMDEwIC0gQXAgU3VuPj0xNSAyIDAgLQotLVIgQXggMjAwMSAyMDEwIC0gUyBTdW4+PTEgMiAxIC0KLSstNiBFQyAtMDYvLTA1Ci0rUiBGSyAxOTM3IDE5MzggLSBTIGxhc3RTdW4gMCAxIC0KLStSIEZLIDE5MzggMTk0MiAtIE1hciBTdW4+PTE5IDAgMCAtCi0rUiBGSyAxOTM5IG8gLSBPIDEgMCAxIC0KLStSIEZLIDE5NDAgMTk0MiAtIFMgbGFzdFN1biAwIDEgLQotK1IgRksgMTk0MyBvIC0gSmEgMSAwIDAgLQotK1IgRksgMTk4MyBvIC0gUyBsYXN0U3VuIDAgMSAtCi0rUiBGSyAxOTg0IDE5ODUgLSBBcCBsYXN0U3VuIDAgMCAtCi0rUiBGSyAxOTg0IG8gLSBTIDE2IDAgMSAtCi0rUiBGSyAxOTg1IDIwMDAgLSBTIFN1bj49OSAwIDEgLQotK1IgRksgMTk4NiAyMDAwIC0gQXAgU3VuPj0xNiAwIDAgLQotK1IgRksgMjAwMSAyMDEwIC0gQXAgU3VuPj0xNSAyIDAgLQotK1IgRksgMjAwMSAyMDEwIC0gUyBTdW4+PTEgMiAxIC0KLSBaIEF0bGFudGljL1N0YW5sZXkgLTM6NTE6MjQgLSBMTVQgMTg5MAotIC0zOjUxOjI0IC0gU01UIDE5MTIgTWFyIDEyCi0tLTQgQXggLTA0Ly0wMyAxOTgzIE1heQotLS0zIEF4IC0wMy8tMDIgMTk4NSBTIDE1Ci0tLTQgQXggLTA0Ly0wMyAyMDEwIFMgNSAyCi0rLTQgRksgLTA0Ly0wMyAxOTgzIE1heQotKy0zIEZLIC0wMy8tMDIgMTk4NSBTIDE1Ci0rLTQgRksgLTA0Ly0wMyAyMDEwIFMgNSAyCi0gLTMgLSAtMDMKLSBaIEFtZXJpY2EvQ2F5ZW5uZSAtMzoyOToyMCAtIExNVCAxOTExIEp1bAotIC00IC0gLTA0IDE5NjcgTwotQEAgLTM4NzgsNDYgKzM4OTcsNDYgQEAgWiBBbWVyaWNhL0d1eWFuYSAtMzo1Mjo0MCAtIExNVCAxOTE1IE1hcgotIC0zOjQ1IC0gLTAzNDUgMTk3NSBKdWwgMzEKLSAtMyAtIC0wMyAxOTkxCi0gLTQgLSAtMDQKLS1SIEF5IDE5NzUgMTk4OCAtIE8gMSAwIDEgLQotLVIgQXkgMTk3NSAxOTc4IC0gTWFyIDEgMCAwIC0KLS1SIEF5IDE5NzkgMTk5MSAtIEFwIDEgMCAwIC0KLS1SIEF5IDE5ODkgbyAtIE8gMjIgMCAxIC0KLS1SIEF5IDE5OTAgbyAtIE8gMSAwIDEgLQotLVIgQXkgMTk5MSBvIC0gTyA2IDAgMSAtCi0tUiBBeSAxOTkyIG8gLSBNYXIgMSAwIDAgLQotLVIgQXkgMTk5MiBvIC0gTyA1IDAgMSAtCi0tUiBBeSAxOTkzIG8gLSBNYXIgMzEgMCAwIC0KLS1SIEF5IDE5OTMgMTk5NSAtIE8gMSAwIDEgLQotLVIgQXkgMTk5NCAxOTk1IC0gRiBsYXN0U3VuIDAgMCAtCi0tUiBBeSAxOTk2IG8gLSBNYXIgMSAwIDAgLQotLVIgQXkgMTk5NiAyMDAxIC0gTyBTdW4+PTEgMCAxIC0KLS1SIEF5IDE5OTcgbyAtIEYgbGFzdFN1biAwIDAgLQotLVIgQXkgMTk5OCAyMDAxIC0gTWFyIFN1bj49MSAwIDAgLQotLVIgQXkgMjAwMiAyMDA0IC0gQXAgU3VuPj0xIDAgMCAtCi0tUiBBeSAyMDAyIDIwMDMgLSBTIFN1bj49MSAwIDEgLQotLVIgQXkgMjAwNCAyMDA5IC0gTyBTdW4+PTE1IDAgMSAtCi0tUiBBeSAyMDA1IDIwMDkgLSBNYXIgU3VuPj04IDAgMCAtCi0tUiBBeSAyMDEwIG1hIC0gTyBTdW4+PTEgMCAxIC0KLS1SIEF5IDIwMTAgMjAxMiAtIEFwIFN1bj49OCAwIDAgLQotLVIgQXkgMjAxMyBtYSAtIE1hciBTdW4+PTIyIDAgMCAtCi0rUiB5IDE5NzUgMTk4OCAtIE8gMSAwIDEgLQotK1IgeSAxOTc1IDE5NzggLSBNYXIgMSAwIDAgLQotK1IgeSAxOTc5IDE5OTEgLSBBcCAxIDAgMCAtCi0rUiB5IDE5ODkgbyAtIE8gMjIgMCAxIC0KLStSIHkgMTk5MCBvIC0gTyAxIDAgMSAtCi0rUiB5IDE5OTEgbyAtIE8gNiAwIDEgLQotK1IgeSAxOTkyIG8gLSBNYXIgMSAwIDAgLQotK1IgeSAxOTkyIG8gLSBPIDUgMCAxIC0KLStSIHkgMTk5MyBvIC0gTWFyIDMxIDAgMCAtCi0rUiB5IDE5OTMgMTk5NSAtIE8gMSAwIDEgLQotK1IgeSAxOTk0IDE5OTUgLSBGIGxhc3RTdW4gMCAwIC0KLStSIHkgMTk5NiBvIC0gTWFyIDEgMCAwIC0KLStSIHkgMTk5NiAyMDAxIC0gTyBTdW4+PTEgMCAxIC0KLStSIHkgMTk5NyBvIC0gRiBsYXN0U3VuIDAgMCAtCi0rUiB5IDE5OTggMjAwMSAtIE1hciBTdW4+PTEgMCAwIC0KLStSIHkgMjAwMiAyMDA0IC0gQXAgU3VuPj0xIDAgMCAtCi0rUiB5IDIwMDIgMjAwMyAtIFMgU3VuPj0xIDAgMSAtCi0rUiB5IDIwMDQgMjAwOSAtIE8gU3VuPj0xNSAwIDEgLQotK1IgeSAyMDA1IDIwMDkgLSBNYXIgU3VuPj04IDAgMCAtCi0rUiB5IDIwMTAgbWEgLSBPIFN1bj49MSAwIDEgLQotK1IgeSAyMDEwIDIwMTIgLSBBcCBTdW4+PTggMCAwIC0KLStSIHkgMjAxMyBtYSAtIE1hciBTdW4+PTIyIDAgMCAtCi0gWiBBbWVyaWNhL0FzdW5jaW9uIC0zOjUwOjQwIC0gTE1UIDE4OTAKLSAtMzo1MDo0MCAtIEFNVCAxOTMxIE8gMTAKLSAtNCAtIC0wNCAxOTcyIE8KLSAtMyAtIC0wMyAxOTc0IEFwCi0tLTQgQXkgLTA0Ly0wMwotLVIgQXogMTkzOCBvIC0gSmEgMSAwIDEgLQotLVIgQXogMTkzOCBvIC0gQXAgMSAwIDAgLQotLVIgQXogMTkzOCAxOTM5IC0gUyBsYXN0U3VuIDAgMSAtCi0tUiBBeiAxOTM5IDE5NDAgLSBNYXIgU3VuPj0yNCAwIDAgLQotLVIgQXogMTk4NiAxOTg3IC0gSmEgMSAwIDEgLQotLVIgQXogMTk4NiAxOTg3IC0gQXAgMSAwIDAgLQotLVIgQXogMTk5MCBvIC0gSmEgMSAwIDEgLQotLVIgQXogMTk5MCBvIC0gQXAgMSAwIDAgLQotLVIgQXogMTk5NCBvIC0gSmEgMSAwIDEgLQotLVIgQXogMTk5NCBvIC0gQXAgMSAwIDAgLQotKy00IHkgLTA0Ly0wMwotK1IgUEUgMTkzOCBvIC0gSmEgMSAwIDEgLQotK1IgUEUgMTkzOCBvIC0gQXAgMSAwIDAgLQotK1IgUEUgMTkzOCAxOTM5IC0gUyBsYXN0U3VuIDAgMSAtCi0rUiBQRSAxOTM5IDE5NDAgLSBNYXIgU3VuPj0yNCAwIDAgLQotK1IgUEUgMTk4NiAxOTg3IC0gSmEgMSAwIDEgLQotK1IgUEUgMTk4NiAxOTg3IC0gQXAgMSAwIDAgLQotK1IgUEUgMTk5MCBvIC0gSmEgMSAwIDEgLQotK1IgUEUgMTk5MCBvIC0gQXAgMSAwIDAgLQotK1IgUEUgMTk5NCBvIC0gSmEgMSAwIDEgLQotK1IgUEUgMTk5NCBvIC0gQXAgMSAwIDAgLQotIFogQW1lcmljYS9MaW1hIC01Ojg6MTIgLSBMTVQgMTg5MAotIC01Ojg6MzYgLSBMTVQgMTkwOCBKdWwgMjgKLS0tNSBBeiAtMDUvLTA0Ci0rLTUgUEUgLTA1Ly0wNAotIFogQXRsYW50aWMvU291dGhfR2VvcmdpYSAtMjoyNjo4IC0gTE1UIDE4OTAKLSAtMiAtIC0wMgotIFogQW1lcmljYS9QYXJhbWFyaWJvIC0zOjQwOjQwIC0gTE1UIDE5MTEKLUBAIC0zOTQwLDY1ICszOTU5LDY1IEBAIExpIEFtZXJpY2EvUG9ydF9vZl9TcGFpbiBBbWVyaWNhL1N0X0x1Y2lhCi0gTGkgQW1lcmljYS9Qb3J0X29mX1NwYWluIEFtZXJpY2EvU3RfVGhvbWFzCi0gTGkgQW1lcmljYS9Qb3J0X29mX1NwYWluIEFtZXJpY2EvU3RfVmluY2VudAotIExpIEFtZXJpY2EvUG9ydF9vZl9TcGFpbiBBbWVyaWNhL1RvcnRvbGEKLS1SIEEhIDE5MjMgMTkyNSAtIE8gMSAwIDA6MzAgLQotLVIgQSEgMTkyNCAxOTI2IC0gQXAgMSAwIDAgLQotLVIgQSEgMTkzMyAxOTM4IC0gTyBsYXN0U3VuIDAgMDozMCAtCi0tUiBBISAxOTM0IDE5NDEgLSBNYXIgbGFzdFNhdCAyNCAwIC0KLS1SIEEhIDE5MzkgbyAtIE8gMSAwIDA6MzAgLQotLVIgQSEgMTk0MCBvIC0gTyAyNyAwIDA6MzAgLQotLVIgQSEgMTk0MSBvIC0gQXUgMSAwIDA6MzAgLQotLVIgQSEgMTk0MiBvIC0gRCAxNCAwIDA6MzAgLQotLVIgQSEgMTk0MyBvIC0gTWFyIDE0IDAgMCAtCi0tUiBBISAxOTU5IG8gLSBNYXkgMjQgMCAwOjMwIC0KLS1SIEEhIDE5NTkgbyAtIE4gMTUgMCAwIC0KLS1SIEEhIDE5NjAgbyAtIEphIDE3IDAgMSAtCi0tUiBBISAxOTYwIG8gLSBNYXIgNiAwIDAgLQotLVIgQSEgMTk2NSBvIC0gQXAgNCAwIDEgLQotLVIgQSEgMTk2NSBvIC0gUyAyNiAwIDAgLQotLVIgQSEgMTk2OCBvIC0gTWF5IDI3IDAgMDozMCAtCi0tUiBBISAxOTY4IG8gLSBEIDEgMCAwIC0KLS1SIEEhIDE5NzAgbyAtIEFwIDI1IDAgMSAtCi0tUiBBISAxOTcwIG8gLSBKdW4gMTQgMCAwIC0KLS1SIEEhIDE5NzIgbyAtIEFwIDIzIDAgMSAtCi0tUiBBISAxOTcyIG8gLSBKdWwgMTYgMCAwIC0KLS1SIEEhIDE5NzQgbyAtIEphIDEzIDAgMTozMCAtCi0tUiBBISAxOTc0IG8gLSBNYXIgMTAgMCAwOjMwIC0KLS1SIEEhIDE5NzQgbyAtIFMgMSAwIDAgLQotLVIgQSEgMTk3NCBvIC0gRCAyMiAwIDEgLQotLVIgQSEgMTk3NSBvIC0gTWFyIDMwIDAgMCAtCi0tUiBBISAxOTc2IG8gLSBEIDE5IDAgMSAtCi0tUiBBISAxOTc3IG8gLSBNYXIgNiAwIDAgLQotLVIgQSEgMTk3NyBvIC0gRCA0IDAgMSAtCi0tUiBBISAxOTc4IDE5NzkgLSBNYXIgU3VuPj0xIDAgMCAtCi0tUiBBISAxOTc4IG8gLSBEIDE3IDAgMSAtCi0tUiBBISAxOTc5IG8gLSBBcCAyOSAwIDEgLQotLVIgQSEgMTk4MCBvIC0gTWFyIDE2IDAgMCAtCi0tUiBBISAxOTg3IG8gLSBEIDE0IDAgMSAtCi0tUiBBISAxOTg4IG8gLSBGIDI4IDAgMCAtCi0tUiBBISAxOTg4IG8gLSBEIDExIDAgMSAtCi0tUiBBISAxOTg5IG8gLSBNYXIgNSAwIDAgLQotLVIgQSEgMTk4OSBvIC0gTyAyOSAwIDEgLQotLVIgQSEgMTk5MCBvIC0gRiAyNSAwIDAgLQotLVIgQSEgMTk5MCAxOTkxIC0gTyBTdW4+PTIxIDAgMSAtCi0tUiBBISAxOTkxIDE5OTIgLSBNYXIgU3VuPj0xIDAgMCAtCi0tUiBBISAxOTkyIG8gLSBPIDE4IDAgMSAtCi0tUiBBISAxOTkzIG8gLSBGIDI4IDAgMCAtCi0tUiBBISAyMDA0IG8gLSBTIDE5IDAgMSAtCi0tUiBBISAyMDA1IG8gLSBNYXIgMjcgMiAwIC0KLS1SIEEhIDIwMDUgbyAtIE8gOSAyIDEgLQotLVIgQSEgMjAwNiAyMDE1IC0gTWFyIFN1bj49OCAyIDAgLQotLVIgQSEgMjAwNiAyMDE0IC0gTyBTdW4+PTEgMiAxIC0KLStSIFUgMTkyMyAxOTI1IC0gTyAxIDAgMDozMCAtCi0rUiBVIDE5MjQgMTkyNiAtIEFwIDEgMCAwIC0KLStSIFUgMTkzMyAxOTM4IC0gTyBsYXN0U3VuIDAgMDozMCAtCi0rUiBVIDE5MzQgMTk0MSAtIE1hciBsYXN0U2F0IDI0IDAgLQotK1IgVSAxOTM5IG8gLSBPIDEgMCAwOjMwIC0KLStSIFUgMTk0MCBvIC0gTyAyNyAwIDA6MzAgLQotK1IgVSAxOTQxIG8gLSBBdSAxIDAgMDozMCAtCi0rUiBVIDE5NDIgbyAtIEQgMTQgMCAwOjMwIC0KLStSIFUgMTk0MyBvIC0gTWFyIDE0IDAgMCAtCi0rUiBVIDE5NTkgbyAtIE1heSAyNCAwIDA6MzAgLQotK1IgVSAxOTU5IG8gLSBOIDE1IDAgMCAtCi0rUiBVIDE5NjAgbyAtIEphIDE3IDAgMSAtCi0rUiBVIDE5NjAgbyAtIE1hciA2IDAgMCAtCi0rUiBVIDE5NjUgbyAtIEFwIDQgMCAxIC0KLStSIFUgMTk2NSBvIC0gUyAyNiAwIDAgLQotK1IgVSAxOTY4IG8gLSBNYXkgMjcgMCAwOjMwIC0KLStSIFUgMTk2OCBvIC0gRCAxIDAgMCAtCi0rUiBVIDE5NzAgbyAtIEFwIDI1IDAgMSAtCi0rUiBVIDE5NzAgbyAtIEp1biAxNCAwIDAgLQotK1IgVSAxOTcyIG8gLSBBcCAyMyAwIDEgLQotK1IgVSAxOTcyIG8gLSBKdWwgMTYgMCAwIC0KLStSIFUgMTk3NCBvIC0gSmEgMTMgMCAxOjMwIC0KLStSIFUgMTk3NCBvIC0gTWFyIDEwIDAgMDozMCAtCi0rUiBVIDE5NzQgbyAtIFMgMSAwIDAgLQotK1IgVSAxOTc0IG8gLSBEIDIyIDAgMSAtCi0rUiBVIDE5NzUgbyAtIE1hciAzMCAwIDAgLQotK1IgVSAxOTc2IG8gLSBEIDE5IDAgMSAtCi0rUiBVIDE5NzcgbyAtIE1hciA2IDAgMCAtCi0rUiBVIDE5NzcgbyAtIEQgNCAwIDEgLQotK1IgVSAxOTc4IDE5NzkgLSBNYXIgU3VuPj0xIDAgMCAtCi0rUiBVIDE5NzggbyAtIEQgMTcgMCAxIC0KLStSIFUgMTk3OSBvIC0gQXAgMjkgMCAxIC0KLStSIFUgMTk4MCBvIC0gTWFyIDE2IDAgMCAtCi0rUiBVIDE5ODcgbyAtIEQgMTQgMCAxIC0KLStSIFUgMTk4OCBvIC0gRiAyOCAwIDAgLQotK1IgVSAxOTg4IG8gLSBEIDExIDAgMSAtCi0rUiBVIDE5ODkgbyAtIE1hciA1IDAgMCAtCi0rUiBVIDE5ODkgbyAtIE8gMjkgMCAxIC0KLStSIFUgMTk5MCBvIC0gRiAyNSAwIDAgLQotK1IgVSAxOTkwIDE5OTEgLSBPIFN1bj49MjEgMCAxIC0KLStSIFUgMTk5MSAxOTkyIC0gTWFyIFN1bj49MSAwIDAgLQotK1IgVSAxOTkyIG8gLSBPIDE4IDAgMSAtCi0rUiBVIDE5OTMgbyAtIEYgMjggMCAwIC0KLStSIFUgMjAwNCBvIC0gUyAxOSAwIDEgLQotK1IgVSAyMDA1IG8gLSBNYXIgMjcgMiAwIC0KLStSIFUgMjAwNSBvIC0gTyA5IDIgMSAtCi0rUiBVIDIwMDYgMjAxNSAtIE1hciBTdW4+PTggMiAwIC0KLStSIFUgMjAwNiAyMDE0IC0gTyBTdW4+PTEgMiAxIC0KLSBaIEFtZXJpY2EvTW9udGV2aWRlbyAtMzo0NDo1MSAtIExNVCAxOTA4IEp1biAxMAotIC0zOjQ0OjUxIC0gTU1UIDE5MjAgTWF5Ci0gLTQgLSAtMDQgMTkyMyBPCi0tLTM6MzAgQSEgLTAzMzAvLTAzIDE5NDIgRCAxNAotLS0zIEEhIC0wMy8tMDIzMCAxOTYwCi0tLTMgQSEgLTAzLy0wMiAxOTY4Ci0tLTMgQSEgLTAzLy0wMjMwIDE5NzAKLS0tMyBBISAtMDMvLTAyIDE5NzQKLS0tMyBBISAtMDMvLTAxMzAgMTk3NCBNYXIgMTAKLS0tMyBBISAtMDMvLTAyMzAgMTk3NCBEIDIyCi0tLTMgQSEgLTAzLy0wMgotKy0zOjMwIFUgLTAzMzAvLTAzIDE5NDIgRCAxNAotKy0zIFUgLTAzLy0wMjMwIDE5NjAKLSstMyBVIC0wMy8tMDIgMTk2OAotKy0zIFUgLTAzLy0wMjMwIDE5NzAKLSstMyBVIC0wMy8tMDIgMTk3NAotKy0zIFUgLTAzLy0wMTMwIDE5NzQgTWFyIDEwCi0rLTMgVSAtMDMvLTAyMzAgMTk3NCBEIDIyCi0rLTMgVSAtMDMvLTAyCi0gWiBBbWVyaWNhL0NhcmFjYXMgLTQ6Mjc6NDQgLSBMTVQgMTg5MAotIC00OjI3OjQwIC0gQ01UIDE5MTIgRiAxMgotIC00OjMwIC0gLTA0MzAgMTk2NQotZGlmZiAtLWdpdCBhL3NyYy90aW1lem9uZS9rbm93bl9hYmJyZXZzLnR4dCBiL3NyYy90aW1lem9uZS9rbm93bl9hYmJyZXZzLnR4dAotaW5kZXggNjdkMmYwYi4uMmFlNDQzYSAxMDA2NDQKLS0tLSBhL3NyYy90aW1lem9uZS9rbm93bl9hYmJyZXZzLnR4dAotKysrIGIvc3JjL3RpbWV6b25lL2tub3duX2FiYnJldnMudHh0Ci1AQCAtOTIsNiArOTIsNyBAQCBOWlNUCTQzMjAwCi0gUERUCS0yNTIwMAlECi0gUEtUCTE4MDAwCi0gUFNUCS0yODgwMAotK1BTVAkyODgwMAotIFNBU1QJNzIwMAotIFNTVAktMzk2MDAKLSBVQ1QJMAotZGlmZiAtLWdpdCBhL3NyYy90aW1lem9uZS90em5hbWVzL0FtZXJpY2EudHh0IGIvc3JjL3RpbWV6b25lL3R6bmFtZXMvQW1lcmljYS50eHQKLWluZGV4IDFjNWViMWYuLjI1OTRjMzcgMTAwNjQ0Ci0tLS0gYS9zcmMvdGltZXpvbmUvdHpuYW1lcy9BbWVyaWNhLnR4dAotKysrIGIvc3JjL3RpbWV6b25lL3R6bmFtZXMvQW1lcmljYS50eHQKLUBAIC0yMzcsNiArMjM3LDkgQEAgUERUICAgIC0yNTIwMCBEICAjIFBhY2lmaWMgRGF5bGlnaHQgVGltZQotIFBFVCAgICAtMTgwMDAgICAgIyBQZXJ1IFRpbWUgKG9ic29sZXRlKQotIFBNRFQgICAgLTcyMDAgRCAgIyBQaWVycmUgJiBNaXF1ZWxvbiBEYXlsaWdodCBUaW1lIChvYnNvbGV0ZSkKLSBQTVNUICAgLTEwODAwICAgICMgUGllcnJlICYgTWlxdWVsb24gU3RhbmRhcmQgVGltZSAob2Jzb2xldGUpCi0rIyBDT05GTElDVCEgUFNUIGlzIG5vdCB1bmlxdWUKLSsjIE90aGVyIHRpbWV6b25lczoKLSsjICAtIFBTVDogUGhpbGlwcGluZSBTdGFuZGFyZCBUaW1lCi0gUFNUICAgIC0yODgwMCAgICAjIFBhY2lmaWMgU3RhbmRhcmQgVGltZQotICAgICAgICAgICAgICAgICAgIyAgICAgKEFtZXJpY2EvRGF3c29uKQotICAgICAgICAgICAgICAgICAgIyAgICAgKEFtZXJpY2EvTG9zX0FuZ2VsZXMpCi1kaWZmIC0tZ2l0IGEvc3JjL3RpbWV6b25lL3R6bmFtZXMvQXNpYS50eHQgYi9zcmMvdGltZXpvbmUvdHpuYW1lcy9Bc2lhLnR4dAotaW5kZXggZTFmYTkzMS4uMTEzMzMzOSAxMDA2NDQKLS0tLSBhL3NyYy90aW1lem9uZS90em5hbWVzL0FzaWEudHh0Ci0rKysgYi9zcmMvdGltZXpvbmUvdHpuYW1lcy9Bc2lhLnR4dAotQEAgLTE1OCw2ICsxNTgsMTAgQEAgUEtUICAgICAxODAwMCAgICAjIFBha2lzdGFuIFRpbWUKLSAgICAgICAgICAgICAgICAgICMgICAgIChBc2lhL0thcmFjaGkpCi0gUEtTVCAgICAyMTYwMCBEICAjIFBha2lzdGFuIFN1bW1lciBUaW1lCi0gICAgICAgICAgICAgICAgICAjICAgICAoQXNpYS9LYXJhY2hpKQotKyMgQ09ORkxJQ1QhIFBTVCBpcyBub3QgdW5pcXVlCi0rIyBPdGhlciB0aW1lem9uZXM6Ci0rIyAgLSBQU1Q6IFBhY2lmaWMgU3RhbmRhcmQgVGltZSAoQW1lcmljYSkKLStQU1QgICAgIDI4ODAwICAgICMgUGhpbGlwcGluZSBTdGFuZGFyZCBUaW1lCi0gUVlaVCAgICAyMTYwMCAgICAjIEtpemlsb3JkYSBUaW1lIChvYnNvbGV0ZSkKLSBTQUtTVCAgIEFzaWEvU2FraGFsaW4gICMgU2FraGFsaW4gU3VtbWVyIFRpbWUgKG9ic29sZXRlKQotIFNBS1QgICAgQXNpYS9TYWtoYWxpbiAgIyBTYWtoYWxpbiBUaW1lIChvYnNvbGV0ZSkKLWRpZmYgLS1naXQgYS9zcmMvdGltZXpvbmUvdHpuYW1lcy9EZWZhdWx0IGIvc3JjL3RpbWV6b25lL3R6bmFtZXMvRGVmYXVsdAotaW5kZXggMzgyNjA5Ni4uMTUzMjQxMyAxMDA2NDQKLS0tLSBhL3NyYy90aW1lem9uZS90em5hbWVzL0RlZmF1bHQKLSsrKyBiL3NyYy90aW1lem9uZS90em5hbWVzL0RlZmF1bHQKLUBAIC0xODEsNiArMTgxLDkgQEAgUERUICAgIC0yNTIwMCBEICAjIFBhY2lmaWMgRGF5bGlnaHQgVGltZQotICAgICAgICAgICAgICAgICAgIyAgICAgKEFtZXJpY2EvV2hpdGVob3JzZSkKLSBQTURUICAgIC03MjAwIEQgICMgUGllcnJlICYgTWlxdWVsb24gRGF5bGlnaHQgVGltZSAob2Jzb2xldGUpCi0gUE1TVCAgIC0xMDgwMCAgICAjIFBpZXJyZSAmIE1pcXVlbG9uIFN0YW5kYXJkIFRpbWUgKG9ic29sZXRlKQotKyMgQ09ORkxJQ1QhIFBTVCBpcyBub3QgdW5pcXVlCi0rIyBPdGhlciB0aW1lem9uZXM6Ci0rIyAgLSBQU1Q6IFBoaWxpcHBpbmUgU3RhbmRhcmQgVGltZQotIFBTVCAgICAtMjg4MDAgICAgIyBQYWNpZmljIFN0YW5kYXJkIFRpbWUKLSAgICAgICAgICAgICAgICAgICMgICAgIChBbWVyaWNhL0Rhd3NvbikKLSAgICAgICAgICAgICAgICAgICMgICAgIChBbWVyaWNhL0xvc19BbmdlbGVzKQotZGlmZiAtLWdpdCBhL3NyYy90aW1lem9uZS90em5hbWVzL1BhY2lmaWMudHh0IGIvc3JjL3RpbWV6b25lL3R6bmFtZXMvUGFjaWZpYy50eHQKLWluZGV4IGM4NjI0OGIuLmMzMDAwOGMgMTAwNjQ0Ci0tLS0gYS9zcmMvdGltZXpvbmUvdHpuYW1lcy9QYWNpZmljLnR4dAotKysrIGIvc3JjL3RpbWV6b25lL3R6bmFtZXMvUGFjaWZpYy50eHQKLUBAIC01Miw2ICs1Miw5IEBAIE5aU1QgICAgNDMyMDAgICAgIyBOZXcgWmVhbGFuZCBTdGFuZGFyZCBUaW1lCi0gUEdUICAgICAzNjAwMCAgICAjIFBhcHVhIE5ldyBHdWluZWEgVGltZSAob2Jzb2xldGUpCi0gUEhPVCAgICBQYWNpZmljL0VuZGVyYnVyeSAgIyBQaG9lbml4IElzbGFuZHMgVGltZSAoS2lyaWJhdGkpIChvYnNvbGV0ZSkKLSBQT05UICAgIDM5NjAwICAgICMgUG9uYXBlIFRpbWUgKE1pY3JvbmVzaWEpIChvYnNvbGV0ZSkKLSsjIENPTkZMSUNUISBQU1QgaXMgbm90IHVuaXF1ZQotKyMgT3RoZXIgdGltZXpvbmVzOgotKyMgIC0gUFNUOiBQaGlsaXBwaW5lIFN0YW5kYXJkIFRpbWUKLSBQU1QgICAgLTI4ODAwICAgICMgUGFjaWZpYyBTdGFuZGFyZCBUaW1lCi0gICAgICAgICAgICAgICAgICAjICAgICAoQW1lcmljYS9EYXdzb24pCi0gICAgICAgICAgICAgICAgICAjICAgICAoQW1lcmljYS9Mb3NfQW5nZWxlcykKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9wb3N0Z3Jlc3FsL2ZpbGVzL25vdC1jaGVjay1saWJwZXJsLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9wb3N0Z3Jlc3FsL2ZpbGVzL25vdC1jaGVjay1saWJwZXJsLnBhdGNoCmluZGV4IDk3MTUxMDkuLjIyYjYyZDkgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcG9zdGdyZXNxbC9maWxlcy9ub3QtY2hlY2stbGlicGVybC5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3Bvc3RncmVzcWwvZmlsZXMvbm90LWNoZWNrLWxpYnBlcmwucGF0Y2gKQEAgLTEsNCArMSw3IEBACi1bUEFUQ0hdIG5vdCBjaGVjayBsaWJwZXJsIHVuZGVyIGNyb3NzIGNvbXBpbGluZworRnJvbSA3ZTJhZjRkZTE5YmU1OGJjOWQ1NTFjNDFjZTI3NTAzOTZkMzU3ZjM0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgMjcgTm92IDIwMTggMTM6MjU6MTUgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gUEFUQ0hdIG5vdCBjaGVjayBsaWJwZXJsIHVuZGVyIGNyb3NzIGNvbXBpbGluZwogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCiAKQEAgLTYsMjMgKzksMjkgQEAKIGNhbiBub3QgYmUgdXNlZCB0byBjaGVjayB0YXJnZXQgbGlicmFyeS4KIAogcG9zdHByZXNxbCBoYXMgdGhlIGRlcGVuZGVuY3kgb24gcGVybCwgc28gbm90IG5lZWQgdG8gY2hlY2sgbGlicGVybAotYWdhaW4sIGxpa2UgaW4gcG9zdGdyZXNxbC05LjIuNCAKK2FnYWluLCBsaWtlIGluIHBvc3RncmVzcWwtOS4yLjQKIAogU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorCit1cGRhdGUgcGF0Y2ggdG8gdmVyc2lvbiAxMS4xCitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgogLS0tCiAgY29uZmlndXJlLmluIHwgMiArLQogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCi1JbmRleDogcG9zdGdyZXNxbC05LjQuMTUvY29uZmlndXJlLmluCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gcG9zdGdyZXNxbC05LjQuMTUub3JpZy9jb25maWd1cmUuaW4KLSsrKyBwb3N0Z3Jlc3FsLTkuNC4xNS9jb25maWd1cmUuaW4KLUBAIC0xODc5LDcgKzE4NzksNyBAQCBpZiB0ZXN0ICIkd2l0aF90Y2wiID0geWVzOyB0aGVuCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCitpbmRleCBiOThiOWJiLi44NTg0Njc3IDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmluCisrKysgYi9jb25maWd1cmUuaW4KK0BAIC0yMjExLDcgKzIyMTEsNyBAQCBVc2UgLS13aXRob3V0LXRjbCB0byBkaXNhYmxlIGJ1aWxkaW5nIFBML1RjbC5dKQogIGZpCiAgCiAgIyBjaGVjayBmb3IgPHBlcmwuaD4KIC1pZiB0ZXN0ICIkd2l0aF9wZXJsIiA9IHllczsgdGhlbgogK2lmIHRlc3QgIiR3aXRoX3BlcmwiID0geWVzICYmIHRlc3QgIiRjcm9zc19jb21waWxpbmciID0gbm87IHRoZW4KICAgIGFjX3NhdmVfQ1BQRkxBR1M9JENQUEZMQUdTCi0gICBDUFBGTEFHUz0iJENQUEZMQUdTIC1JJHBlcmxfYXJjaGxpYmV4cC9DT1JFIgorICAgQ1BQRkxBR1M9IiRDUFBGTEFHUyAkcGVybF9pbmNsdWRlc3BlYyIKICAgIEFDX0NIRUNLX0hFQURFUihwZXJsLmgsIFtdLCBbQUNfTVNHX0VSUk9SKFtoZWFkZXIgZmlsZSA8cGVybC5oPiBpcyByZXF1aXJlZCBmb3IgUGVybF0pXSwKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9wb3N0Z3Jlc3FsL2ZpbGVzL3Bvc3RncmVzcWwuaW5pdCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcG9zdGdyZXNxbC9maWxlcy9wb3N0Z3Jlc3FsLmluaXQKaW5kZXggNGE0ZjBjZC4uMTc5MWU2OCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9wb3N0Z3Jlc3FsL2ZpbGVzL3Bvc3RncmVzcWwuaW5pdAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3Bvc3RncmVzcWwvZmlsZXMvcG9zdGdyZXNxbC5pbml0CkBAIC0xNCw4ICsxNCw4IEBACiAjIFBHVkVSU0lPTiBpcyB0aGUgZnVsbCBwYWNrYWdlIHZlcnNpb24sIGUuZy4sIDguNC4wCiAjIE5vdGU6IHRoZSBzcGVjZmlsZSBpbnNlcnRzIHRoZSBjb3JyZWN0IHZhbHVlIGR1cmluZyBwYWNrYWdlIGJ1aWxkCiBQR1ZFUlNJT049OS4yLjQKLSMgUEdNQUpPUlZFUlNJT04gaXMgbWFqb3IgdmVyc2lvbiwgZS5nLiwgOC40ICh0aGlzIHNob3VsZCBtYXRjaCBQR19WRVJTSU9OKQotUEdNQUpPUlZFUlNJT049YGVjaG8gIiRQR1ZFUlNJT04iIHwgc2VkICdzL15cKFswLTldKlwuWzAtOV0qXCkuKiQvXDEvJ2AKKyMgUEdNQUpPUlZFUlNJT04gaXMgbWFqb3IgdmVyc2lvbiwgZS5nLiwgMTAgKHRoaXMgc2hvdWxkIG1hdGNoIFBHX1ZFUlNJT04pCitQR01BSk9SVkVSU0lPTj1gZWNobyAiJFBHVkVSU0lPTiIgfCBzZWQgJ3MvXlwoWzAtOV0qXCkuKiQvXDEvJ2AKIAogIyBTb3VyY2UgZnVuY3Rpb24gbGlicmFyeS4KIC4gL2V0Yy9pbml0LmQvZnVuY3Rpb25zCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3Bvc3RncmVzcWwvcG9zdGdyZXNxbC5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3Bvc3RncmVzcWwvcG9zdGdyZXNxbC5pbmMKaW5kZXggZGM4NTIyNC4uODVmMTkxNyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9wb3N0Z3Jlc3FsL3Bvc3RncmVzcWwuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcG9zdGdyZXNxbC9wb3N0Z3Jlc3FsLmluYwpAQCAtMzcsNyArMzcsNyBAQAogIyBMREZMQUdTIGZvciBzaGFyZWQgbGlicmFyaWVzCiBleHBvcnQgTERGTEFHU19TTCA9ICIke0xERkxBR1N9IgogCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgcGVybG5hdGl2ZSBweXRob25uYXRpdmUgdXNlcmFkZCB1cGRhdGUtcmMuZCBzeXN0ZW1kIGdldHRleHQKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBwZXJsbmF0aXZlIHB5dGhvbm5hdGl2ZSB1c2VyYWRkIHVwZGF0ZS1yYy5kIHN5c3RlbWQgZ2V0dGV4dCBjcGFuLWJhc2UKIAogQ0ZMQUdTICs9ICItSSR7U1RBR0lOR19JTkNESVJ9LyR7UFlUSE9OX0RJUn0gLUkke1NUQUdJTkdfSU5DRElSfS90Y2w4LjYiCiAKQEAgLTEwNiw2ICsxMDYsMTAgQEAKIAogfQogCisjIFRoaXMgd2lsbCBtYWtlIG5hdGl2ZSBwZXJsIHVzZSB0YXJnZXQgc2V0dGluZ3MgKGZvciBpbmNsdWRlIGRpcnMgZXRjLikKK2V4cG9ydCBQRVJMQ09ORklHVEFSR0VUID0gIiR7QGlzX3RhcmdldChkKX0iCitleHBvcnQgUEVSTF9BUkNITElCID0gIiR7U1RBR0lOR19MSUJESVJ9JHtQRVJMX09XTl9ESVJ9L3Blcmw1LyR7QGdldF9wZXJsX3ZlcnNpb24oZCl9LyR7QGdldF9wZXJsX2FyY2goZCl9IgorCiBkb19jb25maWd1cmUoKSB7CiAgICAgIyBkb19jb25maWd1cmUKICAgICBhdXRvdG9vbHNfZG9fY29uZmlndXJlCkBAIC0xMTksNyArMTIzLDcgQEAKICAgICBCTElCTkE9Ilwke1NUQUdJTkdfQkFTRV9MSUJESVJfTkFUSVZFfSIKICAgICBzZWQgLWkgLWUgIi9ecGVybF9hcmNobGliZXhwL3M6JHtMSUJQTkF9OiR7U1RBR0lOR19MSUJESVJ9OmciIFwKICAgICAgICAgJHtCfS9zcmMvTWFrZWZpbGUuZ2xvYmFsCi0gICAgc2VkIC1pIC1lICIvXnBlcmxfcHJpdmxpYmV4cC9zOiR7TElCUE5BfToke1NUQUdJTkdfTElCRElSfTpnIiBcCisgICAgc2VkIC1pIC1lICIvXnBlcmxfcHJpdmxpYmV4cC9zOiR7bGliZGlyfToke1NUQUdJTkdfTElCRElSfTpnIiBcCiAgICAgICAgICR7Qn0vc3JjL01ha2VmaWxlLmdsb2JhbAogICAgICMgcmVtb3ZlIHRoZSBycGF0aCwgcmVwbGFjZSB3aXRoIGNvcnJlY3QgbGliIHBhdGgKICAgICBzZWQgLWkgXApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9wb3N0Z3Jlc3FsL3Bvc3RncmVzcWxfMTAuNS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcG9zdGdyZXNxbC9wb3N0Z3Jlc3FsXzEwLjUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFhMDJmMTUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9wb3N0Z3Jlc3FsL3Bvc3RncmVzcWxfMTAuNS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLXJlcXVpcmUgcG9zdGdyZXNxbC5pbmMKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWVJJR0hUO21kNT02ZGM5NWU2M2FhNGQ3MjUwMmZmODE5M2RmZTJkZGQzOCIKLQotU1JDX1VSSSArPSAiXAotICAgIGZpbGU6Ly9ub3QtY2hlY2stbGlicGVybC5wYXRjaCBcCi0gICAgZmlsZTovLzAwMDEtVXBkYXRlLXRpbWUtem9uZS1kYXRhLWZpbGVzLXRvLXR6ZGF0YS1yZWxlYXNlLTIwMThmLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMS1TeW5jLW91ci1jb3B5LW9mLXRoZS10aW1lem9uZS1saWJyYXJ5LXdpdGgtSUFOQS1yZWxlLnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gImE1ZmU1ZmRmZjJkNmMyOGY2NTYwMTM5OGJlMDk1MGRmIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZjOGU2MTZjOTFhNDUxNDJiODVjMGFlYjFmMjllYmJhNGEzNjEzMDllODY0NjllMGZiNDYxN2I2YTczYzQwMTEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3Bvc3RncmVzcWwvcG9zdGdyZXNxbF8xMS4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9wb3N0Z3Jlc3FsL3Bvc3RncmVzcWxfMTEuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjU5YzhkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9wb3N0Z3Jlc3FsL3Bvc3RncmVzcWxfMTEuMi5iYgpAQCAtMCwwICsxLDExIEBACityZXF1aXJlIHBvc3RncmVzcWwuaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlSSUdIVDttZDU9ODdkYTJiODQ4ODQ4NjBiNzFmNWYyNGFiMzdlN2RhNzgiCisKK1NSQ19VUkkgKz0gIlwKKyAgIGZpbGU6Ly9ub3QtY2hlY2stbGlicGVybC5wYXRjaCBcCisgICBmaWxlOi8vMDAwMS1BZGQtc3VwcG9ydC1mb3ItUklTQy1WLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjE5ZDQzYmU2NzljYjBkNTUzNjNmZWI4OTI2YWYzYTBmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI2NzZiOWNlMDljMjE5NzgwMzIwNzBiNjc5NDY5NmUwYWE1YTQ3NmUzZDIxZDYwYWZjMDM2ZGMwYTljMDk0MDUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3JvY2tzZGIvZmlsZXMvMDAwMS1EaXNhYmxlLVdzaGFkb3ctYW5kLWRvLW5vdC1tYXJrLWRlZmF1bHQtY29weS1jb25zdHJ1LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9yb2Nrc2RiL2ZpbGVzLzAwMDEtRGlzYWJsZS1Xc2hhZG93LWFuZC1kby1ub3QtbWFyay1kZWZhdWx0LWNvcHktY29uc3RydS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lY2NhYTNhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9yb2Nrc2RiL2ZpbGVzLzAwMDEtRGlzYWJsZS1Xc2hhZG93LWFuZC1kby1ub3QtbWFyay1kZWZhdWx0LWNvcHktY29uc3RydS5wYXRjaApAQCAtMCwwICsxLDU3IEBACitGcm9tIGVlNzI4NDM0MTI0YjliN2QxN2FiYmQwNjBhNjJhYWM3OWE5Yjc5YzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVHVlLCAxMiBGZWIgMjAxOSAxNDozMToyNCAtMDgwMAorU3ViamVjdDogW1BBVENIXSBEaXNhYmxlIC1Xc2hhZG93IGFuZCBkbyBub3QgbWFyayBkZWZhdWx0IGNvcHkgY29uc3RydWN0b3JzCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBDTWFrZUxpc3RzLnR4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KKyB1dGlsaXRpZXMvcGVyc2lzdGVudF9jYWNoZS9ibG9ja19jYWNoZV90aWVyLmggICAgICB8IDQgKystLQorIHV0aWxpdGllcy9wZXJzaXN0ZW50X2NhY2hlL2Jsb2NrX2NhY2hlX3RpZXJfZmlsZS5oIHwgMiArLQorIDMgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAoraW5kZXggOThlMmUxOTczLi4zYTI0YTA3NWIgMTAwNjQ0CistLS0gYS9DTWFrZUxpc3RzLnR4dAorKysrIGIvQ01ha2VMaXN0cy50eHQKK0BAIC0yNTQsNyArMjU0LDcgQEAgaWYoRkFJTF9PTl9XQVJOSU5HUykKKyAgIGlmKE1TVkMpCisgICAgIHNldChDTUFLRV9DWFhfRkxBR1MgIiR7Q01BS0VfQ1hYX0ZMQUdTfSAvV1giKQorICAgZWxzZSgpICMgYXNzdW1lIEdDQworLSAgICBzZXQoQ01BS0VfQ1hYX0ZMQUdTICIke0NNQUtFX0NYWF9GTEFHU30gLVdlcnJvciIpCisrICAgIHNldChDTUFLRV9DWFhfRkxBR1MgIiR7Q01BS0VfQ1hYX0ZMQUdTfSAtV2Vycm9yIC1Xbm8tZXJyb3I9c2hhZG93IikKKyAgIGVuZGlmKCkKKyBlbmRpZigpCisgCitkaWZmIC0tZ2l0IGEvdXRpbGl0aWVzL3BlcnNpc3RlbnRfY2FjaGUvYmxvY2tfY2FjaGVfdGllci5oIGIvdXRpbGl0aWVzL3BlcnNpc3RlbnRfY2FjaGUvYmxvY2tfY2FjaGVfdGllci5oCitpbmRleCAyYjJjMGVmNGYuLjk2ZDA1NDBhNCAxMDA2NDQKKy0tLSBhL3V0aWxpdGllcy9wZXJzaXN0ZW50X2NhY2hlL2Jsb2NrX2NhY2hlX3RpZXIuaAorKysrIGIvdXRpbGl0aWVzL3BlcnNpc3RlbnRfY2FjaGUvYmxvY2tfY2FjaGVfdGllci5oCitAQCAtOTEsOSArOTEsOSBAQCBjbGFzcyBCbG9ja0NhY2hlVGllciA6IHB1YmxpYyBQZXJzaXN0ZW50Q2FjaGVUaWVyIHsKKyAgICAgICAgIDoga2V5XyhzdGQ6Om1vdmUoa2V5KSksIGRhdGFfKGRhdGEpIHt9CisgICAgIH5JbnNlcnRPcCgpIHt9CisgCistICAgIEluc2VydE9wKCkgPSBkZWxldGU7CisrICAgIEluc2VydE9wKCkgPSBkZWZhdWx0OworICAgICBJbnNlcnRPcChJbnNlcnRPcCYmIC8qcmhzKi8pID0gZGVmYXVsdDsKKy0gICAgSW5zZXJ0T3AmIG9wZXJhdG9yPShJbnNlcnRPcCYmIHJocykgPSBkZWZhdWx0OworKyAgICBJbnNlcnRPcCYgb3BlcmF0b3I9KEluc2VydE9wJiYgcmhzKSA9IGRlbGV0ZTsKKyAKKyAgICAgLy8gdXNlZCBmb3IgZXN0aW1hdGluZyBzaXplIGJ5IGJvdW5kZWQgcXVldWUKKyAgICAgc2l6ZV90IFNpemUoKSB7IHJldHVybiBkYXRhXy5zaXplKCkgKyBrZXlfLnNpemUoKTsgfQorZGlmZiAtLWdpdCBhL3V0aWxpdGllcy9wZXJzaXN0ZW50X2NhY2hlL2Jsb2NrX2NhY2hlX3RpZXJfZmlsZS5oIGIvdXRpbGl0aWVzL3BlcnNpc3RlbnRfY2FjaGUvYmxvY2tfY2FjaGVfdGllcl9maWxlLmgKK2luZGV4IGUzOGI2YzlhMS4uZDliODlhNGY3IDEwMDY0NAorLS0tIGEvdXRpbGl0aWVzL3BlcnNpc3RlbnRfY2FjaGUvYmxvY2tfY2FjaGVfdGllcl9maWxlLmgKKysrKyBiL3V0aWxpdGllcy9wZXJzaXN0ZW50X2NhY2hlL2Jsb2NrX2NhY2hlX3RpZXJfZmlsZS5oCitAQCAtMjYyLDcgKzI2Miw3IEBAIGNsYXNzIFRocmVhZGVkV3JpdGVyIDogcHVibGljIFdyaXRlciB7CisgICAgICAgICA6IGZpbGVfKGZpbGUpLCBidWZfKGJ1ZiksIGZpbGVfb2ZmXyhmaWxlX29mZiksIGNhbGxiYWNrXyhjYWxsYmFjaykge30KKyAKKyAgICAgSU8oY29uc3QgSU8mKSA9IGRlZmF1bHQ7CistICAgIElPJiBvcGVyYXRvcj0oY29uc3QgSU8mKSA9IGRlZmF1bHQ7CisrICAgIElPJiBvcGVyYXRvcj0oY29uc3QgSU8mKSA9IGRlbGV0ZTsKKyAgICAgc2l6ZV90IFNpemUoKSBjb25zdCB7IHJldHVybiBzaXplb2YoSU8pOyB9CisgCisgICAgIFdyaXRhYmxlRmlsZSogZmlsZV8gPSBudWxscHRyOyAgICAgICAgICAgLy8gRmlsZSB0byB3cml0ZSB0bworLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9yb2Nrc2RiL2ZpbGVzLzAwMDEtdXRpbGl0aWVzLUZpeC1idWlsZC1mYWlsdXJlLXdpdGgtV2Vycm9yLW1heWJlLXVuaW5pdC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcm9ja3NkYi9maWxlcy8wMDAxLXV0aWxpdGllcy1GaXgtYnVpbGQtZmFpbHVyZS13aXRoLVdlcnJvci1tYXliZS11bmluaXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWYwNDI5YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcm9ja3NkYi9maWxlcy8wMDAxLXV0aWxpdGllcy1GaXgtYnVpbGQtZmFpbHVyZS13aXRoLVdlcnJvci1tYXliZS11bmluaXQucGF0Y2gKQEAgLTAsMCArMSwzNSBAQAorRnJvbSA4OTk2ZjA3NWU2NGRhMGU2ZmZlZGE1NzYzMmVmMzFmODcxMGRlZmNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSGUgWmhlIDx6aGUuaGVAd2luZHJpdmVyLmNvbT4KK0RhdGU6IEZyaSwgMTUgTWFyIDIwMTkgMTY6NDc6MDMgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gdXRpbGl0aWVzOiBGaXggYnVpbGQgZmFpbHVyZSB3aXRoIC1XZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZAorCitTdW1tYXJ5OgorSW5pdGlhbGl6ZSBtYWdpY19udW1iZXIgdG8gemVybyB0byBhdm9pZCBzdWNoIGZhaWx1cmUuCit1dGlsaXRpZXMvYmxvYl9kYi9ibG9iX2xvZ19mb3JtYXQuY2M6OTE6MzogZXJyb3I6ICdtYWdpY19udW1iZXInIG1heSBiZSB1c2VkCit1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZF0KKyAgIGlmIChtYWdpY19udW1iZXIgIT0ga01hZ2ljTnVtYmVyKSB7CisgICBefgorCitVcHN0cmVhbS1TdGF0dXM6IEFjY2VwdGVkIFtleHBlY3RlZCB2ZXJzaW9uIDUuMTldCisKK1NpZ25lZC1vZmYtYnk6IEhlIFpoZSA8emhlLmhlQHdpbmRyaXZlci5jb20+CistLS0KKyB1dGlsaXRpZXMvYmxvYl9kYi9ibG9iX2xvZ19mb3JtYXQuY2MgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS91dGlsaXRpZXMvYmxvYl9kYi9ibG9iX2xvZ19mb3JtYXQuY2MgYi91dGlsaXRpZXMvYmxvYl9kYi9ibG9iX2xvZ19mb3JtYXQuY2MKK2luZGV4IDJiZjcwMjguLjg3MjZjYjggMTAwNjQ0CistLS0gYS91dGlsaXRpZXMvYmxvYl9kYi9ibG9iX2xvZ19mb3JtYXQuY2MKKysrKyBiL3V0aWxpdGllcy9ibG9iX2RiL2Jsb2JfbG9nX2Zvcm1hdC5jYworQEAgLTgyLDcgKzgyLDcgQEAgU3RhdHVzIEJsb2JMb2dGb290ZXI6OkRlY29kZUZyb20oU2xpY2Ugc3JjKSB7CisgICB1aW50MzJfdCBzcmNfY3JjID0gMDsKKyAgIHNyY19jcmMgPSBjcmMzMmM6OlZhbHVlKHNyYy5kYXRhKCksIEJsb2JMb2dGb290ZXI6OmtTaXplIC0gc2l6ZW9mKHVpbnQzMl90KSk7CisgICBzcmNfY3JjID0gY3JjMzJjOjpNYXNrKHNyY19jcmMpOworLSAgdWludDMyX3QgbWFnaWNfbnVtYmVyOworKyAgdWludDMyX3QgbWFnaWNfbnVtYmVyID0gMDsKKyAgIGlmICghR2V0Rml4ZWQzMigmc3JjLCAmbWFnaWNfbnVtYmVyKSB8fCAhR2V0Rml4ZWQ2NCgmc3JjLCAmYmxvYl9jb3VudCkgfHwKKyAgICAgICAhR2V0Rml4ZWQ2NCgmc3JjLCAmZXhwaXJhdGlvbl9yYW5nZS5maXJzdCkgfHwKKyAgICAgICAhR2V0Rml4ZWQ2NCgmc3JjLCAmZXhwaXJhdGlvbl9yYW5nZS5zZWNvbmQpIHx8ICFHZXRGaXhlZDMyKCZzcmMsICZjcmMpKSB7CistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcm9ja3NkYi9yb2Nrc2RiLzAwMDEtRml4LUdpdEh1Yi1pc3N1ZS0zNzE2LWdjYy04LXdhcm5pbmdzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9yb2Nrc2RiL3JvY2tzZGIvMDAwMS1GaXgtR2l0SHViLWlzc3VlLTM3MTYtZ2NjLTgtd2FybmluZ3MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJlNDk4OTcuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9yb2Nrc2RiL3JvY2tzZGIvMDAwMS1GaXgtR2l0SHViLWlzc3VlLTM3MTYtZ2NjLTgtd2FybmluZ3MucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxOTQgKzAsMCBAQAotRnJvbSA4ZDY1ZDcwYjU0ZDFkMzA2YTBhMGIwMGUwMzZiYzhkZGQzOWQ4ZWMxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogInByemVteXNsYXcuc2tpYmluc2tpQHBlcmNvbmEuY29tIiA8cHJ6ZW15c2xhdy5za2liaW5za2lAcGVyY29uYS5jb20+Ci1EYXRlOiBGcmksIDIwIEFwciAyMDE4IDEzOjI4OjA1IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIEZpeCBHaXRIdWIgaXNzdWUgIzM3MTY6IGdjYy04IHdhcm5pbmdzCi0KLVN1bW1hcnk6Ci1GaXggdGhlIGZvbGxvd2luZyBnY2MtOCB3YXJuaW5nczoKLS0gY29uZmxpY3RpbmcgQyBsYW5ndWFnZSBsaW5rYWdlIGRlY2xhcmF0aW9uIFstV2Vycm9yXQotLSB3cml0aW5nIHRvIGFuIG9iamVjdCB3aXRoIG5vIHRyaXZpYWwgY29weS1hc3NpZ25tZW50IFstV2Vycm9yPWNsYXNzLW1lbWFjY2Vzc10KLS0gYXJyYXkgc3Vic2NyaXB0IC0xIGlzIGJlbG93IGFycmF5IGJvdW5kcyBbLVdlcnJvcj1hcnJheS1ib3VuZHNdCi0KLVNvbHZlcyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcm9ja3NkYi9pc3N1ZXMvMzcxNgotQ2xvc2VzIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yb2Nrc2RiL3B1bGwvMzczNgotCi1EaWZmZXJlbnRpYWwgUmV2aXNpb246IEQ3Njg0MTYxCi0KLVB1bGxlZCBCeTogeWl3dS1hcmJ1ZwotCi1mYnNoaXBpdC1zb3VyY2UtaWQ6IDQ3YzA0MjNkMjZiNzRhZGQyNTFmMWQzNTk1MjExZWVlMWU0MWU1NGEKLS0tLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yb2Nrc2RiL2NvbW1pdC9kZWU5NWExYWZjNmM2MzUxNWU3ZDk0ZGVjMzNhY2RiNzk2MzhiNmQ3LnBhdGNoXQotCi0gZGIvYy5jYyAgICAgICAgICAgICAgICAgICB8IDc3ICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIG1lbXRhYmxlL2lubGluZXNraXBsaXN0LmggfCAxMiArKystLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDMzIGluc2VydGlvbnMoKyksIDU2IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZGIvYy5jYyBiL2RiL2MuY2MKLWluZGV4IDA2NDEwM2VkNC4uMGQ0ODVkMDk2IDEwMDY0NAotLS0tIGEvZGIvYy5jYwotKysrIGIvZGIvYy5jYwotQEAgLTEzODgsMjMgKzEzODgsMjQgQEAgdm9pZCByb2Nrc2RiX3dyaXRlYmF0Y2hfcHV0X2xvZ19kYXRhKAotICAgYi0+cmVwLlB1dExvZ0RhdGEoU2xpY2UoYmxvYiwgbGVuKSk7Ci0gfQotIAotK2NsYXNzIEggOiBwdWJsaWMgV3JpdGVCYXRjaDo6SGFuZGxlciB7Ci0rIHB1YmxpYzoKLSsgIHZvaWQqIHN0YXRlXzsKLSsgIHZvaWQgKCpwdXRfKSh2b2lkKiwgY29uc3QgY2hhciogaywgc2l6ZV90IGtsZW4sIGNvbnN0IGNoYXIqIHYsIHNpemVfdCB2bGVuKTsKLSsgIHZvaWQgKCpkZWxldGVkXykodm9pZCosIGNvbnN0IGNoYXIqIGssIHNpemVfdCBrbGVuKTsKLSsgIHZpcnR1YWwgdm9pZCBQdXQoY29uc3QgU2xpY2UmIGtleSwgY29uc3QgU2xpY2UmIHZhbHVlKSBvdmVycmlkZSB7Ci0rICAgICgqcHV0Xykoc3RhdGVfLCBrZXkuZGF0YSgpLCBrZXkuc2l6ZSgpLCB2YWx1ZS5kYXRhKCksIHZhbHVlLnNpemUoKSk7Ci0rICB9Ci0rICB2aXJ0dWFsIHZvaWQgRGVsZXRlKGNvbnN0IFNsaWNlJiBrZXkpIG92ZXJyaWRlIHsKLSsgICAgKCpkZWxldGVkXykoc3RhdGVfLCBrZXkuZGF0YSgpLCBrZXkuc2l6ZSgpKTsKLSsgIH0KLSt9OwotKwotIHZvaWQgcm9ja3NkYl93cml0ZWJhdGNoX2l0ZXJhdGUoCi0gICAgIHJvY2tzZGJfd3JpdGViYXRjaF90KiBiLAotICAgICB2b2lkKiBzdGF0ZSwKLSAgICAgdm9pZCAoKnB1dCkodm9pZCosIGNvbnN0IGNoYXIqIGssIHNpemVfdCBrbGVuLCBjb25zdCBjaGFyKiB2LCBzaXplX3QgdmxlbiksCi0gICAgIHZvaWQgKCpkZWxldGVkKSh2b2lkKiwgY29uc3QgY2hhciogaywgc2l6ZV90IGtsZW4pKSB7Ci0tICBjbGFzcyBIIDogcHVibGljIFdyaXRlQmF0Y2g6OkhhbmRsZXIgewotLSAgIHB1YmxpYzoKLS0gICAgdm9pZCogc3RhdGVfOwotLSAgICB2b2lkICgqcHV0Xykodm9pZCosIGNvbnN0IGNoYXIqIGssIHNpemVfdCBrbGVuLCBjb25zdCBjaGFyKiB2LCBzaXplX3Qgdmxlbik7Ci0tICAgIHZvaWQgKCpkZWxldGVkXykodm9pZCosIGNvbnN0IGNoYXIqIGssIHNpemVfdCBrbGVuKTsKLS0gICAgdmlydHVhbCB2b2lkIFB1dChjb25zdCBTbGljZSYga2V5LCBjb25zdCBTbGljZSYgdmFsdWUpIG92ZXJyaWRlIHsKLS0gICAgICAoKnB1dF8pKHN0YXRlXywga2V5LmRhdGEoKSwga2V5LnNpemUoKSwgdmFsdWUuZGF0YSgpLCB2YWx1ZS5zaXplKCkpOwotLSAgICB9Ci0tICAgIHZpcnR1YWwgdm9pZCBEZWxldGUoY29uc3QgU2xpY2UmIGtleSkgb3ZlcnJpZGUgewotLSAgICAgICgqZGVsZXRlZF8pKHN0YXRlXywga2V5LmRhdGEoKSwga2V5LnNpemUoKSk7Ci0tICAgIH0KLS0gIH07Ci0gICBIIGhhbmRsZXI7Ci0gICBoYW5kbGVyLnN0YXRlXyA9IHN0YXRlOwotICAgaGFuZGxlci5wdXRfID0gcHV0OwotQEAgLTE2NDksMTggKzE2NTAsNiBAQCB2b2lkIHJvY2tzZGJfd3JpdGViYXRjaF93aV9pdGVyYXRlKAotICAgICB2b2lkKiBzdGF0ZSwKLSAgICAgdm9pZCAoKnB1dCkodm9pZCosIGNvbnN0IGNoYXIqIGssIHNpemVfdCBrbGVuLCBjb25zdCBjaGFyKiB2LCBzaXplX3QgdmxlbiksCi0gICAgIHZvaWQgKCpkZWxldGVkKSh2b2lkKiwgY29uc3QgY2hhciogaywgc2l6ZV90IGtsZW4pKSB7Ci0tICBjbGFzcyBIIDogcHVibGljIFdyaXRlQmF0Y2g6OkhhbmRsZXIgewotLSAgIHB1YmxpYzoKLS0gICAgdm9pZCogc3RhdGVfOwotLSAgICB2b2lkICgqcHV0Xykodm9pZCosIGNvbnN0IGNoYXIqIGssIHNpemVfdCBrbGVuLCBjb25zdCBjaGFyKiB2LCBzaXplX3Qgdmxlbik7Ci0tICAgIHZvaWQgKCpkZWxldGVkXykodm9pZCosIGNvbnN0IGNoYXIqIGssIHNpemVfdCBrbGVuKTsKLS0gICAgdmlydHVhbCB2b2lkIFB1dChjb25zdCBTbGljZSYga2V5LCBjb25zdCBTbGljZSYgdmFsdWUpIG92ZXJyaWRlIHsKLS0gICAgICAoKnB1dF8pKHN0YXRlXywga2V5LmRhdGEoKSwga2V5LnNpemUoKSwgdmFsdWUuZGF0YSgpLCB2YWx1ZS5zaXplKCkpOwotLSAgICB9Ci0tICAgIHZpcnR1YWwgdm9pZCBEZWxldGUoY29uc3QgU2xpY2UmIGtleSkgb3ZlcnJpZGUgewotLSAgICAgICgqZGVsZXRlZF8pKHN0YXRlXywga2V5LmRhdGEoKSwga2V5LnNpemUoKSk7Ci0tICAgIH0KLS0gIH07Ci0gICBIIGhhbmRsZXI7Ci0gICBoYW5kbGVyLnN0YXRlXyA9IHN0YXRlOwotICAgaGFuZGxlci5wdXRfID0gcHV0OwotQEAgLTMxMDksMjAgKzMwOTgsMjEgQEAgdm9pZCByb2Nrc2RiX3NsaWNldHJhbnNmb3JtX2Rlc3Ryb3kocm9ja3NkYl9zbGljZXRyYW5zZm9ybV90KiBzdCkgewotICAgZGVsZXRlIHN0OwotIH0KLSAKLStzdHJ1Y3QgV3JhcHBlciA6IHB1YmxpYyByb2Nrc2RiX3NsaWNldHJhbnNmb3JtX3QgewotKyAgY29uc3QgU2xpY2VUcmFuc2Zvcm0qIHJlcF87Ci0rICB+V3JhcHBlcigpIHsgZGVsZXRlIHJlcF87IH0KLSsgIGNvbnN0IGNoYXIqIE5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiByZXBfLT5OYW1lKCk7IH0KLSsgIFNsaWNlIFRyYW5zZm9ybShjb25zdCBTbGljZSYgc3JjKSBjb25zdCBvdmVycmlkZSB7Ci0rICAgIHJldHVybiByZXBfLT5UcmFuc2Zvcm0oc3JjKTsKLSsgIH0KLSsgIGJvb2wgSW5Eb21haW4oY29uc3QgU2xpY2UmIHNyYykgY29uc3Qgb3ZlcnJpZGUgewotKyAgICByZXR1cm4gcmVwXy0+SW5Eb21haW4oc3JjKTsKLSsgIH0KLSsgIGJvb2wgSW5SYW5nZShjb25zdCBTbGljZSYgc3JjKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiByZXBfLT5JblJhbmdlKHNyYyk7IH0KLSsgIHN0YXRpYyB2b2lkIERvTm90aGluZyh2b2lkKikgeyB9Ci0rfTsKLSsKLSByb2Nrc2RiX3NsaWNldHJhbnNmb3JtX3QqIHJvY2tzZGJfc2xpY2V0cmFuc2Zvcm1fY3JlYXRlX2ZpeGVkX3ByZWZpeChzaXplX3QgcHJlZml4TGVuKSB7Ci0tICBzdHJ1Y3QgV3JhcHBlciA6IHB1YmxpYyByb2Nrc2RiX3NsaWNldHJhbnNmb3JtX3QgewotLSAgICBjb25zdCBTbGljZVRyYW5zZm9ybSogcmVwXzsKLS0gICAgfldyYXBwZXIoKSB7IGRlbGV0ZSByZXBfOyB9Ci0tICAgIGNvbnN0IGNoYXIqIE5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiByZXBfLT5OYW1lKCk7IH0KLS0gICAgU2xpY2UgVHJhbnNmb3JtKGNvbnN0IFNsaWNlJiBzcmMpIGNvbnN0IG92ZXJyaWRlIHsKLS0gICAgICByZXR1cm4gcmVwXy0+VHJhbnNmb3JtKHNyYyk7Ci0tICAgIH0KLS0gICAgYm9vbCBJbkRvbWFpbihjb25zdCBTbGljZSYgc3JjKSBjb25zdCBvdmVycmlkZSB7Ci0tICAgICAgcmV0dXJuIHJlcF8tPkluRG9tYWluKHNyYyk7Ci0tICAgIH0KLS0gICAgYm9vbCBJblJhbmdlKGNvbnN0IFNsaWNlJiBzcmMpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHJlcF8tPkluUmFuZ2Uoc3JjKTsgfQotLSAgICBzdGF0aWMgdm9pZCBEb05vdGhpbmcodm9pZCopIHsgfQotLSAgfTsKLSAgIFdyYXBwZXIqIHdyYXBwZXIgPSBuZXcgV3JhcHBlcjsKLSAgIHdyYXBwZXItPnJlcF8gPSByb2Nrc2RiOjpOZXdGaXhlZFByZWZpeFRyYW5zZm9ybShwcmVmaXhMZW4pOwotICAgd3JhcHBlci0+c3RhdGVfID0gbnVsbHB0cjsKLUBAIC0zMTMxLDE5ICszMTIxLDYgQEAgcm9ja3NkYl9zbGljZXRyYW5zZm9ybV90KiByb2Nrc2RiX3NsaWNldHJhbnNmb3JtX2NyZWF0ZV9maXhlZF9wcmVmaXgoc2l6ZV90IHByZWYKLSB9Ci0gCi0gcm9ja3NkYl9zbGljZXRyYW5zZm9ybV90KiByb2Nrc2RiX3NsaWNldHJhbnNmb3JtX2NyZWF0ZV9ub29wKCkgewotLSAgc3RydWN0IFdyYXBwZXIgOiBwdWJsaWMgcm9ja3NkYl9zbGljZXRyYW5zZm9ybV90IHsKLS0gICAgY29uc3QgU2xpY2VUcmFuc2Zvcm0qIHJlcF87Ci0tICAgIH5XcmFwcGVyKCkgeyBkZWxldGUgcmVwXzsgfQotLSAgICBjb25zdCBjaGFyKiBOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gcmVwXy0+TmFtZSgpOyB9Ci0tICAgIFNsaWNlIFRyYW5zZm9ybShjb25zdCBTbGljZSYgc3JjKSBjb25zdCBvdmVycmlkZSB7Ci0tICAgICAgcmV0dXJuIHJlcF8tPlRyYW5zZm9ybShzcmMpOwotLSAgICB9Ci0tICAgIGJvb2wgSW5Eb21haW4oY29uc3QgU2xpY2UmIHNyYykgY29uc3Qgb3ZlcnJpZGUgewotLSAgICAgIHJldHVybiByZXBfLT5JbkRvbWFpbihzcmMpOwotLSAgICB9Ci0tICAgIGJvb2wgSW5SYW5nZShjb25zdCBTbGljZSYgc3JjKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiByZXBfLT5JblJhbmdlKHNyYyk7IH0KLS0gICAgc3RhdGljIHZvaWQgRG9Ob3RoaW5nKHZvaWQqKSB7IH0KLS0gIH07Ci0gICBXcmFwcGVyKiB3cmFwcGVyID0gbmV3IFdyYXBwZXI7Ci0gICB3cmFwcGVyLT5yZXBfID0gcm9ja3NkYjo6TmV3Tm9vcFRyYW5zZm9ybSgpOwotICAgd3JhcHBlci0+c3RhdGVfID0gbnVsbHB0cjsKLWRpZmYgLS1naXQgYS9tZW10YWJsZS9pbmxpbmVza2lwbGlzdC5oIGIvbWVtdGFibGUvaW5saW5lc2tpcGxpc3QuaAotaW5kZXggNzAyYTczMzZkLi5lYWRkYTFkYzEgMTAwNjQ0Ci0tLS0gYS9tZW10YWJsZS9pbmxpbmVza2lwbGlzdC5oCi0rKysgYi9tZW10YWJsZS9pbmxpbmVza2lwbGlzdC5oCi1AQCAtMjgwLDcgKzI4MCw3IEBAIHN0cnVjdCBJbmxpbmVTa2lwTGlzdDxDb21wYXJhdG9yPjo6Tm9kZSB7Ci0gICAvLyBuZXh0X1swXS4gIFRoaXMgaXMgdXNlZCBmb3IgcGFzc2luZyBkYXRhIGZyb20gQWxsb2NhdGVLZXkgdG8gSW5zZXJ0LgotICAgdm9pZCBTdGFzaEhlaWdodChjb25zdCBpbnQgaGVpZ2h0KSB7Ci0gICAgIGFzc2VydChzaXplb2YoaW50KSA8PSBzaXplb2YobmV4dF9bMF0pKTsKLS0gICAgbWVtY3B5KCZuZXh0X1swXSwgJmhlaWdodCwgc2l6ZW9mKGludCkpOwotKyAgICBtZW1jcHkoc3RhdGljX2Nhc3Q8dm9pZCo+KCZuZXh0X1swXSksICZoZWlnaHQsIHNpemVvZihpbnQpKTsKLSAgIH0KLSAKLSAgIC8vIFJldHJpZXZlcyB0aGUgdmFsdWUgcGFzc2VkIHRvIFN0YXNoSGVpZ2h0LiAgVW5kZWZpbmVkIGFmdGVyIGEgY2FsbAotQEAgLTMwMCwzMCArMzAwLDMwIEBAIHN0cnVjdCBJbmxpbmVTa2lwTGlzdDxDb21wYXJhdG9yPjo6Tm9kZSB7Ci0gICAgIGFzc2VydChuID49IDApOwotICAgICAvLyBVc2UgYW4gJ2FjcXVpcmUgbG9hZCcgc28gdGhhdCB3ZSBvYnNlcnZlIGEgZnVsbHkgaW5pdGlhbGl6ZWQKLSAgICAgLy8gdmVyc2lvbiBvZiB0aGUgcmV0dXJuZWQgTm9kZS4KLS0gICAgcmV0dXJuIChuZXh0X1stbl0ubG9hZChzdGQ6Om1lbW9yeV9vcmRlcl9hY3F1aXJlKSk7Ci0rICAgIHJldHVybiAoKCZuZXh0X1swXSAtIG4pLT5sb2FkKHN0ZDo6bWVtb3J5X29yZGVyX2FjcXVpcmUpKTsKLSAgIH0KLSAKLSAgIHZvaWQgU2V0TmV4dChpbnQgbiwgTm9kZSogeCkgewotICAgICBhc3NlcnQobiA+PSAwKTsKLSAgICAgLy8gVXNlIGEgJ3JlbGVhc2Ugc3RvcmUnIHNvIHRoYXQgYW55Ym9keSB3aG8gcmVhZHMgdGhyb3VnaCB0aGlzCi0gICAgIC8vIHBvaW50ZXIgb2JzZXJ2ZXMgYSBmdWxseSBpbml0aWFsaXplZCB2ZXJzaW9uIG9mIHRoZSBpbnNlcnRlZCBub2RlLgotLSAgICBuZXh0X1stbl0uc3RvcmUoeCwgc3RkOjptZW1vcnlfb3JkZXJfcmVsZWFzZSk7Ci0rICAgICgmbmV4dF9bMF0gLSBuKS0+c3RvcmUoeCwgc3RkOjptZW1vcnlfb3JkZXJfcmVsZWFzZSk7Ci0gICB9Ci0gCi0gICBib29sIENBU05leHQoaW50IG4sIE5vZGUqIGV4cGVjdGVkLCBOb2RlKiB4KSB7Ci0gICAgIGFzc2VydChuID49IDApOwotLSAgICByZXR1cm4gbmV4dF9bLW5dLmNvbXBhcmVfZXhjaGFuZ2Vfc3Ryb25nKGV4cGVjdGVkLCB4KTsKLSsgICAgcmV0dXJuICgmbmV4dF9bMF0gLSBuKS0+Y29tcGFyZV9leGNoYW5nZV9zdHJvbmcoZXhwZWN0ZWQsIHgpOwotICAgfQotIAotICAgLy8gTm8tYmFycmllciB2YXJpYW50cyB0aGF0IGNhbiBiZSBzYWZlbHkgdXNlZCBpbiBhIGZldyBsb2NhdGlvbnMuCi0gICBOb2RlKiBOb0JhcnJpZXJfTmV4dChpbnQgbikgewotICAgICBhc3NlcnQobiA+PSAwKTsKLS0gICAgcmV0dXJuIG5leHRfWy1uXS5sb2FkKHN0ZDo6bWVtb3J5X29yZGVyX3JlbGF4ZWQpOwotKyAgICByZXR1cm4gKCZuZXh0X1swXSAtIG4pLT5sb2FkKHN0ZDo6bWVtb3J5X29yZGVyX3JlbGF4ZWQpOwotICAgfQotIAotICAgdm9pZCBOb0JhcnJpZXJfU2V0TmV4dChpbnQgbiwgTm9kZSogeCkgewotICAgICBhc3NlcnQobiA+PSAwKTsKLS0gICAgbmV4dF9bLW5dLnN0b3JlKHgsIHN0ZDo6bWVtb3J5X29yZGVyX3JlbGF4ZWQpOwotKyAgICAoJm5leHRfWzBdIC0gbiktPnN0b3JlKHgsIHN0ZDo6bWVtb3J5X29yZGVyX3JlbGF4ZWQpOwotICAgfQotIAotICAgLy8gSW5zZXJ0IG5vZGUgYWZ0ZXIgcHJldiBvbiBzcGVjaWZpYyBsZXZlbC4KLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcm9ja3NkYi9yb2Nrc2RiX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcm9ja3NkYi9yb2Nrc2RiX2dpdC5iYgppbmRleCA1OTRkMWE5Li4yN2M3YjIwIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3JvY2tzZGIvcm9ja3NkYl9naXQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9yb2Nrc2RiL3JvY2tzZGJfZ2l0LmJiCkBAIC02LDEyICs2LDEzIEBACiAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCiAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9MSUNFTlNFLmxldmVsZGI7bWQ1PWZiMDRmZjU3YTE0ZjMwOGYyZWVkNGE5Yjg3ZDQ1ODM3IgogCi1TUkNSRVYgPSAiYzYwZGY5ZDllNzYyOWZlMjA4YTliODQ4MjkzYTU1OTlmODNkNWU3NyIKLVNSQ0JSQU5DSCA9ICI1LjEzLmZiIgotUFYgPSAiNS4xMy4xIgorU1JDUkVWID0gImExNzc0ZGRlOWE1YmQ1MWJjNmVjZTU5ODg3ODFjNmYyOGNjNjlkNDgiCitTUkNCUkFOQ0ggPSAiNS4xOC5mYiIKK1BWID0gIjUuMTguMiIKIAogU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2ZhY2Vib29rLyR7QlBOfS5naXQ7YnJhbmNoPSR7U1JDQlJBTkNIfSBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1HaXRIdWItaXNzdWUtMzcxNi1nY2MtOC13YXJuaW5ncy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLURpc2FibGUtV3NoYWRvdy1hbmQtZG8tbm90LW1hcmstZGVmYXVsdC1jb3B5LWNvbnN0cnUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS11dGlsaXRpZXMtRml4LWJ1aWxkLWZhaWx1cmUtd2l0aC1XZXJyb3ItbWF5YmUtdW5pbml0LnBhdGNoIFwKICAgICAgICAgICAiCiAKIFMgPSAiJHtXT1JLRElSfS9naXQiCkBAIC0xOSw5ICsyMCw5IEBACiBpbmhlcml0IGNtYWtlCiAKIFBBQ0tBR0VDT05GSUcgPz89ICJiemlwMiB6bGliIGx6NCIKLVBBQ0tBR0VDT05GSUdbYnppcDJdID0gIi1EV0lUSF9CWjI9T04sLURXSVRIX0JaMj1PRkYsYnppcDIiCi1QQUNLQUdFQ09ORklHW2x6NF0gPSAiLURXSVRIX0xaND1PTiwtRFdJVEhfTFo0PU9GRixsejQiCi1QQUNLQUdFQ09ORklHW3psaWJdID0gIi1EV0lUSF9aTElCPU9OLC1EV0lUSF9aTElCPU9GRix6bGliIgorUEFDS0FHRUNPTkZJR1tiemlwMl0gPSAiLURXSVRIX0JaMj1PTiAtREJaSVAyX0xJQlJBUklFUzpTVFJJTkc9YnoyLC1EV0lUSF9CWjI9T0ZGLGJ6aXAyIgorUEFDS0FHRUNPTkZJR1tsejRdID0gIi1EV0lUSF9MWjQ9T04gLURMWjRfTElCUkFSSUVTOlNUUklORz1sejQsLURXSVRIX0xaND1PRkYsbHo0IgorUEFDS0FHRUNPTkZJR1t6bGliXSA9ICItRFdJVEhfWkxJQj1PTiAtRFpMSUJfTElCUkFSSUVTOlNUUklORz16LC1EV0lUSF9aTElCPU9GRix6bGliIgogUEFDS0FHRUNPTkZJR1tsaXRlXSA9ICItRFJPQ0tTREJfTElURT1PTiwtRFJPQ0tTREJfTElURT1PRkYiCiAKICMgVG9vbHMgYW5kIHRlc3RzIGN1cnJlbnRseSBkb24ndCBjb21waWxlIG9uIGFybXY1IHNvIHdlIGRpc2FibGUgdGhlbQpAQCAtMzAsMyArMzEsOCBAQAogICAgIC1EV0lUSF9URVNUUz1PRkYgXAogICAgIC1EV0lUSF9UT09MUz1PRkYgXAogIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAjIGZpeCBmb3IgcWEgY2hlY2sgYnVpbGRwYXRocworICAgIHNlZCAtaSAicyMke1JFQ0lQRV9TWVNST09UfSMjZyIgJHtEfSR7bGliZGlyfS9jbWFrZS9yb2Nrc2RiL1JvY2tzREJUYXJnZXRzLmNtYWtlCit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYW5kcm9pZC10b29scy9hbmRyb2lkLXRvb2xzL2NvcmUvYWRiX2xpYnNzbF8xMS5kaWZmIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2FuZHJvaWQtdG9vbHMvYW5kcm9pZC10b29scy9jb3JlL2FkYl9saWJzc2xfMTEuZGlmZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZWFkNjQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2FuZHJvaWQtdG9vbHMvYW5kcm9pZC10b29scy9jb3JlL2FkYl9saWJzc2xfMTEuZGlmZgpAQCAtMCwwICsxLDM5IEBACitEZXNjcmlwdGlvbjogYWRiOiBNYWtlIGNvbXBhdGlibGUgd2l0aCBvcGVuc3NsIDEuMQorIE9wZW5TU0wgdmVyc2lvbiAxLjEgYnJvdWdodCBzb21lIEFQSSBjaGFuZ2VzIHdoaWNoIGJyb2tlIHRoZSBidWlsZCBoZXJlLAorIGZpeCB0aGF0IGJ5IGFjY2Vzc2luZyByc2EtPm4gKGFuZCBlKSBkaXJlY3RseSwgdXNpbmcgUlNBX2dldDBfa2V5IGluc3RlYWQuCitBdXRob3I6IENoaXJheXUgRGVzYWkgPGNoaXJheXVkZXNhaTFAZ21haWwuY29tCitMYXN0LVVwZGF0ZTogMjAxNi0xMS0xMAorLS0tCitUaGlzIHBhdGNoIGhlYWRlciBmb2xsb3dzIERFUC0zOiBodHRwOi8vZGVwLmRlYmlhbi5uZXQvZGVwcy9kZXAzLworLS0tCisgc3lzdGVtL2NvcmUvYWRiL2FkYl9hdXRoX2hvc3QuYyB8ICAgIDUgKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCistLS0gYS9hZGIvYWRiX2F1dGhfaG9zdC5jCisrKysgYi9hZGIvYWRiX2F1dGhfaG9zdC5jCitAQCAtNzUsNiArNzUsNyBAQCBzdGF0aWMgaW50IFJTQV90b19SU0FQdWJsaWNLZXkoUlNBICpyc2EsCisgICAgIEJJR05VTSogcmVtID0gQk5fbmV3KCk7CisgICAgIEJJR05VTSogbiA9IEJOX25ldygpOworICAgICBCSUdOVU0qIG4waW52ID0gQk5fbmV3KCk7CisrICAgIEJJR05VTSogZSA9IEJOX25ldygpOworIAorICAgICBpZiAoUlNBX3NpemUocnNhKSAhPSBSU0FOVU1CWVRFUykgeworICAgICAgICAgcmV0ID0gMDsKK0BAIC04Miw3ICs4Myw3IEBAIHN0YXRpYyBpbnQgUlNBX3RvX1JTQVB1YmxpY0tleShSU0EgKnJzYSwKKyAgICAgfQorIAorICAgICBCTl9zZXRfYml0KHIzMiwgMzIpOworLSAgICBCTl9jb3B5KG4sIHJzYS0+bik7CisrICAgIFJTQV9nZXQwX2tleShyc2EsICZuLCAmZSwgTlVMTCk7CisgICAgIEJOX3NldF9iaXQociwgUlNBTlVNV09SRFMgKiAzMik7CisgICAgIEJOX21vZF9zcXIocnIsIHIsIG4sIGN0eCk7CisgICAgIEJOX2RpdihOVUxMLCByZW0sIG4sIHIzMiwgY3R4KTsKK0BAIC05Niw3ICs5Nyw3IEBAIHN0YXRpYyBpbnQgUlNBX3RvX1JTQVB1YmxpY0tleShSU0EgKnJzYSwKKyAgICAgICAgIEJOX2RpdihuLCByZW0sIG4sIHIzMiwgY3R4KTsKKyAgICAgICAgIHBrZXktPm5baV0gPSBCTl9nZXRfd29yZChyZW0pOworICAgICB9CistICAgIHBrZXktPmV4cG9uZW50ID0gQk5fZ2V0X3dvcmQocnNhLT5lKTsKKysgICAgcGtleS0+ZXhwb25lbnQgPSBCTl9nZXRfd29yZChlKTsKKyAKKyBvdXQ6CisgICAgIEJOX2ZyZWUobjBpbnYpOwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2FuZHJvaWQtdG9vbHMvYW5kcm9pZC10b29sc181LjEuMS5yMzcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYW5kcm9pZC10b29scy9hbmRyb2lkLXRvb2xzXzUuMS4xLnIzNy5iYgppbmRleCAyNjA0ZjY1Li5lMDljZDgyIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYW5kcm9pZC10b29scy9hbmRyb2lkLXRvb2xzXzUuMS4xLnIzNy5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYW5kcm9pZC10b29scy9hbmRyb2lkLXRvb2xzXzUuMS4xLnIzNy5iYgpAQCAtOCw3ICs4LDcgQEAKICAgICBmaWxlOi8vJHtDT01NT05fTElDRU5TRV9ESVJ9L0JTRC0zLUNsYXVzZTttZDU9NTUwNzk0NDY1YmEwZWM1MzEyZDY5MTllMjAzYTU1ZjkgXAogIgogREVQRU5EUyA9ICJsaWJic2QgbGlicGNyZSB6bGliIGxpYmNhcCIKLURFUEVORFNfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgb3BlbnNzbDEwIgorREVQRU5EU19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBvcGVuc3NsIgogCiBBTkRST0lEX01JUlJPUiA9ICJhbmRyb2lkLmdvb2dsZXNvdXJjZS5jb20iCiAKQEAgLTM3LDYgKzM3LDcgQEAKICAgICBmaWxlOi8vY29yZS8wMDEwLVVzZS1saW51eC1jYXBhYmlsaXR5Lmgtb24tbGludXgtc3lzdGVtcy10b28ucGF0Y2g7cGF0Y2hkaXI9c3lzdGVtL2NvcmUgXAogICAgIGZpbGU6Ly9jb3JlLzAwMTEtUmVtb3ZlLWJpb25pYy1zcGVjaWZpYy1jYWxscy5wYXRjaDtwYXRjaGRpcj1zeXN0ZW0vY29yZSBcCiAgICAgZmlsZTovL2NvcmUvMDAxMi1GaXgtaW1wbGljaXQtZGVjbGFyYXRpb24tb2Ytc3RsY2F0LXN0cmxjb3B5LWZ1bmN0aW9uLnBhdGNoO3BhdGNoZGlyPXN5c3RlbS9jb3JlIFwKKyAgICBmaWxlOi8vY29yZS9hZGJfbGlic3NsXzExLmRpZmY7cGF0Y2hkaXI9c3lzdGVtL2NvcmUgXAogICAgIGZpbGU6Ly9leHRyYXMvMDAwMS1leHQ0X3V0aWxzLXJlbW92ZS1zZWxpbnV4LWV4dGVuc2lvbnMucGF0Y2g7cGF0Y2hkaXI9c3lzdGVtL2V4dHJhcyBcCiAgICAgZmlsZTovL2V4dHJhcy8wMDAyLWV4dDRfdXRpbHMtYWRkLW8tYXJndW1lbnQtdG8tcHJlc2VydmUtb3duZXJzaGlwLnBhdGNoO3BhdGNoZGlyPXN5c3RlbS9leHRyYXMgXAogICAgIGZpbGU6Ly9saWJzZWxpbnV4LzAwMDEtUmVtb3ZlLWJpb25pYy1zcGVjaWZpYy1jYWxscy5wYXRjaDtwYXRjaGRpcj1leHRlcm5hbC9saWJzZWxpbnV4IFwKQEAgLTU3LDYgKzU4LDkgQEAKIEFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjQgPSAiYXJtIgogQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NSA9ICJhcm0iCiAKK0NPTVBBVElCTEVfSE9TVF9wb3dlcnBjID0gIihudWxsKSIKK0NPTVBBVElCTEVfSE9TVF9wb3dlcnBjNjQgPSAiKG51bGwpIgorCiBpbmhlcml0IHN5c3RlbWQKIAogU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImFuZHJvaWQtdG9vbHMtYWRiZC5zZXJ2aWNlIgpAQCAtOTEsNiArOTUsOSBAQAogICAgICAgbWlwc3xtaXBzZWwpCiAgICAgICAgIGV4cG9ydCBhbmRyb2lkX2FyY2g9bGludXgtbWlwcwogICAgICAgOzsKKyAgICAgIG1pcHM2NHxtaXBzNjRlbCkKKyAgICAgICAgZXhwb3J0IGFuZHJvaWRfYXJjaD1saW51eC1taXBzNjQKKyAgICAgIDs7CiAgICAgICBwb3dlcnBjfHBvd2VycGM2NCkKICAgICAgICAgZXhwb3J0IGFuZHJvaWRfYXJjaD1saW51eC1wcGMKICAgICAgIDs7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYnJlYWtwYWQvYnJlYWtwYWQvMDAwMS1SZXBsYWNlLXVzZS1vZi1zdHJ1Y3QtdWNvbnRleHQtd2l0aC11Y29udGV4dF90LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2JyZWFrcGFkL2JyZWFrcGFkLzAwMDEtUmVwbGFjZS11c2Utb2Ytc3RydWN0LXVjb250ZXh0LXdpdGgtdWNvbnRleHRfdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDdjYjhhMy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYnJlYWtwYWQvYnJlYWtwYWQvMDAwMS1SZXBsYWNlLXVzZS1vZi1zdHJ1Y3QtdWNvbnRleHQtd2l0aC11Y29udGV4dF90LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjQyICswLDAgQEAKLUZyb20gYjkwYzhmM2I2MGJmZTVkYmVkMjgyMzYyMDI0MmU5ZDMwYjllYjI4ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBXZWQsIDI4IEp1biAyMDE3IDE5OjAxOjE4IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIFJlcGxhY2UgdXNlIG9mIHN0cnVjdCB1Y29udGV4dCB3aXRoIHVjb250ZXh0X3QKLQotZ2xpYmMgMi4yNiB3b3VsZCBub3QgZXhwb3NlIHN0cnVjdCB1Y29udGV4dCBhbnltb3JlCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0gLi4uL2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuY2MgICAgfCAzMiArKysrKysrKysrKy0tLS0tLS0tLS0tCi0gLi4uL2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuaCAgICAgfCAxNCArKysrKy0tLS0tCi0gc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmNjICAgICAgfCAxMCArKystLS0tCi0gc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmggICAgICAgfCAgNCArLS0KLSAuLi4vbGludXgvbWljcm9kdW1wX3dyaXRlci9taWNyb2R1bXBfd3JpdGVyLmNjICAgICB8ICAyICstCi0gLi4uL2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuY2MgICAgICAgfCAgMiArLQotIDYgZmlsZXMgY2hhbmdlZCwgMzIgaW5zZXJ0aW9ucygrKSwgMzIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuY2MgYi9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuY2MKLWluZGV4IGM4MDcyNGRkLi4wNTJjZTM3YyAxMDA2NDQKLS0tLSBhL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5jYwotKysrIGIvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVyLmNjCi1AQCAtMzYsMTkgKzM2LDE5IEBAIG5hbWVzcGFjZSBnb29nbGVfYnJlYWtwYWQgewotIAotIC8vIE1pbmlkdW1wIGRlZmluZXMgcmVnaXN0ZXIgc3RydWN0dXJlcyB3aGljaCBhcmUgZGlmZmVyZW50IGZyb20gdGhlIHJhdwotIC8vIHN0cnVjdHVyZXMgd2hpY2ggd2UgZ2V0IGZyb20gdGhlIGtlcm5lbC4gVGhlc2UgYXJlIHBsYXRmb3JtIHNwZWNpZmljCi0tLy8gZnVuY3Rpb25zIHRvIGp1Z2dsZSB0aGUgdWNvbnRleHQgYW5kIHVzZXIgc3RydWN0dXJlcyBpbnRvIG1pbmlkdW1wIGZvcm1hdC4KLSsvLyBmdW5jdGlvbnMgdG8ganVnZ2xlIHRoZSB1Y29udGV4dF90IGFuZCB1c2VyIHN0cnVjdHVyZXMgaW50byBtaW5pZHVtcCBmb3JtYXQuCi0gCi0gI2lmIGRlZmluZWQoX19pMzg2X18pCi0gCi0tdWludHB0cl90IFVDb250ZXh0UmVhZGVyOjpHZXRTdGFja1BvaW50ZXIoY29uc3Qgc3RydWN0IHVjb250ZXh0KiB1YykgewotK3VpbnRwdHJfdCBVQ29udGV4dFJlYWRlcjo6R2V0U3RhY2tQb2ludGVyKGNvbnN0IHVjb250ZXh0X3QqIHVjKSB7Ci0gICByZXR1cm4gdWMtPnVjX21jb250ZXh0LmdyZWdzW1JFR19FU1BdOwotIH0KLSAKLS11aW50cHRyX3QgVUNvbnRleHRSZWFkZXI6OkdldEluc3RydWN0aW9uUG9pbnRlcihjb25zdCBzdHJ1Y3QgdWNvbnRleHQqIHVjKSB7Ci0rdWludHB0cl90IFVDb250ZXh0UmVhZGVyOjpHZXRJbnN0cnVjdGlvblBvaW50ZXIoY29uc3QgdWNvbnRleHRfdCogdWMpIHsKLSAgIHJldHVybiB1Yy0+dWNfbWNvbnRleHQuZ3JlZ3NbUkVHX0VJUF07Ci0gfQotIAotLXZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHQgKnVjLAotK3ZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHRfdCAqdWMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IF9saWJjX2Zwc3RhdGUqIGZwKSB7Ci0gICBjb25zdCBncmVnX3QqIHJlZ3MgPSB1Yy0+dWNfbWNvbnRleHQuZ3JlZ3M7Ci0gCi1AQCAtODgsMTUgKzg4LDE1IEBAIHZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHQgKnVjLAotIAotICNlbGlmIGRlZmluZWQoX194ODZfNjQpCi0gCi0tdWludHB0cl90IFVDb250ZXh0UmVhZGVyOjpHZXRTdGFja1BvaW50ZXIoY29uc3Qgc3RydWN0IHVjb250ZXh0KiB1YykgewotK3VpbnRwdHJfdCBVQ29udGV4dFJlYWRlcjo6R2V0U3RhY2tQb2ludGVyKGNvbnN0IHVjb250ZXh0X3QqIHVjKSB7Ci0gICByZXR1cm4gdWMtPnVjX21jb250ZXh0LmdyZWdzW1JFR19SU1BdOwotIH0KLSAKLS11aW50cHRyX3QgVUNvbnRleHRSZWFkZXI6OkdldEluc3RydWN0aW9uUG9pbnRlcihjb25zdCBzdHJ1Y3QgdWNvbnRleHQqIHVjKSB7Ci0rdWludHB0cl90IFVDb250ZXh0UmVhZGVyOjpHZXRJbnN0cnVjdGlvblBvaW50ZXIoY29uc3QgdWNvbnRleHRfdCogdWMpIHsKLSAgIHJldHVybiB1Yy0+dWNfbWNvbnRleHQuZ3JlZ3NbUkVHX1JJUF07Ci0gfQotIAotLXZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHQgKnVjLAotK3ZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHRfdCAqdWMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IF9saWJjX2Zwc3RhdGUqIGZwcmVncykgewotICAgY29uc3QgZ3JlZ190KiByZWdzID0gdWMtPnVjX21jb250ZXh0LmdyZWdzOwotIAotQEAgLTE0NSwxNSArMTQ1LDE1IEBAIHZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHQgKnVjLAotIAotICNlbGlmIGRlZmluZWQoX19BUk1fRUFCSV9fKQotIAotLXVpbnRwdHJfdCBVQ29udGV4dFJlYWRlcjo6R2V0U3RhY2tQb2ludGVyKGNvbnN0IHN0cnVjdCB1Y29udGV4dCogdWMpIHsKLSt1aW50cHRyX3QgVUNvbnRleHRSZWFkZXI6OkdldFN0YWNrUG9pbnRlcihjb25zdCB1Y29udGV4dF90KiB1YykgewotICAgcmV0dXJuIHVjLT51Y19tY29udGV4dC5hcm1fc3A7Ci0gfQotIAotLXVpbnRwdHJfdCBVQ29udGV4dFJlYWRlcjo6R2V0SW5zdHJ1Y3Rpb25Qb2ludGVyKGNvbnN0IHN0cnVjdCB1Y29udGV4dCogdWMpIHsKLSt1aW50cHRyX3QgVUNvbnRleHRSZWFkZXI6OkdldEluc3RydWN0aW9uUG9pbnRlcihjb25zdCB1Y29udGV4dF90KiB1YykgewotICAgcmV0dXJuIHVjLT51Y19tY29udGV4dC5hcm1fcGM7Ci0gfQotIAotLXZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHQgKnVjKSB7Ci0rdm9pZCBVQ29udGV4dFJlYWRlcjo6RmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSAqb3V0LCBjb25zdCB1Y29udGV4dF90ICp1YykgewotICAgb3V0LT5jb250ZXh0X2ZsYWdzID0gTURfQ09OVEVYVF9BUk1fRlVMTDsKLSAKLSAgIG91dC0+aXJlZ3NbMF0gPSB1Yy0+dWNfbWNvbnRleHQuYXJtX3IwOwotQEAgLTE4NCwxNSArMTg0LDE1IEBAIHZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHQgKnVjKSB7Ci0gCi0gI2VsaWYgZGVmaW5lZChfX2FhcmNoNjRfXykKLSAKLS11aW50cHRyX3QgVUNvbnRleHRSZWFkZXI6OkdldFN0YWNrUG9pbnRlcihjb25zdCBzdHJ1Y3QgdWNvbnRleHQqIHVjKSB7Ci0rdWludHB0cl90IFVDb250ZXh0UmVhZGVyOjpHZXRTdGFja1BvaW50ZXIoY29uc3QgdWNvbnRleHRfdCogdWMpIHsKLSAgIHJldHVybiB1Yy0+dWNfbWNvbnRleHQuc3A7Ci0gfQotIAotLXVpbnRwdHJfdCBVQ29udGV4dFJlYWRlcjo6R2V0SW5zdHJ1Y3Rpb25Qb2ludGVyKGNvbnN0IHN0cnVjdCB1Y29udGV4dCogdWMpIHsKLSt1aW50cHRyX3QgVUNvbnRleHRSZWFkZXI6OkdldEluc3RydWN0aW9uUG9pbnRlcihjb25zdCB1Y29udGV4dF90KiB1YykgewotICAgcmV0dXJuIHVjLT51Y19tY29udGV4dC5wYzsKLSB9Ci0gCi0tdm9pZCBVQ29udGV4dFJlYWRlcjo6RmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSAqb3V0LCBjb25zdCB1Y29udGV4dCAqdWMsCi0rdm9pZCBVQ29udGV4dFJlYWRlcjo6RmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSAqb3V0LCBjb25zdCB1Y29udGV4dF90ICp1YywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgZnBzaW1kX2NvbnRleHQqIGZwcmVncykgewotICAgb3V0LT5jb250ZXh0X2ZsYWdzID0gTURfQ09OVEVYVF9BUk02NF9GVUxMOwotIAotQEAgLTIxMCwxNSArMjEwLDE1IEBAIHZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHQgKnVjLAotIAotICNlbGlmIGRlZmluZWQoX19taXBzX18pCi0gCi0tdWludHB0cl90IFVDb250ZXh0UmVhZGVyOjpHZXRTdGFja1BvaW50ZXIoY29uc3Qgc3RydWN0IHVjb250ZXh0KiB1YykgewotK3VpbnRwdHJfdCBVQ29udGV4dFJlYWRlcjo6R2V0U3RhY2tQb2ludGVyKGNvbnN0IHVjb250ZXh0X3QqIHVjKSB7Ci0gICByZXR1cm4gdWMtPnVjX21jb250ZXh0LmdyZWdzW01EX0NPTlRFWFRfTUlQU19SRUdfU1BdOwotIH0KLSAKLS11aW50cHRyX3QgVUNvbnRleHRSZWFkZXI6OkdldEluc3RydWN0aW9uUG9pbnRlcihjb25zdCBzdHJ1Y3QgdWNvbnRleHQqIHVjKSB7Ci0rdWludHB0cl90IFVDb250ZXh0UmVhZGVyOjpHZXRJbnN0cnVjdGlvblBvaW50ZXIoY29uc3QgdWNvbnRleHRfdCogdWMpIHsKLSAgIHJldHVybiB1Yy0+dWNfbWNvbnRleHQucGM7Ci0gfQotIAotLXZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHQgKnVjKSB7Ci0rdm9pZCBVQ29udGV4dFJlYWRlcjo6RmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSAqb3V0LCBjb25zdCB1Y29udGV4dF90ICp1YykgewotICNpZiBfTUlQU19TSU0gPT0gX0FCSTY0Ci0gICBvdXQtPmNvbnRleHRfZmxhZ3MgPSBNRF9DT05URVhUX01JUFM2NF9GVUxMOwotICNlbGlmIF9NSVBTX1NJTSA9PSBfQUJJTzMyCi1kaWZmIC0tZ2l0IGEvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVyLmggYi9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuaAotaW5kZXggYjZlNzdiNGIuLjJkZTgwYjcwIDEwMDY0NAotLS0tIGEvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVyLmgKLSsrKyBiL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5oCi1AQCAtMzksMjMgKzM5LDIzIEBACi0gCi0gbmFtZXNwYWNlIGdvb2dsZV9icmVha3BhZCB7Ci0gCi0tLy8gV3JhcHMgcGxhdGZvcm0tZGVwZW5kZW50IGltcGxlbWVudGF0aW9ucyBvZiBhY2Nlc3NvcnMgdG8gdWNvbnRleHQgc3RydWN0cy4KLSsvLyBXcmFwcyBwbGF0Zm9ybS1kZXBlbmRlbnQgaW1wbGVtZW50YXRpb25zIG9mIGFjY2Vzc29ycyB0byB1Y29udGV4dF90IHN0cnVjdHMuCi0gc3RydWN0IFVDb250ZXh0UmVhZGVyIHsKLS0gIHN0YXRpYyB1aW50cHRyX3QgR2V0U3RhY2tQb2ludGVyKGNvbnN0IHN0cnVjdCB1Y29udGV4dCogdWMpOwotKyAgc3RhdGljIHVpbnRwdHJfdCBHZXRTdGFja1BvaW50ZXIoY29uc3QgdWNvbnRleHRfdCogdWMpOwotIAotLSAgc3RhdGljIHVpbnRwdHJfdCBHZXRJbnN0cnVjdGlvblBvaW50ZXIoY29uc3Qgc3RydWN0IHVjb250ZXh0KiB1Yyk7Ci0rICBzdGF0aWMgdWludHB0cl90IEdldEluc3RydWN0aW9uUG9pbnRlcihjb25zdCB1Y29udGV4dF90KiB1Yyk7Ci0gCi0tICAvLyBKdWdnbGUgYSBhcmNoLXNwZWNpZmljIHVjb250ZXh0IGludG8gYSBtaW5pZHVtcCBmb3JtYXQKLSsgIC8vIEp1Z2dsZSBhIGFyY2gtc3BlY2lmaWMgdWNvbnRleHRfdCBpbnRvIGEgbWluaWR1bXAgZm9ybWF0Ci0gICAvLyAgIG91dDogdGhlIG1pbmlkdW1wIHN0cnVjdHVyZQotICAgLy8gICBpbmZvOiB0aGUgY29sbGVjdGlvbiBvZiByZWdpc3RlciBzdHJ1Y3R1cmVzLgotICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0KQotLSAgc3RhdGljIHZvaWQgRmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSAqb3V0LCBjb25zdCB1Y29udGV4dCAqdWMsCi0rICBzdGF0aWMgdm9pZCBGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVICpvdXQsIGNvbnN0IHVjb250ZXh0X3QgKnVjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IF9saWJjX2Zwc3RhdGUqIGZwKTsKLSAjZWxpZiBkZWZpbmVkKF9fYWFyY2g2NF9fKQotLSAgc3RhdGljIHZvaWQgRmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSAqb3V0LCBjb25zdCB1Y29udGV4dCAqdWMsCi0rICBzdGF0aWMgdm9pZCBGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVICpvdXQsIGNvbnN0IHVjb250ZXh0X3QgKnVjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGZwc2ltZF9jb250ZXh0KiBmcHJlZ3MpOwotICNlbHNlCi0tICBzdGF0aWMgdm9pZCBGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVICpvdXQsIGNvbnN0IHVjb250ZXh0ICp1Yyk7Ci0rICBzdGF0aWMgdm9pZCBGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVICpvdXQsIGNvbnN0IHVjb250ZXh0X3QgKnVjKTsKLSAjZW5kaWYKLSB9OwotIAotZGlmZiAtLWdpdCBhL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5jYyBiL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5jYwotaW5kZXggNTg2ZDg0ZTkuLjA1OTM2ZDI4IDEwMDY0NAotLS0tIGEvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmNjCi0rKysgYi9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuY2MKLUBAIC00NTcsOSArNDU3LDkgQEAgYm9vbCBFeGNlcHRpb25IYW5kbGVyOjpIYW5kbGVTaWduYWwoaW50IC8qc2lnKi8sIHNpZ2luZm9fdCogaW5mbywgdm9pZCogdWMpIHsKLSAgIC8vIEZpbGwgaW4gYWxsIHRoZSBob2xlcyBpbiB0aGUgc3RydWN0IHRvIG1ha2UgVmFsZ3JpbmQgaGFwcHkuCi0gICBtZW1zZXQoJmdfY3Jhc2hfY29udGV4dF8sIDAsIHNpemVvZihnX2NyYXNoX2NvbnRleHRfKSk7Ci0gICBtZW1jcHkoJmdfY3Jhc2hfY29udGV4dF8uc2lnaW5mbywgaW5mbywgc2l6ZW9mKHNpZ2luZm9fdCkpOwotLSAgbWVtY3B5KCZnX2NyYXNoX2NvbnRleHRfLmNvbnRleHQsIHVjLCBzaXplb2Yoc3RydWN0IHVjb250ZXh0KSk7Ci0rICBtZW1jcHkoJmdfY3Jhc2hfY29udGV4dF8uY29udGV4dCwgdWMsIHNpemVvZih1Y29udGV4dF90KSk7Ci0gI2lmIGRlZmluZWQoX19hYXJjaDY0X18pCi0tICBzdHJ1Y3QgdWNvbnRleHQqIHVjX3B0ciA9IChzdHJ1Y3QgdWNvbnRleHQqKXVjOwotKyAgdWNvbnRleHRfdCogdWNfcHRyID0gKHVjb250ZXh0X3QqKXVjOwotICAgc3RydWN0IGZwc2ltZF9jb250ZXh0KiBmcF9wdHIgPQotICAgICAgIChzdHJ1Y3QgZnBzaW1kX2NvbnRleHQqKSZ1Y19wdHItPnVjX21jb250ZXh0Ll9fcmVzZXJ2ZWQ7Ci0gICBpZiAoZnBfcHRyLT5oZWFkLm1hZ2ljID09IEZQU0lNRF9NQUdJQykgewotQEAgLTQ2OCw5ICs0NjgsOSBAQCBib29sIEV4Y2VwdGlvbkhhbmRsZXI6OkhhbmRsZVNpZ25hbChpbnQgLypzaWcqLywgc2lnaW5mb190KiBpbmZvLCB2b2lkKiB1YykgewotICAgfQotICNlbGlmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19taXBzX18pCi0gICAvLyBGUCBzdGF0ZSBpcyBub3QgcGFydCBvZiB1c2VyIEFCSSBvbiBBUk0gTGludXguCi0tICAvLyBJbiBjYXNlIG9mIE1JUFMgTGludXggRlAgc3RhdGUgaXMgYWxyZWFkeSBwYXJ0IG9mIHN0cnVjdCB1Y29udGV4dAotKyAgLy8gSW4gY2FzZSBvZiBNSVBTIExpbnV4IEZQIHN0YXRlIGlzIGFscmVhZHkgcGFydCBvZiB1Y29udGV4dF90Ci0gICAvLyBhbmQgJ2Zsb2F0X3N0YXRlJyBpcyBub3QgYSBtZW1iZXIgb2YgQ3Jhc2hDb250ZXh0LgotLSAgc3RydWN0IHVjb250ZXh0KiB1Y19wdHIgPSAoc3RydWN0IHVjb250ZXh0Kil1YzsKLSsgIHVjb250ZXh0X3QqIHVjX3B0ciA9ICh1Y29udGV4dF90Kil1YzsKLSAgIGlmICh1Y19wdHItPnVjX21jb250ZXh0LmZwcmVncykgewotICAgICBtZW1jcHkoJmdfY3Jhc2hfY29udGV4dF8uZmxvYXRfc3RhdGUsIHVjX3B0ci0+dWNfbWNvbnRleHQuZnByZWdzLAotICAgICAgICAgICAgc2l6ZW9mKGdfY3Jhc2hfY29udGV4dF8uZmxvYXRfc3RhdGUpKTsKLUBAIC00OTQsNyArNDk0LDcgQEAgYm9vbCBFeGNlcHRpb25IYW5kbGVyOjpTaW11bGF0ZVNpZ25hbERlbGl2ZXJ5KGludCBzaWcpIHsKLSAgIC8vIEV4Y2VwdGlvbkhhbmRsZXI6OkhhbmRsZVNpZ25hbCgpLgotICAgc2lnaW5mby5zaV9jb2RlID0gU0lfVVNFUjsKLSAgIHNpZ2luZm8uc2lfcGlkID0gZ2V0cGlkKCk7Ci0tICBzdHJ1Y3QgdWNvbnRleHQgY29udGV4dDsKLSsgIHVjb250ZXh0X3QgY29udGV4dDsKLSAgIGdldGNvbnRleHQoJmNvbnRleHQpOwotICAgcmV0dXJuIEhhbmRsZVNpZ25hbChzaWcsICZzaWdpbmZvLCAmY29udGV4dCk7Ci0gfQotZGlmZiAtLWdpdCBhL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5oIGIvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmgKLWluZGV4IGRhYmE1N2UwLi4yNTU5OGEyOSAxMDA2NDQKLS0tLSBhL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5oCi0rKysgYi9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuaAotQEAgLTE5MSwxMSArMTkxLDExIEBAIGNsYXNzIEV4Y2VwdGlvbkhhbmRsZXIgewotICAgc3RydWN0IENyYXNoQ29udGV4dCB7Ci0gICAgIHNpZ2luZm9fdCBzaWdpbmZvOwotICAgICBwaWRfdCB0aWQ7ICAvLyB0aGUgY3Jhc2hpbmcgdGhyZWFkLgotLSAgICBzdHJ1Y3QgdWNvbnRleHQgY29udGV4dDsKLSsgICAgdWNvbnRleHRfdCBjb250ZXh0OwotICNpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fbWlwc19fKQotICAgICAvLyAjaWZkZWYgdGhpcyBvdXQgYmVjYXVzZSBGUCBzdGF0ZSBpcyBub3QgcGFydCBvZiB1c2VyIEFCSSBmb3IgTGludXggQVJNLgotICAgICAvLyBJbiBjYXNlIG9mIE1JUFMgTGludXggRlAgc3RhdGUgaXMgYWxyZWFkeSBwYXJ0IG9mIHN0cnVjdAotLSAgICAvLyB1Y29udGV4dCBzbyAnZmxvYXRfc3RhdGUnIGlzIG5vdCByZXF1aXJlZC4KLSsgICAgLy8gdWNvbnRleHRfdCBzbyAnZmxvYXRfc3RhdGUnIGlzIG5vdCByZXF1aXJlZC4KLSAgICAgZnBzdGF0ZV90IGZsb2F0X3N0YXRlOwotICNlbmRpZgotICAgfTsKLWRpZmYgLS1naXQgYS9zcmMvY2xpZW50L2xpbnV4L21pY3JvZHVtcF93cml0ZXIvbWljcm9kdW1wX3dyaXRlci5jYyBiL3NyYy9jbGllbnQvbGludXgvbWljcm9kdW1wX3dyaXRlci9taWNyb2R1bXBfd3JpdGVyLmNjCi1pbmRleCAzNzY0ZWVjMi4uODBhZDVjNDYgMTAwNjQ0Ci0tLS0gYS9zcmMvY2xpZW50L2xpbnV4L21pY3JvZHVtcF93cml0ZXIvbWljcm9kdW1wX3dyaXRlci5jYwotKysrIGIvc3JjL2NsaWVudC9saW51eC9taWNyb2R1bXBfd3JpdGVyL21pY3JvZHVtcF93cml0ZXIuY2MKLUBAIC01OTMsNyArNTkzLDcgQEAgY2xhc3MgTWljcm9kdW1wV3JpdGVyIHsKLSAKLSAgIHZvaWQqIEFsbG9jKHVuc2lnbmVkIGJ5dGVzKSB7IHJldHVybiBkdW1wZXJfLT5hbGxvY2F0b3IoKS0+QWxsb2MoYnl0ZXMpOyB9Ci0gCi0tICBjb25zdCBzdHJ1Y3QgdWNvbnRleHQqIGNvbnN0IHVjb250ZXh0XzsKLSsgIGNvbnN0IHVjb250ZXh0X3QqIGNvbnN0IHVjb250ZXh0XzsKLSAjaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKLSAgIGNvbnN0IGdvb2dsZV9icmVha3BhZDo6ZnBzdGF0ZV90KiBjb25zdCBmbG9hdF9zdGF0ZV87Ci0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyLmNjIGIvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyLmNjCi1pbmRleCBkMTFiYTZlNS4uYzcxNjE0MzQgMTAwNjQ0Ci0tLS0gYS9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuY2MKLSsrKyBiL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRlci5jYwotQEAgLTEzMjMsNyArMTMyMyw3IEBAIGNsYXNzIE1pbmlkdW1wV3JpdGVyIHsKLSAgIGNvbnN0IGludCBmZF87ICAvLyBGaWxlIGRlc2NyaXB0b3Igd2hlcmUgdGhlIG1pbmlkdW0gc2hvdWxkIGJlIHdyaXR0ZW4uCi0gICBjb25zdCBjaGFyKiBwYXRoXzsgIC8vIFBhdGggdG8gdGhlIGZpbGUgd2hlcmUgdGhlIG1pbmlkdW0gc2hvdWxkIGJlIHdyaXR0ZW4uCi0gCi0tICBjb25zdCBzdHJ1Y3QgdWNvbnRleHQqIGNvbnN0IHVjb250ZXh0XzsgIC8vIGFsc28gZnJvbSB0aGUgc2lnbmFsIGhhbmRsZXIKLSsgIGNvbnN0IHVjb250ZXh0X3QqIGNvbnN0IHVjb250ZXh0XzsgIC8vIGFsc28gZnJvbSB0aGUgc2lnbmFsIGhhbmRsZXIKLSAjaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKLSAgIGNvbnN0IGdvb2dsZV9icmVha3BhZDo6ZnBzdGF0ZV90KiBjb25zdCBmbG9hdF9zdGF0ZV87ICAvLyBkaXR0bwotICNlbmRpZgotLS0gCi0yLjEzLjIKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2JyZWFrcGFkL2JyZWFrcGFkLzAwMDItQXZvaWQtdXNpbmctYmFzZW5hbWUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYnJlYWtwYWQvYnJlYWtwYWQvMDAwMi1Bdm9pZC11c2luZy1iYXNlbmFtZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmM2MjgyOS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYnJlYWtwYWQvYnJlYWtwYWQvMDAwMi1Bdm9pZC11c2luZy1iYXNlbmFtZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLUZyb20gODA2OTY0Zjg1Mjc3M2U0MjdmZWE4MmE3NzE2ZDQ0Y2UzYmU0NDk4YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZlbGl4IEphbmRhIDxmZWxpeC5qYW5kYUBwb3N0ZW8uZGU+Ci1EYXRlOiBTdW4sIDEgRmViIDIwMTUgMTQ6Mjc6MzIgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAyLzNdIEF2b2lkIHVzaW5nIGJhc2VuYW1lCi0KLS0tLQotIHNyYy9jb21tb24vbGludXgvZHVtcF9zeW1ib2xzLmNjIHwgNiArKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2NvbW1vbi9saW51eC9kdW1wX3N5bWJvbHMuY2MgYi9zcmMvY29tbW9uL2xpbnV4L2R1bXBfc3ltYm9scy5jYwotaW5kZXggZDAyOWNhMTQuLjZhYzRhMTdiIDEwMDY0NAotLS0tIGEvc3JjL2NvbW1vbi9saW51eC9kdW1wX3N5bWJvbHMuY2MKLSsrKyBiL3NyYy9jb21tb24vbGludXgvZHVtcF9zeW1ib2xzLmNjCi1AQCAtODgxLDkgKzg4MSw5IEBAIGNvbnN0IGNoYXIqIEVsZkFyY2hpdGVjdHVyZShjb25zdCB0eXBlbmFtZSBFbGZDbGFzczo6RWhkciogZWxmX2hlYWRlcikgewotIC8vIGxhc3Qgc2xhc2gsIG9yIHRoZSB3aG9sZSBmaWxlbmFtZSBpZiB0aGVyZSBhcmUgbm8gc2xhc2hlcy4KLSBzdHJpbmcgQmFzZUZpbGVOYW1lKGNvbnN0IHN0cmluZyAmZmlsZW5hbWUpIHsKLSAgIC8vIExvdHMgb2YgY29waWVzISAgYmFzZW5hbWUncyBiZWhhdmlvciBpcyBsZXNzIHRoYW4gaWRlYWwuCi0tICBjaGFyKiBjX2ZpbGVuYW1lID0gc3RyZHVwKGZpbGVuYW1lLmNfc3RyKCkpOwotLSAgc3RyaW5nIGJhc2UgPSBiYXNlbmFtZShjX2ZpbGVuYW1lKTsKLS0gIGZyZWUoY19maWxlbmFtZSk7Ci0rICBjb25zdCBjaGFyICpjX2ZpbGVuYW1lID0gZmlsZW5hbWUuY19zdHIoKTsKLSsgIGNvbnN0IGNoYXIgKnAgPSBzdHJyY2hyKGNfZmlsZW5hbWUsICcvJyk7Ci0rICBzdHJpbmcgYmFzZSA9IHAgPyBwKzEgOiBjX2ZpbGVuYW1lOwotICAgcmV0dXJuIGJhc2U7Ci0gfQotIAotLS0gCi0yLjE0LjEKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2JyZWFrcGFkL2JyZWFrcGFkLzAwMDUtbWQyY29yZS1SZXBsYWNlLWJhc2VuYW1lLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2JyZWFrcGFkL2JyZWFrcGFkLzAwMDUtbWQyY29yZS1SZXBsYWNlLWJhc2VuYW1lLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NTJjMWVkLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9icmVha3BhZC9icmVha3BhZC8wMDA1LW1kMmNvcmUtUmVwbGFjZS1iYXNlbmFtZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLUZyb20gYmJmMmI1ZWQ1ZDkzYjIyN2RmOGFlYTU3MjY3MjdiNDhlMjlmNjc5MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBUaHUsIDE0IFNlcCAyMDE3IDIzOjM1OjQwIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggNS81XSBtZDJjb3JlOiBSZXBsYWNlIGJhc2VuYW1lKCkKLQotbXVzbCBkb2VzIG5vdCBwcm92aWRlIGl0Ci0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBzcmMvdG9vbHMvbGludXgvbWQyY29yZS9taW5pZHVtcC0yLWNvcmUuY2MgfCA1ICsrKystCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3Rvb2xzL2xpbnV4L21kMmNvcmUvbWluaWR1bXAtMi1jb3JlLmNjIGIvc3JjL3Rvb2xzL2xpbnV4L21kMmNvcmUvbWluaWR1bXAtMi1jb3JlLmNjCi1pbmRleCA2YTllMjhlYi4uNTJiODFjMjIgMTAwNjQ0Ci0tLS0gYS9zcmMvdG9vbHMvbGludXgvbWQyY29yZS9taW5pZHVtcC0yLWNvcmUuY2MKLSsrKyBiL3NyYy90b29scy9saW51eC9tZDJjb3JlL21pbmlkdW1wLTItY29yZS5jYwotQEAgLTEwNyw2ICsxMDcsOSBAQCBzdHJ1Y3QgT3B0aW9ucyB7Ci0gCi0gc3RhdGljIHZvaWQKLSBVc2FnZShpbnQgYXJnYywgY29uc3QgY2hhciogYXJndltdKSB7Ci0rICBjb25zdCBjaGFyICpjX2ZpbGVuYW1lID0gYXJndlswXTs7Ci0rICBjb25zdCBjaGFyICpwID0gc3RycmNocihjX2ZpbGVuYW1lLCAnLycpOwotKyAgY29uc3QgY2hhciAqYmFzZSA9IHAgPyBwKzEgOiBjX2ZpbGVuYW1lOwotICAgZnByaW50ZihzdGRlcnIsCi0gICAgICAgICAgICJVc2FnZTogJXMgW29wdGlvbnNdIDxtaW5pZHVtcCBmaWxlPlxuIgotICAgICAgICAgICAiXG4iCi1AQCAtMTMzLDcgKzEzNiw3IEBAIFVzYWdlKGludCBhcmdjLCBjb25zdCBjaGFyKiBhcmd2W10pIHsKLSAgICAgICAgICAgIiAgICAgICAgICAgICBsb29rdXBzIHRvIGJlIGRvbmUgaW4gdGhpcyBkaXJlY3RvcnkgcmF0aGVyIHRoYW4gdGhlIGZpbGVzeXN0ZW1cbiIKLSAgICAgICAgICAgIiAgICAgICAgICAgICBsYXlvdXQgYXMgaXQgZXhpc3RzIGluIHRoZSBjcmFzaGluZyBpbWFnZS4gIFRoaXMgcGF0aCBzaG91bGQgZW5kXG4iCi0gICAgICAgICAgICIgICAgICAgICAgICAgd2l0aCBhIHNsYXNoIGlmIGl0J3MgYSBkaXJlY3RvcnkuICBlLmcuIC92YXIvbGliL2JyZWFrcGFkL1xuIgotLSAgICAgICAgICAiIiwgYmFzZW5hbWUoYXJndlswXSkpOwotKyAgICAgICAgICAiIiwgYmFzZSk7Ci0gfQotIAotIHN0YXRpYyB2b2lkCi0tLSAKLTIuMTQuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYnJlYWtwYWQvYnJlYWtwYWQvZG9udC1jbG9iYmVyLXJzcC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9icmVha3BhZC9icmVha3BhZC9kb250LWNsb2JiZXItcnNwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxYzM3ZmMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYnJlYWtwYWQvYnJlYWtwYWQvZG9udC1jbG9iYmVyLXJzcC5wYXRjaApAQCAtMCwwICsxLDMwIEBACitEbyBub3QgYWRkIHN0YWNrIHBvaW50ZXIgdG8gY2xvYmJlciBsaXN0CisKK2l0IHdhcyBiZWluZyBpZ25vcmVkIHVudGlsIGdjYyA5LjAgYmVjYW1lIGNhcGFibGUKK29mIGZsYWdnaW5nIHRoaXMgc2lsZW50IGlnbm9yaW5nIHZpYSBbMV0KKworWzFdIGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTUyODEzPFBhc3RlPgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2xpbnV4LXN5c2NhbGwtc3VwcG9ydC8rLzEzOTAxNjBdCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCistLS0gYS9zcmMvdGhpcmRfcGFydHkvbHNzL2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oCisrKysgYi9zcmMvdGhpcmRfcGFydHkvbHNzL2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oCitAQCAtMTk2Niw3ICsxOTY2LDcgQEAgc3RydWN0IGtlcm5lbF9zdGF0ZnMgeworICAgICAgICAgX19hc21fXyB2b2xhdGlsZShMU1NfRU5UUllQT0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgOiAiPWEiIChfX3JlcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgIDogIjAiIChfX05SXyMjbmFtZSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICAgICAgICAgICAgICAgICAgICAgICA6ICJlc3AiLCAibWVtb3J5Iik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgICAgICAgICAgICAgICAgICAgICAgOiAibWVtb3J5Iik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICBMU1NfUkVUVVJOKHR5cGUsX19yZXMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgIH0KKyAgICAgI3VuZGVmICBfc3lzY2FsbDEKK0BAIC0yNDA3LDcgKzI0MDcsNyBAQCBzdHJ1Y3Qga2VybmVsX3N0YXRmcyB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkIihMU1NfU1lTQ0FMTF9BUkcocGFyZW50X3RpZHB0cikpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIoTFNTX1NZU0NBTExfQVJHKG5ld3RscykpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIoTFNTX1NZU0NBTExfQVJHKGNoaWxkX3RpZHB0cikpCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICJyc3AiLCAibWVtb3J5IiwgInI4IiwgInIxMCIsICJyMTEiLCAicmN4Iik7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICJtZW1vcnkiLCAicjgiLCAicjEwIiwgInIxMSIsICJyY3giKTsKKyAgICAgICB9CisgICAgICAgTFNTX1JFVFVSTihpbnQsIF9fcmVzKTsKKyAgICAgfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2JyZWFrcGFkL2JyZWFrcGFkX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9icmVha3BhZC9icmVha3BhZF9naXQuYmIKaW5kZXggZDk3NzNjOS4uNWY5YTcyZSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2JyZWFrcGFkL2JyZWFrcGFkX2dpdC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYnJlYWtwYWQvYnJlYWtwYWRfZ2l0LmJiCkBAIC0xMywxNiArMTMsMTcgQEAKIAogQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCiAKLVBFID0gIjEiCitQRSA9ICIyIgogCi1QViA9ICIxLjArZ2l0JHtTUkNQVn0iCitQViA9ICIxLjAiCiAKIFNSQ1JFVl9GT1JNQVQgPSAiYnJlYWtwYWRfZ3Rlc3RfcHJvdG9idWZfbHNzX2d5cCIKIAotU1JDUkVWX2JyZWFrcGFkID0gImRlYTg2N2U3NmYyNGU0YTY4Mzk1Njg0YjlkMWNmMjRiY2VmODJmMjAiCitTUkNSRVZfYnJlYWtwYWQgPSAiNTQ2NzM5M2EzZDFlN2FiOTI5ZmQwMWQ3OTk3MTcwMWJmNGUyYzJjNiIKKyN2MS44LjAKIFNSQ1JFVl9ndGVzdCA9ICJlYzQ0YzZjMTY3NWMyNWI5ODI3YWFjZDA4YzAyNDMzY2NjZGU3NzgwIgogU1JDUkVWX3Byb3RvYnVmID0gImNiNmRkNGVmNWY4MmU0MWUwNjE3OWRjZDU3ZDNiMWQ5MjQ2YWQ2YWMiCi1TUkNSRVZfbHNzID0gImE5MTYzM2QxNzI0MDdmNmM4M2RkNjlhZjExNTEwYjM3YWZlYmI3ZjkiCitTUkNSRVZfbHNzID0gImE4OWJmNzkwM2YzMTY5ZTZiYzdiOGVmYzEwYTczYTc1NzFkZTIxY2YiCiBTUkNSRVZfZ3lwID0gIjMyNGRkMTY2YjdjMGIzOWQ1MTMwMjZmYTUyZDYyODBhYzZkNTY3NzAiCiAKIFNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9nb29nbGUvYnJlYWtwYWQ7bmFtZT1icmVha3BhZCBcCkBAIC0zMCwyNiArMzEsMjQgQEAKICAgICAgICAgICAgZ2l0Oi8vZ2l0aHViLmNvbS9nb29nbGUvcHJvdG9idWYuZ2l0O2Rlc3RzdWZmaXg9Z2l0L3NyYy90aGlyZF9wYXJ0eS9wcm90b2J1Zi9wcm90b2J1ZjtuYW1lPXByb3RvYnVmIFwKICAgICAgICAgICAgZ2l0Oi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9saW51eC1zeXNjYWxsLXN1cHBvcnQ7cHJvdG9jb2w9aHR0cHM7ZGVzdHN1ZmZpeD1naXQvc3JjL3RoaXJkX3BhcnR5L2xzcztuYW1lPWxzcyBcCiAgICAgICAgICAgIGdpdDovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vZXh0ZXJuYWwvZ3lwO3Byb3RvY29sPWh0dHBzO2Rlc3RzdWZmaXg9Z2l0L3NyYy90b29scy9neXA7bmFtZT1neXAgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1SZXBsYWNlLXVzZS1vZi1zdHJ1Y3QtdWNvbnRleHQtd2l0aC11Y29udGV4dF90LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtaW5jbHVkZS1zeXMtcmVnLmgtdG8tZ2V0LV9fV09SRFNJWkUtb24tbXVzbC1saWJjLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItQXZvaWQtdXNpbmctYmFzZW5hbWUucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMy1GaXgtY29uZmxpY3QtYmV0d2Vlbi1tdXNsLWxpYmMtZGlyZW50LmgtYW5kLWxzcy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLVR1cm4tb2ZmLXNpZ24tY29tcGFyZS1mb3ItbXVzbC1saWJjLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDItc3lzLXNpZ25hbC5oLWlzLWEtbm9ucG9ydGFibGUtYWxpYXMtZm9yLXNpZ25hbC5oLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDMtRG9udC1pbmNsdWRlLXN0YWIuaC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDA0LWVsZl9yZWFkZXIuY2MtaW5jbHVkZS1zeXMtcmVnLmgtdG8tZ2V0LV9fV09SRFNJWkUtb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNS1tZDJjb3JlLVJlcGxhY2UtYmFzZW5hbWUucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMi1Vc2UtX2Zwc3RhdGUtaW5zdGVhZC1vZi1fbGliY19mcHN0YXRlLW9uLWxpbnV4LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL21jb250ZXh0LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtZGlzYWJsZS1jYWxscy10by1nZXRjb250ZXh0LXdpdGgtbXVzbC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWxzcy1NYXRjaC1zeXNjYWxscy10by1tYXRjaC1tdXNsLnBhdGNoO3BhdGNoZGlyPXNyYy90aGlyZF9wYXJ0eS9sc3MgXAogICAgICAgICAgICBmaWxlOi8vbWlwc19hc21fc2dpZGVmcy5wYXRjaDtwYXRjaGRpcj1zcmMvdGhpcmRfcGFydHkvbHNzIFwKKyAgICAgICAgICAgZmlsZTovL2RvbnQtY2xvYmJlci1yc3AucGF0Y2ggXAogIgogUyA9ICIke1dPUktESVJ9L2dpdCIKIAogQ1hYRkxBR1MgKz0gIi1EX0dOVV9TT1VSQ0UiCiAKLUNPTVBBVElCTEVfTUFDSElORV9wb3dlcnBjID0gIighLipwcGMpLioiCitDT01QQVRJQkxFX0hPU1RfcG93ZXJwYyA9ICJudWxsIgogCiBkb19pbnN0YWxsX2FwcGVuZCgpIHsKICAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfQpAQCAtNzIsNyArNzEsNyBAQAogICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuaCAke0R9JHtpbmNsdWRlZGlyfS9icmVha3BhZC9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRlci5oCiAKICAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfS9icmVha3BhZC9jb21tb24KLSAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3JjL2NvbW1vbi9tZW1vcnkuaCAke0R9JHtpbmNsdWRlZGlyfS9icmVha3BhZC9jb21tb24vbWVtb3J5LmgKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3JjL2NvbW1vbi9tZW1vcnlfYWxsb2NhdG9yLmggJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQvY29tbW9uL21lbW9yeV9hbGxvY2F0b3IuaAogICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zcmMvY29tbW9uL3Njb3BlZF9wdHIuaCAke0R9JHtpbmNsdWRlZGlyfS9icmVha3BhZC9jb21tb24vc2NvcGVkX3B0ci5oCiAgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3NyYy9jb21tb24vdXNpbmdfc3RkX3N0cmluZy5oICR7RH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkL2NvbW1vbi91c2luZ19zdGRfc3RyaW5nLmgKIApAQCAtMTIwLDQgKzExOSw1IEBACiAjfCB7c3RhbmRhcmQgaW5wdXR9OjIxODQ6IEVycm9yOiBUaHVtYiBkb2VzIG5vdCBzdXBwb3J0IHRoaXMgYWRkcmVzc2luZyBtb2RlIC0tIGBzdHIgcjYsW3IxLCMtNF0hJwogI3wge3N0YW5kYXJkIGlucHV0fToyMTkxOiBFcnJvcjogbG8gcmVnaXN0ZXIgcmVxdWlyZWQgLS0gYGxkciBwYyxbc3BdJwogI3wgbWFrZTogKioqIFtzcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIub10gRXJyb3IgMQotQVJNX0lOU1RSVUNUSU9OX1NFVCA9ICJhcm0iCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY1ID0gImFybSIKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjQgPSAiYXJtIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2RveHlnZW4vZG94eWdlbi8wMDAxLWJ1aWxkLWRvbi10LWxvb2stZm9yLUljb252LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2RveHlnZW4vZG94eWdlbi8wMDAxLWJ1aWxkLWRvbi10LWxvb2stZm9yLUljb252LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4NmRjMTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZG94eWdlbi9kb3h5Z2VuLzAwMDEtYnVpbGQtZG9uLXQtbG9vay1mb3ItSWNvbnYucGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorRnJvbSAyNDY1MGIwYzdkYjZiMjEzYTJlYWE1MDYxYjc1YjlmMWI0M2YxY2U5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQmFydG9zeiBHb2xhc3pld3NraSA8YnJnbEBiZ2Rldi5wbD4KK0RhdGU6IEZyaSwgMjMgTm92IDIwMTggMTE6NDQ6NTYgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gYnVpbGQ6IGRvbid0IGxvb2sgZm9yIEljb252CisKK0Ryb3AgdGhlIGZpbmRfcGFja2FnZSgpIGZvciBJY29udi4gQ01ha2UgaXMgdW5hYmxlIHRvIGZpbmQgaWNvbnYuaCBpbgorbmF0aXZlIGJ1aWxkIGJ1dCBhbGwgbW9kZXJuIHN5c3RlbXMgc3VwcGx5IGl0IGFzIHBhcnQgb2YgdGhlIHN0YW5kYXJkCitDIGxpYnJhcnkuIFdlIGRvbid0IG5lZWQgdGhpcyBjaGVjayBpbiBtZXRhLW9wZW5lbWJlZGRlZC4KKworU2lnbmVkLW9mZi1ieTogQmFydG9zeiBHb2xhc3pld3NraSA8YnJnbEBiZ2Rldi5wbD4KKworVXBzdHJlYW0tc3RhdHVzOiBJbmFwcHJvcHJpYXRlCistIHVwc3RyZWFtIGRveHlnZW4gbXVzdCBidWlsZCBvbiBtYW55IGFyY2hpdGVjdHVyZXMsIHRoaXMgY2hhbmdlIGlzCisgIHRvbyBpbnRydXNpdmUgZm9yIHVwc3RyZWFtCistLS0KKyBDTWFrZUxpc3RzLnR4dCB8IDQgLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAoraW5kZXggNDVjMmYyYzEuLjIyY2YwMTQ0IDEwMDY0NAorLS0tIGEvQ01ha2VMaXN0cy50eHQKKysrKyBiL0NNYWtlTGlzdHMudHh0CitAQCAtOTIsMTAgKzkyLDYgQEAgaWYgKHNxbGl0ZTMpCisgICBlbmRpZigpCisgZW5kaWYoKQorIAorLWZpbmRfcGFja2FnZShJY29udiBSRVFVSVJFRCkKKy1pbmNsdWRlX2RpcmVjdG9yaWVzKCR7SUNPTlZfSU5DTFVERV9ESVJ9KQorLQorLQorICNzZXQoRE9YWURPQ1MgJHtDTUFLRV9TT1VSQ0VfRElSfS9kb2MgQ0FDSEUgSU5URVJOQUwgIlBhdGggdG8gZG94eWdlbiBkb2NzIikKKyBzZXQoRE9YWURPQ1MgJHtQUk9KRUNUX0JJTkFSWV9ESVJ9L2RvYykKKyBzZXQoRU5We0RPWFlHRU5fRE9DRElSfSAke0RPWFlET0NTfSkKKy0tIAorMi4xNy4xCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9kb3h5Z2VuL2RveHlnZW5fMS44LjE1LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2RveHlnZW4vZG94eWdlbl8xLjguMTUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzg0Njg0NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9kb3h5Z2VuL2RveHlnZW5fMS44LjE1LmJiCkBAIC0wLDAgKzEsMTYgQEAKK0RFU0NSSVBUSU9OID0gIkRveHlnZW4gaXMgdGhlIGRlIGZhY3RvIHN0YW5kYXJkIHRvb2wgZm9yIGdlbmVyYXRpbmcgZG9jdW1lbnRhdGlvbiBmcm9tIGFubm90YXRlZCBDKysgc291cmNlcy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmRveHlnZW4ub3JnLyIKKworTElDRU5TRSA9ICJHUEwtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisKK2luaGVyaXQgY21ha2UgcHl0aG9uM25hdGl2ZQorCitERVBFTkRTID0gImZsZXgtbmF0aXZlIGJpc29uLW5hdGl2ZSIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vJHtCUE59LyR7QlB9LnNyYy50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1idWlsZC1kb24tdC1sb29rLWZvci1JY29udi5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICIyYzk4YzczZWJhMzkyZDMzNGY1YmJhZjE1ZTA5YmFlMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiZDljMGVjNDYyYjZhOWI1YjQxZWRlOTdiZWRlNTQ1OGUwZDdiYjQwZDRjZmEyN2Y2ZjYyMmViMzNjNTkyNDVkIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9mbGF0YnVmZmVycy9maWxlcy8wMDAxLWNvcnJlY3QtdmVyc2lvbi1mb3Itc28tbGliLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2ZsYXRidWZmZXJzL2ZpbGVzLzAwMDEtY29ycmVjdC12ZXJzaW9uLWZvci1zby1saWIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE3YTQyZjkuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2ZsYXRidWZmZXJzL2ZpbGVzLzAwMDEtY29ycmVjdC12ZXJzaW9uLWZvci1zby1saWIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1Gcm9tIDhiNDRkYzY1ZDk4ZDUwYjQ2Mjg0M2FjOWRhYjZmZTNmYzI1YWJlMzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBQYXNjYWwgQmFjaCA8cGFzY2FsLmJhY2hAc2llbWVucy5jb20+Ci1EYXRlOiBGcmksIDEyIE1heSAyMDE3IDEzOjU0OjQ5ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIGNvcnJlY3QgdmVyc2lvbiBmb3Igc28gbGliCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0tLS0KLSBDTWFrZUxpc3RzLnR4dCB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAotaW5kZXggMzY3MGFmZS4uZjRmY2QyYyAxMDA2NDQKLS0tLSBhL0NNYWtlTGlzdHMudHh0Ci0rKysgYi9DTWFrZUxpc3RzLnR4dAotQEAgLTE3Miw2ICsxNzIsNyBAQCBlbmRpZigpCi0gaWYoRkxBVEJVRkZFUlNfQlVJTERfU0hBUkVETElCKQotICAgYWRkX2xpYnJhcnkoZmxhdGJ1ZmZlcnNfc2hhcmVkIFNIQVJFRCAke0ZsYXRCdWZmZXJzX0xpYnJhcnlfU1JDU30pCi0gICBzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoZmxhdGJ1ZmZlcnNfc2hhcmVkIFBST1BFUlRJRVMgT1VUUFVUX05BTUUgZmxhdGJ1ZmZlcnMpCi0rICBzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoZmxhdGJ1ZmZlcnNfc2hhcmVkIFBST1BFUlRJRVMgVkVSU0lPTiAiJHtQVn0iKQotIGVuZGlmKCkKLSAKLSBmdW5jdGlvbihjb21waWxlX2ZsYXRidWZmZXJzX3NjaGVtYV90b19jcHAgU1JDX0ZCUykKLS0tIAotMi4xLjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2ZsYXRidWZmZXJzL2ZpbGVzLzAwMDEtZmxhdGJ1ZmZlcnMtTW92ZS1FbmRpYW5Td2FwLXRlbXBsYXRlLXRvLWZsYXRidWZmZXJzLS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9mbGF0YnVmZmVycy9maWxlcy8wMDAxLWZsYXRidWZmZXJzLU1vdmUtRW5kaWFuU3dhcC10ZW1wbGF0ZS10by1mbGF0YnVmZmVycy0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ3MzZmMDEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2ZsYXRidWZmZXJzL2ZpbGVzLzAwMDEtZmxhdGJ1ZmZlcnMtTW92ZS1FbmRpYW5Td2FwLXRlbXBsYXRlLXRvLWZsYXRidWZmZXJzLS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDExMyArMCwwIEBACi1Gcm9tIGE2MTRkOGUyMGZhOWU0ZmQxNmI2OTlkNTgxZGRhYzI5NTZjMTIwZjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVHVlLCAxOSBTZXAgMjAxNyAxMDowNDowMiAtMDcwMAotU3ViamVjdDogW1BBVENIIDEvMl0gZmxhdGJ1ZmZlcnM6IE1vdmUgRW5kaWFuU3dhcCB0ZW1wbGF0ZSB0bwotIGZsYXRidWZmZXJzL2Jhc2UuaAotCi1DbGFuZyBjb21wbGFpbnMKLWNhbGwgdG8gZnVuY3Rpb24gJ0VuZGlhblN3YXAnIHRoYXQgaXMgbmVpdGhlciB2aXNpYmxlIGluIHRoZSB0ZW1wbGF0ZSBkZWZpbml0aW9uIG5vciBmb3VuZCBieSBhcmd1bWVudC1kZXBlbmRlbnQgbG9va3VwCi0gICAgIHJldHVybiBFbmRpYW5Td2FwKHQpOwotCi1UaGlzIHNlZW1zIHRvIGJlIGR1ZSB0byBsaW1pdGF0aW9uIG9mIHR3by1waGFzZSBsb29rdXAgb2YgZGVwZW5kZW50IG5hbWVzIGluIHRlbXBsYXRlIGRlZmluaXRpb25zCi0KLUl0cyBub3QgYmVpbmcgZm91bmQgdXNpbmcgYXNzb2NpYXRlZCBuYW1lc3BhY2VzIHRoZXJlZm9yZQotaXQgaGFzIHRvIGJlIG1hZGUgdmlzaWJsZSBhdCB0aGUgdGVtcGxhdGUgZGVmaW5pdGlvbiBzaXRlIGFzIHdlbGwKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKLQotIGluY2x1ZGUvZmxhdGJ1ZmZlcnMvYmFzZS5oICAgICAgICB8IDMzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwotIGluY2x1ZGUvZmxhdGJ1ZmZlcnMvZmxhdGJ1ZmZlcnMuaCB8IDMyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCAzMyBpbnNlcnRpb25zKCspLCAzMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2luY2x1ZGUvZmxhdGJ1ZmZlcnMvYmFzZS5oIGIvaW5jbHVkZS9mbGF0YnVmZmVycy9iYXNlLmgKLWluZGV4IGYwNTE3NTUuLmM3M2ZiMmQgMTAwNjQ0Ci0tLS0gYS9pbmNsdWRlL2ZsYXRidWZmZXJzL2Jhc2UuaAotKysrIGIvaW5jbHVkZS9mbGF0YnVmZmVycy9iYXNlLmgKLUBAIC0xNTAsNiArMTUwLDM5IEBAIHR5cGVkZWYgdWludG1heF90IGxhcmdlc3Rfc2NhbGFyX3Q7Ci0gLy8gV2Ugc3VwcG9ydCBhbGlnbmluZyB0aGUgY29udGVudHMgb2YgYnVmZmVycyB1cCB0byB0aGlzIHNpemUuCi0gI2RlZmluZSBGTEFUQlVGRkVSU19NQVhfQUxJR05NRU5UIDE2Ci0gCi0rdGVtcGxhdGU8dHlwZW5hbWUgVD4gVCBFbmRpYW5Td2FwKFQgdCkgewotKyAgI2lmIGRlZmluZWQoX01TQ19WRVIpCi0rICAgICNkZWZpbmUgRkxBVEJVRkZFUlNfQllURVNXQVAxNiBfYnl0ZXN3YXBfdXNob3J0Ci0rICAgICNkZWZpbmUgRkxBVEJVRkZFUlNfQllURVNXQVAzMiBfYnl0ZXN3YXBfdWxvbmcKLSsgICAgI2RlZmluZSBGTEFUQlVGRkVSU19CWVRFU1dBUDY0IF9ieXRlc3dhcF91aW50NjQKLSsgICNlbHNlCi0rICAgICNpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiBfX0dOVUNfXyAqIDEwMCArIF9fR05VQ19NSU5PUl9fIDwgNDA4Ci0rICAgICAgLy8gX19idWlsdGluX2Jzd2FwMTYgd2FzIG1pc3NpbmcgcHJpb3IgdG8gR0NDIDQuOC4KLSsgICAgICAjZGVmaW5lIEZMQVRCVUZGRVJTX0JZVEVTV0FQMTYoeCkgXAotKyAgICAgICAgc3RhdGljX2Nhc3Q8dWludDE2X3Q+KF9fYnVpbHRpbl9ic3dhcDMyKHN0YXRpY19jYXN0PHVpbnQzMl90Pih4KSA8PCAxNikpCi0rICAgICNlbHNlCi0rICAgICAgI2RlZmluZSBGTEFUQlVGRkVSU19CWVRFU1dBUDE2IF9fYnVpbHRpbl9ic3dhcDE2Ci0rICAgICNlbmRpZgotKyAgICAjZGVmaW5lIEZMQVRCVUZGRVJTX0JZVEVTV0FQMzIgX19idWlsdGluX2Jzd2FwMzIKLSsgICAgI2RlZmluZSBGTEFUQlVGRkVSU19CWVRFU1dBUDY0IF9fYnVpbHRpbl9ic3dhcDY0Ci0rICAjZW5kaWYKLSsgIGlmIChzaXplb2YoVCkgPT0gMSkgeyAgIC8vIENvbXBpbGUtdGltZSBpZi10aGVuJ3MuCi0rICAgIHJldHVybiB0OwotKyAgfSBlbHNlIGlmIChzaXplb2YoVCkgPT0gMikgewotKyAgICBhdXRvIHIgPSBGTEFUQlVGRkVSU19CWVRFU1dBUDE2KCpyZWludGVycHJldF9jYXN0PHVpbnQxNl90ICo+KCZ0KSk7Ci0rICAgIHJldHVybiAqcmVpbnRlcnByZXRfY2FzdDxUICo+KCZyKTsKLSsgIH0gZWxzZSBpZiAoc2l6ZW9mKFQpID09IDQpIHsKLSsgICAgYXV0byByID0gRkxBVEJVRkZFUlNfQllURVNXQVAzMigqcmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdCAqPigmdCkpOwotKyAgICByZXR1cm4gKnJlaW50ZXJwcmV0X2Nhc3Q8VCAqPigmcik7Ci0rICB9IGVsc2UgaWYgKHNpemVvZihUKSA9PSA4KSB7Ci0rICAgIGF1dG8gciA9IEZMQVRCVUZGRVJTX0JZVEVTV0FQNjQoKnJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3QgKj4oJnQpKTsKLSsgICAgcmV0dXJuICpyZWludGVycHJldF9jYXN0PFQgKj4oJnIpOwotKyAgfSBlbHNlIHsKLSsgICAgYXNzZXJ0KDApOwotKyAgfQotK30KLSsKLSsKLSB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBUIEVuZGlhblNjYWxhcihUIHQpIHsKLSAgICNpZiBGTEFUQlVGRkVSU19MSVRUTEVFTkRJQU4KLSAgICAgcmV0dXJuIHQ7Ci1kaWZmIC0tZ2l0IGEvaW5jbHVkZS9mbGF0YnVmZmVycy9mbGF0YnVmZmVycy5oIGIvaW5jbHVkZS9mbGF0YnVmZmVycy9mbGF0YnVmZmVycy5oCi1pbmRleCA5MjE2Y2Y0Li5mNzQ5ZGNiIDEwMDY0NAotLS0tIGEvaW5jbHVkZS9mbGF0YnVmZmVycy9mbGF0YnVmZmVycy5oCi0rKysgYi9pbmNsdWRlL2ZsYXRidWZmZXJzL2ZsYXRidWZmZXJzLmgKLUBAIC0zNywzOCArMzcsNiBAQCBpbmxpbmUgdm9pZCBFbmRpYW5DaGVjaygpIHsKLSAgICh2b2lkKWVuZGlhbnRlc3Q7Ci0gfQotIAotLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IFQgRW5kaWFuU3dhcChUIHQpIHsKLS0gICNpZiBkZWZpbmVkKF9NU0NfVkVSKQotLSAgICAjZGVmaW5lIEZMQVRCVUZGRVJTX0JZVEVTV0FQMTYgX2J5dGVzd2FwX3VzaG9ydAotLSAgICAjZGVmaW5lIEZMQVRCVUZGRVJTX0JZVEVTV0FQMzIgX2J5dGVzd2FwX3Vsb25nCi0tICAgICNkZWZpbmUgRkxBVEJVRkZFUlNfQllURVNXQVA2NCBfYnl0ZXN3YXBfdWludDY0Ci0tICAjZWxzZQotLSAgICAjaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgX19HTlVDX18gKiAxMDAgKyBfX0dOVUNfTUlOT1JfXyA8IDQwOAotLSAgICAgIC8vIF9fYnVpbHRpbl9ic3dhcDE2IHdhcyBtaXNzaW5nIHByaW9yIHRvIEdDQyA0LjguCi0tICAgICAgI2RlZmluZSBGTEFUQlVGRkVSU19CWVRFU1dBUDE2KHgpIFwKLS0gICAgICAgIHN0YXRpY19jYXN0PHVpbnQxNl90PihfX2J1aWx0aW5fYnN3YXAzMihzdGF0aWNfY2FzdDx1aW50MzJfdD4oeCkgPDwgMTYpKQotLSAgICAjZWxzZQotLSAgICAgICNkZWZpbmUgRkxBVEJVRkZFUlNfQllURVNXQVAxNiBfX2J1aWx0aW5fYnN3YXAxNgotLSAgICAjZW5kaWYKLS0gICAgI2RlZmluZSBGTEFUQlVGRkVSU19CWVRFU1dBUDMyIF9fYnVpbHRpbl9ic3dhcDMyCi0tICAgICNkZWZpbmUgRkxBVEJVRkZFUlNfQllURVNXQVA2NCBfX2J1aWx0aW5fYnN3YXA2NAotLSAgI2VuZGlmCi0tICBpZiAoc2l6ZW9mKFQpID09IDEpIHsgICAvLyBDb21waWxlLXRpbWUgaWYtdGhlbidzLgotLSAgICByZXR1cm4gdDsKLS0gIH0gZWxzZSBpZiAoc2l6ZW9mKFQpID09IDIpIHsKLS0gICAgYXV0byByID0gRkxBVEJVRkZFUlNfQllURVNXQVAxNigqcmVpbnRlcnByZXRfY2FzdDx1aW50MTZfdCAqPigmdCkpOwotLSAgICByZXR1cm4gKnJlaW50ZXJwcmV0X2Nhc3Q8VCAqPigmcik7Ci0tICB9IGVsc2UgaWYgKHNpemVvZihUKSA9PSA0KSB7Ci0tICAgIGF1dG8gciA9IEZMQVRCVUZGRVJTX0JZVEVTV0FQMzIoKnJlaW50ZXJwcmV0X2Nhc3Q8dWludDMyX3QgKj4oJnQpKTsKLS0gICAgcmV0dXJuICpyZWludGVycHJldF9jYXN0PFQgKj4oJnIpOwotLSAgfSBlbHNlIGlmIChzaXplb2YoVCkgPT0gOCkgewotLSAgICBhdXRvIHIgPSBGTEFUQlVGRkVSU19CWVRFU1dBUDY0KCpyZWludGVycHJldF9jYXN0PHVpbnQ2NF90ICo+KCZ0KSk7Ci0tICAgIHJldHVybiAqcmVpbnRlcnByZXRfY2FzdDxUICo+KCZyKTsKLS0gIH0gZWxzZSB7Ci0tICAgIGFzc2VydCgwKTsKLS0gIH0KLS19Ci0tCi0gdGVtcGxhdGU8dHlwZW5hbWUgVD4gRkxBVEJVRkZFUlNfQ09OU1RFWFBSIHNpemVfdCBBbGlnbk9mKCkgewotICAgI2lmZGVmIF9NU0NfVkVSCi0gICAgIHJldHVybiBfX2FsaWdub2YoVCk7Ci0tLSAKLTIuMTQuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZmxhdGJ1ZmZlcnMvZmlsZXMvMDAwMi11c2UtX19idWlsdGluX2Jzd2FwMTYtd2hlbi1idWlsZGluZy13aXRoLWNsYW5nLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2ZsYXRidWZmZXJzL2ZpbGVzLzAwMDItdXNlLV9fYnVpbHRpbl9ic3dhcDE2LXdoZW4tYnVpbGRpbmctd2l0aC1jbGFuZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDYwMTU5Zi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZmxhdGJ1ZmZlcnMvZmlsZXMvMDAwMi11c2UtX19idWlsdGluX2Jzd2FwMTYtd2hlbi1idWlsZGluZy13aXRoLWNsYW5nLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotRnJvbSA2MjZmZTVlMDQzZGUyNWU5NzBlYmRmMDYxYjg4YzY0NmZhNjg5MTEzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMTkgU2VwIDIwMTcgMTA6MDk6MzEgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSCAyLzJdIHVzZSBfX2J1aWx0aW5fYnN3YXAxNiB3aGVuIGJ1aWxkaW5nIHdpdGggY2xhbmcKLQotY2xhbmcgcHJldGVuZHMgdG8gYmUgZ2NjIDQuMi4wIGFuZCB0aGVyZWZvcmUgdGhlIGNvZGUgZG9lcwotbm90IHVzZSBfX2J1aWx0aW5fYnN3YXAxNiBidXQgdHJpZXMgdG8gc3ludGhlc2l6ZSBpdAotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZAotIGluY2x1ZGUvZmxhdGJ1ZmZlcnMvYmFzZS5oIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvaW5jbHVkZS9mbGF0YnVmZmVycy9iYXNlLmggYi9pbmNsdWRlL2ZsYXRidWZmZXJzL2Jhc2UuaAotaW5kZXggYzczZmIyZC4uMTNlOGZhYyAxMDA2NDQKLS0tLSBhL2luY2x1ZGUvZmxhdGJ1ZmZlcnMvYmFzZS5oCi0rKysgYi9pbmNsdWRlL2ZsYXRidWZmZXJzL2Jhc2UuaAotQEAgLTE1Niw3ICsxNTYsNyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBUIEVuZGlhblN3YXAoVCB0KSB7Ci0gICAgICNkZWZpbmUgRkxBVEJVRkZFUlNfQllURVNXQVAzMiBfYnl0ZXN3YXBfdWxvbmcKLSAgICAgI2RlZmluZSBGTEFUQlVGRkVSU19CWVRFU1dBUDY0IF9ieXRlc3dhcF91aW50NjQKLSAgICNlbHNlCi0tICAgICNpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiBfX0dOVUNfXyAqIDEwMCArIF9fR05VQ19NSU5PUl9fIDwgNDA4Ci0rICAgICNpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiBfX0dOVUNfXyAqIDEwMCArIF9fR05VQ19NSU5PUl9fIDwgNDA4ICYmICFkZWZpbmVkKF9fY2xhbmdfXykKLSAgICAgICAvLyBfX2J1aWx0aW5fYnN3YXAxNiB3YXMgbWlzc2luZyBwcmlvciB0byBHQ0MgNC44LgotICAgICAgICNkZWZpbmUgRkxBVEJVRkZFUlNfQllURVNXQVAxNih4KSBcCi0gICAgICAgICBzdGF0aWNfY2FzdDx1aW50MTZfdD4oX19idWlsdGluX2Jzd2FwMzIoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHgpIDw8IDE2KSkKLS0tIAotMi4xNC4xCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9mbGF0YnVmZmVycy9mbGF0YnVmZmVyc18xLjEwLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZmxhdGJ1ZmZlcnMvZmxhdGJ1ZmZlcnNfMS4xMC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1MmUxZTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZmxhdGJ1ZmZlcnMvZmxhdGJ1ZmZlcnNfMS4xMC4wLmJiCkBAIC0wLDAgKzEsMzQgQEAKK1NVTU1BUlkgPSAiTWVtb3J5IEVmZmljaWVudCBTZXJpYWxpemF0aW9uIExpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL2ZsYXRidWZmZXJzIgorU0VDVElPTiA9ICJjb25zb2xlL3Rvb2xzIgorTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorCitQQUNLQUdFX0JFRk9SRV9QTiA9ICIke1BOfS1jb21waWxlciIKKworUkRFUEVORFNfJHtQTn0tY29tcGlsZXIgPSAiJHtQTn0iCitSREVQRU5EU18ke1BOfS1kZXYgKz0gIiR7UE59LWNvbXBpbGVyIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9YTg3M2M1NjQ1YzE4NGQ1MWUwZjliMzRlMWQ3Y2Y1NTkiCisKK1NSQ1JFViA9ICJjMDY5OGNjMzNmMWU1MzRiYjU5YzQ1NTkwOWI4OGNjMjcyNjA4OWFmIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vZ29vZ2xlL2ZsYXRidWZmZXJzLmdpdCIKKworIyBNYWtlIHN1cmUgQysrMTEgaXMgdXNlZCwgcmVxdWlyZWQgZm9yIGV4YW1wbGUgZm9yIEdDQyA0LjkKK0NYWEZMQUdTICs9ICItc3RkPWMrKzExIgorQlVJTERfQ1hYRkxBR1MgKz0gIi1zdGQ9YysrMTEiCisKKyMgQlVJTERfVFlQRT1SZWxlYXNlIGlzIHJlcXVpcmVkLCBvdGhlcndpc2UgZmxhdGMgaXMgbm90IGluc3RhbGxlZAorRVhUUkFfT0VDTUFLRSArPSAiXAorICAgIC1EQ01BS0VfQlVJTERfVFlQRT1SZWxlYXNlIFwKKyAgICAtREZMQVRCVUZGRVJTX0JVSUxEX1RFU1RTPU9GRiBcICAgIAorICAgIC1ERkxBVEJVRkZFUlNfQlVJTERfU0hBUkVETElCPU9OIFwKKyIKKworaW5oZXJpdCBjbWFrZQorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitGSUxFU18ke1BOfS1jb21waWxlciA9ICIke2JpbmRpcn0iCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9mbGF0YnVmZmVycy9mbGF0YnVmZmVyc18xLjkuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9mbGF0YnVmZmVycy9mbGF0YnVmZmVyc18xLjkuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYThkZjQ0NC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZmxhdGJ1ZmZlcnMvZmxhdGJ1ZmZlcnNfMS45LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi1TVU1NQVJZID0gIk1lbW9yeSBFZmZpY2llbnQgU2VyaWFsaXphdGlvbiBMaWJyYXJ5IgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9mbGF0YnVmZmVycyIKLVNFQ1RJT04gPSAiY29uc29sZS90b29scyIKLUxJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKLQotUEFDS0FHRV9CRUZPUkVfUE4gPSAiJHtQTn0tY29tcGlsZXIiCi0KLVJERVBFTkRTXyR7UE59LWNvbXBpbGVyID0gIiR7UE59IgotUkRFUEVORFNfJHtQTn0tZGV2ICs9ICIke1BOfS1jb21waWxlciIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PWE4NzNjNTY0NWMxODRkNTFlMGY5YjM0ZTFkN2NmNTU5IgotCi1TUkNSRVYgPSAiMjVhMTU5NTBmNWEyNGQ3MjE3Njg5NzM5ZWQ4ZjZkYWM2NDkxMmQ2MiIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2dvb2dsZS9mbGF0YnVmZmVycy5naXQgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1jb3JyZWN0LXZlcnNpb24tZm9yLXNvLWxpYi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWZsYXRidWZmZXJzLU1vdmUtRW5kaWFuU3dhcC10ZW1wbGF0ZS10by1mbGF0YnVmZmVycy0ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi11c2UtX19idWlsdGluX2Jzd2FwMTYtd2hlbi1idWlsZGluZy13aXRoLWNsYW5nLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi0jIE1ha2Ugc3VyZSBDKysxMSBpcyB1c2VkLCByZXF1aXJlZCBmb3IgZXhhbXBsZSBmb3IgR0NDIDQuOQotQ1hYRkxBR1MgKz0gIi1zdGQ9YysrMTEiCi1CVUlMRF9DWFhGTEFHUyArPSAiLXN0ZD1jKysxMSIKLQotRVhUUkFfT0VDTUFLRSArPSAiXAotICAgIC1ERkxBVEJVRkZFUlNfQlVJTERfVEVTVFM9T0ZGIFwKLSAgICAtREZMQVRCVUZGRVJTX0JVSUxEX1NIQVJFRExJQj1PTiBcCi0gICAgLURQVj0ke1BWfSBcCi0iCi0KLWluaGVyaXQgY21ha2UKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotRklMRVNfJHtQTn0tY29tcGlsZXIgPSAiJHtiaW5kaXJ9IgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZ2VhbnkvZ2VhbnktcGx1Z2lucy8wMDAxLVVzZS1wa2ctY29uZmlnLXRvLWZpbmQtZ3BnbWUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZ2VhbnkvZ2VhbnktcGx1Z2lucy8wMDAxLVVzZS1wa2ctY29uZmlnLXRvLWZpbmQtZ3BnbWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTAzMGYzNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9nZWFueS9nZWFueS1wbHVnaW5zLzAwMDEtVXNlLXBrZy1jb25maWctdG8tZmluZC1ncGdtZS5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIDBjMjRmOTljYTRkNGY2NGVhODU4NDM0N2NhNmFlMGQ2MzhkNjI1YTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgorRGF0ZTogTW9uLCAxOCBGZWIgMjAxOSAxNjoxMzoxNyArMDEwMAorU3ViamVjdDogW1BBVENIXSBVc2UgcGtnLWNvbmZpZyB0byBmaW5kIGdwZ21lCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+CistLS0KKyBidWlsZC9idW5kbGVkL2dwZ21lLm00IHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvYnVpbGQvYnVuZGxlZC9ncGdtZS5tNCBiL2J1aWxkL2J1bmRsZWQvZ3BnbWUubTQKK2luZGV4IDQ0YmY0M2MuLmM5YThhZTYgMTAwNjQ0CistLS0gYS9idWlsZC9idW5kbGVkL2dwZ21lLm00CisrKysgYi9idWlsZC9idW5kbGVkL2dwZ21lLm00CitAQCAtMTgsNyArMTgsNyBAQCBBQ19ERUZVTihbX0FNX1BBVEhfR1BHTUVfQ09ORklHXSwKKyAgIGlmIHRlc3QgIngkZ3BnbWVfY29uZmlnX3ByZWZpeCIgIT0geCA7IHRoZW4KKyAgICAgICBHUEdNRV9DT05GSUc9IiRncGdtZV9jb25maWdfcHJlZml4L2Jpbi9ncGdtZS1jb25maWciCisgICBmaQorLSAgQUNfUEFUSF9QUk9HKEdQR01FX0NPTkZJRywgZ3BnbWUtY29uZmlnLCBubykKKysgIEdQR01FX0NPTkZJRz0icGtnLWNvbmZpZyBncGdtZSIKKyAKKyAgIGlmIHRlc3QgIiRHUEdNRV9DT05GSUciICE9ICJubyIgOyB0aGVuCisgICAgIGdwZ21lX3ZlcnNpb249YCRHUEdNRV9DT05GSUcgLS12ZXJzaW9uYAorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2dlYW55L2dlYW55LXBsdWdpbnNfMS4zMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9nZWFueS9nZWFueS1wbHVnaW5zXzEuMzEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ4ZjJmODkuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2dlYW55L2dlYW55LXBsdWdpbnNfMS4zMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI3MSArMCwwIEBACi1ERVNDUklQVElPTiA9ICJBIGZhc3QgYW5kIGxpZ2h0d2VpZ2h0IElERSIKLUhPTUVQQUdFID0gImh0dHA6Ly9wbHVnaW5zLmdlYW55Lm9yZy8iCi0KLUxJQ0VOU0VfREVGQVVMVCA9ICJHUEx2MiIKLUxJQ0VOU0UgPSAiJHtMSUNFTlNFX0RFRkFVTFR9ICYgQlNELTItQ2xhdXNlICYgR1BMdjMiCi0KLXB5dGhvbiAoKSB7Ci0gICAgZm9yIHBsdWdpbiBpbiBkLmdldFZhcignUExVR0lOUycpLnNwbGl0KCk6Ci0gICAgICAgIGlmICdMSUNFTlNFXyVzJyAlIHBsdWdpbiBub3QgaW4gZDoKLSAgICAgICAgICAgIGQuc2V0VmFyKCdMSUNFTlNFXycgKyBwbHVnaW4sICcke0xJQ0VOU0VfREVGQVVMVH0nKQotfQotCi1ERVBFTkRTID0gIiBcCi0gICAgZnJpYmlkaSBcCi0gICAgZ2VhbnkgXAotICAgIGxpYnhtbDIgXAotICAgIGxpYnNvdXAtMi40IFwKLSAgICBlbmNoYW50IFwKLSAgICBpbnRsdG9vbC1uYXRpdmUgXAotICAgIGxpYmFzc3VhbiBcCi0gICAgZ3BnbWUgXAotICAgIHZ0ZTkgXAotICAgIGxpYmdpdDIgXAotIgotCi1pbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjayBhdXRvdG9vbHMgcGtnY29uZmlnIGd0ay1pY29uLWNhY2hlCi0KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3BsdWdpbnMuZ2Vhbnkub3JnLyR7UE59LyR7UE59LSR7UFZ9LnRhci5iejIiCi1TUkNfVVJJW21kNXN1bV0gPSAiODA4ZjkwNDhiNzdmZDk3MDQ1NjllZDJiYTEyYTU2ZTkiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzZiZDllODAzZGI1YTYyNmI4NjY2OWYwODMzMGNmOTViOGNjMzUwNTdhMWNkZjY1NzU5YmMwMGFlZjEyMGUyNSIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7Ci0gICAgcm0gLWYgJHtTfS9idWlsZC9jYWNoZS9nbGliLWdldHRleHQubTQKLX0KLQotRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vaWNvbnMiCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9nZWFueS8qLmxhICR7bGliZGlyfS8ke1BOfS8qLyoubGEiCi0KLVBMVUdJTlMgKz0gIiR7UE59LWFkZG9ucyIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9hZGRvbnMvQ09QWUlORzttZDU9NDMyNWFmZDM5NmZlYmNiNjU5YzM2YjQ5NTMzMTM1ZDQiCi1GSUxFU18ke1BOfS1hZGRvbnMgPSAiJHtsaWJkaXJ9L2dlYW55L2FkZG9ucy5zbyIKLVJERVBFTkRTXyR7UE59LWFkZG9ucyA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tYXV0b2Nsb3NlIgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2F1dG9jbG9zZS9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKLUZJTEVTXyR7UE59LWF1dG9jbG9zZSA9ICIke2xpYmRpcn0vZ2VhbnkvYXV0b2Nsb3NlLnNvIgotUkRFUEVORFNfJHtQTn0tYXV0b2Nsb3NlID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1hdXRvbWFyayIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9hdXRvbWFyay9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKLUZJTEVTXyR7UE59LWF1dG9tYXJrID0gIiR7bGliZGlyfS9nZWFueS9hdXRvbWFyay5zbyIKLVJERVBFTkRTXyR7UE59LWF1dG9tYXJrID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1jb2RlbmF2IgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2NvZGVuYXYvQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCi1GSUxFU18ke1BOfS1jb2RlbmF2ID0gIiR7bGliZGlyfS9nZWFueS9jb2RlbmF2LnNvIgotUkRFUEVORFNfJHtQTn0tY29kZW5hdiA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tY29tbWFuZGVyIgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2NvbW1hbmRlci9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKLUxJQ0VOU0VfJHtQTn0tY29tbWFuZGVyID0gIkdQTHYzIgotRklMRVNfJHtQTn0tY29tbWFuZGVyID0gIiR7bGliZGlyfS9nZWFueS9jb21tYW5kZXIuc28iCi1SREVQRU5EU18ke1BOfS1jb21tYW5kZXIgPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LWRlYnVnZ2VyIgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2RlYnVnZ2VyL0NPUFlJTkc7bWQ1PTQzMjVhZmQzOTZmZWJjYjY1OWMzNmI0OTUzMzEzNWQ0IgotRklMRVNfJHtQTn0tZGVidWdnZXIgPSAiJHtsaWJkaXJ9L2dlYW55L2RlYnVnZ2VyLnNvICR7ZGF0YWRpcn0vJHtQTn0vZGVidWdnZXIiCi1SREVQRU5EU18ke1BOfS1kZWJ1Z2dlciA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tZGVmaW5lZm9ybWF0IgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2RlZmluZWZvcm1hdC9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKLUZJTEVTXyR7UE59LWRlZmluZWZvcm1hdCA9ICIke2xpYmRpcn0vZ2VhbnkvZGVmaW5lZm9ybWF0LnNvIgotUkRFUEVORFNfJHtQTn0tZGVmaW5lZm9ybWF0ID0gIiR7UE59IgotCi0jIG5vIGdub21lIGRldmhlbHAgaW4gc29tZSBjb21tb24gbGF5ZXIKLUVYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWRldmhlbHAiCi0jUExVR0lOUyArPSAiJHtQTn0tZGV2aGVscCIKLSNMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZGV2aGVscC9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKLSNMSUNFTlNFXyR7UE59LWRldmhlbHAgPSAiR1BMdjMiCi0jRklMRVNfJHtQTn0tZGV2aGVscCA9ICIke2xpYmRpcn0vZ2VhbnkvZGV2aGVscC5zbyIKLSNSREVQRU5EU18ke1BOfS1kZXZoZWxwID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1nZWFueWN0YWdzIgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2dlYW55Y3RhZ3MvQ09QWUlORzttZDU9YzEwN2NmNzU0NTUwZTY1NzU1YzQyOTg1YTVkNGU5YzkiCi1GSUxFU18ke1BOfS1nZWFueWN0YWdzID0gIiR7bGliZGlyfS9nZWFueS9nZWFueWN0YWdzLnNvIgotUkRFUEVORFNfJHtQTn0tZ2VhbnljdGFncyA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tZ2Vhbnlkb2MiCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZ2Vhbnlkb2MvQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCi1MSUNFTlNFXyR7UE59LWdlYW55ZG9jID0gIkdQTHYzIgotRklMRVNfJHtQTn0tZ2Vhbnlkb2MgPSAiJHtsaWJkaXJ9L2dlYW55L2dlYW55ZG9jLnNvIgotUkRFUEVORFNfJHtQTn0tZ2Vhbnlkb2MgPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LWdlYW55ZXh0cmFzZWwiCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZ2VhbnlleHRyYXNlbC9DT1BZSU5HO21kNT1jMTA3Y2Y3NTQ1NTBlNjU3NTVjNDI5ODVhNWQ0ZTljOSIKLUZJTEVTXyR7UE59LWdlYW55ZXh0cmFzZWwgPSAiJHtsaWJkaXJ9L2dlYW55L2dlYW55ZXh0cmFzZWwuc28iCi1SREVQRU5EU18ke1BOfS1nZWFueWV4dHJhc2VsID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1nZWFueWluc2VydG51bSIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueWluc2VydG51bS9DT1BZSU5HO21kNT1jMTA3Y2Y3NTQ1NTBlNjU3NTVjNDI5ODVhNWQ0ZTljOSIKLUZJTEVTXyR7UE59LWdlYW55aW5zZXJ0bnVtID0gIiR7bGliZGlyfS9nZWFueS9nZWFueWluc2VydG51bS5zbyIKLVJERVBFTkRTXyR7UE59LWdlYW55aW5zZXJ0bnVtID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1nZWFueWxhdGV4IgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2dlYW55bGF0ZXgvQ09QWUlORzttZDU9YzEwN2NmNzU0NTUwZTY1NzU1YzQyOTg1YTVkNGU5YzkiCi1GSUxFU18ke1BOfS1nZWFueWxhdGV4ID0gIiR7bGliZGlyfS9nZWFueS9nZWFueWxhdGV4LnNvIgotUkRFUEVORFNfJHtQTn0tZ2VhbnlsYXRleCA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tZ2VhbnlsaXBzdW0iCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vbGlwc3VtL0NPUFlJTkc7bWQ1PTQzMjVhZmQzOTZmZWJjYjY1OWMzNmI0OTUzMzEzNWQ0IgotRklMRVNfJHtQTn0tZ2VhbnlsaXBzdW0gPSAiJHtsaWJkaXJ9L2dlYW55L2xpcHN1bS5zbyIKLVJERVBFTkRTXyR7UE59LWdlYW55bGlwc3VtID0gIiR7UE59IgotCi0jIG5vIGx1YTogbWF4IHN1cHBvcnRlZCB2ZXJzaW9uIGlzIDUuMgotRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtZ2VhbnlsdWEiCi0jUExVR0lOUyArPSAiJHtQTn0tZ2VhbnlsdWEiCi0jTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2dlYW55bHVhL0NPUFlJTkc7bWQ1PTQzMjVhZmQzOTZmZWJjYjY1OWMzNmI0OTUzMzEzNWQ0IgotI0ZJTEVTXyR7UE59LWdlYW55bHVhID0gIiR7bGliZGlyfS9nZWFueS9nZWFueWx1YS5zbyAke2xpYmRpcn0vJHtQTn0vZ2VhbnlsdWEvKi5zbyIKLSNSREVQRU5EU18ke1BOfS1nZWFueWx1YSA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tZ2VhbnltYWNybyIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueW1hY3JvL0NPUFlJTkc7bWQ1PWMxMDdjZjc1NDU1MGU2NTc1NWM0Mjk4NWE1ZDRlOWM5IgotRklMRVNfJHtQTn0tZ2VhbnltYWNybyA9ICIke2xpYmRpcn0vZ2VhbnkvZ2VhbnltYWNyby5zbyIKLVJERVBFTkRTXyR7UE59LWdlYW55bWFjcm8gPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LWdlYW55bWluaXNjcmlwdCIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueW1pbmlzY3JpcHQvQ09QWUlORzttZDU9NDMyNWFmZDM5NmZlYmNiNjU5YzM2YjQ5NTMzMTM1ZDQiCi1GSUxFU18ke1BOfS1nZWFueW1pbmlzY3JpcHQgPSAiJHtsaWJkaXJ9L2dlYW55L2dlYW55bWluaXNjcmlwdC5zbyIKLVJERVBFTkRTXyR7UE59LWdlYW55bWluaXNjcmlwdCA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tZ2VhbnludW1iZXJlZGJvb2ttYXJrcyIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueW51bWJlcmVkYm9va21hcmtzL0NPUFlJTkc7bWQ1PWMxMDdjZjc1NDU1MGU2NTc1NWM0Mjk4NWE1ZDRlOWM5IgotRklMRVNfJHtQTn0tZ2VhbnludW1iZXJlZGJvb2ttYXJrcyA9ICIke2xpYmRpcn0vZ2VhbnkvZ2VhbnludW1iZXJlZGJvb2ttYXJrcy5zbyIKLVJERVBFTkRTXyR7UE59LWdlYW55bnVtYmVyZWRib29rbWFya3MgPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LWdlYW55cGciCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZ2VhbnlwZy9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKLUZJTEVTXyR7UE59LWdlYW55cGcgPSAiJHtsaWJkaXJ9L2dlYW55L2dlYW55cGcuc28iCi1SREVQRU5EU18ke1BOfS1nZWFueXBnID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1nZWFueXByaiIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueXByai9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKLUxJQ0VOU0VfJHtQTn0tZ2VhbnlwcmogPSAiR1BMdjMiCi1GSUxFU18ke1BOfS1nZWFueXByaiA9ICIke2xpYmRpcn0vZ2VhbnkvZ2Vhbnlwcmouc28iCi1SREVQRU5EU18ke1BOfS1nZWFueXByaiA9ICIke1BOfSIKLQotIyBubyBnbm9tZSBweWd0awotRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtZ2VhbnlweSIKLSNQTFVHSU5TICs9ICIke1BOfS1nZWFueXB5IgotI0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueXB5L0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgotI0ZJTEVTXyR7UE59LWdlYW55cHkgPSAiJHtsaWJkaXJ9L2dlYW55L2dlYW55cHkuc28iCi0jUkRFUEVORFNfJHtQTn0tZ2VhbnlweSA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tZ2Vhbnl2YyIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueXZjL0NPUFlJTkc7bWQ1PWMxMDdjZjc1NDU1MGU2NTc1NWM0Mjk4NWE1ZDRlOWM5IgotRklMRVNfJHtQTn0tZ2Vhbnl2YyA9ICIke2xpYmRpcn0vZ2VhbnkvZ2Vhbnl2Yy5zbyIKLVJERVBFTkRTXyR7UE59LWdlYW55dmMgPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LWdlbml1c3Bhc3RlIgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2dlbml1c3Bhc3RlL0NPUFlJTkc7bWQ1PWJmYzIwMzI2OWY4ODYyZWJmYzExOThjZGM4MDlhOTVhIgotRklMRVNfJHtQTn0tZ2VuaXVzcGFzdGUgPSAiJHtsaWJkaXJ9L2dlYW55L2dlbml1c3Bhc3RlLnNvICR7ZGF0YWRpcn0vJHtQTn0vZ2VuaXVzcGFzdGUiCi1SREVQRU5EU18ke1BOfS1nZW5pdXNwYXN0ZSA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tZ2l0LWNoYW5nZWJhciIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9naXQtY2hhbmdlYmFyL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgotTElDRU5TRV8ke1BOfS1naXQtY2hhbmdlYmFyID0gIkdQTHYzIgotRklMRVNfJHtQTn0tZ2l0LWNoYW5nZWJhciA9ICIke2xpYmRpcn0vZ2VhbnkvZ2l0LWNoYW5nZWJhci5zbyIKLVJERVBFTkRTXyR7UE59LWdpdC1jaGFuZ2ViYXIgPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LWtleXJlY29yZCIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9rZXlyZWNvcmQvQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCi1GSUxFU18ke1BOfS1rZXlyZWNvcmQgPSAiJHtsaWJkaXJ9L2dlYW55L2tleXJlY29yZC5zbyIKLVJERVBFTkRTXyR7UE59LWtleXJlY29yZCA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tbGluZW9wZXJhdGlvbnMiCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vbGluZW9wZXJhdGlvbnMvQ09QWUlORzttZDU9YzEwN2NmNzU0NTUwZTY1NzU1YzQyOTg1YTVkNGU5YzkiCi1GSUxFU18ke1BOfS1saW5lb3BlcmF0aW9ucyA9ICIke2xpYmRpcn0vZ2VhbnkvbGluZW9wZXJhdGlvbnMuc28iCi1SREVQRU5EU18ke1BOfS1saW5lb3BlcmF0aW9ucyA9ICIke1BOfSIKLQotIyBubyBtYXJrZG93biAtIGF2b2lkIGZsb2F0aW5nIGRlcGVuZGVuY2llcwotRVhUUkFfT0VDT05GICs9ICIgLS1kaXNhYmxlLXBlZy1tYXJrZG93biIKLSNQTFVHSU5TICs9ICIke1BOfS1tYXJrZG93biIKLSNMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vbWFya2Rvd24vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCi0jRklMRVNfJHtQTn0tbWFya2Rvd24gPSAiJHtsaWJkaXJ9L2dlYW55L21hcmtkb3duLnNvIgotI1JERVBFTkRTXyR7UE59LW1hcmtkb3duID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1tdWx0aXRlcm0iCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vbXVsdGl0ZXJtL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgotRklMRVNfJHtQTn0tbXVsdGl0ZXJtID0gIiR7bGliZGlyfS9nZWFueS9tdWx0aXRlcm0uc28iCi1SREVQRU5EU18ke1BOfS1tdWx0aXRlcm0gPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LW92ZXJ2aWV3IgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL292ZXJ2aWV3L292ZXJ2aWV3L292ZXJ2aWV3cGx1Z2luLmM7YmVnaW5saW5lPTQ7ZW5kbGluZT0yMDttZDU9MWFhMzM1MjI5MTZjZGViNDZjY2NhYzBjNjI5ZGEwZDAiCi1GSUxFU18ke1BOfS1vdmVydmlldyA9ICIke2xpYmRpcn0vZ2Vhbnkvb3ZlcnZpZXcuc28gJHtkYXRhZGlyfS8ke1BOfS9vdmVydmlldyIKLVJERVBFTkRTXyR7UE59LW92ZXJ2aWV3ID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1wYWlydGFnaGlnaGxpZ2h0ZXIiCi1MSUNFTlNFXyR7UE59LXBhaXJ0YWdoaWdobGlnaHRlciA9ICJCU0QtMi1DbGF1c2UiCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vcGFpcnRhZ2hpZ2hsaWdodGVyL0NPUFlJTkc7bWQ1PWQ2ZDkyNzUyNWE2MTJiM2E4ZGJlYmM0YjJlOWI0N2MxIgotRklMRVNfJHtQTn0tcGFpcnRhZ2hpZ2hsaWdodGVyID0gIiR7bGliZGlyfS9nZWFueS9wYWlydGFnaGlnaGxpZ2h0ZXIuc28iCi1SREVQRU5EU18ke1BOfS1wYWlydGFnaGlnaGxpZ2h0ZXIgPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LXBvaGVscGVyIgotTElDRU5TRV8ke1BOfS1wb2hlbHBlciA9ICJHUEx2MyIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9wb2hlbHBlci9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKLUZJTEVTXyR7UE59LXBvaGVscGVyID0gIiR7bGliZGlyfS9nZWFueS9wb2hlbHBlci5zbyIKLVJERVBFTkRTXyR7UE59LXBvaGVscGVyID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1wcmV0dHktcHJpbnRlciIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9wcmV0dHktcHJpbnRlci9zcmMvUHJldHR5UHJpbnRlci5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MTc7bWQ1PTE2NjUxMTVjMmZhZGIxN2MxYjUzY2RiNGU0M2IyNDQwIgotRklMRVNfJHtQTn0tcHJldHR5LXByaW50ZXIgPSAiJHtsaWJkaXJ9L2dlYW55L3ByZXR0eS1wcmludGVyLnNvIgotUkRFUEVORFNfJHtQTn0tcHJldHR5LXByaW50ZXIgPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LXByb2plY3Rvcmdhbml6ZXIiCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vcHJvamVjdG9yZ2FuaXplci9DT1BZSU5HO21kNT1jMTA3Y2Y3NTQ1NTBlNjU3NTVjNDI5ODVhNWQ0ZTljOSIKLUZJTEVTXyR7UE59LXByb2plY3Rvcmdhbml6ZXIgPSAiJHtsaWJkaXJ9L2dlYW55L3Byb2plY3Rvcmdhbml6ZXIuc28iCi1SREVQRU5EU18ke1BOfS1wcm9qZWN0b3JnYW5pemVyID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1zY29wZSIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9zY29wZS9DT1BZSU5HO21kNT1jMTA3Y2Y3NTQ1NTBlNjU3NTVjNDI5ODVhNWQ0ZTljOSIKLUZJTEVTXyR7UE59LXNjb3BlID0gIiR7bGliZGlyfS9nZWFueS9zY29wZS5zbyIKLVJERVBFTkRTXyR7UE59LXNjb3BlID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1zZW5kbWFpbCIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9zZW5kbWFpbC9DT1BZSU5HO21kNT1jMTA3Y2Y3NTQ1NTBlNjU3NTVjNDI5ODVhNWQ0ZTljOSIKLUZJTEVTXyR7UE59LXNlbmRtYWlsID0gIiR7bGliZGlyfS9nZWFueS9zZW5kbWFpbC5zbyIKLVJERVBFTkRTXyR7UE59LXNlbmRtYWlsID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1zaGlmdGNvbHVtbiIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9zaGlmdGNvbHVtbi9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKLUZJTEVTXyR7UE59LXNoaWZ0Y29sdW1uID0gIiR7bGliZGlyfS9nZWFueS9zaGlmdGNvbHVtbi5zbyIKLVJERVBFTkRTXyR7UE59LXNoaWZ0Y29sdW1uID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1zcGVsbGNoZWNrIgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL3NwZWxsY2hlY2svQ09QWUlORzttZDU9NDMyNWFmZDM5NmZlYmNiNjU5YzM2YjQ5NTMzMTM1ZDQiCi1GSUxFU18ke1BOfS1zcGVsbGNoZWNrID0gIiR7bGliZGlyfS9nZWFueS9zcGVsbGNoZWNrLnNvIgotUkRFUEVORFNfJHtQTn0tc3BlbGxjaGVjayA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tdGFibGVjb252ZXJ0IgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL3RhYmxlY29udmVydC9DT1BZSU5HO21kNT02NzUzNjg2ODc4ZDA5MGExZjNmOTQ0NTY2MWQzZGZiYyIKLUZJTEVTXyR7UE59LXRhYmxlY29udmVydCA9ICIke2xpYmRpcn0vZ2VhbnkvdGFibGVjb252ZXJ0LnNvIgotUkRFUEVORFNfJHtQTn0tdGFibGVjb252ZXJ0ID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS10cmVlYnJvd3NlciIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly90cmVlYnJvd3Nlci9SRUFETUU7YmVnaW5saW5lPTY3O2VuZGxpbmU9Njc7bWQ1PTUyZjkwODU3ZmQxYTk2NzIxMTFlNDcyZGQwNTZhMGQ4IgotRklMRVNfJHtQTn0tdHJlZWJyb3dzZXIgPSAiJHtsaWJkaXJ9L2dlYW55L3RyZWVicm93c2VyLnNvIgotUkRFUEVORFNfJHtQTn0tdHJlZWJyb3dzZXIgPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LXVwZGF0ZWNoZWNrZXIiCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vdXBkYXRlY2hlY2tlci9DT1BZSU5HO21kNT00MzI1YWZkMzk2ZmViY2I2NTljMzZiNDk1MzMxMzVkNCIKLUZJTEVTXyR7UE59LXVwZGF0ZWNoZWNrZXIgPSAiJHtsaWJkaXJ9L2dlYW55L3VwZGF0ZWNoZWNrZXIuc28iCi1SREVQRU5EU18ke1BOfS11cGRhdGVjaGVja2VyID0gIiR7UE59IgotCi0jIG5vIHdlYmtpdCAtIGxhc3RzIGFnZXMgYW5kIGlzIG5vdCBwcm9wZXJseSBkZXRlY3RlZAotRVhUUkFfT0VDT05GICs9ICIgLS1kaXNhYmxlLXdlYmhlbHBlciIKLSNQTFVHSU5TICs9ICIke1BOfS13ZWJoZWxwZXIiCi0jTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL3dlYmhlbHBlci9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKLSNMSUNFTlNFXyR7UE59LXdlYmhlbHBlciA9ICJHUEx2MyIKLSNGSUxFU18ke1BOfS13ZWJoZWxwZXIgPSAiJHtsaWJkaXJ9L2dlYW55L3dlYmhlbHBlci5zbyIKLSNSREVQRU5EU18ke1BOfS13ZWJoZWxwZXIgPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LXhtbHNuaXBwZXRzIgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL3htbHNuaXBwZXRzL0NPUFlJTkc7bWQ1PTQzMjVhZmQzOTZmZWJjYjY1OWMzNmI0OTUzMzEzNWQ0IgotRklMRVNfJHtQTn0teG1sc25pcHBldHMgPSAiJHtsaWJkaXJ9L2dlYW55L3htbHNuaXBwZXRzLnNvIgotUkRFUEVORFNfJHtQTn0teG1sc25pcHBldHMgPSAiJHtQTn0iCi0KLVBBQ0tBR0VTID0rICIke1BMVUdJTlN9IgotUkRFUEVORFNfJHtQTn0gPSAiJHtQTFVHSU5TfSIKLUFMTE9XX0VNUFRZXyR7UE59ID0gIjEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZ2VhbnkvZ2VhbnktcGx1Z2luc18xLjM0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2dlYW55L2dlYW55LXBsdWdpbnNfMS4zNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YzFjMTUzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2dlYW55L2dlYW55LXBsdWdpbnNfMS4zNC5iYgpAQCAtMCwwICsxLDI0NiBAQAorREVTQ1JJUFRJT04gPSAiQSBmYXN0IGFuZCBsaWdodHdlaWdodCBJREUiCitIT01FUEFHRSA9ICJodHRwOi8vcGx1Z2lucy5nZWFueS5vcmcvIgorCitMSUNFTlNFX0RFRkFVTFQgPSAiR1BMdjIiCitMSUNFTlNFID0gIiR7TElDRU5TRV9ERUZBVUxUfSAmIEJTRC0yLUNsYXVzZSAmIEdQTHYzIgorCitweXRob24gKCkgeworICAgIGZvciBwbHVnaW4gaW4gZC5nZXRWYXIoJ1BMVUdJTlMnKS5zcGxpdCgpOgorICAgICAgICBpZiAnTElDRU5TRV8lcycgJSBwbHVnaW4gbm90IGluIGQ6CisgICAgICAgICAgICBkLnNldFZhcignTElDRU5TRV8nICsgcGx1Z2luLCAnJHtMSUNFTlNFX0RFRkFVTFR9JykKK30KKworREVQRU5EUyA9ICIgXAorICAgIHZhbGEtbmF0aXZlIFwKKyAgICBmcmliaWRpIFwKKyAgICBnZWFueSBcCisgICAgbGlieG1sMiBcCisgICAgbGlic291cC0yLjQgXAorICAgIGVuY2hhbnQgXAorICAgIGludGx0b29sLW5hdGl2ZSBcCisgICAgbGliYXNzdWFuIFwKKyAgICBncGdtZSBcCisgICAgdnRlIFwKKyAgICBsaWJnaXQyIFwKKyIKKworaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBndGstaWNvbi1jYWNoZQorCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJID0gIiBcCisgICAgaHR0cDovL3BsdWdpbnMuZ2Vhbnkub3JnLyR7UE59LyR7UE59LSR7UFZ9LnRhci5iejIgXAorICAgIGZpbGU6Ly8wMDAxLVVzZS1wa2ctY29uZmlnLXRvLWZpbmQtZ3BnbWUucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gImJmNWZkZDUwNzI3YWQ4YmJiZmUwMDAyN2NjZjJkYWM1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI0NDQxN2M2ODE2MzZlODJhNjNjZjZmOTkwMWI1YjdmMzg4OTE2OGY3ZDliNWJhOWI0NTYwMTc2N2E1ODljM2IiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHJtIC1mICR7U30vYnVpbGQvY2FjaGUvZ2xpYi1nZXR0ZXh0Lm00Cit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2ljb25zIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vZ2VhbnkvKi5sYSAke2xpYmRpcn0vJHtQTn0vKi8qLmxhIgorCitQTFVHSU5TICs9ICIke1BOfS1hZGRvbnMiCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vYWRkb25zL0NPUFlJTkc7bWQ1PTQzMjVhZmQzOTZmZWJjYjY1OWMzNmI0OTUzMzEzNWQ0IgorRklMRVNfJHtQTn0tYWRkb25zID0gIiR7bGliZGlyfS9nZWFueS9hZGRvbnMuc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LWF1dG9jbG9zZSIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9hdXRvY2xvc2UvQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCitGSUxFU18ke1BOfS1hdXRvY2xvc2UgPSAiJHtsaWJkaXJ9L2dlYW55L2F1dG9jbG9zZS5zbyIKKworUExVR0lOUyArPSAiJHtQTn0tYXV0b21hcmsiCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vYXV0b21hcmsvQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCitGSUxFU18ke1BOfS1hdXRvbWFyayA9ICIke2xpYmRpcn0vZ2VhbnkvYXV0b21hcmsuc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LWNvZGVuYXYiCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vY29kZW5hdi9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKK0ZJTEVTXyR7UE59LWNvZGVuYXYgPSAiJHtsaWJkaXJ9L2dlYW55L2NvZGVuYXYuc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LWNvbW1hbmRlciIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9jb21tYW5kZXIvQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCitMSUNFTlNFXyR7UE59LWNvbW1hbmRlciA9ICJHUEx2MyIKK0ZJTEVTXyR7UE59LWNvbW1hbmRlciA9ICIke2xpYmRpcn0vZ2VhbnkvY29tbWFuZGVyLnNvIgorCisjIHwgY2hlY2tpbmcgd2hldGhlciB0aGUgR1RLIHZlcnNpb24gaW4gdXNlIGlzIGNvbXBhdGlibGUgd2l0aCBwbHVnaW4gRGVidWdnZXIuLi4gbm8KK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWRlYnVnZ2VyIgorI1BMVUdJTlMgKz0gIiR7UE59LWRlYnVnZ2VyIgorI0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9kZWJ1Z2dlci9DT1BZSU5HO21kNT00MzI1YWZkMzk2ZmViY2I2NTljMzZiNDk1MzMxMzVkNCIKKyNGSUxFU18ke1BOfS1kZWJ1Z2dlciA9ICIke2xpYmRpcn0vZ2VhbnkvZGVidWdnZXIuc28gJHtkYXRhZGlyfS8ke1BOfS9kZWJ1Z2dlciIKKworUExVR0lOUyArPSAiJHtQTn0tZGVmaW5lZm9ybWF0IgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2RlZmluZWZvcm1hdC9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKK0ZJTEVTXyR7UE59LWRlZmluZWZvcm1hdCA9ICIke2xpYmRpcn0vZ2VhbnkvZGVmaW5lZm9ybWF0LnNvIgorCisjIG5vIGdub21lIGRldmhlbHAgaW4gc29tZSBjb21tb24gbGF5ZXIKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWRldmhlbHAiCisjUExVR0lOUyArPSAiJHtQTn0tZGV2aGVscCIKKyNMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZGV2aGVscC9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKyNMSUNFTlNFXyR7UE59LWRldmhlbHAgPSAiR1BMdjMiCisjRklMRVNfJHtQTn0tZGV2aGVscCA9ICIke2xpYmRpcn0vZ2VhbnkvZGV2aGVscC5zbyIKKworUExVR0lOUyArPSAiJHtQTn0tZ2VhbnljdGFncyIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueWN0YWdzL0NPUFlJTkc7bWQ1PWMxMDdjZjc1NDU1MGU2NTc1NWM0Mjk4NWE1ZDRlOWM5IgorRklMRVNfJHtQTn0tZ2VhbnljdGFncyA9ICIke2xpYmRpcn0vZ2VhbnkvZ2VhbnljdGFncy5zbyIKKworUExVR0lOUyArPSAiJHtQTn0tZ2Vhbnlkb2MiCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZ2Vhbnlkb2MvQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCitMSUNFTlNFXyR7UE59LWdlYW55ZG9jID0gIkdQTHYzIgorRklMRVNfJHtQTn0tZ2Vhbnlkb2MgPSAiJHtsaWJkaXJ9L2dlYW55L2dlYW55ZG9jLnNvIgorCitQTFVHSU5TICs9ICIke1BOfS1nZWFueWV4dHJhc2VsIgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2dlYW55ZXh0cmFzZWwvQ09QWUlORzttZDU9YzEwN2NmNzU0NTUwZTY1NzU1YzQyOTg1YTVkNGU5YzkiCitGSUxFU18ke1BOfS1nZWFueWV4dHJhc2VsID0gIiR7bGliZGlyfS9nZWFueS9nZWFueWV4dHJhc2VsLnNvIgorCitQTFVHSU5TICs9ICIke1BOfS1nZWFueWluc2VydG51bSIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueWluc2VydG51bS9DT1BZSU5HO21kNT1jMTA3Y2Y3NTQ1NTBlNjU3NTVjNDI5ODVhNWQ0ZTljOSIKK0ZJTEVTXyR7UE59LWdlYW55aW5zZXJ0bnVtID0gIiR7bGliZGlyfS9nZWFueS9nZWFueWluc2VydG51bS5zbyIKKworIyBubyBsdWE6IG1heCBzdXBwb3J0ZWQgdmVyc2lvbiBpcyA1LjIKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWdlYW55bHVhIgorI1BMVUdJTlMgKz0gIiR7UE59LWdlYW55bHVhIgorI0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueWx1YS9DT1BZSU5HO21kNT00MzI1YWZkMzk2ZmViY2I2NTljMzZiNDk1MzMxMzVkNCIKKyNGSUxFU18ke1BOfS1nZWFueWx1YSA9ICIke2xpYmRpcn0vZ2VhbnkvZ2VhbnlsdWEuc28gJHtsaWJkaXJ9LyR7UE59L2dlYW55bHVhLyouc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LWdlYW55bWFjcm8iCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZ2VhbnltYWNyby9DT1BZSU5HO21kNT1jMTA3Y2Y3NTQ1NTBlNjU3NTVjNDI5ODVhNWQ0ZTljOSIKK0ZJTEVTXyR7UE59LWdlYW55bWFjcm8gPSAiJHtsaWJkaXJ9L2dlYW55L2dlYW55bWFjcm8uc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LWdlYW55bWluaXNjcmlwdCIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueW1pbmlzY3JpcHQvQ09QWUlORzttZDU9NDMyNWFmZDM5NmZlYmNiNjU5YzM2YjQ5NTMzMTM1ZDQiCitGSUxFU18ke1BOfS1nZWFueW1pbmlzY3JpcHQgPSAiJHtsaWJkaXJ9L2dlYW55L2dlYW55bWluaXNjcmlwdC5zbyIKKworUExVR0lOUyArPSAiJHtQTn0tZ2VhbnludW1iZXJlZGJvb2ttYXJrcyIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueW51bWJlcmVkYm9va21hcmtzL0NPUFlJTkc7bWQ1PWMxMDdjZjc1NDU1MGU2NTc1NWM0Mjk4NWE1ZDRlOWM5IgorRklMRVNfJHtQTn0tZ2VhbnludW1iZXJlZGJvb2ttYXJrcyA9ICIke2xpYmRpcn0vZ2VhbnkvZ2VhbnludW1iZXJlZGJvb2ttYXJrcy5zbyIKKworUExVR0lOUyArPSAiJHtQTn0tZ2VhbnlwZyIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueXBnL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorRklMRVNfJHtQTn0tZ2VhbnlwZyA9ICIke2xpYmRpcn0vZ2VhbnkvZ2VhbnlwZy5zbyIKKworUExVR0lOUyArPSAiJHtQTn0tZ2VhbnlwcmoiCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZ2VhbnlwcmovQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCitMSUNFTlNFXyR7UE59LWdlYW55cHJqID0gIkdQTHYzIgorRklMRVNfJHtQTn0tZ2VhbnlwcmogPSAiJHtsaWJkaXJ9L2dlYW55L2dlYW55cHJqLnNvIgorCisjUExVR0lOUyArPSAiJHtQTn0tZ2VhbnlweSIKKyNMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZ2VhbnlweS9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKyNGSUxFU18ke1BOfS1nZWFueXB5ID0gIiR7bGliZGlyfS9nZWFueS9nZWFueXB5LnNvIgorCitQTFVHSU5TICs9ICIke1BOfS1nZWFueXZjIgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2dlYW55dmMvQ09QWUlORzttZDU9YzEwN2NmNzU0NTUwZTY1NzU1YzQyOTg1YTVkNGU5YzkiCitGSUxFU18ke1BOfS1nZWFueXZjID0gIiR7bGliZGlyfS9nZWFueS9nZWFueXZjLnNvIgorCitQTFVHSU5TICs9ICIke1BOfS1nZW5pdXNwYXN0ZSIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZW5pdXNwYXN0ZS9DT1BZSU5HO21kNT1iZmMyMDMyNjlmODg2MmViZmMxMTk4Y2RjODA5YTk1YSIKK0ZJTEVTXyR7UE59LWdlbml1c3Bhc3RlID0gIiR7bGliZGlyfS9nZWFueS9nZW5pdXNwYXN0ZS5zbyAke2RhdGFkaXJ9LyR7UE59L2dlbml1c3Bhc3RlIgorCitQTFVHSU5TICs9ICIke1BOfS1naXQtY2hhbmdlYmFyIgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2dpdC1jaGFuZ2ViYXIvQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCitMSUNFTlNFXyR7UE59LWdpdC1jaGFuZ2ViYXIgPSAiR1BMdjMiCitGSUxFU18ke1BOfS1naXQtY2hhbmdlYmFyID0gIiR7ZGF0YWRpcn0vJHtCUE59L2dpdC1jaGFuZ2ViYXIgJHtsaWJkaXJ9L2dlYW55L2dpdC1jaGFuZ2ViYXIuc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LWtleXJlY29yZCIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9rZXlyZWNvcmQvQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCitGSUxFU18ke1BOfS1rZXlyZWNvcmQgPSAiJHtsaWJkaXJ9L2dlYW55L2tleXJlY29yZC5zbyIKKworUExVR0lOUyArPSAiJHtQTn0tbGF0ZXgiCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vbGF0ZXgvQ09QWUlORzttZDU9YzEwN2NmNzU0NTUwZTY1NzU1YzQyOTg1YTVkNGU5YzkiCitGSUxFU18ke1BOfS1sYXRleCA9ICIke2xpYmRpcn0vZ2VhbnkvbGF0ZXguc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LWxpbmVvcGVyYXRpb25zIgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2xpbmVvcGVyYXRpb25zL0NPUFlJTkc7bWQ1PWMxMDdjZjc1NDU1MGU2NTc1NWM0Mjk4NWE1ZDRlOWM5IgorRklMRVNfJHtQTn0tbGluZW9wZXJhdGlvbnMgPSAiJHtsaWJkaXJ9L2dlYW55L2xpbmVvcGVyYXRpb25zLnNvIgorCitQTFVHSU5TICs9ICIke1BOfS1saXBzdW0iCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vbGlwc3VtL0NPUFlJTkc7bWQ1PTQzMjVhZmQzOTZmZWJjYjY1OWMzNmI0OTUzMzEzNWQ0IgorRklMRVNfJHtQTn0tbGlwc3VtID0gIiR7bGliZGlyfS9nZWFueS9saXBzdW0uc28iCisKKyMgbm8gbWFya2Rvd24gLSBhdm9pZCBmbG9hdGluZyBkZXBlbmRlbmNpZXMKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLXBlZy1tYXJrZG93biIKKyNQTFVHSU5TICs9ICIke1BOfS1tYXJrZG93biIKKyNMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vbWFya2Rvd24vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisjRklMRVNfJHtQTn0tbWFya2Rvd24gPSAiJHtsaWJkaXJ9L2dlYW55L21hcmtkb3duLnNvIgorCisjIHwgY2hlY2tpbmcgd2hldGhlciB0aGUgR1RLIHZlcnNpb24gaW4gdXNlIGlzIGNvbXBhdGlibGUgd2l0aCBwbHVnaW4gbXVsdGl0ZXJtLi4uIG5vCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1tdWx0aXRlcm0iCisjUExVR0lOUyArPSAiJHtQTn0tbXVsdGl0ZXJtIgorI0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9tdWx0aXRlcm0vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisjRklMRVNfJHtQTn0tbXVsdGl0ZXJtID0gIiR7bGliZGlyfS9nZWFueS9tdWx0aXRlcm0uc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LW92ZXJ2aWV3IgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL292ZXJ2aWV3L292ZXJ2aWV3L292ZXJ2aWV3cGx1Z2luLmM7YmVnaW5saW5lPTQ7ZW5kbGluZT0yMDttZDU9MWFhMzM1MjI5MTZjZGViNDZjY2NhYzBjNjI5ZGEwZDAiCitGSUxFU18ke1BOfS1vdmVydmlldyA9ICIke2xpYmRpcn0vZ2Vhbnkvb3ZlcnZpZXcuc28gJHtkYXRhZGlyfS8ke1BOfS9vdmVydmlldyIKKworUExVR0lOUyArPSAiJHtQTn0tcGFpcnRhZ2hpZ2hsaWdodGVyIgorTElDRU5TRV8ke1BOfS1wYWlydGFnaGlnaGxpZ2h0ZXIgPSAiQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL3BhaXJ0YWdoaWdobGlnaHRlci9DT1BZSU5HO21kNT1kNmQ5Mjc1MjVhNjEyYjNhOGRiZWJjNGIyZTliNDdjMSIKK0ZJTEVTXyR7UE59LXBhaXJ0YWdoaWdobGlnaHRlciA9ICIke2xpYmRpcn0vZ2VhbnkvcGFpcnRhZ2hpZ2hsaWdodGVyLnNvIgorCitQTFVHSU5TICs9ICIke1BOfS1wb2hlbHBlciIKK0xJQ0VOU0VfJHtQTn0tcG9oZWxwZXIgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vcG9oZWxwZXIvQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCitGSUxFU18ke1BOfS1wb2hlbHBlciA9ICIke2RhdGFkaXJ9LyR7QlBOfS9wb2hlbHBlciAke2xpYmRpcn0vZ2VhbnkvcG9oZWxwZXIuc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LXByZXR0eS1wcmludGVyIgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL3ByZXR0eS1wcmludGVyL3NyYy9QcmV0dHlQcmludGVyLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0xNzttZDU9MTY2NTExNWMyZmFkYjE3YzFiNTNjZGI0ZTQzYjI0NDAiCitGSUxFU18ke1BOfS1wcmV0dHktcHJpbnRlciA9ICIke2xpYmRpcn0vZ2VhbnkvcHJldHR5LXByaW50ZXIuc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LXByb2plY3Rvcmdhbml6ZXIiCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vcHJvamVjdG9yZ2FuaXplci9DT1BZSU5HO21kNT1jMTA3Y2Y3NTQ1NTBlNjU3NTVjNDI5ODVhNWQ0ZTljOSIKK0ZJTEVTXyR7UE59LXByb2plY3Rvcmdhbml6ZXIgPSAiJHtsaWJkaXJ9L2dlYW55L3Byb2plY3Rvcmdhbml6ZXIuc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LXNjb3BlIgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL3Njb3BlL0NPUFlJTkc7bWQ1PWMxMDdjZjc1NDU1MGU2NTc1NWM0Mjk4NWE1ZDRlOWM5IgorRklMRVNfJHtQTn0tc2NvcGUgPSAiJHtkYXRhZGlyfS8ke0JQTn0vc2NvcGUgJHtsaWJkaXJ9L2dlYW55L3Njb3BlLnNvIgorCitQTFVHSU5TICs9ICIke1BOfS1zZW5kbWFpbCIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9zZW5kbWFpbC9DT1BZSU5HO21kNT1jMTA3Y2Y3NTQ1NTBlNjU3NTVjNDI5ODVhNWQ0ZTljOSIKK0ZJTEVTXyR7UE59LXNlbmRtYWlsID0gIiR7bGliZGlyfS9nZWFueS9zZW5kbWFpbC5zbyIKKworUExVR0lOUyArPSAiJHtQTn0tc2hpZnRjb2x1bW4iCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vc2hpZnRjb2x1bW4vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCitGSUxFU18ke1BOfS1zaGlmdGNvbHVtbiA9ICIke2xpYmRpcn0vZ2Vhbnkvc2hpZnRjb2x1bW4uc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LXNwZWxsY2hlY2siCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vc3BlbGxjaGVjay9DT1BZSU5HO21kNT00MzI1YWZkMzk2ZmViY2I2NTljMzZiNDk1MzMxMzVkNCIKK0ZJTEVTXyR7UE59LXNwZWxsY2hlY2sgPSAiJHtsaWJkaXJ9L2dlYW55L3NwZWxsY2hlY2suc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LXRhYmxlY29udmVydCIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly90YWJsZWNvbnZlcnQvQ09QWUlORzttZDU9Njc1MzY4Njg3OGQwOTBhMWYzZjk0NDU2NjFkM2RmYmMiCitGSUxFU18ke1BOfS10YWJsZWNvbnZlcnQgPSAiJHtsaWJkaXJ9L2dlYW55L3RhYmxlY29udmVydC5zbyIKKworUExVR0lOUyArPSAiJHtQTn0tdHJlZWJyb3dzZXIiCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vdHJlZWJyb3dzZXIvUkVBRE1FO2JlZ2lubGluZT02NztlbmRsaW5lPTY3O21kNT0xZjE3ZjBmMmFiYjg4ZTBmYTBmMWIzNDIxMTJkODcxYyIKK0ZJTEVTXyR7UE59LXRyZWVicm93c2VyID0gIiR7bGliZGlyfS9nZWFueS90cmVlYnJvd3Nlci5zbyIKKworUExVR0lOUyArPSAiJHtQTn0tdXBkYXRlY2hlY2tlciIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly91cGRhdGVjaGVja2VyL0NPUFlJTkc7bWQ1PTQzMjVhZmQzOTZmZWJjYjY1OWMzNmI0OTUzMzEzNWQ0IgorRklMRVNfJHtQTn0tdXBkYXRlY2hlY2tlciA9ICIke2xpYmRpcn0vZ2VhbnkvdXBkYXRlY2hlY2tlci5zbyIKKworUExVR0lOUyArPSAiJHtQTn0tdmltb2RlIgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL3ZpbW9kZS9DT1BZSU5HO21kNT1jMTA3Y2Y3NTQ1NTBlNjU3NTVjNDI5ODVhNWQ0ZTljOSIKK0ZJTEVTXyR7UE59LXZpbW9kZSA9ICIke2xpYmRpcn0vZ2Vhbnkvdmltb2RlLnNvIgorCisjIG5vIHdlYmtpdCAtIGxhc3RzIGFnZXMgYW5kIGlzIG5vdCBwcm9wZXJseSBkZXRlY3RlZAorRVhUUkFfT0VDT05GICs9ICIgLS1kaXNhYmxlLXdlYmhlbHBlciIKKyNQTFVHSU5TICs9ICIke1BOfS13ZWJoZWxwZXIiCisjTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL3dlYmhlbHBlci9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKyNMSUNFTlNFXyR7UE59LXdlYmhlbHBlciA9ICJHUEx2MyIKKyNGSUxFU18ke1BOfS13ZWJoZWxwZXIgPSAiJHtsaWJkaXJ9L2dlYW55L3dlYmhlbHBlci5zbyIKKworUExVR0lOUyArPSAiJHtQTn0td29ya2JlbmNoIgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL3dvcmtiZW5jaC9DT1BZSU5HO21kNT1jMTA3Y2Y3NTQ1NTBlNjU3NTVjNDI5ODVhNWQ0ZTljOSIKK0ZJTEVTXyR7UE59LXdvcmtiZW5jaCA9ICIke2xpYmRpcn0vZ2Vhbnkvd29ya2JlbmNoLnNvIgorCitQTFVHSU5TICs9ICIke1BOfS14bWxzbmlwcGV0cyIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly94bWxzbmlwcGV0cy9DT1BZSU5HO21kNT00MzI1YWZkMzk2ZmViY2I2NTljMzZiNDk1MzMxMzVkNCIKK0ZJTEVTXyR7UE59LXhtbHNuaXBwZXRzID0gIiR7bGliZGlyfS9nZWFueS94bWxzbmlwcGV0cy5zbyIKKworUEFDS0FHRVMgPSsgIiR7UE59LWNvbW1vbiAke1BMVUdJTlN9IgorRklMRVNfJHtQTn0tY29tbW9uID0gIiR7bGliZGlyfS9saWJnZWFueXBsdWdpbnV0aWxzJHtTT0xJQlN9IgorCisjIGdlYW55LXBsdWdpbnMgaXMgbWV0YSBwYWNrYWdlIGZvciBhbGwgcGx1Z2lucworUkRFUEVORFNfJHtQTn0gPSAiJHtQTFVHSU5TfSIKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZ2VhbnkvZ2VhbnlfMS4zMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9nZWFueS9nZWFueV8xLjMxLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYjlkOGJjLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9nZWFueS9nZWFueV8xLjMxLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotU1VNTUFSWSA9ICJBIGZhc3QgYW5kIGxpZ2h0d2VpZ2h0IElERSIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuZ2Vhbnkub3JnLyIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iZDdiMmM5OTRhZjIxZDMxOGJkMmNkM2IzZjgwYzJkNSIKLQotREVQRU5EUyA9ICJndGsrIGxpYnhtbC1wYXJzZXItcGVybC1uYXRpdmUgcHl0aG9uMy1kb2N1dGlscy1uYXRpdmUgaW50bHRvb2wtbmF0aXZlIgotCi1pbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjayBhdXRvdG9vbHMgcGtnY29uZmlnIHBlcmxuYXRpdmUgcHl0aG9ubmF0aXZlIGdldHRleHQKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLQotU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQuZ2Vhbnkub3JnLyR7QlB9LnRhci5iejIiCi1TUkNfVVJJW21kNXN1bV0gPSAiMzg2MDAwYmU2YjI2OTcyYzZhNjk5OTM5YzM3Y2RhMzQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzBmZGI5MDZiYjc2YzQyNTFhOGJjZjgzZWUyNjdkYjI4YzI2ZWY2YWI4Njc2NjhhNzgyY2VjMTE2NGEzYWJhNSIKLQotRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vaWNvbnMiCi0KLUVYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtaHRtbC1kb2NzIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2dlYW55L2dlYW55XzEuMzQuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9nZWFueS9nZWFueV8xLjM0LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWFiNTM1ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9nZWFueS9nZWFueV8xLjM0LjEuYmIKQEAgLTAsMCArMSwxOCBAQAorU1VNTUFSWSA9ICJBIGZhc3QgYW5kIGxpZ2h0d2VpZ2h0IElERSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ2Vhbnkub3JnLyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iZDdiMmM5OTRhZjIxZDMxOGJkMmNkM2IzZjgwYzJkNSIKKworREVQRU5EUyA9ICJndGsrMyBsaWJ4bWwtcGFyc2VyLXBlcmwtbmF0aXZlIHB5dGhvbjMtZG9jdXRpbHMtbmF0aXZlIGludGx0b29sLW5hdGl2ZSIKKworaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBwZXJsbmF0aXZlIHB5dGhvbm5hdGl2ZSBnZXR0ZXh0CisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLmdlYW55Lm9yZy8ke0JQfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gIjg3MjIwZjRhMGUwMzYyM2FiOWQ4NjgyMGY2YmU3YjVkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU3NjVlZmQ4OWU3NTlkZWZlM2ZkNzk3ZDhhMjA1MmFmYmI0YjIzNTIyZWZiY2M3MmUzYTcyYjdmMTA5M2VjMTEiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2ljb25zIgorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWh0bWwtZG9jcyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ndWlkZXIvZ3VpZGVyXzMuOS40LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2d1aWRlci9ndWlkZXJfMy45LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWE0MTM0NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ndWlkZXIvZ3VpZGVyXzMuOS40LmJiCkBAIC0wLDAgKzEsMzUgQEAKK1NVTU1BUlkgPSAicnVudGltZSBwZXJmb3JtYW5jZSBhbmFseXplciIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9paXBlYWNlL2d1aWRlciIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL2lpcGVhY2UvZ3VpZGVyL2lzc3VlcyIKK0FVVEhPUiA9ICJQZWFjZSBMZWUgPGlwZWFjZTVAZ21haWwuY29tPiIKKworTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0yYzFjMDBmOWQzZWQ5ZTI0ZmE2OWI5MzJiN2U3YWZmMiIKKworUFYgPSAiMy45LjQrZ2l0JHtTUkNQVn0iCitQUiA9ICJyMCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2lpcGVhY2UvJHtCUE59IgorI1NSQ1JFViA9ICIke0FVVE9SRVZ9IgorU1JDUkVWID0gImI0MzNmMzgwNTY3NGVmNDU4OGMxYTE2MTk4NmM3NGVlYWM2YTQ4ZTciCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCitSID0gIiR7UkVDSVBFX1NZU1JPT1R9IgorCitpbmhlcml0IGRpc3R1dGlscworCitHVUlERVJfT0JKID0gImd1aWRlci5weWMiCitHVUlERVJfU0NSSVBUID0gImd1aWRlciIKKworZG9faW5zdGFsbCgpIHsKKyAgICBweXRob24gJHtTfS9zZXR1cC5weSBpbnN0YWxsCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC12IC1tIDA3NTUgJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9LyR7R1VJREVSX1NDUklQVH0gJHtEfSR7YmluZGlyfS8ke0dVSURFUl9TQ1JJUFR9CisKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9LyR7QlBOfQorICAgIGluc3RhbGwgLXYgLW0gMDc1NSAke1NUQUdJTkdfTElCRElSX05BVElWRX0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059L3NpdGUtcGFja2FnZXMvJHtCUE59LyR7R1VJREVSX09CSn0gJHtEfSR7ZGF0YWRpcn0vJHtCUE59LyR7R1VJREVSX09CSn0KK30KKworUkRFUEVORFNfJHtQTn0gPSAicHl0aG9uLWN0eXBlcyBweXRob24tc2hlbGwgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLWpzb24gcHl0aG9uLXN1YnByb2Nlc3MiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanEvanEvU3VwcG9ydC13aXRob3V0LW9uaWd1cnVtYS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qcS9qcS9TdXBwb3J0LXdpdGhvdXQtb25pZ3VydW1hLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZGZkOTU1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qcS9qcS9TdXBwb3J0LXdpdGhvdXQtb25pZ3VydW1hLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjggKzAsMCBAQAotRnJvbSAxOGI0YjE4YjQxZjVlZDM5NmQ3MzQ0OWNlOGQ2ZWM0MDhkOTVkNmIyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRGF2aWQgVG9sbmF5IDxkdG9sbmF5QGdtYWlsLmNvbT4KLURhdGU6IFNhdCwgMjEgTm92IDIwMTUgMTA6MDU6MzcgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gU3VwcG9ydCAtLXdpdGhvdXQtb25pZ3VydW1hCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotU2lnbmVkLW9mZi1ieTogQW5kcmUgTWNDdXJkeSA8YXJtY2N1cmR5QGdtYWlsLmNvbT4KLQotLS0tCi0gY29uZmlndXJlLmFjIHwgNDEgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDllMmM4Y2YuLjdmNmJlMzQgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuYWMKLSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTUyLDI3ICs1MiwyNiBAQCBmaQotIEFDX0FSR19XSVRIKFtvbmlndXJ1bWFdLAotICAgICBbQVNfSEVMUF9TVFJJTkcoWy0td2l0aC1vbmlndXJ1bWE9cHJlZml4XSwKLSAgICAgICAgIFt0cnkgdGhpcyBmb3IgYSBub24tc3RhbmRhcmQgaW5zdGFsbCBwcmVmaXggb2YgdGhlIG9uaWd1cnVtYSBsaWJyYXJ5XSldLAotLSAgICBbT05JR1VSVU1BUEFUSFNFVD0xXSwKLS0gICAgW09OSUdVUlVNQVBBVEhTRVQ9MF0pCi0tCi0taWYgdGVzdCAkT05JR1VSVU1BUEFUSFNFVCA9IDE7IHRoZW4KLS0gIENGTEFHUz0iJENGTEFHUyAtSSR7d2l0aF9vbmlndXJ1bWF9L2luY2x1ZGUiCi0tICBMREZMQUdTPSIkTERGTEFHUyAtTCR7d2l0aF9vbmlndXJ1bWF9L2xpYiIKLS1maQotLQotLSMgY2hlY2sgZm9yIE9OSUdVUlVNQSBsaWJyYXJ5Ci0tSEFWRV9PTklHVVJVTUE9MAotLUFDX0NIRUNLX0hFQURFUigib25pZ3VydW1hLmgiLAotLSAgICBBQ19DSEVDS19MSUIoW29uaWddLFtvbmlnX3ZlcnNpb25dLFtMSUJTPSIkTElCUyAtbG9uaWciOyBIQVZFX09OSUdVUlVNQT0xO10pKQotLQotLSMgaGFuZGxlIGNoZWNrIHJlc3VsdHMKLS1pZiB0ZXN0ICRIQVZFX09OSUdVUlVNQSAhPSAxOyB0aGVuCi0tICAgIEFDX01TR19OT1RJQ0UoW09uaWd1cnVtYSB3YXMgbm90IGZvdW5kLl0pCi0tICAgIEFDX01TR19OT1RJQ0UoWyBUcnkgc2V0dGluZyB0aGUgbG9jYXRpb24gdXNpbmcgJy0td2l0aC1vbmlndXJ1bWE9UFJFRklYJyBdKQotLWVsc2UKLS0gICAgQUNfREVGSU5FKFtIQVZFX09OSUdVUlVNQV0sMSxbRGVmaW5lIHRvIDEgaWYgT25pZ3VydW1hIGlzIGluc3RhbGxlZF0pCi0tZmkKLS0KLSsgICAgW10sCi0rICAgIFt3aXRoX29uaWd1cnVtYT15ZXNdKQotKwotK0FTX0lGKFt0ZXN0ICJ4JHdpdGhfb25pZ3VydW1hIiAhPSB4bm9dLCBbCi0rICAgIEFTX0lGKFt0ZXN0ICJ4JHdpdGhfb25pZ3VydW1hIiAhPSB4eWVzXSwgWwotKyAgICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTIC1JJHt3aXRoX29uaWd1cnVtYX0vaW5jbHVkZSIKLSsgICAgICAgIExERkxBR1M9IiRMREZMQUdTIC1MJHt3aXRoX29uaWd1cnVtYX0vbGliIgotKyAgICBdKQotKyAgICAjIGNoZWNrIGZvciBPTklHVVJVTUEgbGlicmFyeQotKyAgICBoYXZlX29uaWd1cnVtYT0wCi0rICAgIEFDX0NIRUNLX0hFQURFUigib25pZ3VydW1hLmgiLAotKyAgICAgICAgQUNfQ0hFQ0tfTElCKFtvbmlnXSxbb25pZ192ZXJzaW9uXSxbTElCUz0iJExJQlMgLWxvbmlnIjsgaGF2ZV9vbmlndXJ1bWE9MTtdKSkKLSsgICAgIyBoYW5kbGUgY2hlY2sgcmVzdWx0cwotKyAgICBBU19JRihbdGVzdCAkaGF2ZV9vbmlndXJ1bWEgPSAxXSwgWwotKyAgICAgICAgQUNfREVGSU5FKFtIQVZFX09OSUdVUlVNQV0sIDEsIFtEZWZpbmUgdG8gMSBpZiBPbmlndXJ1bWEgaXMgaW5zdGFsbGVkXSkKLSsgICAgXSwgWwotKyAgICAgICAgQUNfTVNHX05PVElDRShbT25pZ3VydW1hIHdhcyBub3QgZm91bmQuXSkKLSsgICAgICAgIEFDX01TR19OT1RJQ0UoW1RyeSBzZXR0aW5nIHRoZSBsb2NhdGlvbiB1c2luZyAnLS13aXRoLW9uaWd1cnVtYT1QUkVGSVgnXSkKLSsgICAgXSkKLStdKQotIAotIGRubCBDaGVjayBmb3IgdmFsZ3JpbmQKLSBBQ19DSEVDS19QUk9HUyh2YWxncmluZF9jbWQsIHZhbGdyaW5kKQotLS0gCi0xLjkuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanEvanFfMS41LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2pxL2pxXzEuNS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGY0MDgxNS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanEvanFfMS41LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotU1VNTUFSWSA9ICJMaWdodHdlaWdodCBhbmQgZmxleGlibGUgY29tbWFuZC1saW5lIEpTT04gcHJvY2Vzc29yIgotREVTQ1JJUFRJT04gPSAianEgaXMgbGlrZSBzZWQgZm9yIEpTT04gZGF0YSwgeW91IGNhbiB1c2UgaXQgdG8gc2xpY2UgYW5kIFwKLSAgICAgICAgICAgICAgIGZpbHRlciBhbmQgbWFwIGFuZCB0cmFuc2Zvcm0gc3RydWN0dXJlZCBkYXRhIHdpdGggdGhlIHNhbWUgXAotICAgICAgICAgICAgICAgZWFzZSB0aGF0IHNlZCwgYXdrLCBncmVwIGFuZCBmcmllbmRzIGxldCB5b3UgcGxheSB3aXRoIHRleHQuIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9zdGVkb2xhbi5naXRodWIuaW8vanEvIgotQlVHVFJBQ0tFUiA9ICJodHRwczovL2dpdGh1Yi5jb20vc3RlZG9sYW4vanEvaXNzdWVzIgotU0VDVElPTiA9ICJ1dGlscyIKLUxJQ0VOU0UgPSAiTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjlkZDBjMzVkN2UzOTFiYjhkNTE1ZWFjZjc1OTJlMDAiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL3N0ZWRvbGFuLyR7QlBOfS9yZWxlYXNlcy9kb3dubG9hZC8ke0JQfS8ke0JQfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vU3VwcG9ydC13aXRob3V0LW9uaWd1cnVtYS5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIwOTMzNTMyYjA4NmJkOGI2YTQxYzFiMTYyYjE3MzFmOSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJjNGQyYmZlYzY0MzYzNDExMTM0MTlkZWJmNDc5ZDgzMzY5MmNjNWNkYWI3ZWIwMzI2YjVhNGQ0ZmJlOWY0OTNjIgotCi1pbmhlcml0IGF1dG90b29scwotCi1QQUNLQUdFQ09ORklHID89ICJvbmlndXJ1bWEiCi0KLVBBQ0tBR0VDT05GSUdbZG9jc10gPSAiLS1lbmFibGUtZG9jcywtLWRpc2FibGUtZG9jcyxydWJ5LW5hdGl2ZSIKLVBBQ0tBR0VDT05GSUdbbWFpbnRhaW5lci1tb2RlXSA9ICItLWVuYWJsZS1tYWludGFpbmVyLW1vZGUsLS1kaXNhYmxlLW1haW50YWluZXItbW9kZSxmbGV4LW5hdGl2ZSBiaXNvbi1uYXRpdmUiCi1QQUNLQUdFQ09ORklHW29uaWd1cnVtYV0gPSAiLS13aXRoLW9uaWd1cnVtYSwtLXdpdGhvdXQtb25pZ3VydW1hLG9uaWciCi0KLU9FX0VYVFJBQ09ORiArPSAiIFwKLSAgICAtLWRpc2FibGUtdmFsZ3JpbmQgXAotIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qcS9qcV8xLjYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanEvanFfMS42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAwODZlYWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanEvanFfMS42LmJiCkBAIC0wLDAgKzEsMjkgQEAKK1NVTU1BUlkgPSAiTGlnaHR3ZWlnaHQgYW5kIGZsZXhpYmxlIGNvbW1hbmQtbGluZSBKU09OIHByb2Nlc3NvciIKK0RFU0NSSVBUSU9OID0gImpxIGlzIGxpa2Ugc2VkIGZvciBKU09OIGRhdGEsIHlvdSBjYW4gdXNlIGl0IHRvIHNsaWNlIGFuZCBcCisgICAgICAgICAgICAgICBmaWx0ZXIgYW5kIG1hcCBhbmQgdHJhbnNmb3JtIHN0cnVjdHVyZWQgZGF0YSB3aXRoIHRoZSBzYW1lIFwKKyAgICAgICAgICAgICAgIGVhc2UgdGhhdCBzZWQsIGF3aywgZ3JlcCBhbmQgZnJpZW5kcyBsZXQgeW91IHBsYXkgd2l0aCB0ZXh0LiIKK0hPTUVQQUdFID0gImh0dHBzOi8vc3RlZG9sYW4uZ2l0aHViLmlvL2pxLyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL3N0ZWRvbGFuL2pxL2lzc3VlcyIKK1NFQ1RJT04gPSAidXRpbHMiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTE1ZDAzZTM2MGZhNzM5OWY3NmQ1YTQzNTlmYzcyY2JmIgorCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9zdGVkb2xhbi8ke0JQTn0vcmVsZWFzZXMvZG93bmxvYWQvJHtCUH0vJHtCUH0udGFyLmd6IFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gImU2OGZiZDZhOTkyZTM2ZjFhYzQ4Yzk5YmJmODI1ZDZiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVkZThjOGUyOWFhYTNmYjljYzZiNDdiYjI3Mjk5ZjI3MTM1NGViYjcyNTE0ZTNhY2NhZGM3ZDM4YjViYmFhNzIiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCitQQUNLQUdFQ09ORklHID89ICJvbmlndXJ1bWEiCisKK1BBQ0tBR0VDT05GSUdbZG9jc10gPSAiLS1lbmFibGUtZG9jcywtLWRpc2FibGUtZG9jcyxydWJ5LW5hdGl2ZSIKK1BBQ0tBR0VDT05GSUdbbWFpbnRhaW5lci1tb2RlXSA9ICItLWVuYWJsZS1tYWludGFpbmVyLW1vZGUsLS1kaXNhYmxlLW1haW50YWluZXItbW9kZSxmbGV4LW5hdGl2ZSBiaXNvbi1uYXRpdmUiCitQQUNLQUdFQ09ORklHW29uaWd1cnVtYV0gPSAiLS13aXRoLW9uaWd1cnVtYSwtLXdpdGhvdXQtb25pZ3VydW1hLG9uaWciCisKK09FX0VYVFJBQ09ORiArPSAiIFwKKyAgICAtLWRpc2FibGUtdmFsZ3JpbmQgXAorIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qc29ucnBjL2pzb25ycGMvMDAwMS1jbWFrZS1yZXBsYWNlLWhhcmRjb2RlZC1saWItQ01BS0VfTElCUkFSWV9QQVRILXdpdGgtLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2pzb25ycGMvanNvbnJwYy8wMDAxLWNtYWtlLXJlcGxhY2UtaGFyZGNvZGVkLWxpYi1DTUFLRV9MSUJSQVJZX1BBVEgtd2l0aC0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc0OGU0ZGEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2pzb25ycGMvanNvbnJwYy8wMDAxLWNtYWtlLXJlcGxhY2UtaGFyZGNvZGVkLWxpYi1DTUFLRV9MSUJSQVJZX1BBVEgtd2l0aC0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3NyArMCwwIEBACi1Gcm9tIGFjNjExMjRkZjE3YWI3NjUyNzUwOGJiYjlhMzExNWQ0ZDZjYzFhZjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogTW9uLCAyMSBOb3YgMjAxNiAxMToyNjoyNiAtMDgwMAotU3ViamVjdDogW1BBVENIXSBjbWFrZTogcmVwbGFjZSBoYXJkY29kZWQgbGliLyR7Q01BS0VfTElCUkFSWV9QQVRIfSB3aXRoCi0ge0NNQUtFX0lOU1RBTExfTElCRElSfQotCi1GaXhlcwotfCBDTWFrZSBFcnJvciBhdCBzcmMvanNvbnJwY2NwcC9DTWFrZUxpc3RzLnR4dDoyMDcgKGluc3RhbGwpOgotfCAgIGluc3RhbGwgVEFSR0VUUyBnaXZlbiB1bmtub3duIGFyZ3VtZW50ICIvbGliIi4KLQotYW5kCi0KLVdyb25nIGluc3RhbGwgcGF0aHMgZHVyaW5nIGNyb3NzIGNvbXBpbGUKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIHNyYy9qc29ucnBjY3BwL0NNYWtlTGlzdHMudHh0ICAgIHwgOCArKysrLS0tLQotIHNyYy9zdHViZ2VuZXJhdG9yL0NNYWtlTGlzdHMudHh0IHwgNiArKystLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9qc29ucnBjY3BwL0NNYWtlTGlzdHMudHh0IGIvc3JjL2pzb25ycGNjcHAvQ01ha2VMaXN0cy50eHQKLWluZGV4IGU0YTFlYjUuLjEzZjkwNTYgMTAwNjQ0Ci0tLS0gYS9zcmMvanNvbnJwY2NwcC9DTWFrZUxpc3RzLnR4dAotKysrIGIvc3JjL2pzb25ycGNjcHAvQ01ha2VMaXN0cy50eHQKLUBAIC0yMDUsMTUgKzIwNSwxNSBAQCBpZiAoV0lOMzIpCi0gZW5kaWYoKQotIAotIGluc3RhbGwoVEFSR0VUUyAke0FMTF9MSUJTfQotLQlMSUJSQVJZIERFU1RJTkFUSU9OIGxpYiR7TElCX1NVRkZJWH0vJHtDTUFLRV9MSUJSQVJZX1BBVEh9Ci0tCUFSQ0hJVkUgREVTVElOQVRJT04gbGliJHtMSUJfU1VGRklYfS8ke0NNQUtFX0xJQlJBUllfUEFUSH0KLSsJTElCUkFSWSBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfTElCRElSfQotKwlBUkNISVZFIERFU1RJTkFUSU9OICR7Q01BS0VfSU5TVEFMTF9MSUJESVJ9Ci0gCVJVTlRJTUUgREVTVElOQVRJT04gYmluCi0gKQotIAotICNzZXQgcGtnLWNvbmZpZwotIGdldF9maWxlbmFtZV9jb21wb25lbnQoRlVMTF9QQVRIX0lOU1RBTExfUFJFRklYICR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9IEFCU09MVVRFKQotIHNldChGVUxMX1BBVEhfSU5DTFVERURJUiAiJHtGVUxMX1BBVEhfSU5TVEFMTF9QUkVGSVh9L2luY2x1ZGUiKQotLXNldChGVUxMX1BBVEhfTElCRElSICIke0ZVTExfUEFUSF9JTlNUQUxMX1BSRUZJWH0vbGliLyR7Q01BS0VfTElCUkFSWV9QQVRIfSIpCi0rc2V0KEZVTExfUEFUSF9MSUJESVIgIiR7RlVMTF9QQVRIX0lOU1RBTExfUFJFRklYfS8ke0NNQUtFX0lOU1RBTExfTElCRElSfSIpCi0gCi0gQ09ORklHVVJFX0ZJTEUoJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L2NtYWtlL2xpYmpzb25ycGNjcHAtY2xpZW50LnBjLmNtYWtlICR7Q01BS0VfQklOQVJZX0RJUn0vbGlianNvbnJwY2NwcC1jbGllbnQucGMpCi0gQ09ORklHVVJFX0ZJTEUoJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L2NtYWtlL2xpYmpzb25ycGNjcHAtc2VydmVyLnBjLmNtYWtlICR7Q01BS0VfQklOQVJZX0RJUn0vbGlianNvbnJwY2NwcC1zZXJ2ZXIucGMpCi1AQCAtMjIzLDYgKzIyMyw2IEBAIElOU1RBTEwoRklMRVMKLSAgICAgIiR7Q01BS0VfQklOQVJZX0RJUn0vbGlianNvbnJwY2NwcC1zZXJ2ZXIucGMiCi0gICAgICIke0NNQUtFX0JJTkFSWV9ESVJ9L2xpYmpzb25ycGNjcHAtY2xpZW50LnBjIgotICAgICAiJHtDTUFLRV9CSU5BUllfRElSfS9saWJqc29ucnBjY3BwLWNvbW1vbi5wYyIKLS0gICAgREVTVElOQVRJT04gImxpYiR7TElCX1NVRkZJWH0vJHtDTUFLRV9MSUJSQVJZX1BBVEh9L3BrZ2NvbmZpZyIpCi0rICAgIERFU1RJTkFUSU9OICIke0NNQUtFX0lOU1RBTExfTElCRElSfS9wa2djb25maWciKQotIAotIAotZGlmZiAtLWdpdCBhL3NyYy9zdHViZ2VuZXJhdG9yL0NNYWtlTGlzdHMudHh0IGIvc3JjL3N0dWJnZW5lcmF0b3IvQ01ha2VMaXN0cy50eHQKLWluZGV4IGY5ZGJlNGMuLmI1N2IwZmUgMTAwNjQ0Ci0tLS0gYS9zcmMvc3R1YmdlbmVyYXRvci9DTWFrZUxpc3RzLnR4dAotKysrIGIvc3JjL3N0dWJnZW5lcmF0b3IvQ01ha2VMaXN0cy50eHQKLUBAIC01OCwxNSArNTgsMTUgQEAgQ09ORklHVVJFX0ZJTEUoJHtDTUFLRV9TT1VSQ0VfRElSfS9jbWFrZS9saWJqc29ucnBjY3BwLXN0dWIucGMuY21ha2UgJHtDTUFLRV9CSU4KLSAKLSBJTlNUQUxMKEZJTEVTCi0gICAgICIke0NNQUtFX0JJTkFSWV9ESVJ9L2xpYmpzb25ycGNjcHAtc3R1Yi5wYyIKLS0gICAgREVTVElOQVRJT04gImxpYi8ke0NNQUtFX0xJQlJBUllfUEFUSH0vcGtnY29uZmlnIikKLSsgICAgREVTVElOQVRJT04gIiR7Q01BS0VfSU5TVEFMTF9MSUJESVJ9L3BrZ2NvbmZpZyIpCi0gCi0gaW5zdGFsbChESVJFQ1RPUlkgJHtDTUFLRV9TT1VSQ0VfRElSfS9zcmMvc3R1YmdlbmVyYXRvci8KLSAgICAgICAgIERFU1RJTkFUSU9OIGluY2x1ZGUvanNvbnJwY2NwcC9zdHViZ2VuCi0gICAgICAgICBGSUxFU19NQVRDSElORyBQQVRURVJOICIqLmgiKQotIAotIGluc3RhbGwoVEFSR0VUUyAke0FMTF9MSUJTfSBqc29ucnBjc3R1YgotLSAgICAgICAgTElCUkFSWSBERVNUSU5BVElPTiBsaWIke0xJQl9TVUZGSVh9LyR7Q01BS0VfTElCUkFSWV9QQVRIfQotLSAgICAgICAgQVJDSElWRSBERVNUSU5BVElPTiBsaWIke0xJQl9TVUZGSVh9LyR7Q01BS0VfTElCUkFSWV9QQVRIfQotKyAgICAgICAgTElCUkFSWSBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfTElCRElSfQotKyAgICAgICAgQVJDSElWRSBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfTElCRElSfQotICAgICAgICAgUlVOVElNRSBERVNUSU5BVElPTiBiaW4KLSApCi0gCi0tLSAKLTIuMTAuMgotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanNvbnJwYy9qc29ucnBjLzAwMDEtZmlsZWRlc2NyaXB0b3JjbGllbnQtVHlwZWNhc3QtbWluLWFyZ3VtZW50cy1jb3JyZWN0bC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qc29ucnBjL2pzb25ycGMvMDAwMS1maWxlZGVzY3JpcHRvcmNsaWVudC1UeXBlY2FzdC1taW4tYXJndW1lbnRzLWNvcnJlY3RsLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMjFlOTc5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qc29ucnBjL2pzb25ycGMvMDAwMS1maWxlZGVzY3JpcHRvcmNsaWVudC1UeXBlY2FzdC1taW4tYXJndW1lbnRzLWNvcnJlY3RsLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotRnJvbSA5NTAwZjEyZjVkODI3ODQwNjM0MzExZDZjYTk3MmQ5NTUxMjExZTRkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IE1vbiwgMjEgTm92IDIwMTYgMDE6MDA6NTEgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gZmlsZWRlc2NyaXB0b3JjbGllbnQ6IFR5cGVjYXN0IG1pbigpIGFyZ3VtZW50cyBjb3JyZWN0bHkKLQotRml4ZXMKLQotfCAvbW50L2EvYnVpbGQvdG1wLWdsaWJjL3dvcmsvY29ydGV4YTdoZi1uZW9uLXZmcHY0LW9lLWxpbnV4LWdudWVhYmkvanNvbnJwYy8wLjcuMC1yMC9naXQvc3JjL2pzb25ycGNjcAotcC9jbGllbnQvY29ubmVjdG9ycy9maWxlZGVzY3JpcHRvcmNsaWVudC5jcHA6NDc6OTI6IG5vdGU6ICAgZGVkdWNlZCBjb25mbGljdGluZyB0eXBlcyBmb3IgcGFyYW1ldGVyICdjbwotbnN0IF9UcCcgKCd1bnNpZ25lZCBpbnQnIGFuZCAnbG9uZyB1bnNpZ25lZCBpbnQnKQotfCAgICAgIHNzaXplX3QgYnl0ZVdyaXR0ZW4gPSB3cml0ZShvdXRwdXRmZCwgdG9TZW5kLmNfc3RyKCksIG1pbih0b1NlbmQuc2l6ZSgpLCBNQVhfV1JJVEVfU0laRSkpOwotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gc3JjL2pzb25ycGNjcHAvY2xpZW50L2Nvbm5lY3RvcnMvZmlsZWRlc2NyaXB0b3JjbGllbnQuY3BwIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2pzb25ycGNjcHAvY2xpZW50L2Nvbm5lY3RvcnMvZmlsZWRlc2NyaXB0b3JjbGllbnQuY3BwIGIvc3JjL2pzb25ycGNjcHAvY2xpZW50L2Nvbm5lY3RvcnMvZmlsZWRlc2NyaXB0b3JjbGllbnQuY3BwCi1pbmRleCA3N2FhYzdlLi42MzI1YjVjIDEwMDY0NAotLS0tIGEvc3JjL2pzb25ycGNjcHAvY2xpZW50L2Nvbm5lY3RvcnMvZmlsZWRlc2NyaXB0b3JjbGllbnQuY3BwCi0rKysgYi9zcmMvanNvbnJwY2NwcC9jbGllbnQvY29ubmVjdG9ycy9maWxlZGVzY3JpcHRvcmNsaWVudC5jcHAKLUBAIC00Myw3ICs0Myw3IEBAIHZvaWQgRmlsZURlc2NyaXB0b3JDbGllbnQ6OlNlbmRSUENNZXNzYWdlKGNvbnN0IHN0ZDo6c3RyaW5nJiBtZXNzYWdlLAotICAgc3RyaW5nIHRvU2VuZCA9IG1lc3NhZ2U7Ci0gICBkbwotICAgewotLSAgICBzc2l6ZV90IGJ5dGVXcml0dGVuID0gd3JpdGUob3V0cHV0ZmQsIHRvU2VuZC5jX3N0cigpLCBtaW4odG9TZW5kLnNpemUoKSwgTUFYX1dSSVRFX1NJWkUpKTsKLSsgICAgc3NpemVfdCBieXRlV3JpdHRlbiA9IHdyaXRlKG91dHB1dGZkLCB0b1NlbmQuY19zdHIoKSwgbWluKChsb25nIHVuc2lnbmVkIGludCl0b1NlbmQuc2l6ZSgpLCBNQVhfV1JJVEVfU0laRSkpOwotICAgICBpZiAoYnl0ZVdyaXR0ZW4gPCAxKQotICAgICAgIHRocm93IEpzb25ScGNFeGNlcHRpb24oRXJyb3JzOjpFUlJPUl9DTElFTlRfQ09OTkVDVE9SLAotICAgICAgICAgIlVua25vd24gZXJyb3Igb2NjdXJlZCB3aGlsZSB3cml0aW5nIHRvIHRoZSBvdXRwdXQgZmlsZSBkZXNjcmlwdG9yIik7Ci0tLSAKLTIuMTAuMgotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanNvbnJwYy9qc29ucnBjLzAwMDEtZmlsZWRlc2NyaXB0b3JzZXJ2ZXItSW5jbHVkZS1zeXMtc2VsZWN0LmgtYmVmb3JlLW90aC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qc29ucnBjL2pzb25ycGMvMDAwMS1maWxlZGVzY3JpcHRvcnNlcnZlci1JbmNsdWRlLXN5cy1zZWxlY3QuaC1iZWZvcmUtb3RoLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYjkwNjhhLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qc29ucnBjL2pzb25ycGMvMDAwMS1maWxlZGVzY3JpcHRvcnNlcnZlci1JbmNsdWRlLXN5cy1zZWxlY3QuaC1iZWZvcmUtb3RoLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotRnJvbSBjN2FhZDEwNjI4OTQ5ZTEyNmY1MGUzMjY0YjViYzdlYjQxNzM0N2M2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IE1vbiwgMjEgTm92IDIwMTYgMDE6MjU6MTAgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gZmlsZWRlc2NyaXB0b3JzZXJ2ZXI6IEluY2x1ZGUgc3lzL3NlbGVjdC5oIGJlZm9yZSBvdGhlcgotIGhlYWRlcnMKLQotRml4ZXMgZXJyb3JzIGUuZy4KLXwgL21udC9hL2J1aWxkL3RtcC1nbGliYy93b3JrL2NvcnRleGE3aGYtbmVvbi12ZnB2NC1vZS1saW51eC1nbnVlYWJpL2pzb25ycGMvMC43LjAtcjAvZ2l0L3NyYy9qc29ucnBjY3AKLXAvc2VydmVyL2Nvbm5lY3RvcnMvZmlsZWRlc2NyaXB0b3JzZXJ2ZXIuaDo2Mzo3OiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ2ZkX3NldCcKLXwgICAgICAgZmRfc2V0IHJlYWRfZmRzOwotfCAgICAgICBeCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBzcmMvanNvbnJwY2NwcC9zZXJ2ZXIvY29ubmVjdG9ycy9maWxlZGVzY3JpcHRvcnNlcnZlci5jcHAgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvanNvbnJwY2NwcC9zZXJ2ZXIvY29ubmVjdG9ycy9maWxlZGVzY3JpcHRvcnNlcnZlci5jcHAgYi9zcmMvanNvbnJwY2NwcC9zZXJ2ZXIvY29ubmVjdG9ycy9maWxlZGVzY3JpcHRvcnNlcnZlci5jcHAKLWluZGV4IDlkNzQyMjMuLjhlMDE5Y2EgMTAwNjQ0Ci0tLS0gYS9zcmMvanNvbnJwY2NwcC9zZXJ2ZXIvY29ubmVjdG9ycy9maWxlZGVzY3JpcHRvcnNlcnZlci5jcHAKLSsrKyBiL3NyYy9qc29ucnBjY3BwL3NlcnZlci9jb25uZWN0b3JzL2ZpbGVkZXNjcmlwdG9yc2VydmVyLmNwcAotQEAgLTcsOCArNyw4IEBACi0gICogQGxpY2Vuc2UgU2VlIGF0dGFjaGVkIExJQ0VOU0UudHh0Ci0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLSAKLS0jaW5jbHVkZSAiZmlsZWRlc2NyaXB0b3JzZXJ2ZXIuaCIKLSAjaW5jbHVkZSA8c3lzL3NlbGVjdC5oPgotKyNpbmNsdWRlICJmaWxlZGVzY3JpcHRvcnNlcnZlci5oIgotICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KLSAjaW5jbHVkZSA8dW5pc3RkLmg+Ci0tLSAKLTIuMTAuMgotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanNvbnJwYy9qc29ucnBjLzAwMDEtbWVtc2V0LWFuZC1mYW1pbHktbmVlZHMtdG8taW5jbHVkZS1zdHJpbmcuaC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qc29ucnBjL2pzb25ycGMvMDAwMS1tZW1zZXQtYW5kLWZhbWlseS1uZWVkcy10by1pbmNsdWRlLXN0cmluZy5oLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMWVmOThiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qc29ucnBjL2pzb25ycGMvMDAwMS1tZW1zZXQtYW5kLWZhbWlseS1uZWVkcy10by1pbmNsdWRlLXN0cmluZy5oLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotRnJvbSBmNTQxNmYxYzJiMjk4OWY5NDE2M2EyYWU0YjkxYzliOWZhMTNjNjIwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMzEgTWFyIDIwMTcgMTM6MzI6MzEgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSCAxLzJdIG1lbXNldCgpIGFuZCBmYW1pbHkgbmVlZHMgdG8gaW5jbHVkZSBzdHJpbmcuaAotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gc3JjL2pzb25ycGNjcHAvc2VydmVyL2Nvbm5lY3RvcnMvdW5peGRvbWFpbnNvY2tldHNlcnZlci5jcHAgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvanNvbnJwY2NwcC9zZXJ2ZXIvY29ubmVjdG9ycy91bml4ZG9tYWluc29ja2V0c2VydmVyLmNwcCBiL3NyYy9qc29ucnBjY3BwL3NlcnZlci9jb25uZWN0b3JzL3VuaXhkb21haW5zb2NrZXRzZXJ2ZXIuY3BwCi1pbmRleCA5ZmNhNTdiLi5lNjNjNDllIDEwMDY0NAotLS0tIGEvc3JjL2pzb25ycGNjcHAvc2VydmVyL2Nvbm5lY3RvcnMvdW5peGRvbWFpbnNvY2tldHNlcnZlci5jcHAKLSsrKyBiL3NyYy9qc29ucnBjY3BwL3NlcnZlci9jb25uZWN0b3JzL3VuaXhkb21haW5zb2NrZXRzZXJ2ZXIuY3BwCi1AQCAtMTYsNyArMTYsNyBAQAotICNpbmNsdWRlIDxjc3RkaW8+Ci0gI2luY2x1ZGUgPGZjbnRsLmg+Ci0gI2luY2x1ZGUgPHVuaXN0ZC5oPgotLSNpbmNsdWRlIDxzdHJpbmc+Ci0rI2luY2x1ZGUgPGNzdHJpbmc+Ci0gCi0gdXNpbmcgbmFtZXNwYWNlIGpzb25ycGM7Ci0gdXNpbmcgbmFtZXNwYWNlIHN0ZDsKLS0tIAotMi4xMi4xCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qc29ucnBjL2pzb25ycGMvMDAwMi1GaXgtYnVpbGQtcHJvYmxlbS1vbi1NYWMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanNvbnJwYy9qc29ucnBjLzAwMDItRml4LWJ1aWxkLXByb2JsZW0tb24tTWFjLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZWNlNDViLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qc29ucnBjL2pzb25ycGMvMDAwMi1GaXgtYnVpbGQtcHJvYmxlbS1vbi1NYWMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1Gcm9tIDc5MDUwZWY5NjA3ZjI0MmUwZDUwOTk2OWIxOWU5MzkwMjIwYzM0MTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBZb25nd2VpIFd1IDx3dXlvbmd3ZWlAZ21haWwuY29tPgotRGF0ZTogU2F0LCAzMSBEZWMgMjAxNiAxMTo1NzoxMSArMDgwMAotU3ViamVjdDogW1BBVENIIDIvMl0gRml4IGJ1aWxkIHByb2JsZW0gb24gTWFjLgotCi1fX3N1c2Vjb25kc190IGlzIG5vdCBkZWZpbmVkIG9uIE1hYy9CU0Q7IHVzZSB0aGUgUE9TSVgtY29uZm9ybWFudAotc3VzZWNvbmRzX3QuCi0tLS0KLSBzcmMvanNvbnJwY2NwcC9zZXJ2ZXIvY29ubmVjdG9ycy9maWxlZGVzY3JpcHRvcnNlcnZlci5jcHAgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvanNvbnJwY2NwcC9zZXJ2ZXIvY29ubmVjdG9ycy9maWxlZGVzY3JpcHRvcnNlcnZlci5jcHAgYi9zcmMvanNvbnJwY2NwcC9zZXJ2ZXIvY29ubmVjdG9ycy9maWxlZGVzY3JpcHRvcnNlcnZlci5jcHAKLWluZGV4IDhlMDE5Y2EuLjY4MTA3ZjIgMTAwNjQ0Ci0tLS0gYS9zcmMvanNvbnJwY2NwcC9zZXJ2ZXIvY29ubmVjdG9ycy9maWxlZGVzY3JpcHRvcnNlcnZlci5jcHAKLSsrKyBiL3NyYy9qc29ucnBjY3BwL3NlcnZlci9jb25uZWN0b3JzL2ZpbGVkZXNjcmlwdG9yc2VydmVyLmNwcAotQEAgLTEyMiw3ICsxMjIsNyBAQCBpbnQgRmlsZURlc2NyaXB0b3JTZXJ2ZXI6OldhaXRGb3JSZWFkKCkgewotICAgRkRfWkVSTygmZXhjZXB0X2Zkcyk7Ci0gICBGRF9TRVQoaW5wdXRmZCwgJnJlYWRfZmRzKTsKLSAgIHRpbWVvdXQudHZfc2VjID0gMDsKLS0gIHRpbWVvdXQudHZfdXNlYyA9IChfX3N1c2Vjb25kc190KSAoUkVBRF9USU1FT1VUICogMTAwMDAwMCk7Ci0rICB0aW1lb3V0LnR2X3VzZWMgPSAoc3VzZWNvbmRzX3QpIChSRUFEX1RJTUVPVVQgKiAxMDAwMDAwKTsKLSAgIC8vIFdhaXQgZm9yIHNvbWV0aGluZyB0byByZWFkCi0gICByZXR1cm4gc2VsZWN0KGlucHV0ZmQgKyAxLCAmcmVhZF9mZHMsICZ3cml0ZV9mZHMsICZleGNlcHRfZmRzLCAmdGltZW91dCk7Ci0gfQotLS0gCi0yLjEyLjEKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2pzb25ycGMvanNvbnJwY18wLjcuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qc29ucnBjL2pzb25ycGNfMC43LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGViMWZmNjUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2pzb25ycGMvanNvbnJwY18wLjcuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLVNVTU1BUlkgPSAiQysrIGZyYW1ld29yayBmb3IganNvbi1ycGMgMS4wIGFuZCAyLjAiCi1ERVNDUklQVElPTiA9ICJKc29uUnBjLUNwcCBpcyBhbiBPcGVuU291cmNlIGltcGxlbWVudGF0aW9uIG9mIEpTT04tUlBDIFwKLSAgICAgICAgICAgICAgIHByb3RvY29sIGluIEMrKy4gSlNPTi1SUEMgaXMgYSBsaWdodHdlaWdodCByZW1vdGUgcHJvY2VkdXJlIFwKLSAgICAgICAgICAgICAgIGNhbGwgcHJvdG9jb2wgc2ltaWxhciB0byBYTUwtUlBDLiIKLUhPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9jaW5lbWFzdC9saWJqc29uLXJwYy1jcHAiCi0KLUxJQ0VOU0UgPSAiTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PWVlNzJkNjAxODU0ZDVkMmEwNjVjZjY0Mjg4M2M0ODliIgotCi1QViA9ICIwLjcuMCtnaXQke1NSQ1BWfSIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2NpbmVtYXN0L2xpYmpzb24tcnBjLWNwcCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWNtYWtlLXJlcGxhY2UtaGFyZGNvZGVkLWxpYi1DTUFLRV9MSUJSQVJZX1BBVEgtd2l0aC0ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1maWxlZGVzY3JpcHRvcmNsaWVudC1UeXBlY2FzdC1taW4tYXJndW1lbnRzLWNvcnJlY3RsLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtZmlsZWRlc2NyaXB0b3JzZXJ2ZXItSW5jbHVkZS1zeXMtc2VsZWN0LmgtYmVmb3JlLW90aC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLW1lbXNldC1hbmQtZmFtaWx5LW5lZWRzLXRvLWluY2x1ZGUtc3RyaW5nLmgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1GaXgtYnVpbGQtcHJvYmxlbS1vbi1NYWMucGF0Y2ggXAotICAgICAgICAgICAiCi1TUkNSRVYgPSAiY2NiZGI0MTM4OGJkZDkyOTgyODk0MTY1MmRhODE2YmY1MmEwNTgwZSIKLQotU0VDVElPTiA9ICJsaWJzIgotCi1ERVBFTkRTID0gImN1cmwganNvbmNwcCBsaWJtaWNyb2h0dHBkIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1pbmhlcml0IGNtYWtlCi0KLUVYVFJBX09FQ01BS0UgKz0gIi1EQ09NUElMRV9URVNUUz1OTyAtRENPTVBJTEVfU1RVQkdFTj1OTyAtRENPTVBJTEVfRVhBTVBMRVM9Tk8gXAotICAgICAgICAgICAgICAgICAgLURCVUlMRF9TSEFSRURfTElCUz1ZRVMgLURCVUlMRF9TVEFUSUNfTElCUz1ZRVMgXAotICAgICAgICAgICAgICAgICAgLURDTUFLRV9MSUJSQVJZX1BBVEg9JHtsaWJkaXJ9IFwKLSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qc29ucnBjL2pzb25ycGNfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2pzb25ycGMvanNvbnJwY19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWVhMTFiMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qc29ucnBjL2pzb25ycGNfZ2l0LmJiCkBAIC0wLDAgKzEsMjggQEAKK1NVTU1BUlkgPSAiQysrIGZyYW1ld29yayBmb3IganNvbi1ycGMgMS4wIGFuZCAyLjAiCitERVNDUklQVElPTiA9ICJKc29uUnBjLUNwcCBpcyBhbiBPcGVuU291cmNlIGltcGxlbWVudGF0aW9uIG9mIEpTT04tUlBDIFwKKyAgICAgICAgICAgICAgIHByb3RvY29sIGluIEMrKy4gSlNPTi1SUEMgaXMgYSBsaWdodHdlaWdodCByZW1vdGUgcHJvY2VkdXJlIFwKKyAgICAgICAgICAgICAgIGNhbGwgcHJvdG9jb2wgc2ltaWxhciB0byBYTUwtUlBDLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9jaW5lbWFzdC9saWJqc29uLXJwYy1jcHAiCisKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PTRlNzI4YzViMzYwMThmNmMzODNiNGI5ZWZkOWM4ODQwIgorU0VDVElPTiA9ICJsaWJzIgorREVQRU5EUyA9ICJjdXJsIGpzb25jcHAgbGlibWljcm9odHRwZCBoaXJlZGlzIgorCitQViA9ICIxLjEuMStnaXQke1NSQ1BWfSIKKyMgdjEuMS4xCitTUkNSRVYgPSAiMzE5NzgzYzYzNWNmOGNhYmNjMWE5ODA0OTVjOTlhODhmOWViYmQ5NyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2NpbmVtYXN0L2xpYmpzb24tcnBjLWNwcCBcCisgICAgICAgICAgICIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBjbWFrZQorCitFWFRSQV9PRUNNQUtFICs9ICItRENPTVBJTEVfVEVTVFM9Tk8gLURDT01QSUxFX1NUVUJHRU49Tk8gLURDT01QSUxFX0VYQU1QTEVTPU5PIFwKKyAgICAgICAgICAgICAgICAgIC1EQlVJTERfU0hBUkVEX0xJQlM9WUVTIC1EQlVJTERfU1RBVElDX0xJQlM9WUVTIFwKKyAgICAgICAgICAgICAgICAgIC1EQ01BS0VfTElCUkFSWV9QQVRIPSR7bGliZGlyfSBcCisiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2xpYmpzb24tcnBjLWNwcC9jbWFrZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJlZGl0L2xpYmVkaXRfMjAxODA1MjUtMy4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xpYmVkaXQvbGliZWRpdF8yMDE4MDUyNS0zLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhjYzBlOTUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xpYmVkaXQvbGliZWRpdF8yMDE4MDUyNS0zLjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi1TVU1NQVJZID0gIkJTRCByZXBsYWNlbWVudCBmb3IgbGlicmVhZGxpbmUiCi1ERVNDUklQVElPTiA9ICJDb21tYW5kIGxpbmUgZWRpdG9yIGxpYnJhcnkgcHJvdmlkaW5nIGdlbmVyaWMgbGluZSBlZGl0aW5nLCBcCi1oaXN0b3J5LCBhbmQgdG9rZW5pemF0aW9uIGZ1bmN0aW9ucyIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cudGhyeXNvZWUuZGsvZWRpdGxpbmUvIgotU0VDVElPTiA9ICJsaWJzIgotTElDRU5TRSA9ICJCU0QiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xZTQyMjhkMGM1YTkwOTNiMDFhZWFhZWFlNjY0MTUzMyIKLQotREVQRU5EUyA9ICJuY3Vyc2VzIgotCi1pbmhlcml0IGF1dG90b29scwotCi0jIHVwc3RyZWFtIHNpdGUgZG9lcyBub3QgYWxsb3cgd2dldCdzIFVzZXItQWdlbnQKLUZFVENIQ01EX3dnZXQgKz0gIi1VIGJpdGJha2UiCi1TUkNfVVJJID0gImh0dHA6Ly93d3cudGhyeXNvZWUuZGsvZWRpdGxpbmUvJHtCUE59LSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9zdGRjLXByZWRlZi5wYXRjaCBcCi0gICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gIjk3Njc5MzE5NzQyZjQ1ZDZjZGNkNjA3NTUxMWIxNGFjIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImM0MWJlYThmZDE0MGZiNTdiYTY3YTk4ZWMxZDhhZTBiOGZmYTgyZjRhYmE5YzM1YTg3ZTVhOTQ5OWU2NTMxMTYiCi0KLVMgPSAiJHtXT1JLRElSfS8ke0JQTn0tJHtQVn0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGliZWRpdC9saWJlZGl0XzIwMTgxMjA5LTMuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJlZGl0L2xpYmVkaXRfMjAxODEyMDktMy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMwYTNkMjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGliZWRpdC9saWJlZGl0XzIwMTgxMjA5LTMuMS5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gIkJTRCByZXBsYWNlbWVudCBmb3IgbGlicmVhZGxpbmUiCitERVNDUklQVElPTiA9ICJDb21tYW5kIGxpbmUgZWRpdG9yIGxpYnJhcnkgcHJvdmlkaW5nIGdlbmVyaWMgbGluZSBlZGl0aW5nLCBcCitoaXN0b3J5LCBhbmQgdG9rZW5pemF0aW9uIGZ1bmN0aW9ucyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cudGhyeXNvZWUuZGsvZWRpdGxpbmUvIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xZTQyMjhkMGM1YTkwOTNiMDFhZWFhZWFlNjY0MTUzMyIKKworREVQRU5EUyA9ICJuY3Vyc2VzIgorCitpbmhlcml0IGF1dG90b29scworCisjIHVwc3RyZWFtIHNpdGUgZG9lcyBub3QgYWxsb3cgd2dldCdzIFVzZXItQWdlbnQKK0ZFVENIQ01EX3dnZXQgKz0gIi1VIGJpdGJha2UiCitTUkNfVVJJID0gImh0dHA6Ly93d3cudGhyeXNvZWUuZGsvZWRpdGxpbmUvJHtCUE59LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9zdGRjLXByZWRlZi5wYXRjaCBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjIyZTk0NWEwNDc2ZTM4OGU2Zjc4YmZjOGQ2ZTExOTJjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI4MTFkNzBjMGIwMDBmMmNhOTFiN2NiMWEzNzIwMzEzNDQ0MTc0M2M0ZmNjOWMzN2IwYjY4N2YzMjg2MTEwNjQiCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0tJHtQVn0iCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJnZWUvbGliZ2VlXzAuMTguMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJnZWUvbGliZ2VlXzAuMTguMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjM4NmYxZi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGliZ2VlL2xpYmdlZV8wLjE4LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1ERVNDUklQVElPTiA9ICJsaWJnZWUgaXMgYSBjb2xsZWN0aW9uIGxpYnJhcnkgcHJvdmlkaW5nIEdPYmplY3QtYmFzZWQgaW50ZXJmYWNlcyBcCi1hbmQgY2xhc3NlcyBmb3IgY29tbW9ubHkgdXNlZCBkYXRhIHN0cnVjdHVyZXMuIgotSE9NRVBBR0UgPSAiaHR0cDovL2xpdmUuZ25vbWUub3JnL0xpYmdlZSIKLVNFQ1RJT04gPSAibGlicyIKLURFUEVORFMgPSAiZ2xpYi0yLjAiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgotTElDRU5TRSA9ICJMR1BMdjIuMSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZiYzA5MzkwMTg1N2ZjZDExOGYwNjVmOTAwOTgyYzI0IgotCi1QRSA9ICIxIgotCi1pbmhlcml0IGF1dG90b29scyB2YWxhIHBrZ2NvbmZpZyBnb2JqZWN0LWludHJvc3BlY3Rpb24KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotICAgIE1BQ1JPUz0ibGlidG9vbC5tNCBsdH5vYnNvbGV0ZS5tNCBsdG9wdGlvbnMubTQgbHRzdWdhci5tNCBsdHZlcnNpb24ubTQiCi0gICAgZm9yIGkgaW4gJHtNQUNST1N9OyBkbwotICAgICAgICBybSAtZiBtNC8kaQotICAgIGRvbmUKLX0KLQotU0hSVF9WRVIgPSAiJHtAZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVswXX0uJHtAZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVsxXX0iCi1TUkNfVVJJID0gImh0dHA6Ly9mdHAuZ25vbWUub3JnL3B1Yi9HTk9NRS9zb3VyY2VzL2xpYmdlZS8ke1NIUlRfVkVSfS8ke0JQfS50YXIueHoiCi1TUkNfVVJJW21kNXN1bV0gPSAiMjllYTYxMjVlNjUzZDdlNjBiNDlhOWE5NTQ0YWJjOTYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGFkOTllZjkzN2QwNzFiNDg4M2MwNjFkZjQwYmZlMjMzZjc2NDlkNTBjMzU0Y2Y4MTIzNWYxODBiNDI0NDM5OSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJnZWUvbGliZ2VlXzAuMjAuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJnZWUvbGliZ2VlXzAuMjAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOTBlNWRkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xpYmdlZS9saWJnZWVfMC4yMC4xLmJiCkBAIC0wLDAgKzEsMjQgQEAKK0RFU0NSSVBUSU9OID0gImxpYmdlZSBpcyBhIGNvbGxlY3Rpb24gbGlicmFyeSBwcm92aWRpbmcgR09iamVjdC1iYXNlZCBpbnRlcmZhY2VzIFwKK2FuZCBjbGFzc2VzIGZvciBjb21tb25seSB1c2VkIGRhdGEgc3RydWN0dXJlcy4iCitIT01FUEFHRSA9ICJodHRwOi8vbGl2ZS5nbm9tZS5vcmcvTGliZ2VlIgorU0VDVElPTiA9ICJsaWJzIgorREVQRU5EUyA9ICJnbGliLTIuMCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZmJjMDkzOTAxODU3ZmNkMTE4ZjA2NWY5MDA5ODJjMjQiCisKK1BFID0gIjEiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHZhbGEgcGtnY29uZmlnIGdvYmplY3QtaW50cm9zcGVjdGlvbgorZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgTUFDUk9TPSJsaWJ0b29sLm00IGx0fm9ic29sZXRlLm00IGx0b3B0aW9ucy5tNCBsdHN1Z2FyLm00IGx0dmVyc2lvbi5tNCIKKyAgICBmb3IgaSBpbiAke01BQ1JPU307IGRvCisgICAgICAgIHJtIC1mIG00LyRpCisgICAgZG9uZQorfQorCitTSFJUX1ZFUiA9ICIke0BkLmdldFZhcignUFYnKS5zcGxpdCgnLicpWzBdfS4ke0BkLmdldFZhcignUFYnKS5zcGxpdCgnLicpWzFdfSIKK1NSQ19VUkkgPSAiaHR0cDovL2Z0cC5nbm9tZS5vcmcvcHViL0dOT01FL3NvdXJjZXMvbGliZ2VlLyR7U0hSVF9WRVJ9LyR7QlB9LnRhci54eiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJkMjI0ZGNhNTViYjkwOWY2NzMwZjQwY2MyNjczMzdiZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiYjI4MDJkMjlhNTE4ZThjNmQyOTkyODg0NjkxZjA2Y2NmY2MyNTc5MmE1Njg2MTc4NTc1YzcxMTFmZWE0NjMwIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xvZzRjcGx1cy9sb2c0Y3BsdXNfMi4wLjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbG9nNGNwbHVzL2xvZzRjcGx1c18yLjAuMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDE3ZDE1Yy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbG9nNGNwbHVzL2xvZzRjcGx1c18yLjAuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLVNVTU1BUlkgPSAibG9nNGNwbHVzIHByb3ZpZGVzIGEgc2ltcGxlIEMrKyBsb2dnaW5nIEFQSSBmb3IgbG9nIG1hbmFnZW1lbnQiCi1TRUNUSU9OID0gImxpYnMiCi1IT01FUEFHRSA9ICJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xvZzRjcGx1cy8iCi1CVUdUUkFDS0VSID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcC9sb2c0Y3BsdXMvYnVncy8iCi0KLUxJQ0VOU0UgPSAiQXBhY2hlLTIuMCAmIEJTRC0yLUNsYXVzZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTQxZThlMDYwYzI2ODIyODg2YjU5MmFiNDc2NWM3NTZiIgotCi1TUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9wcm9qZWN0LyR7QlBOfS8ke0JQTn0tc3RhYmxlLyR7UFZ9LyR7QlB9LnRhci5neiIKLVNSQ19VUklbbWQ1c3VtXSA9ICJiM2JiZWIyZGMzZTE3MDc2ODQzMGNmODc1ODMwMTZmOCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIxMDUzOWYyMzE1MjcxZDM3MGM3YmM2YTJiNDgwOGNiZTM2OTI3OTgzN2Y0NTM5Y2U1Yzc4OWU0NTY0ODlmYzYyIgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbG9nNGNwbHVzL2ZpbGVzL2xvZzRjcGx1cy1zdGFibGUvIgotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAibG9nNGNwbHVzLXN0YWJsZS8oP1A8cHZlcj5cZCsoXC5cZCspKykvIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbG9nNGNwbHVzL2xvZzRjcGx1c18yLjAuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sb2c0Y3BsdXMvbG9nNGNwbHVzXzIuMC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2YzYyZjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbG9nNGNwbHVzL2xvZzRjcGx1c18yLjAuMy5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gImxvZzRjcGx1cyBwcm92aWRlcyBhIHNpbXBsZSBDKysgbG9nZ2luZyBBUEkgZm9yIGxvZyBtYW5hZ2VtZW50IgorU0VDVElPTiA9ICJsaWJzIgorSE9NRVBBR0UgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9sb2c0Y3BsdXMvIgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vc291cmNlZm9yZ2UubmV0L3AvbG9nNGNwbHVzL2J1Z3MvIgorCitMSUNFTlNFID0gIkFwYWNoZS0yLjAgJiBCU0QtMi1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT00MWU4ZTA2MGMyNjgyMjg4NmI1OTJhYjQ3NjVjNzU2YiIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vcHJvamVjdC8ke0JQTn0vJHtCUE59LXN0YWJsZS8ke1BWfS8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiMjBhODcwOTBjZDhlYzM0ZWExMWIzZTU5OTU0MjM0Y2IiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmQ4ZjYyN2FhNjQxN2U2YzZhMTAwYmMwOWRjNDA3Njg0Y2E0NjA1YzkyOWRlZmMxNjkwZWU3ZDZhNTc1Y2U2YSIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xvZzRjcGx1cy9maWxlcy9sb2c0Y3BsdXMtc3RhYmxlLyIKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gImxvZzRjcGx1cy1zdGFibGUvKD9QPHB2ZXI+XGQrKFwuXGQrKSspLyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xzaHcvbHNod18wMi4xOC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sc2h3L2xzaHdfMDIuMTguYmIKaW5kZXggYjM0NGZiZi4uZDFhNzMzNCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xzaHcvbHNod18wMi4xOC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHNody9sc2h3XzAyLjE4LmJiCkBAIC0zMCwzICszMCw1IEBACiBkb19pbnN0YWxsKCkgewogICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0KIH0KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHRyYWNlL2x0cmFjZS8wMDAxLWhvb2stRG8tbm90LWFwcGVuZC1pbnQtdG8tc3RkLXN0cmluZy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdHJhY2UvbHRyYWNlLzAwMDEtaG9vay1Eby1ub3QtYXBwZW5kLWludC10by1zdGQtc3RyaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmMWM0YjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHRyYWNlL2x0cmFjZS8wMDAxLWhvb2stRG8tbm90LWFwcGVuZC1pbnQtdG8tc3RkLXN0cmluZy5wYXRjaApAQCAtMCwwICsxLDMzIEBACitGcm9tIDgzMjFmOGIzYmVmYmFhMzU1Y2ZlZDk4OGZkZDg0OTQxMzM5ODk2NzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogTW9uLCA0IEZlYiAyMDE5IDAwOjM4OjE2IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGhvb2s6IERvIG5vdCBhcHBlbmQgaW50IHRvIHN0ZDo6c3RyaW5nCisKK0NsYW5nIGZpbmQgdGhpcyBlcnJvcgorCit8IC4uLy4uLy4uL2dpdC9zeXNkZXBzL2xpbnV4LWdudS9ob29rcy5jOjIwNTo1MTogZXJyb3I6IGFkZGluZyAnaW50JyB0byBhIHN0cmluZyBkb2VzIG5vdCBhcHBlbmQgdG8gdGhlIHN0cmluZyBbLVdlcnJvciwtV3N0cmluZy1wbHVzCistaW50XQorfCAgICAgICAgICAgICAgICAgICAgIHx8IHNwcmludGYoc3lzcGF0aCwgIiVzLyVzIiwgc3lzY29uZmRpciwgRk4gKyAxKSA8IDApCit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5efn4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgc3lzZGVwcy9saW51eC1nbnUvaG9va3MuYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworLS0tIGEvc3lzZGVwcy9saW51eC1nbnUvaG9va3MuYworKysrIGIvc3lzZGVwcy9saW51eC1nbnUvaG9va3MuYworQEAgLTIwMCw5ICsyMDAsMTAgQEAgb3NfZ2V0X2x0cmFjZV9jb25mX2ZpbGVuYW1lcyhzdHJ1Y3QgdmVjdAorIAljb25zdCBjaGFyICpzeXNjb25mZGlyID0gU1lTQ09ORkRJUjsKKyAJaWYgKHN5c2NvbmZkaXIgIT0gTlVMTCAmJiAqc3lzY29uZmRpciAhPSAnXDAnKSB7CisgCQkvKiBObyArMSwgd2Ugc2tpcCB0aGUgaW5pdGlhbCBwZXJpb2QuICAqLworLQkJc3lzcGF0aCA9IG1hbGxvYyhzdHJsZW4oc3lzY29uZmRpcikgKyBzaXplb2YgRk4pOworKwkJc3lzcGF0aCA9IG1hbGxvYyhzdHJsZW4oc3lzY29uZmRpcikgKyBzaXplb2YgRk4gKyAxKTsKKysJCXN5c3BhdGhbc3RybGVuKHN5c2NvbmZkaXIpICsgc2l6ZW9mIEZOICsgMV0gPSAnXDAnOworIAkJaWYgKHN5c3BhdGggPT0gTlVMTAorLQkJICAgIHx8IHNwcmludGYoc3lzcGF0aCwgIiVzLyVzIiwgc3lzY29uZmRpciwgRk4gKyAxKSA8IDApCisrCQkgICAgfHwgc3ByaW50ZihzeXNwYXRoLCAiJXMvJXMiLCBzeXNjb25mZGlyLCBGTikgPCAwKQorIAkJCWdvdG8gZmFpbDsKKyAJfQorIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x0cmFjZS9sdHJhY2UvMDAwMS1tb3ZlLWZwcmludGYtaW50by1zYW1lLWJsb2NrLXdoZXJlLW1vZG5hbWUtYW5kLXN5bW5hLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x0cmFjZS9sdHJhY2UvMDAwMS1tb3ZlLWZwcmludGYtaW50by1zYW1lLWJsb2NrLXdoZXJlLW1vZG5hbWUtYW5kLXN5bW5hLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0YWNhYWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHRyYWNlL2x0cmFjZS8wMDAxLW1vdmUtZnByaW50Zi1pbnRvLXNhbWUtYmxvY2std2hlcmUtbW9kbmFtZS1hbmQtc3ltbmEucGF0Y2gKQEAgLTAsMCArMSwzNyBAQAorRnJvbSAwY2FkMDI1ZjgwY2YwOTBkYzE2YTViNzBlMjE0NzdmNWIwOGE2N2ZkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMjAgRGVjIDIwMTggMTE6Mjc6NDUgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gbW92ZSBmcHJpbnRmIGludG8gc2FtZSBibG9jayB3aGVyZSBtb2RuYW1lIGFuZCBzeW1uYW1lIGFyZQorIGNvbXB1dGVkCisKK0luIGl0cyBjdXJyZW50IHN0YXRlIGlmIG1vZCB0dXJucyBvdXQgdG8gYmUgTlVMTCB0aGVuIG1vZG5hbWUgYW5kCitzeW1uYW1lIHdpbGwgYWxzbyB0dXJuIG91dCB0byBiZSBOVUxMIGFuZCBmcHJpbnRpbmcgdGhlbSBhcyBzdHJpbmdzIHdpbGwKK2JlIHByb2JsZW1hdGljCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgb3V0cHV0LmMgfCA3ICsrKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvb3V0cHV0LmMgYi9vdXRwdXQuYworaW5kZXggYjYzYmVmZS4uNWFhZGE3YiAxMDA2NDQKKy0tLSBhL291dHB1dC5jCisrKysgYi9vdXRwdXQuYworQEAgLTY1NCwxMiArNjU0LDExIEBAIGZyYW1lX2NhbGxiYWNrIChEd2ZsX0ZyYW1lICpzdGF0ZSwgdm9pZCAqYXJnKQorIAkJCQkJICAgTlVMTCwgTlVMTCwgTlVMTCk7CisgCQlzeW1uYW1lID0gZHdmbF9tb2R1bGVfYWRkcmluZm8obW9kLCBwYywgJm9mZiwgJnN5bSwKKyAJCQkJCSAgICAgICBOVUxMLCBOVUxMLCBOVUxMKTsKKysJCS8qIFRoaXMgbWltaWNzIHRoZSBvdXRwdXQgcHJvZHVjZWQgYnkgbGlidW53aW5kIGJlbG93LiAgKi8KKysJCWZwcmludGYob3B0aW9ucy5vdXRwdXQsICIgPiAlcyglcysweCUiIFBSSXg2NCAiKSBbJSIgUFJJeDY0ICJdXG4iLAorKwkJCW1vZG5hbWUsIHN5bW5hbWUsIG9mZiwgcGMpOworIAl9CisgCistCS8qIFRoaXMgbWltaWNzIHRoZSBvdXRwdXQgcHJvZHVjZWQgYnkgbGlidW53aW5kIGJlbG93LiAgKi8KKy0JZnByaW50ZihvcHRpb25zLm91dHB1dCwgIiA+ICVzKCVzKzB4JSIgUFJJeDY0ICIpIFslIiBQUkl4NjQgIl1cbiIsCistCQltb2RuYW1lLCBzeW1uYW1lLCBvZmYsIHBjKTsKKy0KKyAJLyogU2VlIGlmIHdlIGNhbiBleHRyYWN0IHRoZSBzb3VyY2UgbGluZSB0b28gYW5kIHByaW50IGl0IG9uCisgCSAgIHRoZSBuZXh0IGxpbmUgaWYgd2UgY2FuIGZpbmQgaXQuICAqLworIAlpZiAobW9kICE9IE5VTEwpIHsKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdHJhY2UvbHRyYWNlX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdHJhY2UvbHRyYWNlX2dpdC5iYgppbmRleCBmNDAzM2Y3Li4zZGMyNjljIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHRyYWNlL2x0cmFjZV9naXQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x0cmFjZS9sdHJhY2VfZ2l0LmJiCkBAIC0yNSw2ICsyNSw4IEBACiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLUFkZC1zdXBwb3J0LWZvci1taXBzNjQtbjMyLW42NC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS1SZWNvZ25pc2UtbGludXgtbXVzbC1hcy1hLWhvc3QtT1MucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1taXBzLXBsdC5jLURlbGV0ZS1pbmNsdWRlLWVycm9yLmgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1tb3ZlLWZwcmludGYtaW50by1zYW1lLWJsb2NrLXdoZXJlLW1vZG5hbWUtYW5kLXN5bW5hLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtaG9vay1Eby1ub3QtYXBwZW5kLWludC10by1zdGQtc3RyaW5nLnBhdGNoIFwKICAgICAgICAgICAgIgogUyA9ICIke1dPUktESVJ9L2dpdCIKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x1YWppdC9sdWFqaXRfMi4wLjUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHVhaml0L2x1YWppdF8yLjAuNS5iYgppbmRleCBmM2EwZjcwLi5jMmQyMTgwIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHVhaml0L2x1YWppdF8yLjAuNS5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHVhaml0L2x1YWppdF8yLjAuNS5iYgpAQCAtMjIsNyArMjIsNyBAQAogIyB5b3UgbmVlZCB0byBpbnN0YWxsIHRoZSBtdWx0aWxpYiBkZXZlbG9wbWVudCBwYWNrYWdlIChlLmcuCiAjIGxpYmM2LWRldi1pMzg2IG9uIERlYmlhbi9VYnVudHUpIGFuZCBidWlsZCBhIDMyIGJpdCBob3N0IHBhcnQKICMgKEhPU1RfQ0M9ImdjYyAtbTMyIikuCi1CVUlMRF9DQ19BUkNIX2FwcGVuZCA9ICIgJHtAWyctbTMyJywnJ11bZC5nZXRWYXIoJ1NJVEVJTkZPX0JJVFMnLCBUcnVlKSAhPSAnMzInXX0iCitCVUlMRF9DQ19BUkNIX2FwcGVuZCA9ICIgJHtAWyctbTMyJywnJ11bZC5nZXRWYXIoJ1NJVEVJTkZPX0JJVFMnKSAhPSAnMzInXX0iCiAKICMgVGhlIGx1YSBtYWtlZmlsZXMgZXhwZWN0IHRoZSBUQVJHRVRfU1lTIHRvIGJlIGZyb20gdW5hbWUgLXMKICMgVmFsdWVzOiBXaW5kb3dzLCBMaW51eCwgRGFyd2luLCBpT1MsIFN1bk9TLCBQUzMsIEdOVS9rRnJlZUJTRApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL21zZ3BhY2svbXNncGFjay1jLzAwMDEtRml4LVdlcnJvci1jbGFzcy1tZW1hY2Nlc3MucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbXNncGFjay9tc2dwYWNrLWMvMDAwMS1GaXgtV2Vycm9yLWNsYXNzLW1lbWFjY2Vzcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjBkNzcyZC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbXNncGFjay9tc2dwYWNrLWMvMDAwMS1GaXgtV2Vycm9yLWNsYXNzLW1lbWFjY2Vzcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLUZyb20gYTA1ZDkyYWU4NTAyNGQwNjQ4ZjY5Zjk1MzA3YTFkM2U4ZTUxMTA5YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBTdW4sIDEgQXByIDIwMTggMTk6NTU6MzggLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IC1XZXJyb3I9Y2xhc3MtbWVtYWNjZXNzCi0KLUNhc3RpbmcgdG8gdm9pZCogbWFrZSBnY2MgaGFwcHkgc2luY2UgaXRzIHVwc2V0IGFib3V0Ci1vYmplY3QgdHlwZXMgYW5kIHJpZ2h0bHkgc28KLQotRml4ZXMKLQotJ3ZvaWQqIG1lbWNweSh2b2lkKiwgY29uc3Qgdm9pZCosIHNpemVfdCknIGNvcHlpbmcgYW4gb2JqZWN0IG9mIG5vbi10cml2aWFsIHR5cGUgJ3N0cnVjdCBtc2dwYWNrOjp2Mjo6b2JqZWN0JyBmcm9tIGFuIGFycmF5IG9mICdjb25zdCBtc2dwYWNrX29iamVjdCcge2FrYSAnY29uc3Qgc3RydWN0IG1zZ3BhY2tfb2JqZWN0J30gWy1XZXJyb3I9Y2xhc3MtbWVtYWNjZXNzXQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL21zZ3BhY2svbXNncGFjay1jL3B1bGwvNjU5XQotCi0gaW5jbHVkZS9tc2dwYWNrL3YxL29iamVjdC5ocHAgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9pbmNsdWRlL21zZ3BhY2svdjEvb2JqZWN0LmhwcCBiL2luY2x1ZGUvbXNncGFjay92MS9vYmplY3QuaHBwCi1pbmRleCA2NGRhOGM1My4uOTcyMWY3MDUgMTAwNjQ0Ci0tLS0gYS9pbmNsdWRlL21zZ3BhY2svdjEvb2JqZWN0LmhwcAotKysrIGIvaW5jbHVkZS9tc2dwYWNrL3YxL29iamVjdC5ocHAKLUBAIC02NjEsNyArNjYxLDcgQEAgaW5saW5lIG9iamVjdDo6b2JqZWN0KGNvbnN0IG1zZ3BhY2tfb2JqZWN0JiBvKQotIGlubGluZSB2b2lkIG9wZXJhdG9yPDwgKG1zZ3BhY2s6Om9iamVjdCYgbywgY29uc3QgbXNncGFja19vYmplY3QmIHYpCi0gewotICAgICAvLyBGSVhNRSBiZXRlciB3YXk/Ci0tICAgIHN0ZDo6bWVtY3B5KCZvLCAmdiwgc2l6ZW9mKHYpKTsKLSsgICAgc3RkOjptZW1jcHkoc3RhdGljX2Nhc3Q8dm9pZCo+KCZvKSwgJnYsIHNpemVvZih2KSk7Ci0gfQotIAotIGlubGluZSBvYmplY3Q6Om9wZXJhdG9yIG1zZ3BhY2tfb2JqZWN0KCkgY29uc3QKLS0tIAotMi4xNi4zCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9tc2dwYWNrL21zZ3BhY2stY18yLjEuNS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9tc2dwYWNrL21zZ3BhY2stY18yLjEuNS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjkwYTdmNC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbXNncGFjay9tc2dwYWNrLWNfMi4xLjUuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1TVU1NQVJZID0gIk1lc3NhZ2VQYWNrIGltcGxlbWVudGF0aW9uIGZvciBDIGFuZCBDKysiCi1ERVNDUklQVElPTiA9ICJNZXNzYWdlUGFjayBpcyBhbiBlZmZpY2llbnQgYmluYXJ5IHNlcmlhbGl6YXRpb24gZm9ybWF0LiBJdCdzIGxpa2UgSlNPTi4gYnV0IGZhc3QgYW5kIHNtYWxsIgotSE9NRVBBR0UgPSAiaHR0cDovL21zZ3BhY2sub3JnL2luZGV4Lmh0bWwiCi1MSUNFTlNFID0gIkJTTC0xLjAiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9OT1RJQ0U7bWQ1PTdhODU4YzA3NDcyMzYwOGUwODYxNDA2MWRjMDQ0MzUyIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkc7bWQ1PTA2MzljNDIwOWI2ZjJhYmYxNDM3YzgxM2IyMDhmMmQzIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0VfMV8wLnR4dDttZDU9ZTQyMjRjY2FlY2IxNGQ5NDJjNzFkMzFiZWYyMGQ3OGMgXAotICAgICAgICAgICAgICAgICAgICIKLQotUFYgLj0gIitnaXQke1NSQ1BWfSIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL21zZ3BhY2svbXNncGFjay1jIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LVdlcnJvci1jbGFzcy1tZW1hY2Nlc3MucGF0Y2ggXAotICAgICAgICAgICAiCi1TUkNSRVYgPSAiMjA4NTk1YjI2MjBjZjYyNjBjZTNkNmQ0Y2Y4NTQzZjEzYjIwNjQ0OSIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBjbWFrZSBwa2djb25maWcKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9tc2dwYWNrL21zZ3BhY2stY18zLjEuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9tc2dwYWNrL21zZ3BhY2stY18zLjEuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MGZkNDRlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL21zZ3BhY2svbXNncGFjay1jXzMuMS4xLmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiTWVzc2FnZVBhY2sgaW1wbGVtZW50YXRpb24gZm9yIEMgYW5kIEMrKyIKK0RFU0NSSVBUSU9OID0gIk1lc3NhZ2VQYWNrIGlzIGFuIGVmZmljaWVudCBiaW5hcnkgc2VyaWFsaXphdGlvbiBmb3JtYXQuIEl0J3MgbGlrZSBKU09OLiBidXQgZmFzdCBhbmQgc21hbGwiCitIT01FUEFHRSA9ICJodHRwOi8vbXNncGFjay5vcmcvaW5kZXguaHRtbCIKK0xJQ0VOU0UgPSAiQlNMLTEuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL05PVElDRTttZDU9N2E4NThjMDc0NzIzNjA4ZTA4NjE0MDYxZGMwNDQzNTIgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORzttZDU9MDYzOWM0MjA5YjZmMmFiZjE0MzdjODEzYjIwOGYyZDMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vTElDRU5TRV8xXzAudHh0O21kNT1lNDIyNGNjYWVjYjE0ZDk0MmM3MWQzMWJlZjIwZDc4YyBcCisgICAgICAgICAgICAgICAgICAgIgorCitQViAuPSAiK2dpdCR7U1JDUFZ9IgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbXNncGFjay9tc2dwYWNrLWMgXAorICAgICAgICAgICAiCisjIGNwcC0zLjEuMQorU1JDUkVWID0gIjgzYTgyZTNlYjUxMmIxOGQ0MTQ5Y2FiYjdlYjQzYzdlOGJjMDgxYWYiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgY21ha2UgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqcy8wMDAxLURpc2FibGUtcnVubmluZy1neXAtZmlsZXMtZm9yLWJ1bmRsZWQtZGVwcy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzLzAwMDEtRGlzYWJsZS1ydW5uaW5nLWd5cC1maWxlcy1mb3ItYnVuZGxlZC1kZXBzLnBhdGNoCmluZGV4IDMyNGE0NjguLjVkMGRjMDMgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzLzAwMDEtRGlzYWJsZS1ydW5uaW5nLWd5cC1maWxlcy1mb3ItYnVuZGxlZC1kZXBzLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzLzAwMDEtRGlzYWJsZS1ydW5uaW5nLWd5cC1maWxlcy1mb3ItYnVuZGxlZC1kZXBzLnBhdGNoCkBAIC00LDI2ICs0LDIzIEBACiBTdWJqZWN0OiBbUEFUQ0hdIERpc2FibGUgcnVubmluZyBneXAgb24gc2hhcmVkIGRlcHMKIAogLS0tCi0gTWFrZWZpbGUgfCA3ICsrKy0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorIE1ha2VmaWxlIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKLWluZGV4IDBhMjE3YmQ4OTMuLmUxMjI5YWQwN2YgMTAwNjQ0CitpbmRleCBhOTg3NzJmLi5mNTY2M2UyIDEwMDY0NAogLS0tIGEvTWFrZWZpbGUKICsrKyBiL01ha2VmaWxlCi1AQCAtNzksMTAgKzc5LDkgQEAgJChOT0RFX0dfRVhFKTogY29uZmlnLmd5cGkgb3V0L01ha2VmaWxlCi0gCSQoTUFLRSkgLUMgb3V0IEJVSUxEVFlQRT1EZWJ1ZyBWPSQoVikKLSAJaWYgWyAhIC1yICRAIC1vICEgLUwgJEAgXTsgdGhlbiBsbiAtZnMgb3V0L0RlYnVnLyQoTk9ERV9FWEUpICRAOyBmaQorQEAgLTEyMyw4ICsxMjMsOCBAQCB3aXRoLWNvZGUtY2FjaGU6CisgdGVzdC1jb2RlLWNhY2hlOiB3aXRoLWNvZGUtY2FjaGUKKyAJJChQWVRIT04pIHRvb2xzL3Rlc3QucHkgJChQQVJBTExFTF9BUkdTKSAtLW1vZGU9JChCVUlMRFRZUEVfTE9XRVIpIGNvZGUtY2FjaGUKICAKIC1vdXQvTWFrZWZpbGU6IGNvbW1vbi5neXBpIGRlcHMvdXYvdXYuZ3lwIGRlcHMvaHR0cF9wYXJzZXIvaHR0cF9wYXJzZXIuZ3lwIFwKIC0gICAgICAgICAgICAgIGRlcHMvemxpYi96bGliLmd5cCBkZXBzL3Y4L2d5cGZpbGVzL3Rvb2xjaGFpbi5neXBpIFwKLS0gICAgICAgICAgICAgIGRlcHMvdjgvZ3lwZmlsZXMvZmVhdHVyZXMuZ3lwaSBkZXBzL3Y4L3NyYy92OC5neXAgbm9kZS5neXAgXAotLSAgICAgICAgICAgICAgY29uZmlnLmd5cGkKICtvdXQvTWFrZWZpbGU6IGNvbW1vbi5neXBpIGRlcHMvaHR0cF9wYXJzZXIvaHR0cF9wYXJzZXIuZ3lwIFwKLSsgICAgICAgICAgICAgIGRlcHMvdjgvZ3lwZmlsZXMvdG9vbGNoYWluLmd5cGkgZGVwcy92OC9neXBmaWxlcy9mZWF0dXJlcy5neXBpIFwKLSsJCQkgIGRlcHMvdjgvc3JjL3Y4Lmd5cCBub2RlLmd5cCBjb25maWcuZ3lwaQorKyAgICAgICAgICAgICAgZGVwcy92OC9neXBmaWxlcy90b29sY2hhaW4uZ3lwaSBcCisgICAgICAgICAgICAgICBkZXBzL3Y4L2d5cGZpbGVzL2ZlYXR1cmVzLmd5cGkgZGVwcy92OC9neXBmaWxlcy92OC5neXAgbm9kZS5neXAgXAorICAgICAgICAgICAgICAgY29uZmlnLmd5cGkKICAJJChQWVRIT04pIHRvb2xzL2d5cF9ub2RlLnB5IC1mIG1ha2UKLSAKLSBjb25maWcuZ3lwaTogY29uZmlndXJlCiAtLSAKLTIuMTIuMgorMi4xOS4yCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqcy8wMDAyLVVzaW5nLW5hdGl2ZS10b3JxdWUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqcy8wMDAyLVVzaW5nLW5hdGl2ZS10b3JxdWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTkwMzVmOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzLzAwMDItVXNpbmctbmF0aXZlLXRvcnF1ZS5wYXRjaApAQCAtMCwwICsxLDM2IEBACitGcm9tIDRiYmVlNWUzZDU4YmM0OTExOTk5ZjNlYzJjYzVhYWI4ZGVkNjcxN2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiAiV2lua2VyIE1hdHRoaWFzIChUVC1DQS9FTkcxKSIgPE1hdHRoaWFzLldpbmtlckBkZS5ib3NjaC5jb20+CitEYXRlOiBUdWUsIDExIERlYyAyMDE4IDEwOjQ0OjI5ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIFVzaW5nIG5hdGl2ZSB0b3JxdWUKKworLS0tCisgZGVwcy92OC9neXBmaWxlcy92OC5neXAgfCA2ICsrKystLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9kZXBzL3Y4L2d5cGZpbGVzL3Y4Lmd5cCBiL2RlcHMvdjgvZ3lwZmlsZXMvdjguZ3lwCitpbmRleCA4Yzc4ZjAyMjU1Li40MzQxNjg4NDRlIDEwMDY0NAorLS0tIGEvZGVwcy92OC9neXBmaWxlcy92OC5neXAKKysrKyBiL2RlcHMvdjgvZ3lwZmlsZXMvdjguZ3lwCitAQCAtMjgzMSw3ICsyODMxLDYgQEAKKyAgICAgICAgIHsKKyAgICAgICAgICAgJ2FjdGlvbl9uYW1lJzogJ3J1bl90b3JxdWUnLAorICAgICAgICAgICAnaW5wdXRzJzogWyAgIyBPcmRlciBtYXR0ZXJzLgorLSAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS88KEVYRUNVVEFCTEVfUFJFRklYKXRvcnF1ZTwoRVhFQ1VUQUJMRV9TVUZGSVgpJywKKyAgICAgICAgICAgICAnLi4vc3JjL2J1aWx0aW5zL2Jhc2UudHEnLAorICAgICAgICAgICAgICcuLi9zcmMvYnVpbHRpbnMvYXJyYXkudHEnLAorICAgICAgICAgICAgICcuLi9zcmMvYnVpbHRpbnMvdHlwZWQtYXJyYXkudHEnLAorQEAgLTI4NDUsNyArMjg0NCwxMCBAQAorICAgICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS90b3JxdWUtZ2VuZXJhdGVkL2J1aWx0aW5zLXR5cGVkLWFycmF5LWZyb20tZHNsLWdlbi5jYycsCisgICAgICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3RvcnF1ZS1nZW5lcmF0ZWQvYnVpbHRpbnMtdHlwZWQtYXJyYXktZnJvbS1kc2wtZ2VuLmgnLAorICAgICAgICAgICBdLAorLSAgICAgICAgICAnYWN0aW9uJzogWyc8QChfaW5wdXRzKScsICctbycsICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS90b3JxdWUtZ2VuZXJhdGVkJ10sCisrICAgICAgICAgICdhY3Rpb24nOiBbCisrICAgICAgICAgICAgJ3RvcnF1ZScsCisrICAgICAgICAgICAgJzxAKF9pbnB1dHMpJywKKysgICAgICAgICAgICAnLW8nLCAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvdG9ycXVlLWdlbmVyYXRlZCddLAorICAgICAgICAgfSwKKyAgICAgICBdLAorICAgICB9LCAjIHRvcnF1ZQorLS0gCisyLjE5LjIKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL25vZGVqcy9ub2RlanMvMDAwMy1DcnlwdG8tcmVkdWNlLW1lbW9yeS11c2FnZS1vZi1TaWduRmluYWwucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqcy8wMDAzLUNyeXB0by1yZWR1Y2UtbWVtb3J5LXVzYWdlLW9mLVNpZ25GaW5hbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZDNiYWMzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL25vZGVqcy9ub2RlanMvMDAwMy1DcnlwdG8tcmVkdWNlLW1lbW9yeS11c2FnZS1vZi1TaWduRmluYWwucGF0Y2gKQEAgLTAsMCArMSwxMjIgQEAKK0Zyb20gMjAyODJiMWNiMDM4OTU1MzQyMWM0YzViMTRkZTE5OGM1ZGZmZjUwYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFubmEgSGVubmluZ3NlbiA8YW5uYUBhZGRhbGVheC5uZXQ+CitEYXRlOiBTYXQsIDIwIE9jdCAyMDE4IDA1OjI0OjU0ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIHNyYzogdXNlIG1vcmUgZXhwbGljaXQgcmV0dXJuIHR5cGUgaW4gU2lnbjo6U2lnbkZpbmFsKCkKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVXNpbmcgdGhlIG5vbi1pbmRleGVkIHZhcmlhbnQgb2YgYHN0ZDo6Z2V0PD5gIGJyb2tlIFRyYXZpcyBDSS4KK0Fsc28sIHRoaXMgYWxsb3dzIHVzIHRvIGJlIGEgYml0IG1vcmUgY29uY2lzZSB3aGVuIHJldHVybmluZworZnJvbSBgU2lnbkZpbmFsKClgIGR1ZSB0byBzb21lIGVycm9yIGNvbmRpdGlvbi4KKworUmVmczogaHR0cHM6Ly9naXRodWIuY29tL25vZGVqcy9ub2RlL3B1bGwvMjM0MjcKKworUFItVVJMOiBodHRwczovL2dpdGh1Yi5jb20vbm9kZWpzL25vZGUvcHVsbC8yMzc3OQorUmV2aWV3ZWQtQnk6IEpveWVlIENoZXVuZyA8am95ZWVjOWgzQGdtYWlsLmNvbT4KK1Jldmlld2VkLUJ5OiBUb2JpYXMgTmllw59lbiA8dG5pZXNzZW5AdG5pZS5kZT4KK1Jldmlld2VkLUJ5OiBSZWZhZWwgQWNrZXJtYW5uIDxyZWZhY2tAZ21haWwuY29tPgorUmV2aWV3ZWQtQnk6IENvbGluIElocmlnIDxjamlocmlnQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9ub2RlX2NyeXB0by5jYyB8IDIzICsrKysrKysrKysrLS0tLS0tLS0tLS0tCisgc3JjL25vZGVfY3J5cHRvLmggIHwgMTIgKysrKysrKysrKystCisgMiBmaWxlcyBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9ub2RlX2NyeXB0by5jYyBiL3NyYy9ub2RlX2NyeXB0by5jYworaW5kZXggYmQ4ZDllMDMyNTU0Li5lYzdkNGYyYmI1YmUgMTAwNjQ0CistLS0gYS9zcmMvbm9kZV9jcnlwdG8uY2MKKysrKyBiL3NyYy9ub2RlX2NyeXB0by5jYworQEAgLTM1NjIsMjIgKzM1NjIsMjAgQEAgc3RhdGljIE1hbGxvY2VkQnVmZmVyPHVuc2lnbmVkIGNoYXI+IE5vZGVfU2lnbkZpbmFsKEVWUE1EUG9pbnRlciYmIG1kY3R4LAorICAgcmV0dXJuIE1hbGxvY2VkQnVmZmVyPHVuc2lnbmVkIGNoYXI+KCk7CisgfQorIAorLXN0ZDo6cGFpcjxTaWduQmFzZTo6RXJyb3IsIE1hbGxvY2VkQnVmZmVyPHVuc2lnbmVkIGNoYXI+PiBTaWduOjpTaWduRmluYWwoCisrU2lnbjo6U2lnblJlc3VsdCBTaWduOjpTaWduRmluYWwoCisgICAgIGNvbnN0IGNoYXIqIGtleV9wZW0sCisgICAgIGludCBrZXlfcGVtX2xlbiwKKyAgICAgY29uc3QgY2hhciogcGFzc3BocmFzZSwKKyAgICAgaW50IHBhZGRpbmcsCisgICAgIGludCBzYWx0X2xlbikgeworLSAgTWFsbG9jZWRCdWZmZXI8dW5zaWduZWQgY2hhcj4gYnVmZmVyOworLQorICAgaWYgKCFtZGN0eF8pCistICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihrU2lnbk5vdEluaXRpYWxpc2VkLCBzdGQ6Om1vdmUoYnVmZmVyKSk7CisrICAgIHJldHVybiBTaWduUmVzdWx0KGtTaWduTm90SW5pdGlhbGlzZWQpOworIAorICAgRVZQTURQb2ludGVyIG1kY3R4ID0gc3RkOjptb3ZlKG1kY3R4Xyk7CisgCisgICBCSU9Qb2ludGVyIGJwKEJJT19uZXdfbWVtX2J1Zihjb25zdF9jYXN0PGNoYXIqPihrZXlfcGVtKSwga2V5X3BlbV9sZW4pKTsKKyAgIGlmICghYnApCistICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihrU2lnblByaXZhdGVLZXksIHN0ZDo6bW92ZShidWZmZXIpKTsKKysgICAgcmV0dXJuIFNpZ25SZXN1bHQoa1NpZ25Qcml2YXRlS2V5KTsKKyAKKyAgIEVWUEtleVBvaW50ZXIgcGtleShQRU1fcmVhZF9iaW9fUHJpdmF0ZUtleShicC5nZXQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxscHRyLAorQEAgLTM1ODgsNyArMzU4Niw3IEBAIHN0ZDo6cGFpcjxTaWduQmFzZTo6RXJyb3IsIE1hbGxvY2VkQnVmZmVyPHVuc2lnbmVkIGNoYXI+PiBTaWduOjpTaWduRmluYWwoCisgICAvLyB3aXRob3V0IGBwa2V5YCBiZWluZyBzZXQgdG8gbnVsbHB0cjsKKyAgIC8vIGNmLiB0aGUgdGVzdCBvZiBgdGVzdF9iYWRfcnNhX3ByaXZrZXkucGVtYCBmb3IgYW4gZXhhbXBsZS4KKyAgIGlmICghcGtleSB8fCAwICE9IEVSUl9wZWVrX2Vycm9yKCkpCistICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihrU2lnblByaXZhdGVLZXksIHN0ZDo6bW92ZShidWZmZXIpKTsKKysgICAgcmV0dXJuIFNpZ25SZXN1bHQoa1NpZ25Qcml2YXRlS2V5KTsKKyAKKyAjaWZkZWYgTk9ERV9GSVBTX01PREUKKyAgIC8qIFZhbGlkYXRlIERTQTIgcGFyYW1ldGVycyBmcm9tIEZJUFMgMTg2LTQgKi8KK0BAIC0zNjEyLDkgKzM2MTAsMTAgQEAgc3RkOjpwYWlyPFNpZ25CYXNlOjpFcnJvciwgTWFsbG9jZWRCdWZmZXI8dW5zaWduZWQgY2hhcj4+IFNpZ246OlNpZ25GaW5hbCgKKyAgIH0KKyAjZW5kaWYgIC8vIE5PREVfRklQU19NT0RFCisgCistICBidWZmZXIgPSBOb2RlX1NpZ25GaW5hbChzdGQ6Om1vdmUobWRjdHgpLCBwa2V5LCBwYWRkaW5nLCBzYWx0X2xlbik7CisrICBNYWxsb2NlZEJ1ZmZlcjx1bnNpZ25lZCBjaGFyPiBidWZmZXIgPQorKyAgICAgIE5vZGVfU2lnbkZpbmFsKHN0ZDo6bW92ZShtZGN0eCksIHBrZXksIHBhZGRpbmcsIHNhbHRfbGVuKTsKKyAgIEVycm9yIGVycm9yID0gYnVmZmVyLmlzX2VtcHR5KCkgPyBrU2lnblByaXZhdGVLZXkgOiBrU2lnbk9rOworLSAgcmV0dXJuIHN0ZDo6bWFrZV9wYWlyKGVycm9yLCBzdGQ6Om1vdmUoYnVmZmVyKSk7CisrICByZXR1cm4gU2lnblJlc3VsdChlcnJvciwgc3RkOjptb3ZlKGJ1ZmZlcikpOworIH0KKyAKKyAKK0BAIC0zNjM5LDE4ICszNjM4LDE4IEBAIHZvaWQgU2lnbjo6U2lnbkZpbmFsKGNvbnN0IEZ1bmN0aW9uQ2FsbGJhY2tJbmZvPFZhbHVlPiYgYXJncykgeworIAorICAgQ2xlYXJFcnJvck9uUmV0dXJuIGNsZWFyX2Vycm9yX29uX3JldHVybjsKKyAKKy0gIHN0ZDo6cGFpcjxFcnJvciwgTWFsbG9jZWRCdWZmZXI8dW5zaWduZWQgY2hhcj4+IHJldCA9IHNpZ24tPlNpZ25GaW5hbCgKKysgIFNpZ25SZXN1bHQgcmV0ID0gc2lnbi0+U2lnbkZpbmFsKAorICAgICAgIGJ1ZiwKKyAgICAgICBidWZfbGVuLAorICAgICAgIGxlbiA+PSAyICYmICFhcmdzWzFdLT5Jc051bGwoKSA/ICpwYXNzcGhyYXNlIDogbnVsbHB0ciwKKyAgICAgICBwYWRkaW5nLAorICAgICAgIHNhbHRfbGVuKTsKKyAKKy0gIGlmIChzdGQ6OmdldDxFcnJvcj4ocmV0KSAhPSBrU2lnbk9rKQorLSAgICByZXR1cm4gc2lnbi0+Q2hlY2tUaHJvdyhzdGQ6OmdldDxFcnJvcj4ocmV0KSk7CisrICBpZiAocmV0LmVycm9yICE9IGtTaWduT2spCisrICAgIHJldHVybiBzaWduLT5DaGVja1Rocm93KHJldC5lcnJvcik7CisgCisgICBNYWxsb2NlZEJ1ZmZlcjx1bnNpZ25lZCBjaGFyPiBzaWcgPQorLSAgICAgIHN0ZDo6bW92ZShzdGQ6OmdldDxNYWxsb2NlZEJ1ZmZlcjx1bnNpZ25lZCBjaGFyPj4ocmV0KSk7CisrICAgICAgc3RkOjptb3ZlKHJldC5zaWduYXR1cmUpOworIAorICAgTG9jYWw8T2JqZWN0PiByYyA9CisgICAgICAgQnVmZmVyOjpOZXcoZW52LCByZWludGVycHJldF9jYXN0PGNoYXIqPihzaWcucmVsZWFzZSgpKSwgc2lnLnNpemUpCitkaWZmIC0tZ2l0IGEvc3JjL25vZGVfY3J5cHRvLmggYi9zcmMvbm9kZV9jcnlwdG8uaAoraW5kZXggNmZjZjczN2Y2YzQzLi4wYzI2YzFmNmZmMWQgMTAwNjQ0CistLS0gYS9zcmMvbm9kZV9jcnlwdG8uaAorKysrIGIvc3JjL25vZGVfY3J5cHRvLmgKK0BAIC01MTgsNyArNTE4LDE3IEBAIGNsYXNzIFNpZ24gOiBwdWJsaWMgU2lnbkJhc2UgeworICBwdWJsaWM6CisgICBzdGF0aWMgdm9pZCBJbml0aWFsaXplKEVudmlyb25tZW50KiBlbnYsIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiB0YXJnZXQpOworIAorLSAgc3RkOjpwYWlyPEVycm9yLCBNYWxsb2NlZEJ1ZmZlcjx1bnNpZ25lZCBjaGFyPj4gU2lnbkZpbmFsKAorKyAgc3RydWN0IFNpZ25SZXN1bHQgeworKyAgICBFcnJvciBlcnJvcjsKKysgICAgTWFsbG9jZWRCdWZmZXI8dW5zaWduZWQgY2hhcj4gc2lnbmF0dXJlOworKworKyAgICBleHBsaWNpdCBTaWduUmVzdWx0KAorKyAgICAgICAgRXJyb3IgZXJyLAorKyAgICAgICAgTWFsbG9jZWRCdWZmZXI8dW5zaWduZWQgY2hhcj4mJiBzaWcgPSBNYWxsb2NlZEJ1ZmZlcjx1bnNpZ25lZCBjaGFyPigpKQorKyAgICAgIDogZXJyb3IoZXJyKSwgc2lnbmF0dXJlKHN0ZDo6bW92ZShzaWcpKSB7fQorKyAgfTsKKysKKysgIFNpZ25SZXN1bHQgU2lnbkZpbmFsKAorICAgICAgIGNvbnN0IGNoYXIqIGtleV9wZW0sCisgICAgICAgaW50IGtleV9wZW1fbGVuLAorICAgICAgIGNvbnN0IGNoYXIqIHBhc3NwaHJhc2UsCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqcy8wMDA0LU1ha2UtY29tcGF0aWJpbGl0eS13aXRoLWdjYy00LjgucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqcy8wMDA0LU1ha2UtY29tcGF0aWJpbGl0eS13aXRoLWdjYy00LjgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTI1YzA4NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzLzAwMDQtTWFrZS1jb21wYXRpYmlsaXR5LXdpdGgtZ2NjLTQuOC5wYXRjaApAQCAtMCwwICsxLDY5IEBACitJbXBsZW1lbnQgZnVuY3Rpb24gYXMgd3JhcHBlciBmb3Igc3RkOjptYWtlX3VuaXF1ZQorbWV0aG9kIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBnY2MgPCA0LjkgLgorImVycm9yOjptYWtlX3VuaXF1ZSBpcyBub3QgYSBtZW1iZXIgb2YgJ3N0ZCciCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlaiBWYWxlayA8YW5kcmVqLnZhbGVrQHNpZW1lbnMuY29tPgorU2lnbmVkLW9mZi1ieTogQnJhZCBCaXNob3AgPGJyYWRsZXliQGZ1enppZXNxdWlycmVsLmNvbT4KKworZGlmZiAtTmF1ciBub2RlLXYxMC4xNS4xL3NyYy9jYXJlc193cmFwLmNjIG5vZGUtdjEwLjE1LjEvc3JjL2NhcmVzX3dyYXAuY2MKKy0tLSBub2RlLXYxMC4xNS4xL3NyYy9jYXJlc193cmFwLmNjCTIwMTktMDEtMjkgMDg6MjA6NTAuMDAwMDAwMDAwICswMTAwCisrKysgbm9kZS12MTAuMTUuMS9zcmMvY2FyZXNfd3JhcC5jYwkyMDE5LTAyLTIxIDE2OjIyOjI1LjQ4OTEzMTY2NSArMDEwMAorQEAgLTUyLDYgKzUyLDE2IEBACisgIyBkZWZpbmUgQUlfVjRNQVBQRUQgMAorICNlbmRpZgorIAorKyNpZm5kZWYgX19jcHBfbGliX21ha2VfdW5pcXVlCisrbmFtZXNwYWNlIHN0ZCB7CisrICAvLy8gbWFrZV91bmlxdWUgaW1wbGVtZW50YXRpb24KKysgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lLi4uIEFyZ3M+CisrICBzdGQ6OnVuaXF1ZV9wdHI8VD4gbWFrZV91bmlxdWUoQXJncyYmLi4uIGFyZ3MpIHsKKysgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxUPihuZXcgVChzdGQ6OmZvcndhcmQ8QXJncz4oYXJncykuLi4pKTsKKysgIH0KKyt9CisrI2VuZGlmCisrCisgbmFtZXNwYWNlIG5vZGUgeworIG5hbWVzcGFjZSBjYXJlc193cmFwIHsKKyAKK2RpZmYgLU5hdXIgbm9kZS12MTAuMTUuMS9zcmMvaW5zcGVjdG9yX2FnZW50LmNjIG5vZGUtdjEwLjE1LjEvc3JjL2luc3BlY3Rvcl9hZ2VudC5jYworLS0tIG5vZGUtdjEwLjE1LjEvc3JjL2luc3BlY3Rvcl9hZ2VudC5jYwkyMDE5LTAxLTI5IDA4OjIwOjUwLjAwMDAwMDAwMCArMDEwMAorKysrIG5vZGUtdjEwLjE1LjEvc3JjL2luc3BlY3Rvcl9hZ2VudC5jYwkyMDE5LTAyLTIxIDE2OjIyOjA5LjAwMDE4NTk5MiArMDEwMAorQEAgLTI0LDYgKzI0LDE2IEBACisgI2luY2x1ZGUgPHB0aHJlYWQuaD4KKyAjZW5kaWYgIC8vIF9fUE9TSVhfXworIAorKyNpZm5kZWYgX19jcHBfbGliX21ha2VfdW5pcXVlCisrbmFtZXNwYWNlIHN0ZCB7CisrICAvLy8gbWFrZV91bmlxdWUgaW1wbGVtZW50YXRpb24KKysgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lLi4uIEFyZ3M+CisrICBzdGQ6OnVuaXF1ZV9wdHI8VD4gbWFrZV91bmlxdWUoQXJncyYmLi4uIGFyZ3MpIHsKKysgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxUPihuZXcgVChzdGQ6OmZvcndhcmQ8QXJncz4oYXJncykuLi4pKTsKKysgIH0KKyt9CisrI2VuZGlmCisrCisgbmFtZXNwYWNlIG5vZGUgeworIG5hbWVzcGFjZSBpbnNwZWN0b3IgeworIG5hbWVzcGFjZSB7CisKK2RpZmYgLS1naXQgYS9zcmMvaW5zcGVjdG9yL21haW5fdGhyZWFkX2ludGVyZmFjZS5jYyBiL3NyYy9pbnNwZWN0b3IvbWFpbl90aHJlYWRfaW50ZXJmYWNlLmNjCitpbmRleCBlMzc0YzBmZDcwLi4wNWQ3ZDhjNjBmIDEwMDY0NAorLS0tIGEvc3JjL2luc3BlY3Rvci9tYWluX3RocmVhZF9pbnRlcmZhY2UuY2MKKysrKyBiL3NyYy9pbnNwZWN0b3IvbWFpbl90aHJlYWRfaW50ZXJmYWNlLmNjCitAQCAtNiw2ICs2LDE2IEBACisgI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CisgI2luY2x1ZGUgPHVuaWNvZGUvdW5pc3RyLmg+CisKKysjaWZuZGVmIF9fY3BwX2xpYl9tYWtlX3VuaXF1ZQorK25hbWVzcGFjZSBzdGQgeworKyAgLy8vIG1ha2VfdW5pcXVlIGltcGxlbWVudGF0aW9uCisrICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZS4uLiBBcmdzPgorKyAgc3RkOjp1bmlxdWVfcHRyPFQ+IG1ha2VfdW5pcXVlKEFyZ3MmJi4uLiBhcmdzKSB7CisrICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8VD4obmV3IFQoc3RkOjpmb3J3YXJkPEFyZ3M+KGFyZ3MpLi4uKSk7CisrICB9CisrfQorKyNlbmRpZgorKworIG5hbWVzcGFjZSBub2RlIHsKKyBuYW1lc3BhY2UgaW5zcGVjdG9yIHsKKyBuYW1lc3BhY2UgewpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL25vZGVqcy9ub2RlanMvMDAwNS1MaW5rLWF0b21pYy1saWJyYXJ5LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL25vZGVqcy9ub2RlanMvMDAwNS1MaW5rLWF0b21pYy1saWJyYXJ5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2ZmYxOGIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqcy8wMDA1LUxpbmstYXRvbWljLWxpYnJhcnkucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorTGluayBhdG9taWMgbGlicmFyeSB0byBmaXggbWlzc2luZyB1bmRlZmluZWQgcmVmZXJyZW5jZXMKK2xpa2UgInVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fYXRvbWljX2ZldGNoX2FkZF84JyIKKworU2lnbmVkLW9mZi1ieTogQW5kcmVqIFZhbGVrIDxhbmRyZWoudmFsZWtAc2llbWVucy5jb20+CisKK2RpZmYgLU5hdXIgbm9kZS12MTAuMTUuMS9kZXBzL3Y4L2d5cGZpbGVzL3Y4Lmd5cCBub2RlLXYxMC4xNS4xL2RlcHMvdjgvZ3lwZmlsZXMvdjguZ3lwCistLS0gbm9kZS12MTAuMTUuMS9kZXBzL3Y4L2d5cGZpbGVzL3Y4Lmd5cAkyMDE5LTAyLTEzIDA5OjAyOjIxLjAwMDAwMDAwMCArMDEwMAorKysrIG5vZGUtdjEwLjE1LjEvZGVwcy92OC9neXBmaWxlcy92OC5neXAJMjAxOS0wMi0xNSAyMToyNzoxMS43NTU2Nzk2NjAgKzAxMDAKK0BAIC00NTIsNiArNDUyLDExIEBACisgICAgICAgICAnPChERVBUSCknLAorICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpJworICAgICAgIF0sCisrICAgICAgJ2xpbmtfc2V0dGluZ3MnOiB7CisrICAgICAgICAnbGlicmFyaWVzJzogWworKyAgICAgICAgICAnLWxhdG9taWMnCisrICAgICAgICBdLAorKyAgICAgIH0sCisgICAgICAgJ3NvdXJjZXMnOiBbCisgICAgICAgICAnPEAoaW5zcGVjdG9yX2FsbF9zb3VyY2VzKScsCisgICAgICAgICAnLi4vaW5jbHVkZS8vdjgtaW5zcGVjdG9yLXByb3RvY29sLmgnLApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL25vZGVqcy9ub2RlanMvMDAwNi1Vc2UtdGFyZ2V0LWxkZmxhZ3MucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqcy8wMDA2LVVzZS10YXJnZXQtbGRmbGFncy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjU2OWNkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL25vZGVqcy9ub2RlanMvMDAwNi1Vc2UtdGFyZ2V0LWxkZmxhZ3MucGF0Y2gKQEAgLTAsMCArMSwyNCBAQAorVGhlIHRhcmdldCBMREZMQUdTIGhhdmUgYmVlbiBpZ25vcmVkLiBUb29scyBsaWtlIHRvcnF1ZQoraGF2ZSBiZWVuIGxvYWRlZCBmcm9tIHN5c3RlbSBsaWJyYXJpZXMsIGV2ZW4gaWYgYSBuYXRpdmUKK29uZSB3YXMgdGhlIHRhcmdldC4KK3wkIGxkZCB0b3JxdWUgCit8ICAgIGxpYnouc28uMSA9PiAvbGliL3g4Nl82NC1saW51eC1nbnUvbGliei5zby4xCit8ICAgIGxpYmNyeXB0by5zby4xLjEgPT4gL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9saWJjcnlwdG8uc28uMS4xCit8ICAgIGxpYnNzbC5zby4xLjEgPT4gL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9saWJzc2wuc28uMS4xCit8ICAgIGxpYmljdWkxOG4uc28uNjMgPT4gbm90IGZvdW5kCit8ICAgIGxpYmljdXVjLnNvLjYzID0+IG5vdCBmb3VuZAorLi4uCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlaiBWYWxlayA8YW5kcmVqLnZhbGVrQHNpZW1lbnMuY29tPgorCitkaWZmIC1OYXVyIG5vZGUtdjEwLjE1LjEvZGVwcy92OC9neXBmaWxlcy90b29sY2hhaW4uZ3lwaSBub2RlLXYxMC4xNS4xL2RlcHMvdjgvZ3lwZmlsZXMvdG9vbGNoYWluLmd5cGkKKy0tLSBub2RlLXYxMC4xNS4xL2RlcHMvdjgvZ3lwZmlsZXMvdG9vbGNoYWluLmd5cGkJMjAxOS0wMy0xOCAxNTowMTozOS4wMDAwMDAwMDAgKzAxMDAKKysrKyBub2RlLXYxMC4xNS4xL2RlcHMvdjgvZ3lwZmlsZXMvdG9vbGNoYWluLmd5cGkJMjAxOS0wMy0xOCAxNTowNDowOC42MjgzNjEzMDggKzAxMDAKK0BAIC0xMTA2LDYgKzExMDYsNyBAQAorICAgICAgICAgICAgICdjZmxhZ3MnOiBbICctZm5vLXN0cmljdC1hbGlhc2luZycgXSwKKyAgICAgICAgICAgfV0sCisgICAgICAgICBdLCAgIyBjb25kaXRpb25zCisrICAgICAgICAnbGRmbGFncysnOiBbICckKExERkxBR1MpJyBdLAorICAgICAgIH1dLAorICAgICAgIFsnT1M9PSJzb2xhcmlzIicsIHsKKyAgICAgICAgICdkZWZpbmVzJzogWyAnX19DOTlGRUFUVVJFU19fPTEnIF0sICAjIGlzaW5mKCkgZXRjLgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL25vZGVqcy9ub2RlanNfMTAuMTUuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzXzEwLjE1LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDJlNzdlYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzXzEwLjE1LjMuYmIKQEAgLTAsMCArMSwxMDUgQEAKK0RFU0NSSVBUSU9OID0gIm5vZGVKUyBFdmVudGVkIEkvTyBmb3IgVjggSmF2YVNjcmlwdCIKK0hPTUVQQUdFID0gImh0dHA6Ly9ub2RlanMub3JnIgorTElDRU5TRSA9ICJNSVQgJiBCU0QgJiBBcnRpc3RpYy0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT05Y2VlYmE3OWViMmVhMTA2N2I3YjNlZDE2ZmZmOGJhYiIKKworREVQRU5EUyA9ICJvcGVuc3NsIHpsaWIgaWN1IgorREVQRU5EU19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBub2RlanMtbmF0aXZlIgorCitpbmhlcml0IHBrZ2NvbmZpZworCitDT01QQVRJQkxFX01BQ0hJTkVfYXJtdjQgPSAiKCEuKmFybXY0KS4qIgorQ09NUEFUSUJMRV9NQUNISU5FX2FybXY1ID0gIighLiphcm12NSkuKiIKK0NPTVBBVElCTEVfTUFDSElORV9taXBzNjQgPSAiKCEuKm1pcHM2NCkuKiIKKworU1JDX1VSSSA9ICJodHRwOi8vbm9kZWpzLm9yZy9kaXN0L3Yke1BWfS9ub2RlLXYke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1EaXNhYmxlLXJ1bm5pbmctZ3lwLWZpbGVzLWZvci1idW5kbGVkLWRlcHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1DcnlwdG8tcmVkdWNlLW1lbW9yeS11c2FnZS1vZi1TaWduRmluYWwucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1NYWtlLWNvbXBhdGliaWxpdHktd2l0aC1nY2MtNC44LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDUtTGluay1hdG9taWMtbGlicmFyeS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA2LVVzZS10YXJnZXQtbGRmbGFncy5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1Vc2luZy1uYXRpdmUtdG9ycXVlLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZDc2MjEwYTZhZTFlYTczZDEwMjU0OTQ3Njg0ODM2ZmIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGUyMmQ5MjZmMDU0MTUwMDAyMDU1NDc0ZTQ1MmVkNmNiYjg1ODYwYWE3ZGM1NDIyMjEzYTIwMDJlZDk3OTFkNSIKKworUyA9ICIke1dPUktESVJ9L25vZGUtdiR7UFZ9IgorCisjIHY4IGVycm9ycyBvdXQgaWYgeW91IGhhdmUgc2V0IENDQUNIRQorQ0NBQ0hFID0gIiIKKworZGVmIG1hcF9ub2RlanNfYXJjaChhLCBkKToKKyAgICBpbXBvcnQgcmUKKworICAgIGlmICAgcmUubWF0Y2goJ2kuODYkJywgYSk6IHJldHVybiAnaWEzMicKKyAgICBlbGlmIHJlLm1hdGNoKCd4ODZfNjQkJywgYSk6IHJldHVybiAneDY0JworICAgIGVsaWYgcmUubWF0Y2goJ2FhcmNoNjQkJywgYSk6IHJldHVybiAnYXJtNjQnCisgICAgZWxpZiByZS5tYXRjaCgnKHBvd2VycGM2NHxwcGM2NGxlKSQnLCBhKTogcmV0dXJuICdwcGM2NCcKKyAgICBlbGlmIHJlLm1hdGNoKCdwb3dlcnBjJCcsIGEpOiByZXR1cm4gJ3BwYycKKyAgICByZXR1cm4gYQorCitBUkNIRkxBR1NfYXJtID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2NhbGxjb252ZW50aW9uLWhhcmQnLCAnLS13aXRoLWFybS1mbG9hdC1hYmk9aGFyZCcsICctLXdpdGgtYXJtLWZsb2F0LWFiaT1zb2Z0ZnAnLCBkKX0gXAorICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICduZW9uJywgJy0td2l0aC1hcm0tZnB1PW5lb24nLCBcCisgICAgICAgICAgICAgICAgICAgIGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ3ZmcHYzZDE2JywgJy0td2l0aC1hcm0tZnB1PXZmcHYzLWQxNicsIFwKKyAgICAgICAgICAgICAgICAgICAgYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAndmZwdjMnLCAnLS13aXRoLWFybS1mcHU9dmZwdjMnLCBcCisgICAgICAgICAgICAgICAgICAgICctLXdpdGgtYXJtLWZwdT12ZnAnLCBkKSwgZCksIGQpfSIKK0dZUF9ERUZJTkVTX2FwcGVuZF9taXBzZWwgPSAiIG1pcHNfYXJjaF92YXJpYW50PSdyMScgIgorQVJDSEZMQUdTID89ICIiCisKKyMgTm9kZSBpcyB3YXkgdG9vIGNvb2wgdG8gdXNlIHByb3BlciBhdXRvdG9vbHMsIHNvIHdlIGluc3RhbGwgdHdvIHdyYXBwZXJzIHRvIGZvcmNlZnVsbHkgaW5qZWN0IHByb3BlciBhcmNoIGNmbGFncyB0byB3b3JrYXJvdW5kIGd5cGkKK2RvX2NvbmZpZ3VyZSAoKSB7CisgICAgcm0gLXJmICR7U30vZGVwcy9vcGVuc3NsCisgICAgZXhwb3J0IExEPSIke0NYWH0iCisgICAgR1lQX0RFRklORVM9IiR7R1lQX0RFRklORVN9IiBleHBvcnQgR1lQX0RFRklORVMKKyAgICAjICRUQVJHRVRfQVJDSCBzZXR0aW5ncyBkb24ndCBtYXRjaCAtLWRlc3QtY3B1IHNldHRpbmdzCisgICAuL2NvbmZpZ3VyZSAtLXByZWZpeD0ke3ByZWZpeH0gLS13aXRoLWludGw9c3lzdGVtLWljdSAtLXdpdGhvdXQtc25hcHNob3QgLS1zaGFyZWQtb3BlbnNzbCAtLXNoYXJlZC16bGliIFwKKyAgICAgICAgICAgICAgIC0tZGVzdC1jcHU9IiR7QG1hcF9ub2RlanNfYXJjaChkLmdldFZhcignVEFSR0VUX0FSQ0gnKSwgZCl9IiBcCisgICAgICAgICAgICAgICAtLWRlc3Qtb3M9bGludXggXAorICAgICAgICAgICAgICAgJHtBUkNIRkxBR1N9Cit9CisKK2RvX2NvbXBpbGUgKCkgeworICAgIGV4cG9ydCBMRD0iJHtDWFh9IgorICAgIG9lX3J1bm1ha2UgQlVJTERUWVBFPVJlbGVhc2UKK30KKworZG9faW5zdGFsbCAoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfQorfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7CisgICAgIyB1c2Ugbm9kZSBmcm9tIFBBVEggaW5zdGVhZCBvZiBhYnNvbHV0ZSBwYXRoIHRvIHN5c3Jvb3QKKyAgICAjIG5vZGUtdjAuMTAuMjUvdG9vbHMvaW5zdGFsbC5weSBpcyB1c2luZzoKKyAgICAjIHNoZWJhbmcgPSBvcy5wYXRoLmpvaW4obm9kZV9wcmVmaXgsICdiaW4vbm9kZScpCisgICAgIyB1cGRhdGVfc2hlYmFuZyhsaW5rX3BhdGgsIHNoZWJhbmcpCisgICAgIyBhbmQgbm9kZV9wcmVmaXggY2FuIGJlIHZlcnkgbG9uZyBwYXRoIHRvIGJpbmRpciBpbiBuYXRpdmUgc3lzcm9vdCBhbmQKKyAgICAjIHdoZW4gaXQgZXhjZWVkcyAxMjggY2hhcmFjdGVyIHNoZWJhbmcgbGltaXQgaXQncyBzdHJpcHBlZCB0byBpbmNvcnJlY3QgcGF0aAorICAgICMgYW5kIG5wbSBmYWlscyB0byBleGVjdXRlIGxpa2UgaW4gdGhpcyBjYXNlIHdpdGggMTMzIGNoYXJhY3RlcnMgc2hvdyBpbiBsb2cuZG9faW5zdGFsbDoKKyAgICAjIHVwZGF0aW5nIHNoZWJhbmcgb2YgL2hvbWUvamVua2lucy93b3Jrc3BhY2UvYnVpbGQtd2Vib3MtbmlnaHRseS9kZXZpY2UvcWVtdXg4Ni9sYWJlbC9vcGVuLXdlYm9zLWJ1aWxkZXIvQlVJTEQtcWVtdXg4Ni93b3JrL3g4Nl82NC1saW51eC9ub2RlanMtbmF0aXZlLzAuMTAuMTUtcjAvaW1hZ2UvaG9tZS9qZW5raW5zL3dvcmtzcGFjZS9idWlsZC13ZWJvcy1uaWdodGx5L2RldmljZS9xZW11eDg2L2xhYmVsL29wZW4td2Vib3MtYnVpbGRlci9CVUlMRC1xZW11eDg2L3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvYmluL25wbSB0byAvaG9tZS9qZW5raW5zL3dvcmtzcGFjZS9idWlsZC13ZWJvcy1uaWdodGx5L2RldmljZS9xZW11eDg2L2xhYmVsL29wZW4td2Vib3MtYnVpbGRlci9CVUlMRC1xZW11eDg2L3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvYmluL25vZGUKKyAgICAjIC91c3IvYmluL25wbSBpcyBzeW1saW5rIHRvIC91c3IvbGliL25vZGVfbW9kdWxlcy9ucG0vYmluL25wbS1jbGkuanMKKyAgICAjIHVzZSBzZWQgb24gbnBtLWNsaS5qcyBiZWNhdXNlIG90aGVyd2lzZSBzeW1saW5rIGlzIHJlcGxhY2VkIHdpdGggbm9ybWFsIGZpbGUgYW5kCisgICAgIyBucG0tY2xpLmpzIGNvbnRpbnVlcyB0byB1c2Ugb2xkIHNoZWJhbmcKKyAgICBzZWQgIjFzXi4qXiNcIS91c3IvYmluL2VudiBub2RlXmciIC1pICR7RH0ke2V4ZWNfcHJlZml4fS9saWIvbm9kZV9tb2R1bGVzL25wbS9iaW4vbnBtLWNsaS5qcworCisgICAgIyBJbnN0YWxsIHRoZSBuYXRpdmUgdG9ycXVlIHRvIHByb3ZpZGUgaXQgd2l0aGluIHN5c3Jvb3QgZm9yIHRoZSB0YXJnZXQgY29tcGlsYXRpb24KKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9vdXQvUmVsZWFzZS90b3JxdWUgJHtEfSR7YmluZGlyfS90b3JxdWUKK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgeworICAgIHNlZCAiMXNeLipeI1whJHtiaW5kaXJ9L2VudiBub2RlXmciIC1pICR7RH0ke2V4ZWNfcHJlZml4fS9saWIvbm9kZV9tb2R1bGVzL25wbS9iaW4vbnBtLWNsaS5qcworfQorCitQQUNLQUdFUyA9KyAiJHtQTn0tbnBtIgorRklMRVNfJHtQTn0tbnBtID0gIiR7ZXhlY19wcmVmaXh9L2xpYi9ub2RlX21vZHVsZXMgJHtiaW5kaXJ9L25wbSAke2JpbmRpcn0vbnB4IgorUkRFUEVORFNfJHtQTn0tbnBtID0gImJhc2ggcHl0aG9uLXNoZWxsIHB5dGhvbi1kYXRldGltZSBweXRob24tc3VicHJvY2VzcyBweXRob24tdGV4dHV0aWxzIFwKKyAgICBweXRob24tY29tcGlsZXIgcHl0aG9uLW1pc2MgcHl0aG9uLW11bHRpcHJvY2Vzc2luZyIKKworUEFDS0FHRVMgPSsgIiR7UE59LXN5c3RlbXRhcCIKK0ZJTEVTXyR7UE59LXN5c3RlbXRhcCA9ICIke2RhdGFkaXJ9L3N5c3RlbXRhcCIKKworCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzXzguMTIuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzXzguMTIuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGMzMzk3OC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqc184LjEyLjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw5MiArMCwwIEBACi1ERVNDUklQVElPTiA9ICJub2RlSlMgRXZlbnRlZCBJL08gZm9yIFY4IEphdmFTY3JpcHQiCi1IT01FUEFHRSA9ICJodHRwOi8vbm9kZWpzLm9yZyIKLUxJQ0VOU0UgPSAiTUlUICYgQlNEICYgQXJ0aXN0aWMtMi4wIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZmRlOTFkNWM1YmJkMWUwMzg5NjIzZTFhYzAxOGQ5ZTgiCi0KLURFUEVORFMgPSAib3BlbnNzbCB6bGliIGljdSIKLQotaW5oZXJpdCBwa2djb25maWcKLQotQ09NUEFUSUJMRV9NQUNISU5FX2FybXY0ID0gIighLiphcm12NCkuKiIKLUNPTVBBVElCTEVfTUFDSElORV9hcm12NSA9ICIoIS4qYXJtdjUpLioiCi1DT01QQVRJQkxFX01BQ0hJTkVfbWlwczY0ID0gIighLiptaXBzNjQpLioiCi0KLVNSQ19VUkkgPSAiaHR0cDovL25vZGVqcy5vcmcvZGlzdC92JHtQVn0vbm9kZS12JHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRGlzYWJsZS1ydW5uaW5nLWd5cC1maWxlcy1mb3ItYnVuZGxlZC1kZXBzLnBhdGNoIFwKLSIKLVNSQ19VUklbbWQ1c3VtXSA9ICI4YjNhYmQwMzNkYWU5NmI2ZmFkY2I2YTg3MmE0NGQzYyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI1YTlkZmY1ODAxNmMxOGZiNGJmOTAyZDk2M2IxMjRmZjA1OGE1NTBlYmNkOTg0MGM2Nzc3NTczODdiY2U0MTlhIgotCi1TID0gIiR7V09SS0RJUn0vbm9kZS12JHtQVn0iCi0KLSMgdjggZXJyb3JzIG91dCBpZiB5b3UgaGF2ZSBzZXQgQ0NBQ0hFCi1DQ0FDSEUgPSAiIgotCi1kZWYgbWFwX25vZGVqc19hcmNoKGEsIGQpOgotICAgIGltcG9ydCByZQotCi0gICAgaWYgICByZS5tYXRjaCgnaS44NiQnLCBhKTogcmV0dXJuICdpYTMyJwotICAgIGVsaWYgcmUubWF0Y2goJ3g4Nl82NCQnLCBhKTogcmV0dXJuICd4NjQnCi0gICAgZWxpZiByZS5tYXRjaCgnYWFyY2g2NCQnLCBhKTogcmV0dXJuICdhcm02NCcKLSAgICBlbGlmIHJlLm1hdGNoKCcocG93ZXJwYzY0fHBwYzY0bGUpJCcsIGEpOiByZXR1cm4gJ3BwYzY0JwotICAgIGVsaWYgcmUubWF0Y2goJ3Bvd2VycGMkJywgYSk6IHJldHVybiAncHBjJwotICAgIHJldHVybiBhCi0KLUFSQ0hGTEFHU19hcm0gPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnY2FsbGNvbnZlbnRpb24taGFyZCcsICctLXdpdGgtYXJtLWZsb2F0LWFiaT1oYXJkJywgJy0td2l0aC1hcm0tZmxvYXQtYWJpPXNvZnRmcCcsIGQpfSBcCi0gICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ25lb24nLCAnLS13aXRoLWFybS1mcHU9bmVvbicsIFwKLSAgICAgICAgICAgICAgICAgICAgYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAndmZwdjNkMTYnLCAnLS13aXRoLWFybS1mcHU9dmZwdjMtZDE2JywgXAotICAgICAgICAgICAgICAgICAgICBiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICd2ZnB2MycsICctLXdpdGgtYXJtLWZwdT12ZnB2MycsIFwKLSAgICAgICAgICAgICAgICAgICAgJy0td2l0aC1hcm0tZnB1PXZmcCcsIGQpLCBkKSwgZCl9IgotR1lQX0RFRklORVNfYXBwZW5kX21pcHNlbCA9ICIgbWlwc19hcmNoX3ZhcmlhbnQ9J3IxJyAiCi1BUkNIRkxBR1MgPz0gIiIKLQotIyBOb2RlIGlzIHdheSB0b28gY29vbCB0byB1c2UgcHJvcGVyIGF1dG90b29scywgc28gd2UgaW5zdGFsbCB0d28gd3JhcHBlcnMgdG8gZm9yY2VmdWxseSBpbmplY3QgcHJvcGVyIGFyY2ggY2ZsYWdzIHRvIHdvcmthcm91bmQgZ3lwaQotZG9fY29uZmlndXJlICgpIHsKLSAgICBybSAtcmYgJHtTfS9kZXBzL29wZW5zc2wKLSAgICBleHBvcnQgTEQ9IiR7Q1hYfSIKLSAgICBHWVBfREVGSU5FUz0iJHtHWVBfREVGSU5FU30iIGV4cG9ydCBHWVBfREVGSU5FUwotICAgICMgJFRBUkdFVF9BUkNIIHNldHRpbmdzIGRvbid0IG1hdGNoIC0tZGVzdC1jcHUgc2V0dGluZ3MKLSAgIC4vY29uZmlndXJlIC0tcHJlZml4PSR7cHJlZml4fSAtLXdpdGgtaW50bD1zeXN0ZW0taWN1IC0td2l0aG91dC1zbmFwc2hvdCAtLXNoYXJlZC1vcGVuc3NsIC0tc2hhcmVkLXpsaWIgXAotICAgICAgICAgICAgICAgLS1kZXN0LWNwdT0iJHtAbWFwX25vZGVqc19hcmNoKGQuZ2V0VmFyKCdUQVJHRVRfQVJDSCcpLCBkKX0iIFwKLSAgICAgICAgICAgICAgIC0tZGVzdC1vcz1saW51eCBcCi0gICAgICAgICAgICAgICAke0FSQ0hGTEFHU30KLX0KLQotZG9fY29tcGlsZSAoKSB7Ci0gICAgZXhwb3J0IExEPSIke0NYWH0iCi0gICAgb2VfcnVubWFrZSBCVUlMRFRZUEU9UmVsZWFzZQotfQotCi1kb19pbnN0YWxsICgpIHsKLSAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9Ci19Ci0KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKLSAgICAjIHVzZSBub2RlIGZyb20gUEFUSCBpbnN0ZWFkIG9mIGFic29sdXRlIHBhdGggdG8gc3lzcm9vdAotICAgICMgbm9kZS12MC4xMC4yNS90b29scy9pbnN0YWxsLnB5IGlzIHVzaW5nOgotICAgICMgc2hlYmFuZyA9IG9zLnBhdGguam9pbihub2RlX3ByZWZpeCwgJ2Jpbi9ub2RlJykKLSAgICAjIHVwZGF0ZV9zaGViYW5nKGxpbmtfcGF0aCwgc2hlYmFuZykKLSAgICAjIGFuZCBub2RlX3ByZWZpeCBjYW4gYmUgdmVyeSBsb25nIHBhdGggdG8gYmluZGlyIGluIG5hdGl2ZSBzeXNyb290IGFuZAotICAgICMgd2hlbiBpdCBleGNlZWRzIDEyOCBjaGFyYWN0ZXIgc2hlYmFuZyBsaW1pdCBpdCdzIHN0cmlwcGVkIHRvIGluY29ycmVjdCBwYXRoCi0gICAgIyBhbmQgbnBtIGZhaWxzIHRvIGV4ZWN1dGUgbGlrZSBpbiB0aGlzIGNhc2Ugd2l0aCAxMzMgY2hhcmFjdGVycyBzaG93IGluIGxvZy5kb19pbnN0YWxsOgotICAgICMgdXBkYXRpbmcgc2hlYmFuZyBvZiAvaG9tZS9qZW5raW5zL3dvcmtzcGFjZS9idWlsZC13ZWJvcy1uaWdodGx5L2RldmljZS9xZW11eDg2L2xhYmVsL29wZW4td2Vib3MtYnVpbGRlci9CVUlMRC1xZW11eDg2L3dvcmsveDg2XzY0LWxpbnV4L25vZGVqcy1uYXRpdmUvMC4xMC4xNS1yMC9pbWFnZS9ob21lL2plbmtpbnMvd29ya3NwYWNlL2J1aWxkLXdlYm9zLW5pZ2h0bHkvZGV2aWNlL3FlbXV4ODYvbGFiZWwvb3Blbi13ZWJvcy1idWlsZGVyL0JVSUxELXFlbXV4ODYvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9iaW4vbnBtIHRvIC9ob21lL2plbmtpbnMvd29ya3NwYWNlL2J1aWxkLXdlYm9zLW5pZ2h0bHkvZGV2aWNlL3FlbXV4ODYvbGFiZWwvb3Blbi13ZWJvcy1idWlsZGVyL0JVSUxELXFlbXV4ODYvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9iaW4vbm9kZQotICAgICMgL3Vzci9iaW4vbnBtIGlzIHN5bWxpbmsgdG8gL3Vzci9saWIvbm9kZV9tb2R1bGVzL25wbS9iaW4vbnBtLWNsaS5qcwotICAgICMgdXNlIHNlZCBvbiBucG0tY2xpLmpzIGJlY2F1c2Ugb3RoZXJ3aXNlIHN5bWxpbmsgaXMgcmVwbGFjZWQgd2l0aCBub3JtYWwgZmlsZSBhbmQKLSAgICAjIG5wbS1jbGkuanMgY29udGludWVzIHRvIHVzZSBvbGQgc2hlYmFuZwotICAgIHNlZCAiMXNeLipeI1whL3Vzci9iaW4vZW52IG5vZGVeZyIgLWkgJHtEfSR7ZXhlY19wcmVmaXh9L2xpYi9ub2RlX21vZHVsZXMvbnBtL2Jpbi9ucG0tY2xpLmpzCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLXRhcmdldCgpIHsKLSAgICBzZWQgIjFzXi4qXiNcISR7YmluZGlyfS9lbnYgbm9kZV5nIiAtaSAke0R9JHtleGVjX3ByZWZpeH0vbGliL25vZGVfbW9kdWxlcy9ucG0vYmluL25wbS1jbGkuanMKLX0KLQotUEFDS0FHRVMgPSsgIiR7UE59LW5wbSIKLUZJTEVTXyR7UE59LW5wbSA9ICIke2V4ZWNfcHJlZml4fS9saWIvbm9kZV9tb2R1bGVzICR7YmluZGlyfS9ucG0gJHtiaW5kaXJ9L25weCIKLVJERVBFTkRTXyR7UE59LW5wbSA9ICJiYXNoIHB5dGhvbi1zaGVsbCBweXRob24tZGF0ZXRpbWUgcHl0aG9uLXN1YnByb2Nlc3MgcHl0aG9uLXRleHR1dGlscyBcCi0gICAgcHl0aG9uLWNvbXBpbGVyIHB5dGhvbi1taXNjIHB5dGhvbi1tdWx0aXByb2Nlc3NpbmciCi0KLVBBQ0tBR0VTID0rICIke1BOfS1zeXN0ZW10YXAiCi1GSUxFU18ke1BOfS1zeXN0ZW10YXAgPSAiJHtkYXRhZGlyfS9zeXN0ZW10YXAiCi0KLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvb2N0YXZlL2ZpbGVzL2ZpeC1ibGFzLWxpYnJhcnktaW50ZWdlci1zaXplLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL29jdGF2ZS9maWxlcy9maXgtYmxhcy1saWJyYXJ5LWludGVnZXItc2l6ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODlkN2QzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL29jdGF2ZS9maWxlcy9maXgtYmxhcy1saWJyYXJ5LWludGVnZXItc2l6ZS5wYXRjaApAQCAtMCwwICsxLDE2IEBACitkaWZmIC1OYXVyIG9jdGF2ZS00LjQuMS5vcmlnL2NvbmZpZ3VyZS5hYyBvY3RhdmUtNC40LjEvY29uZmlndXJlLmFjCistLS0gb2N0YXZlLTQuNC4xLm9yaWcvY29uZmlndXJlLmFjCTIwMTktMDItMjMgMTA6NDY6MjQuMjg3MjQwNTcxICswMDAwCisrKysgb2N0YXZlLTQuNC4xL2NvbmZpZ3VyZS5hYwkyMDE5LTAyLTIzIDEwOjQ2OjQyLjI1NTI0OTMzMyArMDAwMAorQEAgLTc2Miw2ICs3NjIsMTIgQEAKKyAgIEFDX01TR19FUlJPUihbQkxBUyBhbmQgTEFQQUNLIGxpYnJhcmllcyBhcmUgcmVxdWlyZWRdKQorIGZpCisgCisraWYgYWNfZm5fZjc3X3RyeV9ydW4gIiRMSU5FTk8iOyB0aGVuIDoKKysgIGF4X2JsYXNfaW50ZWdlcl9zaXplPTgKKytlbHNlCisrICBheF9ibGFzX2ludGVnZXJfc2l6ZT00CisrZmkKKysKKyBjYXNlICRheF9ibGFzX2ludGVnZXJfc2l6ZSBpbgorICAgNCkKKyAgICAgSEFWRV82NF9CSVRfQkxBUz1ubwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL29jdGF2ZS9vY3RhdmVfNC40LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvb2N0YXZlL29jdGF2ZV80LjQuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZWMzMmNlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL29jdGF2ZS9vY3RhdmVfNC40LjEuYmIKQEAgLTAsMCArMSw0MCBAQAorREVTQ1JJUFRJT04gPSAiSGlnaC1sZXZlbCBsYW5ndWFnZSwgcHJpbWFyaWx5IGludGVuZGVkIGZvciBudW1lcmljYWwgY29tcHV0YXRpb25zIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL29jdGF2ZS8iCitTRUNUSU9OID0gIm1hdGgiCisKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xZWJiZDNlMzQyMzdhZjI2ZGE1ZGMwOGE0ZTQ0MDQ2NCIKKworREVQRU5EUyA9ICJncGVyZi1uYXRpdmUgdGV4aW5mbyBsYXBhY2sgcGNyZSByZWFkbGluZSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHRleGluZm8gZ2V0dGV4dAorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWphdmEgLS1kaXNhYmxlLWRvY3MiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9mdHAuZ251Lm9yZy9nbnUvb2N0YXZlLyR7UE59LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtYmxhcy1saWJyYXJ5LWludGVnZXItc2l6ZS5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiNDNiZDVmNDMwOWEwYzA0OGM5MWFmMTBjZjhlODY3NCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwOWZiZDBmMjEyZjRlZjIxZTUzZjFkOWM0MWNmMzBjZTNkN2Y5NDUwZmI0NDkxMTYwMWUyMWVkNjRjNjdhZTk3IgorCitkb19jb21waWxlX3ByZXBlbmQoKSB7CisJZm9yIGZvbGRlciBpbiAibGlib2N0YXZlL29wZXJhdG9ycyBsaWJvY3RhdmUvbnVtZXJpYyBsaWJvY3RhdmUvYXJyYXkgbGlib2N0YXZlL3V0aWwiOyBkbworCQlta2RpciAtcCAke0J9LyR7Zm9sZGVyfQorCWRvbmUKK30KKworUEFDS0FHRVMgPSsgIiBvY3RhdmUtY29tbW9uIGxpYm9jdGF2ZSBsaWJvY3RhdmUtZGV2IGxpYm9jdGF2ZS1kYmciCisKK0ZJTEVTXyR7UE59ID0gIiR7YmluZGlyfS8qICR7c2JpbmRpcn0vKiAke2xpYmV4ZWNkaXJ9LyogJHtkYXRhZGlyfS8ke1BOfSBcCisgICAgICAgICAgICAke2xpYmRpcn0vJHtQTn0vJHtQVn0vb2N0ICR7bGliZGlyfS8ke1BOfS8ke1BWfS9zaXRlICBcCisgICAgICAgICAgICAke2xpYmRpcn0vJHtQTn0vc2l0ZSAke2RhdGFkaXJ9L2FwcGxpY2F0aW9ucyAke2RhdGFkaXJ9L21ldGFpbmZvIgorRklMRVNfJHtQTn0tY29tbW9uID0gIiR7ZGF0YWRpcn0vaWNvbnMiCisKK0ZJTEVTX2xpYm9jdGF2ZSA9ICIke2xpYmRpcn0vJHtQTn0vJHtQVn0vbGliKiR7U09MSUJTfSIKK0ZJTEVTX2xpYm9jdGF2ZS1kZXYgPSAiJHtsaWJkaXJ9LyR7UE59LyR7UFZ9L2xpYioke1NPTElCU0RFVn0iCitGSUxFU19saWJvY3RhdmUtZGJnID0gIiR7bGliZGlyfS8ke1BOfS8ke1BWfS8uZGVidWciCisKK0ZJTEVTXyR7UE59LWRiZyA9ICIke2JpbmRpcn0vLmRlYnVnICR7bGliZGlyfS8ke1BOfS8ke1BWfS9vY3QvJHtUQVJHRVRfU1lTfS8uZGVidWciCisKK0VYQ0xVREVfRlJPTV9XT1JMRCA9ICIxIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL29wZW5vY2Qvb3Blbm9jZF9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvb3Blbm9jZC9vcGVub2NkX2dpdC5iYgppbmRleCAyMWE4NmRlLi40Mzc3ZTg4IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvb3Blbm9jZC9vcGVub2NkX2dpdC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvb3Blbm9jZC9vcGVub2NkX2dpdC5iYgpAQCAtMjksNiArMjksOCBAQAogCiBkb19jb25maWd1cmUoKSB7CiAgICAgLi9ib290c3RyYXAgbm9zdWJtb2R1bGUKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9nbnUtY29uZmlnL2NvbmZpZy5ndWVzcyAke1N9L2ppbXRjbC9hdXRvc2V0dXAKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9nbnUtY29uZmlnL2NvbmZpZy5zdWIgJHtTfS9qaW10Y2wvYXV0b3NldHVwCiAgICAgb2VfcnVuY29uZiAke0VYVFJBX09FQ09ORn0KIH0KIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvbGliZGJkLW15c3FsLXBlcmwvMDAwMS1Vc2UtQVBJLWZ1bmN0aW9uLWZvci1yZWNvbm5lY3QucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9saWJkYmQtbXlzcWwtcGVybC8wMDAxLVVzZS1BUEktZnVuY3Rpb24tZm9yLXJlY29ubmVjdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MGQ4OGMzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvbGliZGJkLW15c3FsLXBlcmwvMDAwMS1Vc2UtQVBJLWZ1bmN0aW9uLWZvci1yZWNvbm5lY3QucGF0Y2gKQEAgLTAsMCArMSw1MyBAQAorRnJvbSBlZGI2YjIwMmI3ZTIzMzg2NGFhNWRkODQ1MzI2NDZjNTAwOTdiMGI4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWluZ2xpIFl1IDxtaW5nbGkueXVAd2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgNCBNYXIgMjAxOSAwMDo0OToxNyAtMDgwMAorU3ViamVjdDogW1BBVENIXSBVc2UgQVBJIGZ1bmN0aW9uIGZvciByZWNvbm5lY3QKKworRm9yIGNvbmZpZ3VyaW5nIHJlY29ubmVjdCBmdW5jdGlvbmFsaXR5IHVzZSBzdGFuZGFyZCBBUEkgZnVuY3Rpb24KK01ZU1FMX09QVF9SRUNPTk5FQ1QgaW5zdGVhZCBvZiBkaXJlY3QgbW9kaWZpY2F0aW9uIG9mIGludGVybmFsIHN0cnVjdHVyZXMKK3doaWNoIGRvZXMgbm90IHdvcmsgZm9yIE1hcmlhREIuIEZpeGVzIGNvbXBpbGF0aW9uIHdpdGggTWFyaWFEQiAxMC4yLjYrLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGh1Yi5jb20vcGVybDUtZGJpL0RCRC1teXNxbC9jb21taXQvMGIxODg0ZjQxNTNkM2RlMGE5MWJhZTRkM2IzY2MxNzcxZmZkZjRmM10KKworU2lnbmVkLW9mZi1ieTogTWluZ2xpIFl1IDxtaW5nbGkueXVAd2luZHJpdmVyLmNvbT4KKy0tLQorIGRiZGltcC5jIHwgMTYgKysrKysrKysrKy0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZGJkaW1wLmMgYi9kYmRpbXAuYworaW5kZXggOWI4YjMxMy4uM2JlZDIxMyAxMDA2NDQKKy0tLSBhL2RiZGltcC5jCisrKysgYi9kYmRpbXAuYworQEAgLTE5NzksNiArMTk3OSwxNiBAQCBNWVNRTCAqbXlzcWxfZHJfY29ubmVjdCgKKyAKKyAgICAgaWYgKHJlc3VsdCkKKyAgICAgeworKyAgICAgIC8qCisrICAgICAgICB3ZSB0dXJuIG9mZiBNeXNxbCdzIGF1dG8gcmVjb25uZWN0IGFuZCBoYW5kbGUgcmUtY29ubmVjdGluZyBvdXJzZWx2ZXMKKysgICAgICAgIHNvIHRoYXQgd2UgY2FuIGtlZXAgdHJhY2sgb2Ygd2hlbiB0aGlzIGhhcHBlbnMuCisrICAgICAgKi8KKysjaWYgTVlTUUxfVkVSU0lPTl9JRCA+PSA1MDAxMworKyAgICAgIG15X2Jvb2wgcmVjb25uZWN0ID0gRkFMU0U7CisrICAgICAgbXlzcWxfb3B0aW9ucyhyZXN1bHQsIE1ZU1FMX09QVF9SRUNPTk5FQ1QsICZyZWNvbm5lY3QpOworKyNlbHNlCisrICAgICAgcmVzdWx0LT5yZWNvbm5lY3QgPSAwOworKyNlbmRpZgorICNpZiBNWVNRTF9WRVJTSU9OX0lEID49U0VSVkVSX1BSRVBBUkVfVkVSU0lPTgorICAgICAgIC8qIGNvbm5lY3Rpb24gc3VjY2VlZGVkLiAqLworICAgICAgIC8qIGltcF9kYmggPT0gTlVMTCB3aGVuIG15c3FsX2RyX2Nvbm5lY3QoKSBpcyBjYWxsZWQgZnJvbSBteXNxbC54cworQEAgLTE5OTIsMTIgKzIwMDIsNiBAQCBNWVNRTCAqbXlzcWxfZHJfY29ubmVjdCgKKyAgICAgICAgICAgaW1wX2RiaC0+YXN5bmNfcXVlcnlfaW5fZmxpZ2h0ID0gTlVMTDsKKyAgICAgICB9CisgI2VuZGlmCistCistICAgICAgLyoKKy0gICAgICAgIHdlIHR1cm4gb2ZmIE15c3FsJ3MgYXV0byByZWNvbm5lY3QgYW5kIGhhbmRsZSByZS1jb25uZWN0aW5nIG91cnNlbHZlcworLSAgICAgICAgc28gdGhhdCB3ZSBjYW4ga2VlcCB0cmFjayBvZiB3aGVuIHRoaXMgaGFwcGVucy4KKy0gICAgICAqLworLSAgICAgIHJlc3VsdC0+cmVjb25uZWN0PTA7CisgICAgIH0KKyAgICAgZWxzZSB7CisgICAgICAgLyogCistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9saWJkYmQtbXlzcWwtcGVybF80LjA0My5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wZXJsL2xpYmRiZC1teXNxbC1wZXJsXzQuMDQzLmJiCmluZGV4IGJkOGJhNzguLmUxODVmNDggMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wZXJsL2xpYmRiZC1teXNxbC1wZXJsXzQuMDQzLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wZXJsL2xpYmRiZC1teXNxbC1wZXJsXzQuMDQzLmJiCkBAIC0xNSw2ICsxNSw3IEBACiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1kMGEwNjk2NDM0MGU1YzBjZGU4OGI3YWY2MTFmNzU1YyIKIAogU1JDX1VSSSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL0NQQU4vYXV0aG9ycy9pZC9NL01JL01JQ0hJRUxCL0RCRC1teXNxbC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Vc2UtQVBJLWZ1bmN0aW9uLWZvci1yZWNvbm5lY3QucGF0Y2ggXAogIgogCiBTUkNfVVJJW21kNXN1bV0gPSAiNGEwMGRkN2YxYzA1NzkzMTE0N2M2NWRmYzQ5MDFjMzYiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9saWJkYmktcGVybF8xLjY0MS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wZXJsL2xpYmRiaS1wZXJsXzEuNjQxLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNGExMjQ1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wZXJsL2xpYmRiaS1wZXJsXzEuNjQxLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotU1VNTUFSWSA9ICJUaGUgUGVybCBEYXRhYmFzZSBJbnRlcmZhY2UiCi1ERVNDUklQVElPTiA9ICJEQkkgaXMgYSBkYXRhYmFzZSBhY2Nlc3MgQXBwbGljYXRpb24gUHJvZ3JhbW1pbmcgSW50ZXJmYWNlIFwKLShBUEkpIGZvciB0aGUgUGVybCBMYW5ndWFnZS4gVGhlIERCSSBBUEkgU3BlY2lmaWNhdGlvbiBkZWZpbmVzIGEgc2V0IFwKLW9mIGZ1bmN0aW9ucywgdmFyaWFibGVzIGFuZCBjb252ZW50aW9ucyB0aGF0IHByb3ZpZGUgYSBjb25zaXN0ZW50IFwKLWRhdGFiYXNlIGludGVyZmFjZSBpbmRlcGVuZGVudCBvZiB0aGUgYWN0dWFsIGRhdGFiYXNlIGJlaW5nIHVzZWQuIFwKLSIKLUhPTUVQQUdFID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvZGlzdC9EQkkvIgotU0VDVElPTiA9ICJsaWJzIgotTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKLVJERVBFTkRTXyR7UE59ID0gIiBwZXJsLW1vZHVsZS1jYXJwIFwKLSAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1leHBvcnRlciBcCi0gICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZXhwb3J0ZXItaGVhdnkgXAotICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWR5bmFsb2FkZXIgXAotIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0xMDk4MmM3MTQ4ZTBhMDEyYzBmZDgwNTM0NTIyZjVjNSIKLQotU1JDX1VSSSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL0NQQU4vYXV0aG9ycy9pZC9UL1RJL1RJTUIvREJJLSR7UFZ9LnRhci5neiIKLVNSQ19VUklbbWQ1c3VtXSA9ICJlNzdmZDM3ZmNmNzdmYzg4ZmRlMDI5YzFiNzVkZWQ1NCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI1NTA5ZTUzMmNkZDBlM2Q5MWVkYTU1MDU3OGRlYWFjMjllMmYwMDhhMTJiNjQ1NzZlOGMyNjFiYjkyZThjMmMxIgotCi1TID0gIiR7V09SS0RJUn0vREJJLSR7UFZ9IgotCi1pbmhlcml0IGNwYW4gcHRlc3QtcGVybAotCi1kb19pbnN0YWxsX3ByZXBlbmQoKSB7Ci0JIyB0ZXN0IHJlcXVpcmVzICItVCIgKHRhaW50KSBjb21tYW5kIGxpbmUgb3B0aW9uCi0Jcm0gLXJmICR7Qn0vdC9wb2QtY292ZXJhZ2UudAotCXJtIC1yZiAke0J9L3QvMTN0YWludC50Ci0JIyBzb3VyY2Ugb2YgdGVzdCBmYWlsdXJlIG5vdCBvYnZpb3VzCi0Jcm0gLXJmICR7Qn0vdC84NWdvZmVyLnQKLQkjIHVuY2xlYXIgd2h5IHRoZXJlIGFyZSBzZXZlcmFsIGR1cGxpY2F0ZXMgb2YgdGVzdHMgaW4gdGFyYmFsbAotCXJtIC1yZiAke0J9L3QveioudAotfQotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wZXJsL2xpYmRiaS1wZXJsXzEuNjQyLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvbGliZGJpLXBlcmxfMS42NDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2MwMzE2NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wZXJsL2xpYmRiaS1wZXJsXzEuNjQyLmJiCkBAIC0wLDAgKzEsMzYgQEAKK1NVTU1BUlkgPSAiVGhlIFBlcmwgRGF0YWJhc2UgSW50ZXJmYWNlIgorREVTQ1JJUFRJT04gPSAiREJJIGlzIGEgZGF0YWJhc2UgYWNjZXNzIEFwcGxpY2F0aW9uIFByb2dyYW1taW5nIEludGVyZmFjZSBcCisoQVBJKSBmb3IgdGhlIFBlcmwgTGFuZ3VhZ2UuIFRoZSBEQkkgQVBJIFNwZWNpZmljYXRpb24gZGVmaW5lcyBhIHNldCBcCitvZiBmdW5jdGlvbnMsIHZhcmlhYmxlcyBhbmQgY29udmVudGlvbnMgdGhhdCBwcm92aWRlIGEgY29uc2lzdGVudCBcCitkYXRhYmFzZSBpbnRlcmZhY2UgaW5kZXBlbmRlbnQgb2YgdGhlIGFjdHVhbCBkYXRhYmFzZSBiZWluZyB1c2VkLiBcCisiCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL2Rpc3QvREJJLyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCitSREVQRU5EU18ke1BOfSA9ICIgcGVybC1tb2R1bGUtY2FycCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZXhwb3J0ZXIgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWV4cG9ydGVyLWhlYXZ5IFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1keW5hbG9hZGVyIFwKKyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MTA5ODJjNzE0OGUwYTAxMmMwZmQ4MDUzNDUyMmY1YzUiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOL2F1dGhvcnMvaWQvVC9USS9USU1CL0RCSS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiZjJiYTE4YjVjZWExYzhjYjMyMmE2MmJlMGE4NDdmM2QiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2YyMDI1MDIzYTU2Mjg2Y2ViZDE1Y2I0OTVlMzZjY2Q5YjQ1NmMzY2MyMjliZjJjZTFmNjllOWViZmMyN2Y1ZCIKKworUyA9ICIke1dPUktESVJ9L0RCSS0ke1BWfSIKKworaW5oZXJpdCBjcGFuIHB0ZXN0LXBlcmwKKworZG9faW5zdGFsbF9wcmVwZW5kKCkgeworCSMgdGVzdCByZXF1aXJlcyAiLVQiICh0YWludCkgY29tbWFuZCBsaW5lIG9wdGlvbgorCXJtIC1yZiAke0J9L3QvcG9kLWNvdmVyYWdlLnQKKwlybSAtcmYgJHtCfS90LzEzdGFpbnQudAorCSMgc291cmNlIG9mIHRlc3QgZmFpbHVyZSBub3Qgb2J2aW91cworCXJtIC1yZiAke0J9L3QvODVnb2Zlci50CisJIyB1bmNsZWFyIHdoeSB0aGVyZSBhcmUgc2V2ZXJhbCBkdXBsaWNhdGVzIG9mIHRlc3RzIGluIHRhcmJhbGwKKwlybSAtcmYgJHtCfS90L3oqLnQKK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC5pbmMKaW5kZXggYmZkMGRkZi4uNmY4OTNhZCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLmluYwpAQCAtOCw3ICs4LDcgQEAKIERFUEVORFMgPSAiemxpYiBiemlwMiBsaWJ4bWwyIHZpcnR1YWwvbGliaWNvbnYgcGhwLW5hdGl2ZSBsZW1vbi1uYXRpdmUiCiBERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICJ6bGliLW5hdGl2ZSBsaWJ4bWwyLW5hdGl2ZSIKIAotUEhQX01BSk9SX1ZFUlNJT04gPSAiJHtAZC5nZXRWYXIoJ1BWJywgVHJ1ZSkuc3BsaXQoJy4nKVswXX0iCitQSFBfTUFKT1JfVkVSU0lPTiA9ICIke0BkLmdldFZhcignUFYnKS5zcGxpdCgnLicpWzBdfSIKIAogU1JDX1VSSSA9ICJodHRwOi8vcGhwLm5ldC9kaXN0cmlidXRpb25zL3BocC0ke1BWfS50YXIuYnoyIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtcGhwLWRvbi10LXVzZS1icm9rZW4td3JhcHBlci1mb3ItbWtkaXIucGF0Y2ggXApAQCAtMjAsNyArMjAsNiBAQAogICAgICAgICAgICAgZmlsZTovL3BocF9leGVjX25hdGl2ZS5wYXRjaCBcCiAgICAgICAgICAgICBmaWxlOi8vcGhwLWZwbS5jb25mIFwKICAgICAgICAgICAgIGZpbGU6Ly9waHAtZnBtLWFwYWNoZS5jb25mIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWFjaW5jbHVkZS5tNC1kb24tdC11bnNldC1jYWNoZS12YXJpYWJsZXMucGF0Y2ggXAogICAgICAgICAgICAgZmlsZTovLzcwX21vZF9waHAke1BIUF9NQUpPUl9WRVJTSU9OfS5jb25mIFwKICAgICAgICAgICAgIGZpbGU6Ly9waHAtZnBtLnNlcnZpY2UgXAogICAgICAgICAgICIKQEAgLTQ2LDEwICs0NSw5IEBACiBFWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtbWJzdHJpbmcgXAogICAgICAgICAgICAgICAgIC0tZW5hYmxlLXdkZHggXAogICAgICAgICAgICAgICAgIC0tZW5hYmxlLWZwbSBcCi0gICAgICAgICAgICAgICAgLS1lbmFibGUtemlwIFwKICAgICAgICAgICAgICAgICAtLXdpdGgtbGliZGlyPSR7YmFzZWxpYn0gXAogICAgICAgICAgICAgICAgIC0td2l0aC1nZXR0ZXh0PSR7U1RBR0lOR19MSUJESVJ9Ly4uIFwKLSAgICAgICAgICAgICAgICAtLXdpdGgtemxpYj0ke1NUQUdJTkdfTElCRElSfS8uLiBcCisgICAgICAgICAgICAgICAgLS13aXRoLWxpYnppcD0ke1NUQUdJTkdfTElCRElSfS8uLiBcCiAgICAgICAgICAgICAgICAgLS13aXRoLWljb252PSR7U1RBR0lOR19MSUJESVJ9Ly4uIFwKICAgICAgICAgICAgICAgICAtLXdpdGgtYnoyPSR7U1RBR0lOR19ESVJfVEFSR0VUfSR7ZXhlY19wcmVmaXh9IFwKICAgICAgICAgICAgICAgICAtLXdpdGgtY29uZmlnLWZpbGUtcGF0aD0ke3N5c2NvbmZkaXJ9L3BocC9hcGFjaGUyLXBocCR7UEhQX01BSk9SX1ZFUlNJT059IFwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLzAwMDEtVXNlLXBrZy1jb25maWctZm9yLWxpYnhtbDItZGV0ZWN0aW9uLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvMDAwMS1Vc2UtcGtnLWNvbmZpZy1mb3ItbGlieG1sMi1kZXRlY3Rpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2NjNmQ0ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLzAwMDEtVXNlLXBrZy1jb25maWctZm9yLWxpYnhtbDItZGV0ZWN0aW9uLnBhdGNoCkBAIC0wLDAgKzEsMjMgQEAKK1VzZSBwa2ctY29uZmlnIGZvciBsaWJ4bWwyIGRldGVjdGlvbi4KKworeG1sMi1jb25maWcgZG9lcyBub3Qgd29yay4gVXNlIHBrZ2NvbmZpZyB0byBzZXQgQ1BQRkxBR1MgYW5kIExJQlMuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworU2lnbmVkLW9mZi1ieTogIEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBjb25maWd1cmUuaW4gfCAxNSArKy0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKKy0tLSBhL2FjaW5jbHVkZS5tNAorKysrIGIvYWNpbmNsdWRlLm00CitAQCAtMjQ4MSw4ICsyNDgxLDggQEAgQUNfREVGVU4oW1BIUF9TRVRVUF9MSUJYTUxdLCBbCisgICAgIExJQlhNTF9WRVJTSU9OPWBleHByIFskXTEgXCogMTAwMDAwMCArIFskXTIgXCogMTAwMCArIFskXTNgCisgICAgIGlmIHRlc3QgIiRMSUJYTUxfVkVSU0lPTiIgLWdlICIyMDA2MDExIjsgdGhlbgorICAgICAgIGZvdW5kX2xpYnhtbD15ZXMKKy0gICAgICBMSUJYTUxfTElCUz1gJFhNTDJfQ09ORklHIC0tbGlic2AKKy0gICAgICBMSUJYTUxfSU5DUz1gJFhNTDJfQ09ORklHIC0tY2ZsYWdzYAorKyAgICAgIExJQlhNTF9MSUJTPWBwa2ctY29uZmlnIC0tbGlicyBsaWJ4bWwtMi4wYAorKyAgICAgIExJQlhNTF9JTkNTPWBwa2ctY29uZmlnIC0tY2ZsYWdzIGxpYnhtbC0yLjBgCisgICAgIGVsc2UKKyAgICAgICBBQ19NU0dfRVJST1IoW2xpYnhtbDIgdmVyc2lvbiAyLjYuMTEgb3IgZ3JlYXRlciByZXF1aXJlZC5dKQorICAgICBmaQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvMDAwMS1hY2luY2x1ZGUubTQtZG9uLXQtdW5zZXQtY2FjaGUtdmFyaWFibGVzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvMDAwMS1hY2luY2x1ZGUubTQtZG9uLXQtdW5zZXQtY2FjaGUtdmFyaWFibGVzLnBhdGNoCmluZGV4IGEyNTBjYWMuLjUxZGJlMjYgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLzAwMDEtYWNpbmNsdWRlLm00LWRvbi10LXVuc2V0LWNhY2hlLXZhcmlhYmxlcy5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC8wMDAxLWFjaW5jbHVkZS5tNC1kb24tdC11bnNldC1jYWNoZS12YXJpYWJsZXMucGF0Y2gKQEAgLTEsNiArMSw2IEBACi1Gcm9tIGRmZWJlODFmOTQ2YTgzZmUyNDk5ZmM4NGQ0ZjNkYmRjNTYxMjI3NmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPgotRGF0ZTogVHVlLCAzIEFwciAyMDE4IDExOjM1OjAzICswODAwCitGcm9tIGQyNjc5Yzg5YzBiMTViOTBlNTM2MGI0ODYzMjU4YTc5NTVlNWY0ZTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAxMiBGZWIgMjAxOSAxNTo1OToxOSArMDgwMAogU3ViamVjdDogW1BBVENIXSBhY2luY2x1ZGUubTQ6IGRvbid0IHVuc2V0IGNhY2hlIHZhcmlhYmxlcwogCiBVbnNldHRpbmcgcHJldmVudHMgY2FjaGUgdmFyaWFibGUgZnJvbSBiZWluZyBwYXNzZWQgdG8gY29uZmlndXJlLgpAQCAtOCwxNSArOCwxOCBAQAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRS1zcGVjaWZpY10KIAogU2lnbmVkLW9mZi1ieTogQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4KKwordXBkYXRlIHBhdGNoIHRvIHZlcnNpb24gNy4zLjIKK1NpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CiAtLS0KICBhY2luY2x1ZGUubTQgfCA0IC0tLS0KICAxIGZpbGUgY2hhbmdlZCwgNCBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2FjaW5jbHVkZS5tNCBiL2FjaW5jbHVkZS5tNAotaW5kZXggZjZhNTVlYy4uZDMzNDZkZiAxMDA2NDQKK2luZGV4IDI1ZjkwMGQuLjI2NDE5NjkgMTAwNjQ0CiAtLS0gYS9hY2luY2x1ZGUubTQKICsrKyBiL2FjaW5jbHVkZS5tNAotQEAgLTE4OTAsOCArMTg5MCw2IEBAIGRlZmluZShbcGhwc2hpZnRdLFtpZmVsc2UoaW5kZXgoWyRAXSxbLF0pLC0xLCxbc3Vic3RyKFskQF0saW5jcihpbmRleChbJEBdLFssXSkpCitAQCAtMTkyMSw4ICsxOTIxLDYgQEAgZGVmaW5lKFtwaHBzaGlmdF0sW2lmZWxzZShpbmRleChbJEBdLFssXSksLTEsLFtzdWJzdHIoWyRAXSxpbmNyKGluZGV4KFskQF0sWyxdKSkKICBkbmwKICBBQ19ERUZVTihbUEhQX0NIRUNLX0ZVTkNfTElCXSxbCiAgICBpZmVsc2UoJDIsLDosWwpAQCAtMjUsMTQgKzI4LDE0IEBACiAgICB1bnNldCBmb3VuZAogICAgQUNfQ0hFQ0tfTElCKCQyLCAkMSwgW2ZvdW5kPXllc10sIFsKICAgICAgQUNfQ0hFQ0tfTElCKCQyLCBfXyQxLCBbZm91bmQ9eWVzXSwgW2ZvdW5kPW5vXSkKLUBAIC0xOTIzLDggKzE5MjEsNiBAQCBkbmwgaW4gdGhlIGRlZmF1bHQgbGlicmFyaWVzIGFuZCBhcyBhIGZhbGwgYmFjayBpbiB0aGUgc3BlY2lmaWVkIGxpYnJhcnkuCitAQCAtMTk1NCw4ICsxOTUyLDYgQEAgZG5sIGluIHRoZSBkZWZhdWx0IGxpYnJhcmllcyBhbmQgYXMgYSBmYWxsIGJhY2sgaW4gdGhlIHNwZWNpZmllZCBsaWJyYXJ5LgogIGRubCBEZWZpbmVzIEhBVkVfZnVuYyBhbmQgSEFWRV9saWJyYXJ5IGlmIGZvdW5kIGFuZCBhZGRzIHRoZSBsaWJyYXJ5IHRvIExJQlMuCiAgZG5sCiAgQUNfREVGVU4oW1BIUF9DSEVDS19GVU5DXSxbCiAtICB1bnNldCBhY19jdl9mdW5jXyQxCiAtICB1bnNldCBhY19jdl9mdW5jX19fJDEKICAgIHVuc2V0IGZvdW5kCi0gICAKKyAKICAgIEFDX0NIRUNLX0ZVTkMoJDEsIFtmb3VuZD15ZXNdLFsgQUNfQ0hFQ0tfRlVOQyhfXyQxLFtmb3VuZD15ZXNdLFtmb3VuZD1ub10pIF0pCiAtLSAKIDIuNy40CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC8wMDAxLWZpeC1lcnJvci1jYXVzZWQtYnktYS1uZXctdmFyaWFibGUtaXMtZGVjbGFyZWQtYWZ0ZXIucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC8wMDAxLWZpeC1lcnJvci1jYXVzZWQtYnktYS1uZXctdmFyaWFibGUtaXMtZGVjbGFyZWQtYWZ0ZXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZhYjEwMWIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvMDAwMS1maXgtZXJyb3ItY2F1c2VkLWJ5LWEtbmV3LXZhcmlhYmxlLWlzLWRlY2xhcmVkLWFmdGVyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotRnJvbSAwZDg4ZDczNTg4N2M2ZjJmYTAwYTc0M2MyNzEyNGM3YTUyMDA2YTQxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotRGF0ZTogU3VuLCAxNSBBcHIgMjAxOCAxOToxNzoyNyAtMDcwMAotU3ViamVjdDogW1BBVENIXSBmaXggZXJyb3IgY2F1c2VkIGJ5IGEgbmV3IHZhcmlhYmxlIGlzIGRlY2xhcmVkIGFmdGVyIHRoZQotIGxhYmVsCi0KLVRoZXJlIGlzIGEgYnVpbGQgZmFpbHVyZSBvbiBtaXBzOgotLi4uCi18c2xqaXROYXRpdmVNSVBTX2NvbW1vbi5jOiBJbiBmdW5jdGlvbiAnc2xqaXRfaGFzX2NwdV9mZWF0dXJlJzoKLXxzbGppdE5hdGl2ZU1JUFNfY29tbW9uLmM6NTA2OjM6IGVycm9yOiBhIGxhYmVsIGNhbiBvbmx5IGJlIHBhcnQKLW9mIGEgc3RhdGVtZW50IGFuZCBhIGRlY2xhcmF0aW9uIGlzIG5vdCBhIHN0YXRlbWVudAotfCAgIHNsaml0X3N3IGZpcjsKLXwgICBefn5+fn5+fgotLi4uCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBleHQvcGNyZS9wY3JlbGliL3Nsaml0L3Nsaml0TmF0aXZlTUlQU19jb21tb24uYyB8IDQgKysrLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2V4dC9wY3JlL3BjcmVsaWIvc2xqaXQvc2xqaXROYXRpdmVNSVBTX2NvbW1vbi5jIGIvZXh0L3BjcmUvcGNyZWxpYi9zbGppdC9zbGppdE5hdGl2ZU1JUFNfY29tbW9uLmMKLWluZGV4IGVlMjA3ZmUuLmFkZmQzNDIgMTAwNjQ0Ci0tLS0gYS9leHQvcGNyZS9wY3JlbGliL3Nsaml0L3Nsaml0TmF0aXZlTUlQU19jb21tb24uYwotKysrIGIvZXh0L3BjcmUvcGNyZWxpYi9zbGppdC9zbGppdE5hdGl2ZU1JUFNfY29tbW9uLmMKLUBAIC00OTgsMTIgKzQ5OCwxNCBAQCBTTEpJVF9BUElfRlVOQ19BVFRSSUJVVEUgdm9pZCogc2xqaXRfZ2VuZXJhdGVfY29kZShzdHJ1Y3Qgc2xqaXRfY29tcGlsZXIgKmNvbXBpbAotIAotIFNMSklUX0FQSV9GVU5DX0FUVFJJQlVURSBzbGppdF9zMzIgc2xqaXRfaGFzX2NwdV9mZWF0dXJlKHNsaml0X3MzMiBmZWF0dXJlX3R5cGUpCi0gewotKyNpZiBkZWZpbmVkKF9fR05VQ19fKQotKwlzbGppdF9zdyBmaXI7Ci0rI2VuZGlmCi0gCXN3aXRjaCAoZmVhdHVyZV90eXBlKSB7Ci0gCWNhc2UgU0xKSVRfSEFTX0ZQVToKLSAjaWZkZWYgU0xKSVRfSVNfRlBVX0FWQUlMQUJMRQotIAkJcmV0dXJuIFNMSklUX0lTX0ZQVV9BVkFJTEFCTEU7Ci0gI2VsaWYgZGVmaW5lZChfX0dOVUNfXykKLS0JCXNsaml0X3N3IGZpcjsKLSAJCWFzbSAoImNmYzEgJTAsICQwIiA6ICI9ciIoZmlyKSk7Ci0gCQlyZXR1cm4gKGZpciA+PiAyMikgJiAweDE7Ci0gI2Vsc2UKLS0tIAotMi4xMC4yCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLzAwMDEtb3BjYWNoZS1jb25maWcubTQtZW5hYmxlLW9wY2FjaGUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC8wMDAxLW9wY2FjaGUtY29uZmlnLm00LWVuYWJsZS1vcGNhY2hlLnBhdGNoCmluZGV4IDBkMjRkMzQuLjlmZmQwZTQgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLzAwMDEtb3BjYWNoZS1jb25maWcubTQtZW5hYmxlLW9wY2FjaGUucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvMDAwMS1vcGNhY2hlLWNvbmZpZy5tNC1lbmFibGUtb3BjYWNoZS5wYXRjaApAQCAtMSw2ICsxLDYgQEAKLUZyb20gYjJmYjcyNWRjNDA0ZDQ3MTM3MTczMWI2NjMyMzRlODdjYjBmY2E4NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+Ci1EYXRlOiBNb24sIDIgQXByIDIwMTggMTc6NTQ6NTIgKzA4MDAKK0Zyb20gZmIxMzlkOTcwN2RhYmUxNjg0YjQ3MmEwOGE2ZWI1NzYxZWRlNGEzYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDEyIEZlYiAyMDE5IDE0OjU2OjE2ICswODAwCiBTdWJqZWN0OiBbUEFUQ0hdIG9wY2FjaGUvY29uZmlnLm00OiBlbmFibGUgb3BjYWNoZQogCiBXZSBjYW4ndCB1c2UgQUNfVFJZX1JVTiB0byBydW4gcHJvZ3JhbXMgaW4gYSBjcm9zcyBjb21waWxlIGVudmlyb25tZW50LiBTZXQKQEAgLTEwLDQyICsxMCw0MSBAQAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtDb25maWd1cmF0aW9uXQogCiBTaWduZWQtb2ZmLWJ5OiBBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPgorCit1cGRhdGUgcGF0Y2ggdG8gdmVyc2lvbiA3LjMuMgorU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KIC0tLQotIGV4dC9vcGNhY2hlL2NvbmZpZy5tNCB8IDM0OSArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDM0MSBkZWxldGlvbnMoLSkKKyBleHQvb3BjYWNoZS9jb25maWcubTQgfCAzNTcgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAzNTEgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9leHQvb3BjYWNoZS9jb25maWcubTQgYi9leHQvb3BjYWNoZS9jb25maWcubTQKLWluZGV4IDdiNTAwZjAuLjEwYmI5OWEgMTAwNjQ0CitpbmRleCAzOTJmNGM2Li42NjE3NjkzIDEwMDY0NAogLS0tIGEvZXh0L29wY2FjaGUvY29uZmlnLm00CiArKysgYi9leHQvb3BjYWNoZS9jb25maWcubTQKLUBAIC0yOCwzNTMgKzI4LDIwIEBAIGlmIHRlc3QgIiRQSFBfT1BDQUNIRSIgIT0gIm5vIjsgdGhlbgotIAorQEAgLTI3LDM3NCArMjcsMjkgQEAgaWYgdGVzdCAiJFBIUF9PUENBQ0hFIiAhPSAibm8iOyB0aGVuCiAgICBBQ19DSEVDS19IRUFERVJTKFt1bmlzdGQuaCBzeXMvdWlvLmhdKQogIAotLSAgQUNfTVNHX0NIRUNLSU5HKGZvciBzeXN2aXBjIHNoYXJlZCBtZW1vcnkgc3VwcG9ydCkKLS0gIEFDX1RSWV9SVU4oWworICAgQUNfTVNHX0NIRUNLSU5HKGZvciBzeXN2aXBjIHNoYXJlZCBtZW1vcnkgc3VwcG9ydCkKKy0gIEFDX1JVTl9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFtbCiAtI2luY2x1ZGUgPHN5cy90eXBlcy5oPgogLSNpbmNsdWRlIDxzeXMvd2FpdC5oPgogLSNpbmNsdWRlIDxzeXMvaXBjLmg+CiAtI2luY2x1ZGUgPHN5cy9zaG0uaD4KIC0jaW5jbHVkZSA8dW5pc3RkLmg+CiAtI2luY2x1ZGUgPHN0cmluZy5oPgotKyAgQUNfREVGSU5FKEhBVkVfU0hNX0lQQywgMSwgW0RlZmluZSBpZiB5b3UgaGF2ZSBTeXNWIElQQyBTSE0gc3VwcG9ydF0pCi0gCistCiAtaW50IG1haW4oKSB7CiAtICBwaWRfdCBwaWQ7CiAtICBpbnQgc3RhdHVzOwogLSAgaW50IGlwY19pZDsKIC0gIGNoYXIgKnNobTsKIC0gIHN0cnVjdCBzaG1pZF9kcyBzaG1idWY7Ci0rICBBQ19ERUZJTkUoSEFWRV9TSE1fTU1BUF9BTk9OLCAxLCBbRGVmaW5lIGlmIHlvdSBoYXZlIG1tYXAoTUFQX0FOT04pIFNITSBzdXBwb3J0XSkKLSAKKy0KIC0gIGlwY19pZCA9IHNobWdldChJUENfUFJJVkFURSwgNDA5NiwgKElQQ19DUkVBVCB8IFNITV9SIHwgU0hNX1cpKTsKIC0gIGlmIChpcGNfaWQgPT0gLTEpIHsKIC0gICAgcmV0dXJuIDE7CiAtICB9Ci0rICBBQ19ERUZJTkUoSEFWRV9TSE1fTU1BUF9aRVJPLCAxLCBbRGVmaW5lIGlmIHlvdSBoYXZlIG1tYXAoIi9kZXYvemVybyIpIFNITSBzdXBwb3J0XSkKLSAKKy0KIC0gIHNobSA9IHNobWF0KGlwY19pZCwgTlVMTCwgMCk7CiAtICBpZiAoc2htID09ICh2b2lkICopLTEpIHsKIC0gICAgc2htY3RsKGlwY19pZCwgSVBDX1JNSUQsIE5VTEwpOwpAQCAtOTAsMTMgKzg5LDE0IEBACiAtICB9CiAtICByZXR1cm4gMDsKIC19Ci0tXSxkbmwKKy1dXSldLFtkbmwKIC0gICAgQUNfREVGSU5FKEhBVkVfU0hNX0lQQywgMSwgW0RlZmluZSBpZiB5b3UgaGF2ZSBTeXNWIElQQyBTSE0gc3VwcG9ydF0pCi0tICAgIG1zZz15ZXMsbXNnPW5vLG1zZz1ubykKKy0gICAgbXNnPXllc10sW21zZz1ub10sW21zZz1ub10pCiAtICBBQ19NU0dfUkVTVUxUKFskbXNnXSkKLS0KLS0gIEFDX01TR19DSEVDS0lORyhmb3IgbW1hcCgpIHVzaW5nIE1BUF9BTk9OIHNoYXJlZCBtZW1vcnkgc3VwcG9ydCkKLS0gIEFDX1RSWV9SVU4oWworKyAgQUNfREVGSU5FKEhBVkVfU0hNX0lQQywgMSwgW0RlZmluZSBpZiB5b3UgaGF2ZSBTeXNWIElQQyBTSE0gc3VwcG9ydF0pCisgCisgICBBQ19NU0dfQ0hFQ0tJTkcoZm9yIG1tYXAoKSB1c2luZyBNQVBfQU5PTiBzaGFyZWQgbWVtb3J5IHN1cHBvcnQpCistICBBQ19SVU5fSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbWwogLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KIC0jaW5jbHVkZSA8c3lzL3dhaXQuaD4KIC0jaW5jbHVkZSA8c3lzL21tYW4uaD4KQEAgLTE0MiwxMyArMTQyLDE0IEBACiAtICB9CiAtICByZXR1cm4gMDsKIC19Ci0tXSxkbmwKKy1dXSldLFtkbmwKIC0gICAgQUNfREVGSU5FKEhBVkVfU0hNX01NQVBfQU5PTiwgMSwgW0RlZmluZSBpZiB5b3UgaGF2ZSBtbWFwKE1BUF9BTk9OKSBTSE0gc3VwcG9ydF0pCi0tICAgIG1zZz15ZXMsbXNnPW5vLG1zZz1ubykKKy0gICAgbXNnPXllc10sW21zZz1ub10sW21zZz1ub10pCiAtICBBQ19NU0dfUkVTVUxUKFskbXNnXSkKLS0KLS0gIEFDX01TR19DSEVDS0lORyhmb3IgbW1hcCgpIHVzaW5nIC9kZXYvemVybyBzaGFyZWQgbWVtb3J5IHN1cHBvcnQpCi0tICBBQ19UUllfUlVOKFsKKysgIEFDX0RFRklORShIQVZFX1NITV9NTUFQX0FOT04sIDEsIFtEZWZpbmUgaWYgeW91IGhhdmUgbW1hcChNQVBfQU5PTikgU0hNIHN1cHBvcnRdKQorIAorICAgQUNfTVNHX0NIRUNLSU5HKGZvciBtbWFwKCkgdXNpbmcgL2Rldi96ZXJvIHNoYXJlZCBtZW1vcnkgc3VwcG9ydCkKKy0gIEFDX1JVTl9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFtbCiAtI2luY2x1ZGUgPHN5cy90eXBlcy5oPgogLSNpbmNsdWRlIDxzeXMvd2FpdC5oPgogLSNpbmNsdWRlIDxzeXMvbW1hbi5oPgpAQCAtMTk3LDEzICsxOTgsMTQgQEAKIC0gIH0KIC0gIHJldHVybiAwOwogLX0KLS1dLGRubAorLV1dKV0sW2RubAogLSAgICBBQ19ERUZJTkUoSEFWRV9TSE1fTU1BUF9aRVJPLCAxLCBbRGVmaW5lIGlmIHlvdSBoYXZlIG1tYXAoIi9kZXYvemVybyIpIFNITSBzdXBwb3J0XSkKLS0gICAgbXNnPXllcyxtc2c9bm8sbXNnPW5vKQorLSAgICBtc2c9eWVzXSxbbXNnPW5vXSxbbXNnPW5vXSkKIC0gIEFDX01TR19SRVNVTFQoWyRtc2ddKQotLQotLSAgQUNfTVNHX0NIRUNLSU5HKGZvciBtbWFwKCkgdXNpbmcgc2htX29wZW4oKSBzaGFyZWQgbWVtb3J5IHN1cHBvcnQpCi0tICBBQ19UUllfUlVOKFsKKysgIEFDX0RFRklORShIQVZFX1NITV9NTUFQX1pFUk8sIDEsIFtEZWZpbmUgaWYgeW91IGhhdmUgbW1hcCgiL2Rldi96ZXJvIikgU0hNIHN1cHBvcnRdKQorIAorICAgQUNfTVNHX0NIRUNLSU5HKGZvciBtbWFwKCkgdXNpbmcgc2htX29wZW4oKSBzaGFyZWQgbWVtb3J5IHN1cHBvcnQpCistICBBQ19SVU5fSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbWwogLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KIC0jaW5jbHVkZSA8c3lzL3dhaXQuaD4KIC0jaW5jbHVkZSA8c3lzL21tYW4uaD4KQEAgLTI2NiwxNCArMjY4LDE0IEBACiAtICB9CiAtICByZXR1cm4gMDsKIC19Ci0tXSxkbmwKKy1dXSldLFtkbmwKIC0gICAgQUNfREVGSU5FKEhBVkVfU0hNX01NQVBfUE9TSVgsIDEsIFtEZWZpbmUgaWYgeW91IGhhdmUgUE9TSVggbW1hcCgpIFNITSBzdXBwb3J0XSkKLS0gICAgbXNnPXllcyxtc2c9bm8sbXNnPW5vKQorLSAgICBtc2c9eWVzXSxbbXNnPW5vXSxbbXNnPW5vXSkKIC0gIEFDX01TR19SRVNVTFQoWyRtc2ddKQogKyAgQUNfREVGSU5FKEhBVkVfU0hNX01NQVBfUE9TSVgsIDEsIFtEZWZpbmUgaWYgeW91IGhhdmUgUE9TSVggbW1hcCgpIFNITSBzdXBwb3J0XSkKICAKICAgIEFDX01TR19DSEVDS0lORyhmb3IgbW1hcCgpIHVzaW5nIHJlZ3VsYXIgZmlsZSBzaGFyZWQgbWVtb3J5IHN1cHBvcnQpCi0tICBBQ19UUllfUlVOKFsKKy0gIEFDX1JVTl9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFtbCiAtI2luY2x1ZGUgPHN5cy90eXBlcy5oPgogLSNpbmNsdWRlIDxzeXMvd2FpdC5oPgogLSNpbmNsdWRlIDxzeXMvbW1hbi5oPgpAQCAtMzM2LDUwICszMzgsNzAgQEAKIC0gIH0KIC0gIHJldHVybiAwOwogLX0KLS1dLGRubAorLV1dKV0sW2RubAogLSAgICBBQ19ERUZJTkUoSEFWRV9TSE1fTU1BUF9GSUxFLCAxLCBbRGVmaW5lIGlmIHlvdSBoYXZlIG1tYXAoKSBTSE0gc3VwcG9ydF0pCi0tICAgIG1zZz15ZXMsbXNnPW5vLG1zZz1ubykKKy0gICAgbXNnPXllc10sW21zZz1ub10sW21zZz1ub10pCiAtICBBQ19NU0dfUkVTVUxUKFskbXNnXSkKKysgIEFDX0RFRklORShIQVZFX1NITV9NTUFQX0ZJTEUsIDEsIFtEZWZpbmUgaWYgeW91IGhhdmUgbW1hcCgpIFNITSBzdXBwb3J0XSkKKyAKKyBmbG9ja190eXBlPXVua25vd24KKyBBQ19NU0dfQ0hFQ0tJTkcoZm9yIHN0cnVjdCBmbG9jayBsYXlvdXQpCisgCisgaWYgdGVzdCAiJGZsb2NrX3R5cGUiID0gInVua25vd24iOyB0aGVuCistQUNfUlVOX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW1sKKy0gICNpbmNsdWRlIDxmY250bC5oPgorLSAgc3RydWN0IGZsb2NrIGxvY2sgPSB7IDEsIDIsIDMsIDQsIDUsIDYsIDcgfTsKKy0gIGludCBtYWluKCkgeworLSAgICBpZihsb2NrLmxfdHlwZSA9PSAxICYmIGxvY2subF93aGVuY2UgPT0gMiAmJiBsb2NrLmxfc3RhcnQgPT0gNiAmJiBsb2NrLmxfbGVuPT0gNykgeworLQkJcmV0dXJuIDA7CistICAgIH0KKy0gICAgcmV0dXJuIDE7CistICB9CistXV0pXSwgWworLSAgICBmbG9ja190eXBlPWFpeDY0CistICAgIEFDX0RFRklORShbSEFWRV9GTE9DS19BSVg2NF0sIFtdLCBbU3RydWN0IGZsb2NrIGlzIDY0LWJpdCBBSVgtdHlwZV0pCistXSwgW10pCistZmkKIC0KLS1mbG9ja190eXBlPXVua25vd24KLS1BQ19NU0dfQ0hFQ0tJTkcoIndoZXRoZXIgZmxvY2sgc3RydWN0IGlzIGxpbnV4IG9yZGVyZWQiKQotLUFDX1RSWV9SVU4oWworLWlmIHRlc3QgIiRmbG9ja190eXBlIiA9ICJ1bmtub3duIjsgdGhlbgorLUFDX1JVTl9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFtbCiAtICAjaW5jbHVkZSA8ZmNudGwuaD4KIC0gIHN0cnVjdCBmbG9jayBsb2NrID0geyAxLCAyLCAzLCA0LCA1IH07Ci0tICBpbnQgbWFpbigpIHsgCistICBpbnQgbWFpbigpIHsKIC0gICAgaWYobG9jay5sX3R5cGUgPT0gMSAmJiBsb2NrLmxfd2hlbmNlID09IDIgJiYgbG9jay5sX3N0YXJ0ID09IDMgJiYgbG9jay5sX2xlbiA9PSA0KSB7CiAtCQlyZXR1cm4gMDsKIC0gICAgfQogLSAgICByZXR1cm4gMTsKLS0gIH0gCi0tXSwgWworLSAgfQorLV1dKV0sIFsKIC0JZmxvY2tfdHlwZT1saW51eAotLSAgICBBQ19ERUZJTkUoW0hBVkVfRkxPQ0tfTElOVVhdLCBbXSwgW1N0cnVjdCBmbG9jayBpcyBMaW51eC10eXBlXSkKLS0gICAgQUNfTVNHX1JFU1VMVCgieWVzIikKLS1dLCBBQ19NU0dfUkVTVUxUKCJubyIpICkKLSsgIAotKyAgQUNfREVGSU5FKEhBVkVfU0hNX01NQVBfRklMRSwgMSwgW0RlZmluZSBpZiB5b3UgaGF2ZSBtbWFwKCkgU0hNIHN1cHBvcnRdKQorKyAgICBmbG9ja190eXBlPWxpbnV4CisgICAgIEFDX0RFRklORShbSEFWRV9GTE9DS19MSU5VWF0sIFtdLCBbU3RydWN0IGZsb2NrIGlzIExpbnV4LXR5cGVdKQorLV0sIFtdKQorIGZpCiAgCi0tQUNfTVNHX0NIRUNLSU5HKCJ3aGV0aGVyIGZsb2NrIHN0cnVjdCBpcyBCU0Qgb3JkZXJlZCIpCi0tQUNfVFJZX1JVTihbCisgaWYgdGVzdCAiJGZsb2NrX3R5cGUiID0gInVua25vd24iOyB0aGVuCistQUNfUlVOX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW1sKIC0gICNpbmNsdWRlIDxmY250bC5oPgogLSAgc3RydWN0IGZsb2NrIGxvY2sgPSB7IDEsIDIsIDMsIDQsIDUgfTsKLS0gIGludCBtYWluKCkgeyAKKy0gIGludCBtYWluKCkgewogLSAgICBpZihsb2NrLmxfc3RhcnQgPT0gMSAmJiBsb2NrLmxfbGVuID09IDIgJiYgbG9jay5sX3R5cGUgPT0gNCAmJiBsb2NrLmxfd2hlbmNlID09IDUpIHsKIC0JCXJldHVybiAwOwogLSAgICB9CiAtICAgIHJldHVybiAxOwotLSAgfSAKLS1dLCBbCistICB9CistXV0pXSwgWwogLQlmbG9ja190eXBlPWJzZAotLSAgICBBQ19ERUZJTkUoW0hBVkVfRkxPQ0tfQlNEXSwgW10sIFtTdHJ1Y3QgZmxvY2sgaXMgQlNELXR5cGVdKSAKLS0gICAgQUNfTVNHX1JFU1VMVCgieWVzIikKLS1dLCBBQ19NU0dfUkVTVUxUKCJubyIpICkKLSsgIGZsb2NrX3R5cGU9bGludXgKLSsgIEFDX0RFRklORShbSEFWRV9GTE9DS19MSU5VWF0sIFtdLCBbU3RydWN0IGZsb2NrIGlzIExpbnV4LXR5cGVdKQotIAotIGlmIHRlc3QgIiRmbG9ja190eXBlIiA9ICJ1bmtub3duIjsgdGhlbgorLSAgICBBQ19ERUZJTkUoW0hBVkVfRkxPQ0tfQlNEXSwgW10sIFtTdHJ1Y3QgZmxvY2sgaXMgQlNELXR5cGVdKQorLV0sIFtdKQorLWZpCistCistQUNfTVNHX1JFU1VMVChbJGZsb2NrX3R5cGVdKQorLQorLWlmIHRlc3QgIiRmbG9ja190eXBlIiA9ICJ1bmtub3duIjsgdGhlbgogIAlBQ19NU0dfRVJST1IoW0Rvbid0IGtub3cgaG93IHRvIGRlZmluZSBzdHJ1Y3QgZmxvY2sgb24gdGhpcyBzeXN0ZW1bLF0gc2V0IC0tZW5hYmxlLW9wY2FjaGU9bm9dKQorIGZpCisgCiAtLSAKIDIuNy40CiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLzAwNDgtVXNlLXBrZy1jb25maWctZm9yLUZyZWVUeXBlMi1kZXRlY3Rpb24ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC8wMDQ4LVVzZS1wa2ctY29uZmlnLWZvci1GcmVlVHlwZTItZGV0ZWN0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzNmRkYWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC8wMDQ4LVVzZS1wa2ctY29uZmlnLWZvci1GcmVlVHlwZTItZGV0ZWN0aW9uLnBhdGNoCkBAIC0wLDAgKzEsNTMgQEAKK0Zyb206ID0/dXRmLTg/Yj9UMjVreFpsbGFpQlRkWExEdlE9PT89IDxvbmRyZWpAc3VyeS5vcmc+CitEYXRlOiBNb24sIDIyIE9jdCAyMDE4IDA2OjU0OjMxICswMDAwCitTdWJqZWN0OiBVc2UgcGtnLWNvbmZpZyBmb3IgRnJlZVR5cGUyIGRldGVjdGlvbgorCistLS0KKyBleHQvZ2QvY29uZmlnLm00IHwgMzAgKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZXh0L2dkL2NvbmZpZy5tNCBiL2V4dC9nZC9jb25maWcubTQKK2luZGV4IDQ5OGQ4NzAuLmQyOGM2YWUgMTAwNjQ0CistLS0gYS9leHQvZ2QvY29uZmlnLm00CisrKysgYi9leHQvZ2QvY29uZmlnLm00CitAQCAtMTg0LDIxICsxODQsMjkgQEAgQUNfREVGVU4oW1BIUF9HRF9YUE1dLFsKKyBBQ19ERUZVTihbUEhQX0dEX0ZSRUVUWVBFMl0sWworICAgaWYgdGVzdCAiJFBIUF9GUkVFVFlQRV9ESVIiICE9ICJubyI7IHRoZW4KKyAKKy0gICAgZm9yIGkgaW4gJFBIUF9GUkVFVFlQRV9ESVIgL3Vzci9sb2NhbCAvdXNyOyBkbworLSAgICAgIGlmIHRlc3QgLWYgIiRpL2Jpbi9mcmVldHlwZS1jb25maWciOyB0aGVuCistICAgICAgICBGUkVFVFlQRTJfRElSPSRpCistICAgICAgICBGUkVFVFlQRTJfQ09ORklHPSIkaS9iaW4vZnJlZXR5cGUtY29uZmlnIgorLSAgICAgICAgYnJlYWsKKysgICAgaWYgdGVzdCAteiAiJFBLR19DT05GSUciOyB0aGVuCisrICAgICAgQUNfUEFUSF9QUk9HKFBLR19DT05GSUcsIHBrZy1jb25maWcsIG5vKQorKyAgICBmaQorKyAgICBpZiB0ZXN0IC14ICIkUEtHX0NPTkZJRyIgJiYgJFBLR19DT05GSUcgLS1leGlzdHMgZnJlZXR5cGUyIDsgdGhlbgorKyAgICAgIEZSRUVUWVBFMl9DRkxBR1M9YCRQS0dfQ09ORklHIC0tY2ZsYWdzIGZyZWV0eXBlMmAKKysgICAgICBGUkVFVFlQRTJfTElCUz1gJFBLR19DT05GSUcgLS1saWJzIGZyZWV0eXBlMmAKKysgICAgZWxzZQorKyAgICAgIGZvciBpIGluICRQSFBfRlJFRVRZUEVfRElSIC91c3IvbG9jYWwgL3VzcjsgZG8KKysgICAgICAgIGlmIHRlc3QgLWYgIiRpL2Jpbi9mcmVldHlwZS1jb25maWciOyB0aGVuCisrICAgICAgICAgIEZSRUVUWVBFMl9ESVI9JGkKKysgICAgICAgICAgRlJFRVRZUEUyX0NPTkZJRz0iJGkvYmluL2ZyZWV0eXBlLWNvbmZpZyIKKysgICAgICAgICAgYnJlYWsKKysgICAgICAgIGZpCisrICAgICAgZG9uZQorKworKyAgICAgIGlmIHRlc3QgLXogIiRGUkVFVFlQRTJfRElSIjsgdGhlbgorKyAgICAgICAgQUNfTVNHX0VSUk9SKFtmcmVldHlwZS1jb25maWcgbm90IGZvdW5kLl0pCisgICAgICAgZmkKKy0gICAgZG9uZQorIAorLSAgICBpZiB0ZXN0IC16ICIkRlJFRVRZUEUyX0RJUiI7IHRoZW4KKy0gICAgICBBQ19NU0dfRVJST1IoW2ZyZWV0eXBlLWNvbmZpZyBub3QgZm91bmQuXSkKKysgICAgICBGUkVFVFlQRTJfQ0ZMQUdTPWAkRlJFRVRZUEUyX0NPTkZJRyAtLWNmbGFnc2AKKysgICAgICBGUkVFVFlQRTJfTElCUz1gJEZSRUVUWVBFMl9DT05GSUcgLS1saWJzYAorICAgICBmaQorIAorLSAgICBGUkVFVFlQRTJfQ0ZMQUdTPWAkRlJFRVRZUEUyX0NPTkZJRyAtLWNmbGFnc2AKKy0gICAgRlJFRVRZUEUyX0xJQlM9YCRGUkVFVFlQRTJfQ09ORklHIC0tbGlic2AKKy0KKyAgICAgUEhQX0VWQUxfSU5DTElORSgkRlJFRVRZUEUyX0NGTEFHUykKKyAgICAgUEhQX0VWQUxfTElCTElORSgkRlJFRVRZUEUyX0xJQlMsIEdEX1NIQVJFRF9MSUJBREQpCisgICAgIEFDX0RFRklORShIQVZFX0xJQkZSRUVUWVBFLDEsWyBdKQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvMDA0OS1leHQtaW50bC1Vc2UtcGtnLWNvbmZpZy10by1kZXRlY3QtaWN1LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvMDA0OS1leHQtaW50bC1Vc2UtcGtnLWNvbmZpZy10by1kZXRlY3QtaWN1LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlYWRhMWYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC8wMDQ5LWV4dC1pbnRsLVVzZS1wa2ctY29uZmlnLXRvLWRldGVjdC1pY3UucGF0Y2gKQEAgLTAsMCArMSwxMTEgQEAKK0Zyb206IEh1Z2ggTWNNYXN0ZXIgPGh1Z2gubWNtYXN0ZXJAb3V0bG9vay5jb20+CitEYXRlOiBXZWQsIDUgRGVjIDIwMTggMjM6Mjc6MzAgKzExMDAKK1N1YmplY3Q6IGV4dC9pbnRsOiBVc2UgcGtnLWNvbmZpZyB0byBkZXRlY3QgaWN1CisKK1RoZSBkZXZlbG9wZXJzIG9mIGljdSByZWNvbW1lbmQgdXNpbmcgcGtnLWNvbmZpZyB0byBkZXRlY3QgaWN1LAorYmVjYXVzZSBpY3UtY29uZmlnIGlzIGRlcHJlY2F0ZWQuCistLS0KKyBhY2luY2x1ZGUubTQgICAgICAgfCA1NiArKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBleHQvaW50bC9jb25maWcubTQgfCAxNiArKysrKystLS0tLS0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCA1OSBkZWxldGlvbnMoLSkKKworLS0tIHBocDcuMy5vcmlnL2FjaW5jbHVkZS5tNAorKysrIHBocDcuMy9hY2luY2x1ZGUubTQKK0BAIC0yMTY4LDU4ICsyMTY4LDE2IEBAIGRubAorIGRubCBDb21tb24gc2V0dXAgbWFjcm8gZm9yIElDVQorIGRubAorIEFDX0RFRlVOKFtQSFBfU0VUVVBfSUNVXSxbCistICBQSFBfQVJHX1dJVEgoaWN1LWRpciwsCistICBbICAtLXdpdGgtaWN1LWRpcj1ESVIgICAgICBTcGVjaWZ5IHdoZXJlIElDVSBsaWJyYXJpZXMgYW5kIGhlYWRlcnMgY2FuIGJlIGZvdW5kXSwgREVGQVVMVCwgbm8pCisrICBQS0dfQ0hFQ0tfTU9EVUxFUyhbSUNVXSwgW2ljdS1pbyA+PSA1MC4xXSkKKyAKKy0gIGlmIHRlc3QgIiRQSFBfSUNVX0RJUiIgPSAibm8iOyB0aGVuCistICAgIFBIUF9JQ1VfRElSPURFRkFVTFQKKy0gIGZpCistCistICBpZiB0ZXN0ICIkUEhQX0lDVV9ESVIiID0gIkRFRkFVTFQiOyB0aGVuCistICAgIGRubCBUcnkgdG8gZmluZCBpY3UtY29uZmlnCistICAgIEFDX1BBVEhfUFJPRyhJQ1VfQ09ORklHLCBpY3UtY29uZmlnLCBubywgWyRQQVRIOi91c3IvbG9jYWwvYmluXSkKKy0gIGVsc2UKKy0gICAgSUNVX0NPTkZJRz0iJFBIUF9JQ1VfRElSL2Jpbi9pY3UtY29uZmlnIgorLSAgZmkKKy0KKy0gIEFDX01TR19DSEVDS0lORyhbZm9yIGxvY2F0aW9uIG9mIElDVSBoZWFkZXJzIGFuZCBsaWJyYXJpZXNdKQorLQorLSAgZG5sIFRydXN0IGljdS1jb25maWcgdG8ga25vdyBiZXR0ZXIgd2hhdCB0aGUgaW5zdGFsbCBwcmVmaXggaXMuLgorLSAgaWN1X2luc3RhbGxfcHJlZml4PWAkSUNVX0NPTkZJRyAtLXByZWZpeCAyPiAvZGV2L251bGxgCistICBpZiB0ZXN0ICIkPyIgIT0gIjAiIHx8IHRlc3QgLXogIiRpY3VfaW5zdGFsbF9wcmVmaXgiOyB0aGVuCistICAgIEFDX01TR19SRVNVTFQoW25vdCBmb3VuZF0pCistICAgIEFDX01TR19FUlJPUihbVW5hYmxlIHRvIGRldGVjdCBJQ1UgcHJlZml4IG9yICRJQ1VfQ09ORklHIGZhaWxlZC4gUGxlYXNlIHZlcmlmeSBJQ1UgaW5zdGFsbCBwcmVmaXggYW5kIG1ha2Ugc3VyZSBpY3UtY29uZmlnIHdvcmtzLl0pCistICBlbHNlCistICAgIEFDX01TR19SRVNVTFQoWyRpY3VfaW5zdGFsbF9wcmVmaXhdKQorLQorLSAgICBkbmwgQ2hlY2sgSUNVIHZlcnNpb24KKy0gICAgQUNfTVNHX0NIRUNLSU5HKFtmb3IgSUNVIDQuMCBvciBncmVhdGVyXSkKKy0gICAgaWN1X3ZlcnNpb25fZnVsbD1gJElDVV9DT05GSUcgLS12ZXJzaW9uYAorLSAgICBhY19JRlM9JElGUworLSAgICBJRlM9Ii4iCistICAgIHNldCAkaWN1X3ZlcnNpb25fZnVsbAorLSAgICBJRlM9JGFjX0lGUworLSAgICBpY3VfdmVyc2lvbj1gZXhwciBbJF0xIFwqIDEwMDAgKyBbJF0yYAorLSAgICBBQ19NU0dfUkVTVUxUKFtmb3VuZCAkaWN1X3ZlcnNpb25fZnVsbF0pCistCistICAgIGlmIHRlc3QgIiRpY3VfdmVyc2lvbiIgLWx0ICI0MDAwIjsgdGhlbgorLSAgICAgIEFDX01TR19FUlJPUihbSUNVIHZlcnNpb24gNC4wIG9yIGxhdGVyIGlzIHJlcXVpcmVkXSkKKy0gICAgZmkKKysgIFBIUF9FVkFMX0lOQ0xJTkUoJElDVV9DRkxBR1MpCisrICBQSFBfRVZBTF9MSUJMSU5FKCRJQ1VfTElCUywgJDEpCisgCistICAgIElDVV9WRVJTSU9OPSRpY3VfdmVyc2lvbgorLSAgICBJQ1VfSU5DUz1gJElDVV9DT05GSUcgLS1jcHBmbGFncy1zZWFyY2hwYXRoYAorLSAgICBJQ1VfTElCUz1gJElDVV9DT05GSUcgLS1sZGZsYWdzIC0tbGRmbGFncy1pY3Vpb2AKKy0gICAgUEhQX0VWQUxfSU5DTElORSgkSUNVX0lOQ1MpCistICAgIFBIUF9FVkFMX0xJQkxJTkUoJElDVV9MSUJTLCAkMSkKKysgIElDVV9DRkxBR1M9IiRJQ1VfQ0ZMQUdTIC1EVV9OT19ERUZBVUxUX0lOQ0xVREVfVVRGX0hFQURFUlM9MSIKKysgIElDVV9DWFhGTEFHUz0iJElDVV9DWFhGTEFHUyAtRFVOSVNUUl9GUk9NX0NIQVJfRVhQTElDSVQ9ZXhwbGljaXQgLURVTklTVFJfRlJPTV9TVFJJTkdfRVhQTElDSVQ9ZXhwbGljaXQiCisgCistICAgIElDVV9DWFhGTEFHUz1gJElDVV9DT05GSUcgLS1jeHhmbGFnc2AKKy0gICAgaWYgdGVzdCAiJGljdV92ZXJzaW9uIiAtZ2UgIjQ5MDAwIjsgdGhlbgorLSAgICAgIElDVV9DWFhGTEFHUz0iJElDVV9DWFhGTEFHUyAtRFVOSVNUUl9GUk9NX0NIQVJfRVhQTElDSVQ9ZXhwbGljaXQgLURVTklTVFJfRlJPTV9TVFJJTkdfRVhQTElDSVQ9ZXhwbGljaXQiCistICAgICAgSUNVX0NGTEFHUz0iLURVX05PX0RFRkFVTFRfSU5DTFVERV9VVEZfSEVBREVSUz0xIgorLSAgICBmaQorLSAgICBpZiB0ZXN0ICIkaWN1X3ZlcnNpb24iIC1nZSAiNjAwMDAiOyB0aGVuCistICAgICAgSUNVX0NGTEFHUz0iJElDVV9DRkxBR1MgLURVX0hJREVfT0JTT0xFVEVfVVRGX09MRF9IPTEiCistICAgIGZpCisrICBpZiAkUEtHX0NPTkZJRyBpY3UtaW8gLS1hdGxlYXN0LXZlcnNpb249NjA7IHRoZW4KKysgICAgSUNVX0NGTEFHUz0iJElDVV9DRkxBR1MgLURVX0hJREVfT0JTT0xFVEVfVVRGX09MRF9IPTEiCisgICBmaQorIF0pCisgCistLS0gcGhwNy4zLm9yaWcvZXh0L2ludGwvY29uZmlnLm00CisrKysgcGhwNy4zL2V4dC9pbnRsL2NvbmZpZy5tNAorQEAgLTksMTUgKzksNyBAQCBpZiB0ZXN0ICIkUEhQX0lOVEwiICE9ICJubyI7IHRoZW4KKyAgIFBIUF9TRVRVUF9JQ1UoSU5UTF9TSEFSRURfTElCQUREKQorICAgUEhQX1NVQlNUKElOVExfU0hBUkVEX0xJQkFERCkKKyAgIFBIUF9SRVFVSVJFX0NYWCgpCistICBJTlRMX0NPTU1PTl9GTEFHUz0iJElDVV9JTkNTICRJQ1VfQ0ZMQUdTIC1Xbm8td3JpdGUtc3RyaW5ncyAtRF9fU1REQ19MSU1JVF9NQUNST1MgLURaRU5EX0VOQUJMRV9TVEFUSUNfVFNSTUxTX0NBQ0hFPTEiCistICBpZiB0ZXN0ICIkaWN1X3ZlcnNpb24iIC1nZSAiNDAwMiI7IHRoZW4KKy0gICAgaWN1X3Nwb29mX3NyYz0iIHNwb29mY2hlY2tlci9zcG9vZmNoZWNrZXJfY2xhc3MuYyBcCistICAgIHNwb29mY2hlY2tlci9zcG9vZmNoZWNrZXIuY1wKKy0gICAgc3Bvb2ZjaGVja2VyL3Nwb29mY2hlY2tlcl9jcmVhdGUuY1wKKy0gICAgc3Bvb2ZjaGVja2VyL3Nwb29mY2hlY2tlcl9tYWluLmMiCistICBlbHNlCistICAgIGljdV9zcG9vZl9zcmM9IiIKKy0gIGZpCisrICBJTlRMX0NPTU1PTl9GTEFHUz0iJElDVV9DRkxBR1MgLVduby13cml0ZS1zdHJpbmdzIC1EX19TVERDX0xJTUlUX01BQ1JPUyAtRFpFTkRfRU5BQkxFX1NUQVRJQ19UU1JNTFNfQ0FDSEU9MSIKKyAgIFBIUF9ORVdfRVhURU5TSU9OKGludGwsIHBocF9pbnRsLmMgXAorICAgICBpbnRsX2Vycm9yLmMgXAorICAgICBpbnRsX2NvbnZlcnQuYyBcCitAQCAtNjgsNyArNjAsMTEgQEAgaWYgdGVzdCAiJFBIUF9JTlRMIiAhPSAibm8iOyB0aGVuCisgICAgIHRyYW5zbGl0ZXJhdG9yL3RyYW5zbGl0ZXJhdG9yX21ldGhvZHMuYyBcCisgICAgIHVjaGFyL3VjaGFyLmMgXAorICAgICBpZG4vaWRuLmMgXAorLSAgICAkaWN1X3Nwb29mX3NyYywgJGV4dF9zaGFyZWQsLCRJTlRMX0NPTU1PTl9GTEFHUyxjeHgpCisrICAgIHNwb29mY2hlY2tlci9zcG9vZmNoZWNrZXJfY2xhc3MuYyBcCisrICAgIHNwb29mY2hlY2tlci9zcG9vZmNoZWNrZXIuY1wKKysgICAgc3Bvb2ZjaGVja2VyL3Nwb29mY2hlY2tlcl9jcmVhdGUuY1wKKysgICAgc3Bvb2ZjaGVja2VyL3Nwb29mY2hlY2tlcl9tYWluLmMgXAorKyAgICAsICRleHRfc2hhcmVkLCwkSU5UTF9DT01NT05fRkxBR1MsY3h4KQorIAorICAgUEhQX0lOVExfQ1hYX1NPVVJDRVM9ImludGxfY29udmVydGNwcC5jcHAgXAorICAgICBjb21tb24vY29tbW9uX2VudW0uY3BwIFwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL0NWRS0yMDE3LTkxMjAucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC9DVkUtMjAxNy05MTIwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MjhmMjViLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL0NWRS0yMDE3LTkxMjAucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi1waHA6IHBhdGNoIGZvciBDVkUtMjAxNy05MTIwCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vYnVncy5waHAubmV0L2J1Zy5waHA/aWQ9NzQ1NDRdCi0KLUNWRTogQ1ZFLTIwMTctOTEyMAotCi1TaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgotCi1kaWZmIC0tZ2l0IGEvZXh0L215c3FsaS9teXNxbGlfYXBpLmMgYi9leHQvbXlzcWxpL215c3FsaV9hcGkuYwotaW5kZXggMDNhMzlkNy4uN2I4ODczMSAxMDA2NDQKLS0tLSBhL2V4dC9teXNxbGkvbXlzcWxpX2FwaS5jCi0rKysgYi9leHQvbXlzcWxpL215c3FsaV9hcGkuYwotQEAgLTE5NjUsNyArMTk2NSw3IEBAIFBIUF9GVU5DVElPTihteXNxbGlfcmVhbF9lc2NhcGVfc3RyaW5nKSB7Ci0gCX0KLSAJTVlTUUxJX0ZFVENIX1JFU09VUkNFX0NPTk4obXlzcWwsIG15c3FsX2xpbmssIE1ZU1FMSV9TVEFUVVNfVkFMSUQpOwotIAotLQluZXdzdHIgPSB6ZW5kX3N0cmluZ19hbGxvYygyICogZXNjYXBlc3RyX2xlbiwgMCk7Ci0rCW5ld3N0ciA9IHplbmRfc3RyaW5nX3NhZmVfYWxsb2MoMiwgZXNjYXBlc3RyX2xlbiwgMCwgMCk7Ci0gCVpTVFJfTEVOKG5ld3N0cikgPSBteXNxbF9yZWFsX2VzY2FwZV9zdHJpbmcobXlzcWwtPm15c3FsLCBaU1RSX1ZBTChuZXdzdHIpLCBlc2NhcGVzdHIsIGVzY2FwZXN0cl9sZW4pOwotIAluZXdzdHIgPSB6ZW5kX3N0cmluZ190cnVuY2F0ZShuZXdzdHIsIFpTVFJfTEVOKG5ld3N0ciksIDApOwotIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvY2hhbmdlLUFDX1RSWV9SVU4tdG8tQUNfVFJZX0xJTksucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC9jaGFuZ2UtQUNfVFJZX1JVTi10by1BQ19UUllfTElOSy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2U5MDE4NC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC9jaGFuZ2UtQUNfVFJZX1JVTi10by1BQ19UUllfTElOSy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDYxICswLDAgQEAKLUZyb20gM2JmY2M3ZmRkMjIyNjFlYWVkMTA5NDk3MTRkZTBhOTBkMzFlMTBhYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJveSBMaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KLURhdGU6IFRodSwgMjAgQXVnIDIwMTUgMTY6Mjk6MzUgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gW1BBVENIXSBjb25maWcubTQ6IGNoYW5nZSBBQ19UUllfUlVOIHRvIEFDX1RSWV9MSU5LCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1BQ19UUllfUlVOIGlzIG5vdCBzdWl0YWJsZSBmb3IgY3Jvc3MtY29tcGlsZQotCi1TaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci0KLSUlIG9yaWdpbmFsIHBhdGNoOiBjaGFuZ2UtQUNfVFJZX1JVTi10by1BQ19UUllfTElOSy5wYXRjaAotLS0tCi0gZXh0L2ZpbGVpbmZvL2NvbmZpZy5tNCB8IDMxICsrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2V4dC9maWxlaW5mby9jb25maWcubTQgYi9leHQvZmlsZWluZm8vY29uZmlnLm00Ci1pbmRleCA1MjNiNGZkLi4wYWFhNGM4IDEwMDY0NAotLS0tIGEvZXh0L2ZpbGVpbmZvL2NvbmZpZy5tNAotKysrIGIvZXh0L2ZpbGVpbmZvL2NvbmZpZy5tNAotQEAgLTE0LDMxICsxNCwxMiBAQCBpZiB0ZXN0ICIkUEhQX0ZJTEVJTkZPIiAhPSAibm8iOyB0aGVuCi0gICAgIGxpYm1hZ2ljL3JlYWRjZGYuYyBsaWJtYWdpYy9zb2Z0bWFnaWMuYyBsaWJtYWdpYy9kZXIuYyIKLSAKLSAgIEFDX01TR19DSEVDS0lORyhbZm9yIHN0cmNhc2VzdHJdKQotLSAgQUNfVFJZX1JVTihbCi0tI2luY2x1ZGUgPHN0cmluZy5oPgotLSNpbmNsdWRlIDxzdHJpbmdzLmg+Ci0tI2luY2x1ZGUgPHN0ZGxpYi5oPgotLQotLWludCBtYWluKHZvaWQpCi0tewotLSAgICAgICAgY2hhciAqczAsICpzMSwgKnJldDsKLS0KLS0gICAgICAgIHMwID0gKGNoYXIgKikgbWFsbG9jKDQyKTsKLS0gICAgICAgIHMxID0gKGNoYXIgKikgbWFsbG9jKDgpOwotLQotLSAgICAgICAgbWVtc2V0KHMwLCAnWCcsIDQyKTsKLS0gICAgICAgIHMwWzI0XSA9ICdZJzsKLS0gICAgICAgIHMwWzI2XSA9ICdaJzsKLS0gICAgICAgIHMwWzQxXSA9ICdcMCc7Ci0tICAgICAgICBtZW1zZXQoczEsICd4JywgOCk7Ci0tICAgICAgICBzMVswXSA9ICd5JzsKLS0gICAgICAgIHMxWzJdID0gJ1onOwotLSAgICAgICAgczFbN10gPSAnXDAnOwotLQotLSAgICAgICAgcmV0ID0gc3RyY2FzZXN0cihzMCwgczEpOwotLQotLSAgICAgICAgcmV0dXJuICEoTlVMTCAhPSByZXQpOwotLX0KLSsgIEFDX1RSWV9DT01QSUxFKFsKLSsgICAgICNpbmNsdWRlIDxzdHJpbmcuaD4KLSsgICAgICNpbmNsdWRlIDxzdHJpbmdzLmg+Ci0rICAgICAjaW5jbHVkZSA8c3RkbGliLmg+Ci0rICBdLFsKLSsgICAgIHN0cmNhc2VzdHIoTlVMTCwgTlVMTCk7Ci0gICBdLFsKLSAgICAgZG5sIHVzaW5nIHRoZSBwbGF0Zm9ybSBpbXBsZW1lbnRhdGlvbgotICAgICBBQ19NU0dfUkVTVUxUKHllcykKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvcGhwNS0wMDAxLWFjaW5jbHVkZS5tNC1kb24tdC11bnNldC1jYWNoZS12YXJpYWJsZXMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC9waHA1LTAwMDEtYWNpbmNsdWRlLm00LWRvbi10LXVuc2V0LWNhY2hlLXZhcmlhYmxlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MmFkNTU0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvcGhwNS0wMDAxLWFjaW5jbHVkZS5tNC1kb24tdC11bnNldC1jYWNoZS12YXJpYWJsZXMucGF0Y2gKQEAgLTAsMCArMSw0MiBAQAorRnJvbSAxZmI1YTNiM2U2YzljZjAwMDJmZjc2OTg4ZGU3MmYwMTFiNjQyMDA1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgMTIgRmViIDIwMTkgMTY6MjU6MzcgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gYWNpbmNsdWRlLm00OiBkb24ndCB1bnNldCBjYWNoZSB2YXJpYWJsZXMKKworVW5zZXR0aW5nIHByZXZlbnRzIGNhY2hlIHZhcmlhYmxlIGZyb20gYmVpbmcgcGFzc2VkIHRvIGNvbmZpZ3VyZS4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRS1zcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4KKwordXBkYXRlIHBhdGNoIHRvIHZlcnNpb24gNS42LjQwCitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgYWNpbmNsdWRlLm00IHwgNCAtLS0tCisgMSBmaWxlIGNoYW5nZWQsIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9hY2luY2x1ZGUubTQgYi9hY2luY2x1ZGUubTQKK2luZGV4IGIxODhlZWUuLmVkMzJmYzUgMTAwNjQ0CistLS0gYS9hY2luY2x1ZGUubTQKKysrKyBiL2FjaW5jbHVkZS5tNAorQEAgLTE4OTcsOCArMTg5Nyw2IEBAIGRlZmluZShbcGhwc2hpZnRdLFtpZmVsc2UoaW5kZXgoWyRAXSxbLF0pLC0xLCxbc3Vic3RyKFskQF0saW5jcihpbmRleChbJEBdLFssXSkpCisgZG5sCisgQUNfREVGVU4oW1BIUF9DSEVDS19GVU5DX0xJQl0sWworICAgaWZlbHNlKCQyLCw6LFsKKy0gIHVuc2V0IGFjX2N2X2xpYl8kMltdXyQxCistICB1bnNldCBhY19jdl9saWJfJDJbXV9fXyQxCisgICB1bnNldCBmb3VuZAorICAgQUNfQ0hFQ0tfTElCKCQyLCAkMSwgW2ZvdW5kPXllc10sIFsKKyAgICAgQUNfQ0hFQ0tfTElCKCQyLCBfXyQxLCBbZm91bmQ9eWVzXSwgW2ZvdW5kPW5vXSkKK0BAIC0xOTMwLDggKzE5MjgsNiBAQCBkbmwgaW4gdGhlIGRlZmF1bHQgbGlicmFyaWVzIGFuZCBhcyBhIGZhbGwgYmFjayBpbiB0aGUgc3BlY2lmaWVkIGxpYnJhcnkuCisgZG5sIERlZmluZXMgSEFWRV9mdW5jIGFuZCBIQVZFX2xpYnJhcnkgaWYgZm91bmQgYW5kIGFkZHMgdGhlIGxpYnJhcnkgdG8gTElCUy4KKyBkbmwKKyBBQ19ERUZVTihbUEhQX0NIRUNLX0ZVTkNdLFsKKy0gIHVuc2V0IGFjX2N2X2Z1bmNfJDEKKy0gIHVuc2V0IGFjX2N2X2Z1bmNfX18kMQorICAgdW5zZXQgZm91bmQKKyAgIAorICAgQUNfQ0hFQ0tfRlVOQygkMSwgW2ZvdW5kPXllc10sWyBBQ19DSEVDS19GVU5DKF9fJDEsW2ZvdW5kPXllc10sW2ZvdW5kPW5vXSkgXSkKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHBfNS42LjM4LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHBfNS42LjM4LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNmY1MTQ1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwXzUuNi4zOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLXJlcXVpcmUgcGhwLmluYwotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1iNjAyNjM2ZDQ2YTYxYzBhYzA0MzJiYmY1YzA3OGZlNCIKLQotU1JDX1VSSSArPSAiZmlsZTovL3BocDUtY2hhbmdlLUFDX1RSWV9SVU4tdG8tQUNfVFJZX0xJTksucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL3B0aHJlYWQtY2hlY2stdGhyZWFkcy1tNC5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1BZGQtbHB0aHJlYWQtdG8tbGluay5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vYWNpbmNsdWRlLXhtbDItY29uZmlnLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWFjaW5jbHVkZS11c2UtcGtnY29uZmlnLWZvci1saWJ4bWwyLWNvbmZpZy5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1QSFAtNS42LUxpYlNTTC0xLjEtY29tcGF0aWJpbGl0eS5wYXRjaCBcCi0gICAgICAgICAgICAiCi0KLVNSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcGhwNS1wZWFyLW1ha2VmaWxlLnBhdGNoIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTovL3BocDUtcGhhci1tYWtlZmlsZS5wYXRjaCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9waHA1LTAwMDEtb3BjYWNoZS1jb25maWcubTQtZW5hYmxlLW9wY2FjaGUucGF0Y2ggXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI1Yjk4YWEwNjY1NjdlY2E4ZTU3MzhiOGVmNGEzNTQ1YyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJkNjViMjMxYmJkZDYzYmU0NDM5ZWY1Y2VkOTY1Y2ZkNjNlNjI5ODM0MjlkYmQ0ZGZjZmI0OTk4MTU5M2ViYzAzIgotCi1ERVBFTkRTICs9ICJsaWJtY3J5cHQiCi1FWFRSQV9PRUNPTkYgKz0gIi0td2l0aC1tY3J5cHQ9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtleGVjX3ByZWZpeH0gXAotICAgICAgICAgICAgICAgICAiIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHBfNS42LjQwLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHBfNS42LjQwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmNWJhYzcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocF81LjYuNDAuYmIKQEAgLTAsMCArMSwyNSBAQAorcmVxdWlyZSBwaHAuaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWI2MDI2MzZkNDZhNjFjMGFjMDQzMmJiZjVjMDc4ZmU0IgorCitTUkNfVVJJICs9ICJmaWxlOi8vcGhwNS1jaGFuZ2UtQUNfVFJZX1JVTi10by1BQ19UUllfTElOSy5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vcHRocmVhZC1jaGVjay10aHJlYWRzLW00LnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAxLUFkZC1scHRocmVhZC10by1saW5rLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9hY2luY2x1ZGUteG1sMi1jb25maWcucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtYWNpbmNsdWRlLXVzZS1wa2djb25maWctZm9yLWxpYnhtbDItY29uZmlnLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAxLVBIUC01LjYtTGliU1NMLTEuMS1jb21wYXRpYmlsaXR5LnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9waHA1LTAwMDEtYWNpbmNsdWRlLm00LWRvbi10LXVuc2V0LWNhY2hlLXZhcmlhYmxlcy5wYXRjaCBcCisgICAgICAgICAgICAiCisKK1NSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcGhwNS1wZWFyLW1ha2VmaWxlLnBhdGNoIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTovL3BocDUtcGhhci1tYWtlZmlsZS5wYXRjaCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9waHA1LTAwMDEtb3BjYWNoZS1jb25maWcubTQtZW5hYmxlLW9wY2FjaGUucGF0Y2ggXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0NDYzMzYwNGQyZmVjZTFmNTNmNTA4YmMxNjc1MWI3NCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmZmQwMjVkMzQ2MjM1NTNhYjJmN2ZkOGZiMjFkMGM5ZTZmOWZhMzBkYzU2NWNhMDNhMWQ3Yjc2MzAyM2ZiYTAwIgorCitERVBFTkRTICs9ICJsaWJtY3J5cHQiCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aC1tY3J5cHQ9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtleGVjX3ByZWZpeH0gXAorICAgICAgICAgICAgICAgICAiIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHBfNy4yLjEwLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHBfNy4yLjEwLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZGM2NGJiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwXzcuMi4xMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLXJlcXVpcmUgcGhwLmluYwotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT02N2UzNjliYzhkMWYyZTY0MTIzNmI4MDAyMDM5YTZhMiIKLQotU1JDX1VSSSArPSAiZmlsZTovL2NoYW5nZS1BQ19UUllfUlVOLXRvLUFDX1RSWV9MSU5LLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWFjaW5jbHVkZS5tNC1za2lwLWJpbmNvbmZpZy1jaGVjay1mb3ItbGlieG1sLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWZpeC1lcnJvci1jYXVzZWQtYnktYS1uZXctdmFyaWFibGUtaXMtZGVjbGFyZWQtYWZ0ZXIucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL0NWRS0yMDE3LTkxMjAucGF0Y2ggXAotICAgICAgICAgICAiCi1TUkNfVVJJX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTovL3BlYXItbWFrZWZpbGUucGF0Y2ggXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcGhhci1tYWtlZmlsZS5wYXRjaCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly8wMDAxLW9wY2FjaGUtY29uZmlnLm00LWVuYWJsZS1vcGNhY2hlLnBhdGNoIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMGNlOGZmNjE1YmZiOWRlN2E4OWJhYjhkNzQyYzExYzAiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDFiNjEyOWEwOTIxYTE2MzZiMDdkYTliYzU5OGE4NzY2NjllNDVhNDYyY2VmNGI1ODQ0ZmMyNjg2MmRiZGE5ZCIKLQotUEFDS0FHRUNPTkZJR1tteXNxbF0gPSAiLS13aXRoLW15c3FsaT0ke1NUQUdJTkdfQklORElSX0NST1NTfS9teXNxbF9jb25maWcgXAotICAgICAgICAgICAgICAgICAgICAgICAgLS13aXRoLXBkby1teXNxbD0ke1NUQUdJTkdfQklORElSX0NST1NTfS9teXNxbF9jb25maWcgXAotICAgICAgICAgICAgICAgICAgICAgICAgLC0td2l0aG91dC1teXNxbGkgLS13aXRob3V0LXBkby1teXNxbCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAsbXlzcWw1IgotUEFDS0FHRUNPTkZJR1t2YWxncmluZF0gPSAiLS13aXRoLXZhbGdyaW5kPSR7U1RBR0lOR19ESVJfVEFSR0VUfS91c3IsLS13aXRoLXZhbGdyaW5kPW5vLHZhbGdyaW5kIgotCi1GSUxFU18ke1BOfS1mcG0gKz0gIiR7c3lzY29uZmRpcn0vcGhwLWZwbS5kL3d3dy5jb25mLmRlZmF1bHQiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocF83LjMuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwXzcuMy4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzNGZhY2QKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocF83LjMuMi5iYgpAQCAtMCwwICsxLDI1IEBACityZXF1aXJlIHBocC5pbmMKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZmIwN2JmYzUxZjZkNWUwYzMwYjY1ZDk3MDEyMzNiMmUiCisKK1NSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLWFjaW5jbHVkZS5tNC1kb24tdC11bnNldC1jYWNoZS12YXJpYWJsZXMucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwNDgtVXNlLXBrZy1jb25maWctZm9yLUZyZWVUeXBlMi1kZXRlY3Rpb24ucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwNDktZXh0LWludGwtVXNlLXBrZy1jb25maWctdG8tZGV0ZWN0LWljdS5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwMS1Vc2UtcGtnLWNvbmZpZy1mb3ItbGlieG1sMi1kZXRlY3Rpb24ucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTovL3BlYXItbWFrZWZpbGUucGF0Y2ggXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcGhhci1tYWtlZmlsZS5wYXRjaCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly8wMDAxLW9wY2FjaGUtY29uZmlnLm00LWVuYWJsZS1vcGNhY2hlLnBhdGNoIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYzg5M2ZmODI4OTQ1YzI3NGQ5MGUwMjY1MjgxNDI0MzkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTQ2ZjUwZGFjYmQyZjYxZTY0M2JiNzM3MDIxY2JlOGIxODE2ZTc4MGVlN2FkM2UwY2Q5OTlhMTg5MmFiMGFkZCIKKworUEFDS0FHRUNPTkZJR1tteXNxbF0gPSAiLS13aXRoLW15c3FsaT1teXNxbG5kIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIC0td2l0aC1wZG8tbXlzcWw9bXlzcWxuZCBcCisgICAgICAgICAgICAgICAgICAgICAgICAsLS13aXRob3V0LW15c3FsaSAtLXdpdGhvdXQtcGRvLW15c3FsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICxteXNxbDUiCitQQUNLQUdFQ09ORklHW3ZhbGdyaW5kXSA9ICItLXdpdGgtdmFsZ3JpbmQ9JHtTVEFHSU5HX0RJUl9UQVJHRVR9L3VzciwtLXdpdGgtdmFsZ3JpbmQ9bm8sdmFsZ3JpbmQiCisKK0ZJTEVTXyR7UE59LWZwbSArPSAiJHtzeXNjb25mZGlyfS9waHAtZnBtLmQvd3d3LmNvbmYuZGVmYXVsdCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wcm90b2J1Zi9wcm90b2J1Zi9ydW4tcHRlc3QgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcHJvdG9idWYvcHJvdG9idWYvcnVuLXB0ZXN0CmluZGV4IDdjM2E4ZDEuLmIzYjIyNzggMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wcm90b2J1Zi9wcm90b2J1Zi9ydW4tcHRlc3QKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3Byb3RvYnVmL3Byb3RvYnVmL3J1bi1wdGVzdApAQCAtOCw3ICs4LDcgQEAKIAlpZiBbIC14ICIke3dyaXRlX2V4ZV9mdWxsX3BhdGh9IiBdOyB0aGVuCiAJCXdyaXRlX2V4ZT1gYmFzZW5hbWUgJHt3cml0ZV9leGVfZnVsbF9wYXRofWAKIAkJZWNobyAiR2VuZXJhdGluZyBuZXcgdGVzdCBmaWxlIHVzaW5nICR7d3JpdGVfZXhlfS4uLiIKLQkJJHt3cml0ZV9leGVfZnVsbF9wYXRofSAiJHtURVNUX0ZJTEV9IgorICAgIHByaW50ZiAiMTIzNFxubmFtZVxubmFtZUBleGFtcGxlLmNvbVxuIiB8ICR7d3JpdGVfZXhlX2Z1bGxfcGF0aH0gIiR7VEVTVF9GSUxFfSIKIAkJUkVUVkFMPSQ/CiAJCVsgJFJFVFZBTCAtZXEgMCBdIHx8IGV4aXQgJFJFVFZBTAogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcmFwaWRqc29uL3JhcGlkanNvbi8wMDAxLUNNYWtlLXJlbW92ZS1oYXJkY29kZWQtQ01BS0VDT05GSUdfSU5TVEFMTF9ESVItcGF0aC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9yYXBpZGpzb24vcmFwaWRqc29uLzAwMDEtQ01ha2UtcmVtb3ZlLWhhcmRjb2RlZC1DTUFLRUNPTkZJR19JTlNUQUxMX0RJUi1wYXRoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0NWY1ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcmFwaWRqc29uL3JhcGlkanNvbi8wMDAxLUNNYWtlLXJlbW92ZS1oYXJkY29kZWQtQ01BS0VDT05GSUdfSU5TVEFMTF9ESVItcGF0aC5wYXRjaApAQCAtMCwwICsxLDM2IEBACitGcm9tIDhkMjcyZTUzYTRkMWRjNDA1ZTA4Y2UyZGQ1MDE1OWM1OGY0NDUxZTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSdXNsYW4gQmlsb3ZvbCA8cmJpbG92b2xAY2lzY28uY29tPgorRGF0ZTogVGh1LCAyNCBKYW4gMjAxOSAxODoxMTozOSArMDIwMAorU3ViamVjdDogW1BBVENIXSBDTWFrZTogcmVtb3ZlIGhhcmRjb2RlZCBDTUFLRUNPTkZJR19JTlNUQUxMX0RJUiBwYXRoCisKK0N1cnJlbnRseSB0aGlzIHBhdGggaXMgaGFyZGNvZGVkIHRvIGxpYi9jbWFrZS4KK1NvbWUgZGlzdHJpYnV0aW9ucyBoYXZlIGRpZmZlcmVudCBsaWJyYXJ5IHBhdGggKGxpa2UgbGliNjQpLgorU28gcmV1c2UgTElCX0lOU1RBTExfRElSIGZvciB0aGF0IHRvIG1ha2UgQ01BS0VDT05GSUdfSU5TVEFMTF9ESVIKK2NvbmZpZ3VyYWJsZSBhbmQgdXNhYmxlIGluIHN1Y2ggZGlzdHJvcy4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXRodWIuY29tL1RlbmNlbnQvcmFwaWRqc29uL2NvbW1pdC84ZDI3MmU1M2E0ZDFkYzQwNWUwOGNlMmRkNTAxNTljNThmNDQ1MWU5XQorCitTaWduZWQtb2ZmLWJ5OiBSdXNsYW4gQmlsb3ZvbCA8cmJpbG92b2xAY2lzY28uY29tPgorLS0tCisgQ01ha2VMaXN0cy50eHQgfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAoraW5kZXggN2M2MDQwNy4uMDI3NTY3MiAxMDA2NDQKKy0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTE5OSw5ICsxOTksOSBAQCBDT05GSUdVUkVfRklMRSgke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vJHtQUk9KRUNUX05BTUV9Q29uZmlnVmVyc2lvbi5jbWFrZS5pbgorICAgICAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vJHtQUk9KRUNUX05BTUV9Q29uZmlnVmVyc2lvbi5jbWFrZSBAT05MWSkKKyAKKyAjIC4uLiBmb3IgdGhlIGluc3RhbGwgdHJlZQorLVNFVCggQ01BS0VDT05GSUdfSU5TVEFMTF9ESVIgbGliL2NtYWtlLyR7UFJPSkVDVF9OQU1FfSApCisrU0VUKCBDTUFLRUNPTkZJR19JTlNUQUxMX0RJUiAke0xJQl9JTlNUQUxMX0RJUn0vY21ha2UvJHtQUk9KRUNUX05BTUV9ICkKKyBGSUxFKCBSRUxBVElWRV9QQVRIIFJFTF9JTkNMVURFX0RJUgorLSAgICAiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vJHtDTUFLRUNPTkZJR19JTlNUQUxMX0RJUn0iCisrICAgICIke0NNQUtFQ09ORklHX0lOU1RBTExfRElSfSIKKyAgICAgIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9L2luY2x1ZGUiICkKKyAKKyBTRVQoICR7UFJPSkVDVF9OQU1FfV9JTkNMVURFX0RJUiAiXCR7JHtQUk9KRUNUX05BTUV9X0NNQUtFX0RJUn0vJHtSRUxfSU5DTFVERV9ESVJ9IiApCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9yYXBpZGpzb24vcmFwaWRqc29uX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9yYXBpZGpzb24vcmFwaWRqc29uX2dpdC5iYgppbmRleCBjOTBlYWIwLi5lM2VkOWM2IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcmFwaWRqc29uL3JhcGlkanNvbl9naXQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3JhcGlkanNvbi9yYXBpZGpzb25fZ2l0LmJiCkBAIC00LDcgKzQsOCBAQAogTElDRU5TRSA9ICJNSVQiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9saWNlbnNlLnR4dDttZDU9YmEwNGFhOGY2NWRlMTM5NmE3ZTU5ZDFkNzQ2YzIxMjUiCiAKLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9taWxveWlwL3JhcGlkanNvbi5naXQ7bm9icmFuY2g9MSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9taWxveWlwL3JhcGlkanNvbi5naXQ7bm9icmFuY2g9MSBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUNNYWtlLXJlbW92ZS1oYXJkY29kZWQtQ01BS0VDT05GSUdfSU5TVEFMTF9ESVItcGF0aC5wYXRjaCIKIAogU1JDUkVWID0gIjZhOTA1ZjkzMTFmODJkMzA2ZGE3N2JkOTYzZWM1YWE1ZGEwN2RhOWMiCiAKQEAgLTE0LDcgKzE1LDcgQEAKIAogaW5oZXJpdCBjbWFrZQogCi1FWFRSQV9PRUNNQUtFICs9ICItRFJBUElESlNPTl9CVUlMRF9ET0M9T0ZGIC1EUkFQSURKU09OX0JVSUxEX1RFU1RTPU9GRiAtRFJBUElESlNPTl9CVUlMRF9FWEFNUExFUz1PRkYiCitFWFRSQV9PRUNNQUtFICs9ICItRFJBUElESlNPTl9CVUlMRF9ET0M9T0ZGIC1EUkFQSURKU09OX0JVSUxEX1RFU1RTPU9GRiAtRFJBUElESlNPTl9CVUlMRF9FWEFNUExFUz1PRkYgLURMSUJfSU5TVEFMTF9ESVI6U1RSSU5HPSR7bGliZGlyfSIKIAogIyBSYXBpZEpTT04gaXMgYSBoZWFkZXItb25seSBDKysgbGlicmFyeSwgc28gdGhlIG1haW4gcGFja2FnZSB3aWxsIGJlIGVtcHR5LgogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGsvY29uZnNlYXJjaC5kaWZmIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RrL2NvbmZzZWFyY2guZGlmZgppbmRleCA0ZGJkOWE0Li44Y2MwN2JjIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGsvY29uZnNlYXJjaC5kaWZmCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90ay9jb25mc2VhcmNoLmRpZmYKQEAgLTEsMzUgKzEsNDYgQEAKK0Zyb20gNTUzOTQ0MmU1ZjU0NDI2MDYwNzFhZmM1Y2YwMjY0MjMxNGFkMTNiYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CitEYXRlOiBXZWQsIDE3IEF1ZyAyMDExIDIyOjUyOjM1ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIHRrIDguNS44OiBpbXBvcnQgZnJvbSBPRSByZXYKKwogUGF0Y2ggYnkgU2VyZ2VpIEdvbG92YW4gYWxsb3dzIHRvIGZpbmQgdGNsQ29uZmlnLnNoIGluIC91c3Ivc2hhcmUvdGNsdGsvdGNsOC41CiBhbmQgdGtDb25maWcuc2ggaW4gL3Vzci9zaGFyZS90Y2x0ay90azguNSB3aGVyZSB0aGV5IGFyZSBsb2NhdGVkIGluIERlYmlhbgogaW5zdGFsbGF0aW9uLgogCi0tLS0gdGs4LjUtOC41Ljgub3JpZy91bml4L2NvbmZpZ3VyZQotKysrIHRrOC41LTguNS44L3VuaXgvY29uZmlndXJlCi1AQCAtMTQzMSw3ICsxNDMxLDggQEAKLSAJCQlgbHMgLWQgL3Vzci9jb250cmliL2xpYiAyPi9kZXYvbnVsbGAgXAorLS0tCisgdW5peC9jb25maWd1cmUgfCAxICsKKyB1bml4L3RjbC5tNCAgICB8IDIgKysKKyAyIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQorCitJbmRleDogYS91bml4L2NvbmZpZ3VyZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvdW5peC9jb25maWd1cmUub3JpZworKysrIGIvdW5peC9jb25maWd1cmUKK0BAIC0xNDMyLDYgKzE0MzIsNyBAQCBlY2hvICIkYXNfbWU6IGVycm9yOiAke3dpdGhfdGNsY29uZmlnfSBkCiAgCQkJYGxzIC1kIC91c3IvbG9jYWwvbGliIDI+L2Rldi9udWxsYCBcCisgCQkJYGxzIC1kIC91c3IvY29udHJpYi9saWIgMj4vZGV2L251bGxgIFwKICAJCQlgbHMgLWQgL3Vzci9wa2cvbGliIDI+L2Rldi9udWxsYCBcCi0rCQkJYGxzIC1kIC91c3Ivc2hhcmUvdGNsdGsvdGNsOC41IDI+L2Rldi9udWxsYCBcCisrCQkJYGxzIC1kIC91c3Ivc2hhcmUvdGNsdGsvdGNsOC42IDI+L2Rldi9udWxsYCBcCiAgCQkJYGxzIC1kIC91c3IvbGliIDI+L2Rldi9udWxsYCBcCiAgCQkJYGxzIC1kIC91c3IvbGliNjQgMj4vZGV2L251bGxgIFwKLSAJCQk7IGRvCi0gCQkgICAgaWYgdGVzdCAtZiAiJGkvdGNsQ29uZmlnLnNoIiA7IHRoZW4KLS0tLSB0azguNS04LjUuOC5vcmlnL3VuaXgvdGNsLm00Ci0rKysgdGs4LjUtOC41LjgvdW5peC90Y2wubTQKLUBAIC05Myw3ICs5Myw4IEBACi0gCQkJYGxzIC1kIC91c3IvY29udHJpYi9saWIgMj4vZGV2L251bGxgIFwKKyAJCQlgbHMgLWQgL3Vzci9sb2NhbC9saWIvdGNsOC42IDI+L2Rldi9udWxsYCBcCitJbmRleDogYS91bml4L3RjbC5tNAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvdW5peC90Y2wubTQub3JpZworKysrIGIvdW5peC90Y2wubTQKK0BAIC05NCw2ICs5NCw3IEBAIEFDX0RFRlVOKFtTQ19QQVRIX1RDTENPTkZJR10sIFsKICAJCQlgbHMgLWQgL3Vzci9sb2NhbC9saWIgMj4vZGV2L251bGxgIFwKKyAJCQlgbHMgLWQgL3Vzci9jb250cmliL2xpYiAyPi9kZXYvbnVsbGAgXAogIAkJCWBscyAtZCAvdXNyL3BrZy9saWIgMj4vZGV2L251bGxgIFwKLSsJCQlgbHMgLWQgL3Vzci9zaGFyZS90Y2x0ay90Y2w4LjUgMj4vZGV2L251bGxgIFwKKysJCQlgbHMgLWQgL3Vzci9zaGFyZS90Y2x0ay90Y2w4LjYgMj4vZGV2L251bGxgIFwKICAJCQlgbHMgLWQgL3Vzci9saWIgMj4vZGV2L251bGxgIFwKICAJCQlgbHMgLWQgL3Vzci9saWI2NCAyPi9kZXYvbnVsbGAgXAotIAkJCTsgZG8KLSAJCSAgICBpZiB0ZXN0IC1mICIkaS90Y2xDb25maWcuc2giIDsgdGhlbgotQEAgLTIyMyw3ICsyMjQsOCBAQAotIAkJCWBscyAtZCAke3ByZWZpeH0vbGliIDI+L2Rldi9udWxsYCBcCisgCQkJYGxzIC1kIC91c3IvbG9jYWwvbGliL3RjbDguNiAyPi9kZXYvbnVsbGAgXAorQEAgLTIyNyw2ICsyMjgsNyBAQCBBQ19ERUZVTihbU0NfUEFUSF9US0NPTkZJR10sIFsKICAJCQlgbHMgLWQgL3Vzci9sb2NhbC9saWIgMj4vZGV2L251bGxgIFwKICAJCQlgbHMgLWQgL3Vzci9jb250cmliL2xpYiAyPi9kZXYvbnVsbGAgXAotKwkJCWBscyAtZCAvdXNyL3NoYXJlL3RjbHRrL3RrOC41IDI+L2Rldi9udWxsYCBcCisgCQkJYGxzIC1kIC91c3IvcGtnL2xpYiAyPi9kZXYvbnVsbGAgXAorKwkJCWBscyAtZCAvdXNyL3NoYXJlL3RjbHRrL3RrOC42IDI+L2Rldi9udWxsYCBcCiAgCQkJYGxzIC1kIC91c3IvbGliIDI+L2Rldi9udWxsYCBcCiAgCQkJYGxzIC1kIC91c3IvbGliNjQgMj4vZGV2L251bGxgIFwKLSAJCQk7IGRvCi0gCQkgICAgaWYgdGVzdCAtZiAiJGkvdGtDb25maWcuc2giIDsgdGhlbgorIAkJCWBscyAtZCAvdXNyL2xvY2FsL2xpYi90azguNiAyPi9kZXYvbnVsbGAgXApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RrXzguNi44LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RrXzguNi44LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZTM4NTI1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90a184LjYuOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDcxICswLDAgQEAKLVNVTU1BUlkgPSAiVG9vbCBDb21tYW5kIExhbmd1YWdlIFRvb2xLaXQgRXh0ZW5zaW9uIgotSE9NRVBBR0UgPSAiaHR0cDovL3RjbC5zb3VyY2Vmb3JnZS5uZXQiCi1TRUNUSU9OID0gImRldmVsL3RjbHRrIgotCi0jIGh0dHA6Ly93d3cudGNsLnRrL3NvZnR3YXJlL3RjbHRrL2xpY2Vuc2UuaHRtbAotTElDRU5TRSA9ICJ0Y2wiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8uLi9saWNlbnNlLnRlcm1zO21kNT1jODhmOTlkZWNlYzExYWZhOTY3YWQzM2QzMTRmODdmZSBcCi0gICAgZmlsZTovLy4uL2NvbXBhdC9saWNlbnNlLnRlcm1zO21kNT1jODhmOTlkZWNlYzExYWZhOTY3YWQzM2QzMTRmODdmZSBcCi0gICAgZmlsZTovLy4uL2RvYy9saWNlbnNlLnRlcm1zO21kNT1jODhmOTlkZWNlYzExYWZhOTY3YWQzM2QzMTRmODdmZSBcCi0gICAgZmlsZTovLy4uL2xpYnJhcnkvbGljZW5zZS50ZXJtczttZDU9Yzg4Zjk5ZGVjZWMxMWFmYTk2N2FkMzNkMzE0Zjg3ZmUgXAotICAgIGZpbGU6Ly8uLi9tYWNvc3gvbGljZW5zZS50ZXJtczttZDU9Yzg4Zjk5ZGVjZWMxMWFmYTk2N2FkMzNkMzE0Zjg3ZmUgXAotICAgIGZpbGU6Ly8uLi90ZXN0cy9saWNlbnNlLnRlcm1zO21kNT1jODhmOTlkZWNlYzExYWZhOTY3YWQzM2QzMTRmODdmZSBcCi0gICAgZmlsZTovLy4uL3VuaXgvbGljZW5zZS50ZXJtczttZDU9Yzg4Zjk5ZGVjZWMxMWFmYTk2N2FkMzNkMzE0Zjg3ZmUgXAotICAgIGZpbGU6Ly8uLi93aW4vbGljZW5zZS50ZXJtczttZDU9Yzg4Zjk5ZGVjZWMxMWFmYTk2N2FkMzNkMzE0Zjg3ZmUgXAotICAgIGZpbGU6Ly8uLi94bGliL2xpY2Vuc2UudGVybXM7bWQ1PWM4OGY5OWRlY2VjMTFhZmE5NjdhZDMzZDMxNGY4N2ZlIFwKLSIKLQotREVQRU5EUyA9ICJ0Y2wgdmlydHVhbC9saWJ4MTEgbGlieHQiCi0KLVNSQ19VUkkgPSAiXAotICAgICR7U09VUkNFRk9SR0VfTUlSUk9SfS90Y2wvJHtCUE59JHtQVn0tc3JjLnRhci5neiBcCi0gICAgZmlsZTovL2NvbmZzZWFyY2guZGlmZjtzdHJpcGxldmVsPTIgXAotICAgIGZpbGU6Ly9ub24tbGludXguZGlmZjtzdHJpcGxldmVsPTIgXAotICAgIGZpbGU6Ly90a2xpYnJhcnkuZGlmZjtzdHJpcGxldmVsPTIgXAotICAgIGZpbGU6Ly90a3ByaXZhdGUuZGlmZjtzdHJpcGxldmVsPTIgXAotICAgIGZpbGU6Ly9maXgteGZ0LmRpZmYgXAotICAgIGZpbGU6Ly9jb25maWd1cmUudXNlLmZvbnRjb25maWcud2l0aC54ZnQucGF0Y2ggXAotIgotU1JDX1VSSVttZDVzdW1dID0gIjVlMGZhZWNiYTQ1OGVlMTM4NjA3OGZiMjI4ZDAwOGJhIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ5ZTdiY2EwOGRkZTk1MTk1YTI3ZjU5NGY3Yzg1MGIwODhiZTM1N2E3YzcwOTZlNDRlMTE1OGM3YTVmZDdiMzMiCi0KLVMgPSAiJHtXT1JLRElSfS8ke0JQTn0ke1BWfS91bml4IgotCi0jIFNob3J0IHZlcnNpb24gZm9ybWF0OiAiOC42IgotVkVSID0gIiR7QG9zLnBhdGguc3BsaXRleHQoZC5nZXRWYXIoJ1BWJykpWzBdfSIKLQotTERGTEFHUyArPSAiLVdsLC1ycGF0aCwke2xpYmRpcn0vdGNsdGsvJHtQVn0vbGliIgotaW5oZXJpdCBhdXRvdG9vbHMgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCi0jIGRlcGVuZHMgb24gdmlydHVhbC9saWJ4MTEKLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi0KLUVYVFJBX09FQ09ORiA9ICJcCi0gICAgLS1lbmFibGUtdGhyZWFkcyBcCi0gICAgLS13aXRoLXggXAotICAgIC0td2l0aC10Y2w9JHtTVEFHSU5HX0JJTkRJUn0vY3Jvc3NzY3JpcHRzIFwKLSAgICAtLWxpYmRpcj0ke2xpYmRpcn0gXAotIgotZXhwb3J0IFRLX0xJQlJBUlk9JyR7bGliZGlyfS90ayR7VkVSfScKLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIGxuIC1zZiBsaWJ0ayR7VkVSfS5zbyAke0R9JHtsaWJkaXJ9L2xpYnRrJHtWRVJ9LnNvLjAKLSAgICBvZV9saWJpbnN0YWxsIC1zbyBsaWJ0ayR7VkVSfSAke0R9JHtsaWJkaXJ9Ci0gICAgbG4gLXNmIHdpc2gke1ZFUn0gJHtEfSR7YmluZGlyfS93aXNoCi19Ci0KLVBBQ0tBR0VDT05GSUcgPz89ICJ4ZnQiCi1QQUNLQUdFQ09ORklHW3hmdF0gPSAiLS1lbmFibGUteGZ0LC0tZGlzYWJsZS14ZnQseGZ0IgotUEFDS0FHRUNPTkZJR1t4c3NdID0gIi0tZW5hYmxlLXhzcywtLWRpc2FibGUteHNzLGxpYnhzY3Juc2F2ZXIgbGlieGV4dCIKLQotUEFDS0FHRVMgPSsgIiR7UE59LWxpYiIKLQotRklMRVNfJHtQTn0tbGliID0gIiR7bGliZGlyfS9saWJ0ayR7VkVSfS5zbyoiCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3RrKiIKLQotIyBpc24ndCBnZXR0aW5nIHBpY2tlZCB1cCBieSBzaGxpYnMgY29kZQotUkRFUEVORFNfJHtQTn0gKz0gInRrLWxpYiIKLVJERVBFTkRTXyR7UE59X2NsYXNzLW5hdGl2ZSA9ICIiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKLQotIyBGaXggdGhlIHBhdGggaW4gc3N0YXRlCi1TU1RBVEVfU0NBTl9GSUxFUyArPSAiKkNvbmZpZy5zaCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90a184LjYuOS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90a184LjYuOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTlhZTgyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RrXzguNi45LmJiCkBAIC0wLDAgKzEsOTYgQEAKK1NVTU1BUlkgPSAiVG9vbCBDb21tYW5kIExhbmd1YWdlIFRvb2xLaXQgRXh0ZW5zaW9uIgorSE9NRVBBR0UgPSAiaHR0cDovL3RjbC5zb3VyY2Vmb3JnZS5uZXQiCitTRUNUSU9OID0gImRldmVsL3RjbHRrIgorCisjIGh0dHA6Ly93d3cudGNsLnRrL3NvZnR3YXJlL3RjbHRrL2xpY2Vuc2UuaHRtbAorTElDRU5TRSA9ICJ0Y2wiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1N9Ly4uL2xpY2Vuc2UudGVybXM7bWQ1PWM4OGY5OWRlY2VjMTFhZmE5NjdhZDMzZDMxNGY4N2ZlIFwKKyAgICBmaWxlOi8vJHtTfS8uLi9jb21wYXQvbGljZW5zZS50ZXJtczttZDU9Yzg4Zjk5ZGVjZWMxMWFmYTk2N2FkMzNkMzE0Zjg3ZmUgXAorICAgIGZpbGU6Ly8ke1N9Ly4uL2RvYy9saWNlbnNlLnRlcm1zO21kNT1jODhmOTlkZWNlYzExYWZhOTY3YWQzM2QzMTRmODdmZSBcCisgICAgZmlsZTovLyR7U30vLi4vbGlicmFyeS9saWNlbnNlLnRlcm1zO21kNT1jODhmOTlkZWNlYzExYWZhOTY3YWQzM2QzMTRmODdmZSBcCisgICAgZmlsZTovLyR7U30vLi4vbWFjb3N4L2xpY2Vuc2UudGVybXM7bWQ1PWM4OGY5OWRlY2VjMTFhZmE5NjdhZDMzZDMxNGY4N2ZlIFwKKyAgICBmaWxlOi8vJHtTfS8uLi90ZXN0cy9saWNlbnNlLnRlcm1zO21kNT1jODhmOTlkZWNlYzExYWZhOTY3YWQzM2QzMTRmODdmZSBcCisgICAgZmlsZTovLyR7U30vLi4vdW5peC9saWNlbnNlLnRlcm1zO21kNT1jODhmOTlkZWNlYzExYWZhOTY3YWQzM2QzMTRmODdmZSBcCisgICAgZmlsZTovLyR7U30vLi4vd2luL2xpY2Vuc2UudGVybXM7bWQ1PWM4OGY5OWRlY2VjMTFhZmE5NjdhZDMzZDMxNGY4N2ZlIFwKKyAgICBmaWxlOi8vJHtTfS8uLi94bGliL2xpY2Vuc2UudGVybXM7bWQ1PWM4OGY5OWRlY2VjMTFhZmE5NjdhZDMzZDMxNGY4N2ZlIFwKKyIKKworREVQRU5EUyA9ICJ0Y2wgdmlydHVhbC9saWJ4MTEgbGlieHQiCisKK1NSQ19VUkkgPSAiXAorICAgICR7U09VUkNFRk9SR0VfTUlSUk9SfS90Y2wvJHtCUE59JHtQVn0tc3JjLnRhci5neiBcCisgICAgZmlsZTovL2NvbmZzZWFyY2guZGlmZjtzdHJpcGxldmVsPTIgXAorICAgIGZpbGU6Ly9ub24tbGludXguZGlmZjtzdHJpcGxldmVsPTIgXAorICAgIGZpbGU6Ly90a2xpYnJhcnkuZGlmZjtzdHJpcGxldmVsPTIgXAorICAgIGZpbGU6Ly90a3ByaXZhdGUuZGlmZjtzdHJpcGxldmVsPTIgXAorICAgIGZpbGU6Ly9maXgteGZ0LmRpZmYgXAorICAgIGZpbGU6Ly9jb25maWd1cmUudXNlLmZvbnRjb25maWcud2l0aC54ZnQucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gImUzY2Y2MjkwOTk5ZWUzMDY1MWQ3NTg2NGVjY2ZlYzYzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQzZjkxNjFlOGJhMGYxMDdmZThkNGRmMWY2ZDNhMTRjMzBjYzM1MTJkZmMxMmE3OTVkYWEzNjdhMjc2NjBkYWMiCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0ke1BWfS91bml4IgorCisjIFNob3J0IHZlcnNpb24gZm9ybWF0OiAiOC42IgorVkVSID0gIiR7QG9zLnBhdGguc3BsaXRleHQoZC5nZXRWYXIoJ1BWJykpWzBdfSIKKworTERGTEFHUyArPSAiLVdsLC1ycGF0aCwke2xpYmRpcn0vdGNsdGsvJHtQVn0vbGliIgoraW5oZXJpdCBhdXRvdG9vbHMgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisjIGRlcGVuZHMgb24gdmlydHVhbC9saWJ4MTEKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK0VYVFJBX09FQ09ORiA9ICJcCisgICAgLS1lbmFibGUtdGhyZWFkcyBcCisgICAgLS13aXRoLXggXAorICAgIC0td2l0aC10Y2w9JHtTVEFHSU5HX0JJTkRJUn0vY3Jvc3NzY3JpcHRzIFwKKyAgICAtLWxpYmRpcj0ke2xpYmRpcn0gXAorIgorZXhwb3J0IFRLX0xJQlJBUlk9JyR7bGliZGlyfS90ayR7VkVSfScKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGxuIC1zZiBsaWJ0ayR7VkVSfS5zbyAke0R9JHtsaWJkaXJ9L2xpYnRrJHtWRVJ9LnNvLjAKKyAgICBvZV9saWJpbnN0YWxsIC1zbyBsaWJ0ayR7VkVSfSAke0R9JHtsaWJkaXJ9CisgICAgbG4gLXNmIHdpc2gke1ZFUn0gJHtEfSR7YmluZGlyfS93aXNoCisKKyAgICBzZWQgLWkgInM7LUwke0J9Oy1MJHtTVEFHSU5HX0xJQkRJUn07ZyIgdGtDb25maWcuc2gKKyAgICBzZWQgLWkgInM7JyR7V09SS0RJUn07JyR7U1RBR0lOR19JTkNESVJ9O2ciIHRrQ29uZmlnLnNoCisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJfY3Jvc3NzY3JpcHRzfQorICAgIGluc3RhbGwgLW0gMDc1NSB0a0NvbmZpZy5zaCAke0R9JHtiaW5kaXJfY3Jvc3NzY3JpcHRzfQorfQorCitQQUNLQUdFQ09ORklHID8/PSAieGZ0IgorUEFDS0FHRUNPTkZJR1t4ZnRdID0gIi0tZW5hYmxlLXhmdCwtLWRpc2FibGUteGZ0LHhmdCIKK1BBQ0tBR0VDT05GSUdbeHNzXSA9ICItLWVuYWJsZS14c3MsLS1kaXNhYmxlLXhzcyxsaWJ4c2NybnNhdmVyIGxpYnhleHQiCisKK1BBQ0tBR0VTID0rICIke1BOfS1saWIiCisKK0ZJTEVTXyR7UE59LWxpYiA9ICIke2xpYmRpcn0vbGlidGske1ZFUn0uc28qIgorRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS90ayoiCisKKyMgaXNuJ3QgZ2V0dGluZyBwaWNrZWQgdXAgYnkgc2hsaWJzIGNvZGUKK1JERVBFTkRTXyR7UE59ICs9ICJ0ay1saWIiCitSREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKKyMgRml4IHRoZSBwYXRoIGluIHNzdGF0ZQorU1NUQVRFX1NDQU5fRklMRVMgKz0gIipDb25maWcuc2giCisKK2luaGVyaXQgYmluY29uZmlnCisKK1NZU1JPT1RfRElSUyArPSAiJHtiaW5kaXJfY3Jvc3NzY3JpcHRzfSIKKworIyBGaXggc29tZSBwYXRocyB0aGF0IG1pZ2h0IGJlIHVzZWQgYnkgVGNsIGV4dGVuc2lvbnMKK0JJTkNPTkZJR19HTE9CID0gIipDb25maWcuc2giCisKKyMgQ2xlYW51cCBob3N0IHBhdGggZnJvbSAke2xpYmRpcn0vdGNsQ29uZmlnLnNoIGFuZCByZW1vdmUgdGhlCisjICR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vdGNsQ29uZmlnLnNoIGZyb20gdGFyZ2V0CitQQUNLQUdFX1BSRVBST0NFU1NfRlVOQ1MgKz0gInRjbF9wYWNrYWdlX3ByZXByb2Nlc3MiCit0Y2xfcGFja2FnZV9wcmVwcm9jZXNzKCkgeworICAgICAgICBzZWQgLWkgLWUgInM7JHtERUJVR19QUkVGSVhfTUFQfTs7ZyIgXAorICAgICAgICAgICAgICAgLWUgInM7LUwke1NUQUdJTkdfTElCRElSfTstTCR7bGliZGlyfTtnIiBcCisgICAgICAgICAgICAgICAtZSAiczske1NUQUdJTkdfSU5DRElSfTske2luY2x1ZGVkaXJ9O2ciIFwKKyAgICAgICAgICAgICAgIC1lICJzOy0tc3lzcm9vdD0ke1JFQ0lQRV9TWVNST09UfTs7ZyIgXAorICAgICAgICAgICAgICAgJHtQS0dEfSR7bGliZGlyfS90a0NvbmZpZy5zaAorCisgICAgICAgIHJtIC1mICR7UEtHRH0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9L3RrQ29uZmlnLnNoCit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdWZ0cmFjZS91ZnRyYWNlLzAwMDEtaW5jbHVkZS1kbGZjbi5oLWZvci1SVExEX0RFRkFVTFQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdWZ0cmFjZS91ZnRyYWNlLzAwMDEtaW5jbHVkZS1kbGZjbi5oLWZvci1SVExEX0RFRkFVTFQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZlN2FhYzkuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3VmdHJhY2UvdWZ0cmFjZS8wMDAxLWluY2x1ZGUtZGxmY24uaC1mb3ItUlRMRF9ERUZBVUxULnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotRnJvbSBjZGY3ZjJlMzk0ZmNmYjkzYTYxZjUwOWFlMzM4OGYyOTU0MGE2YjM1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFNhdCwgOCBTZXAgMjAxOCAxMTo1NjoxMyAtMDcwMAotU3ViamVjdDogW1BBVENIXSBpbmNsdWRlIGRsZmNuLmggZm9yIFJUTERfREVGQVVMVAotCi1GaXhlcwotcGx0aG9vay5jOjEyODo0MTogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ1JUTERfREVGQVVMVCcKLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9uYW1oeXVuZy91ZnRyYWNlL3B1bGwvNDg3XQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGxpYm1jb3VudC9wbHRob29rLmMgfCAxICsKLSB1dGlscy9kZWJ1Zy5jICAgICAgIHwgMSArCi0gMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2xpYm1jb3VudC9wbHRob29rLmMgYi9saWJtY291bnQvcGx0aG9vay5jCi1pbmRleCBkOWQ4NGYwLi5kNTRmNWU4IDEwMDY0NAotLS0tIGEvbGlibWNvdW50L3BsdGhvb2suYwotKysrIGIvbGlibWNvdW50L3BsdGhvb2suYwotQEAgLTYsNiArNiw3IEBACi0gI2luY2x1ZGUgPHN5cy9tbWFuLmg+Ci0gI2luY2x1ZGUgPHB0aHJlYWQuaD4KLSAjaW5jbHVkZSA8YXNzZXJ0Lmg+Ci0rI2luY2x1ZGUgPGRsZmNuLmg+Ci0gCi0gLyogVGhpcyBzaG91bGQgYmUgZGVmaW5lZCBiZWZvcmUgI2luY2x1ZGUgInV0aWxzLmgiICovCi0gI2RlZmluZSBQUl9GTVQgICAgICJtY291bnQiCi1kaWZmIC0tZ2l0IGEvdXRpbHMvZGVidWcuYyBiL3V0aWxzL2RlYnVnLmMKLWluZGV4IDIxMzRiMDkuLjU0NjBkZWYgMTAwNjQ0Ci0tLS0gYS91dGlscy9kZWJ1Zy5jCi0rKysgYi91dGlscy9kZWJ1Zy5jCi1AQCAtMTMsNiArMTMsNyBAQAotICNpbmNsdWRlIDxhc3NlcnQuaD4KLSAjaW5jbHVkZSA8bGltaXRzLmg+Ci0gI2luY2x1ZGUgPGludHR5cGVzLmg+Ci0rI2luY2x1ZGUgPGRsZmNuLmg+Ci0gCi0gI2luY2x1ZGUgInV0aWxzL3V0aWxzLmgiCi0gCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdWZ0cmFjZS91ZnRyYWNlXzAuOC4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3VmdHJhY2UvdWZ0cmFjZV8wLjguMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2EzOGU2YS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdWZ0cmFjZS91ZnRyYWNlXzAuOC4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotU1VNTUFSWSA9ICJUcmFjZSBhbmQgYW5hbHl6ZSBleGVjdXRpb24gb2YgYSBwcm9ncmFtIHdyaXR0ZW4gaW4gQy9DKysiCi1IT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vbmFtaHl1bmcvdWZ0cmFjZSIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL25hbWh5dW5nL3VmdHJhY2UvaXNzdWVzIgotU0VDVElPTiA9ICJkZXZlbCIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKLQotREVQRU5EUyA9ICJlbGZ1dGlscyIKLURFUEVORFNfYXBwZW5kX2xpYmMtbXVzbCA9ICIgYXJncC1zdGFuZGFsb25lIgotCi1pbmhlcml0IGF1dG90b29scwotCi0jIHYwLjguMwotU1JDUkVWID0gIjhiNzIzYTZmYWUyZWYzMDQ5NWNkNjI3OTc3NGZiYTljOTVjZDljODgiCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbmFtaHl1bmcvJHtCUE59IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtaW5jbHVkZS1kbGZjbi5oLWZvci1SVExEX0RFRkFVTFQucGF0Y2ggXAotICAgICAgICAgICAiCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1MREZMQUdTX2FwcGVuZF9saWJjLW11c2wgPSAiIC1sYXJncCIKLQotZGVmIHNldF90YXJnZXRfYXJjaChkKToKLSAgICBpbXBvcnQgcmUKLSAgICBhcmNoID0gZC5nZXRWYXIoJ1RBUkdFVF9BUkNIJywgVHJ1ZSkKLSAgICBpZiByZS5tYXRjaChyJ2kuODYnLCBhcmNoLCByZS5JKToKLSAgICAgICAgcmV0dXJuICdpMzg2JwotICAgIGVsc2U6Ci0gICAgICAgIHJldHVybiBhcmNoCi0KLUVYVFJBX1VGVFJBQ0VfT0VDT05GID0gIkFSQ0g9JHtAc2V0X3RhcmdldF9hcmNoKGQpfSBcCi0gICAgICAgICAgICAgICAgICAgICAgICB3aXRoX2VsZnV0aWxzPS91c2UvbGliZWxmL2Zyb20vc3lzcm9vdCIKLQotZG9fY29uZmlndXJlKCkgewotICAgICR7U30vY29uZmlndXJlICR7RVhUUkFfVUZUUkFDRV9PRUNPTkZ9Ci19Ci0KLUZJTEVTX1NPTElCU0RFViA9ICIiCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9Lyouc28iCi0KLUNPTVBBVElCTEVfSE9TVCA9ICIoaS44Nnx4ODZfNjR8YWFyY2g2NHxhcm0pIgotCi0jIHVmdHJhY2Ugc3VwcG9ydHMgYXJtdjYgYW5kIGFib3ZlCi1DT01QQVRJQkxFX0hPU1RfYXJtdjQgPSAnbnVsbCcKLUNPTVBBVElCTEVfSE9TVF9hcm12NSA9ICdudWxsJwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3VmdHJhY2UvdWZ0cmFjZV8wLjkuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy91ZnRyYWNlL3VmdHJhY2VfMC45LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGY0MDE2OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy91ZnRyYWNlL3VmdHJhY2VfMC45LjIuYmIKQEAgLTAsMCArMSw0NSBAQAorU1VNTUFSWSA9ICJUcmFjZSBhbmQgYW5hbHl6ZSBleGVjdXRpb24gb2YgYSBwcm9ncmFtIHdyaXR0ZW4gaW4gQy9DKysiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vbmFtaHl1bmcvdWZ0cmFjZSIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL25hbWh5dW5nL3VmdHJhY2UvaXNzdWVzIgorU0VDVElPTiA9ICJkZXZlbCIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworREVQRU5EUyA9ICJlbGZ1dGlscyIKK0RFUEVORFNfYXBwZW5kX2xpYmMtbXVzbCA9ICIgYXJncC1zdGFuZGFsb25lIgorCitpbmhlcml0IGF1dG90b29scworCisjIHYwLjkuMgorU1JDUkVWID0gIjY2ZmMxZmI5NzNmNGE0NGFlY2QyMTY1NDE0MDVmZmUwNTE5NmYxMWUiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbmFtaHl1bmcvJHtCUE59IFwKKyAgICAgICAgICAgIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworTERGTEFHU19hcHBlbmRfbGliYy1tdXNsID0gIiAtbGFyZ3AiCisKK2RlZiBzZXRfdGFyZ2V0X2FyY2goZCk6CisgICAgaW1wb3J0IHJlCisgICAgYXJjaCA9IGQuZ2V0VmFyKCdUQVJHRVRfQVJDSCcpCisgICAgaWYgcmUubWF0Y2gocidpLjg2JywgYXJjaCwgcmUuSSk6CisgICAgICAgIHJldHVybiAnaTM4NicKKyAgICBlbGlmIHJlLm1hdGNoKCdhcm1lYicsIGFyY2gsIHJlLkkpOgorICAgICAgICByZXR1cm4gJ2FybScKKyAgICBlbHNlOgorICAgICAgICByZXR1cm4gYXJjaAorCitFWFRSQV9VRlRSQUNFX09FQ09ORiA9ICJBUkNIPSR7QHNldF90YXJnZXRfYXJjaChkKX0gXAorICAgICAgICAgICAgICAgICAgICAgICAgd2l0aF9lbGZ1dGlscz0vdXNlL2xpYmVsZi9mcm9tL3N5c3Jvb3QiCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICAke1N9L2NvbmZpZ3VyZSAke0VYVFJBX1VGVFJBQ0VfT0VDT05GfQorfQorCitGSUxFU19TT0xJQlNERVYgPSAiIgorRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS8qLnNvIgorCitDT01QQVRJQkxFX0hPU1QgPSAiKGkuODZ8eDg2XzY0fGFhcmNoNjR8YXJtKSIKKworIyB1ZnRyYWNlIHN1cHBvcnRzIGFybXY2IGFuZCBhYm92ZQorQ09NUEFUSUJMRV9IT1NUX2FybXY0ID0gJ251bGwnCitDT01QQVRJQkxFX0hPU1RfYXJtdjUgPSAnbnVsbCcKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy94bWxycGMtYy94bWxycGMtYy8wMDAxLWZpeC1jb21waWxlLWZhaWx1cmUtYWdhaW5zdC1tdXNsLUMtbGlicmFyeS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy94bWxycGMtYy94bWxycGMtYy8wMDAxLWZpeC1jb21waWxlLWZhaWx1cmUtYWdhaW5zdC1tdXNsLUMtbGlicmFyeS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjM0ZDY5Ni4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMveG1scnBjLWMveG1scnBjLWMvMDAwMS1maXgtY29tcGlsZS1mYWlsdXJlLWFnYWluc3QtbXVzbC1DLWxpYnJhcnkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi1Gcm9tIDk1MGIyN2Y4MzIwYjg0MTQ5MGNhZmNiM2U2ZTNiODE4YzcxNzRjMGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDIwIEp1bCAyMDE3IDIyOjMyOjUwIC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGZpeCBjb21waWxlIGZhaWx1cmUgYWdhaW5zdCBtdXNsIEMgbGlicmFyeQotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gdGVzdC9jcHAvc2VydmVyX2FieXNzLmNwcCAgICAgICAgICAgICAgIHwgIDIgKy0KLSB0b29scy94bWxycGNfcHN0cmVhbS94bWxycGNfcHN0cmVhbS5jcHAgfCAxMCArKysrKysrLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS90ZXN0L2NwcC9zZXJ2ZXJfYWJ5c3MuY3BwIGIvdGVzdC9jcHAvc2VydmVyX2FieXNzLmNwcAotaW5kZXggMjQ1OGE4Zi4uODJmOTFkYSAxMDA2NDQKLS0tLSBhL3Rlc3QvY3BwL3NlcnZlcl9hYnlzcy5jcHAKLSsrKyBiL3Rlc3QvY3BwL3NlcnZlcl9hYnlzcy5jcHAKLUBAIC0xOCw3ICsxOCw3IEBACi0gI2lmZGVmIFdJTjMyCi0gICAjaW5jbHVkZSA8d2luc29jazIuaD4KLSAjZWxzZQotLSAgI2luY2x1ZGUgPHN5cy91bmlzdGQuaD4KLSsgICNpbmNsdWRlIDx1bmlzdGQuaD4KLSAgICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+Ci0gICAjaW5jbHVkZSA8YXJwYS9pbmV0Lmg+Ci0gICAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgotZGlmZiAtLWdpdCBhL3Rvb2xzL3htbHJwY19wc3RyZWFtL3htbHJwY19wc3RyZWFtLmNwcCBiL3Rvb2xzL3htbHJwY19wc3RyZWFtL3htbHJwY19wc3RyZWFtLmNwcAotaW5kZXggZDM5ZTEwNS4uMWZkODkwMCAxMDA2NDQKLS0tLSBhL3Rvb2xzL3htbHJwY19wc3RyZWFtL3htbHJwY19wc3RyZWFtLmNwcAotKysrIGIvdG9vbHMveG1scnBjX3BzdHJlYW0veG1scnBjX3BzdHJlYW0uY3BwCi1AQCAtMTUsMTEgKzE1LDE1IEBACi0gI2luY2x1ZGUgInhtbHJwYy1jL2dpcmVyci5ocHAiCi0gdXNpbmcgZ2lyZXJyOjp0aHJvd2Y7Ci0gCi0tI2luY2x1ZGUgPGZlYXR1cmVzLmg+ICAvLyBmb3IgX19CRUdJTl9ERUNMUwotKyNpZmRlZiBfX2NwbHVzcGx1cwotK2V4dGVybiAiQyIgewotKyNlbmRpZgotIAotLV9fQkVHSU5fREVDTFMKLSAjaW5jbHVkZSAiZHVtcHZhbHVlLmgiICAvKiBBbiBpbnRlcm5hbCBYbWxycGMtYyBoZWFkZXIgZmlsZSAhICovCi0tX19FTkRfREVDTFMKLSsKLSsjaWZkZWYgX19jcGx1c3BsdXMKLSt9Ci0rI2VuZGlmCi0gCi0gCi0gI2luY2x1ZGUgPHhtbHJwYy1jL2Jhc2UuaHBwPgotLS0gCi0yLjguMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMveG1scnBjLWMveG1scnBjLWMvMDAwMS10ZXN0LWNwcC1zZXJ2ZXJfYWJ5c3MtRml4LWJ1aWxkLXdpdGgtY2xhbmctbGliYy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy94bWxycGMtYy94bWxycGMtYy8wMDAxLXRlc3QtY3BwLXNlcnZlcl9hYnlzcy1GaXgtYnVpbGQtd2l0aC1jbGFuZy1saWJjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlODNiMDEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMveG1scnBjLWMveG1scnBjLWMvMDAwMS10ZXN0LWNwcC1zZXJ2ZXJfYWJ5c3MtRml4LWJ1aWxkLXdpdGgtY2xhbmctbGliYy5wYXRjaApAQCAtMCwwICsxLDI3IEBACitGcm9tIGRiYTNjNWJmMzRlZDUzMGZkNDFlZDUwOTY4ODI1YWYyMTU4ZjE0MmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVHVlLCAyOSBKYW4gMjAxOSAxMzozMTozOSAtMDgwMAorU3ViamVjdDogW1BBVENIXSB0ZXN0L2NwcC9zZXJ2ZXJfYWJ5c3M6IEZpeCBidWlsZCB3aXRoIGNsYW5nL2xpYmMrKworCisvbW50L2EveW9lL3dvcmtzcGFjZS9zb3VyY2VzL3htbHJwYy1jL3Rlc3QvY3BwL3NlcnZlcl9hYnlzcy5jcHA6ODc6MTQ6IGVycm9yOiBhc3NpZ25pbmcgdG8gJ2ludCcgZnJvbSBpbmNvbXBhdGlibGUgdHlwZSAnX19iaW5kPGludAorJiwgc29ja2FkZHIgKiwgdW5zaWduZWQgaW50PicKKyAgICAgICAgcmMgPSBiaW5kKHRoaXMtPmZkLCAoc3RydWN0IHNvY2thZGRyICopJnNvY2tBZGRyLCBzaXplb2Yoc29ja0FkZHIpKTsKKyAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyB0ZXN0L2NwcC9zZXJ2ZXJfYWJ5c3MuY3BwIHwgNTYgKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDI4IGRlbGV0aW9ucygtKQorCistLS0gYS90ZXN0L2NwcC9zZXJ2ZXJfYWJ5c3MuY3BwCisrKysgYi90ZXN0L2NwcC9zZXJ2ZXJfYWJ5c3MuY3BwCitAQCAtODUsNyArODUsNyBAQCBwdWJsaWM6CisgICAgICAgICBzb2NrQWRkci5zaW5fcG9ydCAgID0gaHRvbnMocG9ydE51bWJlcik7CisgICAgICAgICBzb2NrQWRkci5zaW5fYWRkci5zX2FkZHIgPSAwOworIAorLSAgICAgICAgcmMgPSBiaW5kKHRoaXMtPmZkLCAoc3RydWN0IHNvY2thZGRyICopJnNvY2tBZGRyLCBzaXplb2Yoc29ja0FkZHIpKTsKKysgICAgICAgIHJjID0gOjpiaW5kKHRoaXMtPmZkLCAoc3RydWN0IHNvY2thZGRyICopJnNvY2tBZGRyLCBzaXplb2Yoc29ja0FkZHIpKTsKKyAgICAgICAgIAorICAgICAgICAgaWYgKHJjICE9IDApIHsKKyAgICAgICAgICAgICBjbG9zZXNvY2sodGhpcy0+ZmQpOwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3htbHJwYy1jL3htbHJwYy1jXzEuMzEuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy94bWxycGMtYy94bWxycGMtY18xLjMxLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVmYTU4ZjEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3htbHJwYy1jL3htbHJwYy1jXzEuMzEuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLURFU0NSSVBUSU9OID0gIlhNTC1SUEMgZm9yIEMvQysrIGlzIHByb2dyYW1taW5nIGxpYnJhcmllcyBhbmQgcmVsYXRlZCB0b29scyB0byBoZWxwIHlvdSBcCi13cml0ZSBhbiBYTUwtUlBDIHNlcnZlciBvciBjbGllbnQgaW4gQyBvciBDKysuIgotCi1IT01FUEFHRSA9ICJodHRwOi8veG1scnBjLWMuc291cmNlZm9yZ2UubmV0LyIKLUxJQ0VOU0UgPSAiQlNEICYgTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZG9jL0NPUFlJTkc7bWQ1PWFlZmJmODFiYTA3NTBmMDIxNzZiNmY4Njc1MmVhOTUxIgotCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vZW5zYy94bWxycGMtYy5naXQ7YnJhbmNoPW1hc3RlciBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWZpeC1jb21waWxlLWZhaWx1cmUtYWdhaW5zdC1tdXNsLUMtbGlicmFyeS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLWZpeC1mb3JtYXR0aW5nLWlzc3Vlcy5wYXRjaCBcCi0iCi1TUkNSRVYgPSAiODE0NDNhOWRjMjM0Y2MyNzU0NDlkYmMxNzg2N2FkNzdhZTE4OTEyNCIKLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLURFUEVORFMgPSAiY3VybCBsaWJ4bWwyIgotUkRFUEVORFNfJHtQTn0gPSAiY3VybCBwZXJsIgotCi1pbmhlcml0IGNtYWtlCi0KLUVYVFJBX09FQ01BS0UgPSAiLURfbGliOlNUUklORz0ke2Jhc2VsaWJ9IgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKLQotVEFSR0VUX0NGTEFHUyArPSAiLVduby1uYXJyb3dpbmciCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMveG1scnBjLWMveG1scnBjLWNfMS41MS4wMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy94bWxycGMtYy94bWxycGMtY18xLjUxLjAzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyNDI2MzcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMveG1scnBjLWMveG1scnBjLWNfMS41MS4wMy5iYgpAQCAtMCwwICsxLDQ5IEBACitERVNDUklQVElPTiA9ICJYTUwtUlBDIGZvciBDL0MrKyBpcyBwcm9ncmFtbWluZyBsaWJyYXJpZXMgYW5kIHJlbGF0ZWQgdG9vbHMgdG8gaGVscCB5b3UgXAord3JpdGUgYW4gWE1MLVJQQyBzZXJ2ZXIgb3IgY2xpZW50IGluIEMgb3IgQysrLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL3htbHJwYy1jLnNvdXJjZWZvcmdlLm5ldC8iCitMSUNFTlNFID0gIkJTRCAmIE1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RvYy9DT1BZSU5HO21kNT1hZWZiZjgxYmEwNzUwZjAyMTc2YjZmODY3NTJlYTk1MSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL21pcnJvci94bWxycGMtYy5naXQgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS10ZXN0LWNwcC1zZXJ2ZXJfYWJ5c3MtRml4LWJ1aWxkLXdpdGgtY2xhbmctbGliYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLWZpeC1mb3JtYXR0aW5nLWlzc3Vlcy5wYXRjaCBcCisgICAgICAgICAgICIKKyNSZWxlYXNlIDEuNTEuMDMKK1NSQ1JFViA9ICIzNDNhM2I5OGU1NDk5OWQ2N2VkYjY0NGJjZDM5NWFhOTc4NGZiMTZlIgorCitTID0gIiR7V09SS0RJUn0vZ2l0L3N0YWJsZSIKKworREVQRU5EUyA9ICJsaWJ4bWwyIgorUkRFUEVORFNfJHtQTn0gPSAicGVybCIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIGJpbmNvbmZpZyBwa2djb25maWcKKworVEFSR0VUX0NGTEFHUyArPSAiLVduby1uYXJyb3dpbmciCisKK0VYVFJBX09FTUFLRSArPSAiQ0NfRk9SX0JVSUxEPScke0JVSUxEX0NDfScgXAorICAgICAgICAgICAgICAgICBMRF9GT1JfQlVJTEQ9JyR7QlVJTERfTER9JyBcCisgICAgICAgICAgICAgICAgIENGTEFHU19GT1JfQlVJTEQ9JyR7QlVJTERfQ0ZMQUdTfScgXAorICAgICAgICAgICAgICAgICBMREZMQUdTX0ZPUl9CVUlMRD0nJHtCVUlMRF9MREZMQUdTfScgXAorICAgICAgICAgICAgICAgICAiCisKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWxpYnd3dy1jbGllbnQgLS1kaXNhYmxlLXdpbmluZXQtY2xpZW50IgorCitQQUNLQUdFQ09ORklHID8/PSAiY3VybCBjcGx1c3BsdXMiCisKK1BBQ0tBR0VDT05GSUdbYWJ5c3NdID0gIi0tZW5hYmxlLWFieXNzLXNlcnZlciAtLWVuYWJsZS1hYnlzcy10aHJlYWRzIC0tZW5hYmxlLWFieXNzLW9wZW5zc2wsLS1kaXNhYmxlLWFieXNzLXNlcnZlciAtLWRpc2FibGUtYWJ5c3MtdGhyZWFkcyAtLWRpc2FibGUtYWJ5c3Mtb3BlbnNzbCxvcGVuc3NsLCIKK1BBQ0tBR0VDT05GSUdbY3BsdXNwbHVzXSA9ICItLWVuYWJsZS1jcGx1c3BsdXMsLS1kaXNhYmxlLWNwbHVzcGx1cywsIgorUEFDS0FHRUNPTkZJR1tjdXJsXSA9ICItLWVuYWJsZS1jdXJsLWNsaWVudCwtLWRpc2FibGUtY3VybC1jbGllbnQsY3VybCxjdXJsIgorCitkb19jb25maWd1cmUoKSB7CisgICAgICAgIGluc3RhbGwgLW0gMDc1NSAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2dudS1jb25maWcvY29uZmlnLmd1ZXNzICR7U30KKyAgICAgICAgaW5zdGFsbCAtbSAwNzU1ICR7U1RBR0lOR19EQVRBRElSX05BVElWRX0vZ251LWNvbmZpZy9jb25maWcuc3ViICR7U30KKyAgICAgICAgYXV0b2NvbmYKKyAgICAgICAgb2VfcnVuY29uZgorICAgICAgICAjIGxpY2Vuc2UgaXMgaW5jb21wYXRpYmxlIHdpdGggbGliL3V0aWwvZ2V0b3B0eC4qCisgICAgICAgIHJtIC1mdiAke1N9L3Rvb2xzL3R1cmJvY2hhcmdlci9tb2RfZ3ppcC5jCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitDTEVBTkJST0tFTiA9ICIxIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkLzAwMDUtRGlzYWJsZS1uZXctZ2NjOC13YXJuaW5ncy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jb2xsZWN0ZC9jb2xsZWN0ZC8wMDA1LURpc2FibGUtbmV3LWdjYzgtd2FybmluZ3MucGF0Y2gKaW5kZXggYjEyNjkwYi4uMTM1MTBjZCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkLzAwMDUtRGlzYWJsZS1uZXctZ2NjOC13YXJuaW5ncy5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY29sbGVjdGQvY29sbGVjdGQvMDAwNS1EaXNhYmxlLW5ldy1nY2M4LXdhcm5pbmdzLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBkNjVlNDhiNjgwNzZkNWIzMDRlNmQ4NjU5NjcwMDNhZTFmZWEwZTZjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBmODJmOGZhZjk5NDJmNTFlOWMzYzc3M2I1NjU3NDY1MjY5NWJlZjVhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFdlZCwgOSBNYXkgMjAxOCAyMTo0NTozOCAtMDcwMAogU3ViamVjdDogW1BBVENIXSBEaXNhYmxlIG5ldyBnY2M4IHdhcm5pbmdzCkBAIC03LDE3ICs3LDE3IEBACiBhbHJlYWR5IGluIHBsYWNlCiAKIFNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKIC0tLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9jb2xsZWN0ZC9jb2xsZWN0ZC9wdWxsLzI3NjhdCiAgc3JjL2xpYmNvbGxlY3RkY2xpZW50L25ldHdvcmtfcGFyc2UuYyB8IDcgKysrKysrKwogIHNyYy93cml0ZV9zZW5zdS5jICAgICAgICAgICAgICAgICAgICAgfCA3ICsrKysrKysKICAyIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKykKIAogZGlmZiAtLWdpdCBhL3NyYy9saWJjb2xsZWN0ZGNsaWVudC9uZXR3b3JrX3BhcnNlLmMgYi9zcmMvbGliY29sbGVjdGRjbGllbnQvbmV0d29ya19wYXJzZS5jCi1pbmRleCAyMzY1YWIwYS4uNzllNmVkOTYgMTAwNjQ0CitpbmRleCBhYTc1M2NlLi5mZWY0M2E5IDEwMDY0NAogLS0tIGEvc3JjL2xpYmNvbGxlY3RkY2xpZW50L25ldHdvcmtfcGFyc2UuYwogKysrIGIvc3JjL2xpYmNvbGxlY3RkY2xpZW50L25ldHdvcmtfcGFyc2UuYwotQEAgLTE2Myw2ICsxNjMsMTEgQEAgc3RhdGljIGludCBwYXJzZV9pbnQodm9pZCAqcGF5bG9hZCwgc2l6ZV90IHBheWxvYWRfc2l6ZSwgdWludDY0X3QgKm91dCkgeworQEAgLTE0OCw2ICsxNDgsMTEgQEAgc3RhdGljIGludCBwYXJzZV9pbnQodm9pZCAqcGF5bG9hZCwgc2l6ZV90IHBheWxvYWRfc2l6ZSwgdWludDY0X3QgKm91dCkgewogICAgcmV0dXJuIDA7CiAgfQogIApAQCAtMjksNyArMjksNyBAQAogIHN0YXRpYyBpbnQgcGFyc2Vfc3RyaW5nKHZvaWQgKnBheWxvYWQsIHNpemVfdCBwYXlsb2FkX3NpemUsIGNoYXIgKm91dCwKICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3Qgb3V0X3NpemUpIHsKICAgIGNoYXIgKmluID0gcGF5bG9hZDsKLUBAIC0xNzUsNiArMTgwLDggQEAgc3RhdGljIGludCBwYXJzZV9zdHJpbmcodm9pZCAqcGF5bG9hZCwgc2l6ZV90IHBheWxvYWRfc2l6ZSwgY2hhciAqb3V0LAorQEAgLTE2MCw2ICsxNjUsOCBAQCBzdGF0aWMgaW50IHBhcnNlX3N0cmluZyh2b2lkICpwYXlsb2FkLCBzaXplX3QgcGF5bG9hZF9zaXplLCBjaGFyICpvdXQsCiAgICByZXR1cm4gMDsKICB9CiAgCkBAIC0zOSwyMiArMzksMjIgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGNjX3ZhbHVlX2xpc3RfdCAqc3RhdGUpIHsKICAgIGNoYXIgYnVmW0xDQ19OQU1FX0xFTl07CiBkaWZmIC0tZ2l0IGEvc3JjL3dyaXRlX3NlbnN1LmMgYi9zcmMvd3JpdGVfc2Vuc3UuYwotaW5kZXggY2UyM2U2NTQuLjYzZTFmNTk5IDEwMDY0NAoraW5kZXggYmQ3YTU2ZC4uNmNiNTlkNSAxMDA2NDQKIC0tLSBhL3NyYy93cml0ZV9zZW5zdS5jCiArKysgYi9zcmMvd3JpdGVfc2Vuc3UuYwotQEAgLTU2OSw2ICs1NjksMTEgQEAgc3RhdGljIGNoYXIgKnNlbnN1X3ZhbHVlX3RvX2pzb24oc3RydWN0IHNlbnN1X2hvc3QgY29uc3QgKmhvc3QsIC8qIHt7eyAqLworQEAgLTU3MCw2ICs1NzAsMTEgQEAgc3RhdGljIGNoYXIgKnNlbnN1X3ZhbHVlX3RvX2pzb24oc3RydWN0IHNlbnN1X2hvc3QgY29uc3QgKmhvc3QsIC8qIHt7eyAqLwogICAgcmV0dXJuIHJldF9zdHI7CiAgfSAvKiB9fX0gY2hhciAqc2Vuc3VfdmFsdWVfdG9fanNvbiAqLwogIAogKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcHVzaAotKyNpZiBfX0dOVUNfXyA9PSA4CisrI2lmIF9fR05VQ19fID4gNwogKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdzdHJpbmdvcC1vdmVyZmxvdyIKICsjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1Xc3RyaW5nb3AtdHJ1bmNhdGlvbiIKICsjZW5kaWYKICAvKgogICAqIFVzZXMgcmVwbGFjZV9zdHIyKCkgaW1wbGVtZW50YXRpb24gZnJvbQogICAqIGh0dHA6Ly9jcmVhdGl2ZWFuZGNyaXRpY2FsLm5ldC9zdHItcmVwbGFjZS1jLwotQEAgLTYzMSw2ICs2MzYsOCBAQCBzdGF0aWMgY2hhciAqcmVwbGFjZV9zdHIoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICpvbGQsIC8qIHt7eyAqLworQEAgLTYzMiw2ICs2MzcsOCBAQCBzdGF0aWMgY2hhciAqcmVwbGFjZV9zdHIoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICpvbGQsIC8qIHt7eyAqLwogICAgcmV0dXJuIHJldDsKICB9IC8qIH19fSBjaGFyICpyZXBsYWNlX3N0ciAqLwogIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkLzAwMDYtbGliY29sbGVjdGRjbGllbnQtRml4LXN0cmluZy1vdmVyZmxvdy1lcnJvcnMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY29sbGVjdGQvY29sbGVjdGQvMDAwNi1saWJjb2xsZWN0ZGNsaWVudC1GaXgtc3RyaW5nLW92ZXJmbG93LWVycm9ycy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZWQ2NTJmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkLzAwMDYtbGliY29sbGVjdGRjbGllbnQtRml4LXN0cmluZy1vdmVyZmxvdy1lcnJvcnMucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSA5ODcxOWVhN2Y3MTc3NTBjNzkwYTFmOTM4NGVhOGQwMTE3ZTdmNTJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMTcgRGVjIDIwMTggMTg6MTU6MDUgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gbGliY29sbGVjdGRjbGllbnQ6IEZpeCBzdHJpbmcgb3ZlcmZsb3cgZXJyb3JzCisKK0Vuc3VyZSB0aGF0IHN0cmluZyBoYXMgYSBzcGFjZSBmb3IgZW5kaW5nIG51bGwgY2hhcgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9saWJjb2xsZWN0ZGNsaWVudC9uZXR3b3JrX3BhcnNlLmMgfCA2ICsrKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvbGliY29sbGVjdGRjbGllbnQvbmV0d29ya19wYXJzZS5jIGIvc3JjL2xpYmNvbGxlY3RkY2xpZW50L25ldHdvcmtfcGFyc2UuYworaW5kZXggZmVmNDNhOS4uNmQ2NTI2NiAxMDA2NDQKKy0tLSBhL3NyYy9saWJjb2xsZWN0ZGNsaWVudC9uZXR3b3JrX3BhcnNlLmMKKysrKyBiL3NyYy9saWJjb2xsZWN0ZGNsaWVudC9uZXR3b3JrX3BhcnNlLmMKK0BAIC0xNjksOSArMTY5LDkgQEAgc3RhdGljIGludCBwYXJzZV9zdHJpbmcodm9pZCAqcGF5bG9hZCwgc2l6ZV90IHBheWxvYWRfc2l6ZSwgY2hhciAqb3V0LAorIAorIHN0YXRpYyBpbnQgcGFyc2VfaWRlbnRpZmllcih1aW50MTZfdCB0eXBlLCB2b2lkICpwYXlsb2FkLCBzaXplX3QgcGF5bG9hZF9zaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsY2NfdmFsdWVfbGlzdF90ICpzdGF0ZSkgeworLSAgY2hhciBidWZbTENDX05BTUVfTEVOXTsKKy0KKy0gIGlmIChwYXJzZV9zdHJpbmcocGF5bG9hZCwgcGF5bG9hZF9zaXplLCBidWYsIHNpemVvZihidWYpKSAhPSAwKQorKyAgY2hhciBidWZbTENDX05BTUVfTEVOKzFdOworKyAgYnVmW0xDQ19OQU1FX0xFTl0gPSAnXDAnOworKyAgaWYgKHBhcnNlX3N0cmluZyhwYXlsb2FkLCBwYXlsb2FkX3NpemUsIGJ1ZiwgTENDX05BTUVfTEVOKSAhPSAwKQorICAgICByZXR1cm4gRUlOVkFMOworIAorICAgc3dpdGNoICh0eXBlKSB7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY29sbGVjdGQvY29sbGVjdGRfNS44LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY29sbGVjdGQvY29sbGVjdGRfNS44LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRmOWZhMjMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkXzUuOC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsODcgKzAsMCBAQAotU1VNTUFSWSA9ICJDb2xsZWN0cyBhbmQgc3VtbWFyaXNlcyBzeXN0ZW0gcGVyZm9ybWFuY2Ugc3RhdGlzdGljcyIKLURFU0NSSVBUSU9OID0gImNvbGxlY3RkIGlzIGEgZGFlbW9uIHdoaWNoIGNvbGxlY3RzIHN5c3RlbSBwZXJmb3JtYW5jZSBzdGF0aXN0aWNzIHBlcmlvZGljYWxseSBhbmQgcHJvdmlkZXMgbWVjaGFuaXNtcyB0byBzdG9yZSB0aGUgdmFsdWVzIGluIGEgdmFyaWV0eSBvZiB3YXlzLCBmb3IgZXhhbXBsZSBpbiBSUkQgZmlsZXMuIgotTElDRU5TRSA9ICJHUEx2MiAmIE1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTFiZDIxZjE5ZjdmMGM2MWE3YmU4ZWNhY2IwZTI4ODU0IgotCi1ERVBFTkRTID0gInJyZHRvb2wgY3VybCBsaWJwY2FwIGxpYnhtbDIgeWFqbCBsaWJnY3J5cHQgbGlidG9vbCBsdm0yIgotCi1TUkNfVVJJID0gImh0dHA6Ly9jb2xsZWN0ZC5vcmcvZmlsZXMvY29sbGVjdGQtJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9jb2xsZWN0ZC5pbml0IFwKLSAgICAgICAgICAgZmlsZTovL2NvbGxlY3RkLnNlcnZpY2UgXAotICAgICAgICAgICBmaWxlOi8vbm8tZ2NyeXB0LWJhZHBhdGgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25kaXRpb25hbGx5LWNoZWNrLWxpYnZpcnQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1maXgtdG8tYnVpbGQtd2l0aC1nbGliYy0yLjI1LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLUNoZWNrLWZvci1Xbm8tZXJyb3ItZm9ybWF0LXRydW5jYXRpb24tY29tcC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA1LURpc2FibGUtbmV3LWdjYzgtd2FybmluZ3MucGF0Y2ggXAotICAgICAgICAgICAiCi1TUkNfVVJJW21kNXN1bV0gPSAiYTg0MTE1OTMyMzYyNGYxOGJmMDMxOThlOWY1YWEzNjQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjA2ZmY0NzZiYmYwNTUzM2NiOTdhZTY3NDkyNjJjYzNjNzZjOTk2OWYwMzJiZDg0OTY2OTAwODRkZGViMTVjOSIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcHl0aG9ubmF0aXZlIHVwZGF0ZS1yYy5kIHBrZ2NvbmZpZyBzeXN0ZW1kCi0KLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJjb2xsZWN0ZC5zZXJ2aWNlIgotCi0jIEZsb2F0aW5ncG9pbnQgbGF5b3V0LCBhcmNoaXRlY3R1cmUgZGVwZW5kZW50Ci0jICdub3RoaW5nJywgJ2VuZGlhbmZsaXAnIG9yICdpbnRzd2FwJwotRlBMQVlPVVQgPz0gIi0td2l0aC1mcC1sYXlvdXQ9bm90aGluZyIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiIKLVBBQ0tBR0VDT05GSUdbb3Blbmpka10gPSAiLS13aXRoLWphdmE9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtsaWJkaXJ9L2p2bSwtLXdpdGhvdXQtamF2YSxvcGVuamRrLTciCi1QQUNLQUdFQ09ORklHW3NubXBdID0gIi0tZW5hYmxlLXNubXAsLS1kaXNhYmxlLXNubXAgLS13aXRoLWxpYm5ldHNubXA9bm8sbmV0LXNubXAiCi1QQUNLQUdFQ09ORklHW2xpYm1lbWNhY2hlZF0gPSAiLS13aXRoLWxpYm1lbWNhY2hlZCwtLXdpdGhvdXQtbGlibWVtY2FjaGVkLGxpYm1lbWNhY2hlZCIKLVBBQ0tBR0VDT05GSUdbaXB0YWJsZXNdID0gIi0tZW5hYmxlLWlwdGFibGVzLC0tZGlzYWJsZS1pcHRhYmxlcyxpcHRhYmxlcyIKLVBBQ0tBR0VDT05GSUdbcG9zdGdyZXNxbF0gPSAiLS1lbmFibGUtcG9zdGdyZXNxbCAtLXdpdGgtbGlicHE9eWVzLCBcCi0gICAgICAgIC0tZGlzYWJsZS1wb3N0Z3Jlc3FsIC0td2l0aC1saWJwcT1ubyxwb3N0Z3Jlc3FsIgotUEFDS0FHRUNPTkZJR1tteXNxbF0gPSAiLS1lbmFibGUtbXlzcWwgLS13aXRoLWxpYm15c3FsPXllcywgXAotICAgICAgICAtLWRpc2FibGUtbXlzcWwgLS13aXRoLWxpYm15c3FsPW5vLG15c3FsNSIKLVBBQ0tBR0VDT05GSUdbZGJpXSA9ICItLWVuYWJsZS1kYmksLS1kaXNhYmxlLWRiaSxsaWJkYmkiCi1QQUNLQUdFQ09ORklHW21vZGJ1c10gPSAiLS1lbmFibGUtbW9kYnVzLC0tZGlzYWJsZS1tb2RidXMsbGlibW9kYnVzIgotUEFDS0FHRUNPTkZJR1tsaWJvd2NhcGldID0gIi0td2l0aC1saWJvd2NhcGksLS13aXRob3V0LWxpYm93Y2FwaSxvd2ZzIgotUEFDS0FHRUNPTkZJR1tzZW5zb3JzXSA9ICItLWVuYWJsZS1zZW5zb3JzIC0td2l0aC1saWJzZW5zb3JzPXllcywgXAotICAgICAgICAtLWRpc2FibGUtc2Vuc29ycyAtLXdpdGgtbGlic2Vuc29ycz1ubyxsbXNlbnNvcnMiCi1QQUNLQUdFQ09ORklHW2FtcXBdID0gIi0tZW5hYmxlLWFtcXAgLS13aXRoLWxpYnJhYmJpdG1xPXllcywgXAotICAgICAgICAtLWRpc2FibGUtYW1xcCAtLXdpdGgtbGlicmFiYml0bXE9bm8scmFiYml0bXEtYyIKLSMgcHJvdG9idWYtYywgbGlidmlydCB0aGF0IGFyZSBjdXJyZW50bHkgb25seSBhdmFpbGFibGUgaW4gbWV0YS12aXJ0dWFsaXphdGlvbiBsYXllcgotUEFDS0FHRUNPTkZJR1twaW5iYV0gPSAiLS1lbmFibGUtcGluYmEsLS1kaXNhYmxlLXBpbmJhLHByb3RvYnVmLWMtbmF0aXZlIHByb3RvYnVmLWMiCi1QQUNLQUdFQ09ORklHW2xpYnZpcnRdID0gIi0tZW5hYmxlLXZpcnQsLS1kaXNhYmxlLXZpcnQsbGlidmlydCIKLVBBQ0tBR0VDT05GSUdbbGliZXNtdHBdID0gIi0td2l0aC1saWJlc210cCwtLXdpdGhvdXQtbGliZXNtdHAsbGliZXNtdHAiCi1QQUNLQUdFQ09ORklHW2xpYm1ubF0gPSAiLS13aXRoLWxpYm1ubCwtLXdpdGhvdXQtbGlibW5sLGxpYm1ubCIKLVBBQ0tBR0VDT05GSUdbbGliYXRhc21hcnRdID0gIi0td2l0aC1saWJhdGFzbWFydCwtLXdpdGhvdXQtbGliYXRhc21hcnQsbGliYXRhc21hcnQiCi1QQUNLQUdFQ09ORklHW2xkYXBdID0gIi0tZW5hYmxlLW9wZW5sZGFwIC0td2l0aC1saWJsZGFwLC0tZGlzYWJsZS1vcGVubGRhcCAtLXdpdGhvdXQtbGlibGRhcCwgb3BlbmxkYXAiCi0KLUVYVFJBX09FQ09ORiA9ICIgXAotICAgICAgICAgICAgICAgICR7RlBMQVlPVVR9IFwKLSAgICAgICAgICAgICAgICAtLWRpc2FibGUtcGVybCAtLXdpdGgtbGlicGVybD1ubyAtLXdpdGgtcGVybC1iaW5kaW5ncz1ubyBcCi0gICAgICAgICAgICAgICAgLS13aXRoLWxpYmdjcnlwdD0ke1NUQUdJTkdfQklORElSX0NST1NTfS9saWJnY3J5cHQtY29uZmlnIFwKLSAgICAgICAgICAgICAgICAtLWRpc2FibGUtbm90aWZ5X2Rlc2t0b3AgXAotIgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAotICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2NvbGxlY3RkLmluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2NvbGxlY3RkCi0gICAgc2VkIC1pICdzIS91c3Ivc2Jpbi8hJHtzYmluZGlyfS8hZycgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2NvbGxlY3RkCi0gICAgc2VkIC1pICdzIS9ldGMvISR7c3lzY29uZmRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9jb2xsZWN0ZAotICAgIHNlZCAtaSAncyEvdmFyLyEke2xvY2Fsc3RhdGVkaXJ9LyFnJyAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvY29sbGVjdGQKLSAgICBzZWQgLWkgJ3MhXlBBVEg9LiohUEFUSD0ke2Jhc2Vfc2JpbmRpcn06JHtiYXNlX2JpbmRpcn06JHtzYmluZGlyfToke2JpbmRpcn0hJyAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvY29sbGVjdGQKLSAgICBpbnN0YWxsIC1EbSAwNjQwICR7Qn0vc3JjL2NvbGxlY3RkLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vY29sbGVjdGQuY29uZgotICAgICMgRml4IGNvbmZpZ3VyYXRpb24gZmlsZSB0byBhbGxvdyBjb2xsZWN0ZCB0byBzdGFydCB1cAotICAgIHNlZCAtaSAncyFeI0ZRRE5Mb29rdXBbIFx0XSp0cnVlIUZRRE5Mb29rdXAgICBmYWxzZSFnJyAke0R9JHtzeXNjb25mZGlyfS9jb2xsZWN0ZC5jb25mCi0KLSAgICBybWRpciAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuIgotICAgIHJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICIke0R9JHtsb2NhbHN0YXRlZGlyfSIKLQotICAgICMgSW5zdGFsbCBzeXN0ZW1kIHVuaXQgZmlsZXMKLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vY29sbGVjdGQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotICAgIHNlZCAtaSAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyBcCi0gICAgICAgICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2NvbGxlY3RkLnNlcnZpY2UKLX0KLQotQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vY29sbGVjdGQuY29uZiIKLQotSU5JVFNDUklQVF9OQU1FID0gImNvbGxlY3RkIgotSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMiCi0KLSMgdGhyZXNob2xkLnNvIGxvYWQuc28gYXJlIGFsc28gcHJvdmlkZWQgYnkgZ2VnbAotIyBkaXNrLnNvIGlzIGFsc28gcHJvdmlkZWQgYnkgbGliZ3Bob3RvMi1jYW1saWJzCi1QUklWQVRFX0xJQlMgPSAidGhyZXNob2xkLnNvIGxvYWQuc28gZGlzay5zbyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jb2xsZWN0ZC9jb2xsZWN0ZF81LjguMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jb2xsZWN0ZC9jb2xsZWN0ZF81LjguMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZGZmMThjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkXzUuOC4xLmJiCkBAIC0wLDAgKzEsODggQEAKK1NVTU1BUlkgPSAiQ29sbGVjdHMgYW5kIHN1bW1hcmlzZXMgc3lzdGVtIHBlcmZvcm1hbmNlIHN0YXRpc3RpY3MiCitERVNDUklQVElPTiA9ICJjb2xsZWN0ZCBpcyBhIGRhZW1vbiB3aGljaCBjb2xsZWN0cyBzeXN0ZW0gcGVyZm9ybWFuY2Ugc3RhdGlzdGljcyBwZXJpb2RpY2FsbHkgYW5kIHByb3ZpZGVzIG1lY2hhbmlzbXMgdG8gc3RvcmUgdGhlIHZhbHVlcyBpbiBhIHZhcmlldHkgb2Ygd2F5cywgZm9yIGV4YW1wbGUgaW4gUlJEIGZpbGVzLiIKK0xJQ0VOU0UgPSAiR1BMdjIgJiBNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xYmQyMWYxOWY3ZjBjNjFhN2JlOGVjYWNiMGUyODg1NCIKKworREVQRU5EUyA9ICJycmR0b29sIGN1cmwgbGlicGNhcCBsaWJ4bWwyIHlhamwgbGliZ2NyeXB0IGxpYnRvb2wgbHZtMiIKKworU1JDX1VSSSA9ICJodHRwOi8vY29sbGVjdGQub3JnL2ZpbGVzL2NvbGxlY3RkLSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vY29sbGVjdGQuaW5pdCBcCisgICAgICAgICAgIGZpbGU6Ly9jb2xsZWN0ZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL25vLWdjcnlwdC1iYWRwYXRoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZGl0aW9uYWxseS1jaGVjay1saWJ2aXJ0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZml4LXRvLWJ1aWxkLXdpdGgtZ2xpYmMtMi4yNS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS1DaGVjay1mb3ItV25vLWVycm9yLWZvcm1hdC10cnVuY2F0aW9uLWNvbXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNS1EaXNhYmxlLW5ldy1nY2M4LXdhcm5pbmdzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDYtbGliY29sbGVjdGRjbGllbnQtRml4LXN0cmluZy1vdmVyZmxvdy1lcnJvcnMucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiYmZjZTk2YzQyY2VkZTUyNDMwMjg1MTBiY2M1N2MxZTYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTc5NmZkYTI3Y2UwNjM3N2Y0OTFhZDkxYWEyODY5NjJhNjhjMmI1NDA3NmFhNzdhMjk2NzNkNTMyMDQ0NTNkYSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcHl0aG9ubmF0aXZlIHVwZGF0ZS1yYy5kIHBrZ2NvbmZpZyBzeXN0ZW1kCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJjb2xsZWN0ZC5zZXJ2aWNlIgorCisjIEZsb2F0aW5ncG9pbnQgbGF5b3V0LCBhcmNoaXRlY3R1cmUgZGVwZW5kZW50CisjICdub3RoaW5nJywgJ2VuZGlhbmZsaXAnIG9yICdpbnRzd2FwJworRlBMQVlPVVQgPz0gIi0td2l0aC1mcC1sYXlvdXQ9bm90aGluZyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbb3Blbmpka10gPSAiLS13aXRoLWphdmE9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtsaWJkaXJ9L2p2bSwtLXdpdGhvdXQtamF2YSxvcGVuamRrLTciCitQQUNLQUdFQ09ORklHW3NubXBdID0gIi0tZW5hYmxlLXNubXAsLS1kaXNhYmxlLXNubXAgLS13aXRoLWxpYm5ldHNubXA9bm8sbmV0LXNubXAiCitQQUNLQUdFQ09ORklHW2xpYm1lbWNhY2hlZF0gPSAiLS13aXRoLWxpYm1lbWNhY2hlZCwtLXdpdGhvdXQtbGlibWVtY2FjaGVkLGxpYm1lbWNhY2hlZCIKK1BBQ0tBR0VDT05GSUdbaXB0YWJsZXNdID0gIi0tZW5hYmxlLWlwdGFibGVzLC0tZGlzYWJsZS1pcHRhYmxlcyxpcHRhYmxlcyIKK1BBQ0tBR0VDT05GSUdbcG9zdGdyZXNxbF0gPSAiLS1lbmFibGUtcG9zdGdyZXNxbCAtLXdpdGgtbGlicHE9eWVzLCBcCisgICAgICAgIC0tZGlzYWJsZS1wb3N0Z3Jlc3FsIC0td2l0aC1saWJwcT1ubyxwb3N0Z3Jlc3FsIgorUEFDS0FHRUNPTkZJR1tteXNxbF0gPSAiLS1lbmFibGUtbXlzcWwgLS13aXRoLWxpYm15c3FsPXllcywgXAorICAgICAgICAtLWRpc2FibGUtbXlzcWwgLS13aXRoLWxpYm15c3FsPW5vLG15c3FsNSIKK1BBQ0tBR0VDT05GSUdbZGJpXSA9ICItLWVuYWJsZS1kYmksLS1kaXNhYmxlLWRiaSxsaWJkYmkiCitQQUNLQUdFQ09ORklHW21vZGJ1c10gPSAiLS1lbmFibGUtbW9kYnVzLC0tZGlzYWJsZS1tb2RidXMsbGlibW9kYnVzIgorUEFDS0FHRUNPTkZJR1tsaWJvd2NhcGldID0gIi0td2l0aC1saWJvd2NhcGksLS13aXRob3V0LWxpYm93Y2FwaSxvd2ZzIgorUEFDS0FHRUNPTkZJR1tzZW5zb3JzXSA9ICItLWVuYWJsZS1zZW5zb3JzIC0td2l0aC1saWJzZW5zb3JzPXllcywgXAorICAgICAgICAtLWRpc2FibGUtc2Vuc29ycyAtLXdpdGgtbGlic2Vuc29ycz1ubyxsbXNlbnNvcnMiCitQQUNLQUdFQ09ORklHW2FtcXBdID0gIi0tZW5hYmxlLWFtcXAgLS13aXRoLWxpYnJhYmJpdG1xPXllcywgXAorICAgICAgICAtLWRpc2FibGUtYW1xcCAtLXdpdGgtbGlicmFiYml0bXE9bm8scmFiYml0bXEtYyIKKyMgcHJvdG9idWYtYywgbGlidmlydCB0aGF0IGFyZSBjdXJyZW50bHkgb25seSBhdmFpbGFibGUgaW4gbWV0YS12aXJ0dWFsaXphdGlvbiBsYXllcgorUEFDS0FHRUNPTkZJR1twaW5iYV0gPSAiLS1lbmFibGUtcGluYmEsLS1kaXNhYmxlLXBpbmJhLHByb3RvYnVmLWMtbmF0aXZlIHByb3RvYnVmLWMiCitQQUNLQUdFQ09ORklHW2xpYnZpcnRdID0gIi0tZW5hYmxlLXZpcnQsLS1kaXNhYmxlLXZpcnQsbGlidmlydCIKK1BBQ0tBR0VDT05GSUdbbGliZXNtdHBdID0gIi0td2l0aC1saWJlc210cCwtLXdpdGhvdXQtbGliZXNtdHAsbGliZXNtdHAiCitQQUNLQUdFQ09ORklHW2xpYm1ubF0gPSAiLS13aXRoLWxpYm1ubCwtLXdpdGhvdXQtbGlibW5sLGxpYm1ubCIKK1BBQ0tBR0VDT05GSUdbbGliYXRhc21hcnRdID0gIi0td2l0aC1saWJhdGFzbWFydCwtLXdpdGhvdXQtbGliYXRhc21hcnQsbGliYXRhc21hcnQiCitQQUNLQUdFQ09ORklHW2xkYXBdID0gIi0tZW5hYmxlLW9wZW5sZGFwIC0td2l0aC1saWJsZGFwLC0tZGlzYWJsZS1vcGVubGRhcCAtLXdpdGhvdXQtbGlibGRhcCwgb3BlbmxkYXAiCisKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgICAgICAgICAgICAgICR7RlBMQVlPVVR9IFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtcGVybCAtLXdpdGgtbGlicGVybD1ubyAtLXdpdGgtcGVybC1iaW5kaW5ncz1ubyBcCisgICAgICAgICAgICAgICAgLS13aXRoLWxpYmdjcnlwdD0ke1NUQUdJTkdfQklORElSX0NST1NTfS9saWJnY3J5cHQtY29uZmlnIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtbm90aWZ5X2Rlc2t0b3AgXAorIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2NvbGxlY3RkLmluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2NvbGxlY3RkCisgICAgc2VkIC1pICdzIS91c3Ivc2Jpbi8hJHtzYmluZGlyfS8hZycgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2NvbGxlY3RkCisgICAgc2VkIC1pICdzIS9ldGMvISR7c3lzY29uZmRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9jb2xsZWN0ZAorICAgIHNlZCAtaSAncyEvdmFyLyEke2xvY2Fsc3RhdGVkaXJ9LyFnJyAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvY29sbGVjdGQKKyAgICBzZWQgLWkgJ3MhXlBBVEg9LiohUEFUSD0ke2Jhc2Vfc2JpbmRpcn06JHtiYXNlX2JpbmRpcn06JHtzYmluZGlyfToke2JpbmRpcn0hJyAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvY29sbGVjdGQKKyAgICBpbnN0YWxsIC1EbSAwNjQwICR7Qn0vc3JjL2NvbGxlY3RkLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vY29sbGVjdGQuY29uZgorICAgICMgRml4IGNvbmZpZ3VyYXRpb24gZmlsZSB0byBhbGxvdyBjb2xsZWN0ZCB0byBzdGFydCB1cAorICAgIHNlZCAtaSAncyFeI0ZRRE5Mb29rdXBbIFx0XSp0cnVlIUZRRE5Mb29rdXAgICBmYWxzZSFnJyAke0R9JHtzeXNjb25mZGlyfS9jb2xsZWN0ZC5jb25mCisKKyAgICBybWRpciAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuIgorICAgIHJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICIke0R9JHtsb2NhbHN0YXRlZGlyfSIKKworICAgICMgSW5zdGFsbCBzeXN0ZW1kIHVuaXQgZmlsZXMKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vY29sbGVjdGQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIHNlZCAtaSAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyBcCisgICAgICAgICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2NvbGxlY3RkLnNlcnZpY2UKK30KKworQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vY29sbGVjdGQuY29uZiIKKworSU5JVFNDUklQVF9OQU1FID0gImNvbGxlY3RkIgorSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMiCisKKyMgdGhyZXNob2xkLnNvIGxvYWQuc28gYXJlIGFsc28gcHJvdmlkZWQgYnkgZ2VnbAorIyBkaXNrLnNvIGlzIGFsc28gcHJvdmlkZWQgYnkgbGliZ3Bob3RvMi1jYW1saWJzCitQUklWQVRFX0xJQlMgPSAidGhyZXNob2xkLnNvIGxvYWQuc28gZGlzay5zbyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9oYXZlZ2VkL2hhdmVnZWQvaGF2ZWdlZC1pbml0LmQtTWFrZWZpbGUuYW0tYWRkLW1pc3NpbmctZGVwZW5kZW5jeS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9oYXZlZ2VkL2hhdmVnZWQvaGF2ZWdlZC1pbml0LmQtTWFrZWZpbGUuYW0tYWRkLW1pc3NpbmctZGVwZW5kZW5jeS5wYXRjaAppbmRleCAzNmZkNTdjLi4wMjBhYzJjIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaGF2ZWdlZC9oYXZlZ2VkL2hhdmVnZWQtaW5pdC5kLU1ha2VmaWxlLmFtLWFkZC1taXNzaW5nLWRlcGVuZGVuY3kucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2hhdmVnZWQvaGF2ZWdlZC9oYXZlZ2VkLWluaXQuZC1NYWtlZmlsZS5hbS1hZGQtbWlzc2luZy1kZXBlbmRlbmN5LnBhdGNoCkBAIC0zLDEzICszLDE0IEBACiBEYXRlOiBUdWUsIDI3IE1hciAyMDE4IDEwOjIxOjA5ICswODAwCiBTdWJqZWN0OiBbUEFUQ0hdIGluaXQuZC9NYWtlZmlsZS5hbTogYWRkIG1pc3NpbmcgZGVwZW5kZW5jeQogCi1pbnN0YWxsLWRhdGEtaG9vayBzaG91bGQgZXBlbmQgb24gaW5zdGFsbC1leGVjLWhvb2ssIG9yIHRoZQoraW5zdGFsbC1kYXRhLWhvb2sgc2hvdWxkIGRlcGVuZCBvbiBpbnN0YWxsLWV4ZWMtaG9vaywgb3IgdGhlCiBoYXZlZ2VkLnNlcnZpY2UgbWlnaHQgYmUgaW5zdGFsbGVkIGluY29ycmVjdGx5IHdoZW4gYnVpbGQKIHdpdGggLWogb3B0aW9uLgogCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW25vIHVwc3RyZWFtIG1haWxpbmcgbGlzdF0KK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vamlya2EtaC9oYXZlZ2VkL3B1bGwvMTNdCiAKIFNpZ25lZC1vZmYtYnk6IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiByYWoua2hlbUBnbWFpbC5jb20KIC0tLQogIGluaXQuZC9NYWtlZmlsZS5hbSB8IDIgKy0KICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKQEAgLTIxLDEyICsyMiwxMSBAQAogQEAgLTMzLDcgKzMzLDcgQEAgaWYgRU5BQkxFX1NZU1RFTUQKICBpbnN0YWxsLWV4ZWMtaG9vazoKICAJJChkb19zdWJzdCkgPCAkKHNyY2RpcikvJChzcmNfdG1wbCkgPiBoYXZlZ2VkLnNlcnZpY2U7Ci0gCisKIC1pbnN0YWxsLWRhdGEtaG9vazoKICtpbnN0YWxsLWRhdGEtaG9vazogaW5zdGFsbC1leGVjLWhvb2sKICBpZiBFTkFCTEVfU1lTVEVNRF9MT09LVVAKICAJaW5zdGFsbCAtcCAtRCAtbTY0NCBoYXZlZ2VkLnNlcnZpY2UgJChERVNURElSKWBwa2ctY29uZmlnIC0tdmFyaWFibGU9c3lzdGVtZHN5c3RlbXVuaXRkaXIgc3lzdGVtZGAvaGF2ZWdlZC5zZXJ2aWNlOwogIGVsc2UKLS0tIAorLS0KIDIuMTEuMAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaGF2ZWdlZC9oYXZlZ2VkXzEuOS4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2hhdmVnZWQvaGF2ZWdlZF8xLjkuMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmYxMzY3My4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaGF2ZWdlZC9oYXZlZ2VkXzEuOS4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotU1VNTUFSWSA9ICJoYXZlZ2VkIC0gQSBzaW1wbGUgZW50cm9weSBkYWVtb24iCi1ERVNDUklQVElPTiA9ICJUaGUgaGF2ZWdlZCBwcm9qZWN0IGlzIGFuIGF0dGVtcHQgdG8gcHJvdmlkZSBhbiBlYXN5LXRvLXVzZSwgdW5wcmVkaWN0YWJsZSByYW5kb20gbnVtYmVyIGdlbmVyYXRvciBiYXNlZCB1cG9uIGFuIGFkYXB0YXRpb24gb2YgdGhlIEhBVkVHRSBhbGdvcml0aG0uIEhhdmVnZWQgd2FzIGNyZWF0ZWQgdG8gcmVtZWR5IGxvdy1lbnRyb3B5IGNvbmRpdGlvbnMgaW4gdGhlIExpbnV4IHJhbmRvbSBkZXZpY2UgdGhhdCBjYW4gb2NjdXIgdW5kZXIgc29tZSB3b3JrbG9hZHMsIGVzcGVjaWFsbHkgb24gaGVhZGxlc3Mgc2VydmVycy4iCi1BVVRIT1IgPSAiR2FyeSBXdWVydHoiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3Lmlzc2lob3N0cy5jb20vaGF2ZWdlZC9pbmRleC5odG1sIgotTElDRU5TRSA9ICJHUEx2MyIKLUxJQ19GSUxFU19DSEtTVU09ImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKLQotU1JDX1VSSSA9ICJodHRwOi8vd3d3Lmlzc2lob3N0cy5jb20vaGF2ZWdlZC9oYXZlZ2VkLSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9oYXZlZ2VkLWluaXQuZC1NYWtlZmlsZS5hbS1hZGQtbWlzc2luZy1kZXBlbmRlbmN5LnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gImZiMWQ4YjNkY2JiOWQwNmIzMGVjY2Q4YWE1MDBmZDMxIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImY3N2Q5YWRiZGY0MjFiNjE2MDFmYTI5ZmFhOWNlM2I0NzlkOTEwZjczYzY2YjllMzY0YmE4NjQyY2NiZmJlNzAiCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8vd3d3Lmlzc2lob3N0cy5jb20vaGF2ZWdlZC9kb3dubG9hZHMuaHRtbCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLXJjLmQgc3lzdGVtZAotCi1FWFRSQV9PRUNPTkYgPSAiXAotICAgIC0tZW5hYmxlLW5pc3Rlc3Q9eWVzIFwKLSAgICAtLWVuYWJsZS1vbHQ9eWVzIFwKLSAgICAtLWVuYWJsZS10aHJlYWRzPW5vIFwKLSIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCBkKX0iCi1QQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0tZW5hYmxlLWluaXQ9c2VydmljZS5yZWRoYXQgLS1lbmFibGUtaW5pdGRpcj0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9LCAtLWVuYWJsZS1pbml0PXN5c3YucmVkaGF0LCBzeXN0ZW1kIgotCi1JTklUU0NSSVBUX1BBQ0tBR0VTID0gIiR7UE59IgotSU5JVFNDUklQVF9OQU1FID0gImhhdmVnZWQiCi1JTklUU0NSSVBUX1BBUkFNU18ke1BOfSA9ICJkZWZhdWx0cyA5IgotCi1TWVNURU1EX1BBQ0tBR0VTID0gIiR7UE59IgotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImhhdmVnZWQuc2VydmljZSIKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgIyBUaGUgZXhpdCBzdGF0dXMgaXMgMTQzIHdoZW4gdGhlIHNlcnZpY2UgaXMgc3RvcHBlZAotICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0gICAgICAgIHNlZCAtaSAnL0V4ZWNTdGFydC9hIFN1Y2Nlc3NFeGl0U3RhdHVzPTE0MycgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vaGF2ZWdlZC5zZXJ2aWNlCi0gICAgZmkKLX0KLQotTUlQU19JTlNUUlVDVElPTl9TRVQgPSAibWlwcyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9oYXZlZ2VkL2hhdmVnZWRfMS45LjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaGF2ZWdlZC9oYXZlZ2VkXzEuOS40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyYWFiNTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaGF2ZWdlZC9oYXZlZ2VkXzEuOS40LmJiCkBAIC0wLDAgKzEsNDIgQEAKK1NVTU1BUlkgPSAiaGF2ZWdlZCAtIEEgc2ltcGxlIGVudHJvcHkgZGFlbW9uIgorREVTQ1JJUFRJT04gPSAiVGhlIGhhdmVnZWQgcHJvamVjdCBpcyBhbiBhdHRlbXB0IHRvIHByb3ZpZGUgYW4gZWFzeS10by11c2UsIHVucHJlZGljdGFibGUgcmFuZG9tIG51bWJlciBnZW5lcmF0b3IgYmFzZWQgdXBvbiBhbiBhZGFwdGF0aW9uIG9mIHRoZSBIQVZFR0UgYWxnb3JpdGhtLiBIYXZlZ2VkIHdhcyBjcmVhdGVkIHRvIHJlbWVkeSBsb3ctZW50cm9weSBjb25kaXRpb25zIGluIHRoZSBMaW51eCByYW5kb20gZGV2aWNlIHRoYXQgY2FuIG9jY3VyIHVuZGVyIHNvbWUgd29ya2xvYWRzLCBlc3BlY2lhbGx5IG9uIGhlYWRsZXNzIHNlcnZlcnMuIgorQVVUSE9SID0gIkdhcnkgV3VlcnR6IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5pc3NpaG9zdHMuY29tL2hhdmVnZWQvaW5kZXguaHRtbCIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNPSJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCisKKyMgdjEuOS40CitTUkNSRVYgPSAiZmFhNDBmZjM0NWFmMTk0ZDMyNTNmNWZiMDMwNDAzZTNjOTgzMWMzNiIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9qaXJrYS1oL2hhdmVnZWQuZ2l0IFwKKyAgICAgICAgICAgZmlsZTovL2hhdmVnZWQtaW5pdC5kLU1ha2VmaWxlLmFtLWFkZC1taXNzaW5nLWRlcGVuZGVuY3kucGF0Y2ggXAorIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9qaXJrYS1oL2hhdmVnZWQvcmVsZWFzZXMiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHVwZGF0ZS1yYy5kIHN5c3RlbWQKKworRVhUUkFfT0VDT05GID0gIlwKKyAgICAtLWVuYWJsZS1uaXN0ZXN0PXllcyBcCisgICAgLS1lbmFibGUtb2x0PXllcyBcCisgICAgLS1lbmFibGUtdGhyZWFkcz1ubyBcCisiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgZCl9IgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLWVuYWJsZS1pbml0PXNlcnZpY2UucmVkaGF0IC0tZW5hYmxlLWluaXRkaXI9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfSwgLS1lbmFibGUtaW5pdD1zeXN2LnJlZGhhdCwgc3lzdGVtZCIKKworSU5JVFNDUklQVF9QQUNLQUdFUyA9ICIke1BOfSIKK0lOSVRTQ1JJUFRfTkFNRSA9ICJoYXZlZ2VkIgorSU5JVFNDUklQVF9QQVJBTVNfJHtQTn0gPSAiZGVmYXVsdHMgOSIKKworU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfSIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJoYXZlZ2VkLnNlcnZpY2UiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICMgVGhlIGV4aXQgc3RhdHVzIGlzIDE0MyB3aGVuIHRoZSBzZXJ2aWNlIGlzIHN0b3BwZWQKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICBzZWQgLWkgJy9FeGVjU3RhcnQvYSBTdWNjZXNzRXhpdFN0YXR1cz0xNDMnICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2hhdmVnZWQuc2VydmljZQorICAgIGZpCit9CisKK01JUFNfSU5TVFJVQ1RJT05fU0VUID0gIm1pcHMiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvamFuc3Nvbi9qYW5zc29uXzIuMTEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvamFuc3Nvbi9qYW5zc29uXzIuMTEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM3MGZhMjIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2phbnNzb24vamFuc3Nvbl8yLjExLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotU1VNTUFSWSA9ICJKYW5zc29uIGlzIGEgQyBsaWJyYXJ5IGZvciBlbmNvZGluZywgZGVjb2RpbmcgYW5kIG1hbmlwdWxhdGluZyBKU09OIGRhdGEiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmRpZ2lwLm9yZy9qYW5zc29uLyIKLUxJQ0VOU0UgPSAiTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9OGI3MDIxM2VjMTY0YzdiZDg3NmVjMjEyMGJhNTJmNjEiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5kaWdpcC5vcmcvamFuc3Nvbi9yZWxlYXNlcy8ke0JQTn0tJHtQVn0udGFyLmd6IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiN2FmMDcxZGI5OTcwNDQxZTFlYWFmMjU2NjIzMTBlMzMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmU4NWY0MmRhYmU0OWE3ODMxZGJkZDZkMzBkY2E4YTk2Njk1NmI1MWE5YTUwZWQ1MzRiODJhZmMzZmE1YjJmNCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9qYW5zc29uL2phbnNzb25fMi4xMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9qYW5zc29uL2phbnNzb25fMi4xMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zY2MzNTNlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2phbnNzb24vamFuc3Nvbl8yLjEyLmJiCkBAIC0wLDAgKzEsMTMgQEAKK1NVTU1BUlkgPSAiSmFuc3NvbiBpcyBhIEMgbGlicmFyeSBmb3IgZW5jb2RpbmcsIGRlY29kaW5nIGFuZCBtYW5pcHVsYXRpbmcgSlNPTiBkYXRhIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5kaWdpcC5vcmcvamFuc3Nvbi8iCitCVUdUUkFDS0VSID0gImh0dHBzOi8vZ2l0aHViLmNvbS9ha2hlcm9uL2phbnNzb24vaXNzdWVzIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1mYzI1NDhjMGViODM4MDBmMjkzMzAwNDBlMThiNWEwNSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmRpZ2lwLm9yZy9qYW5zc29uL3JlbGVhc2VzLyR7QlBOfS0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwZWQxZjNhOTI0NjA0YWFlNjgwNjdjMjE0YjAwMTBlZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1ZjhkZWM3NjUwNDhlZmFjNWQ5MTlhZGVkNTFiMjZhMzJhMDUzOTdlYTIwN2FhNzY5ZmY2YjUzYzcwMjdkMmM5IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xjZHByb2MvbGNkcHJvY19naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGNkcHJvYy9sY2Rwcm9jX2dpdC5iYgppbmRleCA5M2EwOWYyLi4xMzU0OTk3IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGNkcHJvYy9sY2Rwcm9jX2dpdC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGNkcHJvYy9sY2Rwcm9jX2dpdC5iYgpAQCAtMTksOSArMTksMTAgQEAKIAogaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHVwZGF0ZS1yYy5kCiAKLUNPTVBBVElCTEVfSE9TVF9hcm1fbGliYy1tdXNsID0gIm51bGwiCi0KIExDRF9EUklWRVJTID89ICJhbGwsIWlybWFuLCFzdmdhIgorTENEX0RSSVZFUlNfYXBwZW5kX2FhcmNoNjQgPSAiLCFzZXJpYWxWRkQiCitMQ0RfRFJJVkVSU19hcHBlbmRfYXJtID0gIiwhc2VyaWFsVkZEIgorCiBMQ0RfREVGQVVMVF9EUklWRVIgPz0gImN1cnNlcyIKIAogUEFDS0FHRUNPTkZJRyA/Pz0gInVzYiIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJibG9ja2Rldi9saWJibG9ja2Rldl8yLjE4LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmJsb2NrZGV2L2xpYmJsb2NrZGV2XzIuMTguYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM1ZjBjYzAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmJsb2NrZGV2L2xpYmJsb2NrZGV2XzIuMTguYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi1ERVNDUklQVElPTiA9ICJsaWJibG9ja2RldiBpcyBhIEMgbGlicmFyeSBzdXBwb3J0aW5nIEdPYmplY3QgaW50cm9zcGVjdGlvbiBmb3IgbWFuaXB1bGF0aW9uIG9mIFwKLWJsb2NrIGRldmljZXMuIEl0IGhhcyBhIHBsdWdpbi1iYXNlZCBhcmNoaXRlY3R1cmUgd2hlcmUgZWFjaCB0ZWNobm9sb2d5IChsaWtlIFwKLUxWTSwgQnRyZnMsIE1EIFJBSUQsIFN3YXAsLi4uKSBpcyBpbXBsZW1lbnRlZCBpbiBhIHNlcGFyYXRlIHBsdWdpbiwgcG9zc2libHkgXAotd2l0aCBtdWx0aXBsZSBpbXBsZW1lbnRhdGlvbnMgKGUuZy4gdXNpbmcgTFZNIENMSSBvciB0aGUgbmV3IExWTSBEQnVzIEFQSSkuIgotSE9NRVBBR0UgPSAiaHR0cDovL3JoaW5zdGFsbGVyLmdpdGh1Yi5pby9saWJibG9ja2Rldi8iCi1MSUNFTlNFID0gIkxHUEx2MisiCi1TRUNUSU9OID0gImRldmVsL2xpYiIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YzA3Y2I0OTlkMjU5NDUyZjMyNGJiOTBjMzA2N2Q4NWMiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHB5dGhvbjNuYXRpdmUgZ29iamVjdC1pbnRyb3NwZWN0aW9uCi0KLVNSQ1JFViA9ICIwZGViZWI0NTU2MmFjM2Q4ZjZmNDNmNmY5NDJiMjM4YWJhYjU1YmU5IgotU1JDX1VSSSA9ICIgXAotICAgIGdpdDovL2dpdGh1Yi5jb20vcmhpbnN0YWxsZXIvbGliYmxvY2tkZXY7YnJhbmNoPW1hc3RlciBcCi0iCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLUZJTEVTXyR7UE59ICs9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gInB5dGhvbjMgbHZtIGRtIGttb2QgcGFydGVkIGZzIGVzY3JvdyBidHJmcyBjcnlwdG8gbWRyYWlkIGtiZCBtcGF0aCIKLVBBQ0tBR0VDT05GSUdbcHl0aG9uM10gPSAiLS13aXRoLXB5dGhvbjMsIC0td2l0aG91dC1weXRob24zLCxweXRob24zIgotUEFDS0FHRUNPTkZJR1tweXRob24yXSA9ICItLXdpdGgtcHl0aG9uMiwgLS13aXRob3V0LXB5dGhvbjIsLHB5dGhvbjIiCi1QQUNLQUdFQ09ORklHW2x2bV0gPSAiLS13aXRoLWx2bSwgLS13aXRob3V0LWx2bSwgbXVsdGlwYXRoLXRvb2xzLCBsdm0yIgotUEFDS0FHRUNPTkZJR1tsdm0tZGJ1c10gPSAiLS13aXRoLWx2bV9kYnVzLCAtLXdpdGhvdXQtbHZtX2RidXMsIG11bHRpcGF0aC10b29scywgbHZtMiIKLVBBQ0tBR0VDT05GSUdbZG1dID0gIi0td2l0aC1kbSwgLS13aXRob3V0LWRtLCBtdWx0aXBhdGgtdG9vbHMsIGx2bTIiCi1QQUNLQUdFQ09ORklHW2RtcmFpZF0gPSAiLS13aXRoLWRtcmFpZCwgLS13aXRob3V0LWRtcmFpZCIKLVBBQ0tBR0VDT05GSUdba21vZF0gPSAiLS13aXRoLWtiZCwgLS13aXRob3V0LWtiZCwga21vZCIKLVBBQ0tBR0VDT05GSUdbcGFydGVkXSA9ICItLXdpdGgtcGFydCwgLS13aXRob3V0LXBhcnQsIHBhcnRlZCIKLVBBQ0tBR0VDT05GSUdbZnNdID0gIi0td2l0aC1mcywgLS13aXRob3V0LWZzLCB1dGlsLWxpbnV4IgotUEFDS0FHRUNPTkZJR1tkb2NdID0gIi0td2l0aC1ndGstZG9jLCAtLXdpdGhvdXQtZ3RrLWRvYywgZ3RrLWRvYy1uYXRpdmUiCi1QQUNLQUdFQ09ORklHW252ZGltbV0gPSAiLS13aXRoLW52ZGltbSwgLS13aXRob3V0LW52ZGltbSIKLVBBQ0tBR0VDT05GSUdbdmRvXSA9ICItLXdpdGgtdmRvLCAtLXdpdGhvdXQtdmRvIgotUEFDS0FHRUNPTkZJR1tlc2Nyb3ddID0gIi0td2l0aC1lc2Nyb3csIC0td2l0aG91dC1lc2Nyb3csIG5zcyB2b2x1bWUta2V5IgotUEFDS0FHRUNPTkZJR1tidHJmc10gPSAiLS13aXRoLWJ0cmZzLC0td2l0aG91dC1idHJmcyxsaWJieXRlc2l6ZSBidHJmcy10b29scyIKLVBBQ0tBR0VDT05GSUdbY3J5cHRvXSA9ICItLXdpdGgtY3J5cHRvLC0td2l0aG91dC1jcnlwdG8sY3J5cHRzZXR1cCBuc3Mgdm9sdW1lLWtleSIKLVBBQ0tBR0VDT05GSUdbbWRyYWlkXSA9ICItLXdpdGgtbWRyYWlkLC0td2l0aG91dC1tZHJhaWQsbGliYnl0ZXNpemUiCi1QQUNLQUdFQ09ORklHW2tiZF0gPSAiLS13aXRoLWtiZCwtLXdpdGhvdXQta2JkLGxpYmJ5dGVzaXplIgotUEFDS0FHRUNPTkZJR1ttcGF0aF0gPSAiLS13aXRoLW1wYXRoLC0td2l0aG91dC1tcGF0aCwgbXVsdGlwYXRoLXRvb2xzLCBsdm0yIgotCi1leHBvcnQgR0lSX0VYVFJBX0xJQlNfUEFUSD0iJHtCfS9zcmMvdXRpbHMvLmxpYnMiCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJibG9ja2Rldi9saWJibG9ja2Rldl8yLjIwLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmJsb2NrZGV2L2xpYmJsb2NrZGV2XzIuMjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTRhMTg4ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJibG9ja2Rldi9saWJibG9ja2Rldl8yLjIwLmJiCkBAIC0wLDAgKzEsNDMgQEAKK0RFU0NSSVBUSU9OID0gImxpYmJsb2NrZGV2IGlzIGEgQyBsaWJyYXJ5IHN1cHBvcnRpbmcgR09iamVjdCBpbnRyb3NwZWN0aW9uIGZvciBtYW5pcHVsYXRpb24gb2YgXAorYmxvY2sgZGV2aWNlcy4gSXQgaGFzIGEgcGx1Z2luLWJhc2VkIGFyY2hpdGVjdHVyZSB3aGVyZSBlYWNoIHRlY2hub2xvZ3kgKGxpa2UgXAorTFZNLCBCdHJmcywgTUQgUkFJRCwgU3dhcCwuLi4pIGlzIGltcGxlbWVudGVkIGluIGEgc2VwYXJhdGUgcGx1Z2luLCBwb3NzaWJseSBcCit3aXRoIG11bHRpcGxlIGltcGxlbWVudGF0aW9ucyAoZS5nLiB1c2luZyBMVk0gQ0xJIG9yIHRoZSBuZXcgTFZNIERCdXMgQVBJKS4iCitIT01FUEFHRSA9ICJodHRwOi8vcmhpbnN0YWxsZXIuZ2l0aHViLmlvL2xpYmJsb2NrZGV2LyIKK0xJQ0VOU0UgPSAiTEdQTHYyKyIKK1NFQ1RJT04gPSAiZGV2ZWwvbGliIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1jMDdjYjQ5OWQyNTk0NTJmMzI0YmI5MGMzMDY3ZDg1YyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcHl0aG9uM25hdGl2ZSBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworU1JDUkVWID0gImNiMzA4NTY2YzNjNTIyMmI4NDIyZjc4OTk3YTE3NDI3MTNiMjY1YTkiCitTUkNfVVJJID0gIiBcCisgICAgZ2l0Oi8vZ2l0aHViLmNvbS9yaGluc3RhbGxlci9saWJibG9ja2RldjticmFuY2g9bWFzdGVyIFwKKyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworRklMRVNfJHtQTn0gKz0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IgorCitQQUNLQUdFQ09ORklHID8/PSAicHl0aG9uMyBsdm0gZG0ga21vZCBwYXJ0ZWQgZnMgZXNjcm93IGJ0cmZzIGNyeXB0byBtZHJhaWQga2JkIG1wYXRoIG52ZGltbSIKK1BBQ0tBR0VDT05GSUdbcHl0aG9uM10gPSAiLS13aXRoLXB5dGhvbjMsIC0td2l0aG91dC1weXRob24zLCxweXRob24zIgorUEFDS0FHRUNPTkZJR1tweXRob24yXSA9ICItLXdpdGgtcHl0aG9uMiwgLS13aXRob3V0LXB5dGhvbjIsLHB5dGhvbjIiCitQQUNLQUdFQ09ORklHW2x2bV0gPSAiLS13aXRoLWx2bSwgLS13aXRob3V0LWx2bSwgbXVsdGlwYXRoLXRvb2xzLCBsdm0yIgorUEFDS0FHRUNPTkZJR1tsdm0tZGJ1c10gPSAiLS13aXRoLWx2bV9kYnVzLCAtLXdpdGhvdXQtbHZtX2RidXMsIG11bHRpcGF0aC10b29scywgbHZtMiIKK1BBQ0tBR0VDT05GSUdbZG1dID0gIi0td2l0aC1kbSwgLS13aXRob3V0LWRtLCBtdWx0aXBhdGgtdG9vbHMsIGx2bTIiCitQQUNLQUdFQ09ORklHW2RtcmFpZF0gPSAiLS13aXRoLWRtcmFpZCwgLS13aXRob3V0LWRtcmFpZCIKK1BBQ0tBR0VDT05GSUdba21vZF0gPSAiLS13aXRoLWtiZCwgLS13aXRob3V0LWtiZCwga21vZCIKK1BBQ0tBR0VDT05GSUdbcGFydGVkXSA9ICItLXdpdGgtcGFydCwgLS13aXRob3V0LXBhcnQsIHBhcnRlZCIKK1BBQ0tBR0VDT05GSUdbZnNdID0gIi0td2l0aC1mcywgLS13aXRob3V0LWZzLCB1dGlsLWxpbnV4IgorUEFDS0FHRUNPTkZJR1tkb2NdID0gIi0td2l0aC1ndGstZG9jLCAtLXdpdGhvdXQtZ3RrLWRvYywgZ3RrLWRvYy1uYXRpdmUiCitQQUNLQUdFQ09ORklHW252ZGltbV0gPSAiLS13aXRoLW52ZGltbSwgLS13aXRob3V0LW52ZGltbSwgbmRjdGwgdXRpbC1saW51eCIKK1BBQ0tBR0VDT05GSUdbdmRvXSA9ICItLXdpdGgtdmRvLCAtLXdpdGhvdXQtdmRvIgorUEFDS0FHRUNPTkZJR1tlc2Nyb3ddID0gIi0td2l0aC1lc2Nyb3csIC0td2l0aG91dC1lc2Nyb3csIG5zcyB2b2x1bWUta2V5IgorUEFDS0FHRUNPTkZJR1tidHJmc10gPSAiLS13aXRoLWJ0cmZzLC0td2l0aG91dC1idHJmcyxsaWJieXRlc2l6ZSBidHJmcy10b29scyIKK1BBQ0tBR0VDT05GSUdbY3J5cHRvXSA9ICItLXdpdGgtY3J5cHRvLC0td2l0aG91dC1jcnlwdG8sY3J5cHRzZXR1cCBuc3Mgdm9sdW1lLWtleSIKK1BBQ0tBR0VDT05GSUdbbWRyYWlkXSA9ICItLXdpdGgtbWRyYWlkLC0td2l0aG91dC1tZHJhaWQsbGliYnl0ZXNpemUiCitQQUNLQUdFQ09ORklHW2tiZF0gPSAiLS13aXRoLWtiZCwtLXdpdGhvdXQta2JkLGxpYmJ5dGVzaXplIgorUEFDS0FHRUNPTkZJR1ttcGF0aF0gPSAiLS13aXRoLW1wYXRoLC0td2l0aG91dC1tcGF0aCwgbXVsdGlwYXRoLXRvb2xzLCBsdm0yIgorCitleHBvcnQgR0lSX0VYVFJBX0xJQlNfUEFUSD0iJHtCfS9zcmMvdXRpbHMvLmxpYnMiCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJyZXBvcnQvbGlicmVwb3J0XzIuOS41LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYnJlcG9ydC9saWJyZXBvcnRfMi45LjUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU0Mjk1NmMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYnJlcG9ydC9saWJyZXBvcnRfMi45LjUuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi1ERVNDUklQVElPTiA9ICJMaWJyYXJpZXMgcHJvdmlkaW5nIEFQSSBmb3IgcmVwb3J0aW5nIGRpZmZlcmVudCBwcm9ibGVtcyBpbiBhcHBsaWNhdGlvbnMgXAotdG8gZGlmZmVyZW50IGJ1ZyB0YXJnZXRzIGxpa2UgQnVnemlsbGEsIGZ0cCwgdHJhYywgZXRjLi4uIgotU1VNTUFSWSA9ICJHZW5lcmljIGxpYnJhcnkgZm9yIHJlcG9ydGluZyB2YXJpb3VzIHByb2JsZW1zIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9hYnJ0LnJlYWR0aGVkb2NzLm9yZy8iCi1MSUNFTlNFID0gIkdQTHYyKyIKLURFUEVORFMgPSAieG1scnBjLWMgeG1scnBjLWMtbmF0aXZlIGludGx0b29sLW5hdGl2ZSBcCi0gICAgICAgIGpzb24tYyBsaWJ0YXIgbGlibmV3dCBsaWJwcm94eSBycG0gXAotICAgICAgICBhdWdlYXMgc2F0eXIgc3lzdGVtZCBcCi0iCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgotCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9hYnJ0L2xpYnJlcG9ydC5naXQ7cHJvdG9jb2w9aHR0cHMiCi1TUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1NYWtlZmlsZS5hbS1yZW1vdmUtZG9jLWFuZC1hcGlkb2MucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDItY29uZmlndXJlLmFjLXJlbW92ZS1wcm9nLXRlc3Qtb2YteG1sdG8tYW5kLWFzY2lpZG9jLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAzLXdpdGhvdXQtYnVpbGQtcGx1Z2lucy5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwNC1jb25maWd1cmUuYWMtcmVtb3ZlLXByb2ctdGVzdC1vZi1hdWdwYXJzZS5wYXRjaCBcCi0iCi1TUkNSRVYgPSAiMTVmOTJiY2FmNzNlNWViODk1OGZiZGU2NTVhNTdkY2QxMTE3NTdhNyIKLQotVVBTVFJFQU1fQ0hFQ0tfR0lUVEFHUkVHRVggPSAiKD9QPHB2ZXI+XGQrKFwuXGQrKSspIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1pbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjawotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gInN5c3RlbWQiCi0KLWluaGVyaXQgZ2V0dGV4dCBhdXRvdG9vbHMgcHl0aG9uM25hdGl2ZSBwa2djb25maWcKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCd4MTEnLCdndGsnLCcnLGQpfSIKLVBBQ0tBR0VDT05GSUdbZ3RrXSA9ICItLXdpdGgtZ3RrLCAtLXdpdGhvdXQtZ3RrLCBndGsrMywiCi0KLUVYVFJBX09FQ09ORiArPSAiLS13aXRob3V0LXB5dGhvbjIgLS13aXRoLXB5dGhvbjMiCi0KLVJERVBFTkRTX3B5dGhvbjMtbGlicmVwb3J0ICs9ICIke1BOfSIKLQotZG9fcGF0Y2hbcHJlZnVuY3NdICs9ICJkb19nZW5fdmVyc2lvbiIKLWRvX2dlbl92ZXJzaW9uKCkgewotICAgIGNkICR7U30KLSAgICAuL2dlbi12ZXJzaW9uCi19Ci0KLVBBQ0tBR0VTICs9ICJweXRob24zLWxpYnJlcG9ydCIKLQotRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vKiIKLUZJTEVTXyR7UE59LWRiZyArPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vKi8uZGVidWciCi1GSUxFU19weXRob24zLWxpYnJlcG9ydCA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qIgotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlicmVwb3J0L2xpYnJlcG9ydF8yLjkuNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJyZXBvcnQvbGlicmVwb3J0XzIuOS43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhMjI4MzYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlicmVwb3J0L2xpYnJlcG9ydF8yLjkuNy5iYgpAQCAtMCwwICsxLDQ5IEBACitERVNDUklQVElPTiA9ICJMaWJyYXJpZXMgcHJvdmlkaW5nIEFQSSBmb3IgcmVwb3J0aW5nIGRpZmZlcmVudCBwcm9ibGVtcyBpbiBhcHBsaWNhdGlvbnMgXAordG8gZGlmZmVyZW50IGJ1ZyB0YXJnZXRzIGxpa2UgQnVnemlsbGEsIGZ0cCwgdHJhYywgZXRjLi4uIgorU1VNTUFSWSA9ICJHZW5lcmljIGxpYnJhcnkgZm9yIHJlcG9ydGluZyB2YXJpb3VzIHByb2JsZW1zIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9hYnJ0LnJlYWR0aGVkb2NzLm9yZy8iCitMSUNFTlNFID0gIkdQTHYyKyIKK0RFUEVORFMgPSAieG1scnBjLWMgeG1scnBjLWMtbmF0aXZlIGludGx0b29sLW5hdGl2ZSBcCisgICAgICAgIGpzb24tYyBsaWJ0YXIgbGlibmV3dCBsaWJwcm94eSBycG0gXAorICAgICAgICBhdWdlYXMgc2F0eXIgc3lzdGVtZCBcCisiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9hYnJ0L2xpYnJlcG9ydC5naXQ7cHJvdG9jb2w9aHR0cHMiCitTUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1NYWtlZmlsZS5hbS1yZW1vdmUtZG9jLWFuZC1hcGlkb2MucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDItY29uZmlndXJlLmFjLXJlbW92ZS1wcm9nLXRlc3Qtb2YteG1sdG8tYW5kLWFzY2lpZG9jLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAzLXdpdGhvdXQtYnVpbGQtcGx1Z2lucy5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwNC1jb25maWd1cmUuYWMtcmVtb3ZlLXByb2ctdGVzdC1vZi1hdWdwYXJzZS5wYXRjaCBcCisiCitTUkNSRVYgPSAiMWQ1Y2MwMGU0NGFmNDgwMGZjYWU5NzYxNjI1ZGQ0MjMwNjgxZTgyYSIKKworVVBTVFJFQU1fQ0hFQ0tfR0lUVEFHUkVHRVggPSAiKD9QPHB2ZXI+XGQrKFwuXGQrKSspIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjaworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gInN5c3RlbWQiCisKK2luaGVyaXQgZ2V0dGV4dCBhdXRvdG9vbHMgcHl0aG9uM25hdGl2ZSBwa2djb25maWcKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCd4MTEnLCdndGsnLCcnLGQpfSIKK1BBQ0tBR0VDT05GSUdbZ3RrXSA9ICItLXdpdGgtZ3RrLCAtLXdpdGhvdXQtZ3RrLCBndGsrMywiCisKK0VYVFJBX09FQ09ORiArPSAiLS13aXRob3V0LXB5dGhvbjIgLS13aXRoLXB5dGhvbjMiCisKK1JERVBFTkRTX3B5dGhvbjMtbGlicmVwb3J0ICs9ICIke1BOfSIKKworZG9fcGF0Y2hbcHJlZnVuY3NdICs9ICJkb19nZW5fdmVyc2lvbiIKK2RvX2dlbl92ZXJzaW9uKCkgeworICAgIGNkICR7U30KKyAgICAuL2dlbi12ZXJzaW9uCit9CisKK1BBQ0tBR0VTICs9ICJweXRob24zLWxpYnJlcG9ydCIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vKiIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vKi8uZGVidWciCitGSUxFU19weXRob24zLWxpYnJlcG9ydCA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qIgorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlic2VyaWFscG9ydC9saWJzZXJpYWxwb3J0XzAuMS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYnNlcmlhbHBvcnQvbGlic2VyaWFscG9ydF8wLjEuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOTJkNGJjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYnNlcmlhbHBvcnQvbGlic2VyaWFscG9ydF8wLjEuMS5iYgpAQCAtMCwwICsxLDEyIEBACitERVNDUklQVElPTiA9ICJsaWJzZXJpYWxwb3J0IGlzIGEgbWluaW1hbCwgY3Jvc3MtcGxhdGZvcm0gc2hhcmVkIGxpYnJhcnkgd3JpdHRlbiBpbiBDIHRoYXQgaXMgaW50ZW5kZWQgdG8gdGFrZSBjYXJlIG9mIHRoZSBPUy1zcGVjaWZpYyBkZXRhaWxzIHdoZW4gd3JpdGluZyBzb2Z0d2FyZSB0aGF0IHVzZXMgc2VyaWFsIHBvcnRzLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vc2lncm9rLm9yZy93aWtpL0xpYnNlcmlhbHBvcnQiCisKK0xJQ0VOU0UgPSAiTEdQTC0zLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTZhNjAwZmQ1ZTFkOWNiZGUyZDk4MzY4MDIzM2FkMDIiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK1NSQ19VUkkgPSAiaHR0cDovL3NpZ3Jvay5vcmcvZG93bmxvYWQvc291cmNlL2xpYnNlcmlhbHBvcnQvbGlic2VyaWFscG9ydC0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiOTNmMDMyNWE2MTU3MTk4MTUyYjViZDdlODE4MmI1MSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0YTJhZjlkOWMzZmY0ODhlOTJmYjc1YjRiYTM4YjM1YmNmOWI4YTY2ZGYwNDc3M2ViYTJhN2JiZjFmYTc1MjlkIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYnppcC9saWJ6aXBfMS41LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGliemlwL2xpYnppcF8xLjUuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZTczNzAwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYnppcC9saWJ6aXBfMS41LjEuYmIKQEAgLTAsMCArMSwxOCBAQAorREVTQ1JJUFRJT04gPSAibGliemlwIGlzIGEgQyBsaWJyYXJ5IGZvciByZWFkaW5nLCBjcmVhdGluZywgYW5kIG1vZGlmeWluZyB6aXAgYXJjaGl2ZXMuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9saWJ6aXAub3JnLyIKKworTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0wMWY4YjFiOGRhNjQwMzczOTA5NDM5NmUxNWIxZTcyMiIKKworREVQRU5EUyA9ICJ6bGliIGJ6aXAyIgorCitQQUNLQUdFQ09ORklHW3NzbF0gPSAiLURFTkFCTEVfT1BFTlNTTD1PTiwtREVOQUJMRV9PUEVOU1NMPU9GRixvcGVuc3NsIgorCitQQUNLQUdFQ09ORklHID89ICJzc2wiCisKK2luaGVyaXQgY21ha2UKKworU1JDX1VSSSA9ICJodHRwczovL2xpYnppcC5vcmcvZG93bmxvYWQvbGliemlwLSR7UFZ9LnRhci54eiIKKworU1JDX1VSSVttZDVzdW1dID0gIjZmZTY2NWFhNmQ2YmYzYTk5ZWI2ZmE5YzU1MzI4M2ZkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA0ZWEzNWI2OTU2YzdiMzQ1M2YxZWQzZjNmZTQwZTNkZGFlMWY0MzkzMTA4OTEyNDU3OWU4Mzg0ZTc5ZWQzNzIiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbG9nd2F0Y2gvbG9nd2F0Y2hfNy40LjMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbG9nd2F0Y2gvbG9nd2F0Y2hfNy40LjMuYmIKaW5kZXggYWVhNTM5ZS4uMjc1YThmMiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xvZ3dhdGNoL2xvZ3dhdGNoXzcuNC4zLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9sb2d3YXRjaC9sb2d3YXRjaF83LjQuMy5iYgpAQCAtMjAsOSArMjAsOSBAQAogICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtkYXRhZGlyfS9sb2d3YXRjaC9kaXN0LmNvbmYvbG9nZmlsZXMKICAgICBpbnN0YWxsIC1tIDA3NTUgLWQgJHtEfSR7ZGF0YWRpcn0vbG9nd2F0Y2gvZGlzdC5jb25mL3NlcnZpY2VzCiAgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2NhY2hlL2xvZ3dhdGNoCi0gICAgbXYgY29uZi8gJHtEfSR7ZGF0YWRpcn0vbG9nd2F0Y2gvZGVmYXVsdC5jb25mCi0gICAgbXYgc2NyaXB0cy8gJHtEfSR7ZGF0YWRpcn0vbG9nd2F0Y2gvc2NyaXB0cwotICAgIG12IGxpYiAke0R9JHtkYXRhZGlyfS9sb2d3YXRjaC9saWIKKyAgICBjcCAtciAtZiBjb25mLyAke0R9JHtkYXRhZGlyfS9sb2d3YXRjaC9kZWZhdWx0LmNvbmYKKyAgICBjcCAtciAtZiBzY3JpcHRzLyAke0R9JHtkYXRhZGlyfS9sb2d3YXRjaC9zY3JpcHRzCisgICAgY3AgLXIgLWYgbGliICR7RH0ke2RhdGFkaXJ9L2xvZ3dhdGNoL2xpYgogICAgIGNob3duIC1SIHJvb3Q6cm9vdCAke0R9JHtkYXRhZGlyfS9sb2d3YXRjaAogCiAgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke21hbmRpcn0vbWFuMQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21vempzL21vempzL2Zvcm1hdC1vdmVyZmxvdy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqcy9mb3JtYXQtb3ZlcmZsb3cucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjljNmE3YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqcy9mb3JtYXQtb3ZlcmZsb3cucGF0Y2gKQEAgLTAsMCArMSwyMSBAQAorRHJvcCBlbmFibGUgZm9ybWF0IHN0cmluZyB3YXJuaW5ncyB0byBoZWxwIGdjYzkKKworRml4ZXMKK3wgL21udC9hL3lvZS9idWlsZC90bXAvd29yay9jb3JlMi02NC15b2UtbGludXgtbXVzbC9tb3pqcy81Mi45LjEtcjAvbW96anMtNTIuOS4xL2pzL3NyYy9qaXQveDY0L0Jhc2VBc3NlbWJsZXIteDY0Lmg6NTk2OjEzOiBlcnJvcjogJyVzJyBkaXJlY3RpdmUgYXJndW1lbnQgaXMgbnVsbCBbLVdlcnJvcj1mb3JtYXQtb3ZlcmZsb3c9XQorfCAgIDU5NiB8ICAgICAgICAgc3BldygibW92cSAgICAgICAiIE1FTV9vYnMgIiwgJXMiLCBBRERSX29icyhvZmZzZXQsIGJhc2UsIGluZGV4LCBzY2FsZSksIEdQUmVnNjROYW1lKGRzdCkpOworfCAgICAgICB8ICAgICAgICAgfn5+fl5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbV29ya2Fyb3VuZCBmb3IgZ2NjOV0KK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKKy0tLSBhL2pzL3NyYy9tb3ouYnVpbGQKKysrKyBiL2pzL3NyYy9tb3ouYnVpbGQKK0BAIC03ODUsNyArNzg1LDcgQEAgaWYgQ09ORklHWydKU19IQVNfQ1RZUEVTJ106CisgICAgICAgICBERUZJTkVTWydGRklfQlVJTERJTkcnXSA9IFRydWUKKyAKKyBpZiBDT05GSUdbJ0dOVV9DWFgnXToKKy0gICAgQ1hYRkxBR1MgKz0gWyctV25vLXNoYWRvdycsICctV2Vycm9yPWZvcm1hdCddCisrICAgIENYWEZMQUdTICs9IFsnLVduby1zaGFkb3cnXQorIAorICMgU3VwcHJlc3Mgd2FybmluZ3MgaW4gdGhpcmQtcGFydHkgY29kZS4KKyBpZiBDT05GSUdbJ0NMQU5HX0NYWCddOgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21vempzL21vempzXzUyLjkuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqc181Mi45LjEuYmIKaW5kZXggN2M4YTdhZS4uOTJkMTU3MiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21vempzL21vempzXzUyLjkuMS5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW96anMvbW96anNfNTIuOS4xLmJiCkBAIC0xNCw2ICsxNCw3IEBACiAgICAgICAgICAgIGZpbGU6Ly9kaXNhYmxlLW1vemdsdWUtaW4tc3RhbmQtYWxvbmUtYnVpbGRzLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL2FkZC1yaXNjdi1zdXBwb3J0LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtbW96anMtZml4LWNvcmVkdW1wLWNhdXNlZC1ieS1nZXRlbnYucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZm9ybWF0LW92ZXJmbG93LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL0pTX1BVQkxJQ19BUEkucGF0Y2ggXAogICAgICAgICAgICAiCiBTUkNfVVJJX2FwcGVuZF9saWJjLW11c2wgPSAiIFwKQEAgLTQ0LDcgKzQ1LDcgQEAKICAgICAtLWhvc3Q9JHtCVUlMRF9TWVN9IFwKICAgICAtLXByZWZpeD0ke3ByZWZpeH0gXAogICAgIC0tbGliZGlyPSR7bGliZGlyfSBcCi0gICAgLS1kaXNhYmxlLXRlc3RzIFwKKyAgICAtLWRpc2FibGUtdGVzdHMgLS1kaXNhYmxlLXN0cmlwIC0tZGlzYWJsZS1vcHRpbWl6ZSBcCiAgICAgLS13aXRoLW5zcHItbGlicz0nLWxwbGRzNCAtbHBsYzQgLWxuc3ByNCcgXAogICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGQtaXMtZ29sZCcsICItLWVuYWJsZS1nb2xkIiwgJy0tZGlzYWJsZS1nb2xkJywgZCl9IFwKICIKQEAgLTUyLDkgKzUzLDE1IEBACiBQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgZCl9IgogUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0teC1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSAtLXgtbGlicmFyaWVzPSR7U1RBR0lOR19MSUJESVJ9LC0teC1pbmNsdWRlcz1ubyAtLXgtbGlicmFyaWVzPW5vLHZpcnR1YWwvbGlieDExIgogCi1FWFRSQV9PRU1BS0VfdGFzay1jb21waWxlICs9ICJPU19MREZMQUdTPSctV2wsLWxhdG9taWMgJHtMREZMQUdTfSciCitFWFRSQV9PRU1BS0VfdGFzay1jb21waWxlICs9ICJCVUlMRF9PUFQ9MSBPU19MREZMQUdTPSctV2wsLWxhdG9taWMgJHtMREZMQUdTfSciCiBFWFRSQV9PRU1BS0VfdGFzay1pbnN0YWxsICs9ICJTVEFUSUNfTElCUkFSWV9OQU1FPWpzX3N0YXRpYyIKIAorZXhwb3J0IEhPU1RfQ0MgPSAiJHtCVUlMRF9DQ30iCitleHBvcnQgSE9TVF9DWFggPSAiJHtCVUlMRF9DWFh9IgorZXhwb3J0IEhPU1RfQ0ZMQUdTID0gIiR7QlVJTERfQ0ZMQUdTfSIKK2V4cG9ydCBIT1NUX0NQUEZMQUdTID0gIiR7QlVJTERfQ1BQRkxBR1N9IgorZXhwb3J0IEhPU1RfQ1hYRkxBR1MgPSAiJHtCVUlMRF9DWFhGTEFHU30iCisKIGRvX2NvbmZpZ3VyZSgpIHsKICAgICBleHBvcnQgU0hFTEw9Ii9iaW4vc2giCiAgICAgZXhwb3J0IFRNUD0iJHtCfSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVud3NtYW4vb3BlbndzbWFuLzAwMDEtQWRqdXN0LWZvci1DVVJMRV9TU0xfQ0FDRVJULWRlcHJlY2F0aW9uLWluLWN1cmwtNy42Mi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVud3NtYW4vb3BlbndzbWFuLzAwMDEtQWRqdXN0LWZvci1DVVJMRV9TU0xfQ0FDRVJULWRlcHJlY2F0aW9uLWluLWN1cmwtNy42Mi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZGNkMTA4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW53c21hbi9vcGVud3NtYW4vMDAwMS1BZGp1c3QtZm9yLUNVUkxFX1NTTF9DQUNFUlQtZGVwcmVjYXRpb24taW4tY3VybC03LjYyLnBhdGNoCkBAIC0wLDAgKzEsNDIgQEAKK0Zyb20gZjJjMzdmYWI1ZGJhZmZhMDZjMTI2OGVlMTMwOTU5NjMwNmM5YTRkZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDIwIE5vdiAyMDE4IDEyOjIzOjQ3IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkanVzdCBmb3IgQ1VSTEVfU1NMX0NBQ0VSVCBkZXByZWNhdGlvbiBpbiBjdXJsID49IDcuNjIKKworVXNlIENVUkxFX1BFRVJfRkFJTEVEX1ZFUklGSUNBVElPTiBpbnN0ZWFkCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgc3JjL2xpYi93c21hbi1jdXJsLWNsaWVudC10cmFuc3BvcnQuYyB8IDcgKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3NyYy9saWIvd3NtYW4tY3VybC1jbGllbnQtdHJhbnNwb3J0LmMgYi9zcmMvbGliL3dzbWFuLWN1cmwtY2xpZW50LXRyYW5zcG9ydC5jCitpbmRleCBkMGEzODI5Yi4uOTI3MjdmNGYgMTAwNjQ0CistLS0gYS9zcmMvbGliL3dzbWFuLWN1cmwtY2xpZW50LXRyYW5zcG9ydC5jCisrKysgYi9zcmMvbGliL3dzbWFuLWN1cmwtY2xpZW50LXRyYW5zcG9ydC5jCitAQCAtMTg2LDE2ICsxODYsMjMgQEAgY29udmVydF90b19sYXN0X2Vycm9yKENVUkxjb2RlIHIpCisgCQlyZXR1cm4gV1NfTEFTVEVSUl9TU0xfQ09OTkVDVF9FUlJPUjsKKyAgICAgICAgIGNhc2UgQ1VSTEVfQkFEX0ZVTkNUSU9OX0FSR1VNRU5UOgorICAgICAgICAgICAgICAgICByZXR1cm4gV1NfTEFTVEVSUl9DVVJMX0JBRF9GVU5DVElPTl9BUkc7CisrI2lmIExJQkNVUkxfVkVSU0lPTl9OVU0gPCAweDA3M0UwMAorIAljYXNlIENVUkxFX1NTTF9QRUVSX0NFUlRJRklDQVRFOgorIAkJcmV0dXJuIFdTX0xBU1RFUlJfU1NMX1BFRVJfQ0VSVElGSUNBVEU7CisrI2VuZGlmCisgCWNhc2UgQ1VSTEVfU1NMX0VOR0lORV9OT1RGT1VORDoKKyAJCXJldHVybiBXU19MQVNURVJSX1NTTF9FTkdJTkVfTk9URk9VTkQ7CisgCWNhc2UgQ1VSTEVfU1NMX0VOR0lORV9TRVRGQUlMRUQ6CisgCQlyZXR1cm4gV1NfTEFTVEVSUl9TU0xfRU5HSU5FX1NFVEZBSUxFRDsKKyAJY2FzZSBDVVJMRV9TU0xfQ0VSVFBST0JMRU06CisgCQlyZXR1cm4gV1NfTEFTVEVSUl9TU0xfQ0VSVFBST0JMRU07CisrI2lmIExJQkNVUkxfVkVSU0lPTl9OVU0gPCAweDA3M0UwMAorIAljYXNlIENVUkxFX1NTTF9DQUNFUlQ6CisgCQlyZXR1cm4gV1NfTEFTVEVSUl9TU0xfQ0FDRVJUOworKyNlbHNlCisrCWNhc2UgQ1VSTEVfUEVFUl9GQUlMRURfVkVSSUZJQ0FUSU9OOgorKwkJcmV0dXJuIFdTX0xBU1RFUlJfU1NMX1BFRVJfQ0VSVElGSUNBVEU7CisrI2VuZGlmCisgI2lmIExJQkNVUkxfVkVSU0lPTl9OVU0gPiAweDcwQzAxCisgCWNhc2UgQ1VSTEVfU1NMX0VOR0lORV9JTklURkFJTEVEOgorIAkJcmV0dXJuIFdTX0xBU1RFUlJfU1NMX0VOR0lORV9JTklURkFJTEVEOwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW53c21hbi9vcGVud3NtYW4vMDAwMS1Qb3J0LXRvLU9wZW5TU0wtMS4xLjAucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbndzbWFuL29wZW53c21hbi8wMDAxLVBvcnQtdG8tT3BlblNTTC0xLjEuMC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDlhZmE1Ni4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbndzbWFuL29wZW53c21hbi8wMDAxLVBvcnQtdG8tT3BlblNTTC0xLjEuMC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE2MiArMCwwIEBACi1Gcm9tIGY3ODY0M2QyMzg4ZGQwNjk3ZjgzZjE3ODgwNDAzMjUzYTA1OTZkODMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBWaXRlenNsYXYgQ3Job25layA8dmNyaG9uZWtAcmVkaGF0LmNvbT4KLURhdGU6IFdlZCwgNSBTZXAgMjAxOCAxMToyMzo0NiAtMDcwMAotU3ViamVjdDogW1BBVENIIDEvMl0gUG9ydCB0byBPcGVuU1NMIDEuMS4wCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vT3BlbndzbWFuL29wZW53c21hbi9wdWxsLzk5XQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIHNyYy9saWIvd3NtYW4tY3VybC1jbGllbnQtdHJhbnNwb3J0LmMgfCAgNiArKystCi0gc3JjL3NlcnZlci9zaHR0cGQvaW9fc3NsLmMgICAgICAgICAgICB8IDE3IC0tLS0tLS0tLS0KLSBzcmMvc2VydmVyL3NodHRwZC9zaHR0cGQuYyAgICAgICAgICAgIHwgMjAgKysrKy0tLS0tLS0tCi0gc3JjL3NlcnZlci9zaHR0cGQvc3NsLmggICAgICAgICAgICAgICB8IDQ2IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIDQgZmlsZXMgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgNzcgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvbGliL3dzbWFuLWN1cmwtY2xpZW50LXRyYW5zcG9ydC5jIGIvc3JjL2xpYi93c21hbi1jdXJsLWNsaWVudC10cmFuc3BvcnQuYwotaW5kZXggY2Q3ZjUxN2EuLmU2NGFkMDk3IDEwMDY0NAotLS0tIGEvc3JjL2xpYi93c21hbi1jdXJsLWNsaWVudC10cmFuc3BvcnQuYwotKysrIGIvc3JjL2xpYi93c21hbi1jdXJsLWNsaWVudC10cmFuc3BvcnQuYwotQEAgLTI0MSwxMiArMjQxLDE2IEBAIHdyaXRlX2hhbmRsZXIoIHZvaWQgKnB0ciwgc2l6ZV90IHNpemUsIHNpemVfdCBubWVtYiwgdm9pZCAqZGF0YSkKLSBzdGF0aWMgaW50IHNzbF9jZXJ0aWZpY2F0ZV90aHVtYnByaW50X3ZlcmlmeV9jYWxsYmFjayhYNTA5X1NUT1JFX0NUWCAqY3R4LCB2b2lkICphcmcpCi0gewotIAl1bnNpZ25lZCBjaGFyICp0aHVtYnByaW50ID0gKHVuc2lnbmVkIGNoYXIgKilhcmc7Ci0tCVg1MDkgKmNlcnQgPSBjdHgtPmNlcnQ7Ci0gCUVWUF9NRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqdGVtcERpZ2VzdDsKLSAKLSAJdW5zaWduZWQgY2hhciAgIHRlbXBGaW5nZXJwcmludFtFVlBfTUFYX01EX1NJWkVdOwotIAl1bnNpZ25lZCBpbnQgICAgICB0ZW1wRmluZ2VycHJpbnRMZW47Ci0gCXRlbXBEaWdlc3QgPSAoRVZQX01EKilFVlBfc2hhMSggKTsKLSsKLSsJWDUwOSAqY2VydCA9IFg1MDlfU1RPUkVfQ1RYX2dldF9jdXJyZW50X2NlcnQoY3R4KTsKLSsJaWYoIWNlcnQpCi0rCQlyZXR1cm4gMDsKLSsKLSAJaWYgKCBYNTA5X2RpZ2VzdChjZXJ0LCB0ZW1wRGlnZXN0LCB0ZW1wRmluZ2VycHJpbnQsICZ0ZW1wRmluZ2VycHJpbnRMZW4gKSA8PSAwKQotIAkJcmV0dXJuIDA7Ci0gCWlmKCFtZW1jbXAodGVtcEZpbmdlcnByaW50LCB0aHVtYnByaW50LCB0ZW1wRmluZ2VycHJpbnRMZW4pKQotZGlmZiAtLWdpdCBhL3NyYy9zZXJ2ZXIvc2h0dHBkL2lvX3NzbC5jIGIvc3JjL3NlcnZlci9zaHR0cGQvaW9fc3NsLmMKLWluZGV4IDZkZTBkYjJhLi43YWM2NjllNCAxMDA2NDQKLS0tLSBhL3NyYy9zZXJ2ZXIvc2h0dHBkL2lvX3NzbC5jCi0rKysgYi9zcmMvc2VydmVyL3NodHRwZC9pb19zc2wuYwotQEAgLTExLDIzICsxMSw2IEBACi0gI2luY2x1ZGUgImRlZnMuaCIKLSAKLSAjaWYgIWRlZmluZWQoTk9fU1NMKQotLXN0cnVjdCBzc2xfZnVuYwlzc2xfc3dbXSA9IHsKLS0JeyJTU0xfZnJlZSIsCQkJezB9fSwKLS0JeyJTU0xfYWNjZXB0IiwJCQl7MH19LAotLQl7IlNTTF9jb25uZWN0IiwJCQl7MH19LAotLQl7IlNTTF9yZWFkIiwJCQl7MH19LAotLQl7IlNTTF93cml0ZSIsCQkJezB9fSwKLS0JeyJTU0xfZ2V0X2Vycm9yIiwJCXswfX0sCi0tCXsiU1NMX3NldF9mZCIsCQkJezB9fSwKLS0JeyJTU0xfbmV3IiwJCQl7MH19LAotLQl7IlNTTF9DVFhfbmV3IiwJCQl7MH19LAotLQl7IlNTTHYyM19zZXJ2ZXJfbWV0aG9kIiwJezB9fSwKLS0JeyJTU0xfbGlicmFyeV9pbml0IiwJCXswfX0sCi0tCXsiU1NMX0NUWF91c2VfUHJpdmF0ZUtleV9maWxlIiwJezB9fSwKLS0JeyJTU0xfQ1RYX3VzZV9jZXJ0aWZpY2F0ZV9maWxlIix7MH19LAotLQl7TlVMTCwJCQkJezB9fQotLX07Ci0tCi0gdm9pZAotIF9zaHR0cGRfc3NsX2hhbmRzaGFrZShzdHJ1Y3Qgc3RyZWFtICpzdHJlYW0pCi0gewotZGlmZiAtLWdpdCBhL3NyYy9zZXJ2ZXIvc2h0dHBkL3NodHRwZC5jIGIvc3JjL3NlcnZlci9zaHR0cGQvc2h0dHBkLmMKLWluZGV4IDU4NzYzOTJlLi40YzFkYmYzMiAxMDA2NDQKLS0tLSBhL3NyYy9zZXJ2ZXIvc2h0dHBkL3NodHRwZC5jCi0rKysgYi9zcmMvc2VydmVyL3NodHRwZC9zaHR0cGQuYwotQEAgLTE0NzYsMjAgKzE0NzYsMTQgQEAgc2V0X3NzbChzdHJ1Y3Qgc2h0dHBkX2N0eCAqY3R4LCBjb25zdCBjaGFyICpwZW0pCi0gCWludAkJcmV0dmFsID0gRkFMU0U7Ci0gCUVDX0tFWSoJCWtleTsKLSAKLS0JLyogTG9hZCBTU0wgbGlicmFyeSBkeW5hbWljYWxseSAqLwotLQlpZiAoKGxpYiA9IGRsb3BlbihTU0xfTElCLCBSVExEX0xBWlkpKSA9PSBOVUxMKSB7Ci0tCQlfc2h0dHBkX2Vsb2coRV9MT0csIE5VTEwsICJzZXRfc3NsOiBjYW5ub3QgbG9hZCAlcyIsIFNTTF9MSUIpOwotLQkJcmV0dXJuIChGQUxTRSk7Ci0tCX0KLS0KLS0JZm9yIChmcCA9IHNzbF9zdzsgZnAtPm5hbWUgIT0gTlVMTDsgZnArKykKLS0JCWlmICgoZnAtPnB0ci52X3ZvaWQgPSBkbHN5bShsaWIsIGZwLT5uYW1lKSkgPT0gTlVMTCkgewotLQkJCV9zaHR0cGRfZWxvZyhFX0xPRywgTlVMTCwic2V0X3NzbDogY2Fubm90IGZpbmQgJXMiLCBmcC0+bmFtZSk7Ci0tCQkJcmV0dXJuIChGQUxTRSk7Ci0tCQl9Ci0tCi0gCS8qIEluaXRpYWxpemUgU1NMIGNyYXAgKi8KLSsJZGVidWcoIkluaXRpYWxpemUgU1NMIik7Ci0rCVNTTF9sb2FkX2Vycm9yX3N0cmluZ3MoKTsKLSsJI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAotIAlTU0xfbGlicmFyeV9pbml0KCk7Ci0rCSNlbHNlCi0rCU9QRU5TU0xfaW5pdF9zc2woMCwgTlVMTCk7Ci0rCSNlbmRpZgotIAotIAlpZiAoKENUWCA9IFNTTF9DVFhfbmV3KFNTTHYyM19zZXJ2ZXJfbWV0aG9kKCkpKSA9PSBOVUxMKQotIAkJX3NodHRwZF9lbG9nKEVfTE9HLCBOVUxMLCAiU1NMX0NUWF9uZXcgZXJyb3IiKTsKLUBAIC0xNTMyLDcgKzE1MjYsNyBAQCBzZXRfc3NsKHN0cnVjdCBzaHR0cGRfY3R4ICpjdHgsIGNvbnN0IGNoYXIgKnBlbSkKLSAJCQlpZiAoc3RybmNhc2VjbXAocHJvdG9jb2xzW2lkeF0ubmFtZSwgc3NsX2Rpc2FibGVkX3Byb3RvY29scywgYmxhbmtfcHRyLXNzbF9kaXNhYmxlZF9wcm90b2NvbHMpID09IDApIHsKLSAJCQkJLy9fc2h0dHBkX2Vsb2coRV9MT0csIE5VTEwsICJTU0w6IGRpc2FibGUgJXMgcHJvdG9jb2wiLCBwcm90b2NvbHNbaWR4XS5uYW1lKTsKLSAJCQkJZGVidWcoIlNTTDogZGlzYWJsZSAlcyBwcm90b2NvbCIsIHByb3RvY29sc1tpZHhdLm5hbWUpOwotLQkJCQlTU0xfQ1RYX2N0cmwoQ1RYLCBTU0xfQ1RSTF9PUFRJT05TLCBwcm90b2NvbHNbaWR4XS5vcHQsIE5VTEwpOwotKwkJCQlTU0xfQ1RYX3NldF9vcHRpb25zKENUWCwgcHJvdG9jb2xzW2lkeF0ub3B0KTsKLSAJCQkJYnJlYWs7Ci0gCQkJfQotIAkJfQotZGlmZiAtLWdpdCBhL3NyYy9zZXJ2ZXIvc2h0dHBkL3NzbC5oIGIvc3JjL3NlcnZlci9zaHR0cGQvc3NsLmgKLWluZGV4IGE4NjNmMmM3Li44ZGFkMDEwOSAxMDA2NDQKLS0tLSBhL3NyYy9zZXJ2ZXIvc2h0dHBkL3NzbC5oCi0rKysgYi9zcmMvc2VydmVyL3NodHRwZC9zc2wuaAotQEAgLTEyLDUwICsxMiw0IEBACi0gCi0gI2luY2x1ZGUgPG9wZW5zc2wvc3NsLmg+Ci0gCi0tI2Vsc2UKLS0KLS0vKgotLSAqIFNuYXRjaGVkIGZyb20gT3BlblNTTCBpbmNsdWRlcy4gSSBwdXQgdGhlIHByb3RvdHlwZXMgaGVyZSB0byBiZSBpbmRlcGVuZGVudAotLSAqIGZyb20gdGhlIE9wZW5TU0wgc291cmNlIGluc3RhbGxhdGlvbi4gSGF2aW5nIHRoaXMsIHNodHRwZCArIFNTTCBjYW4gYmUKLS0gKiBidWlsdCBvbiBhbnkgc3lzdGVtIHdpdGggYmluYXJ5IFNTTCBsaWJyYXJpZXMgaW5zdGFsbGVkLgotLSAqLwotLQotLXR5cGVkZWYgc3RydWN0IHNzbF9zdCBTU0w7Ci0tdHlwZWRlZiBzdHJ1Y3Qgc3NsX21ldGhvZF9zdCBTU0xfTUVUSE9EOwotLXR5cGVkZWYgc3RydWN0IHNzbF9jdHhfc3QgU1NMX0NUWDsKLS0KLS0jZGVmaW5lCVNTTF9FUlJPUl9XQU5UX1JFQUQJMgotLSNkZWZpbmUJU1NMX0VSUk9SX1dBTlRfV1JJVEUJMwotLSNkZWZpbmUJU1NMX0VSUk9SX1NZU0NBTEwJNQotLSNkZWZpbmUJU1NMX0ZJTEVUWVBFX1BFTQkxCi0tCi0gI2VuZGlmCi0tCi0tLyoKLS0gKiBEeW5hbWljYWxseSBsb2FkZWQgU1NMIGZ1bmN0aW9uYWxpdHkKLS0gKi8KLS1zdHJ1Y3Qgc3NsX2Z1bmMgewotLQljb25zdCBjaGFyCSpuYW1lOwkJLyogU1NMIGZ1bmN0aW9uIG5hbWUJKi8KLS0JdW5pb24gdmFyaWFudAlwdHI7CQkvKiBGdW5jdGlvbiBwb2ludGVyCSovCi0tfTsKLS0KLS1leHRlcm4gc3RydWN0IHNzbF9mdW5jCXNzbF9zd1tdOwotLQotLSNkZWZpbmUJRlVOQyh4KQlzc2xfc3dbeF0ucHRyLnZfZnVuYwotLQotLSNkZWZpbmUJU1NMX2ZyZWUoeCkJKCogKHZvaWQgKCopKFNTTCAqKSkgRlVOQygwKSkoeCkKLS0jZGVmaW5lCVNTTF9hY2NlcHQoeCkJKCogKGludCAoKikoU1NMICopKSBGVU5DKDEpKSh4KQotLSNkZWZpbmUJU1NMX2Nvbm5lY3QoeCkJKCogKGludCAoKikoU1NMICopKSBGVU5DKDIpKSh4KQotLSNkZWZpbmUJU1NMX3JlYWQoeCx5LHopCSgqIChpbnQgKCopKFNTTCAqLCB2b2lkICosIGludCkpIEZVTkMoMykpKCh4KSwoeSksKHopKQotLSNkZWZpbmUJU1NMX3dyaXRlKHgseSx6KSBcCi0tCSgqIChpbnQgKCopKFNTTCAqLCBjb25zdCB2b2lkICosaW50KSkgRlVOQyg0KSkoKHgpLCAoeSksICh6KSkKLS0jZGVmaW5lCVNTTF9nZXRfZXJyb3IoeCx5KSgqIChpbnQgKCopKFNTTCAqLCBpbnQpKSBGVU5DKDUpKSgoeCksICh5KSkKLS0jZGVmaW5lCVNTTF9zZXRfZmQoeCx5KQkoKiAoaW50ICgqKShTU0wgKiwgaW50KSkgRlVOQyg2KSkoKHgpLCAoeSkpCi0tI2RlZmluZQlTU0xfbmV3KHgpCSgqIChTU0wgKiAoKikoU1NMX0NUWCAqKSkgRlVOQyg3KSkoeCkKLS0jZGVmaW5lCVNTTF9DVFhfbmV3KHgpCSgqIChTU0xfQ1RYICogKCopKFNTTF9NRVRIT0QgKikpIEZVTkMoOCkpKHgpCi0tI2RlZmluZQlTU0x2MjNfc2VydmVyX21ldGhvZCgpCSgqIChTU0xfTUVUSE9EICogKCopKHZvaWQpKSBGVU5DKDkpKSgpCi0tI2RlZmluZQlTU0xfbGlicmFyeV9pbml0KCkgKCogKGludCAoKikodm9pZCkpIEZVTkMoMTApKSgpCi0tI2RlZmluZQlTU0xfQ1RYX3VzZV9Qcml2YXRlS2V5X2ZpbGUoeCx5LHopCSgqIChpbnQgKCopKFNTTF9DVFggKiwgXAotLQkJY29uc3QgY2hhciAqLCBpbnQpKSBGVU5DKDExKSkoKHgpLCAoeSksICh6KSkKLS0jZGVmaW5lCVNTTF9DVFhfdXNlX2NlcnRpZmljYXRlX2ZpbGUoeCx5LHopCSgqIChpbnQgKCopKFNTTF9DVFggKiwgXAotLQkJY29uc3QgY2hhciAqLCBpbnQpKSBGVU5DKDEyKSkoKHgpLCAoeSksICh6KSkKLS0tIAotMi4xOC4wCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVud3NtYW4vb3BlbndzbWFuLzAwMDEtb3BlblNTTC0xLjEuMC1BUEktZml4ZXMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbndzbWFuL29wZW53c21hbi8wMDAxLW9wZW5TU0wtMS4xLjAtQVBJLWZpeGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkMjMwYmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbndzbWFuL29wZW53c21hbi8wMDAxLW9wZW5TU0wtMS4xLjAtQVBJLWZpeGVzLnBhdGNoCkBAIC0wLDAgKzEsNzcgQEAKK0Zyb20gNjM0Yjk1MTU3ZTE4MjM2NzJhMmM5NWZhYzBjZWNmMDc5YjU5NjdlNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9LbGF1cz0yMEs9QzM9QTRtcGY/PSA8a2thZW1wZkBzdXNlLmRlPgorRGF0ZTogTW9uLCAxOSBOb3YgMjAxOCAxNTozMToyNyArMDEwMAorU3ViamVjdDogW1BBVENIXSBvcGVuU1NMIDEuMS4wIEFQSSBmaXhlcworCistLS0KKyBzcmMvc2VydmVyL3NodHRwZC9pb19zc2wuYyB8ICA1ICsrKysrCisgc3JjL3NlcnZlci9zaHR0cGQvc2h0dHBkLmMgfCAxMSArKysrKysrKysrLQorIHNyYy9zZXJ2ZXIvc2h0dHBkL3NzbC5oICAgIHwgIDMgKysrCisgMyBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvc2VydmVyL3NodHRwZC9pb19zc2wuYyBiL3NyYy9zZXJ2ZXIvc2h0dHBkL2lvX3NzbC5jCitpbmRleCA2ZGUwZGIyYS4uZWNlNjEwZWYgMTAwNjQ0CistLS0gYS9zcmMvc2VydmVyL3NodHRwZC9pb19zc2wuYworKysrIGIvc3JjL3NlcnZlci9zaHR0cGQvaW9fc3NsLmMKK0BAIC0yMSw4ICsyMSwxMyBAQCBzdHJ1Y3Qgc3NsX2Z1bmMJc3NsX3N3W10gPSB7CisgCXsiU1NMX3NldF9mZCIsCQkJezB9fSwKKyAJeyJTU0xfbmV3IiwJCQl7MH19LAorIAl7IlNTTF9DVFhfbmV3IiwJCQl7MH19LAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJeyJTU0x2MjNfc2VydmVyX21ldGhvZCIsCXswfX0sCisgCXsiU1NMX2xpYnJhcnlfaW5pdCIsCQl7MH19LAorKyNlbHNlCisrCXsiVExTX3NlcnZlcl9tZXRob2QiLAl7MH19LAorKwl7Ik9QRU5TU0xfaW5pdF9zc2wiLAkJezB9fSwKKysjZW5kaWYKKyAJeyJTU0xfQ1RYX3VzZV9Qcml2YXRlS2V5X2ZpbGUiLAl7MH19LAorIAl7IlNTTF9DVFhfdXNlX2NlcnRpZmljYXRlX2ZpbGUiLHswfX0sCisgCXtOVUxMLAkJCQl7MH19CitkaWZmIC0tZ2l0IGEvc3JjL3NlcnZlci9zaHR0cGQvc2h0dHBkLmMgYi9zcmMvc2VydmVyL3NodHRwZC9zaHR0cGQuYworaW5kZXggZjBmM2ZiZDguLjY1MmFlYTE3IDEwMDY0NAorLS0tIGEvc3JjL3NlcnZlci9zaHR0cGQvc2h0dHBkLmMKKysrKyBiL3NyYy9zZXJ2ZXIvc2h0dHBkL3NodHRwZC5jCitAQCAtMTQ4OSw5ICsxNDg5LDE0IEBAIHNldF9zc2woc3RydWN0IHNodHRwZF9jdHggKmN0eCwgY29uc3QgY2hhciAqcGVtKQorIAkJfQorIAorIAkvKiBJbml0aWFsaXplIFNTTCBjcmFwICovCistCVNTTF9saWJyYXJ5X2luaXQoKTsKKyAKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisrCVNTTF9saWJyYXJ5X2luaXQoKTsKKyAJaWYgKChDVFggPSBTU0xfQ1RYX25ldyhTU0x2MjNfc2VydmVyX21ldGhvZCgpKSkgPT0gTlVMTCkKKysjZWxzZQorKyAgICAgICAgT1BFTlNTTF9pbml0X3NzbCgpOworKwlpZiAoKENUWCA9IFNTTF9DVFhfbmV3KFRMU19zZXJ2ZXJfbWV0aG9kKCkpKSA9PSBOVUxMKQorKyNlbmRpZgorIAkJX3NodHRwZF9lbG9nKEVfTE9HLCBOVUxMLCAiU1NMX0NUWF9uZXcgZXJyb3IiKTsKKyAJZWxzZSBpZiAoU1NMX0NUWF91c2VfY2VydGlmaWNhdGVfZmlsZShDVFgsIHdzbWFuZF9vcHRpb25zX2dldF9zc2xfY2VydF9maWxlKCksIFNTTF9GSUxFVFlQRV9QRU0pICE9IDEpCisgCQlfc2h0dHBkX2Vsb2coRV9MT0csIE5VTEwsICJjYW5ub3Qgb3BlbiBjZXJ0aWZpY2F0ZSBmaWxlICVzIiwgcGVtKTsKK0BAIC0xNTUyLDYgKzE1NTcsMTAgQEAgc2V0X3NzbChzdHJ1Y3Qgc2h0dHBkX2N0eCAqY3R4LCBjb25zdCBjaGFyICpwZW0pCisgICAgICAgICAgIGlmIChyYyAhPSAxKSB7CisgICAgICAgICAgICAgX3NodHRwZF9lbG9nKEVfTE9HLCBOVUxMLCAiRmFpbGVkIHRvIHNldCBTU0wgY2lwaGVyIGxpc3QgXCIlc1wiIiwgc3NsX2NpcGhlcl9saXN0KTsKKyAgICAgICAgICAgfQorKyAgICAgICAgICBlbHNlIGlmICgoKnNzbF9jaXBoZXJfbGlzdCA9PSAwKSB8fCAoKnNzbF9jaXBoZXJfbGlzdCA9PSAnICcpKSB7CisrICAgICAgICAgICAgX3NodHRwZF9lbG9nKEVfTE9HLCBOVUxMLCAiRW1wdHkgJ3NzbF9jaXBoZXJfbGlzdCcgZGVmYXVsdHMgdG8gJ1RMU19BRVNfMjU2X0dDTV9TSEEzODQ6VExTX0NIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NjpUTFNfQUVTXzEyOF9HQ01fU0hBMjU2Jy4iKTsKKysgICAgICAgICAgICBfc2h0dHBkX2Vsb2coRV9MT0csIE5VTEwsICJDaGVjayBvcGVuU1NMIGRvY3VtZW50YXRpb24uIik7CisrICAgICAgICAgIH0KKyAgICAgICAgIH0KKyAJY3R4LT5zc2xfY3R4ID0gQ1RYOworIAorZGlmZiAtLWdpdCBhL3NyYy9zZXJ2ZXIvc2h0dHBkL3NzbC5oIGIvc3JjL3NlcnZlci9zaHR0cGQvc3NsLmgKK2luZGV4IDIzMDRiNzBhLi44OWE3M2M0OSAxMDA2NDQKKy0tLSBhL3NyYy9zZXJ2ZXIvc2h0dHBkL3NzbC5oCisrKysgYi9zcmMvc2VydmVyL3NodHRwZC9zc2wuaAorQEAgLTU2LDYgKzU2LDkgQEAgZXh0ZXJuIHN0cnVjdCBzc2xfZnVuYwlzc2xfc3dbXTsKKyAjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisgI2RlZmluZQlTU0x2MjNfc2VydmVyX21ldGhvZCgpCSgqIChTU0xfTUVUSE9EICogKCopKHZvaWQpKSBGVU5DKDkpKSgpCisgI2RlZmluZQlTU0xfbGlicmFyeV9pbml0KCkgKCogKGludCAoKikodm9pZCkpIEZVTkMoMTApKSgpCisrI2Vsc2UKKysjZGVmaW5lCVRMU19zZXJ2ZXJfbWV0aG9kKCkJKCogKFNTTF9NRVRIT0QgKiAoKikodm9pZCkpIEZVTkMoOSkpKCkKKysjZGVmaW5lCU9QRU5TU0xfaW5pdF9zc2woKSAoKiAoaW50ICgqKSh2b2lkKSkgRlVOQygxMCkpKCkKKyAjZW5kaWYKKyAjZGVmaW5lCVNTTF9DVFhfdXNlX1ByaXZhdGVLZXlfZmlsZSh4LHkseikJKCogKGludCAoKikoU1NMX0NUWCAqLCBcCisgCQljb25zdCBjaGFyICosIGludCkpIEZVTkMoMTEpKSgoeCksICh5KSwgKHopKQorLS0gCisyLjE5LjEKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW53c21hbi9vcGVud3NtYW4vMDAwMi1DaGVjay1PcGVuU1NMLXZlcnNpb24tbnVtYmVyLXRvLWFsbG93LWJ1aWxkcy13aXRoLW9sLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW53c21hbi9vcGVud3NtYW4vMDAwMi1DaGVjay1PcGVuU1NMLXZlcnNpb24tbnVtYmVyLXRvLWFsbG93LWJ1aWxkcy13aXRoLW9sLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YWUyZTAwLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVud3NtYW4vb3BlbndzbWFuLzAwMDItQ2hlY2stT3BlblNTTC12ZXJzaW9uLW51bWJlci10by1hbGxvdy1idWlsZHMtd2l0aC1vbC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLUZyb20gNzU2NjliMDc3YmQ1NGJlZGJjMDg2YzYwY2JlMTM3ZTdmNGM2ODViNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFZpdGV6c2xhdiBDcmhvbmVrIDx2Y3Job25la0ByZWRoYXQuY29tPgotRGF0ZTogTW9uLCAyNCBBcHIgMjAxNyAxMToyODozOSArMDIwMAotU3ViamVjdDogW1BBVENIIDIvMl0gQ2hlY2sgT3BlblNTTCB2ZXJzaW9uIG51bWJlciB0byBhbGxvdyBidWlsZHMgd2l0aCBvbGRlcgotIHZlcnNpb24KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9PcGVud3NtYW4vb3BlbndzbWFuL3B1bGwvOTldCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gc3JjL2xpYi93c21hbi1jdXJsLWNsaWVudC10cmFuc3BvcnQuYyB8IDQgKysrKwotIHNyYy9zZXJ2ZXIvc2h0dHBkL3NodHRwZC5jICAgICAgICAgICAgfCA0ICsrKysKLSAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2xpYi93c21hbi1jdXJsLWNsaWVudC10cmFuc3BvcnQuYyBiL3NyYy9saWIvd3NtYW4tY3VybC1jbGllbnQtdHJhbnNwb3J0LmMKLWluZGV4IGU2NGFkMDk3Li40ZmMwNDdlOCAxMDA2NDQKLS0tLSBhL3NyYy9saWIvd3NtYW4tY3VybC1jbGllbnQtdHJhbnNwb3J0LmMKLSsrKyBiL3NyYy9saWIvd3NtYW4tY3VybC1jbGllbnQtdHJhbnNwb3J0LmMKLUBAIC0yNDcsNyArMjQ3LDExIEBAIHN0YXRpYyBpbnQgc3NsX2NlcnRpZmljYXRlX3RodW1icHJpbnRfdmVyaWZ5X2NhbGxiYWNrKFg1MDlfU1RPUkVfQ1RYICpjdHgsIHZvaWQKLSAJdW5zaWduZWQgaW50ICAgICAgdGVtcEZpbmdlcnByaW50TGVuOwotIAl0ZW1wRGlnZXN0ID0gKEVWUF9NRCopRVZQX3NoYTEoICk7Ci0gCi0rCSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKLSsJWDUwOSAqY2VydCA9IGN0eC0+Y2VydDsKLSsJI2Vsc2UKLSAJWDUwOSAqY2VydCA9IFg1MDlfU1RPUkVfQ1RYX2dldF9jdXJyZW50X2NlcnQoY3R4KTsKLSsJI2VuZGlmCi0gCWlmKCFjZXJ0KQotIAkJcmV0dXJuIDA7Ci0gCi1kaWZmIC0tZ2l0IGEvc3JjL3NlcnZlci9zaHR0cGQvc2h0dHBkLmMgYi9zcmMvc2VydmVyL3NodHRwZC9zaHR0cGQuYwotaW5kZXggNGMxZGJmMzIuLjE2MTcyMGM4IDEwMDY0NAotLS0tIGEvc3JjL3NlcnZlci9zaHR0cGQvc2h0dHBkLmMKLSsrKyBiL3NyYy9zZXJ2ZXIvc2h0dHBkL3NodHRwZC5jCi1AQCAtMTUyNiw3ICsxNTI2LDExIEBAIHNldF9zc2woc3RydWN0IHNodHRwZF9jdHggKmN0eCwgY29uc3QgY2hhciAqcGVtKQotIAkJCWlmIChzdHJuY2FzZWNtcChwcm90b2NvbHNbaWR4XS5uYW1lLCBzc2xfZGlzYWJsZWRfcHJvdG9jb2xzLCBibGFua19wdHItc3NsX2Rpc2FibGVkX3Byb3RvY29scykgPT0gMCkgewotIAkJCQkvL19zaHR0cGRfZWxvZyhFX0xPRywgTlVMTCwgIlNTTDogZGlzYWJsZSAlcyBwcm90b2NvbCIsIHByb3RvY29sc1tpZHhdLm5hbWUpOwotIAkJCQlkZWJ1ZygiU1NMOiBkaXNhYmxlICVzIHByb3RvY29sIiwgcHJvdG9jb2xzW2lkeF0ubmFtZSk7Ci0rCQkJCSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKLSsJCQkJU1NMX0NUWF9jdHJsKENUWCwgU1NMX0NUUkxfT1BUSU9OUywgcHJvdG9jb2xzW2lkeF0ub3B0LCBOVUxMKTsKLSsJCQkJI2Vsc2UKLSAJCQkJU1NMX0NUWF9zZXRfb3B0aW9ucyhDVFgsIHByb3RvY29sc1tpZHhdLm9wdCk7Ci0rCQkJCSNlbmRpZgotIAkJCQlicmVhazsKLSAJCQl9Ci0gCQl9Ci0tLSAKLTIuMTguMAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbndzbWFuL29wZW53c21hbl8yLjYuNS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVud3NtYW4vb3BlbndzbWFuXzIuNi41LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZmJhMzg1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVud3NtYW4vb3BlbndzbWFuXzIuNi41LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNzMgKzAsMCBAQAotU1VNTUFSWSA9ICJPcGVuc291cmNlIEltcGxlbWVudGF0aW9uIG9mIFdTLU1hbmFnZW1lbnQiCi1ERVNDUklQVElPTiA9ICJPcGVud3NtYW4gaXMgYSBwcm9qZWN0IGludGVuZGVkIHRvIHByb3ZpZGUgYW4gb3Blbi1zb3VyY2UgXAotaW1wbGVtZW50YXRpb24gb2YgdGhlIFdlYiBTZXJ2aWNlcyBNYW5hZ2VtZW50IHNwZWNpcGljYXRpb24gXAotKFdTLU1hbmFnZW1lbnQpIGFuZCB0byBleHBvc2Ugc3lzdGVtIG1hbmFnZW1lbnQgaW5mb3JtYXRpb24gb24gdGhlIFwKLUxpbnV4IG9wZXJhdGluZyBzeXN0ZW0gdXNpbmcgdGhlIFdTLU1hbmFnZW1lbnQgcHJvdG9jb2wuIFdTLU1hbmFnZW1lbnQgXAotaXMgYmFzZWQgb24gYSBzdWl0ZSBvZiB3ZWIgc2VydmljZXMgc3BlY2lmaWNhdGlvbnMgYW5kIHVzYWdlIFwKLXJlcXVpcmVtZW50cyB0aGF0IGV4cG9zZXMgYSBzZXQgb2Ygb3BlcmF0aW9ucyBmb2N1c2VkIG9uIGFuZCBjb3ZlcnMgXAotYWxsIHN5c3RlbSBtYW5hZ2VtZW50IGFzcGVjdHMuIFwKLU9wZW53c21hbiBTZXJ2ZXIgYW5kIHNlcnZpY2UgbGlicmFyaWVzIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5vcGVud3NtYW4ub3JnLyIKLVNFQ1RJT04gPSAiQXBwbGljYXRpb25zL1N5c3RlbSIKLQotREVQRU5EUyA9ICJjdXJsIGxpYnhtbDIgb3BlbnNzbCBsaWJwYW0iCi0KLWluaGVyaXQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAicGFtIgotCi1TUkNSRVYgPSAiZTkwZTVjOTZlMzAwNmMzNzJiZjQ1ZTAxODVlMzNjOTI1MGU2N2RmNiIKLVBWID0gIjIuNi41IgotCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vT3BlbndzbWFuL29wZW53c21hbi5naXQgXAotICAgICAgICAgICBmaWxlOi8vbGlic3NsLWlzLXJlcXVpcmVkLWlmLWV2ZW50aW50LXN1cHBvcnRlZC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9vcGVud3NtYW5kLnNlcnZpY2UgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1sb2NrLmMtRGVmaW5lLVBUSFJFQURfTVVURVhfUkVDVVJTSVZFX05QLWlmLXVuZGVmaW5lLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtUG9ydC10by1PcGVuU1NMLTEuMS4wLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItQ2hlY2stT3BlblNTTC12ZXJzaW9uLW51bWJlci10by1hbGxvdy1idWlsZHMtd2l0aC1vbC5wYXRjaCBcCi0gICAgICAgICAgICIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotTElDRU5TRSA9ICJCU0QiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kNGY1M2Q0YzZjZjczYjlkNDMxODZjZTNiZTZkZDBiYSIKLQotaW5oZXJpdCBzeXN0ZW1kIGNtYWtlIHBrZ2NvbmZpZyBweXRob25uYXRpdmUgcGVybG5hdGl2ZQotCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAib3BlbndzbWFuZC5zZXJ2aWNlIgotU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgotCi1MREZMQUdTX2FwcGVuZCA9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2xkLWlzLWdvbGQnLCAiIC1mdXNlLWxkPWJmZCAiLCAnJywgZCl9IgotCi1FWFRSQV9PRUNNQUtFID0gIi1EQlVJTERfQklORElOR1M9Tk8gXAotICAgICAgICAgICAgICAgICAtREJVSUxEX0xJQkNJTT1OTyBcCi0gICAgICAgICAgICAgICAgIC1EQlVJTERfUEVSTD1ZRVMgXAotICAgICAgICAgICAgICAgICAtRENNQUtFX0lOU1RBTExfUFJFRklYPSR7cHJlZml4fSBcCi0gICAgICAgICAgICAgICAgIC1ETElCPSR7YmFzZWxpYn0gXAotICAgICAgICAgICAgICAgICIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7Ci0gICAgZXhwb3J0IFNUQUdJTkdfSU5DRElSPSR7U1RBR0lOR19JTkNESVJ9Ci0gICAgZXhwb3J0IFNUQUdJTkdfTElCRElSPSR7U1RBR0lOR19MSUJESVJ9Ci19Ci0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZAotICAgIGluc3RhbGwgLW0gNzU1ICR7Qn0vZXRjL2luaXQvb3BlbndzbWFuZC5zaCAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kL29wZW53c21hbmQKLSAgICBsbiAtc2YgJHtzeXNjb25mZGlyfS9pbml0LmQvb3BlbndzbWFuZCAke0R9LyR7c2JpbmRpcn0vcmNvcGVud3NtYW5kCi0gICAgY2htb2QgNzU1ICR7RH0vJHtzeXNjb25mZGlyfS9vcGVud3NtYW4vb3dzbWFuZ2VuY2VydC5zaAotICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KLSAgICAgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLSAgICAgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9vcGVud3NtYW5kLnNlcnZpY2UgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0KLSAgICAgICAgc2VkIC1pIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL29wZW53c21hbmQuc2VydmljZQotICAgICAgICBzZWQgLWkgLWUgJ3MsQFNZU0NPTkZESVJALCR7c3lzY29uZmRpcn0sZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vb3BlbndzbWFuZC5zZXJ2aWNlCi0gICAgICAgIHNlZCAtaSAtZSAncyxATE9DQUxTVEFURURJUkAsJHtsb2NhbHN0YXRlZGlyfSxnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9vcGVud3NtYW5kLnNlcnZpY2UKLSAgICBmaQotfQotCi1GSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9vcGVud3NtYW4vcGx1Z2lucy8uZGVidWcvIFwKLSAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L29wZW53c21hbi9hdXRoZW50aWNhdG9ycy8uZGVidWcvIFwKLSAgICAgICAgICAgICAgICAgICAiCi0KLUlOU0FORV9TS0lQXyR7UE59ID0gImRldi1zbyIKLVJERVBFTkRTXyR7UE59ID0gInJ1YnkiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbndzbWFuL29wZW53c21hbl8yLjYuOC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVud3NtYW4vb3BlbndzbWFuXzIuNi44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwNGZmMDEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbndzbWFuL29wZW53c21hbl8yLjYuOC5iYgpAQCAtMCwwICsxLDc1IEBACitTVU1NQVJZID0gIk9wZW5zb3VyY2UgSW1wbGVtZW50YXRpb24gb2YgV1MtTWFuYWdlbWVudCIKK0RFU0NSSVBUSU9OID0gIk9wZW53c21hbiBpcyBhIHByb2plY3QgaW50ZW5kZWQgdG8gcHJvdmlkZSBhbiBvcGVuLXNvdXJjZSBcCitpbXBsZW1lbnRhdGlvbiBvZiB0aGUgV2ViIFNlcnZpY2VzIE1hbmFnZW1lbnQgc3BlY2lwaWNhdGlvbiBcCisoV1MtTWFuYWdlbWVudCkgYW5kIHRvIGV4cG9zZSBzeXN0ZW0gbWFuYWdlbWVudCBpbmZvcm1hdGlvbiBvbiB0aGUgXAorTGludXggb3BlcmF0aW5nIHN5c3RlbSB1c2luZyB0aGUgV1MtTWFuYWdlbWVudCBwcm90b2NvbC4gV1MtTWFuYWdlbWVudCBcCitpcyBiYXNlZCBvbiBhIHN1aXRlIG9mIHdlYiBzZXJ2aWNlcyBzcGVjaWZpY2F0aW9ucyBhbmQgdXNhZ2UgXAorcmVxdWlyZW1lbnRzIHRoYXQgZXhwb3NlcyBhIHNldCBvZiBvcGVyYXRpb25zIGZvY3VzZWQgb24gYW5kIGNvdmVycyBcCithbGwgc3lzdGVtIG1hbmFnZW1lbnQgYXNwZWN0cy4gXAorT3BlbndzbWFuIFNlcnZlciBhbmQgc2VydmljZSBsaWJyYXJpZXMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm9wZW53c21hbi5vcmcvIgorU0VDVElPTiA9ICJBcHBsaWNhdGlvbnMvU3lzdGVtIgorCitERVBFTkRTID0gImN1cmwgbGlieG1sMiBvcGVuc3NsIGxpYnBhbSIKKworaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJwYW0iCisKKyMgdjIuNi44CitTUkNSRVYgPSAiYjljZDBiNzI1MzQ4NTRhYmI2ZGQ4MzRjOGMxMWUwMjExMWI0YzhkNyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL09wZW53c21hbi9vcGVud3NtYW4uZ2l0IFwKKyAgICAgICAgICAgZmlsZTovL2xpYnNzbC1pcy1yZXF1aXJlZC1pZi1ldmVudGludC1zdXBwb3J0ZWQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vb3BlbndzbWFuZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbG9jay5jLURlZmluZS1QVEhSRUFEX01VVEVYX1JFQ1VSU0lWRV9OUC1pZi11bmRlZmluZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW9wZW5TU0wtMS4xLjAtQVBJLWZpeGVzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtQWRqdXN0LWZvci1DVVJMRV9TU0xfQ0FDRVJULWRlcHJlY2F0aW9uLWluLWN1cmwtNy42Mi5wYXRjaCBcCisgICAgICAgICAgICIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kNGY1M2Q0YzZjZjczYjlkNDMxODZjZTNiZTZkZDBiYSIKKworaW5oZXJpdCBzeXN0ZW1kIGNtYWtlIHBrZ2NvbmZpZyBweXRob24zbmF0aXZlIHBlcmxuYXRpdmUKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIm9wZW53c21hbmQuc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKKworTERGTEFHU19hcHBlbmQgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsZC1pcy1nb2xkJywgIiAtZnVzZS1sZD1iZmQgIiwgJycsIGQpfSIKKworRVhUUkFfT0VDTUFLRSA9ICItREJVSUxEX0JJTkRJTkdTPU5PIFwKKyAgICAgICAgICAgICAgICAgLURCVUlMRF9MSUJDSU09Tk8gXAorICAgICAgICAgICAgICAgICAtREJVSUxEX1BFUkw9WUVTIFwKKyAgICAgICAgICAgICAgICAgLURCVUlMRF9QWVRIT04zPVlFUyBcCisgICAgICAgICAgICAgICAgIC1EQlVJTERfUFlUSE9OPU5PIFwKKyAgICAgICAgICAgICAgICAgLURDTUFLRV9JTlNUQUxMX1BSRUZJWD0ke3ByZWZpeH0gXAorICAgICAgICAgICAgICAgICAtRExJQj0ke2Jhc2VsaWJ9IFwKKyAgICAgICAgICAgICAgICAiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIGV4cG9ydCBTVEFHSU5HX0lOQ0RJUj0ke1NUQUdJTkdfSU5DRElSfQorICAgIGV4cG9ydCBTVEFHSU5HX0xJQkRJUj0ke1NUQUdJTkdfTElCRElSfQorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1tIDc1NSAke0J9L2V0Yy9pbml0L29wZW53c21hbmQuc2ggJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZC9vcGVud3NtYW5kCisgICAgbG4gLXNmICR7c3lzY29uZmRpcn0vaW5pdC5kL29wZW53c21hbmQgJHtEfS8ke3NiaW5kaXJ9L3Jjb3BlbndzbWFuZAorICAgIGNobW9kIDc1NSAke0R9LyR7c3lzY29uZmRpcn0vb3BlbndzbWFuL293c21hbmdlbmNlcnQuc2gKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3RydWUnLCdmYWxzZScsZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vb3BlbndzbWFuZC5zZXJ2aWNlICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCisgICAgICAgIHNlZCAtaSAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9vcGVud3NtYW5kLnNlcnZpY2UKKyAgICAgICAgc2VkIC1pIC1lICdzLEBTWVNDT05GRElSQCwke3N5c2NvbmZkaXJ9LGcnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL29wZW53c21hbmQuc2VydmljZQorICAgICAgICBzZWQgLWkgLWUgJ3MsQExPQ0FMU1RBVEVESVJALCR7bG9jYWxzdGF0ZWRpcn0sZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vb3BlbndzbWFuZC5zZXJ2aWNlCisgICAgZmkKK30KKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vb3BlbndzbWFuL3BsdWdpbnMvLmRlYnVnLyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9vcGVud3NtYW4vYXV0aGVudGljYXRvcnMvLmRlYnVnLyBcCisgICAgICAgICAgICAgICAgICAgIgorCitJTlNBTkVfU0tJUF8ke1BOfSA9ICJkZXYtc28iCitSREVQRU5EU18ke1BOfSA9ICJydWJ5IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BhbS9wYW0tc3NoLWFnZW50LWF1dGgvMDAwMS1BZGFwdC10by1PcGVuU1NMLTEuMS4xLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BhbS9wYW0tc3NoLWFnZW50LWF1dGgvMDAwMS1BZGFwdC10by1PcGVuU1NMLTEuMS4xLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkNzVhMTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcGFtL3BhbS1zc2gtYWdlbnQtYXV0aC8wMDAxLUFkYXB0LXRvLU9wZW5TU0wtMS4xLjEucGF0Y2gKQEAgLTAsMCArMSw4NzkgQEAKK0Zyb20gMzdlMjMzMzA3YTc5YTkyNTA5NjJkY2Y3N2I3YzdlMjdhMDJhMWEzNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDEgRmViIDIwMTkgMjI6NDQ6MTAgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gQWRhcHQgdG8gT3BlblNTTCAxLjEuMQorCitGcm9tOiBHdWlkbyBGYWxzaSA8bWFkQG1hZHBpbG90Lm5ldD4KK2h0dHBzOi8vc291cmNlcy5kZWJpYW4ub3JnL3NyYy9wYW0tc3NoLWFnZW50LWF1dGgvMC4xMC4zLTMvZGViaWFuL3BhdGNoZXMvb3BlbnNzbC0xLjEuMS0xLnBhdGNoLworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBhdXRoZmQuYyAgICB8ICA1MCArKysrKysrKysrKysrKysrKysrKworIGJ1ZmJuLmMgICAgIHwgICA0ICsrCisgY2lwaGVyLmggICAgfCAgIDYgKystCisga2V4LmggICAgICAgfCAgIDkgKysrLQorIGtleS5jICAgICAgIHwgMTMzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KKyBzc2gtZHNzLmMgICB8ICA1MSArKysrKysrKysrKysrKysrLS0tLQorIHNzaC1lY2RzYS5jIHwgIDQwICsrKysrKysrKysrKy0tLS0KKyBzc2gtcnNhLmMgICB8ICAyMiArKysrKysrLS0KKyA4IGZpbGVzIGNoYW5nZWQsIDI4NyBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2F1dGhmZC5jIGIvYXV0aGZkLmMKK2luZGV4IDIxMmUwNmIuLmY5MTUxNGQgMTAwNjQ0CistLS0gYS9hdXRoZmQuYworKysrIGIvYXV0aGZkLmMKK0BAIC0zNjcsNiArMzY3LDcgQEAgc3NoX2dldF9uZXh0X2lkZW50aXR5KEF1dGhlbnRpY2F0aW9uQ29ubmVjdGlvbiAqYXV0aCwgY2hhciAqKmNvbW1lbnQsIGludCB2ZXJzaW8KKyAJY2FzZSAxOgorIAkJa2V5ID0gcGFtc3NoYWdlbnRhdXRoX2tleV9uZXcoS0VZX1JTQTEpOworIAkJYml0cyA9IHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2ludCgmYXV0aC0+aWRlbnRpdGllcyk7CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtKCZhdXRoLT5pZGVudGl0aWVzLCBrZXktPnJzYS0+ZSk7CisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0oJmF1dGgtPmlkZW50aXRpZXMsIGtleS0+cnNhLT5uKTsKKyAJCSpjb21tZW50ID0gcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfc3RyaW5nKCZhdXRoLT5pZGVudGl0aWVzLCBOVUxMKTsKK0BAIC0zNzQsNiArMzc1LDE1IEBAIHNzaF9nZXRfbmV4dF9pZGVudGl0eShBdXRoZW50aWNhdGlvbkNvbm5lY3Rpb24gKmF1dGgsIGNoYXIgKipjb21tZW50LCBpbnQgdmVyc2lvCisgCQlpZiAoa2V5Yml0cyA8IDAgfHwgYml0cyAhPSAodV9pbnQpa2V5Yml0cykKKyAJCQlwYW1zc2hhZ2VudGF1dGhfbG9naXQoIldhcm5pbmc6IGlkZW50aXR5IGtleXNpemUgbWlzbWF0Y2g6IGFjdHVhbCAlZCwgYW5ub3VuY2VkICV1IiwKKyAJCQkgICAgQk5fbnVtX2JpdHMoa2V5LT5yc2EtPm4pLCBiaXRzKTsKKysjZWxzZQorKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtKCZhdXRoLT5pZGVudGl0aWVzLCBSU0FfZ2V0MF9lKGtleS0+cnNhKSk7CisrCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0oJmF1dGgtPmlkZW50aXRpZXMsIFJTQV9nZXQwX24oa2V5LT5yc2EpKTsKKysJCSpjb21tZW50ID0gcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfc3RyaW5nKCZhdXRoLT5pZGVudGl0aWVzLCBOVUxMKTsKKysJCWtleWJpdHMgPSBCTl9udW1fYml0cyhSU0FfZ2V0MF9uKGtleS0+cnNhKSk7CisrCQlpZiAoa2V5Yml0cyA8IDAgfHwgYml0cyAhPSAodV9pbnQpa2V5Yml0cykKKysJCQlwYW1zc2hhZ2VudGF1dGhfbG9naXQoIldhcm5pbmc6IGlkZW50aXR5IGtleXNpemUgbWlzbWF0Y2g6IGFjdHVhbCAlZCwgYW5ub3VuY2VkICV1IiwKKysJCQkgICAgQk5fbnVtX2JpdHMoUlNBX2dldDBfbihrZXktPnJzYSkpLCBiaXRzKTsKKysjZW5kaWYKKyAJCWJyZWFrOworIAljYXNlIDI6CisgCQlibG9iID0gcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfc3RyaW5nKCZhdXRoLT5pZGVudGl0aWVzLCAmYmxlbik7CitAQCAtNDE3LDkgKzQyNywxNSBAQCBzc2hfZGVjcnlwdF9jaGFsbGVuZ2UoQXV0aGVudGljYXRpb25Db25uZWN0aW9uICphdXRoLAorIAl9CisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfaW5pdCgmYnVmZmVyKTsKKyAJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfY2hhcigmYnVmZmVyLCBTU0hfQUdFTlRDX1JTQV9DSEFMTEVOR0UpOworKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfaW50KCZidWZmZXIsIEJOX251bV9iaXRzKGtleS0+cnNhLT5uKSk7CisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bSgmYnVmZmVyLCBrZXktPnJzYS0+ZSk7CisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bSgmYnVmZmVyLCBrZXktPnJzYS0+bik7CisrI2Vsc2UKKysJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfaW50KCZidWZmZXIsIEJOX251bV9iaXRzKFJTQV9nZXQwX24oa2V5LT5yc2EpKSk7CisrCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bSgmYnVmZmVyLCBSU0FfZ2V0MF9lKGtleS0+cnNhKSk7CisrCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bSgmYnVmZmVyLCBSU0FfZ2V0MF9uKGtleS0+cnNhKSk7CisrI2VuZGlmCisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bSgmYnVmZmVyLCBjaGFsbGVuZ2UpOworIAlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2FwcGVuZCgmYnVmZmVyLCBzZXNzaW9uX2lkLCAxNik7CisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2ludCgmYnVmZmVyLCByZXNwb25zZV90eXBlKTsKK0BAIC00OTYsNiArNTEyLDcgQEAgc3NoX2FnZW50X3NpZ24oQXV0aGVudGljYXRpb25Db25uZWN0aW9uICphdXRoLAorIHN0YXRpYyB2b2lkCisgc3NoX2VuY29kZV9pZGVudGl0eV9yc2ExKEJ1ZmZlciAqYiwgUlNBICprZXksIGNvbnN0IGNoYXIgKmNvbW1lbnQpCisgeworKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfaW50KGIsIEJOX251bV9iaXRzKGtleS0+bikpOworIAlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0oYiwga2V5LT5uKTsKKyAJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtKGIsIGtleS0+ZSk7CitAQCAtNTA0LDYgKzUyMSwxNiBAQCBzc2hfZW5jb2RlX2lkZW50aXR5X3JzYTEoQnVmZmVyICpiLCBSU0EgKmtleSwgY29uc3QgY2hhciAqY29tbWVudCkKKyAJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtKGIsIGtleS0+aXFtcCk7CS8qIHNzaCBrZXktPnUgKi8KKyAJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtKGIsIGtleS0+cSk7CS8qIHNzaCBrZXktPnAsIFNTTCBrZXktPnEgKi8KKyAJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtKGIsIGtleS0+cCk7CS8qIHNzaCBrZXktPnEsIFNTTCBrZXktPnAgKi8KKysjZWxzZQorKwlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9pbnQoYiwgQk5fbnVtX2JpdHMoUlNBX2dldDBfbihrZXkpKSk7CisrCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bShiLCBSU0FfZ2V0MF9uKGtleSkpOworKwlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0oYiwgUlNBX2dldDBfZShrZXkpKTsKKysJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtKGIsIFJTQV9nZXQwX2Qoa2V5KSk7CisrCS8qIFRvIGtlZXAgd2l0aGluIHRoZSBwcm90b2NvbDogcCA8IHEgZm9yIHNzaC4gaW4gU1NMIHAgPiBxICovCisrCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bShiLCBSU0FfZ2V0MF9pcW1wKGtleSkpOwkvKiBzc2gga2V5LT51ICovCisrCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bShiLCBSU0FfZ2V0MF9xKGtleSkpOwkvKiBzc2gga2V5LT5wLCBTU0wga2V5LT5xICovCisrCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bShiLCBSU0FfZ2V0MF9wKGtleSkpOwkvKiBzc2gga2V5LT5xLCBTU0wga2V5LT5wICovCisrI2VuZGlmCisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2NzdHJpbmcoYiwgY29tbWVudCk7CisgfQorIAorQEAgLTUxMywxOSArNTQwLDM2IEBAIHNzaF9lbmNvZGVfaWRlbnRpdHlfc3NoMihCdWZmZXIgKmIsIEtleSAqa2V5LCBjb25zdCBjaGFyICpjb21tZW50KQorIAlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9jc3RyaW5nKGIsIGtleV9zc2hfbmFtZShrZXkpKTsKKyAJc3dpdGNoIChrZXktPnR5cGUpIHsKKyAJY2FzZSBLRVlfUlNBOgorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoYiwga2V5LT5yc2EtPm4pOworIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMihiLCBrZXktPnJzYS0+ZSk7CisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKGIsIGtleS0+cnNhLT5kKTsKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoYiwga2V5LT5yc2EtPmlxbXApOworIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMihiLCBrZXktPnJzYS0+cCk7CisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKGIsIGtleS0+cnNhLT5xKTsKKysjZWxzZQorKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMihiLCBSU0FfZ2V0MF9uKGtleS0+cnNhKSk7CisrCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKGIsIFJTQV9nZXQwX2Uoa2V5LT5yc2EpKTsKKysJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoYiwgUlNBX2dldDBfZChrZXktPnJzYSkpOworKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMihiLCBSU0FfZ2V0MF9pcW1wKGtleS0+cnNhKSk7CisrCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKGIsIFJTQV9nZXQwX3Aoa2V5LT5yc2EpKTsKKysJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoYiwgUlNBX2dldDBfcShrZXktPnJzYSkpOworKyNlbmRpZgorIAkJYnJlYWs7CisgCWNhc2UgS0VZX0RTQToKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKGIsIGtleS0+ZHNhLT5wKTsKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoYiwga2V5LT5kc2EtPnEpOworIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMihiLCBrZXktPmRzYS0+Zyk7CisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKGIsIGtleS0+ZHNhLT5wdWJfa2V5KTsKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoYiwga2V5LT5kc2EtPnByaXZfa2V5KTsKKysjZWxzZQorKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMihiLCBEU0FfZ2V0MF9wKGtleS0+ZHNhKSk7CisrCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKGIsIERTQV9nZXQwX3Eoa2V5LT5kc2EpKTsKKysJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoYiwgRFNBX2dldDBfZyhrZXktPmRzYSkpOworKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMihiLCBEU0FfZ2V0MF9wdWJfa2V5KGtleS0+ZHNhKSk7CisrCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKGIsIERTQV9nZXQwX3ByaXZfa2V5KGtleS0+ZHNhKSk7CisrI2VuZGlmCisgCQlicmVhazsKKyAJfQorIAlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9jc3RyaW5nKGIsIGNvbW1lbnQpOworQEAgLTYwNSw5ICs2NDksMTUgQEAgc3NoX3JlbW92ZV9pZGVudGl0eShBdXRoZW50aWNhdGlvbkNvbm5lY3Rpb24gKmF1dGgsIEtleSAqa2V5KQorIAorIAlpZiAoa2V5LT50eXBlID09IEtFWV9SU0ExKSB7CisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9jaGFyKCZtc2csIFNTSF9BR0VOVENfUkVNT1ZFX1JTQV9JREVOVElUWSk7CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfaW50KCZtc2csIEJOX251bV9iaXRzKGtleS0+cnNhLT5uKSk7CisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0oJm1zZywga2V5LT5yc2EtPmUpOworIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtKCZtc2csIGtleS0+cnNhLT5uKTsKKysjZWxzZQorKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfaW50KCZtc2csIEJOX251bV9iaXRzKFJTQV9nZXQwX24oa2V5LT5yc2EpKSk7CisrCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0oJm1zZywgUlNBX2dldDBfZShrZXktPnJzYSkpOworKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtKCZtc2csIFJTQV9nZXQwX24oa2V5LT5yc2EpKTsKKysjZW5kaWYKKyAJfSBlbHNlIGlmIChrZXktPnR5cGUgPT0gS0VZX0RTQSB8fCBrZXktPnR5cGUgPT0gS0VZX1JTQSkgeworIAkJcGFtc3NoYWdlbnRhdXRoX2tleV90b19ibG9iKGtleSwgJmJsb2IsICZibGVuKTsKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2NoYXIoJm1zZywgU1NIMl9BR0VOVENfUkVNT1ZFX0lERU5USVRZKTsKK2RpZmYgLS1naXQgYS9idWZibi5jIGIvYnVmYm4uYworaW5kZXggNmE0OWM3My4uNGVjZWRjMSAxMDA2NDQKKy0tLSBhL2J1ZmJuLmMKKysrKyBiL2J1ZmJuLmMKK0BAIC0xNTEsNyArMTUxLDExIEBAIHBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTJfcmV0KEJ1ZmZlciAqYnVmZmVyLCBjb25zdCBCSUdOVU0gKnZhbHVlKQorIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfaW50KGJ1ZmZlciwgMCk7CisgCQlyZXR1cm4gMDsKKyAJfQorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJaWYgKHZhbHVlLT5uZWcpIHsKKysjZWxzZQorKwlpZiAoQk5faXNfbmVnYXRpdmUodmFsdWUpKSB7CisrI2VuZGlmCisgCQlwYW1zc2hhZ2VudGF1dGhfbG9nZXJyb3IoImJ1ZmZlcl9wdXRfYmlnbnVtMl9yZXQ6IG5lZ2F0aXZlIG51bWJlcnMgbm90IHN1cHBvcnRlZCIpOworIAkJcmV0dXJuICgtMSk7CisgCX0KK2RpZmYgLS1naXQgYS9jaXBoZXIuaCBiL2NpcGhlci5oCitpbmRleCA0OWJiYzE2Li42NGY1OWNhIDEwMDY0NAorLS0tIGEvY2lwaGVyLmgKKysrKyBiL2NpcGhlci5oCitAQCAtNTksMTUgKzU5LDE4IEBACisgI2RlZmluZSBDSVBIRVJfREVDUllQVAkJMAorIAorIHR5cGVkZWYgc3RydWN0IENpcGhlciBDaXBoZXI7CistdHlwZWRlZiBzdHJ1Y3QgQ2lwaGVyQ29udGV4dCBDaXBoZXJDb250ZXh0OworKy8vIHR5cGVkZWYgc3RydWN0IENpcGhlckNvbnRleHQgQ2lwaGVyQ29udGV4dDsKKyAKKyBzdHJ1Y3QgQ2lwaGVyOworKy8qCisgc3RydWN0IENpcGhlckNvbnRleHQgeworIAlpbnQJcGxhaW50ZXh0OworIAlFVlBfQ0lQSEVSX0NUWCBldnA7CisgCUNpcGhlciAqY2lwaGVyOworIH07CisrKi8KKyAKKysvKgorIHVfaW50CSBjaXBoZXJfbWFza19zc2gxKGludCk7CisgQ2lwaGVyCSpjaXBoZXJfYnlfbmFtZShjb25zdCBjaGFyICopOworIENpcGhlcgkqY2lwaGVyX2J5X251bWJlcihpbnQpOworQEAgLTg4LDQgKzkxLDUgQEAgdm9pZAkgY2lwaGVyX3NldF9rZXlpdihDaXBoZXJDb250ZXh0ICosIHVfY2hhciAqKTsKKyBpbnQJIGNpcGhlcl9nZXRfa2V5aXZfbGVuKGNvbnN0IENpcGhlckNvbnRleHQgKik7CisgaW50CSBjaXBoZXJfZ2V0X2tleWNvbnRleHQoY29uc3QgQ2lwaGVyQ29udGV4dCAqLCB1X2NoYXIgKik7Cisgdm9pZAkgY2lwaGVyX3NldF9rZXljb250ZXh0KENpcGhlckNvbnRleHQgKiwgdV9jaGFyICopOworKyovCisgI2VuZGlmCQkJCS8qIENJUEhFUl9IICovCitkaWZmIC0tZ2l0IGEva2V4LmggYi9rZXguaAoraW5kZXggOGUyOWM5MC4uODFjYTU3ZCAxMDA2NDQKKy0tLSBhL2tleC5oCisrKysgYi9rZXguaAorQEAgLTcwLDcgKzcwLDcgQEAgZW51bSBrZXhfZXhjaGFuZ2UgeworICNkZWZpbmUgS0VYX0lOSVRfU0VOVAkweDAwMDEKKyAKKyB0eXBlZGVmIHN0cnVjdCBLZXggS2V4OworLXR5cGVkZWYgc3RydWN0IE1hYyBNYWM7CisrLy8gdHlwZWRlZiBzdHJ1Y3QgTWFjIE1hYzsKKyB0eXBlZGVmIHN0cnVjdCBDb21wIENvbXA7CisgdHlwZWRlZiBzdHJ1Y3QgRW5jIEVuYzsKKyB0eXBlZGVmIHN0cnVjdCBOZXdrZXlzIE5ld2tleXM7CitAQCAtODQsNiArODQsNyBAQCBzdHJ1Y3QgRW5jIHsKKyAJdV9jaGFyCSprZXk7CisgCXVfY2hhcgkqaXY7CisgfTsKKysvKgorIHN0cnVjdCBNYWMgeworIAljaGFyCSpuYW1lOworIAlpbnQJZW5hYmxlZDsKK0BAIC05NSwxMSArOTYsMTMgQEAgc3RydWN0IE1hYyB7CisgCUhNQUNfQ1RYCWV2cF9jdHg7CisgCXN0cnVjdCB1bWFjX2N0eCAqdW1hY19jdHg7CisgfTsKKysqLworIHN0cnVjdCBDb21wIHsKKyAJaW50CXR5cGU7CisgCWludAllbmFibGVkOworIAljaGFyCSpuYW1lOworIH07CisrLyoKKyBzdHJ1Y3QgTmV3a2V5cyB7CisgCUVuYwllbmM7CisgCU1hYwltYWM7CitAQCAtMTI2LDcgKzEyOSw5IEBAIHN0cnVjdCBLZXggeworIAlpbnQJKCpob3N0X2tleV9pbmRleCkoS2V5ICopOworIAl2b2lkCSgqa2V4W0tFWF9NQVhdKShLZXggKik7CisgfTsKKysqLworIAorKy8qCisgS2V4CSprZXhfc2V0dXAoY2hhciAqW1BST1BPU0FMX01BWF0pOworIHZvaWQJIGtleF9maW5pc2goS2V4ICopOworIAorQEAgLTE1Miw2ICsxNTcsOCBAQCBrZXhnZXhfaGFzaChjb25zdCBFVlBfTUQgKiwgY2hhciAqLCBjaGFyICosIGNoYXIgKiwgaW50LCBjaGFyICosCisgdm9pZAorIGRlcml2ZV9zc2gxX3Nlc3Npb25faWQoQklHTlVNICosIEJJR05VTSAqLCB1X2ludDhfdFs4XSwgdV9pbnQ4X3RbMTZdKTsKKyAKKysqLworKworICNpZiBkZWZpbmVkKERFQlVHX0tFWCkgfHwgZGVmaW5lZChERUJVR19LRVhESCkKKyB2b2lkCWR1bXBfZGlnZXN0KGNoYXIgKiwgdV9jaGFyICosIGludCk7CisgI2VuZGlmCitkaWZmIC0tZ2l0IGEva2V5LmMgYi9rZXkuYworaW5kZXggMTA3YTQ0Mi4uYWVkYmJiNSAxMDA2NDQKKy0tLSBhL2tleS5jCisrKysgYi9rZXkuYworQEAgLTc3LDE1ICs3NywyMSBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X25ldyhpbnQgdHlwZSkKKyAJY2FzZSBLRVlfUlNBOgorIAkJaWYgKChyc2EgPSBSU0FfbmV3KCkpID09IE5VTEwpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfbmV3OiBSU0FfbmV3IGZhaWxlZCIpOworKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJCWlmICgocnNhLT5uID0gQk5fbmV3KCkpID09IE5VTEwpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfbmV3OiBCTl9uZXcgZmFpbGVkIik7CisgCQlpZiAoKHJzYS0+ZSA9IEJOX25ldygpKSA9PSBOVUxMKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ldzogQk5fbmV3IGZhaWxlZCIpOworKyNlbHNlCisrCQlpZiAoUlNBX3NldDBfa2V5KHJzYSwgQk5fbmV3KCksIEJOX25ldygpLCBOVUxMKSAhPSAxKQorKwkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ldzogUlNBX3NldDBfa2V5IGZhaWxlZCIpOworKyNlbmRpZgorIAkJay0+cnNhID0gcnNhOworIAkJYnJlYWs7CisgCWNhc2UgS0VZX0RTQToKKyAJCWlmICgoZHNhID0gRFNBX25ldygpKSA9PSBOVUxMKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ldzogRFNBX25ldyBmYWlsZWQiKTsKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisgCQlpZiAoKGRzYS0+cCA9IEJOX25ldygpKSA9PSBOVUxMKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ldzogQk5fbmV3IGZhaWxlZCIpOworIAkJaWYgKChkc2EtPnEgPSBCTl9uZXcoKSkgPT0gTlVMTCkKK0BAIC05NCw2ICsxMDAsMTIgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9uZXcoaW50IHR5cGUpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfbmV3OiBCTl9uZXcgZmFpbGVkIik7CisgCQlpZiAoKGRzYS0+cHViX2tleSA9IEJOX25ldygpKSA9PSBOVUxMKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ldzogQk5fbmV3IGZhaWxlZCIpOworKyNlbHNlCisrCQlpZiAoRFNBX3NldDBfcHFnKGRzYSwgQk5fbmV3KCksIEJOX25ldygpLCBCTl9uZXcoKSkgIT0gMSkKKysJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9uZXc6IERTQV9zZXQwX3BxZyBmYWlsZWQiKTsKKysJCWlmIChEU0Ffc2V0MF9rZXkoZHNhLCBCTl9uZXcoKSwgTlVMTCkgIT0gMSkKKysJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9uZXc6IERTQV9zZXQwX2tleSBmYWlsZWQiKTsKKysjZW5kaWYKKyAJCWstPmRzYSA9IGRzYTsKKyAJCWJyZWFrOworIAljYXNlIEtFWV9FQ0RTQToKK0BAIC0xMTgsNiArMTMwLDcgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9uZXdfcHJpdmF0ZShpbnQgdHlwZSkKKyAJc3dpdGNoIChrLT50eXBlKSB7CisgCWNhc2UgS0VZX1JTQTE6CisgCWNhc2UgS0VZX1JTQToKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisgCQlpZiAoKGstPnJzYS0+ZCA9IEJOX25ldygpKSA9PSBOVUxMKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ld19wcml2YXRlOiBCTl9uZXcgZmFpbGVkIik7CisgCQlpZiAoKGstPnJzYS0+aXFtcCA9IEJOX25ldygpKSA9PSBOVUxMKQorQEAgLTEzMCwxNCArMTQzLDMwIEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfbmV3X3ByaXZhdGUoaW50IHR5cGUpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfbmV3X3ByaXZhdGU6IEJOX25ldyBmYWlsZWQiKTsKKyAJCWlmICgoay0+cnNhLT5kbXAxID0gQk5fbmV3KCkpID09IE5VTEwpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfbmV3X3ByaXZhdGU6IEJOX25ldyBmYWlsZWQiKTsKKysjZWxzZQorKwkJaWYgKFJTQV9zZXQwX2tleShrLT5yc2EsIE5VTEwsIE5VTEwsIEJOX25ldygpKSAhPSAxKQorKwkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ldzogUlNBX3NldDBfa2V5IGZhaWxlZCIpOworKwkJaWYgKFJTQV9zZXQwX2NydF9wYXJhbXMoay0+cnNhLCBCTl9uZXcoKSwgQk5fbmV3KCksIEJOX25ldygpKSAhPSAxKQorKwkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ldzogUlNBX3NldDBfY3J0X3BhcmFtcyBmYWlsZWQiKTsKKysJCWlmIChSU0Ffc2V0MF9mYWN0b3JzKGstPnJzYSwgQk5fbmV3KCksIEJOX25ldygpKSAhPSAxKQorKwkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ldzogUlNBX3NldDBfZmFjdG9ycyBmYWlsZWQiKTsKKysjZW5kaWYKKyAJCWJyZWFrOworIAljYXNlIEtFWV9EU0E6CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAkJaWYgKChrLT5kc2EtPnByaXZfa2V5ID0gQk5fbmV3KCkpID09IE5VTEwpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfbmV3X3ByaXZhdGU6IEJOX25ldyBmYWlsZWQiKTsKKysjZWxzZQorKwkJaWYgKERTQV9zZXQwX2tleShrLT5kc2EsIE5VTEwsIEJOX25ldygpKSAhPSAxKQorKwkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ld19wcml2YXRlOiBEU0Ffc2V0MF9rZXkgZmFpbGVkIik7CisrI2VuZGlmCisgCQlicmVhazsKKyAJY2FzZSBLRVlfRUNEU0E6CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAkJaWYgKEVDX0tFWV9zZXRfcHJpdmF0ZV9rZXkoay0+ZWNkc2EsIEJOX25ldygpKSAhPSAxKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ld19wcml2YXRlOiBFQ19LRVlfc2V0X3ByaXZhdGVfa2V5IGZhaWxlZCIpOworKyNlbHNlCisrI2VuZGlmCisgCQlicmVhazsKKyAJY2FzZSBLRVlfRUQyNTUxOToKKyAJCVJBTkRfYnl0ZXMoay0+ZWQyNTUxOS0+c2ssIHNpemVvZihrLT5lZDI1NTE5LT5zaykpOworQEAgLTE5NSwxNCArMjI0LDI2IEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfZXF1YWwoY29uc3QgS2V5ICphLCBjb25zdCBLZXkgKmIpCisgCWNhc2UgS0VZX1JTQTE6CisgCWNhc2UgS0VZX1JTQToKKyAJCXJldHVybiBhLT5yc2EgIT0gTlVMTCAmJiBiLT5yc2EgIT0gTlVMTCAmJgorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJCSAgICBCTl9jbXAoYS0+cnNhLT5lLCBiLT5yc2EtPmUpID09IDAgJiYKKyAJCSAgICBCTl9jbXAoYS0+cnNhLT5uLCBiLT5yc2EtPm4pID09IDA7CisrI2Vsc2UKKysJCSAgICBCTl9jbXAoUlNBX2dldDBfZShhLT5yc2EpLCBSU0FfZ2V0MF9lKGItPnJzYSkpID09IDAgJiYKKysJCSAgICBCTl9jbXAoUlNBX2dldDBfbihhLT5yc2EpLCBSU0FfZ2V0MF9uKGItPnJzYSkpID09IDA7CisrI2VuZGlmCisgCWNhc2UgS0VZX0RTQToKKyAJCXJldHVybiBhLT5kc2EgIT0gTlVMTCAmJiBiLT5kc2EgIT0gTlVMTCAmJgorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJCSAgICBCTl9jbXAoYS0+ZHNhLT5wLCBiLT5kc2EtPnApID09IDAgJiYKKyAJCSAgICBCTl9jbXAoYS0+ZHNhLT5xLCBiLT5kc2EtPnEpID09IDAgJiYKKyAJCSAgICBCTl9jbXAoYS0+ZHNhLT5nLCBiLT5kc2EtPmcpID09IDAgJiYKKyAJCSAgICBCTl9jbXAoYS0+ZHNhLT5wdWJfa2V5LCBiLT5kc2EtPnB1Yl9rZXkpID09IDA7CisrI2Vsc2UKKysJCSAgICBCTl9jbXAoRFNBX2dldDBfcChhLT5kc2EpLCBEU0FfZ2V0MF9wKGItPmRzYSkpID09IDAgJiYKKysJCSAgICBCTl9jbXAoRFNBX2dldDBfcShhLT5kc2EpLCBEU0FfZ2V0MF9xKGItPmRzYSkpID09IDAgJiYKKysJCSAgICBCTl9jbXAoRFNBX2dldDBfZyhhLT5kc2EpLCBEU0FfZ2V0MF9nKGItPmRzYSkpID09IDAgJiYKKysJCSAgICBCTl9jbXAoRFNBX2dldDBfcHViX2tleShhLT5kc2EpLCBEU0FfZ2V0MF9wdWJfa2V5KGItPmRzYSkpID09IDA7CisrI2VuZGlmCisgCWNhc2UgS0VZX0VDRFNBOgorIAkJcmV0dXJuIGEtPmVjZHNhICE9IE5VTEwgJiYgYi0+ZWNkc2EgIT0gTlVMTCAmJgorIAkJCUVDX0tFWV9jaGVja19rZXkoYS0+ZWNkc2EpID09IDEgJiYKK0BAIC0yMzEsNyArMjcyLDcgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9maW5nZXJwcmludF9yYXcoY29uc3QgS2V5ICprLCBlbnVtIGZwX3R5cGUgZGdzdF90eXBlLAorICAgICB1X2ludCAqZGdzdF9yYXdfbGVuZ3RoKQorIHsKKyAJY29uc3QgRVZQX01EICptZCA9IE5VTEw7CistCUVWUF9NRF9DVFggY3R4OworKwlFVlBfTURfQ1RYICpjdHg7CisgCXVfY2hhciAqYmxvYiA9IE5VTEw7CisgCXVfY2hhciAqcmV0dmFsID0gTlVMTDsKKyAJdV9pbnQgbGVuID0gMDsKK0BAIC0yNTIsMTIgKzI5MywyMSBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X2ZpbmdlcnByaW50X3Jhdyhjb25zdCBLZXkgKmssIGVudW0gZnBfdHlwZSBkZ3N0X3R5cGUsCisgCX0KKyAJc3dpdGNoIChrLT50eXBlKSB7CisgCWNhc2UgS0VZX1JTQTE6CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAkJbmxlbiA9IEJOX251bV9ieXRlcyhrLT5yc2EtPm4pOworIAkJZWxlbiA9IEJOX251bV9ieXRlcyhrLT5yc2EtPmUpOworIAkJbGVuID0gbmxlbiArIGVsZW47CisgCQlibG9iID0gcGFtc3NoYWdlbnRhdXRoX3htYWxsb2MobGVuKTsKKyAJCUJOX2JuMmJpbihrLT5yc2EtPm4sIGJsb2IpOworIAkJQk5fYm4yYmluKGstPnJzYS0+ZSwgYmxvYiArIG5sZW4pOworKyNlbHNlCisrCQlubGVuID0gQk5fbnVtX2J5dGVzKFJTQV9nZXQwX24oay0+cnNhKSk7CisrCQllbGVuID0gQk5fbnVtX2J5dGVzKFJTQV9nZXQwX2Uoay0+cnNhKSk7CisrCQlsZW4gPSBubGVuICsgZWxlbjsKKysJCWJsb2IgPSBwYW1zc2hhZ2VudGF1dGhfeG1hbGxvYyhsZW4pOworKwkJQk5fYm4yYmluKFJTQV9nZXQwX24oay0+cnNhKSwgYmxvYik7CisrCQlCTl9ibjJiaW4oUlNBX2dldDBfZShrLT5yc2EpLCBibG9iICsgbmxlbik7CisrI2VuZGlmCisgCQlicmVhazsKKyAJY2FzZSBLRVlfRFNBOgorIAljYXNlIEtFWV9FQ0RTQToKK0BAIC0yNzMsMTEgKzMyMywxNCBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X2ZpbmdlcnByaW50X3Jhdyhjb25zdCBLZXkgKmssIGVudW0gZnBfdHlwZSBkZ3N0X3R5cGUsCisgCX0KKyAJaWYgKGJsb2IgIT0gTlVMTCkgeworIAkJcmV0dmFsID0gcGFtc3NoYWdlbnRhdXRoX3htYWxsb2MoRVZQX01BWF9NRF9TSVpFKTsKKy0JCUVWUF9EaWdlc3RJbml0KCZjdHgsIG1kKTsKKy0JCUVWUF9EaWdlc3RVcGRhdGUoJmN0eCwgYmxvYiwgbGVuKTsKKy0JCUVWUF9EaWdlc3RGaW5hbCgmY3R4LCByZXR2YWwsIGRnc3RfcmF3X2xlbmd0aCk7CisrCQkvKiBYWFggRXJyb3JzIGZyb20gRVZQXyogZnVuY3Rpb25zIGFyZSBub3QgaGFkbGVkICovCisrCQljdHggPSBFVlBfTURfQ1RYX2NyZWF0ZSgpOworKwkJRVZQX0RpZ2VzdEluaXQoY3R4LCBtZCk7CisrCQlFVlBfRGlnZXN0VXBkYXRlKGN0eCwgYmxvYiwgbGVuKTsKKysJCUVWUF9EaWdlc3RGaW5hbChjdHgsIHJldHZhbCwgZGdzdF9yYXdfbGVuZ3RoKTsKKyAJCW1lbXNldChibG9iLCAwLCBsZW4pOworIAkJcGFtc3NoYWdlbnRhdXRoX3hmcmVlKGJsb2IpOworKwkJRVZQX01EX0NUWF9kZXN0cm95KGN0eCk7CisgCX0gZWxzZSB7CisgCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9maW5nZXJwcmludF9yYXc6IGJsb2IgaXMgbnVsbCIpOworIAl9CitAQCAtNDU3LDEwICs1MTAsMTcgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9yZWFkKEtleSAqcmV0LCBjaGFyICoqY3BwKQorIAkJCXJldHVybiAtMTsKKyAJCSpjcHAgPSBjcDsKKyAJCS8qIEdldCBwdWJsaWMgZXhwb25lbnQsIHB1YmxpYyBtb2R1bHVzLiAqLworKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJCWlmICghcmVhZF9iaWdudW0oY3BwLCByZXQtPnJzYS0+ZSkpCisgCQkJcmV0dXJuIC0xOworIAkJaWYgKCFyZWFkX2JpZ251bShjcHAsIHJldC0+cnNhLT5uKSkKKyAJCQlyZXR1cm4gLTE7CisrI2Vsc2UKKysJCWlmICghcmVhZF9iaWdudW0oY3BwLCBSU0FfZ2V0MF9lKHJldC0+cnNhKSkpCisrCQkJcmV0dXJuIC0xOworKwkJaWYgKCFyZWFkX2JpZ251bShjcHAsIFJTQV9nZXQwX24ocmV0LT5yc2EpKSkKKysJCQlyZXR1cm4gLTE7CisrI2VuZGlmCisgCQlzdWNjZXNzID0gMTsKKyAJCWJyZWFrOworIAljYXNlIEtFWV9VTlNQRUM6CitAQCAtNTgzLDEwICs2NDMsMTcgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV93cml0ZShjb25zdCBLZXkgKmtleSwgRklMRSAqZikKKyAKKyAJaWYgKGtleS0+dHlwZSA9PSBLRVlfUlNBMSAmJiBrZXktPnJzYSAhPSBOVUxMKSB7CisgCQkvKiBzaXplIG9mIG1vZHVsdXMgJ24nICovCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAkJYml0cyA9IEJOX251bV9iaXRzKGtleS0+cnNhLT5uKTsKKyAJCWZwcmludGYoZiwgIiV1IiwgYml0cyk7CisgCQlpZiAod3JpdGVfYmlnbnVtKGYsIGtleS0+cnNhLT5lKSAmJgorIAkJICAgIHdyaXRlX2JpZ251bShmLCBrZXktPnJzYS0+bikpIHsKKysjZWxzZQorKwkJYml0cyA9IEJOX251bV9iaXRzKFJTQV9nZXQwX24oa2V5LT5yc2EpKTsKKysJCWZwcmludGYoZiwgIiV1IiwgYml0cyk7CisrCQlpZiAod3JpdGVfYmlnbnVtKGYsIFJTQV9nZXQwX2Uoa2V5LT5yc2EpKSAmJgorKwkJICAgIHdyaXRlX2JpZ251bShmLCBSU0FfZ2V0MF9uKGtleS0+cnNhKSkpIHsKKysjZW5kaWYKKyAJCQlzdWNjZXNzID0gMTsKKyAJCX0gZWxzZSB7CisgCQkJcGFtc3NoYWdlbnRhdXRoX2xvZ2Vycm9yKCJrZXlfd3JpdGU6IGZhaWxlZCBmb3IgUlNBIGtleSIpOworQEAgLTY3NSwxMCArNzQyLDE3IEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfc2l6ZShjb25zdCBLZXkgKmspCisgeworIAlzd2l0Y2ggKGstPnR5cGUpIHsKKyAJY2FzZSBLRVlfUlNBMToKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisgCWNhc2UgS0VZX1JTQToKKyAJCXJldHVybiBCTl9udW1fYml0cyhrLT5yc2EtPm4pOworIAljYXNlIEtFWV9EU0E6CisgCQlyZXR1cm4gQk5fbnVtX2JpdHMoay0+ZHNhLT5wKTsKKysjZWxzZQorKwljYXNlIEtFWV9SU0E6CisrCQlyZXR1cm4gQk5fbnVtX2JpdHMoUlNBX2dldDBfbihrLT5yc2EpKTsKKysJY2FzZSBLRVlfRFNBOgorKwkJcmV0dXJuIEJOX251bV9iaXRzKERTQV9nZXQwX3Aoay0+ZHNhKSk7CisrI2VuZGlmCisgCWNhc2UgS0VZX0VDRFNBOgorIAl7CisgCQlpbnQgbmlkID0gRUNfR1JPVVBfZ2V0X2N1cnZlX25hbWUoRUNfS0VZX2dldDBfZ3JvdXAoay0+ZWNkc2EpKTsKK0BAIC03NjksMTcgKzg0MywyOSBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X2Zyb21fcHJpdmF0ZShjb25zdCBLZXkgKmspCisgCXN3aXRjaCAoay0+dHlwZSkgeworIAljYXNlIEtFWV9EU0E6CisgCQluID0gcGFtc3NoYWdlbnRhdXRoX2tleV9uZXcoay0+dHlwZSk7CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAkJaWYgKChCTl9jb3B5KG4tPmRzYS0+cCwgay0+ZHNhLT5wKSA9PSBOVUxMKSB8fAorIAkJICAgIChCTl9jb3B5KG4tPmRzYS0+cSwgay0+ZHNhLT5xKSA9PSBOVUxMKSB8fAorIAkJICAgIChCTl9jb3B5KG4tPmRzYS0+Zywgay0+ZHNhLT5nKSA9PSBOVUxMKSB8fAorIAkJICAgIChCTl9jb3B5KG4tPmRzYS0+cHViX2tleSwgay0+ZHNhLT5wdWJfa2V5KSA9PSBOVUxMKSkKKysjZWxzZQorKwkJaWYgKChCTl9jb3B5KERTQV9nZXQwX3Aobi0+ZHNhKSwgRFNBX2dldDBfcChrLT5kc2EpKSA9PSBOVUxMKSB8fAorKwkJICAgIChCTl9jb3B5KERTQV9nZXQwX3Eobi0+ZHNhKSwgRFNBX2dldDBfcShrLT5kc2EpKSA9PSBOVUxMKSB8fAorKwkJICAgIChCTl9jb3B5KERTQV9nZXQwX2cobi0+ZHNhKSwgRFNBX2dldDBfZyhrLT5kc2EpKSA9PSBOVUxMKSB8fAorKwkJICAgIChCTl9jb3B5KERTQV9nZXQwX3B1Yl9rZXkobi0+ZHNhKSwgRFNBX2dldDBfcHViX2tleShrLT5kc2EpKSA9PSBOVUxMKSkKKysjZW5kaWYKKyAJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9mcm9tX3ByaXZhdGU6IEJOX2NvcHkgZmFpbGVkIik7CisgCQlicmVhazsKKyAJY2FzZSBLRVlfUlNBOgorIAljYXNlIEtFWV9SU0ExOgorIAkJbiA9IHBhbXNzaGFnZW50YXV0aF9rZXlfbmV3KGstPnR5cGUpOworKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJCWlmICgoQk5fY29weShuLT5yc2EtPm4sIGstPnJzYS0+bikgPT0gTlVMTCkgfHwKKyAJCSAgICAoQk5fY29weShuLT5yc2EtPmUsIGstPnJzYS0+ZSkgPT0gTlVMTCkpCisrI2Vsc2UKKysJCWlmICgoQk5fY29weShSU0FfZ2V0MF9uKG4tPnJzYSksIFJTQV9nZXQwX24oay0+cnNhKSkgPT0gTlVMTCkgfHwKKysJCSAgICAoQk5fY29weShSU0FfZ2V0MF9lKG4tPnJzYSksIFJTQV9nZXQwX2Uoay0+cnNhKSkgPT0gTlVMTCkpCisrI2VuZGlmCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfZnJvbV9wcml2YXRlOiBCTl9jb3B5IGZhaWxlZCIpOworIAkJYnJlYWs7CisgCWNhc2UgS0VZX0VDRFNBOgorQEAgLTg4MSw4ICs5NjcsMTMgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9mcm9tX2Jsb2IoY29uc3QgdV9jaGFyICpibG9iLCB1X2ludCBibGVuKQorIAlzd2l0Y2ggKHR5cGUpIHsKKyAJY2FzZSBLRVlfUlNBOgorIAkJa2V5ID0gcGFtc3NoYWdlbnRhdXRoX2tleV9uZXcodHlwZSk7CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAkJaWYgKHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiLCBrZXktPnJzYS0+ZSkgPT0gLTEgfHwKKyAJCSAgICBwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0yX3JldCgmYiwga2V5LT5yc2EtPm4pID09IC0xKSB7CisrI2Vsc2UKKysJCWlmIChwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0yX3JldCgmYiwgUlNBX2dldDBfZShrZXktPnJzYSkpID09IC0xIHx8CisrCQkgICAgcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQoJmIsIFJTQV9nZXQwX24oa2V5LT5yc2EpKSA9PSAtMSkgeworKyNlbmRpZgorIAkJCXBhbXNzaGFnZW50YXV0aF9sb2dlcnJvcigia2V5X2Zyb21fYmxvYjogY2FuJ3QgcmVhZCByc2Ega2V5Iik7CisgCQkJcGFtc3NoYWdlbnRhdXRoX2tleV9mcmVlKGtleSk7CisgCQkJa2V5ID0gTlVMTDsKK0BAIC04OTQsMTAgKzk4NSwxNyBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X2Zyb21fYmxvYihjb25zdCB1X2NoYXIgKmJsb2IsIHVfaW50IGJsZW4pCisgCQlicmVhazsKKyAJY2FzZSBLRVlfRFNBOgorIAkJa2V5ID0gcGFtc3NoYWdlbnRhdXRoX2tleV9uZXcodHlwZSk7CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAkJaWYgKHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiLCBrZXktPmRzYS0+cCkgPT0gLTEgfHwKKyAJCSAgICBwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0yX3JldCgmYiwga2V5LT5kc2EtPnEpID09IC0xIHx8CisgCQkgICAgcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQoJmIsIGtleS0+ZHNhLT5nKSA9PSAtMSB8fAorIAkJICAgIHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiLCBrZXktPmRzYS0+cHViX2tleSkgPT0gLTEpIHsKKysjZWxzZQorKwkJaWYgKHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiLCBEU0FfZ2V0MF9wKGtleS0+ZHNhKSkgPT0gLTEgfHwKKysJCSAgICBwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0yX3JldCgmYiwgRFNBX2dldDBfcShrZXktPmRzYSkpID09IC0xIHx8CisrCQkgICAgcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQoJmIsIERTQV9nZXQwX2coa2V5LT5kc2EpKSA9PSAtMSB8fAorKwkJICAgIHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiLCBEU0FfZ2V0MF9wdWJfa2V5KGtleS0+ZHNhKSkgPT0gLTEpIHsKKysjZW5kaWYKKyAJCQlwYW1zc2hhZ2VudGF1dGhfbG9nZXJyb3IoImtleV9mcm9tX2Jsb2I6IGNhbid0IHJlYWQgZHNhIGtleSIpOworIAkJCXBhbXNzaGFnZW50YXV0aF9rZXlfZnJlZShrZXkpOworIAkJCWtleSA9IE5VTEw7CitAQCAtMTAxNSw2ICsxMTEzLDcgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV90b19ibG9iKGNvbnN0IEtleSAqa2V5LCB1X2NoYXIgKipibG9icCwgdV9pbnQgKmxlbnApCisgCX0KKyAJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9pbml0KCZiKTsKKyAJc3dpdGNoIChrZXktPnR5cGUpIHsKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisgCWNhc2UgS0VZX0RTQToKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2NzdHJpbmcoJmIsIGtleV9zc2hfbmFtZShrZXkpKTsKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoJmIsIGtleS0+ZHNhLT5wKTsKK0BAIC0xMDI3LDYgKzExMjYsMjAgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV90b19ibG9iKGNvbnN0IEtleSAqa2V5LCB1X2NoYXIgKipibG9icCwgdV9pbnQgKmxlbnApCisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKCZiLCBrZXktPnJzYS0+ZSk7CisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKCZiLCBrZXktPnJzYS0+bik7CisgCQlicmVhazsKKysjZWxzZQorKwljYXNlIEtFWV9EU0E6CisrCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9jc3RyaW5nKCZiLCBrZXlfc3NoX25hbWUoa2V5KSk7CisrCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKCZiLCBEU0FfZ2V0MF9wKGtleS0+ZHNhKSk7CisrCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKCZiLCBEU0FfZ2V0MF9xKGtleS0+ZHNhKSk7CisrCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKCZiLCBEU0FfZ2V0MF9nKGtleS0+ZHNhKSk7CisrCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKCZiLCBEU0FfZ2V0MF9wdWJfa2V5KGtleS0+ZHNhKSk7CisrCQlicmVhazsKKysJY2FzZSBLRVlfUlNBOgorKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfY3N0cmluZygmYiwga2V5X3NzaF9uYW1lKGtleSkpOworKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMigmYiwgUlNBX2dldDBfZShrZXktPnJzYSkpOworKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMigmYiwgUlNBX2dldDBfbihrZXktPnJzYSkpOworKwkJYnJlYWs7CisrI2VuZGlmCisgCWNhc2UgS0VZX0VDRFNBOgorIAl7CisgCQlzaXplX3QgbCA9IDA7CitAQCAtMTEzOCwxNCArMTI1MSwyMCBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X2RlbW90ZShjb25zdCBLZXkgKmspCisgCWNhc2UgS0VZX1JTQToKKyAJCWlmICgocGstPnJzYSA9IFJTQV9uZXcoKSkgPT0gTlVMTCkKKyAJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9kZW1vdGU6IFJTQV9uZXcgZmFpbGVkIik7CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAkJaWYgKChway0+cnNhLT5lID0gQk5fZHVwKGstPnJzYS0+ZSkpID09IE5VTEwpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfZGVtb3RlOiBCTl9kdXAgZmFpbGVkIik7CisgCQlpZiAoKHBrLT5yc2EtPm4gPSBCTl9kdXAoay0+cnNhLT5uKSkgPT0gTlVMTCkKKyAJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9kZW1vdGU6IEJOX2R1cCBmYWlsZWQiKTsKKysjZWxzZQorKwkJaWYgKFJTQV9zZXQwX2tleShway0+cnNhLCBCTl9kdXAoUlNBX2dldDBfbihrLT5yc2EpKSwgQk5fZHVwKFJTQV9nZXQwX2Uoay0+cnNhKSksIE5VTEwpICE9IDEpCisrCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfZGVtb3RlOiBSU0Ffc2V0MF9rZXkgZmFpbGVkIik7CisrI2VuZGlmCisgCQlicmVhazsKKyAJY2FzZSBLRVlfRFNBOgorIAkJaWYgKChway0+ZHNhID0gRFNBX25ldygpKSA9PSBOVUxMKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X2RlbW90ZTogRFNBX25ldyBmYWlsZWQiKTsKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisgCQlpZiAoKHBrLT5kc2EtPnAgPSBCTl9kdXAoay0+ZHNhLT5wKSkgPT0gTlVMTCkKKyAJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9kZW1vdGU6IEJOX2R1cCBmYWlsZWQiKTsKKyAJCWlmICgocGstPmRzYS0+cSA9IEJOX2R1cChrLT5kc2EtPnEpKSA9PSBOVUxMKQorQEAgLTExNTQsNiArMTI3MywxMiBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X2RlbW90ZShjb25zdCBLZXkgKmspCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfZGVtb3RlOiBCTl9kdXAgZmFpbGVkIik7CisgCQlpZiAoKHBrLT5kc2EtPnB1Yl9rZXkgPSBCTl9kdXAoay0+ZHNhLT5wdWJfa2V5KSkgPT0gTlVMTCkKKyAJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9kZW1vdGU6IEJOX2R1cCBmYWlsZWQiKTsKKysjZWxzZQorKwkJaWYgKERTQV9zZXQwX3BxZyhway0+ZHNhLCBCTl9kdXAoRFNBX2dldDBfcChrLT5kc2EpKSwgQk5fZHVwKERTQV9nZXQwX3Eoay0+ZHNhKSksIEJOX2R1cChEU0FfZ2V0MF9nKGstPmRzYSkpKSAhPSAxKQorKwkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X2RlbW90ZTogRFNBX3NldDBfcHFnIGZhaWxlZCIpOworKwkJaWYgKERTQV9zZXQwX2tleShway0+ZHNhLCBCTl9kdXAoRFNBX2dldDBfcHViX2tleShrLT5kc2EpKSwgTlVMTCkgIT0gMSkKKysJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9kZW1vdGU6IERTQV9zZXQwX2tleSBmYWlsZWQiKTsKKysjZW5kaWYKKyAJCWJyZWFrOworIAljYXNlIEtFWV9FQ0RTQToKKyAJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X2RlbW90ZTogaW1wbGVtZW50IG1lIik7CitkaWZmIC0tZ2l0IGEvc3NoLWRzcy5jIGIvc3NoLWRzcy5jCitpbmRleCA5ZmRhYTVkLi4xMDUxYWUyIDEwMDY0NAorLS0tIGEvc3NoLWRzcy5jCisrKysgYi9zc2gtZHNzLmMKK0BAIC00OCwzNyArNDgsNTMgQEAgc3NoX2Rzc19zaWduKGNvbnN0IEtleSAqa2V5LCB1X2NoYXIgKipzaWdwLCB1X2ludCAqbGVucCwKKyB7CisgCURTQV9TSUcgKnNpZzsKKyAJY29uc3QgRVZQX01EICpldnBfbWQgPSBFVlBfc2hhMSgpOworLQlFVlBfTURfQ1RYIG1kOworKwlFVlBfTURfQ1RYICptZDsKKyAJdV9jaGFyIGRpZ2VzdFtFVlBfTUFYX01EX1NJWkVdLCBzaWdibG9iW1NJR0JMT0JfTEVOXTsKKyAJdV9pbnQgcmxlbiwgc2xlbiwgbGVuLCBkbGVuOworIAlCdWZmZXIgYjsKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMTAwMDAwTAorKwljb25zdCBCSUdOVU0gKnIsICpzOworKyNlbmRpZgorIAorIAlpZiAoa2V5ID09IE5VTEwgfHwga2V5LT50eXBlICE9IEtFWV9EU0EgfHwga2V5LT5kc2EgPT0gTlVMTCkgeworIAkJcGFtc3NoYWdlbnRhdXRoX2xvZ2Vycm9yKCJzc2hfZHNzX3NpZ246IG5vIERTQSBrZXkiKTsKKyAJCXJldHVybiAtMTsKKyAJfQorLQlFVlBfRGlnZXN0SW5pdCgmbWQsIGV2cF9tZCk7CistCUVWUF9EaWdlc3RVcGRhdGUoJm1kLCBkYXRhLCBkYXRhbGVuKTsKKy0JRVZQX0RpZ2VzdEZpbmFsKCZtZCwgZGlnZXN0LCAmZGxlbik7CisrCW1kID0gRVZQX01EX0NUWF9jcmVhdGUoKTsKKysJRVZQX0RpZ2VzdEluaXQobWQsIGV2cF9tZCk7CisrCUVWUF9EaWdlc3RVcGRhdGUobWQsIGRhdGEsIGRhdGFsZW4pOworKwlFVlBfRGlnZXN0RmluYWwobWQsIGRpZ2VzdCwgJmRsZW4pOworIAorIAlzaWcgPSBEU0FfZG9fc2lnbihkaWdlc3QsIGRsZW4sIGtleS0+ZHNhKTsKKyAJbWVtc2V0KGRpZ2VzdCwgJ2QnLCBzaXplb2YoZGlnZXN0KSk7CisrCUVWUF9NRF9DVFhfZGVzdHJveShtZCk7CisgCisgCWlmIChzaWcgPT0gTlVMTCkgeworIAkJcGFtc3NoYWdlbnRhdXRoX2xvZ2Vycm9yKCJzc2hfZHNzX3NpZ246IHNpZ24gZmFpbGVkIik7CisgCQlyZXR1cm4gLTE7CisgCX0KKyAKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisgCXJsZW4gPSBCTl9udW1fYnl0ZXMoc2lnLT5yKTsKKyAJc2xlbiA9IEJOX251bV9ieXRlcyhzaWctPnMpOworKyNlbHNlCisrCURTQV9TSUdfZ2V0MCgoY29uc3QgRFNBX1NJRyAqKXNpZywgKGNvbnN0IEJJR05VTSAqKilyLCAoY29uc3QgQklHTlVNICoqKXMpOworKwlybGVuID0gQk5fbnVtX2J5dGVzKHIpOworKwlzbGVuID0gQk5fbnVtX2J5dGVzKHMpOworKyNlbmRpZgorIAlpZiAocmxlbiA+IElOVEJMT0JfTEVOIHx8IHNsZW4gPiBJTlRCTE9CX0xFTikgeworIAkJcGFtc3NoYWdlbnRhdXRoX2xvZ2Vycm9yKCJiYWQgc2lnIHNpemUgJXUgJXUiLCBybGVuLCBzbGVuKTsKKyAJCURTQV9TSUdfZnJlZShzaWcpOworIAkJcmV0dXJuIC0xOworIAl9CisgCW1lbXNldChzaWdibG9iLCAwLCBTSUdCTE9CX0xFTik7CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAlCTl9ibjJiaW4oc2lnLT5yLCBzaWdibG9iKyBTSUdCTE9CX0xFTiAtIElOVEJMT0JfTEVOIC0gcmxlbik7CisgCUJOX2JuMmJpbihzaWctPnMsIHNpZ2Jsb2IrIFNJR0JMT0JfTEVOIC0gc2xlbik7CisrI2Vsc2UKKysJQk5fYm4yYmluKHIsIHNpZ2Jsb2IrIFNJR0JMT0JfTEVOIC0gSU5UQkxPQl9MRU4gLSBybGVuKTsKKysJQk5fYm4yYmluKHMsIHNpZ2Jsb2IrIFNJR0JMT0JfTEVOIC0gc2xlbik7CisrI2VuZGlmCisgCURTQV9TSUdfZnJlZShzaWcpOworIAorIAlpZiAoZGF0YWZlbGxvd3MgJiBTU0hfQlVHX1NJR0JMT0IpIHsKK0BAIC0xMTAsMTEgKzEyNiwxNCBAQCBzc2hfZHNzX3ZlcmlmeShjb25zdCBLZXkgKmtleSwgY29uc3QgdV9jaGFyICpzaWduYXR1cmUsIHVfaW50IHNpZ25hdHVyZWxlbiwKKyB7CisgCURTQV9TSUcgKnNpZzsKKyAJY29uc3QgRVZQX01EICpldnBfbWQgPSBFVlBfc2hhMSgpOworLQlFVlBfTURfQ1RYIG1kOworKwlFVlBfTURfQ1RYICptZDsKKyAJdV9jaGFyIGRpZ2VzdFtFVlBfTUFYX01EX1NJWkVdLCAqc2lnYmxvYjsKKyAJdV9pbnQgbGVuLCBkbGVuOworIAlpbnQgcmxlbiwgcmV0OworIAlCdWZmZXIgYjsKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMTAwMDAwTAorKwlCSUdOVU0gKnIsICpzOworKyNlbmRpZgorIAorIAlpZiAoa2V5ID09IE5VTEwgfHwga2V5LT50eXBlICE9IEtFWV9EU0EgfHwga2V5LT5kc2EgPT0gTlVMTCkgeworIAkJcGFtc3NoYWdlbnRhdXRoX2xvZ2Vycm9yKCJzc2hfZHNzX3ZlcmlmeTogbm8gRFNBIGtleSIpOworQEAgLTE1Nyw2ICsxNzYsNyBAQCBzc2hfZHNzX3ZlcmlmeShjb25zdCBLZXkgKmtleSwgY29uc3QgdV9jaGFyICpzaWduYXR1cmUsIHVfaW50IHNpZ25hdHVyZWxlbiwKKyAJLyogcGFyc2Ugc2lnbmF0dXJlICovCisgCWlmICgoc2lnID0gRFNBX1NJR19uZXcoKSkgPT0gTlVMTCkKKyAJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgic3NoX2Rzc192ZXJpZnk6IERTQV9TSUdfbmV3IGZhaWxlZCIpOworKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJaWYgKChzaWctPnIgPSBCTl9uZXcoKSkgPT0gTlVMTCkKKyAJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgic3NoX2Rzc192ZXJpZnk6IEJOX25ldyBmYWlsZWQiKTsKKyAJaWYgKChzaWctPnMgPSBCTl9uZXcoKSkgPT0gTlVMTCkKK0BAIC0xNjQsMTggKzE4NCwzMyBAQCBzc2hfZHNzX3ZlcmlmeShjb25zdCBLZXkgKmtleSwgY29uc3QgdV9jaGFyICpzaWduYXR1cmUsIHVfaW50IHNpZ25hdHVyZWxlbiwKKyAJaWYgKChCTl9iaW4yYm4oc2lnYmxvYiwgSU5UQkxPQl9MRU4sIHNpZy0+cikgPT0gTlVMTCkgfHwKKyAJICAgIChCTl9iaW4yYm4oc2lnYmxvYisgSU5UQkxPQl9MRU4sIElOVEJMT0JfTEVOLCBzaWctPnMpID09IE5VTEwpKQorIAkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJzc2hfZHNzX3ZlcmlmeTogQk5fYmluMmJuIGZhaWxlZCIpOworKyNlbHNlCisrCWlmICgociA9IEJOX25ldygpKSA9PSBOVUxMKQorKwkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJzc2hfZHNzX3ZlcmlmeTogQk5fbmV3IGZhaWxlZCIpOworKwlpZiAoKHMgPSBCTl9uZXcoKSkgPT0gTlVMTCkKKysJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgic3NoX2Rzc192ZXJpZnk6IEJOX25ldyBmYWlsZWQiKTsKKysJaWYgKERTQV9TSUdfc2V0MChzaWcsIHIsIHMpICE9IDEpCisrCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoInNzaF9kc3NfdmVyaWZ5OiBEU0FfU0lHX3NldDAgZmFpbGVkIik7CisrCWlmICgoQk5fYmluMmJuKHNpZ2Jsb2IsIElOVEJMT0JfTEVOLCByKSA9PSBOVUxMKSB8fAorKwkgICAgKEJOX2JpbjJibihzaWdibG9iKyBJTlRCTE9CX0xFTiwgSU5UQkxPQl9MRU4sIHMpID09IE5VTEwpKQorKwkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJzc2hfZHNzX3ZlcmlmeTogQk5fYmluMmJuIGZhaWxlZCIpOworKwlpZiAoRFNBX1NJR19zZXQwKHNpZywgciwgcykgIT0gMSkKKysJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgic3NoX2Rzc192ZXJpZnk6IERTQV9TSUdfc2V0MCBmYWlsZWQiKTsKKysjZW5kaWYKKyAKKyAJLyogY2xlYW4gdXAgKi8KKyAJbWVtc2V0KHNpZ2Jsb2IsIDAsIGxlbik7CisgCXBhbXNzaGFnZW50YXV0aF94ZnJlZShzaWdibG9iKTsKKyAKKyAJLyogc2hhMSB0aGUgZGF0YSAqLworLQlFVlBfRGlnZXN0SW5pdCgmbWQsIGV2cF9tZCk7CistCUVWUF9EaWdlc3RVcGRhdGUoJm1kLCBkYXRhLCBkYXRhbGVuKTsKKy0JRVZQX0RpZ2VzdEZpbmFsKCZtZCwgZGlnZXN0LCAmZGxlbik7CisrCW1kID0gRVZQX01EX0NUWF9jcmVhdGUoKTsKKysJRVZQX0RpZ2VzdEluaXQobWQsIGV2cF9tZCk7CisrCUVWUF9EaWdlc3RVcGRhdGUobWQsIGRhdGEsIGRhdGFsZW4pOworKwlFVlBfRGlnZXN0RmluYWwobWQsIGRpZ2VzdCwgJmRsZW4pOworIAorIAlyZXQgPSBEU0FfZG9fdmVyaWZ5KGRpZ2VzdCwgZGxlbiwgc2lnLCBrZXktPmRzYSk7CisgCW1lbXNldChkaWdlc3QsICdkJywgc2l6ZW9mKGRpZ2VzdCkpOworKwlFVlBfTURfQ1RYX2Rlc3Ryb3kobWQpOworIAorIAlEU0FfU0lHX2ZyZWUoc2lnKTsKKyAKK2RpZmYgLS1naXQgYS9zc2gtZWNkc2EuYyBiL3NzaC1lY2RzYS5jCitpbmRleCBlZmEwZjNkLi5jMjEzOTU5IDEwMDY0NAorLS0tIGEvc3NoLWVjZHNhLmMKKysrKyBiL3NzaC1lY2RzYS5jCitAQCAtNDEsMjIgKzQxLDI3IEBAIHNzaF9lY2RzYV9zaWduKGNvbnN0IEtleSAqa2V5LCB1X2NoYXIgKipzaWdwLCB1X2ludCAqbGVucCwKKyB7CisgICAgIEVDRFNBX1NJRyAqc2lnOworICAgICBjb25zdCBFVlBfTUQgKmV2cF9tZCA9IGV2cF9mcm9tX2tleShrZXkpOworLSAgICBFVlBfTURfQ1RYIG1kOworKyAgICBFVlBfTURfQ1RYICptZDsKKyAgICAgdV9jaGFyIGRpZ2VzdFtFVlBfTUFYX01EX1NJWkVdOworICAgICB1X2ludCBsZW4sIGRsZW47CisgICAgIEJ1ZmZlciBiLCBiYjsKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMTAwMDAwTAorKwlCSUdOVU0gKnIsICpzOworKyNlbmRpZgorIAorICAgICBpZiAoa2V5ID09IE5VTEwgfHwga2V5LT50eXBlICE9IEtFWV9FQ0RTQSB8fCBrZXktPmVjZHNhID09IE5VTEwpIHsKKyAgICAgICAgIHBhbXNzaGFnZW50YXV0aF9sb2dlcnJvcigic3NoX2VjZHNhX3NpZ246IG5vIEVDRFNBIGtleSIpOworICAgICAgICAgcmV0dXJuIC0xOworICAgICB9CisgCistICAgIEVWUF9EaWdlc3RJbml0KCZtZCwgZXZwX21kKTsKKy0gICAgRVZQX0RpZ2VzdFVwZGF0ZSgmbWQsIGRhdGEsIGRhdGFsZW4pOworLSAgICBFVlBfRGlnZXN0RmluYWwoJm1kLCBkaWdlc3QsICZkbGVuKTsKKysgICAgbWQgPSBFVlBfTURfQ1RYX2NyZWF0ZSgpOworKyAgICBFVlBfRGlnZXN0SW5pdChtZCwgZXZwX21kKTsKKysgICAgRVZQX0RpZ2VzdFVwZGF0ZShtZCwgZGF0YSwgZGF0YWxlbik7CisrICAgIEVWUF9EaWdlc3RGaW5hbChtZCwgZGlnZXN0LCAmZGxlbik7CisgCisgICAgIHNpZyA9IEVDRFNBX2RvX3NpZ24oZGlnZXN0LCBkbGVuLCBrZXktPmVjZHNhKTsKKyAgICAgbWVtc2V0KGRpZ2VzdCwgJ2QnLCBzaXplb2YoZGlnZXN0KSk7CisrICAgIEVWUF9NRF9DVFhfZGVzdHJveShtZCk7CisgCisgICAgIGlmIChzaWcgPT0gTlVMTCkgeworICAgICAgICAgcGFtc3NoYWdlbnRhdXRoX2xvZ2Vycm9yKCJzc2hfZWNkc2Ffc2lnbjogc2lnbiBmYWlsZWQiKTsKK0BAIC02NCw4ICs2OSwxNCBAQCBzc2hfZWNkc2Ffc2lnbihjb25zdCBLZXkgKmtleSwgdV9jaGFyICoqc2lncCwgdV9pbnQgKmxlbnAsCisgICAgIH0KKyAKKyAgICAgcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9pbml0KCZiYik7CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorICAgICBpZiAocGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQoJmJiLCBzaWctPnIpID09IC0xIHx8CisgICAgICAgICBwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0yX3JldCgmYmIsIHNpZy0+cykgPT0gLTEpIHsKKysjZWxzZQorKyAgICBEU0FfU0lHX2dldDAoc2lnLCAmciwgJnMpOworKyAgICBpZiAocGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQoJmJiLCByKSA9PSAtMSB8fAorKyAgICAgICAgcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQoJmJiLCBzKSA9PSAtMSkgeworKyNlbmRpZgorICAgICAgICAgcGFtc3NoYWdlbnRhdXRoX2xvZ2Vycm9yKCJjb3VsZG4ndCBzZXJpYWxpemUgc2lnbmF0dXJlIik7CisgICAgICAgICBFQ0RTQV9TSUdfZnJlZShzaWcpOworICAgICAgICAgcmV0dXJuIC0xOworQEAgLTk0LDExICsxMDUsMTQgQEAgc3NoX2VjZHNhX3ZlcmlmeShjb25zdCBLZXkgKmtleSwgY29uc3QgdV9jaGFyICpzaWduYXR1cmUsIHVfaW50IHNpZ25hdHVyZWxlbiwKKyB7CisgICAgIEVDRFNBX1NJRyAqc2lnOworICAgICBjb25zdCBFVlBfTUQgKmV2cF9tZCA9IGV2cF9mcm9tX2tleShrZXkpOworLSAgICBFVlBfTURfQ1RYIG1kOworKyAgICBFVlBfTURfQ1RYICptZDsKKyAgICAgdV9jaGFyIGRpZ2VzdFtFVlBfTUFYX01EX1NJWkVdLCAqc2lnYmxvYjsKKyAgICAgdV9pbnQgbGVuLCBkbGVuOworICAgICBpbnQgcmxlbiwgcmV0OworICAgICBCdWZmZXIgYjsKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMTAwMDAwTAorKwlCSUdOVU0gKnIsICpzOworKyNlbmRpZgorIAorICAgICBpZiAoa2V5ID09IE5VTEwgfHwga2V5LT50eXBlICE9IEtFWV9FQ0RTQSB8fCBrZXktPmVjZHNhID09IE5VTEwpIHsKKyAgICAgICAgIHBhbXNzaGFnZW50YXV0aF9sb2dlcnJvcigic3NoX2VjZHNhX3NpZ246IG5vIEVDRFNBIGtleSIpOworQEAgLTEyNyw4ICsxNDEsMTQgQEAgc3NoX2VjZHNhX3ZlcmlmeShjb25zdCBLZXkgKmtleSwgY29uc3QgdV9jaGFyICpzaWduYXR1cmUsIHVfaW50IHNpZ25hdHVyZWxlbiwKKyAKKyAgICAgcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9pbml0KCZiKTsKKyAgICAgcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9hcHBlbmQoJmIsIHNpZ2Jsb2IsIGxlbik7CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorICAgICBpZiAoKHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiLCBzaWctPnIpID09IC0xKSB8fAorICAgICAgICAgKHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiLCBzaWctPnMpID09IC0xKSkKKysjZWxzZQorKyAgICBEU0FfU0lHX2dldDAoc2lnLCAmciwgJnMpOworKyAgICBpZiAoKHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiLCByKSA9PSAtMSkgfHwKKysgICAgICAgIChwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0yX3JldCgmYiwgcykgPT0gLTEpKQorKyNlbmRpZgorICAgICAgICAgcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJzc2hfZWNkc2FfdmVyaWZ5OiIKKyAgICAgICAgICAgICAicGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQgZmFpbGVkIik7CisgCitAQCAtMTM3LDE2ICsxNTcsMTggQEAgc3NoX2VjZHNhX3ZlcmlmeShjb25zdCBLZXkgKmtleSwgY29uc3QgdV9jaGFyICpzaWduYXR1cmUsIHVfaW50IHNpZ25hdHVyZWxlbiwKKyAgICAgcGFtc3NoYWdlbnRhdXRoX3hmcmVlKHNpZ2Jsb2IpOworIAorICAgICAvKiBzaGEyNTYgdGhlIGRhdGEgKi8KKy0gICAgRVZQX0RpZ2VzdEluaXQoJm1kLCBldnBfbWQpOworLSAgICBFVlBfRGlnZXN0VXBkYXRlKCZtZCwgZGF0YSwgZGF0YWxlbik7CistICAgIEVWUF9EaWdlc3RGaW5hbCgmbWQsIGRpZ2VzdCwgJmRsZW4pOworKyAgICBtZCA9IEVWUF9NRF9DVFhfY3JlYXRlKCk7CisrICAgIEVWUF9EaWdlc3RJbml0KG1kLCBldnBfbWQpOworKyAgICBFVlBfRGlnZXN0VXBkYXRlKG1kLCBkYXRhLCBkYXRhbGVuKTsKKysgICAgRVZQX0RpZ2VzdEZpbmFsKG1kLCBkaWdlc3QsICZkbGVuKTsKKyAKKyAgICAgcmV0ID0gRUNEU0FfZG9fdmVyaWZ5KGRpZ2VzdCwgZGxlbiwgc2lnLCBrZXktPmVjZHNhKTsKKyAgICAgbWVtc2V0KGRpZ2VzdCwgJ2QnLCBzaXplb2YoZGlnZXN0KSk7CisrICAgIEVWUF9NRF9DVFhfZGVzdHJveShtZCk7CisgCisgICAgIEVDRFNBX1NJR19mcmVlKHNpZyk7CisgCisgICAgIHBhbXNzaGFnZW50YXV0aF92ZXJib3NlKCJzc2hfZWNkc2FfdmVyaWZ5OiBzaWduYXR1cmUgJXMiLAorICAgICAgICAgcmV0ID09IDEgPyAiY29ycmVjdCIgOiByZXQgPT0gMCA/ICJpbmNvcnJlY3QiIDogImVycm9yIik7CisgICAgIHJldHVybiByZXQ7CistfQorXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCisrfQorZGlmZiAtLWdpdCBhL3NzaC1yc2EuYyBiL3NzaC1yc2EuYworaW5kZXggZDA1ODQ0Yi4uOWQ3NGViNiAxMDA2NDQKKy0tLSBhL3NzaC1yc2EuYworKysrIGIvc3NoLXJzYS5jCitAQCAtNDAsNyArNDAsNyBAQCBzc2hfcnNhX3NpZ24oY29uc3QgS2V5ICprZXksIHVfY2hhciAqKnNpZ3AsIHVfaW50ICpsZW5wLAorICAgICBjb25zdCB1X2NoYXIgKmRhdGEsIHVfaW50IGRhdGFsZW4pCisgeworIAljb25zdCBFVlBfTUQgKmV2cF9tZDsKKy0JRVZQX01EX0NUWCBtZDsKKysJRVZQX01EX0NUWCAqbWQ7CisgCXVfY2hhciBkaWdlc3RbRVZQX01BWF9NRF9TSVpFXSwgKnNpZzsKKyAJdV9pbnQgc2xlbiwgZGxlbiwgbGVuOworIAlpbnQgb2ssIG5pZDsKK0BAIC01NSw2ICs1NSw3IEBAIHNzaF9yc2Ffc2lnbihjb25zdCBLZXkgKmtleSwgdV9jaGFyICoqc2lncCwgdV9pbnQgKmxlbnAsCisgCQlwYW1zc2hhZ2VudGF1dGhfbG9nZXJyb3IoInNzaF9yc2Ffc2lnbjogRVZQX2dldF9kaWdlc3RieW5pZCAlZCBmYWlsZWQiLCBuaWQpOworIAkJcmV0dXJuIC0xOworIAl9CisrCW1kID0gRVZQX01EX0NUWF9jcmVhdGUoKTsKKyAJRVZQX0RpZ2VzdEluaXQoJm1kLCBldnBfbWQpOworIAlFVlBfRGlnZXN0VXBkYXRlKCZtZCwgZGF0YSwgZGF0YWxlbik7CisgCUVWUF9EaWdlc3RGaW5hbCgmbWQsIGRpZ2VzdCwgJmRsZW4pOworQEAgLTY0LDYgKzY1LDcgQEAgc3NoX3JzYV9zaWduKGNvbnN0IEtleSAqa2V5LCB1X2NoYXIgKipzaWdwLCB1X2ludCAqbGVucCwKKyAKKyAJb2sgPSBSU0Ffc2lnbihuaWQsIGRpZ2VzdCwgZGxlbiwgc2lnLCAmbGVuLCBrZXktPnJzYSk7CisgCW1lbXNldChkaWdlc3QsICdkJywgc2l6ZW9mKGRpZ2VzdCkpOworKwlFVlBfTURfQ1RYX2Rlc3Ryb3kobWQpOworIAorIAlpZiAob2sgIT0gMSkgeworIAkJaW50IGVjb2RlID0gRVJSX2dldF9lcnJvcigpOworQEAgLTEwNyw3ICsxMDksNyBAQCBzc2hfcnNhX3ZlcmlmeShjb25zdCBLZXkgKmtleSwgY29uc3QgdV9jaGFyICpzaWduYXR1cmUsIHVfaW50IHNpZ25hdHVyZWxlbiwKKyB7CisgCUJ1ZmZlciBiOworIAljb25zdCBFVlBfTUQgKmV2cF9tZDsKKy0JRVZQX01EX0NUWCBtZDsKKysJRVZQX01EX0NUWCAqbWQ7CisgCWNoYXIgKmt0eXBlOworIAl1X2NoYXIgZGlnZXN0W0VWUF9NQVhfTURfU0laRV0sICpzaWdibG9iOworIAl1X2ludCBsZW4sIGRsZW4sIG1vZGxlbjsKK0BAIC0xMTcsOSArMTE5LDE3IEBAIHNzaF9yc2FfdmVyaWZ5KGNvbnN0IEtleSAqa2V5LCBjb25zdCB1X2NoYXIgKnNpZ25hdHVyZSwgdV9pbnQgc2lnbmF0dXJlbGVuLAorIAkJcGFtc3NoYWdlbnRhdXRoX2xvZ2Vycm9yKCJzc2hfcnNhX3ZlcmlmeTogbm8gUlNBIGtleSIpOworIAkJcmV0dXJuIC0xOworIAl9CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAlpZiAoQk5fbnVtX2JpdHMoa2V5LT5yc2EtPm4pIDwgU1NIX1JTQV9NSU5JTVVNX01PRFVMVVNfU0laRSkgeworKyNlbHNlCisrCWlmIChCTl9udW1fYml0cyhSU0FfZ2V0MF9uKGtleS0+cnNhKSkgPCBTU0hfUlNBX01JTklNVU1fTU9EVUxVU19TSVpFKSB7CisrI2VuZGlmCisgCQlwYW1zc2hhZ2VudGF1dGhfbG9nZXJyb3IoInNzaF9yc2FfdmVyaWZ5OiBSU0EgbW9kdWx1cyB0b28gc21hbGw6ICVkIDwgbWluaW11bSAlZCBiaXRzIiwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisgCQkgICAgQk5fbnVtX2JpdHMoa2V5LT5yc2EtPm4pLCBTU0hfUlNBX01JTklNVU1fTU9EVUxVU19TSVpFKTsKKysjZWxzZQorKwkJICAgIEJOX251bV9iaXRzKFJTQV9nZXQwX24oa2V5LT5yc2EpKSwgU1NIX1JTQV9NSU5JTVVNX01PRFVMVVNfU0laRSk7CisrI2VuZGlmCisgCQlyZXR1cm4gLTE7CisgCX0KKyAJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9pbml0KCZiKTsKK0BAIC0xNjEsMTIgKzE3MSwxNCBAQCBzc2hfcnNhX3ZlcmlmeShjb25zdCBLZXkgKmtleSwgY29uc3QgdV9jaGFyICpzaWduYXR1cmUsIHVfaW50IHNpZ25hdHVyZWxlbiwKKyAJCXBhbXNzaGFnZW50YXV0aF94ZnJlZShzaWdibG9iKTsKKyAJCXJldHVybiAtMTsKKyAJfQorLQlFVlBfRGlnZXN0SW5pdCgmbWQsIGV2cF9tZCk7CistCUVWUF9EaWdlc3RVcGRhdGUoJm1kLCBkYXRhLCBkYXRhbGVuKTsKKy0JRVZQX0RpZ2VzdEZpbmFsKCZtZCwgZGlnZXN0LCAmZGxlbik7CisrCW1kID0gRVZQX01EX0NUWF9jcmVhdGUoKTsKKysJRVZQX0RpZ2VzdEluaXQobWQsIGV2cF9tZCk7CisrCUVWUF9EaWdlc3RVcGRhdGUobWQsIGRhdGEsIGRhdGFsZW4pOworKwlFVlBfRGlnZXN0RmluYWwobWQsIGRpZ2VzdCwgJmRsZW4pOworIAorIAlyZXQgPSBvcGVuc3NoX1JTQV92ZXJpZnkobmlkLCBkaWdlc3QsIGRsZW4sIHNpZ2Jsb2IsIGxlbiwga2V5LT5yc2EpOworIAltZW1zZXQoZGlnZXN0LCAnZCcsIHNpemVvZihkaWdlc3QpKTsKKysJRVZQX01EX0NUWF9kZXN0cm95KG1kKTsKKyAJbWVtc2V0KHNpZ2Jsb2IsICdzJywgbGVuKTsKKyAJcGFtc3NoYWdlbnRhdXRoX3hmcmVlKHNpZ2Jsb2IpOworIAlwYW1zc2hhZ2VudGF1dGhfdmVyYm9zZSgic3NoX3JzYV92ZXJpZnk6IHNpZ25hdHVyZSAlc2NvcnJlY3QiLCAocmV0PT0wKSA/ICJpbiIgOiAiIik7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcGFtL3BhbS1zc2gtYWdlbnQtYXV0aC8wMDAyLUNoZWNrLWFnYWluc3QtdGhlLWNvcnJlY3QtT1BFTlNTTF9WRVJTSU9OX05VTUJFUi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wYW0vcGFtLXNzaC1hZ2VudC1hdXRoLzAwMDItQ2hlY2stYWdhaW5zdC10aGUtY29ycmVjdC1PUEVOU1NMX1ZFUlNJT05fTlVNQkVSLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwM2I0M2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcGFtL3BhbS1zc2gtYWdlbnQtYXV0aC8wMDAyLUNoZWNrLWFnYWluc3QtdGhlLWNvcnJlY3QtT1BFTlNTTF9WRVJTSU9OX05VTUJFUi5wYXRjaApAQCAtMCwwICsxLDM2NSBAQAorRnJvbSBiMmVlMjk4MDlhNTRlMTY1NjczMjNkOGZiYWMyZDY1MmVlNThjNjkyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMSBGZWIgMjAxOSAyMjo0NToxOSAtMDgwMAorU3ViamVjdDogW1BBVENIXSBDaGVjayBhZ2FpbnN0IHRoZSBjb3JyZWN0IE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIKKworRnJvbTogR3VpZG8gRmFsc2kgPG1hZEBtYWRwaWxvdC5uZXQ+CitodHRwczovL3NvdXJjZXMuZGViaWFuLm9yZy9zcmMvcGFtLXNzaC1hZ2VudC1hdXRoLzAuMTAuMy0zL2RlYmlhbi9wYXRjaGVzL29wZW5zc2wtMS4xLjEtMi5wYXRjaC8KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgYXV0aGZkLmMgICAgfCAxMiArKysrKystLS0tLS0KKyBidWZibi5jICAgICB8ICAyICstCisga2V5LmMgICAgICAgfCAzNiArKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KKyBzc2gtZHNzLmMgICB8IDEwICsrKysrLS0tLS0KKyBzc2gtZWNkc2EuYyB8ICA4ICsrKystLS0tCisgc3NoLXJzYS5jICAgfCAgNCArKy0tCisgNiBmaWxlcyBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2F1dGhmZC5jIGIvYXV0aGZkLmMKK2luZGV4IGY5MTUxNGQuLjRjNmNlYzggMTAwNjQ0CistLS0gYS9hdXRoZmQuYworKysrIGIvYXV0aGZkLmMKK0BAIC0zNjcsNyArMzY3LDcgQEAgc3NoX2dldF9uZXh0X2lkZW50aXR5KEF1dGhlbnRpY2F0aW9uQ29ubmVjdGlvbiAqYXV0aCwgY2hhciAqKmNvbW1lbnQsIGludCB2ZXJzaW8KKyAJY2FzZSAxOgorIAkJa2V5ID0gcGFtc3NoYWdlbnRhdXRoX2tleV9uZXcoS0VZX1JTQTEpOworIAkJYml0cyA9IHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2ludCgmYXV0aC0+aWRlbnRpdGllcyk7CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bSgmYXV0aC0+aWRlbnRpdGllcywga2V5LT5yc2EtPmUpOworIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtKCZhdXRoLT5pZGVudGl0aWVzLCBrZXktPnJzYS0+bik7CisgCQkqY29tbWVudCA9IHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X3N0cmluZygmYXV0aC0+aWRlbnRpdGllcywgTlVMTCk7CitAQCAtNDI3LDcgKzQyNyw3IEBAIHNzaF9kZWNyeXB0X2NoYWxsZW5nZShBdXRoZW50aWNhdGlvbkNvbm5lY3Rpb24gKmF1dGgsCisgCX0KKyAJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9pbml0KCZidWZmZXIpOworIAlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9jaGFyKCZidWZmZXIsIFNTSF9BR0VOVENfUlNBX0NIQUxMRU5HRSk7CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfaW50KCZidWZmZXIsIEJOX251bV9iaXRzKGtleS0+cnNhLT5uKSk7CisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bSgmYnVmZmVyLCBrZXktPnJzYS0+ZSk7CisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bSgmYnVmZmVyLCBrZXktPnJzYS0+bik7CitAQCAtNTEyLDcgKzUxMiw3IEBAIHNzaF9hZ2VudF9zaWduKEF1dGhlbnRpY2F0aW9uQ29ubmVjdGlvbiAqYXV0aCwKKyBzdGF0aWMgdm9pZAorIHNzaF9lbmNvZGVfaWRlbnRpdHlfcnNhMShCdWZmZXIgKmIsIFJTQSAqa2V5LCBjb25zdCBjaGFyICpjb21tZW50KQorIHsKKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDA1TAorIAlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9pbnQoYiwgQk5fbnVtX2JpdHMoa2V5LT5uKSk7CisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bShiLCBrZXktPm4pOworIAlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0oYiwga2V5LT5lKTsKK0BAIC01NDAsNyArNTQwLDcgQEAgc3NoX2VuY29kZV9pZGVudGl0eV9zc2gyKEJ1ZmZlciAqYiwgS2V5ICprZXksIGNvbnN0IGNoYXIgKmNvbW1lbnQpCisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2NzdHJpbmcoYiwga2V5X3NzaF9uYW1lKGtleSkpOworIAlzd2l0Y2ggKGtleS0+dHlwZSkgeworIAljYXNlIEtFWV9SU0E6CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoYiwga2V5LT5yc2EtPm4pOworIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMihiLCBrZXktPnJzYS0+ZSk7CisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKGIsIGtleS0+cnNhLT5kKTsKK0BAIC01NTcsNyArNTU3LDcgQEAgc3NoX2VuY29kZV9pZGVudGl0eV9zc2gyKEJ1ZmZlciAqYiwgS2V5ICprZXksIGNvbnN0IGNoYXIgKmNvbW1lbnQpCisgI2VuZGlmCisgCQlicmVhazsKKyAJY2FzZSBLRVlfRFNBOgorLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKGIsIGtleS0+ZHNhLT5wKTsKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoYiwga2V5LT5kc2EtPnEpOworIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMihiLCBrZXktPmRzYS0+Zyk7CitAQCAtNjQ5LDcgKzY0OSw3IEBAIHNzaF9yZW1vdmVfaWRlbnRpdHkoQXV0aGVudGljYXRpb25Db25uZWN0aW9uICphdXRoLCBLZXkgKmtleSkKKyAKKyAJaWYgKGtleS0+dHlwZSA9PSBLRVlfUlNBMSkgeworIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfY2hhcigmbXNnLCBTU0hfQUdFTlRDX1JFTU9WRV9SU0FfSURFTlRJVFkpOworLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9pbnQoJm1zZywgQk5fbnVtX2JpdHMoa2V5LT5yc2EtPm4pKTsKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bSgmbXNnLCBrZXktPnJzYS0+ZSk7CisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0oJm1zZywga2V5LT5yc2EtPm4pOworZGlmZiAtLWdpdCBhL2J1ZmJuLmMgYi9idWZibi5jCitpbmRleCA0ZWNlZGMxLi5iNDc1NGNjIDEwMDY0NAorLS0tIGEvYnVmYm4uYworKysrIGIvYnVmYm4uYworQEAgLTE1MSw3ICsxNTEsNyBAQCBwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yX3JldChCdWZmZXIgKmJ1ZmZlciwgY29uc3QgQklHTlVNICp2YWx1ZSkKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2ludChidWZmZXIsIDApOworIAkJcmV0dXJuIDA7CisgCX0KKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDA1TAorIAlpZiAodmFsdWUtPm5lZykgeworICNlbHNlCisgCWlmIChCTl9pc19uZWdhdGl2ZSh2YWx1ZSkpIHsKK2RpZmYgLS1naXQgYS9rZXkuYyBiL2tleS5jCitpbmRleCBhZWRiYmI1Li5kY2M1ZmM4IDEwMDY0NAorLS0tIGEva2V5LmMKKysrKyBiL2tleS5jCitAQCAtNzcsNyArNzcsNyBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X25ldyhpbnQgdHlwZSkKKyAJY2FzZSBLRVlfUlNBOgorIAkJaWYgKChyc2EgPSBSU0FfbmV3KCkpID09IE5VTEwpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfbmV3OiBSU0FfbmV3IGZhaWxlZCIpOworLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCQlpZiAoKHJzYS0+biA9IEJOX25ldygpKSA9PSBOVUxMKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ldzogQk5fbmV3IGZhaWxlZCIpOworIAkJaWYgKChyc2EtPmUgPSBCTl9uZXcoKSkgPT0gTlVMTCkKK0BAIC05MSw3ICs5MSw3IEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfbmV3KGludCB0eXBlKQorIAljYXNlIEtFWV9EU0E6CisgCQlpZiAoKGRzYSA9IERTQV9uZXcoKSkgPT0gTlVMTCkKKyAJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9uZXc6IERTQV9uZXcgZmFpbGVkIik7CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJCWlmICgoZHNhLT5wID0gQk5fbmV3KCkpID09IE5VTEwpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfbmV3OiBCTl9uZXcgZmFpbGVkIik7CisgCQlpZiAoKGRzYS0+cSA9IEJOX25ldygpKSA9PSBOVUxMKQorQEAgLTEzMCw3ICsxMzAsNyBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X25ld19wcml2YXRlKGludCB0eXBlKQorIAlzd2l0Y2ggKGstPnR5cGUpIHsKKyAJY2FzZSBLRVlfUlNBMToKKyAJY2FzZSBLRVlfUlNBOgorLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCQlpZiAoKGstPnJzYS0+ZCA9IEJOX25ldygpKSA9PSBOVUxMKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ld19wcml2YXRlOiBCTl9uZXcgZmFpbGVkIik7CisgCQlpZiAoKGstPnJzYS0+aXFtcCA9IEJOX25ldygpKSA9PSBOVUxMKQorQEAgLTE1Myw3ICsxNTMsNyBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X25ld19wcml2YXRlKGludCB0eXBlKQorICNlbmRpZgorIAkJYnJlYWs7CisgCWNhc2UgS0VZX0RTQToKKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDA1TAorIAkJaWYgKChrLT5kc2EtPnByaXZfa2V5ID0gQk5fbmV3KCkpID09IE5VTEwpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfbmV3X3ByaXZhdGU6IEJOX25ldyBmYWlsZWQiKTsKKyAjZWxzZQorQEAgLTE2Miw3ICsxNjIsNyBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X25ld19wcml2YXRlKGludCB0eXBlKQorICNlbmRpZgorIAkJYnJlYWs7CisgCWNhc2UgS0VZX0VDRFNBOgorLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCQlpZiAoRUNfS0VZX3NldF9wcml2YXRlX2tleShrLT5lY2RzYSwgQk5fbmV3KCkpICE9IDEpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfbmV3X3ByaXZhdGU6IEVDX0tFWV9zZXRfcHJpdmF0ZV9rZXkgZmFpbGVkIik7CisgI2Vsc2UKK0BAIC0yMjQsNyArMjI0LDcgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9lcXVhbChjb25zdCBLZXkgKmEsIGNvbnN0IEtleSAqYikKKyAJY2FzZSBLRVlfUlNBMToKKyAJY2FzZSBLRVlfUlNBOgorIAkJcmV0dXJuIGEtPnJzYSAhPSBOVUxMICYmIGItPnJzYSAhPSBOVUxMICYmCistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJCSAgICBCTl9jbXAoYS0+cnNhLT5lLCBiLT5yc2EtPmUpID09IDAgJiYKKyAJCSAgICBCTl9jbXAoYS0+cnNhLT5uLCBiLT5yc2EtPm4pID09IDA7CisgI2Vsc2UKK0BAIC0yMzMsNyArMjMzLDcgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9lcXVhbChjb25zdCBLZXkgKmEsIGNvbnN0IEtleSAqYikKKyAjZW5kaWYKKyAJY2FzZSBLRVlfRFNBOgorIAkJcmV0dXJuIGEtPmRzYSAhPSBOVUxMICYmIGItPmRzYSAhPSBOVUxMICYmCistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJCSAgICBCTl9jbXAoYS0+ZHNhLT5wLCBiLT5kc2EtPnApID09IDAgJiYKKyAJCSAgICBCTl9jbXAoYS0+ZHNhLT5xLCBiLT5kc2EtPnEpID09IDAgJiYKKyAJCSAgICBCTl9jbXAoYS0+ZHNhLT5nLCBiLT5kc2EtPmcpID09IDAgJiYKK0BAIC0yOTMsNyArMjkzLDcgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9maW5nZXJwcmludF9yYXcoY29uc3QgS2V5ICprLCBlbnVtIGZwX3R5cGUgZGdzdF90eXBlLAorIAl9CisgCXN3aXRjaCAoay0+dHlwZSkgeworIAljYXNlIEtFWV9SU0ExOgorLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCQlubGVuID0gQk5fbnVtX2J5dGVzKGstPnJzYS0+bik7CisgCQllbGVuID0gQk5fbnVtX2J5dGVzKGstPnJzYS0+ZSk7CisgCQlsZW4gPSBubGVuICsgZWxlbjsKK0BAIC01MTAsNyArNTEwLDcgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9yZWFkKEtleSAqcmV0LCBjaGFyICoqY3BwKQorIAkJCXJldHVybiAtMTsKKyAJCSpjcHAgPSBjcDsKKyAJCS8qIEdldCBwdWJsaWMgZXhwb25lbnQsIHB1YmxpYyBtb2R1bHVzLiAqLworLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCQlpZiAoIXJlYWRfYmlnbnVtKGNwcCwgcmV0LT5yc2EtPmUpKQorIAkJCXJldHVybiAtMTsKKyAJCWlmICghcmVhZF9iaWdudW0oY3BwLCByZXQtPnJzYS0+bikpCitAQCAtNjQzLDcgKzY0Myw3IEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfd3JpdGUoY29uc3QgS2V5ICprZXksIEZJTEUgKmYpCisgCisgCWlmIChrZXktPnR5cGUgPT0gS0VZX1JTQTEgJiYga2V5LT5yc2EgIT0gTlVMTCkgeworIAkJLyogc2l6ZSBvZiBtb2R1bHVzICduJyAqLworLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCQliaXRzID0gQk5fbnVtX2JpdHMoa2V5LT5yc2EtPm4pOworIAkJZnByaW50ZihmLCAiJXUiLCBiaXRzKTsKKyAJCWlmICh3cml0ZV9iaWdudW0oZiwga2V5LT5yc2EtPmUpICYmCitAQCAtNzQyLDcgKzc0Miw3IEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfc2l6ZShjb25zdCBLZXkgKmspCisgeworIAlzd2l0Y2ggKGstPnR5cGUpIHsKKyAJY2FzZSBLRVlfUlNBMToKKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDA1TAorIAljYXNlIEtFWV9SU0E6CisgCQlyZXR1cm4gQk5fbnVtX2JpdHMoay0+cnNhLT5uKTsKKyAJY2FzZSBLRVlfRFNBOgorQEAgLTg0Myw3ICs4NDMsNyBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X2Zyb21fcHJpdmF0ZShjb25zdCBLZXkgKmspCisgCXN3aXRjaCAoay0+dHlwZSkgeworIAljYXNlIEtFWV9EU0E6CisgCQluID0gcGFtc3NoYWdlbnRhdXRoX2tleV9uZXcoay0+dHlwZSk7CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJCWlmICgoQk5fY29weShuLT5kc2EtPnAsIGstPmRzYS0+cCkgPT0gTlVMTCkgfHwKKyAJCSAgICAoQk5fY29weShuLT5kc2EtPnEsIGstPmRzYS0+cSkgPT0gTlVMTCkgfHwKKyAJCSAgICAoQk5fY29weShuLT5kc2EtPmcsIGstPmRzYS0+ZykgPT0gTlVMTCkgfHwKK0BAIC04NTksNyArODU5LDcgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9mcm9tX3ByaXZhdGUoY29uc3QgS2V5ICprKQorIAljYXNlIEtFWV9SU0E6CisgCWNhc2UgS0VZX1JTQTE6CisgCQluID0gcGFtc3NoYWdlbnRhdXRoX2tleV9uZXcoay0+dHlwZSk7CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJCWlmICgoQk5fY29weShuLT5yc2EtPm4sIGstPnJzYS0+bikgPT0gTlVMTCkgfHwKKyAJCSAgICAoQk5fY29weShuLT5yc2EtPmUsIGstPnJzYS0+ZSkgPT0gTlVMTCkpCisgI2Vsc2UKK0BAIC05NjcsNyArOTY3LDcgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9mcm9tX2Jsb2IoY29uc3QgdV9jaGFyICpibG9iLCB1X2ludCBibGVuKQorIAlzd2l0Y2ggKHR5cGUpIHsKKyAJY2FzZSBLRVlfUlNBOgorIAkJa2V5ID0gcGFtc3NoYWdlbnRhdXRoX2tleV9uZXcodHlwZSk7CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJCWlmIChwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0yX3JldCgmYiwga2V5LT5yc2EtPmUpID09IC0xIHx8CisgCQkgICAgcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQoJmIsIGtleS0+cnNhLT5uKSA9PSAtMSkgeworICNlbHNlCitAQCAtOTg1LDcgKzk4NSw3IEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfZnJvbV9ibG9iKGNvbnN0IHVfY2hhciAqYmxvYiwgdV9pbnQgYmxlbikKKyAJCWJyZWFrOworIAljYXNlIEtFWV9EU0E6CisgCQlrZXkgPSBwYW1zc2hhZ2VudGF1dGhfa2V5X25ldyh0eXBlKTsKKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDA1TAorIAkJaWYgKHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiLCBrZXktPmRzYS0+cCkgPT0gLTEgfHwKKyAJCSAgICBwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0yX3JldCgmYiwga2V5LT5kc2EtPnEpID09IC0xIHx8CisgCQkgICAgcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQoJmIsIGtleS0+ZHNhLT5nKSA9PSAtMSB8fAorQEAgLTExMTMsNyArMTExMyw3IEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfdG9fYmxvYihjb25zdCBLZXkgKmtleSwgdV9jaGFyICoqYmxvYnAsIHVfaW50ICpsZW5wKQorIAl9CisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfaW5pdCgmYik7CisgCXN3aXRjaCAoa2V5LT50eXBlKSB7CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJY2FzZSBLRVlfRFNBOgorIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfY3N0cmluZygmYiwga2V5X3NzaF9uYW1lKGtleSkpOworIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMigmYiwga2V5LT5kc2EtPnApOworQEAgLTEyNTEsNyArMTI1MSw3IEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfZGVtb3RlKGNvbnN0IEtleSAqaykKKyAJY2FzZSBLRVlfUlNBOgorIAkJaWYgKChway0+cnNhID0gUlNBX25ldygpKSA9PSBOVUxMKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X2RlbW90ZTogUlNBX25ldyBmYWlsZWQiKTsKKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDA1TAorIAkJaWYgKChway0+cnNhLT5lID0gQk5fZHVwKGstPnJzYS0+ZSkpID09IE5VTEwpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfZGVtb3RlOiBCTl9kdXAgZmFpbGVkIik7CisgCQlpZiAoKHBrLT5yc2EtPm4gPSBCTl9kdXAoay0+cnNhLT5uKSkgPT0gTlVMTCkKK0BAIC0xMjY0LDcgKzEyNjQsNyBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X2RlbW90ZShjb25zdCBLZXkgKmspCisgCWNhc2UgS0VZX0RTQToKKyAJCWlmICgocGstPmRzYSA9IERTQV9uZXcoKSkgPT0gTlVMTCkKKyAJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9kZW1vdGU6IERTQV9uZXcgZmFpbGVkIik7CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJCWlmICgocGstPmRzYS0+cCA9IEJOX2R1cChrLT5kc2EtPnApKSA9PSBOVUxMKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X2RlbW90ZTogQk5fZHVwIGZhaWxlZCIpOworIAkJaWYgKChway0+ZHNhLT5xID0gQk5fZHVwKGstPmRzYS0+cSkpID09IE5VTEwpCitkaWZmIC0tZ2l0IGEvc3NoLWRzcy5jIGIvc3NoLWRzcy5jCitpbmRleCAxMDUxYWUyLi45Yjk2Mjc0IDEwMDY0NAorLS0tIGEvc3NoLWRzcy5jCisrKysgYi9zc2gtZHNzLmMKK0BAIC01Miw3ICs1Miw3IEBAIHNzaF9kc3Nfc2lnbihjb25zdCBLZXkgKmtleSwgdV9jaGFyICoqc2lncCwgdV9pbnQgKmxlbnAsCisgCXVfY2hhciBkaWdlc3RbRVZQX01BWF9NRF9TSVpFXSwgc2lnYmxvYltTSUdCTE9CX0xFTl07CisgCXVfaW50IHJsZW4sIHNsZW4sIGxlbiwgZGxlbjsKKyAJQnVmZmVyIGI7CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMTAwMDA1TAorIAljb25zdCBCSUdOVU0gKnIsICpzOworICNlbmRpZgorIAorQEAgLTc0LDcgKzc0LDcgQEAgc3NoX2Rzc19zaWduKGNvbnN0IEtleSAqa2V5LCB1X2NoYXIgKipzaWdwLCB1X2ludCAqbGVucCwKKyAJCXJldHVybiAtMTsKKyAJfQorIAorLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCXJsZW4gPSBCTl9udW1fYnl0ZXMoc2lnLT5yKTsKKyAJc2xlbiA9IEJOX251bV9ieXRlcyhzaWctPnMpOworICNlbHNlCitAQCAtODgsNyArODgsNyBAQCBzc2hfZHNzX3NpZ24oY29uc3QgS2V5ICprZXksIHVfY2hhciAqKnNpZ3AsIHVfaW50ICpsZW5wLAorIAkJcmV0dXJuIC0xOworIAl9CisgCW1lbXNldChzaWdibG9iLCAwLCBTSUdCTE9CX0xFTik7CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJQk5fYm4yYmluKHNpZy0+ciwgc2lnYmxvYisgU0lHQkxPQl9MRU4gLSBJTlRCTE9CX0xFTiAtIHJsZW4pOworIAlCTl9ibjJiaW4oc2lnLT5zLCBzaWdibG9iKyBTSUdCTE9CX0xFTiAtIHNsZW4pOworICNlbHNlCitAQCAtMTMxLDcgKzEzMSw3IEBAIHNzaF9kc3NfdmVyaWZ5KGNvbnN0IEtleSAqa2V5LCBjb25zdCB1X2NoYXIgKnNpZ25hdHVyZSwgdV9pbnQgc2lnbmF0dXJlbGVuLAorIAl1X2ludCBsZW4sIGRsZW47CisgCWludCBybGVuLCByZXQ7CisgCUJ1ZmZlciBiOworLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MTAxMDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gMHgxMDEwMDAwNUwKKyAJQklHTlVNICpyLCAqczsKKyAjZW5kaWYKKyAKK0BAIC0xNzYsNyArMTc2LDcgQEAgc3NoX2Rzc192ZXJpZnkoY29uc3QgS2V5ICprZXksIGNvbnN0IHVfY2hhciAqc2lnbmF0dXJlLCB1X2ludCBzaWduYXR1cmVsZW4sCisgCS8qIHBhcnNlIHNpZ25hdHVyZSAqLworIAlpZiAoKHNpZyA9IERTQV9TSUdfbmV3KCkpID09IE5VTEwpCisgCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoInNzaF9kc3NfdmVyaWZ5OiBEU0FfU0lHX25ldyBmYWlsZWQiKTsKKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDA1TAorIAlpZiAoKHNpZy0+ciA9IEJOX25ldygpKSA9PSBOVUxMKQorIAkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJzc2hfZHNzX3ZlcmlmeTogQk5fbmV3IGZhaWxlZCIpOworIAlpZiAoKHNpZy0+cyA9IEJOX25ldygpKSA9PSBOVUxMKQorZGlmZiAtLWdpdCBhL3NzaC1lY2RzYS5jIGIvc3NoLWVjZHNhLmMKK2luZGV4IGMyMTM5NTkuLjViMTNiMzAgMTAwNjQ0CistLS0gYS9zc2gtZWNkc2EuYworKysrIGIvc3NoLWVjZHNhLmMKK0BAIC00NSw3ICs0NSw3IEBAIHNzaF9lY2RzYV9zaWduKGNvbnN0IEtleSAqa2V5LCB1X2NoYXIgKipzaWdwLCB1X2ludCAqbGVucCwKKyAgICAgdV9jaGFyIGRpZ2VzdFtFVlBfTUFYX01EX1NJWkVdOworICAgICB1X2ludCBsZW4sIGRsZW47CisgICAgIEJ1ZmZlciBiLCBiYjsKKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MTAxMDAwMDVMCisgCUJJR05VTSAqciwgKnM7CisgI2VuZGlmCisgCitAQCAtNjksNyArNjksNyBAQCBzc2hfZWNkc2Ffc2lnbihjb25zdCBLZXkgKmtleSwgdV9jaGFyICoqc2lncCwgdV9pbnQgKmxlbnAsCisgICAgIH0KKyAKKyAgICAgcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9pbml0KCZiYik7CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAgICAgaWYgKHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiYiwgc2lnLT5yKSA9PSAtMSB8fAorICAgICAgICAgcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQoJmJiLCBzaWctPnMpID09IC0xKSB7CisgI2Vsc2UKK0BAIC0xMTAsNyArMTEwLDcgQEAgc3NoX2VjZHNhX3ZlcmlmeShjb25zdCBLZXkgKmtleSwgY29uc3QgdV9jaGFyICpzaWduYXR1cmUsIHVfaW50IHNpZ25hdHVyZWxlbiwKKyAgICAgdV9pbnQgbGVuLCBkbGVuOworICAgICBpbnQgcmxlbiwgcmV0OworICAgICBCdWZmZXIgYjsKKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MTAxMDAwMDVMCisgCUJJR05VTSAqciwgKnM7CisgI2VuZGlmCisgCitAQCAtMTQxLDcgKzE0MSw3IEBAIHNzaF9lY2RzYV92ZXJpZnkoY29uc3QgS2V5ICprZXksIGNvbnN0IHVfY2hhciAqc2lnbmF0dXJlLCB1X2ludCBzaWduYXR1cmVsZW4sCisgCisgICAgIHBhbXNzaGFnZW50YXV0aF9idWZmZXJfaW5pdCgmYik7CisgICAgIHBhbXNzaGFnZW50YXV0aF9idWZmZXJfYXBwZW5kKCZiLCBzaWdibG9iLCBsZW4pOworLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgICAgIGlmICgocGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQoJmIsIHNpZy0+cikgPT0gLTEpIHx8CisgICAgICAgICAocGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQoJmIsIHNpZy0+cykgPT0gLTEpKQorICNlbHNlCitkaWZmIC0tZ2l0IGEvc3NoLXJzYS5jIGIvc3NoLXJzYS5jCitpbmRleCA5ZDc0ZWI2Li4zNWYyZTM2IDEwMDY0NAorLS0tIGEvc3NoLXJzYS5jCisrKysgYi9zc2gtcnNhLmMKK0BAIC0xMTksMTMgKzExOSwxMyBAQCBzc2hfcnNhX3ZlcmlmeShjb25zdCBLZXkgKmtleSwgY29uc3QgdV9jaGFyICpzaWduYXR1cmUsIHVfaW50IHNpZ25hdHVyZWxlbiwKKyAJCXBhbXNzaGFnZW50YXV0aF9sb2dlcnJvcigic3NoX3JzYV92ZXJpZnk6IG5vIFJTQSBrZXkiKTsKKyAJCXJldHVybiAtMTsKKyAJfQorLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCWlmIChCTl9udW1fYml0cyhrZXktPnJzYS0+bikgPCBTU0hfUlNBX01JTklNVU1fTU9EVUxVU19TSVpFKSB7CisgI2Vsc2UKKyAJaWYgKEJOX251bV9iaXRzKFJTQV9nZXQwX24oa2V5LT5yc2EpKSA8IFNTSF9SU0FfTUlOSU1VTV9NT0RVTFVTX1NJWkUpIHsKKyAjZW5kaWYKKyAJCXBhbXNzaGFnZW50YXV0aF9sb2dlcnJvcigic3NoX3JzYV92ZXJpZnk6IFJTQSBtb2R1bHVzIHRvbyBzbWFsbDogJWQgPCBtaW5pbXVtICVkIGJpdHMiLAorLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCQkgICAgQk5fbnVtX2JpdHMoa2V5LT5yc2EtPm4pLCBTU0hfUlNBX01JTklNVU1fTU9EVUxVU19TSVpFKTsKKyAjZWxzZQorIAkJICAgIEJOX251bV9iaXRzKFJTQV9nZXQwX24oa2V5LT5yc2EpKSwgU1NIX1JTQV9NSU5JTVVNX01PRFVMVVNfU0laRSk7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcGFtL3BhbS1zc2gtYWdlbnQtYXV0aF8wLjEwLjMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcGFtL3BhbS1zc2gtYWdlbnQtYXV0aF8wLjEwLjMuYmIKaW5kZXggMmE0NjFmYy4uYWM3ZmE0YiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BhbS9wYW0tc3NoLWFnZW50LWF1dGhfMC4xMC4zLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wYW0vcGFtLXNzaC1hZ2VudC1hdXRoXzAuMTAuMy5iYgpAQCAtNywxMSArNywxNCBAQAogICAgICAgICAgICAgICAgICAgICBmaWxlOi8vT1BFTlNTSF9MSUNFTlNFO21kNT03YWUwOTIxODE3M2JlMTY0M2M5OThhNGI3MTAyN2Y5YiBcCiAiCiAKLVNSQ19VUkkgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9wYW1zc2hhZ2VudGF1dGgvZmlsZXMvcGFtX3NzaF9hZ2VudF9hdXRoL3Yke1BWfS9wYW1fc3NoX2FnZW50X2F1dGgtJHtQVn0udGFyLmJ6MiIKK1NSQ19VUkkgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9wYW1zc2hhZ2VudGF1dGgvZmlsZXMvcGFtX3NzaF9hZ2VudF9hdXRoL3Yke1BWfS9wYW1fc3NoX2FnZW50X2F1dGgtJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUFkYXB0LXRvLU9wZW5TU0wtMS4xLjEucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1DaGVjay1hZ2FpbnN0LXRoZS1jb3JyZWN0LU9QRU5TU0xfVkVSU0lPTl9OVU1CRVIucGF0Y2ggXAorICAgICAgICAgICAiCiBTUkNfVVJJW21kNXN1bV0gPSAiOGRiZTkwYWIzNjI1ZTU0NTAzNjMzM2U2ZjUxY2NmMWQiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2M1M2QzNThkNmVhZWQxYjIxMTIzOWRmMDE3YzI3YzZmOTk3MDk5NWQxNDEwMmFlNjdiYWUxNmQ0ZjQ3YTc2MyIKIAotREVQRU5EUyArPSAibGlicGFtIG9wZW5zc2wxMCIKK0RFUEVORFMgKz0gImxpYnBhbSBvcGVuc3NsIgogCiBpbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjawogUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gInBhbSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wb2xraXQvcG9sa2l0LWdyb3VwLXJ1bGUuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9wb2xraXQtZ3JvdXAtcnVsZS5pbmMKaW5kZXggNDBlNDAwNS4uMDZhYjEwNiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9wb2xraXQtZ3JvdXAtcnVsZS5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9wb2xraXQtZ3JvdXAtcnVsZS5pbmMKQEAgLTEsNiArMSw5IEBACiAjIHBvbGtpdCBtdXN0IHByZXBhcmUgcG9sa2l0ZCBncm91cAogREVQRU5EUyArPSAicG9sa2l0IgogCitpbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjaworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gInBvbGtpdCIKKwogaW5oZXJpdCB1c2VyYWRkCiAKIGRvX2luc3RhbGxfcHJlcGVuZCgpIHsKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wb2xraXQvcG9sa2l0L0NWRS0yMDE5LTYxMzMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcG9sa2l0L3BvbGtpdC9DVkUtMjAxOS02MTMzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZmQyMGRjLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wb2xraXQvcG9sa2l0L0NWRS0yMDE5LTYxMzMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxOTAgKzAsMCBAQAotRnJvbSA2Y2M2YWFmZWUxMzViYTQ0ZWE3NDgyNTBkN2QyOWI1NjJjYTE5MGUzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ29saW4gV2FsdGVycyA8d2FsdGVyc0B2ZXJidW0ub3JnPgotRGF0ZTogRnJpLCA0IEphbiAyMDE5IDE0OjI0OjQ4IC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0hdIGJhY2tlbmQ6IENvbXBhcmUgUG9sa2l0VW5peFByb2Nlc3MgdWlkcyBmb3IgdGVtcG9yYXJ5Ci0gYXV0aG9yaXphdGlvbnMKLQotSXQgdHVybnMgb3V0IHRoYXQgdGhlIGNvbWJpbmF0aW9uIG9mIGAocGlkLCBzdGFydCB0aW1lKWAgaXMgbm90Ci1lbm91Z2ggdG8gYmUgdW5pcXVlLiAgRm9yIHRlbXBvcmFyeSBhdXRob3JpemF0aW9ucywgd2UgY2FuIGF2b2lkCi1zZXBhcmF0ZSB1c2VycyByYWNpbmcgb24gcGlkIHJldXNlIGJ5IHNpbXBseSBjb21wYXJpbmcgdGhlIHVpZC4KLQotaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL3Byb2plY3QtemVyby9pc3N1ZXMvZGV0YWlsP2lkPTE2OTIKLQotQW5kIHRoZSBhYm92ZSBvcmlnaW5hbCBlbWFpbCByZXBvcnQgaXMgaW5jbHVkZWQgaW4gZnVsbCBpbiBhIG5ldyBjb21tZW50LgotCi1SZXBvcnRlZC1ieTogSmFubiBIb3JuIDxqYW5uaEBnb29nbGUuY29tPgotCi1DbG9zZXM6IGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9wb2xraXQvcG9sa2l0L2lzc3Vlcy83NQotCi1DVkU6IENWRS0yMDE5LTYxMzMKLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9wb2xraXQvcG9sa2l0LmdpdF0KLQotU2lnbmVkLW9mZi1ieTogT3ZpZGl1IFBhbmFpdCA8b3ZpZGl1LnBhbmFpdEB3aW5kcml2ZXIuY29tPgotLS0tCi0gc3JjL3BvbGtpdC9wb2xraXRzdWJqZWN0LmMgICAgICAgICAgICAgICAgICAgIHwgIDIgKwotIHNyYy9wb2xraXQvcG9sa2l0dW5peHByb2Nlc3MuYyAgICAgICAgICAgICAgICB8IDcxICsrKysrKysrKysrKysrKysrKy0KLSAuLi4vcG9sa2l0YmFja2VuZGludGVyYWN0aXZlYXV0aG9yaXR5LmMgICAgICAgfCAzOSArKysrKysrKystCi0gMyBmaWxlcyBjaGFuZ2VkLCAxMTAgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9wb2xraXQvcG9sa2l0c3ViamVjdC5jIGIvc3JjL3BvbGtpdC9wb2xraXRzdWJqZWN0LmMKLWluZGV4IGQ0YzExODIuLmNjYWJkMGEgMTAwNjQ0Ci0tLS0gYS9zcmMvcG9sa2l0L3BvbGtpdHN1YmplY3QuYwotKysrIGIvc3JjL3BvbGtpdC9wb2xraXRzdWJqZWN0LmMKLUBAIC05OSw2ICs5OSw4IEBAIHBvbGtpdF9zdWJqZWN0X2hhc2ggKFBvbGtpdFN1YmplY3QgKnN1YmplY3QpCi0gICogQGI6IEEgI1BvbGtpdFN1YmplY3QuCi0gICoKLSAgKiBDaGVja3MgaWYgQGEgYW5kIEBiIGFyZSBlcXVhbCwgaWUuIHJlcHJlc2VudCB0aGUgc2FtZSBzdWJqZWN0LgotKyAqIEhvd2V2ZXIsIGF2b2lkIGNhbGxpbmcgcG9sa2l0X3N1YmplY3RfZXF1YWwoKSB0byBjb21wYXJlIHR3byBwcm9jZXNzZXM7Ci0rICogZm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHRoZSBgUG9sa2l0VW5peFByb2Nlc3NgIGRvY3VtZW50YXRpb24uCi0gICoKLSAgKiBUaGlzIGZ1bmN0aW9uIGNhbiBiZSB1c2VkIGluIGUuZy4gZ19oYXNoX3RhYmxlX25ldygpLgotICAqCi1kaWZmIC0tZ2l0IGEvc3JjL3BvbGtpdC9wb2xraXR1bml4cHJvY2Vzcy5jIGIvc3JjL3BvbGtpdC9wb2xraXR1bml4cHJvY2Vzcy5jCi1pbmRleCBiMDJiMjU4Li43OGQ3MjUxIDEwMDY0NAotLS0tIGEvc3JjL3BvbGtpdC9wb2xraXR1bml4cHJvY2Vzcy5jCi0rKysgYi9zcmMvcG9sa2l0L3BvbGtpdHVuaXhwcm9jZXNzLmMKLUBAIC01MSw3ICs1MSwxMCBAQAotICAqIEB0aXRsZTogUG9sa2l0VW5peFByb2Nlc3MKLSAgKiBAc2hvcnRfZGVzY3JpcHRpb246IFVuaXggcHJvY2Vzc3MKLSAgKgotLSAqIEFuIG9iamVjdCBmb3IgcmVwcmVzZW50aW5nIGEgVU5JWCBwcm9jZXNzLgotKyAqIEFuIG9iamVjdCBmb3IgcmVwcmVzZW50aW5nIGEgVU5JWCBwcm9jZXNzLiAgTk9URTogVGhpcyBvYmplY3QgYXMKLSsgKiBkZXNpZ25lZCBpcyBub3cga25vd24gYnJva2VuOyBhIG1lY2hhbmlzbSB0byBleHBsb2l0IGEgZGVsYXkgaW4KLSsgKiBzdGFydCB0aW1lIGluIHRoZSBMaW51eCBrZXJuZWwgd2FzIGlkZW50aWZpZWQuICBBdm9pZAotKyAqIGNhbGxpbmcgcG9sa2l0X3N1YmplY3RfZXF1YWwoKSB0byBjb21wYXJlIHR3byBwcm9jZXNzZXMuCi0gICoKLSAgKiBUbyB1bmlxdWVseSBpZGVudGlmeSBwcm9jZXNzZXMsIGJvdGggdGhlIHByb2Nlc3MgaWQgYW5kIHRoZSBzdGFydAotICAqIHRpbWUgb2YgdGhlIHByb2Nlc3MgKGEgbW9ub3RvbmljIGluY3JlYXNpbmcgdmFsdWUgcmVwcmVzZW50aW5nIHRoZQotQEAgLTY2LDYgKzY5LDcyIEBACi0gICogcG9sa2l0X3VuaXhfcHJvY2Vzc19uZXdfZm9yX293bmVyKCkgd2l0aCB0cnVzdGVkIGRhdGEuCi0gICovCi0gCi0rLyogU2VlIGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9wb2xraXQvcG9sa2l0L2lzc3Vlcy83NQotKwotKyAgQnV0IHF1b3RpbmcgdGhlIG9yaWdpbmFsIGVtYWlsIGluIGZ1bGwgaGVyZSB0byBlbnN1cmUgaXQncyBwcmVzZXJ2ZWQ6Ci0rCi0rICBGcm9tOiBKYW5uIEhvcm4gPGphbm5oQGdvb2dsZS5jb20+Ci0rICBTdWJqZWN0OiBbU0VDVVJJVFldIHBvbGtpdDogdGVtcG9yYXJ5IGF1dGggaGlqYWNraW5nIHZpYSBQSUQgcmV1c2UgYW5kIG5vbi1hdG9taWMgZm9yawotKyAgRGF0ZTogV2VkbmVzZGF5LCBPY3RvYmVyIDEwLCAyMDE4IDU6MzQgUE0KLSsKLStXaGVuIGEgKG5vbi1yb290KSB1c2VyIGF0dGVtcHRzIHRvIGUuZy4gY29udHJvbCBzeXN0ZW1kIHVuaXRzIGluIHRoZSBzeXN0ZW0KLStpbnN0YW5jZSBmcm9tIGFuIGFjdGl2ZSBzZXNzaW9uIG92ZXIgREJ1cywgdGhlIGFjY2VzcyBpcyBnYXRlZCBieSBhIHBvbGtpdAotK3BvbGljeSB0aGF0IHJlcXVpcmVzICJhdXRoX2FkbWluX2tlZXAiIGF1dGguIFRoaXMgcmVzdWx0cyBpbiBhbiBhdXRoIHByb21wdAotK2JlaW5nIHNob3duIHRvIHRoZSB1c2VyLCBhc2tpbmcgdGhlIHVzZXIgdG8gY29uZmlybSB0aGUgYWN0aW9uIGJ5IGVudGVyaW5nIHRoZQotK3Bhc3N3b3JkIG9mIGFuIGFkbWluaXN0cmF0b3IgYWNjb3VudC4KLSsKLStBZnRlciB0aGUgYWN0aW9uIGhhcyBiZWVuIGNvbmZpcm1lZCwgdGhlIGF1dGggZGVjaXNpb24gZm9yICJhdXRoX2FkbWluX2tlZXAiIGlzCi0rY2FjaGVkIGZvciB1cCB0byBmaXZlIG1pbnV0ZXMuIFN1YmplY3QgdG8gc29tZSByZXN0cmljdGlvbnMsIHNpbWlsYXIgYWN0aW9ucyBjYW4KLSt0aGVuIGJlIHBlcmZvcm1lZCBpbiB0aGlzIHRpbWVzcGFuIHdpdGhvdXQgcmVxdWlyaW5nIHJlLWF1dGg6Ci0rCi0rIC0gVGhlIFBJRCBvZiB0aGUgREJ1cyBjbGllbnQgcmVxdWVzdGluZyB0aGUgbmV3IGFjdGlvbiBtdXN0IG1hdGNoIHRoZSBQSUQgb2YKLSsgICB0aGUgREJ1cyBjbGllbnQgcmVxdWVzdGluZyB0aGUgb2xkIGFjdGlvbiAoYmFzZWQgb24gU09fUEVFUkNSRUQgaW5mb3JtYXRpb24KLSsgICBmb3J3YXJkZWQgYnkgdGhlIERCdXMgZGFlbW9uKS4KLSsgLSBUaGUgInN0YXJ0IHRpbWUiIG9mIHRoZSBjbGllbnQncyBQSUQgKGFzIHNlZW4gaW4gL3Byb2MvJHBpZC9zdGF0LCBmaWVsZCAyMikKLSsgICBtdXN0IG5vdCBoYXZlIGNoYW5nZWQuIFRoZSBncmFudWxhcml0eSBvZiB0aGlzIHRpbWVzdGFtcCBpcyBpbiB0aGUKLSsgICBtaWxsaXNlY29uZCByYW5nZS4KLSsgLSBwb2xraXQgcG9sbHMgZXZlcnkgdHdvIHNlY29uZHMgd2hldGhlciBhIHByb2Nlc3Mgd2l0aCB0aGUgZXhwZWN0ZWQgc3RhcnQgdGltZQotKyAgIHN0aWxsIGV4aXN0cy4gSWYgbm90LCB0aGUgdGVtcG9yYXJ5IGF1dGggZW50cnkgaXMgcHVyZ2VkLgotKwotK1dpdGhvdXQgdGhlIHN0YXJ0IHRpbWUgY2hlY2ssIHRoaXMgd291bGQgb2J2aW91c2x5IGJlIGJ1Z2d5IGJlY2F1c2UgYW4gYXR0YWNrZXIKLStjb3VsZCBzaW1wbHkgd2FpdCBmb3IgdGhlIGxlZ2l0aW1hdGUgY2xpZW50IHRvIGRpc2FwcGVhciwgdGhlbiBjcmVhdGUgYSBuZXcKLStjbGllbnQgd2l0aCB0aGUgc2FtZSBQSUQuCi0rCi0rVW5mb3J0dW5hdGVseSwgdGhlIHN0YXJ0IHRpbWUgY2hlY2sgaXMgYnlwYXNzYWJsZSBiZWNhdXNlIGZvcmsoKSBpcyBub3QgYXRvbWljLgotK0xvb2tpbmcgYXQgdGhlIHNvdXJjZSBjb2RlIG9mIGNvcHlfcHJvY2VzcygpIGluIHRoZSBrZXJuZWw6Ci0rCi0rICAgICAgICBwLT5zdGFydF90aW1lID0ga3RpbWVfZ2V0X25zKCk7Ci0rICAgICAgICBwLT5yZWFsX3N0YXJ0X3RpbWUgPSBrdGltZV9nZXRfYm9vdF9ucygpOwotKyAgICAgICAgWy4uLl0KLSsgICAgICAgIHJldHZhbCA9IGNvcHlfdGhyZWFkX3RscyhjbG9uZV9mbGFncywgc3RhY2tfc3RhcnQsIHN0YWNrX3NpemUsIHAsIHRscyk7Ci0rICAgICAgICBpZiAocmV0dmFsKQotKyAgICAgICAgICAgICAgICBnb3RvIGJhZF9mb3JrX2NsZWFudXBfaW87Ci0rCi0rICAgICAgICBpZiAocGlkICE9ICZpbml0X3N0cnVjdF9waWQpIHsKLSsgICAgICAgICAgICAgICAgcGlkID0gYWxsb2NfcGlkKHAtPm5zcHJveHktPnBpZF9uc19mb3JfY2hpbGRyZW4pOwotKyAgICAgICAgICAgICAgICBpZiAoSVNfRVJSKHBpZCkpIHsKLSsgICAgICAgICAgICAgICAgICAgICAgICByZXR2YWwgPSBQVFJfRVJSKHBpZCk7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgZ290byBiYWRfZm9ya19jbGVhbnVwX3RocmVhZDsKLSsgICAgICAgICAgICAgICAgfQotKyAgICAgICAgfQotKwotK1RoZSBrdGltZV9nZXRfYm9vdF9ucygpIGNhbGwgaXMgd2hlcmUgdGhlICJzdGFydCB0aW1lIiBvZiB0aGUgcHJvY2VzcyBpcwotK3JlY29yZGVkLiBUaGUgYWxsb2NfcGlkKCkgY2FsbCBpcyB3aGVyZSBhIGZyZWUgUElEIGlzIGFsbG9jYXRlZC4gSW4gYmV0d2VlbgotK3RoZXNlLCBzb21lIHRpbWUgcGFzc2VzOyBhbmQgYmVjYXVzZSB0aGUgY29weV90aHJlYWRfdGxzKCkgY2FsbCBiZXR3ZWVuIHRoZW0gY2FuCi0rYWNjZXNzIHVzZXJzcGFjZSBtZW1vcnkgd2hlbiBzeXNfY2xvbmUoKSBpcyBpbnZva2VkIHRocm91Z2ggdGhlIDMyLWJpdCBzeXNjYWxsCi0rZW50cnkgcG9pbnQsIGFuIGF0dGFja2VyIGNhbiBldmVuIHN0YWxsIHRoZSBrZXJuZWwgYXJiaXRyYXJpbHkgbG9uZyBhdCB0aGlzCi0rcG9pbnQgKGJ5IHN1cHBseWluZyBhIHBvaW50ZXIgaW50byB1c2Vyc3BhY2UgbWVtb3J5IHRoYXQgaXMgYXNzb2NpYXRlZCB3aXRoIGEKLSt1c2VyZmF1bHRmZCBvciBpcyBiYWNrZWQgYnkgYSBjdXN0b20gRlVTRSBmaWxlc3lzdGVtKS4KLSsKLStUaGlzIG1lYW5zIHRoYXQgYW4gYXR0YWNrZXIgY2FuIGltbWVkaWF0ZWx5IGNhbGwgc3lzX2Nsb25lKCkgd2hlbiB0aGUgdmljdGltCi0rcHJvY2VzcyBpcyBjcmVhdGVkLCBvZnRlbiByZXN1bHRpbmcgaW4gYSBwcm9jZXNzIHRoYXQgaGFzIHRoZSBleGFjdCBzYW1lIHN0YXJ0Ci0rdGltZSByZXBvcnRlZCBpbiBwcm9jZnM7IGFuZCB0aGVuIHRoZSBhdHRhY2tlciBjYW4gZGVsYXkgdGhlIGFsbG9jX3BpZCgpIGNhbGwKLSt1bnRpbCBhZnRlciB0aGUgdmljdGltIHByb2Nlc3MgaGFzIGRpZWQgYW5kIHRoZSBQSUQgYXNzaWdubWVudCBoYXMgY3ljbGVkCi0rYXJvdW5kLiBUaGlzIHJlc3VsdHMgaW4gYW4gYXR0YWNrZXIgcHJvY2VzcyB0aGF0IHBvbGtpdCBjYW4ndCBkaXN0aW5ndWlzaCBmcm9tCi0rdGhlIHZpY3RpbSBwcm9jZXNzLgotKyovCi0rCi0rCi0gLyoqCi0gICogUG9sa2l0VW5peFByb2Nlc3M6Ci0gICoKLWRpZmYgLS1naXQgYS9zcmMvcG9sa2l0YmFja2VuZC9wb2xraXRiYWNrZW5kaW50ZXJhY3RpdmVhdXRob3JpdHkuYyBiL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRpbnRlcmFjdGl2ZWF1dGhvcml0eS5jCi1pbmRleCBhMTYzMGI5Li44MGU4MTQxIDEwMDY0NAotLS0tIGEvc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0YmFja2VuZGludGVyYWN0aXZlYXV0aG9yaXR5LmMKLSsrKyBiL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRpbnRlcmFjdGl2ZWF1dGhvcml0eS5jCi1AQCAtMzAzMSw2ICszMDMxLDQzIEBAIHRlbXBvcmFyeV9hdXRob3JpemF0aW9uX3N0b3JlX2ZyZWUgKFRlbXBvcmFyeUF1dGhvcml6YXRpb25TdG9yZSAqc3RvcmUpCi0gICBnX2ZyZWUgKHN0b3JlKTsKLSB9Ci0gCi0rLyogU2VlIHRoZSBjb21tZW50IGF0IHRoZSB0b3Agb2YgcG9sa2l0dW5peHByb2Nlc3MuYyAqLwotK3N0YXRpYyBnYm9vbGVhbgotK3N1YmplY3RfZXF1YWxfZm9yX2F1dGh6IChQb2xraXRTdWJqZWN0ICphLAotKyAgICAgICAgICAgICAgICAgICAgICAgICBQb2xraXRTdWJqZWN0ICpiKQotK3sKLSsgIGlmICghcG9sa2l0X3N1YmplY3RfZXF1YWwgKGEsIGIpKQotKyAgICByZXR1cm4gRkFMU0U7Ci0rCi0rICAvKiBOb3cgc3BlY2lhbCBjYXNlIHVuaXggcHJvY2Vzc2VzLCBhcyB3ZSB3YW50IHRvIHByb3RlY3QgYWdhaW5zdAotKyAgICogcGlkIHJldXNlIGJ5IGluY2x1ZGluZyB0aGUgVUlELgotKyAgICovCi0rICBpZiAoUE9MS0lUX0lTX1VOSVhfUFJPQ0VTUyAoYSkgJiYgUE9MS0lUX0lTX1VOSVhfUFJPQ0VTUyAoYikpIHsKLSsgICAgUG9sa2l0VW5peFByb2Nlc3MgKmFwID0gKFBvbGtpdFVuaXhQcm9jZXNzKilhOwotKyAgICBpbnQgdWlkX2EgPSBwb2xraXRfdW5peF9wcm9jZXNzX2dldF91aWQgKChQb2xraXRVbml4UHJvY2VzcyopYSk7Ci0rICAgIFBvbGtpdFVuaXhQcm9jZXNzICpicCA9IChQb2xraXRVbml4UHJvY2VzcyopYjsKLSsgICAgaW50IHVpZF9iID0gcG9sa2l0X3VuaXhfcHJvY2Vzc19nZXRfdWlkICgoUG9sa2l0VW5peFByb2Nlc3MqKWIpOwotKwotKyAgICBpZiAodWlkX2EgIT0gLTEgJiYgdWlkX2IgIT0gLTEpCi0rICAgICAgewotKyAgICAgICAgaWYgKHVpZF9hID09IHVpZF9iKQotKyAgICAgICAgICB7Ci0rICAgICAgICAgICAgcmV0dXJuIFRSVUU7Ci0rICAgICAgICAgIH0KLSsgICAgICAgIGVsc2UKLSsgICAgICAgICAgewotKyAgICAgICAgICAgIGdfcHJpbnRlcnIgKCJkZW55aW5nIHNsb3dmb3JrOyBwaWQgJWQgdWlkICVkICE9ICVkIVxuIiwKLSsgICAgICAgICAgICAgICAgICAgICAgICBwb2xraXRfdW5peF9wcm9jZXNzX2dldF9waWQgKGFwKSwKLSsgICAgICAgICAgICAgICAgICAgICAgICB1aWRfYSwgdWlkX2IpOwotKyAgICAgICAgICAgIHJldHVybiBGQUxTRTsKLSsgICAgICAgICAgfQotKyAgICAgIH0KLSsgICAgLyogRmFsbCB0aHJvdWdoOyBvbmUgb2YgdGhlIHVpZHMgaXMgdW5zZXQgc28gd2UgY2FuJ3QgcmVsaWFibHkgY29tcGFyZSAqLwotKyAgfQotKwotKyAgcmV0dXJuIFRSVUU7Ci0rfQotKwotIHN0YXRpYyBnYm9vbGVhbgotIHRlbXBvcmFyeV9hdXRob3JpemF0aW9uX3N0b3JlX2hhc19hdXRob3JpemF0aW9uIChUZW1wb3JhcnlBdXRob3JpemF0aW9uU3RvcmUgKnN0b3JlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQb2xraXRTdWJqZWN0ICAgICAgICAgICAgICAgKnN1YmplY3QsCi1AQCAtMzA3Myw3ICszMTEwLDcgQEAgdGVtcG9yYXJ5X2F1dGhvcml6YXRpb25fc3RvcmVfaGFzX2F1dGhvcml6YXRpb24gKFRlbXBvcmFyeUF1dGhvcml6YXRpb25TdG9yZSAqc3QKLSAgICAgVGVtcG9yYXJ5QXV0aG9yaXphdGlvbiAqYXV0aG9yaXphdGlvbiA9IGwtPmRhdGE7Ci0gCi0gICAgIGlmIChzdHJjbXAgKGFjdGlvbl9pZCwgYXV0aG9yaXphdGlvbi0+YWN0aW9uX2lkKSA9PSAwICYmCi0tICAgICAgICBwb2xraXRfc3ViamVjdF9lcXVhbCAoc3ViamVjdF90b191c2UsIGF1dGhvcml6YXRpb24tPnN1YmplY3QpKQotKyAgICAgICAgc3ViamVjdF9lcXVhbF9mb3JfYXV0aHogKHN1YmplY3RfdG9fdXNlLCBhdXRob3JpemF0aW9uLT5zdWJqZWN0KSkKLSAgICAgICB7Ci0gICAgICAgICByZXQgPSBUUlVFOwotICAgICAgICAgaWYgKG91dF90bXBfYXV0aHpfaWQgIT0gTlVMTCkKLS0tIAotMi4yMC4xCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wb2xraXQvcG9sa2l0XzAuMTE1LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9wb2xraXRfMC4xMTUuYmIKaW5kZXggOGQ1OTIwNS4uMTNjNGIwMiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9wb2xraXRfMC4xMTUuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9wb2xraXRfMC4xMTUuYmIKQEAgLTcsNyArNyw5IEBACiAKIERFUEVORFMgPSAiZXhwYXQgZ2xpYi0yLjAgaW50bHRvb2wtbmF0aXZlIG1vempzIgogCi1pbmhlcml0IGF1dG90b29scyBndGstZG9jIHBrZ2NvbmZpZyB1c2VyYWRkIHN5c3RlbWQgZ29iamVjdC1pbnRyb3NwZWN0aW9uCitpbmhlcml0IGF1dG90b29scyBndGstZG9jIHBrZ2NvbmZpZyB1c2VyYWRkIHN5c3RlbWQgZ29iamVjdC1pbnRyb3NwZWN0aW9uIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAicG9sa2l0IgogCiBQQUNLQUdFQ09ORklHID0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsIGQpfSBcCiAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICdzeXN0ZW1kJywgXApAQCAtMjMsNyArMjUsNiBAQAogU1JDX1VSSSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy9zb2Z0d2FyZS9wb2xraXQvcmVsZWFzZXMvcG9sa2l0LSR7UFZ9LnRhci5neiBcCiAgICAgZmlsZTovLzAwMDEtbWFrZS1uZXRncm91cC1zdXBwb3J0LWNvbmZpZ3VyYWJsZS5wYXRjaCBcCiAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnJHtQQU1fU1JDX1VSSX0nLCAnJywgZCl9IFwKLSAgICBmaWxlOi8vQ1ZFLTIwMTktNjEzMy5wYXRjaCBcCiAiCiBTUkNfVVJJW21kNXN1bV0gPSAiZjAzYjA1NWQ2YWU1ZmM4ZWFjNzY4MzhjN2Q4M2QwODIiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmY4N2VjZGFiZmJkNDE1YzYzMDY2NzNjZWFkYzU5ODQ2ZjA1OWIxOGVmMmZjZTQyYmFjNjNmZTI4M2YxMjEzMSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yZWRpcy9yZWRpc180LjAuMTIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmVkaXMvcmVkaXNfNC4wLjEyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmOTk1MzcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmVkaXMvcmVkaXNfNC4wLjEyLmJiCkBAIC0wLDAgKzEsNTggQEAKK1NVTU1BUlkgPSAiUmVkaXMga2V5LXZhbHVlIHN0b3JlIgorREVTQ1JJUFRJT04gPSAiUmVkaXMgaXMgYW4gb3BlbiBzb3VyY2UsIGFkdmFuY2VkIGtleS12YWx1ZSBzdG9yZS4iCitIT01FUEFHRSA9ICJodHRwOi8vcmVkaXMuaW8iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTNjMDFiNDlmZWQ0ZGYxYTc5ODQzNjg4ZmEzZjdiOWQ2IgorREVQRU5EUyA9ICIiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLnJlZGlzLmlvL3JlbGVhc2VzLyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9oaXJlZGlzLXVzZS1kZWZhdWx0LUNDLWlmLWl0LWlzLXNldC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9sdWEtdXBkYXRlLU1ha2VmaWxlLXRvLXVzZS1lbnZpcm9ubWVudC1idWlsZC1zZXR0aW5nLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL29lLXVzZS1saWJjLW1hbGxvYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9yZWRpcy5jb25mIFwKKyAgICAgICAgICAgZmlsZTovL2luaXQtcmVkaXMtc2VydmVyIFwKKyAgICAgICAgICAgZmlsZTovL3JlZGlzLnNlcnZpY2UgXAorIgorCitTUkNfVVJJX2FwcGVuZF9taXBzID0gIiBmaWxlOi8vcmVtb3ZlLWF0b21pY3MucGF0Y2giCitTUkNfVVJJX2FwcGVuZF9hcm0gPSAiIGZpbGU6Ly9yZW1vdmUtYXRvbWljcy5wYXRjaCIKK1NSQ19VUklfYXBwZW5kX3Bvd2VycGMgPSAiIGZpbGU6Ly9yZW1vdmUtYXRvbWljcy5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gIjQ4ZjI0MGZkMmQ5NmIxYjU3OTMwMGI4NjYzOThlZGJjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY0NDcyNTlkMmVlZDQyNmE5NDljOWMxM2Y4ZmRiMmQ5MWZiNjZkOWRjOTE1ZGQ1MGRiMTNiODdmNDZkOTMxNjIiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCB1cGRhdGUtcmMuZCBzeXN0ZW1kIHVzZXJhZGQKKworVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSIKK1VTRVJBRERfUEFSQU1fJHtQTn0gID0gIi0tc3lzdGVtIC0taG9tZS1kaXIgL3Zhci9saWIvcmVkaXMgLWcgcmVkaXMgLS1zaGVsbCAvYmluL2ZhbHNlIHJlZGlzIgorR1JPVVBBRERfUEFSQU1fJHtQTn0gPSAiLS1zeXN0ZW0gcmVkaXMiCisKKworUkVESVNfT05fU1lTVEVNRCA9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfSIKKworZG9faW5zdGFsbCgpIHsKKyAgICBleHBvcnQgUFJFRklYPSR7RH0vJHtwcmVmaXh9CisgICAgb2VfcnVubWFrZSBpbnN0YWxsCisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vcmVkaXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9yZWRpcy5jb25mICR7RH0vJHtzeXNjb25mZGlyfS9yZWRpcy9yZWRpcy5jb25mCisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vaW5pdC1yZWRpcy1zZXJ2ZXIgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZC9yZWRpcy1zZXJ2ZXIKKyAgICBpbnN0YWxsIC1kICR7RH0vdmFyL2xpYi9yZWRpcy8KKyAgICBjaG93biByZWRpcy5yZWRpcyAke0R9L3Zhci9saWIvcmVkaXMvCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vcmVkaXMuc2VydmljZSAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfQorICAgIHNlZCAtaSAncyEvdXNyL3NiaW4vISR7c2JpbmRpcn0vIWcnICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3JlZGlzLnNlcnZpY2UKKworICAgIGlmIFsgIiR7UkVESVNfT05fU1lTVEVNRH0iID0gdHJ1ZSBdOyB0aGVuCisgICAgICAgIHNlZCAtaSAncyFkYWVtb25pemUgeWVzISMgZGFlbW9uaXplIHllcyEnICR7RH0vJHtzeXNjb25mZGlyfS9yZWRpcy9yZWRpcy5jb25mCisgICAgZmkKK30KKworQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vcmVkaXMvcmVkaXMuY29uZiIKKworSU5JVFNDUklQVF9OQU1FID0gInJlZGlzLXNlcnZlciIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIDg3IgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAicmVkaXMuc2VydmljZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yZWRpcy9yZWRpc180LjAuOC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yZWRpcy9yZWRpc180LjAuOC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODBkMzZkMi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmVkaXMvcmVkaXNfNC4wLjguYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1NyArMCwwIEBACi1TVU1NQVJZID0gIlJlZGlzIGtleS12YWx1ZSBzdG9yZSIKLURFU0NSSVBUSU9OID0gIlJlZGlzIGlzIGFuIG9wZW4gc291cmNlLCBhZHZhbmNlZCBrZXktdmFsdWUgc3RvcmUuIgotSE9NRVBBR0UgPSAiaHR0cDovL3JlZGlzLmlvIgotU0VDVElPTiA9ICJsaWJzIgotTElDRU5TRSA9ICJCU0QiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zYzAxYjQ5ZmVkNGRmMWE3OTg0MzY4OGZhM2Y3YjlkNiIKLURFUEVORFMgPSAiIgotCi1TUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZC5yZWRpcy5pby9yZWxlYXNlcy8ke0JQfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vaGlyZWRpcy11c2UtZGVmYXVsdC1DQy1pZi1pdC1pcy1zZXQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbHVhLXVwZGF0ZS1NYWtlZmlsZS10by11c2UtZW52aXJvbm1lbnQtYnVpbGQtc2V0dGluZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9vZS11c2UtbGliYy1tYWxsb2MucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcmVkaXMuY29uZiBcCi0gICAgICAgICAgIGZpbGU6Ly9pbml0LXJlZGlzLXNlcnZlciBcCi0gICAgICAgICAgIGZpbGU6Ly9yZWRpcy5zZXJ2aWNlIFwKLSIKLQotU1JDX1VSSV9hcHBlbmRfbWlwcyA9ICIgZmlsZTovL3JlbW92ZS1hdG9taWNzLnBhdGNoIgotU1JDX1VSSV9hcHBlbmRfYXJtID0gIiBmaWxlOi8vcmVtb3ZlLWF0b21pY3MucGF0Y2giCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJjNzViMTFlNDE3N2UxNTNlNGRjMWQ4ZGQzYTYxNzRlNCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJmZjBjMzhiOGMxNTYzMTkyNDlmZWM2MWU1MDE4Y2Y1YjVmZTYzYTY1YjYxNjkwYmVjNzk4ZjRjOTk4YzIzMmFkIgotCi1pbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgdXBkYXRlLXJjLmQgc3lzdGVtZCB1c2VyYWRkCi0KLVVTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCi1VU0VSQUREX1BBUkFNXyR7UE59ICA9ICItLXN5c3RlbSAtLWhvbWUtZGlyIC92YXIvbGliL3JlZGlzIC1nIHJlZGlzIC0tc2hlbGwgL2Jpbi9mYWxzZSByZWRpcyIKLUdST1VQQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIHJlZGlzIgotCi0KLVJFRElTX09OX1NZU1RFTUQgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX0iCi0KLWRvX2luc3RhbGwoKSB7Ci0gICAgZXhwb3J0IFBSRUZJWD0ke0R9LyR7cHJlZml4fQotICAgIG9lX3J1bm1ha2UgaW5zdGFsbAotICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L3JlZGlzCi0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vcmVkaXMuY29uZiAke0R9LyR7c3lzY29uZmRpcn0vcmVkaXMvcmVkaXMuY29uZgotICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZAotICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2luaXQtcmVkaXMtc2VydmVyICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQvcmVkaXMtc2VydmVyCi0gICAgaW5zdGFsbCAtZCAke0R9L3Zhci9saWIvcmVkaXMvCi0gICAgY2hvd24gcmVkaXMucmVkaXMgJHtEfS92YXIvbGliL3JlZGlzLwotCi0gICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfQotICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3JlZGlzLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0KLSAgICBzZWQgLWkgJ3MhL3Vzci9zYmluLyEke3NiaW5kaXJ9LyFnJyAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9yZWRpcy5zZXJ2aWNlCi0KLSAgICBpZiBbICIke1JFRElTX09OX1NZU1RFTUR9IiA9IHRydWUgXTsgdGhlbgotICAgICAgICBzZWQgLWkgJ3MhZGFlbW9uaXplIHllcyEjIGRhZW1vbml6ZSB5ZXMhJyAke0R9LyR7c3lzY29uZmRpcn0vcmVkaXMvcmVkaXMuY29uZgotICAgIGZpCi19Ci0KLUNPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L3JlZGlzL3JlZGlzLmNvbmYiCi0KLUlOSVRTQ1JJUFRfTkFNRSA9ICJyZWRpcy1zZXJ2ZXIiCi1JTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyA4NyIKLQotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInJlZGlzLnNlcnZpY2UiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9saWJyZWxwLzAwMDEtc3JjLXRjcC5jLWZpeC1qdW1wLW1pc3Nlcy1pbml0LWVycm9yLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvbGlicmVscC8wMDAxLXNyYy10Y3AuYy1maXgtanVtcC1taXNzZXMtaW5pdC1lcnJvci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjhiNjg2My4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9saWJyZWxwLzAwMDEtc3JjLXRjcC5jLWZpeC1qdW1wLW1pc3Nlcy1pbml0LWVycm9yLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzEgKzAsMCBAQAotRnJvbSAzZTVhMGNiNDQwYzc4OGUyMzgzZTQwYWIyM2FjMWNmMDFkOTY5NjFiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWluZ2xpIFl1IDxtaW5nbGkueXVAd2luZHJpdmVyLmNvbT4KLURhdGU6IFR1ZSwgMjQgSnVsIDIwMTggMDE6MzA6MjUgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gc3JjL3RjcC5jOiBmaXgganVtcC1taXNzZXMtaW5pdCBlcnJvcgotCi1GaXggYmVsb3cganVtcC1taXNzZXMtaW5pdCBlcnJvcgotCi18IEluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi8uLi9naXQvc3JjL3RjcC5jOjUxOgotfCAuLi8uLi9naXQvc3JjL3RjcC5jOiBJbiBmdW5jdGlvbiAncmVscFRjcENvbm5lY3QnOgotfCAuLi8uLi9naXQvc3JjL3JlbHAuaDoyMjA6MzogZXJyb3I6IGp1bXAgc2tpcHMgdmFyaWFibGUgaW5pdGlhbGl6YXRpb24gWy1XZXJyb3I9anVtcC1taXNzZXMtaW5pdF0KLXwgICAgZ290byBmaW5hbGl6ZV9pdDsgIFwKLXwgICAgXn5+fgotfCAuLi8uLi9naXQvc3JjL3RjcC5jOjE5NTE6Mzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdBQk9SVF9GSU5BTElaRScKLXwgICAgQUJPUlRfRklOQUxJWkUoUkVMUF9SRVRfSU9fRVJSKTsKLXwgICAgXn5+fn5+fn5+fn5+fn4KLXwgLi4vLi4vZ2l0L3NyYy90Y3AuYzoyMDA1OjE6IG5vdGU6IGxhYmVsICdmaW5hbGl6ZV9pdCcgZGVmaW5lZCBoZXJlCi18ICBmaW5hbGl6ZV9pdDoKLXwgIF5+fn5+fn5+fn5+Ci18IC4uLy4uL2dpdC9zcmMvdGNwLmM6MTk5MTo2OiBub3RlOiAncicgZGVjbGFyZWQgaGVyZQotfCAgIGludCByID0gZ2V0c29ja29wdChwVGhpcy0+c29jaywgU09MX1NPQ0tFVCwgU09fRVJST1IsICZzb19lcnJvciwgJmxlbik7Ci18ICAgICAgIF4KLXwgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uLy4uL2dpdC9zcmMvdGNwLmM6NTE6Ci18IC4uLy4uL2dpdC9zcmMvcmVscC5oOjIyMDozOiBlcnJvcjoganVtcCBza2lwcyB2YXJpYWJsZSBpbml0aWFsaXphdGlvbiBbLVdlcnJvcj1qdW1wLW1pc3Nlcy1pbml0XQotfCAgICBnb3RvIGZpbmFsaXplX2l0OyAgXAotfCAgICBefn5+Ci18IC4uLy4uL2dpdC9zcmMvdGNwLmM6MTk1MTozOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0FCT1JUX0ZJTkFMSVpFJwotfCAgICBBQk9SVF9GSU5BTElaRShSRUxQX1JFVF9JT19FUlIpOwotfCAgICBefn5+fn5+fn5+fn5+fgotfCAuLi8uLi9naXQvc3JjL3RjcC5jOjIwMDU6MTogbm90ZTogbGFiZWwgJ2ZpbmFsaXplX2l0JyBkZWZpbmVkIGhlcmUKLXwgIGZpbmFsaXplX2l0OgotfCAgXn5+fn5+fn5+fn4KLXwgLi4vLi4vZ2l0L3NyYy90Y3AuYzoxOTg5OjEyOiBub3RlOiAnbGVuJyBkZWNsYXJlZCBoZXJlCi18ICAgc29ja2xlbl90IGxlbiA9IHNpemVvZiBzb19lcnJvcjsKLXwgICAgICAgICAgICAgXn5+Ci0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkW2h0dHBzOi8vZ2l0aHViLmNvbS9yc3lzbG9nL2xpYnJlbHAvcHVsbC8xMTddCi0KLVNpZ25lZC1vZmYtYnk6IE1pbmdsaSBZdSA8bWluZ2xpLnl1QHdpbmRyaXZlci5jb20+Ci0tLS0KLSBzcmMvdGNwLmMgfCA3ICsrKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3RjcC5jIGIvc3JjL3RjcC5jCi1pbmRleCBmMzVlYjg0Li5mYjM0ZGM3IDEwMDY0NAotLS0tIGEvc3JjL3RjcC5jCi0rKysgYi9zcmMvdGNwLmMKLUBAIC0xOTM2LDYgKzE5MzYsOSBAQCByZWxwVGNwQ29ubmVjdChyZWxwVGNwX3QgKmNvbnN0IHBUaGlzLAotIAlzdHJ1Y3QgYWRkcmluZm8gaGludHM7Ci0gCXN0cnVjdCBhZGRyaW5mbyAqcmVzbG9jYWwgPSBOVUxMOwotIAlzdHJ1Y3QgcG9sbGZkIHBmZDsKLSsJaW50IHNvX2Vycm9yOwotKwlzb2NrbGVuX3QgbGVuID0gc2l6ZW9mIHNvX2Vycm9yOwotKwlpbnQgcjsKLSAKLSAJRU5URVJfUkVMUEZVTkM7Ci0gCVJFTFBPQkpfYXNzZXJ0KHBUaGlzLCBUY3ApOwotQEAgLTE5ODUsMTAgKzE5ODgsOCBAQCByZWxwVGNwQ29ubmVjdChyZWxwVGNwX3QgKmNvbnN0IHBUaGlzLAotIAkJQUJPUlRfRklOQUxJWkUoUkVMUF9SRVRfVElNRURfT1VUKTsKLSAJfQotIAotLQlpbnQgc29fZXJyb3I7Ci0tCXNvY2tsZW5fdCBsZW4gPSBzaXplb2Ygc29fZXJyb3I7Ci0gCi0tCWludCByID0gZ2V0c29ja29wdChwVGhpcy0+c29jaywgU09MX1NPQ0tFVCwgU09fRVJST1IsICZzb19lcnJvciwgJmxlbik7Ci0rCXIgPSBnZXRzb2Nrb3B0KHBUaGlzLT5zb2NrLCBTT0xfU09DS0VULCBTT19FUlJPUiwgJnNvX2Vycm9yLCAmbGVuKTsKLSAJaWYgKHIgPT0gLTEgfHwgc29fZXJyb3IgIT0gMCkgewotIAkJcFRoaXMtPnBFbmdpbmUtPmRiZ3ByaW50KCJzb2NrZXQgaGFzIGFuIGVycm9yICVkXG4iLCBzb19lcnJvcik7Ci0gCQlBQk9SVF9GSU5BTElaRShSRUxQX1JFVF9JT19FUlIpOwotLS0gCi0yLjE3LjEKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvbGlicmVscC8wMDAxLXNyYy10Y3AuYy1pbmNyZWFzZS10aGUtc2l6ZS1vZi1zekhuYW1lLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvbGlicmVscC8wMDAxLXNyYy10Y3AuYy1pbmNyZWFzZS10aGUtc2l6ZS1vZi1zekhuYW1lLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YTYyZTE1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL2xpYnJlbHAvMDAwMS1zcmMtdGNwLmMtaW5jcmVhc2UtdGhlLXNpemUtb2Ytc3pIbmFtZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAKLUZyb20gZDg5NTBhZDI3M2Q3OWVjNTE2NDY4Mjg5YWRiZDQyN2U2ODFkYmM2NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1pbmdsaSBZdSA8bWluZ2xpLnl1QHdpbmRyaXZlci5jb20+Ci1EYXRlOiBNb24sIDMwIEp1bCAyMDE4IDAxOjIyOjU2IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIHNyYy90Y3AuYzogaW5jcmVhc2UgdGhlIHNpemUgb2Ygc3pIbmFtZQotCi1JbmNyZWFzZSB0aGUgc2l6ZSBvZiBzekhuYW1lIHRvIGZpeCBiZWxvdwotZXJyb3I6Ci18IC4uLy4uL2dpdC9zcmMvdGNwLmM6IEluIGZ1bmN0aW9uICdyZWxwVGNwU2V0UmVtSG9zdCc6Ci18IC4uLy4uL2dpdC9zcmMvdGNwLmM6MzUyOjU3OiBlcnJvcjogJyVzJyBkaXJlY3RpdmUgb3V0cHV0IG1heSBiZSB0cnVuY2F0ZWQgd3JpdGluZyB1cCB0byAxMDI0IGJ5dGVzIGludG8gYSByZWdpb24gb2Ygc2l6ZSAxMDExIFstV2Vycm9yPWZvcm1hdC10cnVuY2F0aW9uPV0KLXwgICAgICBzbnByaW50ZigoY2hhciopc3pIbmFtZSwgTklfTUFYSE9TVCwgIltNQUxJQ0lPVVM6SVA9JXNdIiwgc3pJUCk7Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ICAgIH5+fn4KLXwgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9wb2t5LWJ1aWxkL3RtcC93b3JrL2k1ODYtcG9reS1saW51eC9saWJyZWxwLzEuMi4xNi1yMC9yZWNpcGUtc3lzcm9vdC91c3IvaW5jbHVkZS9zdGRpby5oOjg2MiwKLXwgICAgICAgICAgICAgICAgICBmcm9tIC4uLy4uL2dpdC9zcmMvdGNwLmM6Mzg6Ci18IC9wb2t5LWJ1aWxkL3RtcC93b3JrL2k1ODYtcG9reS1saW51eC9saWJyZWxwLzEuMi4xNi1yMC9yZWNpcGUtc3lzcm9vdC91c3IvaW5jbHVkZS9iaXRzL3N0ZGlvMi5oOjY0OjEwOiBub3RlOiAnX19idWlsdGluX19fc25wcmludGZfY2hrJyBvdXRwdXQgYmV0d2VlbiAxNiBhbmQgMTA0MCBieXRlcyBpbnRvIGEgZGVzdGluYXRpb24gb2Ygc2l6ZSAxMDI1Ci18ICAgIHJldHVybiBfX2J1aWx0aW5fX19zbnByaW50Zl9jaGsgKF9fcywgX19uLCBfX1VTRV9GT1JUSUZZX0xFVkVMIC0gMSwKLXwgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotfCAgICAgICAgIF9fYm9zIChfX3MpLCBfX2ZtdCwgX192YV9hcmdfcGFjayAoKSk7Ci18ICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotfCBjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwotfCBNYWtlZmlsZTo1MzY6IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaWJyZWxwX2xhLXRjcC5sbycgZmFpbGVkCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkW2h0dHBzOi8vZ2l0aHViLmNvbS9yc3lzbG9nL2xpYnJlbHAvcHVsbC8xMThdCi0KLVNpZ25lZC1vZmYtYnk6IE1pbmdsaSBZdSA8bWluZ2xpLnl1QHdpbmRyaXZlci5jb20+Ci0tLS0KLSBzcmMvdGNwLmMgfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3RjcC5jIGIvc3JjL3RjcC5jCi1pbmRleCBmYjM0ZGM3Li4yYzM4YjBiIDEwMDY0NAotLS0tIGEvc3JjL3RjcC5jCi0rKysgYi9zcmMvdGNwLmMKLUBAIC0zMTksNyArMzE5LDcgQEAgcmVscFRjcFNldFJlbUhvc3QocmVscFRjcF90ICpjb25zdCBwVGhpcywgc3RydWN0IHNvY2thZGRyICpwQWRkcikKLSAJcmVscEVuZ2luZV90ICpwRW5naW5lOwotIAlpbnQgZXJyb3I7Ci0gCXVuc2lnbmVkIGNoYXIgc3pJUFtOSV9NQVhIT1NUXSA9ICIiOwotLQl1bnNpZ25lZCBjaGFyIHN6SG5hbWVbTklfTUFYSE9TVF0gPSAiIjsKLSsJdW5zaWduZWQgY2hhciBzekhuYW1lWzEwNDVdID0gIiI7Ci0gCXN0cnVjdCBhZGRyaW5mbyBoaW50cywgKnJlczsKLSAJc2l6ZV90IGxlbjsKLSAJCi1AQCAtMzQ5LDcgKzM0OSw3IEBAIHJlbHBUY3BTZXRSZW1Ib3N0KHJlbHBUY3BfdCAqY29uc3QgcFRoaXMsIHN0cnVjdCBzb2NrYWRkciAqcEFkZHIpCi0gCQkJaWYoZ2V0YWRkcmluZm8oKGNoYXIqKXN6SG5hbWUsIE5VTEwsICZoaW50cywgJnJlcykgPT0gMCkgewotIAkJCQlmcmVlYWRkcmluZm8gKHJlcyk7Ci0gCQkJCS8qIE9LLCB3ZSBrbm93IHdlIGhhdmUgZXZpbCwgc28gbGV0J3MgaW5kaWNhdGUgdGhpcyB0byBvdXIgY2FsbGVyICovCi0tCQkJCXNucHJpbnRmKChjaGFyKilzekhuYW1lLCBOSV9NQVhIT1NULCAiW01BTElDSU9VUzpJUD0lc10iLCBzeklQKTsKLSsJCQkJc25wcmludGYoKGNoYXIqKXN6SG5hbWUsIHNpemVvZihzekhuYW1lKSwgIltNQUxJQ0lPVVM6SVA9JXNdIiwgc3pJUCk7Ci0gCQkJCXBFbmdpbmUtPmRiZ3ByaW50KCJNYWxpY2lvdXMgUFRSIHJlY29yZCwgSVAgPSBcIiVzXCIgSE9TVCA9IFwiJXNcIiIsIHN6SVAsIHN6SG5hbWUpOwotIAkJCQlpUmV0ID0gUkVMUF9SRVRfTUFMSUNJT1VTX0hOQU1FOwotIAkJCX0KLS0tIAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL2xpYnJlbHBfMS4yLjE2LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvbGlicmVscF8xLjIuMTYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE3NDc4ZWYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvbGlicmVscF8xLjIuMTYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1TVU1NQVJZID0gIkEgcmVsaWFibGUgbG9nZ2luZyBsaWJyYXJ5IgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3JzeXNsb2cvbGliZmFzdGpzb24iCi0KLUxJQ0VOU0UgPSAiR1BMdjMiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xZmI5YzEwZWQ5ZmQ2ODI2NzU3NjE1NDU1Y2E4OTNhOSIKLQotREVQRU5EUyA9ICJnbXAgbmV0dGxlIGxpYmlkbiB6bGliIGdudXRscyIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3JzeXNsb2cvbGlicmVscC5naXQ7cHJvdG9jb2w9aHR0cHMgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1zcmMtdGNwLmMtZml4LWp1bXAtbWlzc2VzLWluaXQtZXJyb3IucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1zcmMtdGNwLmMtaW5jcmVhc2UtdGhlLXNpemUtb2Ytc3pIbmFtZS5wYXRjaCBcCi0iCi0KLVNSQ1JFViA9ICI1ZTg0OWZmMDYwYmUwYzdkY2U5NzJlMTk0YzU0ZmRhY2ZlZTBhZGMyIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL2xpYnJlbHBfMS40LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9saWJyZWxwXzEuNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllNTdkZDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9saWJyZWxwXzEuNC4wLmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiQSByZWxpYWJsZSBsb2dnaW5nIGxpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vcnN5c2xvZy9saWJyZWxwIgorCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MWZiOWMxMGVkOWZkNjgyNjc1NzYxNTQ1NWNhODkzYTkiCisKK0RFUEVORFMgPSAiZ21wIG5ldHRsZSBsaWJpZG4gemxpYiBnbnV0bHMgb3BlbnNzbCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3JzeXNsb2cvbGlicmVscC5naXQ7cHJvdG9jb2w9aHR0cHMgXAorIgorCitTUkNSRVYgPSAiZTk2NDQzZGRhM2MwODBmYTk5MWRlY2VjMjZiYzRhYzk4ZDI0YjlhMiIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9yc3lzbG9nL3JzeXNsb2ctZml4LXB0ZXN0LW5vdC1maW5pc2gucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9yc3lzbG9nL3JzeXNsb2ctZml4LXB0ZXN0LW5vdC1maW5pc2gucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEyNDhmNzUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvcnN5c2xvZy9yc3lzbG9nLWZpeC1wdGVzdC1ub3QtZmluaXNoLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTE4ICswLDAgQEAKLUZyb20gMDdhZDJhMTkwNTA4OWI5MTI0NjIzMzI0YTk5NjllNDUyMjMxNzExMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBGcmksIDEyIFNlcCAyMDE0IDAzOjQxOjExIC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIHJzeXNsb2c6IHVwZGF0ZSBjb25maWd1cmUgdG8gZml4IHB0ZXN0Ci0KLSRNYXhNZXNzYWdlU2l6ZSBkb2Vzbid0IHdvcmsgaWYgYmVmb3JlICRJbmNsdWRlQ29uZmlnIGRpYWctY29tbW9uLmNvbmYsIHRoZW4KLXRlc3QgY2FzZXMgZmFsbCBpbnRvIGluZmluaXRlIGxvb3Agd2l0aCBlcnJvciBtZXNzYWdlOgotCi04MDYyLjUxMTExMDcyOTo0OTAyYzQ4MDogZXJyb3I6IG1lc3NhZ2UgcmVjZWl2ZWQgaXMgbGFyZ2VyIHRoYW4gbWF4IG1zZyBzaXplLCB3ZSBzcGxpdCBpdAotODA2Mi41MTExNTIyNjU6NDkwMmM0ODA6IGRpc2NhcmRpbmcgemVyby1zaXplZCBtZXNzYWdlCi0KLVVwZGF0ZSBjb25maWd1cmUgdG8gZml4IGl0LgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+Ci0KLS0tLQotIHRlc3RzL3Rlc3RzdWl0ZXMvY29tcGxleDEuY29uZiAgICAgICAgICAgICB8IDIgKy0KLSB0ZXN0cy90ZXN0c3VpdGVzL2d6aXB3cl9sYXJnZS5jb25mICAgICAgICAgfCAyICstCi0gdGVzdHMvdGVzdHN1aXRlcy9nemlwd3JfbGFyZ2VfZHluZmlsZS5jb25mIHwgMiArLQotIHRlc3RzL3Rlc3RzdWl0ZXMvaW1wdGNwX2Nvbm5kcm9wLmNvbmYgICAgICB8IDIgKy0KLSB0ZXN0cy90ZXN0c3VpdGVzL2ltcHRjcF9sYXJnZS5jb25mICAgICAgICAgfCAyICstCi0gdGVzdHMvdGVzdHN1aXRlcy9pbXRjcF9jb25uZHJvcC5jb25mICAgICAgIHwgMiArLQotIHRlc3RzL3Rlc3RzdWl0ZXMvd3JfbGFyZ2UuY29uZiAgICAgICAgICAgICB8IDIgKy0KLSA3IGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3RzdWl0ZXMvY29tcGxleDEuY29uZiBiL3Rlc3RzL3Rlc3RzdWl0ZXMvY29tcGxleDEuY29uZgotaW5kZXggOWI2YTlmMy4uZTAwY2FhNCAxMDA2NDQKLS0tLSBhL3Rlc3RzL3Rlc3RzdWl0ZXMvY29tcGxleDEuY29uZgotKysrIGIvdGVzdHMvdGVzdHN1aXRlcy9jb21wbGV4MS5jb25mCi1AQCAtMSw3ICsxLDcgQEAKLSAjIGNvbXBsZXggdGVzdCBjYXNlIHdpdGggbXVsdGlwbGUgYWN0aW9ucyBpbiBnemlwIG1vZGUKLSAjIHJnZXJoYXJkcywgMjAwOS0wNS0yMgotLSRNYXhNZXNzYWdlU2l6ZSAxMGsKLSAkSW5jbHVkZUNvbmZpZyBkaWFnLWNvbW1vbi5jb25mCi0rJE1heE1lc3NhZ2VTaXplIDEwawotIAotICRNYWluTXNnUXVldWVUaW1lb3V0RW5xdWV1ZSA1MDAwCi0gCi1kaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdHN1aXRlcy9nemlwd3JfbGFyZ2UuY29uZiBiL3Rlc3RzL3Rlc3RzdWl0ZXMvZ3ppcHdyX2xhcmdlLmNvbmYKLWluZGV4IDU0YWQzYmIuLmU4MjQ3YTkgMTAwNjQ0Ci0tLS0gYS90ZXN0cy90ZXN0c3VpdGVzL2d6aXB3cl9sYXJnZS5jb25mCi0rKysgYi90ZXN0cy90ZXN0c3VpdGVzL2d6aXB3cl9sYXJnZS5jb25mCi1AQCAtMSw3ICsxLDcgQEAKLSAjIHNpbXBsZSBhc3luYyB3cml0aW5nIHRlc3QKLSAjIHJnZXJoYXJkcywgMjAxMC0wMy0wOQotLSRNYXhNZXNzYWdlU2l6ZSAxMGsKLSAkSW5jbHVkZUNvbmZpZyBkaWFnLWNvbW1vbi5jb25mCi0rJE1heE1lc3NhZ2VTaXplIDEwawotIAotICRNb2RMb2FkIC4uL3BsdWdpbnMvaW10Y3AvLmxpYnMvaW10Y3AKLSAkTWFpbk1zZ1F1ZXVlVGltZW91dFNodXRkb3duIDEwMDAwCi1kaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdHN1aXRlcy9nemlwd3JfbGFyZ2VfZHluZmlsZS5jb25mIGIvdGVzdHMvdGVzdHN1aXRlcy9nemlwd3JfbGFyZ2VfZHluZmlsZS5jb25mCi1pbmRleCAzYTFiMjU1Li4yOTdjYjcwIDEwMDY0NAotLS0tIGEvdGVzdHMvdGVzdHN1aXRlcy9nemlwd3JfbGFyZ2VfZHluZmlsZS5jb25mCi0rKysgYi90ZXN0cy90ZXN0c3VpdGVzL2d6aXB3cl9sYXJnZV9keW5maWxlLmNvbmYKLUBAIC0xLDcgKzEsNyBAQAotICMgc2ltcGxlIGFzeW5jIHdyaXRpbmcgdGVzdAotICMgcmdlcmhhcmRzLCAyMDEwLTAzLTA5Ci0tJE1heE1lc3NhZ2VTaXplIDEwawotICRJbmNsdWRlQ29uZmlnIGRpYWctY29tbW9uLmNvbmYKLSskTWF4TWVzc2FnZVNpemUgMTBrCi0gCi0gJE1vZExvYWQgLi4vcGx1Z2lucy9pbXRjcC8ubGlicy9pbXRjcAotICRNYWluTXNnUXVldWVUaW1lb3V0U2h1dGRvd24gMTAwMDAKLWRpZmYgLS1naXQgYS90ZXN0cy90ZXN0c3VpdGVzL2ltcHRjcF9jb25uZHJvcC5jb25mIGIvdGVzdHMvdGVzdHN1aXRlcy9pbXB0Y3BfY29ubmRyb3AuY29uZgotaW5kZXggNzdhNWQ3OS4uZDlhMTRhOCAxMDA2NDQKLS0tLSBhL3Rlc3RzL3Rlc3RzdWl0ZXMvaW1wdGNwX2Nvbm5kcm9wLmNvbmYKLSsrKyBiL3Rlc3RzL3Rlc3RzdWl0ZXMvaW1wdGNwX2Nvbm5kcm9wLmNvbmYKLUBAIC0xLDcgKzEsNyBAQAotICMgc2ltcGxlIGFzeW5jIHdyaXRpbmcgdGVzdAotICMgcmdlcmhhcmRzLCAyMDEwLTAzLTA5Ci0tJE1heE1lc3NhZ2VTaXplIDEwawotICRJbmNsdWRlQ29uZmlnIGRpYWctY29tbW9uLmNvbmYKLSskTWF4TWVzc2FnZVNpemUgMTBrCi0gCi0gJE1vZExvYWQgLi4vcGx1Z2lucy9pbXB0Y3AvLmxpYnMvaW1wdGNwCi0gJE1haW5Nc2dRdWV1ZVRpbWVvdXRTaHV0ZG93biAxMDAwMAotZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3RzdWl0ZXMvaW1wdGNwX2xhcmdlLmNvbmYgYi90ZXN0cy90ZXN0c3VpdGVzL2ltcHRjcF9sYXJnZS5jb25mCi1pbmRleCA3N2E1ZDc5Li5kOWExNGE4IDEwMDY0NAotLS0tIGEvdGVzdHMvdGVzdHN1aXRlcy9pbXB0Y3BfbGFyZ2UuY29uZgotKysrIGIvdGVzdHMvdGVzdHN1aXRlcy9pbXB0Y3BfbGFyZ2UuY29uZgotQEAgLTEsNyArMSw3IEBACi0gIyBzaW1wbGUgYXN5bmMgd3JpdGluZyB0ZXN0Ci0gIyByZ2VyaGFyZHMsIDIwMTAtMDMtMDkKLS0kTWF4TWVzc2FnZVNpemUgMTBrCi0gJEluY2x1ZGVDb25maWcgZGlhZy1jb21tb24uY29uZgotKyRNYXhNZXNzYWdlU2l6ZSAxMGsKLSAKLSAkTW9kTG9hZCAuLi9wbHVnaW5zL2ltcHRjcC8ubGlicy9pbXB0Y3AKLSAkTWFpbk1zZ1F1ZXVlVGltZW91dFNodXRkb3duIDEwMDAwCi1kaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdHN1aXRlcy9pbXRjcF9jb25uZHJvcC5jb25mIGIvdGVzdHMvdGVzdHN1aXRlcy9pbXRjcF9jb25uZHJvcC5jb25mCi1pbmRleCBkZTQxYmM0Li43ODQ0ZGM3IDEwMDY0NAotLS0tIGEvdGVzdHMvdGVzdHN1aXRlcy9pbXRjcF9jb25uZHJvcC5jb25mCi0rKysgYi90ZXN0cy90ZXN0c3VpdGVzL2ltdGNwX2Nvbm5kcm9wLmNvbmYKLUBAIC0xLDcgKzEsNyBAQAotICMgc2ltcGxlIGFzeW5jIHdyaXRpbmcgdGVzdAotICMgcmdlcmhhcmRzLCAyMDEwLTAzLTA5Ci0tJE1heE1lc3NhZ2VTaXplIDEwawotICRJbmNsdWRlQ29uZmlnIGRpYWctY29tbW9uLmNvbmYKLSskTWF4TWVzc2FnZVNpemUgMTBrCi0gCi0gJE1vZExvYWQgLi4vcGx1Z2lucy9pbXRjcC8ubGlicy9pbXRjcAotICRNYWluTXNnUXVldWVUaW1lb3V0U2h1dGRvd24gMTAwMDAKLWRpZmYgLS1naXQgYS90ZXN0cy90ZXN0c3VpdGVzL3dyX2xhcmdlLmNvbmYgYi90ZXN0cy90ZXN0c3VpdGVzL3dyX2xhcmdlLmNvbmYKLWluZGV4IGI2NGYxMzIuLmIwYWUyNjQgMTAwNjQ0Ci0tLS0gYS90ZXN0cy90ZXN0c3VpdGVzL3dyX2xhcmdlLmNvbmYKLSsrKyBiL3Rlc3RzL3Rlc3RzdWl0ZXMvd3JfbGFyZ2UuY29uZgotQEAgLTEsNyArMSw3IEBACi0gIyBzaW1wbGUgYXN5bmMgd3JpdGluZyB0ZXN0Ci0gIyByZ2VyaGFyZHMsIDIwMTAtMDMtMDkKLS0kTWF4TWVzc2FnZVNpemUgMTBrCi0gJEluY2x1ZGVDb25maWcgZGlhZy1jb21tb24uY29uZgotKyRNYXhNZXNzYWdlU2l6ZSAxMGsKLSAKLSAkTW9kTG9hZCAuLi9wbHVnaW5zL2ltdGNwLy5saWJzL2ltdGNwCi0gJE1haW5Nc2dRdWV1ZVRpbWVvdXRTaHV0ZG93biAxMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvcnN5c2xvZ184LjE5MDMuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2dfOC4xOTAzLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTA2MTQxZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2dfOC4xOTAzLjAuYmIKQEAgLTAsMCArMSwxNjkgQEAKK1NVTU1BUlkgPSAiUnN5c2xvZyBpcyBhbiBlbmhhbmNlZCBtdWx0aS10aHJlYWRlZCBzeXNsb2dkIgorREVTQ1JJUFRJT04gPSAiXAorUnN5c2xvZyBpcyBhbiBlbmhhbmNlZCBzeXNsb2dkIHN1cHBvcnRpbmcsIGFtb25nIG90aGVycywgTXlTUUwsXAorIFBvc3RncmVTUUwsIGZhaWxvdmVyIGxvZyBkZXN0aW5hdGlvbnMsIHN5c2xvZy90Y3AsIGZpbmUgZ3JhaW5cCisgb3V0cHV0IGZvcm1hdCBjb250cm9sLCBoaWdoIHByZWNpc2lvbiB0aW1lc3RhbXBzLCBxdWV1ZWQgb3BlcmF0aW9uc1wKKyBhbmQgdGhlIGFiaWxpdHkgdG8gZmlsdGVyIG9uIGFueSBtZXNzYWdlIHBhcnQuIEl0IGlzIHF1aXRlXAorIGNvbXBhdGlibGUgdG8gc3RvY2sgc3lza2xvZ2QgYW5kIGNhbiBiZSB1c2VkIGFzIGEgZHJvcC1pbiByZXBsYWNlbWVudC5cCisgSXRzIGFkdmFuY2VkIGZlYXR1cmVzIG1ha2UgaXQgc3VpdGFibGUgZm9yIGVudGVycHJpc2UtY2xhc3MsXAorIGVuY3J5cHRpb24gcHJvdGVjdGVkIHN5c2xvZyByZWxheSBjaGFpbnMgd2hpbGUgYXQgdGhlIHNhbWUgdGltZSBiZWluZ1wKKyB2ZXJ5IGVhc3kgdG8gc2V0dXAgZm9yIHRoZSBub3ZpY2UgdXNlci4iCisKK0RFUEVORFMgPSAiemxpYiBsaWJlc3RyIGxpYmZhc3Rqc29uIGJpc29uLW5hdGl2ZSBmbGV4LW5hdGl2ZSBsaWJsb2dnaW5nIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5yc3lzbG9nLmNvbS8iCitMSUNFTlNFID0gIkdQTHYzICYgTEdQTHYzICYgQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTUxZDk2MzVlNjQ2ZmI3NWUxYjc0YzA3NGY3ODhlOTczIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEVTU0VSO21kNT1jYjc5MDNmMWU1YzM5YWU4MzgyMDllMTMwZGNhMjcwYSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkFTTDIwO21kNT0wNTJmOGEwOTIwNjYxNWFiMDczMjZmZjhjZTJkOWQzMlwKKyIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LnJzeXNsb2cuY29tL2Rvd25sb2FkL2ZpbGVzL2Rvd25sb2FkL3JzeXNsb2cvJHtCUE59LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9pbml0c2NyaXB0IFwKKyAgICAgICAgICAgZmlsZTovL3JzeXNsb2cuY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly9yc3lzbG9nLmxvZ3JvdGF0ZSBcCisgICAgICAgICAgIGZpbGU6Ly91c2UtcGtnY29uZmlnLXRvLWNoZWNrLWxpYmdjcnlwdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorIgorCitTUkNfVVJJX2FwcGVuZF9saWJjLW11c2wgPSAiIFwKKyAgICBmaWxlOi8vMDAwMS1JbmNsdWRlLXN5cy10aW1lLWgucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjBkNDU0Yzc5ZDQwNDBlM2YyNWZjZDEyZjhmMzNmZTIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDBkMjNhNDkzZGNlYzY0YzdiNjgwN2ExYmI4ZWU4NjRlZDBmMzc2MGMyZmYzMDg4MDA4YmI2NjFkMzA0MDU2ZiIKKworCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL3JzeXNsb2cvcnN5c2xvZy9yZWxlYXNlcyIKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gIig/UDxwdmVyPlxkKyhcLlxkKykrKSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHN5c3RlbWQgdXBkYXRlLXJjLmQgcHRlc3QKKworRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtZ2VuZXJhdGUtbWFuLXBhZ2VzIGFwX2N2X2F0b21pY19idWlsdGlucz15ZXMiCisKKyMgZmlyc3QgbGluZSBpcyBkZWZhdWx0IHllcyBpbiBjb25maWd1cmUKK1BBQ0tBR0VDT05GSUcgPz89ICIgXAorICAgIHJzeXNsb2dkIHJzeXNsb2dydCBrbG9nIGluZXQgcmVnZXhwIHV1aWQgbGliZ2NyeXB0IFwKKyAgICBmbWh0dHAgaW1kaWFnIGdudXRscyBpbWZpbGUgXAorICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3NubXAgc3lzdGVtZCcsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwdGVzdCcsICd0ZXN0YmVuY2ggcmVscCAke1ZBTEdSSU5EfScsICcnLCBkKX0gXAorIgorCisjIGRlZmF1bHQgeWVzIGluIGNvbmZpZ3VyZQorUEFDS0FHRUNPTkZJR1tyZWxwXSA9ICItLWVuYWJsZS1yZWxwLC0tZGlzYWJsZS1yZWxwLGxpYnJlbHAsIgorUEFDS0FHRUNPTkZJR1tyc3lzbG9nZF0gPSAiLS1lbmFibGUtcnN5c2xvZ2QsLS1kaXNhYmxlLXJzeXNsb2dkLCwiCitQQUNLQUdFQ09ORklHW3JzeXNsb2dydF0gPSAiLS1lbmFibGUtcnN5c2xvZ3J0LC0tZGlzYWJsZS1yc3lzbG9ncnQsLCIKK1BBQ0tBR0VDT05GSUdbZm1odHRwXSA9ICItLWVuYWJsZS1mbWh0dHAsLS1kaXNhYmxlLWZtaHR0cCxjdXJsLCIKK1BBQ0tBR0VDT05GSUdbaW5ldF0gPSAiLS1lbmFibGUtaW5ldCwtLWRpc2FibGUtaW5ldCwsIgorUEFDS0FHRUNPTkZJR1trbG9nXSA9ICItLWVuYWJsZS1rbG9nLC0tZGlzYWJsZS1rbG9nLCwiCitQQUNLQUdFQ09ORklHW3JlZ2V4cF0gPSAiLS1lbmFibGUtcmVnZXhwLC0tZGlzYWJsZS1yZWdleHAsLCIKK1BBQ0tBR0VDT05GSUdbdXVpZF0gPSAiLS1lbmFibGUtdXVpZCwtLWRpc2FibGUtdXVpZCx1dGlsLWxpbnV4LCIKK1BBQ0tBR0VDT05GSUdbbGliZ2NyeXB0XSA9ICItLWVuYWJsZS1saWJnY3J5cHQsLS1kaXNhYmxlLWxpYmdjcnlwdCxsaWJnY3J5cHQsIgorUEFDS0FHRUNPTkZJR1t0ZXN0YmVuY2hdID0gIi0tZW5hYmxlLXRlc3RiZW5jaCAtLWVuYWJsZS1vbXN0ZG91dCwtLWRpc2FibGUtdGVzdGJlbmNoIC0tZGlzYWJsZS1vbXN0ZG91dCwsIgorCisjIGRlZmF1bHQgbm8gaW4gY29uZmlndXJlCitQQUNLQUdFQ09ORklHW2RlYnVnXSA9ICItLWVuYWJsZS1kZWJ1ZywtLWRpc2FibGUtZGVidWcsLCIKK1BBQ0tBR0VDT05GSUdbaW1kaWFnXSA9ICItLWVuYWJsZS1pbWRpYWcsLS1kaXNhYmxlLWltZGlhZywsIgorUEFDS0FHRUNPTkZJR1tpbWZpbGVdID0gIi0tZW5hYmxlLWltZmlsZSwtLWRpc2FibGUtaW1maWxlLCwiCitQQUNLQUdFQ09ORklHW3NubXBdID0gIi0tZW5hYmxlLXNubXAsLS1kaXNhYmxlLXNubXAsbmV0LXNubXAsIgorUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIi0tZW5hYmxlLWdudXRscywtLWRpc2FibGUtZ251dGxzLGdudXRscywiCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLywtLXdpdGhvdXQtc3lzdGVtZHN5c3RlbXVuaXRkaXIsc3lzdGVtZCwiCitQQUNLQUdFQ09ORklHW2ltam91cm5hbF0gPSAiLS1lbmFibGUtaW1qb3VybmFsLC0tZGlzYWJsZS1pbWpvdXJuYWwsIgorUEFDS0FHRUNPTkZJR1tteXNxbF0gPSAiLS1lbmFibGUtbXlzcWwsLS1kaXNhYmxlLW15c3FsLG15c3FsNSwiCitQQUNLQUdFQ09ORklHW3Bvc3RncmVzcWxdID0gIi0tZW5hYmxlLXBnc3FsLC0tZGlzYWJsZS1wZ3NxbCxwb3N0Z3Jlc3FsLCIKK1BBQ0tBR0VDT05GSUdbbGliZGJpXSA9ICItLWVuYWJsZS1saWJkYmksLS1kaXNhYmxlLWxpYmRiaSxsaWJkYmksIgorUEFDS0FHRUNPTkZJR1ttYWlsXSA9ICItLWVuYWJsZS1tYWlsLC0tZGlzYWJsZS1tYWlsLCwiCitQQUNLQUdFQ09ORklHW3ZhbGdyaW5kXSA9ICItLWVuYWJsZS12YWxncmluZCwtLWRpc2FibGUtdmFsZ3JpbmQsdmFsZ3JpbmQsIgorCitURVNURElSID0gInRlc3RzIgorZG9fY29tcGlsZV9wdGVzdCgpIHsKKyAgICBlY2hvICdidWlsZHRlc3QtVEVTVFM6ICQoY2hlY2tfUFJPR1JBTVMpJyA+PiAke1RFU1RESVJ9L01ha2VmaWxlCisgICAgb2VfcnVubWFrZSAtQyAke1RFU1RESVJ9IGJ1aWxkdGVzdC1URVNUUworfQorCitkb19pbnN0YWxsX3B0ZXN0KCkgeworICAgICMgaW5zdGFsbCB0aGUgdGVzdHMKKyAgICBjcCAtcmYgJHtTfS8ke1RFU1RESVJ9ICR7RH0ke1BURVNUX1BBVEh9CisgICAgY3AgLXJmICR7Qn0vJHtURVNURElSfSAke0R9JHtQVEVTVF9QQVRIfQorCisgICAgIyBkbyBOT1QgbmVlZCB0byByZWJ1aWxkIE1ha2VmaWxlIGl0c2VsZgorICAgIHNlZCAtaSAncy9eTWFrZWZpbGU6LiokL01ha2VmaWxlOi8nICR7RH0ke1BURVNUX1BBVEh9LyR7VEVTVERJUn0vTWFrZWZpbGUKKyAgICAjIGRvIE5PVCBuZWVkIHRvIHJlYnVpbGQgJChjaGVja19QUk9HUkFNUykKKyAgICBzZWQgLWkgJ3MvXmNoZWNrLVRFU1RTOi4qJC9jaGVjay1URVNUUzovJyAke0R9JHtQVEVTVF9QQVRIfS8ke1RFU1RESVJ9L01ha2VmaWxlCisKKyAgICAjIGZpeCB0aGUgc3JjZGlyLCB0b3Bfc3JjZGlyCisgICAgc2VkIC1pICdzLF5cKHNyY2RpciA9IFwpLiosXDEke1BURVNUX1BBVEh9L3Rlc3RzLCcgJHtEfSR7UFRFU1RfUEFUSH0vJHtURVNURElSfS9NYWtlZmlsZQorICAgIHNlZCAtaSAncyxeXCh0b3Bfc3JjZGlyID0gXCkuKixcMSR7UFRFU1RfUEFUSH0vdGVzdHMsJyAke0R9JHtQVEVTVF9QQVRIfS8ke1RFU1RESVJ9L01ha2VmaWxlCisgICAgIyBmaXggdGhlIGFic190b3BfYnVpbGRkaXIKKyAgICBzZWQgLWkgJ3MsXlwoYWJzX3RvcF9idWlsZGRpciA9IFwpLiosXDEke1BURVNUX1BBVEh9LywnICR7RH0ke1BURVNUX1BBVEh9LyR7VEVTVERJUn0vTWFrZWZpbGUKKworICAgICMgdmFsZ3JpbmQgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBhcm0gYW5kIG1pcHMsCisgICAgIyBzbyByZW1vdmUgcmVsYXRlZCB0ZXN0IGNhc2VzIGlmIHRoZXJlIGlzIG5vIHZhbGdyaW5kLgorICAgIGlmIFsgeCR7VkFMR1JJTkR9ID0geCBdOyB0aGVuCisgICAgICAgIHNlZCAtaSAnL3VkcC1tc2dyZWR1Yy0vZCcgJHtEfSR7UFRFU1RfUEFUSH0vJHtURVNURElSfS9NYWtlZmlsZQorICAgIGZpCisKKyAgICAjIGluc3RhbGwgdGVzdC1kcml2ZXIKKyAgICBpbnN0YWxsIC1tIDY0NCAke1N9L3Rlc3QtZHJpdmVyICR7RH0ke1BURVNUX1BBVEh9CisKKyAgICAjIGluc3RhbGwgbmVjZXNzYXJ5IGxpbmtzCisgICAgaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS90b29scworICAgIGxuIC1zZiAke3NiaW5kaXJ9L3JzeXNsb2dkICR7RH0ke1BURVNUX1BBVEh9L3Rvb2xzL3JzeXNsb2dkCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L3J1bnRpbWUKKyAgICBpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L3J1bnRpbWUvLmxpYnMKKyAgICAoCisgICAgICAgIGNkICR7RH0vJHtsaWJkaXJ9L3JzeXNsb2cKKyAgICAgICAgYWxsc289Iiouc28iCisgICAgICAgIGZvciBpIGluICRhbGxzbzsgZG8KKyAgICAgICAgICAgIGxuIC1zZiAke2xpYmRpcn0vcnN5c2xvZy8kaSAke0R9JHtQVEVTVF9QQVRIfS9ydW50aW1lLy5saWJzLyRpCisgICAgICAgIGRvbmUKKyAgICApCisKKyAgICAjIGZpeCB0aGUgbW9kdWxlIGxvYWQgcGF0aCB3aXRoIHJ1bnRpbWUvLmxpYnMKKyAgICBmaW5kICR7RH0ke1BURVNUX1BBVEh9LyR7VEVTVERJUn0gLW5hbWUgIiouY29uZiIgLW8gLW5hbWUgIiouc2giIC1vIC1uYW1lICIqLmMiIHwgeGFyZ3MgXAorICAgICAgICBzZWQgLWkgLWUgJ3M6Li4vcGx1Z2lucy8uKi8ubGlicy86Li4vcnVudGltZS8ubGlicy86ZycKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAiJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kIgorICAgIGluc3RhbGwgLWQgIiR7RH0ke3N5c2NvbmZkaXJ9L2xvZ3JvdGF0ZS5kIgorICAgIGluc3RhbGwgLW0gNzU1ICR7V09SS0RJUn0vaW5pdHNjcmlwdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvc3lzbG9nCisgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9yc3lzbG9nLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vcnN5c2xvZy5jb25mCisgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9yc3lzbG9nLmxvZ3JvdGF0ZSAke0R9JHtzeXNjb25mZGlyfS9sb2dyb3RhdGUuZC9sb2dyb3RhdGUucnN5c2xvZworICAgIHNlZCAtaSAtZSAicyNAQklORElSQCMke2JpbmRpcn0jZyIgJHtEfSR7c3lzY29uZmRpcn0vbG9ncm90YXRlLmQvbG9ncm90YXRlLnJzeXNsb2cKKworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2ltam91cm5hbCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgMDc1NSAke0R9JHtzeXNjb25mZGlyfS9yc3lzbG9nLmQKKyAgICAgICAgZWNobyAnJE1vZExvYWQgaW1qb3VybmFsJyA+PiAke0R9JHtzeXNjb25mZGlyfS9yc3lzbG9nLmQvaW1qb3VybmFsLmNvbmYKKyAgICBmaQorfQorCitGSUxFU18ke1BOfSArPSAiJHtiaW5kaXJ9IgorCitJTklUU0NSSVBUX05BTUUgPSAic3lzbG9nIgorSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMiCisKK0NPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L3JzeXNsb2cuY29uZiIKKworUkNPTkZMSUNUU18ke1BOfSA9ICJidXN5Ym94LXN5c2xvZyBzeXNrbG9nZCBzeXNsb2ctbmciCisKK1JQUk9WSURFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JSRVBMQUNFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JDT05GTElDVFNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiJHtCUE59LnNlcnZpY2UiCisKK1JERVBFTkRTXyR7UE59ICs9ICJsb2dyb3RhdGUiCisKKyMgZm9yIHJzeXNsb2ctcHRlc3QKK1ZBTEdSSU5EID0gInZhbGdyaW5kIgorVkFMR1JJTkRfbWlwcyA9ICIiCitWQUxHUklORF9taXBzNjQgPSAiIgorVkFMR1JJTkRfbWlwczY0bjMyID0gIiIKK1ZBTEdSSU5EX2FybSA9ICIiCitWQUxHUklORF9hYXJjaDY0ID0gIiIKK1ZBTEdSSU5EX3Jpc2N2NjQgPSAiIgorUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIlwKKyAgbWFrZSBkaWZmdXRpbHMgZ3ppcCBiYXNoIGdhd2sgY29yZXV0aWxzIHByb2NwcyBcCisgIGxpYmdjYyBweXRob24tY29yZSBweXRob24taW8gXAorICAiCitSUkVDT01NRU5EU18ke1BOfS1wdGVzdCArPSAiJHtUQ0xJQkN9LWRiZyAke1ZBTEdSSU5EfSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2dfOC4zNy4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvcnN5c2xvZ184LjM3LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFmYjQzOTAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvcnN5c2xvZ184LjM3LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNjYgKzAsMCBAQAotU1VNTUFSWSA9ICJSc3lzbG9nIGlzIGFuIGVuaGFuY2VkIG11bHRpLXRocmVhZGVkIHN5c2xvZ2QiCi1ERVNDUklQVElPTiA9ICJcCi1Sc3lzbG9nIGlzIGFuIGVuaGFuY2VkIHN5c2xvZ2Qgc3VwcG9ydGluZywgYW1vbmcgb3RoZXJzLCBNeVNRTCxcCi0gUG9zdGdyZVNRTCwgZmFpbG92ZXIgbG9nIGRlc3RpbmF0aW9ucywgc3lzbG9nL3RjcCwgZmluZSBncmFpblwKLSBvdXRwdXQgZm9ybWF0IGNvbnRyb2wsIGhpZ2ggcHJlY2lzaW9uIHRpbWVzdGFtcHMsIHF1ZXVlZCBvcGVyYXRpb25zXAotIGFuZCB0aGUgYWJpbGl0eSB0byBmaWx0ZXIgb24gYW55IG1lc3NhZ2UgcGFydC4gSXQgaXMgcXVpdGVcCi0gY29tcGF0aWJsZSB0byBzdG9jayBzeXNrbG9nZCBhbmQgY2FuIGJlIHVzZWQgYXMgYSBkcm9wLWluIHJlcGxhY2VtZW50LlwKLSBJdHMgYWR2YW5jZWQgZmVhdHVyZXMgbWFrZSBpdCBzdWl0YWJsZSBmb3IgZW50ZXJwcmlzZS1jbGFzcyxcCi0gZW5jcnlwdGlvbiBwcm90ZWN0ZWQgc3lzbG9nIHJlbGF5IGNoYWlucyB3aGlsZSBhdCB0aGUgc2FtZSB0aW1lIGJlaW5nXAotIHZlcnkgZWFzeSB0byBzZXR1cCBmb3IgdGhlIG5vdmljZSB1c2VyLiIKLQotREVQRU5EUyA9ICJ6bGliIGxpYmVzdHIgbGliZmFzdGpzb24gYmlzb24tbmF0aXZlIGZsZXgtbmF0aXZlIGxpYmxvZ2dpbmciCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LnJzeXNsb2cuY29tLyIKLUxJQ0VOU0UgPSAiR1BMdjMgJiBMR1BMdjMgJiBBcGFjaGUtMi4wIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTFkOTYzNWU2NDZmYjc1ZTFiNzRjMDc0Zjc4OGU5NzMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MRVNTRVI7bWQ1PWNiNzkwM2YxZTVjMzlhZTgzODIwOWUxMzBkY2EyNzBhIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuQVNMMjA7bWQ1PTA1MmY4YTA5MjA2NjE1YWIwNzMyNmZmOGNlMmQ5ZDMyXAotIgotCi1TUkNfVVJJID0gImh0dHA6Ly93d3cucnN5c2xvZy5jb20vZG93bmxvYWQvZmlsZXMvZG93bmxvYWQvcnN5c2xvZy8ke0JQTn0tJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL2luaXRzY3JpcHQgXAotICAgICAgICAgICBmaWxlOi8vcnN5c2xvZy5jb25mIFwKLSAgICAgICAgICAgZmlsZTovL3JzeXNsb2cubG9ncm90YXRlIFwKLSAgICAgICAgICAgZmlsZTovL3VzZS1wa2djb25maWctdG8tY2hlY2stbGliZ2NyeXB0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCi0gICAgICAgICAgIGZpbGU6Ly9yc3lzbG9nLWZpeC1wdGVzdC1ub3QtZmluaXNoLnBhdGNoIFwKLSIKLQotU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsID0gIiBcCi0gICAgZmlsZTovLzAwMDEtSW5jbHVkZS1zeXMtdGltZS1oLnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gImUwOTQyYjRiODhhMTM2MDJhNmI2MzUyYmY5ZjA1MDkxIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI5NWMyODliNGM4YWJkOGY4ZjNmZTM1YTgzMjQ5YjczOWNlZGFiZTgyNzIxNzAyYjkxMDI1NWY5ZmFmMTQ3ZTciCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vcnN5c2xvZy9yc3lzbG9nL3JlbGVhc2VzIgotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiKD9QPHB2ZXI+XGQrKFwuXGQrKSspIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgc3lzdGVtZCB1cGRhdGUtcmMuZCBwdGVzdAotCi1FWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1nZW5lcmF0ZS1tYW4tcGFnZXMgYXBfY3ZfYXRvbWljX2J1aWx0aW5zPXllcyIKLQotIyBmaXJzdCBsaW5lIGlzIGRlZmF1bHQgeWVzIGluIGNvbmZpZ3VyZQotUEFDS0FHRUNPTkZJRyA/Pz0gIiBcCi0gICAgcnN5c2xvZ2QgcnN5c2xvZ3J0IGtsb2cgaW5ldCByZWdleHAgdXVpZCBsaWJnY3J5cHQgXAotICAgIGZtaHR0cCBpbWRpYWcgZ251dGxzIGltZmlsZSBcCi0gICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnc25tcCBzeXN0ZW1kJywgZCl9IFwKLSAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3B0ZXN0JywgJ3Rlc3RiZW5jaCByZWxwICR7VkFMR1JJTkR9JywgJycsIGQpfSBcCi0iCi0KLSMgZGVmYXVsdCB5ZXMgaW4gY29uZmlndXJlCi1QQUNLQUdFQ09ORklHW3JlbHBdID0gIi0tZW5hYmxlLXJlbHAsLS1kaXNhYmxlLXJlbHAsbGlicmVscCwiCi1QQUNLQUdFQ09ORklHW3JzeXNsb2dkXSA9ICItLWVuYWJsZS1yc3lzbG9nZCwtLWRpc2FibGUtcnN5c2xvZ2QsLCIKLVBBQ0tBR0VDT05GSUdbcnN5c2xvZ3J0XSA9ICItLWVuYWJsZS1yc3lzbG9ncnQsLS1kaXNhYmxlLXJzeXNsb2dydCwsIgotUEFDS0FHRUNPTkZJR1tmbWh0dHBdID0gIi0tZW5hYmxlLWZtaHR0cCwtLWRpc2FibGUtZm1odHRwLGN1cmwsIgotUEFDS0FHRUNPTkZJR1tpbmV0XSA9ICItLWVuYWJsZS1pbmV0LC0tZGlzYWJsZS1pbmV0LCwiCi1QQUNLQUdFQ09ORklHW2tsb2ddID0gIi0tZW5hYmxlLWtsb2csLS1kaXNhYmxlLWtsb2csLCIKLVBBQ0tBR0VDT05GSUdbcmVnZXhwXSA9ICItLWVuYWJsZS1yZWdleHAsLS1kaXNhYmxlLXJlZ2V4cCwsIgotUEFDS0FHRUNPTkZJR1t1dWlkXSA9ICItLWVuYWJsZS11dWlkLC0tZGlzYWJsZS11dWlkLHV0aWwtbGludXgsIgotUEFDS0FHRUNPTkZJR1tsaWJnY3J5cHRdID0gIi0tZW5hYmxlLWxpYmdjcnlwdCwtLWRpc2FibGUtbGliZ2NyeXB0LGxpYmdjcnlwdCwiCi1QQUNLQUdFQ09ORklHW3Rlc3RiZW5jaF0gPSAiLS1lbmFibGUtdGVzdGJlbmNoIC0tZW5hYmxlLW9tc3Rkb3V0LC0tZGlzYWJsZS10ZXN0YmVuY2ggLS1kaXNhYmxlLW9tc3Rkb3V0LCwiCi0KLSMgZGVmYXVsdCBubyBpbiBjb25maWd1cmUKLVBBQ0tBR0VDT05GSUdbZGVidWddID0gIi0tZW5hYmxlLWRlYnVnLC0tZGlzYWJsZS1kZWJ1ZywsIgotUEFDS0FHRUNPTkZJR1tpbWRpYWddID0gIi0tZW5hYmxlLWltZGlhZywtLWRpc2FibGUtaW1kaWFnLCwiCi1QQUNLQUdFQ09ORklHW2ltZmlsZV0gPSAiLS1lbmFibGUtaW1maWxlLC0tZGlzYWJsZS1pbWZpbGUsLCIKLVBBQ0tBR0VDT05GSUdbc25tcF0gPSAiLS1lbmFibGUtc25tcCwtLWRpc2FibGUtc25tcCxuZXQtc25tcCwiCi1QQUNLQUdFQ09ORklHW2dudXRsc10gPSAiLS1lbmFibGUtZ251dGxzLC0tZGlzYWJsZS1nbnV0bHMsZ251dGxzLCIKLVBBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS13aXRoLXN5c3RlbWRzeXN0ZW11bml0ZGlyPSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vLC0td2l0aG91dC1zeXN0ZW1kc3lzdGVtdW5pdGRpcixzeXN0ZW1kLCIKLVBBQ0tBR0VDT05GSUdbaW1qb3VybmFsXSA9ICItLWVuYWJsZS1pbWpvdXJuYWwsLS1kaXNhYmxlLWltam91cm5hbCwiCi1QQUNLQUdFQ09ORklHW215c3FsXSA9ICItLWVuYWJsZS1teXNxbCwtLWRpc2FibGUtbXlzcWwsbXlzcWw1LCIKLVBBQ0tBR0VDT05GSUdbcG9zdGdyZXNxbF0gPSAiLS1lbmFibGUtcGdzcWwsLS1kaXNhYmxlLXBnc3FsLHBvc3RncmVzcWwsIgotUEFDS0FHRUNPTkZJR1tsaWJkYmldID0gIi0tZW5hYmxlLWxpYmRiaSwtLWRpc2FibGUtbGliZGJpLGxpYmRiaSwiCi1QQUNLQUdFQ09ORklHW21haWxdID0gIi0tZW5hYmxlLW1haWwsLS1kaXNhYmxlLW1haWwsLCIKLVBBQ0tBR0VDT05GSUdbdmFsZ3JpbmRdID0gIi0tZW5hYmxlLXZhbGdyaW5kLC0tZGlzYWJsZS12YWxncmluZCx2YWxncmluZCwiCi0KLVRFU1RESVIgPSAidGVzdHMiCi1kb19jb21waWxlX3B0ZXN0KCkgewotICAgIGVjaG8gJ2J1aWxkdGVzdC1URVNUUzogJChjaGVja19QUk9HUkFNUyknID4+ICR7VEVTVERJUn0vTWFrZWZpbGUKLSAgICBvZV9ydW5tYWtlIC1DICR7VEVTVERJUn0gYnVpbGR0ZXN0LVRFU1RTCi19Ci0KLWRvX2luc3RhbGxfcHRlc3QoKSB7Ci0gICAgIyBpbnN0YWxsIHRoZSB0ZXN0cwotICAgIGNwIC1yZiAke1N9LyR7VEVTVERJUn0gJHtEfSR7UFRFU1RfUEFUSH0KLSAgICBjcCAtcmYgJHtCfS8ke1RFU1RESVJ9ICR7RH0ke1BURVNUX1BBVEh9Ci0KLSAgICAjIGRvIE5PVCBuZWVkIHRvIHJlYnVpbGQgTWFrZWZpbGUgaXRzZWxmCi0gICAgc2VkIC1pICdzL15NYWtlZmlsZTouKiQvTWFrZWZpbGU6LycgJHtEfSR7UFRFU1RfUEFUSH0vJHtURVNURElSfS9NYWtlZmlsZQotICAgICMgZG8gTk9UIG5lZWQgdG8gcmVidWlsZCAkKGNoZWNrX1BST0dSQU1TKQotICAgIHNlZCAtaSAncy9eY2hlY2stVEVTVFM6LiokL2NoZWNrLVRFU1RTOi8nICR7RH0ke1BURVNUX1BBVEh9LyR7VEVTVERJUn0vTWFrZWZpbGUKLQotICAgICMgZml4IHRoZSBzcmNkaXIsIHRvcF9zcmNkaXIKLSAgICBzZWQgLWkgJ3MsXlwoc3JjZGlyID0gXCkuKixcMSR7UFRFU1RfUEFUSH0vdGVzdHMsJyAke0R9JHtQVEVTVF9QQVRIfS8ke1RFU1RESVJ9L01ha2VmaWxlCi0gICAgc2VkIC1pICdzLF5cKHRvcF9zcmNkaXIgPSBcKS4qLFwxJHtQVEVTVF9QQVRIfS90ZXN0cywnICR7RH0ke1BURVNUX1BBVEh9LyR7VEVTVERJUn0vTWFrZWZpbGUKLSAgICAjIGZpeCB0aGUgYWJzX3RvcF9idWlsZGRpcgotICAgIHNlZCAtaSAncyxeXChhYnNfdG9wX2J1aWxkZGlyID0gXCkuKixcMSR7UFRFU1RfUEFUSH0vLCcgJHtEfSR7UFRFU1RfUEFUSH0vJHtURVNURElSfS9NYWtlZmlsZQotCi0gICAgIyB2YWxncmluZCBpcyBub3QgY29tcGF0aWJsZSB3aXRoIGFybSBhbmQgbWlwcywKLSAgICAjIHNvIHJlbW92ZSByZWxhdGVkIHRlc3QgY2FzZXMgaWYgdGhlcmUgaXMgbm8gdmFsZ3JpbmQuCi0gICAgaWYgWyB4JHtWQUxHUklORH0gPSB4IF07IHRoZW4KLSAgICAgICAgc2VkIC1pICcvdWRwLW1zZ3JlZHVjLS9kJyAke0R9JHtQVEVTVF9QQVRIfS8ke1RFU1RESVJ9L01ha2VmaWxlCi0gICAgZmkKLQotICAgICMgaW5zdGFsbCB0ZXN0LWRyaXZlcgotICAgIGluc3RhbGwgLW0gNjQ0ICR7U30vdGVzdC1kcml2ZXIgJHtEfSR7UFRFU1RfUEFUSH0KLQotICAgICMgaW5zdGFsbCBuZWNlc3NhcnkgbGlua3MKLSAgICBpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L3Rvb2xzCi0gICAgbG4gLXNmICR7c2JpbmRpcn0vcnN5c2xvZ2QgJHtEfSR7UFRFU1RfUEFUSH0vdG9vbHMvcnN5c2xvZ2QKLQotICAgIGluc3RhbGwgLWQgJHtEfSR7UFRFU1RfUEFUSH0vcnVudGltZQotICAgIGluc3RhbGwgLWQgJHtEfSR7UFRFU1RfUEFUSH0vcnVudGltZS8ubGlicwotICAgICgKLSAgICAgICAgY2QgJHtEfS8ke2xpYmRpcn0vcnN5c2xvZwotICAgICAgICBhbGxzbz0iKi5zbyIKLSAgICAgICAgZm9yIGkgaW4gJGFsbHNvOyBkbwotICAgICAgICAgICAgbG4gLXNmICR7bGliZGlyfS9yc3lzbG9nLyRpICR7RH0ke1BURVNUX1BBVEh9L3J1bnRpbWUvLmxpYnMvJGkKLSAgICAgICAgZG9uZQotICAgICkKLQotICAgICMgZml4IHRoZSBtb2R1bGUgbG9hZCBwYXRoIHdpdGggcnVudGltZS8ubGlicwotICAgIGZpbmQgJHtEfSR7UFRFU1RfUEFUSH0vJHtURVNURElSfSAtbmFtZSAiKi5jb25mIiAtbyAtbmFtZSAiKi5zaCIgLW8gLW5hbWUgIiouYyIgfCB4YXJncyBcCi0gICAgICAgIHNlZCAtaSAtZSAnczouLi9wbHVnaW5zLy4qLy5saWJzLzouLi9ydW50aW1lLy5saWJzLzpnJwotfQotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICBpbnN0YWxsIC1kICIke0R9JHtzeXNjb25mZGlyfS9pbml0LmQiCi0gICAgaW5zdGFsbCAtZCAiJHtEfSR7c3lzY29uZmRpcn0vbG9ncm90YXRlLmQiCi0gICAgaW5zdGFsbCAtbSA3NTUgJHtXT1JLRElSfS9pbml0c2NyaXB0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9zeXNsb2cKLSAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L3JzeXNsb2cuY29uZiAke0R9JHtzeXNjb25mZGlyfS9yc3lzbG9nLmNvbmYKLSAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L3JzeXNsb2cubG9ncm90YXRlICR7RH0ke3N5c2NvbmZkaXJ9L2xvZ3JvdGF0ZS5kL2xvZ3JvdGF0ZS5yc3lzbG9nCi0gICAgc2VkIC1pIC1lICJzI0BCSU5ESVJAIyR7YmluZGlyfSNnIiAke0R9JHtzeXNjb25mZGlyfS9sb2dyb3RhdGUuZC9sb2dyb3RhdGUucnN5c2xvZwotCi0gICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnaW1qb3VybmFsJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KLSAgICAgICAgaW5zdGFsbCAtZCAwNzU1ICR7RH0ke3N5c2NvbmZkaXJ9L3JzeXNsb2cuZAotICAgICAgICBlY2hvICckTW9kTG9hZCBpbWpvdXJuYWwnID4+ICR7RH0ke3N5c2NvbmZkaXJ9L3JzeXNsb2cuZC9pbWpvdXJuYWwuY29uZgotICAgIGZpCi19Ci0KLUZJTEVTXyR7UE59ICs9ICIke2JpbmRpcn0iCi0KLUlOSVRTQ1JJUFRfTkFNRSA9ICJzeXNsb2ciCi1JTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyIKLQotQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vcnN5c2xvZy5jb25mIgotCi1SQ09ORkxJQ1RTXyR7UE59ID0gImJ1c3lib3gtc3lzbG9nIHN5c2tsb2dkIHN5c2xvZy1uZyIKLQotUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgotUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgotUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICIke0JQTn0uc2VydmljZSIKLQotUkRFUEVORFNfJHtQTn0gKz0gImxvZ3JvdGF0ZSIKLQotIyBmb3IgcnN5c2xvZy1wdGVzdAotVkFMR1JJTkQgPSAidmFsZ3JpbmQiCi1WQUxHUklORF9taXBzID0gIiIKLVZBTEdSSU5EX21pcHM2NCA9ICIiCi1WQUxHUklORF9taXBzNjRuMzIgPSAiIgotVkFMR1JJTkRfYXJtID0gIiIKLVZBTEdSSU5EX2FhcmNoNjQgPSAiIgotVkFMR1JJTkRfcmlzY3Y2NCA9ICIiCi1SREVQRU5EU18ke1BOfS1wdGVzdCArPSAibWFrZSBkaWZmdXRpbHMgZ3ppcCBiYXNoIGdhd2sgY29yZXV0aWxzIHByb2NwcyIKLVJSRUNPTU1FTkRTXyR7UE59LXB0ZXN0ICs9ICIke1RDTElCQ30tZGJnICR7VkFMR1JJTkR9IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NpZ3Jvay9saWJzaWdyb2tfMC41LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2lncm9rL2xpYnNpZ3Jva18wLjUuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MTUyY2E3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NpZ3Jvay9saWJzaWdyb2tfMC41LjEuYmIKQEAgLTAsMCArMSwyMyBAQAorREVTQ1JJUFRJT04gPSAibGlic2lncm9rIGlzIGEgc2hhcmVkIGxpYnJhcnkgd3JpdHRlbiBpbiBDLCB3aGljaCBwcm92aWRlcyB0aGUgYmFzaWMgaGFyZHdhcmUgYWNjZXNzIGRyaXZlcnMgZm9yIGxvZ2ljIGFuYWx5emVycyBhbmQgb3RoZXIgc3VwcG9ydGVkIGRldmljZXMsIGFzIHdlbGwgYXMgaW5wdXQvb3V0cHV0IGZpbGUgZm9ybWF0IHN1cHBvcnQuIgorSE9NRVBBR0UgPSAiaHR0cDovL3NpZ3Jvay5vcmcvd2lraS9NYWluX1BhZ2UiCisKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworREVQRU5EUyA9ICJnbGliLTIuMCBsaWJ6aXAiCisKK1BBQ0tBR0VDT05GSUdbc2VyaWFscG9ydF0gPSAiLS13aXRoLWxpYnNlcmlhbHBvcnQsLS13aXRob3V0LWxpYnNlcmlhbHBvcnQsbGlic2VyaWFscG9ydCIKK1BBQ0tBR0VDT05GSUdbZnRkaV0gPSAiLS13aXRoLWxpYmZ0ZGksLS13aXRob3V0LWxpYmZ0ZGksbGliZnRkaSIKK1BBQ0tBR0VDT05GSUdbdXNiXSA9ICItLXdpdGgtbGlidXNiLC0td2l0aG91dC1saWJ1c2IsbGlidXNiIgorUEFDS0FHRUNPTkZJR1tjeHhdID0gIi0tZW5hYmxlLWN4eCwtLWRpc2FibGUtY3h4LGdsaWJtbSBkb3h5Z2VuLW5hdGl2ZSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gInNlcmlhbHBvcnQgZnRkaSB1c2IiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitTUkNfVVJJID0gImh0dHA6Ly9zaWdyb2sub3JnL2Rvd25sb2FkL3NvdXJjZS9saWJzaWdyb2svbGlic2lncm9rLSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gImEzZGU5ZTUyYTY2MGU1MWQyN2E2YWNhMDI1ZDIwNGE3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU0MGZkZTdhZjk4ZDI5ZTkyMmU5ZDNjYmUwYTZjMDU2OTg4OTE1M2ZjMzFlNDdiOGIxYWZlNGQ4NDYyOTJiOWMiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9LyoiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2lncm9rL2xpYnNpZ3Jva2RlY29kZV8wLjUuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zaWdyb2svbGlic2lncm9rZGVjb2RlXzAuNS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4ZTFlNDcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2lncm9rL2xpYnNpZ3Jva2RlY29kZV8wLjUuMi5iYgpAQCAtMCwwICsxLDE0IEBACitERVNDUklQVElPTiA9ICJsaWJzaWdyb2tkZWNvZGUgaXMgYSBzaGFyZWQgbGlicmFyeSB3cml0dGVuIGluIEMsIHdoaWNoIHByb3ZpZGVzIChzdHJlYW1pbmcpIHByb3RvY29sIGRlY29kaW5nIGZ1bmN0aW9uYWxpdHkuIgorSE9NRVBBR0UgPSAiaHR0cDovL3NpZ3Jvay5vcmcvd2lraS9NYWluX1BhZ2UiCisKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworREVQRU5EUyA9ICJnbGliLTIuMCBweXRob24zIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworU1JDX1VSSSA9ICJodHRwOi8vc2lncm9rLm9yZy9kb3dubG9hZC9zb3VyY2UvbGlic2lncm9rZGVjb2RlL2xpYnNpZ3Jva2RlY29kZS0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiOTAzM2JjN2U2OGJjMTdmZmZmZmQ0ZmRkNzkzZjVhMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlMDhkOWU3OTdjNTRlY2NmMzE0NGRhNjMxYjZlNWYxNDk4YWM1MzFlNTE1MjA0MjhkZjUzN2ExZGE4MjU4M2YwIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NpZ3Jvay9zaWdyb2stY2xpXzAuNy4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NpZ3Jvay9zaWdyb2stY2xpXzAuNy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzMWJjZDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2lncm9rL3NpZ3Jvay1jbGlfMC43LjAuYmIKQEAgLTAsMCArMSwxOCBAQAorREVTQ1JJUFRJT04gPSAic2lncm9rLWNsaSBpcyBhIGNvbW1hbmQtbGluZSBmcm9udGVuZCBmb3Igc2lncm9rLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9zaWdyb2sub3JnL3dpa2kvTWFpbl9QYWdlIgorCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCisKK0RFUEVORFMgPSAibGlic2lncm9rIgorCitQQUNLQUdFQ09ORklHW2RlY29kZV0gPSAiLS13aXRoLWxpYnNpZ3Jva2RlY29kZSwtLXdpdGhvdXQtbGlic2lncm9rZGVjb2RlLGxpYnNpZ3Jva2RlY29kZSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gImRlY29kZSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1NSQ19VUkkgPSAiaHR0cDovL3NpZ3Jvay5vcmcvZG93bmxvYWQvc291cmNlL3NpZ3Jvay1jbGkvc2lncm9rLWNsaS0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3N2NiNzQ1ZTJmYTIzOWM3YmQxZWE4MWUyZDY3ZWRlOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1NjY5ZDk2OGMyZGUzZGZjNmFkZmRhNzZlODM3ODliNmJhNzYzNjg0MDdjODMyNDM4Y2VmNWU3MDk5YTY1ZTFjIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NtYXJ0bW9udG9vbHMvZmlsZXMvMDAwMS1vc19saW51eC5jcHAtVXNlLXJlYWxwYXRoLUJTRC1QT1NJWC1pbnN0ZWFkLW9mLWNhbm9uLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NtYXJ0bW9udG9vbHMvZmlsZXMvMDAwMS1vc19saW51eC5jcHAtVXNlLXJlYWxwYXRoLUJTRC1QT1NJWC1pbnN0ZWFkLW9mLWNhbm9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MWU2NGQyLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zbWFydG1vbnRvb2xzL2ZpbGVzLzAwMDEtb3NfbGludXguY3BwLVVzZS1yZWFscGF0aC1CU0QtUE9TSVgtaW5zdGVhZC1vZi1jYW5vbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLUZyb20gZjI4YWExODhlNWIwZWE4NTM2OWZlYmU2NTdiODgwN2I4MDI1MDM4YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IGNocmZyYW5rZSA8YXV0aG9yc0BzbWFydG1vbnRvb2xzLm9yZz4KLURhdGU6IFdlZCwgOCBOb3YgMjAxNyAwNjoxNTo1MCArMDAwMAotU3ViamVjdDogW1BBVENIXSBvc19saW51eC5jcHA6IFVzZSAncmVhbHBhdGgoKScgKEJTRCwgUE9TSVgpIGluc3RlYWQgb2YKLSAnY2Fub25pY2FsaXplX2ZpbGVfbmFtZSgpJyAoR05VIGV4dGVuc2lvbikuIFRoaXMgZml4ZXMgYnVpbGQgb24gc3lzdGVtcyB3aXRoCi0gbXVzbCBsaWJjICgjOTIxKS4KLQotZ2l0LXN2bi1pZDogaHR0cDovL3N2bi5jb2RlLnNmLm5ldC9wL3NtYXJ0bW9udG9vbHMvY29kZS90cnVua0A0NjAzIDRlYTY5ZTFhLTYxZjEtNDA0My1iZjgzLWI1Yzk0YzY0ODEzNwotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL3d3dy5zbWFydG1vbnRvb2xzLm9yZy90aWNrZXQvOTIxXQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIG9zX2xpbnV4LmNwcCB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL29zX2xpbnV4LmNwcCBiL29zX2xpbnV4LmNwcAotaW5kZXggMTM0ZDViYy4uOTM1ZjljNyAxMDA2NDQKLS0tLSBhL29zX2xpbnV4LmNwcAotKysrIGIvb3NfbGludXguY3BwCi1AQCAtMzE3Niw3ICszMTc2LDcgQEAgc3RhdGljIGJvb2wgaXNfaHBzYShjb25zdCBjaGFyICogbmFtZSkKLSB7Ci0gICBjaGFyIHBhdGhbMTI4XTsKLSAgIHNucHJpbnRmKHBhdGgsIHNpemVvZihwYXRoKSwgIi9zeXMvYmxvY2svJXMvZGV2aWNlIiwgbmFtZSk7Ci0tICBjaGFyICogc3lzaG9zdHBhdGggPSBjYW5vbmljYWxpemVfZmlsZV9uYW1lKHBhdGgpOwotKyAgY2hhciAqIHN5c2hvc3RwYXRoID0gcmVhbHBhdGgobmFtZSwgKGNoYXIgKikwKTsKLSAgIGlmICghc3lzaG9zdHBhdGgpCi0gICAgIHJldHVybiBmYWxzZTsKLSAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zbWFydG1vbnRvb2xzL3NtYXJ0bW9udG9vbHNfNi42LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NtYXJ0bW9udG9vbHMvc21hcnRtb250b29sc182LjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM3N2MxMDUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NtYXJ0bW9udG9vbHMvc21hcnRtb250b29sc182LjYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi1TVU1NQVJZID0gIkNvbnRyb2wgYW5kIG1vbml0b3Igc3RvcmFnZSBzeXN0ZW1zIHVzaW5nIFMuTS5BLlIuVCIKLURFU0NSSVBUSU9OID0gIlwKLVRoZSBzbWFydG1vbnRvb2xzIHBhY2thZ2UgY29udGFpbnMgdHdvIHV0aWxpdHkgcHJvZ3JhbXMgKHNtYXJ0Y3RsIFwKLWFuZCBzbWFydGQpIHRvIGNvbnRyb2wgYW5kIG1vbml0b3Igc3RvcmFnZSBzeXN0ZW1zIHVzaW5nIHRoZSBTZWxmLVwKLU1vbml0b3JpbmcsIEFuYWx5c2lzIGFuZCBSZXBvcnRpbmcgVGVjaG5vbG9neSBTeXN0ZW0gKFNNQVJUKSBidWlsdCBcCi1pbnRvIG1vc3QgbW9kZXJuIEFUQSBhbmQgU0NTSSBoYXJkIGRpc2tzLiBJbiBtYW55IGNhc2VzLCB0aGVzZSBcCi11dGlsaXRpZXMgd2lsbCBwcm92aWRlIGFkdmFuY2VkIHdhcm5pbmcgb2YgZGlzayBkZWdyYWRhdGlvbiBhbmQgZmFpbHVyZS4iCi0KLUhPTUVQQUdFID0gImh0dHA6Ly9zbWFydG1vbnRvb2xzLnNvdXJjZWZvcmdlLm5ldC8iCi1TRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCi0KLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKLQotU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vc21hcnRtb250b29scy9zbWFydG1vbnRvb2xzLSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9pbml0ZC5zbWFydGQgXAotICAgICAgICAgICBmaWxlOi8vc21hcnRtb250b29scy5kZWZhdWx0IFwKLSAgICAgICAgICAgZmlsZTovL3NtYXJ0ZC5zZXJ2aWNlIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtb3NfbGludXguY3BwLVVzZS1yZWFscGF0aC1CU0QtUE9TSVgtaW5zdGVhZC1vZi1jYW5vbi5wYXRjaCBcCi0gICAgICAgICAgICIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2xpYmNhcC1uZyBzZWxpbnV4JywgZCl9IgotUEFDS0FHRUNPTkZJR1tsaWJjYXAtbmddID0gIi0td2l0aC1saWJjYXAtbmc9eWVzLC0td2l0aC1saWJjYXAtbmc9bm8sbGliY2FwLW5nIgotUEFDS0FHRUNPTkZJR1tzZWxpbnV4XSA9ICItLXdpdGgtc2VsaW51eD15ZXMsLS13aXRoLXNlbGludXg9bm8sbGlic2VsaW51eCIKLQotU1JDX1VSSVttZDVzdW1dID0gIjlhZTJjNmU3MTMxY2QyODEzZWRjYzY1Y2JlNWYyMjNmIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjUxZjQzZDBmYjA2NGZjY2FmODIzYmJlNjhjZjBkMzE3ZDA4OTVmZjg5NWFhMzUzYjMzMzlhM2IzMTZhNTMwNTQiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHVwZGF0ZS1yYy5kIHN5c3RlbWQKLQotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInNtYXJ0ZC5zZXJ2aWNlIgotU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgotCi1kb19pbnN0YWxsX2FwcGVuZCAoKSB7Ci0gICAgI2luc3RhbGwgdGhlIGluaXQuZC9zbWFydGQKLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAotICAgIGluc3RhbGwgLXAgLW0gMDc1NSAke1dPUktESVJ9L2luaXRkLnNtYXJ0ZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvc21hcnRkCi0gICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0Ci0gICAgaW5zdGFsbCAtcCAtbSAwNjQ0ICR7V09SS0RJUn0vc21hcnRtb250b29scy5kZWZhdWx0ICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvc21hcnRtb250b29scwotCi0gICAgI2luc3RhbGwgc3lzdGVtZCBzZXJ2aWNlIGZpbGUKLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vc21hcnRkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLSAgICBzZWQgLWkgLWUgJ3MsQEJBU0VfQklORElSQCwke2Jhc2VfYmluZGlyfSxnJyBcCi0gICAgICAgIC1lICdzLEBTWVNDT05GRElSQCwke3N5c2NvbmZkaXJ9LGcnIFwKLSAgICAgICAgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgXAotICAgICAgICAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zbWFydGQuc2VydmljZQotfQotCi1JTklUU0NSSVBUX05BTUUgPSAic21hcnRkIgotSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgNjAgMiAzIDQgNSAuIHN0b3AgNjAgMCAxIDYgLiIKLQotUkRFUEVORFNfJHtQTn0gKz0gIm1haWx4IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NtYXJ0bW9udG9vbHMvc21hcnRtb250b29sc183LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc21hcnRtb250b29scy9zbWFydG1vbnRvb2xzXzcuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTg0NTY2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NtYXJ0bW9udG9vbHMvc21hcnRtb250b29sc183LjAuYmIKQEAgLTAsMCArMSw1MiBAQAorU1VNTUFSWSA9ICJDb250cm9sIGFuZCBtb25pdG9yIHN0b3JhZ2Ugc3lzdGVtcyB1c2luZyBTLk0uQS5SLlQiCitERVNDUklQVElPTiA9ICJcCitUaGUgc21hcnRtb250b29scyBwYWNrYWdlIGNvbnRhaW5zIHR3byB1dGlsaXR5IHByb2dyYW1zIChzbWFydGN0bCBcCithbmQgc21hcnRkKSB0byBjb250cm9sIGFuZCBtb25pdG9yIHN0b3JhZ2Ugc3lzdGVtcyB1c2luZyB0aGUgU2VsZi1cCitNb25pdG9yaW5nLCBBbmFseXNpcyBhbmQgUmVwb3J0aW5nIFRlY2hub2xvZ3kgU3lzdGVtIChTTUFSVCkgYnVpbHQgXAoraW50byBtb3N0IG1vZGVybiBBVEEgYW5kIFNDU0kgaGFyZCBkaXNrcy4gSW4gbWFueSBjYXNlcywgdGhlc2UgXAordXRpbGl0aWVzIHdpbGwgcHJvdmlkZSBhZHZhbmNlZCB3YXJuaW5nIG9mIGRpc2sgZGVncmFkYXRpb24gYW5kIGZhaWx1cmUuIgorCitIT01FUEFHRSA9ICJodHRwOi8vc21hcnRtb250b29scy5zb3VyY2Vmb3JnZS5uZXQvIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3NtYXJ0bW9udG9vbHMvc21hcnRtb250b29scy0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vaW5pdGQuc21hcnRkIFwKKyAgICAgICAgICAgZmlsZTovL3NtYXJ0bW9udG9vbHMuZGVmYXVsdCBcCisgICAgICAgICAgIGZpbGU6Ly9zbWFydGQuc2VydmljZSBcCisgICAgICAgICAgICIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2xpYmNhcC1uZyBzZWxpbnV4JywgZCl9IgorUEFDS0FHRUNPTkZJR1tsaWJjYXAtbmddID0gIi0td2l0aC1saWJjYXAtbmc9eWVzLC0td2l0aC1saWJjYXAtbmc9bm8sbGliY2FwLW5nIgorUEFDS0FHRUNPTkZJR1tzZWxpbnV4XSA9ICItLXdpdGgtc2VsaW51eD15ZXMsLS13aXRoLXNlbGludXg9bm8sbGlic2VsaW51eCIKKworU1JDX1VSSVttZDVzdW1dID0gImIyYTgwZTQ3ODlhZjIzZDY3ZGZlMWU4OGE5OTdhYmJmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU1ZTFhYzI3ODZiYzg3ZmRiZDZmOTJkMGVlNzUxYjc5OWZiYjNlMWEwOWMwYTZhMzc5ZjllYjY0YjNlOGY2MWMiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHVwZGF0ZS1yYy5kIHN5c3RlbWQKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInNtYXJ0ZC5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgI2luc3RhbGwgdGhlIGluaXQuZC9zbWFydGQKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLXAgLW0gMDc1NSAke1dPUktESVJ9L2luaXRkLnNtYXJ0ZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvc21hcnRkCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0CisgICAgaW5zdGFsbCAtcCAtbSAwNjQ0ICR7V09SS0RJUn0vc21hcnRtb250b29scy5kZWZhdWx0ICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvc21hcnRtb250b29scworCisgICAgI2luc3RhbGwgc3lzdGVtZCBzZXJ2aWNlIGZpbGUKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vc21hcnRkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBzZWQgLWkgLWUgJ3MsQEJBU0VfQklORElSQCwke2Jhc2VfYmluZGlyfSxnJyBcCisgICAgICAgIC1lICdzLEBTWVNDT05GRElSQCwke3N5c2NvbmZkaXJ9LGcnIFwKKyAgICAgICAgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgXAorICAgICAgICAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zbWFydGQuc2VydmljZQorfQorCitJTklUU0NSSVBUX05BTUUgPSAic21hcnRkIgorSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgNjAgMiAzIDQgNSAuIHN0b3AgNjAgMCAxIDYgLiIKKworUkRFUEVORFNfJHtQTn0gKz0gIm1haWx4IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3RyaWdnZXJoYXBweS90cmlnZ2VyaGFwcHlfMC41LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdHJpZ2dlcmhhcHB5L3RyaWdnZXJoYXBweV8wLjUuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMzdjZTA2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3RyaWdnZXJoYXBweS90cmlnZ2VyaGFwcHlfMC41LjAuYmIKQEAgLTAsMCArMSw0NyBAQAorU1VNTUFSWSA9ICJBIGxpZ2h0d2VpZ2h0IGhvdGtleSBkYWVtb24iCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vd2VydGFyYnl0ZS90cmlnZ2VyaGFwcHkiCisKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vd2VydGFyYnl0ZS90cmlnZ2VyaGFwcHkvYXJjaGl2ZS9kZWJpYW4vMC41LjAtMS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3N2Y5MGExOGM3NzVlNDdjNGM1ZTllMDg5ODdjYTMyZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5MTUwYmFmYmY3ZjJkZTdkNTdlNmNjMTU0Njc2YzMzZGE5OGRjMTFhYzY0NDJlMWNhNTdlNWRjZTgyYmQ0MjkyIgorCitTID0gIiR7V09SS0RJUn0vJHtQTn0tZGViaWFuLSR7UFZ9LTEiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcgdXBkYXRlLXJjLmQgc3lzdGVtZAorCitQQUNLQUdFQ09ORklHID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywnc3lzdGVtZCcsJycsZCl9IgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICIsLHN5c3RlbWQiCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJ0cmlnZ2VyaGFwcHkiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJ0cmlnZ2VyaGFwcHkuc2VydmljZSB0cmlnZ2VyaGFwcHkuc29ja2V0IgorCitGSUxFU18ke1BOfSA9ICJcCiske3NiaW5kaXJ9L3RoZCBcCiske3NiaW5kaXJ9L3RoLWNtZCBcCiske3N5c2NvbmZkaXJ9L3RyaWdnZXJoYXBweS90cmlnZ2Vycy5kIFwKKyR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldi9ydWxlcy5kLzgwLXRyaWdnZXJoYXBweS5ydWxlcyBcCiske3N5c2NvbmZkaXJ9L2luaXQuZC90cmlnZ2VyaGFwcHkgXAorJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbSBcCisiCitDT05GRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfS91ZGV2L3J1bGVzLmQvODAtdHJpZ2dlcmhhcHB5LnJ1bGVzIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3RyaWdnZXJoYXBweS90cmlnZ2Vycy5kCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke25vbmFyY2hfYmFzZV9saWJkaXJ9L3VkZXYvcnVsZXMuZAorICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3VkZXYvdHJpZ2dlcmhhcHB5LXVkZXYucnVsZXMgJHtEfSR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldi9ydWxlcy5kLzgwLXRyaWdnZXJoYXBweS5ydWxlcworCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9kZWJpYW4vaW5pdC5kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC90cmlnZ2VyaGFwcHkKKworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3lzdGVtZC90cmlnZ2VyaGFwcHkuc29ja2V0ICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3N5c3RlbWQvdHJpZ2dlcmhhcHB5LnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBmaQorfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3VwbS91cG0vMDAwMS1DTWFrZUxpc3RzLnR4dC1Vc2UtU1dJR19TVVBQT1JUX0ZJTEVTLXRvLWZpbmQtdGhlLWxpLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3VwbS91cG0vMDAwMS1DTWFrZUxpc3RzLnR4dC1Vc2UtU1dJR19TVVBQT1JUX0ZJTEVTLXRvLWZpbmQtdGhlLWxpLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiOWExOTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdXBtL3VwbS8wMDAxLUNNYWtlTGlzdHMudHh0LVVzZS1TV0lHX1NVUFBPUlRfRklMRVMtdG8tZmluZC10aGUtbGkucGF0Y2gKQEAgLTAsMCArMSwzOCBAQAorRnJvbSAzNzA3ZjQ2N2Y5YTI2YTdkZjNkNDEzODUwMjNiNDNjM2QwODkxMWQyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFuanVrdW1hciBNYXRoYSA8bWFuanVrdW1hci5oYXJ0aGlrb3RlLW1hdGhhQHhpbGlueC5jb20+CitEYXRlOiBUdWUsIDEyIEZlYiAyMDE5IDE3OjQ2OjUyIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdW3YzXSBDTWFrZUxpc3RzLnR4dDogVXNlIFNXSUdfU1VQUE9SVF9GSUxFUyB0byBmaW5kIHRoZSBsaXN0Cisgb2YgZ2VuZXJhdGVkIGZpbGVzIGZvciBjbWFrZSB2ZXJzaW9uIDMuMTIgb3IgaGlnaGVyCisKK1VzZSBTV0lHX1NVUFBPUlRfRklMRVMgdG8gZmluZCB0aGUgbGlzdCBvZiBweXRob24gZmlsZXMgZ2VuZXJhdGVkIGJ5CitDTWFrZSBTd2lnIG1vZHVsZSBhbmQgaW5zdGFsbCB0aG9zZSBmaWxlcy4gVGhpcyBzaG91bGQgYmUgYXBwbGljYWJsZSB0bworY21ha2UgdmVyc2lvbiAzLjEyIG9yIGhpZ2hlcgorCitTaWduZWQtb2ZmLWJ5OiBNYW5qdWt1bWFyIE1hdGhhIDxtYW5qdWt1bWFyLmhhcnRoaWtvdGUtbWF0aGFAeGlsaW54LmNvbT4KKy0tLQorIHNyYy9DTWFrZUxpc3RzLnR4dCB8IDggKysrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvQ01ha2VMaXN0cy50eHQgYi9zcmMvQ01ha2VMaXN0cy50eHQKK2luZGV4IGUxOWNkYTIuLmI1NjU4MTQgMTAwNjQ0CistLS0gYS9zcmMvQ01ha2VMaXN0cy50eHQKKysrKyBiL3NyYy9DTWFrZUxpc3RzLnR4dAorQEAgLTMzNyw4ICszMzcsMTQgQEAgbWFjcm8oX3VwbV9zd2lnX3B5dGhvbikKKyAgICAgICBPVVRQVVRfTkFNRSBfcHl1cG1fJHtsaWJuYW1lfQorICAgICAgIExJQlJBUllfT1VUUFVUX0RJUkVDVE9SWSAke0NNQUtFX0NVUlJFTlRfUFlUSE9OX0JJTkFSWV9ESVJ9KQorIAorKyAgaWYgKENNQUtFX1ZFUlNJT04gVkVSU0lPTl9MRVNTICIzLjEyIikKKysgICAgIHNldChzdXBwb3J0X2ZpbGVzICR7c3dpZ19leHRyYV9nZW5lcmF0ZWRfZmlsZXN9KQorKyAgZWxzZSgpCisrICAgICBnZXRfcHJvcGVydHkoc3VwcG9ydF9maWxlcyBUQVJHRVQgXyR7cHl0aG9uX3dyYXBwZXJfbmFtZX0gUFJPUEVSVFkgU1dJR19TVVBQT1JUX0ZJTEVTKQorKyAgZW5kaWYoKQorKworICAgIyBJbnN0YWxsIC5weSdzIHRvIHB5dGhvbiBwYWNrYWdlcyBkaXJlY3RvcnkvdXBtCistICBpbnN0YWxsIChGSUxFUyAke3N3aWdfZXh0cmFfZ2VuZXJhdGVkX2ZpbGVzfQorKyAgaW5zdGFsbCAoRklMRVMgJHtzdXBwb3J0X2ZpbGVzfQorICAgICAgIERFU1RJTkFUSU9OICR7UFlUSE9OX1BBQ0tBR0VTX1BBVEh9L3VwbQorICAgICAgIENPTVBPTkVOVCAke0NNQUtFX1BST0pFQ1RfTkFNRX0tcHl0aG9uJHtQWVRIT05fVkVSU0lPTl9NQUpPUn0pCisgCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC91cG0vdXBtX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC91cG0vdXBtX2dpdC5iYgppbmRleCBiYWJlNWY0Li44ODU0YTMzIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdXBtL3VwbV9naXQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3VwbS91cG1fZ2l0LmJiCkBAIC0xMyw2ICsxMyw3IEBACiBTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vaW50ZWwtaW90LWRldmtpdC8ke0JQTn0uZ2l0O3Byb3RvY29sPWh0dHAgXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1SZXBsYWNlLXN0cm5jcHktd2l0aC1tZW1jcHkucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1pbmNsdWRlLXN5cy10eXBlcy5oLWZvci11aW50LWRlZmluaXRpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1DTWFrZUxpc3RzLnR4dC1Vc2UtU1dJR19TVVBQT1JUX0ZJTEVTLXRvLWZpbmQtdGhlLWxpLnBhdGNoIFwKICAgICAgICAgICAgIgogCiBTID0gIiR7V09SS0RJUn0vZ2l0IgpAQCAtMjAsNyArMjEsNyBAQAogIyBEZXBlbmRzIG9uIG1yYWEgd2hpY2ggb25seSBzdXBwb3J0cyB4ODYgYW5kIEFSTSBmb3Igbm93CiBDT01QQVRJQkxFX0hPU1QgPSAiKHg4Nl82NC4qfGkuODYuKnxhYXJjaDY0Lip8YXJtLiopLWxpbnV4IgogCi1pbmhlcml0IGRpc3R1dGlsczMtYmFzZSBjbWFrZQoraW5oZXJpdCBkaXN0dXRpbHMzLWJhc2UgY21ha2UgcGtnY29uZmlnCiAKICMgb3ZlcnJpZGUgdGhpcyBpbiBsb2NhbC5jb25mIHRvIGdldCBuZWVkZWQgYmluZGluZ3MuCiAjIEJJTkRJTkdTX3BuLXVwbT0icHl0aG9uIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3ZvbHVtZV9rZXkvdm9sdW1lLWtleV8wLjMuMTEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdm9sdW1lX2tleS92b2x1bWUta2V5XzAuMy4xMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzQxYjIwYy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdm9sdW1lX2tleS92b2x1bWUta2V5XzAuMy4xMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLURFU0NSSVBUSU9OID0gIlRoZSB2b2x1bWVfa2V5IHByb2plY3QgcHJvdmlkZXMgYSBsaWJ2b2x1bWVfa2V5LCBhIGxpYnJhcnkgZm9yIG1hbmlwdWxhdGluZyBcCi1zdG9yYWdlIHZvbHVtZSBlbmNyeXB0aW9uIGtleXMgYW5kIHN0b3JpbmcgdGhlbSBzZXBhcmF0ZWx5IGZyb20gdm9sdW1lcywgYW5kIGFuIFwKLWFzc29jaWF0ZWQgY29tbWFuZC1saW5lIHRvb2wsIG5hbWVkIHZvbHVtZV9rZXkuIgotTElDRU5TRSA9ICJHUEx2MiIKLVNFQ1RJT04gPSAiZGV2ZWwvbGliIgotCi1IT01FUEFHRSA9ICJodHRwczovL3BhZ3VyZS5pby92b2x1bWVfa2V5IgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKLQotU1JDX1VSSSA9ICJodHRwczovL3JlbGVhc2VzLnBhZ3VyZS5vcmcvdm9sdW1lX2tleS92b2x1bWVfa2V5LSR7UFZ9LnRhci54eiBcCi0iCi1TUkNfVVJJW21kNXN1bV0gPSAiMzBkZjU2Yzc3NDNlYjdjOTY1MjkzYjNkNjExOTQyMzIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTZiMjc5YzI1YWU0NzdiNTU1ZjkzOGRiMmU0MTgxOGY5MGM4Y2RlOTQyYjBlZWM5MmY3MGI2Yzc3MjA5NWY2ZCIKLQotU1JDTkFNRSA9ICJ2b2x1bWVfa2V5IgotUyA9ICIke1dPUktESVJ9LyR7U1JDTkFNRX0tJHtQVn0iCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHB5dGhvbjNuYXRpdmUgZ2V0dGV4dAotCi1ERVBFTkRTICs9ICIgXAotICAgIHV0aWwtbGludXggXAotICAgIGdsaWItMi4wIFwKLSAgICBjcnlwdHNldHVwIFwKLSAgICBuc3MgXAotICAgIGdwZ21lIFwKLSAgICBzd2lnLW5hdGl2ZSBcCi0iCi0KLVJERVBFTkRTX3B5dGhvbjMtJHtQTn0gKz0gIiR7UE59IgotCi1QQUNLQUdFUyArPSAicHl0aG9uMy0ke1BOfSIKLUZJTEVTX3B5dGhvbjMtJHtQTn0gPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vKiIKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3ZvbHVtZV9rZXkvdm9sdW1lLWtleV8wLjMuMTIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdm9sdW1lX2tleS92b2x1bWUta2V5XzAuMy4xMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOThjYTVjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3ZvbHVtZV9rZXkvdm9sdW1lLWtleV8wLjMuMTIuYmIKQEAgLTAsMCArMSwzOCBAQAorREVTQ1JJUFRJT04gPSAiVGhlIHZvbHVtZV9rZXkgcHJvamVjdCBwcm92aWRlcyBhIGxpYnZvbHVtZV9rZXksIGEgbGlicmFyeSBmb3IgbWFuaXB1bGF0aW5nIFwKK3N0b3JhZ2Ugdm9sdW1lIGVuY3J5cHRpb24ga2V5cyBhbmQgc3RvcmluZyB0aGVtIHNlcGFyYXRlbHkgZnJvbSB2b2x1bWVzLCBhbmQgYW4gXAorYXNzb2NpYXRlZCBjb21tYW5kLWxpbmUgdG9vbCwgbmFtZWQgdm9sdW1lX2tleS4iCitMSUNFTlNFID0gIkdQTHYyIgorU0VDVElPTiA9ICJkZXZlbC9saWIiCisKK0hPTUVQQUdFID0gImh0dHBzOi8vcGFndXJlLmlvL3ZvbHVtZV9rZXkiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitTUkNfVVJJID0gImh0dHBzOi8vcmVsZWFzZXMucGFndXJlLm9yZy92b2x1bWVfa2V5L3ZvbHVtZV9rZXktJHtQVn0udGFyLnh6IFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICIyMDA1OTEyOTAxNzNjM2VhNzE1Mjg0MTE4MzhmOTA4MCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2Y2EzNzQ4ZmMxZGFkMjJjNDUwYmJmNjYwMWQ0ZTcwNmNiMTFjNWU2NjJkMTFiYjRhZWI0NzNhOWNkNzczMDliIgorCitTUkNOQU1FID0gInZvbHVtZV9rZXkiCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfS0ke1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcHl0aG9uM25hdGl2ZSBnZXR0ZXh0CisKK0RFUEVORFMgKz0gIiBcCisgICAgdXRpbC1saW51eCBcCisgICAgZ2xpYi0yLjAgXAorICAgIGNyeXB0c2V0dXAgXAorICAgIG5zcyBcCisgICAgZ3BnbWUgXAorICAgIHN3aWctbmF0aXZlIFwKKyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gInB5dGhvbjMiCitQQUNLQUdFQ09ORklHW3B5dGhvbl0gPSAiLS13aXRoLXB5dGhvbiwtLXdpdGhvdXQtcHl0aG9uLHB5dGhvbixweXRob24iCitQQUNLQUdFQ09ORklHW3B5dGhvbjNdID0gIi0td2l0aC1weXRob24zLC0td2l0aG91dC1weXRob24zLHB5dGhvbjMscHl0aG9uMyIKKworUkRFUEVORFNfcHl0aG9uMy0ke1BOfSArPSAiJHtQTn0iCisKK1BBQ0tBR0VTICs9ICJweXRob24zLSR7UE59IgorRklMRVNfcHl0aG9uMy0ke1BOfSA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qIgorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvYXRrL2F0a21tXzIuMjQuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9hdGsvYXRrbW1fMi4yNC4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMDc3NzRiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9hdGsvYXRrbW1fMi4yNC4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotU1VNTUFSWSA9ICJDKysgYmluZGluZ3MgZm9yIHRoZSBhdGsiCi1TRUNUSU9OID0gImxpYnMiCi0KLUxJQ0VOU0UgPSAiTEdQTHYyLjEgJiBHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTJkNTAyNWQ0YWEzNDk1YmVmZWY4ZjE3MjA2YTViMGExIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcudG9vbHM7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgotCi1ERVBFTkRTID0gImF0ayBnbGlibW0iCi0KLWluaGVyaXQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIGdub21lIGF1dG90b29scyBwa2djb25maWcKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLQotU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiZDUzYjYwYjBmMWJlNTk3ZTg2MDcwOTU0YTQ5Y2YwYzMiCi1TUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJmZjk1Mzg1NzU5ZTJhZjIzODI4ZDQwNTYzNTZmMjUzNzZjZmFiYzQxZTY5MGFjMWRmMDU1MzcxNTM3ZTQ1OGJkIgotCi1FWFRSQV9PRUNPTkYgPSAiIC0tZGlzYWJsZS1kb2N1bWVudGF0aW9uICIKLQotRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vKi9pbmNsdWRlICR7bGliZGlyfS8qL3Byb2MvbTQiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvYXRrL2F0a21tXzIuMjguMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9hdGsvYXRrbW1fMi4yOC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzZjRmMDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvYXRrL2F0a21tXzIuMjguMC5iYgpAQCAtMCwwICsxLDE5IEBACitTVU1NQVJZID0gIkMrKyBiaW5kaW5ncyBmb3IgdGhlIGF0ayIKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJMR1BMdjIuMSAmIEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MmQ1MDI1ZDRhYTM0OTViZWZlZjhmMTcyMDZhNWIwYTEgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy50b29sczttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK0RFUEVORFMgPSAiYXRrIGdsaWJtbSIKKworaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgZ25vbWUgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI2MTk0YWM1NzdmMTU1NjdhZGZhM2M5MjM5NDRjNjY1MSIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjRjNGNmYzkxN2ZkNDJkMzg3OWNlOTk3YjQ2MzQyOGQ2OTgyYWZmYTBmYjY2MGNhZmNjMGJjMmQ5YWZjZWRkM2EiCisKK0VYVFJBX09FQ09ORiA9ICIgLS1kaXNhYmxlLWRvY3VtZW50YXRpb24gIgorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS8qL2luY2x1ZGUgJHtsaWJkaXJ9LyovcHJvYy9tNCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9ndGsrL2d0a21tM18zLjIyLjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGttbTNfMy4yMi4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NmI1NGRkLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9ndGsrL2d0a21tM18zLjIyLjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1TVU1NQVJZID0gIkMrKyBiaW5kaW5ncyBmb3IgdGhlIEdUSysgdG9vbGtpdCBWMyIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuZ3RrbW0ub3JnLyIKLVNFQ1RJT04gPSAibGlicyIKLQotTElDRU5TRSA9ICJMR1BMdjIuMSAmIEdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy50b29sczttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCi0KLURFUEVORFMgPSAiYXRrbW0gcGFuZ29tbSBnbGlibW0gZ3RrKzMgY2Fpcm9tbSIKLQotQlBOID0gImd0a21tIgotCi1pbmhlcml0IGdub21lYmFzZSBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLQotU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiODgzZTkwNDY3NjhiM2E1YWZjOGUzNjU5ODg4MjNlNzciCi1TUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI5MWFmZDk4YTMxNTE5NTM2ZjVmMzk3YzJkNzk2OTZlM2Q1MzE0M2I4MGI3NTc3ODUyMWNhN2I0OGNiMjgwMDkwIgotU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtZG8tbm90LWJ1aWxkLWRlbW9zLnBhdGNoIgotCi1FWFRSQV9PRUNPTkYgPSAiIC0tZGlzYWJsZS1kb2N1bWVudGF0aW9uICIKLQotRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vKi9pbmNsdWRlICR7bGliZGlyfS8qL3Byb2MvbTQiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGttbTNfMy4yNC4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2d0aysvZ3RrbW0zXzMuMjQuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZGQwNTEzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2d0aysvZ3RrbW0zXzMuMjQuMS5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gIkMrKyBiaW5kaW5ncyBmb3IgdGhlIEdUSysgdG9vbGtpdCBWMyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ3RrbW0ub3JnLyIKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJMR1BMdjIuMSAmIEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy50b29sczttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK0RFUEVORFMgPSAiYXRrbW0gcGFuZ29tbSBnbGlibW0gZ3RrKzMgY2Fpcm9tbSIKKworQlBOID0gImd0a21tIgorCitpbmhlcml0IGdub21lYmFzZSBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiOTUyNGVkNGU1YzgyMWQxM2VlZGE0OWJhMmE3OGYwMjQiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJkZGZlNDJlZDI0NThhMjBhMzRkZTI1Mjg1NGJjZjRiNTJkM2YwYzY3MWMwNDVmNTZiNDJhYTI3Yzc1NDJkMmZkIgorU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtZG8tbm90LWJ1aWxkLWRlbW9zLnBhdGNoIgorCitFWFRSQV9PRUNPTkYgPSAiIC0tZGlzYWJsZS1kb2N1bWVudGF0aW9uICIKKworRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vKi9pbmNsdWRlICR7bGliZGlyfS8qL3Byb2MvbTQiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvbGlicGVhcy9saWJwZWFzXzEuMjIuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9saWJwZWFzL2xpYnBlYXNfMS4yMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxZWFkMDYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvbGlicGVhcy9saWJwZWFzXzEuMjIuMC5iYgpAQCAtMCwwICsxLDI0IEBACitTVU1NQVJZID0gImxpYnBlYXMgaXMgYSBnb2JqZWN0LWJhc2VkIHBsdWdpbnMgZW5naW5lIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly93aWtpLmdub21lLm9yZy9Qcm9qZWN0cy9MaWJwZWFzIgorTElDRU5TRSA9ICJMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00YjU0YTFmZDU1YTQ0ODg2NWEwYjMyZDQxNTk4NzU5ZCIKKworREVQRU5EUyA9ICJnbm9tZS1jb21tb24gZ3RrKzMgaW50bHRvb2wtbmF0aXZlIgorCitpbmhlcml0IGdub21lYmFzZSBnb2JqZWN0LWludHJvc3BlY3Rpb24gZ3RrLWRvYyBndGstaWNvbi1jYWNoZQorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJhMjBkYzU1YzNmODhhZDA2ZGE5NDkxY2ZkN2RlNzU1OCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjViMmZjMGY1Mzk2MmIyNWJjYTEzMWE1ZWMwMTM5ZTZmZWY4ZTI1NDQ4MWI2ZTc3Nzk3NWY3YTFkMjcwMmE5NjIiCisKK1BBQ0tBR0VDT05GSUdbcHl0aG9uM10gPSAiLS1lbmFibGUtcHl0aG9uMywtLWRpc2FibGUtcHl0aG9uMyxweXRob24zLXB5Z29iamVjdCIKKworZXhwb3J0IEdJUl9FWFRSQV9MSUJTX1BBVEggPSAiJHtCfS9saWJwZWFzLy5saWJzIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tZGVtbyAke1BOfS1weXRob24zIgorRklMRVNfJHtQTn0tZGVtbyA9ICIgXAorICAgICR7YmluZGlyfS9wZWFzLWRlbW8gXAorICAgICR7bGliZGlyfS9wZWFzLWRlbW8gXAorIgorCitSREVQRU5EU18ke1BOfS1weXRob24zID0gInB5dGhvbjMtcHlnb2JqZWN0IgorRklMRVNfJHtQTn0tcHl0aG9uMyA9ICIke2xpYmRpcn0vbGlicGVhcy0xLjAvbG9hZGVycy9saWJweXRob24zbG9hZGVyLnNvIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2ZvbnRmb3JnZS9mb250Zm9yZ2VfMjAxNzA3MzEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZm9udGZvcmdlL2ZvbnRmb3JnZV8yMDE3MDczMS5iYgppbmRleCA5NDdkMzZlLi42NjFiNWU4IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZm9udGZvcmdlL2ZvbnRmb3JnZV8yMDE3MDczMS5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZm9udGZvcmdlL2ZvbnRmb3JnZV8yMDE3MDczMS5iYgpAQCAtNTQsNyArNTQsNyBAQAogICAgICR7ZGF0YWRpcn0vaWNvbnMgXAogIgogCi1GSUxFU18ke1BOfS1weXRob24gPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0gJHtkYXRhZGlyfS8ke1BOfS9weXRob24iCitGSUxFU18ke1BOfS1weXRob24gPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0gJHtkYXRhZGlyfS8ke0JQTn0vcHl0aG9uIgogUkRFUEVORFNfJHtQTn0tcHl0aG9uID0gInB5dGhvbiIKIAogIyBmb3IgZS5nIGtkZSdzIG94eWdlbi1mb250cwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2Z0Z2wvZnRnbC8wMDAxLUV4cGxpY2l0LXR5cGVjYXN0LXRvLWF2b2lkLWltcGxpY2l0LWRvdWJsZS10by1mbG9hdC0ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZnRnbC9mdGdsLzAwMDEtRXhwbGljaXQtdHlwZWNhc3QtdG8tYXZvaWQtaW1wbGljaXQtZG91YmxlLXRvLWZsb2F0LS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zODViZmY4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2Z0Z2wvZnRnbC8wMDAxLUV4cGxpY2l0LXR5cGVjYXN0LXRvLWF2b2lkLWltcGxpY2l0LWRvdWJsZS10by1mbG9hdC0ucGF0Y2gKQEAgLTAsMCArMSwzOCBAQAorRnJvbSBlM2JjZTk4YTYwZDZkYjNiNzE5YmJmNWQ3MWY3MzJmOWI4NmNiNTY2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFNhdCwgOSBGZWIgMjAxOSAwODoyODowOSAtMDgwMAorU3ViamVjdDogW1BBVENIXSBFeHBsaWNpdCB0eXBlY2FzdCB0byBhdm9pZCBpbXBsaWNpdCBkb3VibGUgdG8gZmxvYXQKKyBjb252ZXJzaW9uCisKK2ZpeGVzIGNvbXBpbGUgZXJyb3JzIGUuZy4KKworLi4vLi4vZnRnbC0yLjEuM35yYzUvZGVtby9zaW1wbGUuY3BwOjExMDoyNzogZXJyb3I6IG5vbi1jb25zdGFudC1leHByZXNzaW9uIGNhbm5vdCBiZSBuYXJyb3dlZCBmcm9tIHR5cGUgJ2RvdWJsZScgdG8KKyAgICAgICdmbG9hdCcgaW4gaW5pdGlhbGl6ZXIgbGlzdCBbLVdjKysxMS1uYXJyb3dpbmddCisgICAgICAgICAgICAgICAgICAgICAgICAgICh0MyArIDIuMCkgLyAzLCAwLjMgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn4KK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGRlbW8vc2ltcGxlLmNwcCB8IDYgKysrLS0tCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2RlbW8vc2ltcGxlLmNwcCBiL2RlbW8vc2ltcGxlLmNwcAoraW5kZXggNTMyZTg2Mi4uYWJhNTViNCAxMDA2NDQKKy0tLSBhL2RlbW8vc2ltcGxlLmNwcAorKysrIGIvZGVtby9zaW1wbGUuY3BwCitAQCAtMTA1LDkgKzEwNSw5IEBAIHN0YXRpYyB2b2lkIFJlbmRlclNjZW5lKHZvaWQpCisgICAgIGZsb2F0IHQyID0gc2luKG4gLyA1MCArIDEpOworICAgICBmbG9hdCB0MyA9IHNpbihuIC8gMzAgKyAyKTsKKyAKKy0gICAgZmxvYXQgYW1iaWVudFs0XSAgPSB7ICh0MSArIDIuMCkgLyAzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgKHQyICsgMi4wKSAvIDMsCistICAgICAgICAgICAgICAgICAgICAgICAgICAodDMgKyAyLjApIC8gMywgMC4zIH07CisrICAgIGZsb2F0IGFtYmllbnRbNF0gID0geyBmbG9hdCh0MSArIDIuMCkgLyAzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQodDIgKyAyLjApIC8gMywKKysgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0KHQzICsgMi4wKSAvIDMsIDAuMyB9OworICAgICBmbG9hdCBkaWZmdXNlWzRdICA9IHsgMS4wLCAwLjksIDAuOSwgMS4wIH07CisgICAgIGZsb2F0IHNwZWN1bGFyWzRdID0geyAxLjAsIDAuNywgMC43LCAxLjAgfTsKKyAgICAgZmxvYXQgcG9zaXRpb25bNF0gPSB7IDEwMC4wLCAxMDAuMCwgMC4wLCAxLjAgfTsKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9mdGdsL2Z0Z2wvMDAwMS11c2UtcGtnLWNvbmZpZy10by1maW5kLWZyZWV0eXBlMi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9mdGdsL2Z0Z2wvMDAwMS11c2UtcGtnLWNvbmZpZy10by1maW5kLWZyZWV0eXBlMi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZjAzY2QwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2Z0Z2wvZnRnbC8wMDAxLXVzZS1wa2ctY29uZmlnLXRvLWZpbmQtZnJlZXR5cGUyLnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK0Zyb20gOGJiMTgzOTI2MDc4YjZkZDU0MDQ4ZmI2ODIwODM4ZmU3YjZlNjE2MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IFN1biwgMjMgT2N0IDIwMTYgMjI6NDY6NDMgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gdXNlIHBrZy1jb25maWcgdG8gZmluZCBmcmVldHlwZTIKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVXBzdHJlYW0tU3RhdHVzOiBpbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgOSArKysrKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCA1MzU2MGVhLi5iNWJiNmEzIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC00MSw4ICs0MSwxMyBAQCBBQ19DSEVDS19GVU5DUyhzdHJuZHVwKQorIAorIEFDX1BBVEhfWAorIAorLUFDX0NIRUNLX0ZUMihbOS4wLjNdLFtdLAorLSAgICAgICAgICAgICBbQUNfTVNHX0VSUk9SKFtGcmVlVHlwZTIgaXMgcmVxdWlyZWQgdG8gY29tcGlsZSB0aGlzIGxpYnJhcnldKV0pCisrUEtHX0NIRUNLX01PRFVMRVMoRlQyLCBmcmVldHlwZTIsCisrICAgIENGTEFHUz0iJENGTEFHUyAkRlQyX0NGTEFHUyIKKysgICAgTElCUz0iJExJQlMgJEZUMl9MSUJTIiwKKysgICAgQUNfTVNHX0VSUk9SKFtGcmVlVHlwZTIgaXMgcmVxdWlyZWQgdG8gY29tcGlsZSB0aGlzIGxpYnJhcnldKQorKykKKytBQ19TVUJTVChbRlQyX0NGTEFHU10pCisrQUNfU1VCU1QoW0ZUMl9MSUJTXSkKKyAKKyBBQ19QQVRIX1hUUkEKKyAKKy0tIAorMi41LjUKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2Z0Z2wvZnRnbC8wMDAyLU1ha2VmaWxlLmFtLXJlbW92ZS11c2VsZXNzLWFuZC1icmVha2luZy1jb2RlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2Z0Z2wvZnRnbC8wMDAyLU1ha2VmaWxlLmFtLXJlbW92ZS11c2VsZXNzLWFuZC1icmVha2luZy1jb2RlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzMDc4M2UKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZnRnbC9mdGdsLzAwMDItTWFrZWZpbGUuYW0tcmVtb3ZlLXVzZWxlc3MtYW5kLWJyZWFraW5nLWNvZGUucGF0Y2gKQEAgLTAsMCArMSwzOCBAQAorRnJvbSBkYWFiYjQxMTA2NjFjNDM1OGVjNzMyOTNkNWMwYjIxMDZmNTY3YzFmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorRGF0ZTogU3VuLCAyMyBPY3QgMjAxNiAyMzo1NDoxNCArMDIwMAorU3ViamVjdDogW1BBVENIXSBNYWtlZmlsZS5hbTogcmVtb3ZlIHVzZWxlc3MgYW5kIGJyZWFraW5nIGNvZGUKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIE1ha2VmaWxlLmFtIHwgOSAtLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgOSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KK2luZGV4IDg5YThhN2YuLmU1ODJhMzQgMTAwNjQ0CistLS0gYS9NYWtlZmlsZS5hbQorKysrIGIvTWFrZWZpbGUuYW0KK0BAIC0yNCwxNSArMjQsNiBAQCBFWFRSQV9ESVNUID0gXAorIAltNCBcCisgCSQoTlVMTCkKKyAKKy0jIFByaW50IG91dCBhbiBpbmZvcm1hdGl2ZSBzdW1tYXJ5LgorLWFsbC1sb2NhbDoKKy0JQCQoRUNITykgIkRvbmUuIgorLQlAJChFQ0hPKQorLQlAaWYgdGVzdCAieCQoTUFLRUNNREdPQUxTKSIgPSAieGFsbC1hbSIgLW8gIngkKC5UQVJHRVRTKSIgPSAieGFsbC1hbSIgLW8gIngkKE1BS0VDTURHT0FMUykiID0gIngiIC1vICJ4JCguVEFSR0VUUykiID0gIngiIDsgdGhlbiBcCistCSAgJChFQ0hPKSAiLS0tIiA7XAorLQkgICQoRUNITykgIlJ1biAnbWFrZSBpbnN0YWxsJyB0byBiZWdpbiBpbnN0YWxsYXRpb24gaW50byAkKHByZWZpeCkiIDtcCistCWZpCistCUAkKEVDSE8pCisgCisgIyBVcGxvYWQgZG9jdW1lbnRhdGlvbgorIERPQyA9IGRvY3MvaHRtbCBkb2NzL2xhdGV4L2Z0Z2wucGRmCistLSAKKzIuNS41CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9mdGdsL2Z0Z2xfMi4xLjMtcmM1LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2Z0Z2wvZnRnbF8yLjEuMy1yYzUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzVlYWY0MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9mdGdsL2Z0Z2xfMi4xLjMtcmM1LmJiCkBAIC0wLDAgKzEsMjcgQEAKK1NVTU1BUlkgPSAiT3BlbkdMIGZyb250ZW5kIHRvIEZyZWV0eXBlIDIiCitIT01FUEFHRSA9ICJodHRwczovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9mdGdsLyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTI3YTgzZTkyYzdiZjM2MzAyNTM4MGVlYzA1ZGY2ZTQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIm9wZW5nbCIKKworREVQRU5EUyArPSAiIFwKKyAgICBmcmVldHlwZSBcCisgICAgZnJlZWdsdXQgXAorIgorCitTUkNfVVJJID0gIiBcCisgICAgJHtTT1VSQ0VGT1JHRV9NSVJST1J9LyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCisgICAgZmlsZTovLzAwMDEtdXNlLXBrZy1jb25maWctdG8tZmluZC1mcmVldHlwZTIucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAyLU1ha2VmaWxlLmFtLXJlbW92ZS11c2VsZXNzLWFuZC1icmVha2luZy1jb2RlLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMS1FeHBsaWNpdC10eXBlY2FzdC10by1hdm9pZC1pbXBsaWNpdC1kb3VibGUtdG8tZmxvYXQtLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJjNzg3OTAxOGNkZTg0NDA1OTQ5NWIzMDI5YjBiNjUwMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1MjFmZjdiZDYyYzQ1OWZmNTM3MmUyNjljMjIzZTJhNjEwN2E2YTk5YTM2YWZkYzJhZTYzNGE5NzNhZjcwYzU5IgorCitTID0gIiR7V09SS0RJUn0vZnRnbC0yLjEuM35yYzUiCisKKyMgdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBzeW1ib2wgJ3NpbkBAR0xJQkNfMi40JworQ0ZMQUdTICs9ICItbG0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ2xtL2ZpbGVzLzAwMDEtTWFrZS1HTE1fRU5BQkxFX0VYUEVSSU1FTlRBTC1hLWNvbmZpZ3VyYWJsZS1vcHRpb24ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ2xtL2ZpbGVzLzAwMDEtTWFrZS1HTE1fRU5BQkxFX0VYUEVSSU1FTlRBTC1hLWNvbmZpZ3VyYWJsZS1vcHRpb24ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ2OWM1YWYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dsbS9maWxlcy8wMDAxLU1ha2UtR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwtYS1jb25maWd1cmFibGUtb3B0aW9uLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODYwICswLDAgQEAKLUZyb20gOTlhOTY3NmEwMTkzZjYyOTFkNzIwMmQ3YWY3MmUyNDU4MGFiZTU2NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDE2IE1hciAyMDE4IDEzOjU1OjI5ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8yXSBNYWtlIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGEgY29uZmlndXJhYmxlIG9wdGlvbgotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1JdCBzZWVtcyB0aGF0IGVycm9yaW5nIG91dCBpZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBpcyBub3Qgc2V0IHR1cm5zIGludG8KLXBhY2thZ2VycyBuaWdodG1hcmU6IFRoZXJlIGFyZSBwYWNrYWdlcyBhcm91bmQgZXhwZWN0aW5nIGdseCBoZWFkZXJzLiBFLmcKLWxpYmdsdGYgWzFdIGZhaWxzIGR1cmluZyBjb25maWd1cmUgY2hlY2tpbmcgZm9yIHVzYWJsZSBoZWFkZXJzIEFORCBkdXJpbmcKLWNvbXBpbGUuIFBhdGljdWxhcmx5IGZpeGluZyBjb25maWd1cmUgZm9yIHRob3NlIHBhY2thZ2VzIGlzIHRpbWUtY29uc3VtaW5nOgotVGhlIG9ubHkgd2F5IChjb3JyZWN0IG1lIGlmIEkgYW0gd3JvbmcpIGlzIGNyZWF0aW5nIGEgcGF0Y2ggYWRkaW5nCi0KLUFDX0RFRklORShbR0xNX0VOQUJMRV9FWFBFUklNRU5UQUxdLCBbMV0sIFtnbG0gbmVlZHMgdGhpcyBmb3IgZ3R4IGhlYWRlcnNdKQotCi1CeSBhZGRpbmcgYSBjb25maWd1cmUgb3B0aW9uICdHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCcsIHRoZSBkZWNpc2lvbiB0byB1c2UKLWdsbS9nbHggaXMgZG9uZSBhdCBvbmUgKGFuZCB0aGUgcmlnaHQpIHBsYWNlLgotCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotCi1bMV0gaHR0cHM6Ly9nZXJyaXQubGlicmVvZmZpY2Uub3JnL2dpdHdlYj9wPWxpYmdsdGYuZ2l0Ci0KLVVwdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgWzJdCi0KLVsyXSBodHRwczovL2dpdGh1Yi5jb20vZy10cnVjL2dsbS9wdWxsLzc0MQotLS0tCi0gQ01ha2VMaXN0cy50eHQgICAgICAgICAgICAgICAgICAgICAgfCA2ICsrKysrKwotIGdsbS9DTWFrZUxpc3RzLnR4dCAgICAgICAgICAgICAgICAgIHwgMiArKwotIGdsbS9leHBlcmltZW50YWwuaHBwLmluICAgICAgICAgICAgIHwgMSArCi0gZ2xtL2V4dC5ocHAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L2Fzc29jaWF0ZWRfbWluX21heC5ocHAgICAgICB8IDEgKwotIGdsbS9ndHgvYml0LmhwcCAgICAgICAgICAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9jbG9zZXN0X3BvaW50LmhwcCAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L2NvbG9yX3NwYWNlLmhwcCAgICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvY29sb3Jfc3BhY2VfWUNvQ2cuaHBwICAgICAgIHwgMSArCi0gZ2xtL2d0eC9jb21tb24uaHBwICAgICAgICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L2NvbXBhdGliaWxpdHkuaHBwICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvY29tcG9uZW50X3dpc2UuaHBwICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9kdWFsX3F1YXRlcm5pb24uaHBwICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L2V1bGVyX2FuZ2xlcy5ocHAgICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvZXh0ZW5kLmhwcCAgICAgICAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9leHRlbmRlZF9taW5fbWF4LmhwcCAgICAgICAgfCAxICsKLSBnbG0vZ3R4L2Zhc3RfZXhwb25lbnRpYWwuaHBwICAgICAgICB8IDEgKwotIGdsbS9ndHgvZmFzdF9zcXVhcmVfcm9vdC5ocHAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9mYXN0X3RyaWdvbm9tZXRyeS5ocHAgICAgICAgfCAxICsKLSBnbG0vZ3R4L2dyYWRpZW50X3BhaW50LmhwcCAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvaGFuZGVkX2Nvb3JkaW5hdGVfc3BhY2UuaHBwIHwgMSArCi0gZ2xtL2d0eC9oYXNoLmhwcCAgICAgICAgICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L2ludGVnZXIuaHBwICAgICAgICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvaW50ZXJzZWN0LmhwcCAgICAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9pby5ocHAgICAgICAgICAgICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L2xvZ19iYXNlLmhwcCAgICAgICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvbWF0cml4X2Nyb3NzX3Byb2R1Y3QuaHBwICAgIHwgMSArCi0gZ2xtL2d0eC9tYXRyaXhfZGVjb21wb3NlLmhwcCAgICAgICAgfCAxICsKLSBnbG0vZ3R4L21hdHJpeF9mYWN0b3Jpc2F0aW9uLmhwcCAgICB8IDEgKwotIGdsbS9ndHgvbWF0cml4X2ludGVycG9sYXRpb24uaHBwICAgIHwgMSArCi0gZ2xtL2d0eC9tYXRyaXhfbWFqb3Jfc3RvcmFnZS5ocHAgICAgfCAxICsKLSBnbG0vZ3R4L21hdHJpeF9vcGVyYXRpb24uaHBwICAgICAgICB8IDEgKwotIGdsbS9ndHgvbWF0cml4X3F1ZXJ5LmhwcCAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9tYXRyaXhfdHJhbnNmb3JtXzJkLmhwcCAgICAgfCAxICsKLSBnbG0vZ3R4L21peGVkX3Byb2R1Y3QuaHBwICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvbm9ybS5ocHAgICAgICAgICAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9ub3JtYWwuaHBwICAgICAgICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L25vcm1hbGl6ZV9kb3QuaHBwICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvbnVtYmVyX3ByZWNpc2lvbi5ocHAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9vcHRpbXVtX3Bvdy5ocHAgICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L29ydGhvbm9ybWFsaXplLmhwcCAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvcGVycGVuZGljdWxhci5ocHAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9wb2xhcl9jb29yZGluYXRlcy5ocHAgICAgICAgfCAxICsKLSBnbG0vZ3R4L3Byb2plY3Rpb24uaHBwICAgICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvcXVhdGVybmlvbi5ocHAgICAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9yYW5nZS5ocHAgICAgICAgICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L3Jhd19kYXRhLmhwcCAgICAgICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvcm90YXRlX25vcm1hbGl6ZWRfYXhpcy5ocHAgIHwgMSArCi0gZ2xtL2d0eC9yb3RhdGVfdmVjdG9yLmhwcCAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L3NjYWxhcl9tdWx0aXBsaWNhdGlvbi5ocHAgICB8IDEgKwotIGdsbS9ndHgvc2NhbGFyX3JlbGF0aW9uYWwuaHBwICAgICAgIHwgMSArCi0gZ2xtL2d0eC9zcGxpbmUuaHBwICAgICAgICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L3N0ZF9iYXNlZF90eXBlLmhwcCAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvc3RyaW5nX2Nhc3QuaHBwICAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC90ZXh0dXJlLmhwcCAgICAgICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L3RyYW5zZm9ybS5ocHAgICAgICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvdHJhbnNmb3JtMi5ocHAgICAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC90eXBlX2FsaWduZWQuaHBwICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L3R5cGVfdHJhaXQuaHBwICAgICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvdmVjX3N3aXp6bGUuaHBwICAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC92ZWN0b3JfYW5nbGUuaHBwICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L3ZlY3Rvcl9xdWVyeS5ocHAgICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvd3JhcC5ocHAgICAgICAgICAgICAgICAgICAgIHwgMSArCi0gNjMgZmlsZXMgY2hhbmdlZCwgNjkgaW5zZXJ0aW9ucygrKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnbG0vZXhwZXJpbWVudGFsLmhwcC5pbgotCi1kaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAotaW5kZXggZTUxNTliMGYuLmJkNGRkNjU0IDEwMDY0NAotLS0tIGEvQ01ha2VMaXN0cy50eHQKLSsrKyBiL0NNYWtlTGlzdHMudHh0Ci1AQCAtODIsNiArODIsMTEgQEAgb3B0aW9uKEdMTV9URVNUX0VOQUJMRV9TSU1EX0FWWCAiRW5hYmxlIEFWWCBvcHRpbWl6YXRpb25zIiBPRkYpCi0gb3B0aW9uKEdMTV9URVNUX0VOQUJMRV9TSU1EX0FWWDIgIkVuYWJsZSBBVlgyIG9wdGltaXphdGlvbnMiIE9GRikKLSBvcHRpb24oR0xNX1RFU1RfRk9SQ0VfUFVSRSAiRm9yY2UgJ3B1cmUnIGluc3RydWN0aW9ucyIgT0ZGKQotIAotK29wdGlvbihHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCAiRW5hYmxlIGV4cGVyaW1lbnRhbCBHTE1fR1RYIiBPRkYpCi0rY29uZmlndXJlX2ZpbGUoZ2xtL2V4cGVyaW1lbnRhbC5ocHAuaW4gZXhwZXJpbWVudGFsLmhwcCBAT05MWSkKLStpbmNsdWRlX2RpcmVjdG9yaWVzKCR7Q01BS0VfQklOQVJZX0RJUn0vZ2xtKQotK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtDTUFLRV9CSU5BUllfRElSfSkKLSsKLSBpZihHTE1fVEVTVF9GT1JDRV9QVVJFKQotIAlhZGRfZGVmaW5pdGlvbnMoLURHTE1fRk9SQ0VfUFVSRSkKLSAKLUBAIC0xNjcsNiArMTcyLDcgQEAgb3B0aW9uKEdMTV9JTlNUQUxMX0VOQUJMRSAiR0xNIGluc3RhbGwiIE9OKQotIHNldChHTE1fSU5TVEFMTF9DT05GSUdESVIgIiR7Q01BS0VfSU5TVEFMTF9MSUJESVJ9L2NtYWtlL2dsbSIpCi0gaWYgKEdMTV9JTlNUQUxMX0VOQUJMRSkKLSAJaW5zdGFsbChESVJFQ1RPUlkgZ2xtIERFU1RJTkFUSU9OICR7Q01BS0VfSU5TVEFMTF9JTkNMVURFRElSfSkKLSsJaW5zdGFsbChGSUxFUyAiJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L2V4cGVyaW1lbnRhbC5ocHAiIERFU1RJTkFUSU9OICR7Q01BS0VfSU5TVEFMTF9JTkNMVURFRElSfS9nbG0pCi0gZW5kaWYoKQotIAotIHdyaXRlX2Jhc2ljX3BhY2thZ2VfdmVyc2lvbl9maWxlKCIke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vZ2xtQ29uZmlnVmVyc2lvbi5jbWFrZSIgVkVSU0lPTiAke0dMTV9WRVJTSU9OfSBDT01QQVRJQklMSVRZIEFueU5ld2VyVmVyc2lvbikKLWRpZmYgLS1naXQgYS9nbG0vQ01ha2VMaXN0cy50eHQgYi9nbG0vQ01ha2VMaXN0cy50eHQKLWluZGV4IGRmOWM5ZWU1Li5kYzVkYjRiYyAxMDA2NDQKLS0tLSBhL2dsbS9DTWFrZUxpc3RzLnR4dAotKysrIGIvZ2xtL0NNYWtlTGlzdHMudHh0Ci1AQCAtNDMsNiArNDMsOCBAQCBzb3VyY2VfZ3JvdXAoIlNJTUQgRmlsZXMiIEZJTEVTICR7U0lNRF9JTkxJTkV9KQotIHNvdXJjZV9ncm91cCgiU0lNRCBGaWxlcyIgRklMRVMgJHtTSU1EX0hFQURFUn0pCi0gCi0gaW5jbHVkZV9kaXJlY3Rvcmllcygke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4pCi0rIyBtYWtlIG91dC1vZiB0cmVlIGJ1aWxkcyBmaW5kIGV4cGVyaW1lbnRhbC5ocHAKLStpbmNsdWRlX2RpcmVjdG9yaWVzKCR7Q01BS0VfQklOQVJZX0RJUn0vZ2xtKQotIAotIGlmKEdMTV9TVEFUSUNfTElCUkFSWV9FTkFCTEUgT1IgR0xNX0RZTkFNSUNfTElCUkFSWV9FTkFCTEUpCi0gCWlmKEdMTV9TVEFUSUNfTElCUkFSWV9FTkFCTEUpCi1kaWZmIC0tZ2l0IGEvZ2xtL2V4cGVyaW1lbnRhbC5ocHAuaW4gYi9nbG0vZXhwZXJpbWVudGFsLmhwcC5pbgotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwLi5iZmFiNTEzOAotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2xtL2V4cGVyaW1lbnRhbC5ocHAuaW4KLUBAIC0wLDAgKzEgQEAKLSsjY21ha2VkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLWRpZmYgLS1naXQgYS9nbG0vZXh0LmhwcCBiL2dsbS9leHQuaHBwCi1pbmRleCBkMDg1YmZkNS4uYTI5NDg0NDcgMTAwNjQ0Ci0tLS0gYS9nbG0vZXh0LmhwcAotKysrIGIvZ2xtL2V4dC5ocHAKLUBAIC0zOSw2ICszOSw3IEBACi0gIwlpbmNsdWRlICIuL2d0Yy90eXBlX2FsaWduZWQuaHBwIgotICNlbmRpZgotIAotKyNpbmNsdWRlICJleHBlcmltZW50YWwuaHBwIgotICNpZmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICNpbmNsdWRlICIuL2d0eC9hc3NvY2lhdGVkX21pbl9tYXguaHBwIgotICNpbmNsdWRlICIuL2d0eC9iaXQuaHBwIgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvYXNzb2NpYXRlZF9taW5fbWF4LmhwcCBiL2dsbS9ndHgvYXNzb2NpYXRlZF9taW5fbWF4LmhwcAotaW5kZXggMGM5OTM1ZjMuLmQwMGMyYmM0IDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9hc3NvY2lhdGVkX21pbl9tYXguaHBwCi0rKysgYi9nbG0vZ3R4L2Fzc29jaWF0ZWRfbWluX21heC5ocHAKLUBAIC0xNiw2ICsxNiw3IEBACi0gLy8gRGVwZW5kZW5jeToKLSAjaW5jbHVkZSAiLi4vZ2xtLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHVFhfYXNzb2NpYXRlZF9taW5fbWF4IGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9iaXQuaHBwIGIvZ2xtL2d0eC9iaXQuaHBwCi1pbmRleCAxNDQ3ZmEwMC4uMzE5NTcwODMgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L2JpdC5ocHAKLSsrKyBiL2dsbS9ndHgvYml0LmhwcAotQEAgLTE1LDYgKzE1LDcgQEAKLSAvLyBEZXBlbmRlbmNpZXMKLSAjaW5jbHVkZSAiLi4vZ3RjL2JpdGZpZWxkLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX2JpdCBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvY2xvc2VzdF9wb2ludC5ocHAgYi9nbG0vZ3R4L2Nsb3Nlc3RfcG9pbnQuaHBwCi1pbmRleCA2ODU5YmI5Ni4uZWJkOWZlNWEgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L2Nsb3Nlc3RfcG9pbnQuaHBwCi0rKysgYi9nbG0vZ3R4L2Nsb3Nlc3RfcG9pbnQuaHBwCi1AQCAtMTUsNiArMTUsNyBAQAotIC8vIERlcGVuZGVuY3k6Ci0gI2luY2x1ZGUgIi4uL2dsbS5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9jbG9zZXN0X3BvaW50IGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9jb2xvcl9zcGFjZS5ocHAgYi9nbG0vZ3R4L2NvbG9yX3NwYWNlLmhwcAotaW5kZXggZDFlNjU1YzMuLjUxNDE2ODE5IDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9jb2xvcl9zcGFjZS5ocHAKLSsrKyBiL2dsbS9ndHgvY29sb3Jfc3BhY2UuaHBwCi1AQCAtMTUsNiArMTUsNyBAQAotIC8vIERlcGVuZGVuY3k6Ci0gI2luY2x1ZGUgIi4uL2dsbS5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9jb2xvcl9zcGFjZSBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvY29sb3Jfc3BhY2VfWUNvQ2cuaHBwIGIvZ2xtL2d0eC9jb2xvcl9zcGFjZV9ZQ29DZy5ocHAKLWluZGV4IGU4MmNiZDhiLi43YWU3MTA0MSAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvY29sb3Jfc3BhY2VfWUNvQ2cuaHBwCi0rKysgYi9nbG0vZ3R4L2NvbG9yX3NwYWNlX1lDb0NnLmhwcAotQEAgLTE1LDYgKzE1LDcgQEAKLSAvLyBEZXBlbmRlbmN5OgotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfY29sb3Jfc3BhY2VfWUNvQ2cgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L2NvbW1vbi5ocHAgYi9nbG0vZ3R4L2NvbW1vbi5ocHAKLWluZGV4IDgwODFiZmY3Li41N2E2OGE4ZCAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvY29tbW9uLmhwcAotKysrIGIvZ2xtL2d0eC9jb21tb24uaHBwCi1AQCAtMTgsNiArMTgsNyBAQAotICNpbmNsdWRlICIuLi92ZWM0LmhwcCIKLSAjaW5jbHVkZSAiLi4vZ3RjL3ZlYzEuaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfY29tbW9uIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9jb21wYXRpYmlsaXR5LmhwcCBiL2dsbS9ndHgvY29tcGF0aWJpbGl0eS5ocHAKLWluZGV4IGU1YjYwMzk5Li45ODc2NjY5YyAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvY29tcGF0aWJpbGl0eS5ocHAKLSsrKyBiL2dsbS9ndHgvY29tcGF0aWJpbGl0eS5ocHAKLUBAIC0xNiw2ICsxNiw3IEBACi0gI2luY2x1ZGUgIi4uL2dsbS5ocHAiCi0gI2luY2x1ZGUgIi4uL2d0Yy9xdWF0ZXJuaW9uLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX2NvbXBhdGliaWxpdHkgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L2NvbXBvbmVudF93aXNlLmhwcCBiL2dsbS9ndHgvY29tcG9uZW50X3dpc2UuaHBwCi1pbmRleCAzOWJhYjVkNS4uNGZlMGU0ZTIgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L2NvbXBvbmVudF93aXNlLmhwcAotKysrIGIvZ2xtL2d0eC9jb21wb25lbnRfd2lzZS5ocHAKLUBAIC0xOCw2ICsxOCw3IEBACi0gI2luY2x1ZGUgIi4uL2RldGFpbC9zZXR1cC5ocHAiCi0gI2luY2x1ZGUgIi4uL2RldGFpbC9xdWFsaWZpZXIuaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfY29tcG9uZW50X3dpc2UgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L2R1YWxfcXVhdGVybmlvbi5ocHAgYi9nbG0vZ3R4L2R1YWxfcXVhdGVybmlvbi5ocHAKLWluZGV4IGM0MzQzZTlkLi5kNTlmYjQ1OSAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvZHVhbF9xdWF0ZXJuaW9uLmhwcAotKysrIGIvZ2xtL2d0eC9kdWFsX3F1YXRlcm5pb24uaHBwCi1AQCAtMjAsNiArMjAsNyBAQAotICNpbmNsdWRlICIuLi9ndGMvY29uc3RhbnRzLmhwcCIKLSAjaW5jbHVkZSAiLi4vZ3RjL3F1YXRlcm5pb24uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfZHVhbF9xdWF0ZXJuaW9uIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9ldWxlcl9hbmdsZXMuaHBwIGIvZ2xtL2d0eC9ldWxlcl9hbmdsZXMuaHBwCi1pbmRleCBlNjZlOTI4MS4uYWQ1OTg4YzEgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L2V1bGVyX2FuZ2xlcy5ocHAKLSsrKyBiL2dsbS9ndHgvZXVsZXJfYW5nbGVzLmhwcAotQEAgLTE1LDYgKzE1LDcgQEAKLSAvLyBEZXBlbmRlbmN5OgotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfZXVsZXJfYW5nbGVzIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9leHRlbmQuaHBwIGIvZ2xtL2d0eC9leHRlbmQuaHBwCi1pbmRleCBlZGE0ZTQ3MC4uY2RlNmRiNjMgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L2V4dGVuZC5ocHAKLSsrKyBiL2dsbS9ndHgvZXh0ZW5kLmhwcAotQEAgLTE1LDYgKzE1LDcgQEAKLSAvLyBEZXBlbmRlbmN5OgotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfZXh0ZW5kIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9leHRlbmRlZF9taW5fbWF4LmhwcCBiL2dsbS9ndHgvZXh0ZW5kZWRfbWluX21heC5ocHAKLWluZGV4IDNlNzY3YjBjLi4wYmNmZmNjNiAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvZXh0ZW5kZWRfbWluX21heC5ocHAKLSsrKyBiL2dsbS9ndHgvZXh0ZW5kZWRfbWluX21heC5ocHAKLUBAIC0xNSw2ICsxNSw3IEBACi0gLy8gRGVwZW5kZW5jeToKLSAjaW5jbHVkZSAiLi4vZ2xtLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX2V4dGVudGVkX21pbl9tYXggaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L2Zhc3RfZXhwb25lbnRpYWwuaHBwIGIvZ2xtL2d0eC9mYXN0X2V4cG9uZW50aWFsLmhwcAotaW5kZXggMmQ0OTE4ZTcuLmU2ZDExZjBhIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9mYXN0X2V4cG9uZW50aWFsLmhwcAotKysrIGIvZ2xtL2d0eC9mYXN0X2V4cG9uZW50aWFsLmhwcAotQEAgLTE2LDYgKzE2LDcgQEAKLSAvLyBEZXBlbmRlbmN5OgotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfZmFzdF9leHBvbmVudGlhbCBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvZmFzdF9zcXVhcmVfcm9vdC5ocHAgYi9nbG0vZ3R4L2Zhc3Rfc3F1YXJlX3Jvb3QuaHBwCi1pbmRleCAxZTFlYzNjZi4uZjc1OGFlZWYgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L2Zhc3Rfc3F1YXJlX3Jvb3QuaHBwCi0rKysgYi9nbG0vZ3R4L2Zhc3Rfc3F1YXJlX3Jvb3QuaHBwCi1AQCAtMTksNiArMTksNyBAQAotICNpbmNsdWRlICIuLi9leHBvbmVudGlhbC5ocHAiCi0gI2luY2x1ZGUgIi4uL2dlb21ldHJpYy5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9mYXN0X3NxdWFyZV9yb290IGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9mYXN0X3RyaWdvbm9tZXRyeS5ocHAgYi9nbG0vZ3R4L2Zhc3RfdHJpZ29ub21ldHJ5LmhwcAotaW5kZXggNzM5MDY1ZmIuLmYxMzMyOTU4IDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9mYXN0X3RyaWdvbm9tZXRyeS5ocHAKLSsrKyBiL2dsbS9ndHgvZmFzdF90cmlnb25vbWV0cnkuaHBwCi1AQCAtMTUsNiArMTUsNyBAQAotIC8vIERlcGVuZGVuY3k6Ci0gI2luY2x1ZGUgIi4uL2d0Yy9jb25zdGFudHMuaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfZmFzdF90cmlnb25vbWV0cnkgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L2dyYWRpZW50X3BhaW50LmhwcCBiL2dsbS9ndHgvZ3JhZGllbnRfcGFpbnQuaHBwCi1pbmRleCAyNzEzY2VjMC4uZDQ3MDM5OTEgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L2dyYWRpZW50X3BhaW50LmhwcAotKysrIGIvZ2xtL2d0eC9ncmFkaWVudF9wYWludC5ocHAKLUBAIC0xNyw2ICsxNyw3IEBACi0gI2luY2x1ZGUgIi4uL2dsbS5ocHAiCi0gI2luY2x1ZGUgIi4uL2d0eC9vcHRpbXVtX3Bvdy5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9ncmFkaWVudF9wYWludCBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvaGFuZGVkX2Nvb3JkaW5hdGVfc3BhY2UuaHBwIGIvZ2xtL2d0eC9oYW5kZWRfY29vcmRpbmF0ZV9zcGFjZS5ocHAKLWluZGV4IDFkMGQ0MTA0Li4zYTUyZGRjZiAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvaGFuZGVkX2Nvb3JkaW5hdGVfc3BhY2UuaHBwCi0rKysgYi9nbG0vZ3R4L2hhbmRlZF9jb29yZGluYXRlX3NwYWNlLmhwcAotQEAgLTE1LDYgKzE1LDcgQEAKLSAvLyBEZXBlbmRlbmN5OgotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfaGFuZGVkX2Nvb3JkaW5hdGVfc3BhY2UgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L2hhc2guaHBwIGIvZ2xtL2d0eC9oYXNoLmhwcAotaW5kZXggZmU4YTNlZmQuLjkyYmZjOWIyIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9oYXNoLmhwcAotKysrIGIvZ2xtL2d0eC9oYXNoLmhwcAotQEAgLTEyLDYgKzEyLDcgQEAKLSAKLSAjcHJhZ21hIG9uY2UKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX2hhc2ggaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L2ludGVnZXIuaHBwIGIvZ2xtL2d0eC9pbnRlZ2VyLmhwcAotaW5kZXggOTY2MzdhMTMuLjVkMWExNmM2IDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9pbnRlZ2VyLmhwcAotKysrIGIvZ2xtL2d0eC9pbnRlZ2VyLmhwcAotQEAgLTE2LDYgKzE2LDcgQEAKLSAjaW5jbHVkZSAiLi4vZ2xtLmhwcCIKLSAjaW5jbHVkZSAiLi4vZ3RjL2ludGVnZXIuaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfaW50ZWdlciBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvaW50ZXJzZWN0LmhwcCBiL2dsbS9ndHgvaW50ZXJzZWN0LmhwcAotaW5kZXggNjFlMjIyNmEuLjQ4OTViYTkzIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9pbnRlcnNlY3QuaHBwCi0rKysgYi9nbG0vZ3R4L2ludGVyc2VjdC5ocHAKLUBAIC0yMSw2ICsyMSw3IEBACi0gI2luY2x1ZGUgIi4uL2d0eC9jbG9zZXN0X3BvaW50LmhwcCIKLSAjaW5jbHVkZSAiLi4vZ3R4L3ZlY3Rvcl9xdWVyeS5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9jbG9zZXN0X3BvaW50IGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9pby5ocHAgYi9nbG0vZ3R4L2lvLmhwcAotaW5kZXggNDlhMWVjMTEuLmFlMzljZDYwIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9pby5ocHAKLSsrKyBiL2dsbS9ndHgvaW8uaHBwCi1AQCAtMjMsNiArMjMsNyBAQAotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotICNpbmNsdWRlICIuLi9ndHgvcXVhdGVybmlvbi5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9pbyBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvbG9nX2Jhc2UuaHBwIGIvZ2xtL2d0eC9sb2dfYmFzZS5ocHAKLWluZGV4IGU4NzNlMzU2Li40NWI4ZDUzYyAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvbG9nX2Jhc2UuaHBwCi0rKysgYi9nbG0vZ3R4L2xvZ19iYXNlLmhwcAotQEAgLTE1LDYgKzE1LDcgQEAKLSAvLyBEZXBlbmRlbmN5OgotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfbG9nX2Jhc2UgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L21hdHJpeF9jcm9zc19wcm9kdWN0LmhwcCBiL2dsbS9ndHgvbWF0cml4X2Nyb3NzX3Byb2R1Y3QuaHBwCi1pbmRleCA5Njc3NDNiOC4uNTJkNmMxNzMgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L21hdHJpeF9jcm9zc19wcm9kdWN0LmhwcAotKysrIGIvZ2xtL2d0eC9tYXRyaXhfY3Jvc3NfcHJvZHVjdC5ocHAKLUBAIC0xNiw2ICsxNiw3IEBACi0gLy8gRGVwZW5kZW5jeToKLSAjaW5jbHVkZSAiLi4vZ2xtLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX21hdHJpeF9jcm9zc19wcm9kdWN0IGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9tYXRyaXhfZGVjb21wb3NlLmhwcCBiL2dsbS9ndHgvbWF0cml4X2RlY29tcG9zZS5ocHAKLWluZGV4IGI3ZWMwZTgzLi42NzkzZmVlMiAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvbWF0cml4X2RlY29tcG9zZS5ocHAKLSsrKyBiL2dsbS9ndHgvbWF0cml4X2RlY29tcG9zZS5ocHAKLUBAIC0yMCw2ICsyMCw3IEBACi0gI2luY2x1ZGUgIi4uL2d0Yy9xdWF0ZXJuaW9uLmhwcCIKLSAjaW5jbHVkZSAiLi4vZ3RjL21hdHJpeF90cmFuc2Zvcm0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfbWF0cml4X2RlY29tcG9zZSBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvbWF0cml4X2ZhY3RvcmlzYXRpb24uaHBwIGIvZ2xtL2d0eC9tYXRyaXhfZmFjdG9yaXNhdGlvbi5ocHAKLWluZGV4IGUzMGE3NzQ2Li43OWMyOTNiZSAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvbWF0cml4X2ZhY3RvcmlzYXRpb24uaHBwCi0rKysgYi9nbG0vZ3R4L21hdHJpeF9mYWN0b3Jpc2F0aW9uLmhwcAotQEAgLTE1LDYgKzE1LDcgQEAKLSAvLyBEZXBlbmRlbmN5OgotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfbWF0cml4X2ZhY3RvcmlzYXRpb24gaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L21hdHJpeF9pbnRlcnBvbGF0aW9uLmhwcCBiL2dsbS9ndHgvbWF0cml4X2ludGVycG9sYXRpb24uaHBwCi1pbmRleCA4OWM0NTk2Yy4uNzk5OTgzYmIgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L21hdHJpeF9pbnRlcnBvbGF0aW9uLmhwcAotKysrIGIvZ2xtL2d0eC9tYXRyaXhfaW50ZXJwb2xhdGlvbi5ocHAKLUBAIC0xNiw2ICsxNiw3IEBACi0gLy8gRGVwZW5kZW5jeToKLSAjaW5jbHVkZSAiLi4vZ2xtLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX21hdHJpeF9pbnRlcnBvbGF0aW9uIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9tYXRyaXhfbWFqb3Jfc3RvcmFnZS5ocHAgYi9nbG0vZ3R4L21hdHJpeF9tYWpvcl9zdG9yYWdlLmhwcAotaW5kZXggN2YyNjRhNTkuLmU2ODQ2N2NkIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9tYXRyaXhfbWFqb3Jfc3RvcmFnZS5ocHAKLSsrKyBiL2dsbS9ndHgvbWF0cml4X21ham9yX3N0b3JhZ2UuaHBwCi1AQCAtMTYsNiArMTYsNyBAQAotIC8vIERlcGVuZGVuY3k6Ci0gI2luY2x1ZGUgIi4uL2dsbS5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9tYXRyaXhfbWFqb3Jfc3RvcmFnZSBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvbWF0cml4X29wZXJhdGlvbi5ocHAgYi9nbG0vZ3R4L21hdHJpeF9vcGVyYXRpb24uaHBwCi1pbmRleCBiY2U5MzhiYi4uMWU4NWJiNWUgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L21hdHJpeF9vcGVyYXRpb24uaHBwCi0rKysgYi9nbG0vZ3R4L21hdHJpeF9vcGVyYXRpb24uaHBwCi1AQCAtMTUsNiArMTUsNyBAQAotIC8vIERlcGVuZGVuY3k6Ci0gI2luY2x1ZGUgIi4uL2dsbS5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9tYXRyaXhfb3BlcmF0aW9uIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9tYXRyaXhfcXVlcnkuaHBwIGIvZ2xtL2d0eC9tYXRyaXhfcXVlcnkuaHBwCi1pbmRleCA1ZGY1ZjUyZi4uZWVjMWVlYzAgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L21hdHJpeF9xdWVyeS5ocHAKLSsrKyBiL2dsbS9ndHgvbWF0cml4X3F1ZXJ5LmhwcAotQEAgLTE4LDYgKzE4LDcgQEAKLSAjaW5jbHVkZSAiLi4vZ3R4L3ZlY3Rvcl9xdWVyeS5ocHAiCi0gI2luY2x1ZGUgPGxpbWl0cz4KLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX21hdHJpeF9xdWVyeSBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvbWF0cml4X3RyYW5zZm9ybV8yZC5ocHAgYi9nbG0vZ3R4L21hdHJpeF90cmFuc2Zvcm1fMmQuaHBwCi1pbmRleCAyMzlhYjlmNC4uM2NhOGQyZjIgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L21hdHJpeF90cmFuc2Zvcm1fMmQuaHBwCi0rKysgYi9nbG0vZ3R4L21hdHJpeF90cmFuc2Zvcm1fMmQuaHBwCi1AQCAtMTcsNiArMTcsNyBAQAotICNpbmNsdWRlICIuLi9tYXQzeDMuaHBwIgotICNpbmNsdWRlICIuLi92ZWMyLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX21hdHJpeF90cmFuc2Zvcm1fMmQgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L21peGVkX3Byb2R1Y3QuaHBwIGIvZ2xtL2d0eC9taXhlZF9wcm9kdWN0LmhwcAotaW5kZXggNTg1NjJhYWIuLjVjNzQ2MGQ1IDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9taXhlZF9wcm9kdWN0LmhwcAotKysrIGIvZ2xtL2d0eC9taXhlZF9wcm9kdWN0LmhwcAotQEAgLTE1LDYgKzE1LDcgQEAKLSAvLyBEZXBlbmRlbmN5OgotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfbWl4ZWRfcHJvZHVjdCBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvbm9ybS5ocHAgYi9nbG0vZ3R4L25vcm0uaHBwCi1pbmRleCA0NjQ3NGUwNy4uM2NmMmMzZWEgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L25vcm0uaHBwCi0rKysgYi9nbG0vZ3R4L25vcm0uaHBwCi1AQCAtMTcsNiArMTcsNyBAQAotICNpbmNsdWRlICIuLi9nZW9tZXRyaWMuaHBwIgotICNpbmNsdWRlICIuLi9ndHgvcXVhdGVybmlvbi5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9ub3JtIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9ub3JtYWwuaHBwIGIvZ2xtL2d0eC9ub3JtYWwuaHBwCi1pbmRleCAxNWNlYzljMi4uN2JiNGMwOTYgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L25vcm1hbC5ocHAKLSsrKyBiL2dsbS9ndHgvbm9ybWFsLmhwcAotQEAgLTE2LDYgKzE2LDcgQEAKLSAvLyBEZXBlbmRlbmN5OgotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfbm9ybWFsIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9ub3JtYWxpemVfZG90LmhwcCBiL2dsbS9ndHgvbm9ybWFsaXplX2RvdC5ocHAKLWluZGV4IDg2MDQ4ZTcwLi5jNjYwNGRhNCAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvbm9ybWFsaXplX2RvdC5ocHAKLSsrKyBiL2dsbS9ndHgvbm9ybWFsaXplX2RvdC5ocHAKLUBAIC0xNiw2ICsxNiw3IEBACi0gLy8gRGVwZW5kZW5jeToKLSAjaW5jbHVkZSAiLi4vZ3R4L2Zhc3Rfc3F1YXJlX3Jvb3QuaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfbm9ybWFsaXplX2RvdCBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvbnVtYmVyX3ByZWNpc2lvbi5ocHAgYi9nbG0vZ3R4L251bWJlcl9wcmVjaXNpb24uaHBwCi1pbmRleCAzNzMyYTU2Yy4uYjQ4ODQ1ZjcgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L251bWJlcl9wcmVjaXNpb24uaHBwCi0rKysgYi9nbG0vZ3R4L251bWJlcl9wcmVjaXNpb24uaHBwCi1AQCAtMTgsNiArMTgsNyBAQAotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotICNpbmNsdWRlICIuLi9ndGMvdHlwZV9wcmVjaXNpb24uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfbnVtYmVyX3ByZWNpc2lvbiBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvb3B0aW11bV9wb3cuaHBwIGIvZ2xtL2d0eC9vcHRpbXVtX3Bvdy5ocHAKLWluZGV4IGViMDlmMWMzLi45NGE2YmJiMiAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvb3B0aW11bV9wb3cuaHBwCi0rKysgYi9nbG0vZ3R4L29wdGltdW1fcG93LmhwcAotQEAgLTE1LDYgKzE1LDcgQEAKLSAvLyBEZXBlbmRlbmN5OgotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfb3B0aW11bV9wb3cgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L29ydGhvbm9ybWFsaXplLmhwcCBiL2dsbS9ndHgvb3J0aG9ub3JtYWxpemUuaHBwCi1pbmRleCAyYTY4NGVlNC4uNGZmNDdlNTMgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L29ydGhvbm9ybWFsaXplLmhwcAotKysrIGIvZ2xtL2d0eC9vcnRob25vcm1hbGl6ZS5ocHAKLUBAIC0xOCw2ICsxOCw3IEBACi0gI2luY2x1ZGUgIi4uL21hdDN4My5ocHAiCi0gI2luY2x1ZGUgIi4uL2dlb21ldHJpYy5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9vcnRob25vcm1hbGl6ZSBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvcGVycGVuZGljdWxhci5ocHAgYi9nbG0vZ3R4L3BlcnBlbmRpY3VsYXIuaHBwCi1pbmRleCAzNTYwMWFjNy4uMTcyNTFlYmUgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L3BlcnBlbmRpY3VsYXIuaHBwCi0rKysgYi9nbG0vZ3R4L3BlcnBlbmRpY3VsYXIuaHBwCi1AQCAtMTcsNiArMTcsNyBAQAotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotICNpbmNsdWRlICIuLi9ndHgvcHJvamVjdGlvbi5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9wZXJwZW5kaWN1bGFyIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9wb2xhcl9jb29yZGluYXRlcy5ocHAgYi9nbG0vZ3R4L3BvbGFyX2Nvb3JkaW5hdGVzLmhwcAotaW5kZXggYjg0MjFkYjQuLjUxMjUyMTVkIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9wb2xhcl9jb29yZGluYXRlcy5ocHAKLSsrKyBiL2dsbS9ndHgvcG9sYXJfY29vcmRpbmF0ZXMuaHBwCi1AQCAtMTUsNiArMTUsNyBAQAotIC8vIERlcGVuZGVuY3k6Ci0gI2luY2x1ZGUgIi4uL2dsbS5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9wb2xhcl9jb29yZGluYXRlcyBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvcHJvamVjdGlvbi5ocHAgYi9nbG0vZ3R4L3Byb2plY3Rpb24uaHBwCi1pbmRleCA5YTI0YWJmOS4uNGQ1YmY3NmYgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L3Byb2plY3Rpb24uaHBwCi0rKysgYi9nbG0vZ3R4L3Byb2plY3Rpb24uaHBwCi1AQCAtMTUsNiArMTUsNyBAQAotIC8vIERlcGVuZGVuY3k6Ci0gI2luY2x1ZGUgIi4uL2dlb21ldHJpYy5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9wcm9qZWN0aW9uIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9xdWF0ZXJuaW9uLmhwcCBiL2dsbS9ndHgvcXVhdGVybmlvbi5ocHAKLWluZGV4IGMzZDk5YTVjLi44MDhiYTBmZCAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvcXVhdGVybmlvbi5ocHAKLSsrKyBiL2dsbS9ndHgvcXVhdGVybmlvbi5ocHAKLUBAIC0xOSw2ICsxOSw3IEBACi0gI2luY2x1ZGUgIi4uL2d0Yy9xdWF0ZXJuaW9uLmhwcCIKLSAjaW5jbHVkZSAiLi4vZ3R4L25vcm0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfcXVhdGVybmlvbiBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvcmFuZ2UuaHBwIGIvZ2xtL2d0eC9yYW5nZS5ocHAKLWluZGV4IGUwZWY0NmFmLi4wM2M3OTdjMyAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvcmFuZ2UuaHBwCi0rKysgYi9nbG0vZ3R4L3JhbmdlLmhwcAotQEAgLTE1LDYgKzE1LDcgQEAKLSAvLyBEZXBlbmRlbmNpZXMKLSAjaW5jbHVkZSAiLi4vZGV0YWlsL3NldHVwLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX3JhbmdlIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9yYXdfZGF0YS5ocHAgYi9nbG0vZ3R4L3Jhd19kYXRhLmhwcAotaW5kZXggZmIzNGM4Y2IuLjAwODRmZWM2IDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9yYXdfZGF0YS5ocHAKLSsrKyBiL2dsbS9ndHgvcmF3X2RhdGEuaHBwCi1AQCAtMTYsNiArMTYsNyBAQAotICNpbmNsdWRlICIuLi9kZXRhaWwvc2V0dXAuaHBwIgotICNpbmNsdWRlICIuLi9kZXRhaWwvdHlwZV9pbnQuaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfcmF3X2RhdGEgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L3JvdGF0ZV9ub3JtYWxpemVkX2F4aXMuaHBwIGIvZ2xtL2d0eC9yb3RhdGVfbm9ybWFsaXplZF9heGlzLmhwcAotaW5kZXggZWVlOTBkNmUuLjgyNjEyOTI4IDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9yb3RhdGVfbm9ybWFsaXplZF9heGlzLmhwcAotKysrIGIvZ2xtL2d0eC9yb3RhdGVfbm9ybWFsaXplZF9heGlzLmhwcAotQEAgLTE5LDYgKzE5LDcgQEAKLSAjaW5jbHVkZSAiLi4vZ3RjL2Vwc2lsb24uaHBwIgotICNpbmNsdWRlICIuLi9ndGMvcXVhdGVybmlvbi5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9yb3RhdGVfbm9ybWFsaXplZF9heGlzIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9yb3RhdGVfdmVjdG9yLmhwcCBiL2dsbS9ndHgvcm90YXRlX3ZlY3Rvci5ocHAKLWluZGV4IGM4YWNlODllLi5lOTU0YjA0MSAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvcm90YXRlX3ZlY3Rvci5ocHAKLSsrKyBiL2dsbS9ndHgvcm90YXRlX3ZlY3Rvci5ocHAKLUBAIC0xNyw2ICsxNyw3IEBACi0gI2luY2x1ZGUgIi4uL2dsbS5ocHAiCi0gI2luY2x1ZGUgIi4uL2d0eC90cmFuc2Zvcm0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfcm90YXRlX3ZlY3RvciBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvc2NhbGFyX211bHRpcGxpY2F0aW9uLmhwcCBiL2dsbS9ndHgvc2NhbGFyX211bHRpcGxpY2F0aW9uLmhwcAotaW5kZXggYjczZWRmNjcuLjIyYmFhNTJhIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9zY2FsYXJfbXVsdGlwbGljYXRpb24uaHBwCi0rKysgYi9nbG0vZ3R4L3NjYWxhcl9tdWx0aXBsaWNhdGlvbi5ocHAKLUBAIC0xNiw2ICsxNiw3IEBACi0gCi0gI2luY2x1ZGUgIi4uL2RldGFpbC9zZXR1cC5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9zY2FsYXJfbXVsdGlwbGljYXRpb24gaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L3NjYWxhcl9yZWxhdGlvbmFsLmhwcCBiL2dsbS9ndHgvc2NhbGFyX3JlbGF0aW9uYWwuaHBwCi1pbmRleCA3ZmM4YzFjYy4uZjIxZjNiMmIgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L3NjYWxhcl9yZWxhdGlvbmFsLmhwcAotKysrIGIvZ2xtL2d0eC9zY2FsYXJfcmVsYXRpb25hbC5ocHAKLUBAIC0xNSw2ICsxNSw3IEBACi0gLy8gRGVwZW5kZW5jeToKLSAjaW5jbHVkZSAiLi4vZ2xtLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX2V4dGVuZCBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvc3BsaW5lLmhwcCBiL2dsbS9ndHgvc3BsaW5lLmhwcAotaW5kZXggZjk2ZDdlMDcuLjc2MzU5Y2ZkIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9zcGxpbmUuaHBwCi0rKysgYi9nbG0vZ3R4L3NwbGluZS5ocHAKLUBAIC0xNiw2ICsxNiw3IEBACi0gI2luY2x1ZGUgIi4uL2dsbS5ocHAiCi0gI2luY2x1ZGUgIi4uL2d0eC9vcHRpbXVtX3Bvdy5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9zcGxpbmUgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L3N0ZF9iYXNlZF90eXBlLmhwcCBiL2dsbS9ndHgvc3RkX2Jhc2VkX3R5cGUuaHBwCi1pbmRleCA1NWEyZjA3NC4uOTI1MzJiOWUgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L3N0ZF9iYXNlZF90eXBlLmhwcAotKysrIGIvZ2xtL2d0eC9zdGRfYmFzZWRfdHlwZS5ocHAKLUBAIC0xNyw2ICsxNyw3IEBACi0gI2luY2x1ZGUgIi4uL2dsbS5ocHAiCi0gI2luY2x1ZGUgPGNzdGRsaWI+Ci0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9zdGRfYmFzZWRfdHlwZSBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvc3RyaW5nX2Nhc3QuaHBwIGIvZ2xtL2d0eC9zdHJpbmdfY2FzdC5ocHAKLWluZGV4IDRiNGUyODBmLi5kZmNkNTA4NSAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvc3RyaW5nX2Nhc3QuaHBwCi0rKysgYi9nbG0vZ3R4L3N0cmluZ19jYXN0LmhwcAotQEAgLTI0LDYgKzI0LDcgQEAKLSAjaW5jbHVkZSA8c3RyaW5nPgotICNpbmNsdWRlIDxjbWF0aD4KLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX3N0cmluZ19jYXN0IGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC90ZXh0dXJlLmhwcCBiL2dsbS9ndHgvdGV4dHVyZS5ocHAKLWluZGV4IDMxMmJmMzk4Li43YWYxODVmNiAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvdGV4dHVyZS5ocHAKLSsrKyBiL2dsbS9ndHgvdGV4dHVyZS5ocHAKLUBAIC0xNyw2ICsxNyw3IEBACi0gI2luY2x1ZGUgIi4uL2d0Yy9pbnRlZ2VyLmhwcCIKLSAjaW5jbHVkZSAiLi4vZ3R4L2NvbXBvbmVudF93aXNlLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX3RleHR1cmUgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L3RyYW5zZm9ybS5ocHAgYi9nbG0vZ3R4L3RyYW5zZm9ybS5ocHAKLWluZGV4IGQyM2I5OWNlLi41YTVkOTYxOSAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvdHJhbnNmb3JtLmhwcAotKysrIGIvZ2xtL2d0eC90cmFuc2Zvcm0uaHBwCi1AQCAtMTksNiArMTksNyBAQAotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotICNpbmNsdWRlICIuLi9ndGMvbWF0cml4X3RyYW5zZm9ybS5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF90cmFuc2Zvcm0gaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L3RyYW5zZm9ybTIuaHBwIGIvZ2xtL2d0eC90cmFuc2Zvcm0yLmhwcAotaW5kZXggODVmNWJlYTQuLjVkN2M4M2ZjIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC90cmFuc2Zvcm0yLmhwcAotKysrIGIvZ2xtL2d0eC90cmFuc2Zvcm0yLmhwcAotQEAgLTE3LDYgKzE3LDcgQEAKLSAjaW5jbHVkZSAiLi4vZ2xtLmhwcCIKLSAjaW5jbHVkZSAiLi4vZ3R4L3RyYW5zZm9ybS5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF90cmFuc2Zvcm0yIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC90eXBlX2FsaWduZWQuaHBwIGIvZ2xtL2d0eC90eXBlX2FsaWduZWQuaHBwCi1pbmRleCA2ZmY5ZjI3Ni4uNmFkOTJmYWQgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L3R5cGVfYWxpZ25lZC5ocHAKLSsrKyBiL2dsbS9ndHgvdHlwZV9hbGlnbmVkLmhwcAotQEAgLTE4LDYgKzE4LDcgQEAKLSAvLyBEZXBlbmRlbmN5OgotICNpbmNsdWRlICIuLi9ndGMvdHlwZV9wcmVjaXNpb24uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfdHlwZV9hbGlnbmVkIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC90eXBlX3RyYWl0LmhwcCBiL2dsbS9ndHgvdHlwZV90cmFpdC5ocHAKLWluZGV4IDYzN2JiZDE5Li42NTUxOWNhYiAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvdHlwZV90cmFpdC5ocHAKLSsrKyBiL2dsbS9ndHgvdHlwZV90cmFpdC5ocHAKLUBAIC0xMiw2ICsxMiw3IEBACi0gCi0gI3ByYWdtYSBvbmNlCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF90eXBlX3RyYWl0IGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC92ZWNfc3dpenpsZS5ocHAgYi9nbG0vZ3R4L3ZlY19zd2l6emxlLmhwcAotaW5kZXggZGFlYmFjMzguLjEzZDUyM2RjIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC92ZWNfc3dpenpsZS5ocHAKLSsrKyBiL2dsbS9ndHgvdmVjX3N3aXp6bGUuaHBwCi1AQCAtMTQsNiArMTQsNyBAQAotIAotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfdmVjX3N3aXp6bGUgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L3ZlY3Rvcl9hbmdsZS5ocHAgYi9nbG0vZ3R4L3ZlY3Rvcl9hbmdsZS5ocHAKLWluZGV4IDQwMWE0N2ViLi45OGM5ZDExMCAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvdmVjdG9yX2FuZ2xlLmhwcAotKysrIGIvZ2xtL2d0eC92ZWN0b3JfYW5nbGUuaHBwCi1AQCAtMjAsNiArMjAsNyBAQAotICNpbmNsdWRlICIuLi9ndHgvcXVhdGVybmlvbi5ocHAiCi0gI2luY2x1ZGUgIi4uL2d0eC9yb3RhdGVfdmVjdG9yLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX3ZlY3Rvcl9hbmdsZSBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvdmVjdG9yX3F1ZXJ5LmhwcCBiL2dsbS9ndHgvdmVjdG9yX3F1ZXJ5LmhwcAotaW5kZXggNjU2MGVhYTUuLjVhYjFmZmRhIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC92ZWN0b3JfcXVlcnkuaHBwCi0rKysgYi9nbG0vZ3R4L3ZlY3Rvcl9xdWVyeS5ocHAKLUBAIC0xNyw2ICsxNyw3IEBACi0gI2luY2x1ZGUgPGNmbG9hdD4KLSAjaW5jbHVkZSA8bGltaXRzPgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfdmVjdG9yX3F1ZXJ5IGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC93cmFwLmhwcCBiL2dsbS9ndHgvd3JhcC5ocHAKLWluZGV4IDJjNGI1NWRmLi41YmYyNmEzMyAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvd3JhcC5ocHAKLSsrKyBiL2dsbS9ndHgvd3JhcC5ocHAKLUBAIC0xNiw2ICsxNiw3IEBACi0gI2luY2x1ZGUgIi4uL2dsbS5ocHAiCi0gI2luY2x1ZGUgIi4uL2d0Yy92ZWMxLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX3dyYXAgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLS0tIAotMi4xNC4zCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9nbG0vZmlsZXMvMDAwMi1nbG0taW5zdGFsbC1oZWFkZXJzLW9ubHkucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ2xtL2ZpbGVzLzAwMDItZ2xtLWluc3RhbGwtaGVhZGVycy1vbmx5LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYmUzMzE4Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9nbG0vZmlsZXMvMDAwMi1nbG0taW5zdGFsbC1oZWFkZXJzLW9ubHkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBACi1Gcm9tIDdmZGQzNmQ3NDk2MjM4ZTAzZTQzZmNjMzI4MzlmNzU1ODgxMTZjNWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotRGF0ZTogRnJpLCAxNiBNYXIgMjAxOCAxNTo0NDo0OCArMDEwMAotU3ViamVjdDogW1BBVENIIDIvMl0gZ2xtOiBpbnN0YWxsIGhlYWRlcnMgb25seQotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1QbGF1c2liaWxpdHkgY2hlY2sgaW4gcm9vdCBzb3VyY2UgcGF0aAotCi0kIGZpbmQgZ2xtIC10eXBlIGYgISAtbmFtZSAnKi5ocHAnICEgLW5hbWUgJyouaCcgISAtbmFtZSAnKi5pbmwnCi1nbG0vZGV0YWlsL2dsbS5jcHAKLWdsbS9kZXRhaWwvZHVtbXkuY3BwCi1nbG0vZXhwZXJpbWVudGFsLmhwcC5pbgotZ2xtL0NNYWtlTGlzdHMudHh0Ci0KLVNpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+Ci0KLVVwdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgWzFdCi0KLVsxXSBodHRwczovL2dpdGh1Yi5jb20vZy10cnVjL2dsbS9wdWxsLzc0MQotLS0tCi0gQ01ha2VMaXN0cy50eHQgfCA3ICsrKysrKy0KLSAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0Ci1pbmRleCBiZDRkZDY1NC4uMTEzZGQ3MzUgMTAwNjQ0Ci0tLS0gYS9DTWFrZUxpc3RzLnR4dAotKysrIGIvQ01ha2VMaXN0cy50eHQKLUBAIC0xNzEsNyArMTcxLDEyIEBAIG9wdGlvbihHTE1fSU5TVEFMTF9FTkFCTEUgIkdMTSBpbnN0YWxsIiBPTikKLSAKLSBzZXQoR0xNX0lOU1RBTExfQ09ORklHRElSICIke0NNQUtFX0lOU1RBTExfTElCRElSfS9jbWFrZS9nbG0iKQotIGlmIChHTE1fSU5TVEFMTF9FTkFCTEUpCi0tCWluc3RhbGwoRElSRUNUT1JZIGdsbSBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfSU5DTFVERURJUn0pCi0rCWluc3RhbGwoRElSRUNUT1JZIGdsbQotKwkJREVTVElOQVRJT04gJHtDTUFLRV9JTlNUQUxMX0lOQ0xVREVESVJ9Ci0rCQlGSUxFU19NQVRDSElORwotKwkJCVBBVFRFUk4gIiouaCIKLSsJCQlQQVRURVJOICIqLmhwcCIKLSsJCQlQQVRURVJOICIqLmlubCIpCi0gCWluc3RhbGwoRklMRVMgIiR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9leHBlcmltZW50YWwuaHBwIiBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfSU5DTFVERURJUn0vZ2xtKQotIGVuZGlmKCkKLSAKLS0tIAotMi4xNC4zCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9nbG0vZ2xtLzAwMDEtZ2xtLVJlbW92ZS1yZWR1bmRhbnQtZG91YmxlLXNlbWktY29sb25zLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dsbS9nbG0vMDAwMS1nbG0tUmVtb3ZlLXJlZHVuZGFudC1kb3VibGUtc2VtaS1jb2xvbnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmU1MGYyYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9nbG0vZ2xtLzAwMDEtZ2xtLVJlbW92ZS1yZWR1bmRhbnQtZG91YmxlLXNlbWktY29sb25zLnBhdGNoCkBAIC0wLDAgKzEsMTIwIEBACitGcm9tIDNmNjg2OWUzOTJiMDYxZjI5MzJmM2RmMTU1YjZjYzM3ZTNlN2QzNDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogRnJpLCAxIE1hciAyMDE5IDEwOjU2OjA1IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGdsbTogUmVtb3ZlIHJlZHVuZGFudCBkb3VibGUgc2VtaS1jb2xvbnMKKworTWFrZSBjbGFuZyBoYXBweQorL2dsbS9ndGMvLi4vZXh0Ly4uL2RldGFpbC8uLi9zaW1kL2NvbW1vbi5oOjEwNjo0NTogZXJyb3I6IGVtcHR5IGV4cHJlc3Npb24gc3RhdGVtZW50IGhhcyBubyBlZmZlY3Q7IHJlbW92ZSB1bm5lY2Vzc2FyeSAnOycgdG8gc2lsZW5jZSB0aGlzIHdhcm5pbmcgWy1XZXJyb3IsLVdleHRyYS1zZW1pLXN0bXRdCit8ICAgICAgICAgZ2xtX3ZlYzQgY29uc3Qgb3IwID0gX21tX29yX3BzKGFuZDAsIGFuZDEpOzsKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorfCAxIGVycm9yIGdlbmVyYXRlZC4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9nLXRydWMvZ2xtL3B1bGwvODc0XQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgZ2xtL2d0eC9hc3NvY2lhdGVkX21pbl9tYXguaW5sICAgICAgfCA4ICsrKystLS0tCisgZ2xtL3NpbWQvY29tbW9uLmggICAgICAgICAgICAgICAgICAgfCAyICstCisgdGVzdC9jb3JlL2NvcmVfZnVuY19leHBvbmVudGlhbC5jcHAgfCA2ICsrKy0tLQorIHRlc3QvZ3R4L2d0eF9lYXNpbmcuY3BwICAgICAgICAgICAgIHwgNCArKy0tCisgNCBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2dsbS9ndHgvYXNzb2NpYXRlZF9taW5fbWF4LmlubCBiL2dsbS9ndHgvYXNzb2NpYXRlZF9taW5fbWF4LmlubAoraW5kZXggMWE0NTlhZGQuLjUxODZjNDcxIDEwMDY0NAorLS0tIGEvZ2xtL2d0eC9hc3NvY2lhdGVkX21pbl9tYXguaW5sCisrKysgYi9nbG0vZ3R4L2Fzc29jaWF0ZWRfbWluX21heC5pbmwKK0BAIC04Niw3ICs4Niw3IEBAIEdMTV9GVU5DX1FVQUxJRklFUiBVIGFzc29jaWF0ZWRNaW4KKyApCisgeworIAlUIFRlc3QxID0gbWluKHgsIHkpOworLQlUIFRlc3QyID0gbWluKHosIHcpOzsKKysJVCBUZXN0MiA9IG1pbih6LCB3KTsKKyAJVSBSZXN1bHQxID0geCA8IHkgPyBhIDogYjsKKyAJVSBSZXN1bHQyID0geiA8IHcgPyBjIDogZDsKKyAJVSBSZXN1bHQgPSBUZXN0MSA8IFRlc3QyID8gUmVzdWx0MSA6IFJlc3VsdDI7CitAQCAtMTUyLDcgKzE1Miw3IEBAIEdMTV9GVU5DX1FVQUxJRklFUiB2ZWM8TCwgVSwgUT4gYXNzb2NpYXRlZE1pbgorIAlmb3IobGVuZ3RoX3QgaSA9IDAsIG4gPSBSZXN1bHQubGVuZ3RoKCk7IGkgPCBuOyArK2kpCisgCXsKKyAJCVQgVGVzdDEgPSBtaW4oeFtpXSwgeVtpXSk7CistCQlUIFRlc3QyID0gbWluKHpbaV0sIHdbaV0pOzsKKysJCVQgVGVzdDIgPSBtaW4oeltpXSwgd1tpXSk7CisgCQlVIFJlc3VsdDEgPSB4W2ldIDwgeVtpXSA/IGEgOiBiOworIAkJVSBSZXN1bHQyID0geltpXSA8IHdbaV0gPyBjIDogZDsKKyAJCVJlc3VsdFtpXSA9IFRlc3QxIDwgVGVzdDIgPyBSZXN1bHQxIDogUmVzdWx0MjsKK0BAIC0yNzgsNyArMjc4LDcgQEAgR0xNX0ZVTkNfUVVBTElGSUVSIFUgYXNzb2NpYXRlZE1heAorICkKKyB7CisgCVQgVGVzdDEgPSBtYXgoeCwgeSk7CistCVQgVGVzdDIgPSBtYXgoeiwgdyk7OworKwlUIFRlc3QyID0gbWF4KHosIHcpOworIAlVIFJlc3VsdDEgPSB4ID4geSA/IGEgOiBiOworIAlVIFJlc3VsdDIgPSB6ID4gdyA/IGMgOiBkOworIAlVIFJlc3VsdCA9IFRlc3QxID4gVGVzdDIgPyBSZXN1bHQxIDogUmVzdWx0MjsKK0BAIC0zNDQsNyArMzQ0LDcgQEAgR0xNX0ZVTkNfUVVBTElGSUVSIHZlYzxMLCBVLCBRPiBhc3NvY2lhdGVkTWF4CisgCWZvcihsZW5ndGhfdCBpID0gMCwgbiA9IFJlc3VsdC5sZW5ndGgoKTsgaSA8IG47ICsraSkKKyAJeworIAkJVCBUZXN0MSA9IG1heCh4W2ldLCB5W2ldKTsKKy0JCVQgVGVzdDIgPSBtYXgoeltpXSwgd1tpXSk7OworKwkJVCBUZXN0MiA9IG1heCh6W2ldLCB3W2ldKTsKKyAJCVUgUmVzdWx0MSA9IHhbaV0gPiB5W2ldID8gYSA6IGI7CisgCQlVIFJlc3VsdDIgPSB6W2ldID4gd1tpXSA/IGMgOiBkOworIAkJUmVzdWx0W2ldID0gVGVzdDEgPiBUZXN0MiA/IFJlc3VsdDEgOiBSZXN1bHQyOworZGlmZiAtLWdpdCBhL2dsbS9zaW1kL2NvbW1vbi5oIGIvZ2xtL3NpbWQvY29tbW9uLmgKK2luZGV4IGQwNzkyMGEzLi45YjAxN2NiNCAxMDA2NDQKKy0tLSBhL2dsbS9zaW1kL2NvbW1vbi5oCisrKysgYi9nbG0vc2ltZC9jb21tb24uaAorQEAgLTEwMyw3ICsxMDMsNyBAQCBHTE1fRlVOQ19RVUFMSUZJRVIgZ2xtX3ZlYzQgZ2xtX3ZlYzRfc2lnbihnbG1fdmVjNCB4KQorIAlnbG1fdmVjNCBjb25zdCBjbXAxID0gX21tX2NtcGd0X3BzKHgsIHpybzApOworIAlnbG1fdmVjNCBjb25zdCBhbmQwID0gX21tX2FuZF9wcyhjbXAwLCBfbW1fc2V0MV9wcygtMS4wZikpOworIAlnbG1fdmVjNCBjb25zdCBhbmQxID0gX21tX2FuZF9wcyhjbXAxLCBfbW1fc2V0MV9wcygxLjBmKSk7CistCWdsbV92ZWM0IGNvbnN0IG9yMCA9IF9tbV9vcl9wcyhhbmQwLCBhbmQxKTs7CisrCWdsbV92ZWM0IGNvbnN0IG9yMCA9IF9tbV9vcl9wcyhhbmQwLCBhbmQxKTsKKyAJcmV0dXJuIG9yMDsKKyB9CisgCitkaWZmIC0tZ2l0IGEvdGVzdC9jb3JlL2NvcmVfZnVuY19leHBvbmVudGlhbC5jcHAgYi90ZXN0L2NvcmUvY29yZV9mdW5jX2V4cG9uZW50aWFsLmNwcAoraW5kZXggYTQxNGE0ZTkuLjM4MGNkZmIxIDEwMDY0NAorLS0tIGEvdGVzdC9jb3JlL2NvcmVfZnVuY19leHBvbmVudGlhbC5jcHAKKysrKyBiL3Rlc3QvY29yZS9jb3JlX2Z1bmNfZXhwb25lbnRpYWwuY3BwCitAQCAtMTUzLDEzICsxNTMsMTMgQEAgc3RhdGljIGludCB0ZXN0X2ludmVyc2VzcXJ0KCkKKyAJZmxvYXQgQSA9IGdsbTo6aW52ZXJzZXNxcnQoMTYuZikgKiBnbG06OnNxcnQoMTYuZik7CisgCUVycm9yICs9IGdsbTo6ZXF1YWwoQSwgMS5mLCAwLjAxZikgPyAwIDogMTsKKyAKKy0JZ2xtOjp2ZWMxIEIgPSBnbG06OmludmVyc2VzcXJ0KGdsbTo6dmVjMSgxNi5mKSkgKiBnbG06OnNxcnQoMTYuZik7OworKwlnbG06OnZlYzEgQiA9IGdsbTo6aW52ZXJzZXNxcnQoZ2xtOjp2ZWMxKDE2LmYpKSAqIGdsbTo6c3FydCgxNi5mKTsKKyAJRXJyb3IgKz0gZ2xtOjphbGwoZ2xtOjplcXVhbChCLCBnbG06OnZlYzEoMS5mKSwgMC4wMWYpKSA/IDAgOiAxOworIAorLQlnbG06OnZlYzIgQyA9IGdsbTo6aW52ZXJzZXNxcnQoZ2xtOjp2ZWMyKDE2LmYpKSAqIGdsbTo6c3FydCgxNi5mKTs7CisrCWdsbTo6dmVjMiBDID0gZ2xtOjppbnZlcnNlc3FydChnbG06OnZlYzIoMTYuZikpICogZ2xtOjpzcXJ0KDE2LmYpOworIAlFcnJvciArPSBnbG06OmFsbChnbG06OmVxdWFsKEMsIGdsbTo6dmVjMigxLmYpLCAwLjAxZikpID8gMCA6IDE7CisgCistCWdsbTo6dmVjMyBEID0gZ2xtOjppbnZlcnNlc3FydChnbG06OnZlYzMoMTYuZikpICogZ2xtOjpzcXJ0KDE2LmYpOzsKKysJZ2xtOjp2ZWMzIEQgPSBnbG06OmludmVyc2VzcXJ0KGdsbTo6dmVjMygxNi5mKSkgKiBnbG06OnNxcnQoMTYuZik7CisgCUVycm9yICs9IGdsbTo6YWxsKGdsbTo6ZXF1YWwoRCwgZ2xtOjp2ZWMzKDEuZiksIDAuMDFmKSkgPyAwIDogMTsKKyAKKyAJZ2xtOjp2ZWM0IEUgPSBnbG06OmludmVyc2VzcXJ0KGdsbTo6dmVjNCgxNi5mKSkgKiBnbG06OnNxcnQoMTYuZik7CitkaWZmIC0tZ2l0IGEvdGVzdC9ndHgvZ3R4X2Vhc2luZy5jcHAgYi90ZXN0L2d0eC9ndHhfZWFzaW5nLmNwcAoraW5kZXggYjNlMTM5OTcuLjBlOThjZDUzIDEwMDY0NAorLS0tIGEvdGVzdC9ndHgvZ3R4X2Vhc2luZy5jcHAKKysrKyBiL3Rlc3QvZ3R4L2d0eF9lYXNpbmcuY3BwCitAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UKKyAJCXIgPSBnbG06OmNpcmN1bGFyRWFzZU91dChhKTsKKyAJCXIgPSBnbG06OmNpcmN1bGFyRWFzZUluT3V0KGEpOworIAorLQkJciA9IGdsbTo6ZXhwb25lbnRpYWxFYXNlSW4oYSk7OworKwkJciA9IGdsbTo6ZXhwb25lbnRpYWxFYXNlSW4oYSk7CisgCQlyID0gZ2xtOjpleHBvbmVudGlhbEVhc2VPdXQoYSk7CisgCQlyID0gZ2xtOjpleHBvbmVudGlhbEVhc2VJbk91dChhKTsKKyAKK0BAIC00Niw3ICs0Niw3IEBAIG5hbWVzcGFjZQorIAkJciA9IGdsbTo6YmFja0Vhc2VPdXQoYSk7CisgCQlyID0gZ2xtOjpiYWNrRWFzZUluT3V0KGEpOworIAorLQkJciA9IGdsbTo6Ym91bmNlRWFzZUluKGEpOzsKKysJCXIgPSBnbG06OmJvdW5jZUVhc2VJbihhKTsKKyAJCXIgPSBnbG06OmJvdW5jZUVhc2VPdXQoYSk7CisgCQlyID0gZ2xtOjpib3VuY2VFYXNlSW5PdXQoYSk7CisgCX0KKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9nbG0vZ2xtXzAuOS45LWEyLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dsbS9nbG1fMC45LjktYTIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdmMTY3MDguLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dsbS9nbG1fMC45LjktYTIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1TVU1NQVJZID0gIk9wZW5HTCBNYXRoZW1hdGljcyBMaWJyYXJ5IgotREVTQ1JJUFRJT04gPSAiT3BlbkdMIE1hdGhlbWF0aWNzIChHTE0pIGlzIGEgaGVhZGVyIG9ubHkgQysrIFwKLW1hdGhlbWF0aWNzIGxpYnJhcnkgZm9yIGdyYXBoaWNzIHNvZnR3YXJlIGJhc2VkIG9uIHRoZSBPcGVuR0wgXAotU2hhZGluZyBMYW5ndWFnZSAoR0xTTCkgc3BlY2lmaWNhdGlvbnMuIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9nbG0uZy10cnVjLm5ldCIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL2ctdHJ1Yy9nbG0vaXNzdWVzIgotU0VDVElPTiA9ICJsaWJzIgotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9yZWFkbWUubWQ7YmVnaW5saW5lPTIxO2VuZGxpbmU9MjI7bWQ1PTMwNzViNTcyN2QzNmYyOWVkY2NmOTdiOTNlNzJiNzkwIgotCi1TUkNfVVJJID0gIiBcCi0gICAgZ2l0Oi8vZ2l0aHViLmNvbS9nLXRydWMvZ2xtO2JyYW5jaD1tYXN0ZXIgXAotICAgIGZpbGU6Ly8wMDAxLU1ha2UtR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwtYS1jb25maWd1cmFibGUtb3B0aW9uLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMi1nbG0taW5zdGFsbC1oZWFkZXJzLW9ubHkucGF0Y2ggXAotIgotU1JDUkVWID0gImZjYmVkZjUwNThlZjg2MTNkZDAyYWFjNjJlZjAwZDU1ZGNmZWFkZDciCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWluaGVyaXQgY21ha2UKLQotRVhUUkFfT0VDTUFLRSA9ICItREdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMPU9OIgotCi1SREVQRU5EU18ke1BOfS1kZXYgPSAiIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9nbG0vZ2xtXzAuOS45LjMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ2xtL2dsbV8wLjkuOS4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhMjZhNWIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ2xtL2dsbV8wLjkuOS4zLmJiCkBAIC0wLDAgKzEsMjQgQEAKK1NVTU1BUlkgPSAiT3BlbkdMIE1hdGhlbWF0aWNzIExpYnJhcnkiCitERVNDUklQVElPTiA9ICJPcGVuR0wgTWF0aGVtYXRpY3MgKEdMTSkgaXMgYSBoZWFkZXIgb25seSBDKysgXAorbWF0aGVtYXRpY3MgbGlicmFyeSBmb3IgZ3JhcGhpY3Mgc29mdHdhcmUgYmFzZWQgb24gdGhlIE9wZW5HTCBcCitTaGFkaW5nIExhbmd1YWdlIChHTFNMKSBzcGVjaWZpY2F0aW9ucy4iCitIT01FUEFHRSA9ICJodHRwczovL2dsbS5nLXRydWMubmV0IgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2dpdGh1Yi5jb20vZy10cnVjL2dsbS9pc3N1ZXMiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3JlYWRtZS5tZDtiZWdpbmxpbmU9MjE7ZW5kbGluZT0yMjttZDU9MzA3NWI1NzI3ZDM2ZjI5ZWRjY2Y5N2I5M2U3MmI3OTAiCisKK1NSQ19VUkkgPSAiIFwKKyAgICBnaXQ6Ly9naXRodWIuY29tL2ctdHJ1Yy9nbG07YnJhbmNoPW1hc3RlciBcCisgICAgZmlsZTovLzAwMDEtZ2xtLVJlbW92ZS1yZWR1bmRhbnQtZG91YmxlLXNlbWktY29sb25zLnBhdGNoIFwKKyIKKyMgdjAuOS45LjMKK1NSQ1JFViA9ICI5NzQ5NzI3YzJkYjQ3NDIzNjkyMTllMWQ0NTJmNDNlOTE4NzM0YjRlIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGNtYWtlCisKK1JERVBFTkRTXyR7UE59LWRldiA9ICIiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dyYXBodml6L2dyYXBodml6LzAwMDEtVXNlLW5hdGl2ZS1ta2RlZnMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ3JhcGh2aXovZ3JhcGh2aXovMDAwMS1Vc2UtbmF0aXZlLW1rZGVmcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYjUxZDAzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dyYXBodml6L2dyYXBodml6LzAwMDEtVXNlLW5hdGl2ZS1ta2RlZnMucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSA1ZTUzYjY0MzYxNWZkNTNmM2ZmOTYwNTIxYmJlOWQ5NTY0MWU1ZjY4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KK0RhdGU6IFN1biwgMjAgSmFuIDIwMTkgMjM6NTg6MjkgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gVXNlIG5hdGl2ZSBta2RlZnMKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KKy0tLQorIGxpYi9ndnByL01ha2VmaWxlLmFtIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbGliL2d2cHIvTWFrZWZpbGUuYW0gYi9saWIvZ3Zwci9NYWtlZmlsZS5hbQoraW5kZXggYWMzYzA5OC4uNDkxNDg1NCAxMDA2NDQKKy0tLSBhL2xpYi9ndnByL01ha2VmaWxlLmFtCisrKysgYi9saWIvZ3Zwci9NYWtlZmlsZS5hbQorQEAgLTU3LDcgKzU3LDcgQEAgZW5kaWYKKyBta2RlZnNfU09VUkNFUyA9IG1rZGVmcy5jCisgCisgZ2RlZnMuaDogJCh0b3Bfc3JjZGlyKS9saWIvZ3Zwci9ncHJkYXRhIG1rZGVmcyQoRVhFRVhUKQorLQkuL21rZGVmcyQoRVhFRVhUKSBnZGVmcy5oIDwgJCh0b3Bfc3JjZGlyKS9saWIvZ3Zwci9ncHJkYXRhCisrCW1rZGVmcyQoRVhFRVhUKSBnZGVmcy5oIDwgJCh0b3Bfc3JjZGlyKS9saWIvZ3Zwci9ncHJkYXRhCisgCisgRVhUUkFfRElTVCA9ICQobWFuX01BTlMpICQocGRmX0RBVEEpIGdwcmRhdGEgbWtkZWZzLmMgZ2RlZnMuaCB0cmllLmMgZ3ZwcmxpYi52Y3hwcm9qKgorIAorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dyYXBodml6L2dyYXBodml6XzIuNDAuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ncmFwaHZpei9ncmFwaHZpel8yLjQwLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTllZmZmYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ncmFwaHZpei9ncmFwaHZpel8yLjQwLjEuYmIKQEAgLTAsMCArMSw1OSBAQAorU1VNTUFSWSA9ICJHcmFwaCBWaXN1YWxpemF0aW9uIFRvb2xzIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5ncmFwaHZpei5vcmciCitMSUNFTlNFID0gIkVQTC0xLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05MTA5ZjVmYzE2Y2Y5NjNmYjNjZGQzMjc4MWIzY2UwNCIKKworREVQRU5EUyA9ICIgXAorICAgIGludGx0b29sLW5hdGl2ZSBcCisgICAgYmlzb24tbmF0aXZlIFwKKyAgICBncm9mZi1uYXRpdmUgXAorICAgIGxpYnRvb2wgXAorICAgIGdkay1waXhidWYgXAorICAgIGxpYnJzdmcgXAorICAgIGNhaXJvIFwKKyAgICBwYW5nbyBcCisgICAgZXhwYXQgXAorICAgIGZyZWV0eXBlIFwKKyIKK0RFUEVORFNfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtCUE59LW5hdGl2ZSIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZyBnZXR0ZXh0CisKKyMgVGhlIHNvdXJjZSB0YXJiYWxsIHN1Z2dlc3RlZCBhdAorIyBodHRwczovL2dyYXBodml6LmdpdGxhYi5pby9fcGFnZXMvRG93bmxvYWQvRG93bmxvYWRfc291cmNlLmh0bWwgaGFzIG5vCisjIHZlcnNpb24gaW4gaXRzIG5hbWUuIFNvIG9uY2UgZ3JhcGh2aXogaXMgdXBkZ3JhZGVkLCBvbmx5IGZpcnN0IHRpbWUgdXNlcnMgd2lsbAorIyBnZXQgY2hlY2tzdW0gZXJyb3JzLiBGZWRvcmEgcGVvcGxlIHNlZW0gdG8gZXhwZWN0IHNhbWUgc28gdGhleSB1c2UgYSB2ZXJzaW9uZWQKKyMgc291cmNlIC0gc2VlIGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL2NnaXQvcnBtcy9ncmFwaHZpei5naXQvdHJlZS9ncmFwaHZpei5zcGVjCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRsYWIuY29tL2dyYXBodml6L2dyYXBodml6Ly0vYXJjaGl2ZS9zdGFibGVfcmVsZWFzZV8ke1BWfS9ncmFwaHZpei1zdGFibGVfcmVsZWFzZV8ke1BWfS50YXIuZ3ogXAorIgorIyBVc2UgbmF0aXZlIG1rZGVmcworU1JDX1VSSV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBmaWxlOi8vMDAwMS1Vc2UtbmF0aXZlLW1rZGVmcy5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICIyYWNmMzBjYThlNmNjOGIwMDFiMDMzNGRiNjVmZDA3MiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlNmMzZjhkYmZkZTFjNDUyMzA1NTQwMzkyN2JlZjI5Zjk3ZjlmYzEyNzE1YzEwNDJiNWRjZjY0OGEyYzFjNjJhIgorCitTID0gIiR7V09SS0RJUn0vJHtCUE59LXN0YWJsZV9yZWxlYXNlXyR7UFZ9IgorCitFWFRSQV9PRUNPTkZfY2xhc3MtdGFyZ2V0ID0gIlwKKyAgICAgICAgICAgICAgICAtLXdpdGgtZXhwYXRpbmNsdWRlZGlyPSR7U1RBR0lOR19JTkNESVJ9IFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtZXhwYXRsaWJkaXI9JHtTVEFHSU5HX0xJQkRJUn0gXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1pbmNsdWRlZC1sdGRsIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtamF2YSBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXIgXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1zaGFycCBcCisgICAgICAgICAgICAgICAgIgorQ0ZMQUdTX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIC1EX3R5cF9zc2l6ZV90PTEgLURfbG9uZ19kb3VibGU9MSIKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIGNkICR7U30KKyAgICAjIGNyZWF0ZSB2ZXJzaW9uLm00IGFuZCBpZ25vcmUgbGlidG9vbGl6ZSBlcnJvcnMKKyAgICAuL2F1dG9nZW4uc2ggTk9DT05GSUcgfHwgdHJ1ZQorfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7CisgICAgIyBpbnN0YWxsIG1rZGVmcyBmb3IgdGFyZ2V0IGJ1aWxkCisgICAgaW5zdGFsbCAtbTc1NSAke0J9L2xpYi9ndnByL21rZGVmcyAke0R9JHtiaW5kaXJ9Cit9CisKK0ZJTEVTX1NPTElCU0RFVl9hcHBlbmQgPSAiICR7bGliZGlyfS9ncmFwaHZpei9saWIqJHtTT0xJQlNERVZ9IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ndGt3YXZlL2d0a3dhdmVfMy4zLjk4LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2d0a3dhdmUvZ3Rrd2F2ZV8zLjMuOTguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjBkZjZmNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ndGt3YXZlL2d0a3dhdmVfMy4zLjk4LmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiVkNEIChWYWx1ZSBDaGFuZ2UgRHVtcCkgZmlsZSB3YXZlZm9ybSB2aWV3ZXIiCitERVNDUklQVElPTiA9ICJndGt3YXZlIGlzIGEgdmlld2VyIGZvciBWQ0QgKFZhbHVlIENoYW5nZSBEdW1wKSBmaWxlcyB3aGljaCBhcmUgdXN1YWxseSBjcmVhdGVkIGJ5IGRpZ2l0YWwgY2lyY3VpdCBzaW11bGF0b3JzLiAoVGhlc2UgZmlsZXMgaGF2ZSBubyBjb25uZWN0aW9uIHRvIHZpZGVvIENEcyEpICIKK0hPTUVQQUdFID0gImh0dHA6Ly9ndGt3YXZlLnNvdXJjZWZvcmdlLm5ldC8iCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTg1OTk4OTU0NWUzNzk2OGE5OWI2MzFlZjQyNzIyZSIKKworU1JDX1VSSSA9ICJodHRwOi8vZ3Rrd2F2ZS5zb3VyY2Vmb3JnZS5uZXQvJHtQTn0tJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZWFjMzA3M2VmMzgxZTBjMDlkYTMzNTkwMjk2Y2EzN2YiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZWZhNmJiYmViM2JkNTQxMDQ0MjVhNjlhMmFhMGQwNzliYjVjM2VjYzFjNDIwYmE1N2RjYWExYzk3YzVhMjJmNiIKKworaW5oZXJpdCBwa2djb25maWcgYXV0b3Rvb2xzIGdldHRleHQgdGV4aW5mbworREVQRU5EUyA9ICJ0Y2wgdGsgZ3BlcmYtbmF0aXZlIGJ6aXAyIHh6IHBhbmdvIHpsaWIgZ3RrKyBnZGstcGl4YnVmIGdsaWItMi4wIgorUkRFUEVORFNfJHtQTn0gPSAidGstbGliIgorCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLXRjbD0ke1NUQUdJTkdfQklORElSX0NST1NTfSAtLXdpdGgtdGs9JHtTVEFHSU5HX0JJTkRJUl9DUk9TU30iCisKK0ZJTEVTXyR7UE59ID0gIiR7YmluZGlyfSAke2RhdGFkaXJ9IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2xpYmZvcm1zL2ZpbGVzL2FkZC1hYnNvbHV0ZS1wYXRoLWZvci1pbmNsdWRlLWRpci5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9saWJmb3Jtcy9maWxlcy9hZGQtYWJzb2x1dGUtcGF0aC1mb3ItaW5jbHVkZS1kaXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGI0MDBmNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9saWJmb3Jtcy9maWxlcy9hZGQtYWJzb2x1dGUtcGF0aC1mb3ItaW5jbHVkZS1kaXIucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorZGlmZiAtTmF1ciB4Zm9ybXMtMS4yLjMub3JpZy9mZGVzaWduL01ha2VmaWxlLmFtIHhmb3Jtcy0xLjIuMy9mZGVzaWduL01ha2VmaWxlLmFtCistLS0geGZvcm1zLTEuMi4zLm9yaWcvZmRlc2lnbi9NYWtlZmlsZS5hbQkyMDE5LTAyLTI0IDEyOjU4OjUxLjk2ODY0NTg3MyArMDAwMAorKysrIHhmb3Jtcy0xLjIuMy9mZGVzaWduL01ha2VmaWxlLmFtCTIwMTktMDItMjQgMTM6MDA6NDguNTAwNjM1MTYzICswMDAwCitAQCAtMTEsNyArMTEsNyBAQAorIGZkZXNpZ24uMToKKyAJY3AgLXAgJChzcmNkaXIpL2ZkZXNpZ24ubWFuIGZkZXNpZ24uMQorIAorLUlOQ0xVREVTID0gLUkuL3hwbSAkKFhfQ0ZMQUdTKQorK0lOQ0xVREVTID0gLUkuL3hwbSAtSSQoc3JjZGlyKS94cG0gJChYX0NGTEFHUykKKyAKKyBiaW5fUFJPR1JBTVMgPSBmZGVzaWduCisgCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGliZm9ybXMvZmlsZXMvZml4LWxpbmstdG8teGZvcm1zLW1hbi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9saWJmb3Jtcy9maWxlcy9maXgtbGluay10by14Zm9ybXMtbWFuLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5NWJkMTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGliZm9ybXMvZmlsZXMvZml4LWxpbmstdG8teGZvcm1zLW1hbi5wYXRjaApAQCAtMCwwICsxLDEyIEBACitkaWZmIC1OYXVyIHhmb3Jtcy0xLjIuMy5vcmlnL2xpYi9NYWtlZmlsZS5hbSB4Zm9ybXMtMS4yLjMvbGliL01ha2VmaWxlLmFtCistLS0geGZvcm1zLTEuMi4zLm9yaWcvbGliL01ha2VmaWxlLmFtCTIwMTktMDItMjQgMTI6NTM6NTguMzQwNjc4MzczICswMDAwCisrKysgeGZvcm1zLTEuMi4zL2xpYi9NYWtlZmlsZS5hbQkyMDE5LTAyLTI0IDEyOjU0OjMzLjA5NjY3NDEwMiArMDAwMAorQEAgLTI1LDcgKzI1LDcgQEAKKyBtYW5fTUFOUyA9IHhmb3Jtcy41CisgCisgeGZvcm1zLjU6CistCWNwIC1wIC4veGZvcm1zLm1hbiB4Zm9ybXMuNQorKwljcCAtcCAkKHNyY2RpcikveGZvcm1zLm1hbiB4Zm9ybXMuNQorIAorIGxpYmZvcm1zX2xhX1NPVVJDRVMgPSBcCisgCWFsaWduLmMgXApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2xpYmZvcm1zL2ZpbGVzL2ZpeC1wYXRoLWZkZXNpZ25fTERBREQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGliZm9ybXMvZmlsZXMvZml4LXBhdGgtZmRlc2lnbl9MREFERC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Mzk1NmRlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2xpYmZvcm1zL2ZpbGVzL2ZpeC1wYXRoLWZkZXNpZ25fTERBREQucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorZGlmZiAtTmF1ciB4Zm9ybXMtMS4yLjMub3JpZy9mZGVzaWduL01ha2VmaWxlLmFtIHhmb3Jtcy0xLjIuMy9mZGVzaWduL01ha2VmaWxlLmFtCistLS0geGZvcm1zLTEuMi4zLm9yaWcvZmRlc2lnbi9NYWtlZmlsZS5hbQkyMDE5LTAyLTI0IDEzOjA4OjQ4LjQxMjYwMzI1MCArMDAwMAorKysrIHhmb3Jtcy0xLjIuMy9mZGVzaWduL01ha2VmaWxlLmFtCTIwMTktMDItMjQgMTM6MDk6MTguNDEyNjAxODc0ICswMDAwCitAQCAtMTUsNyArMTUsNyBAQAorIAorIGJpbl9QUk9HUkFNUyA9IGZkZXNpZ24KKyAKKy1mZGVzaWduX0xEQUREID0gJCh0b3Bfc3JjZGlyKS9saWIvbGliZm9ybXMubGEgJChYX0xJQlMpICQoWF9QUkVfTElCUykgJChYUE1fTElCKSAtbFgxMSAkKExJQlMpICQoWF9FWFRSQV9MSUJTKQorK2ZkZXNpZ25fTERBREQgPSAkKHRvcF9idWlsZGRpcikvbGliL2xpYmZvcm1zLmxhICQoWF9MSUJTKSAkKFhfUFJFX0xJQlMpICQoWFBNX0xJQikgLWxYMTEgJChMSUJTKSAkKFhfRVhUUkFfTElCUykKKyAKKyBmZGVzaWduX1NPVVJDRVMgPSBcCisgCWZkX2F0dHJpYnMuYyBcCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGliZm9ybXMvbGliZm9ybXNfMS4yLjMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGliZm9ybXMvbGliZm9ybXNfMS4yLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjg2ZDdjMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9saWJmb3Jtcy9saWJmb3Jtc18xLjIuMy5iYgpAQCAtMCwwICsxLDI2IEBACitERVNDUklQVElPTiA9ICJUaGUgWEZvcm1zIGdyYXBoaWNhbCBpbnRlcmZhY2Ugd2lkZ2V0IGxpYnJhcnkJIgorSE9NRVBBR0UgPSAiaHR0cDovL3NhdmFubmFoLm5vbmdudS5vcmcvcHJvamVjdHMveGZvcm1zLyIKK1BSID0gInIwIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTElCO21kNT1hZGU5YTA1M2RmODFmNWI5NDA4ZDJmNGY1NTQ2ZGY4NiIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQuc2F2YW5uYWgubm9uZ251Lm9yZy9yZWxlYXNlcy94Zm9ybXMveGZvcm1zLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtbGluay10by14Zm9ybXMtbWFuLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2FkZC1hYnNvbHV0ZS1wYXRoLWZvci1pbmNsdWRlLWRpci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtcGF0aC1mZGVzaWduX0xEQURELnBhdGNoIFwKKyAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyMzU3MjBhNzU4YThiOGQ5ZTZlNDUyZGM2NzE5MGU5YiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3OTg5YjM5NTk4Yzc2OTgyMGFkNDUxYWQ5MWU1Y2IwZGUyOTk0Njk0MGM4MjQwYWFjOTRjYTgyMzhjMmRlZjYxIgorCitpbmhlcml0IGF1dG90b29scyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIm9wZW5nbCIKKworUyA9ICIke1dPUktESVJ9L3hmb3Jtcy0ke1BWfSIKKworREVQRU5EUyA9ICJsaWJ4cG0ganBlZyBsaWJ4MTEgbWVzYSIKK1JERVBFTkRTXyR7UE59ID0gImJhc2giCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgtZXh0cmEtaW5jPSR7U30vbGliIiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9saWJ2bmNzZXJ2ZXIvbGlidm5jc2VydmVyXzAuOS4xMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9saWJ2bmNzZXJ2ZXIvbGlidm5jc2VydmVyXzAuOS4xMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzhkYWMwNi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGlidm5jc2VydmVyL2xpYnZuY3NlcnZlcl8wLjkuMTEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi1ERVNDUklQVElPTiA9ICJsaWJyYXJ5IGZvciBlYXN5IGltcGxlbWVudGF0aW9uIG9mIGEgUkRQL1ZOQyBzZXJ2ZXIiCi1IT01FUEFHRSA9ICJodHRwczovL2xpYnZuYy5naXRodWIuaW8iCi1TRUNUSU9OID0gImxpYnMiCi1QUklPUklUWSA9ICJvcHRpb25hbCIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zNjFiNmI4MzdjYWQyNmM2OTAwYTkyNmI2MmFhZGE1ZiIKLQotREVQRU5EUyArPSAiemxpYiBsaWJzZGwganBlZyBsaWJwbmcgZ3RrKyBsaWJnY3J5cHQgbmV0dGxlIGdudXRscyBnbXAiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3N5c3RlbWQnLCcnLGQpfSIKLVBBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLCxzeXN0ZW1kIgotCi1SREVQRU5EU18ke1BOfSArPSAibGlicG5nIGd0aysgbGliZ2NyeXB0IgotCi1pbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjayBhdXRvdG9vbHMgYmluY29uZmlnIHBrZ2NvbmZpZwotCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgotCi1TUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9MaWJWTkMvbGlidm5jc2VydmVyL2FyY2hpdmUvTGliVk5DU2VydmVyLSR7UFZ9LnRhci5neiIKLVNSQ19VUklbbWQ1c3VtXSA9ICI3ZjA2MTA0ZDVjMDA5ODEzZTk1MTQyOTMyYzRkZGIwNiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIxOTNkNjMwMzcyNzIyYTUzMjEzNmZkMjVjNTMyNmIyY2ExYTYzNmNiYjhiZjliYjExNWVmODY5YzgwNGQyODk0IgotCi1TID0gIiR7V09SS0RJUn0vJHtCUE59LUxpYlZOQ1NlcnZlci0ke1BWfSIKLQotVEFSR0VUX0xERkxBR1MgKz0gIi1sZ2NyeXB0IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2xpYnZuY3NlcnZlci9saWJ2bmNzZXJ2ZXJfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2xpYnZuY3NlcnZlci9saWJ2bmNzZXJ2ZXJfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4YTg1OWIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGlidm5jc2VydmVyL2xpYnZuY3NlcnZlcl9naXQuYmIKQEAgLTAsMCArMSwzNCBAQAorREVTQ1JJUFRJT04gPSAibGlicmFyeSBmb3IgZWFzeSBpbXBsZW1lbnRhdGlvbiBvZiBhIFJEUC9WTkMgc2VydmVyIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9saWJ2bmMuZ2l0aHViLmlvIgorU0VDVElPTiA9ICJsaWJzIgorUFJJT1JJVFkgPSAib3B0aW9uYWwiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzYxYjZiODM3Y2FkMjZjNjkwMGE5MjZiNjJhYWRhNWYiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIgXAorICAgIGdjcnlwdCBcCisgICAgZ251dGxzIFwKKyAgICBqcGVnIFwKKyAgICBsem8gXAorICAgIHBuZyBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCdzeXN0ZW1kJywnJyxkKX0gXAorICAgIHNkbCBcCisgICAgemxpYiBcCisiCitQQUNLQUdFQ09ORklHW2djcnlwdF0gPSAiLURXSVRIX0dDUllQVD1PTiwtRFdJVEhfR0NSWVBUPU9GRixsaWJnY3J5cHQsbGliZ2NyeXB0IgorUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIi1EV0lUSF9HTlVUTFM9T04sLURXSVRIX0dOVVRMUz1PRkYsZ251dGxzIgorUEFDS0FHRUNPTkZJR1tqcGVnXSA9ICItRFdJVEhfSlBFRz1PTiwtRFdJVEhfSlBFRz1PRkYsanBlZyIKK1BBQ0tBR0VDT05GSUdbbHpvXSA9ICItRFdJVEhfTFpPPU9OLC1EV0lUSF9MWk89T0ZGLGx6byIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLURXSVRIX09QRU5TU0w9T04sLURXSVRIX09QRU5TU0w9T0ZGLG9wZW5zc2wiCitQQUNLQUdFQ09ORklHW3BuZ10gPSAiLURXSVRIX1BORz1PTiwtRFdJVEhfUE5HPU9GRixsaWJwbmcsbGlicG5nIgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItRFdJVEhfU1lTVEVNRD1PTiwtRFdJVEhfU1lTVEVNRD1PRkYsc3lzdGVtZCIKK1BBQ0tBR0VDT05GSUdbc2RsXSA9ICItRFdJVEhfU0RMPU9OLC1EV0lUSF9TREw9T0ZGLGxpYnNkbDIiCitQQUNLQUdFQ09ORklHW3psaWJdID0gIi1EV0lUSF9aTElCPU9OLC1EV0lUSF9aTElCPU9GRix6bGliIgorCitpbmhlcml0IGNtYWtlCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9MaWJWTkMvbGlidm5jc2VydmVyIgorU1JDUkVWID0gImMwYTIzODU3YTVjNDJiNDViNmQyMmNjZjcyMThiZWNkMWZhNjk0MDIiCisKKworUyA9ICIke1dPUktESVJ9L2dpdCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9wYW5nby9wYW5nb21tXzIuNDAuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9wYW5nby9wYW5nb21tXzIuNDAuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTBmNzJjZC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvcGFuZ28vcGFuZ29tbV8yLjQwLjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1TVU1NQVJZID0gIkMrKyBiaW5kaW5ncyBmb3IgdGhlIHBhbmdvIGxpYnJhcnkiCi1TRUNUSU9OID0gImxpYnMiCi1MSUNFTlNFID0gIkxHUEx2Mi4xICYgR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kODA0NWYzYjhmOTI5YzFjYjI5YTFlM2ZkNzM3YjQ5OSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLnRvb2xzO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKLQotREVQRU5EUyA9ICJtbS1jb21tb24gY2Fpcm9tbSBnbGlibW0gcGFuZ28iCi0KLVNIUlRfVkVSID0gIiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMF19LiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMV19IgotCi1TUkNfVVJJID0gImh0dHA6Ly9mdHAuZ25vbWUub3JnL3B1Yi9HTk9NRS9zb3VyY2VzL3BhbmdvbW0vJHtTSFJUX1ZFUn0vcGFuZ29tbS0ke1BWfS50YXIueHoiCi1TUkNfVVJJW21kNXN1bV0gPSAiODc0ZWFkZDk0MzQ2MTNkYmFjZjAyNzJjODJjM2FjMjMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTc2MmVlMmEyZDU3ODFiZTY3OTc0NDhkNGRkMjM4M2NlMTQ5MDcxNTliMzBiYzEyYmY2YjA4ZTcyMjdiZTNhZiIKLQotaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgotCi1FWFRSQV9PRUNPTkYgPSAiIC0tZGlzYWJsZS1kb2N1bWVudGF0aW9uICIKLQotRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYiouc28uKiIKLUZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9LyovaW5jbHVkZS8gJHtsaWJkaXJ9L3BhbmdvbW0tKi8iCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9wYW5nby9wYW5nb21tXzIuNDIuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9wYW5nby9wYW5nb21tXzIuNDIuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YTg1ZGI0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3BhbmdvL3BhbmdvbW1fMi40Mi4wLmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiQysrIGJpbmRpbmdzIGZvciB0aGUgcGFuZ28gbGlicmFyeSIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEgJiBHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQ4MDQ1ZjNiOGY5MjljMWNiMjlhMWUzZmQ3MzdiNDk5IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcudG9vbHM7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorCitERVBFTkRTID0gIm1tLWNvbW1vbiBjYWlyb21tIGdsaWJtbSBwYW5nbyIKKworU0hSVF9WRVIgPSAiJHtAZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVswXX0uJHtAZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVsxXX0iCisKK1NSQ19VUkkgPSAiaHR0cDovL2Z0cC5nbm9tZS5vcmcvcHViL0dOT01FL3NvdXJjZXMvcGFuZ29tbS8ke1NIUlRfVkVSfS9wYW5nb21tLSR7UFZ9LnRhci54eiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2Y2ZmZWRmMjIyNWM0ZTcyNjQ1YTdkNzU3ZmI1YjgzMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjYTZkYTA2N2ZmOTNhNjQ0NTc4MGMwYjRiMjI2ZWI4NGY0ODRhYjEwNGI4MzkxZmI3NDRhNDVjYmM3ZWRiZjU2IgorCitpbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjayBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK0VYVFJBX09FQ09ORiA9ICIgLS1kaXNhYmxlLWRvY3VtZW50YXRpb24gIgorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vbGliKi5zby4qIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vKi9pbmNsdWRlLyAke2xpYmRpcn0vcGFuZ29tbS0qLyIKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3FyZW5jb2RlL3FyZW5jb2RlX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9xcmVuY29kZS9xcmVuY29kZV9naXQuYmIKaW5kZXggZjUzOTc3NS4uMTA4YzMzOSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3FyZW5jb2RlL3FyZW5jb2RlX2dpdC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvcXJlbmNvZGUvcXJlbmNvZGVfZ2l0LmJiCkBAIC00LDkgKzQsOSBAQAogU0VDVElPTiA9ICJsaWJzIgogTElDRU5TRSA9ICJMR1BMdjIuMSIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTJkNTAyNWQ0YWEzNDk1YmVmZWY4ZjE3MjA2YTViMGExIgotUFYgPSAiNC4wLjArZ2l0JHtTUkNQVn0iCitQViA9ICI0LjAuMStnaXQke1NSQ1BWfSIKIAotU1JDUkVWID0gIjA3ZjNjNWQ0YmY5MTM2NzExNDIyY2M3ZGJmMjhhZmY0NjlkYTIyMGEiCitTUkNSRVYgPSAiN2M4M2RlYjhmNTYyYWU2MDEzZmVhNGMzZTY1Mjc4ZGY5M2Y5OGZiNyIKIFNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9mdWt1Y2hpL2xpYnFyZW5jb2RlLmdpdCIKIAogUyA9ICIke1dPUktESVJ9L2dpdCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zcGlyL2ZpbGVzLzAwMDEtQWRkLWluc3RhbGwtUEhPTlktdGFyZ2V0LWluLU1ha2VmaWxlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NwaXIvZmlsZXMvMDAwMS1BZGQtaW5zdGFsbC1QSE9OWS10YXJnZXQtaW4tTWFrZWZpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzg1OThlYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zcGlyL2ZpbGVzLzAwMDEtQWRkLWluc3RhbGwtUEhPTlktdGFyZ2V0LWluLU1ha2VmaWxlLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gOGQ5ODcwYjY2YzNjZmNmMTJjZTdlOGUwMTM5NDZlMmEyMTViYjcyMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFua2l0IE5hdmlrIDxhbmtpdC50YXJvdEBnbWFpbC5jb20+CitEYXRlOiBTYXQsIDIyIERlYyAyMDE4IDE5OjE2OjAyICswNTMwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBpbnN0YWxsIFBIT05ZIHRhcmdldCBpbiBNYWtlZmlsZQorCistLS0KKyBNYWtlZmlsZSB8IDggKysrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCAwNTY0YjY1Li4wOTkzMzcyIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtMzUsNyArMzUsMTMgQEAgJChTVEFUSUNfTElCKTogJChPQkpFQ1RTKQorICUubzogJS5jcHAKKyAJJChDWFgpIC1jIC1vICRAICQ8ICQoQ1hYRkxBR1MpIC1NTUQKKyAKKytpbnN0YWxsOgorKwlta2RpciAtcCAkKFRBUkdFVF9ESVJfQklOKQorKwlta2RpciAtcCAkKFRBUkdFVF9ESVJfTElCKQorKwljcCAkKFRBUkdFVCkgJChUQVJHRVRfRElSX0JJTikvCisrCWNwICQoU1RBVElDX0xJQikgJChUQVJHRVRfRElSX0xJQikvCisrCisgY2xlYW46CisgCXJtIC1mICQoVEFSR0VUKSAkKE9CSkVDVFMpICQoQ0xJX09CSkVDVFMpICQoU1RBVElDX0xJQikgJChERVBTKQorIAorLS5QSE9OWTogY2xlYW4KKysuUEhPTlk6IGFsbCBpbnN0YWxsIGNsZWFuCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zcGlyL2ZpbGVzLzAwMDEtdG9vbHMtbGVzc3BpcGUtQWxsb3ctZ2VuZXJpYy1zaGVsbC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zcGlyL2ZpbGVzLzAwMDEtdG9vbHMtbGVzc3BpcGUtQWxsb3ctZ2VuZXJpYy1zaGVsbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOWE0NWMyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NwaXIvZmlsZXMvMDAwMS10b29scy1sZXNzcGlwZS1BbGxvdy1nZW5lcmljLXNoZWxsLnBhdGNoCkBAIC0wLDAgKzEsMjQgQEAKK0Zyb20gMDMxMjdmZDVhNmVmZjVhZTJlYmVhMmU5YzZjMDFmYmYxYTBhNDIxYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFua2l0IE5hdmlrIDxhbmtpdC50YXJvdEBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDI1IERlYyAyMDE4IDE0OjM0OjA5ICswNTMwCitTdWJqZWN0OiBbUEFUQ0hdIHRvb2xzL2xlc3NwaXBlOiBBbGxvdyBnZW5lcmljIHNoZWxsCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vS2hyb25vc0dyb3VwL1NQSVJWLVRvb2xzL3B1bGwvMjI1NV0KK1NpZ25lZC1vZmYtYnk6IEFua2l0IE5hdmlrIDxhbmtpdC50YXJvdEBnbWFpbC5jb20+CistLS0KKyB0b29scy9sZXNzcGlwZS9zcGlydi1sZXNzcGlwZS5zaCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3Rvb2xzL2xlc3NwaXBlL3NwaXJ2LWxlc3NwaXBlLnNoIGIvdG9vbHMvbGVzc3BpcGUvc3BpcnYtbGVzc3BpcGUuc2gKK2luZGV4IDgxZTMzNTUuLmY5NTUyNTkgMTAwNjQ0CistLS0gYS90b29scy9sZXNzcGlwZS9zcGlydi1sZXNzcGlwZS5zaAorKysrIGIvdG9vbHMvbGVzc3BpcGUvc3BpcnYtbGVzc3BpcGUuc2gKK0BAIC0xLDQgKzEsNCBAQAorLSMhL2Jpbi9iYXNoCisrIyEvdXNyL2Jpbi9lbnYgc2gKKyAjIENvcHlyaWdodCAoYykgMjAxNiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisgCisgIyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NwaXIvc3BpcnYtc2hhZGVyLWdlbmVyYXRvcl9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvc3Bpci9zcGlydi1zaGFkZXItZ2VuZXJhdG9yX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNzg3OTcyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NwaXIvc3BpcnYtc2hhZGVyLWdlbmVyYXRvcl9naXQuYmIKQEAgLTAsMCArMSwyMiBAQAorU1VNTUFSWSAgPSAiU1BJUlYtQ3Jvc3MgaXMgYSB0b29sIGRlc2lnbmVkIGZvciBwYXJzaW5nIGFuZCBjb252ZXJ0aW5nIFNQSVItViBcCit0byBvdGhlciBzaGFkZXIgbGFuZ3VhZ2VzIgorTElDRU5TRSAgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTNiODNlZjk2Mzg3ZjE0NjU1ZmM4NTRkZGMzYzZiZDU3IgorU0VDVElPTiA9ICJncmFwaGljcyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKK1NSQ1JFViA9ICJlZDE2YjNlNjk5ODVmZWFmNTY1ZWZiZWNlYTcwYTFjYzJmY2EyYTU4IgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL0tocm9ub3NHcm91cC9TUElSVi1Dcm9zcy5naXQgXAorCWZpbGU6Ly8wMDAxLUFkZC1pbnN0YWxsLVBIT05ZLXRhcmdldC1pbi1NYWtlZmlsZS5wYXRjaCBcCisiCisKK0VYVFJBX09FTUFLRSArPSAnVEFSR0VUX0RJUl9MSUI9IiR7RH0ke2xpYmRpcn0iJyAKK0VYVFJBX09FTUFLRSArPSAnVEFSR0VUX0RJUl9CSU49IiR7RH0ke2JpbmRpcn0iJworCitkb19jb21waWxlICgpIHsKKwljZCAke1N9ICYmIG9lX3J1bm1ha2UKK30KKworZG9faW5zdGFsbCAoKSB7CisJY2QgJHtTfSAmJiBvZV9ydW5tYWtlIGluc3RhbGwKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zcGlyL3NwaXJ2LXRvb2xzX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zcGlyL3NwaXJ2LXRvb2xzX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYWUxMWRmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NwaXIvc3BpcnYtdG9vbHNfZ2l0LmJiCkBAIC0wLDAgKzEsMzIgQEAKK1NVTU1BUlkgID0gIlRoZSBTUElSLVYgVG9vbHMgcHJvamVjdCBwcm92aWRlcyBhbiBBUEkgYW5kIGNvbW1hbmRzIGZvciBcCitwcm9jZXNzaW5nIFNQSVItViBtb2R1bGVzIgorREVTQ1JJUFRJT04gPSAiVGhlIHByb2plY3QgaW5jbHVkZXMgYW4gYXNzZW1ibGVyLCBiaW5hcnkgbW9kdWxlIHBhcnNlciwgXAorZGlzYXNzZW1ibGVyLCB2YWxpZGF0b3IsIGFuZCBvcHRpbWl6ZXIgZm9yIFNQSVItVi4iCitMSUNFTlNFICA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9M2I4M2VmOTYzODdmMTQ2NTVmYzg1NGRkYzNjNmJkNTciCitTRUNUSU9OID0gImdyYXBoaWNzIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorREVTVF9ESVIgPSAiJHtTfS9leHRlcm5hbCIgCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vS2hyb25vc0dyb3VwL1NQSVJWLVRvb2xzLmdpdDtuYW1lPXNwaXJ2LXRvb2xzIFwKKwlmaWxlOi8vMDAwMS10b29scy1sZXNzcGlwZS1BbGxvdy1nZW5lcmljLXNoZWxsLnBhdGNoIFwKKwlnaXQ6Ly9naXRodWIuY29tL0tocm9ub3NHcm91cC9TUElSVi1IZWFkZXJzLmdpdDtuYW1lPXNwaXJ2LWhlYWRlcnM7ZGVzdHN1ZmZpeD0ke0RFU1RfRElSfS9zcGlydi1oZWFkZXJzIFwKKwlnaXQ6Ly9naXRodWIuY29tL2dvb2dsZS9lZmZjZWUuZ2l0O25hbWU9ZWZmY2VlO2Rlc3RzdWZmaXg9JHtERVNUX0RJUn0vZWZmY2VlIFwKKwlnaXQ6Ly9naXRodWIuY29tL2dvb2dsZS9yZTIuZ2l0O25hbWU9cmUyO2Rlc3RzdWZmaXg9JHtERVNUX0RJUn0vcmUyIFwKKwlnaXQ6Ly9naXRodWIuY29tL2dvb2dsZS9nb29nbGV0ZXN0LmdpdDtuYW1lPWdvb2dsZXRlc3Q7ZGVzdHN1ZmZpeD0ke0RFU1RfRElSfS9nb29nbGV0ZXN0IFwKKyIKK1NSQ1JFVl9zcGlydi10b29scyA9ICIxNjdmMTI3MGE5ZWU2NDFiMTdjMDE2YTU0NTc0MWU0YWFkZmFiZTg2IgorU1JDUkVWX3NwaXJ2LWhlYWRlcnMgPSAiNDYxOGI4NmU5ZTRiMDI3YTIyMDQwNzMyZGZlZTM1ZTM5OWNkMmM0NyIKK1NSQ1JFVl9lZmZjZWUgPSAiOGYwYTYxZGM5NWUwZGYxOGMxOGUwYWM1NmQ4M2IzZmE5ZDJmZTkwYiIKK1NSQ1JFVl9yZTIgPSAiMmNmODZlNWFiNmRjZmUwNDVhMWY1MTBjMmI5YThiMDEyYTQxNThjZCIKK1NSQ1JFVl9nb29nbGV0ZXN0ID0gIjE1MDYxMzE2NjUyNGM0NzRhOGE5N2RmNGMwMWQ0NmI3MjA1MGM0OTUiCisKK2luaGVyaXQgY21ha2UgcHl0aG9uM25hdGl2ZQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKwlpbnN0YWxsIC1kICR7RH0vJHtpbmNsdWRlZGlyfS9zcGlydgorCWluc3RhbGwgLW0gMDY0NCAke0RFU1RfRElSfS9zcGlydi1oZWFkZXJzL2luY2x1ZGUvc3BpcnYvMS4yLyogJHtEfS8ke2luY2x1ZGVkaXJ9L3NwaXJ2CQorfQorCitGSUxFU19TT0xJQlNERVYgPSAiIgorRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS8qLnNvIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtYXJwaGljLXVtaW5nXzIwMDgwMjE2LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtYXJwaGljLXVtaW5nXzIwMDgwMjE2LmJiCmluZGV4IDUyMmYwZmIuLjlkZTAyYjAgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLWFycGhpYy11bWluZ18yMDA4MDIxNi5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1hcnBoaWMtdW1pbmdfMjAwODAyMTYuYmIKQEAgLTEsNyArMSw3IEBACiBTVU1NQVJZID0gIlVuaWNvZGUgTWluZ3RpIChwcmludGVkKSBUcnVlVHlwZSBGb250IgogSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvd2lraS9Tb2Z0d2FyZS9DSktVbmlmb250cyIKIExJQ0VOU0UgPSAiQXJwaGljLVB1YmxpYy1MaWNlbnNlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO21kNT02MmJlMDExMDk0Yjc4NjVkZGM0ZDFhNjQ4NDQ0ZDMxYSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2xpY2Vuc2UvZW5nbGlzaC9BUlBISUNQTC5UWFQ7bWQ1PTQ1NTVlZDg4ZTlhNzJmYzk1NjJhZjM3OWQwN2MzMzUwIgogU1JDX0RJU1RSSUJVVEVfTElDRU5TRVMgKz0gIiR7UE59IgogUlBST1ZJREVTXyR7UE59ID0gInZpcnR1YWwtY2hpbmVzZS1mb250IgogUFIgPSAicjYiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1kcm9pZF9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1kcm9pZF9naXQuYmIKaW5kZXggZTYyYmFkZi4uOGRiYTdlZSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtZHJvaWRfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLWRyb2lkX2dpdC5iYgpAQCAtMTIsOCArMTIsMTIgQEAKIAogUyA9ICIke1dPUktESVJ9L2dpdC9kYXRhL2ZvbnRzIgogCi1kb19pbnN0YWxsX3ByZXBlbmQoKSB7Ci0gICAgcm0gJHtTfS9BaGVtLnR0ZiBNVExjM20udHRmIERyb2lkU2Fuc0FyYWJpYy50dGYgRHJvaWRTYW5zVGhhaS50dGYgQ2xvY2tvcGlhLnR0ZiBNVExtcjNtLnR0ZiBEcm9pZFNhbnNIZWJyZXcudHRmIERyb2lkU2Fuc0ZhbGxiYWNrTGVnYWN5LnR0ZiAjIHdlJ3JlIG5vdCBwYWNrYWdpbmcgaXQKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGZvciBmIGluIEFoZW0udHRmIE1UTGMzbS50dGYgRHJvaWRTYW5zQXJhYmljLnR0ZiBEcm9pZFNhbnNUaGFpLnR0ZiBcCisgICAgICAgICAgICAgQ2xvY2tvcGlhLnR0ZiBNVExtcjNtLnR0ZiBEcm9pZFNhbnNIZWJyZXcudHRmIFwKKyAgICAgICAgICAgICBEcm9pZFNhbnNGYWxsYmFja0xlZ2FjeS50dGY7IGRvCisgICAgICAgIHJtIC1mICR7RH0ke2RhdGFkaXJ9L2ZvbnRzL3RydWV0eXBlLyRmCisgICAgZG9uZQogfQogCiBQQUNLQUdFUyA9ICJ0dGYtZHJvaWQtc2FucyB0dGYtZHJvaWQtc2Fucy1tb25vIFwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94MTF2bmMvZmlsZXMvMDAwMS1taXNjLU1ha2VmaWxlLmFtLWRvbi10LWluc3RhbGwtWGR1bW15LXdoZW4tY29uZmlndXJlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3gxMXZuYy9maWxlcy8wMDAxLW1pc2MtTWFrZWZpbGUuYW0tZG9uLXQtaW5zdGFsbC1YZHVtbXktd2hlbi1jb25maWd1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTE1ZjNmZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94MTF2bmMvZmlsZXMvMDAwMS1taXNjLU1ha2VmaWxlLmFtLWRvbi10LWluc3RhbGwtWGR1bW15LXdoZW4tY29uZmlndXJlLnBhdGNoCkBAIC0wLDAgKzEsMzcgQEAKK0Zyb20gNjg2NDkxNTczODI3Yjk4YmEwMzFhZGFhNWRhMzczMzY2MDc5ZDNkOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9KZWFuLUZyYW49QzM9QTdvaXM9MjBEYWdlbmFpcz89IDxqZWZmLmRhZ2VuYWlzQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMTEgRmViIDIwMTkgMTE6NDI6NTkgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gbWlzYy9NYWtlZmlsZS5hbTogZG9uJ3QgaW5zdGFsbCBYZHVtbXkgd2hlbiBjb25maWd1cmVkCisgLS13aXRob3V0LXgKKworVXBzdHJlYW0tc3RhdHVzOiBzdWJtaXR0ZWQgaHR0cHM6Ly9naXRodWIuY29tL2plZmYtZGFnZW5haXMveDExdm5jL3B1bGwvMQorCitTaWduZWQtb2ZmLWJ5OiBKZWFuLUZyYW5jb2lzIERhZ2VuYWlzIDxqZWZmLmRhZ2VuYWlzQGdtYWlsLmNvbT4KKy0tLQorIG1pc2MvTWFrZWZpbGUuYW0gfCA2ICsrKysrLQorIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL21pc2MvTWFrZWZpbGUuYW0gYi9taXNjL01ha2VmaWxlLmFtCitpbmRleCBjMGI5OGM4Li5lNGEyMmMxIDEwMDY0NAorLS0tIGEvbWlzYy9NYWtlZmlsZS5hbQorKysrIGIvbWlzYy9NYWtlZmlsZS5hbQorQEAgLTE4LDcgKzE4LDEwIEBAIEVYVFJBX0RJU1QgPSBcCisgCXVpbnB1dC5wbCBcCisgCXVsdHJhdm5jX3JlcGVhdGVyLnBsIFwKKyAJdmNpbmplY3QucGwgXAorLQl4MTF2bmNfbG9vcCBcCisrCXgxMXZuY19sb29wCisrCisraWYgSEFWRV9YMTEKKytFWFRSQV9ESVNUICs9IFwKKyAJWGR1bW15LmMgXAorIAlYZHVtbXkuaW4KKyAKK0BAIC0zMiwzICszNSw0IEBAIGRvX2R1bW15X2Nfc3Vic3QgPSAkKFNFRCkgXAorIFhkdW1teTogJChzcmNkaXIpL1hkdW1teS5pbiAkKHNyY2RpcikvWGR1bW15LmMKKyAJJChkb19kdW1teV9jX3N1YnN0KSA8ICQ8ID4gJEAudG1wCisgCW12IC1mICRALnRtcCAkQAorK2VuZGlmCistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveDExdm5jL2ZpbGVzL2VuZGlhbi1maXgucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveDExdm5jL2ZpbGVzL2VuZGlhbi1maXgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYyYTUzOGIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3gxMXZuYy9maWxlcy9lbmRpYW4tZml4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotbGlidm5jc2VydmVyOiByZXBsYWNlIExJQlZOQ1NFUlZFUl9XT1JEU19CSUdFTkRJQU4gd2l0aCBXT1JEU19CSUdFTkRJQU4KLQotc2luY2UgbWFjcm8gQUNfQ19CSUdFTkRJQU4gaXMgdXNlZCBpbiBhdXRvY29uZiBhbmQgV09SRFNfQklHRU5ESUFOIGlzCi1hdXRvbWF0aWNhbGx5IHNldCBmb3IgZGlmZmVyZW50IGFyY2gsIGl0IGlzIGJldHRlciB0byB1c2UgV09SRFNfQklHRU5ESUFOCi1pbnN0ZWFkIG9mIExJQlZOQ1NFUlZFUl9XT1JEU19CSUdFTkRJQU4sIHdoaWNoIGN1YXNlIGlzc3VlIGluIG1pcHMuCi0KLVNpZ25lZC1vZmYtYnk6IFl1IEtlIDxrZS55dUBpbnRlbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1kaWZmIC0tZ2l0IGEvbGlidm5jc2VydmVyL21haW4uYyBiL2xpYnZuY3NlcnZlci9tYWluLmMKLWluZGV4IGI2YmQ5MzAuLjhiYmI3YmYgMTAwNjQ0Ci0tLS0gYS9saWJ2bmNzZXJ2ZXIvbWFpbi5jCi0rKysgYi9saWJ2bmNzZXJ2ZXIvbWFpbi5jCi1AQCAtNDcsNyArNDcsNyBAQCBzdGF0aWMgTVVURVgoZXh0TXV0ZXgpOwotIAotIHN0YXRpYyBpbnQgcmZiRW5hYmxlTG9nZ2luZz0xOwotIAotLSNpZmRlZiBMSUJWTkNTRVJWRVJfV09SRFNfQklHRU5ESUFOCi0rI2lmZGVmIFdPUkRTX0JJR0VORElBTgotIGNoYXIgcmZiRW5kaWFuVGVzdCA9ICgxPT0wKTsKLSAjZWxzZQotIGNoYXIgcmZiRW5kaWFuVGVzdCA9ICgxPT0xKTsKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3gxMXZuYy9maWxlcy9zdGFydGluZy1maXgucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveDExdm5jL2ZpbGVzL3N0YXJ0aW5nLWZpeC5wYXRjaAppbmRleCBmNjJlNDA1Li4wNjAzMTljIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveDExdm5jL2ZpbGVzL3N0YXJ0aW5nLWZpeC5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveDExdm5jL2ZpbGVzL3N0YXJ0aW5nLWZpeC5wYXRjaApAQCAtMTAsMTAgKzEwLDEwIEBACiAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KIAotSW5kZXg6IHgxMXZuYy0wLjkuMTIveDExdm5jL3gxMXZuYy5kZXNrdG9wCitJbmRleDogeDExdm5jLTAuOS4xMi94MTF2bmMuZGVza3RvcAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHgxMXZuYy0wLjkuMTIub3JpZy94MTF2bmMveDExdm5jLmRlc2t0b3AJMjAxMS0wMy0wMyAxMDozMzoxOC4wMDAwMDAwMDAgKzA4MDAKLSsrKyB4MTF2bmMtMC45LjEyL3gxMXZuYy94MTF2bmMuZGVza3RvcAkyMDExLTAzLTAzIDEwOjM1OjIwLjAwMDAwMDAwMCArMDgwMAorLS0tIHgxMXZuYy0wLjkuMTIub3JpZy94MTF2bmMuZGVza3RvcAkyMDExLTAzLTAzIDEwOjMzOjE4LjAwMDAwMDAwMCArMDgwMAorKysrIHgxMXZuYy0wLjkuMTIveDExdm5jLmRlc2t0b3AJMjAxMS0wMy0wMyAxMDozNToyMC4wMDAwMDAwMDAgKzA4MDAKIEBAIC0xLDcgKzEsNyBAQAogIFtEZXNrdG9wIEVudHJ5XQogIE5hbWU9WDExVk5DIFNlcnZlcgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3gxMXZuYy94MTF2bmNfMC45LjEzLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3gxMXZuYy94MTF2bmNfMC45LjEzLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMDQ3YmM0Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94MTF2bmMveDExdm5jXzAuOS4xMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLVNVTU1BUlkgPSAiRXhwb3J0cyB5b3VyIFggc2Vzc2lvbiBvbi10aGUtZmx5IHZpYSBWTkMiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmthcmxydW5nZS5jb20veDExdm5jLyIKLQotU0VDVElPTiA9ICJ4MTEvdXRpbHMiCi1BVVRIT1IgPSAiS2FybCBSdW5nZSIKLUxJQ0VOU0UgPSAiR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzYxYjZiODM3Y2FkMjZjNjkwMGE5MjZiNjJhYWRhNWYgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8veDExdm5jL3gxMXZuYy5oO2VuZGxpbmU9MzM7bWQ1PTZmOTVkYzY1MzU0NjdkN2VlMTU2M2ZkNDM0ZmIzNzJlIgotCi1TUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9saWJ2bmNzZXJ2ZXIveDExdm5jLyR7UFZ9L3gxMXZuYy0ke1BWfS50YXIuZ3pcCi0gICAgICAgICAgIGZpbGU6Ly9zdGFydGluZy1maXgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZW5kaWFuLWZpeC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9yZW1vdmUtcmVkdW5kYW50LVJQQVRILnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gImEzNzJlYzRmZTgyMTEyMjE1NDdiMWMxMDhjZjU2ZTRjIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImY2ODI5ZjJlNjI5NjY3YTUyODRkZTYyYjA4MGIxMzEyNmEwNzM2NDk5ZmU0N2NkYjQ0N2FlZGIwN2E1OWYxM2IiCi0KLURFUEVORFMgPSAib3BlbnNzbCB2aXJ0dWFsL2xpYngxMSBsaWJ4ZXh0IGpwZWcgemxpYiBsaWJ4Zml4ZXMgbGlieHJhbmRyIGxpYnhkYW1hZ2UgbGlieHRzdCBsaWJ0YXNuMSBwMTEta2l0IgotCi1pbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCi0jIGRlcGVuZHMgb24gdmlydHVhbC9saWJ4MTEKLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3plcm9jb25mJywgJ2F2YWhpJywgJycsIGQpfSBsaWJ2bmNzZXJ2ZXIiCi1QQUNLQUdFQ09ORklHW2F2YWhpXSA9ICItLXdpdGgtYXZhaGksLS13aXRob3V0LWF2YWhpLGF2YWhpIgotUEFDS0FHRUNPTkZJR1t4aW5lcmFtYV0gPSAiLS13aXRoLXhpbmVyYW1hLC0td2l0aG91dC14aW5lcmFtYSxsaWJ4aW5lcmFtYSIKLVBBQ0tBR0VDT05GSUdbbGlidm5jc2VydmVyXSA9ICItLXdpdGgtc3lzdGVtLWxpYnZuY3NlcnZlciwtLXdpdGhvdXQtc3lzdGVtLWxpYnZuY3NlcnZlcixsaWJ2bmNzZXJ2ZXIiCi0KLWRvX3ByZXBhcmVfc291cmNlcyAoKSB7Ci0gICAgIyBSZW1vdmUgb2xkIGxpYnRvb2wgbWFjcm9zIGZyb20gYWNpbmNsdWRlLm00Ci0gICAgc2VkIC1pIC1lICcvXiMgbGlidG9vbC5tNC9xJyAke1N9L2FjaW5jbHVkZS5tNAotfQotZG9fcGF0Y2hbcG9zdGZ1bmNzXSArPSAiZG9fcHJlcGFyZV9zb3VyY2VzIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3gxMXZuYy94MTF2bmNfMC45LjE2LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3gxMXZuYy94MTF2bmNfMC45LjE2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhYWNlMDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveDExdm5jL3gxMXZuY18wLjkuMTYuYmIKQEAgLTAsMCArMSw0MCBAQAorU1VNTUFSWSA9ICJFeHBvcnRzIHlvdXIgWCBzZXNzaW9uIG9yIEZyYW1lQnVmZmVyKGZiZGV2KSBvbi10aGUtZmx5IHZpYSBWTkMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmthcmxydW5nZS5jb20veDExdm5jLyIKKworU0VDVElPTiA9ICJ4MTEvdXRpbHMiCitBVVRIT1IgPSAiS2FybCBSdW5nZSIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL3gxMXZuYy5oO2VuZGxpbmU9MzE7bWQ1PWU4NzFhMmFkMDA0Nzc2Nzk0YjYxNjgyMmRjYWI2MzE0IgorCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9MaWJWTkMveDExdm5jL2FyY2hpdmUvJHtQVn0udGFyLmd6O2Rvd25sb2FkZmlsZW5hbWU9eDExdm5jLSR7UFZ9LnRhci5nelwKKyAgICAgICAgICAgZmlsZTovL3N0YXJ0aW5nLWZpeC5wYXRjaCBcCisJICAgZmlsZTovLzAwMDEtbWlzYy1NYWtlZmlsZS5hbS1kb24tdC1pbnN0YWxsLVhkdW1teS13aGVuLWNvbmZpZ3VyZS5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2NDE3MmU4Zjg5NjM4OWVjOTYzZmZmOTM0MTVmMGQ5MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ODVlNWI1ZjVmMjVlZWM2ZjllNGExZThiZTNkMGFjNzFhNjg2MzMxZWUxY2ZiNDQyZGJhMzkxMTExYmQzMmJkIgorCitERVBFTkRTID0gIlwKKwlqcGVnIFwKKwlsaWJ0YXNuMSBcCisJbGlidm5jc2VydmVyIFwKKwlvcGVuc3NsIFwKKwlwMTEta2l0IFwKKwl6bGliIFwKKyIKKworaW5oZXJpdCBwa2djb25maWcgYXV0b3Rvb2xzIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCitBTllfT0ZfRElTVFJPX0ZFQVRVUkVTID0gIngxMSBmYmRldiIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIlwKKwkke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3plcm9jb25mJywgJ2F2YWhpJywgJycsIGQpfSBcCisJJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgZCl9IFwKKyIKKworUEFDS0FHRUNPTkZJR1thdmFoaV0gPSAiLS13aXRoLWF2YWhpLC0td2l0aG91dC1hdmFoaSxhdmFoaSIKK1BBQ0tBR0VDT05GSUdbeGluZXJhbWFdID0gIi0td2l0aC14aW5lcmFtYSwtLXdpdGhvdXQteGluZXJhbWEsbGlieGluZXJhbWEiCitQQUNLQUdFQ09ORklHW3gxMV0gPSAiLS13aXRoLXgsLS13aXRob3V0LXgsIGxpYnhkYW1hZ2UgbGlieGV4dCBsaWJ4Zml4ZXMgbGlieHJhbmRyIGxpYnh0c3QgdmlydHVhbC9saWJ4MTEiCisKK1JSRUNPTU1FTkRTXyR7UE59ID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnZmJkZXYnLCAna2VybmVsLW1vZHVsZS11aW5wdXQnLCAnJywgZCl9IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3R3bV8xLjAuMTAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAvdHdtXzEuMC4xMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYTIyNjdhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3R3bV8xLjAuMTAuYmIKQEAgLTAsMCArMSwxNSBAQAorcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hvcmctYXBwLWNvbW1vbi5pbmMKK1NVTU1BUlkgPSAidGlueSB3aW5kb3cgbWFuYWdlciIKK0RFUEVORFMgKz0gIiBsaWJ4ZXh0IGxpYnh0IGxpYnhtdSBiaXNvbi1uYXRpdmUiCisKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGM2ZDQyZWY2MGU4MTY2YWEyNjYwNjUyNGMwYjk1ODYiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlMzIyYzA4ZWViNjM1ZjkyNGVkZTViOGViYTNkYjU0ZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2NDQ5ZWFkY2ExNmNlMGYwZDkwMDYwNWIwY2MwMjBiOTVmNDA2MTkyNjFiN2JlY2NmYjQ2YmNjMTgzNjQ0NWQ3IgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9YMTEvdHdtL3N5c3RlbS50d21yYyIKK0FMVEVSTkFUSVZFX05BTUUgPSAieC13aW5kb3ctbWFuYWdlciIKK0FMVEVSTkFUSVZFX1BBVEggPSAiJHtiaW5kaXJ9L3R3bSIKK0FMVEVSTkFUSVZFX0xJTksgPSAiJHtiaW5kaXJ9L3gtd2luZG93LW1hbmFnZXIiCitBTFRFUk5BVElWRV9QUklPUklUWSA9ICIxIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3R3bV8xLjAuOS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC90d21fMS4wLjkuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQxYzgwNGIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3R3bV8xLjAuOS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLXJlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94b3JnLWFwcC1jb21tb24uaW5jCi1TVU1NQVJZID0gInRpbnkgd2luZG93IG1hbmFnZXIiCi1ERVBFTkRTICs9ICIgbGlieGV4dCBsaWJ4dCBsaWJ4bXUgYmlzb24tbmF0aXZlIgotCi1MSUNFTlNFID0gIk1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTRjNmQ0MmVmNjBlODE2NmFhMjY2MDY1MjRjMGI5NTg2IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNTlhNmYwNzZjZGFjYjVmNjk0NWRhYzgwOWJjZjQ5MDYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzU3NTE2N2FjMzNlZGYzYmQxNTkyZjFiZWRmZTA1NTlkZWJiMTI4ZWQ1ZmI0ODczYzEyNzhlM2JlMTY2MzEwYSIKLQotRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vWDExL3R3bS9zeXN0ZW0udHdtcmMiCi1BTFRFUk5BVElWRV9OQU1FID0gIngtd2luZG93LW1hbmFnZXIiCi1BTFRFUk5BVElWRV9QQVRIID0gIiR7YmluZGlyfS90d20iCi1BTFRFUk5BVElWRV9MSU5LID0gIiR7YmluZGlyfS94LXdpbmRvdy1tYW5hZ2VyIgotQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94d2RfMS4wLjYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHdkXzEuMC42LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2OTRiZjU3Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94d2RfMS4wLjYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1yZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG9yZy1hcHAtY29tbW9uLmluYwotCi1TVU1NQVJZID0gInh3ZCBpcyBhIHRvb2wgdG8gY2FwdHVyZSBhbiBYIHdpbmRvdyBvciBzY3JlZW4gdG8gZmlsZSIKLUhPTUVQQUdFID0gImh0dHA6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy94b3JnL2FwcC94d2QvIgotU0VDVElPTiA9ICJ4MTEvYXBwIgotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jMGNkYjc4M2U5YTAxOTgyMzczNzFmZGFhMjZhMThiZiIKLURFUEVORFMgPSAibGlieG11IGxpYnhrYmZpbGUiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI2YjVkNDg0NjRjNWYzNjZlOTFlZmQwOGI2MmIxMmQ5NCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIzYmIzOTZhMjI2OGQ3OGRlNGIxYzNlNTIzN2E4NWY3ODQ5ZDM0MzRlODdiM2NkMWY0ZDU3ZWVmNjE0MjI3ZDc5IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3h3ZF8xLjAuNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94d2RfMS4wLjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWFkNDhiMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94d2RfMS4wLjcuYmIKQEAgLTAsMCArMSwxMSBAQAorcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJ4d2QgaXMgYSB0b29sIHRvIGNhcHR1cmUgYW4gWCB3aW5kb3cgb3Igc2NyZWVuIHRvIGZpbGUiCitIT01FUEFHRSA9ICJodHRwOi8vY2dpdC5mcmVlZGVza3RvcC5vcmcveG9yZy9hcHAveHdkLyIKK1NFQ1RJT04gPSAieDExL2FwcCIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YzBjZGI3ODNlOWEwMTk4MjM3MzcxZmRhYTI2YTE4YmYiCitERVBFTkRTID0gImxpYnhtdSBsaWJ4a2JmaWxlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMTE3OTRhOGViYTZkMjk1YTE5MmE4OTc1Mjg3ZmQ5NDciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiY2Q2ODE1YjhiOWUwYjk4ZTI4NGQzZDczMmZiMTIxNjIxNTljYjlkY2VlNGY0NWE3ZDRjMGJkOGIzMDhhNjc5NCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWF0aV8xOC4wLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1hdGlfMTguMC4xLmJiCmluZGV4IDk2OWMxYTAuLmIzOGZiNjUgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWF0aV8xOC4wLjEuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tYXRpXzE4LjAuMS5iYgpAQCAtMTIsOCArMTIsNiBAQAogaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKIFJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyArPSAib3BlbmdsIgogCi1DT01QQVRJQkxFX0hPU1QgPSAnKGkuODZ8eDg2XzY0KS4qLWxpbnV4JwotCiBTUkNfVVJJW21kNXN1bV0gPSAiNDBlN2MwYTVhNjlhYmEzZDg0ZTA5NThmNTg3MDVlYTciCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzJlYTNiODEyN2Q0NTUwYjY0Zjc5NzQ1N2Y1YTc4NTFhNTQxZmE0ZWUyY2MzZjM0NWI2YzE4ODZiODE3MTRhMCIKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tbWdhXzEuNi41LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tbWdhXzEuNi41LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxODJlMThmLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLW1nYV8xLjYuNS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLXJlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94b3JnLWRyaXZlci12aWRlby5pbmMKLQotU1VNTUFSWSA9ICJYLk9yZyBYIHNlcnZlciAtLSBNYXRyb3ggTUdBIGRpc3BsYXkgZHJpdmVyIgotCi1ERVNDUklQVElPTiA9ICJtZ2EgaXMgYW4gWG9yZyBkcml2ZXIgZm9yIE1hdHJveCB2aWRlbyBjYXJkcyIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YmMxMzk1ZDJjZDMyZGZjNWQ2YzU3ZDJkOGY4M2QzZmMiCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly9jaGVja2ZpbGUucGF0Y2giCi0KLURFUEVORFMgKz0gInZpcnR1YWwvbGlieDExIGxpYnBjaWFjY2VzcyIKLQotQ09NUEFUSUJMRV9IT1NUID0gJyhpLjg2LiotbGludXh8eDg2XzY0LiotbGludXgpJwotCi1TUkNfVVJJW21kNXN1bV0gPSAiM2VlMjU0OTI0N2UwMWRlM2U3YmNlNTJjMjc0ODMxMTgiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjY2M2NkOGU2MzY0ZjdjNGUyNjM3YjlmY2FiOTg2MWQwZTM5NzE1MThjNzNiMDBkMjEzZjY1NDVhMTI4OTQyMiIKLQotUEFDS0FHRUNPTkZJRyA/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdvcGVuZ2wnLCAnZHJpJywgJycsIGQpfSIKLVBBQ0tBR0VDT05GSUdbZHJpXSA9ICItLWVuYWJsZS1kcmksLS1kaXNhYmxlLWRyaSxkcm0geG9yZ3Byb3RvLHhzZXJ2ZXIteG9yZy1leHRlbnNpb24tZHJpIgotCi1SREVQRU5EU18ke1BOfSA9ICJ4c2VydmVyLXhvcmctbW9kdWxlLWV4YSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLW1nYV8yLjAuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLW1nYV8yLjAuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMTEzZDUxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tbWdhXzIuMC4wLmJiCkBAIC0wLDAgKzEsMjEgQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94b3JnLWRyaXZlci12aWRlby5pbmMKKworU1VNTUFSWSA9ICJYLk9yZyBYIHNlcnZlciAtLSBNYXRyb3ggTUdBIGRpc3BsYXkgZHJpdmVyIgorCitERVNDUklQVElPTiA9ICJtZ2EgaXMgYW4gWG9yZyBkcml2ZXIgZm9yIE1hdHJveCB2aWRlbyBjYXJkcyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YmMxMzk1ZDJjZDMyZGZjNWQ2YzU3ZDJkOGY4M2QzZmMiCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9jaGVja2ZpbGUucGF0Y2giCisKK0RFUEVORFMgKz0gInZpcnR1YWwvbGlieDExIGxpYnBjaWFjY2VzcyIKKworQ09NUEFUSUJMRV9IT1NUID0gJyhpLjg2LiotbGludXh8eDg2XzY0LiotbGludXgpJworCitTUkNfVVJJW21kNXN1bV0gPSAiYjhmYzk5YjRhZGVhOGJmZTgwMTU2YjEzZGY0YjZjOWMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjY4OTQ2ZTFhMTNlOWQ4MGU0ZjcyNGEwNzQwZGY5ZTZlOGM4YmFkMzc2OTdmY2JmNDU2OTI0ZTlmZGJiNWQ3OSIKKworUEFDS0FHRUNPTkZJRyA/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdvcGVuZ2wnLCAnZHJpJywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUdbZHJpXSA9ICItLWVuYWJsZS1kcmksLS1kaXNhYmxlLWRyaSxkcm0geG9yZ3Byb3RvLHhzZXJ2ZXIteG9yZy1leHRlbnNpb24tZHJpIgorCitSREVQRU5EU18ke1BOfSA9ICJ4c2VydmVyLXhvcmctbW9kdWxlLWV4YSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvYnBmdG9vbC9icGZ0b29sLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9icGZ0b29sL2JwZnRvb2wuYmIKaW5kZXggZGQ3ZWFhMi4uZjc1YWM2ZiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9icGZ0b29sL2JwZnRvb2wuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9icGZ0b29sL2JwZnRvb2wuYmIKQEAgLTI3LDcgKzI3LDcgQEAKIFBBQ0tBR0VfQVJDSCA9ICIke01BQ0hJTkVfQVJDSH0iCiAKIHB5dGhvbiBkb19wYWNrYWdlX3ByZXBlbmQoKSB7Ci0gICAgZC5zZXRWYXIoJ1BLR1YnLCBkLmdldFZhcigiS0VSTkVMX1ZFUlNJT04iLCBUcnVlKS5zcGxpdCgiLSIpWzBdKQorICAgIGQuc2V0VmFyKCdQS0dWJywgZC5nZXRWYXIoIktFUk5FTF9WRVJTSU9OIikuc3BsaXQoIi0iKVswXSkKIH0KIAogQiA9ICIke1dPUktESVJ9LyR7QlBOfS0ke1BWfSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvY3B1cG93ZXIvY3B1cG93ZXIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2NwdXBvd2VyL2NwdXBvd2VyLmJiCmluZGV4IDQ1NDRmNWIuLjkyODk3MzggMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvY3B1cG93ZXIvY3B1cG93ZXIuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcHVwb3dlci9jcHVwb3dlci5iYgpAQCAtMzAsNyArMzAsNyBAQAogUkRFUEVORFNfJHtQTn0gPSAiYmFzaCIKIAogcHl0aG9uIGRvX3BhY2thZ2VfcHJlcGVuZCgpIHsKLSAgICBkLnNldFZhcignUEtHVicsIGQuZ2V0VmFyKCJLRVJORUxfVkVSU0lPTiIsIFRydWUpLnNwbGl0KCItIilbMF0pCisgICAgZC5zZXRWYXIoJ1BLR1YnLCBkLmdldFZhcigiS0VSTkVMX1ZFUlNJT04iKS5zcGxpdCgiLSIpWzBdKQogfQogCiBCID0gIiR7V09SS0RJUn0vJHtCUE59LSR7UFZ9IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcmFzaC9jcmFzaF83LjIuNC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvY3Jhc2gvY3Jhc2hfNy4yLjQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM3MmIxYTMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcmFzaC9jcmFzaF83LjIuNC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEyMCArMCwwIEBACi1TVU1NQVJZID0gIktlcm5lbCBhbmFseXNpcyB1dGlsaXR5IGZvciBsaXZlIHN5c3RlbXMsIG5ldGR1bXAsIGRpc2tkdW1wLCBrZHVtcCwgTEtDRCBvciBtY29yZSBkdW1wZmlsZXMiCi1ERVNDUklQVElPTiA9ICJUaGUgY29yZSBhbmFseXNpcyBzdWl0ZSBpcyBhIHNlbGYtY29udGFpbmVkIHRvb2wgdGhhdCBjYW4gYmUgdXNlZCB0b1wKLWludmVzdGlnYXRlIGVpdGhlciBsaXZlIHN5c3RlbXMsIGtlcm5lbCBjb3JlIGR1bXBzIGNyZWF0ZWQgZnJvbSB0aGVcCi1uZXRkdW1wLCBkaXNrZHVtcCBhbmQga2R1bXAgcGFja2FnZXMgZnJvbSBSZWQgSGF0IExpbnV4LCB0aGUgbWNvcmUga2VybmVsIHBhdGNoXAotb2ZmZXJlZCBieSBNaXNzaW9uIENyaXRpY2FsIExpbnV4LCBvciB0aGUgTEtDRCBrZXJuZWwgcGF0Y2guIgotCi1IT01FUEFHRSA9ICJodHRwOi8vcGVvcGxlLnJlZGhhdC5jb20vYW5kZXJzb24iCi1TRUNUSU9OID0gImRldmVsIgotCi1MSUNFTlNFID0gIkdQTHYzIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzM7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgotCi1ERVBFTkRTID0gInpsaWIgcmVhZGxpbmUgY29yZXV0aWxzLW5hdGl2ZSIKLQotU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vY3Jhc2gtdXRpbGl0eS8ke0JQTn0vYXJjaGl2ZS8ke1BWfS50YXIuZ3o7ZG93bmxvYWRmaWxlbmFtZT0ke0JQfS50YXIuZ3ogXAotICAgICAgICAgICBodHRwOi8vZnRwLmdudS5vcmcvZ251L2dkYi9nZGItNy42LnRhci5nejtuYW1lPWdkYjtzdWJkaXI9JHtCUH0gXAotICAgICAgICAgICBmaWxlOi8vNzAwMWZvcmNlX2RlZmluZV9hcmNoaXRlY3R1cmUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vNzAwM2Nyb3NzX3JhbmxpYi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWNyb3NzX2FkZF9jb25maWd1cmVfb3B0aW9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3NpbS1wcGMtZHJvcC1MSUJTLWZyb20tcHNpbS1kZXBlbmRlbmN5LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3NpbS1jb21tb24tc2ltLWFyYW5nZS1maXgtZXh0ZXJuLWlubGluZS1oYW5kbGluZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kb25ub3QtZXh0cmFjdC1nZGItZHVyaW5nLWRvLWNvbXBpbGUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZ2RiX2J1aWxkX2pvYnNfYW5kX25vdF93cml0ZV9jcmFzaF90YXJnZXQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcmVtb3ZlLXVucmVjb2duaXplZC1nY2Mtb3B0aW9uLW0zMi1mb3ItbWlwcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLWNyYXNoLWZpeC1idWlsZC1lcnJvci11bmtub3duLXR5cGUtbmFtZS1nZGJfZnByZWdzZXQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMy1jcmFzaC1kZXRlY3QtdGhlLXN5c3Jvb3Qtcy1nbGliYy1oZWFkZXItZmlsZS5wYXRjaCBcCi0gICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICI0ZjY2ZWIwZTlhODJmZjgzZGUwNmFjMmIzNzUwMWY1YyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI4NWNhMmU5M2YxZWU2MjhlZjI0OTlhYjljNzg2MjNmOGIwNDUwMGJkZjczNzhjMDlkZTE5MjgzZjZhN2E2OThmIgotCi1TUkNfVVJJW2dkYi5tZDVzdW1dID0gImE5ODM2NzA3MzM3ZTVmN2JmNzZhMDA5YTg5MDRmNDcwIgotU1JDX1VSSVtnZGIuc2hhMjU2c3VtXSA9ICI4MDcwMzg5YTVkY2MxMDRlYjBiZTQ4M2Q1ODI3MjlmOThlZDRkNzYxYWQxOWNlZGQzZjE3YjVkMjUwMmZhYTM2IgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2NyYXNoLXV0aWxpdHkvY3Jhc2gvcmVsZWFzZXMiCi0KLWluaGVyaXQgZ2V0dGV4dAotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBjcm9zcyIKLVRBUkdFVF9DQ19BUkNIX2FwcGVuZCA9ICIgJHtTRUxFQ1RFRF9PUFRJTUlaQVRJT059IgotCi0jIGNyYXNoIDcuMS4zIGFuZCBiZWZvcmUgZG9uJ3Qgc3VwcG9ydCBtaXBzNjQKLUNPTVBBVElCTEVfSE9TVCA9ICJeKD8hbWlwczY0KS4qIgotCi1FWFRSQV9PRU1BS0UgPSAnUlBNUEtHPSIke1BWfSIgXAotICAgICAgICAgICAgICAgIEdEQl9UQVJHRVQ9IiR7VEFSR0VUX1NZU30iIFwKLSAgICAgICAgICAgICAgICBHREJfSE9TVD0iJHtCVUlMRF9TWVN9IiBcCi0gICAgICAgICAgICAgICAgR0RCX01BS0VfSk9CUz0iJHtQQVJBTExFTF9NQUtFfSIgXAotICAgICAgICAgICAgICAgIExERkxBR1M9IiR7TERGTEFHU30iIFwKLSAgICAgICAgICAgICAgICAnCi0KLUVYVFJBX09FTUFLRV9jbGFzcy1jcm9zcyA9ICdSUE1QS0c9IiR7UFZ9IiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgR0RCX1RBUkdFVD0iJHtCVUlMRF9TWVN9IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcJHtHREJfQ09ORl9GTEFHU30gXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tdGFyZ2V0PSR7VEFSR0VUX1NZU30iIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBHREJfSE9TVD0iJHtCVUlMRF9TWVN9IiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgR0RCX01BS0VfSk9CUz0iJHtQQVJBTExFTF9NQUtFfSIgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICcKLQotRVhUUkFfT0VNQUtFX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIExERkxBR1M9JyR7QlVJTERfTERGTEFHU30nIgotRVhUUkFfT0VNQUtFX2FwcGVuZF9jbGFzcy1jcm9zcyA9ICIgTERGTEFHUz0nJHtCVUlMRF9MREZMQUdTfSciCi0KLVJFTU9WRV9NMzIgPSAic2VkIC1pIC1lICdzLyNkZWZpbmUgVEFSR0VUX0NGTEFHU19BUk1fT05fWDg2XzY0LiovI2RlZmluZSBUQVJHRVRfQ0ZMQUdTX0FSTV9PTl9YODZfNjRcdFwiVEFSR0VUX0NGTEFHUz0tRF9GSUxFX09GRlNFVF9CSVRTPTY0XCIvZycgJHtTfS9jb25maWd1cmUuYyIKLQotUkVNT1ZFX00zMl9jbGFzcy1jcm9zcyA9ICIiCi0KLWRvX2NvbmZpZ3VyZSgpIHsKLSAgICA6Ci19Ci0KLWRvX2NvbXBpbGVfcHJlcGVuZCgpIHsKLSAgICBjYXNlICR7VEFSR0VUX0FSQ0h9IGluCi0gICAgICAgIGFhcmNoNjQqKSAgICBBUkNIPUFSTTY0IDs7Ci0gICAgICAgIGFybSopICAgICAgICBBUkNIPUFSTSA7OwotICAgICAgICBpKjg2KikgICAgICAgQVJDSD1YODYgOzsKLSAgICAgICAgeDg2XzY0KikgICAgIEFSQ0g9WDg2XzY0IDs7Ci0gICAgICAgIHBvd2VycGM2NCopICBBUkNIPVBQQzY0IDs7Ci0gICAgICAgIHBvd2VycGMqKSAgICBBUkNIPVBQQyA7OwotICAgICAgICBtaXBzKikgICAgICAgQVJDSD1NSVBTIDs7Ci0gICAgZXNhYwotCi0gICAgc2VkIC1pIHMvRk9SQ0VfREVGSU5FX0FSQ0gvIiR7QVJDSH0iL2cgJHtTfS9jb25maWd1cmUuYwotICAgICR7UkVNT1ZFX00zMn0KLSAgICBzZWQgLWkgJ3MvJmd0Oy8+L2cnICR7U30vTWFrZWZpbGUKLX0KLQotZG9fY29tcGlsZSgpIHsKLSAgICBvZV9ydW5tYWtlICR7RVhUUkFfT0VNQUtFfSBSRUNJUEVfU1lTUk9PVD0ke1JFQ0lQRV9TWVNST09UfQotfQotCi1kb19pbnN0YWxsX3ByZXBlbmQgKCkgewotICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQotICAgIGluc3RhbGwgLWQgJHtEfS8ke21hbmRpcn0vbWFuOAotICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0vY3Jhc2gKLQotICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2NyYXNoLjggJHtEfS8ke21hbmRpcn0vbWFuOC8KLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9kZWZzLmggJHtEfSR7aW5jbHVkZWRpcn0vY3Jhc2gKLX0KLQotZG9faW5zdGFsbF9jbGFzcy10YXJnZXQgKCkgewotICAgIG9lX3J1bm1ha2UgREVTVERJUj0ke0R9IGluc3RhbGwKLX0KLQotZG9faW5zdGFsbF9jbGFzcy1uYXRpdmUgKCkgewotICAgIG9lX3J1bm1ha2UgREVTVERJUj0ke0R9JHtTVEFHSU5HX0RJUl9OQVRJVkV9IGluc3RhbGwKLX0KLQotZG9faW5zdGFsbF9jbGFzcy1jcm9zcyAoKSB7Ci0gICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vY3Jhc2ggJHtEfS8ke2JpbmRpcn0KLX0KLQotUkRFUEVORFNfJHtQTn0gKz0gImxpYmx6bWEiCi1SREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiIgotUkRFUEVORFNfJHtQTn1fY2xhc3MtY3Jvc3MgPSAiIgotCi0jIENhdXNlcyBnY2MgdG8gZ2V0IHN0dWNrIGFuZCBlYXQgYWxsIGF2YWlsYWJsZSBtZW1vcnkgaW4gcWVtdWFybSBidWlsZHMKLSMgamVua2lucyAgMTUxNjEgIDEwMCAxMi41IDEwMzg5NTk2IDEwMzIxMjg0ID8gICBSICAgIDExOjQwICAyODoxNyAvaG9tZS9qZW5raW5zL29lL3dvcmxkL3Noci1jb3JlL3RtcC1nbGliYy9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYmV4ZWMvYXJtLW9lLWxpbnV4LWdudWVhYmkvZ2NjL2FybS1vZS1saW51eC1nbnVlYWJpLzQuOS4yL2NjMSAtcXVpZXQgLUkgLiAtSSAuIC1JIC4vY29tbW9uIC1JIC4vY29uZmlnIC1JIC4vLi4vaW5jbHVkZS9vcGNvZGUgLUkgLi8uLi9vcGNvZGVzLy4uIC1JIC4vLi4vcmVhZGxpbmUvLi4gLUkgLi4vYmZkIC1JIC4vLi4vYmZkIC1JIC4vLi4vaW5jbHVkZSAtSSAuLi9saWJkZWNudW1iZXIgLUkgLi8uLi9saWJkZWNudW1iZXIgLUkgLi9nbnVsaWIvaW1wb3J0IC1JIGJ1aWxkLWdudWxpYi9pbXBvcnQgLWlzeXNyb290IC9ob21lL2plbmtpbnMvb2Uvd29ybGQvc2hyLWNvcmUvdG1wLWdsaWJjL3N5c3Jvb3RzL3FlbXVhcm0gLU1NRCBldmFsLmQgLU1GIC5kZXBzL2V2YWwuVHBvIC1NUCAtTVQgZXZhbC5vIC1EIExPQ0FMRURJUj0iL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiIC1EIENSQVNIX01FUkdFIC1EIEhBVkVfQ09ORklHX0ggLUQgVFVJPTEgZXZhbC5jIC1xdWlldCAtZHVtcGJhc2UgZXZhbC5jIC1tYXJjaD1hcm12NXRlIC1tdGh1bWIgLW10aHVtYi1pbnRlcndvcmsgLW10bHMtZGlhbGVjdD1nbnUgLWF1eGJhc2Utc3RyaXAgZXZhbC5vIC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV25vLXBvaW50ZXItc2lnbiAtV25vLXVudXNlZCAtV3VudXNlZC12YWx1ZSAtV3VudXNlZC1mdW5jdGlvbiAtV25vLXN3aXRjaCAtV25vLWNoYXItc3Vic2NyaXB0cyAtV21pc3NpbmctcHJvdG90eXBlcyAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VtcHR5LWJvZHkgLWZlbGltaW5hdGUtdW51c2VkLWRlYnVnLXR5cGVzIC1vIC0KLUFSTV9JTlNUUlVDVElPTl9TRVQgPSAiYXJtIgotCi0jIGh0dHA6Ly9lcnJvcnMueW9jdG9wcm9qZWN0Lm9yZy9FcnJvcnMvRGV0YWlscy8xODY5NjQvCi1FWENMVURFX0ZST01fV09STERfbGliYy1tdXNsID0gIjEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2NyYXNoL2NyYXNoXzcuMi41LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcmFzaC9jcmFzaF83LjIuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYjIzMzU2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcmFzaC9jcmFzaF83LjIuNS5iYgpAQCAtMCwwICsxLDEyMCBAQAorU1VNTUFSWSA9ICJLZXJuZWwgYW5hbHlzaXMgdXRpbGl0eSBmb3IgbGl2ZSBzeXN0ZW1zLCBuZXRkdW1wLCBkaXNrZHVtcCwga2R1bXAsIExLQ0Qgb3IgbWNvcmUgZHVtcGZpbGVzIgorREVTQ1JJUFRJT04gPSAiVGhlIGNvcmUgYW5hbHlzaXMgc3VpdGUgaXMgYSBzZWxmLWNvbnRhaW5lZCB0b29sIHRoYXQgY2FuIGJlIHVzZWQgdG9cCitpbnZlc3RpZ2F0ZSBlaXRoZXIgbGl2ZSBzeXN0ZW1zLCBrZXJuZWwgY29yZSBkdW1wcyBjcmVhdGVkIGZyb20gdGhlXAorbmV0ZHVtcCwgZGlza2R1bXAgYW5kIGtkdW1wIHBhY2thZ2VzIGZyb20gUmVkIEhhdCBMaW51eCwgdGhlIG1jb3JlIGtlcm5lbCBwYXRjaFwKK29mZmVyZWQgYnkgTWlzc2lvbiBDcml0aWNhbCBMaW51eCwgb3IgdGhlIExLQ0Qga2VybmVsIHBhdGNoLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL3Blb3BsZS5yZWRoYXQuY29tL2FuZGVyc29uIgorU0VDVElPTiA9ICJkZXZlbCIKKworTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkczO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworREVQRU5EUyA9ICJ6bGliIHJlYWRsaW5lIGNvcmV1dGlscy1uYXRpdmUiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2NyYXNoLXV0aWxpdHkvJHtCUE59L2FyY2hpdmUvJHtQVn0udGFyLmd6O2Rvd25sb2FkZmlsZW5hbWU9JHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgaHR0cDovL2Z0cC5nbnUub3JnL2dudS9nZGIvZ2RiLTcuNi50YXIuZ3o7bmFtZT1nZGI7c3ViZGlyPSR7QlB9IFwKKyAgICAgICAgICAgZmlsZTovLzcwMDFmb3JjZV9kZWZpbmVfYXJjaGl0ZWN0dXJlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzcwMDNjcm9zc19yYW5saWIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1jcm9zc19hZGRfY29uZmlndXJlX29wdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zaW0tcHBjLWRyb3AtTElCUy1mcm9tLXBzaW0tZGVwZW5kZW5jeS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zaW0tY29tbW9uLXNpbS1hcmFuZ2UtZml4LWV4dGVybi1pbmxpbmUtaGFuZGxpbmcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZG9ubm90LWV4dHJhY3QtZ2RiLWR1cmluZy1kby1jb21waWxlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2dkYl9idWlsZF9qb2JzX2FuZF9ub3Rfd3JpdGVfY3Jhc2hfdGFyZ2V0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3JlbW92ZS11bnJlY29nbml6ZWQtZ2NjLW9wdGlvbi1tMzItZm9yLW1pcHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1jcmFzaC1maXgtYnVpbGQtZXJyb3ItdW5rbm93bi10eXBlLW5hbWUtZ2RiX2ZwcmVnc2V0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtY3Jhc2gtZGV0ZWN0LXRoZS1zeXNyb290LXMtZ2xpYmMtaGVhZGVyLWZpbGUucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiM2Y2ZTE4ZDM4ODIxYmIzMjY3MDBmMWQ2ZDQzYmNhZWMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTE0YTgzY2EyN2M5MWU0MzIxZjYzOTlkNjM3YTlkMjI3MGY3MmI5MzI3ZTU2ZDY4N2M1ZmIxMzllOTAzMDY5YiIKKworU1JDX1VSSVtnZGIubWQ1c3VtXSA9ICJhOTgzNjcwNzMzN2U1ZjdiZjc2YTAwOWE4OTA0ZjQ3MCIKK1NSQ19VUklbZ2RiLnNoYTI1NnN1bV0gPSAiODA3MDM4OWE1ZGNjMTA0ZWIwYmU0ODNkNTgyNzI5Zjk4ZWQ0ZDc2MWFkMTljZWRkM2YxN2I1ZDI1MDJmYWEzNiIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9jcmFzaC11dGlsaXR5L2NyYXNoL3JlbGVhc2VzIgorCitpbmhlcml0IGdldHRleHQKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgY3Jvc3MiCitUQVJHRVRfQ0NfQVJDSF9hcHBlbmQgPSAiICR7U0VMRUNURURfT1BUSU1JWkFUSU9OfSIKKworIyBjcmFzaCA3LjEuMyBhbmQgYmVmb3JlIGRvbid0IHN1cHBvcnQgbWlwczY0CitDT01QQVRJQkxFX0hPU1QgPSAiXig/IW1pcHM2NCkuKiIKKworRVhUUkFfT0VNQUtFID0gJ1JQTVBLRz0iJHtQVn0iIFwKKyAgICAgICAgICAgICAgICBHREJfVEFSR0VUPSIke1RBUkdFVF9TWVN9IiBcCisgICAgICAgICAgICAgICAgR0RCX0hPU1Q9IiR7QlVJTERfU1lTfSIgXAorICAgICAgICAgICAgICAgIEdEQl9NQUtFX0pPQlM9IiR7UEFSQUxMRUxfTUFLRX0iIFwKKyAgICAgICAgICAgICAgICBMREZMQUdTPSIke0xERkxBR1N9IiBcCisgICAgICAgICAgICAgICAgJworCitFWFRSQV9PRU1BS0VfY2xhc3MtY3Jvc3MgPSAnUlBNUEtHPSIke1BWfSIgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdEQl9UQVJHRVQ9IiR7QlVJTERfU1lTfSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCR7R0RCX0NPTkZfRkxBR1N9IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLXRhcmdldD0ke1RBUkdFVF9TWVN9IiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0RCX0hPU1Q9IiR7QlVJTERfU1lTfSIgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdEQl9NQUtFX0pPQlM9IiR7UEFSQUxMRUxfTUFLRX0iIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnCisKK0VYVFJBX09FTUFLRV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBMREZMQUdTPScke0JVSUxEX0xERkxBR1N9JyIKK0VYVFJBX09FTUFLRV9hcHBlbmRfY2xhc3MtY3Jvc3MgPSAiIExERkxBR1M9JyR7QlVJTERfTERGTEFHU30nIgorCitSRU1PVkVfTTMyID0gInNlZCAtaSAtZSAncy8jZGVmaW5lIFRBUkdFVF9DRkxBR1NfQVJNX09OX1g4Nl82NC4qLyNkZWZpbmUgVEFSR0VUX0NGTEFHU19BUk1fT05fWDg2XzY0XHRcIlRBUkdFVF9DRkxBR1M9LURfRklMRV9PRkZTRVRfQklUUz02NFwiL2cnICR7U30vY29uZmlndXJlLmMiCisKK1JFTU9WRV9NMzJfY2xhc3MtY3Jvc3MgPSAiIgorCitkb19jb25maWd1cmUoKSB7CisgICAgOgorfQorCitkb19jb21waWxlX3ByZXBlbmQoKSB7CisgICAgY2FzZSAke1RBUkdFVF9BUkNIfSBpbgorICAgICAgICBhYXJjaDY0KikgICAgQVJDSD1BUk02NCA7OworICAgICAgICBhcm0qKSAgICAgICAgQVJDSD1BUk0gOzsKKyAgICAgICAgaSo4NiopICAgICAgIEFSQ0g9WDg2IDs7CisgICAgICAgIHg4Nl82NCopICAgICBBUkNIPVg4Nl82NCA7OworICAgICAgICBwb3dlcnBjNjQqKSAgQVJDSD1QUEM2NCA7OworICAgICAgICBwb3dlcnBjKikgICAgQVJDSD1QUEMgOzsKKyAgICAgICAgbWlwcyopICAgICAgIEFSQ0g9TUlQUyA7OworICAgIGVzYWMKKworICAgIHNlZCAtaSBzL0ZPUkNFX0RFRklORV9BUkNILyIke0FSQ0h9Ii9nICR7U30vY29uZmlndXJlLmMKKyAgICAke1JFTU9WRV9NMzJ9CisgICAgc2VkIC1pICdzLyZndDsvPi9nJyAke1N9L01ha2VmaWxlCit9CisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZSAke0VYVFJBX09FTUFLRX0gUkVDSVBFX1NZU1JPT1Q9JHtSRUNJUEVfU1lTUk9PVH0KK30KKworZG9faW5zdGFsbF9wcmVwZW5kICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0vJHttYW5kaXJ9L21hbjgKKyAgICBpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9L2NyYXNoCisKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9jcmFzaC44ICR7RH0vJHttYW5kaXJ9L21hbjgvCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vZGVmcy5oICR7RH0ke2luY2x1ZGVkaXJ9L2NyYXNoCit9CisKK2RvX2luc3RhbGxfY2xhc3MtdGFyZ2V0ICgpIHsKKyAgICBvZV9ydW5tYWtlIERFU1RESVI9JHtEfSBpbnN0YWxsCit9CisKK2RvX2luc3RhbGxfY2xhc3MtbmF0aXZlICgpIHsKKyAgICBvZV9ydW5tYWtlIERFU1RESVI9JHtEfSR7U1RBR0lOR19ESVJfTkFUSVZFfSBpbnN0YWxsCit9CisKK2RvX2luc3RhbGxfY2xhc3MtY3Jvc3MgKCkgeworICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L2NyYXNoICR7RH0vJHtiaW5kaXJ9Cit9CisKK1JERVBFTkRTXyR7UE59ICs9ICJsaWJsem1hIgorUkRFUEVORFNfJHtQTn1fY2xhc3MtbmF0aXZlID0gIiIKK1JERVBFTkRTXyR7UE59X2NsYXNzLWNyb3NzID0gIiIKKworIyBDYXVzZXMgZ2NjIHRvIGdldCBzdHVjayBhbmQgZWF0IGFsbCBhdmFpbGFibGUgbWVtb3J5IGluIHFlbXVhcm0gYnVpbGRzCisjIGplbmtpbnMgIDE1MTYxICAxMDAgMTIuNSAxMDM4OTU5NiAxMDMyMTI4NCA/ICAgUiAgICAxMTo0MCAgMjg6MTcgL2hvbWUvamVua2lucy9vZS93b3JsZC9zaHItY29yZS90bXAtZ2xpYmMvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWJleGVjL2FybS1vZS1saW51eC1nbnVlYWJpL2djYy9hcm0tb2UtbGludXgtZ251ZWFiaS80LjkuMi9jYzEgLXF1aWV0IC1JIC4gLUkgLiAtSSAuL2NvbW1vbiAtSSAuL2NvbmZpZyAtSSAuLy4uL2luY2x1ZGUvb3Bjb2RlIC1JIC4vLi4vb3Bjb2Rlcy8uLiAtSSAuLy4uL3JlYWRsaW5lLy4uIC1JIC4uL2JmZCAtSSAuLy4uL2JmZCAtSSAuLy4uL2luY2x1ZGUgLUkgLi4vbGliZGVjbnVtYmVyIC1JIC4vLi4vbGliZGVjbnVtYmVyIC1JIC4vZ251bGliL2ltcG9ydCAtSSBidWlsZC1nbnVsaWIvaW1wb3J0IC1pc3lzcm9vdCAvaG9tZS9qZW5raW5zL29lL3dvcmxkL3Noci1jb3JlL3RtcC1nbGliYy9zeXNyb290cy9xZW11YXJtIC1NTUQgZXZhbC5kIC1NRiAuZGVwcy9ldmFsLlRwbyAtTVAgLU1UIGV2YWwubyAtRCBMT0NBTEVESVI9Ii91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiAtRCBDUkFTSF9NRVJHRSAtRCBIQVZFX0NPTkZJR19IIC1EIFRVST0xIGV2YWwuYyAtcXVpZXQgLWR1bXBiYXNlIGV2YWwuYyAtbWFyY2g9YXJtdjV0ZSAtbXRodW1iIC1tdGh1bWItaW50ZXJ3b3JrIC1tdGxzLWRpYWxlY3Q9Z251IC1hdXhiYXNlLXN0cmlwIGV2YWwubyAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1XZm9ybWF0LW5vbmxpdGVyYWwgLVduby1wb2ludGVyLXNpZ24gLVduby11bnVzZWQgLVd1bnVzZWQtdmFsdWUgLVd1bnVzZWQtZnVuY3Rpb24gLVduby1zd2l0Y2ggLVduby1jaGFyLXN1YnNjcmlwdHMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbXB0eS1ib2R5IC1mZWxpbWluYXRlLXVudXNlZC1kZWJ1Zy10eXBlcyAtbyAtCitBUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKKworIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMTg2OTY0LworRVhDTFVERV9GUk9NX1dPUkxEX2xpYmMtbXVzbCA9ICIxIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9tYWtlZHVtcGZpbGUvbWFrZWR1bXBmaWxlLzAwMDItbWVtX3NlY3Rpb24tU3VwcG9ydC1vbmx5LTQ2LWJpdC1mb3ItTUFYX1BIWVNNRU1fQklUUy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvbWFrZWR1bXBmaWxlL21ha2VkdW1wZmlsZS8wMDAyLW1lbV9zZWN0aW9uLVN1cHBvcnQtb25seS00Ni1iaXQtZm9yLU1BWF9QSFlTTUVNX0JJVFMucGF0Y2gKaW5kZXggNzY2ZjRmYy4uMTU2YjRkNSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9tYWtlZHVtcGZpbGUvbWFrZWR1bXBmaWxlLzAwMDItbWVtX3NlY3Rpb24tU3VwcG9ydC1vbmx5LTQ2LWJpdC1mb3ItTUFYX1BIWVNNRU1fQklUUy5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL21ha2VkdW1wZmlsZS9tYWtlZHVtcGZpbGUvMDAwMi1tZW1fc2VjdGlvbi1TdXBwb3J0LW9ubHktNDYtYml0LWZvci1NQVhfUEhZU01FTV9CSVRTLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBiYTEyM2ZhNmIyYWEwYWM2MmQxYjc4ZjMyNzMzOTYzNWFlODcyMDFhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAwZDFjZGI1OWRhMzYwM2UwYTgwOTEzNjE3ZWNlMDE2NGIwNTM4MGQyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQWxleGFuZHJ1IE1vaXNlIDxhbGV4YW5kcnUubW9pc2VAd2luZHJpdmVyLmNvbT4KIERhdGU6IEZyaSwgMjkgQXByIDIwMTYgMDc6NDA6NDYgKzAwMDAKIFN1YmplY3Q6IFtQQVRDSF0gbWVtX3NlY3Rpb246IFN1cHBvcnQgb25seSA0NiBiaXQgZm9yIE1BWF9QSFlTTUVNX0JJVFMgb24KQEAgLTIxLDE5ICsyMSwyMCBAQAogU2lnbmVkLW9mZi1ieTogQWxleGFuZHJ1IE1vaXNlIDxhbGV4YW5kcnUubW9pc2VAd2luZHJpdmVyLmNvbT4KIFNpZ25lZC1vZmYtYnk6IFlpIFpoYW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNvbT4KIAorW2hxQmFpOiBhZGp1c3RlZCBwYXRjaCBmb3IgY29udGV4dCwgbm8gbG9naWNhbCBjaGFuZ2VdCitTaWduZWQtb2ZmLWJ5OiBIYWlxaW5nIEJhaSA8SGFpcWluZy5CYWlAd2luZHJpdmVyLmNvbT4KIC0tLQotIGFyY2gvcHBjNjQuYyB8IDI4ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyNiBkZWxldGlvbnMoLSkKKyBhcmNoL3BwYzY0LmMgfCAzMyArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAzMSBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2FyY2gvcHBjNjQuYyBiL2FyY2gvcHBjNjQuYwotaW5kZXggOGI2ZjdkNS4uNDU4ZjA2YiAxMDA2NDQKK2luZGV4IDk0N2ExMjUuLjQ1OGYwNmIgMTAwNjQ0CiAtLS0gYS9hcmNoL3BwYzY0LmMKICsrKyBiL2FyY2gvcHBjNjQuYwotQEAgLTQ2MiwzOCArNDYyLDE0IEBAIHBwYzY0X3Z0b3BfbGV2ZWw0KHVuc2lnbmVkIGxvbmcgdmFkZHIpCi0gCXJldHVybiBwYWRkcjsKK0BAIC00NjMsNDIgKzQ2MywxMyBAQCBwcGM2NF92dG9wX2xldmVsNCh1bnNpZ25lZCBsb25nIHZhZGRyKQogIH0KICAKLS1pbnQKKyBpbnQKIC1zZXRfcHBjNjRfbWF4X3BoeXNtZW1fYml0cyh2b2lkKQogLXsKIC0JbG9uZyBhcnJheV9sZW4gPSBBUlJBWV9MRU5HVEgobWVtX3NlY3Rpb24pOwpAQCAtNTIsMTAgKzUzLDE1IEBACiAtCQl8fCAoYXJyYXlfbGVuID09IChOUl9NRU1fU0VDVElPTlMoKSAvIF9TRUNUSU9OU19QRVJfUk9PVCgpKSkpCiAtCQlyZXR1cm4gVFJVRTsKIC0KKy0JaW5mby0+bWF4X3BoeXNtZW1fYml0cyAgPSBfTUFYX1BIWVNNRU1fQklUU180XzE5OworLQlpZiAoKGFycmF5X2xlbiA9PSAoTlJfTUVNX1NFQ1RJT05TKCkgLyBfU0VDVElPTlNfUEVSX1JPT1RfRVhUUkVNRSgpKSkKKy0JCXx8IChhcnJheV9sZW4gPT0gKE5SX01FTV9TRUNUSU9OUygpIC8gX1NFQ1RJT05TX1BFUl9ST09UKCkpKSkKKy0JCXJldHVybiBUUlVFOworLQogLQlyZXR1cm4gRkFMU0U7CiAtfQogLQotIGludAorLWludAogIGdldF9tYWNoZGVwX2luZm9fcHBjNjQodm9pZCkKICB7CiAgCXVuc2lnbmVkIGxvbmcgdm1saXN0LCB2bWFwX2FyZWFfbGlzdCwgdm1hbGxvY19zdGFydDsKQEAgLTcwLDMgKzc2LDYgQEAKICAJaW5mby0+cGFnZV9vZmZzZXQgPSBfX1BBR0VfT0ZGU0VUOwogIAogIAlpZiAoU1lNQk9MKF9zdGV4dCkgPT0gTk9UX0ZPVU5EX1NZTUJPTCkgeworLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL21ha2VkdW1wZmlsZS9tYWtlZHVtcGZpbGVfMS42LjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL21ha2VkdW1wZmlsZS9tYWtlZHVtcGZpbGVfMS42LjQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMzMTk0YjguLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9tYWtlZHVtcGZpbGUvbWFrZWR1bXBmaWxlXzEuNi40LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAotU1VNTUFSWSA9ICJWTWNvcmUgZXh0cmFjdGlvbiB0b29sIgotREVTQ1JJUFRJT04gPSAiXAotICAgIFRoaXMgcHJvZ3JhbSBpcyB1c2VkIHRvIGV4dHJhY3QgYSBzdWJzZXQgb2YgdGhlIG1lbW9yeSBhdmFpbGFibGUgZWl0aGVyIFwKLSAgICB2aWEgL2Rldi9tZW0gb3IgL3Byb2Mvdm1jb3JlIChmb3IgY3Jhc2hkdW1wcykuIEl0IGlzIHVzZWQgdG8gZ2V0IG1lbW9yeSBcCi0gICAgaW1hZ2VzIHdpdGhvdXQgZXh0cmEgdW5lZWRlZCBpbmZvcm1hdGlvbiAoemVybyBwYWdlcywgdXNlcnNwYWNlIHByb2dyYW1zLCBcCi0gICAgZXRjKS4gXAotIgotSE9NRVBBR0UgPSAiaHR0cDovL21ha2VkdW1wZmlsZS5zb3VyY2Vmb3JnZS5uZXQiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgotTElDRU5TRSA9ICJHUEx2Mi4wIgotCi1ERVBFTkRTID0gImJ6aXAyIHpsaWIgZWxmdXRpbHMiCi1SREVQRU5EU18ke1BOfS10b29scyA9ICJwZXJsICR7UE59IgotCi0jIGFybSBhbmQgYWFyY2g2NCB3b3VsZCBjb21waWxlIGJ1dCBoYXMgbmV2ZXIgYmVlbiB0ZXN0ZWQgdXBzdHJlYW0uICBtaXBzIHdvdWxkIG5vdCBjb21waWxlLgotIwotQ09NUEFUSUJMRV9IT1NUID0gIih4ODZfNjR8aS44Nnxwb3dlcnBjfGFybXxhYXJjaDY0KS4qLWxpbnV4IgotCi1QQUNLQUdFUyA9KyAiJHtQTn0tdG9vbHMiCi1GSUxFU18ke1BOfS10b29scyA9ICIke2JpbmRpcn0vKi5wbCIKLQotU1JDX1VSSSA9ICJcCi0gICAgJHtTT1VSQ0VGT1JHRV9NSVJST1J9L21ha2VkdW1wZmlsZS8ke0JQTn0tJHtQVn0udGFyLmd6IFwKLSAgICBmaWxlOi8vMDAwMS1tYWtlZHVtcGZpbGUtcmVwbGFjZS1oYXJkY29kZS1DRkxBR1MucGF0Y2ggXAotICAgIGZpbGU6Ly8wMDAyLW1lbV9zZWN0aW9uLVN1cHBvcnQtb25seS00Ni1iaXQtZm9yLU1BWF9QSFlTTUVNX0JJVFMucGF0Y2ggXAotIgotU1JDX1VSSVttZDVzdW1dID0gIjdkZmJjYTE5ZjQ4NzYwNGMyNzFlMjg5MmJhMDdmNGJkIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdlMDZmNzJkNWYyOTFmY2FiOWU5Mjk3NWY0MDVhNzZlMzdkNGY3ZmM4ZmE0MTcyZjE5OTYzNjM5OGFlODEyYjEiCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9tYWtlZHVtcGZpbGUvZmlsZXMvbWFrZWR1bXBmaWxlLyIKLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gIm1ha2VkdW1wZmlsZS8oP1A8cHZlcj5cZCsoXC5cZCspKykvIgotCi1TRUNUSU9OID0gImJhc2UiCi0KLSMgSWYgd2UgZG8gbm90IHNwZWNpZnkgVEFSR0VULCBtYWtlZHVtcGZpbGUgd2lsbCBidWlsZCBmb3IgdGhlIGhvc3QgYnV0IHVzZSB0aGUKLSMgdGFyZ2V0IGdjYy4KLSMKLUVYVFJBX09FTUFLRSA9ICJcCi0gICAgTElOS1RZUEU9c3RhdGljIFwKLSAgICBUQVJHRVQ9JHtUQVJHRVRfQVJDSH0gXAotIgotCi1kb19pbnN0YWxsICgpIHsKLSAgICBta2RpciAtcCAke0R9L3Vzci9iaW4KLSAgICBpbnN0YWxsIC1tIDc1NSAke1N9L21ha2VkdW1wZmlsZSAke0R9L3Vzci9iaW4KLSAgICBpbnN0YWxsIC1tIDc1NSAke1N9L21ha2VkdW1wZmlsZS1SLnBsICR7RH0vdXNyL2JpbgotCi0gICAgbWtkaXIgLXAgJHtEfS91c3Ivc2hhcmUvbWFuL21hbjgKLSAgICBpbnN0YWxsIC1tIDY0NCAke1N9L21ha2VkdW1wZmlsZS44Lmd6ICR7RH0vdXNyL3NoYXJlL21hbi9tYW44Ci0KLSAgICBta2RpciAtcCAke0R9L3Vzci9zaGFyZS9tYW4vbWFuNQotICAgIGluc3RhbGwgLW0gNjQ0ICR7U30vbWFrZWR1bXBmaWxlLmNvbmYuNS5neiAke0R9L3Vzci9zaGFyZS9tYW4vbWFuNQotCi0gICAgbWtkaXIgLXAgJHtEfS9ldGMvCi0gICAgaW5zdGFsbCAtbSA2NDQgJHtTfS9tYWtlZHVtcGZpbGUuY29uZiAke0R9L2V0Yy9tYWtlZHVtcGZpbGUuY29uZi5zYW1wbGUKLX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvbWFrZWR1bXBmaWxlL21ha2VkdW1wZmlsZV8xLjYuNS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvbWFrZWR1bXBmaWxlL21ha2VkdW1wZmlsZV8xLjYuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTNiNDEzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9tYWtlZHVtcGZpbGUvbWFrZWR1bXBmaWxlXzEuNi41LmJiCkBAIC0wLDAgKzEsNTcgQEAKK1NVTU1BUlkgPSAiVk1jb3JlIGV4dHJhY3Rpb24gdG9vbCIKK0RFU0NSSVBUSU9OID0gIlwKKyAgICBUaGlzIHByb2dyYW0gaXMgdXNlZCB0byBleHRyYWN0IGEgc3Vic2V0IG9mIHRoZSBtZW1vcnkgYXZhaWxhYmxlIGVpdGhlciBcCisgICAgdmlhIC9kZXYvbWVtIG9yIC9wcm9jL3ZtY29yZSAoZm9yIGNyYXNoZHVtcHMpLiBJdCBpcyB1c2VkIHRvIGdldCBtZW1vcnkgXAorICAgIGltYWdlcyB3aXRob3V0IGV4dHJhIHVuZWVkZWQgaW5mb3JtYXRpb24gKHplcm8gcGFnZXMsIHVzZXJzcGFjZSBwcm9ncmFtcywgXAorICAgIGV0YykuIFwKKyIKK0hPTUVQQUdFID0gImh0dHA6Ly9tYWtlZHVtcGZpbGUuc291cmNlZm9yZ2UubmV0IgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKK0xJQ0VOU0UgPSAiR1BMdjIuMCIKKworREVQRU5EUyA9ICJiemlwMiB6bGliIGVsZnV0aWxzIgorUkRFUEVORFNfJHtQTn0tdG9vbHMgPSAicGVybCAke1BOfSIKKworIyBhcm0gYW5kIGFhcmNoNjQgd291bGQgY29tcGlsZSBidXQgaGFzIG5ldmVyIGJlZW4gdGVzdGVkIHVwc3RyZWFtLiAgbWlwcyB3b3VsZCBub3QgY29tcGlsZS4KKyMKK0NPTVBBVElCTEVfSE9TVCA9ICIoeDg2XzY0fGkuODZ8cG93ZXJwY3xhcm18YWFyY2g2NCkuKi1saW51eCIKKworUEFDS0FHRVMgPSsgIiR7UE59LXRvb2xzIgorRklMRVNfJHtQTn0tdG9vbHMgPSAiJHtiaW5kaXJ9LyoucGwiCisKK1NSQ19VUkkgPSAiXAorICAgICR7U09VUkNFRk9SR0VfTUlSUk9SfS9tYWtlZHVtcGZpbGUvJHtCUE59LSR7UFZ9LnRhci5neiBcCisgICAgZmlsZTovLzAwMDEtbWFrZWR1bXBmaWxlLXJlcGxhY2UtaGFyZGNvZGUtQ0ZMQUdTLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMi1tZW1fc2VjdGlvbi1TdXBwb3J0LW9ubHktNDYtYml0LWZvci1NQVhfUEhZU01FTV9CSVRTLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICIxNzM3ZjhlODkwNGQ1NjU2MjlmMGM5ZTcwMmY5MmQwMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1ZDRmMWQ2ZGVkOGRjYTY5NTFlZWFiY2Y0YmIxZWJmNjU3NTI4OGZlZTk0NzUyOTM5NzEwM2MwNDBlYjVjNzYwIgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbWFrZWR1bXBmaWxlL2ZpbGVzL21ha2VkdW1wZmlsZS8iCitVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJtYWtlZHVtcGZpbGUvKD9QPHB2ZXI+XGQrKFwuXGQrKSspLyIKKworU0VDVElPTiA9ICJiYXNlIgorCisjIElmIHdlIGRvIG5vdCBzcGVjaWZ5IFRBUkdFVCwgbWFrZWR1bXBmaWxlIHdpbGwgYnVpbGQgZm9yIHRoZSBob3N0IGJ1dCB1c2UgdGhlCisjIHRhcmdldCBnY2MuCisjCitFWFRSQV9PRU1BS0UgPSAiXAorICAgIExJTktUWVBFPXN0YXRpYyBcCisgICAgVEFSR0VUPSR7VEFSR0VUX0FSQ0h9IFwKKyIKKworZG9faW5zdGFsbCAoKSB7CisgICAgbWtkaXIgLXAgJHtEfS91c3IvYmluCisgICAgaW5zdGFsbCAtbSA3NTUgJHtTfS9tYWtlZHVtcGZpbGUgJHtEfS91c3IvYmluCisgICAgaW5zdGFsbCAtbSA3NTUgJHtTfS9tYWtlZHVtcGZpbGUtUi5wbCAke0R9L3Vzci9iaW4KKworICAgIG1rZGlyIC1wICR7RH0vdXNyL3NoYXJlL21hbi9tYW44CisgICAgaW5zdGFsbCAtbSA2NDQgJHtTfS9tYWtlZHVtcGZpbGUuOC5neiAke0R9L3Vzci9zaGFyZS9tYW4vbWFuOAorCisgICAgbWtkaXIgLXAgJHtEfS91c3Ivc2hhcmUvbWFuL21hbjUKKyAgICBpbnN0YWxsIC1tIDY0NCAke1N9L21ha2VkdW1wZmlsZS5jb25mLjUuZ3ogJHtEfS91c3Ivc2hhcmUvbWFuL21hbjUKKworICAgIG1rZGlyIC1wICR7RH0vZXRjLworICAgIGluc3RhbGwgLW0gNjQ0ICR7U30vbWFrZWR1bXBmaWxlLmNvbmYgJHtEfS9ldGMvbWFrZWR1bXBmaWxlLmNvbmYuc2FtcGxlCit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL21pbmljb3JlZHVtcGVyL21pbmljb3JlZHVtcGVyXzIuMC4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9taW5pY29yZWR1bXBlci9taW5pY29yZWR1bXBlcl8yLjAuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmFlNWNmNC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL21pbmljb3JlZHVtcGVyL21pbmljb3JlZHVtcGVyXzIuMC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotU1VNTUFSWSA9ICJtaW5pY29yZWR1bXBlciBwcm92aWRlcyBhbiBhbHRlcm5hdGUgY29yZSBkdW1wIGZhY2lsaXR5IGZvciBMaW51eCBcCi10byBhbGxvdyBtaW5pbWFsIGFuZCBjdXN0b21pemVkIGNyYXNoIGR1bXBzIgotTElDRU5TRSA9ICIgTEdQTHYyLjEgJiBCU0QtMi1DbGF1c2UiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hYTg0NmFlMzY1ZjcxYjY5ZTlmYTBkMjFhNTYzOTFlYyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkJTRDttZDU9YjkxNWFjODBkNTIzNmQ2YWE2NTljYjk4NmRhZjAwZTUgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MR1BMdjIuMTttZDU9MzIxYmY0MWYyODBjZjgwNTA4NmRkNWE3MjBiMzc3ODUgXAotICAgICAgICAgICAgICAgICAgICIKLURFUEVORFMgPSAiZWxmdXRpbHMgZGJ1cyBkYnVzLWdsaWItbmF0aXZlIGdsaWItMi4wIGRidXMtZ2xpYiB1dGlsLWxpbnV4IGpzb24tYyIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHN5c3RlbWQgdXBkYXRlLXJjLmQKLQotU1JDUkVWID0gIjFjMGQ1OTYwYjBiYjRiYWM3NTY2ZTZhZmU4YmM5NzA1Mzk5Y2M3NmIiCi0KLVBSIC49ICIrZ2l0JHtTUkNQVn0iCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0LmxpbnV4Zm91bmRhdGlvbi5vcmcvZGlhbW9uL21pbmljb3JlZHVtcGVyLmdpdDtwcm90b2NvbD1odHRwIFwKLSAgICAgICAgICAgZmlsZTovL21pbmljb3JlZHVtcGVyLnNlcnZpY2UgXAotICAgICAgICAgICBmaWxlOi8vbWluaWNvcmVkdW1wZXIuaW5pdCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLW1pbmljb3JlZHVtcGVyLUluaXRpYWxpemUtcG9pbnRlci10by1jb25maWctc3RydWN0LXQucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJtaW5pY29yZWR1bXBlci5zZXJ2aWNlIgotU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJlbmFibGUiCi0KLUlOSVRTQ1JJUFRfUEFDS0FHRVMgPSAiJHtQTn0iCi1JTklUU0NSSVBUX05BTUVfJHtQTn0gPSAibWluaWNvcmVkdW1wZXIiCi1JTklUU0NSSVBUX1BBUkFNU18ke1BOfSA9ICJkZWZhdWx0cyA4OSIKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgcm1kaXIgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuCi0gICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vbWluaWNvcmVkdW1wZXIKLSAgICBjcCAtcmYgJHtTfS9ldGMvKiAke0R9LyR7c3lzY29uZmRpcn0vCi0KLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9Ci0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbWluaWNvcmVkdW1wZXIuc2VydmljZSAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfQotICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCi0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbWluaWNvcmVkdW1wZXIuaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbWluaWNvcmVkdW1wZXIKLQotICAgICMgY29ycmVjdCBwYXRoIG9mIG1pbmljb3JlZHVtcGVyCi0gICAgc2VkIC1pIC1lIHM6L3Vzci9iaW4vbWluaWNvcmVkdW1wZXI6JHtzYmluZGlyfS9taW5pY29yZWR1bXBlcjpnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9taW5pY29yZWR1bXBlcgotICAgIHNlZCAtaSAtZSBzOi91c3IvYmluL21pbmljb3JlZHVtcGVyOiR7c2JpbmRpcn0vbWluaWNvcmVkdW1wZXI6ZyAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9taW5pY29yZWR1bXBlci5zZXJ2aWNlCi19Ci0KLSMgaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzE4Njk2Ni8KLUVYQ0xVREVfRlJPTV9XT1JMRF9saWJjLW11c2wgPSAiMSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvbWluaWNvcmVkdW1wZXIvbWluaWNvcmVkdW1wZXJfMi4wLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL21pbmljb3JlZHVtcGVyL21pbmljb3JlZHVtcGVyXzIuMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwZGFiOGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL21pbmljb3JlZHVtcGVyL21pbmljb3JlZHVtcGVyXzIuMC4xLmJiCkBAIC0wLDAgKzEsNDYgQEAKK1NVTU1BUlkgPSAibWluaWNvcmVkdW1wZXIgcHJvdmlkZXMgYW4gYWx0ZXJuYXRlIGNvcmUgZHVtcCBmYWNpbGl0eSBmb3IgTGludXggXAordG8gYWxsb3cgbWluaW1hbCBhbmQgY3VzdG9taXplZCBjcmFzaCBkdW1wcyIKK0xJQ0VOU0UgPSAiIExHUEx2Mi4xICYgQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzE4MjdjNjE3ZWM3YjQ1YTBkZDIzNjU4MzQ3Y2MxZTkgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5CU0Q7bWQ1PWI5MTVhYzgwZDUyMzZkNmFhNjU5Y2I5ODZkYWYwMGU1IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEdQTHYyLjE7bWQ1PTMyMWJmNDFmMjgwY2Y4MDUwODZkZDVhNzIwYjM3Nzg1IFwKKyAgICAgICAgICAgICAgICAgICAiCitERVBFTkRTID0gImVsZnV0aWxzIGRidXMgZGJ1cy1nbGliLW5hdGl2ZSBnbGliLTIuMCBkYnVzLWdsaWIgdXRpbC1saW51eCBqc29uLWMiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBzeXN0ZW1kIHVwZGF0ZS1yYy5kCisKK1NSQ1JFViA9ICIxNmEwZDQ0ZjE3MjVlYWE5MzA5NmVhYTBlMDg2ZjQyZWY0YzI3MTJjIgorCitQUiAuPSAiK2dpdCR7U1JDUFZ9IgorCitTUkNfVVJJID0gImdpdDovL2dpdC5saW51eGZvdW5kYXRpb24ub3JnL2RpYW1vbi9taW5pY29yZWR1bXBlci5naXQ7cHJvdG9jb2w9aHR0cCBcCisgICAgICAgICAgIGZpbGU6Ly9taW5pY29yZWR1bXBlci5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL21pbmljb3JlZHVtcGVyLmluaXQgXAorICAgICAgICAgICAiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJtaW5pY29yZWR1bXBlci5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJlbmFibGUiCisKK0lOSVRTQ1JJUFRfUEFDS0FHRVMgPSAiJHtQTn0iCitJTklUU0NSSVBUX05BTUVfJHtQTn0gPSAibWluaWNvcmVkdW1wZXIiCitJTklUU0NSSVBUX1BBUkFNU18ke1BOfSA9ICJkZWZhdWx0cyA4OSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgcm1kaXIgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuCisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vbWluaWNvcmVkdW1wZXIKKyAgICBjcCAtcmYgJHtTfS9ldGMvKiAke0R9LyR7c3lzY29uZmRpcn0vCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbWluaWNvcmVkdW1wZXIuc2VydmljZSAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbWluaWNvcmVkdW1wZXIuaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbWluaWNvcmVkdW1wZXIKKworICAgICMgY29ycmVjdCBwYXRoIG9mIG1pbmljb3JlZHVtcGVyCisgICAgc2VkIC1pIC1lIHM6L3Vzci9iaW4vbWluaWNvcmVkdW1wZXI6JHtzYmluZGlyfS9taW5pY29yZWR1bXBlcjpnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9taW5pY29yZWR1bXBlcgorICAgIHNlZCAtaSAtZSBzOi91c3IvYmluL21pbmljb3JlZHVtcGVyOiR7c2JpbmRpcn0vbWluaWNvcmVkdW1wZXI6ZyAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9taW5pY29yZWR1bXBlci5zZXJ2aWNlCit9CisKKyMgaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzE4Njk2Ni8KK0VYQ0xVREVfRlJPTV9XT1JMRF9saWJjLW11c2wgPSAiMSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvb3Byb2ZpbGUvb3Byb2ZpbGUuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9vcHJvZmlsZS9vcHJvZmlsZS5pbmMKaW5kZXggMzQ5ZTJiZi4uNTE1ZWE4ZiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9vcHJvZmlsZS9vcHJvZmlsZS5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9vcHJvZmlsZS9vcHJvZmlsZS5pbmMKQEAgLTI1LDYgKzI1LDcgQEAKICAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCiAgICAgICAgICAgIGZpbGU6Ly9yb290LWhvbWUtZGlyLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtQWRkLXJtYi1kZWZpbml0aW9uLWZvci1OSU9TMi1hcmNoaXRlY3R1cmUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1yZXBsYWNlLXN5bV9pdGVyYXRvci0wLXdpdGgtc3ltX2l0ZXJhdG9yLnBhdGNoIFwKICIKIFVQU1RSRUFNX0NIRUNLX1JFR0VYID0gIm9wcm9maWxlLSg/UDxwdmVyPlxkKyhcLlxkKykrKS8iCiBVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvb3Byb2ZpbGUvZmlsZXMvb3Byb2ZpbGUvIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9vcHJvZmlsZS9vcHJvZmlsZS8wMDAxLXJlcGxhY2Utc3ltX2l0ZXJhdG9yLTAtd2l0aC1zeW1faXRlcmF0b3IucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL29wcm9maWxlL29wcm9maWxlLzAwMDEtcmVwbGFjZS1zeW1faXRlcmF0b3ItMC13aXRoLXN5bV9pdGVyYXRvci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZmQyM2Y4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9vcHJvZmlsZS9vcHJvZmlsZS8wMDAxLXJlcGxhY2Utc3ltX2l0ZXJhdG9yLTAtd2l0aC1zeW1faXRlcmF0b3IucGF0Y2gKQEAgLTAsMCArMSwxMzEgQEAKK0Zyb20gYjdjMWEyZTJiMGY0NjU3ZmUyOTEzMjRjYTQwOTIyNGYzMzIxYzlmZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDEyIEZlYiAyMDE5IDExOjU4OjM0IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIHJlcGxhY2UgKHN5bV9pdGVyYXRvcikwIHdpdGggc3ltX2l0ZXJhdG9yKCkKKworY2xhbmcvbGliYysrIGZpbmQgdGhpcyBlcnJvcgorCitsaWJwcC94bWxfdXRpbHMuY3BwOjQwOTo0MzogZXJyb3I6IGNhbGxpbmcgYSBwcml2YXRlIGNvbnN0cnVjdG9yIG9mIGNsYXNzICdzdGQ6Ol9fMTo6X193cmFwX2l0ZXI8Y29uc3Qgc3ltCitib2xfZW50cnkgKmNvbnN0ICo+JworfCAgICAgICAgICAgICAgICAgeyBsbyA9IGhpID0gMDsgbmFtZSA9ICIiOyBiZWdpbiA9IGVuZCA9IChzeW1faXRlcmF0b3IpMDt9Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorfAorCitkZWZhdWx0IGNvbnN0cnVjdGVkIGl0ZXJhdG9yIGlzbid0IHN1cHBvc2VkIHRvIGJlIHVzZWQgZm9yIGFueXRoaW5nCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGxpYnBwL3htbF91dGlscy5jcHAgfCAyNiArKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYnBwL3htbF91dGlscy5jcHAgYi9saWJwcC94bWxfdXRpbHMuY3BwCitpbmRleCAzZGU0MWU1Li5mNDVkM2FlIDEwMDY0NAorLS0tIGEvbGlicHAveG1sX3V0aWxzLmNwcAorKysrIGIvbGlicHAveG1sX3V0aWxzLmNwcAorQEAgLTczLDcgKzczLDcgQEAgdm9pZCBkdW1wX3N5bWJvbChzdHJpbmcgY29uc3QgJiBwcmVmaXgsIHN5bV9pdGVyYXRvciBpdCwgYm9vbCB3YW50X25sID0gdHJ1ZSkKKyAKKyB2b2lkIGR1bXBfc3ltYm9scyhzdHJpbmcgY29uc3QgJiBwcmVmaXgsIHN5bV9pdGVyYXRvciBiLCBzeW1faXRlcmF0b3IgZSkKKyB7CistCWlmIChiID09IChzeW1faXRlcmF0b3IpMCkKKysJaWYgKGIgPT0gc3ltX2l0ZXJhdG9yKCkpCisgCQlyZXR1cm47CisgCisgCWZvciAoc3ltX2l0ZXJhdG9yIGl0ID0gYjsgaXQgIT0gZTsgKytpdCkKK0BAIC0xNjcsNyArMTY3LDcgQEAgc3RyaW5nIHhtbF91dGlsczo6Z2V0X3Byb2ZpbGVfaGVhZGVyKHN0cmluZyBjcHVfbmFtZSwgZG91YmxlIGNvbnN0IHNwZWVkKQorIAl9CisgCisgCXN0ciA8PCBpbml0X2F0dHIoQ1BVX05BTUUsIGNwdV90eXBlKSA8PCBlbmRsOworLQlpZiAocHJvY2Vzc29yLnNpemUoKSA+IDApIAorKwlpZiAocHJvY2Vzc29yLnNpemUoKSA+IDApCisgCQlzdHIgPDwgaW5pdF9hdHRyKFBST0NFU1NPUiwgc3RyaW5nKHByb2Nlc3NvcikpIDw8IGVuZGw7CisgCWlmIChucl9jcHVzID4gMSkgc3RyIDw8IGluaXRfYXR0cihTRVBBUkFURURfQ1BVUywgbnJfY3B1cykgPDwgZW5kbDsKKyAJc3RyIDw8IGluaXRfYXR0cihNSFosIHNwZWVkKSA8PCBlbmRsOworQEAgLTMyMCwxMSArMzIwLDExIEBAIHZvaWQgeG1sX3V0aWxzOjpidWlsZF9zdWJjbGFzc2VzKG9zdHJlYW0gJiBvdXQpCisgCQkJKCpzY19wdHIpW25ld19pbmRleF0uc3ViY2xhc3NfbmFtZSA9IHN1YmNsYXNzX25hbWU7CisgCQkJb3V0IDw8IG9wZW5fZWxlbWVudChDTEFTUywgdHJ1ZSk7CisgCQkJb3V0IDw8IGluaXRfYXR0cihOQU1FLCBzdWJjbGFzc19uYW1lKTsKKy0JCQlpZiAobnJfY3B1cyA+IDEpIAorKwkJCWlmIChucl9jcHVzID4gMSkKKyAJCQkJb3V0IDw8IGluaXRfYXR0cihDUFVfTlVNLCBwY2xhc3MucHRlbXBsYXRlLmNwdSk7CistCQkJaWYgKG5yX2V2ZW50cyA+IDEpIAorKwkJCWlmIChucl9ldmVudHMgPiAxKQorIAkJCQlvdXQgPDwgaW5pdF9hdHRyKEVWRU5UX05VTSwgZXZlbnQpOworLQkJCWlmIChoYXNfbm9uemVyb19tYXNrcykgCisrCQkJaWYgKGhhc19ub256ZXJvX21hc2tzKQorIAkJCQlvdXQgPDwgaW5pdF9hdHRyKEVWRU5UX01BU0ssIHBjbGFzcy5wdGVtcGxhdGUudW5pdG1hc2spOworIAkJCW91dCA8PCBjbG9zZV9lbGVtZW50KCk7CisgCQl9CitAQCAtNDA2LDcgKzQwNiw3IEBAIHhtbF91dGlsczo6b3V0cHV0X3N1bW1hcnlfZGF0YShvc3RyZWFtICYgb3V0LCBjb3VudF9hcnJheV90IGNvbnN0ICYgc3VtbWFyeSwgc2l6CisgY2xhc3MgbW9kdWxlX2luZm8geworIHB1YmxpYzoKKyAJbW9kdWxlX2luZm8oKQorLQkJeyBsbyA9IGhpID0gMDsgbmFtZSA9ICIiOyBiZWdpbiA9IGVuZCA9IChzeW1faXRlcmF0b3IpMDt9CisrCQl7IGxvID0gaGkgPSAwOyBuYW1lID0gIiI7IGJlZ2luID0gZW5kID0gc3ltX2l0ZXJhdG9yKCk7fQorIAl2b2lkIGR1bXAoKTsKKyAJdm9pZCBidWlsZF9tb2R1bGUoc3RyaW5nIGNvbnN0ICYgbiwgc3ltX2l0ZXJhdG9yIGl0LAorIAkgICAgICAgICAgICAgICAgICBzaXplX3QgbCwgc2l6ZV90IGgpOworQEAgLTU0MCwyMSArNTQwLDIxIEBAIHZvaWQgbW9kdWxlX2luZm86OmFkZF90b19zdW1tYXJ5KGNvdW50X2FycmF5X3QgY29uc3QgJiBjb3VudHMpCisgCisgdm9pZCBtb2R1bGVfaW5mbzo6c2V0X2JlZ2luKHN5bV9pdGVyYXRvciBiKQorIHsKKy0JaWYgKGJlZ2luID09IChzeW1faXRlcmF0b3IpMCkKKysJaWYgKGJlZ2luID09IHN5bV9pdGVyYXRvcigpKQorIAkJYmVnaW4gPSBiOworIH0KKyAKKyAKKyB2b2lkIG1vZHVsZV9pbmZvOjpzZXRfZW5kKHN5bV9pdGVyYXRvciBlKQorIHsKKy0JaWYgKGVuZCA9PSAoc3ltX2l0ZXJhdG9yKTApCisrCWlmIChlbmQgPT0gc3ltX2l0ZXJhdG9yKCkpCisgCQllbmQgPSBlOworIH0KKyAKKyAKKyBib29sIG1vZHVsZV9pbmZvOjppc19jbG9zZWQoc3RyaW5nIGNvbnN0ICYgbikKKyB7CistCXJldHVybiAobmFtZSA9PSBuKSAmJiBlbmQgIT0gKHN5bV9pdGVyYXRvcikwOworKwlyZXR1cm4gKG5hbWUgPT0gbikgJiYgZW5kICE9IHN5bV9pdGVyYXRvcigpOworIH0KKyAKKyAKK0BAIC01ODUsNyArNTg1LDcgQEAgdm9pZCBtb2R1bGVfaW5mbzo6b3V0cHV0X3N1bW1hcnkob3N0cmVhbSAmIG91dCkKKyAKKyB2b2lkIG1vZHVsZV9pbmZvOjpvdXRwdXRfc3ltYm9scyhvc3RyZWFtICYgb3V0LCBib29sIGlzX21vZHVsZSkKKyB7CistCWlmIChiZWdpbiA9PSAoc3ltX2l0ZXJhdG9yKTApCisrCWlmIChiZWdpbiA9PSBzeW1faXRlcmF0b3IoKSkKKyAJCXJldHVybjsKKyAKKyAJZm9yIChzeW1faXRlcmF0b3IgaXQgPSBiZWdpbjsgaXQgIT0gZW5kOyArK2l0KQorQEAgLTYwNiw3ICs2MDYsNyBAQCB2b2lkIGJpbmFyeV9pbmZvOjpjbG9zZV9iaW5hcnkoc3ltX2l0ZXJhdG9yIGl0KQorIHZvaWQgYmluYXJ5X2luZm86OmR1bXAoKQorIHsKKyAJY3ZlcmIgPDwgdnhtbCA8PCAiYXBwX25hbWU9IiA8PCBuYW1lIDw8IGVuZGw7CistCWlmIChiZWdpbiAhPSAoc3ltX2l0ZXJhdG9yKTApCisrCWlmIChiZWdpbiAhPSBzeW1faXRlcmF0b3IoKSkKKyAJCWR1bXBfc3ltYm9scygiCSIsIGJlZ2luLCBlbmQpOworIAorIAlmb3IgKHNpemVfdCBpID0gMDsgaSA8IG5yX21vZHVsZXM7ICsraSkKK0BAIC02NDgsNyArNjQ4LDcgQEAgYWRkX21vZHVsZV9zeW1ib2woc3RyaW5nIGNvbnN0ICYgbW9kdWxlLCBzdHJpbmcgY29uc3QgJiBhcHAsCisgCQkvLyBtYXJrIGVuZCBvZiBlbmNsb3NpbmcgYmluYXJ5IHN5bWJvbHMgaWYgdGhlcmUgaGF2ZSBiZWVuIGFueQorIAkJLy8gTk9URTogaXQgaXMgcG9zc2libGUgZm9yIHRoZSBiaW5hcnkncyBzeW1ib2xzIHRvIGZvbGxvdyBpdHMKKyAJCS8vIG1vZHVsZSBzeW1ib2xzCistCQlpZiAoYmVnaW4gIT0gKHN5bV9pdGVyYXRvcikwICYmIGVuZCA9PSAoc3ltX2l0ZXJhdG9yKTApCisrCQlpZiAoYmVnaW4gIT0gc3ltX2l0ZXJhdG9yKCkgJiYgZW5kID09IHN5bV9pdGVyYXRvcigpKQorIAkJCXNldF9lbmQoaXQpOworIAorIAkJLy8gYnVpbGQgdGhlIG5ldyBtb2R1bGUKK0BAIC03MTgsNyArNzE4LDcgQEAgc3VtbWFyaXplX3Byb2Nlc3NlcyhleHRyYV9pbWFnZXMgY29uc3QgJiBleHRyYV9mb3VuZF9pbWFnZXMpCisgeworIAkvLyBhZGQgbW9kdWxlcyB0byB0aGUgYXBwcm9wcmlhdGUgdGhyZWFkcyBpbiB0aGUgcHJvY2VzcyBoaWVyYXJjaHkKKyAJZm9yIChzeW1faXRlcmF0b3IgaXQgPSBzeW1ib2xzX2JlZ2luIDsgaXQgIT0gc3ltYm9sc19lbmQ7ICsraXQpIHsKKy0JCXN0cmluZyBiaW5hcnkgPSBnZXRfaW1hZ2VfbmFtZSgoKml0KS0+YXBwX25hbWUsIAorKwkJc3RyaW5nIGJpbmFyeSA9IGdldF9pbWFnZV9uYW1lKCgqaXQpLT5hcHBfbmFtZSwKKyAJCQlpbWFnZV9uYW1lX3N0b3JhZ2U6OmludF9maWxlbmFtZSwgZXh0cmFfZm91bmRfaW1hZ2VzKTsKKyAJCXN0cmluZyBtb2R1bGUgPSBnZXRfaW1hZ2VfbmFtZSgoKml0KS0+aW1hZ2VfbmFtZSwKKyAJCQlpbWFnZV9uYW1lX3N0b3JhZ2U6OmludF9maWxlbmFtZSwgZXh0cmFfZm91bmRfaW1hZ2VzKTsKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2ZhYWQyL2ZhYWQyXzIuNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2ZhYWQyL2ZhYWQyXzIuNy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWU1YTM4MS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9mYWFkMi9mYWFkMl8yLjcuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi1TVU1NQVJZID0gIkFuIG9wZW4gc291cmNlIE1QRUctNCBhbmQgTVBFRy0yIEFBQyBkZWNvZGluZyBsaWJyYXJ5IgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5hdWRpb2NvZGluZy5jb20vZmFhZDIuaHRtbCIKLVNFQ1RJT04gPSAibGlicyIKLUxJQ0VOU0UgPSAiR1BMdjIiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTM4MWM4Y2JlMjc3YTdiYzFlZTJhZTYwODNhMDRjOTU4IgotCi1MSUNFTlNFX0ZMQUdTID0gImNvbW1lcmNpYWwiCi0KLVBSID0gInIxIgotCi1pbmhlcml0IGF1dG90b29scwotCi1TUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9mYWFjL2ZhYWQyLXNyYy9mYWFkMi0ke1BWfS8ke0JQfS50YXIuYnoyO25hbWU9ZmFhZDIgXAotIgotCi1TUkNfVVJJW2ZhYWQyLm1kNXN1bV0gPSAiNGMzMzJmYTIzZmViYzBlNDY0ODA2NDY4NWEzZDQzMzIiCi1TUkNfVVJJW2ZhYWQyLnNoYTI1NnN1bV0gPSAiMTQ1NjFiNWQ2YmM0NTdlODI1YmZkMzkyMWFlNTBhNjY0OGYzNzdhOTM5NmVhZjE2ZDRiMDU3YjM5YTNmNjNiNSIKLQotUEFDS0FHRVMgPSsgImxpYmZhYWQgbGliZmFhZC1kZXYgbGlibXA0ZmYgbGlibXA0ZmYtZGV2IgotCi1GSUxFU18ke1BOfSA9ICIke2JpbmRpcn0vZmFhZCIKLQotRklMRVNfbGliZmFhZCA9ICIke2xpYmRpcn0vbGliZmFhZC5zby4qIgotRklMRVNfbGliZmFhZC1kZXYgPSAiJHtsaWJkaXJ9L2xpYmZhYWQuc28gJHtsaWJkaXJ9L2xpYmZhYWQubGEgJHtpbmNsdWRlZGlyfS9mYWFkLmgiCi1GSUxFU19saWJmYWFkLXN0YXRpY2RldiA9ICIke2xpYmRpcn0vbGliZmFhZC5hIgotCi1GSUxFU19saWJtcDRmZiA9ICIke2xpYmRpcn0vbGlibXA0ZmYuc28uKiIKLUZJTEVTX2xpYm1wNGZmLWRldiA9ICIke2xpYmRpcn0vbGlibXA0ZmYuc28gJHtsaWJkaXJ9L2xpYm1wNGZmLmxhICR7aW5jbHVkZWRpcn0vbXA0ZmYuaCIKLUZJTEVTX2xpYm1wNGZmLXN0YXRpY2RldiA9ICIke2xpYmRpcn0vbGlibXA0ZmYuYSIKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvZmFhZDIvZmFhZDJfMi44LjguYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9mYWFkMi9mYWFkMl8yLjguOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YjNhYWZjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvZmFhZDIvZmFhZDJfMi44LjguYmIKQEAgLTAsMCArMSwxNCBAQAorU1VNTUFSWSA9ICJBbiBvcGVuIHNvdXJjZSBNUEVHLTQgYW5kIE1QRUctMiBBQUMgZGVjb2RpbmcgbGlicmFyeSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuYXVkaW9jb2RpbmcuY29tL2ZhYWQyLmh0bWwiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkdQTHYyIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zODFjOGNiZTI3N2E3YmMxZWUyYWU2MDgzYTA0Yzk1OCIKKworTElDRU5TRV9GTEFHUyA9ICJjb21tZXJjaWFsIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9mYWFjL2ZhYWQyLXNyYy9mYWFkMi0yLjguMC8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiMjhmNjExNmVmZGJlOTM3ODI2OWY4YTYyMjE3NjdkMWYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTg1YzNmYWRiOTc4OWQyODE1ZTUwZjRmZjcxNDUxMWM3OWMyNzEwYWMyN2E0YWFhZjVjMGMyNjYyMTQxNDI2ZCIKKworaW5oZXJpdCBhdXRvdG9vbHMgbGliX3BhY2thZ2UKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2phY2svamFjay8wMDAxLUZpeC1PU1gtYnVpbGQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9qYWNrL2phY2svMDAwMS1GaXgtT1NYLWJ1aWxkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5YTNhYjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9qYWNrL2phY2svMDAwMS1GaXgtT1NYLWJ1aWxkLnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK0Zyb20gZGQ2NTY4NWMyNGJiMjVhODAwZWQ0MjM4OGVkMGExZTg3OTJiMmVkMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGZhbGtUWCA8ZmFsa3R4QGdtYWlsLmNvbT4KK0RhdGU6IFNhdCwgMjQgTm92IDIwMTggMTQ6Mjk6NTggKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IE9TWCBidWlsZAorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXRodWIuY29tL2phY2thdWRpby9qYWNrMi9jb21taXQvZDg1MWZhZGE0NjBkNDI1MDhhNmY4MmIxOTg2N2Y2Mzg1MzA2MjU4M10KKy0tLQorIHBvc2l4L0phY2tOZXRVbml4U29ja2V0LmNwcCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3Bvc2l4L0phY2tOZXRVbml4U29ja2V0LmNwcCBiL3Bvc2l4L0phY2tOZXRVbml4U29ja2V0LmNwcAoraW5kZXggN2E1NTg1ZWYuLmE0Y2I1MDM2IDEwMDY0NAorLS0tIGEvcG9zaXgvSmFja05ldFVuaXhTb2NrZXQuY3BwCisrKysgYi9wb3NpeC9KYWNrTmV0VW5peFNvY2tldC5jcHAKK0BAIC0xNjksNyArMTY5LDcgQEAgbmFtZXNwYWNlIEphY2sKKyAKKyAgICAgaW50IEphY2tOZXRVbml4U29ja2V0OjpCaW5kKCkKKyAgICAgeworLSAgICAgICAgcmV0dXJuIGJpbmQoZlNvY2tmZCwgcmVpbnRlcnByZXRfY2FzdDxzb2NrZXRfYWRkcmVzc190Kj4oJmZSZWN2QWRkciksIHNpemVvZihzb2NrZXRfYWRkcmVzc190KSk7CisrICAgICAgICByZXR1cm4gOjpiaW5kKGZTb2NrZmQsIHJlaW50ZXJwcmV0X2Nhc3Q8c29ja2V0X2FkZHJlc3NfdCo+KCZmUmVjdkFkZHIpLCBzaXplb2Yoc29ja2V0X2FkZHJlc3NfdCkpOworICAgICB9CisgCisgICAgIGludCBKYWNrTmV0VW5peFNvY2tldDo6QmluZFdpdGgoY29uc3QgY2hhciogaXApCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9qYWNrL2phY2tfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvamFjay9qYWNrX2dpdC5iYgppbmRleCA1MjU1OWNiLi40NzdhZjhjIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9qYWNrL2phY2tfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2phY2svamFja19naXQuYmIKQEAgLTE2LDYgKzE2LDcgQEAKIAogU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2phY2thdWRpby9qYWNrMi5naXQgXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1QeXRob24tMy43LWZpeGVzLTIxMjYucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtT1NYLWJ1aWxkLnBhdGNoIFwKICAgICAgICAgICAgIgogU1JDUkVWID0gImMxNjQ3ODE5ZWVkNmQxMWY5NGIyMTk4MWQ5Yzg2OTYyOTI5OWYzNTciCiBQViA9ICIxLjkuMTIiCkBAIC0yNSw2ICsyNiw4IEBACiAKIFBBQ0tBR0VDT05GSUcgPz89ICJhbHNhIgogUEFDS0FHRUNPTkZJR1thbHNhXSA9ICItLWFsc2E9eWVzLC0tYWxzYT1ubyxhbHNhLWxpYiIKKyMgLS1kYnVzIG9ubHkgc3RvcHMgYnVpbGRpbmcgamFja2QgLT4gYWRkIC0tY2xhc3NpYworUEFDS0FHRUNPTkZJR1tkYnVzXSA9ICItLWRidXMgLS1jbGFzc2ljLCxkYnVzIgogUEFDS0FHRUNPTkZJR1tvcHVzXSA9ICItLW9wdXM9eWVzLC0tb3B1cz1ubyxsaWJvcHVzIgogCiAjIHBvcnRhdWRpbyBpcyBmb3Igd2luZG93cyBidWlsZHMgb25seQpAQCAtMzUsNiArMzgsMTEgQEAKIFJERVBFTkRTX2phY2stZGV2X3JlbW92ZSA9ICIke1BOfSAoPSAke0VYVEVORFBLR1Z9KSIKIAogRklMRVNfbGliamFjayA9ICIke2xpYmRpcn0vKi5zby4qICR7bGliZGlyfS9qYWNrLyouc28iCi1GSUxFU19qYWNrLXNlcnZlciA9ICIke2JpbmRpcn0vamFja2QiCitGSUxFU19qYWNrLXNlcnZlciA9ICIgXAorICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3NlcnZpY2VzIFwKKyAgICAke2JpbmRpcn0vamFja2RidXMgXAorICAgICR7YmluZGlyfS9qYWNrZCBcCisiCiBGSUxFU19qYWNrLXV0aWxzID0gIiR7YmluZGlyfS8qIgorCiBGSUxFU18ke1BOfS1kb2MgKz0gIiAke2RhdGFkaXJ9L2phY2stYXVkaW8tY29ubmVjdGlvbi1raXQvcmVmZXJlbmNlL2h0bWwvKiAiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saXZlNTU1L2xpdmU1NTUuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGl2ZTU1NS9saXZlNTU1LmluYwppbmRleCAxNGVhNjY0Li40ZmU3NDRjIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saXZlNTU1L2xpdmU1NTUuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpdmU1NTUvbGl2ZTU1NS5pbmMKQEAgLTgsNyArOCw3IEBACiBTRUNUSU9OID0gImRldmVsIgogCiBVUkxWID0gIiR7QGQuZ2V0VmFyKCdQVicpWzA6NF19LiR7QGQuZ2V0VmFyKCdQVicpWzQ6Nl19LiR7QGQuZ2V0VmFyKCdQVicpWzY6OF19IgotU1JDX1VSSSA9ICJodHRwOi8vd3d3LmxpdmU1NTUuY29tL2xpdmVNZWRpYS9wdWJsaWMvbGl2ZS4ke1VSTFZ9LnRhci5neiBcCitTUkNfVVJJID0gImh0dHA6Ly93d3cubGl2ZTU1NS5jb20vbGl2ZS4ke1VSTFZ9LnRhci5neiBcCiAgICAgICAgICAgIGZpbGU6Ly9jb25maWcubGludXgtY3Jvc3MiCiAjIG9ubHkgbGF0ZXN0IGxpdmUgdmVyc2lvbiBzdGF5cyBvbiBodHRwOi8vd3d3LmxpdmU1NTUuY29tL2xpdmVNZWRpYS9wdWJsaWMvLCBhZGQgbWlycm9yIGZvciBvbGRlcgogTUlSUk9SUyArPSAiaHR0cDovL3d3dy5saXZlNTU1LmNvbS9saXZlTWVkaWEvcHVibGljLyBodHRwOi8vZGlzdGNhY2hlLkZyZWVCU0Qub3JnL3BvcnRzLWRpc3RmaWxlcy8gXG4iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saXZlNTU1L2xpdmU1NTVfMjAxNzA0MTAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saXZlNTU1L2xpdmU1NTVfMjAxNzA0MTAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI3ZmM0MjkuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGl2ZTU1NS9saXZlNTU1XzIwMTcwNDEwLmJiCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1yZXF1aXJlIGxpdmU1NTUuaW5jCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEVTU0VSO21kNT1lNmE2MDBmZDVlMWQ5Y2JkZTJkOTgzNjgwMjMzYWQwMiBcCi0gICAgICAgICAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiYjcwODRhNzJhZWIwOTU0OWM4YjI0OGY4Y2MzMDg4NDEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGMzN2Q5YzgyOGY5MDI4NDAzOTk3MjcyZTQ5OTY4YzI2MDM4NWRiYmFlZjYyZTI4YmEyNGZhZWYwZGRhODY4YiIKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGl2ZTU1NS9saXZlNTU1XzIwMTkwMzA2LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGl2ZTU1NS9saXZlNTU1XzIwMTkwMzA2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhNjA1N2QKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saXZlNTU1L2xpdmU1NTVfMjAxOTAzMDYuYmIKQEAgLTAsMCArMSw4IEBACityZXF1aXJlIGxpdmU1NTUuaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEVTU0VSO21kNT1lNmE2MDBmZDVlMWQ5Y2JkZTJkOTgzNjgwMjMzYWQwMiBcCisgICAgICAgICAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImE4NGNhMzk0NmQ4OTlmNTU5MmM3ZDMxMDEyZWQyZmUzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBiZDBjMjZkOTgwNDI1ZDlhNDE5ZDgzNTE5M2UyOTJhMDhhOTY4ZjE3NWRhMTkwMmRhNGI0OTVmMTI2ZDVhYmQiCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3dlYm0vbGlidnB4XzEuNi4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvd2VibS9saWJ2cHhfMS42LjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUxN2NkYTEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvd2VibS9saWJ2cHhfMS42LjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi1TVU1NQVJZID0gIlZQWCBtdWx0aS1mb3JtYXQgY29kZWMiCi1ERVNDUklQVElPTiA9ICJUaGUgQlNELWxpY2Vuc2VkIGxpYnZweCByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gcHJvdmlkZXMgZW4tIGFuZCBkZWNvZGVycyBmb3IgVlA4IGFuZCBWUDkgYml0c3RyZWFtcy4iCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LndlYm1wcm9qZWN0Lm9yZy9jb2RlLyIKLUJVR1RSQUNLRVIgPSAiaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3dlYm0vaXNzdWVzL2xpc3QiCi1TRUNUSU9OID0gImxpYnMvbXVsdGltZWRpYSIKLUxJQ0VOU0UgPSAiQlNEIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1kNWIwNDc1NTAxNWJlOTAxNzQ0YTc4Y2MzMGQzOTBkNCIKLQotU1JDX1VSSSArPSAiaHR0cDovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWRzLndlYm1wcm9qZWN0Lm9yZy9yZWxlYXNlcy93ZWJtLyR7QlB9LnRhci5iejIgXAotICAgICAgICAgICAgZmlsZTovL2xpYnZweC1jb25maWd1cmUtc3VwcG9ydC1ibGFuay1wcmVmaXgucGF0Y2ggXAotICAgICAgICAgICAiCi1TUkNfVVJJW21kNXN1bV0gPSAiYTE5NTE4YzgxMTFmYTkzYmRhYmRkODUyNTkxNjI2MTEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWMyYzBjMmE5N2ZiYTk0NzQ5NDNiZTM0ZWUzOTMzN2RlZTc1Njc4MGZjMTI4NzBiYTFkYzY4MzcyNTg2YTgxOSIKLQotIyBmZm1wZWcgbGlua3Mgd2l0aCB0aGlzIGFuZCBmYWlscwotIyBzeXNyb290cy9hcm12NHQtb2UtbGludXgtZ251ZWFiaS91c3IvbGliL2xpYnZweC5hKHZweF9lbmNvZGVyLmMubykoLnRleHQrMHhjNCk6IHVucmVzb2x2YWJsZSBSX0FSTV9USE1fQ0FMTCByZWxvY2F0aW9uIGFnYWluc3Qgc3ltYm9sIGBtZW1jcHlAQEdMSUJDXzIuNCcKLUFSTV9JTlNUUlVDVElPTl9TRVQgPSAiYXJtIgotCi1DRkxBR1MgKz0gIi1mUElDIgotCi1leHBvcnQgQ0MKLWV4cG9ydCBMRCA9ICIke0NDfSIKLQotVlBYVEFSR0VUX2FybXY1dGUgPSAiYXJtdjV0ZS1saW51eC1nY2MiCi1WUFhUQVJHRVRfYXJtdjYgPSAiYXJtdjYtbGludXgtZ2NjIgotVlBYVEFSR0VUX2FybXY3YSA9ICJhcm12Ny1saW51eC1nY2MiCi1WUFhUQVJHRVQgPz0gImdlbmVyaWMtZ251IgotCi1DT05GSUdVUkVPUFRTID0gIiBcCi0gICAgLS10YXJnZXQ9JHtWUFhUQVJHRVR9IFwKLSAgICAtLWVuYWJsZS12cDkgXAotICAgIC0tZW5hYmxlLWxpYnMgXAotICAgIC0tZGlzYWJsZS1pbnN0YWxsLWRvY3MgXAotICAgIC0tZGlzYWJsZS1zdGF0aWMgXAotICAgIC0tZW5hYmxlLXNoYXJlZCBcCi0gICAgLS1wcmVmaXg9JHtwcmVmaXh9IFwKLSAgICAtLWxpYmRpcj0ke2xpYmRpcn0gXAotICAgIC0tc2l6ZS1saW1pdD0xNjM4NHgxNjM4NCBcCi0iCi0KLWRvX2NvbmZpZ3VyZSgpIHsKLSAgICAke1N9L2NvbmZpZ3VyZSAke0NPTkZJR1VSRU9QVFN9Ci19Ci0KLWRvX2luc3RhbGwoKSB7Ci0gICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfQotICAgIGNob3duIC1SIHJvb3Q6cm9vdCAke0R9Ci19CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS93ZWJtL2xpYnZweF8xLjcuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3dlYm0vbGlidnB4XzEuNy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkMDRlZDEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS93ZWJtL2xpYnZweF8xLjcuMC5iYgpAQCAtMCwwICsxLDUxIEBACitTVU1NQVJZID0gIlZQWCBtdWx0aS1mb3JtYXQgY29kZWMiCitERVNDUklQVElPTiA9ICJUaGUgQlNELWxpY2Vuc2VkIGxpYnZweCByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gcHJvdmlkZXMgZW4tIGFuZCBkZWNvZGVycyBmb3IgVlA4IGFuZCBWUDkgYml0c3RyZWFtcy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LndlYm1wcm9qZWN0Lm9yZy9jb2RlLyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3dlYm0vaXNzdWVzL2xpc3QiCitTRUNUSU9OID0gImxpYnMvbXVsdGltZWRpYSIKK0xJQ0VOU0UgPSAiQlNEIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1kNWIwNDc1NTAxNWJlOTAxNzQ0YTc4Y2MzMGQzOTBkNCIKKworIyBTUkNSRVYgZm9yIDEuNy4wCitTUkNSRVYgPSAiMTMzZjgzZTJjMzRiOGQ3NzBhZTA2YWE1OTVjZWYzZTI1NDE3M2ZjYiIKK1NSQ19VUkkgKz0gImdpdDovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vd2VibS9saWJ2cHg7cHJvdG9jb2w9aHR0cHMgXAorICAgICAgICAgICAgZmlsZTovL2xpYnZweC1jb25maWd1cmUtc3VwcG9ydC1ibGFuay1wcmVmaXgucGF0Y2ggXAorICAgICAgICAgICAiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKKyMgZmZtcGVnIGxpbmtzIHdpdGggdGhpcyBhbmQgZmFpbHMKKyMgc3lzcm9vdHMvYXJtdjR0LW9lLWxpbnV4LWdudWVhYmkvdXNyL2xpYi9saWJ2cHguYSh2cHhfZW5jb2Rlci5jLm8pKC50ZXh0KzB4YzQpOiB1bnJlc29sdmFibGUgUl9BUk1fVEhNX0NBTEwgcmVsb2NhdGlvbiBhZ2FpbnN0IHN5bWJvbCBgbWVtY3B5QEBHTElCQ18yLjQnCitBUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKKworQ0ZMQUdTICs9ICItZlBJQyIKKworZXhwb3J0IENDCitleHBvcnQgTEQgPSAiJHtDQ30iCisKK1ZQWFRBUkdFVF9hcm12NXRlID0gImFybXY1dGUtbGludXgtZ2NjIgorVlBYVEFSR0VUX2FybXY2ID0gImFybXY2LWxpbnV4LWdjYyIKK1ZQWFRBUkdFVF9hcm12N2EgPSAiYXJtdjctbGludXgtZ2NjIgorVlBYVEFSR0VUID89ICJnZW5lcmljLWdudSIKKworQ09ORklHVVJFT1BUUyA9ICIgXAorICAgIC0tdGFyZ2V0PSR7VlBYVEFSR0VUfSBcCisgICAgLS1lbmFibGUtdnA5IFwKKyAgICAtLWVuYWJsZS1saWJzIFwKKyAgICAtLWRpc2FibGUtaW5zdGFsbC1kb2NzIFwKKyAgICAtLWRpc2FibGUtc3RhdGljIFwKKyAgICAtLWVuYWJsZS1zaGFyZWQgXAorICAgIC0tcHJlZml4PSR7cHJlZml4fSBcCisgICAgLS1saWJkaXI9JHtsaWJkaXJ9IFwKKyAgICAtLXNpemUtbGltaXQ9MTYzODR4MTYzODQgXAorIgorCitkb19jb25maWd1cmUoKSB7CisgICAgJHtTfS9jb25maWd1cmUgJHtDT05GSUdVUkVPUFRTfQorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0KKyAgICBjaG93biAtUiByb290OnJvb3QgJHtEfQorfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNlY3VyaXR5L25tYXAvbm1hcF83LjcwLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNlY3VyaXR5L25tYXAvbm1hcF83LjcwLmJiCmluZGV4IGU4NzgwMzguLmIxYjE1MGEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zZWN1cml0eS9ubWFwL25tYXBfNy43MC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2VjdXJpdHkvbm1hcC9ubWFwXzcuNzAuYmIKQEAgLTQyLDYgKzQyLDggQEAKIAogZG9fY29uZmlndXJlKCkgewogICAgIGF1dG9jb25mCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U1RBR0lOR19EQVRBRElSX05BVElWRX0vZ251LWNvbmZpZy9jb25maWcuZ3Vlc3MgJHtTfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2dudS1jb25maWcvY29uZmlnLnN1YiAke1N9CiAgICAgb2VfcnVuY29uZgogfQogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2hlbGxzL2Rhc2gvZGFzaF8wLjUuMTAuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zaGVsbHMvZGFzaC9kYXNoXzAuNS4xMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4NTY2MjgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2hlbGxzL2Rhc2gvZGFzaF8wLjUuMTAuMi5iYgpAQCAtMCwwICsxLDI5IEBACitTVU1NQVJZID0gIlNtYWxsIGFuZCBmYXN0IFBPU0lYLWNvbXBsaWFudCBzaGVsbCIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb25kb3IuYXBhbmEub3JnLmF1L35oZXJiZXJ0L2Rhc2gvIgorU0VDVElPTiA9ICJTeXN0ZW0gRW52aXJvbm1lbnQvU2hlbGxzIgorCitMSUNFTlNFID0gIkJTRCAmIEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWI1MjYyYjRhMWExYmZmNzJiNDhlOTM1NTMxOTc2ZDJlIgorCitpbmhlcml0IGF1dG90b29scyB1cGRhdGUtYWx0ZXJuYXRpdmVzCisKK1NSQ19VUkkgPSAiaHR0cDovL2dvbmRvci5hcGFuYS5vcmcuYXUvfmhlcmJlcnQvJHtCUE59L2ZpbGVzLyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1wcmludGYtZm9ybWF0LWVycm9ycy13aXRoLWNsYW5nLnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjhmNDg1ZjEyNmMwNWQwYWI4MDBlODVhYmZlMTk4N2FhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNjNjYzOTE5ZGM1YzY2ZWM5OTFkYTE0YzdjZjdlMGJlOGFkMDBmM2RiNzM5ODZhOTg3YzExODg2MmI1ZjYwNzEiCisKK0VYVFJBX09FQ09ORiArPSAiLS1iaW5kaXI9JHtiYXNlX2JpbmRpcn0iCisKK0FMVEVSTkFUSVZFXyR7UE59ID0gInNoIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3NoXSA9ICIke2Jhc2VfYmluZGlyfS9zaCIKK0FMVEVSTkFUSVZFX1RBUkdFVFtzaF0gPSAiJHtiYXNlX2JpbmRpcn0vZGFzaCIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjEwIgorCitwa2dfcG9zdGluc3RfJHtQTn0gKCkgeworICAgIGdyZXAgLXEgIl4ke2Jhc2VfYmluZGlyfS9kYXNoJCIgJEQke3N5c2NvbmZkaXJ9L3NoZWxscyB8fCBlY2hvICR7YmFzZV9iaW5kaXJ9L2Rhc2ggPj4gJEQke3N5c2NvbmZkaXJ9L3NoZWxscworfQorCitwa2dfcG9zdHJtXyR7UE59ICgpIHsKKyAgICBwcmludGYgIiQoZ3JlcCAtdiAiXiR7YmFzZV9iaW5kaXJ9L2Rhc2gkIiAkRCR7c3lzY29uZmRpcn0vc2hlbGxzKVxuIiA+ICREJHtzeXNjb25mZGlyfS9zaGVsbHMKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zaGVsbHMvZGFzaC9kYXNoXzAuNS45LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2hlbGxzL2Rhc2gvZGFzaF8wLjUuOS4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZGVlNjZmLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zaGVsbHMvZGFzaC9kYXNoXzAuNS45LjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1TVU1NQVJZID0gIlNtYWxsIGFuZCBmYXN0IFBPU0lYLWNvbXBsaWFudCBzaGVsbCIKLUhPTUVQQUdFID0gImh0dHA6Ly9nb25kb3IuYXBhbmEub3JnLmF1L35oZXJiZXJ0L2Rhc2gvIgotU0VDVElPTiA9ICJTeXN0ZW0gRW52aXJvbm1lbnQvU2hlbGxzIgotCi1MSUNFTlNFID0gIkJTRCAmIEdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWI1MjYyYjRhMWExYmZmNzJiNDhlOTM1NTMxOTc2ZDJlIgotCi1pbmhlcml0IGF1dG90b29scyB1cGRhdGUtYWx0ZXJuYXRpdmVzCi0KLVNSQ19VUkkgPSAiaHR0cDovL2dvbmRvci5hcGFuYS5vcmcuYXUvfmhlcmJlcnQvJHtCUE59L2ZpbGVzLyR7QlB9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1wcmludGYtZm9ybWF0LWVycm9ycy13aXRoLWNsYW5nLnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gIjY0NzI3MDJhOGQ5NzYwZDE2NmVmODMzM2RjYjUyN2E2IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVlY2Q1YmVhNzJhOTNlZDEwZWIxNWExYmU5OTUxZGQ1MWI1MmU1ZGExZDRhN2FlMDIwZWZkOTgyNmI0OWU2NTkiCi0KLUVYVFJBX09FQ09ORiArPSAiLS1iaW5kaXI9JHtiYXNlX2JpbmRpcn0iCi0KLUFMVEVSTkFUSVZFXyR7UE59ID0gInNoIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3NoXSA9ICIke2Jhc2VfYmluZGlyfS9zaCIKLUFMVEVSTkFUSVZFX1RBUkdFVFtzaF0gPSAiJHtiYXNlX2JpbmRpcn0vZGFzaCIKLUFMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjEwIgotCi1wa2dfcG9zdGluc3RfJHtQTn0gKCkgewotICAgIGdyZXAgLXEgIl4ke2Jhc2VfYmluZGlyfS9kYXNoJCIgJEQke3N5c2NvbmZkaXJ9L3NoZWxscyB8fCBlY2hvICR7YmFzZV9iaW5kaXJ9L2Rhc2ggPj4gJEQke3N5c2NvbmZkaXJ9L3NoZWxscwotfQotCi1wa2dfcG9zdHJtXyR7UE59ICgpIHsKLSAgICBwcmludGYgIiQoZ3JlcCAtdiAiXiR7YmFzZV9iaW5kaXJ9L2Rhc2gkIiAkRCR7c3lzY29uZmRpcn0vc2hlbGxzKVxuIiA+ICREJHtzeXNjb25mZGlyfS9zaGVsbHMKLX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zaGVsbHMvbWtzaC9ta3NoXzU2LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNoZWxscy9ta3NoL21rc2hfNTYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTRlYjU0MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zaGVsbHMvbWtzaC9ta3NoXzU2LmJiCkBAIC0wLDAgKzEsMzYgQEAKK0RFU0NSSVBUSU9OID0gIlRoZSBNaXJCU0QgS29ybiBTaGVsbCAtIGFuIGVuaGFuY2VkIHZlcnNpb24gb2YgdGhlIHB1YmxpYyBkb21haW4ga3NoIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5taXJic2Qub3JnL21rc2guaHRtIgorU0VDVElPTiA9ICJiYXNlL3NoZWxsIgorCitMSUNFTlNFID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUQ0xJQkMiLCAiZ2xpYmMiLCAiTWlyT1MgJiBJU0MiLCAiTWlyT1MiLCBkKX0iCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9tYWluLmM7YmVnaW5saW5lPTY7ZW5kbGluZT0yNTttZDU9NzIwNGZlYzRkMTI5MTJmMmExM2ZlODc0NWJjMzU2ZjkgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3RybGNweS5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MTc7bWQ1PWQ5NTNmMjhmMGM0M2VlMjllMjM4ZWM5YmMxNWRmMmEwIFwKKyAgICAgICAgICAgICAgICAgICAiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5taXJic2Qub3JnL01pck9TL2Rpc3QvbWlyL21rc2gvbWtzaC1SNTZjLnRneiIKKworU1JDX1VSSVttZDVzdW1dID0gIjQ3OTlhOWFjNmQ1NTg3MWQ3OWJhNjY3MTNkOTI4NjYzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImRkODZlYmM0MjEyMTVhN2I0NDA5NWRjMTNiMDU2OTIxYmE4MWU2MWI5ZjZmNGNkYWIwOGNhMTM1ZDAyYWZiNzciCisKK2luaGVyaXQgdXBkYXRlLWFsdGVybmF0aXZlcworCitTID0gIiR7V09SS0RJUn0vJHtCUE59IgorCitBTFRFUk5BVElWRV8ke1BOfSA9ICJzaCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtzaF0gPSAiJHtiYXNlX2JpbmRpcn0vc2giCitBTFRFUk5BVElWRV9UQVJHRVRbc2hdID0gIiR7YmFzZV9iaW5kaXJ9LyR7QlBOfSIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjEwMCIKKworZG9fY29tcGlsZSgpIHsKKyAgICBzaCAke1N9L0J1aWxkLnNoIC1yCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiYXNlX2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9ta3NoICR7RH0ke2Jhc2VfYmluZGlyfS9ta3NoCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3NrZWwKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9kb3QubWtzaHJjICR7RH0ke3N5c2NvbmZkaXJ9L3NrZWwvLm1rc2hyYworfQorCitSUFJPVklERVNfJHtQTn0gKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAndXNybWVyZ2UnLCAnL2Jpbi9zaCcsICcnLCBkKX0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hY2UtY2xvdWQtZWRpdG9yL2FjZS1jbG91ZC1lZGl0b3JfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYWNlLWNsb3VkLWVkaXRvci9hY2UtY2xvdWQtZWRpdG9yX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZWE2YzhhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYWNlLWNsb3VkLWVkaXRvci9hY2UtY2xvdWQtZWRpdG9yX2dpdC5iYgpAQCAtMCwwICsxLDIyIEBACitERVNDUklQVElPTiA9ICJBY2UgaXMgYSBjb2RlIGVkaXRvciB3cml0dGVuIGluIEphdmFTY3JpcHQuIgorU1VNTUFSWSA9ICJBY2UgaXMgYSBjb2RlIGVkaXRvciB3cml0dGVuIGluIEphdmFTY3JpcHQuIFRoaXMgcmVwb3NpdG9yeSBoYXMgb25seSBnZW5lcmF0ZWQgZmlsZXMiCisKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9Nzk0ZDExYzUyMTljNTljOWVmYTI0ODdjMmI0MDY2YjIiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9hamF4b3JnL2FjZS1idWlsZHMuZ2l0O3Byb3RvY29sPWh0dHBzIgorCitQViA9ICIwMi4wNy4xNytnaXQke1NSQ1BWfSIKK1NSQ1JFViA9ICI4MTJlMmM1NmFlZDI0NjkzMWE2NjdmMTZjMjhiMDk2ZTM0NTk3MDE2IgorCitGSUxFU18ke1BOfSA9ICIke2RhdGFkaXJ9L2FjZS1idWlsZHMiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0RFUEVORFMgKz0gInJzeW5jLW5hdGl2ZSIKKworZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9LyR7ZGF0YWRpcn0vYWNlLWJ1aWxkcy9zcmMtbm9jb25mbGljdAorICAgIHJzeW5jIC1yIC0tZXhjbHVkZT0iLioiICR7U30vc3JjLW5vY29uZmxpY3QvKiAke0R9LyR7ZGF0YWRpcn0vYWNlLWJ1aWxkcy9zcmMtbm9jb25mbGljdAorfQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hc2lvL2FzaW9fMS4xMi4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXNpby9hc2lvXzEuMTIuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjhjZDljMC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hc2lvL2FzaW9fMS4xMi4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiQXNpbyBpcyBhIGNyb3NzLXBsYXRmb3JtIEMrKyBsaWJyYXJ5IGZvciBuZXR3b3JrIGFuZCBsb3ctbGV2ZWwgXAotICAgICAgICBJL08gcHJvZ3JhbW1pbmcgdGhhdCBwcm92aWRlcyBkZXZlbG9wZXJzIHdpdGggYSBjb25zaXN0ZW50IGFzeW5jaHJvbm91cyBcCi0gICAgICAgIG1vZGVsIHVzaW5nIGEgbW9kZXJuIEMrKyBhcHByb2FjaC4iCi1BVVRIT1IgPSAiQ2hyaXN0b3BoZXIgTS4gS29obGhvZmYgKGNocmlzIGF0IGtvaGxob2ZmIGRvdCBjb20pIgotSE9NRVBBR0UgPSAiaHR0cDovL3RoaW5rLWFzeW5jLmNvbS9Bc2lvIgotU0VDVElPTiA9ICJsaWJzIgotTElDRU5TRSA9ICJCU0wtMS4wIgotCi1ERVBFTkRTID0gImJvb3N0IG9wZW5zc2wiCi0KLVNSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2FzaW8vJHtCUH0udGFyLmJ6MiIKLQotaW5oZXJpdCBhdXRvdG9vbHMKLQotQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9M2U3M2YzMTFhM2FmNjllNmRmMjc1ZThjM2IxYzA5YjUiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIwMzc4NTRkMTEzMDI0ZjU3Yzk3NTNkNjMyNmIzMzliYyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJhOTA5MWI0ZGU4NDc1MzlmYTViMjI1OWJmNzZhNTM1NTMzOWM3ZWFhYTVlMzNkN2Q0YWU3NGQ2MTRjMjE5NjVhIgotCi1TUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9hc2lvLyR7QlB9LnRhci5iejIiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hc2lvL2FzaW9fMS4xMi4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXNpby9hc2lvXzEuMTIuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNWY4NzVmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXNpby9hc2lvXzEuMTIuMi5iYgpAQCAtMCwwICsxLDI2IEBACitERVNDUklQVElPTiA9ICJBc2lvIGlzIGEgY3Jvc3MtcGxhdGZvcm0gQysrIGxpYnJhcnkgZm9yIG5ldHdvcmsgYW5kIGxvdy1sZXZlbCBcCisgICAgICAgIEkvTyBwcm9ncmFtbWluZyB0aGF0IHByb3ZpZGVzIGRldmVsb3BlcnMgd2l0aCBhIGNvbnNpc3RlbnQgYXN5bmNocm9ub3VzIFwKKyAgICAgICAgbW9kZWwgdXNpbmcgYSBtb2Rlcm4gQysrIGFwcHJvYWNoLiIKK0FVVEhPUiA9ICJDaHJpc3RvcGhlciBNLiBLb2hsaG9mZiAoY2hyaXMgYXQga29obGhvZmYgZG90IGNvbSkiCitIT01FUEFHRSA9ICJodHRwOi8vdGhpbmstYXN5bmMuY29tL0FzaW8iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkJTTC0xLjAiCisKK0RFUEVORFMgPSAib3BlbnNzbCIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vYXNpby8ke0JQfS50YXIuYnoyIgorCitpbmhlcml0IGF1dG90b29scworCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zZTczZjMxMWEzYWY2OWU2ZGYyNzVlOGMzYjFjMDliNSIKKworU1JDX1VSSVttZDVzdW1dID0gIjMxMmU1MzM4NWUyZGFhZDEwZjA4ZDU3ZjkxYWQzNDMxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjRlMjdkY2IzNzQ1NmJhNzA3NTcwMzM0YjkxZjQ3OTg3MjExMTFlZDY3YjY5OTE1Njg1ZWFjMTQxODk1Nzc5YWEiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2FzaW8vJHtCUH0udGFyLmJ6MiIKKworUEFDS0FHRUNPTkZJRyA/Pz0gImJvb3N0IgorCitQQUNLQUdFQ09ORklHW2Jvb3N0XSA9ICItLXdpdGgtYm9vc3QsLS13aXRob3V0LWJvb3N0LGJvb3N0IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wLzAwMDEtYWRkLXN5cy1zeXNtYWNyb3MuaC1mb3ItbWFqb3ItbWlub3ItbWFjcm9zLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wLzAwMDEtYWRkLXN5cy1zeXNtYWNyb3MuaC1mb3ItbWFqb3ItbWlub3ItbWFjcm9zLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NjQ2MDYxLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcC8wMDAxLWFkZC1zeXMtc3lzbWFjcm9zLmgtZm9yLW1ham9yLW1pbm9yLW1hY3Jvcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLUZyb20gMTNmMzc3MTY1NWY4NTlkNWUwMzMyZGQ2NWI5YzQzZjU3MmY2MzU5ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBTYXQsIDExIEF1ZyAyMDE4IDE2OjAyOjA2IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIGFkZCBzeXMvc3lzbWFjcm9zLmggZm9yIG1ham9yL21pbm9yIG1hY3JvcwotCi1waG90b3N5c3QuYzoxNDY1OjE5OiBlcnJvcjogY2FsbGVkIG9iamVjdCAnbWFqb3InIGlzIG5vdCBhIGZ1bmN0aW9uIG9yIGZ1bmN0aW9uIHBvaW50ZXIKLSAgICAgZG1wLT5tYWpvciAgPSBtYWpvcihzdGF0YnVmLnN0X3JkZXYpOwotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBwaG90b3N5c3QuYyB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvcGhvdG9zeXN0LmMgYi9waG90b3N5c3QuYwotaW5kZXggMzg4MjhlYy4uY2FlZDM1MiAxMDA2NDQKLS0tLSBhL3Bob3Rvc3lzdC5jCi0rKysgYi9waG90b3N5c3QuYwotQEAgLTE1Miw2ICsxNTIsNyBAQAotIHN0YXRpYyBjb25zdCBjaGFyIHJjc2lkW10gPSAiJElkOiBwaG90b3N5c3QuYyx2IDEuMzggMjAxMC8xMS8xOSAwNzo0MDo0MCBnZXJsb2YgRXhwICQiOwotIAotICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSsjaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgotICNpbmNsdWRlIDxzdGRpby5oPgotICNpbmNsdWRlIDxzdHJpbmcuaD4KLSAjaW5jbHVkZSA8dW5pc3RkLmg+CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3AvMDAwMS1hdG9wLmRhaWx5LWF0b3AuaW5pdC1hdG9wLXBtLnNoLUF2b2lkLXVzaW5nLWJhc2gucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3AvMDAwMS1hdG9wLmRhaWx5LWF0b3AuaW5pdC1hdG9wLXBtLnNoLUF2b2lkLXVzaW5nLWJhc2gucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmFjYjI1NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcC8wMDAxLWF0b3AuZGFpbHktYXRvcC5pbml0LWF0b3AtcG0uc2gtQXZvaWQtdXNpbmctYmFzaC5wYXRjaApAQCAtMCwwICsxLDY3IEBACitGcm9tIGZmYzhiYThkMzI0MjQzYTkyM2FiZTQ4ZTk3NThhZGVjYjAzZDI0YTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KK0RhdGU6IFR1ZSwgMTIgRmViIDIwMTkgMjE6MjU6MjMgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gYXRvcC5kYWlseSwgYXRvcC5pbml0LCBhdG9wLXBtLnNoOiBBdm9pZCB1c2luZyBiYXNoCisKK0F2b2lkIHVzaW5nIGJhc2ggYW5kIGJhc2hpc21zIHdoZW4gbm90IG5lY2VzYXJ5LiBPbiBzb21lIHN5c3RlbXMsCitlLmcuLCBlbWJlZGRlZCBwcm9kdWN0cywgYmFzaCBtYXkgbm90IGJlIGF2YWlsYWJsZSBieSBkZWZhdWx0LgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL0F0b3B0b29sL2F0b3AvcHVsbC81MF0KK1NpZ25lZC1vZmYtYnk6IFBldGVyIEtqZWxsZXJzdGVkdCA8cGV0ZXIua2plbGxlcnN0ZWR0QGF4aXMuY29tPgorLS0tCisgYXRvcC1wbS5zaCB8IDIgKy0KKyBhdG9wLmRhaWx5IHwgNCArKy0tCisgYXRvcC5pbml0ICB8IDQgKystLQorIDMgZmlsZXMgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYXRvcC1wbS5zaCBiL2F0b3AtcG0uc2gKK2luZGV4IDdmNDFhODYuLjNmZjRhYjUgMTAwNzU1CistLS0gYS9hdG9wLXBtLnNoCisrKysgYi9hdG9wLXBtLnNoCitAQCAtMSw0ICsxLDQgQEAKKy0jIS9iaW4vYmFzaAorKyMhL2Jpbi9zaAorIAorIGNhc2UgIiQxIiBpbgorIAlwcmUpCS91c3IvYmluL3N5c3RlbWN0bCBzdG9wIGF0b3AKK2RpZmYgLS1naXQgYS9hdG9wLmRhaWx5IGIvYXRvcC5kYWlseQoraW5kZXggNTdhOTUwNy4uZmU1YTExYiAxMDA3NTUKKy0tLSBhL2F0b3AuZGFpbHkKKysrKyBiL2F0b3AuZGFpbHkKK0BAIC0xLDQgKzEsNCBAQAorLSMhL2Jpbi9iYXNoCisrIyEvYmluL3NoCisgCisgTE9HT1BUUz0iLVIiCQkJCSMgZGVmYXVsdCBvcHRpb25zCisgTE9HSU5URVJWQUw9NjAwCQkJCSMgZGVmYXVsdCBpbnRlcnZhbCBpbiBzZWNvbmRzCitAQCAtMzgsNyArMzgsNyBAQCB0aGVuCisgCisgCXdoaWxlIHBzIC1wIGBjYXQgIiRQSURGSUxFImAgPiAvZGV2L251bGwKKyAJZG8KKy0JCWxldCBDTlQrPTEKKysJCUNOVD0kKChDTlQgKyAxKSkKKyAKKyAJCWlmIFsgJENOVCAtZ3QgNSBdCisgCQl0aGVuCitkaWZmIC0tZ2l0IGEvYXRvcC5pbml0IGIvYXRvcC5pbml0CitpbmRleCBlNmUxMWRjLi4wM2MzZjAyIDEwMDc1NQorLS0tIGEvYXRvcC5pbml0CisrKysgYi9hdG9wLmluaXQKK0BAIC0xLDQgKzEsNCBAQAorLSMhL2Jpbi9iYXNoCisrIyEvYmluL3NoCisgIworICMgYXRvcAkJU3RhcnR1cCBzY3JpcHQgZm9yIHRoZSBBdG9wIHByb2Nlc3MgbG9nZ2luZyBpbiBiYWNrZ3JvdW5kCisgIworQEAgLTQ3LDcgKzQ3LDcgQEAgY2FzZSAiJDEiIGluCisgCisgCQl3aGlsZSBwcyAtcCBgY2F0ICRQSURGSUxFYCA+IC9kZXYvbnVsbAorIAkJZG8KKy0JCQlsZXQgQ05UKz0xCisrCQkJQ05UPSQoKENOVCArIDEpKQorIAorIAkJCWlmIFsgJENOVCAtZ3QgNSBdCisgCQkJdGhlbgorLS0gCisyLjEyLjAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wL2ZpeC1wZXJtaXNzaW9ucy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcC9maXgtcGVybWlzc2lvbnMucGF0Y2gKaW5kZXggZWU3NDE5OS4uODQ4OGIzOCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wL2ZpeC1wZXJtaXNzaW9ucy5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3AvZml4LXBlcm1pc3Npb25zLnBhdGNoCkBAIC0xLDE1ICsxLDIyIEBACi1VcGRhdGUgcGVybWlzc2lvbnMgb2YgZXhlY3V0YWJsZSBmaWxlcyB0aGF0IHJlbW92ZSBzZXR1aWQgYml0IGFuZCBtYWtlIGV2ZXJ5b25lCi1jb3VsZCByZWFkLgorRnJvbSBkOTQ5OGQxMGQwZTgyNDE3NDk4MzVkYmM5ZmEyMjk0NjVkNGZkZmQ3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBXZWQsIDYgRmViIDIwMTkgMTM6NTg6MDQgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IHBlcm1pc3Npb25zCisKK1VwZGF0ZSBwZXJtaXNzaW9ucyBvZiBleGVjdXRhYmxlIGZpbGVzIHRoYXQgcmVtb3ZlIHNldHVpZCBiaXQgYW5kIG1ha2UKK2V2ZXJ5b25lIGNvdWxkIHJlYWQuCiAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0KIFNpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgogLS0tCisgTWFrZWZpbGUgfCAxMCArKysrKy0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKwogZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKLWluZGV4IGE2NWI5YjYuLjIxZDk4MjggMTAwNjQ0CitpbmRleCAzYmY1OTI5Li4xMjIxZWU0IDEwMDY0NAogLS0tIGEvTWFrZWZpbGUKICsrKyBiL01ha2VmaWxlCi1AQCAtNjYsNyArNjYsNyBAQCBzeXN0ZW1kaW5zdGFsbDoJZ2VuZXJpY2luc3RhbGwKK0BAIC03Miw3ICs3Miw3IEBAIHN5c3RlbWRpbnN0YWxsOglnZW5lcmljaW5zdGFsbAogIAkJY2htb2QgMDY0NCAgICAgICAgICAgICQoREVTVERJUikkKFNZU0RQQVRIKS9hdG9wYWNjdC5zZXJ2aWNlCiAgCQljcCBhdG9wLmNyb25zeXN0ZW1kICAgJChERVNURElSKSQoQ1JOUEFUSCkvYXRvcAogIAkJY3AgYXRvcC1wbS5zaCAgICAgICAgICQoREVTVERJUikkKFBNUEFUSEQpCkBAIC0xOCw3ICsyNSw3IEBACiAgCQkjCiAgCQkjIG9ubHkgd2hlbiBtYWtpbmcgb24gdGFyZ2V0IHN5c3RlbToKICAJCSMKLUBAIC05MSwxMSArOTEsMTEgQEAgc3lzdmluc3RhbGw6CWdlbmVyaWNpbnN0YWxsCitAQCAtOTcsMTEgKzk3LDExIEBAIHN5c3ZpbnN0YWxsOglnZW5lcmljaW5zdGFsbAogIAkJIwogIAkJaWYgWyAgIC1kICQoREVTVERJUikkKFBNUEFUSDEpIF07IAkJCVwKICAJCXRoZW4JY3AgNDVhdG9wcG0gJChERVNURElSKSQoUE1QQVRIMSk7IAkJXApAQCAtMzIsNyArMzksNyBAQAogIAkJZmkKICAJCSMKICAJCSMKLUBAIC0xMzksNyArMTM5LDcgQEAgZ2VuZXJpY2luc3RhbGw6CWF0b3AgYXRvcGFjY3RkCitAQCAtMTQ1LDcgKzE0NSw3IEBAIGdlbmVyaWNpbnN0YWxsOglhdG9wIGF0b3BhY2N0ZCBhdG9wY29udmVydAogIAkJIwogIAkJY3AgYXRvcCAgIAkJJChERVNURElSKSQoQklOUEFUSCkvYXRvcAogIAkJY2hvd24gcm9vdAkJJChERVNURElSKSQoQklOUEFUSCkvYXRvcApAQCAtNDEsMTIgKzQ4LDEyIEBACiAgCQlsbiAtc2YgYXRvcCAgICAgICAgICAgICAkKERFU1RESVIpJChCSU5QQVRIKS9hdG9wc2FyCiAgCQljcCBhdG9wYWNjdGQgIAkJJChERVNURElSKSQoU0JJTlBBVEgpL2F0b3BhY2N0ZAogIAkJY2hvd24gcm9vdAkJJChERVNURElSKSQoU0JJTlBBVEgpL2F0b3BhY2N0ZAotQEAgLTE0Nyw3ICsxNDcsNyBAQCBnZW5lcmljaW5zdGFsbDoJYXRvcCBhdG9wYWNjdGQKLSAJCWNwIGF0b3AgICAJCSQoREVTVERJUikkKEJJTlBBVEgpL2F0b3AtJChWRVJTKQotIAkJbG4gLXNmIGF0b3AtJChWRVJTKSAgICAgJChERVNURElSKSQoQklOUEFUSCkvYXRvcHNhci0kKFZFUlMpCitAQCAtMTU5LDcgKzE1OSw3IEBAIGdlbmVyaWNpbnN0YWxsOglhdG9wIGF0b3BhY2N0ZCBhdG9wY29udmVydAorIAkJY2hvd24gcm9vdAkJJChERVNURElSKSQoQklOUEFUSCkvYXRvcGNvbnZlcnQKKyAJCWNobW9kIDA3MTEgCQkkKERFU1RESVIpJChCSU5QQVRIKS9hdG9wY29udmVydAogIAkJY3AgYXRvcC5kYWlseSAgICAJJChERVNURElSKSQoU0NSUEFUSCkKIC0JCWNobW9kIDA3MTEgCSAJJChERVNURElSKSQoU0NSUEFUSCkvYXRvcC5kYWlseQogKwkJY2htb2QgMDc1NSAJIAkkKERFU1RESVIpJChTQ1JQQVRIKS9hdG9wLmRhaWx5CiAgCQljcCBtYW4vYXRvcC4xICAgIAkkKERFU1RESVIpJChNQU4xUEFUSCkKICAJCWNwIG1hbi9hdG9wc2FyLjEgCSQoREVTVERJUikkKE1BTjFQQVRIKQotIAkJY3AgbWFuL2F0b3ByYy41ICAJJChERVNURElSKSQoTUFONVBBVEgpCisgCQljcCBtYW4vYXRvcGNvbnZlcnQuMSAJJChERVNURElSKSQoTUFOMVBBVEgpCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3AvcmVtb3ZlLWJhc2hpc21zLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wL3JlbW92ZS1iYXNoaXNtcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjFmY2JmZS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3AvcmVtb3ZlLWJhc2hpc21zLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+Ci0tLS0KLWRpZmYgLS1naXQgYS9hdG9wLXBtLnNoIGIvYXRvcC1wbS5zaAotaW5kZXggN2Y0MWE4Ni4uM2ZmNGFiNSAxMDA3NTUKLS0tLSBhL2F0b3AtcG0uc2gKLSsrKyBiL2F0b3AtcG0uc2gKLUBAIC0xLDQgKzEsNCBAQAotLSMhL2Jpbi9iYXNoCi0rIyEvYmluL3NoCi0gCi0gY2FzZSAiJDEiIGluCi0gCXByZSkJL3Vzci9iaW4vc3lzdGVtY3RsIHN0b3AgYXRvcAotZGlmZiAtLWdpdCBhL2F0b3AuZGFpbHkgYi9hdG9wLmRhaWx5Ci1pbmRleCAyNGQzM2JkLi5mMjliZDk0IDEwMDc1NQotLS0tIGEvYXRvcC5kYWlseQotKysrIGIvYXRvcC5kYWlseQotQEAgLTEsNCArMSw0IEBACi0tIyEvYmluL2Jhc2gKLSsjIS9iaW4vc2gKLSAKLSBDVVJEQVk9YGRhdGUgKyVZJW0lZGAKLSBMT0dQQVRIPS92YXIvbG9nL2F0b3AKLUBAIC0xNiw3ICsxNiw3IEBAIHRoZW4KLSAKLSAJd2hpbGUgcHMgLXAgYGNhdCAkUElERklMRWAgPiAvZGV2L251bGwKLSAJZG8KLS0JCWxldCBDTlQrPTEKLSsJCUNOVD0kKChDTlQrMSkpCi0gCi0gCQlpZiBbICRDTlQgLWd0IDUgXQotIAkJdGhlbgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wL3N5c3Zpbml0LWltcGxlbWVudC1zdGF0dXMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3Avc3lzdmluaXQtaW1wbGVtZW50LXN0YXR1cy5wYXRjaAppbmRleCA1OTk0ZDNlLi4xMTQ1YTI0IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3Avc3lzdmluaXQtaW1wbGVtZW50LXN0YXR1cy5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3Avc3lzdmluaXQtaW1wbGVtZW50LXN0YXR1cy5wYXRjaApAQCAtMSwxMSArMSwxOCBAQAorRnJvbSBiZGQwNjg4NzNlZDA5NzkwMjdjMjE3NzM5MzliZGIxODA0NmE4NzU2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBXZWQsIDYgRmViIDIwMTkgMTM6NTg6MDQgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gc3lzdmluaXQ6IEltcGxlbWVudCBzdGF0dXMKKwogSW1wbGVtZW50IHRoZSBzdWItY29tbWFuZCBzdGF0dXMuCiAKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCiBTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KIC0tLQorIGF0b3AuaW5pdCB8IDMgKysrCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQorCiBkaWZmIC0tZ2l0IGEvYXRvcC5pbml0IGIvYXRvcC5pbml0Ci1pbmRleCAxMDhiZGM1Li45Zjg5ZmFkIDEwMDc1NQoraW5kZXggZTZlMTFkYy4uZTdiMjI2ZCAxMDA3NTUKIC0tLSBhL2F0b3AuaW5pdAogKysrIGIvYXRvcC5pbml0CiBAQCAtMTgsNiArMTgsOCBAQApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wXzIuMy4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wXzIuMy4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMDI4MTNjLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcF8yLjMuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDU3ICswLDAgQEAKLVNVTU1BUlkgPSAiTW9uaXRvciBmb3Igc3lzdGVtIHJlc291cmNlcyBhbmQgcHJvY2VzcyBhY3Rpdml0eSIKLURFU0NSSVBUSU9OID0gIkF0b3AgaXMgYW4gQVNDSUkgZnVsbC1zY3JlZW4gcGVyZm9ybWFuY2UgbW9uaXRvciBmb3IgTGludXggdGhhdCBcCi1pcyBjYXBhYmxlIG9mIHJlcG9ydGluZyB0aGUgYWN0aXZpdHkgb2YgYWxsIHByb2Nlc3NlcyAoZXZlbiBpZiBwcm9jZXNzZXMgaGF2ZSBcCi1maW5pc2hlZCBkdXJpbmcgdGhlIGludGVydmFsKSwgZGFpbHkgbG9nZ2luZyBvZiBzeXN0ZW0gYW5kIHByb2Nlc3MgYWN0aXZpdHkgZm9yIFwKLWxvbmctdGVybSBhbmFseXNpcywgaGlnaGxpZ2h0aW5nIG92ZXJsb2FkZWQgc3lzdGVtIHJlc291cmNlcyBieSB1c2luZyBjb2xvcnMsIFwKLWV0Yy4gQXQgcmVndWxhciBpbnRlcnZhbHMsIGl0IHNob3dzIHN5c3RlbS1sZXZlbCBhY3Rpdml0eSByZWxhdGVkIHRvIHRoZSBDUFUsIFwKLW1lbW9yeSwgc3dhcCwgZGlza3MgKGluY2x1ZGluZyBMVk0pIGFuZCBuZXR3b3JrIGxheWVycywgYW5kIGZvciBldmVyeSBwcm9jZXNzIFwKLShhbmQgdGhyZWFkKSBpdCBzaG93cyBlLmcuIHRoZSBDUFUgdXRpbGl6YXRpb24sIG1lbW9yeSBncm93dGgsIGRpc2sgXAotdXRpbGl6YXRpb24sIHByaW9yaXR5LCB1c2VybmFtZSwgc3RhdGUsIGFuZCBleGl0IGNvZGUuIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5hdG9wdG9vbC5ubCIKLVNFQ1RJT04gPSAiY29uc29sZS91dGlscyIKLQotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTM5M2E1Y2E0NDVmNjk2NTg3M2VjYTAyNTlhMTdmODMzIgotCi1ERVBFTkRTID0gIm5jdXJzZXMgemxpYiIKLQotU1JDX1VSSSA9ICJodHRwOi8vd3d3LmF0b3B0b29sLm5sL2Rvd25sb2FkLyR7QlB9LnRhci5neiBcCi0gICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICdmaWxlOi8vdm9sYXRpbGVzLmF0b3AuY29uZicsICdmaWxlOi8vdm9sYXRpbGVzLjk5X2F0b3AnLCBkKX0gXAotICAgICAgICAgICBmaWxlOi8vcmVtb3ZlLWJhc2hpc21zLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2ZpeC1wZXJtaXNzaW9ucy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9zeXN2aW5pdC1pbXBsZW1lbnQtc3RhdHVzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtYWRkLXN5cy1zeXNtYWNyb3MuaC1mb3ItbWFqb3ItbWlub3ItbWFjcm9zLnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gIjQ4ZTFkYmVmOGM3ZDgyNmU2ODgyOWE4ZDVmYzkyMGZjIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjczZTQ3MjVkZTBiYWZhYzhjNjNiMDMyZTg0NzllMjMwNWUzOTYyYWZiZTk3N2VjMWFiZDQ1ZjllMTA0ZWIyNjQiCi0KLWRvX2NvbXBpbGUoKSB7Ci0gICAgb2VfcnVubWFrZSBhbGwKLX0KLQotZG9faW5zdGFsbCgpIHsKLSAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgotICAgICAgICBtYWtlIERFU1RESVI9JHtEfSBWRVJTPSR7UFZ9IFNZU0RQQVRIPSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0gXAotICAgICAgICAgICAgUE1QQVRIRD0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLXNsZWVwIHN5c3RlbWRpbnN0YWxsCi0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZAotICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L3ZvbGF0aWxlcy5hdG9wLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC9hdG9wLmNvbmYKLSAgICAgICAgcm0gLWYgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vYXRvcGFjY3Quc2VydmljZQotICAgIGVsc2UKLSAgICAgICAgbWFrZSBERVNURElSPSR7RH0gVkVSUz0ke1BWfSBzeXN2aW5zdGFsbAotICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzCi0gICAgICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vdm9sYXRpbGVzLjk5X2F0b3AgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvOTlfYXRvcAotICAgICAgICBybSAtZiAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvYXRvcGFjY3QKLSAgICBmaQotCi0gICAgIyByZW1vdmUgYXRvcGFjY3QgcmVsYXRlZCBmaWxlcwotICAgIHJtIC1yZiAke0R9JHtzYmluZGlyfSAke0R9JHttYW5kaXJ9L21hbjgKLX0KLQotaW5oZXJpdCBzeXN0ZW1kCi0KLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJhdG9wLnNlcnZpY2UiCi1TWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCi0KLUZJTEVTXyR7UE59ICs9ICIke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLXNsZWVwIgotCi1SREVQRU5EU18ke1BOfSA9ICJwcm9jcHMiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3BfMi40LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3BfMi40LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWJkZTk2NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcF8yLjQuMC5iYgpAQCAtMCwwICsxLDU2IEBACitTVU1NQVJZID0gIk1vbml0b3IgZm9yIHN5c3RlbSByZXNvdXJjZXMgYW5kIHByb2Nlc3MgYWN0aXZpdHkiCitERVNDUklQVElPTiA9ICJBdG9wIGlzIGFuIEFTQ0lJIGZ1bGwtc2NyZWVuIHBlcmZvcm1hbmNlIG1vbml0b3IgZm9yIExpbnV4IHRoYXQgXAoraXMgY2FwYWJsZSBvZiByZXBvcnRpbmcgdGhlIGFjdGl2aXR5IG9mIGFsbCBwcm9jZXNzZXMgKGV2ZW4gaWYgcHJvY2Vzc2VzIGhhdmUgXAorZmluaXNoZWQgZHVyaW5nIHRoZSBpbnRlcnZhbCksIGRhaWx5IGxvZ2dpbmcgb2Ygc3lzdGVtIGFuZCBwcm9jZXNzIGFjdGl2aXR5IGZvciBcCitsb25nLXRlcm0gYW5hbHlzaXMsIGhpZ2hsaWdodGluZyBvdmVybG9hZGVkIHN5c3RlbSByZXNvdXJjZXMgYnkgdXNpbmcgY29sb3JzLCBcCitldGMuIEF0IHJlZ3VsYXIgaW50ZXJ2YWxzLCBpdCBzaG93cyBzeXN0ZW0tbGV2ZWwgYWN0aXZpdHkgcmVsYXRlZCB0byB0aGUgQ1BVLCBcCittZW1vcnksIHN3YXAsIGRpc2tzIChpbmNsdWRpbmcgTFZNKSBhbmQgbmV0d29yayBsYXllcnMsIGFuZCBmb3IgZXZlcnkgcHJvY2VzcyBcCisoYW5kIHRocmVhZCkgaXQgc2hvd3MgZS5nLiB0aGUgQ1BVIHV0aWxpemF0aW9uLCBtZW1vcnkgZ3Jvd3RoLCBkaXNrIFwKK3V0aWxpemF0aW9uLCBwcmlvcml0eSwgdXNlcm5hbWUsIHN0YXRlLCBhbmQgZXhpdCBjb2RlLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuYXRvcHRvb2wubmwiCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zOTNhNWNhNDQ1ZjY5NjU4NzNlY2EwMjU5YTE3ZjgzMyIKKworREVQRU5EUyA9ICJuY3Vyc2VzIHpsaWIiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5hdG9wdG9vbC5ubC9kb3dubG9hZC8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAnZmlsZTovL3ZvbGF0aWxlcy5hdG9wLmNvbmYnLCAnZmlsZTovL3ZvbGF0aWxlcy45OV9hdG9wJywgZCl9IFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC1wZXJtaXNzaW9ucy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zeXN2aW5pdC1pbXBsZW1lbnQtc3RhdHVzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtYXRvcC5kYWlseS1hdG9wLmluaXQtYXRvcC1wbS5zaC1Bdm9pZC11c2luZy1iYXNoLnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjEwNzdkYTg4NGVkOTRmMmJjM2M4MWFjM2FiOTcwNDM2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImJlMWMwMTBhNzcwODZiN2Q5ODM3NmZjZTk2NTE0YWZjZDczYzNmMjBhOGQxZmUwMTUyMDg5OWZmNjlhNzNkNjkiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZSBhbGwKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICBtYWtlIERFU1RESVI9JHtEfSBWRVJTPSR7UFZ9IFNZU0RQQVRIPSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0gXAorICAgICAgICAgICAgUE1QQVRIRD0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLXNsZWVwIHN5c3RlbWRpbnN0YWxsCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZAorICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L3ZvbGF0aWxlcy5hdG9wLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC9hdG9wLmNvbmYKKyAgICAgICAgcm0gLWYgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vYXRvcGFjY3Quc2VydmljZQorICAgIGVsc2UKKyAgICAgICAgbWFrZSBERVNURElSPSR7RH0gVkVSUz0ke1BWfSBzeXN2aW5zdGFsbAorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzCisgICAgICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vdm9sYXRpbGVzLjk5X2F0b3AgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvOTlfYXRvcAorICAgICAgICBybSAtZiAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvYXRvcGFjY3QKKyAgICBmaQorCisgICAgIyByZW1vdmUgYXRvcGFjY3QgcmVsYXRlZCBmaWxlcworICAgIHJtIC1yZiAke0R9JHtzYmluZGlyfSAke0R9JHttYW5kaXJ9L21hbjgKK30KKworaW5oZXJpdCBzeXN0ZW1kCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJhdG9wLnNlcnZpY2UgYXRvcGdwdS5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorCitGSUxFU18ke1BOfSArPSAiJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS1zbGVlcCIKKworUkRFUEVORFNfJHtQTn0gPSAicHJvY3BzIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYmR3Z2MvYmR3Z2MvMDAwMS1jb25maWd1cmUuYWMtYWRkLWNoZWNrLWZvci1OT19HRVRDT05URVhULWRlZmluaXRpb24ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9iZHdnYy9iZHdnYy8wMDAxLWNvbmZpZ3VyZS5hYy1hZGQtY2hlY2stZm9yLU5PX0dFVENPTlRFWFQtZGVmaW5pdGlvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGVmNzc0Zi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9iZHdnYy9iZHdnYy8wMDAxLWNvbmZpZ3VyZS5hYy1hZGQtY2hlY2stZm9yLU5PX0dFVENPTlRFWFQtZGVmaW5pdGlvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLWNvbmZpZ3VyZS5hYzogYWRkIGNoZWNrIGZvciBOT19HRVRDT05URVhUIGRlZmluaXRpb24KLQotU2lnbmVkLW9mZi1ieTogU2FtdWVsIE1hcnRpbiA8cy5tYXJ0aW40OUBnbWFpbC5jb20+Ci1beWFubi5tb3Jpbi4xOTk4QGZyZWUuZnI6IGFkZCBhIGNvbW1lbnQsIGNoYW5nZSB2YXJpYWJsZSBuYW1lLCB1c2UKLSBBU19JRiwgcmVtb3ZlIGRlYnVnIHRyYWNlcywgdXNlIEFDX0NIRUNLX0ZVTkNTIChhcyBzdWdnZXN0ZWQgYnkKLSBUaG9tYXMpXQotU2lnbmVkLW9mZi1ieTogIllhbm4gRS4gTU9SSU4iIDx5YW5uLm1vcmluLjE5OThAZnJlZS5mcj4KLUNjOiBUaG9tYXMgUGV0YXp6b25pIDx0aG9tYXMucGV0YXp6b25pQGZyZWUtZWxlY3Ryb25zLmNvbT4KLQotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLSBjb25maWd1cmUuYWMgfCA2ICsrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKLQotLS0tIGJkd2djLTcuMmYub3JpZy9jb25maWd1cmUuYWMJMjAxNC0wNi0wMSAxOTowMDo0Ny4wMDAwMDAwMDAgKzAyMDAKLSsrKyBiZHdnYy03LjJmL2NvbmZpZ3VyZS5hYwkyMDE0LTEyLTIzIDE0OjEzOjExLjU4NTcxNjcxMyArMDEwMAotQEAgLTM2NSw2ICszNjUsMTIgQEAKLSAgIEFDX01TR19SRVNVTFQoJGFjX2N2X2Zub19zdHJpY3RfYWxpYXNpbmcpCi0gZmkKLSAKLSsjIENoZWNrIGZvciBnZXRjb250ZXh0ICh1Q2xpYmMgY2FuIGJlIGNvbmZpZ3VyZWQgd2l0aG91dCBpdCwgZm9yIGV4YW1wbGUpCi0rQUNfQ0hFQ0tfRlVOQ1MoW2dldGNvbnRleHRdKQotK0FTX0lGKFt0ZXN0ICIkYWNfY3ZfZnVuY19nZXRjb250ZXh0IiA9ICJubyJdLAotKyAgW0NGTEFHUz0iJENGTEFHUyAtRE5PX0dFVENPTlRFWFQiCi0rICAgQ1BQRkxBR1M9IiRDUFBGTEFHUyAtRE5PX0dFVENPTlRFWFQiXSkKLSsKLSBjYXNlICIkaG9zdCIgaW4KLSAjIFdoaWxlIElSSVggNiBoYXMgbGliZGwgZm9yIHRoZSBPMzIgYW5kIE4zMiBBQklzLCBpdCdzIG1pc3NpbmcgZm9yIE42NAotICMgYW5kIHVubmVjZXNzYXJ5IGV2ZXJ5d2hlcmUuCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9iZHdnYy9iZHdnYy9tdXNsX2hlYWRlcl9maXgucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9iZHdnYy9iZHdnYy9tdXNsX2hlYWRlcl9maXgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRhMTg0OTYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYmR3Z2MvYmR3Z2MvbXVzbF9oZWFkZXJfZml4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotQWRkIG1pc3NpbmcgaGVhZGVyIHRvIGF2b2lkOgotCi18IDE0NzI2NTk2MTAuMDE2MzU1OiAuLi9naXQvcHRocmVhZF9zdG9wX3dvcmxkLmM6IEluIGZ1bmN0aW9uICdHQ19icmllZl9hc3luY19zaWduYWxfc2FmZV9zbGVlcCc6Ci18IDE0NzI2NTk2MTAuMDU0MDI1MjogLi4vZ2l0L3B0aHJlYWRfc3RvcF93b3JsZC5jOjM5NzoyMjogZXJyb3I6IHN0b3JhZ2Ugc2l6ZSBvZiAndHYnIGlzbid0IGtub3duCi18IDE0NzI2NTk2MTAuMDU0MDI1MjogICAgICAgIHN0cnVjdCB0aW1ldmFsIHR2OwotfCAxNDcyNjU5NjEwLjA1NDAyNTI6ICAgICAgICAgICAgICAgICAgICAgICBefgotfCAxNDcyNjU5NjEwLjA1NDA5OTogLi4vZ2l0L3B0aHJlYWRfc3RvcF93b3JsZC5jOjM5NzoyMjogd2FybmluZzogdW51c2VkIHZhcmlhYmxlICd0dicgWy1XdW51c2VkLXZhcmlhYmxlXQotfCAxNDcyNjU5NjEwLjA1NDA5OTogICAgICAgIHN0cnVjdCB0aW1ldmFsIHR2OwotfCAxNDcyNjU5NjEwLjA1NDA5OTogICAgICAgICAgICAgICAgICAgICAgIF5+Ci18IDE0NzI2NTk2MTAuMDU0MDk5OiBNYWtlZmlsZToxNTMwOiByZWNpcGUgZm9yIHRhcmdldCAncHRocmVhZF9zdG9wX3dvcmxkLmxvJyBmYWlsZWQKLQotaW4gbXVzbCBidWlsZHMuCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1JbmRleDogZ2l0L3B0aHJlYWRfc3RvcF93b3JsZC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvcHRocmVhZF9zdG9wX3dvcmxkLmMKLSsrKyBnaXQvcHRocmVhZF9zdG9wX3dvcmxkLmMKLUBAIC00NSw2ICs0NSw3IEBACi0gI2luY2x1ZGUgPHNlbWFwaG9yZS5oPgotICNpbmNsdWRlIDxlcnJuby5oPgotICNpbmNsdWRlIDx1bmlzdGQuaD4KLSsjaW5jbHVkZSA8c3lzL3RpbWUuaD4KLSAjaW5jbHVkZSAiYXRvbWljX29wcy5oIgotIAotIC8qIEl0J3Mgc2FmZSB0byBjYWxsIG9yaWdpbmFsIHB0aHJlYWRfc2lnbWFzaygpIGhlcmUuICAgKi8KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Jkd2djL2Jkd2djXzcuNi4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYmR3Z2MvYmR3Z2NfNy42LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjYjY4ZjAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYmR3Z2MvYmR3Z2NfNy42LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi1TVU1NQVJZID0gIkEgZ2FyYmFnZSBjb2xsZWN0b3IgZm9yIEMgYW5kIEMrKyIKLQotREVTQ1JJUFRJT04gPSAiVGhlIEJvZWhtLURlbWVycy1XZWlzZXIgY29uc2VydmF0aXZlIGdhcmJhZ2UgY29sbGVjdG9yIGNhbiBiZVwKLSB1c2VkIGFzIGEgZ2FyYmFnZSBjb2xsZWN0aW5nIHJlcGxhY2VtZW50IGZvciBDIG1hbGxvYyBvciBDKysgbmV3LiBJdCBhbGxvd3NcCi0geW91IHRvIGFsbG9jYXRlIG1lbW9yeSBiYXNpY2FsbHkgYXMgeW91IG5vcm1hbGx5IHdvdWxkLCB3aXRob3V0IGV4cGxpY2l0bHlcCi0gZGVhbGxvY2F0aW5nIG1lbW9yeSB0aGF0IGlzIG5vIGxvbmdlciB1c2VmdWwuIFRoZSBjb2xsZWN0b3IgYXV0b21hdGljYWxseVwKLSByZWN5Y2xlcyBtZW1vcnkgd2hlbiBpdCBkZXRlcm1pbmVzIHRoYXQgaXQgY2FuIG5vIGxvbmdlciBiZSBvdGhlcndpc2VcCi0gYWNjZXNzZWQuXAotICBUaGUgY29sbGVjdG9yIGlzIGFsc28gdXNlZCBieSBhIG51bWJlciBvZiBwcm9ncmFtbWluZyBsYW5ndWFnZVwKLSBpbXBsZW1lbnRhdGlvbnMgdGhhdCBlaXRoZXIgdXNlIEMgYXMgaW50ZXJtZWRpYXRlIGNvZGUsIHdhbnQgdG8gZmFjaWxpdGF0ZVwKLSBlYXNpZXIgaW50ZXJvcGVyYXRpb24gd2l0aCBDIGxpYnJhcmllcywgb3IganVzdCBwcmVmZXIgdGhlIHNpbXBsZSBjb2xsZWN0b3JcCi0gaW50ZXJmYWNlLlwKLSAgQWx0ZXJuYXRpdmVseSwgdGhlIGdhcmJhZ2UgY29sbGVjdG9yIG1heSBiZSB1c2VkIGFzIGEgbGVhayBkZXRlY3RvciBmb3IgQ1wKLSBvciBDKysgcHJvZ3JhbXMsIHRob3VnaCB0aGF0IGlzIG5vdCBpdHMgcHJpbWFyeSBnb2FsLlwKLSAgRW1waXJpY2FsbHksIHRoaXMgY29sbGVjdG9yIHdvcmtzIHdpdGggbW9zdCB1bm1vZGlmaWVkIEMgcHJvZ3JhbXMsIHNpbXBseVwKLSBieSByZXBsYWNpbmcgbWFsbG9jIHdpdGggR0NfbWFsbG9jIGNhbGxzLCByZXBsYWNpbmcgcmVhbGxvYyB3aXRoIEdDX3JlYWxsb2NcCi0gY2FsbHMsIGFuZCByZW1vdmluZyBmcmVlIGNhbGxzLiIKLQotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5oYm9laG0uaW5mby9nYy8iCi1TRUNUSU9OID0gImRldmVsIgotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUUuUVVJQ0s7bWQ1PTRmODFmMjRlYzY5NzI2YzMxMjQ4N2MyYWM3NDBlOWUzIgotCi1TUkNSRVYgPSAiOGFjMWQ4NGE0MGViN2E0MzFmZWMxYjgwOTdlM2YyNGI0OGZiMjNmYSIKLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9pdm1haS9iZHdnYy5naXQgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUuYWMtYWRkLWNoZWNrLWZvci1OT19HRVRDT05URVhULWRlZmluaXRpb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbXVzbF9oZWFkZXJfZml4LnBhdGNoIFwKLSAgICAgICAgICAiCi0KLUZJTEVTXyR7UE59LWRvYyA9ICIke2RhdGFkaXJ9IgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1BUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCi0KLSMgYnkgZGVmYXVsdCB1c2UgZXh0ZXJuYWwgbGliYXRvbWljLW9wcwotUEFDS0FHRUNPTkZJRyA/Pz0gImxpYmF0b21pYy1vcHMiCi1QQUNLQUdFQ09ORklHW2xpYmF0b21pYy1vcHNdID0gIi0td2l0aC1saWJhdG9taWMtb3BzPXllcywtLXdpdGgtbGliYXRvbWljLW9wcz1ubyxsaWJhdG9taWMtb3BzIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9iZHdnYy9iZHdnY183LjYuMTIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9iZHdnYy9iZHdnY183LjYuMTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjFjMTA5OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Jkd2djL2Jkd2djXzcuNi4xMi5iYgpAQCAtMCwwICsxLDQwIEBACitTVU1NQVJZID0gIkEgZ2FyYmFnZSBjb2xsZWN0b3IgZm9yIEMgYW5kIEMrKyIKKworREVTQ1JJUFRJT04gPSAiVGhlIEJvZWhtLURlbWVycy1XZWlzZXIgY29uc2VydmF0aXZlIGdhcmJhZ2UgY29sbGVjdG9yIGNhbiBiZVwKKyB1c2VkIGFzIGEgZ2FyYmFnZSBjb2xsZWN0aW5nIHJlcGxhY2VtZW50IGZvciBDIG1hbGxvYyBvciBDKysgbmV3LiBJdCBhbGxvd3NcCisgeW91IHRvIGFsbG9jYXRlIG1lbW9yeSBiYXNpY2FsbHkgYXMgeW91IG5vcm1hbGx5IHdvdWxkLCB3aXRob3V0IGV4cGxpY2l0bHlcCisgZGVhbGxvY2F0aW5nIG1lbW9yeSB0aGF0IGlzIG5vIGxvbmdlciB1c2VmdWwuIFRoZSBjb2xsZWN0b3IgYXV0b21hdGljYWxseVwKKyByZWN5Y2xlcyBtZW1vcnkgd2hlbiBpdCBkZXRlcm1pbmVzIHRoYXQgaXQgY2FuIG5vIGxvbmdlciBiZSBvdGhlcndpc2VcCisgYWNjZXNzZWQuXAorICBUaGUgY29sbGVjdG9yIGlzIGFsc28gdXNlZCBieSBhIG51bWJlciBvZiBwcm9ncmFtbWluZyBsYW5ndWFnZVwKKyBpbXBsZW1lbnRhdGlvbnMgdGhhdCBlaXRoZXIgdXNlIEMgYXMgaW50ZXJtZWRpYXRlIGNvZGUsIHdhbnQgdG8gZmFjaWxpdGF0ZVwKKyBlYXNpZXIgaW50ZXJvcGVyYXRpb24gd2l0aCBDIGxpYnJhcmllcywgb3IganVzdCBwcmVmZXIgdGhlIHNpbXBsZSBjb2xsZWN0b3JcCisgaW50ZXJmYWNlLlwKKyAgQWx0ZXJuYXRpdmVseSwgdGhlIGdhcmJhZ2UgY29sbGVjdG9yIG1heSBiZSB1c2VkIGFzIGEgbGVhayBkZXRlY3RvciBmb3IgQ1wKKyBvciBDKysgcHJvZ3JhbXMsIHRob3VnaCB0aGF0IGlzIG5vdCBpdHMgcHJpbWFyeSBnb2FsLlwKKyAgRW1waXJpY2FsbHksIHRoaXMgY29sbGVjdG9yIHdvcmtzIHdpdGggbW9zdCB1bm1vZGlmaWVkIEMgcHJvZ3JhbXMsIHNpbXBseVwKKyBieSByZXBsYWNpbmcgbWFsbG9jIHdpdGggR0NfbWFsbG9jIGNhbGxzLCByZXBsYWNpbmcgcmVhbGxvYyB3aXRoIEdDX3JlYWxsb2NcCisgY2FsbHMsIGFuZCByZW1vdmluZyBmcmVlIGNhbGxzLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5oYm9laG0uaW5mby9nYy8iCitTRUNUSU9OID0gImRldmVsIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUUuUVVJQ0s7bWQ1PTcyODUwMWYyMzMwNTAyOTAzMTRkMzNmYjA3ZDg4M2ViIgorCitTUkNSRVYgPSAiYTQ2NTQ2ZjQwZDE4ZTYwYzMxMDc3YzJlN2M4YmI0ZTQ0YmYxYmVmMSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9pdm1haS9iZHdnYy5naXQ7YnJhbmNoPXJlbGVhc2UtN182IFwKKyAgICAgICAgICAiCisKK0ZJTEVTXyR7UE59LWRvYyA9ICIke2RhdGFkaXJ9IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitBUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKKyMgYnkgZGVmYXVsdCB1c2UgZXh0ZXJuYWwgbGliYXRvbWljLW9wcworUEFDS0FHRUNPTkZJRyA/Pz0gImxpYmF0b21pYy1vcHMiCitQQUNLQUdFQ09ORklHW2xpYmF0b21pYy1vcHNdID0gIi0td2l0aC1saWJhdG9taWMtb3BzPXllcywtLXdpdGgtbGliYXRvbWljLW9wcz1ubyxsaWJhdG9taWMtb3BzIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jbGkxMS9jbGkxMV8xLjYuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NsaTExL2NsaTExXzEuNi4yLmJiCmluZGV4IDY4OTliMTIuLmU2MmMxZDMgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NsaTExL2NsaTExXzEuNi4yLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NsaTExL2NsaTExXzEuNi4yLmJiCkBAIC02LDExICs2LDE0IEBACiBTUkNSRVYgPSAiYmQ0ZGM5MTE4NDdkMGNkZTdhNmI0MWRmYTYyNmE4NWFhYjIxM2JhZiIKIFBWIC49ICIrZ2l0JHtTUkNQVn0iCiAKLVNSQ19VUkkgKz0gImdpdHNtOi8vZ2l0aHViLmNvbS9DTElVdGlscy9DTEkxMSIKK1NSQ19VUkkgKz0gImdpdHNtOi8vZ2l0aHViLmNvbS9DTElVdGlscy9DTEkxMSBcCisgICAgICAgICAgICBmaWxlOi8vMDAwMS1BZGQtQ0xBTkdfVElEWS1jaGVjay5wYXRjaCBcCisgICAgICAgICAgICIKIAogUyA9ICIke1dPUktESVJ9L2dpdCIKIAogaW5oZXJpdCBjbWFrZQogaW5oZXJpdCBwdGVzdAogCitFWFRSQV9PRUNNQUtFICs9ICItRENMQU5HX1RJRFk9T0ZGIgogREVQRU5EUyArPSAiYm9vc3QiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jbGkxMS9maWxlcy8wMDAxLUFkZC1DTEFOR19USURZLWNoZWNrLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY2xpMTEvZmlsZXMvMDAwMS1BZGQtQ0xBTkdfVElEWS1jaGVjay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZWYzNTQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY2xpMTEvZmlsZXMvMDAwMS1BZGQtQ0xBTkdfVElEWS1jaGVjay5wYXRjaApAQCAtMCwwICsxLDI3IEBACitGcm9tIGVmNjMxMGJjNzI2YTUzZmY2YjQ1MDcxNjMzZmE3YjM3MjI0Y2FlOTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVHVlLCAxMiBGZWIgMjAxOSAxMzoyMjoyMSAtMDgwMAorU3ViamVjdDogW1BBVENIXSBBZGQgQ0xBTkdfVElEWSBjaGVjaworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBDTWFrZUxpc3RzLnR4dCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKK2luZGV4IDc5NDA0YjguLmY2ODIxN2QgMTAwNjQ0CistLS0gYS9DTWFrZUxpc3RzLnR4dAorKysrIGIvQ01ha2VMaXN0cy50eHQKK0BAIC0zOSw3ICszOSw3IEBAIGlmKENNQUtFX1BST0pFQ1RfTkFNRSBTVFJFUVVBTCBQUk9KRUNUX05BTUUpCisgICAgICAgICBhZGRfZGVmaW5pdGlvbnMoLVdhbGwgLVdleHRyYSAtcGVkYW50aWMpCisgICAgIGVuZGlmKCkKKyAKKy0gICAgaWYoQ01BS0VfVkVSU0lPTiBWRVJTSU9OX0dSRUFURVIgMy42KQorKyAgICBpZihDTUFLRV9WRVJTSU9OIFZFUlNJT05fR1JFQVRFUiAzLjYgQU5EIENMQU5HX1RJRFkpCisgICAgICAgICAjIEFkZCBjbGFuZy10aWR5IGlmIGF2YWlsYWJsZQorICAgICAgICAgb3B0aW9uKENMQU5HX1RJRFlfRklYICJQZXJmb3JtIGZpeGVzIGZvciBDbGFuZy1UaWR5IiBPRkYpCisgICAgICAgICBmaW5kX3Byb2dyYW0oCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHByZXN0L2NwcHJlc3QvOTUwLWZpeC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwcHJlc3QvY3BwcmVzdC85NTAtZml4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYWU0NmExLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwcHJlc3QvY3BwcmVzdC85NTAtZml4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotT3JpZ2luOiB1cHN0cmVhbQotQnVnOiBodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L2NwcHJlc3RzZGsvaXNzdWVzLzk1MAotTGFzdC1VcGRhdGU6IDIwMTgtMTEtMDQKLQotSW5kZXg6IGNwcHJlc3QvUmVsZWFzZS9zcmMvdXRpbGl0aWVzL2FzeW5jcnRfdXRpbHMuY3BwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY3BwcmVzdC5vcmlnL1JlbGVhc2Uvc3JjL3V0aWxpdGllcy9hc3luY3J0X3V0aWxzLmNwcAotKysrIGNwcHJlc3QvUmVsZWFzZS9zcmMvdXRpbGl0aWVzL2FzeW5jcnRfdXRpbHMuY3BwCi1AQCAtMzU2LDcgKzM1Niw3IEBACi0gaW5saW5lIHNpemVfdCBjb3VudF91dGY4X3RvX3V0ZjE2KGNvbnN0IHN0ZDo6c3RyaW5nJiBzKQotIHsKLSAgICAgY29uc3Qgc2l6ZV90IHNTaXplID0gcy5zaXplKCk7Ci0tICAgIGF1dG8gc0RhdGEgPSByZWludGVycHJldF9jYXN0PGNvbnN0IFV0aWxDaGFySW50ZXJuYWxfdCogY29uc3Q+KHMuZGF0YSgpKTsKLSsgICAgYXV0byBjb25zdCBzRGF0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVXRpbENoYXJJbnRlcm5hbF90Kj4ocy5kYXRhKCkpOwotICAgICBzaXplX3QgcmVzdWx0eyBzU2l6ZSB9OwotIAotICAgICBmb3IgKHNpemVfdCBpbmRleCA9IDA7IGluZGV4IDwgc1NpemU7KQotQEAgLTQ0MSw3ICs0NDEsNyBAQAotIHsKLSAgICAgLy8gU2F2ZSByZXBlYXRlZCBoZWFwIGFsbG9jYXRpb25zLCB1c2UgdGhlIGxlbmd0aCBvZiByZXN1bHRpbmcgc2VxdWVuY2UuCi0gICAgIGNvbnN0IHNpemVfdCBzcmNTaXplID0gcy5zaXplKCk7Ci0tICAgIGF1dG8gc3JjRGF0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVXRpbENoYXJJbnRlcm5hbF90KiBjb25zdD4ocy5kYXRhKCkpOwotKyAgICBhdXRvIGNvbnN0IHNyY0RhdGEgPSByZWludGVycHJldF9jYXN0PGNvbnN0IFV0aWxDaGFySW50ZXJuYWxfdCo+KHMuZGF0YSgpKTsKLSAgICAgdXRmMTZzdHJpbmcgZGVzdChjb3VudF91dGY4X3RvX3V0ZjE2KHMpLCBMJ1wwJyk7Ci0gICAgIHV0ZjE2c3RyaW5nOjp2YWx1ZV90eXBlKiBjb25zdCBkZXN0RGF0YSA9ICZkZXN0WzBdOwotICAgICBzaXplX3QgZGVzdEluZGV4ID0gMDsKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwcHJlc3QvY3BwcmVzdC9kaXNhYmxlLWZsb2F0LXRlc3RzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3BwcmVzdC9jcHByZXN0L2Rpc2FibGUtZmxvYXQtdGVzdHMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc1Zjc0ZWMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3BwcmVzdC9jcHByZXN0L2Rpc2FibGUtZmxvYXQtdGVzdHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi1EZXNjcmlwdGlvbjogbmV3IHRvb2xjaGFpbiBtaWdodCBoYXZlIGluY3JlYXNlZCB0aGUgZmxvYXQgcHJlY2lzaW9uCi1BdXRob3I6IEdpYW5mcmFuY28gQ29zdGFtYWduYSA8bG9jdXR1c29mYm9yZ0BkZWJpYW4ub3JnPgotTGFzdC1VcGRhdGU6IDIwMTctMTAtMjgKLUZvcndhcmRlZDogaHR0cHM6Ly9naXRodWIuY29tL01pY3Jvc29mdC9jcHByZXN0c2RrL2lzc3Vlcy81NzYKLQotLS0tIGNhc2FibGFuY2EtMi4xMC4wLm9yaWcvUmVsZWFzZS90ZXN0cy9mdW5jdGlvbmFsL3N0cmVhbXMvaXN0cmVhbV90ZXN0cy5jcHAKLSsrKyBjYXNhYmxhbmNhLTIuMTAuMC9SZWxlYXNlL3Rlc3RzL2Z1bmN0aW9uYWwvc3RyZWFtcy9pc3RyZWFtX3Rlc3RzLmNwcAotQEAgLTEzMDIsNyArMTMwMiw3IEBAIHZvaWQgY29tcGFyZV9mbG9hdChmbG9hdCBleHBlY3RlZCwgZmxvYXQKLSB7Ci0gICAgIGNvbXBhcmVfZmxvYXRpbmcoZXhwZWN0ZWQsIGFjdHVhbCwgRkxUX0VQU0lMT04pOwotIH0KLS0KLSsvKgotIFRFU1QoZXh0cmFjdF9mbG9hdGluZ19wb2ludCkKLSB7Ci0gICAgIHN0ZDo6c3RyaW5nIHRlc3Rfc3RyaW5nOwotQEAgLTEzNDksNyArMTM0OSw3IEBAIFRFU1QoZXh0cmFjdF9mbG9hdGluZ19wb2ludCkKLSAgICAgICAgICAgICBWRVJJRllfQVJFX0VRVUFMKDEgLyBleHBlY3RlZCwgMSAvIGFjdHVhbCk7Ci0gICAgIH0gd2hpbGUgKCFzdGRfaXN0cmVhbS5lb2YoKSk7Ci0gfQotLQotKyovCi0gVEVTVChleHRyYWN0X2Zsb2F0aW5nX3BvaW50X3dpdGhfZXhjZXB0aW9ucykKLSB7Ci0gICAgIHN0ZDo6dmVjdG9yPHN0ZDo6cGFpcjxzdGQ6OnN0cmluZywgc3RkOjpzdHJpbmc+PiB0ZXN0czsKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwcHJlc3QvY3BwcmVzdC9kaXNhYmxlLW91dHNpZGUtdGVzdHMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHByZXN0L2NwcHJlc3QvZGlzYWJsZS1vdXRzaWRlLXRlc3RzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZGZmMGQ5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwcHJlc3QvY3BwcmVzdC9kaXNhYmxlLW91dHNpZGUtdGVzdHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNDIgKzAsMCBAQAotRGVzY3JpcHRpb246IERlYmlhbiBmb3JiaWRzIGNhbGxzIHRvIGV4dGVybmFsIHdlYnNpdGVzLgotCi1BdXRob3I6IEdpYW5mcmFuY28gQ29zdGFtYWduYSA8bG9jdXR1c0BkZWJpYW4ub3JnPgotT3JpZ2luOiBEZWJpYW4KLUZvcndhcmRlZDogbm90LW5lZWRlZAotUmV2aWV3ZWQtQnk6IEdpYW5mcmFuY28gQ29zdGFtYWduYSA8bG9jdXR1c29mYm9yZ0BkZWJpYW4ub3JnPgotTGFzdC1VcGRhdGU6IDIwMTUtMTEtMjUKLQotSW5kZXg6IGNhc2FibGFuY2EvUmVsZWFzZS90ZXN0cy9mdW5jdGlvbmFsL2h0dHAvY2xpZW50L0NNYWtlTGlzdHMudHh0Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2FzYWJsYW5jYS5vcmlnL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC9odHRwL2NsaWVudC9DTWFrZUxpc3RzLnR4dAotKysrIGNhc2FibGFuY2EvUmVsZWFzZS90ZXN0cy9mdW5jdGlvbmFsL2h0dHAvY2xpZW50L0NNYWtlTGlzdHMudHh0Ci1AQCAtMTIsNyArMTIsNiBAQAotICAgbXVsdGlwbGVfcmVxdWVzdHMuY3BwCi0gICBvYXV0aDFfdGVzdHMuY3BwCi0gICBvYXV0aDJfdGVzdHMuY3BwCi0tICBvdXRzaWRlX3Rlc3RzLmNwcAotICAgcGlwZWxpbmVfc3RhZ2VfdGVzdHMuY3BwCi0gICBwcm9ncmVzc19oYW5kbGVyX3Rlc3RzLmNwcAotICAgcHJveHlfdGVzdHMuY3BwCi1JbmRleDogY2FzYWJsYW5jYS9SZWxlYXNlL3Rlc3RzL2Z1bmN0aW9uYWwvaHR0cC9jbGllbnQvYXV0aGVudGljYXRpb25fdGVzdHMuY3BwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2FzYWJsYW5jYS5vcmlnL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC9odHRwL2NsaWVudC9hdXRoZW50aWNhdGlvbl90ZXN0cy5jcHAKLSsrKyBjYXNhYmxhbmNhL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC9odHRwL2NsaWVudC9hdXRoZW50aWNhdGlvbl90ZXN0cy5jcHAKLUBAIC02NjMsMTUgKzY2MywxOSBAQAotICAgICBWRVJJRllfQVJFX0VRVUFMKHJldHVybl9jb2RlLCByZXNwb25zZS5zdGF0dXNfY29kZSgpKTsKLSB9Ci0gCi0rLyoKLSBURVNUKGF1dGhfbm9fZGF0YSkKLSB7Ci0gICAgIGF1dGhfdGVzdF9pbXBsKGZhbHNlKTsKLSB9Ci0rKi8KLSAKLSsvKgotIFRFU1QodW5zdWNjZXNzZnVsX2F1dGhfd2l0aF9iYXNpY19jcmVkKQotIHsKLSAgICAgYXV0aF90ZXN0X2ltcGwodHJ1ZSk7Ci0gfQotKyovCi0gCi0gVEVTVF9GSVhUVVJFKHVyaV9hZGRyZXNzLCBzZXRfdXNlcl9vcHRpb25zX2FzaW9faHR0cCkKLSB7Ci1AQCAtNjkyLDcgKzY5Niw3IEBACi0gICAgIGF1dG8gcmVzcG9uc2UgPSBjbGllbnQucmVxdWVzdChtZXRob2RzOjpHRVQpLmdldCgpOwotICAgICBWRVJJRllfQVJFX0VRVUFMKDIwMCwgcmVzcG9uc2Uuc3RhdHVzX2NvZGUoKSk7Ci0gfQotLQotKy8qCi0gVEVTVF9GSVhUVVJFKHVyaV9hZGRyZXNzLCBzZXRfdXNlcl9vcHRpb25zX2FzaW9faHR0cHMpCi0gewotICAgICBoYW5kbGVfdGltZW91dChbXQotQEAgLTcxNCw3ICs3MTgsNyBAQAotICAgICAgICAgVkVSSUZZX0lTX0ZBTFNFKHYuZW1wdHkoKSk7Ci0gICAgIH0pOwotIH0KLS0KLSsqLwotICNlbmRpZgotIAotIH0gLy8gU1VJVEUoYXV0aGVudGljYXRpb25fdGVzdHMpCi1JbmRleDogY2FzYWJsYW5jYS9SZWxlYXNlL3Rlc3RzL2Z1bmN0aW9uYWwvd2Vic29ja2V0cy9jbGllbnQvYXV0aGVudGljYXRpb25fdGVzdHMuY3BwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2FzYWJsYW5jYS5vcmlnL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC93ZWJzb2NrZXRzL2NsaWVudC9hdXRoZW50aWNhdGlvbl90ZXN0cy5jcHAKLSsrKyBjYXNhYmxhbmNhL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC93ZWJzb2NrZXRzL2NsaWVudC9hdXRoZW50aWNhdGlvbl90ZXN0cy5jcHAKLUBAIC04Niw3ICs4Niw3IEBACi0gICAgIH0KLSAgICAgcmV0dXJuIGZhbHNlOwotIH0KLS0KLSsvKgotIFRFU1Qoc3NsX3Rlc3QpCi0gewotICAgICB3ZWJzb2NrZXRfY2xpZW50IGNsaWVudDsKLUBAIC0xMjIsNyArMTIyLDcgQEAKLSAgICAgICAgIHRocm93OwotICAgICB9Ci0gfQotLQotKyovCi0gLy8gVGhlc2UgdGVzdHMgYXJlIHNwZWNpZmljIHRvIG91ciB3ZWJzb2NrZXRwcCBiYXNlZCBpbXBsZW1lbnRhdGlvbi4KLSAjaWYgIWRlZmluZWQoX19jcGx1c3BsdXNfd2lucnQpCi0gCi1AQCAtMTUzLDE0ICsxNTMsMTUgQEAKLSAgICAgICAgIHRocm93OwotICAgICB9Ci0gfQotLQotKy8qCi0gLy8gVGVzdCBzcGVjaWZpY2FsbHkgZm9yIHNlcnZlciBTaWduYWxSIHRlYW0gaGl0IGludGVyZXN0aW5nIGNhc2VzIHdpdGguCi0gVEVTVChzbmlfd2l0aF9vbGRlcl9zZXJ2ZXJfdGVzdCkKLSB7Ci0gICAgIHdlYnNvY2tldF9jbGllbnQgY2xpZW50OwotICAgICBzbmlfdGVzdF9pbXBsKGNsaWVudCk7Ci0gfQotLQotKyovCi0rLyoKLSAvLyBXaW5SVCBkb2Vzbid0IGV4cG9zZSBvcHRpb24gZm9yIGRpc2FibGluZy4KLSAvLyBObyBzdGFibGUgc2VydmVyIGlzIGF2YWlsYWJsZSB0byByZWxpYWJseSB0ZXN0IHRoaXMuCi0gLy8gVGhlIGNvbmZpZ3VyYXRpb24gYmVsb3cgcmVsaWVzIG9uIGEgdGltZW91dCBpbiB0aGUgc3VjY2VzcyBjYXNlLgotQEAgLTE4OCw3ICsxODksOCBAQAotICAgICAgICAgdGhyb3c7Ci0gICAgIH0KLSB9Ci0tCi0rKi8KLSsvKgotIC8vIFdpbnJ0IGRvZXNuJ3QgYWxsb3cgZXhwbGljaXRseSBzZXR0aW5nIHNlcnZlciBob3N0IGZvciBTTkkuCi0gVEVTVChzbmlfZXhwbGljaXRfaG9zdG5hbWUpCi0gewotQEAgLTE5OSw3ICsyMDEsNyBAQAotICAgICB3ZWJzb2NrZXRfY2xpZW50IGNsaWVudChjb25maWcpOwotICAgICBzbmlfdGVzdF9pbXBsKGNsaWVudCk7Ci0gfQotLQotKyovCi0gdm9pZCBoYW5kc2hha2VfZXJyb3JfdGVzdF9pbXBsKGNvbnN0IDo6dXRpbGl0eTo6c3RyaW5nX3QgJmhvc3QpCi0gewotICAgICB3ZWJzb2NrZXRfY2xpZW50IGNsaWVudDsKLUluZGV4OiBjYXNhYmxhbmNhL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC9odHRwL2NsaWVudC9jb25uZWN0aW9uc19hbmRfZXJyb3JzLmNwcAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGNhc2FibGFuY2Eub3JpZy9SZWxlYXNlL3Rlc3RzL2Z1bmN0aW9uYWwvaHR0cC9jbGllbnQvY29ubmVjdGlvbnNfYW5kX2Vycm9ycy5jcHAKLSsrKyBjYXNhYmxhbmNhL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC9odHRwL2NsaWVudC9jb25uZWN0aW9uc19hbmRfZXJyb3JzLmNwcAotQEAgLTQxNSw2ICs0MTUsNyBAQAotIH0KLSAjZW5kaWYKLSAKLSsvKgotIC8vIFRyeSB0byBjb25uZWN0IHRvIGEgc2VydmVyIG9uIGEgY2xvc2VkIHBvcnQgYW5kIGNhbmNlbCB0aGUgb3BlcmF0aW9uLgotIFRFU1RfRklYVFVSRSh1cmlfYWRkcmVzcywgY2FuY2VsX2JhZF9wb3J0KQotIHsKLUBAIC00NDYsNyArNDQ3LDcgQEAKLSAKLSAgICAgVkVSSUZZX1RIUk9XU19IVFRQX0VSUk9SX0NPREUodC5nZXQoKSwgc3RkOjplcnJjOjpvcGVyYXRpb25fY2FuY2VsZWQpOwotIH0KLS0KLSsqLwotIH0gLy8gU1VJVEUoY29ubmVjdGlvbnNfYW5kX2Vycm9ycykKLSAKLSB9fX19CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHByZXN0L2NwcHJlc3QvZGlzYWJsZS10ZXN0LXRpbWVvdXRzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3BwcmVzdC9jcHByZXN0L2Rpc2FibGUtdGVzdC10aW1lb3V0cy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTNjM2U4YS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHByZXN0L2NwcHJlc3QvZGlzYWJsZS10ZXN0LXRpbWVvdXRzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTAzICswLDAgQEAKLURlc2NyaXB0aW9uOiBTb21lIHRlc3RzIHRha2VzIHRvbyBsb25nIG9uIHNsb3cgYXJjaGl0ZWN0dXJlcyBhbmQgdGltZW91dHMKLSBXZSBjYW4gc2FmZWx5IGRpc2FibGUgdGhlbS4KLSBlLmcuCi0gUmVsZWFzZS90ZXN0cy9mdW5jdGlvbmFsL2h0dHAvY2xpZW50L2Nvbm5lY3Rpb25zX2FuZF9lcnJvcnMuY3BwOjE0MjogZXJyb3I6IEZhaWx1cmUgaW4gcmVxdWVzdF90aW1lb3V0X21pY3Jvc2Vjb25kOiBUZXN0IGNhc2UgdGltZWQgb3V0IGFuZCBpcyBodW5nLiBBYm9ydGluZyBhbGwgcmVtYWluaW5nIHRlc3QgY2FzZXMuIEV4cGVjdGVkIHVuZGVyIDE4MDAwMG1zLiBGQUlMRUQKLQotSW5kZXg6IGNhc2FibGFuY2EvUmVsZWFzZS90ZXN0cy9mdW5jdGlvbmFsL2h0dHAvY2xpZW50L2Nvbm5lY3Rpb25zX2FuZF9lcnJvcnMuY3BwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2FzYWJsYW5jYS5vcmlnL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC9odHRwL2NsaWVudC9jb25uZWN0aW9uc19hbmRfZXJyb3JzLmNwcAotKysrIGNhc2FibGFuY2EvUmVsZWFzZS90ZXN0cy9mdW5jdGlvbmFsL2h0dHAvY2xpZW50L2Nvbm5lY3Rpb25zX2FuZF9lcnJvcnMuY3BwCi1AQCAtMTI3LDcgKzEyNyw3IEBACi0gICAgIC8vIFRyeSBzZW5kaW5nIGFub3RoZXIgcmVxdWVzdC4KLSAgICAgVkVSSUZZX1RIUk9XUyhjbGllbnQucmVxdWVzdChtZXRob2RzOjpHRVQpLndhaXQoKSwgd2ViOjpodHRwOjpodHRwX2V4Y2VwdGlvbik7Ci0gfQotLQotKy8qCi0gVEVTVF9GSVhUVVJFKHVyaV9hZGRyZXNzLCByZXF1ZXN0X3RpbWVvdXQpCi0gewotICAgICB0ZXN0X2h0dHBfc2VydmVyOjpzY29wZWRfc2VydmVyIHNjb3BlZChtX3VyaSk7Ci1AQCAtMTQ2LDcgKzE0Niw4IEBACi0gI2VuZGlmCi0gICAgIHQuZ2V0KCk7Ci0gfQotLQotKyovCi0rLyoKLSBURVNUX0ZJWFRVUkUodXJpX2FkZHJlc3MsIHJlcXVlc3RfdGltZW91dF9taWNyb3NlY29uZCkKLSB7Ci0gICAgIHBwbHg6OnRhc2s8dGVzdF9yZXF1ZXN0Kj4gdDsKLUBAIC0xNjgsNyArMTY5LDcgQEAKLSAgICAgdHJ5IHsgdC5nZXQoKTsgfQotICAgICBjYXRjaCAoLi4uKSB7fQotIH0KLS0KLSsqLwotIFRFU1RfRklYVFVSRSh1cmlfYWRkcmVzcywgaW52YWxpZF9tZXRob2QpCi0gewotICAgICB3ZWI6Omh0dHA6OnVyaSB1cmkoVSgiaHR0cDovL3d3dy5iaW5nLmNvbS8iKSk7Ci1JbmRleDogY2FzYWJsYW5jYS9SZWxlYXNlL3Rlc3RzL2Z1bmN0aW9uYWwvaHR0cC9saXN0ZW5lci9yZXF1ZXN0c190ZXN0cy5jcHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjYXNhYmxhbmNhLm9yaWcvUmVsZWFzZS90ZXN0cy9mdW5jdGlvbmFsL2h0dHAvbGlzdGVuZXIvcmVxdWVzdHNfdGVzdHMuY3BwCi0rKysgY2FzYWJsYW5jYS9SZWxlYXNlL3Rlc3RzL2Z1bmN0aW9uYWwvaHR0cC9saXN0ZW5lci9yZXF1ZXN0c190ZXN0cy5jcHAKLUBAIC0xNzMsNyArMTczLDcgQEAKLSAKLSAgICAgbGlzdGVuZXIuY2xvc2UoKS53YWl0KCk7Ci0gfQotLQotKy8qCi0gVEVTVF9GSVhUVVJFKHVyaV9hZGRyZXNzLCByZXNwb25zZV9vcmRlcikKLSB7Ci0gICAgIGh0dHBfbGlzdGVuZXIgbGlzdGVuZXIobV91cmkpOwotQEAgLTIxNyw3ICsyMTcsNyBAQAotIAotICAgICBsaXN0ZW5lci5jbG9zZSgpLndhaXQoKTsKLSB9Ci0tCi0rKi8KLSBURVNUX0ZJWFRVUkUodXJpX2FkZHJlc3MsIHVyaV9lbmNvZGluZywgIklnbm9yZSIsICJDb2RlcGxleCAyMDEiKQotIHsKLSAgICAgaHR0cF9saXN0ZW5lciBsaXN0ZW5lcihtX3VyaSk7Ci1JbmRleDogY2FzYWJsYW5jYS9SZWxlYXNlL3Rlc3RzL2Z1bmN0aW9uYWwvd2Vic29ja2V0cy9jbGllbnQvYXV0aGVudGljYXRpb25fdGVzdHMuY3BwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2FzYWJsYW5jYS5vcmlnL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC93ZWJzb2NrZXRzL2NsaWVudC9hdXRoZW50aWNhdGlvbl90ZXN0cy5jcHAKLSsrKyBjYXNhYmxhbmNhL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC93ZWJzb2NrZXRzL2NsaWVudC9hdXRoZW50aWNhdGlvbl90ZXN0cy5jcHAKLUBAIC0yMjEsNyArMjIxLDcgQEAKLSAgICAgICAgIFZFUklGWV9BUkVfRVFVQUwoIlRMUyBoYW5kc2hha2UgZmFpbGVkIiwgZS5lcnJvcl9jb2RlKCkubWVzc2FnZSgpKTsKLSAgICAgfQotIH0KLS0KLSsvKgotIFRFU1Qoc2VsZl9zaWduZWRfY2VydCkKLSB7Ci0gICAgIGhhbmRzaGFrZV9lcnJvcl90ZXN0X2ltcGwoVSgid3NzOi8vc2VsZi1zaWduZWQuYmFkc3NsLmNvbS8iKSk7Ci1AQCAtMjM2LDcgKzIzNiw3IEBACi0gewotICAgICBoYW5kc2hha2VfZXJyb3JfdGVzdF9pbXBsKFUoIndzczovL2V4cGlyZWQuYmFkc3NsLmNvbS8iKSk7Ci0gfQotLQotKyovCi0gI2VuZGlmCi0gCi0gfSAvLyBTVUlURShhdXRoZW50aWNhdGlvbl90ZXN0cykKLUluZGV4OiBjYXNhYmxhbmNhL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC93ZWJzb2NrZXRzL2NsaWVudC9jbGllbnRfY29uc3RydWN0aW9uLmNwcAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGNhc2FibGFuY2Eub3JpZy9SZWxlYXNlL3Rlc3RzL2Z1bmN0aW9uYWwvd2Vic29ja2V0cy9jbGllbnQvY2xpZW50X2NvbnN0cnVjdGlvbi5jcHAKLSsrKyBjYXNhYmxhbmNhL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC93ZWJzb2NrZXRzL2NsaWVudC9jbGllbnRfY29uc3RydWN0aW9uLmNwcAotQEAgLTgxLDcgKzgxLDcgQEAKLSAgICAgVkVSSUZZX0FSRV9FUVVBTChjb25maWcyLmNyZWRlbnRpYWxzKCkudXNlcm5hbWUoKSwgY3JlZC51c2VybmFtZSgpKTsKLSB9Ci0gCi0tCi0rLyoKLSAvLyBWZXJpZnkgdGhhdCB3ZSBjYW4gZ2V0IHRoZSBiYXNldXJpIGZyb20gd2Vic29ja2V0X2NsaWVudCBjb25uZWN0LgotIFRFU1RfRklYVFVSRSh1cmlfYWRkcmVzcywgdXJpX3Rlc3QpCi0gewotQEAgLTEwMSw3ICsxMDEsNyBAQAotICAgICBWRVJJRllfQVJFX0VRVUFMKGNsaWVudDIudXJpKCksIG1fdXJpKTsKLSAgICAgY2xpZW50Mi5jbG9zZSgpLndhaXQoKTsKLSB9Ci0tCi0rKi8KLSBURVNUX0ZJWFRVUkUodXJpX2FkZHJlc3MsIG1vdmVfb3BlcmF0aW9ucykKLSB7Ci0gICAgIHN0ZDo6c3RyaW5nIGJvZHkoImhlbGxvIik7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHByZXN0L2NwcHJlc3QvcmV2ZXJ0LTliNjcwZTViMzNkZmRiZDUwMWQ2MThjZDdlNzQ5ODE0OGZmYmQ1NTkucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHByZXN0L2NwcHJlc3QvcmV2ZXJ0LTliNjcwZTViMzNkZmRiZDUwMWQ2MThjZDdlNzQ5ODE0OGZmYmQ1NTkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWFmMmNiZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwcHJlc3QvY3BwcmVzdC9yZXZlcnQtOWI2NzBlNWIzM2RmZGJkNTAxZDYxOGNkN2U3NDk4MTQ4ZmZiZDU1OS5wYXRjaApAQCAtMCwwICsxLDI2IEBACitEZXNjcmlwdGlvbjogcmV2ZXJ0IHVwc3RyZWFtIGJ1Z2ZpeCAoc2VlOmh0dHBzOi8vZ2l0aHViLmNvbS9NaWNyb3NvZnQvY3BwcmVzdHNkay9pc3N1ZXMvMTA5MCkKK0xhc3QtVXBkYXRlOiAyMDE5LTAzLTI4CisKKy0tLSBjcHByZXN0LTIuMTAuMTIub3JpZy9SZWxlYXNlL3NyYy91dGlsaXRpZXMvYXN5bmNydF91dGlscy5jcHAKKysrKyBjcHByZXN0LTIuMTAuMTIvUmVsZWFzZS9zcmMvdXRpbGl0aWVzL2FzeW5jcnRfdXRpbHMuY3BwCitAQCAtMTM5MywxNiArMTM5MywxNSBAQCB1dGlsaXR5OjpzZWNvbmRzIF9fY2RlY2wgdGltZXNwYW46OnhtbF9kCisgICAgIHJldHVybiB1dGlsaXR5OjpzZWNvbmRzKG51bVNlY3MpOworIH0KKyAKKy1zdGF0aWMgY29uc3QgY2hhciBjX2FsbG93ZWRfY2hhcnNbXSA9ICJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSI7Cistc3RhdGljIGNvbnN0IGludCBjaGFyc19jb3VudCA9IHN0YXRpY19jYXN0PGludD4oc2l6ZW9mKGNfYWxsb3dlZF9jaGFycykgLSAxKTsKKytzdGF0aWMgY29uc3QgdXRpbGl0eTo6Y2hhcl90IGNfYWxsb3dlZF9jaGFyc1tdID0KKysgICAgX1hQTEFUU1RSKCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSIpOworIAorIHV0aWxpdHk6OnN0cmluZ190IG5vbmNlX2dlbmVyYXRvcjo6Z2VuZXJhdGUoKQorIHsKKy0gICAgc3RkOjp1bmlmb3JtX2ludF9kaXN0cmlidXRpb248PiBkaXN0cigwLCBjaGFyc19jb3VudCAtIDEpOworKyAgICBzdGQ6OnVuaWZvcm1faW50X2Rpc3RyaWJ1dGlvbjw+IGRpc3RyKDAsIHN0YXRpY19jYXN0PGludD4oc2l6ZW9mKGNfYWxsb3dlZF9jaGFycykgLyBzaXplb2YodXRpbGl0eTo6Y2hhcl90KSkgLSAxKTsKKyAgICAgdXRpbGl0eTo6c3RyaW5nX3QgcmVzdWx0OworICAgICByZXN1bHQucmVzZXJ2ZShsZW5ndGgoKSk7CistICAgIHN0ZDo6Z2VuZXJhdGVfbihzdGQ6OmJhY2tfaW5zZXJ0ZXIocmVzdWx0KSwgbGVuZ3RoKCksCistCQlbJl0geyByZXR1cm4gc3RhdGljX2Nhc3Q8dXRpbGl0eTo6Y2hhcl90PihjX2FsbG93ZWRfY2hhcnNbZGlzdHIobV9yYW5kb20pXSk7IH0pOworKyAgICBzdGQ6OmdlbmVyYXRlX24oc3RkOjpiYWNrX2luc2VydGVyKHJlc3VsdCksIGxlbmd0aCgpLCBbJl0oKSB7IHJldHVybiBjX2FsbG93ZWRfY2hhcnNbZGlzdHIobV9yYW5kb20pXTsgfSk7CisgICAgIHJldHVybiByZXN1bHQ7CisgfQorIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3BwcmVzdC9jcHByZXN0L3JldmVydC1mMTBkOWY4ZTIxNDUxNmQyYzE5YWE2ZWY4MzFlZTg3NGE1OGMwNDc5LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3BwcmVzdC9jcHByZXN0L3JldmVydC1mMTBkOWY4ZTIxNDUxNmQyYzE5YWE2ZWY4MzFlZTg3NGE1OGMwNDc5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAxZTQ2MzEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHByZXN0L2NwcHJlc3QvcmV2ZXJ0LWYxMGQ5ZjhlMjE0NTE2ZDJjMTlhYTZlZjgzMWVlODc0YTU4YzA0NzkucGF0Y2gKQEAgLTAsMCArMSwxNTU3IEBACitEZXNjcmlwdGlvbjogcmV2ZXJ0IHVwc3RyZWFtIGJ1Z2ZpeCAoc2VlOmh0dHBzOi8vZ2l0aHViLmNvbS9NaWNyb3NvZnQvY3BwcmVzdHNkay9pc3N1ZXMvMTA5MCkKK0xhc3QtVXBkYXRlOiAyMDE5LTAzLTI4CisKKy0tLSBjcHByZXN0LTIuMTAuMTIub3JpZy9SZWxlYXNlL2luY2x1ZGUvY3BwcmVzdC9hc3luY3J0X3V0aWxzLmgKKysrKyBjcHByZXN0LTIuMTAuMTIvUmVsZWFzZS9pbmNsdWRlL2NwcHJlc3QvYXN5bmNydF91dGlscy5oCitAQCAtNjMwLDYgKzYzMCwxNSBAQCBwcml2YXRlOgorICAgICBzdGF0aWMgY29uc3QgaW50ZXJ2YWxfdHlwZSBfaG91clRpY2tzID0gNjAgKiA2MCAqIF9zZWNvbmRUaWNrczsKKyAgICAgc3RhdGljIGNvbnN0IGludGVydmFsX3R5cGUgX2RheVRpY2tzID0gMjQgKiA2MCAqIDYwICogX3NlY29uZFRpY2tzOworIAorKyNpZmRlZiBfV0lOMzIKKysgICAgLy8gdm9pZCogdG8gYXZvaWQgcHVsbGluZyBpbiB3aW5kb3dzLmgKKysgICAgc3RhdGljIF9BU1lOQ1JUSU1QIGJvb2wgX19jZGVjbCBzeXN0ZW1fdHlwZV90b19kYXRldGltZSgvKlNZU1RFTVRJTUUqLyB2b2lkKiBwc3lzVGltZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBzZWNvbmRzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGV0aW1lKiBwZHQpOworKyNlbHNlCisrICAgIHN0YXRpYyBkYXRldGltZSB0aW1ldmFsX3RvX2RhdGV0aW1lKGNvbnN0IHRpbWV2YWwmIHRpbWUpOworKyNlbmRpZgorKworICAgICAvLyBQcml2YXRlIGNvbnN0cnVjdG9yLiBVc2Ugc3RhdGljIG1ldGhvZHMgdG8gY3JlYXRlIGFuIGluc3RhbmNlLgorICAgICBkYXRldGltZShpbnRlcnZhbF90eXBlIGludGVydmFsKSA6IG1faW50ZXJ2YWwoaW50ZXJ2YWwpIHt9CisgCitAQCAtNjkwLDYgKzY5OSw3IEBAIHB1YmxpYzoKKyAgICAgdm9pZCBzZXRfbGVuZ3RoKGludCBsZW5ndGgpIHsgbV9sZW5ndGggPSBsZW5ndGg7IH0KKyAKKyBwcml2YXRlOgorKyAgICBzdGF0aWMgY29uc3QgdXRpbGl0eTo6c3RyaW5nX3QgY19hbGxvd2VkX2NoYXJzOworICAgICBzdGQ6Om10MTk5MzcgbV9yYW5kb207CisgICAgIGludCBtX2xlbmd0aDsKKyB9OworLS0tIGNwcHJlc3QtMi4xMC4xMi5vcmlnL1JlbGVhc2Uvc3JjL3BjaC9zdGRhZnguaAorKysrIGNwcHJlc3QtMi4xMC4xMi9SZWxlYXNlL3NyYy9wY2gvc3RkYWZ4LmgKK0BAIC02MSw2ICs2MSw3IEBACisgI3VuZGVmIEJPT1NUX05PX0NYWDExX05VTExQVFIKKyAjZW5kaWYKKyAjaW5jbHVkZSAiYm9vc3QvYmluZC9iaW5kLmhwcCIKKysjaW5jbHVkZSAiYm9vc3QvZGF0ZV90aW1lL3Bvc2l4X3RpbWUvcG9zaXhfdGltZV90eXBlcy5ocHAiCisgI2luY2x1ZGUgImJvb3N0L3RocmVhZC9jb25kaXRpb25fdmFyaWFibGUuaHBwIgorICNpbmNsdWRlICJib29zdC90aHJlYWQvbXV0ZXguaHBwIgorICNpbmNsdWRlIDxmY250bC5oPgorLS0tIGNwcHJlc3QtMi4xMC4xMi5vcmlnL1JlbGVhc2Uvc3JjL3V0aWxpdGllcy9hc3luY3J0X3V0aWxzLmNwcAorKysrIGNwcHJlc3QtMi4xMC4xMi9SZWxlYXNlL3NyYy91dGlsaXRpZXMvYXN5bmNydF91dGlscy5jcHAKK0BAIC0xNSw5ICsxNSwyMCBAQAorIAorICNpbmNsdWRlIDxhbGdvcml0aG0+CisgI2luY2x1ZGUgPGNwcHJlc3QvYXN5bmNydF91dGlscy5oPgorLSNpbmNsdWRlIDxzdGRleGNlcHQ+CisrI2luY2x1ZGUgPHNzdHJlYW0+CisgI2luY2x1ZGUgPHN0cmluZz4KKy0jaW5jbHVkZSA8dGltZS5oPgorKworKyNpZm5kZWYgX1dJTjMyCisrI2lmIGRlZmluZWQoX19jbGFuZ19fKQorKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCisrI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XdW51c2VkLWxvY2FsLXR5cGVkZWYiCisrI2VuZGlmCisrI2luY2x1ZGUgPGJvb3N0L2RhdGVfdGltZS9wb3NpeF90aW1lL3Bvc2l4X3RpbWUuaHBwPgorKyNpbmNsdWRlIDxib29zdC9kYXRlX3RpbWUvcG9zaXhfdGltZS9wb3NpeF90aW1lX2lvLmhwcD4KKysjaWYgZGVmaW5lZChfX2NsYW5nX18pCisrI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAorKyNlbmRpZgorKyNlbmRpZgorIAorIHVzaW5nIG5hbWVzcGFjZSB3ZWI7CisgdXNpbmcgbmFtZXNwYWNlIHV0aWxpdHk7CitAQCAtNjE4LDcgKzYyOSwxOCBAQCBzdGQ6OnN0cmluZyBfX2NkZWNsIGNvbnZlcnNpb25zOjp0b191dGY4CisgCisgdXRmMTZzdHJpbmcgX19jZGVjbCBjb252ZXJzaW9uczo6dG9fdXRmMTZzdHJpbmcoY29uc3Qgc3RkOjpzdHJpbmcmIHZhbHVlKSB7IHJldHVybiB1dGY4X3RvX3V0ZjE2KHZhbHVlKTsgfQorIAorLXN0YXRpYyBjb25zdCB1aW50NjRfdCBudFRvVW5peE9mZnNldFNlY29uZHMgPSAxMTY0NDQ3MzYwMFU7IC8vIGRpZmYgYmV0d2VlbiB3aW5kb3dzIGFuZCB1bml4IGVwb2NocyAoc2Vjb25kcykKKysjaWZuZGVmIFdJTjMyCisrZGF0ZXRpbWUgZGF0ZXRpbWU6OnRpbWV2YWxfdG9fZGF0ZXRpbWUoY29uc3QgdGltZXZhbCYgdGltZSkKKyt7CisrICAgIGNvbnN0IHVpbnQ2NF90IGVwb2NoX29mZnNldCA9IDExNjQ0NDczNjAwTEw7IC8vIGRpZmYgYmV0d2VlbiB3aW5kb3dzIGFuZCB1bml4IGVwb2NocyAoc2Vjb25kcykKKysgICAgdWludDY0X3QgcmVzdWx0ID0gZXBvY2hfb2Zmc2V0ICsgdGltZS50dl9zZWM7CisrICAgIHJlc3VsdCAqPSBfc2Vjb25kVGlja3M7ICAgICAgLy8gY29udmVydCB0byAxMGUtNworKyAgICByZXN1bHQgKz0gdGltZS50dl91c2VjICogMTA7IC8vIGNvbnZlcnQgYW5kIGFkZCBtaWNyb3NlY29uZHMsIDEwZS02IHRvIDEwZS03CisrICAgIHJldHVybiBkYXRldGltZShyZXN1bHQpOworK30KKysjZW5kaWYKKysKKytzdGF0aWMgYm9vbCBpc19kaWdpdCh1dGlsaXR5OjpjaGFyX3QgYykgeyByZXR1cm4gYyA+PSBfWFBMQVRTVFIoJzAnKSAmJiBjIDw9IF9YUExBVFNUUignOScpOyB9CisgCisgZGF0ZXRpbWUgX19jZGVjbCBkYXRldGltZTo6dXRjX25vdygpCisgeworQEAgLTYzNCw2NDkgKzY1Niw0NTAgQEAgZGF0ZXRpbWUgX19jZGVjbCBkYXRldGltZTo6dXRjX25vdygpCisgI2Vsc2UgLy8gTElOVVgKKyAgICAgc3RydWN0IHRpbWV2YWwgdGltZTsKKyAgICAgZ2V0dGltZW9mZGF5KCZ0aW1lLCBudWxscHRyKTsKKy0gICAgdWludDY0X3QgcmVzdWx0ID0gbnRUb1VuaXhPZmZzZXRTZWNvbmRzICsgdGltZS50dl9zZWM7CistICAgIHJlc3VsdCAqPSBfc2Vjb25kVGlja3M7ICAgICAgLy8gY29udmVydCB0byAxMGUtNworLSAgICByZXN1bHQgKz0gdGltZS50dl91c2VjICogMTA7IC8vIGNvbnZlcnQgYW5kIGFkZCBtaWNyb3NlY29uZHMsIDEwZS02IHRvIDEwZS03CistICAgIHJldHVybiBkYXRldGltZShyZXN1bHQpOworKyAgICByZXR1cm4gdGltZXZhbF90b19kYXRldGltZSh0aW1lKTsKKyAjZW5kaWYKKyB9CisgCistc3RhdGljIGNvbnN0IGNoYXIgZGF5TmFtZXNbXSA9ICJTdW5cME1vblwwVHVlXDBXZWRcMFRodVwwRnJpXDBTYXQiOworLXN0YXRpYyBjb25zdCBjaGFyIG1vbnRoTmFtZXNbXSA9ICJKYW5cMEZlYlwwTWFyXDBBcHJcME1heVwwSnVuXDBKdWxcMEF1Z1wwU2VwXDBPY3RcME5vdlwwRGVjIjsKKy0KKyB1dGlsaXR5OjpzdHJpbmdfdCBkYXRldGltZTo6dG9fc3RyaW5nKGRhdGVfZm9ybWF0IGZvcm1hdCkgY29uc3QKKyB7CistICAgIGNvbnN0IHVpbnQ2NF90IGlucHV0ID0gbV9pbnRlcnZhbCAvIF9zZWNvbmRUaWNrczsgLy8gY29udmVydCB0byBzZWNvbmRzCistICAgIGNvbnN0IGludCBmcmFjX3NlYyA9IHN0YXRpY19jYXN0PGludD4obV9pbnRlcnZhbCAlIF9zZWNvbmRUaWNrcyk7CistICAgIGNvbnN0IHRpbWVfdCB0aW1lID0gc3RhdGljX2Nhc3Q8dGltZV90PihpbnB1dCAtIG50VG9Vbml4T2Zmc2V0U2Vjb25kcyk7CistICAgIHN0cnVjdCB0bSB0OworLSNpZmRlZiBfTVNDX1ZFUgorLSAgICBpZiAoZ210aW1lX3MoJnQsICZ0aW1lKSAhPSAwKQorLSNlbHNlICAvLyBeXl4gX01TQ19WRVIgXl5eIC8vIHZ2diAhX01TQ19WRVIgdnZ2CistICAgIGlmIChnbXRpbWVfcigmdGltZSwgJnQpID09IDApCistI2VuZGlmIC8vIF9NU0NfVkVSCistICAgIHsKKy0gICAgICAgIHRocm93IHN0ZDo6aW52YWxpZF9hcmd1bWVudCgiZ210aW1lX3IvcyBmYWlsZWQgb24gdGhlIHRpbWUgc3VwcGxpZWQiKTsKKy0gICAgfQorLQorLSAgICBjaGFyIG91dEJ1ZmZlclszOF07IC8vIFRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAgR01UXDAKKy0gICAgICAgICAgICAgICAgICAgICAgICAvLyAxOTcwLTAxLTAxVDAwOjAwOjAwLjEyMzQ1NjdaXDAKKy0gICAgY2hhciogb3V0Q3Vyc29yID0gb3V0QnVmZmVyOworLSAgICBzd2l0Y2ggKGZvcm1hdCkKKy0gICAgeworLSAgICAgICAgY2FzZSBSRkNfMTEyMzoKKy0jaWZkZWYgX01TQ19WRVIKKy0gICAgICAgICAgICBzcHJpbnRmX3Mob3V0Q3Vyc29yLAorLSAgICAgICAgICAgICAgICAgICAgICAyNiwKKy0gICAgICAgICAgICAgICAgICAgICAgIiVzLCAlMDJkICVzICUwNGQgJTAyZDolMDJkOiUwMmQiLAorLSAgICAgICAgICAgICAgICAgICAgICBkYXlOYW1lcyArIDQgKiB0LnRtX3dkYXksCistICAgICAgICAgICAgICAgICAgICAgIHQudG1fbWRheSwKKy0gICAgICAgICAgICAgICAgICAgICAgbW9udGhOYW1lcyArIDQgKiB0LnRtX21vbiwKKy0gICAgICAgICAgICAgICAgICAgICAgdC50bV95ZWFyICsgMTkwMCwKKy0gICAgICAgICAgICAgICAgICAgICAgdC50bV9ob3VyLAorLSAgICAgICAgICAgICAgICAgICAgICB0LnRtX21pbiwKKy0gICAgICAgICAgICAgICAgICAgICAgdC50bV9zZWMpOworLSNlbHNlICAvLyBeXl4gX01TQ19WRVIgLy8gIV9NU0NfVkVSIHZ2dgorLSAgICAgICAgICAgIHNwcmludGYob3V0Q3Vyc29yLAorLSAgICAgICAgICAgICAgICAgICAgIiVzLCAlMDJkICVzICUwNGQgJTAyZDolMDJkOiUwMmQiLAorLSAgICAgICAgICAgICAgICAgICAgZGF5TmFtZXMgKyA0ICogdC50bV93ZGF5LAorLSAgICAgICAgICAgICAgICAgICAgdC50bV9tZGF5LAorLSAgICAgICAgICAgICAgICAgICAgbW9udGhOYW1lcyArIDQgKiB0LnRtX21vbiwKKy0gICAgICAgICAgICAgICAgICAgIHQudG1feWVhciArIDE5MDAsCistICAgICAgICAgICAgICAgICAgICB0LnRtX2hvdXIsCistICAgICAgICAgICAgICAgICAgICB0LnRtX21pbiwKKy0gICAgICAgICAgICAgICAgICAgIHQudG1fc2VjKTsKKy0jZW5kaWYgLy8gX01TQ19WRVIKKy0gICAgICAgICAgICBvdXRDdXJzb3IgKz0gMjU7CistICAgICAgICAgICAgbWVtY3B5KG91dEN1cnNvciwgIiBHTVQiLCA0KTsKKy0gICAgICAgICAgICBvdXRDdXJzb3IgKz0gNDsKKy0gICAgICAgICAgICByZXR1cm4gdXRpbGl0eTo6c3RyaW5nX3Qob3V0QnVmZmVyLCBvdXRDdXJzb3IpOworLSAgICAgICAgY2FzZSBJU09fODYwMToKKy0jaWZkZWYgX01TQ19WRVIKKy0gICAgICAgICAgICBzcHJpbnRmX3Mob3V0Q3Vyc29yLAorLSAgICAgICAgICAgICAgICAgICAgICAyMCwKKy0gICAgICAgICAgICAgICAgICAgICAgIiUwNGQtJTAyZC0lMDJkVCUwMmQ6JTAyZDolMDJkIiwKKy0gICAgICAgICAgICAgICAgICAgICAgdC50bV95ZWFyICsgMTkwMCwKKy0gICAgICAgICAgICAgICAgICAgICAgdC50bV9tb24gKyAxLAorLSAgICAgICAgICAgICAgICAgICAgICB0LnRtX21kYXksCistICAgICAgICAgICAgICAgICAgICAgIHQudG1faG91ciwKKy0gICAgICAgICAgICAgICAgICAgICAgdC50bV9taW4sCistICAgICAgICAgICAgICAgICAgICAgIHQudG1fc2VjKTsKKy0jZWxzZSAgLy8gXl5eIF9NU0NfVkVSIC8vICFfTVNDX1ZFUiB2dnYKKy0gICAgICAgICAgICBzcHJpbnRmKG91dEN1cnNvciwKKy0gICAgICAgICAgICAgICAgICAgICIlMDRkLSUwMmQtJTAyZFQlMDJkOiUwMmQ6JTAyZCIsCistICAgICAgICAgICAgICAgICAgICB0LnRtX3llYXIgKyAxOTAwLAorLSAgICAgICAgICAgICAgICAgICAgdC50bV9tb24gKyAxLAorLSAgICAgICAgICAgICAgICAgICAgdC50bV9tZGF5LAorLSAgICAgICAgICAgICAgICAgICAgdC50bV9ob3VyLAorLSAgICAgICAgICAgICAgICAgICAgdC50bV9taW4sCistICAgICAgICAgICAgICAgICAgICB0LnRtX3NlYyk7CistI2VuZGlmIC8vIF9NU0NfVkVSCistICAgICAgICAgICAgb3V0Q3Vyc29yICs9IDE5OworLSAgICAgICAgICAgIGlmIChmcmFjX3NlYyAhPSAwKQorLSAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgLy8gQXBwZW5kIGZyYWN0aW9uYWwgc2Vjb25kLCB3aGljaCBpcyBhIDctZGlnaXQgdmFsdWUgd2l0aCBubyB0cmFpbGluZyB6ZXJvcworLSAgICAgICAgICAgICAgICAvLyBUaGlzIHdheSwgJzEyMDAnIGJlY29tZXMgJzAwMDEyJworLSNpZmRlZiBfTVNDX1ZFUgorLSAgICAgICAgICAgICAgICBzaXplX3QgYXBwZW5kZWQgPSBzcHJpbnRmX3Mob3V0Q3Vyc29yLCA5LCAiLiUwN2QiLCBmcmFjX3NlYyk7CistI2Vsc2UgIC8vIF5eXiBfTVNDX1ZFUiAvLyAhX01TQ19WRVIgdnZ2CistICAgICAgICAgICAgICAgIHNpemVfdCBhcHBlbmRlZCA9IHNwcmludGYob3V0Q3Vyc29yLCAiLiUwN2QiLCBmcmFjX3NlYyk7CistI2VuZGlmIC8vIF9NU0NfVkVSCistICAgICAgICAgICAgICAgIHdoaWxlIChvdXRDdXJzb3JbYXBwZW5kZWQgLSAxXSA9PSAnMCcpCistICAgICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgICAgIC0tYXBwZW5kZWQ7IC8vIHRyaW0gdHJhaWxpbmcgemVyb3MKKy0gICAgICAgICAgICAgICAgfQorLQorLSAgICAgICAgICAgICAgICBvdXRDdXJzb3IgKz0gYXBwZW5kZWQ7CistICAgICAgICAgICAgfQorLQorLSAgICAgICAgICAgICpvdXRDdXJzb3IgPSAnWic7CistICAgICAgICAgICAgKytvdXRDdXJzb3I7CistICAgICAgICAgICAgcmV0dXJuIHV0aWxpdHk6OnN0cmluZ190KG91dEJ1ZmZlciwgb3V0Q3Vyc29yKTsKKy0gICAgICAgIGRlZmF1bHQ6IHRocm93IHN0ZDo6aW52YWxpZF9hcmd1bWVudCgiVW5yZWNvZ25pemVkIGRhdGUgZm9ybWF0LiIpOworLSAgICB9CistfQorLQorLXRlbXBsYXRlPGNsYXNzIENoYXJUPgorLXN0YXRpYyBib29sIHN0cmluZ19zdGFydHNfd2l0aChjb25zdCBDaGFyVCogaGF5c3RhY2ssIGNvbnN0IGNoYXIqIG5lZWRsZSkKKy17CistICAgIHdoaWxlICgqbmVlZGxlKQorLSAgICB7CistICAgICAgICBpZiAoKmhheXN0YWNrICE9IHN0YXRpY19jYXN0PENoYXJUPigqbmVlZGxlKSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gZmFsc2U7CistICAgICAgICB9CistCistICAgICAgICArK2hheXN0YWNrOworLSAgICAgICAgKytuZWVkbGU7CistICAgIH0KKy0KKy0gICAgcmV0dXJuIHRydWU7CistfQorLQorLSNkZWZpbmUgYXNjaWlfaXNkaWdpdChjKSAoKHVuc2lnbmVkIGNoYXIpKCh1bnNpZ25lZCBjaGFyKShjKSAtICcwJykgPD0gOSkKKy0jZGVmaW5lIGFzY2lpX2lzZGlnaXQ2KGMpICgodW5zaWduZWQgY2hhcikoKHVuc2lnbmVkIGNoYXIpKGMpIC0gJzAnKSA8PSA2KQorLSNkZWZpbmUgYXNjaWlfaXNkaWdpdDUoYykgKCh1bnNpZ25lZCBjaGFyKSgodW5zaWduZWQgY2hhcikoYykgLSAnMCcpIDw9IDUpCistI2RlZmluZSBhc2NpaV9pc2RpZ2l0MyhjKSAoKHVuc2lnbmVkIGNoYXIpKCh1bnNpZ25lZCBjaGFyKShjKSAtICcwJykgPD0gMykKKy0jZGVmaW5lIGFzY2lpX2lzZGlnaXQyKGMpICgodW5zaWduZWQgY2hhcikoKHVuc2lnbmVkIGNoYXIpKGMpIC0gJzAnKSA8PSAyKQorLSNkZWZpbmUgYXNjaWlfaXNkaWdpdDEoYykgKCh1bnNpZ25lZCBjaGFyKSgodW5zaWduZWQgY2hhcikoYykgLSAnMCcpIDw9IDEpCistCistc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgbWF4X2RheXNfaW5fbW9udGhbMTJdID0geworLSAgICAzMSwgLy8gSmFuCistICAgIDAwLCAvLyBGZWIsIHNwZWNpYWwgaGFuZGxpbmcgZm9yIGxlYXAgeWVhcnMKKy0gICAgMzEsIC8vIE1hcgorLSAgICAzMCwgLy8gQXByCistICAgIDMxLCAvLyBNYXkKKy0gICAgMzAsIC8vIEp1bgorLSAgICAzMSwgLy8gSnVsCistICAgIDMxLCAvLyBBdWcKKy0gICAgMzAsIC8vIFNlcAorLSAgICAzMSwgLy8gT2N0CistICAgIDMwLCAvLyBOb3YKKy0gICAgMzEgIC8vIERlYworLX07CistCistc3RhdGljIGJvb2wgdmFsaWRhdGVfZGF5X21vbnRoKGludCBkYXksIGludCBtb250aCwgaW50IHllYXIpCisteworLSAgICBpbnQgbWF4RGF5c1RoaXNNb250aDsKKy0gICAgaWYgKG1vbnRoID09IDEpCistICAgIHsgLy8gRmViIG5lZWRzIGxlYXAgeWVhciB0ZXN0aW5nCistICAgICAgICBtYXhEYXlzVGhpc01vbnRoID0gMjggKyAoeWVhciAlIDQgPT0gMCAmJiAoeWVhciAlIDEwMCAhPSAwIHx8IHllYXIgJSA0MDAgPT0gMCkpOworLSAgICB9CistICAgIGVsc2UKKy0gICAgeworLSAgICAgICAgbWF4RGF5c1RoaXNNb250aCA9IG1heF9kYXlzX2luX21vbnRoW21vbnRoXTsKKy0gICAgfQorLQorLSAgICByZXR1cm4gZGF5ID49IDEgJiYgZGF5IDw9IG1heERheXNUaGlzTW9udGg7CistfQorKyNpZmRlZiBfV0lOMzIKKysgICAgaW50IHN0YXR1czsKKyAKKy10ZW1wbGF0ZTxjbGFzcyBDaGFyVD4KKy1zdGF0aWMgaW50IGF0b2kyKGNvbnN0IENoYXJUKiBzdHIpCisteworLSAgICByZXR1cm4gKHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXI+KHN0clswXSkgLSAnMCcpICogMTAgKyAoc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4oc3RyWzFdKSAtICcwJyk7CistfQorKyAgICBVTEFSR0VfSU5URUdFUiBsYXJnZUludDsKKysgICAgbGFyZ2VJbnQuUXVhZFBhcnQgPSBtX2ludGVydmFsOworIAorLXN0YXRpYyBjb25zdCB0aW1lX3QgbWF4VGltZVQgPSBzaXplb2YodGltZV90KSA9PSA0ID8gKHRpbWVfdClJTlRfTUFYIDogKHRpbWVfdClMTE9OR19NQVg7CisrICAgIEZJTEVUSU1FIGZ0OworKyAgICBmdC5kd0hpZ2hEYXRlVGltZSA9IGxhcmdlSW50LkhpZ2hQYXJ0OworKyAgICBmdC5kd0xvd0RhdGVUaW1lID0gbGFyZ2VJbnQuTG93UGFydDsKKyAKKy1zdGF0aWMgdGltZV90IHRpbWV6b25lX2FkanVzdCh0aW1lX3QgcmVzdWx0LCB1bnNpZ25lZCBjaGFyIGNoU2lnbiwgaW50IGFkanVzdEhvdXJzLCBpbnQgYWRqdXN0TWludXRlcykKKy17CistICAgIGlmIChhZGp1c3RIb3VycyA+IDIzKQorKyAgICBTWVNURU1USU1FIHN5c3RlbVRpbWU7CisrICAgIGlmICghRmlsZVRpbWVUb1N5c3RlbVRpbWUoKGNvbnN0IEZJTEVUSU1FKikmZnQsICZzeXN0ZW1UaW1lKSkKKyAgICAgeworLSAgICAgICAgcmV0dXJuICh0aW1lX3QpLTE7CisrICAgICAgICB0aHJvdyB1dGlsaXR5OjpkZXRhaWxzOjpjcmVhdGVfc3lzdGVtX2Vycm9yKEdldExhc3RFcnJvcigpKTsKKyAgICAgfQorIAorLSAgICAvLyBhZGp1c3RNaW51dGVzID4gNTkgaXMgaW1wb3NzaWJsZSBkdWUgdG8gZGlnaXQgNSBjaGVjaworLSAgICBjb25zdCBpbnQgdHpBZGp1c3QgPSBhZGp1c3RNaW51dGVzICogNjAgKyBhZGp1c3RIb3VycyAqIDYwICogNjA7CistICAgIGlmIChjaFNpZ24gPT0gJy0nKQorKyAgICBzdGQ6OndzdHJpbmcgcmVzdWx0OworKyAgICBpZiAoZm9ybWF0ID09IFJGQ18xMTIzKQorICAgICB7CistICAgICAgICBpZiAobWF4VGltZVQgLSByZXN1bHQgPCB0ekFkanVzdCkKKyAgICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gKHRpbWVfdCktMTsKKysgICAgICAgICAgICB3Y2hhcl90IGRhdGVTdHJbMThdID0gezB9OworKyNpZiBfV0lOMzJfV0lOTlQgPCBfV0lOMzJfV0lOTlRfVklTVEEKKysgICAgICAgICAgICBzdGF0dXMgPSBHZXREYXRlRm9ybWF0VygKKysgICAgICAgICAgICAgICAgTE9DQUxFX0lOVkFSSUFOVCwgMCwgJnN5c3RlbVRpbWUsIEwiZGRkJywnIGRkIE1NTSB5eXl5IiwgZGF0ZVN0ciwgc2l6ZW9mKGRhdGVTdHIpIC8gc2l6ZW9mKHdjaGFyX3QpKTsKKysjZWxzZQorKyAgICAgICAgICAgIHN0YXR1cyA9IEdldERhdGVGb3JtYXRFeChMT0NBTEVfTkFNRV9JTlZBUklBTlQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzeXN0ZW1UaW1lLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMImRkZCcsJyBkZCBNTU0geXl5eSIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVTdHIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihkYXRlU3RyKSAvIHNpemVvZih3Y2hhcl90KSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisrI2VuZGlmIC8vIF9XSU4zMl9XSU5OVCA8IF9XSU4zMl9XSU5OVF9WSVNUQQorKyAgICAgICAgICAgIGlmIChzdGF0dXMgPT0gMCkKKysgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgIHRocm93IHV0aWxpdHk6OmRldGFpbHM6OmNyZWF0ZV9zeXN0ZW1fZXJyb3IoR2V0TGFzdEVycm9yKCkpOworKyAgICAgICAgICAgIH0KKysKKysgICAgICAgICAgICByZXN1bHQgKz0gZGF0ZVN0cjsKKysgICAgICAgICAgICByZXN1bHQgKz0gTCcgJzsKKyAgICAgICAgIH0KKyAKKy0gICAgICAgIHJlc3VsdCArPSB0ekFkanVzdDsKKy0gICAgfQorLSAgICBlbHNlCistICAgIHsKKy0gICAgICAgIGlmICh0ekFkanVzdCA+IHJlc3VsdCkKKyAgICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gKHRpbWVfdCktMTsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIHJlc3VsdCAtPSB0ekFkanVzdDsKKy0gICAgfQorLQorLSAgICByZXR1cm4gcmVzdWx0OworLX0KKy0KKy1zdGF0aWMgdGltZV90IG1ha2VfZ21fdGltZShzdHJ1Y3QgdG0qIHQpCisteworLSNpZmRlZiBfTVNDX1ZFUgorLSAgICByZXR1cm4gX21rZ210aW1lKHQpOworLSNlbGlmIChkZWZpbmVkKEFORFJPSUQpIHx8IGRlZmluZWQoX19BTkRST0lEX18pKQorLSAgICAvLyBIQUNLOiBUaGUgKG5vbnBvcnRhYmxlPykgUE9TSVggZnVuY3Rpb24gdGltZWdtIGlzIG5vdCBhdmFpbGFibGUgaW4KKy0gICAgLy8gICAgICAgYmlvbmljLiBBcyBhIHdvcmthcm91bmRbMV1bMl0sIHdlIHNldCB0aGUgQyBsaWJyYXJ5IHRpbWV6b25lIHRvCistICAgIC8vICAgICAgIFVUQywgY2FsbCBta3RpbWUsIHRoZW4gc2V0IHRoZSB0aW1lem9uZSBiYWNrLiBIb3dldmVyLCB0aGUgQworLSAgICAvLyAgICAgICBlbnZpcm9ubWVudCBpcyBmdW5kYW1lbnRhbGx5IGEgc2hhcmVkIGdsb2JhbCByZXNvdXJjZSBhbmQgdGhyZWFkLQorLSAgICAvLyAgICAgICB1bnNhZmUuIFdlIGNhbiBwcm90ZWN0IG91ciB1c2FnZSBoZXJlLCBob3dldmVyIGFueSBvdGhlciBjb2RlIG1pZ2h0CistICAgIC8vICAgICAgIG1hbmlwdWxhdGUgdGhlIGVudmlyb25tZW50IGF0IHRoZSBzYW1lIHRpbWUuCistICAgIC8vCistICAgIC8vIFsxXSBodHRwOi8vbGludXguZGllLm5ldC9tYW4vMy90aW1lZ20KKy0gICAgLy8gWzJdIGh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9saWJjL21hbnVhbC9odG1sX25vZGUvQnJva2VuXzAwMmRkb3duLVRpbWUuaHRtbAorLSAgICB0aW1lX3QgdGltZTsKKy0gICAgc3RhdGljIGJvb3N0OjptdXRleCBlbnZfdmFyX2xvY2s7CistICAgIHsKKy0gICAgICAgIGJvb3N0Ojpsb2NrX2d1YXJkPGJvb3N0OjptdXRleD4gbG9jayhlbnZfdmFyX2xvY2spOworLSAgICAgICAgc3RkOjpzdHJpbmcgcHJldl9lbnY7CistICAgICAgICBhdXRvIHByZXZfZW52X2NzdHIgPSBnZXRlbnYoIlRaIik7CistICAgICAgICBpZiAocHJldl9lbnZfY3N0ciAhPSBudWxscHRyKQorLSAgICAgICAgeworLSAgICAgICAgICAgIHByZXZfZW52ID0gcHJldl9lbnZfY3N0cjsKKy0gICAgICAgIH0KKy0gICAgICAgIHNldGVudigiVFoiLCAiVVRDIiwgMSk7CistCistICAgICAgICB0aW1lID0gbWt0aW1lKHQpOworKyAgICAgICAgICAgIHdjaGFyX3QgdGltZVN0clsxMF0gPSB7MH07CisrI2lmIF9XSU4zMl9XSU5OVCA8IF9XSU4zMl9XSU5OVF9WSVNUQQorKyAgICAgICAgICAgIHN0YXR1cyA9IEdldFRpbWVGb3JtYXRXKExPQ0FMRV9JTlZBUklBTlQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVElNRV9OT1RJTUVNQVJLRVIgfCBUSU1FX0ZPUkNFMjRIT1VSRk9STUFULAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzeXN0ZW1UaW1lLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEwiSEgnOidtbSc6J3NzIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lU3RyLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZih0aW1lU3RyKSAvIHNpemVvZih3Y2hhcl90KSk7CisrI2Vsc2UKKysgICAgICAgICAgICBzdGF0dXMgPSBHZXRUaW1lRm9ybWF0RXgoTE9DQUxFX05BTUVfSU5WQVJJQU5ULAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUSU1FX05PVElNRU1BUktFUiB8IFRJTUVfRk9SQ0UyNEhPVVJGT1JNQVQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzeXN0ZW1UaW1lLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMIkhIJzonbW0nOidzcyIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVTdHIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZih0aW1lU3RyKSAvIHNpemVvZih3Y2hhcl90KSk7CisrI2VuZGlmIC8vIF9XSU4zMl9XSU5OVCA8IF9XSU4zMl9XSU5OVF9WSVNUQQorKyAgICAgICAgICAgIGlmIChzdGF0dXMgPT0gMCkKKysgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgIHRocm93IHV0aWxpdHk6OmRldGFpbHM6OmNyZWF0ZV9zeXN0ZW1fZXJyb3IoR2V0TGFzdEVycm9yKCkpOworKyAgICAgICAgICAgIH0KKyAKKy0gICAgICAgIGlmIChwcmV2X2Vudl9jc3RyKQorLSAgICAgICAgeworLSAgICAgICAgICAgIHNldGVudigiVFoiLCBwcmV2X2Vudi5jX3N0cigpLCAxKTsKKy0gICAgICAgIH0KKy0gICAgICAgIGVsc2UKKy0gICAgICAgIHsKKy0gICAgICAgICAgICB1bnNldGVudigiVFoiKTsKKysgICAgICAgICAgICByZXN1bHQgKz0gdGltZVN0cjsKKysgICAgICAgICAgICByZXN1bHQgKz0gTCIgR01UIjsKKyAgICAgICAgIH0KKyAgICAgfQorLSAgICByZXR1cm4gdGltZTsKKy0jZWxzZSAgLy8gXl5eIEFORFJPSUQgLy8gT3RoZXIgUE9TSVggcGxhdGZvcm1zIHZ2dgorLSAgICByZXR1cm4gdGltZWdtKHQpOworLSNlbmRpZiAvLyBfTVNDX1ZFUgorLX0KKy0KKy0vKgorLWh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM4MjIKKy1odHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMTEyMworLQorLWRhdGUtdGltZSAgID0gIFsgZGF5ICIsIiBdIGRhdGUgdGltZSAgICAgICAgOyBkZCBtbSB5eQorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyAgaGg6bW06c3Mgenp6CistCistZGF5ICAgICAgICAgPSAgIk1vbiIgIC8gIlR1ZSIgLyAgIldlZCIgIC8gIlRodSIKKy0gICAgICAgICAgICAvICAiRnJpIiAgLyAiU2F0IiAvICAiU3VuIgorLQorLWRhdGUgICAgICAgID0gIDEqMkRJR0lUIG1vbnRoIDJESUdJVCAgICAgICAgOyBkYXkgbW9udGggeWVhcgorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyAgZS5nLiAyMCBKdW4gODIKKy1SRkMxMTIzIGNoYW5nZXMgdGhpcyB0bzoKKy1kYXRlICAgICAgICA9ICAxKjJESUdJVCBtb250aCAyKjRESUdJVCAgICAgICAgOyBkYXkgbW9udGggeWVhcgorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7ICBlLmcuIDIwIEp1biAxOTgyCistVGhpcyBpbXBsZW1lbnRhdGlvbiBvbmx5IGFjY2VwdHMgNCBkaWdpdCB5ZWFycy4KKy0KKy1tb250aCAgICAgICA9ICAiSmFuIiAgLyAgIkZlYiIgLyAgIk1hciIgIC8gICJBcHIiCistICAgICAgICAgICAgLyAgIk1heSIgIC8gICJKdW4iIC8gICJKdWwiICAvICAiQXVnIgorLSAgICAgICAgICAgIC8gICJTZXAiICAvICAiT2N0IiAvICAiTm92IiAgLyAgIkRlYyIKKy0KKy10aW1lICAgICAgICA9ICBob3VyIHpvbmUgICAgICAgICAgICAgICAgICAgIDsgQU5TSSBhbmQgTWlsaXRhcnkKKy0KKy1ob3VyICAgICAgICA9ICAyRElHSVQgIjoiIDJESUdJVCBbIjoiIDJESUdJVF0KKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgMDA6MDA6MDAgLSAyMzo1OTo1OQorLQorLXpvbmUgICAgICAgID0gICJVVCIgIC8gIkdNVCIgICAgICAgICAgICAgICAgOyBVbml2ZXJzYWwgVGltZQorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyBOb3J0aCBBbWVyaWNhbiA6IFVUCistICAgICAgICAgICAgLyAgIkVTVCIgLyAiRURUIiAgICAgICAgICAgICAgICA7ICBFYXN0ZXJuOiAgLSA1LyAtIDQKKy0gICAgICAgICAgICAvICAiQ1NUIiAvICJDRFQiICAgICAgICAgICAgICAgIDsgIENlbnRyYWw6ICAtIDYvIC0gNQorLSAgICAgICAgICAgIC8gICJNU1QiIC8gIk1EVCIgICAgICAgICAgICAgICAgOyAgTW91bnRhaW46IC0gNy8gLSA2CistICAgICAgICAgICAgLyAgIlBTVCIgLyAiUERUIiAgICAgICAgICAgICAgICA7ICBQYWNpZmljOiAgLSA4LyAtIDcKKy0KKy0vLyBtaWxpdGFyeSB0aW1lIGRlbGV0ZWQgYnkgUkZDIDExMjMKKy0KKy0gICAgICAgICAgICAvICggKCIrIiAvICItIikgNERJR0lUICkgICAgICAgIDsgTG9jYWwgZGlmZmVyZW50aWFsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7ICBob3VycyttaW4uIChISE1NKQorLSovCistCistCistZGF0ZXRpbWUgX19jZGVjbCBkYXRldGltZTo6ZnJvbV9zdHJpbmcoY29uc3QgdXRpbGl0eTo6c3RyaW5nX3QmIGRhdGVTdHJpbmcsIGRhdGVfZm9ybWF0IGZvcm1hdCkKKy17CistICAgIGRhdGV0aW1lIHJlc3VsdDsKKy0gICAgdGltZV90IHNlY29uZHM7CistICAgIHVpbnQ2NF90IGZyYWNfc2VjID0gMDsKKy0gICAgc3RydWN0IHRtIHR7fTsKKy0gICAgYXV0byBzdHIgPSBkYXRlU3RyaW5nLmNfc3RyKCk7CistICAgIGlmIChmb3JtYXQgPT0gUkZDXzExMjMpCisrICAgIGVsc2UgaWYgKGZvcm1hdCA9PSBJU09fODYwMSkKKyAgICAgeworLSAgICAgICAgaW50IHBhcnNlZFdlZWtkYXkgPSAtMTsKKy0gICAgICAgIGZvciAoaW50IGRheSA9IDA7IGRheSA8IDc7ICsrZGF5KQorKyAgICAgICAgY29uc3Qgc2l6ZV90IGJ1ZmZTaXplID0gNjQ7CisgICAgICAgICB7CistICAgICAgICAgICAgaWYgKHN0cmluZ19zdGFydHNfd2l0aChzdHIsIGRheU5hbWVzICsgZGF5ICogNCkgJiYgc3RyWzNdID09IF9YUExBVFNUUignLCcpICYmIHN0cls0XSA9PSBfWFBMQVRTVFIoJyAnKSkKKysgICAgICAgICAgICB3Y2hhcl90IGRhdGVTdHJbYnVmZlNpemVdID0gezB9OworKyNpZiBfV0lOMzJfV0lOTlQgPCBfV0lOMzJfV0lOTlRfVklTVEEKKysgICAgICAgICAgICBzdGF0dXMgPSBHZXREYXRlRm9ybWF0VyhMT0NBTEVfSU5WQVJJQU5ULCAwLCAmc3lzdGVtVGltZSwgTCJ5eXl5LU1NLWRkIiwgZGF0ZVN0ciwgYnVmZlNpemUpOworKyNlbHNlCisrICAgICAgICAgICAgc3RhdHVzID0gR2V0RGF0ZUZvcm1hdEV4KExPQ0FMRV9OQU1FX0lOVkFSSUFOVCwgMCwgJnN5c3RlbVRpbWUsIEwieXl5eS1NTS1kZCIsIGRhdGVTdHIsIGJ1ZmZTaXplLCBOVUxMKTsKKysjZW5kaWYgLy8gX1dJTjMyX1dJTk5UIDwgX1dJTjMyX1dJTk5UX1ZJU1RBCisrICAgICAgICAgICAgaWYgKHN0YXR1cyA9PSAwKQorICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgcGFyc2VkV2Vla2RheSA9IGRheTsKKy0gICAgICAgICAgICAgICAgc3RyICs9IDU7IC8vIHBhcnNlZCBkYXkgb2Ygd2VlaworLSAgICAgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgICAgICAgdGhyb3cgdXRpbGl0eTo6ZGV0YWlsczo6Y3JlYXRlX3N5c3RlbV9lcnJvcihHZXRMYXN0RXJyb3IoKSk7CisgICAgICAgICAgICAgfQorLSAgICAgICAgfQorIAorLSAgICAgICAgaWYgKGFzY2lpX2lzZGlnaXQzKHN0clswXSkgJiYgYXNjaWlfaXNkaWdpdChzdHJbMV0pICYmIHN0clsyXSA9PSBfWFBMQVRTVFIoJyAnKSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICB0LnRtX21kYXkgPSBhdG9pMihzdHIpOyAvLyB2YWxpZGl0eSBjaGVja2VkIGxhdGVyCistICAgICAgICAgICAgc3RyICs9IDM7ICAgICAgICAgICAgICAgLy8gcGFyc2VkIGRheQorLSAgICAgICAgfQorLSAgICAgICAgZWxzZSBpZiAoYXNjaWlfaXNkaWdpdChzdHJbMF0pICYmIHN0clsxXSA9PSBfWFBMQVRTVFIoJyAnKSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICB0LnRtX21kYXkgPSBzdHJbMF0gLSBfWFBMQVRTVFIoJzAnKTsKKy0gICAgICAgICAgICBzdHIgKz0gMjsgLy8gcGFyc2VkIGRheQorLSAgICAgICAgfQorLSAgICAgICAgZWxzZQorLSAgICAgICAgeworLSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisrICAgICAgICAgICAgcmVzdWx0ICs9IGRhdGVTdHI7CisrICAgICAgICAgICAgcmVzdWx0ICs9IEwnVCc7CisgICAgICAgICB9CisgCistICAgICAgICB0LnRtX21vbiA9IC0xOworLSAgICAgICAgZm9yIChpbnQgbW9udGggPSAwOyBtb250aCA8IDEyOyArK21vbnRoKQorICAgICAgICAgeworLSAgICAgICAgICAgIGlmIChzdHJpbmdfc3RhcnRzX3dpdGgoc3RyLCBtb250aE5hbWVzICsgbW9udGggKiA0KSkKKysgICAgICAgICAgICB3Y2hhcl90IHRpbWVTdHJbYnVmZlNpemVdID0gezB9OworKyNpZiBfV0lOMzJfV0lOTlQgPCBfV0lOMzJfV0lOTlRfVklTVEEKKysgICAgICAgICAgICBzdGF0dXMgPSBHZXRUaW1lRm9ybWF0VyhMT0NBTEVfSU5WQVJJQU5ULAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTUVfTk9USU1FTUFSS0VSIHwgVElNRV9GT1JDRTI0SE9VUkZPUk1BVCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3lzdGVtVGltZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMIkhIJzonbW0nOidzcyIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZVN0ciwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZmU2l6ZSk7CisrI2Vsc2UKKysgICAgICAgICAgICBzdGF0dXMgPSBHZXRUaW1lRm9ybWF0RXgoTE9DQUxFX05BTUVfSU5WQVJJQU5ULAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUSU1FX05PVElNRU1BUktFUiB8IFRJTUVfRk9SQ0UyNEhPVVJGT1JNQVQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzeXN0ZW1UaW1lLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMIkhIJzonbW0nOidzcyIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVTdHIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZTaXplKTsKKysjZW5kaWYgLy8gX1dJTjMyX1dJTk5UIDwgX1dJTjMyX1dJTk5UX1ZJU1RBCisrICAgICAgICAgICAgaWYgKHN0YXR1cyA9PSAwKQorICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgdC50bV9tb24gPSBtb250aDsKKy0gICAgICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICAgICAgICAgIHRocm93IHV0aWxpdHk6OmRldGFpbHM6OmNyZWF0ZV9zeXN0ZW1fZXJyb3IoR2V0TGFzdEVycm9yKCkpOworICAgICAgICAgICAgIH0KKy0gICAgICAgIH0KKyAKKy0gICAgICAgIGlmICh0LnRtX21vbiA9PSAtMSB8fCBzdHJbM10gIT0gX1hQTEFUU1RSKCcgJykpCistICAgICAgICB7CistICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKysgICAgICAgICAgICByZXN1bHQgKz0gdGltZVN0cjsKKyAgICAgICAgIH0KKyAKKy0gICAgICAgIHN0ciArPSA0OyAvLyBwYXJzZWQgbW9udGgKKy0KKy0gICAgICAgIGlmICghYXNjaWlfaXNkaWdpdDMoc3RyWzBdKSB8fCAhYXNjaWlfaXNkaWdpdChzdHJbMV0pIHx8ICFhc2NpaV9pc2RpZ2l0KHN0clsyXSkgfHwgIWFzY2lpX2lzZGlnaXQoc3RyWzNdKSB8fAorLSAgICAgICAgICAgIHN0cls0XSAhPSAnICcpCisrICAgICAgICB1aW50NjRfdCBmcmFjX3NlYyA9IGxhcmdlSW50LlF1YWRQYXJ0ICUgX3NlY29uZFRpY2tzOworKyAgICAgICAgaWYgKGZyYWNfc2VjID4gMCkKKyAgICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OworKyAgICAgICAgICAgIC8vIEFwcGVuZCBmcmFjdGlvbmFsIHNlY29uZCwgd2hpY2ggaXMgYSA3LWRpZ2l0IHZhbHVlIHdpdGggbm8gdHJhaWxpbmcgemVyb3MKKysgICAgICAgICAgICAvLyBUaGlzIHdheSwgJzEyMDAnIGJlY29tZXMgJzAwMDEyJworKyAgICAgICAgICAgIHdjaGFyX3QgYnVmWzldID0gezB9OworKyAgICAgICAgICAgIHNpemVfdCBhcHBlbmRlZCA9IHN3cHJpbnRmX3MoYnVmLCA5LCBMIi4lMDdsZCIsIHN0YXRpY19jYXN0PGxvbmc+KGZyYWNfc2VjKSk7CisrICAgICAgICAgICAgd2hpbGUgKGJ1ZlthcHBlbmRlZCAtIDFdID09IEwnMCcpCisrICAgICAgICAgICAgICAgIC0tYXBwZW5kZWQ7IC8vIHRyaW0gdHJhaWxpbmcgemVyb3MKKysgICAgICAgICAgICByZXN1bHQuYXBwZW5kKGJ1ZiwgYXBwZW5kZWQpOworICAgICAgICAgfQorIAorLSAgICAgICAgdC50bV95ZWFyID0gKHN0clswXSAtIF9YUExBVFNUUignMCcpKSAqIDEwMDAgKyAoc3RyWzFdIC0gX1hQTEFUU1RSKCcwJykpICogMTAwICsKKy0gICAgICAgICAgICAgICAgICAgIChzdHJbMl0gLSBfWFBMQVRTVFIoJzAnKSkgKiAxMCArIChzdHJbM10gLSBfWFBMQVRTVFIoJzAnKSk7CistICAgICAgICBpZiAodC50bV95ZWFyIDwgMTk3MCB8fCB0LnRtX3llYXIgPiAzMDAwKQorLSAgICAgICAgeworLSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CistICAgICAgICB9CisrICAgICAgICByZXN1bHQgKz0gTCdaJzsKKysgICAgfQorIAorLSAgICAgICAgLy8gZGF5cyBpbiBtb250aCB2YWxpZGl0eSBjaGVjaworLSAgICAgICAgaWYgKCF2YWxpZGF0ZV9kYXlfbW9udGgodC50bV9tZGF5LCB0LnRtX21vbiwgdC50bV95ZWFyKSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OworLSAgICAgICAgfQorKyAgICByZXR1cm4gcmVzdWx0OworKyNlbHNlIC8vIExJTlVYCisrICAgIHVpbnQ2NF90IGlucHV0ID0gbV9pbnRlcnZhbDsKKysgICAgdWludDY0X3QgZnJhY19zZWMgPSBpbnB1dCAlIF9zZWNvbmRUaWNrczsKKysgICAgaW5wdXQgLz0gX3NlY29uZFRpY2tzOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb252ZXJ0IHRvIHNlY29uZHMKKysgICAgdGltZV90IHRpbWUgPSAodGltZV90KWlucHV0IC0gKHRpbWVfdCkxMTY0NDQ3MzYwMExMOyAvLyBkaWZmIGJldHdlZW4gd2luZG93cyBhbmQgdW5peCBlcG9jaHMgKHNlY29uZHMpCisrCisrICAgIHN0cnVjdCB0bSBkYXRldGltZTsKKysgICAgZ210aW1lX3IoJnRpbWUsICZkYXRldGltZSk7CisrCisrICAgIGNvbnN0IGludCBtYXhfZHRfbGVuZ3RoID0gNjQ7CisrICAgIGNoYXIgb3V0cHV0W21heF9kdF9sZW5ndGggKyAxXSA9IHswfTsKKysKKysgICAgaWYgKGZvcm1hdCAhPSBSRkNfMTEyMyAmJiBmcmFjX3NlYyA+IDApCisrICAgIHsKKysgICAgICAgIC8vIEFwcGVuZCBmcmFjdGlvbmFsIHNlY29uZCwgd2hpY2ggaXMgYSA3LWRpZ2l0IHZhbHVlIHdpdGggbm8gdHJhaWxpbmcgemVyb3MKKysgICAgICAgIC8vIFRoaXMgd2F5LCAnMTIwMCcgYmVjb21lcyAnMDAwMTInCisrICAgICAgICBjb25zdCBpbnQgbWF4X2ZyYWNfbGVuZ3RoID0gODsKKysgICAgICAgIGNoYXIgYnVmW21heF9mcmFjX2xlbmd0aCArIDFdID0gezB9OworKyAgICAgICAgc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIi4lMDdsZCIsIChsb25nIGludClmcmFjX3NlYyk7CisrICAgICAgICAvLyB0cmltIHRyYWlsaW5nIHplcm9zCisrICAgICAgICBmb3IgKGludCBpID0gbWF4X2ZyYWNfbGVuZ3RoIC0gMTsgYnVmW2ldID09ICcwJzsgaS0tKQorKyAgICAgICAgICAgIGJ1ZltpXSA9ICdcMCc7CisrICAgICAgICAvLyBmb3JtYXQgdGhlIGRhdGV0aW1lIGludG8gYSBzZXBhcmF0ZSBidWZmZXIKKysgICAgICAgIGNoYXIgZGF0ZXRpbWVfc3RyW21heF9kdF9sZW5ndGggLSBtYXhfZnJhY19sZW5ndGggLSAxICsgMV0gPSB7MH07CisrICAgICAgICBzdHJmdGltZShkYXRldGltZV9zdHIsIHNpemVvZihkYXRldGltZV9zdHIpLCAiJVktJW0tJWRUJUg6JU06JVMiLCAmZGF0ZXRpbWUpOworKyAgICAgICAgLy8gbm93IHByaW50IHRoaXMgYnVmZmVyIGludG8gdGhlIG91dHB1dCBidWZmZXIKKysgICAgICAgIHNucHJpbnRmKG91dHB1dCwgc2l6ZW9mKG91dHB1dCksICIlcyVzWiIsIGRhdGV0aW1lX3N0ciwgYnVmKTsKKysgICAgfQorKyAgICBlbHNlCisrICAgIHsKKysgICAgICAgIHN0cmZ0aW1lKAorKyAgICAgICAgICAgIG91dHB1dCwgc2l6ZW9mKG91dHB1dCksIGZvcm1hdCA9PSBSRkNfMTEyMyA/ICIlYSwgJWQgJWIgJVkgJUg6JU06JVMgR01UIiA6ICIlWS0lbS0lZFQlSDolTTolU1oiLCAmZGF0ZXRpbWUpOworKyAgICB9CisgCistICAgICAgICB0LnRtX3llYXIgLT0gMTkwMDsKKy0gICAgICAgIHN0ciArPSA1OyAvLyBwYXJzZWQgeWVhcgorKyAgICByZXR1cm4gc3RkOjpzdHJpbmcob3V0cHV0KTsKKysjZW5kaWYKKyt9CisgCistICAgICAgICBpZiAoIWFzY2lpX2lzZGlnaXQyKHN0clswXSkgfHwgIWFzY2lpX2lzZGlnaXQoc3RyWzFdKSB8fCBzdHJbMl0gIT0gX1hQTEFUU1RSKCc6JykgfHwgIWFzY2lpX2lzZGlnaXQ1KHN0clszXSkgfHwKKy0gICAgICAgICAgICAhYXNjaWlfaXNkaWdpdChzdHJbNF0pKQorLSAgICAgICAgeworLSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CistICAgICAgICB9CisrI2lmZGVmIF9XSU4zMgorK2Jvb2wgX19jZGVjbCBkYXRldGltZTo6c3lzdGVtX3R5cGVfdG9fZGF0ZXRpbWUodm9pZCogcHZzeXNUaW1lLCB1aW50NjRfdCBzZWNvbmRzLCBkYXRldGltZSogcGR0KQorK3sKKysgICAgU1lTVEVNVElNRSogcHN5c1RpbWUgPSAoU1lTVEVNVElNRSopcHZzeXNUaW1lOworKyAgICBGSUxFVElNRSBmaWxlVGltZTsKKyAKKy0gICAgICAgIHQudG1faG91ciA9IGF0b2kyKHN0cik7CistICAgICAgICBpZiAodC50bV9ob3VyID4gMjMpCistICAgICAgICB7CistICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKy0gICAgICAgIH0KKysgICAgaWYgKFN5c3RlbVRpbWVUb0ZpbGVUaW1lKHBzeXNUaW1lLCAmZmlsZVRpbWUpKQorKyAgICB7CisrICAgICAgICBVTEFSR0VfSU5URUdFUiBsYXJnZUludDsKKysgICAgICAgIGxhcmdlSW50Lkxvd1BhcnQgPSBmaWxlVGltZS5kd0xvd0RhdGVUaW1lOworKyAgICAgICAgbGFyZ2VJbnQuSGlnaFBhcnQgPSBmaWxlVGltZS5kd0hpZ2hEYXRlVGltZTsKKyAKKy0gICAgICAgIHN0ciArPSAzOyAvLyBwYXJzZWQgaG91cgorLSAgICAgICAgdC50bV9taW4gPSBhdG9pMihzdHIpOworLSAgICAgICAgc3RyICs9IDI7IC8vIHBhcnNlZCBtaW5zCisrICAgICAgICAvLyBBZGQgaHVuZHJlZHRocyBvZiBuYW5vc2Vjb25kcworKyAgICAgICAgbGFyZ2VJbnQuUXVhZFBhcnQgKz0gc2Vjb25kczsKKyAKKy0gICAgICAgIGlmIChzdHJbMF0gPT0gJzonKQorLSAgICAgICAgeworLSAgICAgICAgICAgIGlmICghYXNjaWlfaXNkaWdpdDYoc3RyWzFdKSB8fCAhYXNjaWlfaXNkaWdpdChzdHJbMl0pIHx8IHN0clszXSAhPSBfWFBMQVRTVFIoJyAnKSkKKy0gICAgICAgICAgICB7CistICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CistICAgICAgICAgICAgfQorKyAgICAgICAgKnBkdCA9IGRhdGV0aW1lKGxhcmdlSW50LlF1YWRQYXJ0KTsKKysgICAgICAgIHJldHVybiB0cnVlOworKyAgICB9CisrICAgIHJldHVybiBmYWxzZTsKKyt9CisrI2VuZGlmCisgCistICAgICAgICAgICAgdC50bV9zZWMgPSBhdG9pMihzdHIgKyAxKTsKKy0gICAgICAgICAgICBzdHIgKz0gNDsgLy8gcGFyc2VkIHNlY29uZHMKKy0gICAgICAgIH0KKy0gICAgICAgIGVsc2UgaWYgKHN0clswXSA9PSBfWFBMQVRTVFIoJyAnKSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICB0LnRtX3NlYyA9IDA7CistICAgICAgICAgICAgc3RyICs9IDE7IC8vIHBhcnNlZCBzZWNvbmRzCistICAgICAgICB9CistICAgICAgICBlbHNlCistICAgICAgICB7CistICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKysvLyBUYWtlIGEgc3RyaW5nIHRoYXQgcmVwcmVzZW50cyBhIGZyYWN0aW9uYWwgc2Vjb25kIGFuZCByZXR1cm4gdGhlIG51bWJlciBvZiB0aWNrcworKy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBkb2luZyBhdG9mIG9uIHRoZSBzdHJpbmcgYW5kIG11bHRpcGx5aW5nIGJ5IDEwMDAwMDAwLAorKy8vIGJ1dCBkb2VzIG5vdCBsb3NlIHByZWNpc2lvbgorK3RlbXBsYXRlPHR5cGVuYW1lIFN0cmluZ0l0ZXJhdG9yPgorK3VpbnQ2NF90IHRpbWV0aWNrc19mcm9tX3NlY29uZChTdHJpbmdJdGVyYXRvciBiZWdpbiwgU3RyaW5nSXRlcmF0b3IgZW5kKQorK3sKKysgICAgaW50IHNpemUgPSAoaW50KShlbmQgLSBiZWdpbik7CisrICAgIF9BU1NFUlRFKGJlZ2luWzBdID09IFUoJy4nKSk7CisrICAgIHVpbnQ2NF90IHVmcmFjX3NlY29uZCA9IDA7CisrICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IDc7ICsraSkKKysgICAgeworKyAgICAgICAgdWZyYWNfc2Vjb25kICo9IDEwOworKyAgICAgICAgaW50IGFkZCA9IGkgPCBzaXplID8gYmVnaW5baV0gLSBVKCcwJykgOiAwOworKyAgICAgICAgdWZyYWNfc2Vjb25kICs9IGFkZDsKKysgICAgfQorKyAgICByZXR1cm4gdWZyYWNfc2Vjb25kOworK30KKysKKyt2b2lkIGV4dHJhY3RfZnJhY3Rpb25hbF9zZWNvbmQoY29uc3QgdXRpbGl0eTo6c3RyaW5nX3QmIGRhdGVTdHJpbmcsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHV0aWxpdHk6OnN0cmluZ190JiByZXN1bHRTdHJpbmcsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90JiB1ZnJhY19zZWNvbmQpCisreworKyAgICByZXN1bHRTdHJpbmcgPSBkYXRlU3RyaW5nOworKyAgICAvLyBGaXJzdCwgdGhlIHN0cmluZyBtdXN0IGJlIHN0cmljdGx5IGxvbmdlciB0aGFuIDIgY2hhcmFjdGVycywgYW5kIHRoZSB0cmFpbGluZyBjaGFyYWN0ZXIgbXVzdCBiZSAnWicKKysgICAgaWYgKHJlc3VsdFN0cmluZy5zaXplKCkgPiAyICYmIHJlc3VsdFN0cmluZ1tyZXN1bHRTdHJpbmcuc2l6ZSgpIC0gMV0gPT0gVSgnWicpKQorKyAgICB7CisrICAgICAgICAvLyBTZWNvbmQsIGZpbmQgdGhlIGxhc3Qgbm9uLWRpZ2l0IGJ5IHNjYW5uaW5nIHRoZSBzdHJpbmcgYmFja3dhcmRzCisrICAgICAgICBhdXRvIGxhc3Rfbm9uX2RpZ2l0ID0gc3RkOjpmaW5kX2lmX25vdChyZXN1bHRTdHJpbmcucmJlZ2luKCkgKyAxLCByZXN1bHRTdHJpbmcucmVuZCgpLCBpc19kaWdpdCk7CisrICAgICAgICBpZiAobGFzdF9ub25fZGlnaXQgPCByZXN1bHRTdHJpbmcucmVuZCgpIC0gMSkKKysgICAgICAgIHsKKysgICAgICAgICAgICAvLyBGaW5hbGx5LCBtYWtlIHN1cmUgdGhlIGxhc3Qgbm9uLWRpZ2l0IGlzIGEgZG90OgorKyAgICAgICAgICAgIGF1dG8gbGFzdF9kb3QgPSBsYXN0X25vbl9kaWdpdC5iYXNlKCkgLSAxOworKyAgICAgICAgICAgIGlmICgqbGFzdF9kb3QgPT0gVSgnLicpKQorKyAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgLy8gR290IGl0ISBOb3cgZXh0cmFjdCB0aGUgZnJhY3Rpb25hbCBzZWNvbmQKKysgICAgICAgICAgICAgICAgYXV0byBsYXN0X2JlZm9yZV9aID0gc3RkOjplbmQocmVzdWx0U3RyaW5nKSAtIDE7CisrICAgICAgICAgICAgICAgIHVmcmFjX3NlY29uZCA9IHRpbWV0aWNrc19mcm9tX3NlY29uZChsYXN0X2RvdCwgbGFzdF9iZWZvcmVfWik7CisrICAgICAgICAgICAgICAgIC8vIEFuZCBlcmFzZSBpdCBmcm9tIHRoZSBzdHJpbmcKKysgICAgICAgICAgICAgICAgcmVzdWx0U3RyaW5nLmVyYXNlKGxhc3RfZG90LCBsYXN0X2JlZm9yZV9aKTsKKysgICAgICAgICAgICB9CisgICAgICAgICB9CisrICAgIH0KKyt9CisgCistICAgICAgICBpZiAodC50bV9zZWMgPiA2MCkKKy0gICAgICAgIHsgLy8gNjAgdG8gYWxsb3cgbGVhcCBzZWNvbmRzCistICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKy0gICAgICAgIH0KKytkYXRldGltZSBfX2NkZWNsIGRhdGV0aW1lOjpmcm9tX3N0cmluZyhjb25zdCB1dGlsaXR5OjpzdHJpbmdfdCYgZGF0ZVN0cmluZywgZGF0ZV9mb3JtYXQgZm9ybWF0KQorK3sKKysgICAgLy8gYXZvaWQgZmxvYXRpbmcgcG9pbnQgbWF0aCB0byBwcmVzZXJ2ZSBwcmVjaXNpb24KKysgICAgdWludDY0X3QgdWZyYWNfc2Vjb25kID0gMDsKKyAKKy0gICAgICAgIHQudG1faXNkc3QgPSAwOworLSAgICAgICAgc2Vjb25kcyA9IG1ha2VfZ21fdGltZSgmdCk7CistICAgICAgICBpZiAoc2Vjb25kcyA8IDApCistICAgICAgICB7CistICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKy0gICAgICAgIH0KKysjaWZkZWYgX1dJTjMyCisrICAgIGRhdGV0aW1lIHJlc3VsdDsKKysgICAgaWYgKGZvcm1hdCA9PSBSRkNfMTEyMykKKysgICAgeworKyAgICAgICAgU1lTVEVNVElNRSBzeXNUaW1lID0gezB9OworIAorLSAgICAgICAgaWYgKHBhcnNlZFdlZWtkYXkgPj0gMCAmJiBwYXJzZWRXZWVrZGF5ICE9IHQudG1fd2RheSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OworLSAgICAgICAgfQorKyAgICAgICAgc3RkOjp3c3RyaW5nIG1vbnRoKDMsIEwnXDAnKTsKKysgICAgICAgIHN0ZDo6d3N0cmluZyB1bnVzZWQoMywgTCdcMCcpOworIAorLSAgICAgICAgaWYgKCFzdHJpbmdfc3RhcnRzX3dpdGgoc3RyLCAiR01UIikgJiYgIXN0cmluZ19zdGFydHNfd2l0aChzdHIsICJVVCIpKQorLSAgICAgICAgeworLSAgICAgICAgICAgIC8vIHNvbWUgdGltZXpvbmUgYWRqdXN0bWVudCBuZWNlc3NhcnkKKy0gICAgICAgICAgICBhdXRvIHR6Q2ggPSBfWFBMQVRTVFIoJy0nKTsKKy0gICAgICAgICAgICBpbnQgdHpIb3VyczsKKy0gICAgICAgICAgICBpbnQgdHpNaW51dGVzID0gMDsKKy0gICAgICAgICAgICBpZiAoc3RyaW5nX3N0YXJ0c193aXRoKHN0ciwgIkVEVCIpKQorLSAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgdHpIb3VycyA9IDQ7CistICAgICAgICAgICAgfQorLSAgICAgICAgICAgIGVsc2UgaWYgKHN0cmluZ19zdGFydHNfd2l0aChzdHIsICJFU1QiKSB8fCBzdHJpbmdfc3RhcnRzX3dpdGgoc3RyLCAiQ0RUIikpCistICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICB0ekhvdXJzID0gNTsKKy0gICAgICAgICAgICB9CistICAgICAgICAgICAgZWxzZSBpZiAoc3RyaW5nX3N0YXJ0c193aXRoKHN0ciwgIkNTVCIpIHx8IHN0cmluZ19zdGFydHNfd2l0aChzdHIsICJNRFQiKSkKKy0gICAgICAgICAgICB7CistICAgICAgICAgICAgICAgIHR6SG91cnMgPSA2OworLSAgICAgICAgICAgIH0KKy0gICAgICAgICAgICBlbHNlIGlmIChzdHJpbmdfc3RhcnRzX3dpdGgoc3RyLCAiTVNUIikgfHwgc3RyaW5nX3N0YXJ0c193aXRoKHN0ciwgIlBEVCIpKQorLSAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgdHpIb3VycyA9IDc7CistICAgICAgICAgICAgfQorLSAgICAgICAgICAgIGVsc2UgaWYgKHN0cmluZ19zdGFydHNfd2l0aChzdHIsICJQU1QiKSkKKy0gICAgICAgICAgICB7CistICAgICAgICAgICAgICAgIHR6SG91cnMgPSA4OworLSAgICAgICAgICAgIH0KKy0gICAgICAgICAgICBlbHNlIGlmICgodHpDaCA9PSBfWFBMQVRTVFIoJysnKSB8fCB0ekNoID09IF9YUExBVFNUUignLScpKSAmJiBhc2NpaV9pc2RpZ2l0MihzdHJbMV0pICYmCistICAgICAgICAgICAgICAgICAgICAgYXNjaWlfaXNkaWdpdChzdHJbMl0pICYmIGFzY2lpX2lzZGlnaXQ1KHN0clszXSkgJiYgYXNjaWlfaXNkaWdpdChzdHJbNF0pKQorLSAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgdHpDaCA9IHN0clswXTsKKy0gICAgICAgICAgICAgICAgdHpIb3VycyA9IGF0b2kyKHN0ciArIDEpOworLSAgICAgICAgICAgICAgICB0ek1pbnV0ZXMgPSBhdG9pMihzdHIgKyAzKTsKKy0gICAgICAgICAgICB9CistICAgICAgICAgICAgZWxzZQorLSAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKy0gICAgICAgICAgICB9CisrICAgICAgICBjb25zdCB3Y2hhcl90KiBmb3JtYXRTdHJpbmcgPSBMIiUzYywgJTJkICUzYyAlNGQgJTJkOiUyZDolMmQgJTNjIjsKKysgICAgICAgIGF1dG8gbiA9IHN3c2NhbmZfcyhkYXRlU3RyaW5nLmNfc3RyKCksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0U3RyaW5nLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVudXNlZC5kYXRhKCksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgdW51c2VkLnNpemUoKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3lzVGltZS53RGF5LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vbnRoLmRhdGEoKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBtb250aC5zaXplKCksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN5c1RpbWUud1llYXIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN5c1RpbWUud0hvdXIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN5c1RpbWUud01pbnV0ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3lzVGltZS53U2Vjb25kLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVudXNlZC5kYXRhKCksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgdW51c2VkLnNpemUoKSk7CisrCisrICAgICAgICBpZiAobiA9PSA4KQorKyAgICAgICAgeworKyAgICAgICAgICAgIHN0ZDo6d3N0cmluZyBtb250aG5hbWVzWzEyXSA9IHsKKysgICAgICAgICAgICAgICAgTCJKYW4iLCBMIkZlYiIsIEwiTWFyIiwgTCJBcHIiLCBMIk1heSIsIEwiSnVuIiwgTCJKdWwiLCBMIkF1ZyIsIEwiU2VwIiwgTCJPY3QiLCBMIk5vdiIsIEwiRGVjIn07CisrICAgICAgICAgICAgYXV0byBsb2MgPQorKyAgICAgICAgICAgICAgICBzdGQ6OmZpbmRfaWYobW9udGhuYW1lcywgbW9udGhuYW1lcyArIDEyLCBbJm1vbnRoXShjb25zdCBzdGQ6OndzdHJpbmcmIG0pIHsgcmV0dXJuIG0gPT0gbW9udGg7IH0pOworIAorLSAgICAgICAgICAgIHNlY29uZHMgPSB0aW1lem9uZV9hZGp1c3Qoc2Vjb25kcywgc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4odHpDaCksIHR6SG91cnMsIHR6TWludXRlcyk7CistICAgICAgICAgICAgaWYgKHNlY29uZHMgPCAwKQorKyAgICAgICAgICAgIGlmIChsb2MgIT0gbW9udGhuYW1lcyArIDEyKQorICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKysgICAgICAgICAgICAgICAgc3lzVGltZS53TW9udGggPSAoc2hvcnQpKChsb2MgLSBtb250aG5hbWVzKSArIDEpOworKyAgICAgICAgICAgICAgICBpZiAoc3lzdGVtX3R5cGVfdG9fZGF0ZXRpbWUoJnN5c1RpbWUsIHVmcmFjX3NlY29uZCwgJnJlc3VsdCkpCisrICAgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisrICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICB9CisgICAgICAgICB9CisgICAgIH0KKyAgICAgZWxzZSBpZiAoZm9ybWF0ID09IElTT184NjAxKQorICAgICB7CistICAgICAgICAvLyBwYXJzZSB5ZWFyCistICAgICAgICBpZiAoIWFzY2lpX2lzZGlnaXQzKHN0clswXSkgfHwgIWFzY2lpX2lzZGlnaXQoc3RyWzFdKSB8fCAhYXNjaWlfaXNkaWdpdChzdHJbMl0pIHx8ICFhc2NpaV9pc2RpZ2l0KHN0clszXSkpCistICAgICAgICB7CistICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKy0gICAgICAgIH0KKysgICAgICAgIC8vIFVubGlrZSBGSUxFVElNRSwgU1lTVEVNVElNRSBkb2VzIG5vdCBoYXZlIGVub3VnaCBwcmVjaXNpb24gdG8gaG9sZCBzZWNvbmRzIGluIDEwMCBuYW5vc2Vjb25kCisrICAgICAgICAvLyBpbmNyZW1lbnRzLiBUaGVyZWZvcmUsIHN0YXJ0IHdpdGggc2Vjb25kcyBhbmQgbWlsbGlzZWNvbmRzIHNldCB0byAwLCB0aGVuIGFkZCB0aGVtIHNlcGFyYXRlbHkKKyAKKy0gICAgICAgIHQudG1feWVhciA9IChzdHJbMF0gLSBfWFBMQVRTVFIoJzAnKSkgKiAxMDAwICsgKHN0clsxXSAtIF9YUExBVFNUUignMCcpKSAqIDEwMCArCistICAgICAgICAgICAgICAgICAgICAoc3RyWzJdIC0gX1hQTEFUU1RSKCcwJykpICogMTAgKyAoc3RyWzNdIC0gX1hQTEFUU1RSKCcwJykpOworLSAgICAgICAgaWYgKHQudG1feWVhciA8IDE5NzAgfHwgdC50bV95ZWFyID4gMzAwMCkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OworLSAgICAgICAgfQorKyAgICAgICAgLy8gVHJ5IHRvIGV4dHJhY3QgdGhlIGZyYWN0aW9uYWwgc2Vjb25kIGZyb20gdGhlIHRpbWVzdGFtcAorKyAgICAgICAgdXRpbGl0eTo6c3RyaW5nX3QgaW5wdXQ7CisrICAgICAgICBleHRyYWN0X2ZyYWN0aW9uYWxfc2Vjb25kKGRhdGVTdHJpbmcsIGlucHV0LCB1ZnJhY19zZWNvbmQpOworKyAgICAgICAgeworKyAgICAgICAgICAgIFNZU1RFTVRJTUUgc3lzVGltZSA9IHswfTsKKysgICAgICAgICAgICBjb25zdCB3Y2hhcl90KiBmb3JtYXRTdHJpbmcgPSBMIiU0ZC0lMmQtJTJkVCUyZDolMmQ6JTJkWiI7CisrICAgICAgICAgICAgYXV0byBuID0gc3dzY2FuZl9zKGlucHV0LmNfc3RyKCksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdFN0cmluZywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN5c1RpbWUud1llYXIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzeXNUaW1lLndNb250aCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN5c1RpbWUud0RheSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN5c1RpbWUud0hvdXIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzeXNUaW1lLndNaW51dGUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzeXNUaW1lLndTZWNvbmQpOworIAorLSAgICAgICAgc3RyICs9IDQ7CistICAgICAgICBpZiAoKnN0ciA9PSBfWFBMQVRTVFIoJy0nKSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICArK3N0cjsKKysgICAgICAgICAgICBpZiAobiA9PSAzIHx8IG4gPT0gNikKKysgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgIGlmIChzeXN0ZW1fdHlwZV90b19kYXRldGltZSgmc3lzVGltZSwgdWZyYWNfc2Vjb25kLCAmcmVzdWx0KSkKKysgICAgICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKysgICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgIH0KKyAgICAgICAgIH0KKy0KKy0gICAgICAgIC8vIHBhcnNlIG1vbnRoCistICAgICAgICBpZiAoIWFzY2lpX2lzZGlnaXQxKHN0clswXSkgfHwgIWFzY2lpX2lzZGlnaXQoc3RyWzFdKSkKKyAgICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OworLSAgICAgICAgfQorKyAgICAgICAgICAgIFNZU1RFTVRJTUUgc3lzVGltZSA9IHswfTsKKysgICAgICAgICAgICBEV09SRCBkYXRlID0gMDsKKyAKKy0gICAgICAgIHQudG1fbW9uID0gYXRvaTIoc3RyKTsKKy0gICAgICAgIGlmICh0LnRtX21vbiA8IDEgfHwgdC50bV9tb24gPiAxMikKKy0gICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OworLSAgICAgICAgfQorLQorLSAgICAgICAgdC50bV9tb24gLT0gMTsKKy0gICAgICAgIHN0ciArPSAyOworKyAgICAgICAgICAgIGNvbnN0IHdjaGFyX3QqIGZvcm1hdFN0cmluZyA9IEwiJThkVCUyZDolMmQ6JTJkWiI7CisrICAgICAgICAgICAgYXV0byBuID0gc3dzY2FuZl9zKGlucHV0LmNfc3RyKCksIGZvcm1hdFN0cmluZywgJmRhdGUsICZzeXNUaW1lLndIb3VyLCAmc3lzVGltZS53TWludXRlLCAmc3lzVGltZS53U2Vjb25kKTsKKyAKKy0gICAgICAgIGlmICgqc3RyID09IF9YUExBVFNUUignLScpKQorLSAgICAgICAgeworLSAgICAgICAgICAgICsrc3RyOworLSAgICAgICAgfQorKyAgICAgICAgICAgIGlmIChuID09IDEgfHwgbiA9PSA0KQorKyAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgc3lzVGltZS53RGF5ID0gZGF0ZSAlIDEwMDsKKysgICAgICAgICAgICAgICAgZGF0ZSAvPSAxMDA7CisrICAgICAgICAgICAgICAgIHN5c1RpbWUud01vbnRoID0gZGF0ZSAlIDEwMDsKKysgICAgICAgICAgICAgICAgZGF0ZSAvPSAxMDA7CisrICAgICAgICAgICAgICAgIHN5c1RpbWUud1llYXIgPSAoV09SRClkYXRlOworIAorLSAgICAgICAgLy8gcGFyc2UgZGF5CistICAgICAgICBpZiAoIWFzY2lpX2lzZGlnaXQzKHN0clswXSkgfHwgIWFzY2lpX2lzZGlnaXQoc3RyWzFdKSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OworKyAgICAgICAgICAgICAgICBpZiAoc3lzdGVtX3R5cGVfdG9fZGF0ZXRpbWUoJnN5c1RpbWUsIHVmcmFjX3NlY29uZCwgJnJlc3VsdCkpCisrICAgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisrICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICB9CisgICAgICAgICB9CistCistICAgICAgICB0LnRtX21kYXkgPSBhdG9pMihzdHIpOworLSAgICAgICAgaWYgKCF2YWxpZGF0ZV9kYXlfbW9udGgodC50bV9tZGF5LCB0LnRtX21vbiwgdC50bV95ZWFyKSkKKyAgICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OworLSAgICAgICAgfQorKyAgICAgICAgICAgIFNZU1RFTVRJTUUgc3lzVGltZSA9IHswfTsKKysgICAgICAgICAgICBHZXRTeXN0ZW1UaW1lKCZzeXNUaW1lKTsgLy8gRmlsbCBkYXRlIHBvcnRpb24gd2l0aCB0b2RheSdzIGluZm9ybWF0aW9uCisrICAgICAgICAgICAgc3lzVGltZS53U2Vjb25kID0gMDsKKysgICAgICAgICAgICBzeXNUaW1lLndNaWxsaXNlY29uZHMgPSAwOworIAorLSAgICAgICAgdC50bV95ZWFyIC09IDE5MDA7CistICAgICAgICBzdHIgKz0gMjsKKysgICAgICAgICAgICBjb25zdCB3Y2hhcl90KiBmb3JtYXRTdHJpbmcgPSBMIiUyZDolMmQ6JTJkWiI7CisrICAgICAgICAgICAgYXV0byBuID0gc3dzY2FuZl9zKGlucHV0LmNfc3RyKCksIGZvcm1hdFN0cmluZywgJnN5c1RpbWUud0hvdXIsICZzeXNUaW1lLndNaW51dGUsICZzeXNUaW1lLndTZWNvbmQpOworIAorLSAgICAgICAgaWYgKHN0clswXSAhPSBfWFBMQVRTVFIoJ1QnKSAmJiBzdHJbMF0gIT0gX1hQTEFUU1RSKCd0JykpCistICAgICAgICB7CistICAgICAgICAgICAgLy8gTm8gdGltZQorLSAgICAgICAgICAgIHNlY29uZHMgPSBtYWtlX2dtX3RpbWUoJnQpOworLSAgICAgICAgICAgIGlmIChzZWNvbmRzIDwgMCkKKysgICAgICAgICAgICBpZiAobiA9PSAzKQorICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKysgICAgICAgICAgICAgICAgaWYgKHN5c3RlbV90eXBlX3RvX2RhdGV0aW1lKCZzeXNUaW1lLCB1ZnJhY19zZWNvbmQsICZyZXN1bHQpKQorKyAgICAgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgfQorLQorLSAgICAgICAgICAgIHNlY29uZHMgKz0gbnRUb1VuaXhPZmZzZXRTZWNvbmRzOworLSAgICAgICAgICAgIHJlc3VsdC5tX2ludGVydmFsID0gc3RhdGljX2Nhc3Q8aW50ZXJ2YWxfdHlwZT4oc2Vjb25kcykgKiBfc2Vjb25kVGlja3M7CistICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAgICAgIH0KKysgICAgfQorIAorLSAgICAgICAgKytzdHI7IC8vIHNraXAgJ1QnCisrICAgIHJldHVybiBkYXRldGltZSgpOworKyNlbHNlCisrICAgIHN0ZDo6c3RyaW5nIGlucHV0KGRhdGVTdHJpbmcpOworIAorLSAgICAgICAgLy8gcGFyc2UgaG91cgorLSAgICAgICAgaWYgKCFhc2NpaV9pc2RpZ2l0MihzdHJbMF0pIHx8ICFhc2NpaV9pc2RpZ2l0KHN0clsxXSkpCistICAgICAgICB7CistICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKy0gICAgICAgIH0KKysgICAgc3RydWN0IHRtIG91dHB1dCA9IHRtKCk7CisgCistICAgICAgICB0LnRtX2hvdXIgPSBhdG9pMihzdHIpOworLSAgICAgICAgc3RyICs9IDI7CistICAgICAgICBpZiAodC50bV9ob3VyID4gMjMpCistICAgICAgICB7CistICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKy0gICAgICAgIH0KKysgICAgaWYgKGZvcm1hdCA9PSBSRkNfMTEyMykKKysgICAgeworKyAgICAgICAgc3RycHRpbWUoaW5wdXQuZGF0YSgpLCAiJWEsICVkICViICVZICVIOiVNOiVTIEdNVCIsICZvdXRwdXQpOworKyAgICB9CisrICAgIGVsc2UKKysgICAgeworKyAgICAgICAgLy8gVHJ5IHRvIGV4dHJhY3QgdGhlIGZyYWN0aW9uYWwgc2Vjb25kIGZyb20gdGhlIHRpbWVzdGFtcAorKyAgICAgICAgdXRpbGl0eTo6c3RyaW5nX3QgaW5wdXQ7CisrICAgICAgICBleHRyYWN0X2ZyYWN0aW9uYWxfc2Vjb25kKGRhdGVTdHJpbmcsIGlucHV0LCB1ZnJhY19zZWNvbmQpOworIAorLSAgICAgICAgaWYgKCpzdHIgPT0gX1hQTEFUU1RSKCc6JykpCistICAgICAgICB7CistICAgICAgICAgICAgKytzdHI7CistICAgICAgICB9CisrICAgICAgICBhdXRvIHJlc3VsdCA9IHN0cnB0aW1lKGlucHV0LmRhdGEoKSwgIiVZLSVtLSVkVCVIOiVNOiVTWiIsICZvdXRwdXQpOworIAorLSAgICAgICAgLy8gcGFyc2UgbWludXRlCistICAgICAgICBpZiAoIWFzY2lpX2lzZGlnaXQ1KHN0clswXSkgfHwgIWFzY2lpX2lzZGlnaXQoc3RyWzFdKSkKKysgICAgICAgIGlmIChyZXN1bHQgPT0gbnVsbHB0cikKKyAgICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OworKyAgICAgICAgICAgIHJlc3VsdCA9IHN0cnB0aW1lKGlucHV0LmRhdGEoKSwgIiVZJW0lZFQlSDolTTolU1oiLCAmb3V0cHV0KTsKKyAgICAgICAgIH0KKy0gICAgICAgIHQudG1fbWluID0gYXRvaTIoc3RyKTsKKy0gICAgICAgIC8vIHQudG1fbWluID4gNTkgaXMgaW1wb3NzaWJsZSBiZWNhdXNlIHdlIGNoZWNrZWQgdGhhdCB0aGUgZmlyc3QgZGlnaXQgaXMgPD0gNSBpbiB0aGUgYmFzaWMgZm9ybWF0CistICAgICAgICAvLyBjaGVjayBhYm92ZQorLQorLSAgICAgICAgc3RyICs9IDI7CistCistICAgICAgICBpZiAoKnN0ciA9PSBfWFBMQVRTVFIoJzonKSkKKysgICAgICAgIGlmIChyZXN1bHQgPT0gbnVsbHB0cikKKyAgICAgICAgIHsKKy0gICAgICAgICAgICArK3N0cjsKKysgICAgICAgICAgICAvLyBGaWxsIHRoZSBkYXRlIHBvcnRpb24gd2l0aCB0aGUgZXBvY2gsCisrICAgICAgICAgICAgLy8gc3RycHRpbWUgd2lsbCBkbyB0aGUgcmVzdAorKyAgICAgICAgICAgIG1lbXNldCgmb3V0cHV0LCAwLCBzaXplb2Yoc3RydWN0IHRtKSk7CisrICAgICAgICAgICAgb3V0cHV0LnRtX3llYXIgPSA3MDsKKysgICAgICAgICAgICBvdXRwdXQudG1fbW9uID0gMTsKKysgICAgICAgICAgICBvdXRwdXQudG1fbWRheSA9IDE7CisrICAgICAgICAgICAgcmVzdWx0ID0gc3RycHRpbWUoaW5wdXQuZGF0YSgpLCAiJUg6JU06JVNaIiwgJm91dHB1dCk7CisgICAgICAgICB9CistCistICAgICAgICAvLyBwYXJzZSBzZWNvbmRzCistICAgICAgICBpZiAoIWFzY2lpX2lzZGlnaXQ2KHN0clswXSkgfHwgIWFzY2lpX2lzZGlnaXQoc3RyWzFdKSkKKysgICAgICAgIGlmIChyZXN1bHQgPT0gbnVsbHB0cikKKyAgICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OworKyAgICAgICAgICAgIHJlc3VsdCA9IHN0cnB0aW1lKGlucHV0LmRhdGEoKSwgIiVZLSVtLSVkIiwgJm91dHB1dCk7CisgICAgICAgICB9CistCistICAgICAgICB0LnRtX3NlYyA9IGF0b2kyKHN0cik7CistICAgICAgICAvLyBXZSBhbGxvdyA2MCB0byBhY2NvdW50IGZvciBsZWFwIHNlY29uZHMKKy0gICAgICAgIGlmICh0LnRtX3NlYyA+IDYwKQorKyAgICAgICAgaWYgKHJlc3VsdCA9PSBudWxscHRyKQorICAgICAgICAgeworLSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisrICAgICAgICAgICAgcmVzdWx0ID0gc3RycHRpbWUoaW5wdXQuZGF0YSgpLCAiJVklbSVkIiwgJm91dHB1dCk7CisgICAgICAgICB9CistCistICAgICAgICBzdHIgKz0gMjsKKy0gICAgICAgIGlmIChzdHJbMF0gPT0gX1hQTEFUU1RSKCcuJykgJiYgYXNjaWlfaXNkaWdpdChzdHJbMV0pKQorKyAgICAgICAgaWYgKHJlc3VsdCA9PSBudWxscHRyKQorICAgICAgICAgeworLSAgICAgICAgICAgICsrc3RyOworLSAgICAgICAgICAgIGludCBkaWdpdHMgPSA3OworLSAgICAgICAgICAgIGZvciAoOzspCistICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICBmcmFjX3NlYyAqPSAxMDsKKy0gICAgICAgICAgICAgICAgZnJhY19zZWMgKz0gKnN0ciAtIF9YUExBVFNUUignMCcpOworLSAgICAgICAgICAgICAgICAtLWRpZ2l0czsKKy0gICAgICAgICAgICAgICAgKytzdHI7CistICAgICAgICAgICAgICAgIGlmIChkaWdpdHMgPT0gMCkKKy0gICAgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGFzY2lpX2lzZGlnaXQoKnN0cikpCistICAgICAgICAgICAgICAgICAgICB7CistICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc3VtZSByZW1haW5pbmcgZnJhY3Rpb25hbCBzZWNvbmQgZGlnaXRzIHdlIGNhbid0IHVzZQorLSAgICAgICAgICAgICAgICAgICAgICAgICsrc3RyOworLSAgICAgICAgICAgICAgICAgICAgfQorLQorLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7CistICAgICAgICAgICAgICAgIH0KKy0KKy0gICAgICAgICAgICAgICAgaWYgKCFhc2NpaV9pc2RpZ2l0KCpzdHIpKQorLSAgICAgICAgICAgICAgICB7CistICAgICAgICAgICAgICAgICAgICAvLyBubyBtb3JlIGRpZ2l0cyBpbiB0aGUgaW5wdXQsIGRvIHRoZSByZW1haW5pbmcgbXVsdGlwbGllcyB3ZSBuZWVkCistICAgICAgICAgICAgICAgICAgICBmb3IgKDsgZGlnaXRzICE9IDA7IC0tZGlnaXRzKQorLSAgICAgICAgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICAgICAgICAgIGZyYWNfc2VjICo9IDEwOworLSAgICAgICAgICAgICAgICAgICAgfQorLQorLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7CistICAgICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICB9CisrICAgICAgICAgICAgcmV0dXJuIGRhdGV0aW1lKCk7CisgICAgICAgICB9CisrICAgIH0KKyAKKy0gICAgICAgIHNlY29uZHMgPSBtYWtlX2dtX3RpbWUoJnQpOworLSAgICAgICAgaWYgKHNlY29uZHMgPCAwKQorLSAgICAgICAgeworLSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CistICAgICAgICB9CisrI2lmIChkZWZpbmVkKEFORFJPSUQpIHx8IGRlZmluZWQoX19BTkRST0lEX18pKQorKyAgICAvLyBIQUNLOiBUaGUgKG5vbnBvcnRhYmxlPykgUE9TSVggZnVuY3Rpb24gdGltZWdtIGlzIG5vdCBhdmFpbGFibGUgaW4KKysgICAgLy8gICAgICAgYmlvbmljLiBBcyBhIHdvcmthcm91bmRbMV1bMl0sIHdlIHNldCB0aGUgQyBsaWJyYXJ5IHRpbWV6b25lIHRvCisrICAgIC8vICAgICAgIFVUQywgY2FsbCBta3RpbWUsIHRoZW4gc2V0IHRoZSB0aW1lem9uZSBiYWNrLiBIb3dldmVyLCB0aGUgQworKyAgICAvLyAgICAgICBlbnZpcm9ubWVudCBpcyBmdW5kYW1lbnRhbGx5IGEgc2hhcmVkIGdsb2JhbCByZXNvdXJjZSBhbmQgdGhyZWFkLQorKyAgICAvLyAgICAgICB1bnNhZmUuIFdlIGNhbiBwcm90ZWN0IG91ciB1c2FnZSBoZXJlLCBob3dldmVyIGFueSBvdGhlciBjb2RlIG1pZ2h0CisrICAgIC8vICAgICAgIG1hbmlwdWxhdGUgdGhlIGVudmlyb25tZW50IGF0IHRoZSBzYW1lIHRpbWUuCisrICAgIC8vCisrICAgIC8vIFsxXSBodHRwOi8vbGludXguZGllLm5ldC9tYW4vMy90aW1lZ20KKysgICAgLy8gWzJdIGh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9saWJjL21hbnVhbC9odG1sX25vZGUvQnJva2VuXzAwMmRkb3duLVRpbWUuaHRtbAorKyAgICB0aW1lX3QgdGltZTsKKyAKKy0gICAgICAgIGlmIChzdHJbMF0gPT0gX1hQTEFUU1RSKCdaJykgfHwgc3RyWzBdID09IF9YUExBVFNUUigneicpKQorKyAgICBzdGF0aWMgYm9vc3Q6Om11dGV4IGVudl92YXJfbG9jazsKKysgICAgeworKyAgICAgICAgYm9vc3Q6OmxvY2tfZ3VhcmQ8Ym9vc3Q6Om11dGV4PiBsb2NrKGVudl92YXJfbG9jayk7CisrICAgICAgICBzdGQ6OnN0cmluZyBwcmV2X2VudjsKKysgICAgICAgIGF1dG8gcHJldl9lbnZfY3N0ciA9IGdldGVudigiVFoiKTsKKysgICAgICAgIGlmIChwcmV2X2Vudl9jc3RyICE9IG51bGxwdHIpCisgICAgICAgICB7CistICAgICAgICAgICAgLy8gbm8gYWRqdXN0bWVudCBuZWVkZWQgZm9yIHp1bHUgdGltZQorKyAgICAgICAgICAgIHByZXZfZW52ID0gcHJldl9lbnZfY3N0cjsKKyAgICAgICAgIH0KKy0gICAgICAgIGVsc2UgaWYgKHN0clswXSA9PSBfWFBMQVRTVFIoJysnKSB8fCBzdHJbMF0gPT0gX1hQTEFUU1RSKCctJykpCistICAgICAgICB7CistICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciBvZmZzZXREaXJlY3Rpb24gPSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyPihzdHJbMF0pOworLSAgICAgICAgICAgIGlmICghYXNjaWlfaXNkaWdpdDIoc3RyWzFdKSB8fCAhYXNjaWlfaXNkaWdpdChzdHJbMl0pIHx8IHN0clszXSAhPSBfWFBMQVRTVFIoJzonKSB8fAorLSAgICAgICAgICAgICAgICAhYXNjaWlfaXNkaWdpdDUoc3RyWzRdKSB8fCAhYXNjaWlfaXNkaWdpdChzdHJbNV0pKQorLSAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKy0gICAgICAgICAgICB9CisrICAgICAgICBzZXRlbnYoIlRaIiwgIlVUQyIsIDEpOworIAorLSAgICAgICAgICAgIHNlY29uZHMgPSB0aW1lem9uZV9hZGp1c3Qoc2Vjb25kcywgb2Zmc2V0RGlyZWN0aW9uLCBhdG9pMihzdHIgKyAxKSwgYXRvaTIoc3RyICsgNCkpOworLSAgICAgICAgICAgIGlmIChzZWNvbmRzIDwgMCkKKy0gICAgICAgICAgICB7CistICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CistICAgICAgICAgICAgfQorKyAgICAgICAgdGltZSA9IG1rdGltZSgmb3V0cHV0KTsKKysKKysgICAgICAgIGlmIChwcmV2X2Vudl9jc3RyKQorKyAgICAgICAgeworKyAgICAgICAgICAgIHNldGVudigiVFoiLCBwcmV2X2Vudi5jX3N0cigpLCAxKTsKKyAgICAgICAgIH0KKyAgICAgICAgIGVsc2UKKyAgICAgICAgIHsKKy0gICAgICAgICAgICAvLyB0aGUgdGltZXpvbmUgaXMgbWFsZm9ybWVkLCBidXQgY3BwcmVzdHNkayBjdXJyZW50bHkgYWNjZXB0cyB0aGlzIGFzIG5vIHRpbWV6b25lCisrICAgICAgICAgICAgdW5zZXRlbnYoIlRaIik7CisgICAgICAgICB9CisgICAgIH0KKy0gICAgZWxzZQorLSAgICB7CistICAgICAgICB0aHJvdyBzdGQ6OmludmFsaWRfYXJndW1lbnQoInVucmVjb2duaXplZCBkYXRlIGZvcm1hdCIpOworLSAgICB9CisrI2Vsc2UKKysgICAgdGltZV90IHRpbWUgPSB0aW1lZ20oJm91dHB1dCk7CisrI2VuZGlmCisrCisrICAgIHN0cnVjdCB0aW1ldmFsIHR2ID0gdGltZXZhbCgpOworKyAgICB0di50dl9zZWMgPSB0aW1lOworKyAgICBhdXRvIHJlc3VsdCA9IHRpbWV2YWxfdG9fZGF0ZXRpbWUodHYpOworIAorLSAgICBzZWNvbmRzICs9IG50VG9Vbml4T2Zmc2V0U2Vjb25kczsKKy0gICAgcmVzdWx0Lm1faW50ZXJ2YWwgPSBzdGF0aWNfY2FzdDxpbnRlcnZhbF90eXBlPihzZWNvbmRzKSAqIF9zZWNvbmRUaWNrcyArIGZyYWNfc2VjOworKyAgICAvLyBmcmFjdGlvbmFsIHNlY29uZHMgYXJlIGFscmVhZHkgaW4gY29ycmVjdCBmb3JtYXQgc28ganVzdCBhZGQgdGhlbS4KKysgICAgcmVzdWx0ID0gcmVzdWx0ICsgdWZyYWNfc2Vjb25kOworICAgICByZXR1cm4gcmVzdWx0OworKyNlbmRpZgorIH0KKyAKKyAvLy8gPHN1bW1hcnk+CitAQCAtMTM1OCwzMiArMTE4MSwzOCBAQCB1dGlsaXR5OjpzZWNvbmRzIF9fY2RlY2wgdGltZXNwYW46OnhtbF9kCisgICAgIC8vIFRoZSBmaW5hbCBTIGNvdWxkIGJlIG9taXR0ZWQKKyAKKyAgICAgaW50NjRfdCBudW1TZWNzID0gMDsKKy0gICAgYXV0byBjdXJzb3IgPSB0aW1lc3BhblN0cmluZy5jX3N0cigpOworLSAgICBhdXRvIGMgPSAqY3Vyc29yKys7IC8vIHNraXAgJ1AnCistICAgIHdoaWxlIChjKQorKworKyAgICB1dGlsaXR5Ojppc3RyaW5nc3RyZWFtX3QgaXModGltZXNwYW5TdHJpbmcpOworKyAgICBpcy5pbWJ1ZShzdGQ6OmxvY2FsZTo6Y2xhc3NpYygpKTsKKysgICAgYXV0byBlb2YgPSBzdGQ6OmNoYXJfdHJhaXRzPHV0aWxpdHk6OmNoYXJfdD46OmVvZigpOworKworKyAgICBzdGQ6OmJhc2ljX2lzdHJlYW08dXRpbGl0eTo6Y2hhcl90Pjo6aW50X3R5cGUgYzsKKysgICAgYyA9IGlzLmdldCgpOyAvLyBQCisrCisrICAgIHdoaWxlIChjICE9IGVvZikKKyAgICAgeworICAgICAgICAgaW50IHZhbCA9IDA7CistICAgICAgICBjID0gKmN1cnNvcisrOworKyAgICAgICAgYyA9IGlzLmdldCgpOworIAorLSAgICAgICAgd2hpbGUgKGFzY2lpX2lzZGlnaXQoYykpCisrICAgICAgICB3aGlsZSAoaXNfZGlnaXQoKHV0aWxpdHk6OmNoYXJfdCljKSkKKyAgICAgICAgIHsKKy0gICAgICAgICAgICB2YWwgPSB2YWwgKiAxMCArIChjIC0gX1hQTEFUU1RSKCcwJykpOworLSAgICAgICAgICAgIGMgPSAqY3Vyc29yKys7CisrICAgICAgICAgICAgdmFsID0gdmFsICogMTAgKyAoYyAtIEwnMCcpOworKyAgICAgICAgICAgIGMgPSBpcy5nZXQoKTsKKyAKKy0gICAgICAgICAgICBpZiAoYyA9PSBfWFBMQVRTVFIoJy4nKSkKKysgICAgICAgICAgICBpZiAoYyA9PSAnLicpCisgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAvLyBkZWNpbWFsIHBvaW50IGlzIG5vdCBoYW5kbGVkCisgICAgICAgICAgICAgICAgIGRvCisgICAgICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgICAgIGMgPSAqY3Vyc29yKys7CistICAgICAgICAgICAgICAgIH0gd2hpbGUgKGFzY2lpX2lzZGlnaXQoYykpOworKyAgICAgICAgICAgICAgICAgICAgYyA9IGlzLmdldCgpOworKyAgICAgICAgICAgICAgICB9IHdoaWxlIChpc19kaWdpdCgodXRpbGl0eTo6Y2hhcl90KWMpKTsKKyAgICAgICAgICAgICB9CisgICAgICAgICB9CisgCistICAgICAgICBpZiAoYyA9PSBfWFBMQVRTVFIoJ0QnKSkgbnVtU2VjcyArPSB2YWwgKiAyNCAqIDM2MDA7IC8vIGRheXMKKy0gICAgICAgIGlmIChjID09IF9YUExBVFNUUignSCcpKSBudW1TZWNzICs9IHZhbCAqIDM2MDA7ICAgICAgLy8gSG91cnMKKy0gICAgICAgIGlmIChjID09IF9YUExBVFNUUignTScpKSBudW1TZWNzICs9IHZhbCAqIDYwOyAgICAgICAgLy8gTWludXRlcworLSAgICAgICAgaWYgKGMgPT0gX1hQTEFUU1RSKCdTJykgfHwgYyA9PSBfWFBMQVRTVFIoJ1wwJykpCisrICAgICAgICBpZiAoYyA9PSBMJ0QnKSBudW1TZWNzICs9IHZhbCAqIDI0ICogMzYwMDsgLy8gZGF5cworKyAgICAgICAgaWYgKGMgPT0gTCdIJykgbnVtU2VjcyArPSB2YWwgKiAzNjAwOyAgICAgIC8vIEhvdXJzCisrICAgICAgICBpZiAoYyA9PSBMJ00nKSBudW1TZWNzICs9IHZhbCAqIDYwOyAgICAgICAgLy8gTWludXRlcworKyAgICAgICAgaWYgKGMgPT0gTCdTJyB8fCBjID09IGVvZikKKyAgICAgICAgIHsKKyAgICAgICAgICAgICBudW1TZWNzICs9IHZhbDsgLy8gc2Vjb25kcworICAgICAgICAgICAgIGJyZWFrOworQEAgLTEzOTMsMTIgKzEyMjIsMTIgQEAgdXRpbGl0eTo6c2Vjb25kcyBfX2NkZWNsIHRpbWVzcGFuOjp4bWxfZAorICAgICByZXR1cm4gdXRpbGl0eTo6c2Vjb25kcyhudW1TZWNzKTsKKyB9CisgCistc3RhdGljIGNvbnN0IHV0aWxpdHk6OmNoYXJfdCBjX2FsbG93ZWRfY2hhcnNbXSA9CistICAgIF9YUExBVFNUUigiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkiKTsKKytjb25zdCB1dGlsaXR5OjpzdHJpbmdfdCBub25jZV9nZW5lcmF0b3I6OmNfYWxsb3dlZF9jaGFycygKKysgICAgX1hQTEFUU1RSKCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSIpKTsKKyAKKyB1dGlsaXR5OjpzdHJpbmdfdCBub25jZV9nZW5lcmF0b3I6OmdlbmVyYXRlKCkKKyB7CistICAgIHN0ZDo6dW5pZm9ybV9pbnRfZGlzdHJpYnV0aW9uPD4gZGlzdHIoMCwgc3RhdGljX2Nhc3Q8aW50PihzaXplb2YoY19hbGxvd2VkX2NoYXJzKSAvIHNpemVvZih1dGlsaXR5OjpjaGFyX3QpKSAtIDEpOworKyAgICBzdGQ6OnVuaWZvcm1faW50X2Rpc3RyaWJ1dGlvbjw+IGRpc3RyKDAsIHN0YXRpY19jYXN0PGludD4oY19hbGxvd2VkX2NoYXJzLmxlbmd0aCgpIC0gMSkpOworICAgICB1dGlsaXR5OjpzdHJpbmdfdCByZXN1bHQ7CisgICAgIHJlc3VsdC5yZXNlcnZlKGxlbmd0aCgpKTsKKyAgICAgc3RkOjpnZW5lcmF0ZV9uKHN0ZDo6YmFja19pbnNlcnRlcihyZXN1bHQpLCBsZW5ndGgoKSwgWyZdKCkgeyByZXR1cm4gY19hbGxvd2VkX2NoYXJzW2Rpc3RyKG1fcmFuZG9tKV07IH0pOworLS0tIGNwcHJlc3QtMi4xMC4xMi5vcmlnL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC91dGlscy9kYXRldGltZS5jcHAKKysrKyBjcHByZXN0LTIuMTAuMTIvUmVsZWFzZS90ZXN0cy9mdW5jdGlvbmFsL3V0aWxzL2RhdGV0aW1lLmNwcAorQEAgLTc0LDYgKzc0LDE2IEBAIFNVSVRFKGRhdGV0aW1lKQorICAgICAgICAgfQorICAgICB9CisgCisrICAgIFRFU1QocGFyc2luZ190aW1lX2V4dGVuZGVkKQorKyAgICB7CisrICAgICAgICAvLyBJU08gODYwMQorKyAgICAgICAgeworKyAgICAgICAgICAgIGF1dG8gZHQgPSB1dGlsaXR5OjpkYXRldGltZTo6ZnJvbV9zdHJpbmcoX1hQTEFUU1RSKCIxNDozMDowMVoiKSwgdXRpbGl0eTo6ZGF0ZXRpbWU6OklTT184NjAxKTsKKysKKysgICAgICAgICAgICBWRVJJRllfQVJFX05PVF9FUVVBTCgwdSwgZHQudG9faW50ZXJ2YWwoKSk7CisrICAgICAgICB9CisrICAgIH0KKysKKyAgICAgdm9pZCBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAodXRpbGl0eTo6c3RyaW5nX3Qgc3RyLCB1dGlsaXR5OjpzdHJpbmdfdCBzdHJFeHBlY3RlZCkKKyAgICAgeworICAgICAgICAgYXV0byBkdCA9IHV0aWxpdHk6OmRhdGV0aW1lOjpmcm9tX3N0cmluZyhzdHIsIHV0aWxpdHk6OmRhdGV0aW1lOjpJU09fODYwMSk7CitAQCAtOTEsOCArMTAxLDYgQEAgU1VJVEUoZGF0ZXRpbWUpCisgCisgICAgIFRFU1QocGFyc2luZ190aW1lX3JvdW5kdHJpcF9kYXRldGltZTIpCisgICAgIHsKKy0gICAgICAgIC8vIGxvc2UgdGhlIGxhc3QgJzAwMCcKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjIwMTMtMTEtMTlUMTQ6MzA6NTkuMTIzNDU2NzAwMFoiKSwgX1hQTEFUU1RSKCIyMDEzLTExLTE5VDE0OjMwOjU5LjEyMzQ1NjdaIikpOworICAgICAgICAgLy8gbG9zZSB0aGUgbGFzdCAnOTk5JyB3aXRob3V0IHJvdW5kaW5nIHVwCisgICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIyMDEzLTExLTE5VDE0OjMwOjU5LjEyMzQ1Njc5OTlaIiksIF9YUExBVFNUUigiMjAxMy0xMS0xOVQxNDozMDo1OS4xMjM0NTY3WiIpKTsKKyAgICAgfQorQEAgLTEyMSwyNjAgKzEyOSwxNiBAQCBTVUlURShkYXRldGltZSkKKyAgICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjIwMTMtMTEtMTlUMTQ6MzA6NTkuNVoiKSk7CisgICAgIH0KKyAKKy0gICAgdm9pZCBUZXN0UmZjMTEyM0lzVGltZVQoY29uc3QgdXRpbGl0eTo6Y2hhcl90KiBzdHIsIHRpbWVfdCB0KQorLSAgICB7CistICAgICAgICBkYXRldGltZSBkdCA9IGRhdGV0aW1lOjpmcm9tX3N0cmluZyhzdHIsIHV0aWxpdHk6OmRhdGV0aW1lOjpSRkNfMTEyMyk7CistICAgICAgICB1aW50NjRfdCBpbnRlcnZhbCA9IGR0LnRvX2ludGVydmFsKCk7CistICAgICAgICBWRVJJRllfQVJFX0VRVUFMKDAsIGludGVydmFsICUgMTAwMDAwMDApOworLSAgICAgICAgaW50ZXJ2YWwgLz0gMTAwMDAwMDA7CistICAgICAgICBpbnRlcnZhbCAtPSAxMTY0NDQ3MzYwMDsgLy8gTlQgZXBvY2ggYWRqdXN0bWVudAorLSAgICAgICAgVkVSSUZZX0FSRV9FUVVBTChzdGF0aWNfY2FzdDx1aW50NjRfdD4odCksIGludGVydmFsKTsKKy0gICAgfQorLQorLSAgICBURVNUKHBhcnNpbmdfdGltZV9yZmMxMTIzX2FjY2VwdHNfZWFjaF9kYXkpCistICAgIHsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjAxIEphbiAxOTcwIDAwOjAwOjAwIEdNVCIpLCAodGltZV90KSAwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIkZyaSwgMDIgSmFuIDE5NzAgMDA6MDA6MDAgR01UIiksICh0aW1lX3QpIDg2NDAwICogMSk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCJTYXQsIDAzIEphbiAxOTcwIDAwOjAwOjAwIEdNVCIpLCAodGltZV90KSA4NjQwMCAqIDIpOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiU3VuLCAwNCBKYW4gMTk3MCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgODY0MDAgKiAzKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIk1vbiwgMDUgSmFuIDE5NzAgMDA6MDA6MDAgR01UIiksICh0aW1lX3QpIDg2NDAwICogNCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCJUdWUsIDA2IEphbiAxOTcwIDAwOjAwOjAwIEdNVCIpLCAodGltZV90KSA4NjQwMCAqIDUpOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiV2VkLCAwNyBKYW4gMTk3MCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgODY0MDAgKiA2KTsKKy0gICAgfQorLQorLSAgICBURVNUKHBhcnNpbmdfdGltZV9yZmMxMTIzX2JvdW5kYXJ5X2Nhc2VzKQorLSAgICB7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIwMSBKYW4gMTk3MCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIxOSBKYW4gMjAzOCAwMzoxNDowNiBHTVQiKSwgKHRpbWVfdCkgSU5UX01BWCAtIDEpOworLSNpZm5kZWYgX1VTRV8zMkJJVF9USU1FX1QKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjE5IEphbiAyMDM4IDAzOjEzOjA3IC0wMDAxIiksICh0aW1lX3QpIElOVF9NQVgpOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMTkgSmFuIDIwMzggMDM6MTQ6MDcgLTAwMDAiKSwgKHRpbWVfdCkgSU5UX01BWCk7CistI2VuZGlmIC8vIF9VU0VfMzJCSVRfVElNRV9UCistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIxNCBKYW4gMjAxOSAyMzoxNjoyMSArMDAwMCIpLCAodGltZV90KSAxNTQ3NTA3NzgxKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjE0IEphbiAyMDE5IDIzOjE2OjIxIC0wMDAxIiksICh0aW1lX3QpIDE1NDc1MDc4NDEpOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMTQgSmFuIDIwMTkgMjM6MTY6MjEgKzAwMDEiKSwgKHRpbWVfdCkgMTU0NzUwNzcyMSk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIxNCBKYW4gMjAxOSAyMzoxNjoyMSAtMDEwMCIpLCAodGltZV90KSAxNTQ3NTExMzgxKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjE0IEphbiAyMDE5IDIzOjE2OjIxICswMTAwIiksICh0aW1lX3QpIDE1NDc1MDQxODEpOworLSAgICB9CistCistICAgIFRFU1QocGFyc2luZ190aW1lX3JmYzExMjNfdXNlc19lYWNoX2ZpZWxkKQorLSAgICB7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIwMiBKYW4gMTk3MCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgODY0MDApOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMTIgSmFuIDE5NzAgMDA6MDA6MDAgR01UIiksICh0aW1lX3QpIDk1MDQwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIwMSBGZWIgMTk3MCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgMjY3ODQwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIwMSBKYW4gMjAwMCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgOTQ2Njg0ODAwKTsKKy0jaWZuZGVmIF9VU0VfMzJCSVRfVElNRV9UCistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIwMSBKYW4gMjEwMCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgNDEwMjQ0NDgwMCk7CistI2VuZGlmIC8vIF9VU0VfMzJCSVRfVElNRV9UCistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIwMSBKYW4gMTk5MCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgNjMxMTUyMDAwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjAxIEphbiAxOTcxIDAwOjAwOjAwIEdNVCIpLCAodGltZV90KSAzMTUzNjAwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIwMSBKYW4gMTk3MCAxMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgMzYwMDApOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMDEgSmFuIDE5NzAgMDE6MDA6MDAgR01UIiksICh0aW1lX3QpIDM2MDApOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMDEgSmFuIDE5NzAgMDA6MTA6MDAgR01UIiksICh0aW1lX3QpIDYwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIwMSBKYW4gMTk3MCAwMDowMTowMCBHTVQiKSwgKHRpbWVfdCkgNjApOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMDEgSmFuIDE5NzAgMDA6MDA6MTAgR01UIiksICh0aW1lX3QpIDEwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjAxIEphbiAxOTcwIDAwOjAwOjAxIEdNVCIpLCAodGltZV90KSAxKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjAxIEphbiAxOTcwIDEwOjAwOjAwIEdNVCIpLCAodGltZV90KSAzNjAwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIwMSBKYW4gMTk3MCAwMjowMDowMCBQU1QiKSwgKHRpbWVfdCkgMzYwMDApOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMDEgSmFuIDE5NzAgMDM6MDA6MDAgUERUIiksICh0aW1lX3QpIDM2MDAwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjAxIEphbiAxOTcwIDAzOjAwOjAwIE1TVCIpLCAodGltZV90KSAzNjAwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIwMSBKYW4gMTk3MCAwNDowMDowMCBNRFQiKSwgKHRpbWVfdCkgMzYwMDApOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMDEgSmFuIDE5NzAgMDQ6MDA6MDAgQ1NUIiksICh0aW1lX3QpIDM2MDAwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjAxIEphbiAxOTcwIDA1OjAwOjAwIENEVCIpLCAodGltZV90KSAzNjAwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIwMSBKYW4gMTk3MCAwNTowMDowMCBFU1QiKSwgKHRpbWVfdCkgMzYwMDApOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMDEgSmFuIDE5NzAgMDY6MDA6MDAgRURUIiksICh0aW1lX3QpIDM2MDAwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjAxIEphbiAxOTcwIDA2OjAwOjAwIC0wNDAwIiksICh0aW1lX3QpIDM2MDAwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjAxIEphbiAxOTcwIDA1OjU5OjAwIC0wNDAxIiksICh0aW1lX3QpIDM2MDAwKTsKKy0gICAgfQorLQorLSAgICBURVNUKHBhcnNpbmdfdGltZV9yZmMxMTIzX21heF9kYXlzKQorLSAgICB7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIzMSBKYW4gMTk3MCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgMjU5MjAwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIyOCBGZWIgMjAxOSAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgMTU1MTMxMjAwMCk7IC8vIG5vbiBsZWFwIHllYXIgYWxsb3dzIGZlYiAyOAorLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMjkgRmViIDIwMjAgMDA6MDA6MDAgR01UIiksICh0aW1lX3QpIDE1ODI5MzQ0MDApOyAvLyBsZWFwIHllYXIgYWxsb3dzIGZlYiAyOQorLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMzEgTWFyIDE5NzAgMDA6MDA6MDAgR01UIiksICh0aW1lX3QpIDc2ODk2MDApOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMzAgQXByIDE5NzAgMDA6MDA6MDAgR01UIiksICh0aW1lX3QpIDEwMjgxNjAwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjMxIE1heSAxOTcwIDAwOjAwOjAwIEdNVCIpLCAodGltZV90KSAxMjk2MDAwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIzMCBKdW4gMTk3MCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgMTU1NTIwMDApOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMzEgSnVsIDE5NzAgMDA6MDA6MDAgR01UIiksICh0aW1lX3QpIDE4MjMwNDAwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjMxIEF1ZyAxOTcwIDAwOjAwOjAwIEdNVCIpLCAodGltZV90KSAyMDkwODgwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIzMCBTZXAgMTk3MCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgMjM1MDA4MDApOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMzEgT2N0IDE5NzAgMDA6MDA6MDAgR01UIiksICh0aW1lX3QpIDI2MTc5MjAwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjMwIE5vdiAxOTcwIDAwOjAwOjAwIEdNVCIpLCAodGltZV90KSAyODc3MTIwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIzMSBEZWMgMTk3MCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgMzE0NDk2MDApOworLSAgICB9CistCistICAgIFRFU1QocGFyc2luZ190aW1lX3JmYzExMjNfaW52YWxpZF9jYXNlcykKKy0gICAgeworLSAgICAgICAgY29uc3QgdXRpbGl0eTo6c3RyaW5nX3QgYmFkX3N0cmluZ3NbXSA9IHsKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIkFodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAgR01UIiksIC8vIGJhZCBsZXR0ZXJzIGluIGVhY2ggcGxhY2UKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRBdSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaEEsIDAxIEphbiAxOTcwIDAwOjAwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1QSAwMSBKYW4gMTk3MCAwMDowMDowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSxBMDEgSmFuIDE5NzAgMDA6MDA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIEExIEphbiAxOTcwIDAwOjAwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwQSBKYW4gMTk3MCAwMDowMDowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDFBSmFuIDE5NzAgMDA6MDA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEFhbiAxOTcwIDAwOjAwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKQW4gMTk3MCAwMDowMDowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFBIDE5NzAgMDA6MDA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphbkExOTcwIDAwOjAwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gQTk3MCAwMDowMDowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFuIDFBNzAgMDA6MDA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphbiAxOUEwIDAwOjAwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3QSAwMDowMDowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFuIDE5NzBBMDA6MDA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphbiAxOTcwIEEwOjAwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAwQTowMDowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFuIDE5NzAgMDBBMDA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphbiAxOTcwIDAwOkEwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAwMDowQTowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFuIDE5NzAgMDA6MDBBMDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphbiAxOTcwIDAwOjAwOkEwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAwMDowMDowQSBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDBBR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphbiAxOTcwIDAwOjAwOjAwIEFNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMCBHQVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAgR01BIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIiKSwgLy8gdHJ1bmNhdGlvbgorLSAgICAgICAgICAgIF9YUExBVFNUUigiVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGgiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSAiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYSIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4iKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFuICIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMSIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTkiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFuIDE5NyIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFuIDE5NzAgMCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAwMCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAwMDoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFuIDE5NzAgMDA6MCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAwMDowMCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAwMDowMDoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMCAiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAgRyIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMCBHTSIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiRnJpLCAwMSBKYW4gMTk3MCAwMDowMDowMCBHTVQiKSwgLy8gd3JvbmcgZGF5CistICAgICAgICAgICAgX1hQTEFUU1RSKCIwMSBKYW4gNDk3MCAwMDowMDowMCBHTVQiKSwgLy8geWVhciB0b28gYmlnCistICAgICAgICAgICAgX1hQTEFUU1RSKCIwMSBKYW4gMzAwMSAwMDowMDowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjAxIFh4eCAxOTcxIDAwOjAwOjAwIEdNVCIpLCAvLyBtb250aCBiYWQKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjAwIEphbiAxOTcxIDAwOjAwOjAwIEdNVCIpLCAvLyBkYXkgdG9vIHNtYWxsCistICAgICAgICAgICAgX1hQTEFUU1RSKCIzMiBKYW4gMTk3MSAwMDowMDowMCBHTVQiKSwgLy8gZGF5IHRvbyBiaWcKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjMwIEZlYiAxOTcxIDAwOjAwOjAwIEdNVCIpLCAvLyBkYXkgdG9vIGJpZyBmb3IgZmViCistICAgICAgICAgICAgX1hQTEFUU1RSKCIzMCBGZWIgMTk3MSAwMDowMDowMCBHTVQiKSwgLy8gZGF5IHRvbyBiaWcgZm9yIGZlYiAobm9uLWxlYXAgeWVhcikKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjMyIE1hciAxOTcxIDAwOjAwOjAwIEdNVCIpLCAvLyBvdGhlciBtb250aHMKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjMxIEFwciAxOTcxIDAwOjAwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMzIgTWF5IDE5NzEgMDA6MDA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIzMSBKdW4gMTk3MSAwMDowMDowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjMyIEp1bCAxOTcxIDAwOjAwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMzIgQXVnIDE5NzEgMDA6MDA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIzMSBTZXAgMTk3MSAwMDowMDowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjMyIE9jdCAxOTcxIDAwOjAwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMzEgTm92IDE5NzEgMDA6MDA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIzMiBEZWMgMTk3MSAwMDowMDowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjAxIEphbiAxOTcxIDcwOjAwOjAwIEdNVCIpLCAvLyBob3VyIHRvbyBiaWcKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjAxIEphbiAxOTcxIDI0OjAwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMDEgSmFuIDE5NzEgMDA6NjA6MDAgR01UIiksIC8vIG1pbnV0ZSB0b28gYmlnCistICAgICAgICAgICAgX1hQTEFUU1RSKCIwMSBKYW4gMTk3MSAwMDowMDo3MCBHTVQiKSwgLy8gc2Vjb25kIHRvbyBiaWcKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjAxIEphbiAxOTcxIDAwOjAwOjYxIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMDEgSmFuIDE5NjkgMDA6MDA6MDAgR01UIiksIC8vIHVuZGVyZmxvdworLSAgICAgICAgICAgIF9YUExBVFNUUigiMDEgSmFuIDE5NjkgMDA6MDA6MDAgQ0VTVCIpLCAvLyBiYWQgdHoKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjAxIEphbiAxOTcwIDAwOjAwOjAwICsyNDAwIiksIC8vIGJhZCB0em9mZnNldHMKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjAxIEphbiAxOTcwIDAwOjAwOjAwIC0zMDAwIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIwMSBKYW4gMTk3MCAwMDowMDowMCArMjE2MCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMDEgSmFuIDE5NzAgMDA6MDA6MDAgLTI0MDAiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjAxIEphbiAxOTcwIDAwOjAwOjAwIC0yMTYwIiksCistICAgICAgICB9OworLQorLSAgICAgICAgZm9yIChjb25zdCBhdXRvJiBzdHIgOiBiYWRfc3RyaW5ncykKKy0gICAgICAgIHsKKy0gICAgICAgICAgICBhdXRvIGR0ID0gdXRpbGl0eTo6ZGF0ZXRpbWU6OmZyb21fc3RyaW5nKHN0ciwgdXRpbGl0eTo6ZGF0ZXRpbWU6OlJGQ18xMTIzKTsKKy0gICAgICAgICAgICBWRVJJRllfQVJFX0VRVUFMKDAsIGR0LnRvX2ludGVydmFsKCkpOworLSAgICAgICAgfQorLSAgICB9CistCistICAgIFRFU1QocGFyc2luZ190aW1lX2lzbzg2MDFfYm91bmRhcnlfY2FzZXMpCistICAgIHsKKy0gICAgICAgIC8vIGJvdW5kYXJ5IGNhc2VzOgorLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowMDowMFoiKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBlcG9jaAorLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMjAzOC0wMS0xOVQwMzoxNDowNiswMDowMCIpLCBfWFBMQVRTVFIoIjIwMzgtMDEtMTlUMDM6MTQ6MDZaIikpOyAvLyBJTlRfTUFYIC0gMQorLSNpZm5kZWYgX1VTRV8zMkJJVF9USU1FX1QKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjIwMzgtMDEtMTlUMDM6MTM6MDctMDA6MDEiKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfWFBMQVRTVFIoIjIwMzgtMDEtMTlUMDM6MTQ6MDdaIikpOyAvLyBJTlRfTUFYIGFmdGVyIHN1YnRhY3RpbmcgMQorLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMjAzOC0wMS0xOVQwMzoxNDowNy0wMDowMCIpLCBfWFBMQVRTVFIoIjIwMzgtMDEtMTlUMDM6MTQ6MDdaIikpOworLSNlbmRpZiAvLyBfVVNFXzMyQklUX1RJTUVfVAorLSAgICB9CistCistICAgIFRFU1QocGFyc2luZ190aW1lX2lzbzg2MDFfdXNlc19lYWNoX3RpbWV6b25lX2RpZ2l0KQorLSAgICB7CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIyMDE5LTAxLTE0VDIzOjE2OjIxKzAwOjAwIiksIF9YUExBVFNUUigiMjAxOS0wMS0xNFQyMzoxNjoyMVoiKSk7CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIyMDE5LTAxLTE0VDIzOjE2OjIxLTAwOjAxIiksIF9YUExBVFNUUigiMjAxOS0wMS0xNFQyMzoxNzoyMVoiKSk7CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIyMDE5LTAxLTE0VDIzOjE2OjIxKzAwOjAxIiksIF9YUExBVFNUUigiMjAxOS0wMS0xNFQyMzoxNToyMVoiKSk7CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIyMDE5LTAxLTE0VDIzOjE2OjIxLTAxOjAwIiksIF9YUExBVFNUUigiMjAxOS0wMS0xNVQwMDoxNjoyMVoiKSk7CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIyMDE5LTAxLTE0VDIzOjE2OjIxKzAxOjAwIiksIF9YUExBVFNUUigiMjAxOS0wMS0xNFQyMjoxNjoyMVoiKSk7CistICAgIH0KKy0KKy0gICAgVEVTVChwYXJzaW5nX3RpbWVfaXNvODYwMV91c2VzX2VhY2hfZGlnaXQpCistICAgIHsKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjE5NzAtMDEtMDFUMDA6MDA6MDFaIikpOworLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowMTowMFoiKSk7CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTAxLTAxVDAxOjAwOjAwWiIpKTsKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjE5NzAtMDEtMDJUMDA6MDA6MDBaIikpOworLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMTk3MC0wMi0wMVQwMDowMDowMFoiKSk7CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcxLTAxLTAxVDAwOjAwOjAwWiIpKTsKKy0KKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjE5OTktMDEtMDFUMDA6MDA6MDBaIikpOworLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMTk3MC0xMi0wMVQwMDowMDowMFoiKSk7CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTA5LTAxVDAwOjAwOjAwWiIpKTsKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjE5NzAtMDEtMzBUMDA6MDA6MDBaIikpOworLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMTk3MC0wMS0zMVQwMDowMDowMFoiKSk7CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTAxLTAxVDIzOjAwOjAwWiIpKTsKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjE5NzAtMDEtMDFUMTk6MDA6MDBaIikpOworLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDo1OTowMFoiKSk7CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTAxLTAxVDAwOjAwOjU5WiIpKTsKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjE5NzAtMDEtMDFUMDA6MDA6NjBaIiksIF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowMTowMFoiKSk7IC8vIGxlYXAgc2Vjb25kcworLSAgICB9CistCistICAgIFRFU1QocGFyc2luZ190aW1lX2lzbzg2MDFfYWNjZXB0c19tb250aF9tYXhfZGF5cykKKy0gICAgeworLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMTk3MC0wMS0zMVQwMDowMDowMFoiKSk7IC8vIGphbgorLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMjAxOS0wMi0yOFQwMDowMDowMFoiKSk7IC8vIG5vbiBsZWFwIHllYXIgYWxsb3dzIGZlYiAyOAorLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMjAyMC0wMi0yOVQwMDowMDowMFoiKSk7IC8vIGxlYXAgeWVhciBhbGxvd3MgZmViIDI5CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTAzLTMxVDAwOjAwOjAwWiIpKTsgLy8gbWFyCistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTA0LTMwVDAwOjAwOjAwWiIpKTsgLy8gYXByCistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTA1LTMxVDAwOjAwOjAwWiIpKTsgLy8gbWF5CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTA2LTMwVDAwOjAwOjAwWiIpKTsgLy8ganVuCistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTA3LTMxVDAwOjAwOjAwWiIpKTsgLy8ganVsCistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTA4LTMxVDAwOjAwOjAwWiIpKTsgLy8gYXVnCistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTA5LTMwVDAwOjAwOjAwWiIpKTsgLy8gc2VwCistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTEwLTMxVDAwOjAwOjAwWiIpKTsgLy8gb2N0CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTExLTMwVDAwOjAwOjAwWiIpKTsgLy8gbm92CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTEyLTMxVDAwOjAwOjAwWiIpKTsgLy8gZGVjCistICAgIH0KKy0KKy0gICAgVEVTVChwYXJzaW5nX3RpbWVfaXNvODYwMV9hY2NlcHRzX2xvd2VyY2FzZV90X3opCistICAgIHsKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjE5NzAtMDEtMDF0MDA6MDA6MDBaIiksIF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowMDowMFoiKSk7CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTAxLTAxVDAwOjAwOjAweiIpLCBfWFBMQVRTVFIoIjE5NzAtMDEtMDFUMDA6MDA6MDBaIikpOworLSAgICB9CistCistICAgIFRFU1QocGFyc2luZ190aW1lX3JvdW5kdHJpcF9kYXRldGltZV9hY2NlcHRzX2ludmFsaWRfbm9fdHJhaWxpbmdfdGltZXpvbmUpCisrICAgIFRFU1QocGFyc2luZ190aW1lX3JvdW5kdHJpcF9kYXRldGltZV9pbnZhbGlkMSwKKysgICAgICAgICAiSWdub3JlOkxpbnV4IiwKKysgICAgICAgICAiQ29kZXBsZXggaXNzdWUgIzExNSIsCisrICAgICAgICAgIklnbm9yZTpBcHBsZSIsCisrICAgICAgICAgIkNvZGVwbGV4IGlzc3VlICMxMTUiKQorICAgICB7CisgICAgICAgICAvLyBObyBkaWdpdHMgYWZ0ZXIgdGhlIGRvdCwgb3Igbm9uLWRpZ2l0cy4gVGhpcyBpcyBub3QgYSB2YWxpZCBpbnB1dCwgYnV0IHdlIHNob3VsZCBub3QgY2hva2Ugb24gaXQsCisgICAgICAgICAvLyBTaW1wbHkgaWdub3JlIHRoZSBiYWQgZnJhY3Rpb24KKyAgICAgICAgIGNvbnN0IHV0aWxpdHk6OnN0cmluZ190IGJhZF9zdHJpbmdzW10gPSB7X1hQTEFUU1RSKCIyMDEzLTExLTE5VDE0OjMwOjU5LloiKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX1hQTEFUU1RSKCIyMDEzLTExLTE5VDE0OjMwOjU5LmExMloiKX07CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9YUExBVFNUUigiMjAxMy0xMS0xOVQxNDozMDo1OS4xYTJaIil9OworICAgICAgICAgdXRpbGl0eTo6c3RyaW5nX3Qgc3RyX2NvcnJlY3RlZCA9IF9YUExBVFNUUigiMjAxMy0xMS0xOVQxNDozMDo1OVoiKTsKKyAKKyAgICAgICAgIGZvciAoY29uc3QgYXV0byYgc3RyIDogYmFkX3N0cmluZ3MpCitAQCAtMzg3LDg3ICsxNTEsMTIgQEAgU1VJVEUoZGF0ZXRpbWUpCisgCisgICAgIFRFU1QocGFyc2luZ190aW1lX3JvdW5kdHJpcF9kYXRldGltZV9pbnZhbGlkMikKKyAgICAgeworLSAgICAgICAgLy8gVmFyaW91cyB1bnN1cHBvcnRlZCBjYXNlcy4gSW4gYWxsIGNhc2VzLCB3ZSBoYXZlIHByb2R1Y2UgYW4gZW1wdHkgZGF0ZSB0aW1lCisrICAgICAgICAvLyBWYXJpb3VscyB1bnN1cHBvcnRlZCBjYXNlcy4gSW4gYWxsIGNhc2VzLCB3ZSBoYXZlIHByb2R1Y2UgYW4gZW1wdHkgZGF0ZSB0aW1lCisgICAgICAgICBjb25zdCB1dGlsaXR5OjpzdHJpbmdfdCBiYWRfc3RyaW5nc1tdID0geworLSAgICAgICAgICAgIF9YUExBVFNUUigiIiksICAgICAgICAgICAgICAgICAgICAgLy8gZW1wdHkKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIi5aIiksICAgICAgICAgICAgICAgICAgIC8vIHRvbyBzaG9ydAorLSAgICAgICAgICAgIF9YUExBVFNUUigiLlp4IiksICAgICAgICAgICAgICAgICAgLy8gbm8gdHJhaWxpbmcgWgorLSAgICAgICAgICAgIF9YUExBVFNUUigiMy4xNFoiKSAgICAgICAgICAgICAgICAgLy8gbm90IGEgdmFsaWQgZGF0ZQorLSAgICAgICAgICAgIF9YUExBVFNUUigiYTk3MS0wMS0wMVQwMDowMDowMFoiKSwgLy8gYW55IG5vbiBkaWdpdHMgb3IgdmFsaWQgc2VwYXJhdG9ycworLSAgICAgICAgICAgIF9YUExBVFNUUigiMWE3MS0wMS0wMVQwMDowMDowMFoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5YTEtMDEtMDFUMDA6MDA6MDBaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTdhLTAxLTAxVDAwOjAwOjAwWiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MWEwMS0wMVQwMDowMDowMFoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtYTEtMDFUMDA6MDA6MDBaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTBhLTAxVDAwOjAwOjAwWiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0wMWEwMVQwMDowMDowMFoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMDEtYTFUMDA6MDA6MDBaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTAxLTBhVDAwOjAwOjAwWiIpLAorLSAgICAgICAgICAgIC8vIF9YUExBVFNUUigiMTk3MS0wMS0wMWEwMDowMDowMFoiKSwgcGFyc2VkIGFzIGNvbXBsZXRlIGRhdGUKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMDEtMDFUYTA6MDA6MDBaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTAxLTAxVDBhOjAwOjAwWiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0wMS0wMVQwMGEwMDowMFoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMDEtMDFUMDA6YTA6MDBaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTAxLTAxVDAwOjBhOjAwWiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0wMS0wMVQwMDowMGEwMFoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMDEtMDFUMDA6MDA6YTBaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTAxLTAxVDAwOjAwOjBhWiIpLAorLSAgICAgICAgICAgIC8vICIxOTcxLTAxLTAxVDAwOjAwOjAwYSIsIGFjY2VwdGVkIGFzIHBlciBpbnZhbGlkX25vX3RyYWlsaW5nX3RpbWV6b25lIGFib3ZlCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxIiksIC8vIHRydW5jYXRpb24KKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5IiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTciKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzAiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzAtIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcwLTAiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzAtMDEiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzAtMDEtIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcwLTAxLTAiKSwKKy0gICAgICAgICAgICAvLyBfWFBMQVRTVFIoIjE5NzAtMDEtMDEiKSwgY29tcGxldGUgZGF0ZQorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MC0wMS0wMVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzAtMDEtMDFUMCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzAtMDEtMDFUMDA6MCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowMCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowMDoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzAtMDEtMDFUMDA6MDA6MCIpLAorLSAgICAgICAgICAgIC8vIF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowMDowMCIpLCAvLyBhY2NlcHRlZCBhcyBpbnZhbGlkIHRpbWV6b25lIGFib3ZlCistICAgICAgICAgICAgX1hQTEFUU1RSKCI0OTcwLTAxLTAxVDAwOjAwOjAwWiIpLCAvLyB5ZWFyIHRvbyBiaWcKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjMwMDEtMDEtMDFUMDA6MDA6MDBaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTAwLTAxVDAwOjAwOjAwWiIpLCAvLyBtb250aCB0b28gc21hbGwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMjAtMDFUMDA6MDA6MDBaIiksIC8vIG1vbnRoIHRvbyBiaWcKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMTMtMDFUMDA6MDA6MDBaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTAxLTAwVDAwOjAwOjAwWiIpLCAvLyBkYXkgdG9vIHNtYWxsCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTAxLTMyVDAwOjAwOjAwWiIpLCAvLyBkYXkgdG9vIGJpZworLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0wMi0zMFQwMDowMDowMFoiKSwgLy8gZGF5IHRvbyBiaWcgZm9yIGZlYgorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0wMi0zMFQwMDowMDowMFoiKSwgLy8gZGF5IHRvbyBiaWcgZm9yIGZlYiAobm9uLWxlYXAgeWVhcikKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMDMtMzJUMDA6MDA6MDBaIiksIC8vIG90aGVyIG1vbnRocworLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0wNC0zMVQwMDowMDowMFoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMDUtMzJUMDA6MDA6MDBaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTA2LTMxVDAwOjAwOjAwWiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0wNy0zMlQwMDowMDowMFoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMDgtMzJUMDA6MDA6MDBaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTA5LTMxVDAwOjAwOjAwWiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0xMC0zMlQwMDowMDowMFoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMTEtMzFUMDA6MDA6MDBaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTEyLTMyVDAwOjAwOjAwWiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0wMS0wMVQ3MDowMDowMFoiKSwgLy8gaG91ciB0b28gYmlnCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTAxLTAxVDI0OjAwOjAwWiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0wMS0wMVQwMDo2MDowMFoiKSwgLy8gbWludXRlIHRvbyBiaWcKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMDEtMDFUMDA6MDA6NzBaIiksIC8vIHNlY29uZCB0b28gYmlnCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTAxLTAxVDAwOjAwOjYxWiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk2OS0wMS0wMVQwMDowMDowMFoiKSwgLy8gdW5kZXJmbG93CistI2lmZGVmIF9VU0VfMzJCSVRfVElNRV9UCistICAgICAgICAgICAgX1hQTEFUU1RSKCIzMDAwLTAxLTAxVDAwOjAwOjAxWiIpLCAvLyBvdmVyZmxvdworLSNlbmRpZgorLSAgICAgICAgICAgIF9YUExBVFNUUigiMzAwMS0wMS0wMVQwMDowMDowMFoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzAtMDEtMDFUMDA6MDA6MDArMDA6MDEiKSwgLy8gdGltZSB6b25lIHVuZGVyZmxvdworLSAgICAgICAgICAgIC8vIF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowMDowMC5aIiksIC8vIGFjY2VwdGVkIGFzIGludmFsaWQgdGltZXpvbmUgYWJvdmUKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzAtMDEtMDFUMDA6MDA6MDArMjQ6MDAiKSwgLy8gYmFkIHR6b2Zmc2V0cworLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowMDowMC0zMDowMCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowMDowMCsyMTo2MCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowMDowMC0yNDowMCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowMDowMC0yMTo2MCIpLAorKyAgICAgICAgICAgIF9YUExBVFNUUigiIiksICAgICAvLyBlbXB0eQorKyAgICAgICAgICAgIF9YUExBVFNUUigiLloiKSwgICAvLyB0b28gc2hvcnQKKysgICAgICAgICAgICBfWFBMQVRTVFIoIi5aeCIpLCAgLy8gbm8gdHJhaWxpbmcgWgorKyAgICAgICAgICAgIF9YUExBVFNUUigiMy4xNFoiKSAvLyBub3QgYSB2YWxpZCBkYXRlCisgICAgICAgICB9OworIAorICAgICAgICAgZm9yIChjb25zdCBhdXRvJiBzdHIgOiBiYWRfc3RyaW5ncykKK0BAIC00NzcsNiArMTY2LDE2IEBAIFNVSVRFKGRhdGV0aW1lKQorICAgICAgICAgfQorICAgICB9CisgCisrICAgIFRFU1QocGFyc2luZ190aW1lX3JvdW5kdHJpcF90aW1lKQorKyAgICB7CisrICAgICAgICAvLyB0aW1lIG9ubHkgd2l0aG91dCBkYXRlCisrICAgICAgICB1dGlsaXR5OjpzdHJpbmdfdCBzdHIgPSBfWFBMQVRTVFIoIjE0OjMwOjU5LjEyMzQ1NjdaIik7CisrICAgICAgICBhdXRvIGR0ID0gdXRpbGl0eTo6ZGF0ZXRpbWU6OmZyb21fc3RyaW5nKHN0ciwgdXRpbGl0eTo6ZGF0ZXRpbWU6OklTT184NjAxKTsKKysgICAgICAgIHV0aWxpdHk6OnN0cmluZ190IHN0cjIgPSBkdC50b19zdHJpbmcodXRpbGl0eTo6ZGF0ZXRpbWU6OklTT184NjAxKTsKKysgICAgICAgIC8vIE11c3QgbG9vayBmb3IgYSBzdWJzdHJpbmcgbm93LCBzaW5jZSB0aGUgZGF0ZSBwYXJ0IGlzIGZpbGxlZCB3aXRoIHRvZGF5J3MgZGF0ZQorKyAgICAgICAgVkVSSUZZX0lTX1RSVUUoc3RyMi5maW5kKHN0cikgIT0gc3RkOjpzdHJpbmc6Om5wb3MpOworKyAgICB9CisrCisgfSAvLyBTVUlURShkYXRldGltZSkKKyAKKyB9IC8vIG5hbWVzcGFjZSB1dGlsc190ZXN0cwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3BwcmVzdC9jcHByZXN0L3N5c3RlbS1icm90bGkucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHByZXN0L2NwcHJlc3Qvc3lzdGVtLWJyb3RsaS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTZmNjQ3Ny4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHByZXN0L2NwcHJlc3Qvc3lzdGVtLWJyb3RsaS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLURlc2NyaXB0aW9uOiBGaW5kIHN5c3RlbSBicm90bGkKLUF1dGhvcjogR2lhbmZyYW5jbyBDb3N0YW1hZ25hIDxsb2N1dHVzb2Zib3JnQGRlYmlhbi5vcmc+Ci1Gb3J3YXJkZWQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9NaWNyb3NvZnQvY3BwcmVzdHNkay9wdWxsLzk1MgotTGFzdC1VcGRhdGU6IDIwMTgtMTEtMDUKLQotLS0tIGNwcHJlc3QtMi4xMC43Lm9yaWcvUmVsZWFzZS9jbWFrZS9jcHByZXN0X2ZpbmRfYnJvdGxpLmNtYWtlCi0rKysgY3BwcmVzdC0yLjEwLjcvUmVsZWFzZS9jbWFrZS9jcHByZXN0X2ZpbmRfYnJvdGxpLmNtYWtlCi1AQCAtMyw4ICszLDE3IEBAIGZ1bmN0aW9uKGNwcHJlc3RfZmluZF9icm90bGkpCi0gICAgIHJldHVybigpCi0gICBlbmRpZigpCi0gCi0tICBmaW5kX3BhY2thZ2UodW5vZmZpY2lhbC1icm90bGkgUkVRVUlSRUQpCi0gCi0tICBhZGRfbGlicmFyeShjcHByZXN0c2RrX2Jyb3RsaV9pbnRlcm5hbCBJTlRFUkZBQ0UpCi0tICB0YXJnZXRfbGlua19saWJyYXJpZXMoY3BwcmVzdHNka19icm90bGlfaW50ZXJuYWwgSU5URVJGQUNFIHVub2ZmaWNpYWw6OmJyb3RsaTo6YnJvdGxpZW5jIHVub2ZmaWNpYWw6OmJyb3RsaTo6YnJvdGxpZGVjIHVub2ZmaWNpYWw6OmJyb3RsaTo6YnJvdGxpY29tbW9uKQotKyAgZmluZF9wYWNrYWdlKFBrZ0NvbmZpZykKLSsgIHBrZ19jaGVja19tb2R1bGVzKEJST1RMSUVOQyBsaWJicm90bGllbmMpCi0rICBwa2dfY2hlY2tfbW9kdWxlcyhCUk9UTElERUMgbGliYnJvdGxpZGVjKQotKyAgaWYoQlJPVExJREVDX0ZPVU5EIEFORCBCUk9UTElFTkNfRk9VTkQpCi0rCSAgdGFyZ2V0X2xpbmtfbGlicmFyaWVzKGNwcHJlc3QgUFJJVkFURSAke0JST1RMSURFQ19MREZMQUdTfSAke0JST1RMSUVOQ19MREZMQUdTfSkKLSsgIGVsc2UoQlJPVExJREVDX0ZPVU5EIEFORCBCUk9UTElFTkNfRk9VTkQpCi0rICAgIGZpbmRfcGFja2FnZSh1bm9mZmljaWFsLWJyb3RsaSBSRVFVSVJFRCkKLSsgICAgYWRkX2xpYnJhcnkoY3BwcmVzdHNka19icm90bGlfaW50ZXJuYWwgSU5URVJGQUNFKQotKyAgICB0YXJnZXRfbGlua19saWJyYXJpZXMoY3BwcmVzdHNka19icm90bGlfaW50ZXJuYWwgSU5URVJGQUNFIHVub2ZmaWNpYWw6OmJyb3RsaTo6YnJvdGxpZW5jIHVub2ZmaWNpYWw6OmJyb3RsaTo6YnJvdGxpZGVjIHVub2ZmaWNpYWw6OmJyb3RsaTo6YnJvdGxpY29tbW9uKQotKyAgICB0YXJnZXRfbGlua19saWJyYXJpZXMoY3BwcmVzdCBQUklWQVRFIGNwcHJlc3RzZGtfYnJvdGxpX2ludGVybmFsKQotKyAgZW5kaWYoQlJPVExJREVDX0ZPVU5EIEFORCBCUk9UTElFTkNfRk9VTkQpCi0rCi0gZW5kZnVuY3Rpb24oKQotLS0tIGNwcHJlc3QtMi4xMC43Lm9yaWcvUmVsZWFzZS9zcmMvQ01ha2VMaXN0cy50eHQKLSsrKyBjcHByZXN0LTIuMTAuNy9SZWxlYXNlL3NyYy9DTWFrZUxpc3RzLnR4dAotQEAgLTg0LDcgKzg0LDYgQEAgZWxzZSgpCi0gICAgIHRhcmdldF9jb21waWxlX2RlZmluaXRpb25zKGNwcHJlc3QgUFJJVkFURSAtRENQUFJFU1RfRVhDTFVERV9CUk9UTEk9MSkKLSAgIGVsc2UoKQotICAgICBjcHByZXN0X2ZpbmRfYnJvdGxpKCkKLS0gICAgdGFyZ2V0X2xpbmtfbGlicmFyaWVzKGNwcHJlc3QgUFJJVkFURSBjcHByZXN0c2RrX2Jyb3RsaV9pbnRlcm5hbCkKLSAgIGVuZGlmKCkKLSBlbmRpZigpCi0gCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHByZXN0L2NwcHJlc3RfMi4xMC4xMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwcHJlc3QvY3BwcmVzdF8yLjEwLjEyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyYzA0NTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHByZXN0L2NwcHJlc3RfMi4xMC4xMi5iYgpAQCAtMCwwICsxLDIwIEBACitTVU1NQVJZID0gIk1pY3Jvc29mdCBwcm9qZWN0IGZvciBjbG91ZC1iYXNlZCBjbGllbnQtc2VydmVyIGNvbW11bmljYXRpb24gaW4gbmF0aXZlIGNvZGUgdXNpbmcgYSBtb2Rlcm4gYXN5bmNocm9ub3VzIEMrKyBBUEkgZGVzaWduLiIKK1NFQ1RJT04gPSAibGlicy9uZXR3b3JrIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL01pY3Jvc29mdC9jcHByZXN0c2RrLyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtTfS9saWNlbnNlLnR4dDttZDU9YTJlMTViOTU0NzY5MjE4ZmY5MTI0NjhlZWNkNmEwMmYiCitERVBFTkRTID0gIm9wZW5zc2wgd2Vic29ja2V0cHAgemxpYiBib29zdCBicm90bGkiCisKK0VYVFJBX09FQ01BS0UgPSAiLURDUFBSRVNUX0VYUE9SVF9ESVI9Y21ha2UgLURDUFBSRVNUX0VYQ0xVREVfQlJPVExJPU9GRiIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL01pY3Jvc29mdC9jcHByZXN0c2RrLmdpdDtwcm90b2NvbD1odHRwczticmFuY2g9bWFzdGVyIFwKKyAgICAgICAgICAgZmlsZTovL3JldmVydC05YjY3MGU1YjMzZGZkYmQ1MDFkNjE4Y2Q3ZTc0OTgxNDhmZmJkNTU5LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3JldmVydC1mMTBkOWY4ZTIxNDUxNmQyYzE5YWE2ZWY4MzFlZTg3NGE1OGMwNDc5LnBhdGNoIFwKKyAgICAgICAgICAgIgorCisjIHRhZyAyLjEwLjEyCitTUkNSRVY9ICJkNGZiMWNmN2Y3ZDIyYzEyZTJlNDQyYmE1YTVlOThkMDliMGEyOGFiIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGNtYWtlIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3BwcmVzdC9jcHByZXN0XzIuMTAuNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwcHJlc3QvY3BwcmVzdF8yLjEwLjcuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVjYzYzODUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3BwcmVzdC9jcHByZXN0XzIuMTAuNy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLVNVTU1BUlkgPSAiTWljcm9zb2Z0IHByb2plY3QgZm9yIGNsb3VkLWJhc2VkIGNsaWVudC1zZXJ2ZXIgY29tbXVuaWNhdGlvbiBpbiBuYXRpdmUgY29kZSB1c2luZyBhIG1vZGVybiBhc3luY2hyb25vdXMgQysrIEFQSSBkZXNpZ24uIgotU0VDVElPTiA9ICJsaWJzL25ldHdvcmsiCi1IT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L2NwcHJlc3RzZGsvIgotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1N9L2xpY2Vuc2UudHh0O21kNT1hMmUxNWI5NTQ3NjkyMThmZjkxMjQ2OGVlY2Q2YTAyZiIKLURFUEVORFMgPSAib3BlbnNzbCB3ZWJzb2NrZXRwcCB6bGliIGJvb3N0IGJyb3RsaSIKLQotRVhUUkFfT0VDTUFLRSA9ICItRENQUFJFU1RfRVhQT1JUX0RJUj1jbWFrZSAtRENQUFJFU1RfRVhDTFVERV9CUk9UTEk9T0ZGIgotCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L2NwcHJlc3RzZGsuZ2l0O3Byb3RvY29sPWh0dHBzO2JyYW5jaD1tYXN0ZXIgXAotICAgICAgICAgICBmaWxlOi8vZGlzYWJsZS1vdXRzaWRlLXRlc3RzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2Rpc2FibGUtdGVzdC10aW1lb3V0cy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kaXNhYmxlLWZsb2F0LXRlc3RzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzk1MC1maXgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vc3lzdGVtLWJyb3RsaS5wYXRjaCBcCi0gICAgICAgICAgICIKLQotIyB0YWcgMi4xMC43Ci1TUkNSRVY9ICJjNGNlZjEyOWU4ODBhM2Y5YzIzYTQ4MGU4Yzk4Mzc5Mzk2MzE3M2JiIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1pbmhlcml0IGNtYWtlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbmNoYW50L2VuY2hhbnQyXzIuMi4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW5jaGFudC9lbmNoYW50Ml8yLjIuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MjE1MGM4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW5jaGFudC9lbmNoYW50Ml8yLjIuMy5iYgpAQCAtMCwwICsxLDI2IEBACitTVU1NQVJZID0gIkVuY2hhbnQgU3BlbGwgY2hlY2tlciBBUEkgTGlicmFyeSB2MiIKK1NFQ1RJT04gPSAibGlicyIKK0hPTUVQQUdFID0gImh0dHBzOi8vYWJpd29yZC5naXRodWIuaW8vZW5jaGFudC8iCitMSUNFTlNFID0gIkxHUEx2Mi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTElCO21kNT1hOTE2NDY3YjkxMDc2ZTYzMWRkOGVkYjc0MjQ3NjljNyIKKworREVQRU5EUyA9ICJnbGliLTIuMCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL0FiaVdvcmQvZW5jaGFudC9yZWxlYXNlcy9kb3dubG9hZC92JHtQVn0vZW5jaGFudC0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiNGI4YWJiNThlMDBlOTMzNjM1OTFiM2Y1ZWE0ZjUyZDUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWJkOGU5MTU2NzVjZmY1NGMwZDRkYTUwMjlkOTVjNTI4MzYyMjY2NTU3YzYxYzcxNDlkNTNmYTA2OWI4MDc2ZCIKKworUyA9ICIke1dPUktESVJ9L2VuY2hhbnQtJHtQVn0iCisKK0VYVFJBX09FTUFLRSA9ICJwa2dkYXRhZGlyPSR7ZGF0YWRpcn0vZW5jaGFudC0yIgorCitQQUNLQUdFQ09ORklHID8/PSAiaHVuc3BlbGwiCitQQUNLQUdFQ09ORklHW2FzcGVsbF0gID0gIi0td2l0aC1hc3BlbGwsLS13aXRob3V0LWFzcGVsbCxhc3BlbGwsYXNwZWxsIgorUEFDS0FHRUNPTkZJR1todW5zcGVsbF0gID0gIi0td2l0aC1odW5zcGVsbCwtLXdpdGhvdXQtaHVuc3BlbGwsaHVuc3BlbGwsaHVuc3BlbGwiCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7ZGF0YWRpcn0vZW5jaGFudC0yIFwKKyAgICAke2xpYmRpcn0vZW5jaGFudC0yIFwKKyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VzcGVhay9lc3BlYWstZGF0YV8xLjQ4LjA0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXNwZWFrL2VzcGVhay1kYXRhXzEuNDguMDQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE0ZTVkMTQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXNwZWFrL2VzcGVhay1kYXRhXzEuNDguMDQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1yZXF1aXJlIGVzcGVhay5pbmMKLQotaW5oZXJpdCBuYXRpdmUKLQotUEFDS0FHRVMgPSAiJHtQTn0iCi1GSUxFU18ke1BOfSA9ICIke2xheW91dF9kYXRhZGlyfSIKLQotUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKLVRBUkdFVF9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKLQotZG9fY29tcGlsZSgpIHsKLSAgICAjIEZpeGluZyBieXRlIG9yZGVyIG9mIHBob25lbWUgZGF0YSBmaWxlcwotICAgIGNkICIke1N9L3BsYXRmb3Jtcy9iaWdfZW5kaWFuIgotICAgIHNlZCAtaSAnL14gKkNDICo9L2QnIE1ha2VmaWxlCi0gICAgc2VkIC1pICdzL1woLipCWVRFX09SREVSXCkvI3VuZGVmIEJZVEVfT1JERVJcbiNkZWZpbmUgQllURV9PUkRFUiBCSUdfRU5ESUFOXG5cMS8nIGVzcGVhay1waG9uZW1lLWRhdGEuYwotICAgIG9lX3J1bm1ha2UKLSAgICAuL2VzcGVhay1waG9uZW1lLWRhdGEgIiR7U30vZXNwZWFrLWRhdGEiICIuIiAiJHtTfS9lc3BlYWstZGF0YS9waG9uZGF0YS1tYW5pZmVzdCIKLSAgICBjcCAtZiBwaG9uZGF0YSBwaG9uaW5kZXggcGhvbnRhYiAiJHtTfS9lc3BlYWstZGF0YSIKLX0KLQotZG9faW5zdGFsbCgpIHsKLSAgICBpbnN0YWxsIC1kICR7RH0ke2xheW91dF9kYXRhZGlyfS9lc3BlYWstZGF0YQotICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2VzcGVhay1kYXRhL3Bob24qICR7RH0ke2xheW91dF9kYXRhZGlyfS9lc3BlYWstZGF0YQotfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXNwZWFrL2VzcGVhay5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lc3BlYWsvZXNwZWFrLmluYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjQ1NDU1Yy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lc3BlYWsvZXNwZWFrLmluYworKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLURFU0NSSVBUSU9OID0gImVTcGVhayBpcyBhIGNvbXBhY3Qgb3BlbiBzb3VyY2Ugc29mdHdhcmUgc3BlZWNoIHN5bnRoZXNpemVyIgotU0VDVElPTiA9ICJiYXNlIgotTElDRU5TRSA9ICJHUEx2MyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xpY2Vuc2UudHh0O21kNT1jYjdhMjBlZGI0YzlmNWY0NzhkZTY1MjNkY2Q3MzYyYyIKLQotU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC9lc3BlYWsvZXNwZWFrLTEuNDguMDQtc291cmNlLnppcCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1idWlsZC1vZi1zaGFyZWQtbGlicmFyeS1vbi1hcmNoaXRlY3R1cmVzLW5lZWRpbmcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZXNwZWFrLTEuNDgtZ2NjLTYtZml4LnBhdGNoIFwKLSIKLVNSQ19VUklbbWQ1c3VtXSA9ICJjYWRkNzQ4MmVhYWZlOTIzOTU0NmJkYzA5ZmEyNDRjMyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJiZjlhMTc2NzNhZGZmY2MyOGZmN2VhMTg3NjRmMDYxMzY1NDdlOTdiYmQ5ZWRmMmVjNjEyZjA5YjIwN2YwNjU5IgotCi1TID0gIiR7V09SS0RJUn0vZXNwZWFrLSR7UFZ9LXNvdXJjZSIKLQotREVQRU5EUyA9ICJwb3J0YXVkaW8tdjE5IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXNwZWFrL2VzcGVha18xLjQ4LjA0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXNwZWFrL2VzcGVha18xLjQ4LjA0LmJiCmluZGV4IDU3ZTMwZjAuLjc4ZjhmODUgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VzcGVhay9lc3BlYWtfMS40OC4wNC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lc3BlYWsvZXNwZWFrXzEuNDguMDQuYmIKQEAgLTEsOCArMSwyMCBAQAotcmVxdWlyZSBlc3BlYWsuaW5jCi1pbmhlcml0IHNpdGVpbmZvCitERVNDUklQVElPTiA9ICJlU3BlYWsgaXMgYSBjb21wYWN0IG9wZW4gc291cmNlIHNvZnR3YXJlIHNwZWVjaCBzeW50aGVzaXplciIKK1NFQ1RJT04gPSAiYmFzZSIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MaWNlbnNlLnR4dDttZDU9Y2I3YTIwZWRiNGM5ZjVmNDc4ZGU2NTIzZGNkNzM2MmMiCiAKLUVYVFJBX1BIT05FTUVTID0gJyR7QGJiLnV0aWxzLmNvbnRhaW5zKCJTSVRFSU5GT19FTkRJQU5ORVNTIiwgImJlIiwgICJlc3BlYWstZGF0YSAoPSAke1BWfSkiLCAiIiwgZCl9JwotUkRFUEVORFNfJHtQTn0gPSAicG9ydGF1ZGlvLXYxOSAke0VYVFJBX1BIT05FTUVTfSIKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQvZXNwZWFrL2VzcGVhay0xLjQ4LjA0LXNvdXJjZS56aXAgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtYnVpbGQtb2Ytc2hhcmVkLWxpYnJhcnktb24tYXJjaGl0ZWN0dXJlcy1uZWVkaW5nLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItdHJfbGFuZ3VhZ2VzLWNhc3Qtc3RyaW5nX29yZGluYWwtaW5pdC12YWx1ZXMucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gImNhZGQ3NDgyZWFhZmU5MjM5NTQ2YmRjMDlmYTI0NGMzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImJmOWExNzY3M2FkZmZjYzI4ZmY3ZWExODc2NGYwNjEzNjU0N2U5N2JiZDllZGYyZWM2MTJmMDliMjA3ZjA2NTkiCisKK1MgPSAiJHtXT1JLRElSfS9lc3BlYWstJHtQVn0tc291cmNlIgorCitERVBFTkRTID0gInBvcnRhdWRpby12MTkgcWVtdS1oZWxwZXItbmF0aXZlIgoraW5oZXJpdCBzaXRlaW5mbyBxZW11CisKIAogQ1hYRkxBR1MgKz0gIi1EVVNFX1BPUlRBVURJTyIKIFRBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgpAQCAtMTEsMTIgKzIzLDMwIEBACiAKIGRvX2NvbmZpZ3VyZSgpIHsKICAgICAjICAic3BlYWsiIGJpbmFyeSwgYSBUVFMgZW5naW5lLCB1c2VzIHBvcnRhdWRpbyBpbiBlaXRoZXIgQVBJcyBWMTggb3IgVjE5LCB1c2UgVjE5Ci0gICAgY3AgIiR7U30vc3JjL3BvcnRhdWRpbzE5LmgiICIke1N9L3NyYy9wb3J0YXVkaW8uaCIKKyAgICBpbnN0YWxsIC1tIDA2NDQgIiR7U30vc3JjL3BvcnRhdWRpbzE5LmgiICIke1N9L3NyYy9wb3J0YXVkaW8uaCIKIH0KIAogZG9fY29tcGlsZSgpIHsKICAgICBjZCBzcmMKICAgICBvZV9ydW5tYWtlCisKKyAgICBjZCAiJHtTfS9wbGF0Zm9ybXMvYmlnX2VuZGlhbiIKKyAgICBxZW11X2JpbmFyeT0iJHtAcWVtdV93cmFwcGVyX2NtZGxpbmUoZCwgJyR7U1RBR0lOR19ESVJfVEFSR0VUfScsIFsnJHtTfS9wbGF0Zm9ybXMvYmlnX2VuZGlhbicsICcke1NUQUdJTkdfRElSX1RBUkdFVH0ke2Jhc2VfbGliZGlyfSddKX0iCisgICAgY2F0ID5xZW11d3JhcHBlciA8PEVPRgorIyEvYmluL3NoCiskcWVtdV9iaW5hcnkgIlwkQCIKK0VPRgorICAgIGNobW9kICt4IHFlbXV3cmFwcGVyCisgICAgc2VkIC1pICcvXiAqQ0MgKj0vZCcgTWFrZWZpbGUKKyAgICAjIEZpeGluZyBieXRlIG9yZGVyIG9mIHBob25lbWUgZGF0YSBmaWxlcworICAgIGlmIFsgIiR7U0lURUlORk9fRU5ESUFOTkVTU30iID0gImJlIiBdOyB0aGVuCisgICAgICAgIHNlZCAtaSAncy9cKC4qQllURV9PUkRFUlwpLyN1bmRlZiBCWVRFX09SREVSXG4jZGVmaW5lIEJZVEVfT1JERVIgQklHX0VORElBTlxuXDEvJyBlc3BlYWstcGhvbmVtZS1kYXRhLmMKKyAgICBlbHNlCisgICAgICAgIHNlZCAtaSAncy9cKC4qQllURV9PUkRFUlwpLyN1bmRlZiBCWVRFX09SREVSXG4jZGVmaW5lIEJZVEVfT1JERVIgTElUVExFX0VORElBTlxuXDEvJyBlc3BlYWstcGhvbmVtZS1kYXRhLmMKKyAgICBmaQorICAgIG9lX3J1bm1ha2UKKyAgICAuL3FlbXV3cmFwcGVyIC4vZXNwZWFrLXBob25lbWUtZGF0YSAiJHtTfS9lc3BlYWstZGF0YSIgIi4iICIke1N9L2VzcGVhay1kYXRhL3Bob25kYXRhLW1hbmlmZXN0IgorICAgIGNwIC1mIHBob25kYXRhIHBob25pbmRleCBwaG9udGFiICIke1N9L2VzcGVhay1kYXRhIgogfQogCiBkb19pbnN0YWxsKCkgewpAQCAtMzEsMTAgKzYxLDcgQEAKICAgICBsbiAtc2YgZXNwZWFrL2VzcGVhay5oICR7RH0ke2luY2x1ZGVkaXJ9LwogICAgIG9lX2xpYmluc3RhbGwgLXNvIC1DIHNyYyBsaWJlc3BlYWsgJHtEfSR7bGliZGlyfQogCi0gICAgaWYgWyAiJHtTSVRFSU5GT19FTkRJQU5ORVNTfSIgPSAiYmUiIF0gOyB0aGVuCi0gICAgICAgICMgdGhlIGJpZy1lbmRpYW4gcGhvbiogZmlsZXMgYXJlIHByb3ZpZGVkIGJ5IHRoZSBwYWNrYWdlIGVzcGVhay1kYXRhCi0gICAgICAgIHJtIC1mICR7U30vZXNwZWFrLWRhdGEvcGhvbioKLSAgICBmaQotCiAgICAgY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgJHtTfS9lc3BlYWstZGF0YS8qICR7RH0ke2RhdGFkaXJ9L2VzcGVhay1kYXRhCiB9CisKK1JERVBFTkRTXyR7UE59ID0gInBvcnRhdWRpby12MTkiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lc3BlYWsvZmlsZXMvMDAwMi10cl9sYW5ndWFnZXMtY2FzdC1zdHJpbmdfb3JkaW5hbC1pbml0LXZhbHVlcy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VzcGVhay9maWxlcy8wMDAyLXRyX2xhbmd1YWdlcy1jYXN0LXN0cmluZ19vcmRpbmFsLWluaXQtdmFsdWVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlZjM2MGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lc3BlYWsvZmlsZXMvMDAwMi10cl9sYW5ndWFnZXMtY2FzdC1zdHJpbmdfb3JkaW5hbC1pbml0LXZhbHVlcy5wYXRjaApAQCAtMCwwICsxLDM0IEBACitGcm9tIDQ1MTMzMGQwOWE2YTM1MDBiNDBiYzRmNTg5NmJhNzkwYWI0NmNkNmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSb21haW4gTmFvdXIgPHJvbWFpbi5uYW91ckBnbWFpbC5jb20+CitEYXRlOiBTdW4sIDE1IEphbiAyMDE3IDE5OjM3OjMxICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMi8yXSB0cl9sYW5ndWFnZXM6IGNhc3Qgc3RyaW5nX29yZGluYWwgaW5pdCB2YWx1ZXMKKworT24gc29tZSBhcmNoaXRlY3R1cmUsICJjaGFyIiBpcyBzaWduZWQgKHg4Nl82NCwgbmlvczIuLi4pIHNvIHRoZQorY29tcGlsZXIgdHJ5IHRvIGNvbnZlcnQgaW50IDB4YzIgYW5kIDB4YmEgdG8gYSBzaWduZWQgY2hhci4KK1RoaXMgaXMgYW4gZXJyb3Igc2luY2UgZ2NjNiAoV25hcnJvd2luZykuCisKK0ZpeGVzOgoraHR0cDovL2F1dG9idWlsZC5idWlsZHJvb3QubmV0L3Jlc3VsdHMvYmFlL2JhZWY5ODg4YjE5NzlkMTgxNzE2NjhhNjc1OTg1ZTNmM2I0NWZkYTYKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nIFtpbXBvcnRlZCBmcm9tIEJSXQorU2lnbmVkLW9mZi1ieTogUm9tYWluIE5hb3VyIDxyb21haW4ubmFvdXJAZ21haWwuY29tPgorLS0tCisgc3JjL3RyX2xhbmd1YWdlcy5jcHAgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvdHJfbGFuZ3VhZ2VzLmNwcCBiL3NyYy90cl9sYW5ndWFnZXMuY3BwCitpbmRleCA1YzgwMjg2Li5kYmM2ZTM2IDEwMDY0NAorLS0tIGEvc3JjL3RyX2xhbmd1YWdlcy5jcHAKKysrKyBiL3NyYy90cl9sYW5ndWFnZXMuY3BwCitAQCAtMjAwLDcgKzIwMCw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBzaG9ydCBjaGFyc19pZ25vcmVfendual9oeXBoZW5bXSA9IHsKKyAJMHgyMDBkLCAgMSwgLy8gemVybyB3aWR0aCBqb2luZXIKKyAJMCwgMCB9OworIAorLWNvbnN0IGNoYXIgc3RyaW5nX29yZGluYWxbXSA9IHsweGMyLDB4YmEsMH07ICAvLyBtYXNjdWxpbmUgb3JkaW5hbCBjaGFyYWN0ZXIsIFVURi04CisrY29uc3QgY2hhciBzdHJpbmdfb3JkaW5hbFtdID0geyhjaGFyKTB4YzIsKGNoYXIpMHhiYSwwfTsgIC8vIG1hc2N1bGluZSBvcmRpbmFsIGNoYXJhY3RlciwgVVRGLTgKKyAKKyAKKyBzdGF0aWMgVHJhbnNsYXRvciogTmV3VHJhbnNsYXRvcih2b2lkKQorLS0gCisyLjkuMworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lc3BlYWsvZmlsZXMvZXNwZWFrLTEuNDgtZ2NjLTYtZml4LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXNwZWFrL2ZpbGVzL2VzcGVhay0xLjQ4LWdjYy02LWZpeC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmU1OWM3OC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lc3BlYWsvZmlsZXMvZXNwZWFrLTEuNDgtZ2NjLTYtZml4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotZGlmZiAtLWdpdCBhL3NyYy90cl9sYW5ndWFnZXMuY3BwIGIvc3JjL3RyX2xhbmd1YWdlcy5jcHAKLS0tLSBhL3NyYy90cl9sYW5ndWFnZXMuY3BwCi0rKysgYi9zcmMvdHJfbGFuZ3VhZ2VzLmNwcAotQEAgLTE5OCw3ICsxOTgsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgc2hvcnQgY2hhcnNfaWdub3JlX3p3bmpfaHlwaGVuW10gPSB7Ci0gCTB4MjAwZCwgIDEsIC8vIHplcm8gd2lkdGggam9pbmVyCi0gCTAsIDAgfTsKLSAKLS1jb25zdCBjaGFyIHN0cmluZ19vcmRpbmFsW10gPSB7MHhjMiwweGJhLDB9OyAgLy8gbWFzY3VsaW5lIG9yZGluYWwgY2hhcmFjdGVyLCBVVEYtOAotK2NvbnN0IGNoYXIgc3RyaW5nX29yZGluYWxbXSA9IHsnXHhjMicsJ1x4YmEnLDB9OyAgLy8gbWFzY3VsaW5lIG9yZGluYWwgY2hhcmFjdGVyLCBVVEYtOAotIAotIAotIHN0YXRpYyBUcmFuc2xhdG9yKiBOZXdUcmFuc2xhdG9yKHZvaWQpCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYXJzaWdodC9saWJuaWNlXzAuMS4xNC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZhcnNpZ2h0L2xpYm5pY2VfMC4xLjE0LmJiCmluZGV4IDc3NTI1N2YuLjk2N2JlZWIgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZhcnNpZ2h0L2xpYm5pY2VfMC4xLjE0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZhcnNpZ2h0L2xpYm5pY2VfMC4xLjE0LmJiCkBAIC0xNSwxNSArMTUsMTYgQEAKIAogUEFDS0FHRUNPTkZJRyA/Pz0gImdzdHJlYW1lcjEuMCIKIFBBQ0tBR0VDT05GSUdbZ3VwbnBdID0gIi0tZW5hYmxlLWd1cG5wLC0tZGlzYWJsZS1ndXBucCxndXBucC1pZ2QiCi1QQUNLQUdFQ09ORklHW2dzdHJlYW1lcjAuMTBdID0gIi0td2l0aC1nc3RyZWFtZXItMC4xMCwtLXdpdGhvdXQtZ3N0cmVhbWVyLTAuMTAsZ3N0cmVhbWVyIGdzdC1wbHVnaW5zLWJhc2UiCiBQQUNLQUdFQ09ORklHW2dzdHJlYW1lcjEuMF0gPSAiLS13aXRoLWdzdHJlYW1lciwtLXdpdGhvdXQtZ3N0cmVhbWVyLGdzdHJlYW1lcjEuMCBnc3RyZWFtZXIxLjAtcGx1Z2lucy1iYXNlIgogCiBpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ3RrLWRvYyBnb2JqZWN0LWludHJvc3BlY3Rpb24KIAotRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC8qLnNvICR7bGliZGlyfS9nc3RyZWFtZXItMS4wLyouc28iCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC8qLmxhICR7bGliZGlyfS9nc3RyZWFtZXItMS4wLyoubGEiCi1GSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC8qLmEgJHtsaWJkaXJ9L2dzdHJlYW1lci0xLjAvKi5hIgotRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZ3N0cmVhbWVyLTAuMTAvLmRlYnVnICR7bGliZGlyfS9nc3RyZWFtZXItMS4wLy5kZWJ1ZyIKK0VYVFJBX09FQ09ORiArPSAiLS13aXRob3V0LWdzdHJlYW1lci0wLjEwIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0xLjAvKi5zbyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0xLjAvKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0xLjAvKi5hIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZ3N0cmVhbWVyLTEuMC8uZGVidWciCiAKIGRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewogICAgIG1rZGlyICR7U30vbTQgfHwgdHJ1ZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZnJlZXJkcC9mcmVlcmRwLzAwMDEtRml4LWdzdHJlYW1lci0xLjAtZGV0ZWN0aW9uLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZnJlZXJkcC9mcmVlcmRwLzAwMDEtRml4LWdzdHJlYW1lci0xLjAtZGV0ZWN0aW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNTY3Y2JhLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZyZWVyZHAvZnJlZXJkcC8wMDAxLUZpeC1nc3RyZWFtZXItMS4wLWRldGVjdGlvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLUZyb20gMzY4OTg5NTI2YzMyY2RmOWQ2ODBhMzk3ZmVkZTNjYjc3M2ZhMjYwOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1pa2UgR2lsYmVydCA8ZmxvcHB5bUBnZW50b28ub3JnPgotRGF0ZTogRnJpLCAyOCBKdWwgMjAxNyAxNjozMTo0MSAtMDQwMAotU3ViamVjdDogW1BBVENIXSBGaXggZ3N0cmVhbWVyLTEuMCBkZXRlY3Rpb24KLQotVXBzdHJlYW0gU3RhdGU6IEJhY2twb3J0Ci0KLS0tLQotIGNtYWtlL0ZpbmRHU3RyZWFtZXJfMV8wLmNtYWtlIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvY21ha2UvRmluZEdTdHJlYW1lcl8xXzAuY21ha2UgYi9jbWFrZS9GaW5kR1N0cmVhbWVyXzFfMC5jbWFrZQotaW5kZXggM2FhOGZjNi4uNmZiYzBlYyAxMDA2NDQKLS0tLSBhL2NtYWtlL0ZpbmRHU3RyZWFtZXJfMV8wLmNtYWtlCi0rKysgYi9jbWFrZS9GaW5kR1N0cmVhbWVyXzFfMC5jbWFrZQotQEAgLTU5LDcgKzU5LDcgQEAgbWFjcm8oRklORF9HU1RSRUFNRVJfQ09NUE9ORU5UIF9jb21wb25lbnRfcHJlZml4IF9wa2djb25maWdfbmFtZSBfbGlicmFyeSkKLSAKLSAgICAgc3RyaW5nKFJFR0VYIE1BVENIICIoLiopPj0oLiopIiBfZHVtbXkgIiR7X3BrZ2NvbmZpZ19uYW1lfSIpCi0gICAgIGlmICgiJHtDTUFLRV9NQVRDSF8yfSIgU1RSRVFVQUwgIiIpCi0tICAgICAgICBwa2dfY2hlY2tfbW9kdWxlcyhQQ18ke19jb21wb25lbnRfcHJlZml4fSAiJHtfcGtnY29uZmlnX25hbWV9ID49ICR7R1N0cmVhbWVyX0ZJTkRfVkVSU0lPTn0iKQotKyAgICAgICAgcGtnX2NoZWNrX21vZHVsZXMoUENfJHtfY29tcG9uZW50X3ByZWZpeH0gIiR7X3BrZ2NvbmZpZ19uYW1lfSA+PSAke0dTVFJFQU1FUl8xXzBfTUlOSU1VTV9WRVJTSU9OfSIpCi0gICAgIGVsc2UgKCkKLSAgICAgICAgIHBrZ19jaGVja19tb2R1bGVzKFBDXyR7X2NvbXBvbmVudF9wcmVmaXh9ICR7X3BrZ2NvbmZpZ19uYW1lfSkKLSAgICAgZW5kaWYgKCkKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZnJlZXJkcC9mcmVlcmRwL3dpbnByLW1ha2VjZXJ0LUJ1aWxkLXdpdGgtaW5zdGFsbC1SUEFUSC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZyZWVyZHAvZnJlZXJkcC93aW5wci1tYWtlY2VydC1CdWlsZC13aXRoLWluc3RhbGwtUlBBVEgucGF0Y2gKaW5kZXggMGQ3ZGNjMi4uMGY2ZjU3NSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZnJlZXJkcC9mcmVlcmRwL3dpbnByLW1ha2VjZXJ0LUJ1aWxkLXdpdGgtaW5zdGFsbC1SUEFUSC5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mcmVlcmRwL2ZyZWVyZHAvd2lucHItbWFrZWNlcnQtQnVpbGQtd2l0aC1pbnN0YWxsLVJQQVRILnBhdGNoCkBAIC0xMiwxMyArMTIsMTMgQEAKICB3aW5wci90b29scy9tYWtlY2VydC1jbGkvQ01ha2VMaXN0cy50eHQgfCAzICsrKwogIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKIAotZGlmZiAtLWdpdCBhL3dpbnByL3Rvb2xzL21ha2VjZXJ0LWNsaS9DTWFrZUxpc3RzLnR4dCBiL3dpbnByL3Rvb2xzL21ha2VjZXJ0LWNsaS9DTWFrZUxpc3RzLnR4dAotaW5kZXggNzRhZmEwOS4uOGQwMGVmMSAxMDA2NDQKLS0tLSBhL3dpbnByL3Rvb2xzL21ha2VjZXJ0LWNsaS9DTWFrZUxpc3RzLnR4dAotKysrIGIvd2lucHIvdG9vbHMvbWFrZWNlcnQtY2xpL0NNYWtlTGlzdHMudHh0CitJbmRleDogZ2l0L3dpbnByL3Rvb2xzL21ha2VjZXJ0LWNsaS9DTWFrZUxpc3RzLnR4dAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdpdC5vcmlnL3dpbnByL3Rvb2xzL21ha2VjZXJ0LWNsaS9DTWFrZUxpc3RzLnR4dAorKysrIGdpdC93aW5wci90b29scy9tYWtlY2VydC1jbGkvQ01ha2VMaXN0cy50eHQKIEBAIC00NCw2ICs0NCw5IEBAIHNldCgke01PRFVMRV9QUkVGSVh9X0xJQlMgd2lucHItdG9vbHMpCiAgCi0gdGFyZ2V0X2xpbmtfbGlicmFyaWVzKCR7TU9EVUxFX05BTUV9ICR7JHtNT0RVTEVfUFJFRklYfV9MSUJTfSkKKyB0YXJnZXRfbGlua19saWJyYXJpZXMoJHtNT0RVTEVfTkFNRX0gJHske01PRFVMRV9QUkVGSVh9X0xJQlN9IHdpbnByKQogIAogK3NldF90YXJnZXRfcHJvcGVydGllcygke01PRFVMRV9OQU1FfSBQUk9QRVJUSUVTCiArICAgICAgIEJVSUxEX1dJVEhfSU5TVEFMTF9SUEFUSCAxKQpAQCAtMjYsNiArMjYsMyBAQAogIHNldF9wcm9wZXJ0eShUQVJHRVQgJHtNT0RVTEVfTkFNRX0gUFJPUEVSVFkgRk9MREVSICJXaW5QUi9Ub29scyIpCiAgCiAgaW5zdGFsbChUQVJHRVRTICR7TU9EVUxFX05BTUV9IERFU1RJTkFUSU9OICR7Q01BS0VfSU5TVEFMTF9CSU5ESVJ9IENPTVBPTkVOVCB0b29scyBFWFBPUlQgV2luUFJUYXJnZXRzKQotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mcmVlcmRwL2ZyZWVyZHBfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZnJlZXJkcC9mcmVlcmRwX2dpdC5iYgppbmRleCA4OGFlYzljLi4zNzNjNDk3IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mcmVlcmRwL2ZyZWVyZHBfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZyZWVyZHAvZnJlZXJkcF9naXQuYmIKQEAgLTEzLDEwICsxMywxMCBAQAogUFYgPSAiMi4wLjArZ2l0ciR7U1JDUFZ9IgogUEtHViA9ICIke0dJVFBLR1ZUQUd9IgogCi1TUkNSRVYgPSAiMTY0OGRlYjQzNWFkNTIyMDZmN2FhMmFmZTRiNGRmZjcxZDkzMjliYyIKKyMgMi4wLjAtcmM0CitTUkNSRVYgPSAiZTIxYjcyYzk1Zjg1NzgxN2I0YjMyYjVlZjU0MDYzNTVjMDA1YTllOCIKIFNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9GcmVlUkRQL0ZyZWVSRFAuZ2l0IFwKICAgICBmaWxlOi8vd2lucHItbWFrZWNlcnQtQnVpbGQtd2l0aC1pbnN0YWxsLVJQQVRILnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMS1GaXgtZ3N0cmVhbWVyLTEuMC1kZXRlY3Rpb24ucGF0Y2ggXAogIgogCiBTID0gIiR7V09SS0RJUn0vZ2l0IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZnVuY3Rpb24yL2Z1bmN0aW9uMl80LjAuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Z1bmN0aW9uMi9mdW5jdGlvbjJfNC4wLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTU2YTI1YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Z1bmN0aW9uMi9mdW5jdGlvbjJfNC4wLjAuYmIKQEAgLTAsMCArMSwyMSBAQAorU1VNTUFSWSA9ICJJbXByb3ZlZCBkcm9wLWluIHJlcGxhY2VtZW50IGZvciBzdGQ6OmZ1bmN0aW9uIgorREVTQ1JJUFRJT04gPSAiUHJvdmlkZXMgaW1wcm92ZWQgaW1wbGVtZW50YXRpb25zIG9mIHN0ZDo6ZnVuY3Rpb24uIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9uYWlvcy5naXRodWIuaW8vZnVuY3Rpb24yIgorTElDRU5TRSA9ICJCU0wtMS4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PWU0MjI0Y2NhZWNiMTRkOTQyYzcxZDMxYmVmMjBkNzhjIgorU1JDUkVWID0gImQyYWNkYjZjM2M3NjEyYTYxMzNjZDAzNDY0ZWY5NDExNjEyNThmNGUiCitQViAuPSAiK2dpdCR7U1JDUFZ9IgorCitTUkNfVVJJICs9ICJnaXRzbTovL2dpdGh1Yi5jb20vTmFpb3MvZnVuY3Rpb24yIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGNtYWtlCitpbmhlcml0IHB0ZXN0CisKKyMgSW5zdGFsbHMgc29tZSBkYXRhIHRvIGluY29ycmVjdCB0b3AtbGV2ZWwgL3VzciBkaXJlY3RvcnkKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCW1rZGlyIC1wICR7RH0vJHtkYXRhZGlyfS9mdW5jdGlvbjIKKwltdiAke0R9LyR7cHJlZml4fS9SZWFkbWUubWQgJHtEfS8ke2RhdGFkaXJ9L2Z1bmN0aW9uMi8KKwltdiAke0R9LyR7cHJlZml4fS9MSUNFTlNFLnR4dCAke0R9LyR7ZGF0YWRpcn0vZnVuY3Rpb24yLworfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ251bGliL2dudWxpYi9DVkUtMjAxOC0xNzk0Mi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dudWxpYi9nbnVsaWIvQ1ZFLTIwMTgtMTc5NDIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc3ZTgyYjEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ251bGliL2dudWxpYi9DVkUtMjAxOC0xNzk0Mi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDg4ICswLDAgQEAKLUZyb20gZTkxNjAwYTdhYWUzYmFmYmVmYmUxM2FiZjc3MWU2MWJhZGQxNjI4NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUdWUsIDE2IE9jdCAyMDE4IDE0OjI2OjExICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIHZhc25wcmludGY6IEZpeCBoZWFwIG1lbW9yeSBvdmVycnVuIGJ1Zy4KLQotUmVwb3J0ZWQgYnkgQmVuIFBmYWZmIDxibHBAY3Muc3RhbmZvcmQuZWR1PiBpbgotPGh0dHBzOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvYnVnLWdudWxpYi8yMDE4LTA5L21zZzAwMTA3Lmh0bWw+LgotCi0qIGxpYi92YXNucHJpbnRmLmMgKGNvbnZlcnRfdG9fZGVjaW1hbCk6IEFsbG9jYXRlIG9uZSBtb3JlIGJ5dGUgb2YKLW1lbW9yeS4KLSogdGVzdHMvdGVzdC12YXNucHJpbnRmLmMgKHRlc3RfZnVuY3Rpb24pOiBBZGQgYW5vdGhlciB0ZXN0LgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwOi8vZ2l0LnNhdmFubmFoLmdudS5vcmcvZ2l0d2ViLz9wPWdudWxpYi5naXQ7Ci1hPWNvbW1pdGRpZmY7aD0yNzhiNDE3NWM5ZDdkZDQ3YzFhMzA3MTU1NGFhYzAyYWRkM2IzYzM1XQotCi1DVkU6IENWRS0yMDE4LTE3OTQyCi0KLVNpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBDaGFuZ2VMb2cgICAgICAgICAgICAgICB8ICA4ICsrKysrKysrCi0gbGliL3Zhc25wcmludGYuYyAgICAgICAgfCAgNCArKystCi0gdGVzdHMvdGVzdC12YXNucHJpbnRmLmMgfCAxOSArKysrKysrKysrKysrKysrKystCi0gMyBmaWxlcyBjaGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCi1pbmRleCA5ODY0MzUzLi41ZmY3NmEzIDEwMDY0NAotLS0tIGEvQ2hhbmdlTG9nCi0rKysgYi9DaGFuZ2VMb2cKLUBAIC0xLDMgKzEsMTEgQEAKLSsyMDE4LTA5LTIzICBCcnVubyBIYWlibGUgIDxicnVub0BjbGlzcC5vcmc+Ci0rIAl2YXNucHJpbnRmOiBGaXggaGVhcCBtZW1vcnkgb3ZlcnJ1biBidWcuCi0rCVJlcG9ydGVkIGJ5IEJlbiBQZmFmZiA8YmxwQGNzLnN0YW5mb3JkLmVkdT4gaW4KLSsJPGh0dHBzOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvYnVnLWdudWxpYi8yMDE4LTA5L21zZzAwMTA3Lmh0bWw+LgotKwkqIGxpYi92YXNucHJpbnRmLmMgKGNvbnZlcnRfdG9fZGVjaW1hbCk6IEFsbG9jYXRlIG9uZSBtb3JlIGJ5dGUgb2YKLSsJbWVtb3J5LgotKwkqIHRlc3RzL3Rlc3QtdmFzbnByaW50Zi5jICh0ZXN0X2Z1bmN0aW9uKTogQWRkIGFub3RoZXIgdGVzdC4KLSsKLSAyMDE3LTA4LTIxICBQYXVsIEVnZ2VydCAgPGVnZ2VydEBjcy51Y2xhLmVkdT4KLSAKLSAJdmMtbGlzdC1maWxlczogcG9ydCB0byBTb2xhcmlzIDEwCi1kaWZmIC0tZ2l0IGEvbGliL3Zhc25wcmludGYuYyBiL2xpYi92YXNucHJpbnRmLmMKLWluZGV4IDJlNGViMTkuLjQ1ZGU0OWYgMTAwNjQ0Ci0tLS0gYS9saWIvdmFzbnByaW50Zi5jCi0rKysgYi9saWIvdmFzbnByaW50Zi5jCi1AQCAtODYwLDcgKzg2MCw5IEBAIGNvbnZlcnRfdG9fZGVjaW1hbCAobXBuX3QgYSwgc2l6ZV90IGV4dHJhX3plcm9lcykKLSAgIHNpemVfdCBhX2xlbiA9IGEubmxpbWJzOwotICAgLyogMC4wMzM0NSBpcyBzbGlnaHRseSBsYXJnZXIgdGhhbiBsb2coMikvKDkqbG9nKDEwKSkuICAqLwotICAgc2l6ZV90IGNfbGVuID0gOSAqICgoc2l6ZV90KShhX2xlbiAqIChHTVBfTElNQl9CSVRTICogMC4wMzM0NWYpKSArIDEpOwotLSAgY2hhciAqY19wdHIgPSAoY2hhciAqKSBtYWxsb2MgKHhzdW0gKGNfbGVuLCBleHRyYV96ZXJvZXMpKTsKLSsgIC8qIFdlIG5lZWQgZXh0cmFfemVyb2VzIGJ5dGVzIGZvciB6ZXJvZXMsIGZvbGxvd2VkIGJ5IGNfbGVuIGJ5dGVzIGZvciB0aGUKLSsgICAgIGRpZ2l0cyBvZiBhLCBmb2xsb3dlZCBieSAxIGJ5dGUgZm9yIHRoZSB0ZXJtaW5hdGluZyBOVUwuICAqLwotKyAgY2hhciAqY19wdHIgPSAoY2hhciAqKSBtYWxsb2MgKHhzdW0gKHhzdW0gKGV4dHJhX3plcm9lcywgY19sZW4pLCAxKSk7Ci0gICBpZiAoY19wdHIgIT0gTlVMTCkKLSAgICAgewotICAgICAgIGNoYXIgKmRfcHRyID0gY19wdHI7Ci1kaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdC12YXNucHJpbnRmLmMgYi90ZXN0cy90ZXN0LXZhc25wcmludGYuYwotaW5kZXggMmRkODY5Zi4uZmY2OGQ1YyAxMDA2NDQKLS0tLSBhL3Rlc3RzL3Rlc3QtdmFzbnByaW50Zi5jCi0rKysgYi90ZXN0cy90ZXN0LXZhc25wcmludGYuYwotQEAgLTUzLDcgKzUzLDI0IEBAIHRlc3RfZnVuY3Rpb24gKGNoYXIgKiAoKm15X2FzbnByaW50ZikgKGNoYXIgKiwgc2l6ZV90ICosIGNvbnN0IGNoYXIgKiwgLi4uKSkKLSAgICAgICBBU1NFUlQgKHJlc3VsdCAhPSBOVUxMKTsKLSAgICAgICBBU1NFUlQgKHN0cmNtcCAocmVzdWx0LCAiMTIzNDUiKSA9PSAwKTsKLSAgICAgICBBU1NFUlQgKGxlbmd0aCA9PSA1KTsKLS0gICAgICBpZiAoc2l6ZSA8IDYpCi0rICAgICAgaWYgKHNpemUgPCA1ICsgMSkKLSsgICAgICAgIEFTU0VSVCAocmVzdWx0ICE9IGJ1Zik7Ci0rICAgICAgQVNTRVJUIChtZW1jbXAgKGJ1ZiArIHNpemUsICYiREVBREJFRUYiW3NpemVdLCA4IC0gc2l6ZSkgPT0gMCk7Ci0rICAgICAgaWYgKHJlc3VsdCAhPSBidWYpCi0rICAgICAgICBmcmVlIChyZXN1bHQpOwotKyAgICB9Ci0rICAgLyogTm90ZTogVGhpcyB0ZXN0IGFzc3VtZXMgSUVFRSA3NTQgcmVwcmVzZW50YXRpb24gb2YgJ2RvdWJsZScgZmxvYXRzLiAgKi8KLSsgIGZvciAoc2l6ZSA9IDA7IHNpemUgPD0gODsgc2l6ZSsrKQotKyAgICB7Ci0rICAgICAgc2l6ZV90IGxlbmd0aDsKLSsgICAgICBjaGFyICpyZXN1bHQ7Ci0rICAgICAgIG1lbWNweSAoYnVmLCAiREVBREJFRUYiLCA4KTsKLSsgICAgICBsZW5ndGggPSBzaXplOwotKyAgICAgIHJlc3VsdCA9IG15X2FzbnByaW50ZiAoYnVmLCAmbGVuZ3RoLCAiJTIuMGYiLCAxLjYzMTQxNTkyNjUzNTg5NzllKzEyNSk7Ci0rICAgICAgQVNTRVJUIChyZXN1bHQgIT0gTlVMTCk7Ci0rICAgICAgQVNTRVJUIChzdHJjbXAgKHJlc3VsdCwgIjE2MzE0MTU5MjY1MzU4OTc5MDIxNTcyOTM1MDkzOTUyODQ5MzA1NzUyOTU5ODg5OTczNDE1MTc3MjQ2ODE4NjI2ODQyMzI1Nzc3NzA2ODUzNjYxNDgzODY3ODE2MTA4MzUyMDc1Njk1MjA3NjI3MzA5NDIzNjk0NDk5MDIwOCIpID09IDApOwotKyAgICAgIEFTU0VSVCAobGVuZ3RoID09IDEyNik7Ci0rICAgICAgaWYgKHNpemUgPCAxMjYgKyAxKQotICAgICAgICAgQVNTRVJUIChyZXN1bHQgIT0gYnVmKTsKLSAgICAgICBBU1NFUlQgKG1lbWNtcCAoYnVmICsgc2l6ZSwgJiJERUFEQkVFRiJbc2l6ZV0sIDggLSBzaXplKSA9PSAwKTsKLSAgICAgICBpZiAocmVzdWx0ICE9IGJ1ZikKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ251bGliL2dudWxpYl8yMDE3LTA4LTIwLjE4LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ251bGliL2dudWxpYl8yMDE3LTA4LTIwLjE4LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMDQ4ODEwLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dudWxpYi9nbnVsaWJfMjAxNy0wOC0yMC4xOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLVNVTU1BUlkgPSAiVGhlIEdOVSBwb3J0YWJpbGl0eSBsaWJyYXJ5IgotREVTQ1JJUFRJT04gPSAiQSBjb2xsZWN0aW9uIG9mIHNvZnR3YXJlIHN1YnJvdXRpbmVzIHdoaWNoIGFyZSBkZXNpZ25lZCB0byBcCi1iZSB1c2FibGUgb24gbWFueSBvcGVyYXRpbmcgc3lzdGVtcy4gVGhlIGdvYWwgb2YgdGhlIHByb2plY3QgXAotaXMgdG8gbWFrZSBpdCBlYXN5IGZvciBmcmVlIHNvZnR3YXJlIGF1dGhvcnMgdG8gbWFrZSB0aGVpciBcCi1zb2Z0d2FyZSBydW4gb24gbWFueSBvcGVyYXRpbmcgc3lzdGVtcy4gU2luY2Ugc291cmNlIGlzIGRlc2lnbmVkIFwKLXRvIGJlIGNvcGllZCBmcm9tIGdudWxpYiwgaXQgaXMgbm90IGEgbGlicmFyeSBwZXItc2UsIGFzIG11Y2ggXAotYXMgYSBjb2xsZWN0aW9uIG9mIHBvcnRhYmxlIGlkaW9tcyB0byBiZSB1c2VkIGluIG90aGVyIHByb2plY3RzLiIKLQotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2dudWxpYi8iCi1TRUNUSU9OID0gImRldmVsIgotTElDRU5TRSA9ICJMR1BMdjIrIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01NmEyMmE2ZTViY2NlNDVlMmM4YWMxODRmODE0MTJiNSIKLVNSQ1JFViA9ICJiMjMwMDBkZTFlNDdjN2Q1ODBlMGUyMjA5NjZkZDFlZTQyYTVlNWJjIgotCi1TUkNfVVJJID0gImdpdDovL2dpdC5zdi5nbnUub3JnL2dudWxpYjtwcm90b2NvbD1naXQgXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTc5NDIucGF0Y2ggXAotIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1kb19pbnN0YWxsICgpIHsKLSAgICBjZCAke1N9Ci0gICAgZ2l0IGNoZWNrb3V0IG1hc3RlcgotICAgIGdpdCBjbG9uZSAke1N9ICR7RH0vJHtkYXRhZGlyfS9nbnVsaWIKLSAgICBjZCAke0R9LyR7ZGF0YWRpcn0vZ251bGliCi0gICAgZ2l0IGFtICR7V09SS0RJUn0vQ1ZFLTIwMTgtMTc5NDIucGF0Y2gKLX0KLQotZG9fcGF0Y2hbbm9leGVjXSA9ICIxIgotZG9fY29uZmlndXJlW25vZXhlY10gPSAiMSIKLWRvX2NvbXBpbGVbbm9leGVjXSA9ICIxIgotZG9fcGFja2FnZVtub2V4ZWNdID0gIjEiCi1kb19wYWNrYWdlZGF0YVtub2V4ZWNdID0gIjEiCi1kZWx0YXNrIHBhY2thZ2Vfd3JpdGVfaXBrCi1kZWx0YXNrIHBhY2thZ2Vfd3JpdGVfZGViCi1kZWx0YXNrIHBhY2thZ2Vfd3JpdGVfcnBtCi1kZWx0YXNrIGRvX2RlcGxveV9hcmNoaXZlcyAKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9nbnVsaWIvZ251bGliXzIwMTgtMDMtMDcuMDMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9nbnVsaWIvZ251bGliXzIwMTgtMDMtMDcuMDMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTQ2NzQ3ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dudWxpYi9nbnVsaWJfMjAxOC0wMy0wNy4wMy5iYgpAQCAtMCwwICsxLDQwIEBACitTVU1NQVJZID0gIlRoZSBHTlUgcG9ydGFiaWxpdHkgbGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIkEgY29sbGVjdGlvbiBvZiBzb2Z0d2FyZSBzdWJyb3V0aW5lcyB3aGljaCBhcmUgZGVzaWduZWQgdG8gXAorYmUgdXNhYmxlIG9uIG1hbnkgb3BlcmF0aW5nIHN5c3RlbXMuIFRoZSBnb2FsIG9mIHRoZSBwcm9qZWN0IFwKK2lzIHRvIG1ha2UgaXQgZWFzeSBmb3IgZnJlZSBzb2Z0d2FyZSBhdXRob3JzIHRvIG1ha2UgdGhlaXIgXAorc29mdHdhcmUgcnVuIG9uIG1hbnkgb3BlcmF0aW5nIHN5c3RlbXMuIFNpbmNlIHNvdXJjZSBpcyBkZXNpZ25lZCBcCit0byBiZSBjb3BpZWQgZnJvbSBnbnVsaWIsIGl0IGlzIG5vdCBhIGxpYnJhcnkgcGVyLXNlLCBhcyBtdWNoIFwKK2FzIGEgY29sbGVjdGlvbiBvZiBwb3J0YWJsZSBpZGlvbXMgdG8gYmUgdXNlZCBpbiBvdGhlciBwcm9qZWN0cy4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9nbnVsaWIvIgorU0VDVElPTiA9ICJkZXZlbCIKK0xJQ0VOU0UgPSAiTEdQTHYyKyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTZhMjJhNmU1YmNjZTQ1ZTJjOGFjMTg0ZjgxNDEyYjUiCitTUkNSRVYgPSAiMGQ2ZTMzMDdiYmRiOGRmNGQ1NjA0M2Q1ZjM3M2VlZWZmZTRjYmVmMyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQuc3YuZ251Lm9yZy9nbnVsaWIuZ2l0IFwKKyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCB1dGlscworCitkb19pbnN0YWxsICgpIHsKKyAgICBjZCAke1N9CisgICAgY2hlY2tfZ2l0X2NvbmZpZworICAgIGdpdCBjaGVja291dCBtYXN0ZXIKKyAgICBnaXQgY2xvbmUgJHtTfSAke0R9LyR7ZGF0YWRpcn0vZ251bGliCit9CisKK2RvX3BhdGNoW25vZXhlY10gPSAiMSIKK2RvX2NvbmZpZ3VyZVtub2V4ZWNdID0gIjEiCitkb19jb21waWxlW25vZXhlY10gPSAiMSIKK2RvX3BhY2thZ2Vbbm9leGVjXSA9ICIxIgorZG9fcGFja2FnZWRhdGFbbm9leGVjXSA9ICIxIgorZGVsdGFzayBwYWNrYWdlX3dyaXRlX2lwaworZGVsdGFzayBwYWNrYWdlX3dyaXRlX2RlYgorZGVsdGFzayBwYWNrYWdlX3dyaXRlX3JwbQorZGVsdGFzayBkb19kZXBsb3lfYXJjaGl2ZXMgCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3BlcmZ0b29scy9ncGVyZnRvb2xzXzIuNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dwZXJmdG9vbHMvZ3BlcmZ0b29sc18yLjcuYmIKaW5kZXggZTlmY2M0Yy4uYzhiOTEyNyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3BlcmZ0b29scy9ncGVyZnRvb2xzXzIuNy5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ncGVyZnRvb2xzL2dwZXJmdG9vbHNfMi43LmJiCkBAIC0yNiw0ICsyNiw1IEBACiAjIHtzdGFuZGFyZCBpbnB1dH06NDM0OiBFcnJvcjogbG8gcmVnaXN0ZXIgcmVxdWlyZWQgLS0gYGxkciBwYyxbc3BdJwogIyBNYWtlZmlsZTo0NTM4OiByZWNpcGUgZm9yIHRhcmdldCAnc3JjL2Jhc2UvbGlidGNtYWxsb2NfbGEtbGludXh0aHJlYWRzLmxvJyBmYWlsZWQKIEFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgorQVJNX0lOU1RSVUNUSU9OX1NFVF90b29sY2hhaW4tY2xhbmdfYXJtID0gImFybSIKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRmNS9maWxlcy8wMDAxLWNyb3NzLWNvbXBpbGluZy1zdXBwb3J0LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRmNS9maWxlcy8wMDAxLWNyb3NzLWNvbXBpbGluZy1zdXBwb3J0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3ZjE2YmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGY1L2ZpbGVzLzAwMDEtY3Jvc3MtY29tcGlsaW5nLXN1cHBvcnQucGF0Y2gKQEAgLTAsMCArMSw3MSBAQAorRnJvbSAxYjRmYWRmNTUwNTg3YjQ2ZTQwNWQ3Y2NiNzc3ZGNiMDBhYTc5MWEyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAyOSBKYW4gMjAxOSAxNTozOToxNSArMDgwMAorU3ViamVjdDogW1BBVENIIDEvMl0gY3Jvc3MgY29tcGlsaW5nIHN1cHBvcnQKKworRG8gbm90IGdlbmVyYXRlIGNvbmZpZyBmaWxlcyBhdCBidWlsZCB0aW1lLCB1c2UgcHJlLWdlbmVyYXRlZAorZmlsZXMgdG8gaW5zdGVhZC4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorLS0tCisgQ01ha2VMaXN0cy50eHQgICAgIHwgIDYgKysrKysrCisgc3JjL0NNYWtlTGlzdHMudHh0IHwgMjMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0CitpbmRleCAwOGE2NWM0Li45YWYxNGQ1IDEwMDY0NAorLS0tIGEvQ01ha2VMaXN0cy50eHQKKysrKyBiL0NNYWtlTGlzdHMudHh0CitAQCAtODE3LDQgKzgxNywxMCBAQCBlbmRpZiAoKQorICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGNvbmZpZ3VyZV9maWxlICgke0hERl9SRVNPVVJDRVNfRElSfS9INXB1YmNvbmYuaC5pbiAke0hERjVfQklOQVJZX0RJUn0vSDVwdWJjb25mLmggQE9OTFkpCisgCisrIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBDb3B5IHRoZSBwcmUtZ2VuZXJhdGVkIGZpbGVzIGluIHBsYWNlCisrIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrY29uZmlndXJlX2ZpbGUoSDVUaW5pdC5jIEg1VGluaXQuYyBDT1BZT05MWSkKKytjb25maWd1cmVfZmlsZShINWxpYl9zZXR0aW5ncy5jIEg1bGliX3NldHRpbmdzLmMgQ09QWU9OTFkpCisrCisgaW5jbHVkZSAoQ01ha2VJbnN0YWxsYXRpb24uY21ha2UpCitkaWZmIC0tZ2l0IGEvc3JjL0NNYWtlTGlzdHMudHh0IGIvc3JjL0NNYWtlTGlzdHMudHh0CitpbmRleCBkMzQzMjA4Li5kMTE1MjViIDEwMDY0NAorLS0tIGEvc3JjL0NNYWtlTGlzdHMudHh0CisrKysgYi9zcmMvQ01ha2VMaXN0cy50eHQKK0BAIC02MTMsMzIgKzYxMyw5IEBAIHNldCAoSDVfUFJJVkFURV9IRUFERVJTCisgIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgYWRkX2V4ZWN1dGFibGUgKEg1ZGV0ZWN0ICR7SERGNV9TUkNfRElSfS9INWRldGVjdC5jKQorIFRBUkdFVF9DX1BST1BFUlRJRVMgKEg1ZGV0ZWN0IFNUQVRJQyAiICIgIiAiKQorLWlmIChNU1ZDIE9SIE1JTkdXKQorLSAgdGFyZ2V0X2xpbmtfbGlicmFyaWVzIChINWRldGVjdCAid3MyXzMyLmxpYiIpCistZW5kaWYgKCkKKy0KKy1zZXQgKENNRCAkPFRBUkdFVF9GSUxFOkg1ZGV0ZWN0PikKKy1hZGRfY3VzdG9tX2NvbW1hbmQgKAorLSAgICBPVVRQVVQgJHtIREY1X0JJTkFSWV9ESVJ9L0g1VGluaXQuYworLSAgICBDT01NQU5EICR7Q01EfQorLSAgICBBUkdTID4gJHtIREY1X0JJTkFSWV9ESVJ9L0g1VGluaXQuYworLSAgICBERVBFTkRTIEg1ZGV0ZWN0CistKQorIAorIGFkZF9leGVjdXRhYmxlIChINW1ha2VfbGlic2V0dGluZ3MgJHtIREY1X1NSQ19ESVJ9L0g1bWFrZV9saWJzZXR0aW5ncy5jKQorIFRBUkdFVF9DX1BST1BFUlRJRVMgKEg1bWFrZV9saWJzZXR0aW5ncyBTVEFUSUMgIiAiICIgIikKKy1pZiAoTVNWQyBPUiBNSU5HVykKKy0gIHRhcmdldF9saW5rX2xpYnJhcmllcyAoSDVtYWtlX2xpYnNldHRpbmdzICJ3czJfMzIubGliIikKKy1lbmRpZiAoKQorLQorLXNldCAoQ01EICQ8VEFSR0VUX0ZJTEU6SDVtYWtlX2xpYnNldHRpbmdzPikKKy1hZGRfY3VzdG9tX2NvbW1hbmQgKAorLSAgICBPVVRQVVQgJHtIREY1X0JJTkFSWV9ESVJ9L0g1bGliX3NldHRpbmdzLmMKKy0gICAgQ09NTUFORCAke0NNRH0KKy0gICAgQVJHUyA+ICR7SERGNV9CSU5BUllfRElSfS9INWxpYl9zZXR0aW5ncy5jCistICAgIERFUEVORFMgSDVtYWtlX2xpYnNldHRpbmdzCistICAgIFdPUktJTkdfRElSRUNUT1JZICR7SERGNV9CSU5BUllfRElSfQorLSkKKyAKKyBpZiAoR0VORVJBVEVfRVJST1JfSEVBREVSUykKKyAgIGZpbmRfcGFja2FnZSAoUGVybCkKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRmNS9maWxlcy8wMDAyLVJlbW92ZS1zdWZmaXgtc2hhcmVkLWZyb20tc2hhcmVkLWxpYnJhcnktbmFtZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZjUvZmlsZXMvMDAwMi1SZW1vdmUtc3VmZml4LXNoYXJlZC1mcm9tLXNoYXJlZC1saWJyYXJ5LW5hbWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmY4OTM3OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZjUvZmlsZXMvMDAwMi1SZW1vdmUtc3VmZml4LXNoYXJlZC1mcm9tLXNoYXJlZC1saWJyYXJ5LW5hbWUucGF0Y2gKQEAgLTAsMCArMSw1MCBAQAorRnJvbSBmNzYxNDE4NjRlZGY3MTAwYzFjMjliZWMxNTllYTYyOTA3N2E3ZmEwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAyOSBKYW4gMjAxOSAxMToxMzo0MiArMDgwMAorU3ViamVjdDogW1BBVENIIDIvMl0gUmVtb3ZlIHN1ZmZpeCBgLXNoYXJlZCcgZnJvbSBzaGFyZWQgbGlicmFyeSBuYW1lCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0Ugc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIENNYWtlTGlzdHMudHh0IHwgMjQgKysrKysrKysrKysrLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAoraW5kZXggOWFmMTRkNS4uMDUxMDBlMyAxMDA2NDQKKy0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTE1MywxOCArMTUzLDE4IEBAIHNldCAoSERGNV9GOTBfVEVTVF9MSUJfVEFSR0VUICAgICAiJHtIREY1X0Y5MF9URVNUX0xJQl9DT1JFTkFNRX0tc3RhdGljIikKKyBzZXQgKEhERjVfRjkwX0NfVEVTVF9MSUJfVEFSR0VUICAgIiR7SERGNV9GOTBfQ19URVNUX0xJQl9DT1JFTkFNRX0tc3RhdGljIikKKyBzZXQgKEhERjVfSExfRjkwX0xJQl9UQVJHRVQgICAgICAgIiR7SERGNV9ITF9GOTBfTElCX0NPUkVOQU1FfS1zdGF0aWMiKQorIHNldCAoSERGNV9ITF9GOTBfQ19MSUJfVEFSR0VUICAgICAiJHtIREY1X0hMX0Y5MF9DX0xJQl9DT1JFTkFNRX0tc3RhdGljIikKKy1zZXQgKEhERjVfTElCU0hfVEFSR0VUICAgICAgICAgICAgIiR7SERGNV9MSUJfQ09SRU5BTUV9LXNoYXJlZCIpCistc2V0IChIREY1X1RFU1RfTElCU0hfVEFSR0VUICAgICAgICIke0hERjVfVEVTVF9MSUJfQ09SRU5BTUV9LXNoYXJlZCIpCistc2V0IChIREY1X0NQUF9MSUJTSF9UQVJHRVQgICAgICAgICIke0hERjVfQ1BQX0xJQl9DT1JFTkFNRX0tc2hhcmVkIikKKy1zZXQgKEhERjVfSExfTElCU0hfVEFSR0VUICAgICAgICAgIiR7SERGNV9ITF9MSUJfQ09SRU5BTUV9LXNoYXJlZCIpCistc2V0IChIREY1X0hMX0NQUF9MSUJTSF9UQVJHRVQgICAgICIke0hERjVfSExfQ1BQX0xJQl9DT1JFTkFNRX0tc2hhcmVkIikKKy1zZXQgKEhERjVfVE9PTFNfTElCU0hfVEFSR0VUICAgICAgIiR7SERGNV9UT09MU19MSUJfQ09SRU5BTUV9LXNoYXJlZCIpCistc2V0IChIREY1X0Y5MF9MSUJTSF9UQVJHRVQgICAgICAgICIke0hERjVfRjkwX0xJQl9DT1JFTkFNRX0tc2hhcmVkIikKKy1zZXQgKEhERjVfRjkwX0NfTElCU0hfVEFSR0VUICAgICAgIiR7SERGNV9GOTBfQ19MSUJfQ09SRU5BTUV9LXNoYXJlZCIpCistc2V0IChIREY1X0Y5MF9URVNUX0xJQlNIX1RBUkdFVCAgICIke0hERjVfRjkwX1RFU1RfTElCX0NPUkVOQU1FfS1zaGFyZWQiKQorLXNldCAoSERGNV9GOTBfQ19URVNUX0xJQlNIX1RBUkdFVCAiJHtIREY1X0Y5MF9DX1RFU1RfTElCX0NPUkVOQU1FfS1zaGFyZWQiKQorLXNldCAoSERGNV9ITF9GOTBfTElCU0hfVEFSR0VUICAgICAiJHtIREY1X0hMX0Y5MF9MSUJfQ09SRU5BTUV9LXNoYXJlZCIpCistc2V0IChIREY1X0hMX0Y5MF9DX0xJQlNIX1RBUkdFVCAgICIke0hERjVfSExfRjkwX0NfTElCX0NPUkVOQU1FfS1zaGFyZWQiKQorK3NldCAoSERGNV9MSUJTSF9UQVJHRVQgICAgICAgICAgICAiJHtIREY1X0xJQl9DT1JFTkFNRX0iKQorK3NldCAoSERGNV9URVNUX0xJQlNIX1RBUkdFVCAgICAgICAiJHtIREY1X1RFU1RfTElCX0NPUkVOQU1FfSIpCisrc2V0IChIREY1X0NQUF9MSUJTSF9UQVJHRVQgICAgICAgICIke0hERjVfQ1BQX0xJQl9DT1JFTkFNRX0iKQorK3NldCAoSERGNV9ITF9MSUJTSF9UQVJHRVQgICAgICAgICAiJHtIREY1X0hMX0xJQl9DT1JFTkFNRX0iKQorK3NldCAoSERGNV9ITF9DUFBfTElCU0hfVEFSR0VUICAgICAiJHtIREY1X0hMX0NQUF9MSUJfQ09SRU5BTUV9IikKKytzZXQgKEhERjVfVE9PTFNfTElCU0hfVEFSR0VUICAgICAgIiR7SERGNV9UT09MU19MSUJfQ09SRU5BTUV9IikKKytzZXQgKEhERjVfRjkwX0xJQlNIX1RBUkdFVCAgICAgICAgIiR7SERGNV9GOTBfTElCX0NPUkVOQU1FfSIpCisrc2V0IChIREY1X0Y5MF9DX0xJQlNIX1RBUkdFVCAgICAgICIke0hERjVfRjkwX0NfTElCX0NPUkVOQU1FfSIpCisrc2V0IChIREY1X0Y5MF9URVNUX0xJQlNIX1RBUkdFVCAgICIke0hERjVfRjkwX1RFU1RfTElCX0NPUkVOQU1FfSIpCisrc2V0IChIREY1X0Y5MF9DX1RFU1RfTElCU0hfVEFSR0VUICIke0hERjVfRjkwX0NfVEVTVF9MSUJfQ09SRU5BTUV9IikKKytzZXQgKEhERjVfSExfRjkwX0xJQlNIX1RBUkdFVCAgICAgIiR7SERGNV9ITF9GOTBfTElCX0NPUkVOQU1FfSIpCisrc2V0IChIREY1X0hMX0Y5MF9DX0xJQlNIX1RBUkdFVCAgICIke0hERjVfSExfRjkwX0NfTElCX0NPUkVOQU1FfSIpCisgCisgIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBEZWZpbmUgc29tZSBDTWFrZSB2YXJpYWJsZXMgZm9yIHVzZSBsYXRlciBpbiB0aGUgcHJvamVjdAorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGY1L2ZpbGVzL0g1VGluaXQtMzIuYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZjUvZmlsZXMvSDVUaW5pdC0zMi5jCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjgwNTdhN2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGY1L2ZpbGVzL0g1VGluaXQtMzIuYwpAQCAtMCwwICsxLDk3NSBAQAorLyogR2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgYnkgSDVkZXRlY3QgLS0gZG8gbm90IGVkaXQgKi8KKworCisKKy8qICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKgorICogQ29weXJpZ2h0IGJ5IFRoZSBIREYgR3JvdXAuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgKiBDb3B5cmlnaHQgYnkgdGhlIEJvYXJkIG9mIFRydXN0ZWVzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzLiAgICAgICAgICoKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBIREY1LiAgVGhlIGZ1bGwgSERGNSBjb3B5cmlnaHQgbm90aWNlLCBpbmNsdWRpbmcgICAgICoKKyAqIHRlcm1zIGdvdmVybmluZyB1c2UsIG1vZGlmaWNhdGlvbiwgYW5kIHJlZGlzdHJpYnV0aW9uLCBpcyBjb250YWluZWQgaW4gICAgKgorICogdGhlIENPUFlJTkcgZmlsZSwgd2hpY2ggY2FuIGJlIGZvdW5kIGF0IHRoZSByb290IG9mIHRoZSBzb3VyY2UgY29kZSAgICAgICAqCisgKiBkaXN0cmlidXRpb24gdHJlZSwgb3IgaW4gaHR0cHM6Ly9zdXBwb3J0LmhkZmdyb3VwLm9yZy9mdHAvSERGNS9yZWxlYXNlcy4gICoKKyAqIElmIHlvdSBkbyBub3QgaGF2ZSBhY2Nlc3MgdG8gZWl0aGVyIGZpbGUsIHlvdSBtYXkgcmVxdWVzdCBhIGNvcHkgZnJvbSAgICAgKgorICogaGVscEBoZGZncm91cC5vcmcuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICoKKyAqCisgKiBDcmVhdGVkOgkJTWFyICA1LCAyMDE5CisgKgkJCXJvb3QgPHJvb3RAcWVtdWFybT4KKyAqCisgKiBQdXJwb3NlOgkJVGhpcyBtYWNoaW5lLWdlbmVyYXRlZCBzb3VyY2UgY29kZSBjb250YWlucworICoJCQlpbmZvcm1hdGlvbiBhYm91dCB0aGUgdmFyaW91cyBpbnRlZ2VyIGFuZAorICoJCQlmbG9hdGluZyBwb2ludCBudW1lcmljIGZvcm1hdHMgZm91bmQgb24gdGhpcworICoJCQlhcmNoaXRlY3R1cmUuICBUaGUgcGFyYW1ldGVycyBiZWxvdyBzaG91bGQgYmUKKyAqCQkJY2hlY2tlZCBjYXJlZnVsbHkgYW5kIGVycm9ycyByZXBvcnRlZCB0byB0aGUKKyAqCQkJSERGNSBtYWludGFpbmVyLgorICoJCQkKKyAqCQkJRWFjaCBvZiB0aGUgbnVtZXJpYyBmb3JtYXRzIGxpc3RlZCBiZWxvdyBhcmUKKyAqCQkJcHJpbnRlZCBmcm9tIG1vc3Qgc2lnbmlmaWNhbnQgYml0IHRvIGxlYXN0CisgKgkJCXNpZ25pZmljYW50IGJpdCBldmVuIHRob3VnaCB0aGUgYWN0dWFsIGJ5dGVzCisgKgkJCW1pZ2h0IGJlIHN0b3JlZCBpbiBhIGRpZmZlcmVudCBvcmRlciBpbgorICoJCQltZW1vcnkuCSBUaGUgaW50ZWdlcnMgYWJvdmUgZWFjaCBiaW5hcnkgYnl0ZQorICoJCQlpbmRpY2F0ZSB0aGUgcmVsYXRpdmUgb3JkZXIgb2YgdGhlIGJ5dGVzIGluCisgKgkJCW1lbW9yeTsgbGl0dGxlLWVuZGlhbiBtYWNoaW5lcyBoYXZlCisgKgkJCWRlY3JlYXNpbmcgbnVtYmVycyB3aGlsZSBiaWctZW5kaWFuIG1hY2hpbmVzCisgKgkJCWhhdmUgaW5jcmVhc2luZyBudW1iZXJzLgorICoJCQkKKyAqCQkJVGhlIGZpZWxkcyBvZiB0aGUgbnVtYmVycyBhcmUgcHJpbnRlZCBhcworICoJCQlsZXR0ZXJzIHdpdGggYFMnIGZvciB0aGUgbWFudGlzc2Egc2lnbiBiaXQsCisgKgkJCWBNJyBmb3IgdGhlIG1hbnRpc3NhIG1hZ25pdHVkZSwgYW5kIGBFJyBmb3IKKyAqCQkJdGhlIGV4cG9uZW50LiAgVGhlIGV4cG9uZW50IGhhcyBhbiBhc3NvY2lhdGVkCisgKgkJCWJpYXMgd2hpY2ggY2FuIGJlIHN1YnRyYWN0ZWQgdG8gZmluZCB0aGUKKyAqCQkJdHJ1ZSBleHBvbmVudC4JVGhlIHJhZGl4IHBvaW50IGlzIGFzc3VtZWQKKyAqCQkJdG8gYmUgYmVmb3JlIHRoZSBmaXJzdCBgTScgYml0LgkgQW55IGJpdAorICoJCQlvZiBhIGZsb2F0aW5nLXBvaW50IHZhbHVlIG5vdCBmYWxsaW5nIGludG8gb25lCisgKgkJCW9mIHRoZXNlIGNhdGVnb3JpZXMgaXMgcHJpbnRlZCBhcyBhIHF1ZXN0aW9uCisgKgkJCW1hcmsuICBCaXRzIG9mIGludGVnZXIgdHlwZXMgYXJlIHByaW50ZWQgYXMKKyAqCQkJYEknIGZvciAyJ3MgY29tcGxlbWVudCBhbmQgYFUnIGZvciBtYWduaXR1ZGUuCisgKgkJCQorICoJCQlJZiB0aGUgbW9zdCBzaWduaWZpY2FudCBiaXQgb2YgdGhlIG5vcm1hbGl6ZWQKKyAqCQkJbWFudGlzc2EgKGFsd2F5cyBhIGAxJyBleGNlcHQgZm9yIGAwLjAnKSBpcworICoJCQlub3Qgc3RvcmVkIHRoZW4gYW4gYGltcGxpY2l0PXllcycgYXBwZWFycworICoJCQl1bmRlciB0aGUgZmllbGQgZGVzY3JpcHRpb24uICBJbiB0aGllIGNhc2UsCisgKgkJCXRoZSByYWRpeCBwb2ludCBpcyBzdGlsbCBhc3N1bWVkIHRvIGJlCisgKgkJCWJlZm9yZSB0aGUgZmlyc3QgYE0nIGJ1dCBhZnRlciB0aGUgaW1wbGljaXQKKyAqCQkJYml0LgorICoKKyAqIE1vZGlmaWNhdGlvbnM6CisgKgorICoJRE8gTk9UIE1BS0UgTU9ESUZJQ0FUSU9OUyBUTyBUSElTIEZJTEUhCisgKglJdCB3YXMgZ2VuZXJhdGVkIGJ5IGNvZGUgaW4gYEg1ZGV0ZWN0LmMnLgorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisKKy8qKioqKioqKioqKioqKioqLworLyogTW9kdWxlIFNldHVwICovCisvKioqKioqKioqKioqKioqKi8KKworI2RlZmluZSBINVRfUEFDS0FHRSAvKnN1cHByZXNzIGVycm9yIGFib3V0IGluY2x1ZGluZyBINVRwa2cuaCovCisKKworLyoqKioqKioqKioqLworLyogSGVhZGVycyAqLworLyoqKioqKioqKioqLworI2luY2x1ZGUgIkg1cHJpdmF0ZS5oIgkJLyogR2VuZXJpYyBGdW5jdGlvbnMJCQkqLworI2luY2x1ZGUgIkg1RXByaXZhdGUuaCIJCS8qIEVycm9yIGhhbmRsaW5nCQkgIAkqLworI2luY2x1ZGUgIkg1Rkxwcml2YXRlLmgiCS8qIEZyZWUgTGlzdHMJCQkJKi8KKyNpbmNsdWRlICJINUlwcml2YXRlLmgiCQkvKiBJRHMJCQkgIAkJKi8KKyNpbmNsdWRlICJINVRwa2cuaCIJCS8qIERhdGF0eXBlcyAJCQkJKi8KKworCisvKioqKioqKioqKioqKioqKi8KKy8qIExvY2FsIE1hY3JvcyAqLworLyoqKioqKioqKioqKioqKiovCisKKworLyoqKioqKioqKioqKioqKioqKi8KKy8qIExvY2FsIFR5cGVkZWZzICovCisvKioqKioqKioqKioqKioqKioqLworCisKKy8qKioqKioqKioqKioqKioqKioqKi8KKy8qIFBhY2thZ2UgVHlwZWRlZnMgKi8KKy8qKioqKioqKioqKioqKioqKioqKi8KKworCisvKioqKioqKioqKioqKioqKioqKiovCisvKiBMb2NhbCBQcm90b3R5cGVzICovCisvKioqKioqKioqKioqKioqKioqKiovCisKKworLyoqKioqKioqKioqKioqKioqKioqLworLyogUHVibGljIFZhcmlhYmxlcyAqLworLyoqKioqKioqKioqKioqKioqKioqLworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIExpYnJhcnkgUHJpdmF0ZSBWYXJpYWJsZXMgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworCisvKioqKioqKioqKioqKioqKioqKioqLworLyogUGFja2FnZSBWYXJpYWJsZXMgKi8KKy8qKioqKioqKioqKioqKioqKioqKiovCisKKworCisvKioqKioqKioqKioqKioqKioqKi8KKy8qIExvY2FsIFZhcmlhYmxlcyAqLworLyoqKioqKioqKioqKioqKioqKiovCisKKworDAorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBGdW5jdGlvbjoJSDVUTl9pbml0X2ludGVyZmFjZQorICoKKyAqIFB1cnBvc2U6CUluaXRpYWxpemUgcHJlLWRlZmluZWQgbmF0aXZlIGRhdGF0eXBlcyBmcm9tIGNvZGUgZ2VuZXJhdGVkCisgKiAgICAgICAgICAgICAgZHVyaW5nIHRoZSBsaWJyYXJ5IGNvbmZpZ3VyYXRpb24gYnkgSDVkZXRlY3QuCisgKgorICogUmV0dXJuOglTdWNjZXNzOglub24tbmVnYXRpdmUKKyAqCQlGYWlsdXJlOgluZWdhdGl2ZQorICoKKyAqIFByb2dyYW1tZXI6CVJvYmIgTWF0emtlCisgKiAgICAgICAgICAgICAgV2VkbmVzZGF5LCBEZWNlbWJlciAxNiwgMTk5OAorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCitoZXJyX3QKK0g1VE5faW5pdF9pbnRlcmZhY2Uodm9pZCkKK3sKKyAgICBINVRfdAkqZHQgPSBOVUxMOworICAgIGhlcnJfdAlyZXRfdmFsdWUgPSBTVUNDRUVEOworCisgICAgRlVOQ19FTlRFUl9OT0FQSShGQUlMKQorCisgICAvKgorICAgICogICAgMAorICAgICogSUlJSUlJSUkKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDE7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfU0NIQVJfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfU0NIQVJfQUxJR05fZyA9IDE7CisgICAgSDVUX05BVElWRV9TQ0hBUl9DT01QX0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMAorICAgICogVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDE7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUNIQVJfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUNIQVJfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAxNjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfU0hPUlRfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfU0hPUlRfQUxJR05fZyA9IDE7CisgICAgSDVUX05BVElWRV9TSE9SVF9DT01QX0FMSUdOX2cgPSAyOworCisgICAvKgorICAgICogICAgMSAgICAgICAgMAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMTY7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VTSE9SVF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VU0hPUlRfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gNDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAzMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfSU5UX2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVF9BTElHTl9nID0gMTsKKyAgICBINVRfTkFUSVZFX0lOVF9DT01QX0FMSUdOX2cgPSA0OworCisgICAvKgorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMzI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VJTlRfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUlOVF9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDMyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9MT05HX2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0xPTkdfQUxJR05fZyA9IDE7CisgICAgSDVUX05BVElWRV9MT05HX0NPTVBfQUxJR05fZyA9IDQ7CisKKyAgIC8qCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gNDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAzMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUxPTkdfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUxPTkdfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAwCisgICAgKiBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gMTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9JTlQ4X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVDhfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAwCisgICAgKiBVVVVVVVVVVQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gMTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VSU5UOF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VSU5UOF9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDAKKyAgICAqIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSAxOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl8yOworICAgIGlmKChINVRfTkFUSVZFX0lOVF9MRUFTVDhfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfSU5UX0xFQVNUOF9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDAKKyAgICAqIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSAxOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VJTlRfTEVBU1Q4X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX1VJTlRfTEVBU1Q4X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMAorICAgICogSUlJSUlJSUkKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDE7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfSU5UX0ZBU1Q4X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVF9GQVNUOF9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDAKKyAgICAqIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSAxOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VJTlRfRkFTVDhfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUlOVF9GQVNUOF9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDEgICAgICAgIDAKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSAyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDE2OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9JTlQxNl9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9JTlQxNl9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDEgICAgICAgIDAKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSAyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDE2OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VSU5UMTZfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUlOVDE2X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMSAgICAgICAgMAorICAgICogSUlJSUlJSUkgSUlJSUlJSUkKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMTY7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl8yOworICAgIGlmKChINVRfTkFUSVZFX0lOVF9MRUFTVDE2X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVF9MRUFTVDE2X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMSAgICAgICAgMAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMTY7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VJTlRfTEVBU1QxNl9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VSU5UX0xFQVNUMTZfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gNDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAzMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfSU5UX0ZBU1QxNl9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9JTlRfRkFTVDE2X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMzI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VJTlRfRkFTVDE2X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX1VJTlRfRkFTVDE2X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMzI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl8yOworICAgIGlmKChINVRfTkFUSVZFX0lOVDMyX2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVDMyX0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMzI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VJTlQzMl9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VSU5UMzJfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gNDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAzMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfSU5UX0xFQVNUMzJfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfSU5UX0xFQVNUMzJfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gNDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAzMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUlOVF9MRUFTVDMyX2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX1VJTlRfTEVBU1QzMl9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDMyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9JTlRfRkFTVDMyX2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVF9GQVNUMzJfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gNDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAzMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUlOVF9GQVNUMzJfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUlOVF9GQVNUMzJfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICA3ICAgICAgICA2ICAgICAgICA1ICAgICAgICA0CisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gNjQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl8yOworICAgIGlmKChINVRfTkFUSVZFX0lOVDY0X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVDY0X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDY0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VSU5UNjRfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUlOVDY0X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDY0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9JTlRfTEVBU1Q2NF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9JTlRfTEVBU1Q2NF9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDcgICAgICAgIDYgICAgICAgIDUgICAgICAgIDQKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA2NDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUlOVF9MRUFTVDY0X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX1VJTlRfTEVBU1Q2NF9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDcgICAgICAgIDYgICAgICAgIDUgICAgICAgIDQKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA2NDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfSU5UX0ZBU1Q2NF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9JTlRfRkFTVDY0X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDY0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VSU5UX0ZBU1Q2NF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VSU5UX0ZBU1Q2NF9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDcgICAgICAgIDYgICAgICAgIDUgICAgICAgIDQKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA2NDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfTExPTkdfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfTExPTkdfQUxJR05fZyA9IDE7CisgICAgSDVUX05BVElWRV9MTE9OR19DT01QX0FMSUdOX2cgPSA4OworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDY0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VTExPTkdfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUxMT05HX0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogU0VFRUVFRUUgRU1NTU1NTU0gTU1NTU1NTU0gTU1NTU1NTU0KKyAgICAqIEltcGxpY2l0IGJpdD8geWVzCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9GTE9BVDsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gNDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAzMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLnNpZ24gPSAzMTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYuZXBvcyA9IDIzOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5lc2l6ZSA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLmViaWFzID0gMHgwMDAwMDA3ZjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYubXBvcyA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLm1zaXplID0gMjM7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLm5vcm0gPSBINVRfTk9STV9JTVBMSUVEOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5wYWQgPSBINVRfUEFEX1pFUk87CisgICAgaWYoKEg1VF9OQVRJVkVfRkxPQVRfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfRkxPQVRfQUxJR05fZyA9IDE7CisgICAgSDVUX05BVElWRV9GTE9BVF9DT01QX0FMSUdOX2cgPSA0OworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogU0VFRUVFRUUgRUVFRU1NTU0gTU1NTU1NTU0gTU1NTU1NTU0KKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIE1NTU1NTU1NIE1NTU1NTU1NIE1NTU1NTU1NIE1NTU1NTU1NCisgICAgKiBJbXBsaWNpdCBiaXQ/IHllcworICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfRkxPQVQ7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gNjQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5zaWduID0gNjM7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLmVwb3MgPSA1MjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYuZXNpemUgPSAxMTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYuZWJpYXMgPSAweDAwMDAwM2ZmOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5tcG9zID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYubXNpemUgPSA1MjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYubm9ybSA9IEg1VF9OT1JNX0lNUExJRUQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLnBhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBpZigoSDVUX05BVElWRV9ET1VCTEVfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfRE9VQkxFX0FMSUdOX2cgPSAxOworICAgIEg1VF9OQVRJVkVfRE9VQkxFX0NPTVBfQUxJR05fZyA9IDg7CisKKyAgIC8qCisgICAgKiAgICA3ICAgICAgICA2ICAgICAgICA1ICAgICAgICA0CisgICAgKiBTRUVFRUVFRSBFRUVFTU1NTSBNTU1NTU1NTSBNTU1NTU1NTQorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogTU1NTU1NTU0gTU1NTU1NTU0gTU1NTU1NTU0gTU1NTU1NTU0KKyAgICAqIEltcGxpY2l0IGJpdD8geWVzCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9GTE9BVDsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA2NDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLnNpZ24gPSA2MzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYuZXBvcyA9IDUyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5lc2l6ZSA9IDExOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5lYmlhcyA9IDB4MDAwMDAzZmY7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLm1wb3MgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5tc2l6ZSA9IDUyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5ub3JtID0gSDVUX05PUk1fSU1QTElFRDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYucGFkID0gSDVUX1BBRF9aRVJPOworICAgIGlmKChINVRfTkFUSVZFX0xET1VCTEVfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfTERPVUJMRV9BTElHTl9nID0gMTsKKyAgICBINVRfTkFUSVZFX0xET1VCTEVfQ09NUF9BTElHTl9nID0gODsKKworICAgIC8qIFNldCB0aGUgbmF0aXZlIG9yZGVyIGZvciB0aGlzIG1hY2hpbmUgKi8KKyAgICBINVRfbmF0aXZlX29yZGVyX2cgPSBINVRfT1JERVJfTEU7CisKKyAgICAvKiBTdHJ1Y3R1cmUgYWxpZ25tZW50IGZvciBwb2ludGVycywgaHZsX3QsIGhvYmpfcmVmX3QsIGhkc2V0X3JlZ19yZWZfdCAqLworICAgIEg1VF9QT0lOVEVSX0NPTVBfQUxJR05fZyA9IDQ7CisgICAgSDVUX0hWTF9DT01QX0FMSUdOX2cgPSA0OworICAgIEg1VF9IT0JKUkVGX0NPTVBfQUxJR05fZyA9IDg7CisgICAgSDVUX0hEU0VUUkVHUkVGX0NPTVBfQUxJR05fZyA9IDE7CisKK2RvbmU6CisgICAgaWYocmV0X3ZhbHVlIDwgMCkgeworICAgICAgICBpZihkdCAhPSBOVUxMKSB7CisgICAgICAgICAgICBkdC0+c2hhcmVkID0gSDVGTF9GUkVFKEg1VF9zaGFyZWRfdCwgZHQtPnNoYXJlZCk7CisgICAgICAgICAgICBkdCA9IEg1RkxfRlJFRShINVRfdCwgZHQpOworICAgICAgICB9IC8qIGVuZCBpZiAqLworICAgIH0gLyogZW5kIGlmICovCisKKyAgICBGVU5DX0xFQVZFX05PQVBJKHJldF92YWx1ZSk7Cit9IC8qIGVuZCBINVROX2luaXRfaW50ZXJmYWNlKCkgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBBTElHTk1FTlQgYW5kIHNpZ25hbC1oYW5kbGluZyBzdGF0dXMgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogU2lnbmFsKCkgc3VwcG9ydDogeWVzICovCisvKiBzZXRqbXAoKSBzdXBwb3J0OiB5ZXMgKi8KKy8qIGxvbmdqbXAoKSBzdXBwb3J0OiB5ZXMgKi8KKy8qIHNpZ3NldGptcCgpIHN1cHBvcnQ6IHllcyAqLworLyogc2lnbG9uZ2ptcCgpIHN1cHBvcnQ6IHllcyAqLworLyogc2lncHJvY21hc2soKSBzdXBwb3J0OiB5ZXMgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIHNpZ25hbCBoYW5kbGVycyBzdGF0aXN0aWNzICovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogc2lnbmFsX2hhbmRsZXJzIHRlc3RlZDogMTUgdGltZXMgKi8KKy8qIHNpZ2J1c19oYW5kbGVyIGNhbGxlZDogNSB0aW1lcyAqLworLyogc2lnc2Vndl9oYW5kbGVyIGNhbGxlZDogNSB0aW1lcyAqLworLyogc2lnaWxsX2hhbmRsZXIgY2FsbGVkOiA1IHRpbWVzICovCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGY1L2ZpbGVzL0g1VGluaXQtNjQuYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZjUvZmlsZXMvSDVUaW5pdC02NC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1Zjc5YTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGY1L2ZpbGVzL0g1VGluaXQtNjQuYwpAQCAtMCwwICsxLDk5MSBAQAorLyogR2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgYnkgSDVkZXRlY3QgLS0gZG8gbm90IGVkaXQgKi8KKworCisKKy8qICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKgorICogQ29weXJpZ2h0IGJ5IFRoZSBIREYgR3JvdXAuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgKiBDb3B5cmlnaHQgYnkgdGhlIEJvYXJkIG9mIFRydXN0ZWVzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzLiAgICAgICAgICoKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBIREY1LiAgVGhlIGZ1bGwgSERGNSBjb3B5cmlnaHQgbm90aWNlLCBpbmNsdWRpbmcgICAgICoKKyAqIHRlcm1zIGdvdmVybmluZyB1c2UsIG1vZGlmaWNhdGlvbiwgYW5kIHJlZGlzdHJpYnV0aW9uLCBpcyBjb250YWluZWQgaW4gICAgKgorICogdGhlIENPUFlJTkcgZmlsZSwgd2hpY2ggY2FuIGJlIGZvdW5kIGF0IHRoZSByb290IG9mIHRoZSBzb3VyY2UgY29kZSAgICAgICAqCisgKiBkaXN0cmlidXRpb24gdHJlZSwgb3IgaW4gaHR0cHM6Ly9zdXBwb3J0LmhkZmdyb3VwLm9yZy9mdHAvSERGNS9yZWxlYXNlcy4gICoKKyAqIElmIHlvdSBkbyBub3QgaGF2ZSBhY2Nlc3MgdG8gZWl0aGVyIGZpbGUsIHlvdSBtYXkgcmVxdWVzdCBhIGNvcHkgZnJvbSAgICAgKgorICogaGVscEBoZGZncm91cC5vcmcuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICoKKyAqCisgKiBDcmVhdGVkOgkJSmFuIDI5LCAyMDE5CisgKgkJCXJvb3QgPHJvb3RAcWVtdXg4Ni02ND4KKyAqCisgKiBQdXJwb3NlOgkJVGhpcyBtYWNoaW5lLWdlbmVyYXRlZCBzb3VyY2UgY29kZSBjb250YWlucworICoJCQlpbmZvcm1hdGlvbiBhYm91dCB0aGUgdmFyaW91cyBpbnRlZ2VyIGFuZAorICoJCQlmbG9hdGluZyBwb2ludCBudW1lcmljIGZvcm1hdHMgZm91bmQgb24gdGhpcworICoJCQlhcmNoaXRlY3R1cmUuICBUaGUgcGFyYW1ldGVycyBiZWxvdyBzaG91bGQgYmUKKyAqCQkJY2hlY2tlZCBjYXJlZnVsbHkgYW5kIGVycm9ycyByZXBvcnRlZCB0byB0aGUKKyAqCQkJSERGNSBtYWludGFpbmVyLgorICoJCQkKKyAqCQkJRWFjaCBvZiB0aGUgbnVtZXJpYyBmb3JtYXRzIGxpc3RlZCBiZWxvdyBhcmUKKyAqCQkJcHJpbnRlZCBmcm9tIG1vc3Qgc2lnbmlmaWNhbnQgYml0IHRvIGxlYXN0CisgKgkJCXNpZ25pZmljYW50IGJpdCBldmVuIHRob3VnaCB0aGUgYWN0dWFsIGJ5dGVzCisgKgkJCW1pZ2h0IGJlIHN0b3JlZCBpbiBhIGRpZmZlcmVudCBvcmRlciBpbgorICoJCQltZW1vcnkuCSBUaGUgaW50ZWdlcnMgYWJvdmUgZWFjaCBiaW5hcnkgYnl0ZQorICoJCQlpbmRpY2F0ZSB0aGUgcmVsYXRpdmUgb3JkZXIgb2YgdGhlIGJ5dGVzIGluCisgKgkJCW1lbW9yeTsgbGl0dGxlLWVuZGlhbiBtYWNoaW5lcyBoYXZlCisgKgkJCWRlY3JlYXNpbmcgbnVtYmVycyB3aGlsZSBiaWctZW5kaWFuIG1hY2hpbmVzCisgKgkJCWhhdmUgaW5jcmVhc2luZyBudW1iZXJzLgorICoJCQkKKyAqCQkJVGhlIGZpZWxkcyBvZiB0aGUgbnVtYmVycyBhcmUgcHJpbnRlZCBhcworICoJCQlsZXR0ZXJzIHdpdGggYFMnIGZvciB0aGUgbWFudGlzc2Egc2lnbiBiaXQsCisgKgkJCWBNJyBmb3IgdGhlIG1hbnRpc3NhIG1hZ25pdHVkZSwgYW5kIGBFJyBmb3IKKyAqCQkJdGhlIGV4cG9uZW50LiAgVGhlIGV4cG9uZW50IGhhcyBhbiBhc3NvY2lhdGVkCisgKgkJCWJpYXMgd2hpY2ggY2FuIGJlIHN1YnRyYWN0ZWQgdG8gZmluZCB0aGUKKyAqCQkJdHJ1ZSBleHBvbmVudC4JVGhlIHJhZGl4IHBvaW50IGlzIGFzc3VtZWQKKyAqCQkJdG8gYmUgYmVmb3JlIHRoZSBmaXJzdCBgTScgYml0LgkgQW55IGJpdAorICoJCQlvZiBhIGZsb2F0aW5nLXBvaW50IHZhbHVlIG5vdCBmYWxsaW5nIGludG8gb25lCisgKgkJCW9mIHRoZXNlIGNhdGVnb3JpZXMgaXMgcHJpbnRlZCBhcyBhIHF1ZXN0aW9uCisgKgkJCW1hcmsuICBCaXRzIG9mIGludGVnZXIgdHlwZXMgYXJlIHByaW50ZWQgYXMKKyAqCQkJYEknIGZvciAyJ3MgY29tcGxlbWVudCBhbmQgYFUnIGZvciBtYWduaXR1ZGUuCisgKgkJCQorICoJCQlJZiB0aGUgbW9zdCBzaWduaWZpY2FudCBiaXQgb2YgdGhlIG5vcm1hbGl6ZWQKKyAqCQkJbWFudGlzc2EgKGFsd2F5cyBhIGAxJyBleGNlcHQgZm9yIGAwLjAnKSBpcworICoJCQlub3Qgc3RvcmVkIHRoZW4gYW4gYGltcGxpY2l0PXllcycgYXBwZWFycworICoJCQl1bmRlciB0aGUgZmllbGQgZGVzY3JpcHRpb24uICBJbiB0aGllIGNhc2UsCisgKgkJCXRoZSByYWRpeCBwb2ludCBpcyBzdGlsbCBhc3N1bWVkIHRvIGJlCisgKgkJCWJlZm9yZSB0aGUgZmlyc3QgYE0nIGJ1dCBhZnRlciB0aGUgaW1wbGljaXQKKyAqCQkJYml0LgorICoKKyAqIE1vZGlmaWNhdGlvbnM6CisgKgorICoJRE8gTk9UIE1BS0UgTU9ESUZJQ0FUSU9OUyBUTyBUSElTIEZJTEUhCisgKglJdCB3YXMgZ2VuZXJhdGVkIGJ5IGNvZGUgaW4gYEg1ZGV0ZWN0LmMnLgorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisKKy8qKioqKioqKioqKioqKioqLworLyogTW9kdWxlIFNldHVwICovCisvKioqKioqKioqKioqKioqKi8KKworI2RlZmluZSBINVRfUEFDS0FHRSAvKnN1cHByZXNzIGVycm9yIGFib3V0IGluY2x1ZGluZyBINVRwa2cuaCovCisKKworLyoqKioqKioqKioqLworLyogSGVhZGVycyAqLworLyoqKioqKioqKioqLworI2luY2x1ZGUgIkg1cHJpdmF0ZS5oIgkJLyogR2VuZXJpYyBGdW5jdGlvbnMJCQkqLworI2luY2x1ZGUgIkg1RXByaXZhdGUuaCIJCS8qIEVycm9yIGhhbmRsaW5nCQkgIAkqLworI2luY2x1ZGUgIkg1Rkxwcml2YXRlLmgiCS8qIEZyZWUgTGlzdHMJCQkJKi8KKyNpbmNsdWRlICJINUlwcml2YXRlLmgiCQkvKiBJRHMJCQkgIAkJKi8KKyNpbmNsdWRlICJINVRwa2cuaCIJCS8qIERhdGF0eXBlcyAJCQkJKi8KKworCisvKioqKioqKioqKioqKioqKi8KKy8qIExvY2FsIE1hY3JvcyAqLworLyoqKioqKioqKioqKioqKiovCisKKworLyoqKioqKioqKioqKioqKioqKi8KKy8qIExvY2FsIFR5cGVkZWZzICovCisvKioqKioqKioqKioqKioqKioqLworCisKKy8qKioqKioqKioqKioqKioqKioqKi8KKy8qIFBhY2thZ2UgVHlwZWRlZnMgKi8KKy8qKioqKioqKioqKioqKioqKioqKi8KKworCisvKioqKioqKioqKioqKioqKioqKiovCisvKiBMb2NhbCBQcm90b3R5cGVzICovCisvKioqKioqKioqKioqKioqKioqKiovCisKKworLyoqKioqKioqKioqKioqKioqKioqLworLyogUHVibGljIFZhcmlhYmxlcyAqLworLyoqKioqKioqKioqKioqKioqKioqLworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIExpYnJhcnkgUHJpdmF0ZSBWYXJpYWJsZXMgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworCisvKioqKioqKioqKioqKioqKioqKioqLworLyogUGFja2FnZSBWYXJpYWJsZXMgKi8KKy8qKioqKioqKioqKioqKioqKioqKiovCisKKworCisvKioqKioqKioqKioqKioqKioqKi8KKy8qIExvY2FsIFZhcmlhYmxlcyAqLworLyoqKioqKioqKioqKioqKioqKiovCisKKworDAorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBGdW5jdGlvbjoJSDVUTl9pbml0X2ludGVyZmFjZQorICoKKyAqIFB1cnBvc2U6CUluaXRpYWxpemUgcHJlLWRlZmluZWQgbmF0aXZlIGRhdGF0eXBlcyBmcm9tIGNvZGUgZ2VuZXJhdGVkCisgKiAgICAgICAgICAgICAgZHVyaW5nIHRoZSBsaWJyYXJ5IGNvbmZpZ3VyYXRpb24gYnkgSDVkZXRlY3QuCisgKgorICogUmV0dXJuOglTdWNjZXNzOglub24tbmVnYXRpdmUKKyAqCQlGYWlsdXJlOgluZWdhdGl2ZQorICoKKyAqIFByb2dyYW1tZXI6CVJvYmIgTWF0emtlCisgKiAgICAgICAgICAgICAgV2VkbmVzZGF5LCBEZWNlbWJlciAxNiwgMTk5OAorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCitoZXJyX3QKK0g1VE5faW5pdF9pbnRlcmZhY2Uodm9pZCkKK3sKKyAgICBINVRfdAkqZHQgPSBOVUxMOworICAgIGhlcnJfdAlyZXRfdmFsdWUgPSBTVUNDRUVEOworCisgICAgRlVOQ19FTlRFUl9OT0FQSShGQUlMKQorCisgICAvKgorICAgICogICAgMAorICAgICogSUlJSUlJSUkKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDE7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfU0NIQVJfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfU0NIQVJfQUxJR05fZyA9IDE7CisgICAgSDVUX05BVElWRV9TQ0hBUl9DT01QX0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMAorICAgICogVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDE7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUNIQVJfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUNIQVJfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAxNjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfU0hPUlRfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfU0hPUlRfQUxJR05fZyA9IDE7CisgICAgSDVUX05BVElWRV9TSE9SVF9DT01QX0FMSUdOX2cgPSAyOworCisgICAvKgorICAgICogICAgMSAgICAgICAgMAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMTY7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VTSE9SVF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VU0hPUlRfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gNDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAzMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfSU5UX2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVF9BTElHTl9nID0gMTsKKyAgICBINVRfTkFUSVZFX0lOVF9DT01QX0FMSUdOX2cgPSA0OworCisgICAvKgorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMzI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VJTlRfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUlOVF9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDcgICAgICAgIDYgICAgICAgIDUgICAgICAgIDQKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA2NDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfTE9OR19nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9MT05HX0FMSUdOX2cgPSAxOworICAgIEg1VF9OQVRJVkVfTE9OR19DT01QX0FMSUdOX2cgPSA4OworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDY0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VTE9OR19nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VTE9OR19BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDAKKyAgICAqIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSAxOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl8yOworICAgIGlmKChINVRfTkFUSVZFX0lOVDhfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfSU5UOF9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDAKKyAgICAqIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSAxOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VJTlQ4X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX1VJTlQ4X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMAorICAgICogSUlJSUlJSUkKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDE7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfSU5UX0xFQVNUOF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9JTlRfTEVBU1Q4X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMAorICAgICogVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDE7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUlOVF9MRUFTVDhfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUlOVF9MRUFTVDhfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAwCisgICAgKiBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gMTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9JTlRfRkFTVDhfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfSU5UX0ZBU1Q4X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMAorICAgICogVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDE7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUlOVF9GQVNUOF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VSU5UX0ZBU1Q4X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMSAgICAgICAgMAorICAgICogSUlJSUlJSUkgSUlJSUlJSUkKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMTY7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl8yOworICAgIGlmKChINVRfTkFUSVZFX0lOVDE2X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVDE2X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMSAgICAgICAgMAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMTY7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VJTlQxNl9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VSU5UMTZfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAxNjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfSU5UX0xFQVNUMTZfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfSU5UX0xFQVNUMTZfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAxICAgICAgICAwCisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAxNjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUlOVF9MRUFTVDE2X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX1VJTlRfTEVBU1QxNl9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDcgICAgICAgIDYgICAgICAgIDUgICAgICAgIDQKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA2NDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfSU5UX0ZBU1QxNl9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9JTlRfRkFTVDE2X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDY0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VSU5UX0ZBU1QxNl9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VSU5UX0ZBU1QxNl9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDMyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9JTlQzMl9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9JTlQzMl9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDMyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VSU5UMzJfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUlOVDMyX0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMzI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl8yOworICAgIGlmKChINVRfTkFUSVZFX0lOVF9MRUFTVDMyX2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVF9MRUFTVDMyX0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMzI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VJTlRfTEVBU1QzMl9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VSU5UX0xFQVNUMzJfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICA3ICAgICAgICA2ICAgICAgICA1ICAgICAgICA0CisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gNjQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl8yOworICAgIGlmKChINVRfTkFUSVZFX0lOVF9GQVNUMzJfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfSU5UX0ZBU1QzMl9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDcgICAgICAgIDYgICAgICAgIDUgICAgICAgIDQKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA2NDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUlOVF9GQVNUMzJfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUlOVF9GQVNUMzJfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICA3ICAgICAgICA2ICAgICAgICA1ICAgICAgICA0CisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gNjQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl8yOworICAgIGlmKChINVRfTkFUSVZFX0lOVDY0X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVDY0X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDY0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VSU5UNjRfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUlOVDY0X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDY0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9JTlRfTEVBU1Q2NF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9JTlRfTEVBU1Q2NF9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDcgICAgICAgIDYgICAgICAgIDUgICAgICAgIDQKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA2NDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUlOVF9MRUFTVDY0X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX1VJTlRfTEVBU1Q2NF9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDcgICAgICAgIDYgICAgICAgIDUgICAgICAgIDQKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA2NDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfSU5UX0ZBU1Q2NF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9JTlRfRkFTVDY0X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDY0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VSU5UX0ZBU1Q2NF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VSU5UX0ZBU1Q2NF9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDcgICAgICAgIDYgICAgICAgIDUgICAgICAgIDQKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA2NDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfTExPTkdfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfTExPTkdfQUxJR05fZyA9IDE7CisgICAgSDVUX05BVElWRV9MTE9OR19DT01QX0FMSUdOX2cgPSA4OworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDY0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VTExPTkdfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUxMT05HX0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogU0VFRUVFRUUgRU1NTU1NTU0gTU1NTU1NTU0gTU1NTU1NTU0KKyAgICAqIEltcGxpY2l0IGJpdD8geWVzCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9GTE9BVDsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gNDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAzMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLnNpZ24gPSAzMTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYuZXBvcyA9IDIzOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5lc2l6ZSA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLmViaWFzID0gMHgwMDAwMDA3ZjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYubXBvcyA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLm1zaXplID0gMjM7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLm5vcm0gPSBINVRfTk9STV9JTVBMSUVEOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5wYWQgPSBINVRfUEFEX1pFUk87CisgICAgaWYoKEg1VF9OQVRJVkVfRkxPQVRfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfRkxPQVRfQUxJR05fZyA9IDE7CisgICAgSDVUX05BVElWRV9GTE9BVF9DT01QX0FMSUdOX2cgPSA0OworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogU0VFRUVFRUUgRUVFRU1NTU0gTU1NTU1NTU0gTU1NTU1NTU0KKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIE1NTU1NTU1NIE1NTU1NTU1NIE1NTU1NTU1NIE1NTU1NTU1NCisgICAgKiBJbXBsaWNpdCBiaXQ/IHllcworICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfRkxPQVQ7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gNjQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5zaWduID0gNjM7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLmVwb3MgPSA1MjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYuZXNpemUgPSAxMTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYuZWJpYXMgPSAweDAwMDAwM2ZmOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5tcG9zID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYubXNpemUgPSA1MjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYubm9ybSA9IEg1VF9OT1JNX0lNUExJRUQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLnBhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBpZigoSDVUX05BVElWRV9ET1VCTEVfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfRE9VQkxFX0FMSUdOX2cgPSAxOworICAgIEg1VF9OQVRJVkVfRE9VQkxFX0NPTVBfQUxJR05fZyA9IDg7CisKKyAgIC8qCisgICAgKiAgIDE1ICAgICAgIDE0ICAgICAgIDEzICAgICAgIDEyCisgICAgKiA/Pz8/Pz8/PyA/Pz8/Pz8/PyA/Pz8/Pz8/PyA/Pz8/Pz8/PworICAgICogICAxMSAgICAgICAxMCAgICAgICAgOSAgICAgICAgOAorICAgICogPz8/Pz8/Pz8gPz8/Pz8/Pz8gU0VFRUVFRUUgRUVFRUVFRUUKKyAgICAqICAgIDcgICAgICAgIDYgICAgICAgIDUgICAgICAgIDQKKyAgICAqIE1NTU1NTU1NIE1NTU1NTU1NIE1NTU1NTU1NIE1NTU1NTU1NCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBNTU1NTU1NTSBNTU1NTU1NTSBNTU1NTU1NTSBNTU1NTU1NTQorICAgICogSW1wbGljaXQgYml0PyBubworICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfRkxPQVQ7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDE2OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDgwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYuc2lnbiA9IDc5OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5lcG9zID0gNjQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLmVzaXplID0gMTU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLmViaWFzID0gMHgwMDAwM2ZmZjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYubXBvcyA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLm1zaXplID0gNjQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLm5vcm0gPSBINVRfTk9STV9OT05FOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5wYWQgPSBINVRfUEFEX1pFUk87CisgICAgaWYoKEg1VF9OQVRJVkVfTERPVUJMRV9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9MRE9VQkxFX0FMSUdOX2cgPSAxOworICAgIEg1VF9OQVRJVkVfTERPVUJMRV9DT01QX0FMSUdOX2cgPSAxNjsKKworICAgIC8qIFNldCB0aGUgbmF0aXZlIG9yZGVyIGZvciB0aGlzIG1hY2hpbmUgKi8KKyAgICBINVRfbmF0aXZlX29yZGVyX2cgPSBINVRfT1JERVJfTEU7CisKKyAgICAvKiBTdHJ1Y3R1cmUgYWxpZ25tZW50IGZvciBwb2ludGVycywgaHZsX3QsIGhvYmpfcmVmX3QsIGhkc2V0X3JlZ19yZWZfdCAqLworICAgIEg1VF9QT0lOVEVSX0NPTVBfQUxJR05fZyA9IDg7CisgICAgSDVUX0hWTF9DT01QX0FMSUdOX2cgPSA4OworICAgIEg1VF9IT0JKUkVGX0NPTVBfQUxJR05fZyA9IDg7CisgICAgSDVUX0hEU0VUUkVHUkVGX0NPTVBfQUxJR05fZyA9IDE7CisKK2RvbmU6CisgICAgaWYocmV0X3ZhbHVlIDwgMCkgeworICAgICAgICBpZihkdCAhPSBOVUxMKSB7CisgICAgICAgICAgICBkdC0+c2hhcmVkID0gSDVGTF9GUkVFKEg1VF9zaGFyZWRfdCwgZHQtPnNoYXJlZCk7CisgICAgICAgICAgICBkdCA9IEg1RkxfRlJFRShINVRfdCwgZHQpOworICAgICAgICB9IC8qIGVuZCBpZiAqLworICAgIH0gLyogZW5kIGlmICovCisKKyAgICBGVU5DX0xFQVZFX05PQVBJKHJldF92YWx1ZSk7Cit9IC8qIGVuZCBINVROX2luaXRfaW50ZXJmYWNlKCkgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBBTElHTk1FTlQgYW5kIHNpZ25hbC1oYW5kbGluZyBzdGF0dXMgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogU2lnbmFsKCkgc3VwcG9ydDogeWVzICovCisvKiBzZXRqbXAoKSBzdXBwb3J0OiB5ZXMgKi8KKy8qIGxvbmdqbXAoKSBzdXBwb3J0OiB5ZXMgKi8KKy8qIHNpZ3NldGptcCgpIHN1cHBvcnQ6IHllcyAqLworLyogc2lnbG9uZ2ptcCgpIHN1cHBvcnQ6IHllcyAqLworLyogc2lncHJvY21hc2soKSBzdXBwb3J0OiB5ZXMgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIHNpZ25hbCBoYW5kbGVycyBzdGF0aXN0aWNzICovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogc2lnbmFsX2hhbmRsZXJzIHRlc3RlZDogMTUgdGltZXMgKi8KKy8qIHNpZ2J1c19oYW5kbGVyIGNhbGxlZDogNSB0aW1lcyAqLworLyogc2lnc2Vndl9oYW5kbGVyIGNhbGxlZDogNSB0aW1lcyAqLworLyogc2lnaWxsX2hhbmRsZXIgY2FsbGVkOiA1IHRpbWVzICovCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGY1L2ZpbGVzL0g1bGliX3NldHRpbmdzLmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGY1L2ZpbGVzL0g1bGliX3NldHRpbmdzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzI0M2FlZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZjUvZmlsZXMvSDVsaWJfc2V0dGluZ3MuYwpAQCAtMCwwICsxLDk4IEBACisvKiBHZW5lcmF0ZWQgYXV0b21hdGljYWxseSBieSBINW1ha2VfbGlic2V0dGluZ3MgLS0gZG8gbm90IGVkaXQgKi8KKworCisKKy8qICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKgorICogQ29weXJpZ2h0IGJ5IFRoZSBIREYgR3JvdXAuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgKiBDb3B5cmlnaHQgYnkgdGhlIEJvYXJkIG9mIFRydXN0ZWVzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzLiAgICAgICAgICoKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBIREY1LiAgVGhlIGZ1bGwgSERGNSBjb3B5cmlnaHQgbm90aWNlLCBpbmNsdWRpbmcgICAgICoKKyAqIHRlcm1zIGdvdmVybmluZyB1c2UsIG1vZGlmaWNhdGlvbiwgYW5kIHJlZGlzdHJpYnV0aW9uLCBpcyBjb250YWluZWQgaW4gICAgKgorICogdGhlIENPUFlJTkcgZmlsZSwgd2hpY2ggY2FuIGJlIGZvdW5kIGF0IHRoZSByb290IG9mIHRoZSBzb3VyY2UgY29kZSAgICAgICAqCisgKiBkaXN0cmlidXRpb24gdHJlZSwgb3IgaW4gaHR0cHM6Ly9zdXBwb3J0LmhkZmdyb3VwLm9yZy9mdHAvSERGNS9yZWxlYXNlcy4gICoKKyAqIElmIHlvdSBkbyBub3QgaGF2ZSBhY2Nlc3MgdG8gZWl0aGVyIGZpbGUsIHlvdSBtYXkgcmVxdWVzdCBhIGNvcHkgZnJvbSAgICAgKgorICogaGVscEBoZGZncm91cC5vcmcuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICoKKyAqCisgKiBDcmVhdGVkOgkJSmFuIDI5LCAyMDE5CisgKgkJCXJvb3QgPHJvb3RAcWVtdXg4Ni02ND4KKyAqCisgKiBQdXJwb3NlOgkJVGhpcyBtYWNoaW5lLWdlbmVyYXRlZCBzb3VyY2UgY29kZSBjb250YWlucworICoJCQlpbmZvcm1hdGlvbiBhYm91dCB0aGUgbGlicmFyeSBidWlsZCBjb25maWd1cmF0aW9uCisgKgorICogTW9kaWZpY2F0aW9uczoKKyAqCisgKglETyBOT1QgTUFLRSBNT0RJRklDQVRJT05TIFRPIFRISVMgRklMRSEKKyAqCUl0IHdhcyBnZW5lcmF0ZWQgYnkgY29kZSBpbiBgSDVtYWtlX2xpYnNldHRpbmdzLmMnLgorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisKK2NoYXIgSDVsaWJoZGY1X3NldHRpbmdzW109CisJIiAgICAgIFNVTU1BUlkgT0YgVEhFIEhERjUgQ09ORklHVVJBVElPTlxuIgorCSIgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiIKKwkiXG4iCisJIkdlbmVyYWwgSW5mb3JtYXRpb246XG4iCisJIi0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKwkiICAgICAgICAgICAgICAgICAgIEhERjUgVmVyc2lvbjogMS44LjE5XG4iCisJIiAgICAgICAgICAgICAgICAgIENvbmZpZ3VyZWQgb246IDIwMTktMDEtMjlcbiIKKwkiICAgICAgICAgICAgICAgICAgQ29uZmlndXJlZCBieTogTmluamFcbiIKKwkiICAgICAgICAgICAgICAgICBDb25maWd1cmUgbW9kZTogQ01BS0UgMy4xMi4yXG4iCisJIiAgICAgICAgICAgICAgICAgICAgSG9zdCBzeXN0ZW06IExpbnV4LTQuNC4wLTMxLWdlbmVyaWNcbiIKKwkiICAgICAgICAgICAgICBVbmFtZSBpbmZvcm1hdGlvbjogTGludXhcbiIKKwkiICAgICAgICAgICAgICAgICAgICAgICBCeXRlIHNleDogbGl0dGxlLWVuZGlhblxuIgorCSIgICAgICAgICAgICAgICAgICAgICAgTGlicmFyaWVzOiBcbiIKKwkiICAgICAgICAgICAgIEluc3RhbGxhdGlvbiBwb2ludDogL3VzclxuIgorCSJcbiIKKwkiQ29tcGlsaW5nIE9wdGlvbnM6XG4iCisJIi0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCSIgICAgICAgICAgICAgICBDb21waWxhdGlvbiBNb2RlOiBcbiIKKwkiICAgICAgICAgICAgICAgICAgICAgIEg1X0NGTEFHUzogXG4iCisJIiAgICAgICAgICAgICAgICAgICAgICBBTV9DRkxBR1M6IFxuIgorCSIgICAgICAgICAgICAgICAgICAgICAgIENQUEZMQUdTOiBcbiIKKwkiICAgICAgICAgICAgICAgICAgICBINV9DUFBGTEFHUzogXG4iCisJIiAgICAgICAgICAgICAgICAgICAgQU1fQ1BQRkxBR1M6IFxuIgorCSIgICAgICAgICAgICAgICBTaGFyZWQgQyBMaWJyYXJ5OiBZRVNcbiIKKwkiICAgICAgICAgICAgICAgU3RhdGljIEMgTGlicmFyeTogWUVTXG4iCisJIiAgU3RhdGljYWxseSBMaW5rZWQgRXhlY3V0YWJsZXM6IE9GRlxuIgorCSIgICAgICAgICAgICAgICAgICAgICAgICBMREZMQUdTOiAtV2wsLU8xIC1XbCwtLWhhc2gtc3R5bGU9Z251IC1XbCwtLWFzLW5lZWRlZFxuIgorCSIgICAgICAgICAgICAgICAgICAgICBBTV9MREZMQUdTOiBcbiIKKwkiICAgICAgICAgICAgICAgIEV4dHJhIGxpYnJhcmllczogbTtkbFxuIgorCSIgICAgICAgICAgICAgIERlYnVnZ2VkIFBhY2thZ2VzOiBcbiIKKwkiICAgICAgICAgICAgICAgICAgICBBUEkgVHJhY2luZzogT0ZGXG4iCisJIlxuIgorCSJMYW5ndWFnZXM6XG4iCisJIi0tLS0tLS0tLS1cbiIKKwkiICAgICAgICAgICAgICAgICAgICAgICAgRm9ydHJhbjogT0ZGXG4iCisJIiAgICAgICAgICAgICAgIEZvcnRyYW4gQ29tcGlsZXI6IFxuIgorCSIgICAgICAgICAgRm9ydHJhbiAyMDAzIENvbXBpbGVyOiBcbiIKKwkiICAgICAgICAgICAgICAgICAgRm9ydHJhbiBGbGFnczogXG4iCisJIiAgICAgICAgICAgICAgIEg1IEZvcnRyYW4gRmxhZ3M6IFxuIgorCSIgICAgICAgICAgICAgICBBTSBGb3J0cmFuIEZsYWdzOiBcbiIKKwkiICAgICAgICAgU2hhcmVkIEZvcnRyYW4gTGlicmFyeTogWUVTXG4iCisJIiAgICAgICAgIFN0YXRpYyBGb3J0cmFuIExpYnJhcnk6IFlFU1xuIgorCSJcbiIKKwkiICAgICAgICAgICAgICAgICAgIEg1IEMrKyBGbGFnczogXG4iCisJIiAgICAgICAgICAgICAgICAgICBBTSBDKysgRmxhZ3M6IFxuIgorCSIgICAgICAgICAgICAgU2hhcmVkIEMrKyBMaWJyYXJ5OiBZRVNcbiIKKwkiICAgICAgICAgICAgIFN0YXRpYyBDKysgTGlicmFyeTogWUVTXG4iCisJIlxuIgorCSJGZWF0dXJlczpcbiIKKwkiLS0tLS0tLS0tXG4iCisJIiAgICAgICAgICAgICAgICAgIFBhcmFsbGVsIEhERjU6IE9GRlxuIgorCSIgICAgICAgICAgICAgSGlnaCBMZXZlbCBsaWJyYXJ5OiBPTlxuIgorCSIgICAgICAgICAgICAgICAgICAgVGhyZWFkc2FmZXR5OiBPRkZcbiIKKwkiICAgICAgICAgICAgRGVmYXVsdCBBUEkgTWFwcGluZzogdjE4XG4iCisJIiBXaXRoIERlcHJlY2F0ZWQgUHVibGljIFN5bWJvbHM6IE9OXG4iCisJIiAgICAgICAgIEkvTyBmaWx0ZXJzIChleHRlcm5hbCk6IFxuIgorCSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgTVBFOiBcbiIKKwkiICAgICAgICAgICAgICAgICAgICAgRGlyZWN0IFZGRDogXG4iCisJIiAgICAgICAgICAgICAgICAgICAgICAgIGRtYWxsb2M6IFxuIgorCSJDbGVhciBmaWxlIGJ1ZmZlcnMgYmVmb3JlIHdyaXRlOiBPTlxuIgorCSIgICAgICAgICAgIFVzaW5nIG1lbW9yeSBjaGVja2VyOiBPRkZcbiIKKwkiICAgICAgICAgRnVuY3Rpb24gU3RhY2sgVHJhY2luZzogT0ZGXG4iCisJIiAgICAgIFN0cmljdCBGaWxlIEZvcm1hdCBDaGVja3M6IE9GRlxuIgorCSIgICBPcHRpbWl6YXRpb24gSW5zdHJ1bWVudGF0aW9uOiBcbiIKKzsKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRmNS9oZGY1XzEuOC4xOS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZjUvaGRmNV8xLjguMTkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmNiZTliMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZjUvaGRmNV8xLjguMTkuYmIKQEAgLTAsMCArMSw1OCBAQAorU1VNTUFSWSA9ICJVbmlxdWUgdGVjaG5vbG9neSBzdWl0ZSB0aGF0IG1ha2VzIHBvc3NpYmxlIHRoZSBtYW5hZ2VtZW50IG9mIFwKK2V4dHJlbWVseSBsYXJnZSBhbmQgY29tcGxleCBkYXRhIGNvbGxlY3Rpb25zIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly93d3cuaGRmZ3JvdXAub3JnLyIKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJIREY1IgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTdlNTM1MWIxNzU5MWU2NTllZWRhZTEwNzI2NWM2MDYiCisKK2luaGVyaXQgY21ha2Ugc2l0ZWluZm8KKworU1JDX1VSSSA9ICIgXAorICAgIGh0dHBzOi8vc3VwcG9ydC5oZGZncm91cC5vcmcvZnRwL0hERjUvcmVsZWFzZXMvaGRmNS0xLjgvaGRmNS0ke1BWfS9zcmMvJHtCUE59LSR7UFZ9LnRhci5iejIgXAorICAgIGZpbGU6Ly9INWxpYl9zZXR0aW5ncy5jIFwKKyAgICBmaWxlOi8vSDVUaW5pdC02NC5jIFwKKyAgICBmaWxlOi8vSDVUaW5pdC0zMi5jIFwKKyAgICBmaWxlOi8vMDAwMS1jcm9zcy1jb21waWxpbmctc3VwcG9ydC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDItUmVtb3ZlLXN1ZmZpeC1zaGFyZWQtZnJvbS1zaGFyZWQtbGlicmFyeS1uYW1lLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjZmMDM1M2VlMzNlOTkwODljMTEwYTFjOGQyZGQxYjIyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU5YzAzODE2MTA1ZDU3OTkwMzI5NTM3YWQxMDQ5YmEyMmMyYjhhZmUxODkwMDg1ZjBjMDIyYjc1ZjE3MjcyMzgiCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vbGliaGRmNS5zZXR0aW5ncyAke2RhdGFkaXJ9LyoiCisKK0VYVFJBX09FQ01BS0UgPSAiIFwKKyAgICAtRFRFU1RfTEZTX1dPUktTX1JVTj0wIFwKKyAgICAtRFRFU1RfTEZTX1dPUktTX1JVTl9fVFJZUlVOX09VVFBVVD0wIFwKKyAgICAtREg1X1BSSU5URl9MTF9URVNUX1JVTj0xIFwKKyAgICAtREg1X1BSSU5URl9MTF9URVNUX1JVTl9fVFJZUlVOX09VVFBVVD0nOCcgXAorICAgIC1ESDVfTERPVUJMRV9UT19MT05HX1NQRUNJQUxfUlVOPTAgXAorICAgIC1ESDVfTERPVUJMRV9UT19MT05HX1NQRUNJQUxfUlVOX19UUllSVU5fT1VUUFVUPSBcCisgICAgLURINV9MT05HX1RPX0xET1VCTEVfU1BFQ0lBTF9SVU49MCBcCisgICAgLURINV9MT05HX1RPX0xET1VCTEVfU1BFQ0lBTF9SVU5fX1RSWVJVTl9PVVRQVVQ9IFwKKyAgICAtREg1X0xET1VCTEVfVE9fTExPTkdfQUNDVVJBVEVfUlVOPTAgXAorICAgIC1ESDVfTERPVUJMRV9UT19MTE9OR19BQ0NVUkFURV9SVU5fX1RSWVJVTl9PVVRQVVQ9IFwKKyAgICAtREg1X0xMT05HX1RPX0xET1VCTEVfQ09SUkVDVF9SVU49MCBcCisgICAgLURINV9MTE9OR19UT19MRE9VQkxFX0NPUlJFQ1RfUlVOX19UUllSVU5fT1VUUFVUPSBcCisgICAgLURINV9OT19BTElHTk1FTlRfUkVTVFJJQ1RJT05TX1JVTj0wIFwKKyAgICAtREg1X05PX0FMSUdOTUVOVF9SRVNUUklDVElPTlNfUlVOX19UUllSVU5fT1VUUFVUPSBcCisgICAgLURDTUFLRV9JTlNUQUxMX1BSRUZJWD0nJHtwcmVmaXh9JyBcCisgICAgLURIREY1X0lOU1RBTExfTElCX0RJUj0nJHtiYXNlbGlifScgXAorIgorCitkb191bnBhY2tbcG9zdGZ1bmNzXSArPSAiZ2VuX2hkNWZpbGUiCitnZW5faGQ1ZmlsZSgpIHsKKyAgICBpbnN0YWxsIC1tIDU0NCAke1dPUktESVJ9L0g1bGliX3NldHRpbmdzLmMgJHtTfQorICAgIGluc3RhbGwgLW0gNTQ0ICR7V09SS0RJUn0vSDVUaW5pdC0ke1NJVEVJTkZPX0JJVFN9LmMgJHtTfS9INVRpbml0LmMKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyBVc2VkIGZvciBnZW5lcmF0aW5nIGNvbmZpZyBmaWxlcyBvbiB0YXJnZXQKKyAgICBpbnN0YWxsIC1tIDc1NSAke0J9L2Jpbi9INWRldGVjdCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgJHtCfS9iaW4vSDVtYWtlX2xpYnNldHRpbmdzICR7RH0ke2JpbmRpcn0KK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK1NSQ19ESVNUUklCVVRFX0xJQ0VOU0VTICs9ICJIREY1IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaHVuc3BlbGwvaHVuc3BlbGxfMS42LjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9odW5zcGVsbC9odW5zcGVsbF8xLjYuMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWZlZWE4OS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9odW5zcGVsbC9odW5zcGVsbF8xLjYuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLVNVTU1BUlkgPSAiQSBzcGVsbCBjaGVja2VyIGFuZCBtb3JwaG9sb2dpY2FsIGFuYWx5emVyIGxpYnJhcnkiCi1IT01FUEFHRSA9ICJodHRwOi8vaHVuc3BlbGwuZ2l0aHViLmlvLyIKLUxJQ0VOU0UgPSAiR1BMdjMgfCBMR1BMdjMiCi1MSUNfRklMRVNfQ0hLU1VNID0gIiBcCi0gICAgZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IFwKLSAgICBmaWxlOi8vQ09QWUlORy5MRVNTRVI7bWQ1PWU2YTYwMGZkNWUxZDljYmRlMmQ5ODM2ODAyMzNhZDAyIFwKLSIKLQotU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vJHtCUE59LyR7QlBOfS9hcmNoaXZlL3Yke1BWfS50YXIuZ3oiCi1TUkNfVVJJW21kNXN1bV0gPSAiMWE1NDUwNGNiNDcwYWFmYTY1MzBiYjM3MmExMGRjMDQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2NkOWNlYjA2MmZlNTgxNGY2NjhlNGYyMmIyZmE2ZTNiYTBiMzM5YjkyMTczOTU0MWNlMTgwY2FjNGQ2ZjRjNCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdldHRleHQKLQotUkRFUEVORFNfJHtQTn0gPSAicGVybCIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9odW5zcGVsbC9odW5zcGVsbF8xLjcuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2h1bnNwZWxsL2h1bnNwZWxsXzEuNy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwZGEzYjQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9odW5zcGVsbC9odW5zcGVsbF8xLjcuMC5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIkEgc3BlbGwgY2hlY2tlciBhbmQgbW9ycGhvbG9naWNhbCBhbmFseXplciBsaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL2h1bnNwZWxsLmdpdGh1Yi5pby8iCitMSUNFTlNFID0gIkdQTHYyIHwgTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gIiBcCisgICAgZmlsZTovL0NPUFlJTkc7bWQ1PTc1ODU5OTg5NTQ1ZTM3OTY4YTk5YjYzMWVmNDI3MjJlIFwKKyAgICBmaWxlOi8vQ09QWUlORy5MRVNTRVI7bWQ1PWM5NmNhNmMxZGU4YWRjMDI1YWRmYWRhODFkMDZmYmE1IFwKKyIKKworU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vJHtCUE59LyR7QlBOfS9hcmNoaXZlL3Yke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiYjIzOTlhNGFhOTI3ZThiM2UxNzFkOWVhNjczN2NjMDIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYmIyN2I4NmViOTEwYTgyODU0MDdjZjNjYTMzYjYyNjQzYTAyNzk4Y2YyZWVmNDY4YzBhNzRmNmMzZWU2YmM4YSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdldHRleHQKKworUkRFUEVORFNfJHtQTn0gPSAicGVybCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9pbWFnZW1hZ2ljay9pbWFnZW1hZ2lja183LjAuNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ltYWdlbWFnaWNrL2ltYWdlbWFnaWNrXzcuMC43LmJiCmluZGV4IDQ2Y2M3OGUuLjM3ZDVhNjMgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ltYWdlbWFnaWNrL2ltYWdlbWFnaWNrXzcuMC43LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ltYWdlbWFnaWNrL2ltYWdlbWFnaWNrXzcuMC43LmJiCkBAIC0xLDUgKzEsOCBAQAotU1VNTUFSWSA9ICJJbWFnZU1hZ2ljayBpcyBhbiBpbWFnZSBjb252ZXJ0aW9uIHRvb2xzIgorU1VNTUFSWSA9ICJJbWFnZU1hZ2ljayBpcyBhbiBpbWFnZSBjb252ZXJzaW9uIHRvb2xraXQiCiBTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitIT01FUEFHRSA9ICJodHRwczovL3d3dy5pbWFnZW1hZ2ljay5vcmcvIgorREVTQ1JJUFRJT04gPSAiSW1hZ2VNYWdpY2sgaXMgYSBjb2xsZWN0aW9uIG9mIHRvb2xzIGZvciBkaXNwbGF5aW5nLCBjb252ZXJ0aW5nLCBhbmQgXAorZWRpdGluZyByYXN0ZXIgYW5kIHZlY3RvciBpbWFnZSBmaWxlcy4gSXQgY2FuIHJlYWQgYW5kIHdyaXRlIG92ZXIgMjAwIGltYWdlIGZpbGUgZm9ybWF0cy4iCiBMSUNFTlNFID0gIkltYWdlTWFnaWNrIgogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZGFkNWE5OGYxNzNmZDNmYTY5NThhMWE1OGM2MTMxYzEiCiAjIEZJWE1FOiBUaGVyZSBhcmUgbWFueSBtb3JlIGNoZWNrZWQgbGlicmFyaWVzLiBBbGwgc2hvdWxkIGJlIGFkZGVkIG9yIGV4cGxpY2l0bHkgZGlzYWJsZWQgdG8gZ2V0IGNvbnNpc3RlbnQgcmVzdWx0cy4KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2l0c3Rvb2wvaXRzdG9vbF8yLjAuNS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2l0c3Rvb2wvaXRzdG9vbF8yLjAuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNzRkNWY2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaXRzdG9vbC9pdHN0b29sXzIuMC41LmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiSVRTIFRvb2wgYWxsb3dzIHlvdSB0byB0cmFuc2xhdGUgeW91ciBYTUwgZG9jdW1lbnRzIHdpdGggUE8gZmlsZXMiCitIT01FUEFHRSA9ICJodHRwOi8vaXRzdG9vbC5vcmcvIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5YzU3Yjk1ZmQ3ZDBlOWUyMzhlYmJjN2FkNDdjNWE1IgorCitpbmhlcml0IGF1dG90b29scyBweXRob24zbmF0aXZlCisKK0RFUEVORFMgPSAicHl0aG9uMy1uYXRpdmUgcHl0aG9uMy1seG1sLW5hdGl2ZSIKKworU1JDX1VSSSA9ICJodHRwOi8vZmlsZXMuaXRzdG9vbC5vcmcvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gIjY1NWM2Zjc4ZmM2NGZhZWU0NWFkY2M0NWNjYzVhNTdlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjEwMDUwNmY4ZGY2MmNjYTYyMjVlYzNlNjMxYTgyMzdlOWMwNDY1MGM3NzQ5NWFmNDkxOWFjNmExMDBkNGIzMDgiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICMgZml4IHNoZWJhbmcgb2YgbWFpbiBzY3JpcHQKKyAgICBzZWQgLWkgJ3M6JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9LyR7UFlUSE9OX1BOfS1uYXRpdmUvJHtQWVRIT05fUE59OiR7YmluZGlyfS8ke1BZVEhPTl9QTn06ZycgJHtEfSR7YmluZGlyfS9pdHN0b29sCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uMyBweXRob24zLWx4bWwiCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmJ5dGVzaXplL2xpYmJ5dGVzaXplXzEuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmJ5dGVzaXplL2xpYmJ5dGVzaXplXzEuMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2FmODRkZS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJieXRlc2l6ZS9saWJieXRlc2l6ZV8xLjMuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi1ERVNDUklQVElPTiA9ICJUaGUgZ29hbCBvZiB0aGlzIHByb2plY3QgaXMgdG8gcHJvdmlkZSBhIHRpbnkgbGlicmFyeSB0aGF0IHdvdWxkIFwKLWZhY2lsaXRhdGUgdGhlIGNvbW1vbiBvcGVyYXRpb25zIHdpdGggc2l6ZXMgaW4gYnl0ZXMuIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3JoaW5zdGFsbGVyL2xpYmJ5dGVzaXplIgotTElDRU5TRSA9ICJMR1BMdjIrIgotU0VDVElPTiA9ICJkZXZlbC9saWIiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWMwN2NiNDk5ZDI1OTQ1MmYzMjRiYjkwYzMwNjdkODVjIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotQiA9ICIke1N9IgotCi1TUkNSRVYgPSAiYjBkY2Y2ZjQ1N2Q3MDAxMjdiNDNjMGUwYTE5ODI1M2MyNjZiNzhhZSIKLVBWID0gIjEuMytnaXQke1NSQ1BWfSIKLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9yaGluc3RhbGxlci9saWJieXRlc2l6ZTticmFuY2g9bWFzdGVyIFwKLSIKLQotaW5oZXJpdCBnZXR0ZXh0IGF1dG90b29scyBweXRob24zbmF0aXZlCi0KLURFUEVORFMgKz0gIiBcCi0gICAgbGlicGNyZSBcCi0gICAgZ21wIFwKLSAgICBtcGZyIFwKLSIKLQotRklMRVNfJHtQTn0gKz0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9L2J5dGVzaXplIgotCi1QQUNLQUdFQ09ORklHID8/PSAicHl0aG9uMyIKLVBBQ0tBR0VDT05GSUdbcHl0aG9uM10gPSAiLS13aXRoLXB5dGhvbjMsIC0td2l0aG91dC1weXRob24zLCxweXRob24zIgotUEFDS0FHRUNPTkZJR1tweXRob24yXSA9ICItLXdpdGgtcHl0aG9uMiwgLS13aXRob3V0LXB5dGhvbjIsLHB5dGhvbjIiCi1QQUNLQUdFQ09ORklHW2RvY10gPSAiLS13aXRoLWd0ay1kb2MsIC0td2l0aG91dC1ndGstZG9jLCBndGstZG9jLW5hdGl2ZSIKLQotRVhUUkFfT0VNQUtFID0gInB5M2xpYmRpcj0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSIKLQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJieXRlc2l6ZS9saWJieXRlc2l6ZV8xLjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJieXRlc2l6ZS9saWJieXRlc2l6ZV8xLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODYzY2U0MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmJ5dGVzaXplL2xpYmJ5dGVzaXplXzEuNC5iYgpAQCAtMCwwICsxLDMzIEBACitERVNDUklQVElPTiA9ICJUaGUgZ29hbCBvZiB0aGlzIHByb2plY3QgaXMgdG8gcHJvdmlkZSBhIHRpbnkgbGlicmFyeSB0aGF0IHdvdWxkIFwKK2ZhY2lsaXRhdGUgdGhlIGNvbW1vbiBvcGVyYXRpb25zIHdpdGggc2l6ZXMgaW4gYnl0ZXMuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3JoaW5zdGFsbGVyL2xpYmJ5dGVzaXplIgorTElDRU5TRSA9ICJMR1BMdjIrIgorU0VDVElPTiA9ICJkZXZlbC9saWIiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWMwN2NiNDk5ZDI1OTQ1MmYzMjRiYjkwYzMwNjdkODVjIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorQiA9ICIke1N9IgorCitTUkNSRVYgPSAiZWJiZGEyMjE3ZDE3N2QyYTE3ZjkxN2Q3YTNlM2QxMzJhMjZkYjc5MSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9yaGluc3RhbGxlci9saWJieXRlc2l6ZTticmFuY2g9bWFzdGVyIFwKKyIKKworaW5oZXJpdCBnZXR0ZXh0IGF1dG90b29scyBweXRob24zbmF0aXZlCisKK0RFUEVORFMgKz0gIiBcCisgICAgbGlicGNyZSBcCisgICAgZ21wIFwKKyAgICBtcGZyIFwKKyIKKworRklMRVNfJHtQTn0gKz0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9L2J5dGVzaXplIgorCitQQUNLQUdFQ09ORklHID8/PSAicHl0aG9uMyIKK1BBQ0tBR0VDT05GSUdbcHl0aG9uM10gPSAiLS13aXRoLXB5dGhvbjMsIC0td2l0aG91dC1weXRob24zLCxweXRob24zIgorUEFDS0FHRUNPTkZJR1tweXRob24yXSA9ICItLXdpdGgtcHl0aG9uMiwgLS13aXRob3V0LXB5dGhvbjIsLHB5dGhvbjIiCitQQUNLQUdFQ09ORklHW2RvY10gPSAiLS13aXRoLWd0ay1kb2MsIC0td2l0aG91dC1ndGstZG9jLCBndGstZG9jLW5hdGl2ZSIKKworRVhUUkFfT0VNQUtFID0gInB5M2xpYmRpcj0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSIKKworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJlaWdlbi9saWJlaWdlbl8zLjMuNS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVpZ2VuL2xpYmVpZ2VuXzMuMy41LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MDc4ZTUwLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVpZ2VuL2xpYmVpZ2VuXzMuMy41LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiRWlnZW4gaXMgYSBDKysgdGVtcGxhdGUgbGlicmFyeSBmb3IgbGluZWFyIGFsZ2VicmE6IG1hdHJpY2VzLCB2ZWN0b3JzLCBudW1lcmljYWwgc29sdmVycywgYW5kIHJlbGF0ZWQgYWxnb3JpdGhtcy4iCi1BVVRIT1IgPSAiQmVub8OudCBKYWNvYiBhbmQgR2HDq2wgR3Vlbm5lYmF1ZCBhbmQgb3RoZXJzIgotSE9NRVBBR0UgPSAiaHR0cDovL2VpZ2VuLnR1eGZhbWlseS5vcmcvIgotTElDRU5TRSA9ICJNUEwtMi4wIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5NUEwyO21kNT04MTVjYTU5OWM5ZGYyNDdhMGM3ZjYxOWJhYjEyM2RhZCIKLQotU1JDX1VSSSA9ICJodHRwOi8vYml0YnVja2V0Lm9yZy9laWdlbi9laWdlbi9nZXQvJHtQVn0udGFyLmJ6Mjtkb3dubG9hZGZpbGVuYW1lPSR7QlB9LnRhci5iejIiCi1TUkNfVVJJW21kNXN1bV0gPSAiZTgzNTQ5YTc5ZDFiNzIxZGEwZjg4OTlhYjM0ZWRmOTUiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzM1MmJmZjNlYTI5OWU0YzdkN2ZiZTMxYzUwNGY4ZWI5MTQ5ZDdlNjg1ZGVjNWExMmZiYWEyNjM3OWY2MDNlMiIKLQotUyA9ICIke1dPUktESVJ9L2VpZ2VuLWVpZ2VuLWIzZjNkNDk1MDAzMCIKLQotaW5oZXJpdCBjbWFrZQotCi1GSUxFU18ke1BOfSA9ICIke2xpYmRpcn0iCi1GSUxFU18ke1BOfS1kZXYgPSAiJHtpbmNsdWRlZGlyfSAke2RhdGFkaXJ9L2VpZ2VuMy9jbWFrZSAke2RhdGFkaXJ9L2NtYWtlL01vZHVsZXMgJHtkYXRhZGlyfS9wa2djb25maWciCi0KLSMgJHtQTn0gaXMgZW1wdHkgc28gd2UgbmVlZCB0byB0d2VhayAtZGV2IGFuZCAtZGJnIHBhY2thZ2UgZGVwZW5kZW5jaWVzCi1SREVQRU5EU18ke1BOfS1kZXYgPSAiIgotUlJFQ09NTUVORFNfJHtQTn0tZGJnID0gIiR7UE59LWRldiAoPSAke0VYVEVORFBLR1Z9KSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVpZ2VuL2xpYmVpZ2VuXzMuMy43LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZWlnZW4vbGliZWlnZW5fMy4zLjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTFkZWI2NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVpZ2VuL2xpYmVpZ2VuXzMuMy43LmJiCkBAIC0wLDAgKzEsMjAgQEAKK0RFU0NSSVBUSU9OID0gIkVpZ2VuIGlzIGEgQysrIHRlbXBsYXRlIGxpYnJhcnkgZm9yIGxpbmVhciBhbGdlYnJhOiBtYXRyaWNlcywgdmVjdG9ycywgbnVtZXJpY2FsIHNvbHZlcnMsIGFuZCByZWxhdGVkIGFsZ29yaXRobXMuIgorQVVUSE9SID0gIkJlbm/DrnQgSmFjb2IgYW5kIEdhw6tsIEd1ZW5uZWJhdWQgYW5kIG90aGVycyIKK0hPTUVQQUdFID0gImh0dHA6Ly9laWdlbi50dXhmYW1pbHkub3JnLyIKK0xJQ0VOU0UgPSAiTVBMLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTVBMMjttZDU9ODE1Y2E1OTljOWRmMjQ3YTBjN2Y2MTliYWIxMjNkYWQiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9iaXRidWNrZXQub3JnL2VpZ2VuL2VpZ2VuL2dldC8ke1BWfS50YXIuYnoyO2Rvd25sb2FkZmlsZW5hbWU9JHtCUH0udGFyLmJ6MiIKK1NSQ19VUklbbWQ1c3VtXSA9ICIwNWIxZjc1MTFjOTM5ODBjMzg1ZWJlMTFiZDNjOTNmYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5ZjEzY2Y5MGRlZGJlM2U1MmExOWY0MzAwMGQ3MWZkZjcyZTk4NmJlYjlhNTQzNmRkZGNkNjFmZjlkNzdhM2NlIgorCitTID0gIiR7V09SS0RJUn0vZWlnZW4tZWlnZW4tMzIzYzA1MmUxNzMxIgorCitpbmhlcml0IGNtYWtlCisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfSIKK0ZJTEVTXyR7UE59LWRldiA9ICIke2luY2x1ZGVkaXJ9ICR7ZGF0YWRpcn0vZWlnZW4zL2NtYWtlICR7ZGF0YWRpcn0vY21ha2UvTW9kdWxlcyAke2RhdGFkaXJ9L3BrZ2NvbmZpZyIKKworIyAke1BOfSBpcyBlbXB0eSBzbyB3ZSBuZWVkIHRvIHR3ZWFrIC1kZXYgYW5kIC1kYmcgcGFja2FnZSBkZXBlbmRlbmNpZXMKK1JERVBFTkRTXyR7UE59LWRldiA9ICIiCitSUkVDT01NRU5EU18ke1BOfS1kYmcgPSAiJHtQTn0tZGV2ICg9ICR7RVhURU5EUEtHVn0pIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZ2l0Mi9saWJnaXQyXzAuMjcuNC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmdpdDIvbGliZ2l0Ml8wLjI3LjQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgxNmFlNWUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZ2l0Mi9saWJnaXQyXzAuMjcuNC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLVNVTU1BUlkgPSAidGhlIEdpdCBsaW5rYWJsZSBsaWJyYXJ5IgotSE9NRVBBR0UgPSAiaHR0cDovL2xpYmdpdDIuZ2l0aHViLmNvbS8iCi1MSUNFTlNFID0gIkdQTC0yLjAtd2l0aC1HQ0MtZXhjZXB0aW9uICYgTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9M2YyY2Q1ZDNjY2NkNzFkNjIwNjZiYTYxOTYxNDU5MmIiCi0KLURFUEVORFMgPSAiY3VybCBvcGVuc3NsIHpsaWIgbGlic3NoMiBsaWJnY3J5cHQiCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9saWJnaXQyL2xpYmdpdDIuZ2l0O2JyYW5jaD1tYWludC92MC4yNyIKLSN2MC4yNy41Ci1TUkNSRVYgPSAiOGUwYjE3Mjk4MWEwNDZkMTlmMWQ5ZWZhNWFjZDYxODZiY2NiZDNjZSIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBjbWFrZQotCi1FWFRSQV9PRUNNQUtFID0gIlwKLSAgICAtRFRIUkVBRFNBRkU9T04gXAotICAgIC1EQlVJTERfQ0xBUj1PRkYgXAotICAgIC1EU0hBMV9UWVBFPSJidWlsdGluIiBcCi0gICAgLURDTUFLRV9CVUlMRF9UWVBFPVJlbFdpdGhEZWJJbmZvIFwKLSAgICAtREJVSUxEX0VYQU1QTEVTPU9GRiBcCi0gICAgLURMSUJfSU5TVEFMTF9ESVI9JHtsaWJkaXJ9IFwKLSIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJnaXQyL2xpYmdpdDJfMC4yNy44LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZ2l0Mi9saWJnaXQyXzAuMjcuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDM0MDg5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZ2l0Mi9saWJnaXQyXzAuMjcuOC5iYgpAQCAtMCwwICsxLDI1IEBACitTVU1NQVJZID0gInRoZSBHaXQgbGlua2FibGUgbGlicmFyeSIKK0hPTUVQQUdFID0gImh0dHA6Ly9saWJnaXQyLmdpdGh1Yi5jb20vIgorTElDRU5TRSA9ICJHUEwtMi4wLXdpdGgtR0NDLWV4Y2VwdGlvbiAmIE1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTNmMmNkNWQzY2NjZDcxZDYyMDY2YmE2MTk2MTQ1OTJiIgorCitERVBFTkRTID0gImN1cmwgb3BlbnNzbCB6bGliIGxpYnNzaDIgbGliZ2NyeXB0IgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbGliZ2l0Mi9saWJnaXQyLmdpdDticmFuY2g9bWFpbnQvdjAuMjciCisjdjAuMjcuOAorU1JDUkVWID0gIjI4ODI4MDNjYTJiMmNkZWRkMDY5NzQ2NDIyMTU1YTIzZmRkMDAyYjIiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgY21ha2UKKworRVhUUkFfT0VDTUFLRSA9ICJcCisgICAgLURUSFJFQURTQUZFPU9OIFwKKyAgICAtREJVSUxEX0NMQVI9T0ZGIFwKKyAgICAtRFNIQTFfVFlQRT0iYnVpbHRpbiIgXAorICAgIC1EQ01BS0VfQlVJTERfVFlQRT1SZWxXaXRoRGViSW5mbyBcCisgICAgLURCVUlMRF9FWEFNUExFUz1PRkYgXAorICAgIC1ETElCX0lOU1RBTExfRElSPSR7bGliZGlyfSBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZ3Bpb2QvbGliZ3Bpb2RfMC4zLjMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJncGlvZC9saWJncGlvZF8wLjMuMy5iYgppbmRleCAwOWZiNjVhLi45NjYxNWViIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJncGlvZC9saWJncGlvZF8wLjMuMy5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJncGlvZC9saWJncGlvZF8wLjMuMy5iYgpAQCAtMSw0ICsxLDYgQEAKIHJlcXVpcmUgbGliZ3Bpb2QuaW5jCiAKK1BBQ0tBR0VDT05GSUdbdGVzdHNdID0gIi0tZW5hYmxlLXRlc3RzLC0tZGlzYWJsZS10ZXN0cyxrbW9kIHVkZXYiCisKIFNSQ19VUklbbWQ1c3VtXSA9ICIyYWExZTFhODBjM2M5MTlhZTE0MmFiOWE1NWZiNTljYSIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICJiNzczZTU1N2FmMWE0OTdmNzg2ODI1NDYyYTc3NmI3YmY5MDE2OGU2N2VlMGE1YmM1ZDI0NzNhNTY3NGRjMzhjIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZ3Bpb2QvbGliZ3Bpb2RfMS4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZ3Bpb2QvbGliZ3Bpb2RfMS4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMDI4OWI5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmdwaW9kL2xpYmdwaW9kXzEuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLXJlcXVpcmUgbGliZ3Bpb2QuaW5jCi0KLURFUEVORFMgKz0gImF1dG9jb25mLWFyY2hpdmUtbmF0aXZlIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMzRhOTk3MmYyZjRlOWMzMmZhOTQwMzAxMzAxYjAwN2QiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjZiOTA3OWM5MzNmN2M4NTI0ODE1NDM3OTM3ZGRhNmI3OTVhMTYxNDFiY2EyMDJhOWVlYzcwYmE1ODQ0YjViYSIKLQotUEFDS0FHRUNPTkZJR1tjeHhdID0gIi0tZW5hYmxlLWJpbmRpbmdzLWN4eCwtLWRpc2FibGUtYmluZGluZ3MtY3h4IgotCi1QQUNLQUdFQ09ORklHW3B5dGhvbjNdID0gIi0tZW5hYmxlLWJpbmRpbmdzLXB5dGhvbiwtLWRpc2FibGUtYmluZGluZ3MtcHl0aG9uLHB5dGhvbjMscHl0aG9uMy1jb3JlIgotaW5oZXJpdCAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24zJywgJ3B5dGhvbjNuYXRpdmUnLCAnJywgZCl9Ci0KLVBBQ0tBR0VTID0rICIke1BOfS1weXRob24iCi1GSUxFU18ke1BOfS1weXRob24gPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0iCi1SUkVDT01NRU5EU19QWVRIT04gPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHl0aG9uMycsICcke1BOfS1weXRob24nLCAnJyxkKX0iCi1SUkVDT01NRU5EU18ke1BOfSArPSAiJHtSUkVDT01NRU5EU19QWVRIT059IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZ3Bpb2QvbGliZ3Bpb2RfMS4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZ3Bpb2QvbGliZ3Bpb2RfMS4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1MTNhMzMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJncGlvZC9saWJncGlvZF8xLjMuYmIKQEAgLTAsMCArMSwxNyBAQAorcmVxdWlyZSBsaWJncGlvZC5pbmMKKworREVQRU5EUyArPSAiYXV0b2NvbmYtYXJjaGl2ZS1uYXRpdmUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5Zjc1MzBhNWQ1NmYwNzBiYTBhZjc4ZDZiYTA3Nzk3MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2ZWM4MzdmMjNlOGYyMTk2ZTU5NzZkZWM0YWM4MTQwMzE3MDgzMDA3NWU3ZjMzZWRlMTM5NGVhZjY3ZjJlOTYyIgorCitQQUNLQUdFQ09ORklHW2N4eF0gPSAiLS1lbmFibGUtYmluZGluZ3MtY3h4LC0tZGlzYWJsZS1iaW5kaW5ncy1jeHgiCitQQUNLQUdFQ09ORklHW3Rlc3RzXSA9ICItLWVuYWJsZS10ZXN0cyAtLWVuYWJsZS1pbnN0YWxsLXRlc3RzLC0tZGlzYWJsZS10ZXN0cyAtLWRpc2FibGUtaW5zdGFsbC10ZXN0cyxrbW9kIHVkZXYiCisKK1BBQ0tBR0VDT05GSUdbcHl0aG9uM10gPSAiLS1lbmFibGUtYmluZGluZ3MtcHl0aG9uLC0tZGlzYWJsZS1iaW5kaW5ncy1weXRob24scHl0aG9uMyIKK2luaGVyaXQgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHl0aG9uMycsICdweXRob24zbmF0aXZlJywgJycsIGQpfQorCitQQUNLQUdFUyA9KyAiJHtQTn0tcHl0aG9uIgorRklMRVNfJHtQTn0tcHl0aG9uID0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IgorUlJFQ09NTUVORFNfUFlUSE9OID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAnJHtQTn0tcHl0aG9uJywgJycsZCl9IgorUlJFQ09NTUVORFNfJHtQTn0tcHl0aG9uICs9ICIke1JSRUNPTU1FTkRTX1BZVEhPTn0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJpaW8vbGliaWlvX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmlpby9saWJpaW9fZ2l0LmJiCmluZGV4IGZhNmY0YzIuLmNjMGVmY2MgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmlpby9saWJpaW9fZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmlpby9saWJpaW9fZ2l0LmJiCkBAIC00LDggKzQsOCBAQAogTElDRU5TRSA9ICJMR1BMdjIuMSsiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLnR4dDttZDU9N2MxM2IzMzc2Y2VhMGNlNjhkMmQyZGEwYTFiM2E3MmMiCiAKLVNSQ1JFViA9ICJmYTgyOTc0ZDhiZDFmZGVkNzhlNjMwYWI3MWE3ZGVkMWIxMWQwZTMzIgotUFYgPSAiMC4xNCtnaXQke1NSQ1BWfSIKK1NSQ1JFViA9ICI2ZWNmZjVkNDZlMWIxMmMyODU5ZjBiNjNhNzMyODI5NDBlMzQwMmJiIgorUFYgPSAiMC4xNStnaXQke1NSQ1BWfSIKIAogU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2FuYWxvZ2RldmljZXNpbmMvbGliaWlvLmdpdDtwcm90b2NvbD1odHRwcyIKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlibXhtbC9saWJteG1sX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYm14bWwvbGlibXhtbF9naXQuYmIKaW5kZXggNTQyZmU4MS4uYjE3ZmM2NyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlibXhtbC9saWJteG1sX2dpdC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJteG1sL2xpYm14bWxfZ2l0LmJiCkBAIC0xLDEzICsxLDE0IEBACiBERVNDUklQVElPTiA9ICJUaW55IFhNTCBMaWJyYXJ5IgotTElDRU5TRSA9ICJNaW5pLVhNTC1MaWNlbnNlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTZiYTM4NjA2ZDYzYmIwNDJjNWQ4Y2ZlZTE4MmUxMjAiCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT04NmQzZjNhOTVjMzI0Yzk0NzliZDg5ODY5NjhmNDMyNyIKIEhPTUVQQUdFID0gImh0dHBzOi8vd3d3Lm1zd2VldC5vcmcvbXhtbC8iCiBCVUdUUkFDS0VSID0gImh0dHBzOi8vZ2l0aHViLmNvbS9taWNoYWVscnN3ZWV0L214bWwvaXNzdWVzIgogCiBTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbWljaGFlbHJzd2VldC9teG1sLmdpdCIKLVNSQ1JFViA9ICJiYTNjY2E4MmUxNWE4OGE5Y2M2YWZiNjBmMDU5Mjg4YTk5YWZjNzAzIgorU1JDUkVWID0gImM3NzU1YjY5OTJhMmFmZGQzNGRkZTQ3ZmM5YmU5N2YxMjM3Y2ZkZWQiCiBTID0gIiR7V09SS0RJUn0vZ2l0IgotUFYgPSAiMi4xMitnaXQke1NSQ1BWfSIKKyMgdjMuMAorUFYgPSAiMy4wIgogCiBDT05GSUdVUkVPUFRTID0gIiAtLXByZWZpeD0ke3ByZWZpeH0gXAogICAgICAgICAgICAgICAgICAgLS1iaW5kaXI9JHtiaW5kaXJ9IFwKQEAgLTI4LDYgKzI5LDggQEAKICAgICAgICAgICAgICAgICAiCiAKIGRvX2NvbmZpZ3VyZSgpIHsKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9nbnUtY29uZmlnL2NvbmZpZy5ndWVzcyAke1N9CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U1RBR0lOR19EQVRBRElSX05BVElWRX0vZ251LWNvbmZpZy9jb25maWcuc3ViICR7U30KICAgICAuL2NvbmZpZ3VyZSAke0NPTkZJR1VSRU9QVFN9IC0tZW5hYmxlLXNoYXJlZAogfQogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzc2gyL2xpYnNzaDJfMS44LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzc2gyL2xpYnNzaDJfMS44LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk0YmZiOGYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic3NoMi9saWJzc2gyXzEuOC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotU1VNTUFSWSA9ICJBIGNsaWVudC1zaWRlIEMgbGlicmFyeSBpbXBsZW1lbnRpbmcgdGhlIFNTSDIgcHJvdG9jb2wiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmxpYnNzaDIub3JnLyIKLVNFQ1RJT04gPSAibGlicyIKLQotREVQRU5EUyA9ICJ6bGliIgotCi1MSUNFTlNFID0gIkJTRCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM1Y2YzNGZjMGFjYjQ0YjA4MmVmNTBlZjVlNDM1NGNhIgotCi1TUkNfVVJJID0gImh0dHA6Ly93d3cubGlic3NoMi5vcmcvZG93bmxvYWQvJHtCUH0udGFyLmd6IgotU1JDX1VSSVttZDVzdW1dID0gIjNkMTE0N2NhZTY2ZTI5NTllYTU0NDFiMTgzZGUxYjFjIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM5ZjM0ZTJmNjgzNWY0Yjk5MmNhZmU4NjI1MDczYTg4ZTVhMjhiYTc4ZjgzZTgwOTk2MTBhN2IzYWY0Njc2ZDQiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi1FWFRSQV9PRUNPTkYgKz0gIlwKLSAgICAgICAgICAgICAgICAgLS13aXRoLWxpYnogXAotICAgICAgICAgICAgICAgICAtLXdpdGgtbGliei1wcmVmaXg9JHtTVEFHSU5HX0xJQkRJUn0gXAotICAgICAgICAgICAgICAgICIKLQotIyBvbmx5IG9uZSBvZiBvcGVuc3NsIGFuZCBnY3J5cHQgY291bGQgYmUgc2V0Ci1QQUNLQUdFQ09ORklHID8/PSAib3BlbnNzbCIKLVBBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS13aXRoLW9wZW5zc2wgLS13aXRoLWxpYnNzbC1wcmVmaXg9JHtTVEFHSU5HX0xJQkRJUn0sLS13aXRob3V0LW9wZW5zc2wsb3BlbnNzbCIKLVBBQ0tBR0VDT05GSUdbZ2NyeXB0XSA9ICItLXdpdGgtbGliZ2NyeXB0IC0td2l0aC1saWJnY3J5cHQtcHJlZml4PSR7U1RBR0lOR19FWEVDUFJFRklYRElSfSwtLXdpdGhvdXQtbGliZ2NyeXB0LGxpYmdjcnlwdCIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzc2gyL2xpYnNzaDJfMS44LjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzc2gyL2xpYnNzaDJfMS44LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmU4NTNjZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNzaDIvbGlic3NoMl8xLjguMi5iYgpAQCAtMCwwICsxLDI3IEBACitTVU1NQVJZID0gIkEgY2xpZW50LXNpZGUgQyBsaWJyYXJ5IGltcGxlbWVudGluZyB0aGUgU1NIMiBwcm90b2NvbCIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubGlic3NoMi5vcmcvIgorU0VDVElPTiA9ICJsaWJzIgorCitERVBFTkRTID0gInpsaWIiCisKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YzVjZjM0ZmMwYWNiNDRiMDgyZWY1MGVmNWU0MzU0Y2EiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5saWJzc2gyLm9yZy9kb3dubG9hZC8ke0JQfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2MTZlZmQ5OWFmM2Q5ZWY3MzFhMjZiZWQ2Y2VlOTU5MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwODgzMDdkOWY2YjZjNGI4YzEzZjM0NjAyZThmZjY1ZDIxYzJkYzRkNTUyODRkZmUxNWQ1MDJjNGVlMTkwZDY3IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworRVhUUkFfT0VDT05GICs9ICJcCisgICAgICAgICAgICAgICAgIC0td2l0aC1saWJ6IFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLWxpYnotcHJlZml4PSR7U1RBR0lOR19MSUJESVJ9IFwKKyAgICAgICAgICAgICAgICAiCisKKyMgb25seSBvbmUgb2Ygb3BlbnNzbCBhbmQgZ2NyeXB0IGNvdWxkIGJlIHNldAorUEFDS0FHRUNPTkZJRyA/Pz0gIm9wZW5zc2wiCitQQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC1vcGVuc3NsIC0td2l0aC1saWJzc2wtcHJlZml4PSR7U1RBR0lOR19MSUJESVJ9LC0td2l0aG91dC1vcGVuc3NsLG9wZW5zc2wiCitQQUNLQUdFQ09ORklHW2djcnlwdF0gPSAiLS13aXRoLWxpYmdjcnlwdCAtLXdpdGgtbGliZ2NyeXB0LXByZWZpeD0ke1NUQUdJTkdfRVhFQ1BSRUZJWERJUn0sLS13aXRob3V0LWxpYmdjcnlwdCxsaWJnY3J5cHQiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidGVhbS9saWJ0ZWFtXzEuMjcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZWFtL2xpYnRlYW1fMS4yNy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDQyNTkyZC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZWFtL2xpYnRlYW1fMS4yNy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLVNVTU1BUlkgPSAiTGlicmFyeSBmb3IgY29udHJvbGxpbmcgdGVhbSBuZXR3b3JrIGRldmljZSIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cubGlidGVhbS5vcmcvIgotU0VDVElPTiA9ICJsaWJzL25ldHdvcmsiCi0KLUxJQ0VOU0UgPSAiTEdQTHYyLjEiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyIKLQotREVQRU5EUyA9ICJsaWJubCBsaWJkYWVtb24gamFuc3NvbiIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2pwaXJrby9saWJ0ZWFtIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtaW5jbHVkZS1zeXMtc2VsZWN0LmgtZm9yLWZkX3NldC1kZWZpbml0aW9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItdGVhbWQtUmUtYWRqdXN0LWluY2x1ZGUtaGVhZGVyLW9yZGVyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtdGVhbV9iYXNpY190ZXN0LnB5LWRpc2FibGUtUmVkSGF0LXNwZWNpZmljLXRlc3QucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgIgotU1JDUkVWID0gIjkxYTkyOGE1NmE1MDFkYWFjNWNlOGIzYzE2YmQ5OTQzNjYxZjFkMTYiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI1NjUxMTRkNzBjNDFiZmY2MDkzZDhlNTdiZTI4NGU4YSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJkNjUyODYzNzkxNDFkYjE0MWJlYTMzNDI0ZWMwNTA3YmIwZjgyN2EwYmYwM2Q5YzY1MDA0YmI1OTNlM2Q1NTQ1IgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgcHRlc3QKLQotRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYnRlYW0ke1NPTElCU30gXAotIgotCi1QQUNLQUdFUyArPSAiJHtQTn0tZGN0bCAke1BOfS11dGlscyIKLUZJTEVTXyR7UE59LWRjdGwgPSAiJHtsaWJkaXJ9L2xpYnRlYW1kY3RsJHtTT0xJQlN9IFwKLSIKLUZJTEVTXyR7UE59LXV0aWxzID0gIiR7YmluZGlyfS9ib25kMnRlYW0gXAotICAgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3RlYW1kIFwKLSAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS90ZWFtZGN0bCBcCi0gICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vdGVhbW5sIFwKLSIKLQotUkRFUEVORFNfJHtQTn0tdXRpbHMgPSAiYmFzaCIKLVJERVBFTkRTXyR7UE59LXB0ZXN0ID0gInB5dGhvbiIKLQotZG9faW5zdGFsbF9wdGVzdCgpIHsKLQlpbnN0YWxsICR7U30vc2NyaXB0cy90ZWFtX2Jhc2ljX3Rlc3QucHkgJHtEfSR7UFRFU1RfUEFUSH0vCi19CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZWFtL2xpYnRlYW1fMS4yOC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnRlYW0vbGlidGVhbV8xLjI4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4MGJiNGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZWFtL2xpYnRlYW1fMS4yOC5iYgpAQCAtMCwwICsxLDM5IEBACitTVU1NQVJZID0gIkxpYnJhcnkgZm9yIGNvbnRyb2xsaW5nIHRlYW0gbmV0d29yayBkZXZpY2UiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmxpYnRlYW0ub3JnLyIKK1NFQ1RJT04gPSAibGlicy9uZXR3b3JrIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCisKK0RFUEVORFMgPSAibGlibmwgbGliZGFlbW9uIGphbnNzb24iCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9qcGlya28vbGlidGVhbSBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWluY2x1ZGUtc3lzLXNlbGVjdC5oLWZvci1mZF9zZXQtZGVmaW5pdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLXRlYW1kLVJlLWFkanVzdC1pbmNsdWRlLWhlYWRlci1vcmRlci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXRlYW1fYmFzaWNfdGVzdC5weS1kaXNhYmxlLVJlZEhhdC1zcGVjaWZpYy10ZXN0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgICIKK1NSQ1JFViA9ICI5MDM5NTBjN2ZjZjI4YzMyZjRiNjJkOWQxYzA3YzAyMzRlODM3OGEyIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgcHRlc3QKKworRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYnRlYW0ke1NPTElCU30gXAorIgorCitQQUNLQUdFUyArPSAiJHtQTn0tZGN0bCAke1BOfS11dGlscyIKK0ZJTEVTXyR7UE59LWRjdGwgPSAiJHtsaWJkaXJ9L2xpYnRlYW1kY3RsJHtTT0xJQlN9IFwKKyIKK0ZJTEVTXyR7UE59LXV0aWxzID0gIiR7YmluZGlyfS9ib25kMnRlYW0gXAorICAgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3RlYW1kIFwKKyAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS90ZWFtZGN0bCBcCisgICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vdGVhbW5sIFwKKyIKKworUkRFUEVORFNfJHtQTn0tdXRpbHMgPSAiYmFzaCIKK1JERVBFTkRTXyR7UE59LXB0ZXN0ID0gInB5dGhvbiIKKworZG9faW5zdGFsbF9wdGVzdCgpIHsKKwlpbnN0YWxsICR7U30vc2NyaXB0cy90ZWFtX2Jhc2ljX3Rlc3QucHkgJHtEfSR7UFRFU1RfUEFUSH0vCit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1c2JneC9saWJ1c2JneC1jb25maWcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1c2JneC9saWJ1c2JneC1jb25maWcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjI2OWUzMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnVzYmd4L2xpYnVzYmd4LWNvbmZpZy5iYgpAQCAtMCwwICsxLDEyIEBACitTVU1NQVJZID0gIlVTQiBHYWRnZXQgQ29uZmlndXJhdGlvbiBGaWxlcyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9DT1BZSU5HLk1JVDttZDU9M2RhOWNmYmNiNzg4YzgwYTAzODQzNjFiNGRlMjA0MjAiCisKK1NSQ19VUkkgPSAiZmlsZTovL3VzYmd4LmRlZmF1bHQiCisKK2RvX2NvbmZpZ3VyZVtub2V4ZWNdID0gIjEiCitkb19jb21waWxlW25vZXhlY10gPSAiMSIKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1EbSAwNjQ0ICR7V09SS0RJUn0vdXNiZ3guZGVmYXVsdCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3VzYmd4Cit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1c2JneC9saWJ1c2JneC1jb25maWcvdXNiZ3guZGVmYXVsdCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnVzYmd4L2xpYnVzYmd4LWNvbmZpZy91c2JneC5kZWZhdWx0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2OTBkZmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1c2JneC9saWJ1c2JneC1jb25maWcvdXNiZ3guZGVmYXVsdApAQCAtMCwwICsxLDIgQEAKK0lNUE9SVF9TQ0hFTUFTPSIiCitFTkFCTEVEX1NDSEVNQVM9IiRJTVBPUlRfU0NIRU1BUyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnVzYmd4L2xpYnVzYmd4L2dhZGdldC1zdGFydCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnVzYmd4L2xpYnVzYmd4L2dhZGdldC1zdGFydApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYTEwNmI3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXNiZ3gvbGlidXNiZ3gvZ2FkZ2V0LXN0YXJ0CkBAIC0wLDAgKzEsMTEgQEAKKyMhL2Jpbi9zaAorCitbIC1yIC9ldGMvZGVmYXVsdC91c2JneCBdICYmIC4gL2V0Yy9kZWZhdWx0L3VzYmd4CisKK2ZvciBpIGluICRJTVBPUlRfU0NIRU1BUzsgZG8KKyAgICAvdXNyL2Jpbi9nYWRnZXQtaW1wb3J0ICIkaSIgL2V0Yy91c2JneC8iJGkiLnNjaGVtYQorZG9uZQorCitmb3IgaSBpbiAkRU5BQkxFRF9TQ0hFTUFTOyBkbworICAgIGxzIC9zeXMvY2xhc3MvdWRjLyA+IC9zeXMva2VybmVsL2NvbmZpZy91c2JfZ2FkZ2V0LyIkaSIvVURDCitkb25lCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1c2JneC9saWJ1c2JneC91c2JneC5pbml0ZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnVzYmd4L2xpYnVzYmd4L3VzYmd4LmluaXRkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxOTM4MDcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1c2JneC9saWJ1c2JneC91c2JneC5pbml0ZApAQCAtMCwwICsxLDE0MyBAQAorIyEgL2Jpbi9zaAorIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogICAgICAgICAgdXNiZworIyBSZXF1aXJlZC1TdGFydDogICAgJGxvY2FsX2ZzCisjIFNob3VsZC1TdGFydDoKKyMgUmVxdWlyZWQtU3RvcDogICAgICRsb2NhbF9mcworIyBTaG91bGQtU3RvcDoKKyMgRGVmYXVsdC1TdGFydDogICAgIDIgMyA0IDUKKyMgRGVmYXVsdC1TdG9wOiAgICAgIDAgMSA2CisjIFNob3J0LURlc2NyaXB0aW9uOiBFeGFtcGxlIGluaXRzY3JpcHQKKyMgRGVzY3JpcHRpb246ICAgICAgIFRoaXMgZmlsZSBzaG91bGQgYmUgdXNlZCB0byBjb25zdHJ1Y3Qgc2NyaXB0cyB0byBiZQorIyAgICAgICAgICAgICAgICAgICAgcGxhY2VkIGluIC9ldGMvaW5pdC5kCisjIyMgRU5EIElOSVQgSU5GTworCisjIFBBVEggc2hvdWxkIG9ubHkgaW5jbHVkZSAvdXNyLyogaWYgaXQgcnVucyBhZnRlciB0aGUgbW91bnRuZnMuc2ggc2NyaXB0CitQQVRIPS9zYmluOi91c3Ivc2JpbjovYmluOi91c3IvYmluCisKK0RFU0M9IkxvYWQgVVNCIGdhZGdldCBzY2hlbWFzIgorTkFNRT0idXNiZ3giCitEQUVNT049L3Vzci9iaW4vZ2FkZ2V0LXN0YXJ0CitEQUVNT05fQVJHUz0iIgorUElERklMRT0vdmFyL3J1bi8kTkFNRS5waWQKKworLiAvZXRjL2luaXQuZC9mdW5jdGlvbnMgfHwgZXhpdCAxCisKKyMgRXhpdCBpZiB0aGUgcGFja2FnZSBpcyBub3QgaW5zdGFsbGVkCitbIC14ICIkREFFTU9OIiBdIHx8IGV4aXQgMAorCisjIFJlYWQgY29uZmlndXJhdGlvbiB2YXJpYWJsZSBmaWxlIGlmIGl0IGlzIHByZXNlbnQKK1sgLXIgL2V0Yy9kZWZhdWx0LyROQU1FIF0gJiYgLiAvZXRjL2RlZmF1bHQvJE5BTUUKKworIworIyBGdW5jdGlvbiB0aGF0IHN0YXJ0cyB0aGUgZGFlbW9uL3NlcnZpY2UKKyMKK2RvX3N0YXJ0KCkgeworICAgIGxvY2FsIHN0YXR1cyBwaWQKKworICAgIHN0YXR1cz0wCisgICAgcGlkPWBwaWRvZnByb2MgJE5BTUVgIHx8IHN0YXR1cz0kPworICAgIGNhc2UgJHN0YXR1cyBpbgorICAgICAgICAwKQorICAgICAgICAgICAgZWNobyAiJERFU0MgYWxyZWFkeSBydW5uaW5nICgkcGlkKS4iCisgICAgICAgICAgICBleGl0IDEKKyAgICAgICAgICAgIDs7CisgICAgICAgICopCisgICAgICAgICAgICBlY2hvICJTdGFydGluZyAkREVTQyAuLi4iCisgICAgICAgICAgICBleGVjICREQUVNT04gJERBRU1PTl9BUkdTID4vZGV2L251bGwgMj4mMSB8fCBzdGF0dXM9JD8KKyAgICAgICAgICAgIGVjaG8gIkVSUk9SOiBGYWlsZWQgdG8gc3RhcnQgJERFU0MuIgorICAgICAgICAgICAgZXhpdCAkc3RhdHVzCisgICAgICAgICAgICA7OworICAgIGVzYWMKK30KKworIworIyBGdW5jdGlvbiB0aGF0IHN0b3BzIHRoZSBkYWVtb24vc2VydmljZQorIworZG9fc3RvcCgpIHsKKyAgICBsb2NhbCBwaWQgc3RhdHVzCisKKyAgICBzdGF0dXM9MAorICAgIHBpZD1gcGlkb2Zwcm9jICROQU1FYCB8fCBzdGF0dXM9JD8KKyAgICBjYXNlICRzdGF0dXMgaW4KKyAgICAgICAgMCkKKyAgICAgICAgICAgICMgRXhpdCB3aGVuIGZhaWwgdG8gc3RvcCwgdGhlIGtpbGwgd291bGQgY29tcGxhaW4gd2hlbiBmYWlsCisgICAgICAgICAgICBraWxsIC1zIDE1ICRwaWQgPi9kZXYvbnVsbCAmJiBybSAtZiAkUElERklMRSAmJiBcCisgICAgICAgICAgICAgICAgZWNobyAiU3RvcHBlZCAkREVTQyAoJHBpZCkuIiB8fCBleGl0ICQ/CisgICAgICAgICAgICA7OworICAgICAgICAqKQorICAgICAgICAgICAgZWNobyAiJERFU0MgaXMgbm90IHJ1bm5pbmc7IG5vbmUga2lsbGVkLiIgPiYyCisgICAgICAgICAgICA7OworICAgIGVzYWMKKworICAgIHJldHVybiAkc3RhdHVzCit9CisKKyMKKyMgRnVuY3Rpb24gdGhhdCBzZW5kcyBhIFNJR0hVUCB0byB0aGUgZGFlbW9uL3NlcnZpY2UKKyMKK2RvX3JlbG9hZCgpIHsKKyAgICBsb2NhbCBwaWQgc3RhdHVzCisKKyAgICBzdGF0dXM9MAorICAgICMgSWYgdGhlIGRhZW1vbiBjYW4gcmVsb2FkIGl0cyBjb25maWd1cmF0aW9uIHdpdGhvdXQKKyAgICAjIHJlc3RhcnRpbmcgKGZvciBleGFtcGxlLCB3aGVuIGl0IGlzIHNlbnQgYSBTSUdIVVApLAorICAgICMgdGhlbiBpbXBsZW1lbnQgdGhhdCBoZXJlLgorICAgIHBpZD1gcGlkb2Zwcm9jICROQU1FYCB8fCBzdGF0dXM9JD8KKyAgICBjYXNlICRzdGF0dXMgaW4KKyAgICAgICAgMCkKKyAgICAgICAgICAgIGVjaG8gIlJlbG9hZGluZyAkREVTQyAuLi4iCisgICAgICAgICAgICBraWxsIC1zIDEgJHBpZCB8fCBleGl0ICQ/CisgICAgICAgICAgICA7OworICAgICAgICAqKQorICAgICAgICAgICAgZWNobyAiJERFU0MgaXMgbm90IHJ1bm5pbmc7IG5vbmUgcmVsb2FkZWQuIiA+JjIKKyAgICAgICAgICAgIDs7CisgICAgZXNhYworICAgIGV4aXQgJHN0YXR1cworfQorCisKKyMKKyMgRnVuY3Rpb24gdGhhdCBzaG93cyB0aGUgZGFlbW9uL3NlcnZpY2Ugc3RhdHVzCisjCitzdGF0dXNfb2ZfcHJvYyAoKSB7CisgICAgbG9jYWwgcGlkIHN0YXR1cworCisgICAgc3RhdHVzPTAKKyAgICAjIHBpZG9mIG91dHB1dCBudWxsIHdoZW4gbm8gcHJvZ3JhbSBpcyBydW5uaW5nLCBzbyBubyAiMj4vZGV2L251bGwiLgorICAgIHBpZD1gcGlkb2Zwcm9jICROQU1FYCB8fCBzdGF0dXM9JD8KKyAgICBjYXNlICRzdGF0dXMgaW4KKyAgICAgICAgMCkKKyAgICAgICAgICAgIGVjaG8gIiRERVNDIGlzIHJ1bm5pbmcgKCRwaWQpLiIKKyAgICAgICAgICAgIGV4aXQgMAorICAgICAgICAgICAgOzsKKyAgICAgICAgKikKKyAgICAgICAgICAgIGVjaG8gIiRERVNDIGlzIG5vdCBydW5uaW5nLiIgPiYyCisgICAgICAgICAgICBleGl0ICRzdGF0dXMKKyAgICAgICAgICAgIDs7CisgICAgZXNhYworfQorCitjYXNlICIkMSIgaW4KKyAgICBzdGFydCkKKyAgICAgICAgZG9fc3RhcnQKKyAgICAgICAgOzsKKyAgICBzdG9wKQorICAgICAgICBkb19zdG9wIHx8IGV4aXQgJD8KKyAgICAgICAgOzsKKyAgICBzdGF0dXMpCisgICAgICAgIHN0YXR1c19vZl9wcm9jCisgICAgICAgIDs7CisgICAgcmVzdGFydCkKKyAgICAgICAgIyBBbHdheXMgc3RhcnQgdGhlIHNlcnZpY2UgcmVnYXJkbGVzcyB0aGUgc3RhdHVzIG9mIGRvX3N0b3AKKyAgICAgICAgZG9fc3RvcAorICAgICAgICBkb19zdGFydAorICAgICAgICA7OworICAgIHRyeS1yZXN0YXJ0fGZvcmNlLXJlbG9hZCkKKyAgICAgICAgZG9fc3RvcCAmJiBkb19zdGFydAorICAgICAgICA7OworICAgICopCisgICAgICAgIGVjaG8gIlVzYWdlOiAkMCB7c3RhcnR8c3RvcHxzdGF0dXN8cmVzdGFydHx0cnktcmVzdGFydHxmb3JjZS1yZWxvYWR9IiA+JjIKKyAgICAgICAgZXhpdCAzCisgICAgICAgIDs7Citlc2FjCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1c2JneC9saWJ1c2JneC91c2JneC5zZXJ2aWNlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXNiZ3gvbGlidXNiZ3gvdXNiZ3guc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NDU0MWQzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXNiZ3gvbGlidXNiZ3gvdXNiZ3guc2VydmljZQpAQCAtMCwwICsxLDkgQEAKK1tVbml0XQorRGVzY3JpcHRpb249TG9hZCBVU0IgZ2FkZ2V0IHNjaGVtYXMKKworW1NlcnZpY2VdCitUeXBlPW9uZXNob3QKK0V4ZWNTdGFydD0vdXNyL2Jpbi9nYWRnZXQtc3RhcnQKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXNiZ3gvbGlidXNiZ3hfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXNiZ3gvbGlidXNiZ3hfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ3M2NhNjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1c2JneC9saWJ1c2JneF9naXQuYmIKQEAgLTAsMCArMSw0MCBAQAorU1VNTUFSWSA9ICJVU0IgR2FkZ2V0IG5lWHQgQ29uZmlnZnMgTGlicmFyeSIKK0xJQ0VOU0UgPSAiR1BMdjIgJiBMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEdQTDttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCisKK0RFUEVORFMgPSAibGliY29uZmlnIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgc3lzdGVtZCB1cGRhdGUtcmMuZAorCitQViA9ICIwLjIuMCtnaXQke1NSQ1BWfSIKK1NSQ1JFViA9ICI0NWMxNGVmNGQ1ZDdjZWQwZmJmOTg0MjA4ZGU0NGNlZDZkNWVkODk4IgorU1JDQlJBTkNIID0gIm1hc3RlciIKK1NSQ19VUkkgPSAiIFwKKyAgICBnaXQ6Ly9naXRodWIuY29tL2xpYnVzYmd4L2xpYnVzYmd4LmdpdDticmFuY2g9JHtTUkNCUkFOQ0h9IFwKKyAgICBmaWxlOi8vZ2FkZ2V0LXN0YXJ0IFwKKyAgICBmaWxlOi8vdXNiZ3guaW5pdGQgXAorICAgIGZpbGU6Ly91c2JneC5zZXJ2aWNlIFwKKyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfSIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJ1c2JneC5zZXJ2aWNlIgorCitJTklUU0NSSVBUX05BTUUgPSAidXNiZ3giCitJTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyIKKworRVhUUkFfT0VDT05GID0gIi0taW5jbHVkZWRpcj0ke2luY2x1ZGVkaXJ9L3VzYmd4IgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1EbSAwNzU1ICR7V09SS0RJUn0vZ2FkZ2V0LXN0YXJ0ICR7RH0vJHtiaW5kaXJ9L2dhZGdldC1zdGFydAorICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtRG0gMDY0NCAke1dPUktESVJ9L3VzYmd4LnNlcnZpY2UgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vdXNiZ3guc2VydmljZQorICAgIGZpCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisJCWluc3RhbGwgLURtIDA3NTUgJHtXT1JLRElSfS91c2JneC5pbml0ZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvdXNiZ3gKKwlmaQorfQorCitSREVQRU5EU18ke1BOfSArPSAibGlidXNiZ3gtY29uZmlnIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXRlbXB0ZXIvbGlidXRlbXB0ZXIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1dGVtcHRlci9saWJ1dGVtcHRlci5iYgppbmRleCA4Yzg0Y2IzLi5iOGE3MDBiIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1dGVtcHRlci9saWJ1dGVtcHRlci5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1dGVtcHRlci9saWJ1dGVtcHRlci5iYgpAQCAtMTIsNiArMTIsNyBAQAogCiBTUkNfVVJJID0gImdpdDovL2dpdC5hbHRsaW51eC5vcmcvcGVvcGxlL2xkdi9wYWNrYWdlcy9saWJ1dGVtcHRlci5naXQgXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtbWFjcm8tZXJyb3IucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1Qcm9wZXItbWFjcm8tcGF0aC1nZW5lcmF0aW9uLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL2xpYnV0ZW1wdGVyLXJlbW92ZS1nbGliYy1hc3N1bXB0aW9uLnBhdGNoIFwKICAgICAgICAgICAiCiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnV0ZW1wdGVyL2xpYnV0ZW1wdGVyLzAwMDItUHJvcGVyLW1hY3JvLXBhdGgtZ2VuZXJhdGlvbi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnV0ZW1wdGVyL2xpYnV0ZW1wdGVyLzAwMDItUHJvcGVyLW1hY3JvLXBhdGgtZ2VuZXJhdGlvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYTg2NmMwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXRlbXB0ZXIvbGlidXRlbXB0ZXIvMDAwMi1Qcm9wZXItbWFjcm8tcGF0aC1nZW5lcmF0aW9uLnBhdGNoCkBAIC0wLDAgKzEsMzQgQEAKK0Zyb20gNDhiNmJjZjlmNWQ4YTA1ZWFjZTRiYzQ2M2M0N2U4YTQ3MTVkMzAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGlkZGluZXYgPHhpZGluZXZAZ21haWwuY29tPgorRGF0ZTogTW9uLCAxOCBNYXIgMjAxOSAxNTo0NToyMCArMDIwMAorU3ViamVjdDogW1BBVENIXSBQcm9wZXIgbWFjcm8gcGF0aCBnZW5lcmF0aW9uLgorCitTaWduZWQtb2ZmLWJ5OiBpZGRpbmV2IDx4aWRpbmV2QGdtYWlsLmNvbT4KKy0tLQorIGxpYnV0ZW1wdGVyL2lmYWNlLmMgfCA3ICsrKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGxpYnV0ZW1wdGVyL2lmYWNlLmMgbGlidXRlbXB0ZXIvaWZhY2UuYworaW5kZXggMjc3OTNmMC4uYzFjMGVlOSAxMDA2NDQKKy0tLSBsaWJ1dGVtcHRlci9pZmFjZS5jCisrKysgbGlidXRlbXB0ZXIvaWZhY2UuYworQEAgLTQ0LDEzICs0NCwxMiBAQAorICNlbmRpZgorIAorICNpZmRlZiAgTElCRVhFQ0RJUgorLSMgIGRlZmluZSBDQVRfUEFUSChESVIxLERJUjIpICAgICAgICAgICBESVIxIyNESVIyCistIyAgZGVmaW5lIFJBV19VVEVNUFRFUl9QQVRIICAgICAgICAgICAgIENBVF9QQVRIKExJQkVYRUNESVIsL3V0ZW1wdGVyL3V0ZW1wdGVyKQorKyMgIGRlZmluZSBVVEVNUFRFUl9ERUZBVUxUX1BBVEhOQU1FICAgICBYU1RSX1BBVEgoTElCRVhFQ0RJUikiL3V0ZW1wdGVyL3V0ZW1wdGVyIgorICNlbHNlCistIyAgZGVmaW5lIFJBV19VVEVNUFRFUl9QQVRIICAgICAgICAgICAgIC91c3IvbGliL2xpYnRlbXB0ZXIvdXRlbXB0ZXIvdXRlbXB0ZXIKKysjICBkZWZpbmUgVVRFTVBURVJfREVGQVVMVF9QQVRITkFNRSAgICAgU1RSX1BBVEgoL3Vzci9saWIvbGlidGVtcHRlci91dGVtcHRlci91dGVtcHRlcikKKyAjZW5kaWYKKyAjZGVmaW5lIFNUUl9QQVRIKFJBV19TVFIpICAgICAgICAgICAgICAgI1JBV19TVFIKKy0jZGVmaW5lIFVURU1QVEVSX0RFRkFVTFRfUEFUSE5BTUUgICAgICAgU1RSX1BBVEgoUkFXX1VURU1QVEVSX1BBVEgpCisrI2RlZmluZSBYU1RSX1BBVEgoU1RSKSAgICAgICAgICAgICAgICAgIFNUUl9QQVRIKFNUUikKKyAKKyBzdGF0aWMgY29uc3QgY2hhciAqdXRlbXB0ZXJfcGF0aG5hbWU7Cisgc3RhdGljIGludCBzYXZlZF9mZCA9IC0xOworLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saW8tdXRpbHMvbGlvLXV0aWxzXzQuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpby11dGlscy9saW8tdXRpbHNfNC4xLmJiCmluZGV4IGQ5NzgwY2YuLmVhNTRlNzUgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpby11dGlscy9saW8tdXRpbHNfNC4xLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpby11dGlscy9saW8tdXRpbHNfNC4xLmJiCkBAIC02LDEwICs2LDEwIEBACiAKIFBWID0gIjQuMStnaXQke1NSQ1BWfSIKIAotU1JDX1VSSSA9ICJnaXQ6Ly9yaXNpbmd0aWRlc3lzdGVtcy5jb20vbGlvLXV0aWxzLmdpdCBcCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vRGF0ZXJhL2xpby11dGlscy5naXQgXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1NYWtlZmlsZXMtUmVzcGVjdC1lbnZpcm9ubWVudC12YXJpYWJsZXMtYW5kLWFkZC1MREZMLnBhdGNoIFwKICAgICAgICAgICAgIgotU1JDUkVWID0gIjI4YmQ5Mjg2NTViZGM3YmQzY2YzODBmMDE5NjYzMDY5MGM1MWUwNWYiCitTUkNSRVYgPSAiMGFjOTA5MWMxZmY3YTUyZDU0MzVhNGY0NDQ5ZTgyNjM3MTQyZTA2ZSIKIFMgPSAiJHtXT1JLRElSfS9naXQiCiAKIGluaGVyaXQgZGlzdHV0aWxzCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sb2NrZGV2L2xvY2tkZXYvMDAwMS1pbmNsdWRlLXN5cy1zeXNtYWNyb3MuaC1mb3ItbWFqb3ItbWlub3ItZGVmaW5pdGlvbnMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sb2NrZGV2L2xvY2tkZXYvMDAwMS1pbmNsdWRlLXN5cy1zeXNtYWNyb3MuaC1mb3ItbWFqb3ItbWlub3ItZGVmaW5pdGlvbnMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEyZjViZTkuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9ja2Rldi9sb2NrZGV2LzAwMDEtaW5jbHVkZS1zeXMtc3lzbWFjcm9zLmgtZm9yLW1ham9yLW1pbm9yLWRlZmluaXRpb25zLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotRnJvbSAyZjM5ZGMzZDZmOTIwYzA4MjZhYTc0MzY3ZGExYTBhN2NjNDliMGZlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFNhdCwgMTEgQXVnIDIwMTggMTU6MTg6MDQgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gaW5jbHVkZSBzeXMvc3lzbWFjcm9zLmggZm9yIG1ham9yL21pbm9yIGRlZmluaXRpb25zCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLWluY2x1c2lvbiBvZiA8c3lzL3N5c21hY3Jvcy5oPiBieSA8c3lzL3R5cGVzLmg+IGlzIGRlcHJlY2F0ZWQuCi1UaGlzIG1lYW5zIHRoYXQgaW4gYSBmdXR1cmUgcmVsZWFzZSwgdGhlIG1hY3JvcyDigJxtYWpvcuKAnSwg4oCcbWlub3LigJ0sIGFuZAot4oCcbWFrZWRlduKAnSB3aWxsIG9ubHkgYmUgYXZhaWxhYmxlIGZyb20gPHN5cy9zeXNtYWNyb3MuaD4uCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIHNyYy9sb2NrZGV2LmMgfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL3NyYy9sb2NrZGV2LmMgYi9zcmMvbG9ja2Rldi5jCi1pbmRleCA5YTBmY2E1Li4zNTgxOTM4IDEwMDY0NAotLS0tIGEvc3JjL2xvY2tkZXYuYwotKysrIGIvc3JjL2xvY2tkZXYuYwotQEAgLTExNyw2ICsxMTcsNyBAQAotICNpbmNsdWRlIDxzeXMvc3RhdC5oPgotICNpbmNsdWRlIDxzeXMvZmlsZS5oPgotICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSsjaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgotICNpbmNsdWRlIDxzeXMvd2FpdC5oPgotICNpbmNsdWRlICJsb2NrZGV2LmgiCi0gI2luY2x1ZGUgInR0eWxvY2suaCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvY2tkZXYvbG9ja2Rldi9idWlsZC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvY2tkZXYvbG9ja2Rldi9idWlsZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZWM5MWQyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9ja2Rldi9sb2NrZGV2L2J1aWxkLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK2NvbW1pdCAwZGQ0NzEyMzY1NWM1MmQ2ODE4NWYwNmI5ZGE4ZmIwZTFiOTI1NDAwCitBdXRob3I6IEx1ZHdpZyBOdXNzZWwgPGx1ZHdpZy5udXNzZWxAc3VzZS5kZT4KK0RhdGU6ICAgVHVlIEZlYiA5IDE0OjU2OjIzIDIwMTAgKzAxMDAKKworICAgIFJlZEhhdCBwYXRjaCAyCisgICAgCisgICAgLSBjaGFuZ2UgbGlicmFyeSBmaWxlIG5hbWUKKyAgICAtIGluc3RhbGwgZGV2ZWwgc3ltbGluaworCistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC0xMSw3ICsxMSw3IEBAIFZFUgk9ICQoc2hlbGwgZXhwciBgcHdkYCA6ICcuKi1cKFswLTkuXSoKKyBNVkVSCT0gJHtzaGVsbCBleHByIGBwd2RgIDogJy4qLVwoWzAtOV0qXCkuWzAtOV0qJ30KKyAKKyBzdGF0aWMJPSAke2xpYm5hbWV9LmEKKy1zaGFyZWQJPSAke2xpYm5hbWV9LiR7VkVSfS5zbworK3NoYXJlZAk9ICR7bGlibmFtZX0uc28uJHtWRVJ9Cisgc29uYW1lCT0gJHtsaWJuYW1lfS5zby4ke01WRVJ9CisgCisgIyBvdmVyd3JpdHRlbiBieSBjYWxsZXIgKGUuZy46IGRlYmlhbi9ydWxlcykKK0BAIC03Miw2ICs3Miw3IEBAIGluc3RhbGxfZG9jOglkb2NzL2xvY2tkZXYuMworIGluc3RhbGxfcnVuOgkke3NoYXJlZH0KKyAJaW5zdGFsbCAtbTc1NSAtZAkke2xpYmRpcn0KKyAJaW5zdGFsbCAtbTY0NCAke3NoYXJlZH0JJHtsaWJkaXJ9CisrCWxuIC1zICR7c2hhcmVkfQkJJHtsaWJkaXJ9L2xpYmxvY2tkZXYuc28KKyAKKyAuUEhPTlk6IGNsZWFuIGRpc3RjbGVhbiBwZXJsLWNsZWFuIG1vc3R5Y2xlYW4gCisgcGVybC1jbGVhbjoJY2xlYW4KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvY2tkZXYvbG9ja2Rldi9jcm9zc19jb21waWxlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9ja2Rldi9sb2NrZGV2L2Nyb3NzX2NvbXBpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWE4ZjZhNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvY2tkZXYvbG9ja2Rldi9jcm9zc19jb21waWxlLnBhdGNoCkBAIC0wLDAgKzEsMjUgQEAKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTE1LDE3ICsxNSwxNyBAQCBzaGFyZWQJPSAke2xpYm5hbWV9LiR7VkVSfS5zbworIHNvbmFtZQk9ICR7bGlibmFtZX0uc28uJHtNVkVSfQorIAorICMgb3ZlcndyaXR0ZW4gYnkgY2FsbGVyIChlLmcuOiBkZWJpYW4vcnVsZXMpCistYmFzZWRpcgk9IC91c3IvbG9jYWwKKytiYXNlZGlyCT89IC91c3IvbG9jYWwKKyBzcmNkaXI9LgorIAorIGxpYmRpcgk9ICR7YmFzZWRpcn0vbGliCisgaW5jZGlyCT0gJHtiYXNlZGlyfS9pbmNsdWRlCisgbWFuZGlyCT0gJHtiYXNlZGlyfS9zaGFyZS9tYW4KKyAKKy1DQwk9IGdjYworLUxDRkxBR1MJPSAtZyAtTzIgLWZQSUMgLVdhbGwgLXBpcGUgLURfUkVFTlRSQU5UIAorLUNGTEFHUwk9IC1nCistTERMSUJTCT0gLWxsb2NrZGV2CisrQ0MJPz0gZ2NjCisrTENGTEFHUwk/PSAtZyAtTzIgLWZQSUMgLVdhbGwgLXBpcGUgLURfUkVFTlRSQU5UIAorK0NGTEFHUwk/PSAtZworK0xETElCUwk/PSAtbGxvY2tkZXYKKyAKKyAuUEhPTlk6IHNoYXJlZCBzdGF0aWMgcGVybC1saWIKKyBBTEw6CXNoYXJlZCBzdGF0aWMgcGVybC1saWIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvY2tkZXYvbG9ja2Rldl8xLjAuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvY2tkZXYvbG9ja2Rldl8xLjAuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Yjg2MmJkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9ja2Rldi9sb2NrZGV2XzEuMC4zLmJiCkBAIC0wLDAgKzEsMjkgQEAKK1NVTU1BUlkgPSAiTG9ja2luZyBkZXZpY2VzIGxpYnJhcnkiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTT0iZmlsZTovL0xJQ0VOU0U7bWQ1PWQ4MDQ1ZjNiOGY5MjljMWNiMjlhMWUzZmQ3MzdiNDk5IgorCitQRSA9ICIxIgorU1JDX1VSSSA9ICJodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi8yMDE0MTAyM1QwNDMxMzJaL3Bvb2wvbWFpbi9sL2xvY2tkZXYvbG9ja2Rldl8ke1BWfS5vcmlnLnRhci5neiBcCisgICAgICAgICAgIGh0dHA6Ly9zbmFwc2hvdC5kZWJpYW4ub3JnL2FyY2hpdmUvZGViaWFuLzIwMTQxMDIzVDA0MzEzMlovcG9vbC9tYWluL2wvbG9ja2Rldi9sb2NrZGV2XyR7UFZ9LTEuNi5kaWZmLmd6O25hbWU9ZGViaWFucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vY3Jvc3NfY29tcGlsZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9idWlsZC5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2NGI5YzFiODdiMTI1ZmMzNDhlODkyZTI0NjI1NTI0YSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjY2FlNjM1ZDdhYzNmZGQ1MDg5N2VjZWIyNTA4NzJiM2Q5YTE5MWQyOThmMjEzZTdmMGM4MzY5MTBkODY5ZjgyIgorU1JDX1VSSVtkZWJpYW5wYXRjaC5tZDVzdW1dID0gIjVlZjYyNjdjNDJmY2E5MTQ1ZTBhZjAwNmNjYjZhZmY3IgorU1JDX1VSSVtkZWJpYW5wYXRjaC5zaGEyNTZzdW1dID0gImE1NDA1YzZlZTVlOTdlNDVlZWIxYzgxMzMwYTdlOWY0NDRhNThiZGE1ZTY3NzFmYTMwMDA3NTE2YzExNTAwN2UiCisKK2luaGVyaXQgbGliX3BhY2thZ2UgcGVybG5hdGl2ZQorZXhwb3J0IGJhc2VkaXI9IiR7RH0ke3ByZWZpeH0iCisKK0NGTEFHUyArPSAiIC1EX19HTlVfTElCUkFSWV9fIgorCitUQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKKworZG9fY29tcGlsZSgpIHsKKyAgICAgICAgb2VfcnVubWFrZSBiYXNlZGlyPSR7RH0ke3ByZWZpeH0gTEQ9IiR7Q0N9IiBMRD0iJHtDQ30iIHNoYXJlZCBzdGF0aWMKK30KK2RvX2luc3RhbGwoKSB7CisgICAgICAgIG9lX3J1bm1ha2UgREVTVERJUj0ke0R9IGJhc2VkaXI9JHtEfSR7cHJlZml4fSBpbnN0YWxsCit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sb2NrZGV2L2xvY2tkZXZfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9ja2Rldi9sb2NrZGV2X2dpdC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWFkN2YwYy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sb2NrZGV2L2xvY2tkZXZfZ2l0LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotU1VNTUFSWSA9ICJMb2NraW5nIGRldmljZXMgbGlicmFyeSIKLVNFQ1RJT04gPSAibGlicyIKLUxJQ0VOU0UgPSAiTEdQTHYyLjEiCi1MSUNfRklMRVNfQ0hLU1VNPSJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCi0KLVBWID0gIjEuMC4zK2dpdCR7U1JDUFZ9IgotCi1TUkNSRVYgPSAiMTZiODk5NjQ1ZDMyMDEyY2M5NGNjOTIzMmY2NGQ0ZGRhYWYwYjc5NSIKLVNSQ19VUkkgPSAiZ2l0Oi8vYW5vbnNjbS5kZWJpYW4ub3JnL2xvY2tkZXYvbG9ja2Rldi5naXQgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1pbmNsdWRlLXN5cy1zeXNtYWNyb3MuaC1mb3ItbWFqb3ItbWlub3ItZGVmaW5pdGlvbnMucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWluaGVyaXQgbGliX3BhY2thZ2UgYXV0b3Rvb2xzLWJyb2tlbnNlcAotCi1kb19jb25maWd1cmVfcHJlcGVuZCAoKSB7Ci0gICAgLi9zY3JpcHRzL2dpdC12ZXJzaW9uID4gVkVSU0lPTgotCi0gICAgIyBNYWtlIGF1dG9tYWtlIGhhcHB5Ci0gICAgdG91Y2ggQ2hhbmdlTG9nCi19Ci0KLUNGTEFHU19hcHBlbmRfbGliYy1tdXNsID0gIiAtRF9fR05VX0xJQlJBUllfXyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvZmlsZXMvMDAwMS1Bdm9pZC1iYXNoaXNtcy1pbi1pbml0LXNjcmlwdHMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2ZpbGVzLzAwMDEtQXZvaWQtYmFzaGlzbXMtaW4taW5pdC1zY3JpcHRzLnBhdGNoCmluZGV4IDViNTUxMTEuLjNjNGEzYTEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvZmlsZXMvMDAwMS1Bdm9pZC1iYXNoaXNtcy1pbi1pbml0LXNjcmlwdHMucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9maWxlcy8wMDAxLUF2b2lkLWJhc2hpc21zLWluLWluaXQtc2NyaXB0cy5wYXRjaApAQCAtMSwyNiArMSwyNyBAQAotRnJvbSA5MTZlYTBjNzBmZDA2M2FiN2I4MWYxNmZkOTE3YTc1ZGMwMmVkZjRmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+Ci1EYXRlOiBGcmksIDE3IE1hciAyMDE3IDAzOjE4OjI4ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIEF2b2lkIGJhc2hpc21zIGluIGluaXQgc2NyaXB0cworRnJvbSBlYTY2ZmFmNjhjOTM3MzVlZGIxZjI2OTFjZDczNjRiOGNhYjgzZmVmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGV0ZXIgS2plbGxlcnN0ZWR0IDxwZXRlci5ramVsbGVyc3RlZHRAYXhpcy5jb20+CitEYXRlOiBNb24sIDI2IE5vdiAyMDE4IDE0OjUzOjA5ICswODAwCitTdWJqZWN0OiBbUEFUQ0ggMS8zXSBBdm9pZCBiYXNoaXNtcyBpbiBpbml0IHNjcmlwdHMKIAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlCiAKIFNpZ25lZC1vZmYtYnk6IFBldGVyIEtqZWxsZXJzdGVkdCA8cGV0ZXIua2plbGxlcnN0ZWR0QGF4aXMuY29tPgotLS0tCi0gc2NyaXB0cy9ibGtfYXZhaWxhYmlsaXR5X2luaXRfcmVkX2hhdC5pbiAgICAgIHwgNCArKy0tCi0gc2NyaXB0cy9jbHZtZF9pbml0X3JlZF9oYXQuaW4gICAgICAgICAgICAgICAgIHwgNiArKystLS0KLSBzY3JpcHRzL2NtaXJyb3JkX2luaXRfcmVkX2hhdC5pbiAgICAgICAgICAgICAgfCA0ICsrLS0KLSBzY3JpcHRzL2x2bTJfY2x1c3Rlcl9hY3RpdmF0aW9uX3JlZF9oYXQuc2guaW4gfCA0ICsrLS0KLSBzY3JpcHRzL2x2bTJfbHZtZXRhZF9pbml0X3JlZF9oYXQuaW4gICAgICAgICAgfCA0ICsrLS0KLSBzY3JpcHRzL2x2bTJfbHZtcG9sbGRfaW5pdF9yZWRfaGF0LmluICAgICAgICAgfCA0ICsrLS0KLSBzY3JpcHRzL2x2bTJfbW9uaXRvcmluZ19pbml0X3JlZF9oYXQuaW4gICAgICAgfCA0ICsrLS0KLSBzY3JpcHRzL2x2bTJfbW9uaXRvcmluZ19pbml0X3JoZWw0ICAgICAgICAgICAgfCA0ICsrLS0KLSA4IGZpbGVzIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQogCi1JbmRleDogTFZNMi4yLjAyLjE3Ny9zY3JpcHRzL2Jsa19hdmFpbGFiaWxpdHlfaW5pdF9yZWRfaGF0LmluCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gTFZNMi4yLjAyLjE3Ny5vcmlnL3NjcmlwdHMvYmxrX2F2YWlsYWJpbGl0eV9pbml0X3JlZF9oYXQuaW4KLSsrKyBMVk0yLjIuMDIuMTc3L3NjcmlwdHMvYmxrX2F2YWlsYWJpbGl0eV9pbml0X3JlZF9oYXQuaW4KK1JlYmFzZSB0byAyLjAzLjAxCisKK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIHNjcmlwdHMvYmxrX2F2YWlsYWJpbGl0eV9pbml0X3JlZF9oYXQuaW4gfCA0ICsrLS0KKyBzY3JpcHRzL2NtaXJyb3JkX2luaXRfcmVkX2hhdC5pbiAgICAgICAgIHwgNCArKy0tCisgc2NyaXB0cy9sdm0yX2x2bXBvbGxkX2luaXRfcmVkX2hhdC5pbiAgICB8IDQgKystLQorIHNjcmlwdHMvbHZtMl9tb25pdG9yaW5nX2luaXRfcmVkX2hhdC5pbiAgfCA0ICsrLS0KKyBzY3JpcHRzL2x2bTJfbW9uaXRvcmluZ19pbml0X3JoZWw0ICAgICAgIHwgNCArKy0tCisgNSBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NjcmlwdHMvYmxrX2F2YWlsYWJpbGl0eV9pbml0X3JlZF9oYXQuaW4gYi9zY3JpcHRzL2Jsa19hdmFpbGFiaWxpdHlfaW5pdF9yZWRfaGF0LmluCitpbmRleCAzNDdjMzk1Li5iMmU5Y2Y5IDEwMDY0NAorLS0tIGEvc2NyaXB0cy9ibGtfYXZhaWxhYmlsaXR5X2luaXRfcmVkX2hhdC5pbgorKysrIGIvc2NyaXB0cy9ibGtfYXZhaWxhYmlsaXR5X2luaXRfcmVkX2hhdC5pbgogQEAgLTEsNCArMSw0IEBACiAtIyEvYmluL2Jhc2gKICsjIS9iaW4vc2gKQEAgLTM1LDM4ICszNiwxMCBAQAogKwllY2hvICJVc2FnZTogJDAge3N0YXJ0fHN0b3B8c3RhdHVzfSIKICAJOzsKICBlc2FjCi1JbmRleDogTFZNMi4yLjAyLjE3Ny9zY3JpcHRzL2Nsdm1kX2luaXRfcmVkX2hhdC5pbgotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIExWTTIuMi4wMi4xNzcub3JpZy9zY3JpcHRzL2Nsdm1kX2luaXRfcmVkX2hhdC5pbgotKysrIExWTTIuMi4wMi4xNzcvc2NyaXB0cy9jbHZtZF9pbml0X3JlZF9oYXQuaW4KLUBAIC0xLDQgKzEsNCBAQAotLSMhL2Jpbi9iYXNoCi0rIyEvYmluL3NoCi0gIwotICMgY2x2bWQgLSBDbHVzdGVyZWQgTFZNIERhZW1vbiBpbml0IHNjcmlwdAotICMKLUBAIC0xNjEsNyArMTYxLDcgQEAgcmVzdGFydCgpIHsKLSAJZmkKLSB9Ci0gCi0tWyAiJEVVSUQiICE9ICIwIiBdICYmIHsKLStbICIkKGlkIC11KSIgIT0gIjAiIF0gJiYgewotIAllY2hvICJjbHZtZCBpbml0IHNjcmlwdCBjYW4gb25seSBiZSBleGVjdXRlZCBhcyByb290IHVzZXIiCi0gCWV4aXQgNAotIH0KLUBAIC0yMDYsNyArMjA2LDcgQEAgY2FzZSAiJDEiIGluCi0gCTs7Ci0gCi0gICAqKQotLQllY2hvICQiVXNhZ2U6ICQwIHtzdGFydHxzdG9wfHN0YXR1c3xyZXN0YXJ0fGNvbmRyZXN0YXJ0fHRyeS1yZXN0YXJ0fHJlbG9hZHxmb3JjZS1yZWxvYWR9IgotKwllY2hvICJVc2FnZTogJDAge3N0YXJ0fHN0b3B8c3RhdHVzfHJlc3RhcnR8Y29uZHJlc3RhcnR8dHJ5LXJlc3RhcnR8cmVsb2FkfGZvcmNlLXJlbG9hZH0iCi0gCXJ0cm49MgotIAk7OwotIGVzYWMKLUluZGV4OiBMVk0yLjIuMDIuMTc3L3NjcmlwdHMvY21pcnJvcmRfaW5pdF9yZWRfaGF0LmluCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gTFZNMi4yLjAyLjE3Ny5vcmlnL3NjcmlwdHMvY21pcnJvcmRfaW5pdF9yZWRfaGF0LmluCi0rKysgTFZNMi4yLjAyLjE3Ny9zY3JpcHRzL2NtaXJyb3JkX2luaXRfcmVkX2hhdC5pbgorZGlmZiAtLWdpdCBhL3NjcmlwdHMvY21pcnJvcmRfaW5pdF9yZWRfaGF0LmluIGIvc2NyaXB0cy9jbWlycm9yZF9pbml0X3JlZF9oYXQuaW4KK2luZGV4IGM4MmY4ZjUuLmEzYTMyMWQgMTAwNzU1CistLS0gYS9zY3JpcHRzL2NtaXJyb3JkX2luaXRfcmVkX2hhdC5pbgorKysrIGIvc2NyaXB0cy9jbWlycm9yZF9pbml0X3JlZF9oYXQuaW4KIEBAIC0xLDQgKzEsNCBAQAogLSMhL2Jpbi9iYXNoCiArIyEvYmluL3NoCkBAIC04Miw0OCArNTUsMTAgQEAKICAJCTs7CiAgZXNhYwogIAotSW5kZXg6IExWTTIuMi4wMi4xNzcvc2NyaXB0cy9sdm0yX2NsdXN0ZXJfYWN0aXZhdGlvbl9yZWRfaGF0LnNoLmluCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gTFZNMi4yLjAyLjE3Ny5vcmlnL3NjcmlwdHMvbHZtMl9jbHVzdGVyX2FjdGl2YXRpb25fcmVkX2hhdC5zaC5pbgotKysrIExWTTIuMi4wMi4xNzcvc2NyaXB0cy9sdm0yX2NsdXN0ZXJfYWN0aXZhdGlvbl9yZWRfaGF0LnNoLmluCi1AQCAtMSw0ICsxLDQgQEAKLS0jIS9iaW4vYmFzaAotKyMhL2Jpbi9zaAotIAotIHNiaW5kaXI9IkBTQklORElSQCIKLSAKLUBAIC01NCw3ICs1NCw3IEBAIGNhc2UgIiQxIiBpbgotIAlydHJuPSQ/Ci0gCTs7Ci0gICAqKQotLQllY2hvICQiVXNhZ2U6ICQwIHthY3RpdmF0ZXxkZWFjdGl2YXRlfSIKLSsJZWNobyAiVXNhZ2U6ICQwIHthY3RpdmF0ZXxkZWFjdGl2YXRlfSIKLSAJcnRybj0zCi0gCTs7Ci0gZXNhYwotSW5kZXg6IExWTTIuMi4wMi4xNzcvc2NyaXB0cy9sdm0yX2x2bWV0YWRfaW5pdF9yZWRfaGF0LmluCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gTFZNMi4yLjAyLjE3Ny5vcmlnL3NjcmlwdHMvbHZtMl9sdm1ldGFkX2luaXRfcmVkX2hhdC5pbgotKysrIExWTTIuMi4wMi4xNzcvc2NyaXB0cy9sdm0yX2x2bWV0YWRfaW5pdF9yZWRfaGF0LmluCi1AQCAtMSw0ICsxLDQgQEAKLS0jIS9iaW4vYmFzaAotKyMhL2Jpbi9zaAotICMKLSAjIENvcHlyaWdodCAoQykgMjAxMi0yMDE3IFJlZCBIYXQsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAjCi1AQCAtMTAzLDcgKzEwMyw3IEBAIGNhc2UgIiQxIiBpbgotIAk7OwotIAotICAgKikKLS0JZWNobyAkIlVzYWdlOiAkMCB7c3RhcnR8c3RvcHxmb3JjZS1zdG9wfHJlc3RhcnR8Y29uZHJlc3RhcnR8dHJ5LXJlc3RhcnR8c3RhdHVzfSIKLSsJZWNobyAiVXNhZ2U6ICQwIHtzdGFydHxzdG9wfGZvcmNlLXN0b3B8cmVzdGFydHxjb25kcmVzdGFydHx0cnktcmVzdGFydHxzdGF0dXN9IgotIAk7OwotIGVzYWMKLSAKLUluZGV4OiBMVk0yLjIuMDIuMTc3L3NjcmlwdHMvbHZtMl9sdm1wb2xsZF9pbml0X3JlZF9oYXQuaW4KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBMVk0yLjIuMDIuMTc3Lm9yaWcvc2NyaXB0cy9sdm0yX2x2bXBvbGxkX2luaXRfcmVkX2hhdC5pbgotKysrIExWTTIuMi4wMi4xNzcvc2NyaXB0cy9sdm0yX2x2bXBvbGxkX2luaXRfcmVkX2hhdC5pbgorZGlmZiAtLWdpdCBhL3NjcmlwdHMvbHZtMl9sdm1wb2xsZF9pbml0X3JlZF9oYXQuaW4gYi9zY3JpcHRzL2x2bTJfbHZtcG9sbGRfaW5pdF9yZWRfaGF0LmluCitpbmRleCAxNzZmZjVkLi44MjVmNmFkIDEwMDY0NAorLS0tIGEvc2NyaXB0cy9sdm0yX2x2bXBvbGxkX2luaXRfcmVkX2hhdC5pbgorKysrIGIvc2NyaXB0cy9sdm0yX2x2bXBvbGxkX2luaXRfcmVkX2hhdC5pbgogQEAgLTEsNCArMSw0IEBACiAtIyEvYmluL2Jhc2gKICsjIS9iaW4vc2gKQEAgLTEzOSwxMCArNzQsMTAgQEAKICAJOzsKICBlc2FjCiAgCi1JbmRleDogTFZNMi4yLjAyLjE3Ny9zY3JpcHRzL2x2bTJfbW9uaXRvcmluZ19pbml0X3JlZF9oYXQuaW4KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBMVk0yLjIuMDIuMTc3Lm9yaWcvc2NyaXB0cy9sdm0yX21vbml0b3JpbmdfaW5pdF9yZWRfaGF0LmluCi0rKysgTFZNMi4yLjAyLjE3Ny9zY3JpcHRzL2x2bTJfbW9uaXRvcmluZ19pbml0X3JlZF9oYXQuaW4KK2RpZmYgLS1naXQgYS9zY3JpcHRzL2x2bTJfbW9uaXRvcmluZ19pbml0X3JlZF9oYXQuaW4gYi9zY3JpcHRzL2x2bTJfbW9uaXRvcmluZ19pbml0X3JlZF9oYXQuaW4KK2luZGV4IDk1ZTQxMjUuLmRmZjg5Y2QgMTAwNjQ0CistLS0gYS9zY3JpcHRzL2x2bTJfbW9uaXRvcmluZ19pbml0X3JlZF9oYXQuaW4KKysrKyBiL3NjcmlwdHMvbHZtMl9tb25pdG9yaW5nX2luaXRfcmVkX2hhdC5pbgogQEAgLTEsNCArMSw0IEBACiAtIyEvYmluL2Jhc2gKICsjIS9iaW4vc2gKQEAgLTE1OCwxMCArOTMsMTAgQEAKICAJOzsKICBlc2FjCiAgCi1JbmRleDogTFZNMi4yLjAyLjE3Ny9zY3JpcHRzL2x2bTJfbW9uaXRvcmluZ19pbml0X3JoZWw0Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gTFZNMi4yLjAyLjE3Ny5vcmlnL3NjcmlwdHMvbHZtMl9tb25pdG9yaW5nX2luaXRfcmhlbDQKLSsrKyBMVk0yLjIuMDIuMTc3L3NjcmlwdHMvbHZtMl9tb25pdG9yaW5nX2luaXRfcmhlbDQKK2RpZmYgLS1naXQgYS9zY3JpcHRzL2x2bTJfbW9uaXRvcmluZ19pbml0X3JoZWw0IGIvc2NyaXB0cy9sdm0yX21vbml0b3JpbmdfaW5pdF9yaGVsNAoraW5kZXggOGViMDZjNS4uMmU4ZDBmNyAxMDA2NDQKKy0tLSBhL3NjcmlwdHMvbHZtMl9tb25pdG9yaW5nX2luaXRfcmhlbDQKKysrKyBiL3NjcmlwdHMvbHZtMl9tb25pdG9yaW5nX2luaXRfcmhlbDQKIEBAIC0xLDQgKzEsNCBAQAogLSMhL2Jpbi9iYXNoCiArIyEvYmluL3NoCkBAIC0xNzcsMyArMTEyLDYgQEAKICAJOzsKICBlc2FjCiAgCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvZmlsZXMvMDAwMy1pbmNsdWRlLWZjbnRsLmgtZm9yLU9fLWRlZmluZXMtYW5kLWZjbnRsLXNpZ25hdHVyZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvZmlsZXMvMDAwMy1pbmNsdWRlLWZjbnRsLmgtZm9yLU9fLWRlZmluZXMtYW5kLWZjbnRsLXNpZ25hdHVyZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWFiMWMwNi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2ZpbGVzLzAwMDMtaW5jbHVkZS1mY250bC5oLWZvci1PXy1kZWZpbmVzLWFuZC1mY250bC1zaWduYXR1cmUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi1Gcm9tIGIxYWQ5MWEwNTlkOTlhZmQxY2UyNTgyM2I3YzBhOGQzYWM2M2QyZmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBEZW5na2UgRHUgPGRlbmdrZS5kdUB3aW5kcml2ZXIuY29tPgotRGF0ZTogVHVlLCAyNSBPY3QgMjAxNiAxMTo1NTo0OSArMDAwMAotU3ViamVjdDogW1BBVENIIDMvNF0gaW5jbHVkZSBmY250bC5oIGZvciBPXyogZGVmaW5lcyBhbmQgZmNudGwoKSBzaWduYXR1cmUKLQotT24gZ2xpYmMgX3NvbWVob3dfIHRoaXMgaGVhZGVyIGdldHMgcHVsbGVkIGluIGluZGlyZWN0bHkKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IERlbmdrZSBEdSA8ZGVuZ2tlLmR1QHdpbmRyaXZlci5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gbGliZGFlbW9uL3NlcnZlci9kYWVtb24tc2VydmVyLmMgfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL2xpYmRhZW1vbi9zZXJ2ZXIvZGFlbW9uLXNlcnZlci5jIGIvbGliZGFlbW9uL3NlcnZlci9kYWVtb24tc2VydmVyLmMKLWluZGV4IDZhZjZkZTkuLmE5NTkwZTcgMTAwNjQ0Ci0tLS0gYS9saWJkYWVtb24vc2VydmVyL2RhZW1vbi1zZXJ2ZXIuYwotKysrIGIvbGliZGFlbW9uL3NlcnZlci9kYWVtb24tc2VydmVyLmMKLUBAIC0xOCw2ICsxOCw3IEBACi0gI2luY2x1ZGUgImRhZW1vbi1zZXJ2ZXIuaCIKLSAjaW5jbHVkZSAiZGFlbW9uLWxvZy5oIgotIAotKyNpbmNsdWRlIDxmY250bC5oPgotICNpbmNsdWRlIDxkbGZjbi5oPgotICNpbmNsdWRlIDxlcnJuby5oPgotICNpbmNsdWRlIDxwdGhyZWFkLmg+Ci0tLSAKLTIuOS4zCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvZmlsZXMvMDAwNS1kby1ub3QtYnVpbGQtbWFudWFsLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9maWxlcy8wMDA1LWRvLW5vdC1idWlsZC1tYW51YWwucGF0Y2gKaW5kZXggZTNjZTRjOC4uNzExN2Q5OSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9maWxlcy8wMDA1LWRvLW5vdC1idWlsZC1tYW51YWwucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9maWxlcy8wMDA1LWRvLW5vdC1idWlsZC1tYW51YWwucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDUxZDY2MWZmMzNiYjI1NGQ3YjMzNWE5Yzg3YWNmNWM2ZTdhOTQxOTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDEwM2FjMWMxMjAwZGY4MTkwMzcyZDk3M2UwMDQ3NzZjZmZlOGU2NTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUdWUsIDMxIEp1bCAyMDE4IDE1OjA4OjM0ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIGRvIG5vdCBidWlsZCBtYW51YWwKK0RhdGU6IE1vbiwgMjYgTm92IDIwMTggMTQ6NTk6NTUgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAyLzNdIGRvIG5vdCBidWlsZCBtYW51YWwKIAogT24gc29tZSBob3N0ICh1YnVudHUgMTQwNCksIGJ1aWxkIG1hbnVhbCBmYWlsZWQuCiAuLi4KQEAgLTE0LDM0ICsxNCwzOSBAQAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCiAKIFNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKworCitVcGRhdGUgY29udGV4dCBmb3IgbHZtMiAyLjAzLjAyLgorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KIC0tLQogIE1ha2VmaWxlLmluICB8IDYgKysrLS0tCiAgY29uZmlndXJlLmFjIHwgMSAtCiAgMiBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9NYWtlZmlsZS5pbiBiL01ha2VmaWxlLmluCi1pbmRleCBlMmY1YTg0Li5hY2YzMWU1IDEwMDY0NAoraW5kZXggNmExYTk5MC4uODBjYmE5MSAxMDA2NDQKIC0tLSBhL01ha2VmaWxlLmluCiArKysgYi9NYWtlZmlsZS5pbgogQEAgLTE4LDcgKzE4LDcgQEAgdG9wX2J1aWxkZGlyID0gQHRvcF9idWlsZGRpckAKICBhYnNfdG9wX2J1aWxkZGlyID0gQGFic190b3BfYnVpbGRkaXJACiAgYWJzX3RvcF9zcmNkaXIgPSBAYWJzX3RvcF9zcmNkaXJACiAgCi0tU1VCRElSUyA9IGNvbmYgZGFlbW9ucyBpbmNsdWRlIGxpYiBsaWJkYWVtb24gbGliZG0gbWFuIHNjcmlwdHMgZGV2aWNlX21hcHBlciB0b29scwotK1NVQkRJUlMgPSBjb25mIGRhZW1vbnMgaW5jbHVkZSBsaWIgbGliZGFlbW9uIGxpYmRtIHNjcmlwdHMgZGV2aWNlX21hcHBlciB0b29scworLVNVQkRJUlMgPSBjb25mIGRhZW1vbnMgaW5jbHVkZSBsaWIgbGliZGFlbW9uIGxpYmRtIG1hbiBzY3JpcHRzIHRvb2xzCisrU1VCRElSUyA9IGNvbmYgZGFlbW9ucyBpbmNsdWRlIGxpYiBsaWJkYWVtb24gbGliZG0gc2NyaXB0cyB0b29scwogIAogIGlmZXEgKCJAVURFVl9SVUxFU0AiLCAieWVzIikKICAgIFNVQkRJUlMgKz0gdWRldgotQEAgLTQxLDcgKzQxLDcgQEAgaWZlcSAoJChNQUtFQ01ER09BTFMpLGNsZWFuKQorQEAgLTMzLDcgKzMzLDcgQEAgaWZlcSAoJChNQUtFQ01ER09BTFMpLGNsZWFuKQogIGVuZGlmCiAgIyBGSVhNRSBTaG91bGQgdXNlIGludGVybWVkaWF0ZSBNYWtlZmlsZXMgaGVyZSEKICBpZmVxICgkKE1BS0VDTURHT0FMUyksZGlzdGNsZWFuKQogLSAgU1VCRElSUyA9IGNvbmYgaW5jbHVkZSBtYW4gdGVzdCBzY3JpcHRzIFwKICsgIFNVQkRJUlMgPSBjb25mIGluY2x1ZGUgdGVzdCBzY3JpcHRzIFwKICAgICAgbGliZGFlbW9uIGxpYiB0b29scyBkYWVtb25zIGxpYmRtIFwKLSAgICAgdWRldiBwbyBsaWJsdm0gcHl0aG9uIGRldmljZV9tYXBwZXIKKyAgICAgdWRldiBwbwogIHRvb2xzLmRpc3RjbGVhbjogdGVzdC5kaXN0Y2xlYW4KLUBAIC03MSw3ICs3MSw3IEBAIGxpYmx2bS5kZXZpY2UtbWFwcGVyOiBpbmNsdWRlLmRldmljZS1tYXBwZXIKK0BAIC02NSw3ICs2NSw3IEBAIGxpYmRtLmRldmljZS1tYXBwZXI6IGluY2x1ZGUuZGV2aWNlLW1hcHBlcgogIGRhZW1vbnMuZGV2aWNlLW1hcHBlcjogbGliZG0uZGV2aWNlLW1hcHBlcgogIHRvb2xzLmRldmljZS1tYXBwZXI6IGxpYmRtLmRldmljZS1tYXBwZXIKICBzY3JpcHRzLmRldmljZS1tYXBwZXI6IGluY2x1ZGUuZGV2aWNlLW1hcHBlcgpAQCAtNTEsMTcgKzU2LDE3IEBACiAgaWZlcSAoIkBJTlRMQCIsICJ5ZXMiKQogIGxpYi5wb2ZpbGU6IGluY2x1ZGUucG9maWxlCiBkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCBhYTM3NGVhLi41YTkyY2JhIDEwMDY0NAoraW5kZXggN2ZkMDU2MS4uNDE1NGRjMCAxMDA2NDQKIC0tLSBhL2NvbmZpZ3VyZS5hYwogKysrIGIvY29uZmlndXJlLmFjCi1AQCAtMjEyNCw3ICsyMTI0LDYgQEAgbGliZG0vTWFrZWZpbGUKK0BAIC0xODEyLDcgKzE4MTIsNiBAQCBsaWJkYWVtb24vc2VydmVyL01ha2VmaWxlCisgbGliZG0vTWFrZWZpbGUKKyBsaWJkbS9kbS10b29scy9NYWtlZmlsZQogIGxpYmRtL2xpYmRldm1hcHBlci5wYwotIGxpYmx2bS9NYWtlZmlsZQotIGxpYmx2bS9saWJsdm0yYXBwLnBjCiAtbWFuL01ha2VmaWxlCiAgcG8vTWFrZWZpbGUKLSBweXRob24vTWFrZWZpbGUKLSBweXRob24vc2V0dXAucHkKKyBzY3JpcHRzL2x2bTItcHZzY2FuLnNlcnZpY2UKKyBzY3JpcHRzL2Jsa2RlYWN0aXZhdGUuc2gKIC0tIAogMi43LjQKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9maWxlcy8wMDA2LXN0YXJ0LWx2bTItbW9uaXRvci5zZXJ2aWNlLWFmdGVyLXRtcC5tb3VudC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvZmlsZXMvMDAwNi1zdGFydC1sdm0yLW1vbml0b3Iuc2VydmljZS1hZnRlci10bXAubW91bnQucGF0Y2gKaW5kZXggMGU2OGQ2Mi4uZTVhZDRlYSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9maWxlcy8wMDA2LXN0YXJ0LWx2bTItbW9uaXRvci5zZXJ2aWNlLWFmdGVyLXRtcC5tb3VudC5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2ZpbGVzLzAwMDYtc3RhcnQtbHZtMi1tb25pdG9yLnNlcnZpY2UtYWZ0ZXItdG1wLm1vdW50LnBhdGNoCkBAIC0xMCwyMCArMTAsMjUgQEAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2Ugc3BlY2lmaWNdCiAKIFNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKworCitVcGRhdGUgY29udGV4dCBmb3IgbHZtMiAyLjAzLjAyLgorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KIC0tLQogIHNjcmlwdHMvbHZtMl9tb25pdG9yaW5nX3N5c3RlbWRfcmVkX2hhdC5zZXJ2aWNlLmluIHwgMiArLQogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvc2NyaXB0cy9sdm0yX21vbml0b3Jpbmdfc3lzdGVtZF9yZWRfaGF0LnNlcnZpY2UuaW4gYi9zY3JpcHRzL2x2bTJfbW9uaXRvcmluZ19zeXN0ZW1kX3JlZF9oYXQuc2VydmljZS5pbgotaW5kZXggMjIyMzhiNy4uOTNiMmJlZSAxMDA2NDQKK2luZGV4IDdlYzRlNGUuLjMyODJhOTUgMTAwNjQ0CiAtLS0gYS9zY3JpcHRzL2x2bTJfbW9uaXRvcmluZ19zeXN0ZW1kX3JlZF9oYXQuc2VydmljZS5pbgogKysrIGIvc2NyaXB0cy9sdm0yX21vbml0b3Jpbmdfc3lzdGVtZF9yZWRfaGF0LnNlcnZpY2UuaW4KIEBAIC0yLDcgKzIsNyBAQAogIERlc2NyaXB0aW9uPU1vbml0b3Jpbmcgb2YgTFZNMiBtaXJyb3JzLCBzbmFwc2hvdHMgZXRjLiB1c2luZyBkbWV2ZW50ZCBvciBwcm9ncmVzcyBwb2xsaW5nCiAgRG9jdW1lbnRhdGlvbj1tYW46ZG1ldmVudGQoOCkgbWFuOmx2Y3JlYXRlKDgpIG1hbjpsdmNoYW5nZSg4KSBtYW46dmdjaGFuZ2UoOCkKLSBSZXF1aXJlcz1kbS1ldmVudC5zb2NrZXQgbHZtMi1sdm1ldGFkLnNvY2tldAotLUFmdGVyPWRtLWV2ZW50LnNvY2tldCBkbS1ldmVudC5zZXJ2aWNlIGx2bTItbHZtZXRhZC5zb2NrZXQgbHZtMi1hY3RpdmF0aW9uLnNlcnZpY2UgbHZtMi1sdm1ldGFkLnNlcnZpY2UKLStBZnRlcj1kbS1ldmVudC5zb2NrZXQgZG0tZXZlbnQuc2VydmljZSBsdm0yLWx2bWV0YWQuc29ja2V0IGx2bTItYWN0aXZhdGlvbi5zZXJ2aWNlIGx2bTItbHZtZXRhZC5zZXJ2aWNlIHRtcC5tb3VudAorIFJlcXVpcmVzPWRtLWV2ZW50LnNvY2tldAorLUFmdGVyPWRtLWV2ZW50LnNvY2tldCBkbS1ldmVudC5zZXJ2aWNlIGx2bTItYWN0aXZhdGlvbi5zZXJ2aWNlCisrQWZ0ZXI9ZG0tZXZlbnQuc29ja2V0IGRtLWV2ZW50LnNlcnZpY2UgbHZtMi1hY3RpdmF0aW9uLnNlcnZpY2UgdG1wLm1vdW50CiAgQmVmb3JlPWxvY2FsLWZzLXByZS50YXJnZXQKICBEZWZhdWx0RGVwZW5kZW5jaWVzPW5vCiAgQ29uZmxpY3RzPXNodXRkb3duLnRhcmdldApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9saWJkZXZtYXBwZXJfMi4wMi4xODAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2xpYmRldm1hcHBlcl8yLjAyLjE4MC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjZhZjMyNy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2xpYmRldm1hcHBlcl8yLjAyLjE4MC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLXJlcXVpcmUgbHZtMi5pbmMKLQotU1JDX1VSSVttZDVzdW1dID0gImJjMjZkYTY2ZTk2NzI3YmFiYmQyODhiYjBmMDUwMzM5IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI0OTk3ZTI2ZGZjOTE2MTUxNzA3YzlkYTUwNGQzOGQwNDczYmVjMzQ4MWE4MjMwYjY3NmJjMDc5MDQxYmVhZDYiCi0KLURFUEVORFMgKz0gImF1dG9jb25mLWFyY2hpdmUtbmF0aXZlIgotCi1UQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKLQotZG9faW5zdGFsbCgpIHsKLSAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIC1DIGxpYmRtIGluc3RhbGwKLSAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIC1DIHRvb2xzIGluc3RhbGxfZGV2aWNlLW1hcHBlcgotfQotCi1SUkVDT01NRU5EU18ke1BOfV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBsdm0yLXVkZXZydWxlcyIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9saWJkZXZtYXBwZXJfMi4wMy4wMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbGliZGV2bWFwcGVyXzIuMDMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmM0ZmViYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbGliZGV2bWFwcGVyXzIuMDMuMDIuYmIKQEAgLTAsMCArMSwxNSBAQAorcmVxdWlyZSBsdm0yLmluYworCitTUkNSRVYgPSAiOTEzYzI4OTE3ZTYyNTc3YTJlZjY3MTUyYjJlNTE1OTIzNzUwM2RkYSIKKworREVQRU5EUyArPSAiYXV0b2NvbmYtYXJjaGl2ZS1uYXRpdmUiCisKK1RBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgLUMgbGliZG0gaW5zdGFsbAorfQorCitSUkVDT01NRU5EU18ke1BOfV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBsdm0yLXVkZXZydWxlcyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMi5pbmMKaW5kZXggMjZhODg3ZS4uODYxN2YyNSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yLmluYworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIuaW5jCkBAIC03LDI1ICs3LDIzIEBACiAKIERFUEVORFMgKz0gInV0aWwtbGludXggbGliYWlvIgogCi1TUkNfVVJJID0gImZ0cDovL3NvdXJjZXMucmVkaGF0LmNvbS9wdWIvbHZtMi9vbGQvTFZNMi4ke1BWfS50Z3ogXAorU1JDX1VSSSA9ICJmdHA6Ly9zb3VyY2VzLnJlZGhhdC5jb20vcHViL2x2bTIvcmVsZWFzZXMvTFZNMi4ke1BWfS50Z3ogXAogICAgICAgICAgICBmaWxlOi8vbHZtLmNvbmYgXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1pbXBsZW1lbnQtbGliYy1zcGVjaWZpYy1yZW9wZW5fc3RyZWFtLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDItR3VhcmQtdXNlLW9mLW1hbGxpbmZvLXdpdGgtX19HTElCQ19fLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtaW5jbHVkZS1mY250bC5oLWZvci1PXy1kZWZpbmVzLWFuZC1mY250bC1zaWduYXR1cmUucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwNC10d2Vhay1NT0RQUk9CRV9DTUQtZm9yLWNyb3NzLWNvbXBpbGUucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1Bdm9pZC1iYXNoaXNtcy1pbi1pbml0LXNjcmlwdHMucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwNS1kby1ub3QtYnVpbGQtbWFudWFsLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDYtc3RhcnQtbHZtMi1tb25pdG9yLnNlcnZpY2UtYWZ0ZXItdG1wLm1vdW50LnBhdGNoIFwKICAgICAgICAgICAgIgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiZnRwOi8vc291cmNlcy5yZWRoYXQuY29tL3B1Yi9sdm0yLyIKLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gIkxWTTJcLig/UDxwdmVyPlxkKyhcLlxkKykrKSIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1ZmMwN2RhNTQ2MWEzNzk0YTc1MWRjZmMzNTU4MjdkNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1NTBiYTc1MDIzOWZkNzViN2U1MmM5ODc3NTY1Y2FiZmZlZjUwNmJiZjZkN2Y2ZjE3Yjk3MDBkZWU1NmM3MjBmIgogCiBTID0gIiR7V09SS0RJUn0vTFZNMi4ke1BWfSIKIAogaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZyBzeXN0ZW1kIGxpY2Vuc2UKIAotTFZNMl9QQUNLQUdFQ09ORklHID0gImRtZXZlbnRkIGx2bWV0YWQiCitMVk0yX1BBQ0tBR0VDT05GSUcgPSAiZG1ldmVudGQiCiBMVk0yX1BBQ0tBR0VDT05GSUdfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgXAogICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3NlbGludXgnLCBkKX0gXAogICAgICR7QGluY29tcGF0aWJsZV9saWNlbnNlX2NvbnRhaW5zKCdHUEx2MycsICcnLCAndGhpbi1wcm92aXNpb25pbmctdG9vbHMnLCBkKX0gXApAQCAtMzksNyArMzcsNiBAQAogUEFDS0FHRUNPTkZJRyA/Pz0gIm9kaXJlY3QgJHtMVk0yX1BBQ0tBR0VDT05GSUd9IgogCiBQQUNLQUdFQ09ORklHW2RtZXZlbnRkXSA9ICItLWVuYWJsZS1kbWV2ZW50ZCwtLWRpc2FibGUtZG1ldmVudGQiCi1QQUNLQUdFQ09ORklHW2x2bWV0YWRdID0gIi0tZW5hYmxlLWx2bWV0YWQsLS1kaXNhYmxlLWx2bWV0YWQiCiBQQUNLQUdFQ09ORklHW29kaXJlY3RdID0gIi0tZW5hYmxlLW9fZGlyZWN0LC0tZGlzYWJsZS1vX2RpcmVjdCIKIFBBQ0tBR0VDT05GSUdbcmVhZGxpbmVdID0gIi0tZW5hYmxlLXJlYWRsaW5lLC0tZGlzYWJsZS1yZWFkbGluZSxyZWFkbGluZSIKIFBBQ0tBR0VDT05GSUdbc2VsaW51eF0gPSAiLS1lbmFibGUtc2VsaW51eCwtLWRpc2FibGUtc2VsaW51eCxsaWJzZWxpbnV4IgpAQCAtNTAsNyArNDcsNiBAQAogRVhUUkFfT0VDT05GID0gIi0td2l0aC11c2VyPSBcCiAgICAgICAgICAgICAgICAgLS13aXRoLWdyb3VwPSBcCiAgICAgICAgICAgICAgICAgLS1lbmFibGUtcmVhbHRpbWUgXAotICAgICAgICAgICAgICAgIC0tZW5hYmxlLWFwcGxpYiBcCiAgICAgICAgICAgICAgICAgLS1lbmFibGUtY21kbGliIFwKICAgICAgICAgICAgICAgICAtLWVuYWJsZS1wa2djb25maWcgXAogICAgICAgICAgICAgICAgIC0td2l0aC11c3JsaWJkaXI9JHtsaWJkaXJ9IFwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMi8wMDAxLWRldi1oZGMtb3Blbi1mYWlsZWQtTm8tbWVkaXVtLWZvdW5kLXdpbGwtcHJpbnQtb3V0LWkucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIvMDAwMS1kZXYtaGRjLW9wZW4tZmFpbGVkLU5vLW1lZGl1bS1mb3VuZC13aWxsLXByaW50LW91dC1pLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0ZDViMWIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIvMDAwMS1kZXYtaGRjLW9wZW4tZmFpbGVkLU5vLW1lZGl1bS1mb3VuZC13aWxsLXByaW50LW91dC1pLnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK0Zyb20gOTNjOTNlM2I4NTQ5MmU1OGY5NDUxODQxZTYwNzlkMDBjNDk3ZWZhNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEppcGluZyBNYSA8amlwaW5nLm1hMkB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyNSBGZWIgMjAxOSAxMzoyOToxMiArMDgwMAorU3ViamVjdDogW1BBVENIXSAiL2Rldi9oZGM6IG9wZW4gZmFpbGVkOiBObyBtZWRpdW0gZm91bmQiIHdpbGwgcHJpbnQgb3V0IGluCisgbHZtZGlza3NjYW4uCisKK2NvbW1pdCBbNTdiYjQ2YzVlN2Y4XSBpbnRyb2R1Y2UgdGhpcyBpc3N1ZS4KKyIvZGV2L2hkYzogb3BlbiBmYWlsZWQ6IE5vIG1lZGl1bSBmb3VuZCIgd2lsbCBiZSBwcmludCBvdXQKK2FmdGVyIHJ1biBsdm1kaXNrc2Nhbi4gY2hhbmdlIGRldl9vcGVuX3JlYWRvbmx5KCkKK3RvIGRldl9vcGVuX3JlYWRvbmx5X3F1aWV0KCkgaW4gZnVjdGlvbiBfZGV2X2dldF9zaXplX2RldigpLgorCitTaWduZWQtb2ZmLWJ5OiBKaXBpbmcgTWEgPGppcGluZy5tYTJAd2luZHJpdmVyLmNvbT4KKy0tLQorIGxpYi9kZXZpY2UvZGV2LWlvLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9saWIvZGV2aWNlL2Rldi1pby5jIGIvbGliL2RldmljZS9kZXYtaW8uYworaW5kZXggZGM5NTEzMS4uODFhNjZiMCAxMDA2NDQKKy0tLSBhL2xpYi9kZXZpY2UvZGV2LWlvLmMKKysrKyBiL2xpYi9kZXZpY2UvZGV2LWlvLmMKK0BAIC0zMzgsNyArMzM4LDcgQEAgc3RhdGljIGludCBfZGV2X2dldF9zaXplX2RldihzdHJ1Y3QgZGV2aWNlICpkZXYsIHVpbnQ2NF90ICpzaXplKQorIAl9CisgCisgCWlmIChmZCA8PSAwKSB7CistCQlpZiAoIWRldl9vcGVuX3JlYWRvbmx5KGRldikpCisrCQlpZiAoIWRldl9vcGVuX3JlYWRvbmx5X3F1aWV0KGRldikpCisgCQkJcmV0dXJuXzA7CisgCQlmZCA9IGRldl9mZChkZXYpOworIAkJZG9fY2xvc2UgPSAxOworLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIvMDAwMS1leHBsaWNpdGx5LWRvLW5vdC1pbnN0YWxsLWxpYmRtLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yLzAwMDEtZXhwbGljaXRseS1kby1ub3QtaW5zdGFsbC1saWJkbS5wYXRjaAppbmRleCA3ZjVkZDkzLi4yNDE2MGI0IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIvMDAwMS1leHBsaWNpdGx5LWRvLW5vdC1pbnN0YWxsLWxpYmRtLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMi8wMDAxLWV4cGxpY2l0bHktZG8tbm90LWluc3RhbGwtbGliZG0ucGF0Y2gKQEAgLTEsNiArMSw2IEBACi1Gcm9tIDVhM2UxM2FlOTQzMThjMmJlZDYwZjg3NWJiMzg1MmM0NWNlMDExM2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDNjMTZkOWFhYTQ2NjAyZTc1OTRkNzE3ZDg2ZTdmMDIwNjZkMjExMzQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDI1IE1heSAyMDE3IDA1OjI3OjExIC0wNDAwCitEYXRlOiBNb24sIDI2IE5vdiAyMDE4IDE3OjIwOjIwICswODAwCiBTdWJqZWN0OiBbUEFUQ0hdIGV4cGxpY2l0bHkgZG8gbm90IGluc3RhbGwgbGliZG0KIAogQWxyZWFkeSBoYXZlIHBhY2thZ2UgbGliZGV2bWFwcGVyIHdoaWNoIHNwbGl0IGZyb20gbHZtMiwKQEAgLTksMTcgKzksMjEgQEAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbWV0YS1vZSBzcGVjaWZpY10KIAogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotU2lnbmVkLW9mZi1ieTogQW5kcmV3IEJyZXN0aWNrZXIgPGFicmVzdGljQHdheW1vLmNvbT4KKworCitVcGRhdGUgY29udGV4dCBmb3IgbHZtMiAyLjAzLjAyLgorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KIC0tLQotIGxpYmRtL01ha2VmaWxlLmluIHwgNiArKysrLS0KLSB0b29scy9NYWtlZmlsZS5pbiB8IDMgKystCi0gMiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisgbGliZG0vTWFrZWZpbGUuaW4gICAgICAgICAgfCA2ICsrKystLQorIGxpYmRtL2RtLXRvb2xzL01ha2VmaWxlLmluIHwgNiArKysrLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2xpYmRtL01ha2VmaWxlLmluIGIvbGliZG0vTWFrZWZpbGUuaW4KLWluZGV4IDY2ZWMzOTUxMy4uYzc3OWM5ZDg2IDEwMDY0NAoraW5kZXggZTliYjVhZS4uNGU5YWUzZiAxMDA2NDQKIC0tLSBhL2xpYmRtL01ha2VmaWxlLmluCiArKysgYi9saWJkbS9NYWtlZmlsZS5pbgotQEAgLTc3LDkgKzc3LDExIEBAIGlmZXEgKCJAUEtHQ09ORklHQCIsICJ5ZXMiKQorQEAgLTgyLDkgKzgyLDExIEBAIGlmZXEgKCJAUEtHQ09ORklHQCIsICJ5ZXMiKQogICAgSU5TVEFMTF9UWVBFICs9IGluc3RhbGxfcGtnY29uZmlnCiAgZW5kaWYKICAKQEAgLTMyLDIxICszNiwzMCBAQAogKwllY2hvICJEbyBub3QgaW5zdGFsbCBkZXZpY2UgbWFwcGVyIGluIGx2bTIiCiAgCiAgaW5zdGFsbF9pbmNsdWRlOiAkKHNyY2RpcikvbGliZGV2bWFwcGVyLmgKLSAJJChJTlNUQUxMX0RBVEEpIC1EICQ8ICQoaW5jbHVkZWRpcikvJCg8RikKLWRpZmYgLS1naXQgYS90b29scy9NYWtlZmlsZS5pbiBiL3Rvb2xzL01ha2VmaWxlLmluCi1pbmRleCAxMDNiNzY3MzIuLjYzYmE3ZmMwNCAxMDA2NDQKLS0tLSBhL3Rvb2xzL01ha2VmaWxlLmluCi0rKysgYi90b29scy9NYWtlZmlsZS5pbgotQEAgLTI2Nyw3ICsyNjcsOCBAQCBpbnN0YWxsX2Rtc2V0dXBfc3RhdGljOiBkbXNldHVwLnN0YXRpYwotIAkkKFEpICQoSU5TVEFMTF9QUk9HUkFNKSAtRCAkPCAkKHN0YXRpY2RpcikvJCg8RikKLSAJJChRKSAkKExOX1MpIC1mICQoPEYpICQoc3RhdGljZGlyKS9kbXN0YXRzCisgCUBlY2hvICIgICAgW0lOU1RBTExdICQ8IgorZGlmZiAtLWdpdCBhL2xpYmRtL2RtLXRvb2xzL01ha2VmaWxlLmluIGIvbGliZG0vZG0tdG9vbHMvTWFrZWZpbGUuaW4KK2luZGV4IDE1YTlkOGUuLjY1ZTEzMDYgMTAwNjQ0CistLS0gYS9saWJkbS9kbS10b29scy9NYWtlZmlsZS5pbgorKysrIGIvbGliZG0vZG0tdG9vbHMvTWFrZWZpbGUuaW4KK0BAIC0yMCw3ICsyMCw4IEBAIGFsbDogZGV2aWNlLW1hcHBlcgogIAotLWluc3RhbGxfZGV2aWNlLW1hcHBlcjogJChJTlNUQUxMX0RNU0VUVVBfVEFSR0VUUykKKyBTT1VSQ0VTMiA9IGRtc2V0dXAuYworIFRBUkdFVFNfRE0gPSBkbXNldHVwCistaW5zdGFsbF9kZXZpY2UtbWFwcGVyOiBpbnN0YWxsX2Rtc2V0dXBfZHluYW1pYwogK2luc3RhbGxfZGV2aWNlLW1hcHBlcjoKICsJZWNobyAiRG8gbm90IGluc3RhbGwgZGV2aWNlIG1hcHBlciBpbiBsdm0yIgogIAotIGluc3RhbGxfbHZtMjogJChJTlNUQUxMX0xWTV9UQVJHRVRTKQorIGlmZXEgKCJAU1RBVElDX0xJTktAIiwgInllcyIpCisgICBUQVJHRVRTX0RNICs9IGRtc2V0dXAuc3RhdGljCitAQCAtOTMsNiArOTQsNyBAQCBpbnN0YWxsX2RtZmlsZW1hcGRfc3RhdGljOiBkbWZpbGVtYXBkLnN0YXRpYworIC5QSE9OWTogaW5zdGFsbF9kbXNldHVwX2R5bmFtaWMgaW5zdGFsbF9kbXNldHVwX3N0YXRpYworIC5QSE9OWTogaW5zdGFsbF9kbWZpbGVtYXBkIGluc3RhbGxfZG1maWxlbWFwZF9zdGF0aWMKICAKKy1pbnN0YWxsOiBpbnN0YWxsX2RldmljZS1tYXBwZXIgaW5zdGFsbF9kbWZpbGVtYXBkCisraW5zdGFsbDoKKysJZWNobyAiRG8gbm90IGluc3RhbGwgZGV2aWNlIG1hcHBlciBpbiBsdm0yIgorIAorIGRldmljZS1tYXBwZXI6ICQoVEFSR0VUU19ETSkKIC0tIAotMi4xOS4wLjM5Ny5nZGQ5MDM0MGY2YS1nb29nCisyLjcuNAogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTJfMi4wMi4xODAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTJfMi4wMi4xODAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdiZDdiMDkuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yXzIuMDIuMTgwLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNjIgKzAsMCBAQAotcmVxdWlyZSBsdm0yLmluYwotCi1TUkNfVVJJW21kNXN1bV0gPSAiYmMyNmRhNjZlOTY3MjdiYWJiZDI4OGJiMGYwNTAzMzkiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjQ5OTdlMjZkZmM5MTYxNTE3MDdjOWRhNTA0ZDM4ZDA0NzNiZWMzNDgxYTgyMzBiNjc2YmMwNzkwNDFiZWFkNiIKLQotU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtZXhwbGljaXRseS1kby1ub3QtaW5zdGFsbC1saWJkbS5wYXRjaCIKLQotREVQRU5EUyArPSAiYXV0b2NvbmYtYXJjaGl2ZS1uYXRpdmUiCi0KLWluaGVyaXQgbXVsdGlsaWJfc2NyaXB0Ci0KLU1VTFRJTElCX1NDUklQVFMgPSAiJHtQTn06JHtzeXNjb25mZGlyfS9sdm0vbHZtLmNvbmYiCi0KLUNBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJNT0RQUk9CRV9DTUQ9JHtiYXNlX3NiaW5kaXJ9L21vZHByb2JlIgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICAjIEluc3RhbGwgbWFjaGluZSBzcGVjaWZpYyBjb25maWd1cmF0aW9uIGZpbGUKLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2x2bQotICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2x2bS5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L2x2bS9sdm0uY29uZgotICAgIHNlZCAtaSAtZSAnczpAbGliZGlyQDoke2xpYmRpcn06ZycgJHtEfSR7c3lzY29uZmRpcn0vbHZtL2x2bS5jb25mCi0gICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgotICAgICAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwgaW5zdGFsbF9zeXN0ZW1kX3VuaXRzCi0gICAgICAgIHNlZCAtaSAtZSAnczovdXNyL2Jpbi90cnVlOiR7YmFzZV9iaW5kaXJ9L3RydWU6ZycgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vYmxrLWF2YWlsYWJpbGl0eS5zZXJ2aWNlCi0gICAgZWxzZQotICAgICAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwgaW5zdGFsbF9pbml0c2NyaXB0cwotICAgICAgICBtdiAke0R9JHtzeXNjb25mZGlyfS9yYy5kL2luaXQuZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKLSAgICAgICAgcm0gLXJmICR7RH0ke3N5c2NvbmZkaXJ9L3JjLmQKLSAgICBmaQotfQotCi1QQUNLQUdFX0JFRk9SRV9QTiA9ICIke1BOfS1zY3JpcHRzICR7UE59LXVkZXZydWxlcyIKLQotU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfSIKLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdkbWV2ZW50ZCcsICdsdm0yLW1vbml0b3Iuc2VydmljZSBkbS1ldmVudC5zb2NrZXQgZG0tZXZlbnQuc2VydmljZScsICcnLCBkKX0gXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2x2bWV0YWQnLCAnbHZtMi1sdm1ldGFkLnNvY2tldCBsdm0yLXB2c2NhbkAuc2VydmljZScsICcnLCBkKX0gXAotICAgICAgICAgICAgICAgICAgICAgICAgIGJsay1hdmFpbGFiaWxpdHkuc2VydmljZSIKLVNZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKLQotVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCi0KLUVYVFJBX09FQ09ORl9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiAtLXdpdGgtY29uZmRpcj0ke3N5c2NvbmZkaXJ9IgotCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2RldmljZS1tYXBwZXIvKi5zbyIKLUZJTEVTXyR7UE59LXNjcmlwdHMgPSAiIFwKLSAgICAke3NiaW5kaXJ9L2Jsa2RlYWN0aXZhdGUgXAotICAgICR7c2JpbmRpcn0vZnNhZG0gXAotICAgICR7c2JpbmRpcn0vbHZtY29uZiBcCi0gICAgJHtzYmluZGlyfS9sdm1kdW1wIFwKLSIKLSMgU3BlY2lmaWVkIGV4cGxpY2l0bHkgZm9yIHRoZSB1ZGV2IHJ1bGVzLCBqdXN0IGluIGNhc2UgdGhhdCBpdCBkb2VzIG5vdCBnZXQgcGlja2VkCi0jIHVwIGF1dG9tYXRpY2FsbHk6Ci1GSUxFU18ke1BOfS11ZGV2cnVsZXMgPSAiJHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2L3J1bGVzLmQiCi1SREVQRU5EU18ke1BOfS11ZGV2cnVsZXMgPSAiJHtQTn0iCi1SREVQRU5EU18ke1BOfV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBsaWJkZXZtYXBwZXIiCi1SREVQRU5EU18ke1BOfV9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiBsaWJkZXZtYXBwZXIiCi0KLVJERVBFTkRTXyR7UE59LXNjcmlwdHMgPSAiJHtQTn0gKD0gJHtFWFRFTkRQS0dWfSkgYmFzaCIKLVJSRUNPTU1FTkRTXyR7UE59X2NsYXNzLXRhcmdldCA9ICIke1BOfS1zY3JpcHRzICg9ICR7RVhURU5EUEtHVn0pIgotCi1DT05GRklMRVNfJHtQTn0gKz0gIiR7c3lzY29uZmRpcn0vbHZtL2x2bS5jb25mIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTJfMi4wMy4wMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMl8yLjAzLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyY2U5NWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTJfMi4wMy4wMi5iYgpAQCAtMCwwICsxLDYyIEBACityZXF1aXJlIGx2bTIuaW5jCisKK1NSQ1JFViA9ICI5MTNjMjg5MTdlNjI1NzdhMmVmNjcxNTJiMmU1MTU5MjM3NTAzZGRhIgorCitTUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1leHBsaWNpdGx5LWRvLW5vdC1pbnN0YWxsLWxpYmRtLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWRldi1oZGMtb3Blbi1mYWlsZWQtTm8tbWVkaXVtLWZvdW5kLXdpbGwtcHJpbnQtb3V0LWkucGF0Y2ggXAorICAgICAgICAgICAiCisKK0RFUEVORFMgKz0gImF1dG9jb25mLWFyY2hpdmUtbmF0aXZlIgorCitpbmhlcml0IG11bHRpbGliX3NjcmlwdAorCitNVUxUSUxJQl9TQ1JJUFRTID0gIiR7UE59OiR7c3lzY29uZmRpcn0vbHZtL2x2bS5jb25mIgorCitDQUNIRURfQ09ORklHVVJFVkFSUyArPSAiTU9EUFJPQkVfQ01EPSR7YmFzZV9zYmluZGlyfS9tb2Rwcm9iZSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyBJbnN0YWxsIG1hY2hpbmUgc3BlY2lmaWMgY29uZmlndXJhdGlvbiBmaWxlCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9sdm0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9sdm0uY29uZiAke0R9JHtzeXNjb25mZGlyfS9sdm0vbHZtLmNvbmYKKyAgICBzZWQgLWkgLWUgJ3M6QGxpYmRpckA6JHtsaWJkaXJ9OmcnICR7RH0ke3N5c2NvbmZkaXJ9L2x2bS9sdm0uY29uZgorICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KKyAgICAgICAgb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsIGluc3RhbGxfc3lzdGVtZF91bml0cworICAgICAgICBzZWQgLWkgLWUgJ3M6L3Vzci9iaW4vdHJ1ZToke2Jhc2VfYmluZGlyfS90cnVlOmcnICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2Jsay1hdmFpbGFiaWxpdHkuc2VydmljZQorICAgIGVsc2UKKyAgICAgICAgb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsIGluc3RhbGxfaW5pdHNjcmlwdHMKKyAgICAgICAgbXYgJHtEfSR7c3lzY29uZmRpcn0vcmMuZC9pbml0LmQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgICAgIHJtIC1yZiAke0R9JHtzeXNjb25mZGlyfS9yYy5kCisgICAgZmkKK30KKworUEFDS0FHRV9CRUZPUkVfUE4gPSAiJHtQTn0tc2NyaXB0cyAke1BOfS11ZGV2cnVsZXMiCisKK1NZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0iCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZG1ldmVudGQnLCAnbHZtMi1tb25pdG9yLnNlcnZpY2UgZG0tZXZlbnQuc29ja2V0IGRtLWV2ZW50LnNlcnZpY2UnLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBibGstYXZhaWxhYmlsaXR5LnNlcnZpY2UgbHZtMi1wdnNjYW5ALnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCisKK1RBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgorCitFWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgLS13aXRoLWNvbmZkaXI9JHtzeXNjb25mZGlyfSIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9kZXZpY2UtbWFwcGVyLyouc28iCitGSUxFU18ke1BOfS1zY3JpcHRzID0gIiBcCisgICAgJHtzYmluZGlyfS9ibGtkZWFjdGl2YXRlIFwKKyAgICAke3NiaW5kaXJ9L2ZzYWRtIFwKKyAgICAke3NiaW5kaXJ9L2x2bWNvbmYgXAorICAgICR7c2JpbmRpcn0vbHZtZHVtcCBcCisiCisjIFNwZWNpZmllZCBleHBsaWNpdGx5IGZvciB0aGUgdWRldiBydWxlcywganVzdCBpbiBjYXNlIHRoYXQgaXQgZG9lcyBub3QgZ2V0IHBpY2tlZAorIyB1cCBhdXRvbWF0aWNhbGx5OgorRklMRVNfJHtQTn0tdWRldnJ1bGVzID0gIiR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldi9ydWxlcy5kIgorUkRFUEVORFNfJHtQTn0tdWRldnJ1bGVzID0gIiR7UE59IgorUkRFUEVORFNfJHtQTn1fYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgbGliZGV2bWFwcGVyIgorUkRFUEVORFNfJHtQTn1fYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgbGliZGV2bWFwcGVyIgorCitSREVQRU5EU18ke1BOfS1zY3JpcHRzID0gIiR7UE59ICg9ICR7RVhURU5EUEtHVn0pIGJhc2giCitSUkVDT01NRU5EU18ke1BOfV9jbGFzcy10YXJnZXQgPSAiJHtQTn0tc2NyaXB0cyAoPSAke0VYVEVORFBLR1Z9KSIKKworQ09ORkZJTEVTXyR7UE59ICs9ICIke3N5c2NvbmZkaXJ9L2x2bS9sdm0uY29uZiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWNlbG9nL21jZS10ZXN0L21ha2VmaWxlLXJlbW92ZS1sZGZsYWdzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWNlbG9nL21jZS10ZXN0L21ha2VmaWxlLXJlbW92ZS1sZGZsYWdzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmZmVkZDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tY2Vsb2cvbWNlLXRlc3QvbWFrZWZpbGUtcmVtb3ZlLWxkZmxhZ3MucGF0Y2gKQEAgLTAsMCArMSwyMyBAQAorUmVtb3ZlIHRoZSBkZWZhdWx0IENGTEFHUyBhbmQgTERGTEFHUyBpbiBNYWtlZmlsZS4gRW5zdXJlIHRoZSBleHRyYSBsaW5rZXIgZmxhZ3MgY2FuIGJlIHBhc3NlZC4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogWWkgWmhhbyA8eWkuemhhb0B3aW5kcml2ZXIuY29tPgorCitkaWZmIC0tZ2l0IGEvY2FzZXMvc3RyZXNzL2h3cG9pc29uL01ha2VmaWxlIGIvY2FzZXMvc3RyZXNzL2h3cG9pc29uL01ha2VmaWxlCitpbmRleCBkYTFjYmQ4Li5kZWM1YjE0IDEwMDY0NAorLS0tIGEvY2FzZXMvc3RyZXNzL2h3cG9pc29uL01ha2VmaWxlCisrKysgYi9jYXNlcy9zdHJlc3MvaHdwb2lzb24vTWFrZWZpbGUKK0BAIC0xLDggKzEsOCBAQAorLUNGTEFHUyA6PSAtZyAtV2FsbAorLUxERkxBR1MgOj0gLWcKKysjQ0ZMQUdTIDo9IC1nIC1XYWxsCisrI0xERkxBR1MgOj0gLWcKKyAKKy1leHBvcnQgQ0ZMQUdTCistZXhwb3J0IExERkxBR1MKKysjZXhwb3J0IENGTEFHUworKyNleHBvcnQgTERGTEFHUworIAorIGFsbDoKKyAJbWtkaXIgLXAgYmluCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tY2Vsb2cvbWNlLXRlc3RfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWNlbG9nL21jZS10ZXN0X2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ODhjNzI5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWNlbG9nL21jZS10ZXN0X2dpdC5iYgpAQCAtMCwwICsxLDMwIEBACisjCisjIENvcHlyaWdodCAoQykgMjAxMiBXaW5kIFJpdmVyIFN5c3RlbXMsIEluYy4KKyMKK1NVTU1BUlkgPSAiTUNFIHRlc3Qgc3VpdGUiCisKK0RFU0NSSVBUSU9OID0gIlRoZSBNQ0UgdGVzdCBzdWl0ZSBpcyBhIGNvbGxlY3Rpb24gb2YgdG9vbHMgYW5kIHRlc3Qgc2NyaXB0cyBmb3IgXAordGVzdGluZyB0aGUgTGludXggUkFTIHJlbGF0ZWQgZmVhdHVyZXMsIGluY2x1ZGluZyBDUFUvTWVtb3J5IGVycm9yIFwKK2NvbnRhaW5tZW50IGFuZCByZWNvdmVyeSwgQUNQSS9BUEVJIHN1cHBvcnQgZXRjLiIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA2MzZlNzNmZjAyMTVlOGQ2NzJkYzRjMzJjMzE3YmIzIgorCitTUkNfVVJJID0gImdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vdXRpbHMvY3B1L21jZS9tY2UtdGVzdC5naXQ7cHJvdG9jb2w9Z2l0IFwKKyAgICAgICAgICAgZmlsZTovL21ha2VmaWxlLXJlbW92ZS1sZGZsYWdzLnBhdGNoIFwKKyAgICAgICAgICAiCitTUkNSRVYgPSAiNzRiZmZkOGIwYWEyNzA1MWFlYWExOTgzYTdiMjM5NzVjYThkODcyNiIKK1BWID0gIjIwMTcxMDMwK2dpdCR7U1JDUFZ9IgorCitSREVQRU5EU18ke1BOfSA9ICJtY2Vsb2cgbWNlLWluamVjdCBkaWFsb2cgYmFzaCIKKworQ09NUEFUSUJMRV9IT1NUID0gJyhpLjg2fHg4Nl82NCkuKi1saW51eCcKKworUyA9IiR7V09SS0RJUn0vZ2l0IgorCitkb19pbnN0YWxsX2FwcGVuZCgpeworICAgaW5zdGFsbCAtZCAke0R9L29wdC9tY2UtdGVzdAorICAgY3AgLXJmICR7U30vKiAke0R9L29wdC9tY2UtdGVzdC8KK30KKworRklMRVNfJHtQTn0gKz0gIi9vcHQiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9taW5pLWljb252L21pbmktaWNvbnYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9taW5pLWljb252L21pbmktaWNvbnYuYmIKaW5kZXggMGYxNTQ4YS4uNDRmNTViNSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWluaS1pY29udi9taW5pLWljb252LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21pbmktaWNvbnYvbWluaS1pY29udi5iYgpAQCAtMTMsNyArMTMsNyBAQAogU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM1NTIyNjJiZjFiY2Y4ZTg1OWEyYTNhN2FkZmIwMzY3YWY4NTkzMzgzZTczMGM0OTJlOTgxNDc3YWFjMGEwZDQiCiAKIAotUyA9ICIke1dPUktESVJ9LyR7UE59IgorUyA9ICIke1dPUktESVJ9LyR7QlBOfSIKIAogZG9faW5zdGFsbCgpIHsKICAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9IFBSRUZJWD0ke3ByZWZpeH0gTElCPSR7YmFzZV9saWJkaXJ9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tc2NnZW4vbXNjZ2VuXzAuMjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tc2NnZW4vbXNjZ2VuXzAuMjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmVhZDAxNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21zY2dlbi9tc2NnZW5fMC4yMC5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gIk1zY2dlbiBpcyBhIHNtYWxsIHByb2dyYW0gdGhhdCBwYXJzZXMgTWVzc2FnZSBTZXF1ZW5jZSBDaGFydCBkZXNjcmlwdGlvbnMgYW5kIHByb2R1Y2VzIFBORywgU1ZHLCBFUFMgb3Igc2VydmVyIHNpZGUgaW1hZ2UgbWFwcyAoaXNtYXBzKSBhcyB0aGUgb3V0cHV0LiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubWN0ZXJuYW4ubWUudWsvbXNjZ2VuLyIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIxZTZhMzQwMTg3YzFjZjcxNjUxMzQzOWQwN2MxZDc5IgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cubWN0ZXJuYW4ubWUudWsvbXNjZ2VuL3NvZnR3YXJlLyR7UE59LXNyYy0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2NWM5MGZiNTE1MGQ3MTc2YjY1Yjc5M2YwZmFhNzM3NyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzYzM0ODFhZTA1OTllMWMyZDMwYjdlZDU0YWI0NTI0OTEyNzUzM2FiMmYyMGU3NjhhMGFlNThkODU1MWRkYzIzIgorCitERVBFTkRTID0gImdkICIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dAorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKwlzZWQgLWkgInMjQUNfUEFUSF9QUk9HKEdETElCX0NPTkZJRyxnZGxpYi1jb25maWcpI0FDX1BBVEhfUFJPRyhbR0RMSUJfQ09ORklHXSxbZ2RsaWItY29uZmlnXSwgLFske1NUQUdJTkdfQklORElSX0NST1NTfV0pIyIgJHtTfS9jb25maWd1cmUuYWMKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDAxLW11bHRpcGF0aC10b29scy1hZGQtUkRBQy1TVU4tQXJyYXlTdG9yYWdlLXRvLWh3dGFibGUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAwMS1tdWx0aXBhdGgtdG9vbHMtYWRkLVJEQUMtU1VOLUFycmF5U3RvcmFnZS10by1od3RhYmxlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZDk4M2U5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDAxLW11bHRpcGF0aC10b29scy1hZGQtUkRBQy1TVU4tQXJyYXlTdG9yYWdlLXRvLWh3dGFibGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBYb3NlIFZhenF1ZXogUGVyZXogPHhvc2UudmF6cXVlekBnbWFpbC5jb20+Ci1EYXRlOiBXZWQsIDExIEFwciAyMDE4IDE1OjE0OjEzICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIG11bHRpcGF0aC10b29sczogYWRkIFJEQUMgU1VOL0FycmF5U3RvcmFnZSB0byBod3RhYmxlCi0KLUFscmVhZHkgaW4gc2NzaV9kaDogaHR0cHM6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvdG9ydmFsZHMvbGludXguZ2l0L3RyZWUvZHJpdmVycy9zY3NpL3Njc2lfZGguYyNuNzAKLQotQ2M6IE5ldEFwcCBSREFDIHRlYW0gPG5nLWVzZXJpZXMtdXBzdHJlYW0tbWFpbnRhaW5lcnNAbmV0YXBwLmNvbT4KLUNjOiBDaHJpc3RvcGhlIFZhcm9xdWkgPGNocmlzdG9waGUudmFyb3F1aUBvcGVuc3ZjLmNvbT4KLUNjOiBETSBNTCA8ZG0tZGV2ZWxAcmVkaGF0LmNvbT4KLVNpZ25lZC1vZmYtYnk6IFhvc2UgVmF6cXVleiBQZXJleiA8eG9zZS52YXpxdWV6QGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLS0tLQotIGxpYm11bHRpcGF0aC9od3RhYmxlLmMgfCAxMiArKysrKysrKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2h3dGFibGUuYyBiL2xpYm11bHRpcGF0aC9od3RhYmxlLmMKLWluZGV4IDg4YjQ3MDAuLjgyN2U4OTkgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvaHd0YWJsZS5jCi0rKysgYi9saWJtdWx0aXBhdGgvaHd0YWJsZS5jCi1AQCAtODkwLDYgKzg5MCwxOCBAQCBzdGF0aWMgc3RydWN0IGh3ZW50cnkgZGVmYXVsdF9od1tdID0gewotIAkJLm5vX3BhdGhfcmV0cnkgPSAzMCwKLSAJfSwKLSAJewotKwkJLnZlbmRvciAgICAgICAgPSAiU1VOIiwKLSsJCS5wcm9kdWN0ICAgICAgID0gIkFycmF5U3RvcmFnZSIsCi0rCQkuYmxfcHJvZHVjdCAgICA9ICJVbml2ZXJzYWwgWHBvcnQiLAotKwkJLnBncG9saWN5ICAgICAgPSBHUk9VUF9CWV9QUklPLAotKwkJLmNoZWNrZXJfbmFtZSAgPSBSREFDLAotKwkJLmZlYXR1cmVzICAgICAgPSAiMiBwZ19pbml0X3JldHJpZXMgNTAiLAotKwkJLmh3aGFuZGxlciAgICAgPSAiMSByZGFjIiwKLSsJCS5wcmlvX25hbWUgICAgID0gUFJJT19SREFDLAotKwkJLnBnZmFpbGJhY2sgICAgPSAtRkFJTEJBQ0tfSU1NRURJQVRFLAotKwkJLm5vX3BhdGhfcmV0cnkgPSAzMCwKLSsJfSwKLSsJewotIAkJLyogWkZTIFN0b3JhZ2UgQXBwbGlhbmNlcyAqLwotIAkJLnZlbmRvciAgICAgICAgPSAiU1VOIiwKLSAJCS5wcm9kdWN0ICAgICAgID0gIihTdW4gU3RvcmFnZXxaRlMgU3RvcmFnZXxDT01TVEFSKSIsCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDAyLW11bHRpcGF0aC10b29scy1yZW1vdmUtYy1mcm9tLV9fY3BsdXNjcGx1cy1taXNzcGVsbGUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAwMi1tdWx0aXBhdGgtdG9vbHMtcmVtb3ZlLWMtZnJvbS1fX2NwbHVzY3BsdXMtbWlzc3BlbGxlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3M2YwMDBhLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDAyLW11bHRpcGF0aC10b29scy1yZW1vdmUtYy1mcm9tLV9fY3BsdXNjcGx1cy1taXNzcGVsbGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBYb3NlIFZhenF1ZXogUGVyZXogPHhvc2UudmF6cXVlekBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDI0IEFwciAyMDE4IDE1OjAzOjQwICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIG11bHRpcGF0aC10b29sczogcmVtb3ZlICJjIiBmcm9tIF9fY3BsdXNjcGx1cywgbWlzc3BlbGxlZAotCi1mb3VuZCBieSBjcHBjaGVjayhodHRwOi8vY3BwY2hlY2suc2YubmV0Lyk6Ci1bbGlibXBhdGhjbWQvbXBhdGhfY21kLmg6MjRdOiAoZXJyb3IpIEludmFsaWQgbnVtYmVyIG9mIGNoYXJhY3RlciAneycgd2hlbiB0aGVzZSBtYWNyb3MgYXJlIGRlZmluZWQ6ICdfX2NwbHVzY3BsdXMnLgotCi1DYzogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotQ2M6IENocmlzdG9waGUgVmFyb3F1aSA8Y2hyaXN0b3BoZS52YXJvcXVpQG9wZW5zdmMuY29tPgotQ2M6IERNIE1MIDxkbS1kZXZlbEByZWRoYXQuY29tPgotU2lnbmVkLW9mZi1ieTogWG9zZSBWYXpxdWV6IFBlcmV6IDx4b3NlLnZhenF1ZXpAZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotLS0tCi0gbGlibXBhdGhjbWQvbXBhdGhfY21kLmggfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9saWJtcGF0aGNtZC9tcGF0aF9jbWQuaCBiL2xpYm1wYXRoY21kL21wYXRoX2NtZC5oCi1pbmRleCBhYWE4ZGE5Li5kZjlkOTM4IDEwMDY0NAotLS0tIGEvbGlibXBhdGhjbWQvbXBhdGhfY21kLmgKLSsrKyBiL2xpYm1wYXRoY21kL21wYXRoX2NtZC5oCi1AQCAtMjAsNyArMjAsNyBAQAotICNpZm5kZWYgTElCX01QQVRIX0NNRF9ICi0gI2RlZmluZSBMSUJfTVBBVEhfQ01EX0gKLSAKLS0jaWZkZWYgX19jcGx1c2NwbHVzCi0rI2lmZGVmIF9fY3BsdXNwbHVzCi0gZXh0ZXJuICJDIiB7Ci0gI2VuZGlmCi0gCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDAzLW11bHRpcGF0aC10b29scy1yZW1vdmUtZW1hY3MtYXV0b2NvbmZpZy1vZi1rcGFydHgtZ3AucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAwMy1tdWx0aXBhdGgtdG9vbHMtcmVtb3ZlLWVtYWNzLWF1dG9jb25maWctb2Yta3BhcnR4LWdwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MzU4ZTFhLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDAzLW11bHRpcGF0aC10b29scy1yZW1vdmUtZW1hY3MtYXV0b2NvbmZpZy1vZi1rcGFydHgtZ3AucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBYb3NlIFZhenF1ZXogUGVyZXogPHhvc2UudmF6cXVlekBnbWFpbC5jb20+Ci1EYXRlOiBUaHUsIDEyIEFwciAyMDE4IDE4OjE3OjEzICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIG11bHRpcGF0aC10b29sczogcmVtb3ZlIGVtYWNzIGF1dG9jb25maWcgb2Yga3BhcnR4L2dwdC5oCi0KLUNjOiBDaHJpc3RvcGhlIFZhcm9xdWkgPGNocmlzdG9waGUudmFyb3F1aUBvcGVuc3ZjLmNvbT4KLUNjOiBETSBNTCA8ZG0tZGV2ZWxAcmVkaGF0LmNvbT4KLVNpZ25lZC1vZmYtYnk6IFhvc2UgVmF6cXVleiBQZXJleiA8eG9zZS52YXpxdWV6QGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLS0tLQotIGtwYXJ0eC9ncHQuaCB8IDE5IC0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMTkgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9rcGFydHgvZ3B0LmggYi9rcGFydHgvZ3B0LmgKLWluZGV4IDY2Y2U4ZjEuLjdiYjU0YjcgMTAwNjQ0Ci0tLS0gYS9rcGFydHgvZ3B0LmgKLSsrKyBiL2twYXJ0eC9ncHQuaAotQEAgLTEwOSwyMiArMTA5LDMgQEAgaW50IHJlYWRfZ3B0X3B0IChpbnQgZmQsIHN0cnVjdCBzbGljZSBhbGwsIHN0cnVjdCBzbGljZSAqc3AsIGludCBucyk7Ci0gCi0gCi0gI2VuZGlmCi0tCi0tLyoKLS0gKiBPdmVycmlkZXMgZm9yIEVtYWNzIHNvIHRoYXQgd2UgZm9sbG93IExpbnVzJ3MgdGFiYmluZyBzdHlsZS4KLS0gKiBFbWFjcyB3aWxsIG5vdGljZSB0aGlzIHN0dWZmIGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUgYW5kIGF1dG9tYXRpY2FsbHkKLS0gKiBhZGp1c3QgdGhlIHNldHRpbmdzIGZvciB0aGlzIGJ1ZmZlciBvbmx5LiAgVGhpcyBtdXN0IHJlbWFpbiBhdCB0aGUgZW5kCi0tICogb2YgdGhlIGZpbGUuCi0tICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0tICogTG9jYWwgdmFyaWFibGVzOgotLSAqIGMtaW5kZW50LWxldmVsOiA0Ci0tICogYy1icmFjZS1pbWFnaW5hcnktb2Zmc2V0OiAwCi0tICogYy1icmFjZS1vZmZzZXQ6IC00Ci0tICogYy1hcmdkZWNsLWluZGVudDogNAotLSAqIGMtbGFiZWwtb2Zmc2V0OiAtNAotLSAqIGMtY29udGludWVkLXN0YXRlbWVudC1vZmZzZXQ6IDQKLS0gKiBjLWNvbnRpbnVlZC1icmFjZS1vZmZzZXQ6IDAKLS0gKiBpbmRlbnQtdGFicy1tb2RlOiBuaWwKLS0gKiB0YWItd2lkdGg6IDgKLS0gKiBFbmQ6Ci0tICovCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDA0LW11bHRpcGF0aC10b29scy1yZXBsYWNlLUZTRi1hZGRyZXNzLXdpdGgtYS13d3ctcG9pbnQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAwNC1tdWx0aXBhdGgtdG9vbHMtcmVwbGFjZS1GU0YtYWRkcmVzcy13aXRoLWEtd3d3LXBvaW50LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxM2YxOGI1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDA0LW11bHRpcGF0aC10b29scy1yZXBsYWNlLUZTRi1hZGRyZXNzLXdpdGgtYS13d3ctcG9pbnQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxOTEgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogWG9zZSBWYXpxdWV6IFBlcmV6IDx4b3NlLnZhenF1ZXpAZ21haWwuY29tPgotRGF0ZTogRnJpLCAxMSBNYXkgMjAxOCAxNTo0Mjo0MyArMDIwMAotU3ViamVjdDogW1BBVENIXSBtdWx0aXBhdGgtdG9vbHM6IHJlcGxhY2UgRlNGIGFkZHJlc3Mgd2l0aCBhIHd3dyBwb2ludGVyCi0KLUxlc3MgcHJvbmUgdG8gZnV0dXJlIG1vZGlmaWNhdGlvbnMsIG5ldyBGU0YgbGljZW5jZXMKLXBvaW50IGV4YWN0bHkgdG8gdGhpcyB1cmw6IDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLUFuZCBzZW5kaW5nIGEgc21haWwgdG8gRlNGIGlzIG91dGRhdGVkLgotCi1GaXJzdCBjbGVhbiB1cCB3YXMgZG9uZSBpbiA1NjE5YTM5YzQzM2FjM2QxMGE4ODA3OTU5M2NlYzFhYTY0NzJjYmViCi0KLUNjOiBNYXJ0aW4gV2lsY2sgPG13aWxja0BzdXNlLmNvbT4KLUNjOiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci1DYzogQ2hyaXN0b3BoZSBWYXJvcXVpIDxjaHJpc3RvcGhlLnZhcm9xdWlAb3BlbnN2Yy5jb20+Ci1DYzogRE0gTUwgPGRtLWRldmVsQHJlZGhhdC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBYb3NlIFZhenF1ZXogUGVyZXogPHhvc2UudmF6cXVlekBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci0tLS0KLSBsaWJtdWx0aXBhdGgvZG0tZ2VuZXJpYy5jICAgfCA0ICstLS0KLSBsaWJtdWx0aXBhdGgvZG0tZ2VuZXJpYy5oICAgfCA0ICstLS0KLSBsaWJtdWx0aXBhdGgvZm9yZWlnbi5jICAgICAgfCA0ICstLS0KLSBsaWJtdWx0aXBhdGgvZm9yZWlnbi5oICAgICAgfCA0ICstLS0KLSBsaWJtdWx0aXBhdGgvZm9yZWlnbi9udm1lLmMgfCA0ICstLS0KLSBsaWJtdWx0aXBhdGgvZ2VuZXJpYy5jICAgICAgfCA0ICstLS0KLSBsaWJtdWx0aXBhdGgvZ2VuZXJpYy5oICAgICAgfCA0ICstLS0KLSB0ZXN0cy9kbWV2ZW50cy5jICAgICAgICAgICAgfCAyICstCi0gdGVzdHMvcGFyc2VyLmMgICAgICAgICAgICAgIHwgMiArLQotIHRlc3RzL3VldmVudC5jICAgICAgICAgICAgICB8IDIgKy0KLSB0ZXN0cy91dGlsLmMgICAgICAgICAgICAgICAgfCAyICstCi0gMTEgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvZG0tZ2VuZXJpYy5jIGIvbGlibXVsdGlwYXRoL2RtLWdlbmVyaWMuYwotaW5kZXggYmRjOWNhMC4uZDc1Mjk5MSAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9kbS1nZW5lcmljLmMKLSsrKyBiL2xpYm11bHRpcGF0aC9kbS1nZW5lcmljLmMKLUBAIC0xMiw5ICsxMiw3IEBACi0gICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIAotICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLS0gIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0tICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxLAotLSAgVVNBLgotKyAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotICAqLwotIAotICNpbmNsdWRlIDxzdGRpbnQuaD4KLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvZG0tZ2VuZXJpYy5oIGIvbGlibXVsdGlwYXRoL2RtLWdlbmVyaWMuaAotaW5kZXggNWQ1OTcyNC4uOTg2NDI5ZiAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9kbS1nZW5lcmljLmgKLSsrKyBiL2xpYm11bHRpcGF0aC9kbS1nZW5lcmljLmgKLUBAIC0xMiw5ICsxMiw3IEBACi0gICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIAotICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLS0gIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0tICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxLAotLSAgVVNBLgotKyAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotICAqLwotICNpZm5kZWYgX0RNX0dFTkVSSUNfSAotICNkZWZpbmUgX0RNX0dFTkVSSUNfSAotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9mb3JlaWduLmMgYi9saWJtdWx0aXBhdGgvZm9yZWlnbi5jCi1pbmRleCA3MjE3MTg0Li44MGIzOTliIDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL2ZvcmVpZ24uYwotKysrIGIvbGlibXVsdGlwYXRoL2ZvcmVpZ24uYwotQEAgLTEyLDkgKzEyLDcgQEAKLSAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gCi0gICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotLSAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLS0gIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsCi0tICBVU0EuCi0rICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0gKi8KLSAKLSAjaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9mb3JlaWduLmggYi9saWJtdWx0aXBhdGgvZm9yZWlnbi5oCi1pbmRleCA5NzNmMzY4Li42OTdmMTJmIDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL2ZvcmVpZ24uaAotKysrIGIvbGlibXVsdGlwYXRoL2ZvcmVpZ24uaAotQEAgLTEyLDkgKzEyLDcgQEAKLSAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gCi0gICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotLSAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLS0gIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsCi0tICBVU0EuCi0rICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0gKi8KLSAjaWZuZGVmIF9GT1JFSUdOX0gKLSAjZGVmaW5lIF9GT1JFSUdOX0gKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvZm9yZWlnbi9udm1lLmMgYi9saWJtdWx0aXBhdGgvZm9yZWlnbi9udm1lLmMKLWluZGV4IDIzNWY3NWQuLjI4MGI2YmQgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvZm9yZWlnbi9udm1lLmMKLSsrKyBiL2xpYm11bHRpcGF0aC9mb3JlaWduL252bWUuYwotQEAgLTEyLDkgKzEyLDcgQEAKLSAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gCi0gICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotLSAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLS0gIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsCi0tICBVU0EuCi0rICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0gKi8KLSAKLSAjaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9nZW5lcmljLmMgYi9saWJtdWx0aXBhdGgvZ2VuZXJpYy5jCi1pbmRleCA2ZjdhMmNkLi4wZDFlNjMyIDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL2dlbmVyaWMuYwotKysrIGIvbGlibXVsdGlwYXRoL2dlbmVyaWMuYwotQEAgLTEyLDkgKzEyLDcgQEAKLSAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gCi0gICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotLSAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLS0gIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsCi0tICBVU0EuCi0rICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0gICovCi0gCi0gCi1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2dlbmVyaWMuaCBiL2xpYm11bHRpcGF0aC9nZW5lcmljLmgKLWluZGV4IDdmN2ZlNjYuLjYzNDZmZmUgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvZ2VuZXJpYy5oCi0rKysgYi9saWJtdWx0aXBhdGgvZ2VuZXJpYy5oCi1AQCAtMTIsOSArMTIsNyBAQAotICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAKLSAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0tICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotLSAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwKLS0gIFVTQS4KLSsgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLSAgKi8KLSAjaWZuZGVmIF9HRU5FUklDX0gKLSAjZGVmaW5lIF9HRU5FUklDX0gKLWRpZmYgLS1naXQgYS90ZXN0cy9kbWV2ZW50cy5jIGIvdGVzdHMvZG1ldmVudHMuYwotaW5kZXggYmJhNTFkYy4uMzM5OWM4MSAxMDA2NDQKLS0tLSBhL3Rlc3RzL2RtZXZlbnRzLmMKLSsrKyBiL3Rlc3RzL2RtZXZlbnRzLmMKLUBAIC0xMiw3ICsxMiw3IEBACi0gICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAgKgotICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0tICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSsgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0gICoKLSAgKi8KLSAKLWRpZmYgLS1naXQgYS90ZXN0cy9wYXJzZXIuYyBiL3Rlc3RzL3BhcnNlci5jCi1pbmRleCBhN2U3NTk4Li4yOTg1OWRhIDEwMDY0NAotLS0tIGEvdGVzdHMvcGFyc2VyLmMKLSsrKyBiL3Rlc3RzL3BhcnNlci5jCi1AQCAtMTIsNyArMTIsNyBAQAotICAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gICoKLSAgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotLSAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0rICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotICAqCi0gICovCi0gCi1kaWZmIC0tZ2l0IGEvdGVzdHMvdWV2ZW50LmMgYi90ZXN0cy91ZXZlbnQuYwotaW5kZXggYWNmY2IxNC4uYjBkMGJmZCAxMDA2NDQKLS0tLSBhL3Rlc3RzL3VldmVudC5jCi0rKysgYi90ZXN0cy91ZXZlbnQuYwotQEAgLTEyLDcgKzEyLDcgQEAKLSAgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICAqCi0gICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLS0gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLSAgKgotICAqLwotIAotZGlmZiAtLWdpdCBhL3Rlc3RzL3V0aWwuYyBiL3Rlc3RzL3V0aWwuYwotaW5kZXggMTEzYjEzNC4uODM5ZWZmZCAxMDA2NDQKLS0tLSBhL3Rlc3RzL3V0aWwuYwotKysrIGIvdGVzdHMvdXRpbC5jCi1AQCAtMTIsNyArMTIsNyBAQAotICAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gICoKLSAgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotLSAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0rICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotICAqCi0gICovCi0gCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDA1LW11bHRpcGF0aC10b29scy1SZW1vdmUtdHJhaWxpbmctbGVhZGluZy13aGl0ZXNwYWNlcy0ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAwNS1tdWx0aXBhdGgtdG9vbHMtUmVtb3ZlLXRyYWlsaW5nLWxlYWRpbmctd2hpdGVzcGFjZXMtLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NTNlNzM5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDA1LW11bHRpcGF0aC10b29scy1SZW1vdmUtdHJhaWxpbmctbGVhZGluZy13aGl0ZXNwYWNlcy0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNTYgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogWG9zZSBWYXpxdWV6IFBlcmV6IDx4b3NlLnZhenF1ZXpAZ21haWwuY29tPgotRGF0ZTogRnJpLCAxMSBNYXkgMjAxOCAxNTo0MzoxMSArMDIwMAotU3ViamVjdDogW1BBVENIXSBtdWx0aXBhdGgtdG9vbHM6IFJlbW92ZSB0cmFpbGluZy9sZWFkaW5nIHdoaXRlc3BhY2VzIGFuZAotIHJlZm9ybWF0IGNvZGUKLQotQ2M6IENocmlzdG9waGUgVmFyb3F1aSA8Y2hyaXN0b3BoZS52YXJvcXVpQG9wZW5zdmMuY29tPgotQ2M6IGRldmljZS1tYXBwZXIgZGV2ZWxvcG1lbnQgPGRtLWRldmVsQHJlZGhhdC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBYb3NlIFZhenF1ZXogUGVyZXogPHhvc2UudmF6cXVlekBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci0tLS0KLSBNYWtlZmlsZS5pbmMgICAgICAgICAgIHwgMjMgKysrKysrKysrKystLS0tLS0tLS0tLS0KLSBrcGFydHgvbWFjLmggICAgICAgICAgIHwgIDIgKy0KLSBrcGFydHgvdGVzdC1rcGFydHggICAgIHwgIDIgKy0KLSBsaWJtcGF0aGNtZC9NYWtlZmlsZSAgIHwgIDIgKy0KLSBsaWJtdWx0aXBhdGgvaHd0YWJsZS5jIHwgMTQgKysrKysrKy0tLS0tLS0KLSBsaWJtdWx0aXBhdGgvcHJpbnQuaCAgIHwgIDIgKy0KLSBtdWx0aXBhdGhkL21haW4uaCAgICAgIHwgIDYgKysrLS0tCi0gNyBmaWxlcyBjaGFuZ2VkLCAyNSBpbnNlcnRpb25zKCspLCAyNiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL01ha2VmaWxlLmluYyBiL01ha2VmaWxlLmluYwotaW5kZXggNTdhMTgzNS4uYWYyZjViYSAxMDA2NDQKLS0tLSBhL01ha2VmaWxlLmluYwotKysrIGIvTWFrZWZpbGUuaW5jCi1AQCAtMTAzLDIxICsxMDMsMjAgQEAgTERGTEFHUwkJPSAtV2wsLXoscmVscm8gLVdsLC16LG5vdwotIEJJTl9MREZMQUdTCT0gLXBpZQotIAotICMgQ2hlY2sgd2hldGhlciBhIGZ1bmN0aW9uIHdpdGggbmFtZSAkMSBoYXMgYmVlbiBkZWNsYXJlZCBpbiBoZWFkZXIgZmlsZSAkMi4KLS1jaGVja19mdW5jID0JCQkJCQkJCSAgICAgICBcCi0tICAgICQoc2hlbGwJCQkJCQkJCSAgICAgICBcCi0rY2hlY2tfZnVuYyA9ICQoc2hlbGwgXAotIAlpZiBncmVwIC1FcSAiXlteWzpibGFuazpdXStbWzpibGFuazpdXSskMVtbOmJsYW5rOl1dKiguKikqIiAiJDIiOyB0aGVuIFwKLS0JICAgZm91bmQ9MTsJCQkJCQkJICAgICAgIFwKLS0JICAgc3RhdHVzPSJ5ZXMiOwkJCQkJCSAgICAgICBcCi0tCWVsc2UJCQkJCQkJCSAgICAgICBcCi0tCSAgIGZvdW5kPTA7CQkJCQkJCSAgICAgICBcCi0tCSAgIHN0YXR1cz0ibm8iOwkJCQkJCQkgICAgICAgXAotLQlmaTsJCQkJCQkJCSAgICAgICBcCi0tCWVjaG8gMT4mMiAiQ2hlY2tpbmcgZm9yICQxIGluICQyIC4uLiAkJHN0YXR1cyI7CQkJICAgICAgIFwKLS0JZWNobyAiJCRmb3VuZCIJCQkJCQkJICAgICAgIFwKLS0gICAgKQotKwkJZm91bmQ9MTsgXAotKwkJc3RhdHVzPSJ5ZXMiOyBcCi0rCWVsc2UgXAotKwkJZm91bmQ9MDsgXAotKwkJc3RhdHVzPSJubyI7IFwKLSsJZmk7IFwKLSsJZWNobyAxPiYyICJDaGVja2luZyBmb3IgJDEgaW4gJDIgLi4uICQkc3RhdHVzIjsgXAotKwllY2hvICIkJGZvdW5kIiBcCi0rCSkKLSAKLSAjIENoZWNrZXIgd2hldGhlciBhIGZpbGUgd2l0aCBuYW1lICQxIGV4aXN0cwotLWNoZWNrX2ZpbGUgPSAkKHNoZWxsCVwKLStjaGVja19maWxlID0gJChzaGVsbCBcCi0gCWlmIFsgLWYgIiQxIiBdOyB0aGVuIFwKLSAJCWZvdW5kPTE7IFwKLSAJCXN0YXR1cz0ieWVzIjsgXAotZGlmZiAtLWdpdCBhL2twYXJ0eC9tYWMuaCBiL2twYXJ0eC9tYWMuaAotaW5kZXggYTQ0Y2YzOC4uNTVjM2VjOSAxMDA2NDQKLS0tLSBhL2twYXJ0eC9tYWMuaAotKysrIGIva3BhcnR4L21hYy5oCi1AQCAtMjQsNyArMjQsNyBAQCBzdHJ1Y3QgbWFjX2RyaXZlcl9kZXNjIHsKLSAJdWludDE2X3QgIHNpZ25hdHVyZTsgICAgICAvKiBleHBlY3RlZCB0byBiZSBNQUNfRFJJVkVSX01BR0lDICovCi0gCXVpbnQxNl90ICBibG9ja19zaXplOwotIAl1aW50MzJfdCAgYmxvY2tfY291bnQ7Ci0tICAgIC8qIC4uLiBtb3JlIHN0dWZmICovCi0rCS8qIC4uLiBtb3JlIHN0dWZmICovCi0gfTsKLSAKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9rcGFydHgvdGVzdC1rcGFydHggYi9rcGFydHgvdGVzdC1rcGFydHgKLWluZGV4IDljZWUyMGYuLmQyMDAxZGMgMTAwNzU1Ci0tLS0gYS9rcGFydHgvdGVzdC1rcGFydHgKLSsrKyBiL2twYXJ0eC90ZXN0LWtwYXJ0eAotQEAgLTEzMSw3ICsxMzEsNyBAQCBzdGVwICJjcmVhdGUgRE0gZGV2aWNlcyAoc3BhbnMpIgotICMgVGhleSBhbHNvIHNlcnZlIGFzIERNIGRldmljZXMgdG8gdGVzdCBwYXJ0aXRpb24gcmVtb3ZhbCBvbiB0aG9zZS4KLSAKLSBUQUJMRT0iXAotLTAgJCgoU0laRS9TRUNUU0laLU9GRlMpKSBsaW5lYXIgJERFVjEgJE9GRlMgCi0rMCAkKChTSVpFL1NFQ1RTSVotT0ZGUykpIGxpbmVhciAkREVWMSAkT0ZGUwotICQoKFNJWkUvU0VDVFNJWi1PRkZTKSkgJCgoU0laRS9TRUNUU0laLU9GRlMpKSBsaW5lYXIgJERFVjIgJE9GRlMiCi0gCi0gU1BBTjE9a3B0Ci1kaWZmIC0tZ2l0IGEvbGlibXBhdGhjbWQvTWFrZWZpbGUgYi9saWJtcGF0aGNtZC9NYWtlZmlsZQotaW5kZXggNTNjMDg5OS4uMGY2YjgxNiAxMDA2NDQKLS0tLSBhL2xpYm1wYXRoY21kL01ha2VmaWxlCi0rKysgYi9saWJtcGF0aGNtZC9NYWtlZmlsZQotQEAgLTI3LDcgKzI3LDcgQEAgdW5pbnN0YWxsOgotIAkkKFJNKSAkKERFU1RESVIpJChpbmNsdWRlZGlyKS9tcGF0aF9jbWQuaAotIAotIGNsZWFuOiBkZXBfY2xlYW4KLS0JJChSTSkgY29yZSAqLmEgKi5vICouc28gKi5zby4qICouZ3ogCi0rCSQoUk0pIGNvcmUgKi5hICoubyAqLnNvICouc28uKiAqLmd6Ci0gCi0gaW5jbHVkZSAkKHdpbGRjYXJkICQoT0JKUzoubz0uZCkpCi0gCi1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2h3dGFibGUuYyBiL2xpYm11bHRpcGF0aC9od3RhYmxlLmMKLWluZGV4IDgyN2U4OTkuLjJjYTY4ODggMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvaHd0YWJsZS5jCi0rKysgYi9saWJtdWx0aXBhdGgvaHd0YWJsZS5jCi1AQCAtNzgsMTMgKzc4LDEzIEBACi0gI2VuZGlmCi0gCi0gc3RhdGljIHN0cnVjdCBod2VudHJ5IGRlZmF1bHRfaHdbXSA9IHsKLS0gICAgICAgLyoKLS0JKiBHZW5lcmljIE5WTWUKLS0JKgotLQkqIER1ZSB0byB0aGUgcGFyc2luZyBsb2dpYyBpbiBmaW5kX2h3ZSgpLCBnZW5lcmljIGVudHJpZXMKLS0JKiBoYXZlIHRvIGJlIHB1dCBvbiB0b3Agb2YgdGhpcyBsaXN0LCBhbmQgbW9yZSBzcGVjaWZpYyBvbmVzCi0tCSogYmVsb3cuCi0tCSovCi0rCS8qCi0rCSAqIEdlbmVyaWMgTlZNZSBkZXZpY2VzCi0rCSAqCi0rCSAqIER1ZSB0byB0aGUgcGFyc2luZyBsb2dpYyBpbiBmaW5kX2h3ZSgpLCBnZW5lcmljIGVudHJpZXMKLSsJICogaGF2ZSB0byBiZSBwdXQgb24gdG9wIG9mIHRoaXMgbGlzdCwgYW5kIG1vcmUgc3BlY2lmaWMgb25lcwotKwkgKiBiZWxvdy4KLSsJICovCi0gCXsKLSAJCS52ZW5kb3IgICAgICAgID0gIk5WTUUiLAotIAkJLnByb2R1Y3QgICAgICAgPSAiLioiLAotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9wcmludC5oIGIvbGlibXVsdGlwYXRoL3ByaW50LmgKLWluZGV4IDdiYTY0MzguLjliNWEyM2EgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvcHJpbnQuaAotKysrIGIvbGlibXVsdGlwYXRoL3ByaW50LmgKLUBAIC0xMTMsNyArMTEzLDcgQEAgaW50IF9zbnByaW50X211bHRpcGF0aCAoY29uc3Qgc3RydWN0IGdlbl9tdWx0aXBhdGggKiwgY2hhciAqLCBpbnQsCi0gCQkJY29uc3QgY2hhciAqLCBpbnQpOwotICNkZWZpbmUgc25wcmludF9tdWx0aXBhdGgoYnVmLCBsZW4sIGZtdCwgbXAsIHYpCQkJCVwKLSAJX3NucHJpbnRfbXVsdGlwYXRoKGRtX211bHRpcGF0aF90b19nZW4obXApLCBidWYsIGxlbiwgZm10LCAgdikKLS1pbnQgX3NucHJpbnRfbXVsdGlwYXRoX3RvcG9sb2d5IChjb25zdCBzdHJ1Y3QgZ2VuX211bHRpcGF0aCAqLCBjaGFyICosIGludCwgCi0raW50IF9zbnByaW50X211bHRpcGF0aF90b3BvbG9neSAoY29uc3Qgc3RydWN0IGdlbl9tdWx0aXBhdGggKiwgY2hhciAqLCBpbnQsCi0gCQkJCSBpbnQgdmVyYm9zaXR5KTsKLSAjZGVmaW5lIHNucHJpbnRfbXVsdGlwYXRoX3RvcG9sb2d5KGJ1ZiwgbGVuLCBtcHAsIHYpIFwKLSAJX3NucHJpbnRfbXVsdGlwYXRoX3RvcG9sb2d5IChkbV9tdWx0aXBhdGhfdG9fZ2VuKG1wcCksIGJ1ZiwgbGVuLCB2KQotZGlmZiAtLWdpdCBhL211bHRpcGF0aGQvbWFpbi5oIGIvbXVsdGlwYXRoZC9tYWluLmgKLWluZGV4IGFmMzk1NTguLjhmZDQyNmIgMTAwNjQ0Ci0tLS0gYS9tdWx0aXBhdGhkL21haW4uaAotKysrIGIvbXVsdGlwYXRoZC9tYWluLmgKLUBAIC0yOSwxMSArMjksMTEgQEAgaW50IGV2X3JlbW92ZV9tYXAgKGNoYXIgKiwgY2hhciAqLCBpbnQsIHN0cnVjdCB2ZWN0b3JzICopOwotIGludCBzZXRfY29uZmlnX3N0YXRlKGVudW0gZGFlbW9uX3N0YXR1cyk7Ci0gdm9pZCAqIG1wYXRoX2FsbG9jX3ByaW5fcmVzcG9uc2UoaW50IHByaW5fc2EpOwotIGludCBwcmluX2RvX3Njc2lfaW9jdGwoY2hhciAqLCBpbnQgcnFfc2VydmFjdCwgc3RydWN0IHByaW5fcmVzcCAqIHJlc3AsCi0tICAgICAgIGludCBub2lzeSk7Ci0rCQkgICAgICAgaW50IG5vaXN5KTsKLSB2b2lkIGR1bXBIZXgoY29uc3QgY2hhciAqICwgaW50IGxlbiwgaW50IG5vX2FzY2lpKTsKLSBpbnQgcHJvdXRfZG9fc2NzaV9pb2N0bChjaGFyICogLCBpbnQgcnFfc2VydmFjdCwgaW50IHJxX3Njb3BlLAotLSAgICAgICB1bnNpZ25lZCBpbnQgcnFfdHlwZSwgc3RydWN0IHByb3V0X3BhcmFtX2Rlc2NyaXB0b3IgKnBhcmFtLAotLSAgICAgICBpbnQgbm9pc3kpOwotKwkJCXVuc2lnbmVkIGludCBycV90eXBlLAotKwkJCXN0cnVjdCBwcm91dF9wYXJhbV9kZXNjcmlwdG9yICpwYXJhbSwgaW50IG5vaXN5KTsKLSBpbnQgbXBhdGhfcHJfZXZlbnRfaGFuZGxlKHN0cnVjdCBwYXRoICpwcCk7Ci0gdm9pZCAqIG1wYXRoX3ByX2V2ZW50X2hhbmRsZXJfZm4gKHZvaWQgKiApOwotIGludCB1cGRhdGVfbWFwX3ByKHN0cnVjdCBtdWx0aXBhdGggKm1wcCk7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDA2LW11bHRpcGF0aC10b29scy1maXgtY29tcGlsYXRpb24td2l0aC1tdXNsLWxpYmMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAwNi1tdWx0aXBhdGgtdG9vbHMtZml4LWNvbXBpbGF0aW9uLXdpdGgtbXVzbC1saWJjLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNmZkNWI0Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDA2LW11bHRpcGF0aC10b29scy1maXgtY29tcGlsYXRpb24td2l0aC1tdXNsLWxpYmMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1OCArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBYb3NlIFZhenF1ZXogUGVyZXogPHhvc2UudmF6cXVlekBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDExIE1heSAyMDE4IDE4OjM5OjQ0ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIG11bHRpcGF0aC10b29sczogZml4IGNvbXBpbGF0aW9uIHdpdGggbXVzbCBsaWJjCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLUluIGZpbGUgaW5jbHVkZWQgZnJvbSBhbGlhcy5jOjE1OgotZmlsZS5oOjk6NDc6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSDigJhtb2RlX3TigJk7IGRpZCB5b3UgbWVhbiDigJh0aW1lX3TigJk/Ci0gaW50IGVuc3VyZV9kaXJlY3Rvcmllc19leGlzdChjb25zdCBjaGFyICpzdHIsIG1vZGVfdCBkaXJfbW9kZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lX3QKLQotc3lzZnMuYzogSW4gZnVuY3Rpb24g4oCYc3lzZnNfaXNfbXVsdGlwYXRoZWTigJk6Ci1zeXNmcy5jOjMwNDoxNTogZXJyb3I6IOKAmFBBVEhfTUFY4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFBBVEhfVVDigJk/Ci0gIGNoYXIgcGF0aGJ1ZltQQVRIX01BWF07Ci0gICAgICAgICAgICAgICBefn5+fn5+fgotICAgICAgICAgICAgICAgUEFUSF9VUAotCi1DYzogTWFydGluIFdpbGNrIDxtd2lsY2tAc3VzZS5jb20+Ci1DYzogQ2hyaXN0b3BoZSBWYXJvcXVpIDxjaHJpc3RvcGhlLnZhcm9xdWlAb3BlbnN2Yy5jb20+Ci1DYzogRE0gTUwgPGRtLWRldmVsQHJlZGhhdC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBYb3NlIFZhenF1ZXogUGVyZXogPHhvc2UudmF6cXVlekBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci0tLS0KLSBsaWJtdWx0aXBhdGgvZmlsZS5oICB8IDIgKysKLSBsaWJtdWx0aXBhdGgvc3lzZnMuYyB8IDEgKwotIDIgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvZmlsZS5oIGIvbGlibXVsdGlwYXRoL2ZpbGUuaAotaW5kZXggMjk1MjBjNy4uM2M3NWM5MCAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9maWxlLmgKLSsrKyBiL2xpYm11bHRpcGF0aC9maWxlLmgKLUBAIC01LDYgKzUsOCBAQAotICNpZm5kZWYgX0ZJTEVfSAotICNkZWZpbmUgX0ZJTEVfSAotIAotKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgotKwotICNkZWZpbmUgRklMRV9USU1FT1VUIDMwCi0gaW50IGVuc3VyZV9kaXJlY3Rvcmllc19leGlzdChjb25zdCBjaGFyICpzdHIsIG1vZGVfdCBkaXJfbW9kZSk7Ci0gaW50IG9wZW5fZmlsZShjb25zdCBjaGFyICpmaWxlLCBpbnQgKmNhbl93cml0ZSwgY29uc3QgY2hhciAqaGVhZGVyKTsKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvc3lzZnMuYyBiL2xpYm11bHRpcGF0aC9zeXNmcy5jCi1pbmRleCBlZTcyZTZhLi4xNmUwYTczIDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL3N5c2ZzLmMKLSsrKyBiL2xpYm11bHRpcGF0aC9zeXNmcy5jCi1AQCAtMjgsNiArMjgsNyBAQAotICNpbmNsdWRlIDxkaXJlbnQuaD4KLSAjaW5jbHVkZSA8bGlidWRldi5oPgotICNpbmNsdWRlIDxmbm1hdGNoLmg+Ci0rI2luY2x1ZGUgPGxpbWl0cy5oPgotIAotICNpbmNsdWRlICJjaGVja2Vycy5oIgotICNpbmNsdWRlICJ2ZWN0b3IuaCIKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMDctbXVsdGlwYXRoLXRvb2xzLWFkZC14LXRvLWRvYy1wcmVjbGVhbi5wbC1hbmQtc3BsaXQtbS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDA3LW11bHRpcGF0aC10b29scy1hZGQteC10by1kb2MtcHJlY2xlYW4ucGwtYW5kLXNwbGl0LW0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDllNjA4ZTEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMDctbXVsdGlwYXRoLXRvb2xzLWFkZC14LXRvLWRvYy1wcmVjbGVhbi5wbC1hbmQtc3BsaXQtbS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFhvc2UgVmF6cXVleiBQZXJleiA8eG9zZS52YXpxdWV6QGdtYWlsLmNvbT4KLURhdGU6IFN1biwgMTMgTWF5IDIwMTggMDA6Mzk6NDEgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gbXVsdGlwYXRoLXRvb2xzOiBhZGQgK3ggdG8gZG9jLXByZWNsZWFuLnBsIGFuZCBzcGxpdC1tYW4ucGwKLQotSXQgaXMgbm90IHN0cmljdGx5IG5lY2Vzc2FyeSwgYnV0IGl0IGhlbHBzIGlkZW50aWZ5IGJpbiBmaWxlcy4KLQotQ2M6IENocmlzdG9waGUgVmFyb3F1aSA8Y2hyaXN0b3BoZS52YXJvcXVpQG9wZW5zdmMuY29tPgotQ2M6IERNIE1MIDxkbS1kZXZlbEByZWRoYXQuY29tPgotU2lnbmVkLW9mZi1ieTogWG9zZSBWYXpxdWV6IFBlcmV6IDx4b3NlLnZhenF1ZXpAZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotLS0tCi0gbGliZG1tcC9kb2NzL2RvYy1wcmVjbGVhbi5wbCB8IDAKLSBsaWJkbW1wL2RvY3Mvc3BsaXQtbWFuLnBsICAgIHwgMAotIDIgZmlsZXMgY2hhbmdlZCwgMCBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQotIG1vZGUgY2hhbmdlIDEwMDY0NCA9PiAxMDA3NTUgbGliZG1tcC9kb2NzL2RvYy1wcmVjbGVhbi5wbAotIG1vZGUgY2hhbmdlIDEwMDY0NCA9PiAxMDA3NTUgbGliZG1tcC9kb2NzL3NwbGl0LW1hbi5wbAotCi1kaWZmIC0tZ2l0IGEvbGliZG1tcC9kb2NzL2RvYy1wcmVjbGVhbi5wbCBiL2xpYmRtbXAvZG9jcy9kb2MtcHJlY2xlYW4ucGwKLW9sZCBtb2RlIDEwMDY0NAotbmV3IG1vZGUgMTAwNzU1Ci1kaWZmIC0tZ2l0IGEvbGliZG1tcC9kb2NzL3NwbGl0LW1hbi5wbCBiL2xpYmRtbXAvZG9jcy9zcGxpdC1tYW4ucGwKLW9sZCBtb2RlIDEwMDY0NAotbmV3IG1vZGUgMTAwNzU1Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDA4LW11bHRpcGF0aC10b29scy1yZWZyZXNoLWtlcm5lbC1kb2MtZnJvbS1rZXJuZWwtc291cmMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAwOC1tdWx0aXBhdGgtdG9vbHMtcmVmcmVzaC1rZXJuZWwtZG9jLWZyb20ta2VybmVsLXNvdXJjLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNzUyMTU4Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDA4LW11bHRpcGF0aC10b29scy1yZWZyZXNoLWtlcm5lbC1kb2MtZnJvbS1rZXJuZWwtc291cmMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3ODQgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogWG9zZSBWYXpxdWV6IFBlcmV6IDx4b3NlLnZhenF1ZXpAZ21haWwuY29tPgotRGF0ZTogU3VuLCAxMyBNYXkgMjAxOCAwMDozOTo0MiArMDIwMAotU3ViamVjdDogW1BBVENIXSBtdWx0aXBhdGgtdG9vbHM6IHJlZnJlc2gga2VybmVsLWRvYyBmcm9tIGtlcm5lbCBzb3VyY2VzCi0KLUNjOiBHcmlzIEdlIDxmZ2VAcmVkaGF0LmNvbT4KLUNjOiBDaHJpc3RvcGhlIFZhcm9xdWkgPGNocmlzdG9waGUudmFyb3F1aUBvcGVuc3ZjLmNvbT4KLUNjOiBkZXZpY2UtbWFwcGVyIGRldmVsb3BtZW50IDxkbS1kZXZlbEByZWRoYXQuY29tPgotU2lnbmVkLW9mZi1ieTogWG9zZSBWYXpxdWV6IFBlcmV6IDx4b3NlLnZhenF1ZXpAZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotLS0tCi0gbGliZG1tcC9kb2NzL2tlcm5lbC1kb2MgfCA2NzEgKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDM2OCBpbnNlcnRpb25zKCspLCAzMDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJkbW1wL2RvY3Mva2VybmVsLWRvYyBiL2xpYmRtbXAvZG9jcy9rZXJuZWwtZG9jCi1pbmRleCBmZWU4OTUyLi4wMDU3ZDhlIDEwMDc1NQotLS0tIGEvbGliZG1tcC9kb2NzL2tlcm5lbC1kb2MKLSsrKyBiL2xpYmRtbXAvZG9jcy9rZXJuZWwtZG9jCi1AQCAtMSw0ICsxLDUgQEAKLSAjIS91c3IvYmluL2VudiBwZXJsCi0rIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAotIAotIHVzZSB3YXJuaW5nczsKLSB1c2Ugc3RyaWN0OwotQEAgLTMyOCwxMyArMzI5LDE1IEBAIG15ICRsaW5lcHJlZml4PSIiOwotIHVzZSBjb25zdGFudCB7Ci0gICAgIFNUQVRFX05PUk1BTCAgICAgICAgPT4gMCwgIyBub3JtYWwgY29kZQotICAgICBTVEFURV9OQU1FICAgICAgICAgID0+IDEsICMgbG9va2luZyBmb3IgZnVuY3Rpb24gbmFtZQotLSAgICBTVEFURV9GSUVMRCAgICAgICAgID0+IDIsICMgc2Nhbm5pbmcgZmllbGQgc3RhcnQKLS0gICAgU1RBVEVfUFJPVE8gICAgICAgICA9PiAzLCAjIHNjYW5uaW5nIHByb3RvdHlwZQotLSAgICBTVEFURV9ET0NCTE9DSyAgICAgID0+IDQsICMgZG9jdW1lbnRhdGlvbiBibG9jawotLSAgICBTVEFURV9JTkxJTkUgICAgICAgID0+IDUsICMgZ2F0aGVyaW5nIGRvY3VtZW50YXRpb24gb3V0c2lkZSBtYWluIGJsb2NrCi0rICAgIFNUQVRFX0JPRFlfTUFZQkUgICAgPT4gMiwgIyBib2R5IC0gb3IgbWF5YmUgbW9yZSBkZXNjcmlwdGlvbgotKyAgICBTVEFURV9CT0RZICAgICAgICAgID0+IDMsICMgdGhlIGJvZHkgb2YgdGhlIGNvbW1lbnQKLSsgICAgU1RBVEVfUFJPVE8gICAgICAgICA9PiA0LCAjIHNjYW5uaW5nIHByb3RvdHlwZQotKyAgICBTVEFURV9ET0NCTE9DSyAgICAgID0+IDUsICMgZG9jdW1lbnRhdGlvbiBibG9jawotKyAgICBTVEFURV9JTkxJTkUgICAgICAgID0+IDYsICMgZ2F0aGVyaW5nIGRvY3VtZW50YXRpb24gb3V0c2lkZSBtYWluIGJsb2NrCi0gfTsKLSBteSAkc3RhdGU7Ci0gbXkgJGluX2RvY19zZWN0OwotK215ICRsZWFkaW5nX3NwYWNlOwotIAotICMgSW5saW5lIGRvY3VtZW50YXRpb24gc3RhdGUKLSB1c2UgY29uc3RhbnQgewotQEAgLTM2Myw3ICszNjYsNyBAQCBteSAkZG9jX3NlY3QgPSAkZG9jX2NvbSAuCi0gbXkgJGRvY19jb250ZW50ID0gJGRvY19jb21fYm9keSAuICcoLiopJzsKLSBteSAkZG9jX2Jsb2NrID0gJGRvY19jb20gLiAnRE9DOlxzKiguKik/JzsKLSBteSAkZG9jX2lubGluZV9zdGFydCA9ICdeXHMqL1wqXCpccyokJzsKLS1teSAkZG9jX2lubGluZV9zZWN0ID0gJ1xzKlwqXHMqKEBbXHdcc10rKTooLiopJzsKLStteSAkZG9jX2lubGluZV9zZWN0ID0gJ1xzKlwqXHMqKEBccypbXHddW1x3XC5dKlxzKik6KC4qKSc7Ci0gbXkgJGRvY19pbmxpbmVfZW5kID0gJ15ccypcKi9ccyokJzsKLSBteSAkZG9jX2lubGluZV9vbmVsaW5lID0gJ15ccyovXCpcKlxzKihAW1x3XHNdKyk6XHMqKC4qKVxzKlwqL1xzKiQnOwotIG15ICRleHBvcnRfc3ltYm9sID0gJ15ccypFWFBPUlRfU1lNQk9MKF9HUEwpP1xzKlwoXHMqKFx3KylccypcKVxzKjsnOwotQEAgLTU1MywxMCArNTU2LDkgQEAgc3ViIG91dHB1dF9oaWdobGlnaHQgewotIAl9Ci0gCWlmICgkbGluZSBlcSAiIil7Ci0gCSAgICBpZiAoISAkb3V0cHV0X3ByZWZvcm1hdHRlZCkgewotLQkJcHJpbnQgJGxpbmVwcmVmaXgsIGxvY2FsX3VuZXNjYXBlKCRibGFua2xpbmUpOwotKwkJcHJpbnQgJGxpbmVwcmVmaXgsICRibGFua2xpbmU7Ci0gCSAgICB9Ci0gCX0gZWxzZSB7Ci0tCSAgICAkbGluZSA9fiBzL1xcXFxcXC9cJi9nOwotIAkgICAgaWYgKCRvdXRwdXRfbW9kZSBlcSAibWFuIiAmJiBzdWJzdHIoJGxpbmUsIDAsIDEpIGVxICIuIikgewotIAkJcHJpbnQgIlxcJiRsaW5lIjsKLSAJICAgIH0gZWxzZSB7Ci1AQCAtNzQ3LDE3ICs3NDksNzMgQEAgc3ViIG91dHB1dF9ibG9ja2hlYWRfcnN0KCUpIHsKLSAgICAgfQotIH0KLSAKLS1zdWIgb3V0cHV0X2hpZ2hsaWdodF9yc3QgewotLSAgICBteSAkY29udGVudHMgPSBqb2luICJcbiIsQF87Ci0tICAgIG15ICRsaW5lOwotLQotLSAgICAjIHVuZG8gdGhlIGV2aWwgZWZmZWN0cyBvZiB4bWxfZXNjYXBlKCkgZWFybGllcgotLSAgICAkY29udGVudHMgPSB4bWxfdW5lc2NhcGUoJGNvbnRlbnRzKTsKLS0KLSsjCi0rIyBBcHBseSB0aGUgUlNUIGhpZ2hsaWdodHMgdG8gYSBzdWItYmxvY2sgb2YgdGV4dC4KLSsjICAgCi0rc3ViIGhpZ2hsaWdodF9ibG9jaygkKSB7Ci0rICAgICMgVGhlIGRvaGlnaGxpZ2h0IGtsdWRnZSByZXF1aXJlcyB0aGUgdGV4dCBiZSBjYWxsZWQgJGNvbnRlbnRzCi0rICAgIG15ICRjb250ZW50cyA9IHNoaWZ0OwotICAgICBldmFsICRkb2hpZ2hsaWdodDsKLSAgICAgZGllICRAIGlmICRAOwotKyAgICByZXR1cm4gJGNvbnRlbnRzOwotK30KLSAKLS0gICAgZm9yZWFjaCAkbGluZSAoc3BsaXQgIlxuIiwgJGNvbnRlbnRzKSB7Ci0rIwotKyMgUmVnZXhlcyB1c2VkIG9ubHkgaGVyZS4KLSsjCi0rbXkgJHNwaGlueF9saXRlcmFsID0gJ15bXi5dLio6OiQnOwotK215ICRzcGhpbnhfY2Jsb2NrID0gJ15cLlwuXCArY29kZS1ibG9jazo6JzsKLSsKLStzdWIgb3V0cHV0X2hpZ2hsaWdodF9yc3QgewotKyAgICBteSAkaW5wdXQgPSBqb2luICJcbiIsQF87Ci0rICAgIG15ICRvdXRwdXQgPSAiIjsKLSsgICAgbXkgJGxpbmU7Ci0rICAgIG15ICRpbl9saXRlcmFsID0gMDsKLSsgICAgbXkgJGxpdHByZWZpeDsKLSsgICAgbXkgJGJsb2NrID0gIiI7Ci0rCi0rICAgIGZvcmVhY2ggJGxpbmUgKHNwbGl0ICJcbiIsJGlucHV0KSB7Ci0rCSMKLSsJIyBJZiB3ZSdyZSBpbiBhIGxpdGVyYWwgYmxvY2ssIHNlZSBpZiB3ZSBzaG91bGQgZHJvcCBvdXQKLSsJIyBvZiBpdC4gIE90aGVyd2lzZSBwYXNzIHRoZSBsaW5lIHN0cmFpZ2h0IHRocm91Z2ggdW5tdW5nZWQuCi0rCSMKLSsJaWYgKCRpbl9saXRlcmFsKSB7Ci0rCSAgICBpZiAoISAoJGxpbmUgPX4gL15ccyokLykpIHsKLSsJCSMKLSsJCSMgSWYgdGhpcyBpcyB0aGUgZmlyc3Qgbm9uLWJsYW5rIGxpbmUgaW4gYSBsaXRlcmFsCi0rCQkjIGJsb2NrIHdlIG5lZWQgdG8gZmlndXJlIG91dCB3aGF0IHRoZSBwcm9wZXIgaW5kZW50IGlzLgotKwkJIwotKwkJaWYgKCRsaXRwcmVmaXggZXEgIiIpIHsKLSsJCSAgICAkbGluZSA9fiAvXihccyopLzsKLSsJCSAgICAkbGl0cHJlZml4ID0gJ14nIC4gJDE7Ci0rCQkgICAgJG91dHB1dCAuPSAkbGluZSAuICJcbiI7Ci0rCQl9IGVsc2lmICghICgkbGluZSA9fiAvJGxpdHByZWZpeC8pKSB7Ci0rCQkgICAgJGluX2xpdGVyYWwgPSAwOwotKwkJfSBlbHNlIHsKLSsJCSAgICAkb3V0cHV0IC49ICRsaW5lIC4gIlxuIjsKLSsJCX0KLSsJICAgIH0gZWxzZSB7Ci0rCQkkb3V0cHV0IC49ICRsaW5lIC4gIlxuIjsKLSsJICAgIH0KLSsJfQotKwkjCi0rCSMgTm90IGluIGEgbGl0ZXJhbCBibG9jayAob3IganVzdCBkcm9wcGVkIG91dCkKLSsJIwotKwlpZiAoISAkaW5fbGl0ZXJhbCkgewotKwkgICAgJGJsb2NrIC49ICRsaW5lIC4gIlxuIjsKLSsJICAgIGlmICgoJGxpbmUgPX4gLyRzcGhpbnhfbGl0ZXJhbC8pIHx8ICgkbGluZSA9fiAvJHNwaGlueF9jYmxvY2svKSkgewotKwkJJGluX2xpdGVyYWwgPSAxOwotKwkJJGxpdHByZWZpeCA9ICIiOwotKwkJJG91dHB1dCAuPSBoaWdobGlnaHRfYmxvY2soJGJsb2NrKTsKLSsJCSRibG9jayA9ICIiCi0rCSAgICB9Ci0rCX0KLSsgICAgfQotKwotKyAgICBpZiAoJGJsb2NrKSB7Ci0rCSRvdXRwdXQgLj0gaGlnaGxpZ2h0X2Jsb2NrKCRibG9jayk7Ci0rICAgIH0KLSsgICAgZm9yZWFjaCAkbGluZSAoc3BsaXQgIlxuIiwgJG91dHB1dCkgewotIAlwcmludCAkbGluZXByZWZpeCAuICRsaW5lIC4gIlxuIjsKLSAgICAgfQotIH0KLUBAIC0xMDYyLDcgKzExMjAsNyBAQCBzdWIgZHVtcF9zdHJ1Y3QoJCQpIHsKLSAJCQkJCSMgSGFuZGxlIGJpdG1hcHMKLSAJCQkJCSRhcmcgPX4gcy86XHMqXGQrXHMqLy9nOwotIAkJCQkJIyBIYW5kbGUgYXJyYXlzCi0tCQkJCQkkYXJnID1+IHMvXFtcUytcXS8vZzsKLSsJCQkJCSRhcmcgPX4gcy9cWy4qXF0vL2c7Ci0gCQkJCQkjIFRoZSB0eXBlIG1heSBoYXZlIG11bHRpcGxlIHdvcmRzLAotIAkJCQkJIyBhbmQgbXVsdGlwbGUgSURzIGNhbiBiZSBkZWZpbmVkLCBsaWtlOgotIAkJCQkJIwljb25zdCBzdHJ1Y3QgZm9vLCAqYmFyLCBmb29iYXIKLUBAIC0xNDIyLDggKzE0ODAsNiBAQCBzdWIgcHVzaF9wYXJhbWV0ZXIoJCQkJCkgewotIAkJfQotIAl9Ci0gCi0tCSRwYXJhbSA9IHhtbF9lc2NhcGUoJHBhcmFtKTsKLS0KLSAJIyBzdHJpcCBzcGFjZXMgZnJvbSAkcGFyYW0gc28gdGhhdCBpdCBpcyBvbmUgY29udGludW91cyBzdHJpbmcKLSAJIyBvbiBAcGFyYW1ldGVybGlzdDsKLSAJIyB0aGlzIGZpeGVzIGEgcHJvYmxlbSB3aGVyZSBjaGVja19zZWN0aW9ucygpIGNhbm5vdCBmaW5kCi1AQCAtMTUyMiw2ICsxNTc4LDcgQEAgc3ViIGR1bXBfZnVuY3Rpb24oJCQpIHsKLSAgICAgJHByb3RvdHlwZSA9fiBzL19fbWVtaW5pdCArLy87Ci0gICAgICRwcm90b3R5cGUgPX4gcy9fX211c3RfY2hlY2sgKy8vOwotICAgICAkcHJvdG90eXBlID1+IHMvX193ZWFrICsvLzsKLSsgICAgJHByb3RvdHlwZSA9fiBzL19fc2NoZWQgKy8vOwotICAgICBteSAkZGVmaW5lID0gJHByb3RvdHlwZSA9fiBzL14jXHMqZGVmaW5lXHMrLy87ICNhayBhZGRlZAotICAgICAkcHJvdG90eXBlID1+IHMvX19hdHRyaWJ1dGVfX1xzKlwoXCgKLSAgICAgICAgICAgICAoPzoKLUBAIC0xNzQ4LDQ3ICsxODA1LDYgQEAgc3ViIHByb2Nlc3NfcHJvdG9fdHlwZSgkJCkgewotICAgICB9Ci0gfQotIAotLSMgeG1sX2VzY2FwZTogcmVwbGFjZSA8LCA+LCBhbmQgJiBpbiB0aGUgdGV4dCBzdHJlYW07Ci0tIwotLSMgaG93ZXZlciwgZm9ybWF0dGluZyBjb250cm9scyB0aGF0IGFyZSBnZW5lcmF0ZWQgaW50ZXJuYWxseS9sb2NhbGx5IGluIHRoZQotLSMga2VybmVsLWRvYyBzY3JpcHQgYXJlIG5vdCBlc2NhcGVkIGhlcmU7IGluc3RlYWQsIHRoZXkgYmVnaW4gbGlmZSBsaWtlCi0tIyAkYmxhbmtsaW5lX2h0bWwgKDQgb2YgJ1wnIGZvbGxvd2VkIGJ5IGEgbW5lbW9uaWMgKyAnOicpLCB0aGVuIHRoZXNlIHN0cmluZ3MKLS0jIGFyZSBjb252ZXJ0ZWQgdG8gdGhlaXIgbW5lbW9uaWMtZXhwZWN0ZWQgb3V0cHV0LCB3aXRob3V0IHRoZSA0ICogJ1wnICYgJzonLAotLSMganVzdCBiZWZvcmUgYWN0dWFsIG91dHB1dDsgKHRoaXMgaXMgZG9uZSBieSBsb2NhbF91bmVzY2FwZSgpKQotLXN1YiB4bWxfZXNjYXBlKCQpIHsKLS0JbXkgJHRleHQgPSBzaGlmdDsKLS0JaWYgKCRvdXRwdXRfbW9kZSBlcSAibWFuIikgewotLQkJcmV0dXJuICR0ZXh0OwotLQl9Ci0tCSR0ZXh0ID1+IHMvXCYvXFxcXFxcYW1wOy9nOwotLQkkdGV4dCA9fiBzL1w8L1xcXFxcXGx0Oy9nOwotLQkkdGV4dCA9fiBzL1w+L1xcXFxcXGd0Oy9nOwotLQlyZXR1cm4gJHRleHQ7Ci0tfQotLQotLSMgeG1sX3VuZXNjYXBlOiByZXZlcnNlIHRoZSBlZmZlY3RzIG9mIHhtbF9lc2NhcGUKLS1zdWIgeG1sX3VuZXNjYXBlKCQpIHsKLS0JbXkgJHRleHQgPSBzaGlmdDsKLS0JaWYgKCRvdXRwdXRfbW9kZSBlcSAibWFuIikgewotLQkJcmV0dXJuICR0ZXh0OwotLQl9Ci0tCSR0ZXh0ID1+IHMvXFxcXFxcYW1wOy9cJi9nOwotLQkkdGV4dCA9fiBzL1xcXFxcXGx0Oy88L2c7Ci0tCSR0ZXh0ID1+IHMvXFxcXFxcZ3Q7Lz4vZzsKLS0JcmV0dXJuICR0ZXh0OwotLX0KLS0KLS0jIGNvbnZlcnQgbG9jYWwgZXNjYXBlIHN0cmluZ3MgdG8gaHRtbAotLSMgbG9jYWwgZXNjYXBlIHN0cmluZ3MgbG9vayBsaWtlOiAgJ1xcXFxtZW5tb25pYzonICh0aGF0J3MgNCBiYWNrc2xhc2hlcykKLS1zdWIgbG9jYWxfdW5lc2NhcGUoJCkgewotLQlteSAkdGV4dCA9IHNoaWZ0OwotLQlpZiAoJG91dHB1dF9tb2RlIGVxICJtYW4iKSB7Ci0tCQlyZXR1cm4gJHRleHQ7Ci0tCX0KLS0JJHRleHQgPX4gcy9cXFxcXFxcXGx0Oi88L2c7Ci0tCSR0ZXh0ID1+IHMvXFxcXFxcXFxndDovPi9nOwotLQlyZXR1cm4gJHRleHQ7Ci0tfQotIAotIHN1YiBtYXBfZmlsZW5hbWUoJCkgewotICAgICBteSAkZmlsZTsKLUBAIC0xODI2LDE1ICsxODQyLDI5MSBAQCBzdWIgcHJvY2Vzc19leHBvcnRfZmlsZSgkKSB7Ci0gICAgIGNsb3NlKElOKTsKLSB9Ci0gCi0tc3ViIHByb2Nlc3NfZmlsZSgkKSB7Ci0tICAgIG15ICRmaWxlOwotKyMKLSsjIFBhcnNlcnMgZm9yIHRoZSB2YXJpb3VzIHByb2Nlc3Npbmcgc3RhdGVzLgotKyMKLSsjIFNUQVRFX05PUk1BTDogbG9va2luZyBmb3IgdGhlIC8qKiB0byBiZWdpbiBldmVyeXRoaW5nLgotKyMKLStzdWIgcHJvY2Vzc19ub3JtYWwoKSB7Ci0rICAgIGlmICgvJGRvY19zdGFydC9vKSB7Ci0rCSRzdGF0ZSA9IFNUQVRFX05BTUU7CSMgbmV4dCBsaW5lIGlzIGFsd2F5cyB0aGUgZnVuY3Rpb24gbmFtZQotKwkkaW5fZG9jX3NlY3QgPSAwOwotKwkkZGVjbGFyYXRpb25fc3RhcnRfbGluZSA9ICQuICsgMTsKLSsgICAgfQotK30KLSsKLSsjCi0rIyBTVEFURV9OQU1FOiBMb29raW5nIGZvciB0aGUgIm5hbWUgLSBkZXNjcmlwdGlvbiIgbGluZQotKyMKLStzdWIgcHJvY2Vzc19uYW1lKCQkKSB7Ci0rICAgIG15ICRmaWxlID0gc2hpZnQ7Ci0gICAgIG15ICRpZGVudGlmaWVyOwotLSAgICBteSAkZnVuYzsKLSAgICAgbXkgJGRlc2NyOwotLSAgICBteSAkaW5fcHVycG9zZSA9IDA7Ci0rCi0rICAgIGlmICgvJGRvY19ibG9jay9vKSB7Ci0rCSRzdGF0ZSA9IFNUQVRFX0RPQ0JMT0NLOwotKwkkY29udGVudHMgPSAiIjsKLSsJJG5ld19zdGFydF9saW5lID0gJC4gKyAxOwotKwotKwlpZiAoICQxIGVxICIiICkgewotKwkgICAgJHNlY3Rpb24gPSAkc2VjdGlvbl9pbnRybzsKLSsJfSBlbHNlIHsKLSsJICAgICRzZWN0aW9uID0gJDE7Ci0rCX0KLSsgICAgfQotKyAgICBlbHNpZiAoLyRkb2NfZGVjbC9vKSB7Ci0rCSRpZGVudGlmaWVyID0gJDE7Ci0rCWlmICgvXHMqKFtcd1xzXSs/KShcKFwpKT9ccyotLykgewotKwkgICAgJGlkZW50aWZpZXIgPSAkMTsKLSsJfQotKwotKwkkc3RhdGUgPSBTVEFURV9CT0RZOwotKwkjIGlmIHRoZXJlJ3Mgbm8gQHBhcmFtIGJsb2NrcyBuZWVkIHRvIHNldCB1cCBkZWZhdWx0IHNlY3Rpb24KLSsJIyBoZXJlCi0rCSRjb250ZW50cyA9ICIiOwotKwkkc2VjdGlvbiA9ICRzZWN0aW9uX2RlZmF1bHQ7Ci0rCSRuZXdfc3RhcnRfbGluZSA9ICQuICsgMTsKLSsJaWYgKC8tKC4qKS8pIHsKLSsJICAgICMgc3RyaXAgbGVhZGluZy90cmFpbGluZy9tdWx0aXBsZSBzcGFjZXMKLSsJICAgICRkZXNjcj0gJDE7Ci0rCSAgICAkZGVzY3IgPX4gcy9eXHMqLy87Ci0rCSAgICAkZGVzY3IgPX4gcy9ccyokLy87Ci0rCSAgICAkZGVzY3IgPX4gcy9ccysvIC9nOwotKwkgICAgJGRlY2xhcmF0aW9uX3B1cnBvc2UgPSAkZGVzY3I7Ci0rCSAgICAkc3RhdGUgPSBTVEFURV9CT0RZX01BWUJFOwotKwl9IGVsc2UgewotKwkgICAgJGRlY2xhcmF0aW9uX3B1cnBvc2UgPSAiIjsKLSsJfQotKwotKwlpZiAoKCRkZWNsYXJhdGlvbl9wdXJwb3NlIGVxICIiKSAmJiAkdmVyYm9zZSkgewotKwkgICAgcHJpbnQgU1RERVJSICIke2ZpbGV9OiQuOiB3YXJuaW5nOiBtaXNzaW5nIGluaXRpYWwgc2hvcnQgZGVzY3JpcHRpb24gb24gbGluZTpcbiI7Ci0rCSAgICBwcmludCBTVERFUlIgJF87Ci0rCSAgICArKyR3YXJuaW5nczsKLSsJfQotKwotKwlpZiAoJGlkZW50aWZpZXIgPX4gbS9ec3RydWN0LykgewotKwkgICAgJGRlY2xfdHlwZSA9ICdzdHJ1Y3QnOwotKwl9IGVsc2lmICgkaWRlbnRpZmllciA9fiBtL151bmlvbi8pIHsKLSsJICAgICRkZWNsX3R5cGUgPSAndW5pb24nOwotKwl9IGVsc2lmICgkaWRlbnRpZmllciA9fiBtL15lbnVtLykgewotKwkgICAgJGRlY2xfdHlwZSA9ICdlbnVtJzsKLSsJfSBlbHNpZiAoJGlkZW50aWZpZXIgPX4gbS9edHlwZWRlZi8pIHsKLSsJICAgICRkZWNsX3R5cGUgPSAndHlwZWRlZic7Ci0rCX0gZWxzZSB7Ci0rCSAgICAkZGVjbF90eXBlID0gJ2Z1bmN0aW9uJzsKLSsJfQotKwotKwlpZiAoJHZlcmJvc2UpIHsKLSsJICAgIHByaW50IFNUREVSUiAiJHtmaWxlfTokLjogaW5mbzogU2Nhbm5pbmcgZG9jIGZvciAkaWRlbnRpZmllclxuIjsKLSsJfQotKyAgICB9IGVsc2UgewotKwlwcmludCBTVERFUlIgIiR7ZmlsZX06JC46IHdhcm5pbmc6IENhbm5vdCB1bmRlcnN0YW5kICRfIG9uIGxpbmUgJC4iLAotKwkgICAgIiAtIEkgdGhvdWdodCBpdCB3YXMgYSBkb2MgbGluZVxuIjsKLSsJKyskd2FybmluZ3M7Ci0rCSRzdGF0ZSA9IFNUQVRFX05PUk1BTDsKLSsgICAgfQotK30KLSsKLSsKLSsjCi0rIyBTVEFURV9CT0RZIGFuZCBTVEFURV9CT0RZX01BWUJFOiB0aGUgYnVsayBvZiBhIGtlcm5lbGRvYyBjb21tZW50LgotKyMKLStzdWIgcHJvY2Vzc19ib2R5KCQkKSB7Ci0rICAgIG15ICRmaWxlID0gc2hpZnQ7Ci0rCi0rICAgIGlmICgvJGRvY19zZWN0L2kpIHsgIyBjYXNlIGluc2Vuc2l0aXZlIGZvciBzdXBwb3J0ZWQgc2VjdGlvbiBuYW1lcwotKwkkbmV3c2VjdGlvbiA9ICQxOwotKwkkbmV3Y29udGVudHMgPSAkMjsKLSsKLSsJIyBtYXAgdGhlIHN1cHBvcnRlZCBzZWN0aW9uIG5hbWVzIHRvIHRoZSBjYW5vbmljYWwgbmFtZXMKLSsJaWYgKCRuZXdzZWN0aW9uID1+IG0vXmRlc2NyaXB0aW9uJC9pKSB7Ci0rCSAgICAkbmV3c2VjdGlvbiA9ICRzZWN0aW9uX2RlZmF1bHQ7Ci0rCX0gZWxzaWYgKCRuZXdzZWN0aW9uID1+IG0vXmNvbnRleHQkL2kpIHsKLSsJICAgICRuZXdzZWN0aW9uID0gJHNlY3Rpb25fY29udGV4dDsKLSsJfSBlbHNpZiAoJG5ld3NlY3Rpb24gPX4gbS9ecmV0dXJucz8kL2kpIHsKLSsJICAgICRuZXdzZWN0aW9uID0gJHNlY3Rpb25fcmV0dXJuOwotKwl9IGVsc2lmICgkbmV3c2VjdGlvbiA9fiBtL15cQHJldHVybiQvKSB7Ci0rCSAgICAjIHNwZWNpYWw6IEByZXR1cm4gaXMgYSBzZWN0aW9uLCBub3QgYSBwYXJhbSBkZXNjcmlwdGlvbgotKwkgICAgJG5ld3NlY3Rpb24gPSAkc2VjdGlvbl9yZXR1cm47Ci0rCX0KLSsKLSsJaWYgKCgkY29udGVudHMgbmUgIiIpICYmICgkY29udGVudHMgbmUgIlxuIikpIHsKLSsJICAgIGlmICghJGluX2RvY19zZWN0ICYmICR2ZXJib3NlKSB7Ci0rCQlwcmludCBTVERFUlIgIiR7ZmlsZX06JC46IHdhcm5pbmc6IGNvbnRlbnRzIGJlZm9yZSBzZWN0aW9uc1xuIjsKLSsJCSsrJHdhcm5pbmdzOwotKwkgICAgfQotKwkgICAgZHVtcF9zZWN0aW9uKCRmaWxlLCAkc2VjdGlvbiwgJGNvbnRlbnRzKTsKLSsJICAgICRzZWN0aW9uID0gJHNlY3Rpb25fZGVmYXVsdDsKLSsJfQotKwotKwkkaW5fZG9jX3NlY3QgPSAxOwotKwkkc3RhdGUgPSBTVEFURV9CT0RZOwotKwkkY29udGVudHMgPSAkbmV3Y29udGVudHM7Ci0rCSRuZXdfc3RhcnRfbGluZSA9ICQuOwotKwl3aGlsZSAoc3Vic3RyKCRjb250ZW50cywgMCwgMSkgZXEgIiAiKSB7Ci0rCSAgICAkY29udGVudHMgPSBzdWJzdHIoJGNvbnRlbnRzLCAxKTsKLSsJfQotKwlpZiAoJGNvbnRlbnRzIG5lICIiKSB7Ci0rCSAgICAkY29udGVudHMgLj0gIlxuIjsKLSsJfQotKwkkc2VjdGlvbiA9ICRuZXdzZWN0aW9uOwotKwkkbGVhZGluZ19zcGFjZSA9IHVuZGVmOwotKyAgICB9IGVsc2lmICgvJGRvY19lbmQvKSB7Ci0rCWlmICgoJGNvbnRlbnRzIG5lICIiKSAmJiAoJGNvbnRlbnRzIG5lICJcbiIpKSB7Ci0rCSAgICBkdW1wX3NlY3Rpb24oJGZpbGUsICRzZWN0aW9uLCAkY29udGVudHMpOwotKwkgICAgJHNlY3Rpb24gPSAkc2VjdGlvbl9kZWZhdWx0OwotKwkgICAgJGNvbnRlbnRzID0gIiI7Ci0rCX0KLSsJIyBsb29rIGZvciBkb2NfY29tICsgPHRleHQ+ICsgZG9jX2VuZDoKLSsJaWYgKCRfID1+IG0nXHMqXCpccypbYS16QS1aXzAtOTpcLl0rXCovJykgewotKwkgICAgcHJpbnQgU1RERVJSICIke2ZpbGV9OiQuOiB3YXJuaW5nOiBzdXNwaWNpb3VzIGVuZGluZyBsaW5lOiAkXyI7Ci0rCSAgICArKyR3YXJuaW5nczsKLSsJfQotKwotKwkkcHJvdG90eXBlID0gIiI7Ci0rCSRzdGF0ZSA9IFNUQVRFX1BST1RPOwotKwkkYnJjb3VudCA9IDA7Ci0rICAgIH0gZWxzaWYgKC8kZG9jX2NvbnRlbnQvKSB7Ci0rCSMgbWlndWVsLXN0eWxlIGNvbW1lbnQga2x1ZGdlLCBsb29rIGZvciBibGFuayBsaW5lcyBhZnRlcgotKwkjIEBwYXJhbWV0ZXIgbGluZSB0byBzaWduaWZ5IHN0YXJ0IG9mIGRlc2NyaXB0aW9uCi0rCWlmICgkMSBlcSAiIikgewotKwkgICAgaWYgKCRzZWN0aW9uID1+IG0vXkAvIHx8ICRzZWN0aW9uIGVxICRzZWN0aW9uX2NvbnRleHQpIHsKLSsJCWR1bXBfc2VjdGlvbigkZmlsZSwgJHNlY3Rpb24sICRjb250ZW50cyk7Ci0rCQkkc2VjdGlvbiA9ICRzZWN0aW9uX2RlZmF1bHQ7Ci0rCQkkY29udGVudHMgPSAiIjsKLSsJCSRuZXdfc3RhcnRfbGluZSA9ICQuOwotKwkgICAgfSBlbHNlIHsKLSsJCSRjb250ZW50cyAuPSAiXG4iOwotKwkgICAgfQotKwkgICAgJHN0YXRlID0gU1RBVEVfQk9EWTsKLSsJfSBlbHNpZiAoJHN0YXRlID09IFNUQVRFX0JPRFlfTUFZQkUpIHsKLSsJICAgICMgQ29udGludWVkIGRlY2xhcmF0aW9uIHB1cnBvc2UKLSsJICAgIGNob21wKCRkZWNsYXJhdGlvbl9wdXJwb3NlKTsKLSsJICAgICRkZWNsYXJhdGlvbl9wdXJwb3NlIC49ICIgIiAuICQxOwotKwkgICAgJGRlY2xhcmF0aW9uX3B1cnBvc2UgPX4gcy9ccysvIC9nOwotKwl9IGVsc2UgewotKwkgICAgbXkgJGNvbnQgPSAkMTsKLSsJICAgIGlmICgkc2VjdGlvbiA9fiBtL15ALyB8fCAkc2VjdGlvbiBlcSAkc2VjdGlvbl9jb250ZXh0KSB7Ci0rCQlpZiAoIWRlZmluZWQgJGxlYWRpbmdfc3BhY2UpIHsKLSsJCSAgICBpZiAoJGNvbnQgPX4gbS9eKFxzKykvKSB7Ci0rCQkJJGxlYWRpbmdfc3BhY2UgPSAkMTsKLSsJCSAgICB9IGVsc2UgewotKwkJCSRsZWFkaW5nX3NwYWNlID0gIiI7Ci0rCQkgICAgfQotKwkJfQotKwkJJGNvbnQgPX4gcy9eJGxlYWRpbmdfc3BhY2UvLzsKLSsJICAgIH0KLSsJICAgICRjb250ZW50cyAuPSAkY29udCAuICJcbiI7Ci0rCX0KLSsgICAgfSBlbHNlIHsKLSsJIyBpIGRvbnQga25vdyAtIGJhZCBsaW5lPyAgaWdub3JlLgotKwlwcmludCBTVERFUlIgIiR7ZmlsZX06JC46IHdhcm5pbmc6IGJhZCBsaW5lOiAkXyI7Ci0rCSsrJHdhcm5pbmdzOwotKyAgICB9Ci0rfQotKwotKwotKyMKLSsjIFNUQVRFX1BST1RPOiByZWFkaW5nIGEgZnVuY3Rpb24vd2hhdGV2ZXIgcHJvdG90eXBlLgotKyMKLStzdWIgcHJvY2Vzc19wcm90bygkJCkgewotKyAgICBteSAkZmlsZSA9IHNoaWZ0OwotKwotKyAgICBpZiAoLyRkb2NfaW5saW5lX29uZWxpbmUvKSB7Ci0rCSRzZWN0aW9uID0gJDE7Ci0rCSRjb250ZW50cyA9ICQyOwotKwlpZiAoJGNvbnRlbnRzIG5lICIiKSB7Ci0rCSAgICAkY29udGVudHMgLj0gIlxuIjsKLSsJICAgIGR1bXBfc2VjdGlvbigkZmlsZSwgJHNlY3Rpb24sICRjb250ZW50cyk7Ci0rCSAgICAkc2VjdGlvbiA9ICRzZWN0aW9uX2RlZmF1bHQ7Ci0rCSAgICAkY29udGVudHMgPSAiIjsKLSsJfQotKyAgICB9IGVsc2lmICgvJGRvY19pbmxpbmVfc3RhcnQvKSB7Ci0rCSRzdGF0ZSA9IFNUQVRFX0lOTElORTsKLSsJJGlubGluZV9kb2Nfc3RhdGUgPSBTVEFURV9JTkxJTkVfTkFNRTsKLSsgICAgfSBlbHNpZiAoJGRlY2xfdHlwZSBlcSAnZnVuY3Rpb24nKSB7Ci0rCXByb2Nlc3NfcHJvdG9fZnVuY3Rpb24oJF8sICRmaWxlKTsKLSsgICAgfSBlbHNlIHsKLSsJcHJvY2Vzc19wcm90b190eXBlKCRfLCAkZmlsZSk7Ci0rICAgIH0KLSt9Ci0rCi0rIwotKyMgU1RBVEVfRE9DQkxPQ0s6IHdpdGhpbiBhIERPQzogYmxvY2suCi0rIwotK3N1YiBwcm9jZXNzX2RvY2Jsb2NrKCQkKSB7Ci0rICAgIG15ICRmaWxlID0gc2hpZnQ7Ci0rCi0rICAgIGlmICgvJGRvY19lbmQvKSB7Ci0rCWR1bXBfZG9jX3NlY3Rpb24oJGZpbGUsICRzZWN0aW9uLCAkY29udGVudHMpOwotKwkkc2VjdGlvbiA9ICRzZWN0aW9uX2RlZmF1bHQ7Ci0rCSRjb250ZW50cyA9ICIiOwotKwkkZnVuY3Rpb24gPSAiIjsKLSsJJXBhcmFtZXRlcmRlc2NzID0gKCk7Ci0rCSVwYXJhbWV0ZXJ0eXBlcyA9ICgpOwotKwlAcGFyYW1ldGVybGlzdCA9ICgpOwotKwklc2VjdGlvbnMgPSAoKTsKLSsJQHNlY3Rpb25saXN0ID0gKCk7Ci0rCSRwcm90b3R5cGUgPSAiIjsKLSsJJHN0YXRlID0gU1RBVEVfTk9STUFMOwotKyAgICB9IGVsc2lmICgvJGRvY19jb250ZW50LykgewotKwlpZiAoICQxIGVxICIiICkJewotKwkgICAgJGNvbnRlbnRzIC49ICRibGFua2xpbmU7Ci0rCX0gZWxzZSB7Ci0rCSAgICAkY29udGVudHMgLj0gJDEgLiAiXG4iOwotKwl9Ci0rICAgIH0KLSt9Ci0rCi0rIwotKyMgU1RBVEVfSU5MSU5FOiBkb2Nib29rIGNvbW1lbnRzIHdpdGhpbiBhIHByb3RvdHlwZS4KLSsjCi0rc3ViIHByb2Nlc3NfaW5saW5lKCQkKSB7Ci0rICAgIG15ICRmaWxlID0gc2hpZnQ7Ci0rCi0rICAgICMgRmlyc3QgbGluZSAoc3RhdGUgMSkgbmVlZHMgdG8gYmUgYSBAcGFyYW1ldGVyCi0rICAgIGlmICgkaW5saW5lX2RvY19zdGF0ZSA9PSBTVEFURV9JTkxJTkVfTkFNRSAmJiAvJGRvY19pbmxpbmVfc2VjdC9vKSB7Ci0rCSRzZWN0aW9uID0gJDE7Ci0rCSRjb250ZW50cyA9ICQyOwotKwkkbmV3X3N0YXJ0X2xpbmUgPSAkLjsKLSsJaWYgKCRjb250ZW50cyBuZSAiIikgewotKwkgICAgd2hpbGUgKHN1YnN0cigkY29udGVudHMsIDAsIDEpIGVxICIgIikgewotKwkJJGNvbnRlbnRzID0gc3Vic3RyKCRjb250ZW50cywgMSk7Ci0rCSAgICB9Ci0rCSAgICAkY29udGVudHMgLj0gIlxuIjsKLSsJfQotKwkkaW5saW5lX2RvY19zdGF0ZSA9IFNUQVRFX0lOTElORV9URVhUOwotKwkjIERvY3VtZW50YXRpb24gYmxvY2sgZW5kICovCi0rICAgIH0gZWxzaWYgKC8kZG9jX2lubGluZV9lbmQvKSB7Ci0rCWlmICgoJGNvbnRlbnRzIG5lICIiKSAmJiAoJGNvbnRlbnRzIG5lICJcbiIpKSB7Ci0rCSAgICBkdW1wX3NlY3Rpb24oJGZpbGUsICRzZWN0aW9uLCAkY29udGVudHMpOwotKwkgICAgJHNlY3Rpb24gPSAkc2VjdGlvbl9kZWZhdWx0OwotKwkgICAgJGNvbnRlbnRzID0gIiI7Ci0rCX0KLSsJJHN0YXRlID0gU1RBVEVfUFJPVE87Ci0rCSRpbmxpbmVfZG9jX3N0YXRlID0gU1RBVEVfSU5MSU5FX05BOwotKwkjIFJlZ3VsYXIgdGV4dAotKyAgICB9IGVsc2lmICgvJGRvY19jb250ZW50LykgewotKwlpZiAoJGlubGluZV9kb2Nfc3RhdGUgPT0gU1RBVEVfSU5MSU5FX1RFWFQpIHsKLSsJICAgICRjb250ZW50cyAuPSAkMSAuICJcbiI7Ci0rCSAgICAjIG51a2UgbGVhZGluZyBibGFuayBsaW5lcwotKwkgICAgaWYgKCRjb250ZW50cyA9fiAvXlxzKiQvKSB7Ci0rCQkkY29udGVudHMgPSAiIjsKLSsJICAgIH0KLSsJfSBlbHNpZiAoJGlubGluZV9kb2Nfc3RhdGUgPT0gU1RBVEVfSU5MSU5FX05BTUUpIHsKLSsJICAgICRpbmxpbmVfZG9jX3N0YXRlID0gU1RBVEVfSU5MSU5FX0VSUk9SOwotKwkgICAgcHJpbnQgU1RERVJSICIke2ZpbGV9OiQuOiB3YXJuaW5nOiAiOwotKwkgICAgcHJpbnQgU1RERVJSICJJbmNvcnJlY3QgdXNlIG9mIGtlcm5lbC1kb2MgZm9ybWF0OiAkXyI7Ci0rCSAgICArKyR3YXJuaW5nczsKLSsJfQotKyAgICB9Ci0rfQotKwotKwotK3N1YiBwcm9jZXNzX2ZpbGUoJCkgewotKyAgICBteSAkZmlsZTsKLSAgICAgbXkgJGluaXRpYWxfc2VjdGlvbl9jb3VudGVyID0gJHNlY3Rpb25fY291bnRlcjsKLSAgICAgbXkgKCRvcmlnX2ZpbGUpID0gQF87Ci0tICAgIG15ICRsZWFkaW5nX3NwYWNlOwotIAotICAgICAkZmlsZSA9IG1hcF9maWxlbmFtZSgkb3JpZ19maWxlKTsKLSAKLUBAIC0xODUzLDI1MCArMjE0NSwyMyBAQCBzdWIgcHJvY2Vzc19maWxlKCQpIHsKLSAJfQotIAkjIFJlcGxhY2UgdGFicyBieSBzcGFjZXMKLSAgICAgICAgIHdoaWxlICgkXyA9fiBzL1x0Ky8nICcgeCAobGVuZ3RoKCQmKSAqIDggLSBsZW5ndGgoJGApICUgOCkvZSkge307Ci0rCSMgSGFuZCB0aGlzIGxpbmUgdG8gdGhlIGFwcHJvcHJpYXRlIHN0YXRlIGhhbmRsZXIKLSAJaWYgKCRzdGF0ZSA9PSBTVEFURV9OT1JNQUwpIHsKLS0JICAgIGlmICgvJGRvY19zdGFydC9vKSB7Ci0tCQkkc3RhdGUgPSBTVEFURV9OQU1FOwkjIG5leHQgbGluZSBpcyBhbHdheXMgdGhlIGZ1bmN0aW9uIG5hbWUKLS0JCSRpbl9kb2Nfc2VjdCA9IDA7Ci0tCQkkZGVjbGFyYXRpb25fc3RhcnRfbGluZSA9ICQuICsgMTsKLS0JICAgIH0KLS0JfSBlbHNpZiAoJHN0YXRlID09IFNUQVRFX05BTUUpIHsjIHRoaXMgbGluZSBpcyB0aGUgZnVuY3Rpb24gbmFtZSAoYWx3YXlzKQotLQkgICAgaWYgKC8kZG9jX2Jsb2NrL28pIHsKLS0JCSRzdGF0ZSA9IFNUQVRFX0RPQ0JMT0NLOwotLQkJJGNvbnRlbnRzID0gIiI7Ci0tICAgICAgICAgICAgICAgICRuZXdfc3RhcnRfbGluZSA9ICQuICsgMTsKLS0KLS0JCWlmICggJDEgZXEgIiIgKSB7Ci0tCQkJJHNlY3Rpb24gPSAkc2VjdGlvbl9pbnRybzsKLS0JCX0gZWxzZSB7Ci0tCQkJJHNlY3Rpb24gPSAkMTsKLS0JCX0KLS0JICAgIH0KLS0JICAgIGVsc2lmICgvJGRvY19kZWNsL28pIHsKLS0JCSRpZGVudGlmaWVyID0gJDE7Ci0tCQlpZiAoL1xzKihbXHdcc10rPylccyotLykgewotLQkJICAgICRpZGVudGlmaWVyID0gJDE7Ci0tCQl9Ci0tCi0tCQkkc3RhdGUgPSBTVEFURV9GSUVMRDsKLS0JCSMgaWYgdGhlcmUncyBubyBAcGFyYW0gYmxvY2tzIG5lZWQgdG8gc2V0IHVwIGRlZmF1bHQgc2VjdGlvbgotLQkJIyBoZXJlCi0tCQkkY29udGVudHMgPSAiIjsKLS0JCSRzZWN0aW9uID0gJHNlY3Rpb25fZGVmYXVsdDsKLS0JCSRuZXdfc3RhcnRfbGluZSA9ICQuICsgMTsKLS0JCWlmICgvLSguKikvKSB7Ci0tCQkgICAgIyBzdHJpcCBsZWFkaW5nL3RyYWlsaW5nL211bHRpcGxlIHNwYWNlcwotLQkJICAgICRkZXNjcj0gJDE7Ci0tCQkgICAgJGRlc2NyID1+IHMvXlxzKi8vOwotLQkJICAgICRkZXNjciA9fiBzL1xzKiQvLzsKLS0JCSAgICAkZGVzY3IgPX4gcy9ccysvIC9nOwotLQkJICAgICRkZWNsYXJhdGlvbl9wdXJwb3NlID0geG1sX2VzY2FwZSgkZGVzY3IpOwotLQkJICAgICRpbl9wdXJwb3NlID0gMTsKLS0JCX0gZWxzZSB7Ci0tCQkgICAgJGRlY2xhcmF0aW9uX3B1cnBvc2UgPSAiIjsKLS0JCX0KLS0KLS0JCWlmICgoJGRlY2xhcmF0aW9uX3B1cnBvc2UgZXEgIiIpICYmICR2ZXJib3NlKSB7Ci0tCQkJcHJpbnQgU1RERVJSICIke2ZpbGV9OiQuOiB3YXJuaW5nOiBtaXNzaW5nIGluaXRpYWwgc2hvcnQgZGVzY3JpcHRpb24gb24gbGluZTpcbiI7Ci0tCQkJcHJpbnQgU1RERVJSICRfOwotLQkJCSsrJHdhcm5pbmdzOwotLQkJfQotLQotLQkJaWYgKCRpZGVudGlmaWVyID1+IG0vXnN0cnVjdC8pIHsKLS0JCSAgICAkZGVjbF90eXBlID0gJ3N0cnVjdCc7Ci0tCQl9IGVsc2lmICgkaWRlbnRpZmllciA9fiBtL151bmlvbi8pIHsKLS0JCSAgICAkZGVjbF90eXBlID0gJ3VuaW9uJzsKLS0JCX0gZWxzaWYgKCRpZGVudGlmaWVyID1+IG0vXmVudW0vKSB7Ci0tCQkgICAgJGRlY2xfdHlwZSA9ICdlbnVtJzsKLS0JCX0gZWxzaWYgKCRpZGVudGlmaWVyID1+IG0vXnR5cGVkZWYvKSB7Ci0tCQkgICAgJGRlY2xfdHlwZSA9ICd0eXBlZGVmJzsKLS0JCX0gZWxzZSB7Ci0tCQkgICAgJGRlY2xfdHlwZSA9ICdmdW5jdGlvbic7Ci0tCQl9Ci0tCi0tCQlpZiAoJHZlcmJvc2UpIHsKLS0JCSAgICBwcmludCBTVERFUlIgIiR7ZmlsZX06JC46IGluZm86IFNjYW5uaW5nIGRvYyBmb3IgJGlkZW50aWZpZXJcbiI7Ci0tCQl9Ci0tCSAgICB9IGVsc2UgewotLQkJcHJpbnQgU1RERVJSICIke2ZpbGV9OiQuOiB3YXJuaW5nOiBDYW5ub3QgdW5kZXJzdGFuZCAkXyBvbiBsaW5lICQuIiwKLS0JCSIgLSBJIHRob3VnaHQgaXQgd2FzIGEgZG9jIGxpbmVcbiI7Ci0tCQkrKyR3YXJuaW5nczsKLS0JCSRzdGF0ZSA9IFNUQVRFX05PUk1BTDsKLS0JICAgIH0KLS0JfSBlbHNpZiAoJHN0YXRlID09IFNUQVRFX0ZJRUxEKSB7CSMgbG9vayBmb3IgaGVhZDogbGluZXMsIGFuZCBpbmNsdWRlIGNvbnRlbnQKLS0JICAgIGlmICgvJGRvY19zZWN0L2kpIHsgIyBjYXNlIGluc2Vuc2l0aXZlIGZvciBzdXBwb3J0ZWQgc2VjdGlvbiBuYW1lcwotLQkJJG5ld3NlY3Rpb24gPSAkMTsKLS0JCSRuZXdjb250ZW50cyA9ICQyOwotLQotLQkJIyBtYXAgdGhlIHN1cHBvcnRlZCBzZWN0aW9uIG5hbWVzIHRvIHRoZSBjYW5vbmljYWwgbmFtZXMKLS0JCWlmICgkbmV3c2VjdGlvbiA9fiBtL15kZXNjcmlwdGlvbiQvaSkgewotLQkJICAgICRuZXdzZWN0aW9uID0gJHNlY3Rpb25fZGVmYXVsdDsKLS0JCX0gZWxzaWYgKCRuZXdzZWN0aW9uID1+IG0vXmNvbnRleHQkL2kpIHsKLS0JCSAgICAkbmV3c2VjdGlvbiA9ICRzZWN0aW9uX2NvbnRleHQ7Ci0tCQl9IGVsc2lmICgkbmV3c2VjdGlvbiA9fiBtL15yZXR1cm5zPyQvaSkgewotLQkJICAgICRuZXdzZWN0aW9uID0gJHNlY3Rpb25fcmV0dXJuOwotLQkJfSBlbHNpZiAoJG5ld3NlY3Rpb24gPX4gbS9eXEByZXR1cm4kLykgewotLQkJICAgICMgc3BlY2lhbDogQHJldHVybiBpcyBhIHNlY3Rpb24sIG5vdCBhIHBhcmFtIGRlc2NyaXB0aW9uCi0tCQkgICAgJG5ld3NlY3Rpb24gPSAkc2VjdGlvbl9yZXR1cm47Ci0tCQl9Ci0tCi0tCQlpZiAoKCRjb250ZW50cyBuZSAiIikgJiYgKCRjb250ZW50cyBuZSAiXG4iKSkgewotLQkJICAgIGlmICghJGluX2RvY19zZWN0ICYmICR2ZXJib3NlKSB7Ci0tCQkJcHJpbnQgU1RERVJSICIke2ZpbGV9OiQuOiB3YXJuaW5nOiBjb250ZW50cyBiZWZvcmUgc2VjdGlvbnNcbiI7Ci0tCQkJKyskd2FybmluZ3M7Ci0tCQkgICAgfQotLQkJICAgIGR1bXBfc2VjdGlvbigkZmlsZSwgJHNlY3Rpb24sIHhtbF9lc2NhcGUoJGNvbnRlbnRzKSk7Ci0tCQkgICAgJHNlY3Rpb24gPSAkc2VjdGlvbl9kZWZhdWx0OwotLQkJfQotLQotLQkJJGluX2RvY19zZWN0ID0gMTsKLS0JCSRpbl9wdXJwb3NlID0gMDsKLS0JCSRjb250ZW50cyA9ICRuZXdjb250ZW50czsKLS0gICAgICAgICAgICAgICAgJG5ld19zdGFydF9saW5lID0gJC47Ci0tCQl3aGlsZSAoc3Vic3RyKCRjb250ZW50cywgMCwgMSkgZXEgIiAiKSB7Ci0tCQkgICAgJGNvbnRlbnRzID0gc3Vic3RyKCRjb250ZW50cywgMSk7Ci0tCQl9Ci0tCQlpZiAoJGNvbnRlbnRzIG5lICIiKSB7Ci0tCQkgICAgJGNvbnRlbnRzIC49ICJcbiI7Ci0tCQl9Ci0tCQkkc2VjdGlvbiA9ICRuZXdzZWN0aW9uOwotLQkJJGxlYWRpbmdfc3BhY2UgPSB1bmRlZjsKLS0JICAgIH0gZWxzaWYgKC8kZG9jX2VuZC8pIHsKLS0JCWlmICgoJGNvbnRlbnRzIG5lICIiKSAmJiAoJGNvbnRlbnRzIG5lICJcbiIpKSB7Ci0tCQkgICAgZHVtcF9zZWN0aW9uKCRmaWxlLCAkc2VjdGlvbiwgeG1sX2VzY2FwZSgkY29udGVudHMpKTsKLS0JCSAgICAkc2VjdGlvbiA9ICRzZWN0aW9uX2RlZmF1bHQ7Ci0tCQkgICAgJGNvbnRlbnRzID0gIiI7Ci0tCQl9Ci0tCQkjIGxvb2sgZm9yIGRvY19jb20gKyA8dGV4dD4gKyBkb2NfZW5kOgotLQkJaWYgKCRfID1+IG0nXHMqXCpccypbYS16QS1aXzAtOTpcLl0rXCovJykgewotLQkJICAgIHByaW50IFNUREVSUiAiJHtmaWxlfTokLjogd2FybmluZzogc3VzcGljaW91cyBlbmRpbmcgbGluZTogJF8iOwotLQkJICAgICsrJHdhcm5pbmdzOwotLQkJfQotLQotLQkJJHByb3RvdHlwZSA9ICIiOwotLQkJJHN0YXRlID0gU1RBVEVfUFJPVE87Ci0tCQkkYnJjb3VudCA9IDA7Ci0tIwkJcHJpbnQgU1RERVJSICJlbmQgb2YgZG9jIGNvbW1lbnQsIGxvb2tpbmcgZm9yIHByb3RvdHlwZVxuIjsKLS0JICAgIH0gZWxzaWYgKC8kZG9jX2NvbnRlbnQvKSB7Ci0tCQkjIG1pZ3VlbC1zdHlsZSBjb21tZW50IGtsdWRnZSwgbG9vayBmb3IgYmxhbmsgbGluZXMgYWZ0ZXIKLS0JCSMgQHBhcmFtZXRlciBsaW5lIHRvIHNpZ25pZnkgc3RhcnQgb2YgZGVzY3JpcHRpb24KLS0JCWlmICgkMSBlcSAiIikgewotLQkJICAgIGlmICgkc2VjdGlvbiA9fiBtL15ALyB8fCAkc2VjdGlvbiBlcSAkc2VjdGlvbl9jb250ZXh0KSB7Ci0tCQkJZHVtcF9zZWN0aW9uKCRmaWxlLCAkc2VjdGlvbiwgeG1sX2VzY2FwZSgkY29udGVudHMpKTsKLS0JCQkkc2VjdGlvbiA9ICRzZWN0aW9uX2RlZmF1bHQ7Ci0tCQkJJGNvbnRlbnRzID0gIiI7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgJG5ld19zdGFydF9saW5lID0gJC47Ci0tCQkgICAgfSBlbHNlIHsKLS0JCQkkY29udGVudHMgLj0gIlxuIjsKLS0JCSAgICB9Ci0tCQkgICAgJGluX3B1cnBvc2UgPSAwOwotLQkJfSBlbHNpZiAoJGluX3B1cnBvc2UgPT0gMSkgewotLQkJICAgICMgQ29udGludWVkIGRlY2xhcmF0aW9uIHB1cnBvc2UKLS0JCSAgICBjaG9tcCgkZGVjbGFyYXRpb25fcHVycG9zZSk7Ci0tCQkgICAgJGRlY2xhcmF0aW9uX3B1cnBvc2UgLj0gIiAiIC4geG1sX2VzY2FwZSgkMSk7Ci0tCQkgICAgJGRlY2xhcmF0aW9uX3B1cnBvc2UgPX4gcy9ccysvIC9nOwotLQkJfSBlbHNlIHsKLS0JCSAgICBteSAkY29udCA9ICQxOwotLQkJICAgIGlmICgkc2VjdGlvbiA9fiBtL15ALyB8fCAkc2VjdGlvbiBlcSAkc2VjdGlvbl9jb250ZXh0KSB7Ci0tCQkJaWYgKCFkZWZpbmVkICRsZWFkaW5nX3NwYWNlKSB7Ci0tCQkJICAgIGlmICgkY29udCA9fiBtL14oXHMrKS8pIHsKLS0JCQkJJGxlYWRpbmdfc3BhY2UgPSAkMTsKLS0JCQkgICAgfSBlbHNlIHsKLS0JCQkJJGxlYWRpbmdfc3BhY2UgPSAiIjsKLS0JCQkgICAgfQotLQkJCX0KLS0KLS0JCQkkY29udCA9fiBzL14kbGVhZGluZ19zcGFjZS8vOwotLQkJICAgIH0KLS0JCSAgICAkY29udGVudHMgLj0gJGNvbnQgLiAiXG4iOwotLQkJfQotLQkgICAgfSBlbHNlIHsKLS0JCSMgaSBkb250IGtub3cgLSBiYWQgbGluZT8gIGlnbm9yZS4KLS0JCXByaW50IFNUREVSUiAiJHtmaWxlfTokLjogd2FybmluZzogYmFkIGxpbmU6ICRfIjsKLS0JCSsrJHdhcm5pbmdzOwotLQkgICAgfQotKwkgICAgcHJvY2Vzc19ub3JtYWwoKTsKLSsJfSBlbHNpZiAoJHN0YXRlID09IFNUQVRFX05BTUUpIHsKLSsJICAgIHByb2Nlc3NfbmFtZSgkZmlsZSwgJF8pOwotKwl9IGVsc2lmICgkc3RhdGUgPT0gU1RBVEVfQk9EWSB8fCAkc3RhdGUgPT0gU1RBVEVfQk9EWV9NQVlCRSkgewotKwkgICAgcHJvY2Vzc19ib2R5KCRmaWxlLCAkXyk7Ci0gCX0gZWxzaWYgKCRzdGF0ZSA9PSBTVEFURV9JTkxJTkUpIHsgIyBzY2FubmluZyBmb3IgaW5saW5lIHBhcmFtZXRlcnMKLS0JICAgICMgRmlyc3QgbGluZSAoc3RhdGUgMSkgbmVlZHMgdG8gYmUgYSBAcGFyYW1ldGVyCi0tCSAgICBpZiAoJGlubGluZV9kb2Nfc3RhdGUgPT0gU1RBVEVfSU5MSU5FX05BTUUgJiYgLyRkb2NfaW5saW5lX3NlY3QvbykgewotLQkJJHNlY3Rpb24gPSAkMTsKLS0JCSRjb250ZW50cyA9ICQyOwotLSAgICAgICAgICAgICAgICAkbmV3X3N0YXJ0X2xpbmUgPSAkLjsKLS0JCWlmICgkY29udGVudHMgbmUgIiIpIHsKLS0JCSAgICB3aGlsZSAoc3Vic3RyKCRjb250ZW50cywgMCwgMSkgZXEgIiAiKSB7Ci0tCQkJJGNvbnRlbnRzID0gc3Vic3RyKCRjb250ZW50cywgMSk7Ci0tCQkgICAgfQotLQkJICAgICRjb250ZW50cyAuPSAiXG4iOwotLQkJfQotLQkJJGlubGluZV9kb2Nfc3RhdGUgPSBTVEFURV9JTkxJTkVfVEVYVDsKLS0JICAgICMgRG9jdW1lbnRhdGlvbiBibG9jayBlbmQgKi8KLS0JICAgIH0gZWxzaWYgKC8kZG9jX2lubGluZV9lbmQvKSB7Ci0tCQlpZiAoKCRjb250ZW50cyBuZSAiIikgJiYgKCRjb250ZW50cyBuZSAiXG4iKSkgewotLQkJICAgIGR1bXBfc2VjdGlvbigkZmlsZSwgJHNlY3Rpb24sIHhtbF9lc2NhcGUoJGNvbnRlbnRzKSk7Ci0tCQkgICAgJHNlY3Rpb24gPSAkc2VjdGlvbl9kZWZhdWx0OwotLQkJICAgICRjb250ZW50cyA9ICIiOwotLQkJfQotLQkJJHN0YXRlID0gU1RBVEVfUFJPVE87Ci0tCQkkaW5saW5lX2RvY19zdGF0ZSA9IFNUQVRFX0lOTElORV9OQTsKLS0JICAgICMgUmVndWxhciB0ZXh0Ci0tCSAgICB9IGVsc2lmICgvJGRvY19jb250ZW50LykgewotLQkJaWYgKCRpbmxpbmVfZG9jX3N0YXRlID09IFNUQVRFX0lOTElORV9URVhUKSB7Ci0tCQkgICAgJGNvbnRlbnRzIC49ICQxIC4gIlxuIjsKLS0JCSAgICAjIG51a2UgbGVhZGluZyBibGFuayBsaW5lcwotLQkJICAgIGlmICgkY29udGVudHMgPX4gL15ccyokLykgewotLQkJCSRjb250ZW50cyA9ICIiOwotLQkJICAgIH0KLS0JCX0gZWxzaWYgKCRpbmxpbmVfZG9jX3N0YXRlID09IFNUQVRFX0lOTElORV9OQU1FKSB7Ci0tCQkgICAgJGlubGluZV9kb2Nfc3RhdGUgPSBTVEFURV9JTkxJTkVfRVJST1I7Ci0tCQkgICAgcHJpbnQgU1RERVJSICIke2ZpbGV9OiQuOiB3YXJuaW5nOiAiOwotLQkJICAgIHByaW50IFNUREVSUiAiSW5jb3JyZWN0IHVzZSBvZiBrZXJuZWwtZG9jIGZvcm1hdDogJF8iOwotLQkJICAgICsrJHdhcm5pbmdzOwotLQkJfQotLQkgICAgfQotLQl9IGVsc2lmICgkc3RhdGUgPT0gU1RBVEVfUFJPVE8pIHsJIyBzY2FubmluZyBmb3IgZnVuY3Rpb24gJ3snIChlbmQgb2YgcHJvdG90eXBlKQotLQkgICAgaWYgKC8kZG9jX2lubGluZV9vbmVsaW5lLykgewotLQkJJHNlY3Rpb24gPSAkMTsKLS0JCSRjb250ZW50cyA9ICQyOwotLQkJaWYgKCRjb250ZW50cyBuZSAiIikgewotLQkJICAgICRjb250ZW50cyAuPSAiXG4iOwotLQkJICAgIGR1bXBfc2VjdGlvbigkZmlsZSwgJHNlY3Rpb24sIHhtbF9lc2NhcGUoJGNvbnRlbnRzKSk7Ci0tCQkgICAgJHNlY3Rpb24gPSAkc2VjdGlvbl9kZWZhdWx0OwotLQkJICAgICRjb250ZW50cyA9ICIiOwotLQkJfQotLQkgICAgfSBlbHNpZiAoLyRkb2NfaW5saW5lX3N0YXJ0LykgewotLQkJJHN0YXRlID0gU1RBVEVfSU5MSU5FOwotLQkJJGlubGluZV9kb2Nfc3RhdGUgPSBTVEFURV9JTkxJTkVfTkFNRTsKLS0JICAgIH0gZWxzaWYgKCRkZWNsX3R5cGUgZXEgJ2Z1bmN0aW9uJykgewotLQkJcHJvY2Vzc19wcm90b19mdW5jdGlvbigkXywgJGZpbGUpOwotLQkgICAgfSBlbHNlIHsKLS0JCXByb2Nlc3NfcHJvdG9fdHlwZSgkXywgJGZpbGUpOwotLQkgICAgfQotKwkgICAgcHJvY2Vzc19pbmxpbmUoJGZpbGUsICRfKTsKLSsJfSBlbHNpZiAoJHN0YXRlID09IFNUQVRFX1BST1RPKSB7Ci0rCSAgICBwcm9jZXNzX3Byb3RvKCRmaWxlLCAkXyk7Ci0gCX0gZWxzaWYgKCRzdGF0ZSA9PSBTVEFURV9ET0NCTE9DSykgewotLQkJaWYgKC8kZG9jX2VuZC8pCi0tCQl7Ci0tCQkJZHVtcF9kb2Nfc2VjdGlvbigkZmlsZSwgJHNlY3Rpb24sIHhtbF9lc2NhcGUoJGNvbnRlbnRzKSk7Ci0tCQkJJHNlY3Rpb24gPSAkc2VjdGlvbl9kZWZhdWx0OwotLQkJCSRjb250ZW50cyA9ICIiOwotLQkJCSRmdW5jdGlvbiA9ICIiOwotLQkJCSVwYXJhbWV0ZXJkZXNjcyA9ICgpOwotLQkJCSVwYXJhbWV0ZXJ0eXBlcyA9ICgpOwotLQkJCUBwYXJhbWV0ZXJsaXN0ID0gKCk7Ci0tCQkJJXNlY3Rpb25zID0gKCk7Ci0tCQkJQHNlY3Rpb25saXN0ID0gKCk7Ci0tCQkJJHByb3RvdHlwZSA9ICIiOwotLQkJCSRzdGF0ZSA9IFNUQVRFX05PUk1BTDsKLS0JCX0KLS0JCWVsc2lmICgvJGRvY19jb250ZW50LykKLS0JCXsKLS0JCQlpZiAoICQxIGVxICIiICkKLS0JCQl7Ci0tCQkJCSRjb250ZW50cyAuPSAkYmxhbmtsaW5lOwotLQkJCX0KLS0JCQllbHNlCi0tCQkJewotLQkJCQkkY29udGVudHMgLj0gJDEgLiAiXG4iOwotLQkJCX0KLS0JCX0KLSsJICAgIHByb2Nlc3NfZG9jYmxvY2soJGZpbGUsICRfKTsKLSAJfQotICAgICB9Ci0rCi0rICAgICMgTWFrZSBzdXJlIHdlIGdvdCBzb21ldGhpbmcgaW50ZXJlc3RpbmcuCi0gICAgIGlmICgkaW5pdGlhbF9zZWN0aW9uX2NvdW50ZXIgPT0gJHNlY3Rpb25fY291bnRlcikgewotIAlpZiAoJG91dHB1dF9tb2RlIG5lICJub25lIikgewotIAkgICAgcHJpbnQgU1RERVJSICIke2ZpbGV9OjE6IHdhcm5pbmc6IG5vIHN0cnVjdHVyZWQgY29tbWVudHMgZm91bmRcbiI7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDA5LW11bHRpcGF0aC10b29scy1jb25maWd1cmUtaGl0YWNoaS1hbXMyMDAwLWFuZC1odXMxMDAucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAwOS1tdWx0aXBhdGgtdG9vbHMtY29uZmlndXJlLWhpdGFjaGktYW1zMjAwMC1hbmQtaHVzMTAwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyY2FlMDc1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDA5LW11bHRpcGF0aC10b29scy1jb25maWd1cmUtaGl0YWNoaS1hbXMyMDAwLWFuZC1odXMxMDAucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBYb3NlIFZhenF1ZXogUGVyZXogPHhvc2UudmF6cXVlekBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDE0IE1heSAyMDE4IDE3OjMwOjE3ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIG11bHRpcGF0aC10b29sczogY29uZmlndXJlIGhpdGFjaGkgYW1zMjAwMCBhbmQgaHVzMTAwIGFzIGZ1bGwKLSBhY3RpdmUgYXJyYXlzCi0KLUFNUzIwMDAgYW5kIEhVUzEwMCBmYW1pbGllcyBhcmUgYWN0aXZlL2FjdGl2ZSBhcnJheXMuCi0KLUJhc2VkIG9uIGh0dHBzOi8vc3VwcG9ydC5oaXRhY2hpdmFudGFyYS5jb20vZG93bmxvYWQvZXBjcmEvZGY4MTg5MTMucGRmCi1hbmQgaW50ZXJuYWwgaGl0YWNoaSBkb2NzLgotCi1DYzogTWF0dGhpYXMgUnVkb2xwaCA8TWF0dGhpYXMuUnVkb2xwaEBoaXRhY2hpdmFudGFyYS5jb20+Ci1DYzogQ2hyaXN0b3BoZSBWYXJvcXVpIDxjaHJpc3RvcGhlLnZhcm9xdWlAb3BlbnN2Yy5jb20+Ci1DYzogRE0tREVWIE1MIDxkbS1kZXZlbEByZWRoYXQuY29tPgotU2lnbmVkLW9mZi1ieTogWG9zZSBWYXpxdWV6IFBlcmV6IDx4b3NlLnZhenF1ZXpAZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotLS0tCi0gbGlibXVsdGlwYXRoL2h3dGFibGUuYyB8IDEwICsrKysrKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2h3dGFibGUuYyBiL2xpYm11bHRpcGF0aC9od3RhYmxlLmMKLWluZGV4IDJjYTY4ODguLjE0OGYwYmEgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvaHd0YWJsZS5jCi0rKysgYi9saWJtdWx0aXBhdGgvaHd0YWJsZS5jCi1AQCAtMzk4LDEzICszOTgsMTMgQEAgc3RhdGljIHN0cnVjdCBod2VudHJ5IGRlZmF1bHRfaHdbXSA9IHsKLSAJICogTWFpbCA6IG1hdHRoaWFzLnJ1ZG9scGhAaGRzLmNvbQotIAkgKi8KLSAJewotLQkJLyogVVNQLVYsIEhVUyBWTSwgVlNQLCBWU1AgRzFYMDAgYW5kIFZTUCBHWDAwIGZhbWlsaWVzICovCi0rCQkvKiBVU1AtViwgSFVTIFZNLCBWU1AsIFZTUCBHMVgwMCBhbmQgVlNQIEdYMDAgZmFtaWxpZXMgLyBIUCBYUCAqLwotIAkJLnZlbmRvciAgICAgICAgPSAiKEhJVEFDSEl8SFApIiwKLSAJCS5wcm9kdWN0ICAgICAgID0gIl5PUEVOLSIsCi0gCQkucGdwb2xpY3kgICAgICA9IE1VTFRJQlVTLAotIAl9LAotIAl7Ci0tCQkvKiBBTVMgMjAwMCBhbmQgSFVTIDEwMCBmYW1pbGllcyAqLwotKwkJLyogQU1TIG90aGVyIHRoYW4gQU1TIDIwMDAgKi8KLSAJCS52ZW5kb3IgICAgICAgID0gIkhJVEFDSEkiLAotIAkJLnByb2R1Y3QgICAgICAgPSAiXkRGIiwKLSAJCS5ub19wYXRoX3JldHJ5ID0gTk9fUEFUSF9SRVRSWV9RVUVVRSwKLUBAIC00MTIsNiArNDEyLDEyIEBAIHN0YXRpYyBzdHJ1Y3QgaHdlbnRyeSBkZWZhdWx0X2h3W10gPSB7Ci0gCQkucGdmYWlsYmFjayAgICA9IC1GQUlMQkFDS19JTU1FRElBVEUsCi0gCQkucHJpb19uYW1lICAgICA9IFBSSU9fSERTLAotIAl9LAotKwl7Ci0rCQkvKiBBTVMgMjAwMCBhbmQgSFVTIDEwMCBmYW1pbGllcyAqLwotKwkJLnZlbmRvciAgICAgICAgPSAiSElUQUNISSIsCi0rCQkucHJvZHVjdCAgICAgICA9ICJeREY2MDBGIiwKLSsJCS5wZ3BvbGljeSAgICAgID0gTVVMVElCVVMsCi0rCX0sCi0gCS8qCi0gCSAqIElCTQotIAkgKgotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAxMC1saWJtdWx0aXBhdGgtZG9uLXQtcmVqZWN0LW1hcHMtd2l0aC11bmRlZmluZWQtcHJpby5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDEwLWxpYm11bHRpcGF0aC1kb24tdC1yZWplY3QtbWFwcy13aXRoLXVuZGVmaW5lZC1wcmlvLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZGRhMmVkLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDEwLWxpYm11bHRpcGF0aC1kb24tdC1yZWplY3QtbWFwcy13aXRoLXVuZGVmaW5lZC1wcmlvLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWFydGluIFdpbGNrIDxtd2lsY2tAc3VzZS5jb20+Ci1EYXRlOiBXZWQsIDIxIE1hciAyMDE4IDEwOjM0OjE4ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIGxpYm11bHRpcGF0aDogZG9uJ3QgcmVqZWN0IG1hcHMgd2l0aCB1bmRlZmluZWQgcHJpbwotCi1saWJtdWx0aXBhdGgncyBwcmlvIHJvdXRpbmVzIGNhbiBkZWFsIHdpdGggcHAtPnByaW9yaXR5ID09IFBSSU9fVU5ERUYKLWp1c3QgZmluZS4gUFJJT19VTkRFRiBpcyBqdXN0IGEgdmVyeSBsb3cgcHJpb3JpdHkuIFNvIHRoZXJlJ3MKLW5vIHJlYXNvbiB0byByZWplY3Qgc2V0dGluZyB1cCBhIG11bHRpcGF0aCBtYXAgYmVjYXVzZSBwYXRocyBoYXZlCi11bmRlZmluZWQgcHJpb3JpdHkuCi0KLVNpZ25lZC1vZmYtYnk6IE1hcnRpbiBXaWxjayA8bXdpbGNrQHN1c2UuY29tPgotU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotLS0tCi0gbGlibXVsdGlwYXRoL2NvbmZpZ3VyZS5jIHwgNSAtLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA1IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2NvbmZpZ3VyZS5jIGIvbGlibXVsdGlwYXRoL2NvbmZpZ3VyZS5jCi1pbmRleCA1Nzk2NjgzLi41YzU0ZjliIDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL2NvbmZpZ3VyZS5jCi0rKysgYi9saWJtdWx0aXBhdGgvY29uZmlndXJlLmMKLUBAIC0xMDYzLDkgKzEwNjMsNiBAQCBpbnQgY29hbGVzY2VfcGF0aHMgKHN0cnVjdCB2ZWN0b3JzICogdmVjcywgdmVjdG9yIG5ld21wLCBjaGFyICogcmVmd3dpZCwKLSAJCQljb250aW51ZTsKLSAJCX0KLSAKLS0JCWlmIChwcDEtPnByaW9yaXR5ID09IFBSSU9fVU5ERUYpCi0tCQkJbXBwLT5hY3Rpb24gPSBBQ1RfUkVKRUNUOwotLQotIAkJaWYgKCFtcHAtPnBhdGhzKSB7Ci0gCQkJY29uZGxvZygwLCAiJXM6IHNraXAgY29hbGVzY2UgKG5vIHBhdGhzKSIsIG1wcC0+YWxpYXMpOwotIAkJCXJlbW92ZV9tYXAobXBwLCB2ZWNzLCAwKTsKLUBAIC0xMDkxLDggKzEwODgsNiBAQCBpbnQgY29hbGVzY2VfcGF0aHMgKHN0cnVjdCB2ZWN0b3JzICogdmVjcywgdmVjdG9yIG5ld21wLCBjaGFyICogcmVmd3dpZCwKLSAJCQkJCW1wcC0+c2l6ZSk7Ci0gCQkJCW1wcC0+YWN0aW9uID0gQUNUX1JFSkVDVDsKLSAJCQl9Ci0tCQkJaWYgKHBwMi0+cHJpb3JpdHkgPT0gUFJJT19VTkRFRikKLS0JCQkJbXBwLT5hY3Rpb24gPSBBQ1RfUkVKRUNUOwotIAkJfQotIAkJdmVyaWZ5X3BhdGhzKG1wcCwgdmVjcyk7Ci0gCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDExLW11bHRpcGF0aGQtaGFuZGxlLWVycm9ycy1pbi11eGxzbnItYXMtZmF0YWwucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAxMS1tdWx0aXBhdGhkLWhhbmRsZS1lcnJvcnMtaW4tdXhsc25yLWFzLWZhdGFsLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NmE4MTRmLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDExLW11bHRpcGF0aGQtaGFuZGxlLWVycm9ycy1pbi11eGxzbnItYXMtZmF0YWwucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NyArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXJ0aW4gV2lsY2sgPG13aWxja0BzdXNlLmNvbT4KLURhdGU6IFdlZCwgMjEgTWFyIDIwMTggMTA6MzQ6MTkgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gbXVsdGlwYXRoZDogaGFuZGxlIGVycm9ycyBpbiB1eGxzbnIgYXMgZmF0YWwKLQotVGhlIHBwb2xsKCkgY2FsbHMgb2YgdGhlIHV4bHNuciB0aHJlYWQgYXJlIHZpdGFsIGZvciBwcm9wZXIgZnVuY3Rpb25pbmcgb2YKLW11bHRpcGF0aGQuIElmIHRoZSB1eGxzbnIgdGhyZWFkIGNhbid0IG9wZW4gdGhlIHNvY2tldCBvciBmYWlscyB0byBjYWxsIHBwb2xsKCkKLWZvciBvdGhlciByZWFzb25zLCBxdWl0IHRoZSBkYWVtb24uIElmIHdlIGRvbid0IGRvIHRoYXQsIG11bHRpcGF0aGQgbWF5Ci1oYW5nIGluIGEgc3RhdGUgd2hlcmUgaXQgY2FuJ3QgYmUgdGVybWluYXRlZCBhbnkgbW9yZSwgYmVjYXVzZSB0aGUgdXhsc25yCi10aHJlYWQgaXMgcmVzcG9uc2libGUgZm9yIGhhbmRsaW5nIGFsbCBzaWduYWxzLiBUaGlzIGhhcHBlbnMgZS5nLiBpZgotc3lzdGVtZCdzIG11bHRpcGF0aGQuc29ja2V0IGlzIHJ1bm5pbmcgaW4gYW5kIG11bHRpcGF0aGQgaXMgc3RhcnRlZCBmcm9tCi1vdXRzaWRlIHN5c3RlbWQuCi0KLTI0ZjI4NDQgIm11bHRpcGF0aGQ6IGZpeCBzaWduYWwgYmxvY2tpbmcgbG9naWMiIGhhcyBtYWRlIHRoaXMgcHJvYmxlbSBtb3JlCi1zZXZlcmUuIEJlZm9yZSB0aGF0IHBhdGNoLCB0aGUgc2lnbmFscyB3ZXJlbid0IGFjdHVhbGx5IGJsb2NrZWQgaW4gYW55IHRocmVhZC4KLVRoYXQncyBub3QgdG8gc2F5IDI0ZjI4NDQgd2FzIHdyb25nLiBJIHN0aWxsIHRoaW5rIGl0J3MgY29ycmVjdCwgd2UganVzdAotbmVlZCB0aGlzIG9uZSBvbiB0b3AuCi0KLVNpZ25lZC1vZmYtYnk6IE1hcnRpbiBXaWxjayA8bXdpbGNrQHN1c2UuY29tPgotU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotLS0tCi0gbXVsdGlwYXRoZC91eGxzbnIuYyB8IDUgKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbXVsdGlwYXRoZC91eGxzbnIuYyBiL211bHRpcGF0aGQvdXhsc25yLmMKLWluZGV4IGNkYWZkODIuLjZmNjY2NjYgMTAwNjQ0Ci0tLS0gYS9tdWx0aXBhdGhkL3V4bHNuci5jCi0rKysgYi9tdWx0aXBhdGhkL3V4bHNuci5jCi1AQCAtMTc4LDcgKzE3OCw3IEBAIHZvaWQgKiB1eHNvY2tfbGlzdGVuKHV4c29ja190cmlnZ2VyX2ZuIHV4c29ja190cmlnZ2VyLCB2b2lkICogdHJpZ2dlcl9kYXRhKQotIAotIAlpZiAodXhfc29jayA9PSAtMSkgewotIAkJY29uZGxvZygxLCAiY291bGQgbm90IGNyZWF0ZSB1eHNvY2s6ICVkIiwgZXJybm8pOwotLQkJcmV0dXJuIE5VTEw7Ci0rCQlleGl0X2RhZW1vbigpOwotIAl9Ci0gCi0gCXB0aHJlYWRfY2xlYW51cF9wdXNoKHV4c29ja19jbGVhbnVwLCAodm9pZCAqKXV4X3NvY2spOwotQEAgLTE4Nyw3ICsxODcsNyBAQCB2b2lkICogdXhzb2NrX2xpc3Rlbih1eHNvY2tfdHJpZ2dlcl9mbiB1eHNvY2tfdHJpZ2dlciwgdm9pZCAqIHRyaWdnZXJfZGF0YSkKLSAJcG9sbHMgPSAoc3RydWN0IHBvbGxmZCAqKU1BTExPQygoTUlOX1BPTExTICsgMSkgKiBzaXplb2Yoc3RydWN0IHBvbGxmZCkpOwotIAlpZiAoIXBvbGxzKSB7Ci0gCQljb25kbG9nKDAsICJ1eHNvY2s6IGZhaWxlZCB0byBhbGxvY2F0ZSBwb2xsIGZkcyIpOwotLQkJcmV0dXJuIE5VTEw7Ci0rCQlleGl0X2RhZW1vbigpOwotIAl9Ci0gCXNpZ2ZpbGxzZXQoJm1hc2spOwotIAlzaWdkZWxzZXQoJm1hc2ssIFNJR0lOVCk7Ci1AQCAtMjQ5LDYgKzI0OSw3IEBAIHZvaWQgKiB1eHNvY2tfbGlzdGVuKHV4c29ja190cmlnZ2VyX2ZuIHV4c29ja190cmlnZ2VyLCB2b2lkICogdHJpZ2dlcl9kYXRhKQotIAotIAkJCS8qIHNvbWV0aGluZyB3ZW50IGJhZGx5IHdyb25nISAqLwotIAkJCWNvbmRsb2coMCwgInV4c29jazogcG9sbCBmYWlsZWQgd2l0aCAlZCIsIGVycm5vKTsKLSsJCQlleGl0X2RhZW1vbigpOwotIAkJCWJyZWFrOwotIAkJfQotIAotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAxMi1saWJtdWx0aXBhdGgtZml4LWVycm9yLXBhcnNpbmctZmluZF9tdWx0aXBhdGhzLXN0cmljLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTItbGlibXVsdGlwYXRoLWZpeC1lcnJvci1wYXJzaW5nLWZpbmRfbXVsdGlwYXRocy1zdHJpYy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGNlMjQzMS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAxMi1saWJtdWx0aXBhdGgtZml4LWVycm9yLXBhcnNpbmctZmluZF9tdWx0aXBhdGhzLXN0cmljLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWFydGluIFdpbGNrIDxtd2lsY2tAc3VzZS5jb20+Ci1EYXRlOiBUdWUsIDE1IE1heSAyMDE4IDE0OjMyOjQ0ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIGxpYm11bHRpcGF0aDogZml4IGVycm9yIHBhcnNpbmcgImZpbmRfbXVsdGlwYXRocyBzdHJpY3QiCi0KLUlmICJmaW5kX211bHRpcGF0aHMgc3RyaWN0IiBpcyBzZXQgaW4gbXVsdGlwYXRoLmNvbmYsIHRoZSBlcnJvciBtZXNzYWdlCi0iaWxsZWdhbCB2YWx1ZSBmb3IgZmluZF9tdWx0aXBhdGhzOiBzdHJpY3QiIGlzIHByaW50ZWQuIFRoaXMgY2F1c2VzIG5vCi1mdW5jdGlvbmFsIHByb2JsZW0sIGFzICJzdHJpY3QiIGhhcHBlbnMgdG8gYmUgdGhlIGRlZmF1bHQsIGZhbGxiYWNrCi12YWx1ZS4gSXQgc2hvdWxkIGJlIGZpeGVkIG5vbmV0aGVsZXNzLiBGSU5EX01VTFRJUEFUSFNfU1RSSUNULCBoYXZpbmcKLXRoZSBoaWdoZXN0IG51bWVyaWMgdmFsdWUsIG11c3QgYmUgbGFzdCBpbiB0aGUgZW51bS4KLQotRml4ZXM6IGMzNmYyZjQyICJsaWJtdWx0aXBhdGg6IGNoYW5nZSBmaW5kX211bHRpcGF0aHMgb3B0aW9uIHRvIG11bHRpLXZhbHVlIgotU2lnbmVkLW9mZi1ieTogTWFydGluIFdpbGNrIDxtd2lsY2tAc3VzZS5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci0tLS0KLSBsaWJtdWx0aXBhdGgvc3RydWN0cy5oIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL3N0cnVjdHMuaCBiL2xpYm11bHRpcGF0aC9zdHJ1Y3RzLmgKLWluZGV4IGViNmExNzguLmU0MjRiMTUgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvc3RydWN0cy5oCi0rKysgYi9saWJtdWx0aXBhdGgvc3RydWN0cy5oCi1AQCAtMTIyLDkgKzEyMiw5IEBAIGVudW0gZmluZF9tdWx0aXBhdGhzX3N0YXRlcyB7Ci0gCUZJTkRfTVVMVElQQVRIU19VTkRFRiA9IFlOVV9VTkRFRiwKLSAJRklORF9NVUxUSVBBVEhTX09GRiA9IFlOVV9OTywKLSAJRklORF9NVUxUSVBBVEhTX09OID0gX0ZJTkRfTVVMVElQQVRIU19GLAotLQlGSU5EX01VTFRJUEFUSFNfU1RSSUNUID0gX0ZJTkRfTVVMVElQQVRIU19GfF9GSU5EX01VTFRJUEFUSFNfTiwKLSAJRklORF9NVUxUSVBBVEhTX0dSRUVEWSA9IF9GSU5EX01VTFRJUEFUSFNfSSwKLSAJRklORF9NVUxUSVBBVEhTX1NNQVJUID0gX0ZJTkRfTVVMVElQQVRIU19GfF9GSU5EX01VTFRJUEFUSFNfSSwKLSsJRklORF9NVUxUSVBBVEhTX1NUUklDVCA9IF9GSU5EX01VTFRJUEFUSFNfRnxfRklORF9NVUxUSVBBVEhTX04sCi0gCV9fRklORF9NVUxUSVBBVEhTX0xBU1QsCi0gfTsKLSAKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTMtbGlibXVsdGlwYXRoLXByaW50LWNvcnJlY3QtZGVmYXVsdC1mb3ItZGVsYXlfLV9jaGVjay5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDEzLWxpYm11bHRpcGF0aC1wcmludC1jb3JyZWN0LWRlZmF1bHQtZm9yLWRlbGF5Xy1fY2hlY2sucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM3Njc4MDQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTMtbGlibXVsdGlwYXRoLXByaW50LWNvcnJlY3QtZGVmYXVsdC1mb3ItZGVsYXlfLV9jaGVjay5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLURhdGU6IE1vbiwgNyBNYXkgMjAxOCAxNzoxNjowNSAtMDUwMAotU3ViamVjdDogW1BBVENIXSBsaWJtdWx0aXBhdGg6IHByaW50IGNvcnJlY3QgZGVmYXVsdCBmb3IgZGVsYXlfKl9jaGVja3MKLQotVGhlc2Ugb3B0aW9ucyBkZWZhdWx0IHRvICJubyIsIHNvIHRoZXkgc2hvdWxkIGRpc3BsYXkgdGhhdCB3aGVuIHRoZQotY29uZmlnIGlzIHByaW50ZWQuCi0KLVNpZ25lZC1vZmYtYnk6IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLS0tLQotIGxpYm11bHRpcGF0aC9kaWN0LmMgfCA2ICsrKystLQotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvZGljdC5jIGIvbGlibXVsdGlwYXRoL2RpY3QuYwotaW5kZXggNDA0MDYxMS4uM2U3YzVkNiAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9kaWN0LmMKLSsrKyBiL2xpYm11bHRpcGF0aC9kaWN0LmMKLUBAIC0xMTE1LDcgKzExMTUsOCBAQCBwcmludF9vZmZfaW50X3VuZGVmKGNoYXIgKiBidWZmLCBpbnQgbGVuLCBsb25nIHYpCi0gfQotIAotIGRlY2xhcmVfZGVmX2hhbmRsZXIoZGVsYXlfd2F0Y2hfY2hlY2tzLCBzZXRfb2ZmX2ludF91bmRlZikKLS1kZWNsYXJlX2RlZl9zbnByaW50KGRlbGF5X3dhdGNoX2NoZWNrcywgcHJpbnRfb2ZmX2ludF91bmRlZikKLStkZWNsYXJlX2RlZl9zbnByaW50X2RlZmludChkZWxheV93YXRjaF9jaGVja3MsIHByaW50X29mZl9pbnRfdW5kZWYsCi0rCQkJICAgREVGQVVMVF9ERUxBWV9DSEVDS1MpCi0gZGVjbGFyZV9vdnJfaGFuZGxlcihkZWxheV93YXRjaF9jaGVja3MsIHNldF9vZmZfaW50X3VuZGVmKQotIGRlY2xhcmVfb3ZyX3NucHJpbnQoZGVsYXlfd2F0Y2hfY2hlY2tzLCBwcmludF9vZmZfaW50X3VuZGVmKQotIGRlY2xhcmVfaHdfaGFuZGxlcihkZWxheV93YXRjaF9jaGVja3MsIHNldF9vZmZfaW50X3VuZGVmKQotQEAgLTExMjMsNyArMTEyNCw4IEBAIGRlY2xhcmVfaHdfc25wcmludChkZWxheV93YXRjaF9jaGVja3MsIHByaW50X29mZl9pbnRfdW5kZWYpCi0gZGVjbGFyZV9tcF9oYW5kbGVyKGRlbGF5X3dhdGNoX2NoZWNrcywgc2V0X29mZl9pbnRfdW5kZWYpCi0gZGVjbGFyZV9tcF9zbnByaW50KGRlbGF5X3dhdGNoX2NoZWNrcywgcHJpbnRfb2ZmX2ludF91bmRlZikKLSBkZWNsYXJlX2RlZl9oYW5kbGVyKGRlbGF5X3dhaXRfY2hlY2tzLCBzZXRfb2ZmX2ludF91bmRlZikKLS1kZWNsYXJlX2RlZl9zbnByaW50KGRlbGF5X3dhaXRfY2hlY2tzLCBwcmludF9vZmZfaW50X3VuZGVmKQotK2RlY2xhcmVfZGVmX3NucHJpbnRfZGVmaW50KGRlbGF5X3dhaXRfY2hlY2tzLCBwcmludF9vZmZfaW50X3VuZGVmLAotKwkJCSAgIERFRkFVTFRfREVMQVlfQ0hFQ0tTKQotIGRlY2xhcmVfb3ZyX2hhbmRsZXIoZGVsYXlfd2FpdF9jaGVja3MsIHNldF9vZmZfaW50X3VuZGVmKQotIGRlY2xhcmVfb3ZyX3NucHJpbnQoZGVsYXlfd2FpdF9jaGVja3MsIHByaW50X29mZl9pbnRfdW5kZWYpCi0gZGVjbGFyZV9od19oYW5kbGVyKGRlbGF5X3dhaXRfY2hlY2tzLCBzZXRfb2ZmX2ludF91bmRlZikKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTQtbXVsdGlwYXRoLmNvbmYuNS1jbGFyaWZ5LXByb3BlcnR5LXdoaXRlbGlzdC1oYW5kbGluZy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDE0LW11bHRpcGF0aC5jb25mLjUtY2xhcmlmeS1wcm9wZXJ0eS13aGl0ZWxpc3QtaGFuZGxpbmcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBhYjRlMDYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTQtbXVsdGlwYXRoLmNvbmYuNS1jbGFyaWZ5LXByb3BlcnR5LXdoaXRlbGlzdC1oYW5kbGluZy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLURhdGU6IFdlZCwgOSBNYXkgMjAxOCAxNDozMjo1OSAtMDUwMAotU3ViamVjdDogW1BBVENIXSBtdWx0aXBhdGguY29uZi41OiBjbGFyaWZ5IHByb3BlcnR5IHdoaXRlbGlzdCBoYW5kbGluZwotCi1TaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci0tLS0KLSBtdWx0aXBhdGgvbXVsdGlwYXRoLmNvbmYuNSB8IDcgKysrLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9tdWx0aXBhdGgvbXVsdGlwYXRoLmNvbmYuNSBiL211bHRpcGF0aC9tdWx0aXBhdGguY29uZi41Ci1pbmRleCBmNjg5Nzk1Li45NmQxYjY2IDEwMDY0NAotLS0tIGEvbXVsdGlwYXRoL211bHRpcGF0aC5jb25mLjUKLSsrKyBiL211bHRpcGF0aC9tdWx0aXBhdGguY29uZi41Ci1AQCAtMTE4MSwxMCArMTE4MSw5IEBAIGFuZAotIGtleXdvcmRzLiBGb3IgYSBmdWxsIGRlc2NyaXB0aW9uIG9mIHRoZXNlIGtleXdvcmRzIHBsZWFzZSBzZWUgdGhlIFxmSWRldmljZXNcZlIKLSBzZWN0aW9uIGRlc2NyaXB0aW9uLgotIC5MUAotLVRoZSBcZklwcm9wZXJ0eVxmUiBibGFja2xpc3QgYW5kIHdoaXRlbGlzdCBoYW5kbGluZyBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgdXN1YWwKLS1oYW5kbGluZyBpbiB0aGUgc2Vuc2UgdGhhdCB0aGUgd2hpdGVsaXN0IFxmSWhhc1xmUiB0byBiZSBzZXQsIG90aGVyd2lzZSB0aGUKLS1kZXZpY2Ugd2lsbCBiZSBibGFja2xpc3RlZC4gSW4gdGhlc2UgY2FzZXMgdGhlIG1lc3NhZ2UgXGZJYmxhY2tsaXN0ZWQsIHVkZXYKLS1wcm9wZXJ0eSBtaXNzaW5nXGZSIHdpbGwgYmUgZGlzcGxheWVkLgotK1RoZSBcZklwcm9wZXJ0eVxmUiB3aGl0ZWxpc3QgaGFuZGxpbmcgaXMgZGlmZmVyZW50IGZyb20gdGhlIHVzdWFsCi0raGFuZGxpbmcgaW4gdGhlIHNlbnNlIHRoYXQgdGhlIGRldmljZSBcZkloYXNcZlIgdG8gaGF2ZSBhIHVkZXYgcHJvcGVydHkgdGhhdAotK21hdGNoZXMgdGhlIHdoaXRlbGlzdCwgb3RoZXJ3aXNlIHRoZSBkZXZpY2Ugd2lsbCBiZSBibGFja2xpc3RlZC4gSW4gdGhlc2UgY2FzZXMgdGhlIG1lc3NhZ2UgXGZJYmxhY2tsaXN0ZWQsIHVkZXYgcHJvcGVydHkgbWlzc2luZ1xmUiB3aWxsIGJlIGRpc3BsYXllZC4KLSAuCi0gLgotIC5cIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDE1LW1wYXRocGVyc2lzdC1hZGQtYWxsX3RnX3B0LW9wdGlvbi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDE1LW1wYXRocGVyc2lzdC1hZGQtYWxsX3RnX3B0LW9wdGlvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmUyNjgxZC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAxNS1tcGF0aHBlcnNpc3QtYWRkLWFsbF90Z19wdC1vcHRpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMTcgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotRGF0ZTogVGh1LCAzMSBNYXkgMjAxOCAxNzo0NzoxMSAtMDUwMAotU3ViamVjdDogW1BBVENIXSBtcGF0aHBlcnNpc3Q6IGFkZCBhbGxfdGdfcHQgb3B0aW9uCi0KLVNvbWUgYXJyYXlzLCBzdWNoIGFzIHRoZSBFTUMgVk5YLCBkb24ndCBmb2xsb3cgdGhlIHNjc2kgcGVyc2lzdGVudAotcmVzZXJ2YXRpb25zIHNwZWMgaW4gbWFraW5nIGtleSByZWdpc3RyYXRpb25zIHBlciBJX1QgTkVYVVMuIEluc3RlYWQsCi10aGUgcmVnaXN0cmF0aW9uIGlzIHNoYXJlZCBieSBhbGwgdGFyZ2V0IHBvcnRzIGNvbm5lY3RlZCB0byBhIGdpdmVuCi1ob3N0LiAgVGhpcyBjYXVzZXMgbXBhdGhwZXJzaXN0IHRvIGZhaWwgd2hlbmV2ZXIgaXQgdHJpZXMgdG8gcmVnaXN0ZXIgYQota2V5LCBzaW5jZSBpdCB3aWxsIHJlY2VpdmUgYSByZWdpc3RyYXRpb24gY29uZmxpY3Qgb24gc29tZSBvZiB0aGUgcGF0aHMuCi0KLVRvIGRlYWwgd2l0aCB0aGlzLCBtcGF0aHBlcnNpc3QgbmVlZHMgdG8gdHJhY2sgdGhlIGhvc3RzIHRoYXQgaXQgaGFzCi1kb25lIGEgcmVnaXN0cmF0aW9uIG9uLCBhbmQgb25seSByZWdpc3RlciBvbmNlIHBlciBob3N0LiBUaGUgbmV3Ci0iYWxsX3RnX3B0IiBtdWx0aXBhdGguY29uZiBvcHRpb24gaXMgdXNlZCB0byBzZXQgd2hpY2ggYXJyYXlzIG5lZWQgdGhpcwotZmVhdHVyZS4gIEkgY3VycmVudGx5IGRvbid0IGtub3cgaWYgYWxsIEVNQyBWTlggYXJyYXlzIGhhbmRsZSBwZXJzaXN0ZW50Ci1yZXNlcnZhdGlvbnMgbGlrZSB0aGlzLCBvciBpZiBpdCBpcyBjb25maWd1cmFibGUuIEEgZnV0dXJlIHBhdGNoIHdpbGwKLXVwZGF0ZSB0aGUgVk5YIGJ1aWx0LWluIGNvbmZpZywgaWYgdGhpcyBpcyBpbmRlZWQgdGhlaXIgZGVmYXVsdCAob3IKLW9ubHkpIHNldHRpbmcuCi0KLU11bHRpcGF0aGQgZG9lc24ndCBuZWVkIHRvIHdvcnJ5IGFib3V0IHRoaXMuIEl0IGlzIG9mdGVuIHRoZSBjYXNlIHRoYXQKLXdoZW4gYSBwYXRoIGRldmljZSBjb21lcyBiYWNrLCBpdCB3aWxsIHN0aWxsIGhhdmUgdGhlIGtleXMgcmVnaXN0ZXJlZCB0bwotaXQuIEJlY2F1c2Ugb2YgdGhpcywgbXVsdGlwYXRoZCB1c2VzIHJlZ2lzdGVyLWFuZC1pZ25vcmUsIHdoaWNoIG1lYW5zCi10aGF0IGl0IHdvbid0IGNhdXNlIGFuIGVycm9yIGlmIHRoZSByZWdpc3RyYXRpb24gaGFzIGFscmVhZHkgaGFwcGVuZWQKLWRvd24gYSBkaWZmZXJlbnQgdGFyZ2V0IHBvcnQuCi0KLVNpZ25lZC1vZmYtYnk6IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLS0tLQotIGxpYm1wYXRocGVyc2lzdC9tcGF0aF9wZXJzaXN0LmMgfCAyOCArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCi0gbGlibXVsdGlwYXRoL2NvbmZpZy5jICAgICAgICAgICB8ICAyICsrCi0gbGlibXVsdGlwYXRoL2NvbmZpZy5oICAgICAgICAgICB8ICAyICsrCi0gbGlibXVsdGlwYXRoL2RlZmF1bHRzLmggICAgICAgICB8ICAxICsKLSBsaWJtdWx0aXBhdGgvZGljdC5jICAgICAgICAgICAgIHwgMTAgKysrKysrKysrKwotIGxpYm11bHRpcGF0aC9wcm9wc2VsLmMgICAgICAgICAgfCAxNSArKysrKysrKysrKysrKysKLSBsaWJtdWx0aXBhdGgvcHJvcHNlbC5oICAgICAgICAgIHwgIDEgKwotIGxpYm11bHRpcGF0aC9zdHJ1Y3RzLmggICAgICAgICAgfCAgNyArKysrKysrCi0gbXVsdGlwYXRoL211bHRpcGF0aC5jb25mLjUgICAgICB8IDExICsrKysrKysrKysrCi0gOSBmaWxlcyBjaGFuZ2VkLCA3MSBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbGlibXBhdGhwZXJzaXN0L21wYXRoX3BlcnNpc3QuYyBiL2xpYm1wYXRocGVyc2lzdC9tcGF0aF9wZXJzaXN0LmMKLWluZGV4IDkwN2ExN2MuLmNhOTFjNTUgMTAwNjQ0Ci0tLS0gYS9saWJtcGF0aHBlcnNpc3QvbXBhdGhfcGVyc2lzdC5jCi0rKysgYi9saWJtcGF0aHBlcnNpc3QvbXBhdGhfcGVyc2lzdC5jCi1AQCAtMzM1LDYgKzMzNSw3IEBAIGludCBtcGF0aF9wZXJzaXN0ZW50X3Jlc2VydmVfb3V0ICggaW50IGZkLCBpbnQgcnFfc2VydmFjdCwgaW50IHJxX3Njb3BlLAotIAotIAljb25mID0gZ2V0X211bHRpcGF0aF9jb25maWcoKTsKLSAJc2VsZWN0X3Jlc2VydmF0aW9uX2tleShjb25mLCBtcHApOwotKwlzZWxlY3RfYWxsX3RnX3B0KGNvbmYsIG1wcCk7Ci0gCXB1dF9tdWx0aXBhdGhfY29uZmlnKGNvbmYpOwotIAotIAltZW1jcHkoJnBya2V5LCBwYXJhbXAtPnNhX2tleSwgOCk7Ci1AQCAtNDU2LDcgKzQ1Nyw3IEBAIGludCBtcGF0aF9wcm91dF9yZWcoc3RydWN0IG11bHRpcGF0aCAqbXBwLGludCBycV9zZXJ2YWN0LCBpbnQgcnFfc2NvcGUsCi0gCXVuc2lnbmVkIGludCBycV90eXBlLCBzdHJ1Y3QgcHJvdXRfcGFyYW1fZGVzY3JpcHRvciAqIHBhcmFtcCwgaW50IG5vaXN5KQotIHsKLSAKLS0JaW50IGksIGo7Ci0rCWludCBpLCBqLCBrOwotIAlzdHJ1Y3QgcGF0aGdyb3VwICpwZ3AgPSBOVUxMOwotIAlzdHJ1Y3QgcGF0aCAqcHAgPSBOVUxMOwotIAlpbnQgcm9sbGJhY2sgPSAwOwotQEAgLTQ4MSwxMSArNDgyLDEzIEBAIGludCBtcGF0aF9wcm91dF9yZWcoc3RydWN0IG11bHRpcGF0aCAqbXBwLGludCBycV9zZXJ2YWN0LCBpbnQgcnFfc2NvcGUsCi0gCX0KLSAKLSAJc3RydWN0IHRocmVhZGluZm8gdGhyZWFkW2FjdGl2ZV9wYXRoY291bnRdOwotKwlpbnQgaG9zdHNbYWN0aXZlX3BhdGhjb3VudF07Ci0gCi0gCW1lbXNldCh0aHJlYWQsIDAsIHNpemVvZih0aHJlYWQpKTsKLSAKLSAJLyogaW5pdCB0aHJlYWQgcGFyYW1ldGVyICovCi0gCWZvciAoaSA9MDsgaTwgYWN0aXZlX3BhdGhjb3VudDsgaSsrKXsKLSsJCWhvc3RzW2ldID0gLTE7Ci0gCQl0aHJlYWRbaV0ucGFyYW0ucnFfc2VydmFjdCA9IHJxX3NlcnZhY3Q7Ci0gCQl0aHJlYWRbaV0ucGFyYW0ucnFfc2NvcGUgPSBycV9zY29wZTsKLSAJCXRocmVhZFtpXS5wYXJhbS5ycV90eXBlID0gcnFfdHlwZTsKLUBAIC01MTQsNiArNTE3LDE3IEBAIGludCBtcGF0aF9wcm91dF9yZWcoc3RydWN0IG11bHRpcGF0aCAqbXBwLGludCBycV9zZXJ2YWN0LCBpbnQgcnFfc2NvcGUsCi0gCQkJCWNvbmRsb2cgKDEsICIlczogJXMgcGF0aCBub3QgdXAuIFNraXAuIiwgbXBwLT53d2lkLCBwcC0+ZGV2KTsKLSAJCQkJY29udGludWU7Ci0gCQkJfQotKwkJCWlmIChtcHAtPmFsbF90Z19wdCA9PSBBTExfVEdfUFRfT04gJiYKLSsJCQkgICAgcHAtPnNnX2lkLmhvc3Rfbm8gIT0gLTEpIHsKLSsJCQkJZm9yIChrID0gMDsgayA8IGNvdW50OyBrKyspIHsKLSsJCQkJCWlmIChwcC0+c2dfaWQuaG9zdF9ubyA9PSBob3N0c1trXSkgewotKwkJCQkJCWNvbmRsb2coMywgIiVzOiAlcyBob3N0ICVkIG1hdGNoZXMgc2tpcC4iLCBwcC0+d3dpZCwgcHAtPmRldiwgcHAtPnNnX2lkLmhvc3Rfbm8pOwotKwkJCQkJCWJyZWFrOwotKwkJCQkJfQotKwkJCQl9Ci0rCQkJCWlmIChrIDwgY291bnQpCi0rCQkJCQljb250aW51ZTsKLSsJCQl9Ci0gCQkJc3RybmNweSh0aHJlYWRbY291bnRdLnBhcmFtLmRldiwgcHAtPmRldiwKLSAJCQkJRklMRV9OQU1FX1NJWkUgLSAxKTsKLSAKLUBAIC01MzEsMTAgKzU0NSwxMiBAQCBpbnQgbXBhdGhfcHJvdXRfcmVnKHN0cnVjdCBtdWx0aXBhdGggKm1wcCxpbnQgcnFfc2VydmFjdCwgaW50IHJxX3Njb3BlLAotIAkJCQljb25kbG9nICgwLCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgdGhyZWFkICVkIiwgbXBwLT53d2lkLCByYyk7Ci0gCQkJCXRocmVhZFtjb3VudF0ucGFyYW0uc3RhdHVzID0gTVBBVEhfUFJfVEhSRUFEX0VSUk9SOwotIAkJCX0KLSsJCQllbHNlCi0rCQkJCWhvc3RzW2NvdW50XSA9IHBwLT5zZ19pZC5ob3N0X25vOwotIAkJCWNvdW50ID0gY291bnQgKyAxOwotIAkJfQotIAl9Ci0tCWZvciggaT0wOyBpIDwgYWN0aXZlX3BhdGhjb3VudCA7IGkrKyl7Ci0rCWZvciggaT0wOyBpIDwgY291bnQgOyBpKyspewotIAkJaWYgKHRocmVhZFtpXS5wYXJhbS5zdGF0dXMgIT0gTVBBVEhfUFJfVEhSRUFEX0VSUk9SKSB7Ci0gCQkJcmMgPSBwdGhyZWFkX2pvaW4odGhyZWFkW2ldLmlkLCBOVUxMKTsKLSAJCQlpZiAocmMpewotQEAgLTU1Nyw3ICs1NzMsNyBAQCBpbnQgbXBhdGhfcHJvdXRfcmVnKHN0cnVjdCBtdWx0aXBhdGggKm1wcCxpbnQgcnFfc2VydmFjdCwgaW50IHJxX3Njb3BlLAotIAl9Ci0gCWlmIChyb2xsYmFjayAmJiAoKHJxX3NlcnZhY3QgPT0gTVBBVEhfUFJPVVRfUkVHX1NBKSAmJiBzYV9rZXkgIT0gMCApKXsKLSAJCWNvbmRsb2cgKDMsICIlczogRVJST1I6IGluaXRpYXRpbmcgcHIgb3V0IHJvbGxiYWNrIiwgbXBwLT53d2lkKTsKLS0JCWZvciggaT0wIDsgaSA8IGFjdGl2ZV9wYXRoY291bnQgOyBpKyspewotKwkJZm9yKCBpPTAgOyBpIDwgY291bnQgOyBpKyspewotIAkJCWlmKHRocmVhZFtpXS5wYXJhbS5zdGF0dXMgPT0gTVBBVEhfUFJfU1VDQ0VTUykgewotIAkJCQltZW1jcHkoJnRocmVhZFtpXS5wYXJhbS5wYXJhbXAtPmtleSwgJnRocmVhZFtpXS5wYXJhbS5wYXJhbXAtPnNhX2tleSwgOCk7Ci0gCQkJCW1lbXNldCgmdGhyZWFkW2ldLnBhcmFtLnBhcmFtcC0+c2Ffa2V5LCAwLCA4KTsKLUBAIC01NzEsNyArNTg3LDcgQEAgaW50IG1wYXRoX3Byb3V0X3JlZyhzdHJ1Y3QgbXVsdGlwYXRoICptcHAsaW50IHJxX3NlcnZhY3QsIGludCBycV9zY29wZSwKLSAJCQl9IGVsc2UKLSAJCQkJdGhyZWFkW2ldLnBhcmFtLnN0YXR1cyA9IE1QQVRIX1BSX1NLSVA7Ci0gCQl9Ci0tCQlmb3IoaT0wOyBpIDwgYWN0aXZlX3BhdGhjb3VudCA7IGkrKyl7Ci0rCQlmb3IoaT0wOyBpIDwgY291bnQgOyBpKyspewotIAkJCWlmICh0aHJlYWRbaV0ucGFyYW0uc3RhdHVzICE9IE1QQVRIX1BSX1NLSVAgJiYKLSAJCQkgICAgdGhyZWFkW2ldLnBhcmFtLnN0YXR1cyAhPSBNUEFUSF9QUl9USFJFQURfRVJST1IpIHsKLSAJCQkJcmMgPSBwdGhyZWFkX2pvaW4odGhyZWFkW2ldLmlkLCBOVUxMKTsKLUBAIC03MjAsNyArNzM2LDcgQEAgaW50IG1wYXRoX3Byb3V0X3JlbChzdHJ1Y3QgbXVsdGlwYXRoICptcHAsaW50IHJxX3NlcnZhY3QsIGludCBycV9zY29wZSwKLSAJCX0KLSAJfQotIAlwdGhyZWFkX2F0dHJfZGVzdHJveSAoJmF0dHIpOwotLQlmb3IgKGkgPSAwOyBpIDwgYWN0aXZlX3BhdGhjb3VudDsgaSsrKXsKLSsJZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKyspewotIAkJaWYgKHRocmVhZFtpXS5wYXJhbS5zdGF0dXMgIT0gTVBBVEhfUFJfVEhSRUFEX0VSUk9SKSB7Ci0gCQkJcmMgPSBwdGhyZWFkX2pvaW4gKHRocmVhZFtpXS5pZCwgTlVMTCk7Ci0gCQkJaWYgKHJjKXsKLUBAIC03MjksNyArNzQ1LDcgQEAgaW50IG1wYXRoX3Byb3V0X3JlbChzdHJ1Y3QgbXVsdGlwYXRoICptcHAsaW50IHJxX3NlcnZhY3QsIGludCBycV9zY29wZSwKLSAJCX0KLSAJfQotIAotLQlmb3IgKGkgPSAwOyBpIDwgYWN0aXZlX3BhdGhjb3VudDsgaSsrKXsKLSsJZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKyspewotIAkJLyogIGNoZWNrIHRocmVhZCBzdGF0dXMgaGVyZSBhbmQgcmV0dXJuIHRoZSBzdGF0dXMgKi8KLSAKLSAJCWlmICh0aHJlYWRbaV0ucGFyYW0uc3RhdHVzID09IE1QQVRIX1BSX1JFU0VSVl9DT05GTElDVCkKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvY29uZmlnLmMgYi9saWJtdWx0aXBhdGgvY29uZmlnLmMKLWluZGV4IDA4NWEzZTEuLjU4NzI5MjcgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvY29uZmlnLmMKLSsrKyBiL2xpYm11bHRpcGF0aC9jb25maWcuYwotQEAgLTM1Miw2ICszNTIsNyBAQCBtZXJnZV9od2UgKHN0cnVjdCBod2VudHJ5ICogZHN0LCBzdHJ1Y3QgaHdlbnRyeSAqIHNyYykKLSAJbWVyZ2VfbnVtKHNraXBfa3BhcnR4KTsKLSAJbWVyZ2VfbnVtKG1heF9zZWN0b3JzX2tiKTsKLSAJbWVyZ2VfbnVtKGdob3N0X2RlbGF5KTsKLSsJbWVyZ2VfbnVtKGFsbF90Z19wdCk7Ci0gCi0gCXNucHJpbnRmKGlkLCBzaXplb2YoaWQpLCAiJXMvJXMiLCBkc3QtPnZlbmRvciwgZHN0LT5wcm9kdWN0KTsKLSAJcmVjb25jaWxlX2ZlYXR1cmVzX3dpdGhfb3B0aW9ucyhpZCwgJmRzdC0+ZmVhdHVyZXMsCi1AQCAtNjIyLDYgKzYyMyw3IEBAIGxvYWRfY29uZmlnIChjaGFyICogZmlsZSkKLSAJY29uZi0+ZGlzYWJsZV9jaGFuZ2VkX3d3aWRzID0gREVGQVVMVF9ESVNBQkxFX0NIQU5HRURfV1dJRFM7Ci0gCWNvbmYtPnJlbW92ZV9yZXRyaWVzID0gMDsKLSAJY29uZi0+Z2hvc3RfZGVsYXkgPSBERUZBVUxUX0dIT1NUX0RFTEFZOwotKwljb25mLT5hbGxfdGdfcHQgPSBERUZBVUxUX0FMTF9UR19QVDsKLSAKLSAJLyoKLSAJICogcHJlbG9hZCBkZWZhdWx0IGh3dGFibGUKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvY29uZmlnLmggYi9saWJtdWx0aXBhdGgvY29uZmlnLmgKLWluZGV4IDZlNjlhMzcuLjFiZjcwOGEgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvY29uZmlnLmgKLSsrKyBiL2xpYm11bHRpcGF0aC9jb25maWcuaAotQEAgLTgyLDYgKzgyLDcgQEAgc3RydWN0IGh3ZW50cnkgewotIAlpbnQgc2tpcF9rcGFydHg7Ci0gCWludCBtYXhfc2VjdG9yc19rYjsKLSAJaW50IGdob3N0X2RlbGF5OwotKwlpbnQgYWxsX3RnX3B0OwotIAljaGFyICogYmxfcHJvZHVjdDsKLSB9OwotIAotQEAgLTE5NCw2ICsxOTUsNyBAQCBzdHJ1Y3QgY29uZmlnIHsKLSAJY2hhciAqIHBhcnRpdGlvbl9kZWxpbTsKLSAJY2hhciAqIGNvbmZpZ19kaXI7Ci0gCWludCBwcmtleV9zb3VyY2U7Ci0rCWludCBhbGxfdGdfcHQ7Ci0gCXN0cnVjdCBiZTY0IHJlc2VydmF0aW9uX2tleTsKLSAKLSAJdmVjdG9yIGtleXdvcmRzOwotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9kZWZhdWx0cy5oIGIvbGlibXVsdGlwYXRoL2RlZmF1bHRzLmgKLWluZGV4IGQ3Yjg3YjQuLmYwNzZiNGIgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvZGVmYXVsdHMuaAotKysrIGIvbGlibXVsdGlwYXRoL2RlZmF1bHRzLmgKLUBAIC00Myw2ICs0Myw3IEBACi0gI2RlZmluZSBERUZBVUxUX0dIT1NUX0RFTEFZIEdIT1NUX0RFTEFZX09GRgotICNkZWZpbmUgREVGQVVMVF9GSU5EX01VTFRJUEFUSFNfVElNRU9VVCAtMTAKLSAjZGVmaW5lIERFRkFVTFRfVU5LTk9XTl9GSU5EX01VTFRJUEFUSFNfVElNRU9VVCAxCi0rI2RlZmluZSBERUZBVUxUX0FMTF9UR19QVCBBTExfVEdfUFRfT0ZGCi0gCi0gI2RlZmluZSBERUZBVUxUX0NIRUNLSU5UCTUKLSAjZGVmaW5lIE1BWF9DSEVDS0lOVChhKQkJKGEgPDwgMikKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvZGljdC5jIGIvbGlibXVsdGlwYXRoL2RpY3QuYwotaW5kZXggM2U3YzVkNi4uMjU1N2I4YSAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9kaWN0LmMKLSsrKyBiL2xpYm11bHRpcGF0aC9kaWN0LmMKLUBAIC0xMTc4LDYgKzExNzgsMTMgQEAgZGVjbGFyZV9od19zbnByaW50KGdob3N0X2RlbGF5LCBwcmludF9vZmZfaW50X3VuZGVmKQotIGRlY2xhcmVfbXBfaGFuZGxlcihnaG9zdF9kZWxheSwgc2V0X29mZl9pbnRfdW5kZWYpCi0gZGVjbGFyZV9tcF9zbnByaW50KGdob3N0X2RlbGF5LCBwcmludF9vZmZfaW50X3VuZGVmKQotIAotK2RlY2xhcmVfZGVmX2hhbmRsZXIoYWxsX3RnX3B0LCBzZXRfeWVzX25vX3VuZGVmKQotK2RlY2xhcmVfZGVmX3NucHJpbnRfZGVmaW50KGFsbF90Z19wdCwgcHJpbnRfeWVzX25vX3VuZGVmLCBERUZBVUxUX0FMTF9UR19QVCkKLStkZWNsYXJlX292cl9oYW5kbGVyKGFsbF90Z19wdCwgc2V0X3llc19ub191bmRlZikKLStkZWNsYXJlX292cl9zbnByaW50KGFsbF90Z19wdCwgcHJpbnRfeWVzX25vX3VuZGVmKQotK2RlY2xhcmVfaHdfaGFuZGxlcihhbGxfdGdfcHQsIHNldF95ZXNfbm9fdW5kZWYpCi0rZGVjbGFyZV9od19zbnByaW50KGFsbF90Z19wdCwgcHJpbnRfeWVzX25vX3VuZGVmKQotKwotIAotIHN0YXRpYyBpbnQKLSBkZWZfdXhzb2NrX3RpbWVvdXRfaGFuZGxlcihzdHJ1Y3QgY29uZmlnICpjb25mLCB2ZWN0b3Igc3RydmVjKQotQEAgLTE1MDksNiArMTUxNiw3IEBAIGluaXRfa2V5d29yZHModmVjdG9yIGtleXdvcmRzKQotIAlpbnN0YWxsX2tleXdvcmQoInBya2V5c19maWxlIiwgJmRlZl9wcmtleXNfZmlsZV9oYW5kbGVyLCAmc25wcmludF9kZWZfcHJrZXlzX2ZpbGUpOwotIAlpbnN0YWxsX2tleXdvcmQoImxvZ19jaGVja2VyX2VyciIsICZkZWZfbG9nX2NoZWNrZXJfZXJyX2hhbmRsZXIsICZzbnByaW50X2RlZl9sb2dfY2hlY2tlcl9lcnIpOwotIAlpbnN0YWxsX2tleXdvcmQoInJlc2VydmF0aW9uX2tleSIsICZkZWZfcmVzZXJ2YXRpb25fa2V5X2hhbmRsZXIsICZzbnByaW50X2RlZl9yZXNlcnZhdGlvbl9rZXkpOwotKwlpbnN0YWxsX2tleXdvcmQoImFsbF90Z19wdCIsICZkZWZfYWxsX3RnX3B0X2hhbmRsZXIsICZzbnByaW50X2RlZl9hbGxfdGdfcHQpOwotIAlpbnN0YWxsX2tleXdvcmQoInJldGFpbl9hdHRhY2hlZF9od19oYW5kbGVyIiwgJmRlZl9yZXRhaW5faHdoYW5kbGVyX2hhbmRsZXIsICZzbnByaW50X2RlZl9yZXRhaW5faHdoYW5kbGVyKTsKLSAJaW5zdGFsbF9rZXl3b3JkKCJkZXRlY3RfcHJpbyIsICZkZWZfZGV0ZWN0X3ByaW9faGFuZGxlciwgJnNucHJpbnRfZGVmX2RldGVjdF9wcmlvKTsKLSAJaW5zdGFsbF9rZXl3b3JkKCJkZXRlY3RfY2hlY2tlciIsICZkZWZfZGV0ZWN0X2NoZWNrZXJfaGFuZGxlciwgJnNucHJpbnRfZGVmX2RldGVjdF9jaGVja2VyKTsKLUBAIC0xNjE4LDYgKzE2MjYsNyBAQCBpbml0X2tleXdvcmRzKHZlY3RvciBrZXl3b3JkcykKLSAJaW5zdGFsbF9rZXl3b3JkKCJza2lwX2twYXJ0eCIsICZod19za2lwX2twYXJ0eF9oYW5kbGVyLCAmc25wcmludF9od19za2lwX2twYXJ0eCk7Ci0gCWluc3RhbGxfa2V5d29yZCgibWF4X3NlY3RvcnNfa2IiLCAmaHdfbWF4X3NlY3RvcnNfa2JfaGFuZGxlciwgJnNucHJpbnRfaHdfbWF4X3NlY3RvcnNfa2IpOwotIAlpbnN0YWxsX2tleXdvcmQoImdob3N0X2RlbGF5IiwgJmh3X2dob3N0X2RlbGF5X2hhbmRsZXIsICZzbnByaW50X2h3X2dob3N0X2RlbGF5KTsKLSsJaW5zdGFsbF9rZXl3b3JkKCJhbGxfdGdfcHQiLCAmaHdfYWxsX3RnX3B0X2hhbmRsZXIsICZzbnByaW50X2h3X2FsbF90Z19wdCk7Ci0gCWluc3RhbGxfc3VibGV2ZWxfZW5kKCk7Ci0gCi0gCWluc3RhbGxfa2V5d29yZF9yb290KCJvdmVycmlkZXMiLCAmb3ZlcnJpZGVzX2hhbmRsZXIpOwotQEAgLTE2NTQsNiArMTY2Myw3IEBAIGluaXRfa2V5d29yZHModmVjdG9yIGtleXdvcmRzKQotIAlpbnN0YWxsX2tleXdvcmQoInNraXBfa3BhcnR4IiwgJm92cl9za2lwX2twYXJ0eF9oYW5kbGVyLCAmc25wcmludF9vdnJfc2tpcF9rcGFydHgpOwotIAlpbnN0YWxsX2tleXdvcmQoIm1heF9zZWN0b3JzX2tiIiwgJm92cl9tYXhfc2VjdG9yc19rYl9oYW5kbGVyLCAmc25wcmludF9vdnJfbWF4X3NlY3RvcnNfa2IpOwotIAlpbnN0YWxsX2tleXdvcmQoImdob3N0X2RlbGF5IiwgJm92cl9naG9zdF9kZWxheV9oYW5kbGVyLCAmc25wcmludF9vdnJfZ2hvc3RfZGVsYXkpOwotKwlpbnN0YWxsX2tleXdvcmQoImFsbF90Z19wdCIsICZvdnJfYWxsX3RnX3B0X2hhbmRsZXIsICZzbnByaW50X292cl9hbGxfdGdfcHQpOwotIAotIAlpbnN0YWxsX2tleXdvcmRfcm9vdCgibXVsdGlwYXRocyIsICZtdWx0aXBhdGhzX2hhbmRsZXIpOwotIAlpbnN0YWxsX2tleXdvcmRfbXVsdGkoIm11bHRpcGF0aCIsICZtdWx0aXBhdGhfaGFuZGxlciwgTlVMTCk7Ci1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL3Byb3BzZWwuYyBiL2xpYm11bHRpcGF0aC9wcm9wc2VsLmMKLWluZGV4IDYyN2QzNjYuLjljYTEzNTUgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvcHJvcHNlbC5jCi0rKysgYi9saWJtdWx0aXBhdGgvcHJvcHNlbC5jCi1AQCAtOTc4LDMgKzk3OCwxOCBAQCBvdXQ6Ci0gCQlwcC0+ZGV2LCBwcC0+ZmluZF9tdWx0aXBhdGhzX3RpbWVvdXQsIG9yaWdpbik7Ci0gCXJldHVybiAwOwotIH0KLSsKLStpbnQgc2VsZWN0X2FsbF90Z19wdCAoc3RydWN0IGNvbmZpZyAqY29uZiwgc3RydWN0IG11bHRpcGF0aCAqIG1wKQotK3sKLSsJY29uc3QgY2hhciAqb3JpZ2luOwotKwotKwltcF9zZXRfb3ZyKGFsbF90Z19wdCk7Ci0rCW1wX3NldF9od2UoYWxsX3RnX3B0KTsKLSsJbXBfc2V0X2NvbmYoYWxsX3RnX3B0KTsKLSsJbXBfc2V0X2RlZmF1bHQoYWxsX3RnX3B0LCBERUZBVUxUX0FMTF9UR19QVCk7Ci0rb3V0OgotKwljb25kbG9nKDMsICIlczogYWxsX3RnX3B0ID0gJXMgJXMiLCBtcC0+YWxpYXMsCi0rCQkobXAtPmFsbF90Z19wdCA9PSBBTExfVEdfUFRfT04pPyAieWVzIiA6ICJubyIsCi0rCQlvcmlnaW4pOwotKwlyZXR1cm4gMDsKLSt9Ci1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL3Byb3BzZWwuaCBiL2xpYm11bHRpcGF0aC9wcm9wc2VsLmgKLWluZGV4IGEwMjJiZWUuLmFlOTliOTIgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvcHJvcHNlbC5oCi0rKysgYi9saWJtdWx0aXBhdGgvcHJvcHNlbC5oCi1AQCAtMzQsMyArMzQsNCBAQCBpbnQgc2VsZWN0X2dob3N0X2RlbGF5KHN0cnVjdCBjb25maWcgKmNvbmYsIHN0cnVjdCBtdWx0aXBhdGggKiBtcCk7Ci0gdm9pZCByZWNvbmNpbGVfZmVhdHVyZXNfd2l0aF9vcHRpb25zKGNvbnN0IGNoYXIgKmlkLCBjaGFyICoqZmVhdHVyZXMsCi0gCQkJCSAgICAgaW50KiBub19wYXRoX3JldHJ5LAotIAkJCQkgICAgIGludCAqcmV0YWluX2h3aGFuZGxlcik7Ci0raW50IHNlbGVjdF9hbGxfdGdfcHQgKHN0cnVjdCBjb25maWcgKmNvbmYsIHN0cnVjdCBtdWx0aXBhdGggKiBtcCk7Ci1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL3N0cnVjdHMuaCBiL2xpYm11bHRpcGF0aC9zdHJ1Y3RzLmgKLWluZGV4IGU0MjRiMTUuLjAxOTRiMWUgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvc3RydWN0cy5oCi0rKysgYi9saWJtdWx0aXBhdGgvc3RydWN0cy5oCi1AQCAtMjE3LDYgKzIxNywxMiBAQCBlbnVtIHBya2V5X3NvdXJjZXMgewotIAlQUktFWV9TT1VSQ0VfRklMRSwKLSB9OwotIAotK2VudW0gYWxsX3RnX3B0X3N0YXRlcyB7Ci0rCUFMTF9UR19QVF9VTkRFRiA9IFlOVV9VTkRFRiwKLSsJQUxMX1RHX1BUX09GRiA9IFlOVV9OTywKLSsJQUxMX1RHX1BUX09OID0gWU5VX1lFUywKLSt9OwotKwotIHN0cnVjdCBzZ19pZCB7Ci0gCWludCBob3N0X25vOwotIAlpbnQgY2hhbm5lbDsKLUBAIC0zNjIsNiArMzY4LDcgQEAgc3RydWN0IG11bHRpcGF0aCB7Ci0gCWludCBwcmtleV9zb3VyY2U7Ci0gCXN0cnVjdCBiZTY0IHJlc2VydmF0aW9uX2tleTsKLSAJdW5zaWduZWQgY2hhciBwcmZsYWc7Ci0rCWludCBhbGxfdGdfcHQ7Ci0gCXN0cnVjdCBnZW5fbXVsdGlwYXRoIGdlbmVyaWNfbXA7Ci0gfTsKLSAKLWRpZmYgLS1naXQgYS9tdWx0aXBhdGgvbXVsdGlwYXRoLmNvbmYuNSBiL211bHRpcGF0aC9tdWx0aXBhdGguY29uZi41Ci1pbmRleCA5NmQxYjY2Li4wYzFmMTc0IDEwMDY0NAotLS0tIGEvbXVsdGlwYXRoL211bHRpcGF0aC5jb25mLjUKLSsrKyBiL211bHRpcGF0aC9tdWx0aXBhdGguY29uZi41Ci1AQCAtNzQzLDYgKzc0MywxNyBAQCBUaGUgZGVmYXVsdCBpczogXGZCPHVuc2V0PlxmUgotIC4KLSAuCi0gLlRQCi0rLkIgYWxsX3RnX3B0Ci0rVGhpcyBtdXN0IGJlIHNldCB0byBcZkJ5ZXNcZlIgdG8gc3VjY2Vzc2Z1bGx5IHVzZSBtcGF0aHBlcnNpc3Qgb24gYXJyYXlzIHRoYXQKLSthdXRvbWF0aWNhbGx5IHNldCBhbmQgY2xlYXIgcmVnaXN0cmF0aW9uIGtleXMgb24gYWxsIHRhcmdldCBwb3J0cyBmcm9tIGEKLStob3N0LCBpbnN0ZWFkIG9mIHBlciB0YXJnZXQgcG9ydCBwZXIgaG9zdC4KLSsuUlMKLSsuVFAKLStUaGUgZGVmYXVsdCBpczogXGZCbm9cZlIKLSsuUkUKLSsuCi0rLgotKy5UUAotIC5CIHJldGFpbl9hdHRhY2hlZF9od19oYW5kbGVyCi0gKE9ic29sZXRlIGZvciBrZXJuZWxzID49IDQuMykgSWYgc2V0IHRvCi0gLkkgeWVzCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDE2LWxpYm11bHRpcGF0aC1yZW1vdmUtcmJkLWNvZGUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAxNi1saWJtdWx0aXBhdGgtcmVtb3ZlLXJiZC1jb2RlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZDE5NTQ3Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDE2LWxpYm11bHRpcGF0aC1yZW1vdmUtcmJkLWNvZGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMDkzICswLDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLURhdGU6IEZyaSwgMSBKdW4gMjAxOCAxNjozMDo0NCAtMDUwMAotU3ViamVjdDogW1BBVENIXSBsaWJtdWx0aXBhdGg6IHJlbW92ZSByYmQgY29kZQotCi1UaGUgQ2VwaCB0ZWFuIGhhcyBhc2tlZCB0byBkcm9wIHN1cHBvcnQgZm9yIG11bHRpcGF0aGVkIHJiZCwgc2luY2UgaXQKLXdhcyBydW5uaW5nIGludG8gZGF0YSBjb3JydXB0aW9uIGlzc3Vlcy4gVGhlcmUgd2FzIG5ldmVyIGFuIHVwc3RyZWFtCi1DZXBoIHJlbGVhc2UgYmFzZWQgb24gaXQsIGFuZCBiZWNhdXNlIG9mIHRoZSBjb3JydXB0aW9uLCB0aGVyZSBzaG91bGQgYmUKLW5vIHVzZXJzIG9mIHRoaXMgY29kZS4gVGhpcyBwYXRjaCBzaW1wbHkgcmV2ZXJ0cyBhbGwgdGhlIHJiZCBjb2RlIGZyb20KLW11bHRpcGF0aC4KLQotQ2M6IE1pY2hhZWwgQ2hyaXN0aWUgPG1jaHJpc3RpQHJlZGhhdC5jb20+Ci1DYzogSmFzb24gRGlsbGFtYW4gPGRpbGxhbWFuQHJlZGhhdC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci0tLS0KLSBsaWJtdWx0aXBhdGgvY2hlY2tlcnMuYyAgICAgICAgICAgICAgfCAgMjIgLS0KLSBsaWJtdWx0aXBhdGgvY2hlY2tlcnMuaCAgICAgICAgICAgICAgfCAgIDYgLQotIGxpYm11bHRpcGF0aC9jaGVja2Vycy9NYWtlZmlsZSAgICAgICB8ICAgNyAtCi0gbGlibXVsdGlwYXRoL2NoZWNrZXJzL2NjaXNzX3R1ci5jICAgIHwgICA1IC0KLSBsaWJtdWx0aXBhdGgvY2hlY2tlcnMvZGlyZWN0aW8uYyAgICAgfCAgIDUgLQotIGxpYm11bHRpcGF0aC9jaGVja2Vycy9lbWNfY2xhcmlpb24uYyB8ICAgNSAtCi0gbGlibXVsdGlwYXRoL2NoZWNrZXJzL2hwX3N3LmMgICAgICAgIHwgICA1IC0KLSBsaWJtdWx0aXBhdGgvY2hlY2tlcnMvcmJkLmMgICAgICAgICAgfCA2NTMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBsaWJtdWx0aXBhdGgvY2hlY2tlcnMvcmRhYy5jICAgICAgICAgfCAgIDUgLQotIGxpYm11bHRpcGF0aC9jaGVja2Vycy9yZWFkc2VjdG9yMC5jICB8ICAgNSAtCi0gbGlibXVsdGlwYXRoL2NoZWNrZXJzL3R1ci5jICAgICAgICAgIHwgICA1IC0KLSBsaWJtdWx0aXBhdGgvZGlzY292ZXJ5LmMgICAgICAgICAgICAgfCAgNzAgLS0tLQotIGxpYm11bHRpcGF0aC9od3RhYmxlLmMgICAgICAgICAgICAgICB8ICAxMiAtCi0gbXVsdGlwYXRoL211bHRpcGF0aC5jb25mLjUgICAgICAgICAgIHwgICAzIC0KLSBtdWx0aXBhdGhkL21haW4uYyAgICAgICAgICAgICAgICAgICAgfCAgMTEgLQotIDE1IGZpbGVzIGNoYW5nZWQsIDgxOSBkZWxldGlvbnMoLSkKLSBkZWxldGUgbW9kZSAxMDA2NDQgbGlibXVsdGlwYXRoL2NoZWNrZXJzL3JiZC5jCi0KLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvY2hlY2tlcnMuYyBiL2xpYm11bHRpcGF0aC9jaGVja2Vycy5jCi1pbmRleCAwOGNkZmMzLi4wYmFjYzg2IDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL2NoZWNrZXJzLmMKLSsrKyBiL2xpYm11bHRpcGF0aC9jaGVja2Vycy5jCi1AQCAtMTQxLDEzICsxNDEsNiBAQCBzdHJ1Y3QgY2hlY2tlciAqIGFkZF9jaGVja2VyIChjaGFyICptdWx0aXBhdGhfZGlyLCBjaGFyICogbmFtZSkKLSAJaWYgKCFjLT5mcmVlKQotIAkJZ290byBvdXQ7Ci0gCi0tCWMtPnJlcGFpciA9ICh2b2lkICgqKShzdHJ1Y3QgY2hlY2tlciAqKSkgZGxzeW0oYy0+aGFuZGxlLAotLQkJCQkJCSAgICAgICAibGliY2hlY2tfcmVwYWlyIik7Ci0tCWVycnN0ciA9IGRsZXJyb3IoKTsKLS0JaWYgKGVycnN0ciAhPSBOVUxMKQotLQkJY29uZGxvZygwLCAiQSBkeW5hbWljIGxpbmtpbmcgZXJyb3Igb2NjdXJyZWQ6ICglcykiLCBlcnJzdHIpOwotLQlpZiAoIWMtPnJlcGFpcikKLS0JCWdvdG8gb3V0OwotIGRvbmU6Ci0gCWMtPmZkID0gLTE7Ci0gCWMtPnN5bmMgPSAxOwotQEAgLTIyMiwyMCArMjE1LDYgQEAgdm9pZCBjaGVja2VyX3B1dCAoc3RydWN0IGNoZWNrZXIgKiBkc3QpCi0gCWZyZWVfY2hlY2tlcihzcmMpOwotIH0KLSAKLS12b2lkIGNoZWNrZXJfcmVwYWlyIChzdHJ1Y3QgY2hlY2tlciAqIGMpCi0tewotLQlpZiAoIWNoZWNrZXJfc2VsZWN0ZWQoYykpCi0tCQlyZXR1cm47Ci0tCi0tCWMtPm1lc3NhZ2VbMF0gPSAnXDAnOwotLQlpZiAoYy0+ZGlzYWJsZSkgewotLQkJTVNHKGMsICJjaGVja2VyIGRpc2FibGVkIik7Ci0tCQlyZXR1cm47Ci0tCX0KLS0JaWYgKGMtPnJlcGFpcikKLS0JCWMtPnJlcGFpcihjKTsKLS19Ci0tCi0gaW50IGNoZWNrZXJfY2hlY2sgKHN0cnVjdCBjaGVja2VyICogYywgaW50IHBhdGhfc3RhdGUpCi0gewotIAlpbnQgcjsKLUBAIC0zMTAsNyArMjg5LDYgQEAgdm9pZCBjaGVja2VyX2dldCAoY2hhciAqbXVsdGlwYXRoX2Rpciwgc3RydWN0IGNoZWNrZXIgKiBkc3QsIGNoYXIgKiBuYW1lKQotIAlkc3QtPnN5bmMgPSBzcmMtPnN5bmM7Ci0gCXN0cm5jcHkoZHN0LT5uYW1lLCBzcmMtPm5hbWUsIENIRUNLRVJfTkFNRV9MRU4pOwotIAlzdHJuY3B5KGRzdC0+bWVzc2FnZSwgc3JjLT5tZXNzYWdlLCBDSEVDS0VSX01TR19MRU4pOwotLQlkc3QtPnJlcGFpciA9IHNyYy0+cmVwYWlyOwotIAlkc3QtPmNoZWNrID0gc3JjLT5jaGVjazsKLSAJZHN0LT5pbml0ID0gc3JjLT5pbml0OwotIAlkc3QtPmZyZWUgPSBzcmMtPmZyZWU7Ci1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2NoZWNrZXJzLmggYi9saWJtdWx0aXBhdGgvY2hlY2tlcnMuaAotaW5kZXggNTIxNTRjYS4uN2IxOGExYSAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9jaGVja2Vycy5oCi0rKysgYi9saWJtdWx0aXBhdGgvY2hlY2tlcnMuaAotQEAgLTg2LDcgKzg2LDYgQEAgZW51bSBwYXRoX2NoZWNrX3N0YXRlIHsKLSAjZGVmaW5lIFJFQURTRUNUT1IwICAicmVhZHNlY3RvcjAiCi0gI2RlZmluZSBDQ0lTU19UVVIgICAgImNjaXNzX3R1ciIKLSAjZGVmaW5lIE5PTkUgICAgICAgICAibm9uZSIKLS0jZGVmaW5lIFJCRCAgICAgICAgICAicmJkIgotIAotICNkZWZpbmUgQVNZTkNfVElNRU9VVF9TRUMJMzAKLSAKLUBAIC0xMTMsOSArMTEyLDYgQEAgc3RydWN0IGNoZWNrZXIgewotIAkJCQkJCW11bHRpcGF0aC13aWRlLiBVc2UgTUFMTE9DIGlmCi0gCQkJCQkJeW91IHdhbnQgdG8gc3R1ZmYgZGF0YSBpbi4gKi8KLSAJaW50ICgqY2hlY2spKHN0cnVjdCBjaGVja2VyICopOwotLQl2b2lkICgqcmVwYWlyKShzdHJ1Y3QgY2hlY2tlciAqKTsgICAgLyogY2FsbGVkIGlmIGNoZWNrIHJldHVybnMKLS0JCQkJCQlQQVRIX0RPV04gdG8gYnJpbmcgcGF0aCBpbnRvCi0tCQkJCQkJdXNhYmxlIHN0YXRlICovCi0gCWludCAoKmluaXQpKHN0cnVjdCBjaGVja2VyICopOyAgICAgICAvKiB0byBhbGxvY2F0ZSB0aGUgY29udGV4dCAqLwotIAl2b2lkICgqZnJlZSkoc3RydWN0IGNoZWNrZXIgKik7ICAgICAgLyogdG8gZnJlZSB0aGUgY29udGV4dCAqLwotIH07Ci1AQCAtMTM2LDcgKzEzMiw2IEBAIHZvaWQgY2hlY2tlcl9zZXRfYXN5bmMgKHN0cnVjdCBjaGVja2VyICopOwotIHZvaWQgY2hlY2tlcl9zZXRfZmQgKHN0cnVjdCBjaGVja2VyICosIGludCk7Ci0gdm9pZCBjaGVja2VyX2VuYWJsZSAoc3RydWN0IGNoZWNrZXIgKik7Ci0gdm9pZCBjaGVja2VyX2Rpc2FibGUgKHN0cnVjdCBjaGVja2VyICopOwotLXZvaWQgY2hlY2tlcl9yZXBhaXIgKHN0cnVjdCBjaGVja2VyICopOwotIGludCBjaGVja2VyX2NoZWNrIChzdHJ1Y3QgY2hlY2tlciAqLCBpbnQpOwotIGludCBjaGVja2VyX3NlbGVjdGVkIChzdHJ1Y3QgY2hlY2tlciAqKTsKLSBjaGFyICogY2hlY2tlcl9uYW1lIChzdHJ1Y3QgY2hlY2tlciAqKTsKLUBAIC0xNDgsNiArMTQzLDUgQEAgdm9pZCBjaGVja2VyX2dldCAoY2hhciAqLCBzdHJ1Y3QgY2hlY2tlciAqLCBjaGFyICopOwotIGludCBsaWJjaGVja19jaGVjayhzdHJ1Y3QgY2hlY2tlciAqKTsKLSBpbnQgbGliY2hlY2tfaW5pdChzdHJ1Y3QgY2hlY2tlciAqKTsKLSB2b2lkIGxpYmNoZWNrX2ZyZWUoc3RydWN0IGNoZWNrZXIgKik7Ci0tdm9pZCBsaWJjaGVja19yZXBhaXIoc3RydWN0IGNoZWNrZXIgKik7Ci0gCi0gI2VuZGlmIC8qIF9DSEVDS0VSU19IICovCi1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2NoZWNrZXJzL01ha2VmaWxlIGIvbGlibXVsdGlwYXRoL2NoZWNrZXJzL01ha2VmaWxlCi1pbmRleCA4N2MxNWJkLi4wMmNhZWE2IDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL2NoZWNrZXJzL01ha2VmaWxlCi0rKysgYi9saWJtdWx0aXBhdGgvY2hlY2tlcnMvTWFrZWZpbGUKLUBAIC0xNSwxNSArMTUsOCBAQCBMSUJTPSBcCi0gCWxpYmNoZWNraHBfc3cuc28gXAotIAlsaWJjaGVja3JkYWMuc28KLSAKLS1pZm5lcSAoJChjYWxsIGNoZWNrX2ZpbGUsL3Vzci9pbmNsdWRlL3JhZG9zL2xpYnJhZG9zLmgpLDApCi0tTElCUyArPSBsaWJjaGVja3JiZC5zbwotLWVuZGlmCi0tCi0gYWxsOiAkKExJQlMpCi0gCi0tbGliY2hlY2tyYmQuc286IHJiZC5vCi0tCSQoQ0MpICQoTERGTEFHUykgJChTSEFSRURfRkxBR1MpIC1vICRAICReIC1scmFkb3MgLWx1ZGV2Ci0tCi0gbGliY2hlY2tkaXJlY3Rpby5zbzogbGlic2cubyBkaXJlY3Rpby5vCi0gCSQoQ0MpICQoTERGTEFHUykgJChTSEFSRURfRkxBR1MpIC1vICRAICReIC1sYWlvCi0gCi1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2NoZWNrZXJzL2NjaXNzX3R1ci5jIGIvbGlibXVsdGlwYXRoL2NoZWNrZXJzL2NjaXNzX3R1ci5jCi1pbmRleCA0MzY0NzBjLi4xY2FiMjAxIDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL2NoZWNrZXJzL2NjaXNzX3R1ci5jCi0rKysgYi9saWJtdWx0aXBhdGgvY2hlY2tlcnMvY2Npc3NfdHVyLmMKLUBAIC01OSwxMSArNTksNiBAQCB2b2lkIGxpYmNoZWNrX2ZyZWUgKHN0cnVjdCBjaGVja2VyICogYykKLSAJcmV0dXJuOwotIH0KLSAKLS12b2lkIGxpYmNoZWNrX3JlcGFpciAoc3RydWN0IGNoZWNrZXIgKiBjKQotLXsKLS0JcmV0dXJuOwotLX0KLS0KLSBpbnQgbGliY2hlY2tfY2hlY2soc3RydWN0IGNoZWNrZXIgKiBjKQotIHsKLSAJaW50IHJjOwotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9jaGVja2Vycy9kaXJlY3Rpby5jIGIvbGlibXVsdGlwYXRoL2NoZWNrZXJzL2RpcmVjdGlvLmMKLWluZGV4IGNlNjBlNGMuLmE4MDg0OGQgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvY2hlY2tlcnMvZGlyZWN0aW8uYwotKysrIGIvbGlibXVsdGlwYXRoL2NoZWNrZXJzL2RpcmVjdGlvLmMKLUBAIC0xMTgsMTEgKzExOCw2IEBAIHZvaWQgbGliY2hlY2tfZnJlZSAoc3RydWN0IGNoZWNrZXIgKiBjKQotIAlmcmVlKGN0KTsKLSB9Ci0gCi0tdm9pZCBsaWJjaGVja19yZXBhaXIgKHN0cnVjdCBjaGVja2VyICogYykKLS17Ci0tCXJldHVybjsKLS19Ci0tCi0gc3RhdGljIGludAotIGNoZWNrX3N0YXRlKGludCBmZCwgc3RydWN0IGRpcmVjdGlvX2NvbnRleHQgKmN0LCBpbnQgc3luYywgaW50IHRpbWVvdXRfc2VjcykKLSB7Ci1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2NoZWNrZXJzL2VtY19jbGFyaWlvbi5jIGIvbGlibXVsdGlwYXRoL2NoZWNrZXJzL2VtY19jbGFyaWlvbi5jCi1pbmRleCA5YzFmZmVkLi45MTE1YjFiIDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL2NoZWNrZXJzL2VtY19jbGFyaWlvbi5jCi0rKysgYi9saWJtdWx0aXBhdGgvY2hlY2tlcnMvZW1jX2NsYXJpaW9uLmMKLUBAIC05MCwxMSArOTAsNiBAQCB2b2lkIGxpYmNoZWNrX2ZyZWUgKHN0cnVjdCBjaGVja2VyICogYykKLSAJZnJlZShjLT5jb250ZXh0KTsKLSB9Ci0gCi0tdm9pZCBsaWJjaGVja19yZXBhaXIgKHN0cnVjdCBjaGVja2VyICogYykKLS17Ci0tCXJldHVybjsKLS19Ci0tCi0gaW50IGxpYmNoZWNrX2NoZWNrIChzdHJ1Y3QgY2hlY2tlciAqIGMpCi0gewotIAl1bnNpZ25lZCBjaGFyIHNlbnNlX2J1ZmZlclsxMjhdID0geyAwLCB9OwotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9jaGVja2Vycy9ocF9zdy5jIGIvbGlibXVsdGlwYXRoL2NoZWNrZXJzL2hwX3N3LmMKLWluZGV4IGNlZTlhYWIuLjBhZDM0YTYgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvY2hlY2tlcnMvaHBfc3cuYwotKysrIGIvbGlibXVsdGlwYXRoL2NoZWNrZXJzL2hwX3N3LmMKLUBAIC00NSwxMSArNDUsNiBAQCB2b2lkIGxpYmNoZWNrX2ZyZWUgKHN0cnVjdCBjaGVja2VyICogYykKLSAJcmV0dXJuOwotIH0KLSAKLS12b2lkIGxpYmNoZWNrX3JlcGFpciAoc3RydWN0IGNoZWNrZXIgKiBjKQotLXsKLS0JcmV0dXJuOwotLX0KLS0KLSBzdGF0aWMgaW50Ci0gZG9faW5xKGludCBzZ19mZCwgaW50IGNtZGR0LCBpbnQgZXZwZCwgdW5zaWduZWQgaW50IHBnX29wLAotICAgICAgICB2b2lkICpyZXNwLCBpbnQgbXhfcmVzcF9sZW4sIGludCBub2lzeSwgdW5zaWduZWQgaW50IHRpbWVvdXQpCi1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2NoZWNrZXJzL3JiZC5jIGIvbGlibXVsdGlwYXRoL2NoZWNrZXJzL3JiZC5jCi1kZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDRmZjU0ZjQuLjAwMDAwMDAKLS0tLSBhL2xpYm11bHRpcGF0aC9jaGVja2Vycy9yYmQuYwotKysrIC9kZXYvbnVsbAotQEAgLTEsNjUzICswLDAgQEAKLS0vKgotLSAqIENvcHlyaWdodCAoYykgMjAxNiBSZWQgSGF0Ci0tICogQ29weXJpZ2h0IChjKSAyMDA0IENocmlzdG9waGUgVmFyb3F1aQotLSAqCi0tICogQ29kZSBiYXNlZCBvZmYgb2YgdHVyLmMgYW5kIGNlcGgncyBrcmJkLmNjCi0tICovCi0tI2RlZmluZSBfR05VX1NPVVJDRQotLSNpbmNsdWRlIDxzdGRpby5oPgotLSNpbmNsdWRlIDxzdGRsaWIuaD4KLS0jaW5jbHVkZSA8c3RyaW5nLmg+Ci0tI2luY2x1ZGUgPHVuaXN0ZC5oPgotLSNpbmNsdWRlIDxmY250bC5oPgotLSNpbmNsdWRlIDxlcnJuby5oPgotLSNpbmNsdWRlIDxwdGhyZWFkLmg+Ci0tI2luY2x1ZGUgPGxpYnVkZXYuaD4KLS0jaW5jbHVkZSA8aWZhZGRycy5oPgotLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLS0jaW5jbHVkZSA8c3lzL3N0YXQuaD4KLS0jaW5jbHVkZSA8c3lzL2lvY3RsLmg+Ci0tI2luY2x1ZGUgPHN5cy90aW1lLmg+Ci0tI2luY2x1ZGUgPHN5cy93YWl0Lmg+Ci0tI2luY2x1ZGUgPHVyY3UuaD4KLS0KLS0jaW5jbHVkZSAicmFkb3MvbGlicmFkb3MuaCIKLS0KLS0jaW5jbHVkZSAic3RydWN0cy5oIgotLSNpbmNsdWRlICJjaGVja2Vycy5oIgotLQotLSNpbmNsdWRlICIuLi9saWJtdWx0aXBhdGgvZGVidWcuaCIKLS0jaW5jbHVkZSAiLi4vbGlibXVsdGlwYXRoL3V0aWwuaCIKLS0jaW5jbHVkZSAiLi4vbGlibXVsdGlwYXRoL3RpbWUtdXRpbC5oIgotLSNpbmNsdWRlICIuLi9saWJtdWx0aXBhdGgvdXRpbC5oIgotLQotLXN0cnVjdCByYmRfY2hlY2tlcl9jb250ZXh0OwotLXR5cGVkZWYgaW50ICh0aHJlYWRfZm4pKHN0cnVjdCByYmRfY2hlY2tlcl9jb250ZXh0ICpjdCwgY2hhciAqbXNnKTsKLS0KLS0jZGVmaW5lIFJCRF9NU0cobXNnLCBmbXQsIGFyZ3MuLi4pIHNucHJpbnRmKG1zZywgQ0hFQ0tFUl9NU0dfTEVOLCBmbXQsICMjYXJncyk7Ci0tCi0tI2RlZmluZSBSQkRfRkVBVFVSRV9FWENMVVNJVkVfTE9DSwkoMSA8PCAyKQotLQotLXN0cnVjdCByYmRfY2hlY2tlcl9jb250ZXh0IHsKLS0JaW50IHJiZF9idXNfaWQ7Ci0tCWNoYXIgKmNsaWVudF9hZGRyOwotLQljaGFyICpjb25maWdfaW5mbzsKLS0JY2hhciAqc25hcDsKLS0JY2hhciAqcG9vbDsKLS0JY2hhciAqaW1hZ2U7Ci0tCWNoYXIgKnVzZXJuYW1lOwotLQlpbnQgcmVtYXBwZWQ7Ci0tCWludCBibGFja2xpc3RlZDsKLS0JdW5zaWduZWQgbG9ja19vbl9yZWFkOjE7Ci0tCi0tCXJhZG9zX3QgY2x1c3RlcjsKLS0KLS0JaW50IHN0YXRlOwotLQlpbnQgcnVubmluZzsKLS0JdGltZV90IHRpbWU7Ci0tCXRocmVhZF9mbiAqZm47Ci0tCXB0aHJlYWRfdCB0aHJlYWQ7Ci0tCXB0aHJlYWRfbXV0ZXhfdCBsb2NrOwotLQlwdGhyZWFkX2NvbmRfdCBhY3RpdmU7Ci0tCXB0aHJlYWRfc3BpbmxvY2tfdCBobGRyX2xvY2s7Ci0tCWludCBob2xkZXJzOwotLQljaGFyIG1lc3NhZ2VbQ0hFQ0tFUl9NU0dfTEVOXTsKLS19OwotLQotLWludCBsaWJjaGVja19pbml0KHN0cnVjdCBjaGVja2VyICogYykKLS17Ci0tCXN0cnVjdCByYmRfY2hlY2tlcl9jb250ZXh0ICpjdDsKLS0Jc3RydWN0IHVkZXZfZGV2aWNlICpibG9ja19kZXY7Ci0tCXN0cnVjdCB1ZGV2X2RldmljZSAqYnVzX2RldjsKLS0Jc3RydWN0IHVkZXYgKnVkZXY7Ci0tCXN0cnVjdCBzdGF0IHNiOwotLQljb25zdCBjaGFyICpibG9ja19uYW1lLCAqYWRkciwgKmNvbmZpZ19pbmZvLCAqZmVhdHVyZXNfc3RyOwotLQljb25zdCBjaGFyICppbWFnZSwgKnBvb2wsICpzbmFwLCAqdXNlcm5hbWU7Ci0tCXVpbnQ2NF90IGZlYXR1cmVzID0gMDsKLS0JY2hhciBzeXNmc19wYXRoW1BBVEhfU0laRV07Ci0tCWludCByZXQ7Ci0tCi0tCWN0ID0gbWFsbG9jKHNpemVvZihzdHJ1Y3QgcmJkX2NoZWNrZXJfY29udGV4dCkpOwotLQlpZiAoIWN0KQotLQkJcmV0dXJuIDE7Ci0tCW1lbXNldChjdCwgMCwgc2l6ZW9mKHN0cnVjdCByYmRfY2hlY2tlcl9jb250ZXh0KSk7Ci0tCWN0LT5ob2xkZXJzID0gMTsKLS0JcHRocmVhZF9jb25kX2luaXRfbW9ubygmY3QtPmFjdGl2ZSk7Ci0tCXB0aHJlYWRfbXV0ZXhfaW5pdCgmY3QtPmxvY2ssIE5VTEwpOwotLQlwdGhyZWFkX3NwaW5faW5pdCgmY3QtPmhsZHJfbG9jaywgUFRIUkVBRF9QUk9DRVNTX1BSSVZBVEUpOwotLQljLT5jb250ZXh0ID0gY3Q7Ci0tCi0tCS8qCi0tCSAqIFRoZSByYmQgYmxvY2sgbGF5ZXIgc3lzZnMgZGV2aWNlIGlzIG5vdCBsaW5rZWQgdG8gdGhlIHJiZCBidXMKLS0JICogZGV2aWNlIHRoYXQgd2UgaW50ZXJhY3Qgd2l0aCwgc28gZmlndXJlIHRoYXQgb3V0IG5vdy4KLS0JICovCi0tCWlmIChmc3RhdChjLT5mZCwgJnNiKSAhPSAwKQotLQkJZ290byBmcmVlX2N0OwotLQotLQl1ZGV2ID0gdWRldl9uZXcoKTsKLS0JaWYgKCF1ZGV2KQotLQkJZ290byBmcmVlX2N0OwotLQotLQlibG9ja19kZXYgPSB1ZGV2X2RldmljZV9uZXdfZnJvbV9kZXZudW0odWRldiwgJ2InLCBzYi5zdF9yZGV2KTsKLS0JaWYgKCFibG9ja19kZXYpCi0tCQlnb3RvIGZyZWVfdWRldjsKLS0KLS0JYmxvY2tfbmFtZSAgPSB1ZGV2X2RldmljZV9nZXRfc3lzbmFtZShibG9ja19kZXYpOwotLQlyZXQgPSBzc2NhbmYoYmxvY2tfbmFtZSwgInJiZCVkIiwgJmN0LT5yYmRfYnVzX2lkKTsKLS0KLS0JdWRldl9kZXZpY2VfdW5yZWYoYmxvY2tfZGV2KTsKLS0JaWYgKHJldCAhPSAxKQotLQkJZ290byBmcmVlX3VkZXY7Ci0tCi0tCXNucHJpbnRmKHN5c2ZzX3BhdGgsIHNpemVvZihzeXNmc19wYXRoKSwgIi9zeXMvYnVzL3JiZC9kZXZpY2VzLyVkIiwKLS0JCSBjdC0+cmJkX2J1c19pZCk7Ci0tCWJ1c19kZXYgPSB1ZGV2X2RldmljZV9uZXdfZnJvbV9zeXNwYXRoKHVkZXYsIHN5c2ZzX3BhdGgpOwotLQlpZiAoIWJ1c19kZXYpCi0tCQlnb3RvIGZyZWVfdWRldjsKLS0KLS0JYWRkciA9IHVkZXZfZGV2aWNlX2dldF9zeXNhdHRyX3ZhbHVlKGJ1c19kZXYsICJjbGllbnRfYWRkciIpOwotLQlpZiAoIWFkZHIpIHsKLS0JCWNvbmRsb2coMCwgInJiZCVkOiBDb3VsZCBub3QgZmluZCBjbGllbnRfYWRkciBpbiByYmQgc3lzZnMuICIKLS0JCQkiVHJ5IHVwZGF0aW5nIGtlcm5lbCIsIGN0LT5yYmRfYnVzX2lkKTsKLS0JCWdvdG8gZnJlZV9kZXY7Ci0tCX0KLS0KLS0JY3QtPmNsaWVudF9hZGRyID0gc3RyZHVwKGFkZHIpOwotLQlpZiAoIWN0LT5jbGllbnRfYWRkcikKLS0JCWdvdG8gZnJlZV9kZXY7Ci0tCi0tCWZlYXR1cmVzX3N0ciA9IHVkZXZfZGV2aWNlX2dldF9zeXNhdHRyX3ZhbHVlKGJ1c19kZXYsICJmZWF0dXJlcyIpOwotLQlpZiAoIWZlYXR1cmVzX3N0cikKLS0JCWdvdG8gZnJlZV9hZGRyOwotLQlmZWF0dXJlcyA9IHN0cnRvbGwoZmVhdHVyZXNfc3RyLCBOVUxMLCAxNik7Ci0tCWlmICghKGZlYXR1cmVzICYgUkJEX0ZFQVRVUkVfRVhDTFVTSVZFX0xPQ0spKSB7Ci0tCQljb25kbG9nKDMsICJyYmQlZDogRXhjbHVzaXZlIGxvY2sgbm90IHNldC4iLCBjdC0+cmJkX2J1c19pZCk7Ci0tCQlnb3RvIGZyZWVfYWRkcjsKLS0JfQotLQotLQljb25maWdfaW5mbyA9IHVkZXZfZGV2aWNlX2dldF9zeXNhdHRyX3ZhbHVlKGJ1c19kZXYsICJjb25maWdfaW5mbyIpOwotLQlpZiAoIWNvbmZpZ19pbmZvKQotLQkJZ290byBmcmVlX2FkZHI7Ci0tCi0tCWlmICghc3Ryc3RyKGNvbmZpZ19pbmZvLCAibm9zaGFyZSIpKSB7Ci0tCQljb25kbG9nKDMsICJyYmQlZDogT25seSBub25zaGFyZWQgY2xpZW50cyBzdXBwb3J0ZWQuIiwKLS0JCQljdC0+cmJkX2J1c19pZCk7Ci0tCQlnb3RvIGZyZWVfYWRkcjsKLS0JfQotLQotLQlpZiAoc3Ryc3RyKGNvbmZpZ19pbmZvLCAibG9ja19vbl9yZWFkIikpCi0tCQljdC0+bG9ja19vbl9yZWFkID0gMTsKLS0KLS0JY3QtPmNvbmZpZ19pbmZvID0gc3RyZHVwKGNvbmZpZ19pbmZvKTsKLS0JaWYgKCFjdC0+Y29uZmlnX2luZm8pCi0tCQlnb3RvIGZyZWVfYWRkcjsKLS0KLS0JdXNlcm5hbWUgPSBzdHJzdHIoY29uZmlnX2luZm8sICJuYW1lPSIpOwotLQlpZiAodXNlcm5hbWUpIHsKLS0JCWNoYXIgKmVuZDsKLS0JCWludCBsZW47Ci0tCi0tCQl1c2VybmFtZSArPSA1OwotLQkJZW5kID0gc3RyY2hyKHVzZXJuYW1lLCAnLCcpOwotLQkJaWYgKCFlbmQpCi0tCQkJZ290byBmcmVlX2luZm87Ci0tCQlsZW4gPSBlbmQgLSB1c2VybmFtZTsKLS0KLS0JCWN0LT51c2VybmFtZSA9IG1hbGxvYyhsZW4gKyAxKTsKLS0JCWlmICghY3QtPnVzZXJuYW1lKQotLQkJCWdvdG8gZnJlZV9pbmZvOwotLQkJc3RybmNweShjdC0+dXNlcm5hbWUsIHVzZXJuYW1lLCBsZW4pOwotLQkJY3QtPnVzZXJuYW1lW2xlbl0gPSAnXDAnOwotLQl9Ci0tCi0tCWltYWdlID0gdWRldl9kZXZpY2VfZ2V0X3N5c2F0dHJfdmFsdWUoYnVzX2RldiwgIm5hbWUiKTsKLS0JaWYgKCFpbWFnZSkKLS0JCWdvdG8gZnJlZV91c2VybmFtZTsKLS0KLS0JY3QtPmltYWdlID0gc3RyZHVwKGltYWdlKTsKLS0JaWYgKCFjdC0+aW1hZ2UpCi0tCQlnb3RvIGZyZWVfdXNlcm5hbWU7Ci0tCi0tCXBvb2wgPSB1ZGV2X2RldmljZV9nZXRfc3lzYXR0cl92YWx1ZShidXNfZGV2LCAicG9vbCIpOwotLQlpZiAoIXBvb2wpCi0tCQlnb3RvIGZyZWVfaW1hZ2U7Ci0tCi0tCWN0LT5wb29sID0gc3RyZHVwKHBvb2wpOwotLQlpZiAoIWN0LT5wb29sKQotLQkJZ290byBmcmVlX2ltYWdlOwotLQotLQlzbmFwID0gdWRldl9kZXZpY2VfZ2V0X3N5c2F0dHJfdmFsdWUoYnVzX2RldiwgImN1cnJlbnRfc25hcCIpOwotLQlpZiAoIXNuYXApCi0tCQlnb3RvIGZyZWVfcG9vbDsKLS0KLS0JaWYgKHN0cmNtcCgiLSIsIHNuYXApKSB7Ci0tCQljdC0+c25hcCA9IHN0cmR1cChzbmFwKTsKLS0JCWlmICghY3QtPnNuYXApCi0tCQkJZ290byBmcmVlX3Bvb2w7Ci0tCX0KLS0KLS0JaWYgKHJhZG9zX2NyZWF0ZSgmY3QtPmNsdXN0ZXIsIE5VTEwpIDwgMCkgewotLQkJY29uZGxvZygwLCAicmJkJWQ6IENvdWxkIG5vdCBjcmVhdGUgcmFkb3MgY2x1c3RlciIsCi0tCQkJY3QtPnJiZF9idXNfaWQpOwotLQkJZ290byBmcmVlX3NuYXA7Ci0tCX0KLS0KLS0JaWYgKHJhZG9zX2NvbmZfcmVhZF9maWxlKGN0LT5jbHVzdGVyLCBOVUxMKSA8IDApIHsKLS0JCWNvbmRsb2coMCwgInJiZCVkOiBDb3VsZCBub3QgcmVhZCByYWRvcyBjb25mIiwgY3QtPnJiZF9idXNfaWQpOwotLQkJZ290byBzaHV0ZG93bl9yYWRvczsKLS0JfQotLQotLQlyZXQgPSByYWRvc19jb25uZWN0KGN0LT5jbHVzdGVyKTsKLS0JaWYgKHJldCA8IDApIHsKLS0JCWNvbmRsb2coMCwgInJiZCVkOiBDb3VsZCBub3QgY29ubmVjdCB0byByYWRvcyBjbHVzdGVyIiwKLS0JCQljdC0+cmJkX2J1c19pZCk7Ci0tCQlnb3RvIHNodXRkb3duX3JhZG9zOwotLQl9Ci0tCi0tCXVkZXZfZGV2aWNlX3VucmVmKGJ1c19kZXYpOwotLQl1ZGV2X3VucmVmKHVkZXYpOwotLQotLQljb25kbG9nKDMsICJyYmQlZCBjaGVja2VyIGluaXQgJXMgJXMvJXNAJXMgJXMiLCBjdC0+cmJkX2J1c19pZCwKLS0JCWN0LT5jbGllbnRfYWRkciwgY3QtPnBvb2wsIGN0LT5pbWFnZSwgY3QtPnNuYXAgPyBjdC0+c25hcCA6ICItIiwKLS0JCWN0LT51c2VybmFtZSA/IGN0LT51c2VybmFtZSA6ICJub25lIik7Ci0tCXJldHVybiAwOwotLQotLXNodXRkb3duX3JhZG9zOgotLQlyYWRvc19zaHV0ZG93bihjdC0+Y2x1c3Rlcik7Ci0tZnJlZV9zbmFwOgotLQlpZiAoY3QtPnNuYXApCi0tCQlmcmVlKGN0LT5zbmFwKTsKLS1mcmVlX3Bvb2w6Ci0tCWZyZWUoY3QtPnBvb2wpOwotLWZyZWVfaW1hZ2U6Ci0tCWZyZWUoY3QtPmltYWdlKTsKLS1mcmVlX3VzZXJuYW1lOgotLQlpZiAoY3QtPnVzZXJuYW1lKQotLQkJZnJlZShjdC0+dXNlcm5hbWUpOwotLWZyZWVfaW5mbzoKLS0JZnJlZShjdC0+Y29uZmlnX2luZm8pOwotLWZyZWVfYWRkcjoKLS0JZnJlZShjdC0+Y2xpZW50X2FkZHIpOwotLWZyZWVfZGV2OgotLQl1ZGV2X2RldmljZV91bnJlZihidXNfZGV2KTsKLS1mcmVlX3VkZXY6Ci0tCXVkZXZfdW5yZWYodWRldik7Ci0tZnJlZV9jdDoKLS0JZnJlZShjdCk7Ci0tCXJldHVybiAxOwotLX0KLS0KLS1zdGF0aWMgdm9pZCBjbGVhbnVwX2NvbnRleHQoc3RydWN0IHJiZF9jaGVja2VyX2NvbnRleHQgKmN0KQotLXsKLS0JcHRocmVhZF9tdXRleF9kZXN0cm95KCZjdC0+bG9jayk7Ci0tCXB0aHJlYWRfY29uZF9kZXN0cm95KCZjdC0+YWN0aXZlKTsKLS0JcHRocmVhZF9zcGluX2Rlc3Ryb3koJmN0LT5obGRyX2xvY2spOwotLQotLQlyYWRvc19zaHV0ZG93bihjdC0+Y2x1c3Rlcik7Ci0tCi0tCWlmIChjdC0+dXNlcm5hbWUpCi0tCQlmcmVlKGN0LT51c2VybmFtZSk7Ci0tCWlmIChjdC0+c25hcCkKLS0JCWZyZWUoY3QtPnNuYXApOwotLQlmcmVlKGN0LT5wb29sKTsKLS0JZnJlZShjdC0+aW1hZ2UpOwotLQlmcmVlKGN0LT5jb25maWdfaW5mbyk7Ci0tCWZyZWUoY3QtPmNsaWVudF9hZGRyKTsKLS0JZnJlZShjdCk7Ci0tfQotLQotLXZvaWQgbGliY2hlY2tfZnJlZShzdHJ1Y3QgY2hlY2tlciAqIGMpCi0tewotLQlpZiAoYy0+Y29udGV4dCkgewotLQkJc3RydWN0IHJiZF9jaGVja2VyX2NvbnRleHQgKmN0ID0gYy0+Y29udGV4dDsKLS0JCWludCBob2xkZXJzOwotLQkJcHRocmVhZF90IHRocmVhZDsKLS0KLS0JCXB0aHJlYWRfc3Bpbl9sb2NrKCZjdC0+aGxkcl9sb2NrKTsKLS0JCWN0LT5ob2xkZXJzLS07Ci0tCQlob2xkZXJzID0gY3QtPmhvbGRlcnM7Ci0tCQl0aHJlYWQgPSBjdC0+dGhyZWFkOwotLQkJcHRocmVhZF9zcGluX3VubG9jaygmY3QtPmhsZHJfbG9jayk7Ci0tCQlpZiAoaG9sZGVycykKLS0JCQlwdGhyZWFkX2NhbmNlbCh0aHJlYWQpOwotLQkJZWxzZQotLQkJCWNsZWFudXBfY29udGV4dChjdCk7Ci0tCQljLT5jb250ZXh0ID0gTlVMTDsKLS0JfQotLX0KLS0KLS1zdGF0aWMgaW50IHJiZF9pc19ibGFja2xpc3RlZChzdHJ1Y3QgcmJkX2NoZWNrZXJfY29udGV4dCAqY3QsIGNoYXIgKm1zZykKLS17Ci0tCWNoYXIgKmFkZHJfdG9rLCAqc3RhcnQsICpzYXZlOwotLQljb25zdCBjaGFyICpjbWRbMl07Ci0tCWNoYXIgKmJsa2xpc3QsICpzdGF0OwotLQlzaXplX3QgYmxrbGlzdF9sZW4sIHN0YXRfbGVuOwotLQlpbnQgcmV0OwotLQljaGFyICplbmQ7Ci0tCi0tCWNtZFswXSA9ICJ7XCJwcmVmaXhcIjogXCJvc2QgYmxhY2tsaXN0IGxzXCJ9IjsKLS0JY21kWzFdID0gTlVMTDsKLS0KLS0JcmV0ID0gcmFkb3NfbW9uX2NvbW1hbmQoY3QtPmNsdXN0ZXIsIChjb25zdCBjaGFyICoqKWNtZCwgMSwgIiIsIDAsCi0tCQkJCSZibGtsaXN0LCAmYmxrbGlzdF9sZW4sICZzdGF0LCAmc3RhdF9sZW4pOwotLQlpZiAocmV0IDwgMCkgewotLQkJUkJEX01TRyhtc2csICJjaGVja2VyIGZhaWxlZDogbW9uIGNvbW1hbmQgZmFpbGVkICVkIiwgcmV0KTsKLS0JCXJldHVybiByZXQ7Ci0tCX0KLS0KLS0JaWYgKCFibGtsaXN0IHx8ICFibGtsaXN0X2xlbikKLS0JCWdvdG8gZnJlZV9idWZzOwotLQotLQkvKgotLQkgKiBwYXJzZSBsaXN0IG9mIGFkZHJzIHdpdGggdGhlIGZvcm1hdAotLQkgKiBpcHY0OnBvcnQvbm9uY2UgZGF0ZSB0aW1lXG4KLS0JICogb3IKLS0JICogW2lwdjZdOnBvcnQvbm9uY2UgZGF0ZSB0aW1lXG4KLS0JICovCi0tCXJldCA9IDA7Ci0tCWZvciAoc3RhcnQgPSBibGtsaXN0OyA7IHN0YXJ0ID0gTlVMTCkgewotLQkJYWRkcl90b2sgPSBzdHJ0b2tfcihzdGFydCwgIlxuIiwgJnNhdmUpOwotLQkJaWYgKCFhZGRyX3RvayB8fCAhc3RybGVuKGFkZHJfdG9rKSkKLS0JCQlicmVhazsKLS0KLS0JCWVuZCA9IHN0cmNocihhZGRyX3RvaywgJyAnKTsKLS0JCWlmICghZW5kKSB7Ci0tCQkJUkJEX01TRyhtc2csICJjaGVja2VyIGZhaWxlZDogaW52YWxpZCBibGFja2xpc3QgJXMiLAotLQkJCQkgYWRkcl90b2spOwotLQkJCWJyZWFrOwotLQkJfQotLQkJKmVuZCA9ICdcMCc7Ci0tCi0tCQlpZiAoIXN0cmNtcChhZGRyX3RvaywgY3QtPmNsaWVudF9hZGRyKSkgewotLQkJCWN0LT5ibGFja2xpc3RlZCA9IDE7Ci0tCQkJUkJEX01TRyhtc2csICIlcyBpcyBibGFja2xpc3RlZCIsIGN0LT5jbGllbnRfYWRkcik7Ci0tCQkJcmV0ID0gMTsKLS0JCQlicmVhazsKLS0JCX0KLS0JfQotLQotLWZyZWVfYnVmczoKLS0JcmFkb3NfYnVmZmVyX2ZyZWUoYmxrbGlzdCk7Ci0tCXJhZG9zX2J1ZmZlcl9mcmVlKHN0YXQpOwotLQlyZXR1cm4gcmV0OwotLX0KLS0KLS1zdGF0aWMgaW50IHJiZF9jaGVjayhzdHJ1Y3QgcmJkX2NoZWNrZXJfY29udGV4dCAqY3QsIGNoYXIgKm1zZykKLS17Ci0tCWlmIChjdC0+YmxhY2tsaXN0ZWQgfHwgcmJkX2lzX2JsYWNrbGlzdGVkKGN0LCBtc2cpID09IDEpCi0tCQlyZXR1cm4gUEFUSF9ET1dOOwotLQotLQlSQkRfTVNHKG1zZywgImNoZWNrZXIgcmVwb3J0cyBwYXRoIGlzIHVwIik7Ci0tCS8qCi0tCSAqIFBhdGggbWF5IGhhdmUgaXNzdWVzLCBidXQgdGhlIGNlcGggY2x1c3RlciBpcyBhdCBsZWFzdAotLQkgKiBhY2NlcHRpbmcgSU8sIHNvIHdlIGNhbiBhdHRlbXB0IHRvIGRvIElPLgotLQkgKgotLQkgKiBUT0RPOiBpbiBmdXR1cmUgdmVyc2lvbnMsIHdlIGNhbiBydW4gb3RoZXIgdGVzdHMgdG8KLS0JICogdmVyaWZ5IE9TRHMgYW5kIG5ldHdvcmtzLgotLQkgKi8KLS0JcmV0dXJuIFBBVEhfVVA7Ci0tfQotLQotLXN0YXRpYyBpbnQgc3lzZnNfd3JpdGVfcmJkX2J1cyhjb25zdCBjaGFyICp3aGljaCwgY29uc3QgY2hhciAqYnVmLAotLQkJCSAgICAgICBzaXplX3QgYnVmX2xlbikKLS17Ci0tCWNoYXIgc3lzZnNfcGF0aFtQQVRIX1NJWkVdOwotLQlpbnQgZmQ7Ci0tCWludCByOwotLQotLQkvKiB3ZSByZXF1aXJlIG5ld2VyIGtlcm5lbHMgc28gc2luZ2xlX21ham9yIHNob3VsZCBhbHdheXMgYmUgdGhlcmUgKi8KLS0Jc25wcmludGYoc3lzZnNfcGF0aCwgc2l6ZW9mKHN5c2ZzX3BhdGgpLAotLQkJICIvc3lzL2J1cy9yYmQvJXNfc2luZ2xlX21ham9yIiwgd2hpY2gpOwotLQlmZCA9IG9wZW4oc3lzZnNfcGF0aCwgT19XUk9OTFkpOwotLQlpZiAoZmQgPCAwKQotLQkJcmV0dXJuIC1lcnJubzsKLS0KLS0JciA9IHNhZmVfd3JpdGUoZmQsIGJ1ZiwgYnVmX2xlbik7Ci0tCWNsb3NlKGZkKTsKLS0JcmV0dXJuIHI7Ci0tfQotLQotLXN0YXRpYyBpbnQgcmJkX3JlbWFwKHN0cnVjdCByYmRfY2hlY2tlcl9jb250ZXh0ICpjdCkKLS17Ci0tCWNoYXIgKmFyZ3ZbMTFdOwotLQlwaWRfdCBwaWQ7Ci0tCWludCByZXQgPSAwLCBpID0gMDsKLS0JaW50IHN0YXR1czsKLS0KLS0JcGlkID0gZm9yaygpOwotLQlzd2l0Y2ggKHBpZCkgewotLQljYXNlIDA6Ci0tCQlhcmd2W2krK10gPSAicmJkIjsKLS0JCWFyZ3ZbaSsrXSA9ICJtYXAiOwotLQkJaWYgKGN0LT5sb2NrX29uX3JlYWQpCi0tCQkJYXJndltpKytdID0gIi1vIG5vc2hhcmUsbG9ja19vbl9yZWFkIjsKLS0JCWVsc2UKLS0JCQlhcmd2W2krK10gPSAiLW8gbm9zaGFyZSI7Ci0tCQlpZiAoY3QtPnVzZXJuYW1lKSB7Ci0tCQkJYXJndltpKytdID0gIi0taWQiOwotLQkJCWFyZ3ZbaSsrXSA9IGN0LT51c2VybmFtZTsKLS0JCX0KLS0JCWFyZ3ZbaSsrXSA9ICItLXBvb2wiOwotLQkJYXJndltpKytdID0gY3QtPnBvb2w7Ci0tCQlpZiAoY3QtPnNuYXApIHsKLS0JCQlhcmd2W2krK10gPSAiLS1zbmFwIjsKLS0JCQlhcmd2W2krK10gPSBjdC0+c25hcDsKLS0JCX0KLS0JCWFyZ3ZbaSsrXSA9IGN0LT5pbWFnZTsKLS0JCWFyZ3ZbaV0gPSBOVUxMOwotLQotLQkJcmV0ID0gZXhlY3ZwKGFyZ3ZbMF0sIGFyZ3YpOwotLQkJY29uZGxvZygwLCAicmJkJWQ6IEVycm9yIGV4ZWN1dGluZyByYmQ6ICVzIiwgY3QtPnJiZF9idXNfaWQsCi0tCQkJc3RyZXJyb3IoZXJybm8pKTsKLS0JCWV4aXQoLTEpOwotLQljYXNlIC0xOgotLQkJY29uZGxvZygwLCAicmJkJWQ6IGZvcmsgZmFpbGVkOiAlcyIsIGN0LT5yYmRfYnVzX2lkLAotLQkJCXN0cmVycm9yKGVycm5vKSk7Ci0tCQlyZXR1cm4gLTE7Ci0tCWRlZmF1bHQ6Ci0tCQlyZXQgPSAtMTsKLS0JCXdhaXQoJnN0YXR1cyk7Ci0tCQlpZiAoV0lGRVhJVEVEKHN0YXR1cykpIHsKLS0JCQlzdGF0dXMgPSBXRVhJVFNUQVRVUyhzdGF0dXMpOwotLQkJCWlmIChzdGF0dXMgPT0gMCkKLS0JCQkJcmV0ID0gMDsKLS0JCQllbHNlCi0tCQkJCWNvbmRsb2coMCwgInJiZCVkOiBmYWlsZWQgd2l0aCAlZCIsCi0tCQkJCQljdC0+cmJkX2J1c19pZCwgc3RhdHVzKTsKLS0JCX0KLS0JfQotLQotLQlyZXR1cm4gcmV0OwotLX0KLS0KLS1zdGF0aWMgaW50IHN5c2ZzX3dyaXRlX3JiZF9yZW1vdmUoY29uc3QgY2hhciAqYnVmLCBpbnQgYnVmX2xlbikKLS17Ci0tCXJldHVybiBzeXNmc193cml0ZV9yYmRfYnVzKCJyZW1vdmUiLCBidWYsIGJ1Zl9sZW4pOwotLX0KLS0KLS1zdGF0aWMgaW50IHJiZF9ybV9ibGFja2xpc3Qoc3RydWN0IHJiZF9jaGVja2VyX2NvbnRleHQgKmN0KQotLXsKLS0JY29uc3QgY2hhciAqY21kWzJdOwotLQljaGFyICpzdGF0LCAqY21kX3N0cjsKLS0Jc2l6ZV90IHN0YXRfbGVuOwotLQlpbnQgcmV0OwotLQotLQlyZXQgPSBhc3ByaW50ZigmY21kX3N0ciwgIntcInByZWZpeFwiOiBcIm9zZCBibGFja2xpc3RcIiwgXCJibGFja2xpc3RvcFwiOiBcInJtXCIsIFwiYWRkclwiOiBcIiVzXCJ9IiwKLS0JCSAgICAgICBjdC0+Y2xpZW50X2FkZHIpOwotLQlpZiAocmV0ID09IC0xKQotLQkJcmV0dXJuIC1FTk9NRU07Ci0tCi0tCWNtZFswXSA9IGNtZF9zdHI7Ci0tCWNtZFsxXSA9IE5VTEw7Ci0tCi0tCXJldCA9IHJhZG9zX21vbl9jb21tYW5kKGN0LT5jbHVzdGVyLCAoY29uc3QgY2hhciAqKiljbWQsIDEsICIiLCAwLAotLQkJCQlOVUxMLCBOVUxMLCAmc3RhdCwgJnN0YXRfbGVuKTsKLS0JaWYgKHJldCA8IDApIHsKLS0JCWNvbmRsb2coMSwgInJiZCVkOiByZXBhaXIgZmFpbGVkIHRvIHJlbW92ZSBibGFja2xpc3QgZm9yICVzICVkIiwKLS0JCQljdC0+cmJkX2J1c19pZCwgY3QtPmNsaWVudF9hZGRyLCByZXQpOwotLQkJZ290byBmcmVlX2NtZDsKLS0JfQotLQotLQljb25kbG9nKDEsICJyYmQlZDogcmVwYWlyIHJtIGJsYWNrbGlzdCBmb3IgJXMiLAotLQkgICAgICAgY3QtPnJiZF9idXNfaWQsIGN0LT5jbGllbnRfYWRkcik7Ci0tCWZyZWUoc3RhdCk7Ci0tZnJlZV9jbWQ6Ci0tCWZyZWUoY21kX3N0cik7Ci0tCXJldHVybiByZXQ7Ci0tfQotLQotLXN0YXRpYyBpbnQgcmJkX3JlcGFpcihzdHJ1Y3QgcmJkX2NoZWNrZXJfY29udGV4dCAqY3QsIGNoYXIgKm1zZykKLS17Ci0tCWNoYXIgZGVsWzE3XTsKLS0JaW50IHJldDsKLS0KLS0JaWYgKCFjdC0+YmxhY2tsaXN0ZWQpCi0tCQlyZXR1cm4gUEFUSF9VUDsKLS0KLS0JaWYgKCFjdC0+cmVtYXBwZWQpIHsKLS0JCXJldCA9IHJiZF9yZW1hcChjdCk7Ci0tCQlpZiAocmV0KSB7Ci0tCQkJUkJEX01TRyhtc2csICJyZXBhaXIgZmFpbGVkIHRvIHJlbWFwLiBFcnIgJWQiLCByZXQpOwotLQkJCXJldHVybiBQQVRIX0RPV047Ci0tCQl9Ci0tCX0KLS0JY3QtPnJlbWFwcGVkID0gMTsKLS0KLS0Jc25wcmludGYoZGVsLCBzaXplb2YoZGVsKSwgIiVkIGZvcmNlIiwgY3QtPnJiZF9idXNfaWQpOwotLQlyZXQgPSBzeXNmc193cml0ZV9yYmRfcmVtb3ZlKGRlbCwgc3RybGVuKGRlbCkgKyAxKTsKLS0JaWYgKHJldCkgewotLQkJUkJEX01TRyhtc2csICJyZXBhaXIgZmFpbGVkIHRvIGNsZWFuIHVwLiBFcnIgJWQiLCByZXQpOwotLQkJcmV0dXJuIFBBVEhfRE9XTjsKLS0JfQotLQotLQlyZXQgPSByYmRfcm1fYmxhY2tsaXN0KGN0KTsKLS0JaWYgKHJldCkgewotLQkJUkJEX01TRyhtc2csICJyZXBhaXIgY291bGQgbm90IHJlbW92ZSBibGFja2xpc3QgZW50cnkuIEVyciAlZCIsCi0tCQkJcmV0KTsKLS0JCXJldHVybiBQQVRIX0RPV047Ci0tCX0KLS0KLS0JY3QtPnJlbWFwcGVkID0gMDsKLS0JY3QtPmJsYWNrbGlzdGVkID0gMDsKLS0KLS0JUkJEX01TRyhtc2csICJoYXMgYmVlbiByZXBhaXJlZCIpOwotLQlyZXR1cm4gUEFUSF9VUDsKLS19Ci0tCi0tI2RlZmluZSByYmRfdGhyZWFkX2NsZWFudXBfcHVzaChjdCkgcHRocmVhZF9jbGVhbnVwX3B1c2goY2xlYW51cF9mdW5jLCBjdCkKLS0jZGVmaW5lIHJiZF90aHJlYWRfY2xlYW51cF9wb3AoY3QpIHB0aHJlYWRfY2xlYW51cF9wb3AoMSkKLS0KLS1zdGF0aWMgdm9pZCBjbGVhbnVwX2Z1bmModm9pZCAqZGF0YSkKLS17Ci0tCWludCBob2xkZXJzOwotLQlzdHJ1Y3QgcmJkX2NoZWNrZXJfY29udGV4dCAqY3QgPSBkYXRhOwotLQlwdGhyZWFkX3NwaW5fbG9jaygmY3QtPmhsZHJfbG9jayk7Ci0tCWN0LT5ob2xkZXJzLS07Ci0tCWhvbGRlcnMgPSBjdC0+aG9sZGVyczsKLS0JY3QtPnRocmVhZCA9IDA7Ci0tCXB0aHJlYWRfc3Bpbl91bmxvY2soJmN0LT5obGRyX2xvY2spOwotLQlpZiAoIWhvbGRlcnMpCi0tCQljbGVhbnVwX2NvbnRleHQoY3QpOwotLQlyY3VfdW5yZWdpc3Rlcl90aHJlYWQoKTsKLS19Ci0tCi0tc3RhdGljIHZvaWQgKnJiZF90aHJlYWQodm9pZCAqY3R4KQotLXsKLS0Jc3RydWN0IHJiZF9jaGVja2VyX2NvbnRleHQgKmN0ID0gY3R4OwotLQlpbnQgc3RhdGU7Ci0tCi0tCS8qIFRoaXMgdGhyZWFkIGNhbiBiZSBjYW5jZWxlZCwgc28gc2V0dXAgY2xlYW4gdXAgKi8KLS0JcmJkX3RocmVhZF9jbGVhbnVwX3B1c2goY3QpCi0tCXJjdV9yZWdpc3Rlcl90aHJlYWQoKTsKLS0JY29uZGxvZygzLCAicmJkJWQ6IHRocmVhZCBzdGFydGluZyB1cCIsIGN0LT5yYmRfYnVzX2lkKTsKLS0KLS0JY3QtPm1lc3NhZ2VbMF0gPSAnXDAnOwotLQotLQkvKiBjaGVja2VyIHN0YXJ0IHVwICovCi0tCXB0aHJlYWRfbXV0ZXhfbG9jaygmY3QtPmxvY2spOwotLQljdC0+c3RhdGUgPSBQQVRIX1BFTkRJTkc7Ci0tCXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZjdC0+bG9jayk7Ci0tCi0tCXN0YXRlID0gY3QtPmZuKGN0LCBjdC0+bWVzc2FnZSk7Ci0tCi0tCS8qIGNoZWNrZXIgZG9uZSAqLwotLQlwdGhyZWFkX211dGV4X2xvY2soJmN0LT5sb2NrKTsKLS0JY3QtPnN0YXRlID0gc3RhdGU7Ci0tCXB0aHJlYWRfY29uZF9zaWduYWwoJmN0LT5hY3RpdmUpOwotLQlwdGhyZWFkX211dGV4X3VubG9jaygmY3QtPmxvY2spOwotLQotLQljb25kbG9nKDMsICJyYmQlZDogdGhlYWQgZmluaXNoZWQsIHN0YXRlICVzIiwgY3QtPnJiZF9idXNfaWQsCi0tCQljaGVja2VyX3N0YXRlX25hbWUoc3RhdGUpKTsKLS0JcmJkX3RocmVhZF9jbGVhbnVwX3BvcChjdCk7Ci0tCXJldHVybiAoKHZvaWQgKikwKTsKLS19Ci0tCi0tc3RhdGljIHZvaWQgcmJkX3RpbWVvdXQoc3RydWN0IHRpbWVzcGVjICp0c3ApCi0tewotLQljbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQywgdHNwKTsKLS0JdHNwLT50dl9uc2VjICs9IDEwMDAgKiAxMDAwOyAvKiAxIG1pbGxpc2Vjb25kICovCi0tCW5vcm1hbGl6ZV90aW1lc3BlYyh0c3ApOwotLX0KLS0KLS1zdGF0aWMgaW50IHJiZF9leGVjX2ZuKHN0cnVjdCBjaGVja2VyICpjLCB0aHJlYWRfZm4gKmZuKQotLXsKLS0Jc3RydWN0IHJiZF9jaGVja2VyX2NvbnRleHQgKmN0ID0gYy0+Y29udGV4dDsKLS0Jc3RydWN0IHRpbWVzcGVjIHRzcDsKLS0JcHRocmVhZF9hdHRyX3QgYXR0cjsKLS0JaW50IHJiZF9zdGF0dXMsIHI7Ci0tCi0tCWlmIChjLT5zeW5jKQotLQkJcmV0dXJuIGZuKGN0LCBjLT5tZXNzYWdlKTsKLS0JLyoKLS0JICogQXN5bmMgbW9kZQotLQkgKi8KLS0JciA9IHB0aHJlYWRfbXV0ZXhfbG9jaygmY3QtPmxvY2spOwotLQlpZiAociAhPSAwKSB7Ci0tCQljb25kbG9nKDIsICJyYmQlZDogbXV0ZXggbG9jayBmYWlsZWQgd2l0aCAlZCIsIGN0LT5yYmRfYnVzX2lkLAotLQkJCXIpOwotLQkJTVNHKGMsICJyYmQlZDogdGhyZWFkIGZhaWxlZCB0byBpbml0aWFsaXplIiwgY3QtPnJiZF9idXNfaWQpOwotLQkJcmV0dXJuIFBBVEhfV0lMRDsKLS0JfQotLQotLQlpZiAoY3QtPnJ1bm5pbmcpIHsKLS0JCS8qIENoZWNrIGlmIGNoZWNrZXIgaXMgc3RpbGwgcnVubmluZyAqLwotLQkJaWYgKGN0LT50aHJlYWQpIHsKLS0JCQljb25kbG9nKDMsICJyYmQlZDogdGhyZWFkIG5vdCBmaW5pc2hlZCIsCi0tCQkJCWN0LT5yYmRfYnVzX2lkKTsKLS0JCQlyYmRfc3RhdHVzID0gUEFUSF9QRU5ESU5HOwotLQkJfSBlbHNlIHsKLS0JCQkvKiBjaGVja2VyIGRvbmUgKi8KLS0JCQljdC0+cnVubmluZyA9IDA7Ci0tCQkJcmJkX3N0YXR1cyA9IGN0LT5zdGF0ZTsKLS0JCQlzdHJuY3B5KGMtPm1lc3NhZ2UsIGN0LT5tZXNzYWdlLCBDSEVDS0VSX01TR19MRU4pOwotLQkJCWMtPm1lc3NhZ2VbQ0hFQ0tFUl9NU0dfTEVOIC0gMV0gPSAnXDAnOwotLQkJfQotLQkJcHRocmVhZF9tdXRleF91bmxvY2soJmN0LT5sb2NrKTsKLS0JfSBlbHNlIHsKLS0JCS8qIFN0YXJ0IG5ldyBjaGVja2VyICovCi0tCQljdC0+c3RhdGUgPSBQQVRIX1VOQ0hFQ0tFRDsKLS0JCWN0LT5mbiA9IGZuOwotLQkJcHRocmVhZF9zcGluX2xvY2soJmN0LT5obGRyX2xvY2spOwotLQkJY3QtPmhvbGRlcnMrKzsKLS0JCXB0aHJlYWRfc3Bpbl91bmxvY2soJmN0LT5obGRyX2xvY2spOwotLQkJc2V0dXBfdGhyZWFkX2F0dHIoJmF0dHIsIDMyICogMTAyNCwgMSk7Ci0tCQlyID0gcHRocmVhZF9jcmVhdGUoJmN0LT50aHJlYWQsICZhdHRyLCByYmRfdGhyZWFkLCBjdCk7Ci0tCQlpZiAocikgewotLQkJCXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZjdC0+bG9jayk7Ci0tCQkJY3QtPnRocmVhZCA9IDA7Ci0tCQkJY3QtPmhvbGRlcnMtLTsKLS0JCQljb25kbG9nKDMsICJyYmQlZCBmYWlsZWQgdG8gc3RhcnQgcmJkIHRocmVhZCwgdXNpbmcgc3luYyBtb2RlIiwKLS0JCQkJY3QtPnJiZF9idXNfaWQpOwotLQkJCXJldHVybiBmbihjdCwgYy0+bWVzc2FnZSk7Ci0tCQl9Ci0tCQlwdGhyZWFkX2F0dHJfZGVzdHJveSgmYXR0cik7Ci0tCQlyYmRfdGltZW91dCgmdHNwKTsKLS0JCXIgPSBwdGhyZWFkX2NvbmRfdGltZWR3YWl0KCZjdC0+YWN0aXZlLCAmY3QtPmxvY2ssICZ0c3ApOwotLQkJcmJkX3N0YXR1cyA9IGN0LT5zdGF0ZTsKLS0JCXN0cm5jcHkoYy0+bWVzc2FnZSwgY3QtPm1lc3NhZ2UsQ0hFQ0tFUl9NU0dfTEVOKTsKLS0JCWMtPm1lc3NhZ2VbQ0hFQ0tFUl9NU0dfTEVOIC0xXSA9ICdcMCc7Ci0tCQlwdGhyZWFkX211dGV4X3VubG9jaygmY3QtPmxvY2spOwotLQotLQkJaWYgKGN0LT50aHJlYWQgJiYKLS0JCSAgICAocmJkX3N0YXR1cyA9PSBQQVRIX1BFTkRJTkcgfHwgcmJkX3N0YXR1cyA9PSBQQVRIX1VOQ0hFQ0tFRCkpIHsKLS0JCQljb25kbG9nKDMsICJyYmQlZDogdGhyZWFkIHN0aWxsIHJ1bm5pbmciLAotLQkJCQljdC0+cmJkX2J1c19pZCk7Ci0tCQkJY3QtPnJ1bm5pbmcgPSAxOwotLQkJCXJiZF9zdGF0dXMgPSBQQVRIX1BFTkRJTkc7Ci0tCQl9Ci0tCX0KLS0KLS0JcmV0dXJuIHJiZF9zdGF0dXM7Ci0tfQotLQotLXZvaWQgbGliY2hlY2tfcmVwYWlyKHN0cnVjdCBjaGVja2VyICogYykKLS17Ci0tCXN0cnVjdCByYmRfY2hlY2tlcl9jb250ZXh0ICpjdCA9IGMtPmNvbnRleHQ7Ci0tCi0tCWlmICghY3QgfHwgIWN0LT5ibGFja2xpc3RlZCkKLS0JCXJldHVybjsKLS0JcmJkX2V4ZWNfZm4oYywgcmJkX3JlcGFpcik7Ci0tfQotLQotLWludCBsaWJjaGVja19jaGVjayhzdHJ1Y3QgY2hlY2tlciAqIGMpCi0tewotLQlzdHJ1Y3QgcmJkX2NoZWNrZXJfY29udGV4dCAqY3QgPSBjLT5jb250ZXh0OwotLQotLQlpZiAoIWN0KQotLQkJcmV0dXJuIFBBVEhfVU5DSEVDS0VEOwotLQotLQlpZiAoY3QtPmJsYWNrbGlzdGVkKQotLQkJcmV0dXJuIFBBVEhfRE9XTjsKLS0KLS0JcmV0dXJuIHJiZF9leGVjX2ZuKGMsIHJiZF9jaGVjayk7Ci0tfQotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9jaGVja2Vycy9yZGFjLmMgYi9saWJtdWx0aXBhdGgvY2hlY2tlcnMvcmRhYy5jCi1pbmRleCBhNjQzYTRhLi41MTA0ZTRlIDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL2NoZWNrZXJzL3JkYWMuYwotKysrIGIvbGlibXVsdGlwYXRoL2NoZWNrZXJzL3JkYWMuYwotQEAgLTEzOSwxMSArMTM5LDYgQEAgdm9pZCBsaWJjaGVja19mcmVlIChzdHJ1Y3QgY2hlY2tlciAqIGMpCi0gCXJldHVybjsKLSB9Ci0gCi0tdm9pZCBsaWJjaGVja19yZXBhaXIgKHN0cnVjdCBjaGVja2VyICogYykKLS17Ci0tCXJldHVybjsKLS19Ci0tCi0gc3RhdGljIGludAotIGRvX2lucShpbnQgc2dfZmQsIHVuc2lnbmVkIGludCBwZ19vcCwgdm9pZCAqcmVzcCwgaW50IG14X3Jlc3BfbGVuLAotICAgICAgICB1bnNpZ25lZCBpbnQgdGltZW91dCkKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvY2hlY2tlcnMvcmVhZHNlY3RvcjAuYyBiL2xpYm11bHRpcGF0aC9jaGVja2Vycy9yZWFkc2VjdG9yMC5jCi1pbmRleCA4ZmNjYjQ2Li4xYzJhODY4IDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL2NoZWNrZXJzL3JlYWRzZWN0b3IwLmMKLSsrKyBiL2xpYm11bHRpcGF0aC9jaGVja2Vycy9yZWFkc2VjdG9yMC5jCi1AQCAtMjMsMTEgKzIzLDYgQEAgdm9pZCBsaWJjaGVja19mcmVlIChzdHJ1Y3QgY2hlY2tlciAqIGMpCi0gCXJldHVybjsKLSB9Ci0gCi0tdm9pZCBsaWJjaGVja19yZXBhaXIgKHN0cnVjdCBjaGVja2VyICogYykKLS17Ci0tCXJldHVybjsKLS19Ci0tCi0gaW50IGxpYmNoZWNrX2NoZWNrIChzdHJ1Y3QgY2hlY2tlciAqIGMpCi0gewotIAl1bnNpZ25lZCBjaGFyIGJ1Zls0MDk2XTsKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvY2hlY2tlcnMvdHVyLmMgYi9saWJtdWx0aXBhdGgvY2hlY2tlcnMvdHVyLmMKLWluZGV4IGViMzM0OGQuLmJmODQ4NmQgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvY2hlY2tlcnMvdHVyLmMKLSsrKyBiL2xpYm11bHRpcGF0aC9jaGVja2Vycy90dXIuYwotQEAgLTExMiwxMSArMTEyLDYgQEAgdm9pZCBsaWJjaGVja19mcmVlIChzdHJ1Y3QgY2hlY2tlciAqIGMpCi0gCXJldHVybjsKLSB9Ci0gCi0tdm9pZCBsaWJjaGVja19yZXBhaXIgKHN0cnVjdCBjaGVja2VyICogYykKLS17Ci0tCXJldHVybjsKLS19Ci0tCi0gI2RlZmluZSBUVVJfTVNHKGZtdCwgYXJncy4uLikJCQkJCVwKLSAJZG8gewkJCQkJCQlcCi0gCQljaGFyIG1zZ1tDSEVDS0VSX01TR19MRU5dOwkJCVwKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvZGlzY292ZXJ5LmMgYi9saWJtdWx0aXBhdGgvZGlzY292ZXJ5LmMKLWluZGV4IDFlZjFkZmEuLjE4YWQwZTIgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvZGlzY292ZXJ5LmMKLSsrKyBiL2xpYm11bHRpcGF0aC9kaXNjb3ZlcnkuYwotQEAgLTEyNDYsMjEgKzEyNDYsNiBAQCBudm1lX3N5c2ZzX3BhdGhpbmZvIChzdHJ1Y3QgcGF0aCAqIHBwLCB2ZWN0b3IgaHd0YWJsZSkKLSB9Ci0gCi0gc3RhdGljIGludAotLXJiZF9zeXNmc19wYXRoaW5mbyAoc3RydWN0IHBhdGggKiBwcCwgdmVjdG9yIGh3dGFibGUpCi0tewotLQlzcHJpbnRmKHBwLT52ZW5kb3JfaWQsICJDZXBoIik7Ci0tCXNwcmludGYocHAtPnByb2R1Y3RfaWQsICJSQkQiKTsKLS0KLS0JY29uZGxvZygzLCAiJXM6IHZlbmRvciA9ICVzIHByb2R1Y3QgPSAlcyIsIHBwLT5kZXYsIHBwLT52ZW5kb3JfaWQsCi0tCQlwcC0+cHJvZHVjdF9pZCk7Ci0tCS8qCi0tCSAqIHNldCB0aGUgaHdlIGNvbmZpZ2xldCBwb2ludGVyCi0tCSAqLwotLQlwcC0+aHdlID0gZmluZF9od2UoaHd0YWJsZSwgcHAtPnZlbmRvcl9pZCwgcHAtPnByb2R1Y3RfaWQsIE5VTEwpOwotLQlyZXR1cm4gMDsKLS19Ci0tCi0tc3RhdGljIGludAotIGNjd19zeXNmc19wYXRoaW5mbyAoc3RydWN0IHBhdGggKiBwcCwgdmVjdG9yIGh3dGFibGUpCi0gewotIAlzdHJ1Y3QgdWRldl9kZXZpY2UgKnBhcmVudDsKLUBAIC0xNDg2LDggKzE0NzEsNiBAQCBzeXNmc19wYXRoaW5mbyhzdHJ1Y3QgcGF0aCAqIHBwLCB2ZWN0b3IgaHd0YWJsZSkKLSAJCXBwLT5idXMgPSBTWVNGU19CVVNfQ0NXOwotIAlpZiAoIXN0cm5jbXAocHAtPmRldiwic2QiLCAyKSkKLSAJCXBwLT5idXMgPSBTWVNGU19CVVNfU0NTSTsKLS0JaWYgKCFzdHJuY21wKHBwLT5kZXYsInJiZCIsIDMpKQotLQkJcHAtPmJ1cyA9IFNZU0ZTX0JVU19SQkQ7Ci0gCWlmICghc3RybmNtcChwcC0+ZGV2LCJudm1lIiwgNCkpCi0gCQlwcC0+YnVzID0gU1lTRlNfQlVTX05WTUU7Ci0gCi1AQCAtMTUwMiw5ICsxNDg1LDYgQEAgc3lzZnNfcGF0aGluZm8oc3RydWN0IHBhdGggKiBwcCwgdmVjdG9yIGh3dGFibGUpCi0gCX0gZWxzZSBpZiAocHAtPmJ1cyA9PSBTWVNGU19CVVNfQ0NJU1MpIHsKLSAJCWlmIChjY2lzc19zeXNmc19wYXRoaW5mbyhwcCwgaHd0YWJsZSkpCi0gCQkJcmV0dXJuIDE7Ci0tCX0gZWxzZSBpZiAocHAtPmJ1cyA9PSBTWVNGU19CVVNfUkJEKSB7Ci0tCQlpZiAocmJkX3N5c2ZzX3BhdGhpbmZvKHBwLCBod3RhYmxlKSkKLS0JCQlyZXR1cm4gMTsKLSAJfSBlbHNlIGlmIChwcC0+YnVzID09IFNZU0ZTX0JVU19OVk1FKSB7Ci0gCQlpZiAobnZtZV9zeXNmc19wYXRoaW5mbyhwcCwgaHd0YWJsZSkpCi0gCQkJcmV0dXJuIDE7Ci1AQCAtMTc1Myw1MyArMTczMyw2IEBAIGdldF91ZGV2X3VpZChzdHJ1Y3QgcGF0aCAqIHBwLCBjaGFyICp1aWRfYXR0cmlidXRlLCBzdHJ1Y3QgdWRldl9kZXZpY2UgKnVkZXYpCi0gfQotIAotIHN0YXRpYyBpbnQKLS1nZXRfcmJkX3VpZChzdHJ1Y3QgcGF0aCAqIHBwKQotLXsKLS0Jc3RydWN0IHVkZXZfZGV2aWNlICpyYmRfYnVzX2RldjsKLS0JaW50IHJldCwgcmJkX2J1c19pZDsKLS0JY29uc3QgY2hhciAqcG9vbCwgKmltYWdlLCAqc25hcDsKLS0JY2hhciBzeXNmc19wYXRoW1BBVEhfU0laRV07Ci0tCXVpbnQ2NF90IHNuYXBfaWQsIG1heF9zbmFwX2lkID0gLTM7Ci0tCi0tCXJldCA9IHNzY2FuZihwcC0+ZGV2LCAicmJkJWQiLCAmcmJkX2J1c19pZCk7Ci0tCWlmIChyZXQgIT0gMSkKLS0JCXJldHVybiAtRUlOVkFMOwotLQotLQlzbnByaW50ZihzeXNmc19wYXRoLCBzaXplb2Yoc3lzZnNfcGF0aCksICIvc3lzL2J1cy9yYmQvZGV2aWNlcy8lZCIsCi0tCQkgcmJkX2J1c19pZCk7Ci0tCXJiZF9idXNfZGV2ID0gdWRldl9kZXZpY2VfbmV3X2Zyb21fc3lzcGF0aCh1ZGV2LCBzeXNmc19wYXRoKTsKLS0JaWYgKCFyYmRfYnVzX2RldikKLS0JCXJldHVybiAtRU5PREVWOwotLQotLQlyZXQgPSAtRUlOVkFMOwotLQlwb29sID0gdWRldl9kZXZpY2VfZ2V0X3N5c2F0dHJfdmFsdWUocmJkX2J1c19kZXYsICJwb29sX2lkIik7Ci0tCWlmICghcG9vbCkKLS0JCWdvdG8gZnJlZV9kZXY7Ci0tCi0tCWltYWdlID0gdWRldl9kZXZpY2VfZ2V0X3N5c2F0dHJfdmFsdWUocmJkX2J1c19kZXYsICJpbWFnZV9pZCIpOwotLQlpZiAoIWltYWdlKQotLQkJZ290byBmcmVlX2RldjsKLS0KLS0Jc25hcCA9IHVkZXZfZGV2aWNlX2dldF9zeXNhdHRyX3ZhbHVlKHJiZF9idXNfZGV2LCAic25hcF9pZCIpOwotLQlpZiAoIXNuYXApCi0tCQlnb3RvIGZyZWVfZGV2OwotLQlzbmFwX2lkID0gc3RydG91bGwoc25hcCwgTlVMTCwgMTkpOwotLQlpZiAoc25hcF9pZCA+PSBtYXhfc25hcF9pZCkKLS0JCXJldCA9IHNucHJpbnRmKHBwLT53d2lkLCBXV0lEX1NJWkUsICIlcy0lcyIsIHBvb2wsIGltYWdlKTsKLS0JZWxzZQotLQkJcmV0ID0gc25wcmludGYocHAtPnd3aWQsIFdXSURfU0laRSwgIiVzLSVzLSVzIiwgcG9vbCwKLS0JCQkgICAgICAgaW1hZ2UsIHNuYXApOwotLQlpZiAocmV0ID49IFdXSURfU0laRSkgewotLQkJY29uZGxvZygwLCAiJXM6IHd3aWQgb3ZlcmZsb3ciLCBwcC0+ZGV2KTsKLS0JCXJldCA9IC1FT1ZFUkZMT1c7Ci0tCX0KLS0KLS1mcmVlX2RldjoKLS0JdWRldl9kZXZpY2VfdW5yZWYocmJkX2J1c19kZXYpOwotLQlyZXR1cm4gcmV0OwotLX0KLS0KLS1zdGF0aWMgaW50Ci0gZ2V0X3ZwZF91aWQoc3RydWN0IHBhdGggKiBwcCkKLSB7Ci0gCXN0cnVjdCB1ZGV2X2RldmljZSAqcGFyZW50ID0gcHAtPnVkZXY7Ci1AQCAtMTg3Niw5ICsxODA5LDYgQEAgZ2V0X3VpZCAoc3RydWN0IHBhdGggKiBwcCwgaW50IHBhdGhfc3RhdGUsIHN0cnVjdCB1ZGV2X2RldmljZSAqdWRldikKLSAJCX0gZWxzZQotIAkJCWxlbiA9IHN0cmxlbihwcC0+d3dpZCk7Ci0gCQlvcmlnaW4gPSAiY2FsbG91dCI7Ci0tCX0gZWxzZSBpZiAocHAtPmJ1cyA9PSBTWVNGU19CVVNfUkJEKSB7Ci0tCQlsZW4gPSBnZXRfcmJkX3VpZChwcCk7Ci0tCQlvcmlnaW4gPSAic3lzZnMiOwotIAl9IGVsc2UgewotIAotIAkJaWYgKHVkZXYgJiYgcHAtPnVpZF9hdHRyaWJ1dGUpIHsKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvaHd0YWJsZS5jIGIvbGlibXVsdGlwYXRoL2h3dGFibGUuYwotaW5kZXggMTQ4ZjBiYS4uZDUyOWJhZSAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9od3RhYmxlLmMKLSsrKyBiL2xpYm11bHRpcGF0aC9od3RhYmxlLmMKLUBAIC0xMDAwLDE4ICsxMDAwLDYgQEAgc3RhdGljIHN0cnVjdCBod2VudHJ5IGRlZmF1bHRfaHdbXSA9IHsKLSAJCS5wcmlvX25hbWUgICAgID0gUFJJT19BTFVBLAotIAl9LAotIAkvKgotLQkgKiBSZWQgSGF0Ci0tCSAqCi0tCSAqIE1haW50YWluZXI6IE1pa2UgQ2hyaXN0aWUKLS0JICogTWFpbDogbWNocmlzdGlAcmVkaGF0LmNvbQotLQkgKi8KLS0JewotLQkJLnZlbmRvciAgICAgICAgPSAiQ2VwaCIsCi0tCQkucHJvZHVjdCAgICAgICA9ICJSQkQiLAotLQkJLmNoZWNrZXJfbmFtZSAgPSBSQkQsCi0tCQkuZGVmZXJyZWRfcmVtb3ZlID0gREVGRVJSRURfUkVNT1ZFX09OLAotLQl9LAotLQkvKgotIAkgKiBLb3ZlCi0gCSAqLwotIAl7Ci1kaWZmIC0tZ2l0IGEvbXVsdGlwYXRoL211bHRpcGF0aC5jb25mLjUgYi9tdWx0aXBhdGgvbXVsdGlwYXRoLmNvbmYuNQotaW5kZXggMGMxZjE3NC4uMzFmNDU4NSAxMDA2NDQKLS0tLSBhL211bHRpcGF0aC9tdWx0aXBhdGguY29uZi41Ci0rKysgYi9tdWx0aXBhdGgvbXVsdGlwYXRoLmNvbmYuNQotQEAgLTQ4Miw5ICs0ODIsNiBAQCBDaGVjayB0aGUgcGF0aCBzdGF0ZSBmb3IgSFAvQ09NUEFRIFNtYXJ0IEFycmF5KENDSVNTKSBjb250cm9sbGVycy4KLSAuSSBub25lCi0gRG8gbm90IGNoZWNrIHRoZSBkZXZpY2UsIGZhbGxiYWNrIHRvIHVzZSB0aGUgdmFsdWVzIHJldHJpZXZlZCBmcm9tIHN5c2ZzCi0gLlRQCi0tLkkgcmJkCi0tQ2hlY2sgaWYgdGhlIHBhdGggaXMgaW4gdGhlIENlcGggYmxhY2tsaXN0IGFuZCByZW1hcCB0aGUgcGF0aCBpZiBpdCBpcy4KLS0uVFAKLSBUaGUgZGVmYXVsdCBpczogXGZCdHVyXGZSCi0gLlJFCi0gLgotZGlmZiAtLWdpdCBhL211bHRpcGF0aGQvbWFpbi5jIGIvbXVsdGlwYXRoZC9tYWluLmMKLWluZGV4IDBkYjg4ZWUuLmQ0MGM0MTYgMTAwNjQ0Ci0tLS0gYS9tdWx0aXBhdGhkL21haW4uYwotKysrIGIvbXVsdGlwYXRoZC9tYWluLmMKLUBAIC0xNzgzLDE1ICsxNzgzLDYgQEAgaW50IHVwZGF0ZV9wYXRoX2dyb3VwcyhzdHJ1Y3QgbXVsdGlwYXRoICptcHAsIHN0cnVjdCB2ZWN0b3JzICp2ZWNzLCBpbnQgcmVmcmVzaCkKLSAJcmV0dXJuIDA7Ci0gfQotIAotLXZvaWQgcmVwYWlyX3BhdGgoc3RydWN0IHBhdGggKiBwcCkKLS17Ci0tCWlmIChwcC0+c3RhdGUgIT0gUEFUSF9ET1dOKQotLQkJcmV0dXJuOwotLQotLQljaGVja2VyX3JlcGFpcigmcHAtPmNoZWNrZXIpOwotLQlMT0dfTVNHKDEsIGNoZWNrZXJfbWVzc2FnZSgmcHAtPmNoZWNrZXIpKTsKLS19Ci0tCi0gLyoKLSAgKiBSZXR1cm5zICcxJyBpZiB0aGUgcGF0aCBoYXMgYmVlbiBjaGVja2VkLCAnLTEnIGlmIGl0IHdhcyBibGFja2xpc3RlZAotICAqIGFuZCAnMCcgb3RoZXJ3aXNlCi1AQCAtMTk3Miw3ICsxOTYzLDYgQEAgY2hlY2tfcGF0aCAoc3RydWN0IHZlY3RvcnMgKiB2ZWNzLCBzdHJ1Y3QgcGF0aCAqIHBwLCBpbnQgdGlja3MpCi0gCQkJcHAtPm1wcC0+ZmFpbGJhY2tfdGljayA9IDA7Ci0gCi0gCQkJcHAtPm1wcC0+c3RhdF9wYXRoX2ZhaWx1cmVzKys7Ci0tCQkJcmVwYWlyX3BhdGgocHApOwotIAkJCXJldHVybiAxOwotIAkJfQotIAotQEAgLTIwNzEsNyArMjA2MSw2IEBAIGNoZWNrX3BhdGggKHN0cnVjdCB2ZWN0b3JzICogdmVjcywgc3RydWN0IHBhdGggKiBwcCwgaW50IHRpY2tzKQotIAl9Ci0gCi0gCXBwLT5zdGF0ZSA9IG5ld3N0YXRlOwotLQlyZXBhaXJfcGF0aChwcCk7Ci0gCi0gCWlmIChwcC0+bXBwLT53YWl0X2Zvcl91ZGV2KQotIAkJcmV0dXJuIDE7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDE3LW1wYXRocGVyc2lzdC1maXgtYXB0cGwtc3VwcG9ydC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDE3LW1wYXRocGVyc2lzdC1maXgtYXB0cGwtc3VwcG9ydC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjk4ZDMxMC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAxNy1tcGF0aHBlcnNpc3QtZml4LWFwdHBsLXN1cHBvcnQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NDMgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotRGF0ZTogTW9uLCA0IEp1biAyMDE4IDIyOjA0OjQ0IC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0hdIG1wYXRocGVyc2lzdDogZml4IGFwdHBsIHN1cHBvcnQKLQotVGhlICJBY3RpdmUgUGVyc2lzdCBUaHJvdWdoIFBvd2VyIExvc3MiIGZsYWcgbXVzdCBiZSBzZXQgd2hlbmV2ZXIgYSBrZXkKLWlzIHJlZ2lzdGVyZWQuIEhvd2V2ZXIsIHRoZXJlIGlzIG5vIHdheSBmb3IgbXVsdGlwYXRoZCB0byBrbm93IGlmIHRoaXMKLXdhcyBzZXQgYnkgbXBhdGhwZXJzaXN0LiBUaGUgcmVzdWx0IGlzIHRoYXQgaWYgYSBwYXRoIGdvZXMgZG93biBhbmQKLWNvbWVzIGJhY2sgdXAgKG9yIGlmIGl0IHdhc24ndCB1cCB3aGVuIG1wYXRocGVyc2lzdCB3YXMgZmlyc3QgcnVuKQotbXVsdGlwYXRoZCB3aWxsIGNsZWFyIHRoZSBhcHRwbCBmbGFnIHdoZW4gaXQgcmVyZWdpc3RlcnMgdGhlIGtleSBvbiBpdC4KLQotVG8gZml4IHRoaXMsIG11bHRpcGF0aC5jb25mIG5vdyBhY2NlcHRzIGFuIG9wdGlvbmFsICI6YXB0cGwiIGFwcGVuZGVkCi1vbiB0aGUgcmVzZXJ2YXRpb25fa2V5IHZhbHVlLiBJZiB0aGlzIGlzIGFkZGVkIHRvIHRoZSByZXNlcnZhdGlvbl9rZXkKLW11bHRpcGF0aGQgd2lsbCBzZXQgdGhlIGFwdHBsIGZsYWcgd2hlbiBpdCByZXJlZ2lzdGVycyB0aGUga2V5LiBJZgotcmVzZXJ2YXRpb25fa2V5IGlzIHNldCB0byAiZmlsZSIsIHRoaXMgd2lsbCBhdXRvbWF0aWNhbGx5IGJlIHRyYWNrZWQKLWluIHRoZSAvZXRjL211bHRpcGF0aC9wcmtleXMgZmlsZS4KLQotVG8gdHJhY2sgdGhpcyBmbGFnIGluIHRoZSBwcmtleXMgZmlsZSwgd2l0aG91dCBjaGFuZ2luZyB0aGUgZm9ybWF0Ci1JJ3ZlIG1hZGUgIjB4PGtleT4iIHN0YW5kIGZvciBub24tYXB0cGwga2V5cywgYW5kICIwWDxrZXk+IiBzdGFuZAotZm9yIGFwdHBsIGtleXMuIFNpbmNlIHByZXZpb3VzbHksIGFsbCBrZXlzIHVzZWQgYSBsb3dlci1jYXNlIHgsIHRoaXMKLXdpbGwgZGVmYXVsdCB0byB0aGUgY3VycmVudCBiZWhhdmlvciBmb3IgZXhpc3Rpbmcga2V5cy4gT2J2aW91c2x5LCB0aGUKLW5leHQgdGltZSBtcGF0aHBlcnNpc3QgaXMgcnVuLCB0aGlzIHdpbGwgYmUgY2hhbmdlZCBpZiAtLXBhcmFtLWFwdHBsCi1pcyB1c2VkLiAgU2luY2UgdGhlcmUgYXJlIG5vIG1vcmUgZmxhZ3MgdGhhdCBhcmUgaW4gc2dfcGVyc2lzdCB0aGF0Ci1tdWx0aXBhdGhkIG5lZWRzIHRvIGNhcmUgYWJvdXQgaW4gbXBhdGhwZXJzaXN0LCB0aGVyZSBzaG91bGRuJ3QgbmVlZAotdG8gYmUgYW55IG1vcmUgZmxhZ3MgYWRkZWQgdG8gdGhlIHBya2V5cyBmaWxlLgotCi1TaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci0tLS0KLSBsaWJtcGF0aHBlcnNpc3QvbXBhdGhfcGVyc2lzdC5jICB8ICAzICsrLQotIGxpYm1wYXRocGVyc2lzdC9tcGF0aF91cGRhdGVwci5jIHwgMTEgKysrKysrKy0tLS0KLSBsaWJtcGF0aHBlcnNpc3QvbXBhdGhwci5oICAgICAgICB8ICAzICsrLQotIGxpYm11bHRpcGF0aC9NYWtlZmlsZSAgICAgICAgICAgIHwgIDIgKy0KLSBsaWJtdWx0aXBhdGgvY29uZmlnLmggICAgICAgICAgICB8ICAyICsrCi0gbGlibXVsdGlwYXRoL2RpY3QuYyAgICAgICAgICAgICAgfCAyMyArKysrKysrKysrKysrKysrKysrLS0tLQotIGxpYm11bHRpcGF0aC9kaWN0LmggICAgICAgICAgICAgIHwgIDMgKystCi0gbGlibXVsdGlwYXRoL3Bya2V5LmMgICAgICAgICAgICAgfCAyNyArKysrKysrKysrKysrKysrKysrKysrKystLS0KLSBsaWJtdWx0aXBhdGgvcHJrZXkuaCAgICAgICAgICAgICB8ICA2ICsrKystLQotIGxpYm11bHRpcGF0aC9wcm9wc2VsLmMgICAgICAgICAgIHwgIDYgKysrKy0tCi0gbGlibXVsdGlwYXRoL3N0cnVjdHMuaCAgICAgICAgICAgfCAgMSArCi0gbGlibXVsdGlwYXRoL3V0aWwuYyAgICAgICAgICAgICAgfCAxNiArKysrKysrKysrKysrKysrCi0gbGlibXVsdGlwYXRoL3V0aWwuaCAgICAgICAgICAgICAgfCAgMSArCi0gbXVsdGlwYXRoL211bHRpcGF0aC5jb25mLjUgICAgICAgfCAgNyArKysrKy0tCi0gbXVsdGlwYXRoZC9jbGlfaGFuZGxlcnMuYyAgICAgICAgfCAxNSArKysrKysrKysrLS0tLS0KLSBtdWx0aXBhdGhkL21haW4uYyAgICAgICAgICAgICAgICB8ICAxICsKLSAxNiBmaWxlcyBjaGFuZ2VkLCAxMDEgaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJtcGF0aHBlcnNpc3QvbXBhdGhfcGVyc2lzdC5jIGIvbGlibXBhdGhwZXJzaXN0L21wYXRoX3BlcnNpc3QuYwotaW5kZXggY2E5MWM1NS4uNmU5ZTY3ZiAxMDA2NDQKLS0tLSBhL2xpYm1wYXRocGVyc2lzdC9tcGF0aF9wZXJzaXN0LmMKLSsrKyBiL2xpYm1wYXRocGVyc2lzdC9tcGF0aF9wZXJzaXN0LmMKLUBAIC0zNDQsNyArMzQ0LDggQEAgaW50IG1wYXRoX3BlcnNpc3RlbnRfcmVzZXJ2ZV9vdXQgKCBpbnQgZmQsIGludCBycV9zZXJ2YWN0LCBpbnQgcnFfc2NvcGUsCi0gCSAgICAgIHJxX3NlcnZhY3QgPT0gTVBBVEhfUFJPVVRfUkVHX1NBKSB8fAotIAkgICAgIHJxX3NlcnZhY3QgPT0gTVBBVEhfUFJPVVRfUkVHX0lHTl9TQSkpIHsKLSAJCW1lbWNweSgmbXBwLT5yZXNlcnZhdGlvbl9rZXksIHBhcmFtcC0+c2Ffa2V5LCA4KTsKLS0JCWlmICh1cGRhdGVfcHJrZXkoYWxpYXMsIGdldF9iZTY0KG1wcC0+cmVzZXJ2YXRpb25fa2V5KSkpIHsKLSsJCWlmICh1cGRhdGVfcHJrZXlfZmxhZ3MoYWxpYXMsIGdldF9iZTY0KG1wcC0+cmVzZXJ2YXRpb25fa2V5KSwKLSsJCQkJICAgICAgIHBhcmFtcC0+c2FfZmxhZ3MpKSB7Ci0gCQkJY29uZGxvZygwLCAiJXM6IGZhaWxlZCB0byBzZXQgcHJrZXkgZm9yIG11bHRpcGF0aGQuIiwKLSAJCQkJYWxpYXMpOwotIAkJCXJldCA9IE1QQVRIX1BSX0RNTVBfRVJST1I7Ci1kaWZmIC0tZ2l0IGEvbGlibXBhdGhwZXJzaXN0L21wYXRoX3VwZGF0ZXByLmMgYi9saWJtcGF0aHBlcnNpc3QvbXBhdGhfdXBkYXRlcHIuYwotaW5kZXggODA2M2U5MC4uMGFjYTI4ZSAxMDA2NDQKLS0tLSBhL2xpYm1wYXRocGVyc2lzdC9tcGF0aF91cGRhdGVwci5jCi0rKysgYi9saWJtcGF0aHBlcnNpc3QvbXBhdGhfdXBkYXRlcHIuYwotQEAgLTEsNyArMSw1IEBACi0gI2luY2x1ZGUgPHN0ZGlvLmg+Ci0gI2luY2x1ZGUgPHVuaXN0ZC5oPgotLSNpbmNsdWRlIDxlcnJuby5oPgotLQotICNpbmNsdWRlIDxzdGRsaWIuaD4KLSAjaW5jbHVkZSA8c3RkYXJnLmg+Ci0gI2luY2x1ZGUgPGZjbnRsLmg+Ci1AQCAtMTEsNiArOSw4IEBACi0gI2luY2x1ZGUgPHN5cy91bi5oPgotICNpbmNsdWRlIDxwb2xsLmg+Ci0gI2luY2x1ZGUgPGVycm5vLmg+Ci0rI2luY2x1ZGUgPGxpYnVkZXYuaD4KLSsjaW5jbHVkZSA8bXBhdGhfcGVyc2lzdC5oPgotICNpbmNsdWRlICJkZWJ1Zy5oIgotICNpbmNsdWRlICJtcGF0aF9jbWQuaCIKLSAjaW5jbHVkZSAidXhzb2NrLmgiCi1AQCAtNTksMTEgKzU5LDE0IEBAIGludCB1cGRhdGVfcHJmbGFnKGNoYXIgKm1hcG5hbWUsIGludCBzZXQpIHsKLSAJcmV0dXJuIGRvX3VwZGF0ZV9wcihtYXBuYW1lLCAoc2V0KT8gInNldHByc3RhdHVzIiA6ICJ1bnNldHByc3RhdHVzIik7Ci0gfQotIAotLWludCB1cGRhdGVfcHJrZXkoY2hhciAqbWFwbmFtZSwgdWludDY0X3QgcHJrZXkpIHsKLStpbnQgdXBkYXRlX3Bya2V5X2ZsYWdzKGNoYXIgKm1hcG5hbWUsIHVpbnQ2NF90IHBya2V5LCB1aW50OF90IHNhX2ZsYWdzKSB7Ci0gCWNoYXIgc3RyWzI1Nl07Ci0rCWNoYXIgKmZsYWdzdHIgPSAiIjsKLSAKLSsJaWYgKHNhX2ZsYWdzICYgTVBBVEhfRl9BUFRQTF9NQVNLKQotKwkJZmxhZ3N0ciA9ICI6YXB0cGwiOwotIAlpZiAocHJrZXkpCi0tCQlzcHJpbnRmKHN0ciwgInNldHBya2V5IGtleSAlIiBQUkl4NjQsIHBya2V5KTsKLSsJCXNwcmludGYoc3RyLCAic2V0cHJrZXkga2V5ICUiIFBSSXg2NCAiJXMiLCBwcmtleSwgZmxhZ3N0cik7Ci0gCWVsc2UKLSAJCXNwcmludGYoc3RyLCAidW5zZXRwcmtleSIpOwotIAlyZXR1cm4gZG9fdXBkYXRlX3ByKG1hcG5hbWUsIHN0cik7Ci1kaWZmIC0tZ2l0IGEvbGlibXBhdGhwZXJzaXN0L21wYXRocHIuaCBiL2xpYm1wYXRocGVyc2lzdC9tcGF0aHByLmgKLWluZGV4IDcyZmViNjAuLjVlYThjZDYgMTAwNjQ0Ci0tLS0gYS9saWJtcGF0aHBlcnNpc3QvbXBhdGhwci5oCi0rKysgYi9saWJtcGF0aHBlcnNpc3QvbXBhdGhwci5oCi1AQCAtNDYsNyArNDYsOCBAQCBpbnQgc2VuZF9wcm91dF9hY3RpdmVwYXRoKGNoYXIgKiBkZXYsIGludCBycV9zZXJ2YWN0LCBpbnQgcnFfc2NvcGUsCi0gCXVuc2lnbmVkIGludCBycV90eXBlLCAgIHN0cnVjdCBwcm91dF9wYXJhbV9kZXNjcmlwdG9yICogcGFyYW1wLCBpbnQgbm9pc3kpOwotIAotIGludCB1cGRhdGVfcHJmbGFnKGNoYXIgKm1hcG5hbWUsIGludCBzZXQpOwotLWludCB1cGRhdGVfcHJrZXkoY2hhciAqbWFwbmFtZSwgdWludDY0X3QgcHJrZXkpOwotK2ludCB1cGRhdGVfcHJrZXlfZmxhZ3MoY2hhciAqbWFwbmFtZSwgdWludDY0X3QgcHJrZXksIHVpbnQ4X3Qgc2FfZmxhZ3MpOwotKyNkZWZpbmUgdXBkYXRlX3Bya2V5KG1hcG5hbWUsIHBya2V5KSB1cGRhdGVfcHJrZXlfZmxhZ3MobWFwbmFtZSwgcHJrZXksIDApCi0gdm9pZCAqIG1wYXRoX2FsbG9jX3ByaW5fcmVzcG9uc2UoaW50IHByaW5fc2EpOwotIGludCB1cGRhdGVfbWFwX3ByKHN0cnVjdCBtdWx0aXBhdGggKm1wcCk7Ci0gCi1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL01ha2VmaWxlIGIvbGlibXVsdGlwYXRoL01ha2VmaWxlCi1pbmRleCBmNTE3ODZkLi4zM2Y1MjY5IDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL01ha2VmaWxlCi0rKysgYi9saWJtdWx0aXBhdGgvTWFrZWZpbGUKLUBAIC03LDcgKzcsNyBAQCBTT05BTUUgPSAwCi0gREVWTElCID0gbGlibXVsdGlwYXRoLnNvCi0gTElCUyA9ICQoREVWTElCKS4kKFNPTkFNRSkKLSAKLS1DRkxBR1MgKz0gJChMSUJfQ0ZMQUdTKSAtSSQobXBhdGhjbWRkaXIpCi0rQ0ZMQUdTICs9ICQoTElCX0NGTEFHUykgLUkkKG1wYXRoY21kZGlyKSAtSSQobXBhdGhwZXJzaXN0ZGlyKQotIAotIExJQkRFUFMgKz0gLWxwdGhyZWFkIC1sZGwgLWxkZXZtYXBwZXIgLWx1ZGV2IC1MJChtcGF0aGNtZGRpcikgLWxtcGF0aGNtZCAtbHVyY3UgLWxhaW8KLSAKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvY29uZmlnLmggYi9saWJtdWx0aXBhdGgvY29uZmlnLmgKLWluZGV4IDFiZjcwOGEuLmZjYmUzZmMgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvY29uZmlnLmgKLSsrKyBiL2xpYm11bHRpcGF0aC9jb25maWcuaAotQEAgLTk4LDYgKzk4LDcgQEAgc3RydWN0IG1wZW50cnkgewotIAljaGFyICogcHJpb19hcmdzOwotIAlpbnQgcHJrZXlfc291cmNlOwotIAlzdHJ1Y3QgYmU2NCByZXNlcnZhdGlvbl9rZXk7Ci0rCXVpbnQ4X3Qgc2FfZmxhZ3M7Ci0gCWludCBwZ3BvbGljeTsKLSAJaW50IHBnZmFpbGJhY2s7Ci0gCWludCBycl93ZWlnaHQ7Ci1AQCAtMTk3LDYgKzE5OCw3IEBAIHN0cnVjdCBjb25maWcgewotIAlpbnQgcHJrZXlfc291cmNlOwotIAlpbnQgYWxsX3RnX3B0OwotIAlzdHJ1Y3QgYmU2NCByZXNlcnZhdGlvbl9rZXk7Ci0rCXVpbnQ4X3Qgc2FfZmxhZ3M7Ci0gCi0gCXZlY3RvciBrZXl3b3JkczsKLSAJdmVjdG9yIG1wdGFibGU7Ci1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2RpY3QuYyBiL2xpYm11bHRpcGF0aC9kaWN0LmMKLWluZGV4IDI1NTdiOGEuLjdhZDBmNWEgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvZGljdC5jCi0rKysgYi9saWJtdWx0aXBhdGgvZGljdC5jCi1AQCAtMjIsNiArMjIsOCBAQAotICNpbmNsdWRlICJ1dGlsLmgiCi0gI2luY2x1ZGUgPGVycm5vLmg+Ci0gI2luY2x1ZGUgPGludHR5cGVzLmg+Ci0rI2luY2x1ZGUgPGxpYnVkZXYuaD4KLSsjaW5jbHVkZSA8bXBhdGhfcGVyc2lzdC5oPgotICNpbmNsdWRlICJtcGF0aF9jbWQuaCIKLSAjaW5jbHVkZSAiZGljdC5oIgotIAotQEAgLTEwMTIsMTAgKzEwMTQsMTIgQEAgc25wcmludF9kZWZfbG9nX2NoZWNrZXJfZXJyIChzdHJ1Y3QgY29uZmlnICpjb25mLCBjaGFyICogYnVmZiwgaW50IGxlbiwKLSB9Ci0gCi0gc3RhdGljIGludAotLXNldF9yZXNlcnZhdGlvbl9rZXkodmVjdG9yIHN0cnZlYywgc3RydWN0IGJlNjQgKmJlNjRfcHRyLCBpbnQgKnNvdXJjZV9wdHIpCi0rc2V0X3Jlc2VydmF0aW9uX2tleSh2ZWN0b3Igc3RydmVjLCBzdHJ1Y3QgYmU2NCAqYmU2NF9wdHIsIHVpbnQ4X3QgKmZsYWdzX3B0ciwKLSsJCSAgICBpbnQgKnNvdXJjZV9wdHIpCi0gewotIAljaGFyICpidWZmOwotIAl1aW50NjRfdCBwcmtleTsKLSsJdWludDhfdCBzYV9mbGFnczsKLSAKLSAJYnVmZiA9IHNldF92YWx1ZShzdHJ2ZWMpOwotIAlpZiAoIWJ1ZmYpCi1AQCAtMTAyMywzNSArMTAyNyw0MyBAQCBzZXRfcmVzZXJ2YXRpb25fa2V5KHZlY3RvciBzdHJ2ZWMsIHN0cnVjdCBiZTY0ICpiZTY0X3B0ciwgaW50ICpzb3VyY2VfcHRyKQotIAotIAlpZiAoc3RyY21wKGJ1ZmYsICJmaWxlIikgPT0gMCkgewotIAkJKnNvdXJjZV9wdHIgPSBQUktFWV9TT1VSQ0VfRklMRTsKLSsJCSpmbGFnc19wdHIgPSAwOwotIAkJcHV0X2JlNjQoKmJlNjRfcHRyLCAwKTsKLSAJCUZSRUUoYnVmZik7Ci0gCQlyZXR1cm4gMDsKLSAJfQotIAotLQlpZiAocGFyc2VfcHJrZXkoYnVmZiwgJnBya2V5KSAhPSAwKSB7Ci0rCWlmIChwYXJzZV9wcmtleV9mbGFncyhidWZmLCAmcHJrZXksICZzYV9mbGFncykgIT0gMCkgewotIAkJRlJFRShidWZmKTsKLSAJCXJldHVybiAxOwotIAl9Ci0gCSpzb3VyY2VfcHRyID0gUFJLRVlfU09VUkNFX0NPTkY7Ci0rCSpmbGFnc19wdHIgPSBzYV9mbGFnczsKLSAJcHV0X2JlNjQoKmJlNjRfcHRyLCBwcmtleSk7Ci0gCUZSRUUoYnVmZik7Ci0gCXJldHVybiAwOwotIH0KLSAKLSBpbnQKLS1wcmludF9yZXNlcnZhdGlvbl9rZXkoY2hhciAqIGJ1ZmYsIGludCBsZW4sIHN0cnVjdCBiZTY0IGtleSwgaW50IHNvdXJjZSkKLStwcmludF9yZXNlcnZhdGlvbl9rZXkoY2hhciAqIGJ1ZmYsIGludCBsZW4sIHN0cnVjdCBiZTY0IGtleSwgdWludDhfdCBmbGFncywKLSsJCSAgICAgIGludCBzb3VyY2UpCi0gewotKwljaGFyICpmbGFnc3RyID0gIiI7Ci0gCWlmIChzb3VyY2UgPT0gUFJLRVlfU09VUkNFX05PTkUpCi0gCQlyZXR1cm4gMDsKLSAJaWYgKHNvdXJjZSA9PSBQUktFWV9TT1VSQ0VfRklMRSkKLSAJCXJldHVybiBzbnByaW50ZihidWZmLCBsZW4sICJmaWxlIik7Ci0tCXJldHVybiBzbnByaW50ZihidWZmLCBsZW4sICIweCUiIFBSSXg2NCwgZ2V0X2JlNjQoa2V5KSk7Ci0rCWlmIChmbGFncyAmIE1QQVRIX0ZfQVBUUExfTUFTSykKLSsJCWZsYWdzdHIgPSAiOmFwdHBsIjsKLSsJcmV0dXJuIHNucHJpbnRmKGJ1ZmYsIGxlbiwgIjB4JSIgUFJJeDY0ICIlcyIsIGdldF9iZTY0KGtleSksCi0rCQkJZmxhZ3N0cik7Ci0gfQotIAotIHN0YXRpYyBpbnQKLSBkZWZfcmVzZXJ2YXRpb25fa2V5X2hhbmRsZXIoc3RydWN0IGNvbmZpZyAqY29uZiwgdmVjdG9yIHN0cnZlYykKLSB7Ci0gCXJldHVybiBzZXRfcmVzZXJ2YXRpb25fa2V5KHN0cnZlYywgJmNvbmYtPnJlc2VydmF0aW9uX2tleSwKLSsJCQkJICAgJmNvbmYtPnNhX2ZsYWdzLAotIAkJCQkgICAmY29uZi0+cHJrZXlfc291cmNlKTsKLSB9Ci0gCi1AQCAtMTA2MCw2ICsxMDcyLDcgQEAgc25wcmludF9kZWZfcmVzZXJ2YXRpb25fa2V5IChzdHJ1Y3QgY29uZmlnICpjb25mLCBjaGFyICogYnVmZiwgaW50IGxlbiwKLSAJCQkgICAgIGNvbnN0IHZvaWQgKiBkYXRhKQotIHsKLSAJcmV0dXJuIHByaW50X3Jlc2VydmF0aW9uX2tleShidWZmLCBsZW4sIGNvbmYtPnJlc2VydmF0aW9uX2tleSwKLSsJCQkJICAgICBjb25mLT5zYV9mbGFncywKLSAJCQkJICAgICBjb25mLT5wcmtleV9zb3VyY2UpOwotIH0KLSAKLUBAIC0xMDcwLDYgKzEwODMsNyBAQCBtcF9yZXNlcnZhdGlvbl9rZXlfaGFuZGxlcihzdHJ1Y3QgY29uZmlnICpjb25mLCB2ZWN0b3Igc3RydmVjKQotIAlpZiAoIW1wZSkKLSAJCXJldHVybiAxOwotIAlyZXR1cm4gc2V0X3Jlc2VydmF0aW9uX2tleShzdHJ2ZWMsICZtcGUtPnJlc2VydmF0aW9uX2tleSwKLSsJCQkJICAgJm1wZS0+c2FfZmxhZ3MsCi0gCQkJCSAgICZtcGUtPnBya2V5X3NvdXJjZSk7Ci0gfQotIAotQEAgLTEwNzksNiArMTA5Myw3IEBAIHNucHJpbnRfbXBfcmVzZXJ2YXRpb25fa2V5IChzdHJ1Y3QgY29uZmlnICpjb25mLCBjaGFyICogYnVmZiwgaW50IGxlbiwKLSB7Ci0gCWNvbnN0IHN0cnVjdCBtcGVudHJ5ICogbXBlID0gKGNvbnN0IHN0cnVjdCBtcGVudHJ5ICopZGF0YTsKLSAJcmV0dXJuIHByaW50X3Jlc2VydmF0aW9uX2tleShidWZmLCBsZW4sIG1wZS0+cmVzZXJ2YXRpb25fa2V5LAotKwkJCQkgICAgIG1wZS0+c2FfZmxhZ3MsCi0gCQkJCSAgICAgbXBlLT5wcmtleV9zb3VyY2UpOwotIH0KLSAKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvZGljdC5oIGIvbGlibXVsdGlwYXRoL2RpY3QuaAotaW5kZXggNzU2NDg5Mi4uYTQwYWM2NiAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9kaWN0LmgKLSsrKyBiL2xpYm11bHRpcGF0aC9kaWN0LmgKLUBAIC0xNSw2ICsxNSw3IEBAIGludCBwcmludF9wZ3BvbGljeShjaGFyICpidWZmLCBpbnQgbGVuLCBsb25nIHYpOwotIGludCBwcmludF9ub19wYXRoX3JldHJ5KGNoYXIgKmJ1ZmYsIGludCBsZW4sIGxvbmcgdik7Ci0gaW50IHByaW50X2Zhc3RfaW9fZmFpbChjaGFyICpidWZmLCBpbnQgbGVuLCBsb25nIHYpOwotIGludCBwcmludF9kZXZfbG9zcyhjaGFyICpidWZmLCBpbnQgbGVuLCB1bnNpZ25lZCBsb25nIHYpOwotLWludCBwcmludF9yZXNlcnZhdGlvbl9rZXkoY2hhciAqIGJ1ZmYsIGludCBsZW4sIHN0cnVjdCBiZTY0IGtleSwgaW50IHNvdXJjZSk7Ci0raW50IHByaW50X3Jlc2VydmF0aW9uX2tleShjaGFyICogYnVmZiwgaW50IGxlbiwgc3RydWN0IGJlNjQga2V5LCB1aW50OF90Ci0rCQkJICBmbGFncywgaW50IHNvdXJjZSk7Ci0gaW50IHByaW50X29mZl9pbnRfdW5kZWYoY2hhciAqYnVmZiwgaW50IGxlbiwgbG9uZyB2KTsKLSAjZW5kaWYgLyogX0RJQ1RfSCAqLwotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9wcmtleS5jIGIvbGlibXVsdGlwYXRoL3Bya2V5LmMKLWluZGV4IDg5YjkwZWQuLmQ2NDVmODEgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvcHJrZXkuYwotKysrIGIvbGlibXVsdGlwYXRoL3Bya2V5LmMKLUBAIC0xMSw2ICsxMSw4IEBACi0gI2luY2x1ZGUgPHN0cmluZy5oPgotICNpbmNsdWRlIDxpbnR0eXBlcy5oPgotICNpbmNsdWRlIDxlcnJuby5oPgotKyNpbmNsdWRlIDxsaWJ1ZGV2Lmg+Ci0rI2luY2x1ZGUgPG1wYXRoX3BlcnNpc3QuaD4KLSAKLSAjZGVmaW5lIFBSS0VZX1JFQUQgMAotICNkZWZpbmUgUFJLRVlfV1JJVEUgMQotQEAgLTEwOCw3ICsxMTAsOCBAQCBzdGF0aWMgaW50IGRvX3Bya2V5KGludCBmZCwgY2hhciAqd3dpZCwgY2hhciAqa2V5c3RyLCBpbnQgY21kKQotIAlyZXR1cm4gMDsKLSB9Ci0gCi0taW50IGdldF9wcmtleShzdHJ1Y3QgY29uZmlnICpjb25mLCBzdHJ1Y3QgbXVsdGlwYXRoICptcHAsIHVpbnQ2NF90ICpwcmtleSkKLStpbnQgZ2V0X3Bya2V5KHN0cnVjdCBjb25maWcgKmNvbmYsIHN0cnVjdCBtdWx0aXBhdGggKm1wcCwgdWludDY0X3QgKnBya2V5LAotKwkgICAgICB1aW50OF90ICpzYV9mbGFncykKLSB7Ci0gCWludCBmZDsKLSAJaW50IHVudXNlZDsKLUBAIC0xMjQsNiArMTI3LDkgQEAgaW50IGdldF9wcmtleShzdHJ1Y3QgY29uZmlnICpjb25mLCBzdHJ1Y3QgbXVsdGlwYXRoICptcHAsIHVpbnQ2NF90ICpwcmtleSkKLSAJcmV0ID0gZG9fcHJrZXkoZmQsIG1wcC0+d3dpZCwga2V5c3RyLCBQUktFWV9SRUFEKTsKLSAJaWYgKHJldCkKLSAJCWdvdG8gb3V0X2ZpbGU7Ci0rCSpzYV9mbGFncyA9IDA7Ci0rCWlmIChzdHJjaHIoa2V5c3RyLCAnWCcpKQotKwkJKnNhX2ZsYWdzID0gTVBBVEhfRl9BUFRQTF9NQVNLOwotIAlyZXQgPSAhIXBhcnNlX3Bya2V5KGtleXN0ciwgcHJrZXkpOwotIG91dF9maWxlOgotIAljbG9zZShmZCk7Ci1AQCAtMTMxLDcgKzEzNyw4IEBAIG91dDoKLSAJcmV0dXJuIHJldDsKLSB9Ci0gCi0taW50IHNldF9wcmtleShzdHJ1Y3QgY29uZmlnICpjb25mLCBzdHJ1Y3QgbXVsdGlwYXRoICptcHAsIHVpbnQ2NF90IHBya2V5KQotK2ludCBzZXRfcHJrZXkoc3RydWN0IGNvbmZpZyAqY29uZiwgc3RydWN0IG11bHRpcGF0aCAqbXBwLCB1aW50NjRfdCBwcmtleSwKLSsJICAgICAgdWludDhfdCBzYV9mbGFncykKLSB7Ci0gCWludCBmZDsKLSAJaW50IGNhbl93cml0ZSA9IDE7Ci1AQCAtMTQxLDYgKzE0OCwxMiBAQCBpbnQgc2V0X3Bya2V5KHN0cnVjdCBjb25maWcgKmNvbmYsIHN0cnVjdCBtdWx0aXBhdGggKm1wcCwgdWludDY0X3QgcHJrZXkpCi0gCWlmICghc3RybGVuKG1wcC0+d3dpZCkpCi0gCQlnb3RvIG91dDsKLSAKLSsJaWYgKHNhX2ZsYWdzICYgfk1QQVRIX0ZfQVBUUExfTUFTSykgewotKwkJY29uZGxvZygwLCAidW5zdXBwb3J0ZWQgcHIgZmxhZ3MsIDB4JXgiLAotKwkJCXNhX2ZsYWdzICYgfk1QQVRIX0ZfQVBUUExfTUFTSyk7Ci0rCQlzYV9mbGFncyAmPSBNUEFUSF9GX0FQVFBMX01BU0s7Ci0rCX0KLSsKLSAJZmQgPSBvcGVuX2ZpbGUoY29uZi0+cHJrZXlzX2ZpbGUsICZjYW5fd3JpdGUsIFBSS0VZU19GSUxFX0hFQURFUik7Ci0gCWlmIChmZCA8IDApCi0gCQlnb3RvIG91dDsKLUBAIC0xNDksNyArMTYyLDE1IEBAIGludCBzZXRfcHJrZXkoc3RydWN0IGNvbmZpZyAqY29uZiwgc3RydWN0IG11bHRpcGF0aCAqbXBwLCB1aW50NjRfdCBwcmtleSkKLSAJCWdvdG8gb3V0X2ZpbGU7Ci0gCX0KLSAJaWYgKHBya2V5KSB7Ci0tCQlzbnByaW50ZihrZXlzdHIsIFBSS0VZX1NJWkUsICIweCUwMTYiIFBSSXg2NCwgcHJrZXkpOwotKwkJLyogdXNpbmcgdGhlIGNhcGl0YWxpemF0aW9uIG9mIHRoZSAneCcgaXMgYSBoYWNrLCBidXQKLSsJCSAqIGl0J3MgdW5saWtlbHkgdGhhdCBtcGF0aF9wZXJzaXN0IHdpbGwgc3VwcG9ydCBtb3JlIG9wdGlvbnMKLSsJCSAqIHNpbmNlIHNnX3BlcnNpc3QgZG9lc24ndCwgYW5kIHRoaXMgbGV0cyB1cyBrZWVwIHRoZQotKwkJICogc2FtZSBmaWxlIGZvcm1hdCBhcyBiZWZvcmUgaW5zdGVhZCBvZiBuZWVkaW5nIHRvIGNoYW5nZQotKwkJICogdGhlIGZvcm1hdCBvZiB0aGUgcHJrZXlzIGZpbGUgKi8KLSsJCWlmIChzYV9mbGFncykKLSsJCQlzbnByaW50ZihrZXlzdHIsIFBSS0VZX1NJWkUsICIwWCUwMTYiIFBSSXg2NCwgcHJrZXkpOwotKwkJZWxzZQotKwkJCXNucHJpbnRmKGtleXN0ciwgUFJLRVlfU0laRSwgIjB4JTAxNiIgUFJJeDY0LCBwcmtleSk7Ci0gCQlrZXlzdHJbUFJLRVlfU0laRSAtIDFdID0gJ1wwJzsKLSAJCXJldCA9IGRvX3Bya2V5KGZkLCBtcHAtPnd3aWQsIGtleXN0ciwgUFJLRVlfV1JJVEUpOwotIAl9Ci1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL3Bya2V5LmggYi9saWJtdWx0aXBhdGgvcHJrZXkuaAotaW5kZXggNDAyOGU3MC4uNjczOTE5MSAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9wcmtleS5oCi0rKysgYi9saWJtdWx0aXBhdGgvcHJrZXkuaAotQEAgLTEzLDcgKzEzLDkgQEAKLSAiIyBwcmtleSB3d2lkXG4iIFwKLSAiI1xuIgotIAotLWludCBzZXRfcHJrZXkoc3RydWN0IGNvbmZpZyAqY29uZiwgc3RydWN0IG11bHRpcGF0aCAqbXBwLCB1aW50NjRfdCBwcmtleSk7Ci0taW50IGdldF9wcmtleShzdHJ1Y3QgY29uZmlnICpjb25mLCBzdHJ1Y3QgbXVsdGlwYXRoICptcHAsIHVpbnQ2NF90ICpwcmtleSk7Ci0raW50IHNldF9wcmtleShzdHJ1Y3QgY29uZmlnICpjb25mLCBzdHJ1Y3QgbXVsdGlwYXRoICptcHAsIHVpbnQ2NF90IHBya2V5LAotKwkgICAgICB1aW50OF90IHNhX2ZsYWdzKTsKLStpbnQgZ2V0X3Bya2V5KHN0cnVjdCBjb25maWcgKmNvbmYsIHN0cnVjdCBtdWx0aXBhdGggKm1wcCwgdWludDY0X3QgKnBya2V5LAotKwkgICAgICB1aW50OF90ICpzYV9mbGFncyk7Ci0gCi0gI2VuZGlmIC8qIF9QUktFWV9IICovCi1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL3Byb3BzZWwuYyBiL2xpYm11bHRpcGF0aC9wcm9wc2VsLmMKLWluZGV4IDljYTEzNTUuLjYyYTY4OTMgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvcHJvcHNlbC5jCi0rKysgYi9saWJtdWx0aXBhdGgvcHJvcHNlbC5jCi1AQCAtMTA2LDYgKzEwNiw3IEBAIGRvIHsJCQkJCQkJCQlcCi0gCWlmIChzcmMgJiYgc3JjLT5wcmtleV9zb3VyY2UgIT0gUFJLRVlfU09VUkNFX05PTkUpIHsJCVwKLSAJCW1wLT5wcmtleV9zb3VyY2UgPSBzcmMtPnBya2V5X3NvdXJjZTsJCQlcCi0gCQltcC0+cmVzZXJ2YXRpb25fa2V5ID0gc3JjLT5yZXNlcnZhdGlvbl9rZXk7CQlcCi0rCQltcC0+c2FfZmxhZ3MgPSBzcmMtPnNhX2ZsYWdzOwkJCQlcCi0gCQlvcmlnaW4gPSBtc2c7CQkJCQkJXAotIAkJZ290byBvdXQ7CQkJCQkJXAotIAl9CQkJCQkJCQlcCi1AQCAtNzAzLDE4ICs3MDQsMTkgQEAgaW50IHNlbGVjdF9yZXNlcnZhdGlvbl9rZXkoc3RydWN0IGNvbmZpZyAqY29uZiwgc3RydWN0IG11bHRpcGF0aCAqbXApCi0gCWRvX3Bya2V5X3NldChtcC0+bXBlLCBtdWx0aXBhdGhzX29yaWdpbik7Ci0gCWRvX3Bya2V5X3NldChjb25mLCBjb25mX29yaWdpbik7Ci0gCXB1dF9iZTY0KG1wLT5yZXNlcnZhdGlvbl9rZXksIDApOwotKwltcC0+c2FfZmxhZ3MgPSAwOwotIAltcC0+cHJrZXlfc291cmNlID0gUFJLRVlfU09VUkNFX05PTkU7Ci0gCXJldHVybiAwOwotIG91dDoKLSAJaWYgKG1wLT5wcmtleV9zb3VyY2UgPT0gUFJLRVlfU09VUkNFX0ZJTEUpIHsKLSAJCWZyb21fZmlsZSA9ICIgKGZyb20gcHJrZXlzIGZpbGUpIjsKLS0JCWlmIChnZXRfcHJrZXkoY29uZiwgbXAsICZwcmtleSkgIT0gMCkKLSsJCWlmIChnZXRfcHJrZXkoY29uZiwgbXAsICZwcmtleSwgJm1wLT5zYV9mbGFncykgIT0gMCkKLSAJCQlwdXRfYmU2NChtcC0+cmVzZXJ2YXRpb25fa2V5LCAwKTsKLSAJCWVsc2UKLSAJCQlwdXRfYmU2NChtcC0+cmVzZXJ2YXRpb25fa2V5LCBwcmtleSk7Ci0gCX0KLSAJcHJpbnRfcmVzZXJ2YXRpb25fa2V5KGJ1ZmYsIFBSS0VZX1NJWkUsIG1wLT5yZXNlcnZhdGlvbl9rZXksCi0tCQkJICAgICAgbXAtPnBya2V5X3NvdXJjZSk7Ci0rCQkJICAgICAgbXAtPnNhX2ZsYWdzLCBtcC0+cHJrZXlfc291cmNlKTsKLSAJY29uZGxvZygzLCAiJXM6IHJlc2VydmF0aW9uX2tleSA9ICVzICVzJXMiLCBtcC0+YWxpYXMsIGJ1ZmYsIG9yaWdpbiwKLSAJCWZyb21fZmlsZSk7Ci0gCXJldHVybiAwOwotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9zdHJ1Y3RzLmggYi9saWJtdWx0aXBhdGgvc3RydWN0cy5oCi1pbmRleCAwMTk0YjFlLi45ODc0NzlmIDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL3N0cnVjdHMuaAotKysrIGIvbGlibXVsdGlwYXRoL3N0cnVjdHMuaAotQEAgLTM2Nyw2ICszNjcsNyBAQCBzdHJ1Y3QgbXVsdGlwYXRoIHsKLSAJLyogcGVyc2lzdGVudCBtYW5hZ2VtZW50IGRhdGEqLwotIAlpbnQgcHJrZXlfc291cmNlOwotIAlzdHJ1Y3QgYmU2NCByZXNlcnZhdGlvbl9rZXk7Ci0rCXVpbnQ4X3Qgc2FfZmxhZ3M7Ci0gCXVuc2lnbmVkIGNoYXIgcHJmbGFnOwotIAlpbnQgYWxsX3RnX3B0OwotIAlzdHJ1Y3QgZ2VuX211bHRpcGF0aCBnZW5lcmljX21wOwotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC91dGlsLmMgYi9saWJtdWx0aXBhdGgvdXRpbC5jCi1pbmRleCA3MjUxYWQwLi44ZDhmY2M4IDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL3V0aWwuYwotKysrIGIvbGlibXVsdGlwYXRoL3V0aWwuYwotQEAgLTEwLDYgKzEwLDggQEAKLSAjaW5jbHVkZSA8ZGlyZW50Lmg+Ci0gI2luY2x1ZGUgPHVuaXN0ZC5oPgotICNpbmNsdWRlIDxlcnJuby5oPgotKyNpbmNsdWRlIDxsaWJ1ZGV2Lmg+Ci0rI2luY2x1ZGUgPG1wYXRoX3BlcnNpc3QuaD4KLSAKLSAjaW5jbHVkZSAidXRpbC5oIgotICNpbmNsdWRlICJkZWJ1Zy5oIgotQEAgLTQzNSw2ICs0MzcsMjAgQEAgaW50IHBhcnNlX3Bya2V5KGNoYXIgKnB0ciwgdWludDY0X3QgKnBya2V5KQotIAlyZXR1cm4gMDsKLSB9Ci0gCi0raW50IHBhcnNlX3Bya2V5X2ZsYWdzKGNoYXIgKnB0ciwgdWludDY0X3QgKnBya2V5LCB1aW50OF90ICpmbGFncykKLSt7Ci0rCWNoYXIgKmZsYWdzdHI7Ci0rCi0rCWZsYWdzdHIgPSBzdHJjaHIocHRyLCAnOicpOwotKwkqZmxhZ3MgPSAwOwotKwlpZiAoZmxhZ3N0cikgewotKwkJKmZsYWdzdHIrKyA9ICdcMCc7Ci0rCQlpZiAoc3RybGVuKGZsYWdzdHIpID09IDUgJiYgc3RyY21wKGZsYWdzdHIsICJhcHRwbCIpID09IDApCi0rCQkJKmZsYWdzID0gTVBBVEhfRl9BUFRQTF9NQVNLOwotKwl9Ci0rCXJldHVybiBwYXJzZV9wcmtleShwdHIsIHBya2V5KTsKLSt9Ci0rCi0gaW50IHNhZmVfd3JpdGUoaW50IGZkLCBjb25zdCB2b2lkICpidWYsIHNpemVfdCBjb3VudCkKLSB7Ci0gCXdoaWxlIChjb3VudCA+IDApIHsKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvdXRpbC5oIGIvbGlibXVsdGlwYXRoL3V0aWwuaAotaW5kZXggYTNhYjg5NC4uNTZjZWM3NiAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC91dGlsLmgKLSsrKyBiL2xpYm11bHRpcGF0aC91dGlsLmgKLUBAIC0xOSw2ICsxOSw3IEBAIHZvaWQgc2V0dXBfdGhyZWFkX2F0dHIocHRocmVhZF9hdHRyX3QgKmF0dHIsIHNpemVfdCBzdGFja3NpemUsIGludCBkZXRhY2hlZCk7Ci0gaW50IHN5c3RlbWRfc2VydmljZV9lbmFibGVkKGNvbnN0IGNoYXIgKmRldik7Ci0gaW50IGdldF9saW51eF92ZXJzaW9uX2NvZGUodm9pZCk7Ci0gaW50IHBhcnNlX3Bya2V5KGNoYXIgKnB0ciwgdWludDY0X3QgKnBya2V5KTsKLStpbnQgcGFyc2VfcHJrZXlfZmxhZ3MoY2hhciAqcHRyLCB1aW50NjRfdCAqcHJrZXksIHVpbnQ4X3QgKmZsYWdzKTsKLSBpbnQgc2FmZV93cml0ZShpbnQgZmQsIGNvbnN0IHZvaWQgKmJ1Ziwgc2l6ZV90IGNvdW50KTsKLSAKLSAjZGVmaW5lIEtFUk5FTF9WRVJTSU9OKG1haiwgbWluLCBwdGMpICgoKChtYWopICogMjU2KSArIChtaW4pKSAqIDI1NiArIChwdGMpKQotZGlmZiAtLWdpdCBhL211bHRpcGF0aC9tdWx0aXBhdGguY29uZi41IGIvbXVsdGlwYXRoL211bHRpcGF0aC5jb25mLjUKLWluZGV4IDMxZjQ1ODUuLjMwZDg1OTggMTAwNjQ0Ci0tLS0gYS9tdWx0aXBhdGgvbXVsdGlwYXRoLmNvbmYuNQotKysrIGIvbXVsdGlwYXRoL211bHRpcGF0aC5jb25mLjUKLUBAIC03MjYsMTQgKzcyNiwxNyBAQCBUaGlzIGlzIHRoZSBzZXJ2aWNlIGFjdGlvbiByZXNlcnZhdGlvbiBrZXkgdXNlZCBieSBtcGF0aHBlcnNpc3QuIEl0IG11c3QgYmUKLSBzZXQgZm9yIGFsbCBtdWx0aXBhdGggZGV2aWNlcyB1c2luZyBwZXJzaXN0ZW50IHJlc2VydmF0aW9ucywgYW5kIGl0IG11c3QgYmUKLSB0aGUgc2FtZSBhcyB0aGUgUkVTRVJWQVRJT04gS0VZIGZpZWxkIG9mIHRoZSBQRVJTSVNURU5UIFJFU0VSVkUgT1VUIHBhcmFtZXRlcgotIGxpc3Qgd2hpY2ggY29udGFpbnMgYW4gOC1ieXRlIHZhbHVlIHByb3ZpZGVkIGJ5IHRoZSBhcHBsaWNhdGlvbiBjbGllbnQgdG8gdGhlCi0tZGV2aWNlIHNlcnZlciB0byBpZGVudGlmeSB0aGUgSV9UIG5leHVzLgotK2RldmljZSBzZXJ2ZXIgdG8gaWRlbnRpZnkgdGhlIElfVCBuZXh1cy4gSWYgdGhlIFxmSS0tcGFyYW0tYXB0cGxcZlIgb3B0aW9uIGlzCi0rdXNlZCB3aGVuIHJlZ2lzdGVyaW5nIHRoZSBrZXkgd2l0aCBtcGF0aHBlcnNpc3QsIFxmQjphcHRwbFxmUiBtdXN0IGJlIGFwcGVuZGVkCi0rdG8gdGhlIGVuZCBvZiB0aGUgcmVzZXJ2YXRpb24ga2V5LgotIC5SUwotIC5QUAotIEFsdGVybmF0aXZlbHksIHRoaXMgY2FuIGJlIHNldCB0byBcZkJmaWxlXGZSLCB3aGljaCB3aWxsIHN0b3JlIHRoZSBSRVNFUlZBVElPTgotIEtFWSByZWdpc3RlcmVkIGJ5IG1wYXRocGVyc2lzdCBpbiB0aGUgXGZJcHJrZXlzX2ZpbGVcZlIuIG11bHRpcGF0aGQgd2lsbCB0aGVuCi0gdXNlIHRoaXMga2V5IHRvIHJlZ2lzdGVyIGFkZGl0aW9uYWwgcGF0aHMgYXMgdGhleSBhcHBlYXIuICBXaGVuIHRoZQotIHJlZ2lzdHJhdGlvbiBpcyByZW1vdmVkLCB0aGUgUkVTRVJWQVRJT04gS0VZIGlzIHJlbW92ZWQgZnJvbSB0aGUKLS1cZklwcmtleXNfZmlsZVxmUi4KLStcZklwcmtleXNfZmlsZVxmUi4gVGhlIHBya2V5cyBmaWxlIHdpbGwgYXV0b21hdGljYWxseSBrZWVwIHRyYWNrIG9mIHdoZXRoZXIKLSt0aGUga2V5IHdhcyByZWdpc3RlcmVkIHdpdGggXGZJLS1wYXJhbS1hcHRwbFxmUi4KLSAuVFAKLSBUaGUgZGVmYXVsdCBpczogXGZCPHVuc2V0PlxmUgotIC5SRQotZGlmZiAtLWdpdCBhL211bHRpcGF0aGQvY2xpX2hhbmRsZXJzLmMgYi9tdWx0aXBhdGhkL2NsaV9oYW5kbGVycy5jCi1pbmRleCBiYTUwZmI4Li42NDUyNzk2IDEwMDY0NAotLS0tIGEvbXVsdGlwYXRoZC9jbGlfaGFuZGxlcnMuYwotKysrIGIvbXVsdGlwYXRoZC9jbGlfaGFuZGxlcnMuYwotQEAgLTIxLDYgKzIxLDcgQEAKLSAjaW5jbHVkZSAic3lzZnMuaCIKLSAjaW5jbHVkZSA8ZXJybm8uaD4KLSAjaW5jbHVkZSA8bGlidWRldi5oPgotKyNpbmNsdWRlIDxtcGF0aF9wZXJzaXN0Lmg+Ci0gI2luY2x1ZGUgInV0aWwuaCIKLSAjaW5jbHVkZSAicHJrZXkuaCIKLSAjaW5jbHVkZSAicHJvcHNlbC5oIgotQEAgLTE0NjMsNiArMTQ2NCw3IEBAIGNsaV9nZXRwcmtleSh2b2lkICogdiwgY2hhciAqKiByZXBseSwgaW50ICogbGVuLCB2b2lkICogZGF0YSkKLSAJc3RydWN0IG11bHRpcGF0aCAqIG1wcDsKLSAJc3RydWN0IHZlY3RvcnMgKiB2ZWNzID0gKHN0cnVjdCB2ZWN0b3JzICopZGF0YTsKLSAJY2hhciAqbWFwbmFtZSA9IGdldF9rZXlwYXJhbSh2LCBNQVApOwotKwljaGFyICpmbGFnc3RyID0gIiI7Ci0gCi0gCW1hcG5hbWUgPSBjb252ZXJ0X2RldihtYXBuYW1lLCAwKTsKLSAJY29uZGxvZygzLCAiJXM6IGdldCBwZXJzaXN0ZW50IHJlc2VydmF0aW9uIGtleSAob3BlcmF0b3IpIiwgbWFwbmFtZSk7Ci1AQCAtMTQ3OCw4ICsxNDgwLDEwIEBAIGNsaV9nZXRwcmtleSh2b2lkICogdiwgY2hhciAqKiByZXBseSwgaW50ICogbGVuLCB2b2lkICogZGF0YSkKLSAJCSpsZW4gPSBzdHJsZW4oKnJlcGx5KSArIDE7Ci0gCQlyZXR1cm4gMDsKLSAJfQotLQlzbnByaW50ZigqcmVwbHksIDIwLCAiMHglIiBQUkl4NjQgIlxuIiwKLS0JCSBnZXRfYmU2NChtcHAtPnJlc2VydmF0aW9uX2tleSkpOwotKwlpZiAobXBwLT5zYV9mbGFncyAmIE1QQVRIX0ZfQVBUUExfTUFTSykKLSsJCWZsYWdzdHIgPSAiOmFwdHBsIjsKLSsJc25wcmludGYoKnJlcGx5LCAyMCwgIjB4JSIgUFJJeDY0ICIlc1xuIiwKLSsJCSBnZXRfYmU2NChtcHAtPnJlc2VydmF0aW9uX2tleSksIGZsYWdzdHIpOwotIAkoKnJlcGx5KVsxOV0gPSAnXDAnOwotIAkqbGVuID0gc3RybGVuKCpyZXBseSkgKyAxOwotIAlyZXR1cm4gMDsKLUBAIC0xNTAzLDcgKzE1MDcsNyBAQCBjbGlfdW5zZXRwcmtleSh2b2lkICogdiwgY2hhciAqKiByZXBseSwgaW50ICogbGVuLCB2b2lkICogZGF0YSkKLSAKLSAJY29uZiA9IGdldF9tdWx0aXBhdGhfY29uZmlnKCk7Ci0gCXB0aHJlYWRfY2xlYW51cF9wdXNoKHB1dF9tdWx0aXBhdGhfY29uZmlnLCBjb25mKTsKLS0JcmV0ID0gc2V0X3Bya2V5KGNvbmYsIG1wcCwgMCk7Ci0rCXJldCA9IHNldF9wcmtleShjb25mLCBtcHAsIDAsIDApOwotIAlwdGhyZWFkX2NsZWFudXBfcG9wKDEpOwotIAotIAlyZXR1cm4gcmV0OwotQEAgLTE1MTcsNiArMTUyMSw3IEBAIGNsaV9zZXRwcmtleSh2b2lkICogdiwgY2hhciAqKiByZXBseSwgaW50ICogbGVuLCB2b2lkICogZGF0YSkKLSAJY2hhciAqbWFwbmFtZSA9IGdldF9rZXlwYXJhbSh2LCBNQVApOwotIAljaGFyICprZXlwYXJhbSA9IGdldF9rZXlwYXJhbSh2LCBLRVkpOwotIAl1aW50NjRfdCBwcmtleTsKLSsJdWludDhfdCBmbGFnczsKLSAJaW50IHJldDsKLSAJc3RydWN0IGNvbmZpZyAqY29uZjsKLSAKLUBAIC0xNTI3LDE0ICsxNTMyLDE0IEBAIGNsaV9zZXRwcmtleSh2b2lkICogdiwgY2hhciAqKiByZXBseSwgaW50ICogbGVuLCB2b2lkICogZGF0YSkKLSAJaWYgKCFtcHApCi0gCQlyZXR1cm4gMTsKLSAKLS0JaWYgKHBhcnNlX3Bya2V5KGtleXBhcmFtLCAmcHJrZXkpICE9IDApIHsKLSsJaWYgKHBhcnNlX3Bya2V5X2ZsYWdzKGtleXBhcmFtLCAmcHJrZXksICZmbGFncykgIT0gMCkgewotIAkJY29uZGxvZygwLCAiJXM6IGludmFsaWQgcHJrZXkgOiAnJXMnIiwgbWFwbmFtZSwga2V5cGFyYW0pOwotIAkJcmV0dXJuIDE7Ci0gCX0KLSAKLSAJY29uZiA9IGdldF9tdWx0aXBhdGhfY29uZmlnKCk7Ci0gCXB0aHJlYWRfY2xlYW51cF9wdXNoKHB1dF9tdWx0aXBhdGhfY29uZmlnLCBjb25mKTsKLS0JcmV0ID0gc2V0X3Bya2V5KGNvbmYsIG1wcCwgcHJrZXkpOwotKwlyZXQgPSBzZXRfcHJrZXkoY29uZiwgbXBwLCBwcmtleSwgZmxhZ3MpOwotIAlwdGhyZWFkX2NsZWFudXBfcG9wKDEpOwotIAotIAlyZXR1cm4gcmV0OwotZGlmZiAtLWdpdCBhL211bHRpcGF0aGQvbWFpbi5jIGIvbXVsdGlwYXRoZC9tYWluLmMKLWluZGV4IGQ0MGM0MTYuLjZiMWU3ODIgMTAwNjQ0Ci0tLS0gYS9tdWx0aXBhdGhkL21haW4uYwotKysrIGIvbXVsdGlwYXRoZC9tYWluLmMKLUBAIC0zMDg5LDYgKzMwODksNyBAQCB2b2lkICogIG1wYXRoX3ByX2V2ZW50X2hhbmRsZXJfZm4gKHZvaWQgKiBwYXRocCApCi0gCi0gCXBhcmFtPSBtYWxsb2Moc2l6ZW9mKHN0cnVjdCBwcm91dF9wYXJhbV9kZXNjcmlwdG9yKSk7Ci0gCW1lbXNldChwYXJhbSwgMCAsIHNpemVvZihzdHJ1Y3QgcHJvdXRfcGFyYW1fZGVzY3JpcHRvcikpOwotKwlwYXJhbS0+c2FfZmxhZ3MgPSBtcHAtPnNhX2ZsYWdzOwotIAltZW1jcHkocGFyYW0tPnNhX2tleSwgJm1wcC0+cmVzZXJ2YXRpb25fa2V5LCA4KTsKLSAJcGFyYW0tPm51bV90cmFuc3BvcnRpZCA9IDA7Ci0gCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDE4LW11bHRpcGF0aC1kb24tdC1jaGVjay10aW1lc3RhbXBzLXdpdGhvdXQtYS1wYXRoLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTgtbXVsdGlwYXRoLWRvbi10LWNoZWNrLXRpbWVzdGFtcHMtd2l0aG91dC1hLXBhdGgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhM2ZkODMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTgtbXVsdGlwYXRoLWRvbi10LWNoZWNrLXRpbWVzdGFtcHMtd2l0aG91dC1hLXBhdGgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci1EYXRlOiBUdWUsIDUgSnVuIDIwMTggMTU6MzE6NTUgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSF0gbXVsdGlwYXRoOiBkb24ndCBjaGVjayB0aW1lc3RhbXBzIHdpdGhvdXQgYSBwYXRoCi0KLUlmIGEgcGF0aCB3YXMgYmxhY2tsaXN0ZWQsIHBhdGh2ZWMgY291bGQgZXhpc3QgYnV0IGhhdmUgbm8gcGF0aCBpbiBpdC4KLXByaW50X2NtZF92YWxpZCB3YXNuJ3QgY2hlY2tpbmcgdGhpcyBiZWZvcmUgY2FsbGluZwotZmluZF9tdWx0aXBhdGhzX2NoZWNrX3RpbWVvdXQoKS4gVGhpcyB3YXMgY2F1c2luZyBpdCB0byBkZXJlZmVyZW5jZSBhCi1OVUxMIHBvaW50ZXIgaW4gdGhlc2UgY2FzZXMuCi0KLVNpZ25lZC1vZmYtYnk6IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLS0tLQotIG11bHRpcGF0aC9tYWluLmMgfCA0ICstLS0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9tdWx0aXBhdGgvbWFpbi5jIGIvbXVsdGlwYXRoL21haW4uYwotaW5kZXggYzY5ZTk5Ni4uM2YwYTZhYSAxMDA2NDQKLS0tLSBhL211bHRpcGF0aC9tYWluLmMKLSsrKyBiL211bHRpcGF0aC9tYWluLmMKLUBAIC00ODIsMTAgKzQ4Miw4IEBAIHN0YXRpYyBpbnQgcHJpbnRfY21kX3ZhbGlkKGludCBrLCBjb25zdCB2ZWN0b3IgcGF0aHZlYywKLSAJCQlwcCwgcHAtPmZpbmRfbXVsdGlwYXRoc190aW1lb3V0LCAmdW50aWwpOwotIAkJaWYgKHdhaXQgIT0gRklORF9NVUxUSVBBVEhTX1dBSVRJTkcpCi0gCQkJayA9IDE7Ci0tCX0gZWxzZSBpZiAocGF0aHZlYyAhPSBOVUxMKSB7Ci0tCQlwcCA9IFZFQ1RPUl9TTE9UKHBhdGh2ZWMsIDApOwotKwl9IGVsc2UgaWYgKHBhdGh2ZWMgIT0gTlVMTCAmJiAocHAgPSBWRUNUT1JfU0xPVChwYXRodmVjLCAwKSkpCi0gCQl3YWl0ID0gZmluZF9tdWx0aXBhdGhzX2NoZWNrX3RpbWVvdXQocHAsIDAsICZ1bnRpbCk7Ci0tCX0KLSAJaWYgKHdhaXQgPT0gRklORF9NVUxUSVBBVEhTX1dBSVRJTkcpCi0gCQlwcmludGYoIkZJTkRfTVVMVElQQVRIU19XQUlUX1VOVElMPVwiJWxkLiUwNmxkXCJcbiIsCi0gCQkJICAgICAgIHVudGlsLnR2X3NlYywgdW50aWwudHZfbnNlYy8xMDAwKTsKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTktbGlibXVsdGlwYXRoLWZpeC1kZXRlY3QtYWx1YS1jb3JuZXItY2FzZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDE5LWxpYm11bHRpcGF0aC1maXgtZGV0ZWN0LWFsdWEtY29ybmVyLWNhc2UucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIzOTA4ZmEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTktbGlibXVsdGlwYXRoLWZpeC1kZXRlY3QtYWx1YS1jb3JuZXItY2FzZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLURhdGU6IEZyaSwgOCBKdW4gMjAxOCAxNzoxMjozNyAtMDUwMAotU3ViamVjdDogW1BBVENIXSBsaWJtdWx0aXBhdGg6IGZpeCBkZXRlY3QgYWx1YSBjb3JuZXIgY2FzZQotCi1JZiByZXRhaW5fYXR0YWNoX2h3X2hhbmRsZXIgPSBubywgdGhlbiB0aGUgcGF0aHMgdHBncyBzdGF0ZSB3aWxsIG5ldmVyCi1iZSBjaGVja2VkLCBhbmQgdGhlIG11bHRpcGF0aCBkZXZpY2Ugd2lsbCBhbHdheXMgc2VsZWN0IHRoZSBhbHVhCi1oYW5kbGVyLCBpZiBubyBvdGhlciBoYW5kbGVyIGlzIHNlbGVjdGVkLiB0aGUgcGF0aHMgdHBncyBzdGF0ZQotc2hvdWxkIGJlIGNoZWNrZWQsIHJlZ2FyZGxlc3Mgb2YgdGhlIHJldGFpbl9od2hhbmRsZXIgdmFsdWUuCi0KLVNpZ25lZC1vZmYtYnk6IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLS0tLQotIGxpYm11bHRpcGF0aC9wcm9wc2VsLmMgfCA0ICsrKy0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvcHJvcHNlbC5jIGIvbGlibXVsdGlwYXRoL3Byb3BzZWwuYwotaW5kZXggNjJhNjg5My4uZjYyNmM3NCAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9wcm9wc2VsLmMKLSsrKyBiL2xpYm11bHRpcGF0aC9wcm9wc2VsLmMKLUBAIC00MDMsOSArNDAzLDExIEBAIGludCBzZWxlY3RfaHdoYW5kbGVyKHN0cnVjdCBjb25maWcgKmNvbmYsIHN0cnVjdCBtdWx0aXBhdGggKm1wKQotIAlib29sIGFsbF90cGdzID0gdHJ1ZTsKLSAKLSAJZGhfc3RhdGUgPSAmaGFuZGxlclsyXTsKLSsKLSsJdmVjdG9yX2ZvcmVhY2hfc2xvdChtcC0+cGF0aHMsIHBwLCBpKQotKwkJYWxsX3RwZ3MgPSBhbGxfdHBncyAmJiAocHAtPnRwZ3MgPiAwKTsKLSAJaWYgKG1wLT5yZXRhaW5faHdoYW5kbGVyICE9IFJFVEFJTl9IV0hBTkRMRVJfT0ZGKSB7Ci0gCQl2ZWN0b3JfZm9yZWFjaF9zbG90KG1wLT5wYXRocywgcHAsIGkpIHsKLS0JCQlhbGxfdHBncyA9IGFsbF90cGdzICYmIChwcC0+dHBncyA+IDApOwotIAkJCWlmIChnZXRfZGhfc3RhdGUocHAsIGRoX3N0YXRlLCBzaXplb2YoaGFuZGxlcikgLSAyKSA+IDAKLSAJCQkgICAgJiYgc3RyY21wKGRoX3N0YXRlLCAiZGV0YWNoZWQiKSkgewotIAkJCQltZW1jcHkoaGFuZGxlciwgIjEgIiwgMik7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDIwLW11bHRpcGF0aC1maXgtc2V0dGluZy1jb25mLXZlcnNpb24ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyMC1tdWx0aXBhdGgtZml4LXNldHRpbmctY29uZi12ZXJzaW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MjRmNDVlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDIwLW11bHRpcGF0aC1maXgtc2V0dGluZy1jb25mLXZlcnNpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci1EYXRlOiBGcmksIDggSnVuIDIwMTggMTc6MjM6MDcgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSF0gbXVsdGlwYXRoOiBmaXggc2V0dGluZyBjb25mLT52ZXJzaW9uCi0KLUNvbW1pdCBkM2I3MTQ5OCBzdG9wcGVkIG11bHRpcGF0aCBmcm9tIHNldHRpbmcgY29uZi0+dmVyc2lvbi4gSW5zdGVhZCwKLWl0IHdhcyBhbHdheXMgYmVpbmcgc2V0IHRvIDAuMC4wLiBNdWx0aXBhdGhkIHdhcyBzdGlsbCBzZXR0aW5nIHRoaXMKLWNvcnJlY3RseS4KLQotRml4ZXM6IGQzYjcxNDk4ICJtdWx0aXBhdGg6IGZpeCByY3UgdGhyZWFkIGNhbmNlbGxhdGlvbiBoYW5nIgotU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotLS0tCi0gbGlibXVsdGlwYXRoL2Rldm1hcHBlci5jIHwgNiArKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2Rldm1hcHBlci5jIGIvbGlibXVsdGlwYXRoL2Rldm1hcHBlci5jCi1pbmRleCBmMmJlZmFkLi44MTM2ZDE1IDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL2Rldm1hcHBlci5jCi0rKysgYi9saWJtdWx0aXBhdGgvZGV2bWFwcGVyLmMKLUBAIC0yNDUsMTMgKzI0NSwxMyBAQCB2b2lkIGxpYm1wX2RtX2luaXQodm9pZCkKLSAJaW50IHZlcmJvc2l0eTsKLSAJdW5zaWduZWQgaW50IHZlcnNpb25bM107Ci0gCi0rCWlmIChkbV9wcmVyZXEodmVyc2lvbikpCi0rCQlleGl0KDEpOwotIAljb25mID0gZ2V0X211bHRpcGF0aF9jb25maWcoKTsKLSAJdmVyYm9zaXR5ID0gY29uZi0+dmVyYm9zaXR5OwotLQltZW1jcHkodmVyc2lvbiwgY29uZi0+dmVyc2lvbiwgc2l6ZW9mKHZlcnNpb24pKTsKLSsJbWVtY3B5KGNvbmYtPnZlcnNpb24sIHZlcnNpb24sIHNpemVvZih2ZXJzaW9uKSk7Ci0gCXB1dF9tdWx0aXBhdGhfY29uZmlnKGNvbmYpOwotIAlkbV9pbml0KHZlcmJvc2l0eSk7Ci0tCWlmIChkbV9wcmVyZXEodmVyc2lvbikpCi0tCQlleGl0KDEpOwotIAlkbV91ZGV2X3NldF9zeW5jX3N1cHBvcnQobGlibXBfZG1fdWRldl9zeW5jKTsKLSB9Ci0gCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDIxLVJILWZpeHVwLXVkZXYtcnVsZXMtZm9yLXJlZGhhdC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDIxLVJILWZpeHVwLXVkZXYtcnVsZXMtZm9yLXJlZGhhdC5wYXRjaAppbmRleCA0ZWYzZTcwLi5lODhlMjU2IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyMS1SSC1maXh1cC11ZGV2LXJ1bGVzLWZvci1yZWRoYXQucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjEtUkgtZml4dXAtdWRldi1ydWxlcy1mb3ItcmVkaGF0LnBhdGNoCkBAIC0xMCwxOCArMTAsMjEgQEAKIHRvby4KIAogU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgorCitVcGRhdGUgcGF0Y2ggdG8gMC44LjAKKworU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KIC0tLQogIE1ha2VmaWxlLmluYyAgICAgICAgfCAyICstCiAga3BhcnR4L2twYXJ0eC5ydWxlcyB8IDIgKy0KICBtdWx0aXBhdGgvTWFrZWZpbGUgIHwgNCArKy0tCi0gbXVsdGlwYXRoL21haW4uYyAgICB8IDIgKy0KLSA0IGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKyAzIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL01ha2VmaWxlLmluYyBiL01ha2VmaWxlLmluYwotaW5kZXggYWYyZjViYS4uMGIyNzFlYSAxMDA2NDQKK2luZGV4IGZjNzI4Y2EuLjJmMGJjZWEgMTAwNjQ0CiAtLS0gYS9NYWtlZmlsZS5pbmMKICsrKyBiL01ha2VmaWxlLmluYwotQEAgLTUxLDcgKzUxLDcgQEAgZW5kaWYKK0BAIC00OCw3ICs0OCw3IEBAIGVuZGlmCiAgcHJlZml4CQk9CiAgZXhlY19wcmVmaXgJPSAkKHByZWZpeCkKICB1c3JfcHJlZml4CT0gJChwcmVmaXgpCkBAIC02NCwxOSArNjcsNiBAQAogIAkkKFJNKSAkKERFU1RESVIpJChtYW44ZGlyKS8kKEVYRUMpLjguZ3oKICAJJChSTSkgJChERVNURElSKSQobWFuNWRpcikvJChFWEVDKS5jb25mLjUuZ3oKICAKLWRpZmYgLS1naXQgYS9tdWx0aXBhdGgvbWFpbi5jIGIvbXVsdGlwYXRoL21haW4uYwotaW5kZXggM2YwYTZhYS4uNmZkZGUwMyAxMDA2NDQKLS0tLSBhL211bHRpcGF0aC9tYWluLmMKLSsrKyBiL211bHRpcGF0aC9tYWluLmMKLUBAIC0zODksNyArMzg5LDcgQEAgc3RhdGljIGludCBmaW5kX211bHRpcGF0aHNfY2hlY2tfdGltZW91dChjb25zdCBzdHJ1Y3QgcGF0aCAqcHAsIGxvbmcgdG1vLAotIAlzdHJ1Y3QgdGltZXNwZWMgbm93LCBmdGltZXNbMl0sIHRkaWZmOwotIAlzdHJ1Y3Qgc3RhdCBzdDsKLSAJbG9uZyBmZDsKLS0JaW50IHIsIGVyciwgcmV0cmllcyA9IDA7Ci0rCWludCByLCBlcnIgPSAwLCByZXRyaWVzID0gMDsKLSAKLSAJY2xvY2tfZ2V0dGltZShDTE9DS19SRUFMVElNRSwgJm5vdyk7Ci0gCiAtLSAKIDIuNy40CiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDIyLVJILVJlbW92ZS10aGUtcHJvcGVydHktYmxhY2tsaXN0LWV4Y2VwdGlvbi1idWlsdGluLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjItUkgtUmVtb3ZlLXRoZS1wcm9wZXJ0eS1ibGFja2xpc3QtZXhjZXB0aW9uLWJ1aWx0aW4ucGF0Y2gKaW5kZXggNDUxYzUyNC4uZmQxMDYwOCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjItUkgtUmVtb3ZlLXRoZS1wcm9wZXJ0eS1ibGFja2xpc3QtZXhjZXB0aW9uLWJ1aWx0aW4ucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjItUkgtUmVtb3ZlLXRoZS1wcm9wZXJ0eS1ibGFja2xpc3QtZXhjZXB0aW9uLWJ1aWx0aW4ucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDIgSnVsIDIwMTQgMTI6NDk6NTMgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSF0gUkg6IFJlbW92ZSB0aGUgcHJvcGVydHkgYmxhY2tsaXN0IGV4Y2VwdGlvbiBidWlsdGluCitGcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAgMDA6MDA6MDAgMjAwMQorRnJvbTpCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+IAorRGF0ZTogV2VkLCAyIEp1bCAgMjAxNCAxMjo0OTo1MyAtMDUwMCAKK1N1YmplY3Q6IFtQQVRDSF0gUkg6IFJlbW92ZSB0aGUgcHJvcGVydHkgYmxhY2tsaXN0ICBleGNlcHRpb24gYnVpbHRpbgogCiBNdWx0aXBhdGggc2V0IHRoZSBkZWZhdWx0IHByb3BlcnR5IGJsYWNrbGlzdCBleGNlcHRpb25zIHRvCiAoSURfU0NTSV9WUER8SURfV1dOKS4gIFRoaXMgaGFzIHRoZSBlZmZlY3Qgb2YgYmxhY2tsaXN0aW5nIHNvbWUgaW50ZXJuYWwKQEAgLTEyLDc2ICsxMiw0NiBAQAogaXQuCiAKIFNpZ25lZC1vZmYtYnk6IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KKworVXBzdGVhbS1TdGF0dXM6IFBlbmRpbmcKKworVXBkYXRlIHBhdGNoIHRvIDAuOC4wCitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgogLS0tCi0gbGlibXVsdGlwYXRoL2JsYWNrbGlzdC5jICAgfCAxNSArKysrKystLS0tLS0tLS0KLSBtdWx0aXBhdGgvbXVsdGlwYXRoLmNvbmYuNSB8IDE0ICsrKysrKysrLS0tLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKKyBsaWJtdWx0aXBhdGgvYmxhY2tsaXN0LmMgfCAxMyArKysrKy0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9ibGFja2xpc3QuYyBiL2xpYm11bHRpcGF0aC9ibGFja2xpc3QuYwotaW5kZXggZWUzOTZlMi4uMTlkNDY5NyAxMDA2NDQKK2luZGV4IGUwZDAyNzkuLjlmNTgzMTMgMTAwNjQ0CiAtLS0gYS9saWJtdWx0aXBhdGgvYmxhY2tsaXN0LmMKICsrKyBiL2xpYm11bHRpcGF0aC9ibGFja2xpc3QuYwotQEAgLTE4MSwxMiArMTgxLDYgQEAgc2V0dXBfZGVmYXVsdF9ibGlzdCAoc3RydWN0IGNvbmZpZyAqIGNvbmYpCi0gCWlmIChzdG9yZV9ibGUoY29uZi0+Ymxpc3RfZGV2bm9kZSwgc3RyLCBPUklHSU5fREVGQVVMVCkpCi0gCQlyZXR1cm4gMTsKK0BAIC0xOTIsMTIgKzE5Miw2IEBAIHNldHVwX2RlZmF1bHRfYmxpc3QgKHN0cnVjdCBjb25maWcgKiBjb25mKQorIAljaGFyICogc3RyOworIAlpbnQgaTsKICAKLS0Jc3RyID0gU1RSRFVQKCIoU0NTSV9JREVOVF98SURfV1dOKSIpOworLQlzdHIgPSBTVFJEVVAoIl4ocmFtfHpyYW18cmF3fGxvb3B8ZmR8bWR8ZG0tfHNyfHNjZHxzdHxkY3NzYmxrKVswLTldIik7CiAtCWlmICghc3RyKQogLQkJcmV0dXJuIDE7Ci0tCWlmIChzdG9yZV9ibGUoY29uZi0+ZWxpc3RfcHJvcGVydHksIHN0ciwgT1JJR0lOX0RFRkFVTFQpKQorLQlpZiAoc3RvcmVfYmxlKGNvbmYtPmJsaXN0X2Rldm5vZGUsIHN0ciwgT1JJR0lOX0RFRkFVTFQpKQogLQkJcmV0dXJuIDE7CiAtCi0gCXZlY3Rvcl9mb3JlYWNoX3Nsb3QgKGNvbmYtPmh3dGFibGUsIGh3ZSwgaSkgewotIAkJaWYgKGh3ZS0+YmxfcHJvZHVjdCkgewotIAkJCWlmIChfYmxhY2tsaXN0X2RldmljZShjb25mLT5ibGlzdF9kZXZpY2UsIGh3ZS0+dmVuZG9yLAotQEAgLTM5MCw5ICszODQsMTIgQEAgZmlsdGVyX3Byb3BlcnR5KHN0cnVjdCBjb25maWcgKiBjb25mLCBzdHJ1Y3QgdWRldl9kZXZpY2UgKiB1ZGV2KQotIAkgKiBUaGlzIGlzIHRoZSBpbnZlcnNlIG9mIHRoZSAnbm9ybWFsJyBtYXRjaGluZzsKLSAJICogdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIF9oYXNfIHRvIG1hdGNoLgotIAkgKi8KLS0JbG9nX2ZpbHRlcihkZXZuYW1lLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLAotLQkJICAgTUFUQ0hfUFJPUEVSVFlfQkxJU1RfTUlTU0lORyk7Ci0tCXJldHVybiBNQVRDSF9QUk9QRVJUWV9CTElTVF9NSVNTSU5HOwotKwlpZiAoVkVDVE9SX1NJWkUoY29uZi0+ZWxpc3RfcHJvcGVydHkpKSB7Ci0rCQlsb2dfZmlsdGVyKGRldm5hbWUsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsCi0rCQkJICAgTUFUQ0hfUFJPUEVSVFlfQkxJU1RfTUlTU0lORyk7Ci0rCQlyZXR1cm4gTUFUQ0hfUFJPUEVSVFlfQkxJU1RfTUlTU0lORzsKLSsJfQotKwlyZXR1cm4gMDsKKyAJc3RyID0gU1RSRFVQKCJeKHRkfGhkfHZkKVthLXpdIik7CisgCWlmICghc3RyKQorIAkJcmV0dXJuIDE7CitAQCAtNDE1LDggKzQwOSwxMSBAQCBmaWx0ZXJfcHJvcGVydHkoc3RydWN0IGNvbmZpZyAqY29uZiwgc3RydWN0IHVkZXZfZGV2aWNlICp1ZGV2LCBpbnQgbHZsKQorIAkJfQorIAl9CisgCistCWxvZ19maWx0ZXIoZGV2bmFtZSwgTlVMTCwgTlVMTCwgTlVMTCwgZW52LCBOVUxMLCByLCBsdmwpOworLQlyZXR1cm4gcjsKKysgICAgICAgaWYgKFZFQ1RPUl9TSVpFKGNvbmYtPmVsaXN0X3Byb3BlcnR5KSkgeworKyAgICAgICAgICAgICAgIGxvZ19maWx0ZXIoZGV2bmFtZSwgTlVMTCwgTlVMTCwgTlVMTCwgZW52LCBOVUxMLCByLCBsdmwpOworKyAgICAgICAgICAgICAgIHJldHVybiByOworKyAgICAgICB9CisrICAgICAgIHJldHVybiAwOwogIH0KICAKLSB2b2lkCi1kaWZmIC0tZ2l0IGEvbXVsdGlwYXRoL211bHRpcGF0aC5jb25mLjUgYi9tdWx0aXBhdGgvbXVsdGlwYXRoLmNvbmYuNQotaW5kZXggMzBkODU5OC4uYzQ1ZGE5ZiAxMDA2NDQKLS0tLSBhL211bHRpcGF0aC9tdWx0aXBhdGguY29uZi41Ci0rKysgYi9tdWx0aXBhdGgvbXVsdGlwYXRoLmNvbmYuNQotQEAgLTExNzksMTAgKzExNzksNiBAQCBUaGUgXGZJV29ybGQgV2lkZSBJZGVudGlmaWNhdGlvblxmUiBvZiBhIGRldmljZS4KLSAuVFAKLSAuQiBwcm9wZXJ0eQotIFJlZ3VsYXIgZXhwcmVzc2lvbiBvZiB0aGUgdWRldiBwcm9wZXJ0eSB0byBiZSB3aGl0ZWxpc3RlZC4KLS0uUlMKLS0uVFAKLS1UaGUgZGVmYXVsdCBpczogXGZCKFNDU0lfSURFTlRffElEX1dXTilcZlIKLS0uUkUKLSAuVFAKLSAuQiBkZXZpY2UKLSBTdWJzZWN0aW9uIGZvciB0aGUgZGV2aWNlIGRlc2NyaXB0aW9uLiBUaGlzIHN1YnNlY3Rpb24gcmVjb2duaXplcyB0aGUKLUBAIC0xMTkzLDggKzExODksMTQgQEAga2V5d29yZHMuIEZvciBhIGZ1bGwgZGVzY3JpcHRpb24gb2YgdGhlc2Uga2V5d29yZHMgcGxlYXNlIHNlZSB0aGUgXGZJZGV2aWNlc1xmUgotIHNlY3Rpb24gZGVzY3JpcHRpb24uCi0gLkxQCi0gVGhlIFxmSXByb3BlcnR5XGZSIHdoaXRlbGlzdCBoYW5kbGluZyBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgdXN1YWwKLS1oYW5kbGluZyBpbiB0aGUgc2Vuc2UgdGhhdCB0aGUgZGV2aWNlIFxmSWhhc1xmUiB0byBoYXZlIGEgdWRldiBwcm9wZXJ0eSB0aGF0Ci0tbWF0Y2hlcyB0aGUgd2hpdGVsaXN0LCBvdGhlcndpc2UgdGhlIGRldmljZSB3aWxsIGJlIGJsYWNrbGlzdGVkLiBJbiB0aGVzZSBjYXNlcyB0aGUgbWVzc2FnZSBcZklibGFja2xpc3RlZCwgdWRldiBwcm9wZXJ0eSBtaXNzaW5nXGZSIHdpbGwgYmUgZGlzcGxheWVkLgotK2hhbmRsaW5nIGluIHRoZSBzZW5zZSB0aGF0IGlmIHRoZSBwcm9wZXJ5IHdoaXRlbGlzdCBpcyBzZXQsIHRoZSBkZXZpY2UKLStcZkloYXNcZlIgdG8gaGF2ZSBhIHVkZXYgcHJvcGVydHkgdGhhdCBtYXRjaGVzIHRoZSB3aGl0ZWxpc3QsIG90aGVyd2lzZSB0aGUKLStkZXZpY2Ugd2lsbCBiZSBibGFja2xpc3RlZC4gSW4gdGhlc2UgY2FzZXMgdGhlIG1lc3NhZ2UgXGZJYmxhY2tsaXN0ZWQsIHVkZXYKLStwcm9wZXJ0eSBtaXNzaW5nXGZSIHdpbGwgYmUgZGlzcGxheWVkLiBGb3IgZXhhbXBsZSBzZXR0dGluZyB0aGUKLStwcm9wZXJ0eSBibGFja2xpc3RfZXhjZXB0aW9uIHRvIFxmQihTQ1NJX0lERU5UX3xJRF9XV04pXGZSIHdpbGwgYmxhY2tsaXN0Ci0rYWxsIGRldmljZXMgdGhhdCBoYXZlIG5vIHVkZXYgcHJvcGVydHkgd2hvc2UgbmFtZSByZWdleCBtYXRjaGVzIGVpdGhlcgotK1xmQlNDU0lfSURFTlRfXGZSIG9yIFxmQklEX1dXTlxmUi4gVGhpcyB3b3JrcyB0byBleGNsdWRlIG1vc3QKLStub24tbXVsdGlwYXRoYWJsZSBkZXZpY2VzLgotIC4KLSAuCi0gLlwiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBzdGF0aWMgdm9pZCBmcmVlX2JsZShzdHJ1Y3QgYmxlbnRyeSAqYmxlKQogLS0gCiAyLjcuNAogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyMy1SSC1kb24tdC1zdGFydC13aXRob3V0LWEtY29uZmlnLWZpbGUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyMy1SSC1kb24tdC1zdGFydC13aXRob3V0LWEtY29uZmlnLWZpbGUucGF0Y2gKaW5kZXggODg2ZjFjOC4uZWE2MTM3ZiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjMtUkgtZG9uLXQtc3RhcnQtd2l0aG91dC1hLWNvbmZpZy1maWxlLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDIzLVJILWRvbi10LXN0YXJ0LXdpdGhvdXQtYS1jb25maWctZmlsZS5wYXRjaApAQCAtMSw3ICsxLDEwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDE1IE9jdCAyMDE0IDEwOjM5OjMwIC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0hdIFJIOiBkb24ndCBzdGFydCB3aXRob3V0IGEgY29uZmlnIGZpbGUKK0Zyb20gMGJmOGZmOGRhYjI2MjAxYjI2OGI0MTk4MDk4NDRjMDdlMTY4ZjE3ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitEYXRlOiBGcmksIDIzIE5vdiAyMDE4IDE3OjI1OjE1ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIEZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3CisgMDA6MDA6MDAgMjAwMSBGcm9tOiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+IERhdGU6IFdlZCwgMTUKKyBPY3QgMjAxNCAxMDozOTozMCAtMDUwMCBTdWJqZWN0OiBbUEFUQ0hdIFJIOiBkb24ndCBzdGFydCB3aXRob3V0IGEgY29uZmlnCisgZmlsZQogCiBJZiAvZXRjL211bHRpcGF0aC5jb25mIGRvZXNuJ3QgZXhpc3QsIGRvbid0IHN0YXJ0IG11bHRpcGF0aGQgYW5kIGJsYWNrbGlzdAogYWxsIGRldmljZXMgd2hlbiBydW5uaW5nIG11bHRpcGF0aC4gIEEgY29tcGxldGVseSBibGFuayBjb25maWd1cmF0aW9uIGZpbGUKQEAgLTExLDE2ICsxNCwyMSBAQAogL2V0Yy9tdWx0aXBhdGguY29uZiB3aWxsIGtlZXAgbXVsdGlwYXRoIGZyb20gZG9pbmcgYW55dGhpbmcuCiAKIFNpZ25lZC1vZmYtYnk6IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK3VwZGF0ZSB0aGlzIHBhdGNoIHRvIG5ldyB2ZXJzaW9uCitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgogLS0tCi0gbGlibXVsdGlwYXRoL2NvbmZpZy5jICAgICAgICAgfCAxNSArKysrKysrKysrKysrKysKKyBsaWJtdWx0aXBhdGgvY29uZmlnLmMgICAgICAgICB8IDE4ICsrKysrKysrKysrKysrKysrKwogIGxpYm11bHRpcGF0aC9jb25maWcuaCAgICAgICAgIHwgIDEgKwogIG11bHRpcGF0aC9tdWx0aXBhdGgucnVsZXMgICAgIHwgIDEgKwogIG11bHRpcGF0aGQvbXVsdGlwYXRoZC44ICAgICAgIHwgIDIgKysKICBtdWx0aXBhdGhkL211bHRpcGF0aGQuc2VydmljZSB8ICAxICsKLSA1IGZpbGVzIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKykKKyA1IGZpbGVzIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKykKIAogZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9jb25maWcuYyBiL2xpYm11bHRpcGF0aC9jb25maWcuYwotaW5kZXggNTg3MjkyNy4uMDYwNzQwMyAxMDA2NDQKK2luZGV4IDVhZjdhZjUuLmU0MjMzZjEgMTAwNjQ0CiAtLS0gYS9saWJtdWx0aXBhdGgvY29uZmlnLmMKICsrKyBiL2xpYm11bHRpcGF0aC9jb25maWcuYwogQEAgLTI2LDYgKzI2LDcgQEAKQEAgLTMwLDMwICszOCwzMyBAQAogKyNpbmNsdWRlICJ2ZXJzaW9uLmgiCiAgCiAgc3RhdGljIGludAotIGh3ZV9zdHJtYXRjaCAoc3RydWN0IGh3ZW50cnkgKmh3ZTEsIHN0cnVjdCBod2VudHJ5ICpod2UyKQotQEAgLTY1OCw2ICs2NTksMjAgQEAgbG9hZF9jb25maWcgKGNoYXIgKiBmaWxlKQotIAkJCWZhY3Rvcml6ZV9od3RhYmxlKGNvbmYtPmh3dGFibGUsIGJ1aWx0aW5faHd0YWJsZV9zaXplKTsKKyBod2Vfc3RybWF0Y2ggKGNvbnN0IHN0cnVjdCBod2VudHJ5ICpod2UxLCBjb25zdCBzdHJ1Y3QgaHdlbnRyeSAqaHdlMikKK0BAIC03NDMsNiArNzQ1LDIzIEBAIGxvYWRfY29uZmlnIChjaGFyICogZmlsZSkKKyAJCQlnb3RvIG91dDsKICAJCX0KLSAKKyAJCWZhY3Rvcml6ZV9od3RhYmxlKGNvbmYtPmh3dGFibGUsIGJ1aWx0aW5faHd0YWJsZV9zaXplLCBmaWxlKTsKICsJfSBlbHNlIHsKICsJCWNvbmRsb2coMCwgIi9ldGMvbXVsdGlwYXRoLmNvbmYgZG9lcyBub3QgZXhpc3QsIGJsYWNrbGlzdGluZyBhbGwgZGV2aWNlcy4iKTsKICsJCWlmIChjb25mLT5ibGlzdF9kZXZub2RlID09IE5VTEwpIHsKICsJCQljb25mLT5ibGlzdF9kZXZub2RlID0gdmVjdG9yX2FsbG9jKCk7CiArCQkJaWYgKCFjb25mLT5ibGlzdF9kZXZub2RlKSB7Ci0rCQkJCWNvbmRsb2coMCwgImNhbm5vdCBhbGxvY2F0ZSBibGFja2xpc3RcbiIpOworKwkJCQljb25mLT5ibGlzdF9kZXZub2RlID0gdmVjdG9yX2FsbG9jKCk7CisrCQkJCWlmICghY29uZi0+Ymxpc3RfZGV2bm9kZSkgeworKwkJCQkJY29uZGxvZygwLCAiY2Fubm90IGFsbG9jYXRlIGJsYWNrbGlzdFxuIik7CisrCQkJCQlnb3RvIG91dDsKKysJCQkJfQorKwkJCX0KKysJCQlpZiAoc3RvcmVfYmxlKGNvbmYtPmJsaXN0X2Rldm5vZGUsIHN0cmR1cCgiLioiKSwKKysJCQkJT1JJR0lOX05PX0NPTkZJRykpIHsKKysJCQkJY29uZGxvZygwLCAiY2Fubm90IHN0b3JlIGRlZmF1bHQgbm8tY29uZmlnIGJsYWNrbGlzdFxuIik7CiArCQkJCWdvdG8gb3V0OwogKwkJCX0KICsJCX0KLSsJCWlmIChzdG9yZV9ibGUoY29uZi0+Ymxpc3RfZGV2bm9kZSwgc3RyZHVwKCIuKiIpLAotKwkJICAgICAgICAgICAgICBPUklHSU5fTk9fQ09ORklHKSkgewotKwkJCWNvbmRsb2coMCwgImNhbm5vdCBzdG9yZSBkZWZhdWx0IG5vLWNvbmZpZyBibGFja2xpc3RcbiIpOwotKwkJCWdvdG8gb3V0OwotKwkJfQogIAl9CiAgCiAgCWNvbmYtPnByb2Nlc3NlZF9tYWluX2NvbmZpZyA9IDE7CiBkaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2NvbmZpZy5oIGIvbGlibXVsdGlwYXRoL2NvbmZpZy5oCi1pbmRleCBmY2JlM2ZjLi4zYTQyNDM1IDEwMDY0NAoraW5kZXggN2QwY2Q5YS4uZDdmYjhlMiAxMDA2NDQKIC0tLSBhL2xpYm11bHRpcGF0aC9jb25maWcuaAogKysrIGIvbGlibXVsdGlwYXRoL2NvbmZpZy5oCiBAQCAtOSw2ICs5LDcgQEAKQEAgLTY1LDcgKzc2LDcgQEAKICAvKgogICAqIEluIGtlcm5lbCwgZmFzdF9pb19mYWlsID09IDAgbWVhbnMgaW1tZWRpYXRlIGZhaWx1cmUgb24gcnBvcnQgZGVsZXRlLgogZGlmZiAtLWdpdCBhL211bHRpcGF0aC9tdWx0aXBhdGgucnVsZXMgYi9tdWx0aXBhdGgvbXVsdGlwYXRoLnJ1bGVzCi1pbmRleCBkNjU4MDczLi5iM2Y1NGQ3IDEwMDY0NAoraW5kZXggOWRmMTFhOS4uMDQ4NmJmNyAxMDA2NDQKIC0tLSBhL211bHRpcGF0aC9tdWx0aXBhdGgucnVsZXMKICsrKyBiL211bHRpcGF0aC9tdWx0aXBhdGgucnVsZXMKIEBAIC05LDYgKzksNyBAQCBJTVBPUlR7Y21kbGluZX09Im5vbXBhdGgiCkBAIC03Nyw3ICs4OCw3IEBACiAgRU5We0RFVlRZUEV9IT0icGFydGl0aW9uIiwgR09UTz0idGVzdF9kZXYiCiAgSU1QT1JUe3BhcmVudH09IkRNX01VTFRJUEFUSF9ERVZJQ0VfUEFUSCIKIGRpZmYgLS1naXQgYS9tdWx0aXBhdGhkL211bHRpcGF0aGQuOCBiL211bHRpcGF0aGQvbXVsdGlwYXRoZC44Ci1pbmRleCBlNzhhYzllLi4wOWNkZWFkIDEwMDY0NAoraW5kZXggOTRjM2Y5Ny4uZWQxM2VmZCAxMDA2NDQKIC0tLSBhL211bHRpcGF0aGQvbXVsdGlwYXRoZC44CiArKysgYi9tdWx0aXBhdGhkL211bHRpcGF0aGQuOAogQEAgLTM4LDYgKzM4LDggQEAgbWFwIHJlZ2FpbnMgaXRzIG1heGltdW0gcGVyZm9ybWFuY2UgYW5kIHJlZHVuZGFuY3kuCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyNC1SSC11c2UtcnBtLW9wdGZsYWdzLWlmLXByZXNlbnQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyNC1SSC11c2UtcnBtLW9wdGZsYWdzLWlmLXByZXNlbnQucGF0Y2gKaW5kZXggOTMzMGJmMC4uNzdkZDk2ZiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjQtUkgtdXNlLXJwbS1vcHRmbGFncy1pZi1wcmVzZW50LnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDI0LVJILXVzZS1ycG0tb3B0ZmxhZ3MtaWYtcHJlc2VudC5wYXRjaApAQCAtMSw0OSArMSw1OCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotRGF0ZTogV2VkLCAxOSBBcHIgMjAxNyAwNjoxMDowMSAtMDUwMAotU3ViamVjdDogW1BBVENIXSBSSDogdXNlIHJwbSBvcHRmbGFncyBpZiBwcmVzZW50CitGcm9tIDQzNmY3NTk0NDg1ZTM1NTIzMjY5ZTY2MmM0YjVkYzNhMmMxMGZmOWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyNiBOb3YgMjAxOCAwOToxOToxNyArMDgwMAorU3ViamVjdDogW1BBVENIXSBGcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNworIDAwOjAwOjAwIDIwMDEgRnJvbTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPiBEYXRlOiBXZWQsIDE5CisgQXByIDIwMTcgMDY6MTA6MDEgLTA1MDAgU3ViamVjdDogW1BBVENIXSBSSDogdXNlIHJwbSBvcHRmbGFncyBpZiBwcmVzZW50CiAKIFVzZSB0aGUgcGFzc2VkIGluIG9wdGZsYWdzIHdoZW4gY29tcGlsaW5nIGFzIGFuIFJQTSwgYW5kIGtlZXAgdGhlCiBkZWZhdWx0IGZsYWdzIGFzIGNsb3NlIGFzIHBvc3NpYmxlIHRvIHRoZSBjdXJyZW50IGZlZG9yYSBmbGFncywgd2hpbGUKIHN0aWxsIGJlaW5nIGdlbmVyaWMuCiAKIFNpZ25lZC1vZmYtYnk6IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK3VwZGF0ZSB0aGlzIHBhdGNoIHRvIG5ldyB2ZXJzaW9uCisKK1NpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CiAtLS0KLSBNYWtlZmlsZS5pbmMgfCAyNCArKysrKysrKysrKysrKysrLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKKyBNYWtlZmlsZS5pbmMgfCAyNSArKysrKysrKysrKysrKysrLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9NYWtlZmlsZS5pbmMgYi9NYWtlZmlsZS5pbmMKLWluZGV4IDBiMjcxZWEuLjVmZjY5YTMgMTAwNjQ0CitpbmRleCBiODZjYmE2Li4yOTVhZmI5IDEwMDY0NAogLS0tIGEvTWFrZWZpbGUuaW5jCiArKysgYi9NYWtlZmlsZS5pbmMKLUBAIC04NSwxNCArODUsMjIgQEAgVEVTVF9DQ19PUFRJT04gPSAkKHNoZWxsIFwKK0BAIC04NSwxNSArODUsMjIgQEAgVEVTVF9DQ19PUFRJT04gPSAkKHNoZWxsIFwKICAJCWVjaG8gIiQoMikiOyBcCiAgCWZpKQogIAogLVNUQUNLUFJPVCA6PSAkKGNhbGwgVEVTVF9DQ19PUFRJT04sLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nLC1mc3RhY2stcHJvdGVjdG9yKQorLUVSUk9SX0RJU0NBUkRFRF9RVUFMSUZJRVJTIDo9ICQoY2FsbCBURVNUX0NDX09QVElPTiwtV2Vycm9yPWRpc2NhcmRlZC1xdWFsaWZpZXJzLCkKIC0KIC1PUFRGTEFHUwk9IC1PMiAtZyAtcGlwZSAtV2FsbCAtV2V4dHJhIC1XZm9ybWF0PTIgLVdlcnJvcj1pbXBsaWNpdC1pbnQgXAogLQkJICAtV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uIC1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5IFwKIC0JCSAgLVduby1zaWduLWNvbXBhcmUgLVduby11bnVzZWQtcGFyYW1ldGVyIC1Xbm8tY2xvYmJlcmVkIFwKLS0JCSAgLVdlcnJvcj1jYXN0LXF1YWwgLVdlcnJvcj1kaXNjYXJkZWQtcXVhbGlmaWVycyBcCistCQkgIC1XZXJyb3I9Y2FzdC1xdWFsICQoRVJST1JfRElTQ0FSREVEX1FVQUxJRklFUlMpIFwKIC0JCSAgLVdwLC1EX0ZPUlRJRllfU09VUkNFPTIgJChTVEFDS1BST1QpIFwKIC0JCSAgLS1wYXJhbT1zc3AtYnVmZmVyLXNpemU9NAogK2lmbmRlZiBSUE1fT1BUX0ZMQUdTCi0rCVNUQUNLUFJPVCA6PSAkKGNhbGwgVEVTVF9DQ19PUFRJT04sLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nLC1mc3RhY2stcHJvdGVjdG9yKQotKwlPUFRGTEFHUwk9IC1PMiAtZyAtcGlwZSAtV2FsbCAtV2Vycm9yPWZvcm1hdC1zZWN1cml0eSBcCi0rCQkJICAtV3AsLURfRk9SVElGWV9TT1VSQ0U9MiAtZmV4Y2VwdGlvbnMgXAotKwkJCSAgJChTVEFDS1BST1QpIC0tcGFyYW09c3NwLWJ1ZmZlci1zaXplPTQgXAotKwkJCSAgLWdyZWNvcmQtZ2NjLXN3aXRjaGVzCi0rCWlmZXEgKCQoc2hlbGwgdGVzdCAtZiAvdXNyL2xpYi9ycG0vcmVkaGF0L3JlZGhhdC1oYXJkZW5lZC1jYzEgJiYgZWNobyAxKSwxKQotKwkJT1BURkxBR1MgKz0gLXNwZWNzPS91c3IvbGliL3JwbS9yZWRoYXQvcmVkaGF0LWhhcmRlbmVkLWNjMQotKwllbmRpZgorKyAgICAgICBTVEFDS1BST1QgOj0gJChjYWxsIFRFU1RfQ0NfT1BUSU9OLC1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZywtZnN0YWNrLXByb3RlY3RvcikKKysgICAgICAgT1BURkxBR1MgICAgICAgID0gLU8yIC1nIC1waXBlIC1XYWxsIC1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5IFwKKysgICAgICAgICAgICAgICAgICAgICAgICAgLVdwLC1EX0ZPUlRJRllfU09VUkNFPTIgLWZleGNlcHRpb25zIFwKKysgICAgICAgICAgICAgICAgICAgICAgICAgJChTVEFDS1BST1QpIC0tcGFyYW09c3NwLWJ1ZmZlci1zaXplPTQgXAorKyAgICAgICAgICAgICAgICAgICAgICAgICAtZ3JlY29yZC1nY2Mtc3dpdGNoZXMKKysgICAgICAgaWZlcSAoJChzaGVsbCB0ZXN0IC1mIC91c3IvbGliL3JwbS9yZWRoYXQvcmVkaGF0LWhhcmRlbmVkLWNjMSAmJiBlY2hvIDEpLDEpCisrICAgICAgICAgICAgICAgT1BURkxBR1MgKz0gLXNwZWNzPS91c3IvbGliL3JwbS9yZWRoYXQvcmVkaGF0LWhhcmRlbmVkLWNjMQorKyAgICAgICBlbmRpZgogK2Vsc2UKLSsJT1BURkxBR1MgPSAkKFJQTV9PUFRfRkxBR1MpCisrICAgICAgIE9QVEZMQUdTID0gJChSUE1fT1BUX0ZMQUdTKQogK2VuZGlmCi0rT1BURkxBR1MJKz0gLVdleHRyYSAtV3N0cmljdC1wcm90b3R5cGVzIC1XZm9ybWF0PTIgLVdlcnJvcj1pbXBsaWNpdC1pbnQgXAotKwkJICAgLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbiAtV25vLXNpZ24tY29tcGFyZSBcCi0rCQkgICAtV25vLXVudXNlZC1wYXJhbWV0ZXIgLVdlcnJvcj1jYXN0LXF1YWwgXAotKwkJICAgLVdlcnJvcj1kaXNjYXJkZWQtcXVhbGlmaWVycworK09QVEZMQUdTICAgICAgICs9IC1XZXh0cmEgLVdzdHJpY3QtcHJvdG90eXBlcyAtV2Zvcm1hdD0yIC1XZXJyb3I9aW1wbGljaXQtaW50IFwKKysgICAgICAgICAgICAgICAgICAtV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uIC1Xbm8tc2lnbi1jb21wYXJlIFwKKysgICAgICAgICAgICAgICAgICAtV25vLXVudXNlZC1wYXJhbWV0ZXIgLVdlcnJvcj1jYXN0LXF1YWwgXAorKyAgICAgICAgICAgICAgICAgIC1XZXJyb3I9ZGlzY2FyZGVkLXF1YWxpZmllcnMKICAKICBDRkxBR1MJCTo9ICQoT1BURkxBR1MpIC1EQklOX0RJUj1cIiQoYmluZGlyKVwiIC1ETElCX1NUUklORz1cIiR7TElCfVwiIC1EUlVOX0RJUj1cIiR7UlVOfVwiIFwKICAJCSAgIC1NTUQgLU1QICQoQ0ZMQUdTKQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjUtUkgtYWRkLW1wYXRoY29uZi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDI1LVJILWFkZC1tcGF0aGNvbmYucGF0Y2gKaW5kZXggNWNhZDIyYi4uYTE0MDc3MSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjUtUkgtYWRkLW1wYXRoY29uZi5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyNS1SSC1hZGQtbXBhdGhjb25mLnBhdGNoCkBAIC0xLDcgKzEsOSBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotRGF0ZTogVGh1LCAxNiBPY3QgMjAxNCAxNTo0OTowMSAtMDUwMAotU3ViamVjdDogW1BBVENIXSBSSDogYWRkIG1wYXRoY29uZgorRnJvbSBlYjVhMzZlNmUwY2FlZGYwNjAwOGU0OGViNzdiN2JmN2M2NTM0ZWU1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMjYgTm92IDIwMTggMDk6NTU6MTIgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcKKyAwMDowMDowMCAyMDAxIEZyb206IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4gRGF0ZTogVGh1LCAxNgorIE9jdCAyMDE0IDE1OjQ5OjAxIC0wNTAwIFN1YmplY3Q6IFtQQVRDSF0gUkg6IGFkZCBtcGF0aGNvbmYKIAogbXBhdGhjb25mIGlzIGEgcHJvZ3JhbSAobGFyZ2VseSBiYXNlZCBvbiBsdm1jb21mKSB0byBoZWxwIHVzZXJzCiBjb25maWd1cmUgL2V0Yy9tdWx0aXBhdGguY29uZiBhbmQgZW5hYmxlIG9yIGRpc2FibGUgbXVsdGlwYXRoaW5nLiAgSXQKQEAgLTExLDYgKzEzLDEyIEBACiBhIHNpbmdsZSBjb21tYW5kLgogCiBTaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCit1cGRhdGUgdGhpcyBwYXRjaCB0byBuZXcgdmVyc2lvbgorCitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgogLS0tCiAgbGlibXVsdGlwYXRoL2NvbmZpZy5jIHwgICAxICsKICBtdWx0aXBhdGgvTWFrZWZpbGUgICAgfCAgIDUgKwpAQCAtMjEsMTEgKzI5LDExIEBACiAgY3JlYXRlIG1vZGUgMTAwNjQ0IG11bHRpcGF0aC9tcGF0aGNvbmYuOAogCiBkaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2NvbmZpZy5jIGIvbGlibXVsdGlwYXRoL2NvbmZpZy5jCi1pbmRleCAwNjA3NDAzLi41Yzk4ZTQ4IDEwMDY0NAoraW5kZXggZTQyMzNmMS4uYjc3OTUwNSAxMDA2NDQKIC0tLSBhL2xpYm11bHRpcGF0aC9jb25maWcuYwogKysrIGIvbGlibXVsdGlwYXRoL2NvbmZpZy5jCi1AQCAtNjYxLDYgKzY2MSw3IEBAIGxvYWRfY29uZmlnIChjaGFyICogZmlsZSkKLSAKK0BAIC03NDcsNiArNzQ3LDcgQEAgbG9hZF9jb25maWcgKGNoYXIgKiBmaWxlKQorIAkJZmFjdG9yaXplX2h3dGFibGUoY29uZi0+aHd0YWJsZSwgYnVpbHRpbl9od3RhYmxlX3NpemUsIGZpbGUpOwogIAl9IGVsc2UgewogIAkJY29uZGxvZygwLCAiL2V0Yy9tdWx0aXBhdGguY29uZiBkb2VzIG5vdCBleGlzdCwgYmxhY2tsaXN0aW5nIGFsbCBkZXZpY2VzLiIpOwogKwkJY29uZGxvZygwLCAiWW91IGNhbiBydW4gL3NiaW4vbXBhdGhjb25mIHRvIGNyZWF0ZSBvciBtb2RpZnkgL2V0Yy9tdWx0aXBhdGguY29uZiIpOwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjYtUkgtYWRkLXd3aWRzLWZyb20ta2VybmVsLWNtZGxpbmUtbXBhdGgud3dpZHMtd2l0aC1BLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjYtUkgtYWRkLXd3aWRzLWZyb20ta2VybmVsLWNtZGxpbmUtbXBhdGgud3dpZHMtd2l0aC1BLnBhdGNoCmluZGV4IGRkZjAyMmYuLjkzODI2MmIgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDI2LVJILWFkZC13d2lkcy1mcm9tLWtlcm5lbC1jbWRsaW5lLW1wYXRoLnd3aWRzLXdpdGgtQS5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyNi1SSC1hZGQtd3dpZHMtZnJvbS1rZXJuZWwtY21kbGluZS1tcGF0aC53d2lkcy13aXRoLUEucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAgMDA6MDA6MDAgMjAwMSAKIEZyb206IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLURhdGU6IEZyaSwgMTcgT2N0IDIwMTQgMTE6MjA6MzQgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSF0gUkg6IGFkZCB3d2lkcyBmcm9tIGtlcm5lbCBjbWRsaW5lIG1wYXRoLnd3aWRzIHdpdGggLUEKK0RhdGU6IEZyaSwgMTcgIE9jdCAyMDE0IDExOjIwOjM0IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIFJIOiBhZGQgd3dpZHMgZnJvbSBrZXJuZWwgY21kbGluZSAgbXBhdGgud3dpZHMgd2l0aCAtQQogCiBUaGlzIHBhdGNoIGFkZHMgYW5vdGhlciBvcHRpb24gdG8gbXVsdGlwYXRoLCAiLUEiLCB3aGljaCByZWFkcwogL3Byb2MvY21kbGluZSBmb3IgbXBhdGgud3dpZD08V1dJRD4gb3B0aW9ucywgYW5kIGFkZHMgYW55IHd3aWRzIGl0IGZpbmRzCkBAIC0xMywxNiArMTMsMjIgQEAKIG11bHRpcGF0aGQuc2VydmljZQogCiBTaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitVcGRhdGUgdGhpcyBwYXRjaCB0byBuZXcgdmVyc2lvbiAwLjguMAorCitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgogLS0tCiAgbGlibXVsdGlwYXRoL3d3aWRzLmMgICAgICAgICAgfCA0NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAgbGlibXVsdGlwYXRoL3d3aWRzLmggICAgICAgICAgfCAgMSArCi0gbXVsdGlwYXRoL21haW4uYyAgICAgICAgICAgICAgfCAxMCArKysrKysrKy0tCi0gbXVsdGlwYXRoL211bHRpcGF0aC44ICAgICAgICAgfCAgNSArKysrLQorIG11bHRpcGF0aC9tYWluLmMgICAgICAgICAgICAgIHwgIDkgKysrKysrKystCisgbXVsdGlwYXRoL211bHRpcGF0aC44ICAgICAgICAgfCAgMyArKysKICBtdWx0aXBhdGhkL211bHRpcGF0aGQuc2VydmljZSB8ICAxICsKLSA1IGZpbGVzIGNoYW5nZWQsIDU4IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisgNSBmaWxlcyBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvd3dpZHMuYyBiL2xpYm11bHRpcGF0aC93d2lkcy5jCi1pbmRleCA1M2U3OTUxLi4zOWUwOGNkIDEwMDY0NAoraW5kZXggNTNlNzk1MS4uOWJhOWI2MiAxMDA2NDQKIC0tLSBhL2xpYm11bHRpcGF0aC93d2lkcy5jCiArKysgYi9saWJtdWx0aXBhdGgvd3dpZHMuYwogQEAgLTQ0MywzICs0NDMsNDcgQEAgaW50IG9wICMjIF93d2lkKGNvbnN0IGNoYXIgKnd3aWQpIFwKQEAgLTMyLDQ2ICszOCw0NiBAQAogKwogK2ludCByZW1lbWJlcl9jbWRsaW5lX3d3aWQodm9pZCkKICt7Ci0rCUZJTEUgKmYgPSBOVUxMOwotKwljaGFyIGJ1ZltMSU5FX01BWF0sICpuZXh0LCAqcHRyOwotKwlpbnQgcmV0ID0gMDsKKysgICAgICAgRklMRSAqZiA9IE5VTEw7CisrICAgICAgIGNoYXIgYnVmW0xJTkVfTUFYXSwgKm5leHQsICpwdHI7CisrICAgICAgIGludCByZXQgPSAwOwogKwotKwlmID0gZm9wZW4oIi9wcm9jL2NtZGxpbmUiLCAicmUiKTsKLSsJaWYgKCFmKSB7Ci0rCQljb25kbG9nKDAsICJjYW4ndCBvcGVuIC9wcm9jL2NtZGxpbmUgOiAlcyIsIHN0cmVycm9yKGVycm5vKSk7Ci0rCQlyZXR1cm4gLTE7Ci0rCX0KKysgICAgICAgZiA9IGZvcGVuKCIvcHJvYy9jbWRsaW5lIiwgInJlIik7CisrICAgICAgIGlmICghZikgeworKyAgICAgICAgICAgICAgIGNvbmRsb2coMCwgImNhbid0IG9wZW4gL3Byb2MvY21kbGluZSA6ICVzIiwgc3RyZXJyb3IoZXJybm8pKTsKKysgICAgICAgICAgICAgICByZXR1cm4gLTE7CisrICAgICAgIH0KICsKLSsJaWYgKCFmZ2V0cyhidWYsIHNpemVvZihidWYpLCBmKSkgewotKwkJaWYgKGZlcnJvcihmKSkKLSsJCQljb25kbG9nKDAsICJyZWFkIG9mIC9wcm9jL2NtZGxpbmUgZmFpbGVkIDogJXMiLAotKwkJCQlzdHJlcnJvcihlcnJubykpOwotKwkJZWxzZQotKwkJCWNvbmRsb2coMCwgImNvdWxkbid0IHJlYWQgL3Byb2MvY21kbGluZSIpOwotKwkJZmNsb3NlKGYpOwotKwkJcmV0dXJuIC0xOwotKwl9Ci0rCWZjbG9zZShmKTsKLSsJbmV4dCA9IGJ1ZjsKLSsJd2hpbGUoKHB0ciA9IHN0cnN0cihuZXh0LCAibXBhdGgud3dpZD0iKSkpIHsKLSsJCXB0ciArPSAxMTsKLSsJCW5leHQgPSBzdHJwYnJrKHB0ciwgIiBcdFxuIik7Ci0rCQlpZiAobmV4dCkgewotKwkJCSpuZXh0ID0gJ1wwJzsKLSsJCQluZXh0Kys7Ci0rCQl9Ci0rCQlpZiAoc3RybGVuKHB0cikpIHsKLSsJCQlpZiAocmVtZW1iZXJfd3dpZChwdHIpICE9IDApCi0rCQkJCXJldCA9IC0xOwotKwkJfQotKwkJZWxzZSB7Ci0rCQkJY29uZGxvZygwLCAiZW1wdHkgbXBhdGgud3dpZCBrZXJuZWwgY29tbWFuZCBsaW5lIG9wdGlvbiIpOwotKwkJCXJldCA9IC0xOwotKwkJfQotKwkJaWYgKCFuZXh0KQotKwkJCWJyZWFrOwotKwl9Ci0rCXJldHVybiByZXQ7CisrICAgICAgIGlmICghZmdldHMoYnVmLCBzaXplb2YoYnVmKSwgZikpIHsKKysgICAgICAgICAgICAgICBpZiAoZmVycm9yKGYpKQorKyAgICAgICAgICAgICAgICAgICAgICAgY29uZGxvZygwLCAicmVhZCBvZiAvcHJvYy9jbWRsaW5lIGZhaWxlZCA6ICVzIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyZXJyb3IoZXJybm8pKTsKKysgICAgICAgICAgICAgICBlbHNlCisrICAgICAgICAgICAgICAgICAgICAgICBjb25kbG9nKDAsICJjb3VsZG4ndCByZWFkIC9wcm9jL2NtZGxpbmUiKTsKKysgICAgICAgICAgICAgICBmY2xvc2UoZik7CisrICAgICAgICAgICAgICAgcmV0dXJuIC0xOworKyAgICAgICB9CisrICAgICAgIGZjbG9zZShmKTsKKysgICAgICAgbmV4dCA9IGJ1ZjsKKysgICAgICAgd2hpbGUoKHB0ciA9IHN0cnN0cihuZXh0LCAibXBhdGgud3dpZD0iKSkpIHsKKysgICAgICAgICAgICAgICBwdHIgKz0gMTE7CisrICAgICAgICAgICAgICAgbmV4dCA9IHN0cnBicmsocHRyLCAiIFx0XG4iKTsKKysgICAgICAgICAgICAgICBpZiAobmV4dCkgeworKyAgICAgICAgICAgICAgICAgICAgICAgKm5leHQgPSAnXDAnOworKyAgICAgICAgICAgICAgICAgICAgICAgbmV4dCsrOworKyAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICAgICBpZiAoc3RybGVuKHB0cikpIHsKKysgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZW1lbWJlcl93d2lkKHB0cikgIT0gMCkKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gLTE7CisrICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgICAgIGVsc2UgeworKyAgICAgICAgICAgICAgICAgICAgICAgY29uZGxvZygwLCAiZW1wdHkgbXBhdGgud3dpZCBrZXJuZWwgY29tbWFuZCBsaW5lIG9wdGlvbiIpOworKyAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gLTE7CisrICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgICAgIGlmICghbmV4dCkKKysgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworKyAgICAgICB9CisrICAgICAgIHJldHVybiByZXQ7CiArfQogZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC93d2lkcy5oIGIvbGlibXVsdGlwYXRoL3d3aWRzLmgKIGluZGV4IDBjNmVlNTQuLmUzMmEwYjAgMTAwNjQ0CkBAIC04NiwxOSArOTIsMTggQEAKICBlbnVtIHsKICAJV1dJRF9JU19OT1RfRkFJTEVEID0gMCwKIGRpZmYgLS1naXQgYS9tdWx0aXBhdGgvbWFpbi5jIGIvbXVsdGlwYXRoL21haW4uYwotaW5kZXggNmZkZGUwMy4uN2JhYzIzMiAxMDA2NDQKK2luZGV4IDVhYmIxMTguLmM3NTFiMzEgMTAwNjQ0CiAtLS0gYS9tdWx0aXBhdGgvbWFpbi5jCiArKysgYi9tdWx0aXBhdGgvbWFpbi5jCi1AQCAtMTA5LDcgKzEwOSw3IEBAIHVzYWdlIChjaGFyICogcHJvZ25hbWUpCi0geworQEAgLTEzNCw2ICsxMzQsNyBAQCB1c2FnZSAoY2hhciAqIHByb2duYW1lKQogIAlmcHJpbnRmIChzdGRlcnIsIFZFUlNJT05fU1RSSU5HKTsKICAJZnByaW50ZiAoc3RkZXJyLCAiVXNhZ2U6XG4iKTsKLS0JZnByaW50ZiAoc3RkZXJyLCAiICAlcyBbLWF8LWN8LXd8LVddIFstZF0gWy1yXSBbLWldIFstdiBsdmxdIFstcCBwb2xdIFstYiBmaWxdIFstcV0gW2Rldl1cbiIsIHByb2duYW1lKTsKKyAJZnByaW50ZiAoc3RkZXJyLCAiICAlcyBbLWF8LWN8LXd8LVddIFstZF0gWy1yXSBbLWldIFstdiBsdmxdIFstcCBwb2xdIFstYiBmaWxdIFstcV0gW2Rldl1cbiIsIHByb2duYW1lKTsKICsJZnByaW50ZiAoc3RkZXJyLCAiICAlcyBbLWF8LUF8LWN8LXd8LVddIFstZF0gWy1yXSBbLWldIFstdiBsdmxdIFstcCBwb2xdIFstYiBmaWxdIFstcV0gW2Rldl1cbiIsIHByb2duYW1lKTsKICAJZnByaW50ZiAoc3RkZXJyLCAiICAlcyAtbHwtbGx8LWYgWy12IGx2bF0gWy1iIGZpbF0gWy1SIG51bV0gW2Rldl1cbiIsIHByb2duYW1lKTsKICAJZnByaW50ZiAoc3RkZXJyLCAiICAlcyAtRiBbLXYgbHZsXSBbLVIgbnVtXVxuIiwgcHJvZ25hbWUpOwotIAlmcHJpbnRmIChzdGRlcnIsICIgICVzIC10XG4iLCBwcm9nbmFtZSk7Ci1AQCAtMTIzLDYgKzEyMyw4IEBAIHVzYWdlIChjaGFyICogcHJvZ25hbWUpCisgCWZwcmludGYgKHN0ZGVyciwgIiAgJXMgWy10fC1UXVxuIiwgcHJvZ25hbWUpOworQEAgLTE0Nyw2ICsxNDgsOCBAQCB1c2FnZSAoY2hhciAqIHByb2duYW1lKQogIAkJIiAgLWYgICAgICBmbHVzaCBhIG11bHRpcGF0aCBkZXZpY2UgbWFwXG4iCiAgCQkiICAtRiAgICAgIGZsdXNoIGFsbCBtdWx0aXBhdGggZGV2aWNlIG1hcHNcbiIKICAJCSIgIC1hICAgICAgYWRkIGEgZGV2aWNlIHd3aWQgdG8gdGhlIHd3aWRzIGZpbGVcbiIKQEAgLTEwNyw0MCArMTEyLDMxIEBACiAgCQkiICAtYyAgICAgIGNoZWNrIGlmIGEgZGV2aWNlIHNob3VsZCBiZSBhIHBhdGggaW4gYSBtdWx0aXBhdGggZGV2aWNlXG4iCiAgCQkiICAtQyAgICAgIGNoZWNrIGlmIGEgbXVsdGlwYXRoIGRldmljZSBoYXMgdXNhYmxlIHBhdGhzXG4iCiAgCQkiICAtcSAgICAgIGFsbG93IHF1ZXVlX2lmX25vX3BhdGggd2hlbiBtdWx0aXBhdGhkIGlzIG5vdCBydW5uaW5nXG4iCi1AQCAtOTA3LDcgKzkwOSw3IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10pCi0gCQlleGl0KDEpOworQEAgLTg3MCw3ICs4NzMsNyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAkJZXhpdChSVFZMX0ZBSUwpOwogIAltdWx0aXBhdGhfY29uZiA9IGNvbmY7CiAgCWNvbmYtPnJldHJpZ2dlcl90cmllcyA9IDA7Ci0tCXdoaWxlICgoYXJnID0gZ2V0b3B0KGFyZ2MsIGFyZ3YsICI6YWRjQ2hsOjpGZk06djpwOmI6QnJSOml0cXVVd1ciKSkgIT0gRU9GICkgewotKwl3aGlsZSAoKGFyZyA9IGdldG9wdChhcmdjLCBhcmd2LCAiOmFBZGNDaGw6OkZmTTp2OnA6YjpCclI6aXRxdVV3VyIpKSAhPSBFT0YgKSB7CistCXdoaWxlICgoYXJnID0gZ2V0b3B0KGFyZ2MsIGFyZ3YsICI6YWRjQ2hsOjpGZk06djpwOmI6QnJSOml0VHF1VXdXIikpICE9IEVPRiApIHsKKysJd2hpbGUgKChhcmcgPSBnZXRvcHQoYXJnYywgYXJndiwgIjphQWRjQ2hsOjpGZk06djpwOmI6QnJSOml0VHF1VXdXIikpICE9IEVPRiApIHsKICAJCXN3aXRjaChhcmcpIHsKICAJCWNhc2UgMTogcHJpbnRmKCJvcHRhcmcgOiAlc1xuIixvcHRhcmcpOwogIAkJCWJyZWFrOwotQEAgLTk3NCw2ICs5NzYsMTAgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK0BAIC05MzcsNiArOTQwLDEwIEBAIG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgCQljYXNlICd0JzoKLSAJCQlyID0gZHVtcF9jb25maWcoY29uZik7CisgCQkJciA9IGR1bXBfY29uZmlnKGNvbmYsIE5VTEwsIE5VTEwpID8gUlRWTF9GQUlMIDogUlRWTF9PSzsKICAJCQlnb3RvIG91dF9mcmVlX2NvbmZpZzsKICsJCWNhc2UgJ0EnOgogKwkJCWlmIChyZW1lbWJlcl9jbWRsaW5lX3d3aWQoKSAhPSAwKQogKwkJCQlleGl0KDEpOwogKwkJCWV4aXQoMCk7Ci0gCQljYXNlICdoJzoKLSAJCQl1c2FnZShhcmd2WzBdKTsKLSAJCQlleGl0KDApOworIAkJY2FzZSAnVCc6CisgCQkJY21kID0gQ01EX0RVTVBfQ09ORklHOworIAkJCWJyZWFrOwogZGlmZiAtLWdpdCBhL211bHRpcGF0aC9tdWx0aXBhdGguOCBiL211bHRpcGF0aC9tdWx0aXBhdGguOAotaW5kZXggOTE0YThjYi4uOGM2YTRjMSAxMDA2NDQKK2luZGV4IDljZGQwNWEuLjFlMTIwZjMgMTAwNjQ0CiAtLS0gYS9tdWx0aXBhdGgvbXVsdGlwYXRoLjgKICsrKyBiL211bHRpcGF0aC9tdWx0aXBhdGguOAotQEAgLTI1LDcgKzI1LDcgQEAgbXVsdGlwYXRoIFwtIERldmljZSBtYXBwZXIgdGFyZ2V0IGF1dG9jb25maWcuCi0gLlJCIFtcfCBcLWJcIFxjCi0gLklSIGJpbmRpbmdzX2ZpbGUgXHxdCi0gLlJCIFtcfCBcLWQgXHxdCi0tLlJCIFtcfCBcLWggfCBcLWwgfCBcLWxsIHwgXC1mIHwgXC10IHwgXC1GIHwgXC1CIHwgXC1jIHwgXC1DIHwgXC1xIHwgXC1yIHwgXC1pIHwgXC1hIHwgXC11IHwgXC1VIHwgXC13IHwgXC1XIFx8XQotKy5SQiBbXHwgXC1oIHwgXC1sIHwgXC1sbCB8IFwtZiB8IFwtdCB8IFwtRiB8IFwtQiB8IFwtYyB8IFwtQyB8IFwtcSB8IFwtciB8IFwtaSB8IFwtYSB8IFwtQSB8IFwtdSB8IFwtVSB8IFwtdyB8IFwtVyBcfF0KLSAuUkIgW1x8IFwtcFwgXGMKLSAuSVIgZmFpbG92ZXIgfCBtdWx0aWJ1cyB8IGdyb3VwX2J5X3NlcmlhbCB8IGdyb3VwX2J5X3ByaW8gfCBncm91cF9ieV9ub2RlX25hbWUgXHxdCi0gLlJCIFtcfCBcLVJcIFxjCi1AQCAtMTM1LDYgKzEzNSw5IEBAIEFkZCB0aGUgV1dJRCBmb3IgdGhlIHNwZWNpZmllZCBkZXZpY2UgdG8gdGhlIFdXSURzIGZpbGUuCitAQCAtMTY3LDYgKzE2Nyw5IEBAIGl0c2VsZiBkb2Vzbid0IGF0dGVtcHQgdG8gZG8gSS9PIG9uIHRoZSBkZXZpY2UuCiAgQ2hlY2sgaWYgdGhlIGRldmljZSBzcGVjaWZpZWQgaW4gdGhlIHByb2dyYW0gZW52aXJvbm1lbnQgc2hvdWxkIGJlCiAgYSBwYXRoIGluIGEgbXVsdGlwYXRoIGRldmljZS4KICAuCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyNy1SSC13YXJuLW9uLWludmFsaWQtcmVnZXgtaW5zdGVhZC1vZi1mYWlsaW5nLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjctUkgtd2Fybi1vbi1pbnZhbGlkLXJlZ2V4LWluc3RlYWQtb2YtZmFpbGluZy5wYXRjaAppbmRleCBhMjNlMTY3Li41N2QwNGQwIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyNy1SSC13YXJuLW9uLWludmFsaWQtcmVnZXgtaW5zdGVhZC1vZi1mYWlsaW5nLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDI3LVJILXdhcm4tb24taW52YWxpZC1yZWdleC1pbnN0ZWFkLW9mLWZhaWxpbmcucGF0Y2gKQEAgLTEsNyArMSwxMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotRGF0ZTogTW9uLCA2IE5vdiAyMDE3IDIxOjM5OjI4IC0wNjAwCi1TdWJqZWN0OiBbUEFUQ0hdIFJIOiB3YXJuIG9uIGludmFsaWQgcmVnZXggaW5zdGVhZCBvZiBmYWlsaW5nCitGcm9tIGQxNmRlNzBiNzY5MTkyNjk1NjFiNGU0MDQ4MjVmNzgyODZlYTlhNDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyNiBOb3YgMjAxOCAxMDozMTozMCArMDgwMAorU3ViamVjdDogW1BBVENIXSBGcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNworIDAwOjAwOjAwIDIwMDEgRnJvbTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPiBEYXRlOiBNb24sIDYgTm92CisgMjAxNyAyMTozOToyOCAtMDYwMCBTdWJqZWN0OiBbUEFUQ0hdIFJIOiB3YXJuIG9uIGludmFsaWQgcmVnZXggaW5zdGVhZCBvZgorIGZhaWxpbmcKIAogbXVsdGlwYXRoLmNvbmYgdXNlZCB0byBhbGxvdyAiKiIgYXMgYSBtYXRjaCBldmVyeXRoaW5nIHJlZ3VsYXIgZXhwcmVzc2lvbiwKIGluc3RlYWQgb2YgcmVxdWlyaW5nICIuKiIuIEluc3RlYWQgb2YgZXJyb3Jpbmcgd2hlbiB0aGUgb2xkIHN0eWxlCkBAIC05LDM5ICsxMiw1NiBAQAogdGhlbS4KIAogU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKwordXBkYXRlIHRoaXMgcGF0Y2ggdG8gbmV3IHZlcnNpb24KKworU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KIC0tLQotIGxpYm11bHRpcGF0aC9kaWN0LmMgICB8IDI3ICsrKysrKysrKysrKysrKysrKysrKy0tLS0tLQorIGxpYm11bHRpcGF0aC9kaWN0LmMgICB8IDI5ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCiAgbGlibXVsdGlwYXRoL3BhcnNlci5jIHwgMTMgKysrKysrKysrKysrKwotIGxpYm11bHRpcGF0aC9wYXJzZXIuaCB8ICAxICsKLSAzIGZpbGVzIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisgbGlibXVsdGlwYXRoL3BhcnNlci5oIHwgIDIgKy0KKyAzIGZpbGVzIGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvZGljdC5jIGIvbGlibXVsdGlwYXRoL2RpY3QuYwotaW5kZXggN2FkMGY1YS4uYWI4MDhkNiAxMDA2NDQKK2luZGV4IGE4MWMwNTEuLjA2ODk3NjMgMTAwNjQ0CiAtLS0gYS9saWJtdWx0aXBhdGgvZGljdC5jCiArKysgYi9saWJtdWx0aXBhdGgvZGljdC5jCi1AQCAtNTUsNiArNTUsMjEgQEAgc2V0X3N0cih2ZWN0b3Igc3RydmVjLCB2b2lkICpwdHIpCitAQCAtNTksNiArNTksMjEgQEAgc2V0X3N0cih2ZWN0b3Igc3RydmVjLCB2b2lkICpwdHIpCiAgfQogIAogIHN0YXRpYyBpbnQKICtzZXRfcmVnZXgodmVjdG9yIHN0cnZlYywgdm9pZCAqcHRyKQogK3sKLSsJY2hhciAqKnN0cl9wdHIgPSAoY2hhciAqKilwdHI7CisrICAgICAgIGNoYXIgKipzdHJfcHRyID0gKGNoYXIgKiopcHRyOwogKwotKwlpZiAoKnN0cl9wdHIpCi0rCQlGUkVFKCpzdHJfcHRyKTsKLSsJKnN0cl9wdHIgPSBzZXRfcmVnZXhfdmFsdWUoc3RydmVjKTsKKysgICAgICAgaWYgKCpzdHJfcHRyKQorKyAgICAgICAgICAgICAgIEZSRUUoKnN0cl9wdHIpOworKyAgICAgICAqc3RyX3B0ciA9IHNldF9yZWdleF92YWx1ZShzdHJ2ZWMpOwogKwotKwlpZiAoISpzdHJfcHRyKQotKwkJcmV0dXJuIDE7CisrICAgICAgIGlmICghKnN0cl9wdHIpCisrICAgICAgICAgICAgICAgcmV0dXJuIDE7CiArCi0rCXJldHVybiAwOworKyAgICAgICByZXR1cm4gMDsKICt9CiArCiArc3RhdGljIGludAogIHNldF95ZXNfbm8odmVjdG9yIHN0cnZlYywgdm9pZCAqcHRyKQogIHsKICAJY2hhciAqIGJ1ZmY7Ci1AQCAtMTI3MSw3ICsxMjg2LDcgQEAgYmxlXyAjIyBvcHRpb24gIyMgX2hhbmRsZXIgKHN0cnVjdCBjb25maWcgKmNvbmYsIHZlY3RvciBzdHJ2ZWMpCQlcCitAQCAtMTM0Niw4ICsxMzYxLDggQEAgYmxlXyAjIyBvcHRpb24gIyMgX2hhbmRsZXIgKHN0cnVjdCBjb25maWcgKmNvbmYsIHZlY3RvciBzdHJ2ZWMpCQlcCisgCQkJCQkJCQkJXAorIAlpZiAoIWNvbmYtPm9wdGlvbikJCQkJCQlcCisgCQlyZXR1cm4gMTsJCQkJCQlcCistCQkJCQkJCQkJXAorLQlidWZmID0gc2V0X3ZhbHVlKHN0cnZlYyk7CQkJCQlcCisrCQkJCQkJCQkJXAkKKysJYnVmZiA9IHNldF9yZWdleF92YWx1ZShzdHJ2ZWMpOwkJCQkJXAorIAlpZiAoIWJ1ZmYpCQkJCQkJCVwKKyAJCXJldHVybiAxOwkJCQkJCVwKKyAJCQkJCQkJCQlcCitAQCAtMTM2Myw3ICsxMzc4LDcgQEAgYmxlXyAjIyBvcHRpb24gIyMgXyAjIyBuYW1lICMjIF9oYW5kbGVyIChzdHJ1Y3QgY29uZmlnICpjb25mLCB2ZWN0b3Igc3RydmVjKSBcCiAgCWlmICghY29uZi0+b3B0aW9uKQkJCQkJCVwKICAJCXJldHVybiAxOwkJCQkJCVwKICAJCQkJCQkJCQlcCkBAIC01MCwxNiArNzAsNyBAQAogIAlpZiAoIWJ1ZmYpCQkJCQkJCVwKICAJCXJldHVybiAxOwkJCQkJCVwKICAJCQkJCQkJCQlcCi1AQCAtMTI4Nyw3ICsxMzAyLDcgQEAgYmxlXyAjIyBvcHRpb24gIyMgXyAjIyBuYW1lICMjIF9oYW5kbGVyIChzdHJ1Y3QgY29uZmlnICpjb25mLCB2ZWN0b3Igc3RydmVjKSBcCi0gCWlmICghY29uZi0+b3B0aW9uKQkJCQkJCVwKLSAJCXJldHVybiAxOwkJCQkJCVwKLSAJCQkJCQkJCQlcCi0tCWJ1ZmYgPSBzZXRfdmFsdWUoc3RydmVjKTsJCQkJCVwKLSsJYnVmZiA9IHNldF9yZWdleF92YWx1ZShzdHJ2ZWMpOwkJCQkJXAotIAlpZiAoIWJ1ZmYpCQkJCQkJCVwKLSAJCXJldHVybiAxOwkJCQkJCVwKLSAJCQkJCQkJCQlcCi1AQCAtMTM4OCwxNiArMTQwMywxNiBAQCBkZXZpY2VfaGFuZGxlcihzdHJ1Y3QgY29uZmlnICpjb25mLCB2ZWN0b3Igc3RydmVjKQorQEAgLTE0NjYsMTYgKzE0ODEsMTYgQEAgZGV2aWNlX2hhbmRsZXIoc3RydWN0IGNvbmZpZyAqY29uZiwgdmVjdG9yIHN0cnZlYykKICAJcmV0dXJuIDA7CiAgfQogIApAQCAtODEsMzcgKzkyLDM4IEBACiAgCiAgZGVjbGFyZV9od19oYW5kbGVyKGh3aGFuZGxlciwgc2V0X3N0cikKIGRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvcGFyc2VyLmMgYi9saWJtdWx0aXBhdGgvcGFyc2VyLmMKLWluZGV4IGI4YjdlMGQuLjM0YjRhZDIgMTAwNjQ0CitpbmRleCA5MmVmN2NmLi4wZTJjZjQ5IDEwMDY0NAogLS0tIGEvbGlibXVsdGlwYXRoL3BhcnNlci5jCiArKysgYi9saWJtdWx0aXBhdGgvcGFyc2VyLmMKLUBAIC0zODAsNiArMzgwLDE5IEBAIHNldF92YWx1ZSh2ZWN0b3Igc3RydmVjKQorQEAgLTM4NCw2ICszODQsMTkgQEAgc2V0X3ZhbHVlKHZlY3RvciBzdHJ2ZWMpCiAgCXJldHVybiBhbGxvYzsKICB9CiAgCiArdm9pZCAqCiArc2V0X3JlZ2V4X3ZhbHVlKHZlY3RvciBzdHJ2ZWMpCiArewotKwljaGFyICpidWZmID0gc2V0X3ZhbHVlKHN0cnZlYyk7CisrICAgICAgIGNoYXIgKmJ1ZmYgPSBzZXRfdmFsdWUoc3RydmVjKTsKICsKLSsJaWYgKGJ1ZmYgJiYgc3RyY21wKCIqIiwgYnVmZikgPT0gMCkgewotKwkJY29uZGxvZygwLCAiSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb24gXCIqXCIgaW4gbXVsdGlwYXRoLmNvbmYuIFVzaW5nIFwiLipcIiIpOwotKwkJRlJFRShidWZmKTsKLSsJCXJldHVybiBzdHJkdXAoIi4qIik7Ci0rCX0KLSsJcmV0dXJuIGJ1ZmY7CisrICAgICAgIGlmIChidWZmICYmIHN0cmNtcCgiKiIsIGJ1ZmYpID09IDApIHsKKysgICAgICAgICAgICAgICBjb25kbG9nKDAsICJJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbiBcIipcIiBpbiBtdWx0aXBhdGguY29uZi4gVXNpbmcgXCIuKlwiIik7CisrICAgICAgICAgICAgICAgRlJFRShidWZmKTsKKysgICAgICAgICAgICAgICByZXR1cm4gc3RyZHVwKCIuKiIpOworKyAgICAgICB9CisrICAgICAgIHJldHVybiBidWZmOwogK30KICsKICAvKiBub24tcmVjdXJzaXZlIGNvbmZpZ3VyYXRpb24gc3RyZWFtIGhhbmRsZXIgKi8KICBzdGF0aWMgaW50IGt3X2xldmVsID0gMDsKICAKIGRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvcGFyc2VyLmggYi9saWJtdWx0aXBhdGgvcGFyc2VyLmgKLWluZGV4IDYyOTA2ZTkuLmI3OTE3MDUgMTAwNjQ0CitpbmRleCA2MjkwNmU5Li5iNjg5OWZjIDEwMDY0NAogLS0tIGEvbGlibXVsdGlwYXRoL3BhcnNlci5oCiArKysgYi9saWJtdWx0aXBhdGgvcGFyc2VyLmgKLUBAIC03Nyw2ICs3Nyw3IEBAIGV4dGVybiB2b2lkIGR1bXBfa2V5d29yZHModmVjdG9yIGtleWR1bXAsIGludCBsZXZlbCk7CitAQCAtNzYsNyArNzYsNyBAQCBleHRlcm4gaW50IF9pbnN0YWxsX2tleXdvcmQodmVjdG9yIGtleXdvcmRzLCBjaGFyICpzdHJpbmcsCisgZXh0ZXJuIHZvaWQgZHVtcF9rZXl3b3Jkcyh2ZWN0b3Iga2V5ZHVtcCwgaW50IGxldmVsKTsKICBleHRlcm4gdm9pZCBmcmVlX2tleXdvcmRzKHZlY3RvciBrZXl3b3Jkcyk7CiAgZXh0ZXJuIHZlY3RvciBhbGxvY19zdHJ2ZWMoY2hhciAqc3RyaW5nKTsKLSBleHRlcm4gdm9pZCAqc2V0X3ZhbHVlKHZlY3RvciBzdHJ2ZWMpOworLWV4dGVybiB2b2lkICpzZXRfdmFsdWUodmVjdG9yIHN0cnZlYyk7CiArZXh0ZXJuIHZvaWQgKnNldF9yZWdleF92YWx1ZSh2ZWN0b3Igc3RydmVjKTsKICBleHRlcm4gaW50IHByb2Nlc3NfZmlsZShzdHJ1Y3QgY29uZmlnICpjb25mLCBjaGFyICpjb25mX2ZpbGUpOwogIGV4dGVybiBzdHJ1Y3Qga2V5d29yZCAqIGZpbmRfa2V5d29yZCh2ZWN0b3Iga2V5d29yZHMsIHZlY3RvciB2LCBjaGFyICogbmFtZSk7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyOC1SSC1yZXNldC1kZWZhdWx0LWZpbmRfbXV0aXBhdGhzLXZhbHVlLXRvLW9mZi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDI4LVJILXJlc2V0LWRlZmF1bHQtZmluZF9tdXRpcGF0aHMtdmFsdWUtdG8tb2ZmLnBhdGNoCmluZGV4IDA1ZTY4NjQuLmFkMDNiOGEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDI4LVJILXJlc2V0LWRlZmF1bHQtZmluZF9tdXRpcGF0aHMtdmFsdWUtdG8tb2ZmLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDI4LVJILXJlc2V0LWRlZmF1bHQtZmluZF9tdXRpcGF0aHMtdmFsdWUtdG8tb2ZmLnBhdGNoCkBAIC0xLDE4ICsxLDI3IEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci1EYXRlOiBUaHUsIDcgSnVuIDIwMTggMTc6NDM6NTIgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSF0gUkg6IHJlc2V0IGRlZmF1bHQgZmluZF9tdXRpcGF0aHMgdmFsdWUgdG8gb2ZmCitGcm9tIDE2OTAwMTUwZTAyZTViMzY3YThiMzM2MjFiMzkzOTc1YWQwMTExMzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyNiBOb3YgMjAxOCAxMToxMjowMSArMDgwMAorU3ViamVjdDogW1BBVENIXSBGcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNworIDAwOjAwOjAwIDIwMDEgRnJvbTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPiBEYXRlOiBUaHUsIDcgSnVuCisgMjAxOCAxNzo0Mzo1MiAtMDUwMCBTdWJqZWN0OiBbUEFUQ0hdIFJIOiByZXNldCBkZWZhdWx0IGZpbmRfbXV0aXBhdGhzIHZhbHVlCisgdG8gb2ZmCiAKIFVwc3RyZWFtIGhhcyBjaGFuZ2VkIHRvIGRlZmF1bHQgZmluZF9tdWx0aXBhdGhzIHRvICJzdHJpY3QiLiBGb3Igbm93CiBSZWRoYXQgd2lsbCByZXRhaW4gdGhlIHByZXZpb3VzIGRlZmF1bHQgb2YgIm9mZiIuCiAKIFNpZ25lZC1vZmYtYnk6IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1VwZGF0ZSB0aGlzIHBhdGNoIHRvIG5ldyB2ZXJzaW9uCisKK1NpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CiAtLS0KICBsaWJtdWx0aXBhdGgvZGVmYXVsdHMuaCB8IDIgKy0KICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9kZWZhdWx0cy5oIGIvbGlibXVsdGlwYXRoL2RlZmF1bHRzLmgKLWluZGV4IGYwNzZiNGIuLjcwYmE5OGEgMTAwNjQ0CitpbmRleCA2NTc2OTM5Li5hMjQwNGIyIDEwMDY0NAogLS0tIGEvbGlibXVsdGlwYXRoL2RlZmF1bHRzLmgKICsrKyBiL2xpYm11bHRpcGF0aC9kZWZhdWx0cy5oCiBAQCAtMTcsNyArMTcsNyBAQApAQCAtMjAsNyArMjksNyBAQAogICNkZWZpbmUgREVGQVVMVF9WRVJCT1NJVFkJMgogICNkZWZpbmUgREVGQVVMVF9SRUFTU0lHTl9NQVBTCTAKIC0jZGVmaW5lIERFRkFVTFRfRklORF9NVUxUSVBBVEhTCUZJTkRfTVVMVElQQVRIU19TVFJJQ1QKLSsjZGVmaW5lIERFRkFVTFRfRklORF9NVUxUSVBBVEhTCUZJTkRfTVVMVElQQVRIU19PRkYKKysjZGVmaW5lIERFRkFVTFRfRklORF9NVUxUSVBBVEhTICAgICAgICBGSU5EX01VTFRJUEFUSFNfT0ZGCiAgI2RlZmluZSBERUZBVUxUX0ZBU1RfSU9fRkFJTAk1CiAgI2RlZmluZSBERUZBVUxUX0RFVl9MT1NTX1RNTwk2MDAKICAjZGVmaW5lIERFRkFVTFRfUkVUQUlOX0hXSEFORExFUiBSRVRBSU5fSFdIQU5ETEVSX09OCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyOS1tdWx0aXBhdGgtdG9vbHMtbW9kaWZ5LU1ha2VmaWxlLmluYy1mb3ItY3Jvc3MtY29tcGlsLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjktbXVsdGlwYXRoLXRvb2xzLW1vZGlmeS1NYWtlZmlsZS5pbmMtZm9yLWNyb3NzLWNvbXBpbC5wYXRjaAppbmRleCA0NWNkMzJhLi40ZmE3OTYwIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyOS1tdWx0aXBhdGgtdG9vbHMtbW9kaWZ5LU1ha2VmaWxlLmluYy1mb3ItY3Jvc3MtY29tcGlsLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDI5LW11bHRpcGF0aC10b29scy1tb2RpZnktTWFrZWZpbGUuaW5jLWZvci1jcm9zcy1jb21waWwucGF0Y2gKQEAgLTEsNyArMSwxMCBAQAotRnJvbSA4YmRkNDQ4MWQ4MjJiNjYyNWQ4YmY3MTk0MzFjYTc0ZWQxYjVlMDIxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBhODA1YjYwMWZjZjRiYjllMjY5NTY2YThkMjVlNDhkOWU2MDkxNWMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KLURhdGU6IE1vbiwgMTYgSnVsIDIwMTggMTU6NTY6MzcgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gbXVsdGlwYXRoLXRvb2xzOiBtb2RpZnkgTWFrZWZpbGUuaW5jIGZvciBjcm9zcy1jb21waWxhdGlvbgorRGF0ZTogTW9uLCAyNiBOb3YgMjAxOCAxMToxNDoyNCArMDgwMAorU3ViamVjdDogW1BBVENIXSBGcm9tIDhiZGQ0NDgxZDgyMmI2NjI1ZDhiZjcxOTQzMWNhNzRlZDFiNWUwMjEgTW9uIFNlcCAxNworIDAwOjAwOjAwIDIwMDEgRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4gRGF0ZTogTW9uLCAxNgorIEp1bCAyMDE4IDE1OjU2OjM3ICswODAwIFN1YmplY3Q6IFtQQVRDSF0gbXVsdGlwYXRoLXRvb2xzOiBtb2RpZnkgTWFrZWZpbGUuaW5jCisgZm9yIGNyb3NzLWNvbXBpbGF0aW9uCiAKIERvIG5vdCBsb29rIGZvciBzeXN0ZW1kIGluZm8gb24gdGhlIGhvc3QsIGFuZCBhbGxvdyB1cyB0byBwYXNzIGluIENGTEFHUwogdXNpbmcgdGhlIE9QVEZMQUdTIHZhcmlhYmxlLgpAQCAtMjMsMTIgKzI2LDE1IEBACiByZW1vdmUgY2hhbmdlIGFib3V0IENGTEFHUyBwYXJ0LCBzaW5jZSBwYXRjaCAwMDI0IGFscmVhZHkgaGF2ZSBzaW1pbGFyIGZ1bmN0aW9uLgogCiBTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorCit1cGRhdGUgZm9yIHZlcnNpb24gMC43LjkKK1NpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CiAtLS0KLSBNYWtlZmlsZS5pbmMgfCA4ICsrLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKyBNYWtlZmlsZS5pbmMgfCA2IC0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA2IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuaW5jIGIvTWFrZWZpbGUuaW5jCi1pbmRleCA1N2ExODM1Li4wYzQwM2M3IDEwMDY0NAoraW5kZXggMjk1YWZiOS4uNzEzNmRiMyAxMDA2NDQKIC0tLSBhL01ha2VmaWxlLmluYwogKysrIGIvTWFrZWZpbGUuaW5jCiBAQCAtMzgsMTIgKzM4LDYgQEAgaWZuZGVmIFJVTgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMzAtQWx3YXlzLXVzZS1kZXZtYXBwZXIucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAzMC1BbHdheXMtdXNlLWRldm1hcHBlci5wYXRjaAppbmRleCAxMjgxMTgwLi4zZTg4YjQxIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAzMC1BbHdheXMtdXNlLWRldm1hcHBlci5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAzMC1BbHdheXMtdXNlLWRldm1hcHBlci5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gZDkyOWExZWE1ZTQyZWNiZTMwYzk5MDY0NGVkNGFkYTI4MTdjNjQzOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZTRhY2I0NmIxMDQ4NGQxZGE2ZjA5MzI1N2UzNGYyNjk4MzJlNmEzNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBNb24sIDE2IEp1bCAyMDE4IDE2OjAwOjE0ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdICBBbHdheXMgdXNlIGRldm1hcHBlcgorRGF0ZTogTW9uLCAyNiBOb3YgMjAxOCAxMToxNzo0MSArMDgwMAorU3ViamVjdDogW1BBVENIXSBTdWJqZWN0OiBbUEFUQ0hdICBBbHdheXMgdXNlIGRldm1hcHBlcgogCiBEbyBub3QgdHJ5IHRvIGNvbXB1dGUgc2V2ZXJhbCBfQVBJXyBtYWtlIHZhcmlhYmxlcwogZnJvbSBob3N0IGluZm9ybWF0aW9uIHdoZW4gY3Jvc3MtY29tcGlsaW5nLgpAQCAtMTgsMTIgKzE4LDE1IEBACiBSZWJhc2UgdG8gMC43LjcKIAogU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKworUmViYXNlIHRvIDAuNy45CitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgogLS0tCiAgbGlibXVsdGlwYXRoL01ha2VmaWxlIHwgMTkgKysrKy0tLS0tLS0tLS0tLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL01ha2VmaWxlIGIvbGlibXVsdGlwYXRoL01ha2VmaWxlCi1pbmRleCBmNTE3ODZkLi4zYWQ5YzQ4IDEwMDY0NAoraW5kZXggMzNmNTI2OS4uYWRmNmY0YSAxMDA2NDQKIC0tLSBhL2xpYm11bHRpcGF0aC9NYWtlZmlsZQogKysrIGIvbGlibXVsdGlwYXRoL01ha2VmaWxlCiBAQCAtMjAsMjEgKzIwLDEwIEBAIGlmZGVmIFNZU1RFTUQKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDMxLUFsd2F5cy11c2UtZGV2bWFwcGVyLWZvci1rcGFydHgucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAzMS1BbHdheXMtdXNlLWRldm1hcHBlci1mb3Ita3BhcnR4LnBhdGNoCmluZGV4IDg4YTc1OGQuLjQxOGMwMjAgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDMxLUFsd2F5cy11c2UtZGV2bWFwcGVyLWZvci1rcGFydHgucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMzEtQWx3YXlzLXVzZS1kZXZtYXBwZXItZm9yLWtwYXJ0eC5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gMTQ1ZjJiODI5ZTUzNjJjZGE5NzViZWJhZmQ3ZmU0ZDAwZmY1NmQxYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMWZlOTM3ODM1MzExYTJkMGFmYmM4NWNlNGE0ZGJkM2M5ZTBjOTEyZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBNb24sIDE2IEp1bCAyMDE4IDE2OjAyOjA3ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIEFsd2F5cyB1c2UgZGV2bWFwcGVyIGZvciBrcGFydHgKK0RhdGU6IE1vbiwgMjYgTm92IDIwMTggMTE6MTk6NDUgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gU3ViamVjdDogW1BBVENIXSBBbHdheXMgdXNlIGRldm1hcHBlciBmb3Iga3BhcnR4CiAKIERvIG5vdCB0cnkgdG8gY29tcHV0ZSB0aGUgTElCRE1fQVBJX0NPT0tJRSBtYWtlIHZhcmlhYmxlCiBmcm9tIGhvc3QgaW5mb3JtYXRpb24gd2hlbiBjcm9zcy1jb21waWxpbmcuCkBAIC0xNiw2ICsxNiw5IEBACiAKIFJlYmFzZSB0byAwLjcuNwogU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKworUmViYXNlIHRvIDAuNy45CitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgogLS0tCiAga3BhcnR4L01ha2VmaWxlIHwgNCArLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAzIGRlbGV0aW9ucygtKQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL211bHRpcGF0aC10b29sc18wLjcuNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9tdWx0aXBhdGgtdG9vbHNfMC43LjcuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVjYzE1NDYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL211bHRpcGF0aC10b29sc18wLjcuNy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEzMSArMCwwIEBACi1TVU1NQVJZID0gIlRoZSB1cHN0cmVhbSBwcm9qZWN0IHVzZWQgdG8gZHJpdmUgdGhlIERldmljZSBNYXBwZXIgbXVsdGlwYXRoaW5nIGRyaXZlciIKLQotREVTQ1JJUFRJT04gPSAiSXQgcHJvdmlkZXMgdG9vbHMgdG8gbWFuYWdlIG11bHRpcGF0aCBkZXZpY2VzIFwKLWJ5IGluc3RydWN0aW5nIHRoZSBkZXZpY2UtbWFwcGVyIGtlcm5lbCBtb2R1bGUgd2hhdCB0byBkby4gVGhlc2UgXAotdG9vbHMgaW5jbHVkZTogXAotMS4gbXVsdGlwYXRoIC0gU2NhbiB0aGUgc3lzdGVtIGZvciBtdWx0aXBhdGggZGV2aWNlcyBhbmQgYXNzZW1ibGUgdGhlbS5cCi0yLiBtdWx0aXBhdGhkIC0gRGV0ZWN0cyB3aGVuIHBhdGhzIGZhaWwgYW5kIGV4ZWNzIG11bHRpcGF0aCB0byB1cGRhdGUgXAotdGhpbmdzLlwKLTMuIG1wYXRocGVyc2lzdCAtIFBlcnNpc3RlbnQgcmVzZXJ2YXRpb24gbWFuYWdlbWVudCBmZWF0dXJlIGFsbG93cyBcCi1jbHVzdGVyIG1hbmFnZW1lbnQgc29mdHdhcmUgdG8gbWFuYWdlIHBlcnNpc3RlbnQgcmVzZXJ2YXRpb24gdGhyb3VnaCBcCi1tcGF0aCBkZXZpY2UuIEl0IHByb2Nlc3NlcyBtYW5hZ2VtZW50IHJlcXVlc3RzIGZyb20gY2FsbGVycyBhbmQgaGlkZXMgXAotdGhlIG1hbmFnZW1lbnQgdGFzayBkZXRhaWxzLiBJdCBhbHNvIGhhbmRsZXMgcGVyc2lzdGVudCByZXNlcnZhdGlvbiBcCi1tYW5hZ2VtZW50IG9mIGRhdGEgcGF0aCBsaWZlIGN5Y2xlIGFuZCBzdGF0ZSBjaGFuZ2VzLlwKLTQuIGtwYXJ0eCAtIFRoaXMgdG9vbCwgZGVyaXZlZCBmcm9tIHV0aWwtbGludXgncyBwYXJ0eCwgcmVhZHMgcGFydGl0aW9uIFwKLXRhYmxlcyBvbiBzcGVjaWZpZWQgZGV2aWNlIGFuZCBjcmVhdGUgZGV2aWNlIG1hcHMgb3ZlciBwYXJ0aXRpb25zIFwKLXNlZ21lbnRzIGRldGVjdGVkLiBJdCBpcyBjYWxsZWQgZnJvbSBob3RwbHVnIHVwb24gZGV2aWNlIG1hcHMgY3JlYXRpb24gXAotYW5kIGRlbGV0aW9uIgotCi1IT01FUEFHRSA9ICJodHRwOi8vY2hyaXN0b3BoZS52YXJvcXVpLmZyZWUuZnIvIgotCi1ERVBFTkRTID0gImxpYmRldm1hcHBlciBcCi0gICAgICAgICAgIGxpYmFpbyBcCi0gICAgICAgICAgIGxpYnVyY3UgXAotICAgICAgICAgICByZWFkbGluZSBcCi0gICAgICAgICAgIHVkZXYgXAotICAgICAgICAgICBqc29uLWMgXAotICAgICAgICAgICIKLQotTElDRU5TRSA9ICJHUEx2MiIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXQub3BlbnN2Yy5jb20vbXVsdGlwYXRoLXRvb2xzLy5naXQ7cHJvdG9jb2w9aHR0cCBcCi0gICAgICAgICAgIGZpbGU6Ly9tdWx0aXBhdGhkLm9lIFwKLSAgICAgICAgICAgZmlsZTovL211bHRpcGF0aC5jb25mLmV4YW1wbGUgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1tdWx0aXBhdGgtdG9vbHMtYWRkLVJEQUMtU1VOLUFycmF5U3RvcmFnZS10by1od3RhYmxlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItbXVsdGlwYXRoLXRvb2xzLXJlbW92ZS1jLWZyb20tX19jcGx1c2NwbHVzLW1pc3NwZWxsZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAzLW11bHRpcGF0aC10b29scy1yZW1vdmUtZW1hY3MtYXV0b2NvbmZpZy1vZi1rcGFydHgtZ3AucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNC1tdWx0aXBhdGgtdG9vbHMtcmVwbGFjZS1GU0YtYWRkcmVzcy13aXRoLWEtd3d3LXBvaW50LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDUtbXVsdGlwYXRoLXRvb2xzLVJlbW92ZS10cmFpbGluZy1sZWFkaW5nLXdoaXRlc3BhY2VzLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA2LW11bHRpcGF0aC10b29scy1maXgtY29tcGlsYXRpb24td2l0aC1tdXNsLWxpYmMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNy1tdWx0aXBhdGgtdG9vbHMtYWRkLXgtdG8tZG9jLXByZWNsZWFuLnBsLWFuZC1zcGxpdC1tLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDgtbXVsdGlwYXRoLXRvb2xzLXJlZnJlc2gta2VybmVsLWRvYy1mcm9tLWtlcm5lbC1zb3VyYy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA5LW11bHRpcGF0aC10b29scy1jb25maWd1cmUtaGl0YWNoaS1hbXMyMDAwLWFuZC1odXMxMDAucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxMC1saWJtdWx0aXBhdGgtZG9uLXQtcmVqZWN0LW1hcHMtd2l0aC11bmRlZmluZWQtcHJpby5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDExLW11bHRpcGF0aGQtaGFuZGxlLWVycm9ycy1pbi11eGxzbnItYXMtZmF0YWwucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxMi1saWJtdWx0aXBhdGgtZml4LWVycm9yLXBhcnNpbmctZmluZF9tdWx0aXBhdGhzLXN0cmljLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTMtbGlibXVsdGlwYXRoLXByaW50LWNvcnJlY3QtZGVmYXVsdC1mb3ItZGVsYXlfLV9jaGVjay5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDE0LW11bHRpcGF0aC5jb25mLjUtY2xhcmlmeS1wcm9wZXJ0eS13aGl0ZWxpc3QtaGFuZGxpbmcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxNS1tcGF0aHBlcnNpc3QtYWRkLWFsbF90Z19wdC1vcHRpb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxNi1saWJtdWx0aXBhdGgtcmVtb3ZlLXJiZC1jb2RlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTctbXBhdGhwZXJzaXN0LWZpeC1hcHRwbC1zdXBwb3J0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTgtbXVsdGlwYXRoLWRvbi10LWNoZWNrLXRpbWVzdGFtcHMtd2l0aG91dC1hLXBhdGgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxOS1saWJtdWx0aXBhdGgtZml4LWRldGVjdC1hbHVhLWNvcm5lci1jYXNlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjAtbXVsdGlwYXRoLWZpeC1zZXR0aW5nLWNvbmYtdmVyc2lvbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDIxLVJILWZpeHVwLXVkZXYtcnVsZXMtZm9yLXJlZGhhdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDIyLVJILVJlbW92ZS10aGUtcHJvcGVydHktYmxhY2tsaXN0LWV4Y2VwdGlvbi1idWlsdGluLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjMtUkgtZG9uLXQtc3RhcnQtd2l0aG91dC1hLWNvbmZpZy1maWxlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjQtUkgtdXNlLXJwbS1vcHRmbGFncy1pZi1wcmVzZW50LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjUtUkgtYWRkLW1wYXRoY29uZi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI2LVJILWFkZC13d2lkcy1mcm9tLWtlcm5lbC1jbWRsaW5lLW1wYXRoLnd3aWRzLXdpdGgtQS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI3LVJILXdhcm4tb24taW52YWxpZC1yZWdleC1pbnN0ZWFkLW9mLWZhaWxpbmcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyOC1SSC1yZXNldC1kZWZhdWx0LWZpbmRfbXV0aXBhdGhzLXZhbHVlLXRvLW9mZi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI5LW11bHRpcGF0aC10b29scy1tb2RpZnktTWFrZWZpbGUuaW5jLWZvci1jcm9zcy1jb21waWwucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzMC1BbHdheXMtdXNlLWRldm1hcHBlci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDMxLUFsd2F5cy11c2UtZGV2bWFwcGVyLWZvci1rcGFydHgucGF0Y2ggXAotICAgICAgICAgICAiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTVmMzBmMDcxNmRmZGQwZDkxZWI0MzllYmVjNTIyZWMyIgotCi1TUkNSRVYgPSAiMzg2ZDI4OGI1NTk1ZmMyYzAxZGZmZTY5OGI2ZWIzMDZjNjY3NDkwOCIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBzeXN0ZW1kIHBrZ2NvbmZpZwotCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAibXVsdGlwYXRoZC5zZXJ2aWNlIgotU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgotCi1UQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKLQotIyBtdWx0aXBhdGgtdG9vbHMgaW5jbHVkZXMgYSBjb3B5IG9mIHRoZSB2YWxncmluZC5oIGhlYWRlcgotIyBmaWxlIGFuZCB1c2VzIHRoZSBtYWNyb3MgdG8gc3VwcHJlc3Mgc29tZSBmYWxzZSBwb3NpdGl2ZXMuIEhvd2V2ZXIsCi0jIHRoYXQgb25seSB3b3JrcyBvbiBBUk0gd2hlbiB0aHVtYiBpcyBkaXNhYmxlZC4gT3RoZXJ3aXNlIG9uZSBnZXRzOgotIyAgIEVycm9yOiBzaGlmdHMgaW4gQ01QL01PViBpbnN0cnVjdGlvbnMgYXJlIG9ubHkgc3VwcG9ydGVkIGluIHVuaWZpZWQgc3ludGF4IC0tIGBtb3YgcjEyLHIxMixyb3IjMycKLSMgICAuLi9NYWtlZmlsZS5pbmM6NjY6IHJlY2lwZSBmb3IgdGFyZ2V0ICdkZWJ1Zy5vJyBmYWlsZWQKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjQgPSAiYXJtIgotQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NSA9ICJhcm0iCi0KLSMgVGhlIGV4YWN0IHZlcnNpb24gb2YgU1lTVEVNRCBkb2VzIG5vdCBtYXR0ZXIgYnV0IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMjA5LgotIwotRVhUUkFfT0VNQUtFID0gJ01VTFRJUEFUSF9WRVJTSU9OPSR7UFZ9IERFU1RESVI9JHtEfSBzeXNsaWJkaXI9JHtiYXNlX2xpYmRpcn0gXAotICAgICAgICAgICAgICAgIE9QVEZMQUdTPSIke0NGTEFHU30iIFwKLSAgICAgICAgICAgICAgICBiaW5kaXI9JHtiYXNlX3NiaW5kaXJ9IFwKLSAgICAgICAgICAgICAgICBMSUI9JHtiYXNlX2xpYmRpcn0gbGliZGlyPSR7YmFzZV9saWJkaXJ9L211bHRpcGF0aCBcCi0gICAgICAgICAgICAgICAgdW5pdGRpcj0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9IFwKLSAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgInN5c3RlbWQiLCAiU1lTVEVNRD0yMTYiLCAiIiwgZCl9IFwKLSAgICAgICAgICAgICAgICcKLQotZG9faW5zdGFsbCgpIHsKLSAgICBvZV9ydW5tYWtlIGluc3RhbGwKLQotICAgICMgV2UgY29weSBhbiBpbml0c2NyaXB0LCBidXQgZG8gbm90IHN0YXJ0IG11bHRpcGF0aGQgYXQgaW5pdCB0aW1lLgotICAgICMKLSAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdmluaXQnLCd0cnVlJywnZmFsc2UnLGQpfTt0aGVuCi0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCi0gICAgICAgIGNwICR7V09SS0RJUn0vbXVsdGlwYXRoZC5vZSAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbXVsdGlwYXRoZAotICAgIGZpCi0KLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9Ci0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbXVsdGlwYXRoLmNvbmYuZXhhbXBsZSBcCi0gICAgJHtEfSR7c3lzY29uZmRpcn0vbXVsdGlwYXRoLmNvbmYuZXhhbXBsZQotfQotCi1GSUxFU18ke1BOfS1kYmcgKz0gIiR7YmFzZV9saWJkaXJ9L211bHRpcGF0aC8uZGVidWciCi0KLVBBQ0tBR0VTID0rICIke1BOfS1saWJzIgotRklMRVNfJHtQTn0tbGlicyA9ICIke2Jhc2VfbGliZGlyfS9saWIqLnNvLiogXAotICAgICAgICAgICAgICAgICAgICAke2Jhc2VfbGliZGlyfS9tdWx0aXBhdGgvbGliKi5zbyoiCi1SREVQRU5EU18ke1BOfSArPSAiJHtQTn0tbGlicyBiYXNoIgotCi1QUk9WSURFUyArPSAiZGV2aWNlLW1hcHBlci1tdWx0aXBhdGgiCi1SUFJPVklERVNfJHtQTn0gKz0gImRldmljZS1tYXBwZXItbXVsdGlwYXRoIgotUlBST1ZJREVTXyR7UE59LWxpYnMgKz0gImRldmljZS1tYXBwZXItbXVsdGlwYXRoLWxpYnMiCi0KLUZJTEVTXyR7UE59LWRldiArPSAiJHtiYXNlX2xpYmRpcn0vcGtnY29uZmlnIgotCi1QQUNLQUdFUyA9KyAia3BhcnR4IgotRklMRVNfa3BhcnR4ID0gIiR7YmFzZV9zYmluZGlyfS9rcGFydHggXAotICAgICAgICAgICAgICAgICR7bm9uYXJjaF9saWJkaXJ9L3VkZXYva3BhcnR4X2lkIFwKLSAgICAgICAgICAgICAgICIKLQotUkRFUEVORFNfJHtQTn0gKz0gImJhc2gga3BhcnR4IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL211bHRpcGF0aC10b29sc18wLjguMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9tdWx0aXBhdGgtdG9vbHNfMC44LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGNmZjQ4ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9tdWx0aXBhdGgtdG9vbHNfMC44LjAuYmIKQEAgLTAsMCArMSwxMTEgQEAKK1NVTU1BUlkgPSAiVGhlIHVwc3RyZWFtIHByb2plY3QgdXNlZCB0byBkcml2ZSB0aGUgRGV2aWNlIE1hcHBlciBtdWx0aXBhdGhpbmcgZHJpdmVyIgorCitERVNDUklQVElPTiA9ICJJdCBwcm92aWRlcyB0b29scyB0byBtYW5hZ2UgbXVsdGlwYXRoIGRldmljZXMgXAorYnkgaW5zdHJ1Y3RpbmcgdGhlIGRldmljZS1tYXBwZXIga2VybmVsIG1vZHVsZSB3aGF0IHRvIGRvLiBUaGVzZSBcCit0b29scyBpbmNsdWRlOiBcCisxLiBtdWx0aXBhdGggLSBTY2FuIHRoZSBzeXN0ZW0gZm9yIG11bHRpcGF0aCBkZXZpY2VzIGFuZCBhc3NlbWJsZSB0aGVtLlwKKzIuIG11bHRpcGF0aGQgLSBEZXRlY3RzIHdoZW4gcGF0aHMgZmFpbCBhbmQgZXhlY3MgbXVsdGlwYXRoIHRvIHVwZGF0ZSBcCit0aGluZ3MuXAorMy4gbXBhdGhwZXJzaXN0IC0gUGVyc2lzdGVudCByZXNlcnZhdGlvbiBtYW5hZ2VtZW50IGZlYXR1cmUgYWxsb3dzIFwKK2NsdXN0ZXIgbWFuYWdlbWVudCBzb2Z0d2FyZSB0byBtYW5hZ2UgcGVyc2lzdGVudCByZXNlcnZhdGlvbiB0aHJvdWdoIFwKK21wYXRoIGRldmljZS4gSXQgcHJvY2Vzc2VzIG1hbmFnZW1lbnQgcmVxdWVzdHMgZnJvbSBjYWxsZXJzIGFuZCBoaWRlcyBcCit0aGUgbWFuYWdlbWVudCB0YXNrIGRldGFpbHMuIEl0IGFsc28gaGFuZGxlcyBwZXJzaXN0ZW50IHJlc2VydmF0aW9uIFwKK21hbmFnZW1lbnQgb2YgZGF0YSBwYXRoIGxpZmUgY3ljbGUgYW5kIHN0YXRlIGNoYW5nZXMuXAorNC4ga3BhcnR4IC0gVGhpcyB0b29sLCBkZXJpdmVkIGZyb20gdXRpbC1saW51eCdzIHBhcnR4LCByZWFkcyBwYXJ0aXRpb24gXAordGFibGVzIG9uIHNwZWNpZmllZCBkZXZpY2UgYW5kIGNyZWF0ZSBkZXZpY2UgbWFwcyBvdmVyIHBhcnRpdGlvbnMgXAorc2VnbWVudHMgZGV0ZWN0ZWQuIEl0IGlzIGNhbGxlZCBmcm9tIGhvdHBsdWcgdXBvbiBkZXZpY2UgbWFwcyBjcmVhdGlvbiBcCithbmQgZGVsZXRpb24iCisKK0hPTUVQQUdFID0gImh0dHA6Ly9jaHJpc3RvcGhlLnZhcm9xdWkuZnJlZS5mci8iCisKK0RFUEVORFMgPSAibGliZGV2bWFwcGVyIFwKKyAgICAgICAgICAgbGliYWlvIFwKKyAgICAgICAgICAgbGlidXJjdSBcCisgICAgICAgICAgIHJlYWRsaW5lIFwKKyAgICAgICAgICAgdWRldiBcCisgICAgICAgICAgIGpzb24tYyBcCisgICAgICAgICAgIgorCitMSUNFTlNFID0gIkdQTHYyIgorCitTUkNfVVJJID0gImdpdDovL2dpdC5vcGVuc3ZjLmNvbS9tdWx0aXBhdGgtdG9vbHMvLmdpdDtwcm90b2NvbD1odHRwIFwKKyAgICAgICAgICAgZmlsZTovL211bHRpcGF0aGQub2UgXAorICAgICAgICAgICBmaWxlOi8vbXVsdGlwYXRoLmNvbmYuZXhhbXBsZSBcCisgICAgICAgICAgIGZpbGU6Ly8wMDIxLVJILWZpeHVwLXVkZXYtcnVsZXMtZm9yLXJlZGhhdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDIyLVJILVJlbW92ZS10aGUtcHJvcGVydHktYmxhY2tsaXN0LWV4Y2VwdGlvbi1idWlsdGluLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjMtUkgtZG9uLXQtc3RhcnQtd2l0aG91dC1hLWNvbmZpZy1maWxlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjQtUkgtdXNlLXJwbS1vcHRmbGFncy1pZi1wcmVzZW50LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjUtUkgtYWRkLW1wYXRoY29uZi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDI2LVJILWFkZC13d2lkcy1mcm9tLWtlcm5lbC1jbWRsaW5lLW1wYXRoLnd3aWRzLXdpdGgtQS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDI3LVJILXdhcm4tb24taW52YWxpZC1yZWdleC1pbnN0ZWFkLW9mLWZhaWxpbmcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyOC1SSC1yZXNldC1kZWZhdWx0LWZpbmRfbXV0aXBhdGhzLXZhbHVlLXRvLW9mZi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDI5LW11bHRpcGF0aC10b29scy1tb2RpZnktTWFrZWZpbGUuaW5jLWZvci1jcm9zcy1jb21waWwucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAzMC1BbHdheXMtdXNlLWRldm1hcHBlci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDMxLUFsd2F5cy11c2UtZGV2bWFwcGVyLWZvci1rcGFydHgucGF0Y2ggXAorICAgICAgICAgICAiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTVmMzBmMDcxNmRmZGQwZDkxZWI0MzllYmVjNTIyZWMyIgorCitTUkNSRVYgPSAiZWI2ODhlMTgzM2U5NTMzYmZkOTQ5NmRkYzM3ZWVjYzkzNTkwZGVmYSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBzeXN0ZW1kIHBrZ2NvbmZpZworCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAibXVsdGlwYXRoZC5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorCitUQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKKworIyBtdWx0aXBhdGgtdG9vbHMgaW5jbHVkZXMgYSBjb3B5IG9mIHRoZSB2YWxncmluZC5oIGhlYWRlcgorIyBmaWxlIGFuZCB1c2VzIHRoZSBtYWNyb3MgdG8gc3VwcHJlc3Mgc29tZSBmYWxzZSBwb3NpdGl2ZXMuIEhvd2V2ZXIsCisjIHRoYXQgb25seSB3b3JrcyBvbiBBUk0gd2hlbiB0aHVtYiBpcyBkaXNhYmxlZC4gT3RoZXJ3aXNlIG9uZSBnZXRzOgorIyAgIEVycm9yOiBzaGlmdHMgaW4gQ01QL01PViBpbnN0cnVjdGlvbnMgYXJlIG9ubHkgc3VwcG9ydGVkIGluIHVuaWZpZWQgc3ludGF4IC0tIGBtb3YgcjEyLHIxMixyb3IjMycKKyMgICAuLi9NYWtlZmlsZS5pbmM6NjY6IHJlY2lwZSBmb3IgdGFyZ2V0ICdkZWJ1Zy5vJyBmYWlsZWQKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjQgPSAiYXJtIgorQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NSA9ICJhcm0iCisKKyMgVGhlIGV4YWN0IHZlcnNpb24gb2YgU1lTVEVNRCBkb2VzIG5vdCBtYXR0ZXIgYnV0IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMjA5LgorIworRVhUUkFfT0VNQUtFID0gJ01VTFRJUEFUSF9WRVJTSU9OPSR7UFZ9IERFU1RESVI9JHtEfSBzeXNsaWJkaXI9JHtiYXNlX2xpYmRpcn0gXAorICAgICAgICAgICAgICAgIE9QVEZMQUdTPSIke0NGTEFHU30iIFwKKyAgICAgICAgICAgICAgICBiaW5kaXI9JHtiYXNlX3NiaW5kaXJ9IFwKKyAgICAgICAgICAgICAgICBMSUI9JHtiYXNlX2xpYmRpcn0gbGliZGlyPSR7YmFzZV9saWJkaXJ9L211bHRpcGF0aCBcCisgICAgICAgICAgICAgICAgdW5pdGRpcj0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9IFwKKyAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgInN5c3RlbWQiLCAiU1lTVEVNRD0yMTYiLCAiIiwgZCl9IFwKKyAgICAgICAgICAgICAgICcKKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwKKworICAgICMgV2UgY29weSBhbiBpbml0c2NyaXB0LCBidXQgZG8gbm90IHN0YXJ0IG11bHRpcGF0aGQgYXQgaW5pdCB0aW1lLgorICAgICMKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdmluaXQnLCd0cnVlJywnZmFsc2UnLGQpfTt0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgICAgIGNwICR7V09SS0RJUn0vbXVsdGlwYXRoZC5vZSAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbXVsdGlwYXRoZAorICAgIGZpCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbXVsdGlwYXRoLmNvbmYuZXhhbXBsZSBcCisgICAgJHtEfSR7c3lzY29uZmRpcn0vbXVsdGlwYXRoLmNvbmYuZXhhbXBsZQorfQorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7YmFzZV9saWJkaXJ9L211bHRpcGF0aC8uZGVidWciCisKK1BBQ0tBR0VTID0rICIke1BOfS1saWJzIgorRklMRVNfJHtQTn0tbGlicyA9ICIke2Jhc2VfbGliZGlyfS9saWIqLnNvLiogXAorICAgICAgICAgICAgICAgICAgICAke2Jhc2VfbGliZGlyfS9tdWx0aXBhdGgvbGliKi5zbyoiCitSREVQRU5EU18ke1BOfSArPSAiJHtQTn0tbGlicyBiYXNoIgorCitQUk9WSURFUyArPSAiZGV2aWNlLW1hcHBlci1tdWx0aXBhdGgiCitSUFJPVklERVNfJHtQTn0gKz0gImRldmljZS1tYXBwZXItbXVsdGlwYXRoIgorUlBST1ZJREVTXyR7UE59LWxpYnMgKz0gImRldmljZS1tYXBwZXItbXVsdGlwYXRoLWxpYnMiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtiYXNlX2xpYmRpcn0vcGtnY29uZmlnIgorCitQQUNLQUdFUyA9KyAia3BhcnR4IgorRklMRVNfa3BhcnR4ID0gIiR7YmFzZV9zYmluZGlyfS9rcGFydHggXAorICAgICAgICAgICAgICAgICR7bm9uYXJjaF9saWJkaXJ9L3VkZXYva3BhcnR4X2lkIFwKKyAgICAgICAgICAgICAgICIKKworUkRFUEVORFNfJHtQTn0gKz0gImJhc2gga3BhcnR4IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbmFuby9uYW5vXzMuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L25hbm8vbmFub18zLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJjN2ZiZDUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbmFuby9uYW5vXzMuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLURFU0NSSVBUSU9OID0gIkdOVSBuYW5vIChOYW5vJ3MgQU5PdGhlciBlZGl0b3IsIG9yIFwKLU5vdCBBTk90aGVyIGVkaXRvcikgaXMgYW4gZW5oYW5jZWQgY2xvbmUgb2YgdGhlIFwKLVBpY28gdGV4dCBlZGl0b3IuIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5uYW5vLWVkaXRvci5vcmcvIgotTElDRU5TRSA9ICJHUEx2MyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWYyN2RlZmUxZTk2YzJlMWVjZDRlMGM5YmU4OTY3OTQ5IgotU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgotREVQRU5EUyA9ICJuY3Vyc2VzIGZpbGUiCi1SREVQRU5EU18ke1BOfSA9ICJuY3Vyc2VzLXRlcm1pbmZvLWJhc2UiCi0KLVBWX01BSk9SID0gIiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMF19IgotCi1TUkNfVVJJID0gImh0dHBzOi8vbmFuby1lZGl0b3Iub3JnL2Rpc3QvdiR7UFZfTUFKT1J9L25hbm8tJHtQVn0udGFyLnh6IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNzQxOTY0MjdhMDllYzJmODJhODhmYWNkMjIwZDI3ODciCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTBhNWJjYTM1NDUxNGU2NDc2MmM5ODdjMjAwYTg3NThiMDVlN2JjY2VkM2IwMGIzZTQ4ZWEwYTJkMzgzYzhhMCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcKLQotUEFDS0FHRUNPTkZJR1t0aW55XSA9ICItLWVuYWJsZS10aW55LCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L25hbm8vbmFub180LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9uYW5vL25hbm9fNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkNzkyMWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9uYW5vL25hbm9fNC4wLmJiCkBAIC0wLDAgKzEsMjAgQEAKK0RFU0NSSVBUSU9OID0gIkdOVSBuYW5vIChOYW5vJ3MgQU5PdGhlciBlZGl0b3IsIG9yIFwKK05vdCBBTk90aGVyIGVkaXRvcikgaXMgYW4gZW5oYW5jZWQgY2xvbmUgb2YgdGhlIFwKK1BpY28gdGV4dCBlZGl0b3IuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5uYW5vLWVkaXRvci5vcmcvIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWYyN2RlZmUxZTk2YzJlMWVjZDRlMGM5YmU4OTY3OTQ5IgorCitERVBFTkRTID0gIm5jdXJzZXMgZmlsZSIKK1JERVBFTkRTXyR7UE59ID0gIm5jdXJzZXMtdGVybWluZm8tYmFzZSIKKworUFZfTUFKT1IgPSAiJHtAZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVswXX0iCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9uYW5vLWVkaXRvci5vcmcvZGlzdC92JHtQVl9NQUpPUn0vbmFuby0ke1BWfS50YXIueHoiCitTUkNfVVJJW21kNXN1bV0gPSAiMmRlM2U4YTYwZWNmMDk2NDllMzE2ZTg5YmUyYWFjNjUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWUyZmNmZWEzNTc4NDYyNGE3ZDg2Nzg1NzY4Yjc3MmQ1OGJiMzk5NWQxYWVjOTE3NmEyN2ExMTNiMWU5YmFjMyIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcKKworUEFDS0FHRUNPTkZJR1t0aW55XSA9ICItLWVuYWJsZS10aW55LCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW4tdm0tdG9vbHMvb3Blbi12bS10b29scy8wMDAxLW1pc2MtRG8tbm90LXByaW50LU5VTEwtc3RyaW5nLWludG8tbG9ncy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW4tdm0tdG9vbHMvb3Blbi12bS10b29scy8wMDAxLW1pc2MtRG8tbm90LXByaW50LU5VTEwtc3RyaW5nLWludG8tbG9ncy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YWYyNjVhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3Blbi12bS10b29scy9vcGVuLXZtLXRvb2xzLzAwMDEtbWlzYy1Eby1ub3QtcHJpbnQtTlVMTC1zdHJpbmctaW50by1sb2dzLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gZTI1ZDAwZDgyOTdjYmEwNDRjM2E0ZDJlMzg3NDllNTRhZGFjNjZjMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBTYXQsIDIyIERlYyAyMDE4IDE5OjU5OjAyIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIG1pc2M6IERvIG5vdCBwcmludCBOVUxMIHN0cmluZyBpbnRvIGxvZ3MKKworc3RyaW5nIGZvcm1hdCAlcyBpcyBnZXR0aW5nIGEgTlVMTCBwb2ludGVyIGZvciAnZXhwYW5kJworcGFyYW1ldGVyIGFsd2F5cyBzaW5jZSB0aGUgY2hlY2sgZm9yIGNodW5rc1tpXSA9PSBOVUxMIHdpbGwgZW5zdXJlIHRoYXQKK2l0cyBhbHdheXMgbnVsbCB3aGVuIHRoZSBMb2coKSBBUEkgaXMgY2FsbGVkCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vdm13YXJlL29wZW4tdm0tdG9vbHMvcHVsbC8zMTJdCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBvcGVuLXZtLXRvb2xzL2xpYi9taXNjL3V0aWxfbWlzYy5jIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBvcGVuLXZtLXRvb2xzL2xpYi9taXNjL3V0aWxfbWlzYy5jIGIvb3Blbi12bS10b29scy9saWIvbWlzYy91dGlsX21pc2MuYworaW5kZXggMTk4YzIzZDIuLjBhYzBhMzM1IDEwMDY0NAorLS0tIG9wZW4tdm0tdG9vbHMvbGliL21pc2MvdXRpbF9taXNjLmMKKysrKyBvcGVuLXZtLXRvb2xzL2xpYi9taXNjL3V0aWxfbWlzYy5jCitAQCAtNzE5LDggKzcxOSw4IEBAIFV0aWxfRXhwYW5kU3RyaW5nKGNvbnN0IGNoYXIgKmZpbGVOYW1lKSAvLyBJTiAgZmlsZSBwYXRoIHRvIGV4cGFuZAorICAgICAgIEFTU0VSVCghZnJlZUNodW5rW2ldKTsKKyAgICAgICBjaHVua3NbaV0gPSBleHBhbmQ7CisgICAgICAgaWYgKGNodW5rc1tpXSA9PSBOVUxMKSB7CistCSBMb2coIiVzOiBDYW5ub3QgYWxsb2NhdGUgbWVtb3J5IHRvIGV4cGFuZCBcIiVzXCIgaW4gXCIlc1wiLlxuIiwKKy0gICAgICAgICAgICAgX19GVU5DVElPTl9fLCBleHBhbmQsIGZpbGVOYW1lKTsKKysJIExvZygiJXM6IENhbm5vdCBhbGxvY2F0ZSBtZW1vcnkgdG8gZXhwYW5kIGluIFwiJXNcIi5cbiIsCisrICAgICAgICAgICAgIF9fRlVOQ1RJT05fXywgZmlsZU5hbWUpOworIAkgZ290byBvdXQ7CisgICAgICAgfQorICAgICAgIGNodW5rU2l6ZVtpXSA9IHN0cmxlbihleHBhbmQpOwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3Blbi12bS10b29scy9vcGVuLXZtLXRvb2xzXzEwLjMuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW4tdm0tdG9vbHMvb3Blbi12bS10b29sc18xMC4zLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJkNzQ4NmQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3Blbi12bS10b29scy9vcGVuLXZtLXRvb2xzXzEwLjMuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEwNSArMCwwIEBACi0jIFRoaXMgcmVjaXBlIGlzIG1vZGlmaWVkIGZyb20gdGhlIHJlY2lwZSBvcmlnaW5hbGx5IGZvdW5kIGluIHRoZSBPcGVuLVN3aXRjaAotIyByZXBvc2l0b3J5OgotIwotIyBodHRwczovL2dpdGh1Yi5jb20vb3Blbi1zd2l0Y2gvb3BzLWJ1aWxkCi0jIHlvY3RvL29wZW5zd2l0Y2gvbWV0YS1mb3NzLW9wZW5zd2l0Y2gvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3Blbi12bS10b29scy9vcGVuLXZtLXRvb2xzXzEwLjAuNS5iYgotIyBDb21taXQgOTAwOGRlMmQ4ZTEwMGYzZjg2OGM2Njc2NTc0MmJjYTlmYTk4ZjNmOQotIwotIyBUaGUgcmVjaXBlIHBhY2thZ2luZyBoYXMgYmVlbiByZWxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3IgaW5jbHVzaW9uCi0jIGluIG1ldGEtb3BlbmVtYmVkZGVkIGJ5IGFncmVlbWVudCBvZiB0aGUgYXV0aG9yIChEaWVnbyBEb21wZSkuCi0jCi0KLVNVTU1BUlkgPSAiVG9vbHMgdG8gZW5oYW5jZSBWTVdhcmUgZ3Vlc3QgaW50ZWdyYXRpb24gYW5kIHBlcmZvcm1hbmNlIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3Ztd2FyZS9vcGVuLXZtLXRvb2xzIgotU0VDVElPTiA9ICJ2bXdhcmUtdG9vbHMiCi0KLUxJQ0VOU0UgPSAiTEdQTC0yLjAgJiBHUEwtMi4wICYgQlNEICYgQ0RETC0xLjAiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT01NTkzMTc4MDljNTQ0NGZiMzljZWFmNmFjNDVjNDNhYyIKLUxJQ0VOU0VfbW9kdWxlcy9mcmVlYnNkL3ZtYmxvY2sgPSAiQlNEIgotTElDRU5TRV9tb2R1bGVzL2ZyZWVic2Qvdm1tZW1jdGwgPSAiR1BMLTIuMCIKLUxJQ0VOU0VfbW9kdWxlcy9mcmVlYnNkL3ZteG5ldCA9ICJHUEwtMi4wIgotTElDRU5TRV9tb2R1bGVzL2xpbnV4ID0gIkdQTC0yLjAiCi1MSUNFTlNFX21vZHVsZXMvc29sYXJpcyA9ICJDRERMLTEuMCIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3Ztd2FyZS9vcGVuLXZtLXRvb2xzLmdpdDtwcm90b2NvbD1odHRwcyBcCi0gICAgZmlsZTovL3Rvb2xzLmNvbmYgXAotICAgIGZpbGU6Ly92bXRvb2xzZC5zZXJ2aWNlIFwKLSAgICBmaWxlOi8vdm10b29sc2QuaW5pdCBcCi0gICAgZmlsZTovLzAwMDEtY29uZmlndXJlLmFjLWRvbi10LXVzZS1kbmV0LWNvbmZpZy5wYXRjaCBcCi0gICAgZmlsZTovLzAwMDItYWRkLWluY2x1ZGUtc3lzLXN5c21hY3Jvcy5oLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwNS1Vc2UtY29uZmlndXJlLXRlc3QtZm9yLXN0cnVjdC10aW1lc3BlYy5wYXRjaCBcCi0gICAgZmlsZTovLzAwMDYtRml4LWRlZmluaXRpb24tb2YtQUxMUEVSTVMtYW5kLUFDQ0VTU1BFUk1TLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwNy1Vc2UtY29uZmlndXJlLXRvLXRlc3QtZm9yLWZlYXR1cmUtaW5zdGVhZC1vZi1wbGF0Zm9yLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAxMS1Vc2UtY29uZmlndXJlLXRlc3QtZm9yLXN5cy1zdGF0LmgtaW5jbHVkZS5wYXRjaCBcCi0gICAgZmlsZTovL2ZpeC1zdWJkaXItb2JqZWN0cy1jb25maWd1cmUtZXJyb3IucGF0Y2ggXAotICAgIGZpbGU6Ly8wMDAxLWluY2x1ZGUtcG9sbC5oLWluc3RlYWQtb2Ytc3lzLXBvbGwuaC5wYXRjaCBcCi0gICAgZmlsZTovLzAwMDItUmVuYW1lLXBvbGwuaC10by12bV9wb2xsLmgucGF0Y2ggXAotICAgIGZpbGU6Ly8wMDAzLXVzZS1wb3NpeC1zdHJlcnJvcl9yLXVubGVzcy1vbi1nbnUtbGliYy1zeXN0ZW0ucGF0Y2ggXAotICAgIGZpbGU6Ly8wMDA0LVVzZS11aW50bWF4X3QtZm9yLWhhbmRsaW5nLXJsaW1fdC5wYXRjaCBcCi0gICAgZmlsZTovLzAwMDEtVXNlLW9mZjY0X3QtaW5zdGVhZC1vZi1fX29mZjY0X3QucGF0Y2ggXAotIgotU1JDUkVWID0gIjIxNDdkZjZhYWJlNjM5ZmM1ZmY0MjNlZDc5MWE4ZTdmMDJiZjhkMGEiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQvb3Blbi12bS10b29scyIKLQotREVQRU5EUyA9ICJnbGliLTIuMCBnbGliLTIuMC1uYXRpdmUgdXRpbC1saW51eCBsaWJkbmV0IHByb2NwcyBsaWJ0aXJwYyIKLQotIyBvcGVuLXZtLXRvb2xzIGlzIHN1cHBvcnRlZCBvbmx5IG9uIHg4Ni4KLUNPTVBBVElCTEVfSE9TVCA9ICcoeDg2XzY0Lip8aS44Ni4qKS1saW51eCcKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHN5c3RlbWQgdXBkYXRlLXJjLmQKLQotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInZtdG9vbHNkLnNlcnZpY2UiCi0KLUVYVFJBX09FQ09ORiA9ICItLXdpdGhvdXQtaWN1IC0tZGlzYWJsZS1tdWx0aW1vbiAtLWRpc2FibGUtZG9jcyBcCi0gICAgICAgICAtLWRpc2FibGUtdGVzdHMgLS13aXRob3V0LWd0a21tIC0td2l0aG91dC14ZXJjZXMgLS13aXRob3V0LXBhbSBcCi0gICAgICAgICAtLWRpc2FibGUtZ3JhYmJpdG1xcHJveHkgLS1kaXNhYmxlLXZnYXV0aCAtLWRpc2FibGUtZGVwbG95cGtnIFwKLSAgICAgICAgIC0td2l0aG91dC1yb290LXByaXZpbGVnZXMgLS13aXRob3V0LWtlcm5lbC1tb2R1bGVzIgotCi1OT19YMTFfRkxBR1MgPSAiLS13aXRob3V0LXggLS13aXRob3V0LWd0azIgLS13aXRob3V0LWd0azMiCi1YMTFfREVQRU5EUyA9ICJsaWJ4ZXh0IGxpYnhpIGxpYnhyZW5kZXIgbGlieHJhbmRyIGxpYnh0c3QgZ3RrKyBnZGstcGl4YnVmIgotUEFDS0FHRUNPTkZJR1t4MTFdID0gIiwke05PX1gxMV9GTEFHU30sJHtYMTFfREVQRU5EU30iCi0KLSMgZnVzZSBnZXRzIGltcGxpY2l0bHkgZGV0ZWN0ZWQ7IHRoZXJlIGlzIG5vIC0td2l0aG91dC1mdXNlIG9wdGlvbi4KLVBBQ0tBR0VDT05GSUdbZnVzZV0gPSAiLCxmdXNlIgotCi1DRkxBR1NfYXBwZW5kX3Rvb2xjaGFpbi1jbGFuZyA9ICIgLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiCi1GSUxFU18ke1BOfSArPSAiXAotICAgICR7bGliZGlyfS9vcGVuLXZtLXRvb2xzL3BsdWdpbnMvdm1zdmMvbGliKi5zbyBcCi0gICAgJHtsaWJkaXJ9L29wZW4tdm0tdG9vbHMvcGx1Z2lucy9jb21tb24vbGliKi5zbyBcCi0gICAgJHtzeXNjb25mZGlyfS92bXdhcmUtdG9vbHMvdG9vbHMuY29uZiBcCi0iCi1GSUxFU18ke1BOfS1sb2NhbGUgKz0gIiR7ZGF0YWRpcn0vb3Blbi12bS10b29scy9tZXNzYWdlcyIKLUZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L29wZW4tdm0tdG9vbHMvcGx1Z2lucy9jb21tb24vbGliKi5sYSIKLQotQ09ORkZJTEVTXyR7UE59ICs9ICIke3N5c2NvbmZkaXJ9L3Ztd2FyZS10b29scy90b29scy5jb25mIgotCi1SREVQRU5EU18ke1BOfSA9ICJ1dGlsLWxpbnV4IGxpYmRuZXQgZnVzZSIKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgbG4gLXNmICR7c2JpbmRpcn0vbW91bnQudm1oZ2ZzICR7RH0vc2Jpbi9tb3VudC52bWhnZnMKLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3Ztd2FyZS10b29scwotICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLSAgICAgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS8qLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLSAgICBlbHNlCi0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCi0gICAgICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3ZtdG9vbHNkLmluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3ZtdG9vbHNkCi0gICAgZmkKLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS90b29scy5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L3Ztd2FyZS10b29scy90b29scy5jb25mCi19Ci0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotICAgIGV4cG9ydCBDVVNUT01fRE5FVF9OQU1FPWRuZXQKLSAgICBleHBvcnQgQ1VTVE9NX0RORVRfTElCUz0tTCR7U1RBR0lOR19MSUJESVJ9L2xpYmRuZXQuc28KLX0KLQotSU5JVFNDUklQVF9QQUNLQUdFUyA9ICIke1BOfSIKLUlOSVRTQ1JJUFRfTkFNRV8ke1BOfSA9ICJ2bXRvb2xzZCIKLUlOSVRTQ1JJUFRfUEFSQU1TXyR7UE59ID0gInN0YXJ0IDkwIDIgMyA0IDUgLiBzdG9wIDYwIDAgMSA2IC4iCi0KLXB5dGhvbigpIHsKLSAgICBpZiAnbmV0d29ya2luZy1sYXllcicgbm90IGluIGQuZ2V0VmFyKCdCQkZJTEVfQ09MTEVDVElPTlMnKS5zcGxpdCgpIG9yIFwKLSAgICAgICAgJ2ZpbGVzeXN0ZW1zLWxheWVyJyBub3QgaW4gZC5nZXRWYXIoJ0JCRklMRV9DT0xMRUNUSU9OUycpLnNwbGl0KCk6Ci0gICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBSZWNpcGUoJ1JlcXVpcmVzIG1ldGEtbmV0d29ya2luZyBhbmQgbWV0YS1maWxlc3lzdGVtcyB0byBiZSBwcmVzZW50LicpCi19CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuLXZtLXRvb2xzL29wZW4tdm0tdG9vbHNfMTAuMy41LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3Blbi12bS10b29scy9vcGVuLXZtLXRvb2xzXzEwLjMuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZWQ2NTkzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3Blbi12bS10b29scy9vcGVuLXZtLXRvb2xzXzEwLjMuNS5iYgpAQCAtMCwwICsxLDEwNyBAQAorIyBUaGlzIHJlY2lwZSBpcyBtb2RpZmllZCBmcm9tIHRoZSByZWNpcGUgb3JpZ2luYWxseSBmb3VuZCBpbiB0aGUgT3Blbi1Td2l0Y2gKKyMgcmVwb3NpdG9yeToKKyMKKyMgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tc3dpdGNoL29wcy1idWlsZAorIyB5b2N0by9vcGVuc3dpdGNoL21ldGEtZm9zcy1vcGVuc3dpdGNoL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW4tdm0tdG9vbHMvb3Blbi12bS10b29sc18xMC4wLjUuYmIKKyMgQ29tbWl0IDkwMDhkZTJkOGUxMDBmM2Y4NjhjNjY3NjU3NDJiY2E5ZmE5OGYzZjkKKyMKKyMgVGhlIHJlY2lwZSBwYWNrYWdpbmcgaGFzIGJlZW4gcmVsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm9yIGluY2x1c2lvbgorIyBpbiBtZXRhLW9wZW5lbWJlZGRlZCBieSBhZ3JlZW1lbnQgb2YgdGhlIGF1dGhvciAoRGllZ28gRG9tcGUpLgorIworCitTVU1NQVJZID0gIlRvb2xzIHRvIGVuaGFuY2UgVk1XYXJlIGd1ZXN0IGludGVncmF0aW9uIGFuZCBwZXJmb3JtYW5jZSIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS92bXdhcmUvb3Blbi12bS10b29scyIKK1NFQ1RJT04gPSAidm13YXJlLXRvb2xzIgorCitMSUNFTlNFID0gIkxHUEwtMi4wICYgR1BMLTIuMCAmIEJTRCAmIENEREwtMS4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NTU5MzE3ODA5YzU0NDRmYjM5Y2VhZjZhYzQ1YzQzYWMiCitMSUNFTlNFX21vZHVsZXMvZnJlZWJzZC92bWJsb2NrID0gIkJTRCIKK0xJQ0VOU0VfbW9kdWxlcy9mcmVlYnNkL3ZtbWVtY3RsID0gIkdQTC0yLjAiCitMSUNFTlNFX21vZHVsZXMvZnJlZWJzZC92bXhuZXQgPSAiR1BMLTIuMCIKK0xJQ0VOU0VfbW9kdWxlcy9saW51eCA9ICJHUEwtMi4wIgorTElDRU5TRV9tb2R1bGVzL3NvbGFyaXMgPSAiQ0RETC0xLjAiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS92bXdhcmUvb3Blbi12bS10b29scy5naXQ7cHJvdG9jb2w9aHR0cHMgXAorICAgICAgICAgICBmaWxlOi8vdG9vbHMuY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly92bXRvb2xzZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL3ZtdG9vbHNkLmluaXQgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUuYWMtZG9uLXQtdXNlLWRuZXQtY29uZmlnLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItYWRkLWluY2x1ZGUtc3lzLXN5c21hY3Jvcy5oLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDUtVXNlLWNvbmZpZ3VyZS10ZXN0LWZvci1zdHJ1Y3QtdGltZXNwZWMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNi1GaXgtZGVmaW5pdGlvbi1vZi1BTExQRVJNUy1hbmQtQUNDRVNTUEVSTVMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNy1Vc2UtY29uZmlndXJlLXRvLXRlc3QtZm9yLWZlYXR1cmUtaW5zdGVhZC1vZi1wbGF0Zm9yLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTEtVXNlLWNvbmZpZ3VyZS10ZXN0LWZvci1zeXMtc3RhdC5oLWluY2x1ZGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZml4LXN1YmRpci1vYmplY3RzLWNvbmZpZ3VyZS1lcnJvci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWluY2x1ZGUtcG9sbC5oLWluc3RlYWQtb2Ytc3lzLXBvbGwuaC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLVJlbmFtZS1wb2xsLmgtdG8tdm1fcG9sbC5oLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtdXNlLXBvc2l4LXN0cmVycm9yX3ItdW5sZXNzLW9uLWdudS1saWJjLXN5c3RlbS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA0LVVzZS11aW50bWF4X3QtZm9yLWhhbmRsaW5nLXJsaW1fdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVVzZS1vZmY2NF90LWluc3RlYWQtb2YtX19vZmY2NF90LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbWlzYy1Eby1ub3QtcHJpbnQtTlVMTC1zdHJpbmctaW50by1sb2dzLnBhdGNoIFwKKyAgICAgICAgICAgIgorIyBzdGFibGUtMTAuMy41CitTUkNSRVYgPSAiZjJmZjE5MjcxNzM3NWI5NWE2YjdlMjc4ZmI0N2RiYjNkM2JjNTZkMSIKKworUyA9ICIke1dPUktESVJ9L2dpdC9vcGVuLXZtLXRvb2xzIgorCitERVBFTkRTID0gImdsaWItMi4wIGdsaWItMi4wLW5hdGl2ZSB1dGlsLWxpbnV4IGxpYmRuZXQgcHJvY3BzIGxpYnRpcnBjIgorCisjIG9wZW4tdm0tdG9vbHMgaXMgc3VwcG9ydGVkIG9ubHkgb24geDg2LgorQ09NUEFUSUJMRV9IT1NUID0gJyh4ODZfNjQuKnxpLjg2LiopLWxpbnV4JworCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgc3lzdGVtZCB1cGRhdGUtcmMuZAorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAidm10b29sc2Quc2VydmljZSIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aG91dC1pY3UgLS1kaXNhYmxlLW11bHRpbW9uIC0tZGlzYWJsZS1kb2NzIFwKKyAgICAgICAgIC0tZGlzYWJsZS10ZXN0cyAtLXdpdGhvdXQtZ3RrbW0gLS13aXRob3V0LXhlcmNlcyAtLXdpdGhvdXQtcGFtIFwKKyAgICAgICAgIC0tZGlzYWJsZS1ncmFiYml0bXFwcm94eSAtLWRpc2FibGUtdmdhdXRoIC0tZGlzYWJsZS1kZXBsb3lwa2cgXAorICAgICAgICAgLS13aXRob3V0LXJvb3QtcHJpdmlsZWdlcyAtLXdpdGhvdXQta2VybmVsLW1vZHVsZXMiCisKK05PX1gxMV9GTEFHUyA9ICItLXdpdGhvdXQteCAtLXdpdGhvdXQtZ3RrMiAtLXdpdGhvdXQtZ3RrMyIKK1gxMV9ERVBFTkRTID0gImxpYnhleHQgbGlieGkgbGlieHJlbmRlciBsaWJ4cmFuZHIgbGlieHRzdCBndGsrIGdkay1waXhidWYiCitQQUNLQUdFQ09ORklHW3gxMV0gPSAiLCR7Tk9fWDExX0ZMQUdTfSwke1gxMV9ERVBFTkRTfSIKKworIyBmdXNlIGdldHMgaW1wbGljaXRseSBkZXRlY3RlZDsgdGhlcmUgaXMgbm8gLS13aXRob3V0LWZ1c2Ugb3B0aW9uLgorUEFDS0FHRUNPTkZJR1tmdXNlXSA9ICIsLGZ1c2UiCisKK0NGTEFHU19hcHBlbmRfdG9vbGNoYWluLWNsYW5nID0gIiAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIKK0ZJTEVTXyR7UE59ICs9ICJcCisgICAgJHtsaWJkaXJ9L29wZW4tdm0tdG9vbHMvcGx1Z2lucy92bXN2Yy9saWIqLnNvIFwKKyAgICAke2xpYmRpcn0vb3Blbi12bS10b29scy9wbHVnaW5zL2NvbW1vbi9saWIqLnNvIFwKKyAgICAke3N5c2NvbmZkaXJ9L3Ztd2FyZS10b29scy90b29scy5jb25mIFwKKyIKK0ZJTEVTXyR7UE59LWxvY2FsZSArPSAiJHtkYXRhZGlyfS9vcGVuLXZtLXRvb2xzL21lc3NhZ2VzIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vb3Blbi12bS10b29scy9wbHVnaW5zL2NvbW1vbi9saWIqLmxhIgorCitDT05GRklMRVNfJHtQTn0gKz0gIiR7c3lzY29uZmRpcn0vdm13YXJlLXRvb2xzL3Rvb2xzLmNvbmYiCisKK1JERVBFTkRTXyR7UE59ID0gInV0aWwtbGludXggbGliZG5ldCBmdXNlIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBsbiAtc2YgJHtzYmluZGlyfS9tb3VudC52bWhnZnMgJHtEfS9zYmluL21vdW50LnZtaGdmcworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vdm13YXJlLXRvb2xzCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9Lyouc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGVsc2UKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICAgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vdm10b29sc2QuaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvdm10b29sc2QKKyAgICBmaQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3Rvb2xzLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vdm13YXJlLXRvb2xzL3Rvb2xzLmNvbmYKK30KKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgZXhwb3J0IENVU1RPTV9ETkVUX05BTUU9ZG5ldAorICAgIGV4cG9ydCBDVVNUT01fRE5FVF9MSUJTPS1MJHtTVEFHSU5HX0xJQkRJUn0vbGliZG5ldC5zbworfQorCitJTklUU0NSSVBUX1BBQ0tBR0VTID0gIiR7UE59IgorSU5JVFNDUklQVF9OQU1FXyR7UE59ID0gInZtdG9vbHNkIgorSU5JVFNDUklQVF9QQVJBTVNfJHtQTn0gPSAic3RhcnQgOTAgMiAzIDQgNSAuIHN0b3AgNjAgMCAxIDYgLiIKKworcHl0aG9uKCkgeworICAgIGlmICduZXR3b3JraW5nLWxheWVyJyBub3QgaW4gZC5nZXRWYXIoJ0JCRklMRV9DT0xMRUNUSU9OUycpLnNwbGl0KCkgb3IgXAorICAgICAgICAnZmlsZXN5c3RlbXMtbGF5ZXInIG5vdCBpbiBkLmdldFZhcignQkJGSUxFX0NPTExFQ1RJT05TJykuc3BsaXQoKToKKyAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFJlY2lwZSgnUmVxdWlyZXMgbWV0YS1uZXR3b3JraW5nIGFuZCBtZXRhLWZpbGVzeXN0ZW1zIHRvIGJlIHByZXNlbnQuJykKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3YvMDAwMS1BZGQtbWlzc2luZy1tdWx0aS1saW5lLXNlcGFyYXRvci5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3YvMDAwMS1BZGQtbWlzc2luZy1tdWx0aS1saW5lLXNlcGFyYXRvci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTEzNTk3Yi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Yvb3BlbmN2LzAwMDEtQWRkLW1pc3NpbmctbXVsdGktbGluZS1zZXBhcmF0b3IucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1Gcm9tIDYwODU3MjI5YWFiMTNjY2M0MjY1NzJhNDNhYjg5MTQwOWJiNzZlYTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU3VuLCA5IFNlcCAyMDE4IDIyOjUyOjU1IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIEFkZCBtaXNzaW5nIG11bHRpLWxpbmUgc2VwYXJhdG9yCi0KLU90aGVyd2lzZSB0aGlzIGZhaWxzIHRvIGJ1aWxkICggZm91bmQgb24gbWlwcyApCi0KLUZpeGVzCi1jb250cmliL21vZHVsZXMvc3VyZmFjZV9tYXRjaGluZy9zcmMvaGFzaF9tdXJtdXI4Ni5ocHA6OTc6MTU6IGVycm9yOgotZXhwZWN0ZWQgY29uc3RydWN0b3IsIGRlc3RydWN0b3IsIG9yIHR5cGUgY29udmVyc2lvbiBiZWZvcmUgJygnIHRva2VuCi0gICAgICYmIGRlZmluZWQoX19HTlVDX18pICYmIChfX0dOVUNfXz40IHx8IChfX0dOVUNfXz09NCAmJgotX19HTlVDX01JTk9SX18+PTMpKQotICAgICAgICAgICAgICAgXgotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL29wZW5jdi9vcGVuY3ZfY29udHJpYi9wdWxsLzE3NjRdCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gbW9kdWxlcy9zdXJmYWNlX21hdGNoaW5nL3NyYy9oYXNoX211cm11cjg2LmhwcCB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL21vZHVsZXMvc3VyZmFjZV9tYXRjaGluZy9zcmMvaGFzaF9tdXJtdXI4Ni5ocHAgYi9tb2R1bGVzL3N1cmZhY2VfbWF0Y2hpbmcvc3JjL2hhc2hfbXVybXVyODYuaHBwCi1pbmRleCAxZWRmNmJmNC4uMDQ3N2QzN2UgMTAwNjQ0Ci0tLS0gYS9tb2R1bGVzL3N1cmZhY2VfbWF0Y2hpbmcvc3JjL2hhc2hfbXVybXVyODYuaHBwCi0rKysgYi9tb2R1bGVzL3N1cmZhY2VfbWF0Y2hpbmcvc3JjL2hhc2hfbXVybXVyODYuaHBwCi1AQCAtOTMsNyArOTMsNyBAQCB2b2lkIGhhc2hNdXJtdXJ4ODYgKCBjb25zdCB2b2lkICoga2V5LCBjb25zdCBpbnQgbGVuLCBjb25zdCB1aW50IHNlZWQsIHZvaWQgKiBvdQotIC8qIE5vdyBmaW5kIGJlc3Qgd2F5IHdlIGNhbiB0byBSRUFEX1VJTlQzMiAqLwotICNpZm5kZWYgV09SRFNfQklHRU5ESUFOCi0gIyBkZWZpbmUgUkVBRF9VSU5UMzIocHRyKSAgICgqKCh1aW50MzJfdCopKHB0cikpKQotLSNlbGlmIGRlZmluZWQoV09SRFNfQklHRU5ESUFOKQotKyNlbGlmIGRlZmluZWQoV09SRFNfQklHRU5ESUFOKSBcCi0gICAgICYmIGRlZmluZWQoX19HTlVDX18pICYmIChfX0dOVUNfXz40IHx8IChfX0dOVUNfXz09NCAmJiBfX0dOVUNfTUlOT1JfXz49MykpCi0gIyBkZWZpbmUgUkVBRF9VSU5UMzIocHRyKSAgIChfX2J1aWx0aW5fYnN3YXAzMigqKCh1aW50MzJfdCopKHB0cikpKSkKLSAjZW5kaWYKLS0tIAotMi4xOC4wCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3YvMDAwMS1DaGVjay1mb3ItY2xhbmctYmVmb3JlLXVzaW5nLWlzeXN0ZW0ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Yvb3BlbmN2LzAwMDEtQ2hlY2stZm9yLWNsYW5nLWJlZm9yZS11c2luZy1pc3lzdGVtLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMTkwNzFhLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3YvMDAwMS1DaGVjay1mb3ItY2xhbmctYmVmb3JlLXVzaW5nLWlzeXN0ZW0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1Gcm9tIGZhNzZkODY0NmJiMmI5YjUxNDcyOGVlZWY0MWFmZWQ3YzQzYTM2ZjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVHVlLCAxMSBTZXAgMjAxOCAxODoxODozMyAtMDcwMAotU3ViamVjdDogW1BBVENIXSBDaGVjayBmb3IgY2xhbmcgYmVmb3JlIHVzaW5nIC1pc3lzdGVtCi0KLVdoZW4gY3Jvc3MgY29tcGlsaW5nIHdpdGggY2xhbmcsIHRoZSBpbnRlcm5hbCBDKysgaGVhZGVycyBhcmUgbm90IGZvdW5kCi13aGVuIGFkZGluZyBzeXNyb290IHRvIC1pc3lzdGVtLCB0aGF0IGlzIHJlZHVuZGFudCBhbnl3YXkgYmVjYXVzZSBpdAotd2lsbCBsb29rIGZvciBoZWFkZXJzIGluc2lkZXIgLS1zeXNyb290IHBhdGggd2l0aCBzYW1lIHF1YWxpdHkgYXMgaXQKLXdvdWxkIGRvIHdpdGggLWlzeXN0ZW0gb3RoZXJ3aXNlCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vb3BlbmN2L29wZW5jdi9wdWxsLzEyNTA0XQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGNtYWtlL09wZW5DVlV0aWxzLmNtYWtlIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvY21ha2UvT3BlbkNWVXRpbHMuY21ha2UgYi9jbWFrZS9PcGVuQ1ZVdGlscy5jbWFrZQotaW5kZXggZmFlOTFjMTY1Zi4uNjBjMjAxOTJkYyAxMDA2NDQKLS0tLSBhL2NtYWtlL09wZW5DVlV0aWxzLmNtYWtlCi0rKysgYi9jbWFrZS9PcGVuQ1ZVdGlscy5jbWFrZQotQEAgLTI1OSw3ICsyNTksNyBAQCBmdW5jdGlvbihvY3ZfaW5jbHVkZV9kaXJlY3RvcmllcykKLSAgICAgb2N2X2lzX29wZW5jdl9kaXJlY3RvcnkoX19pc19vcGVuY3ZfZGlyICIke2Rpcn0iKQotICAgICBpZihfX2lzX29wZW5jdl9kaXIpCi0gICAgICAgbGlzdChBUFBFTkQgX19hZGRfYmVmb3JlICIke2Rpcn0iKQotLSAgICBlbHNlaWYoQ1ZfR0NDIEFORCBOT1QgQ01BS0VfQ1hYX0NPTVBJTEVSX1ZFUlNJT04gVkVSU0lPTl9MRVNTICI2LjAiIEFORAotKyAgICBlbHNlaWYoKChDVl9HQ0MgQU5EIE5PVCBDTUFLRV9DWFhfQ09NUElMRVJfVkVSU0lPTiBWRVJTSU9OX0xFU1MgIjYuMCIpIE9SIENWX0NMQU5HKSBBTkQKLSAgICAgICAgICAgIGRpciBNQVRDSEVTICIvdXNyL2luY2x1ZGUkIikKLSAgICAgICAjIHdvcmthcm91bmQgZm9yIEdDQyA2LnggYnVnCi0gICAgIGVsc2UoKQotLS0gCi0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN2L29wZW5jdl8zLjQuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3ZfMy40LjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBhOTk3MDAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN2L29wZW5jdl8zLjQuMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE5MiArMCwwIEBACi1TVU1NQVJZID0gIk9wZW5jdiA6IFRoZSBPcGVuIENvbXB1dGVyIFZpc2lvbiBMaWJyYXJ5IgotSE9NRVBBR0UgPSAiaHR0cDovL29wZW5jdi5vcmcvIgotU0VDVElPTiA9ICJsaWJzIgotCi1MSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTYyZDg5YzVkY2IwNTgzNjA5ZWE5MTljNTZiZTBlZTc2IgotCi1BUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY0ID0gImFybSIKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgotCi1ERVBFTkRTID0gImxpYnRvb2wgc3dpZy1uYXRpdmUgYnppcDIgemxpYiBnbGliLTIuMCBsaWJ3ZWJwIgotCi1TUkNSRVZfb3BlbmN2ID0gImIzOGM1MGIzZDBjMzFlODIyOTQzMTVlYzQ0YjU0YjdlZjU1OWVmMTIiCi1TUkNSRVZfY29udHJpYiA9ICIxZjZkNmYwNjI2NmUxZWYzMzY0MzdhZTU0MDRiZWUxYzY1ZDQyY2RhIgotU1JDUkVWX2lwcCA9ICJiZGI3YmI4NWYzNGE4Y2IwZDM1ZTQwYTgxZjU4ZGE0MzFhYTE1NTdhIgotU1JDUkVWX2Jvb3N0ZGVzYyA9ICIzNGU0MjA2YWVmNDRkNTBlNmJiY2QwYWIwNjM1NGI1MmU3NDY2ZDI2IgotU1JDUkVWX3ZnZyA9ICJmY2NmN2NkNmE0YjEyMDc5ZjczYmJmYjIxNzQ1ZjliYWJjZDRlYjFkIgotU1JDX1VSSVt0aW55ZG5uLm1kNXN1bV0gPSAiYWRiMWM1MTJlMDljYTJjN2E2ZmFlZjM2ZjljNTNlNTkiCi1TUkNfVVJJW3Rpbnlkbm4uc2hhMjU2c3VtXSA9ICJlMmM2MWNlOGM1ZGViYWE2NDQxMjExNzllOWRiZGNmODNmNDk3ZjM5ZGU4NTNmOGRkNTE3NTg0NjUwNWFhMThiIgotCi1kZWYgaXBwX2ZpbGVuYW1lKGQpOgotICAgIGltcG9ydCByZQotICAgIGFyY2ggPSBkLmdldFZhcignVEFSR0VUX0FSQ0gnLCBUcnVlKQotICAgIGlmIHJlLm1hdGNoKCJpLjg2JCIsIGFyY2gpOgotICAgICAgICByZXR1cm4gImlwcGljdl8yMDE3dTNfbG54X2lhMzJfZ2VuZXJhbF8yMDE4MDUxOC50Z3oiCi0gICAgZWxzZToKLSAgICAgICAgcmV0dXJuICJpcHBpY3ZfMjAxN3UzX2xueF9pbnRlbDY0X2dlbmVyYWxfMjAxODA1MTgudGd6IgotCi1kZWYgaXBwX21kNXN1bShkKToKLSAgICBpbXBvcnQgcmUKLSAgICBhcmNoID0gZC5nZXRWYXIoJ1RBUkdFVF9BUkNIJywgVHJ1ZSkKLSAgICBpZiByZS5tYXRjaCgiaS44NiQiLCBhcmNoKToKLSAgICAgICAgcmV0dXJuICJlYTcyZGU3NGRhZTNjNjA0ZWI2MzQ4Mzk1MzY2ZTc4ZSIKLSAgICBlbHNlOgotICAgICAgICByZXR1cm4gImI3Y2MzNTEyNjdkYjJkMzRiOWVmYTFjZDIyZmYwNTcyIgotCi1JUFBfRklMRU5BTUUgPSAiJHtAaXBwX2ZpbGVuYW1lKGQpfSIKLUlQUF9NRDUgPSAiJHtAaXBwX21kNXN1bShkKX0iCi0KLVNSQ1JFVl9GT1JNQVQgPSAib3BlbmN2X2NvbnRyaWJfaXBwX2Jvb3N0ZGVzY192Z2ciCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vb3BlbmN2L29wZW5jdi5naXQ7bmFtZT1vcGVuY3YgXAotICAgIGdpdDovL2dpdGh1Yi5jb20vb3BlbmN2L29wZW5jdl9jb250cmliLmdpdDtkZXN0c3VmZml4PWNvbnRyaWI7bmFtZT1jb250cmliIFwKLSAgICBnaXQ6Ly9naXRodWIuY29tL29wZW5jdi9vcGVuY3ZfM3JkcGFydHkuZ2l0O2JyYW5jaD1pcHBpY3YvbWFzdGVyXzIwMTgwNTE4O2Rlc3RzdWZmaXg9aXBwO25hbWU9aXBwIFwKLSAgICBnaXQ6Ly9naXRodWIuY29tL29wZW5jdi9vcGVuY3ZfM3JkcGFydHkuZ2l0O2JyYW5jaD1jb250cmliX3hmZWF0dXJlczJkX2Jvb3N0ZGVzY18yMDE2MTAxMjtkZXN0c3VmZml4PWJvb3N0ZGVzYztuYW1lPWJvb3N0ZGVzYyBcCi0gICAgZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuY3Yvb3BlbmN2XzNyZHBhcnR5LmdpdDticmFuY2g9Y29udHJpYl94ZmVhdHVyZXMyZF92Z2dfMjAxNjAzMTc7ZGVzdHN1ZmZpeD12Z2c7bmFtZT12Z2cgXAotICAgIGh0dHBzOi8vZ2l0aHViLmNvbS90aW55LWRubi90aW55LWRubi9hcmNoaXZlL3YxLjAuMGEzLnRhci5nejtkZXN0c3VmZml4PWdpdC8zcmRwYXJ0eS90aW55ZG5uL3RpbnktZG5uLTEuMC4wYTM7bmFtZT10aW55ZG5uO3VucGFjaz1mYWxzZSBcCi0gICAgZmlsZTovLzAwMDEtM3JkcGFydHktaXBwaWN2LVVzZS1wcmUtZG93bmxvYWRlZC1pcHAucGF0Y2ggXAotICAgIGZpbGU6Ly91c2Vsb2NhbHhmZWF0dXJlcy5wYXRjaDtwYXRjaGRpcj0uLi9jb250cmliLyBcCi0gICAgZmlsZTovLzAwMDEtQWRkLW1pc3NpbmctbXVsdGktbGluZS1zZXBhcmF0b3IucGF0Y2g7cGF0Y2hkaXI9Li4vY29udHJpYi8gXAotICAgIGZpbGU6Ly8wMDAyLU1ha2Utb3BlbmN2LXRzLWNyZWF0ZS1zaGFyZS1saWJyYXJ5LWludGVhZC1vZi1zdGF0aWMucGF0Y2ggXAotICAgIGZpbGU6Ly8wMDAzLVRvLWZpeC1lcnJvcnMtYXMtZm9sbG93aW5nLnBhdGNoIFwKLSAgICBmaWxlOi8vZml4cGtnY29uZmlnLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMS1UZW1wb3JhcmxpeS13b3JrLWFyb3VuZC1kZXByZWNhdGVkLWZmbXBlZy1SQVctZnVuY3RpLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMS1Eb250LXVzZS1pc3lzdGVtLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMS1DaGVjay1mb3ItY2xhbmctYmVmb3JlLXVzaW5nLWlzeXN0ZW0ucGF0Y2ggXAotIgotUFYgPSAiMy40LjMrZ2l0JHtTUkNQVn0iCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWRvX3VucGFja19leHRyYSgpIHsKLSAgICBta2RpciAtcCAke1N9LzNyZHBhcnR5L3Rpbnlkbm4vCi0gICAgdGFyIHh6ZiAke1dPUktESVJ9L3YxLjAuMGEzLnRhci5neiAtQyAke1N9LzNyZHBhcnR5L3Rpbnlkbm4vCi0gICAgdGFyIHh6ZiAke1dPUktESVJ9L2lwcC9pcHBpY3YvJHtJUFBfRklMRU5BTUV9IC1DICR7V09SS0RJUn0KLSAgICBjcCAke1dPUktESVJ9L3ZnZy8qLmkgJHtXT1JLRElSfS9jb250cmliL21vZHVsZXMveGZlYXR1cmVzMmQvc3JjCi0gICAgY3AgJHtXT1JLRElSfS9ib29zdGRlc2MvKi5pICR7V09SS0RJUn0vY29udHJpYi9tb2R1bGVzL3hmZWF0dXJlczJkL3NyYwotfQotYWRkdGFzayB1bnBhY2tfZXh0cmEgYWZ0ZXIgZG9fdW5wYWNrIGJlZm9yZSBkb19wYXRjaAotCi1FWFRSQV9PRUNNQUtFID0gIi1ET1BFTkNWX0VYVFJBX01PRFVMRVNfUEFUSD0ke1dPUktESVJ9L2NvbnRyaWIvbW9kdWxlcyBcCi0gICAgLURXSVRIXzEzOTQ9T0ZGIFwKLSAgICAtREVOQUJMRV9QUkVDT01QSUxFRF9IRUFERVJTPU9GRiBcCi0gICAgLURDTUFLRV9TS0lQX1JQQVRIPU9OIFwKLSAgICAtRE9QRU5DVl9JQ1ZfSEFTSD0ke0lQUF9NRDV9IFwKLSAgICAtRElQUFJPT1Q9JHtXT1JLRElSfS9pcHBpY3ZfbG54IFwKLSAgICAke0BiYi51dGlscy5jb250YWlucygiVEFSR0VUX0NDX0FSQ0giLCAiLW1zc2UzIiwgIi1ERU5BQkxFX1NTRT0xIC1ERU5BQkxFX1NTRTI9MSAtREVOQUJMRV9TU0UzPTEgLURFTkFCTEVfU1NTRTM9MSIsICIiLCBkKX0gXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUQVJHRVRfQ0NfQVJDSCIsICItbXNzZTQuMSIsICItREVOQUJMRV9TU0U9MSAtREVOQUJMRV9TU0UyPTEgLURFTkFCTEVfU1NFMz0xIC1ERU5BQkxFX1NTU0UzPTEgLURFTkFCTEVfU1NFNDE9MSIsICIiLCBkKX0gXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUQVJHRVRfQ0NfQVJDSCIsICItbXNzZTQuMiIsICItREVOQUJMRV9TU0U9MSAtREVOQUJMRV9TU0UyPTEgLURFTkFCTEVfU1NFMz0xIC1ERU5BQkxFX1NTU0UzPTEgLURFTkFCTEVfU1NFNDE9MSAtREVOQUJMRV9TU0U0Mj0xIiwgIiIsIGQpfSBcCi0gICAgJHtAb2UudXRpbHMuY29uZGl0aW9uYWwoImxpYmRpciIsICIvdXNyL2xpYjY0IiwgIi1ETElCX1NVRkZJWD02NCIsICIiLCBkKX0gXAotICAgICR7QG9lLnV0aWxzLmNvbmRpdGlvbmFsKCJsaWJkaXIiLCAiL3Vzci9saWIzMiIsICItRExJQl9TVUZGSVg9MzIiLCAiIiwgZCl9IFwKLSIKLUVYVFJBX09FQ01BS0VfYXBwZW5kX3g4NiA9ICIgLURYODY9T04iCi0KLVBBQ0tBR0VDT05GSUcgPz89ICJweXRob24zIGVpZ2VuIGpwZWcgcG5nIHRpZmYgdjRsIGxpYnY0bCBnc3RyZWFtZXIgc2FtcGxlcyB0YmIgZ3Bob3RvMiBcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJ4MTEiLCAiZ3RrIiwgIiIsIGQpfSBcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkxJQ0VOU0VfRkxBR1NfV0hJVEVMSVNUIiwgImNvbW1lcmNpYWwiLCAibGliYXYiLCAiIiwgZCl9IgotCi1QQUNLQUdFQ09ORklHW2FtZGJsYXNdID0gIi1EV0lUSF9PUEVOQ0xBTURCTEFTPU9OLC1EV0lUSF9PUEVOQ0xBTURCTEFTPU9GRixsaWJjbGFtZGJsYXMsIgotUEFDS0FHRUNPTkZJR1thbWRmZnRdID0gIi1EV0lUSF9PUEVOQ0xBTURGRlQ9T04sLURXSVRIX09QRU5DTEFNREZGVD1PRkYsbGliY2xhbWRmZnQsIgotUEFDS0FHRUNPTkZJR1tkbm5dID0gIi1EQlVJTERfb3BlbmN2X2Rubj1PTiAtRFBST1RPQlVGX1VQREFURV9GSUxFUz1PTiAtREJVSUxEX1BST1RPQlVGPU9GRiwtREJVSUxEX29wZW5jdl9kbm49T0ZGLHByb3RvYnVmIHByb3RvYnVmLW5hdGl2ZSwiCi1QQUNLQUdFQ09ORklHW2VpZ2VuXSA9ICItRFdJVEhfRUlHRU49T04sLURXSVRIX0VJR0VOPU9GRixsaWJlaWdlbiBnZmxhZ3MgZ2xvZywiCi1QQUNLQUdFQ09ORklHW2ZyZWV0eXBlXSA9ICItREJVSUxEX29wZW5jdl9mcmVldHlwZT1PTiwtREJVSUxEX29wZW5jdl9mcmVldHlwZT1PRkYsZnJlZXR5cGUsIgotUEFDS0FHRUNPTkZJR1tncGhvdG8yXSA9ICItRFdJVEhfR1BIT1RPMj1PTiwtRFdJVEhfR1BIT1RPMj1PRkYsbGliZ3Bob3RvMiwiCi1QQUNLQUdFQ09ORklHW2dzdHJlYW1lcl0gPSAiLURXSVRIX0dTVFJFQU1FUj1PTiwtRFdJVEhfR1NUUkVBTUVSPU9GRixnc3RyZWFtZXIxLjAgZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZSwiCi1QQUNLQUdFQ09ORklHW2d0a10gPSAiLURXSVRIX0dUSz1PTiwtRFdJVEhfR1RLPU9GRixndGsrMywiCi1QQUNLQUdFQ09ORklHW2phc3Blcl0gPSAiLURXSVRIX0pBU1BFUj1PTiwtRFdJVEhfSkFTUEVSPU9GRixqYXNwZXIsIgotUEFDS0FHRUNPTkZJR1tqYXZhXSA9ICItREpBVkFfSU5DTFVERV9QQVRIPSR7SkFWQV9IT01FfS9pbmNsdWRlIC1ESkFWQV9JTkNMVURFX1BBVEgyPSR7SkFWQV9IT01FfS9pbmNsdWRlL2xpbnV4IC1ESkFWQV9BV1RfSU5DTFVERV9QQVRIPSR7SkFWQV9IT01FfS9pbmNsdWRlIC1ESkFWQV9BV1RfTElCUkFSWT0ke0pBVkFfSE9NRX0vbGliL2FtZDY0L2xpYmphd3Quc28gLURKQVZBX0pWTV9MSUJSQVJZPSR7SkFWQV9IT01FfS9saWIvYW1kNjQvc2VydmVyL2xpYmp2bS5zbywsYW50LW5hdGl2ZSBmYXN0amFyLW5hdGl2ZSBvcGVuamRrLTgtbmF0aXZlLCIKLVBBQ0tBR0VDT05GSUdbanBlZ10gPSAiLURXSVRIX0pQRUc9T04sLURXSVRIX0pQRUc9T0ZGLGpwZWcsIgotUEFDS0FHRUNPTkZJR1tsaWJhdl0gPSAiLURXSVRIX0ZGTVBFRz1PTiwtRFdJVEhfRkZNUEVHPU9GRixsaWJhdiwiCi1QQUNLQUdFQ09ORklHW2xpYnY0bF0gPSAiLURXSVRIX0xJQlY0TD1PTiwtRFdJVEhfTElCVjRMPU9GRix2NGwtdXRpbHMsIgotUEFDS0FHRUNPTkZJR1tvcGVuY2xdID0gIi1EV0lUSF9PUEVOQ0w9T04sLURXSVRIX09QRU5DTD1PRkYsb3BlbmNsLWhlYWRlcnMgdmlydHVhbC9vcGVuY2wtaWNkLCIKLVBBQ0tBR0VDT05GSUdbb3JhY2xlLWphdmFdID0gIi1ESkFWQV9JTkNMVURFX1BBVEg9JHtPUkFDTEVfSkFWQV9IT01FfS9pbmNsdWRlIC1ESkFWQV9JTkNMVURFX1BBVEgyPSR7T1JBQ0xFX0pBVkFfSE9NRX0vaW5jbHVkZS9saW51eCAtREpBVkFfQVdUX0lOQ0xVREVfUEFUSD0ke09SQUNMRV9KQVZBX0hPTUV9L2luY2x1ZGUgLURKQVZBX0FXVF9MSUJSQVJZPSR7T1JBQ0xFX0pBVkFfSE9NRX0vbGliL2FtZDY0L2xpYmphd3Quc28gLURKQVZBX0pWTV9MSUJSQVJZPSR7T1JBQ0xFX0pBVkFfSE9NRX0vbGliL2FtZDY0L3NlcnZlci9saWJqdm0uc28sLGFudC1uYXRpdmUgb3JhY2xlLWpzZS1qZGsgb3JhY2xlLWpzZS1qZGstbmF0aXZlLCIKLVBBQ0tBR0VDT05GSUdbcG5nXSA9ICItRFdJVEhfUE5HPU9OLC1EV0lUSF9QTkc9T0ZGLGxpYnBuZywiCi1QQUNLQUdFQ09ORklHW3B5dGhvbjJdID0gIi1EUFlUSE9OMl9OVU1QWV9JTkNMVURFX0RJUlM6UEFUSD0ke1NUQUdJTkdfTElCRElSfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvbnVtcHkvY29yZS9pbmNsdWRlLCxweXRob24tbnVtcHksIgotUEFDS0FHRUNPTkZJR1tweXRob24zXSA9ICItRFBZVEhPTjNfTlVNUFlfSU5DTFVERV9ESVJTOlBBVEg9JHtTVEFHSU5HX0xJQkRJUn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL251bXB5L2NvcmUvaW5jbHVkZSwscHl0aG9uMy1udW1weSwiCi1QQUNLQUdFQ09ORklHW3NhbXBsZXNdID0gIi1EQlVJTERfRVhBTVBMRVM9T04gLURJTlNUQUxMX1BZVEhPTl9FWEFNUExFUz1PTiwtREJVSUxEX0VYQU1QTEVTPU9GRiwsIgotUEFDS0FHRUNPTkZJR1t0YmJdID0gIi1EV0lUSF9UQkI9T04sLURXSVRIX1RCQj1PRkYsdGJiLCIKLVBBQ0tBR0VDT05GSUdbdGV4dF0gPSAiLURCVUlMRF9vcGVuY3ZfdGV4dD1PTiwtREJVSUxEX29wZW5jdl90ZXh0PU9GRix0ZXNzZXJhY3QsIgotUEFDS0FHRUNPTkZJR1t0aWZmXSA9ICItRFdJVEhfVElGRj1PTiwtRFdJVEhfVElGRj1PRkYsdGlmZiwiCi1QQUNLQUdFQ09ORklHW3Y0bF0gPSAiLURXSVRIX1Y0TD1PTiwtRFdJVEhfVjRMPU9GRix2NGwtdXRpbHMsIgotCi1pbmhlcml0IHBrZ2NvbmZpZyBjbWFrZQotCi1pbmhlcml0ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAnZGlzdHV0aWxzMy1iYXNlJywgJycsIGQpfQotaW5oZXJpdCAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24yJywgJ2Rpc3R1dGlscy1iYXNlJywgJycsIGQpfQotCi1leHBvcnQgUFlUSE9OX0NTUEVDPSItSSR7U1RBR0lOR19JTkNESVJ9LyR7UFlUSE9OX0RJUn0iCi1leHBvcnQgUFlUSE9OPSIke1NUQUdJTkdfQklORElSX05BVElWRX0vJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHl0aG9uMycsICdweXRob24zJywgJ3B5dGhvbicsIGQpfSIKLWV4cG9ydCBPUkFDTEVfSkFWQV9IT01FPSIke1NUQUdJTkdfRElSX05BVElWRX0vdXNyL2Jpbi9qYXZhIgotZXhwb3J0IEpBVkFfSE9NRT0iJHtTVEFHSU5HX0RJUl9OQVRJVkV9L3Vzci9saWIvanZtL29wZW5qZGstOC1uYXRpdmUiCi1leHBvcnQgQU5UX0RJUj0iJHtTVEFHSU5HX0RJUl9OQVRJVkV9L3Vzci9zaGFyZS9hbnQvIgotCi1UQVJHRVRfQ0NfQVJDSCArPSAiLUkke1N9L2luY2x1ZGUgIgotCi1QQUNLQUdFUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnc2FtcGxlcycsICcke1BOfS1zYW1wbGVzJywgJycsIGQpfSBcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnb3JhY2xlLWphdmEnLCAnJHtQTn0tamF2YScsICcnLCBkKX0gXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2phdmEnLCAnJHtQTn0tamF2YScsICcnLCBkKX0gXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjInLCAncHl0aG9uLSR7QlBOfScsICcnLCBkKX0gXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAncHl0aG9uMy0ke0JQTn0nLCAnJywgZCl9IFwKLSAgICAke1BOfS1hcHBzIgotCi1weXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7Ci0gICAgY3ZfbGliZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfScpCi0gICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgY3ZfbGliZGlyLCAnXmxpYiguKilcLnNvJCcsICdsaWIlcy1kZXYnLCAnT3BlbkNWICVzIGRldmVsb3BtZW50IHBhY2thZ2UnLCBleHRyYV9kZXBlbmRzPScke1BOfS1kZXYnLCBhbGxvd19saW5rcz1UcnVlKQotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGN2X2xpYmRpciwgJ15saWIoLiopXC5sYSQnLCAnbGliJXMtZGV2JywgJ09wZW5DViAlcyBkZXZlbG9wbWVudCBwYWNrYWdlJywgZXh0cmFfZGVwZW5kcz0nJHtQTn0tZGV2JykKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBjdl9saWJkaXIsICdebGliKC4qKVwuYSQnLCAnbGliJXMtZGV2JywgJ09wZW5DViAlcyBkZXZlbG9wbWVudCBwYWNrYWdlJywgZXh0cmFfZGVwZW5kcz0nJHtQTn0tZGV2JykKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBjdl9saWJkaXIsICdebGliKC4qKVwuc29cLionLCAnbGliJXMnLCAnT3BlbkNWICVzIGxpYnJhcnknLCBleHRyYV9kZXBlbmRzPScnLCBhbGxvd19saW5rcz1UcnVlKQotCi0gICAgcG4gPSBkLmdldFZhcignUE4nKQotICAgIG1ldGFwa2cgPSAgcG4gKyAnLWRldicKLSAgICBkLnNldFZhcignQUxMT1dfRU1QVFlfJyArIG1ldGFwa2csICIxIikKLSAgICBibGFja2xpc3QgPSBbIG1ldGFwa2cgXQotICAgIG1ldGFwa2dfcmRlcGVuZHMgPSBbIF0KLSAgICBwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdFUycpLnNwbGl0KCkKLSAgICBmb3IgcGtnIGluIHBhY2thZ2VzWzE6XToKLSAgICAgICAgaWYgbm90IHBrZyBpbiBibGFja2xpc3QgYW5kIG5vdCBwa2cgaW4gbWV0YXBrZ19yZGVwZW5kcyBhbmQgcGtnLmVuZHN3aXRoKCctZGV2Jyk6Ci0gICAgICAgICAgICBtZXRhcGtnX3JkZXBlbmRzLmFwcGVuZChwa2cpCi0gICAgZC5zZXRWYXIoJ1JSRUNPTU1FTkRTXycgKyBtZXRhcGtnLCAnICcuam9pbihtZXRhcGtnX3JkZXBlbmRzKSkKLQotICAgIG1ldGFwa2cgPSAgcG4KLSAgICBkLnNldFZhcignQUxMT1dfRU1QVFlfJyArIG1ldGFwa2csICIxIikKLSAgICBibGFja2xpc3QgPSBbIG1ldGFwa2csICJsaWJvcGVuY3YtdHMiIF0KLSAgICBtZXRhcGtnX3JkZXBlbmRzID0gWyBdCi0gICAgZm9yIHBrZyBpbiBwYWNrYWdlc1sxOl06Ci0gICAgICAgIGlmIG5vdCBwa2cgaW4gYmxhY2tsaXN0IGFuZCBub3QgcGtnIGluIG1ldGFwa2dfcmRlcGVuZHMgYW5kIG5vdCBwa2cuZW5kc3dpdGgoJy1kZXYnKSBhbmQgbm90IHBrZy5lbmRzd2l0aCgnLWRiZycpIGFuZCBub3QgcGtnLmVuZHN3aXRoKCctZG9jJykgYW5kIG5vdCBwa2cuZW5kc3dpdGgoJy1sb2NhbGUnKSBhbmQgbm90IHBrZy5lbmRzd2l0aCgnLXN0YXRpY2RldicpOgotICAgICAgICAgICAgbWV0YXBrZ19yZGVwZW5kcy5hcHBlbmQocGtnKQotICAgIGQuc2V0VmFyKCdSREVQRU5EU18nICsgbWV0YXBrZywgJyAnLmpvaW4obWV0YXBrZ19yZGVwZW5kcykpCi19Ci0KLVBBQ0tBR0VTX0RZTkFNSUMgKz0gIl5saWJvcGVuY3YtLioiCi0KLUZJTEVTXyR7UE59ID0gIiIKLUZJTEVTXyR7UE59LWRiZyArPSAiJHtkYXRhZGlyfS9PcGVuQ1YvamF2YS8uZGVidWcvKiAke2RhdGFkaXJ9L09wZW5DVi9zYW1wbGVzL2Jpbi8uZGVidWcvKiIKLUZJTEVTXyR7UE59LWRldiA9ICIke2luY2x1ZGVkaXJ9ICR7bGliZGlyfS9wa2djb25maWcgJHtkYXRhZGlyfS9PcGVuQ1YvKi5jbWFrZSIKLUZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtkYXRhZGlyfS9PcGVuQ1YvM3JkcGFydHkvbGliLyouYSIKLUZJTEVTXyR7UE59LWFwcHMgPSAiJHtiaW5kaXJ9LyogJHtkYXRhZGlyfS9PcGVuQ1YiCi1GSUxFU18ke1BOfS1qYXZhID0gIiR7ZGF0YWRpcn0vT3BlbkNWL2phdmEiCi1GSUxFU18ke1BOfS1zYW1wbGVzID0gIiR7ZGF0YWRpcn0vT3BlbkNWL3NhbXBsZXMvIgotCi1JTlNBTkVfU0tJUF8ke1BOfS1qYXZhID0gImxpYmRpciIKLUlOU0FORV9TS0lQXyR7UE59LWRiZyA9ICJsaWJkaXIiCi0KLUFMTE9XX0VNUFRZXyR7UE59ID0gIjEiCi0KLVNVTU1BUllfcHl0aG9uLW9wZW5jdiA9ICJQeXRob24gYmluZGluZ3MgdG8gb3BlbmN2IgotRklMRVNfcHl0aG9uLW9wZW5jdiA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qIgotUkRFUEVORFNfcHl0aG9uLW9wZW5jdiA9ICJweXRob24tY29yZSBweXRob24tbnVtcHkiCi0KLVNVTU1BUllfcHl0aG9uMy1vcGVuY3YgPSAiUHl0aG9uIGJpbmRpbmdzIHRvIG9wZW5jdiIKLUZJTEVTX3B5dGhvbjMtb3BlbmN2ID0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyoiCi1SREVQRU5EU19weXRob24zLW9wZW5jdiA9ICJweXRob24zLWNvcmUgcHl0aG9uMy1udW1weSIKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgY3AgJHtTfS9pbmNsdWRlL29wZW5jdi8qLmggJHtEfSR7aW5jbHVkZWRpcn0vb3BlbmN2LwotICAgIHNlZCAtaSAnL2Jsb2J0cmFjay9kJyAke0R9JHtpbmNsdWRlZGlyfS9vcGVuY3YvY3ZhdXguaAotCi0gICAgIyBNb3ZlIFB5dGhvbiBmaWxlcyBpbnRvIGNvcnJlY3QgbGlicmFyeSBmb2xkZXIgKGZvciBtdWx0aWxpYiBidWlsZCkKLSAgICBpZiBbICIkbGliZGlyIiAhPSAiL3Vzci9saWIiIC1hIC1kICR7RH0vdXNyL2xpYiBdOyB0aGVuCi0gICAgICAgIG12ICR7RH0vdXNyL2xpYi8qICR7RH0vJHtsaWJkaXJ9LwotICAgICAgICBybSAtcmYgJHtEfS91c3IvbGliCi0gICAgZmkKLX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3ZfMy40LjUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Yvb3BlbmN2XzMuNC41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhNmUwNmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Yvb3BlbmN2XzMuNC41LmJiCkBAIC0wLDAgKzEsMTkwIEBACitTVU1NQVJZID0gIk9wZW5jdiA6IFRoZSBPcGVuIENvbXB1dGVyIFZpc2lvbiBMaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL29wZW5jdi5vcmcvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTYyZDg5YzVkY2IwNTgzNjA5ZWE5MTljNTZiZTBlZTc2IgorCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY0ID0gImFybSIKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgorCitERVBFTkRTID0gImxpYnRvb2wgc3dpZy1uYXRpdmUgYnppcDIgemxpYiBnbGliLTIuMCBsaWJ3ZWJwIgorCitTUkNSRVZfb3BlbmN2ID0gIjhmMTM1NmMzYzViMTY3MjEzNDk1ODJkYjQ2MWEyMDUxNjUzMDU5ZTgiCitTUkNSRVZfY29udHJpYiA9ICI3MjkyZGY2MjYyNGRlZDhhZjgwMzUyMzE0MzVkZmQxN2M5M2UxYTgwIgorU1JDUkVWX2lwcCA9ICIzMmUzMTVhNWIxMDZhN2I4OWRiZWQ1MWMyOGY4MTIwYTQ4YjM2OGI0IgorU1JDUkVWX2Jvb3N0ZGVzYyA9ICIzNGU0MjA2YWVmNDRkNTBlNmJiY2QwYWIwNjM1NGI1MmU3NDY2ZDI2IgorU1JDUkVWX3ZnZyA9ICJmY2NmN2NkNmE0YjEyMDc5ZjczYmJmYjIxNzQ1ZjliYWJjZDRlYjFkIgorU1JDX1VSSVt0aW55ZG5uLm1kNXN1bV0gPSAiYWRiMWM1MTJlMDljYTJjN2E2ZmFlZjM2ZjljNTNlNTkiCitTUkNfVVJJW3Rpbnlkbm4uc2hhMjU2c3VtXSA9ICJlMmM2MWNlOGM1ZGViYWE2NDQxMjExNzllOWRiZGNmODNmNDk3ZjM5ZGU4NTNmOGRkNTE3NTg0NjUwNWFhMThiIgorCitkZWYgaXBwX2ZpbGVuYW1lKGQpOgorICAgIGltcG9ydCByZQorICAgIGFyY2ggPSBkLmdldFZhcignVEFSR0VUX0FSQ0gnKQorICAgIGlmIHJlLm1hdGNoKCJpLjg2JCIsIGFyY2gpOgorICAgICAgICByZXR1cm4gImlwcGljdl8yMDE5X2xueF9pYTMyX2dlbmVyYWxfMjAxODA3MjMudGd6IgorICAgIGVsc2U6CisgICAgICAgIHJldHVybiAiaXBwaWN2XzIwMTlfbG54X2ludGVsNjRfZ2VuZXJhbF8yMDE4MDcyMy50Z3oiCisKK2RlZiBpcHBfbWQ1c3VtKGQpOgorICAgIGltcG9ydCByZQorICAgIGFyY2ggPSBkLmdldFZhcignVEFSR0VUX0FSQ0gnKQorICAgIGlmIHJlLm1hdGNoKCJpLjg2JCIsIGFyY2gpOgorICAgICAgICByZXR1cm4gIjRmMzg0MzJjMzBiZmQ2NDIzMTY0YjdhMjRiYmM5OGEwIgorICAgIGVsc2U6CisgICAgICAgIHJldHVybiAiYzBiZDc4YWRiNDE1NmJiZjU1MmMxZGZlOTA1OTk2MDciCisKK0lQUF9GSUxFTkFNRSA9ICIke0BpcHBfZmlsZW5hbWUoZCl9IgorSVBQX01ENSA9ICIke0BpcHBfbWQ1c3VtKGQpfSIKKworU1JDUkVWX0ZPUk1BVCA9ICJvcGVuY3ZfY29udHJpYl9pcHBfYm9vc3RkZXNjX3ZnZyIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuY3Yvb3BlbmN2LmdpdDtuYW1lPW9wZW5jdiBcCisgICAgZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuY3Yvb3BlbmN2X2NvbnRyaWIuZ2l0O2Rlc3RzdWZmaXg9Y29udHJpYjtuYW1lPWNvbnRyaWIgXAorICAgIGdpdDovL2dpdGh1Yi5jb20vb3BlbmN2L29wZW5jdl8zcmRwYXJ0eS5naXQ7YnJhbmNoPWlwcGljdi9tYXN0ZXJfMjAxODA3MjM7ZGVzdHN1ZmZpeD1pcHA7bmFtZT1pcHAgXAorICAgIGdpdDovL2dpdGh1Yi5jb20vb3BlbmN2L29wZW5jdl8zcmRwYXJ0eS5naXQ7YnJhbmNoPWNvbnRyaWJfeGZlYXR1cmVzMmRfYm9vc3RkZXNjXzIwMTYxMDEyO2Rlc3RzdWZmaXg9Ym9vc3RkZXNjO25hbWU9Ym9vc3RkZXNjIFwKKyAgICBnaXQ6Ly9naXRodWIuY29tL29wZW5jdi9vcGVuY3ZfM3JkcGFydHkuZ2l0O2JyYW5jaD1jb250cmliX3hmZWF0dXJlczJkX3ZnZ18yMDE2MDMxNztkZXN0c3VmZml4PXZnZztuYW1lPXZnZyBcCisgICAgaHR0cHM6Ly9naXRodWIuY29tL3RpbnktZG5uL3RpbnktZG5uL2FyY2hpdmUvdjEuMC4wYTMudGFyLmd6O2Rlc3RzdWZmaXg9Z2l0LzNyZHBhcnR5L3Rpbnlkbm4vdGlueS1kbm4tMS4wLjBhMztuYW1lPXRpbnlkbm47dW5wYWNrPWZhbHNlIFwKKyAgICBmaWxlOi8vMDAwMS0zcmRwYXJ0eS1pcHBpY3YtVXNlLXByZS1kb3dubG9hZGVkLWlwcC5wYXRjaCBcCisgICAgZmlsZTovL3VzZWxvY2FseGZlYXR1cmVzLnBhdGNoO3BhdGNoZGlyPS4uL2NvbnRyaWIvIFwKKyAgICBmaWxlOi8vMDAwMi1NYWtlLW9wZW5jdi10cy1jcmVhdGUtc2hhcmUtbGlicmFyeS1pbnRlYWQtb2Ytc3RhdGljLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMy1Uby1maXgtZXJyb3JzLWFzLWZvbGxvd2luZy5wYXRjaCBcCisgICAgZmlsZTovL2ZpeHBrZ2NvbmZpZy5wYXRjaCBcCisgICAgZmlsZTovLzAwMDEtVGVtcG9yYXJsaXktd29yay1hcm91bmQtZGVwcmVjYXRlZC1mZm1wZWctUkFXLWZ1bmN0aS5wYXRjaCBcCisgICAgZmlsZTovLzAwMDEtRG9udC11c2UtaXN5c3RlbS5wYXRjaCBcCisiCitQViA9ICIzLjQuNSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworZG9fdW5wYWNrX2V4dHJhKCkgeworICAgIG1rZGlyIC1wICR7U30vM3JkcGFydHkvdGlueWRubi8KKyAgICB0YXIgeHpmICR7V09SS0RJUn0vdjEuMC4wYTMudGFyLmd6IC1DICR7U30vM3JkcGFydHkvdGlueWRubi8KKyAgICB0YXIgeHpmICR7V09SS0RJUn0vaXBwL2lwcGljdi8ke0lQUF9GSUxFTkFNRX0gLUMgJHtXT1JLRElSfQorICAgIGNwICR7V09SS0RJUn0vdmdnLyouaSAke1dPUktESVJ9L2NvbnRyaWIvbW9kdWxlcy94ZmVhdHVyZXMyZC9zcmMKKyAgICBjcCAke1dPUktESVJ9L2Jvb3N0ZGVzYy8qLmkgJHtXT1JLRElSfS9jb250cmliL21vZHVsZXMveGZlYXR1cmVzMmQvc3JjCit9CithZGR0YXNrIHVucGFja19leHRyYSBhZnRlciBkb191bnBhY2sgYmVmb3JlIGRvX3BhdGNoCisKK0VYVFJBX09FQ01BS0UgPSAiLURPUEVOQ1ZfRVhUUkFfTU9EVUxFU19QQVRIPSR7V09SS0RJUn0vY29udHJpYi9tb2R1bGVzIFwKKyAgICAtRFdJVEhfMTM5ND1PRkYgXAorICAgIC1ERU5BQkxFX1BSRUNPTVBJTEVEX0hFQURFUlM9T0ZGIFwKKyAgICAtRENNQUtFX1NLSVBfUlBBVEg9T04gXAorICAgIC1ET1BFTkNWX0lDVl9IQVNIPSR7SVBQX01ENX0gXAorICAgIC1ESVBQUk9PVD0ke1dPUktESVJ9L2lwcGljdl9sbnggXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUQVJHRVRfQ0NfQVJDSCIsICItbXNzZTMiLCAiLURFTkFCTEVfU1NFPTEgLURFTkFCTEVfU1NFMj0xIC1ERU5BQkxFX1NTRTM9MSAtREVOQUJMRV9TU1NFMz0xIiwgIiIsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIlRBUkdFVF9DQ19BUkNIIiwgIi1tc3NlNC4xIiwgIi1ERU5BQkxFX1NTRT0xIC1ERU5BQkxFX1NTRTI9MSAtREVOQUJMRV9TU0UzPTEgLURFTkFCTEVfU1NTRTM9MSAtREVOQUJMRV9TU0U0MT0xIiwgIiIsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIlRBUkdFVF9DQ19BUkNIIiwgIi1tc3NlNC4yIiwgIi1ERU5BQkxFX1NTRT0xIC1ERU5BQkxFX1NTRTI9MSAtREVOQUJMRV9TU0UzPTEgLURFTkFCTEVfU1NTRTM9MSAtREVOQUJMRV9TU0U0MT0xIC1ERU5BQkxFX1NTRTQyPTEiLCAiIiwgZCl9IFwKKyIKK0VYVFJBX09FQ01BS0VfYXBwZW5kX3g4NiA9ICIgLURYODY9T04iCisKK1BBQ0tBR0VDT05GSUcgPz89ICJweXRob24zIGVpZ2VuIGpwZWcgcG5nIHRpZmYgdjRsIGxpYnY0bCBnc3RyZWFtZXIgc2FtcGxlcyB0YmIgZ3Bob3RvMiBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJ4MTEiLCAiZ3RrIiwgIiIsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkxJQ0VOU0VfRkxBR1NfV0hJVEVMSVNUIiwgImNvbW1lcmNpYWwiLCAibGliYXYiLCAiIiwgZCl9IgorCitQQUNLQUdFQ09ORklHW2FtZGJsYXNdID0gIi1EV0lUSF9PUEVOQ0xBTURCTEFTPU9OLC1EV0lUSF9PUEVOQ0xBTURCTEFTPU9GRixsaWJjbGFtZGJsYXMsIgorUEFDS0FHRUNPTkZJR1thbWRmZnRdID0gIi1EV0lUSF9PUEVOQ0xBTURGRlQ9T04sLURXSVRIX09QRU5DTEFNREZGVD1PRkYsbGliY2xhbWRmZnQsIgorUEFDS0FHRUNPTkZJR1tkbm5dID0gIi1EQlVJTERfb3BlbmN2X2Rubj1PTiAtRFBST1RPQlVGX1VQREFURV9GSUxFUz1PTiAtREJVSUxEX1BST1RPQlVGPU9GRiwtREJVSUxEX29wZW5jdl9kbm49T0ZGLHByb3RvYnVmIHByb3RvYnVmLW5hdGl2ZSwiCitQQUNLQUdFQ09ORklHW2VpZ2VuXSA9ICItRFdJVEhfRUlHRU49T04sLURXSVRIX0VJR0VOPU9GRixsaWJlaWdlbiBnZmxhZ3MgZ2xvZywiCitQQUNLQUdFQ09ORklHW2ZyZWV0eXBlXSA9ICItREJVSUxEX29wZW5jdl9mcmVldHlwZT1PTiwtREJVSUxEX29wZW5jdl9mcmVldHlwZT1PRkYsZnJlZXR5cGUsIgorUEFDS0FHRUNPTkZJR1tncGhvdG8yXSA9ICItRFdJVEhfR1BIT1RPMj1PTiwtRFdJVEhfR1BIT1RPMj1PRkYsbGliZ3Bob3RvMiwiCitQQUNLQUdFQ09ORklHW2dzdHJlYW1lcl0gPSAiLURXSVRIX0dTVFJFQU1FUj1PTiwtRFdJVEhfR1NUUkVBTUVSPU9GRixnc3RyZWFtZXIxLjAgZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZSwiCitQQUNLQUdFQ09ORklHW2d0a10gPSAiLURXSVRIX0dUSz1PTiwtRFdJVEhfR1RLPU9GRixndGsrMywiCitQQUNLQUdFQ09ORklHW2phc3Blcl0gPSAiLURXSVRIX0pBU1BFUj1PTiwtRFdJVEhfSkFTUEVSPU9GRixqYXNwZXIsIgorUEFDS0FHRUNPTkZJR1tqYXZhXSA9ICItREpBVkFfSU5DTFVERV9QQVRIPSR7SkFWQV9IT01FfS9pbmNsdWRlIC1ESkFWQV9JTkNMVURFX1BBVEgyPSR7SkFWQV9IT01FfS9pbmNsdWRlL2xpbnV4IC1ESkFWQV9BV1RfSU5DTFVERV9QQVRIPSR7SkFWQV9IT01FfS9pbmNsdWRlIC1ESkFWQV9BV1RfTElCUkFSWT0ke0pBVkFfSE9NRX0vbGliL2FtZDY0L2xpYmphd3Quc28gLURKQVZBX0pWTV9MSUJSQVJZPSR7SkFWQV9IT01FfS9saWIvYW1kNjQvc2VydmVyL2xpYmp2bS5zbywsYW50LW5hdGl2ZSBmYXN0amFyLW5hdGl2ZSBvcGVuamRrLTgtbmF0aXZlLCIKK1BBQ0tBR0VDT05GSUdbanBlZ10gPSAiLURXSVRIX0pQRUc9T04sLURXSVRIX0pQRUc9T0ZGLGpwZWcsIgorUEFDS0FHRUNPTkZJR1tsaWJhdl0gPSAiLURXSVRIX0ZGTVBFRz1PTiwtRFdJVEhfRkZNUEVHPU9GRixsaWJhdiwiCitQQUNLQUdFQ09ORklHW2xpYnY0bF0gPSAiLURXSVRIX0xJQlY0TD1PTiwtRFdJVEhfTElCVjRMPU9GRix2NGwtdXRpbHMsIgorUEFDS0FHRUNPTkZJR1tvcGVuY2xdID0gIi1EV0lUSF9PUEVOQ0w9T04sLURXSVRIX09QRU5DTD1PRkYsb3BlbmNsLWhlYWRlcnMgdmlydHVhbC9vcGVuY2wtaWNkLCIKK1BBQ0tBR0VDT05GSUdbb3JhY2xlLWphdmFdID0gIi1ESkFWQV9JTkNMVURFX1BBVEg9JHtPUkFDTEVfSkFWQV9IT01FfS9pbmNsdWRlIC1ESkFWQV9JTkNMVURFX1BBVEgyPSR7T1JBQ0xFX0pBVkFfSE9NRX0vaW5jbHVkZS9saW51eCAtREpBVkFfQVdUX0lOQ0xVREVfUEFUSD0ke09SQUNMRV9KQVZBX0hPTUV9L2luY2x1ZGUgLURKQVZBX0FXVF9MSUJSQVJZPSR7T1JBQ0xFX0pBVkFfSE9NRX0vbGliL2FtZDY0L2xpYmphd3Quc28gLURKQVZBX0pWTV9MSUJSQVJZPSR7T1JBQ0xFX0pBVkFfSE9NRX0vbGliL2FtZDY0L3NlcnZlci9saWJqdm0uc28sLGFudC1uYXRpdmUgb3JhY2xlLWpzZS1qZGsgb3JhY2xlLWpzZS1qZGstbmF0aXZlLCIKK1BBQ0tBR0VDT05GSUdbcG5nXSA9ICItRFdJVEhfUE5HPU9OLC1EV0lUSF9QTkc9T0ZGLGxpYnBuZywiCitQQUNLQUdFQ09ORklHW3B5dGhvbjJdID0gIi1EUFlUSE9OMl9OVU1QWV9JTkNMVURFX0RJUlM6UEFUSD0ke1NUQUdJTkdfTElCRElSfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvbnVtcHkvY29yZS9pbmNsdWRlLCxweXRob24tbnVtcHksIgorUEFDS0FHRUNPTkZJR1tweXRob24zXSA9ICItRFBZVEhPTjNfTlVNUFlfSU5DTFVERV9ESVJTOlBBVEg9JHtTVEFHSU5HX0xJQkRJUn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL251bXB5L2NvcmUvaW5jbHVkZSwscHl0aG9uMy1udW1weSwiCitQQUNLQUdFQ09ORklHW3NhbXBsZXNdID0gIi1EQlVJTERfRVhBTVBMRVM9T04gLURJTlNUQUxMX1BZVEhPTl9FWEFNUExFUz1PTiwtREJVSUxEX0VYQU1QTEVTPU9GRiwsIgorUEFDS0FHRUNPTkZJR1t0YmJdID0gIi1EV0lUSF9UQkI9T04sLURXSVRIX1RCQj1PRkYsdGJiLCIKK1BBQ0tBR0VDT05GSUdbdGV4dF0gPSAiLURCVUlMRF9vcGVuY3ZfdGV4dD1PTiwtREJVSUxEX29wZW5jdl90ZXh0PU9GRix0ZXNzZXJhY3QsIgorUEFDS0FHRUNPTkZJR1t0aWZmXSA9ICItRFdJVEhfVElGRj1PTiwtRFdJVEhfVElGRj1PRkYsdGlmZiwiCitQQUNLQUdFQ09ORklHW3Y0bF0gPSAiLURXSVRIX1Y0TD1PTiwtRFdJVEhfVjRMPU9GRix2NGwtdXRpbHMsIgorCitpbmhlcml0IHBrZ2NvbmZpZyBjbWFrZQorCitpbmhlcml0ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAnZGlzdHV0aWxzMy1iYXNlJywgJycsIGQpfQoraW5oZXJpdCAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24yJywgJ2Rpc3R1dGlscy1iYXNlJywgJycsIGQpfQorCitleHBvcnQgUFlUSE9OX0NTUEVDPSItSSR7U1RBR0lOR19JTkNESVJ9LyR7UFlUSE9OX0RJUn0iCitleHBvcnQgUFlUSE9OPSIke1NUQUdJTkdfQklORElSX05BVElWRX0vJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHl0aG9uMycsICdweXRob24zJywgJ3B5dGhvbicsIGQpfSIKK2V4cG9ydCBPUkFDTEVfSkFWQV9IT01FPSIke1NUQUdJTkdfRElSX05BVElWRX0vdXNyL2Jpbi9qYXZhIgorZXhwb3J0IEpBVkFfSE9NRT0iJHtTVEFHSU5HX0RJUl9OQVRJVkV9L3Vzci9saWIvanZtL29wZW5qZGstOC1uYXRpdmUiCitleHBvcnQgQU5UX0RJUj0iJHtTVEFHSU5HX0RJUl9OQVRJVkV9L3Vzci9zaGFyZS9hbnQvIgorCitUQVJHRVRfQ0NfQVJDSCArPSAiLUkke1N9L2luY2x1ZGUgIgorCitQQUNLQUdFUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnc2FtcGxlcycsICcke1BOfS1zYW1wbGVzJywgJycsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnb3JhY2xlLWphdmEnLCAnJHtQTn0tamF2YScsICcnLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2phdmEnLCAnJHtQTn0tamF2YScsICcnLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjInLCAncHl0aG9uLSR7QlBOfScsICcnLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAncHl0aG9uMy0ke0JQTn0nLCAnJywgZCl9IFwKKyAgICAke1BOfS1hcHBzIgorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CisgICAgY3ZfbGliZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfScpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgY3ZfbGliZGlyLCAnXmxpYiguKilcLnNvJCcsICdsaWIlcy1kZXYnLCAnT3BlbkNWICVzIGRldmVsb3BtZW50IHBhY2thZ2UnLCBleHRyYV9kZXBlbmRzPScke1BOfS1kZXYnLCBhbGxvd19saW5rcz1UcnVlKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGN2X2xpYmRpciwgJ15saWIoLiopXC5sYSQnLCAnbGliJXMtZGV2JywgJ09wZW5DViAlcyBkZXZlbG9wbWVudCBwYWNrYWdlJywgZXh0cmFfZGVwZW5kcz0nJHtQTn0tZGV2JykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBjdl9saWJkaXIsICdebGliKC4qKVwuYSQnLCAnbGliJXMtZGV2JywgJ09wZW5DViAlcyBkZXZlbG9wbWVudCBwYWNrYWdlJywgZXh0cmFfZGVwZW5kcz0nJHtQTn0tZGV2JykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBjdl9saWJkaXIsICdebGliKC4qKVwuc29cLionLCAnbGliJXMnLCAnT3BlbkNWICVzIGxpYnJhcnknLCBleHRyYV9kZXBlbmRzPScnLCBhbGxvd19saW5rcz1UcnVlKQorCisgICAgcG4gPSBkLmdldFZhcignUE4nKQorICAgIG1ldGFwa2cgPSAgcG4gKyAnLWRldicKKyAgICBkLnNldFZhcignQUxMT1dfRU1QVFlfJyArIG1ldGFwa2csICIxIikKKyAgICBibGFja2xpc3QgPSBbIG1ldGFwa2cgXQorICAgIG1ldGFwa2dfcmRlcGVuZHMgPSBbIF0KKyAgICBwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdFUycpLnNwbGl0KCkKKyAgICBmb3IgcGtnIGluIHBhY2thZ2VzWzE6XToKKyAgICAgICAgaWYgbm90IHBrZyBpbiBibGFja2xpc3QgYW5kIG5vdCBwa2cgaW4gbWV0YXBrZ19yZGVwZW5kcyBhbmQgcGtnLmVuZHN3aXRoKCctZGV2Jyk6CisgICAgICAgICAgICBtZXRhcGtnX3JkZXBlbmRzLmFwcGVuZChwa2cpCisgICAgZC5zZXRWYXIoJ1JSRUNPTU1FTkRTXycgKyBtZXRhcGtnLCAnICcuam9pbihtZXRhcGtnX3JkZXBlbmRzKSkKKworICAgIG1ldGFwa2cgPSAgcG4KKyAgICBkLnNldFZhcignQUxMT1dfRU1QVFlfJyArIG1ldGFwa2csICIxIikKKyAgICBibGFja2xpc3QgPSBbIG1ldGFwa2csICJsaWJvcGVuY3YtdHMiIF0KKyAgICBtZXRhcGtnX3JkZXBlbmRzID0gWyBdCisgICAgZm9yIHBrZyBpbiBwYWNrYWdlc1sxOl06CisgICAgICAgIGlmIG5vdCBwa2cgaW4gYmxhY2tsaXN0IGFuZCBub3QgcGtnIGluIG1ldGFwa2dfcmRlcGVuZHMgYW5kIG5vdCBwa2cuZW5kc3dpdGgoJy1kZXYnKSBhbmQgbm90IHBrZy5lbmRzd2l0aCgnLWRiZycpIGFuZCBub3QgcGtnLmVuZHN3aXRoKCctZG9jJykgYW5kIG5vdCBwa2cuZW5kc3dpdGgoJy1sb2NhbGUnKSBhbmQgbm90IHBrZy5lbmRzd2l0aCgnLXN0YXRpY2RldicpOgorICAgICAgICAgICAgbWV0YXBrZ19yZGVwZW5kcy5hcHBlbmQocGtnKQorICAgIGQuc2V0VmFyKCdSREVQRU5EU18nICsgbWV0YXBrZywgJyAnLmpvaW4obWV0YXBrZ19yZGVwZW5kcykpCit9CisKK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl5saWJvcGVuY3YtLioiCisKK0ZJTEVTXyR7UE59ID0gIiIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtkYXRhZGlyfS9PcGVuQ1YvamF2YS8uZGVidWcvKiAke2RhdGFkaXJ9L09wZW5DVi9zYW1wbGVzL2Jpbi8uZGVidWcvKiIKK0ZJTEVTXyR7UE59LWRldiA9ICIke2luY2x1ZGVkaXJ9ICR7bGliZGlyfS9wa2djb25maWcgJHtkYXRhZGlyfS9PcGVuQ1YvKi5jbWFrZSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtkYXRhZGlyfS9PcGVuQ1YvM3JkcGFydHkvbGliLyouYSIKK0ZJTEVTXyR7UE59LWFwcHMgPSAiJHtiaW5kaXJ9LyogJHtkYXRhZGlyfS9PcGVuQ1YiCitGSUxFU18ke1BOfS1qYXZhID0gIiR7ZGF0YWRpcn0vT3BlbkNWL2phdmEiCitGSUxFU18ke1BOfS1zYW1wbGVzID0gIiR7ZGF0YWRpcn0vT3BlbkNWL3NhbXBsZXMvIgorCitJTlNBTkVfU0tJUF8ke1BOfS1qYXZhID0gImxpYmRpciIKK0lOU0FORV9TS0lQXyR7UE59LWRiZyA9ICJsaWJkaXIiCisKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCisKK1NVTU1BUllfcHl0aG9uLW9wZW5jdiA9ICJQeXRob24gYmluZGluZ3MgdG8gb3BlbmN2IgorRklMRVNfcHl0aG9uLW9wZW5jdiA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qIgorUkRFUEVORFNfcHl0aG9uLW9wZW5jdiA9ICJweXRob24tY29yZSBweXRob24tbnVtcHkiCisKK1NVTU1BUllfcHl0aG9uMy1vcGVuY3YgPSAiUHl0aG9uIGJpbmRpbmdzIHRvIG9wZW5jdiIKK0ZJTEVTX3B5dGhvbjMtb3BlbmN2ID0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyoiCitSREVQRU5EU19weXRob24zLW9wZW5jdiA9ICJweXRob24zLWNvcmUgcHl0aG9uMy1udW1weSIKKworUkRFUEVORFNfb3BlbmN2LWFwcHMgID0gImJhc2giCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGNwICR7U30vaW5jbHVkZS9vcGVuY3YvKi5oICR7RH0ke2luY2x1ZGVkaXJ9L29wZW5jdi8KKyAgICBzZWQgLWkgJy9ibG9idHJhY2svZCcgJHtEfSR7aW5jbHVkZWRpcn0vb3BlbmN2L2N2YXV4LmgKKworICAgICMgTW92ZSBQeXRob24gZmlsZXMgaW50byBjb3JyZWN0IGxpYnJhcnkgZm9sZGVyIChmb3IgbXVsdGlsaWIgYnVpbGQpCisgICAgaWYgWyAiJGxpYmRpciIgIT0gIi91c3IvbGliIiAtYSAtZCAke0R9L3Vzci9saWIgXTsgdGhlbgorICAgICAgICBtdiAke0R9L3Vzci9saWIvKiAke0R9LyR7bGliZGlyfS8KKyAgICAgICAgcm0gLXJmICR7RH0vdXNyL2xpYgorICAgIGZpCit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcC9yZW1vdmUtdXNlci1ob3N0LXB3ZC1mcm9tLXZlcnNpb24ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcC9yZW1vdmUtdXNlci1ob3N0LXB3ZC1mcm9tLXZlcnNpb24ucGF0Y2gKaW5kZXggNGViMzg5Ny4uODcwZmM5OCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXAvcmVtb3ZlLXVzZXItaG9zdC1wd2QtZnJvbS12ZXJzaW9uLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwL3JlbW92ZS11c2VyLWhvc3QtcHdkLWZyb20tdmVyc2lvbi5wYXRjaApAQCAtMSwyNCArMSwzNiBAQAotZGlmZiAtcnUgb3BlbmxkYXAtMi40LjQ2Lm9yaWcvYnVpbGQvbWt2ZXJzaW9uIG9wZW5sZGFwLTIuNC40Ni9idWlsZC9ta3ZlcnNpb24KLS0tLSBvcGVubGRhcC0yLjQuNDYub3JpZy9idWlsZC9ta3ZlcnNpb24JMjAxOC0xMC0yNSAxODo0NjoxMC4zODM3NTA0ODAgKzEzMDAKLSsrKyBvcGVubGRhcC0yLjQuNDYvYnVpbGQvbWt2ZXJzaW9uCTIwMTgtMTAtMjUgMTg6NDY6MzMuMTU2MjMyNTg2ICsxMzAwCi1AQCAtNTAsNyArNTAsMTUgQEAKLSBmaQotIAotIEFQUExJQ0FUSU9OPSQxCi0tV0hPV0hFUkU9IiRVU0VSQGB1bmFtZSAtbmA6YHB3ZGAiCi0raWYgWyAtbiAiJHtTT1VSQ0VfREFURV9FUE9DSH0iIF07IHRoZW4KLSsgICBXSE9XSEVSRT0ib3BlbmxkYXAiCitGcm9tIDg2OGEwNGIwNTk2ZTJkZjcwOGJhMTRlZDcwODE1YjE0MTFkYjNkYjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVGh1LCAyMSBGZWIgMjAxOSAxMTozMzoyNCArMDgwMAorU3ViamVjdDogW1BBVENIXSBta3ZlcnNpb246IHJlbW92ZSB1c2VyIGhvc3QgcHdkIGZyb20gdmVyc2lvbgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworVXBkYXRlIHRoaXMgcGF0Y2ggdG8gdmVyc2lvbiAyLjQuNDcKKworU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorIGJ1aWxkL21rdmVyc2lvbiB8IDggKysrKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYnVpbGQvbWt2ZXJzaW9uIGIvYnVpbGQvbWt2ZXJzaW9uCitpbmRleCA0ZTM1NzIzLi45ZmEzYmVlIDEwMDc1NQorLS0tIGEvYnVpbGQvbWt2ZXJzaW9uCisrKysgYi9idWlsZC9ta3ZlcnNpb24KK0BAIC01Myw4ICs1MywxMiBAQCBBUFBMSUNBVElPTj0kMQorICMgUmVwcm9kdWNpYmxlIGJ1aWxkcyBzZXQgU09VUkNFX0RBVEVfRVBPQ0gsIHdhbnQgY29uc3RhbnQgc3RyaW5ncworIGlmIFsgLW4gIiR7U09VUkNFX0RBVEVfRVBPQ0h9IiBdOyB0aGVuCisgICAgV0hPV0hFUkU9Im9wZW5sZGFwIgogKyAgIERBVEU9JChkYXRlIC1kQCRTT1VSQ0VfREFURV9FUE9DSCArJyAlYiAlZCAlWSAnKQogKyAgIFRJTUU9JChkYXRlIC1kQCRTT1VSQ0VfREFURV9FUE9DSCArJyAlSDolTTolUyAnKQotK2Vsc2UKLSsgICBXSE9XSEVSRT0iJFVTRVJAJCh1bmFtZSAtbik6JChwd2QpIgorIGVsc2UKKy0gICBXSE9XSEVSRT0iJFVTRVJAJCh1bmFtZSAtbik6JChwd2QpIgorKyAgIFdIT1dIRVJFPSJvcGVubGRhcCIKICsgICBEQVRFPSciIF9fREFURV9fICInCiArICAgVElNRT0nIiBfX1RJTUVfXyAiJwotK2ZpCisgZmkKICAKICBjYXQgPDwgX19FT0ZfXwotIC8qIFRoaXMgd29yayBpcyBwYXJ0IG9mIE9wZW5MREFQIFNvZnR3YXJlIDxodHRwOi8vd3d3Lm9wZW5sZGFwLm9yZy8+LgotQEAgLTcyLDcgKzgwLDcgQEAKK0BAIC03Nyw3ICs4MSw3IEBAIHN0YXRpYyBjb25zdCBjaGFyIGNvcHlyaWdodFtdID0KICAiQ09QWUlORyBSRVNUUklDVElPTlMgQVBQTFlcbiI7CiAgCiAgJHN0YXRpYyAkY29uc3QgY2hhciAkU1lNQk9MW10gPQpAQCAtMjcsMyArMzksNiBAQAogICJcdCRXSE9XSEVSRVxuIjsKICAKICBfX0VPRl9fCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwXzIuNC40Ni5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwXzIuNC40Ni5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2ZlOWZiMC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcF8yLjQuNDYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNTUgKzAsMCBAQAotU1VNTUFSWSA9ICJPcGVuTERBUCBEaXJlY3RvcnkgU2VydmljZSIKLURFU0NSSVBUSU9OID0gIk9wZW5MREFQIFNvZnR3YXJlIGlzIGFuIG9wZW4gc291cmNlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBMaWdodHdlaWdodCBEaXJlY3RvcnkgQWNjZXNzIFByb3RvY29sLiIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuT3BlbkxEQVAub3JnL2xpY2Vuc2UuaHRtbCIKLSMgVGhlIE9wZW5MREFQIFB1YmxpYyBMaWNlbnNlIC0gc2VlIHRoZSBIT01FUEFHRSAtIGRlZmluZXMKLSMgdGhlIGxpY2Vuc2UuICB3d3cub3BlbmxkYXAub3JnIGNsYWltcyB0aGlzIGlzIE9wZW4gU291cmNlCi0jIChzZWUgaHR0cDovL3d3dy5vcGVubGRhcC5vcmcpLCB0aGUgbGljZW5zZSBhcHBlYXJzIHRvIGJlCi0jIGJhc2ljYWxseSBCU0QuICBvcGVuc291cmNlLm9yZyBkb2VzIG5vdCByZWNvcmQgdGhpcyBsaWNlbnNlCi0jIGF0IHByZXNlbnQgKHNvIGl0IGlzIGFwcGFyZW50bHkgbm90IE9TSSBjZXJ0aWZpZWQpLgotTElDRU5TRSA9ICJPcGVuTERBUCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlSSUdIVDttZDU9MjViNGVhZDBlNDUxODJlN2MyOTE0ZTU5ZmY1NzAwOWYgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vTElDRU5TRTttZDU9MTUzZDA3ZWYwNTJjNGEzN2E4ZmFjMjNiYzYwMzE5NzIgXAotICAgICAgICAgICAgICAgICAgICAiCi1TRUNUSU9OID0gImxpYnMiCi0KLUxEQVBfVkVSID0gIiR7QCcuJy5qb2luKGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMDoyXSl9IgotCi1TUkNfVVJJID0gImZ0cDovL2Z0cC5vcGVubGRhcC5vcmcvcHViL09wZW5MREFQL29wZW5sZGFwLXJlbGVhc2UvJHtCUH0udGd6IFwKLSAgICBmaWxlOi8vb3BlbmxkYXAtbTQtcHRocmVhZC5wYXRjaCBcCi0gICAgZmlsZTovL2tpbGwtaWN1LnBhdGNoIFwKLSAgICBmaWxlOi8vb3BlbmxkYXAtMi40LjI4LWdudXRscy1nY3J5cHQucGF0Y2ggXAotICAgIGZpbGU6Ly91c2UtdXJhbmRvbS5wYXRjaCBcCi0gICAgZmlsZTovL2luaXRzY3JpcHQgXAotICAgIGZpbGU6Ly9zbGFwZC5zZXJ2aWNlIFwKLSAgICBmaWxlOi8vdGhyZWFkX3N0dWIucGF0Y2ggXAotICAgIGZpbGU6Ly9vcGVubGRhcC1DVkUtMjAxNS0zMjc2LnBhdGNoIFwKLSAgICBmaWxlOi8vcmVtb3ZlLXVzZXItaG9zdC1wd2QtZnJvbS12ZXJzaW9uLnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjgyOTAxNmM1YTlmNDVjNTFhZGM1MDA3M2FjNmY5ZmQ3IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjlhOTBkY2I4NmI5OWFlNzkwY2NhYjkzYjc1ODVhMzFmYmNiZWVjOGM5NGJmMGY3YWIwY2EwYTg3ZWEwYzRiMmQiCi0KLURFUEVORFMgPSAidXRpbC1saW51eCBncm9mZi1uYXRpdmUiCi0KLSMgVGhlIG9yaWdpbmFsIHRvcC5tayB1c2VkIElOU1RBTEwsIG5vdCBJTlNUQUxMX1NUUklQX1BST0dSQU0gd2hlbgotIyBpbnN0YWxsaW5nIC5zbyBhbmQgZXhlY3V0YWJsZXMsIHRoaXMgZmFpbHMgaW4gY3Jvc3MgY29tcGlsYXRpb24KLSMgZW52aXJvbm1lbnRzCi1TUkNfVVJJICs9ICJmaWxlOi8vaW5zdGFsbC1zdHJpcC5wYXRjaCIKLQotaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHVwZGF0ZS1yYy5kIHN5c3RlbWQKLQotIyBDViBTRVRUSU5HUwotIyBSZXF1aXJlZCB0byB3b3JrIHJvdW5kIEFDX0ZVTkNfTUVNQ01QIHdoaWNoIGdldHMgdGhlIHdyb25nIGFuc3dlcgotIyB3aGVuIGNyb3NzIGNvbXBpbGluZyAoc2hvdWxkIGJlIGluIHNpdGU/KQotRVhUUkFfT0VDT05GICs9ICJhY19jdl9mdW5jX21lbWNtcF93b3JraW5nPXllcyIKLQotIyBDT05GSUcgREVGSU5JVElPTlMKLSMgVGhlIGZvbGxvd2luZyBpcyBuZWNlc3NhcnkgYmVjYXVzZSBpdCBjYW5ub3QgYmUgZGV0ZXJtaW5lZCBmb3IgYQotIyBjcm9zcyBjb21waWxlIGF1dG9tYWdpY2FsbHkuICBTZWxlY3Qgc2hvdWxkIHlpZWxkIGZpbmUgb24gYWxsIE9FCi0jIHN5c3RlbXMuLi4KLUVYVFJBX09FQ09ORiArPSAiLS13aXRoLXlpZWxkaW5nLXNlbGVjdD15ZXMiCi0jIFNoYXJlZCBsaWJyYXJpZXMgYXJlIG5pY2UuLi4KLUVYVFJBX09FQ09ORiArPSAiLS1lbmFibGUtZHluYW1pYyIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gImdudXRscyBtb2R1bGVzIFwKLSAgICAgICAgICAgICAgICAgICBtZGIgbGRhcCBtZXRhIG1vbml0b3IgbnVsbCBwYXNzd2Qgc2hlbGwgcHJveHljYWNoZSBkbnNzcnYgXAotICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0gXAotIgotIy0td2l0aC10bHMgICAgICAgICAgICAgIHdpdGggVExTL1NTTCBzdXBwb3J0IGF1dG98b3BlbnNzbHxnbnV0bHMgW2F1dG9dCi1QQUNLQUdFQ09ORklHW2dudXRsc10gPSAiLS13aXRoLXRscz1nbnV0bHMsLGdudXRscyBsaWJnY3J5cHQiCi1QQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC10bHM9b3BlbnNzbCwsb3BlbnNzbCIKLQotUEFDS0FHRUNPTkZJR1tzYXNsXSA9ICItLXdpdGgtY3lydXMtc2FzbCwtLXdpdGhvdXQtY3lydXMtc2FzbCxjeXJ1cy1zYXNsIgotUEFDS0FHRUNPTkZJR1ttb2R1bGVzXSA9ICJsdF9jdl9kbG9wZW5fc2VsZj15ZXMgLS1lbmFibGUtbW9kdWxlcywtLWRpc2FibGUtbW9kdWxlcyxsaWJ0b29sIgotUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2IgotCi0jIFNMQVBEIG9wdGlvbnMKLSMKLSMgVU5JWCBjcnlwdCgzKSBwYXNzd2Qgc3VwcG9ydDoKLUVYVFJBX09FQ09ORiArPSAiLS1lbmFibGUtY3J5cHQiCi0KLSMgU0xBUEQgQkFDS0VORAotIwotIyBUaGUgYmFja2VuZCBtdXN0IGJlIHNldCBieSB0aGUgY29uZmlndXJhdGlvbi4gIFRoaXMgY29udHJvbHMgdGhlCi0jIHJlcXVpcmVkIGRhdGFiYXNlLgotIwotIyBCYWNrZW5kcz0iYmRiIGRuc3NydiBoZGIgbGRhcCBtZGIgbWV0YSBtb25pdG9yIG5kYiBudWxsIHBhc3N3ZCBwZXJsIHJlbGF5IHNoZWxsIHNvY2sgc3FsIgotIwotIyBOb3RlIHRoYXQgbXVsdGlwbGUgYmFja2VuZHMgY2FuIGJlIGJ1aWx0LiAgVGhlIGxkYm0gYmFja2VuZCByZXF1aXJlcyBhCi0jIGJ1aWxkLXRpbWUgY2hvaWNlIG9mIGRhdGFiYXNlIEFQSS4gIFRoZSBiZGIgYmFja2VuZCBmb3JjZXMgdGhpcyB0byBiZQotIyBEQjQuICBUbyB1c2UgdGhlIGdkYm0gKG9yIG90aGVyKSBBUEkgdGhlIEJlcmtlbHkgZGF0YWJhc2UgbW9kdWxlIG11c3QKLSMgYmUgcmVtb3ZlZCBmcm9tIHRoZSBidWlsZC4KLW1kID0gIiR7bGliZXhlY2Rpcn0vb3BlbmxkYXAiCi0jCi0jLS1lbmFibGUtYmRiICAgICAgICAgIGVuYWJsZSBCZXJrZWxleSBEQiBiYWNrZW5kIG5vfHllc3xtb2QgeWVzCi0jIFRoZSBCZXJrZWx5IERCIGlzIHRoZSBzdGFuZGFyZCBjaG9pY2UuICBUaGlzIHZlcnNpb24gb2YgT3BlbkxEQVAgcmVxdWlyZXMKLSMgdGhlIHZlcnNpb24gNCBpbXBsZW1lbnRhdGlvbiBvciBiZXR0ZXIuCi1QQUNLQUdFQ09ORklHW2JkYl0gPSAiLS1lbmFibGUtYmRiPXllcywtLWVuYWJsZS1iZGI9bm8sZGIiCi0KLSMtLWVuYWJsZS1kbnNzcnYgICAgICAgZW5hYmxlIGRuc3NydiBiYWNrZW5kIG5vfHllc3xtb2Qgbm8KLVBBQ0tBR0VDT05GSUdbZG5zc3J2XSA9ICItLWVuYWJsZS1kbnNzcnY9bW9kLC0tZW5hYmxlLWRuc3Nydj1ubyIKLQotIy0tZW5hYmxlLWhkYiAgICAgICAgICBlbmFibGUgSGllcmFyY2hpY2FsIERCIGJhY2tlbmQgbm98eWVzfG1vZCBubwotUEFDS0FHRUNPTkZJR1toZGJdID0gIi0tZW5hYmxlLWhkYj15ZXMsLS1lbmFibGUtaGRiPW5vLGRiIgotCi0jLS1lbmFibGUtbGRhcCAgICAgICAgIGVuYWJsZSBsZGFwIGJhY2tlbmQgbm98eWVzfG1vZCBubwotUEFDS0FHRUNPTkZJR1tsZGFwXSA9ICItLWVuYWJsZS1sZGFwPW1vZCwtLWVuYWJsZS1sZGFwPW5vLCIKLQotIy0tZW5hYmxlLW1kYiAgICAgICAgICBlbmFibGUgbWRiIGRhdGFiYXNlIGJhY2tlbmQgbm98eWVzfG1vZCBbeWVzXQotUEFDS0FHRUNPTkZJR1ttZGJdID0gIi0tZW5hYmxlLW1kYj15ZXMsLS1lbmFibGUtbWRiPW5vLCIKLQotIy0tZW5hYmxlLW1ldGEgICAgICAgICBlbmFibGUgbWV0YWRpcmVjdG9yeSBiYWNrZW5kIG5vfHllc3xtb2Qgbm8KLVBBQ0tBR0VDT05GSUdbbWV0YV0gPSAiLS1lbmFibGUtbWV0YT1tb2QsLS1lbmFibGUtbWV0YT1ubywiCi0KLSMtLWVuYWJsZS1tb25pdG9yICAgICAgZW5hYmxlIG1vbml0b3IgYmFja2VuZCBub3x5ZXN8bW9kIHllcwotUEFDS0FHRUNPTkZJR1ttb25pdG9yXSA9ICItLWVuYWJsZS1tb25pdG9yPW1vZCwtLWVuYWJsZS1tb25pdG9yPW5vLCIKLQotIy0tZW5hYmxlLW5kYiAgICAgICAgICBlbmFibGUgTXlTUUwgTkRCIENsdXN0ZXIgYmFja2VuZCBub3x5ZXN8bW9kIFtub10KLVBBQ0tBR0VDT05GSUdbbmRiXSA9ICItLWVuYWJsZS1uZGI9bW9kLC0tZW5hYmxlLW5kYj1ubywiCi0KLSMtLWVuYWJsZS1udWxsICAgICAgICAgZW5hYmxlIG51bGwgYmFja2VuZCBub3x5ZXN8bW9kIG5vCi1QQUNLQUdFQ09ORklHW251bGxdID0gIi0tZW5hYmxlLW51bGw9bW9kLC0tZW5hYmxlLW51bGw9bm8sIgotCi0jLS1lbmFibGUtcGFzc3dkICAgICAgIGVuYWJsZSBwYXNzd2QgYmFja2VuZCBub3x5ZXN8bW9kIG5vCi1QQUNLQUdFQ09ORklHW3Bhc3N3ZF0gPSAiLS1lbmFibGUtcGFzc3dkPW1vZCwtLWVuYWJsZS1wYXNzd2Q9bm8sIgotCi0jLS1lbmFibGUtcGVybCAgICAgICAgIGVuYWJsZSBwZXJsIGJhY2tlbmQgbm98eWVzfG1vZCBubwotIyAgVGhpcyByZXF1aXJlcyBhIGxvYWRhYmxlIHBlcmwgZHluYW1pYyBsaWJyYXJ5LCBpZiBlbmFibGVkIHdpdGhvdXQKLSMgIGRvaW5nIHNvbWV0aGluZyBhcHByb3ByaWF0ZSAoYnVpbGRpbmcgcGVybD8pIHRoZSBidWlsZCB3aWxsIHBpY2sKLSMgIHVwIHRoZSBidWlsZCBtYWNoaW5lIHBlcmwgLSBub3QgZ29vZCAoaW5oZXJpdCBwZXJsbmF0aXZlPykKLVBBQ0tBR0VDT05GSUdbcGVybF0gPSAiLS1lbmFibGUtcGVybD1tb2QsLS1lbmFibGUtcGVybD1ubyxwZXJsIgotCi0jLS1lbmFibGUtcmVsYXkgICAgICAgIGVuYWJsZSByZWxheSBiYWNrZW5kIG5vfHllc3xtb2QgW3llc10KLVBBQ0tBR0VDT05GSUdbcmVsYXldID0gIi0tZW5hYmxlLXJlbGF5PW1vZCwtLWVuYWJsZS1yZWxheT1ubywiCi0KLSMtLWVuYWJsZS1zaGVsbCAgICAgICAgZW5hYmxlIHNoZWxsIGJhY2tlbmQgbm98eWVzfG1vZCBubwotIyBjb25maWd1cmU6IFdBUk5JTkc6IFVzZSBvZiAtLXdpdGhvdXQtdGhyZWFkcyBpcyByZWNvbW1lbmRlZCB3aXRoIGJhY2stc2hlbGwKLVBBQ0tBR0VDT05GSUdbc2hlbGxdID0gIi0tZW5hYmxlLXNoZWxsPW1vZCAtLXdpdGhvdXQtdGhyZWFkcywtLWVuYWJsZS1zaGVsbD1ubywiCi0KLSMtLWVuYWJsZS1zb2NrICAgICAgICAgZW5hYmxlIHNvY2sgYmFja2VuZCBub3x5ZXN8bW9kIFtub10KLVBBQ0tBR0VDT05GSUdbc29ja10gPSAiLS1lbmFibGUtc29jaz1tb2QsLS1lbmFibGUtc29jaz1ubywiCi0KLSMtLWVuYWJsZS1zcWwgICAgICAgICAgZW5hYmxlIHNxbCBiYWNrZW5kIG5vfHllc3xtb2Qgbm8KLSMgc3FsIHJlcXVpcmVzIHNvbWUgc3FsIGJhY2tlbmQgd2hpY2ggcHJvdmlkZXMgc3FsLmgsIHNxbGl0ZSogcHJvdmlkZXMKLSMgc3FsaXRlLmggKHdoaWNoIG1heSBiZSBjb21wYXRpYmxlIGJ1dCBoYXNuJ3QgYmVlbiB0cmllZC4pCi1QQUNLQUdFQ09ORklHW3NxbF0gPSAiLS1lbmFibGUtc3FsPW1vZCwtLWVuYWJsZS1zcWw9bm8sc3FsaXRlMyIKLQotIy0tZW5hYmxlLWR5bmdyb3VwICAgICBEeW5hbWljIEdyb3VwIG92ZXJsYXkgbm98eWVzfG1vZCBubwotIyAgVGhpcyBpcyBhIGRlbW8sIFByb3h5IENhY2hlIGRlZmluZXMgaW5pdF9tb2R1bGUgd2hpY2ggY29uZmxpY3RzIHdpdGggdGhlCi0jICBzYW1lIHN5bWJvbCBpbiBkeW5ncm91cAotUEFDS0FHRUNPTkZJR1tkeW5ncm91cF0gPSAiLS1lbmFibGUtZHluZ3JvdXA9bW9kLC0tZW5hYmxlLWR5bmdyb3VwPW5vLCIKLQotIy0tZW5hYmxlLXByb3h5Y2FjaGUgICBQcm94eSBDYWNoZSBvdmVybGF5IG5vfHllc3xtb2Qgbm8KLVBBQ0tBR0VDT05GSUdbcHJveHljYWNoZV0gPSAiLS1lbmFibGUtcHJveHljYWNoZT1tb2QsLS1lbmFibGUtcHJveHljYWNoZT1ubywiCi1GSUxFU18ke1BOfS1vdmVybGF5LXByb3h5Y2FjaGUgPSAiJHttZH0vcGNhY2hlLSouc28uKiIKLVBBQ0tBR0VTICs9ICIke1BOfS1vdmVybGF5LXByb3h5Y2FjaGUiCi0KLSMgQXBwZW5kIFVSQU5ET01fREVWSUNFPScvZGV2L3VyYW5kb20nIHRvIENQUEZMQUdTOgotIyBUaGlzIGFsbG93cyB0bHMgdG8gb2J0YWluIHJhbmRvbSBiaXRzIGZyb20gL2Rldi91cmFuZG9tLCBieSBkZWZhdWx0Ci0jIGl0IHdhcyBkaXNhYmxlZCBmb3IgY3Jvc3MtY29tcGlsaW5nLgotQ1BQRkxBR1NfYXBwZW5kID0gIiAtRF9HTlVfU09VUkNFIC1EVVJBTkRPTV9ERVZJQ0U9XCcvZGV2L3VyYW5kb21cJyAtZlBJQyIKLQotTERGTEFHU19hcHBlbmQgPSAiIC1wdGhyZWFkIgotCi1kb19jb25maWd1cmUoKSB7Ci0gICAgY3AgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9saWJ0b29sL2J1aWxkLWF1eC9sdG1haW4uc2ggJHtTfS9idWlsZAotICAgIHJtIC1mICR7U30vbGlidG9vbAotICAgIGFjbG9jYWwKLSAgICBsaWJ0b29saXplIC0tZm9yY2UgLS1jb3B5Ci0gICAgZ251LWNvbmZpZ2l6ZQotICAgIGF1dG9jb25mCi0gICAgb2VfcnVuY29uZgotfQotCi1MRUFEX1NPTkFNRSA9ICJsaWJsZGFwLSR7TERBUF9WRVJ9LnNvLioiCi0KLSMgVGhlIGV4ZWN1dGFibGVzIGdvIGluIGEgc2VwYXJhdGUgcGFja2FnZS4gIFRoaXMgYWxsb3dzIHRoZQotIyBpbnN0YWxsYXRpb24gb2YgdGhlIGxpYnJhcmllcyB3aXRoIG5vIGRhZW1vbiBzdXBwb3J0LgotIyBFYWNoIG1vZHVsZSBhbHNvIGhhcyBpdHMgb3duIHBhY2thZ2UgLSBzZWUgYWJvdmUuCi1QQUNLQUdFUyArPSAiJHtQTn0tc2xhcGQgJHtQTn0tc2x1cnBkICR7UE59LWJpbiIKLQotIyBQYWNrYWdlIGNvbnRlbnRzIC0gc2hpZnQgbW9zdCBzdGFuZGFyZCBjb250ZW50cyB0byAtYmluCi1GSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vbGliKi5zby4qICR7c3lzY29uZmRpcn0vb3BlbmxkYXAvbGRhcC4qICR7bG9jYWxzdGF0ZWRpcn0vJHtCUE59L2RhdGEiCi1GSUxFU18ke1BOfS1zbGFwZCA9ICIke3N5c2NvbmZkaXJ9L2luaXQuZCAke2xpYmV4ZWNkaXJ9L3NsYXBkICR7c2JpbmRpcn0gJHtsb2NhbHN0YXRlZGlyfS9ydW4gJHtsb2NhbHN0YXRlZGlyfS92b2xhdGlsZS9ydW4gXAotICAgICR7c3lzY29uZmRpcn0vb3BlbmxkYXAvc2xhcGQuKiAke3N5c2NvbmZkaXJ9L29wZW5sZGFwL3NjaGVtYSBcCi0gICAgJHtzeXNjb25mZGlyfS9vcGVubGRhcC9EQl9DT05GSUcuZXhhbXBsZSAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLyoiCi1GSUxFU18ke1BOfS1zbHVycGQgPSAiJHtsaWJleGVjZGlyfS9zbHVycGQgJHtsb2NhbHN0YXRlZGlyfS9vcGVubGRhcC1zbHVycCAke2xvY2Fsc3RhdGVkaXJ9L3J1biAke2xvY2Fsc3RhdGVkaXJ9L3ZvbGF0aWxlL3J1biIKLUZJTEVTXyR7UE59LWJpbiA9ICIke2JpbmRpcn0iCi1GSUxFU18ke1BOfS1kZXYgPSAiJHtpbmNsdWRlZGlyfSAke2xpYmRpcn0vbGliKi5zbyAke2xpYmRpcn0vKi5sYSAke2xpYmRpcn0vKi5hICR7bGliZXhlY2Rpcn0vb3BlbmxkYXAvKi5hICR7bGliZXhlY2Rpcn0vb3BlbmxkYXAvKi5sYSAke2xpYmV4ZWNkaXJ9L29wZW5sZGFwLyouc28iCi1GSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZXhlY2Rpcn0vb3BlbmxkYXAvLmRlYnVnIgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAotICAgIGNhdCAke1dPUktESVJ9L2luaXRzY3JpcHQgPiAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvb3BlbmxkYXAKLSAgICBjaG1vZCA3NTUgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL29wZW5sZGFwCi0gICAgIyBUaGlzIGlzIGR1cGxpY2F0ZWQgaW4gL2V0Yy9vcGVubGRhcCBhbmQgaXMgZm9yIHNsYXBkCi0gICAgcm0gLWYgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vb3BlbmxkYXAtZGF0YS9EQl9DT05GSUcuZXhhbXBsZQotCi0gICAgIyBJbnN0YWxsaW5nIHNsYXBkIHVuZGVyICR7c2Jpbn0gaXMgbW9yZSBGSFMgYW5kIExTQiBjb21wbGlhbmNlCi0gICAgbXYgJHtEfSR7bGliZXhlY2Rpcn0vc2xhcGQgJHtEfS8ke3NiaW5kaXJ9L3NsYXBkCi0gICAgcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgJHtEfSR7bGliZXhlY2Rpcn0KLSAgICBTTEFQVE9PTFM9InNsYXBhZGQgc2xhcGNhdCBzbGFwZG4gc2xhcGluZGV4IHNsYXBwYXNzd2Qgc2xhcHRlc3Qgc2xhcGF1dGggc2xhcGFjbCBzbGFwc2NoZW1hIgotICAgIGNkICR7RH0vJHtzYmluZGlyfS8KLSAgICBybSAtZiAke1NMQVBUT09MU30KLSAgICBmb3IgaSBpbiAke1NMQVBUT09MU307IGRvIGxuIC1zZiBzbGFwZCAkaTsgZG9uZQotCi0gICAgcm1kaXIgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1biIKLSAgICBybWRpciAtLWlnbm9yZS1mYWlsLW9uLW5vbi1lbXB0eSAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0iCi0KLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLwotICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3NsYXBkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCi0gICAgc2VkIC1pIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLyouc2VydmljZQotCi0gICAgIyBVc2VzIG1kbSBhcyB0aGUgZGF0YWJhc2UKLSAgICAjICBhbmQgbG9jYWxzdGF0ZWRpciBhcyBkYXRhIGRpcmVjdG9yeSAuLi4KLSAgICBzZWQgLWUgJ3MvIyBtb2R1bGVwYXRoL21vZHVsZXBhdGgvJyBcCi0gICAgICAgIC1lICdzLyMgbW9kdWxlbG9hZFxzKmJhY2tfYmRiLiovbW9kdWxlbG9hZCAgICBiYWNrX21kYi8nIFwKLSAgICAgICAgLWUgJ3MvZGF0YWJhc2VccypiZGIvZGF0YWJhc2UgICAgICAgIG1kYi8nIFwKLSAgICAgICAgLWUgJ3MlXmRpcmVjdG9yeVxzKi4qJWRpcmVjdG9yeSAgICR7bG9jYWxzdGF0ZWRpcn0vJHtCUE59L2RhdGEvJScgXAotICAgICAgICAtaSAke0R9JHtzeXNjb25mZGlyfS9vcGVubGRhcC9zbGFwZC5jb25mCi0KLSAgICBta2RpciAtcCAke0R9JHtsb2NhbHN0YXRlZGlyfS8ke0JQTn0vZGF0YQotCi0KLX0KLQotSU5JVFNDUklQVF9QQUNLQUdFUyA9ICIke1BOfS1zbGFwZCIKLUlOSVRTQ1JJUFRfTkFNRV8ke1BOfS1zbGFwZCA9ICJvcGVubGRhcCIKLUlOSVRTQ1JJUFRfUEFSQU1TXyR7UE59LXNsYXBkID0gImRlZmF1bHRzIgotU1lTVEVNRF9TRVJWSUNFXyR7UE59LXNsYXBkID0gImhvc3RhcGQuc2VydmljZSIKLVNZU1RFTURfQVVUT19FTkFCTEVfJHtQTn0tc2xhcGQgPz0gImRpc2FibGUiCi0KLQotUEFDS0FHRVNfRFlOQU1JQyArPSAiXiR7UE59LWJhY2tlbmRzLiogXiR7UE59LWJhY2tlbmQtLioiCi0KLSMgVGhlIG1vZHVsZXMgcmVxdWlyZSB0aGVpciAuc28gdG8gYmUgZHluYW1pY2FseSBsb2FkZWQKLUlOU0FORV9TS0lQXyR7UE59LWJhY2tlbmQtZG5zc3J2ICArPSAiZGV2LXNvIgotSU5TQU5FX1NLSVBfJHtQTn0tYmFja2VuZC1sZGFwICAgICs9ICJkZXYtc28iCi1JTlNBTkVfU0tJUF8ke1BOfS1iYWNrZW5kLW1ldGEgICAgKz0gImRldi1zbyIKLUlOU0FORV9TS0lQXyR7UE59LWJhY2tlbmQtbWRiICAgICArPSAiZGV2LXNvIgotSU5TQU5FX1NLSVBfJHtQTn0tYmFja2VuZC1tb25pdG9yICs9ICJkZXYtc28iCi1JTlNBTkVfU0tJUF8ke1BOfS1iYWNrZW5kLW51bGwgICAgKz0gImRldi1zbyIKLUlOU0FORV9TS0lQXyR7UE59LWJhY2tlbmQtcGFzc3dkICArPSAiZGV2LXNvIgotSU5TQU5FX1NLSVBfJHtQTn0tYmFja2VuZC1zaGVsbCAgICs9ICJkZXYtc28iCi0KLQotcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQgKCkgewotICAgIGJhY2tlbmRfZGlyICAgID0gZC5leHBhbmQoJyR7bGliZXhlY2Rpcn0vb3BlbmxkYXAnKQotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGJhY2tlbmRfZGlyLCAnYmFja18oW2Etel0qKVwuc28kJywgJ29wZW5sZGFwLWJhY2tlbmQtJXMnLCAnT3BlbkxEQVAgJXMgYmFja2VuZCcsIHByZXBlbmQ9VHJ1ZSwgZXh0cmFfZGVwZW5kcz0nJywgYWxsb3dfbGlua3M9VHJ1ZSkKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBiYWNrZW5kX2RpciwgJ2JhY2tfKFthLXpdKilcLS4qXC5zb1wuLiokJywgJ29wZW5sZGFwLWJhY2tlbmQtJXMnLCAnT3BlbkxEQVAgJXMgYmFja2VuZCcsIGV4dHJhX2RlcGVuZHM9JycsIGFsbG93X2xpbmtzPVRydWUpCi0KLSAgICBtZXRhcGtnID0gIiR7UE59LWJhY2tlbmRzIgotICAgIGQuc2V0VmFyKCdBTExPV19FTVBUWV8nICsgbWV0YXBrZywgIjEiKQotICAgIGQuc2V0VmFyKCdGSUxFU18nICsgbWV0YXBrZywgIiIpCi0gICAgbWV0YXBrZ19yZGVwZW5kcyA9IFtdCi0gICAgcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMnKS5zcGxpdCgpCi0gICAgZm9yIHBrZyBpbiBwYWNrYWdlc1sxOl06Ci0gICAgICAgIGlmIHBrZy5jb3VudCgib3BlbmxkYXAtYmFja2VuZC0iKSBhbmQgbm90IHBrZyBpbiBtZXRhcGtnX3JkZXBlbmRzIGFuZCBub3QgcGtnLmNvdW50KCItZGV2IikgYW5kIG5vdCBwa2cuY291bnQoIi1kYmciKSBhbmQgbm90IHBrZy5jb3VudCgic3RhdGljIikgYW5kIG5vdCBwa2cuY291bnQoImxvY2FsZSIpOgotICAgICAgICAgICAgbWV0YXBrZ19yZGVwZW5kcy5hcHBlbmQocGtnKQotICAgIGQuc2V0VmFyKCdSREVQRU5EU18nICsgbWV0YXBrZywgJyAnLmpvaW4obWV0YXBrZ19yZGVwZW5kcykpCi0gICAgZC5zZXRWYXIoJ0RFU0NSSVBUSU9OXycgKyBtZXRhcGtnLCAnT3BlbkxEQVAgYmFja2VuZHMgbWV0YSBwYWNrYWdlJykKLSAgICBwYWNrYWdlcy5hcHBlbmQobWV0YXBrZykKLSAgICBkLnNldFZhcignUEFDS0FHRVMnLCAnICcuam9pbihwYWNrYWdlcykpCi19Ci0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXBfMi40LjQ3LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXBfMi40LjQ3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzNDVkN2QKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcF8yLjQuNDcuYmIKQEAgLTAsMCArMSwyNTUgQEAKK1NVTU1BUlkgPSAiT3BlbkxEQVAgRGlyZWN0b3J5IFNlcnZpY2UiCitERVNDUklQVElPTiA9ICJPcGVuTERBUCBTb2Z0d2FyZSBpcyBhbiBvcGVuIHNvdXJjZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgTGlnaHR3ZWlnaHQgRGlyZWN0b3J5IEFjY2VzcyBQcm90b2NvbC4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lk9wZW5MREFQLm9yZy9saWNlbnNlLmh0bWwiCisjIFRoZSBPcGVuTERBUCBQdWJsaWMgTGljZW5zZSAtIHNlZSB0aGUgSE9NRVBBR0UgLSBkZWZpbmVzCisjIHRoZSBsaWNlbnNlLiAgd3d3Lm9wZW5sZGFwLm9yZyBjbGFpbXMgdGhpcyBpcyBPcGVuIFNvdXJjZQorIyAoc2VlIGh0dHA6Ly93d3cub3BlbmxkYXAub3JnKSwgdGhlIGxpY2Vuc2UgYXBwZWFycyB0byBiZQorIyBiYXNpY2FsbHkgQlNELiAgb3BlbnNvdXJjZS5vcmcgZG9lcyBub3QgcmVjb3JkIHRoaXMgbGljZW5zZQorIyBhdCBwcmVzZW50IChzbyBpdCBpcyBhcHBhcmVudGx5IG5vdCBPU0kgY2VydGlmaWVkKS4KK0xJQ0VOU0UgPSAiT3BlbkxEQVAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZUklHSFQ7bWQ1PTI1YjRlYWQwZTQ1MTgyZTdjMjkxNGU1OWZmNTcwMDlmIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0U7bWQ1PTE1M2QwN2VmMDUyYzRhMzdhOGZhYzIzYmM2MDMxOTcyIFwKKyAgICAgICAgICAgICAgICAgICAgIgorU0VDVElPTiA9ICJsaWJzIgorCitMREFQX1ZFUiA9ICIke0AnLicuam9pbihkLmdldFZhcignUFYnKS5zcGxpdCgnLicpWzA6Ml0pfSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3Lm9wZW5sZGFwLm9yZy9zb2Z0d2FyZS9kb3dubG9hZC9PcGVuTERBUC9vcGVubGRhcC1yZWxlYXNlLyR7QlB9LnRneiBcCisgICAgZmlsZTovL29wZW5sZGFwLW00LXB0aHJlYWQucGF0Y2ggXAorICAgIGZpbGU6Ly9raWxsLWljdS5wYXRjaCBcCisgICAgZmlsZTovL29wZW5sZGFwLTIuNC4yOC1nbnV0bHMtZ2NyeXB0LnBhdGNoIFwKKyAgICBmaWxlOi8vdXNlLXVyYW5kb20ucGF0Y2ggXAorICAgIGZpbGU6Ly9pbml0c2NyaXB0IFwKKyAgICBmaWxlOi8vc2xhcGQuc2VydmljZSBcCisgICAgZmlsZTovL3RocmVhZF9zdHViLnBhdGNoIFwKKyAgICBmaWxlOi8vb3BlbmxkYXAtQ1ZFLTIwMTUtMzI3Ni5wYXRjaCBcCisgICAgZmlsZTovL3JlbW92ZS11c2VyLWhvc3QtcHdkLWZyb20tdmVyc2lvbi5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlNTA4Zjk3YmZkNzc4ZmVjNzc5OWYyODZlNWMwNzE3NiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmNTRjNTg3Nzg2NTIzM2Q5YWRhNzdjNjBjMGY2OWIzZTBiZmQ4YjFiNTU4ODk1MDRjNjUwMDQ3Y2MzMDU1MjBiIgorCitERVBFTkRTID0gInV0aWwtbGludXggZ3JvZmYtbmF0aXZlIgorCisjIFRoZSBvcmlnaW5hbCB0b3AubWsgdXNlZCBJTlNUQUxMLCBub3QgSU5TVEFMTF9TVFJJUF9QUk9HUkFNIHdoZW4KKyMgaW5zdGFsbGluZyAuc28gYW5kIGV4ZWN1dGFibGVzLCB0aGlzIGZhaWxzIGluIGNyb3NzIGNvbXBpbGF0aW9uCisjIGVudmlyb25tZW50cworU1JDX1VSSSArPSAiZmlsZTovL2luc3RhbGwtc3RyaXAucGF0Y2giCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCB1cGRhdGUtcmMuZCBzeXN0ZW1kCisKKyMgQ1YgU0VUVElOR1MKKyMgUmVxdWlyZWQgdG8gd29yayByb3VuZCBBQ19GVU5DX01FTUNNUCB3aGljaCBnZXRzIHRoZSB3cm9uZyBhbnN3ZXIKKyMgd2hlbiBjcm9zcyBjb21waWxpbmcgKHNob3VsZCBiZSBpbiBzaXRlPykKK0VYVFJBX09FQ09ORiArPSAiYWNfY3ZfZnVuY19tZW1jbXBfd29ya2luZz15ZXMiCisKKyMgQ09ORklHIERFRklOSVRJT05TCisjIFRoZSBmb2xsb3dpbmcgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgaXQgY2Fubm90IGJlIGRldGVybWluZWQgZm9yIGEKKyMgY3Jvc3MgY29tcGlsZSBhdXRvbWFnaWNhbGx5LiAgU2VsZWN0IHNob3VsZCB5aWVsZCBmaW5lIG9uIGFsbCBPRQorIyBzeXN0ZW1zLi4uCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aC15aWVsZGluZy1zZWxlY3Q9eWVzIgorIyBTaGFyZWQgbGlicmFyaWVzIGFyZSBuaWNlLi4uCitFWFRSQV9PRUNPTkYgKz0gIi0tZW5hYmxlLWR5bmFtaWMiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJnbnV0bHMgbW9kdWxlcyBcCisgICAgICAgICAgICAgICAgICAgbWRiIGxkYXAgbWV0YSBtb25pdG9yIG51bGwgcGFzc3dkIHNoZWxsIHByb3h5Y2FjaGUgZG5zc3J2IFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgZCl9IFwKKyIKKyMtLXdpdGgtdGxzICAgICAgICAgICAgICB3aXRoIFRMUy9TU0wgc3VwcG9ydCBhdXRvfG9wZW5zc2x8Z251dGxzIFthdXRvXQorUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIi0td2l0aC10bHM9Z251dGxzLCxnbnV0bHMgbGliZ2NyeXB0IgorUEFDS0FHRUNPTkZJR1tvcGVuc3NsXSA9ICItLXdpdGgtdGxzPW9wZW5zc2wsLG9wZW5zc2wiCisKK1BBQ0tBR0VDT05GSUdbc2FzbF0gPSAiLS13aXRoLWN5cnVzLXNhc2wsLS13aXRob3V0LWN5cnVzLXNhc2wsY3lydXMtc2FzbCIKK1BBQ0tBR0VDT05GSUdbbW9kdWxlc10gPSAibHRfY3ZfZGxvcGVuX3NlbGY9eWVzIC0tZW5hYmxlLW1vZHVsZXMsLS1kaXNhYmxlLW1vZHVsZXMsbGlidG9vbCIKK1BBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiIKKworIyBTTEFQRCBvcHRpb25zCisjCisjIFVOSVggY3J5cHQoMykgcGFzc3dkIHN1cHBvcnQ6CitFWFRSQV9PRUNPTkYgKz0gIi0tZW5hYmxlLWNyeXB0IgorCisjIFNMQVBEIEJBQ0tFTkQKKyMKKyMgVGhlIGJhY2tlbmQgbXVzdCBiZSBzZXQgYnkgdGhlIGNvbmZpZ3VyYXRpb24uICBUaGlzIGNvbnRyb2xzIHRoZQorIyByZXF1aXJlZCBkYXRhYmFzZS4KKyMKKyMgQmFja2VuZHM9ImJkYiBkbnNzcnYgaGRiIGxkYXAgbWRiIG1ldGEgbW9uaXRvciBuZGIgbnVsbCBwYXNzd2QgcGVybCByZWxheSBzaGVsbCBzb2NrIHNxbCIKKyMKKyMgTm90ZSB0aGF0IG11bHRpcGxlIGJhY2tlbmRzIGNhbiBiZSBidWlsdC4gIFRoZSBsZGJtIGJhY2tlbmQgcmVxdWlyZXMgYQorIyBidWlsZC10aW1lIGNob2ljZSBvZiBkYXRhYmFzZSBBUEkuICBUaGUgYmRiIGJhY2tlbmQgZm9yY2VzIHRoaXMgdG8gYmUKKyMgREI0LiAgVG8gdXNlIHRoZSBnZGJtIChvciBvdGhlcikgQVBJIHRoZSBCZXJrZWx5IGRhdGFiYXNlIG1vZHVsZSBtdXN0CisjIGJlIHJlbW92ZWQgZnJvbSB0aGUgYnVpbGQuCittZCA9ICIke2xpYmV4ZWNkaXJ9L29wZW5sZGFwIgorIworIy0tZW5hYmxlLWJkYiAgICAgICAgICBlbmFibGUgQmVya2VsZXkgREIgYmFja2VuZCBub3x5ZXN8bW9kIHllcworIyBUaGUgQmVya2VseSBEQiBpcyB0aGUgc3RhbmRhcmQgY2hvaWNlLiAgVGhpcyB2ZXJzaW9uIG9mIE9wZW5MREFQIHJlcXVpcmVzCisjIHRoZSB2ZXJzaW9uIDQgaW1wbGVtZW50YXRpb24gb3IgYmV0dGVyLgorUEFDS0FHRUNPTkZJR1tiZGJdID0gIi0tZW5hYmxlLWJkYj15ZXMsLS1lbmFibGUtYmRiPW5vLGRiIgorCisjLS1lbmFibGUtZG5zc3J2ICAgICAgIGVuYWJsZSBkbnNzcnYgYmFja2VuZCBub3x5ZXN8bW9kIG5vCitQQUNLQUdFQ09ORklHW2Ruc3Nydl0gPSAiLS1lbmFibGUtZG5zc3J2PW1vZCwtLWVuYWJsZS1kbnNzcnY9bm8iCisKKyMtLWVuYWJsZS1oZGIgICAgICAgICAgZW5hYmxlIEhpZXJhcmNoaWNhbCBEQiBiYWNrZW5kIG5vfHllc3xtb2Qgbm8KK1BBQ0tBR0VDT05GSUdbaGRiXSA9ICItLWVuYWJsZS1oZGI9eWVzLC0tZW5hYmxlLWhkYj1ubyxkYiIKKworIy0tZW5hYmxlLWxkYXAgICAgICAgICBlbmFibGUgbGRhcCBiYWNrZW5kIG5vfHllc3xtb2Qgbm8KK1BBQ0tBR0VDT05GSUdbbGRhcF0gPSAiLS1lbmFibGUtbGRhcD1tb2QsLS1lbmFibGUtbGRhcD1ubywiCisKKyMtLWVuYWJsZS1tZGIgICAgICAgICAgZW5hYmxlIG1kYiBkYXRhYmFzZSBiYWNrZW5kIG5vfHllc3xtb2QgW3llc10KK1BBQ0tBR0VDT05GSUdbbWRiXSA9ICItLWVuYWJsZS1tZGI9eWVzLC0tZW5hYmxlLW1kYj1ubywiCisKKyMtLWVuYWJsZS1tZXRhICAgICAgICAgZW5hYmxlIG1ldGFkaXJlY3RvcnkgYmFja2VuZCBub3x5ZXN8bW9kIG5vCitQQUNLQUdFQ09ORklHW21ldGFdID0gIi0tZW5hYmxlLW1ldGE9bW9kLC0tZW5hYmxlLW1ldGE9bm8sIgorCisjLS1lbmFibGUtbW9uaXRvciAgICAgIGVuYWJsZSBtb25pdG9yIGJhY2tlbmQgbm98eWVzfG1vZCB5ZXMKK1BBQ0tBR0VDT05GSUdbbW9uaXRvcl0gPSAiLS1lbmFibGUtbW9uaXRvcj1tb2QsLS1lbmFibGUtbW9uaXRvcj1ubywiCisKKyMtLWVuYWJsZS1uZGIgICAgICAgICAgZW5hYmxlIE15U1FMIE5EQiBDbHVzdGVyIGJhY2tlbmQgbm98eWVzfG1vZCBbbm9dCitQQUNLQUdFQ09ORklHW25kYl0gPSAiLS1lbmFibGUtbmRiPW1vZCwtLWVuYWJsZS1uZGI9bm8sIgorCisjLS1lbmFibGUtbnVsbCAgICAgICAgIGVuYWJsZSBudWxsIGJhY2tlbmQgbm98eWVzfG1vZCBubworUEFDS0FHRUNPTkZJR1tudWxsXSA9ICItLWVuYWJsZS1udWxsPW1vZCwtLWVuYWJsZS1udWxsPW5vLCIKKworIy0tZW5hYmxlLXBhc3N3ZCAgICAgICBlbmFibGUgcGFzc3dkIGJhY2tlbmQgbm98eWVzfG1vZCBubworUEFDS0FHRUNPTkZJR1twYXNzd2RdID0gIi0tZW5hYmxlLXBhc3N3ZD1tb2QsLS1lbmFibGUtcGFzc3dkPW5vLCIKKworIy0tZW5hYmxlLXBlcmwgICAgICAgICBlbmFibGUgcGVybCBiYWNrZW5kIG5vfHllc3xtb2Qgbm8KKyMgIFRoaXMgcmVxdWlyZXMgYSBsb2FkYWJsZSBwZXJsIGR5bmFtaWMgbGlicmFyeSwgaWYgZW5hYmxlZCB3aXRob3V0CisjICBkb2luZyBzb21ldGhpbmcgYXBwcm9wcmlhdGUgKGJ1aWxkaW5nIHBlcmw/KSB0aGUgYnVpbGQgd2lsbCBwaWNrCisjICB1cCB0aGUgYnVpbGQgbWFjaGluZSBwZXJsIC0gbm90IGdvb2QgKGluaGVyaXQgcGVybG5hdGl2ZT8pCitQQUNLQUdFQ09ORklHW3BlcmxdID0gIi0tZW5hYmxlLXBlcmw9bW9kLC0tZW5hYmxlLXBlcmw9bm8scGVybCIKKworIy0tZW5hYmxlLXJlbGF5ICAgICAgICBlbmFibGUgcmVsYXkgYmFja2VuZCBub3x5ZXN8bW9kIFt5ZXNdCitQQUNLQUdFQ09ORklHW3JlbGF5XSA9ICItLWVuYWJsZS1yZWxheT1tb2QsLS1lbmFibGUtcmVsYXk9bm8sIgorCisjLS1lbmFibGUtc2hlbGwgICAgICAgIGVuYWJsZSBzaGVsbCBiYWNrZW5kIG5vfHllc3xtb2Qgbm8KKyMgY29uZmlndXJlOiBXQVJOSU5HOiBVc2Ugb2YgLS13aXRob3V0LXRocmVhZHMgaXMgcmVjb21tZW5kZWQgd2l0aCBiYWNrLXNoZWxsCitQQUNLQUdFQ09ORklHW3NoZWxsXSA9ICItLWVuYWJsZS1zaGVsbD1tb2QgLS13aXRob3V0LXRocmVhZHMsLS1lbmFibGUtc2hlbGw9bm8sIgorCisjLS1lbmFibGUtc29jayAgICAgICAgIGVuYWJsZSBzb2NrIGJhY2tlbmQgbm98eWVzfG1vZCBbbm9dCitQQUNLQUdFQ09ORklHW3NvY2tdID0gIi0tZW5hYmxlLXNvY2s9bW9kLC0tZW5hYmxlLXNvY2s9bm8sIgorCisjLS1lbmFibGUtc3FsICAgICAgICAgIGVuYWJsZSBzcWwgYmFja2VuZCBub3x5ZXN8bW9kIG5vCisjIHNxbCByZXF1aXJlcyBzb21lIHNxbCBiYWNrZW5kIHdoaWNoIHByb3ZpZGVzIHNxbC5oLCBzcWxpdGUqIHByb3ZpZGVzCisjIHNxbGl0ZS5oICh3aGljaCBtYXkgYmUgY29tcGF0aWJsZSBidXQgaGFzbid0IGJlZW4gdHJpZWQuKQorUEFDS0FHRUNPTkZJR1tzcWxdID0gIi0tZW5hYmxlLXNxbD1tb2QsLS1lbmFibGUtc3FsPW5vLHNxbGl0ZTMiCisKKyMtLWVuYWJsZS1keW5ncm91cCAgICAgRHluYW1pYyBHcm91cCBvdmVybGF5IG5vfHllc3xtb2Qgbm8KKyMgIFRoaXMgaXMgYSBkZW1vLCBQcm94eSBDYWNoZSBkZWZpbmVzIGluaXRfbW9kdWxlIHdoaWNoIGNvbmZsaWN0cyB3aXRoIHRoZQorIyAgc2FtZSBzeW1ib2wgaW4gZHluZ3JvdXAKK1BBQ0tBR0VDT05GSUdbZHluZ3JvdXBdID0gIi0tZW5hYmxlLWR5bmdyb3VwPW1vZCwtLWVuYWJsZS1keW5ncm91cD1ubywiCisKKyMtLWVuYWJsZS1wcm94eWNhY2hlICAgUHJveHkgQ2FjaGUgb3ZlcmxheSBub3x5ZXN8bW9kIG5vCitQQUNLQUdFQ09ORklHW3Byb3h5Y2FjaGVdID0gIi0tZW5hYmxlLXByb3h5Y2FjaGU9bW9kLC0tZW5hYmxlLXByb3h5Y2FjaGU9bm8sIgorRklMRVNfJHtQTn0tb3ZlcmxheS1wcm94eWNhY2hlID0gIiR7bWR9L3BjYWNoZS0qLnNvLioiCitQQUNLQUdFUyArPSAiJHtQTn0tb3ZlcmxheS1wcm94eWNhY2hlIgorCisjIEFwcGVuZCBVUkFORE9NX0RFVklDRT0nL2Rldi91cmFuZG9tJyB0byBDUFBGTEFHUzoKKyMgVGhpcyBhbGxvd3MgdGxzIHRvIG9idGFpbiByYW5kb20gYml0cyBmcm9tIC9kZXYvdXJhbmRvbSwgYnkgZGVmYXVsdAorIyBpdCB3YXMgZGlzYWJsZWQgZm9yIGNyb3NzLWNvbXBpbGluZy4KK0NQUEZMQUdTX2FwcGVuZCA9ICIgLURfR05VX1NPVVJDRSAtRFVSQU5ET01fREVWSUNFPVwnL2Rldi91cmFuZG9tXCcgLWZQSUMiCisKK0xERkxBR1NfYXBwZW5kID0gIiAtcHRocmVhZCIKKworZG9fY29uZmlndXJlKCkgeworICAgIGNwICR7U1RBR0lOR19EQVRBRElSX05BVElWRX0vbGlidG9vbC9idWlsZC1hdXgvbHRtYWluLnNoICR7U30vYnVpbGQKKyAgICBybSAtZiAke1N9L2xpYnRvb2wKKyAgICBhY2xvY2FsCisgICAgbGlidG9vbGl6ZSAtLWZvcmNlIC0tY29weQorICAgIGdudS1jb25maWdpemUKKyAgICBhdXRvY29uZgorICAgIG9lX3J1bmNvbmYKK30KKworTEVBRF9TT05BTUUgPSAibGlibGRhcC0ke0xEQVBfVkVSfS5zby4qIgorCisjIFRoZSBleGVjdXRhYmxlcyBnbyBpbiBhIHNlcGFyYXRlIHBhY2thZ2UuICBUaGlzIGFsbG93cyB0aGUKKyMgaW5zdGFsbGF0aW9uIG9mIHRoZSBsaWJyYXJpZXMgd2l0aCBubyBkYWVtb24gc3VwcG9ydC4KKyMgRWFjaCBtb2R1bGUgYWxzbyBoYXMgaXRzIG93biBwYWNrYWdlIC0gc2VlIGFib3ZlLgorUEFDS0FHRVMgKz0gIiR7UE59LXNsYXBkICR7UE59LXNsdXJwZCAke1BOfS1iaW4iCisKKyMgUGFja2FnZSBjb250ZW50cyAtIHNoaWZ0IG1vc3Qgc3RhbmRhcmQgY29udGVudHMgdG8gLWJpbgorRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYiouc28uKiAke3N5c2NvbmZkaXJ9L29wZW5sZGFwL2xkYXAuKiAke2xvY2Fsc3RhdGVkaXJ9LyR7QlBOfS9kYXRhIgorRklMRVNfJHtQTn0tc2xhcGQgPSAiJHtzeXNjb25mZGlyfS9pbml0LmQgJHtsaWJleGVjZGlyfS9zbGFwZCAke3NiaW5kaXJ9ICR7bG9jYWxzdGF0ZWRpcn0vcnVuICR7bG9jYWxzdGF0ZWRpcn0vdm9sYXRpbGUvcnVuIFwKKyAgICAke3N5c2NvbmZkaXJ9L29wZW5sZGFwL3NsYXBkLiogJHtzeXNjb25mZGlyfS9vcGVubGRhcC9zY2hlbWEgXAorICAgICR7c3lzY29uZmRpcn0vb3BlbmxkYXAvREJfQ09ORklHLmV4YW1wbGUgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8qIgorRklMRVNfJHtQTn0tc2x1cnBkID0gIiR7bGliZXhlY2Rpcn0vc2x1cnBkICR7bG9jYWxzdGF0ZWRpcn0vb3BlbmxkYXAtc2x1cnAgJHtsb2NhbHN0YXRlZGlyfS9ydW4gJHtsb2NhbHN0YXRlZGlyfS92b2xhdGlsZS9ydW4iCitGSUxFU18ke1BOfS1iaW4gPSAiJHtiaW5kaXJ9IgorRklMRVNfJHtQTn0tZGV2ID0gIiR7aW5jbHVkZWRpcn0gJHtsaWJkaXJ9L2xpYiouc28gJHtsaWJkaXJ9LyoubGEgJHtsaWJkaXJ9LyouYSAke2xpYmV4ZWNkaXJ9L29wZW5sZGFwLyouYSAke2xpYmV4ZWNkaXJ9L29wZW5sZGFwLyoubGEgJHtsaWJleGVjZGlyfS9vcGVubGRhcC8qLnNvIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmV4ZWNkaXJ9L29wZW5sZGFwLy5kZWJ1ZyIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBjYXQgJHtXT1JLRElSfS9pbml0c2NyaXB0ID4gJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL29wZW5sZGFwCisgICAgY2htb2QgNzU1ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9vcGVubGRhcAorICAgICMgVGhpcyBpcyBkdXBsaWNhdGVkIGluIC9ldGMvb3BlbmxkYXAgYW5kIGlzIGZvciBzbGFwZAorICAgIHJtIC1mICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L29wZW5sZGFwLWRhdGEvREJfQ09ORklHLmV4YW1wbGUKKworICAgICMgSW5zdGFsbGluZyBzbGFwZCB1bmRlciAke3NiaW59IGlzIG1vcmUgRkhTIGFuZCBMU0IgY29tcGxpYW5jZQorICAgIG12ICR7RH0ke2xpYmV4ZWNkaXJ9L3NsYXBkICR7RH0vJHtzYmluZGlyfS9zbGFwZAorICAgIHJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICR7RH0ke2xpYmV4ZWNkaXJ9CisgICAgU0xBUFRPT0xTPSJzbGFwYWRkIHNsYXBjYXQgc2xhcGRuIHNsYXBpbmRleCBzbGFwcGFzc3dkIHNsYXB0ZXN0IHNsYXBhdXRoIHNsYXBhY2wgc2xhcHNjaGVtYSIKKyAgICBjZCAke0R9LyR7c2JpbmRpcn0vCisgICAgcm0gLWYgJHtTTEFQVE9PTFN9CisgICAgZm9yIGkgaW4gJHtTTEFQVE9PTFN9OyBkbyBsbiAtc2Ygc2xhcGQgJGk7IGRvbmUKKworICAgIHJtZGlyICIke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4iCisgICAgcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9IgorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9zbGFwZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLworICAgIHNlZCAtaSAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8qLnNlcnZpY2UKKworICAgICMgVXNlcyBtZG0gYXMgdGhlIGRhdGFiYXNlCisgICAgIyAgYW5kIGxvY2Fsc3RhdGVkaXIgYXMgZGF0YSBkaXJlY3RvcnkgLi4uCisgICAgc2VkIC1lICdzLyMgbW9kdWxlcGF0aC9tb2R1bGVwYXRoLycgXAorICAgICAgICAtZSAncy8jIG1vZHVsZWxvYWRccypiYWNrX2JkYi4qL21vZHVsZWxvYWQgICAgYmFja19tZGIvJyBcCisgICAgICAgIC1lICdzL2RhdGFiYXNlXHMqYmRiL2RhdGFiYXNlICAgICAgICBtZGIvJyBcCisgICAgICAgIC1lICdzJV5kaXJlY3RvcnlccyouKiVkaXJlY3RvcnkgICAke2xvY2Fsc3RhdGVkaXJ9LyR7QlBOfS9kYXRhLyUnIFwKKyAgICAgICAgLWkgJHtEfSR7c3lzY29uZmRpcn0vb3BlbmxkYXAvc2xhcGQuY29uZgorCisgICAgbWtkaXIgLXAgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vJHtCUE59L2RhdGEKKworCit9CisKK0lOSVRTQ1JJUFRfUEFDS0FHRVMgPSAiJHtQTn0tc2xhcGQiCitJTklUU0NSSVBUX05BTUVfJHtQTn0tc2xhcGQgPSAib3BlbmxkYXAiCitJTklUU0NSSVBUX1BBUkFNU18ke1BOfS1zbGFwZCA9ICJkZWZhdWx0cyIKK1NZU1RFTURfU0VSVklDRV8ke1BOfS1zbGFwZCA9ICJob3N0YXBkLnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFXyR7UE59LXNsYXBkID89ICJkaXNhYmxlIgorCisKK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl4ke1BOfS1iYWNrZW5kcy4qIF4ke1BOfS1iYWNrZW5kLS4qIgorCisjIFRoZSBtb2R1bGVzIHJlcXVpcmUgdGhlaXIgLnNvIHRvIGJlIGR5bmFtaWNhbHkgbG9hZGVkCitJTlNBTkVfU0tJUF8ke1BOfS1iYWNrZW5kLWRuc3NydiAgKz0gImRldi1zbyIKK0lOU0FORV9TS0lQXyR7UE59LWJhY2tlbmQtbGRhcCAgICArPSAiZGV2LXNvIgorSU5TQU5FX1NLSVBfJHtQTn0tYmFja2VuZC1tZXRhICAgICs9ICJkZXYtc28iCitJTlNBTkVfU0tJUF8ke1BOfS1iYWNrZW5kLW1kYiAgICAgKz0gImRldi1zbyIKK0lOU0FORV9TS0lQXyR7UE59LWJhY2tlbmQtbW9uaXRvciArPSAiZGV2LXNvIgorSU5TQU5FX1NLSVBfJHtQTn0tYmFja2VuZC1udWxsICAgICs9ICJkZXYtc28iCitJTlNBTkVfU0tJUF8ke1BOfS1iYWNrZW5kLXBhc3N3ZCAgKz0gImRldi1zbyIKK0lOU0FORV9TS0lQXyR7UE59LWJhY2tlbmQtc2hlbGwgICArPSAiZGV2LXNvIgorCisKK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kICgpIHsKKyAgICBiYWNrZW5kX2RpciAgICA9IGQuZXhwYW5kKCcke2xpYmV4ZWNkaXJ9L29wZW5sZGFwJykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBiYWNrZW5kX2RpciwgJ2JhY2tfKFthLXpdKilcLnNvJCcsICdvcGVubGRhcC1iYWNrZW5kLSVzJywgJ09wZW5MREFQICVzIGJhY2tlbmQnLCBwcmVwZW5kPVRydWUsIGV4dHJhX2RlcGVuZHM9JycsIGFsbG93X2xpbmtzPVRydWUpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgYmFja2VuZF9kaXIsICdiYWNrXyhbYS16XSopXC0uKlwuc29cLi4qJCcsICdvcGVubGRhcC1iYWNrZW5kLSVzJywgJ09wZW5MREFQICVzIGJhY2tlbmQnLCBleHRyYV9kZXBlbmRzPScnLCBhbGxvd19saW5rcz1UcnVlKQorCisgICAgbWV0YXBrZyA9ICIke1BOfS1iYWNrZW5kcyIKKyAgICBkLnNldFZhcignQUxMT1dfRU1QVFlfJyArIG1ldGFwa2csICIxIikKKyAgICBkLnNldFZhcignRklMRVNfJyArIG1ldGFwa2csICIiKQorICAgIG1ldGFwa2dfcmRlcGVuZHMgPSBbXQorICAgIHBhY2thZ2VzID0gZC5nZXRWYXIoJ1BBQ0tBR0VTJykuc3BsaXQoKQorICAgIGZvciBwa2cgaW4gcGFja2FnZXNbMTpdOgorICAgICAgICBpZiBwa2cuY291bnQoIm9wZW5sZGFwLWJhY2tlbmQtIikgYW5kIG5vdCBwa2cgaW4gbWV0YXBrZ19yZGVwZW5kcyBhbmQgbm90IHBrZy5jb3VudCgiLWRldiIpIGFuZCBub3QgcGtnLmNvdW50KCItZGJnIikgYW5kIG5vdCBwa2cuY291bnQoInN0YXRpYyIpIGFuZCBub3QgcGtnLmNvdW50KCJsb2NhbGUiKToKKyAgICAgICAgICAgIG1ldGFwa2dfcmRlcGVuZHMuYXBwZW5kKHBrZykKKyAgICBkLnNldFZhcignUkRFUEVORFNfJyArIG1ldGFwa2csICcgJy5qb2luKG1ldGFwa2dfcmRlcGVuZHMpKQorICAgIGQuc2V0VmFyKCdERVNDUklQVElPTl8nICsgbWV0YXBrZywgJ09wZW5MREFQIGJhY2tlbmRzIG1ldGEgcGFja2FnZScpCisgICAgcGFja2FnZXMuYXBwZW5kKG1ldGFwa2cpCisgICAgZC5zZXRWYXIoJ1BBQ0tBR0VTJywgJyAnLmpvaW4ocGFja2FnZXMpKQorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5zYy9vcGVuc2MvMDAwMS1GaXhlZC1nY2MtOC1jb21waWxhdGlvbi1lcnJvcnMtMTM1My5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5zYy9vcGVuc2MvMDAwMS1GaXhlZC1nY2MtOC1jb21waWxhdGlvbi1lcnJvcnMtMTM1My5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDhkODMyNy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuc2Mvb3BlbnNjLzAwMDEtRml4ZWQtZ2NjLTgtY29tcGlsYXRpb24tZXJyb3JzLTEzNTMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3MyArMCwwIEBACi1Gcm9tIDg3ODU3ZDVjYWU3ZGI5NGZkZDc3NjkwNDg4NjM5MmIxZTg2MDUzYmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGbG9yaWFuIEJlemRla2EgPDExMTk2OTMrZmJlemRla2FAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgotRGF0ZTogRnJpLCAxOCBNYXkgMjAxOCAxODo1NDo1NiArMDIwMAotU3ViamVjdDogW1BBVENIXSBGaXhlZCBnY2MgOCBjb21waWxhdGlvbiBlcnJvcnMgKCMxMzUzKQotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1UaGUgZm9sbG93aW5nIGVycm9ycyBvY2N1cmVkIGR1cmluZyBhIGNvbXBpbGF0aW9uIHVzaW5nIGdjYyA4OgotCi1JbiBmdW5jdGlvbiDCu2dpZHNfY3JlYXRlX2ZpbGUuY29uc3Rwcm9wwqssCi0gICAgaW5zZXJ0ZWQgYnkgwrtnaWRzX3NhdmVfY2VydGlmaWNhdGUuaXNyYS44wqsgYmVpY2FyZC1naWRzLmM6MTU0ODo3OgotY2FyZC1naWRzLmM6NDY1OjI6IEVycm9yOiDCu3N0cm5jcHnCqyBvdXRwdXQgbWF5IGJlIHRydW5jYXRlZCBjb3B5aW5nIDggYnl0ZXMgZnJvbSBhIHN0cmluZyBvZiBsZW5ndGggOCBbLVdlcnJvcj1zdHJpbmdvcC10cnVuY2F0aW9uXQotICBzdHJuY3B5KHJlY29yZC0+ZmlsZW5hbWUsIGZpbGVuYW1lLCA4KTsKLSAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQotcGtjczE1LW9iZXJ0aHVyLmM6IEluIGZ1bmN0aW9uIMK7c2NfcGtjczE1ZW11X29iZXJ0aHVyX2FkZF9wcnZrZXnCqzoKLXBrY3MxNS1vYmVydGh1ci5jOjc0MTo1OiBFcnJvcjogwrtzdHJuY3B5wqsgb3V0cHV0IG1heSBiZSB0cnVuY2F0ZWQgY29weWluZyAyNTQgYnl0ZXMgZnJvbSBhIHN0cmluZyBvZiBsZW5ndGggMjU0IFstV2Vycm9yPXN0cmluZ29wLXRydW5jYXRpb25dCi0gICAgIHN0cm5jcHkoa29iai5sYWJlbCwgb2Jqc1tpaV0tPmxhYmVsLCBzaXplb2Yoa29iai5sYWJlbCkgLSAxKTsKLSAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0aHViLmNvbS9PcGVuU0MvT3BlblNDL3B1bGwvMTM1M10KLVNpZ25lZC1vZmYtYnkgS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIHNyYy9saWJvcGVuc2MvY2FyZC1naWRzLmMgICAgICAgfCAzICsrLQotIHNyYy9saWJvcGVuc2MvcGtjczE1LW9iZXJ0aHVyLmMgfCAzICsrLQotIDIgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2xpYm9wZW5zYy9jYXJkLWdpZHMuYyBiL3NyYy9saWJvcGVuc2MvY2FyZC1naWRzLmMKLWluZGV4IGZjNWQyYTcuLmFjM2U1NzkgMTAwNjQ0Ci0tLS0gYS9zcmMvbGlib3BlbnNjL2NhcmQtZ2lkcy5jCi0rKysgYi9zcmMvbGlib3BlbnNjL2NhcmQtZ2lkcy5jCi1AQCAtMzMsNiArMzMsNyBAQCBTb21lIGZlYXR1cmVzIGFyZSB1bmRvY3VtZW50ZWQgbGlrZSB0aGUgZm9ybWF0IHVzZWQgdG8gc3RvcmUgY2VydGlmaWNhdGVzLiBUaGV5Ci0gCi0gI2luY2x1ZGUgPHN0ZGxpYi5oPgotICNpbmNsdWRlIDxzdHJpbmcuaD4KLSsjaW5jbHVkZSAiLi4vY29tbW9uL2NvbXBhdF9zdHJsY3B5LmgiCi0gCi0gI2lmZGVmIEVOQUJMRV9PUEVOU1NMCi0gLyogb3BlbnNzbCBvbmx5IG5lZWRlZCBmb3IgY2FyZCBhZG1pbmlzdHJhdGlvbiAqLwotQEAgLTQ2Miw3ICs0NjMsNyBAQCBzdGF0aWMgaW50IGdpZHNfY3JlYXRlX2ZpbGUoc2NfY2FyZF90ICpjYXJkLCBjaGFyKiBkaXJlY3RvcnksIGNoYXIqIGZpbGVuYW1lKSB7Ci0gCW1lbXNldChtYXN0ZXJmaWxlYnVmZmVyICsgb2Zmc2V0LCAwLCBzaXplb2YoZ2lkc19tZl9yZWNvcmRfdCkpOwotIAlyZWNvcmQgPSAoZ2lkc19tZl9yZWNvcmRfdCopIChtYXN0ZXJmaWxlYnVmZmVyICsgb2Zmc2V0KTsKLSAJc3RybmNweShyZWNvcmQtPmRpcmVjdG9yeSwgZGlyZWN0b3J5LCA4KTsKLS0Jc3RybmNweShyZWNvcmQtPmZpbGVuYW1lLCBmaWxlbmFtZSwgOCk7Ci0rCXN0cmxjcHkocmVjb3JkLT5maWxlbmFtZSwgZmlsZW5hbWUsIHNpemVvZihyZWNvcmQtPmZpbGVuYW1lKSk7Ci0gCXJlY29yZC0+ZmlsZUlkZW50aWZpZXIgPSBmaWxlSWRlbnRpZmllcjsKLSAJcmVjb3JkLT5kYXRhT2JqZWN0SWRlbnRpZmllciA9IGRhdGFPYmplY3RJZGVudGlmaWVyOwotIAotZGlmZiAtLWdpdCBhL3NyYy9saWJvcGVuc2MvcGtjczE1LW9iZXJ0aHVyLmMgYi9zcmMvbGlib3BlbnNjL3BrY3MxNS1vYmVydGh1ci5jCi1pbmRleCA0Zjg0MWVkLi4zNDE1YmU3IDEwMDY0NAotLS0tIGEvc3JjL2xpYm9wZW5zYy9wa2NzMTUtb2JlcnRodXIuYwotKysrIGIvc3JjL2xpYm9wZW5zYy9wa2NzMTUtb2JlcnRodXIuYwotQEAgLTI5LDYgKzI5LDcgQEAKLSAjaW5jbHVkZSA8c3RkbGliLmg+Ci0gI2luY2x1ZGUgPHN0cmluZy5oPgotICNpbmNsdWRlIDxzdGRpby5oPgotKyNpbmNsdWRlICIuLi9jb21tb24vY29tcGF0X3N0cmxjcHkuaCIKLSAKLSAjaW5jbHVkZSAicGtjczE1LmgiCi0gI2luY2x1ZGUgImxvZy5oIgotQEAgLTczOCw3ICs3MzksNyBAQCBzY19wa2NzMTVlbXVfb2JlcnRodXJfYWRkX3BydmtleShzdHJ1Y3Qgc2NfcGtjczE1X2NhcmQgKnAxNWNhcmQsCi0gCQkJdW5zaWduZWQgaW50IGlkID0gcGF0aC52YWx1ZVtwYXRoLmxlbiAtIDJdICogMHgxMDAgKyBwYXRoLnZhbHVlW3BhdGgubGVuIC0gMV07Ci0gCi0gCQkJaWYgKGlkID09IGNjb250LmlkX2NlcnQpICAgewotLQkJCQlzdHJuY3B5KGtvYmoubGFiZWwsIG9ianNbaWldLT5sYWJlbCwgc2l6ZW9mKGtvYmoubGFiZWwpIC0gMSk7Ci0rCQkJCXN0cmxjcHkoa29iai5sYWJlbCwgb2Jqc1tpaV0tPmxhYmVsLCBzaXplb2Yoa29iai5sYWJlbCkpOwotIAkJCQlicmVhazsKLSAJCQl9Ci0gCQl9Ci0tLSAKLTIuMTguMAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuc2Mvb3BlbnNjLzAwMDEtUmVtb3ZlLXJlZHVuZGFudC1sb2dnaW5nLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbnNjL29wZW5zYy8wMDAxLVJlbW92ZS1yZWR1bmRhbnQtbG9nZ2luZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOTFmMWEyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbnNjL29wZW5zYy8wMDAxLVJlbW92ZS1yZWR1bmRhbnQtbG9nZ2luZy5wYXRjaApAQCAtMCwwICsxLDM0IEBACitGcm9tIGMwMTJmNDY5NjViM2ZlMjRlMzEzNjc3OTZlNTJjMmQwYjE0Y2E1ZDkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogTW9uLCAxNyBEZWMgMjAxOCAxODo0NDoyMyAtMDgwMAorU3ViamVjdDogW1BBVENIXSBSZW1vdmUgcmVkdW5kYW50IGxvZ2dpbmcKKworU2FtZSBpbmZvcm1hdGlvbiBpcyBwcmludGVkIGEgZmV3IGxpbmUgYmVsb3cgaW4gc2FtZSBmdW5jdGlvbiwgdGhlIG9ubHkKK2RpZmZlcmVuY2UgaXMgdGhhdCB0aGVyZSBpdCB0YWtlcyBjYXJlIG9mIGNhc2Ugd2hlbiBsYWJlbCBpcyBOVUxMIHBvaW50ZXIKK3VubGlrZSB0aGlzIGxpbmUKKworc2Vjb25kbHksIGV2ZXJ5IGZ1bmN0aW9uIGNhbGwgdG8gY29zbV93cml0ZV90b2tlbmluZm8oKSBpbiB0aGlzIGZpbGUKK3Bhc3NlcyBsYWJlbD1OVUxMLCBhbmQgdGhlbiBpdCB0cmllcyB0byBwcmludCBhIG51bGwgcG9pbnRlcgorCitGaXhlcyBlcnJvcnMgbGlrZQorc3JjL2xpYm9wZW5zYy9sb2cuaDo0ODo0NzogZXJyb3I6ICclcycgZGlyZWN0aXZlIGFyZ3VtZW50IGlzIG51bGwKK1stV2Vycm9yPWZvcm1hdC1vdmVyZmxvdz1dCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vT3BlblNDL09wZW5TQy9wdWxsLzE1NTddCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgc3JjL3BrY3MxNWluaXQvcGtjczE1LW9iZXJ0aHVyLmMgfCAxIC0KKyAxIGZpbGUgY2hhbmdlZCwgMSBkZWxldGlvbigtKQorCitJbmRleDogZ2l0L3NyYy9wa2NzMTVpbml0L3BrY3MxNS1vYmVydGh1ci5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2l0Lm9yaWcvc3JjL3BrY3MxNWluaXQvcGtjczE1LW9iZXJ0aHVyLmMKKysrKyBnaXQvc3JjL3BrY3MxNWluaXQvcGtjczE1LW9iZXJ0aHVyLmMKK0BAIC03MCw3ICs3MCw2IEBAIGNvc21fd3JpdGVfdG9rZW5pbmZvIChzdHJ1Y3Qgc2NfcGtjczE1X2MKKyAJY3R4ID0gcDE1Y2FyZC0+Y2FyZC0+Y3R4OworIAorIAlTQ19GVU5DX0NBTExFRChjdHgsIFNDX0xPR19ERUJVR19WRVJCT1NFKTsKKy0Jc2NfZGVidWcoY3R4LCBTQ19MT0dfREVCVUdfTk9STUFMLCAiY29zbV93cml0ZV90b2tlbmluZm8oKSBsYWJlbCAnJXMnOyBmbGFncyAweCVYIiwgbGFiZWwsIGZsYWdzKTsKKyAJaWYgKHNjX3Byb2ZpbGVfZ2V0X2ZpbGUocHJvZmlsZSwgQ09TTV9USVRMRSItdG9rZW4taW5mbyIsICZmaWxlKSkgeworIAkJcnYgPSBTQ19FUlJPUl9JTkNPTlNJU1RFTlRfUFJPRklMRTsKKyAJCVNDX1RFU1RfR09UT19FUlIoY3R4LCBTQ19MT0dfREVCVUdfTk9STUFMLCBydiwgIkNhbm5vdCBmaW5kICJDT1NNX1RJVExFIi10b2tlbi1pbmZvIik7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuc2Mvb3BlbnNjXzAuMTguMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5zYy9vcGVuc2NfMC4xOC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NWM5MzFlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5zYy9vcGVuc2NfMC4xOC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotU1VNTUFSWSA9ICJTbWFydCBjYXJkIGxpYnJhcnkgYW5kIGFwcGxpY2F0aW9ucyIKLURFU0NSSVBUSU9OID0gIk9wZW5TQyBpcyBhIHRvb2wgZm9yIGFjY2Vzc2luZyBzbWFydCBjYXJkIGRldmljZXMuIEJhc2ljXAotZnVuY3Rpb25hbGl0eSAoZS5nLiBTRUxFQ1QgRklMRSwgUkVBRCBCSU5BUlkpIHNob3VsZCB3b3JrIG9uIGFueSBJU09cCi03ODE2LTQgY29tcGF0aWJsZSBzbWFydCBjYXJkLiBFbmNyeXB0aW9uIGFuZCBkZWNyeXB0aW9uIHVzaW5nIHByaXZhdGVcCi1rZXlzIG9uIHRoZSBzbWFydCBjYXJkIGlzIHBvc3NpYmxlIHdpdGggUEtDU1wKLXN1Y2ggYXMgdGhlIEZJTkVJRCAoRmlubmlzaCBFbGVjdHJvbmljIElEZW50aXR5KSBjYXJkLiBTd2VkaXNoIFBvc3RlblwKLWVJRCBjYXJkcyBoYXZlIGFsc28gYmVlbiBjb25maXJtZWQgdG8gd29yay4iCi0KLUhPTUVQQUdFID0gImh0dHA6Ly93d3cub3BlbnNjLXByb2plY3Qub3JnL29wZW5zYy8iCi1TRUNUSU9OID0gIlN5c3RlbSBFbnZpcm9ubWVudC9MaWJyYXJpZXMiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly9zbmFwc2hvdC5kZWJpYW4ub3JnL2FyY2hpdmUvZGViaWFuLzIwMTgwNTIxVDEwMTQyOFovcG9vbC9tYWluL28vb3BlbnNjL29wZW5zY18wLjE4LjAub3JpZy50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXhlZC1nY2MtOC1jb21waWxhdGlvbi1lcnJvcnMtMTM1My5wYXRjaCBcCi0gICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiYmNlNTE2Zjc1MmUwZGI1MzI3YWEwNmNjMDEzNmZlMjciCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmVmNjJiMDBlOGZkYmUzZTM4NmMzZWUyNWMyY2FkYjU2YzE5MzFlYTQyZjFhMTFkY2U4Yzk0N2Y1MWI0NTAzMyIKLQotREVQRU5EUyA9ICJvcGVuY3QgcGNzYy1saXRlIHZpcnR1YWwvbGliaWNvbnYgb3BlbnNzbCIKLQotTElDRU5TRSA9ICJMR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9N2ZiYzMzODMwOWFjMzhmZWZjZDY0YjA0YmI5MDNlMzQiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi1TID0gIiR7V09SS0RJUn0vT3BlblNDLSR7UFZ9IgotRVhUUkFfT0VDT05GID0gIiBcCi0gICAgLS1kaXNhYmxlLXN0YXRpYyBcCi0gICAgLS1lbmFibGUtb3BlbmN0IFwKLSAgICAtLWRpc2FibGUtcGNzYyBcCi0gICAgLS1kaXNhYmxlLWN0YXBpIFwKLSAgICAtLWRpc2FibGUtZG9jIFwKLSIKLUVYVFJBX09FTUFLRSA9ICJERVNURElSPSR7RH0iCi0KLVJERVBFTkRTXyR7UE59ID0gInJlYWRsaW5lIgotCi1GSUxFU18ke1BOfSArPSAiXAotICAgICR7bGliZGlyfS9vcGVuc2MtcGtjczExLnNvIFwKLSAgICAke2xpYmRpcn0vb25lcGluLW9wZW5zYy1wa2NzMTEuc28gXAotICAgICR7bGliZGlyfS9wa2NzMTEtc3B5LnNvIFwKLSIKLUZJTEVTXyR7UE59LWRldiArPSAiXAotICAgICR7bGliZGlyfS9wa2NzMTEvb3BlbnNjLXBrY3MxMS5zbyBcCi0gICAgJHtsaWJkaXJ9L3BrY3MxMS9vbmVwaW4tb3BlbnNjLXBrY3MxMS5zbyBcCi0gICAgJHtsaWJkaXJ9L3BrY3MxMS9wa2NzMTEtc3B5LnNvIFwKLSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5zYy9vcGVuc2NfMC4xOS4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbnNjL29wZW5zY18wLjE5LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmMxNzIyZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5zYy9vcGVuc2NfMC4xOS4wLmJiCkBAIC0wLDAgKzEsNDQgQEAKK1NVTU1BUlkgPSAiU21hcnQgY2FyZCBsaWJyYXJ5IGFuZCBhcHBsaWNhdGlvbnMiCitERVNDUklQVElPTiA9ICJPcGVuU0MgaXMgYSB0b29sIGZvciBhY2Nlc3Npbmcgc21hcnQgY2FyZCBkZXZpY2VzLiBCYXNpY1wKK2Z1bmN0aW9uYWxpdHkgKGUuZy4gU0VMRUNUIEZJTEUsIFJFQUQgQklOQVJZKSBzaG91bGQgd29yayBvbiBhbnkgSVNPXAorNzgxNi00IGNvbXBhdGlibGUgc21hcnQgY2FyZC4gRW5jcnlwdGlvbiBhbmQgZGVjcnlwdGlvbiB1c2luZyBwcml2YXRlXAora2V5cyBvbiB0aGUgc21hcnQgY2FyZCBpcyBwb3NzaWJsZSB3aXRoIFBLQ1NcCitzdWNoIGFzIHRoZSBGSU5FSUQgKEZpbm5pc2ggRWxlY3Ryb25pYyBJRGVudGl0eSkgY2FyZC4gU3dlZGlzaCBQb3N0ZW5cCitlSUQgY2FyZHMgaGF2ZSBhbHNvIGJlZW4gY29uZmlybWVkIHRvIHdvcmsuIgorCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm9wZW5zYy1wcm9qZWN0Lm9yZy9vcGVuc2MvIgorU0VDVElPTiA9ICJTeXN0ZW0gRW52aXJvbm1lbnQvTGlicmFyaWVzIgorTElDRU5TRSA9ICJMR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9N2ZiYzMzODMwOWFjMzhmZWZjZDY0YjA0YmI5MDNlMzQiCisKKyN2MC4xOS4wCitTUkNSRVYgPSAiZjE2OTFmYzkxZmMxMTMxOTFjM2E4YWFmNWZhY2Q2OTgzMzM0ZWM0NyIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9PcGVuU0MvT3BlblNDIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtUmVtb3ZlLXJlZHVuZGFudC1sb2dnaW5nLnBhdGNoIFwKKyAgICAgICAgICAiCitERVBFTkRTID0gIm9wZW5jdCBwY3NjLWxpdGUgdmlydHVhbC9saWJpY29udiBvcGVuc3NsIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgoraW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGJhc2gtY29tcGxldGlvbgorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLWRpc2FibGUtc3RhdGljIFwKKyAgICAtLWVuYWJsZS1vcGVuY3QgXAorICAgIC0tZGlzYWJsZS1wY3NjIFwKKyAgICAtLWRpc2FibGUtY3RhcGkgXAorICAgIC0tZGlzYWJsZS1kb2MgXAorIgorRVhUUkFfT0VNQUtFID0gIkRFU1RESVI9JHtEfSIKKworUkRFUEVORFNfJHtQTn0gPSAicmVhZGxpbmUiCisKK0ZJTEVTXyR7UE59ICs9ICJcCisgICAgJHtsaWJkaXJ9L29wZW5zYy1wa2NzMTEuc28gXAorICAgICR7bGliZGlyfS9vbmVwaW4tb3BlbnNjLXBrY3MxMS5zbyBcCisgICAgJHtsaWJkaXJ9L3BrY3MxMS1zcHkuc28gXAorIgorRklMRVNfJHtQTn0tZGV2ICs9ICJcCisgICAgJHtsaWJkaXJ9L3BrY3MxMS9vcGVuc2MtcGtjczExLnNvIFwKKyAgICAke2xpYmRpcn0vcGtjczExL29uZXBpbi1vcGVuc2MtcGtjczExLnNvIFwKKyAgICAke2xpYmRpcn0vcGtjczExL3BrY3MxMS1zcHkuc28gXAorIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9jby9wb2NvLzAwMDEtU3VwcG9ydC1vZi1hcmNoLXJpc2N2NjQtYnktTWFudWVsLUEuLUZlcm5hbmRlei1Nb250ZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvY28vcG9jby8wMDAxLVN1cHBvcnQtb2YtYXJjaC1yaXNjdjY0LWJ5LU1hbnVlbC1BLi1GZXJuYW5kZXotTW9udGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzJkODlkMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvY28vcG9jby8wMDAxLVN1cHBvcnQtb2YtYXJjaC1yaXNjdjY0LWJ5LU1hbnVlbC1BLi1GZXJuYW5kZXotTW9udGUucGF0Y2gKQEAgLTAsMCArMSw0MSBAQAorRnJvbSBlZDA0Yzk3YWJlMDE1YTIyNjI2OWRlMzkxZTM2YzRkMjUxMjkyNzI1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRnJhbmNpcyBBTkRSRSA8ZnJhbmNpcy5hbmRyZS5rYW1wYmVsbEBvcmFuZ2UuZnI+CitEYXRlOiBTdW4sIDYgTWF5IDIwMTggMTI6Mjg6MjUgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gU3VwcG9ydCBvZiBhcmNoIHJpc2N2NjQgYnkgTWFudWVsIEEuIEZlcm5hbmRleiBNb250ZWNlbG8KKyA8bWFmbUBkZWJpYW4ub3JnPgorCistLS0KKyBGb3VuZGF0aW9uL2luY2x1ZGUvUG9jby9QbGF0Zm9ybS5oIHwgNiArKysrKy0KKyBGb3VuZGF0aW9uL3NyYy91dGlscy5oICAgICAgICAgICAgIHwgMSArCisgMiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworLS0tIGEvRm91bmRhdGlvbi9pbmNsdWRlL1BvY28vUGxhdGZvcm0uaAorKysrIGIvRm91bmRhdGlvbi9pbmNsdWRlL1BvY28vUGxhdGZvcm0uaAorQEAgLTEzNCw2ICsxMzQsNyBAQAorICNkZWZpbmUgUE9DT19BUkNIX05JT1MyICAgMHgwZQorICNkZWZpbmUgUE9DT19BUkNIX0FBUkNINjQgMHgwZgorICNkZWZpbmUgUE9DT19BUkNIX0FSTTY0ICAgMHgwZiAvLyBzYW1lIGFzIFBPQ09fQVJDSF9BQVJDSDY0CisrI2RlZmluZSBQT0NPX0FSQ0hfUklTQ1Y2NCAweDEwCisgCisgCisgI2lmIGRlZmluZWQoX19BTFBIQSkgfHwgZGVmaW5lZChfX2FscGhhKSB8fCBkZWZpbmVkKF9fYWxwaGFfXykgfHwgZGVmaW5lZChfTV9BTFBIQSkKK0BAIC0yMjQsNiArMjI1LDkgQEAKKyAjZWxpZiBkZWZpbmVkKF9fQUFSQ0g2NEVCX18pCisgCSNkZWZpbmUgUE9DT19BUkNIIFBPQ09fQVJDSF9BQVJDSDY0CisgCSNkZWZpbmUgUE9DT19BUkNIX0JJR19FTkRJQU4gMQorKyNlbGlmIGRlZmluZWQoX19yaXNjdikgJiYgKF9fcmlzY3ZfeGxlbiA9PSA2NCkKKysJI2RlZmluZSBQT0NPX0FSQ0ggUE9DT19BUkNIX1JJU0NWNjQKKysJI2RlZmluZSBQT0NPX0FSQ0hfTElUVExFX0VORElBTiAxCisgI2VuZGlmCisgCisgCistLS0gYS9Gb3VuZGF0aW9uL3NyYy91dGlscy5oCisrKysgYi9Gb3VuZGF0aW9uL3NyYy91dGlscy5oCitAQCAtNjMsNiArNjMsNyBAQAorICAgICBkZWZpbmVkKF9fU0g0X18pIHx8IGRlZmluZWQoX19hbHBoYV9fKSB8fCBcCisgICAgIGRlZmluZWQoX01JUFNfQVJDSF9NSVBTMzJSMikgfHwgXAorICAgICBkZWZpbmVkKF9fQUFSQ0g2NEVMX18pIHx8IFwKKysgICAgZGVmaW5lZChfX3Jpc2N2KSB8fCBcCisgICAgIGRlZmluZWQobmlvczIpIHx8IGRlZmluZWQoX19uaW9zMikgfHwgZGVmaW5lZChfX25pb3MyX18pCisgI2RlZmluZSBET1VCTEVfQ09OVkVSU0lPTl9DT1JSRUNUX0RPVUJMRV9PUEVSQVRJT05TIDEKKyAjZWxpZiBkZWZpbmVkKF9NX0lYODYpIHx8IGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19pMzg2KQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9jby9wb2NvXzEuOS4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9jby9wb2NvXzEuOS4wLmJiCmluZGV4IDI1OGNjNDkuLjcwYjI1MTAgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvY28vcG9jb18xLjkuMC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb2NvL3BvY29fMS45LjAuYmIKQEAgLTExLDYgKzExLDcgQEAKIFNSQ19VUkkgPSAiIFwKICAgICBnaXQ6Ly9naXRodWIuY29tL3BvY29wcm9qZWN0L3BvY28uZ2l0O2JyYW5jaD1wb2NvLSR7UFZ9IFwKICAgICBmaWxlOi8vMDAwMS1Eb24tdC10cnktdG8taW5zdGFsbC1ub24tZXhpc3RpbmctRW5jb2RpbmdzLXRlc3RzdWl0LnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMS1TdXBwb3J0LW9mLWFyY2gtcmlzY3Y2NC1ieS1NYW51ZWwtQS4tRmVybmFuZGV6LU1vbnRlLnBhdGNoIFwKICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKICAgICIKIFNSQ1JFViA9ICJkYWYwMGRhNzNhYjkxN2U0ZDQ1ODFlM2FhMDBjMGVlNjFlMGNjNThiIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyLzAwMDEtZ2xpYi1DTWFrZUxpc3RzLnR4dC1BZGQtbGlicG9wcGxlci10by1saW5rLWFsb25nLXdpdC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvcHBsZXIvcG9wcGxlci8wMDAxLWdsaWItQ01ha2VMaXN0cy50eHQtQWRkLWxpYnBvcHBsZXItdG8tbGluay1hbG9uZy13aXQucGF0Y2gKaW5kZXggN2VkNzk1ZS4uYzM2NGQ3MyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyLzAwMDEtZ2xpYi1DTWFrZUxpc3RzLnR4dC1BZGQtbGlicG9wcGxlci10by1saW5rLWFsb25nLXdpdC5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3BwbGVyL3BvcHBsZXIvMDAwMS1nbGliLUNNYWtlTGlzdHMudHh0LUFkZC1saWJwb3BwbGVyLXRvLWxpbmstYWxvbmctd2l0LnBhdGNoCkBAIC0xNSwxNSArMTUsMTggQEAKICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL2dsaWIvQ01ha2VMaXN0cy50eHQgYi9nbGliL0NNYWtlTGlzdHMudHh0Ci1pbmRleCAzM2M2NjA4Li44N2UxYjQ0IDEwMDY0NAoraW5kZXggNmY5MTY2OS4uY2E1MDIxZiAxMDA2NDQKIC0tLSBhL2dsaWIvQ01ha2VMaXN0cy50eHQKICsrKyBiL2dsaWIvQ01ha2VMaXN0cy50eHQKLUBAIC0xMjcsNyArMTI3LDcgQEAgaWYgKEhBVkVfSU5UUk9TUEVDVElPTiBBTkQgQlVJTERfU0hBUkVEX0xJQlMpCitAQCAtMTM1LDcgKzEzNSw3IEBAIGlmIChIQVZFX0lOVFJPU1BFQ1RJT04gQU5EIEJVSUxEX1NIQVJFRF9MSUJTKQogICAgZ2V0X2RpcmVjdG9yeV9wcm9wZXJ0eShfdG1wX2luY2x1ZGVzIElOQ0xVREVfRElSRUNUT1JJRVMpCiAgICBfbGlzdF9wcmVmaXgoX2luY2x1ZGVzIF90bXBfaW5jbHVkZXMgIi1JIikKLSAgIHNldChQb3BwbGVyXzBfMThfZ2lyX0NGTEFHUyAke19pbmNsdWRlc30gLUwke0NNQUtFX0JJTkFSWV9ESVJ9KQorICAgc2V0KFBvcHBsZXJfMF8xOF9naXJfQ0ZMQUdTICR7X2luY2x1ZGVzfSAtTCR7Q01BS0VfQklOQVJZX0RJUn0gLUwke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0pCiAtICBzZXQoUG9wcGxlcl8wXzE4X2dpcl9MSUJTIHBvcHBsZXItZ2xpYikKICsgIHNldChQb3BwbGVyXzBfMThfZ2lyX0xJQlMgcG9wcGxlci1nbGliIHBvcHBsZXIpCiAgICBfbGlzdF9wcmVmaXgoX2Fic19pbnRyb3NwZWN0aW9uX2ZpbGVzIGludHJvc3BlY3Rpb25fZmlsZXMgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8iKQogICAgbGlzdChBUFBFTkQgX2Fic19pbnRyb3NwZWN0aW9uX2ZpbGVzCiAgICAgICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9wb3BwbGVyLWVudW1zLmMKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvcHBsZXIvcG9wcGxlci9iYXNlbmFtZS1pbmNsdWRlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyL2Jhc2VuYW1lLWluY2x1ZGUucGF0Y2gKaW5kZXggNTI4NTI4YS4uYWI2YmRiMCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyL2Jhc2VuYW1lLWluY2x1ZGUucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyL2Jhc2VuYW1lLWluY2x1ZGUucGF0Y2gKQEAgLTgsOCArOCw4IEBACiAtLS0gcG9wcGxlci0wLjY0LjAub3JpZy91dGlscy9wZGZzaWcuY2MKICsrKyBwb3BwbGVyLTAuNjQuMC91dGlscy9wZGZzaWcuY2MKIEBAIC0zNSw2ICszNSwxMCBAQAotICNpbmNsdWRlICJXaW4zMkNvbnNvbGUuaCIKICAjaW5jbHVkZSAibnVtYmVyb2ZjaGFyYWN0ZXJzLmgiCisgI2luY2x1ZGUgPGxpYmdlbi5oPgogIAogKyNpZiAhZGVmaW5lZChfX0dMSUJDX18pCiArI2RlZmluZSBiYXNlbmFtZShzcmMpIChzdHJyY2hyKHNyYywnLycpID8gc3RycmNocihzcmMsJy8nKSsxIDogc3JjKQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyXzAuNzAuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvcHBsZXIvcG9wcGxlcl8wLjcwLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI2MThmMjguLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyXzAuNzAuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLVNVTU1BUlkgPSAiUG9wcGxlciBpcyBhIFBERiByZW5kZXJpbmcgbGlicmFyeSBiYXNlZCBvbiB0aGUgeHBkZi0zLjAgY29kZSBiYXNlIgotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgotCi1TUkNfVVJJID0gImh0dHA6Ly9wb3BwbGVyLmZyZWVkZXNrdG9wLm9yZy8ke0JQfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3Qtb3ZlcndyaXRlLWFsbC1vdXItYnVpbGQtZmxhZ3MucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1DYWlyb091dHB1dERldi5jYy1maXgtYnVpbGQtZXJyb3Itd2hlbi11c2luZy1maXhlZHBvLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtZ2xpYi1DTWFrZUxpc3RzLnR4dC1BZGQtbGlicG9wcGxlci10by1saW5rLWFsb25nLXdpdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9iYXNlbmFtZS1pbmNsdWRlLnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gImZkYjA2OTllOWFhMjBlODFhY2QxYTUwNzAxMzc0YzhiIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY2OTcyMDQ3ZDllZjgxNjJjYzhjMzg5ZDdlNzY5ODI5MWRmYzlmMmIzZTRlYTlhOWYwOGFlNjA0MTA3NDUxYmQiCi0KLURFUEVORFMgPSAiZm9udGNvbmZpZyB6bGliIGNhaXJvIGxjbXMgZ2xpYi0yLjAiCi0KLWluaGVyaXQgY21ha2UgcGtnY29uZmlnIGdvYmplY3QtaW50cm9zcGVjdGlvbgotCi1QQUNLQUdFQ09ORklHID8/PSAianBlZyBvcGVuanBlZyBwbmcgdGlmZiBuc3MgJHtAYmIudXRpbHMuY29udGFpbnMoJ0JCRklMRV9DT0xMRUNUSU9OUycsICdxdDUtbGF5ZXInLCAncXQ1JywgJycsIGQpfSIKLVBBQ0tBR0VDT05GSUdbanBlZ10gPSAiLURXSVRIX0pQRUc9T04gLURFTkFCTEVfRENUREVDT0RFUj1saWJqcGVnLC1EV0lUSF9KUEVHPU9GRiAtREVOQUJMRV9EQ1RERUNPREVSPW5vbmUsanBlZyIKLVBBQ0tBR0VDT05GSUdbcG5nXSA9ICItRFdJVEhfUE5HPU9OLC1EV0lUSF9QTkc9T0ZGLGxpYnBuZyIKLVBBQ0tBR0VDT05GSUdbdGlmZl0gPSAiLURXSVRIX1RJRkY9T04sLURXSVRIX1RJRkY9T0ZGLHRpZmYiCi1QQUNLQUdFQ09ORklHW2N1cmxdID0gIi1ERU5BQkxFX0xJQkNVUkw9T04sLURFTkFCTEVfTElCQ1VSTD1PRkYsY3VybCIKLVBBQ0tBR0VDT05GSUdbb3BlbmpwZWddID0gIi1ERU5BQkxFX0xJQk9QRU5KUEVHPW9wZW5qcGVnMiwtREVOQUJMRV9MSUJPUEVOSlBFRz1ub25lLG9wZW5qcGVnIgotUEFDS0FHRUNPTkZJR1txdDVdID0gIi1ERU5BQkxFX1FUNT1PTiwtREVOQUJMRV9RVDU9T0ZGLHF0YmFzZSBxdHRvb2xzLW5hdGl2ZSIKLVBBQ0tBR0VDT05GSUdbbnNzXSA9ICItRFdJVEhfTlNTMz1PTiwtRFdJVEhfTlNTMz1PRkYsbnNzIgotCi0jIHN1cnByaXNlIC0gZGlkIG5vdCBleHBlY3QgdGhpcyB0byB3b3JrIDopCi1pbmhlcml0ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3F0NScsICdjbWFrZV9xdDUnLCAnJywgZCl9Ci0KLVNFQ1VSSVRZX0NGTEFHUyA9ICIke1NFQ1VSSVRZX05PX1BJRV9DRkxBR1N9IgotCi1FWFRSQV9PRUNNQUtFICs9ICIgXAotICAgIC1ERU5BQkxFX0NNUz1sY21zMiBcCi0gICAgLURFTkFCTEVfWFBERl9IRUFERVJTPU9OIFwKLSAgICAtREJVSUxEX0dUS19URVNUUz1PRkYgXAotICAgIC1ERU5BQkxFX1pMSUI9T04gXAotICAgIC1EQ01BS0VfQ1hYX0lNUExJQ0lUX0lOQ0xVREVfRElSRUNUT1JJRVM6UEFUSD0nJHtTVEFHSU5HX0lOQ0RJUn0nIFwKLSIKLQotZG9fY29uZmlndXJlX2FwcGVuZCgpIHsKLSAgICAjIHBvcHBsZXIgbWFjcm8gdXNlcyBwa2ctY29uZmlnIHRvIGNoZWNrIGZvciBnLWlyIHJ1bnRpbWVzLiBTb21ldGhpbmcKLSAgICAjIG1ha2VzIHRoZW0gcG9pbnQgdG8gL3Vzci9iaW4uIEFsaWduIHRoZW0gdG8gc3lzcm9vdCAtIHRoYXQncyB3aGVyZSB0aGUKLSAgICAjIGdpdC13cmFwcGVycyBhcmU6Ci0gICAgc2VkIC1pICdzOiAke2JpbmRpcn0vZy1pcjogJHtTVEFHSU5HX0JJTkRJUn0vZy1pcjonICR7Qn0vYnVpbGQubmluamEKLX0KLQotIyBjaGVjayBmb3IgVEFSR0VUX0ZQVT1zb2Z0IGFuZCBpbmZvcm0gY29uZmlndXJlIG9mIHRoZSByZXN1bHQgc28gaXQgY2FuIGRpc2FibGUgc29tZSBmbG9hdGluZyBwb2ludHMKLWRlZiBnZXRfcG9wcGxlcl9mcHVfc2V0dGluZyhiYiwgZCk6Ci0gICAgaWYgZC5nZXRWYXIoJ1RBUkdFVF9GUFUnKSBpbiBbICdzb2Z0JyBdOgotICAgICAgICByZXR1cm4gIi1EVVNFX0ZJWEVEUE9JTlQ9T04iCi0gICAgcmV0dXJuICIiCi0KLUVYVFJBX09FQ01BS0UgKz0gIiR7QGdldF9wb3BwbGVyX2ZwdV9zZXR0aW5nKGJiLCBkKX0iCi0KLVBBQ0tBR0VTID0rICJsaWJwb3BwbGVyIGxpYnBvcHBsZXItZ2xpYiIKLUZJTEVTX2xpYnBvcHBsZXIgPSAiJHtsaWJkaXJ9L2xpYnBvcHBsZXIuc28uKiIKLUZJTEVTX2xpYnBvcHBsZXItZ2xpYiA9ICIke2xpYmRpcn0vbGlicG9wcGxlci1nbGliLnNvLioiCi0KLVJERVBFTkRTX2xpYnBvcHBsZXIgPSAicG9wcGxlci1kYXRhIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyXzAuNzUuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvcHBsZXIvcG9wcGxlcl8wLjc1LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDcwNGYxYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvcHBsZXIvcG9wcGxlcl8wLjc1LjAuYmIKQEAgLTAsMCArMSw1OSBAQAorU1VNTUFSWSA9ICJQb3BwbGVyIGlzIGEgUERGIHJlbmRlcmluZyBsaWJyYXJ5IGJhc2VkIG9uIHRoZSB4cGRmLTMuMCBjb2RlIGJhc2UiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK1NSQ19VUkkgPSAiaHR0cDovL3BvcHBsZXIuZnJlZWRlc2t0b3Aub3JnLyR7QlB9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC1vdmVyd3JpdGUtYWxsLW91ci1idWlsZC1mbGFncy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLUNhaXJvT3V0cHV0RGV2LmNjLWZpeC1idWlsZC1lcnJvci13aGVuLXVzaW5nLWZpeGVkcG8ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1nbGliLUNNYWtlTGlzdHMudHh0LUFkZC1saWJwb3BwbGVyLXRvLWxpbmstYWxvbmctd2l0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2Jhc2VuYW1lLWluY2x1ZGUucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiM2ZiNGNhODAzZDk4OTc0MjY5NWNhNTg2YzVjYzQ4OWUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2JiYWVkYjBmYTI3OTdjYWM5MzNhMDY1OWQxNDQzMDNlNGQwOWVlYzY4OTJjNjU2MDBkYTk4N2Q4NzA3MTk5YSIKKworREVQRU5EUyA9ICJmb250Y29uZmlnIHpsaWIgY2Fpcm8gbGNtcyBnbGliLTIuMCIKKworaW5oZXJpdCBjbWFrZSBwa2djb25maWcgZ29iamVjdC1pbnRyb3NwZWN0aW9uCisKK1BBQ0tBR0VDT05GSUcgPz89ICJqcGVnIG9wZW5qcGVnIHBuZyB0aWZmIG5zcyAke0BiYi51dGlscy5jb250YWlucygnQkJGSUxFX0NPTExFQ1RJT05TJywgJ3F0NS1sYXllcicsICdxdDUnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1tqcGVnXSA9ICItRFdJVEhfSlBFRz1PTiAtREVOQUJMRV9EQ1RERUNPREVSPWxpYmpwZWcsLURXSVRIX0pQRUc9T0ZGIC1ERU5BQkxFX0RDVERFQ09ERVI9bm9uZSxqcGVnIgorUEFDS0FHRUNPTkZJR1twbmddID0gIi1EV0lUSF9QTkc9T04sLURXSVRIX1BORz1PRkYsbGlicG5nIgorUEFDS0FHRUNPTkZJR1t0aWZmXSA9ICItRFdJVEhfVElGRj1PTiwtRFdJVEhfVElGRj1PRkYsdGlmZiIKK1BBQ0tBR0VDT05GSUdbY3VybF0gPSAiLURFTkFCTEVfTElCQ1VSTD1PTiwtREVOQUJMRV9MSUJDVVJMPU9GRixjdXJsIgorUEFDS0FHRUNPTkZJR1tvcGVuanBlZ10gPSAiLURFTkFCTEVfTElCT1BFTkpQRUc9b3BlbmpwZWcyLC1ERU5BQkxFX0xJQk9QRU5KUEVHPW5vbmUsb3BlbmpwZWciCitQQUNLQUdFQ09ORklHW3F0NV0gPSAiLURFTkFCTEVfUVQ1PU9OLC1ERU5BQkxFX1FUNT1PRkYscXRiYXNlIHF0dG9vbHMtbmF0aXZlIgorUEFDS0FHRUNPTkZJR1tuc3NdID0gIi1EV0lUSF9OU1MzPU9OLC1EV0lUSF9OU1MzPU9GRixuc3MiCisKKyMgc3VycHJpc2UgLSBkaWQgbm90IGV4cGVjdCB0aGlzIHRvIHdvcmsgOikKK2luaGVyaXQgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncXQ1JywgJ2NtYWtlX3F0NScsICcnLCBkKX0KKworU0VDVVJJVFlfQ0ZMQUdTID0gIiR7U0VDVVJJVFlfTk9fUElFX0NGTEFHU30iCisKK0VYVFJBX09FQ01BS0UgKz0gIiBcCisgICAgLURFTkFCTEVfQ01TPWxjbXMyIFwKKyAgICAtREVOQUJMRV9VTlNUQUJMRV9BUElfQUJJX0hFQURFUlM9T04gXAorICAgIC1EQlVJTERfR1RLX1RFU1RTPU9GRiBcCisgICAgLURFTkFCTEVfWkxJQj1PTiBcCisgICAgLURDTUFLRV9DWFhfSU1QTElDSVRfSU5DTFVERV9ESVJFQ1RPUklFUzpQQVRIPScke1NUQUdJTkdfSU5DRElSfScgXAorIgorCitkb19jb25maWd1cmVfYXBwZW5kKCkgeworICAgICMgcG9wcGxlciBtYWNybyB1c2VzIHBrZy1jb25maWcgdG8gY2hlY2sgZm9yIGctaXIgcnVudGltZXMuIFNvbWV0aGluZworICAgICMgbWFrZXMgdGhlbSBwb2ludCB0byAvdXNyL2Jpbi4gQWxpZ24gdGhlbSB0byBzeXNyb290IC0gdGhhdCdzIHdoZXJlIHRoZQorICAgICMgZ2lyLXdyYXBwZXJzIGFyZToKKyAgICBzZWQgLWkgJ3M6ICR7YmluZGlyfS9nLWlyOiAke1NUQUdJTkdfQklORElSfS9nLWlyOicgJHtCfS9idWlsZC5uaW5qYQorfQorCisjIGNoZWNrIGZvciBUQVJHRVRfRlBVPXNvZnQgYW5kIGluZm9ybSBjb25maWd1cmUgb2YgdGhlIHJlc3VsdCBzbyBpdCBjYW4gZGlzYWJsZSBzb21lIGZsb2F0aW5nIHBvaW50cworZGVmIGdldF9wb3BwbGVyX2ZwdV9zZXR0aW5nKGJiLCBkKToKKyAgICBpZiBkLmdldFZhcignVEFSR0VUX0ZQVScpIGluIFsgJ3NvZnQnIF06CisgICAgICAgIHJldHVybiAiLURVU0VfRklYRURQT0lOVD1PTiIKKyAgICByZXR1cm4gIiIKKworRVhUUkFfT0VDTUFLRSArPSAiJHtAZ2V0X3BvcHBsZXJfZnB1X3NldHRpbmcoYmIsIGQpfSIKKworUEFDS0FHRVMgPSsgImxpYnBvcHBsZXIgbGlicG9wcGxlci1nbGliIgorRklMRVNfbGlicG9wcGxlciA9ICIke2xpYmRpcn0vbGlicG9wcGxlci5zby4qIgorRklMRVNfbGlicG9wcGxlci1nbGliID0gIiR7bGliZGlyfS9saWJwb3BwbGVyLWdsaWIuc28uKiIKKworUkRFUEVORFNfbGlicG9wcGxlciA9ICJwb3BwbGVyLWRhdGEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wdi9wdl8xLjUuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3B2L3B2XzEuNS4zLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZTNkZDY3Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3B2L3B2XzEuNS4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotU1VNTUFSWSA9ICJUZXJtaW5hbC1iYXNlZCB0b29sIGZvciBtb25pdG9yaW5nIHRoZSBwcm9ncmVzcyBvZiBkYXRhIHRocm91Z2ggYSBwaXBlbGluZSIKLQotTElDRU5TRSA9ICJBcnRpc3RpYy0yLjAiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kb2MvQ09QWUlORzttZDU9OWM1MGRiMjU4OWVlM2VmMTBhOWI3YjJlNTBjZTFkMDIiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5pdmFyY2guY29tL3Byb2dyYW1zL3NvdXJjZXMvcHYtJHtQVn0udGFyLmJ6MiIKLVNSQ19VUklbbWQ1c3VtXSA9ICJlZmU4ZTllNGNhZDVmMzI2NGEzMjI1OGE2M2JmMmM4ZSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI3NmYzOTk5YjFjM2IzMDI3MTYzZGNlNmVmNjY3Y2RmOGRhZmI3NTIxOGVlMjVlNTRhMDNiZmU1OTA0NzhmOTBlIgotCi1pbmhlcml0IGF1dG90b29scwotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wdi9wdl8xLjYuNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3B2L3B2XzEuNi42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2NDk1NTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wdi9wdl8xLjYuNi5iYgpAQCAtMCwwICsxLDEzIEBACitTVU1NQVJZID0gIlRlcm1pbmFsLWJhc2VkIHRvb2wgZm9yIG1vbml0b3JpbmcgdGhlIHByb2dyZXNzIG9mIGRhdGEgdGhyb3VnaCBhIHBpcGVsaW5lIgorCitMSUNFTlNFID0gIkFydGlzdGljLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RvYy9DT1BZSU5HO21kNT05YzUwZGIyNTg5ZWUzZWYxMGE5YjdiMmU1MGNlMWQwMiIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3Lml2YXJjaC5jb20vcHJvZ3JhbXMvc291cmNlcy8ke0JQfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gImZmMzU2NGZkZGNjMmI5YmQ0YTljMWQxNDNhYmE0YjRjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjYwOGVmOTM1ZjdhMzc3ZTE0MzljMTgxYzRmYzE4OGQyNDdkYTEwZDUxYTE5ZWY3OWJjZGVlNTA0M2IwOTczZjEiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0xERU1VTEFUSU9OX21pcHNhcmNobjMyID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2JpZ2VuZGlhbicsICdlbGYzMmJ0c21pcG4zMicsICdlbGYzMmx0c21pcG4zMicsIGQpfSIKK2V4cG9ydCBMREVNVUxBVElPTgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmVhZC1lZGlkL3JlYWQtZWRpZC8wMDAxLURvLW5vdC1pbnN0YWxsLWxpY2Vuc2UtZmlsZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3JlYWQtZWRpZC9yZWFkLWVkaWQvMDAwMS1Eby1ub3QtaW5zdGFsbC1saWNlbnNlLWZpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTliOTQ3NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3JlYWQtZWRpZC9yZWFkLWVkaWQvMDAwMS1Eby1ub3QtaW5zdGFsbC1saWNlbnNlLWZpbGUucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorRG8gbm90IGluc3RhbGwgbGljZW5zZSBmaWxlCisKK0ZpbGUgbmFtZSBpcyBpbmNvcnJlY3QgYXMgd2VsbDsgbXVzdCBiZSBMSUNFTlNFIGluc3RlYWQgb2YgQ09QWUlORy4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW3B5cm9waG9iaWNtYW5AZ21haWwuY29tXQorCitTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gV2llaGxlciA8c3RlZmFuLndpZWhsZXJAbWlzc2luZ2xpbmtlbGVjdHJvbmljcy5jb20+CisKKy0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTEzLDUgKzEzLDUgQEAKKyBhZGRfc3ViZGlyZWN0b3J5IChwYXJzZS1lZGlkKQorIAorIElOU1RBTEwoRklMRVMgZ2V0LWVkaWQuMSBERVNUSU5BVElPTiBzaGFyZS9tYW4vbWFuMSkKKy1JTlNUQUxMKEZJTEVTIEFVVEhPUlMgQ2hhbmdlTG9nIENPUFlJTkcgUkVBRE1FIERFU1RJTkFUSU9OCisrSU5TVEFMTChGSUxFUyBBVVRIT1JTIENoYW5nZUxvZyBSRUFETUUgREVTVElOQVRJT04KKyAJc2hhcmUvZG9jL3JlYWQtZWRpZCkKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3JlYWQtZWRpZC9yZWFkLWVkaWQvMDAwMS1jb25maWd1cmUtcmVtb3ZlLWNoZWNrLWZvci14ODYuaC13ZS1kb24tdC1idWlsZC1nZXQtLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmVhZC1lZGlkL3JlYWQtZWRpZC8wMDAxLWNvbmZpZ3VyZS1yZW1vdmUtY2hlY2stZm9yLXg4Ni5oLXdlLWRvbi10LWJ1aWxkLWdldC0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ0MDgwMDIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmVhZC1lZGlkL3JlYWQtZWRpZC8wMDAxLWNvbmZpZ3VyZS1yZW1vdmUtY2hlY2stZm9yLXg4Ni5oLXdlLWRvbi10LWJ1aWxkLWdldC0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1Gcm9tIGViNzU5MGNjMmNkZDVjMzU0MDNhZjQ1NjdkODUyNGUwMTcwMTBmMWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgotRGF0ZTogU2F0LCAxMSBNYXkgMjAxMyAwNzo1ODoxNyArMDIwMAotU3ViamVjdDogW1BBVENIXSBjb25maWd1cmU6IHJlbW92ZSBjaGVjayBmb3IgeDg2LmgsIHdlIGRvbid0IGJ1aWxkIGdldC1lZGlkCi0KLVNpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+Ci0KLVVwc3RyZWFtLXN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0Ugc3BlY2lmaWNdCi0tLS0KLSBjb25maWd1cmUuaW4gfCAyIC0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KLWluZGV4IGFjODVhMjEuLmY1M2U5MDQgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuaW4KLSsrKyBiL2NvbmZpZ3VyZS5pbgotQEAgLTgsOCArOCw2IEBAIGRubCBDaGVja3MgZm9yIHByb2dyYW1zCi0gCi0gQUNfUFJPR19DQwotIAotLUFDX0NIRUNLX0hFQURFUihbbGlieDg2LmhdLCBbXSwgW0FDX01TR19FUlJPUihbbGlieDg2Lmggbm90IGZvdW5kXSldKQotLQotIGRubCBTaW1wbGUsIGh1aD8KLSAKLSBBQ19PVVRQVVQoW01ha2VmaWxlXSkKLS0tIAotMS44LjEuNAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9yZWFkLWVkaWQvcmVhZC1lZGlkXzIuMC4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmVhZC1lZGlkL3JlYWQtZWRpZF8yLjAuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjAwMjkwNi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9yZWFkLWVkaWQvcmVhZC1lZGlkXzIuMC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAicmVhZC1lZGlkIGVsdWNpZGF0ZXMgdmFyaW91cyB2ZXJ5IHVzZWZ1bCBpbmZvcm1hdGlvbnMgZnJvbSBhIGNvbmZvcm1pbmcgUG5QIG1vbml0b3IiCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDBiZjcwZmExZWY4MWZlNDc0MWVjMGU2MjMxZGFkZmQiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3BvbHlwdXgub3JnL3Byb2plY3RzL3JlYWQtZWRpZC9yZWFkLWVkaWQtJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLXJlbW92ZS1jaGVjay1mb3IteDg2Lmgtd2UtZG9uLXQtYnVpbGQtZ2V0LS5wYXRjaCIKLQotU1JDX1VSSVttZDVzdW1dID0gIjU4NmU3ZmExMTY3NzczYjI3ZjRlNTA1ZWRjOTMyNzRiIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI0NmVjMTRlYzUwOWUwOWFjMjZmZTY4NjJiMTIwNDgxYjJjYzg4MWUyZjE0MmJhNDA4ODZkNmVlYzE1ZTc3ZTgiCi0KLWluaGVyaXQgYXV0b3Rvb2xzCi0KLWRvX2NvbXBpbGUoKSB7Ci0gICAgb2VfcnVubWFrZSBwYXJzZS1lZGlkCi19Ci0KLWRvX2luc3RhbGwoKSB7Ci0gICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9Ci0gICAgaW5zdGFsbCAtbSAwNzU1IHBhcnNlLWVkaWQgJHtEfSR7YmluZGlyfQotfQotCi1QQUNLQUdFUyA9KyAicGFyc2UtZWRpZCIKLUZJTEVTX3BhcnNlLWVkaWQgPSAiJHtiaW5kaXJ9L3BhcnNlLWVkaWQiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9yZWFkLWVkaWQvcmVhZC1lZGlkXzMuMC4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmVhZC1lZGlkL3JlYWQtZWRpZF8zLjAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNGMyY2FkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmVhZC1lZGlkL3JlYWQtZWRpZF8zLjAuMi5iYgpAQCAtMCwwICsxLDIwIEBACitTVU1NQVJZID0gIkEgcGFpciBvZiB0b29scyBmb3IgcmVhZGluZyB0aGUgRURJRCBmcm9tIGEgbW9uaXRvciIKK0RFU0NSSVBUSU9OID0gInJlYWQtZWRpZCBpcyBhIHNldCBvZiB0d28gdG9vbHMgLSBnZXQtZWRpZCwgd2hpY2ggZ2V0cyB0aGUgcmF3IFwKKyAgICAgICAgICAgICAgIEVESUQgaW5mb3JtYXRpb24gZnJvbSB0aGUgbW9uaXRvciwgYW5kIHBhcnNlLWVkaWQsIHdoaWNoIHR1cm5zIFwKKwkgICAgICAgdGhlIHJhdyBiaW5hcnkgaW5mb3JtYXRpb24gaW50byBhIHhvcmcuY29uZi1jb21wYXRpYmxlIG1vbml0b3IgXAorCSAgICAgICBzZWN0aW9uLiIKK0FVVEhPUiA9ICJTdGVmYW4gV2llaGxlciA8c3RlZmFuLndpZWhsZXJAbWlzc2luZ2xpbmtlbGVjdHJvbmljcy5jb20+IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5wb2x5cHV4Lm9yZy9wcm9qZWN0cy9yZWFkLWVkaWQvIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorTElDRU5TRSA9ICJyZWFkLWVkaWQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0yOTJjNDJlMmFlZGM0YWY2MzY2MzZiZjdhZjBlMmIyNiIKKworU1JDX1VSSSA9ICJodHRwOi8vcG9seXB1eC5vcmcvcHJvamVjdHMvcmVhZC1lZGlkL3JlYWQtZWRpZC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3QtaW5zdGFsbC1saWNlbnNlLWZpbGUucGF0Y2ggXAorCSAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICIwMTY1NDZlNDM4YmY2Yzk4NzM5ZmY3NDA2MWRmOTg1NCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjN2M2ZDg0NDBmNWI5MGY5OGUyNzY4MjkyNzFjY2VhNWIyZmY1YTM0MTNkZjhhMGY4N2VjMDlmODM0YWYxODZmIgorCitFWFRSQV9PRUNNQUtFID0gIi1EQ0xBU1NJQ0JVSUxEPU9GRiIKKworaW5oZXJpdCBjbWFrZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2Fzcy9saWJzYXNzX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Nhc3MvbGlic2Fzc19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGMyMjljZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Nhc3MvbGlic2Fzc19naXQuYmIKQEAgLTAsMCArMSwxMyBAQAorU1VNTUFSWSA9ICJDL0MrKyBwb3J0IG9mIHRoZSBTYXNzIENTUyBwcmVjb21waWxlciIKK0hPTUVQQUdFID0gImh0dHA6Ly9zYXNzLWxhbmcuY29tL2xpYnNhc3MiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThmMzQzOTZjYTIwNWY1ZTExOWVlNzdhYWU5MWZhMjdkIgorCitpbmhlcml0IGF1dG90b29scworCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vc2Fzcy9saWJzYXNzLmdpdDticmFuY2g9My41LXN0YWJsZSIKK1NSQ1JFViA9ICIzOWUzMDg3NGI5YTVkZDZhODAyYzIwZThiMDQ3MGJhNDRlZWJhOTI5IgorUyA9ICIke1dPUktESVJ9L2dpdCIKK1BWID0gIjMuNS41IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Nhc3Mvc2Fzc2NfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2Fzcy9zYXNzY19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDQ0YzBjNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Nhc3Mvc2Fzc2NfZ2l0LmJiCkBAIC0wLDAgKzEsMTQgQEAKK1NVTU1BUlkgPSAibGlic2FzcyBjb21tYW5kIGxpbmUgZHJpdmVyICIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MmY4YTc2OTgwNDExYTNmMWYxNDgwYjE0MWNlMDY3NDQiCisKK0RFUEVORFMgPSAibGlic2FzcyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3NjLmdpdCIKK1NSQ1JFViA9ICJhYTZkNWM2MzVlYThmYWY0NGQ1NDJhMjNhYWY4NWQyN2U1Nzc3ZDQ4IgorUyA9ICIke1dPUktESVJ9L2dpdCIKK1BWID0gIjMuNS4wIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NhdHlyL3NhdHlyXzAuMjYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zYXR5ci9zYXR5cl8wLjI2LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMDliZWEyLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NhdHlyL3NhdHlyXzAuMjYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1ERVNDUklQVElPTiA9ICJTYXR5ciBpcyBhIGNvbGxlY3Rpb24gb2YgbG93LWxldmVsIGFsZ29yaXRobXMgZm9yIHByb2dyYW0gXAotZmFpbHVyZSBwcm9jZXNzaW5nLCBhbmFseXNpcywgYW5kIHJlcG9ydGluZyBzdXBwb3J0aW5nIGtlcm5lbCBzcGFjZSwgdXNlciBcCi1zcGFjZSwgUHl0aG9uLCBhbmQgSmF2YSBwcm9ncmFtcyIKLQotSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2FicnQvc2F0eXIiCi1MSUNFTlNFID0gIkdQTHYyIgotCi1pbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcHl0aG9uM25hdGl2ZSBwa2djb25maWcKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2FicnQvc2F0eXIuZ2l0IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItZml4LWNvbXBpbGUtZmFpbHVyZS1hZ2FpbnN0LW11c2wtQy1saWJyYXJ5LnBhdGNoIFwKLSIKLVNSQ1JFViA9ICI0YmFhMGM3NjUwNzEwNTQzMTRkMWU3ZTc4NTQ3Y2U2YjdjMTMzZmJjIgotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCi0KLURFUEVORFMgKz0gIiBcCi0gICAgZ2RiIFwKLSIKLQotUEFDS0FHRVMgKz0gInB5dGhvbjMtJHtQTn0iCi1GSUxFU19weXRob24zLSR7UE59ID0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyR7QlBOfSIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gInB5dGhvbjMgcnBtIgotUEFDS0FHRUNPTkZJR1tweXRob24yXSA9ICItLXdpdGgtcHl0aG9uMiwgLS13aXRob3V0LXB5dGhvbjIsLHB5dGhvbjIiCi1QQUNLQUdFQ09ORklHW3B5dGhvbjNdID0gIi0td2l0aC1weXRob24zLCAtLXdpdGhvdXQtcHl0aG9uMywscHl0aG9uMyIKLVBBQ0tBR0VDT05GSUdbcnBtXSA9ICItLXdpdGgtcnBtLCAtLXdpdGhvdXQtcnBtLCBycG0iCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotICAgICR7U30vZ2VuLXZlcnNpb24KLX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NhdHlyL3NhdHlyXzAuMjcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zYXR5ci9zYXR5cl8wLjI3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwZGZjMmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zYXR5ci9zYXR5cl8wLjI3LmJiCkBAIC0wLDAgKzEsMzIgQEAKK0RFU0NSSVBUSU9OID0gIlNhdHlyIGlzIGEgY29sbGVjdGlvbiBvZiBsb3ctbGV2ZWwgYWxnb3JpdGhtcyBmb3IgcHJvZ3JhbSBcCitmYWlsdXJlIHByb2Nlc3NpbmcsIGFuYWx5c2lzLCBhbmQgcmVwb3J0aW5nIHN1cHBvcnRpbmcga2VybmVsIHNwYWNlLCB1c2VyIFwKK3NwYWNlLCBQeXRob24sIGFuZCBKYXZhIHByb2dyYW1zIgorCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vYWJydC9zYXR5ciIKK0xJQ0VOU0UgPSAiR1BMdjIiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBweXRob24zbmF0aXZlIHBrZ2NvbmZpZworCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vYWJydC9zYXR5ci5naXQgXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1maXgtY29tcGlsZS1mYWlsdXJlLWFnYWluc3QtbXVzbC1DLWxpYnJhcnkucGF0Y2ggXAorIgorU1JDUkVWID0gImRmZjFiODc3ZDQyYmYyMTUzZjhmMDkwOTA1ZDljYzhmYjMzM2JmMWUiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKKworREVQRU5EUyArPSAiIFwKKyAgICBnZGIgXAorIgorCitQQUNLQUdFUyArPSAicHl0aG9uMy0ke1BOfSIKK0ZJTEVTX3B5dGhvbjMtJHtQTn0gPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vJHtCUE59IgorCitQQUNLQUdFQ09ORklHID8/PSAicHl0aG9uMyBycG0iCitQQUNLQUdFQ09ORklHW3B5dGhvbjJdID0gIi0td2l0aC1weXRob24yLCAtLXdpdGhvdXQtcHl0aG9uMiwscHl0aG9uMiIKK1BBQ0tBR0VDT05GSUdbcHl0aG9uM10gPSAiLS13aXRoLXB5dGhvbjMsIC0td2l0aG91dC1weXRob24zLCxweXRob24zIgorUEFDS0FHRUNPTkZJR1tycG1dID0gIi0td2l0aC1ycG0sIC0td2l0aG91dC1ycG0sIHJwbSIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgJHtTfS9nZW4tdmVyc2lvbgorfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2czLXV0aWxzL3NnMy11dGlscy9nbGliYy0yLjI4LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2czLXV0aWxzL3NnMy11dGlscy9nbGliYy0yLjI4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYmFkNDEzLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NnMy11dGlscy9zZzMtdXRpbHMvZ2xpYmMtMi4yOC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLUZpeGVzOgotaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzE4NTg5Ni8KLQotVE9QRElSL3RtcC1nbGliYy93b3JrL2NvcmUyLTY0LW9lLWxpbnV4L3NnMy11dGlscy8xLjQyLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2ZS91c3IvYmluL3g4Nl82NC1vZS1saW51eC8uLi8uLi9saWJleGVjL3g4Nl82NC1vZS1saW51eC9nY2MveDg2XzY0LW9lLWxpbnV4LzguMi4wL2xkOiBzZ19tYXAyNi5vOiBpbiBmdW5jdGlvbiBgbmRfbWF0Y2hfc2NhbmRpcl9zZWxlY3QnOgotL3Vzci9zcmMvZGVidWcvc2czLXV0aWxzLzEuNDItcjAvc2czX3V0aWxzLTEuNDIvc3JjL3NnX21hcDI2LmM6MzU5OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBtYWpvcicKLVRPUERJUi90bXAtZ2xpYmMvd29yay9jb3JlMi02NC1vZS1saW51eC9zZzMtdXRpbHMvMS40Mi1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmUvdXNyL2Jpbi94ODZfNjQtb2UtbGludXgvLi4vLi4vbGliZXhlYy94ODZfNjQtb2UtbGludXgvZ2NjL3g4Nl82NC1vZS1saW51eC84LjIuMC9sZDogL3Vzci9zcmMvZGVidWcvc2czLXV0aWxzLzEuNDItcjAvc2czX3V0aWxzLTEuNDIvc3JjL3NnX21hcDI2LmM6MzYxOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBtaW5vcicKLVRPUERJUi90bXAtZ2xpYmMvd29yay9jb3JlMi02NC1vZS1saW51eC9zZzMtdXRpbHMvMS40Mi1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmUvdXNyL2Jpbi94ODZfNjQtb2UtbGludXgvLi4vLi4vbGliZXhlYy94ODZfNjQtb2UtbGludXgvZ2NjL3g4Nl82NC1vZS1saW51eC84LjIuMC9sZDogc2dfbWFwMjYubzogaW4gZnVuY3Rpb24gYG50X3R5cF9mcm9tX2ZpbGVuYW1lJzoKLS91c3Ivc3JjL2RlYnVnL3NnMy11dGlscy8xLjQyLXIwL3NnM191dGlscy0xLjQyL3NyYy9zZ19tYXAyNi5jOjIxODogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgbWFqb3InCi1UT1BESVIvdG1wLWdsaWJjL3dvcmsvY29yZTItNjQtb2UtbGludXgvc2czLXV0aWxzLzEuNDItcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZlL3Vzci9iaW4veDg2XzY0LW9lLWxpbnV4Ly4uLy4uL2xpYmV4ZWMveDg2XzY0LW9lLWxpbnV4L2djYy94ODZfNjQtb2UtbGludXgvOC4yLjAvbGQ6IC91c3Ivc3JjL2RlYnVnL3NnMy11dGlscy8xLjQyLXIwL3NnM191dGlscy0xLjQyL3NyYy9zZ19tYXAyNi5jOjIxOTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgbWlub3InCi1jb2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKLU1ha2VmaWxlOjgwNjogcmVjaXBlIGZvciB0YXJnZXQgJ3NnX21hcDI2JyBmYWlsZWQKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLS0tLSBzZzNfdXRpbHMtMS40Mi5vcmlnL3NyYy9zZ19tYXAyNi5jCTIwMTgtMDgtMDkgMTE6NTM6MjYuOTA3NDkzOTk2ICswMDAwCi0rKysgc2czX3V0aWxzLTEuNDIvc3JjL3NnX21hcDI2LmMJMjAxOC0wOC0wOSAxMTo1MTo1Ni43MTM0OTA3NjMgKzAwMDAKLUBAIC0zMyw2ICszMyw3IEBACi0gI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgotICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KLSsjaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgotICNpbmNsdWRlIDxsaW51eC9tYWpvci5oPgotIAotICNpZmRlZiBIQVZFX0NPTkZJR19ICmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zZzMtdXRpbHMvc2czLXV0aWxzXzEuNDIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zZzMtdXRpbHMvc2czLXV0aWxzXzEuNDIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMzN2M1ZTkuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2czLXV0aWxzL3NnMy11dGlsc18xLjQyLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotU1VNTUFSWSA9ICJVdGlsaXRpZXMgZm9yIHdvcmtpbmcgd2l0aCBnZW5lcmljIFNDU0kgZGV2aWNlcyIKLQotREVTQ1JJUFRJT04gPSAiVGhpcyBwYWNrYWdlIGNvbnRhaW5zIGxvdyBsZXZlbCB1dGlsaXRpZXMgZm9yIGRldmljZXMgdGhhdCB1c2UgdGhlIFNDU0kgY29tbWFuZCBzZXQiCi0KLUhPTUVQQUdFID0gImh0dHA6Ly9zZy5kYW5ueS5jei9zZy9zZzNfdXRpbHMuaHRtbCIKLVNFQ1RJT04gPSAiY29uc29sZS9hZG1pbiIKLQotTElDRU5TRSA9ICJHUEx2MisgJiBCU0QiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mOTBkYTdmYzUyMTcyNTk5ZGJmMDgyZDc2MjBmMThjYSIKLQotU1JDX1VSSSA9ICJodHRwOi8vc2cuZGFubnkuY3ovc2cvcC9zZzNfdXRpbHMtJHtQVn0udGd6IFwKLSAgICBmaWxlOi8vZ2xpYmMtMi4yOC5wYXRjaCBcCi0iCi1NSVJST1JTICs9ICJodHRwOi8vc2cuZGFubnkuY3ovc2cvcCBodHRwczovL2Zvc3NpZXMub3JnL2xpbnV4L21pc2MiCi0KLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gInNnM191dGlscy0oP1A8cHZlcj5cZCsoXC5cZCspKylcLnRneiIKLQotU1JDX1VSSVttZDVzdW1dID0gIjI4MDgwZGU1YmYyMjIyZjhiNTVhMjkwOTNiZWM4YWVhIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFkY2I3YTAzMDliZDBiYTNkNGE4M2FjYjUyNjk3M2I4MDEwNmVlMjZjZDlmNzM5ODE4NmNkM2YwNjMzYzllZjMiCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAotCi1TID0gIiR7V09SS0RJUn0vc2czX3V0aWxzLSR7UFZ9IgotCi1SREVQRU5EU18ke1BOfSArPSAiYmFzaCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NnMy11dGlscy9zZzMtdXRpbHNfMS40NC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NnMy11dGlscy9zZzMtdXRpbHNfMS40NC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OTA5MDM1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2czLXV0aWxzL3NnMy11dGlsc18xLjQ0LmJiCkBAIC0wLDAgKzEsMjQgQEAKK1NVTU1BUlkgPSAiVXRpbGl0aWVzIGZvciB3b3JraW5nIHdpdGggZ2VuZXJpYyBTQ1NJIGRldmljZXMiCisKK0RFU0NSSVBUSU9OID0gIlRoaXMgcGFja2FnZSBjb250YWlucyBsb3cgbGV2ZWwgdXRpbGl0aWVzIGZvciBkZXZpY2VzIHRoYXQgdXNlIHRoZSBTQ1NJIGNvbW1hbmQgc2V0IgorCitIT01FUEFHRSA9ICJodHRwOi8vc2cuZGFubnkuY3ovc2cvc2czX3V0aWxzLmh0bWwiCitTRUNUSU9OID0gImNvbnNvbGUvYWRtaW4iCisKK0xJQ0VOU0UgPSAiR1BMdjIrICYgQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZjkwZGE3ZmM1MjE3MjU5OWRiZjA4MmQ3NjIwZjE4Y2EiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NnLmRhbm55LmN6L3NnL3Avc2czX3V0aWxzLSR7UFZ9LnRneiBcCisiCitNSVJST1JTICs9ICJodHRwOi8vc2cuZGFubnkuY3ovc2cvcCBodHRwczovL2Zvc3NpZXMub3JnL2xpbnV4L21pc2MiCisKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gInNnM191dGlscy0oP1A8cHZlcj5cZCsoXC5cZCspKylcLnRneiIKKworU1JDX1VSSVttZDVzdW1dID0gImMxMWQyYjNjYTRjYzJmZDAxNzk2NDczZTUzMzBhZmVkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhkYWU2ODRkMjJlNzFiMTEzNTNhNDhiMTZjOTU1OTdhZjkwZjBjYmU5YmJkNTdmOThkN2Y1NTQ0ZGE1Y2FlN2IiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCitTID0gIiR7V09SS0RJUn0vc2czX3V0aWxzLSR7UFZ9IgorCitSREVQRU5EU18ke1BOfSArPSAiYmFzaCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NoYXJ1dGlscy9zaGFydXRpbHNfNC4xNS4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2hhcnV0aWxzL3NoYXJ1dGlsc180LjE1LjIuYmIKaW5kZXggYzEyMjg5Yi4uZGNhNDI2NyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2hhcnV0aWxzL3NoYXJ1dGlsc180LjE1LjIuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2hhcnV0aWxzL3NoYXJ1dGlsc180LjE1LjIuYmIKQEAgLTIwLDMgKzIwLDUgQEAKICAgICAgICAgcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgJHtEfSR7bGliZGlyfQogICAgIGZpCiB9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NwZGxvZy9zcGRsb2dfMS4zLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zcGRsb2cvc3BkbG9nXzEuMy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxZTNmNjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zcGRsb2cvc3BkbG9nXzEuMy4xLmJiCkBAIC0wLDAgKzEsMTkgQEAKK0RFU0NSSVBUSU9OID0gIlZlcnkgZmFzdCwgaGVhZGVyIG9ubHksIEMrKyBsb2dnaW5nIGxpYnJhcnkuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2dhYmltZS9zcGRsb2cvd2lraSIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9maWxlcy9jb21tb24tbGljZW5zZXMvTUlUO21kNT0wODM1YWRlNjk4ZTBiY2Y4NTA2ZWNkYTJmN2I0ZjMwMiIKKworU1JDUkVWID0gImE3MTQ4YjcxOGVhMmZhYmI4Mzg3Y2I5MGFlZTliZjQ0OGRhNjNlNjUiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vZ2FiaW1lL3NwZGxvZy5naXQ7cHJvdG9jb2w9Z2l0O2JyYW5jaD12MS54OyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisjIG5vIG5lZWQgdG8gYnVpbGQgZXhhbXBsZSZ0ZXh0JmJlbmNobWFya3Mgb24gcHVyZSB5b2N0bworRVhUUkFfT0VDTUFLRSArPSAiLURTUERMT0dfSU5TVEFMTD1vbiAtRFNQRExPR19CVUlMRF9FWEFNUExFUz1vZmYgLURTUERMT0dfQlVJTERfVEVTVFM9b2ZmIC1EU1BETE9HX0JVSUxEX0JFTkNIPW9mZiIKKworaW5oZXJpdCBjbWFrZQorCisjIEhlYWRlci1vbmx5IGxpYnJhcnkKK1JERVBFTkRTXyR7UE59LWRldiA9ICIiCitSUkVDT01NRU5EU18ke1BOfS1kYmcgPSAiJHtQTn0tZGV2ICg9ICR7RVhURU5EUEtHVn0pIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vMDAwMS1BZGQtbGludXgtbXVzbGVhYmktdG8tb3N0YWJsZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uLzAwMDEtQWRkLWxpbnV4LW11c2xlYWJpLXRvLW9zdGFibGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI2OTQ0MWYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vMDAwMS1BZGQtbGludXgtbXVzbGVhYmktdG8tb3N0YWJsZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLUZyb20gMDg3ODQwZWZkYmM4NmIxNDMyZWJkZDgxZjI1YjRjYjc4Yzc1ZjgxOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDExIFNlcCAyMDE4IDEyOjI4OjEwIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIEFkZCBsaW51eC1tdXNsZWFiaSB0byBvc3RhYmxlCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIG9zdGFibGUgICAgICB8IDEgKwotIHRyaXBsZXR0YWJsZSB8IDEgKwotIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9vc3RhYmxlIGIvb3N0YWJsZQotaW5kZXggM2JiNjgxOS4uZDBmZmRjNyAxMDA2NDQKLS0tLSBhL29zdGFibGUKLSsrKyBiL29zdGFibGUKLUBAIC0xNSw2ICsxNSw3IEBACi0gdWNsaWJjZWFiaS1saW51eAlsaW51eC11Y2xpYmNlYWJpCWxpbnV4W14tXSotdWNsaWJjZWFiaQotIHVjbGliYy1saW51eAkJbGludXgtdWNsaWJjCQlsaW51eFteLV0qLXVjbGliYwotIG11c2xlYWJpaGYtbGludXgJbGludXgtbXVzbGVhYmloZglsaW51eFteLV0qLW11c2xlYWJpaGYKLSttdXNsZWFiaS1saW51eAkJbGludXgtbXVzbGVhYmkJCWxpbnV4W14tXSotbXVzbGVhYmkKLSBtdXNsLWxpbnV4CQlsaW51eC1tdXNsCQlsaW51eFteLV0qLW11c2wKLSBnbnVlYWJpaGYtbGludXgJCWxpbnV4LWdudWVhYmloZgkJbGludXhbXi1dKi1nbnVlYWJpaGYKLSBnbnVlYWJpLWxpbnV4CQlsaW51eC1nbnVlYWJpCQlsaW51eFteLV0qLWdudWVhYmkKLWRpZmYgLS1naXQgYS90cmlwbGV0dGFibGUgYi90cmlwbGV0dGFibGUKLWluZGV4IDcyNTc3NDQuLjQ1ODY0YzMgMTAwNjQ0Ci0tLS0gYS90cmlwbGV0dGFibGUKLSsrKyBiL3RyaXBsZXR0YWJsZQotQEAgLTYsNiArNiw3IEBACi0gdWNsaWJjZWFiaS1saW51eC1hcm0JdWNsaWJjLWxpbnV4LWFybWVsCi0gdWNsaWJjLWxpbnV4LTxjcHU+CXVjbGliYy1saW51eC08Y3B1PgotIG11c2xlYWJpaGYtbGludXgtYXJtCW11c2wtbGludXgtYXJtaGYKLSttdXNsZWFiaS1saW51eC1hcm0JbXVzbC1saW51eC1hcm0KLSBtdXNsLWxpbnV4LTxjcHU+CW11c2wtbGludXgtPGNwdT4KLSBnbnVlYWJpaGYtbGludXgtYXJtCWFybWhmCi0gZ251ZWFiaS1saW51eC1hcm0JYXJtZWwKLS0tIAotMi4xOC4wCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uLzAwMDEtZHBrZy1TdXBwb3J0LW11c2x4MzItYnVpbGQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi8wMDAxLWRwa2ctU3VwcG9ydC1tdXNseDMyLWJ1aWxkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwZTY4OTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi8wMDAxLWRwa2ctU3VwcG9ydC1tdXNseDMyLWJ1aWxkLnBhdGNoCkBAIC0wLDAgKzEsNDEgQEAKK0Zyb20gYTMyOGM4YmVjMGJmODA3MWFlOGYyMGZlZTRjNzQ3NTIwNTA2NGJhMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IHN3ZWVhdW4gPHN3ZWUuYXVuLmtob3JAaW50ZWwuY29tPgorRGF0ZTogU3VuLCAxMCBTZXAgMjAxNyAwMDoxNDoxNSAtMDcwMAorU3ViamVjdDogW1BBVENIXSBkcGtnOiBTdXBwb3J0IG11c2x4MzIgYnVpbGQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nLgorQ2hhbmdlcyBtYWRlIG9uIG9zdGFibGUgYW5kIHR1cGxldGFibGUgdG8gZW5hYmxlIG11c2x4MzIgYnVpbGQuCisKK1NpZ25lZC1vZmYtYnk6IHN3ZWVhdW4gPHN3ZWUuYXVuLmtob3JAaW50ZWwuY29tPgorLS0tCisgZGF0YS9vc3RhYmxlICAgIHwgMSArCisgZGF0YS90dXBsZXRhYmxlIHwgMSArCisgMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2RhdGEvb3N0YWJsZSBiL2RhdGEvb3N0YWJsZQoraW5kZXggYmU2NDM0Mi4uODdkYjI3MyAxMDA2NDQKKy0tLSBhL2RhdGEvb3N0YWJsZQorKysrIGIvZGF0YS9vc3RhYmxlCitAQCAtMTksNiArMTksNyBAQCBiYXNlLXVjbGliYy1saW51eAlsaW51eC11Y2xpYmMJCWxpbnV4W14tXSotdWNsaWJjCisgZWFiaWhmLW11c2wtbGludXgJbGludXgtbXVzbGVhYmloZglsaW51eFteLV0qLW11c2xlYWJpaGYKKyBlYWJpLW11c2wtbGludXgJCWxpbnV4LW11c2xlYWJpCQlsaW51eFteLV0qLW11c2xlYWJpCisgYmFzZS1tdXNsLWxpbnV4CQlsaW51eC1tdXNsCQlsaW51eFteLV0qLW11c2wKKyt4MzItbXVzbC1saW51eAkJbGludXgtbXVzbHgzMgkJbGludXhbXi1dKi1tdXNseDMyCisgZWFiaWhmLWdudS1saW51eAlsaW51eC1nbnVlYWJpaGYJCWxpbnV4W14tXSotZ251ZWFiaWhmCisgZWFiaS1nbnUtbGludXgJCWxpbnV4LWdudWVhYmkJCWxpbnV4W14tXSotZ251ZWFiaQorIGFiaW4zMi1nbnUtbGludXgJbGludXgtZ251YWJpbjMyCQlsaW51eFteLV0qLWdudWFiaW4zMgorZGlmZiAtLWdpdCBhL2RhdGEvdHVwbGV0YWJsZSBiL2RhdGEvdHVwbGV0YWJsZQoraW5kZXggMjhmMDBiZi4uNzQ4ZmZhYiAxMDA2NDQKKy0tLSBhL2RhdGEvdHVwbGV0YWJsZQorKysrIGIvZGF0YS90dXBsZXRhYmxlCitAQCAtMTAsNiArMTAsNyBAQCBiYXNlLXVjbGliYy1saW51eC08Y3B1PgkJdWNsaWJjLWxpbnV4LTxjcHU+CisgZWFiaWhmLW11c2wtbGludXgtYXJtCQltdXNsLWxpbnV4LWFybWhmCisgZWFiaS1tdXNsLWxpbnV4LWFybQkJbXVzbC1saW51eC1hcm1lbAorIGJhc2UtbXVzbC1saW51eC08Y3B1PgkJbXVzbC1saW51eC08Y3B1PgorK3gzMi1tdXNsLWxpbnV4LWFtZDY0CQl4MzIKKyBpbHAzMi1nbnUtbGludXgtYXJtNjQJCWFybTY0aWxwMzIKKyBlYWJpaGYtZ251LWxpbnV4LWFybQkJYXJtaGYKKyBlYWJpLWdudS1saW51eC1hcm0JCWFybWVsCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uLzAwMDItQWRhcHQtdG8tbGludXgtd3JzLWtlcm5lbC12ZXJzaW9uLXdoaWNoLWhhcy1jaGFyYWN0ZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uLzAwMDItQWRhcHQtdG8tbGludXgtd3JzLWtlcm5lbC12ZXJzaW9uLXdoaWNoLWhhcy1jaGFyYWN0ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZmUwY2E3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vMDAwMi1BZGFwdC10by1saW51eC13cnMta2VybmVsLXZlcnNpb24td2hpY2gtaGFzLWNoYXJhY3RlLnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK0Zyb20gYjRlYTU0MTU4YzM5OTg3NGUxMjM5NGViYzkxYWZlOTg5NTQ2OTVlMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogV2VkLCAyNiBBdWcgMjAxNSAxNjoxNjoxNiArMDMwMAorU3ViamVjdDogW1BBVENIIDIvNV0gQWRhcHQgdG8gbGludXgtd3JzIGtlcm5lbCB2ZXJzaW9uLCB3aGljaCBoYXMgY2hhcmFjdGVyCisgJ18nIGluc2lkZS4gUmVtb3ZlIHRoZSBmaXJzdC1jaGFyLWRpZ2l0LWNoZWNrIChhcyB0aGUgMS4xNS44LjUgdmVyc2lvbiBkb2VzKS4KKworU2lnbmVkLW9mZi1ieTogRG9uZ3hpYW8gWHUgPGRvbmd4aWFvLnh1QGludGVsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IENvbnN0YW50aW4gTXVzY2EgPGNvbnN0YW50aW54Lm11c2NhQGludGVsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKy0tLQorIGxpYi9kcGtnL3BhcnNlaGVscC5jIHwgNiArKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliL2Rwa2cvcGFyc2VoZWxwLmMgYi9saWIvZHBrZy9wYXJzZWhlbHAuYworaW5kZXggNDUzMDc3ZmQ5Li5mNDJlYTI4ODIgMTAwNjQ0CistLS0gYS9saWIvZHBrZy9wYXJzZWhlbHAuYworKysrIGIvbGliL2Rwa2cvcGFyc2VoZWxwLmMKK0BAIC0yNDMsMTQgKzI0MywxMiBAQCBwYXJzZXZlcnNpb24oc3RydWN0IGRwa2dfdmVyc2lvbiAqcnZlcnNpb24sIGNvbnN0IGNoYXIgKnN0cmluZywKKyAgIHB0ciA9IHJ2ZXJzaW9uLT52ZXJzaW9uOworICAgaWYgKCEqcHRyKQorICAgICByZXR1cm4gZHBrZ19wdXRfZXJyb3IoZXJyLCBfKCJ2ZXJzaW9uIG51bWJlciBpcyBlbXB0eSIpKTsKKy0gIGlmICgqcHRyICYmICFjX2lzZGlnaXQoKnB0cisrKSkKKy0gICAgcmV0dXJuIGRwa2dfcHV0X3dhcm4oZXJyLCBfKCJ2ZXJzaW9uIG51bWJlciBkb2VzIG5vdCBzdGFydCB3aXRoIGRpZ2l0IikpOworICAgZm9yICg7ICpwdHI7IHB0cisrKSB7CistICAgIGlmICghY19pc2RpZ2l0KCpwdHIpICYmICFjX2lzYWxwaGEoKnB0cikgJiYgc3RyY2hyKCIuLSt+OiIsICpwdHIpID09IE5VTEwpCisrICAgIGlmICghY19pc2RpZ2l0KCpwdHIpICYmICFjX2lzYWxwaGEoKnB0cikgJiYgc3RyY2hyKCIuLSt+Ol8iLCAqcHRyKSA9PSBOVUxMKQorICAgICAgIHJldHVybiBkcGtnX3B1dF93YXJuKGVyciwgXygiaW52YWxpZCBjaGFyYWN0ZXIgaW4gdmVyc2lvbiBudW1iZXIiKSk7CisgICB9CisgICBmb3IgKHB0ciA9IHJ2ZXJzaW9uLT5yZXZpc2lvbjsgKnB0cjsgcHRyKyspIHsKKy0gICAgaWYgKCFjX2lzZGlnaXQoKnB0cikgJiYgIWNfaXNhbHBoYSgqcHRyKSAmJiBzdHJjaHIoIi4rfiIsICpwdHIpID09IE5VTEwpCisrICAgIGlmICghY19pc2RpZ2l0KCpwdHIpICYmICFjX2lzYWxwaGEoKnB0cikgJiYgc3RyY2hyKCIuLSt+XyIsICpwdHIpID09IE5VTEwpCisgICAgICAgcmV0dXJuIGRwa2dfcHV0X3dhcm4oZXJyLCBfKCJpbnZhbGlkIGNoYXJhY3RlciBpbiByZXZpc2lvbiBudW1iZXIiKSk7CisgICB9CisgCisKKy0tIAorMi4xMS4wCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi8wMDAzLU91ci1wcmUtcG9zdGluc3RzLWV4cGVjdC1ELXRvLWJlLXNldC13aGVuLXJ1bm5pbmctaW4ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi8wMDAzLU91ci1wcmUtcG9zdGluc3RzLWV4cGVjdC1ELXRvLWJlLXNldC13aGVuLXJ1bm5pbmctaW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTNkODcwNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uLzAwMDMtT3VyLXByZS1wb3N0aW5zdHMtZXhwZWN0LUQtdG8tYmUtc2V0LXdoZW4tcnVubmluZy1pbi5wYXRjaApAQCAtMCwwICsxLDc1IEBACitGcm9tIDI0MjI5OTcxNDkyNTE1YjY0YzgxZThjNjM5MmU1ZGZiZGMyMmI0NGMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMjYgQXVnIDIwMTUgMTY6MjU6NDUgKzAzMDAKK1N1YmplY3Q6IFtQQVRDSCAzLzVdIE91ciBwcmUvcG9zdGluc3RzIGV4cGVjdCAkRCB0byBiZSBzZXQgd2hlbiBydW5uaW5nIGluIGEKKyBzeXNyb290IGFuZCBkb24ndCBleHBlY3QgYSBjaHJvb3QuIFRoaXMgbWF0Y2hlcyB1cCBvdXIgc3lzdGVtIGV4cGVjdGF0aW9ucworIHdpdGggd2hhdCBkcGtnIGRvZXMuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0UgU3BlY2lmaWNdCisKK1JQIDIwMTEvMTIvMDcKK0FMSU1PTiAyMDE2LzA1LzI2CitBTElNT04gMjAxNy8wMi8yMQorLS0tCisgc3JjL3NjcmlwdC5jIHwgNDQgKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCA0MSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9zY3JpcHQuYyBiL3NyYy9zY3JpcHQuYworaW5kZXggMmYyNTJhZS4uNzY4YTlkMSAxMDA2NDQKKy0tLSBhL3NyYy9zY3JpcHQuYworKysrIGIvc3JjL3NjcmlwdC5jCitAQCAtOTcsNDggKzk3LDEwIEBAIHNldGV4ZWN1dGUoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0YXQgKnN0YWIpCisgc3RhdGljIGNvbnN0IGNoYXIgKgorIG1haW50c2NyaXB0X3ByZV9leGVjKHN0cnVjdCBjb21tYW5kICpjbWQpCisgeworLQljb25zdCBjaGFyICphZG1pbmRpciA9IGRwa2dfZGJfZ2V0X2RpcigpOworLQljb25zdCBjaGFyICpjaGFuZ2VkaXI7CistCXNpemVfdCBpbnN0ZGlybGVuID0gc3RybGVuKGluc3RkaXIpOworLQorLQlpZiAoaW5zdGRpcmxlbiA+IDAgJiYgZmNfc2NyaXB0X2Nocm9vdGxlc3MpCistCQljaGFuZ2VkaXIgPSBpbnN0ZGlyOworLQllbHNlCistCQljaGFuZ2VkaXIgPSAiLyI7CistCistCWlmIChpbnN0ZGlybGVuID4gMCAmJiAhZmNfc2NyaXB0X2Nocm9vdGxlc3MpIHsKKy0JCWlmIChzdHJuY21wKGFkbWluZGlyLCBpbnN0ZGlyLCBpbnN0ZGlybGVuKSAhPSAwKQorLQkJCW9oc2hpdChfKCJhZG1pbmRpciBtdXN0IGJlIGluc2lkZSBpbnN0ZGlyIGZvciBkcGtnIHRvIHdvcmsgcHJvcGVybHkiKSk7CistCQlpZiAoc2V0ZW52KCJEUEtHX0FETUlORElSIiwgYWRtaW5kaXIgKyBpbnN0ZGlybGVuLCAxKSA8IDApCistCQkJb2hzaGl0ZShfKCJ1bmFibGUgdG8gc2V0ZW52IGZvciBzdWJwcm9jZXNzZXMiKSk7CistCQlpZiAoc2V0ZW52KCJEUEtHX1JPT1QiLCAiIiwgMSkgPCAwKQorLQkJCW9oc2hpdGUoXygidW5hYmxlIHRvIHNldGVudiBmb3Igc3VicHJvY2Vzc2VzIikpOworLQorLQkJaWYgKGNocm9vdChpbnN0ZGlyKSkKKy0JCQlvaHNoaXRlKF8oImZhaWxlZCB0byBjaHJvb3QgdG8gJyUuMjUwcyciKSwgaW5zdGRpcik7CisrCWlmICgqaW5zdGRpcikgeworKwkJc2V0ZW52KCJEIiwgaW5zdGRpciwgMSk7CisgCX0KKy0JLyogU3dpdGNoIHRvIGEga25vd24gZ29vZCBkaXJlY3RvcnkgdG8gZ2l2ZSB0aGUgbWFpbnRhaW5lciBzY3JpcHQKKy0JICogYSBzYW5lciBlbnZpcm9ubWVudCwgYWxzbyBuZWVkZWQgYWZ0ZXIgdGhlIGNocm9vdCgpLiAqLworLQlpZiAoY2hkaXIoY2hhbmdlZGlyKSkKKy0JCW9oc2hpdGUoXygiZmFpbGVkIHRvIGNoZGlyIHRvICclLjI1NXMnIiksIGNoYW5nZWRpcik7CistCWlmIChkZWJ1Z19oYXNfZmxhZyhkYmdfc2NyaXB0cykpIHsKKy0JCXN0cnVjdCB2YXJidWYgYXJncyA9IFZBUkJVRl9JTklUOworLQkJY29uc3QgY2hhciAqKmFyZ3YgPSBjbWQtPmFyZ3Y7CistCistCQl3aGlsZSAoKisrYXJndikgeworLQkJCXZhcmJ1Zl9hZGRfY2hhcigmYXJncywgJyAnKTsKKy0JCQl2YXJidWZfYWRkX3N0cigmYXJncywgKmFyZ3YpOworLQkJfQorLQkJdmFyYnVmX2VuZF9zdHIoJmFyZ3MpOworLQkJZGVidWcoZGJnX3NjcmlwdHMsICJmb3JrL2V4ZWMgJXMgKCVzICkiLCBjbWQtPmZpbGVuYW1lLAorLQkJICAgICAgYXJncy5idWYpOworLQkJdmFyYnVmX2Rlc3Ryb3koJmFyZ3MpOworLQl9CistCWlmIChpbnN0ZGlybGVuID09IDAgfHwgZmNfc2NyaXB0X2Nocm9vdGxlc3MpCistCQlyZXR1cm4gY21kLT5maWxlbmFtZTsKKy0KKy0JYXNzZXJ0KHN0cmxlbihjbWQtPmZpbGVuYW1lKSA+PSBpbnN0ZGlybGVuKTsKKy0JcmV0dXJuIGNtZC0+ZmlsZW5hbWUgKyBpbnN0ZGlybGVuOworKwlyZXR1cm4gY21kLT5maWxlbmFtZTsKKyB9CisgCisgLyoqCistLSAKKzIuMS40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uLzAwMDQtVGhlLWx1dGltZXMtZnVuY3Rpb24tZG9lc24tdC13b3JrLXByb3Blcmx5LWZvci1hbGwtcy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uLzAwMDQtVGhlLWx1dGltZXMtZnVuY3Rpb24tZG9lc24tdC13b3JrLXByb3Blcmx5LWZvci1hbGwtcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NmM4NWM3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vMDAwNC1UaGUtbHV0aW1lcy1mdW5jdGlvbi1kb2Vzbi10LXdvcmstcHJvcGVybHktZm9yLWFsbC1zLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gYWRiNmJmZDBmZWVjZWFmMDMwZGYwZGViZTMzNDNkN2Y3M2U3MDhhMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogV2VkLCAyNiBBdWcgMjAxNSAxNjoyNzo0NSArMDMwMAorU3ViamVjdDogW1BBVENIIDQvNV0gVGhlIGx1dGltZXMgZnVuY3Rpb24gZG9lc24ndCB3b3JrIHByb3Blcmx5IGZvciBhbGwKKyBzeXN0ZW1zLgorCitTaWduZWQtb2ZmLWJ5OiBDb25zdGFudGluIE11c2NhIDxjb25zdGFudGlueC5tdXNjYUBpbnRlbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCistLS0KKyBzcmMvYXJjaGl2ZXMuYyB8IDMgKystCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2FyY2hpdmVzLmMgYi9zcmMvYXJjaGl2ZXMuYworaW5kZXggYmZmNWYxNC4uYjcxMTAxMyAxMDA2NDQKKy0tLSBhL3NyYy9hcmNoaXZlcy5jCisrKysgYi9zcmMvYXJjaGl2ZXMuYworQEAgLTQ0OSw4ICs0NDksOSBAQCB0YXJvYmplY3Rfc2V0X210aW1lKHN0cnVjdCB0YXJfZW50cnkgKnRlLCBjb25zdCBjaGFyICpwYXRoKQorIAorICAgaWYgKHRlLT50eXBlID09IFRBUl9GSUxFVFlQRV9TWU1MSU5LKSB7CisgI2lmZGVmIEhBVkVfTFVUSU1FUworLSAgICBpZiAobHV0aW1lcyhwYXRoLCB0dikgJiYgZXJybm8gIT0gRU5PU1lTKQorKy8qICAgIGlmIChsdXRpbWVzKHBhdGgsIHR2KSAmJiBlcnJubyAhPSBFTk9TWVMpCisgICAgICAgb2hzaGl0ZShfKCJlcnJvciBzZXR0aW5nIHRpbWVzdGFtcHMgb2YgJyUuMjU1cyciKSwgcGF0aCk7CisrKi8KKyAjZW5kaWYKKyAgIH0gZWxzZSB7CisgICAgIGlmICh1dGltZXMocGF0aCwgdHYpKQorLS0gCisyLjEuNAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi8wMDA1LWRwa2ctY29tcGlsZXIubTQtcmVtb3ZlLVd2bGEucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi8wMDA1LWRwa2ctY29tcGlsZXIubTQtcmVtb3ZlLVd2bGEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTZlOTZmMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uLzAwMDUtZHBrZy1jb21waWxlci5tNC1yZW1vdmUtV3ZsYS5wYXRjaApAQCAtMCwwICsxLDM2IEBACitGcm9tIDBhZDdiYmE4MGQ1YjkwMzUwODlmZjJiMmY3N2E3NzRiNWIyMDE5MTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMjYgQXVnIDIwMTUgMTY6Mjg6NTkgKzAzMDAKK1N1YmplY3Q6IFtQQVRDSCA1LzVdIGRwa2ctY29tcGlsZXIubTQ6IHJlbW92ZSAtV3ZsYQorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitSZW1vdmUgdGhlIC1XdmxhIGZsYWcgZnJvbSB0aGUgc2V0IG9mIGNvbXBpbGVyIHdhcm5pbmcgZmxhZ3MsIHNpbmNlIGdjYworb24gb2xkIGhvc3Qgc3lzdGVtcyBzdWNoIGFzIENlbnRPUyA1LjggZG9lc24ndCBzdXBwb3J0IGl0LCBhbmQgaXQKK2NhdXNlcyBhIGJ1aWxkIGVycm9yIGZvciBkcGtnLW5hdGl2ZS4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IERvbm4gU2VlbGV5IDxkb25uLnNlZWxleUB3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CitTaWduZWQtb2ZmLWJ5OiBBbsOtYmFsIExpbcOzbiA8YW5pYmFsLmxpbW9uQGxpbnV4LmludGVsLmNvbT4KKy0tLQorIG00L2Rwa2ctY29tcGlsZXIubTQgfCAxIC0KKyAxIGZpbGUgY2hhbmdlZCwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbTQvZHBrZy1jb21waWxlci5tNCBiL200L2Rwa2ctY29tcGlsZXIubTQKK2luZGV4IDY4Mjg1N2MuLjIzZWQ3ZDAgMTAwNjQ0CistLS0gYS9tNC9kcGtnLWNvbXBpbGVyLm00CisrKysgYi9tNC9kcGtnLWNvbXBpbGVyLm00CitAQCAtNTIsNyArNTIsNiBAQCBBQ19ERUZVTihbRFBLR19DSEVDS19DT01QSUxFUl9XQVJOSU5HU10sIFsKKyAgIERQS0dfQ0hFQ0tfQ09NUElMRVJfRkxBRyhbLVdsb2dpY2FsLW9wXSkKKyAgIERQS0dfQ0hFQ0tfQ09NUElMRVJfRkxBRyhbLVdsb2dpY2FsLW5vdC1wYXJlbnRoZXNlc10pCisgICBEUEtHX0NIRUNLX0NPTVBJTEVSX0ZMQUcoWy1Xc3dpdGNoLWJvb2xdKQorLSAgRFBLR19DSEVDS19DT01QSUxFUl9GTEFHKFstV3ZsYV0pCisgICBEUEtHX0NIRUNLX0NPTVBJTEVSX0ZMQUcoWy1XaW5pdC1zZWxmXSkKKyAgIERQS0dfQ0hFQ0tfQ09NUElMRVJfRkxBRyhbLVd3cml0ZS1zdHJpbmdzXSkKKyAgIERQS0dfQ0hFQ0tfQ09NUElMRVJfRkxBRyhbLVdjYXN0LWFsaWduXSkKKy0tIAorMi4xLjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vMDAwNi1hZGQtbXVzbGVhYmktdG8ta25vd24tdGFyZ2V0LXRyaXBldHMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi8wMDA2LWFkZC1tdXNsZWFiaS10by1rbm93bi10YXJnZXQtdHJpcGV0cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Nzk3ZWE1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vMDAwNi1hZGQtbXVzbGVhYmktdG8ta25vd24tdGFyZ2V0LXRyaXBldHMucGF0Y2gKQEAgLTAsMCArMSw0MiBAQAorRnJvbSBmODkxMDAyMmRjM2VjNjIyMjcyZjE2OGNkMDAyMmRiZGY2ZGZmOTNhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMzAgRGVjIDIwMTUgMjM6MDU6NDEgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gYWRkIG11c2xlYWJpIHRvIGtub3duIHRhcmdldCB0cmlwZXRzCisKK2hlbHBzIGNvbXBpbGluZyBkcGtnIGZvciBtdXNsL2FybS1zb2Z0ZmxvYXQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogQW7DrWJhbCBMaW3Ds24gPGFuaWJhbC5saW1vbkBsaW51eC5pbnRlbC5jb20+CistLS0KKyBkYXRhL29zdGFibGUgICAgfCAxICsKKyBkYXRhL3R1cGxldGFibGUgfCAxICsKKyAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvZGF0YS9vc3RhYmxlIGIvZGF0YS9vc3RhYmxlCitpbmRleCA5OWMxZjg4OWQuLmJlNjQzNDI3MSAxMDA2NDQKKy0tLSBhL2RhdGEvb3N0YWJsZQorKysrIGIvZGF0YS9vc3RhYmxlCitAQCAtMTcsNiArMTcsNyBAQAorIGVhYmktdWNsaWJjLWxpbnV4CWxpbnV4LXVjbGliY2VhYmkJbGludXhbXi1dKi11Y2xpYmNlYWJpCisgYmFzZS11Y2xpYmMtbGludXgJbGludXgtdWNsaWJjCQlsaW51eFteLV0qLXVjbGliYworIGVhYmloZi1tdXNsLWxpbnV4CWxpbnV4LW11c2xlYWJpaGYJbGludXhbXi1dKi1tdXNsZWFiaWhmCisrZWFiaS1tdXNsLWxpbnV4CQlsaW51eC1tdXNsZWFiaQkJbGludXhbXi1dKi1tdXNsZWFiaQorIGJhc2UtbXVzbC1saW51eAkJbGludXgtbXVzbAkJbGludXhbXi1dKi1tdXNsCisgZWFiaWhmLWdudS1saW51eAlsaW51eC1nbnVlYWJpaGYJCWxpbnV4W14tXSotZ251ZWFiaWhmCisgZWFiaS1nbnUtbGludXgJCWxpbnV4LWdudWVhYmkJCWxpbnV4W14tXSotZ251ZWFiaQorZGlmZiAtLWdpdCBhL2RhdGEvdHVwbGV0YWJsZSBiL2RhdGEvdHVwbGV0YWJsZQoraW5kZXggNWY1MDBmNmNhLi4yOGYwMGJmZTYgMTAwNjQ0CistLS0gYS9kYXRhL3R1cGxldGFibGUKKysrKyBiL2RhdGEvdHVwbGV0YWJsZQorQEAgLTgsNiArOCw3IEBACisgZWFiaS11Y2xpYmMtbGludXgtYXJtCQl1Y2xpYmMtbGludXgtYXJtZWwKKyBiYXNlLXVjbGliYy1saW51eC08Y3B1PgkJdWNsaWJjLWxpbnV4LTxjcHU+CisgZWFiaWhmLW11c2wtbGludXgtYXJtCQltdXNsLWxpbnV4LWFybWhmCisrZWFiaS1tdXNsLWxpbnV4LWFybQkJbXVzbC1saW51eC1hcm1lbAorIGJhc2UtbXVzbC1saW51eC08Y3B1PgkJbXVzbC1saW51eC08Y3B1PgorIGlscDMyLWdudS1saW51eC1hcm02NAkJYXJtNjRpbHAzMgorIGVhYmloZi1nbnUtbGludXgtYXJtCQlhcm1oZgorLS0gCisyLjExLjAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vMDAwNy1kcGtnLWRlYi1idWlsZC5jLVJlbW92ZS11c2FnZS1vZi1jbGFtcC1tdGltZS1pbi10YXIucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi8wMDA3LWRwa2ctZGViLWJ1aWxkLmMtUmVtb3ZlLXVzYWdlLW9mLWNsYW1wLW10aW1lLWluLXRhci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjk4NWRmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vMDAwNy1kcGtnLWRlYi1idWlsZC5jLVJlbW92ZS11c2FnZS1vZi1jbGFtcC1tdGltZS1pbi10YXIucGF0Y2gKQEAgLTAsMCArMSwzOSBAQAorRnJvbSA4NjU5ZWVlZWRhNzRkNzFlMTIwODAxMjFmMGIxM2E4OGNiZGRhNDMzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuPUMzPUFEYmFsPTIwTGltPUMzPUIzbj89IDxhbmliYWwubGltb25AbGludXguaW50ZWwuY29tPgorRGF0ZTogVHVlLCAyMSBGZWIgMjAxNyAxMToyMzoyNyAtMDYwMAorU3ViamVjdDogW1BBVENIXSBkcGtnLWRlYi9idWlsZC5jOiBSZW1vdmUgdXNhZ2Ugb2YgLS1jbGFtcC1tdGltZSBpbiB0YXIKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworUmVjZW50bHkgZHBrZyBhZGRlZCAtLWNsYW1wLW10aW1lIHRvIHRhciB0byBjcmVhdGUgcmVwcm9kdWNpYmxlCitidWlsZCB0YXJiYWxscyBbMV0uCisKK0J1dCBob3N0IHRvb2xzIGRvZXNuJ3Qgc3VwcG9ydCB0aGlzIG9wdGlvbiBiZWNhdXNlIGlzIG5ldyBvbiB0YXIKK3NvIGRpc2FibGUgaW4gb3VyIGJ1aWxkcy4KKworU2lnbmVkLW9mZi1ieTogQW7DrWJhbCBMaW3Ds24gPGFuaWJhbC5saW1vbkBsaW51eC5pbnRlbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbQ29uZmlndXJhdGlvbl0KKworWzFdIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnL2NnaS1iaW4vYnVncmVwb3J0LmNnaT9idWc9NzU5OTk5IzIwCitbMl0gaHR0cHM6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9oZWxwLXRhci8yMDE2LTAxL21zZzAwMDAwLmh0bWwKKy0tLQorIGRwa2ctZGViL2J1aWxkLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9kcGtnLWRlYi9idWlsZC5jIGIvZHBrZy1kZWIvYnVpbGQuYworaW5kZXggYTkyYjU4ZS4uYTNkMTkxMiAxMDA2NDQKKy0tLSBhL2Rwa2ctZGViL2J1aWxkLmMKKysrKyBiL2Rwa2ctZGViL2J1aWxkLmMKK0BAIC00NTAsNyArNDUwLDcgQEAgdGFyYmFsbF9wYWNrKGNvbnN0IGNoYXIgKmRpciwgZmlsZW5hbWVzX2ZlZWRfZnVuYyAqdGFyX2ZpbGVuYW1lc19mZWVkZXIsCisgCisgICAgIGNvbW1hbmRfaW5pdCgmY21kLCBUQVIsICJ0YXIgLWNmIik7CisgICAgIGNvbW1hbmRfYWRkX2FyZ3MoJmNtZCwgInRhciIsICItY2YiLCAiLSIsICItLWZvcm1hdD1nbnUiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICItLW10aW1lIiwgbXRpbWUsICItLWNsYW1wLW10aW1lIiwgTlVMTCk7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tbXRpbWUiLCBtdGltZSwgTlVMTCk7CisgICAgIC8qIE1vZGUgbWlnaHQgYmVjb21lIGEgcG9zaXRpb25hbCBhcmd1bWVudCwgcGFzcyBpdCBiZWZvcmUgLVQuICovCisgICAgIGlmIChtb2RlKQorICAgICAgIGNvbW1hbmRfYWRkX2FyZ3MoJmNtZCwgIi0tbW9kZSIsIG1vZGUsIE5VTEwpOworLS0gCisyLjExLjAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uL2FkZF9hcm1lYl90cmlwbGV0X2VudHJ5LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vYWRkX2FybWViX3RyaXBsZXRfZW50cnkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDE2NTYxNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uL2FkZF9hcm1lYl90cmlwbGV0X2VudHJ5LnBhdGNoCkBAIC0wLDAgKzEsNDggQEAKK0F1dGhvcjogS3Jpc2huYW5qYW5hcHBhLCBKYWdhZGVlc2ggPGphZ2FkZWVzaC5rcmlzaG5hbmphbmFwcGFAY2F2aXVtbmV0d29ya3MuY29tPgorRGF0ZTogICBXZWQgQXByIDggMTg6MDg6MTQgMjAxNSArMDUzMAorCitbUEFUQ0hdIGFkZCBhcm1lYiB0cmlwbGV0IGVudHJ5IGludG8gdHJpcGxldHRhYmxlLgorCitDcm9zcy1jb21wbGluZyBkcGtnIGFwcGxpY2F0aW9uIGZvciBhcm1lYiBmYWlscyB3aXRoIGJlbG93IGVycm9yCitkdXJpbmcgY29uZmlndXJlIHRhc2ssCisKKyhzbmlwKQorIGNvbmZpZ3VyZToyMzE0MTogY2hlY2tpbmcgZHBrZyBjcHUgdHlwZQorIGNvbmZpZ3VyZToyMzE0ODogcmVzdWx0OiBhcm1lYgorIGNvbmZpZ3VyZToyMzE1MDogV0FSTklORzogYXJtZWIgbm90IGZvdW5kIGluIGNwdXRhYmxlCisgY29uZmlndXJlOjIzMTYyOiBjaGVja2luZyBkcGtnIG9wZXJhdGluZyBzeXN0ZW0gdHlwZQorIGNvbmZpZ3VyZToyMzE2OTogcmVzdWx0OiBsaW51eC1nbnVlYWJpCisgY29uZmlndXJlOjIzMTcxOiBXQVJOSU5HOiBsaW51eC1nbnVlYWJpIG5vdCBmb3VuZCBpbiBvc3RhYmxlCisgY29uZmlndXJlOjIzMTgzOiBjaGVja2luZyBkcGtnIGFyY2hpdGVjdHVyZSBuYW1lCisgY29uZmlndXJlOjIzMTg5OiBlcnJvcjogY2Fubm90IGRldGVybWluZSBob3N0IGRwa2cgYXJjaGl0ZWN0dXJlCistLSBDVVQgLS0KKwordGhlIHJlcXVpcmVkIGNvbWJpbmF0aW9uIG9mICJnbnVlYWJpLWxpbnV4LWFybWViIiB3YXMgbm90IGZvdW5kIGluCit0aGUgdHJpcGxldHRhYmxlIGZpbGUgdGhlcmVieSByZXR1cm5pbmcgZHBrZ19hcmNoIGFzCitlbXB0eSBpbiBjb25maWd1cmUgc2NyaXB0LgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS3Jpc2huYW5qYW5hcHBhLCBKYWdhZGVlc2ggPGphZ2FkZWVzaC5rcmlzaG5hbmphbmFwcGFAY2F2aXVtbmV0d29ya3MuY29tPgorU2lnbmVkLW9mZi1ieTogQW7DrWJhbCBMaW3Ds24gPGFuaWJhbC5saW1vbkBsaW51eC5pbnRlbC5jb20+CisKKy0tLQorIGRhdGEvdHVwbGV0YWJsZSB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvZGF0YS90dXBsZXRhYmxlIGIvZGF0YS90dXBsZXRhYmxlCitpbmRleCBiNzgwMmJlYzMuLjVmNTAwZjZjYSAxMDA2NDQKKy0tLSBhL2RhdGEvdHVwbGV0YWJsZQorKysrIGIvZGF0YS90dXBsZXRhYmxlCitAQCAtMTIsNiArMTIsNyBAQCBiYXNlLW11c2wtbGludXgtPGNwdT4JCW11c2wtbGludXgtPGNwdT4KKyBpbHAzMi1nbnUtbGludXgtYXJtNjQJCWFybTY0aWxwMzIKKyBlYWJpaGYtZ251LWxpbnV4LWFybQkJYXJtaGYKKyBlYWJpLWdudS1saW51eC1hcm0JCWFybWVsCisrZWFiaS1nbnUtbGludXgtYXJtZWIJCWFybWViCisgYWJpbjMyLWdudS1saW51eC1taXBzNjRyNmVsCW1pcHNuMzJyNmVsCisgYWJpbjMyLWdudS1saW51eC1taXBzNjRyNgltaXBzbjMycjYKKyBhYmluMzItZ251LWxpbnV4LW1pcHM2NGVsCW1pcHNuMzJlbAorLS0gCisyLjExLjAKKworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi9hcmNoX3BtLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vYXJjaF9wbS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZTBkMjJhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vYXJjaF9wbS5wYXRjaApAQCAtMCwwICsxLDI5IEBACitjb25maWd1cmUgY2Fubm90IGRldGVybWluZSB0aGUgcHJvcGVyIGNwdSwgb3MsIG9yCithcmNoaXRlY3R1cmUgZm9yIG1pcHM2NCwgYW5kIHBvc3NpYmx5IG90aGVyIGFyY2gncworYmVjYXVzZSBvZiBmYXVsdHkgY29kZSBhZGRlZCB0byBBcmNoLnBtIGluIHRoZSBsYXRlc3QKK3JlbGVhc2UgZnJvbSB1cHN0cmVhbS4gIFdlIHJlbW92ZSB0aGF0IGNvZGUuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBKb2UgU2xhdGVyIDxqc2xhdGVyQHdpbmRyaXZlci5jb20+CisKKy0tLQorIHNjcmlwdHMvRHBrZy9BcmNoLnBtIHwgMyAtLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NjcmlwdHMvRHBrZy9BcmNoLnBtIGIvc2NyaXB0cy9EcGtnL0FyY2gucG0KK2luZGV4IDE3MjA4NDdiOC4uNjM0NWNlM2I5IDEwMDY0NAorLS0tIGEvc2NyaXB0cy9EcGtnL0FyY2gucG0KKysrKyBiL3NjcmlwdHMvRHBrZy9BcmNoLnBtCitAQCAtMzIzLDkgKzMyMyw2IEBAIHN1YiBfbG9hZF90dXBsZXRhYmxlKCkKKyAJCSAgICAobXkgJGR0ID0gJGRlYnR1cGxlKSA9fiBzLzxjcHU+LyRfY3B1LzsKKyAJCSAgICAobXkgJGRhID0gJGRlYmFyY2gpID1+IHMvPGNwdT4vJF9jcHUvOworIAorLQkJICAgIG5leHQgaWYgZXhpc3RzICRkZWJhcmNoX3RvX2RlYnR1cGxleyRkYX0KKy0JCSAgICAgICAgIG9yIGV4aXN0cyAkZGVidHVwbGVfdG9fZGViYXJjaHskZHR9OworLQorIAkJICAgICRkZWJhcmNoX3RvX2RlYnR1cGxleyRkYX0gPSAkZHQ7CisgCQkgICAgJGRlYnR1cGxlX3RvX2RlYmFyY2h7JGR0fSA9ICRkYTsKKyAJCX0KKy0tIAorMi4xMS4wCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi9ub21hbi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uL25vbWFuLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3ZjNjYjgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi9ub21hbi5wYXRjaApAQCAtMCwwICsxLDIyIEBACitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2Rpc2FibGUgZmVhdHVyZV0KKworLS0tCisgTWFrZWZpbGUuYW0gfCAzICstLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KK2luZGV4IDBkYTUyY2IxNi4uYTFmNzllMGEyIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUuYW0KKysrKyBiL01ha2VmaWxlLmFtCitAQCAtMTMsOCArMTMsNyBAQCBTVUJESVJTID0gXAorIAkkKE1BWUJFX0RTRUxFQ1QpIFwKKyAJc2NyaXB0cyBcCisgCXQtZnVuYyBcCistCXBvIFwKKy0JbWFuCisrCXBvCisgCisgQUNMT0NBTF9BTUZMQUdTID0gLUkgbTQKKyAKKy0tIAorMi4xMS4wCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi9yZW1vdmUtdGFyLW5vLXRpbWVzdGFtcC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uL3JlbW92ZS10YXItbm8tdGltZXN0YW1wLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRmNDA4ZmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi9yZW1vdmUtdGFyLW5vLXRpbWVzdGFtcC5wYXRjaApAQCAtMCwwICsxLDE3IEBACitidXN5Ym94LTEuMTkuNCB0YXIgdXRpbGl0eSBkb2Vzbid0IHN1cHBvcnQgLS13YXJuaW5nPW5vLXRpbWVzdGFtcAorCitTaWduZWQtb2ZmLWJ5OiBDb25zdGFudGluIE11c2NhIDxjb25zdGFudGlueC5tdXNjYUBpbnRlbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KK0luZGV4OiBkcGtnLTEuMTcuMS9kcGtnLWRlYi9leHRyYWN0LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBkcGtnLTEuMTcuMS5vcmlnL2Rwa2ctZGViL2V4dHJhY3QuYworKysrIGRwa2ctMS4xNy4xL2Rwa2ctZGViL2V4dHJhY3QuYworQEAgLTMxOCw3ICszMTgsNiBAQCBleHRyYWN0aGFsZihjb25zdCBjaGFyICpkZWJhciwgY29uc3QgY2hhCisgCisgICAgICAgY29tbWFuZF9hZGRfYXJnKCZjbWQsICItZiIpOworICAgICAgIGNvbW1hbmRfYWRkX2FyZygmY21kLCAiLSIpOworLSAgICAgIGNvbW1hbmRfYWRkX2FyZygmY21kLCAiLS13YXJuaW5nPW5vLXRpbWVzdGFtcCIpOworIAorICAgICAgIG1fZHVwMihwMlswXSwwKTsKKyAgICAgICBjbG9zZShwMlswXSk7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbl8xLjE3LjI1LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb25fMS4xNy4yNS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjliMjJhMy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbl8xLjE3LjI1LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotU1VNTUFSWSA9ICJEZWJpYW4ncyBzdGFydC1zdG9wLWRhZW1vbiB1dGlsaXR5IGV4dHJhY3RlZCBmcm9tIHRoZSBkcGtnIFwKLXBhY2thZ2UiCi1MSUNFTlNFID0gIlBEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vdXRpbHMvc3RhcnQtc3RvcC1kYWVtb24uYztlbmRsaW5lPTIxO21kNT04ZmJkMDQ5N2E3ZDBiMDFlOTk4MjBiZmZjYjU4ZTlhZCIKLSMgc3RhcnQtc3RvcC1kYWVtb24gaXMgdXN1YWxseSBzaGlwcGVkIGJ5IGRwa2cKLURFUEVORFMgPSAibmN1cnNlcyIKLVJDT05GTElDVFNfJHtQTn0gPSAiZHBrZyIKLQotU1JDX1VSSSA9ICIgXAotICAgICR7REVCSUFOX01JUlJPUn0vbWFpbi9kL2Rwa2cvZHBrZ18ke1BWfS50YXIueHogXAotICAgIGZpbGU6Ly8wMDAxLWRwa2ctc3RhcnQtc3RvcC1kYWVtb24tQWNjZXB0LVNJRy1wcmVmaXhlZC1zaWduYWwtbmEucGF0Y2ggXAotICAgIGZpbGU6Ly8wMDAxLUFkZC1saW51eC1tdXNsZWFiaS10by1vc3RhYmxlLnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gImU0OGZjZmRiMjE2MmU3N2Q3MmMyYTgzNDMyZDUzN2NhIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA3MDE5ZDM4YWU5OGZiMTA3Yzc5ZGJiMzY5MGNmYWRmZjg3N2YxNTNiOGM0OTcwZTNhMzBkMmU1OWFhNjZiYWEiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnCi0KLVMgPSAiJHtXT1JLRElSfS9kcGtnLSR7UFZ9IgotCi1FWFRSQV9PRUNPTkYgPSAiIFwKLSAgICAtLXdpdGhvdXQtYnoyIFwKLSAgICAtLXdpdGhvdXQtc2VsaW51eCBcCi0iCi0KLWRvX2luc3RhbGxfYXBwZW5kICgpIHsKLSAgICAjIHJlbW92ZSBldmVyeXRoaW5nIHRoYXQgaXMgbm90IHJlbGF0ZWQgdG8gc3RhcnQtc3RvcC1kYWVtb24sIHNpbmNlIHRoZXJlCi0gICAgIyBpcyBubyBleHBsaWNpdCBydWxlIGZvciBvbmx5IGluc3RhbGxpbmcgc3NkCi0gICAgZmluZCAke0R9IC10eXBlIGYgLW5vdCAtbmFtZSAiKnN0YXJ0LXN0b3AtZGFlbW9uKiIgLWV4ZWMgcm0ge30gXDsKLSAgICBmaW5kICR7RH0gLWRlcHRoIC10eXBlIGQgLWVtcHR5IC1leGVjIHJtZGlyIHt9IFw7Ci0KLSAgICAjIHN1cHBvcnQgZm9yIGJ1Z2d5IGluaXQuZCBzY3JpcHRzIHRoYXQgcmVmZXIgdG8gYW4gYWx0ZXJuYXRpdmUKLSAgICAjIGV4cGxpY2l0IHBhdGggdG8gc3RhcnQtc3RvcC1kYWVtb24KLSAgICBpZiBbICIke2Jhc2Vfc2JpbmRpcn0iICE9ICIke3NiaW5kaXJ9IiBdOyB0aGVuCi0gICAgICAgIG1rZGlyIC1wICR7RH0ke2Jhc2Vfc2JpbmRpcn0KLSAgICAgICAgbG4gLXNmICR7c2JpbmRpcn0vc3RhcnQtc3RvcC1kYWVtb24gJHtEfSR7YmFzZV9zYmluZGlyfS9zdGFydC1zdG9wLWRhZW1vbgotICAgIGZpCi19CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbl8xLjE4LjI1LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb25fMS4xOC4yNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMzcyZDNjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb25fMS4xOC4yNS5iYgpAQCAtMCwwICsxLDg3IEBACitTVU1NQVJZID0gIkRlYmlhbidzIHN0YXJ0LXN0b3AtZGFlbW9uIHV0aWxpdHkgZXh0cmFjdGVkIGZyb20gdGhlIGRwa2cgXAorcGFja2FnZSIKK0xJQ0VOU0UgPSAiUEQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly91dGlscy9zdGFydC1zdG9wLWRhZW1vbi5jO2VuZGxpbmU9MjE7bWQ1PThmYmQwNDk3YTdkMGIwMWU5OTgyMGJmZmNiNThlOWFkIgorREVQRU5EUyA9ICJ6bGliIGJ6aXAyIHBlcmwgbmN1cnNlcyIKKyMgc3RhcnQtc3RvcC1kYWVtb24gaXMgdXN1YWxseSBzaGlwcGVkIGJ5IGRwa2cKK1JDT05GTElDVFNfJHtQTn0gPSAiZHBrZyIKKworU1JDX1VSSSA9ICIgXAorICAgICR7REVCSUFOX01JUlJPUn0vbWFpbi9kL2Rwa2cvZHBrZ18ke1BWfS50YXIueHogXAorICAgIGZpbGU6Ly8wMDAxLWRwa2ctc3RhcnQtc3RvcC1kYWVtb24tQWNjZXB0LVNJRy1wcmVmaXhlZC1zaWduYWwtbmEucGF0Y2ggXAorICAgIGZpbGU6Ly9ub21hbi5wYXRjaCBcCisgICAgZmlsZTovL3JlbW92ZS10YXItbm8tdGltZXN0YW1wLnBhdGNoIFwKKyAgICBmaWxlOi8vYXJjaF9wbS5wYXRjaCBcCisgICAgZmlsZTovL2FkZF9hcm1lYl90cmlwbGV0X2VudHJ5LnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMi1BZGFwdC10by1saW51eC13cnMta2VybmVsLXZlcnNpb24td2hpY2gtaGFzLWNoYXJhY3RlLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMy1PdXItcHJlLXBvc3RpbnN0cy1leHBlY3QtRC10by1iZS1zZXQtd2hlbi1ydW5uaW5nLWluLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwNC1UaGUtbHV0aW1lcy1mdW5jdGlvbi1kb2Vzbi10LXdvcmstcHJvcGVybHktZm9yLWFsbC1zLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwNS1kcGtnLWNvbXBpbGVyLm00LXJlbW92ZS1XdmxhLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwNi1hZGQtbXVzbGVhYmktdG8ta25vd24tdGFyZ2V0LXRyaXBldHMucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDA3LWRwa2ctZGViLWJ1aWxkLmMtUmVtb3ZlLXVzYWdlLW9mLWNsYW1wLW10aW1lLWluLXRhci5wYXRjaCBcCisgICAgZmlsZTovLzAwMDEtZHBrZy1TdXBwb3J0LW11c2x4MzItYnVpbGQucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gImU0NjNmNThiMDRhY2IyMzY1OWRmMjNkMmE3YTA1Y2ZmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM0OWMzNzE5NTNhZWEwM2Y1NDM4MTRkY2FlMzdjMDY5ZTg2MDY5MzMzZmIyZTI0ZTkyNTJlNzY2NDc2NjM0OTIiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGVybG5hdGl2ZSBwa2djb25maWcgcGVybC12ZXJzaW9uCisKK1MgPSAiJHtXT1JLRElSfS9kcGtnLSR7UFZ9IgorCitFWFRSQV9PRUNPTkYgPSAiXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1kc2VsZWN0IFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1zdGFydC1zdG9wLWRhZW1vbiBcCisgICAgICAgICAgICAgICAgLS13aXRoLWxpYnogXAorICAgICAgICAgICAgICAgIC0td2l0aC1saWJiejIgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1saWJzZWxpbnV4IFwKKyAgICAgICAgICAgICAgICAiCisKK1BBQ0tBR0VDT05GSUcgPSAibGlibHptYSIKK1BBQ0tBR0VDT05GSUdbbGlibHptYV0gPSAiLS13aXRoLWxpYmx6bWEsLS13aXRob3V0LWxpYmx6bWEsIHh6IgorCitleHBvcnQgUEVSTCA9ICIke2JpbmRpcn0vcGVybCIKK2V4cG9ydCBQRVJMX0xJQkRJUiA9ICIke2xpYmRpcn0vcGVybC8ke0BnZXRfcGVybF92ZXJzaW9uKGQpfSIKK0VYVFJBX09FQ09ORiArPSAiVEFSPXRhciIKKworRVhUUkFfT0VDT05GX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIERFQl9IT1NUX0FSQ0g9JHtEUEtHX0FSQ0h9IgorCitEUEtHX0FSQ0ggPz89ICIke0BkZWJfYXJjaF9tYXAoZC5nZXRWYXIoJ1RBUkdFVF9BUkNIJyksIGQuZ2V0VmFyKCdUVU5FX0ZFQVRVUkVTJykpfSIKKworZGVmIGRlYl9hcmNoX21hcChhcmNoLCB0dW5lKToKKyAgICB0dW5lX2ZlYXR1cmVzID0gdHVuZS5zcGxpdCgpCisgICAgaWYgYXJjaCA9PSAiYWxsYXJjaCI6CisgICAgICAgIHJldHVybiAiYWxsIgorICAgIGlmIGFyY2ggaW4gWyJpNTg2IiwgImk2ODYiXToKKyAgICAgICAgcmV0dXJuICJpMzg2IgorICAgIGlmIGFyY2ggPT0gIng4Nl82NCI6CisgICAgICAgIGlmICJteDMyIiBpbiB0dW5lX2ZlYXR1cmVzOgorICAgICAgICAgICAgcmV0dXJuICJ4MzIiCisgICAgICAgIHJldHVybiAiYW1kNjQiCisgICAgaWYgYXJjaC5zdGFydHN3aXRoKCJtaXBzIik6CisgICAgICAgIGVuZGlhbiA9IFsiZWwiLCAiIl1bImJpZ2VuZGlhbiIgaW4gdHVuZV9mZWF0dXJlc10KKyAgICAgICAgaWYgIm42NCIgaW4gdHVuZV9mZWF0dXJlczoKKyAgICAgICAgICAgIHJldHVybiAibWlwczY0IiArIGVuZGlhbgorICAgICAgICBpZiAibjMyIiBpbiB0dW5lX2ZlYXR1cmVzOgorICAgICAgICAgICAgcmV0dXJuICJtaXBzbjMyIiArIGVuZGlhbgorICAgICAgICByZXR1cm4gIm1pcHMiICsgZW5kaWFuCisgICAgaWYgYXJjaCA9PSAicG93ZXJwYyI6CisgICAgICAgIHJldHVybiBhcmNoICsgWyIiLCAic3BlIl1bInNwZSIgaW4gdHVuZV9mZWF0dXJlc10KKyAgICBpZiBhcmNoID09ICJhYXJjaDY0IjoKKyAgICAgICAgcmV0dXJuICJhcm02NCIKKyAgICBpZiBhcmNoID09ICJhcm0iOgorICAgICAgICByZXR1cm4gYXJjaCArIFsiZWwiLCAiaGYiXVsiY2FsbGNvbnZlbnRpb24taGFyZCIgaW4gdHVuZV9mZWF0dXJlc10KKyAgICByZXR1cm4gYXJjaAorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgIyByZW1vdmUgZXZlcnl0aGluZyB0aGF0IGlzIG5vdCByZWxhdGVkIHRvIHN0YXJ0LXN0b3AtZGFlbW9uLCBzaW5jZSB0aGVyZQorICAgICMgaXMgbm8gZXhwbGljaXQgcnVsZSBmb3Igb25seSBpbnN0YWxsaW5nIHNzZAorICAgIGZpbmQgJHtEfSAtdHlwZSBmIC1ub3QgLW5hbWUgIipzdGFydC1zdG9wLWRhZW1vbioiIC1leGVjIHJtIHt9IFw7CisgICAgZmluZCAke0R9IC1kZXB0aCAtdHlwZSBkIC1lbXB0eSAtZXhlYyBybWRpciB7fSBcOworCisgICAgIyBzdXBwb3J0IGZvciBidWdneSBpbml0LmQgc2NyaXB0cyB0aGF0IHJlZmVyIHRvIGFuIGFsdGVybmF0aXZlCisgICAgIyBleHBsaWNpdCBwYXRoIHRvIHN0YXJ0LXN0b3AtZGFlbW9uCisgICAgaWYgWyAiJHtiYXNlX3NiaW5kaXJ9IiAhPSAiJHtzYmluZGlyfSIgXTsgdGhlbgorICAgICAgICBta2RpciAtcCAke0R9JHtiYXNlX3NiaW5kaXJ9CisgICAgICAgIGxuIC1zZiAke3NiaW5kaXJ9L3N0YXJ0LXN0b3AtZGFlbW9uICR7RH0ke2Jhc2Vfc2JpbmRpcn0vc3RhcnQtc3RvcC1kYWVtb24KKyAgICBmaQorfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL3N5c2xvZy1uZ18zLjE2LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvc3lzbG9nLW5nXzMuMTYuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjVmNDJjZi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvc3lzbG9nLW5nXzMuMTYuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLXJlcXVpcmUgc3lzbG9nLW5nLmluYwotCi1TUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9iYWxhYml0L3N5c2xvZy1uZy9yZWxlYXNlcy9kb3dubG9hZC8ke0JQfS8ke0JQfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vc3lzbG9nLW5nLmNvbmYuc3lzdGVtZCBcCi0gICAgICAgICAgIGZpbGU6Ly9zeXNsb2ctbmcuY29uZi5zeXN2aW5pdCBcCi0gICAgICAgICAgIGZpbGU6Ly9pbml0c2NyaXB0IFwKLSAgICAgICAgICAgZmlsZTovL3ZvbGF0aWxlcy4wM19zeXNsb2ctbmcgXAotICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLmFjLWFkZC1vcHRpb24tZW5hYmxlLXRocmVhZC10bHMtdG8tbWFuYWdlLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9maXgtY29uZmlnLWxpYm5ldC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9maXgtaW52YWxpZC1vd25lcnNoaXAucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vc3lzbG9nLW5nLnNlcnZpY2UtdGhlLXN5c2xvZy1uZy1zZXJ2aWNlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtc3lzbG9nLW5nLWZpeC1zZWdtZW50LWZhdWx0LWR1cmluZy1zZXJ2aWNlLXN0YXJ0LnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNzJkNDRhZDAyYzJlOWJhMDc0OGIzZWNkM2YxNWE3ZmYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzdlZTZmMWQ1ZTk4ZDg2ZjE5MTk2NGU1ODAxMTFiZmE3MTA4MWVjYmIzMjc1Y2VhMDM1YmJiYTE3N2I3M2EyOSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9zeXNsb2ctbmdfMy4xOS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL3N5c2xvZy1uZ18zLjE5LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGVlY2Y2YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9zeXNsb2ctbmdfMy4xOS4xLmJiCkBAIC0wLDAgKzEsMTYgQEAKK3JlcXVpcmUgc3lzbG9nLW5nLmluYworCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9iYWxhYml0L3N5c2xvZy1uZy9yZWxlYXNlcy9kb3dubG9hZC8ke0JQfS8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vc3lzbG9nLW5nLmNvbmYuc3lzdGVtZCBcCisgICAgICAgICAgIGZpbGU6Ly9zeXNsb2ctbmcuY29uZi5zeXN2aW5pdCBcCisgICAgICAgICAgIGZpbGU6Ly9pbml0c2NyaXB0IFwKKyAgICAgICAgICAgZmlsZTovL3ZvbGF0aWxlcy4wM19zeXNsb2ctbmcgXAorICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLmFjLWFkZC1vcHRpb24tZW5hYmxlLXRocmVhZC10bHMtdG8tbWFuYWdlLS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtY29uZmlnLWxpYm5ldC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtaW52YWxpZC1vd25lcnNoaXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc3lzbG9nLW5nLnNlcnZpY2UtdGhlLXN5c2xvZy1uZy1zZXJ2aWNlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtc3lzbG9nLW5nLWZpeC1zZWdtZW50LWZhdWx0LWR1cmluZy1zZXJ2aWNlLXN0YXJ0LnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYWE3OWJjMTNkOWZkOTI1YWE1ZmI5NTE2ZTg3YWFjZDMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWNmOTMxYTlkN2JlYWQwZTZkOWEyYzY1ZWVlOGY2MDA1YTAwNTg3OGY1OWFhMjgwZjNjNDI5NDI1N2VkNTE3OCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3RoaW4tcHJvdmlzaW9uaW5nLXRvb2xzL2ZpbGVzL3VzZS1zaC1vbi1wYXRoLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdGhpbi1wcm92aXNpb25pbmctdG9vbHMvZmlsZXMvdXNlLXNoLW9uLXBhdGgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGNiMTZkZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3RoaW4tcHJvdmlzaW9uaW5nLXRvb2xzL2ZpbGVzL3VzZS1zaC1vbi1wYXRoLnBhdGNoCkBAIC0wLDAgKzEsMjEgQEAKKwordGhpbi1wcm92aXNpb25pbmctdG9vbHM6IHVzZSBzaCBvbiBwYXRoIHdoZW4gaW52b2tpbmcgdHh0Mm1hbgorCit0eHQybWFuIGNvbnRhaW5zIGEgdGVzdCB3aGljaCBtaWdodCB0cnkgdG8gdXNlIGtzaCB0byBydW4gdGhlIHNjcmlwdCwgc28gd2UKK2F2b2lkIHJ1bm5pbmcgL2Jpbi9zaC4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogam9lLnNsYXRlciA8am9lLnNsYXRlckB3aW5kcml2ZXIuY29tPgorCistLS0gYS9NYWtlZmlsZS5pbgorKysrIGIvTWFrZWZpbGUuaW4KK0BAIC0yMTAsNyArMjEwLDcgQEAgZW5kaWYKKyAKKyAlLjg6ICUudHh0IGJpbi90eHQybWFuCisgCUBlY2hvICIgICAgW3R4dDJtYW5dICQ8IgorLQkkKFYpIGJpbi90eHQybWFuIC1wIC10ICQoYmFzZW5hbWUgJChub3RkaXIgJDwpKSAkPCA+ICRACisrCSQoVikgc2ggYmluL3R4dDJtYW4gLXAgLXQgJChiYXNlbmFtZSAkKG5vdGRpciAkPCkpICQ8ID4gJEAKKyAKKyAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdGhpbi1wcm92aXNpb25pbmctdG9vbHMvdGhpbi1wcm92aXNpb25pbmctdG9vbHNfMC43LjYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC90aGluLXByb3Zpc2lvbmluZy10b29scy90aGluLXByb3Zpc2lvbmluZy10b29sc18wLjcuNi5iYgppbmRleCAyMGNiMTdhLi41ZjZiYTllIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC90aGluLXByb3Zpc2lvbmluZy10b29scy90aGluLXByb3Zpc2lvbmluZy10b29sc18wLjcuNi5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC90aGluLXByb3Zpc2lvbmluZy10b29scy90aGluLXByb3Zpc2lvbmluZy10b29sc18wLjcuNi5iYgpAQCAtMTAsNiArMTAsNyBAQAogU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2p0aG9ybmJlci90aGluLXByb3Zpc2lvbmluZy10b29scyBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWRvLW5vdC1zdHJpcC1wZGF0YV90b29scy1hdC1kb19pbnN0YWxsLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtZml4LWNvbXBpbGUtZmFpbGVkLXdpdGgtbGliYy1tdXNsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3VzZS1zaC1vbi1wYXRoLnBhdGNoIFwKICIKIAogU1JDUkVWID0gIjZmOTM2OTkyYjhlNjIwOGE3ODM4ZmNmMWVjODdjNWJkM2E2OTRhNzciCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91ZGlza3MvdWRpc2tzMl8yLjcuOC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VkaXNrcy91ZGlza3MyXzIuNy44LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NGIzMzhmLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VkaXNrcy91ZGlza3MyXzIuNy44LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotU1VNTUFSWSA9ICJ1ZGlza3MgcHJvdmlkZXMgZGJ1cyBpbnRlcmZhY2VzIGZvciBkaXNrcyBhbmQgc3RvcmFnZSBkZXZpY2VzIgotTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZGQ3OWY2ZGJiZmZkYmM4ZTg2YjA4NmE4ZjBjMGVmNDMiCi0KLURFUEVORFMgPSAiIFwKLSAgICBhY2wgXAotICAgIGxpYmF0YXNtYXJ0IFwKLSAgICBwb2xraXQgXAotICAgIGxpYmd1ZGV2IFwKLSAgICBkYnVzLWdsaWIgXAotICAgIGdsaWItMi4wIFwKLSAgICBsaWJibG9ja2RldiBcCi0gICAgaW50bHRvb2wtbmF0aXZlIFwKLSAgICBnbm9tZS1jb21tb24tbmF0aXZlIFwKLSAgICBsaWJ4c2x0LW5hdGl2ZSBcCi0iCi1ERVBFTkRTICs9ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgZCl9IgotCi1SREVQRU5EU18ke1BOfSA9ICJhY2wiCi0KLVNSQ19VUkkgPSAiIFwKLSAgICBnaXQ6Ly9naXRodWIuY29tL3N0b3JhZ2VkLXByb2plY3QvdWRpc2tzLmdpdDticmFuY2g9Mi43LngtYnJhbmNoIFwKLSAgICBmaWxlOi8vbm9uLWdudS1saWJjLnBhdGNoIFwKLSIKLVNSQ1JFViA9ICI0N2JjMDE0MWNiODQ2MjRiYTFlMjI0MmQ1OTZhODlhMzBkZjFmNWVhIgotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotQ1ZFX1BST0RVQ1QgPSAidWRpc2tzIgotCi1pbmhlcml0IGF1dG90b29scyBzeXN0ZW1kIGd0ay1kb2MgZ29iamVjdC1pbnRyb3NwZWN0aW9uCi0KLUVYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtbWFuIC0tZGlzYWJsZS1ndGstZG9jIgotCi1GSUxFU18ke1BOfSArPSAiIFwKLSAgICAke2RhdGFkaXJ9L2RidXMtMS8gXAotICAgICR7ZGF0YWRpcn0vcG9sa2l0LTEgXAotICAgICR7ZGF0YWRpcn0vYmFzaC1jb21wbGV0aW9uIFwKLSAgICAke2xpYmRpcn0vcG9sa2l0LTEvZXh0ZW5zaW9ucy8qLnNvIFwKLSAgICAke25vbmFyY2hfYmFzZV9saWJkaXJ9L3VkZXYvKiBcCi0gICAgJHtleGVjX3ByZWZpeH0ke25vbmFyY2hfYmFzZV9saWJkaXJ9L3VkaXNrczIvKiBcCi0gICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfSBcCi0iCi0KLVBBQ0tBR0VTID0rICIke1BOfS1saWJzIgotRklMRVNfJHtQTn0tbGlicyA9ICIke2xpYmRpcn0vbGliKiR7U09MSUJTfSIKLQotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIiR7QlBOfS5zZXJ2aWNlIgotU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWRpc2tzL3VkaXNrczJfMi44LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91ZGlza3MvdWRpc2tzMl8yLjguMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjIxMzBlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWRpc2tzL3VkaXNrczJfMi44LjEuYmIKQEAgLTAsMCArMSw1MCBAQAorU1VNTUFSWSA9ICJ1ZGlza3MgcHJvdmlkZXMgZGJ1cyBpbnRlcmZhY2VzIGZvciBkaXNrcyBhbmQgc3RvcmFnZSBkZXZpY2VzIgorTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZGQ3OWY2ZGJiZmZkYmM4ZTg2YjA4NmE4ZjBjMGVmNDMiCisKK0RFUEVORFMgPSAiIFwKKyAgICBhY2wgXAorICAgIGxpYmF0YXNtYXJ0IFwKKyAgICBwb2xraXQgXAorICAgIGxpYmd1ZGV2IFwKKyAgICBkYnVzLWdsaWIgXAorICAgIGdsaWItMi4wIFwKKyAgICBsaWJibG9ja2RldiBcCisgICAgaW50bHRvb2wtbmF0aXZlIFwKKyAgICBnbm9tZS1jb21tb24tbmF0aXZlIFwKKyAgICBsaWJ4c2x0LW5hdGl2ZSBcCisiCitERVBFTkRTICs9ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgZCl9IgorCitSREVQRU5EU18ke1BOfSA9ICJhY2wiCisKK1NSQ19VUkkgPSAiIFwKKyAgICBnaXQ6Ly9naXRodWIuY29tL3N0b3JhZ2VkLXByb2plY3QvdWRpc2tzLmdpdDticmFuY2g9bWFzdGVyIFwKKyAgICBmaWxlOi8vbm9uLWdudS1saWJjLnBhdGNoIFwKKyIKK1NSQ1JFViA9ICIwNWFlNDcxYmUzYzJhZGYyMjU1YjNhMDFlZGIwMGJiYTA2ZTAyYWZiIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworQ1ZFX1BST0RVQ1QgPSAidWRpc2tzIgorCitpbmhlcml0IGF1dG90b29scyBzeXN0ZW1kIGd0ay1kb2MgZ29iamVjdC1pbnRyb3NwZWN0aW9uIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAicG9sa2l0IgorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLW1hbiAtLWRpc2FibGUtZ3RrLWRvYyIKKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtkYXRhZGlyfS9kYnVzLTEvIFwKKyAgICAke2RhdGFkaXJ9L3BvbGtpdC0xIFwKKyAgICAke2RhdGFkaXJ9L2Jhc2gtY29tcGxldGlvbiBcCisgICAgJHtsaWJkaXJ9L3BvbGtpdC0xL2V4dGVuc2lvbnMvKi5zbyBcCisgICAgJHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2LyogXAorICAgICR7ZXhlY19wcmVmaXh9JHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGlza3MyLyogXAorICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0gXAorIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tbGlicyIKK0ZJTEVTXyR7UE59LWxpYnMgPSAiJHtsaWJkaXJ9L2xpYioke1NPTElCU30iCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICIke0JQTn0uc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VkaXNrcy91ZGlza3NfMS4wLjUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91ZGlza3MvdWRpc2tzXzEuMC41LmJiCmluZGV4IDdjZDk5OTIuLjNhZThlY2MgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VkaXNrcy91ZGlza3NfMS4wLjUuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWRpc2tzL3VkaXNrc18xLjAuNS5iYgpAQCAtMjIsNyArMjIsMTAgQEAKIFNSQ19VUklbdWRpc2tzLm1kNXN1bV0gPSAiNzBkNDhkY2ZlNTIzYTc0Y2Q3YzdmYmJjMjg0N2ZjZGQiCiBTUkNfVVJJW3VkaXNrcy5zaGEyNTZzdW1dID0gImYyZWM4MmViMGVhN2UwMWRjMjk5YjViMjliM2MxOGNkZjg2MTIzNmVjNDNkY2ZmNjZiMzU1MmI0YjMxYzZmNzEiCiAKLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBzeXN0ZW1kIGd0ay1kb2MKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBzeXN0ZW1kIGd0ay1kb2MgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJwb2xraXQiCisKIAogUEFDS0FHRUNPTkZJRyA/Pz0gImxpYmRldm1hcHBlciIKIFBBQ0tBR0VDT05GSUdbbGliZGV2bWFwcGVyXSA9ICItLWVuYWJsZS1kZXZtYXBwZXIsLS1kaXNhYmxlLWRldm1hcHBlcixsaWJkZXZtYXBwZXIiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91bml4b2RiYy91bml4b2RiY18yLjMuNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VuaXhvZGJjL3VuaXhvZGJjXzIuMy42LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNjc0ZDM1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VuaXhvZGJjL3VuaXhvZGJjXzIuMy42LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotU1VNTUFSWSA9ICJBbiBPcGVuIFNvdXJjZSBPREJDIHN1Yi1zeXN0ZW0iCi1ERVNDUklQVElPTiA9ICJ1bml4T0RCQyBpcyBhbiBPcGVuIFNvdXJjZSBPREJDIHN1Yi1zeXN0ZW0gYW5kIGFuIE9EQkMgU0RLIFwKLWZvciBMaW51eCwgTWFjIE9TWCwgYW5kIFVOSVguIgotCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LnVuaXhvZGJjLm9yZy8iCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDdiMzdiZjgwYTNkZjVhNjViMzU1NDMzYWUzNmQyMDYiCi0KLURFUEVORFMgPSAibGlidG9vbCBteXNxbDUiCi0KLVNSQ19VUkkgPSAiZnRwOi8vZnRwLnVuaXhvZGJjLm9yZy9wdWIvdW5peE9EQkMvdW5peE9EQkMtJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL2RvLW5vdC11c2UtbGlibHRkbC1zb3VyY2UtZGlyZWN0b3J5LnBhdGNoIFwKLSIKLVNSQ19VUklbbWQ1c3VtXSA9ICJhODYyOWZkMjk1M2IwNGI0NjM5ZDBhOWQ4YTVjZjlkMSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI4OGI2MzdmNjQ3YzA1MmVjYzM4NjFhM2JhYTI3NWMzYjUwM2IxOTNiNmE0OWZmOGMyOGIyNTY4NjU2ZDE0ZDY5IgotCi1VUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJ1bml4T0RCQy0oP1A8cHZlcj5cZCsoXC5cZCspKylcLnRhciIKLQotaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCi0KLVMgPSAiJHtXT1JLRElSfS91bml4T0RCQy0ke1BWfSIKLQotRVhUUkFfT0VNQUtFICs9ICJMSUJTPS1sbHRkbCIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7Ci0gICAgIyBvbGQgbTQgZmlsZXMgd2lsbCBjYXVzZSBsaWJ0b29sIHZlcnNpb24gZG9uJ3QgbWF0Y2gKLSAgICBybSAtcmYgbTQvKgotICAgIHJtIC1mciBsaWJsdGRsCi19CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91bml4b2RiYy91bml4b2RiY18yLjMuNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VuaXhvZGJjL3VuaXhvZGJjXzIuMy43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2M2JhZGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91bml4b2RiYy91bml4b2RiY18yLjMuNy5iYgpAQCAtMCwwICsxLDI5IEBACitTVU1NQVJZID0gIkFuIE9wZW4gU291cmNlIE9EQkMgc3ViLXN5c3RlbSIKK0RFU0NSSVBUSU9OID0gInVuaXhPREJDIGlzIGFuIE9wZW4gU291cmNlIE9EQkMgc3ViLXN5c3RlbSBhbmQgYW4gT0RCQyBTREsgXAorZm9yIExpbnV4LCBNYWMgT1NYLCBhbmQgVU5JWC4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cudW5peG9kYmMub3JnLyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kN2IzN2JmODBhM2RmNWE2NWIzNTU0MzNhZTM2ZDIwNiIKKworREVQRU5EUyA9ICJsaWJ0b29sIG15c3FsNSIKKworU1JDX1VSSSA9ICJodHRwOi8vZnRwLnVuaXhvZGJjLm9yZy91bml4T0RCQy0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZG8tbm90LXVzZS1saWJsdGRsLXNvdXJjZS1kaXJlY3RvcnkucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjI3NGE3MTFiMGM3NzM5NGUwNTJkYjY0OTM4NDBjNmY5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ1ZjE2OWJhMWY0NTRhNzJiOGZjYmI4MmFiZDgzMjYzMGEzYmY5M2JhYTg0NzMxY2YyOTQ5ZjQ0OWUxZTNlNzciCisKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gInVuaXhPREJDLSg/UDxwdmVyPlxkKyhcLlxkKykrKVwudGFyIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworUyA9ICIke1dPUktESVJ9L3VuaXhPREJDLSR7UFZ9IgorCitFWFRSQV9PRU1BS0UgKz0gIkxJQlM9LWxsdGRsIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAjIG9sZCBtNCBmaWxlcyB3aWxsIGNhdXNlIGxpYnRvb2wgdmVyc2lvbiBkb24ndCBtYXRjaAorICAgIHJtIC1yZiBtNC8qCisgICAgcm0gLWZyIGxpYmx0ZGwKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Vwb3dlci91cG93ZXJfMC45OS43LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXBvd2VyL3Vwb3dlcl8wLjk5LjcuYmIKaW5kZXggMmNmMzE2My4uM2ZkOTFlOSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXBvd2VyL3Vwb3dlcl8wLjk5LjcuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXBvd2VyL3Vwb3dlcl8wLjk5LjcuYmIKQEAgLTExLDcgKzExLDkgQEAKIFNSQ19VUklbbWQ1c3VtXSA9ICIyMzZiYjQzOWQ5ZmYxMTUxNDUwYjNkODU4MjM5OTUzMiIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICIyNGJjYzJmNmFiMjVhMjUzM2JhYzcwYjU4N2JjYjAxOWU1OTEyOTMwNzY5MjBmNWI1ZTA0YmRlZGMxNDBhNDAxIgogCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dCBnb2JqZWN0LWludHJvc3BlY3Rpb24gc3lzdGVtZAoraW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdldHRleHQgZ29iamVjdC1pbnRyb3NwZWN0aW9uIHN5c3RlbWQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJwb2xraXQiCiAKIFBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgZCl9IgogUEFDS0FHRUNPTkZJR1tpZGV2aWNlXSA9ICItLXdpdGgtaWRldmljZSwtLXdpdGhvdXQtaWRldmljZSxsaWJpbW9iaWxlZGV2aWNlIGxpYnBsaXN0IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXNiLW1vZGVzd2l0Y2gvdXNiLW1vZGVzd2l0Y2gtZGF0YV8yMDE3MDIwNS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYi1tb2Rlc3dpdGNoL3VzYi1tb2Rlc3dpdGNoLWRhdGFfMjAxNzAyMDUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVlZWQ1ZTIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXNiLW1vZGVzd2l0Y2gvdXNiLW1vZGVzd2l0Y2gtZGF0YV8yMDE3MDIwNS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLVNVTU1BUlkgPSAiRGF0YSBmaWxlcyBmb3IgdXNibW9kZXN3aXRjaCIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKLQotaW5oZXJpdCBhbGxhcmNoCi0KLURFUEVORFMgKz0gInRjbC1uYXRpdmUiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5kcmFpc2Jlcmdob2YuZGUvdXNiX21vZGVzd2l0Y2gvJHtCUH0udGFyLmJ6MiIKLVNSQ19VUklbbWQ1c3VtXSA9ICIwY2MxMDdjZDBjNGM4M2RmMGQ5NDAwYzk5OWUyMWRmZCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlMmRjZmQ5ZDI4OTI4ZDhkOGYwMzM4MTU3MWEyMzQ0MmIzYzUwZDQ4ZDM0M2JjNDBhMWEwN2QwMTY2MjczOGQxIgotCi1kb19pbnN0YWxsKCkgewotICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0KLX0KLQotUkRFUEVORFNfJHtQTn0gPSAidXNiLW1vZGVzd2l0Y2ggKD49IDIuNC4wKSIKLUZJTEVTXyR7UE59ICs9ICIke2Jhc2VfbGliZGlyfS91ZGV2L3J1bGVzLmQvIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3VzYl9tb2Rlc3dpdGNoIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXNiLW1vZGVzd2l0Y2gvdXNiLW1vZGVzd2l0Y2gtZGF0YV8yMDE3MDgwNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYi1tb2Rlc3dpdGNoL3VzYi1tb2Rlc3dpdGNoLWRhdGFfMjAxNzA4MDYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmFiZDk0MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYi1tb2Rlc3dpdGNoL3VzYi1tb2Rlc3dpdGNoLWRhdGFfMjAxNzA4MDYuYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJEYXRhIGZpbGVzIGZvciB1c2Jtb2Rlc3dpdGNoIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitpbmhlcml0IGFsbGFyY2gKKworREVQRU5EUyArPSAidGNsLW5hdGl2ZSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmRyYWlzYmVyZ2hvZi5kZS91c2JfbW9kZXN3aXRjaC8ke0JQfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gImZiNTBkMTViNTJlOTA5ZDc0MmRkMTZmMGE5ODgyMzE2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImNlNDEzZWYyYTUwZTY0OGU5YzgxYmMzZWE2MTEwZTczMjRhOGJmOTgxMDM0ZmM5ZWM0NDY3ZDM1NjI1NjNjMmMiCisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfQorfQorCitSREVQRU5EU18ke1BOfSA9ICJ1c2ItbW9kZXN3aXRjaCAoPj0gMi40LjApIgorRklMRVNfJHtQTn0gKz0gIiR7YmFzZV9saWJkaXJ9L3VkZXYvcnVsZXMuZC8gXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vdXNiX21vZGVzd2l0Y2giCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91c2ItbW9kZXN3aXRjaC91c2ItbW9kZXN3aXRjaF8yLjUuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYi1tb2Rlc3dpdGNoL3VzYi1tb2Rlc3dpdGNoXzIuNS4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYzBkZjhiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYi1tb2Rlc3dpdGNoL3VzYi1tb2Rlc3dpdGNoXzIuNS4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotU1VNTUFSWSA9ICJBIG1vZGUgc3dpdGNoaW5nIHRvb2wgZm9yIGNvbnRyb2xsaW5nICdmbGlwIGZsb3AnIChtdWx0aXBsZSBkZXZpY2UpIFVTQiBnZWFyIgotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgotCi1ERVBFTkRTID0gImxpYnVzYjEiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5kcmFpc2Jlcmdob2YuZGUvdXNiX21vZGVzd2l0Y2gvJHtCUH0udGFyLmJ6MiIKLVNSQ19VUklbbWQ1c3VtXSA9ICIzOGFkNWM5ZDcwZTA2MjI3YTAwMzYxYmRjMmIxZTU2OCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIzMWMwYmUyODBkNDlhOTllYzNkYzBiZTMzMjViZWYzMjBkOWMwNGI1MDcxNGVmMGNlMWUzNmE2MTRkNjg3NjMzIgotCi1pbmhlcml0IHBrZ2NvbmZpZyBzeXN0ZW1kCi0KLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJ1c2JfbW9kZXN3aXRjaEAuc2VydmljZSIKLQotRVhUUkFfT0VNQUtFID0gIlRDTD0ke2JpbmRpcn0vdGNsc2giCi0KLUZJTEVTXyR7UE59ID0gIiR7YmluZGlyfSAke3N5c2NvbmZkaXJ9ICR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldi91c2JfbW9kZXN3aXRjaCAke3NiaW5kaXJ9ICR7bG9jYWxzdGF0ZWRpcn0vbGliL3VzYl9tb2Rlc3dpdGNoIgotUkRFUEVORFNfJHtQTn0gPSAidGNsIgotUlJFQ09NTUVORFNfJHtQTn0gPSAidXNiLW1vZGVzd2l0Y2gtZGF0YSIKLQotZG9faW5zdGFsbCgpIHsKLSAgICBvZV9ydW5tYWtlIERFU1RESVI9JHtEfSBpbnN0YWxsCi0gICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgotICAgICAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1N9L3VzYl9tb2Rlc3dpdGNoQC5zZXJ2aWNlICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotICAgIGZpCi19CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91c2ItbW9kZXN3aXRjaC91c2ItbW9kZXN3aXRjaF8yLjUuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYi1tb2Rlc3dpdGNoL3VzYi1tb2Rlc3dpdGNoXzIuNS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMzZTQwYjMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91c2ItbW9kZXN3aXRjaC91c2ItbW9kZXN3aXRjaF8yLjUuMi5iYgpAQCAtMCwwICsxLDI3IEBACitTVU1NQVJZID0gIkEgbW9kZSBzd2l0Y2hpbmcgdG9vbCBmb3IgY29udHJvbGxpbmcgJ2ZsaXAgZmxvcCcgKG11bHRpcGxlIGRldmljZSkgVVNCIGdlYXIiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK0RFUEVORFMgPSAibGlidXNiMSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmRyYWlzYmVyZ2hvZi5kZS91c2JfbW9kZXN3aXRjaC8ke0JQfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gIjE2YjlhOGVmYTFiZjhmYmQ3ZDU2MTI3NTdlYWU0ZjI2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFiZmZhYzA5Yzg3ZWFjZDc4ZTEwMTU0NTk2N2RjMjVhZjdlOTg5NzQ1YjQyNzY3NTZkNDVkYmY0MDA4YTJlYTYiCisKK2luaGVyaXQgcGtnY29uZmlnIHN5c3RlbWQKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInVzYl9tb2Rlc3dpdGNoQC5zZXJ2aWNlIgorCitFWFRSQV9PRU1BS0UgPSAiVENMPSR7YmluZGlyfS90Y2xzaCIKKworRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9ICR7c3lzY29uZmRpcn0gJHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2L3VzYl9tb2Rlc3dpdGNoICR7c2JpbmRpcn0gJHtsb2NhbHN0YXRlZGlyfS9saWIvdXNiX21vZGVzd2l0Y2giCitSREVQRU5EU18ke1BOfSA9ICJ0Y2wiCitSUkVDT01NRU5EU18ke1BOfSA9ICJ1c2ItbW9kZXN3aXRjaC1kYXRhIgorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgREVTVERJUj0ke0R9IGluc3RhbGwKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3RydWUnLCdmYWxzZScsZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgIGluc3RhbGwgLW0gNjQ0ICR7U30vdXNiX21vZGVzd2l0Y2hALnNlcnZpY2UgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgZmkKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3V0aGFzaC91dGhhc2hfMi4wLjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91dGhhc2gvdXRoYXNoXzIuMC4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjY2RkMTNiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3V0aGFzaC91dGhhc2hfMi4wLjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBACi1TVU1NQVJZID0gIkhhc2ggdGFibGUgYW5kIGxpbmtlZCBsaXN0IGZvciBDIHN0cnVjdHVyZXMiCi1ERVNDUklQVElPTiA9ICIgdXRoYXNoLWRldiBwcm92aWRlcyBhIGhhc2ggdGFibGUgaW1wbGVtZW50YXRpb24gdXNpbmcgQyBwcmVwcm9jZXNzb3IgbWFjcm9zLlxuXAotIFRoaXMgcGFja2FnZSBhbHNvIGluY2x1ZGVzOlxuXAotICAqIHV0bGlzdC5oIHByb3ZpZGVzIGxpbmtlZCBsaXN0IG1hY3JvcyBmb3IgQyBzdHJ1Y3R1cmVzXG5cCi0gICogdXRhcnJheS5oIGltcGxlbWVudHMgZHluYW1pYyBhcnJheXMgdXNpbmcgbWFjcm9zXG5cCi0gICogdXRzdHJpbmcuaCBpbXBsZW1lbnRzIGEgYmFzaWMgZHluYW1pYyBzdHJpbmdcblwKLSIKLUhPTUVQQUdFID0gImh0dHBzOi8vdHJveWRoYW5zb24uZ2l0aHViLmlvL3V0aGFzaC8iCi1TRUNUSU9OID0gImJhc2UiCi1MSUNFTlNFID0gIkJTRC0xLUNsYXVzZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTVjYzFmMWU0YzcxZjE5ZjU4MDQ1ODU4Njc1NmMwMmI0IgotCi1TUkNfVVJJID0gIlwKLSAgICBodHRwczovL2dpdGh1Yi5jb20vdHJveWRoYW5zb24vJHtCUE59L2FyY2hpdmUvdiR7UFZ9LnRhci5nejtkb3dubG9hZGZpbGVuYW1lPSR7QlB9LnRhci5neiBcCi0gICAgZmlsZTovL3J1bi1wdGVzdCBcCi0iCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL3Ryb3lkaGFuc29uLyR7QlBOfS9yZWxlYXNlcyIKLQotU1JDX1VSSVttZDVzdW1dID0gImQwODYzMmE1ODY3NDI3NGM5Y2Q4N2UyOTMwZjU2OTZhIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM0YTMxZDUxZGQ3YTgzOTgxOWNlY2Q2ZjQ2MDQ5YjRmZmUwMzFkN2YzMTQ3ZDlhMDQyZjU1MDRmZGIxMzQ4ZDEiCi0KLWluaGVyaXQgcHRlc3QKLQotZG9fY29tcGlsZVtub2V4ZWNdID0gIjEiCi0KLWRvX2NvbXBpbGVfcHRlc3QoKSB7Ci0gICAgb2VfcnVubWFrZSAtQyB0ZXN0cyB0ZXN0c19vbmx5IFRFU1RfVEFSR0VUPQotfQotCi1kb19pbnN0YWxsICgpIHsKLSAgICBpbnN0YWxsIC1kbTc1NSAke0R9JHtpbmNsdWRlZGlyfQotICAgIGluc3RhbGwgLW0wNjQ0IHNyYy8qLmggJHtEfSR7aW5jbHVkZWRpcn0KLX0KLQotZG9faW5zdGFsbF9wdGVzdCgpIHsKLSAgICBpbnN0YWxsIC1kbTc1NSAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cwotICAgIGluc3RhbGwgLW0wNzU1IHRlc3RzL3Rlc3QqWzAtOV0gJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMKLSAgICBpbnN0YWxsIC1tMDY0NCB0ZXN0cy90ZXN0KlswLTldLmFucyAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cwotICAgIGluc3RhbGwgLW0wNjQ0IHRlc3RzL3Rlc3QqWzAtOV0uZGF0ICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzCi19Ci0KLSMgVGhlIG1haW4gcGFja2FnZSBpcyBlbXB0eSBhbmQgbm9uLWV4aXN0ZW50LCBzbyAtZGV2Ci0jIHNob3VsZCBub3QgZGVwZW5kIG9uIGl0Li4uCi1SREVQRU5EU18ke1BOfS1kZXYgPSAiIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3V0aGFzaC91dGhhc2hfMi4xLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91dGhhc2gvdXRoYXNoXzIuMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlYjEzODMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91dGhhc2gvdXRoYXNoXzIuMS4wLmJiCkBAIC0wLDAgKzEsNDYgQEAKK1NVTU1BUlkgPSAiSGFzaCB0YWJsZSBhbmQgbGlua2VkIGxpc3QgZm9yIEMgc3RydWN0dXJlcyIKK0RFU0NSSVBUSU9OID0gIiB1dGhhc2gtZGV2IHByb3ZpZGVzIGEgaGFzaCB0YWJsZSBpbXBsZW1lbnRhdGlvbiB1c2luZyBDIHByZXByb2Nlc3NvciBtYWNyb3MuXG5cCisgVGhpcyBwYWNrYWdlIGFsc28gaW5jbHVkZXM6XG5cCisgICogdXRsaXN0LmggcHJvdmlkZXMgbGlua2VkIGxpc3QgbWFjcm9zIGZvciBDIHN0cnVjdHVyZXNcblwKKyAgKiB1dGFycmF5LmggaW1wbGVtZW50cyBkeW5hbWljIGFycmF5cyB1c2luZyBtYWNyb3NcblwKKyAgKiB1dHN0cmluZy5oIGltcGxlbWVudHMgYSBiYXNpYyBkeW5hbWljIHN0cmluZ1xuXAorIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly90cm95ZGhhbnNvbi5naXRodWIuaW8vdXRoYXNoLyIKK1NFQ1RJT04gPSAiYmFzZSIKK0xJQ0VOU0UgPSAiQlNELTEtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YTI1MTNmN2QyMjkxZGY4NDA1MjdiNzZiMmE4Zjk3MTgiCisKK1NSQ19VUkkgPSAiXAorICAgIGh0dHBzOi8vZ2l0aHViLmNvbS90cm95ZGhhbnNvbi8ke0JQTn0vYXJjaGl2ZS92JHtQVn0udGFyLmd6O2Rvd25sb2FkZmlsZW5hbWU9JHtCUH0udGFyLmd6IFwKKyAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyIKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vdHJveWRoYW5zb24vJHtCUE59L3JlbGVhc2VzIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNGQwYTMzZjYzOTMyNjA5MjYwMzJmMWZhZDRiYWQzOWEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTUyY2NkOGU2NGQwZjQ5NTM3NzIzMmUzOTY0ZDA2YzdlYzhiYjhjM2ZiZDMyMTdmOGE1NzAyNjE0ZjlhNjY5ZSIKKworaW5oZXJpdCBwdGVzdAorCitkb19jb21waWxlW25vZXhlY10gPSAiMSIKKworZG9fY29tcGlsZV9wdGVzdCgpIHsKKyAgICBvZV9ydW5tYWtlIC1DIHRlc3RzIHRlc3RzX29ubHkgVEVTVF9UQVJHRVQ9Cit9CisKK2RvX2luc3RhbGwgKCkgeworICAgIGluc3RhbGwgLWRtNzU1ICR7RH0ke2luY2x1ZGVkaXJ9CisgICAgaW5zdGFsbCAtbTA2NDQgc3JjLyouaCAke0R9JHtpbmNsdWRlZGlyfQorfQorCitkb19pbnN0YWxsX3B0ZXN0KCkgeworICAgIGluc3RhbGwgLWRtNzU1ICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzCisgICAgaW5zdGFsbCAtbTA3NTUgdGVzdHMvdGVzdCpbMC05XSAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cworICAgIGluc3RhbGwgLW0wNjQ0IHRlc3RzL3Rlc3QqWzAtOV0uYW5zICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzCisgICAgaW5zdGFsbCAtbTA2NDQgdGVzdHMvdGVzdCpbMC05XS5kYXQgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMKK30KKworIyBUaGUgbWFpbiBwYWNrYWdlIGlzIGVtcHR5IGFuZCBub24tZXhpc3RlbnQsIHNvIC1kZXYKKyMgc2hvdWxkIG5vdCBkZXBlbmQgb24gaXQuLi4KK1JERVBFTkRTXyR7UE59LWRldiA9ICIiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmJveGd1ZXN0ZHJpdmVycy92Ym94Z3Vlc3Rkcml2ZXJzL2tlcm5lbC00LjE4LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmJveGd1ZXN0ZHJpdmVycy92Ym94Z3Vlc3Rkcml2ZXJzL2tlcm5lbC00LjE4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5M2VhYTNkLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Zib3hndWVzdGRyaXZlcnMvdmJveGd1ZXN0ZHJpdmVycy9rZXJuZWwtNC4xOC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLURlc2NyaXB0aW9uOiBGaXggYnVpbGQgZmFpbHVyZSB3aXRoIG5ldyBrZXJuZWwgNC4xOAotQXV0aG9yOiBHaWFuZnJhbmNvIENvc3RhbWFnbmEgPGxvY3V0dXNvZmJvcmdAZGViaWFuLm9yZz4KLQotVXBzdHJlYW0tU3RhdHVzOlBlbmRpbmcKLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1JbmRleDogdmJveF9tb2R1bGUvdmJveHNmL3V0aWxzLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSB2Ym94X21vZHVsZS5vcmlnL3Zib3hzZi91dGlscy5jCi0rKysgdmJveF9tb2R1bGUvdmJveHNmL3V0aWxzLmMKLUBAIC01MCw3ICs1MCwxMSBAQCBzdGF0aWMgdm9pZCBzZl90aW1lc3BlY19mcm9tX2Z0aW1lKFJUVElNCi0gICAgIFJUVGltZVNwZWNTZXROYW5vKHRzLCB0KTsKLSB9Ci0gI2Vsc2UgLyogPj0gMi42LjAgKi8KLSsjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oNCwgMTgsIDApCi0gc3RhdGljIHZvaWQgc2ZfZnRpbWVfZnJvbV90aW1lc3BlYyhzdHJ1Y3QgdGltZXNwZWMgKnR2LCBSVFRJTUVTUEVDICp0cykKLSsjZWxzZQotK3N0YXRpYyB2b2lkIHNmX2Z0aW1lX2Zyb21fdGltZXNwZWMoc3RydWN0IHRpbWVzcGVjNjQgKnR2LCBSVFRJTUVTUEVDICp0cykKLSsjZW5kaWYKLSB7Ci0gICAgIGludDY0X3QgdCA9IFJUVGltZVNwZWNHZXROYW5vKHRzKTsKLSAgICAgaW50NjRfdCBuc2VjOwotQEAgLTYwLDcgKzY0LDExIEBAIHN0YXRpYyB2b2lkIHNmX2Z0aW1lX2Zyb21fdGltZXNwZWMoc3RydWMKLSAgICAgdHYtPnR2X25zZWMgPSBuc2VjOwotIH0KLSAKLSsjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oNCwgMTgsIDApCi0gc3RhdGljIHZvaWQgc2ZfdGltZXNwZWNfZnJvbV9mdGltZShSVFRJTUVTUEVDICp0cywgc3RydWN0IHRpbWVzcGVjICp0dikKLSsjZWxzZQotK3N0YXRpYyB2b2lkIHNmX3RpbWVzcGVjX2Zyb21fZnRpbWUoUlRUSU1FU1BFQyAqdHMsIHN0cnVjdCB0aW1lc3BlYzY0ICp0dikKLSsjZW5kaWYKLSB7Ci0gICAgIGludDY0X3QgdCA9IChpbnQ2NF90KXR2LT50dl9uc2VjICsgKGludDY0X3QpdHYtPnR2X3NlYyAqIDEwMDAwMDAwMDA7Ci0gICAgIFJUVGltZVNwZWNTZXROYW5vKHRzLCB0KTsKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Zib3hndWVzdGRyaXZlcnMvdmJveGd1ZXN0ZHJpdmVyc181LjIuMTguYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92Ym94Z3Vlc3Rkcml2ZXJzL3Zib3hndWVzdGRyaXZlcnNfNS4yLjE4LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYTRjYzM4Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Zib3hndWVzdGRyaXZlcnMvdmJveGd1ZXN0ZHJpdmVyc181LjIuMTguYmIKKysrIC9kZXYvbnVsbApAQCAtMSw3OCArMCwwIEBACi1TVU1NQVJZID0gIlZpcnR1YWxCb3ggTGludXggR3Vlc3QgRHJpdmVycyIKLVNFQ1RJT04gPSAiY29yZSIKLUxJQ0VOU0UgPSAiR1BMLTIuMCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7V09SS0RJUn0vJHtWQk9YX05BTUV9L0NPUFlJTkc7bWQ1PWUxOTdkNTY0MWJiMzViMjlkNDZjYThjNGJmN2YyNjYwIgotCi1ERVBFTkRTID0gInZpcnR1YWwva2VybmVsIgotCi1pbmhlcml0IG1vZHVsZSBrZXJuZWwtbW9kdWxlLXNwbGl0Ci0KLUNPTVBBVElCTEVfTUFDSElORSA9ICIocWVtdXg4NnxxZW11eDg2LTY0KSIKLQotVkJPWF9OQU1FID0gIlZpcnR1YWxCb3gtJHtQVn0iCi0KLVNSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLnZpcnR1YWxib3gub3JnL3ZpcnR1YWxib3gvJHtQVn0vJHtWQk9YX05BTUV9LnRhci5iejIgXAotICAgIGZpbGU6Ly9NYWtlZmlsZS51dGlscyBcCi0gICAgZmlsZTovL2tlcm5lbC00LjE4LnBhdGNoIFwKLSIKLVNSQ19VUklbbWQ1c3VtXSA9ICJkOGUyOTE1MjViODQ1NjkzNTY3NzNlZWY1MDdjNDljZSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlZDBhN2VmZDU2YzdmMzlmYWU3OWM3ZWMzMzIxNDczZGE0MTJlZjBkNzkxNDQ1N2I2NmY0MjY3OWQ1MTNlZmNmIgotCi1TID0gIiR7V09SS0RJUn0vdmJveF9tb2R1bGUiCi0KLWV4cG9ydCBCVUlMRF9UQVJHRVRfQVJDSD0iJHtBUkNIfSIKLWV4cG9ydCBCVUlMRF9UQVJHRVRfQVJDSF94ODYtNjQ9ImFtZDY0IgotCi1FWFRSQV9PRU1BS0UgKz0gIktFUk5fRElSPScke1dPUktESVJ9LyR7S0VSTkVMX1ZFUlNJT059L2J1aWxkJyIKLQotYWRkdGFzayBleHBvcnRfc291cmNlcyBiZWZvcmUgZG9fcGF0Y2ggYWZ0ZXIgZG9fdW5wYWNrCi0KLWRvX2V4cG9ydF9zb3VyY2VzKCkgewotICAgIG1rZGlyIC1wICIke1N9IgotICAgICR7V09SS0RJUn0vJHtWQk9YX05BTUV9L3NyYy9WQm94L0FkZGl0aW9ucy9saW51eC9leHBvcnRfbW9kdWxlcy5zaCAke1R9L3Zib3hfbW9kdWxlcy50YXIuZ3oKLSAgICB0YXIgLUMgIiR7U30iIC14emYgJHtUfS92Ym94X21vZHVsZXMudGFyLmd6Ci0KLSAgICAjIGFkZCBhIG1vdW50IHV0aWxpdHkgdG8gdXNlIHNoYXJlZCBmb2xkZXIgZnJvbSBWQm94IEFkZGl0aW9uIFNvdXJjZSBDb2RlCi0gICAgbWtkaXIgLXAgIiR7U30vdXRpbHMiCi0gICAgaW5zdGFsbCAke1dPUktESVJ9LyR7VkJPWF9OQU1FfS9zcmMvVkJveC9BZGRpdGlvbnMvbGludXgvc2hhcmVkZm9sZGVycy9tb3VudC52Ym94c2YuYyAke1N9L3V0aWxzCi0gICAgaW5zdGFsbCAke1dPUktESVJ9LyR7VkJPWF9OQU1FfS9zcmMvVkJveC9BZGRpdGlvbnMvbGludXgvc2hhcmVkZm9sZGVycy92YnNmbW91bnQuYyAke1N9L3V0aWxzCi0gICAgaW5zdGFsbCAke1N9Ly4uL01ha2VmaWxlLnV0aWxzICR7U30vdXRpbHMvTWFrZWZpbGUKLQotfQotCi1kb19jb25maWd1cmVfcHJlcGVuZCgpIHsKLSAgICAjIHZib3hndWVzdGRyaXZlcnMvNS4yLjYtcjAvdmJveF9tb2R1bGUvdmJveGd1ZXN0L01ha2VmaWxlLmluY2x1ZGUuaGVhZGVyOjk5OiAqKiogVGhlIHZhcmlhYmxlIEtFUk5fRElSIG11c3QgYmUgYSBrZXJuZWwgYnVpbGQgZm9sZGVyIGFuZCBlbmQgd2l0aCAvYnVpbGQgd2l0aG91dCBhIHRyYWlsaW5nIHNsYXNoLCBvciBLRVJOX1ZFUiBtdXN0IGJlIHNldC4gIFN0b3AuCi0gICAgIyB2Ym94Z3Vlc3Rkcml2ZXJzLzUuMi42LXIwL3Zib3hfbW9kdWxlL3Zib3hndWVzdC9NYWtlZmlsZS5pbmNsdWRlLmhlYWRlcjoxMDg6ICoqKiBUaGUga2VybmVsIGJ1aWxkIGZvbGRlciBwYXRoIG11c3QgZW5kIGluIDx2ZXJzaW9uPi9idWlsZCwgb3IgdGhlIHZhcmlhYmxlIEtFUk5fVkVSIG11c3QgYmUgc2V0LiAgU3RvcC4KLSAgICBta2RpciAtcCAke1dPUktESVJ9LyR7S0VSTkVMX1ZFUlNJT059Ci0gICAgbG4gLXNuZiAke1NUQUdJTkdfS0VSTkVMX0RJUn0gJHtXT1JLRElSfS8ke0tFUk5FTF9WRVJTSU9OfS9idWlsZAotfQotCi0jIGNvbXBpbGUgYW5kIGluc3RhbGwgbW91bnQgdXRpbGl0eQotZG9fY29tcGlsZV9hcHBlbmQoKSB7Ci0gICAgb2VfcnVubWFrZSAnTEQ9JHtDQ30nICdMREZMQUdTPSR7TERGTEFHU30nIC1DICR7U30vdXRpbHMKLSAgICBpZiAhIFsgLWUgdmJveGd1ZXN0LmtvIC1hIC1lIHZib3hzZi5rbyAtYSAtZSB2Ym94dmlkZW8ua28gXSA7IHRoZW4KLSAgICAgICAgZWNobyAiRVJST1I6IE9uZSBvZiB2Ym94Ki5rbyBtb2R1bGVzIHdhc24ndCBidWlsdCIKLSAgICAgICAgZXhpdCAxCi0gICAgZmkKLX0KLQotbW9kdWxlX2RvX2luc3RhbGwoKSB7Ci0gICAgTU9EVUxFX0RJUj0ke0R9JHtub25hcmNoX2Jhc2VfbGliZGlyfS9tb2R1bGVzLyR7S0VSTkVMX1ZFUlNJT059L2tlcm5lbC9taXNjCi0gICAgaW5zdGFsbCAtZCAkTU9EVUxFX0RJUgotICAgIGluc3RhbGwgLW0gNjQ0IHZib3hndWVzdC5rbyAkTU9EVUxFX0RJUgotICAgIGluc3RhbGwgLW0gNjQ0IHZib3hzZi5rbyAkTU9EVUxFX0RJUgotICAgIGluc3RhbGwgLW0gNjQ0IHZib3h2aWRlby5rbyAkTU9EVUxFX0RJUgotfQotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICBpbnN0YWxsIC1kICR7RH0ke2Jhc2Vfc2JpbmRpcn0KLSAgICBpbnN0YWxsIC1tIDc1NSAke1N9L3V0aWxzL21vdW50LnZib3hzZiAke0R9JHtiYXNlX3NiaW5kaXJ9Ci19Ci0KLVBBQ0tBR0VTICs9ICJrZXJuZWwtbW9kdWxlLXZib3hndWVzdCBrZXJuZWwtbW9kdWxlLXZib3hzZiBrZXJuZWwtbW9kdWxlLXZib3h2aWRlbyIKLVJSRUNPTU1FTkRTXyR7UE59ICs9ICJrZXJuZWwtbW9kdWxlLXZib3hndWVzdCBrZXJuZWwtbW9kdWxlLXZib3hzZiBrZXJuZWwtbW9kdWxlLXZib3h2aWRlbyIKLQotRklMRVNfJHtQTn0gPSAiJHtiYXNlX3NiaW5kaXJ9IgotCi0jIGF1dG9sb2FkIGlmIGluc3RhbGxlZAotS0VSTkVMX01PRFVMRV9BVVRPTE9BRCArPSAidmJveGd1ZXN0IHZib3hzZiB2Ym94dmlkZW8iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92Ym94Z3Vlc3Rkcml2ZXJzL3Zib3hndWVzdGRyaXZlcnNfNS4yLjIyLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmJveGd1ZXN0ZHJpdmVycy92Ym94Z3Vlc3Rkcml2ZXJzXzUuMi4yMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMzk0ZjM0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmJveGd1ZXN0ZHJpdmVycy92Ym94Z3Vlc3Rkcml2ZXJzXzUuMi4yMi5iYgpAQCAtMCwwICsxLDgwIEBACitTVU1NQVJZID0gIlZpcnR1YWxCb3ggTGludXggR3Vlc3QgRHJpdmVycyIKK1NFQ1RJT04gPSAiY29yZSIKK0xJQ0VOU0UgPSAiR1BMLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7V09SS0RJUn0vJHtWQk9YX05BTUV9L0NPUFlJTkc7bWQ1PWUxOTdkNTY0MWJiMzViMjlkNDZjYThjNGJmN2YyNjYwIgorCitERVBFTkRTID0gInZpcnR1YWwva2VybmVsIgorCitpbmhlcml0IG1vZHVsZSBrZXJuZWwtbW9kdWxlLXNwbGl0CisKK0NPTVBBVElCTEVfTUFDSElORSA9ICIocWVtdXg4NnxxZW11eDg2LTY0KSIKKworVkJPWF9OQU1FID0gIlZpcnR1YWxCb3gtJHtQVn0iCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLnZpcnR1YWxib3gub3JnL3ZpcnR1YWxib3gvJHtQVn0vJHtWQk9YX05BTUV9LnRhci5iejIgXAorICAgIGZpbGU6Ly9NYWtlZmlsZS51dGlscyBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiYzljMmYxNjJhYzVmOTlkMjhkOGMwY2E0M2IxOWVkMDEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTU4MGU4NzUzNDkzNDFhMWFhYmM2ZDVkMmY2OTdkMjQyZjI3NzQ4NzMxNmZhYWYxZmJlNjhkOTAxNGY3ODhkNCIKKworUyA9ICIke1dPUktESVJ9L3Zib3hfbW9kdWxlIgorCitleHBvcnQgQlVJTERfVEFSR0VUX0FSQ0g9IiR7QVJDSH0iCitleHBvcnQgQlVJTERfVEFSR0VUX0FSQ0hfeDg2LTY0PSJhbWQ2NCIKKworRVhUUkFfT0VNQUtFICs9ICJLRVJOX0RJUj0nJHtXT1JLRElSfS8ke0tFUk5FTF9WRVJTSU9OfS9idWlsZCciCisKKyMgb3RoZXJ3aXNlIDUuMi4yMiBidWlsZHMganVzdCB2Ym94Z3Vlc3QKK01BS0VfVEFSR0VUUyA9ICJhbGwiCisKK2FkZHRhc2sgZXhwb3J0X3NvdXJjZXMgYmVmb3JlIGRvX3BhdGNoIGFmdGVyIGRvX3VucGFjaworCitkb19leHBvcnRfc291cmNlcygpIHsKKyAgICBta2RpciAtcCAiJHtTfSIKKyAgICAke1dPUktESVJ9LyR7VkJPWF9OQU1FfS9zcmMvVkJveC9BZGRpdGlvbnMvbGludXgvZXhwb3J0X21vZHVsZXMuc2ggJHtUfS92Ym94X21vZHVsZXMudGFyLmd6CisgICAgdGFyIC1DICIke1N9IiAteHpmICR7VH0vdmJveF9tb2R1bGVzLnRhci5negorCisgICAgIyBhZGQgYSBtb3VudCB1dGlsaXR5IHRvIHVzZSBzaGFyZWQgZm9sZGVyIGZyb20gVkJveCBBZGRpdGlvbiBTb3VyY2UgQ29kZQorICAgIG1rZGlyIC1wICIke1N9L3V0aWxzIgorICAgIGluc3RhbGwgJHtXT1JLRElSfS8ke1ZCT1hfTkFNRX0vc3JjL1ZCb3gvQWRkaXRpb25zL2xpbnV4L3NoYXJlZGZvbGRlcnMvbW91bnQudmJveHNmLmMgJHtTfS91dGlscworICAgIGluc3RhbGwgJHtXT1JLRElSfS8ke1ZCT1hfTkFNRX0vc3JjL1ZCb3gvQWRkaXRpb25zL2xpbnV4L3NoYXJlZGZvbGRlcnMvdmJzZm1vdW50LmMgJHtTfS91dGlscworICAgIGluc3RhbGwgJHtTfS8uLi9NYWtlZmlsZS51dGlscyAke1N9L3V0aWxzL01ha2VmaWxlCisKK30KKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgIyB2Ym94Z3Vlc3Rkcml2ZXJzLzUuMi42LXIwL3Zib3hfbW9kdWxlL3Zib3hndWVzdC9NYWtlZmlsZS5pbmNsdWRlLmhlYWRlcjo5OTogKioqIFRoZSB2YXJpYWJsZSBLRVJOX0RJUiBtdXN0IGJlIGEga2VybmVsIGJ1aWxkIGZvbGRlciBhbmQgZW5kIHdpdGggL2J1aWxkIHdpdGhvdXQgYSB0cmFpbGluZyBzbGFzaCwgb3IgS0VSTl9WRVIgbXVzdCBiZSBzZXQuICBTdG9wLgorICAgICMgdmJveGd1ZXN0ZHJpdmVycy81LjIuNi1yMC92Ym94X21vZHVsZS92Ym94Z3Vlc3QvTWFrZWZpbGUuaW5jbHVkZS5oZWFkZXI6MTA4OiAqKiogVGhlIGtlcm5lbCBidWlsZCBmb2xkZXIgcGF0aCBtdXN0IGVuZCBpbiA8dmVyc2lvbj4vYnVpbGQsIG9yIHRoZSB2YXJpYWJsZSBLRVJOX1ZFUiBtdXN0IGJlIHNldC4gIFN0b3AuCisgICAgbWtkaXIgLXAgJHtXT1JLRElSfS8ke0tFUk5FTF9WRVJTSU9OfQorICAgIGxuIC1zbmYgJHtTVEFHSU5HX0tFUk5FTF9ESVJ9ICR7V09SS0RJUn0vJHtLRVJORUxfVkVSU0lPTn0vYnVpbGQKK30KKworIyBjb21waWxlIGFuZCBpbnN0YWxsIG1vdW50IHV0aWxpdHkKK2RvX2NvbXBpbGVfYXBwZW5kKCkgeworICAgIG9lX3J1bm1ha2UgJ0xEPSR7Q0N9JyAnTERGTEFHUz0ke0xERkxBR1N9JyAtQyAke1N9L3V0aWxzCisgICAgaWYgISBbIC1lIHZib3hndWVzdC5rbyAtYSAtZSB2Ym94c2Yua28gLWEgLWUgdmJveHZpZGVvLmtvIF0gOyB0aGVuCisgICAgICAgIGVjaG8gIkVSUk9SOiBPbmUgb2YgdmJveCoua28gbW9kdWxlcyB3YXNuJ3QgYnVpbHQiCisgICAgICAgIGV4aXQgMQorICAgIGZpCit9CisKK21vZHVsZV9kb19pbnN0YWxsKCkgeworICAgIE1PRFVMRV9ESVI9JHtEfSR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vbW9kdWxlcy8ke0tFUk5FTF9WRVJTSU9OfS9rZXJuZWwvbWlzYworICAgIGluc3RhbGwgLWQgJE1PRFVMRV9ESVIKKyAgICBpbnN0YWxsIC1tIDY0NCB2Ym94Z3Vlc3Qua28gJE1PRFVMRV9ESVIKKyAgICBpbnN0YWxsIC1tIDY0NCB2Ym94c2Yua28gJE1PRFVMRV9ESVIKKyAgICBpbnN0YWxsIC1tIDY0NCB2Ym94dmlkZW8ua28gJE1PRFVMRV9ESVIKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiYXNlX3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgJHtTfS91dGlscy9tb3VudC52Ym94c2YgJHtEfSR7YmFzZV9zYmluZGlyfQorfQorCitQQUNLQUdFUyArPSAia2VybmVsLW1vZHVsZS12Ym94Z3Vlc3Qga2VybmVsLW1vZHVsZS12Ym94c2Yga2VybmVsLW1vZHVsZS12Ym94dmlkZW8iCitSUkVDT01NRU5EU18ke1BOfSArPSAia2VybmVsLW1vZHVsZS12Ym94Z3Vlc3Qga2VybmVsLW1vZHVsZS12Ym94c2Yga2VybmVsLW1vZHVsZS12Ym94dmlkZW8iCisKK0ZJTEVTXyR7UE59ID0gIiR7YmFzZV9zYmluZGlyfSIKKworIyBhdXRvbG9hZCBpZiBpbnN0YWxsZWQKK0tFUk5FTF9NT0RVTEVfQVVUT0xPQUQgKz0gInZib3hndWVzdCB2Ym94c2YgdmJveHZpZGVvIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmltL2ZpbGVzL2Rpc2FibGVfYWNsX2hlYWRlcl9jaGVjay5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS9maWxlcy9kaXNhYmxlX2FjbF9oZWFkZXJfY2hlY2sucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ3MjAwMDMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmltL2ZpbGVzL2Rpc2FibGVfYWNsX2hlYWRlcl9jaGVjay5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLUZyb20gNWVkMjVjMDc2YTFmYjE4ODlhM2M1MGRkZGYyOWYyMTg1MGI1OWExMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFdlbnpvbmcgRmFuIDx3ZW56b25nLmZhbkB3aW5kcml2ZXIuY29tPiAKLURhdGU6IFR1ZSwgMjYgSnVuIDIwMTggMTc6Mjk6MDkgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gZGlzYWJsZSBhY2wgaGVhZGVyIGNoZWNrCi0KLURvbid0IGNoZWNrICdzeXMvYWNsLmgnIGlmIGFjbCBzdXBwb3J0IGRpc2FibGVkIGZvciB2aW0vdmltLXRpbnkuCi0KLVVwc3RyZWFtLVN0YXR1czogcGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBXZW56b25nIEZhbiA8d2Vuem9uZy5mYW5Ad2luZHJpdmVyLmNvbT4KLVNpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBzcmMvY29uZmlndXJlLmFjIHwgMyArKy0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvY29uZmlndXJlLmFjIGIvc3JjL2NvbmZpZ3VyZS5hYwotaW5kZXggMTA3YzE3MC4uMGVlODZhZCAxMDA2NDQKLS0tLSBhL3NyYy9jb25maWd1cmUuYWMKLSsrKyBiL3NyYy9jb25maWd1cmUuYWMKLUBAIC0zMjIwLDcgKzMyMjAsNyBAQCBBQ19DSEVDS19IRUFERVJTKHN0ZGludC5oIHN0ZGxpYi5oIHN0cmluZy5oIFwKLSAJc3lzL3N5c3RlbWluZm8uaCBsb2NhbGUuaCBzeXMvc3RyZWFtLmggdGVybWlvcy5oIFwKLSAJbGliYy5oIHN5cy9zdGF0ZnMuaCBwb2xsLmggc3lzL3BvbGwuaCBwd2QuaCBcCi0gCXV0aW1lLmggc3lzL3BhcmFtLmggbGliaW50bC5oIGxpYmdlbi5oIFwKLS0JdXRpbC9kZWJ1Zy5oIHV0aWwvbXNnMThuLmggZnJhbWUuaCBzeXMvYWNsLmggXAotKwl1dGlsL2RlYnVnLmggdXRpbC9tc2cxOG4uaCBmcmFtZS5oIFwKLSAJc3lzL2FjY2Vzcy5oIHN5cy9zeXNpbmZvLmggd2NoYXIuaCB3Y3R5cGUuaCkKLSAKLSBkbmwgc3lzL3B0ZW0uaCBkZXBlbmRzIG9uIHN5cy9zdHJlYW0uaCBvbiBTb2xhcmlzCi1AQCAtMzg0OCw2ICszODQ4LDcgQEAgQUNfQVJHX0VOQUJMRShhY2wsCi0gCSwgW2VuYWJsZV9hY2w9InllcyJdKQotIGlmIHRlc3QgIiRlbmFibGVfYWNsIiA9ICJ5ZXMiOyB0aGVuCi0gICBBQ19NU0dfUkVTVUxUKG5vKQotKyAgQUNfQ0hFQ0tfSEVBREVSUyhzeXMvYWNsLmgpCi0gICBBQ19DSEVDS19MSUIocG9zaXgxZSwgYWNsX2dldF9maWxlLCBbTElCUz0iJExJQlMgLWxwb3NpeDFlIl0sCi0gCUFDX0NIRUNLX0xJQihhY2wsIGFjbF9nZXRfZmlsZSwgW0xJQlM9IiRMSUJTIC1sYWNsIgotIAkJICBBQ19DSEVDS19MSUIoYXR0ciwgZmdldHhhdHRyLCBMSUJTPSIkTElCUyAtbGF0dHIiLCwpXSwsKSwpCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW1fOC4xLjAzNDcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92aW0vdmltXzguMS4wMzQ3LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZGU0ZDhlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW1fOC4xLjAzNDcuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMTggKzAsMCBAQAotU1VNTUFSWSA9ICJWaSBJTXByb3ZlZCAtIGVuaGFuY2VkIHZpIGVkaXRvciIKLVNFQ1RJT04gPSAiY29uc29sZS91dGlscyIKLQotUFJPVklERVMgPSAieHhkIgotREVQRU5EUyA9ICJuY3Vyc2VzIGdldHRleHQtbmF0aXZlIgotIyB2aW1kaWZmIGRvZXNuJ3QgbGlrZSBidXN5Ym94IGRpZmYKLVJTVUdHRVNUU18ke1BOfSA9ICJkaWZmdXRpbHMiCi1MSUNFTlNFID0gInZpbSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLy4uL3J1bnRpbWUvZG9jL3VnYW5kYS50eHQ7ZW5kbGluZT0yODc7bWQ1PWYxZjgyYjQyMzYwMDA1YzcwYjhjMTliMGVmNDkzZjcyIgotCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vdmltL3ZpbS5naXQgXAotICAgICAgICAgICBmaWxlOi8vZGlzYWJsZV9hY2xfaGVhZGVyX2NoZWNrLnBhdGNoO3BhdGNoZGlyPS4uIFwKLSAgICAgICAgICAgZmlsZTovL3ZpbS1hZGQta25vYi13aGV0aGVyLWVsZi5oLWFyZS1jaGVja2VkLnBhdGNoO3BhdGNoZGlyPS4uIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtc3JjLU1ha2VmaWxlLWltcHJvdmUtcmVwcm9kdWNpYmlsaXR5LnBhdGNoO3BhdGNoZGlyPS4uIFwKLSIKLVNSQ1JFViA9ICJmMWMxMThiZTkzMTg0ZThlNTdlM2U4MGIxYjMzODNmNDY0ZWQ2NDllIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0L3NyYyIKLQotVklNRElSID0gInZpbSR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMF19JHtAZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVsxXX0iCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCB1cGRhdGUtYWx0ZXJuYXRpdmVzCi0KLUNMRUFOQlJPS0VOID0gIjEiCi0KLSMgdmltIGNvbmZpZ3VyZS5pbiBjb250YWlucyBmdW5jdGlvbnMgd2hpY2ggZ290ICdkcm9wcGVkJyBieSBhdXRvdG9vbHMuYmJjbGFzcwotZG9fY29uZmlndXJlICgpIHsKLSAgICBybSAtZiBhdXRvLyoKLSAgICB0b3VjaCBhdXRvL2NvbmZpZy5tawotICAgIGFjbG9jYWwKLSAgICBhdXRvY29uZgotICAgIG9lX3J1bmNvbmYKLSAgICB0b3VjaCBhdXRvL2NvbmZpZ3VyZQotICAgIHRvdWNoIGF1dG8vY29uZmlnLm1rIGF1dG8vY29uZmlnLmgKLX0KLQotI0F2YWlsYWJsZSBQQUNLQUdFQ09ORklHIG9wdGlvbnMgYXJlIGd0a2d1aSwgYWNsLCB4MTEsIHRpbnkKLVBBQ0tBR0VDT05GSUcgPz89ICIiCi1QQUNLQUdFQ09ORklHICs9ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdhY2wgc2VsaW51eCcsIGQpfSIKLQotUEFDS0FHRUNPTkZJR1tndGtndWldID0gIi0tZW5hYmxlLWd0azItdGVzdCAtLWVuYWJsZS1ndWk9Z3RrMiwtLWVuYWJsZS1ndWk9bm8sZ3RrKywiCi1QQUNLQUdFQ09ORklHW2FjbF0gPSAiLS1lbmFibGUtYWNsLC0tZGlzYWJsZS1hY2wsYWNsLCIKLVBBQ0tBR0VDT05GSUdbeDExXSA9ICItLXdpdGgteCwtLXdpdGhvdXQteCx4dCwiCi1QQUNLQUdFQ09ORklHW3RpbnldID0gIi0td2l0aC1mZWF0dXJlcz10aW55LC0td2l0aC1mZWF0dXJlcz1iaWcsLCIKLVBBQ0tBR0VDT05GSUdbc2VsaW51eF0gPSAiLS1lbmFibGUtc2VsaW51eCwtLWRpc2FibGUtc2VsaW51eCxsaWJzZWxpbnV4LCIKLVBBQ0tBR0VDT05GSUdbZWxmdXRpbHNdID0gIi0tZW5hYmxlLWVsZi1jaGVjaywsZWxmdXRpbHMsIgotCi1FWFRSQV9PRUNPTkYgPSAiIFwKLSAgICAtLWRpc2FibGUtZ3BtIFwKLSAgICAtLWRpc2FibGUtZ3RrdGVzdCBcCi0gICAgLS1kaXNhYmxlLXhpbSBcCi0gICAgLS1kaXNhYmxlLW5ldGJlYW5zIFwKLSAgICAtLXdpdGgtdGxpYj1uY3Vyc2VzIFwKLSAgICBhY19jdl9zbWFsbF93Y2hhcl90PW5vIFwKLSAgICB2aW1fY3ZfZ2V0Y3dkX2Jyb2tlbj1ubyBcCi0gICAgdmltX2N2X21lbW1vdmVfaGFuZGxlc19vdmVybGFwPXllcyBcCi0gICAgdmltX2N2X3N0YXRfaWdub3Jlc19zbGFzaD1ubyBcCi0gICAgdmltX2N2X3Rlcm1pbmZvPXllcyBcCi0gICAgdmltX2N2X3RnZXRlbnQ9bm9uLXplcm8gXAotICAgIHZpbV9jdl90b3VwcGVyX2Jyb2tlbj1ubyBcCi0gICAgdmltX2N2X3R0eV9ncm91cD13b3JsZCBcCi0gICAgU1RSSVA9L2Jpbi90cnVlIFwKLSIKLQotZG9faW5zdGFsbCgpIHsKLSAgICBhdXRvdG9vbHNfZG9faW5zdGFsbAotCi0gICAgIyBXb3JrIGFyb3VuZCBmaWxlLXJkZXBzIHBpY2tpbmcgdXAgY3NoLCBhd2ssIHBlcmwgb3IgcHl0aG9uIGFzIGEgZGVwCi0gICAgY2htb2QgLXggJHtEfSR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS90b29scy92aW0xMzIKLSAgICBjaG1vZCAteCAke0R9JHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3Rvb2xzL212ZS5hd2sKLSAgICBjaG1vZCAteCAke0R9JHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3Rvb2xzLyoucGwKLSAgICBjaG1vZCAteCAke0R9JHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3Rvb2xzLyoucHkKLQotICAgICMgSW5zdGFsbCBleGFtcGxlIHZpbXJjIGZyb20gcnVudGltZSBmaWxlcwotICAgIGluc3RhbGwgLW0gMDY0NCAuLi9ydW50aW1lL3ZpbXJjX2V4YW1wbGUudmltICR7RH0vJHtkYXRhZGlyfS8ke0JQTn0vdmltcmMKLQotICAgICMgd2UgdXNlIC0td2l0aC1mZWF0dXJlcz1iaWcgYXMgZGVmYXVsdAotICAgIG12ICR7RH0ke2JpbmRpcn0vJHtCUE59ICR7RH0ke2JpbmRpcn0vJHtCUE59LiR7QlBOfQotfQotCi1QQVJBTExFTF9NQUtFSU5TVCA9ICIiCi0KLVBBQ0tBR0VTID0rICIke1BOfS1jb21tb24gJHtQTn0tc3ludGF4ICR7UE59LWhlbHAgJHtQTn0tdHV0b3IgJHtQTn0tdmltcmMgJHtQTn0tdG9vbHMiCi1GSUxFU18ke1BOfS1zeW50YXggPSAiJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3N5bnRheCIKLUZJTEVTXyR7UE59LWhlbHAgPSAiJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L2RvYyIKLUZJTEVTXyR7UE59LXR1dG9yID0gIiR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS90dXRvciAke2JpbmRpcn0vJHtCUE59dHV0b3IiCi1GSUxFU18ke1BOfS12aW1yYyA9ICIke2RhdGFkaXJ9LyR7QlBOfS92aW1yYyIKLUZJTEVTXyR7UE59LWRhdGEgPSAiJHtkYXRhZGlyfS8ke0JQTn0iCi1GSUxFU18ke1BOfS10b29scyA9ICIke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vdG9vbHMiCi1GSUxFU18ke1BOfS1jb21tb24gPSAiIFwKLSAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vKi52aW0gXAotICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9hdXRvbG9hZCBcCi0gICAgJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L2NvbG9ycyBcCi0gICAgJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L2NvbXBpbGVyIFwKLSAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vZnRwbHVnaW4gXAotICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9pbmRlbnQgXAotICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9rZXltYXAgXAotICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9sYW5nIFwKLSAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vbWFjcm9zIFwKLSAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vcGx1Z2luIFwKLSAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vcHJpbnQgXAotICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9zcGVsbCBcCi0gICAgJHtkYXRhZGlyfS9pY29ucyBcCi0iCi0KLVJERVBFTkRTXyR7QlBOfSA9ICJuY3Vyc2VzLXRlcm1pbmZvLWJhc2UiCi0jIFJlY29tbWVuZCB0aGF0IHJ1bnRpbWUgZGF0YSBpcyBpbnN0YWxsZWQgYWxvbmcgd2l0aCB2aW0KLVJSRUNPTU1FTkRTXyR7QlBOfSA9ICIke1BOfS1zeW50YXggJHtQTn0taGVscCAke1BOfS10dXRvciAke1BOfS12aW1yYyAke1BOfS1jb21tb24iCi0KLUFMVEVSTkFUSVZFXyR7UE59ID0gInZpIHZpbSB4eGQiCi1BTFRFUk5BVElWRV9QUklPUklUWSA9ICIxMDAiCi1BTFRFUk5BVElWRV9UQVJHRVQgPSAiJHtiaW5kaXJ9LyR7QlBOfS4ke0JQTn0iCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbdmldID0gIiR7YmFzZV9iaW5kaXJ9L3ZpIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3ZpbV0gPSAiJHtiaW5kaXJ9L3ZpbSIKLUFMVEVSTkFUSVZFX1RBUkdFVFt4eGRdID0gIiR7YmluZGlyfS94eGQiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbeHhkXSA9ICIke2JpbmRpcn0veHhkIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2NhdGNoMi9jYXRjaDIvMDAwMS1GaXgtY29udmVydC1mcm9tLWNoYXItb24tQVJNLWJ1aWxkLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvY2F0Y2gyL2NhdGNoMi8wMDAxLUZpeC1jb252ZXJ0LWZyb20tY2hhci1vbi1BUk0tYnVpbGQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMwNzM3NzUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvY2F0Y2gyL2NhdGNoMi8wMDAxLUZpeC1jb252ZXJ0LWZyb20tY2hhci1vbi1BUk0tYnVpbGQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBACi1Gcm9tIDU3Mjk4NzRmYTUwNTljMzlhYTk3Y2ZhMDhmZGRmMTA3YjdhNjVjOWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNaWd1ZWwgR2FpbyA8bWdhaW8zNUBnbWFpbC5jb20+Ci1EYXRlOiBXZWQsIDMgT2N0IDIwMTggMTA6MjI6MTYgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IGNvbnZlcnQgZnJvbSBjaGFyIG9uIEFSTSBidWlsZAotCi1Tb21lIHBsYXRmb3JtcyBzZXQgdGhlIHNpZ25lZG5lc3Mgb2YgY2hhciB0byB1bnNpZ25lZCAoZWcuIEFSTSkuCi1Db252ZXJ0IGZyb20gY2hhciBzaG91bGQgbm90IGFzc3VtZSB0aGUgc2lnbmVkbmVzcyBvZiBjaGFyLgotCi1GaXggYnVpbGQgaXNzdWUgd2l0aCAtV2Vycm9yLC1XdGF1dG9sb2dpY2FsLXVuc2lnbmVkLXplcm8tY29tcGFyZSBmbGFncy4KLQotU2lnbmVkLW9mZi1ieTogTWlndWVsIEdhaW8gPG1nYWlvMzVAZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEFjY2VwdGVkIFtDb21taXQgZjFmYWFhOWMxMDcxMTM2OTIzMDFhZDhiYjU2MDg0NDYwZWYxYTJmZl0KLQotU2lnbmVkLW9mZi1ieTogQmFydG9zeiBHb2xhc3pld3NraSA8YmdvbGFzemV3c2tpQGJheWxpYnJlLmNvbT4KLS0tLQotIGluY2x1ZGUvaW50ZXJuYWwvY2F0Y2hfdG9zdHJpbmcuY3BwIHwgNiArKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvaW5jbHVkZS9pbnRlcm5hbC9jYXRjaF90b3N0cmluZy5jcHAgYi9pbmNsdWRlL2ludGVybmFsL2NhdGNoX3Rvc3RyaW5nLmNwcAotaW5kZXggNGUwYzAyN2QuLjhjYmFiYmYyIDEwMDY0NAotLS0tIGEvaW5jbHVkZS9pbnRlcm5hbC9jYXRjaF90b3N0cmluZy5jcHAKLSsrKyBiL2luY2x1ZGUvaW50ZXJuYWwvY2F0Y2hfdG9zdHJpbmcuY3BwCi1AQCAtMjA1LDcgKzIwNSw3IEBAIHN0ZDo6c3RyaW5nIFN0cmluZ01ha2VyPGJvb2w+Ojpjb252ZXJ0KGJvb2wgYikgewotICAgICByZXR1cm4gYiA/ICJ0cnVlIiA6ICJmYWxzZSI7Ci0gfQotIAotLXN0ZDo6c3RyaW5nIFN0cmluZ01ha2VyPGNoYXI+Ojpjb252ZXJ0KGNoYXIgdmFsdWUpIHsKLStzdGQ6OnN0cmluZyBTdHJpbmdNYWtlcjxzaWduZWQgY2hhcj46OmNvbnZlcnQoc2lnbmVkIGNoYXIgdmFsdWUpIHsKLSAgICAgaWYgKHZhbHVlID09ICdccicpIHsKLSAgICAgICAgIHJldHVybiAiJ1xcciciOwotICAgICB9IGVsc2UgaWYgKHZhbHVlID09ICdcZicpIHsKLUBAIC0yMjIsOCArMjIyLDggQEAgc3RkOjpzdHJpbmcgU3RyaW5nTWFrZXI8Y2hhcj46OmNvbnZlcnQoY2hhciB2YWx1ZSkgewotICAgICAgICAgcmV0dXJuIGNoc3RyOwotICAgICB9Ci0gfQotLXN0ZDo6c3RyaW5nIFN0cmluZ01ha2VyPHNpZ25lZCBjaGFyPjo6Y29udmVydChzaWduZWQgY2hhciBjKSB7Ci0tICAgIHJldHVybiA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeShzdGF0aWNfY2FzdDxjaGFyPihjKSk7Ci0rc3RkOjpzdHJpbmcgU3RyaW5nTWFrZXI8Y2hhcj46OmNvbnZlcnQoY2hhciBjKSB7Ci0rICAgIHJldHVybiA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeShzdGF0aWNfY2FzdDxzaWduZWQgY2hhcj4oYykpOwotIH0KLSBzdGQ6OnN0cmluZyBTdHJpbmdNYWtlcjx1bnNpZ25lZCBjaGFyPjo6Y29udmVydCh1bnNpZ25lZCBjaGFyIGMpIHsKLSAgICAgcmV0dXJuIDo6Q2F0Y2g6OkRldGFpbDo6c3RyaW5naWZ5KHN0YXRpY19jYXN0PGNoYXI+KGMpKTsKLS0tIAotMi4xOS4xCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2NhdGNoMi9jYXRjaDJfMi40LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9jYXRjaDIvY2F0Y2gyXzIuNC4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMTgzYzJlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2NhdGNoMi9jYXRjaDJfMi40LjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1ERVNDUklQVElPTiA9ICJBIG1vZGVybiwgQysrLW5hdGl2ZSwgaGVhZGVyLW9ubHksIHRlc3QgZnJhbWV3b3JrIGZvciB1bml0LXRlc3RzLCBcCi1UREQgYW5kIEJERCAtIHVzaW5nIEMrKzExLCBDKysxNCwgQysrMTcgYW5kIGxhdGVyLiIKLUFVVEhPUiA9ICJQaGlsIE5hc2gsIE1hcnRpbiBIb3Jlbm92c2t5IGFuZCBvdGhlcnMiCi1IT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vY2F0Y2hvcmcvQ2F0Y2gyIgotTElDRU5TRSA9ICJCU0wtMS4wIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PWU0MjI0Y2NhZWNiMTRkOTQyYzcxZDMxYmVmMjBkNzhjIgotCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vY2F0Y2hvcmcvQ2F0Y2gyLmdpdCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1jb252ZXJ0LWZyb20tY2hhci1vbi1BUk0tYnVpbGQucGF0Y2giCi1TUkNSRVYgPSAiOWUxYmRjYTQ2NjcyOTVmY2IxNjI2NWVhZTAwZWZhODQyM2YwNzAwNyIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBjbWFrZSBweXRob24zbmF0aXZlCi0KLSMgSGVhZGVyLW9ubHkgbGlicmFyeQotUkRFUEVORFNfJHtQTn0tZGV2ID0gIiIKLVJSRUNPTU1FTkRTXyR7UE59LWRiZyA9ICIke1BOfS1kZXYgKD0gJHtFWFRFTkRQS0dWfSkiCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIHJtICR7RH0vJHtkYXRhZGlyfS9DYXRjaDIvbGxkYmluaXQKLSAgICBybSAke0R9LyR7ZGF0YWRpcn0vQ2F0Y2gyL2dkYmluaXQKLSAgICBybWRpciAke0R9LyR7ZGF0YWRpcn0vQ2F0Y2gyLwotfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvY2F0Y2gyL2NhdGNoMl8yLjYuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2NhdGNoMi9jYXRjaDJfMi42LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDhkNjYxNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2NhdGNoMi9jYXRjaDJfMi42LjEuYmIKQEAgLTAsMCArMSwyNSBAQAorREVTQ1JJUFRJT04gPSAiQSBtb2Rlcm4sIEMrKy1uYXRpdmUsIGhlYWRlci1vbmx5LCB0ZXN0IGZyYW1ld29yayBmb3IgdW5pdC10ZXN0cywgXAorVEREIGFuZCBCREQgLSB1c2luZyBDKysxMSwgQysrMTQsIEMrKzE3IGFuZCBsYXRlci4iCitBVVRIT1IgPSAiUGhpbCBOYXNoLCBNYXJ0aW4gSG9yZW5vdnNreSBhbmQgb3RoZXJzIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2NhdGNob3JnL0NhdGNoMiIKK0xJQ0VOU0UgPSAiQlNMLTEuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT1lNDIyNGNjYWVjYjE0ZDk0MmM3MWQzMWJlZjIwZDc4YyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2NhdGNob3JnL0NhdGNoMi5naXQgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtV2RlZmF1bHRlZC1mdW5jdGlvbi1kZWxldGVkLXdhcm5pbmcucGF0Y2ggXAorICAgICAgICAgICIKKyMgdjIuNi4xCitTUkNSRVYgPSAiZGJiYWI4NzI3YzM0MjczM2Y3NTA0NTQ4MzA0OGNkY2I1MjQyMWUzMiIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBjbWFrZSBweXRob24zbmF0aXZlCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIHJtICR7RH0ke2RhdGFkaXJ9L0NhdGNoMi9sbGRiaW5pdAorICAgIHJtICR7RH0ke2RhdGFkaXJ9L0NhdGNoMi9nZGJpbml0CisgICAgcm1kaXIgJHtEfSR7ZGF0YWRpcn0vQ2F0Y2gyLworfQorIyBIZWFkZXItb25seSBsaWJyYXJ5CitSREVQRU5EU18ke1BOfS1kZXYgPSAiIgorUlJFQ09NTUVORFNfJHtQTn0tZGJnID0gIiR7UE59LWRldiAoPSAke0VYVEVORFBLR1Z9KSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2NhdGNoMi9maWxlcy8wMDAxLUZpeC1XZGVmYXVsdGVkLWZ1bmN0aW9uLWRlbGV0ZWQtd2FybmluZy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2NhdGNoMi9maWxlcy8wMDAxLUZpeC1XZGVmYXVsdGVkLWZ1bmN0aW9uLWRlbGV0ZWQtd2FybmluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NTVjNzFhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvY2F0Y2gyL2ZpbGVzLzAwMDEtRml4LVdkZWZhdWx0ZWQtZnVuY3Rpb24tZGVsZXRlZC13YXJuaW5nLnBhdGNoCkBAIC0wLDAgKzEsMzUgQEAKK0Zyb20gYTM5ZTBlYWE4MzE4MzM1MjYwOTY3ZmZkMWQxNjM4OGViNWExZDZkOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDEyIEZlYiAyMDE5IDEyOjU3OjAwIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCAtV2RlZmF1bHRlZC1mdW5jdGlvbi1kZWxldGVkIHdhcm5pbmcKKworQ2xhbmc4IHdhcm5zCisKK2NhdGNoX2ludGVyZmFjZXNfcmVwb3J0ZXIuaDo4NDoyNTogZXJyb3I6IGV4cGxpY2l0bHkgZGVmYXVsdGVkIG1vdmUgYXNzaWdubWVudCBvcGVyYXRvciBpcyBpbXBsaWNpdGx5IGRlbGV0ZWQgWy1XZXJyb3IsLVdkZWZhdWx0ZWQtZnVuY3Rpb24tZGVsZXRlZF0KK3wgICAgICAgICBBc3NlcnRpb25TdGF0cyYgb3BlcmF0b3IgPSAoIEFzc2VydGlvblN0YXRzICYmICkgICAgID0gZGVmYXVsdDsKK3wgICAgICAgICAgICAgICAgICAgICAgICAgXgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL2NhdGNob3JnL0NhdGNoMi9wdWxsLzE1MzddCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgaW5jbHVkZS9pbnRlcm5hbC9jYXRjaF9pbnRlcmZhY2VzX3JlcG9ydGVyLmggfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9pbnRlcm5hbC9jYXRjaF9pbnRlcmZhY2VzX3JlcG9ydGVyLmggYi9pbmNsdWRlL2ludGVybmFsL2NhdGNoX2ludGVyZmFjZXNfcmVwb3J0ZXIuaAoraW5kZXggOWQ5OWM5ODEuLmU1ZmJmOGJiIDEwMDY0NAorLS0tIGEvaW5jbHVkZS9pbnRlcm5hbC9jYXRjaF9pbnRlcmZhY2VzX3JlcG9ydGVyLmgKKysrKyBiL2luY2x1ZGUvaW50ZXJuYWwvY2F0Y2hfaW50ZXJmYWNlc19yZXBvcnRlci5oCitAQCAtODAsOCArODAsOCBAQCBuYW1lc3BhY2UgQ2F0Y2ggeworIAorICAgICAgICAgQXNzZXJ0aW9uU3RhdHMoIEFzc2VydGlvblN0YXRzIGNvbnN0JiApICAgICAgICAgICAgICA9IGRlZmF1bHQ7CisgICAgICAgICBBc3NlcnRpb25TdGF0cyggQXNzZXJ0aW9uU3RhdHMgJiYgKSAgICAgICAgICAgICAgICAgID0gZGVmYXVsdDsKKy0gICAgICAgIEFzc2VydGlvblN0YXRzJiBvcGVyYXRvciA9ICggQXNzZXJ0aW9uU3RhdHMgY29uc3QmICkgPSBkZWZhdWx0OworLSAgICAgICAgQXNzZXJ0aW9uU3RhdHMmIG9wZXJhdG9yID0gKCBBc3NlcnRpb25TdGF0cyAmJiApICAgICA9IGRlZmF1bHQ7CisrICAgICAgICBBc3NlcnRpb25TdGF0cyYgb3BlcmF0b3IgPSAoIEFzc2VydGlvblN0YXRzIGNvbnN0JiApID0gZGVsZXRlOworKyAgICAgICAgQXNzZXJ0aW9uU3RhdHMmIG9wZXJhdG9yID0gKCBBc3NlcnRpb25TdGF0cyAmJiApICAgICA9IGRlbGV0ZTsKKyAgICAgICAgIHZpcnR1YWwgfkFzc2VydGlvblN0YXRzKCk7CisgCisgICAgICAgICBBc3NlcnRpb25SZXN1bHQgYXNzZXJ0aW9uUmVzdWx0OworLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvY3BwdW5pdC9jcHB1bml0XzEuMTMuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2NwcHVuaXQvY3BwdW5pdF8xLjEzLjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY1YjA4YjAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvY3BwdW5pdC9jcHB1bml0XzEuMTMuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLURFU0NSSVBUSU9OID0gIkNwcFVuaXQgaXMgdGhlIEMrKyBwb3J0IG9mIHRoZSBmYW1vdXMgSlVuaXQgZnJhbWV3b3JrIGZvciB1bml0IHRlc3RpbmcuIFRlc3Qgb3V0cHV0IGlzIGluIFhNTCBmb3IgYXV0b21hdGljIHRlc3RpbmcgYW5kIEdVSSBiYXNlZCBmb3Igc3VwZXJ2aXNlZCB0ZXN0cy4gIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvd2lraS9Tb2Z0d2FyZS9jcHB1bml0IgotTElDRU5TRSA9ICJMR1BMLTIuMSIKLVNFQ1RJT04gPSAibGlicyIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9N2ZiYzMzODMwOWFjMzhmZWZjZDY0YjA0YmI5MDNlMzQiCi1TUkNfVVJJID0gIiBcCi0gICAgaHR0cDovL2Rldi13d3cubGlicmVvZmZpY2Uub3JnL3NyYy9jcHB1bml0LSR7UFZ9LnRhci5neiBcCi0gICAgZmlsZTovLzAwMDEtZG9jLU1ha2VmaWxlLmFtLWRvLW5vdC1wcmVzZXJ2ZS1maWxlLWZsYWdzLXdoZW4tY29weS5wYXRjaCBcCi0iCi1TUkNfVVJJW21kNXN1bV0gPSAiZDFjNmJkZDVhNzZjNjZkMmMzODMzMWUyZDI4N2JjMDEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2Y0N2QyNDZlMzM0NmYyYmE0ZDdjOWU4ODJkYjNhZDllYmQzZmNiZDJlOGI3MzJmOTQ2ZTBlM2VlYjlmNDI5ZiIKLQotaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2NwcHVuaXQvY3BwdW5pdF8xLjE0LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9jcHB1bml0L2NwcHVuaXRfMS4xNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0MzI3ODYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9jcHB1bml0L2NwcHVuaXRfMS4xNC4wLmJiCkBAIC0wLDAgKzEsMTQgQEAKK0RFU0NSSVBUSU9OID0gIkNwcFVuaXQgaXMgdGhlIEMrKyBwb3J0IG9mIHRoZSBmYW1vdXMgSlVuaXQgZnJhbWV3b3JrIGZvciB1bml0IHRlc3RpbmcuIFRlc3Qgb3V0cHV0IGlzIGluIFhNTCBmb3IgYXV0b21hdGljIHRlc3RpbmcgYW5kIEdVSSBiYXNlZCBmb3Igc3VwZXJ2aXNlZCB0ZXN0cy4gIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvd2lraS9Tb2Z0d2FyZS9jcHB1bml0IgorTElDRU5TRSA9ICJMR1BMLTIuMSIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIwZTllZjkyMWZmNzgwZWIzMjhiZGNhZWViZWMzMjY5IgorCitTUkNfVVJJID0gIiBcCisgICAgaHR0cDovL2Rldi13d3cubGlicmVvZmZpY2Uub3JnL3NyYy9jcHB1bml0LSR7UFZ9LnRhci5neiBcCisgICAgZmlsZTovLzAwMDEtZG9jLU1ha2VmaWxlLmFtLWRvLW5vdC1wcmVzZXJ2ZS1maWxlLWZsYWdzLXdoZW4tY29weS5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiN2FkOTMwMjIxNzE3MTBhNTQxYmZlNGJmZDhiNGEzODEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2Q1Njk4NjlkMjdiNDg4NjAyMTBjNzU4YzRmMzEzMDgyMTAzYTVlNTgyMTlhNzY2OWI1MmJmZDI5ZDY3NDc4MCIKKworaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2NwcHVuaXQvZmlsZXMvMDAwMS1kb2MtTWFrZWZpbGUuYW0tZG8tbm90LXByZXNlcnZlLWZpbGUtZmxhZ3Mtd2hlbi1jb3B5LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvY3BwdW5pdC9maWxlcy8wMDAxLWRvYy1NYWtlZmlsZS5hbS1kby1ub3QtcHJlc2VydmUtZmlsZS1mbGFncy13aGVuLWNvcHkucGF0Y2gKaW5kZXggNmEyMGMxMi4uNDQxODc2ZSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvY3BwdW5pdC9maWxlcy8wMDAxLWRvYy1NYWtlZmlsZS5hbS1kby1ub3QtcHJlc2VydmUtZmlsZS1mbGFncy13aGVuLWNvcHkucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvY3BwdW5pdC9maWxlcy8wMDAxLWRvYy1NYWtlZmlsZS5hbS1kby1ub3QtcHJlc2VydmUtZmlsZS1mbGFncy13aGVuLWNvcHkucGF0Y2gKQEAgLTE3LDE1ICsxNywxMiBAQAogaW5kZXggODgxNTQ3Ni4uMzIzNzQ5OSAxMDA2NDQKIC0tLSBhL2RvYy9NYWtlZmlsZS5hbQogKysrIGIvZG9jL01ha2VmaWxlLmFtCi1AQCAtMjIsNyArMjIsNyBAQCBodG1sZGlyICs9ICQocGtnZGF0YWRpcikvaHRtbAorQEAgLTgsNyArOCw3IEBAIGh0bWxkaXIgKz0gJChwa2dkYXRhZGlyKS9odG1sCiAgaHRtbF9EQVRBICs9ICQoc3RhdGljX3BhZ2VzKSBodG1sL2luZGV4Lmh0bWwKICAKICBpbnN0YWxsLWRhdGEtaG9vazoKIC0JY3AgLXBSIGh0bWwvKiAkKERFU1RESVIpJChodG1sZGlyKQogKwljcCAtUiBodG1sLyogJChERVNURElSKSQoaHRtbGRpcikKICAKLSAjIEF1dG9tYWtlJ3MgImRpc3RjaGVjayIgaXMgc2Vuc2l0aXZlIHRvIGhhdmluZyBmaWxlcyBsZWZ0IG92ZXIKLSAjIGFmdGVyICJtYWtlIHVuaW5zdGFsbCIsIHNvIHdlIGhhdmUgdG8gY2xlYW4gdXAgdGhlIGluc3RhbGwgaG9vay4KLS0tIAotMi41LjAKLQorIHVuaW5zdGFsbC1sb2NhbDoKKyAJcm0gLXJmICQoREVTVERJUikkKGh0bWxkaXIpCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9jeHh0ZXN0L2N4eHRlc3RfNC4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvY3h4dGVzdC9jeHh0ZXN0XzQuMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjkxNTAxMS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9jeHh0ZXN0L2N4eHRlc3RfNC4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiQ3h4VGVzdCBpcyBhIHVuaXQgdGVzdGluZyBmcmFtZXdvcmsgZm9yIEMrKyB0aGF0IGlzIHNpbWlsYXIgaW4gc3Bpcml0IHRvIEpVbml0LCBDcHBVbml0LCBhbmQgeFVuaXQuIgotSE9NRVBBR0UgPSAiaHR0cDovL2N4eHRlc3QuY29tLyIKLUxJQ0VOU0UgPSAiTEdQTC0yLjAiCi1TRUNUSU9OID0gImRldmVsIgotCi1TUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L3Byb2plY3QvY3h4dGVzdC9jeHh0ZXN0LyR7UFZ9L2N4eHRlc3QtJHtQVn0udGFyLmd6IgotU1JDX1VSSVttZDVzdW1dID0gImIzYTI0YjNlMWFhZDlhY2Y2YWRhYzM3ZjRjM2Y4M2VjIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM1NmQwZjQ4MTBlOGViNWMzNDQxNDdhMGNjYTUwZmMwZDg0MTIyYzI4NmU3NjQ0YjYxY2IzNjVjMmVlMjIwODMiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1dPUktESVJ9L2N4eHRlc3QtJHtQVn0vQ09QWUlORzttZDU9ZTZhNjAwZmQ1ZTFkOWNiZGUyZDk4MzY4MDIzM2FkMDIiCi1TID0gIiR7V09SS0RJUn0vY3h4dGVzdC0ke1BWfS9weXRob24iCi0KLWluaGVyaXQgZGlzdHV0aWxzCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0KLSAgICBjcCAtYSAuLi9jeHh0ZXN0ICR7RH0ke2luY2x1ZGVkaXJ9Ci0gICAgc2VkICcxY1wKLSMhL3Vzci9iaW4vZW52IHB5dGhvbicgLWkgJHtEfSR7YmluZGlyfS9jeHh0ZXN0Z2VuCi19Ci0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2N4eHRlc3QvY3h4dGVzdF80LjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9jeHh0ZXN0L2N4eHRlc3RfNC40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0MmZjY2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9jeHh0ZXN0L2N4eHRlc3RfNC40LmJiCkBAIC0wLDAgKzEsMjIgQEAKK0RFU0NSSVBUSU9OID0gIkN4eFRlc3QgaXMgYSB1bml0IHRlc3RpbmcgZnJhbWV3b3JrIGZvciBDKysgdGhhdCBpcyBzaW1pbGFyIGluIHNwaXJpdCB0byBKVW5pdCwgQ3BwVW5pdCwgYW5kIHhVbml0LiIKK0hPTUVQQUdFID0gImh0dHA6Ly9jeHh0ZXN0LmNvbS8iCitTRUNUSU9OID0gImRldmVsIgorTElDRU5TRSA9ICJMR1BMLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7V09SS0RJUn0vY3h4dGVzdC0ke1BWfS9DT1BZSU5HO21kNT1lNmE2MDBmZDVlMWQ5Y2JkZTJkOTgzNjgwMjMzYWQwMiIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC9wcm9qZWN0L2N4eHRlc3QvY3h4dGVzdC8ke1BWfS9jeHh0ZXN0LSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJjM2NjMzM1NWUyYWM2NGUzNGMyMTVmMjhlNDRjZmNlYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxYzE1NGZlZjkxYzY1ZGJmMWNkNDUxOWFmN2FkZTcwYTYxZDg1YTkyM2I2ZTBjMGIwMDdkYzdmNDg5NWNmN2Q4IgorCitTID0gIiR7V09SS0RJUn0vY3h4dGVzdC0ke1BWfS9weXRob24iCisKK2luaGVyaXQgZGlzdHV0aWxzCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0KKyAgICBjcCAtYSAuLi9jeHh0ZXN0ICR7RH0ke2luY2x1ZGVkaXJ9CisgICAgc2VkICcxY1wKKyMhL3Vzci9iaW4vZW52IHB5dGhvbicgLWkgJHtEfSR7YmluZGlyfS9jeHh0ZXN0Z2VuCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9SRUFETUUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvUkVBRE1FCmluZGV4IDNjNzg3ZjQuLjY3ZjI5MTAgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9SRUFETUUKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL1JFQURNRQpAQCAtNTIsNyArNTIsNyBAQAogVGhpcyBsYXllciBkZXBlbmRzIG9uOgogCiAgIFVSSTogZ2l0Oi8vZ2l0Lm9wZW5lbWJlZGRlZC5vcmcvb3BlbmVtYmVkZGVkLWNvcmUKLSAgYnJhbmNoOiB0aHVkCisgIGJyYW5jaDogbWFzdGVyCiAgIHJldmlzaW9uOiBIRUFECiAgIHByaW86IGRlZmF1bHQKIApAQCAtNzUsMTIgKzc1LDE0IEBACiAtLS0tLS0tLS0tLQogCiBTZW5kIHBhdGNoZXMgLyBwdWxsIHJlcXVlc3RzIHRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIHdpdGgKLSdbbWV0YS1wZXJsXVt0aHVkXScgaW4gdGhlIHN1YmplY3QuCisnW21ldGEtcGVybF0nIGluIHRoZSBzdWJqZWN0LgogCiBXaGVuIHNlbmRpbmcgc2luZ2xlIHBhdGNoZXMsIHBsZWFzZSB1c2luZyBzb21ldGhpbmcgbGlrZToKLSdnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1wZXJsXVt0aHVkXVtQQVRDSCcKKydnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1wZXJsXVtQQVRDSCcKIAotVGh1ZCBtYWludGFpbmVyczogQXJtaW4ga3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KK0xheWVyIG1haW50YWluZXJzOgorICAgIEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKyAgICBUaW0gIm1vdG8tdGltbyIgT3JsaW5nIDx0aWNvdGltb0BnbWFpbC5jb20+CiAKIExpY2Vuc2UKIC0tLS0tLS0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9jb25mL2xheWVyLmNvbmYgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvY29uZi9sYXllci5jb25mCmluZGV4IGIyYmIzNzkuLjZlNjAwYWEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9jb25mL2xheWVyLmNvbmYKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL2NvbmYvbGF5ZXIuY29uZgpAQCAtMTUsNCArMTUsNCBAQAogCiBMQVlFUkRFUEVORFNfcGVybC1sYXllciA9ICJjb3JlIG9wZW5lbWJlZGRlZC1sYXllciIKIAotTEFZRVJTRVJJRVNfQ09NUEFUX3BlcmwtbGF5ZXIgPSAidGh1ZCIKK0xBWUVSU0VSSUVTX0NPTVBBVF9wZXJsLWxheWVyID0gInRodWQgd2FycmlvciIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLWV4dGVuZGVkL2xvZ2NoZWNrL2xvZ2NoZWNrXzEuMy4xOS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLWV4dGVuZGVkL2xvZ2NoZWNrL2xvZ2NoZWNrXzEuMy4xOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODczYWMyYi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1leHRlbmRlZC9sb2djaGVjay9sb2djaGVja18xLjMuMTkuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw3OCArMCwwIEBACi1TVU1NQVJZID0gIkFuYWx5emVzIGxvZyBmaWxlcyBhbmQgc2VuZHMgbm90aWNlYWJsZSBldmVudHMgYXMgZW1haWwiCi1ERVNDUklQVElPTiA9ICJcCi1Mb2djaGVjayBpcyBhIHNpbXBsZSB1dGlsaXR5IHdoaWNoIGlzIGRlc2lnbmVkIHRvIGFsbG93IGEgc3lzdGVtIGFkbWluaXN0cmF0b3IgXAotdG8gdmlldyB0aGUgbG9nLWZpbGVzIHdoaWNoIGFyZSBwcm9kdWNlZCB1cG9uIGhvc3RzIHVuZGVyIHRoZWlyIGNvbnRyb2wuIFwKLUl0IGRvZXMgdGhpcyBieSBtYWlsaW5nIHN1bW1hcmllcyBvZiB0aGUgbG9nLWZpbGVzIHRvIHRoZW0sIGFmdGVyIGZpcnN0IFwKLWZpbHRlcmluZyBvdXQgIm5vcm1hbCIgZW50cmllcy4gXAotTm9ybWFsIGVudHJpZXMgYXJlIGVudHJpZXMgd2hpY2ggbWF0Y2ggb25lIG9mIHRoZSBtYW55IGluY2x1ZGVkIHJlZ3VsYXIgXAotZXhwcmVzc2lvbiBmaWxlcyBjb250YWluIGluIHRoZSBkYXRhYmFzZS4iCi1TRUNUSU9OID0gIkFwcGxpY2F0aW9ucy9TeXN0ZW0iCi1IT01FUEFHRSA9ICJodHRwOi8vbG9nY2hlY2sub3JnLyIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1jOTNjMDU1MGJkMzE3M2Y0NTA0YjJjYmQ4OTkxZTUwYiIKLQotU1JDX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vbC8ke0JQTn0vJHtCUE59XyR7UFZ9LnRhci54eiBcCi0gICAgICAgICAgIGZpbGU6Ly85OV9sb2djaGVjayBcCi0iCi1TUkNfVVJJW21kNXN1bV0gPSAiN2I1MGQxMGRhNmYxODUyMjg2MjdjNTVmZGQ1MWY2MjQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDYyOTRjMDkyYjIxMTVlY2EzZDA1NGM1Nzc3ODcxOGM5MWRkMmUwZmQxYzQ2NjUwYjczNDNjMmE5MjY3MmNhOSIKLQotaW5oZXJpdCB1c2VyYWRkCi0KLVVTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCi1VU0VSQUREX1BBUkFNXyR7UE59ID0gIi1tIC1nICR7QlBOfSAtRyBhZG0gLXIgLWQgJHtsb2NhbHN0YXRlZGlyfS9saWIvJHtCUE59IFwKLSAgICAgICAgICAgICAgICAgICAgICAgLXMgL2Jpbi9mYWxzZSAtYyAnbG9nY2hlY2sgYWNjb3VudCcgJHtCUE59IgotR1JPVVBBRERfUEFSQU1fJHtQTn0gPSAiLXIgJHtCUE59IgotCi1kb19pbnN0YWxsKCkgewotICAgICMgRml4IFFBIElzc3VlCi0gICAgc2VkIC1pICcvaW5zdGFsbCAtZCAkKERFU1RESVIpXC92YXJcL2xvY2tcL2xvZ2NoZWNrL3MvXi8jLycgTWFrZWZpbGUKLQotICAgICMgIm1ha2UgaW5zdGFsbCIgZG8gbm90IGluc3RhbGwgdGhlIG1hbnBhZ2VzLiBJbnN0YWxsIHRoZW0gbWFudWFsbHkuCi0gICAgaW5zdGFsbCAtbSA3NTUgLWQgJHtEfSR7bWFuZGlyfS9tYW4xCi0gICAgaW5zdGFsbCAtbSA3NTUgLWQgJHtEfSR7bWFuZGlyfS9tYW44Ci0gICAgaW5zdGFsbCAtbSA2NDQgZG9jcy9sb2djaGVjay10ZXN0LjEgJHtEfSR7bWFuZGlyfS9tYW4xLwotICAgIGluc3RhbGwgLW0gNjQ0IGRvY3MvbG9ndGFpbC44ICR7RH0ke21hbmRpcn0vbWFuOC8KLSAgICBpbnN0YWxsIC1tIDY0NCBkb2NzL2xvZ3RhaWwyLjggJHtEfSR7bWFuZGlyfS9tYW44LwotCi0gICAgaW5zdGFsbCAtbSA3NTUgLWQgJHtEfSR7c3lzY29uZmRpcn0vY3Jvbi5kCi0gICAgaW5zdGFsbCAtbSA2NDQgZGViaWFuL2xvZ2NoZWNrLmNyb24uZCAke0R9JHtzeXNjb25mZGlyfS9jcm9uLmQvbG9nY2hlY2sKLSAgICBpbnN0YWxsIC1tIDc1NSAtZCAke0R9L3Zhci9saWIvbG9nY2hlY2sKLQotICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0KLQotICAgICMgaW5zdGFsbCBoZWFkZXIudHh0IGZvciBnZW5lcmF0ZWQgbWFpbHMKLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9kZWJpYW4vaGVhZGVyLnR4dCAke0R9JHtzeXNjb25mZGlyfS8ke0JQTn0KLQotICAgIGNob3duIC1SICR7QlBOfToke0JQTn0gJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliLyR7QlBOfQotICAgIGNob3duIC1SIHJvb3Q6JHtCUE59ICR7RH0ke3N5c2NvbmZkaXJ9LyR7QlBOfQotCi0gICAgIyBEb24ndCBpbnN0YWxsIC92YXIvbG9jayB3aGVuIHBvcHVsYXRpbmcgcm9vdGZzLiBEbyBpdCB0aHJvdWdoIHZvbGF0aWxlCi0gICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMKLSAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vOTlfbG9nY2hlY2sgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMKLSAgICBmaQotICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZAotICAgICAgICBlY2hvICJkIC92YXIvbG9jay9sb2djaGVjayAwNzU1IGxvZ2NoZWNrIGxvZ2NoZWNrIC0iIFwKLSAgICAgICAgICAgID4gJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC9sb2djaGVjay5jb25mCi0gICAgZmkKLX0KLQotVklSVFVBTC1SVU5USU1FX3N5c2xvZyA/Pz0gInJzeXNsb2ciCi0KLVJERVBFTkRTXyR7UE59ID0gIlwKLSAgICBiYXNoIFwKLSAgICBjcm9uaWUgXAotICAgIGRlYmlhbnV0aWxzLXJ1bi1wYXJ0cyBcCi0gICAgZ3JlcCBcCi0gICAgbG9ja2ZpbGUtcHJvZ3MgXAotICAgIG1pbWUtY29uc3RydWN0IFwKLSAgICBwZXJsIFwKLSAgICBwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIFwKLSAgICBwZXJsLW1vZHVsZS1nZXRvcHQtc3RkIFwKLSAgICBwZXJsLW1vZHVsZS1maWxlLWdsb2IgXAotICAgICR7VklSVFVBTC1SVU5USU1FX3N5c2xvZ30gXAotIgotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9sb2d0YWlsIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtZXh0ZW5kZWQvbG9nY2hlY2svbG9nY2hlY2tfMS4zLjIwLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtZXh0ZW5kZWQvbG9nY2hlY2svbG9nY2hlY2tfMS4zLjIwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwYjI4MWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1leHRlbmRlZC9sb2djaGVjay9sb2djaGVja18xLjMuMjAuYmIKQEAgLTAsMCArMSw4MCBAQAorU1VNTUFSWSA9ICJBbmFseXplcyBsb2cgZmlsZXMgYW5kIHNlbmRzIG5vdGljZWFibGUgZXZlbnRzIGFzIGVtYWlsIgorREVTQ1JJUFRJT04gPSAiXAorTG9nY2hlY2sgaXMgYSBzaW1wbGUgdXRpbGl0eSB3aGljaCBpcyBkZXNpZ25lZCB0byBhbGxvdyBhIHN5c3RlbSBhZG1pbmlzdHJhdG9yIFwKK3RvIHZpZXcgdGhlIGxvZy1maWxlcyB3aGljaCBhcmUgcHJvZHVjZWQgdXBvbiBob3N0cyB1bmRlciB0aGVpciBjb250cm9sLiBcCitJdCBkb2VzIHRoaXMgYnkgbWFpbGluZyBzdW1tYXJpZXMgb2YgdGhlIGxvZy1maWxlcyB0byB0aGVtLCBhZnRlciBmaXJzdCBcCitmaWx0ZXJpbmcgb3V0ICJub3JtYWwiIGVudHJpZXMuIFwKK05vcm1hbCBlbnRyaWVzIGFyZSBlbnRyaWVzIHdoaWNoIG1hdGNoIG9uZSBvZiB0aGUgbWFueSBpbmNsdWRlZCByZWd1bGFyIFwKK2V4cHJlc3Npb24gZmlsZXMgY29udGFpbiBpbiB0aGUgZGF0YWJhc2UuIgorU0VDVElPTiA9ICJBcHBsaWNhdGlvbnMvU3lzdGVtIgorSE9NRVBBR0UgPSAiaHR0cDovL2xvZ2NoZWNrLm9yZy8iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YzkzYzA1NTBiZDMxNzNmNDUwNGIyY2JkODk5MWU1MGIiCisKK1NSQ19VUkkgPSAiJHtERUJJQU5fTUlSUk9SfS9tYWluL2wvJHtCUE59LyR7QlBOfV8ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vOTlfbG9nY2hlY2sgXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjFjNmU5YTk3ZjljYzQ4NTM1M2MyNTE0N2NiOTlmYjI1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjlmYjZkMDJiOTMzNDcwZDBiMWQxZWZiNTRlYTE4NmUwZDBkMjczMzZmOWQxNDZiZTU5MmY2NWNlNjBkZmIzZTYiCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0iCisKK2luaGVyaXQgdXNlcmFkZAorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItbSAtZyAke0JQTn0gLUcgYWRtIC1yIC1kICR7bG9jYWxzdGF0ZWRpcn0vbGliLyR7QlBOfSBcCisgICAgICAgICAgICAgICAgICAgICAgIC1zIC9iaW4vZmFsc2UgLWMgJ2xvZ2NoZWNrIGFjY291bnQnICR7QlBOfSIKK0dST1VQQUREX1BBUkFNXyR7UE59ID0gIi1yICR7QlBOfSIKKworZG9faW5zdGFsbCgpIHsKKyAgICAjIEZpeCBRQSBJc3N1ZQorICAgIHNlZCAtaSAnL2luc3RhbGwgLWQgJChERVNURElSKVwvdmFyXC9sb2NrXC9sb2djaGVjay9zL14vIy8nIE1ha2VmaWxlCisKKyAgICAjICJtYWtlIGluc3RhbGwiIGRvIG5vdCBpbnN0YWxsIHRoZSBtYW5wYWdlcy4gSW5zdGFsbCB0aGVtIG1hbnVhbGx5LgorICAgIGluc3RhbGwgLW0gNzU1IC1kICR7RH0ke21hbmRpcn0vbWFuMQorICAgIGluc3RhbGwgLW0gNzU1IC1kICR7RH0ke21hbmRpcn0vbWFuOAorICAgIGluc3RhbGwgLW0gNjQ0IGRvY3MvbG9nY2hlY2stdGVzdC4xICR7RH0ke21hbmRpcn0vbWFuMS8KKyAgICBpbnN0YWxsIC1tIDY0NCBkb2NzL2xvZ3RhaWwuOCAke0R9JHttYW5kaXJ9L21hbjgvCisgICAgaW5zdGFsbCAtbSA2NDQgZG9jcy9sb2d0YWlsMi44ICR7RH0ke21hbmRpcn0vbWFuOC8KKworICAgIGluc3RhbGwgLW0gNzU1IC1kICR7RH0ke3N5c2NvbmZkaXJ9L2Nyb24uZAorICAgIGluc3RhbGwgLW0gNjQ0IGRlYmlhbi9sb2djaGVjay5jcm9uLmQgJHtEfSR7c3lzY29uZmRpcn0vY3Jvbi5kL2xvZ2NoZWNrCisgICAgaW5zdGFsbCAtbSA3NTUgLWQgJHtEfS92YXIvbGliL2xvZ2NoZWNrCisKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9CisKKyAgICAjIGluc3RhbGwgaGVhZGVyLnR4dCBmb3IgZ2VuZXJhdGVkIG1haWxzCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vZGViaWFuL2hlYWRlci50eHQgJHtEfSR7c3lzY29uZmRpcn0vJHtCUE59CisKKyAgICBjaG93biAtUiAke0JQTn06JHtCUE59ICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi8ke0JQTn0KKyAgICBjaG93biAtUiByb290OiR7QlBOfSAke0R9JHtzeXNjb25mZGlyfS8ke0JQTn0KKworICAgICMgRG9uJ3QgaW5zdGFsbCAvdmFyL2xvY2sgd2hlbiBwb3B1bGF0aW5nIHJvb3Rmcy4gRG8gaXQgdGhyb3VnaCB2b2xhdGlsZQorICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdmluaXQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9Lzk5X2xvZ2NoZWNrICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzCisgICAgZmkKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQKKyAgICAgICAgZWNobyAiZCAvdmFyL2xvY2svbG9nY2hlY2sgMDc1NSBsb2djaGVjayBsb2djaGVjayAtIiBcCisgICAgICAgICAgICA+ICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvbG9nY2hlY2suY29uZgorICAgIGZpCit9CisKK1ZJUlRVQUwtUlVOVElNRV9zeXNsb2cgPz89ICJyc3lzbG9nIgorCitSREVQRU5EU18ke1BOfSA9ICJcCisgICAgYmFzaCBcCisgICAgY3JvbmllIFwKKyAgICBkZWJpYW51dGlscy1ydW4tcGFydHMgXAorICAgIGdyZXAgXAorICAgIGxvY2tmaWxlLXByb2dzIFwKKyAgICBtaW1lLWNvbnN0cnVjdCBcCisgICAgcGVybCBcCisgICAgcGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSBcCisgICAgcGVybC1tb2R1bGUtZ2V0b3B0LXN0ZCBcCisgICAgcGVybC1tb2R1bGUtZmlsZS1nbG9iIFwKKyAgICAke1ZJUlRVQUwtUlVOVElNRV9zeXNsb2d9IFwKKyIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vbG9ndGFpbCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvYWRkdXNlci9hZGR1c2VyXzMuMTE4LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9hZGR1c2VyL2FkZHVzZXJfMy4xMTguYmIKaW5kZXggNjYwYTdmNy4uZTY5NWM1OCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9hZGR1c2VyL2FkZHVzZXJfMy4xMTguYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9hZGR1c2VyL2FkZHVzZXJfMy4xMTguYmIKQEAgLTIyLDcgKzIyLDcgQEAKICAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9hZGR1c2VyICR7RH0ke3NiaW5kaXJ9CiAgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vZGVsdXNlciAke0R9JHtzYmluZGlyfQogCi0gICAgaW5zdGFsbCAtRCAtbSAwNjQ0ICR7U30vQWRkdXNlckNvbW1vbi5wbSAke0R9JHtsaWJkaXJ9L3BlcmwvJHtAZ2V0X3BlcmxfdmVyc2lvbihkKX0vRGViaWFuL0FkZHVzZXJDb21tb24ucG0KKyAgICBpbnN0YWxsIC1EIC1tIDA2NDQgJHtTfS9BZGR1c2VyQ29tbW9uLnBtICR7RH0ke2xpYmRpcn0vcGVybDUvJHtAZ2V0X3BlcmxfdmVyc2lvbihkKX0vRGViaWFuL0FkZHVzZXJDb21tb24ucG0KICAgICBzZWQgLWkgLWUgInMvVkVSU0lPTi8ke1BWfS8iICR7RH0ke3NiaW5kaXJ9LyoKIAogICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2ltYWdlcy9tZXRhLXBlcmwtYmFzZS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvaW1hZ2VzL21ldGEtcGVybC1iYXNlLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjNjcxMDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2ltYWdlcy9tZXRhLXBlcmwtYmFzZS5iYgpAQCAtMCwwICsxLDcgQEAKK1NVTU1BUlkgPSAibWV0YS1wZXIgYnVpbGQgdGVzdCBpbWFnZSIKKworSU1BR0VfSU5TVEFMTCA9ICJwYWNrYWdlZ3JvdXAtY29yZS1ib290IgorCitMSUNFTlNFID0gIk1JVCIKKworaW5oZXJpdCBjb3JlLWltYWdlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2ltYWdlcy9tZXRhLXBlcmwtaW1hZ2UuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2ltYWdlcy9tZXRhLXBlcmwtaW1hZ2UuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzEwZDIwYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvaW1hZ2VzL21ldGEtcGVybC1pbWFnZS5iYgpAQCAtMCwwICsxLDUgQEAKK3JlcXVpcmUgIG1ldGEtcGVybC1iYXNlLmJiCisKK1NVTU1BUlkgPSAibWV0YS1wZXJsIGJ1aWxkIHRlc3QgaW1hZ2UiCisKK0lNQUdFX0lOU1RBTEwgKz0gInBhY2thZ2Vncm91cC1tZXRhLXBlcmwiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2ltYWdlcy9tZXRhLXBlcmwtcHRlc3QtaW1hZ2UuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2ltYWdlcy9tZXRhLXBlcmwtcHRlc3QtaW1hZ2UuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2I3NzZmOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvaW1hZ2VzL21ldGEtcGVybC1wdGVzdC1pbWFnZS5iYgpAQCAtMCwwICsxLDUgQEAKK3JlcXVpcmUgIG1ldGEtcGVybC1iYXNlLmJiCisKK1NVTU1BUlkgPSAibWV0YS1wZXJsIGJ1aWxkIHB0ZXN0IGltYWdlIgorCitJTUFHRV9JTlNUQUxMICs9ICJwYWNrYWdlZ3JvdXAtbWV0YS1wZXJsLXB0ZXN0IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJpby9saWJpby1zb2NrZXQtc3NsLXBlcmxfMi4wNjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmlvL2xpYmlvLXNvY2tldC1zc2wtcGVybF8yLjA2MC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjBmODgwOC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmlvL2xpYmlvLXNvY2tldC1zc2wtcGVybF8yLjA2MC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLVNVTU1BUlkgPSAiUGVybCBsaWJyYXJ5IGZvciB0cmFuc3BhcmVudCBTU0wiCi1ERVNDUklQVElPTiA9ICJUaGlzIG1vZHVsZSBpcyBhIHRydWUgZHJvcC1pbiByZXBsYWNlbWVudCBmb3IgSU86OlNvY2tldDo6SU5FVCB0aGF0IFwKLXVzZXMgU1NMIHRvIGVuY3J5cHQgZGF0YSBiZWZvcmUgaXQgaXMgdHJhbnNmZXJyZWQgdG8gYSByZW1vdGUgc2VydmVyIFwKLW9yIGNsaWVudC4gSU86OlNvY2tldDo6U1NMIHN1cHBvcnRzIGFsbCB0aGUgZXh0cmEgZmVhdHVyZXMgdGhhdCBvbmUgXAotbmVlZHMgdG8gd3JpdGUgYSBmdWxsLWZlYXR1cmVkIFNTTCBjbGllbnQgb3Igc2VydmVyIGFwcGxpY2F0aW9uOiBcCi1tdWx0aXBsZSBTU0wgY29udGV4dHMsIGNpcGhlciBzZWxlY3Rpb24sIGNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiwgYW5kIFwKLVNTTCB2ZXJzaW9uIHNlbGVjdGlvbi4gQXMgYW4gZXh0cmEgYm9udXMsIGl0IHdvcmtzIHBlcmZlY3RseSB3aXRoIFwKLW1vZF9wZXJsLiIKLUhPTUVQQUdFID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvZGlzdC9JTy1Tb2NrZXQtU1NMLyIKLVNFQ1RJT04gPSAibGlicyIKLQotTElDRU5TRSA9ICJBcnRpc3RpYy0xLjB8R1BMdjErIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTUVUQS55bWw7YmVnaW5saW5lPTExO2VuZGxpbmU9MTE7bWQ1PTk2M2NlMjgyMjgzNDc4NzVhY2U2ODJkZTU2ZWVmOGU4IgotCi1SREVQRU5EU18ke1BOfSArPSAiXAotICAgIGxpYm5ldC1zc2xlYXktcGVybCBcCi0gICAgcGVybC1tb2R1bGUtYXV0b2xvYWRlciBcCi0gICAgcGVybC1tb2R1bGUtc2NhbGFyLXV0aWwgXAotICAgIHBlcmwtbW9kdWxlLWlvLXNvY2tldCBcCi0iCi0KLVNSQ19VUkkgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOL2F1dGhvcnMvaWQvUy9TVS9TVUxMUi9JTy1Tb2NrZXQtU1NMLSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAotICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICI5N2ZhNmNkNjRmMTVkYjYwZjgxMGNkOGFiMDJkNTdmYyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJmYjViMjg3N2FjNWI2ODZhNWQ3YjhkZDcxY2Y1NDY0ZmZlNzVkMTBjMzIwNDdiNTU3MDY3NDg3MGU0NmIxYjhjIgotCi1TID0gIiR7V09SS0RJUn0vSU8tU29ja2V0LVNTTC0ke1BWfSIKLQotaW5oZXJpdCBjcGFuIHB0ZXN0Ci0KLWRvX2luc3RhbGxfYXBwZW5kICgpIHsKLSAgICBta2RpciAtcCAke0R9JHtkb2NkaXJ9LyR7UE59LwotICAgIGNwICR7U30vQlVHUyAke0R9JHtkb2NkaXJ9LyR7UE59LwotICAgIGNwICR7U30vQ2hhbmdlcyAke0R9JHtkb2NkaXJ9LyR7UE59LwotICAgIGNwICR7U30vUkVBRE1FICR7RH0ke2RvY2Rpcn0vJHtQTn0vCi0gICAgY3AgLXBSUCAke1N9L2RvY3MgJHtEfSR7ZG9jZGlyfS8ke1BOfS8KLSAgICBjcCAtcFJQICR7U30vY2VydHMgJHtEfSR7ZG9jZGlyfS8ke1BOfS8KLSAgICBjcCAtcFJQICR7U30vZXhhbXBsZSAke0R9JHtkb2NkaXJ9LyR7UE59LwotfQotCi1kb19pbnN0YWxsX3B0ZXN0ICgpIHsKLSAgICBjcCAtciAke0J9L3QgJHtEfSR7UFRFU1RfUEFUSH0KLSAgICBjcCAtciAke0J9L2NlcnRzICR7RH0ke1BURVNUX1BBVEh9Ci19Ci0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJpby9saWJpby1zb2NrZXQtc3NsLXBlcmxfMi4wNjYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmlvL2xpYmlvLXNvY2tldC1zc2wtcGVybF8yLjA2Ni5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NjA5ODQ2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJpby9saWJpby1zb2NrZXQtc3NsLXBlcmxfMi4wNjYuYmIKQEAgLTAsMCArMSw0NyBAQAorU1VNTUFSWSA9ICJQZXJsIGxpYnJhcnkgZm9yIHRyYW5zcGFyZW50IFNTTCIKK0RFU0NSSVBUSU9OID0gIlRoaXMgbW9kdWxlIGlzIGEgdHJ1ZSBkcm9wLWluIHJlcGxhY2VtZW50IGZvciBJTzo6U29ja2V0OjpJTkVUIHRoYXQgXAordXNlcyBTU0wgdG8gZW5jcnlwdCBkYXRhIGJlZm9yZSBpdCBpcyB0cmFuc2ZlcnJlZCB0byBhIHJlbW90ZSBzZXJ2ZXIgXAorb3IgY2xpZW50LiBJTzo6U29ja2V0OjpTU0wgc3VwcG9ydHMgYWxsIHRoZSBleHRyYSBmZWF0dXJlcyB0aGF0IG9uZSBcCituZWVkcyB0byB3cml0ZSBhIGZ1bGwtZmVhdHVyZWQgU1NMIGNsaWVudCBvciBzZXJ2ZXIgYXBwbGljYXRpb246IFwKK211bHRpcGxlIFNTTCBjb250ZXh0cywgY2lwaGVyIHNlbGVjdGlvbiwgY2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uLCBhbmQgXAorU1NMIHZlcnNpb24gc2VsZWN0aW9uLiBBcyBhbiBleHRyYSBib251cywgaXQgd29ya3MgcGVyZmVjdGx5IHdpdGggXAorbW9kX3BlcmwuIgorSE9NRVBBR0UgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9kaXN0L0lPLVNvY2tldC1TU0wvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMHxHUEx2MSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9NRVRBLnltbDtiZWdpbmxpbmU9MTI7ZW5kbGluZT0xMjttZDU9OTYzY2UyODIyODM0Nzg3NWFjZTY4MmRlNTZlZWY4ZTgiCisKK1JERVBFTkRTXyR7UE59ICs9ICJcCisgICAgbGlibmV0LXNzbGVheS1wZXJsIFwKKyAgICBwZXJsLW1vZHVsZS1hdXRvbG9hZGVyIFwKKyAgICBwZXJsLW1vZHVsZS1zY2FsYXItdXRpbCBcCisgICAgcGVybC1tb2R1bGUtaW8tc29ja2V0IFwKKyIKKworU1JDX1VSSSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL0NQQU4vYXV0aG9ycy9pZC9TL1NVL1NVTExSL0lPLVNvY2tldC1TU0wtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImVjZjk2Y2UyZmY5ZTA0YTAzYTJkMTAxYzc2Y2UxMDIwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBkNDcwNjQ3ODFhNTQ1MzA0ZDVkY2VhNWRmY2VlM2FjYzJlOTVhMzJlMWI0ODg0ZDgwNTA1Y2RlOGVlNmViY2QiCisKK1MgPSAiJHtXT1JLRElSfS9JTy1Tb2NrZXQtU1NMLSR7UFZ9IgorCitpbmhlcml0IGNwYW4gcHRlc3QKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgIG1rZGlyIC1wICR7RH0ke2RvY2Rpcn0vJHtQTn0vCisgICAgY3AgJHtTfS9CVUdTICR7RH0ke2RvY2Rpcn0vJHtQTn0vCisgICAgY3AgJHtTfS9DaGFuZ2VzICR7RH0ke2RvY2Rpcn0vJHtQTn0vCisgICAgY3AgJHtTfS9SRUFETUUgJHtEfSR7ZG9jZGlyfS8ke1BOfS8KKyAgICBjcCAtcFJQICR7U30vZG9jcyAke0R9JHtkb2NkaXJ9LyR7UE59LworICAgIGNwIC1wUlAgJHtTfS9jZXJ0cyAke0R9JHtkb2NkaXJ9LyR7UE59LworICAgIGNwIC1wUlAgJHtTfS9leGFtcGxlICR7RH0ke2RvY2Rpcn0vJHtQTn0vCit9CisKK2RvX2luc3RhbGxfcHRlc3QgKCkgeworICAgIGNwIC1yICR7Qn0vdCAke0R9JHtQVEVTVF9QQVRIfQorICAgIGNwIC1yICR7Qn0vY2VydHMgJHtEfSR7UFRFU1RfUEFUSH0KK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm5ldC9saWJuZXQtZG5zLXBlcmxfMS4xOC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2xpYm5ldC1kbnMtcGVybF8xLjE4LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZTBjOWM0Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2xpYm5ldC1kbnMtcGVybF8xLjE4LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNjYgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiVGhpcyBwYWNrYWdlIGNvbnRhaW5zIHRoZSBETlMucG0gbW9kdWxlIHdpdGggZnJpZW5kcy4iCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3Lm5ldC1kbnMub3JnLyIKLVNFQ1RJT04gPSAibGlicyIKLUxJQ0VOU0UgPSAiTUlUIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTI1MjtlbmRsaW5lPTI2OTttZDU9MjdkYjM3YjQyY2QxYTUxNzNhNTM5MjJkNjcwNzJiY2IiCi0KLURFUEVORFMgKz0gInBlcmwiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOL2F1dGhvcnMvaWQvTi9OTC9OTE5FVExBQlMvTmV0LUROUy0ke1BWfS50YXIuZ3oiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI2N2FmN2U1YzFjMzM5ZjYwYzQ1YzEwNTQzNzRiZDhlZSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI1MmNlMTQ5NGZjOTcwN2ZkNWE2MGVkNzFkYjVjZGU3MjcxNTdiN2YyMzYzNzg3ZDczMGQ0ZDFiZDk4MDBhOWQzIgotCi1VUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJOZXRcLUROU1wtKD9QPHB2ZXI+KFxkK1wuXGQrKSkoPyFfXGQrKS50YXIiCi0KLVMgPSAiJHtXT1JLRElSfS9OZXQtRE5TLSR7UFZ9IgotCi1FWFRSQV9DUEFORkxBR1MgPSAiRVhQQVRMSUJQQVRIPSR7U1RBR0lOR19MSUJESVJ9IEVYUEFUSU5DUEFUSD0ke1NUQUdJTkdfSU5DRElSfSIKLQotaW5oZXJpdCBjcGFuIHB0ZXN0LXBlcmwKLQotUkRFUEVORFNfJHtQTn0gPSAiIFwKLSAgICBsaWJkaWdlc3QtaG1hYy1wZXJsIFwKLSAgICBwZXJsLW1vZHVsZS1iYXNlIFwKLSAgICBwZXJsLW1vZHVsZS1jb25zdGFudCBcCi0gICAgcGVybC1tb2R1bGUtZGlnZXN0LW1kNSBcCi0gICAgcGVybC1tb2R1bGUtZGlnZXN0LXNoYSBcCi0gICAgcGVybC1tb2R1bGUtZmlsZS1zcGVjIFwKLSAgICBwZXJsLW1vZHVsZS1pbnRlZ2VyIFwKLSAgICBwZXJsLW1vZHVsZS1pby1maWxlIFwKLSAgICBwZXJsLW1vZHVsZS1pby1zZWxlY3QgXAotICAgIHBlcmwtbW9kdWxlLWlvLXNvY2tldCBcCi0gICAgcGVybC1tb2R1bGUtaW8tc29ja2V0LWlwIFwKLSAgICBwZXJsLW1vZHVsZS1taW1lLWJhc2U2NCBcCi0gICAgcGVybC1tb2R1bGUtc2NhbGFyLXV0aWwgXAotICAgIHBlcmwtbW9kdWxlLXRlc3QtbW9yZSBcCi0gICAgcGVybC1tb2R1bGUtdGltZS1sb2NhbCBcCi0iCi0KLVJSRUNPTU1FTkRTXyR7UE59ICs9ICIgXAotICAgIGxpYm5ldC1kbnMtc2VjLXBlcmwgXAotIgotCi1SREVQRU5EU18ke1BOfS1wdGVzdCArPSAiIFwKLSAgICBwZXJsLW1vZHVsZS1lbmNvZGUgXAotICAgIHBlcmwtbW9kdWxlLWVuY29kZS1ieXRlIFwKLSAgICBwZXJsLW1vZHVsZS1leHR1dGlscy1tbSBcCi0gICAgcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCBcCi0gICAgcGVybC1tb2R1bGUtb3ZlcmxvYWQgXAotIgotCi1weXRob24gX19hbm9ueW1vdXMgKCkgewotICAgICMgcmF0aGVyIHRoYW4gdXNlICJmaW5kIiB0byBkZXRlcm1pbmUgbGliYy0qLnNvLAotICAgICMgc3RhdGljYWxseSBleHBvcnQgdGhlIGtub3duIHBhdGhzIGZvciBnbGliYyBhbmQgbXVzbAotICAgIGltcG9ydCBvcwotICAgIGlmIGQuZ2V0VmFyKCdUQ0xJQkMnKSA9PSAiZ2xpYmMiOgotICAgICAgICBvcy5lbnZpcm9uWyJMSUJDIl0gPSAiJHtTVEFHSU5HX0JBU0VMSUJESVJ9L2xpYmMuc28uNiIKLSAgICBlbGlmIGQuZ2V0VmFyKCdUQ0xJQkMnKSA9PSAibXVzbCI6Ci0gICAgICAgIG9zLmVudmlyb25bIkxJQkMiXSA9ICIke1NUQUdJTkdfTElCRElSfS9saWJjLnNvIgotICAgIGVsc2U6Ci0gICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFJlY2lwZSgiaW5jb21wYXRpYmxlIHdpdGggJXMgQyBsaWJyYXJ5IiAlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQuZ2V0VmFyKCdUQ0xJQkMnKSkKLX0KLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm5ldC9saWJuZXQtZG5zLXBlcmxfMS4xOS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2xpYm5ldC1kbnMtcGVybF8xLjE5LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwYmU2MDQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm5ldC9saWJuZXQtZG5zLXBlcmxfMS4xOS5iYgpAQCAtMCwwICsxLDY2IEBACitERVNDUklQVElPTiA9ICJUaGlzIHBhY2thZ2UgY29udGFpbnMgdGhlIEROUy5wbSBtb2R1bGUgd2l0aCBmcmllbmRzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubmV0LWRucy5vcmcvIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJNSVQiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9MjUyO2VuZGxpbmU9MjY5O21kNT0yN2RiMzdiNDJjZDFhNTE3M2E1MzkyMmQ2NzA3MmJjYiIKKworREVQRU5EUyArPSAicGVybCIKKworU1JDX1VSSSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL0NQQU4vYXV0aG9ycy9pZC9OL05ML05MTkVUTEFCUy9OZXQtRE5TLSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gIjhhNDA0MDI4ODg0ODdiODUzZjg2MWQyMTQzM2YzNDFhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjIwNjI3OGJkZDlhNTM4YmVjM2U0NWI1MGU4MGNjNWE5ZDdkYzZlNzBlYmYwODg5ZWY3ODI1NGYwZjcxMGNjZDciCisKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gIk5ldFwtRE5TXC0oP1A8cHZlcj4oXGQrXC5cZCspKSg/IV9cZCspLnRhciIKKworUyA9ICIke1dPUktESVJ9L05ldC1ETlMtJHtQVn0iCisKK0VYVFJBX0NQQU5GTEFHUyA9ICJFWFBBVExJQlBBVEg9JHtTVEFHSU5HX0xJQkRJUn0gRVhQQVRJTkNQQVRIPSR7U1RBR0lOR19JTkNESVJ9IgorCitpbmhlcml0IGNwYW4gcHRlc3QtcGVybAorCitSREVQRU5EU18ke1BOfSA9ICIgXAorICAgIGxpYmRpZ2VzdC1obWFjLXBlcmwgXAorICAgIHBlcmwtbW9kdWxlLWJhc2UgXAorICAgIHBlcmwtbW9kdWxlLWNvbnN0YW50IFwKKyAgICBwZXJsLW1vZHVsZS1kaWdlc3QtbWQ1IFwKKyAgICBwZXJsLW1vZHVsZS1kaWdlc3Qtc2hhIFwKKyAgICBwZXJsLW1vZHVsZS1maWxlLXNwZWMgXAorICAgIHBlcmwtbW9kdWxlLWludGVnZXIgXAorICAgIHBlcmwtbW9kdWxlLWlvLWZpbGUgXAorICAgIHBlcmwtbW9kdWxlLWlvLXNlbGVjdCBcCisgICAgcGVybC1tb2R1bGUtaW8tc29ja2V0IFwKKyAgICBwZXJsLW1vZHVsZS1pby1zb2NrZXQtaXAgXAorICAgIHBlcmwtbW9kdWxlLW1pbWUtYmFzZTY0IFwKKyAgICBwZXJsLW1vZHVsZS1zY2FsYXItdXRpbCBcCisgICAgcGVybC1tb2R1bGUtdGVzdC1tb3JlIFwKKyAgICBwZXJsLW1vZHVsZS10aW1lLWxvY2FsIFwKKyIKKworUlJFQ09NTUVORFNfJHtQTn0gKz0gIiBcCisgICAgbGlibmV0LWRucy1zZWMtcGVybCBcCisiCisKK1JERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICIgXAorICAgIHBlcmwtbW9kdWxlLWVuY29kZSBcCisgICAgcGVybC1tb2R1bGUtZW5jb2RlLWJ5dGUgXAorICAgIHBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tIFwKKyAgICBwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IFwKKyAgICBwZXJsLW1vZHVsZS1vdmVybG9hZCBcCisiCisKK3B5dGhvbiBfX2Fub255bW91cyAoKSB7CisgICAgIyByYXRoZXIgdGhhbiB1c2UgImZpbmQiIHRvIGRldGVybWluZSBsaWJjLSouc28sCisgICAgIyBzdGF0aWNhbGx5IGV4cG9ydCB0aGUga25vd24gcGF0aHMgZm9yIGdsaWJjIGFuZCBtdXNsCisgICAgaW1wb3J0IG9zCisgICAgaWYgZC5nZXRWYXIoJ1RDTElCQycpID09ICJnbGliYyI6CisgICAgICAgIG9zLmVudmlyb25bIkxJQkMiXSA9ICIke1NUQUdJTkdfQkFTRUxJQkRJUn0vbGliYy5zby42IgorICAgIGVsaWYgZC5nZXRWYXIoJ1RDTElCQycpID09ICJtdXNsIjoKKyAgICAgICAgb3MuZW52aXJvblsiTElCQyJdID0gIiR7U1RBR0lOR19MSUJESVJ9L2xpYmMuc28iCisgICAgZWxzZToKKyAgICAgICByYWlzZSBiYi5wYXJzZS5Ta2lwUmVjaXBlKCJpbmNvbXBhdGlibGUgd2l0aCAlcyBDIGxpYnJhcnkiICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZC5nZXRWYXIoJ1RDTElCQycpKQorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlieG1sL2xpYnhtbC1saWJ4bWwtcGVybF8yLjAxMzIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnhtbC9saWJ4bWwtbGlieG1sLXBlcmxfMi4wMTMyLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZjE4NDAxLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlieG1sL2xpYnhtbC1saWJ4bWwtcGVybF8yLjAxMzIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi1TVU1NQVJZID0gIlBlcmwgaW50ZXJmYWNlIHRvIHRoZSBsaWJ4bWwyIGxpYnJhcnkiCi1ERVNDUklQVElPTiA9ICJUaGlzIG1vZHVsZSBpcyBhbiBpbnRlcmZhY2UgdG8gbGlieG1sMiwgcHJvdmlkaW5nIFhNTCBhbmQgSFRNTCBwYXJzZXJzIFwKLXdpdGggRE9NLCBTQVggYW5kIFhNTFJlYWRlciBpbnRlcmZhY2VzLCBhIGxhcmdlIHN1YnNldCBvZiBET00gTGF5ZXIgMyBcCi1pbnRlcmZhY2UgYW5kIGEgWE1MOjpYUGF0aC1saWtlIGludGVyZmFjZSB0byBYUGF0aCBBUEkgb2YgbGlieG1sMi4gXAotVGhlIG1vZHVsZSBpcyBzcGxpdCBpbnRvIHNldmVyYWwgcGFja2FnZXMgd2hpY2ggYXJlIG5vdCBkZXNjcmliZWQgaW4gdGhpcyBcCi1zZWN0aW9uOyB1bmxlc3Mgc3RhdGVkIG90aGVyd2lzZSwgeW91IG9ubHkgbmVlZCB0byB1c2UgWE1MOjpMaWJYTUw7IGluIFwKLXlvdXIgcHJvZ3JhbXMuIgotCi1IT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL2Rpc3QvWE1MLUxpYlhNTC0xLjk5LyIKLVNFQ1RJT04gPSAibGlicyIKLUxJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wfEdQTHYxKyIKLURFUEVORFMgKz0gImxpYnhtbDIgXAotICAgICAgICBsaWJ4bWwtc2F4LXBlcmwtbmF0aXZlIFwKLSAgICAgICAgemxpYiBcCi0iCi1SREVQRU5EU18ke1BOfSArPSAiXAotICAgIGxpYnhtbDIgXAotICAgIGxpYnhtbC1zYXgtcGVybCBcCi0gICAgbGlieG1sLXNheC1iYXNlLXBlcmwgXAotICAgIHBlcmwtbW9kdWxlLWVuY29kZSBcCi0gICAgcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgXAotICAgIHpsaWIgXAotIgotCi1TUkNfVVJJID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvQ1BBTi9hdXRob3JzL2lkL1MvU0gvU0hMT01JRi9YTUwtTGliWE1MLSR7UFZ9LnRhci5nejtuYW1lPWxpYnhtbCBcCi0gICAgZmlsZTovL2Rpc2FibGUtbGlieG1sMi1jaGVjay5wYXRjaCBcCi0gICAgZmlsZTovL2ZpeC1DQVRBTE9HLWNvbmRpdGlvbmFsLWNvbXBpbGUucGF0Y2ggXAotICAgIGZpbGU6Ly91c2luZy1ET0NCLWNvbmRpdGlvbmFsLnBhdGNoIFwKLSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RlYmlhbi9jb3B5cmlnaHQ7bWQ1PTY0ZWRhMWJjMTM1ZjBlY2UxZDExODdmMmE4YWM4MmMxIFwKLSAgICBmaWxlOi8vTElDRU5TRTttZDU9OTc4NzFiZGUxNTBkYWViNWU2MWFkOTUxMzdmZjI0NDYgXAotIgotU1JDX1VSSVtsaWJ4bWwubWQ1c3VtXSA9ICI0MzU0NmZkOWEzOTc0ZjE5MzIzZjlmYjA0ODYxZWNlOSIKLVNSQ19VUklbbGlieG1sLnNoYTI1NnN1bV0gPSAiNzIxNDUyZTMxMDNjYTE4OGY1OTY4YWIwNmQ1YmEyOWZlOGUwMGU0OWY0NzY3NzkwODgyMDk1MDUwMzEyZDQ3NiIKLQotUyA9ICIke1dPUktESVJ9L1hNTC1MaWJYTUwtJHtQVn0iCi0KLWluaGVyaXQgY3BhbgotCi1FWFRSQV9DUEFORkxBR1MgPSAiSU5DPS1JJHtTVEFHSU5HX0lOQ0RJUn0vbGlieG1sMiBMSUJTPS1MJHtTVEFHSU5HX0xJQkRJUn0iCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgotCi1DRkxBR1MgKz0gIiAtRF9HTlVfU09VUkNFICIKLUJVSUxEX0NGTEFHUyArPSAiIC1EX0dOVV9TT1VSQ0UgIgotCi1GSUxFU18ke1BOfS1kYmcgPSsgIiR7bGliZGlyfS9wZXJsL3ZlbmRvcl9wZXJsLyovYXV0by9YTUwvTGliWE1MLy5kZWJ1Zy8iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnhtbC9saWJ4bWwtbGlieG1sLXBlcmxfMi4wMTM0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ4bWwvbGlieG1sLWxpYnhtbC1wZXJsXzIuMDEzNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NzUzNTIwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ4bWwvbGlieG1sLWxpYnhtbC1wZXJsXzIuMDEzNC5iYgpAQCAtMCwwICsxLDQ3IEBACitTVU1NQVJZID0gIlBlcmwgaW50ZXJmYWNlIHRvIHRoZSBsaWJ4bWwyIGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJUaGlzIG1vZHVsZSBpcyBhbiBpbnRlcmZhY2UgdG8gbGlieG1sMiwgcHJvdmlkaW5nIFhNTCBhbmQgSFRNTCBwYXJzZXJzIFwKK3dpdGggRE9NLCBTQVggYW5kIFhNTFJlYWRlciBpbnRlcmZhY2VzLCBhIGxhcmdlIHN1YnNldCBvZiBET00gTGF5ZXIgMyBcCitpbnRlcmZhY2UgYW5kIGEgWE1MOjpYUGF0aC1saWtlIGludGVyZmFjZSB0byBYUGF0aCBBUEkgb2YgbGlieG1sMi4gXAorVGhlIG1vZHVsZSBpcyBzcGxpdCBpbnRvIHNldmVyYWwgcGFja2FnZXMgd2hpY2ggYXJlIG5vdCBkZXNjcmliZWQgaW4gdGhpcyBcCitzZWN0aW9uOyB1bmxlc3Mgc3RhdGVkIG90aGVyd2lzZSwgeW91IG9ubHkgbmVlZCB0byB1c2UgWE1MOjpMaWJYTUw7IGluIFwKK3lvdXIgcHJvZ3JhbXMuIgorCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL2Rpc3QvWE1MLUxpYlhNTC0xLjk5LyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wfEdQTHYxKyIKK0RFUEVORFMgKz0gImxpYnhtbDIgXAorICAgICAgICBsaWJ4bWwtc2F4LXBlcmwtbmF0aXZlIFwKKyAgICAgICAgemxpYiBcCisiCitSREVQRU5EU18ke1BOfSArPSAiXAorICAgIGxpYnhtbDIgXAorICAgIGxpYnhtbC1zYXgtcGVybCBcCisgICAgbGlieG1sLXNheC1iYXNlLXBlcmwgXAorICAgIHBlcmwtbW9kdWxlLWVuY29kZSBcCisgICAgcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgXAorICAgIHpsaWIgXAorIgorCitTUkNfVVJJID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvQ1BBTi9hdXRob3JzL2lkL1MvU0gvU0hMT01JRi9YTUwtTGliWE1MLSR7UFZ9LnRhci5nejtuYW1lPWxpYnhtbCBcCisgICAgZmlsZTovL2Rpc2FibGUtbGlieG1sMi1jaGVjay5wYXRjaCBcCisgICAgZmlsZTovL2ZpeC1DQVRBTE9HLWNvbmRpdGlvbmFsLWNvbXBpbGUucGF0Y2ggXAorICAgIGZpbGU6Ly91c2luZy1ET0NCLWNvbmRpdGlvbmFsLnBhdGNoIFwKKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RlYmlhbi9jb3B5cmlnaHQ7bWQ1PTY0ZWRhMWJjMTM1ZjBlY2UxZDExODdmMmE4YWM4MmMxIFwKKyAgICBmaWxlOi8vTElDRU5TRTttZDU9OTc4NzFiZGUxNTBkYWViNWU2MWFkOTUxMzdmZjI0NDYgXAorIgorU1JDX1VSSVtsaWJ4bWwubWQ1c3VtXSA9ICJkY2U2ODdkZDhiN2U4MmQxYzM1OWZkNzRiMTg1MmY2NCIKK1NSQ19VUklbbGlieG1sLnNoYTI1NnN1bV0gPSAiZjBiY2E0ZDBjMmRhMzVkODc5ZmVlNGNkMTNmMzUyMDE0MTg2Y2VkYWIyN2FiNWUxOTFmMzliNWQ3ZDRmNDZjZiIKKworUyA9ICIke1dPUktESVJ9L1hNTC1MaWJYTUwtJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitFWFRSQV9DUEFORkxBR1MgPSAiSU5DPS1JJHtTVEFHSU5HX0lOQ0RJUn0vbGlieG1sMiBMSUJTPS1MJHtTVEFHSU5HX0xJQkRJUn0iCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitDRkxBR1MgKz0gIiAtRF9HTlVfU09VUkNFICIKK0JVSUxEX0NGTEFHUyArPSAiIC1EX0dOVV9TT1VSQ0UgIgorCitGSUxFU18ke1BOfS1kYmcgPSsgIiR7bGliZGlyfS9wZXJsL3ZlbmRvcl9wZXJsLyovYXV0by9YTUwvTGliWE1MLy5kZWJ1Zy8iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLW1ldGEtcGVybC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtbWV0YS1wZXJsLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkMGUzM2IKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLW1ldGEtcGVybC5iYgpAQCAtMCwwICsxLDUyIEBACitTVU1NQVJZID0gIk1ldGEtcGVybCBwYWNrYWdlZ3JvdXAiCisKK2luaGVyaXQgcGFja2FnZWdyb3VwCisKK1BST1ZJREVTID0gIiR7UEFDS0FHRVN9IgorUEFDS0FHRVMgPSAnIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1wZXJsIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1wZXJsLWV4dGVuZGVkIFwKKycKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtcGVybCA9ICJcCisgICAgbGlicHJvYy13YWl0c3RhdC1wZXJsIGxpYm1vby1wZXJsIGxpYnRlcm0tcmVhZGtleS1wZXJsIFwKKyAgICBsaWJ1bmljb2RlLWxpbmVicmVhay1wZXJsIGxpYmN1cnNlcy1wZXJsIGxpYm1pbWUtdHlwZXMtcGVybCBcCisgICAgbGlibWltZS1jaGFyc2V0LXBlcmwgbGliaW8tc29ja2V0LXNzbC1wZXJsIGxpYmlvLXN0cmluZ3ktcGVybCBcCisgICAgbGlidGV4dC1pY29udi1wZXJsIGxpYnRleHQtY2hhcndpZHRoLXBlcmwgbGlidGV4dC1kaWZmLXBlcmwgXAorICAgIGxpYnRleHQtd3JhcGkxOG4tcGVybCBsaWJsb2NhbGUtZ2V0dGV4dC1wZXJsIGxpYmRhdGEtaGV4ZHVtcC1wZXJsIFwKKyAgICBsaWJleHR1dGlscy1pbnN0YWxscGF0aHMtcGVybCBsaWJleHR1dGlscy1oZWxwZXJzLXBlcmwgbGliZXh0dXRpbHMtcGFyc2V4cy1wZXJsIFwKKyAgICBsaWJleHR1dGlscy1jb25maWctcGVybCBsaWJleHR1dGlscy1jcHBndWVzcy1wZXJsIGxpYmltcG9ydC1pbnRvLXBlcmwgXAorICAgIGxpYmNyeXB0LW9wZW5zc2wtcnNhLXBlcmwgbGliY3J5cHQtb3BlbnNzbC1ndWVzcyBsaWJjcnlwdC1vcGVuc3NsLXJhbmRvbS1wZXJsIFwKKyAgICBsaWJ4bWwtc2F4LXdyaXRlci1wZXJsIGxpYnhtbC1saWJ4bWwtcGVybCBsaWJ4bWwtZmlsdGVyLWJ1ZmZlcnRleHQtcGVybCBcCisgICAgYWRkdXNlciBcCisgICAgbGliYXV0aGVuLXNhc2wtcGVybCBsaWJuZXQtbGRhcC1wZXJsIGxpYm5ldC1kbnMtcGVybCBcCisgICAgbGlibmV0LWRucy1zZWMtcGVybCBsaWJuZXQtbGliaWRuLXBlcmwgbGlibmV0LXNzbGVheS1wZXJsIFwKKyAgICBsaWJuZXQtdGVsbmV0LXBlcmwgbGliZGV2ZWwtZ2xvYmFsZGVzdHJ1Y3Rpb24tcGVybCBsaWJpcGMtc2lnbmFsLXBlcmwgXAorICAgIGxpYnJvbGUtdGlueS1wZXJsIGxpYmVuY29kZS1wZXJsIGxpYmVuY29kZS1sb2NhbGUtcGVybCBcCisgICAgbGliZmlsZS1zbHVycC1wZXJsIGxpYmNhcHR1cmUtdGlueS1wZXJsIFwKKyAgICBwbzRhIFwKKyAgICBsaWJzdHJpY3R1cmVzLXBlcmwgbGlidGVzdC1oYXJuZXNzLXBlcmwgbGlic3ViLWV4cG9ydGVyLXByb2dyZXNzaXZlLXBlcmwgXAorICAgIGxpYmNsYXNzLW1ldGhvZC1tb2RpZmllcnMtcGVybCBsaWJodG1sLXBhcnNlci1wZXJsIGxpYmh0bWwtdHJlZS1wZXJsIFwKKyAgICBsaWJtb2R1bGUtcGx1Z2dhYmxlLXBlcmwgbGlibW9kdWxlLWJ1aWxkLXBlcmwgbGlibW9kdWxlLXJ1bnRpbWUtcGVybCBcCisgICAgbGlibW9kdWxlLWJ1aWxkLXRpbnktcGVybCBsaWJjZ2ktcGVybCBsaWJhbGdvcml0aG0tZGlmZi1wZXJsIFwKKyAgICBsaWJkYmQtc3FsaXRlLXBlcmwgbGliZGlnZXN0LXNoYTEtcGVybCBsaWJkaWdlc3QtaG1hYy1wZXJsIFwKKyAgICAiIAorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1wZXJsLWV4dGVuZGVkID0gIlwKKyAgICBsb2djaGVjayBtaW1lLWNvbnN0cnVjdCBcCisgICAgIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1wZXJsLXB0ZXN0ID0gIlwKKyAgICBsaWJtaW1lLXR5cGVzLXBlcmwtcHRlc3QgXAorICAgIGxpYmlvLXNvY2tldC1zc2wtcGVybC1wdGVzdCBcCisgICAgbGliZGF0YS1oZXhkdW1wLXBlcmwtcHRlc3QgXAorICAgIGxpYmF1dGhlbi1zYXNsLXBlcmwtcHRlc3QgXAorICAgIGxpYm5ldC1kbnMtcGVybC1wdGVzdCBcCisgICAgbGlibmV0LWRucy1zZWMtcGVybC1wdGVzdCBcCisgICAgbGlibmV0LXNzbGVheS1wZXJsLXB0ZXN0IFwKKyAgICBsaWJ0ZXN0LWhhcm5lc3MtcGVybC1wdGVzdCBcCisgICAgbGliZGlnZXN0LXNoYTEtcGVybC1wdGVzdCBcCisgICAgbGliZGlnZXN0LWhtYWMtcGVybC1wdGVzdCBcCisgICAgIgorCitFWENMVURFX0ZST01fV09STEQgPSAiMSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL1JFQURNRSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL1JFQURNRQppbmRleCA5YzEwYzc4Li43MDViMDM1IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9SRUFETUUKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vUkVBRE1FCkBAIC0xMywxMiArMTMsMTIgQEAKIAogCVVSSTogZ2l0Oi8vZ2l0Lm9wZW5lbWJlZGRlZC5vcmcvb3BlbmVtYmVkZGVkLWNvcmUKIAlsYXllcnM6IG1ldGEKLQlicmFuY2g6IHRodWQKKwlicmFuY2g6IG1hc3RlcgogCXJldmlzaW9uOiBIRUFECiAKIAlVUkk6IGdpdDovL2dpdC5vcGVuZW1iZWRkZWQub3JnL21ldGEtb3BlbmVtYmVkZGVkCiAJbGF5ZXJzOiBtZXRhLW9lCi0JYnJhbmNoOiB0aHVkCisJYnJhbmNoOiBtYXN0ZXIKIAlyZXZpc2lvbjogSEVBRAogCiBQbGVhc2UgZm9sbG93IHRoZSByZWNvbW1lbmRlZCBzZXR1cCBwcm9jZWR1cmVzIG9mIHlvdXIgT0UgZGlzdHJpYnV0aW9uLgpAQCAtMzUsMTMgKzM1LDE1IEBACiBiZWZvcmUgcG9zdGluZy4KIAogU2VuZCBwdWxsIHJlcXVlc3RzIHRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIHdpdGgKLSdbbWV0YS1weXRob25dW3RodWRdJyBpbiB0aGUgc3ViamVjdC4KKydbbWV0YS1weXRob25dJyBpbiB0aGUgc3ViamVjdC4KIAogV2hlbiBzZW5kaW5nIHNpbmdsZSBwYXRjaGVzLCBwbGVhc2UgdXNlIHNvbWV0aGluZyBsaWtlOiAKLSdnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvPW9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1weXRob25dW3RodWRdW1BBVENIJworJ2dpdCBzZW5kLWVtYWlsIC1NIC0xIC0tdG89b3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgLS1zdWJqZWN0LXByZWZpeD1tZXRhLXB5dGhvbl1bUEFUQ0gnCiAKIE1haW50ZW5hbmNlCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLVRodWQgTWFpbnRhaW5lcnM6IEFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CitMYXllciBNYWludGFpbmVyczoKKyAgICAgICAgVGltICJtb3RvLXRpbW8iIE9ybGluZyA8VGljb1RpbW9AZ21haWwuY29tPgorICAgICAgICBEZXJlayBTdHJha2EgPGRlcmVrQGFzdGVyaXVzLmlvPgogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9jbGFzc2VzL2JhbmRpdC5iYmNsYXNzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vY2xhc3Nlcy9iYW5kaXQuYmJjbGFzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzEwNDFlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vY2xhc3Nlcy9iYW5kaXQuYmJjbGFzcwpAQCAtMCwwICsxLDYzIEBACisjIENsYXNzIHRvIHNjYW4gUHl0aG9uIGNvZGUgZm9yIHNlY3VyaXR5IGlzc3VlcywgdXNpbmcgQmFuZGl0LgorIworIyAkIGJpdGJha2UgcHl0aG9uLWZvbyAtYyBiYW5kaXQKKyMKKyMgV3JpdGVzIHRoZSByZXBvcnQgdG8gJERFUExPWV9ESVIvYmFuZGl0L3B5dGhvbi1mb28uaHRtbC4KKyMgTm8gb3V0cHV0IGlmIG5vIGlzc3VlcyBmb3VuZCwgYSB3YXJuaW5nIGlmIGlzc3VlcyBmb3VuZC4KKyMKKyMgaHR0cHM6Ly9naXRodWIuY29tL1B5Q1FBL2JhbmRpdAorCisjIERlZmF1bHQgbG9jYXRpb24gb2Ygc291cmNlcywgYmFzZWQgb24gc3RhbmRhcmQgZGlzdHV0aWxzCitCQU5ESVRfU09VUkNFID89ICIke1N9L2J1aWxkIgorCisjIFRoZSByZXBvcnQgZm9ybWF0IHRvIHVzZS4KKyMgaHR0cHM6Ly9iYW5kaXQucmVhZHRoZWRvY3MuaW8vZW4vbGF0ZXN0L2Zvcm1hdHRlcnMvaW5kZXguaHRtbAorQkFORElUX0ZPUk1BVCA/PSAiaHRtbCIKKworIyBXaGV0aGVyIGEgc2NhbiBzaG91bGQgYmUgZG9uZSBldmVyeSB0aW1lIHRoZSByZWNpcGUgaXMgYnVpbHQuCisjCisjIEJ5IGRlZmF1bHQgdGhlIHNjYW5uaW5nIG5lZWRzIHRvIGJlIGRvbmUgZXhwbGljaXRseSwgYnV0IGJ5IHNldHRpbmcgQkFORElUX0FVVE8KKyMgdG8gMSB0aGUgc2NhbiB3aWxsIGJlIGRvbmUgd2hlbmV2ZXIgdGhlIHJlY2lwZSBpdCBidWlsdC4gIE5vdGUgdGhhdCB5b3UKKyMgc2hvdWxkbid0IHNldCBCQU5ESVRfQVVUTyB0byAxIGdsb2JhbGx5IGFzIGl0IHdpbGwgdGhlbiB0cnkgdG8gc2NhbiBldmVyeQorIyByZWNpcGUsIGluY2x1ZGluZyBub24tUHl0aG9uIHJlY2lwZXMsIGNhdXNpbmcgY2lyY3VsYXIgbG9vcHMuCitCQU5ESVRfQVVUTyA/PSAiMCIKKworIyBXaGV0aGVyIEJhbmRpdCBmaW5kaW5nIGlzc3VlcyByZXN1bHRzIGluIGEgd2FybmluZyAoMCkgb3IgYW4gZXJyb3IgKDEpLgorQkFORElUX0ZBVEFMID89ICIwIgorCitkb19iYW5kaXRbZGVwZW5kc10gPSAicHl0aG9uMy1iYW5kaXQtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QiCitweXRob24gZG9fYmFuZGl0KCkgeworICAgIGltcG9ydCBvcywgc3VicHJvY2VzcworICAgIHRyeToKKyAgICAgICAgcmVwb3J0ID0gZC5leHBhbmQoIiR7REVQTE9ZX0RJUn0vYmFuZGl0LyR7UE59LSR7UFZ9LiR7QkFORElUX0ZPUk1BVH0iKQorICAgICAgICBvcy5tYWtlZGlycyhvcy5wYXRoLmRpcm5hbWUocmVwb3J0KSwgZXhpc3Rfb2s9VHJ1ZSkKKworICAgICAgICBhcmdzID0gKCJiYW5kaXQiLAorICAgICAgICAgICAgICAgICItLWZvcm1hdCIsIGQuZ2V0VmFyKCJCQU5ESVRfRk9STUFUIiksCisgICAgICAgICAgICAgICAgIi0tb3V0cHV0IiwgcmVwb3J0LAorICAgICAgICAgICAgICAgICItbGwiLAorICAgICAgICAgICAgICAgICItLXJlY3Vyc2l2ZSIsIGQuZ2V0VmFyKCJCQU5ESVRfU09VUkNFIikpCisgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KGFyZ3MsIHN0ZGVycj1zdWJwcm9jZXNzLlNURE9VVCkKKyAgICAgICAgYmIubm90ZSgiQmFuZGl0IGZvdW5kIG5vIGlzc3VlcyAocmVwb3J0IHdyaXR0ZW4gdG8gJXMpIiAlIHJlcG9ydCkKKyAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3IgYXMgZToKKyAgICAgICAgaWYgZS5yZXR1cm5jb2RlID09IDE6CisgICAgICAgICAgICBpZiBvZS50eXBlcy5ib29sZWFuKGQuZ2V0VmFyKCJCQU5ESVRfRkFUQUwiKSk6CisgICAgICAgICAgICAgICAgYmIuZXJyb3IoIkJhbmRpdCBmb3VuZCBpc3N1ZXMgKHJlcG9ydCB3cml0dGVuIHRvICVzKSIgJSByZXBvcnQpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGJiLndhcm4oIkJhbmRpdCBmb3VuZCBpc3N1ZXMgKHJlcG9ydCB3cml0dGVuIHRvICVzKSIgJSByZXBvcnQpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBiYi5lcnJvcigiQmFuZGl0IGZhaWxlZDpcbiIgKyBlLm91dHB1dC5kZWNvZGUoInV0Zi04IikpCit9CisKK3B5dGhvbigpIHsKKyAgICBiZWZvcmUgPSAiZG9fYnVpbGQiCisgICAgYWZ0ZXIgPSAiZG9fY29tcGlsZSIKKworICAgIGlmIG9lLnR5cGVzLmJvb2xlYW4oZC5nZXRWYXIoIkJBTkRJVF9BVVRPIikpOgorICAgICAgICBiYi5idWlsZC5hZGR0YXNrKCJkb19iYW5kaXQiLCBiZWZvcmUsIGFmdGVyLCBkKQorICAgIGVsc2U6CisgICAgICAgIGJiLmJ1aWxkLmFkZHRhc2soImRvX2JhbmRpdCIsIE5vbmUsIGFmdGVyLCBkKQorfQorCisjIFRPRE86IHN0b3JlIHJlcG9ydCBpbiBzc3RhdGUKKyMgVE9ETzogYSB3YXkgdG8gcGFzcyBleHRyYSBhcmdzIG9yIC5iYW5kaXQgZmlsZSwgYmFzaWNhbGx5IGNvbnRyb2wgLWxsCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9jb25mL2xheWVyLmNvbmYgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9jb25mL2xheWVyLmNvbmYKaW5kZXggMzIxZDUxYi4uZmI1Y2RhNSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vY29uZi9sYXllci5jb25mCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL2NvbmYvbGF5ZXIuY29uZgpAQCAtMTQsNiArMTQsNiBAQAogCiBMQVlFUkRFUEVORFNfbWV0YS1weXRob24gPSAiY29yZSBvcGVuZW1iZWRkZWQtbGF5ZXIiCiAKLUxBWUVSU0VSSUVTX0NPTVBBVF9tZXRhLXB5dGhvbiA9ICJ0aHVkIgorTEFZRVJTRVJJRVNfQ09NUEFUX21ldGEtcHl0aG9uID0gInRodWQgd2FycmlvciIKIAogTElDRU5TRV9QQVRIICs9ICIke0xBWUVSRElSfS9saWNlbnNlcyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi1tcHJwYy9weXRob24tbXBycGMuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvcHl0aG9uLW1wcnBjL3B5dGhvbi1tcHJwYy5pbmMKaW5kZXggMDVmYmFlNC4uZTllZWJlOCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvcHl0aG9uLW1wcnBjL3B5dGhvbi1tcHJwYy5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvcHl0aG9uLW1wcnBjL3B5dGhvbi1tcHJwYy5pbmMKQEAgLTcsNyArNyw3IEBACiBERVBFTkRTICs9ICIke1BZVEhPTl9QTn0tZ2V2ZW50IgogUkRFUEVORFNfJHtQTn0gKz0gIiR7UFlUSE9OX1BOfS1nZXZlbnQgJHtQWVRIT05fUE59LW1zZ3BhY2sgJHtQWVRIT05fUE59LWdzb2NrZXRwb29sIgogCi1TUkNfVVJJW21kNXN1bV0gPSAiYWNkZTFmMzQ2NDExOTk3ZDc2YWI4OTc5MGEzNTY4MjMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZThkZGQ0N2U3YTJmYjJkM2IyMDNmY2M1MjI0NDNlZTViZTU2YzhmN2UyYzZkOTE1YzA0NzQ0NTk1MWNlZjFmYiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI4ZDk3OTYxMDUxNDIyZjNkZTMxNTYxMzQzNDk4MmQzYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzNTg5ZmQxMjc0ODJlMjkxYjFlYzMxNGQ2ZjBlNTVjYzEzMzExYzEyOTMyYWNlMzU2ZDYxNzhlYTFjYTI4ZjZhIgogCiBpbmhlcml0IHB5cGkKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi1tcHJwYy9weXRob24tbXBycGNfMC4xLjE2LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvcHl0aG9uLW1wcnBjL3B5dGhvbi1tcHJwY18wLjEuMTcuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi1tcHJwYy9weXRob24tbXBycGNfMC4xLjE2LmJiCnJlbmFtZSB0byBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvbm5lY3Rpdml0eS9weXRob24tbXBycGMvcHl0aG9uLW1wcnBjXzAuMS4xNy5iYgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvcHl0aG9uLW1wcnBjL3B5dGhvbjMtbXBycGNfMC4xLjE2LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvcHl0aG9uLW1wcnBjL3B5dGhvbjMtbXBycGNfMC4xLjE3LmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvbm5lY3Rpdml0eS9weXRob24tbXBycGMvcHl0aG9uMy1tcHJwY18wLjEuMTYuYmIKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi1tcHJwYy9weXRob24zLW1wcnBjXzAuMS4xNy5iYgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLXB5dGhvbi1pbWFnZS1iYXNlLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLXB5dGhvbi1pbWFnZS1iYXNlLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxMDgxZTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvcmUvaW1hZ2VzL21ldGEtcHl0aG9uLWltYWdlLWJhc2UuYmIKQEAgLTAsMCArMSw3IEBACitTVU1NQVJZID0gIm1ldGEtcHl0aG9uIGJ1aWxkIHRlc3QgaW1hZ2UiCisKK0lNQUdFX0lOU1RBTEwgPSAicGFja2FnZWdyb3VwLWNvcmUtYm9vdCIKKworTElDRU5TRSA9ICJNSVQiCisKK2luaGVyaXQgY29yZS1pbWFnZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLXB5dGhvbi1pbWFnZS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29yZS9pbWFnZXMvbWV0YS1weXRob24taW1hZ2UuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2M3NWZlNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29yZS9pbWFnZXMvbWV0YS1weXRob24taW1hZ2UuYmIKQEAgLTAsMCArMSw2IEBACityZXF1aXJlICBtZXRhLXB5dGhvbi1pbWFnZS1iYXNlLmJiCisKK1NVTU1BUlkgPSAibWV0YS1weXRob24gYnVpbGQgdGVzdCBpbWFnZSIKKworSU1BR0VfSU5TVEFMTCArPSAicGFja2FnZWdyb3VwLW1ldGEtcHl0aG9uIFwKKyAgICAgICAgICAgICAgICAgIHBhY2thZ2Vncm91cC1tZXRhLXB5dGhvbjMiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvcmUvaW1hZ2VzL21ldGEtcHl0aG9uLXB0ZXN0LWltYWdlLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLXB5dGhvbi1wdGVzdC1pbWFnZS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZWUxNTM1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLXB5dGhvbi1wdGVzdC1pbWFnZS5iYgpAQCAtMCwwICsxLDUgQEAKK3JlcXVpcmUgIG1ldGEtcHl0aG9uLWltYWdlLWJhc2UuYmIKKworU1VNTUFSWSA9ICJtZXRhLXB5dGhvbiBwdGVzdCB0ZXN0IGltYWdlIgorCitJTUFHRV9JTlNUQUxMICs9ICJwYWNrYWdlZ3JvdXAtbWV0YS1weXRob24tcHRlc3QiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtbWV0YS1weXRob24uYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtbWV0YS1weXRob24uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODJjZGE1OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1tZXRhLXB5dGhvbi5iYgpAQCAtMCwwICsxLDE1MCBAQAorU1VNTUFSWSA9ICJNZXRhLW9lIHB0ZXN0IHBhY2thZ2Vncm91cHMiCisKK2luaGVyaXQgcGFja2FnZWdyb3VwCisKK1BST1ZJREVTID0gIiR7UEFDS0FHRVN9IgorUEFDS0FHRVMgPSAnIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1weXRob24gXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLXB5dGhvbjMgXAorJworCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1weXRob24gPSAiXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLXB5dGhvbi1leHRlbmRlZCBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtcHl0aG9uLWNvbm5lY3Rpdml0eSBcCisiCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLXB5dGhvbjMgPSAiXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLXB5dGhvbjMtZXh0ZW5kZWQgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLXB5dGhvbjMtY29ubmVjdGl2aXR5IFwKKyIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtcHl0aG9uID0gIlwKKyAgICBweXRob24tcHN1dGlsIHB5dGhvbi1jZXJ0aWZpIHB5dGhvbi1mbGFzayBweXRob24tcHlyb3V0ZTIgcHl0aG9uLXB5b3BlbnNzbCBweXRob24tcHlsaW50IFwKKyAgICBweXRob24tc2VtdmVyIHB5dGhvbi13cmFwdCBweXRob24tbmV0d29ya3ggcHl0aG9uLWJlaGF2ZSBweXRob24tZG9taW5hdGUgcHl0aG9uLWZsYXNrLXVzZXIgXAorICAgIHB5dGhvbi1hdHRycyBweXRob24taHVtYW5pemUgcHl0aG9uLXNpeCBweXRob24tZmxhc2stbG9naW4gcHl0aG9uLXpvcGVpbnRlcmZhY2UgcHl0aG9uLXNpamF4IFwKKyAgICBweXRob24tcHlpbm90aWZ5IHB5dGhvbi1zdGV2ZWRvcmUgcHl0aG9uLXB5and0IHB5dGhvbi13ZWJkYXYgcHl0aG9uLXR3aXN0ZWQgcHl0aG9uLWZsYXNrLXNpamF4IFwKKyAgICBweXRob24tZnVuY3Rvb2xzMzIgcHl0aG9uLWphdmFvYmotcHkzIHB5dGhvbi1weWdwZ21lIHB5dGhvbi1mdXR1cmUgcHl0aG9uLWF0dHIgXAorICAgIHB5dGhvbi1mbGFzay14c3RhdGljIHB5dGhvbi1tMmNyeXB0byBweXRob24taHlwZXJsaW5rIHB5dGhvbi1pbWFnaW5nIHB5dGhvbi1pZG5hIHB5dGhvbi1qaW5qYTIgXAorICAgIHB5dGhvbi1jYW4gcHl0aG9uLWZsYXNrLWJjcnlwdCBweXRob24tcmVxdWVzdHMgcHl0aG9uLXBhc3RlIHB5dGhvbi1mbGFzay1zY3JpcHQgcHl0aG9uLXNlcnBlbnQgXAorICAgIHB5dGhvbi1jcnlwdG9ncmFwaHkgcHl0aG9uLXB5c21pIHB5dGhvbi14bHJkIHB5dGhvbi1hcHBkaXJzIHB5dGhvbi1qc29ucGF0Y2ggcHl0aG9uLWJjcnlwdCBcCisgICAgcHl0aG9uLW5kZy1odHRwc2NsaWVudCBweXRob24tcHl0ZXN0IHB5dGhvbi1saW5lY2FjaGUyIHB5dGhvbi12aXNpdG9yIHB5dGhvbi1iYWNrcG9ydHMtYWJjIFwKKyAgICBweXRob24tc2V0dXB0b29scy1zY20gcHl0aG9uLWV2ZGV2IHB5dGhvbi1weWprcyBweXRob24tanNvbnBvaW50ZXIgcHl0aG9uLWNoZWV0YWggcHl0aG9uLWdldmVudCBcCisgICAgcHl0aG9uLXNtYnVzIHB5dGhvbi1zcWxhbGNoZW15IHB5dGhvbi1zY3J5cHQgcHl0aG9uLXdlcmt6ZXVnIHB5dGhvbi1hbnlqc29uIHB5dGhvbi1wZXhwZWN0IFwKKyAgICBweXRob24tcm9ib3RmcmFtZXdvcmstc2VyaWFsbGlicmFyeSBweXRob24tcHlhbHNhYXVkaW8gcHl0aG9uLXB5dGVzdC1oZWxwZXJzLW5hbWVzcGFjZSBcCisgICAgcHl0aG9uLWFsZW1iaWMgcHl0aG9uLWZsYXNrLXB5bW9uZ28gcHl0aG9uLXNsaXAtZGJ1cyBweXRob24tcHlkYnVzIHB5dGhvbi1hdXRvbWF0IHB5dGhvbi1yZmMzOTg3IFwKKyAgICBweXRob24tdHpsb2NhbCBweXRob24tYmFja3BvcnRzLXNzbCBweXRob24tc3VicHJvY2VzczMyIHB5dGhvbi1hc24xY3J5cHRvIHB5dGhvbi1weWJpbmQxMSBcCisgICAgcHl0aG9uLXB0eXByb2Nlc3MgcHl0aG9uLWJhYmVsIHB5dGhvbi1wYXNzbGliIHB5dGhvbi1vYXV0aGxpYiBweXRob24tc2Rub3RpZnkgXAorICAgIHB5dGhvbi1sYXp5LW9iamVjdC1wcm94eSBweXRob24tY3J5cHRvZ3JhcGh5LXZlY3RvcnMgcHl0aG9uLWNyY21vZCBweXRob24tcHl1c2IgcHl0aG9uLXZvYmplY3QgXAorICAgIHB5dGhvbi13ZWJjb2xvcnMgcHl0aG9uLXB5cGFyc2luZyBweXRob24tYmVhdXRpZnVsc291cDQgcHl0aG9uLWNmZmkgcHl0aG9uLXRvcm5hZG8tcmVkaXMgXAorICAgIHB5dGhvbi1pdHNkYW5nZXJvdXMgcHl0aG9uLXB5YXNuMS1tb2R1bGVzIHB5dGhvbi1uZXRhZGRyIHB5dGhvbi12Y3ZlcnNpb25lciBcCisgICAgcHl0aG9uLXNoIHB5dGhvbi1ncmVlbmxldCBweXRob24tcGFoby1tcXR0IHB5dGhvbi10cmFjZWJhY2syIHB5dGhvbi1nZGF0YSBweXRob24tZGJ1c21vY2sgXAorICAgIHB5dGhvbi13aG9vc2ggcHl0aG9uLWxvY2tmaWxlIHB5dGhvbi1pc29ydCBweXRob24td3Rmb3JtcyBweXRob24tZmVlZHBhcnNlciBweXRob24tZmxhc2stcmVzdGZ1bCBcCisgICAgcHl0aG9uLXB5c25tcCBweXRob24tZmxhc2stYmFiZWwgcHl0aG9uLXB5dGVzdC10ZW1wZGlyIHB5dGhvbi1mbGFzay1uYXYgcHl0aG9uLXB5em1xIHB5dGhvbi1weXlhbWwgXAorICAgIHB5dGhvbi1wcm90b2J1ZiBweXRob24tcGx1Z2d5IHB5dGhvbi1qc29uc2NoZW1hIHB5dGhvbi1tc2dwYWNrIHB5dGhvbi1wYW5kYXMgXAorICAgIHB5dGhvbi1wZXJpcGhlcnkgcHl0aG9uLXBpbnQgcHl0aG9uLXB5Y3J5cHRvZG9tZSBweXRob24teWFwcGkgcHl0aG9uLXB5Y3J5cHRvIHB5dGhvbi1wcmV0ZW5kIFwKKyAgICBweXRob24tcHlzZXJpYWwgcHl0aG9uLXB5aWZhY2UgcHl0aG9uLWRvY3V0aWxzIHB5dGhvbi1ncnBjaW8tdG9vbHMgcHl0aG9uLWRqYW5nby1zb3V0aCBcCisgICAgcHl0aG9uLWJhY2twb3J0cy1mdW5jdG9vbHMtbHJ1LWNhY2hlIHB5dGhvbi1weSBweXRob24tY2xpY2sgcHl0aG9uLWZsYXNrLW1pZ3JhdGUgXAorICAgIHB5dGhvbi1weXVkZXYgcHl0aG9uLXB5c3RhY2hlIHB5dGhvbi1ibGlua2VyIHB5dGhvbi1wcm9tcHQtdG9vbGtpdCBweXRob24tbHhtbCBcCisgICAgcHl0aG9uLXVuaWRpZmYgcHl0aG9uLWluZmxlY3Rpb24gcHl0aG9uLXR3b2Zpc2ggcHl0aG9uLXByZXR0eXRhYmxlIHB5dGhvbi13ZWJlbmNvZGluZ3MgXAorICAgIHB5dGhvbi1tb2NrIHB5dGhvbi1weWV4cGVjdCBweXRob24tZG5zcHl0aG9uIHB5dGhvbi1weXNvY2tzIHB5dGhvbi1weW5ldGxpbnV4IFwKKyAgICBweXRob24tZGFlbW9uIHB5dGhvbi1kamFuZ29yZXN0ZnJhbWV3b3JrIHB5dGhvbi10eXBpbmcgcHl0aG9uLW1vbm90b25pYyBweXRob24tc3BhcnRzIFwKKyAgICBweXRob24tZW51bTM0IHB5dGhvbi1weXBlcmNsaXAgcHl0aG9uLWZsYXNrLXVwbG9hZHMgcHl0aG9uLXBiciBweXRob24tcGFyc2UgcHl0aG9uLXB5Zmxha2VzIFwKKyAgICBweXRob24tcHloYW1jcmVzdCBweXRob24tbWFrbyBweXRob24taW5jcmVtZW50YWwgcHl0aG9uLXRvcm5hZG8gcHl0aG9uLXhzdGF0aWMtZm9udC1hd2Vzb21lIFwKKyAgICBweXRob24tY21kMiBweXRob24tc3RyaWN0LXJmYzMzMzkgcHl0aG9uLXB5Y29kZXN0eWxlIHB5dGhvbi14c3RhdGljIHB5dGhvbi1zbmFrZWZvb2QgXAorICAgIHB5dGhvbi1weWJsdWV6IHB5dGhvbi1mbGFzay1uYXZpZ2F0aW9uIHB5dGhvbi1weWZpcm1hdGEgcHl0aG9uLXB5bW9uZ28gcHl0aG9uLXB5c3FsaXRlIFwKKyAgICBweXRob24tcHJvZ3Jlc3MgcHl0aG9uLWZsYXNrLXNxbGFsY2hlbXkgcHl0aG9uLXB5bWlzcCBweXRob24tcGlwIHB5dGhvbi11anNvbiBweXRob24tcGx5IFwKKyAgICBweXRob24tcGVwOCBweXRob24tZGF0ZXV0aWwgcHl0aG9uLXB5Y3BhcnNlciBweXRob24tZGFlbW9uaXplIHB5dGhvbi1hc3Ryb2lkIHB5dGhvbi1weXJleCBcCisgICAgcHl0aG9uLW1hcmt1cHNhZmUgcHl0aG9uLXB5dGVzdC1ydW5uZXIgcHl0aG9uLWdycGNpbyBweXRob24tbWNjYWJlIHB5dGhvbi1weXR6IHB5dGhvbi1zZWxlY3RvcnMzNCBcCisgICAgcHl0aG9uLWN5dGhvbiBweXRob24tY2hhcmRldCBweXRob24tZWRpdG9yIHB5dGhvbi1mbGFzay1ib290c3RyYXAgcHl0aG9uLWh0bWw1bGliIFwKKyAgICBweXRob24tc2luZ2xlZGlzcGF0Y2ggcHl0aG9uLXJlZGlzIHB5dGhvbi1mbGFzay1tYWlsIHB5dGhvbi1mdW5jc2lncyBweXRob24tc25pbXB5IHB5dGhvbi1weWFzbjEgXAorICAgIHB5dGhvbi1kZWNvcmF0b3IgcHl0aG9uLXVybGxpYjMgcHl0aG9uLWZlZWRmb3JtYXR0ZXIgcHl0aG9uLW1hdHBsb3RsaWIgcHl0aG9uLWlzbzg2MDEgXAorICAgIHB5dGhvbi1udW1lcmljIHB5dGhvbi1yb2JvdGZyYW1ld29yayBweXRob24tZGphbmdvIHB5dGhvbi1zaW1wbGVqc29uIHB5dGhvbi13Y3dpZHRoIFwKKyAgICBweXRob24tY29uZmlncGFyc2VyIHB5dGhvbi1lcHlkb2MgcHl0aG9uLWludGVydmFscyBweXRob24tc3BlYWtsYXRlciBcCisgICAgcHl0aG9uLWF3cy1pb3QtZGV2aWNlLXNkay1weXRob24gcHl0aG9uLWNvbnN0YW50bHkgcHl0aG9uLWJpdGFycmF5IHB5dGhvbi1mbGFzay13dGYgXAorICAgIHB5dGhvbi1wYXJzZS10eXBlIHB5dGhvbi1pcGFkZHJlc3MgcHl0aG9uLWRidXMgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAicGFtIiwgInB5dGhvbi1wYW0gcGFtZWxhIiwgIiIsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJzeXN0ZW1kIiwgInB5dGhvbi1zeXN0ZW1kIiwgIiIsIGQpfSBcCisiCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLXB5dGhvbjMgPSAiXAorICAgIHB5dGhvbjMtcHlzZXJpYWwgcHl0aG9uMy1nZXZlbnQgcHl0aG9uMy1hbGVtYmljIHB5dGhvbjMtcm9ib3RmcmFtZXdvcmstc2VyaWFsbGlicmFyeSBcCisgICAgcHl0aG9uMy1yZmMzOTg3IHB5dGhvbjMteGxyZCBweXRob24zLWJhbmRpdCBweXRob24zLWNvbnN0YW50bHkgcHl0aG9uMy1pbmZsZWN0aW9uIFwKKyAgICBweXRob24zLWphdmFvYmotcHkzIHB5dGhvbjMtc2ggcHl0aG9uMy1weWNyeXB0byBweXRob24zLXB5YXNuMSBweXRob24zLXB5ZGJ1cyBweXRob24zLXd0Zm9ybXMgXAorICAgIHB5dGhvbjMtcHlibHVleiBweXRob24zLWJhYmVsIHB5dGhvbjMtcGFyc2UtdHlwZSBweXRob24zLWJpdGFycmF5IHB5dGhvbjMtZGphbmdvLXNvdXRoIFwKKyAgICBweXRob24zLXB5dXNiIHB5dGhvbjMtcHJjdGwgcHl0aG9uMy1qaW5qYTIgcHl0aG9uMy13ZXJremV1ZyBweXRob24zLXB5amtzIHB5dGhvbjMtcmVxdWVzdHMtZnRwIFwKKyAgICBweXRob24zLWJlaGF2ZSBweXRob24zLXB5cGFyc2luZyBweXRob24zLXB5eWFtbCBweXRob24zLXR6bG9jYWwgcHl0aG9uMy1wcmV0ZW5kIHB5dGhvbjMtc3RldmVkb3JlIFwKKyAgICBweXRob24zLXNpamF4IHB5dGhvbjMtbGFuZ3RhYmxlIHB5dGhvbjMtcmVxdWVzdHMtZmlsZSBweXRob24zLWNyY21vZCBweXRob24zLXJvYm90ZnJhbWV3b3JrIFwKKyAgICBweXRob24zLXBpbnQgcHl0aG9uMy1jb3ZlcmFnZSBweXRob24zLWlzbzg2MDEgcHl0aG9uMy1uZGctaHR0cHNjbGllbnQgcHl0aG9uMy15YXBwaSBweXRob24zLXR3b2Zpc2ggXAorICAgIHB5dGhvbjMtc3BlYWtsYXRlciBweXRob24zLXNtYnVzIHB5dGhvbjMtZGphbmdvcmVzdGZyYW1ld29yayBweXRob24zLW1zZ3BhY2sgcHl0aG9uMy1qc29ucG9pbnRlciBcCisgICAgcHl0aG9uMy1mbGFzay1zY3JpcHQgcHl0aG9uMy1jYXNzYW5kcmEtZHJpdmVyIHB5dGhvbjMtY3l0aG9uIHB5dGhvbjMtdWpzb24gcHl0aG9uMy1hd3MtaW90LWRldmljZS1zZGstcHl0aG9uIFwKKyAgICBweXRob24zLXB5dGVzdC1ydW5uZXIgcHl0aG9uMy1weWlmYWNlIHB5dGhvbjMtZmxhc2stbG9naW4gcHl0aG9uMy1tYXJrdXBzYWZlIHB5dGhvbjMtc2V0dXB0b29scy1zY20gXAorICAgIHB5dGhvbjMtc2VtdmVyIHB5dGhvbjMtc2Rub3RpZnkgcHl0aG9uMy1mbGFzay11c2VyIHB5dGhvbjMtdG9ybmFkbyBweXRob24zLWpzb25wYXRjaCBweXRob24zLXBleHBlY3QgXAorICAgIHB5dGhvbjMtcHJvZ3Jlc3MgcHl0aG9uMy1qc29uc2NoZW1hIHB5dGhvbjMteHN0YXRpYyBweXRob24zLXB5cm91dGUyIHB5dGhvbjMtaWRuYSBweXRob24zLXNxbGFsY2hlbXkgXAorICAgIHB5dGhvbjMtdXJsbGliMyBweXRob24zLWZsYXNrLW1haWwgcHl0aG9uMy1hc24xY3J5cHRvIHB5dGhvbjMtcHlpbm90aWZ5IHB5dGhvbjMtaW50ZXJ2YWxzIHB5dGhvbjMtcHlwZXJjbGlwIFwKKyAgICBweXRob24zLWZsYXNrLWJvb3RzdHJhcCBweXRob24zLXB5dWRldiBweXRob24zLWRlY29yYXRvciBweXRob24zLXB5YmluZDExIHB5dGhvbjMtcGx1Z2d5IHB5dGhvbjMtcmVkaXMgXAorICAgIHB5dGhvbjMtcHljcnlwdG9kb21lIHB5dGhvbjMtcGFzc2xpYiBweXRob24zLWRvbWluYXRlIHB5dGhvbjMtcGx5IHB5dGhvbjMtbnRwbGliIHB5dGhvbjMtc2VycGVudCBweXRob24zLXdyYXB0IFwKKyAgICBweXRob24zLWF0dHJzIHB5dGhvbjMtYXBwZGlycyBweXRob24zLWlzb3J0IHB5dGhvbjMtZXZkZXYgcHl0aG9uMy1pbmNyZW1lbnRhbCBweXRob24zLWNsaWNrIHB5dGhvbjMtZmxhc2stbmF2IFwKKyAgICBweXRob24zLXdlYmNvbG9ycyBweXRob24zLWRhdGV1dGlsIHB5dGhvbjMtYmxpbmtlciBweXRob24zLWh5cGVybGluayBweXRob24zLWx4bWwgcHl0aG9uMy1weWxpbnQgXAorICAgIHB5dGhvbjMtZmxhc2stbWlncmF0ZSBweXRob24zLXB5dGVzdC10ZW1wZGlyIHB5dGhvbjMtZmxhc2stcmVzdGZ1bCBweXRob24zLWZlZWRmb3JtYXR0ZXIgXAorICAgIHB5dGhvbjMtcHlhc24xLW1vZHVsZXMgcHl0aG9uMy1zY2FweSBweXRob24zLWh0bWw1bGliIHB5dGhvbjMtZG5zcHl0aG9uIHB5dGhvbjMtYXV0b21hdCBcCisgICAgcHl0aG9uMy1pdHNkYW5nZXJvdXMgcHl0aG9uMy1wYW5kYXMgcHl0aG9uMy1weWZpcm1hdGEgcHl0aG9uMy1wcm90b2J1ZiAgXAorICAgIHB5dGhvbjMtZmxhc2stYmFiZWwgcHl0aG9uMy1hbnlqc29uIHB5dGhvbjMtZmxhc2steHN0YXRpYyBweXRob24zLW11bHRpZGljdCBweXRob24zLXByb21wdC10b29sa2l0IFwKKyAgICBweXRob24zLXBlcmlwaGVyeSBweXRob24zLWdyZWVubGV0IHB5dGhvbjMtcHl0eiBweXRob24zLXB5ZXhwZWN0IHB5dGhvbjMtem9wZWludGVyZmFjZSBcCisgICAgcHl0aG9uMy1iY3J5cHQgcHl0aG9uMy14c3RhdGljLWZvbnQtYXdlc29tZSBweXRob24zLW0yY3J5cHRvIHB5dGhvbjMtcGFyc2UgcHl0aG9uMy1hdHRyIFwKKyAgICBweXRob24zLWJlYXV0aWZ1bHNvdXA0IHB5dGhvbjMtcHljb2Rlc3R5bGUgcHl0aG9uMy1vYXV0aGxpYiBweXRob24zLWdycGNpbyBweXRob24zLXNjcnlwdCBcCisgICAgcHl0aG9uMy1weWp3dCBweXRob24zLWFzdHJvaWQgcHl0aG9uMy1mbGFzay1weW1vbmdvIHB5dGhvbjMtd2N3aWR0aCBweXRob24zLWxhenktb2JqZWN0LXByb3h5IFwKKyAgICBweXRob24zLXdlYnNvY2tldHMgcHl0aG9uMy1weXptcSBweXRob24zLXB5dGVzdCBweXRob24zLWNoYXJkZXQgcHl0aG9uMy12Y3ZlcnNpb25lciBweXRob24zLXdob29zaCBcCisgICAgcHl0aG9uMy1weW1pc3AgcHl0aG9uMy1jZXJ0aWZpIHB5dGhvbjMtcHN1dGlsIHB5dGhvbjMtZmxhc2stc3FsYWxjaGVteSBweXRob24zLWh1bWFuaXplIFwKKyAgICBweXRob24zLWdycGNpby10b29scyBweXRob24zLWNvbmZpZ3BhcnNlciBweXRob24zLXN0cmljdC1yZmMzMzM5IHB5dGhvbjMtcGFoby1tcXR0IFwKKyAgICBweXRob24zLXB5dGVzdC1oZWxwZXJzLW5hbWVzcGFjZSBweXRob24zLWZsYXNrIHB5dGhvbjMtZmxhc2std3RmIHB5dGhvbjMtdmlzaXRvciBweXRob24zLXB5bmV0bGludXggXAorICAgIHB5dGhvbjMtcmVxdWVzdHMgcHl0aG9uMy1jcnlwdG9ncmFwaHktdmVjdG9ycyBweXRob24zLXNwaWRldiBweXRob24zLXBpZCBweXRob24zLXB5bW9uZ28gXAorICAgIHB5dGhvbjMtZnV0dXJlIHB5dGhvbjMtZGphbmdvIHB5dGhvbjMtdW5pZGlmZiBweXRob24zLXdlYmVuY29kaW5ncyBweXRob24zLWNhbiBweXRob24zLXB5YWxzYWF1ZGlvIFwKKyAgICBweXRob24zLWZsYXNrLXNpamF4IHB5dGhvbjMtY3J5cHRvZ3JhcGh5IHB5dGhvbjMtdHdpc3RlZCBweXRob24zLW5ldGFkZHIgcHl0aG9uMy1weWNwYXJzZXIgXAorICAgIHB5dGhvbjMtZmxhc2stdXBsb2FkcyBweXRob24zLXB5c29ja3MgcHl0aG9uMy1jZmZpIHB5dGhvbjMtZWRpdG9yIHB5dGhvbjMtcHR5cHJvY2VzcyBcCisgICAgcHl0aG9uMy1weW9wZW5zc2wgcHl0aG9uMy1vcmRlcmVkLXNldCBweXRob24zLXNpbXBsZWpzb24gcHl0aG9uMy1weSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJzeXN0ZW1kIiwgInB5dGhvbjMtc3lzdGVtZCIsICIiLCBkKX0gXAorIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1weXRob24tZXh0ZW5kZWQgPSAiXAorICAgIHB5dGhvbi1weWVwaGVtIFwKKyAgICBweXRob24tY3NvbiBcCisgICAgcHl0aG9uLXB5d2JlbSBcCisgICAgcHl0aG9uLXB5cGFydGVkIFwKKyIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtcHl0aG9uMy1leHRlbmRlZCA9ICJcCisgICAgcHl0aG9uMy1weWtpY2tzdGFydCBcCisgICAgcHl0aG9uMy1tZWggXAorICAgIHB5dGhvbjMtYmxpdmV0IFwKKyAgICBweXRob24zLXB5d2JlbSBcCisgICAgcHl0aG9uMy1weXBhcnRlZCBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJ4MTEiLCAicHl0aG9uMy1ibGl2ZXRndWkiLCAiIiwgZCl9IFwKKyIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtcHl0aG9uLWNvbm5lY3Rpdml0eSA9ICJcCisgICAgcHl0aG9uLXB5cm80IFwKKyAgICBweXRob24tcHl0dW4gXAorICAgIHB5dGhvbi1tcHJwYyBcCisgICAgcHl0aG9uLXRocmlmdCBcCisgICAgcHl0aG9uLXR4d3MgXAorICAgIHB5dGhvbi1weWNvbm5tYW4gXAorICAgIHB5dGhvbi1nc29ja2V0cG9vbCBcCisiCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLXB5dGhvbjMtY29ubmVjdGl2aXR5ID0gIlwKKyAgICBweXRob24zLXB5dHVuIFwKKyAgICBweXRob24zLW1wcnBjIFwKKyAgICBweXRob24zLXB5Y29ubm1hbiBcCisgICAgcHl0aG9uMy1nc29ja2V0cG9vbCBcCisiCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLXB5dGhvbi1wdGVzdCA9ICJcCisgICAgcHl0aG9uLXB5Z3BnbWUgXAorICAgIHB5dGhvbi1jcnlwdG9ncmFwaHkgXAorICAgICIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtcHl0aG9uMy1wdGVzdCA9ICJcCisgICAgcHl0aG9uMy1jcnlwdG9ncmFwaHkgXAorICAgICIKKworRVhDTFVERV9GUk9NX1dPUkxEID0gIjEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL2d5cC9neXBfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9neXAvZ3lwX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYjNmM2ZiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9neXAvZ3lwX2dpdC5iYgpAQCAtMCwwICsxLDE1IEBACitERVNDUklQVElPTiA9ICJHWVAgaXMgYSBNZXRhLUJ1aWxkIHN5c3RlbTogYSBidWlsZCBzeXN0ZW0gdGhhdCBnZW5lcmF0ZXMgb3RoZXIgYnVpbGQgc3lzdGVtcy4iCitIT01FUEFHRSA9ICJodHRwczovL2d5cC5nc3JjLmlvLyIKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YWI4MjhjYjhjZTRjNjJlZTgyOTQ1YTExMjQ3YjZiYmQiCitTRUNUSU9OID0gImRldmVsIgorCitTUkNfVVJJID0gImdpdDovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vZXh0ZXJuYWwvZ3lwO3Byb3RvY29sPWh0dHBzIgorU1JDUkVWID0gIjhiZWUwOWY0YTU3ODA3MTM2NTkzZGRjOTA2YjBiMjEzYzIxZjkwMTQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCitQViA9ICIwLjErZ2l0JHtTUkNQVn0iCisKK2luaGVyaXQgc2V0dXB0b29sczMKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWF0dHJzLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1hdHRycy5pbmMKaW5kZXggZmE3M2VhNS4uZDBiNTY5NyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWF0dHJzLmluYworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tYXR0cnMuaW5jCkBAIC05LDYgKzksNiBAQAogaW5oZXJpdCBweXBpCiAKIFJERVBFTkRTXyR7UE59X2NsYXNzLXRhcmdldCArPSAiIFwKLSAgICAke1BZVEhPTl9QTn0tY3J5cHRvZ3JhcGh5IFwKKyAgICAke1BZVEhPTl9QTn0tY3J5cHQgXAogICAgICR7UFlUSE9OX1BOfS1jdHlwZXMgXAotIiAgICAKKyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jYWNoZXRvb2xzLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jYWNoZXRvb2xzLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MmFlMzE4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNhY2hldG9vbHMuaW5jCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiRXh0ZW5zaWJsZSBtZW1vaXppbmcgY29sbGVjdGlvbnMgYW5kIGRlY29yYXRvcnMiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vdGtlbS9jYWNoZXRvb2xzIgorREVTQ1JJUFRJT04gPSAiVGhpcyBtb2R1bGUgcHJvdmlkZXMgdmFyaW91cyBtZW1vaXppbmcgXAorY29sbGVjdGlvbnMgYW5kIGRlY29yYXRvcnMsIGluY2x1ZGluZyB2YXJpYW50cyBvZiB0aGUgXAorUHl0aG9uIDMgU3RhbmRhcmQgTGlicmFyeSBAbHJ1X2NhY2hlIGZ1bmN0aW9uIGRlY29yYXRvci4iCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0yN2Y3NTE4ZWI2ZjdkYzY4NmQwZjk1M2IyZjI4ZGFlNSIKKworaW5oZXJpdCBweXBpCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhN2IxYzVlYjUzOTBkNTAwNjdjNjJkN2JjYjRlODc1YyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5ZWZjYzlmYWIzYjQ5YWI4MzM0NzU3MDJiNTVlZGQ1YWUwN2FmMWFmN2E0YzYyNzY3ODk4MGI0NWU0NTljNDYwIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY2FjaGV0b29sc18zLjEuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jYWNoZXRvb2xzXzMuMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjMTJhZDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY2FjaGV0b29sc18zLjEuMC5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgc2V0dXB0b29scworcmVxdWlyZSBweXRob24tY2FjaGV0b29scy5pbmMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jbGljay5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY2xpY2suaW5jCmluZGV4IGM4MTU0NWIuLjYwYmM0NmYgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jbGljay5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNsaWNrLmluYwpAQCAtNiwxMCArNiwxMCBAQAogc2Vuc2libGUgZGVmYXVsdHMgb3V0IG9mIHRoZSBib3guIgogSE9NRVBBR0UgPSAiaHR0cDovL2NsaWNrLnBvY29vLm9yZy8iCiBMSUNFTlNFID0gIkJTRCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTA5ZThiNzg2OWY5NGJhOWU5YTdiMjYwZDUzYzY1ZGFiIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS5yc3Q7bWQ1PWMxM2VkODkwYjIxMGE4ODJjMTc3ODIxNjY5NGM5OGM3IgogCi1TUkNfVVJJW21kNXN1bV0gPSAiZmM0Y2MwMGM0ODYzODMzMjMwZDNhZjkyYWY0OGFiZDQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjE1NTE2ZGY0NzhkNWE1NjE4MGZiZjgwZTY4ZjIwNjAxMGU2ZDE2MGZjMzlmYTUwOGI2NWUwMzVmZDc1MTMwYiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI3ZjUzZDUwZjdiNzM3M2ViYzc5NjNmOWZmNjk3NDUwYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1Yjk0YjQ5NTIxZjY0NTY2NzBmZGIzMGNkODJhNGVjYTk0MTI3ODhhOTNmYTZkZDZkZjcyYzk0ZDVhOGZmMmQ3IgogCiBVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJjbGljay8oP1A8cHZlcj5cZCsoXC5cZCspKykvIgogCkBAIC0yMSwzICsyMSw1IEBACiAgICAgIgogCiBCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK1BZUElfUEFDS0FHRSA9ICJDbGljayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jbGlja182LjcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY2xpY2tfNy4wLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY2xpY2tfNi43LmJiCnJlbmFtZSB0byBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY2xpY2tfNy4wLmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY3J5cHRvZ3JhcGh5LXZlY3RvcnMuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS12ZWN0b3JzLmluYwppbmRleCBkMWUyNTRiLi4wNDE3M2YwIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY3J5cHRvZ3JhcGh5LXZlY3RvcnMuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHktdmVjdG9ycy5pbmMKQEAgLTgsOCArOCw4IEBACiAgICAgJHtQWVRIT05fUE59LWNyeXB0b2dyYXBoeSBcCiAiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICIyOTRkNDRmMzI4ODVhNmI5N2Q1ZjljZGQ3ZmZjNzNhMyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIzNTZhMmRlZDg0YWUzNzllNTU2NTE1ZWVjOWI2OGRkNzQ5NTc2NTFhMzg0NjVkMTA2MDViYjlmYmFlMjgwZjE1IgorU1JDX1VSSVttZDVzdW1dID0gImU3ZjQ0YjE2NzhlMzA3MWUyMDQ0YTMyZjdjMzUzZDE0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjgyOWQ0M2U4MDY2MDU2ZGU4ZWE3YjhhZDMxMWRiNzllNDdkOGQ2NThlMjNkNWY1ZmM0YjAyNDVhMWIzYmFhNzQiCiAKIFBZUElfUEFDS0FHRSA9ICJjcnlwdG9ncmFwaHlfdmVjdG9ycyIKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS12ZWN0b3JzXzIuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHktdmVjdG9yc18yLjQuMS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS12ZWN0b3JzXzIuMy5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS12ZWN0b3JzXzIuNC4xLmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY3J5cHRvZ3JhcGh5LmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHkuaW5jCmluZGV4IGRiYmZlMmMuLjJjMWFjMWMgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHkuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHkuaW5jCkBAIC0xMCwxNCArMTAsMTMgQEAKICAgICAke1BZVEhPTl9QTn0tc2l4IFwKICIKIAotU1JDX1VSSVttZDVzdW1dID0gImEwZjNmNTYzYWIxYzVjM2JjMDJmYWU4ZDRhYTNhZDE2IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImMxMzJiYWI0NWQ0YmQwZmZmMWQzZmUyOTRkOTJiMGE2ZWI4NDA0ZTkzMzM3YjMxMjdiZGVjOWYyMWRlMTE3ZTYiCitTUkNfVVJJW21kNXN1bV0gPSAiNDY0ZjE4MGZmNjQ2MjI3NjBjY2E3MTY3Zjk3YjNmZjQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTg1YjQxMDg4NWFkZGFlYjMxYTg2N2VhYmNlZmM5ZWY0YTdlOTA0YWQ0NWVhYzllNjBhNzYzYTU0YjI0NDYyNiIKIAogUkRFUEVORFNfJHtQTn0gKz0gIiBcCiAgICAgJHtQWVRIT05fUE59LWNmZmkgXAogICAgICR7UFlUSE9OX1BOfS1pZG5hIFwKICAgICAke1BZVEhPTl9QTn0tYXNuMWNyeXB0byBcCi0gICAgJHtQWVRIT05fUE59LXB5Y3BhcnNlciBcCiAgICAgJHtQWVRIT05fUE59LXNldHVwdG9vbHMgXAogICAgICR7UFlUSE9OX1BOfS1zaXggXAogIgpAQCAtMjcsNyArMjYsNiBAQAogICAgICR7UFlUSE9OX1BOfS1pZG5hIFwKICAgICAke1BZVEhPTl9QTn0tbnVtYmVycyBcCiAgICAgJHtQWVRIT05fUE59LWFzbjFjcnlwdG8gXAotICAgICR7UFlUSE9OX1BOfS1weWNwYXJzZXIgXAogICAgICR7UFlUSE9OX1BOfS1zZXR1cHRvb2xzIFwKICAgICAke1BZVEhPTl9QTn0tc2l4IFwKICAgICAke1BZVEhPTl9QTn0tdGhyZWFkaW5nIFwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHlfMi4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeV8yLjQuMS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeV8yLjMuYmIKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHlfMi40LjEuYmIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1nZXZlbnQuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdldmVudC5pbmMKaW5kZXggMTM1MTNmMi4uYmM4OWQxMCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdldmVudC5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdldmVudC5pbmMKQEAgLTQsOCArNCw5IEBACiBIT01FUEFHRSA9ICJodHRwOi8vd3d3LmdldmVudC5vcmciCiBMSUNFTlNFID0gIk1JVCAmIFB5dGhvbi0yLjAgJiBCU0QiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT00ZGU5OWFhYzI3YjQ3MGMyOWM2YzMwOWUwYzI3OWI2NSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9OT1RJQ0U7bWQ1PTU5NjZjZDJjNjU4MjY1NmQyOGFiM2MzM2RhMzg2MGY4IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2RlcHMvbGliZXYvTElDRU5TRTttZDU9ZDZhZDQxNmFmZDA0MGM5MDY5OGVkY2RmMWNiZWUzNDciCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9OT1RJQ0U7bWQ1PTE4MTA4ZGYzNTgzNDYyY2FmZDQ1N2YwMjRiOWIwOWI1IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2RlcHMvbGliZXYvTElDRU5TRTttZDU9ZDZhZDQxNmFmZDA0MGM5MDY5OGVkY2RmMWNiZWUzNDcgXAorICAgICAgICAgICAgICAgICAgICAiCiBERVBFTkRTICs9ICJsaWJldmVudCIKIERFUEVORFMgKz0gIiR7UFlUSE9OX1BOfS1ncmVlbmxldCIKIFJERVBFTkRTXyR7UE59ID0gIiR7UFlUSE9OX1BOfS1ncmVlbmxldCBcCkBAIC0xNywxMCArMTgsMTEgQEAKIAogU1JDX1VSSV9hcHBlbmQgPSAiIFwKICAgICBmaWxlOi8vbGliZXYtY29uZi5wYXRjaDtwYXRjaD0xO3BudW09MSBcCisgICAgZmlsZTovLzAwMDItc2V0dXAucHktZG8tbm90LXF1ZXJ5LWZvci1pbmNsdWRlLWRpci5wYXRjaCBcCiAiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICI3ZjBiYWYzNTUzODRmZTVmZjJlY2Y2Njg1MzQyMjU1NCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI0NzkxYzhhZTljNTdkNmYxNTMzNTQ3MzZlMWNjYWIxZTJiYWY2YzhkOWFlNWE3N2E5YWM5MGY0MWUyOTY2YjJkIgorU1JDX1VSSVttZDVzdW1dID0gIjZiOWRkOTg5MTcwNjE4MDNkOTE1OGU1MjU4YjhmNDEyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFlYjdmYTNiOWJkOTE3NGRmZTljM2I1OWI3YTA5Yjc2OGVjZDQ5NmRlYmZjNDk3NmE5NTMwYTNlMTVjOTkwZDEiCiAKICMgVGhlIHB5dGhvbi1nZXZlbnQgaGFzIG5vIGF1dG9yZWNvbmYgYWJpbGl0eQogIyBhbmQgdGhlIGxvZ2ljIGZvciBkZXRlY3RpbmcgYSBjcm9zcyBjb21waWxlIGlzIGZsYXdlZApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdldmVudC8wMDAyLXNldHVwLnB5LWRvLW5vdC1xdWVyeS1mb3ItaW5jbHVkZS1kaXIucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ2V2ZW50LzAwMDItc2V0dXAucHktZG8tbm90LXF1ZXJ5LWZvci1pbmNsdWRlLWRpci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTM2YjcxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdldmVudC8wMDAyLXNldHVwLnB5LWRvLW5vdC1xdWVyeS1mb3ItaW5jbHVkZS1kaXIucGF0Y2gKQEAgLTAsMCArMSwyNiBAQAorRnJvbSBhNTNlZDZiMmY5NjdhNWY5NWU2OWQ1MWNhZDNmOGMxMjBkN2RmNjViIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBUaHUsIDcgRmViIDIwMTkgMTU6MjE6MTUgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gc2V0dXAucHk6IGRvIG5vdCBxdWVyeSBmb3IgaW5jbHVkZSBkaXIKKworQXMgdGhpcyB3aWxsIHJldHVybiB0aGUgbmF0aXZlIHB5dGhvbiBkaXJlY3RvcnkgZXJyb25lb3VzbHkuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2UtY29yZSBzcGVjaWZpY10KK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorLS0tCisgc2V0dXAucHkgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zZXR1cC5weSBiL3NldHVwLnB5CitpbmRleCA4NmQ2YzVhLi41ZDIyMjkxIDEwMDc1NQorLS0tIGEvc2V0dXAucHkKKysrKyBiL3NldHVwLnB5CitAQCAtNTIsNyArNTIsNyBAQCBmcm9tIF9zZXR1cGFyZXMgaW1wb3J0IEFSRVMKKyAjIEdldCBhY2Nlc3MgdG8gdGhlIGdyZWVubGV0IGhlYWRlciBmaWxlLgorICMgVGhlIHN5c2NvbmZpZyBkaXIgaXMgbm90IGVub3VnaCBpZiB3ZSdyZSBpbiBhIHZpcnR1YWxlbnYKKyAjIFNlZSBodHRwczovL2dpdGh1Yi5jb20vcHlwYS9waXAvaXNzdWVzLzQ2MTAKKy1pbmNsdWRlX2RpcnMgPSBbc3lzY29uZmlnLmdldF9wYXRoKCJpbmNsdWRlIildCisraW5jbHVkZV9kaXJzID0gW10KKyB2ZW52X2luY2x1ZGVfZGlyID0gb3MucGF0aC5qb2luKHN5cy5wcmVmaXgsICdpbmNsdWRlJywgJ3NpdGUnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3B5dGhvbicgKyBzeXNjb25maWcuZ2V0X3B5dGhvbl92ZXJzaW9uKCkpCisgdmVudl9pbmNsdWRlX2RpciA9IG9zLnBhdGguYWJzcGF0aCh2ZW52X2luY2x1ZGVfZGlyKQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdldmVudF8xLjIuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1nZXZlbnRfMS40LjAuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1nZXZlbnRfMS4yLjIuYmIKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1nZXZlbnRfMS40LjAuYmIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1ncmVlbmxldC5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JlZW5sZXQuaW5jCmluZGV4IGZjZDgxZjYuLmM3YzY1NmMgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1ncmVlbmxldC5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdyZWVubGV0LmluYwpAQCAtMyw3ICszLDcgQEAKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTAzMTQzZDdhMWE5ZjVkOGEwZmVlODI1ZjI0Y2E5YzM2IFwKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0UuUFNGO21kNT1jMTA2OTMxZDk0MjllZGEwNDkyNjE3ZjAzN2I4ZjY5YSIKIAotU1JDX1VSSVttZDVzdW1dID0gImE4N2I2MDI4YzNiNzQyYjIxMGJmNTk3MzkzOWRiNTk1IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImYxY2MyNjhhMTVhZGU1OGQ5YTBjMDQ1NjlmZTY2MTNlMTliOGIwMzQ1YjY0NDUzMDY0ZTJjM2M2ZDc5MDUxYWYiCitTUkNfVVJJW21kNXN1bV0gPSAiMTBmYTMwNGY2NzNmYzE4YjI4ZmE2ZDhjNjY1OGNiODAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTQxNjQ0M2UyMTkzNTZlM2MzMWYxZjkxOGE5MWJhZGYyZTM3YWNmMjk3ZTJmYTEzZDI0ZDFjYzIzODBmOGZiYyIKIAogaW5oZXJpdCBweXBpCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JlZW5sZXRfMC40LjE0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdyZWVubGV0XzAuNC4xNS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdyZWVubGV0XzAuNC4xNC5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdyZWVubGV0XzAuNC4xNS5iYgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdycGNpby5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JwY2lvLmluYwppbmRleCAyM2QyNWY3Li5mZDM0MWY1IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JwY2lvLmluYworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JwY2lvLmluYwpAQCAtNSw3ICs1LDExIEBACiBERVBFTkRTX2FwcGVuZCA9ICIke1BZVEhPTl9QTn0tcHJvdG9idWYiCiAKIEZJTEVTRVhUUkFQQVRIU19wcmVwZW5kIDo9ICIke1RISVNESVJ9L3B5dGhvbi1ncnBjaW86IgotU1JDX1VSSV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBmaWxlOi8vMDAwMS1zZXR1cC5weS1Eby1ub3QtbWl4LUMtYW5kLUMtY29tcGlsZXItb3B0aW9ucy5wYXRjaCAiCisKK1NSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgZmlsZTovLzAwMDEtc2V0dXAucHktRG8tbm90LW1peC1DLWFuZC1DLWNvbXBpbGVyLW9wdGlvbnMucGF0Y2ggXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcHBjLWJvcmluZ3NzbC1zdXBwb3J0LnBhdGNoIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTovL3Jpc2N2NjRfc3VwcG9ydC5wYXRjaCBcCisiCiAKIFJERVBFTkRTXyR7UE59ID0gIiR7UFlUSE9OX1BOfS1wcm90b2J1ZiBcCiAgICAgICAgICAgICAgICAgICAke1BZVEhPTl9QTn0tc2V0dXB0b29scyBcCkBAIC0xNyw4ICsyMSw4IEBACiAKIGluaGVyaXQgcHlwaQogCi1TUkNfVVJJW21kNXN1bV0gPSAiMDk4N2FlMmU0N2I1MTAzZGUzY2FjYzQzNzg3NGEzYzUiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGJmMjM2NjZlNzYzY2E3ZmY2MDEwNDY1ODY0ZTlmMDg4ZjRhYzdlY2MxZTExYWJkNmY4NWIyNTBlNjZiMmMwNSIKK1NSQ19VUklbbWQ1c3VtXSA9ICIxODg1NjVmMTUwZjM0ZDE5MjdiODdlMDE0ZjBmNGI3MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyZGRiY2ExNmMyZTdiM2YyZmZjNmUzNGM3Y2ZhNjg4NmZiMDFkZTlmMTU2YWQzZjc3YjcyYWQ2NTJkNjMyMDk3IgogCiBDTEVBTkJST0tFTiA9ICIxIgogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JwY2lvLzAwMDEtc2V0dXAucHktRG8tbm90LW1peC1DLWFuZC1DLWNvbXBpbGVyLW9wdGlvbnMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JwY2lvLzAwMDEtc2V0dXAucHktRG8tbm90LW1peC1DLWFuZC1DLWNvbXBpbGVyLW9wdGlvbnMucGF0Y2gKaW5kZXggOTk2NTk3Yi4uZjE3ZjA0OCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdycGNpby8wMDAxLXNldHVwLnB5LURvLW5vdC1taXgtQy1hbmQtQy1jb21waWxlci1vcHRpb25zLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1ncnBjaW8vMDAwMS1zZXR1cC5weS1Eby1ub3QtbWl4LUMtYW5kLUMtY29tcGlsZXItb3B0aW9ucy5wYXRjaApAQCAtMTgsMTEgKzE4LDkgQEAKICBzZXR1cC5weSB8IDIgKy0KICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAotSW5kZXg6IGdycGNpby0xLjE0LjEvc2V0dXAucHkKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBncnBjaW8tMS4xNC4xLm9yaWcvc2V0dXAucHkKLSsrKyBncnBjaW8tMS4xNC4xL3NldHVwLnB5Ci1AQCAtMTIzLDcgKzEyMyw3IEBAIEVOQUJMRV9ET0NVTUVOVEFUSU9OX0JVSUxEID0gb3MuZW52aXJvbi4KKy0tLSBhL3NldHVwLnB5CisrKysgYi9zZXR1cC5weQorQEAgLTE0NSw3ICsxNDUsNyBAQCBFTkFCTEVfRE9DVU1FTlRBVElPTl9CVUlMRCA9IG9zLmVudmlyb24uCiAgRVhUUkFfRU5WX0NPTVBJTEVfQVJHUyA9IG9zLmVudmlyb24uZ2V0KCdHUlBDX1BZVEhPTl9DRkxBR1MnLCBOb25lKQogIEVYVFJBX0VOVl9MSU5LX0FSR1MgPSBvcy5lbnZpcm9uLmdldCgnR1JQQ19QWVRIT05fTERGTEFHUycsIE5vbmUpCiAgaWYgRVhUUkFfRU5WX0NPTVBJTEVfQVJHUyBpcyBOb25lOgpAQCAtMzEsNyArMjksNyBAQAogICAgaWYgJ3dpbjMyJyBpbiBzeXMucGxhdGZvcm0gYW5kIHN5cy52ZXJzaW9uX2luZm8gPCAoMywgNSk6CiAgICAgIEVYVFJBX0VOVl9DT01QSUxFX0FSR1MgKz0gJyAtRF9oeXBvdD1oeXBvdCcKICAgICAgIyBXZSB1c2UgZGVmaW5lIGZsYWdzIGhlcmUgYW5kIGRvbid0IGRpcmVjdGx5IGFkZCB0byBERUZJTkVfTUFDUk9TIGJlbG93IHRvCi1AQCAtMTM1LDcgKzEzNSw3IEBAIGlmIEVYVFJBX0VOVl9DT01QSUxFX0FSR1MgaXMgTm9uZToKK0BAIC0xNTcsNyArMTU3LDcgQEAgaWYgRVhUUkFfRU5WX0NPTVBJTEVfQVJHUyBpcyBOb25lOgogICAgICBlbHNlOgogICAgICAgIEVYVFJBX0VOVl9DT01QSUxFX0FSR1MgKz0gJyAtRF9mdGltZT1fZnRpbWU2NCAtRF90aW1lYj1fX3RpbWViNjQnCiAgICBlbGlmICJsaW51eCIgaW4gc3lzLnBsYXRmb3JtOgpAQCAtMzksNCArMzcsNCBAQAogKyAgICBFWFRSQV9FTlZfQ09NUElMRV9BUkdTICs9ICcgLWZ2aXNpYmlsaXR5PWhpZGRlbiAtZm5vLXdyYXB2IC1mbm8tZXhjZXB0aW9ucycKICAgIGVsaWYgImRhcndpbiIgaW4gc3lzLnBsYXRmb3JtOgogICAgICBFWFRSQV9FTlZfQ09NUElMRV9BUkdTICs9ICcgLWZ2aXNpYmlsaXR5PWhpZGRlbiAtZm5vLXdyYXB2IC1mbm8tZXhjZXB0aW9ucycKLSBFWFRSQV9FTlZfQ09NUElMRV9BUkdTICs9ICcgLURQQl9GSUVMRF8xNkJJVCcKKyBFWFRSQV9FTlZfQ09NUElMRV9BUkdTICs9ICcgLURQQl9GSUVMRF8zMkJJVCcKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1ncnBjaW8vcHBjLWJvcmluZ3NzbC1zdXBwb3J0LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdycGNpby9wcGMtYm9yaW5nc3NsLXN1cHBvcnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjQzNWFiYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1ncnBjaW8vcHBjLWJvcmluZ3NzbC1zdXBwb3J0LnBhdGNoCkBAIC0wLDAgKzEsMTcgQEAKK0xldCBib3JpbmdTU0wgY29tcGlsZSBvbiBwcGMzMiBiaXQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCistLS0gYS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvaW5jbHVkZS9vcGVuc3NsL2Jhc2UuaAorKysrIGIvdGhpcmRfcGFydHkvYm9yaW5nc3NsL2luY2x1ZGUvb3BlbnNzbC9iYXNlLmgKK0BAIC05NSw2ICs5NSw5IEBAIGV4dGVybiAiQyIgeworICNlbGlmIChkZWZpbmVkKF9fUFBDNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSkgJiYgZGVmaW5lZChfTElUVExFX0VORElBTikKKyAjZGVmaW5lIE9QRU5TU0xfNjRfQklUCisgI2RlZmluZSBPUEVOU1NMX1BQQzY0TEUKKysjZWxpZiAoZGVmaW5lZChfX1BQQ19fKSB8fCBkZWZpbmVkKF9fcG93ZXJwY19fKSkKKysjZGVmaW5lIE9QRU5TU0xfMzJfQklUCisrI2RlZmluZSBPUEVOU1NMX1BQQworICNlbGlmIGRlZmluZWQoX19taXBzX18pICYmICFkZWZpbmVkKF9fTFA2NF9fKQorICNkZWZpbmUgT1BFTlNTTF8zMl9CSVQKKyAjZGVmaW5lIE9QRU5TU0xfTUlQUwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdycGNpby9yaXNjdjY0X3N1cHBvcnQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JwY2lvL3Jpc2N2NjRfc3VwcG9ydC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZWY3ZDllCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdycGNpby9yaXNjdjY0X3N1cHBvcnQucGF0Y2gKQEAgLTAsMCArMSwxNiBAQAorQWRkIFJJU0MtViA2NGJpdCBzdXBwb3J0CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLSBhL3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9pbmNsdWRlL29wZW5zc2wvYmFzZS5oCisrKysgYi90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvaW5jbHVkZS9vcGVuc3NsL2Jhc2UuaAorQEAgLTEwNCw2ICsxMDQsOSBAQCBleHRlcm4gIkMiIHsKKyAjZWxpZiBkZWZpbmVkKF9fbWlwc19fKSAmJiBkZWZpbmVkKF9fTFA2NF9fKQorICNkZWZpbmUgT1BFTlNTTF82NF9CSVQKKyAjZGVmaW5lIE9QRU5TU0xfTUlQUzY0CisrI2VsaWYgZGVmaW5lZChfX3Jpc2N2KSAmJiBkZWZpbmVkKF9fcmlzY3ZfeGxlbikKKysjZGVmaW5lIE9QRU5TU0xfNjRfQklUCisrI2RlZmluZSBPUEVOU1NMX1JJU0NWNjQKKyAjZWxpZiBkZWZpbmVkKF9fcG5hY2xfXykKKyAjZGVmaW5lIE9QRU5TU0xfMzJfQklUCisgI2RlZmluZSBPUEVOU1NMX1BOQUNMCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JwY2lvXzEuMTQuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1ncnBjaW9fMS4xOS4wLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JwY2lvXzEuMTQuMS5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdycGNpb18xLjE5LjAuYmIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1odG1sNWxpYi5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taHRtbDVsaWIuaW5jCmluZGV4IDBlYjhiZjMuLmE4ZTBmYjQgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1odG1sNWxpYi5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWh0bWw1bGliLmluYwpAQCAtMTMsMyArMTMsNSBAQAogICAgICR7UFlUSE9OX1BOfS13ZWJlbmNvZGluZ3MgXAogICAgICR7UFlUSE9OX1BOfS14bWwgXAogIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taWRuYS5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taWRuYS5pbmMKaW5kZXggNTE5ODEyZC4uMTNiMGNkYiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWlkbmEuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pZG5hLmluYwpAQCAtMyw4ICszLDggQEAKIExJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlICYgUHl0aG9uLTIuMCAmIFVuaWNvZGUiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnJzdDttZDU9NzgyNzc1YjMyZjk2MDk4NTEyZTI4M2ZiNWQ0NTQ2Y2QiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICIwZTViYjY5MDE4ZGRlZjFiOWQ5NWY2ODExODJiZTgyYyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI2ODRhMzhhNmY5MDNjMWQ3MWQ2ZDVmYWMwNjZiNThkNzc2OGFmNGRlMmI4MzJlNDI2ZWM3OWMzMGRhYTk0YTE2IgorU1JDX1VSSVttZDVzdW1dID0gIjJlOWFlMGI0YTBiMjZkMTc0N2M2MTI3Y2RiMDYwYmMxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImMzNTdiM2Y2MjhjZjUzYWUyYzRjMDU2MjdlY2M0ODQ1NTMxNDJjYTIzMjY0ZTU5M2QzMjdiY2RlNWU5YzM0MDciCiAKIFJERVBFTkRTXyR7UE59X2NsYXNzLXRhcmdldCA9ICJcCiAgICAgJHtQWVRIT05fUE59LWNvZGVjcyBcCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taWRuYV8yLjcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taWRuYV8yLjguYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pZG5hXzIuNy5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWlkbmFfMi44LmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taXNvZGF0ZS5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taXNvZGF0ZS5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2NiNmJiOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pc29kYXRlLmluYwpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIklTTyA4NjAxIGRhdGUvdGltZSBwYXJzZXIiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1BLRy1JTkZPO2JlZ2lubGluZT04O2VuZGxpbmU9ODttZDU9ZTkxMGIzNWIwZWY0ZTFmNjY1YjlhNzVkNmFmYjc3MDkiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwZTEyMDNmY2UyN2NlNjVlMmQwMWM1ZjIxYzRkNDI4ZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyZTM2NGEzZDU3NTk0NzljZGIyZDM3Y2NlNmI5Mzc2ZWE1MDRkYjJmZjkwMjUyYTJlNWI3Y2M4OWNjOWZmMmQ4IgorCitpbmhlcml0IHB5cGkKKworUkRFUEVORFNfJHtQTn0gKz0gIiBcCisgICAgJHtQWVRIT05fUE59LXNpeCBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pc29kYXRlXzAuNi4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWlzb2RhdGVfMC42LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDQ4ZTEyMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pc29kYXRlXzAuNi4wLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBzZXR1cHRvb2xzCityZXF1aXJlIHB5dGhvbi1pc29kYXRlLmluYwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWppbmphMi5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tamluamEyLmluYwppbmRleCAwYzBiZjBkLi41MzQyZWI1IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tamluamEyLmluYworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tamluamEyLmluYwpAQCAtMTMsMyArMTMsNSBAQAogICAgICR7UFlUSE9OX1BOfS1qc29uICR7UFlUSE9OX1BOfS10aHJlYWRpbmcgJHtQWVRIT05fUE59LW51bWJlcnMiCiAKIENMRUFOQlJPS0VOID0gIjEiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1rY29uZmlnbGliLTEwLjQyLjAuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWtjb25maWdsaWItMTAuNDIuMC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzJkNmE2NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1rY29uZmlnbGliLTEwLjQyLjAuaW5jCkBAIC0wLDAgKzEsOCBAQAorREVTQ1JJUFRJT04gPSAiS2NvbmZpZ2xpYiBpcyBhIEtjb25maWcgaW1wbGVtZW50YXRpb24gaW4gUHl0aG9uIgorTElDRU5TRSA9ICJJU0MiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9NzEyMTc3YTcyYTM5Mzc5MDk1NDNlZGEzYWQxYmZiN2MiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyMzA2Mjc5YTA1MGM2YTg4OGYzNGE1NzE5MDQ3ZjIxNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwMDcwZWI5MDYxZjkyNGUxZmE3YmMyYjFmMGFlZWExZDM4ZTFkZGY5YmJkYmQ0YjVjMzQ2YmNmMWEwODQ4Njc0IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbHhtbC5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbHhtbC5pbmMKaW5kZXggN2YzNTVhNy4uMTQ4OTdjMCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWx4bWwuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1seG1sLmluYwpAQCAtMTEsMTUgKzExLDE1IEBACiAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kb2MvbGljZW5zZXMvZWxlbWVudHRyZWUudHh0O21kNT1lYjM0ZDAzNmE2ZTNkNTYzMTRlZTQ5YTY4NTJhYzg5MSBcCiAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kb2MvbGljZW5zZXMvQlNELnR4dDttZDU9NzAwYTFmYzE3ZjQ3OTdkNGYyZDM0OTcwYzhlZTY5NGIgXAogICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZG9jL2xpY2Vuc2VzL0dQTC50eHQ7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9seG1sL2lzb3NjaGVtYXRyb24vcmVzb3VyY2VzL3JuZy9pc28tc2NoZW1hdHJvbi5ybmc7YmVnaW5saW5lPTI7ZW5kbGluZT03O21kNT05MzllNzQzMGNlODVlMTI0MmZmNTBjNGVlOTQzMDc1MiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvbHhtbC9pc29zY2hlbWF0cm9uL3Jlc291cmNlcy9ybmcvaXNvLXNjaGVtYXRyb24ucm5nO2JlZ2lubGluZT0yO2VuZGxpbmU9NzttZDU9ZmM4NTY4NGE4ZGQ1ZmEyNzJjMDg2YmNlYjBkOTllMTAgXAogICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2x4bWwvaXNvc2NoZW1hdHJvbi9yZXNvdXJjZXMveHNsL2lzby1zY2hlbWF0cm9uLXhzbHQxL2lzb19zY2hlbWF0cm9uX21lc3NhZ2UueHNsO2JlZ2lubGluZT0yO2VuZGxpbmU9MjQ7bWQ1PWNjODZiN2IyYmJjNjc4ZTEzZjU4ZWE0MDNlYjk5MjliIFwKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9seG1sL2lzb3NjaGVtYXRyb24vcmVzb3VyY2VzL3hzbC9STkcyU2NodHJuLnhzbDtiZWdpbmxpbmU9MjtlbmRsaW5lPTc7bWQ1PTViMDMyMzZkMjkzZGMzNzg0MjA1NTQyYjQwOWQyZjUzIFwKICAgICAgICAgICAgICAgICAgICAgIgogCiBERVBFTkRTICs9ICJsaWJ4bWwyIGxpYnhzbHQiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICIzMTIzOTQwMGNhNGUxMzBiNjk5OTNiYjNjMTQyMDRiMyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlMmFmYmU0MDMwOTBmNTg5M2UyNTQ5NThkMDI4NzVlMDczMjk3NWU3M2M0YzBjZGQzM2MxZjAwOWE2MTk2M2NhIgorU1JDX1VSSVttZDVzdW1dID0gImQyYjJlYjMwNWJmYTllZDE1YWViZTYxYWZmYjNmZmE0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImRhNWU3ZTk0MWQ2ZTcxYzljOWE3MTdjOTM3MjVjZGEwNzA4YzI0NzRmNTMyZTM2ODBhYzVlMzllYzU3ZDIyNGQiCiAKIERJU1RVVElMU19CVUlMRF9BUkdTICs9ICIgXAogICAgICAgICAgICAgICAgICAgICAgLS13aXRoLXhzbHQtY29uZmlnPSdwa2ctY29uZmlnIGxpYnhzbHQnIFwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1seG1sXzQuMi40LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWx4bWxfNC4zLjEuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1seG1sXzQuMi40LmJiCnJlbmFtZSB0byBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbHhtbF80LjMuMS5iYgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1hcmt1cHNhZmUuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1hcmt1cHNhZmUuaW5jCmluZGV4IDkyN2Y4NDQuLjQzN2E2MGMgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tYXJrdXBzYWZlLmluYworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbWFya3Vwc2FmZS5pbmMKQEAgLTEwLDMgKzEwLDUgQEAKIGluaGVyaXQgcHlwaQogCiBSREVQRU5EU18ke1BOfSArPSAiJHtQWVRIT05fUE59LXN0cmluZ29sZCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1zZ3BhY2suaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1zZ3BhY2suaW5jCmluZGV4IGZkYzg5MjYuLjkxNDdjMDYgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tc2dwYWNrLmluYworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbXNncGFjay5pbmMKQEAgLTIsMTIgKzIsMTIgQEAKIExJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWNkOTUyMzE4MWQ5ZDRmYmY3ZmZjYTUyZWFhMmE1NzUxIgogCi1TUkNfVVJJW21kNXN1bV0gPSAiNmQ2NDRjMDZhODdhNWExMTFiYmJmNWIzNGI0YmU0NDAiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzc4Y2M4YTZkMzU0NWI1MzJkZmQxNDlkYTcxNWFiYWU0ZmRhMmEzYWRiNmQ3NGU1MjVkMGQ1ZTUxZjQ2OTA5YiIKLQotUFlQSV9QQUNLQUdFID0gIm1zZ3BhY2stcHl0aG9uIgorUFlQSV9QQUNLQUdFID0gIm1zZ3BhY2siCiBpbmhlcml0IHB5cGkKIAorU1JDX1VSSVttZDVzdW1dID0gImJlMzA0M2NjMmMxZTNiNWViZjA4NDYzZmZhNzFjZjE3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY0YWJjNmJmM2EyYWMzMDE3MDJmNTc2MGY0ZTZlMjI3ZDBmZDRkODRkOTAxNGVmOWE0MGZhYTlkNDMzNjUyNTkiCisKIFJERVBFTkRTXyR7UE59X2NsYXNzLXRhcmdldCArPSAiXAogICAgICR7UFlUSE9OX1BOfS1pbyBcCiAiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbXNncGFja18wLjUuNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tc2dwYWNrXzAuNi4wLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbXNncGFja18wLjUuNi5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1zZ3BhY2tfMC42LjAuYmIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1vYmQuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW9iZC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjJjYWY2NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1vYmQuaW5jCkBAIC0wLDAgKzEsOSBAQAorREVTQ1JJUFRJT04gPSAiQSBweXRob24gbW9kdWxlIGZvciBoYW5kbGluZyByZWFsdGltZSBzZW5zb3IgZGF0YSBmcm9tIE9CRC1JSSB2ZWhpY2xlIHBvcnRzIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2JyZW5kYW4tdy9weXRob24tT0JEIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRS5yc3Q7bWQ1PTI5ODhhNWU5MTNlYjEwNWZhMDgwMTExMzVjNDE1N2Q0IgorCitTUkNfVVJJW21kNXN1bV0gPSAiOTNlMDRmODI1ZTEzYjdlYmM5N2QwNmI2YTY0MDc4MDciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGIxYmFjOTVkZjJmYWFjNTcxZWJmNDQ0Nzc4ZTRkNzM2ZDA1MGQ4ZWQ3MDQ5MDIzYzBmYzkyOWE1MjBlYmE2ZCIKKworaW5oZXJpdCBweXBpCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFoby1tcXR0LmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYWhvLW1xdHQuaW5jCmluZGV4IGY4MzRlNmYuLjY2OTQzZWQgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYWhvLW1xdHQuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYWhvLW1xdHQuaW5jCkBAIC03LDggKzcsOSBAQAogU1JDTkFNRSA9ICJwYWhvLW1xdHQiCiAKIGluaGVyaXQgcHlwaQotU1JDX1VSSVttZDVzdW1dID0gIjJjYzI3ZDhiMzY5NzAwYjFmYzk5MzI1YWRkMGRhZGQyIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjMxOTExZjYwMzFkZTMwNmMyN2VkNzlkYzc3YjY5MGQ3YzU1YjBkY2IwZjA0MzRjYTM0ZWM2MzYxZDAzNzExMjIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlM2FjMjljZDVkYzI0N2EwMTA4M2EyYThmM2ZkZGQwOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlNDQwYTA1MmI0NmQyMjJlMTg0YmUzYmUzODY3NjM3ODcyMjA3MmZjZDRkZmQyYzhmNTA5ZmI4NjFhN2IwYjc5IgogCiBERVBFTkRTICs9ICIke1BZVEhPTl9QTn0tcHl0ZXN0LXJ1bm5lci1uYXRpdmUiCiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYWhvLW1xdHRfMS4zLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFoby1tcXR0XzEuNC4wLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFoby1tcXR0XzEuMy4xLmJiCnJlbmFtZSB0byBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFoby1tcXR0XzEuNC4wLmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFzdGVfMi4wLjMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFzdGVfMi4wLjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZiNDAxOWYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBhc3RlXzIuMC4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotU1VNTUFSWSA9ICJUb29scyBmb3IgdXNpbmcgYSBXZWIgU2VydmVyIEdhdGV3YXkgSW50ZXJmYWNlIHN0YWNrIgotSE9NRVBBR0UgPSAiaHR0cDovL3B5dGhvbnBhc3RlLm9yZy8iCi1MSUNFTlNFID0gIk1JVCIKLVJERVBFTkRTXyR7UE59ID0gInB5dGhvbi1zaXgiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RvY3MvbGljZW5zZS50eHQ7bWQ1PTE3OThmMjlkNTUwODBjNjAzNjVlNjI4M2NiNDk3NzljIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMTIzMWUxNGVhZTYyZmE3ZWQ3NmU5MTMwYjA0YmM2MWUiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjM0NmEzNDc4MjRjMzI2NDFiZjAyMGMxNzk2N2I0OWFlNzRkMzMxMGVjMWJjOWI5NThkNGI4NGUyZDk4NTIxOCIKLQotUFlQSV9QQUNLQUdFID0gIlBhc3RlIgotaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKLQotRklMRVNfJHtQTn0gKz0gIi91c3IvbGliLyoiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFzdGVfMy4wLjYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFzdGVfMy4wLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGQ1YzMyMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYXN0ZV8zLjAuNi5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIlRvb2xzIGZvciB1c2luZyBhIFdlYiBTZXJ2ZXIgR2F0ZXdheSBJbnRlcmZhY2Ugc3RhY2siCitIT01FUEFHRSA9ICJodHRwOi8vcHl0aG9ucGFzdGUub3JnLyIKK0xJQ0VOU0UgPSAiTUlUIgorUkRFUEVORFNfJHtQTn0gPSAicHl0aG9uLXNpeCIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZG9jcy9saWNlbnNlLnR4dDttZDU9MTc5OGYyOWQ1NTA4MGM2MDM2NWU2MjgzY2I0OTc3OWMiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0ZTkzNzYyZjI0ZmM3MjhlY2I0ZGRjZmYyNjkzZGYzOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwNmFhY2Y3YTQwNjg1YmUwYTBkYjhiMjY1MTZlN2Q1NTlkN2ZlNWNjZjdhNDdjNWNkMzRmMTVhYjU1OGE4YjkyIgorCitQWVBJX1BBQ0tBR0UgPSAiUGFzdGUiCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitGSUxFU18ke1BOfSArPSAiL3Vzci9saWIvKiIKKworREVQRU5EUyArPSAiJHtQWVRIT05fUE59LXB5dGVzdC1ydW5uZXItbmF0aXZlIgorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGJyXzQuMi4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBicl80LjIuMC5iYgppbmRleCBhNGI1NmNkLi4zMjQ4NzcyIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGJyXzQuMi4wLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYnJfNC4yLjAuYmIKQEAgLTEsMyArMSw3IEBACiBpbmhlcml0IHNldHVwdG9vbHMKICMgVGhlIGluYyBmaWxlIGlzIGluIG9lLWNvcmUKIHJlcXVpcmUgcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBici5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjY2MTk3ODA4OTZjYTgxYzdjZDE5YzZlMmY0MzliNmM5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFiOGJlNTBkOTM4YzliYjc1ZDBlYWY3ZWRhMTExZWVjMWJmNmRjODhhNjJhNjQxMmUzM2JmMDc3NDU3ZTBmNDUiCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wcm90b2J1Zi5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHJvdG9idWYuaW5jCmluZGV4IGI2MTc5MDQuLjU0ZWFjYzAgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wcm90b2J1Zi5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXByb3RvYnVmLmluYwpAQCAtMjgsNCArMjgsNSBAQAogIgogCiAjIEZvciB1c2FnZSBpbiBvdGhlciByZWNpcGllcyB3aGVuIGNvbXBpbGluZyBwcm90b2J1ZiBmaWxlcyAoZS5nLiBieSBncnBjaW8tdG9vbHMpCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5Y3BhcnNlci5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHljcGFyc2VyLmluYwppbmRleCBkMTEyZDlmLi40N2EwZTBlIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHljcGFyc2VyLmluYworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHljcGFyc2VyLmluYwpAQCAtMyw4ICszLDkgQEAKIExJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ODZmMWNlZGI0ZTY0MTBhODhjZThlMzBiOTEwNzkxNjkiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICI3MjM3MGRhNTQzNTgyMDJhNjAxMzBlMjIzZDQ4ODEzNiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI5OWE4Y2EwM2UyOTg1MWQ5NjYxNmFkMDQwNGI0YWFkN2Q5ZWUxNmYyNWM5Zjk3MDhhMTFmYWYyODEwZjdiMjI2IgorU1JDX1VSSVttZDVzdW1dID0gIjc2Mzk2NzYyYWRjM2ZhNzY5YzgzZDhlMjAyZDM2YjZmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImE5ODg3MThhYmZhZDgwYjZiMTU3YWNjZTdiZjEzMGEzMDg3NmQyNzYwMzczOGFjMzlmMTQwOTkzMjQ2YjI1YjMiCisKIAogQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHljcGFyc2VyXzIuMTguYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHljcGFyc2VyXzIuMTkuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWNwYXJzZXJfMi4xOC5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5Y3BhcnNlcl8yLjE5LmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlmbGFtZS0xLjYuNi8wMDAxLXB0cmFjZS1BYnN0cmFjdC1vdmVyLXVzZXJfcmVnc19zdHJ1Y3QtbmFtZS13aGljaC1kaWYucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlmbGFtZS0xLjYuNi8wMDAxLXB0cmFjZS1BYnN0cmFjdC1vdmVyLXVzZXJfcmVnc19zdHJ1Y3QtbmFtZS13aGljaC1kaWYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA5YzQzOTQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5ZmxhbWUtMS42LjYvMDAwMS1wdHJhY2UtQWJzdHJhY3Qtb3Zlci11c2VyX3JlZ3Nfc3RydWN0LW5hbWUtd2hpY2gtZGlmLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjkgKzAsMCBAQAotRnJvbSAyZWYxMjRlMjM1YTQ3ZGQ0NzQyODEzY2Y4MGUxMWE4OWNmNGYwMmY4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQW5kcmV3IEplZmZlcnkgPGFuZHJld0Bhai5pZC5hdT4KLURhdGU6IFRodSwgMyBNYXkgMjAxOCAxMjozNTozMSArMDkzMAotU3ViamVjdDogW1BBVENIXSBwdHJhY2U6IEFic3RyYWN0IG92ZXIgdXNlcl9yZWdzX3N0cnVjdCBuYW1lLCB3aGljaCBkaWZmZXJzIG9uCi0gQVJNMzIKLQotU2lnbmVkLW9mZi1ieTogQW5kcmV3IEplZmZlcnkgPGFuZHJld0Bhai5pZC5hdT4KLS0tLQotIHNyYy9wdHJhY2UuY2MgfCAgNiArKystLS0KLSBzcmMvcHRyYWNlLmggIHwgMTAgKysrKysrKystLQotIDIgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9wdHJhY2UuY2MgYi9zcmMvcHRyYWNlLmNjCi1pbmRleCA0ODVmNThlNGQ4MmUuLjYxMGZhYmIzYjhlOCAxMDA2NDQKLS0tLSBhL3NyYy9wdHJhY2UuY2MKLSsrKyBiL3NyYy9wdHJhY2UuY2MKLUBAIC0xMjIsOCArMTIyLDggQEAgdm9pZCBQdHJhY2VJbnRlcnJ1cHQocGlkX3QgcGlkKSB7Ci0gICBEb1dhaXQocGlkKTsKLSB9Ci0gCi0tc3RydWN0IHVzZXJfcmVnc19zdHJ1Y3QgUHRyYWNlR2V0UmVncyhwaWRfdCBwaWQpIHsKLS0gIHN0cnVjdCB1c2VyX3JlZ3Nfc3RydWN0IHJlZ3M7Ci0rdXNlcl9yZWdzX3N0cnVjdCBQdHJhY2VHZXRSZWdzKHBpZF90IHBpZCkgewotKyAgdXNlcl9yZWdzX3N0cnVjdCByZWdzOwotICAgaWYgKHB0cmFjZShQVFJBQ0VfR0VUUkVHUywgcGlkLCAwLCAmcmVncykpIHsKLSAgICAgc3RkOjpvc3RyaW5nc3RyZWFtIHNzOwotICAgICBzcyA8PCAiRmFpbGVkIHRvIFBUUkFDRV9HRVRSRUdTOiAiIDw8IHN0cmVycm9yKGVycm5vKTsKLUBAIC0xMzIsNyArMTMyLDcgQEAgc3RydWN0IHVzZXJfcmVnc19zdHJ1Y3QgUHRyYWNlR2V0UmVncyhwaWRfdCBwaWQpIHsKLSAgIHJldHVybiByZWdzOwotIH0KLSAKLS12b2lkIFB0cmFjZVNldFJlZ3MocGlkX3QgcGlkLCBzdHJ1Y3QgdXNlcl9yZWdzX3N0cnVjdCByZWdzKSB7Ci0rdm9pZCBQdHJhY2VTZXRSZWdzKHBpZF90IHBpZCwgdXNlcl9yZWdzX3N0cnVjdCByZWdzKSB7Ci0gICBpZiAocHRyYWNlKFBUUkFDRV9TRVRSRUdTLCBwaWQsIDAsICZyZWdzKSkgewotICAgICBzdGQ6Om9zdHJpbmdzdHJlYW0gc3M7Ci0gICAgIHNzIDw8ICJGYWlsZWQgdG8gUFRSQUNFX1NFVFJFR1M6ICIgPDwgc3RyZXJyb3IoZXJybm8pOwotZGlmZiAtLWdpdCBhL3NyYy9wdHJhY2UuaCBiL3NyYy9wdHJhY2UuaAotaW5kZXggNzA4M2JlMWM0ZGZkLi5kNmFmOGJmOWY4M2EgMTAwNjQ0Ci0tLS0gYS9zcmMvcHRyYWNlLmgKLSsrKyBiL3NyYy9wdHJhY2UuaAotQEAgLTIzLDYgKzIzLDEyIEBACi0gCi0gI2luY2x1ZGUgIi4vY29uZmlnLmgiCi0gCi0rI2lmIGRlZmluZWQoX19hcm1fXykKLSt0eXBlZGVmIHN0cnVjdCB1c2VyX3JlZ3MgdXNlcl9yZWdzX3N0cnVjdDsKLSsjZWxzZQotK3R5cGVkZWYgc3RydWN0IHVzZXJfcmVnc19zdHJ1Y3QgdXNlcl9yZWdzX3N0cnVjdDsKLSsjZW5kaWYKLSsKLSBuYW1lc3BhY2UgcHlmbGFtZSB7Ci0gCi0gaW50IERvV2FpdChwaWRfdCBwaWQsIGludCBvcHRpb25zID0gMCk7Ci1AQCAtMzksMTAgKzQ1LDEwIEBAIHZvaWQgUHRyYWNlU2VpemUocGlkX3QgcGlkKTsKLSB2b2lkIFB0cmFjZUludGVycnVwdChwaWRfdCBwaWQpOwotIAotIC8vIGdldCByZWdzIGZyb20gYSBwcm9jZXNzCi0tc3RydWN0IHVzZXJfcmVnc19zdHJ1Y3QgUHRyYWNlR2V0UmVncyhwaWRfdCBwaWQpOwotK3VzZXJfcmVnc19zdHJ1Y3QgUHRyYWNlR2V0UmVncyhwaWRfdCBwaWQpOwotIAotIC8vIHNldCByZWdzIGluIGEgcHJvY2VzcwotLXZvaWQgUHRyYWNlU2V0UmVncyhwaWRfdCBwaWQsIHN0cnVjdCB1c2VyX3JlZ3Nfc3RydWN0IHJlZ3MpOwotK3ZvaWQgUHRyYWNlU2V0UmVncyhwaWRfdCBwaWQsIHVzZXJfcmVnc19zdHJ1Y3QgcmVncyk7Ci0gCi0gLy8gcG9rZSBhIGxvbmcgd29yZCBpbnRvIGFuIGFkZHJlc3MKLSB2b2lkIFB0cmFjZVBva2UocGlkX3QgcGlkLCB1bnNpZ25lZCBsb25nIGFkZHIsIGxvbmcgZGF0YSk7Ci0tLSAKLTIuMTQuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlmbGFtZS0xLjYuNi8wMDAxLXN5bWJvbC1BY2NvdW50LWZvci1wcmVsaW5rZWQtc2hhcmVkLW9iamVjdHMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlmbGFtZS0xLjYuNi8wMDAxLXN5bWJvbC1BY2NvdW50LWZvci1wcmVsaW5rZWQtc2hhcmVkLW9iamVjdHMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNlZWZjOWMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5ZmxhbWUtMS42LjYvMDAwMS1zeW1ib2wtQWNjb3VudC1mb3ItcHJlbGlua2VkLXNoYXJlZC1vYmplY3RzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTM0ICswLDAgQEAKLUZyb20gMDA3OTY1ZDM0MTM0OTY3OTYwNzY5OWQwMDVjNGFmODExYjJjNDE5YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFuZHJldyBKZWZmZXJ5IDxhbmRyZXdAYWouaWQuYXU+Ci1EYXRlOiBGcmksIDQgTWF5IDIwMTggMTE6MjM6NTMgKzA5MzAKLVN1YmplY3Q6IFtQQVRDSF0gc3ltYm9sOiBBY2NvdW50IGZvciBwcmVsaW5rZWQgc2hhcmVkIG9iamVjdHMKLQotU29tZSBwcm9qZWN0cywgc3VjaCBhcyB0aG9zZSBkZXJpdmVkIGZyb20gWW9jdG8sIHRlbmQgdG8gcHJlbGluayB0aGVpcgotYmluYXJpZXMgYW5kIGxpYnJhcmllcyB0byByZWR1Y2UgcnVudGltZSBvdmVyaGVhZC4gQ3VycmVudGx5IHRoaXMgdHJpcHMKLXVwIHB5ZmxhbWUgaW4gaXRzIHN5bWJvbCBhZGRyZXNzIGNhbGN1bGF0aW9ucywgYW5kIGxlYWRzIHRvIHB0cmFjZQotZmFpbHVyZXMgZHVlIHRvIHNwdXJpb3VzIGFkZHJlc3NlczoKLQotICAgJCBweWZsYW1lIC10IHB5dGhvbiAtYyAicHJpbnQgJ2ZvbyciCi0gICBVbmV4cGVjdGVkIHB0cmFjZSgyKSBleGNlcHRpb246IEZhaWxlZCB0byBQVFJBQ0VfUEVFS0RBVEEgKHBpZCAxNDgyLCBhZGRyIDB4OWY5YjFkNzApOiBJbnB1dC9vdXRwdXQgZXJyb3IKLSAgIFVuZXhwZWN0ZWQgcHRyYWNlKDIpIGV4Y2VwdGlvbjogRmFpbGVkIHRvIFBUUkFDRV9QRUVLREFUQSAocGlkIDE0ODIsIGFkZHIgMHg5ZjliMWQ3MCk6IElucHV0L291dHB1dCBlcnJvcgotICAgVW5leHBlY3RlZCBwdHJhY2UoMikgZXhjZXB0aW9uOiBGYWlsZWQgdG8gUFRSQUNFX1BFRUtEQVRBIChwaWQgMTQ4MiwgYWRkciAweDlmOWIxZDcwKTogSW5wdXQvb3V0cHV0IGVycm9yCi0gICBVbmV4cGVjdGVkIHB0cmFjZSgyKSBleGNlcHRpb246IEZhaWxlZCB0byBQVFJBQ0VfUEVFS0RBVEEgKHBpZCAxNDgyLCBhZGRyIDB4OWY5YjFkNzApOiBJbnB1dC9vdXRwdXQgZXJyb3IKLSAgIFVuZXhwZWN0ZWQgcHRyYWNlKDIpIGV4Y2VwdGlvbjogRmFpbGVkIHRvIFBUUkFDRV9QRUVLREFUQSAocGlkIDE0ODIsIGFkZHIgMHg5ZjliMWQ3MCk6IElucHV0L291dHB1dCBlcnJvcgotICAgLi4uCi0KLUFkZCBzdXBwb3J0IGZvciByZWFkaW5nIGEgcHJlbGlua2VkIGJhc2UgcF92YWRkciBvdXQgb2YgdGhlIEVMRiBhbmQKLWFkanVzdCB0aGUgUHlBZGRyZXNzZXMgdmFsdWVzIGFjY29yZGluZ2x5LgotCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZXcgSmVmZmVyeSA8YW5kcmV3QGFqLmlkLmF1PgotLS0tCi0gc3JjL3N5bWJvbC5jYyB8IDE1ICsrKysrKysrKysrKysrKwotIHNyYy9zeW1ib2wuaCAgfCAyOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrLQotIDIgZmlsZXMgY2hhbmdlZCwgNDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3N5bWJvbC5jYyBiL3NyYy9zeW1ib2wuY2MKLWluZGV4IDEyNTE3NGVmZWViNS4uMzljM2U4MTMyZGQxIDEwMDY0NAotLS0tIGEvc3JjL3N5bWJvbC5jYwotKysrIGIvc3JjL3N5bWJvbC5jYwotQEAgLTE2Niw2ICsxNjYsMTcgQEAgUHlBQkkgRUxGOjpXYWxrVGFibGUoaW50IHN5bSwgaW50IHN0ciwgUHlBZGRyZXNzZXMgKmFkZHJzKSB7Ci0gICByZXR1cm4gYWJpOwotIH0KLSAKLSthZGRyX3QgRUxGOjpHZXRCYXNlQWRkcmVzcygpIHsKLSsgIGludDMyX3QgcGhudW0gPSBoZHIoKS0+ZV9waG51bTsKLSsgIGludDMyX3QgaTsKLSsgIGZvciAoaSA9IDA7IGkgPCBwaG51bSAmJiBwaGRyKGkpLT5wX3R5cGUgIT0gUFRfTE9BRDsgaSsrKSB7Ci0rICB9Ci0rICBpZiAoaSA9PSBwaG51bSkgewotKyAgICB0aHJvdyBGYXRhbEV4Y2VwdGlvbigiRmFpbGVkIHRvIGZpbmQgUFRfTE9BRCBlbnRyeSBpbiBwcm9ncmFtIGhlYWRlcnMiKTsKLSsgIH0KLSsgIHJldHVybiBwaGRyKGkpLT5wX3ZhZGRyOwotK30KLSsKLSBQeUFkZHJlc3NlcyBFTEY6OkdldEFkZHJlc3NlcyhQeUFCSSAqYWJpKSB7Ci0gICBQeUFkZHJlc3NlcyBhZGRyczsKLSAgIFB5QUJJIGRldGVjdGVkX2FiaSA9IFdhbGtUYWJsZShkeW5zeW1fLCBkeW5zdHJfLCAmYWRkcnMpOwotQEAgLTE3Niw2ICsxODcsMTAgQEAgUHlBZGRyZXNzZXMgRUxGOjpHZXRBZGRyZXNzZXMoUHlBQkkgKmFiaSkgewotICAgaWYgKGFiaSAhPSBudWxscHRyKSB7Ci0gICAgICphYmkgPSBkZXRlY3RlZF9hYmk7Ci0gICB9Ci0rICAvLyBIYW5kbGUgcHJlbGlua2VkIHNoYXJlZCBvYmplY3RzCi0rICBpZiAoaGRyKCktPmVfdHlwZSA9PSBFVF9EWU4pIHsKLSsgICAgcmV0dXJuIGFkZHJzIC0gR2V0QmFzZUFkZHJlc3MoKTsKLSsgIH0KLSAgIHJldHVybiBhZGRyczsKLSB9Ci0gfSAgLy8gbmFtZXNwYWNlIHB5ZmxhbWUKLWRpZmYgLS1naXQgYS9zcmMvc3ltYm9sLmggYi9zcmMvc3ltYm9sLmgKLWluZGV4IDEyNDg1M2JjYzFjMS4uYmI5MmI5YTI2MDRiIDEwMDY0NAotLS0tIGEvc3JjL3N5bWJvbC5oCi0rKysgYi9zcmMvc3ltYm9sLmgKLUBAIC0yOCwxNSArMjgsMTkgQEAKLSAKLSAjaWYgVVNFX0VMRjY0Ci0gI2RlZmluZSBlaGRyX3QgRWxmNjRfRWhkcgotKyNkZWZpbmUgcGhkcl90IEVsZjY0X1BoZHIKLSAjZGVmaW5lIHNoZHJfdCBFbGY2NF9TaGRyCi0gI2RlZmluZSBkeW5fdCBFbGY2NF9EeW4KLSAjZGVmaW5lIHN5bV90IEVsZjY0X1N5bQotKyNkZWZpbmUgYWRkcl90IEVsZjY0X0FkZHIKLSAjZGVmaW5lIEFSQ0hfRUxGQ0xBU1MgRUxGQ0xBU1M2NAotICNlbHNlCi0gI2RlZmluZSBlaGRyX3QgRWxmMzJfRWhkcgotKyNkZWZpbmUgcGhkcl90IEVsZjMyX1BoZHIKLSAjZGVmaW5lIHNoZHJfdCBFbGYzMl9TaGRyCi0gI2RlZmluZSBkeW5fdCBFbGYzMl9EeW4KLSAjZGVmaW5lIHN5bV90IEVsZjMyX1N5bQotKyNkZWZpbmUgYWRkcl90IEVsZjMyX0FkZHIKLSAjZGVmaW5lIEFSQ0hfRUxGQ0xBU1MgRUxGQ0xBU1MzMgotICNlbmRpZgotIAotQEAgLTY3LDggKzcxLDE4IEBAIHN0cnVjdCBQeUFkZHJlc3NlcyB7Ci0gICAgICAgICBpbnRlcnBfaGVhZF9oaW50KDApLAotICAgICAgICAgcGllKGZhbHNlKSB7fQotIAotKyAgUHlBZGRyZXNzZXMgb3BlcmF0b3ItKGNvbnN0IHVuc2lnbmVkIGxvbmcgYmFzZSkgY29uc3QgewotKyAgICBQeUFkZHJlc3NlcyByZXMoKnRoaXMpOwotKyAgICByZXMudHN0YXRlX2FkZHIgPSB0aGlzLT50c3RhdGVfYWRkciA9PSAwID8gMCA6IHRoaXMtPnRzdGF0ZV9hZGRyIC0gYmFzZTsKLSsgICAgcmVzLmludGVycF9oZWFkX2FkZHIgPQotKyAgICAgICAgdGhpcy0+aW50ZXJwX2hlYWRfYWRkciA9PSAwID8gMCA6IHRoaXMtPmludGVycF9oZWFkX2FkZHIgLSBiYXNlOwotKyAgICByZXMuaW50ZXJwX2hlYWRfZm5fYWRkciA9Ci0rICAgICAgICB0aGlzLT5pbnRlcnBfaGVhZF9mbl9hZGRyID09IDAgPyAwIDogdGhpcy0+aW50ZXJwX2hlYWRfZm5fYWRkciAtIGJhc2U7Ci0rICAgIHJldHVybiByZXM7Ci0rICB9Ci0rCi0gICBQeUFkZHJlc3NlcyBvcGVyYXRvcisoY29uc3QgdW5zaWduZWQgbG9uZyBiYXNlKSBjb25zdCB7Ci0tICAgIFB5QWRkcmVzc2VzIHJlczsKLSsgICAgUHlBZGRyZXNzZXMgcmVzKCp0aGlzKTsKLSAgICAgcmVzLnRzdGF0ZV9hZGRyID0gdGhpcy0+dHN0YXRlX2FkZHIgPT0gMCA/IDAgOiB0aGlzLT50c3RhdGVfYWRkciArIGJhc2U7Ci0gICAgIHJlcy5pbnRlcnBfaGVhZF9hZGRyID0KLSAgICAgICAgIHRoaXMtPmludGVycF9oZWFkX2FkZHIgPT0gMCA/IDAgOiB0aGlzLT5pbnRlcnBfaGVhZF9hZGRyICsgYmFzZTsKLUBAIC0xMTMsNiArMTI3LDkgQEAgY2xhc3MgRUxGIHsKLSAgIC8vIEFCSS4KLSAgIFB5QWRkcmVzc2VzIEdldEFkZHJlc3NlcyhQeUFCSSAqYWJpKTsKLSAKLSsgIC8vIEV4dHJhY3QgdGhlIGJhc2UgbG9hZCBhZGRyZXNzIGZyb20gdGhlIFByb2dyYW0gSGVhZGVyIHRhYmxlCi0rICBhZGRyX3QgR2V0QmFzZUFkZHJlc3MoKTsKLSsKLSAgcHJpdmF0ZToKLSAgIHZvaWQgKmFkZHJfOwotICAgc2l6ZV90IGxlbmd0aF87Ci1AQCAtMTIyLDYgKzEzOSwxNiBAQCBjbGFzcyBFTEYgewotICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBlaGRyX3QgKj4oYWRkcl8pOwotICAgfQotIAotKyAgaW5saW5lIGNvbnN0IHBoZHJfdCAqcGhkcihpbnQgaWR4KSBjb25zdCB7Ci0rICAgIGlmIChpZHggPCAwKSB7Ci0rICAgICAgc3RkOjpvc3RyaW5nc3RyZWFtIHNzOwotKyAgICAgIHNzIDw8ICJJbGxlZ2FsIHBoZHIgaW5kZXg6ICIgPDwgaWR4OwotKyAgICAgIHRocm93IEZhdGFsRXhjZXB0aW9uKHNzLnN0cigpKTsKLSsgICAgfQotKyAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBwaGRyX3QgKj4ocCgpICsgaGRyKCktPmVfcGhvZmYgKwotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWR4ICogaGRyKCktPmVfcGhlbnRzaXplKTsKLSsgIH0KLSsKLSAgIGlubGluZSBjb25zdCBzaGRyX3QgKnNoZHIoaW50IGlkeCkgY29uc3QgewotICAgICBpZiAoaWR4IDwgMCkgewotICAgICAgIHN0ZDo6b3N0cmluZ3N0cmVhbSBzczsKLS0tIAotMi4xNC4xCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWZsYW1lLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWZsYW1lLmluYwppbmRleCAzNDBhYWI3Li5kOGQ4MzQ5IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlmbGFtZS5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5ZmxhbWUuaW5jCkBAIC01LDcgKzUsNyBAQAogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtTfS9MSUNFTlNFO21kNT0yZWU0MTExMmE0NGZlNzAxNGRjZTMzZTI2NDY4YmE5MyIKIERFUEVORFMgPSAicHl0aG9uIgogCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vdWJlci9weWZsYW1lLmdpdDtwcm90b2NvbD1odHRwcyIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS91YmVyL3B5ZmxhbWUuZ2l0O3Byb3RvY29sPWh0dHBzO25vYnJhbmNoPTEiCiBTID0gIiR7V09SS0RJUn0vZ2l0IgogCiBpbmhlcml0IHBrZ2NvbmZpZyBhdXRvdG9vbHMKQEAgLTEzLDMgKzEzLDYgQEAKIENPTVBBVElCTEVfSE9TVF9saWJjLW11c2xfY2xhc3MtdGFyZ2V0ID0gIm51bGwiCiBDT01QQVRJQkxFX0hPU1RfbWlwc2FyY2hfY2xhc3MtdGFyZ2V0ID0gIm51bGwiCiBDT01QQVRJQkxFX0hPU1RfYWFyY2g2NF9jbGFzcy10YXJnZXQgPSAibnVsbCIKK0NPTVBBVElCTEVfSE9TVF9wb3dlcnBjX2NsYXNzLXRhcmdldCA9ICJudWxsIgorQ09NUEFUSUJMRV9IT1NUX3Jpc2N2NjRfY2xhc3MtdGFyZ2V0ID0gIm51bGwiCitDT01QQVRJQkxFX0hPU1RfcmlzY3YzMl9jbGFzcy10YXJnZXQgPSAibnVsbCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWZsYW1lXzEuNi42LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5ZmxhbWVfMS42LjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhkZWRiODkuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5ZmxhbWVfMS42LjYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLXJlcXVpcmUgcHl0aG9uLXB5ZmxhbWUuaW5jCi0KLSMgdjEuNi42Ci1TUkNSRVYgPSAiOGE5ZDhjMmFjYzNiM2JiMDI3NDc1YjczODEzNGYxZTZmZmYxNGU2YyIKLVNSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLXB0cmFjZS1BYnN0cmFjdC1vdmVyLXVzZXJfcmVnc19zdHJ1Y3QtbmFtZS13aGljaC1kaWYucGF0Y2giCi1TUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1zeW1ib2wtQWNjb3VudC1mb3ItcHJlbGlua2VkLXNoYXJlZC1vYmplY3RzLnBhdGNoIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5ZmxhbWVfMS42LjcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlmbGFtZV8xLjYuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjA4ZjMwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5ZmxhbWVfMS42LjcuYmIKQEAgLTAsMCArMSw0IEBACityZXF1aXJlIHB5dGhvbi1weWZsYW1lLmluYworCisjIHYxLjYuNworU1JDUkVWID0gImMxNTFkMmYzNDczN2YyOGExZjUyNjZhMDAzYjJiMDcyMGJiZDlmOTYiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlpbm90aWZ5LmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWlub3RpZnkuaW5jCmluZGV4IDk3NWYxMWMuLjIxYWJkYjggMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWlub3RpZnkuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWlub3RpZnkuaW5jCkBAIC03LDYgKzcsNyBAQAogICAgICR7UFlUSE9OX1BOfS1pbyBcCiAgICAgJHtQWVRIT05fUE59LW1pc2MgXAogICAgICR7UFlUSE9OX1BOfS1zaGVsbCBcCisgICAgJHtQWVRIT05fUE59LXNtdHBkIFwKICIKIAogU1JDX1VSSVttZDVzdW1dID0gIjhlNTgwZmExZmYzOTcxZjk0YTZmODE2NzJiNzZjNDA2IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJkZmxpYi5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmRmbGliLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZWFjMTk3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJkZmxpYi5pbmMKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJSREZMaWIgaXMgYSBwdXJlIFB5dGhvbiBwYWNrYWdlIGZvciB3b3JraW5nIHdpdGggUkRGIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT02OGMxYTNiYjY4N2JkNjNiOGU1NTUyZjNlYTI0OTg0MCIKKworU1JDX1VSSVttZDVzdW1dID0gIjUzNGZlMzViMTNjNTg1N2Q1M2ZhMWFjNWE0MWVjYTY3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImRhMWRmMTQ1NTI1NTVjNWM3NzE1ZDhjZTcxYzA4ZjQwNGM5ODhjNThhMWVjZDM4NTUyZDBkYTRmYzI2MTI4MGQiCisKK2luaGVyaXQgcHlwaQorCitSREVQRU5EU18ke1BOfSArPSAiIFwKKyAgICAke1BZVEhPTl9QTn0taXNvZGF0ZSBcCisgICAgJHtQWVRIT05fUE59LXB5cGFyc2luZyBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1yZGZsaWJfNC4yLjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmRmbGliXzQuMi4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlZDBmNWYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmRmbGliXzQuMi4yLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBzZXR1cHRvb2xzCityZXF1aXJlIHB5dGhvbi1yZGZsaWIuaW5jCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHMtb2F1dGhsaWIuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJlcXVlc3RzLW9hdXRobGliLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YmM2YTM2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJlcXVlc3RzLW9hdXRobGliLmluYwpAQCAtMCwwICsxLDcgQEAKK0xJQ0VOU0UgPSAiSVNDIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MjJkMTE3YTg0OWRmMTBkMDQ3ZWQ5Yjc5MjgzOGU4NjMiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0MzU4YTg3OWE0Mzc3MzkzYmNmZDM3ZDBmOWFlNmQ0ZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ODNhYzQxNjc1N2VhZGE2ZDNkMDcwNTRlYzcwOTJhYzIxYzdmMzVjYjFkMmNmODJmYWYyMDU2MzcwODFmNDY4IgorCitSREVQRU5EU18ke1BOfSArPSAiJHtQWVRIT05fUE59LXJlcXVlc3RzIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJlcXVlc3RzLW9hdXRobGliXzAuOC4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJlcXVlc3RzLW9hdXRobGliXzAuOC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzMTg5MTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHMtb2F1dGhsaWJfMC44LjAuYmIKQEAgLTAsMCArMSwzIEBACityZXF1aXJlIHB5dGhvbi1yZXF1ZXN0cy1vYXV0aGxpYi5pbmMKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1yZXF1ZXN0cy5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHMuaW5jCmluZGV4IDMwMWMyZjguLjA0MDFlZTQgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1yZXF1ZXN0cy5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJlcXVlc3RzLmluYwpAQCAtMSwxNiArMSwxMiBAQAogREVTQ1JJUFRJT04gPSAiUHl0aG9uIEhUVFAgZm9yIEh1bWFucy4iCiBIT01FUEFHRSA9ICJodHRwOi8vcHl0aG9uLXJlcXVlc3RzLm9yZyIKIExJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWJmYmVhZmI4NWEyY2VlMjYxNTEwZDY1ZDVlYzE5MTU2IgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YThkNWExZDFjMmQ1MzAyNWUyMjgyYzUxMTAzM2Y2ZjciCiAKIEZJTEVTRVhUUkFQQVRIU19wcmVwZW5kIDo9ICIke1RISVNESVJ9L3B5dGhvbi1yZXF1ZXN0czoiCiAKLVNSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLVN0cmlwLUF1dGhvcml6YXRpb24taGVhZGVyLXdoZW5ldmVyLXJvb3QtVVJMLWNoYW5nZXMucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDItUmV3b3JrLWF1dGhvcml6YXRpb24tc3RyaXBwaW5nLWxvZ2ljLWFzLWRpc2N1c3NlZC5wYXRjaCBcCi0gICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI2YzFhMzFhZmVjOWQ2MTRlMmU3MWE5MWVlNmNhMjg3OCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlYzIyZDgyNmEzNmVkNzJhNzM1OGZmM2ZlNTZjYmQ0YmE2OWRkN2E2NzE4ZmZkNDUwZmYwZTlkZjdhNDdjZTZhIgorU1JDX1VSSVttZDVzdW1dID0gIjI5MTg4MTdlYTQ2ODhmNGVhMjFjYjRiMTFlMzUzNDQ4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImVhODgxMjA2ZTU5ZjQxZGJkMGJkNDQ1NDM3ZDc5MmU0MzkwNjcwM2ZmZjc1Y2E4ZmY0M2NjZGIxMWYzM2YyNjMiCiAKIGluaGVyaXQgcHlwaQogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHMvMDAwMS1TdHJpcC1BdXRob3JpemF0aW9uLWhlYWRlci13aGVuZXZlci1yb290LVVSTC1jaGFuZ2VzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJlcXVlc3RzLzAwMDEtU3RyaXAtQXV0aG9yaXphdGlvbi1oZWFkZXItd2hlbmV2ZXItcm9vdC1VUkwtY2hhbmdlcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODBlZjVmZi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHMvMDAwMS1TdHJpcC1BdXRob3JpemF0aW9uLWhlYWRlci13aGVuZXZlci1yb290LVVSTC1jaGFuZ2VzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjIgKzAsMCBAQAotRnJvbSBmYjBkMzkxMTM4ZGY0OGU5M2M0NGEyMDg3ZWE3OTZjY2E1ZTIyOWMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQnJ1Y2UgTWVycnkgPGJtZXJyeUBza2EuYWMuemE+Ci1EYXRlOiBUaHUsIDI4IEp1biAyMDE4IDE2OjM4OjQyICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8yXSBTdHJpcCBBdXRob3JpemF0aW9uIGhlYWRlciB3aGVuZXZlciByb290IFVSTCBjaGFuZ2VzCi0KLVByZXZpb3VzbHkgdGhlIGhlYWRlciB3YXMgc3RyaXBwZWQgb25seSBpZiB0aGUgaG9zdG5hbWUgY2hhbmdlZCwgYnV0IGluCi1hbiBodHRwcyAtPiBodHRwIHJlZGlyZWN0IHRoYXQgY2FuIGxlYWsgdGhlIGNyZWRlbnRpYWxzIG9uIHRoZSB3aXJlCi0oIzQ3MTYpLiBCYXNlZCBvbiB3aXRoIFJGQyA3MjM1IHNlY3Rpb24gMi4yLCB0aGUgaGVhZGVyIGlzIG5vdyBzdHJpcHBlZAotaWYgdGhlICJjYW5vbmljYWwgcm9vdCBVUkwiIChzY2hlbWUrYXV0aG9yaXR5KSBoYXMgY2hhbmdlZCwgYnkgY2hlY2tpbmcKLXNjaGVtZSwgaG9zdG5hbWUgYW5kIHBvcnQuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotRml4IENWRS0yMDE4LTE4MDc0Ci0KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHJlcXVlc3RzL3Nlc3Npb25zLnB5ICAgfCAgNCArKystCi0gdGVzdHMvdGVzdF9yZXF1ZXN0cy5weSB8IDEyICsrKysrKysrKysrLQotIDIgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3JlcXVlc3RzL3Nlc3Npb25zLnB5IGIvcmVxdWVzdHMvc2Vzc2lvbnMucHkKLWluZGV4IGJhMTM1MjYuLjI5NjlkODMgMTAwNjQ0Ci0tLS0gYS9yZXF1ZXN0cy9zZXNzaW9ucy5weQotKysrIGIvcmVxdWVzdHMvc2Vzc2lvbnMucHkKLUBAIC0yNDIsNyArMjQyLDkgQEAgY2xhc3MgU2Vzc2lvblJlZGlyZWN0TWl4aW4ob2JqZWN0KToKLSAgICAgICAgICAgICBvcmlnaW5hbF9wYXJzZWQgPSB1cmxwYXJzZShyZXNwb25zZS5yZXF1ZXN0LnVybCkKLSAgICAgICAgICAgICByZWRpcmVjdF9wYXJzZWQgPSB1cmxwYXJzZSh1cmwpCi0gCi0tICAgICAgICAgICAgaWYgKG9yaWdpbmFsX3BhcnNlZC5ob3N0bmFtZSAhPSByZWRpcmVjdF9wYXJzZWQuaG9zdG5hbWUpOgotKyAgICAgICAgICAgIGlmIChvcmlnaW5hbF9wYXJzZWQuaG9zdG5hbWUgIT0gcmVkaXJlY3RfcGFyc2VkLmhvc3RuYW1lCi0rICAgICAgICAgICAgICAgICAgICBvciBvcmlnaW5hbF9wYXJzZWQucG9ydCAhPSByZWRpcmVjdF9wYXJzZWQucG9ydAotKyAgICAgICAgICAgICAgICAgICAgb3Igb3JpZ2luYWxfcGFyc2VkLnNjaGVtZSAhPSByZWRpcmVjdF9wYXJzZWQuc2NoZW1lKToKLSAgICAgICAgICAgICAgICAgZGVsIGhlYWRlcnNbJ0F1dGhvcml6YXRpb24nXQotIAotICAgICAgICAgIyAubmV0cmMgbWlnaHQgaGF2ZSBtb3JlIGF1dGggZm9yIHVzIG9uIG91ciBuZXcgaG9zdC4KLWRpZmYgLS1naXQgYS90ZXN0cy90ZXN0X3JlcXVlc3RzLnB5IGIvdGVzdHMvdGVzdF9yZXF1ZXN0cy5weQotaW5kZXggZmNkZGIxZC4uZTBlODAxYSAxMDA2NDQKLS0tLSBhL3Rlc3RzL3Rlc3RfcmVxdWVzdHMucHkKLSsrKyBiL3Rlc3RzL3Rlc3RfcmVxdWVzdHMucHkKLUBAIC0xNTc1LDcgKzE1NzUsMTcgQEAgY2xhc3MgVGVzdFJlcXVlc3RzOgotICAgICAgICAgICAgIGF1dGg9KCd1c2VyJywgJ3Bhc3MnKSwKLSAgICAgICAgICkKLSAgICAgICAgIGFzc2VydCByLmhpc3RvcnlbMF0ucmVxdWVzdC5oZWFkZXJzWydBdXRob3JpemF0aW9uJ10KLS0gICAgICAgIGFzc2VydCBub3Qgci5yZXF1ZXN0LmhlYWRlcnMuZ2V0KCdBdXRob3JpemF0aW9uJywgJycpCi0rICAgICAgICBhc3NlcnQgJ0F1dGhvcml6YXRpb24nIG5vdCBpbiByLnJlcXVlc3QuaGVhZGVycwotKwotKyAgICBkZWYgdGVzdF9hdXRoX2lzX3N0cmlwcGVkX29uX3NjaGVtZV9yZWRpcmVjdChzZWxmLCBodHRwYmluLCBodHRwYmluX3NlY3VyZSwgaHR0cGJpbl9jYV9idW5kbGUpOgotKyAgICAgICAgciA9IHJlcXVlc3RzLmdldCgKLSsgICAgICAgICAgICBodHRwYmluX3NlY3VyZSgncmVkaXJlY3QtdG8nKSwKLSsgICAgICAgICAgICBwYXJhbXM9eyd1cmwnOiBodHRwYmluKCdnZXQnKX0sCi0rICAgICAgICAgICAgYXV0aD0oJ3VzZXInLCAncGFzcycpLAotKyAgICAgICAgICAgIHZlcmlmeT1odHRwYmluX2NhX2J1bmRsZQotKyAgICAgICAgKQotKyAgICAgICAgYXNzZXJ0IHIuaGlzdG9yeVswXS5yZXF1ZXN0LmhlYWRlcnNbJ0F1dGhvcml6YXRpb24nXQotKyAgICAgICAgYXNzZXJ0ICdBdXRob3JpemF0aW9uJyBub3QgaW4gci5yZXF1ZXN0LmhlYWRlcnMKLSAKLSAgICAgZGVmIHRlc3RfYXV0aF9pc19yZXRhaW5lZF9mb3JfcmVkaXJlY3Rfb25faG9zdChzZWxmLCBodHRwYmluKToKLSAgICAgICAgIHIgPSByZXF1ZXN0cy5nZXQoaHR0cGJpbigncmVkaXJlY3QvMScpLCBhdXRoPSgndXNlcicsICdwYXNzJykpCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1yZXF1ZXN0cy8wMDAyLVJld29yay1hdXRob3JpemF0aW9uLXN0cmlwcGluZy1sb2dpYy1hcy1kaXNjdXNzZWQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHMvMDAwMi1SZXdvcmstYXV0aG9yaXphdGlvbi1zdHJpcHBpbmctbG9naWMtYXMtZGlzY3Vzc2VkLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZjA2OWZiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1yZXF1ZXN0cy8wMDAyLVJld29yay1hdXRob3JpemF0aW9uLXN0cmlwcGluZy1sb2dpYy1hcy1kaXNjdXNzZWQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMTggKzAsMCBAQAotRnJvbSA2OThjMmZhODUwYmZjOGIzYmRiNzY4ZTFjMWNkNmQ1N2U2NDM4MTFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQnJ1Y2UgTWVycnkgPGJtZXJyeUBza2EuYWMuemE+Ci1EYXRlOiBUdWUsIDE0IEF1ZyAyMDE4IDEzOjMwOjQzICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMi8yXSBSZXdvcmsgYXV0aG9yaXphdGlvbiBzdHJpcHBpbmcgbG9naWMgYXMgZGlzY3Vzc2VkCi0KLVRoZSBleGNlcHRpb24gZm9yIGh0dHAtPmh0dHBzIHVwZ3JhZGUgbm93IHJlcXVpcmVzIHRoZSBzdGFuZGFyZCBIVFRQKFMpCi1wb3J0cyB0byBiZSB1c2VkLCBlaXRoZXIgaW1wbGljaXRseSAobm8gcG9ydCBzcGVjaWZpZWQpIG9yIGV4cGxpY2l0bHkuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotRm9sbG93LXVwIGZpeCBmb3IgQ1ZFLTIwMTgtMTgwNzQKLQotU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotLS0tCi0gcmVxdWVzdHMvc2Vzc2lvbnMucHkgICB8IDI2ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tCi0gdGVzdHMvdGVzdF9yZXF1ZXN0cy5weSB8IDMzICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQotIDIgZmlsZXMgY2hhbmdlZCwgNDAgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9yZXF1ZXN0cy9zZXNzaW9ucy5weSBiL3JlcXVlc3RzL3Nlc3Npb25zLnB5Ci1pbmRleCAyOTY5ZDgzLi5jMTFhM2EyIDEwMDY0NAotLS0tIGEvcmVxdWVzdHMvc2Vzc2lvbnMucHkKLSsrKyBiL3JlcXVlc3RzL3Nlc3Npb25zLnB5Ci1AQCAtMTE1LDYgKzExNSwyMiBAQCBjbGFzcyBTZXNzaW9uUmVkaXJlY3RNaXhpbihvYmplY3QpOgotICAgICAgICAgICAgIHJldHVybiB0b19uYXRpdmVfc3RyaW5nKGxvY2F0aW9uLCAndXRmOCcpCi0gICAgICAgICByZXR1cm4gTm9uZQotIAotKyAgICBkZWYgc2hvdWxkX3N0cmlwX2F1dGgoc2VsZiwgb2xkX3VybCwgbmV3X3VybCk6Ci0rICAgICAgICAiIiJEZWNpZGUgd2hldGhlciBBdXRob3JpemF0aW9uIGhlYWRlciBzaG91bGQgYmUgcmVtb3ZlZCB3aGVuIHJlZGlyZWN0aW5nIiIiCi0rICAgICAgICBvbGRfcGFyc2VkID0gdXJscGFyc2Uob2xkX3VybCkKLSsgICAgICAgIG5ld19wYXJzZWQgPSB1cmxwYXJzZShuZXdfdXJsKQotKyAgICAgICAgaWYgb2xkX3BhcnNlZC5ob3N0bmFtZSAhPSBuZXdfcGFyc2VkLmhvc3RuYW1lOgotKyAgICAgICAgICAgIHJldHVybiBUcnVlCi0rICAgICAgICAjIFNwZWNpYWwgY2FzZTogYWxsb3cgaHR0cCAtPiBodHRwcyByZWRpcmVjdCB3aGVuIHVzaW5nIHRoZSBzdGFuZGFyZAotKyAgICAgICAgIyBwb3J0cy4gVGhpcyBpc24ndCBzcGVjaWZpZWQgYnkgUkZDIDcyMzUsIGJ1dCBpcyBrZXB0IHRvIGF2b2lkCi0rICAgICAgICAjIGJyZWFraW5nIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHdpdGggb2xkZXIgdmVyc2lvbnMgb2YgcmVxdWVzdHMKLSsgICAgICAgICMgdGhhdCBhbGxvd2VkIGFueSByZWRpcmVjdHMgb24gdGhlIHNhbWUgaG9zdC4KLSsgICAgICAgIGlmIChvbGRfcGFyc2VkLnNjaGVtZSA9PSAnaHR0cCcgYW5kIG9sZF9wYXJzZWQucG9ydCBpbiAoODAsIE5vbmUpCi0rICAgICAgICAgICAgICAgIGFuZCBuZXdfcGFyc2VkLnNjaGVtZSA9PSAnaHR0cHMnIGFuZCBuZXdfcGFyc2VkLnBvcnQgaW4gKDQ0MywgTm9uZSkpOgotKyAgICAgICAgICAgIHJldHVybiBGYWxzZQotKyAgICAgICAgIyBTdGFuZGFyZCBjYXNlOiByb290IFVSSSBtdXN0IG1hdGNoCi0rICAgICAgICByZXR1cm4gb2xkX3BhcnNlZC5wb3J0ICE9IG5ld19wYXJzZWQucG9ydCBvciBvbGRfcGFyc2VkLnNjaGVtZSAhPSBuZXdfcGFyc2VkLnNjaGVtZQotKwotICAgICBkZWYgcmVzb2x2ZV9yZWRpcmVjdHMoc2VsZiwgcmVzcCwgcmVxLCBzdHJlYW09RmFsc2UsIHRpbWVvdXQ9Tm9uZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcmlmeT1UcnVlLCBjZXJ0PU5vbmUsIHByb3hpZXM9Tm9uZSwgeWllbGRfcmVxdWVzdHM9RmFsc2UsICoqYWRhcHRlcl9rd2FyZ3MpOgotICAgICAgICAgIiIiUmVjZWl2ZXMgYSBSZXNwb25zZS4gUmV0dXJucyBhIGdlbmVyYXRvciBvZiBSZXNwb25zZXMgb3IgUmVxdWVzdHMuIiIiCi1AQCAtMjM2LDE2ICsyNTIsMTAgQEAgY2xhc3MgU2Vzc2lvblJlZGlyZWN0TWl4aW4ob2JqZWN0KToKLSAgICAgICAgIGhlYWRlcnMgPSBwcmVwYXJlZF9yZXF1ZXN0LmhlYWRlcnMKLSAgICAgICAgIHVybCA9IHByZXBhcmVkX3JlcXVlc3QudXJsCi0gCi0tICAgICAgICBpZiAnQXV0aG9yaXphdGlvbicgaW4gaGVhZGVyczoKLSsgICAgICAgIGlmICdBdXRob3JpemF0aW9uJyBpbiBoZWFkZXJzIGFuZCBzZWxmLnNob3VsZF9zdHJpcF9hdXRoKHJlc3BvbnNlLnJlcXVlc3QudXJsLCB1cmwpOgotICAgICAgICAgICAgICMgSWYgd2UgZ2V0IHJlZGlyZWN0ZWQgdG8gYSBuZXcgaG9zdCwgd2Ugc2hvdWxkIHN0cmlwIG91dCBhbnkKLSAgICAgICAgICAgICAjIGF1dGhlbnRpY2F0aW9uIGhlYWRlcnMuCi0tICAgICAgICAgICAgb3JpZ2luYWxfcGFyc2VkID0gdXJscGFyc2UocmVzcG9uc2UucmVxdWVzdC51cmwpCi0tICAgICAgICAgICAgcmVkaXJlY3RfcGFyc2VkID0gdXJscGFyc2UodXJsKQotLQotLSAgICAgICAgICAgIGlmIChvcmlnaW5hbF9wYXJzZWQuaG9zdG5hbWUgIT0gcmVkaXJlY3RfcGFyc2VkLmhvc3RuYW1lCi0tICAgICAgICAgICAgICAgICAgICBvciBvcmlnaW5hbF9wYXJzZWQucG9ydCAhPSByZWRpcmVjdF9wYXJzZWQucG9ydAotLSAgICAgICAgICAgICAgICAgICAgb3Igb3JpZ2luYWxfcGFyc2VkLnNjaGVtZSAhPSByZWRpcmVjdF9wYXJzZWQuc2NoZW1lKToKLS0gICAgICAgICAgICAgICAgZGVsIGhlYWRlcnNbJ0F1dGhvcml6YXRpb24nXQotKyAgICAgICAgICAgIGRlbCBoZWFkZXJzWydBdXRob3JpemF0aW9uJ10KLSAKLSAgICAgICAgICMgLm5ldHJjIG1pZ2h0IGhhdmUgbW9yZSBhdXRoIGZvciB1cyBvbiBvdXIgbmV3IGhvc3QuCi0gICAgICAgICBuZXdfYXV0aCA9IGdldF9uZXRyY19hdXRoKHVybCkgaWYgc2VsZi50cnVzdF9lbnYgZWxzZSBOb25lCi1kaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdF9yZXF1ZXN0cy5weSBiL3Rlc3RzL3Rlc3RfcmVxdWVzdHMucHkKLWluZGV4IGUwZTgwMWEuLjE0ODA2N2IgMTAwNjQ0Ci0tLS0gYS90ZXN0cy90ZXN0X3JlcXVlc3RzLnB5Ci0rKysgYi90ZXN0cy90ZXN0X3JlcXVlc3RzLnB5Ci1AQCAtMTU2NywxNyArMTU2Nyw3IEBAIGNsYXNzIFRlc3RSZXF1ZXN0czoKLSAgICAgICAgICAgICBwcmVxID0gcmVxLnByZXBhcmUoKQotICAgICAgICAgICAgIGFzc2VydCB0ZXN0X3VybCA9PSBwcmVxLnVybAotIAotLSAgICBAcHl0ZXN0Lm1hcmsueGZhaWwocmFpc2VzPUNvbm5lY3Rpb25FcnJvcikKLS0gICAgZGVmIHRlc3RfYXV0aF9pc19zdHJpcHBlZF9vbl9yZWRpcmVjdF9vZmZfaG9zdChzZWxmLCBodHRwYmluKToKLS0gICAgICAgIHIgPSByZXF1ZXN0cy5nZXQoCi0tICAgICAgICAgICAgaHR0cGJpbigncmVkaXJlY3QtdG8nKSwKLS0gICAgICAgICAgICBwYXJhbXM9eyd1cmwnOiAnaHR0cDovL3d3dy5nb29nbGUuY28udWsnfSwKLS0gICAgICAgICAgICBhdXRoPSgndXNlcicsICdwYXNzJyksCi0tICAgICAgICApCi0tICAgICAgICBhc3NlcnQgci5oaXN0b3J5WzBdLnJlcXVlc3QuaGVhZGVyc1snQXV0aG9yaXphdGlvbiddCi0tICAgICAgICBhc3NlcnQgJ0F1dGhvcml6YXRpb24nIG5vdCBpbiByLnJlcXVlc3QuaGVhZGVycwotLQotLSAgICBkZWYgdGVzdF9hdXRoX2lzX3N0cmlwcGVkX29uX3NjaGVtZV9yZWRpcmVjdChzZWxmLCBodHRwYmluLCBodHRwYmluX3NlY3VyZSwgaHR0cGJpbl9jYV9idW5kbGUpOgotKyAgICBkZWYgdGVzdF9hdXRoX2lzX3N0cmlwcGVkX29uX2h0dHBfZG93bmdyYWRlKHNlbGYsIGh0dHBiaW4sIGh0dHBiaW5fc2VjdXJlLCBodHRwYmluX2NhX2J1bmRsZSk6Ci0gICAgICAgICByID0gcmVxdWVzdHMuZ2V0KAotICAgICAgICAgICAgIGh0dHBiaW5fc2VjdXJlKCdyZWRpcmVjdC10bycpLAotICAgICAgICAgICAgIHBhcmFtcz17J3VybCc6IGh0dHBiaW4oJ2dldCcpfSwKLUBAIC0xNTk0LDYgKzE1ODQsMjcgQEAgY2xhc3MgVGVzdFJlcXVlc3RzOgotIAotICAgICAgICAgYXNzZXJ0IGgxID09IGgyCi0gCi0rICAgIGRlZiB0ZXN0X3Nob3VsZF9zdHJpcF9hdXRoX2hvc3RfY2hhbmdlKHNlbGYpOgotKyAgICAgICAgcyA9IHJlcXVlc3RzLlNlc3Npb24oKQotKyAgICAgICAgYXNzZXJ0IHMuc2hvdWxkX3N0cmlwX2F1dGgoJ2h0dHA6Ly9leGFtcGxlLmNvbS9mb28nLCAnaHR0cDovL2Fub3RoZXIuZXhhbXBsZS5jb20vJykKLSsKLSsgICAgZGVmIHRlc3Rfc2hvdWxkX3N0cmlwX2F1dGhfaHR0cF9kb3duZ3JhZGUoc2VsZik6Ci0rICAgICAgICBzID0gcmVxdWVzdHMuU2Vzc2lvbigpCi0rICAgICAgICBhc3NlcnQgcy5zaG91bGRfc3RyaXBfYXV0aCgnaHR0cHM6Ly9leGFtcGxlLmNvbS9mb28nLCAnaHR0cDovL2V4YW1wbGUuY29tL2JhcicpCi0rCi0rICAgIGRlZiB0ZXN0X3Nob3VsZF9zdHJpcF9hdXRoX2h0dHBzX3VwZ3JhZGUoc2VsZik6Ci0rICAgICAgICBzID0gcmVxdWVzdHMuU2Vzc2lvbigpCi0rICAgICAgICBhc3NlcnQgbm90IHMuc2hvdWxkX3N0cmlwX2F1dGgoJ2h0dHA6Ly9leGFtcGxlLmNvbS9mb28nLCAnaHR0cHM6Ly9leGFtcGxlLmNvbS9iYXInKQotKyAgICAgICAgYXNzZXJ0IG5vdCBzLnNob3VsZF9zdHJpcF9hdXRoKCdodHRwOi8vZXhhbXBsZS5jb206ODAvZm9vJywgJ2h0dHBzOi8vZXhhbXBsZS5jb20vYmFyJykKLSsgICAgICAgIGFzc2VydCBub3Qgcy5zaG91bGRfc3RyaXBfYXV0aCgnaHR0cDovL2V4YW1wbGUuY29tL2ZvbycsICdodHRwczovL2V4YW1wbGUuY29tOjQ0My9iYXInKQotKyAgICAgICAgIyBOb24tc3RhbmRhcmQgcG9ydHMgc2hvdWxkIHRyaWdnZXIgc3RyaXBwaW5nCi0rICAgICAgICBhc3NlcnQgcy5zaG91bGRfc3RyaXBfYXV0aCgnaHR0cDovL2V4YW1wbGUuY29tOjgwODAvZm9vJywgJ2h0dHBzOi8vZXhhbXBsZS5jb20vYmFyJykKLSsgICAgICAgIGFzc2VydCBzLnNob3VsZF9zdHJpcF9hdXRoKCdodHRwOi8vZXhhbXBsZS5jb20vZm9vJywgJ2h0dHBzOi8vZXhhbXBsZS5jb206ODQ0My9iYXInKQotKwotKyAgICBkZWYgdGVzdF9zaG91bGRfc3RyaXBfYXV0aF9wb3J0X2NoYW5nZShzZWxmKToKLSsgICAgICAgIHMgPSByZXF1ZXN0cy5TZXNzaW9uKCkKLSsgICAgICAgIGFzc2VydCBzLnNob3VsZF9zdHJpcF9hdXRoKCdodHRwOi8vZXhhbXBsZS5jb206MTIzNC9mb28nLCAnaHR0cHM6Ly9leGFtcGxlLmNvbTo0MzIxL2JhcicpCi0rCi0gICAgIGRlZiB0ZXN0X21hbnVhbF9yZWRpcmVjdF93aXRoX3BhcnRpYWxfYm9keV9yZWFkKHNlbGYsIGh0dHBiaW4pOgotICAgICAgICAgcyA9IHJlcXVlc3RzLlNlc3Npb24oKQotICAgICAgICAgcjEgPSBzLmdldChodHRwYmluKCdyZWRpcmVjdC8yJyksIGFsbG93X3JlZGlyZWN0cz1GYWxzZSwgc3RyZWFtPVRydWUpCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1yZXF1ZXN0c18yLjE5LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHNfMi4yMC4xLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHNfMi4xOS4xLmJiCnJlbmFtZSB0byBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHNfMi4yMC4xLmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc2xpcC1kYnVzLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zbGlwLWRidXMuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5MzNiNDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc2xpcC1kYnVzLmluYwpAQCAtMCwwICsxLDI5IEBACitTVU1NQVJZID0gIkNvbnZlbmllbmNlIGZ1bmN0aW9ucyBmb3IgZGJ1cyBzZXJ2aWNlcyBpbiBQeXRob24gMi54IgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL25waGlsaXBwL3B5dGhvbi1zbGlwIgorREVTQ1JJUFRJT04gPSAiXAorVGhlIFNpbXBsZSBMaWJyYXJ5IGZvciBQeXRob24gMi54IHBhY2thZ2VzIGNvbnRhaW4gbWlzY2VsbGFuZW91cyBjb2RlIGZvciBcCitjb252ZW5pZW5jZSwgZXh0ZW5zaW9uIGFuZCB3b3JrYXJvdW5kIHB1cnBvc2VzLiBcCitcCitUaGlzIHBhY2thZ2UgcHJvdmlkZXMgc2xpcC5kYnVzLnNlcnZpY2UuT2JqZWN0LCB3aGljaCBpcyBhIGRidXMuc2VydmljZS5PYmplY3QgXAorZGVyaXZhdGl2ZSB0aGF0IGVuZHMgaXRzZWxmIGFmdGVyIGEgY2VydGFpbiB0aW1lIHdpdGhvdXQgYmVpbmcgdXNlZCBhbmQvb3IgaWYgXAordGhlcmUgYXJlIG5vIGNsaWVudHMgYW55bW9yZSBvbiB0aGUgbWVzc2FnZSBidXMsIGFzIHdlbGwgYXMgY29udmVuaWVuY2UgXAorZnVuY3Rpb25zIGFuZCBkZWNvcmF0b3JzIGZvciBpbnRlZ3JhdGluZyBhIGRidXMgc2VydmljZSB3aXRoIFBvbGljeUtpdC4iCisKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01NTc0YzY5NjVhZTVmNTgzZTU1ODgwZTM5N2ZiYjAxOCIKK1NSQ05BTUUgPSAicHl0aG9uLXNsaXAiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL25waGlsaXBwLyR7U1JDTkFNRX0vcmVsZWFzZXMvZG93bmxvYWQvJHtTUkNOQU1FfS0ke1BWfS8ke1NSQ05BTUV9LSR7UFZ9LnRhci5iejIiCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfS0ke1BWfSIKKworU1JDX1VSSVttZDVzdW1dID0gIjI4YWU1ZjkzODUzNDY2YzQ0ZWM5NjcwNmJhMmExZWI0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM3MjZjMDg2ZjBkZDkzYTBhYzdhMDE3NmYzODNhMTJhZjkxYjY2NTdiNzhhMzAxZTNmNWIyNWQ5ZjhkNGQxMGIiCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWUgJ3MvQFZFUlNJT05ALyR7UFZ9L2cnIHNldHVwLnB5LmluID4gc2V0dXAucHkKK30KKworIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMTg0NzEzLworIyBweXRob24tbmF0aXZlL3B5dGhvbjogY2FuJ3Qgb3BlbiBmaWxlICdzZXR1cC5weSc6IFtFcnJubyAyXSBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CitDTEVBTkJST0tFTiA9ICIxIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNsaXAtZGJ1c18wLjYuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zbGlwLWRidXNfMC42LjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjNTg3ZTcuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNsaXAtZGJ1c18wLjYuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLVNVTU1BUlkgPSAiQ29udmVuaWVuY2UgZnVuY3Rpb25zIGZvciBkYnVzIHNlcnZpY2VzIGluIFB5dGhvbiAyLngiCi1IT01FUEFHRSA9ICJodHRwOi8vbnBoaWxpcHAuZmVkb3JhcGVvcGxlLm9yZy9weXRob24tc2xpcC8iCi1ERVNDUklQVElPTiA9ICJcCi1UaGUgU2ltcGxlIExpYnJhcnkgZm9yIFB5dGhvbiAyLnggcGFja2FnZXMgY29udGFpbiBtaXNjZWxsYW5lb3VzIGNvZGUgZm9yIFwKLWNvbnZlbmllbmNlLCBleHRlbnNpb24gYW5kIHdvcmthcm91bmQgcHVycG9zZXMuIFwKLVwKLVRoaXMgcGFja2FnZSBwcm92aWRlcyBzbGlwLmRidXMuc2VydmljZS5PYmplY3QsIHdoaWNoIGlzIGEgZGJ1cy5zZXJ2aWNlLk9iamVjdCBcCi1kZXJpdmF0aXZlIHRoYXQgZW5kcyBpdHNlbGYgYWZ0ZXIgYSBjZXJ0YWluIHRpbWUgd2l0aG91dCBiZWluZyB1c2VkIGFuZC9vciBpZiBcCi10aGVyZSBhcmUgbm8gY2xpZW50cyBhbnltb3JlIG9uIHRoZSBtZXNzYWdlIGJ1cywgYXMgd2VsbCBhcyBjb252ZW5pZW5jZSBcCi1mdW5jdGlvbnMgYW5kIGRlY29yYXRvcnMgZm9yIGludGVncmF0aW5nIGEgZGJ1cyBzZXJ2aWNlIHdpdGggUG9saWN5S2l0LiIKLQotU0VDVElPTiA9ICJkZXZlbC9weXRob24iCi1MSUNFTlNFID0gIkdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU1NzRjNjk2NWFlNWY1ODNlNTU4ODBlMzk3ZmJiMDE4IgotU1JDTkFNRSA9ICJweXRob24tc2xpcCIKLQotU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vbnBoaWxpcHAvJHtTUkNOQU1FfS9yZWxlYXNlcy9kb3dubG9hZC8ke1NSQ05BTUV9LSR7UFZ9LyR7U1JDTkFNRX0tJHtQVn0udGFyLmJ6MiIKLVMgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9LSR7UFZ9IgotCi1pbmhlcml0IHNldHVwdG9vbHMKLQotU1JDX1VSSVttZDVzdW1dID0gImE2ZDhlZTk2MjQ1ZmMyMTc4NWQ0YzFjMDYyYzg1ZjJmIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImJjODk3ZjFhYjZmNWI0OTg5Zjg1NTQ4Nzk5YWFlYjg0ZmRlNjdiYmJhMThlNDAzNDFiZmUxZDc4ODVjMmZkOWEiCi0KLWRvX2NvbXBpbGVfcHJlcGVuZCgpIHsKLSAgICBzZWQgLWUgJ3MvQFZFUlNJT05ALyR7UFZ9L2cnIHNldHVwLnB5LmluID4gc2V0dXAucHkKLX0KLQotIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMTg0NzEzLwotIyBweXRob24tbmF0aXZlL3B5dGhvbjogY2FuJ3Qgb3BlbiBmaWxlICdzZXR1cC5weSc6IFtFcnJubyAyXSBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Ci1DTEVBTkJST0tFTiA9ICIxIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNsaXAtZGJ1c18wLjYuNS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zbGlwLWRidXNfMC42LjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzMwZmExYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zbGlwLWRidXNfMC42LjUuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLXNsaXAtZGJ1cy5pbmMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10cWRtLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10cWRtLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NjdhODBjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXRxZG0uaW5jCkBAIC0wLDAgKzEsMTMgQEAKK1NVTU1BUlkgPSAiRmFzdCwgRXh0ZW5zaWJsZSBQcm9ncmVzcyBNZXRlciIKK0hPTUVQQUdFID0gImh0dHA6Ly90cWRtLmdpdGh1Yi5pby8iCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKKworTElDRU5TRSA9ICJNSVQgJiBNUEwtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5DRTttZDU9MDU0ZWY3MTA1Y2JhMDUwMDE3ZDEzNjgyNjJhMTYyM2MiCisKK2luaGVyaXQgcHlwaQorCitTUkNfVVJJW21kNXN1bV0gPSAiODA3ZThjMTNlMTZlMzY2MGFjODhlMDVkNzExZGFlYjAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTIyOTc3ZTNlYmU5NjFmNzIzNjJmNmRkZmI5MTk3Y2M1MzFjOTczN2FhZjVmNjA3ZWYwOTc0MGM4NDllY2QwNSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXRxZG1fNC4zMS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXRxZG1fNC4zMS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzODEwMDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdHFkbV80LjMxLjEuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLXRxZG0uaW5jCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdHdpc3RlZC5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdHdpc3RlZC5pbmMKaW5kZXggMDE2MTZiMS4uNDU2YWRmNCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXR3aXN0ZWQuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10d2lzdGVkLmluYwpAQCAtMzUsNyArMzUsNiBAQAogIgogCiBQQUNLQUdFUyA9KyAiXAotICAgICR7UE59LXNyYyBcCiAgICAgJHtQTn0tYmluIFwKICIKIApAQCAtMjQyLDkgKzI0MSwxMCBAQAogICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vX3B5ZG9jdG9ydGVtcGxhdGVzLyBcCiAiCiAKLVJERVBFTkRTX3tQTn0tc3JjID0gIiR7UE59IgorUkRFUEVORFNfJHtQTn0tc3JjID0gIiR7UE59IgogRklMRVNfJHtQTn0tc3JjID0gIiBcCiAgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkLyoucHkgXAogICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC8qLyoucHkgXAogICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC8qLyovKi5weSBcCiAiCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10d2l0dGVyLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10d2l0dGVyLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNTY1N2VlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXR3aXR0ZXIuaW5jCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiVHdpdHRlciBmb3IgUHl0aG9uIgorREVTQ1JJUFRJT04gPSAiUHl0aG9uIG1vZHVsZSB0byBzdXBwb3J0IHR3aXR0ZXIgQVBJIgorCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1BLRy1JTkZPO21kNT0wMzA3ZmZmZDhjNGQ5OTQ2YzAyOWRhYTE0MjZkMjZlNyIKKworU1JDX1VSSVttZDVzdW1dID0gImM2ZGMyZjMxNWRlZDc2MWFhZmM5NmJlYTMzNTFjN2Y2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImZlODVhNzlmNThhMDFkZDMzNTk2ODUyM2I5MWM1ZmNlNzYwZTdmZTc4YmYyNWE2ZTcxYzcyMjA0ZmU0OTlkMGIiCisKK1BZUElfUEFDS0FHRSA9ICJ0d2VlcHkiCisKK1JERVBFTkRTXyR7UE59ICs9ICJcCisgICAgICAgICR7UFlUSE9OX1BOfS1waXAgXAorICAgICAgICAke1BZVEhPTl9QTn0tcHlzb2NrcyBcCisgICAgICAgICR7UFlUSE9OX1BOfS1yZXF1ZXN0cyBcCisgICAgICAgICR7UFlUSE9OX1BOfS1zaXggXAorICAgICAgICAiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdHdpdHRlcl8zLjcuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10d2l0dGVyXzMuNy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhMjhiMDgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdHdpdHRlcl8zLjcuMC5iYgpAQCAtMCwwICsxLDMgQEAKK3JlcXVpcmUgcHl0aG9uLXR3aXR0ZXIuaW5jCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdHpsb2NhbC5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdHpsb2NhbC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDJmOTNlNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10emxvY2FsLmluYwpAQCAtMCwwICsxLDggQEAKK1NVTU1BUlkgPSAiTGlicmFyeSB0byByZXR1cm4gdHppbmZvIHdpdGggdGhlIGxvY2FsIHRpbWV6b25lIGluZm9ybWF0aW9uIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9weXBpLm9yZy9wcm9qZWN0L3R6bG9jYWwvIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9NTdlMGJkNjE2NDNkODFkMDU2ODNjZGNlNjViMTFkMTAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0NTUzYmU4OTFlZmEwODEyYzRhZGZiMGM2ZTgxOGVlYyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGViZWI4NDg4NDVhYzg5OGRhNjUxOWI5YjMxODc5Y2YxM2I2NjI2ZjcxODRjNDk2MDM3YjgxOGUyMzhmMmM0ZSIgCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10emxvY2FsXzEuNS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXR6bG9jYWxfMS41LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjc5ODBkZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10emxvY2FsXzEuNS4xLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLXR6bG9jYWwuaW5jCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdmN2ZXJzaW9uZXJfMi4xNi4wLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdmN2ZXJzaW9uZXJfMi4xNi4wLjAuYmIKaW5kZXggY2Q2ZmE4ZC4uZTZjYzRhYyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXZjdmVyc2lvbmVyXzIuMTYuMC4wLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi12Y3ZlcnNpb25lcl8yLjE2LjAuMC5iYgpAQCAtOSwxNCArOSw2IEBACiAKIGluaGVyaXQgcHlwaSBzZXR1cHRvb2xzCiAKLWRvX2NvbXBpbGVfYXBwZW5kKCkgewotICAgICR7UFlUSE9OfSBzZXR1cC5weSAtcSBiZGlzdF9lZ2cgLS1kaXN0LWRpciAuLwotfQotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS92Y3ZlcnNpb25lciouZWdnICR7RH0vJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vCi19Ci0KIFJERVBFTkRTXyR7UE59ICs9ICJcCiAgICAgJHtQWVRIT05fUE59LXN1YnByb2Nlc3MgXAogICAgICIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi13ZWJlbmNvZGluZ3MuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXdlYmVuY29kaW5ncy5pbmMKaW5kZXggMzRjYTcwNi4uYTJiODQxMCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXdlYmVuY29kaW5ncy5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXdlYmVuY29kaW5ncy5pbmMKQEAgLTExLDMgKzExLDUgQEAKICAgICAke1BZVEhPTl9QTn0tY29kZWNzIFwKICAgICAke1BZVEhPTl9QTn0tanNvbiBcCiAiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi14bHJkLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi14bHJkLmluYwppbmRleCBkMWFiMDVkLi44OTNlODJlIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24teGxyZC5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXhscmQuaW5jCkBAIC0xMCwzICsxMCw1IEBACiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGEyMTg4NTUxM2U2ZDkxNWZlMzNhOGVlNWZkZmE2NzU0MzNiNjE0MDViYTEzZTJhNjllNjJlZTM2ODI4ZDdlMiIKIAogUkRFUEVORFNfJHtQTn0gKz0gIiR7UFlUSE9OX1BOfS1jb21wcmVzc2lvbiAke1BZVEhPTl9QTn0taW8gJHtQWVRIT05fUE59LXBwcmludCAke1BZVEhPTl9QTn0tc2hlbGwiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYWJzbF8wLjcuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYWJzbF8wLjcuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjVhNmQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1hYnNsXzAuNy4wLmJiCkBAIC0wLDAgKzEsMTQgQEAKK1NVTU1BUlkgPSAiQWJzZWlsIFB5dGhvbiBDb21tb24gTGlicmFyaWVzIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2Fic2VpbC9hYnNlaWwtcHkiCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTNiODNlZjk2Mzg3ZjE0NjU1ZmM4NTRkZGMzYzZiZDU3IgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vYWJzZWlsL2Fic2VpbC1weS5naXQiCitTUkNSRVYgPz0gImUzY2U1MDQxODNjNTdmYzRlY2E1MmZlODQ3MzJjMTFjZGE5OWQxMzEiCisKK2luaGVyaXQgc2V0dXB0b29sczMKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWFzdG9yXzAuNy4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1hc3Rvcl8wLjcuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMmRjOTI0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1hc3Rvcl8wLjcuMS5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIkVhc3kgbWFuaXB1bGF0aW9uIG9mIFB5dGhvbiBzb3VyY2UgdmlhIHRoZSBBU1QuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2JlcmtlcnBla3NhZy9hc3RvciIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT01NjEyMDVmZGFiYzNlYzUyY2FlMmQzMDgxNWI4YWRlNyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2JlcmtlcnBla3NhZy9hc3Rvci5naXQiCitTUkNSRVYgPz0gIjRjYTNhMjZlNTJmMDg2Nzg4NTRjMjg0MWNkMGZkZjIyMzQ2MWU0N2QiCisKK2luaGVyaXQgc2V0dXB0b29sczMKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJhbmRpdF8xLjQuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmFuZGl0XzEuNC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NGY0NzYxLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmFuZGl0XzEuNC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotU1VNTUFSWSA9ICJTZWN1cml0eSBvcmllbnRlZCBzdGF0aWMgYW5hbHlzZXIgZm9yIHB5dGhvbiBjb2RlLiIKLUxJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTFkZWNlNzgyMWJmM2ZkNzBmZTEzMDllYWEzN2Q1MmEyIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiZjc0MTU1Y2I5OTIxYmU4NTc2OTNiMzJkMjUzMWU4NTciCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiY2I5NzcwNDU0OTdmODNlYzNhMDI2MTY5NzNhYjg0NWM4MjljZGFiODE0NGNlMmU3NTdmZTAzMTEwNGE5YWJkNCIKLQotREVQRU5EUyA9ICJweXRob24zLXB5eWFtbCBweXRob24zLXNpeCBweXRob24zLXN0ZXZlZG9yZSBweXRob24zLXBici1uYXRpdmUiCi0KLWluaGVyaXQgc2V0dXB0b29sczMgcHlwaQotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmFuZGl0XzEuNS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iYW5kaXRfMS41LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzAwMmQ1YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmFuZGl0XzEuNS4xLmJiCkBAIC0wLDAgKzEsMTQgQEAKK1NVTU1BUlkgPSAiU2VjdXJpdHkgb3JpZW50ZWQgc3RhdGljIGFuYWx5c2VyIGZvciBweXRob24gY29kZS4iCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0xZGVjZTc4MjFiZjNmZDcwZmUxMzA5ZWFhMzdkNTJhMiIKKworU1JDX1VSSVttZDVzdW1dID0gIjgxYmEzOTc5ZGVkMWI0MjFmYThkNjllNmZhYTA2ZGNiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk0MTNmYWNmZTlkZTFlMWJkMjkxZDUyNWM3ODRlMWJlYjFhNTVjOTkxNmI1MWRhZTEyOTc5YWY2M2E2OWJhNGMiCisKK0RFUEVORFMgPSAicHl0aG9uMy1wYnItbmF0aXZlIHB5dGhvbjMtZ2l0IHB5dGhvbjMtcGJyIHB5dGhvbjMtcHl5YW1sIHB5dGhvbjMtc2l4IHB5dGhvbjMtc3RldmVkb3JlIgorCitpbmhlcml0IHNldHVwdG9vbHMzIHB5cGkKKworUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbjMtbW9kdWxlcyBweXRob24zLWdpdCBweXRob24zLXBiciBweXRob24zLXB5eWFtbCBweXRob24zLXNpeCBweXRob24zLXN0ZXZlZG9yZSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWNhY2hldG9vbHNfMy4xLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWNhY2hldG9vbHNfMy4xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzZiMmY2NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtY2FjaGV0b29sc18zLjEuMC5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLWNhY2hldG9vbHMuaW5jCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWNsaWNrXzYuNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtY2xpY2tfNy4wLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWNsaWNrXzYuNy5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1jbGlja183LjAuYmIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtY3J5cHRvZ3JhcGh5LXZlY3RvcnNfMi4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1jcnlwdG9ncmFwaHktdmVjdG9yc18yLjQuMS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1jcnlwdG9ncmFwaHktdmVjdG9yc18yLjMuYmIKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtY3J5cHRvZ3JhcGh5LXZlY3RvcnNfMi40LjEuYmIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtY3J5cHRvZ3JhcGh5XzIuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtY3J5cHRvZ3JhcGh5XzIuNC4xLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWNyeXB0b2dyYXBoeV8yLjMuYmIKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtY3J5cHRvZ3JhcGh5XzIuNC4xLmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWdhc3RfMC4yLjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWdhc3RfMC4yLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmUwOGExOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZ2FzdF8wLjIuMi5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIkEgZ2VuZXJpYyBBU1QgdG8gcmVwcmVzZW50IFB5dGhvbjIgYW5kIFB5dGhvbjMncyBBYnN0cmFjdCBTeW50YXggVHJlZShBU1QpLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9zZXJnZS1zYW5zLXBhaWxsZS9nYXN0IgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWEzYWQ5YjY4MDJlNzEzZmM1ZTMwN2UxMjMwZjFlYTkwIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vc2VyZ2Utc2Fucy1wYWlsbGUvZ2FzdC5naXQiCitTUkNSRVYgPz0gImVkODJlMmE1MDc1MDVjNmIxOGViNjY1ZDM3MzhiNmMwNjAyZGE1ZTciCisKK2luaGVyaXQgc2V0dXB0b29sczMKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWdldmVudF8xLjIuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZ2V2ZW50XzEuMi4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZjE3MmU1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZ2V2ZW50XzEuMi4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1yZXF1aXJlIHB5dGhvbi1nZXZlbnQuaW5jCi1pbmhlcml0IHNldHVwdG9vbHMzCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZ2V2ZW50XzEuNC4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1nZXZlbnRfMS40LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGY2ODhlNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZ2V2ZW50XzEuNC4wLmJiCkBAIC0wLDAgKzEsMiBAQAorcmVxdWlyZSBweXRob24tZ2V2ZW50LmluYworaW5oZXJpdCBzZXR1cHRvb2xzMwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1ncmVlbmxldF8wLjQuMTQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWdyZWVubGV0XzAuNC4xNS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1ncmVlbmxldF8wLjQuMTQuYmIKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZ3JlZW5sZXRfMC40LjE1LmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWdycGNpb18xLjE0LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWdycGNpb18xLjE5LjAuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZ3JwY2lvXzEuMTQuMS5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1ncnBjaW9fMS4xOS4wLmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWg1cHkvMDAwMS1jcm9zcy1jb21waWxpbmctc3VwcG9ydC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtaDVweS8wMDAxLWNyb3NzLWNvbXBpbGluZy1zdXBwb3J0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmNTBjODUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWg1cHkvMDAwMS1jcm9zcy1jb21waWxpbmctc3VwcG9ydC5wYXRjaApAQCAtMCwwICsxLDQ2IEBACitGcm9tIDdlM2IxNzQ1YzFmZWYzNDY4M2EwNjEwMzgxZGQzMzA4YWQ0ZDFiYTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDI5IEphbiAyMDE5IDE3OjA4OjMyICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGNyb3NzIGNvbXBpbGluZyBzdXBwb3J0CisKK1JlbW92ZSB1c2VsZXNzIGRpcnMKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorLS0tCisgc2V0dXBfYnVpbGQucHkgICAgIHwgNCAtLS0tCisgc2V0dXBfY29uZmlndXJlLnB5IHwgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zZXR1cF9idWlsZC5weSBiL3NldHVwX2J1aWxkLnB5CitpbmRleCA4NWIzMjFhLi4yYzc4ZTkyIDEwMDY0NAorLS0tIGEvc2V0dXBfYnVpbGQucHkKKysrKyBiL3NldHVwX2J1aWxkLnB5CitAQCAtNTMsMTAgKzUzLDYgQEAgaWYgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ3dpbicpOgorICAgICAgICAgKCdfSERGNVVTRURMTF8nLCBOb25lKSwKKyAgICAgICAgICgnSDVfQlVJTFRfQVNfRFlOQU1JQ19MSUInLCBOb25lKQorICAgICBdKQorLWVsc2U6CistICAgIEZBTExCQUNLX1BBVEhTWydpbmNsdWRlX2RpcnMnXS5leHRlbmQoWycvb3B0L2xvY2FsL2luY2x1ZGUnLCAnL3Vzci9sb2NhbC9pbmNsdWRlJ10pCistICAgIEZBTExCQUNLX1BBVEhTWydsaWJyYXJ5X2RpcnMnXS5leHRlbmQoWycvb3B0L2xvY2FsL2xpYicsICcvdXNyL2xvY2FsL2xpYiddKQorLQorIAorIGNsYXNzIGg1cHlfYnVpbGRfZXh0KGJ1aWxkX2V4dCk6CisgCitkaWZmIC0tZ2l0IGEvc2V0dXBfY29uZmlndXJlLnB5IGIvc2V0dXBfY29uZmlndXJlLnB5CitpbmRleCBhMmRlNzZhLi4xOTdmMmRhIDEwMDY0NAorLS0tIGEvc2V0dXBfY29uZmlndXJlLnB5CisrKysgYi9zZXR1cF9jb25maWd1cmUucHkKK0BAIC0yMDgsNyArMjA4LDcgQEAgZGVmIGF1dG9kZXRlY3RfdmVyc2lvbihoZGY1X2Rpcj1Ob25lKToKKyAgICAgZWxzZToKKyAgICAgICAgIHJlZ2V4cCA9IHJlLmNvbXBpbGUocidebGliaGRmNS5zbycpCisgCistICAgIGxpYmRpcnMgPSBbJy91c3IvbG9jYWwvbGliJywgJy9vcHQvbG9jYWwvbGliJ10KKysgICAgbGliZGlycyA9IFtdCisgICAgIHRyeToKKyAgICAgICAgIGlmIHBrZ2NvbmZpZy5leGlzdHMoImhkZjUiKToKKyAgICAgICAgICAgICBsaWJkaXJzLmV4dGVuZChwa2djb25maWcucGFyc2UoImhkZjUiKVsnbGlicmFyeV9kaXJzJ10pCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtaDVweV8yLjkuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtaDVweV8yLjkuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iY2E3NzU3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1oNXB5XzIuOS4wLmJiCkBAIC0wLDAgKzEsMzAgQEAKK1NVTU1BUlkgPSAiUHJvdmlkZXMgYm90aCBhIGhpZ2gtIGFuZCBsb3ctbGV2ZWwgaW50ZXJmYWNlIHRvIHRoZSBIREY1IGxpYnJhcnkgZnJvbSBQeXRob24uICIKK0hPTUVQQUdFID0gImh0dHBzOi8vd3d3Lmg1cHkub3JnLyIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9zZXR1cC5weTtiZWdpbmxpbmU9MTA3O2VuZGxpbmU9MTA3O21kNT03OTVlY2FkMGQyNjFjOTk4Y2M1MjZjODRhODIyZGZmNiIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2g1cHkvaDVweS5naXQgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1jcm9zcy1jb21waWxpbmctc3VwcG9ydC5wYXRjaCBcCisgICAgICAgICAgIgorU1JDUkVWID89ICI4ZDk2YTE0YzM1MDhkZTFiZGU3N2FlYzVkYjMwMmU0NzhkYzVkYmM0IgorCitpbmhlcml0IHNldHVwdG9vbHMzCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitERVBFTkRTID0gInB5dGhvbjMtcGtnY29uZmlnLW5hdGl2ZSBcCisgICAgICAgICAgIHB5dGhvbjMtY3l0aG9uLW5hdGl2ZSBcCisgICAgICAgICAgIHB5dGhvbjMtbnVtcHktbmF0aXZlIFwKKyAgICAgICAgICAgcHl0aG9uMy1zaXgtbmF0aXZlIFwKKyAgICAgICAgICAgcHl0aG9uMyBcCisgICAgICAgICAgIGhkZjUgXAorICAgICAgICAgICIKKworUkRFUEVORFNfJHtQTn0gPSAicHl0aG9uMy1udW1weSBcCisgICAgICAgICAgICAgICAgICBweXRob24zLXNpeCBcCisgICAgICAgICAgICAgICAgICIKKworZXhwb3J0IEhERjVfVkVSU0lPTj0iMS44LjE5IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1pZG5hXzIuNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtaWRuYV8yLjguYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtaWRuYV8yLjcuYmIKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtaWRuYV8yLjguYmIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtaXNvZGF0ZV8wLjYuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtaXNvZGF0ZV8wLjYuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZTc5YWU5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1pc29kYXRlXzAuNi4wLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBzZXR1cHRvb2xzMworcmVxdWlyZSBweXRob24taXNvZGF0ZS5pbmMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMta2NvbmZpZ2xpYl8xMC40Mi4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1rY29uZmlnbGliXzEwLjQyLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTBiMDM5YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMta2NvbmZpZ2xpYl8xMC40Mi4wLmJiCkBAIC0wLDAgKzEsMiBAQAorcmVxdWlyZSBweXRob24ta2NvbmZpZ2xpYi0ke1BWfS5pbmMKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzMwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1rZXJhcy1hcHBsaWNhdGlvbnNfMS4wLjYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWtlcmFzLWFwcGxpY2F0aW9uc18xLjAuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzhiOTkyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1rZXJhcy1hcHBsaWNhdGlvbnNfMS4wLjYuYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJSZWZlcmVuY2UgaW1wbGVtZW50YXRpb25zIG9mIHBvcHVsYXIgZGVlcCBsZWFybmluZyBtb2RlbHMiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20va2VyYXMtdGVhbS9rZXJhcy1hcHBsaWNhdGlvbnMiCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MzY2ZTJmZDNjOTcxNGYxNjJkMzY2M2I2Zjk3Y2ZlNDEiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9rZXJhcy10ZWFtL2tlcmFzLWFwcGxpY2F0aW9ucy5naXQiCitTUkNSRVYgPz0gIjYxZGUyMTgxNTcyOGFhNjYzNzdlYmIyYTdiNGMyZjU0OTJhMzRkZDIiCisKKworaW5oZXJpdCBzZXR1cHRvb2xzMworCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworUkRFUEVORFNfJHtQTn0gPSAicHl0aG9uMy1udW1weSBcCisgICAgICAgICAgICAgICAgICBweXRob24zLWg1cHkgXAorICAgICAgICAgICAgICAgICAiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWtlcmFzLXByZXByb2Nlc3NpbmdfMS4wLjUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWtlcmFzLXByZXByb2Nlc3NpbmdfMS4wLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNThiOGM2MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMta2VyYXMtcHJlcHJvY2Vzc2luZ18xLjAuNS5iYgpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gIkVhc3kgZGF0YSBwcmVwcm9jZXNzaW5nIGFuZCBkYXRhIGF1Z21lbnRhdGlvbiBmb3IgZGVlcCBsZWFybmluZyBtb2RlbHMiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20va2VyYXMtdGVhbS9rZXJhcy1wcmVwcm9jZXNzaW5nIgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTE3NDRiMzIwNTAwY2MyZTMxMTI5NjRkMDBjY2U3YWE0IgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20va2VyYXMtdGVhbS9rZXJhcy1wcmVwcm9jZXNzaW5nLmdpdCIKK1NSQ1JFViA/PSAiMzYyZmU5ZjhkYWY1NTYxNTEzMjhlYjVkMDJiZDVhZTYzOGM2NTNiOCIKKworaW5oZXJpdCBzZXR1cHRvb2xzMworCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1seG1sXzQuMi40LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1seG1sXzQuMy4xLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWx4bWxfNC4yLjQuYmIKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtbHhtbF80LjMuMS5iYgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1tYXJrZG93bl8zLjAuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtbWFya2Rvd25fMy4wLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjZkMmYxOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtbWFya2Rvd25fMy4wLjEuYmIKQEAgLTAsMCArMSwxMiBAQAorU1VNTUFSWSA9ICJBIFB5dGhvbiBpbXBsZW1lbnRhdGlvbiBvZiBKb2huIEdydWJlcidzIE1hcmtkb3duLiIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS5tZDttZDU9NzQ1YWFhZDBjNjljNjAwMzllNjM4YmZmOWZmYzU5ZWQiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzMworCitQWVBJX1BBQ0tBR0UgPSAiTWFya2Rvd24iCitQWVBJX1NSQ19VUkkgPSAiaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzNjLzUyLzdiYWU5ZTk5YTdhNGJlNmFmNGE3MTNmZTliNjkyNzc3ZTY0NjhkMjg5OTFjNTRjMjczZGZiNmVjOWZiMi9NYXJrZG93bi0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiNzIyMTlmNDZjYTQ0MGI2NTdiZjIyNzUwMDczMWJkZjEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDAyZTBmOWIwNGM1MDBjZGU2NjM3YzExYWQ3YzcyNjcxZjM1OWI4N2I5ZmU5MjRiMjM4MzY0OWQ4ODQxZGI3YyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLW1zZ3BhY2tfMC41LjYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLW1zZ3BhY2tfMC42LjAuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtbXNncGFja18wLjUuNi5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1tc2dwYWNrXzAuNi4wLmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLW9iZF8wLjcuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtb2JkXzAuNy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3OGUzOGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLW9iZF8wLjcuMC5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLW9iZC5pbmMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcGFoby1tcXR0XzEuMy4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1wYWhvLW1xdHRfMS40LjAuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcGFoby1tcXR0XzEuMy4xLmJiCnJlbmFtZSB0byBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXBhaG8tbXF0dF8xLjQuMC5iYgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1waWxsb3cvMDAwMS1leHBsaWNpdGx5LXNldC1jb21waWxlLW9wdGlvbnMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXBpbGxvdy8wMDAxLWV4cGxpY2l0bHktc2V0LWNvbXBpbGUtb3B0aW9ucy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZTg5YmEwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1waWxsb3cvMDAwMS1leHBsaWNpdGx5LXNldC1jb21waWxlLW9wdGlvbnMucGF0Y2gKQEAgLTAsMCArMSwzOSBAQAorRnJvbSA1Mjg3OTQzOWYyOTc2NjYyMTQwYjc2OTUxZjQzZjE2ZTFkNWVmMDhlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAxOCBNYXIgMjAxOSAyMzoyMzo1NSAtMDQwMAorU3ViamVjdDogW1BBVENIXSBleHBsaWNpdGx5IHNldCBjb21waWxlIG9wdGlvbnMKKworT0UgZG9lcyBub3Qgc3VwcG9ydCB0byBpbnN0YWxsIGVnZyBwYWNrYWdlLCBzbworZXhwbGljaXRseSBzZXQgYnVpbGRfZXh0IG9wdGlvbnMgZm9yIG9lLWNvcmUncworYHNldHVwLnB5IGluc3RhbGwnCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2Ugc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIHNldHVwLmNmZyB8IDEyICsrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zZXR1cC5jZmcgYi9zZXR1cC5jZmcKK2luZGV4IDk1OTAwZmYuLjI3ZGEzMTMgMTAwNjQ0CistLS0gYS9zZXR1cC5jZmcKKysrKyBiL3NldHVwLmNmZworQEAgLTksMyArOSwxNSBAQCBhZGRvcHRzID0gLXZ4IFRlc3RzCisgCisgW2ZsYWtlOF0KKyBtYXgtbGluZS1sZW5ndGggPSA4OAorKworK1tidWlsZF9leHRdCisrZGlzYWJsZS1wbGF0Zm9ybS1ndWVzc2luZyA9IDEKKytlbmFibGUtemxpYiA9IDEKKytlbmFibGUtanBlZyA9IDEKKytlbmFibGUtdGlmZiA9IDEKKytlbmFibGUtZnJlZXR5cGUgPSAxCisrZW5hYmxlLWxjbXMgPSAxCisrZW5hYmxlLWpwZWcyMDAwID0gMQorK2Rpc2FibGUtd2VicCA9IDEKKytkaXNhYmxlLXdlYnBtdXggPSAxCisrZGlzYWJsZS1pbWFnZXF1YW50ID0gMQorLS0gCisyLjguMQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXBpbGxvdy8wMDAxLXN1cHBvcnQtY3Jvc3MtY29tcGlsaW5nLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1waWxsb3cvMDAwMS1zdXBwb3J0LWNyb3NzLWNvbXBpbGluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODYyOTM0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1waWxsb3cvMDAwMS1zdXBwb3J0LWNyb3NzLWNvbXBpbGluZy5wYXRjaApAQCAtMCwwICsxLDYxIEBACitGcm9tIGE3ODQxMTQwMmM4MjQ2NjgyODNiZWI5NGRiNGJmN2UyMDZhNGNmNjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBUaHUsIDE0IE1hciAyMDE5IDAzOjQ4OjEwIC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIHN1cHBvcnQgY3Jvc3MgY29tcGlsaW5nCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2Ugc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIHNldHVwLnB5IHwgMTMgKysrLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc2V0dXAucHkgYi9zZXR1cC5weQoraW5kZXggNzlmOTEyYi4uMzdlNTgyNyAxMDA3NTUKKy0tLSBhL3NldHVwLnB5CisrKysgYi9zZXR1cC5weQorQEAgLTUwLDcgKzUwLDcgQEAgX0xJQl9JTUFHSU5HID0gKAorICAgICAiWmlwRW5jb2RlIiwgIlRpZmZEZWNvZGUiLCAiSnBlZzJLRGVjb2RlIiwgIkpwZWcyS0VuY29kZSIsICJCb3hCbHVyIiwKKyAgICAgIlF1YW50UG5nUXVhbnQiLCAiY29kZWNfZmQiKQorIAorLURFQlVHID0gRmFsc2UKKytERUJVRyA9IFRydWUKKyAKKyAKKyBjbGFzcyBEZXBlbmRlbmN5RXhjZXB0aW9uKEV4Y2VwdGlvbik6CitAQCAtMzQ1LDIxICszNDUsMTYgQEAgY2xhc3MgcGlsX2J1aWxkX2V4dChidWlsZF9leHQpOgorICAgICAgICAgICAgICAgICAgICAgX2FkZF9kaXJlY3RvcnkobGlicmFyeV9kaXJzLCBtYXRjaC5ncm91cCgxKSkKKyAKKyAgICAgICAgICMgaW5jbHVkZSwgcnBhdGgsIGlmIHNldCBhcyBlbnZpcm9ubWVudCB2YXJpYWJsZXM6CistICAgICAgICBmb3IgayBpbiAoJ0NfSU5DTFVERV9QQVRIJywgJ0NQQVRIJywgJ0lOQ0xVREUnKToKKysgICAgICAgIGZvciBrIGluICgnQ19JTkNMVURFX1BBVEgnLCAnQ1BBVEgnLCAnSU5DTFVERScsICdTVEFHSU5HX0lOQ0RJUicpOgorICAgICAgICAgICAgIGlmIGsgaW4gb3MuZW52aXJvbjoKKyAgICAgICAgICAgICAgICAgZm9yIGQgaW4gb3MuZW52aXJvbltrXS5zcGxpdChvcy5wYXRoLnBhdGhzZXApOgorICAgICAgICAgICAgICAgICAgICAgX2FkZF9kaXJlY3RvcnkoaW5jbHVkZV9kaXJzLCBkKQorIAorLSAgICAgICAgZm9yIGsgaW4gKCdMRF9SVU5fUEFUSCcsICdMSUJSQVJZX1BBVEgnLCAnTElCJyk6CisrICAgICAgICBmb3IgayBpbiAoJ0xEX1JVTl9QQVRIJywgJ0xJQlJBUllfUEFUSCcsICdMSUInLCAnU1RBR0lOR19MSUJESVInKToKKyAgICAgICAgICAgICBpZiBrIGluIG9zLmVudmlyb246CisgICAgICAgICAgICAgICAgIGZvciBkIGluIG9zLmVudmlyb25ba10uc3BsaXQob3MucGF0aC5wYXRoc2VwKToKKyAgICAgICAgICAgICAgICAgICAgIF9hZGRfZGlyZWN0b3J5KGxpYnJhcnlfZGlycywgZCkKKyAKKy0gICAgICAgIHByZWZpeCA9IHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcigicHJlZml4IikKKy0gICAgICAgIGlmIHByZWZpeDoKKy0gICAgICAgICAgICBfYWRkX2RpcmVjdG9yeShsaWJyYXJ5X2RpcnMsIG9zLnBhdGguam9pbihwcmVmaXgsICJsaWIiKSkKKy0gICAgICAgICAgICBfYWRkX2RpcmVjdG9yeShpbmNsdWRlX2RpcnMsIG9zLnBhdGguam9pbihwcmVmaXgsICJpbmNsdWRlIikpCistCisgICAgICAgICAjCisgICAgICAgICAjIGFkZCBwbGF0Zm9ybSBkaXJlY3RvcmllcworIAorQEAgLTQxMyw4ICs0MDgsNiBAQCBjbGFzcyBwaWxfYnVpbGRfZXh0KGJ1aWxkX2V4dCk6CisgICAgICAgICBlbGlmIHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCJsaW51eCIpIG9yIFwKKyAgICAgICAgICAgICAgICAgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoImdudSIpIG9yIFwKKyAgICAgICAgICAgICAgICAgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoImZyZWVic2QiKToKKy0gICAgICAgICAgICBmb3IgZGlybmFtZSBpbiBfZmluZF9saWJyYXJ5X2RpcnNfbGRjb25maWcoKToKKy0gICAgICAgICAgICAgICAgX2FkZF9kaXJlY3RvcnkobGlicmFyeV9kaXJzLCBkaXJuYW1lKQorICAgICAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCJsaW51eCIpIGFuZCBcCisgICAgICAgICAgICAgICAgICAgICBvcy5lbnZpcm9uLmdldCgnQU5EUk9JRF9ST09UJywgTm9uZSk6CisgICAgICAgICAgICAgICAgICMgdGVybXV4IHN1cHBvcnQgZm9yIGFuZHJvaWQuCistLSAKKzIuOC4xCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcGlsbG93XzUuNC4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1waWxsb3dfNS40LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzQ2YzE4NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcGlsbG93XzUuNC4xLmJiCkBAIC0wLDAgKzEsMjggQEAKK1NVTU1BUlkgPSAiUHl0aG9uIEltYWdpbmcgTGlicmFyeSAoRm9yaykuIFBpbGxvdyBpcyB0aGUgZnJpZW5kbHkgUElMIGZvcmsgYnkgQWxleCBcCitDbGFyayBhbmQgQ29udHJpYnV0b3JzLiBQSUwgaXMgdGhlIFB5dGhvbiBJbWFnaW5nIExpYnJhcnkgYnkgRnJlZHJpayBMdW5kaCBhbmQgXAorQ29udHJpYnV0b3JzLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vcGlsbG93LnJlYWR0aGVkb2NzLmlvIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1jNjM3OTAwMWVjYjQ3ZTJhMDQyMGM0MDE3N2ZjMTEyNSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3B5dGhvbi1waWxsb3cvUGlsbG93LmdpdDticmFuY2g9NS40LnggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1zdXBwb3J0LWNyb3NzLWNvbXBpbGluZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWV4cGxpY2l0bHktc2V0LWNvbXBpbGUtb3B0aW9ucy5wYXRjaCBcCisiCitTUkNSRVYgPz0gImYzOGYwMWJiZTNhMGE5ZjQ5Y2U1OTJjODZmZjIwYzAxYzk2NTUxMzMiCisKKworaW5oZXJpdCBzZXR1cHRvb2xzMworCitERVBFTkRTICs9ICIgXAorICAgIHpsaWIgXAorICAgIGpwZWcgXAorICAgIHRpZmYgXAorICAgIGZyZWV0eXBlIFwKKyAgICBsY21zIFwKKyAgICBvcGVuanBlZyBcCisiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1wa2djb25maWdfMS40LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXBrZ2NvbmZpZ18xLjQuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MmViOGJmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1wa2djb25maWdfMS40LjAuYmIKQEAgLTAsMCArMSwxOCBAQAorU1VNTUFSWSA9ICJQeXRob24gbW9kdWxlIHRvIGludGVyZmFjZSB3aXRoIHRoZSBwa2ctY29uZmlnIGNvbW1hbmQgbGluZSB0b28iCitIT01FUEFHRSA9ICJodHRwOi8vZ2l0aHViLmNvbS9tYXR6ZS9wa2djb25maWciCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZmFhN2Y4MmJlOGYyMjBiZmY2MTU2YmU0NzkwMzQ0ZmMiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9tYXR6ZS9wa2djb25maWcuZ2l0IgorU1JDUkVWID89ICI4YWYwMTAyMzQ2ODQ3ZTg4NzNhZjhlNzZhYjNmMzRiYTlkYTgwNmUyIgorCitSREVQRU5EU18ke1BOfSA9ICJwa2djb25maWcgXAorICAgICAgICAgICAgICAgICAiCisKK2luaGVyaXQgc2V0dXB0b29sczMKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcHJvdG9idWYvMDAwMS1BZGQtUHl0aG9uLTMuNy1jb21wYXRpYmlsaXR5LTQ4NjIucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXByb3RvYnVmLzAwMDEtQWRkLVB5dGhvbi0zLjctY29tcGF0aWJpbGl0eS00ODYyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhNWU3M2IKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXByb3RvYnVmLzAwMDEtQWRkLVB5dGhvbi0zLjctY29tcGF0aWJpbGl0eS00ODYyLnBhdGNoCkBAIC0wLDAgKzEsOTggQEAKK0Zyb20gNTM5YmMwMTdhNjJmOTFiZGY3YzU0N2I1ODk0OGNiNWEyZjU5ZDkxOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEJlbiBXZWJiIDxiZW5Ac2FsaWxhYi5vcmc+CitEYXRlOiBUaHUsIDEyIEp1bCAyMDE4IDEwOjU4OjEwIC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBQeXRob24gMy43IGNvbXBhdGliaWxpdHkgKCM0ODYyKQorCitDb21waWxhdGlvbiBvZiBQeXRob24gd3JhcHBlcnMgZmFpbHMgd2l0aCBQeXRob24gMy43IGJlY2F1c2UKK3RoZSBQeXRob24gZm9sa3MgY2hhbmdlZCB0aGVpciBDIEFQSSBzdWNoIHRoYXQKK1B5VW5pY29kZV9Bc1VURjhBbmRTaXplKCkgbm93IHJldHVybnMgYSBjb25zdCBjaGFyKiByYXRoZXIKK3RoYW4gYSBjaGFyKi4gQWRkIGEgcGF0Y2ggdG8gd29yayBhcm91bmQuIFJlbGF0ZXMgIzQwODYuCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0aHViLmNvbS9wcm90b2NvbGJ1ZmZlcnMvcHJvdG9idWYuZ2l0XQorU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorCistLS0KKyBnb29nbGUvcHJvdG9idWYvcHlleHQvZGVzY3JpcHRvci5jYyAgICAgICAgICAgIHwgMiArLQorIGdvb2dsZS9wcm90b2J1Zi9weWV4dC9kZXNjcmlwdG9yX2NvbnRhaW5lcnMuY2MgfCAyICstCisgZ29vZ2xlL3Byb3RvYnVmL3B5ZXh0L2Rlc2NyaXB0b3JfcG9vbC5jYyAgICAgICB8IDIgKy0KKyBnb29nbGUvcHJvdG9idWYvcHlleHQvZXh0ZW5zaW9uX2RpY3QuY2MgICAgICAgIHwgMiArLQorIGdvb2dsZS9wcm90b2J1Zi9weWV4dC9tZXNzYWdlLmNjICAgICAgICAgICAgICAgfCA0ICsrLS0KKyA1IGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2dvb2dsZS9wcm90b2J1Zi9weWV4dC9kZXNjcmlwdG9yLmNjIGIvZ29vZ2xlL3Byb3RvYnVmL3B5ZXh0L2Rlc2NyaXB0b3IuY2MKK2luZGV4IDhhZjBjYjEuLjE5YTFjMzggMTAwNjQ0CistLS0gYS9nb29nbGUvcHJvdG9idWYvcHlleHQvZGVzY3JpcHRvci5jYworKysrIGIvZ29vZ2xlL3Byb3RvYnVmL3B5ZXh0L2Rlc2NyaXB0b3IuY2MKK0BAIC01Niw3ICs1Niw3IEBACisgICAjZW5kaWYKKyAgICNkZWZpbmUgUHlTdHJpbmdfQXNTdHJpbmdBbmRTaXplKG9iLCBjaGFycHAsIHNpemVwKSBcCisgICAgIChQeVVuaWNvZGVfQ2hlY2sob2IpPyBcCistICAgICAgICgoKihjaGFycHApID0gUHlVbmljb2RlX0FzVVRGOEFuZFNpemUob2IsIChzaXplcCkpKSA9PSBOVUxMPyAtMTogMCk6IFwKKysgICAgICAgKCgqKGNoYXJwcCkgPSBjb25zdF9jYXN0PGNoYXIqPihQeVVuaWNvZGVfQXNVVEY4QW5kU2l6ZShvYiwgKHNpemVwKSkpKSA9PSBOVUxMPyAtMTogMCk6IFwKKyAgICAgICAgUHlCeXRlc19Bc1N0cmluZ0FuZFNpemUob2IsIChjaGFycHApLCAoc2l6ZXApKSkKKyAjZW5kaWYKKyAKK2RpZmYgLS1naXQgYS9nb29nbGUvcHJvdG9idWYvcHlleHQvZGVzY3JpcHRvcl9jb250YWluZXJzLmNjIGIvZ29vZ2xlL3Byb3RvYnVmL3B5ZXh0L2Rlc2NyaXB0b3JfY29udGFpbmVycy5jYworaW5kZXggYmMwMDdmNy4uMDE1MzY2NCAxMDA2NDQKKy0tLSBhL2dvb2dsZS9wcm90b2J1Zi9weWV4dC9kZXNjcmlwdG9yX2NvbnRhaW5lcnMuY2MKKysrKyBiL2dvb2dsZS9wcm90b2J1Zi9weWV4dC9kZXNjcmlwdG9yX2NvbnRhaW5lcnMuY2MKK0BAIC02Niw3ICs2Niw3IEBACisgICAjZW5kaWYKKyAgICNkZWZpbmUgUHlTdHJpbmdfQXNTdHJpbmdBbmRTaXplKG9iLCBjaGFycHAsIHNpemVwKSBcCisgICAgIChQeVVuaWNvZGVfQ2hlY2sob2IpPyBcCistICAgICAgICgoKihjaGFycHApID0gUHlVbmljb2RlX0FzVVRGOEFuZFNpemUob2IsIChzaXplcCkpKSA9PSBOVUxMPyAtMTogMCk6IFwKKysgICAgICAgKCgqKGNoYXJwcCkgPSBjb25zdF9jYXN0PGNoYXIqPihQeVVuaWNvZGVfQXNVVEY4QW5kU2l6ZShvYiwgKHNpemVwKSkpKSA9PSBOVUxMPyAtMTogMCk6IFwKKyAgICAgICAgUHlCeXRlc19Bc1N0cmluZ0FuZFNpemUob2IsIChjaGFycHApLCAoc2l6ZXApKSkKKyAjZW5kaWYKKyAKK2RpZmYgLS1naXQgYS9nb29nbGUvcHJvdG9idWYvcHlleHQvZGVzY3JpcHRvcl9wb29sLmNjIGIvZ29vZ2xlL3Byb3RvYnVmL3B5ZXh0L2Rlc2NyaXB0b3JfcG9vbC5jYworaW5kZXggOTU4ODJhZS4uOTYyYWNjYyAxMDA2NDQKKy0tLSBhL2dvb2dsZS9wcm90b2J1Zi9weWV4dC9kZXNjcmlwdG9yX3Bvb2wuY2MKKysrKyBiL2dvb2dsZS9wcm90b2J1Zi9weWV4dC9kZXNjcmlwdG9yX3Bvb2wuY2MKK0BAIC00OCw3ICs0OCw3IEBACisgICAjZW5kaWYKKyAgICNkZWZpbmUgUHlTdHJpbmdfQXNTdHJpbmdBbmRTaXplKG9iLCBjaGFycHAsIHNpemVwKSBcCisgICAgIChQeVVuaWNvZGVfQ2hlY2sob2IpPyBcCistICAgICAgICgoKihjaGFycHApID0gUHlVbmljb2RlX0FzVVRGOEFuZFNpemUob2IsIChzaXplcCkpKSA9PSBOVUxMPyAtMTogMCk6IFwKKysgICAgICAgKCgqKGNoYXJwcCkgPSBjb25zdF9jYXN0PGNoYXIqPihQeVVuaWNvZGVfQXNVVEY4QW5kU2l6ZShvYiwgKHNpemVwKSkpKSA9PSBOVUxMPyAtMTogMCk6IFwKKyAgICAgICAgUHlCeXRlc19Bc1N0cmluZ0FuZFNpemUob2IsIChjaGFycHApLCAoc2l6ZXApKSkKKyAjZW5kaWYKKyAKK2RpZmYgLS1naXQgYS9nb29nbGUvcHJvdG9idWYvcHlleHQvZXh0ZW5zaW9uX2RpY3QuY2MgYi9nb29nbGUvcHJvdG9idWYvcHlleHQvZXh0ZW5zaW9uX2RpY3QuY2MKK2luZGV4IDAxOGI1YzIuLjE3NGM1NDcgMTAwNjQ0CistLS0gYS9nb29nbGUvcHJvdG9idWYvcHlleHQvZXh0ZW5zaW9uX2RpY3QuY2MKKysrKyBiL2dvb2dsZS9wcm90b2J1Zi9weWV4dC9leHRlbnNpb25fZGljdC5jYworQEAgLTUzLDcgKzUzLDcgQEAKKyAgICNlbmRpZgorICAgI2RlZmluZSBQeVN0cmluZ19Bc1N0cmluZ0FuZFNpemUob2IsIGNoYXJwcCwgc2l6ZXApIFwKKyAgICAgKFB5VW5pY29kZV9DaGVjayhvYik/IFwKKy0gICAgICAgKCgqKGNoYXJwcCkgPSBQeVVuaWNvZGVfQXNVVEY4QW5kU2l6ZShvYiwgKHNpemVwKSkpID09IE5VTEw/IC0xOiAwKTogXAorKyAgICAgICAoKCooY2hhcnBwKSA9IGNvbnN0X2Nhc3Q8Y2hhcio+KFB5VW5pY29kZV9Bc1VURjhBbmRTaXplKG9iLCAoc2l6ZXApKSkpID09IE5VTEw/IC0xOiAwKTogXAorICAgICAgICBQeUJ5dGVzX0FzU3RyaW5nQW5kU2l6ZShvYiwgKGNoYXJwcCksIChzaXplcCkpKQorICNlbmRpZgorIAorZGlmZiAtLWdpdCBhL2dvb2dsZS9wcm90b2J1Zi9weWV4dC9tZXNzYWdlLmNjIGIvZ29vZ2xlL3Byb3RvYnVmL3B5ZXh0L21lc3NhZ2UuY2MKK2luZGV4IDU4OTM1MzMuLjMxMDk0YjcgMTAwNjQ0CistLS0gYS9nb29nbGUvcHJvdG9idWYvcHlleHQvbWVzc2FnZS5jYworKysrIGIvZ29vZ2xlL3Byb3RvYnVmL3B5ZXh0L21lc3NhZ2UuY2MKK0BAIC03OSw3ICs3OSw3IEBACisgICAgIChQeVVuaWNvZGVfQ2hlY2sob2IpPyBQeVVuaWNvZGVfQXNVVEY4KG9iKTogUHlCeXRlc19Bc1N0cmluZyhvYikpCisgICAjZGVmaW5lIFB5U3RyaW5nX0FzU3RyaW5nQW5kU2l6ZShvYiwgY2hhcnBwLCBzaXplcCkgXAorICAgICAoUHlVbmljb2RlX0NoZWNrKG9iKT8gXAorLSAgICAgICAoKCooY2hhcnBwKSA9IFB5VW5pY29kZV9Bc1VURjhBbmRTaXplKG9iLCAoc2l6ZXApKSkgPT0gTlVMTD8gLTE6IDApOiBcCisrICAgICAgICgoKihjaGFycHApID0gY29uc3RfY2FzdDxjaGFyKj4oUHlVbmljb2RlX0FzVVRGOEFuZFNpemUob2IsIChzaXplcCkpKSkgPT0gTlVMTD8gLTE6IDApOiBcCisgICAgICAgIFB5Qnl0ZXNfQXNTdHJpbmdBbmRTaXplKG9iLCAoY2hhcnBwKSwgKHNpemVwKSkpCisgICAjZW5kaWYKKyAjZW5kaWYKK0BAIC0xNTI5LDcgKzE1MjksNyBAQCBQeU9iamVjdCogSGFzRmllbGQoQ01lc3NhZ2UqIHNlbGYsIFB5T2JqZWN0KiBhcmcpIHsKKyAgICAgcmV0dXJuIE5VTEw7CisgICB9CisgI2Vsc2UKKy0gIGZpZWxkX25hbWUgPSBQeVVuaWNvZGVfQXNVVEY4QW5kU2l6ZShhcmcsICZzaXplKTsKKysgIGZpZWxkX25hbWUgPSBjb25zdF9jYXN0PGNoYXIqPihQeVVuaWNvZGVfQXNVVEY4QW5kU2l6ZShhcmcsICZzaXplKSk7CisgICBpZiAoIWZpZWxkX25hbWUpIHsKKyAgICAgcmV0dXJuIE5VTEw7CisgICB9CistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcHJvdG9idWZfMy42LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXByb3RvYnVmXzMuNi4xLmJiCmluZGV4IDc4MWQxZGMuLjliMDY2OGEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcHJvdG9idWZfMy42LjEuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1wcm90b2J1Zl8zLjYuMS5iYgpAQCAtMSwyICsxLDExIEBACiBpbmhlcml0IHNldHVwdG9vbHMzCiByZXF1aXJlIHB5dGhvbi1wcm90b2J1Zi5pbmMKKworU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtQWRkLVB5dGhvbi0zLjctY29tcGF0aWJpbGl0eS00ODYyLnBhdGNoIgorREVQRU5EUyArPSAicHJvdG9idWYiCitESVNUVVRJTFNfQlVJTERfQVJHUyArPSAiLS1jcHBfaW1wbGVtZW50YXRpb24iCitESVNUVVRJTFNfSU5TVEFMTF9BUkdTICs9ICItLWNwcF9pbXBsZW1lbnRhdGlvbiIKKworZG9fY29tcGlsZV9wcmVwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7CisgICAgZXhwb3J0IEtPS09ST19CVUlMRF9OVU1CRVI9IjEiCit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXB5Y3BhcnNlcl8yLjE4LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1weWNwYXJzZXJfMi4xOS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1weWNwYXJzZXJfMi4xOC5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1weWNwYXJzZXJfMi4xOS5iYgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1weWx5cmljc18xLjEuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcHlseXJpY3NfMS4xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjA3NzUxYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcHlseXJpY3NfMS4xLjAuYmIKQEAgLTAsMCArMSwxMiBAQAorU1VNTUFSWSA9ICJQeXRob25pYyBJbXBsZW1lbnRhdGlvbiBvZiBseXJpY3Mud2lraWEuY29tIgorCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3NldHVwLnB5O2JlZ2lubGluZT0xNDtlbmRsaW5lPTE0O21kNT05NWQ0ODBjZDZmODQ3MWFiYWVhZTIxYmQwZWQyNzdiYSIKKworU1JDX1VSSVttZDVzdW1dID0gIjFmM2M5OTdlZGViYTE0OWE4ZmIyYjg2MWNiYWQ4OWMzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM1ZjM2ZThlZjBlZDNiNDg3YTkyNDJjZTM0YzE5Zjk2ODRlNDE4YTViYmZmZDVkMzY3ZGMxZDE2MDRiNGNkMGIiCisKK1BZUElfUEFDS0FHRSA9ICJQeUx5cmljcyIKK1BZUElfUEFDS0FHRV9FWFQgPSAiemlwIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXJkZmxpYl80LjIuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcmRmbGliXzQuMi4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1MTFkZjMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXJkZmxpYl80LjIuMi5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLXJkZmxpYi5pbmMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcmVxdWVzdHMtb2F1dGhsaWJfMC44LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXJlcXVlc3RzLW9hdXRobGliXzAuOC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyOTQ2NjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXJlcXVlc3RzLW9hdXRobGliXzAuOC4wLmJiCkBAIC0wLDAgKzEsMyBAQAorcmVxdWlyZSBweXRob24tcmVxdWVzdHMtb2F1dGhsaWIuaW5jCitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1yZXF1ZXN0c18yLjE5LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXJlcXVlc3RzXzIuMjAuMS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1yZXF1ZXN0c18yLjE5LjEuYmIKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcmVxdWVzdHNfMi4yMC4xLmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNsaXAtZGJ1c18wLjYuNS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtc2xpcC1kYnVzXzAuNi41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0MDJhN2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNsaXAtZGJ1c18wLjYuNS5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLXNsaXAtZGJ1cy5pbmMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtc3lzdGVtZF8yMzQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXN5c3RlbWRfMjM0LmJiCmluZGV4IDU4MGQ5OTMuLjc4ZWM0MzEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtc3lzdGVtZF8yMzQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1zeXN0ZW1kXzIzNC5iYgpAQCAtMSwyICsxLDMgQEAKIHJlcXVpcmUgcHl0aG9uLXN5c3RlbWQuaW5jCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uMy1zeXNsb2ciCiBpbmhlcml0IHNldHVwdG9vbHMzCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXRlcm1jb2xvcl8xLjEuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtdGVybWNvbG9yXzEuMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3ZGY3ZjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXRlcm1jb2xvcl8xLjEuMC5iYgpAQCAtMCwwICsxLDEyIEBACitTVU1NQVJZID0gIkFOU0lJIENvbG9yIGZvcm1hdHRpbmcgZm9yIG91dHB1dCBpbiB0ZXJtaW5hbCIKK0hPTUVQQUdFID0gImh0dHBzOi8vcHlwaS5weXRob24ub3JnL3B5cGkvdGVybWNvbG9yIgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcudHh0O21kNT04MDllODc0OWI2MzU2Nzk3OGFjZmJkODFkOWY2YTI3ZCIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMzCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwNDNlODk2NDRmODkwOWQ0NjJmYmJmYTUxMWM3NjhkZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxZDZkNjljZTY2MjExMTQzODAzZmJjNTY2NTJiNDFkNzNiNGE0MDBhMjg5MWQ3YmY3YTFjZGY0YzAyZGU2MTNiIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtdHFkbV80LjMxLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXRxZG1fNC4zMS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0ODMzN2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXRxZG1fNC4zMS4xLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBzZXR1cHRvb2xzMworcmVxdWlyZSBweXRob24tdHFkbS5pbmMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtdHdpc3RlZF8xOC40LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXR3aXN0ZWRfMTguNC4wLmJiCmluZGV4IDZiZDhjNTIuLmRmYjlkNGEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtdHdpc3RlZF8xOC40LjAuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy10d2lzdGVkXzE4LjQuMC5iYgpAQCAtMSw4ICsxLDYgQEAKIGluaGVyaXQgcHlwaSBzZXR1cHRvb2xzMwogcmVxdWlyZSBweXRob24tdHdpc3RlZC5pbmMKIAotUEFDS0FHRVNfcmVtb3ZlID0gIiR7UE59LXNyYyIKLQogRklMRVNfJHtQTn0tY29yZV9hcHBlbmQgKz0gIiBcCiAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9fX3B5Y2FjaGVfXyBcCiAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vX19weWNhY2hlX18vKnB5YyBcCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXR3aXR0ZXJfMy43LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXR3aXR0ZXJfMy43LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzJlNGQyZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtdHdpdHRlcl8zLjcuMC5iYgpAQCAtMCwwICsxLDMgQEAKK3JlcXVpcmUgcHl0aG9uLXR3aXR0ZXIuaW5jCitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy10emxvY2FsXzEuNS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy10emxvY2FsXzEuNS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxMzkzNGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXR6bG9jYWxfMS41LjEuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLXR6bG9jYWwuaW5jCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXZjdmVyc2lvbmVyXzIuMTYuMC4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy12Y3ZlcnNpb25lcl8yLjE2LjAuMC5iYgppbmRleCBmNjM3MmM4Li4xNDkwNzhjIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXZjdmVyc2lvbmVyXzIuMTYuMC4wLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtdmN2ZXJzaW9uZXJfMi4xNi4wLjAuYmIKQEAgLTksMTIgKzksNCBAQAogCiBpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKIAotZG9fY29tcGlsZV9hcHBlbmQoKSB7Ci0gICAgJHtQWVRIT059IHNldHVwLnB5IC1xIGJkaXN0X2VnZyAtLWRpc3QtZGlyIC4vCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3ZjdmVyc2lvbmVyKi5lZ2cgJHtEfS8ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8KLX0KLQogQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXdoZWVsXzAuMzIuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtd2hlZWxfMC4zMi4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4YzA4YTcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXdoZWVsXzAuMzIuMy5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIlRoZSBvZmZpY2lhbCBiaW5hcnkgZGlzdHJpYnV0aW9uIGZvcm1hdCBmb3IgUHl0aG9uICIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9weXBhL3doZWVsIgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT05ZDY2YjQxYmMyYTA4MGU3MTc0YWNjNWRmZmVjZDc1MiIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3B5cGEvd2hlZWwuZ2l0IgorU1JDUkVWID89ICIxMTU4NGI3OGE1NmI0ZWVkYmE0ZWVkYzU1YzlkYWM4YWEyZGQ3MDcwIgorCisKK2luaGVyaXQgc2V0dXB0b29sczMKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDAxLWNvbW1lbnQtb3V0LXNlbGludXgucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAwMS1jb21tZW50LW91dC1zZWxpbnV4LnBhdGNoCmluZGV4IGM3N2I4NmEuLjkwZmEzODcgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDAxLWNvbW1lbnQtb3V0LXNlbGludXgucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMDEtY29tbWVudC1vdXQtc2VsaW51eC5wYXRjaApAQCAtMSw2ICsxLDYgQEAKLUZyb20gNjQ4YTE4YmZjNDQ3ZjA3NmQ0OGFlNDE0N2Q5ODRiOGVmNTZlMzdhYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZmM4ZTkzNTMwYmEwMTdlY2ZlMTExZTUzZDNjYmRjM2E1YjNhYzI4NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLURhdGU6IE1vbiwgMzAgSnVsIDIwMTggMTY6MTM6NDAgKzA4MDAKK0RhdGU6IEZyaSwgMjMgTm92IDIwMTggMTY6NTg6MzggKzA4MDAKIFN1YmplY3Q6IFtQQVRDSCAwMS8xMV0gY29tbWVudCBvdXQgc2VsaW51eAogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW29lIHNwZWNpZmljXQpAQCAtMTIsNyArMTIsNyBAQAogIDIgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvYmxpdmV0L2ZsYWdzLnB5IGIvYmxpdmV0L2ZsYWdzLnB5Ci1pbmRleCAxODQwMTIxLi44Nzg5MzkwIDEwMDY0NAoraW5kZXggNGUyNmQ4Mi4uOTQzMjRmZiAxMDA2NDQKIC0tLSBhL2JsaXZldC9mbGFncy5weQogKysrIGIvYmxpdmV0L2ZsYWdzLnB5CiBAQCAtMjAsNyArMjAsNyBAQApAQCAtMzUsNyArMzUsNyBAQAogICAgICAgICAgc2VsZi5kbXJhaWQgPSBUcnVlCiAgICAgICAgICBzZWxmLmliZnQgPSBUcnVlCiBkaWZmIC0tZ2l0IGEvYmxpdmV0L3V0aWwucHkgYi9ibGl2ZXQvdXRpbC5weQotaW5kZXggNzMzNGZmNi4uMGYyYTk5NSAxMDA2NDQKK2luZGV4IDlkYWYxNTEuLjRlYWM4YjkgMTAwNjQ0CiAtLS0gYS9ibGl2ZXQvdXRpbC5weQogKysrIGIvYmxpdmV0L3V0aWwucHkKIEBAIC0zLDcgKzMsNyBAQCBpbXBvcnQgZnVuY3Rvb2xzCkBAIC00Nyw3ICs0Nyw3IEBACiAgaW1wb3J0IHN1YnByb2Nlc3MKICBpbXBvcnQgcmUKICBpbXBvcnQgc3lzCi1AQCAtNDMwLDYgKzQzMCw4IEBAIGRlZiBnZXRfY293X3N5c2ZzX3BhdGgoZGV2X3BhdGgsIGRldl9zeXNmc1BhdGgpOgorQEAgLTQ0NCw2ICs0NDQsOCBAQCBkZWYgZ2V0X2Nvd19zeXNmc19wYXRoKGRldl9wYXRoLCBkZXZfc3lzZnNQYXRoKToKICBkZWYgbWF0Y2hfcGF0aF9jb250ZXh0KHBhdGgpOgogICAgICAiIiIgUmV0dXJuIHRoZSBkZWZhdWx0IFNFTGludXggY29udGV4dCBmb3IgdGhlIGdpdmVuIHBhdGguICIiIgogICAgICBjb250ZXh0ID0gTm9uZQpAQCAtNTYsNyArNTYsNyBAQAogICAgICB0cnk6CiAgICAgICAgICBjb250ZXh0ID0gc2VsaW51eC5tYXRjaHBhdGhjb24ob3MucGF0aC5ub3JtcGF0aChwYXRoKSwgMClbMV0KICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKLUBAIC00NTQsNiArNDU2LDggQEAgZGVmIHNldF9maWxlX2NvbnRleHQocGF0aCwgY29udGV4dCwgcm9vdD1Ob25lKToKK0BAIC00NjgsNiArNDcwLDggQEAgZGVmIHNldF9maWxlX2NvbnRleHQocGF0aCwgY29udGV4dCwgcm9vdD1Ob25lKToKICAKICAgICAgICAgICAgICBUcnVlIGlmIHN1Y2Nlc3NmdWwsIEZhbHNlIGlmIG5vdC4KICAgICAgIiIiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAwMi1ydW5fcHJvZ3JhbS1zdXBwb3J0LXRpbWVvdXQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAwMi1ydW5fcHJvZ3JhbS1zdXBwb3J0LXRpbWVvdXQucGF0Y2gKaW5kZXggZmVhMjI1NC4uNWIzODg1OSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMDItcnVuX3Byb2dyYW0tc3VwcG9ydC10aW1lb3V0LnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDAyLXJ1bl9wcm9ncmFtLXN1cHBvcnQtdGltZW91dC5wYXRjaApAQCAtMSwyMCArMSwyMCBAQAotRnJvbSA1OTY5NzllZDU4MTA5MTQxYTdmZWU2ODBhYjk1YjI3Mjk2YzAyMmIxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA3MTNjZjgyMWViZTE3ZjllMTc3MTUwMmE4NWUwOTA1ZWEwNGRhZmFlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotRGF0ZTogTW9uLCA4IE1heSAyMDE3IDE0OjM5OjU2ICswODAwCitEYXRlOiBGcmksIDIzIE5vdiAyMDE4IDE3OjAzOjU4ICswODAwCiBTdWJqZWN0OiBbUEFUQ0ggMDIvMTFdIHJ1bl9wcm9ncmFtIHN1cHBvcnQgdGltZW91dAogCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIAogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogLS0tCi0gYmxpdmV0L3V0aWwucHkgfCA2OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDM5IGluc2VydGlvbnMoKyksIDI5IGRlbGV0aW9ucygtKQorIGJsaXZldC91dGlsLnB5IHwgNzAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA0MSBpbnNlcnRpb25zKCspLCAyOSBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2JsaXZldC91dGlsLnB5IGIvYmxpdmV0L3V0aWwucHkKLWluZGV4IDBmMmE5OTUuLjA1YTI1M2MgMTAwNjQ0CitpbmRleCA0ZWFjOGI5Li40ZjA1MDc2IDEwMDY0NAogLS0tIGEvYmxpdmV0L3V0aWwucHkKICsrKyBiL2JsaXZldC91dGlsLnB5Ci1AQCAtMTU3LDYgKzE1NywzMCBAQCBjbGFzcyBQYXRoKHN0cik6CitAQCAtMTU4LDYgKzE1OCwzMCBAQCBjbGFzcyBQYXRoKHN0cik6CiAgICAgIGRlZiBfX2hhc2hfXyhzZWxmKToKICAgICAgICAgIHJldHVybiBzZWxmLl9wYXRoLl9faGFzaF9fKCkKICAKQEAgLTQ1LDEyICs0NSwxMiBAQAogIAogIGRlZiBfcnVuX3Byb2dyYW0oYXJndiwgcm9vdD0nLycsIHN0ZGluPU5vbmUsIGVudl9wcnVuZT1Ob25lLCBzdGRlcnJfdG9fc3Rkb3V0PUZhbHNlLCBiaW5hcnlfb3V0cHV0PUZhbHNlKToKICAgICAgaWYgZW52X3BydW5lIGlzIE5vbmU6Ci1AQCAtMTc5LDM2ICsyMDMsMjIgQEAgZGVmIF9ydW5fcHJvZ3JhbShhcmd2LCByb290PScvJywgc3RkaW49Tm9uZSwgZW52X3BydW5lPU5vbmUsIHN0ZGVycl90b19zdGRvdXQ9RmEKK0BAIC0xODAsMzUgKzIwNCwyMyBAQCBkZWYgX3J1bl9wcm9ncmFtKGFyZ3YsIHJvb3Q9Jy8nLCBzdGRpbj1Ob25lLCBlbnZfcHJ1bmU9Tm9uZSwgc3RkZXJyX3RvX3N0ZG91dD1GYQogICAgICAgICAgICAgIHN0ZGVycl9kaXIgPSBzdWJwcm9jZXNzLlNURE9VVAogICAgICAgICAgZWxzZToKICAgICAgICAgICAgICBzdGRlcnJfZGlyID0gc3VicHJvY2Vzcy5QSVBFCiAtICAgICAgICB0cnk6Ci0tICAgICAgICAgICAgcHJvYyA9IHN1YnByb2Nlc3MuUG9wZW4oYXJndiwKKy0gICAgICAgICAgICBwcm9jID0gc3VicHJvY2Vzcy5Qb3Blbihhcmd2LCAgIyBweWxpbnQ6IGRpc2FibGU9c3VicHJvY2Vzcy1wb3Blbi1wcmVleGVjLWZuCiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkaW49c3RkaW4sCiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwKIC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnI9c3RkZXJyX2RpciwKQEAgLTc4LDcgKzc4LDcgQEAKIC0gICAgICAgIHByb2dyYW1fbG9nLmRlYnVnKCJSZXR1cm4gY29kZTogJWQiLCBwcm9jLnJldHVybmNvZGUpCiAtCiAtICAgIHJldHVybiAocHJvYy5yZXR1cm5jb2RlLCBvdXQpCi0gCisrCiArICAgICAgICByZXMsIG91dCA9IHRpbWVvdXRfY29tbWFuZChhcmd2LCAxMCwKICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZGluPXN0ZGluLAogKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwKQEAgLTk0LDkgKzk0LDEwIEBACiArICAgICAgICAgICAgICAgIHByb2dyYW1fbG9nLmluZm8oIiVzIiwgbGluZSkKICsKICsgICAgcmV0dXJuIChyZXMsIG91dCkKKysKKyAKICAKICBkZWYgcnVuX3Byb2dyYW0oKmFyZ3MsICoqa3dhcmdzKToKLSAgICAgcmV0dXJuIF9ydW5fcHJvZ3JhbSgqYXJncywgKiprd2FyZ3MpWzBdCiAtLSAKIDIuNy40CiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDAzLXN1cHBvcnQtaW5maW5pdC10aW1lb3V0LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMDMtc3VwcG9ydC1pbmZpbml0LXRpbWVvdXQucGF0Y2gKaW5kZXggMzhmMDYxZS4uODYxYjJjZCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMDMtc3VwcG9ydC1pbmZpbml0LXRpbWVvdXQucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMDMtc3VwcG9ydC1pbmZpbml0LXRpbWVvdXQucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDMyNTg5OGYzZjI5NTFiYmRlMDdkYTQ3ODg4MTc1YzQyN2IxMWRkYzMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDVkNTQzNmRmYTNiZGRlN2I0ZTg3Y2U1YTQwY2JjNzI0MTk5ODQ3ZDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CiBEYXRlOiBNb24sIDggTWF5IDIwMTcgMTY6MTg6MDIgKzA4MDAKIFN1YmplY3Q6IFtQQVRDSCAwMy8xMV0gc3VwcG9ydCBpbmZpbml0IHRpbWVvdXQKQEAgLTExLDEwICsxMSwxMCBAQAogIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9ibGl2ZXQvdXRpbC5weSBiL2JsaXZldC91dGlsLnB5Ci1pbmRleCAwNWEyNTNjLi5kNjgwNGJlIDEwMDY0NAoraW5kZXggNGYwNTA3Ni4uN2U4OTk0OSAxMDA2NDQKIC0tLSBhL2JsaXZldC91dGlsLnB5CiArKysgYi9ibGl2ZXQvdXRpbC5weQotQEAgLTE1Nyw2ICsxNTcsNyBAQCBjbGFzcyBQYXRoKHN0cik6CitAQCAtMTU4LDYgKzE1OCw3IEBAIGNsYXNzIFBhdGgoc3RyKToKICAgICAgZGVmIF9faGFzaF9fKHNlbGYpOgogICAgICAgICAgcmV0dXJuIHNlbGYuX3BhdGguX19oYXNoX18oKQogIApAQCAtMjIsNyArMjIsNyBAQAogIGRlZiB0aW1lb3V0X2NvbW1hbmQoYXJndiwgdGltZW91dCwgKmFyZ3MsICoqa3dhcmdzKToKICAgICAgIiIiY2FsbCBzaGVsbC1jb21tYW5kIGFuZCBlaXRoZXIgcmV0dXJuIGl0cyBvdXRwdXQgb3Iga2lsbCBpdAogICAgICBpZiBpdCBkb2Vzbid0IG5vcm1hbGx5IGV4aXQgd2l0aGluIHRpbWVvdXQgc2Vjb25kcyBhbmQgcmV0dXJuIE5vbmUiIiIKLUBAIC0xNjgsNyArMTY5LDcgQEAgZGVmIHRpbWVvdXRfY29tbWFuZChhcmd2LCB0aW1lb3V0LCAqYXJncywgKiprd2FyZ3MpOgorQEAgLTE2OSw3ICsxNzAsNyBAQCBkZWYgdGltZW91dF9jb21tYW5kKGFyZ3YsIHRpbWVvdXQsICphcmdzLCAqKmt3YXJncyk6CiAgICAgICAgICB3aGlsZSBwcm9jLnBvbGwoKSBpcyBOb25lOgogICAgICAgICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgICAgICAgIG5vdyA9IGRhdGV0aW1lLmRhdGV0aW1lLm5vdygpCkBAIC0zMSw3ICszMSw3IEBACiAgICAgICAgICAgICAgICAgIG9zLmtpbGwocHJvYy5waWQsIHNpZ25hbC5TSUdLSUxMKQogICAgICAgICAgICAgICAgICBvcy53YWl0cGlkKC0xLCBvcy5XTk9IQU5HKQogICAgICAgICAgICAgICAgICBwcm9ncmFtX2xvZy5kZWJ1ZygiJWQgc2Vjb25kcyB0aW1lb3V0IiAlIHRpbWVvdXQpCi1AQCAtMTgyLDcgKzE4Myw3IEBAIGRlZiB0aW1lb3V0X2NvbW1hbmQoYXJndiwgdGltZW91dCwgKmFyZ3MsICoqa3dhcmdzKToKK0BAIC0xODMsNyArMTg0LDcgQEAgZGVmIHRpbWVvdXRfY29tbWFuZChhcmd2LCB0aW1lb3V0LCAqYXJncywgKiprd2FyZ3MpOgogICAgICBwcm9ncmFtX2xvZy5kZWJ1ZygiUmV0dXJuIGNvZGU6ICVkIiwgcHJvYy5yZXR1cm5jb2RlKQogICAgICByZXR1cm4gKHByb2MucmV0dXJuY29kZSwgcHJvYy5zdGRvdXQucmVhZCgpKQogIApAQCAtNDAsNyArNDAsNyBAQAogICAgICBpZiBlbnZfcHJ1bmUgaXMgTm9uZToKICAgICAgICAgIGVudl9wcnVuZSA9IFtdCiAgCi1AQCAtMTkxLDcgKzE5MiwxMCBAQCBkZWYgX3J1bl9wcm9ncmFtKGFyZ3YsIHJvb3Q9Jy8nLCBzdGRpbj1Ob25lLCBlbnZfcHJ1bmU9Tm9uZSwgc3RkZXJyX3RvX3N0ZG91dD1GYQorQEAgLTE5Miw3ICsxOTMsMTAgQEAgZGVmIF9ydW5fcHJvZ3JhbShhcmd2LCByb290PScvJywgc3RkaW49Tm9uZSwgZW52X3BydW5lPU5vbmUsIHN0ZGVycl90b19zdGRvdXQ9RmEKICAgICAgICAgICAgICBvcy5jaHJvb3Qocm9vdCkKICAKICAgICAgd2l0aCBwcm9ncmFtX2xvZ19sb2NrOiAgIyBweWxpbnQ6IGRpc2FibGU9bm90LWNvbnRleHQtbWFuYWdlcgpAQCAtNTIsNyArNTIsNyBAQAogIAogICAgICAgICAgZW52ID0gb3MuZW52aXJvbi5jb3B5KCkKICAgICAgICAgIGVudi51cGRhdGUoeyJMQ19BTEwiOiAiQyIsCi1AQCAtMjA0LDcgKzIwOCw3IEBAIGRlZiBfcnVuX3Byb2dyYW0oYXJndiwgcm9vdD0nLycsIHN0ZGluPU5vbmUsIGVudl9wcnVuZT1Ob25lLCBzdGRlcnJfdG9fc3Rkb3V0PUZhCitAQCAtMjA1LDcgKzIwOSw3IEBAIGRlZiBfcnVuX3Byb2dyYW0oYXJndiwgcm9vdD0nLycsIHN0ZGluPU5vbmUsIGVudl9wcnVuZT1Ob25lLCBzdGRlcnJfdG9fc3Rkb3V0PUZhCiAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgIHN0ZGVycl9kaXIgPSBzdWJwcm9jZXNzLlBJUEUKICAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA0LWZpeC1uZXcucm9vdHMtb2JqZWN0LWlzLW5vdC1pdGVyYWJsZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA0LWZpeC1uZXcucm9vdHMtb2JqZWN0LWlzLW5vdC1pdGVyYWJsZS5wYXRjaAppbmRleCBiZTk5N2FjLi41MjZhM2IxIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAwNC1maXgtbmV3LnJvb3RzLW9iamVjdC1pcy1ub3QtaXRlcmFibGUucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMDQtZml4LW5ldy5yb290cy1vYmplY3QtaXMtbm90LWl0ZXJhYmxlLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBjMzFkZjFjMGY1MzIzZGRjNzBlMGQxYzZkMTFkYjJmYmY3YTAyNGFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAzYmI4ZDA4YmRlYzJmNzliYjEzYzBhNDRiODE3MThkMjZlNWJkYWJjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogRGF0ZTogTW9uLCA4IE1heSAyMDE3IDE2OjMwOjIwICswODAwCiBTdWJqZWN0OiBbUEFUQ0ggMDQvMTFdIGZpeCBuZXcucm9vdHMgb2JqZWN0IGlzIG5vdCBpdGVyYWJsZQpAQCAtMTEsMTAgKzExLDEwIEBACiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9ibGl2ZXQvYmxpdmV0LnB5IGIvYmxpdmV0L2JsaXZldC5weQotaW5kZXggMzQwNTgxMC4uZjQyYjczYiAxMDA2NDQKK2luZGV4IGVhMDg4MzcuLjkxYzkyYjIgMTAwNjQ0CiAtLS0gYS9ibGl2ZXQvYmxpdmV0LnB5CiArKysgYi9ibGl2ZXQvYmxpdmV0LnB5Ci1AQCAtMTE5OCw3ICsxMTk4LDcgQEAgY2xhc3MgQmxpdmV0KG9iamVjdCk6CitAQCAtMTIwNiw3ICsxMjA2LDcgQEAgY2xhc3MgQmxpdmV0KG9iamVjdCk6CiAgICAgICAgICAgICAgcCA9IHBhcnRpdGlvbi5kaXNrLmZvcm1hdC5wYXJ0ZWRfZGlzay5nZXRQYXJ0aXRpb25CeVBhdGgocGFydGl0aW9uLnBhdGgpCiAgICAgICAgICAgICAgcGFydGl0aW9uLnBhcnRlZF9wYXJ0aXRpb24gPSBwCiAgCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAwNS1maXgtaW5jb3JyZWN0LXRpbWVvdXQtd2hpbGUtc3lzdGVtLXRpbWUtY2hhbmdlZC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA1LWZpeC1pbmNvcnJlY3QtdGltZW91dC13aGlsZS1zeXN0ZW0tdGltZS1jaGFuZ2VkLnBhdGNoCmluZGV4IGVjYjk1MDMuLjljNWQ1M2IgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA1LWZpeC1pbmNvcnJlY3QtdGltZW91dC13aGlsZS1zeXN0ZW0tdGltZS1jaGFuZ2VkLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA1LWZpeC1pbmNvcnJlY3QtdGltZW91dC13aGlsZS1zeXN0ZW0tdGltZS1jaGFuZ2VkLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBiMzBhNzQ2NzFjYTYwM2U2YmZkNTE0ZjcyZDRmZDdmZDZmY2VlZjU0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBmNzgzYjliMDBkYTVkZjE3NmZjZDc5MjdiNzUyZjU3NGNhNmRiMzE5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogRGF0ZTogRnJpLCAyNiBBdWcgMjAxNiAwMjowMjo0OSAtMDQwMAogU3ViamVjdDogW1BBVENIIDA1LzExXSBmaXggaW5jb3JyZWN0IHRpbWVvdXQgd2hpbGUgc3lzdGVtIHRpbWUgY2hhbmdlZApAQCAtMjIsMTAgKzIyLDEwIEBACiAgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2JsaXZldC91dGlsLnB5IGIvYmxpdmV0L3V0aWwucHkKLWluZGV4IGQ2ODA0YmUuLmJjMDhhZjUgMTAwNjQ0CitpbmRleCA3ZTg5OTQ5Li41NTcxZTczIDEwMDY0NAogLS0tIGEvYmxpdmV0L3V0aWwucHkKICsrKyBiL2JsaXZldC91dGlsLnB5Ci1AQCAtMTYyLDE0ICsxNjIsMTQgQEAgZGVmIHRpbWVvdXRfY29tbWFuZChhcmd2LCB0aW1lb3V0LCAqYXJncywgKiprd2FyZ3MpOgorQEAgLTE2MywxNCArMTYzLDE0IEBAIGRlZiB0aW1lb3V0X2NvbW1hbmQoYXJndiwgdGltZW91dCwgKmFyZ3MsICoqa3dhcmdzKToKICAgICAgIiIiY2FsbCBzaGVsbC1jb21tYW5kIGFuZCBlaXRoZXIgcmV0dXJuIGl0cyBvdXRwdXQgb3Iga2lsbCBpdAogICAgICBpZiBpdCBkb2Vzbid0IG5vcm1hbGx5IGV4aXQgd2l0aGluIHRpbWVvdXQgc2Vjb25kcyBhbmQgcmV0dXJuIE5vbmUiIiIKICAgICAgaW1wb3J0IHN1YnByb2Nlc3MsIGRhdGV0aW1lLCBvcywgdGltZSwgc2lnbmFsCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAwNi10d2Vhay1idHJmcy1wYWNrYWdlcy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA2LXR3ZWFrLWJ0cmZzLXBhY2thZ2VzLnBhdGNoCmluZGV4IGRhNTY4YTQuLjJlNTNhNjQgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA2LXR3ZWFrLWJ0cmZzLXBhY2thZ2VzLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA2LXR3ZWFrLWJ0cmZzLXBhY2thZ2VzLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAwNjU5ZDhhODViY2RkNzZjMGIyM2I4YjVhZjY5NTg3ODNkMzVhYzY1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA4OTMyYWU5MzNmMmI2YWNmNWU5OGM5OTU2YmVmZjY5YWU0MzBlZWQyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogRGF0ZTogTW9uLCA4IE1heSAyMDE3IDE2OjMzOjE1ICswODAwCiBTdWJqZWN0OiBbUEFUQ0ggMDYvMTFdIHR3ZWFrIGJ0cmZzIHBhY2thZ2VzCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAwNy1pbnZva2luZy1tb3VudC13aXRoLWluZmluaXRlLXRpbWVvdXQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAwNy1pbnZva2luZy1tb3VudC13aXRoLWluZmluaXRlLXRpbWVvdXQucGF0Y2gKaW5kZXggZTMwMTIxOS4uYjI2MDZkNyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMDctaW52b2tpbmctbW91bnQtd2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA3LWludm9raW5nLW1vdW50LXdpdGgtaW5maW5pdGUtdGltZW91dC5wYXRjaApAQCAtMSw2ICsxLDYgQEAKLUZyb20gOWM3YTE1MzEyMjU5ODU0ZjEyMTM3YTMwMjI5ZTUyYzMwZmI3Yzc3MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZjUzNDgxZGM0YTU2YjhhOTk2NjI4NzMzNTUzZTA4MGJiMGFhZmRkNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLURhdGU6IFdlZCwgMzEgQXVnIDIwMTYgMjE6MzA6MzIgLTA0MDAKK0RhdGU6IEZyaSwgMjMgTm92IDIwMTggMTc6MDc6MjIgKzA4MDAKIFN1YmplY3Q6IFtQQVRDSCAwNy8xMV0gaW52b2tpbmcgbW91bnQgd2l0aCBpbmZpbml0ZSB0aW1lb3V0CiAKIFRoaXMgbGFyZ2UgdGltZW91dCBpcyBuZWVkZWQgd2hlbiBydW5uaW5nIG9uIG1hY2hpbmVzIHdpdGgKQEAgLTE0LDE4ICsxNCwxOCBAQAogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvYmxpdmV0L3V0aWwucHkgYi9ibGl2ZXQvdXRpbC5weQotaW5kZXggYmMwOGFmNS4uYjY3Mjc4NyAxMDA2NDQKK2luZGV4IDU1NzFlNzMuLjAyYzgwMzMgMTAwNjQ0CiAtLS0gYS9ibGl2ZXQvdXRpbC5weQogKysrIGIvYmxpdmV0L3V0aWwucHkKLUBAIC0yNTYsNyArMjU2LDcgQEAgZGVmIG1vdW50KGRldmljZSwgbW91bnRwb2ludCwgZnN0eXBlLCBvcHRpb25zPU5vbmUpOgorQEAgLTI1OCw3ICsyNTgsNyBAQCBkZWYgbW91bnQoZGV2aWNlLCBtb3VudHBvaW50LCBmc3R5cGUsIG9wdGlvbnM9Tm9uZSk6CisgICAgICAgICBtYWtlZGlycyhtb3VudHBvaW50KQogIAogICAgICBhcmd2ID0gWyJtb3VudCIsICItdCIsIGZzdHlwZSwgIi1vIiwgb3B0aW9ucywgZGV2aWNlLCBtb3VudHBvaW50XQotICAgICB0cnk6Ci0tICAgICAgICByYyA9IHJ1bl9wcm9ncmFtKGFyZ3YpCi0rICAgICAgICByYyA9IHJ1bl9wcm9ncmFtKGFyZ3YsIHRpbWVvdXQ9LTEpCi0gICAgIGV4Y2VwdCBPU0Vycm9yOgotICAgICAgICAgcmFpc2UKKy0gICAgcmV0dXJuIHJ1bl9wcm9ncmFtKGFyZ3YpCisrICAgIHJldHVybiBydW5fcHJvZ3JhbShhcmd2LCB0aW1lb3V0PS0xKQogIAorIAorIGRlZiB1bW91bnQobW91bnRwb2ludCk6CiAtLSAKIDIuNy40CiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA4LXVzZS1vZS12YXJpYWJsZS10by1yZXBsYWNlLWhhcmRjb2RlZC1kaXIucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAwOC11c2Utb2UtdmFyaWFibGUtdG8tcmVwbGFjZS1oYXJkY29kZWQtZGlyLnBhdGNoCmluZGV4IGZlYjU2NDcuLmFkZTE4NjIgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA4LXVzZS1vZS12YXJpYWJsZS10by1yZXBsYWNlLWhhcmRjb2RlZC1kaXIucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMDgtdXNlLW9lLXZhcmlhYmxlLXRvLXJlcGxhY2UtaGFyZGNvZGVkLWRpci5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gN2Y1N2IyY2QxNDVkNjdjMjBiZWIwMmQ1NDk1YjUwMmY3YWYwMTJjZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMTJlMjU3OTMzMzI1OGQxYTY5MGY4NzE4ZTkxYjBmMjE3MDc4ZTg4NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KIERhdGU6IE1vbiwgOCBNYXkgMjAxNyAwMzo1NDoxMiAtMDQwMAogU3ViamVjdDogW1BBVENIIDA4LzExXSB1c2Ugb2UgdmFyaWFibGUgdG8gcmVwbGFjZSBoYXJkY29kZWQgZGlyCkBAIC0xMSw3ICsxMSw3IEBACiAgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL3NldHVwLnB5IGIvc2V0dXAucHkKLWluZGV4IDdlZGFiMmMuLjliZTMxODcgMTAwNjQ0CitpbmRleCBiNzQ1YTc5Li5iNWI0MjU4IDEwMDY0NAogLS0tIGEvc2V0dXAucHkKICsrKyBiL3NldHVwLnB5CiBAQCAtNjEsMTAgKzYxLDEwIEBAIGNsYXNzIGJsaXZldF9zZGlzdChzZGlzdCk6CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAwOS1pbnZva2luZy1mc2NrLXdpdGgtaW5maW5pdGUtdGltZW91dC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA5LWludm9raW5nLWZzY2std2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoCmluZGV4IDMwZDJkM2UuLmY0Nzc4NzcgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA5LWludm9raW5nLWZzY2std2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA5LWludm9raW5nLWZzY2std2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBjNzU3NjY2ZjQyZjU0M2JhZWVkNWRmNjEyNjk3OThjMDg1NjY1ZDliIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA5NjI0YjZkMGRkYTQwYWFlY2JhZjk1MzBiZTgxOTk0MzU3NWEyZWM2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogRGF0ZTogVGh1LCAxIEp1biAyMDE3IDE2OjA1OjI3ICswODAwCiBTdWJqZWN0OiBbUEFUQ0ggMDkvMTFdIGludm9raW5nIGZzY2sgd2l0aCBpbmZpbml0ZSB0aW1lb3V0CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAxMC1pbnZva2luZy1ta2ZzLXdpdGgtaW5maW5pdGUtdGltZW91dC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDEwLWludm9raW5nLW1rZnMtd2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoCmluZGV4IGIyZjQ1MDEuLmYxMjg0OTAgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDEwLWludm9raW5nLW1rZnMtd2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDEwLWludm9raW5nLW1rZnMtd2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA0MmQ4ZTU3Yzc0ODk1MTA5ODUzNGJmN2Y1MmM0ZWJjNzkwZWY2NmU5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAzMzg0NGY2NzczYTY3NmJkNTcyNDA5NTRlNDAyYWU5YTg0MzY2M2E0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogRGF0ZTogRnJpLCAxNiBKdW4gMjAxNyAxNTo0MzowMCArMDgwMAogU3ViamVjdDogW1BBVENIIDEwLzExXSBpbnZva2luZyBta2ZzIHdpdGggaW5maW5pdGUgdGltZW91dApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMTEtaW52b2tpbmctZGQtd2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMTEtaW52b2tpbmctZGQtd2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoCmluZGV4IGYyNGNlMGEuLjEzYzI5MzMgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDExLWludm9raW5nLWRkLXdpdGgtaW5maW5pdGUtdGltZW91dC5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAxMS1pbnZva2luZy1kZC13aXRoLWluZmluaXRlLXRpbWVvdXQucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIGE0NzUzYjNjYmJkNWFlZTU5ZGM1M2ViMTY1NjRjYWZkOTg2Mjc2M2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDIxY2EyYjg1OWE0OWU5NmEyMzBkNTVhNzg2NmRmYzdlZDVkMTM2NmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CiBEYXRlOiBUdWUsIDYgTWFyIDIwMTggMTc6Mjg6NTYgKzA4MDAKIFN1YmplY3Q6IFtQQVRDSCAxMS8xMV0gaW52b2tpbmcgZGQgd2l0aCBpbmZpbml0ZSB0aW1lb3V0CkBAIC0xNCwxMCArMTQsMTAgQEAKICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL2JsaXZldC9kZXZpY2VzL3BhcnRpdGlvbi5weSBiL2JsaXZldC9kZXZpY2VzL3BhcnRpdGlvbi5weQotaW5kZXggNDdmZjU0Ny4uMGNkMTYxNCAxMDA2NDQKK2luZGV4IDYyM2UxYzkuLjE0MWQ4YWQgMTAwNjQ0CiAtLS0gYS9ibGl2ZXQvZGV2aWNlcy9wYXJ0aXRpb24ucHkKICsrKyBiL2JsaXZldC9kZXZpY2VzL3BhcnRpdGlvbi5weQotQEAgLTYyMSw3ICs2MjEsNyBAQCBjbGFzcyBQYXJ0aXRpb25EZXZpY2UoU3RvcmFnZURldmljZSk6CitAQCAtNjE4LDcgKzYxOCw3IEBAIGNsYXNzIFBhcnRpdGlvbkRldmljZShTdG9yYWdlRGV2aWNlKToKICAgICAgICAgIGNtZCA9IFsiZGQiLCAiaWY9L2Rldi96ZXJvIiwgIm9mPSVzIiAlIGRldmljZSwgImJzPSVkIiAlIGJzLAogICAgICAgICAgICAgICAgICJzZWVrPSVkIiAlIHN0YXJ0LCAiY291bnQ9JWQiICUgY291bnRdCiAgICAgICAgICB0cnk6CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAxMi1yZW1vdmUtZG1yYWlkLWRlcGVuZGVuY3ktY2hlY2sucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAxMi1yZW1vdmUtZG1yYWlkLWRlcGVuZGVuY3ktY2hlY2sucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg4NmUzZmYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMTItcmVtb3ZlLWRtcmFpZC1kZXBlbmRlbmN5LWNoZWNrLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotRnJvbSA0NDc2ZTg0NmExZTY0ZGRlMTdkZjJlMjM3MGM4MDNjZTY5NTUxNGY5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotRGF0ZTogTW9uLCA2IEF1ZyAyMDE4IDE3OjE4OjI3ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIHJlbW92ZSBkbXJhaWQgZGVwZW5kZW5jeSBjaGVjawotCi1PRSBkb2VzIG5vdCBzdXBwb3J0IGRtcmFpZCwgcmVtb3ZlIGl0IGZyb20gZGVwZW5kZW5jeSBjaGVjawotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW29lIHNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBibGl2ZXQvdGFza3MvYXZhaWxhYmlsaXR5LnB5IHwgMyArLS0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9ibGl2ZXQvdGFza3MvYXZhaWxhYmlsaXR5LnB5IGIvYmxpdmV0L3Rhc2tzL2F2YWlsYWJpbGl0eS5weQotaW5kZXggOWE4N2NmZC4uODQzY2Y2YSAxMDA2NDQKLS0tLSBhL2JsaXZldC90YXNrcy9hdmFpbGFiaWxpdHkucHkKLSsrKyBiL2JsaXZldC90YXNrcy9hdmFpbGFiaWxpdHkucHkKLUBAIC0zMTYsOCArMzE2LDcgQEAgQkxPQ0tERVZfRE1fQUxMX01PREVTID0gKGJsb2NrZGV2LkRNVGVjaE1vZGUuQ1JFQVRFX0FDVElWQVRFIHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2tkZXYuRE1UZWNoTW9kZS5RVUVSWSkKLSBCTE9DS0RFVl9ETSA9IEJsb2NrRGV2VGVjaEluZm8ocGx1Z2luX25hbWU9ImRtIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tfZm49YmxvY2tkZXYuZG1faXNfdGVjaF9hdmFpbCwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVjaG5vbG9naWVzPXtibG9ja2Rldi5ETVRlY2guTUFQOiBCTE9DS0RFVl9ETV9BTExfTU9ERVMsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2tkZXYuRE1UZWNoLlJBSUQ6IEJMT0NLREVWX0RNX0FMTF9NT0RFU30pCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlY2hub2xvZ2llcz17YmxvY2tkZXYuRE1UZWNoLk1BUDogQkxPQ0tERVZfRE1fQUxMX01PREVTfSkKLSBCTE9DS0RFVl9ETV9URUNIID0gQmxvY2tEZXZNZXRob2QoQkxPQ0tERVZfRE0pCi0gCi0gIyBsaWJibG9ja2RldiBsb29wIHBsdWdpbiByZXF1aXJlZCB0ZWNobm9sb2dpZXMgYW5kIG1vZGVzCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDEzLWFkZC1aLXktYW5kLXktdG8tbHZtLnB2Y3JlYXRlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMTMtYWRkLVoteS1hbmQteS10by1sdm0ucHZjcmVhdGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMzYjVmNTEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMTMtYWRkLVoteS1hbmQteS10by1sdm0ucHZjcmVhdGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1Gcm9tIGJkZGJmYTQ5OWRmMTZiMTA4ZjJkODkyZWU0OGQ2NTYxNzUyM2MzM2QgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDkgQXVnIDIwMTggMTE6MDA6MzkgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gYWRkIGAtWiB5JyBhbmQgYC15JyB0byBsdm0ucHZjcmVhdGUKLQotV2hpbGUgcmVpbnN0YWxsIGEgY3J5cHQgZnMsIGl0IG9jY2FzaW9uYWxseSBmYWlsZWQKLVtzbmlwXQotfGdpLm92ZXJyaWRlcy5CbG9ja0Rldi5MVk1FcnJvcjogUHJvY2VzcyByZXBvcnRlZCBleGl0IGNvZGUgNToKLVdBUk5JTkc6IGF0YXJpIHNpZ25hdHVyZSBkZXRlY3RlZCBvbiAvZGV2L21hcHBlci9sdWtzLTBlNWY4OTFjCi0tNzcwMS00OGJjLWE0MWUtOGQ2MjZiNmVmOTUzIGF0IG9mZnNldCA0NjYuIFdpcGUgaXQ/IFt5L25dOgotW3NuaXBdCi0KLUFkZCBgLVogeScgYW5kIGAteScgdG8gbHZtLnB2Y3JlYXRlCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vc3RvcmFnZWQtcHJvamVjdC9ibGl2ZXQvcHVsbC83MTRdCi0KLVNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLS0tLQotIGJsaXZldC9mb3JtYXRzL2x2bXB2LnB5IHwgNiArKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvYmxpdmV0L2Zvcm1hdHMvbHZtcHYucHkgYi9ibGl2ZXQvZm9ybWF0cy9sdm1wdi5weQotaW5kZXggMjYwY2MwYi4uNGJiYjQ2ZiAxMDA2NDQKLS0tLSBhL2JsaXZldC9mb3JtYXRzL2x2bXB2LnB5Ci0rKysgYi9ibGl2ZXQvZm9ybWF0cy9sdm1wdi5weQotQEAgLTEyMCw5ICsxMjAsOSBAQCBjbGFzcyBMVk1QaHlzaWNhbFZvbHVtZShEZXZpY2VGb3JtYXQpOgotICAgICAgICAgbG9nX21ldGhvZF9jYWxsKHNlbGYsIGRldmljZT1zZWxmLmRldmljZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPXNlbGYudHlwZSwgc3RhdHVzPXNlbGYuc3RhdHVzKQotIAotLSAgICAgICAgIyBDb25zaWRlciB1c2Ugb2YgLVp8LS16ZXJvCi0tICAgICAgICAjIC1mfC0tZm9yY2Ugb3IgLXl8LS15ZXMgbWF5IGJlIHJlcXVpcmVkCi0tICAgICAgICBibG9ja2Rldi5sdm0ucHZjcmVhdGUoc2VsZi5kZXZpY2UsIGRhdGFfYWxpZ25tZW50PXNlbGYuZGF0YV9hbGlnbm1lbnQpCi0rICAgICAgICBlYV96ZXJvID0gYmxvY2tkZXYuRXh0cmFBcmcubmV3KCItWiIsICJ5IikKLSsgICAgICAgIGVhX3llcyA9IGJsb2NrZGV2LkV4dHJhQXJnLm5ldygiLXkiLCAiIikKLSsgICAgICAgIGJsb2NrZGV2Lmx2bS5wdmNyZWF0ZShzZWxmLmRldmljZSwgZGF0YV9hbGlnbm1lbnQ9c2VsZi5kYXRhX2FsaWdubWVudCwgZXh0cmE9W2VhX3plcm8sIGVhX3llc10pCi0gCi0gICAgIGRlZiBfZGVzdHJveShzZWxmLCAqKmt3YXJncyk6Ci0gICAgICAgICBsb2dfbWV0aG9kX2NhbGwoc2VsZiwgZGV2aWNlPXNlbGYuZGV2aWNlLAotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXRfMy4wLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXRfMy4wLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc1ZjAyZjEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0XzMuMC4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiQSBweXRob24gbW9kdWxlIGZvciBzeXN0ZW0gc3RvcmFnZSBjb25maWd1cmF0aW9uIgotSE9NRVBBR0UgPSAiaHR0cDovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvYmxpdmV0IgotTElDRU5TRSA9ICJMR1BMdjIrIgotU0VDVElPTiA9ICJkZXZlbC9weXRob24iCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotQiA9ICIke1N9IgotCi1TUkNSRVYgPSAiZGRjMjRjNzFiYWQxMDIwOGIxMWVhMGM0NTg1Mzg5OGZhZGQ3MDMwYiIKLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9yaGluc3RhbGxlci9ibGl2ZXQ7YnJhbmNoPTMuMS1yZWxlYXNlIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtY29tbWVudC1vdXQtc2VsaW51eC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLXJ1bl9wcm9ncmFtLXN1cHBvcnQtdGltZW91dC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAzLXN1cHBvcnQtaW5maW5pdC10aW1lb3V0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDQtZml4LW5ldy5yb290cy1vYmplY3QtaXMtbm90LWl0ZXJhYmxlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDUtZml4LWluY29ycmVjdC10aW1lb3V0LXdoaWxlLXN5c3RlbS10aW1lLWNoYW5nZWQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNi10d2Vhay1idHJmcy1wYWNrYWdlcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA3LWludm9raW5nLW1vdW50LXdpdGgtaW5maW5pdGUtdGltZW91dC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA4LXVzZS1vZS12YXJpYWJsZS10by1yZXBsYWNlLWhhcmRjb2RlZC1kaXIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwOS1pbnZva2luZy1mc2NrLXdpdGgtaW5maW5pdGUtdGltZW91dC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDEwLWludm9raW5nLW1rZnMtd2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTEtaW52b2tpbmctZGQtd2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTItcmVtb3ZlLWRtcmFpZC1kZXBlbmRlbmN5LWNoZWNrLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTMtYWRkLVoteS1hbmQteS10by1sdm0ucHZjcmVhdGUucGF0Y2ggXAotIgotCi1VUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICJibGl2ZXQtKD9QPHB2ZXI+XGQrKFwuXGQrKSspJCIKLQotaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJzeXN0ZW1kIgotCi1pbmhlcml0IHNldHVwdG9vbHMzIHB5dGhvbjNuYXRpdmUKLQotUkRFUEVORFNfJHtQTn0gPSAicHl0aG9uMy1weWtpY2tzdGFydCBweXRob24zLXB5dWRldiBcCi0gICAgICAgICAgICAgICAgICBwYXJ0ZWQgcHl0aG9uMy1weXBhcnRlZCBtdWx0aXBhdGgtdG9vbHMgXAotICAgICAgICAgICAgICAgICAgbHNvZiBjcnlwdHNldHVwIGxpYmJsb2NrZGV2IFwKLSAgICAgICAgICAgICAgICAgIGxpYmJ5dGVzaXplIFwKLSIKLQotRklMRVNfJHtQTn0gKz0gIiBcCi0gICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLXNlcnZpY2VzIFwKLSIKLQotaW5oZXJpdCBzeXN0ZW1kCi0KLVNZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJibGl2ZXQuc2VydmljZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldF8zLjEuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldF8zLjEuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTU2NWJhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0XzMuMS4yLmJiCkBAIC0wLDAgKzEsNDYgQEAKK0RFU0NSSVBUSU9OID0gIkEgcHl0aG9uIG1vZHVsZSBmb3Igc3lzdGVtIHN0b3JhZ2UgY29uZmlndXJhdGlvbiIKK0hPTUVQQUdFID0gImh0dHA6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL2JsaXZldCIKK0xJQ0VOU0UgPSAiTEdQTHYyKyIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKK0IgPSAiJHtTfSIKKworU1JDUkVWID0gIjg3OGY3OTRhMzgxMjBhNjUyY2FiMDAyNmI3NzE3NWIwOTliZjFmOWQiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vcmhpbnN0YWxsZXIvYmxpdmV0O2JyYW5jaD0zLjEtcmVsZWFzZSBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNvbW1lbnQtb3V0LXNlbGludXgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1ydW5fcHJvZ3JhbS1zdXBwb3J0LXRpbWVvdXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1zdXBwb3J0LWluZmluaXQtdGltZW91dC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA0LWZpeC1uZXcucm9vdHMtb2JqZWN0LWlzLW5vdC1pdGVyYWJsZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA1LWZpeC1pbmNvcnJlY3QtdGltZW91dC13aGlsZS1zeXN0ZW0tdGltZS1jaGFuZ2VkLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDYtdHdlYWstYnRyZnMtcGFja2FnZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNy1pbnZva2luZy1tb3VudC13aXRoLWluZmluaXRlLXRpbWVvdXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwOC11c2Utb2UtdmFyaWFibGUtdG8tcmVwbGFjZS1oYXJkY29kZWQtZGlyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDktaW52b2tpbmctZnNjay13aXRoLWluZmluaXRlLXRpbWVvdXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxMC1pbnZva2luZy1ta2ZzLXdpdGgtaW5maW5pdGUtdGltZW91dC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDExLWludm9raW5nLWRkLXdpdGgtaW5maW5pdGUtdGltZW91dC5wYXRjaCBcCisiCisKK1VQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gImJsaXZldC0oP1A8cHZlcj5cZCsoXC5cZCspKykkIgorCitpbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjaworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gInN5c3RlbWQiCisKK2luaGVyaXQgc2V0dXB0b29sczMgcHl0aG9uM25hdGl2ZQorCitSREVQRU5EU18ke1BOfSA9ICJweXRob24zLXB5a2lja3N0YXJ0IHB5dGhvbjMtcHl1ZGV2IFwKKyAgICAgICAgICAgICAgICAgIHBhcnRlZCBweXRob24zLXB5cGFydGVkIG11bHRpcGF0aC10b29scyBcCisgICAgICAgICAgICAgICAgICBsc29mIGNyeXB0c2V0dXAgbGliYmxvY2tkZXYgXAorICAgICAgICAgICAgICAgICAgbGliYnl0ZXNpemUgXAorIgorCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0tc2VydmljZXMgXAorIgorCitpbmhlcml0IHN5c3RlbWQKKworU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImJsaXZldC5zZXJ2aWNlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0Z3VpLzAwMDEtU2V0LV9zdXBwb3J0ZWRfZmlsZXN5c3RlbXMtaW4tQmxpdmV0R1VJQW5hY29uZGEtaW5pdC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldGd1aS8wMDAxLVNldC1fc3VwcG9ydGVkX2ZpbGVzeXN0ZW1zLWluLUJsaXZldEdVSUFuYWNvbmRhLWluaXQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1YTcxZDQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0Z3VpLzAwMDEtU2V0LV9zdXBwb3J0ZWRfZmlsZXN5c3RlbXMtaW4tQmxpdmV0R1VJQW5hY29uZGEtaW5pdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLUZyb20gYTdiNzZmNzgzNjA4MDMzZTQ0OWJhMWUzM2QwNDBjMmI0MGMwMWE0ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFkYW0gV2lsbGlhbXNvbiA8YXdpbGxpYW1AcmVkaGF0LmNvbT4KLURhdGU6IFdlZCwgMTcgSmFuIDIwMTggMTA6Mzg6MTggLTA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gU2V0IF9zdXBwb3J0ZWRfZmlsZXN5c3RlbXMgaW4gQmxpdmV0R1VJQW5hY29uZGEgaW5pdAotCi1CbGl2ZXRHVUlBbmFjb25kYSBzdWJjbGFzc2VzIEJsaXZldEdVSSwgYnV0IGRvZXNuJ3QgY2FsbCB0aGUKLXBhcmVudCBjbGFzcydzIF9faW5pdF9fLiBjNGI2ZTE3NCBhZGRlZCBzdXBwb3J0ZWRfZmlsZXN5c3RlbXMKLXRvIEJsaXZldEdVSSBhbmQgc2V0IF9zdXBwb3J0ZWRfZmlsZXN5c3RlbXMgZm9yIGNhY2hpbmcgZHVyaW5nCi1fX2luaXRfXywgYnV0IHRoaXMgd2FzIG5vdCBhbHNvIGFkZGVkIHRvIEJsaXZldEdVSUFuYWNvbmRhLCBzbwotd2hlbiBhbnl0aGluZyB0cmllcyB0byB1c2UgdGhlIHN1cHBvcnRlZF9maWxlc3lzdGVtcyBwcm9wZXJ0eQotb2YgYSBCbGl2ZXRHVUlBbmFjb25kYSBpbnN0YW5jZSwgaXQgd2lsbCBjcmFzaC4gVGhpcyBpcyBjYXVzaW5nCi1hbGwgYXR0ZW1wdHMgdG8gdXNlIGJsaXZldC1ndWkgaW4gYW5hY29uZGEgdG8gY3Jhc2ggc2luY2UgMi4xLjgKLWxhbmRlZCBpbiBSYXdoaWRlLgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGh1Yi5jb20vc3RvcmFnZWQtcHJvamVjdC9ibGl2ZXQtZ3VpXQotCi1TaWduZWQtb2ZmLWJ5OiBBZGFtIFdpbGxpYW1zb24gPGF3aWxsaWFtQHJlZGhhdC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBPdmlkaXUgUGFuYWl0IDxvdmlkaXUucGFuYWl0QHdpbmRyaXZlci5jb20+Ci0tLS0KLSBibGl2ZXRndWkvb3NpbnN0YWxsLnB5IHwgMyArKysKLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9ibGl2ZXRndWkvb3NpbnN0YWxsLnB5IGIvYmxpdmV0Z3VpL29zaW5zdGFsbC5weQotaW5kZXggMjE4MDZjYS4uMzJmZjY2YiAxMDA2NDQKLS0tLSBhL2JsaXZldGd1aS9vc2luc3RhbGwucHkKLSsrKyBiL2JsaXZldGd1aS9vc2luc3RhbGwucHkKLUBAIC05NCw2ICs5NCw5IEBAIGNsYXNzIEJsaXZldEdVSUFuYWNvbmRhKEJsaXZldEdVSSk6Ci0gICAgICAgICBzZWxmLmJ1aWxkZXIuc2V0X3RyYW5zbGF0aW9uX2RvbWFpbigiYmxpdmV0LWd1aSIpCi0gICAgICAgICBzZWxmLmJ1aWxkZXIuYWRkX2Zyb21fZmlsZShsb2NhdGVfdWlfZmlsZSgiYmxpdmV0LWd1aS51aSIpKQotIAotKyAgICAgICAgIyBzdXBwb3J0ZWQgZmlsZXN5c3RlbXMKLSsgICAgICAgIHNlbGYuX3N1cHBvcnRlZF9maWxlc3lzdGVtcyA9IFtdCi0rCi0gICAgICAgICAjIENTUyBzdHlsZXMKLSAgICAgICAgIGNzc19wcm92aWRlciA9IEd0ay5Dc3NQcm92aWRlcigpCi0gICAgICAgICBjc3NfcHJvdmlkZXIubG9hZF9mcm9tX3BhdGgobG9jYXRlX2Nzc19maWxlKCJyZWN0YW5nbGUuY3NzIikpCi0tLSAKLTIuMjAuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXRndWlfMi4xLjEwLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0Z3VpXzIuMS4xMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZWE4MTAzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0Z3VpXzIuMS4xMC5iYgpAQCAtMCwwICsxLDI3IEBACitERVNDUklQVElPTiA9ICJHVUkgdG9vbCBmb3Igc3RvcmFnZSBjb25maWd1cmF0aW9uIHVzaW5nIGJsaXZldCBsaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3JoaW5zdGFsbGVyL2JsaXZldC1ndWkiCitMSUNFTlNFID0gIkdQTHYyKyIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKK0IgPSAiJHtTfSIKKworU1JDUkVWID0gIjY3ZWMwYjdhMGUwNjViYTI0YWI4Nzk2MzQwOWJmYjIxYjJhYWM2ZGQiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vcmhpbnN0YWxsZXIvYmxpdmV0LWd1aTticmFuY2g9bWFzdGVyIFwKKyIKKworaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEgc3lzdGVtZCIKKworaW5oZXJpdCBzZXR1cHRvb2xzMyBweXRob24zbmF0aXZlCisKK1JERVBFTkRTXyR7UE59ID0gInB5dGhvbjMtcHlnb2JqZWN0IHB5dGhvbjMgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uMy1ibGl2ZXQgZ3RrKzMgIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbjMtcGlkIGxpYnJlcG9ydCBcCisiCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7ZGF0YWRpcn0vKiBcCisgICAgIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0Z3VpXzIuMS44LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0Z3VpXzIuMS44LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZjYyYjllLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldGd1aV8yLjEuOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLURFU0NSSVBUSU9OID0gIkdVSSB0b29sIGZvciBzdG9yYWdlIGNvbmZpZ3VyYXRpb24gdXNpbmcgYmxpdmV0IGxpYnJhcnkiCi1IT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vcmhpbnN0YWxsZXIvYmxpdmV0LWd1aSIKLUxJQ0VOU0UgPSAiR1BMdjIrIgotU0VDVElPTiA9ICJkZXZlbC9weXRob24iCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotQiA9ICIke1N9IgotCi1TUkNSRVYgPSAiYTRmZDQyN2VlMmFjYzVhOGY1ZmIwMzBiZjc4MTY5MTdjZWU2M2JkOCIKLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9yaGluc3RhbGxlci9ibGl2ZXQtZ3VpO2JyYW5jaD1tYXN0ZXIgXAotICAgIGZpbGU6Ly8wMDAxLVNldC1fc3VwcG9ydGVkX2ZpbGVzeXN0ZW1zLWluLUJsaXZldEdVSUFuYWNvbmRhLWluaXQucGF0Y2ggXAotIgotCi1pbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjawotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSBzeXN0ZW1kIgotCi1pbmhlcml0IHNldHVwdG9vbHMzIHB5dGhvbjNuYXRpdmUKLQotUkRFUEVORFNfJHtQTn0gPSAicHl0aG9uMy1weWdvYmplY3QgcHl0aG9uMyBcCi0gICAgICAgICAgICAgICAgICBweXRob24zLWJsaXZldCBndGsrMyAgXAotICAgICAgICAgICAgICAgICAgcHl0aG9uMy1waWQgbGlicmVwb3J0IFwKLSIKLQotRklMRVNfJHtQTn0gKz0gIiBcCi0gICAgJHtkYXRhZGlyfS8qIFwKLSAgICAiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1weWtpY2tzdGFydC9weXRob24zLXB5a2lja3N0YXJ0XzMuMTUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1weWtpY2tzdGFydC9weXRob24zLXB5a2lja3N0YXJ0XzMuMTUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA3ODc2YTkuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tcHlraWNrc3RhcnQvcHl0aG9uMy1weWtpY2tzdGFydF8zLjE1LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiQSBweXRob24gbGlicmFyeSBmb3IgbWFuaXB1bGF0aW5nIGtpY2tzdGFydCBmaWxlcyIKLUhPTUVQQUdFID0gImh0dHA6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL3B5a2lja3N0YXJ0IgotTElDRU5TRSA9ICJHUEx2MisiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThjYTQzY2JjODQyYzIzMzZlODM1OTI2YzIxNjZjMjhiIgotRklMRVNFWFRSQVBBVEhTX3ByZXBlbmQgOj0gIiR7VEhJU0RJUn0vZmlsZXM6IgotCi1ERVBFTkRTID0gInB5dGhvbjMiCi1SREVQRU5EU18ke1BOfSA9ICJweXRob24zIFwKLSAgICAgICAgICAgICAgICAgIHB5dGhvbjMtcmVxdWVzdHMgXAotICAgICAgICAgICAgICAgICAgcHl0aG9uMy1zaXggXAotIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3JoaW5zdGFsbGVyL3B5a2lja3N0YXJ0LmdpdDtwcm90b2NvbD1odHRwczticmFuY2g9bWFzdGVyIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtc3VwcG9ydC1hdXRoZW50aWNhdGlvbi1mb3Ita2lja3N0YXJ0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItcHlraWNrc3RhcnQtcGFyc2VyLnB5LWFkZC1sb2NrLWZvci1yZWFkS2lja3N0YXJ0LWFuZC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAzLWNvbW1lbnQtb3V0LXNlY3Rpb25zLXNodXRkb3duLWFuZC1lbnZpcm9ubWVudC1pbi1nZW4ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNC1sb2FkLnB5LXJldHJ5LXRvLWludm9rZS1yZXF1ZXN0LXdpdGgtdGltZW91dC5wYXRjaCBcCi0gICAgICAgICAgICIKLVNSQ1JFViA9ICIwN2M0ZDg5MTI5ZmE2YjQ2MGFjYzg2ZGFmNThlYjVmZjY0Y2RjODMyIgotCi1VUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICJyKD9QPHB2ZXI+XGQrKFwuXGQrKSsoLVxkKykqKSIKLQotaW5oZXJpdCBzZXR1cHRvb2xzMwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tcHlraWNrc3RhcnQvcHl0aG9uMy1weWtpY2tzdGFydF8zLjE4LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tcHlraWNrc3RhcnQvcHl0aG9uMy1weWtpY2tzdGFydF8zLjE4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhMDM4ODQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1weWtpY2tzdGFydC9weXRob24zLXB5a2lja3N0YXJ0XzMuMTguYmIKQEAgLTAsMCArMSwyNSBAQAorREVTQ1JJUFRJT04gPSAiQSBweXRob24gbGlicmFyeSBmb3IgbWFuaXB1bGF0aW5nIGtpY2tzdGFydCBmaWxlcyIKK0hPTUVQQUdFID0gImh0dHA6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL3B5a2lja3N0YXJ0IgorTElDRU5TRSA9ICJHUEx2MisiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThjYTQzY2JjODQyYzIzMzZlODM1OTI2YzIxNjZjMjhiIgorRklMRVNFWFRSQVBBVEhTX3ByZXBlbmQgOj0gIiR7VEhJU0RJUn0vZmlsZXM6IgorCitERVBFTkRTID0gInB5dGhvbjMiCitSREVQRU5EU18ke1BOfSA9ICJweXRob24zIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbjMtcmVxdWVzdHMgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uMy1zaXggXAorIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3JoaW5zdGFsbGVyL3B5a2lja3N0YXJ0LmdpdDtwcm90b2NvbD1odHRwczticmFuY2g9bWFzdGVyIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtc3VwcG9ydC1hdXRoZW50aWNhdGlvbi1mb3Ita2lja3N0YXJ0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItcHlraWNrc3RhcnQtcGFyc2VyLnB5LWFkZC1sb2NrLWZvci1yZWFkS2lja3N0YXJ0LWFuZC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAzLWNvbW1lbnQtb3V0LXNlY3Rpb25zLXNodXRkb3duLWFuZC1lbnZpcm9ubWVudC1pbi1nZW4ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1sb2FkLnB5LXJldHJ5LXRvLWludm9rZS1yZXF1ZXN0LXdpdGgtdGltZW91dC5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ1JFViA9ICJhZDk0MmYyNjQ0MzM3YzQ2NzJjN2EyMmJkMjRhNWI3MjY4YzFmNWU5IgorCitVUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICJyKD9QPHB2ZXI+XGQrKFwuXGQrKSsoLVxkKykqKSIKKworaW5oZXJpdCBzZXR1cHRvb2xzMwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvUkVBRE1FIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvUkVBRE1FCmluZGV4IDRkMmM3MTAuLjdiNjA2MzAgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL1JFQURNRQorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9SRUFETUUKQEAgLTEzLDE0ICsxMywxNCBAQAogCiBVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL29lLWNvcmUuZ2l0CiBzdWJkaXJlY3Rvcnk6IG1ldGEKLWJyYW5jaDogdGh1ZAorYnJhbmNoOiBtYXN0ZXIKIHJldmlzaW9uOiBIRUFECiAKIEZvciBzb21lIHJlY2lwZXMsIHRoZSBtZXRhLW9lIGxheWVyIGlzIHJlcXVpcmVkOgogCiBVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL21ldGEtb2UuZ2l0CiBzdWJkaXJlY3Rvcnk6IG1ldGEtb2UKLWJyYW5jaDogdGh1ZAorYnJhbmNoOiBtYXN0ZXIKIHJldmlzaW9uOiBIRUFECiAKIApAQCAtNTIsOSArNTIsOSBAQAogLS0tLS0tLS0tLS0KIAogU2VuZCBwYXRjaGVzIC8gcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZwotd2l0aCAnW21ldGEtd2Vic2VydmVyXVt0aHVkXScgaW4gdGhlIHN1YmplY3QuCit3aXRoICdbbWV0YS13ZWJzZXJ2ZXJdJyBpbiB0aGUgc3ViamVjdC4KIAotVGh1ZCBNYWludGFpbmVyOiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgorTGF5ZXIgbWFpbnRhaW5lcjogRGVyZWsgU3RyYWthIDxkZXJla0Bhc3Rlcml1cy5pbz4KIAogCiBMaWNlbnNlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9jb25mL2xheWVyLmNvbmYgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9jb25mL2xheWVyLmNvbmYKaW5kZXggYWFhM2E5NS4uMGQ2OTQ3OCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvY29uZi9sYXllci5jb25mCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL2NvbmYvbGF5ZXIuY29uZgpAQCAtMTcsNyArMTcsNyBAQAogCiBMQVlFUkRFUEVORFNfd2Vic2VydmVyID0gImNvcmUgb3BlbmVtYmVkZGVkLWxheWVyIgogCi1MQVlFUlNFUklFU19DT01QQVRfd2Vic2VydmVyID0gInRodWQiCitMQVlFUlNFUklFU19DT01QQVRfd2Vic2VydmVyID0gInRodWQgd2FycmlvciIKIAogTElDRU5TRV9QQVRIICs9ICIke0xBWUVSRElSfS9saWNlbnNlcyIKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLXdlYnNlcnZlci1pbWFnZS1iYXNlLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLXdlYnNlcnZlci1pbWFnZS1iYXNlLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0Y2UxMGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWNvcmUvaW1hZ2VzL21ldGEtd2Vic2VydmVyLWltYWdlLWJhc2UuYmIKQEAgLTAsMCArMSw3IEBACitTVU1NQVJZID0gIm1ldGEtd2Vic2VydmVyIGJ1aWxkIHRlc3QgaW1hZ2UiCisKK0lNQUdFX0lOU1RBTEwgPSAicGFja2FnZWdyb3VwLWNvcmUtYm9vdCIKKworTElDRU5TRSA9ICJNSVQiCisKK2luaGVyaXQgY29yZS1pbWFnZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLXdlYnNlcnZlci1pbWFnZS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtY29yZS9pbWFnZXMvbWV0YS13ZWJzZXJ2ZXItaW1hZ2UuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2U0ZjhhMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtY29yZS9pbWFnZXMvbWV0YS13ZWJzZXJ2ZXItaW1hZ2UuYmIKQEAgLTAsMCArMSwzIEBACityZXF1aXJlICBtZXRhLXdlYnNlcnZlci1pbWFnZS1iYXNlLmJiCisKK0lNQUdFX0lOU1RBTEwgKz0gInBhY2thZ2Vncm91cC1tZXRhLXdlYnNlcnZlciIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtY29yZS9wYWNrYWdlc2dyb3Vwcy9wYWNrYWdlZ3JvdXAtbWV0YS13ZWJzZXJ2ZXIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWNvcmUvcGFja2FnZXNncm91cHMvcGFja2FnZWdyb3VwLW1ldGEtd2Vic2VydmVyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZjMTE3ODUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWNvcmUvcGFja2FnZXNncm91cHMvcGFja2FnZWdyb3VwLW1ldGEtd2Vic2VydmVyLmJiCkBAIC0wLDAgKzEsMzcgQEAKK1NVTU1BUlkgPSAiTWV0YS13ZWJzZXJ2ZXIgcGFja2FnZWdyb3VwcyIKKworaW5oZXJpdCBwYWNrYWdlZ3JvdXAKKworUFJPVklERVMgPSAiJHtQQUNLQUdFU30iCitQQUNLQUdFUyA9ICcgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLXdlYnNlcnZlciBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtd2Vic2VydmVyLWh0dHAgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLXdlYnNlcnZlci1waHAgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLXdlYnNlcnZlci1zdXBwb3J0IFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS13ZWJzZXJ2ZXItd2ViYWRtaW4gXAorJworCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS13ZWJzZXJ2ZXIgPSAiXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLXdlYnNlcnZlci1odHRwIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS13ZWJzZXJ2ZXItcGhwIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS13ZWJzZXJ2ZXItc3VwcG9ydCBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtd2Vic2VydmVyLXdlYmFkbWluIFwKKyIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtd2Vic2VydmVyLWh0dHAgPSAiXAorICAgIG5naW54IG1vbmtleSBjaGVyb2tlZSBoaWF3YXRoYSBub3N0cm9tbyBhcGFjaGUtd2Vic29ja2V0IFwKKyAgICBhcGFjaGUyIHN0aHR0cGQgXAorICAgICIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtd2Vic2VydmVyLXBocCA9ICJcCisgICAgcGhwbXlhZG1pbiB4ZGVidWcgXAorICAgICIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtd2Vic2VydmVyLXN1cHBvcnQgPSAiXAorICAgIHNwYXduLWZjZ2kgZmNnaSBcCisgICAgIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS13ZWJzZXJ2ZXItd2ViYWRtaW4gPSAiXAorICAgIG5ldGRhdGEgd2VibWluIFwKKyAgICAiCitFWENMVURFX0ZST01fV09STEQgPSAiMSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyXzIuNC4zNC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyXzIuNC4zNC5iYgppbmRleCBhODdlMzg0Li44MGM4YjIwIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMl8yLjQuMzQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTJfMi40LjM0LmJiCkBAIC0zMSw2ICszMSw4IEBACiAKIGluaGVyaXQgYXV0b3Rvb2xzIHVwZGF0ZS1yYy5kIHBrZ2NvbmZpZyBzeXN0ZW1kIHVwZGF0ZS1hbHRlcm5hdGl2ZXMKIAorQ1ZFX1BST0RVQ1QgPSAiaHR0cF9zZXJ2ZXIiCisKIEFMVEVSTkFUSVZFXyR7UE59LWRvYyA9ICJodHBhc3N3ZC4xIgogQUxURVJOQVRJVkVfTElOS19OQU1FW2h0cGFzc3dkLjFdID0gIiR7bWFuZGlyfS9tYW4xL2h0cGFzc3dkLjEiCiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvZGVmYXVsdF9zZXJ2ZXIuc2l0ZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvZGVmYXVsdF9zZXJ2ZXIuc2l0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YThhMjE1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9maWxlcy9kZWZhdWx0X3NlcnZlci5zaXRlCkBAIC0wLDAgKzEsMTQgQEAKKyMgRGVmYXVsdCBzZXJ2ZXIgY29uZmlndXJhdGlvbgorc2VydmVyIHsKKyAgICBsaXN0ZW4gODAgZGVmYXVsdF9zZXJ2ZXI7CisgICAgbGlzdGVuIFs6Ol06ODAgZGVmYXVsdF9zZXJ2ZXI7CisKKyAgICByb290IC92YXIvd3d3L2xvY2FsaG9zdC9odG1sOworCisgICAgaW5kZXggaW5kZXguaHRtbCBpbmRleC5odG07CisKKyAgICBzZXJ2ZXJfbmFtZSBfOworCisgICAgIyByZWRpcmVjdCBzZXJ2ZXIgZXJyb3IgcGFnZXMgdG8gdGhlIHN0YXRpYyBwYWdlIC81MHguaHRtbAorICAgIGVycm9yX3BhZ2UgNTAwIDUwMiA1MDMgNTA0IC81MHguaHRtbDsKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvbmdpbnguY29uZiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvbmdpbnguY29uZgppbmRleCA2OWQzYTJhLi42ZDIxOTQyIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL25naW54LmNvbmYKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9maWxlcy9uZ2lueC5jb25mCkBAIC0xLDExOCArMSw0NyBAQAotCiB1c2VyICB3d3c7Ci13b3JrZXJfcHJvY2Vzc2VzICAxOwotCi1lcnJvcl9sb2cgIC92YXIvbG9nL25naW54L2Vycm9yLmxvZzsKLSNlcnJvcl9sb2cgIGxvZ3MvZXJyb3IubG9nICBub3RpY2U7Ci0jZXJyb3JfbG9nICBsb2dzL2Vycm9yLmxvZyAgaW5mbzsKLQotcGlkICAgICAgICAvcnVuL25naW54L25naW54LnBpZDsKLQord29ya2VyX3Byb2Nlc3NlcyAxOworcGlkIC9ydW4vbmdpbngvbmdpbngucGlkOworaW5jbHVkZSAvZXRjL25naW54L21vZHVsZXMtZW5hYmxlZC8qLmNvbmY7CiAKIGV2ZW50cyB7Ci0gICAgd29ya2VyX2Nvbm5lY3Rpb25zICAxMDI0OworICAgIHdvcmtlcl9jb25uZWN0aW9ucyA3Njg7CisgICAgIyBtdWx0aV9hY2NlcHQgb247CiB9CiAKLQogaHR0cCB7Ci0gICAgaW5jbHVkZSAgICAgICBtaW1lLnR5cGVzOworICAgICMgQmFzaWMgU2V0dGluZ3MKKyAgICBzZW5kZmlsZSBvbjsKKyAgICB0Y3Bfbm9wdXNoIG9uOworICAgIHRjcF9ub2RlbGF5IG9uOworICAgIGtlZXBhbGl2ZV90aW1lb3V0IDY1OworICAgIHR5cGVzX2hhc2hfbWF4X3NpemUgMjA0ODsKKyAgICAjIHNlcnZlcl90b2tlbnMgb2ZmOworCisgICAgIyBzZXJ2ZXJfbmFtZXNfaGFzaF9idWNrZXRfc2l6ZSA2NDsKKyAgICAjIHNlcnZlcl9uYW1lX2luX3JlZGlyZWN0IG9mZjsKKworICAgIGluY2x1ZGUgICAgICAgL2V0Yy9uZ2lueC9taW1lLnR5cGVzOwogICAgIGRlZmF1bHRfdHlwZSAgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtOwogCi0gICAgbG9nX2Zvcm1hdCAgbWFpbiAgJyRyZW1vdGVfYWRkciAtICRyZW1vdGVfdXNlciBbJHRpbWVfbG9jYWxdICIkcmVxdWVzdCIgJwotICAgICAgICAgICAgICAgICAgICAgICckc3RhdHVzICRib2R5X2J5dGVzX3NlbnQgIiRodHRwX3JlZmVyZXIiICcKLSAgICAgICAgICAgICAgICAgICAgICAnIiRodHRwX3VzZXJfYWdlbnQiICIkaHR0cF94X2ZvcndhcmRlZF9mb3IiJzsKKyAgICAjIFNTTCBTZXR0aW5ncworICAgIHNzbF9wcm90b2NvbHMgVExTdjEgVExTdjEuMSBUTFN2MS4yIFRMU3YxLjM7ICMgRHJvcHBpbmcgU1NMdjMsIHJlZjogUE9PRExFCisgICAgc3NsX3ByZWZlcl9zZXJ2ZXJfY2lwaGVycyBvbjsKIAotICAgIGFjY2Vzc19sb2cgIC92YXIvbG9nL25naW54L2FjY2Vzcy5sb2cgIG1haW47CisgICAgIyMgTG9nZ2luZworICAgIGFjY2Vzc19sb2cgL3Zhci9sb2cvbmdpbngvYWNjZXNzLmxvZzsKKyAgICBlcnJvcl9sb2cgL3Zhci9sb2cvbmdpbngvZXJyb3IubG9nOwogCi0gICAgc2VuZGZpbGUgICAgICAgIG9uOwotICAgICN0Y3Bfbm9wdXNoICAgICBvbjsKKyAgICAjIyBHemlwIHNldHRpbmdzCisgICAgZ3ppcCAgb247CiAKLSAgICAja2VlcGFsaXZlX3RpbWVvdXQgIDA7Ci0gICAga2VlcGFsaXZlX3RpbWVvdXQgIDY1OworICAgIGd6aXBfdmFyeSBvbjsKKyAgICBnemlwX3Byb3hpZWQgYW55OworICAgIGd6aXBfY29tcF9sZXZlbCA2OworICAgIGd6aXBfYnVmZmVycyAxNiA4azsKKyAgICBnemlwX2h0dHBfdmVyc2lvbiAxLjE7CisgICAgZ3ppcF90eXBlcyB0ZXh0L3BsYWluIHRleHQvY3NzIGFwcGxpY2F0aW9uL2pzb24gYXBwbGljYXRpb24vamF2YXNjcmlwdCB0ZXh0L3htbCBhcHBsaWNhdGlvbi94bWwgYXBwbGljYXRpb24veG1sK3JzcyB0ZXh0L2phdmFzY3JpcHQ7CiAKLSAgICAjZ3ppcCAgb247Ci0KLSAgICBzZXJ2ZXIgewotICAgICAgICBsaXN0ZW4gICAgICAgODA7Ci0gICAgICAgIHNlcnZlcl9uYW1lICBsb2NhbGhvc3Q7Ci0KLSAgICAgICAgI2NoYXJzZXQga29pOC1yOwotCi0gICAgICAgICNhY2Nlc3NfbG9nICBsb2dzL2hvc3QuYWNjZXNzLmxvZyAgbWFpbjsKLQotICAgICAgICBsb2NhdGlvbiAvIHsKLSAgICAgICAgICAgIHJvb3QgICAvdmFyL3d3dy9sb2NhbGhvc3QvaHRtbDsKLSAgICAgICAgICAgIGluZGV4ICBpbmRleC5odG1sIGluZGV4Lmh0bTsKLSAgICAgICAgfQotCi0gICAgICAgICNlcnJvcl9wYWdlICA0MDQgICAgICAgICAgICAgIC80MDQuaHRtbDsKLQotICAgICAgICAjIHJlZGlyZWN0IHNlcnZlciBlcnJvciBwYWdlcyB0byB0aGUgc3RhdGljIHBhZ2UgLzUweC5odG1sCi0gICAgICAgICMKLSAgICAgICAgZXJyb3JfcGFnZSAgIDUwMCA1MDIgNTAzIDUwNCAgLzUweC5odG1sOwotICAgICAgICBsb2NhdGlvbiA9IC81MHguaHRtbCB7Ci0gICAgICAgICAgICByb290ICAgL3Zhci93d3cvbG9jYWxob3N0L2h0bWw7Ci0gICAgICAgIH0KLQotICAgICAgICAjIHByb3h5IHRoZSBQSFAgc2NyaXB0cyB0byBBcGFjaGUgbGlzdGVuaW5nIG9uIDEyNy4wLjAuMTo4MAotICAgICAgICAjCi0gICAgICAgICNsb2NhdGlvbiB+IFwucGhwJCB7Ci0gICAgICAgICMgICAgcHJveHlfcGFzcyAgIGh0dHA6Ly8xMjcuMC4wLjE7Ci0gICAgICAgICN9Ci0KLSAgICAgICAgIyBwYXNzIHRoZSBQSFAgc2NyaXB0cyB0byBGYXN0Q0dJIHNlcnZlciBsaXN0ZW5pbmcgb24gMTI3LjAuMC4xOjkwMDAKLSAgICAgICAgIwotICAgICAgICAjbG9jYXRpb24gfiBcLnBocCQgewotICAgICAgICAjICAgIHJvb3QgICAgICAgICAgIGh0bWw7Ci0gICAgICAgICMgICAgZmFzdGNnaV9wYXNzICAgMTI3LjAuMC4xOjkwMDA7Ci0gICAgICAgICMgICAgZmFzdGNnaV9pbmRleCAgaW5kZXgucGhwOwotICAgICAgICAjICAgIGZhc3RjZ2lfcGFyYW0gIFNDUklQVF9GSUxFTkFNRSAgL3NjcmlwdHMkZmFzdGNnaV9zY3JpcHRfbmFtZTsKLSAgICAgICAgIyAgICBpbmNsdWRlICAgICAgICBmYXN0Y2dpX3BhcmFtczsKLSAgICAgICAgI30KLQotICAgICAgICAjIGRlbnkgYWNjZXNzIHRvIC5odGFjY2VzcyBmaWxlcywgaWYgQXBhY2hlJ3MgZG9jdW1lbnQgcm9vdAotICAgICAgICAjIGNvbmN1cnMgd2l0aCBuZ2lueCdzIG9uZQotICAgICAgICAjCi0gICAgICAgICNsb2NhdGlvbiB+IC9cLmh0IHsKLSAgICAgICAgIyAgICBkZW55ICBhbGw7Ci0gICAgICAgICN9Ci0gICAgfQotCi0KLSAgICAjIGFub3RoZXIgdmlydHVhbCBob3N0IHVzaW5nIG1peCBvZiBJUC0sIG5hbWUtLCBhbmQgcG9ydC1iYXNlZCBjb25maWd1cmF0aW9uCi0gICAgIwotICAgICNzZXJ2ZXIgewotICAgICMgICAgbGlzdGVuICAgICAgIDgwMDA7Ci0gICAgIyAgICBsaXN0ZW4gICAgICAgc29tZW5hbWU6ODA4MDsKLSAgICAjICAgIHNlcnZlcl9uYW1lICBzb21lbmFtZSAgYWxpYXMgIGFub3RoZXIuYWxpYXM7Ci0KLSAgICAjICAgIGxvY2F0aW9uIC8gewotICAgICMgICAgICAgIHJvb3QgICBodG1sOwotICAgICMgICAgICAgIGluZGV4ICBpbmRleC5odG1sIGluZGV4Lmh0bTsKLSAgICAjICAgIH0KLSAgICAjfQotCi0KLSAgICAjIEhUVFBTIHNlcnZlcgotICAgICMKLSAgICAjc2VydmVyIHsKLSAgICAjICAgIGxpc3RlbiAgICAgICA0NDM7Ci0gICAgIyAgICBzZXJ2ZXJfbmFtZSAgbG9jYWxob3N0OwotCi0gICAgIyAgICBzc2wgICAgICAgICAgICAgICAgICBvbjsKLSAgICAjICAgIHNzbF9jZXJ0aWZpY2F0ZSAgICAgIGNlcnQucGVtOwotICAgICMgICAgc3NsX2NlcnRpZmljYXRlX2tleSAgY2VydC5rZXk7Ci0KLSAgICAjICAgIHNzbF9zZXNzaW9uX3RpbWVvdXQgIDVtOwotCi0gICAgIyAgICBzc2xfcHJvdG9jb2xzICBTU0x2MiBTU0x2MyBUTFN2MTsKLSAgICAjICAgIHNzbF9jaXBoZXJzICBISUdIOiFhTlVMTDohTUQ1OwotICAgICMgICAgc3NsX3ByZWZlcl9zZXJ2ZXJfY2lwaGVycyAgIG9uOwotCi0gICAgIyAgICBsb2NhdGlvbiAvIHsKLSAgICAjICAgICAgICByb290ICAgaHRtbDsKLSAgICAjICAgICAgICBpbmRleCAgaW5kZXguaHRtbCBpbmRleC5odG07Ci0gICAgIyAgICB9Ci0gICAgI30KLQorICAgICMjIFZpcnR1YWwgSG9zdCBDb25maWdzCisgICAgaW5jbHVkZSAvZXRjL25naW54L2NvbmYuZC8qLmNvbmY7CisgICAgaW5jbHVkZSAvZXRjL25naW54L3NpdGVzLWVuYWJsZWQvKjsKIH0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvbmdpbnguc2VydmljZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvbmdpbnguc2VydmljZQppbmRleCBjZTk5MDYxLi5jNmZjMDQ5IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL25naW54LnNlcnZpY2UKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9maWxlcy9uZ2lueC5zZXJ2aWNlCkBAIC0xLDExICsxLDE1IEBACiBbVW5pdF0KLURlc2NyaXB0aW9uPU5naW54IFNlcnZlcgotQWZ0ZXI9bmV0d29yay50YXJnZXQKK0Rlc2NyaXB0aW9uPVRoZSBOR0lOWCBIVFRQIGFuZCByZXZlcnNlIHByb3h5IHNlcnZlcgorQWZ0ZXI9c3lzbG9nLnRhcmdldCBuZXR3b3JrLnRhcmdldCByZW1vdGUtZnMudGFyZ2V0IG5zcy1sb29rdXAudGFyZ2V0CisKIFtTZXJ2aWNlXQogVHlwZT1mb3JraW5nCiBQSURGaWxlPS9ydW4vbmdpbngvbmdpbngucGlkCitFeGVjU3RhcnRQcmU9QFNCSU5ESVJAL25naW54IC10CiBFeGVjU3RhcnQ9QFNCSU5ESVJAL25naW54Ci1FeGVjU3RvcD1AU0JJTkRJUkAvbmdpbnggLXMgc3RvcAogRXhlY1JlbG9hZD1AU0JJTkRJUkAvbmdpbnggLXMgcmVsb2FkCitFeGVjU3RvcD1AQklORElSQC9raWxsIC1zIFFVSVQgJE1BSU5QSUQKK1ByaXZhdGVUbXA9dHJ1ZQorCiBbSW5zdGFsbF0KIFdhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL3Byb3h5X3BhcmFtcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvcHJveHlfcGFyYW1zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmNzViYzUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL3Byb3h5X3BhcmFtcwpAQCAtMCwwICsxLDQgQEAKK3Byb3h5X3NldF9oZWFkZXIgSG9zdCAkaHR0cF9ob3N0OworcHJveHlfc2V0X2hlYWRlciBYLVJlYWwtSVAgJHJlbW90ZV9hZGRyOworcHJveHlfc2V0X2hlYWRlciBYLUZvcndhcmRlZC1Gb3IgJHByb3h5X2FkZF94X2ZvcndhcmRlZF9mb3I7Citwcm94eV9zZXRfaGVhZGVyIFgtRm9yd2FyZGVkLVByb3RvICRzY2hlbWU7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L25naW54LmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnguaW5jCmluZGV4IDI0YzJjZWQuLjI5ZTdlZmMgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnguaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnguaW5jCkBAIC0xNiw2ICsxNiw4IEBACiAgICAgZmlsZTovL25naW54LWNyb3NzLnBhdGNoIFwKICAgICBmaWxlOi8vMDAwMS1BbGxvdy10aGUtb3ZlcnJpZGluZy1vZi10aGUtZW5kaWFubmVzcy12aWEtdGhlLWNvbmZpLnBhdGNoIFwKICAgICBmaWxlOi8vbmdpbnguY29uZiBcCisgICAgZmlsZTovL2RlZmF1bHRfc2VydmVyLnNpdGUgXAorICAgIGZpbGU6Ly9wcm94eV9wYXJhbXMgXAogICAgIGZpbGU6Ly9uZ2lueC5pbml0IFwKICAgICBmaWxlOi8vbmdpbngtdm9sYXRpbGUuY29uZiBcCiAgICAgZmlsZTovL25naW54LnNlcnZpY2UgXApAQCAtMTAyLDIxICsxMDQsMzcgQEAKIAogICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vbmdpbngKICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9uZ2lueC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L25naW54L25naW54LmNvbmYKKyAgICBzZWQgLWkgJ3MsL2V0Yy8sJHtzeXNjb25mZGlyfS8sZycgJHtEfSR7c3lzY29uZmRpcn0vbmdpbngvbmdpbnguY29uZgogICAgIHNlZCAtaSAncywvdmFyLywke2xvY2Fsc3RhdGVkaXJ9LyxnJyAke0R9JHtzeXNjb25mZGlyfS9uZ2lueC9uZ2lueC5jb25mCiAgICAgc2VkIC1pICdzL151c2VyLiovdXNlciAke05HSU5YX1VTRVJ9Oy9nJyAke0R9JHtzeXNjb25mZGlyfS9uZ2lueC9uZ2lueC5jb25mCisgICAgaW5zdGFsbCAtRG0gMDY0NCAke1dPUktESVJ9L2RlZmF1bHRfc2VydmVyLnNpdGUgJHtEfSR7c3lzY29uZmRpcn0vbmdpbngvc2l0ZXMtYXZhaWxhYmxlL2RlZmF1bHRfc2VydmVyCisgICAgc2VkIC1pICdzLC92YXIvLCR7bG9jYWxzdGF0ZWRpcn0vLGcnICR7RH0ke3N5c2NvbmZkaXJ9L25naW54L3NpdGVzLWF2YWlsYWJsZS9kZWZhdWx0X3NlcnZlcgogICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vbmdpbngvc2l0ZXMtZW5hYmxlZAorICAgIGxuIC1zIC4uL3NpdGVzLWF2YWlsYWJsZS9kZWZhdWx0X3NlcnZlciAke0R9JHtzeXNjb25mZGlyfS9uZ2lueC9zaXRlcy1lbmFibGVkLworCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vcHJveHlfcGFyYW1zICR7RH0ke3N5c2NvbmZkaXJ9L25naW54L3Byb3h5X3BhcmFtcwogCiAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcwogICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L25naW54LXZvbGF0aWxlLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvOTlfbmdpbngKICAgICBzZWQgLWkgJ3MsL3Zhci8sJHtsb2NhbHN0YXRlZGlyfS8sZycgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvOTlfbmdpbngKICAgICBzZWQgLWkgJ3MsQE5HSU5YX1VTRVJALCR7TkdJTlhfVVNFUn0sZycgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvOTlfbmdpbngKIAorICAgICMgY2xlYW51cCBjb25maWd1cmF0aW9uIGZvbGRlcgorICAgIHJtICR7RH0ke3N5c2NvbmZkaXJ9L25naW54LyouZGVmYXVsdAorCisgICAgIyBhZGQgYWRkaXRpb25hbCBjb25maWd1cmF0aW9uIGZvbGRlcnMKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L25naW54L21vZHVsZXMtYXZhaWxhYmxlCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9uZ2lueC9tb2R1bGVzLWVuYWJsZWQKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L25naW54L3NlcnZlci1jb25mLmQKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L25naW54L2NvbmYuZAorCiAgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTt0aGVuCiAgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KICAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbmdpbnguc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KICAgICAgICAgc2VkIC1pIC1lICdzLEBTWVNDT05GRElSQCwke3N5c2NvbmZkaXJ9LGcnIFwKICAgICAgICAgICAgIC1lICdzLEBMT0NBTFNUQVRFRElSQCwke2xvY2Fsc3RhdGVkaXJ9LGcnIFwKICAgICAgICAgICAgIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnIFwKKyAgICAgICAgICAgIC1lICdzLEBCSU5ESVJALCR7YmluZGlyfSxnJyBcCiAgICAgICAgICAgICAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9uZ2lueC5zZXJ2aWNlCiAgICAgZmkKIH0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnhfMS4xNC4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9uZ2lueF8xLjE0LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDA2MTNmZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnhfMS4xNC4yLmJiCkBAIC0wLDAgKzEsMTAgQEAKK3JlcXVpcmUgbmdpbnguaW5jCisKKyMgMS4xNC54IGJyYW5jaCBpcyB0aGUgY3VycmVudCBzdGFibGUgYnJhbmNoLCB0aGUgcmVjb21tZW5kZWQgZGVmYXVsdAorIyAxLjE1LnggaXMgdGhlIGN1cnJlbnQgbWFpbmxpbmUgYnJhbmNoZXMgY29udGFpbmluZyBhbGwgbmV3IGZlYXR1cmVzCitERUZBVUxUX1BSRUZFUkVOQ0UgPSAiLTEiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTM2OTE0MDJjYzU0Y2UwOWY4MDBjYTM0ODYzNGEyZGZlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMjM5YjgyOWExM2NlYTFkMjQ0YzEwNDRlODMwYmQ5YzIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDAyZDlmNjE1NGUzMzE4ODZhMmRkNGU2MDY1ODYzYzljMWNmODI5MWFlOTdhMTI1NTMwODU3MmMwMmJlOTc5NyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnhfMS4xNS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9uZ2lueF8xLjE1LjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBmMWJhOGYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9uZ2lueF8xLjE1LjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1yZXF1aXJlIG5naW54LmluYwotCi0jIDEuMTQueCBicmFuY2ggaXMgdGhlIGN1cnJlbnQgc3RhYmxlIGJyYW5jaCwgdGhlIHJlY29tbWVuZGVkIGRlZmF1bHQKLSMgMS4xNS54IGlzIHRoZSBjdXJyZW50IG1haW5saW5lIGJyYW5jaGVzIGNvbnRhaW5pbmcgYWxsIG5ldyBmZWF0dXJlcwotREVGQVVMVF9QUkVGRVJFTkNFID0gIi0xIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zNjkxNDAyY2M1NGNlMDlmODAwY2EzNDg2MzRhMmRmZSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjJkZDVhMjY1YzU0YTc2YjY5OTQ0MzkzMWQ4MGE2MWI5IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImM3MjA2ODU4ZDdmODMyYjhlZjczYTQ1YzliOGY4ZTQzNmJjYjFlZTg4ZGIyYmM4NWI4ZTQzOGVjZWM5ZDU0NjAiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L25naW54XzEuMTUuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnhfMS4xNS4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNjk0ZjViLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnhfMS4xNS4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi1yZXF1aXJlIG5naW54LmluYwotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zNjkxNDAyY2M1NGNlMDlmODAwY2EzNDg2MzRhMmRmZSIKLQotU1JDX1VSSVttZDVzdW1dID0gImQwNjNmNzQ2ZDNkYzQyOThhZWQ5YzUxOGYxNjg0MTY2IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImVlYmEwOWFlY2ZiZTgyNzdhYzMzYTVhMjQ4NmVjMmQ2NzMxNzM5ZjNjMWM3MDFiNDJhMGMzNzg0YWY2N2FkOTAiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L25naW54XzEuMTUuNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnhfMS4xNS43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlNmRjMzMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L25naW54XzEuMTUuNy5iYgpAQCAtMCwwICsxLDYgQEAKK3JlcXVpcmUgbmdpbnguaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTM2OTE0MDJjYzU0Y2UwOWY4MDBjYTM0ODYzNGEyZGZlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNzE5YjJlM2Q0MTZmMTExZmVjYzlkYjY2MjU1NTM2NTgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGYyMmVhMmY2YzBlMGEyMjFiNmRkYzAyYjY0MjhhM2ZmNzA4ZTJhZDU1ZjkzNjExMDJiMWM5ZjQxNDJiZGY5MyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtcGhwL3hkZWJ1Zy94ZGVidWdfMi42LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXBocC94ZGVidWcveGRlYnVnXzIuNi4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NzNkYmYzLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtcGhwL3hkZWJ1Zy94ZGVidWdfMi42LjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1TVU1NQVJZID0gIkRlYnVnZ2luZyBhbmQgcHJvZmlsaW5nIGV4dGVuc2lvbiBmb3IgUEhQIgotTElDRU5TRSA9ICJYZGVidWciCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zNGRmM2EyNzRhYTEyYjc5NTQxN2M2NTYzNGMwN2YxNiIKLQotREVQRU5EUyA9ICJwaHAgcmUyYy1uYXRpdmUiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3hkZWJ1Zy5vcmcvZmlsZXMveGRlYnVnLSR7UFZ9LnRneiIKLQotU1JDX1VSSVttZDVzdW1dID0gIjM1Y2MwZjJlOGI3ZDQwNTU2YTlhZDlhZmQ5YzQ5YWVlIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImRhZTY5MWQ2YzA1MjA3M2I4ODZlMGM2ZTEzMDZhNzA3YmNhOWZkMThhMWUzNDg1Mzg0ZWY2YzRhYWNmMWJkNzciCi0KLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gInhkZWJ1Zy0oP1A8cHZlcj5cZCsoXC5cZCspKylcLnRneiIKLQotaW5oZXJpdCBhdXRvdG9vbHMKLQotRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS14ZGVidWcgLXdpdGgtcGhwLWNvbmZpZz0ke1NUQUdJTkdfQklORElSX0NST1NTfS9waHAtY29uZmlnIgotCi1kb19jb25maWd1cmUoKSB7Ci0gICAgY2QgJHtTfQotICAgICR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9L3BocGl6ZQotICAgIGNkICR7Qn0KLQotICAgICMgUnVubmluZyBhdXRvcmVjb25mIGFzIGF1dG90b29sc19kb19jb25maWd1cmUgd291bGQgZG8gaGVyZQotICAgICMgYnJlYWtzIHRoZSBsaWJ0b29sIGNvbmZpZ3VyYXRpb24gcmVzdWx0aW5nIGluIGEgZmFpbHVyZSBsYXRlcgotICAgICMgaW4gZG9fY29tcGlsZS4gSXQncyBwb3NzaWJsZSB0aGlzIG1heSBiZSBmaXhhYmxlLCBob3dldmVyIHRoZQotICAgICMgZWFzaWVzdCBjb3Vyc2Ugb2YgYWN0aW9uIGZvciB0aGUgbW9tZW50IGlzIHRvIGF2b2lkIGRvaW5nIHRoYXQuCi0gICAgb2VfcnVuY29uZgotfQotCi1kb19pbnN0YWxsKCkgewotICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBJTlNUQUxMX1JPT1Q9JHtEfQotfQotCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3BocCovZXh0ZW5zaW9ucy8qLyouc28iCi1GSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9waHAqL2V4dGVuc2lvbnMvKi8uZGVidWciCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXBocC94ZGVidWcveGRlYnVnXzIuNy4wUkMyLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1waHAveGRlYnVnL3hkZWJ1Z18yLjcuMFJDMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YmU2MmNiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1waHAveGRlYnVnL3hkZWJ1Z18yLjcuMFJDMi5iYgpAQCAtMCwwICsxLDM1IEBACitTVU1NQVJZID0gIkRlYnVnZ2luZyBhbmQgcHJvZmlsaW5nIGV4dGVuc2lvbiBmb3IgUEhQIgorTElDRU5TRSA9ICJYZGVidWciCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT05MmQ5NGEzMzBkMzRlZTZlZGMyNjM4NDUwNzM2ZjExOSIKKworREVQRU5EUyA9ICJwaHAgcmUyYy1uYXRpdmUiCisKK1NSQ19VUkkgPSAiaHR0cDovL3hkZWJ1Zy5vcmcvZmlsZXMveGRlYnVnLSR7UFZ9LnRneiIKKworU1JDX1VSSVttZDVzdW1dID0gImU4Y2FiZTAwM2Q2OTkwYjE1N2QwZDhjYWVlMzc0ODQ0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVhYTZkMTc3MjkzN2U5ZjExYjkxYWQ4Y2VkNTg2YWEwZTE2MjgxZGMxNzhjNDA1YWMzODBkNDVkNDczMWY4YjAiCisKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gInhkZWJ1Zy0oP1A8cHZlcj5cZCsoXC5cZCspKylcLnRneiIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS14ZGVidWcgLXdpdGgtcGhwLWNvbmZpZz0ke1NUQUdJTkdfQklORElSX0NST1NTfS9waHAtY29uZmlnIgorCitkb19jb25maWd1cmUoKSB7CisgICAgY2QgJHtTfQorICAgICR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9L3BocGl6ZQorICAgIGNkICR7Qn0KKworICAgICMgUnVubmluZyBhdXRvcmVjb25mIGFzIGF1dG90b29sc19kb19jb25maWd1cmUgd291bGQgZG8gaGVyZQorICAgICMgYnJlYWtzIHRoZSBsaWJ0b29sIGNvbmZpZ3VyYXRpb24gcmVzdWx0aW5nIGluIGEgZmFpbHVyZSBsYXRlcgorICAgICMgaW4gZG9fY29tcGlsZS4gSXQncyBwb3NzaWJsZSB0aGlzIG1heSBiZSBmaXhhYmxlLCBob3dldmVyIHRoZQorICAgICMgZWFzaWVzdCBjb3Vyc2Ugb2YgYWN0aW9uIGZvciB0aGUgbW9tZW50IGlzIHRvIGF2b2lkIGRvaW5nIHRoYXQuCisgICAgb2VfcnVuY29uZgorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBJTlNUQUxMX1JPT1Q9JHtEfQorfQorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3BocCovZXh0ZW5zaW9ucy8qLyouc28iCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9waHAqL2V4dGVuc2lvbnMvKi8uZGVidWciCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL25ldGRhdGEvbmV0ZGF0YV9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL25ldGRhdGEvbmV0ZGF0YV9naXQuYmIKaW5kZXggYjBmMTYwMi4uMzkwZmE0YiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi9uZXRkYXRhL25ldGRhdGFfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vbmV0ZGF0YS9uZXRkYXRhX2dpdC5iYgpAQCAtMjcsNiArMjcsOCBAQAogCiBpbmhlcml0IHBrZ2NvbmZpZyBhdXRvdG9vbHMgdXNlcmFkZCBzeXN0ZW1kCiAKK0xERkxBR1MgKz0gIi1wdGhyZWFkIgorCiAjc3lzdGVtZAogU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfSIKIFNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJuZXRkYXRhLnNlcnZpY2UiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvUkVBRE1FIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL1JFQURNRQppbmRleCA0ZDhkYzQ1Li43NDMxZThiIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvUkVBRE1FCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9SRUFETUUKQEAgLTEsMTEgKzEsMTEgQEAKIFRoaXMgbGF5ZXIgZGVwZW5kcyBvbjoKIAogVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9vZS1jb3JlLmdpdAotYnJhbmNoOiB0aHVkCiticmFuY2g6IG1hc3RlcgogcmV2aXNpb246IEhFQUQKIAogVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9tZXRhLW9lLmdpdAotYnJhbmNoOiB0aHVkCiticmFuY2g6IG1hc3RlcgogcmV2aXNpb246IEhFQUQKIG1ldGEteGZjZSBkZXBlbmRzIG9uIG1ldGEtb2UsIG1ldGEtZ25vbWUgYW5kIG1ldGEtbXVsdGltZWRpYSBpbiB0aGlzIHJlcG9zaXRvcnkuCiAKQEAgLTE0LDkgKzE0LDkgQEAKIAogQkJNQVNLID0gIm1ldGEteGZjZS9yZWNpcGVzLW11bHRpbWVkaWEiCiAKLVNlbmQgcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyB3aXRoICdbbWV0YS14ZmNlXVt0aHVkXScgaW4gdGhlIHN1YmplY3QnCitTZW5kIHB1bGwgcmVxdWVzdHMgdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgd2l0aCAnW21ldGEteGZjZV0nIGluIHRoZSBzdWJqZWN0JwogCiBXaGVuIHNlbmRpbmcgc2luZ2xlIHBhdGNoZXMsIHBsZWFzZSB1c2luZyBzb21ldGhpbmcgbGlrZToKLSdnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS14ZmNlXVt0aHVkXVtQQVRDSCcKKydnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS14ZmNlXVtQQVRDSCcKIAotVGh1ZCBNYWludGFpbmVyOiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgorTGF5ZXIgbWFpbnRhaW5lcjogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL2NvbmYvbGF5ZXIuY29uZiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9jb25mL2xheWVyLmNvbmYKaW5kZXggZjVmNDRkNi4uNmU5ZDg5MiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL2NvbmYvbGF5ZXIuY29uZgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvY29uZi9sYXllci5jb25mCkBAIC0xOCw3ICsxOCw3IEBACiBMQVlFUkRFUEVORFNfeGZjZS1sYXllciArPSAibXVsdGltZWRpYS1sYXllciIKIExBWUVSREVQRU5EU194ZmNlLWxheWVyICs9ICJtZXRhLXB5dGhvbiIKIAotTEFZRVJTRVJJRVNfQ09NUEFUX3hmY2UtbGF5ZXIgPSAidGh1ZCIKK0xBWUVSU0VSSUVTX0NPTVBBVF94ZmNlLWxheWVyID0gInRodWQgd2FycmlvciIKIAogU0lHR0VOX0VYQ0xVREVfU0FGRV9SRUNJUEVfREVQUyArPSAiIFwKICAgeGZjZTQtc2Vzc2lvbi0+bWFjaGluZS1ob3N0IFwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMvY2F0ZmlzaC9jYXRmaXNoXzEuNC42LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy9jYXRmaXNoL2NhdGZpc2hfMS40LjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIyOWY4ODIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy9jYXRmaXNoL2NhdGZpc2hfMS40LjYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1TVU1NQVJZID0gIkNhdGZpc2ggaXMgYSBoYW5keSBmaWxlIHNlYXJjaGluZyB0b29sIGZvciBsaW51eCBhbmQgdW5peCIKLVNFQ1RJT04gPSAieDExL2FwcGxpY2F0aW9uIgotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTQzMjVhZmQzOTZmZWJjYjY1OWMzNmI0OTUzMzEzNWQ0IgotCi1pbmhlcml0IHhmY2UtYXBwIGRpc3R1dGlsczMgZ3RrLWljb24tY2FjaGUKLQotREVQRU5EUyArPSAicHl0aG9uMy1kaXN0dXRpbHMtZXh0cmEtbmF0aXZlIgotCi1CID0gIiR7U30iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI4NzkxOTdjOTQwMGJlMmE4MGQ1MWFiZjQ5NGJmZmZiNiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlMWNhZWUxNGM1MjY4YWM3ODE0MzQ3MDFjMGViMjZlZGRmY2VkMmMwZjFhZTA2NjU0OTU4M2VkMDVmOTlhZGJmIgotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9tZXRhaW5mbyIKLQotUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbjMtcHlnb2JqZWN0IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy9jYXRmaXNoL2NhdGZpc2hfMS40LjcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL2NhdGZpc2gvY2F0ZmlzaF8xLjQuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NGQ1NjkyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy9jYXRmaXNoL2NhdGZpc2hfMS40LjcuYmIKQEAgLTAsMCArMSwxNyBAQAorU1VNTUFSWSA9ICJDYXRmaXNoIGlzIGEgaGFuZHkgZmlsZSBzZWFyY2hpbmcgdG9vbCBmb3IgbGludXggYW5kIHVuaXgiCitTRUNUSU9OID0gIngxMS9hcHBsaWNhdGlvbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00MzI1YWZkMzk2ZmViY2I2NTljMzZiNDk1MzMxMzVkNCIKKworaW5oZXJpdCB4ZmNlLWFwcCBkaXN0dXRpbHMzIGd0ay1pY29uLWNhY2hlCisKK0RFUEVORFMgKz0gInB5dGhvbjMtZGlzdHV0aWxzLWV4dHJhLW5hdGl2ZSIKKworQiA9ICIke1N9IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjRjMWMyYjJjNTYwODI0Y2FiOGQ3ZjZjN2JkNjI0Y2EiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDhjYWFhYzg3MmQyOWUyNzYyZTMxZTU5YWRlMTMxMGNiODYwYWY1NWYxYTM2ZjI1MjBjZTFkOTBjMzkyMjdlOSIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vbWV0YWluZm8iCisKK1JERVBFTkRTXyR7UE59ICs9ICJweXRob24zLXB5Z29iamVjdCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMvbWVudWxpYnJlL21lbnVsaWJyZV8yLjIuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMvbWVudWxpYnJlL21lbnVsaWJyZV8yLjIuMC5iYgppbmRleCBiMGU0Nzg0Li4xZTllNWYxIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL21lbnVsaWJyZS9tZW51bGlicmVfMi4yLjAuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy9tZW51bGlicmUvbWVudWxpYnJlXzIuMi4wLmJiCkBAIC0xMyw3ICsxMyw3IEBACiAKIFJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCiAKLVNSQ19VUkkgPSAiaHR0cHM6Ly9sYXVuY2hwYWQubmV0L21lbnVsaWJyZS8yLjIvJHtQVn0vK2Rvd25sb2FkLyR7UE59LSR7UFZ9LnRhci5neiIKK1NSQ19VUkkgPSAiaHR0cHM6Ly9sYXVuY2hwYWQubmV0L21lbnVsaWJyZS8yLjIvJHtQVn0vK2Rvd25sb2FkLyR7QlBOfS0ke1BWfS50YXIuZ3oiCiBTUkNfVVJJW21kNXN1bV0gPSAiOTY5MDg0OGRiZjkxOTZjM2Y3YmFhNTc0ZTkwMzc4ZDgiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTQ2ZmVjODdmNDUxYzhmNWMyMjBkMDJiMWYzNmRkODUwZjRjZTlhYjYwN2Y4ZTk3MTFlZDhmMjAwOWUzNDlmZSIKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94YXJjaGl2ZXIveGFyY2hpdmVyX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGFyY2hpdmVyL3hhcmNoaXZlcl9naXQuYmIKaW5kZXggYTI3YzhmNS4uNzQ0NWNkNyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94YXJjaGl2ZXIveGFyY2hpdmVyX2dpdC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hhcmNoaXZlci94YXJjaGl2ZXJfZ2l0LmJiCkBAIC01LDIyICs1LDI5IEBACiBMSUNFTlNFID0gIkdQTHYyKyIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgogCi1ERVBFTkRTID0gImd0aysgZ2xpYi0yLjAgeGZjZTQtZGV2LXRvb2xzLW5hdGl2ZSBpbnRsdG9vbC1uYXRpdmUiCitERVBFTkRTID0gImd0ayszIGdsaWItMi4wIHhmY2U0LWRldi10b29scy1uYXRpdmUgaW50bHRvb2wtbmF0aXZlIgogCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vc2Nobml0emVsdG9ueS94YXJjaGl2ZXIuZ2l0O2JyYW5jaD1tYXN0ZXIiCi1TUkNSRVYgPSAiNWEyNmRkOGNlYWIwYWY3MWIzMGM4MzI4NmQ3YzczOThhODU4YzgxNCIKLVBWID0gIjAuNS4zIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2liL3hhcmNoaXZlci5naXQiCitTUkNSRVYgPSAiOWFiOTU4YTQwMjNiNjJiNDM5NzJjNTVhMzE0M2ZmMDcyMmJkODhhNiIKK1BWID0gIjAuNS40LjE0IgogUyA9ICIke1dPUktESVJ9L2dpdCIKIAotaW5oZXJpdCB4ZmNlLWdpdCBnZXR0ZXh0IHBrZ2NvbmZpZyBhdXRvdG9vbHMgZ3RrLWljb24tY2FjaGUgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCitpbmhlcml0IGdldHRleHQgcGtnY29uZmlnIGF1dG90b29scyBndGstaWNvbi1jYWNoZSBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKIAogUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKIAogIyBpbnN0YWxsIHRhcCBmaWxlcyBmb3IgdGh1bmFyLWFyY2hpdmUtcGx1Z2luIGluICR7bGliZGlyfS90aHVuYXItYXJjaGl2ZS1wbHVnaW4KIEVYVFJBX09FQ09ORiArPSAiLS1saWJleGVjZGlyPSR7bGliZGlyfSIKIAotRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS1tYWludGFpbmVyLW1vZGUiCitFWFRSQV9PRUNPTkYgKz0gIiBcCisgICAgLS1lbmFibGUtbWFpbnRhaW5lci1tb2RlIFwKKyAgICAtLWRpc2FibGUtZG9jIFwKKyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgIHRvdWNoICR7U30vTkVXUyAke1N9L0FVVEhPUlMKK30KIAogRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS90aHVuYXItYXJjaGl2ZS1wbHVnaW4iCiAKLVJSRUNPTU1FTkRTXyR7UE59ID0gImx6b3AgemlwIHRhciBiemlwMiB1bnppcCB4eiIKK1JSRUNPTU1FTkRTXyR7UE59ID0gImx6b3AgemlwIHRhciBiemlwMiB1bnppcCB4eiBwN3ppcCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtbWl4ZXIvZmlsZXMvMDAwMS1GaXgtYnVpbGQtYWZ0ZXItdXBkYXRlLW9mLXhmY29uZi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtbWl4ZXIvZmlsZXMvMDAwMS1GaXgtYnVpbGQtYWZ0ZXItdXBkYXRlLW9mLXhmY29uZi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzEyMTZjMC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2U0LW1peGVyL2ZpbGVzLzAwMDEtRml4LWJ1aWxkLWFmdGVyLXVwZGF0ZS1vZi14ZmNvbmYucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MSArMCwwIEBACi1Gcm9tIDZlY2FlY2VkMjkxZjkzNWE5ZDQxZTliYzMzNDExMzU4Yzk1YTVlOTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotRGF0ZTogTW9uLCAyMiBKYW4gMjAxOCAxNTozNTowOCArMDEwMAotU3ViamVjdDogW1BBVENIXSBGaXggYnVpbGQgYWZ0ZXIgdXBkYXRlIG9mIHhmY29uZgotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi14ZmNvbmYgc3RvcHBlZCB1c2luZyBkYnVzLWdsaWIgc28gcmVxdWlyZWQgZmxhZ3MgbXVzdCBiZSBpbmNsdWRlZCBoZXJlCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotLS0tCi0gcGFuZWwtcGx1Z2luL01ha2VmaWxlLmFtIHwgMiArKwotIHhmY2U0LW1peGVyL01ha2VmaWxlLmFtICB8IDIgKysKLSAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvcGFuZWwtcGx1Z2luL01ha2VmaWxlLmFtIGIvcGFuZWwtcGx1Z2luL01ha2VmaWxlLmFtCi1pbmRleCBhNDk0NjgyLi5iMDk0NDcyIDEwMDY0NAotLS0tIGEvcGFuZWwtcGx1Z2luL01ha2VmaWxlLmFtCi0rKysgYi9wYW5lbC1wbHVnaW4vTWFrZWZpbGUuYW0KLUBAIC0yNyw2ICsyNyw3IEBAIGxpYm1peGVyX2xhX0NGTEFHUyA9CQkJCQkJCVwKLSAJJChMSUJYRkNFNFVJX0NGTEFHUykJCQkJCQlcCi0gCSQoTElCWEZDRTRQQU5FTF9DRkxBR1MpCQkJCQkJXAotIAkkKFhGQ09ORl9DRkxBR1MpCQkJCQkJXAotKwkkKERCVVNfR0xJQl9DRkxBR1MpCQkJCQkJXAotIAkkKEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTKQkJCQkJXAotIAkkKEtFWUJJTkRFUl9DRkxBR1MpCi0gCi1AQCAtNDgsNiArNDksNyBAQCBsaWJtaXhlcl9sYV9MSUJBREQgPQkJCQkJCQlcCi0gCSQoTElCWEZDRTRVSV9MSUJTKQkJCQkJCVwKLSAJJChMSUJYRkNFNFBBTkVMX0xJQlMpCQkJCQkJXAotIAkkKFhGQ09ORl9MSUJTKQkJCQkJCQlcCi0rCSQoREJVU19HTElCX0xJQlMpCQkJCQkJXAotIAkkKEdTVF9QTFVHSU5TX0JBU0VfTElCUykJCQkJCVwKLSAJLWxnc3RhdWRpby0wLjEwCQkJCQkJCVwKLSAJLWxnc3RpbnRlcmZhY2VzLTAuMTAJCQkJCQlcCi1kaWZmIC0tZ2l0IGEveGZjZTQtbWl4ZXIvTWFrZWZpbGUuYW0gYi94ZmNlNC1taXhlci9NYWtlZmlsZS5hbQotaW5kZXggNGFmNjllOS4uZTA3NmZjOCAxMDA2NDQKLS0tLSBhL3hmY2U0LW1peGVyL01ha2VmaWxlLmFtCi0rKysgYi94ZmNlNC1taXhlci9NYWtlZmlsZS5hbQotQEAgLTMyLDYgKzMyLDcgQEAgeGZjZTRfbWl4ZXJfQ0ZMQUdTID0gCQkJCQkJCVwKLSAJJChVTklRVUVfQ0ZMQUdTKQkJCQkJCVwKLSAJJChMSUJYRkNFNFVUSUxfQ0ZMQUdTKQkJCQkJCVwKLSAJJChMSUJYRkNFNFVJX0NGTEFHUykJCQkJCQlcCi0rCSQoREJVU19HTElCX0NGTEFHUykJCQkJCQlcCi0gCSQoWEZDT05GX0NGTEFHUykJCQkJCQlcCi0gCSQoR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MpCi0gCi1AQCAtNDYsNiArNDcsNyBAQCB4ZmNlNF9taXhlcl9MREZMQUdTID0gCQkJCQkJCVwKLSAJJChVTklRVUVfTElCUykJCQkJCQkJXAotIAkkKExJQlhGQ0U0VVRJTF9MSUJTKQkJCQkJCVwKLSAJJChMSUJYRkNFNFVJX0xJQlMpCQkJCQkJXAotKwkkKERCVVNfR0xJQl9MSUJTKQkJCQkJCVwKLSAJJChYRkNPTkZfTElCUykJCQkJCQkJXAotIAkkKEdTVF9QTFVHSU5TX0JBU0VfTElCUykJCQkJCVwKLSAJLWxnc3RhdWRpby0wLjEwCQkJCQkJCVwKLS0tIAotMi4xNC4zCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtbWl4ZXIveGZjZTQtbWl4ZXJfNC4xMS4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlNC1taXhlci94ZmNlNC1taXhlcl80LjExLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZjMDU3ZDguLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlNC1taXhlci94ZmNlNC1taXhlcl80LjExLjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1TVU1NQVJZID0gIkEgdm9sdW1lIGNvbnRyb2wgYXBwbGljYXRpb24gYmFzZWQgb24gR1N0cmVhbWVyIgotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIgotCi1pbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCi0KLURFUEVORFMgKz0gImdsaWItMi4wIGdzdC1wbHVnaW5zLWJhc2UgZ3RrKyB4ZmNvbmYgbGlidW5pcXVlIgotCi1TUkNfVVJJID0gIiBcCi0gICAgaHR0cDovL2FyY2hpdmUueGZjZS5vcmcvc3JjL2FwcHMvJHtCUE59LyR7QHhmY2VfdmVyZGlyKCIke1BWfSIpfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCi0gICAgZmlsZTovLzAwMDEtRml4LWJ1aWxkLWFmdGVyLXVwZGF0ZS1vZi14ZmNvbmYucGF0Y2ggXAotIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMWIzNzUzYjkxMjI0ODY3YTNhMmRmZGRkYTIzOWMyOGQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZmIwYzFkZjIwMWVkMTEzMGY1NGYxNWI5MTRjYmU1YTU5Mjg2ZTk5NGExMzdhY2RhNTYwOTU3MGM1NzExMmRlMiIKLQotUkRFUEVORFNfJHtQTn0gPSAiZ3N0LW1ldGEtYXVkaW8iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2U0LXNjcmVlbnNob290ZXIveGZjZTQtc2NyZWVuc2hvb3Rlcl8xLjkuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtc2NyZWVuc2hvb3Rlci94ZmNlNC1zY3JlZW5zaG9vdGVyXzEuOS4zLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNmE0Y2RiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtc2NyZWVuc2hvb3Rlci94ZmNlNC1zY3JlZW5zaG9vdGVyXzEuOS4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotU1VNTUFSWSA9ICJBcHBsaWNhdGlvbiB0byB0YWtlIHNjcmVlbnNob3RzIgotSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvYXBwbGljYXRpb25zL3hmY2U0LXNjcmVlbnNob290ZXIiCi1TRUNUSU9OID0gIngxMS9hcHBsaWNhdGlvbiIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kNzkxNzI4YTA3M2JjMDA5YjRmZmFmMDBiNzU5OTg1NSIKLURFUEVORFMgPSAieGZjZTQtcGFuZWwgbGlieGZjZTR1dGlsIGxpYnhmY2U0dWkgZ2RrLXBpeGJ1ZiBndGsrIGdsaWItMi4wIGxpYnNvdXAtMi40IGV4byBsaWJ4Zml4ZXMgeGV4dCB2aXJ0dWFsL2xpYngxMSIKLQotaW5oZXJpdCB4ZmNlLWFwcAotCi1TUkNfVVJJW21kNXN1bV0gPSAiZjc4M2ViNTc1ZTIwMTVmMzllMWMxYWFlNDk5YjExM2YiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzY0ZWJkZGM0Yzk5NzFiNDAyM2FhODAxOWQ0ZTNiZDA4ZjA5MWI2NWRjOThiMjE4YmViNTU4NTFmNjljZWRhMiIKLQotZG9fY29tcGlsZV9wcmVwZW5kKCkgewotICAgIG1rZGlyIC1wIGxpYgotICAgIG1rZGlyIC1wIHNyYyBwYW5lbC1wbHVnaW4KLX0KLQotRklMRVNfJHtQTn0gKz0gIiBcCi0gICAgJHtkYXRhZGlyfS9hcHBkYXRhIFwKLSAgICAke2RhdGFkaXJ9L3hmY2U0L3BhbmVsL3BsdWdpbnMgXAotICAgICR7bGliZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zIFwKLSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtc2NyZWVuc2hvb3Rlci94ZmNlNC1zY3JlZW5zaG9vdGVyXzEuOS40LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlNC1zY3JlZW5zaG9vdGVyL3hmY2U0LXNjcmVlbnNob290ZXJfMS45LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2M1ODQ4YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtc2NyZWVuc2hvb3Rlci94ZmNlNC1zY3JlZW5zaG9vdGVyXzEuOS40LmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiQXBwbGljYXRpb24gdG8gdGFrZSBzY3JlZW5zaG90cyIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL2FwcGxpY2F0aW9ucy94ZmNlNC1zY3JlZW5zaG9vdGVyIgorU0VDVElPTiA9ICJ4MTEvYXBwbGljYXRpb24iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDc5MTcyOGEwNzNiYzAwOWI0ZmZhZjAwYjc1OTk4NTUiCitERVBFTkRTID0gInhmY2U0LXBhbmVsIGxpYnhmY2U0dXRpbCBsaWJ4ZmNlNHVpIGdkay1waXhidWYgZ3RrKyBnbGliLTIuMCBsaWJzb3VwLTIuNCBleG8gbGlieGZpeGVzIHhleHQgdmlydHVhbC9saWJ4MTEiCisKK2luaGVyaXQgeGZjZS1hcHAKKworU1JDX1VSSVttZDVzdW1dID0gIjY4MzIxZTUwOTM5ZmVhM2M2NmYwNzcxZDU5ODQ1ZGFiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM0ZjMyMjViM2Y3M2YxZmViMTg2OTgwN2I4YjI3YWVjNGMzMmEzZTljMjk1NDkxNWE1ZmIzOWQxOGQzYTYwZjIiCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICBta2RpciAtcCBsaWIKKyAgICBta2RpciAtcCBzcmMgcGFuZWwtcGx1Z2luCit9CisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7ZGF0YWRpcn0vYXBwZGF0YSBcCisgICAgJHtkYXRhZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zIFwKKyAgICAke2xpYmRpcn0veGZjZTQvcGFuZWwvcGx1Z2lucyBcCisiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2U0LXRhc2ttYW5hZ2VyL3hmY2U0LXRhc2ttYW5hZ2VyXzEuMi4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlNC10YXNrbWFuYWdlci94ZmNlNC10YXNrbWFuYWdlcl8xLjIuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGFmZWExZC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2U0LXRhc2ttYW5hZ2VyL3hmY2U0LXRhc2ttYW5hZ2VyXzEuMi4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotU1VNTUFSWSA9ICJFYXN5IHRvIHVzZSB0YXNrIG1hbmFnZXIiCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCi0KLWluaGVyaXQgeGZjZS1hcHAKLQotREVQRU5EUyArPSAiZ3RrKyBjYWlybyBsaWJ3bmNrIGxpYnhtdSB4ZmNlNC1kZXYtdG9vbHMtbmF0aXZlIGV4by1uYXRpdmUiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI0YTJkMGIxZTgwMDFmYjM0MzEzOWE5N2Q1N2I1NmVhYSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIyMmU1MjNlMmVlMjMxNzEzZjQwYTQ4ODkwZDhjYmFlOTkzMjBhYzExNzNmN2M2ODUwMmY0OTAzMThlMWUwNDA5IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlNC10YXNrbWFuYWdlci94ZmNlNC10YXNrbWFuYWdlcl8xLjIuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtdGFza21hbmFnZXIveGZjZTQtdGFza21hbmFnZXJfMS4yLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjNhNTljOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtdGFza21hbmFnZXIveGZjZTQtdGFza21hbmFnZXJfMS4yLjIuYmIKQEAgLTAsMCArMSwxMCBAQAorU1VNTUFSWSA9ICJFYXN5IHRvIHVzZSB0YXNrIG1hbmFnZXIiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK2luaGVyaXQgeGZjZS1hcHAKKworREVQRU5EUyArPSAiZ3RrKzMgY2Fpcm8gbGlid25jayBsaWJ4bXUgeGZjZTQtZGV2LXRvb2xzLW5hdGl2ZSBleG8tbmF0aXZlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNjU3ODYyNWZmYmUwNjliMTM4NTMzZmY1ZTc3ZGY3MzQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTQ5YTYxYzgxOWE0ZmQ5Mjg2YTY1YWU2MTYwNTk4NGYzMjdjOGIyNmNmOTM5Mjg5ZjY0NGU2NTZiZmEyMGUxMyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLW11bHRpbWVkaWEveGZjZTQtbXBjLXBsdWdpbi94ZmNlNC1tcGMtcGx1Z2luXzAuNS4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtbXVsdGltZWRpYS94ZmNlNC1tcGMtcGx1Z2luL3hmY2U0LW1wYy1wbHVnaW5fMC41LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlmNTAxZjcuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtbXVsdGltZWRpYS94ZmNlNC1tcGMtcGx1Z2luL3hmY2U0LW1wYy1wbHVnaW5fMC41LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1TVU1NQVJZID0gIlNpbXBsZSBjbGllbnQgcGx1Z2luIGZvciBNdXNpYyBQbGF5ZXIgRGFlbW9uIgotSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC1tcGMtcGx1Z2luIgotU0VDVElPTiA9ICJ4MTEvYXBwbGljYXRpb24iCi1MSUNFTlNFID0gIkJTRCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTM2MDRkOTg3ZTZkZmRmYzY3MmM3NTRkMDg5NTNiMGUwIgotCi1pbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCi0KLURFUEVORFMgKz0gImxpYm1wZCIKLQotIyBXaGlsZSB0aGlzIGl0ZW0gZG9lcyBub3QgcmVxdWlyZSBpdCwgaXQgZGVwZW5kcyBvbiBtcGQgd2hpY2ggZG9lcwotTElDRU5TRV9GTEFHUyA9ICJjb21tZXJjaWFsIgotCi0jIGZvciBub3cgd2UgcmVjb21tZW5kIG91ciBvd24gbXBkLXNlcnZlcgotUlJFQ09NTUVORFNfJHtQTn0gPSAibXBkIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMTNkNWQ5NWVmMGMzMDViYWM0NWZkZTYyMzEyNThlNWQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjEzMjA5MTZhZTMxMTJlNjgyNTY5OTY1MmE1MDJjZWJmYTc4YmIwMDZjNjQ5YjQyZDNkMzMxZGZlNTdiNmNiMCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLW11bHRpbWVkaWEveGZjZTQtbXBjLXBsdWdpbi94ZmNlNC1tcGMtcGx1Z2luXzAuNS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtbXVsdGltZWRpYS94ZmNlNC1tcGMtcGx1Z2luL3hmY2U0LW1wYy1wbHVnaW5fMC41LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODUyMzU0OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLW11bHRpbWVkaWEveGZjZTQtbXBjLXBsdWdpbi94ZmNlNC1tcGMtcGx1Z2luXzAuNS4xLmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiU2ltcGxlIGNsaWVudCBwbHVnaW4gZm9yIE11c2ljIFBsYXllciBEYWVtb24iCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LW1wYy1wbHVnaW4iCitTRUNUSU9OID0gIngxMS9hcHBsaWNhdGlvbiIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzYwNGQ5ODdlNmRmZGZjNjcyYzc1NGQwODk1M2IwZTAiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworREVQRU5EUyArPSAibGlibXBkIgorCisjIFdoaWxlIHRoaXMgaXRlbSBkb2VzIG5vdCByZXF1aXJlIGl0LCBpdCBkZXBlbmRzIG9uIG1wZCB3aGljaCBkb2VzCitMSUNFTlNFX0ZMQUdTID0gImNvbW1lcmNpYWwiCisKKyMgZm9yIG5vdyB3ZSByZWNvbW1lbmQgb3VyIG93biBtcGQtc2VydmVyCitSUkVDT01NRU5EU18ke1BOfSA9ICJtcGQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzMDVkZmRhY2IyYjIxOThlMWYxNjczZDYxZjg2ZTRmNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2MzVlNjc4Yzk3Mjk2NjNlOWVhYWRmY2Y1ODQyNmY3Y2VhMzdlNmQzZmRhNWU4MTg5NTVmYmM4YWRlMDBkZTAxIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9iYXR0ZXJ5L3hmY2U0LWJhdHRlcnktcGx1Z2luXzEuMS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9iYXR0ZXJ5L3hmY2U0LWJhdHRlcnktcGx1Z2luXzEuMS4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZjdjNjVhLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvYmF0dGVyeS94ZmNlNC1iYXR0ZXJ5LXBsdWdpbl8xLjEuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotU1VNTUFSWSA9ICJBIGJhdHRlcnkgbW9uaXRvciBwYW5lbCBwbHVnaW4gZm9yIFhmY2U0LCBjb21wYXRpYmxlIHdpdGggQVBNIGFuZCBBQ1AiCi1IT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LWJhdHRlcnktcGx1Z2luIgotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgotCi1pbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIyNjk0MWM1NzllYmY0MTQzYjdlNDlhYTA4ZWU5YjMwYSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIxZTk0OTY5YjkzZTBjMWQ2ZGE4NzM2NGI2NGMwY2RmYjQwYmFlNWU0YTA1NTAzOWJlOGI2N2I5ZTViM2RkNDRiIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9iYXR0ZXJ5L3hmY2U0LWJhdHRlcnktcGx1Z2luXzEuMS4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9iYXR0ZXJ5L3hmY2U0LWJhdHRlcnktcGx1Z2luXzEuMS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkZTFjZTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2JhdHRlcnkveGZjZTQtYmF0dGVyeS1wbHVnaW5fMS4xLjIuYmIKQEAgLTAsMCArMSw5IEBACitTVU1NQVJZID0gIkEgYmF0dGVyeSBtb25pdG9yIHBhbmVsIHBsdWdpbiBmb3IgWGZjZTQsIGNvbXBhdGlibGUgd2l0aCBBUE0gYW5kIEFDUCIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtYmF0dGVyeS1wbHVnaW4iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworU1JDX1VSSVttZDVzdW1dID0gImJhMWNmZTYxOTA0NjM3M2Y5YWY1YjkwM2M3N2QxODU4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ2MDEzNDlmYTlhOTc5ZGFlOTlhY2UzOWIyNGQ5OWI5N2Y2MmI4MGY0MmFjNWRlYTVhOTllNWFmM2U4OGQ3ZGIiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2NhbGN1bGF0b3IveGZjZTQtY2FsY3VsYXRvci1wbHVnaW5fMC42LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2NhbGN1bGF0b3IveGZjZTQtY2FsY3VsYXRvci1wbHVnaW5fMC42LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRlMGQwYTAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9jYWxjdWxhdG9yL3hmY2U0LWNhbGN1bGF0b3ItcGx1Z2luXzAuNi4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1TVU1NQVJZID0gIkEgY2FsY3VsYXRvciBwbHVnaW4gZm9yIHRoZSBYZmNlIHBhbmVsIgotSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC1jYWxjdWxhdG9yLXBsdWdpbiIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05MDk0MzBmNjNmZGRkNjNmMTIwYmEyOWU4OTc5ZjY1YyIKLQotaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbiBndGstaWNvbi1jYWNoZQotCi1TUkNfVVJJW21kNXN1bV0gPSAiMWI5NTZhODk2OTNkMDM5YTYxYjQ3MjVjZWZiMjNhNGQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZWI1MTc2NTU4MGVhNDY1MGY5Y2YwNjIzODJhODIwZmI2NDgzZWU1ZGJlMDAzYWViNmYwNjM5MjllMjk5ZjljMiIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvY2FsY3VsYXRvci94ZmNlNC1jYWxjdWxhdG9yLXBsdWdpbl8wLjcuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvY2FsY3VsYXRvci94ZmNlNC1jYWxjdWxhdG9yLXBsdWdpbl8wLjcuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjE2NDU2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9jYWxjdWxhdG9yL3hmY2U0LWNhbGN1bGF0b3ItcGx1Z2luXzAuNy4wLmJiCkBAIC0wLDAgKzEsOSBAQAorU1VNTUFSWSA9ICJBIGNhbGN1bGF0b3IgcGx1Z2luIGZvciB0aGUgWGZjZSBwYW5lbCIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtY2FsY3VsYXRvci1wbHVnaW4iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTA5NDMwZjYzZmRkZDYzZjEyMGJhMjllODk3OWY2NWMiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4gZ3RrLWljb24tY2FjaGUKKworU1JDX1VSSVttZDVzdW1dID0gIjFhZTE5MmE2OTgzNGVlMmY1MWYzNGEwYTk4MTE4MWY0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdiNTBhYjk0N2FiMDU4ZTFjMDc5MTEzZTdmMGY4YjM4ZWYyNDJmZWMzNmVjOWYzMWJiNGUzYzE5Y2IzZjlkZTkiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3N5c3RlbWxvYWQveGZjZTQtc3lzdGVtbG9hZC1wbHVnaW5fMS4yLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3N5c3RlbWxvYWQveGZjZTQtc3lzdGVtbG9hZC1wbHVnaW5fMS4yLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVlYjQ1MTguLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9zeXN0ZW1sb2FkL3hmY2U0LXN5c3RlbWxvYWQtcGx1Z2luXzEuMi4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiUGFuZWwgcGx1Z2luIGRpc3BsYXlpbmcgY3VycmVudCBDUFUgbG9hZCwgdGhlIG1lbW9yeSBpbiB1c2UsIHRoZSBzd2FwIHNwYWNlIGFuZCB0aGUgc3lzdGVtIHVwdGltZSIKLUhPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtc3lzdGVtbG9hZC1wbHVnaW4iCi1MSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTlhY2IxNzJhOTNmZjZjNDNjY2UyYWZmNzkwYThhZWY4IgotCi1pbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCi0KLURFUEVORFMgKz0gInVwb3dlciIKLQotU1JDX1VSSVttZDVzdW1dID0gIjU1MDI3N2FmOTg4NmM0NzAwNTExNzExMGY2ZTdlYzBkIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJiZjdkMDgwMjUzNGExZWIyZTlmMjUxYWYyYmI5N2FiYzNmNTg2MDhjMWYwMTUxMWQzMDJjMDYxMTFkMzQ4MTIiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3N5c3RlbWxvYWQveGZjZTQtc3lzdGVtbG9hZC1wbHVnaW5fMS4yLjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3N5c3RlbWxvYWQveGZjZTQtc3lzdGVtbG9hZC1wbHVnaW5fMS4yLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjlmYjJjYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvc3lzdGVtbG9hZC94ZmNlNC1zeXN0ZW1sb2FkLXBsdWdpbl8xLjIuMi5iYgpAQCAtMCwwICsxLDExIEBACitERVNDUklQVElPTiA9ICJQYW5lbCBwbHVnaW4gZGlzcGxheWluZyBjdXJyZW50IENQVSBsb2FkLCB0aGUgbWVtb3J5IGluIHVzZSwgdGhlIHN3YXAgc3BhY2UgYW5kIHRoZSBzeXN0ZW0gdXB0aW1lIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC1zeXN0ZW1sb2FkLXBsdWdpbiIKK0xJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OWFjYjE3MmE5M2ZmNmM0M2NjZTJhZmY3OTBhOGFlZjgiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworREVQRU5EUyArPSAidXBvd2VyIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYzdiOTIzN2VjNGE0MjFkZTVkYWM3NjQ0OWI0YjVhNzgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2M2N2RmZWIwNDJlYWVhNWFjYTQ0MGRlOWM2YjNlY2Y5OWJlMGZiYWExY2Y3ZmRmOWU2NTI4MjMzYjQ2Yzk5ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvd2VhdGhlci94ZmNlNC13ZWF0aGVyLXBsdWdpbl8wLjkuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvd2VhdGhlci94ZmNlNC13ZWF0aGVyLXBsdWdpbl8wLjkuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTY2M2JiOS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3dlYXRoZXIveGZjZTQtd2VhdGhlci1wbHVnaW5fMC45LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi1TVU1NQVJZID0gIlBhbmVsIHBsdWdpbiB0byBkaXNwbGF5IGN1cnJlbnQgdGVtcGVyYXR1cmUgYW5kIHdlYXRoZXIgY29uZGl0aW9uIgotSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC13ZWF0aGVyLXBsdWdpbiIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKLQotaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgotCi1ERVBFTkRTICs9ICJsaWJzb3VwLTIuNCBkYnVzLWdsaWIgdXBvd2VyIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMjVkM2Q5ZmIyZTY4OGE2MTkyMDE2NTVmNmVlYTUxYzIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzQzNjhjZjIzMzI3NzRhZDJhMDUyMjZiMjkxNGVjYjYwZTc1NTBlOWIyMTY0YmU1M2ViZThmMzcwMTk4YmIzZCIKLQotRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0veGZjZTQvd2VhdGhlciIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvd2VhdGhlci94ZmNlNC13ZWF0aGVyLXBsdWdpbl8wLjkuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvd2VhdGhlci94ZmNlNC13ZWF0aGVyLXBsdWdpbl8wLjkuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNTNjYTEzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy93ZWF0aGVyL3hmY2U0LXdlYXRoZXItcGx1Z2luXzAuOS4xLmJiCkBAIC0wLDAgKzEsMTMgQEAKK1NVTU1BUlkgPSAiUGFuZWwgcGx1Z2luIHRvIGRpc3BsYXkgY3VycmVudCB0ZW1wZXJhdHVyZSBhbmQgd2VhdGhlciBjb25kaXRpb24iCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LXdlYXRoZXItcGx1Z2luIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK0RFUEVORFMgKz0gImxpYnNvdXAtMi40IGRidXMtZ2xpYiB1cG93ZXIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlMGJkZTNiYTZhN2U4NjMwMjJhODZhMjNjNzg3MTI1NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3Y2RjMThiOGRmNzU5ZGVlNGNlYWFmNmNlMzAzZWZmN2ZkYTQ4ZTI0N2RiYzI2Yjc4MTQyOTI5MjEzNTA2Y2ZkIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS94ZmNlNC93ZWF0aGVyIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy93aGlza2VybWVudS94ZmNlNC13aGlza2VybWVudS1wbHVnaW5fMi4zLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3doaXNrZXJtZW51L3hmY2U0LXdoaXNrZXJtZW51LXBsdWdpbl8yLjMuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjRhMzJmYy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3doaXNrZXJtZW51L3hmY2U0LXdoaXNrZXJtZW51LXBsdWdpbl8yLjMuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLVNVTU1BUlkgPSAiQW4gYWx0ZXJuYXRlIG1lbnUgZm9yIHRoZSBYZmNlIGRlc2t0b3AgZW52aXJvbm1lbnQiCi1IT01FUEFHRSA9ICJodHRwOi8vZ290dGNvZGUub3JnL3hmY2U0LXdoaXNrZXJtZW51LXBsdWdpbi8iCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCi0KLWluaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4gY21ha2UKLQotU1JDX1VSSVttZDVzdW1dID0gImQyMzgzYzNlYjFiNTRhZGY1YTIwNjk3M2JkMjBmMTU5IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdlNTY5YmIwZGZmN2UzZGIzZDk2NGUyMzMyM2Y1NGM2ZGU3MjQ5NzQxYzZhMGUzM2EwZmE1MDFkODMwNDBiMTYiCi0KLVJSRUNPTU1FTkRTXyR7UE59ICs9ICJtZW51bGlicmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3doaXNrZXJtZW51L3hmY2U0LXdoaXNrZXJtZW51LXBsdWdpbl8yLjMuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvd2hpc2tlcm1lbnUveGZjZTQtd2hpc2tlcm1lbnUtcGx1Z2luXzIuMy4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzMGEyNGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3doaXNrZXJtZW51L3hmY2U0LXdoaXNrZXJtZW51LXBsdWdpbl8yLjMuMi5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIkFuIGFsdGVybmF0ZSBtZW51IGZvciB0aGUgWGZjZSBkZXNrdG9wIGVudmlyb25tZW50IgorSE9NRVBBR0UgPSAiaHR0cDovL2dvdHRjb2RlLm9yZy94ZmNlNC13aGlza2VybWVudS1wbHVnaW4vIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luIGNtYWtlCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlOWFhNmMzMzQ2M2JkNTY0YzQ3ZTE5NDNjMGZjN2FjMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmMWJmNmJlMzdmNzc3OGE0ODZiMTZlZjExNWQ0YzA1MTIwY2MxMmM4N2U0YWYzYWY5YzUwMDEyNzZiZGNiN2NjIgorCitSUkVDT01NRU5EU18ke1BOfSArPSAibWVudWxpYnJlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtc3VwcG9ydC92aW0vdmltXyUuYmJhcHBlbmQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW1fJS5iYmFwcGVuZApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2I0NDk2My4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW1fJS5iYmFwcGVuZAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLXJlcXVpcmUgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAnJHtCUE59X3hmY2UuaW5jJywgJycsIGQpfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtc3VwcG9ydC92aW0vdmltX3hmY2UuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtc3VwcG9ydC92aW0vdmltX3hmY2UuaW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNTQwM2U2Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXN1cHBvcnQvdmltL3ZpbV94ZmNlLmluYworKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0JIyBUaGUgbW91c2UgYmVpbmcgYXV0b2VuYWJsZWQgaXMganVzdCBhbm5veWluZyBpbiB4ZmNlNC10ZXJtaW5hbCAobW91c2UKLQkjIGRyYWcgbWFrZSB2aW0gZ28gaW50byB2aXN1YWwgbW9kZSBhbmQgdGhlcmUgaXMgbm8gcmlnaHQgY2xpY2sgbWVudSksCi0JIyBkZWxldGUgdGhlIGJsb2NrLgotCXNlZCAtaSAnL3RoZSBtb3VzZSB3b3JrcyBqdXN0IGZpbmUvLCs0ZCcgJHtEfS8ke2RhdGFkaXJ9LyR7QlBOfS92aW1yYwotfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9leG8vZXhvXzAuMTIuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvZXhvL2V4b18wLjEyLjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDljNDgyOWIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9leG8vZXhvXzAuMTIuMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLURFU0NSSVBUSU9OPSJBcHBsaWNhdGlvbiBsaWJyYXJ5IGZvciB0aGUgWGZjZSBkZXNrdG9wIGVudmlyb25tZW50IgotU0VDVElPTiA9ICJ4MTEiCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCi1ERVBFTkRTID0gImd0aysgbGlieGZjZTR1dGlsIGxpYnhmY2U0dWkgdmlydHVhbC9saWJ4MTEgbGlidXJpLXBlcmwtbmF0aXZlIGNhaXJvIgotREVQRU5EU19jbGFzcy1uYXRpdmUgPSAiZ2xpYi0yLjAtbmF0aXZlIHhmY2U0LWRldi10b29scy1uYXRpdmUgaW50bHRvb2wtbmF0aXZlIgotCi1pbmhlcml0IHhmY2UgcHl0aG9ubmF0aXZlIHBlcmxuYXRpdmUgZ3RrLWRvYyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFU19jbGFzcy1uYXRpdmUgPSAiIgotCi0jIFNSQ19VUkkgbXVzdCBmb2xsb3cgaW5oZXJpdGVkIG9uZQotU1JDX1VSSSArPSAiIFwKLSAgICBmaWxlOi8vZXhvLW5vLXRlc3RzLTAuOC5wYXRjaCBcCi0gICAgZmlsZTovL2NvbmZpZ3VyZS5wYXRjaCBcCi0iCi0KLVNSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgXAotICAgIGZpbGU6Ly9yZWR1Y2UtYnVpbGQtdG8tZXhvLWNzb3VyY2Utb25seS5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJkYTkzNGM1OTM5ZjJlZTQ1NDBmNWQ0ODk5MTA1M2YwMSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJiOTZmZTg2YmI1MDRhYTliMzMzMmI5NjEwNWQ3NTVmNWQ5MDUyYzkwM2ZkNjU3NGI1MTJhNWVmNzZjMGFkNDM5IgotCi1QQUNLQUdFUyA9KyAiZXhvLWNzb3VyY2UiCi0KLSMgTm90ZTogcHl0aG9uIGJpbmRpbmdzIGRpZCBub3Qgd29yayBpbiBvZS1kZXYgYW5kIGFyZSBhYm91dCB0byBiZSBtb3ZlZCB0bwotIyBweXhmY2Ugc2VlIGh0dHA6Ly9jb21tZW50cy5nbWFuZS5vcmcvZ21hbmUuY29tcC5kZXNrdG9wLnhmY2UuZGV2ZWwudmVyc2lvbjQvMTk1NjAKLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3hmY2U0LyBcCi0gICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3hmY2U0L2V4by0xIFwKLSIKLQotRklMRVNfZXhvLWNzb3VyY2UgKz0gIiR7YmluZGlyfS9leG8tY3NvdXJjZSIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2V4by9leG9fMC4xMi40LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9leG8vZXhvXzAuMTIuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjdlZGZlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9leG8vZXhvXzAuMTIuNC5iYgpAQCAtMCwwICsxLDM2IEBACitERVNDUklQVElPTj0iQXBwbGljYXRpb24gbGlicmFyeSBmb3IgdGhlIFhmY2UgZGVza3RvcCBlbnZpcm9ubWVudCIKK1NFQ1RJT04gPSAieDExIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorREVQRU5EUyA9ICJndGsrIGxpYnhmY2U0dXRpbCBsaWJ4ZmNlNHVpIHZpcnR1YWwvbGlieDExIGxpYnVyaS1wZXJsLW5hdGl2ZSBjYWlybyIKK0RFUEVORFNfY2xhc3MtbmF0aXZlID0gImdsaWItMi4wLW5hdGl2ZSB4ZmNlNC1kZXYtdG9vbHMtbmF0aXZlIGludGx0b29sLW5hdGl2ZSIKKworaW5oZXJpdCB4ZmNlIHB5dGhvbm5hdGl2ZSBwZXJsbmF0aXZlIGd0ay1kb2MgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVNfY2xhc3MtbmF0aXZlID0gIiIKKworIyBTUkNfVVJJIG11c3QgZm9sbG93IGluaGVyaXRlZCBvbmUKK1NSQ19VUkkgKz0gIiBcCisgICAgZmlsZTovL2V4by1uby10ZXN0cy0wLjgucGF0Y2ggXAorICAgIGZpbGU6Ly9jb25maWd1cmUucGF0Y2ggXAorIgorCitTUkNfVVJJX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIFwKKyAgICBmaWxlOi8vcmVkdWNlLWJ1aWxkLXRvLWV4by1jc291cmNlLW9ubHkucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOTYyYmJjY2IzOGRiMGFlY2Q0MTUxY2E5N2Y2YTM5YmMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjBhZjYwODE2YmRiNTcyY2U1M2YxOTQ2MmZiMWYzYTU4OTVhMDQwMTdhODc4ODkzZGMwM2MxNjZlYTIwNTBhZiIKKworUEFDS0FHRVMgPSsgImV4by1jc291cmNlIgorCisjIE5vdGU6IHB5dGhvbiBiaW5kaW5ncyBkaWQgbm90IHdvcmsgaW4gb2UtZGV2IGFuZCBhcmUgYWJvdXQgdG8gYmUgbW92ZWQgdG8KKyMgcHl4ZmNlIHNlZSBodHRwOi8vY29tbWVudHMuZ21hbmUub3JnL2dtYW5lLmNvbXAuZGVza3RvcC54ZmNlLmRldmVsLnZlcnNpb240LzE5NTYwCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS94ZmNlNC8gXAorICAgICAgICAgICAgICAgICR7bGliZGlyfS94ZmNlNC9leG8tMSBcCisiCisKK0ZJTEVTX2V4by1jc291cmNlICs9ICIke2JpbmRpcn0vZXhvLWNzb3VyY2UiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9nYXJjb24vZ2FyY29uXzAuNi4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9nYXJjb24vZ2FyY29uXzAuNi4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNmUyMzY5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvZ2FyY29uL2dhcmNvbl8wLjYuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLURFU0NSSVBUSU9OPSJYZmNlIE1lbnUgTGlicmFyeSIKLVNFQ1RJT04gPSAieDExL2xpYnMiCi1MSUNFTlNFID0gIkxHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA0YTAxYWJjYmRhYmZmYWUxY2EyNjMzNWEyOTMyNzZiIgotREVQRU5EUyA9ICJ4ZmNlNC1kZXYtdG9vbHMtbmF0aXZlIGxpYnhmY2U0dXRpbCBsaWJ4ZmNlNHVpIGludGx0b29sLW5hdGl2ZSIKLQotaW5oZXJpdCB4ZmNlIGd0ay1kb2MgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCi0KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLXhmY2UtYXBwbGljYXRpb25zLm1lbnUtZG9uLXQtYmxvYXQtc2V0dGluZ3MtbWVudS1ieS0ucGF0Y2giCi1TUkNfVVJJW21kNXN1bV0gPSAiMTc0NjkwYWQxOTI0M2Y3ZWY5NTI5Y2IwYzI0YjkwODAiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDFjMzFiYTA0OThjMmNjMzlkZTRhOGUwYzIzNjc1MTBhZGJmNGJjMjEwNGMxN2ZlZWUzNThlNTFlNmFjZjYwMyIKLQotRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1ndGstZG9jIgotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9kZXNrdG9wLWRpcmVjdG9yaWVzIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9nYXJjb24vZ2FyY29uXzAuNi4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9nYXJjb24vZ2FyY29uXzAuNi4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI3MDk2ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2dhcmNvbi9nYXJjb25fMC42LjIuYmIKQEAgLTAsMCArMSwxNyBAQAorREVTQ1JJUFRJT049IlhmY2UgTWVudSBMaWJyYXJ5IgorU0VDVElPTiA9ICJ4MTEvbGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDRhMDFhYmNiZGFiZmZhZTFjYTI2MzM1YTI5MzI3NmIiCitERVBFTkRTID0gInhmY2U0LWRldi10b29scy1uYXRpdmUgbGlieGZjZTR1dGlsIGxpYnhmY2U0dWkgaW50bHRvb2wtbmF0aXZlIgorCitpbmhlcml0IHhmY2UgZ3RrLWRvYyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSSArPSAiZmlsZTovLzAwMDEteGZjZS1hcHBsaWNhdGlvbnMubWVudS1kb24tdC1ibG9hdC1zZXR0aW5ncy1tZW51LWJ5LS5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhNGI2MzMyZmY2ZjA5MDU3NWQ1MzRkNmE5ZDI3NjFkOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhODdmMDk2NDhmZjEwZDQ1YzUyNGIzYmZlNjE4ZjE4NjIyYmRkOGIyMDU1ODlkMzVmZWQyZjEyZDljNzljNDdjIgorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWd0ay1kb2MiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2Rlc2t0b3AtZGlyZWN0b3JpZXMiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLXhmY2UtZXh0ZW5kZWQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLXhmY2UtZXh0ZW5kZWQuYmIKaW5kZXggNWY4YzAzYy4uYjQxMmMyNyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC14ZmNlLWV4dGVuZGVkLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAteGZjZS1leHRlbmRlZC5iYgpAQCAtNjQsNyArNjQsNiBAQAogICAgIHhmY2U0LWFwcGZpbmRlciBcCiAgICAgeGZjZTQtc2NyZWVuc2hvb3RlciBcCiAgICAgeGZjZTQtcG93ZXItbWFuYWdlciBcCi0gICAgeGZjZTQtbWl4ZXIgXAogICAgIHJpc3RyZXR0byBcCiAgICAgeGZjZTQtdGFza21hbmFnZXIgXAogICAgIGdpZ29sbyBcCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3RodW5hci12b2xtYW4vdGh1bmFyLXZvbG1hbl8wLjkuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvdGh1bmFyLXZvbG1hbi90aHVuYXItdm9sbWFuXzAuOS4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YTM3YjY5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvdGh1bmFyLXZvbG1hbi90aHVuYXItdm9sbWFuXzAuOS4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotU1VNTUFSWSA9ICJBdXRvbWF0aWMgbWFuYWdlbWVudCBvZiByZW1vdmFibGUgZHJpdmVzIGFuZCBtZWRpYSBmb3IgdGh1bmFyIgotU0VDVElPTiA9ICJ4MTEiCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCi1ERVBFTkRTID0gImV4byBnbGliLTIuMCBsaWJ4ZmNlNHVpIGxpYnhmY2U0dXRpbCB4ZmNvbmYgbGlibm90aWZ5IGxpYmd1ZGV2IgotCi1pbmhlcml0IHhmY2UgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCi0KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIzYjQwM2E0Zjg0NjkyNzM5MWVhNGJlZTc2NWEwNTVkZiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlNGJmZmNmZWUxNTUzMGUyNzdmYTgwODY1ZWIxZGUzMWU2M2M3ZWZmYWY4ODM1YzlmYTdjNzFlNWEwMDc2YjJlIgotCi1QQUNLQUdFQ09ORklHID8/PSAiIgotUEFDS0FHRUNPTkZJR1tub3RpZnldID0gIi0tZW5hYmxlLW5vdGlmaWNhdGlvbnMsLS1kaXNhYmxlLW5vdGlmaWNhdGlvbnMsbGlibm90aWZ5IgotCi1SREVQRU5EU18ke1BOfSA9ICJlamVjdCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvdGh1bmFyLXZvbG1hbi90aHVuYXItdm9sbWFuXzAuOS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS90aHVuYXItdm9sbWFuL3RodW5hci12b2xtYW5fMC45LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzEyNDUzYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvdGh1bmFyLXZvbG1hbi90aHVuYXItdm9sbWFuXzAuOS4xLmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiQXV0b21hdGljIG1hbmFnZW1lbnQgb2YgcmVtb3ZhYmxlIGRyaXZlcyBhbmQgbWVkaWEgZm9yIHRodW5hciIKK1NFQ1RJT04gPSAieDExIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorREVQRU5EUyA9ICJleG8gZ2xpYi0yLjAgbGlieGZjZTR1aSBsaWJ4ZmNlNHV0aWwgeGZjb25mIGxpYm5vdGlmeSBsaWJndWRldiIKKworaW5oZXJpdCB4ZmNlIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDk5MmExOGY0MjI5MThjMzNiNTYyZDZlNjYwNDU3NTQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiY2Q4NzI5MWE0MjdlOGE1NjFjNTY2ZGNhM2FhN2U5M2I1NmZkY2U0Y2FlZmM3NTVkZGUwZjU5MTk4ZjZkYjM1OSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbbm90aWZ5XSA9ICItLWVuYWJsZS1ub3RpZmljYXRpb25zLC0tZGlzYWJsZS1ub3RpZmljYXRpb25zLGxpYm5vdGlmeSIKKworUkRFUEVORFNfJHtQTn0gPSAiZWplY3QiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3RodW5hci90aHVuYXJfMS44LjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3RodW5hci90aHVuYXJfMS44LjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQyYTBlMzAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS90aHVuYXIvdGh1bmFyXzEuOC4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAotU1VNTUFSWSA9ICJGaWxlIG1hbmFnZXIgZm9yIHRoZSBYZmNlIERlc2t0b3AgRW52aXJvbm1lbnQiCi1TRUNUSU9OID0gIngxMSIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKLURFUEVORFMgPSAiZXhvIGdsaWItMi4wIGd0ayszIGdkay1waXhidWYgbGlieGZjZTR1dGlsIGxpYnhmY2U0dWkgeGZjb25mIGxpYnNtIGRidXMtZ2xpYiBzdGFydHVwLW5vdGlmaWNhdGlvbiBsaWJub3RpZnkgeGZjZTQtcGFuZWwgdWRldiIKLQotaW5oZXJpdCB4ZmNlIGdvYmplY3QtaW50cm9zcGVjdGlvbiBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLQotU1JDX1VSSSA9ICJodHRwOi8vYXJjaGl2ZS54ZmNlLm9yZy9zcmMveGZjZS8ke0JQTn0vJHtAJyR7UFZ9J1swOjNdfS9UaHVuYXItJHtQVn0udGFyLmJ6MiIKLVNSQ19VUklbbWQ1c3VtXSA9ICI1MWEwOTg4NjI1YTdlMmM5NDQzNzdlNzVkM2VmZmM3MSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI3NWY5MTA0NTU0MWViNTk4M2U3NzJhNTY0ZDk3ZjIzZTU5OTUyNTZiZmI5ODYzZTBmNGEwMTUzOTM0MjFkNDI4IgotCi1TID0gIiR7V09SS0RJUn0vVGh1bmFyLSR7UFZ9LyIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiIKLVBBQ0tBR0VDT05GSUdbcGNyZV0gPSAiLS1lbmFibGUtcGNyZSwtLWRpc2FibGUtcGNyZSxsaWJwY3JlIgotCi1GSUxFU18ke1BOfSArPSAiIFwKLSAgICAke2xpYmRpcn0vdGh1bmFyeC0zLyogXAotICAgICR7bGliZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLyogXAotICAgICR7bGliZGlyfS9UaHVuYXIvW1R0XWh1bmFyKiBcCi0gICAgJHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0gXAotICAgICR7ZGF0YWRpcn0vZGJ1cy0xIFwKLSAgICAke2RhdGFkaXJ9L21ldGFpbmZvIFwKLSAgICAke2RhdGFkaXJ9L3BvbGtpdC0xIFwKLSAgICAke2RhdGFkaXJ9L1RodW5hciBcCi0gICAgJHtkYXRhZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLyogXAotIgotCi1SUkVDT01NRU5EU18ke1BOfSA9ICJndmZzIGd2ZnNkLXRyYXNoIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS90aHVuYXIvdGh1bmFyXzEuOC40LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS90aHVuYXIvdGh1bmFyXzEuOC40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3NjY3MTAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3RodW5hci90aHVuYXJfMS44LjQuYmIKQEAgLTAsMCArMSwzMiBAQAorU1VNTUFSWSA9ICJGaWxlIG1hbmFnZXIgZm9yIHRoZSBYZmNlIERlc2t0b3AgRW52aXJvbm1lbnQiCitTRUNUSU9OID0gIngxMSIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKK0RFUEVORFMgPSAiZXhvIGdsaWItMi4wIGd0ayszIGdkay1waXhidWYgbGlieGZjZTR1dGlsIGxpYnhmY2U0dWkgeGZjb25mIGxpYnNtIGRidXMtZ2xpYiBzdGFydHVwLW5vdGlmaWNhdGlvbiBsaWJub3RpZnkgeGZjZTQtcGFuZWwgdWRldiIKKworaW5oZXJpdCB4ZmNlIGdvYmplY3QtaW50cm9zcGVjdGlvbiBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSSA9ICJodHRwOi8vYXJjaGl2ZS54ZmNlLm9yZy9zcmMveGZjZS8ke0JQTn0vJHtAJyR7UFZ9J1swOjNdfS9UaHVuYXItJHtQVn0udGFyLmJ6MiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2YTVkMGY0ZGRjYzY1M2M0NzkxZTU1NWYwZGM2MzgyOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjMmJmNTFkYThkZGVjOGY2NDJkNjc4MTgxODRhZGEyY2E2ZTE0MzE1MWU2YTQ1NTYzOTkxZGI3MzM4N2E5M2IwIgorCitTID0gIiR7V09SS0RJUn0vVGh1bmFyLSR7UFZ9LyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbcGNyZV0gPSAiLS1lbmFibGUtcGNyZSwtLWRpc2FibGUtcGNyZSxsaWJwY3JlIgorCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAke2xpYmRpcn0vdGh1bmFyeC0zLyogXAorICAgICR7bGliZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLyogXAorICAgICR7bGliZGlyfS9UaHVuYXIvW1R0XWh1bmFyKiBcCisgICAgJHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0gXAorICAgICR7ZGF0YWRpcn0vZGJ1cy0xIFwKKyAgICAke2RhdGFkaXJ9L21ldGFpbmZvIFwKKyAgICAke2RhdGFkaXJ9L3BvbGtpdC0xIFwKKyAgICAke2RhdGFkaXJ9L1RodW5hciBcCisgICAgJHtkYXRhZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLyogXAorIgorCitSUkVDT01NRU5EU18ke1BOfSA9ICJndmZzIGd2ZnNkLXRyYXNoIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1hcHBmaW5kZXIveGZjZTQtYXBwZmluZGVyXzQuMTMuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtYXBwZmluZGVyL3hmY2U0LWFwcGZpbmRlcl80LjEzLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAzMzZmNTQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1hcHBmaW5kZXIveGZjZTQtYXBwZmluZGVyXzQuMTMuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLURFU0NSSVBUSU9OPSJYZmNlNCBBcHBsaWNhdGlvbiBGaW5kZXIiCi1TRUNUSU9OID0gIngxMSIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKLURFUEVORFM9ImdsaWItMi4wIGd0ayszIGxpYnhmY2U0dXRpbCBsaWJ4ZmNlNHVpIGdhcmNvbiBkYnVzLWdsaWIgeGZjb25mIgotCi1pbmhlcml0IHhmY2UgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCi0KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI5ZTJhMWY5YjRhZTMxODNjNDYxYjc5ODkxMjI0YzMzZiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI1Y2FiYjI3YmJlMGEwODY0Yjc4NWUxYTM4NTM1YTkxNTE2NzYzZTM4ZDZiZmY0MWEzOTE1YTYxZDI4MjU0YjAzIgotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9hcHBkYXRhIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1hcHBmaW5kZXIveGZjZTQtYXBwZmluZGVyXzQuMTMuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtYXBwZmluZGVyL3hmY2U0LWFwcGZpbmRlcl80LjEzLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTlmNmUyOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtYXBwZmluZGVyL3hmY2U0LWFwcGZpbmRlcl80LjEzLjIuYmIKQEAgLTAsMCArMSwxNCBAQAorREVTQ1JJUFRJT049IlhmY2U0IEFwcGxpY2F0aW9uIEZpbmRlciIKK1NFQ1RJT04gPSAieDExIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorREVQRU5EUz0iZ2xpYi0yLjAgZ3RrKzMgbGlieGZjZTR1dGlsIGxpYnhmY2U0dWkgZ2FyY29uIGRidXMtZ2xpYiB4ZmNvbmYiCisKK2luaGVyaXQgeGZjZSBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSVttZDVzdW1dID0gIjhiNGMyYWI0MTM3NDhmY2QwY2M1MTQ0NDQxOGQ1YWYzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImZkNzc0YWNiY2FiMDhkYmI4OGJjYmYyOGVlY2Y3M2VjOWY1NWIxM2UxZjIwNTgwMjFiNjNmNzAzYzQ5ODlkOTciCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L21ldGFpbmZvIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1wYW5lbC94ZmNlNC1wYW5lbF80LjEzLjMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBhbmVsL3hmY2U0LXBhbmVsXzQuMTMuMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjFhYmY2Ni4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBhbmVsL3hmY2U0LXBhbmVsXzQuMTMuMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLVNVTU1BUlkgPSAiWGZjZTQgUGFuZWwiCi1TRUNUSU9OID0gIngxMSIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yNmE4YmQ3NWQ4Zjg0OThiZGJiZTY0YTI3NzkxZDRlZSIKLURFUEVORFMgPSAibGlieGZjZTR1dGlsIGdhcmNvbiBsaWJ4ZmNlNHVpIHhmY29uZiBleG8gZ3RrKyBndGsrMyBkYnVzIGNhaXJvIHZpcnR1YWwvbGlieDExIGxpYnhtbDIgbGlid25jazMgdmFsYS1uYXRpdmUiCi0KLWluaGVyaXQgeGZjZSBndGstZG9jIGdvYmplY3QtaW50cm9zcGVjdGlvbiBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgZ3RrLWljb24tY2FjaGUgcmVtb3ZlLWxpYnRvb2wKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjBjY2I0NDhlMzc5Mjk0OWViMGFlOWRiOGRjMjI3ODliIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImI0NjdmZWI3ZWU5Nzk3YWQxMmY1NmExNTI1NzBlNDJhOTZiOTRhZDYzNTgwZDQ1NTM2YWFiZWUyODI0NDBjZTgiCi1TUkNfVVJJICs9ICIgXAotICAgIGZpbGU6Ly8wMDAxLXdpbmRvd21lbnUtZG8tbm90LWRpc3BsYXktZGVza3RvcC1pY29uLXdoZW4tbm8td2luZG8ucGF0Y2ggXAotIgotCi1weXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCgpIHsKLSAgICBwbHVnaW5fZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLycpCi0gICAgcGx1Z2luX25hbWUgPSBkLmV4cGFuZCgnJHtQTn0tcGx1Z2luLSVzJykKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwbHVnaW5fZGlyLCAnXmxpYiguKikuc28kJywgcGx1Z2luX25hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgJyR7UE59IHBsdWdpbiBmb3IgJXMnLCBleHRyYV9kZXBlbmRzPScnLCBwcmVwZW5kPVRydWUsCi0gICAgICAgICAgICAgICAgICAgICAgYXV4X2ZpbGVzX3BhdHRlcm49Wycke2RhdGFkaXJ9L3hmY2U0L3BhbmVsL3BsdWdpbnMvJXMuZGVza3RvcCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcke3N5c2NvbmZkaXJ9L3hkZy94ZmNlL3BhbmVsLyVzLSonLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtkYXRhZGlyfS9pY29ucy9oaWNvbG9yLzQ4eDQ4L2FwcHMvKi0lcy5wbmcnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtiaW5kaXJ9LyolcyonXSkKLX0KLQotUEFDS0FHRVNfRFlOQU1JQyArPSAiXiR7UE59LXBsdWdpbi0uKiIKLQotUEFDS0FHRVMgPSsgIiR7UE59LWd0azMiCi0KLUZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0veGZjZTQvcGFuZWwvbWlncmF0ZSBcCi0gICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3hmY2U0L3BhbmVsL3dyYXBwZXItMS4wIgotCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLyoubGEiCi0KLUZJTEVTXyR7UE59LWd0azMgPSAiIFwKLSAgICAke2xpYmRpcn0vbGlieGZjZTRwYW5lbC0yLjAke1NPTElCU30gXAotICAgICR7bGliZGlyfS94ZmNlNC9wYW5lbC93cmFwcGVyLTIuMCBcCi0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBhbmVsL3hmY2U0LXBhbmVsXzQuMTMuNC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtcGFuZWwveGZjZTQtcGFuZWxfNC4xMy40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4ZTA1NGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBhbmVsL3hmY2U0LXBhbmVsXzQuMTMuNC5iYgpAQCAtMCwwICsxLDQwIEBACitTVU1NQVJZID0gIlhmY2U0IFBhbmVsIgorU0VDVElPTiA9ICJ4MTEiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjZhOGJkNzVkOGY4NDk4YmRiYmU2NGEyNzc5MWQ0ZWUiCitERVBFTkRTID0gImxpYnhmY2U0dXRpbCBnYXJjb24gbGlieGZjZTR1aSB4ZmNvbmYgZXhvIGd0aysgZ3RrKzMgZGJ1cyBjYWlybyB2aXJ0dWFsL2xpYngxMSBsaWJ4bWwyIGxpYnduY2szIHZhbGEtbmF0aXZlIgorCitpbmhlcml0IHhmY2UgZ3RrLWRvYyBnb2JqZWN0LWludHJvc3BlY3Rpb24gZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIGd0ay1pY29uLWNhY2hlIHJlbW92ZS1saWJ0b29sCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjMGYxMzJmZWQyMTEwZDM3ZjM1MWFhZGM5ZTgwYTAzNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzNmZmZDI2ZWY3ZjU4NjdjMDFiYTMxMDQ3NWI0MzU4ZmYwZTU4OGNmZDU1OTlhMjY2ZjAwMzdhNmMyMDA1MmExIgorU1JDX1VSSSArPSAiIFwKKyAgICBmaWxlOi8vMDAwMS13aW5kb3dtZW51LWRvLW5vdC1kaXNwbGF5LWRlc2t0b3AtaWNvbi13aGVuLW5vLXdpbmRvLnBhdGNoIFwKKyIKKworcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQoKSB7CisgICAgcGx1Z2luX2RpciA9IGQuZXhwYW5kKCcke2xpYmRpcn0veGZjZTQvcGFuZWwvcGx1Z2lucy8nKQorICAgIHBsdWdpbl9uYW1lID0gZC5leHBhbmQoJyR7UE59LXBsdWdpbi0lcycpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcGx1Z2luX2RpciwgJ15saWIoLiopLnNvJCcsIHBsdWdpbl9uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICcke1BOfSBwbHVnaW4gZm9yICVzJywgZXh0cmFfZGVwZW5kcz0nJywgcHJlcGVuZD1UcnVlLAorICAgICAgICAgICAgICAgICAgICAgIGF1eF9maWxlc19wYXR0ZXJuPVsnJHtkYXRhZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLyVzLmRlc2t0b3AnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtzeXNjb25mZGlyfS94ZGcveGZjZS9wYW5lbC8lcy0qJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7ZGF0YWRpcn0vaWNvbnMvaGljb2xvci80OHg0OC9hcHBzLyotJXMucG5nJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7YmluZGlyfS8qJXMqJ10pCit9CisKK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl4ke1BOfS1wbHVnaW4tLioiCisKK1BBQ0tBR0VTID0rICIke1BOfS1ndGszIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3hmY2U0L3BhbmVsL21pZ3JhdGUgXAorICAgICAgICAgICAgICAgICR7bGliZGlyfS94ZmNlNC9wYW5lbC93cmFwcGVyLTEuMCIKKworRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0veGZjZTQvcGFuZWwvcGx1Z2lucy8qLmxhIgorCitGSUxFU18ke1BOfS1ndGszID0gIiBcCisgICAgJHtsaWJkaXJ9L2xpYnhmY2U0cGFuZWwtMi4wJHtTT0xJQlN9IFwKKyAgICAke2xpYmRpcn0veGZjZTQvcGFuZWwvd3JhcHBlci0yLjAgXAorIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1wb3dlci1tYW5hZ2VyL3hmY2U0LXBvd2VyLW1hbmFnZXJfMS42LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBvd2VyLW1hbmFnZXIveGZjZTQtcG93ZXItbWFuYWdlcl8xLjYuMS5iYgppbmRleCBlZDExN2IwLi4xY2RjYjQxIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBvd2VyLW1hbmFnZXIveGZjZTQtcG93ZXItbWFuYWdlcl8xLjYuMS5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBvd2VyLW1hbmFnZXIveGZjZTQtcG93ZXItbWFuYWdlcl8xLjYuMS5iYgpAQCAtMjAsOCArMjAsOCBAQAogICAgIC0tZW5hYmxlLXBhbmVsLXBsdWdpbnMgXAogIgogCi1QQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsIGQpfSIKLVBBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS1lbmFibGUtcG9sa2l0LCAtLWRpc2FibGUtcG9sa2l0LCBwb2xraXQiCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAncG9sa2l0JywgZCl9IgorUEFDS0FHRUNPTkZJR1twb2xraXRdID0gIi0tZW5hYmxlLXBvbGtpdCwgLS1kaXNhYmxlLXBvbGtpdCwgcG9sa2l0IgogCiBQQUNLQUdFUyArPSAieGZjZTQtcG93ZXJtYW5hZ2VyLXBsdWdpbiIKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmRlc2t0b3AveGZkZXNrdG9wXzQuMTMuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZkZXNrdG9wL3hmZGVza3RvcF80LjEzLjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg1Njk2YTEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmRlc2t0b3AveGZkZXNrdG9wXzQuMTMuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLVNVTU1BUlkgPSAiWGZjZTQgRGVza3RvcCBNYW5hZ2VyIgotU0VDVElPTiA9ICJ4MTEvYmFzZSIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKLURFUEVORFMgPSAibGlieGZjZTR1dGlsIGxpYnhmY2U0dWkgbGlid25jayB4ZmNvbmYgZGJ1cy1nbGliIGRidXMtZ2xpYi1uYXRpdmUgdGh1bmFyIGdhcmNvbiBleG8iCi0KLWluaGVyaXQgeGZjZSBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLQotU1JDX1VSSVttZDVzdW1dID0gImMwNTU2OWMxYzM5Y2NkMzE0ZmI1ZGEyMGQ1MDg2OTA5IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM4N2Y0M2Q4YTQ2MTVmNDQwNjBjMDE5Y2FkMjEyYWMxMmRmNjJjNThlZWEyNjA1ODEzNzQzMTE2ZjcxYWQzYmQiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIiCi1QQUNLQUdFQ09ORklHW25vdGlmeV0gPSAiLS1lbmFibGUtbm90aWZpY2F0aW9ucywtLWRpc2FibGUtbm90aWZpY2F0aW9ucyxsaWJub3RpZnkiCi0KLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2JhY2tncm91bmRzIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmRlc2t0b3AveGZkZXNrdG9wXzQuMTMuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZkZXNrdG9wL3hmZGVza3RvcF80LjEzLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmM3MGE5YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZkZXNrdG9wL3hmZGVza3RvcF80LjEzLjMuYmIKQEAgLTAsMCArMSwxNyBAQAorU1VNTUFSWSA9ICJYZmNlNCBEZXNrdG9wIE1hbmFnZXIiCitTRUNUSU9OID0gIngxMS9iYXNlIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorREVQRU5EUyA9ICJsaWJ4ZmNlNHV0aWwgbGlieGZjZTR1aSBsaWJ3bmNrIHhmY29uZiBkYnVzLWdsaWIgZGJ1cy1nbGliLW5hdGl2ZSB0aHVuYXIgZ2FyY29uIGV4byIKKworaW5oZXJpdCB4ZmNlIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjA4OTQ0ZjFiNjljZTFjNmUxZmJiOWQ3ZjRjYjFkYTciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODBmN2YyOGVmMTc2MzhmZTFjZjQ0ODFkYjY5NDczMWMyMDg3ODVhNTZiNmM4NDAwMDUyMDJmOWMyZGIyMzhmNSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbbm90aWZ5XSA9ICItLWVuYWJsZS1ub3RpZmljYXRpb25zLC0tZGlzYWJsZS1ub3RpZmljYXRpb25zLGxpYm5vdGlmeSIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vYmFja2dyb3VuZHMiCmRpZmYgLS1naXQgYS9tZXRhLXBob3NwaG9yL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1uZXR3b3JrZC1UcmFjay1hZGRyZXNzLWNvbmZpZ3VyYXRpb24ucGF0Y2ggYi9tZXRhLXBob3NwaG9yL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1uZXR3b3JrZC1UcmFjay1hZGRyZXNzLWNvbmZpZ3VyYXRpb24ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM2ODM2NjkuLjAwMDAwMDAKLS0tIGEvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtbmV0d29ya2QtVHJhY2stYWRkcmVzcy1jb25maWd1cmF0aW9uLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzcgKzAsMCBAQAotRnJvbSBhMjRkMGQ5NWRmMTkyOTkxMmMwZjc2N2Y1YWIxMzUzNTUyNDY0Yzg0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogIldpbGxpYW0gQS4gS2VubmluZ3RvbiBJSUkiIDx3aWxsaWFtQHdrZW5uaW5ndG9uLmNvbT4KLURhdGU6IEZyaSwgMzAgTm92IDIwMTggMTU6NTQ6NDUgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSCAxLzNdIG5ldHdvcmtkOiBUcmFjayBhZGRyZXNzIGNvbmZpZ3VyYXRpb24KLQotVGhpcyB3aWxsIGJlIHVzZWZ1bCB0byBhc3NlcnQgdGhhdCBvdXIgc3RhdGljIHJvdXRlIGNvbmZpZ3VyYXRpb24gYWx3YXlzCi1oYXBwZW5zIGFmdGVyIGFkZHJlc3MgY29uZmlndXJhdGlvbiBvbmNlIG91ciBpbmRpdmlkdWFsIGNvbmZpZ3VyZSBzdGF0ZQotZ29lcyBhd2F5LgotCi0oY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBjNDJmZjNhMWE3YmZlYTY2ZGM0NjU1MDk2Yzc5YmQ0ODExNTkwOTFiKQotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0tLS0KLSBzcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmMgfCAxMSArKysrKysrKystLQotIHNyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuaCB8ICAyICsrCi0gMiBmaWxlcyBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL25ldHdvcmsvbmV0d29ya2QtbGluay5jIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtbGluay5jCi1pbmRleCA0YWZjZjg0M2JkLi4wZmFmMzM3MDY5IDEwMDY0NAotLS0tIGEvc3JjL25ldHdvcmsvbmV0d29ya2QtbGluay5jCi0rKysgYi9zcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmMKLUBAIC03MjgsNiArNzI4LDkgQEAgdm9pZCBsaW5rX2NoZWNrX3JlYWR5KExpbmsgKmxpbmspIHsKLSAgICAgICAgIGlmICghbGluay0+bmV0d29yaykKLSAgICAgICAgICAgICAgICAgcmV0dXJuOwotIAotKyAgICAgICAgaWYgKCFsaW5rLT5hZGRyZXNzZXNfY29uZmlndXJlZCkKLSsgICAgICAgICAgICAgICAgcmV0dXJuOwotKwotICAgICAgICAgaWYgKCFsaW5rLT5zdGF0aWNfcm91dGVzX2NvbmZpZ3VyZWQpCi0gICAgICAgICAgICAgICAgIHJldHVybjsKLSAKLUBAIC04MzUsNiArODM4LDggQEAgc3RhdGljIGludCBsaW5rX2VudGVyX3NldF9yb3V0ZXMoTGluayAqbGluaykgewotIAotICAgICAgICAgYXNzZXJ0KGxpbmspOwotICAgICAgICAgYXNzZXJ0KGxpbmstPm5ldHdvcmspOwotKyAgICAgICAgYXNzZXJ0KGxpbmstPmFkZHJlc3Nlc19jb25maWd1cmVkKTsKLSsgICAgICAgIGFzc2VydChsaW5rLT5hZGRyZXNzX21lc3NhZ2VzID09IDApOwotICAgICAgICAgYXNzZXJ0KGxpbmstPnN0YXRlID09IExJTktfU1RBVEVfU0VUVElOR19BRERSRVNTRVMpOwotIAotICAgICAgICAgKHZvaWQpIGxpbmtfc2V0X3JvdXRpbmdfcG9saWN5X3J1bGUobGluayk7Ci1AQCAtOTA0LDYgKzkwOSw3IEBAIHN0YXRpYyBpbnQgYWRkcmVzc19oYW5kbGVyKHNkX25ldGxpbmsgKnJ0bmwsIHNkX25ldGxpbmtfbWVzc2FnZSAqbSwgdm9pZCAqdXNlcmRhCi0gCi0gICAgICAgICBpZiAobGluay0+YWRkcmVzc19tZXNzYWdlcyA9PSAwKSB7Ci0gICAgICAgICAgICAgICAgIGxvZ19saW5rX2RlYnVnKGxpbmssICJBZGRyZXNzZXMgc2V0Iik7Ci0rICAgICAgICAgICAgICAgIGxpbmstPmFkZHJlc3Nlc19jb25maWd1cmVkID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgbGlua19lbnRlcl9zZXRfcm91dGVzKGxpbmspOwotICAgICAgICAgfQotIAotQEAgLTEyMDQsOSArMTIxMCwxMCBAQCBzdGF0aWMgaW50IGxpbmtfZW50ZXJfc2V0X2FkZHJlc3NlcyhMaW5rICpsaW5rKSB7Ci0gICAgICAgICAgICAgICAgIGxvZ19saW5rX2RlYnVnKGxpbmssICJPZmZlcmluZyBESENQdjQgbGVhc2VzIik7Ci0gICAgICAgICB9Ci0gCi0tICAgICAgICBpZiAobGluay0+YWRkcmVzc19tZXNzYWdlcyA9PSAwKQotKyAgICAgICAgaWYgKGxpbmstPmFkZHJlc3NfbWVzc2FnZXMgPT0gMCkgewotKyAgICAgICAgICAgICAgICBsaW5rLT5hZGRyZXNzZXNfY29uZmlndXJlZCA9IHRydWU7Ci0gICAgICAgICAgICAgICAgIGxpbmtfZW50ZXJfc2V0X3JvdXRlcyhsaW5rKTsKLS0gICAgICAgIGVsc2UKLSsgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgICBsb2dfbGlua19kZWJ1ZyhsaW5rLCAiU2V0dGluZyBhZGRyZXNzZXMiKTsKLSAKLSAgICAgICAgIHJldHVybiAwOwotZGlmZiAtLWdpdCBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuaCBiL3NyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuaAotaW5kZXggN2UyMmRmZDUwNC4uMmYzN2NjMTU5OCAxMDA2NDQKLS0tLSBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuaAotKysrIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtbGluay5oCi1AQCAtODAsNiArODAsOCBAQCB0eXBlZGVmIHN0cnVjdCBMaW5rIHsKLSAgICAgICAgIFNldCAqcm91dGVzOwotICAgICAgICAgU2V0ICpyb3V0ZXNfZm9yZWlnbjsKLSAKLSsgICAgICAgIGJvb2wgYWRkcmVzc2VzX2NvbmZpZ3VyZWQ7Ci0rCi0gICAgICAgICBzZF9kaGNwX2NsaWVudCAqZGhjcF9jbGllbnQ7Ci0gICAgICAgICBzZF9kaGNwX2xlYXNlICpkaGNwX2xlYXNlOwotICAgICAgICAgY2hhciAqbGVhc2VfZmlsZTsKLS0tIAotMi4yMC4xLjk3Lmc4MTE4OGQ5M2MzLWdvb2cKLQpkaWZmIC0tZ2l0IGEvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtdGltZWRhdGUtZGVmZXItdGhlLXByb3BlcnR5LWNoYW5nZWQtc2lnbmFsLXVudGlsLWpvYi5wYXRjaCBiL21ldGEtcGhvc3Bob3IvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLXRpbWVkYXRlLWRlZmVyLXRoZS1wcm9wZXJ0eS1jaGFuZ2VkLXNpZ25hbC11bnRpbC1qb2IucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE0M2MzNmIuLjAwMDAwMDAKLS0tIGEvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtdGltZWRhdGUtZGVmZXItdGhlLXByb3BlcnR5LWNoYW5nZWQtc2lnbmFsLXVudGlsLWpvYi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE3OSArMCwwIEBACi1Gcm9tIDNhZjBhOTZjMGZjYzYyM2JkMTY2NDlmYzM2NDAzOTZhNjU3Y2Y5ZWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBZdSBXYXRhbmFiZSA8d2F0YW5hYmUueXUrZ2l0aHViQGdtYWlsLmNvbT4KLURhdGU6IFN1biwgMjIgSnVsIDIwMTggMjM6MTA6MDIgKzA5MDAKLVN1YmplY3Q6IFtQQVRDSF0gdGltZWRhdGU6IGRlZmVyIHRoZSBwcm9wZXJ0eSBjaGFuZ2VkIHNpZ25hbCB1bnRpbCBqb2Igb2YKLSBzdGFydGluZy9zdG9wcGluZyBOVFAgc2VydmljZSBpcyBmaW5pc2hlZAotCi1CZWZvcmUgdGhpcywgdGhlIHByb3BlcnR5IGNoYW5nZWQgc2lnbmFsIGlzIGVtaXR0ZWQgaW1tZWRpYXRlbHkgYWZ0ZXIKLVN0YXJ0VW5pdC9TdG9wVW5pdCBtZXRob2QgaXMgY2FsbGVkLiBTbywgdGhlIHJ1bm5pbmcgc3RhdGUgb2YgdGhlIE5UUAotY2xpZW50IHNlcnZpY2UgbWF5IG5vdCB1cGRhdGVkLgotVGhpcyBtYWtlcyB0aGUgdGltaW5nIG9mIGVtaXR0aW5nIHByb3BlcnR5IGNoYW5nZWQgc2lnbmFsIGlzIGRlZmVycmVkCi11bnRpbCBqb2Igb2Ygc3RhcnRpbmcvc3RvcHBpbmcgTlRQIGNsaWVudCBzZXJ2aWNlIGlzIGNvbXBsZXRlZC4KLQotRml4ZXMgIzk2NzIuCi0tLS0KLSBzcmMvdGltZWRhdGUvdGltZWRhdGVkLmMgfCA3OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNjUgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvdGltZWRhdGUvdGltZWRhdGVkLmMgYi9zcmMvdGltZWRhdGUvdGltZWRhdGVkLmMKLWluZGV4IDZjOTU3NjQuLjAxMmNiZTAgMTAwNjQ0Ci0tLS0gYS9zcmMvdGltZWRhdGUvdGltZWRhdGVkLmMKLSsrKyBiL3NyYy90aW1lZGF0ZS90aW1lZGF0ZWQuYwotQEAgLTQ2LDYgKzQ2LDkgQEAgdHlwZWRlZiBzdHJ1Y3QgQ29udGV4dCB7Ci0gICAgICAgICBIYXNobWFwICpwb2xraXRfcmVnaXN0cnk7Ci0gICAgICAgICBzZF9idXNfbWVzc2FnZSAqY2FjaGU7Ci0gCi0rICAgICAgICBzZF9idXNfc2xvdCAqc2xvdF9qb2JfcmVtb3ZlZDsKLSsgICAgICAgIGNoYXIgKnBhdGhfbnRwX3VuaXQ7Ci0rCi0gICAgICAgICBMSVNUX0hFQUQoVW5pdFN0YXR1c0luZm8sIHVuaXRzKTsKLSB9IENvbnRleHQ7Ci0gCi1AQCAtNzQsNiArNzcsOSBAQCBzdGF0aWMgdm9pZCBjb250ZXh0X2ZyZWUoQ29udGV4dCAqYykgewotICAgICAgICAgYnVzX3ZlcmlmeV9wb2xraXRfYXN5bmNfcmVnaXN0cnlfZnJlZShjLT5wb2xraXRfcmVnaXN0cnkpOwotICAgICAgICAgc2RfYnVzX21lc3NhZ2VfdW5yZWYoYy0+Y2FjaGUpOwotIAotKyAgICAgICAgc2RfYnVzX3Nsb3RfdW5yZWYoYy0+c2xvdF9qb2JfcmVtb3ZlZCk7Ci0rICAgICAgICBmcmVlKGMtPnBhdGhfbnRwX3VuaXQpOwotKwotICAgICAgICAgd2hpbGUgKChwID0gYy0+dW5pdHMpKSB7Ci0gICAgICAgICAgICAgICAgIExJU1RfUkVNT1ZFKHVuaXRzLCBjLT51bml0cywgcCk7Ci0gICAgICAgICAgICAgICAgIHVuaXRfc3RhdHVzX2luZm9fZnJlZShwKTsKLUBAIC0zNDUsMTcgKzM1MSw1NSBAQCBzdGF0aWMgaW50IGNvbnRleHRfdXBkYXRlX250cF9zdGF0dXMoQ29udGV4dCAqYywgc2RfYnVzICpidXMsIHNkX2J1c19tZXNzYWdlICptKQotICAgICAgICAgcmV0dXJuIDA7Ci0gfQotIAotLXN0YXRpYyBpbnQgdW5pdF9zdGFydF9vcl9zdG9wKFVuaXRTdGF0dXNJbmZvICp1LCBzZF9idXMgKmJ1cywgc2RfYnVzX2Vycm9yICplcnJvciwgYm9vbCBzdGFydCkgewotK3N0YXRpYyBpbnQgbWF0Y2hfam9iX3JlbW92ZWQoc2RfYnVzX21lc3NhZ2UgKm0sIHZvaWQgKnVzZXJkYXRhLCBzZF9idXNfZXJyb3IgKmVycm9yKSB7Ci0rICAgICAgICBjb25zdCBjaGFyICpwYXRoOwotKyAgICAgICAgQ29udGV4dCAqYyA9IHVzZXJkYXRhOwotKyAgICAgICAgaW50IHI7Ci0rCi0rICAgICAgICBhc3NlcnQoYyk7Ci0rICAgICAgICBhc3NlcnQobSk7Ci0rCi0rICAgICAgICByID0gc2RfYnVzX21lc3NhZ2VfcmVhZChtLCAidW9zcyIsIE5VTEwsICZwYXRoLCBOVUxMLCBOVUxMKTsKLSsgICAgICAgIGlmIChyIDwgMCkgewotKyAgICAgICAgICAgICAgICBidXNfbG9nX3BhcnNlX2Vycm9yKHIpOwotKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSsgICAgICAgIH0KLSsKLSsgICAgICAgIGlmICghc3RyZXFfcHRyKHBhdGgsIGMtPnBhdGhfbnRwX3VuaXQpKQotKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSsKLSsgICAgICAgICh2b2lkKSBzZF9idXNfZW1pdF9wcm9wZXJ0aWVzX2NoYW5nZWQoc2RfYnVzX21lc3NhZ2VfZ2V0X2J1cyhtKSwgIi9vcmcvZnJlZWRlc2t0b3AvdGltZWRhdGUxIiwgIm9yZy5mcmVlZGVza3RvcC50aW1lZGF0ZTEiLCAiTlRQIiwgTlVMTCk7Ci0rCi0rICAgICAgICBjLT5zbG90X2pvYl9yZW1vdmVkID0gc2RfYnVzX3Nsb3RfdW5yZWYoYy0+c2xvdF9qb2JfcmVtb3ZlZCk7Ci0rICAgICAgICBjLT5wYXRoX250cF91bml0ID0gbWZyZWUoYy0+cGF0aF9udHBfdW5pdCk7Ci0rCi0rICAgICAgICByZXR1cm4gMDsKLSt9Ci0rCi0rc3RhdGljIGludCB1bml0X3N0YXJ0X29yX3N0b3AoQ29udGV4dCAqYywgVW5pdFN0YXR1c0luZm8gKnUsIHNkX2J1cyAqYnVzLCBzZF9idXNfZXJyb3IgKmVycm9yLCBib29sIHN0YXJ0KSB7Ci0rICAgICAgICBfY2xlYW51cF8oc2RfYnVzX21lc3NhZ2VfdW5yZWZwKSBzZF9idXNfbWVzc2FnZSAqcmVwbHkgPSBOVUxMOwotKyAgICAgICAgX2NsZWFudXBfKHNkX2J1c19zbG90X3VucmVmcCkgc2RfYnVzX3Nsb3QgKnNsb3QgPSBOVUxMOwotKyAgICAgICAgY29uc3QgY2hhciAqcGF0aDsKLSAgICAgICAgIGludCByOwotIAotKyAgICAgICAgYXNzZXJ0KGMpOwotICAgICAgICAgYXNzZXJ0KHUpOwotICAgICAgICAgYXNzZXJ0KGJ1cyk7Ci0gICAgICAgICBhc3NlcnQoZXJyb3IpOwotIAotLSAgICAgICAgLyogQ2FsbCBjb250ZXh0X3VwZGF0ZV9udHBfc3RhdHVzKCkgdG8gdXBkYXRlIFVuaXRTdGF0dXNJbmZvIGJlZm9yZSBjYWxsaW5nIHRoaXMuICovCi0rICAgICAgICAvKiBUaGlzIG1ldGhvZCBtYXkgYmUgY2FsbGVkIGZyZXF1ZW50bHkuIEZvcmdldCB0aGUgcHJldmlvdXMgam9iIGlmIGl0IGhhcyBub3QgY29tcGxldGVkIHlldC4gKi8KLSsgICAgICAgIGMtPnNsb3Rfam9iX3JlbW92ZWQgPSBzZF9idXNfc2xvdF91bnJlZihjLT5zbG90X2pvYl9yZW1vdmVkKTsKLSAKLS0gICAgICAgIGlmIChzdHJlcSh1LT5hY3RpdmVfc3RhdGUsICJhY3RpdmUiKSA9PSBzdGFydCkKLS0gICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0rICAgICAgICByID0gc2RfYnVzX21hdGNoX3NpZ25hbF9hc3luYygKLSsgICAgICAgICAgICAgICAgICAgICAgICBidXMsCi0rICAgICAgICAgICAgICAgICAgICAgICAgJnNsb3QsCi0rICAgICAgICAgICAgICAgICAgICAgICAgIm9yZy5mcmVlZGVza3RvcC5zeXN0ZW1kMSIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgIi9vcmcvZnJlZWRlc2t0b3Avc3lzdGVtZDEiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICJvcmcuZnJlZWRlc2t0b3Auc3lzdGVtZDEuTWFuYWdlciIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgIkpvYlJlbW92ZWQiLAotKyAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoX2pvYl9yZW1vdmVkLCBOVUxMLCBjKTsKLSsgICAgICAgIGlmIChyIDwgMCkKLSsgICAgICAgICAgICAgICAgcmV0dXJuIHI7Ci0gCi0gICAgICAgICByID0gc2RfYnVzX2NhbGxfbWV0aG9kKAotICAgICAgICAgICAgICAgICBidXMsCi1AQCAtMzY0LDEzICs0MDgsMjIgQEAgc3RhdGljIGludCB1bml0X3N0YXJ0X29yX3N0b3AoVW5pdFN0YXR1c0luZm8gKnUsIHNkX2J1cyAqYnVzLCBzZF9idXNfZXJyb3IgKmVycm8KLSAgICAgICAgICAgICAgICAgIm9yZy5mcmVlZGVza3RvcC5zeXN0ZW1kMS5NYW5hZ2VyIiwKLSAgICAgICAgICAgICAgICAgc3RhcnQgPyAiU3RhcnRVbml0IiA6ICJTdG9wVW5pdCIsCi0gICAgICAgICAgICAgICAgIGVycm9yLAotLSAgICAgICAgICAgICAgICBOVUxMLAotKyAgICAgICAgICAgICAgICAmcmVwbHksCi0gICAgICAgICAgICAgICAgICJzcyIsCi0gICAgICAgICAgICAgICAgIHUtPm5hbWUsCi0gICAgICAgICAgICAgICAgICJyZXBsYWNlIik7Ci0gICAgICAgICBpZiAociA8IDApCi0gICAgICAgICAgICAgICAgIHJldHVybiByOwotIAotKyAgICAgICAgciA9IHNkX2J1c19tZXNzYWdlX3JlYWQocmVwbHksICJvIiwgJnBhdGgpOwotKyAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICByZXR1cm4gYnVzX2xvZ19wYXJzZV9lcnJvcihyKTsKLSsKLSsgICAgICAgIHIgPSBmcmVlX2FuZF9zdHJkdXAoJmMtPnBhdGhfbnRwX3VuaXQsIHBhdGgpOwotKyAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICByZXR1cm4gbG9nX29vbSgpOwotKwotKyAgICAgICAgYy0+c2xvdF9qb2JfcmVtb3ZlZCA9IFRBS0VfUFRSKHNsb3QpOwotICAgICAgICAgcmV0dXJuIDA7Ci0gfQotIAotQEAgLTQyMiw4ICs0NzUsOSBAQCBzdGF0aWMgaW50IHVuaXRfZW5hYmxlX29yX2Rpc2FibGUoVW5pdFN0YXR1c0luZm8gKnUsIHNkX2J1cyAqYnVzLCBzZF9idXNfZXJyb3IgKgotICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7Ci0tICAgICAgICAgaWYgKHIgPCAwKQotLSAgICAgICAgICAgICAgICAgcmV0dXJuIHI7Ci0rICAgICAgICBpZiAociA8IDApCi0rICAgICAgICAgICAgICAgIHJldHVybiByOwotKwotICAgICAgICAgcmV0dXJuIDA7Ci0gfQotIAotQEAgLTgxMyw3ICs4NjcsNyBAQCBzdGF0aWMgaW50IG1ldGhvZF9zZXRfbnRwKHNkX2J1c19tZXNzYWdlICptLCB2b2lkICp1c2VyZGF0YSwgc2RfYnVzX2Vycm9yICplcnJvcgotICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChxIDwgMCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBxOwotIAotLSAgICAgICAgICAgICAgICAgICAgICAgIHEgPSB1bml0X3N0YXJ0X29yX3N0b3AodSwgYnVzLCBlcnJvciwgZW5hYmxlKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBxID0gdW5pdF9zdGFydF9vcl9zdG9wKGMsIHUsIGJ1cywgZXJyb3IsIGVuYWJsZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHEgPCAwKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IHE7Ci0gICAgICAgICAgICAgICAgIH0KLUBAIC04MjcsMTcgKzg4MSwxNyBAQCBzdGF0aWMgaW50IG1ldGhvZF9zZXRfbnRwKHNkX2J1c19tZXNzYWdlICptLCB2b2lkICp1c2VyZGF0YSwgc2RfYnVzX2Vycm9yICplcnJvcgotICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyIDwgMCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotIAotLSAgICAgICAgICAgICAgICAgICAgICAgIHIgPSB1bml0X3N0YXJ0X29yX3N0b3AodSwgYnVzLCBlcnJvciwgZW5hYmxlKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICByID0gdW5pdF9zdGFydF9vcl9zdG9wKGMsIHUsIGJ1cywgZXJyb3IsIGVuYWJsZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgIH0KLSAKLS0gICAgICAgIGVsc2UgaWYgKGNvbnRleHRfbnRwX3NlcnZpY2VfaXNfYWN0aXZlKGMpIDw9IDApCi0rICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgIExJU1RfRk9SRUFDSCh1bml0cywgdSwgYy0+dW5pdHMpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXN0cmVxKHUtPmxvYWRfc3RhdGUsICJsb2FkZWQiKSB8fAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhc3RyZXEodS0+dW5pdF9maWxlX3N0YXRlLCAiZW5hYmxlZCIpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gCi0tICAgICAgICAgICAgICAgICAgICAgICAgciA9IHVuaXRfc3RhcnRfb3Jfc3RvcCh1LCBidXMsIGVycm9yLCBlbmFibGUpOwotKyAgICAgICAgICAgICAgICAgICAgICAgIHIgPSB1bml0X3N0YXJ0X29yX3N0b3AoYywgdSwgYnVzLCBlcnJvciwgZW5hYmxlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgfQotIAotQEAgLTg0Niw4ICs5MDAsNiBAQCBzdGF0aWMgaW50IG1ldGhvZF9zZXRfbnRwKHNkX2J1c19tZXNzYWdlICptLCB2b2lkICp1c2VyZGF0YSwgc2RfYnVzX2Vycm9yICplcnJvcgotIAotICAgICAgICAgbG9nX2luZm8oIlNldCBOVFAgdG8gJXNkIiwgZW5hYmxlX2Rpc2FibGUoZW5hYmxlKSk7Ci0gCi0tICAgICAgICAodm9pZCkgc2RfYnVzX2VtaXRfcHJvcGVydGllc19jaGFuZ2VkKGJ1cywgIi9vcmcvZnJlZWRlc2t0b3AvdGltZWRhdGUxIiwgIm9yZy5mcmVlZGVza3RvcC50aW1lZGF0ZTEiLCAiTlRQIiwgTlVMTCk7Ci0tCi0gICAgICAgICByZXR1cm4gc2RfYnVzX3JlcGx5X21ldGhvZF9yZXR1cm4obSwgTlVMTCk7Ci0gfQotIAotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9tZXRhLXBob3NwaG9yL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS10aW1lZGF0ZS10cmVhdC1hY3RpdmF0aW5nLW9yLWluYWN0aXZhdGluZy1OVFAtY2xpZW50LnBhdGNoIGIvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtdGltZWRhdGUtdHJlYXQtYWN0aXZhdGluZy1vci1pbmFjdGl2YXRpbmctTlRQLWNsaWVudC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmNhMTZhYi4uMDAwMDAwMAotLS0gYS9tZXRhLXBob3NwaG9yL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS10aW1lZGF0ZS10cmVhdC1hY3RpdmF0aW5nLW9yLWluYWN0aXZhdGluZy1OVFAtY2xpZW50LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotRnJvbSA4NGE4NzcyNmVlYzg4ZTdiMTFjOGFhNjMzYmNhMDA2YTBjMGZjNDM1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogWXUgV2F0YW5hYmUgPHdhdGFuYWJlLnl1K2dpdGh1YkBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDE1IEphbiAyMDE5IDAyOjU5OjQ4ICswOTAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8yXSB0aW1lZGF0ZTogdHJlYXQgJ2FjdGl2YXRpbmcnIG9yICdpbmFjdGl2YXRpbmcnIE5UUCBjbGllbnQKLSBzdGF0dXMgYXMgJ2FjdGl2ZScKLQotV2hlbiBgdGltZWRhdGVjdGwgc2V0LXRpbWVgIGlzIGNhbGxlZCwgTlRQIGNsaWVudCBtYXkgYmUgaW4KLSdhY3RpdmF0aW5nJyBvciBzb21ldGhpbmcuIEZvciBzYWZldHksIGxldCdzIHRyZWF0IHN1Y2ggc3RhdGVzIGFzCi0nYWN0aXZlJy4KLQotVGhpcyBhbHNvIGNoYW5nZXMgYWxsIHVuaXQgZmlsZSBzdGF0dXMgZXhjZXB0IGZvciAnbWFza2VkJyBvciAnZGlzYWJsZWQnCi1hcmUgdHJlYXRlZCBhcyAnZW5hYmxlZCcuCi0tLS0KLSBzcmMvdGltZWRhdGUvdGltZWRhdGVkLmMgfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3RpbWVkYXRlL3RpbWVkYXRlZC5jIGIvc3JjL3RpbWVkYXRlL3RpbWVkYXRlZC5jCi1pbmRleCBlMTY4ODg5Li4xMjMwOGJlIDEwMDY0NAotLS0tIGEvc3JjL3RpbWVkYXRlL3RpbWVkYXRlZC5jCi0rKysgYi9zcmMvdGltZWRhdGUvdGltZWRhdGVkLmMKLUBAIC0xNjAsNyArMTYwLDcgQEAgc3RhdGljIGludCBjb250ZXh0X250cF9zZXJ2aWNlX2lzX2FjdGl2ZShDb250ZXh0ICpjKSB7Ci0gICAgICAgICAvKiBDYWxsIGNvbnRleHRfdXBkYXRlX250cF9zdGF0dXMoKSB0byB1cGRhdGUgVW5pdFN0YXR1c0luZm8gYmVmb3JlIGNhbGxpbmcgdGhpcy4gKi8KLSAKLSAgICAgICAgIExJU1RfRk9SRUFDSCh1bml0cywgaW5mbywgYy0+dW5pdHMpCi0tICAgICAgICAgICAgICAgIGNvdW50ICs9IHN0cmVxX3B0cihpbmZvLT5hY3RpdmVfc3RhdGUsICJhY3RpdmUiKTsKLSsgICAgICAgICAgICAgICAgY291bnQgKz0gIVNUUlBUUl9JTl9TRVQoaW5mby0+YWN0aXZlX3N0YXRlLCAiaW5hY3RpdmUiLCAiZmFpbGVkIik7Ci0gCi0gICAgICAgICByZXR1cm4gY291bnQ7Ci0gfQotQEAgLTE3NCw3ICsxNzQsNyBAQCBzdGF0aWMgaW50IGNvbnRleHRfbnRwX3NlcnZpY2VfaXNfZW5hYmxlZChDb250ZXh0ICpjKSB7Ci0gICAgICAgICAvKiBDYWxsIGNvbnRleHRfdXBkYXRlX250cF9zdGF0dXMoKSB0byB1cGRhdGUgVW5pdFN0YXR1c0luZm8gYmVmb3JlIGNhbGxpbmcgdGhpcy4gKi8KLSAKLSAgICAgICAgIExJU1RfRk9SRUFDSCh1bml0cywgaW5mbywgYy0+dW5pdHMpCi0tICAgICAgICAgICAgICAgIGNvdW50ICs9IFNUUlBUUl9JTl9TRVQoaW5mby0+dW5pdF9maWxlX3N0YXRlLCAiZW5hYmxlZCIsICJlbmFibGVkLXJ1bnRpbWUiKTsKLSsgICAgICAgICAgICAgICAgY291bnQgKz0gIVNUUlBUUl9JTl9TRVQoaW5mby0+dW5pdF9maWxlX3N0YXRlLCAibWFza2VkIiwgIm1hc2tlZC1ydW50aW1lIiwgImRpc2FibGVkIiwgImJhZCIpOwotIAotICAgICAgICAgcmV0dXJuIGNvdW50OwotIH0KLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDItbmV0d29ya2QtVXNlLW9ubHktYS1nZW5lcmljLUNPTkZJR1VSSU5HLXN0YXRlLnBhdGNoIGIvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDItbmV0d29ya2QtVXNlLW9ubHktYS1nZW5lcmljLUNPTkZJR1VSSU5HLXN0YXRlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OWM0Y2MzLi4wMDAwMDAwCi0tLSBhL21ldGEtcGhvc3Bob3IvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAyLW5ldHdvcmtkLVVzZS1vbmx5LWEtZ2VuZXJpYy1DT05GSUdVUklORy1zdGF0ZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE3NiArMCwwIEBACi1Gcm9tIDMyODNkMTVmZTMzZGEzOTJiNzE3NGViNGI4MmE1YWQxY2UwM2E2ZTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiAiV2lsbGlhbSBBLiBLZW5uaW5ndG9uIElJSSIgPHdpbGxpYW1Ad2tlbm5pbmd0b24uY29tPgotRGF0ZTogRnJpLCAzMCBOb3YgMjAxOCAxNTozNjozMyAtMDgwMAotU3ViamVjdDogW1BBVENIIDIvM10gbmV0d29ya2Q6IFVzZSBvbmx5IGEgZ2VuZXJpYyBDT05GSUdVUklORyBzdGF0ZQotCi1UaGlzIGFsbG93cyB1cyB0byBjb252ZXkgdGhhdCB3ZSBhcmUgcGVyZm9ybWluZyBtdWx0aXBsZSBsaW5rCi1jb25maWd1cmF0aW9uIGNoYW5nZXMgaW4gcGFyYWxsZWwuIFRoaXMgaXMgbmVlZGVkIHRvIHN1cHBvcnQgY29uZmlndXJpbmcKLW5laWdoYm9ycyB3aGlsZSBzaW11bHRhbmVvdXNseSBjb25maWd1cmluZyBhZGRyZXNzZXMgYW5kIHJvdXRlcy4KLQotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMjg5ZTY3NzRkMGRhZWZlODY3NzExNzFiOGY0Zjk3YjYzMzU0NjgzZSkKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotLS0tCi0gc3JjL25ldHdvcmsvbmV0d29ya2QtbGluay5jIHwgMzcgKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLQotIHNyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuaCB8ICA0ICstLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDIzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL25ldHdvcmsvbmV0d29ya2QtbGluay5jIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtbGluay5jCi1pbmRleCAwZmFmMzM3MDY5Li43MWI5MjE4NWNkIDEwMDY0NAotLS0tIGEvc3JjL25ldHdvcmsvbmV0d29ya2QtbGluay5jCi0rKysgYi9zcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmMKLUBAIC03MDYsNyArNzA2LDcgQEAgc3RhdGljIHZvaWQgbGlua19lbnRlcl9jb25maWd1cmVkKExpbmsgKmxpbmspIHsKLSAgICAgICAgIGFzc2VydChsaW5rKTsKLSAgICAgICAgIGFzc2VydChsaW5rLT5uZXR3b3JrKTsKLSAKLS0gICAgICAgIGlmIChsaW5rLT5zdGF0ZSAhPSBMSU5LX1NUQVRFX1NFVFRJTkdfUk9VVEVTKQotKyAgICAgICAgaWYgKGxpbmstPnN0YXRlICE9IExJTktfU1RBVEVfQ09ORklHVVJJTkcpCi0gICAgICAgICAgICAgICAgIHJldHVybjsKLSAKLSAgICAgICAgIGxvZ19saW5rX2luZm8obGluaywgIkNvbmZpZ3VyZWQiKTsKLUBAIC04MTAsOSArODEwLDggQEAgc3RhdGljIGludCByb3V0ZV9oYW5kbGVyKHNkX25ldGxpbmsgKnJ0bmwsIHNkX25ldGxpbmtfbWVzc2FnZSAqbSwgdm9pZCAqdXNlcmRhdGEKLSAgICAgICAgIGludCByOwotIAotICAgICAgICAgYXNzZXJ0KGxpbmstPnJvdXRlX21lc3NhZ2VzID4gMCk7Ci0tICAgICAgICBhc3NlcnQoSU5fU0VUKGxpbmstPnN0YXRlLCBMSU5LX1NUQVRFX1NFVFRJTkdfQUREUkVTU0VTLAotLSAgICAgICAgICAgICAgICAgICAgICBMSU5LX1NUQVRFX1NFVFRJTkdfUk9VVEVTLCBMSU5LX1NUQVRFX0ZBSUxFRCwKLS0gICAgICAgICAgICAgICAgICAgICAgTElOS19TVEFURV9MSU5HRVIpKTsKLSsgICAgICAgIGFzc2VydChJTl9TRVQobGluay0+c3RhdGUsIExJTktfU1RBVEVfQ09ORklHVVJJTkcsCi0rICAgICAgICAgICAgICAgICAgICAgIExJTktfU1RBVEVfRkFJTEVELCBMSU5LX1NUQVRFX0xJTkdFUikpOwotIAotICAgICAgICAgbGluay0+cm91dGVfbWVzc2FnZXMtLTsKLSAKLUBAIC04MzIsNyArODMxLDcgQEAgc3RhdGljIGludCByb3V0ZV9oYW5kbGVyKHNkX25ldGxpbmsgKnJ0bmwsIHNkX25ldGxpbmtfbWVzc2FnZSAqbSwgdm9pZCAqdXNlcmRhdGEKLSAgICAgICAgIHJldHVybiAxOwotIH0KLSAKLS1zdGF0aWMgaW50IGxpbmtfZW50ZXJfc2V0X3JvdXRlcyhMaW5rICpsaW5rKSB7Ci0rc3RhdGljIGludCBsaW5rX3JlcXVlc3Rfc2V0X3JvdXRlcyhMaW5rICpsaW5rKSB7Ci0gICAgICAgICBSb3V0ZSAqcnQ7Ci0gICAgICAgICBpbnQgcjsKLSAKLUBAIC04NDAsMTEgKzgzOSwxMSBAQCBzdGF0aWMgaW50IGxpbmtfZW50ZXJfc2V0X3JvdXRlcyhMaW5rICpsaW5rKSB7Ci0gICAgICAgICBhc3NlcnQobGluay0+bmV0d29yayk7Ci0gICAgICAgICBhc3NlcnQobGluay0+YWRkcmVzc2VzX2NvbmZpZ3VyZWQpOwotICAgICAgICAgYXNzZXJ0KGxpbmstPmFkZHJlc3NfbWVzc2FnZXMgPT0gMCk7Ci0tICAgICAgICBhc3NlcnQobGluay0+c3RhdGUgPT0gTElOS19TVEFURV9TRVRUSU5HX0FERFJFU1NFUyk7Ci0rICAgICAgICBhc3NlcnQobGluay0+c3RhdGUgIT0gX0xJTktfU1RBVEVfSU5WQUxJRCk7Ci0gCi0tICAgICAgICAodm9pZCkgbGlua19zZXRfcm91dGluZ19wb2xpY3lfcnVsZShsaW5rKTsKLSsgICAgICAgIGxpbmtfc2V0X3N0YXRlKGxpbmssIExJTktfU1RBVEVfQ09ORklHVVJJTkcpOwotIAotLSAgICAgICAgbGlua19zZXRfc3RhdGUobGluaywgTElOS19TVEFURV9TRVRUSU5HX1JPVVRFUyk7Ci0rICAgICAgICAodm9pZCkgbGlua19zZXRfcm91dGluZ19wb2xpY3lfcnVsZShsaW5rKTsKLSAKLSAgICAgICAgIExJU1RfRk9SRUFDSChyb3V0ZXMsIHJ0LCBsaW5rLT5uZXR3b3JrLT5zdGF0aWNfcm91dGVzKSB7Ci0gICAgICAgICAgICAgICAgIHIgPSByb3V0ZV9jb25maWd1cmUocnQsIGxpbmssIHJvdXRlX2hhbmRsZXIpOwotQEAgLTg5Myw3ICs4OTIsNyBAQCBzdGF0aWMgaW50IGFkZHJlc3NfaGFuZGxlcihzZF9uZXRsaW5rICpydG5sLCBzZF9uZXRsaW5rX21lc3NhZ2UgKm0sIHZvaWQgKnVzZXJkYQotICAgICAgICAgYXNzZXJ0KGxpbmspOwotICAgICAgICAgYXNzZXJ0KGxpbmstPmlmbmFtZSk7Ci0gICAgICAgICBhc3NlcnQobGluay0+YWRkcmVzc19tZXNzYWdlcyA+IDApOwotLSAgICAgICAgYXNzZXJ0KElOX1NFVChsaW5rLT5zdGF0ZSwgTElOS19TVEFURV9TRVRUSU5HX0FERFJFU1NFUywKLSsgICAgICAgIGFzc2VydChJTl9TRVQobGluay0+c3RhdGUsIExJTktfU1RBVEVfQ09ORklHVVJJTkcsCi0gICAgICAgICAgICAgICAgTElOS19TVEFURV9GQUlMRUQsIExJTktfU1RBVEVfTElOR0VSKSk7Ci0gCi0gICAgICAgICBsaW5rLT5hZGRyZXNzX21lc3NhZ2VzLS07Ci1AQCAtOTEwLDcgKzkwOSw3IEBAIHN0YXRpYyBpbnQgYWRkcmVzc19oYW5kbGVyKHNkX25ldGxpbmsgKnJ0bmwsIHNkX25ldGxpbmtfbWVzc2FnZSAqbSwgdm9pZCAqdXNlcmRhCi0gICAgICAgICBpZiAobGluay0+YWRkcmVzc19tZXNzYWdlcyA9PSAwKSB7Ci0gICAgICAgICAgICAgICAgIGxvZ19saW5rX2RlYnVnKGxpbmssICJBZGRyZXNzZXMgc2V0Iik7Ci0gICAgICAgICAgICAgICAgIGxpbmstPmFkZHJlc3Nlc19jb25maWd1cmVkID0gdHJ1ZTsKLS0gICAgICAgICAgICAgICAgbGlua19lbnRlcl9zZXRfcm91dGVzKGxpbmspOwotKyAgICAgICAgICAgICAgICBsaW5rX3JlcXVlc3Rfc2V0X3JvdXRlcyhsaW5rKTsKLSAgICAgICAgIH0KLSAKLSAgICAgICAgIHJldHVybiAxOwotQEAgLTEwNTQsNyArMTA1Myw3IEBAIHN0YXRpYyBpbnQgbGlua19zZXRfYnJpZGdlX2ZkYihMaW5rICpsaW5rKSB7Ci0gICAgICAgICByZXR1cm4gMDsKLSB9Ci0gCi0tc3RhdGljIGludCBsaW5rX2VudGVyX3NldF9hZGRyZXNzZXMoTGluayAqbGluaykgewotK3N0YXRpYyBpbnQgbGlua19yZXF1ZXN0X3NldF9hZGRyZXNzZXMoTGluayAqbGluaykgewotICAgICAgICAgQWRkcmVzc0xhYmVsICpsYWJlbDsKLSAgICAgICAgIEFkZHJlc3MgKmFkOwotICAgICAgICAgaW50IHI7Ci1AQCAtMTA2Nyw3ICsxMDY2LDcgQEAgc3RhdGljIGludCBsaW5rX2VudGVyX3NldF9hZGRyZXNzZXMoTGluayAqbGluaykgewotICAgICAgICAgaWYgKHIgPCAwKQotICAgICAgICAgICAgICAgICByZXR1cm4gcjsKLSAKLS0gICAgICAgIGxpbmtfc2V0X3N0YXRlKGxpbmssIExJTktfU1RBVEVfU0VUVElOR19BRERSRVNTRVMpOwotKyAgICAgICAgbGlua19zZXRfc3RhdGUobGluaywgTElOS19TVEFURV9DT05GSUdVUklORyk7Ci0gCi0gICAgICAgICBMSVNUX0ZPUkVBQ0goYWRkcmVzc2VzLCBhZCwgbGluay0+bmV0d29yay0+c3RhdGljX2FkZHJlc3NlcykgewotICAgICAgICAgICAgICAgICByID0gYWRkcmVzc19jb25maWd1cmUoYWQsIGxpbmssIGFkZHJlc3NfaGFuZGxlciwgZmFsc2UpOwotQEAgLTEyMTIsNyArMTIxMSw3IEBAIHN0YXRpYyBpbnQgbGlua19lbnRlcl9zZXRfYWRkcmVzc2VzKExpbmsgKmxpbmspIHsKLSAKLSAgICAgICAgIGlmIChsaW5rLT5hZGRyZXNzX21lc3NhZ2VzID09IDApIHsKLSAgICAgICAgICAgICAgICAgbGluay0+YWRkcmVzc2VzX2NvbmZpZ3VyZWQgPSB0cnVlOwotLSAgICAgICAgICAgICAgICBsaW5rX2VudGVyX3NldF9yb3V0ZXMobGluayk7Ci0rICAgICAgICAgICAgICAgIGxpbmtfcmVxdWVzdF9zZXRfcm91dGVzKGxpbmspOwotICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgIGxvZ19saW5rX2RlYnVnKGxpbmssICJTZXR0aW5nIGFkZHJlc3NlcyIpOwotIAotQEAgLTIzMTMsNyArMjMxMiw3IEBAIHN0YXRpYyBpbnQgbGlua19qb2luZWQoTGluayAqbGluaykgewotICAgICAgICAgaWYgKCFsaW5rX2hhc19jYXJyaWVyKGxpbmspICYmICFsaW5rLT5uZXR3b3JrLT5jb25maWd1cmVfd2l0aG91dF9jYXJyaWVyKQotICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSAKLS0gICAgICAgIHJldHVybiBsaW5rX2VudGVyX3NldF9hZGRyZXNzZXMobGluayk7Ci0rICAgICAgICByZXR1cm4gbGlua19yZXF1ZXN0X3NldF9hZGRyZXNzZXMobGluayk7Ci0gfQotIAotIHN0YXRpYyBpbnQgbmV0ZGV2X2pvaW5faGFuZGxlcihzZF9uZXRsaW5rICpydG5sLCBzZF9uZXRsaW5rX21lc3NhZ2UgKm0sIHZvaWQgKnVzZXJkYXRhKSB7Ci1AQCAtMjM1MSw3ICsyMzUwLDcgQEAgc3RhdGljIGludCBsaW5rX2VudGVyX2pvaW5fbmV0ZGV2KExpbmsgKmxpbmspIHsKLSAgICAgICAgIGFzc2VydChsaW5rLT5uZXR3b3JrKTsKLSAgICAgICAgIGFzc2VydChsaW5rLT5zdGF0ZSA9PSBMSU5LX1NUQVRFX1BFTkRJTkcpOwotIAotLSAgICAgICAgbGlua19zZXRfc3RhdGUobGluaywgTElOS19TVEFURV9FTlNMQVZJTkcpOwotKyAgICAgICAgbGlua19zZXRfc3RhdGUobGluaywgTElOS19TVEFURV9DT05GSUdVUklORyk7Ci0gCi0gICAgICAgICBsaW5rX2RpcnR5KGxpbmspOwotIAotQEAgLTMyNjQsNyArMzI2Myw3IEBAIHN0YXRpYyBpbnQgbGlua19jYXJyaWVyX2dhaW5lZChMaW5rICpsaW5rKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHI7Ci0gICAgICAgICAgICAgICAgIH0KLSAKLS0gICAgICAgICAgICAgICAgciA9IGxpbmtfZW50ZXJfc2V0X2FkZHJlc3NlcyhsaW5rKTsKLSsgICAgICAgICAgICAgICAgciA9IGxpbmtfcmVxdWVzdF9zZXRfYWRkcmVzc2VzKGxpbmspOwotICAgICAgICAgICAgICAgICBpZiAociA8IDApCi0gICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHI7Ci0gICAgICAgICB9Ci1AQCAtMzM0OCw3ICszMzQ3LDcgQEAgaW50IGxpbmtfdXBkYXRlKExpbmsgKmxpbmssIHNkX25ldGxpbmtfbWVzc2FnZSAqbSkgewotICAgICAgICAgaWYgKGxpbmstPnN0YXRlID09IExJTktfU1RBVEVfTElOR0VSKSB7Ci0gICAgICAgICAgICAgICAgIGxpbmtfcmVmKGxpbmspOwotICAgICAgICAgICAgICAgICBsb2dfbGlua19pbmZvKGxpbmssICJMaW5rIHJlYWRkZWQiKTsKLS0gICAgICAgICAgICAgICAgbGlua19zZXRfc3RhdGUobGluaywgTElOS19TVEFURV9FTlNMQVZJTkcpOwotKyAgICAgICAgICAgICAgICBsaW5rX3NldF9zdGF0ZShsaW5rLCBMSU5LX1NUQVRFX0NPTkZJR1VSSU5HKTsKLSAKLSAgICAgICAgICAgICAgICAgciA9IGxpbmtfbmV3X2NhcnJpZXJfbWFwcyhsaW5rKTsKLSAgICAgICAgICAgICAgICAgaWYgKHIgPCAwKQotQEAgLTM5MTEsOSArMzkxMCw3IEBAIHZvaWQgbGlua19jbGVhbihMaW5rICpsaW5rKSB7Ci0gCi0gc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGxpbmtfc3RhdGVfdGFibGVbX0xJTktfU1RBVEVfTUFYXSA9IHsKLSAgICAgICAgIFtMSU5LX1NUQVRFX1BFTkRJTkddID0gInBlbmRpbmciLAotLSAgICAgICAgW0xJTktfU1RBVEVfRU5TTEFWSU5HXSA9ICJjb25maWd1cmluZyIsCi0tICAgICAgICBbTElOS19TVEFURV9TRVRUSU5HX0FERFJFU1NFU10gPSAiY29uZmlndXJpbmciLAotLSAgICAgICAgW0xJTktfU1RBVEVfU0VUVElOR19ST1VURVNdID0gImNvbmZpZ3VyaW5nIiwKLSsgICAgICAgIFtMSU5LX1NUQVRFX0NPTkZJR1VSSU5HXSA9ICJjb25maWd1cmluZyIsCi0gICAgICAgICBbTElOS19TVEFURV9DT05GSUdVUkVEXSA9ICJjb25maWd1cmVkIiwKLSAgICAgICAgIFtMSU5LX1NUQVRFX1VOTUFOQUdFRF0gPSAidW5tYW5hZ2VkIiwKLSAgICAgICAgIFtMSU5LX1NUQVRFX0ZBSUxFRF0gPSAiZmFpbGVkIiwKLWRpZmYgLS1naXQgYS9zcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmggYi9zcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmgKLWluZGV4IDJmMzdjYzE1OTguLjVmZDgxYmU1YTUgMTAwNjQ0Ci0tLS0gYS9zcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmgKLSsrKyBiL3NyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuaAotQEAgLTE5LDkgKzE5LDcgQEAKLSAKLSB0eXBlZGVmIGVudW0gTGlua1N0YXRlIHsKLSAgICAgICAgIExJTktfU1RBVEVfUEVORElORywKLS0gICAgICAgIExJTktfU1RBVEVfRU5TTEFWSU5HLAotLSAgICAgICAgTElOS19TVEFURV9TRVRUSU5HX0FERFJFU1NFUywKLS0gICAgICAgIExJTktfU1RBVEVfU0VUVElOR19ST1VURVMsCi0rICAgICAgICBMSU5LX1NUQVRFX0NPTkZJR1VSSU5HLAotICAgICAgICAgTElOS19TVEFURV9DT05GSUdVUkVELAotICAgICAgICAgTElOS19TVEFURV9VTk1BTkFHRUQsCi0gICAgICAgICBMSU5LX1NUQVRFX0ZBSUxFRCwKLS0tIAotMi4yMC4xLjk3Lmc4MTE4OGQ5M2MzLWdvb2cKLQpkaWZmIC0tZ2l0IGEvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDItdGltZWRhdGUtcmVmdXNlLXRvLXNldC10aW1lLXdoZW4tcHJldmlvdXMtcmVxdWVzdC1pcy5wYXRjaCBiL21ldGEtcGhvc3Bob3IvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAyLXRpbWVkYXRlLXJlZnVzZS10by1zZXQtdGltZS13aGVuLXByZXZpb3VzLXJlcXVlc3QtaXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA5YzNmMzcuLjAwMDAwMDAKLS0tIGEvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDItdGltZWRhdGUtcmVmdXNlLXRvLXNldC10aW1lLXdoZW4tcHJldmlvdXMtcmVxdWVzdC1pcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAKLUZyb20gYjQzNTZiNTcyMGFlMDk3NGYxZjg5NjJlMjY1NjI1OTFkZDBiZTllOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFl1IFdhdGFuYWJlIDx3YXRhbmFiZS55dStnaXRodWJAZ21haWwuY29tPgotRGF0ZTogVHVlLCAxNSBKYW4gMjAxOSAxNDo1MTozMCArMDkwMAotU3ViamVjdDogW1BBVENIIDIvMl0gdGltZWRhdGU6IHJlZnVzZSB0byBzZXQgdGltZSB3aGVuIHByZXZpb3VzIHJlcXVlc3QgaXMgbm90Ci0gZmluaXNoZWQKLQotSWYgYHRpbWVkYXRlY3RsIHNldC10aW1lYCBpcyBpbnZva2VkIHJpZ2h0IGFmdGVyIGB0aW1lZGF0ZWN0bCBzZXQtbnRwIHRydWVgLAotdGhlbiwgdGhlIE5UUCBzZXJ2aWNlIG1heSBub3QgYmUgc3RhcnRlZCB5ZXQuCi0KLUZpeGVzICMxMTQyMC4KLS0tLQotIHNyYy90aW1lZGF0ZS90aW1lZGF0ZWQuYyB8IDExICsrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy90aW1lZGF0ZS90aW1lZGF0ZWQuYyBiL3NyYy90aW1lZGF0ZS90aW1lZGF0ZWQuYwotaW5kZXggMTIzMDhiZS4uZWViMTdiNiAxMDA2NDQKLS0tLSBhL3NyYy90aW1lZGF0ZS90aW1lZGF0ZWQuYwotKysrIGIvc3JjL3RpbWVkYXRlL3RpbWVkYXRlZC5jCi1AQCAtNTIzLDYgKzUyMywxMCBAQCBzdGF0aWMgaW50IHByb3BlcnR5X2dldF9jYW5fbnRwKAotICAgICAgICAgYXNzZXJ0KHJlcGx5KTsKLSAgICAgICAgIGFzc2VydChlcnJvcik7Ci0gCi0rICAgICAgICBpZiAoYy0+c2xvdF9qb2JfcmVtb3ZlZCkKLSsgICAgICAgICAgICAgICAgLyogV2hlbiB0aGUgcHJldmlvdXMgcmVxdWVzdCBpcyBub3QgZmluaXNoZWQsIHRoZW4gYXNzdW1lIE5UUCBpcyBlbmFibGVkLiAqLwotKyAgICAgICAgICAgICAgICByZXR1cm4gc2RfYnVzX21lc3NhZ2VfYXBwZW5kKHJlcGx5LCAiYiIsIHRydWUpOwotKwotICAgICAgICAgciA9IGNvbnRleHRfdXBkYXRlX250cF9zdGF0dXMoYywgYnVzLCByZXBseSk7Ci0gICAgICAgICBpZiAociA8IDApCi0gICAgICAgICAgICAgICAgIHJldHVybiByOwotQEAgLTU0OCw2ICs1NTIsMTAgQEAgc3RhdGljIGludCBwcm9wZXJ0eV9nZXRfbnRwKAotICAgICAgICAgYXNzZXJ0KHJlcGx5KTsKLSAgICAgICAgIGFzc2VydChlcnJvcik7Ci0gCi0rICAgICAgICBpZiAoYy0+c2xvdF9qb2JfcmVtb3ZlZCkKLSsgICAgICAgICAgICAgICAgLyogV2hlbiB0aGUgcHJldmlvdXMgcmVxdWVzdCBpcyBub3QgZmluaXNoZWQsIHRoZW4gYXNzdW1lIE5UUCBpcyBhY3RpdmUuICovCi0rICAgICAgICAgICAgICAgIHJldHVybiBzZF9idXNfbWVzc2FnZV9hcHBlbmQocmVwbHksICJiIiwgdHJ1ZSk7Ci0rCi0gICAgICAgICByID0gY29udGV4dF91cGRhdGVfbnRwX3N0YXR1cyhjLCBidXMsIHJlcGx5KTsKLSAgICAgICAgIGlmIChyIDwgMCkKLSAgICAgICAgICAgICAgICAgcmV0dXJuIHI7Ci1AQCAtNzM1LDYgKzc0Myw5IEBAIHN0YXRpYyBpbnQgbWV0aG9kX3NldF90aW1lKHNkX2J1c19tZXNzYWdlICptLCB2b2lkICp1c2VyZGF0YSwgc2RfYnVzX2Vycm9yICplcnJvCi0gICAgICAgICBhc3NlcnQobSk7Ci0gICAgICAgICBhc3NlcnQoYyk7Ci0gCi0rICAgICAgICBpZiAoYy0+c2xvdF9qb2JfcmVtb3ZlZCkKLSsgICAgICAgICAgICAgICAgcmV0dXJuIHNkX2J1c19lcnJvcl9zZXQoZXJyb3IsIEJVU19FUlJPUl9BVVRPTUFUSUNfVElNRV9TWU5DX0VOQUJMRUQsICJQcmV2aW91cyByZXF1ZXN0IGlzIG5vdCBmaW5pc2hlZCwgcmVmdXNpbmcuIik7Ci0rCi0gICAgICAgICByID0gY29udGV4dF91cGRhdGVfbnRwX3N0YXR1cyhjLCBidXMsIG0pOwotICAgICAgICAgaWYgKHIgPCAwKQotICAgICAgICAgICAgICAgICByZXR1cm4gc2RfYnVzX2Vycm9yX3NldF9lcnJub2YoZXJyb3IsIHIsICJGYWlsZWQgdG8gdXBkYXRlIGNvbnRleHQ6ICVtIik7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtcGhvc3Bob3IvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAzLW5ldHdvcmtkLVN0YXRpYy1uZWlnaGJvci1zdXBwb3J0LnBhdGNoIGIvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDMtbmV0d29ya2QtU3RhdGljLW5laWdoYm9yLXN1cHBvcnQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2YTU2MzEuLjAwMDAwMDAKLS0tIGEvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDMtbmV0d29ya2QtU3RhdGljLW5laWdoYm9yLXN1cHBvcnQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NDcgKzAsMCBAQAotRnJvbSAyNDAyZTY5YzJjY2Y3OTVkNjdiYjU1ZDdjZDA3M2U3Mzg0ZDU3YTNkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogIldpbGxpYW0gQS4gS2VubmluZ3RvbiBJSUkiIDx3aWxsaWFtQHdrZW5uaW5ndG9uLmNvbT4KLURhdGU6IFdlZCwgMjggTm92IDIwMTggMTk6MDA6NTggLTA4MDAKLVN1YmplY3Q6IFtQQVRDSCAzLzNdIG5ldHdvcmtkOiBTdGF0aWMgbmVpZ2hib3Igc3VwcG9ydAotCi1XaGVuIHVzaW5nIG5ldHdvcmtkIHdlIGN1cnJlbnRseSBoYXZlIG5vIHdheSBvZiBlbnN1cmluZyB0aGF0IHN0YXRpYwotbmVpZ2hib3IgZW50cmllcyBhcmUgc2V0IHdoZW4gb3VyIGxpbmsgY29tZXMgdXAuIFRoaXMgY2hhbmdlIGFkZHMgYSBuZXcKLXNlY3Rpb24gdG8gdGhlIG5ldHdvcmsgZGVmaW5pdGlvbiB0aGF0IGFsbG93cyBtdWx0aXBsZSBzdGF0aWMgbmVpZ2hib3JzCi10byBiZSBzZXQgb24gYSBsaW5rLgotCi0oY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBlNGE3MWJmMzZmNDIyYzM3MjhiOTAyYWFhNTg0NmFkZDdiYmMwZWI5KQotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0tLS0KLSBtYW4vc3lzdGVtZC5uZXR3b3JrLnhtbCAgICAgICAgICAgICAgICAgIHwgIDI1ICsrKwotIHNyYy9uZXR3b3JrL21lc29uLmJ1aWxkICAgICAgICAgICAgICAgICAgfCAgIDIgKwotIHNyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuYyAgICAgICAgICAgICAgfCAgMzQgKysrKwotIHNyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuaCAgICAgICAgICAgICAgfCAgIDMgKwotIHNyYy9uZXR3b3JrL25ldHdvcmtkLW5laWdoYm9yLmMgICAgICAgICAgfCAyMzQgKysrKysrKysrKysrKysrKysrKysrKysKLSBzcmMvbmV0d29yay9uZXR3b3JrZC1uZWlnaGJvci5oICAgICAgICAgIHwgIDM3ICsrKysKLSBzcmMvbmV0d29yay9uZXR3b3JrZC1uZXR3b3JrLWdwZXJmLmdwZXJmIHwgICAyICsKLSBzcmMvbmV0d29yay9uZXR3b3JrZC1uZXR3b3JrLmMgICAgICAgICAgIHwgIDEwICsKLSBzcmMvbmV0d29yay9uZXR3b3JrZC1uZXR3b3JrLmggICAgICAgICAgIHwgICA0ICsKLSA5IGZpbGVzIGNoYW5nZWQsIDM1MSBpbnNlcnRpb25zKCspCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9uZXR3b3JrL25ldHdvcmtkLW5laWdoYm9yLmMKLSBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL25ldHdvcmsvbmV0d29ya2QtbmVpZ2hib3IuaAotCi1kaWZmIC0tZ2l0IGEvbWFuL3N5c3RlbWQubmV0d29yay54bWwgYi9tYW4vc3lzdGVtZC5uZXR3b3JrLnhtbAotaW5kZXggZmM4ZTBhZWE2OC4uODA0NDE5YzMxYSAxMDA2NDQKLS0tLSBhL21hbi9zeXN0ZW1kLm5ldHdvcmsueG1sCi0rKysgYi9tYW4vc3lzdGVtZC5uZXR3b3JrLnhtbAotQEAgLTg5OSw2ICs4OTksMzEgQEAKLSAgICAgICA8L3ZhcmlhYmxlbGlzdD4KLSAgIDwvcmVmc2VjdDE+Ci0gCi0rICA8cmVmc2VjdDE+Ci0rICAgIDx0aXRsZT5bTmVpZ2hib3JdIFNlY3Rpb24gT3B0aW9uczwvdGl0bGU+Ci0rICAgICAgPHBhcmE+QSA8bGl0ZXJhbD5bTmVpZ2hib3JdPC9saXRlcmFsPiBzZWN0aW9uIGFjY2VwdHMgdGhlCi0rICAgICAgZm9sbG93aW5nIGtleXMuIFRoZSBuZWlnaGJvciBzZWN0aW9uIGFkZHMgYSBwZXJtYW5lbnQsIHN0YXRpYwotKyAgICAgIGVudHJ5IHRvIHRoZSBuZWlnaGJvciB0YWJsZSAoSVB2Nikgb3IgQVJQIHRhYmxlIChJUHY0KSBmb3IKLSsgICAgICB0aGUgZ2l2ZW4gaGFyZHdhcmUgYWRkcmVzcyBvbiB0aGUgbGlua3MgbWF0Y2hlZCBmb3IgdGhlIG5ldHdvcmsuCi0rICAgICAgU3BlY2lmeSBzZXZlcmFsIDxsaXRlcmFsPltOZWlnaGJvcl08L2xpdGVyYWw+IHNlY3Rpb25zIHRvIGNvbmZpZ3VyZQotKyAgICAgIHNldmVyYWwgc3RhdGljIG5laWdoYm9ycy48L3BhcmE+Ci0rCi0rICAgICAgPHZhcmlhYmxlbGlzdCBjbGFzcz0nbmV0d29yay1kaXJlY3RpdmVzJz4KLSsgICAgICAgIDx2YXJsaXN0ZW50cnk+Ci0rICAgICAgICAgIDx0ZXJtPjx2YXJuYW1lPkFkZHJlc3M9PC92YXJuYW1lPjwvdGVybT4KLSsgICAgICAgICAgPGxpc3RpdGVtPgotKyAgICAgICAgICAgIDxwYXJhPlRoZSBJUCBhZGRyZXNzIG9mIHRoZSBuZWlnaGJvci48L3BhcmE+Ci0rICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0rICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KLSsgICAgICAgIDx2YXJsaXN0ZW50cnk+Ci0rICAgICAgICAgIDx0ZXJtPjx2YXJuYW1lPk1BQ0FkZHJlc3M9PC92YXJuYW1lPjwvdGVybT4KLSsgICAgICAgICAgPGxpc3RpdGVtPgotKyAgICAgICAgICAgIDxwYXJhPlRoZSBoYXJkd2FyZSBhZGRyZXNzIG9mIHRoZSBuZWlnaGJvci48L3BhcmE+Ci0rICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0rICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KLSsgICAgICA8L3ZhcmlhYmxlbGlzdD4KLSsgIDwvcmVmc2VjdDE+Ci0rCi0gICAgIDxyZWZzZWN0MT4KLSAgICAgPHRpdGxlPltJUHY2QWRkcmVzc0xhYmVsXSBTZWN0aW9uIE9wdGlvbnM8L3RpdGxlPgotIAotZGlmZiAtLWdpdCBhL3NyYy9uZXR3b3JrL21lc29uLmJ1aWxkIGIvc3JjL25ldHdvcmsvbWVzb24uYnVpbGQKLWluZGV4IDhmNTU0NGVhMDQuLjkwMDEzMGVkNmEgMTAwNjQ0Ci0tLS0gYS9zcmMvbmV0d29yay9tZXNvbi5idWlsZAotKysrIGIvc3JjL25ldHdvcmsvbWVzb24uYnVpbGQKLUBAIC02Miw2ICs2Miw4IEBAIHNvdXJjZXMgPSBmaWxlcygnJycKLSAgICAgICAgIG5ldHdvcmtkLW1hbmFnZXIuaAotICAgICAgICAgbmV0d29ya2QtbmRpc2MuYwotICAgICAgICAgbmV0d29ya2QtbmRpc2MuaAotKyAgICAgICAgbmV0d29ya2QtbmVpZ2hib3IuYwotKyAgICAgICAgbmV0d29ya2QtbmVpZ2hib3IuaAotICAgICAgICAgbmV0d29ya2QtcmFkdi5jCi0gICAgICAgICBuZXR3b3JrZC1yYWR2LmgKLSAgICAgICAgIG5ldHdvcmtkLW5ldHdvcmstYnVzLmMKLWRpZmYgLS1naXQgYS9zcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmMgYi9zcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmMKLWluZGV4IDcxYjkyMTg1Y2QuLjUxZjk1YWM1NWUgMTAwNjQ0Ci0tLS0gYS9zcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmMKLSsrKyBiL3NyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuYwotQEAgLTE3LDYgKzE3LDcgQEAKLSAjaW5jbHVkZSAibmV0d29ya2QtbGxkcC10eC5oIgotICNpbmNsdWRlICJuZXR3b3JrZC1tYW5hZ2VyLmgiCi0gI2luY2x1ZGUgIm5ldHdvcmtkLW5kaXNjLmgiCi0rI2luY2x1ZGUgIm5ldHdvcmtkLW5laWdoYm9yLmgiCi0gI2luY2x1ZGUgIm5ldHdvcmtkLXJhZHYuaCIKLSAjaW5jbHVkZSAibmV0d29ya2Qtcm91dGluZy1wb2xpY3ktcnVsZS5oIgotICNpbmNsdWRlICJzZXQuaCIKLUBAIC03MzEsNiArNzMyLDkgQEAgdm9pZCBsaW5rX2NoZWNrX3JlYWR5KExpbmsgKmxpbmspIHsKLSAgICAgICAgIGlmICghbGluay0+YWRkcmVzc2VzX2NvbmZpZ3VyZWQpCi0gICAgICAgICAgICAgICAgIHJldHVybjsKLSAKLSsgICAgICAgIGlmICghbGluay0+bmVpZ2hib3JzX2NvbmZpZ3VyZWQpCi0rICAgICAgICAgICAgICAgIHJldHVybjsKLSsKLSAgICAgICAgIGlmICghbGluay0+c3RhdGljX3JvdXRlc19jb25maWd1cmVkKQotICAgICAgICAgICAgICAgICByZXR1cm47Ci0gCi1AQCAtODgzLDYgKzg4NywzNCBAQCBpbnQgbGlua19yb3V0ZV9yZW1vdmVfaGFuZGxlcihzZF9uZXRsaW5rICpydG5sLCBzZF9uZXRsaW5rX21lc3NhZ2UgKm0sIHZvaWQgKnVzZQotICAgICAgICAgcmV0dXJuIDE7Ci0gfQotIAotK3N0YXRpYyBpbnQgbGlua19yZXF1ZXN0X3NldF9uZWlnaGJvcnMoTGluayAqbGluaykgewotKyAgICAgICAgTmVpZ2hib3IgKm5laWdoYm9yOwotKyAgICAgICAgaW50IHI7Ci0rCi0rICAgICAgICBhc3NlcnQobGluayk7Ci0rICAgICAgICBhc3NlcnQobGluay0+bmV0d29yayk7Ci0rICAgICAgICBhc3NlcnQobGluay0+c3RhdGUgIT0gX0xJTktfU1RBVEVfSU5WQUxJRCk7Ci0rCi0rICAgICAgICBsaW5rX3NldF9zdGF0ZShsaW5rLCBMSU5LX1NUQVRFX0NPTkZJR1VSSU5HKTsKLSsKLSsgICAgICAgIExJU1RfRk9SRUFDSChuZWlnaGJvcnMsIG5laWdoYm9yLCBsaW5rLT5uZXR3b3JrLT5uZWlnaGJvcnMpIHsKLSsgICAgICAgICAgICAgICAgciA9IG5laWdoYm9yX2NvbmZpZ3VyZShuZWlnaGJvciwgbGluaywgTlVMTCk7Ci0rICAgICAgICAgICAgICAgIGlmIChyIDwgMCkgewotKyAgICAgICAgICAgICAgICAgICAgICAgIGxvZ19saW5rX3dhcm5pbmdfZXJybm8obGluaywgciwgIkNvdWxkIG5vdCBzZXQgbmVpZ2hib3I6ICVtIik7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgbGlua19lbnRlcl9mYWlsZWQobGluayk7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHI7Ci0rICAgICAgICAgICAgICAgIH0KLSsgICAgICAgIH0KLSsKLSsgICAgICAgIGlmIChsaW5rLT5uZWlnaGJvcl9tZXNzYWdlcyA9PSAwKSB7Ci0rICAgICAgICAgICAgICAgIGxpbmstPm5laWdoYm9yc19jb25maWd1cmVkID0gdHJ1ZTsKLSsgICAgICAgICAgICAgICAgbGlua19jaGVja19yZWFkeShsaW5rKTsKLSsgICAgICAgIH0gZWxzZQotKyAgICAgICAgICAgICAgICBsb2dfbGlua19kZWJ1ZyhsaW5rLCAiU2V0dGluZyBuZWlnaGJvcnMiKTsKLSsKLSsgICAgICAgIHJldHVybiAwOwotK30KLSsKLSBzdGF0aWMgaW50IGFkZHJlc3NfaGFuZGxlcihzZF9uZXRsaW5rICpydG5sLCBzZF9uZXRsaW5rX21lc3NhZ2UgKm0sIHZvaWQgKnVzZXJkYXRhKSB7Ci0gICAgICAgICBfY2xlYW51cF8obGlua191bnJlZnApIExpbmsgKmxpbmsgPSB1c2VyZGF0YTsKLSAgICAgICAgIGludCByOwotQEAgLTEwNjgsNiArMTEwMCw4IEBAIHN0YXRpYyBpbnQgbGlua19yZXF1ZXN0X3NldF9hZGRyZXNzZXMoTGluayAqbGluaykgewotIAotICAgICAgICAgbGlua19zZXRfc3RhdGUobGluaywgTElOS19TVEFURV9DT05GSUdVUklORyk7Ci0gCi0rICAgICAgICBsaW5rX3JlcXVlc3Rfc2V0X25laWdoYm9ycyhsaW5rKTsKLSsKLSAgICAgICAgIExJU1RfRk9SRUFDSChhZGRyZXNzZXMsIGFkLCBsaW5rLT5uZXR3b3JrLT5zdGF0aWNfYWRkcmVzc2VzKSB7Ci0gICAgICAgICAgICAgICAgIHIgPSBhZGRyZXNzX2NvbmZpZ3VyZShhZCwgbGluaywgYWRkcmVzc19oYW5kbGVyLCBmYWxzZSk7Ci0gICAgICAgICAgICAgICAgIGlmIChyIDwgMCkgewotZGlmZiAtLWdpdCBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuaCBiL3NyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuaAotaW5kZXggNWZkODFiZTVhNS4uNDY0ZTkzZDk4MiAxMDA2NDQKLS0tLSBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuaAotKysrIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtbGluay5oCi1AQCAtNjgsNiArNjgsNyBAQCB0eXBlZGVmIHN0cnVjdCBMaW5rIHsKLSAKLSAgICAgICAgIHVuc2lnbmVkIGFkZHJlc3NfbWVzc2FnZXM7Ci0gICAgICAgICB1bnNpZ25lZCBhZGRyZXNzX2xhYmVsX21lc3NhZ2VzOwotKyAgICAgICAgdW5zaWduZWQgbmVpZ2hib3JfbWVzc2FnZXM7Ci0gICAgICAgICB1bnNpZ25lZCByb3V0ZV9tZXNzYWdlczsKLSAgICAgICAgIHVuc2lnbmVkIHJvdXRpbmdfcG9saWN5X3J1bGVfbWVzc2FnZXM7Ci0gICAgICAgICB1bnNpZ25lZCByb3V0aW5nX3BvbGljeV9ydWxlX3JlbW92ZV9tZXNzYWdlczsKLUBAIC05NSw2ICs5Niw4IEBAIHR5cGVkZWYgc3RydWN0IExpbmsgewotICAgICAgICAgYm9vbCBpcHY0bGxfYWRkcmVzczoxOwotICAgICAgICAgYm9vbCBpcHY0bGxfcm91dGU6MTsKLSAKLSsgICAgICAgIGJvb2wgbmVpZ2hib3JzX2NvbmZpZ3VyZWQ7Ci0rCi0gICAgICAgICBib29sIHN0YXRpY19yb3V0ZXNfY29uZmlndXJlZDsKLSAgICAgICAgIGJvb2wgcm91dGluZ19wb2xpY3lfcnVsZXNfY29uZmlndXJlZDsKLSAgICAgICAgIGJvb2wgc2V0dGluZ19tdHU7Ci1kaWZmIC0tZ2l0IGEvc3JjL25ldHdvcmsvbmV0d29ya2QtbmVpZ2hib3IuYyBiL3NyYy9uZXR3b3JrL25ldHdvcmtkLW5laWdoYm9yLmMKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwLi5kYjY5ZDMxMGQzCi0tLS0gL2Rldi9udWxsCi0rKysgYi9zcmMvbmV0d29yay9uZXR3b3JrZC1uZWlnaGJvci5jCi1AQCAtMCwwICsxLDIzNCBAQAotKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBMR1BMLTIuMSsgKi8KLSsKLSsjaW5jbHVkZSAic2QtbmV0bGluay5oIgotKwotKyNpbmNsdWRlICJhbGxvYy11dGlsLmgiCi0rI2luY2x1ZGUgImNvbmYtcGFyc2VyLmgiCi0rI2luY2x1ZGUgImV0aGVyLWFkZHItdXRpbC5oIgotKyNpbmNsdWRlICJoYXNobWFwLmgiCi0rI2luY2x1ZGUgImluLWFkZHItdXRpbC5oIgotKyNpbmNsdWRlICJuZXRsaW5rLXV0aWwuaCIKLSsjaW5jbHVkZSAibmV0d29ya2QtbGluay5oIgotKyNpbmNsdWRlICJuZXR3b3JrZC1tYW5hZ2VyLmgiCi0rI2luY2x1ZGUgIm5ldHdvcmtkLW5laWdoYm9yLmgiCi0rCi0rdm9pZCBuZWlnaGJvcl9mcmVlKE5laWdoYm9yICpuZWlnaGJvcikgewotKyAgICAgICAgaWYgKCFuZWlnaGJvcikKLSsgICAgICAgICAgICAgICAgcmV0dXJuOwotKwotKyAgICAgICAgaWYgKG5laWdoYm9yLT5uZXR3b3JrKSB7Ci0rICAgICAgICAgICAgICAgIExJU1RfUkVNT1ZFKG5laWdoYm9ycywgbmVpZ2hib3ItPm5ldHdvcmstPm5laWdoYm9ycywgbmVpZ2hib3IpOwotKyAgICAgICAgICAgICAgICBhc3NlcnQobmVpZ2hib3ItPm5ldHdvcmstPm5fbmVpZ2hib3JzID4gMCk7Ci0rICAgICAgICAgICAgICAgIG5laWdoYm9yLT5uZXR3b3JrLT5uX25laWdoYm9ycy0tOwotKwotKyAgICAgICAgICAgICAgICBpZiAobmVpZ2hib3ItPnNlY3Rpb24pIHsKLSsgICAgICAgICAgICAgICAgICAgICAgICBoYXNobWFwX3JlbW92ZShuZWlnaGJvci0+bmV0d29yay0+bmVpZ2hib3JzX2J5X3NlY3Rpb24sIG5laWdoYm9yLT5zZWN0aW9uKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBuZXR3b3JrX2NvbmZpZ19zZWN0aW9uX2ZyZWUobmVpZ2hib3ItPnNlY3Rpb24pOwotKyAgICAgICAgICAgICAgICB9Ci0rICAgICAgICB9Ci0rCi0rICAgICAgICBmcmVlKG5laWdoYm9yKTsKLSt9Ci0rCi0rc3RhdGljIGludCBuZWlnaGJvcl9uZXdfc3RhdGljKE5ldHdvcmsgKm5ldHdvcmssIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCB1bnNpZ25lZCBzZWN0aW9uX2xpbmUsIE5laWdoYm9yICoqcmV0KSB7Ci0rICAgICAgICBfY2xlYW51cF8obmV0d29ya19jb25maWdfc2VjdGlvbl9mcmVlcCkgTmV0d29ya0NvbmZpZ1NlY3Rpb24gKm4gPSBOVUxMOwotKyAgICAgICAgX2NsZWFudXBfKG5laWdoYm9yX2ZyZWVwKSBOZWlnaGJvciAqbmVpZ2hib3IgPSBOVUxMOwotKyAgICAgICAgaW50IHI7Ci0rCi0rICAgICAgICBhc3NlcnQobmV0d29yayk7Ci0rICAgICAgICBhc3NlcnQocmV0KTsKLSsgICAgICAgIGFzc2VydCghIWZpbGVuYW1lID09IChzZWN0aW9uX2xpbmUgPiAwKSk7Ci0rCi0rICAgICAgICBpZiAoZmlsZW5hbWUpIHsKLSsgICAgICAgICAgICAgICAgciA9IG5ldHdvcmtfY29uZmlnX3NlY3Rpb25fbmV3KGZpbGVuYW1lLCBzZWN0aW9uX2xpbmUsICZuKTsKLSsgICAgICAgICAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByOwotKwotKyAgICAgICAgICAgICAgICBuZWlnaGJvciA9IGhhc2htYXBfZ2V0KG5ldHdvcmstPm5laWdoYm9yc19ieV9zZWN0aW9uLCBuKTsKLSsgICAgICAgICAgICAgICAgaWYgKG5laWdoYm9yKSB7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgKnJldCA9IFRBS0VfUFRSKG5laWdoYm9yKTsKLSsKLSsgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSsgICAgICAgICAgICAgICAgfQotKyAgICAgICAgfQotKwotKyAgICAgICAgbmVpZ2hib3IgPSBuZXcoTmVpZ2hib3IsIDEpOwotKyAgICAgICAgaWYgKCFuZWlnaGJvcikKLSsgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07Ci0rCi0rICAgICAgICAqbmVpZ2hib3IgPSAoTmVpZ2hib3IpIHsKLSsgICAgICAgICAgICAgICAgLm5ldHdvcmsgPSBuZXR3b3JrLAotKyAgICAgICAgICAgICAgICAuZmFtaWx5ID0gQUZfVU5TUEVDLAotKyAgICAgICAgfTsKLSsKLSsgICAgICAgIExJU1RfQVBQRU5EKG5laWdoYm9ycywgbmV0d29yay0+bmVpZ2hib3JzLCBuZWlnaGJvcik7Ci0rICAgICAgICBuZXR3b3JrLT5uX25laWdoYm9ycysrOwotKwotKyAgICAgICAgaWYgKGZpbGVuYW1lKSB7Ci0rICAgICAgICAgICAgICAgIG5laWdoYm9yLT5zZWN0aW9uID0gVEFLRV9QVFIobik7Ci0rCi0rICAgICAgICAgICAgICAgIHIgPSBoYXNobWFwX3B1dChuZXR3b3JrLT5uZWlnaGJvcnNfYnlfc2VjdGlvbiwgbmVpZ2hib3ItPnNlY3Rpb24sIG5laWdoYm9yKTsKLSsgICAgICAgICAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByOwotKyAgICAgICAgfQotKwotKyAgICAgICAgKnJldCA9IFRBS0VfUFRSKG5laWdoYm9yKTsKLSsKLSsgICAgICAgIHJldHVybiAwOwotK30KLSsKLStzdGF0aWMgaW50IG5laWdoYm9yX2hhbmRsZXIoc2RfbmV0bGluayAqcnRubCwgc2RfbmV0bGlua19tZXNzYWdlICptLCB2b2lkICp1c2VyZGF0YSkgewotKyAgICAgICAgX2NsZWFudXBfKGxpbmtfdW5yZWZwKSBMaW5rICpsaW5rID0gdXNlcmRhdGE7Ci0rICAgICAgICBpbnQgcjsKLSsKLSsgICAgICAgIGFzc2VydChsaW5rKTsKLSsgICAgICAgIGFzc2VydChsaW5rLT5uZWlnaGJvcl9tZXNzYWdlcyA+IDApOwotKwotKyAgICAgICAgbGluay0+bmVpZ2hib3JfbWVzc2FnZXMtLTsKLSsKLSsgICAgICAgIGlmIChJTl9TRVQobGluay0+c3RhdGUsIExJTktfU1RBVEVfRkFJTEVELCBMSU5LX1NUQVRFX0xJTkdFUikpCi0rICAgICAgICAgICAgICAgIHJldHVybiAxOwotKwotKyAgICAgICAgciA9IHNkX25ldGxpbmtfbWVzc2FnZV9nZXRfZXJybm8obSk7Ci0rICAgICAgICBpZiAociA8IDAgJiYgciAhPSAtRUVYSVNUKQotKyAgICAgICAgICAgICAgICBsb2dfbGlua193YXJuaW5nX2Vycm5vKGxpbmssIHIsICJDb3VsZCBub3Qgc2V0IG5laWdoYm9yOiAlbSIpOwotKwotKyAgICAgICAgaWYgKGxpbmstPm5laWdoYm9yX21lc3NhZ2VzID09IDApIHsKLSsgICAgICAgICAgICAgICAgbG9nX2xpbmtfZGVidWcobGluaywgIk5laWdoYm9ycyBzZXQiKTsKLSsgICAgICAgICAgICAgICAgbGluay0+bmVpZ2hib3JzX2NvbmZpZ3VyZWQgPSB0cnVlOwotKyAgICAgICAgICAgICAgICBsaW5rX2NoZWNrX3JlYWR5KGxpbmspOwotKyAgICAgICAgfQotKwotKyAgICAgICAgcmV0dXJuIDE7Ci0rfQotKwotK2ludCBuZWlnaGJvcl9jb25maWd1cmUoTmVpZ2hib3IgKm5laWdoYm9yLCBMaW5rICpsaW5rLCBzZF9uZXRsaW5rX21lc3NhZ2VfaGFuZGxlcl90IGNhbGxiYWNrKSB7Ci0rICAgICAgICBfY2xlYW51cF8oc2RfbmV0bGlua19tZXNzYWdlX3VucmVmcCkgc2RfbmV0bGlua19tZXNzYWdlICpyZXEgPSBOVUxMOwotKyAgICAgICAgaW50IHI7Ci0rCi0rICAgICAgICBhc3NlcnQobmVpZ2hib3IpOwotKyAgICAgICAgYXNzZXJ0KGxpbmspOwotKyAgICAgICAgYXNzZXJ0KGxpbmstPmlmaW5kZXggPiAwKTsKLSsgICAgICAgIGFzc2VydChsaW5rLT5tYW5hZ2VyKTsKLSsgICAgICAgIGFzc2VydChsaW5rLT5tYW5hZ2VyLT5ydG5sKTsKLSsKLSsgICAgICAgIGlmIChuZWlnaGJvci0+ZmFtaWx5ID09IEFGX1VOU1BFQykKLSsgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19lcnJvcl9lcnJubyhFSU5WQUwsICJOZWlnaGJvciB3aXRob3V0IEFkZHJlc3M9IGNvbmZpZ3VyZWQiKTsKLSsgICAgICAgIGlmICghbmVpZ2hib3ItPm1hY19jb25maWd1cmVkKQotKyAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2Vycm9yX2Vycm5vKEVJTlZBTCwgIk5laWdoYm9yIHdpdGhvdXQgTUFDQWRkcmVzcz0gY29uZmlndXJlZCIpOwotKwotKyAgICAgICAgciA9IHNkX3J0bmxfbWVzc2FnZV9uZXdfbmVpZ2gobGluay0+bWFuYWdlci0+cnRubCwgJnJlcSwgUlRNX05FV05FSUdILAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmstPmlmaW5kZXgsIG5laWdoYm9yLT5mYW1pbHkpOwotKyAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2Vycm9yX2Vycm5vKHIsICJDb3VsZCBub3QgYWxsb2NhdGUgUlRNX05FV05FSUdIIG1lc3NhZ2U6ICVtIik7Ci0rCi0rICAgICAgICByID0gc2RfcnRubF9tZXNzYWdlX25laWdoX3NldF9zdGF0ZShyZXEsIE5VRF9QRVJNQU5FTlQpOwotKyAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2Vycm9yX2Vycm5vKHIsICJDb3VsZCBub3Qgc2V0IHN0YXRlOiAlbSIpOwotKwotKyAgICAgICAgciA9IHNkX25ldGxpbmtfbWVzc2FnZV9zZXRfZmxhZ3MocmVxLCBOTE1fRl9SRVFVRVNUIHwgTkxNX0ZfQ1JFQVRFIHwgTkxNX0ZfUkVQTEFDRSk7Ci0rICAgICAgICBpZiAociA8IDApCi0rICAgICAgICAgICAgICAgIHJldHVybiBsb2dfZXJyb3JfZXJybm8ociwgIkNvdWxkIG5vdCBzZXQgZmxhZ3M6ICVtIik7Ci0rCi0rICAgICAgICByID0gc2RfbmV0bGlua19tZXNzYWdlX2FwcGVuZF9ldGhlcl9hZGRyKHJlcSwgTkRBX0xMQUREUiwgJm5laWdoYm9yLT5tYWMpOwotKyAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2Vycm9yX2Vycm5vKHIsICJDb3VsZCBub3QgYXBwZW5kIE5EQV9MTEFERFIgYXR0cmlidXRlOiAlbSIpOwotKwotKyAgICAgICAgc3dpdGNoIChuZWlnaGJvci0+ZmFtaWx5KSB7Ci0rICAgICAgICBjYXNlIEFGX0lORVQ2OgotKyAgICAgICAgICAgICAgICByID0gc2RfbmV0bGlua19tZXNzYWdlX2FwcGVuZF9pbjZfYWRkcihyZXEsIE5EQV9EU1QsICZuZWlnaGJvci0+aW5fYWRkci5pbjYpOwotKyAgICAgICAgICAgICAgICBpZiAociA8IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19lcnJvcl9lcnJubyhyLCAiQ291bGQgbm90IGFwcGVuZCBOREFfRFNUIGF0dHJpYnV0ZTogJW0iKTsKLSsgICAgICAgICAgICAgICAgYnJlYWs7Ci0rICAgICAgICBjYXNlIEFGX0lORVQ6Ci0rICAgICAgICAgICAgICAgIHIgPSBzZF9uZXRsaW5rX21lc3NhZ2VfYXBwZW5kX2luX2FkZHIocmVxLCBOREFfRFNULCAmbmVpZ2hib3ItPmluX2FkZHIuaW4pOwotKyAgICAgICAgICAgICAgICBpZiAociA8IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19lcnJvcl9lcnJubyhyLCAiQ291bGQgbm90IGFwcGVuZCBOREFfRFNUIGF0dHJpYnV0ZTogJW0iKTsKLSsgICAgICAgICAgICAgICAgYnJlYWs7Ci0rICAgICAgICBkZWZhdWx0OgotKyAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2Vycm9yX2Vycm5vKEVJTlZBTCwgIk5laWdoYm9yIHdpdGggaW52YWxpZCBhZGRyZXNzIGZhbWlseSIpOwotKyAgICAgICAgfQotKwotKyAgICAgICAgciA9IHNkX25ldGxpbmtfY2FsbF9hc3luYyhsaW5rLT5tYW5hZ2VyLT5ydG5sLCByZXEsIGNhbGxiYWNrID86IG5laWdoYm9yX2hhbmRsZXIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmssIDAsIE5VTEwpOwotKyAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2Vycm9yX2Vycm5vKHIsICJDb3VsZCBub3Qgc2VuZCBydG5ldGxpbmsgbWVzc2FnZTogJW0iKTsKLSsKLSsgICAgICAgIGxpbmstPm5laWdoYm9yX21lc3NhZ2VzKys7Ci0rICAgICAgICBsaW5rX3JlZihsaW5rKTsKLSsKLSsgICAgICAgIHJldHVybiAwOwotK30KLSsKLStpbnQgY29uZmlnX3BhcnNlX25laWdoYm9yX2FkZHJlc3MoY29uc3QgY2hhciAqdW5pdCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZmlsZW5hbWUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxpbmUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnNlY3Rpb24sCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIHNlY3Rpb25fbGluZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbHZhbHVlLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbHR5cGUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnJ2YWx1ZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqZGF0YSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqdXNlcmRhdGEpIHsKLSsKLSsgICAgICAgIE5ldHdvcmsgKm5ldHdvcmsgPSB1c2VyZGF0YTsKLSsgICAgICAgIF9jbGVhbnVwXyhuZWlnaGJvcl9mcmVlcCkgTmVpZ2hib3IgKm4gPSBOVUxMOwotKyAgICAgICAgaW50IHI7Ci0rCi0rICAgICAgICBhc3NlcnQoZmlsZW5hbWUpOwotKyAgICAgICAgYXNzZXJ0KHNlY3Rpb24pOwotKyAgICAgICAgYXNzZXJ0KGx2YWx1ZSk7Ci0rICAgICAgICBhc3NlcnQocnZhbHVlKTsKLSsgICAgICAgIGFzc2VydChkYXRhKTsKLSsKLSsgICAgICAgIHIgPSBuZWlnaGJvcl9uZXdfc3RhdGljKG5ldHdvcmssIGZpbGVuYW1lLCBzZWN0aW9uX2xpbmUsICZuKTsKLSsgICAgICAgIGlmIChyIDwgMCkKLSsgICAgICAgICAgICAgICAgcmV0dXJuIHI7Ci0rCi0rICAgICAgICByID0gaW5fYWRkcl9mcm9tX3N0cmluZ19hdXRvKHJ2YWx1ZSwgJm4tPmZhbWlseSwgJm4tPmluX2FkZHIpOwotKyAgICAgICAgaWYgKHIgPCAwKSB7Ci0rICAgICAgICAgICAgICAgIGxvZ19zeW50YXgodW5pdCwgTE9HX0VSUiwgZmlsZW5hbWUsIGxpbmUsIHIsICJOZWlnaGJvciBBZGRyZXNzIGlzIGludmFsaWQsIGlnbm9yaW5nIGFzc2lnbm1lbnQ6ICVzIiwgcnZhbHVlKTsKLSsgICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0rICAgICAgICB9Ci0rCi0rICAgICAgICBUQUtFX1BUUihuKTsKLSsKLSsgICAgICAgIHJldHVybiAwOwotK30KLSsKLStpbnQgY29uZmlnX3BhcnNlX25laWdoYm9yX2h3YWRkcihjb25zdCBjaGFyICp1bml0LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxpbmUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqc2VjdGlvbiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBzZWN0aW9uX2xpbmUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbHZhbHVlLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsdHlwZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpydmFsdWUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqZGF0YSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICp1c2VyZGF0YSkgewotKwotKyAgICAgICAgTmV0d29yayAqbmV0d29yayA9IHVzZXJkYXRhOwotKyAgICAgICAgX2NsZWFudXBfKG5laWdoYm9yX2ZyZWVwKSBOZWlnaGJvciAqbiA9IE5VTEw7Ci0rICAgICAgICBpbnQgcjsKLSsKLSsgICAgICAgIGFzc2VydChmaWxlbmFtZSk7Ci0rICAgICAgICBhc3NlcnQoc2VjdGlvbik7Ci0rICAgICAgICBhc3NlcnQobHZhbHVlKTsKLSsgICAgICAgIGFzc2VydChydmFsdWUpOwotKyAgICAgICAgYXNzZXJ0KGRhdGEpOwotKwotKyAgICAgICAgciA9IG5laWdoYm9yX25ld19zdGF0aWMobmV0d29yaywgZmlsZW5hbWUsIHNlY3Rpb25fbGluZSwgJm4pOwotKyAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICByZXR1cm4gcjsKLSsKLSsgICAgICAgIHIgPSBldGhlcl9hZGRyX2Zyb21fc3RyaW5nKHJ2YWx1ZSwgJm4tPm1hYyk7Ci0rICAgICAgICBpZiAociA8IDApIHsKLSsgICAgICAgICAgICAgICAgbG9nX3N5bnRheCh1bml0LCBMT0dfRVJSLCBmaWxlbmFtZSwgbGluZSwgciwgIk5laWdoYm9yIE1BQ0FkZHJlc3MgaXMgaW52YWxpZCwgaWdub3JpbmcgYXNzaWdubWVudDogJXMiLCBydmFsdWUpOwotKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSsgICAgICAgIH0KLSsKLSsgICAgICAgIG4tPm1hY19jb25maWd1cmVkID0gdHJ1ZTsKLSsgICAgICAgIFRBS0VfUFRSKG4pOwotKwotKyAgICAgICAgcmV0dXJuIDA7Ci0rfQotZGlmZiAtLWdpdCBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLW5laWdoYm9yLmggYi9zcmMvbmV0d29yay9uZXR3b3JrZC1uZWlnaGJvci5oCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMC4uMzBhMWY4ZmUyNwotLS0tIC9kZXYvbnVsbAotKysrIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtbmVpZ2hib3IuaAotQEAgLTAsMCArMSwzNyBAQAotKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBMR1BMLTIuMSsgKi8KLSsjcHJhZ21hIG9uY2UKLSsKLSsjaW5jbHVkZSAic2QtbmV0bGluay5oIgotKwotKyNpbmNsdWRlICJjb25mLXBhcnNlci5oIgotKyNpbmNsdWRlICJldGhlci1hZGRyLXV0aWwuaCIKLSsjaW5jbHVkZSAiaW4tYWRkci11dGlsLmgiCi0rI2luY2x1ZGUgImxpc3QuaCIKLSsjaW5jbHVkZSAibWFjcm8uaCIKLSsKLSt0eXBlZGVmIHN0cnVjdCBOZWlnaGJvciBOZWlnaGJvcjsKLSsKLSsjaW5jbHVkZSAibmV0d29ya2QtbGluay5oIgotKyNpbmNsdWRlICJuZXR3b3JrZC1uZXR3b3JrLmgiCi0rCi0rc3RydWN0IE5laWdoYm9yIHsKLSsgICAgICAgIE5ldHdvcmsgKm5ldHdvcms7Ci0rICAgICAgICBMaW5rICpsaW5rOwotKyAgICAgICAgTmV0d29ya0NvbmZpZ1NlY3Rpb24gKnNlY3Rpb247Ci0rCi0rICAgICAgICBpbnQgZmFtaWx5OwotKyAgICAgICAgdW5pb24gaW5fYWRkcl91bmlvbiBpbl9hZGRyOwotKyAgICAgICAgYm9vbCBtYWNfY29uZmlndXJlZDsKLSsgICAgICAgIHN0cnVjdCBldGhlcl9hZGRyIG1hYzsKLSsKLSsgICAgICAgIExJU1RfRklFTERTKE5laWdoYm9yLCBuZWlnaGJvcnMpOwotK307Ci0rCi0rdm9pZCBuZWlnaGJvcl9mcmVlKE5laWdoYm9yICpuZWlnaGJvcik7Ci0rCi0rREVGSU5FX1RSSVZJQUxfQ0xFQU5VUF9GVU5DKE5laWdoYm9yKiwgbmVpZ2hib3JfZnJlZSk7Ci0rCi0raW50IG5laWdoYm9yX2NvbmZpZ3VyZShOZWlnaGJvciAqbmVpZ2hib3IsIExpbmsgKmxpbmssIHNkX25ldGxpbmtfbWVzc2FnZV9oYW5kbGVyX3QgY2FsbGJhY2spOwotKwotK0NPTkZJR19QQVJTRVJfUFJPVE9UWVBFKGNvbmZpZ19wYXJzZV9uZWlnaGJvcl9hZGRyZXNzKTsKLStDT05GSUdfUEFSU0VSX1BST1RPVFlQRShjb25maWdfcGFyc2VfbmVpZ2hib3JfaHdhZGRyKTsKLWRpZmYgLS1naXQgYS9zcmMvbmV0d29yay9uZXR3b3JrZC1uZXR3b3JrLWdwZXJmLmdwZXJmIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtbmV0d29yay1ncGVyZi5ncGVyZgotaW5kZXggNmFkNTI1N2Y3OS4uMTg0MDUxNDlhNCAxMDA2NDQKLS0tLSBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLW5ldHdvcmstZ3BlcmYuZ3BlcmYKLSsrKyBiL3NyYy9uZXR3b3JrL25ldHdvcmtkLW5ldHdvcmstZ3BlcmYuZ3BlcmYKLUBAIC05Myw2ICs5Myw4IEBAIEFkZHJlc3MuQXV0b0pvaW4sICAgICAgICAgICAgICAgICAgICAgICBjb25maWdfcGFyc2VfYWRkcmVzc19mbGFncywKLSBBZGRyZXNzLlNjb3BlLCAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnX3BhcnNlX2FkZHJlc3Nfc2NvcGUsICAgICAgICAgICAgICAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKLSBJUHY2QWRkcmVzc0xhYmVsLlByZWZpeCwgICAgICAgICAgICAgICAgY29uZmlnX3BhcnNlX2FkZHJlc3NfbGFiZWxfcHJlZml4LCAgICAgICAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKLSBJUHY2QWRkcmVzc0xhYmVsLkxhYmVsLCAgICAgICAgICAgICAgICAgY29uZmlnX3BhcnNlX2FkZHJlc3NfbGFiZWwsICAgICAgICAgICAgICAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKLStOZWlnaGJvci5BZGRyZXNzLCAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnX3BhcnNlX25laWdoYm9yX2FkZHJlc3MsICAgICAgICAgICAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKLStOZWlnaGJvci5NQUNBZGRyZXNzLCAgICAgICAgICAgICAgICAgICAgY29uZmlnX3BhcnNlX25laWdoYm9yX2h3YWRkciwgICAgICAgICAgICAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKLSBSb3V0aW5nUG9saWN5UnVsZS5UeXBlT2ZTZXJ2aWNlLCAgICAgICAgY29uZmlnX3BhcnNlX3JvdXRpbmdfcG9saWN5X3J1bGVfdG9zLCAgICAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKLSBSb3V0aW5nUG9saWN5UnVsZS5Qcmlvcml0eSwgICAgICAgICAgICAgY29uZmlnX3BhcnNlX3JvdXRpbmdfcG9saWN5X3J1bGVfcHJpb3JpdHksICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKLSBSb3V0aW5nUG9saWN5UnVsZS5UYWJsZSwgICAgICAgICAgICAgICAgY29uZmlnX3BhcnNlX3JvdXRpbmdfcG9saWN5X3J1bGVfdGFibGUsICAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKLWRpZmYgLS1naXQgYS9zcmMvbmV0d29yay9uZXR3b3JrZC1uZXR3b3JrLmMgYi9zcmMvbmV0d29yay9uZXR3b3JrZC1uZXR3b3JrLmMKLWluZGV4IDQyOWFhYzVlNmMuLmEzYjhmMGNlYzQgMTAwNjQ0Ci0tLS0gYS9zcmMvbmV0d29yay9uZXR3b3JrZC1uZXR3b3JrLmMKLSsrKyBiL3NyYy9uZXR3b3JrL25ldHdvcmtkLW5ldHdvcmsuYwotQEAgLTE1OCw2ICsxNTgsMTAgQEAgc3RhdGljIGludCBuZXR3b3JrX2xvYWRfb25lKE1hbmFnZXIgKm1hbmFnZXIsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKSB7Ci0gICAgICAgICBpZiAoIW5ldHdvcmstPmZkYl9lbnRyaWVzX2J5X3NlY3Rpb24pCi0gICAgICAgICAgICAgICAgIHJldHVybiBsb2dfb29tKCk7Ci0gCi0rICAgICAgICBuZXR3b3JrLT5uZWlnaGJvcnNfYnlfc2VjdGlvbiA9IGhhc2htYXBfbmV3KCZuZXR3b3JrX2NvbmZpZ19oYXNoX29wcyk7Ci0rICAgICAgICBpZiAoIW5ldHdvcmstPm5laWdoYm9yc19ieV9zZWN0aW9uKQotKyAgICAgICAgICAgICAgICBsb2dfb29tKCk7Ci0rCi0gICAgICAgICBuZXR3b3JrLT5hZGRyZXNzX2xhYmVsc19ieV9zZWN0aW9uID0gaGFzaG1hcF9uZXcoJm5ldHdvcmtfY29uZmlnX2hhc2hfb3BzKTsKLSAgICAgICAgIGlmICghbmV0d29yay0+YWRkcmVzc19sYWJlbHNfYnlfc2VjdGlvbikKLSAgICAgICAgICAgICAgICAgbG9nX29vbSgpOwotQEAgLTI1Niw2ICsyNjAsNyBAQCBzdGF0aWMgaW50IG5ldHdvcmtfbG9hZF9vbmUoTWFuYWdlciAqbWFuYWdlciwgY29uc3QgY2hhciAqZmlsZW5hbWUpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTGlua1wwIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOZXR3b3JrXDAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFkZHJlc3NcMCIKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTmVpZ2hib3JcMCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSVB2NkFkZHJlc3NMYWJlbFwwIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSb3V0aW5nUG9saWN5UnVsZVwwIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSb3V0ZVwwIgotQEAgLTM0MCw2ICszNDUsNyBAQCB2b2lkIG5ldHdvcmtfZnJlZShOZXR3b3JrICpuZXR3b3JrKSB7Ci0gICAgICAgICBJUHY2UHJveHlORFBBZGRyZXNzICppcHY2X3Byb3h5X25kcF9hZGRyZXNzOwotICAgICAgICAgUm91dGluZ1BvbGljeVJ1bGUgKnJ1bGU7Ci0gICAgICAgICBGZGJFbnRyeSAqZmRiX2VudHJ5OwotKyAgICAgICAgTmVpZ2hib3IgKm5laWdoYm9yOwotICAgICAgICAgQWRkcmVzc0xhYmVsICpsYWJlbDsKLSAgICAgICAgIFByZWZpeCAqcHJlZml4OwotICAgICAgICAgQWRkcmVzcyAqYWRkcmVzczsKLUBAIC0zOTMsNiArMzk5LDkgQEAgdm9pZCBuZXR3b3JrX2ZyZWUoTmV0d29yayAqbmV0d29yaykgewotICAgICAgICAgd2hpbGUgKChpcHY2X3Byb3h5X25kcF9hZGRyZXNzID0gbmV0d29yay0+aXB2Nl9wcm94eV9uZHBfYWRkcmVzc2VzKSkKLSAgICAgICAgICAgICAgICAgaXB2Nl9wcm94eV9uZHBfYWRkcmVzc19mcmVlKGlwdjZfcHJveHlfbmRwX2FkZHJlc3MpOwotIAotKyAgICAgICAgd2hpbGUgKChuZWlnaGJvciA9IG5ldHdvcmstPm5laWdoYm9ycykpCi0rICAgICAgICAgICAgICAgIG5laWdoYm9yX2ZyZWUobmVpZ2hib3IpOwotKwotICAgICAgICAgd2hpbGUgKChsYWJlbCA9IG5ldHdvcmstPmFkZHJlc3NfbGFiZWxzKSkKLSAgICAgICAgICAgICAgICAgYWRkcmVzc19sYWJlbF9mcmVlKGxhYmVsKTsKLSAKLUBAIC00MDUsNiArNDE0LDcgQEAgdm9pZCBuZXR3b3JrX2ZyZWUoTmV0d29yayAqbmV0d29yaykgewotICAgICAgICAgaGFzaG1hcF9mcmVlKG5ldHdvcmstPmFkZHJlc3Nlc19ieV9zZWN0aW9uKTsKLSAgICAgICAgIGhhc2htYXBfZnJlZShuZXR3b3JrLT5yb3V0ZXNfYnlfc2VjdGlvbik7Ci0gICAgICAgICBoYXNobWFwX2ZyZWUobmV0d29yay0+ZmRiX2VudHJpZXNfYnlfc2VjdGlvbik7Ci0rICAgICAgICBoYXNobWFwX2ZyZWUobmV0d29yay0+bmVpZ2hib3JzX2J5X3NlY3Rpb24pOwotICAgICAgICAgaGFzaG1hcF9mcmVlKG5ldHdvcmstPmFkZHJlc3NfbGFiZWxzX2J5X3NlY3Rpb24pOwotICAgICAgICAgaGFzaG1hcF9mcmVlKG5ldHdvcmstPnByZWZpeGVzX2J5X3NlY3Rpb24pOwotICAgICAgICAgaGFzaG1hcF9mcmVlKG5ldHdvcmstPnJ1bGVzX2J5X3NlY3Rpb24pOwotZGlmZiAtLWdpdCBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLW5ldHdvcmsuaCBiL3NyYy9uZXR3b3JrL25ldHdvcmtkLW5ldHdvcmsuaAotaW5kZXggMmQ0NmQzOTNhYy4uOGRmMTgzMjZiYiAxMDA2NDQKLS0tLSBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLW5ldHdvcmsuaAotKysrIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtbmV0d29yay5oCi1AQCAtMTYsNiArMTYsNyBAQAotICNpbmNsdWRlICJuZXR3b3JrZC1mZGIuaCIKLSAjaW5jbHVkZSAibmV0d29ya2QtaXB2Ni1wcm94eS1uZHAuaCIKLSAjaW5jbHVkZSAibmV0d29ya2QtbGxkcC10eC5oIgotKyNpbmNsdWRlICJuZXR3b3JrZC1uZWlnaGJvci5oIgotICNpbmNsdWRlICJuZXR3b3JrZC1yYWR2LmgiCi0gI2luY2x1ZGUgIm5ldHdvcmtkLXJvdXRlLmgiCi0gI2luY2x1ZGUgIm5ldHdvcmtkLXJvdXRpbmctcG9saWN5LXJ1bGUuaCIKLUBAIC0yMjksNiArMjMwLDcgQEAgc3RydWN0IE5ldHdvcmsgewotICAgICAgICAgTElTVF9IRUFEKFJvdXRlLCBzdGF0aWNfcm91dGVzKTsKLSAgICAgICAgIExJU1RfSEVBRChGZGJFbnRyeSwgc3RhdGljX2ZkYl9lbnRyaWVzKTsKLSAgICAgICAgIExJU1RfSEVBRChJUHY2UHJveHlORFBBZGRyZXNzLCBpcHY2X3Byb3h5X25kcF9hZGRyZXNzZXMpOwotKyAgICAgICAgTElTVF9IRUFEKE5laWdoYm9yLCBuZWlnaGJvcnMpOwotICAgICAgICAgTElTVF9IRUFEKEFkZHJlc3NMYWJlbCwgYWRkcmVzc19sYWJlbHMpOwotICAgICAgICAgTElTVF9IRUFEKFByZWZpeCwgc3RhdGljX3ByZWZpeGVzKTsKLSAgICAgICAgIExJU1RfSEVBRChSb3V0aW5nUG9saWN5UnVsZSwgcnVsZXMpOwotQEAgLTIzNyw2ICsyMzksNyBAQCBzdHJ1Y3QgTmV0d29yayB7Ci0gICAgICAgICB1bnNpZ25lZCBuX3N0YXRpY19yb3V0ZXM7Ci0gICAgICAgICB1bnNpZ25lZCBuX3N0YXRpY19mZGJfZW50cmllczsKLSAgICAgICAgIHVuc2lnbmVkIG5faXB2Nl9wcm94eV9uZHBfYWRkcmVzc2VzOwotKyAgICAgICAgdW5zaWduZWQgbl9uZWlnaGJvcnM7Ci0gICAgICAgICB1bnNpZ25lZCBuX2FkZHJlc3NfbGFiZWxzOwotICAgICAgICAgdW5zaWduZWQgbl9zdGF0aWNfcHJlZml4ZXM7Ci0gICAgICAgICB1bnNpZ25lZCBuX3J1bGVzOwotQEAgLTI0NCw2ICsyNDcsNyBAQCBzdHJ1Y3QgTmV0d29yayB7Ci0gICAgICAgICBIYXNobWFwICphZGRyZXNzZXNfYnlfc2VjdGlvbjsKLSAgICAgICAgIEhhc2htYXAgKnJvdXRlc19ieV9zZWN0aW9uOwotICAgICAgICAgSGFzaG1hcCAqZmRiX2VudHJpZXNfYnlfc2VjdGlvbjsKLSsgICAgICAgIEhhc2htYXAgKm5laWdoYm9yc19ieV9zZWN0aW9uOwotICAgICAgICAgSGFzaG1hcCAqYWRkcmVzc19sYWJlbHNfYnlfc2VjdGlvbjsKLSAgICAgICAgIEhhc2htYXAgKnByZWZpeGVzX2J5X3NlY3Rpb247Ci0gICAgICAgICBIYXNobWFwICpydWxlc19ieV9zZWN0aW9uOwotLS0gCi0yLjIwLjEuOTcuZzgxMTg4ZDkzYzMtZ29vZwotCmRpZmYgLS1naXQgYS9tZXRhLXBob3NwaG9yL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNi1jb3JlLWZpeC10aGUtY2hlY2staWYtQ09ORklHX0NHUk9VUF9CUEYtaXMtb24ucGF0Y2ggYi9tZXRhLXBob3NwaG9yL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNi1jb3JlLWZpeC10aGUtY2hlY2staWYtQ09ORklHX0NHUk9VUF9CUEYtaXMtb24ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM2NDUxMDAuLjAwMDAwMDAKLS0tIGEvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDYtY29yZS1maXgtdGhlLWNoZWNrLWlmLUNPTkZJR19DR1JPVVBfQlBGLWlzLW9uLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODYgKzAsMCBAQAotRnJvbSA0ZWE3OWMxOGYxZTIwODFkNTllYWEwZjFkZjQ3OWRiYzc3MDA3NzllIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRWQgVGFub3VzIDxlZC50YW5vdXNAaW50ZWwuY29tPgotRGF0ZTogU3VuLCAxNiBEZWMgMjAxOCAxODoyNzowNiAtMDgwMAotU3ViamVjdDogW1BBVENIXSBjb3JlOiBmaXggdGhlIGNoZWNrIGlmIENPTkZJR19DR1JPVVBfQlBGIGlzIG9uCi0KLVNpbmNlIHRoZSBjb21taXQgdG9ydmFsZHMvbGludXhAZmRiNWM0NTMxYzFlMGU1MGU2MDlkZjgzZjczNmI2ZjNhMDI4OTZlMgotdGhlIHN5c2NhbGwgQlBGX1BST0dfQVRUQUNIIHJldHVybiBFQkFERiB3aGVuIENPTkZJR19DR1JPVVBfQlBGIGlzCi10dXJuZWQgb2ZmIGFuZCBhcyByZXN1bHQgdGhlIGJwZl9maXJld2FsbF9zdXBwb3J0ZWQoKSByZXR1cm5zIHRoZQotaW5jb3JyZWN0IHZhbHVlLgotCi1UaGlzIGNvbW1taXQgcmVwbGFjZXMgdGhlIHN5c2NhbGwgQlBGX1BST0dfQVRUQUNIIHdpdGggQlBGX1BST0dfREVUQUNICi13aGljaCBpcyBzdGlsbCB3b3JrIGFzIGV4cGVjdGVkLgotCi1SZXNvbHZlcyBvcGVuYm1jL2xpbnV4IzE1OQotU2VlIGFsc28gc3lzdGVtZC9zeXN0ZW1kIzcwNTQKLQotT3JpZ2luYWxseSB3cml0dGVuIGJ5OgotQWxleGFuZGVyIEZpbGlwcG92IDxhLmZpbGlwcG92QHlhZHJvLmNvbT4KLQotU2lnbmVkLW9mZi1ieTogRWQgVGFub3VzIDxlZC50YW5vdXNAaW50ZWwuY29tPgotLS0tCi0gc3JjL2NvcmUvYnBmLWZpcmV3YWxsLmMgfCAxNCArKysrKysrLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvY29yZS9icGYtZmlyZXdhbGwuYyBiL3NyYy9jb3JlL2JwZi1maXJld2FsbC5jCi1pbmRleCA4YjY2ZWY3M2QuLmU2OGI3MGQwYyAxMDA2NDQKLS0tLSBhL3NyYy9jb3JlL2JwZi1maXJld2FsbC5jCi0rKysgYi9zcmMvY29yZS9icGYtZmlyZXdhbGwuYwotQEAgLTY2MCw3ICs2NjAsNyBAQCBpbnQgYnBmX2ZpcmV3YWxsX3N1cHBvcnRlZCh2b2lkKSB7Ci0gICAgICAgICAgKiBiKSB3aGV0aGVyIHRoZSB1bmlmaWVkIGhpZXJhcmNoeSBpcyBiZWluZyB1c2VkCi0gICAgICAgICAgKiBjKSB0aGUgQlBGIGltcGxlbWVudGF0aW9uIGluIHRoZSBrZXJuZWwgc3VwcG9ydHMgQlBGIExQTSBUUklFIG1hcHMsIHdoaWNoIHdlIHJlcXVpcmUKLSAgICAgICAgICAqIGQpIHRoZSBCUEYgaW1wbGVtZW50YXRpb24gaW4gdGhlIGtlcm5lbCBzdXBwb3J0cyBCUEZfUFJPR19UWVBFX0NHUk9VUF9TS0IgcHJvZ3JhbXMsIHdoaWNoIHdlIHJlcXVpcmUKLS0gICAgICAgICAqIGUpIHRoZSBCUEYgaW1wbGVtZW50YXRpb24gaW4gdGhlIGtlcm5lbCBzdXBwb3J0cyB0aGUgQlBGX1BST0dfQVRUQUNIIGNhbGwsIHdoaWNoIHdlIHJlcXVpcmUKLSsgICAgICAgICAqIGUpIHRoZSBCUEYgaW1wbGVtZW50YXRpb24gaW4gdGhlIGtlcm5lbCBzdXBwb3J0cyB0aGUgQlBGX1BST0dfREVUQUNIIGNhbGwsIHdoaWNoIHdlIHJlcXVpcmUKLSAgICAgICAgICAqCi0gICAgICAgICAgKi8KLSAKLUBAIC03MTQsNyArNzE0LDcgQEAgaW50IGJwZl9maXJld2FsbF9zdXBwb3J0ZWQodm9pZCkgewotICAgICAgICAgICogaXMgdHVybmVkIG9mZiBhdCBrZXJuZWwgY29tcGlsYXRpb24gdGltZS4gVGhpcyBzdWNrcyBvZiBjb3Vyc2U6IHdoeSBkb2VzIGl0IGFsbG93IHVzIHRvIGNyZWF0ZSBhIGNncm91cCBCUEYKLSAgICAgICAgICAqIHByb2dyYW0gaWYgd2UgY2FuJ3QgZG8gYSB0aGluZyB3aXRoIGl0IGxhdGVyPwotICAgICAgICAgICoKLS0gICAgICAgICAqIFdlIGRldGVjdCB0aGlzIGNhc2UgYnkgaXNzdWluZyB0aGUgQlBGX1BST0dfQVRUQUNIIGJwZigpIGNhbGwgd2l0aCBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvcnM6IGlmCi0rICAgICAgICAgKiBXZSBkZXRlY3QgdGhpcyBjYXNlIGJ5IGlzc3VpbmcgdGhlIEJQRl9QUk9HX0RFVEFDSCBicGYoKSBjYWxsIHdpdGggaW52YWxpZCBmaWxlIGRlc2NyaXB0b3JzOiBpZgotICAgICAgICAgICogQ09ORklHX0NHUk9VUF9CUEYgaXMgdHVybmVkIG9mZiwgdGhlbiB0aGUgY2FsbCB3aWxsIGZhaWwgZWFybHkgd2l0aCBFSU5WQUwuIElmIGl0IGlzIHR1cm5lZCBvbiB0aGUKLSAgICAgICAgICAqIHBhcmFtZXRlcnMgYXJlIHZhbGlkYXRlZCBob3dldmVyLCBhbmQgdGhhdCdsbCBmYWlsIHdpdGggRUJBREYgdGhlbi4gKi8KLSAKLUBAIC03MjQsMTUgKzcyNCwxNSBAQCBpbnQgYnBmX2ZpcmV3YWxsX3N1cHBvcnRlZCh2b2lkKSB7Ci0gICAgICAgICAgICAgICAgIC5hdHRhY2hfYnBmX2ZkID0gLTEsCi0gICAgICAgICB9OwotIAotLSAgICAgICAgaWYgKGJwZihCUEZfUFJPR19BVFRBQ0gsICZhdHRyLCBzaXplb2YoYXR0cikpIDwgMCkgewotKyAgICAgICAgaWYgKGJwZihCUEZfUFJPR19ERVRBQ0gsICZhdHRyLCBzaXplb2YoYXR0cikpIDwgMCkgewotICAgICAgICAgICAgICAgICBpZiAoZXJybm8gIT0gRUJBREYpIHsKLS0gICAgICAgICAgICAgICAgICAgICAgICBsb2dfZGVidWdfZXJybm8oZXJybm8sICJEaWRuJ3QgZ2V0IEVCQURGIGZyb20gQlBGX1BST0dfQVRUQUNILCBCUEYgZmlyZXdhbGxpbmcgaXMgbm90IHN1cHBvcnRlZDogJW0iKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBsb2dfZGVidWdfZXJybm8oZXJybm8sICJEaWRuJ3QgZ2V0IEVCQURGIGZyb20gQlBGX1BST0dfREVUQUNILCBCUEYgZmlyZXdhbGxpbmcgaXMgbm90IHN1cHBvcnRlZDogJW0iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3VwcG9ydGVkID0gQlBGX0ZJUkVXQUxMX1VOU1VQUE9SVEVEOwotICAgICAgICAgICAgICAgICB9Ci0gCi0gICAgICAgICAgICAgICAgIC8qIFlBWSEgKi8KLSAgICAgICAgIH0gZWxzZSB7Ci0tICAgICAgICAgICAgICAgIGxvZ19kZWJ1ZygiV3V0PyBLZXJuZWwgYWNjZXB0ZWQgb3VyIGludmFsaWQgQlBGX1BST0dfQVRUQUNIIGNhbGw/IFNvbWV0aGluZyBpcyB3ZWlyZCwgYXNzdW1pbmcgQlBGIGZpcmV3YWxsaW5nIGlzIGJyb2tlbiBhbmQgaGVuY2Ugbm90IHN1cHBvcnRlZC4iKTsKLSsgICAgICAgICAgICAgICAgbG9nX2RlYnVnKCJXdXQ/IEtlcm5lbCBhY2NlcHRlZCBvdXIgaW52YWxpZCBCUEZfUFJPR19ERVRBQ0ggY2FsbD8gU29tZXRoaW5nIGlzIHdlaXJkLCBhc3N1bWluZyBCUEYgZmlyZXdhbGxpbmcgaXMgYnJva2VuIGFuZCBoZW5jZSBub3Qgc3VwcG9ydGVkLiIpOwotICAgICAgICAgICAgICAgICByZXR1cm4gc3VwcG9ydGVkID0gQlBGX0ZJUkVXQUxMX1VOU1VQUE9SVEVEOwotICAgICAgICAgfQotIAotQEAgLTc0OCw3ICs3NDgsNyBAQCBpbnQgYnBmX2ZpcmV3YWxsX3N1cHBvcnRlZCh2b2lkKSB7Ci0gICAgICAgICAgICAgICAgIC5hdHRhY2hfZmxhZ3MgPSBCUEZfRl9BTExPV19NVUxUSSwKLSAgICAgICAgIH07Ci0gCi0tICAgICAgICBpZiAoYnBmKEJQRl9QUk9HX0FUVEFDSCwgJmF0dHIsIHNpemVvZihhdHRyKSkgPCAwKSB7Ci0rICAgICAgICBpZiAoYnBmKEJQRl9QUk9HX0RFVEFDSCwgJmF0dHIsIHNpemVvZihhdHRyKSkgPCAwKSB7Ci0gICAgICAgICAgICAgICAgIGlmIChlcnJubyA9PSBFQkFERikgewotICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ19kZWJ1Z19lcnJubyhlcnJubywgIkdvdCBFQkFERiB3aGVuIHVzaW5nIEJQRl9GX0FMTE9XX01VTFRJLCB3aGljaCBpbmRpY2F0ZXMgaXQgaXMgc3VwcG9ydGVkLiBZYXkhIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN1cHBvcnRlZCA9IEJQRl9GSVJFV0FMTF9TVVBQT1JURURfV0lUSF9NVUxUSTsKLUBAIC03NjEsNyArNzYxLDcgQEAgaW50IGJwZl9maXJld2FsbF9zdXBwb3J0ZWQodm9pZCkgewotIAotICAgICAgICAgICAgICAgICByZXR1cm4gc3VwcG9ydGVkID0gQlBGX0ZJUkVXQUxMX1NVUFBPUlRFRDsKLSAgICAgICAgIH0gZWxzZSB7Ci0tICAgICAgICAgICAgICAgIGxvZ19kZWJ1ZygiV3V0PyBLZXJuZWwgYWNjZXB0ZWQgb3VyIGludmFsaWQgQlBGX1BST0dfQVRUQUNIK0JQRl9GX0FMTE9XX01VTFRJIGNhbGw/IFNvbWV0aGluZyBpcyB3ZWlyZCwgYXNzdW1pbmcgQlBGIGZpcmV3YWxsaW5nIGlzIGJyb2tlbiBhbmQgaGVuY2Ugbm90IHN1cHBvcnRlZC4iKTsKLSsgICAgICAgICAgICAgICAgbG9nX2RlYnVnKCJXdXQ/IEtlcm5lbCBhY2NlcHRlZCBvdXIgaW52YWxpZCBCUEZfUFJPR19ERVRBQ0grQlBGX0ZfQUxMT1dfTVVMVEkgY2FsbD8gU29tZXRoaW5nIGlzIHdlaXJkLCBhc3N1bWluZyBCUEYgZmlyZXdhbGxpbmcgaXMgYnJva2VuIGFuZCBoZW5jZSBub3Qgc3VwcG9ydGVkLiIpOwotICAgICAgICAgICAgICAgICByZXR1cm4gc3VwcG9ydGVkID0gQlBGX0ZJUkVXQUxMX1VOU1VQUE9SVEVEOwotICAgICAgICAgfQotIH0KLS0tIAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL21ldGEtcGhvc3Bob3IvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZF8lLmJiYXBwZW5kIGIvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kXyUuYmJhcHBlbmQKaW5kZXggNjgwZjRmNi4uZmE2YTdlZCAxMDA2NDQKLS0tIGEvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kXyUuYmJhcHBlbmQKKysrIGIvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kXyUuYmJhcHBlbmQKQEAgLTEsMjMgKzEsMTMgQEAKIEZJTEVTXyR7UE59LWNhdGFsb2ctZXh0cmFsb2NhbGVzID0gXAogICAgICAgICAgICAgIiR7ZXhlY19wcmVmaXh9L2xpYi9zeXN0ZW1kL2NhdGFsb2cvKi4qLmNhdGFsb2ciCiBQQUNLQUdFUyA9KyAiJHtQTn0tY2F0YWxvZy1leHRyYWxvY2FsZXMiCi1QQUNLQUdFQ09ORklHX3JlbW92ZSA9ICJiYWNrbGlnaHQgYmluZm10IGZpcnN0Ym9vdCBoaWJlcm5hdGUgaW1hIFwKLSAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZWQgbG9naW5kIG1hY2hpbmVkIHBvbGtpdCBxdW90YWNoZWNrIHNtYWNrIHV0bXAgXAotICAgICAgICAgICAgICAgICAgICAgICAgdmNvbnNvbGUiCitQQUNLQUdFQ09ORklHX3JlbW92ZSA9ICJiYWNrbGlnaHQgYmluZm10IGZpcnN0Ym9vdCBnc2hhZG93IGhpYmVybmF0ZSBpbWEgXAorICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlZCBsb2dpbmQgbWFjaGluZWQgbnNzIG5zcy1teW1hY2hpbmVzIG5zcy1yZXNvbHZlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIHBvbGtpdCBxdW90YWNoZWNrIHNtYWNrIHV0bXAgdmNvbnNvbGUiCisKIEZJTEVTRVhUUkFQQVRIU19hcHBlbmQgOj0gIiR7VEhJU0RJUn0vJHtQTn06IgogU1JDX1VSSSArPSAiZmlsZTovL2RlZmF1bHQubmV0d29yayIKIFNSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLXNkLWJ1cy1Eb24tdC1hdXRvbWF0aWNhbGx5LWFkZC1PYmplY3RNYW5hZ2VyLnBhdGNoIgotU1JDX1VSSSArPSAiZmlsZTovLzAwMDYtY29yZS1maXgtdGhlLWNoZWNrLWlmLUNPTkZJR19DR1JPVVBfQlBGLWlzLW9uLnBhdGNoIgotCi0jIFN0YXRpYyBuZWlnaGJvciBzdXBwb3J0IGluY2x1ZGVkIGluIHYyNDAgc28gcmVtb3ZlIHdoZW4gdXBkYXRlZAotU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtbmV0d29ya2QtVHJhY2stYWRkcmVzcy1jb25maWd1cmF0aW9uLnBhdGNoIgotU1JDX1VSSSArPSAiZmlsZTovLzAwMDItbmV0d29ya2QtVXNlLW9ubHktYS1nZW5lcmljLUNPTkZJR1VSSU5HLXN0YXRlLnBhdGNoIgotU1JDX1VSSSArPSAiZmlsZTovLzAwMDMtbmV0d29ya2QtU3RhdGljLW5laWdoYm9yLXN1cHBvcnQucGF0Y2giCi0KLSMgRml4ZXMgZnJvbSB1cHN0cmVhbSBmb3Igb3BlbmJtYy9vcGVuYm1jIzM0NTkKLVNSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLXRpbWVkYXRlLWRlZmVyLXRoZS1wcm9wZXJ0eS1jaGFuZ2VkLXNpZ25hbC11bnRpbC1qb2IucGF0Y2giCi1TUkNfVVJJICs9ICJmaWxlOi8vMDAwMS10aW1lZGF0ZS10cmVhdC1hY3RpdmF0aW5nLW9yLWluYWN0aXZhdGluZy1OVFAtY2xpZW50LnBhdGNoIgotU1JDX1VSSSArPSAiZmlsZTovLzAwMDItdGltZWRhdGUtcmVmdXNlLXRvLXNldC10aW1lLXdoZW4tcHJldmlvdXMtcmVxdWVzdC1pcy5wYXRjaCIKIAogUlJFQ09NTUVORFNfJHtQTn0gKz0gIm9ibWMtdGFyZ2V0cyIKIEZJTEVTXyR7UE59ICs9ICIke3N5c3RlbWRfdW5pdGRpcn0vbmV0d29yay9kZWZhdWx0Lm5ldHdvcmsiCmRpZmYgLS1naXQgYS9tZXRhLXBob3NwaG9yL3JlY2lwZXMtcGhvc3Bob3IvbXJ3L21ydy1hcGktbmF0aXZlLmJiIGIvbWV0YS1waG9zcGhvci9yZWNpcGVzLXBob3NwaG9yL21ydy9tcnctYXBpLW5hdGl2ZS5iYgppbmRleCAxZDI3N2NmLi5iOGMzMTFiIDEwMDY0NAotLS0gYS9tZXRhLXBob3NwaG9yL3JlY2lwZXMtcGhvc3Bob3IvbXJ3L21ydy1hcGktbmF0aXZlLmJiCisrKyBiL21ldGEtcGhvc3Bob3IvcmVjaXBlcy1waG9zcGhvci9tcncvbXJ3LWFwaS1uYXRpdmUuYmIKQEAgLTE3LDYgKzE3LDYgQEAKIFNSQ1JFViA9ICIke01SV19BUElfU1JDUkVWfSIKIAogZG9faW5zdGFsbCgpIHsKLSAgICBpbnN0YWxsIC1kICR7RH0ke1BFUkxMSUJESVJTX2NsYXNzLW5hdGl2ZX0vcGVybC9zaXRlX3BlcmwvJHtQRVJMVkVSU0lPTn0vbXJ3Ci0gICAgaW5zdGFsbCAtbSAwNzU1IHNjcmlwdHMvVGFyZ2V0cy5wbSAke0R9JHtQRVJMTElCRElSU19jbGFzcy1uYXRpdmV9L3Blcmwvc2l0ZV9wZXJsLyR7UEVSTFZFUlNJT059L21ydy9UYXJnZXRzLnBtCisgICAgaW5zdGFsbCAtZCAke0R9JHtQRVJMTElCRElSU19jbGFzcy1uYXRpdmV9L3NpdGVfcGVybC8ke1BFUkxWRVJTSU9OfS9tcncKKyAgICBpbnN0YWxsIC1tIDA3NTUgc2NyaXB0cy9UYXJnZXRzLnBtICR7RH0ke1BFUkxMSUJESVJTX2NsYXNzLW5hdGl2ZX0vc2l0ZV9wZXJsLyR7UEVSTFZFUlNJT059L21ydy9UYXJnZXRzLnBtCiB9CmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL2NsYXNzZXMvc2RjYXJkX2ltYWdlLXJwaS5iYmNsYXNzIGIvbWV0YS1yYXNwYmVycnlwaS9jbGFzc2VzL3NkY2FyZF9pbWFnZS1ycGkuYmJjbGFzcwppbmRleCBkNjNhMjQwLi41Mzg4MDNkIDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL2NsYXNzZXMvc2RjYXJkX2ltYWdlLXJwaS5iYmNsYXNzCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvY2xhc3Nlcy9zZGNhcmRfaW1hZ2UtcnBpLmJiY2xhc3MKQEAgLTY0LDEzICs2NCw2IEBACiAjIFNEIGNhcmQgaW1hZ2UgbmFtZQogU0RJTUcgPSAiJHtJTUdERVBMT1lESVJ9LyR7SU1BR0VfTkFNRX0ucm9vdGZzLnJwaS1zZGltZyIKIAotIyBDb21wcmVzc2lvbiBtZXRob2QgdG8gYXBwbHkgdG8gU0RJTUcgYWZ0ZXIgaXQgaGFzIGJlZW4gY3JlYXRlZC4gU3VwcG9ydGVkCi0jIGNvbXByZXNzaW9uIGZvcm1hdHMgYXJlICJnemlwIiwgImJ6aXAyIiBvciAieHoiLiBUaGUgb3JpZ2luYWwgLnJwaS1zZGltZyBmaWxlCi0jIGlzIGtlcHQgYW5kIGEgbmV3IGNvbXByZXNzZWQgZmlsZSBpcyBjcmVhdGVkIGlmIG9uZSBvZiB0aGVzZSBjb21wcmVzc2lvbgotIyBmb3JtYXRzIGlzIGNob3Nlbi4gSWYgU0RJTUdfQ09NUFJFU1NJT04gaXMgc2V0IHRvIGFueSBvdGhlciB2YWx1ZSBpdCBpcwotIyBzaWxlbnRseSBpZ25vcmVkLgotI1NESU1HX0NPTVBSRVNTSU9OID89ICIiCi0KICMgQWRkaXRpb25hbCBmaWxlcyBhbmQvb3IgZGlyZWN0b3JpZXMgdG8gYmUgY29waWVkIGludG8gdGhlIHZmYXQgcGFydGl0aW9uIGZyb20gdGhlIElNQUdFX1JPT1RGUy4KIEZBVFBBWUxPQUQgPz0gIiIKIApAQCAtMTc3LDE5ICsxNzAsNiBAQAogICAgIGVsc2UKICAgICAgICAgZGQgaWY9JHtTRElNR19ST09URlN9IG9mPSR7U0RJTUd9IGNvbnY9bm90cnVuYyBzZWVrPTEgYnM9JChleHByIDEwMjQgXCogJHtCT09UX1NQQUNFX0FMSUdORUR9ICsgJHtJTUFHRV9ST09URlNfQUxJR05NRU5UfSBcKiAxMDI0KQogICAgIGZpCi0KLSAgICAjIE9wdGlvbmFsbHkgYXBwbHkgY29tcHJlc3Npb24KLSAgICBjYXNlICIke1NESU1HX0NPTVBSRVNTSU9OfSIgaW4KLSAgICAiZ3ppcCIpCi0gICAgICAgIGd6aXAgLWs5ICIke1NESU1HfSIKLSAgICAgICAgOzsKLSAgICAiYnppcDIiKQotICAgICAgICBiemlwMiAtazkgIiR7U0RJTUd9IgotICAgICAgICA7OwotICAgICJ4eiIpCi0gICAgICAgIHh6IC1rICIke1NESU1HfSIKLSAgICAgICAgOzsKLSAgICBlc2FjCiB9CiAKIFJPT1RGU19QT1NUUFJPQ0VTU19DT01NQU5EICs9ICIgcnBpX2dlbmVyYXRlX3N5c2N0bF9jb25maWcgOyAiCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL2NvbmYvbGF5ZXIuY29uZiBiL21ldGEtcmFzcGJlcnJ5cGkvY29uZi9sYXllci5jb25mCmluZGV4IDY3ZWI5OGYuLjI2NGIyYzAgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvY29uZi9sYXllci5jb25mCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvY29uZi9sYXllci5jb25mCkBAIC05LDcgKzksNyBAQAogQkJGSUxFX1BBVFRFUk5fcmFzcGJlcnJ5cGkgOj0gIl4ke0xBWUVSRElSfS8iCiBCQkZJTEVfUFJJT1JJVFlfcmFzcGJlcnJ5cGkgPSAiOSIKIAotTEFZRVJTRVJJRVNfQ09NUEFUX3Jhc3BiZXJyeXBpID0gInN1bW8gdGh1ZCIKK0xBWUVSU0VSSUVTX0NPTVBBVF9yYXNwYmVycnlwaSA9ICJzdW1vIHRodWQgd2FycmlvciIKIAogIyBBZGRpdGlvbmFsIGxpY2Vuc2UgZGlyZWN0b3JpZXMuCiBMSUNFTlNFX1BBVEggKz0gIiR7TEFZRVJESVJ9L2ZpbGVzL2N1c3RvbS1saWNlbnNlcyIKZGlmZiAtLWdpdCBhL21ldGEtcmFzcGJlcnJ5cGkvY29uZi9tYWNoaW5lL2luY2x1ZGUvcnBpLWJhc2UuaW5jIGIvbWV0YS1yYXNwYmVycnlwaS9jb25mL21hY2hpbmUvaW5jbHVkZS9ycGktYmFzZS5pbmMKaW5kZXggNGJiZDU3Ni4uY2M2YTU0ZSAxMDA2NDQKLS0tIGEvbWV0YS1yYXNwYmVycnlwaS9jb25mL21hY2hpbmUvaW5jbHVkZS9ycGktYmFzZS5pbmMKKysrIGIvbWV0YS1yYXNwYmVycnlwaS9jb25mL21hY2hpbmUvaW5jbHVkZS9ycGktYmFzZS5pbmMKQEAgLTI1LDcgKzI1LDcgQEAKICAgICBvdmVybGF5cy9pMmMtcnRjLmR0Ym8gXAogICAgIG92ZXJsYXlzL2lxYXVkaW8tZGFjLmR0Ym8gXAogICAgIG92ZXJsYXlzL2lxYXVkaW8tZGFjcGx1cy5kdGJvIFwKLSAgICBvdmVybGF5cy9saXJjLXJwaS5kdGJvIFwKKyAgICBvdmVybGF5cy9tY3AyNTE1LWNhbjAuZHRibyBcCiAgICAgb3ZlcmxheXMvcGkzLWRpc2FibGUtYnQuZHRibyBcCiAgICAgb3ZlcmxheXMvcGkzLW1pbml1YXJ0LWJ0LmR0Ym8gXAogICAgIG92ZXJsYXlzL3BpdGZ0MjIuZHRibyBcCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL2NvbmYvbWFjaGluZS9pbmNsdWRlL3JwaS1kZWZhdWx0LXZlcnNpb25zLmluYyBiL21ldGEtcmFzcGJlcnJ5cGkvY29uZi9tYWNoaW5lL2luY2x1ZGUvcnBpLWRlZmF1bHQtdmVyc2lvbnMuaW5jCmluZGV4IGE1ZmU2ZDcuLjk5ODNiNjEgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvY29uZi9tYWNoaW5lL2luY2x1ZGUvcnBpLWRlZmF1bHQtdmVyc2lvbnMuaW5jCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvY29uZi9tYWNoaW5lL2luY2x1ZGUvcnBpLWRlZmF1bHQtdmVyc2lvbnMuaW5jCkBAIC0xLDMgKzEsMyBAQAogIyBSYXNwYmVycnlQaSBCU1AgZGVmYXVsdCB2ZXJzaW9ucwogCi1QUkVGRVJSRURfVkVSU0lPTl9saW51eC1yYXNwYmVycnlwaSA/Pz0gIjQuMTQuJSIKK1BSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXJhc3BiZXJyeXBpID8/PSAiNC4xOS4lIgpkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9jb25mL21hY2hpbmUvcmFzcGJlcnJ5cGkzLTY0LmNvbmYgYi9tZXRhLXJhc3BiZXJyeXBpL2NvbmYvbWFjaGluZS9yYXNwYmVycnlwaTMtNjQuY29uZgppbmRleCA2MzVlNGY2Li44MGI2YmM0IDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL2NvbmYvbWFjaGluZS9yYXNwYmVycnlwaTMtNjQuY29uZgorKysgYi9tZXRhLXJhc3BiZXJyeXBpL2NvbmYvbWFjaGluZS9yYXNwYmVycnlwaTMtNjQuY29uZgpAQCAtMTEsNyArMTEsNyBAQAogICAgIGJsdWV6LWZpcm13YXJlLXJwaWRpc3Ryby1iY200MzQ1YzAtaGNkIFwKICIKIAotcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12OC5pbmMKK3JlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhNTMuaW5jCiBpbmNsdWRlIGNvbmYvbWFjaGluZS9pbmNsdWRlL3JwaS1iYXNlLmluYwogCiBSUElfS0VSTkVMX0RFVklDRVRSRUUgPSAiIFwKZGlmZiAtLWdpdCBhL21ldGEtcmFzcGJlcnJ5cGkvZG9jcy9leHRyYS1idWlsZC1jb25maWcubWQgYi9tZXRhLXJhc3BiZXJyeXBpL2RvY3MvZXh0cmEtYnVpbGQtY29uZmlnLm1kCmluZGV4IDczMmMxMDIuLmI0NGRlY2UgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvZG9jcy9leHRyYS1idWlsZC1jb25maWcubWQKKysrIGIvbWV0YS1yYXNwYmVycnlwaS9kb2NzL2V4dHJhLWJ1aWxkLWNvbmZpZy5tZApAQCAtMTMsOSArMTMsNiBAQAogMi4gT3ZlcndyaXRlIFNESU1HX1JPT1RGU19UWVBFIGluIGxvY2FsLmNvbmYKICAgICAqIGBTRElNR19ST09URlNfVFlQRSA9ICJleHQzLnh6ImAKIAotMy4gT3ZlcndyaXRlIFNESU1HX0NPTVBSRVNTSU9OIGluIGxvY2FsLmNvbmYKLSAgICAqIGBTRElNR19DT01QUkVTU0lPTiA9ICJ4eiJgCi0KIEFjY29tbW9kYXRlIHRoZSB2YWx1ZXMgYWJvdmUgdG8geW91ciBvd24gbmVlZHMgKGV4OiBleHQzIC8gZXh0NCkuCiAKICMjIEdQVSBtZW1vcnkKQEAgLTI0Niw2ICsyNDMsMTUgQEAKIAogU2VlOiA8aHR0cHM6Ly9vcGVubGFicy5jby9PU0hXL1Jhc3BiZXJyeS1QaS04MDIuMTUuNC1yYWRpbz4KIAorIyMgRW5hYmxlIENBTiB3aXRoIFBpY2FuMgorCitJbiBvcmRlciB0byB1c2UgUGljYW4yIENBTiBtb2R1bGUsIHNldCB0aGUgZm9sbG93aW5nIHZhcmlhYmxlczoKKworCUVOQUJMRV9TUElfQlVTID0gIjEiCisJRU5BQkxFX0NBTiA9ICIxIgorCitTZWU6IDxodHRwOi8vc2twYW5nLmNvLnVrL2NhdGFsb2cvcGljYW4yLWNhbmJ1cy1ib2FyZC1mb3ItcmFzcGJlcnJ5LXBpLTIzLXAtMTQ3NS5odG1sPgorCiAjIyBNYW51YWwgYWRkaXRpb25zIHRvIGNvbmZpZy50eHQKIAogVGhlIGBSUElfRVhUUkFfQ09ORklHYCB2YXJpYWJsZSBjYW4gYmUgdXNlZCB0byBtYW51YWxseSBhZGQgYWRkaXRpb25hbCBsaW5lcyB0bwpkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9keW5hbWljLWxheWVycy9xdDUtbGF5ZXIvcmVjaXBlcy1xdC9xdDUvcXRiYXNlXyUuYmJhcHBlbmQgYi9tZXRhLXJhc3BiZXJyeXBpL2R5bmFtaWMtbGF5ZXJzL3F0NS1sYXllci9yZWNpcGVzLXF0L3F0NS9xdGJhc2VfJS5iYmFwcGVuZAppbmRleCA1OGI3YjQ3Li40MjAyNjUxIDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL2R5bmFtaWMtbGF5ZXJzL3F0NS1sYXllci9yZWNpcGVzLXF0L3F0NS9xdGJhc2VfJS5iYmFwcGVuZAorKysgYi9tZXRhLXJhc3BiZXJyeXBpL2R5bmFtaWMtbGF5ZXJzL3F0NS1sYXllci9yZWNpcGVzLXF0L3F0NS9xdGJhc2VfJS5iYmFwcGVuZApAQCAtMSw3ICsxLDggQEAKIFBBQ0tBR0VDT05GSUdfR0xfcnBpID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExIG9wZW5nbCcsICdnbCcsIFwKICAgICAgICAgICAgICAgICAgICAgICAgIGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAgICAgJ29wZW5nbCcsICdlZ2xmcyBnbGVzMicsIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJycsIGQpLCBkKX0iCi1QQUNLQUdFQ09ORklHX0dMX2FwcGVuZF9ycGkgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ01BQ0hJTkVfRkVBVFVSRVMnLCAndmM0Z3JhcGhpY3MnLCAnIGdibSBrbXMnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR19HTF9hcHBlbmRfcnBpID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdNQUNISU5FX0ZFQVRVUkVTJywgJ3ZjNGdyYXBoaWNzJywgJyBrbXMnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR19HTF9hcHBlbmRfcnBpID0gIiBnYm0iCiBQQUNLQUdFQ09ORklHX0ZPTlRTX3JwaSA9ICJmb250Y29uZmlnIgogUEFDS0FHRUNPTkZJR19hcHBlbmRfcnBpID0gIiBsaWJpbnB1dCBleGFtcGxlcyB0c2xpYiB4a2IgeGtiY29tbW9uLWV2ZGV2IgogUEFDS0FHRUNPTkZJR19yZW1vdmVfcnBpID0gInRlc3RzIgpAQCAtMTUsMyArMTYsNCBAQAogICAgIGZpCiB9CiBSREVQRU5EU18ke1BOfV9hcHBlbmRfcnBpID0gIiB1c2VybGFuZCIKK0RFUEVORFNfYXBwZW5kX3JwaSA9ICIke0BiYi51dGlscy5jb250YWlucygnTUFDSElORV9GRUFUVVJFUycsICd2YzRncmFwaGljcycsICcnLCAnIHVzZXJsYW5kJywgZCl9IgpkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWJzcC9ib290ZmlsZXMvcnBpLWNvbmZpZ19naXQuYmIgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtYnNwL2Jvb3RmaWxlcy9ycGktY29uZmlnX2dpdC5iYgppbmRleCBmY2M3NzcxLi5iMzM1NmVkIDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtYnNwL2Jvb3RmaWxlcy9ycGktY29uZmlnX2dpdC5iYgorKysgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtYnNwL2Jvb3RmaWxlcy9ycGktY29uZmlnX2dpdC5iYgpAQCAtMTgzLDYgKzE4MywxMiBAQAogICAgICAgICBlY2hvICJkdG92ZXJsYXk9YXQ4NnJmMjMzLHNwZWVkPTMwMDAwMDAiID4+JHtERVBMT1lESVJ9L2JjbTI4MzUtYm9vdGZpbGVzL2NvbmZpZy50eHQKICAgICBmaQogCisgICAgIyBFTkFCTEUgQ0FOCisgICAgaWYgWyAiJHtFTkFCTEVfQ0FOfSIgPSAiMSIgXTsgdGhlbgorICAgICAgICBlY2hvICIjIEVuYWJsZSBDQU4iID4+JHtERVBMT1lESVJ9L2JjbTI4MzUtYm9vdGZpbGVzL2NvbmZpZy50eHQKKyAgICAgICAgZWNobyAiZHRvdmVybGF5PW1jcDI1MTUtY2FuMCxvc2NpbGxhdG9yPTE2MDAwMDAwLGludGVycnVwdD0yNSIgPj4ke0RFUExPWURJUn0vYmNtMjgzNS1ib290ZmlsZXMvY29uZmlnLnR4dAorICAgIGZpCisKICAgICAjIEFwcGVuZCBleHRyYSBjb25maWcgaWYgdGhlIHVzZXIgaGFzIHByb3ZpZGVkIGFueQogICAgIHByaW50ZiAiJHtSUElfRVhUUkFfQ09ORklHfVxuIiA+PiAke0RFUExPWURJUn0vYmNtMjgzNS1ib290ZmlsZXMvY29uZmlnLnR4dAogfQpkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWJzcC9jb21tb24vZmlybXdhcmUuaW5jIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWJzcC9jb21tb24vZmlybXdhcmUuaW5jCmluZGV4IDM3Y2QzNDMuLmQxOTUyNWYgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ic3AvY29tbW9uL2Zpcm13YXJlLmluYworKysgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtYnNwL2NvbW1vbi9maXJtd2FyZS5pbmMKQEAgLTEsMTEgKzEsMTAgQEAKLVJQSUZXX0RBVEUgPz0gIjIwMTkwMjEyIgotU1JDUkVWID89ICI4Mzk3N2ZlM2I2ZWY1NGMxZDI5YzgzYjBhNzc4ZDMzMGY1MjM0NDFmIgorUlBJRldfREFURSA/PSAiMjAxOTAyMjAiCitTUkNSRVYgPz0gImViZjdiNDBjZGM2ZWZmZTdmZmEzZmQ1MTk1ZThiZTAxYjk0ZjgwZGEiCiBSUElGV19TUkNfVVJJID89ICJodHRwczovL2dpdGh1Yi5jb20vcmFzcGJlcnJ5cGkvZmlybXdhcmUvYXJjaGl2ZS8ke1NSQ1JFVn0udGFyLmd6IgogUlBJRldfUyA/PSAiJHtXT1JLRElSfS9maXJtd2FyZS0ke1NSQ1JFVn0iCiAKIFNSQ19VUkkgPSAiJHtSUElGV19TUkNfVVJJfSIKLVNSQ19VUklbbWQ1c3VtXSA9ICI1Y2NkYjU0NDdjYmRkM2VlMDE1OGE1MTRmN2I3NmNiOSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI5YTM0Y2NjNGE1MTY5NWEzMzIwNmNjNmM4NTM0ZjYxNWJhNWEzMGZjYmNlNWZhM2FkZDQwMGVjYzZiODBhZDhhIgotCitTUkNfVVJJW21kNXN1bV0gPSAiNjExMDc3ZDM0M2UzODAyNDk2ZGQ5OTExOGNhNGU5NzciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTkxMWY2MzQyZWE4YWE5MzgwY2FlOTdjNmY1YWM0ZGRkMzcwNTI3MjY1ZjIzZDViNWQ0YjJjNmY2NzlkNGJhOCIKIAogUFYgPSAiJHtSUElGV19EQVRFfSIKZGlmZiAtLWdpdCBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1jb3JlL3VkZXYvdWRldi1ydWxlcy1ycGkuYmIgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtY29yZS91ZGV2L3VkZXYtcnVsZXMtcnBpLmJiCmluZGV4IGVkZWYwZGIuLjQyY2ZjZGQgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1jb3JlL3VkZXYvdWRldi1ydWxlcy1ycGkuYmIKKysrIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWNvcmUvdWRldi91ZGV2LXJ1bGVzLXJwaS5iYgpAQCAtMiw3ICsyLDEwIEBACiBMSUNFTlNFID0gIk1JVCIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09NTU9OX0xJQ0VOU0VfRElSfS9NSVQ7bWQ1PTA4MzVhZGU2OThlMGJjZjg1MDZlY2RhMmY3YjRmMzAyIgogCi1TUkNfVVJJID0gIiBmaWxlOi8vOTktY29tLnJ1bGVzIgorU1JDX1VSSSA9ICIgXAorCWZpbGU6Ly85OS1jb20ucnVsZXMgXAorCWZpbGU6Ly9jYW4ucnVsZXMgXAorCSIKIAogUyA9ICIke1dPUktESVJ9IgogCkBAIC0xMSw0ICsxNCw1IEBACiBkb19pbnN0YWxsICgpIHsKICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3VkZXYvcnVsZXMuZAogICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9Lzk5LWNvbS5ydWxlcyAke0R9JHtzeXNjb25mZGlyfS91ZGV2L3J1bGVzLmQvCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vY2FuLnJ1bGVzICR7RH0ke3N5c2NvbmZkaXJ9L3VkZXYvcnVsZXMuZC8KIH0KZGlmZiAtLWdpdCBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1jb3JlL3VkZXYvdWRldi1ydWxlcy1ycGkvY2FuLnJ1bGVzIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWNvcmUvdWRldi91ZGV2LXJ1bGVzLXJwaS9jYW4ucnVsZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTQ3ZDU3ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1jb3JlL3VkZXYvdWRldi1ydWxlcy1ycGkvY2FuLnJ1bGVzCkBAIC0wLDAgKzEgQEAKK1NVQlNZU1RFTT09Im5ldCIsIERFVlBBVEg9PSIvZGV2aWNlcy9wbGF0Zm9ybS9zb2MvM2YyMDQwMDAuc3BpL3NwaV9tYXN0ZXIvc3BpMC9zcGkwLjAvbmV0L2NhbjAiLCBSVU4rPSIvc2Jpbi9pcCBsaW5rIHNldCBjYW4wIHVwIHR5cGUgY2FuIGJpdHJhdGUgNTAwMDAwIgpkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvXyUuYmJhcHBlbmQgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvY2Fpcm8vY2Fpcm9fJS5iYmFwcGVuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YmExM2UyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvXyUuYmJhcHBlbmQKQEAgLTAsMCArMSwzIEBACitQQUNLQUdFQ09ORklHX0dMRVNWMiA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAnJywgJ2dsZXN2MicsIGQpfSIKKworUEFDS0FHRUNPTkZJR19hcHBlbmRfcnBpID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdNQUNISU5FX0ZFQVRVUkVTJywgJ3ZjNGdyYXBoaWNzJywgJycsICcgZWdsICR7UEFDS0FHRUNPTkZJR19HTEVTVjJ9JywgZCl9IgpkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS1nbF8lLmJiYXBwZW5kIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS1nbF8lLmJiYXBwZW5kCmluZGV4IDc4OTcxMjUuLjA4ZWMxYzUgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2EtZ2xfJS5iYmFwcGVuZAorKysgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLWdsXyUuYmJhcHBlbmQKQEAgLTEgKzEsNiBAQAogUEFDS0FHRUNPTkZJR19hcHBlbmRfcnBpID0gIiBnYm0iCitQUk9WSURFU19hcHBlbmRfcnBpID0gIiB2aXJ0dWFsL2xpYmdibSIKKworZG9faW5zdGFsbF9hcHBlbmRfcnBpKCkgeworICAgIHJtIC1yZiAke0R9JHtpbmNsdWRlZGlyfS9LSFIva2hycGxhdGZvcm0uaAorfQpkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDEtQWxsb3ctYXBwbGljYXRpb25zLXRvLXNldC1uZXh0LXJlc291cmNlLWhhbmRsZS5wYXRjaCBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDAxLUFsbG93LWFwcGxpY2F0aW9ucy10by1zZXQtbmV4dC1yZXNvdXJjZS1oYW5kbGUucGF0Y2gKaW5kZXggZDZiMmFiYi4uY2VhMjE1ZCAxMDA2NDQKLS0tIGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDEtQWxsb3ctYXBwbGljYXRpb25zLXRvLXNldC1uZXh0LXJlc291cmNlLWhhbmRsZS5wYXRjaAorKysgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwMS1BbGxvdy1hcHBsaWNhdGlvbnMtdG8tc2V0LW5leHQtcmVzb3VyY2UtaGFuZGxlLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAwOGQ1NmMxMTc0ZTI3NTczYWU4ZGYyYTdiOWU2NjMyYWZkMGJmZTg2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA4MjlkZmY2MjZkNDIzYWQzNGM4ZTcxMGNkMTBkNWZjOWE0ZWE4MGIzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRG9tIENvYmxleSA8ZGM0QGJyb2FkY29tLmNvbT4KIERhdGU6IFR1ZSwgOSBKdWwgMjAxMyAwOToyNjoyNiAtMDQwMAogU3ViamVjdDogW1BBVENIIDAxLzE4XSBBbGxvdyBhcHBsaWNhdGlvbnMgdG8gc2V0IG5leHQgcmVzb3VyY2UgaGFuZGxlCkBAIC0yMDQsNSArMjA0LDUgQEAKICAKICBGTih2b2lkLCBlZ2xJbnRHZXRDb2xvckRhdGFfaW1wbCwgKEVHTF9TVVJGQUNFX0lEX1QgcywgS0hSTl9JTUFHRV9GT1JNQVRfVCBmb3JtYXQsIHVpbnQzMl90IHdpZHRoLCB1aW50MzJfdCBoZWlnaHQsIGludDMyX3Qgc3RyaWRlLCB1aW50MzJfdCB5X29mZnNldCwgdm9pZCAqZGF0YSkpCiAtLSAKLTIuMTkuMQorMi4yMC4xCiAKZGlmZiAtLWdpdCBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDAyLXdheWxhbmQtQWRkLXN1cHBvcnQtZm9yLXRoZS1XYXlsYW5kLXdpbnN5cy5wYXRjaCBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDAyLXdheWxhbmQtQWRkLXN1cHBvcnQtZm9yLXRoZS1XYXlsYW5kLXdpbnN5cy5wYXRjaAppbmRleCBjNDFjZGU3Li41NTAxMDAwIDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwMi13YXlsYW5kLUFkZC1zdXBwb3J0LWZvci10aGUtV2F5bGFuZC13aW5zeXMucGF0Y2gKKysrIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDItd2F5bGFuZC1BZGQtc3VwcG9ydC1mb3ItdGhlLVdheWxhbmQtd2luc3lzLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBkYTYwYTJhMzRhNDhlMmIzMjRmY2VhZTYwODk2NDgxNDQ4OGNjOGZiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA0Njk4NDBkMjExYmViMjIwODVlNTc5MzRiZGEzY2FhYmI3MWE0Njk1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogVG9tZXUgVml6b3NvIDx0b21ldS52aXpvc29AY29sbGFib3JhLmNvbT4KIERhdGU6IFR1ZSwgMSBPY3QgMjAxMyAxMzoxOToyMCArMDIwMAogU3ViamVjdDogW1BBVENIIDAyLzE4XSB3YXlsYW5kOiBBZGQgc3VwcG9ydCBmb3IgdGhlIFdheWxhbmQgd2luc3lzCkBAIC05MSwxMyArOTEsMTMgQEAKICAKICAjIEdsb2JhbCBpbmNsdWRlIHBhdGhzCiBkaWZmIC0tZ2l0IGEvUkVBRE1FLm1kIGIvUkVBRE1FLm1kCi1pbmRleCA5NGI5M2I4Li41MGI5MGIxIDEwMDY0NAoraW5kZXggZGU1NzU0ZC4uMjA5NzAzNiAxMDA2NDQKIC0tLSBhL1JFQURNRS5tZAogKysrIGIvUkVBRE1FLm1kCiBAQCAtNiwzICs2LDcgQEAgVXNlIGJ1aWxkbWUgdG8gYnVpbGQuIEl0IHJlcXVpcmVzIGNtYWtlIHRvIGJlIGluc3RhbGxlZCBhbmQgYW4gYXJtIGNyb3NzIGNvbXBpbGUKICBodHRwczovL2dpdGh1Yi5jb20vcmFzcGJlcnJ5cGkvdG9vbHMvdHJlZS9tYXN0ZXIvYXJtLWJjbTI3MDgvZ2NjLWxpbmFyby1hcm0tbGludXgtZ251ZWFiaWhmLXJhc3BiaWFuCiAgCi0gTm90ZSB0aGF0IHRoaXMgcmVwb3NpdG9yeSBkb2VzIG5vdCBjb250YWluIHRoZSBzb3VyY2UgZm9yIHRoZSBlZGlkX3BhcnNlciBhbmQgdmNkYmcgYmluYXJpZXMgZHVlIHRvIGxpY2Vuc2luZyByZXN0cmljdGlvbnMuCisgTm90ZSB0aGF0IHRoaXMgcmVwb3NpdG9yeSBkb2VzIG5vdCBjb250YWluIHRoZSBzb3VyY2UgZm9yIHRoZSBlZGlkcGFyc2VyIGFuZCB2Y2RiZyBiaW5hcmllcyBkdWUgdG8gbGljZW5zaW5nIHJlc3RyaWN0aW9ucy4KICsKICtUbyBidWlsZCBzdXBwb3J0IGZvciB0aGUgV2F5bGFuZCB3aW5zeXMgaW4gRUdMLCBleGVjdXRlIHRoZSBidWlsZG1lIHNjcmlwdCBsaWtlIHRoaXM6CiArCkBAIC0xMzMsMTAgKzEzMywxMCBAQAogIAogIAlpZiBbICIkMSIgIT0gIiIgXTsgdGhlbgogZGlmZiAtLWdpdCBhL2hvc3RfYXBwbGljYXRpb25zL2xpbnV4L2FwcHMvcmFzcGljYW0vQ01ha2VMaXN0cy50eHQgYi9ob3N0X2FwcGxpY2F0aW9ucy9saW51eC9hcHBzL3Jhc3BpY2FtL0NNYWtlTGlzdHMudHh0Ci1pbmRleCA0MjYzNmU4Li5kNDdhZDU1IDEwMDY0NAoraW5kZXggZjdkYjIxZS4uNzM5OTdiNyAxMDA2NDQKIC0tLSBhL2hvc3RfYXBwbGljYXRpb25zL2xpbnV4L2FwcHMvcmFzcGljYW0vQ01ha2VMaXN0cy50eHQKICsrKyBiL2hvc3RfYXBwbGljYXRpb25zL2xpbnV4L2FwcHMvcmFzcGljYW0vQ01ha2VMaXN0cy50eHQKLUBAIC0zMyw3ICszMyw3IEBAIGFkZF9leGVjdXRhYmxlKHJhc3BpdmlkeXV2ICAke0NPTU1PTl9TT1VSQ0VTfSBSYXNwaVZpZFlVVi5jKQorQEAgLTU0LDcgKzU0LDcgQEAgYWRkX2V4ZWN1dGFibGUocmFzcGl2aWR5dXYgICR7Q09NTU9OX1NPVVJDRVN9IFJhc3BpVmlkWVVWLmMpCiAgCiAgc2V0IChNTUFMX0xJQlMgbW1hbF9jb3JlIG1tYWxfdXRpbCBtbWFsX3ZjX2NsaWVudCkKICAKQEAgLTE4OTQsNSArMTg5NCw1IEBACiArICAgIHNldCgke19zb3VyY2VzfSAkeyR7X3NvdXJjZXN9fSBQQVJFTlRfU0NPUEUpCiArZW5kZnVuY3Rpb24oKQogLS0gCi0yLjE5LjEKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwMy13YXlsYW5kLUFkZC1XYXlsYW5kLWV4YW1wbGUucGF0Y2ggYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwMy13YXlsYW5kLUFkZC1XYXlsYW5kLWV4YW1wbGUucGF0Y2gKaW5kZXggZDgzYTllNS4uNzRiOTdiOCAxMDA2NDQKLS0tIGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDMtd2F5bGFuZC1BZGQtV2F5bGFuZC1leGFtcGxlLnBhdGNoCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDAzLXdheWxhbmQtQWRkLVdheWxhbmQtZXhhbXBsZS5wYXRjaApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwNC13YXlsYW5kLWVnbC1BZGQtYmNtX2hvc3QtdG8tZGVwZW5kZW5jaWVzLnBhdGNoIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDQtd2F5bGFuZC1lZ2wtQWRkLWJjbV9ob3N0LXRvLWRlcGVuZGVuY2llcy5wYXRjaAppbmRleCBhNDJhYTE0Li45NjIxYWZhIDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwNC13YXlsYW5kLWVnbC1BZGQtYmNtX2hvc3QtdG8tZGVwZW5kZW5jaWVzLnBhdGNoCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDA0LXdheWxhbmQtZWdsLUFkZC1iY21faG9zdC10by1kZXBlbmRlbmNpZXMucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIGMzNzliZDJkYzU3NTI1NjA4NGQ5ZTM2ZmMxMWEzNDdlMjA2NjAxMzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDNkMWQwNDYyODFiOTBkNjc3Nzg2NGIwZDlhMDMyNjU3ZmFkNzhkNzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogTW9uLCAxMCBBdWcgMjAxNSAwMjozODoyNyAtMDcwMAogU3ViamVjdDogW1BBVENIIDA0LzE4XSB3YXlsYW5kLWVnbDogQWRkIGJjbV9ob3N0IHRvIGRlcGVuZGVuY2llcwpAQCAtMjQsNSArMjQsNSBAQAogIExpYnM6IC1MJHtsaWJkaXJ9IC1sd2F5bGFuZC1lZ2wKICBDZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfQogLS0gCi0yLjE5LjEKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwNS1pbnRlcmZhY2UtcmVtb3ZlLWZhdWx0eS1hc3NlcnQtdG8tbWFrZS13ZXN0b24taGFwcHktLnBhdGNoIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDUtaW50ZXJmYWNlLXJlbW92ZS1mYXVsdHktYXNzZXJ0LXRvLW1ha2Utd2VzdG9uLWhhcHB5LS5wYXRjaAppbmRleCBiYmFhZGRhLi4wMDRlMmViIDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwNS1pbnRlcmZhY2UtcmVtb3ZlLWZhdWx0eS1hc3NlcnQtdG8tbWFrZS13ZXN0b24taGFwcHktLnBhdGNoCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDA1LWludGVyZmFjZS1yZW1vdmUtZmF1bHR5LWFzc2VydC10by1tYWtlLXdlc3Rvbi1oYXBweS0ucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIGJkOTQwYzMyODc4ZDQwMWYzMTEyMTUyNzA1NzlmZjUxM2MyZjM5OTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGQxN2U1YjkyODU2MzVkY2JlMWM2ZTVhNzM5OGY2ZTViMTU2MGEwYzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiAiWWFubiBFLiBNT1JJTiIgPHlhbm4ubW9yaW4uMTk5OEBmcmVlLmZyPgogRGF0ZTogU2F0LCAyNCBKYW4gMjAxNSAyMjowNzoxOSArMDEwMAogU3ViamVjdDogW1BBVENIIDA1LzE4XSBpbnRlcmZhY2U6IHJlbW92ZSBmYXVsdHkgYXNzZXJ0KCkgdG8gbWFrZSB3ZXN0b24gaGFwcHkKQEAgLTI1LDUgKzI1LDUgQEAKICAgICAgICAgICAgICB9CiAgICAgICAgICAgfSBlbHNlIHsKIC0tIAotMi4xOS4xCisyLjIwLjEKIApkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDYtemVyby1vdXQtd2wtYnVmZmVycy1pbi1lZ2xfc3VyZmFjZV9mcmVlLnBhdGNoIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDYtemVyby1vdXQtd2wtYnVmZmVycy1pbi1lZ2xfc3VyZmFjZV9mcmVlLnBhdGNoCmluZGV4IDFhNWUxNGYuLjk1NWRmYTEgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDA2LXplcm8tb3V0LXdsLWJ1ZmZlcnMtaW4tZWdsX3N1cmZhY2VfZnJlZS5wYXRjaAorKysgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwNi16ZXJvLW91dC13bC1idWZmZXJzLWluLWVnbF9zdXJmYWNlX2ZyZWUucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDQ2NmYyOGNlMzAyZjY4YWMzOWJlNzUwZjRiNTUyODU3OTFmNDNhYjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDdkNDU1OWMyNDE4ZjQ5OTdkZmRkZGVmYTkyODEyNTBkMGQ4MDgyZGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogU2F0LCA2IEZlYiAyMDE2IDExOjEwOjQ3IC0wODAwCiBTdWJqZWN0OiBbUEFUQ0ggMDYvMThdIHplcm8tb3V0IHdsIGJ1ZmZlcnMgaW4gZWdsX3N1cmZhY2VfZnJlZQpAQCAtMjksNSArMjksNSBAQAogICNlbmRpZgogICAgIH0KIC0tIAotMi4xOS4xCisyLjIwLjEKIApkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDctaW5pdGlhbGl6ZS1mcm9udC1iYWNrLXdheWxhbmQtYnVmZmVycy5wYXRjaCBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDA3LWluaXRpYWxpemUtZnJvbnQtYmFjay13YXlsYW5kLWJ1ZmZlcnMucGF0Y2gKaW5kZXggNzIyNjRlNC4uNTE0NzgyZiAxMDA2NDQKLS0tIGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDctaW5pdGlhbGl6ZS1mcm9udC1iYWNrLXdheWxhbmQtYnVmZmVycy5wYXRjaAorKysgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwNy1pbml0aWFsaXplLWZyb250LWJhY2std2F5bGFuZC1idWZmZXJzLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBiNGEyOTY3NTEzZjdkMGY1ZjNjYWVlOGNmNmNiYzdhN2EwODVlYmFjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAxOWU2MzEwNzY3MGJiMTU4MzM3NDQ0MDJkNjhjOGZjYWU5ZTUzYTEyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFNhdCwgNiBGZWIgMjAxNiAxMToxMTo0MSAtMDgwMAogU3ViamVjdDogW1BBVENIIDA3LzE4XSBpbml0aWFsaXplIGZyb250IGJhY2sgd2F5bGFuZCBidWZmZXJzCkBAIC0zMCw1ICszMCw1IEBACiAgICAgfQogICNlbmRpZgogLS0gCi0yLjE5LjEKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwOC1SZW1vdmUtUlBDX0ZMVVNILnBhdGNoIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDgtUmVtb3ZlLVJQQ19GTFVTSC5wYXRjaAppbmRleCBhMTAwZTM5Li5iZDZjMmZmIDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwOC1SZW1vdmUtUlBDX0ZMVVNILnBhdGNoCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDA4LVJlbW92ZS1SUENfRkxVU0gucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDE0YzIyOTg3ZGZhOWZlYzAyNzk0ODU2Y2QxNWIyZDY0YjRiODFjMzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDQzMTJjZTRmOTMyMGIyNWY1MTNjNGQ4ZmExNjNmOWQ4ZmFlYmZkOTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogU2F0LCA2IEZlYiAyMDE2IDExOjA5OjE4IC0wODAwCiBTdWJqZWN0OiBbUEFUQ0ggMDgvMThdIFJlbW92ZSBSUENfRkxVU0gKQEAgLTIzLDUgKzIzLDUgQEAKICAgICAgICB9CiAgI2VuZGlmCiAtLSAKLTIuMTkuMQorMi4yMC4xCiAKZGlmZiAtLWdpdCBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDA5LWZpeC1jbWFrZS1kZXBlbmRlbmN5LXJhY2UucGF0Y2ggYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwOS1maXgtY21ha2UtZGVwZW5kZW5jeS1yYWNlLnBhdGNoCmluZGV4IDQ2MDk0NTUuLmUxMzhhZTIgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDA5LWZpeC1jbWFrZS1kZXBlbmRlbmN5LXJhY2UucGF0Y2gKKysrIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDktZml4LWNtYWtlLWRlcGVuZGVuY3ktcmFjZS5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gZTUxMGJlMjIxMjc2ZDA2ZTYzMGFiOTM0NTJlY2I3MTJkMzkyMTc5MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gY2I0NTRhZDQ0ZmNiMzVmYzI4YjgyM2YwNWYzNTM4YzFmOTk3ZTg5ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBTYXQsIDYgRmViIDIwMTYgMTM6MTI6NDcgLTA4MDAKIFN1YmplY3Q6IFtQQVRDSCAwOS8xOF0gZml4IGNtYWtlIGRlcGVuZGVuY3kgcmFjZQpAQCAtNzQsNSArNzQsNSBAQAogIAlzdHJ1Y3Qgd2xfcmVzb3VyY2UgKnJlc291cmNlOwogIAlzdHJ1Y3Qgd2xfZGlzcG1hbnggKmRpc3BtYW54OwogLS0gCi0yLjE5LjEKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxMC1GaXgtZm9yLWZyYW1lcmF0ZS13aXRoLW5lc3RlZC1jb21wb3NpdGlvbi5wYXRjaCBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDEwLUZpeC1mb3ItZnJhbWVyYXRlLXdpdGgtbmVzdGVkLWNvbXBvc2l0aW9uLnBhdGNoCmluZGV4IGRkMGI5NWUuLjcwZDkwNDUgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDEwLUZpeC1mb3ItZnJhbWVyYXRlLXdpdGgtbmVzdGVkLWNvbXBvc2l0aW9uLnBhdGNoCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDEwLUZpeC1mb3ItZnJhbWVyYXRlLXdpdGgtbmVzdGVkLWNvbXBvc2l0aW9uLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA4ZTZjZGUwODA3N2VhZGZlNTYzZGMxN2MxOTk5NWViYzQ4ZTMwYjk3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAyZjBiMjUyNjZkMGI0YjA0ZWY3OGI4OTUwZjViZDk3NDk4NTdiNGYwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFR1ZSwgMjkgTWFyIDIwMTYgMjA6Mzg6MzAgLTA3MDAKIFN1YmplY3Q6IFtQQVRDSCAxMC8xOF0gRml4IGZvciBmcmFtZXJhdGUgd2l0aCBuZXN0ZWQgY29tcG9zaXRpb24KQEAgLTU2LDUgKzU2LDUgQEAKICAjaWZkZWYgQU5EUk9JRAogICAgICAgICAgICAgICAgIENMSUVOVF9VTkxPQ0soKTsKIC0tIAotMi4xOS4xCisyLjIwLjEKIApkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMTEtYnVpbGQtc2hhcmVkLWxpYnJhcnktZm9yLXZjaG9zdGlmLnBhdGNoIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMTEtYnVpbGQtc2hhcmVkLWxpYnJhcnktZm9yLXZjaG9zdGlmLnBhdGNoCmluZGV4IDRiZDUzMjAuLmRhMzcxMDIgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDExLWJ1aWxkLXNoYXJlZC1saWJyYXJ5LWZvci12Y2hvc3RpZi5wYXRjaAorKysgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxMS1idWlsZC1zaGFyZWQtbGlicmFyeS1mb3ItdmNob3N0aWYucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDlhOTdkNjAyNjI5OTkwOTNkNmNlOGNiNjg4Mjc5NTA2YzIxMGQ4MDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDViYzQxMThlNzg2MWYzNWVhZDY1NjU1MzBjYjQyMTM5ODcyOTZmYjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogU2F0LCAyIEFwciAyMDE2IDEwOjM3OjI0IC0wNzAwCiBTdWJqZWN0OiBbUEFUQ0ggMTEvMThdIGJ1aWxkIHNoYXJlZCBsaWJyYXJ5IGZvciB2Y2hvc3RpZgpAQCAtMjQsNSArMjQsNSBAQAogICNhZGRfbGlicmFyeShidWZtYW4gICAgICAgICAgICB2Y192Y2hpX2J1Zm1hbi5jICAgICAgICAgICAgKQogIAogLS0gCi0yLjE5LjEKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxMi1pbXBsZW1lbnQtYnVmZmVyLXdyYXBwaW5nLWludGVyZmFjZS1mb3ItZGlzcG1hbngucGF0Y2ggYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxMi1pbXBsZW1lbnQtYnVmZmVyLXdyYXBwaW5nLWludGVyZmFjZS1mb3ItZGlzcG1hbngucGF0Y2gKaW5kZXggOTY4NGI0Yy4uNDA2NjZmZCAxMDA2NDQKLS0tIGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMTItaW1wbGVtZW50LWJ1ZmZlci13cmFwcGluZy1pbnRlcmZhY2UtZm9yLWRpc3BtYW54LnBhdGNoCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDEyLWltcGxlbWVudC1idWZmZXItd3JhcHBpbmctaW50ZXJmYWNlLWZvci1kaXNwbWFueC5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gZmVkZDc2NjgxNTIwNDljMTVlZDU4YzcwNThlNWY0YTljMWZhYzdjYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMjcxOTRiYzA1YTdhNDg4ODI3NTkwMjA4Mjg1YTg3NTcxNjRlZGNlZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBTYXQsIDIgQXByIDIwMTYgMTA6NTQ6NTkgLTA3MDAKIFN1YmplY3Q6IFtQQVRDSCAxMi8xOF0gaW1wbGVtZW50IGJ1ZmZlciB3cmFwcGluZyBpbnRlcmZhY2UgZm9yIGRpc3BtYW54CkBAIC04OCw1ICs4OCw1IEBACiAgCiAgPC9wcm90b2NvbD4KIC0tIAotMi4xOS4xCisyLjIwLjEKIApkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMTMtSW1wbGVtZW50LXRyaXBsZS1idWZmZXJpbmctZm9yLXdheWxhbmQucGF0Y2ggYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxMy1JbXBsZW1lbnQtdHJpcGxlLWJ1ZmZlcmluZy1mb3Itd2F5bGFuZC5wYXRjaAppbmRleCAzMDUyMTY4Li41MTk3ODU2IDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxMy1JbXBsZW1lbnQtdHJpcGxlLWJ1ZmZlcmluZy1mb3Itd2F5bGFuZC5wYXRjaAorKysgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxMy1JbXBsZW1lbnQtdHJpcGxlLWJ1ZmZlcmluZy1mb3Itd2F5bGFuZC5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNjVmOGJjYTU1YWVhZDY3NmNkMDZmYzMyMTBhZWZmZWYxZjIxNThjNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZTk5YjJlYWZiYTUyNjBiODA4N2ZjMWE4NTgzMGIwOGVhMzIyODI5MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEplZmYgV2FubmFtYWtlciA8amVmZl93YW5uYW1ha2VyQGNhYmxlLmNvbWNhc3QuY29tPgogRGF0ZTogVGh1LCAxOSBKYW4gMjAxNyAxODo1NjowNyArMDAwMAogU3ViamVjdDogW1BBVENIIDEzLzE4XSBJbXBsZW1lbnQgdHJpcGxlIGJ1ZmZlcmluZyBmb3Igd2F5bGFuZApAQCAtODYsNSArODYsNSBAQAogICAgICAgIGJhY2tfd2xfYnVmZmVyCiAgCiAtLSAKLTIuMTkuMQorMi4yMC4xCiAKZGlmZiAtLWdpdCBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDE0LUdMRVMyLWdsMmV4dC5oLURlZmluZS1HTF9SOF9FWFQtYW5kLUdMX1JHOF9FWFQucGF0Y2ggYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxNC1HTEVTMi1nbDJleHQuaC1EZWZpbmUtR0xfUjhfRVhULWFuZC1HTF9SRzhfRVhULnBhdGNoCmluZGV4IDAzN2Q3MDguLjdmN2U3MzIgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDE0LUdMRVMyLWdsMmV4dC5oLURlZmluZS1HTF9SOF9FWFQtYW5kLUdMX1JHOF9FWFQucGF0Y2gKKysrIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMTQtR0xFUzItZ2wyZXh0LmgtRGVmaW5lLUdMX1I4X0VYVC1hbmQtR0xfUkc4X0VYVC5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gZGMxZDA3ZDgzNWUxZmU3MGM5NTdhNjU1ZDZmYmI4Y2RlNjU3NzVhZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYTk3MjZjN2ZkY2QzODZiZDEwNGIxM2M0OTRkMjYxZjY5M2RkZTc5MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBXZWQsIDEwIE1heSAyMDE3IDA2OjM5OjM0ICswMDAwCiBTdWJqZWN0OiBbUEFUQ0ggMTQvMThdIEdMRVMyL2dsMmV4dC5oOiBEZWZpbmUgR0xfUjhfRVhUIGFuZCBHTF9SRzhfRVhUCkBAIC0zMSw1ICszMSw1IEBACiAgI2lmbmRlZiBHTF9FWFRfdGV4dHVyZV90eXBlXzJfMTBfMTBfMTBfUkVWCiAgI2RlZmluZSBHTF9VTlNJR05FRF9JTlRfMl8xMF8xMF8xMF9SRVZfRVhUICAgICAgICAgICAgICAgICAgICAgIDB4ODM2OAogLS0gCi0yLjE5LjEKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxNS1FR0wtZ2xwbGF0Zm9ybS5oLWRlZmluZS1FR0xfQ0FTVC5wYXRjaCBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDE1LUVHTC1nbHBsYXRmb3JtLmgtZGVmaW5lLUVHTF9DQVNULnBhdGNoCmluZGV4IDAyY2VjYjguLmNmY2MxMjAgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDE1LUVHTC1nbHBsYXRmb3JtLmgtZGVmaW5lLUVHTF9DQVNULnBhdGNoCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDE1LUVHTC1nbHBsYXRmb3JtLmgtZGVmaW5lLUVHTF9DQVNULnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBiNWZhMjk0YzBkOGZjYjZkZDViZmJmYjk2YTA4ODVkZDlmM2FlNjA5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAzYmE3OWU4NmNkZWM4ODQ0MDg4NWZlZmM3YWFkZjc5M2IzMDFiMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQW5kcmVhIEdhbGJ1c2VyYSA8Z2l6ZXJvQGdtYWlsLmNvbT4KIERhdGU6IEZyaSwgMTQgSnVsIDIwMTcgMDk6NTI6NTQgKzAyMDAKIFN1YmplY3Q6IFtQQVRDSCAxNS8xOF0gRUdML2dscGxhdGZvcm0uaDogZGVmaW5lIEVHTF9DQVNUCkBAIC0yOCw1ICsyOCw1IEBACiArCiAgI2VuZGlmIC8qIF9fZWdscGxhdGZvcm1faCAqLwogLS0gCi0yLjE5LjEKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxNi1BbGxvdy1tdWx0aXBsZS13YXlsYW5kLWNvbXBvc2l0b3Itc3RhdGUtZGF0YS1wZXItcHJvLnBhdGNoIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMTYtQWxsb3ctbXVsdGlwbGUtd2F5bGFuZC1jb21wb3NpdG9yLXN0YXRlLWRhdGEtcGVyLXByby5wYXRjaAppbmRleCAzNGFkOTBjLi4yZDFiODgyIDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxNi1BbGxvdy1tdWx0aXBsZS13YXlsYW5kLWNvbXBvc2l0b3Itc3RhdGUtZGF0YS1wZXItcHJvLnBhdGNoCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDE2LUFsbG93LW11bHRpcGxlLXdheWxhbmQtY29tcG9zaXRvci1zdGF0ZS1kYXRhLXBlci1wcm8ucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIGJmZjAzZjkyYzBkOGJhZTExM2UwYzcyMzRjNzE5ZjgzODU4MDhiMzggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDVjNTNiMmZmNGQxNGI5ODhhZTlhYjQ1M2ZiMmVmOTdiNmEyNzdkZWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBKZWZmIFdhbm5hbWFrZXIgPGplZmZfd2FubmFtYWtlckBjYWJsZS5jb21jYXN0LmNvbT4KIERhdGU6IFNhdCwgMjcgSmFuIDIwMTggMTI6Mjg6MzEgLTA1MDAKIFN1YmplY3Q6IFtQQVRDSCAxNi8xOF0gQWxsb3cgbXVsdGlwbGUgd2F5bGFuZCBjb21wb3NpdG9yIHN0YXRlIGRhdGEgcGVyCkBAIC0xNDEsNSArMTQxLDUgQEAKICAgICBDTElFTlRfVU5MT0NLKCk7CiAgCiAtLSAKLTIuMTkuMQorMi4yMC4xCiAKZGlmZiAtLWdpdCBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDE3LWtocm9ub3MtYmFja3BvcnQtdHlwZWRlZi1mb3ItRUdMX0VYVF9pbWFnZV9kbWFfYnVmX2kucGF0Y2ggYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxNy1raHJvbm9zLWJhY2twb3J0LXR5cGVkZWYtZm9yLUVHTF9FWFRfaW1hZ2VfZG1hX2J1Zl9pLnBhdGNoCmluZGV4IDU0NmNkNTguLjljMjIzYWIgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDE3LWtocm9ub3MtYmFja3BvcnQtdHlwZWRlZi1mb3ItRUdMX0VYVF9pbWFnZV9kbWFfYnVmX2kucGF0Y2gKKysrIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMTcta2hyb25vcy1iYWNrcG9ydC10eXBlZGVmLWZvci1FR0xfRVhUX2ltYWdlX2RtYV9idWZfaS5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gOGVmZDgxZTk2YmRkM2JlNjgwNjNhNmZkMzJiZTQ3NTUyMjVlOTNiMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMGQzYzZiN2NhNWQzNTJjYzAwZDk1MDFiOWQ1NTc2YzRlY2U3MGE4MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEh1Z28gSHJvbWljIDxoaHJvbWljQGdtYWlsLmNvbT4KIERhdGU6IFN1biwgMTMgTWF5IDIwMTggMTA6NDk6MDQgKzAxMDAKIFN1YmplY3Q6IFtQQVRDSCAxNy8xOF0ga2hyb25vczogYmFja3BvcnQgdHlwZWRlZiBmb3IKQEAgLTM0LDUgKzM0LDUgQEAKICAjaWZuZGVmIEVHTF9XTF9iaW5kX3dheWxhbmRfZGlzcGxheQogICNkZWZpbmUgRUdMX1dMX2JpbmRfd2F5bGFuZF9kaXNwbGF5IDEKIC0tIAotMi4xOS4xCisyLjIwLjEKIApkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMTgtQWRkLUVHTF9JTUdfY29udGV4dF9wcmlvcml0eS1yZWxhdGVkLWRlZmluZXMucGF0Y2ggYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxOC1BZGQtRUdMX0lNR19jb250ZXh0X3ByaW9yaXR5LXJlbGF0ZWQtZGVmaW5lcy5wYXRjaAppbmRleCBmNGQ4NjVlLi4wMzQ5OWQ0IDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxOC1BZGQtRUdMX0lNR19jb250ZXh0X3ByaW9yaXR5LXJlbGF0ZWQtZGVmaW5lcy5wYXRjaAorKysgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxOC1BZGQtRUdMX0lNR19jb250ZXh0X3ByaW9yaXR5LXJlbGF0ZWQtZGVmaW5lcy5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gOWNmZWE0NzYxYmE2ODc3NmZkOWJmYWM2NzFiNzRjNzE3NGY5OTAyOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMGY5OGNjYWMxMjgyNjViODVhZjNjNWUzMTA0MTNmYzlmY2U5Zjc4YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBTdW4sIDE1IEp1bCAyMDE4IDAwOjQ4OjM4IC0wNzAwCiBTdWJqZWN0OiBbUEFUQ0ggMTgvMThdIEFkZCBFR0xfSU1HX2NvbnRleHRfcHJpb3JpdHkgcmVsYXRlZCBkZWZpbmVzCkBAIC0zMSw1ICszMSw1IEBACiAgI2RlZmluZSBFR0xfS0hSX3ZnX3BhcmVudF9pbWFnZSAxCiAgI2RlZmluZSBFR0xfVkdfUEFSRU5UX0lNQUdFX0tIUgkJCTB4MzBCQQkvKiBlZ2xDcmVhdGVJbWFnZUtIUiB0YXJnZXQgKi8KIC0tIAotMi4xOS4xCisyLjIwLjEKIApkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL3VzZXJsYW5kX2dpdC5iYiBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC91c2VybGFuZF9naXQuYmIKaW5kZXggZjVjODAzZS4uNDMxMTU4OCAxMDA2NDQKLS0tIGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL3VzZXJsYW5kX2dpdC5iYgorKysgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvdXNlcmxhbmRfZ2l0LmJiCkBAIC0xMiwxMSArMTIsMTEgQEAKIAogU1JDQlJBTkNIID0gIm1hc3RlciIKIFNSQ0ZPUksgPSAicmFzcGJlcnJ5cGkiCi1TUkNSRVYgPSAiZDU3NGI1MWE2MGEwNzViYWVmZTg2MzY3MDQ2NmVlMjRlNmM0MjU2ZSIKK1NSQ1JFViA9ICJlNTgwM2YyYzk4NmNiZjhjOTE5YzYwMjc4YjMyMzFkY2RmNDI3MWE2IgogCiAjIFVzZSB0aGUgZGF0ZSBvZiB0aGUgYWJvdmUgY29tbWl0IGFzIHRoZSBwYWNrYWdlIHZlcnNpb24uIFVwZGF0ZSB0aGlzIHdoZW4KICMgU1JDUkVWIGlzIGNoYW5nZWQuCi1QViA9ICIyMDE4MTEyMCIKK1BWID0gIjIwMTkwMTE0IgogCiBTUkNfVVJJID0gIlwKICAgICBnaXQ6Ly9naXRodWIuY29tLyR7U1JDRk9SS30vdXNlcmxhbmQuZ2l0O3Byb3RvY29sPWdpdDticmFuY2g9JHtTUkNCUkFOQ0h9IFwKQEAgLTY0LDYgKzY0LDggQEAKIAkJc2VkIC1pICdzL2luY2x1ZGUgInZjb3NfZnV0ZXhfbXV0ZXguaCIvaW5jbHVkZSAicHRocmVhZHNcL3Zjb3NfZnV0ZXhfbXV0ZXguaCIvZycgJHtmfQogCQlzZWQgLWkgJ3MvaW5jbHVkZSAidmNvc19wbGF0Zm9ybV90eXBlcy5oIi9pbmNsdWRlICJwdGhyZWFkc1wvdmNvc19wbGF0Zm9ybV90eXBlcy5oIi9nJyAke2Z9CiAJZG9uZQorICAgICAgICBpbnN0YWxsIC1EIC1tIDA3NTUgJHtEfSR7cHJlZml4fSR7c3lzY29uZmRpcn0vaW5pdC5kL3ZjZmlsZWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3ZjZmlsZWQKKyAgICAgICAgcm0gLXJmICR7RH0ke3ByZWZpeH0ke3N5c2NvbmZkaXJ9CiAJaWYgWyAiJHtAYmIudXRpbHMuY29udGFpbnMoIk1BQ0hJTkVfRkVBVFVSRVMiLCAidmM0Z3JhcGhpY3MiLCAiMSIsICIwIiwgZCl9IiA9ICIxIiBdOyB0aGVuCiAJCXJtIC1yZiAke0R9JHtsaWJkaXJ9L2xpYkVHTCoKIAkJcm0gLXJmICR7RH0ke2xpYmRpcn0vbGliR0xFUyoKZGlmZiAtLWdpdCBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgtcmFzcGJlcnJ5cGktZGV2LmJiIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC1yYXNwYmVycnlwaS1kZXYuYmIKaW5kZXggNGE3ZGIxYS4uYmI0YTY0ZSAxMDA2NDQKLS0tIGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC1yYXNwYmVycnlwaS1kZXYuYmIKKysrIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC1yYXNwYmVycnlwaS1kZXYuYmIKQEAgLTcsMTYgKzcsMTcgQEAKIAogRklMRVNFWFRSQVBBVEhTX3ByZXBlbmQgOj0gIiR7VEhJU0RJUn0vbGludXgtcmFzcGJlcnJ5cGk6IgogCi1MSU5VWF9WRVJTSU9OID89ICI0LjE2IgotTElOVVhfUlBJX0RFVl9CUkFOQ0ggPz0gInJwaS00LjE2LnkiCitMSU5VWF9WRVJTSU9OID89ICI0LjE5IgorTElOVVhfUlBJX0JSQU5DSCA/PSAicnBpLTQuMTkueSIKIAogU1JDUkVWID0gIiR7QVVUT1JFVn0iCiBTUkNfVVJJID0gIiBcCi0gICAgZ2l0Oi8vZ2l0aHViLmNvbS9yYXNwYmVycnlwaS9saW51eC5naXQ7cHJvdG9jb2w9Z2l0O2JyYW5jaD0ke0xJTlVYX1JQSV9ERVZfQlJBTkNIfSBcCi0gICAgZmlsZTovLzAwMDEtbWVudWNvbmZpZy1jaGVjay1seGRpYWdsb2cuc2gtQWxsb3ctc3BlY2lmaWNhdGlvbi1vZi5wYXRjaCBcCisgICAgZ2l0Oi8vZ2l0aHViLmNvbS9yYXNwYmVycnlwaS9saW51eC5naXQ7cHJvdG9jb2w9Z2l0O2JyYW5jaD0ke0xJTlVYX1JQSV9CUkFOQ0h9IFwKICAgICAiCiByZXF1aXJlIGxpbnV4LXJhc3BiZXJyeXBpLmluYwogCiAjIERpc2FibGUgdmVyc2lvbiBjaGVjayBzbyB0aGF0IHdlIGRvbid0IGhhdmUgdG8gZWRpdCB0aGlzIHJlY2lwZSBldmVyeSB0aW1lCiAjIHVwc3RyZWFtIGJ1bXBzIHRoZSB2ZXJzaW9uCiBLRVJORUxfVkVSU0lPTl9TQU5JVFlfU0tJUCA9ICIxIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iYmVhODE1ZWUyNzk1YjJmNDIzMDgyNmMwYzZiODgxNCIKZGlmZiAtLWdpdCBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgtcmFzcGJlcnJ5cGlfNC4xOS5iYiBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgtcmFzcGJlcnJ5cGlfNC4xOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTZhYmQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC1yYXNwYmVycnlwaV80LjE5LmJiCkBAIC0wLDAgKzEsMTIgQEAKK0ZJTEVTRVhUUkFQQVRIU19wcmVwZW5kIDo9ICIke1RISVNESVJ9L2xpbnV4LXJhc3BiZXJyeXBpOiIKKworTElOVVhfVkVSU0lPTiA/PSAiNC4xOS4zMCIKK0xJTlVYX1JQSV9CUkFOQ0ggPz0gInJwaS00LjE5LnkiCisKK1NSQ1JFViA9ICIzYzQ2OGZjODE5MWQyNzZlM2U5ZWZkOTc2YTBmZjcxMjcxZjNmYzUxIgorU1JDX1VSSSA9ICIgXAorICAgIGdpdDovL2dpdGh1Yi5jb20vcmFzcGJlcnJ5cGkvbGludXguZ2l0O3Byb3RvY29sPWdpdDticmFuY2g9JHtMSU5VWF9SUElfQlJBTkNIfSBcCisgICAgIgorcmVxdWlyZSBsaW51eC1yYXNwYmVycnlwaS5pbmMKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YmJlYTgxNWVlMjc5NWIyZjQyMzA4MjZjMGM2Yjg4MTQiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L1JFQURNRSBiL21ldGEtc2VjdXJpdHkvUkVBRE1FCmluZGV4IGUyMzgyNzEuLjVhYmIwZTIgMTAwNjQ0Ci0tLSBhL21ldGEtc2VjdXJpdHkvUkVBRE1FCisrKyBiL21ldGEtc2VjdXJpdHkvUkVBRE1FCkBAIC01Nyw4ICs1NywxNCBAQAogV2hlbiBzZW5kaW5nIHNpbmdsZSBwYXRjaGVzLCBwbGVhc2UgdXNpbmcgc29tZXRoaW5nIGxpa2U6CiAnZ2l0IHNlbmQtZW1haWwgLTEgLS10byB5b2N0b0B5b2N0b3Byb2plY3Qub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1zZWN1cml0eV1bUEFUQ0gnCiAKK1RoZXNlIHZhbHVlcyBjYW4gYmUgc2V0IGFzIGRlZmF1bHRzIGZvciB0aGlzIHJlcG9zaXRvcnk6CisKKyQgZ2l0IGNvbmZpZyBzZW5kZW1haWwudG8geW9jdG9AeW9jdG9wcm9qZWN0Lm9yZworJCBnaXQgY29uZmlnIGZvcm1hdC5zdWJqZWN0UHJlZml4IG1ldGEtc2VjdXJpdHldW1BBVENICisKK05vdyB5b3UgY2FuIGp1c3QgZG8gJ2dpdCBzZW5kLWVtYWlsIG9yaWdpbi9tYXN0ZXInIHRvIHNlbmQgYWxsIGxvY2FsIHBhdGNoZXMuCisKIE1haW50YWluZXJzOiAgICBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgotICAgICAgICAgICAgICAgIFNhdWwgV29sZCA8c2d3QGxpbnV4LmludGVsLmNvbT4KIAogCiBMaWNlbnNlCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jIGIvbWV0YS1zZWN1cml0eS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NGI0NWYyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYwpAQCAtMCwwICsxLDU5IEBACisjIG1ldGEtc2VjdXJpeXQgTWFpbnRhaW5lcnMgRmlsZQorIworIyBUaGlzIGZpbGUgY29udGFpbnMgYSBsaXN0IG9mIHJlY2lwZSBtYWludGFpbmVycy4KKyMKKyMgUGxlYXNlIHN1Ym1pdCBhbnkgcGF0Y2hlcyBhZ2FpbnN0IHJlY2lwZXMgaW4gbWV0YSB0byB0aGUgCisjIFlvY3RvIG1haWwgbGlzdCAoeW9jdG9AeW9jdG9wcm9qZWN0Lm9yZykKKyMKKyMgSWYgeW91IGhhdmUgcHJvYmxlbXMgd2l0aCBvciBxdWVzdGlvbnMgYWJvdXQgYSBwYXJ0aWN1bGFyIHJlY2lwZSwgZmVlbAorIyBmcmVlIHRvIGNvbnRhY3QgdGhlIG1haW50YWluZXIgZGlyZWN0bHkgKGNjOmluZyB0aGUgYXBwcm9wcmlhdGUgbWFpbGluZyBsaXN0CisjIHB1dHMgaXQgaW4gdGhlIGFyY2hpdmUgYW5kIGhlbHBzIG90aGVyIHBlb3BsZSB3aG8gbWlnaHQgaGF2ZSB0aGUgc2FtZQorIyBxdWVzdGlvbnMgaW4gdGhlIGZ1dHVyZSksIGJ1dCBwbGVhc2UgdHJ5IHRvIGRvIHRoZSBmb2xsb3dpbmcgZmlyc3Q6CisjCisjICAtIGxvb2sgaW4gdGhlIFlvY3RvIFByb2plY3QgQnVnemlsbGEKKyMgICAgKGh0dHA6Ly9idWd6aWxsYS55b2N0b3Byb2plY3Qub3JnLykgdG8gc2VlIGlmIGEgcHJvYmxlbSBoYXMKKyMgICAgYWxyZWFkeSBiZWVuIHJlcG9ydGVkCisjCisjIFRoZSBmb3JtYXQgaXMgYXMgYSBiaXRiYWtlIHZhcmlhYmxlIG92ZXJyaWRlIGZvciBlYWNoIHJlY2lwZQorIworIwlSRUNJUEVfTUFJTlRBSU5FUl9wbi08cmVjaXBlIG5hbWU+ID0gIkZ1bGwgTmFtZSA8YWRkcmVzc0Bkb21haW4+IgorIworIyBQbGVhc2Uga2VlcCB0aGlzIGxpc3QgaW4gYWxwaGFiZXRpY2FsIG9yZGVyLgorUkVDSVBFX01BSU5UQUlORVJfcG4tYWlyY3JhY2stbmcgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1hcHBhcm1vciA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWJhc3RpbGxlID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tYnVjay1zZWN1cml0eSA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWNjcy10b29scyA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWNoZWNrc2VjID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tY2hlY2tzZWN1cml0eSA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWNsYW1hdiA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWRpbmctbGlicyA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWVjcnlwdGZzLXV0aWxzID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tZnNjcnlwdGN0bCA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWdvb2dsZS1hdXRoZW50aWNhdG9yLWxpYnBhbSA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWhhc2gtcGVybCA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWlzaWMgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1rZXl1dGlscyA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmFlcy1zaXYgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJlbnYtcGVybCA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmdzc2dsdWUgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJodHAgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJtaGFzaCA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYm1zcGFjayA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYi1wZXJsID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tbGlic2VjY29tcCA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYndoaXNrZXIyLXBlcmwgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1uY3JhY2sgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1uaWt0byA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXBheGN0bCA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXB5dGhvbjMtZmFpbDJiYW4gPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1weXRob24zLXNjYXB5ID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tcHl0aG9uLWZhaWwyYmFuID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tcHl0aG9uLXNjYXB5ID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tcmVkaGF0LXNlY3VyaXR5ID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tc2FtaGFpbiA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXNtYWNrID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tc3NzZCA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXN1cmljYXRhID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tdHJpcHdpcmUgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi14bWxzZWMxID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9jb25mL2xheWVyLmNvbmYgYi9tZXRhLXNlY3VyaXR5L2NvbmYvbGF5ZXIuY29uZgppbmRleCAxOWU2NDdlLi43MTZmOGFjIDEwMDY0NAotLS0gYS9tZXRhLXNlY3VyaXR5L2NvbmYvbGF5ZXIuY29uZgorKysgYi9tZXRhLXNlY3VyaXR5L2NvbmYvbGF5ZXIuY29uZgpAQCAtMTMsNCArMTMsNCBAQAogCiBMQVlFUkRFUEVORFNfc2VjdXJpdHkgPSAiY29yZSBvcGVuZW1iZWRkZWQtbGF5ZXIgcGVybC1sYXllciBuZXR3b3JraW5nLWxheWVyIG1ldGEtcHl0aG9uIgogCi1ERUZBVUxUX1RFU1RfU1VJVEVTX3BuLXNlY3VyaXR5LWJ1aWxkLWltYWdlID0gIiAke1BURVNUVEVTVFNVSVRFfSIKK0RFRkFVTFRfVEVTVF9TVUlURVNfcG4tc2VjdXJpdHktYnVpbGQtaW1hZ2UgPSAiIHBpbmcgc3NoIHB0ZXN0IgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL2FwcGFybW9yLnB5IGIvbWV0YS1zZWN1cml0eS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL2FwcGFybW9yLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyY2IzMTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvYXBwYXJtb3IucHkKQEAgLTAsMCArMSwyNyBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTkgQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KKyMKK2ltcG9ydCByZQorCitmcm9tIG9lcWEucnVudGltZS5jYXNlIGltcG9ydCBPRVJ1bnRpbWVUZXN0Q2FzZQorZnJvbSBvZXFhLmNvcmUuZGVjb3JhdG9yLmRlcGVuZHMgaW1wb3J0IE9FVGVzdERlcGVuZHMKK2Zyb20gb2VxYS5ydW50aW1lLmRlY29yYXRvci5wYWNrYWdlIGltcG9ydCBPRUhhc1BhY2thZ2UKKworCitjbGFzcyBBcHBhcm1vclRlc3QoT0VSdW50aW1lVGVzdENhc2UpOgorCisgICAgQE9FSGFzUGFja2FnZShbJ2FwcGFybW9yJ10pCisgICAgQE9FVGVzdERlcGVuZHMoWydzc2guU1NIVGVzdC50ZXN0X3NzaCddKQorICAgIGRlZiB0ZXN0X2FwcGFybW9yX2hlbHAoc2VsZik6CisgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi50YXJnZXQucnVuKCdhYS1zdGF0dXMgLS1oZWxwJykKKyAgICAgICAgbXNnID0gKCdhcHBhcm1vciBjb21tYW5kIGRvZXMgbm90IHdvcmsgYXMgZXhwZWN0ZWQuICcKKyAgICAgICAgICAgICAgICdTdGF0dXMgYW5kIG91dHB1dDolcyBhbmQgJXMnICUgKHN0YXR1cywgb3V0cHV0KSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDAsIG1zZyA9IG1zZykKKworICAgIEBPRVRlc3REZXBlbmRzKFsnYXBwYXJtb3IuQXBwYXJtb3JUZXN0LnRlc3RfYXBwYXJtb3JfaGVscCddKQorICAgIGRlZiB0ZXN0X2FwcGFybW9yX2FhX3N0YXR1cyhzZWxmKToKKyAgICAgICAgc3RhdHVzLCBvdXRwdXQgPSBzZWxmLnRhcmdldC5ydW4oJ2FhLXN0YXR1cycpCisgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKCdhcHBhcm1vciBtb2R1bGUgaXMgbG9hZGVkLicsIG91dHB1dCkKKyAgICAgICAgaWYgbm90IG1hdGNoOgorICAgICAgICAgICAgbXNnID0gKCdhYS1zdGF0dXMgIGZhaWxlZC4gJworICAgICAgICAgICAgICAgJ1N0YXR1cyBhbmQgb3V0cHV0OiVzIGFuZCAlcycgJSAoc3RhdHVzLCBvdXRwdXQpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDAsIG1zZyA9IG1zZykKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbGliL29lcWEvcnVudGltZS9jYXNlcy9jbGFtYXYucHkgYi9tZXRhLXNlY3VyaXR5L2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvY2xhbWF2LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZjNzczMzAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvY2xhbWF2LnB5CkBAIC0wLDAgKzEsMzggQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE5IEFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CisjCitpbXBvcnQgcmUKKworZnJvbSBvZXFhLnJ1bnRpbWUuY2FzZSBpbXBvcnQgT0VSdW50aW1lVGVzdENhc2UKK2Zyb20gb2VxYS5jb3JlLmRlY29yYXRvci5kZXBlbmRzIGltcG9ydCBPRVRlc3REZXBlbmRzCitmcm9tIG9lcWEucnVudGltZS5kZWNvcmF0b3IucGFja2FnZSBpbXBvcnQgT0VIYXNQYWNrYWdlCisKKworY2xhc3MgQ2xhbWF2VGVzdChPRVJ1bnRpbWVUZXN0Q2FzZSk6CisKKyAgICBAT0VIYXNQYWNrYWdlKFsnY2xhbWF2J10pCisgICAgQE9FVGVzdERlcGVuZHMoWydzc2guU1NIVGVzdC50ZXN0X3NzaCddKQorICAgIGRlZiB0ZXN0X2ZyZXNoY2xhbV9oZWxwKHNlbGYpOgorICAgICAgICBzdGF0dXMsIG91dHB1dCA9IHNlbGYudGFyZ2V0LnJ1bignZnJlc2hjbGFtIC0taGVscCAnKQorICAgICAgICBtc2cgPSAoJ2ZyZXNoY2xhbSAtLWhsZXAgIGNvbW1hbmQgZG9lcyBub3Qgd29yayBhcyBleHBlY3RlZC4gJywgCisgICAgICAgICAgICdTdGF0dXMgYW5kIG91dHB1dDolcyBhbmQgJXMnICUgKHN0YXR1cywgb3V0cHV0KSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDAsIG1zZyA9IG1zZykKKworICAgIEBPRVRlc3REZXBlbmRzKFsnY2xhbWF2LkNsYW1hdlRlc3QudGVzdF9mcmVzaGNsYW1faGVscCddKQorICAgIGRlZiB0ZXN0X2ZyZXNoY2xhbV9kb3dubG9hZChzZWxmKToKKyAgICAgICAgc3RhdHVzLCBvdXRwdXQgPSBzZWxmLnRhcmdldC5ydW4oJ2ZyZXNoY2xhbSAtLXNob3ctcHJvZ3Jlc3MnKQorICAgICAgICBtYXRjaCA9IHJlLnNlYXJjaCgnRGF0YWJhc2UgdXBkYXRlZCcsIG91dHB1dCkKKyAgICAgICAgI21hdGNoID0gcmUuc2VhcmNoKCdtYWluLmN2ZCBpcyB1cCB0byBkYXRlJywgb3V0cHV0KQorICAgICAgICBpZiBub3QgbWF0Y2g6CisgICAgICAgICAgICBtc2cgPSAoJ2ZyZXNoY2xhbSA6IERCIGRvd2Jsb2FkIGZhaWxlZC4gJworICAgICAgICAgICAgICAgJ1N0YXR1cyBhbmQgb3V0cHV0OiVzIGFuZCAlcycgJSAoc3RhdHVzLCBvdXRwdXQpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDEsIG1zZyA9IG1zZykKKworICAgIEBPRVRlc3REZXBlbmRzKFsnY2xhbWF2LkNsYW1hdlRlc3QudGVzdF9mcmVzaGNsYW1fZG93bmxvYWQnXSkKKyAgICBkZWYgdGVzdF9mcmVzaGNsYW1fY2hlY2tfbWlycm9ycyhzZWxmKToKKyAgICAgICAgc3RhdHVzLCBvdXRwdXQgPSBzZWxmLnRhcmdldC5ydW4oJ2ZyZXNoY2xhbSAtLWxpc3QtbWlycm9ycycpCisgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKCdGYWlsdXJlczogMCcsIG91dHB1dCkKKyAgICAgICAgaWYgbm90IG1hdGNoOgorICAgICAgICAgICAgbXNnID0gKCdmcmVzaGNsYW0gLS1saXN0LW1pcnJvcnM6IGZhaWxlZC4gJworICAgICAgICAgICAgICAgJ1N0YXR1cyBhbmQgb3V0cHV0OiVzIGFuZCAlcycgJSAoc3RhdHVzLCBvdXRwdXQpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDEsIG1zZyA9IG1zZykKKwpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL3NhbWhhaW4ucHkgYi9tZXRhLXNlY3VyaXR5L2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvc2FtaGFpbi5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNGJhZTdiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL3NhbWhhaW4ucHkKQEAgLTAsMCArMSwyMCBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTkgQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KKyMKK2ltcG9ydCByZQorCitmcm9tIG9lcWEucnVudGltZS5jYXNlIGltcG9ydCBPRVJ1bnRpbWVUZXN0Q2FzZQorZnJvbSBvZXFhLmNvcmUuZGVjb3JhdG9yLmRlcGVuZHMgaW1wb3J0IE9FVGVzdERlcGVuZHMKK2Zyb20gb2VxYS5ydW50aW1lLmRlY29yYXRvci5wYWNrYWdlIGltcG9ydCBPRUhhc1BhY2thZ2UKKworCitjbGFzcyBTYW1oYWluVGVzdChPRVJ1bnRpbWVUZXN0Q2FzZSk6CisKKyAgICBAT0VIYXNQYWNrYWdlKFsnc2FtaGFpbi1zdGFuZGFsb25lJ10pCisgICAgQE9FVGVzdERlcGVuZHMoWydzc2guU1NIVGVzdC50ZXN0X3NzaCddKQorICAgIGRlZiB0ZXN0X3NhbWhhaW5fc3RhbmRhbG9uZV9oZWxwKHNlbGYpOgorICAgICAgICBzdGF0dXMsIG91dHB1dCA9IHNlbGYudGFyZ2V0LnJ1bignc2FtaGFpbiAtLWhlbHAnKQorICAgICAgICBtYXRjaCA9IHJlLnNlYXJjaCgnUGxlYXNlIHJlcG9ydCBidWdzIHRvIHN1cHBvcnRAbGEtc2FtaG5hLmRlLicsIG91dHB1dCkKKyAgICAgICAgaWYgbm90IG1hdGNoOgorICAgICAgICAgICAgbXNnID0gKCdzYW1oYWluLXN0YW5kYWxvbmUgY29tbWFuZCBkb2VzIG5vdCB3b3JrIGFzIGV4cGVjdGVkLiAnCisgICAgICAgICAgICAgICAnU3RhdHVzIGFuZCBvdXRwdXQ6JXMgYW5kICVzJyAlIChzdGF0dXMsIG91dHB1dCkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0YXR1cywgMSwgbXNnID0gbXNnKQpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL3Nzc2QucHkgYi9tZXRhLXNlY3VyaXR5L2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvc3NzZC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NjQ0ODM2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL3Nzc2QucHkKQEAgLTAsMCArMSwzNyBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTkgQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KKyMKK2ltcG9ydCByZQorCitmcm9tIG9lcWEucnVudGltZS5jYXNlIGltcG9ydCBPRVJ1bnRpbWVUZXN0Q2FzZQorZnJvbSBvZXFhLmNvcmUuZGVjb3JhdG9yLmRlcGVuZHMgaW1wb3J0IE9FVGVzdERlcGVuZHMKK2Zyb20gb2VxYS5ydW50aW1lLmRlY29yYXRvci5wYWNrYWdlIGltcG9ydCBPRUhhc1BhY2thZ2UKKworCitjbGFzcyBTU1NEVGVzdChPRVJ1bnRpbWVUZXN0Q2FzZSk6CisKKyAgICBAT0VIYXNQYWNrYWdlKFsnc3NzZCddKQorICAgIEBPRVRlc3REZXBlbmRzKFsnc3NoLlNTSFRlc3QudGVzdF9zc2gnXSkKKyAgICBkZWYgdGVzdF9zc3NkX2hlbHAoc2VsZik6CisgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi50YXJnZXQucnVuKCdzc3NjdGwgLS1oZWxwJykKKyAgICAgICAgbXNnID0gKCdzc3NjdGwgY29tbWFuZCBkb2VzIG5vdCB3b3JrIGFzIGV4cGVjdGVkLiAnCisgICAgICAgICAgICAgICAnU3RhdHVzIGFuZCBvdXRwdXQ6JXMgYW5kICVzJyAlIChzdGF0dXMsIG91dHB1dCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdHVzLCAxLCBtc2cgPSBtc2cpCisKKyAgICBAT0VUZXN0RGVwZW5kcyhbJ3Nzc2QuU1NTRFRlc3QudGVzdF9zc3NkX2hlbHAnXSkKKyAgICBkZWYgdGVzdF9zc3NkX3Nzc2N0bF9jb25mX3Blcm1zX2NoayhzZWxmKToKKyAgICAgICAgc3RhdHVzLCBvdXRwdXQgPSBzZWxmLnRhcmdldC5ydW4oJ3Nzc2N0bCBkb21haW4tc3RhdHVzJykKKyAgICAgICAgbWF0Y2ggPSByZS5zZWFyY2goJ0NvbmZEQiBpbml0aWFsaXphdGlvbiBoYXMgZmFpbGVkJywgb3V0cHV0KQorICAgICAgICBpZiBtYXRjaDoKKyAgICAgICAgICAgIG1zZyA9ICgnc3NzY3RsIGRvbWFpbi1zdGF0dXMgZmFpbGVkLCBjaGVjayBzc3NkLmNvbmYgcGVybXMuICcKKyAgICAgICAgICAgICAgICdTdGF0dXMgYW5kIG91dHB1dDolcyBhbmQgJXMnICUgKHN0YXR1cywgb3V0cHV0KSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdHVzLCAwLCBtc2cgPSBtc2cpCisKKyAgICBAT0VUZXN0RGVwZW5kcyhbJ3Nzc2QuU1NTRFRlc3QudGVzdF9zc3NkX3Nzc2N0bF9jb25mX3Blcm1zX2NoayddKQorICAgIGRlZiB0ZXN0X3Nzc2Rfc3NzY3RsX2RlYW1vbihzZWxmKToKKyAgICAgICAgc3RhdHVzLCBvdXRwdXQgPSBzZWxmLnRhcmdldC5ydW4oJ3Nzc2N0bCBkb21haW4tc3RhdHVzJykKKyAgICAgICAgbWF0Y2ggPSByZS5zZWFyY2goJ05vIGRvbWFpbnMgY29uZmlndXJlZCwgZmF0YWwgZXJyb3IhJywgb3V0cHV0KQorICAgICAgICBpZiBtYXRjaDoKKyAgICAgICAgICAgIG1zZyA9ICgnc3NzY3RsIGRvbWFpbi1zdGF0dXMgZmFpbGVkLCBzc3NkLmNvbmYgbm90IHNldHVwIGNvcnJlY3RseS4gJworICAgICAgICAgICAgICAgJ1N0YXR1cyBhbmQgb3V0cHV0OiVzIGFuZCAlcycgJSAoc3RhdHVzLCBvdXRwdXQpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDAsIG1zZyA9IG1zZykKKwpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL3N1cmljYXRhLnB5IGIvbWV0YS1zZWN1cml0eS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL3N1cmljYXRhLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3ZmM4YzUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvc3VyaWNhdGEucHkKQEAgLTAsMCArMSwyNyBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTkgQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KKyMKK2ltcG9ydCByZQorCitmcm9tIG9lcWEucnVudGltZS5jYXNlIGltcG9ydCBPRVJ1bnRpbWVUZXN0Q2FzZQorZnJvbSBvZXFhLmNvcmUuZGVjb3JhdG9yLmRlcGVuZHMgaW1wb3J0IE9FVGVzdERlcGVuZHMKK2Zyb20gb2VxYS5ydW50aW1lLmRlY29yYXRvci5wYWNrYWdlIGltcG9ydCBPRUhhc1BhY2thZ2UKKworCitjbGFzcyBTdXJpY2F0YVRlc3QoT0VSdW50aW1lVGVzdENhc2UpOgorCisgICAgQE9FSGFzUGFja2FnZShbJ3N1cmljYXRhJ10pCisgICAgQE9FVGVzdERlcGVuZHMoWydzc2guU1NIVGVzdC50ZXN0X3NzaCddKQorICAgIGRlZiB0ZXN0X3N1cmljYXRhX2hlbHAoc2VsZik6CisgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi50YXJnZXQucnVuKCdzdXJpY2F0YSAtLWhlbHAnKQorICAgICAgICBtc2cgPSAoJ3N1cmljYXRhIGNvbW1hbmQgZG9lcyBub3Qgd29yayBhcyBleHBlY3RlZC4gJworICAgICAgICAgICAgICAgJ1N0YXR1cyBhbmQgb3V0cHV0OiVzIGFuZCAlcycgJSAoc3RhdHVzLCBvdXRwdXQpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0YXR1cywgMSwgbXNnID0gbXNnKQorCisgICAgQE9FVGVzdERlcGVuZHMoWydzdXJpY2F0YS5TdXJpY2F0YVRlc3QudGVzdF9zdXJpY2F0YV9oZWxwJ10pCisgICAgZGVmIHRlc3Rfc3VyaWNhdGFfdW5pdHRlc3Qoc2VsZik6CisgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi50YXJnZXQucnVuKCdzdXJpY2F0YSAtdScpCisgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKCdGQUlMRUQ6IDAgJywgb3V0cHV0KQorICAgICAgICBpZiBub3QgbWF0Y2g6CisgICAgICAgICAgICBtc2cgPSAoJ3N1cmljYXRhIHVuaXR0ZXN0IGhhZCBhbiB1bmV4cGVjdGVkIGZhaWx1cmUuICcKKyAgICAgICAgICAgICAgICdTdGF0dXMgYW5kIG91dHB1dDolcyBhbmQgJXMnICUgKHN0YXR1cywgb3V0cHV0KSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdHVzLCAwLCBtc2cgPSBtc2cpCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvdHJpcHdpcmUucHkgYi9tZXRhLXNlY3VyaXR5L2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvdHJpcHdpcmUucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjU5NzI0ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvbGliL29lcWEvcnVudGltZS9jYXNlcy90cmlwd2lyZS5weQpAQCAtMCwwICsxLDQ3IEBACisjIENvcHlyaWdodCAoQykgMjAxOSBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgorIworaW1wb3J0IHJlCisKK2Zyb20gb2VxYS5ydW50aW1lLmNhc2UgaW1wb3J0IE9FUnVudGltZVRlc3RDYXNlCitmcm9tIG9lcWEuY29yZS5kZWNvcmF0b3IuZGVwZW5kcyBpbXBvcnQgT0VUZXN0RGVwZW5kcworZnJvbSBvZXFhLnJ1bnRpbWUuZGVjb3JhdG9yLnBhY2thZ2UgaW1wb3J0IE9FSGFzUGFja2FnZQorCisKK2NsYXNzIFRyaXB3aXJlVGVzdChPRVJ1bnRpbWVUZXN0Q2FzZSk6CisKKyAgICBAT0VIYXNQYWNrYWdlKFsndHJpcHdpcmUnXSkKKyAgICBAT0VUZXN0RGVwZW5kcyhbJ3NzaC5TU0hUZXN0LnRlc3Rfc3NoJ10pCisgICAgZGVmIHRlc3RfdHJpcHdpcmVfaGVscChzZWxmKToKKyAgICAgICAgc3RhdHVzLCBvdXRwdXQgPSBzZWxmLnRhcmdldC5ydW4oJ3RyaXB3aXJlIC0taGVscCcpCisgICAgICAgIG1zZyA9ICgndHJpcHdpcmUgY29tbWFuZCBkb2VzIG5vdCB3b3JrIGFzIGV4cGVjdGVkLiAnCisgICAgICAgICAgICAgICAnU3RhdHVzIGFuZCBvdXRwdXQ6JXMgYW5kICVzJyAlIChzdGF0dXMsIG91dHB1dCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdHVzLCA4LCBtc2cgPSBtc2cpCisKKyAgICBAT0VUZXN0RGVwZW5kcyhbJ3RyaXB3aXJlLlRyaXB3aXJlVGVzdC50ZXN0X3RyaXB3aXJlX2hlbHAnXSkKKyAgICBkZWYgdGVzdF90cmlwd2lyZV90d2luc3RhbGwoc2VsZik6CisgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi50YXJnZXQucnVuKCcvZXRjL3RyaXB3aXJlL3R3aW5zdGFsbC5zaCcpCisgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKCdUaGUgZGF0YWJhc2Ugd2FzIHN1Y2Nlc3NmdWxseSBnZW5lcmF0ZWQuJywgb3V0cHV0KQorICAgICAgICBpZiBub3QgbWF0Y2g6CisgICAgICAgICAgICBtc2cgPSAoJy9ldGMvdHJpcHdpcmUvdHdpbnN0YWxsLnNoIGZhaWxlZC4gJworICAgICAgICAgICAgICAgJ1N0YXR1cyBhbmQgb3V0cHV0OiVzIGFuZCAlcycgJSAoc3RhdHVzLCBvdXRwdXQpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDAsIG1zZyA9IG1zZykKKworICAgIEBPRVRlc3REZXBlbmRzKFsndHJpcHdpcmUuVHJpcHdpcmVUZXN0LnRlc3RfdHJpcHdpcmVfdHdpbnN0YWxsJ10pCisgICAgZGVmIHRlc3RfdHJpcHdpcmVfdHdhZG1pbihzZWxmKToKKyAgICAgICAgc3RhdHVzLCBvdXRwdXQgPSBzZWxmLnRhcmdldC5ydW4oJ3R3YWRtaW4gLS1jcmVhdGUtY2ZnZmlsZSAtLWNmZ2ZpbGUgL2V0Yy90cmlwd2lyZS90d2NmZy5lbmMgLS1zaXRlLWtleWZpbGUgL2V0Yy90cmlwd2lyZS9zaXRlLmtleSAtUSB0cmlwd2lyZSAvZXRjL3RyaXB3aXJlL3R3Y2ZnLnR4dCcpCisgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi50YXJnZXQucnVuKCd0d2FkbWluIC0tY3JlYXRlLXBvbGZpbGUgLS1jZmdmaWxlIC9ldGMvdHJpcHdpcmUvdHdjZmcuZW5jIC0tcG9sZmlsZSAvZXRjL3RyaXB3aXJlL3R3cG9sLmVuYyAtLXNpdGUta2V5ZmlsZSAvZXRjL3RyaXB3aXJlL3NpdGUua2V5IC1RIHRyaXB3aXJlIC9ldGMvdHJpcHdpcmUvdHdwb2wudHh0JykKKyAgICAgICAgbWF0Y2ggPSByZS5zZWFyY2goJ1dyb3RlIHBvbGljeSBmaWxlOiAvZXRjL3RyaXB3aXJlL3R3cG9sLmVuYycsIG91dHB1dCkKKyAgICAgICAgaWYgbm90IG1hdGNoOgorICAgICAgICAgICAgbXNnID0gKCd0d2FkbWluIC0tY3JlYXRlLXByb2ZpbGUgOyBmYWlsZWQuICcKKyAgICAgICAgICAgICAgICdTdGF0dXMgYW5kIG91dHB1dDolcyBhbmQgJXMnICUgKHN0YXR1cywgb3V0cHV0KSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdHVzLCAwLCBtc2cgPSBtc2cpCisKKyAgICBAT0VUZXN0RGVwZW5kcyhbJ3RyaXB3aXJlLlRyaXB3aXJlVGVzdC50ZXN0X3RyaXB3aXJlX3R3YWRtaW4nXSkKKyAgICBkZWYgdGVzdF90cmlwd2lyZV9pbml0KHNlbGYpOgorICAgICAgICBzdGF0dXMsIGhvc3RuYW1lID0gc2VsZi50YXJnZXQucnVuKCdob3N0bmFtZScpCisgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi50YXJnZXQucnVuKCd0cmlwd2lyZSAtLWluaXQgLS1jZmdmaWxlIC9ldGMvdHJpcHdpcmUvdHdjZmcuZW5jIC0tcG9sZmlsZSAvZXRjL3RyaXB3aXJlL3R3LnBvbCAtLXNpdGUta2V5ZmlsZSAvZXRjL3RyaXB3aXJlL3NpdGUua2V5IC0tbG9jYWwta2V5ZmlsZSAvZXRjL3RyaXB3aXJlLyVzLWxvY2FsLmtleSAtUCB0cmlwd2lyZScgJSBob3N0bmFtZSkKKyAgICAgICAgbWF0Y2ggPSByZS5zZWFyY2goJ1RoZSBkYXRhYmFzZSB3YXMgc3VjY2Vzc2Z1bGx5IGdlbmVyYXRlZC4nLCBvdXRwdXQpCisgICAgICAgIGlmIG5vdCBtYXRjaDoKKyAgICAgICAgICAgIG1zZyA9ICgndHJpcHdpcmUgLS1pbml0OyBGYWlsZWQgZm9yIGhvc3Q6ICVzLiAnCisgICAgICAgICAgICAgICAnU3RhdHVzIGFuZCBvdXRwdXQ6JXMgYW5kICVzJyAlIChob3N0bmFtZSwgc3RhdHVzLCBvdXRwdXQpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDAsIG1zZyA9IG1zZykKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS1zZWN1cml0eS1jb21wbGlhbmNlL3JlY2lwZXMtYXVkaXRvcnMvbHluaXMvbHluaXNfMi42LjguYmIgYi9tZXRhLXNlY3VyaXR5L21ldGEtc2VjdXJpdHktY29tcGxpYW5jZS9yZWNpcGVzLWF1ZGl0b3JzL2x5bmlzL2x5bmlzXzIuNi44LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyOGE0NDY5Li4wMDAwMDAwCi0tLSBhL21ldGEtc2VjdXJpdHkvbWV0YS1zZWN1cml0eS1jb21wbGlhbmNlL3JlY2lwZXMtYXVkaXRvcnMvbHluaXMvbHluaXNfMi42LjguYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi0jIENvcHlyaWdodCAoQykgMjAxNyBBcm1pbiBLdXN0ZXIgIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KLSMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgQ09QWUlORy5NSVQgZm9yIHRoZSB0ZXJtcykKLQotU1VNTUFSWSA9ICJMeW5pcyBpcyBhIGZyZWUgYW5kIG9wZW4gc291cmNlIHNlY3VyaXR5IGFuZCBhdWRpdGluZyB0b29sLiIKLUhPTUVESVIgPSAiaHR0cHM6Ly9jaXNvZnkuY29tLyIKLUxJQ0VOU0UgPSAiR1BMLTMuMCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTNlZGQ2NzgyODU0MzA0ZmQxMWRhNDk3NWFiOTc5OWMxIgotCi1TUkNfVVJJID0gImh0dHBzOi8vY2lzb2Z5LmNvbS9maWxlcy8ke0JQTn0tJHtQVn0udGFyLmd6IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiOTFhNTM4MDU1YmZiNjgyNzMzZWY4ZTRmZTdlYjA5MDIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmU0YzUxNTdhNGYyZDliYjM3ZDNmMGYxZjViZWEwM2Y5MjIzM2EyYTdkNGRmNmVkZGYyMzFhNzg0MDg3ZGZhYyIKLQotUyA9ICIke1dPUktESVJ9LyR7QlBOfSIKLQotaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCi0KLWRvX2NvbXBpbGVbbm9leGVjXSA9ICIxIgotZG9fY29uZmlndXJlW25vZXhlY10gPSAiMSIKLQotZG9faW5zdGFsbCAoKSB7Ci0JaW5zdGFsbCAtZCAke0R9LyR7YmluZGlyfQotCWluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2x5bmlzCi0JaW5zdGFsbCAtbSA1NTUgJHtTfS9seW5pcyAke0R9LyR7YmluZGlyfQotCi0JaW5zdGFsbCAtZCAke0R9LyR7ZGF0YWRpcn0vbHluaXMvZGIKLQlpbnN0YWxsIC1kICR7RH0vJHtkYXRhZGlyfS9seW5pcy9wbHVnaW5zCi0JaW5zdGFsbCAtZCAke0R9LyR7ZGF0YWRpcn0vbHluaXMvaW5jbHVkZQotCWluc3RhbGwgLWQgJHtEfS8ke2RhdGFkaXJ9L2x5bmlzL2V4dHJhcwotCi0JY3AgLXIgJHtTfS9kYi8qICR7RH0vJHtkYXRhZGlyfS9seW5pcy9kYi8uCi0JY3AgLXIgJHtTfS9wbHVnaW5zLyogICR7RH0vJHtkYXRhZGlyfS9seW5pcy9wbHVnaW5zLy4KLQljcCAtciAke1N9L2luY2x1ZGUvKiAke0R9LyR7ZGF0YWRpcn0vbHluaXMvaW5jbHVkZS8uCi0JY3AgLXIgJHtTfS9leHRyYXMvKiAgJHtEfS8ke2RhdGFkaXJ9L2x5bmlzL2V4dHJhcy8uCi0gICAgICAgIGNwICR7U30vKi5wcmYgJHtEfS8ke3N5c2NvbmZkaXJ9L2x5bmlzCi19Ci0KLUZJTEVTXyR7UE59ICs9ICIke3N5c2NvbmZkaXJ9L2RldmVsb3Blci5wcmYgJHtzeXNjb25mZGlyfS9kZWZhdWx0LnByZiIKLUZJTEVTXyR7UE59LWRvYyArPSAibHluaXMuOCBGQVEgUkVBRE1FIENIQU5HRUxPRy5tZCBDT05UUklCVVRJT05TLm1kIENPTlRSSUJVVE9SUy5tZCIgCi0KLVJERVBFTkRTXyR7UE59ICs9ICJwcm9jcHMiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L21ldGEtc2VjdXJpdHktY29tcGxpYW5jZS9yZWNpcGVzLWF1ZGl0b3JzL2x5bmlzL2x5bmlzXzIuNy4yLmJiIGIvbWV0YS1zZWN1cml0eS9tZXRhLXNlY3VyaXR5LWNvbXBsaWFuY2UvcmVjaXBlcy1hdWRpdG9ycy9seW5pcy9seW5pc18yLjcuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYmE4MmY5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9tZXRhLXNlY3VyaXR5LWNvbXBsaWFuY2UvcmVjaXBlcy1hdWRpdG9ycy9seW5pcy9seW5pc18yLjcuMi5iYgpAQCAtMCwwICsxLDQxIEBACisjIENvcHlyaWdodCAoQykgMjAxNyBBcm1pbiBLdXN0ZXIgIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgQ09QWUlORy5NSVQgZm9yIHRoZSB0ZXJtcykKKworU1VNTUFSWSA9ICJMeW5pcyBpcyBhIGZyZWUgYW5kIG9wZW4gc291cmNlIHNlY3VyaXR5IGFuZCBhdWRpdGluZyB0b29sLiIKK0hPTUVESVIgPSAiaHR0cHM6Ly9jaXNvZnkuY29tLyIKK0xJQ0VOU0UgPSAiR1BMLTMuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTNlZGQ2NzgyODU0MzA0ZmQxMWRhNDk3NWFiOTc5OWMxIgorCitTUkNfVVJJID0gImh0dHBzOi8vY2lzb2Z5LmNvbS9maWxlcy8ke0JQTn0tJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiMzQyMmNlZTNiMTJmYzMzMzM4ZmNkZTAwM2Q2NWUyMzQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZmRlNmNjZjhkNmVjMGFlMWU5YzlmNGE2ZDY0MGNkZGNkZTRiZjdhOTJmODQzN2Q0N2QxNmE1NDc3ZTIxYmZkYSIKKworUyA9ICIke1dPUktESVJ9LyR7QlBOfSIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCisKK2RvX2NvbXBpbGVbbm9leGVjXSA9ICIxIgorZG9fY29uZmlndXJlW25vZXhlY10gPSAiMSIKKworZG9faW5zdGFsbCAoKSB7CisJaW5zdGFsbCAtZCAke0R9LyR7YmluZGlyfQorCWluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2x5bmlzCisJaW5zdGFsbCAtbSA1NTUgJHtTfS9seW5pcyAke0R9LyR7YmluZGlyfQorCisJaW5zdGFsbCAtZCAke0R9LyR7ZGF0YWRpcn0vbHluaXMvZGIKKwlpbnN0YWxsIC1kICR7RH0vJHtkYXRhZGlyfS9seW5pcy9wbHVnaW5zCisJaW5zdGFsbCAtZCAke0R9LyR7ZGF0YWRpcn0vbHluaXMvaW5jbHVkZQorCWluc3RhbGwgLWQgJHtEfS8ke2RhdGFkaXJ9L2x5bmlzL2V4dHJhcworCisJY3AgLXIgJHtTfS9kYi8qICR7RH0vJHtkYXRhZGlyfS9seW5pcy9kYi8uCisJY3AgLXIgJHtTfS9wbHVnaW5zLyogICR7RH0vJHtkYXRhZGlyfS9seW5pcy9wbHVnaW5zLy4KKwljcCAtciAke1N9L2luY2x1ZGUvKiAke0R9LyR7ZGF0YWRpcn0vbHluaXMvaW5jbHVkZS8uCisJY3AgLXIgJHtTfS9leHRyYXMvKiAgJHtEfS8ke2RhdGFkaXJ9L2x5bmlzL2V4dHJhcy8uCisgICAgICAgIGNwICR7U30vKi5wcmYgJHtEfS8ke3N5c2NvbmZkaXJ9L2x5bmlzCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke3N5c2NvbmZkaXJ9L2RldmVsb3Blci5wcmYgJHtzeXNjb25mZGlyfS9kZWZhdWx0LnByZiIKK0ZJTEVTXyR7UE59LWRvYyArPSAibHluaXMuOCBGQVEgUkVBRE1FIENIQU5HRUxPRy5tZCBDT05UUklCVVRJT05TLm1kIENPTlRSSUJVVE9SUy5tZCIgCisKK1JERVBFTkRTXyR7UE59ICs9ICJwcm9jcHMiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L21ldGEtc2VjdXJpdHktY29tcGxpYW5jZS9yZWNpcGVzLW9wZW5zY2FwL29lLXNjYXAvb2Utc2NhcF8xLjAuYmIgYi9tZXRhLXNlY3VyaXR5L21ldGEtc2VjdXJpdHktY29tcGxpYW5jZS9yZWNpcGVzLW9wZW5zY2FwL29lLXNjYXAvb2Utc2NhcF8xLjAuYmIKaW5kZXggNWI2MTM3NS4uZTg0ZWQzMCAxMDA2NDQKLS0tIGEvbWV0YS1zZWN1cml0eS9tZXRhLXNlY3VyaXR5LWNvbXBsaWFuY2UvcmVjaXBlcy1vcGVuc2NhcC9vZS1zY2FwL29lLXNjYXBfMS4wLmJiCisrKyBiL21ldGEtc2VjdXJpdHkvbWV0YS1zZWN1cml0eS1jb21wbGlhbmNlL3JlY2lwZXMtb3BlbnNjYXAvb2Utc2NhcC9vZS1zY2FwXzEuMC5iYgpAQCAtOCwxMiArOCwxMSBAQAogU1JDUkVWID0gIjcxNDc4NzFkN2YzN2Q0MDhjMGRkNzcyMGVmMGZkM2VjMWI1NGFkOTgiCiBTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vYWt1c3Rlci9vZS1zY2FwLmdpdCIKIFNSQ19VUkkgKz0gIiBcCi0JZmlsZTovL3J1bl9jdmUuc2ggXAotCWZpbGU6Ly9ydW5fdGVzdC5zaCBcCi0JZmlsZTovL09wZW5FbWJlZGRlZF9ub2Rpc3Ryb18wLnhtbCBcCi0gICAgICAgIGZpbGU6Ly9PcGVuRW1iZWRkZWRfbm9kaXN0cm9fMC54Y2NkZi54bWwgXAotIgotCQorICAgICAgICAgICAgZmlsZTovL3J1bl9jdmUuc2ggXAorICAgICAgICAgICAgZmlsZTovL3J1bl90ZXN0LnNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9PcGVuRW1iZWRkZWRfbm9kaXN0cm9fMC54bWwgXAorICAgICAgICAgICAgZmlsZTovL09wZW5FbWJlZGRlZF9ub2Rpc3Ryb18wLnhjY2RmLnhtbCBcCisgICAgICAgICAgICIKIAogUyA9ICIke1dPUktESVJ9L2dpdCIKIApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9tZXRhLXNlY3VyaXR5LWNvbXBsaWFuY2UvcmVjaXBlcy1vcGVuc2NhcC9vcGVuc2NhcC1kYWVtb24vZmlsZXMvMDAwMS1SZW5hbWVkLW1vZHVsZS1hbmQtdmFyaWFibGVzLXRvLWdldC1yaWQtb2YtYXN5bmMucGF0Y2ggYi9tZXRhLXNlY3VyaXR5L21ldGEtc2VjdXJpdHktY29tcGxpYW5jZS9yZWNpcGVzLW9wZW5zY2FwL29wZW5zY2FwLWRhZW1vbi9maWxlcy8wMDAxLVJlbmFtZWQtbW9kdWxlLWFuZC12YXJpYWJsZXMtdG8tZ2V0LXJpZC1vZi1hc3luYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYTUxOGJmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9tZXRhLXNlY3VyaXR5LWNvbXBsaWFuY2UvcmVjaXBlcy1vcGVuc2NhcC9vcGVuc2NhcC1kYWVtb24vZmlsZXMvMDAwMS1SZW5hbWVkLW1vZHVsZS1hbmQtdmFyaWFibGVzLXRvLWdldC1yaWQtb2YtYXN5bmMucGF0Y2gKQEAgLTAsMCArMSwxMzAgQEAKK0Zyb20gYzM0MzQ5NzIwYTU3OTk3ZDMwOTQ2Mjg2NzU2ZTJiYTlkYmFiNmFjZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9NYXQ9QzQ9OUJqPTIwVD1DMz1CRD1DND04RD89IDxtYXR5Y0ByZWRoYXQuY29tPgorRGF0ZTogTW9uLCAyIEp1bCAyMDE4IDExOjIxOjE5ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFJlbmFtZWQgbW9kdWxlIGFuZCB2YXJpYWJsZXMgdG8gZ2V0IHJpZCBvZiBhc3luYy4KKworYXN5bmMgaXMgYSByZXNlcnZlZCB3b3JkIGluIFB5dGhvbiAzLjcuCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKK1todHRwczovL2dpdGh1Yi5jb20vT3BlblNDQVAvb3BlbnNjYXAtZGFlbW9uL2NvbW1pdC9jMzQzNDk3MjBhNTc5OTdkMzA5NDYyODY3NTZlMmJhOWRiYWI2YWNlXQorCitTaWduZWQtb2ZmLWJ5OiBZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5jb20+CistLS0KKyBvcGVuc2NhcF9kYWVtb24ve2FzeW5jLnB5ID0+IGFzeW5jX3Rvb2xzLnB5fSB8ICAwCisgb3BlbnNjYXBfZGFlbW9uL2RidXNfZGFlbW9uLnB5ICAgICAgICAgICAgICAgfCAgMiArLQorIG9wZW5zY2FwX2RhZW1vbi9zeXN0ZW0ucHkgICAgICAgICAgICAgICAgICAgIHwgMTYgKysrKysrKystLS0tLS0tLQorIHRlc3RzL3VuaXQvdGVzdF9iYXNpY191cGRhdGUucHkgICAgICAgICAgICAgIHwgIDMgKystCisgNCBmaWxlcyBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKKyByZW5hbWUgb3BlbnNjYXBfZGFlbW9uL3thc3luYy5weSA9PiBhc3luY190b29scy5weX0gKDEwMCUpCisKK2RpZmYgLS1naXQgYS9vcGVuc2NhcF9kYWVtb24vYXN5bmMucHkgYi9vcGVuc2NhcF9kYWVtb24vYXN5bmNfdG9vbHMucHkKK3NpbWlsYXJpdHkgaW5kZXggMTAwJQorcmVuYW1lIGZyb20gb3BlbnNjYXBfZGFlbW9uL2FzeW5jLnB5CityZW5hbWUgdG8gb3BlbnNjYXBfZGFlbW9uL2FzeW5jX3Rvb2xzLnB5CitkaWZmIC0tZ2l0IGEvb3BlbnNjYXBfZGFlbW9uL2RidXNfZGFlbW9uLnB5IGIvb3BlbnNjYXBfZGFlbW9uL2RidXNfZGFlbW9uLnB5CitpbmRleCBlNmVhZGY5Li5jYjZhOGI2IDEwMDY0NAorLS0tIGEvb3BlbnNjYXBfZGFlbW9uL2RidXNfZGFlbW9uLnB5CisrKysgYi9vcGVuc2NhcF9kYWVtb24vZGJ1c19kYWVtb24ucHkKK0BAIC04MSw3ICs4MSw3IEBAIGNsYXNzIE9wZW5TQ0FQRGFlbW9uRGJ1cyhkYnVzLnNlcnZpY2UuT2JqZWN0KToKKyAgICAgQGRidXMuc2VydmljZS5tZXRob2QoZGJ1c19pbnRlcmZhY2U9ZGJ1c191dGlscy5EQlVTX0lOVEVSRkFDRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW5fc2lnbmF0dXJlPSIiLCBvdXRfc2lnbmF0dXJlPSJhKHhzaSkiKQorICAgICBkZWYgR2V0QXN5bmNBY3Rpb25zU3RhdHVzKHNlbGYpOgorLSAgICAgICAgcmV0dXJuIHNlbGYuc3lzdGVtLmFzeW5jLmdldF9zdGF0dXMoKQorKyAgICAgICAgcmV0dXJuIHNlbGYuc3lzdGVtLmFzeW5jX21hbmFnZXIuZ2V0X3N0YXR1cygpCisgCisgICAgIEBkYnVzLnNlcnZpY2UubWV0aG9kKGRidXNfaW50ZXJmYWNlPWRidXNfdXRpbHMuREJVU19JTlRFUkZBQ0UsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGluX3NpZ25hdHVyZT0icyIsIG91dF9zaWduYXR1cmU9Iihzc3NuKSIpCitkaWZmIC0tZ2l0IGEvb3BlbnNjYXBfZGFlbW9uL3N5c3RlbS5weSBiL29wZW5zY2FwX2RhZW1vbi9zeXN0ZW0ucHkKK2luZGV4IDIwMTJmNmUuLjg1YzI2ODAgMTAwNjQ0CistLS0gYS9vcGVuc2NhcF9kYWVtb24vc3lzdGVtLnB5CisrKysgYi9vcGVuc2NhcF9kYWVtb24vc3lzdGVtLnB5CitAQCAtMjYsNyArMjYsNyBAQCBpbXBvcnQgbG9nZ2luZworIGZyb20gb3BlbnNjYXBfZGFlbW9uLnRhc2sgaW1wb3J0IFRhc2sKKyBmcm9tIG9wZW5zY2FwX2RhZW1vbi5jb25maWcgaW1wb3J0IENvbmZpZ3VyYXRpb24KKyBmcm9tIG9wZW5zY2FwX2RhZW1vbiBpbXBvcnQgb3NjYXBfaGVscGVycworLWZyb20gb3BlbnNjYXBfZGFlbW9uIGltcG9ydCBhc3luYworK2Zyb20gb3BlbnNjYXBfZGFlbW9uIGltcG9ydCBhc3luY190b29scworIAorIAorIGNsYXNzIFJlc3VsdHNOb3RBdmFpbGFibGUoRXhjZXB0aW9uKToKK0BAIC00MCw3ICs0MCw3IEBAIFRBU0tfQUNUSU9OX1BSSU9SSVRZID0gMTAKKyAKKyBjbGFzcyBTeXN0ZW0ob2JqZWN0KToKKyAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGNvbmZpZ19maWxlKToKKy0gICAgICAgIHNlbGYuYXN5bmMgPSBhc3luYy5Bc3luY01hbmFnZXIoKQorKyAgICAgICAgc2VsZi5hc3luY19tYW5hZ2VyID0gYXN5bmNfdG9vbHMuQXN5bmNNYW5hZ2VyKCkKKyAKKyAgICAgICAgIGxvZ2dpbmcuaW5mbygiTG9hZGluZyBjb25maWd1cmF0aW9uIGZyb20gJyVzJy4iLCBjb25maWdfZmlsZSkKKyAgICAgICAgIHNlbGYuY29uZmlnID0gQ29uZmlndXJhdGlvbigpCitAQCAtOTAsNyArOTAsNyBAQCBjbGFzcyBTeXN0ZW0ob2JqZWN0KToKKyAgICAgICAgICAgICBpbnB1dF9maWxlLCB0YWlsb3JpbmdfZmlsZSwgTm9uZQorICAgICAgICAgKQorIAorLSAgICBjbGFzcyBBc3luY0V2YWx1YXRlU3BlY0FjdGlvbihhc3luYy5Bc3luY0FjdGlvbik6CisrICAgIGNsYXNzIEFzeW5jRXZhbHVhdGVTcGVjQWN0aW9uKGFzeW5jX3Rvb2xzLkFzeW5jQWN0aW9uKToKKyAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzeXN0ZW0sIHNwZWMpOgorICAgICAgICAgICAgIHN1cGVyKFN5c3RlbS5Bc3luY0V2YWx1YXRlU3BlY0FjdGlvbiwgc2VsZikuX19pbml0X18oKQorIAorQEAgLTExMyw3ICsxMTMsNyBAQCBjbGFzcyBTeXN0ZW0ob2JqZWN0KToKKyAgICAgICAgICAgICByZXR1cm4gIkV2YWx1YXRlIFNwZWMgJyVzJyIgJSAoc2VsZi5zcGVjKQorIAorICAgICBkZWYgZXZhbHVhdGVfc3BlY19hc3luYyhzZWxmLCBzcGVjKToKKy0gICAgICAgIHJldHVybiBzZWxmLmFzeW5jLmVucXVldWUoCisrICAgICAgICByZXR1cm4gc2VsZi5hc3luY19tYW5hZ2VyLmVucXVldWUoCisgICAgICAgICAgICAgU3lzdGVtLkFzeW5jRXZhbHVhdGVTcGVjQWN0aW9uKAorICAgICAgICAgICAgICAgICBzZWxmLAorICAgICAgICAgICAgICAgICBzcGVjCitAQCAtNDg4LDcgKzQ4OCw3IEBAIGNsYXNzIFN5c3RlbShvYmplY3QpOgorIAorICAgICAgICAgcmV0dXJuIHJldAorIAorLSAgICBjbGFzcyBBc3luY1VwZGF0ZVRhc2tBY3Rpb24oYXN5bmMuQXN5bmNBY3Rpb24pOgorKyAgICBjbGFzcyBBc3luY1VwZGF0ZVRhc2tBY3Rpb24oYXN5bmNfdG9vbHMuQXN5bmNBY3Rpb24pOgorICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHN5c3RlbSwgdGFza19pZCwgcmVmZXJlbmNlX2RhdGV0aW1lKToKKyAgICAgICAgICAgICBzdXBlcihTeXN0ZW0uQXN5bmNVcGRhdGVUYXNrQWN0aW9uLCBzZWxmKS5fX2luaXRfXygpCisgCitAQCAtNTM2LDcgKzUzNiw3IEBAIGNsYXNzIFN5c3RlbShvYmplY3QpOgorIAorICAgICAgICAgICAgICAgICBpZiB0YXNrLnNob3VsZF9iZV91cGRhdGVkKHJlZmVyZW5jZV9kYXRldGltZSk6CisgICAgICAgICAgICAgICAgICAgICBzZWxmLnRhc2tzX3NjaGVkdWxlZC5hZGQodGFzay5pZF8pCistICAgICAgICAgICAgICAgICAgICBzZWxmLmFzeW5jLmVucXVldWUoCisrICAgICAgICAgICAgICAgICAgICBzZWxmLmFzeW5jX21hbmFnZXIuZW5xdWV1ZSgKKyAgICAgICAgICAgICAgICAgICAgICAgICBTeXN0ZW0uQXN5bmNVcGRhdGVUYXNrQWN0aW9uKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXNrLmlkXywKK0BAIC02NjIsNyArNjYyLDcgQEAgY2xhc3MgU3lzdGVtKG9iamVjdCk6CisgICAgICAgICAgICAgZml4X3R5cGUKKyAgICAgICAgICkKKyAKKy0gICAgY2xhc3MgQXN5bmNFdmFsdWF0ZUNWRVNjYW5uZXJXb3JrZXJBY3Rpb24oYXN5bmMuQXN5bmNBY3Rpb24pOgorKyAgICBjbGFzcyBBc3luY0V2YWx1YXRlQ1ZFU2Nhbm5lcldvcmtlckFjdGlvbihhc3luY190b29scy5Bc3luY0FjdGlvbik6CisgICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgc3lzdGVtLCB3b3JrZXIpOgorICAgICAgICAgICAgIHN1cGVyKFN5c3RlbS5Bc3luY0V2YWx1YXRlQ1ZFU2Nhbm5lcldvcmtlckFjdGlvbiwgc2VsZikuX19pbml0X18oKQorIAorQEAgLTY4MCw3ICs2ODAsNyBAQCBjbGFzcyBTeXN0ZW0ob2JqZWN0KToKKyAgICAgICAgICAgICByZXR1cm4gIkV2YWx1YXRlIENWRSBTY2FubmVyIFdvcmtlciAnJXMnIiAlIChzZWxmLndvcmtlcikKKyAKKyAgICAgZGVmIGV2YWx1YXRlX2N2ZV9zY2FubmVyX3dvcmtlcl9hc3luYyhzZWxmLCB3b3JrZXIpOgorLSAgICAgICAgcmV0dXJuIHNlbGYuYXN5bmMuZW5xdWV1ZSgKKysgICAgICAgIHJldHVybiBzZWxmLmFzeW5jX21hbmFnZXIuZW5xdWV1ZSgKKyAgICAgICAgICAgICBTeXN0ZW0uQXN5bmNFdmFsdWF0ZUNWRVNjYW5uZXJXb3JrZXJBY3Rpb24oCisgICAgICAgICAgICAgICAgIHNlbGYsCisgICAgICAgICAgICAgICAgIHdvcmtlcgorZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQvdGVzdF9iYXNpY191cGRhdGUucHkgYi90ZXN0cy91bml0L3Rlc3RfYmFzaWNfdXBkYXRlLnB5CitpbmRleCA2ZjY4M2U2Li43Zjk1M2Y3IDEwMDc1NQorLS0tIGEvdGVzdHMvdW5pdC90ZXN0X2Jhc2ljX3VwZGF0ZS5weQorKysrIGIvdGVzdHMvdW5pdC90ZXN0X2Jhc2ljX3VwZGF0ZS5weQorQEAgLTM3LDggKzM3LDkgQEAgY2xhc3MgQmFzaWNVcGRhdGVUZXN0KHVuaXRfdGVzdF9oYXJuZXNzLkFQSVRlc3QpOgorICAgICAgICAgcHJpbnQoc2VsZi5zeXN0ZW0udGFza3MpCisgICAgICAgICBzZWxmLnN5c3RlbS5zY2hlZHVsZV90YXNrcygpCisgCistICAgICAgICB3aGlsZSBsZW4oc2VsZi5zeXN0ZW0uYXN5bmMuYWN0aW9ucykgPiAwOgorKyAgICAgICAgd2hpbGUgbGVuKHNlbGYuc3lzdGVtLmFzeW5jX21hbmFnZXIuYWN0aW9ucykgPiAwOgorICAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKKyAKKysKKyBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgICBCYXNpY1VwZGF0ZVRlc3QucnVuKCkKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9tZXRhLXNlY3VyaXR5LWNvbXBsaWFuY2UvcmVjaXBlcy1vcGVuc2NhcC9vcGVuc2NhcC1kYWVtb24vb3BlbnNjYXAtZGFlbW9uXzAuMS4xMC5iYiBiL21ldGEtc2VjdXJpdHkvbWV0YS1zZWN1cml0eS1jb21wbGlhbmNlL3JlY2lwZXMtb3BlbnNjYXAvb3BlbnNjYXAtZGFlbW9uL29wZW5zY2FwLWRhZW1vbl8wLjEuMTAuYmIKaW5kZXggYTZhOTM3My4uY2E2ZTAzMCAxMDA2NDQKLS0tIGEvbWV0YS1zZWN1cml0eS9tZXRhLXNlY3VyaXR5LWNvbXBsaWFuY2UvcmVjaXBlcy1vcGVuc2NhcC9vcGVuc2NhcC1kYWVtb24vb3BlbnNjYXAtZGFlbW9uXzAuMS4xMC5iYgorKysgYi9tZXRhLXNlY3VyaXR5L21ldGEtc2VjdXJpdHktY29tcGxpYW5jZS9yZWNpcGVzLW9wZW5zY2FwL29wZW5zY2FwLWRhZW1vbi9vcGVuc2NhcC1kYWVtb25fMC4xLjEwLmJiCkBAIC05LDcgKzksOSBAQAogREVQRU5EUyA9ICJweXRob24zLWRidXMiCiAKIFNSQ1JFViA9ICJmMjViMTZhZmI2YWM3NjFmZWExMzEzMmZmNDA2ZmJhNGNkZmQyYjc2IgotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL09wZW5TQ0FQL29wZW5zY2FwLWRhZW1vbi5naXQiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vT3BlblNDQVAvb3BlbnNjYXAtZGFlbW9uLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVJlbmFtZWQtbW9kdWxlLWFuZC12YXJpYWJsZXMtdG8tZ2V0LXJpZC1vZi1hc3luYy5wYXRjaCBcCisgICAgICAgICAgIgogCiBpbmhlcml0IHNldHVwdG9vbHMzCiAKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS1zZWN1cml0eS1jb21wbGlhbmNlL3JlY2lwZXMtb3BlbnNjYXAvc2NhcC1zZWN1cml0eS1ndWlkZS9zY2FwLXNlY3VyaXR5LWd1aWRlXzAuMS4zMy5iYiBiL21ldGEtc2VjdXJpdHkvbWV0YS1zZWN1cml0eS1jb21wbGlhbmNlL3JlY2lwZXMtb3BlbnNjYXAvc2NhcC1zZWN1cml0eS1ndWlkZS9zY2FwLXNlY3VyaXR5LWd1aWRlXzAuMS4zMy5iYgppbmRleCA3ZmE0MTdkLi4yN2QzZDg2IDEwMDY0NAotLS0gYS9tZXRhLXNlY3VyaXR5L21ldGEtc2VjdXJpdHktY29tcGxpYW5jZS9yZWNpcGVzLW9wZW5zY2FwL3NjYXAtc2VjdXJpdHktZ3VpZGUvc2NhcC1zZWN1cml0eS1ndWlkZV8wLjEuMzMuYmIKKysrIGIvbWV0YS1zZWN1cml0eS9tZXRhLXNlY3VyaXR5LWNvbXBsaWFuY2UvcmVjaXBlcy1vcGVuc2NhcC9zY2FwLXNlY3VyaXR5LWd1aWRlL3NjYXAtc2VjdXJpdHktZ3VpZGVfMC4xLjMzLmJiCkBAIC0xOSw2ICsxOSw4IEBACiAKIFNUQUdJTkdfT1NDQVBfQlVJTERESVIgPSAiJHtUTVBESVJ9L3dvcmstc2hhcmVkL29wZW5zY2FwL29zY2FwLWJ1aWxkLWFydGlmYWN0cyIKIAorT0VDTUFLRV9HRU5FUkFUT1IgPSAiVW5peCBNYWtlZmlsZXMiCisKIEVYVFJBX09FQ01BS0UgKz0gIi1EU1NHX1BST0RVQ1RfQ0hST01JVU06Qk9PTD1PRkYiCiBFWFRSQV9PRUNNQUtFICs9ICItRFNTR19QUk9EVUNUX0RFQklBTjg6Qk9PTD1PRkYiCiBFWFRSQV9PRUNNQUtFICs9ICItRFNTR19QUk9EVUNUX0ZFRE9SQTpCT09MPU9GRiIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmMgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0YzFhMTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jCkBAIC0wLDAgKzEsMzkgQEAKKyMgbWV0YS10cG0gTWFpbnRhaW5lcnMgRmlsZQorIworIyBUaGlzIGZpbGUgY29udGFpbnMgYSBsaXN0IG9mIHJlY2lwZSBtYWludGFpbmVycy4KKyMKKyMgUGxlYXNlIHN1Ym1pdCBhbnkgcGF0Y2hlcyBhZ2FpbnN0IHJlY2lwZXMgaW4gbWV0YSB0byB0aGUgCisjIFlvY3RvIG1haWwgbGlzdCAoeW9jdG9AeW9jdG9wcm9qZWN0Lm9yZykKKyMKKyMgSWYgeW91IGhhdmUgcHJvYmxlbXMgd2l0aCBvciBxdWVzdGlvbnMgYWJvdXQgYSBwYXJ0aWN1bGFyIHJlY2lwZSwgZmVlbAorIyBmcmVlIHRvIGNvbnRhY3QgdGhlIG1haW50YWluZXIgZGlyZWN0bHkgKGNjOmluZyB0aGUgYXBwcm9wcmlhdGUgbWFpbGluZyBsaXN0CisjIHB1dHMgaXQgaW4gdGhlIGFyY2hpdmUgYW5kIGhlbHBzIG90aGVyIHBlb3BsZSB3aG8gbWlnaHQgaGF2ZSB0aGUgc2FtZQorIyBxdWVzdGlvbnMgaW4gdGhlIGZ1dHVyZSksIGJ1dCBwbGVhc2UgdHJ5IHRvIGRvIHRoZSBmb2xsb3dpbmcgZmlyc3Q6CisjCisjICAtIGxvb2sgaW4gdGhlIFlvY3RvIFByb2plY3QgQnVnemlsbGEKKyMgICAgKGh0dHA6Ly9idWd6aWxsYS55b2N0b3Byb2plY3Qub3JnLykgdG8gc2VlIGlmIGEgcHJvYmxlbSBoYXMKKyMgICAgYWxyZWFkeSBiZWVuIHJlcG9ydGVkCisjCisjIFRoZSBmb3JtYXQgaXMgYXMgYSBiaXRiYWtlIHZhcmlhYmxlIG92ZXJyaWRlIGZvciBlYWNoIHJlY2lwZQorIworIwlSRUNJUEVfTUFJTlRBSU5FUl9wbi08cmVjaXBlIG5hbWU+ID0gIkZ1bGwgTmFtZSA8YWRkcmVzc0Bkb21haW4+IgorIworIyBQbGVhc2Uga2VlcCB0aGlzIGxpc3QgaW4gYWxwaGFiZXRpY2FsIG9yZGVyLgorUkVDSVBFX01BSU5UQUlORVJfcG4tYWlyY3JhY2stbmcgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1wY3ItZXh0ZW5kID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tdHBtLXF1b3RlLXRvb2xzID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tbGlidHBtID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tdHJvdXNlcnMgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1zd3RwbSA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLW9wZW5zc2wtdHBtLWVuZ2luZSA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXRwbS10b29scyA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXRwbTItYWJybWQgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi10cG0yLXRvdHAgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi10cG0yLXRjdGktdWVmaSA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXRwbTItdHNzLWVuZ2luZSA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXRwbTItcGtjczExID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tdHBtMi10c3MgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1jcnlwdHNldHVwLXRwbS1pbmN1YmF0b3IgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi10cG0yLXRvb2xzID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4taWJtc3d0cG0yID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvdHBtMi5weSBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vbGliL29lcWEvcnVudGltZS9jYXNlcy90cG0yLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0MGE5YjMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvdHBtMi5weQpAQCAtMCwwICsxLDQzIEBACisjIENvcHlyaWdodCAoQykgMjAxOSBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgorIworZnJvbSBvZXFhLnJ1bnRpbWUuY2FzZSBpbXBvcnQgT0VSdW50aW1lVGVzdENhc2UKK2Zyb20gb2VxYS5jb3JlLmRlY29yYXRvci5kZXBlbmRzIGltcG9ydCBPRVRlc3REZXBlbmRzCitmcm9tIG9lcWEucnVudGltZS5kZWNvcmF0b3IucGFja2FnZSBpbXBvcnQgT0VIYXNQYWNrYWdlCisKKworY2xhc3MgVHBtMlRlc3QoT0VSdW50aW1lVGVzdENhc2UpOgorICAgIGRlZiBjaGVja19lbmRsaW5lcyhzZWxmLCByZXN1bHRzLCAgZXhwZWN0ZWRfZW5kbGluZXMpOiAKKyAgICAgICAgZm9yIGxpbmUgaW4gcmVzdWx0cy5zcGxpdGxpbmVzKCk6CisgICAgICAgICAgICBmb3IgZWwgaW4gZXhwZWN0ZWRfZW5kbGluZXM6CisgICAgICAgICAgICAgICAgaWYgbGluZSA9PSBlbDoKKyAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfZW5kbGluZXMucmVtb3ZlKGVsKQorICAgICAgICAgICAgICAgICAgICBicmVhaworCisgICAgICAgIGlmIGV4cGVjdGVkX2VuZGxpbmVzOgorICAgICAgICAgICAgc2VsZi5mYWlsKCdNaXNzaW5nIGV4cGVjdGVkIGxpbmUgZW5kaW5nczpcbiAgJXMnICUgJ1xuICAnLmpvaW4oZXhwZWN0ZWRfZW5kbGluZXMpKQorCisgICAgQE9FSGFzUGFja2FnZShbJ3RwbTIuMC10c3MnXSkKKyAgICBAT0VIYXNQYWNrYWdlKFsndHBtMi1hYnJtZCddKQorICAgIEBPRUhhc1BhY2thZ2UoWyd0cG0yLjAtdG9vbHMnXSkKKyAgICBAT0VIYXNQYWNrYWdlKFsnaWJtc3d0cG0yJ10pCisgICAgQE9FVGVzdERlcGVuZHMoWydzc2guU1NIVGVzdC50ZXN0X3NzaCddKQorICAgIGRlZiB0ZXN0X3RwbTJfc2ltKHNlbGYpOgorICAgICAgICBjbWRzID0gWworICAgICAgICAgICAgICAgICd0cG1fc2VydmVyICYnLAorICAgICAgICAgICAgICAgICd0cG0yLWFicm1kIC0tYWxsb3ctcm9vdCAtLXRjdGk9bXNzaW0gJicKKyAgICAgICAgICAgICAgIF0KKworICAgICAgICBmb3IgY21kIGluIGNtZHM6CisgICAgICAgICAgICBzdGF0dXMsIG91dHB1dCA9IHNlbGYudGFyZ2V0LnJ1bihjbWQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0YXR1cywgMCwgbXNnPSdcbicuam9pbihbY21kLCBvdXRwdXRdKSkKKworICAgIEBPRVRlc3REZXBlbmRzKFsndHBtMi5UcG0yVGVzdC50ZXN0X3RwbTJfc2ltJ10pCisgICAgZGVmIHRlc3RfdHBtMihzZWxmKToKKyAgICAgICAgIChzdGF0dXMsIG91dHB1dCkgPSBzZWxmLnRhcmdldC5ydW4oJ3RwbTJfcGNybGlzdCcpCisgICAgICAgICBleHBlY3RlZF9lbmRsaW5lcyA9IFtdCisgICAgICAgICBleHBlY3RlZF9lbmRsaW5lcy5hcHBlbmQoJ3NoYTEgOicpCisgICAgICAgICBleHBlY3RlZF9lbmRsaW5lcy5hcHBlbmQoJyAgMCAgOiAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzJykKKyAgICAgICAgIGV4cGVjdGVkX2VuZGxpbmVzLmFwcGVuZCgnICAxICA6IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnKQorCisgICAgICAgICBzZWxmLmNoZWNrX2VuZGxpbmVzKG91dHB1dCwgZXhwZWN0ZWRfZW5kbGluZXMpCisKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cC9wYWNrYWdlZ3JvdXAtc2VjdXJpdHktdHBtMi5iYiBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cC9wYWNrYWdlZ3JvdXAtc2VjdXJpdHktdHBtMi5iYgppbmRleCBjNGM4ZmIyLi41ZGVkM2EyIDEwMDY0NAotLS0gYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXAvcGFja2FnZWdyb3VwLXNlY3VyaXR5LXRwbTIuYmIKKysrIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3VwL3BhY2thZ2Vncm91cC1zZWN1cml0eS10cG0yLmJiCkBAIC05LDEwICs5LDE1IEBACiAKIFNVTU1BUllfcGFja2FnZWdyb3VwLXNlY3VyaXR5LXRwbTIgPSAiU2VjdXJpdHkgVFBNIDIuMCBzdXBwb3J0IgogUkRFUEVORFNfcGFja2FnZWdyb3VwLXNlY3VyaXR5LXRwbTIgPSAiIFwKLSAgICB0cG0yLjAtdG9vbHMgXAorICAgIHRwbTItdG9vbHMgXAogICAgIHRyb3VzZXJzIFwKICAgICBsaWJ0c3MyIFwKICAgICBsaWJ0c3MyLXRjdGktZGV2aWNlIFwKICAgICBsaWJ0c3MyLXRjdGktbXNzaW0gXAogICAgIHRwbTItYWJybWQgXAorICAgIHRwbTItcGtjczExIFwKKyAgICBjcnlwdHNldHVwLXRwbS1pbmN1YmF0b3IgXAogICAgICIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLXNlY3VyaXR5LXRwbTJfYXBwZW5kX3g4NiA9ICIgdHBtMi10Y3RpLXVlZmkiCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtc2VjdXJpdHktdHBtMl9hcHBlbmRfeDg2LTY0ID0gIiB0cG0yLXRjdGktdWVmaSIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vbGlidHBtL2xpYnRwbV8wLjYuMC5iYiBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vbGlidHBtL2xpYnRwbV8wLjYuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hODgyOTYwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbS9saWJ0cG0vbGlidHBtXzAuNi4wLmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiTElCUE0gLSBTb2Z0d2FyZSBUUE0gTGlicmFyeSIKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZTczZjA3ODZhOTM2ZGEzODE0ODk2ZGYwNmFkMjI1YTkiCisKK1NSQ1JFViA9ICI5ZGM5MTU1NzJiNTFkYjA3MTQ2NDBiYTFkZGY4Y2NhOWMwZjI0ZjA1IgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3N0ZWZhbmJlcmdlci9saWJ0cG1zLmdpdDticmFuY2g9c3RhYmxlLSR7UFZ9IgorCitQRSA9ICIxIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgoraW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZworCitQQUNLQUdFQ09ORklHID89ICJvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1tvcGVuc3NsXSA9ICItLXdpdGgtb3BlbnNzbCwgLS13aXRob3V0LW9wZW5zc2wsIG9wZW5zc2wiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbS9saWJ0cG0vbGlidHBtXzEuMC5iYiBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vbGlidHBtL2xpYnRwbV8xLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE5MzBkN2IuLjAwMDAwMDAKLS0tIGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbS9saWJ0cG0vbGlidHBtXzEuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLVNVTU1BUlkgPSAiTElCUE0gLSBTb2Z0d2FyZSBUUE0gTGlicmFyeSIKLUxJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZTczZjA3ODZhOTM2ZGEzODE0ODk2ZGYwNmFkMjI1YTkiCi0KLVNSQ1JFViA9ICI0MTExYmQxYmNmNzIxZTZlN2I1ZjExZWQ5YzJiOTMwODM2NzdhYTI1IgotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3N0ZWZhbmJlcmdlci9saWJ0cG1zLmdpdCIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcKLQotUEFDS0FHRUNPTkZJRyA/PSAib3BlbnNzbCIKLVBBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS13aXRoLW9wZW5zc2wsIC0td2l0aG91dC1vcGVuc3NsLCBvcGVuc3NsIgotCi1QViA9ICIxLjArZ2l0JHtTUkNQVn0iCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbS9zd3RwbS9zd3RwbV8wLjEuMC5iYiBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vc3d0cG0vc3d0cG1fMC4xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDJkZThiMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vc3d0cG0vc3d0cG1fMC4xLjAuYmIKQEAgLTAsMCArMSw1MSBAQAorU1VNTUFSWSA9ICJTV1RQTSAtIFNvZnR3YXJlIFRQTSBFbXVsYXRvciIKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZmU4MDkyYzgzMmI3MWVmMjBkZmU0YzZkM2RlY2IzYTgiCitTRUNUSU9OID0gImFwcHMiCisKK0RFUEVORFMgPSAibGlidGFzbjEgZXhwZWN0IHNvY2F0IGdsaWItMi4wIG5ldC10b29scy1uYXRpdmUgbGlidHBtIGxpYnRwbS1uYXRpdmUiCisKKyMgY29uZmlndXJlIGNoZWNrcyBmb3IgdGhlIHRvb2xzIGFscmVhZHkgZHVyaW5nIGNvbXBpbGF0aW9uIGFuZAorIyB0aGVuIHN3dHBtX3NldHVwIG5lZWRzIHRoZW0gYXQgcnVudGltZQorREVQRU5EUyArPSAidHBtLXRvb2xzLW5hdGl2ZSBleHBlY3QtbmF0aXZlIHNvY2F0LW5hdGl2ZSIKKworU1JDUkVWID0gImQ4MDNkODQ1NzVhYjNlNWRhYzMxNmJmODYzYzdmNTY5YTI3ZWEzNWYiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vc3RlZmFuYmVyZ2VyL3N3dHBtLmdpdDticmFuY2g9c3RhYmxlLSR7UFZ9IFwKKyAgICAgICAgICAgZmlsZTovL2ZpeF9mY250bF9oLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2lvY3RsX2gucGF0Y2ggXAorICAgICAgICAgICAiCitQRSA9ICIxIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKK1BBUkFMTEVMX01BS0UgPSAiIgorCitUU1NfVVNFUj0idHNzIgorVFNTX0dST1VQPSJ0c3MiCisKK1BBQ0tBR0VDT05GSUcgPz0gIm9wZW5zc2wiCitQQUNLQUdFQ09ORklHICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3NlbGludXgnLCAnc2VsaW51eCcsICcnLCBkKX0iCitQQUNLQUdFQ09ORklHICs9ICIke0BiYi51dGlscy5jb250YWlucygnQkJGSUxFX0NPTExFQ1RJT05TJywgJ2ZpbGVzeXN0ZW1zLWxheWVyJywgJ2N1c2UnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1tvcGVuc3NsXSA9ICItLXdpdGgtb3BlbnNzbCwgLS13aXRob3V0LW9wZW5zc2wsIG9wZW5zc2wiCitQQUNLQUdFQ09ORklHW2dudXRsc10gPSAiLS13aXRoLWdudXRscywgLS13aXRob3V0LWdudXRscywgZ251dGxzIgorUEFDS0FHRUNPTkZJR1tzZWxpbnV4XSA9ICItLXdpdGgtc2VsaW51eCwgLS13aXRob3V0LXNlbGludXgsIGxpYnNlbGludXgiCitQQUNLQUdFQ09ORklHW2N1c2VdID0gIi0td2l0aC1jdXNlLCAtLXdpdGhvdXQtY3VzZSwgZnVzZSIKKworRVhUUkFfT0VDT05GICs9ICItLXdpdGgtdHNzLXVzZXI9JHtUU1NfVVNFUn0gLS13aXRoLXRzcy1ncm91cD0ke1RTU19HUk9VUH0iCisKK2V4cG9ydCBTRUFSQ0hfRElSID0gIiR7U1RBR0lOR19MSUJESVJfTkFUSVZFfSIKKworVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSIKK0dST1VQQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtICR7VFNTX1VTRVJ9IgorVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItLXN5c3RlbSAtZyAke1RTU19HUk9VUH0gLS1ob21lLWRpciAgXAorICAgIC0tbm8tY3JlYXRlLWhvbWUgIC0tc2hlbGwgL2Jpbi9mYWxzZSAke0JQTn0iCisKK1BBQ0tBR0VfQkVGT1JFX1BOID0gIiR7UE59LWN1c2UiCitGSUxFU18ke1BOfS1jdXNlID0gIiR7YmluZGlyfS9zd3RwbV9jdXNlIgorCitJTlNBTkVfU0tJUF8ke1BOfSAgICs9ICJkZXYtc28iCisKK1JERVBFTkRTXyR7UE59ID0gImxpYnRwbSBleHBlY3Qgc29jYXQgYmFzaCB0cG0tdG9vbHMiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vc3d0cG0vc3d0cG1fMS4wLmJiIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbS9zd3RwbS9zd3RwbV8xLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNmZTEzOTMuLjAwMDAwMDAKLS0tIGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbS9zd3RwbS9zd3RwbV8xLjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi1TVU1NQVJZID0gIlNXVFBNIC0gU29mdHdhcmUgVFBNIEVtdWxhdG9yIgotTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1mZTgwOTJjODMyYjcxZWYyMGRmZTRjNmQzZGVjYjNhOCIKLVNFQ1RJT04gPSAiYXBwcyIKLQotREVQRU5EUyA9ICJsaWJ0YXNuMSBleHBlY3Qgc29jYXQgZ2xpYi0yLjAgbmV0LXRvb2xzLW5hdGl2ZSBsaWJ0cG0gbGlidHBtLW5hdGl2ZSIKLQotIyBjb25maWd1cmUgY2hlY2tzIGZvciB0aGUgdG9vbHMgYWxyZWFkeSBkdXJpbmcgY29tcGlsYXRpb24gYW5kCi0jIHRoZW4gc3d0cG1fc2V0dXAgbmVlZHMgdGhlbSBhdCBydW50aW1lCi1ERVBFTkRTICs9ICJ0cG0tdG9vbHMtbmF0aXZlIGV4cGVjdC1uYXRpdmUgc29jYXQtbmF0aXZlIgotCi1TUkNSRVYgPSAiOTRiYjlmMmQ3MTZkMDliY2M2Y2QyYTJlMDMzMDE4Zjg1OTIwMDhlNyIKLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9zdGVmYW5iZXJnZXIvc3d0cG0uZ2l0O2JyYW5jaD10cG0yLXByZXZpZXcudjIgXAotICAgICAgICAgICBmaWxlOi8vZml4X2ZjbnRsX2gucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vaW9jdGxfaC5wYXRjaCBcCi0gICAgICAgICAgICIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCi1QQVJBTExFTF9NQUtFID0gIiIKLQotVFNTX1VTRVI9InRzcyIKLVRTU19HUk9VUD0idHNzIgotCi1QQUNLQUdFQ09ORklHID89ICJvcGVuc3NsIGN1c2UiCi1QQUNLQUdFQ09ORklHICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3NlbGludXgnLCAnc2VsaW51eCcsICcnLCBkKX0iCi1QQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC1vcGVuc3NsLCAtLXdpdGhvdXQtb3BlbnNzbCwgb3BlbnNzbCIKLVBBQ0tBR0VDT05GSUdbZ251dGxzXSA9ICItLXdpdGgtZ251dGxzLCAtLXdpdGhvdXQtZ251dGxzLCBnbnV0bHMiCi1QQUNLQUdFQ09ORklHW3NlbGludXhdID0gIi0td2l0aC1zZWxpbnV4LCAtLXdpdGhvdXQtc2VsaW51eCwgbGlic2VsaW51eCIKLVBBQ0tBR0VDT05GSUdbY3VzZV0gPSAiLS13aXRoLWN1c2UsIC0td2l0aG91dC1jdXNlLCBmdXNlIgotCi1FWFRSQV9PRUNPTkYgKz0gIi0td2l0aC10c3MtdXNlcj0ke1RTU19VU0VSfSAtLXdpdGgtdHNzLWdyb3VwPSR7VFNTX0dST1VQfSIKLQotZXhwb3J0IFNFQVJDSF9ESVIgPSAiJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9IgotCi1VU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgotR1JPVVBBRERfUEFSQU1fJHtQTn0gPSAiLS1zeXN0ZW0gJHtUU1NfVVNFUn0iCi1VU0VSQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIC1nICR7VFNTX0dST1VQfSAtLWhvbWUtZGlyICBcCi0gICAgLS1uby1jcmVhdGUtaG9tZSAgLS1zaGVsbCAvYmluL2ZhbHNlICR7QlBOfSIKLQotUkRFUEVORFNfJHtQTn0gPSAibGlidHBtIGV4cGVjdCBzb2NhdCBiYXNoIHRwbS10b29scyIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgotCi1weXRob24oKSB7Ci0gICAgaWYgJ2N1c2UnIGluIGQuZ2V0VmFyKCdQQUNLQUdFQ09ORklHJykgYW5kIFwKLSAgICAgICAgJ2ZpbGVzeXN0ZW1zLWxheWVyJyBub3QgaW4gZC5nZXRWYXIoJ0JCRklMRV9DT0xMRUNUSU9OUycpLnNwbGl0KCk6Ci0gICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBSZWNpcGUoJ0N1c2UgZW5hYmxlZCB3aGljaCByZXF1aXJlcyBtZXRhLWZpbGVzeXN0ZW1zIHRvIGJlIHByZXNlbnQuJykKLX0KZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vdHBtMi1hYnJtZC90cG0yLWFicm1kXzIuMC4yLmJiIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbS90cG0yLWFicm1kL3RwbTItYWJybWRfMi4wLjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYzNDczNzkuLjAwMDAwMDAKLS0tIGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbS90cG0yLWFicm1kL3RwbTItYWJybWRfMi4wLjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi1TVU1NQVJZID0gIlRQTTIgQWNjZXNzIEJyb2tlciAmIFJlc291cmNlIE1hbmFnZXIiCi1ERVNDUklQVElPTiA9ICJUaGlzIGlzIGEgc3lzdGVtIGRhZW1vbiBpbXBsZW1lbnRpbmcgdGhlIFRQTTIgYWNjZXNzIFwKLWJyb2tlciAoVEFCKSAmIFJlc291cmNlIE1hbmFnZXIgKFJNKSBzcGVjIGZyb20gdGhlIFRDRy4gVGhlIGRhZW1vbiAodHBtMi1hYnJtZCkgXAotaXMgaW1wbGVtZW50ZWQgdXNpbmcgR2xpYiBhbmQgdGhlIEdPYmplY3Qgc3lzdGVtLiBJbiB0aGlzIGRvY3VtZW50YXRpb24gYW5kIFwKLWluIHRoZSBjb2RlIHdlIHVzZSBgdHBtMi1hYnJtZGAgYW5kIGB0YWJybWRgIGludGVyY2hhbmdlYWJseS4gXAotIgotU0VDVElPTiA9ICJzZWN1cml0eS90cG0iCi0KLUxJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtTfS9MSUNFTlNFO21kNT01MDBiMmU3NDJiZWZjM2RhMDA2ODRkOGExZDVmZDlkYSIKLQotREVQRU5EUyA9ICJhdXRvY29uZi1hcmNoaXZlIGRidXMgZ2xpYi0yLjAgdHBtMi4wLXRzcyBnbGliLTIuMC1uYXRpdmUgXAotICAgICAgICAgICAgbGlidHNzMiBsaWJ0c3MyLW11IGxpYnRzczItdGN0aS1kZXZpY2UgbGlidHNzMi10Y3RpLW1zc2ltIgotCi0KLVNSQ19VUkkgPSAiXAotICAgIGdpdDovL2dpdGh1Yi5jb20vMDFvcmcvdHBtMi1hYnJtZC5naXQgXAotICAgIGZpbGU6Ly90cG0yLWFicm1kLWluaXQuc2ggXAotICAgIGZpbGU6Ly90cG0yLWFicm1kLmRlZmF1bHQgXAotIgotU1JDUkVWID0gImQwMTIwYWNlNThkOTdiYzk1MjBjMGQ1NTg2NTdlYWNhODdhZTczYjEiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBzeXN0ZW1kIHVwZGF0ZS1yYy5kIHVzZXJhZGQKLQotU1lTVEVNRF9QQUNLQUdFUyArPSAiJHtQTn0iCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAidHBtMi1hYnJtZC5zZXJ2aWNlIgotU1lTVEVNRF9BVVRPX0VOQUJMRV8ke1BOfSA9ICJkaXNhYmxlIgotCi1JTklUU0NSSVBUX05BTUUgPSAiJHtQTn0iCi1JTklUU0NSSVBUX1BBUkFNUyA9ICJzdGFydCA5OSAyIDMgNCA1IC4gc3RvcCAxOSAwIDEgNiAuIgotCi1VU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgotR1JPVVBBRERfUEFSQU1fJHtQTn0gPSAidHNzIgotVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItLXN5c3RlbSAtTSAtZCAvdmFyL2xpYi90cG0gLXMgL2Jpbi9mYWxzZSAtZyB0c3MgdHNzIgotCi1QQUNLQUdFQ09ORklHID89IiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywnc3lzdGVtZCcsICcnLCBkKX0iCi1QQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9LCAtLXdpdGgtc3lzdGVtZHN5c3RlbXVuaXRkaXI9bm8iCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIGluc3RhbGwgLWQgIiR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZCIKLSAgICBpbnN0YWxsIC1tIDA3NTUgIiR7V09SS0RJUn0vdHBtMi1hYnJtZC1pbml0LnNoIiAiJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3RwbTItYWJybWQiCi0KLSAgICBpbnN0YWxsIC1kICIke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0IgotICAgIGluc3RhbGwgLW0gMDY0NCAiJHtXT1JLRElSfS90cG0yLWFicm1kLmRlZmF1bHQiICIke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3RwbTItYWJybWQiCi19Ci0KLUZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vc3lzdGVtZC9zeXN0ZW0tcHJlc2V0IFwKLQkJJHtkYXRhZGlyfS9kYnVzLTEiCi0KLVJERVBFTkRTXyR7UE59ICs9ICJ0cG0yLjAtdHNzIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vdHBtMi4wLXRvb2xzL3RwbTIuMC10b29sc18zLjEuMi5iYiBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vdHBtMi4wLXRvb2xzL3RwbTIuMC10b29sc18zLjEuMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2Y0MGViNy4uMDAwMDAwMAotLS0gYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtL3RwbTIuMC10b29scy90cG0yLjAtdG9vbHNfMy4xLjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi1TVU1NQVJZID0gIlRvb2xzIGZvciBUUE0yLiIKLURFU0NSSVBUSU9OID0gInRwbTIuMC10b29scyIKLUxJQ0VOU0UgPSAiQlNEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9OTFiN2M1NDhkNzNlYTE2NTM3Nzk5ZTgwNjBjZWE4MTkiCi1TRUNUSU9OID0gInRwbSIKLQotREVQRU5EUyA9ICJwa2djb25maWcgdHBtMi4wLXRzcyBvcGVuc3NsIGN1cmwgYXV0b2NvbmYtYXJjaGl2ZSIKLQotU1JDUkVWID0gIjVlMmYxYWFmYzU4ZTYwYzUwNTBmODUxNDdhMTQ5MTQ1NjFmMjhhZDkiCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS8wMW9yZy90cG0yLjAtdG9vbHMuZ2l0O25hbWU9dHBtMi4wLXRvb2xzO2Rlc3RzdWZmaXg9dHBtMi4wLXRvb2xzO2JyYW5jaD0zLlgiCi0KLVMgPSAiJHtXT1JLRElSfS90cG0yLjAtdG9vbHMiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbS90cG0yLjAtdHNzL3RwbTIuMC10c3NfMi4wLjEuYmIgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtL3RwbTIuMC10c3MvdHBtMi4wLXRzc18yLjAuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWQxZmY3Mi4uMDAwMDAwMAotLS0gYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtL3RwbTIuMC10c3MvdHBtMi4wLXRzc18yLjAuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDc0ICswLDAgQEAKLVNVTU1BUlkgPSAiU29mdHdhcmUgc3RhY2sgZm9yIFRQTTIuIgotREVTQ1JJUFRJT04gPSAidHBtMi4wLXRzcyBsaWtlIHdvYWguIgotTElDRU5TRSA9ICJCU0QtMi1DbGF1c2UiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0wYjFkNjMxYzQyMThiNzJmNmIwNWNiNTg2MTM2MDZmNCIKLVNFQ1RJT04gPSAidHBtIgotCi1ERVBFTkRTID0gImF1dG9jb25mLWFyY2hpdmUtbmF0aXZlIGxpYmdjcnlwdCIKLQotU1JDUkVWID0gImRjMzFlOGRjYTlkYmM3N2QxNmU0MTlkYzUxNGNlOGM1MjZjZDMzNTEiCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS90cG0yLXNvZnR3YXJlL3RwbTItdHNzLmdpdDticmFuY2g9Mi4wLngiCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcgc3lzdGVtZAotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1kb19jb25maWd1cmVfcHJlcGVuZCAoKSB7Ci0gICAgICAgLi9ib290c3RyYXAKLX0KLQotSU5IRVJJVCArPSAiZXh0cmF1c2VycyIKLUVYVFJBX1VTRVJTX1BBUkFNUyA9ICJcCi0JdXNlcmFkZCAtcCAnJyB0c3M7IFwKLQlncm91cGFkZCB0c3M7IFwKLQkiCi0KLVBST1ZJREVTID0gIiR7UEFDS0FHRVN9IgotUEFDS0FHRVMgPSAiIFwKLSAgICAke1BOfSBcCi0gICAgJHtQTn0tZGJnIFwKLSAgICAke1BOfS1kb2MgXAotICAgIGxpYnRzczItbXUgXAotICAgIGxpYnRzczItbXUtZGV2IFwKLSAgICBsaWJ0c3MyLW11LXN0YXRpY2RldiBcCi0gICAgbGlidHNzMi10Y3RpLWRldmljZSBcCi0gICAgbGlidHNzMi10Y3RpLWRldmljZS1kZXYgXAotICAgIGxpYnRzczItdGN0aS1kZXZpY2Utc3RhdGljZGV2IFwKLSAgICBsaWJ0c3MyLXRjdGktbXNzaW0gXAotICAgIGxpYnRzczItdGN0aS1tc3NpbS1kZXYgXAotICAgIGxpYnRzczItdGN0aS1tc3NpbS1zdGF0aWNkZXYgXAotICAgIGxpYnRzczIgXAotICAgIGxpYnRzczItZGV2IFwKLSAgICBsaWJ0c3MyLXN0YXRpY2RldiBcCi0iCi0KLUZJTEVTX2xpYnRzczItdGN0aS1kZXZpY2UgPSAiJHtsaWJkaXJ9L2xpYnRzczItdGN0aS1kZXZpY2Uuc28uKiIKLUZJTEVTX2xpYnRzczItdGN0aS1kZXZpY2UtZGV2ID0gIiBcCi0gICAgJHtpbmNsdWRlZGlyfS90c3MyL3RzczJfdGN0aV9kZXZpY2UuaCBcCi0gICAgJHtsaWJkaXJ9L3BrZ2NvbmZpZy90c3MyLXRjdGktZGV2aWNlLnBjIFwKLSAgICAke2xpYmRpcn0vbGlidHNzMi10Y3RpLWRldmljZS5zbyIKLUZJTEVTX2xpYnRzczItdGN0aS1kZXZpY2Utc3RhdGljZGV2ID0gIiR7bGliZGlyfS9saWJ0c3MyLXRjdGktZGV2aWNlLiphIgotCi1GSUxFU19saWJ0c3MyLXRjdGktbXNzaW0gPSAiJHtsaWJkaXJ9L2xpYnRzczItdGN0aS1tc3NpbS5zby4qIgotRklMRVNfbGlidHNzMi10Y3RpLW1zc2ltLWRldiA9ICIgXAotICAgICR7aW5jbHVkZWRpcn0vdHNzMi90c3MyX3RjdGlfbXNzaW0uaCBcCi0gICAgJHtsaWJkaXJ9L3BrZ2NvbmZpZy90c3MyLXRjdGktbXNzaW0ucGMgXAotICAgICR7bGliZGlyfS9saWJ0c3MyLXRjdGktbXNzaW0uc28iCi1GSUxFU19saWJ0c3MyLXRjdGktbXNzaW0tc3RhdGljZGV2ID0gIiR7bGliZGlyfS9saWJ0c3MyLXRjdGktbXNzaW0uKmEiCi0KLUZJTEVTX2xpYnRzczItbXUgPSAiJHtsaWJkaXJ9L2xpYnRzczItbXUuc28uKiIKLUZJTEVTX2xpYnRzczItbXUtZGV2ID0gIiBcCi0gICAgJHtpbmNsdWRlZGlyfS90c3MyL3RzczJfbXUuaCBcCi0gICAgJHtsaWJkaXJ9L3BrZ2NvbmZpZy90c3MyLW11LnBjIFwKLSAgICAke2xpYmRpcn0vbGlidHNzMi1tdS5zbyIKLUZJTEVTX2xpYnRzczItbXUtc3RhdGljZGV2ID0gIiR7bGliZGlyfS9saWJ0c3MyLW11LiphIgotCi1GSUxFU19saWJ0c3MyID0gIiR7bGliZGlyfS9saWJ0c3MyKnNvLioiCi1GSUxFU19saWJ0c3MyLWRldiA9ICIgXAotICAgICR7aW5jbHVkZWRpcn0gXAotICAgICR7bGliZGlyfS9wa2djb25maWcgXAotICAgICR7bGliZGlyfS9saWJ0c3MyKnNvIgotRklMRVNfbGlidHNzMi1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9L2xpYnRzcyphIgotCi1GSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vdWRldiIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vdHBtMnNpbXVsYXRvci90cG0yc2ltdWxhdG9yXzEzOC5iYiBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vdHBtMnNpbXVsYXRvci90cG0yc2ltdWxhdG9yXzEzOC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODY2NzkxYy4uMDAwMDAwMAotLS0gYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtL3RwbTJzaW11bGF0b3IvdHBtMnNpbXVsYXRvcl8xMzguYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi1TVU1NQVJZID0gIlRQTSAyLjAgU2ltdWxhdG9yIEV4dHJhY3Rpb24gU2NyaXB0IgotTElDRU5TRSA9ICJCU0QtMi1DbGF1c2UiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0xNDE1ZjdiZTI4NDU0MGI4MWQ5ZDI4YzY3YzFhNmI4YiIKLQotREVQRU5EUyA9ICJweXRob24iCi0KLVNSQ1JFViA9ICJlNDUzMjRlYmEyNjg3MjNkMzk4NTYxMTFlNzkzM2M1Yzc2MjM4NDgxIgotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3N0d2FnbnIvdHBtMnNpbXVsYXRvci5naXQiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi1PRUNNQUtFX1NPVVJDRVBBVEggPSAiJHtTfS9jbWFrZSIKLQotaW5oZXJpdCBuYXRpdmUgbGliX3BhY2thZ2UgY21ha2UKLQotRVhUUkFfT0VDTUFLRSA9ICIgXAotCS1EQ01BS0VfQlVJTERfVFlQRT1EZWJ1ZyBcCi0JLURTUEVDX1ZFUlNJT049MTM4IFwKLSIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgewotCXNlZCAtaSAncy9eU0VUID0gRmFsc2UvU0VUID0gVHJ1ZS8nICR7U30vc2NyaXB0cy9zZXR0aW5ncy5weSAKLX0KZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL2NyeXB0c2V0dXAtdHBtLWluY3ViYXRvci9jcnlwdHNldHVwLXRwbS1pbmN1YmF0b3JfMC45LjkuYmIgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi9jcnlwdHNldHVwLXRwbS1pbmN1YmF0b3IvY3J5cHRzZXR1cC10cG0taW5jdWJhdG9yXzAuOS45LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiNTA0NDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi9jcnlwdHNldHVwLXRwbS1pbmN1YmF0b3IvY3J5cHRzZXR1cC10cG0taW5jdWJhdG9yXzAuOS45LmJiCkBAIC0wLDAgKzEsNDEgQEAKK1NVTU1BUlkgPSAiQW4gZXh0ZW5zaW9uIHRvIGNyeXB0c2V0dXAvTFVLUyB0aGF0IGVuYWJsZXMgdXNlIG9mIHRoZSBUUE0gMi4wIHZpYSB0cG0yLXRzcyIKK0RFU0NSSVBUSU9OID0gIkNyeXB0c2V0dXAgaXMgdXRpbGl0eSB1c2VkIHRvIGNvbnZlbmllbnRseSBzZXR1cCBkaXNrIGVuY3J5cHRpb24gYmFzZWQgb24gRE1DcnlwdCBrZXJuZWwgbW9kdWxlLiIKKworU0VDVElPTiA9ICJzZWN1cml0eS90cG0iCitMSUNFTlNFID0gIkxHUEwtMi4xIHwgR1BMLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTMyMTA3ZGQyODNiMWRmZWI2NmM5YjNlNmJlMzEyMzI2IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEdQTDttZDU9MTk2MDUxNTc4ODEwMGNlNWY5Yzk4ZWE3OGE2NWRjNTIgXAorICAgICAgICAgICAgICAgICAgICAiCisKK0RFUEVORFMgPSAiYXV0b2NvbmYtYXJjaGl2ZSBwa2djb25maWcgZ2V0dGV4dCBsaWJ0c3MyLWRldiBsaWJkZXZtYXBwZXIgcG9wdCBsaWJnY3J5cHQganNvbi1jIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vQW5kcmVhc0Z1Y2hzU0lUL2NyeXB0c2V0dXAtdHBtLWluY3ViYXRvci5naXQ7YnJhbmNoPWx1a3MydHBtIFwKKyAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZV9maXgucGF0Y2ggIgorCitTUkNSRVYgPSAiMTVjMjgzMTk1ZjE5ZjFkOTgwZTM5YmE0NTQ0ODY4M2Q1ZTM4MzE3OSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdldHRleHQKKworUEFDS0FHRUNPTkZJRyA/Pz0gIm9wZW5zc2wiCitQQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC1jcnlwdG9fYmFja2VuZD1vcGVuc3NsLCxvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1tnY3J5cHRdID0gIi0td2l0aC1jcnlwdG9fYmFja2VuZD1nY3J5cHQsLGxpYmdjcnlwdCIKKworRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLXN0YXRpYyIKKworUlJFQ09NTUVORFNfJHtQTn0gPSAia2VybmVsLW1vZHVsZS1hZXMtZ2VuZXJpYyBcCisgICAgICAgICAgICAgICAgICAgICBrZXJuZWwtbW9kdWxlLWRtLWNyeXB0IFwKKyAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUtbWQ1IFwKKyAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUtY2JjIFwKKyAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUtc2hhMjU2LWdlbmVyaWMgXAorICAgICAgICAgICAgICAgICAgICAga2VybmVsLW1vZHVsZS14dHMgXAorICAgICAgICAgICAgICAgICAgICAiCisKK1JERVBFTkRTXyR7UE59ICs9ICJsdm0yIgorUlJFQ09NTUVORFNfJHtQTn0gKz0gImx2bTItdWRldnJ1bGVzIgorCitSUkVQTEFDRVNfJHtQTn0gPSAiY3J5cHRzZXR1cCIKK1JDT05GTElDVFNfJHtQTn0gID0iY3J5cHRzZXR1cCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvY3J5cHRzZXR1cC10cG0taW5jdWJhdG9yL2ZpbGVzL2NvbmZpZ3VyZV9maXgucGF0Y2ggYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi9jcnlwdHNldHVwLXRwbS1pbmN1YmF0b3IvZmlsZXMvY29uZmlndXJlX2ZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YzdiNmRhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvY3J5cHRzZXR1cC10cG0taW5jdWJhdG9yL2ZpbGVzL2NvbmZpZ3VyZV9maXgucGF0Y2gKQEAgLTAsMCArMSwxNiBAQAorVXBzdHJlYW0tU3RhdHVzOiBPRSBzcGVjaWZpYworU2lnbmVkLW9mZi1ieTogQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KKworSW5kZXg6IGdpdC9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnaXQub3JpZy9jb25maWd1cmUuYWMKKysrKyBnaXQvY29uZmlndXJlLmFjCitAQCAtMTYsNyArMTYsNyBAQCBBQ19DT05GSUdfSEVBREVSUyhbY29uZmlnLmg6Y29uZmlnLmguaW5dCisgCisgIyBGb3Igb2xkIGF1dG9tYWtlIHVzZSB0aGlzCisgI0FNX0lOSVRfQVVUT01BS0UoZGlzdC14eiBzdWJkaXItb2JqZWN0cykKKy1BTV9JTklUX0FVVE9NQUtFKFtkaXN0LXh6IDEuMTIgc2VyaWFsLXRlc3RzIHN1YmRpci1vYmplY3RzXSkKKytBTV9JTklUX0FVVE9NQUtFKFtkaXN0LXh6IDEuMTIgc2VyaWFsLXRlc3RzIHN1YmRpci1vYmplY3RzIGZvcmVpZ25dKQorIAorIGlmIHRlc3QgIngkcHJlZml4IiA9ICJ4Tk9ORSI7IHRoZW4KKyAJc3lzY29uZmRpcj0vZXRjCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi9pYm1zd3RwbTIvaWJtc3d0cG0yXzEzMzIuYmIgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi9pYm1zd3RwbTIvaWJtc3d0cG0yXzEzMzIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTYwNjhlNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL2libXN3dHBtMi9pYm1zd3RwbTJfMTMzMi5iYgpAQCAtMCwwICsxLDI0IEBACitTVU1NQVJZID0gIklCTSdzIFNvZnR3YXJlIFRQTSAyLjAiCisKK0xJQ0VOU0UgPSAiQlNEIgorU0VDVElPTiA9ICJzZWN1cnR5L3RwbSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLy4uL0xJQ0VOU0U7bWQ1PTFlMDIzZjYxNDU0YWM4MjhiNGFhMWJjNDI5M2Y3ZDVmIgorCitTUkNfVVJJID0gImh0dHBzOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2libXN3dHBtMi9maWxlcy9pYm10cG0xMzMyLnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICIwYWIzNGE2NTViNGUwOTgxMmQ3YWRhMTk3NDZhZjRmOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ZTgxOTNhZjNkMTFkOWZmNmE5NTFkZGE4Y2QxZjQ2OTNjYjAxOTM0YThhZDc4NzZiODRlOTJjNjE0OGFiMGZkIgorCitERVBFTkRTID0gIm9wZW5zc2wiCisKK1MgPSAiJHtXT1JLRElSfS9zcmMiCisKK0xERkxBR1MgPSAiJHtMREZBTEdTfSIKKworZG9fY29tcGlsZSAoKSB7CisgICBtYWtlIENDPScke0NDfScKK30KKworZG9faW5zdGFsbCAoKSB7CisgICBpbnN0YWxsIC1kICR7RH0vJHtiaW5kaXJ9CisgICBpbnN0YWxsIC1tIDA3NTUgdHBtX3NlcnZlciAgJHtEfS8ke2JpbmRpcn0KK30KZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vdHBtMi1hYnJtZC9maWxlcy90cG0yLWFicm1kLWluaXQuc2ggYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLWFicm1kL2ZpbGVzL3RwbTItYWJybWQtaW5pdC5zaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbS90cG0yLWFicm1kL2ZpbGVzL3RwbTItYWJybWQtaW5pdC5zaApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi1hYnJtZC9maWxlcy90cG0yLWFicm1kLWluaXQuc2gKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vdHBtMi1hYnJtZC9maWxlcy90cG0yLWFicm1kLmRlZmF1bHQgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLWFicm1kL2ZpbGVzL3RwbTItYWJybWQuZGVmYXVsdApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbS90cG0yLWFicm1kL2ZpbGVzL3RwbTItYWJybWQuZGVmYXVsdApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi1hYnJtZC9maWxlcy90cG0yLWFicm1kLmRlZmF1bHQKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItYWJybWQvdHBtMi1hYnJtZF8yLjEuMS5iYiBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItYWJybWQvdHBtMi1hYnJtZF8yLjEuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNGM2NjgyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi1hYnJtZC90cG0yLWFicm1kXzIuMS4xLmJiCkBAIC0wLDAgKzEsNTUgQEAKK1NVTU1BUlkgPSAiVFBNMiBBY2Nlc3MgQnJva2VyICYgUmVzb3VyY2UgTWFuYWdlciIKK0RFU0NSSVBUSU9OID0gIlRoaXMgaXMgYSBzeXN0ZW0gZGFlbW9uIGltcGxlbWVudGluZyB0aGUgVFBNMiBhY2Nlc3MgXAorYnJva2VyIChUQUIpICYgUmVzb3VyY2UgTWFuYWdlciAoUk0pIHNwZWMgZnJvbSB0aGUgVENHLiBUaGUgZGFlbW9uICh0cG0yLWFicm1kKSBcCitpcyBpbXBsZW1lbnRlZCB1c2luZyBHbGliIGFuZCB0aGUgR09iamVjdCBzeXN0ZW0uIEluIHRoaXMgZG9jdW1lbnRhdGlvbiBhbmQgXAoraW4gdGhlIGNvZGUgd2UgdXNlIGB0cG0yLWFicm1kYCBhbmQgYHRhYnJtZGAgaW50ZXJjaGFuZ2VhYmx5LiBcCisiCitTRUNUSU9OID0gInNlY3VyaXR5L3RwbSIKKworTElDRU5TRSA9ICJCU0QtMi1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1N9L0xJQ0VOU0U7bWQ1PTUwMGIyZTc0MmJlZmMzZGEwMDY4NGQ4YTFkNWZkOWRhIgorCitERVBFTkRTID0gImF1dG9jb25mLWFyY2hpdmUgZGJ1cyBnbGliLTIuMCB0cG0yLXRzcyBnbGliLTIuMC1uYXRpdmUgXAorICAgICAgICAgICAgbGlidHNzMiBsaWJ0c3MyLW11IGxpYnRzczItdGN0aS1kZXZpY2UgbGlidHNzMi10Y3RpLW1zc2ltIgorCisKK1NSQ19VUkkgPSAiXAorICAgIGdpdDovL2dpdGh1Yi5jb20vdHBtMi1zb2Z0d2FyZS90cG0yLWFicm1kLmdpdCBcCisgICAgZmlsZTovL3RwbTItYWJybWQtaW5pdC5zaCBcCisgICAgZmlsZTovL3RwbTItYWJybWQuZGVmYXVsdCBcCisiCisKK1NSQ1JFViA9ICIwNmQ5ZDQzM2JhMjcxNTk2ODcyNTU0MDZiYWEzNzk0MGRiMTU0NjViIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgc3lzdGVtZCB1cGRhdGUtcmMuZCB1c2VyYWRkCisKK1NZU1RFTURfUEFDS0FHRVMgKz0gIiR7UE59IgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInRwbTItYWJybWQuc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEVfJHtQTn0gPSAiZGlzYWJsZSIKKworSU5JVFNDUklQVF9OQU1FID0gIiR7UE59IgorSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgOTkgMiAzIDQgNSAuIHN0b3AgMTkgMCAxIDYgLiIKKworVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSIKK0dST1VQQUREX1BBUkFNXyR7UE59ID0gInRzcyIKK1VTRVJBRERfUEFSQU1fJHtQTn0gPSAiLS1zeXN0ZW0gLU0gLWQgL3Zhci9saWIvdHBtIC1zIC9iaW4vZmFsc2UgLWcgdHNzIHRzcyIKKworUEFDS0FHRUNPTkZJRyA/PSIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3N5c3RlbWQnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLXdpdGgtc3lzdGVtZHN5c3RlbXVuaXRkaXI9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfSwgLS13aXRoLXN5c3RlbWRzeXN0ZW11bml0ZGlyPW5vIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICIke0R9JHtzeXNjb25mZGlyfS9pbml0LmQiCisgICAgaW5zdGFsbCAtbSAwNzU1ICIke1dPUktESVJ9L3RwbTItYWJybWQtaW5pdC5zaCIgIiR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC90cG0yLWFicm1kIgorCisgICAgaW5zdGFsbCAtZCAiJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdCIKKyAgICBpbnN0YWxsIC1tIDA2NDQgIiR7V09SS0RJUn0vdHBtMi1hYnJtZC5kZWZhdWx0IiAiJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC90cG0yLWFicm1kIgorfQorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3N5c3RlbWQvc3lzdGVtLXByZXNldCBcCisJCSR7ZGF0YWRpcn0vZGJ1cy0xIgorCitSREVQRU5EU18ke1BOfSArPSAidHBtMi10c3MiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi1wa2NzMTEvZmlsZXMvYm9vdHN0cmFwX2ZpeHVwLnBhdGNoIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi1wa2NzMTEvZmlsZXMvYm9vdHN0cmFwX2ZpeHVwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzOGUyMzcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLXBrY3MxMS9maWxlcy9ib290c3RyYXBfZml4dXAucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorVXBzdHJlYW0tU3RhdHVzOiBPRSBzcGVjaWZpYworU2lnbmVkLW9mZi1ieTogQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KKworSW5kZXg6IGdpdC9ib290c3RyYXAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnaXQub3JpZy9ib290c3RyYXAKKysrKyBnaXQvYm9vdHN0cmFwCitAQCAtMjcsNCArMjcsMyBAQCBlY2hvICJHZW5lcmF0aW5nIGZpbGUgbGlzdHM6ICR7VkFSU19GSUxFCisgKSA+ICR7VkFSU19GSUxFfQorIAorIG1rZGlyIC1wIG00CistJHtBVVRPUkVDT05GfSAtLWluc3RhbGwgLS1zeW0gJEAKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItcGtjczExL3RwbTItcGtjczExXzAuOS45LmJiIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi1wa2NzMTEvdHBtMi1wa2NzMTFfMC45LjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTAzMWU2MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItcGtjczExL3RwbTItcGtjczExXzAuOS45LmJiCkBAIC0wLDAgKzEsMjEgQEAKK1NVTU1BUlkgPSAiQSBQS0NTIzExIGludGVyZmFjZSBmb3IgVFBNMiBoYXJkd2FyZSIKK0RFU0NSSVBUSU9OID0gIlBLQ1MgIzExIGlzIGEgUHVibGljLUtleSBDcnlwdG9ncmFwaHkgU3RhbmRhcmQgdGhhdCBkZWZpbmVzIGEgc3RhbmRhcmQgbWV0aG9kIHRvIGFjY2VzcyBjcnlwdG9ncmFwaGljIHNlcnZpY2VzIGZyb20gdG9rZW5zLyBkZXZpY2VzIHN1Y2ggYXMgaGFyZHdhcmUgc2VjdXJpdHkgbW9kdWxlcyAoSFNNKSwgc21hcnQgY2FyZHMsIGV0Yy4gSW4gdGhpcyBwcm9qZWN0IHdlIGludGVuZCB0byB1c2UgYSBUUE0yIGRldmljZSBhcyB0aGUgY3J5cHRvZ3JhcGhpYyB0b2tlbi4iCitTRUNUSU9OID0gInNlY3VyaXR5L3RwbSIKK0xJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9Yjc0OGFmNDFlZjEzMDBjOThlMTA1YjNiN2VjNGVjYzEiCisKK0RFUEVORFMgPSAiYXV0b2NvbmYtYXJjaGl2ZSBwa2djb25maWcgZHN0YXQgc3FsaXRlMyBvcGVuc3NsIGxpYnRzczItZGV2IHRwbTItdG9vbHMiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS90cG0yLXNvZnR3YXJlL3RwbTItcGtjczExLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly9ib290c3RyYXBfZml4dXAucGF0Y2ggXAorICAgICAgICAgICIKKworU1JDUkVWID0gIjMxMDdkODliNDA2ZWNkOWMwMDc4ODQ2MTM3MzNjOWEzNDRlZjZkMzkiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgICR7U30vYm9vdHN0cmFwCit9CmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLXRjdGktdWVmaS9maWxlcy9jb25maWd1cmVfb2VfZml4dXAucGF0Y2ggYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLXRjdGktdWVmaS9maWxlcy9jb25maWd1cmVfb2VfZml4dXAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGEyMTZjZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItdGN0aS11ZWZpL2ZpbGVzL2NvbmZpZ3VyZV9vZV9maXh1cC5wYXRjaApAQCAtMCwwICsxLDI3IEBACitVcHN0cmVhbS1TdGF0dXM6IE9FIHNwZWNpZmljCitTaWduZWQtb2ZmLWJ5OiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgorCitJbmRleDogZ2l0L2NvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdpdC5vcmlnL2NvbmZpZ3VyZS5hYworKysrIGdpdC9jb25maWd1cmUuYWMKK0BAIC04NCw5ICs4NCw2IEBAIEFDX0FSR19XSVRIKFtlZmktbGRzXSwKKyAgICAgICAgICAgICBBU19IRUxQX1NUUklORyhbLS13aXRoLWVmaS1sZHM9TERTX1BBVEhdLFtQYXRoIHRvIGdudS1lZmkgbGRzIGZpbGUuXSksCisgICAgICAgICAgICAgW10sCisgICAgICAgICAgICAgW3dpdGhfZWZpX2xkcz0iL3Vzci9saWIvZWxmXyR7QVJDSH1fZWZpLmxkcyJdKQorLUFDX0NIRUNLX0ZJTEUoWyIke3dpdGhfZWZpX2xkc30iXSwKKy0gICAgICAgICAgICAgIFtdLAorLSAgICAgICAgICAgICAgW0FDX01TR19FUlJPUihbTWlzc2luZyBmaWxlOiAke3dpdGhfZWZpX2xkc30uXSldKQorIEVYVFJBX0xERkxBR1M9Ii1MIC91c3IvbGliIC1MIC91c3IvbGliNjQgLVdsLC0tc2NyaXB0PSR7d2l0aF9lZmlfbGRzfSIKKyAKKyAjIHBhdGggdG8gb2JqZWN0IGZpbGUgZnJvbSBnbnUtZWZpCitAQCAtOTQsOSArOTEsNiBAQCBBQ19BUkdfV0lUSChbZWZpLWNydDBdLAorICAgICAgICAgICAgIEFTX0hFTFBfU1RSSU5HKFstLXdpdGgtZWZpLWNydDA9T0JKX1BBVEhdLFtQYXRoIHRvIGdudS1lZmkgY3J0MCBvYmplY3QgZmlsZS5dKSwKKyAgICAgICAgICAgICBbXSwKKyAgICAgICAgICAgICBbd2l0aF9lZmlfY3J0MD0iL3Vzci9saWIvY3J0MC1lZmktJHtBUkNIfS5vIl0pCistQUNfQ0hFQ0tfRklMRShbIiR7d2l0aF9lZmlfY3J0MH0iXSwKKy0gICAgICAgICAgICAgIFtdLAorLSAgICAgICAgICAgICAgW0FDX01TR19FUlJPUihbTWlzc2luZyAke3dpdGhfZWZpX2NydDB9IGZpbGUuXSldKQorIEVYVFJBX0xETElCUz0iJHt3aXRoX2VmaV9jcnQwfSIKKyAKKyAjIGNoZWNrIGZvciBlZmkgYW5kIGdudWVmaSBsaWJyYXJpZXMKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItdGN0aS11ZWZpL3RwbTItdGN0aS11ZWZpXzAuOS45LmJiIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi10Y3RpLXVlZmkvdHBtMi10Y3RpLXVlZmlfMC45LjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODE1NjkxZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItdGN0aS11ZWZpL3RwbTItdGN0aS11ZWZpXzAuOS45LmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiVENUSSBtb2R1bGUgZm9yIHVzZSB3aXRoIFRTUzIgbGlicmFyaWVzIGluIFVFRkkgZW52aXJvbm1lbnQiCitTRUNUSU9OID0gInNlY3VyaXR5L3RwbSIKK0xJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NTAwYjJlNzQyYmVmYzNkYTAwNjg0ZDhhMWQ1ZmQ5ZGEiCitERVBFTkRTID0gImxpYnRzczItZGV2IGdudS1lZmktbmF0aXZlIGdudS1lZmkgcGtnY29uZmlnIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vdHBtMi1zb2Z0d2FyZS90cG0yLXRjdGktdWVmaS5naXQgXAorICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlX29lX2ZpeHVwLnBhdGNoIFwKKyAgICAgICAgICAiCitTUkNSRVYgPSAiMTMxODg5ZDEyZDJjN2Q4OTc0NzExZDJlYmQxMDMyY2QzMjU3N2I3ZiIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0NPTVBBVElCTEVfSE9TVCA9ICIoaS44Nnx4ODZfNjQpLiotbGludXgiCitFWFRSQV9PRUNPTkZfYXBwZW5kID0gIiAtLXdpdGgtZWZpLWluY2x1ZGVkaXI9JHtTVEFHSU5HX0lOQ0RJUn0vZWZpIC0td2l0aC1lZmktbGRzPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS8iCitSREVQRU5EU18ke1BOfSA9ICJnbnUtZWZpIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi10b29scy90cG0yLXRvb2xzXzMuMS4zLmJiIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi10b29scy90cG0yLXRvb2xzXzMuMS4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmMWY1YzYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLXRvb2xzL3RwbTItdG9vbHNfMy4xLjMuYmIKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJUb29scyBmb3IgVFBNMi4iCitERVNDUklQVElPTiA9ICJ0cG0yLXRvb2xzIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT05MWI3YzU0OGQ3M2VhMTY1Mzc3OTllODA2MGNlYTgxOSIKK1NFQ1RJT04gPSAidHBtIgorCitERVBFTkRTID0gInBrZ2NvbmZpZyB0cG0yLXRzcyBvcGVuc3NsIGN1cmwgYXV0b2NvbmYtYXJjaGl2ZSIKKworU1JDUkVWID0gIjc0YmEwNjVlNTkxNGJjNWQ3MTNjYTM3MDlkNjJhNTc1MWIwOTczNjkiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS90cG0yLXNvZnR3YXJlL3RwbTItdG9vbHMuZ2l0O2JyYW5jaD0zLlgiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi10b3RwL2ZpbGVzL2xpdHBtMl90b3RwX2J1aWxkX2ZpeC5wYXRjaCBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItdG90cC9maWxlcy9saXRwbTJfdG90cF9idWlsZF9maXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzE0NzA1NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItdG90cC9maWxlcy9saXRwbTJfdG90cF9idWlsZF9maXgucGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorQzk5IGZpeGVzOgorCisgc3JjL2xpYnRwbTItdG90cC5jOjE3MjoxMzogZXJyb3I6IGZvcm1hdCAnJWxpJyBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUgJ2xvbmcgaW50JywgYnV0IGFyZ3VtZW50IDMgaGFzIHR5cGUgJ3NpemVfdCcge2FrYSAndW5zaWduZWQgaW50J30gWy1XZXJyb3I9Zm9ybWF0PV0KK3wgICAgICAgICAgZGJnKCJDYWxsaW5nIEVzeXNfR2V0UmFuZG9tIGZvciAlbGkgYnl0ZXMiLCBTRUNSRVRMRU4gLSAqc2VjcmV0X3NpemUpOworCitzcmMvdHBtMi10b3RwLmM6MzQzOjIzOiBlcnJvcjogZm9ybWF0ICclbGQnIGV4cGVjdHMgYXJndW1lbnQgb2YgdHlwZSAnbG9uZyBpbnQnLCBidXQgYXJndW1lbnQgMyBoYXMgdHlwZSAndWludDY0X3QnIHtha2EgJ2xvbmcgbG9uZyB1bnNpZ25lZCBpbnQnfSBbLVdlcnJvcj1mb3JtYXQ9XQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CisKK0luZGV4OiBnaXQvc3JjL2xpYnRwbTItdG90cC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2l0Lm9yaWcvc3JjL2xpYnRwbTItdG90cC5jCisrKysgZ2l0L3NyYy9saWJ0cG0yLXRvdHAuYworQEAgLTE2OSw3ICsxNjksNyBAQCB0cG0ydG90cF9nZW5lcmF0ZUtleSh1aW50MzJfdCBwY3JzLCB1aW50CisgICAgIGlmIChyYyAhPSBUUE0yX1JDX0lOSVRJQUxJWkUpIGNoa3JjKHJjLCBnb3RvIGVycm9yKTsKKyAKKyAgICAgd2hpbGUgKCpzZWNyZXRfc2l6ZSA8IFNFQ1JFVExFTikgeworLSAgICAgICAgZGJnKCJDYWxsaW5nIEVzeXNfR2V0UmFuZG9tIGZvciAlbGkgYnl0ZXMiLCBTRUNSRVRMRU4gLSAqc2VjcmV0X3NpemUpOworKyAgICAgICAgZGJnKCJDYWxsaW5nIEVzeXNfR2V0UmFuZG9tIGZvciAlbGkgYnl0ZXMiLCAobG9uZyBpbnQpIChTRUNSRVRMRU4gLSAqc2VjcmV0X3NpemUpKTsKKyAgICAgICAgIHJjID0gRXN5c19HZXRSYW5kb20oY3R4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFU1lTX1RSX05PTkUsIEVTWVNfVFJfTk9ORSwgRVNZU19UUl9OT05FLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTRUNSRVRMRU4gLSAqc2VjcmV0X3NpemUsICZ0KTsKK0luZGV4OiBnaXQvc3JjL3RwbTItdG90cC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2l0Lm9yaWcvc3JjL3RwbTItdG90cC5jCisrKysgZ2l0L3NyYy90cG0yLXRvdHAuYworQEAgLTM0MCw3ICszNDAsNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWx0aW1lICgmbm93KSk7CisgICAgICAgICAgICAgY2hrcmMocmMsIGV4aXQoMSkpOworICAgICAgICAgfQorLSAgICAgICAgcHJpbnRmKCIlcyUwNmxkIiwgdGltZXN0ciwgdG90cCk7CisrICAgICAgICBwcmludGYoIiVzJTA2bGQiLCB0aW1lc3RyLCAobG9uZyBpbnQpdG90cCk7CisgICAgICAgICBicmVhazsKKyAgICAgY2FzZSBDTURfUkVTRUFMOgorICAgICAgICAgcmMgPSB0cG0ydG90cF9sb2FkS2V5X252KG9wdC5udmluZGV4LCAma2V5QmxvYiwgJmtleUJsb2Jfc2l6ZSk7CmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLXRvdHAvdHBtMi10b3RwXzAuOS45LmJiIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi10b3RwL3RwbTItdG90cF8wLjkuOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYzk0YWI3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi10b3RwL3RwbTItdG90cF8wLjkuOS5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIlRoZSB0cG0yLXRzcy1lbmdpbmUgcHJvamVjdCBpbXBsZW1lbnRzIGEgY3J5cHRvZ3JhcGhpYyBlbmdpbmUgZm9yIE9wZW5TU0wuIiAKK0RFU0NSSVBUSU9OID0gIlRoZSB0cG0yLXRzcy1lbmdpbmUgcHJvamVjdCBpbXBsZW1lbnRzIGEgY3J5cHRvZ3JhcGhpYyBlbmdpbmUgZm9yIE9wZW5TU0wgZm9yIFRydXN0ZWQgUGxhdGZvcm0gTW9kdWxlIChUUE0gMi4wKSB1c2luZyB0aGUgdHBtMi10c3Mgc29mdHdhcmUgc3RhY2sgdGhhdCBmb2xsb3dzIHRoZSBUcnVzdGVkIENvbXB1dGluZyBHcm91cHMgKFRDRykgVFBNIFNvZnR3YXJlIFN0YWNrIChUU1MgMi4wKS4gSXQgdXNlcyB0aGUgRW5oYW5jZWQgU3lzdGVtIEFQSSAoRVNBUEkpIGludGVyZmFjZSBvZiB0aGUgVFNTIDIuMCBmb3IgZG93bndhcmRzIGNvbW11bmljYXRpb24uIEl0IHN1cHBvcnRzIFJTQSBkZWNyeXB0aW9uIGFuZCBzaWduYXR1cmVzIGFzIHdlbGwgYXMgRUNEU0Egc2lnbmF0dXJlcy4iCisKK0xJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZWQyMzgzM2U5M2M5NTE3M2M4ZDg5MTM3NDVlNGI0ZTEiCisKK1NFQ1RJT04gPSAic2VjdXJpdHkvdHBtIgorCitERVBFTkRTID0gImF1dG9jb25mLWFyY2hpdmUgbGlidHNzMi1kZXYgcXJlbmNvZGUiCisKK1NSQ1JFViA9ICI0NGZjYjY4MTlmNzkzMDJkNWEwODhiM2RlZjY0ODYxNmUzNTUxZDRhIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3RwbTItc29mdHdhcmUvdHBtMi10b3RwLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly9saXRwbTJfdG90cF9idWlsZF9maXgucGF0Y2ggIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLXRzcy1lbmdpbmUvdHBtMi10c3MtZW5naW5lXzAuOS45LmJiIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi10c3MtZW5naW5lL3RwbTItdHNzLWVuZ2luZV8wLjkuOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNjUzMGJlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi10c3MtZW5naW5lL3RwbTItdHNzLWVuZ2luZV8wLjkuOS5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gIlRoZSB0cG0yLXRzcy1lbmdpbmUgcHJvamVjdCBpbXBsZW1lbnRzIGEgY3J5cHRvZ3JhcGhpYyBlbmdpbmUgZm9yIE9wZW5TU0wuIiAKK0RFU0NSSVBUSU9OID0gIlRoZSB0cG0yLXRzcy1lbmdpbmUgcHJvamVjdCBpbXBsZW1lbnRzIGEgY3J5cHRvZ3JhcGhpYyBlbmdpbmUgZm9yIE9wZW5TU0wgZm9yIFRydXN0ZWQgUGxhdGZvcm0gTW9kdWxlIChUUE0gMi4wKSB1c2luZyB0aGUgdHBtMi10c3Mgc29mdHdhcmUgc3RhY2sgdGhhdCBmb2xsb3dzIHRoZSBUcnVzdGVkIENvbXB1dGluZyBHcm91cHMgKFRDRykgVFBNIFNvZnR3YXJlIFN0YWNrIChUU1MgMi4wKS4gSXQgdXNlcyB0aGUgRW5oYW5jZWQgU3lzdGVtIEFQSSAoRVNBUEkpIGludGVyZmFjZSBvZiB0aGUgVFNTIDIuMCBmb3IgZG93bndhcmRzIGNvbW11bmljYXRpb24uIEl0IHN1cHBvcnRzIFJTQSBkZWNyeXB0aW9uIGFuZCBzaWduYXR1cmVzIGFzIHdlbGwgYXMgRUNEU0Egc2lnbmF0dXJlcy4iCisKK0xJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9M2ZiMDA0N2ZkMjkzOTE0NzhhNzFlOGU2MTAxYzc2ZWIiCisKK1NFQ1RJT04gPSAic2VjdXJpdHkvdHBtIgorCitERVBFTkRTID0gImF1dG9jb25mLWFyY2hpdmUtbmF0aXZlIGJhc2gtY29tcGxldGlvbiBsaWJ0c3MyIGxpYmdjcnlwdCBvcGVuc3NsIgorCitTUkNSRVYgPSAiYmVmODllYzc5Y2JiNGM5OTk2M2IwZTMzNmQ5MTg0ODI3YzU0NTc4MiIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS90cG0yLXNvZnR3YXJlL3RwbTItdHNzLWVuZ2luZS5naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcgc3lzdGVtZAorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitQQUNLQUdFUyArPSAiJHtQTn0tZW5naW5lcyAke1BOfS1lbmdpbmVzLXN0YXRpY2RldiAke1BOfS1iYXNoLWNvbXBsZXRpb24iCisKK0ZJTEVTXyR7UE59LWRldiA9ICIke2xpYmRpcn0vZW5naW5lcy0xLjEvdHBtMnRzcy5zbyAke2luY2x1ZGVkaXJ9LyoiCitGSUxFU18ke1BOfS1lbmdpbmVzID0gIiR7bGliZGlyfS9lbmdpbmVzLTEuMS9saWIqLnNvKiIKK0ZJTEVTXyR7UE59LWVuZ2luZXMtc3RhdGljZGV2ID0gIiR7bGliZGlyfS9lbmdpbmVzLTEuMS9saWJ0cG0ydHNzLmEiCitGSUxFU18ke1BOfS1iYXNoLWNvbXBsZXRpb24gKz0gIiR7ZGF0YWRpcn0vYmFzaC1jb21wbGV0aW9uL2NvbXBsZXRpb25zIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbS90cG0yLjAtdHNzL3RwbTIuMC10c3MvYXhfcHRocmVhZC5tNCBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItdHNzL3RwbTItdHNzL2F4X3B0aHJlYWQubTQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vdHBtMi4wLXRzcy90cG0yLjAtdHNzL2F4X3B0aHJlYWQubTQKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItdHNzL3RwbTItdHNzL2F4X3B0aHJlYWQubTQKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vdHBtMi4wLXRzcy90cG0yLjAtdHNzL2ZpeF9tdXNsX3NlbGVjdF9pbmNsdWRlLnBhdGNoIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi10c3MvdHBtMi10c3MvZml4X211c2xfc2VsZWN0X2luY2x1ZGUucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vdHBtMi4wLXRzcy90cG0yLjAtdHNzL2ZpeF9tdXNsX3NlbGVjdF9pbmNsdWRlLnBhdGNoCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLXRzcy90cG0yLXRzcy9maXhfbXVzbF9zZWxlY3RfaW5jbHVkZS5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi10c3MvdHBtMi10c3NfMi4yLjEuYmIgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLXRzcy90cG0yLXRzc18yLjIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OGJkZWViCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi10c3MvdHBtMi10c3NfMi4yLjEuYmIKQEAgLTAsMCArMSw3OSBAQAorU1VNTUFSWSA9ICJTb2Z0d2FyZSBzdGFjayBmb3IgVFBNMi4iCitERVNDUklQVElPTiA9ICJPU1MgaW1wbGVtZW50YXRpb24gb2YgdGhlIFRDRyBUUE0yIFNvZnR3YXJlIFN0YWNrIChUU1MyKSAiCitMSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTUwMGIyZTc0MmJlZmMzZGEwMDY4NGQ4YTFkNWZkOWRhIgorU0VDVElPTiA9ICJ0cG0iCisKK0RFUEVORFMgPSAiYXV0b2NvbmYtYXJjaGl2ZS1uYXRpdmUgbGliZ2NyeXB0IG9wZW5zc2wiCisKK1NSQ1JFViA9ICJlYjY5ZTEzNTU5ZjIwYTBiNDkwMDJhNjg1YzZmNGEzOWJlOTUwM2UyIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vdHBtMi1zb2Z0d2FyZS90cG0yLXRzcy5naXQ7YnJhbmNoPTIuMi54IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnIHN5c3RlbWQKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbb3h5Z2VuXSA9ICIsLS1kaXNhYmxlLWRveHlnZW4tZG9jLCAiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKyAgICAgICAuL2Jvb3RzdHJhcAorfQorCitJTkhFUklUICs9ICJleHRyYXVzZXJzIgorRVhUUkFfVVNFUlNfUEFSQU1TID0gIlwKKwl1c2VyYWRkIC1wICcnIHRzczsgXAorCWdyb3VwYWRkIHRzczsgXAorCSIKKworUFJPVklERVMgPSAiJHtQQUNLQUdFU30iCitQQUNLQUdFUyA9ICIgXAorICAgICR7UE59IFwKKyAgICAke1BOfS1kYmcgXAorICAgICR7UE59LWRvYyBcCisgICAgbGlidHNzMi1tdSBcCisgICAgbGlidHNzMi1tdS1kZXYgXAorICAgIGxpYnRzczItbXUtc3RhdGljZGV2IFwKKyAgICBsaWJ0c3MyLXRjdGktZGV2aWNlIFwKKyAgICBsaWJ0c3MyLXRjdGktZGV2aWNlLWRldiBcCisgICAgbGlidHNzMi10Y3RpLWRldmljZS1zdGF0aWNkZXYgXAorICAgIGxpYnRzczItdGN0aS1tc3NpbSBcCisgICAgbGlidHNzMi10Y3RpLW1zc2ltLWRldiBcCisgICAgbGlidHNzMi10Y3RpLW1zc2ltLXN0YXRpY2RldiBcCisgICAgbGlidHNzMiBcCisgICAgbGlidHNzMi1kZXYgXAorICAgIGxpYnRzczItc3RhdGljZGV2IFwKKyIKKworRklMRVNfbGlidHNzMi10Y3RpLWRldmljZSA9ICIke2xpYmRpcn0vbGlidHNzMi10Y3RpLWRldmljZS5zby4qIgorRklMRVNfbGlidHNzMi10Y3RpLWRldmljZS1kZXYgPSAiIFwKKyAgICAke2luY2x1ZGVkaXJ9L3RzczIvdHNzMl90Y3RpX2RldmljZS5oIFwKKyAgICAke2xpYmRpcn0vcGtnY29uZmlnL3RzczItdGN0aS1kZXZpY2UucGMgXAorICAgICR7bGliZGlyfS9saWJ0c3MyLXRjdGktZGV2aWNlLnNvIgorRklMRVNfbGlidHNzMi10Y3RpLWRldmljZS1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9L2xpYnRzczItdGN0aS1kZXZpY2UuKmEiCisKK0ZJTEVTX2xpYnRzczItdGN0aS1tc3NpbSA9ICIke2xpYmRpcn0vbGlidHNzMi10Y3RpLW1zc2ltLnNvLioiCitGSUxFU19saWJ0c3MyLXRjdGktbXNzaW0tZGV2ID0gIiBcCisgICAgJHtpbmNsdWRlZGlyfS90c3MyL3RzczJfdGN0aV9tc3NpbS5oIFwKKyAgICAke2xpYmRpcn0vcGtnY29uZmlnL3RzczItdGN0aS1tc3NpbS5wYyBcCisgICAgJHtsaWJkaXJ9L2xpYnRzczItdGN0aS1tc3NpbS5zbyIKK0ZJTEVTX2xpYnRzczItdGN0aS1tc3NpbS1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9L2xpYnRzczItdGN0aS1tc3NpbS4qYSIKKworRklMRVNfbGlidHNzMi1tdSA9ICIke2xpYmRpcn0vbGlidHNzMi1tdS5zby4qIgorRklMRVNfbGlidHNzMi1tdS1kZXYgPSAiIFwKKyAgICAke2luY2x1ZGVkaXJ9L3RzczIvdHNzMl9tdS5oIFwKKyAgICAke2xpYmRpcn0vcGtnY29uZmlnL3RzczItbXUucGMgXAorICAgICR7bGliZGlyfS9saWJ0c3MyLW11LnNvIgorRklMRVNfbGlidHNzMi1tdS1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9L2xpYnRzczItbXUuKmEiCisKK0ZJTEVTX2xpYnRzczIgPSAiJHtsaWJkaXJ9L2xpYnRzczIqc28uKiIKK0ZJTEVTX2xpYnRzczItZGV2ID0gIiBcCisgICAgJHtpbmNsdWRlZGlyfSBcCisgICAgJHtsaWJkaXJ9L3BrZ2NvbmZpZyBcCisgICAgJHtsaWJkaXJ9L2xpYnRzczIqc28iCitGSUxFU19saWJ0c3MyLXN0YXRpY2RldiA9ICIke2xpYmRpcn0vbGlidHNzKmEiCisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS91ZGV2IgorCitSREVQRU5EU19saWJ0c3MyID0gImxpYmdjcnlwdCIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3J1bi1wdGVzdCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9ydW4tcHRlc3QKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3J1bi1wdGVzdApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3J1bi1wdGVzdApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1hZGQtTERGTEFHUy12YXJpYWJsZS1mb3Itc2FtaGFpbl9zZXRwd2QucGF0Y2ggYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1hZGQtTERGTEFHUy12YXJpYWJsZS1mb3Itc2FtaGFpbl9zZXRwd2QucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tYWRkLUxERkxBR1MtdmFyaWFibGUtZm9yLXNhbWhhaW5fc2V0cHdkLnBhdGNoCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1hZGQtTERGTEFHUy12YXJpYWJsZS1mb3Itc2FtaGFpbl9zZXRwd2QucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tYXZvaWQtc2VhcmNoaW5nLWhvc3QtZm9yLXBvc3RncmVzcWwucGF0Y2ggYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1hdm9pZC1zZWFyY2hpbmctaG9zdC1mb3ItcG9zdGdyZXNxbC5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1hdm9pZC1zZWFyY2hpbmctaG9zdC1mb3ItcG9zdGdyZXNxbC5wYXRjaApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tYXZvaWQtc2VhcmNoaW5nLWhvc3QtZm9yLXBvc3RncmVzcWwucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tY2xpZW50LmRlZmF1bHQgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1jbGllbnQuZGVmYXVsdApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1jbGllbnQuZGVmYXVsdApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tY2xpZW50LmRlZmF1bHQKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tY2xpZW50LmluaXQgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1jbGllbnQuaW5pdApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1jbGllbnQuaW5pdApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tY2xpZW50LmluaXQKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tY29uZmlndXJlLWFkZC1vcHRpb24tZm9yLXBzLnBhdGNoIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tY29uZmlndXJlLWFkZC1vcHRpb24tZm9yLXBzLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLWNvbmZpZ3VyZS1hZGQtb3B0aW9uLWZvci1wcy5wYXRjaApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tY29uZmlndXJlLWFkZC1vcHRpb24tZm9yLXBzLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLWNyb3NzLWNvbXBpbGUucGF0Y2ggYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1jcm9zcy1jb21waWxlLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLWNyb3NzLWNvbXBpbGUucGF0Y2gKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLWNyb3NzLWNvbXBpbGUucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tbWlwczY0LWFhcmNoNjQtZG5tYWxsb2MtaGFzaC1maXgucGF0Y2ggYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1taXBzNjQtYWFyY2g2NC1kbm1hbGxvYy1oYXNoLWZpeC5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1taXBzNjQtYWFyY2g2NC1kbm1hbGxvYy1oYXNoLWZpeC5wYXRjaApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tbWlwczY0LWFhcmNoNjQtZG5tYWxsb2MtaGFzaC1maXgucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tbm90LXJ1bi1wdGVzdC1vbi1ob3N0LnBhdGNoIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tbm90LXJ1bi1wdGVzdC1vbi1ob3N0LnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLW5vdC1ydW4tcHRlc3Qtb24taG9zdC5wYXRjaApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tbm90LXJ1bi1wdGVzdC1vbi1ob3N0LnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLXBpZC1wYXRoLnBhdGNoIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tcGlkLXBhdGgucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tcGlkLXBhdGgucGF0Y2gKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLXBpZC1wYXRoLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNhbWhhaW5yYy1maXgtZmlsZXMtZGlycy1wYXRoLnBhdGNoIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tc2FtaGFpbnJjLWZpeC1maWxlcy1kaXJzLXBhdGgucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tc2FtaGFpbnJjLWZpeC1maWxlcy1kaXJzLXBhdGgucGF0Y2gKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNhbWhhaW5yYy1maXgtZmlsZXMtZGlycy1wYXRoLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNhbWhhaW5yYy5wYXRjaCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNhbWhhaW5yYy5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1zYW1oYWlucmMucGF0Y2gKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNhbWhhaW5yYy5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1zZXJ2ZXItdm9sYXRpbGVzIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tc2VydmVyLXZvbGF0aWxlcwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1zZXJ2ZXItdm9sYXRpbGVzCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1zZXJ2ZXItdm9sYXRpbGVzCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNlcnZlci5kZWZhdWx0IGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tc2VydmVyLmRlZmF1bHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tc2VydmVyLmRlZmF1bHQKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNlcnZlci5kZWZhdWx0CmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNlcnZlci5pbml0IGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tc2VydmVyLmluaXQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tc2VydmVyLmluaXQKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNlcnZlci5pbml0CmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNoYTI1Ni1iaWctZW5kaWFuLnBhdGNoIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tc2hhMjU2LWJpZy1lbmRpYW4ucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tc2hhMjU2LWJpZy1lbmRpYW4ucGF0Y2gKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNoYTI1Ni1iaWctZW5kaWFuLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLXN0YW5kYWxvbmUuZGVmYXVsdCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLXN0YW5kYWxvbmUuZGVmYXVsdApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1zdGFuZGFsb25lLmRlZmF1bHQKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLXN0YW5kYWxvbmUuZGVmYXVsdApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1zdGFuZGFsb25lLmluaXQgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1zdGFuZGFsb25lLmluaXQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tc3RhbmRhbG9uZS5pbml0CnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1zdGFuZGFsb25lLmluaXQKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4uc2VydmljZSBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLnNlcnZpY2UKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4uc2VydmljZQpyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4uc2VydmljZQpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vc2FtaGFpbi1jbGllbnRfNC4zLjAuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vc2FtaGFpbi1jbGllbnRfNC4zLjIuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL3NhbWhhaW4tY2xpZW50XzQuMy4wLmJiCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vc2FtaGFpbi1jbGllbnRfNC4zLjIuYmIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL3NhbWhhaW4tc2VydmVyXzQuMy4wLmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL3NhbWhhaW4tc2VydmVyXzQuMy4yLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9zYW1oYWluLXNlcnZlcl80LjMuMC5iYgpyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL3NhbWhhaW4tc2VydmVyXzQuMy4yLmJiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9zYW1oYWluLXN0YW5kYWxvbmVfNC4zLjAuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vc2FtaGFpbi1zdGFuZGFsb25lXzQuMy4yLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9zYW1oYWluLXN0YW5kYWxvbmVfNC4zLjAuYmIKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9zYW1oYWluLXN0YW5kYWxvbmVfNC4zLjIuYmIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9zYW1oYWluLmluYyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9zYW1oYWluLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjlhZjM5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL3NhbWhhaW4uaW5jCkBAIC0wLDAgKzEsMTYzIEBACitERVNDUklQVElPTiA9ICJQcm92aWRlcyBmaWxlIGludGVncml0eSBjaGVja2luZyBhbmQgbG9nIGZpbGUgbW9uaXRvcmluZy9hbmFseXNpcyIKK0hPTUVQQUdFICAgID0gImh0dHA6Ly93d3cubGEtc2FtaG5hLmRlL3NhbWhhaW4vIgorTElDRU5TRSAgICAgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT04Y2E0M2NiYzg0MmMyMzM2ZTgzNTkyNmMyMTY2YzI4YiIKKworCitTUkNfVVJJID0gImh0dHA6Ly9sYS1zYW1obmEuZGUvYXJjaGl2ZS9zYW1oYWluX3NpZ25lZC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vc2FtaGFpbi1jcm9zcy1jb21waWxlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3NhbWhhaW4tbWlwczY0LWFhcmNoNjQtZG5tYWxsb2MtaGFzaC1maXgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc2FtaGFpbi1zYW1oYWlucmMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc2FtaGFpbi1zYW1oYWlucmMtZml4LWZpbGVzLWRpcnMtcGF0aC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zYW1oYWluLXBpZC1wYXRoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3NhbWhhaW4tc2hhMjU2LWJpZy1lbmRpYW4ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc2FtaGFpbi1jb25maWd1cmUtYWRkLW9wdGlvbi1mb3ItcHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc2FtaGFpbi1hdm9pZC1zZWFyY2hpbmctaG9zdC1mb3ItcG9zdGdyZXNxbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zYW1oYWluLWFkZC1MREZMQUdTLXZhcmlhYmxlLWZvci1zYW1oYWluX3NldHB3ZC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8ke0lOSVRTQ1JJUFRfTkFNRX0uaW5pdCBcCisgICAgICAgICAgIGZpbGU6Ly8ke0lOSVRTQ1JJUFRfTkFNRX0uZGVmYXVsdCBcCisgICAgICAgICAgIGZpbGU6Ly9zYW1oYWluLnNlcnZpY2UgXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlYWU0Njc0MTY0ZDdjNzhmNWJiMzljNzJiNzAyOWM4YiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwNTgyODY0ZWY1NmFiNzk2MDMxZThlNjExZWQ2NmM0OGFkZWIzYTMwZWMzNGUxYThkMDA4ODU3MjQ0MjAzNWZjIgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly93d3cubGEtc2FtaG5hLmRlL3NhbWhhaW4vYXJjaGl2ZS5odG1sIgorVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAic2FtaGFpbl9zaWduZWQtKD9QPHB2ZXI+KFxkKyhcLlxkKykrKSlcLnRhciIKKworUyA9ICIke1dPUktESVJ9L3NhbWhhaW4tJHtQVn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCB1cGRhdGUtcmMuZCBwa2djb25maWcgc3lzdGVtZAorCitTQU1IQUlOX1BPUlQgPz89ICI0OTc3NyIKK1NBTUhBSU5fU0VSVkVSID8/PSAiTlVMTCIKKworSU5JVFNDUklQVF9OQU1FID0gIiR7QlBOfSIKK0lOSVRTQ1JJUFRfUEFSQU1TID89ICJkZWZhdWx0cyIKKworU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfSIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICIke0lOSVRTQ1JJUFRfTkFNRX0uc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKKworIyBtb2RlIG1hcHBpbmc6CisjIEJQTiAgICAgICAgICAgICAgICBNT0RFX05BTUUgICBTQU1IQUlOX01PREUKKyMgc2FtaGFpbi1zdGFuZGFsb25lIHN0YW5kYWxvbmUgIG5vCisjIHNhbWhhaW4tY2xpZW50ICAgICBjbGllbnQgICAgICBjbGllbnQKKyMgc2FtaGFpbi1zZXJ2ZXIgICAgIHNlcnZlciAgICAgIHNlcnZlcgorTU9ERV9OQU1FID0gIiR7QGQuZ2V0VmFyKCdCUE4nKS5zcGxpdCgnLScpWzFdfSIKK1NBTUhBSU5fTU9ERSA9ICIke0BvZS51dGlscy5pZmVsc2UoZC5nZXRWYXIoJ01PREVfTkFNRScpID09ICdzdGFuZGFsb25lJywgJ25vJywgJyR7TU9ERV9OQU1FfScpfSIKKworIyBzdXBwb3J0cyBteXNxbHxwb3N0Z3Jlc3FsfG9yYWNsZXxvZGJjIGJ1dCBwb3N0Z3Jlc3FsIGlzIHRoZSBvbmx5IG9uZSBhdmFpbGFibGUKKworUEFDS0FHRUNPTkZJRyA/Pz0gInBvc3RncmVzcWwgcHMgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsICdpcHY2JywgJycsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzZWxpbnV4JywgJ3NlbGludXggYXVkaXQnLCAnJywgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2FjbCcsICdhY2wnLCAnJywgZCl9IFwKKyIKKworUEFDS0FHRUNPTkZJR1twb3N0Z3Jlc3FsXSAgPSAiLS13aXRoLWRhdGFiYXNlPXBvc3RncmVzcWwgLS1lbmFibGUteG1sLWxvZyBQR1NRTF9JTkNfRElSPSR7U1RBR0lOR19JTkNESVJ9IFBHU1FMX0xJQl9ESVI9JHtTVEFHSU5HX0xJQkRJUn0sICwgcG9zdGdyZXNxbCIKK1BBQ0tBR0VDT05GSUdbc3VpZGNoZWNrXSAgPSAiLS1lbmFibGUtc3VpZGNoZWNrLCAsICIKK1BBQ0tBR0VDT05GSUdbbG9nd2F0Y2hdICA9ICItLWVuYWJsZS1sb2dpbi13YXRjaCwgLCAiCitQQUNLQUdFQ09ORklHW21vdW50c10gID0gIi0tZW5hYmxlLW1vdW50cy1jaGVjaywgLCAiCitQQUNLQUdFQ09ORklHW3VzZXJmaWxlc10gID0gIi0tZW5hYmxlLXVzZXJmaWxlcywgLCAiCitQQUNLQUdFQ09ORklHW2lwdjZdICA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2LCIKK1BBQ0tBR0VDT05GSUdbc2VsaW51eF0gPSAiLS1lbmFibGUtc2VsaW51eCwgLS1kaXNhYmxlLXNlbGludXgsIGxpYnNlbGludXggYXR0ciIKK1BBQ0tBR0VDT05GSUdbYWNsXSA9ICIgLS1lbmFibGUtcG9zaXgtYWNsICwgLS1kaXNhYmxlLXBvc2l4LWFjbCwgYWNsIgorUEFDS0FHRUNPTkZJR1thdWRpdF0gPSAiYWNfY3ZfaGVhZGVyX2F1cGFyc2VfaD15ZXMsYWNfY3ZfaGVhZGVyX2F1cGFyc2VfaD1ubyxhdWRpdCIKK1BBQ0tBR0VDT05GSUdbcHNdID0gIi0td2l0aC1wcy1wYXRoPSR7YmFzZV9iaW5kaXJ9L3BzLCwscHJvY3BzIgorCitkb191bnBhY2tfc2FtaGFpbigpIHsKKyAgICBjZCAke1dPUktESVJ9CisgICAgdGFyIC14enZmIHNhbWhhaW4tJHtQVn0udGFyLmd6Cit9CisKK3B5dGhvbiBkb191bnBhY2tfYXBwZW5kKCkgeworICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygnZG9fdW5wYWNrX3NhbWhhaW4nLCBkKQorfQorCitkb19jb25maWd1cmVfcHJlcGVuZF9hcm0oKSB7CisgICAgZXhwb3J0IHNoX2N2X19fdmFfY29weT15ZXMKK30KKworZG9fY29uZmlndXJlX3ByZXBlbmRfYWFyY2g2NCgpIHsKKyAgICBleHBvcnQgc2hfY3ZfX192YV9jb3B5PXllcworfQorCisjIElmIHdlIHVzZSBvZV9ydW5jb25mIGluIGRvX2NvbmZpZ3VyZSgpIGl0IHdpbGwgYnkgZGVmYXVsdAorIyB1c2UgdGhlIHByZWZpeCAtLW9sZGluY2x1ZGVkaXI9L3Vzci9pbmNsdWRlIHdoaWNoIGlzIG5vdAorIyByZWNvZ25pemVkIGJ5IFNhbWhhaW4ncyBjb25maWd1cmUgc2NyaXB0IGFuZCB3b3VsZCBpbnZhcmlhYmx5CisjIHRocm93IGJhY2sgdGhlIGVycm9yICJ1bnJlY29nbml6ZWQgb3B0aW9uOiAtLW9sZGluY2x1ZGVkaXI9L3Vzci9pbmNsdWRlIgorZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgIGNhdCA8PCBFT0YgPiAke1N9L2NvbmZpZy1zaXRlLiR7QlB9Citzc3BfY3ZfbGliPW5vCitzaF9jdl92YV9jb3B5PXllcworRU9GCisgICAgZXhwb3J0IENPTkZJR19TSVRFPSR7U30vY29uZmlnLXNpdGUuJHtCUH0KK30KKworZG9fY29uZmlndXJlICgpIHsKKwlhdXRvY29uZiAtZgorCS4vY29uZmlndXJlIFwKKwktLWJ1aWxkPSR7QlVJTERfU1lTfSBcCisJLS1ob3N0PSR7SE9TVF9TWVN9IFwKKwktLXRhcmdldD0ke1RBUkdFVF9TWVN9IFwKKwktLXByZWZpeD0ke3ByZWZpeH0gXAorCS0tZXhlY19wcmVmaXg9JHtleGVjX3ByZWZpeH0gXAorCS0tYmluZGlyPSR7YmluZGlyfSBcCisJLS1zYmluZGlyPSR7c2JpbmRpcn0gXAorCS0tbGliZXhlY2Rpcj0ke2xpYmV4ZWNkaXJ9IFwKKwktLWRhdGFkaXI9JHtkYXRhZGlyfSBcCisJLS1zeXNjb25mZGlyPSR7c3lzY29uZmRpcn0gXAorCS0tc2hhcmVkc3RhdGVkaXI9JHtzaGFyZWRzdGF0ZWRpcn0gXAorCS0tbG9jYWxzdGF0ZWRpcj0ke2xvY2Fsc3RhdGVkaXJ9IFwKKwktLWxpYmRpcj0ke2xpYmRpcn0gXAorCS0taW5jbHVkZWRpcj0ke2luY2x1ZGVkaXJ9IFwKKwktLWluZm9kaXI9JHtpbmZvZGlyfSBcCisJLS1tYW5kaXI9JHttYW5kaXJ9IFwKKwktLWVuYWJsZS1uZXR3b3JrPSR7U0FNSEFJTl9NT0RFfSBcCisJLS13aXRoLXBpZC1maWxlPSR7bG9jYWxzdGF0ZWRpcn0vcnVuL3NhbWhhaW4ucGlkIFwKKwktLXdpdGgtZGF0YS1maWxlPSR7bG9jYWxzdGF0ZWRpcn0vbGliL3NhbWhhaW4vc2FtaGFpbl9maWxlIFwKKwktLWRpc2FibGUtZG5tYWxsb2MgXAorCSR7RVhUUkFfT0VDT05GfQorfQorCitkb19jb21waWxlX3ByZXBlbmRfbGliYy1tdXNsICgpIHsKKwlzZWQgLWkgJ3MvXiNkZWZpbmUgSEFWRV9NQUxMT0NfSC4qLy8nICR7Qn0vY29uZmlnLmgKK30KKworIyBJbnN0YWxsIHRoZSBpbml0IHNjcmlwdCwgaXQncyBkZWZhdWx0IGZpbGUsIGFuZCB0aGUgZXh0cmFuZW91cworIyBkb2N1bWVudGF0aW9uLgorZG9faW5zdGFsbF9hcHBlbmQgKCkgeworCW9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPScke0R9JyBJTlNUQUxMPWluc3RhbGwtYm9vdAorCisJaW5zdGFsbCAtRCAtbSA3NTUgJHtXT1JLRElSfS8ke0lOSVRTQ1JJUFRfTkFNRX0uaW5pdCBcCisJCSR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC8ke0lOSVRTQ1JJUFRfTkFNRX0KKworCWluc3RhbGwgLUQgLW0gNzU1ICR7V09SS0RJUn0vJHtJTklUU0NSSVBUX05BTUV9LmRlZmF1bHQgXAorCQkke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0LyR7SU5JVFNDUklQVF9OQU1FfQorCisJaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgorCQlpZiBbICIke1NBTUhBSU5fTU9ERX0iID0gIm5vIiBdOyB0aGVuCisJCSAgICBpbnN0YWxsIC1EIC1tIDA2NDQgJHtXT1JLRElSfS9zYW1oYWluLnNlcnZpY2UgJHtEfS8ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3NhbWhhaW4uc2VydmljZQorCQllbHNlCisJCSAgICBpbnN0YWxsIC1EIC1tIDA2NDQgJHtXT1JLRElSfS9zYW1oYWluLnNlcnZpY2UgJHtEfS8ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9LyR7QlBOfS5zZXJ2aWNlCisJCWZpCisJCWluc3RhbGwgLUQgLW0gMDc1NSAke1dPUktESVJ9LyR7QlBOfS5pbml0ICR7RH0vJHtsaWJleGVjZGlyfS8ke0JQTn0KKwkJc2VkIC1pIC1lICdzLEBMSUJESVJALCR7bGliZXhlY2Rpcn0sJyBcCisJCSAgICAgICAtZSAncyxAU0FNSEFJTl9IRUxQRVJALCR7QlBOfSwnIFwKKwkJICAgICAgIC1lICdzLEBNT0RFX05BTUVALCR7TU9ERV9OQU1FfSwnIFwKKwkJICAgICAgICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3NhbWhhaW4qLnNlcnZpY2UKKyAgICBmaQorCisJaW5zdGFsbCAtZCAke0R9JHtkb2NkaXJ9LyR7QlBOfQorCWNwIC1yIGRvY3MvKiAke0R9JHtkb2NkaXJ9LyR7QlBOfQorCWNwIC1yIHNjcmlwdHMgJHtEfSR7ZG9jZGlyfS8ke0JQTn0KKwlpbnN0YWxsIC1kIC1tIDc1NSAke0R9JHtsb2NhbHN0YXRlZGlyfS9zYW1oYWluCisKKwkjIFByZXZlbnQgUUEgd2FybmluZ3MgYWJvdXQgaW5zdGFsbGVkICR7bG9jYWxzdGF0ZWRpcn0vcnVuCisJaWYgWyAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4gXTsgdGhlbgorCQlybWRpciAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4KKwlmaQorfQorCitGSUxFU18ke1BOfSArPSAiJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfSIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zdXJpY2F0YS9maWxlcy9lbWVyZ2luZy5ydWxlcy50YXIuZ3ogYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3N1cmljYXRhL2ZpbGVzL2VtZXJnaW5nLnJ1bGVzLnRhci5negpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3N1cmljYXRhL2ZpbGVzL2VtZXJnaW5nLnJ1bGVzLnRhci5negpyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zdXJpY2F0YS9maWxlcy9lbWVyZ2luZy5ydWxlcy50YXIuZ3oKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3N1cmljYXRhL2ZpbGVzL25vX2xpYmh0cF9idWlsZC5wYXRjaCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc3VyaWNhdGEvZmlsZXMvbm9fbGliaHRwX2J1aWxkLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc3VyaWNhdGEvZmlsZXMvbm9fbGliaHRwX2J1aWxkLnBhdGNoCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3N1cmljYXRhL2ZpbGVzL25vX2xpYmh0cF9idWlsZC5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3N1cmljYXRhL2ZpbGVzL3J1bi1wdGVzdCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc3VyaWNhdGEvZmlsZXMvcnVuLXB0ZXN0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc3VyaWNhdGEvZmlsZXMvcnVuLXB0ZXN0CnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3N1cmljYXRhL2ZpbGVzL3J1bi1wdGVzdApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3N1cmljYXRhL2ZpbGVzL3N1cmljYXRhLnNlcnZpY2UgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3N1cmljYXRhL2ZpbGVzL3N1cmljYXRhLnNlcnZpY2UKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zdXJpY2F0YS9maWxlcy9zdXJpY2F0YS5zZXJ2aWNlCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3N1cmljYXRhL2ZpbGVzL3N1cmljYXRhLnNlcnZpY2UKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zdXJpY2F0YS9maWxlcy9zdXJpY2F0YS55YW1sIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zdXJpY2F0YS9maWxlcy9zdXJpY2F0YS55YW1sCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc3VyaWNhdGEvZmlsZXMvc3VyaWNhdGEueWFtbApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zdXJpY2F0YS9maWxlcy9zdXJpY2F0YS55YW1sCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc3VyaWNhdGEvZmlsZXMvdm9sYXRpbGVzLjAzX3N1cmljYXRhIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zdXJpY2F0YS9maWxlcy92b2xhdGlsZXMuMDNfc3VyaWNhdGEKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zdXJpY2F0YS9maWxlcy92b2xhdGlsZXMuMDNfc3VyaWNhdGEKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc3VyaWNhdGEvZmlsZXMvdm9sYXRpbGVzLjAzX3N1cmljYXRhCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc3VyaWNhdGEvbGliaHRwXzAuNS4yNy5iYiBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc3VyaWNhdGEvbGliaHRwXzAuNS4yOS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3N1cmljYXRhL2xpYmh0cF8wLjUuMjcuYmIKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc3VyaWNhdGEvbGliaHRwXzAuNS4yOS5iYgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zdXJpY2F0YS9zdXJpY2F0YS5pbmMgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3N1cmljYXRhL3N1cmljYXRhLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YmU0MDNjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zdXJpY2F0YS9zdXJpY2F0YS5pbmMKQEAgLTAsMCArMSw5IEBACitIT01FUEFHRSA9ICJodHRwOi8vc3VyaWNhdGEtaWRzLm9yZy8iCitTRUNUSU9OID0gInNlY3VyaXR5IE1vbml0b3IvQWRtaW4iCitMSUNFTlNFID0gIkdQTHYyIgorCitWRVIgPSAiNC4xLjMiCitTUkNfVVJJID0gImh0dHA6Ly93d3cub3BlbmluZm9zZWNmb3VuZGF0aW9uLm9yZy9kb3dubG9hZC9zdXJpY2F0YS0ke1ZFUn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiMzVjNGE4ZTZiZTM5MTA4MzE2NDlhMDczOTUwMTk1ZGYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmNkYTZjODBiNzUzY2UzNjQ4M2M2YmU1MzUzNThiOTcxZjM4OTBiOWFhMjdhNThjMmQyZjdlODlkZDZjNmFhMCIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc3VyaWNhdGEvc3VyaWNhdGFfNC4xLjMuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3N1cmljYXRhL3N1cmljYXRhXzQuMS4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2ZjU5MzcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3N1cmljYXRhL3N1cmljYXRhXzQuMS4zLmJiCkBAIC0wLDAgKzEsOTcgQEAKK1NVTU1BUlkgPSAiVGhlIFN1cmljYXRhIEVuZ2luZSBpcyBhbiBPcGVuIFNvdXJjZSBOZXh0IEdlbmVyYXRpb24gSW50cnVzaW9uIERldGVjdGlvbiBhbmQgUHJldmVudGlvbiBFbmdpbmUiCisKK3JlcXVpcmUgc3VyaWNhdGEuaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7YmVnaW5saW5lPTE7ZW5kbGluZT0yO21kNT1jNzBkOGQzMzEwOTQxZGNkZmNkMWUwMjgwMGExZjU0OCIKKworU1JDX1VSSSArPSAiZmlsZTovL2VtZXJnaW5nLnJ1bGVzLnRhci5nejtuYW1lPXJ1bGVzIgorCitTUkNfVVJJICs9ICIgXAorICAgICAgICAgICBmaWxlOi8vdm9sYXRpbGVzLjAzX3N1cmljYXRhIFwKKyAgICAgICAgICAgZmlsZTovL3N1cmljYXRhLnlhbWwgXAorICAgICAgICAgICBmaWxlOi8vc3VyaWNhdGEuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorICAgICAgICAgICAiCisKK1NSQ19VUklbcnVsZXMubWQ1c3VtXSA9ICIyMDVjNWU1YjU0ZTQ4OTIwN2VkODkyYzAzYWQ3NWIzMyIKK1NSQ19VUklbcnVsZXMuc2hhMjU2c3VtXSA9ICI0YWE4MTAxMWIyNDY4NzVhNTcxODFjNmEwNTY5Y2E4ODc4NDVlMzY2OTA0YmNhZjAwNDMyMjBmMzNiZDY5Nzk4IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnIHB5dGhvbjMtZGlyIHN5c3RlbWQgcHRlc3QKKworQ0ZMQUdTICs9ICItRF9ERUZBVUxUX1NPVVJDRSIKKworQ0FDSEVEX0NPTkZJR1VSRVZBUlMgPSAiYWNfY3ZfaGVhZGVyX2h0cF9odHBfaD15ZXMgYWNfY3ZfbGliX2h0cF9odHBfY29ubl9jcmVhdGU9eWVzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIGFjX2N2X3BhdGhfSEFWRV9XR0VUPW5vIGFjX2N2X3BhdGhfSEFWRV9DVVJMPW5vICIKKworRVhUUkFfT0VDT05GICs9ICIgLS1kaXNhYmxlLWRlYnVnIFwKKyAgICAtLWVuYWJsZS1ub24tYnVuZGxlZC1odHAgXAorICAgIC0tZGlzYWJsZS1nY2NtYXJjaC1uYXRpdmUgXAorICAgIC0tZGlzYWJsZS1zdXJpY2F0YS11cGRhdGUgXAorICAgICIKKworUEFDS0FHRUNPTkZJRyA/Pz0gImh0cCBqYW5zc29uIGZpbGUgcGNyZSB5YW1sIHBjYXAgY2FwLW5nIG5ldCBuZm5ldGxpbmsgbnNzIG5zcHIiCitQQUNLQUdFQ09ORklHX2FwcGVuZCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwdGVzdCcsICd1bml0dGVzdHMnLCAnJywgZCl9IgorCitQQUNLQUdFQ09ORklHW2h0cF0gPSAiLS13aXRoLWxpYmh0cC1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSAtLXdpdGgtbGliaHRwLWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwgLGxpYmh0cCwiCitQQUNLQUdFQ09ORklHW3BjcmVdID0gIi0td2l0aC1saWJwY3JlLWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9IC0td2l0aC1saWJwY3JlLWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwgLGxpYnBjcmUgLCIgCitQQUNLQUdFQ09ORklHW3lhbWxdID0gIi0td2l0aC1saWJ5YW1sLWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9IC0td2l0aC1saWJ5YW1sLWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwgLGxpYnlhbWwgLCIKK1BBQ0tBR0VDT05GSUdbcGNhcF0gPSAiLS13aXRoLWxpYnBjYXAtaW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gLS13aXRoLWxpYnBjYXAtbGlicmFyaWVzPSR7U1RBR0lOR19MSUJESVJ9LCAsbGlicGNhcCAsIiAKK1BBQ0tBR0VDT05GSUdbY2FwLW5nXSA9ICItLXdpdGgtbGliY2FwX25nLWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9IC0td2l0aC1saWJjYXBfbmctbGlicmFyaWVzPSR7U1RBR0lOR19MSUJESVJ9LCAsbGliY2FwLW5nICwgIgorUEFDS0FHRUNPTkZJR1tuZXRdID0gIi0td2l0aC1saWJuZXQtaW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gLS13aXRoLWxpYm5ldC1saWJyYXJpZXM9JHtTVEFHSU5HX0xJQkRJUn0sICwgbGlibmV0LCIgCitQQUNLQUdFQ09ORklHW25mbmV0bGlua10gPSAiLS13aXRoLWxpYm5mbmV0bGluay1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSAtLXdpdGgtbGlibmZuZXRsaW5rLWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwgLGxpYm5mbmV0bGluayAsIgorUEFDS0FHRUNPTkZJR1tuZnFdID0gIi0tZW5hYmxlLW5mcXVldWUsIC0tZGlzYWJsZS1uZnF1ZXVlLGxpYm5ldGZpbHRlci1xdWV1ZSwiCisKK1BBQ0tBR0VDT05GSUdbamFuc3Nvbl0gPSAiLS13aXRoLWxpYmphbnNzb24taW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gLS13aXRoLWxpYmphbnNzb24tbGlicmFyaWVzPSR7U1RBR0lOR19MSUJESVJ9LCxqYW5zc29uLCBqYW5zc29uIgorUEFDS0FHRUNPTkZJR1tmaWxlXSA9ICIsLGZpbGUsIGZpbGUiCitQQUNLQUdFQ09ORklHW25zc10gPSAiLS13aXRoLWxpYm5zcy1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSAtLXdpdGgtbGlibnNzLWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwgbnNzLCBuc3MsIiAKK1BBQ0tBR0VDT05GSUdbbnNwcl0gPSAiLS13aXRoLWxpYm5zcHItaW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gLS13aXRoLWxpYm5zcHItbGlicmFyaWVzPSR7U1RBR0lOR19MSUJESVJ9LCBuc3ByLCBuc3ByLCIgCitQQUNLQUdFQ09ORklHW3B5dGhvbl0gPSAiLS1lbmFibGUtcHl0aG9uLCAtLWRpc2FibGUtcHl0aG9uLCBweXRob24zLCBweXRob24zIiAKK1BBQ0tBR0VDT05GSUdbdW5pdHRlc3RzXSA9ICItLWVuYWJsZS11bml0dGVzdHMsIC0tZGlzYWJsZS11bml0dGVzdHMsIiAKKworZXhwb3J0IGxvZ2RpciA9ICIke2xvY2Fsc3RhdGVkaXJ9L2xvZyIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9zdXJpY2F0YQorCisgICAgb2VfcnVubWFrZSBpbnN0YWxsLWNvbmYgREVTVERJUj0ke0R9CisKKyAgICAjIG1pbWljIG1vdmUgb2YgZG93bmxvYWRlZCBydWxlcyB0byBlX3N5c2NvbmZydWxlc2RpcgorICAgIGNwIC1yZiAgJHtXT1JLRElSfS9ydWxlcyAke0R9JHtzeXNjb25mZGlyfS9zdXJpY2F0YQorCisgICAgb2VfcnVubWFrZSBpbnN0YWxsLXJ1bGVzIERFU1RESVI9JHtEfQorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9zdXJpY2F0YSAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3ZvbGF0aWxlcy4wM19zdXJpY2F0YSAgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvdm9sYXRpbGVzLjAzX3N1cmljYXRhCisKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS90aHJlc2hvbGQuY29uZmlnICR7RH0ke3N5c2NvbmZkaXJ9L3N1cmljYXRhCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgc2VkICAtZSBzOi9ldGM6JHtzeXNjb25mZGlyfTpnIFwKKyAgICAgICAgIC1lIHM6L3Zhci9ydW46L3J1bjpnIFwKKyAgICAgICAgIC1lIHM6L3Zhcjoke2xvY2Fsc3RhdGVkaXJ9OmcgXAorICAgICAgICAgLWUgczovdXNyL2Jpbjoke2JpbmRpcn06ZyBcCisgICAgICAgICAtZSBzOi9iaW4va2lsbDoke2Jhc2VfYmluZGlyfS9raWxsOmcgXAorICAgICAgICAgLWUgczovdXNyL2xpYjoke2xpYmRpcn06ZyBcCisgICAgICAgICAke1dPUktESVJ9L3N1cmljYXRhLnNlcnZpY2UgPiAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zdXJpY2F0YS5zZXJ2aWNlCisKKyAgICAjIFJlbW92ZSAvdmFyL3J1biBhcyBpdCBpcyBjcmVhdGVkIG9uIHN0YXJ0dXAKKyAgICBybSAtcmYgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuCisKK30KKworcGtnX3Bvc3RpbnN0X29udGFyZ2V0XyR7UE59ICgpIHsKK2lmIFsgLWUgL2V0Yy9pbml0LmQvcG9wdWxhdGUtdm9sYXRpbGUuc2ggXSA7IHRoZW4KKyAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9wb3B1bGF0ZS12b2xhdGlsZS5zaCB1cGRhdGUKK2ZpCit9CisKK1NZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0iCisKK1BBQ0tBR0VTID0rICIke1BOfS1zb2NrZXRjb250cm9sIgorRklMRVNfJHtQTn0gKz0gIiR7c3lzdGVtZF91bml0ZGlyfSIKK0ZJTEVTXyR7UE59LXNvY2tldGNvbnRyb2wgPSAiJHtiaW5kaXJ9L3N1cmljYXRhc2MgJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0iCisKK0NPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L3N1cmljYXRhL3N1cmljYXRhLnlhbWwiCisKK1JERVBFTkRTXyR7UE59LXB5dGhvbiA9ICJweXRob24iCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvdHJpcHdpcmUvZmlsZXMvYWRkX2FybWViX2FyY2gucGF0Y2ggYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3RyaXB3aXJlL2ZpbGVzL2FkZF9hcm1lYl9hcmNoLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvdHJpcHdpcmUvZmlsZXMvYWRkX2FybWViX2FyY2gucGF0Y2gKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvdHJpcHdpcmUvZmlsZXMvYWRkX2FybWViX2FyY2gucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS90cmlwd2lyZS9maWxlcy9ydW4tcHRlc3QgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3RyaXB3aXJlL2ZpbGVzL3J1bi1wdGVzdApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3RyaXB3aXJlL2ZpbGVzL3J1bi1wdGVzdApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy90cmlwd2lyZS9maWxlcy9ydW4tcHRlc3QKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS90cmlwd2lyZS9maWxlcy90cmlwd2lyZS5jcm9uIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy90cmlwd2lyZS9maWxlcy90cmlwd2lyZS5jcm9uCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvdHJpcHdpcmUvZmlsZXMvdHJpcHdpcmUuY3JvbgpyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy90cmlwd2lyZS9maWxlcy90cmlwd2lyZS5jcm9uCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvdHJpcHdpcmUvZmlsZXMvdHJpcHdpcmUuc2ggYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3RyaXB3aXJlL2ZpbGVzL3RyaXB3aXJlLnNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvdHJpcHdpcmUvZmlsZXMvdHJpcHdpcmUuc2gKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvdHJpcHdpcmUvZmlsZXMvdHJpcHdpcmUuc2gKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS90cmlwd2lyZS9maWxlcy90cmlwd2lyZS50eHQgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3RyaXB3aXJlL2ZpbGVzL3RyaXB3aXJlLnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3RyaXB3aXJlL2ZpbGVzL3RyaXB3aXJlLnR4dApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy90cmlwd2lyZS9maWxlcy90cmlwd2lyZS50eHQKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS90cmlwd2lyZS9maWxlcy90d2NmZy50eHQgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3RyaXB3aXJlL2ZpbGVzL3R3Y2ZnLnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3RyaXB3aXJlL2ZpbGVzL3R3Y2ZnLnR4dApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy90cmlwd2lyZS9maWxlcy90d2NmZy50eHQKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS90cmlwd2lyZS9maWxlcy90d2luc3RhbGwuc2ggYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3RyaXB3aXJlL2ZpbGVzL3R3aW5zdGFsbC5zaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3RyaXB3aXJlL2ZpbGVzL3R3aW5zdGFsbC5zaApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy90cmlwd2lyZS9maWxlcy90d2luc3RhbGwuc2gKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS90cmlwd2lyZS9maWxlcy90d3BvbC15b2N0by50eHQgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3RyaXB3aXJlL2ZpbGVzL3R3cG9sLXlvY3RvLnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3RyaXB3aXJlL2ZpbGVzL3R3cG9sLXlvY3RvLnR4dApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy90cmlwd2lyZS9maWxlcy90d3BvbC15b2N0by50eHQKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvdHJpcHdpcmUvdHJpcHdpcmVfMi40LjMuNy5iYiBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvdHJpcHdpcmUvdHJpcHdpcmVfMi40LjMuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMjYzOTJhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy90cmlwd2lyZS90cmlwd2lyZV8yLjQuMy43LmJiCkBAIC0wLDAgKzEsNzQgQEAKK1NVTU1BUlkgPSAiVHJpcHdpcmU6IEEgc3lzdGVtIGludGVncml0eSBhc3Nlc3NtZW50IHRvb2wgKElEUykiCitERVNDUklQVElPTiA9ICJPcGVuIFNvdXJjZSBUcmlwd2lyZcKuIHNvZnR3YXJlIGlzIGEgc2VjdXJpdHkgYW5kIGRhdGEgXAoraW50ZWdyaXR5IHRvb2wgdXNlZnVsIGZvciBtb25pdG9yaW5nIGFuZCBhbGVydGluZyBvbiBzcGVjaWZpYyBmaWxlIGNoYW5nZShzKSBvbiBhIHJhbmdlIG9mIHN5c3RlbXMiCitIT01FUEFHRT0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy90cmlwd2lyZSIKK1NFQ1RJT04gPSAic2VjdXJpdHkgTW9uaXRvci9BZG1pbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xYzA2OWJlOGRiYmU0OGU4OWI1ODBhYjRlZDg2YzEyNyIKKworU1JDUkVWID0gIjZlNjRhOWU1YjcwYTkwOWVjNDM5YmM1YTA5OWUzZmNmMzhjNjE0YjAiCisKK1NSQ19VUkkgPSAiXAorCWdpdDovL2dpdGh1Yi5jb20vVHJpcHdpcmUvdHJpcHdpcmUtb3Blbi1zb3VyY2UuZ2l0IFwKKwlmaWxlOi8vdHJpcHdpcmUuY3JvbiBcCisJZmlsZTovL3RyaXB3aXJlLnNoIFwKKwlmaWxlOi8vdHJpcHdpcmUudHh0IFwKKwlmaWxlOi8vdHdjZmcudHh0IFwKKwlmaWxlOi8vdHdpbnN0YWxsLnNoIFwKKwlmaWxlOi8vdHdwb2wteW9jdG8udHh0IFwKKwlmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCB1cGRhdGUtcmMuZCBwdGVzdAorCitJTklUU0NSSVBUX05BTUUgPSAidHJpcHdpcmUiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJzdGFydCA0MCBTIC4iCitUUklQV0lSRV9IT1NUID0gIiR7SE9TVF9TWVN9IgorVFJJUFdJUkVfVEFSR0VUID0gIiR7VEFSR0VUX1NZU30iCisKK0NYWEZMQUdTICs9ICItZm5vLXN0cmljdC1hbGlhc2luZyIKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtb3BlbnNzbCAgLS1lbmFibGUtc3RhdGljIC0tc3lzY29uZmRpcj0vZXRjL3RyaXB3aXJlIgorCitkb19pbnN0YWxsICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0gJHtEfSR7ZGF0YWRpcn0gJHtEfSR7YmFzZV9saWJkaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfSAke0R9JHttYW5kaXJ9ICR7RH0ke3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS8ke1BOfQorICAgIGluc3RhbGwgLWQgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliLyR7UE59ICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi8ke0JQTn0vcmVwb3J0CisgICAgaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjQgJHtEfSR7bWFuZGlyfS9tYW41ICR7RH0ke21hbmRpcn0vbWFuOAorICAgIGluc3RhbGwgLWQgJHtEfSR7ZG9jZGlyfS8ke0JQTn0gJHtEfSR7ZG9jZGlyfS8ke0JQTn0vdGVtcGxhdGVzCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKworICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L2Jpbi8qICR7RH0ke3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vbGliLyogJHtEfSR7YmFzZV9saWJkaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vbGliLyogJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliLyR7UE59CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vdHJpcHdpcmUuY3JvbiAke0R9JHtzeXNjb25mZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3RyaXB3aXJlLnNoICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC90cmlwd2lyZQorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3R3aW5zdGFsbC5zaCAke0R9JHtzeXNjb25mZGlyfS8ke1BOfQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3R3cG9sLXlvY3RvLnR4dCAke0R9JHtzeXNjb25mZGlyfS8ke1BOfS90d3BvbC50eHQKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS90d2NmZy50eHQgJHtEfSR7c3lzY29uZmRpcn0vJHtQTn0KKworICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L21hbi9tYW40LyogJHtEfSR7bWFuZGlyfS9tYW40CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vbWFuL21hbjUvKiAke0R9JHttYW5kaXJ9L21hbjUKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9tYW4vbWFuOC8qICR7RH0ke21hbmRpcn0vbWFuOAorICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3BvbGljeS90ZW1wbGF0ZXMvKiAke0R9JHtkb2NkaXJ9LyR7QlBOfS90ZW1wbGF0ZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9wb2xpY3kvKnR4dCAke0R9JHtkb2NkaXJ9LyR7QlBOfQorICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L0NPUFlJTkcgJHtEfSR7ZG9jZGlyfS8ke0JQTn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9UUkFERU1BUksgJHtEfSR7ZG9jZGlyfS8ke0JQTn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS90cmlwd2lyZS50eHQgJHtEfSR7ZG9jZGlyfS8ke0JQTn0KK30KKworZG9faW5zdGFsbF9wdGVzdF9hcHBlbmQgKCkgeworCWluc3RhbGwgLWQgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMKKwljcCAtYSAke1N9L3NyYy90ZXN0LWhhcm5lc3MvKiAke0R9JHtQVEVTVF9QQVRIfQorCXNlZCAtaSAtZSAnc0AuLi8uLi8uLi8uLi9iaW5AJHtzYmluZGlyfUAnICAke0R9JHtQVEVTVF9QQVRIfS90d3Rvb2xzLnBtCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0gJHtkb2NkaXJ9LyR7UE59LyoiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7c3lzY29uZmRpcn0vJHtQTn0vLmRlYnVnIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xvY2Fsc3RhdGVkaXJ9L2xpYi8ke1BOfS9saWIqLmEiCitGSUxFU18ke1BOfS1wdGVzdCArPSAiJHtQVEVTVF9QQVRIfS90ZXN0cyAiCisKK1JERVBFTkRTXyR7UE59ICs9ICIgcGVybCBuYW5vIG1zbXRwIGNyb25pZSIKK1JERVBFTkRTXyR7UE59LXB0ZXN0ID0gIiBwZXJsIGxpYi1wZXJsIHBlcmwtbW9kdWxlcyAiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLTUuMC9hcHBhcm1vci5jZmcgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLTUuMC9hcHBhcm1vci5jZmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjVmOWJiMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tNS4wL2FwcGFybW9yLmNmZwpAQCAtMCwwICsxLDE1IEBACitDT05GSUdfQVVESVQ9eQorIyBDT05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9BVURJVCBpcyBub3Qgc2V0CitDT05GSUdfU0VDVVJJVFlfTkVUV09SSz15CisjIENPTkZJR19TRUNVUklUWV9ORVRXT1JLX1hGUk0gaXMgbm90IHNldAorQ09ORklHX1NFQ1VSSVRZX1BBVEg9eQorIyBDT05GSUdfU0VDVVJJVFlfU0VMSU5VWCBpcyBub3Qgc2V0CitDT05GSUdfU0VDVVJJVFlfQVBQQVJNT1I9eQorQ09ORklHX1NFQ1VSSVRZX0FQUEFSTU9SX0hBU0g9eQorQ09ORklHX1NFQ1VSSVRZX0FQUEFSTU9SX0hBU0hfREVGQVVMVD15CisjIENPTkZJR19TRUNVUklUWV9BUFBBUk1PUl9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfSU5URUdSSVRZX0FVRElUPXkKK0NPTkZJR19ERUZBVUxUX1NFQ1VSSVRZX0FQUEFSTU9SPXkKKyMgQ09ORklHX0RFRkFVTFRfU0VDVVJJVFlfREFDIGlzIG5vdCBzZXQKK0NPTkZJR19ERUZBVUxUX1NFQ1VSSVRZPSJhcHBhcm1vciIKK0NPTkZJR19BVURJVF9HRU5FUklDPXkKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tNS4wL2FwcGFybW9yX29uX2Jvb3QuY2ZnIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by01LjAvYXBwYXJtb3Jfb25fYm9vdC5jZmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmMzNTc0MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tNS4wL2FwcGFybW9yX29uX2Jvb3QuY2ZnCkBAIC0wLDAgKzEgQEAKK0NPTkZJR19TRUNVUklUWV9BUFBBUk1PUl9CT09UUEFSQU1fVkFMVUU9MQpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by01LjAvc21hY2stZGVmYXVsdC1sc20uY2ZnIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by01LjAvc21hY2stZGVmYXVsdC1sc20uY2ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1YzQ4NDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLTUuMC9zbWFjay1kZWZhdWx0LWxzbS5jZmcKQEAgLTAsMCArMSwyIEBACitDT05GSUdfREVGQVVMVF9TRUNVUklUWT0ic21hY2siCitDT05GSUdfREVGQVVMVF9TRUNVUklUWV9TTUFDSz15CmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLTUuMC9zbWFjay5jZmcgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLTUuMC9zbWFjay5jZmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjJmNDY1YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tNS4wL3NtYWNrLmNmZwpAQCAtMCwwICsxLDggQEAKK0NPTkZJR19JUF9ORl9TRUNVUklUWT1tCitDT05GSUdfSVA2X05GX1NFQ1VSSVRZPW0KK0NPTkZJR19FWFQyX0ZTX1NFQ1VSSVRZPXkKK0NPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZPXkKK0NPTkZJR19FWFQ0X0ZTX1NFQ1VSSVRZPXkKK0NPTkZJR19TRUNVUklUWT15CitDT05GSUdfU0VDVVJJVFlfU01BQ0s9eQorQ09ORklHX1RNUEZTX1hBVFRSPXkKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8vYXBwYXJtb3IuY2ZnIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by9hcHBhcm1vci5jZmcKaW5kZXggMWRjNDE2OC4uYjVmOWJiMiAxMDA2NDQKLS0tIGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by9hcHBhcm1vci5jZmcKKysrIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by9hcHBhcm1vci5jZmcKQEAgLTEsMTMgKzEsMTUgQEAKIENPTkZJR19BVURJVD15Ci1DT05GSUdfQVVESVRTWVNDQUxMPXkKLUNPTkZJR19BVURJVF9XQVRDSD15Ci1DT05GSUdfQVVESVRfVFJFRT15CiAjIENPTkZJR19ORVRGSUxURVJfWFRfVEFSR0VUX0FVRElUIGlzIG5vdCBzZXQKK0NPTkZJR19TRUNVUklUWV9ORVRXT1JLPXkKKyMgQ09ORklHX1NFQ1VSSVRZX05FVFdPUktfWEZSTSBpcyBub3Qgc2V0CiBDT05GSUdfU0VDVVJJVFlfUEFUSD15CiAjIENPTkZJR19TRUNVUklUWV9TRUxJTlVYIGlzIG5vdCBzZXQKIENPTkZJR19TRUNVUklUWV9BUFBBUk1PUj15Ci1DT05GSUdfU0VDVVJJVFlfQVBQQVJNT1JfQk9PVFBBUkFNX1ZBTFVFPTEKIENPTkZJR19TRUNVUklUWV9BUFBBUk1PUl9IQVNIPXkKIENPTkZJR19TRUNVUklUWV9BUFBBUk1PUl9IQVNIX0RFRkFVTFQ9eQorIyBDT05GSUdfU0VDVVJJVFlfQVBQQVJNT1JfREVCVUcgaXMgbm90IHNldAogQ09ORklHX0lOVEVHUklUWV9BVURJVD15Ci0jIENPTkZJR19ERUZBVUxUX1NFQ1VSSVRZX0FQUEFSTU9SIGlzIG5vdCBzZXQKK0NPTkZJR19ERUZBVUxUX1NFQ1VSSVRZX0FQUEFSTU9SPXkKKyMgQ09ORklHX0RFRkFVTFRfU0VDVVJJVFlfREFDIGlzIG5vdCBzZXQKK0NPTkZJR19ERUZBVUxUX1NFQ1VSSVRZPSJhcHBhcm1vciIKK0NPTkZJR19BVURJVF9HRU5FUklDPXkKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8vYXBwYXJtb3Jfb25fYm9vdC5jZmcgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvL2FwcGFybW9yX29uX2Jvb3QuY2ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZjMzU3NDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvL2FwcGFybW9yX29uX2Jvb3QuY2ZnCkBAIC0wLDAgKzEgQEAKK0NPTkZJR19TRUNVUklUWV9BUFBBUk1PUl9CT09UUEFSQU1fVkFMVUU9MQpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b180LiUuYmJhcHBlbmQgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvXzQuJS5iYmFwcGVuZAppbmRleCAwNjdiZThmLi4zMjEzOTJjIDEwMDY0NAotLS0gYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvXzQuJS5iYmFwcGVuZAorKysgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvXzQuJS5iYmFwcGVuZApAQCAtMiw2ICsyLDcgQEAKIAogU1JDX1VSSSArPSAiXAogICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2FwcGFybW9yJywgJyBmaWxlOi8vYXBwYXJtb3IuY2ZnJywgJycsIGQpfSBcCisgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYXBwYXJtb3InLCAnIGZpbGU6Ly9hcHBhcm1vcl9vbl9ib290LmNmZycsICcnLCBkKX0gXAogIgogCiBTUkNfVVJJICs9ICJcCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvXzUuMC4lLmJiYXBwZW5kIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b181LjAuJS5iYmFwcGVuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODEwZTIxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b181LjAuJS5iYmFwcGVuZApAQCAtMCwwICsxLDExIEBACitGSUxFU0VYVFJBUEFUSFNfcHJlcGVuZCA6PSAiJHtUSElTRElSfS8ke1BOfS01LjA6IgorCitTUkNfVVJJICs9ICJcCisgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYXBwYXJtb3InLCAnIGZpbGU6Ly9hcHBhcm1vci5jZmcnLCAnJywgZCl9IFwKKyAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdhcHBhcm1vcicsICcgZmlsZTovL2FwcGFybW9yX29uX2Jvb3QuY2ZnJywgJycsIGQpfSBcCisiCisKK1NSQ19VUkkgKz0gIlwKKyAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzbWFjaycsICcgZmlsZTovL3NtYWNrLmNmZycsICcnLCBkKX0gXAorICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3NtYWNrJywgJyBmaWxlOi8vc21hY2stZGVmYXVsdC1sc20uY2ZnJywgJycsIGQpfSBcCisiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtbWFjL0FwcEFybW9yL2FwcGFybW9yXzIuMTMuMi5iYiBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1tYWMvQXBwQXJtb3IvYXBwYXJtb3JfMi4xMy4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyZWQ2MTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtbWFjL0FwcEFybW9yL2FwcGFybW9yXzIuMTMuMi5iYgpAQCAtMCwwICsxLDE2MCBAQAorU1VNTUFSWSA9ICJBcHBBcm1vciBhbm90aGVyIE1BQyBjb250cm9sIHN5c3RlbSIKK0RFU0NSSVBUSU9OID0gInVzZXItc3BhY2UgcGFyc2VyIHV0aWxpdHkgZm9yIEFwcEFybW9yIFwKKyBUaGlzIHByb3ZpZGVzIHRoZSBzeXN0ZW0gaW5pdGlhbGl6YXRpb24gc2NyaXB0cyBuZWVkZWQgdG8gdXNlIHRoZSBcCisgQXBwQXJtb3IgTWFuZGF0b3J5IEFjY2VzcyBDb250cm9sIHN5c3RlbSwgaW5jbHVkaW5nIHRoZSBBcHBBcm1vciBQYXJzZXIgXAorIHdoaWNoIGlzIHJlcXVpcmVkIHRvIGNvbnZlcnQgQXBwQXJtb3IgdGV4dCBwcm9maWxlcyBpbnRvIG1hY2hpbmUtcmVhZGFibGUgXAorIHBvbGljaWVzIHRoYXQgYXJlIGxvYWRlZCBpbnRvIHRoZSBrZXJuZWwgZm9yIHVzZSB3aXRoIHRoZSBBcHBBcm1vciBMaW51eCBcCisgU2VjdXJpdHkgTW9kdWxlLiIKK0hPTUVBUEFHRSA9ICJodHRwOi8vYXBwYXJtb3IubmV0LyIKK1NFQ1RJT04gPSAiYWRtaW4iCisKK0xJQ0VOU0UgPSAiR1BMdjIgJiBHUEx2MisgJiBCU0QtMy1DbGF1c2UgJiBMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1N9L0xJQ0VOU0U7bWQ1PWZkNTdhNGIwYmM3ODJkN2I4MGZkNDMxZjEwYmJmOWQwIgorCitERVBFTkRTID0gImJpc29uLW5hdGl2ZSBhcHIgZ2V0dGV4dC1uYXRpdmUgY29yZXV0aWxzLW5hdGl2ZSIKKworU1JDX1VSSSA9ICIgXAorCWh0dHA6Ly9hcmNoaXZlLnVidW50dS5jb20vdWJ1bnR1L3Bvb2wvbWFpbi9hLyR7QlBOfS8ke0JQTn1fJHtQVn0ub3JpZy50YXIuZ3ogXAorCWZpbGU6Ly9kaXNhYmxlX3BlcmxfaF9jaGVjay5wYXRjaCBcCisJZmlsZTovL2Nyb3NzY29tcGlsZV9wZXJsX2JpbmRpbmdzLnBhdGNoIFwKKwlmaWxlOi8vYXBwYXJtb3IucmMgXAorCWZpbGU6Ly9mdW5jdGlvbnMgXAorCWZpbGU6Ly9hcHBhcm1vciBcCisJZmlsZTovL2FwcGFybW9yLnNlcnZpY2UgXAorCWZpbGU6Ly9ydW4tcHRlc3QgXAorCSIKKworU1JDX1VSSVttZDVzdW1dID0gIjI0MzliMzUyNjZiNWEzYTQ2MWIwYTJkYmE2ZTg2M2MzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjg0NGRlZjk5MjZkZmRhNWM3ODU4NDI4ZDA2ZTQ0YWZjODA1NzNmOTcwNjQ1OGI2ZTcyODJlZGJiNDBiMTFhMzAiCisKK1BBUkFMTEVMX01BS0UgPSAiIgorCitpbmhlcml0IHBrZ2NvbmZpZyBhdXRvdG9vbHMtYnJva2Vuc2VwIHVwZGF0ZS1yYy5kIHB5dGhvbjNuYXRpdmUgcGVybG5hdGl2ZSBwdGVzdCBjcGFuIG1hbnBhZ2VzIHN5c3RlbWQKKworUEFDS0FHRUNPTkZJRyA/Pz0gInB5dGhvbiBwZXJsIgorUEFDS0FHRUNPTkZJR1ttYW5wYWdlc10gPSAiLS1lbmFibGUtbWFuLXBhZ2VzLCAtLWRpc2FibGUtbWFuLXBhZ2VzIgorUEFDS0FHRUNPTkZJR1tweXRob25dID0gIi0td2l0aC1weXRob24sIC0td2l0aG91dC1weXRob24sIHB5dGhvbjMgc3dpZy1uYXRpdmUiCitQQUNLQUdFQ09ORklHW3BlcmxdID0gIi0td2l0aC1wZXJsLCAtLXdpdGhvdXQtcGVybCwgcGVybCBwZXJsLW5hdGl2ZSBzd2lnLW5hdGl2ZSIKK1BBQ0tBR0VDT05GSUdbYXBhY2hlMl0gPSAiLCxhcGFjaGUyLCIKKworUEFNTElCPSIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICcxJywgJzAnLCBkKX0iCitIVFRQRD0iJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnYXBhY2hlMicsICcxJywgJzAnLCBkKX0iCisKKworcHl0aG9uKCkgeworICAgIGlmICdhcGFjaGUyJyBpbiBkLmdldFZhcignUEFDS0FHRUNPTkZJRycpLnNwbGl0KCkgYW5kIFwKKyAgICAgICAgICAgICd3ZWJzZXJ2ZXInIG5vdCBpbiBkLmdldFZhcignQkJGSUxFX0NPTExFQ1RJT05TJykuc3BsaXQoKToKKyAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFJlY2lwZSgnUmVxdWlyZXMgbWV0YS13ZWJzZXJ2ZXIgdG8gYmUgcHJlc2VudC4nKQorfQorCitESVNBQkxFX1NUQVRJQyA9ICIiCisKK2RvX2NvbmZpZ3VyZSgpIHsKKwljZCAke1N9L2xpYnJhcmllcy9saWJhcHBhcm1vcgorCWFjbG9jYWwKKwlhdXRvY29uZiAtLWZvcmNlCisJbGlidG9vbGl6ZSAtLWF1dG9tYWtlIC1jIC0tZm9yY2UKKwlhdXRvbWFrZSAtYWMKKwkuL2NvbmZpZ3VyZSAke0NPTkZJR1VSRU9QVFN9ICR7RVhUUkFfT0VDT05GfQorfQorCitkb19jb21waWxlICgpIHsKKyAgICAgICAgIyBGaXhlczoKKyAgICAgICAgIyB8IHNlZCAtaWUgJ3MvLy9nJyBNYWtlZmlsZS5wZXJsCisgICAgICAgICMgfCBzZWQ6IC1lIGV4cHJlc3Npb24gIzEsIGNoYXIgMDogbm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uCisgICAgICAgICN8IE1ha2VmaWxlOjQ3ODogcmVjaXBlIGZvciB0YXJnZXQgJ01ha2VmaWxlLnBlcmwnIGZhaWxlZAorICAgICAgICBzZWQgLWkgInNAc2VkIC1pZSAncy8vL2cnIE1ha2VmaWxlLnBlcmxAQCIgJHtTfS9saWJyYXJpZXMvbGliYXBwYXJtb3Ivc3dpZy9wZXJsL01ha2VmaWxlCisKKworCW9lX3J1bm1ha2UgLUMgJHtCfS9saWJyYXJpZXMvbGliYXBwYXJtb3IKKyAgICAgICAgb2VfcnVubWFrZSAtQyAke0J9L2JpbnV0aWxzCisgICAgICAgIG9lX3J1bm1ha2UgLUMgJHtCfS91dGlscworICAgICAgICBvZV9ydW5tYWtlIC1DICR7Qn0vcGFyc2VyCisgICAgICAgIG9lX3J1bm1ha2UgLUMgJHtCfS9wcm9maWxlcworCisJaWYgdGVzdCAteiAiJHtIVFRQRH0iIDsgdGhlbgorICAgICAgICAJb2VfcnVubWFrZSAtQyAke0J9L2NoYW5nZWhhdC9tb2RfYXBwYXJtb3IKKwlmaQkKKworCWlmIHRlc3QgLXogIiR7UEFNTElCfSIgOyB0aGVuCisgICAgICAgIAlvZV9ydW5tYWtlIC1DICR7Qn0vY2hhbmdlaGF0L3BhbV9hcHBhcm1vcgorCWZpCit9CisKK2RvX2luc3RhbGwgKCkgeworCWluc3RhbGwgLWQgJHtEfS8ke0lOSVRfRF9ESVJ9CisJaW5zdGFsbCAtZCAke0R9L2xpYi9hcHBhcm1vcgorCQkKKwlvZV9ydW5tYWtlIC1DICR7Qn0vbGlicmFyaWVzL2xpYmFwcGFybW9yIERFU1RESVI9IiR7RH0iIGluc3RhbGwKKwlvZV9ydW5tYWtlIC1DICR7Qn0vYmludXRpbHMgREVTVERJUj0iJHtEfSIgaW5zdGFsbAorCW9lX3J1bm1ha2UgLUMgJHtCfS91dGlscyBERVNURElSPSIke0R9IiBpbnN0YWxsCisJb2VfcnVubWFrZSAtQyAke0J9L3BhcnNlciBERVNURElSPSIke0R9IiBpbnN0YWxsCisJb2VfcnVubWFrZSAtQyAke0J9L3Byb2ZpbGVzIERFU1RESVI9IiR7RH0iIGluc3RhbGwKKworCSMgSWYgcGVybCBpcyBkaXNhYmxlZCB0aGlzIHNjcmlwdCB3b24ndCBiZSBhbnkgZ29vZAorCWlmICEgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCdwZXJsJywndHJ1ZScsJ2ZhbHNlJywgZCl9OyB0aGVuCisJCXJtIC1mICR7RH0ke3NiaW5kaXJ9L2FhLW5vdGlmeQorCWZpCisKKwlpZiB0ZXN0IC16ICIke0hUVFBEfSIgOyB0aGVuCisJCW9lX3J1bm1ha2UgLUMgJHtCfS9jaGFuZ2VoYXQvbW9kX2FwcGFybW9yIERFU1RESVI9IiR7RH0iIGluc3RhbGwKKwlmaQorCisJaWYgdGVzdCAteiAiJHtQQU1MSUJ9IiA7IHRoZW4KKwkJb2VfcnVubWFrZSAtQyAke0J9L2NoYW5nZWhhdC9wYW1fYXBwYXJtb3IgREVTVERJUj0iJHtEfSIgaW5zdGFsbAorCWZpCisKKwkjIGFhLWVhc3lwcm9mIGlzIGluc3RhbGxlZCBieSBweXRob24tdG9vbHMtc2V0dXAucHksIGZpeCBpdCB1cAorCXNlZCAtaSAtZSAnczovdXNyL2Jpbi9lbnYuKjovdXNyL2Jpbi9weXRob24zOicgJHtEfSR7YmluZGlyfS9hYS1lYXN5cHJvZgorCWNobW9kIDA3NTUgJHtEfSR7YmluZGlyfS9hYS1lYXN5cHJvZgorCisJaW5zdGFsbCAke1dPUktESVJ9L2FwcGFybW9yICR7RH0vJHtJTklUX0RfRElSfS9hcHBhcm1vcgorCWluc3RhbGwgJHtXT1JLRElSfS9mdW5jdGlvbnMgJHtEfS9saWIvYXBwYXJtb3IKKwlpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9CisJaW5zdGFsbCAke1dPUktESVJ9L2FwcGFybW9yLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0KK30KKworZG9fY29tcGlsZV9wdGVzdCAoKSB7CisgICAgICAgIG9lX3J1bm1ha2UgLUMgJHtCfS90ZXN0cy9yZWdyZXNzaW9uL2FwcGFybW9yCisgICAgICAgIG9lX3J1bm1ha2UgLUMgJHtCfS9wYXJzZXIvdHN0CisgICAgICAgIG9lX3J1bm1ha2UgLUMgJHtCfS9saWJyYXJpZXMvbGliYXBwYXJtb3IKK30KKworZG9faW5zdGFsbF9wdGVzdCAoKSB7CisJdD0ke0R9LyR7UFRFU1RfUEFUSH0vdGVzdHN1aXRlCisJaW5zdGFsbCAtZCAke3R9CisJaW5zdGFsbCAtZCAke3R9L3Rlc3RzL3JlZ3Jlc3Npb24vYXBwYXJtb3IKKwljcCAtcmYgJHtCfS90ZXN0cy9yZWdyZXNzaW9uL2FwcGFybW9yICR7dH0vdGVzdHMvcmVncmVzc2lvbgorCisJaW5zdGFsbCAtZCAke3R9L3BhcnNlci90c3QKKwljcCAtcmYgJHtCfS9wYXJzZXIvdHN0ICR7dH0vcGFyc2VyCisJY3AgJHtCfS9wYXJzZXIvYXBwYXJtb3JfcGFyc2VyICR7dH0vcGFyc2VyCisJY3AgJHtCfS9wYXJzZXIvZnJvYl9zbGFja19yYyAke3R9L3BhcnNlcgorCisJaW5zdGFsbCAtZCAke3R9L2xpYnJhcmllcy9saWJhcHBhcm1vcgorCWNwIC1yZiAke0J9L2xpYnJhcmllcy9saWJhcHBhcm1vciAke3R9L2xpYnJhcmllcworCisJaW5zdGFsbCAtZCAke3R9L2NvbW1vbgorCWNwIC1yZiAke0J9L2NvbW1vbiAke3R9CisKKwlpbnN0YWxsIC1kICR7dH0vYmludXRpbHMKKwljcCAtcmYgJHtCfS9iaW51dGlscyAke3R9Cit9CisKK0lOSVRTQ1JJUFRfUEFDS0FHRVMgPSAiJHtQTn0iCitJTklUU0NSSVBUX05BTUUgPSAiYXBwYXJtb3IiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJzdGFydCAxNiAyIDMgNCA1IC4gc3RvcCAzNSAwIDEgNiAuIgorCitTWVNURU1EX1BBQ0tBR0VTID0gIiR7UE59IgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImFwcGFybW9yLnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCisKK1BBQ0tBR0VTICs9ICJtb2QtJHtQTn0iCisKK0ZJTEVTXyR7UE59ICs9ICIvbGliL2FwcGFybW9yLyAke3N5c2NvbmZkaXJ9L2FwcGFybW9yICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IgorRklMRVNfbW9kLSR7UE59ID0gIiR7bGliZGlyfS9hcGFjaGUyL21vZHVsZXMvKiIKKworUkRFUEVORFNfJHtQTn0gKz0gImJhc2ggbHNiIgorUkRFUEVORFNfJHtQTn0gKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywncHl0aG9uJywncHl0aG9uMyBweXRob24zLW1vZHVsZXMnLCcnLCBkKX0iCitSREVQRU5EU18ke1BOfV9yZW1vdmUgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywncGVybCcsJycsJ3BlcmwnLCBkKX0iCitSREVQRU5EU18ke1BOfS1wdGVzdCArPSAicGVybCBjb3JldXRpbHMgZGJ1cy1saWIgYmFzaCIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9BcHBBcm1vci9maWxlcy9hcHBhcm1vciBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1tYWMvQXBwQXJtb3IvZmlsZXMvYXBwYXJtb3IKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9BcHBBcm1vci9maWxlcy9hcHBhcm1vcgpyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLW1hYy9BcHBBcm1vci9maWxlcy9hcHBhcm1vcgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L0FwcEFybW9yL2ZpbGVzL2FwcGFybW9yLnJjIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLW1hYy9BcHBBcm1vci9maWxlcy9hcHBhcm1vci5yYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L0FwcEFybW9yL2ZpbGVzL2FwcGFybW9yLnJjCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtbWFjL0FwcEFybW9yL2ZpbGVzL2FwcGFybW9yLnJjCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvQXBwQXJtb3IvZmlsZXMvYXBwYXJtb3Iuc2VydmljZSBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1tYWMvQXBwQXJtb3IvZmlsZXMvYXBwYXJtb3Iuc2VydmljZQpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L0FwcEFybW9yL2ZpbGVzL2FwcGFybW9yLnNlcnZpY2UKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1tYWMvQXBwQXJtb3IvZmlsZXMvYXBwYXJtb3Iuc2VydmljZQpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L0FwcEFybW9yL2ZpbGVzL2Nyb3NzY29tcGlsZV9wZXJsX2JpbmRpbmdzLnBhdGNoIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLW1hYy9BcHBBcm1vci9maWxlcy9jcm9zc2NvbXBpbGVfcGVybF9iaW5kaW5ncy5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L0FwcEFybW9yL2ZpbGVzL2Nyb3NzY29tcGlsZV9wZXJsX2JpbmRpbmdzLnBhdGNoCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtbWFjL0FwcEFybW9yL2ZpbGVzL2Nyb3NzY29tcGlsZV9wZXJsX2JpbmRpbmdzLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvQXBwQXJtb3IvZmlsZXMvZGlzYWJsZV9wZGYucGF0Y2ggYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtbWFjL0FwcEFybW9yL2ZpbGVzL2Rpc2FibGVfcGRmLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvQXBwQXJtb3IvZmlsZXMvZGlzYWJsZV9wZGYucGF0Y2gKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1tYWMvQXBwQXJtb3IvZmlsZXMvZGlzYWJsZV9wZGYucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9BcHBBcm1vci9maWxlcy9kaXNhYmxlX3BlcmxfaF9jaGVjay5wYXRjaCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1tYWMvQXBwQXJtb3IvZmlsZXMvZGlzYWJsZV9wZXJsX2hfY2hlY2sucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9BcHBBcm1vci9maWxlcy9kaXNhYmxlX3BlcmxfaF9jaGVjay5wYXRjaApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLW1hYy9BcHBBcm1vci9maWxlcy9kaXNhYmxlX3BlcmxfaF9jaGVjay5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L0FwcEFybW9yL2ZpbGVzL2Z1bmN0aW9ucyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1tYWMvQXBwQXJtb3IvZmlsZXMvZnVuY3Rpb25zCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvQXBwQXJtb3IvZmlsZXMvZnVuY3Rpb25zCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtbWFjL0FwcEFybW9yL2ZpbGVzL2Z1bmN0aW9ucwpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L0FwcEFybW9yL2ZpbGVzL3J1bi1wdGVzdCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1tYWMvQXBwQXJtb3IvZmlsZXMvcnVuLXB0ZXN0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvQXBwQXJtb3IvZmlsZXMvcnVuLXB0ZXN0CnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtbWFjL0FwcEFybW9yL2ZpbGVzL3J1bi1wdGVzdApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NtYWNrL2ZpbGVzL3J1bi1wdGVzdCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1tYWMvc21hY2svZmlsZXMvcnVuLXB0ZXN0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc21hY2svZmlsZXMvcnVuLXB0ZXN0CnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtbWFjL3NtYWNrL2ZpbGVzL3J1bi1wdGVzdApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NtYWNrL2ZpbGVzL3NtYWNrX2dlbmVyYXRvcl9tYWtlX2ZpeHVwLnBhdGNoIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLW1hYy9zbWFjay9maWxlcy9zbWFja19nZW5lcmF0b3JfbWFrZV9maXh1cC5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NtYWNrL2ZpbGVzL3NtYWNrX2dlbmVyYXRvcl9tYWtlX2ZpeHVwLnBhdGNoCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtbWFjL3NtYWNrL2ZpbGVzL3NtYWNrX2dlbmVyYXRvcl9tYWtlX2ZpeHVwLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc21hY2svc21hY2tfMS4zLjEuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtbWFjL3NtYWNrL3NtYWNrXzEuMy4xLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc21hY2svc21hY2tfMS4zLjEuYmIKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1tYWMvc21hY2svc21hY2tfMS4zLjEuYmIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1wZXJsL3BlcmwvbGlid2hpc2tlcjItcGVybF8yLjUuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtcGVybC9wZXJsL2xpYndoaXNrZXIyLXBlcmxfMi41LmJiCmluZGV4IGQ5YWY0MzAuLjcxODU3YWIgMTAwNjQ0Ci0tLSBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1wZXJsL3BlcmwvbGlid2hpc2tlcjItcGVybF8yLjUuYmIKKysrIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXBlcmwvcGVybC9saWJ3aGlza2VyMi1wZXJsXzIuNS5iYgpAQCAtMjQsNCArMjQsNiBAQAogICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0gSU5TVEFMTERJUj0ke1BFUkxMSUJESVJTfS92ZW5kb3JfcGVybC8ke1BFUkxWRVJTSU9OfSBNQU5ESVI9JHtkYXRhZGlyfS9wZXJsLyR7UEVSTFZFUlNJT059CiB9CiAKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3BlcmwiCisKIEJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L0FwcEFybW9yL2FwcGFybW9yXzIuMTIuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvQXBwQXJtb3IvYXBwYXJtb3JfMi4xMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTNmOGRjOS4uMDAwMDAwMAotLS0gYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvQXBwQXJtb3IvYXBwYXJtb3JfMi4xMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE1OSArMCwwIEBACi1TVU1NQVJZID0gIkFwcEFybW9yIGFub3RoZXIgTUFDIGNvbnRyb2wgc3lzdGVtIgotREVTQ1JJUFRJT04gPSAidXNlci1zcGFjZSBwYXJzZXIgdXRpbGl0eSBmb3IgQXBwQXJtb3IgXAotIFRoaXMgcHJvdmlkZXMgdGhlIHN5c3RlbSBpbml0aWFsaXphdGlvbiBzY3JpcHRzIG5lZWRlZCB0byB1c2UgdGhlIFwKLSBBcHBBcm1vciBNYW5kYXRvcnkgQWNjZXNzIENvbnRyb2wgc3lzdGVtLCBpbmNsdWRpbmcgdGhlIEFwcEFybW9yIFBhcnNlciBcCi0gd2hpY2ggaXMgcmVxdWlyZWQgdG8gY29udmVydCBBcHBBcm1vciB0ZXh0IHByb2ZpbGVzIGludG8gbWFjaGluZS1yZWFkYWJsZSBcCi0gcG9saWNpZXMgdGhhdCBhcmUgbG9hZGVkIGludG8gdGhlIGtlcm5lbCBmb3IgdXNlIHdpdGggdGhlIEFwcEFybW9yIExpbnV4IFwKLSBTZWN1cml0eSBNb2R1bGUuIgotSE9NRUFQQUdFID0gImh0dHA6Ly9hcHBhcm1vci5uZXQvIgotU0VDVElPTiA9ICJhZG1pbiIKLQotTElDRU5TRSA9ICJHUEx2MiAmIEdQTHYyKyAmIEJTRC0zLUNsYXVzZSAmIExHUEx2Mi4xKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7U30vTElDRU5TRTttZDU9ZmQ1N2E0YjBiYzc4MmQ3YjgwZmQ0MzFmMTBiYmY5ZDAiCi0KLURFUEVORFMgPSAiYmlzb24tbmF0aXZlIGFwciBnZXR0ZXh0LW5hdGl2ZSBjb3JldXRpbHMtbmF0aXZlIgotCi1TUkNfVVJJID0gIiBcCi0JaHR0cDovL2FyY2hpdmUudWJ1bnR1LmNvbS91YnVudHUvcG9vbC9tYWluL2EvJHtCUE59LyR7QlBOfV8ke1BWfS5vcmlnLnRhci5neiBcCi0JZmlsZTovL2Rpc2FibGVfcGVybF9oX2NoZWNrLnBhdGNoIFwKLQlmaWxlOi8vY3Jvc3Njb21waWxlX3BlcmxfYmluZGluZ3MucGF0Y2ggXAotCWZpbGU6Ly9hcHBhcm1vci5yYyBcCi0JZmlsZTovL2Z1bmN0aW9ucyBcCi0JZmlsZTovL2FwcGFybW9yIFwKLQlmaWxlOi8vYXBwYXJtb3Iuc2VydmljZSBcCi0JZmlsZTovL3J1bi1wdGVzdCBcCi0JIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNDkwNTRmNTgwNDJmOGU1MWVhOTJjYzg2NjU3NWE4MzMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGEyYjBjZDA4M2ZhYTRkMDY0MGY1NzkwMjRiZTNhNjI5ZmFhN2RiM2I5OTU0MDc5OGExYTA1MGUyZWFiYTA1NiIKLQotUEFSQUxMRUxfTUFLRSA9ICIiCi0KLWluaGVyaXQgcGtnY29uZmlnIGF1dG90b29scy1icm9rZW5zZXAgdXBkYXRlLXJjLmQgcHl0aG9uM25hdGl2ZSBwZXJsbmF0aXZlIHB0ZXN0IGNwYW4KLWluaGVyaXQgJHtAYmIudXRpbHMuY29udGFpbnMoJ1ZJUlRVQUwtUlVOVElNRV9pbml0X21hbmFnZXInLCdzeXN0ZW1kJywnc3lzdGVtZCcsJycsIGQpfQotCi1TID0gIiR7V09SS0RJUn0vYXBwYXJtb3ItJHtQVn0iCi0KLVBBQ0tBR0VDT05GSUcgPz0ibWFuIHB5dGhvbiBwZXJsIgotUEFDS0FHRUNPTkZJR1ttYW5dID0gIi0tZW5hYmxlLW1hbi1wYWdlcywgLS1kaXNhYmxlLW1hbi1wYWdlcyIKLVBBQ0tBR0VDT05GSUdbcHl0aG9uXSA9ICItLXdpdGgtcHl0aG9uLCAtLXdpdGhvdXQtcHl0aG9uLCBweXRob24zIHN3aWctbmF0aXZlIgotUEFDS0FHRUNPTkZJR1twZXJsXSA9ICItLXdpdGgtcGVybCwgLS13aXRob3V0LXBlcmwsIHBlcmwgcGVybC1uYXRpdmUgc3dpZy1uYXRpdmUiCi1QQUNLQUdFQ09ORklHW2FwYWNoZTJdID0gIiwsYXBhY2hlMiwiCi0KLVBBTUxJQj0iJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnMScsICcwJywgZCl9IgotSFRUUEQ9IiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2FwYWNoZTInLCAnMScsICcwJywgZCl9IgotCi0KLXB5dGhvbigpIHsKLSAgICBpZiAnYXBhY2hlMicgaW4gZC5nZXRWYXIoJ1BBQ0tBR0VDT05GSUcnKS5zcGxpdCgpIGFuZCBcCi0gICAgICAgICAgICAnd2Vic2VydmVyJyBub3QgaW4gZC5nZXRWYXIoJ0JCRklMRV9DT0xMRUNUSU9OUycpLnNwbGl0KCk6Ci0gICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBSZWNpcGUoJ1JlcXVpcmVzIG1ldGEtd2Vic2VydmVyIHRvIGJlIHByZXNlbnQuJykKLX0KLQotQ09ORklHVVJFT1BUU19yZW1vdmUgPSAiLS1kaXNhYmxlLXN0YXRpYyIKLUVYVFJBX09FQ09ORl9hcHBlbmQgPSAiIC0tZW5hYmxlLXN0YXRpYyIKLQotZG9fY29uZmlndXJlKCkgewotCWNkICR7U30vbGlicmFyaWVzL2xpYmFwcGFybW9yCi0JYWNsb2NhbAotCWF1dG9jb25mIC0tZm9yY2UKLQlsaWJ0b29saXplIC0tYXV0b21ha2UgLWMgLS1mb3JjZQotCWF1dG9tYWtlIC1hYwotCS4vY29uZmlndXJlICR7Q09ORklHVVJFT1BUU30gJHtFWFRSQV9PRUNPTkZ9Ci0Jc2VkIC1pIC1lICdzI15ZQUNDLiojWUFDQyA6PSBiaXNvbiMnICR7U30vcGFyc2VyL01ha2VmaWxlCi0Jc2VkIC1pIC1lICdzI15MRVguKiNMRVggOj0gZmxleCMnICR7U30vcGFyc2VyL01ha2VmaWxlCi19Ci0KLWRvX2NvbXBpbGUgKCkgewotCW9lX3J1bm1ha2UgLUMgJHtCfS9saWJyYXJpZXMvbGliYXBwYXJtb3IKLSAgICAgICAgb2VfcnVubWFrZSAtQyAke0J9L2JpbnV0aWxzCi0gICAgICAgIG9lX3J1bm1ha2UgLUMgJHtCfS91dGlscwotICAgICAgICBvZV9ydW5tYWtlIC1DICR7Qn0vcGFyc2VyCi0gICAgICAgIG9lX3J1bm1ha2UgLUMgJHtCfS9wcm9maWxlcwotCi0JaWYgdGVzdCAteiAiJHtIVFRQRH0iIDsgdGhlbgotICAgICAgICAJb2VfcnVubWFrZSAtQyAke0J9L2NoYW5nZWhhdC9tb2RfYXBwYXJtb3IKLQlmaQkKLQotCWlmIHRlc3QgLXogIiR7UEFNTElCfSIgOyB0aGVuCi0gICAgICAgIAlvZV9ydW5tYWtlIC1DICR7Qn0vY2hhbmdlaGF0L3BhbV9hcHBhcm1vcgotCWZpCi19Ci0KLWRvX2luc3RhbGwgKCkgewotCWluc3RhbGwgLWQgJHtEfS8ke0lOSVRfRF9ESVJ9Ci0JaW5zdGFsbCAtZCAke0R9L2xpYi9hcHBhcm1vcgotCQkKLQlvZV9ydW5tYWtlIC1DICR7Qn0vbGlicmFyaWVzL2xpYmFwcGFybW9yIERFU1RESVI9IiR7RH0iIGluc3RhbGwKLQlvZV9ydW5tYWtlIC1DICR7Qn0vYmludXRpbHMgREVTVERJUj0iJHtEfSIgaW5zdGFsbAotCW9lX3J1bm1ha2UgLUMgJHtCfS91dGlscyBERVNURElSPSIke0R9IiBpbnN0YWxsCi0Jb2VfcnVubWFrZSAtQyAke0J9L3BhcnNlciBERVNURElSPSIke0R9IiBpbnN0YWxsCi0Jb2VfcnVubWFrZSAtQyAke0J9L3Byb2ZpbGVzIERFU1RESVI9IiR7RH0iIGluc3RhbGwKLQotCWlmIHRlc3QgLXogIiR7SFRUUER9IiA7IHRoZW4KLQkJb2VfcnVubWFrZSAtQyAke0J9L2NoYW5nZWhhdC9tb2RfYXBwYXJtb3IgREVTVERJUj0iJHtEfSIgaW5zdGFsbAotCWZpCi0KLQlpZiB0ZXN0IC16ICIke1BBTUxJQn0iIDsgdGhlbgotCQlvZV9ydW5tYWtlIC1DICR7Qn0vY2hhbmdlaGF0L3BhbV9hcHBhcm1vciBERVNURElSPSIke0R9IiBpbnN0YWxsCi0JZmkKLQotCSMgYWEtZWFzeXByb2YgaXMgaW5zdGFsbGVkIGJ5IHB5dGhvbi10b29scy1zZXR1cC5weSwgZml4IGl0IHVwCi0Jc2VkIC1pIC1lICdzOi91c3IvYmluL2Vudi4qOi91c3IvYmluL3B5dGhvbjM6JyAke0R9JHtiaW5kaXJ9L2FhLWVhc3lwcm9mCi0JY2htb2QgMDc1NSAke0R9JHtiaW5kaXJ9L2FhLWVhc3lwcm9mCi0KLQlpbnN0YWxsICR7V09SS0RJUn0vYXBwYXJtb3IgJHtEfS8ke0lOSVRfRF9ESVJ9L2FwcGFybW9yCi0JaW5zdGFsbCAke1dPUktESVJ9L2Z1bmN0aW9ucyAke0R9L2xpYi9hcHBhcm1vcgotCWlmIFsgIiR7VklSVFVBTC1SVU5USU1FX2luaXRfbWFuYWdlcn0iID0gInN5c3RlbWQiIF07IHRoZW4KLQkJaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfQotCQlpbnN0YWxsICR7V09SS0RJUn0vYXBwYXJtb3Iuc2VydmljZSBcCi0JCQkke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfQotCWZpCi19Ci0KLWRvX2NvbXBpbGVfcHRlc3QgKCkgewotICAgICAgICBvZV9ydW5tYWtlIC1DICR7Qn0vdGVzdHMvcmVncmVzc2lvbi9hcHBhcm1vcgotICAgICAgICBvZV9ydW5tYWtlIC1DICR7Qn0vcGFyc2VyL3RzdAotICAgICAgICBvZV9ydW5tYWtlIC1DICR7Qn0vbGlicmFyaWVzL2xpYmFwcGFybW9yCi19Ci0KLWRvX2luc3RhbGxfcHRlc3QgKCkgewotCXQ9JHtEfS8ke1BURVNUX1BBVEh9L3Rlc3RzdWl0ZQotCWluc3RhbGwgLWQgJHt0fQotCWluc3RhbGwgLWQgJHt0fS90ZXN0cy9yZWdyZXNzaW9uL2FwcGFybW9yCi0JY3AgLXJmICR7Qn0vdGVzdHMvcmVncmVzc2lvbi9hcHBhcm1vciAke3R9L3Rlc3RzL3JlZ3Jlc3Npb24KLQotCWluc3RhbGwgLWQgJHt0fS9wYXJzZXIvdHN0Ci0JY3AgLXJmICR7Qn0vcGFyc2VyL3RzdCAke3R9L3BhcnNlcgotCWNwICR7Qn0vcGFyc2VyL2FwcGFybW9yX3BhcnNlciAke3R9L3BhcnNlcgotCWNwICR7Qn0vcGFyc2VyL2Zyb2Jfc2xhY2tfcmMgJHt0fS9wYXJzZXIKLQotCWluc3RhbGwgLWQgJHt0fS9saWJyYXJpZXMvbGliYXBwYXJtb3IKLQljcCAtcmYgJHtCfS9saWJyYXJpZXMvbGliYXBwYXJtb3IgJHt0fS9saWJyYXJpZXMKLQotCWluc3RhbGwgLWQgJHt0fS9jb21tb24KLQljcCAtcmYgJHtCfS9jb21tb24gJHt0fQotCi0JaW5zdGFsbCAtZCAke3R9L2JpbnV0aWxzCi0JY3AgLXJmICR7Qn0vYmludXRpbHMgJHt0fQotfQotCi1JTklUU0NSSVBUX1BBQ0tBR0VTID0gIiR7UE59IgotSU5JVFNDUklQVF9OQU1FID0gImFwcGFybW9yIgotSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgMTYgMiAzIDQgNSAuIHN0b3AgMzUgMCAxIDYgLiIKLQotU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfSIKLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJhcHBhcm1vci5zZXJ2aWNlIgotU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgotCi1QQUNLQUdFUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnYXBhY2hlMicsICdtb2QtJHtQTn0nLCAnJywgZCl9IgotCi1GSUxFU18ke1BOfSArPSAiL2xpYi9hcHBhcm1vci8gJHtzeXNjb25mZGlyfS9hcHBhcm1vciAke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSIKLUZJTEVTX21vZC0ke1BOfSA9ICIke2xpYmRpcn0vYXBhY2hlMi9tb2R1bGVzLyoiCi0KLUFMTE9XX0VNUFRZXyR7UE59ID0gIjEiCi0KLVJERVBFTkRTXyR7UE59ICs9ICJiYXNoIGxzYiIKLVJERVBFTkRTXyR7UE59ICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsJ3B5dGhvbicsJ3B5dGhvbjMgcHl0aG9uMy1tb2R1bGVzJywnJywgZCl9IgotUkRFUEVORFNfJHtQTn1fcmVtb3ZlICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsJ3BlcmwnLCcnLCdwZXJsJywgZCl9IgotUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gInBlcmwgY29yZXV0aWxzIGRidXMtbGliIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2NoZWNrc2VjL2NoZWNrc2VjXzEuMTEuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvY2hlY2tzZWMvY2hlY2tzZWNfMS4xMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OWE2N2JkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2NoZWNrc2VjL2NoZWNrc2VjXzEuMTEuYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJMaW51eCBzeXN0ZW0gc2VjdXJpdHkgY2hlY2tzIgorREVTQ1JJUFRJT04gPSAiVGhlIGNoZWNrc2VjIHNjcmlwdCBpcyBkZXNpZ25lZCB0byB0ZXN0IHdoYXQgc3RhbmRhcmQgTGludXggT1MgYW5kIFBhWCBzZWN1cml0eSBmZWF0dXJlcyBhcmUgYmVpbmcgdXNlZC4iCitTRUNUSU9OID0gInNlY3VyaXR5IgorTElDRU5TRSA9ICJCU0QiCitIT01FUEFHRT0iaHR0cHM6Ly9naXRodWIuY29tL3NsaW1tNjA5L2NoZWNrc2VjLnNoIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9OTNmZGRjY2ExOWY2Yzg5Nzg3MWY5YjVmOWEwMzVmNGEiCisKK1NSQ1JFViA9ICJhNTdlMDNjNGY2MmRiYWNhMGVjOTQ5YmJjNTg0OTFmYjBjNDYxNDQ3IgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3NsaW1tNjA5L2NoZWNrc2VjLnNoIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L2NoZWNrc2VjICR7RH0ke2JpbmRpcn0KK30KKworUkRFUEVORFNfJHtQTn0gPSAiYmFzaCBvcGVuc3NsLWJpbiIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9jaGVja3NlYy9jaGVja3NlY18xLjUuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvY2hlY2tzZWMvY2hlY2tzZWNfMS41LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwN2YwZjdjLi4wMDAwMDAwCi0tLSBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9jaGVja3NlYy9jaGVja3NlY18xLjUuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1TVU1NQVJZID0gIlByb2dyYW0gcmFkb21pbml6YXRpb24iCi1ERVNDUklQVElPTiA9ICJUaGUgY2hlY2tzZWMuc2ggc2NyaXB0IGlzIGRlc2lnbmVkIHRvIHRlc3Qgd2hhdCBzdGFuZGFyZCBMaW51eCBPUyBhbmQgUGFYIHNlY3VyaXR5IGZlYXR1cmVzIGFyZSBiZWluZyB1c2VkLiIKLVNFQ1RJT04gPSAic2VjdXJpdHkiCi1MSUNFTlNFID0gIkJTRCIKLUhPTUVQQUdFPSJodHRwOi8vd3d3LnRyYXBraXQuZGUvdG9vbHMvY2hlY2tzZWMuaHRtbCIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vY2hlY2tzZWMuc2g7bWQ1PTA3NTk5NmJlMzM5YWIxNmFkN2I5NGQ2ZGUzZWUwN2JkIgotCi1TUkNfVVJJID0gImZpbGU6Ly9jaGVja3NlYy5zaCIKLQotUyA9ICIke1dPUktESVJ9IgotCi1kb19pbnN0YWxsKCkgewotICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQotICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2NoZWNrc2VjLnNoICAgICR7RH0ke2JpbmRpcn0KLX0KLQotUkRFUEVORFNfJHtQTn0gPSAiYmFzaCIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9jaGVja3NlYy9maWxlcy9jaGVja3NlYy5zaCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9jaGVja3NlYy9maWxlcy9jaGVja3NlYy5zaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGQxZjcyZS4uMDAwMDAwMAotLS0gYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvY2hlY2tzZWMvZmlsZXMvY2hlY2tzZWMuc2gKKysrIC9kZXYvbnVsbApAQCAtMSw4ODIgKzAsMCBAQAotIyEvYmluL2Jhc2gKLSMKLSMgVGhlIEJTRCBMaWNlbnNlIChodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2JzZC1saWNlbnNlLnBocCkgCi0jIHNwZWNpZmllcyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdXNlIGZvciBjaGVja3NlYy5zaDoKLSMKLSMgQ29weXJpZ2h0IChjKSAyMDA5LTIwMTEsIFRvYmlhcyBLbGVpbi4KLSMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IAotIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgCi0jIGFyZSBtZXQ6Ci0jIAotIyAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IAotIyAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSMgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCAKLSMgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gCi0jICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSAKLSMgICBkaXN0cmlidXRpb24uCi0jICogTmVpdGhlciB0aGUgbmFtZSBvZiBUb2JpYXMgS2xlaW4gbm9yIHRoZSBuYW1lIG9mIHRyYXBraXQuZGUgbWF5IGJlIAotIyAgIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIAotIyAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotIwotIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTIAotIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCAKLSMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgCi0jIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIAotIyBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCAKLSMgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgCi0jIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyAKLSMgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIAotIyBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIAotIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgCi0jIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIAotIyBEQU1BR0UuCi0jCi0jIE5hbWUgICAgOiBjaGVja3NlYy5zaAotIyBWZXJzaW9uIDogMS41Ci0jIEF1dGhvciAgOiBUb2JpYXMgS2xlaW4KLSMgRGF0ZSAgICA6IE5vdmVtYmVyIDIwMTEKLSMgRG93bmxvYWQ6IGh0dHA6Ly93d3cudHJhcGtpdC5kZS90b29scy9jaGVja3NlYy5odG1sCi0jIENoYW5nZXMgOiBodHRwOi8vd3d3LnRyYXBraXQuZGUvdG9vbHMvY2hlY2tzZWNfY2hhbmdlcy50eHQKLSMKLSMgRGVzY3JpcHRpb246Ci0jCi0jIE1vZGVybiBMaW51eCBkaXN0cmlidXRpb25zIG9mZmVyIHNvbWUgbWl0aWdhdGlvbiB0ZWNobmlxdWVzIHRvIG1ha2UgaXQgCi0jIGhhcmRlciB0byBleHBsb2l0IHNvZnR3YXJlIHZ1bG5lcmFiaWxpdGllcyByZWxpYWJseS4gTWl0aWdhdGlvbnMgc3VjaCAKLSMgYXMgUkVMUk8sIE5vRXhlY3V0ZSAoTlgpLCBTdGFjayBDYW5hcmllcywgQWRkcmVzcyBTcGFjZSBMYXlvdXQgCi0jIFJhbmRvbWl6YXRpb24gKEFTTFIpIGFuZCBQb3NpdGlvbiBJbmRlcGVuZGVudCBFeGVjdXRhYmxlcyAoUElFKSBoYXZlIAotIyBtYWRlIHJlbGlhYmx5IGV4cGxvaXRpbmcgYW55IHZ1bG5lcmFiaWxpdGllcyB0aGF0IGRvIGV4aXN0IGZhciBtb3JlIAotIyBjaGFsbGVuZ2luZy4gVGhlIGNoZWNrc2VjLnNoIHNjcmlwdCBpcyBkZXNpZ25lZCB0byB0ZXN0IHdoYXQgKnN0YW5kYXJkKiAKLSMgTGludXggT1MgYW5kIFBhWCAoaHR0cDovL3BheC5ncnNlY3VyaXR5Lm5ldC8pIHNlY3VyaXR5IGZlYXR1cmVzIGFyZSBiZWluZyAKLSMgdXNlZC4KLSMKLSMgQXMgb2YgdmVyc2lvbiAxLjMgdGhlIHNjcmlwdCBhbHNvIGxpc3RzIHRoZSBzdGF0dXMgb2YgdmFyaW91cyBMaW51eCBrZXJuZWwgCi0jIHByb3RlY3Rpb24gbWVjaGFuaXNtcy4KLSMKLSMgQ3JlZGl0czoKLSMKLSMgVGhhbmtzIHRvIEJyYWQgU3BlbmdsZXIgKGdyc2VjdXJpdHkubmV0KSBmb3IgdGhlIFBhWCBzdXBwb3J0LgotIyBUaGFua3MgdG8gSm9uIE9iZXJoZWlkZSAoam9uLm9iZXJoZWlkZS5vcmcpIGZvciB0aGUga2VybmVsIHN1cHBvcnQuCi0jIFRoYW5rcyB0byBPbGxpZSBXaGl0ZWhvdXNlIChSZXNlYXJjaCBJbiBNb3Rpb24pIGZvciBycGF0aC9ydW5wYXRoIHN1cHBvcnQuCi0jIAotIyBPdGhlcnMgdGhhdCBjb250cmlidXRlZCB0byBjaGVja3NlYy5zaCAoaW4gbm8gcGFydGljdWxhciBvcmRlcik6Ci0jCi0jIFNpbW9uIFJ1ZGVyaWNoLCBEZW5pcyBTY2hlcmJha292LCBTdGVmYW4gS3V0dGxlciwgUmFkb3NsYXcgTWFkZWosCi0jIEFudGhvbnkgRy4gQmFzaWxlLCBNYXJ0aW4gVmFldGggYW5kIEJyaWFuIERhdmlzLiAKLSMKLQotIyBnbG9iYWwgdmFycwotaGF2ZV9yZWFkZWxmPTEKLXZlcmJvc2U9ZmFsc2UKLQotIyBGT1JUSUZZX1NPVVJDRSB2YXJzCi1GU19lbmQ9X2NoawotRlNfY250X3RvdGFsPTAKLUZTX2NudF9jaGVja2VkPTAKLUZTX2NudF91bmNoZWNrZWQ9MAotRlNfY2hrX2Z1bmNfbGliYz0wCi1GU19mdW5jdGlvbnM9MAotRlNfbGliYz0wCi0gCi0jIHZlcnNpb24gaW5mb3JtYXRpb24KLXZlcnNpb24oKSB7Ci0gIGVjaG8gImNoZWNrc2VjIHYxLjUsIFRvYmlhcyBLbGVpbiwgd3d3LnRyYXBraXQuZGUsIE5vdmVtYmVyIDIwMTEiCi0gIGVjaG8gCi19Ci0KLSMgaGVscAotaGVscCgpIHsKLSAgZWNobyAiVXNhZ2U6IGNoZWNrc2VjIFtPUFRJT05dIgotICBlY2hvCi0gIGVjaG8gIk9wdGlvbnM6IgotICBlY2hvCi0gIGVjaG8gIiAgLS1maWxlIDxleGVjdXRhYmxlLWZpbGU+IgotICBlY2hvICIgIC0tZGlyIDxkaXJlY3Rvcnk+IFstdl0iCi0gIGVjaG8gIiAgLS1wcm9jIDxwcm9jZXNzIG5hbWU+IgotICBlY2hvICIgIC0tcHJvYy1hbGwiCi0gIGVjaG8gIiAgLS1wcm9jLWxpYnMgPHByb2Nlc3MgSUQ+IgotICBlY2hvICIgIC0ta2VybmVsIgotICBlY2hvICIgIC0tZm9ydGlmeS1maWxlIDxleGVjdXRhYmxlLWZpbGU+IgotICBlY2hvICIgIC0tZm9ydGlmeS1wcm9jIDxwcm9jZXNzIElEPiIKLSAgZWNobyAiICAtLXZlcnNpb24iCi0gIGVjaG8gIiAgLS1oZWxwIgotICBlY2hvCi0gIGVjaG8gIkZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWU6IgotICBlY2hvICIgIGh0dHA6Ly93d3cudHJhcGtpdC5kZS90b29scy9jaGVja3NlYy5odG1sIgotICBlY2hvCi19Ci0KLSMgY2hlY2sgaWYgY29tbWFuZCBleGlzdHMKLWNvbW1hbmRfZXhpc3RzICgpIHsKLSAgdHlwZSAkMSAgPiAvZGV2L251bGwgMj4mMTsKLX0KLQotIyBjaGVjayBpZiBkaXJlY3RvcnkgZXhpc3RzCi1kaXJfZXhpc3RzICgpIHsKLSAgaWYgWyAtZCAkMSBdIDsgdGhlbgotICAgIHJldHVybiAwCi0gIGVsc2UKLSAgICByZXR1cm4gMQotICBmaQotfQotCi0jIGNoZWNrIHVzZXIgcHJpdmlsZWdlcwotcm9vdF9wcml2cyAoKSB7Ci0gIGlmIFsgJCgvdXNyL2Jpbi9pZCAtdSkgLWVxIDAgXSA7IHRoZW4KLSAgICByZXR1cm4gMAotICBlbHNlCi0gICAgcmV0dXJuIDEKLSAgZmkKLX0KLQotIyBjaGVjayBpZiBpbnB1dCBpcyBudW1lcmljCi1pc051bWVyaWMgKCkgewotICBlY2hvICIkQCIgfCBncmVwIC1xIC12ICJbXjAtOV0iCi19Ci0KLSMgY2hlY2sgaWYgaW5wdXQgaXMgYSBzdHJpbmcKLWlzU3RyaW5nICgpIHsKLSAgZWNobyAiJEAiIHwgZ3JlcCAtcSAtdiAiW15BLVphLXpdIgotfQotCi0jIGNoZWNrIGZpbGUocykKLWZpbGVjaGVjaygpIHsKLSAgIyBjaGVjayBmb3IgUkVMUk8gc3VwcG9ydAotICBpZiByZWFkZWxmIC1sICQxIDI+L2Rldi9udWxsIHwgZ3JlcCAtcSAnR05VX1JFTFJPJzsgdGhlbgotICAgIGlmIHJlYWRlbGYgLWQgJDEgMj4vZGV2L251bGwgfCBncmVwIC1xICdCSU5EX05PVyc7IHRoZW4KLSAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzJtRnVsbCBSRUxSTyAgIFwwMzNbbSAgICcKLSAgICBlbHNlCi0gICAgICBlY2hvIC1uIC1lICdcMDMzWzMzbVBhcnRpYWwgUkVMUk9cMDMzW20gICAnCi0gICAgZmkKLSAgZWxzZQotICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzFtTm8gUkVMUk8gICAgIFwwMzNbbSAgICcKLSAgZmkKLQotICAjIGNoZWNrIGZvciBzdGFjayBjYW5hcnkgc3VwcG9ydAotICBpZiByZWFkZWxmIC1zICQxIDI+L2Rldi9udWxsIHwgZ3JlcCAtcSAnX19zdGFja19jaGtfZmFpbCc7IHRoZW4KLSAgICBlY2hvIC1uIC1lICdcMDMzWzMybUNhbmFyeSBmb3VuZCAgIFwwMzNbbSAgICcKLSAgZWxzZQotICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzFtTm8gY2FuYXJ5IGZvdW5kXDAzM1ttICAgJwotICBmaQotCi0gICMgY2hlY2sgZm9yIE5YIHN1cHBvcnQKLSAgaWYgcmVhZGVsZiAtVyAtbCAkMSAyPi9kZXYvbnVsbCB8IGdyZXAgJ0dOVV9TVEFDSycgfCBncmVwIC1xICdSV0UnOyB0aGVuCi0gICAgZWNobyAtbiAtZSAnXDAzM1szMW1OWCBkaXNhYmxlZFwwMzNbbSAgICcKLSAgZWxzZQotICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzJtTlggZW5hYmxlZCBcMDMzW20gICAnCi0gIGZpIAotCi0gICMgY2hlY2sgZm9yIFBJRSBzdXBwb3J0Ci0gIGlmIHJlYWRlbGYgLWggJDEgMj4vZGV2L251bGwgfCBncmVwIC1xICdUeXBlOltbOnNwYWNlOl1dKkVYRUMnOyB0aGVuCi0gICAgZWNobyAtbiAtZSAnXDAzM1szMW1ObyBQSUUgICAgICAgXDAzM1ttICAgJwotICBlbGlmIHJlYWRlbGYgLWggJDEgMj4vZGV2L251bGwgfCBncmVwIC1xICdUeXBlOltbOnNwYWNlOl1dKkRZTic7IHRoZW4KLSAgICBpZiByZWFkZWxmIC1kICQxIDI+L2Rldi9udWxsIHwgZ3JlcCAtcSAnKERFQlVHKSc7IHRoZW4KLSAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzJtUElFIGVuYWJsZWQgIFwwMzNbbSAgICcKLSAgICBlbHNlICAgCi0gICAgICBlY2hvIC1uIC1lICdcMDMzWzMzbURTTyAgICAgICAgICBcMDMzW20gICAnCi0gICAgZmkKLSAgZWxzZQotICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzNtTm90IGFuIEVMRiBmaWxlXDAzM1ttICAgJwotICBmaSAKLQotICAjIGNoZWNrIGZvciBycGF0aCAvIHJ1biBwYXRoCi0gIGlmIHJlYWRlbGYgLWQgJDEgMj4vZGV2L251bGwgfCBncmVwIC1xICdycGF0aCc7IHRoZW4KLSAgIGVjaG8gLW4gLWUgJ1wwMzNbMzFtUlBBVEggICAgXDAzM1ttICAnCi0gIGVsc2UKLSAgIGVjaG8gLW4gLWUgJ1wwMzNbMzJtTm8gUlBBVEggXDAzM1ttICAnCi0gIGZpCi0KLSAgaWYgcmVhZGVsZiAtZCAkMSAyPi9kZXYvbnVsbCB8IGdyZXAgLXEgJ3J1bnBhdGgnOyB0aGVuCi0gICBlY2hvIC1uIC1lICdcMDMzWzMxbVJVTlBBVEggICAgXDAzM1ttICAnCi0gIGVsc2UKLSAgIGVjaG8gLW4gLWUgJ1wwMzNbMzJtTm8gUlVOUEFUSCBcMDMzW20gICcKLSAgZmkKLX0KLQotIyBjaGVjayBwcm9jZXNzKGVzKQotcHJvY2NoZWNrKCkgewotICAjIGNoZWNrIGZvciBSRUxSTyBzdXBwb3J0Ci0gIGlmIHJlYWRlbGYgLWwgJDEvZXhlIDI+L2Rldi9udWxsIHwgZ3JlcCAtcSAnUHJvZ3JhbSBIZWFkZXJzJzsgdGhlbgotICAgIGlmIHJlYWRlbGYgLWwgJDEvZXhlIDI+L2Rldi9udWxsIHwgZ3JlcCAtcSAnR05VX1JFTFJPJzsgdGhlbgotICAgICAgaWYgcmVhZGVsZiAtZCAkMS9leGUgMj4vZGV2L251bGwgfCBncmVwIC1xICdCSU5EX05PVyc7IHRoZW4KLSAgICAgICAgZWNobyAtbiAtZSAnXDAzM1szMm1GdWxsIFJFTFJPICAgICAgIFwwMzNbbSAnCi0gICAgICBlbHNlCi0gICAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzNtUGFydGlhbCBSRUxSTyAgICBcMDMzW20gJwotICAgICAgZmkKLSAgICBlbHNlCi0gICAgICBlY2hvIC1uIC1lICdcMDMzWzMxbU5vIFJFTFJPICAgICAgICAgXDAzM1ttICcKLSAgICBmaQotICBlbHNlCi0gICAgZWNobyAtbiAtZSAnXDAzM1szMW1QZXJtaXNzaW9uIGRlbmllZCAocGxlYXNlIHJ1biBhcyByb290KVwwMzNbbVxuJwotICAgIGV4aXQgMQotICBmaQotCi0gICMgY2hlY2sgZm9yIHN0YWNrIGNhbmFyeSBzdXBwb3J0Ci0gIGlmIHJlYWRlbGYgLXMgJDEvZXhlIDI+L2Rldi9udWxsIHwgZ3JlcCAtcSAnU3ltYm9sIHRhYmxlJzsgdGhlbgotICAgIGlmIHJlYWRlbGYgLXMgJDEvZXhlIDI+L2Rldi9udWxsIHwgZ3JlcCAtcSAnX19zdGFja19jaGtfZmFpbCc7IHRoZW4KLSAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzJtQ2FuYXJ5IGZvdW5kICAgICAgICAgXDAzM1ttICAnCi0gICAgZWxzZQotICAgICAgZWNobyAtbiAtZSAnXDAzM1szMW1ObyBjYW5hcnkgZm91bmQgICAgICBcMDMzW20gICcKLSAgICBmaQotICBlbHNlCi0gICAgaWYgWyAiJDEiICE9ICIxIiBdIDsgdGhlbgotICAgICAgZWNobyAtbiAtZSAnXDAzM1szM21QZXJtaXNzaW9uIGRlbmllZCAgICBcMDMzW20gICcKLSAgICBlbHNlCi0gICAgICBlY2hvIC1uIC1lICdcMDMzWzMzbU5vIHN5bWJvbCB0YWJsZSBmb3VuZFwwMzNbbSAgJwotICAgIGZpCi0gIGZpCi0KLSAgIyBmaXJzdCBjaGVjayBmb3IgUGFYIHN1cHBvcnQKLSAgaWYgY2F0ICQxL3N0YXR1cyAyPiAvZGV2L251bGwgfCBncmVwIC1xICdQYVg6JzsgdGhlbgotICAgIHBhZ2VleGVjPSggJChjYXQgJDEvc3RhdHVzIDI+IC9kZXYvbnVsbCB8IGdyZXAgJ1BhWDonIHwgY3V0IC1iNikgKQotICAgIHNlZ21leGVjPSggJChjYXQgJDEvc3RhdHVzIDI+IC9kZXYvbnVsbCB8IGdyZXAgJ1BhWDonIHwgY3V0IC1iMTApICkKLSAgICBtcHJvdGVjdD0oICQoY2F0ICQxL3N0YXR1cyAyPiAvZGV2L251bGwgfCBncmVwICdQYVg6JyB8IGN1dCAtYjgpICkKLSAgICByYW5kbW1hcD0oICQoY2F0ICQxL3N0YXR1cyAyPiAvZGV2L251bGwgfCBncmVwICdQYVg6JyB8IGN1dCAtYjkpICkKLSAgICBpZiBbWyAiJHBhZ2VleGVjIiA9ICJQIiB8fCAiJHNlZ21leGVjIiA9ICJTIiBdXSAmJiBbWyAiJG1wcm90ZWN0IiA9ICJNIiAmJiAiJHJhbmRtbWFwIiA9ICJSIiBdXSA7IHRoZW4KLSAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzJtUGFYIGVuYWJsZWRcMDMzW20gICAnCi0gICAgZWxpZiBbWyAiJHBhZ2VleGVjIiA9ICJwIiAmJiAiJHNlZ21leGVjIiA9ICJzIiAmJiAiJHJhbmRtbWFwIiA9ICJSIiBdXSA7IHRoZW4KLSAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzNtUGFYIEFTTFIgb25seVwwMzNbbSAnCi0gICAgZWxpZiBbWyAiJHBhZ2VleGVjIiA9ICJQIiB8fCAiJHNlZ21leGVjIiA9ICJTIiBdXSAmJiBbWyAiJG1wcm90ZWN0IiA9ICJtIiAmJiAiJHJhbmRtbWFwIiA9ICJSIiBdXSA7IHRoZW4KLSAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzNtUGFYIG1wcm90IG9mZiBcMDMzW20nCi0gICAgZWxpZiBbWyAiJHBhZ2VleGVjIiA9ICJQIiB8fCAiJHNlZ21leGVjIiA9ICJTIiBdXSAmJiBbWyAiJG1wcm90ZWN0IiA9ICJNIiAmJiAiJHJhbmRtbWFwIiA9ICJyIiBdXSA7IHRoZW4KLSAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzNtUGFYIEFTTFIgb2ZmXDAzM1ttICAnCi0gICAgZWxpZiBbWyAiJHBhZ2VleGVjIiA9ICJQIiB8fCAiJHNlZ21leGVjIiA9ICJTIiBdXSAmJiBbWyAiJG1wcm90ZWN0IiA9ICJtIiAmJiAiJHJhbmRtbWFwIiA9ICJyIiBdXSA7IHRoZW4KLSAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzNtUGFYIE5YIG9ubHlcMDMzW20gICAnCi0gICAgZWxzZQotICAgICAgZWNobyAtbiAtZSAnXDAzM1szMW1QYVggZGlzYWJsZWRcMDMzW20gICcKLSAgICBmaQotICAjIGZhbGxiYWNrIGNoZWNrIGZvciBOWCBzdXBwb3J0Ci0gIGVsaWYgcmVhZGVsZiAtVyAtbCAkMS9leGUgMj4vZGV2L251bGwgfCBncmVwICdHTlVfU1RBQ0snIHwgZ3JlcCAtcSAnUldFJzsgdGhlbgotICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzFtTlggZGlzYWJsZWRcMDMzW20gICAnCi0gIGVsc2UKLSAgICBlY2hvIC1uIC1lICdcMDMzWzMybU5YIGVuYWJsZWQgXDAzM1ttICAgJwotICBmaSAKLQotICAjIGNoZWNrIGZvciBQSUUgc3VwcG9ydAotICBpZiByZWFkZWxmIC1oICQxL2V4ZSAyPi9kZXYvbnVsbCB8IGdyZXAgLXEgJ1R5cGU6W1s6c3BhY2U6XV0qRVhFQyc7IHRoZW4KLSAgICBlY2hvIC1uIC1lICdcMDMzWzMxbU5vIFBJRSAgICAgICAgICAgICAgIFwwMzNbbSAgICcKLSAgZWxpZiByZWFkZWxmIC1oICQxL2V4ZSAyPi9kZXYvbnVsbCB8IGdyZXAgLXEgJ1R5cGU6W1s6c3BhY2U6XV0qRFlOJzsgdGhlbgotICAgIGlmIHJlYWRlbGYgLWQgJDEvZXhlIDI+L2Rldi9udWxsIHwgZ3JlcCAtcSAnKERFQlVHKSc7IHRoZW4KLSAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzJtUElFIGVuYWJsZWQgICAgICAgICAgXDAzM1ttICAgJwotICAgIGVsc2UgICAKLSAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzNtRHluYW1pYyBTaGFyZWQgT2JqZWN0XDAzM1ttICAgJwotICAgIGZpCi0gIGVsc2UKLSAgICBlY2hvIC1uIC1lICdcMDMzWzMzbU5vdCBhbiBFTEYgZmlsZSAgICAgIFwwMzNbbSAgICcKLSAgZmkKLX0KLQotIyBjaGVjayBtYXBwZWQgbGlicmFyaWVzCi1saWJjaGVjaygpIHsKLSAgbGlicz0oICQoYXdrICd7IHByaW50ICQ2IH0nIC9wcm9jLyQxL21hcHMgfCBncmVwICcvJyB8IHNvcnQgLXUgfCB4YXJncyBmaWxlIHwgZ3JlcCBFTEYgfCBhd2sgJ3sgcHJpbnQgJDEgfScgfCBzZWQgJ3MvOi8gLycpICkKLSAKLSAgcHJpbnRmICJcbiogTG9hZGVkIGxpYnJhcmllcyAoZmlsZSBpbmZvcm1hdGlvbiwgIyBvZiBtYXBwZWQgZmlsZXM6ICR7I2xpYnNbQF19KTpcblxuIgotICAKLSAgZm9yIGVsZW1lbnQgaW4gJChzZXEgMCAkKCgkeyNsaWJzW0BdfSAtIDEpKSkKLSAgZG8KLSAgICBlY2hvICIgICR7bGlic1skZWxlbWVudF19OiIKLSAgICBlY2hvIC1uICIgICAgIgotICAgIGZpbGVjaGVjayAke2xpYnNbJGVsZW1lbnRdfQotICAgIHByaW50ZiAiXG5cbiIKLSAgZG9uZQotfQotCi0jIGNoZWNrIGZvciBzeXN0ZW0td2lkZSBBU0xSIHN1cHBvcnQKLWFzbHJjaGVjaygpIHsKLSAgIyBQYVggQVNMUiBzdXBwb3J0Ci0gIGlmICEoY2F0IC9wcm9jLzEvc3RhdHVzIDI+IC9kZXYvbnVsbCB8IGdyZXAgLXEgJ05hbWU6JykgOyB0aGVuCi0gICAgZWNobyAtbiAtZSAnOlwwMzNbMzNtIGluc3VmZmljaWVudCBwcml2aWxlZ2VzIGZvciBQYVggQVNMUiBjaGVja3NcMDMzW21cbicKLSAgICBlY2hvIC1uIC1lICcgIEZhbGxiYWNrIHRvIHN0YW5kYXJkIExpbnV4IEFTTFIgY2hlY2snCi0gIGZpCi0gIAotICBpZiBjYXQgL3Byb2MvMS9zdGF0dXMgMj4gL2Rldi9udWxsIHwgZ3JlcCAtcSAnUGFYOic7IHRoZW4KLSAgICBwcmludGYgIjogIgotICAgIGlmIGNhdCAvcHJvYy8xL3N0YXR1cyAyPiAvZGV2L251bGwgfCBncmVwICdQYVg6JyB8IGdyZXAgLXEgJ1InOyB0aGVuCi0gICAgICBlY2hvIC1uIC1lICdcMDMzWzMybVBhWCBBU0xSIGVuYWJsZWRcMDMzW21cblxuJwotICAgIGVsc2UKLSAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzFtUGFYIEFTTFIgZGlzYWJsZWRcMDMzW21cblxuJwotICAgIGZpCi0gIGVsc2UKLSAgICAjIHN0YW5kYXJkIExpbnV4ICdrZXJuZWwucmFuZG9taXplX3ZhX3NwYWNlJyBBU0xSIHN1cHBvcnQKLSAgICAjIChzZWUgdGhlIGtlcm5lbCBmaWxlICdEb2N1bWVudGF0aW9uL3N5c2N0bC9rZXJuZWwudHh0JyBmb3IgYSBkZXRhaWxlZCBkZXNjcmlwdGlvbikKLSAgICBwcmludGYgIiAoa2VybmVsLnJhbmRvbWl6ZV92YV9zcGFjZSk6ICIKLSAgICBpZiAvc2Jpbi9zeXNjdGwgLWEgMj4vZGV2L251bGwgfCBncmVwIC1xICdrZXJuZWwucmFuZG9taXplX3ZhX3NwYWNlID0gMSc7IHRoZW4KLSAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzNtT24gKFNldHRpbmc6IDEpXDAzM1ttXG5cbicKLSAgICAgIHByaW50ZiAiICBEZXNjcmlwdGlvbiAtIE1ha2UgdGhlIGFkZHJlc3NlcyBvZiBtbWFwIGJhc2UsIHN0YWNrIGFuZCBWRFNPIHBhZ2UgcmFuZG9taXplZC5cbiIKLSAgICAgIHByaW50ZiAiICBUaGlzLCBhbW9uZyBvdGhlciB0aGluZ3MsIGltcGxpZXMgdGhhdCBzaGFyZWQgbGlicmFyaWVzIHdpbGwgYmUgbG9hZGVkIHRvIFxuIgotICAgICAgcHJpbnRmICIgIHJhbmRvbSBhZGRyZXNzZXMuIEFsc28gZm9yIFBJRS1saW5rZWQgYmluYXJpZXMsIHRoZSBsb2NhdGlvbiBvZiBjb2RlIHN0YXJ0XG4iCi0gICAgICBwcmludGYgIiAgaXMgcmFuZG9taXplZC4gSGVhcCBhZGRyZXNzZXMgYXJlICpub3QqIHJhbmRvbWl6ZWQuXG5cbiIKLSAgICBlbGlmIC9zYmluL3N5c2N0bCAtYSAyPi9kZXYvbnVsbCB8IGdyZXAgLXEgJ2tlcm5lbC5yYW5kb21pemVfdmFfc3BhY2UgPSAyJzsgdGhlbgotICAgICAgZWNobyAtbiAtZSAnXDAzM1szMm1PbiAoU2V0dGluZzogMilcMDMzW21cblxuJwotICAgICAgcHJpbnRmICIgIERlc2NyaXB0aW9uIC0gTWFrZSB0aGUgYWRkcmVzc2VzIG9mIG1tYXAgYmFzZSwgaGVhcCwgc3RhY2sgYW5kIFZEU08gcGFnZSByYW5kb21pemVkLlxuIgotICAgICAgcHJpbnRmICIgIFRoaXMsIGFtb25nIG90aGVyIHRoaW5ncywgaW1wbGllcyB0aGF0IHNoYXJlZCBsaWJyYXJpZXMgd2lsbCBiZSBsb2FkZWQgdG8gcmFuZG9tIFxuIgotICAgICAgcHJpbnRmICIgIGFkZHJlc3Nlcy4gQWxzbyBmb3IgUElFLWxpbmtlZCBiaW5hcmllcywgdGhlIGxvY2F0aW9uIG9mIGNvZGUgc3RhcnQgaXMgcmFuZG9taXplZC5cblxuIgotICAgIGVsaWYgL3NiaW4vc3lzY3RsIC1hIDI+L2Rldi9udWxsIHwgZ3JlcCAtcSAna2VybmVsLnJhbmRvbWl6ZV92YV9zcGFjZSA9IDAnOyB0aGVuCi0gICAgICBlY2hvIC1uIC1lICdcMDMzWzMxbU9mZiAoU2V0dGluZzogMClcMDMzW21cbicKLSAgICBlbHNlCi0gICAgICBlY2hvIC1uIC1lICdcMDMzWzMxbU5vdCBzdXBwb3J0ZWRcMDMzW21cbicKLSAgICBmaQotICAgIHByaW50ZiAiICBTZWUgdGhlIGtlcm5lbCBmaWxlICdEb2N1bWVudGF0aW9uL3N5c2N0bC9rZXJuZWwudHh0JyBmb3IgbW9yZSBkZXRhaWxzLlxuXG4iCi0gIGZpIAotfQotCi0jIGNoZWNrIGNwdSBueCBmbGFnCi1ueGNoZWNrKCkgewotICBpZiBncmVwIC1xIG54IC9wcm9jL2NwdWluZm87IHRoZW4KLSAgICBlY2hvIC1uIC1lICdcMDMzWzMybVllc1wwMzNbbVxuXG4nCi0gIGVsc2UKLSAgICBlY2hvIC1uIC1lICdcMDMzWzMxbU5vXDAzM1ttXG5cbicKLSAgZmkKLX0KLQotIyBjaGVjayBmb3Iga2VybmVsIHByb3RlY3Rpb24gbWVjaGFuaXNtcwota2VybmVsY2hlY2soKSB7Ci0gIHByaW50ZiAiICBEZXNjcmlwdGlvbiAtIExpc3QgdGhlIHN0YXR1cyBvZiBrZXJuZWwgcHJvdGVjdGlvbiBtZWNoYW5pc21zLiBSYXRoZXIgdGhhblxuIgotICBwcmludGYgIiAgaW5zcGVjdCBrZXJuZWwgbWVjaGFuaXNtcyB0aGF0IG1heSBhaWQgaW4gdGhlIHByZXZlbnRpb24gb2YgZXhwbG9pdGF0aW9uIG9mXG4iCi0gIHByaW50ZiAiICB1c2Vyc3BhY2UgcHJvY2Vzc2VzLCB0aGlzIG9wdGlvbiBsaXN0cyB0aGUgc3RhdHVzIG9mIGtlcm5lbCBjb25maWd1cmF0aW9uXG4iCi0gIHByaW50ZiAiICBvcHRpb25zIHRoYXQgaGFyZGVuIHRoZSBrZXJuZWwgaXRzZWxmIGFnYWluc3QgYXR0YWNrLlxuXG4iCi0gIHByaW50ZiAiICBLZXJuZWwgY29uZmlnOiAiCi0gCi0gIGlmIFsgLWYgL3Byb2MvY29uZmlnLmd6IF0gOyB0aGVuCi0gICAga2NvbmZpZz0iemNhdCAvcHJvYy9jb25maWcuZ3oiCi0gICAgcHJpbnRmICJcMDMzWzMybS9wcm9jL2NvbmZpZy5nelwwMzNbbVxuXG4iCi0gIGVsaWYgWyAtZiAvYm9vdC9jb25maWctYHVuYW1lIC1yYCBdIDsgdGhlbgotICAgIGtjb25maWc9ImNhdCAvYm9vdC9jb25maWctYHVuYW1lIC1yYCIKLSAgICBwcmludGYgIlwwMzNbMzNtL2Jvb3QvY29uZmlnLWB1bmFtZSAtcmBcMDMzW21cblxuIgotICAgIHByaW50ZiAiICBXYXJuaW5nOiBUaGUgY29uZmlnIG9uIGRpc2sgbWF5IG5vdCByZXByZXNlbnQgcnVubmluZyBrZXJuZWwgY29uZmlnIVxuXG4iOwotICBlbGlmIFsgLWYgIiR7S0JVSUxEX09VVFBVVDotL3Vzci9zcmMvbGludXh9Ii8uY29uZmlnIF0gOyB0aGVuCi0gICAga2NvbmZpZz0iY2F0ICR7S0JVSUxEX09VVFBVVDotL3Vzci9zcmMvbGludXh9Ly5jb25maWciCi0gICAgcHJpbnRmICJcMDMzWzMzbSVzXDAzM1ttXG5cbiIgIiR7S0JVSUxEX09VVFBVVDotL3Vzci9zcmMvbGludXh9Ly5jb25maWciCi0gICAgcHJpbnRmICIgIFdhcm5pbmc6IFRoZSBjb25maWcgb24gZGlzayBtYXkgbm90IHJlcHJlc2VudCBydW5uaW5nIGtlcm5lbCBjb25maWchXG5cbiI7Ci0gIGVsc2UKLSAgICBwcmludGYgIlwwMzNbMzFtTk9UIEZPVU5EXDAzM1ttXG5cbiIKLSAgICBleGl0IDAKLSAgZmkKLQotICBwcmludGYgIiAgR0NDIHN0YWNrIHByb3RlY3RvciBzdXBwb3J0OiAgICAgICAgICAgICIKLSAgaWYgJGtjb25maWcgfCBncmVwIC1xaSAnQ09ORklHX0NDX1NUQUNLUFJPVEVDVE9SPXknOyB0aGVuCi0gICAgcHJpbnRmICJcMDMzWzMybUVuYWJsZWRcMDMzW21cbiIKLSAgZWxzZQotICAgIHByaW50ZiAiXDAzM1szMW1EaXNhYmxlZFwwMzNbbVxuIgotICBmaQotCi0gIHByaW50ZiAiICBTdHJpY3QgdXNlciBjb3B5IGNoZWNrczogICAgICAgICAgICAgICAgIgotICBpZiAka2NvbmZpZyB8IGdyZXAgLXFpICdDT05GSUdfREVCVUdfU1RSSUNUX1VTRVJfQ09QWV9DSEVDS1M9eSc7IHRoZW4KLSAgICBwcmludGYgIlwwMzNbMzJtRW5hYmxlZFwwMzNbbVxuIgotICBlbHNlCi0gICAgcHJpbnRmICJcMDMzWzMxbURpc2FibGVkXDAzM1ttXG4iCi0gIGZpCi0KLSAgcHJpbnRmICIgIEVuZm9yY2UgcmVhZC1vbmx5IGtlcm5lbCBkYXRhOiAgICAgICAgICAiCi0gIGlmICRrY29uZmlnIHwgZ3JlcCAtcWkgJ0NPTkZJR19ERUJVR19ST0RBVEE9eSc7IHRoZW4KLSAgICBwcmludGYgIlwwMzNbMzJtRW5hYmxlZFwwMzNbbVxuIgotICBlbHNlCi0gICAgcHJpbnRmICJcMDMzWzMxbURpc2FibGVkXDAzM1ttXG4iCi0gIGZpCi0gIHByaW50ZiAiICBSZXN0cmljdCAvZGV2L21lbSBhY2Nlc3M6ICAgICAgICAgICAgICAgIgotICBpZiAka2NvbmZpZyB8IGdyZXAgLXFpICdDT05GSUdfU1RSSUNUX0RFVk1FTT15JzsgdGhlbgotICAgIHByaW50ZiAiXDAzM1szMm1FbmFibGVkXDAzM1ttXG4iCi0gIGVsc2UKLSAgICBwcmludGYgIlwwMzNbMzFtRGlzYWJsZWRcMDMzW21cbiIKLSAgZmkKLQotICBwcmludGYgIiAgUmVzdHJpY3QgL2Rldi9rbWVtIGFjY2VzczogICAgICAgICAgICAgICIKLSAgaWYgJGtjb25maWcgfCBncmVwIC1xaSAnQ09ORklHX0RFVktNRU09eSc7IHRoZW4KLSAgICBwcmludGYgIlwwMzNbMzFtRGlzYWJsZWRcMDMzW21cbiIKLSAgZWxzZQotICAgIHByaW50ZiAiXDAzM1szMm1FbmFibGVkXDAzM1ttXG4iCi0gIGZpCi0KLSAgcHJpbnRmICJcbiIKLSAgcHJpbnRmICIqIGdyc2VjdXJpdHkgLyBQYVg6ICIKLQotICBpZiAka2NvbmZpZyB8IGdyZXAgLXFpICdDT05GSUdfR1JLRVJOU0VDPXknOyB0aGVuCi0gICAgaWYgJGtjb25maWcgfCBncmVwIC1xaSAnQ09ORklHX0dSS0VSTlNFQ19ISUdIPXknOyB0aGVuCi0gICAgICBwcmludGYgIlwwMzNbMzJtSGlnaCBHUktFUk5TRUNcMDMzW21cblxuIgotICAgIGVsaWYgJGtjb25maWcgfCBncmVwIC1xaSAnQ09ORklHX0dSS0VSTlNFQ19NRURJVU09eSc7IHRoZW4KLSAgICAgIHByaW50ZiAiXDAzM1szM21NZWRpdW0gR1JLRVJOU0VDXDAzM1ttXG5cbiIKLSAgICBlbGlmICRrY29uZmlnIHwgZ3JlcCAtcWkgJ0NPTkZJR19HUktFUk5TRUNfTE9XPXknOyB0aGVuCi0gICAgICBwcmludGYgIlwwMzNbMzFtTG93IEdSS0VSTlNFQ1wwMzNbbVxuXG4iCi0gICAgZWxzZQotICAgICAgcHJpbnRmICJcMDMzWzMzbUN1c3RvbSBHUktFUk5TRUNcMDMzW21cblxuIgotICAgIGZpCi0KLSAgICBwcmludGYgIiAgTm9uLWV4ZWN1dGFibGUga2VybmVsIHBhZ2VzOiAgICAgICAgICAgICIKLSAgICBpZiAka2NvbmZpZyB8IGdyZXAgLXFpICdDT05GSUdfUEFYX0tFUk5FWEVDPXknOyB0aGVuCi0gICAgICBwcmludGYgIlwwMzNbMzJtRW5hYmxlZFwwMzNbbVxuIgotICAgIGVsc2UKLSAgICAgIHByaW50ZiAiXDAzM1szMW1EaXNhYmxlZFwwMzNbbVxuIgotICAgIGZpCi0KLSAgICBwcmludGYgIiAgUHJldmVudCB1c2Vyc3BhY2UgcG9pbnRlciBkZXJlZjogICAgICAgICIKLSAgICBpZiAka2NvbmZpZyB8IGdyZXAgLXFpICdDT05GSUdfUEFYX01FTU9SWV9VREVSRUY9eSc7IHRoZW4KLSAgICAgIHByaW50ZiAiXDAzM1szMm1FbmFibGVkXDAzM1ttXG4iCi0gICAgZWxzZQotICAgICAgcHJpbnRmICJcMDMzWzMxbURpc2FibGVkXDAzM1ttXG4iCi0gICAgZmkKLQotICAgIHByaW50ZiAiICBQcmV2ZW50IGtvYmplY3QgcmVmY291bnQgb3ZlcmZsb3c6ICAgICAgIgotICAgIGlmICRrY29uZmlnIHwgZ3JlcCAtcWkgJ0NPTkZJR19QQVhfUkVGQ09VTlQ9eSc7IHRoZW4KLSAgICAgIHByaW50ZiAiXDAzM1szMm1FbmFibGVkXDAzM1ttXG4iCi0gICAgZWxzZQotICAgICAgcHJpbnRmICJcMDMzWzMxbURpc2FibGVkXDAzM1ttXG4iCi0gICAgZmkKLQotICAgIHByaW50ZiAiICBCb3VuZHMgY2hlY2sgaGVhcCBvYmplY3QgY29waWVzOiAgICAgICAgIgotICAgIGlmICRrY29uZmlnIHwgZ3JlcCAtcWkgJ0NPTkZJR19QQVhfVVNFUkNPUFk9eSc7IHRoZW4KLSAgICAgIHByaW50ZiAiXDAzM1szMm1FbmFibGVkXDAzM1ttXG4iCi0gICAgZWxzZQotICAgICAgcHJpbnRmICJcMDMzWzMxbURpc2FibGVkXDAzM1ttXG4iCi0gICAgZmkKLQotICAgIHByaW50ZiAiICBEaXNhYmxlIHdyaXRpbmcgdG8ga21lbS9tZW0vcG9ydDogICAgICAgIgotICAgIGlmICRrY29uZmlnIHwgZ3JlcCAtcWkgJ0NPTkZJR19HUktFUk5TRUNfS01FTT15JzsgdGhlbgotICAgICAgcHJpbnRmICJcMDMzWzMybUVuYWJsZWRcMDMzW21cbiIKLSAgICBlbHNlCi0gICAgICBwcmludGYgIlwwMzNbMzFtRGlzYWJsZWRcMDMzW21cbiIKLSAgICBmaQotCi0gICAgcHJpbnRmICIgIERpc2FibGUgcHJpdmlsZWdlZCBJL086ICAgICAgICAgICAgICAgICAiCi0gICAgaWYgJGtjb25maWcgfCBncmVwIC1xaSAnQ09ORklHX0dSS0VSTlNFQ19JTz15JzsgdGhlbgotICAgICAgcHJpbnRmICJcMDMzWzMybUVuYWJsZWRcMDMzW21cbiIKLSAgICBlbHNlCi0gICAgICBwcmludGYgIlwwMzNbMzFtRGlzYWJsZWRcMDMzW21cbiIKLSAgICBmaQotCi0gICAgcHJpbnRmICIgIEhhcmRlbiBtb2R1bGUgYXV0by1sb2FkaW5nOiAgICAgICAgICAgICAiCi0gICAgaWYgJGtjb25maWcgfCBncmVwIC1xaSAnQ09ORklHX0dSS0VSTlNFQ19NT0RIQVJERU49eSc7IHRoZW4KLSAgICAgIHByaW50ZiAiXDAzM1szMm1FbmFibGVkXDAzM1ttXG4iCi0gICAgZWxzZQotICAgICAgcHJpbnRmICJcMDMzWzMxbURpc2FibGVkXDAzM1ttXG4iCi0gICAgZmkKLQotICAgIHByaW50ZiAiICBIaWRlIGtlcm5lbCBzeW1ib2xzOiAgICAgICAgICAgICAgICAgICAgIgotICAgIGlmICRrY29uZmlnIHwgZ3JlcCAtcWkgJ0NPTkZJR19HUktFUk5TRUNfSElERVNZTT15JzsgdGhlbgotICAgICAgcHJpbnRmICJcMDMzWzMybUVuYWJsZWRcMDMzW21cbiIKLSAgICBlbHNlCi0gICAgICBwcmludGYgIlwwMzNbMzFtRGlzYWJsZWRcMDMzW21cbiIKLSAgICBmaQotICBlbHNlCi0gICAgcHJpbnRmICJcMDMzWzMxbU5vIEdSS0VSTlNFQ1wwMzNbbVxuXG4iCi0gICAgcHJpbnRmICIgIFRoZSBncnNlY3VyaXR5IC8gUGFYIHBhdGNoc2V0IGlzIGF2YWlsYWJsZSBoZXJlOlxuIgotICAgIHByaW50ZiAiICAgIGh0dHA6Ly9ncnNlY3VyaXR5Lm5ldC9cbiIKLSAgZmkKLQotICBwcmludGYgIlxuIgotICBwcmludGYgIiogS2VybmVsIEhlYXAgSGFyZGVuaW5nOiAiCi0KLSAgaWYgJGtjb25maWcgfCBncmVwIC1xaSAnQ09ORklHX0tFUk5IRUFQPXknOyB0aGVuCi0gICAgaWYgJGtjb25maWcgfCBncmVwIC1xaSAnQ09ORklHX0tFUk5IRUFQX0ZVTExQT0lTT049eSc7IHRoZW4KLSAgICAgIHByaW50ZiAiXDAzM1szMm1GdWxsIEtFUk5IRUFQXDAzM1ttXG5cbiIKLSAgICBlbHNlCi0gICAgICBwcmludGYgIlwwMzNbMzNtUGFydGlhbCBLRVJOSEVBUFwwMzNbbVxuXG4iCi0gICAgZmkKLSAgZWxzZQotICAgIHByaW50ZiAiXDAzM1szMW1ObyBLRVJOSEVBUFwwMzNbbVxuXG4iCi0gICAgcHJpbnRmICIgIFRoZSBLRVJOSEVBUCBoYXJkZW5pbmcgcGF0Y2hzZXQgaXMgYXZhaWxhYmxlIGhlcmU6XG4iCi0gICAgcHJpbnRmICIgICAgaHR0cHM6Ly93d3cuc3VicmVwdGlvbi5jb20va2VybmhlYXAvXG5cbiIKLSAgZmkKLX0KLQotIyAtLS0gRk9SVElGWV9TT1VSQ0Ugc3ViZnVuY3Rpb25zIChzdGFydCkgLS0tCi0KLSMgaXMgRk9SVElGWV9TT1VSQ0Ugc3VwcG9ydGVkIGJ5IGxpYmM/Ci1GU19saWJjX2NoZWNrKCkgewotICBwcmludGYgIiogRk9SVElGWV9TT1VSQ0Ugc3VwcG9ydCBhdmFpbGFibGUgKGxpYmMpICAgIDogIgotCi0gIGlmIFsgIiR7I0ZTX2Noa19mdW5jX2xpYmNbQF19IiAhPSAiMCIgXSA7IHRoZW4KLSAgICBwcmludGYgIlwwMzNbMzJtWWVzXDAzM1ttXG4iCi0gIGVsc2UKLSAgICBwcmludGYgIlwwMzNbMzFtTm9cMDMzW21cbiIKLSAgICBleGl0IDEKLSAgZmkKLX0KLQotIyB3YXMgdGhlIGJpbmFyeSBjb21waWxlZCB3aXRoIEZPUlRJRllfU09VUkNFPwotRlNfYmluYXJ5X2NoZWNrKCkgewotICBwcmludGYgIiogQmluYXJ5IGNvbXBpbGVkIHdpdGggRk9SVElGWV9TT1VSQ0Ugc3VwcG9ydDogIgotCi0gIGZvciBGU19lbGVtX2Z1bmN0aW9ucyBpbiAkKHNlcSAwICQoKCR7I0ZTX2Z1bmN0aW9uc1tAXX0gLSAxKSkpCi0gIGRvCi0gICAgaWYgW1sgJHtGU19mdW5jdGlvbnNbJEZTX2VsZW1fZnVuY3Rpb25zXX0gPX4gX2NoayBdXSA7IHRoZW4KLSAgICAgIHByaW50ZiAiXDAzM1szMm1ZZXNcMDMzW21cbiIKLSAgICAgIHJldHVybgotICAgIGZpCi0gIGRvbmUKLSAgcHJpbnRmICJcMDMzWzMxbU5vXDAzM1ttXG4iCi0gIGV4aXQgMQotfQotCi1GU19jb21wYXJpc29uKCkgewotICBlY2hvCi0gIHByaW50ZiAiIC0tLS0tLSBFWEVDVVRBQkxFLUZJTEUgLS0tLS0tLSAuIC0tLS0tLS0tIExJQkMgLS0tLS0tLS1cbiIKLSAgcHJpbnRmICIgRk9SVElGWS1hYmxlIGxpYnJhcnkgZnVuY3Rpb25zIHwgQ2hlY2tlZCBmdW5jdGlvbiBuYW1lc1xuIgotICBwcmludGYgIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCi0KLSAgZm9yIEZTX2VsZW1fbGliYyBpbiAkKHNlcSAwICQoKCR7I0ZTX2Noa19mdW5jX2xpYmNbQF19IC0gMSkpKQotICBkbwotICAgIGZvciBGU19lbGVtX2Z1bmN0aW9ucyBpbiAkKHNlcSAwICQoKCR7I0ZTX2Z1bmN0aW9uc1tAXX0gLSAxKSkpCi0gICAgZG8KLSAgICAgIEZTX3RtcF9mdW5jPSR7RlNfZnVuY3Rpb25zWyRGU19lbGVtX2Z1bmN0aW9uc119Ci0gICAgICBGU190bXBfbGliYz0ke0ZTX2Noa19mdW5jX2xpYmNbJEZTX2VsZW1fbGliY119Ci0KLSAgICAgIGlmIFtbICRGU190bXBfZnVuYyA9fiBeJEZTX3RtcF9saWJjJCBdXSA7IHRoZW4KLSAgICAgICAgcHJpbnRmICIgXDAzM1szMW0lLTMwc1wwMzNbbSB8IF9fJXMlc1xuIiAkRlNfdG1wX2Z1bmMgJEZTX3RtcF9saWJjICRGU19lbmQKLSAgICAgICAgbGV0IEZTX2NudF90b3RhbCsrCi0gICAgICAgIGxldCBGU19jbnRfdW5jaGVja2VkKysKLSAgICAgIGVsaWYgW1sgJEZTX3RtcF9mdW5jID1+IF4kRlNfdG1wX2xpYmMoX2NoaykgXV0gOyB0aGVuCi0gICAgICAgIHByaW50ZiAiIFwwMzNbMzJtJS0zMHNcMDMzW20gfCBfXyVzJXNcbiIgJEZTX3RtcF9mdW5jICRGU190bXBfbGliYyAkRlNfZW5kCi0gICAgICAgIGxldCBGU19jbnRfdG90YWwrKwotICAgICAgICBsZXQgRlNfY250X2NoZWNrZWQrKwotICAgICAgZmkKLQotICAgIGRvbmUKLSAgZG9uZQotfQotCi1GU19zdW1tYXJ5KCkgewotICBlY2hvCi0gIHByaW50ZiAiU1VNTUFSWTpcblxuIgotICBwcmludGYgIiogTnVtYmVyIG9mIGNoZWNrZWQgZnVuY3Rpb25zIGluIGxpYmMgICAgICAgICAgICAgICAgOiAkeyNGU19jaGtfZnVuY19saWJjW0BdfVxuIgotICBwcmludGYgIiogVG90YWwgbnVtYmVyIG9mIGxpYnJhcnkgZnVuY3Rpb25zIGluIHRoZSBleGVjdXRhYmxlOiAkeyNGU19mdW5jdGlvbnNbQF19XG4iCi0gIHByaW50ZiAiKiBOdW1iZXIgb2YgRk9SVElGWS1hYmxlIGZ1bmN0aW9ucyBpbiB0aGUgZXhlY3V0YWJsZSA6ICVzXG4iICRGU19jbnRfdG90YWwKLSAgcHJpbnRmICIqIE51bWJlciBvZiBjaGVja2VkIGZ1bmN0aW9ucyBpbiB0aGUgZXhlY3V0YWJsZSAgICAgIDogXDAzM1szMm0lc1wwMzNbbVxuIiAkRlNfY250X2NoZWNrZWQKLSAgcHJpbnRmICIqIE51bWJlciBvZiB1bmNoZWNrZWQgZnVuY3Rpb25zIGluIHRoZSBleGVjdXRhYmxlICAgIDogXDAzM1szMW0lc1wwMzNbbVxuIiAkRlNfY250X3VuY2hlY2tlZAotICBlY2hvCi19Ci0KLSMgLS0tIEZPUlRJRllfU09VUkNFIHN1YmZ1bmN0aW9ucyAoZW5kKSAtLS0KLQotaWYgIShjb21tYW5kX2V4aXN0cyByZWFkZWxmKSA7IHRoZW4KLSAgcHJpbnRmICJcMDMzWzMxbVdhcm5pbmc6ICdyZWFkZWxmJyBub3QgZm91bmQhIEl0J3MgcmVxdWlyZWQgZm9yIG1vc3QgY2hlY2tzLlwwMzNbbVxuXG4iCi0gIGhhdmVfcmVhZGVsZj0wCi1maQotCi0jIHBhcnNlIGNvbW1hbmQtbGluZSBhcmd1bWVudHMKLWNhc2UgIiQxIiBpbgotCi0gLS12ZXJzaW9uKQotICB2ZXJzaW9uCi0gIGV4aXQgMAotICA7OwotCi0gLS1oZWxwKQotICBoZWxwCi0gIGV4aXQgMAotICA7OwotCi0gLS1kaXIpCi0gIGlmIFsgIiQzIiA9ICItdiIgXSA7IHRoZW4KLSAgICB2ZXJib3NlPXRydWUKLSAgZmkKLSAgaWYgWyAkaGF2ZV9yZWFkZWxmIC1lcSAwIF0gOyB0aGVuCi0gICAgZXhpdCAxCi0gIGZpCi0gIGlmIFsgLXogIiQyIiBdIDsgdGhlbgotICAgIHByaW50ZiAiXDAzM1szMW1FcnJvcjogUGxlYXNlIHByb3ZpZGUgYSB2YWxpZCBkaXJlY3RvcnkuXDAzM1ttXG5cbiIKLSAgICBleGl0IDEKLSAgZmkKLSAgIyByZW1vdmUgdHJhaWxpbmcgc2xhc2hlcwotICB0ZW1wZGlyPWBlY2hvICQyIHwgc2VkIC1lICJzL1wvKiQvLyJgCi0gIGlmIFsgISAtZCAkdGVtcGRpciBdIDsgdGhlbgotICAgIHByaW50ZiAiXDAzM1szMW1FcnJvcjogVGhlIGRpcmVjdG9yeSAnJHRlbXBkaXInIGRvZXMgbm90IGV4aXN0LlwwMzNbbVxuXG4iCi0gICAgZXhpdCAxCi0gIGZpCi0gIGNkICR0ZW1wZGlyCi0gIHByaW50ZiAiUkVMUk8gICAgICAgICAgIFNUQUNLIENBTkFSWSAgICAgIE5YICAgICAgICAgICAgUElFICAgICAgICAgICAgIFJQQVRIICAgICAgUlVOUEFUSCAgICAgIEZJTEVcbiIKLSAgZm9yIE4gaW4gW0EtWmEtel0qOyBkbwotICAgIGlmIFsgIiROIiAhPSAiW0EtWmEtel0qIiBdOyB0aGVuCi0gICAgICAjIHJlYWQgcGVybWlzc2lvbnM/Ci0gICAgICBpZiBbICEgLXIgJE4gXTsgdGhlbgotICAgICAgICBwcmludGYgIlwwMzNbMzFtRXJyb3I6IE5vIHJlYWQgcGVybWlzc2lvbnMgZm9yICckdGVtcGRpci8kTicgKHJ1biBhcyByb290KS5cMDMzW21cbiIKLSAgICAgIGVsc2UKLSAgICAgICAgIyBFTEYgZXhlY3V0YWJsZT8KLSAgICAgICAgb3V0PWBmaWxlICROYAotICAgICAgICBpZiBbWyAhICRvdXQgPX4gRUxGIF1dIDsgdGhlbgotICAgICAgICAgICBpZiBbICIkdmVyYm9zZSIgPSAidHJ1ZSIgXSA7IHRoZW4KLSAgICAgICAgICAgICBwcmludGYgIlwwMzNbMzRtKioqIE5vdCBhbiBFTEYgZmlsZTogJHRlbXBkaXIvIgotICAgICAgICAgICAgIGZpbGUgJE4KLSAgICAgICAgICAgICBwcmludGYgIlwwMzNbbSIKLSAgICAgICAgICAgZmkKLSAgICAgICAgZWxzZSAKLSAgICAgICAgICBmaWxlY2hlY2sgJE4KLSAgICAgICAgICBpZiBbIGBmaW5kICR0ZW1wZGlyLyROIFwoIC1wZXJtIC0wMDQwMDAgLW8gLXBlcm0gLTAwMjAwMCBcKSAtdHlwZSBmIC1wcmludGAgXTsgdGhlbgotICAgICAgICAgICAgcHJpbnRmICJcMDMzWzM3OzQxbSVzJXNcMDMzW20iICQyICROCi0gICAgICAgICAgZWxzZQotICAgICAgICAgICAgcHJpbnRmICIlcyVzIiAkdGVtcGRpci8gJE4KLSAgICAgICAgICBmaQotICAgICAgICAgIGVjaG8KLSAgICAgICAgZmkKLSAgICAgIGZpCi0gICAgZmkKLSAgZG9uZQotICBleGl0IDAKLSAgOzsKLSAKLSAtLWZpbGUpCi0gIGlmIFsgJGhhdmVfcmVhZGVsZiAtZXEgMCBdIDsgdGhlbgotICAgIGV4aXQgMQotICBmaQotICBpZiBbIC16ICIkMiIgXSA7IHRoZW4KLSAgICBwcmludGYgIlwwMzNbMzFtRXJyb3I6IFBsZWFzZSBwcm92aWRlIGEgdmFsaWQgZmlsZS5cMDMzW21cblxuIgotICAgZXhpdCAxCi0gIGZpCi0gICMgZG9lcyB0aGUgZmlsZSBleGlzdD8KLSAgaWYgWyAhIC1lICQyIF0gOyB0aGVuCi0gICAgcHJpbnRmICJcMDMzWzMxbUVycm9yOiBUaGUgZmlsZSAnJDInIGRvZXMgbm90IGV4aXN0LlwwMzNbbVxuXG4iCi0gICAgZXhpdCAxCi0gIGZpCi0gICMgcmVhZCBwZXJtaXNzaW9ucz8KLSAgaWYgWyAhIC1yICQyIF0gOyB0aGVuCi0gICAgcHJpbnRmICJcMDMzWzMxbUVycm9yOiBObyByZWFkIHBlcm1pc3Npb25zIGZvciAnJDInIChydW4gYXMgcm9vdCkuXDAzM1ttXG5cbiIKLSAgICBleGl0IDEKLSAgZmkKLSAgIyBFTEYgZXhlY3V0YWJsZT8KLSAgb3V0PWBmaWxlICQyYAotICBpZiBbWyAhICRvdXQgPX4gRUxGIF1dIDsgdGhlbgotICAgIHByaW50ZiAiXDAzM1szMW1FcnJvcjogTm90IGFuIEVMRiBmaWxlOiAiCi0gICAgZmlsZSAkMgotICAgIHByaW50ZiAiXDAzM1ttXG4iCi0gICAgZXhpdCAxCi0gIGZpCi0gIHByaW50ZiAiUkVMUk8gICAgICAgICAgIFNUQUNLIENBTkFSWSAgICAgIE5YICAgICAgICAgICAgUElFICAgICAgICAgICAgIFJQQVRIICAgICAgUlVOUEFUSCAgICAgIEZJTEVcbiIKLSAgZmlsZWNoZWNrICQyCi0gIGlmIFsgYGZpbmQgJDIgXCggLXBlcm0gLTAwNDAwMCAtbyAtcGVybSAtMDAyMDAwIFwpIC10eXBlIGYgLXByaW50YCBdIDsgdGhlbgotICAgIHByaW50ZiAiXDAzM1szNzs0MW0lcyVzXDAzM1ttIiAkMiAkTgotICBlbHNlCi0gICAgcHJpbnRmICIlcyIgJDIKLSAgZmkKLSAgZWNobwotICBleGl0IDAKLSAgOzsKLQotIC0tcHJvYy1hbGwpCi0gIGlmIFsgJGhhdmVfcmVhZGVsZiAtZXEgMCBdIDsgdGhlbgotICAgIGV4aXQgMQotICBmaQotICBjZCAvcHJvYwotICBwcmludGYgIiogU3lzdGVtLXdpZGUgQVNMUiIKLSAgYXNscmNoZWNrCi0gIHByaW50ZiAiKiBEb2VzIHRoZSBDUFUgc3VwcG9ydCBOWDogIgotICBueGNoZWNrIAotICBwcmludGYgIiAgICAgICAgIENPTU1BTkQgICAgUElEIFJFTFJPICAgICAgICAgICAgIFNUQUNLIENBTkFSWSAgICAgICAgICAgTlgvUGFYICAgICAgICBQSUVcbiIKLSAgZm9yIE4gaW4gWzEtOV0qOyBkbwotICAgIGlmIFsgJE4gIT0gJCQgXSAmJiByZWFkbGluayAtcSAkTi9leGUgPiAvZGV2L251bGw7IHRoZW4KLSAgICAgIHByaW50ZiAiJTE2cyIgYGhlYWQgLTEgJE4vc3RhdHVzIHwgY3V0IC1iIDctYAotICAgICAgcHJpbnRmICIlN2QgIiAkTgotICAgICAgcHJvY2NoZWNrICROCi0gICAgICBlY2hvCi0gICAgZmkKLSAgZG9uZQotICBpZiBbICEgLWUgL3Vzci9iaW4vaWQgXSA7IHRoZW4KLSAgICBwcmludGYgIlxuXDAzM1szM21Ob3RlOiBJZiB5b3UgYXJlIHJ1bm5pbmcgJ2NoZWNrc2VjLnNoJyBhcyBhbiB1bnByaXZpbGVnZWQgdXNlciwgeW91XG4iCi0gICAgcHJpbnRmICIgICAgICB3aWxsIG5vdCBzZWUgYWxsIHByb2Nlc3Nlcy4gUGxlYXNlIHJ1biB0aGUgc2NyaXB0IGFzIHJvb3QuXDAzM1ttXG5cbiIKLSAgZWxzZSAKLSAgICBpZiAhKHJvb3RfcHJpdnMpIDsgdGhlbgotICAgICAgcHJpbnRmICJcblwwMzNbMzNtTm90ZTogWW91IGFyZSBydW5uaW5nICdjaGVja3NlYy5zaCcgYXMgYW4gdW5wcml2aWxlZ2VkIHVzZXIuXG4iIAotICAgICAgcHJpbnRmICIgICAgICBUb28gc2VlIGFsbCBwcm9jZXNzZXMsIHBsZWFzZSBydW4gdGhlIHNjcmlwdCBhcyByb290LlwwMzNbbVxuXG4iCi0gICAgZmkKLSAgZmkKLSAgZXhpdCAwCi0gIDs7Ci0KLSAtLXByb2MpCi0gIGlmIFsgJGhhdmVfcmVhZGVsZiAtZXEgMCBdIDsgdGhlbgotICAgIGV4aXQgMQotICBmaQotICBpZiBbIC16ICIkMiIgXSA7IHRoZW4KLSAgICBwcmludGYgIlwwMzNbMzFtRXJyb3I6IFBsZWFzZSBwcm92aWRlIGEgdmFsaWQgcHJvY2VzcyBuYW1lLlwwMzNbbVxuXG4iCi0gICAgZXhpdCAxCi0gIGZpCi0gIGlmICEoaXNTdHJpbmcgIiQyIikgOyB0aGVuCi0gICAgIHByaW50ZiAiXDAzM1szMW1FcnJvcjogUGxlYXNlIHByb3ZpZGUgYSB2YWxpZCBwcm9jZXNzIG5hbWUuXDAzM1ttXG5cbiIKLSAgICAgZXhpdCAxCi0gIGZpCi0gIGNkIC9wcm9jCi0gIHByaW50ZiAiKiBTeXN0ZW0td2lkZSBBU0xSIgotICBhc2xyY2hlY2sKLSAgcHJpbnRmICIqIERvZXMgdGhlIENQVSBzdXBwb3J0IE5YOiAiCi0gIG54Y2hlY2sKLSAgcHJpbnRmICIgICAgICAgICBDT01NQU5EICAgIFBJRCBSRUxSTyAgICAgICAgICAgICBTVEFDSyBDQU5BUlkgICAgICAgICAgIE5YL1BhWCAgICAgICAgUElFXG4iCi0gIGZvciBOIGluIGBwcyAtQW8gcGlkLGNvbW0gfCBncmVwICQyIHwgY3V0IC1iMS02YDsgZG8KLSAgICBpZiBbIC1kICROIF0gOyB0aGVuCi0gICAgICBwcmludGYgIiUxNnMiIGBoZWFkIC0xICROL3N0YXR1cyB8IGN1dCAtYiA3LWAKLSAgICAgIHByaW50ZiAiJTdkICIgJE4KLSAgICAgICMgcmVhZCBwZXJtaXNzaW9ucz8KLSAgICAgIGlmIFsgISAtciAkTi9leGUgXSA7IHRoZW4KLSAgICAgICAgaWYgIShyb290X3ByaXZzKSA7IHRoZW4KLSAgICAgICAgICBwcmludGYgIlwwMzNbMzFtTm8gcmVhZCBwZXJtaXNzaW9ucyBmb3IgJy9wcm9jLyROL2V4ZScgKHJ1biBhcyByb290KS5cMDMzW21cblxuIgotICAgICAgICAgIGV4aXQgMQotICAgICAgICBmaQotICAgICAgICBpZiBbICEgYHJlYWRsaW5rICROL2V4ZWAgXSA7IHRoZW4KLSAgICAgICAgICBwcmludGYgIlwwMzNbMzFtUGVybWlzc2lvbiBkZW5pZWQuIFJlcXVlc3RlZCBwcm9jZXNzIElEIGJlbG9uZ3MgdG8gYSBrZXJuZWwgdGhyZWFkLlwwMzNbbVxuXG4iCi0gICAgICAgICAgZXhpdCAxCi0gICAgICAgIGZpCi0gICAgICAgIGV4aXQgMQotICAgICAgZmkKLSAgICAgIHByb2NjaGVjayAkTgotICAgICAgZWNobwotICAgIGZpCi0gIGRvbmUKLSAgZXhpdCAwCi0gIDs7Ci0KLSAtLXByb2MtbGlicykKLSAgaWYgWyAkaGF2ZV9yZWFkZWxmIC1lcSAwIF0gOyB0aGVuCi0gICAgZXhpdCAxCi0gIGZpCi0gIGlmIFsgLXogIiQyIiBdIDsgdGhlbgotICAgIHByaW50ZiAiXDAzM1szMW1FcnJvcjogUGxlYXNlIHByb3ZpZGUgYSB2YWxpZCBwcm9jZXNzIElELlwwMzNbbVxuXG4iCi0gICAgZXhpdCAxCi0gIGZpCi0gIGlmICEoaXNOdW1lcmljICIkMiIpIDsgdGhlbgotICAgICBwcmludGYgIlwwMzNbMzFtRXJyb3I6IFBsZWFzZSBwcm92aWRlIGEgdmFsaWQgcHJvY2VzcyBJRC5cMDMzW21cblxuIgotICAgICBleGl0IDEKLSAgZmkKLSAgY2QgL3Byb2MKLSAgcHJpbnRmICIqIFN5c3RlbS13aWRlIEFTTFIiCi0gIGFzbHJjaGVjawotICBwcmludGYgIiogRG9lcyB0aGUgQ1BVIHN1cHBvcnQgTlg6ICIKLSAgbnhjaGVjawotICBwcmludGYgIiogUHJvY2VzcyBpbmZvcm1hdGlvbjpcblxuIgotICBwcmludGYgIiAgICAgICAgIENPTU1BTkQgICAgUElEIFJFTFJPICAgICAgICAgICAgIFNUQUNLIENBTkFSWSAgICAgICAgICAgTlgvUGFYICAgICAgICBQSUVcbiIKLSAgTj0kMgotICBpZiBbIC1kICROIF0gOyB0aGVuCi0gICAgcHJpbnRmICIlMTZzIiBgaGVhZCAtMSAkTi9zdGF0dXMgfCBjdXQgLWIgNy1gCi0gICAgcHJpbnRmICIlN2QgIiAkTgotICAgICMgcmVhZCBwZXJtaXNzaW9ucz8KLSAgICBpZiBbICEgLXIgJE4vZXhlIF0gOyB0aGVuCi0gICAgICBpZiAhKHJvb3RfcHJpdnMpIDsgdGhlbgotICAgICAgICBwcmludGYgIlwwMzNbMzFtTm8gcmVhZCBwZXJtaXNzaW9ucyBmb3IgJy9wcm9jLyROL2V4ZScgKHJ1biBhcyByb290KS5cMDMzW21cblxuIgotICAgICAgICBleGl0IDEKLSAgICAgIGZpCi0gICAgICBpZiBbICEgYHJlYWRsaW5rICROL2V4ZWAgXSA7IHRoZW4KLSAgICAgICAgcHJpbnRmICJcMDMzWzMxbVBlcm1pc3Npb24gZGVuaWVkLiBSZXF1ZXN0ZWQgcHJvY2VzcyBJRCBiZWxvbmdzIHRvIGEga2VybmVsIHRocmVhZC5cMDMzW21cblxuIgotICAgICAgICBleGl0IDEKLSAgICAgIGZpCi0gICAgICBleGl0IDEKLSAgICBmaQotICAgIHByb2NjaGVjayAkTgotICAgIGVjaG8KLSAgICBsaWJjaGVjayAkTgotICBmaQotICBleGl0IDAKLSAgOzsKLQotIC0ta2VybmVsKQotICBjZCAvcHJvYwotICBwcmludGYgIiogS2VybmVsIHByb3RlY3Rpb24gaW5mb3JtYXRpb246XG5cbiIKLSAga2VybmVsY2hlY2sKLSAgZXhpdCAwCi0gIDs7Ci0KLSAtLWZvcnRpZnktZmlsZSkKLSAgaWYgWyAkaGF2ZV9yZWFkZWxmIC1lcSAwIF0gOyB0aGVuCi0gICAgZXhpdCAxCi0gIGZpCi0gIGlmIFsgLXogIiQyIiBdIDsgdGhlbgotICAgIHByaW50ZiAiXDAzM1szMW1FcnJvcjogUGxlYXNlIHByb3ZpZGUgYSB2YWxpZCBmaWxlLlwwMzNbbVxuXG4iCi0gICBleGl0IDEKLSAgZmkKLSAgIyBkb2VzIHRoZSBmaWxlIGV4aXN0PwotICBpZiBbICEgLWUgJDIgXSA7IHRoZW4KLSAgICBwcmludGYgIlwwMzNbMzFtRXJyb3I6IFRoZSBmaWxlICckMicgZG9lcyBub3QgZXhpc3QuXDAzM1ttXG5cbiIKLSAgICBleGl0IDEKLSAgZmkKLSAgIyByZWFkIHBlcm1pc3Npb25zPwotICBpZiBbICEgLXIgJDIgXSA7IHRoZW4KLSAgICBwcmludGYgIlwwMzNbMzFtRXJyb3I6IE5vIHJlYWQgcGVybWlzc2lvbnMgZm9yICckMicgKHJ1biBhcyByb290KS5cMDMzW21cblxuIgotICAgIGV4aXQgMQotICBmaQotICAjIEVMRiBleGVjdXRhYmxlPwotICBvdXQ9YGZpbGUgJDJgCi0gIGlmIFtbICEgJG91dCA9fiBFTEYgXV0gOyB0aGVuCi0gICAgcHJpbnRmICJcMDMzWzMxbUVycm9yOiBOb3QgYW4gRUxGIGZpbGU6ICIKLSAgICBmaWxlICQyCi0gICAgcHJpbnRmICJcMDMzW21cbiIKLSAgICBleGl0IDEKLSAgZmkKLSAgaWYgWyAtZSAvbGliL2xpYmMuc28uNiBdIDsgdGhlbgotICAgIEZTX2xpYmM9L2xpYi9saWJjLnNvLjYKLSAgZWxpZiBbIC1lIC9saWI2NC9saWJjLnNvLjYgXSA7IHRoZW4KLSAgICBGU19saWJjPS9saWI2NC9saWJjLnNvLjYKLSAgZWxpZiBbIC1lIC9saWIvaTM4Ni1saW51eC1nbnUvbGliYy5zby42IF0gOyB0aGVuCi0gICAgRlNfbGliYz0vbGliL2kzODYtbGludXgtZ251L2xpYmMuc28uNgotICBlbGlmIFsgLWUgL2xpYi94ODZfNjQtbGludXgtZ251L2xpYmMuc28uNiBdIDsgdGhlbgotICAgIEZTX2xpYmM9L2xpYi94ODZfNjQtbGludXgtZ251L2xpYmMuc28uNgotICBlbHNlCi0gICAgcHJpbnRmICJcMDMzWzMxbUVycm9yOiBsaWJjIG5vdCBmb3VuZC5cMDMzW21cblxuIgotICAgIGV4aXQgMQotICBmaQotCi0gIEZTX2Noa19mdW5jX2xpYmM9KCAkKHJlYWRlbGYgLXMgJEZTX2xpYmMgfCBncmVwIF9jaGtAQCB8IGF3ayAneyBwcmludCAkOCB9JyB8IGN1dCAtYyAzLSB8IHNlZCAtZSAncy9fY2hrQC4qLy8nKSApCi0gIEZTX2Z1bmN0aW9ucz0oICQocmVhZGVsZiAtcyAkMiB8IGF3ayAneyBwcmludCAkOCB9JyB8IHNlZCAncy9fKi8vJyB8IHNlZCAtZSAncy9ALiovLycpICkKLQotICBGU19saWJjX2NoZWNrCi0gIEZTX2JpbmFyeV9jaGVjawotICBGU19jb21wYXJpc29uCi0gIEZTX3N1bW1hcnkKLQotICBleGl0IDAKLSAgOzsKLQotIC0tZm9ydGlmeS1wcm9jKQotICBpZiBbICRoYXZlX3JlYWRlbGYgLWVxIDAgXSA7IHRoZW4KLSAgICBleGl0IDEKLSAgZmkKLSAgaWYgWyAteiAiJDIiIF0gOyB0aGVuCi0gICAgcHJpbnRmICJcMDMzWzMxbUVycm9yOiBQbGVhc2UgcHJvdmlkZSBhIHZhbGlkIHByb2Nlc3MgSUQuXDAzM1ttXG5cbiIKLSAgICBleGl0IDEKLSAgZmkKLSAgaWYgIShpc051bWVyaWMgIiQyIikgOyB0aGVuCi0gICAgIHByaW50ZiAiXDAzM1szMW1FcnJvcjogUGxlYXNlIHByb3ZpZGUgYSB2YWxpZCBwcm9jZXNzIElELlwwMzNbbVxuXG4iCi0gICAgIGV4aXQgMQotICBmaQotICBjZCAvcHJvYwotICBOPSQyCi0gIGlmIFsgLWQgJE4gXSA7IHRoZW4KLSAgICAjIHJlYWQgcGVybWlzc2lvbnM/Ci0gICAgaWYgWyAhIC1yICROL2V4ZSBdIDsgdGhlbgotICAgICAgaWYgIShyb290X3ByaXZzKSA7IHRoZW4KLSAgICAgICAgcHJpbnRmICJcMDMzWzMxbU5vIHJlYWQgcGVybWlzc2lvbnMgZm9yICcvcHJvYy8kTi9leGUnIChydW4gYXMgcm9vdCkuXDAzM1ttXG5cbiIKLSAgICAgICAgZXhpdCAxCi0gICAgICBmaQotICAgICAgaWYgWyAhIGByZWFkbGluayAkTi9leGVgIF0gOyB0aGVuCi0gICAgICAgIHByaW50ZiAiXDAzM1szMW1QZXJtaXNzaW9uIGRlbmllZC4gUmVxdWVzdGVkIHByb2Nlc3MgSUQgYmVsb25ncyB0byBhIGtlcm5lbCB0aHJlYWQuXDAzM1ttXG5cbiIKLSAgICAgICAgZXhpdCAxCi0gICAgICBmaQotICAgICAgZXhpdCAxCi0gICAgZmkKLSAgICBpZiBbIC1lIC9saWIvbGliYy5zby42IF0gOyB0aGVuCi0gICAgICBGU19saWJjPS9saWIvbGliYy5zby42Ci0gICAgZWxpZiBbIC1lIC9saWI2NC9saWJjLnNvLjYgXSA7IHRoZW4KLSAgICAgIEZTX2xpYmM9L2xpYjY0L2xpYmMuc28uNgotICAgIGVsaWYgWyAtZSAvbGliL2kzODYtbGludXgtZ251L2xpYmMuc28uNiBdIDsgdGhlbgotICAgICAgRlNfbGliYz0vbGliL2kzODYtbGludXgtZ251L2xpYmMuc28uNgotICAgIGVsaWYgWyAtZSAvbGliL3g4Nl82NC1saW51eC1nbnUvbGliYy5zby42IF0gOyB0aGVuCi0gICAgICBGU19saWJjPS9saWIveDg2XzY0LWxpbnV4LWdudS9saWJjLnNvLjYKLSAgICBlbHNlCi0gICAgICBwcmludGYgIlwwMzNbMzFtRXJyb3I6IGxpYmMgbm90IGZvdW5kLlwwMzNbbVxuXG4iCi0gICAgICBleGl0IDEKLSAgICBmaQotICAgIHByaW50ZiAiKiBQcm9jZXNzIG5hbWUgKFBJRCkgICAgICAgICAgICAgICAgICAgICAgICAgOiAlcyAoJWQpXG4iIGBoZWFkIC0xICROL3N0YXR1cyB8IGN1dCAtYiA3LWAgJE4KLSAgICBGU19jaGtfZnVuY19saWJjPSggJChyZWFkZWxmIC1zICRGU19saWJjIHwgZ3JlcCBfY2hrQEAgfCBhd2sgJ3sgcHJpbnQgJDggfScgfCBjdXQgLWMgMy0gfCBzZWQgLWUgJ3MvX2Noa0AuKi8vJykgKQotICAgIEZTX2Z1bmN0aW9ucz0oICQocmVhZGVsZiAtcyAkMi9leGUgfCBhd2sgJ3sgcHJpbnQgJDggfScgfCBzZWQgJ3MvXyovLycgfCBzZWQgLWUgJ3MvQC4qLy8nKSApCi0KLSAgICBGU19saWJjX2NoZWNrCi0gICAgRlNfYmluYXJ5X2NoZWNrCi0gICAgRlNfY29tcGFyaXNvbgotICAgIEZTX3N1bW1hcnkKLSAgZmkKLSAgZXhpdCAwCi0gIDs7Ci0KLSAqKQotICBpZiBbICIkIyIgIT0gIjAiIF0gOyB0aGVuCi0gICAgcHJpbnRmICJcMDMzWzMxbUVycm9yOiBVbmtub3duIG9wdGlvbiAnJDEnLlwwMzNbbVxuXG4iCi0gIGZpCi0gIGhlbHAKLSAgZXhpdCAxCi0gIDs7Ci1lc2FjCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvY2xhbWF2L2NsYW1hdl8wLjk5LjQuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvY2xhbWF2L2NsYW1hdl8wLjk5LjQuYmIKaW5kZXggOGMyYzJmYS4uNjIxOWQ5ZSAxMDA2NDQKLS0tIGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2NsYW1hdi9jbGFtYXZfMC45OS40LmJiCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9jbGFtYXYvY2xhbWF2XzAuOTkuNC5iYgpAQCAtMzEsMTcgKzMxLDEzIEBACiAKICMgQ2xhbWF2IGhhcyBhIGJ1aWx0IGxsdm0gdmVyc2lvbiAyIGJ1dCBkb2VzIG5vdCBidWlsZCB3aXRoIGdjYyA2LngsCiAjIGRpc2FibGUgdGhlIGludGVybmFsIG9uZS4gVGhpcyBpcyBhIGtub3duIGlzc3VlCi0jIElmIHlvdSB3YW50IExMVk0gc3VwcG9ydCwgdXNlIG1ldGEtb2UgbGx2bTMuMyB0byBidWlsZCBmb3IgR0NDIDYuWCwKLSMgYXMgZGVmaW5lZCBiZWxvdworIyBJZiB5b3Ugd2FudCBMTFZNIHN1cHBvcnQsIHVzZSB0aGUgb25lIGluIGNvcmUKIAotQ0xBTUFWX0xMVk0gPz0gIm9lbGx2bSIKLUNMQU1BVl9MTFZNX1JFTEVBU0UgPz0gIjYuMCIKLQotUEFDS0FHRUNPTkZJRyA/PSAibmN1cnNlcyBvcGVuc3NsIGJ6MiB6bGliICR7Q0xBTUFWX0xMVk19IgorUEFDS0FHRUNPTkZJRyA/PSAibmN1cnNlcyBvcGVuc3NsIGJ6MiB6bGliIGxsdm0iCiBQQUNLQUdFQ09ORklHICs9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJpcHY2IiwgImlwdjYiLCAiIiwgZCl9IgogUEFDS0FHRUNPTkZJRyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3N5c3RlbWQnLCAnJywgZCl9IgogCi1QQUNLQUdFQ09ORklHW29lbGx2bV0gPSAiLS13aXRoLXN5c3RlbS1sbHZtIC0td2l0aC1sbHZtLWxpbmtpbmc9ZHluYW1pYyAtLWRpc2FibGUtbGx2bSwgLGxsdm0ke0NMQU1BVl9MTFZNX1JFTEVBU0V9IgorUEFDS0FHRUNPTkZJR1tsbHZtXSA9ICItLXdpdGgtc3lzdGVtLWxsdm0gLS13aXRoLWxsdm0tbGlua2luZz1keW5hbWljIC0tZGlzYWJsZS1sbHZtLCAsbGx2bTguMCIKIAogUEFDS0FHRUNPTkZJR1twY3JlXSA9ICItLXdpdGgtcGNyZT0ke1NUQUdJTkdfTElCRElSfSwgIC0td2l0aG91dC1wY3JlLCBsaWJwY3JlIgogUEFDS0FHRUNPTkZJR1t4bWxdID0gIi0td2l0aC14bWw9JHtTVEFHSU5HX0xJQkRJUn0vLi4sIC0td2l0aC14bWw9bm8sIGxpYnhtbDIsIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2ZhaWwyYmFuL3B5dGhvbi1mYWlsMmJhbi5pbmMgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvZmFpbDJiYW4vcHl0aG9uLWZhaWwyYmFuLmluYwppbmRleCA5MjQ1ZjE3Li43MjcwZWQ4IDEwMDY0NAotLS0gYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvZmFpbDJiYW4vcHl0aG9uLWZhaWwyYmFuLmluYworKysgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvZmFpbDJiYW4vcHl0aG9uLWZhaWwyYmFuLmluYwpAQCAtOSw3ICs5LDcgQEAKIExJQ0VOU0UgPSAiR1BMLTIuMCIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWVjYWJjMzFlOTAzMTFkYTg0Mzc1M2JhNzcyODg1ZDlmIgogCi1TUkNSRVYgPSJhYzBkNDQxZmQ2ODg1MmZmZGE3YjE1YzcxZjE2YjdmNGZkZTFhN2VlIgorU1JDUkVWID0iYWE1NjVlYjgwZWM2MDQzMzE3ZTg0MzBjYWJjYWY5YzNmNGU2MTU3OCIKIFNSQ19VUkkgPSAiIFwKIAlnaXQ6Ly9naXRodWIuY29tL2ZhaWwyYmFuL2ZhaWwyYmFuLmdpdDticmFuY2g9MC4xMSBcCiAJZmlsZTovL2luaXRkIFwKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9mYWlsMmJhbi9weXRob24tZmFpbDJiYW5fMC4xMC4zLjEuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvZmFpbDJiYW4vcHl0aG9uLWZhaWwyYmFuXzAuMTAuNC4wLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvZmFpbDJiYW4vcHl0aG9uLWZhaWwyYmFuXzAuMTAuMy4xLmJiCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvZmFpbDJiYW4vcHl0aG9uLWZhaWwyYmFuXzAuMTAuNC4wLmJiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvZmFpbDJiYW4vcHl0aG9uMy1mYWlsMmJhbl8wLjEwLjMuMS5iYiBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9mYWlsMmJhbi9weXRob24zLWZhaWwyYmFuXzAuMTAuNC4wLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvZmFpbDJiYW4vcHl0aG9uMy1mYWlsMmJhbl8wLjEwLjMuMS5iYgpyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2ZhaWwyYmFuL3B5dGhvbjMtZmFpbDJiYW5fMC4xMC40LjAuYmIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9rZXl1dGlscy9maWxlcy9rZXl1dGlscy11c2UtcmVsYXRpdmUtcGF0aC1mb3ItbGluay5wYXRjaCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9rZXl1dGlscy9maWxlcy9rZXl1dGlscy11c2UtcmVsYXRpdmUtcGF0aC1mb3ItbGluay5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGRlMWFmNC4uMDAwMDAwMAotLS0gYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkva2V5dXRpbHMvZmlsZXMva2V5dXRpbHMtdXNlLXJlbGF0aXZlLXBhdGgtZm9yLWxpbmsucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1TdWJqZWN0OiBbUEFUQ0hdIGtleXV0aWxzOiB1c2UgcmVsYXRpdmUgcGF0aCBmb3IgbGluawotCi1UaGUgYWJzb2x1dGUgcGF0aCBvZiB0aGUgc3ltbGluayB3aWxsIGJlIGludmFsaWQKLXdoZW4gcG9wdWxhdGVkIGluIHN5c3Jvb3QsIHNvIHVzZSByZWxhdGl2ZSBwYXRoIGluc3RlYWQuCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgotLS0tCi0gTWFrZWZpbGUgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCi1pbmRleCA4MjRiYmJmLi44Y2UzYTEzIDEwMDY0NAotLS0tIGEvTWFrZWZpbGUKLSsrKyBiL01ha2VmaWxlCi1AQCAtMTY3LDcgKzE2Nyw3IEBAIGlmZXEgKCQoTk9fU09MSUIpLDApCi0gCSQoSU5TVEFMTCkgLUQgJChMSUJOQU1FKSAkKERFU1RESVIpJChMSUJESVIpLyQoTElCTkFNRSkKLSAJJChMTlMpICQoTElCTkFNRSkgJChERVNURElSKSQoTElCRElSKS8kKFNPTkFNRSkKLSAJbWtkaXIgLXAgJChERVNURElSKSQoVVNSTElCRElSKQotLQkkKExOUykgJChMSUJESVIpLyQoU09OQU1FKSAkKERFU1RESVIpJChVU1JMSUJESVIpLyQoREVWRUxMSUIpCi0rCSQoTE5TKSAkKFNPTkFNRSkgJChERVNURElSKSQoVVNSTElCRElSKS8kKERFVkVMTElCKQotIGVuZGlmCi0gCSQoSU5TVEFMTCkgLUQga2V5Y3RsICQoREVTVERJUikkKEJJTkRJUikva2V5Y3RsCi0gCSQoSU5TVEFMTCkgLUQgcmVxdWVzdC1rZXkgJChERVNURElSKSQoU0JJTkRJUikvcmVxdWVzdC1rZXkKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9rZXl1dGlscy9rZXl1dGlsc18xLjUuMTAuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkva2V5dXRpbHMva2V5dXRpbHNfMS41LjEwLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNDIyMmI5Li4wMDAwMDAwCi0tLSBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9rZXl1dGlscy9rZXl1dGlsc18xLjUuMTAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi1TVU1NQVJZID0gIkxpbnV4IEtleSBNYW5hZ2VtZW50IFV0aWxpdGllcyIKLURFU0NSSVBUSU9OID0gIlwKLSAgICBVdGlsaXRpZXMgdG8gY29udHJvbCB0aGUga2VybmVsIGtleSBtYW5hZ2VtZW50IGZhY2lsaXR5IGFuZCB0byBwcm92aWRlIFwKLSAgICBhIG1lY2hhbmlzbSBieSB3aGljaCB0aGUga2VybmVsIGNhbGwgYmFjayB0byB1c2Vyc3BhY2UgdG8gZ2V0IGEga2V5IFwKLSAgICBpbnN0YW50aWF0ZWQuIFwKLSAgICAiCi1IT01FUEFHRSA9ICJodHRwOi8vcGVvcGxlLnJlZGhhdC5jb20vZGhvd2VsbHMva2V5dXRpbHMiCi1TRUNUSU9OID0gImJhc2UiCi0KLUxJQ0VOU0UgPSAiTEdQTHYyLjErICYgR1BMdjIuMCsiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOQ0UuR1BMO21kNT01ZjZlNzI4MjRmNWRhNTA1YzFmNGE3MTk3ZjAwNGI0NSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9MSUNFTkNFLkxHUEw7bWQ1PTdkMWNhY2FhM2VhNzUyYjcyZWE1ZTUyNWRmNTRhMjFmIgotCi0KLWluaGVyaXQgc2l0ZWluZm8gcHRlc3QKLQotU1JDX1VSSSA9ICJodHRwOi8vcGVvcGxlLnJlZGhhdC5jb20vZGhvd2VsbHMva2V5dXRpbHMvJHtCUH0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9rZXl1dGlscy11c2UtcmVsYXRpdmUtcGF0aC1mb3ItbGluay5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9rZXl1dGlscy10ZXN0LWZpeC1vdXRwdXQtZm9ybWF0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2tleXV0aWxzLWZpeC1lcnJvci1yZXBvcnQtYnktYWRkaW5nLWRlZmF1bHQtbWVzc2FnZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIzNzcxNjc2MzE5YmM3Yjg0YjE1NDliNWM2M2ZmNTI0MyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIxMTVjM2RlYWU3ZjE4MTc3OGZkMGUwZmZhYTJkYWQxYmYxZmUyZjU2NzdjZjJlMGUzNDhjZGI3YTFjOTNhZmI2IgotCi1FWFRSQV9PRU1BS0UgPSAiJ0NGTEFHUz0ke0NGTEFHU30gLVdhbGwnIFwKLSAgICBOT19BUkxJQj0xIFwKLSAgICBCSU5ESVI9JHtiYXNlX2JpbmRpcn0gXAotICAgIFNCSU5ESVI9JHtiYXNlX3NiaW5kaXJ9IFwKLSAgICBMSUJESVI9JHtiYXNlX2xpYmRpcn0gXAotICAgIFVTUkxJQkRJUj0ke2Jhc2VfbGliZGlyfSBcCi0gICAgQlVJTERGT1I9JHtTSVRFSU5GT19CSVRTfS1iaXQgXAotICAgIE5PX0dMSUJDX0tFWUVSUj0xIFwKLSAgICAiCi0KLWRvX2luc3RhbGwgKCkgewotICAgIG9lX3J1bm1ha2UgREVTVERJUj0ke0R9IGluc3RhbGwKLX0KLQotZG9faW5zdGFsbF9wdGVzdCAoKSB7Ci0gICAgY3AgLXIgJHtTfS90ZXN0cyAke0R9JHtQVEVTVF9QQVRIfS8KLSAgICBzZWQgLWkgLWUgJ3MvT1NESVNUPVVua25vd24vT1NESVNUPSR7RElTVFJPfS8nICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzL3ByZXBhcmUuaW5jLnNoCi19Ci0KLVJERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICJnbGliYy11dGlscyIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9rZXl1dGlscy9rZXl1dGlsc18xLjYuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkva2V5dXRpbHMva2V5dXRpbHNfMS42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5NjFmYTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkva2V5dXRpbHMva2V5dXRpbHNfMS42LmJiCkBAIC0wLDAgKzEsNTEgQEAKK1NVTU1BUlkgPSAiTGludXggS2V5IE1hbmFnZW1lbnQgVXRpbGl0aWVzIgorREVTQ1JJUFRJT04gPSAiXAorICAgIFV0aWxpdGllcyB0byBjb250cm9sIHRoZSBrZXJuZWwga2V5IG1hbmFnZW1lbnQgZmFjaWxpdHkgYW5kIHRvIHByb3ZpZGUgXAorICAgIGEgbWVjaGFuaXNtIGJ5IHdoaWNoIHRoZSBrZXJuZWwgY2FsbCBiYWNrIHRvIHVzZXJzcGFjZSB0byBnZXQgYSBrZXkgXAorICAgIGluc3RhbnRpYXRlZC4gXAorICAgICIKK0hPTUVQQUdFID0gImh0dHA6Ly9wZW9wbGUucmVkaGF0LmNvbS9kaG93ZWxscy9rZXl1dGlscyIKK1NFQ1RJT04gPSAiYmFzZSIKKworTElDRU5TRSA9ICJMR1BMdjIuMSsgJiBHUEx2Mi4wKyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5DRS5HUEw7bWQ1PTVmNmU3MjgyNGY1ZGE1MDVjMWY0YTcxOTdmMDA0YjQ1IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xJQ0VOQ0UuTEdQTDttZDU9N2QxY2FjYWEzZWE3NTJiNzJlYTVlNTI1ZGY1NGEyMWYiCisKKworaW5oZXJpdCBzaXRlaW5mbyBwdGVzdAorCitTUkNfVVJJID0gImh0dHA6Ly9wZW9wbGUucmVkaGF0LmNvbS9kaG93ZWxscy9rZXl1dGlscy8ke0JQfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL2tleXV0aWxzLXRlc3QtZml4LW91dHB1dC1mb3JtYXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8va2V5dXRpbHMtZml4LWVycm9yLXJlcG9ydC1ieS1hZGRpbmctZGVmYXVsdC1tZXNzYWdlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjE5MTk4N2IwYWI0NmJiNWI1MGVmZDcwYTZlNmNlODA4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQzYWVmMjBjZWMwMDA1YzBmYTZiNGJlNDAwNzk4ODU1Njc0NzMxODViMWE1N2I2MjliMDMwZTY3OTQyYzcxMTUiCisKK0VYVFJBX09FTUFLRSA9ICInQ0ZMQUdTPSR7Q0ZMQUdTfSAtV2FsbCcgXAorICAgIE5PX0FSTElCPTEgXAorICAgIEJJTkRJUj0ke2Jhc2VfYmluZGlyfSBcCisgICAgU0JJTkRJUj0ke2Jhc2Vfc2JpbmRpcn0gXAorICAgIExJQkRJUj0ke2Jhc2VfbGliZGlyfSBcCisgICAgVVNSTElCRElSPSR7YmFzZV9saWJkaXJ9IFwKKyAgICBCVUlMREZPUj0ke1NJVEVJTkZPX0JJVFN9LWJpdCBcCisgICAgTk9fR0xJQkNfS0VZRVJSPTEgXAorICAgICIKKworZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9LyR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vcGtnY29uZmlnCisgICAgb2VfcnVubWFrZSBERVNURElSPSR7RH0gaW5zdGFsbAorfQorCitkb19pbnN0YWxsX3B0ZXN0ICgpIHsKKyAgICBjcCAtciAke1N9L3Rlc3RzICR7RH0ke1BURVNUX1BBVEh9LworICAgIHNlZCAtaSAtZSAncy9PU0RJU1Q9VW5rbm93bi9PU0RJU1Q9JHtESVNUUk99LycgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMvcHJlcGFyZS5pbmMuc2gKK30KKworRklMRVNfJHtQTn0tZGV2ICs9ICIke25vbmFyY2hfYmFzZV9saWJkaXJ9L3BrZ2NvbmZpZy9saWJrZXl1dGlscy5wYyIKKworUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gImxzYiIKK1JERVBFTkRTXyR7UE59LXB0ZXN0X2FwcGVuZF9saWJjLWdsaWJjID0gIiBnbGliYy11dGlscyIKK1JERVBFTkRTXyR7UE59LXB0ZXN0X2FwcGVuZF9saWJjLW11c2wgPSAiIG11c2wtdXRpbHMiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvbGlibXNwYWNrL2xpYm1zcGFja18wLjUuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvbGlibXNwYWNrL2xpYm1zcGFja18wLjUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgwZGIyM2MuLjAwMDAwMDAKLS0tIGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2xpYm1zcGFjay9saWJtc3BhY2tfMC41LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotU1VNTUFSWSA9ICJBIGxpYnJhcnkgZm9yIE1pY3Jvc29mdCBjb21wcmVzc2lvbiBmb3JtYXRzIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5jYWJleHRyYWN0Lm9yZy51ay9saWJtc3BhY2svIgotU0VDVElPTiA9ICJsaWIiCi1MSUNFTlNFID0gIkxHUEwtMi4xIgotREVQRU5EUyA9ICIiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTElCO2JlZ2lubGluZT0xO2VuZGxpbmU9MjttZDU9NWIxZmQxZjY2ZWY5MjZiM2M4YTViYjAwYTcyYTI4ZGQiCi0KLVNSQ19VUkkgPSAiJHtERUJJQU5fTUlSUk9SfS9tYWluL2xpYm0vJHtCUE59LyR7QlBOfV8ke1BWfS5vcmlnLnRhci5nelwKLSIKLVNSQ19VUklbbWQ1c3VtXSA9ICIzYWEzZjZiOWVmMTAxNDYzMjcwYzA4NTQ3OGZkYTFkYSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI4OTY3ZjI3NTUyNWY1MDY3YjM2NGNlZTQzYjczZTQ0ZDA0MzM2NjhjMzlmOTM3NmRmZmYxOWY2NTNkMWM4MTEwIgotCi1pbmhlcml0IGF1dG90b29scwotCi1TID0gIiR7V09SS0RJUn0vJHtCUH1hbHBoYSIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9saWJtc3BhY2svbGlibXNwYWNrXzAuOS4xLmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2xpYm1zcGFjay9saWJtc3BhY2tfMC45LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTZhOGEwNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9saWJtc3BhY2svbGlibXNwYWNrXzAuOS4xLmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiQSBsaWJyYXJ5IGZvciBNaWNyb3NvZnQgY29tcHJlc3Npb24gZm9ybWF0cyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuY2FiZXh0cmFjdC5vcmcudWsvbGlibXNwYWNrLyIKK1NFQ1RJT04gPSAibGliIgorTElDRU5TRSA9ICJMR1BMLTIuMSIKK0RFUEVORFMgPSAiIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLkxJQjtiZWdpbmxpbmU9MTtlbmRsaW5lPTI7bWQ1PTViMWZkMWY2NmVmOTI2YjNjOGE1YmIwMGE3MmEyOGRkIgorCitTUkNfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9saWJtLyR7QlBOfS8ke0JQTn1fJHtQVn0ub3JpZy50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5NjAyYWU0YTZiMDQ2OGQ5YWFlZjYzNTljMWU5MDY1NyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2MmEzMzZkOWM3OTg2MzhhYWYzZGNlYjQzODQzMzIwMDYxNTQ0YmJmMzU1NDdjMzE2YjA3NWI5OTExMmYyZTQwIgorCitpbmhlcml0IGF1dG90b29scworCitTID0gIiR7V09SS0RJUn0vJHtCUH1hbHBoYSIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9saWJzZWNjb21wL2xpYnNlY2NvbXBfMi4zLjMuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvbGlic2VjY29tcC9saWJzZWNjb21wXzIuMy4zLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YzY2ZGI2Li4wMDAwMDAwCi0tLSBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9saWJzZWNjb21wL2xpYnNlY2NvbXBfMi4zLjMuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1TVU1NQVJZID0gImludGVyZmFjZSB0byBzZWNjb21wIGZpbHRlcmluZyBtZWNoYW5pc20iCi1ERVNDUklQVElPTiA9ICJUaGUgbGlic2VjY29tcCBsaWJyYXJ5IHByb3ZpZGVzIGFuZCBlYXN5IHRvIHVzZSwgcGxhdGZvcm0gaW5kZXBlbmRlbnQsaW50ZXJmYWNlIHRvIHRoZSBMaW51eCBLZXJuZWwncyBzeXNjYWxsIGZpbHRlcmluZyBtZWNoYW5pc206IHNlY2NvbXAuIgotU0VDVElPTiA9ICJzZWN1cml0eSIKLUxJQ0VOU0UgPSAiTEdQTC0yLjEiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO2JlZ2lubGluZT0wO2VuZGxpbmU9MTttZDU9OGVhYzA4ZDIyMTEzODgwMzU3Y2ViOGU3YzM3Zjk4OWYiCi0KLVNSQ1JFViA9ICI3NGIxOTBlMWFhMDVmMDdkYTBjNjFmYjlhMzBkYmM5YzE4Y2UyYzlkIgotCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vc2VjY29tcC9saWJzZWNjb21wLmdpdDticmFuY2g9cmVsZWFzZS0yLjMgXAotICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZyBwdGVzdAotCi1QQUNLQUdFQ09ORklHID8/PSAiIgotUEFDS0FHRUNPTkZJR1tweXRob25dID0gIi0tZW5hYmxlLXB5dGhvbiwgLS1kaXNhYmxlLXB5dGhvbiwgcHl0aG9uIgotCi1kb19jb21waWxlX3B0ZXN0KCkgewotICAgIG9lX3J1bm1ha2UgLUMgdGVzdHMgY2hlY2stYnVpbGQKLX0KLQotZG9faW5zdGFsbF9wdGVzdCgpIHsKLSAgICBpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzCi0gICAgaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS90b29scwotICAgIGZvciBmaWxlIGluICQoZmluZCB0ZXN0cy8qIC1leGVjdXRhYmxlIC10eXBlIGYpOyBkbwotICAgICAgICBpbnN0YWxsIC1tIDc0NCAke1N9LyR7ZmlsZX0gJHtEfS8ke1BURVNUX1BBVEh9L3Rlc3RzCi0gICAgZG9uZQotICAgIGZvciBmaWxlIGluICQoZmluZCB0ZXN0cy8qLnRlc3RzIC10eXBlIGYpOyBkbwotICAgICAgICBpbnN0YWxsIC1tIDc0NCAke1N9LyR7ZmlsZX0gJHtEfS8ke1BURVNUX1BBVEh9L3Rlc3RzCi0gICAgZG9uZQotICAgIGZvciBmaWxlIGluICQoZmluZCB0b29scy8qIC1leGVjdXRhYmxlIC10eXBlIGYpOyBkbwotICAgICAgICBpbnN0YWxsIC1tIDc0NCAke1N9LyR7ZmlsZX0gJHtEfS8ke1BURVNUX1BBVEh9L3Rvb2xzCi0gICAgZG9uZQotfQotCi1GSUxFU18ke1BOfSA9ICIke2JpbmRpcn0gJHtsaWJkaXJ9LyR7QlBOfS5zbyoiCi1GSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS8ke1BOfS90ZXN0cy8uZGVidWcvKiAke2xpYmRpcn0vJHtQTn0vdG9vbHMvLmRlYnVnIgotCi1SREVQRU5EU18ke1BOfS1wdGVzdCA9ICJiYXNoIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2xpYnNlY2NvbXAvbGlic2VjY29tcF8yLjQuMC5iYiBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9saWJzZWNjb21wL2xpYnNlY2NvbXBfMi40LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDFmZmQ2MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9saWJzZWNjb21wL2xpYnNlY2NvbXBfMi40LjAuYmIKQEAgLTAsMCArMSw0MSBAQAorU1VNTUFSWSA9ICJpbnRlcmZhY2UgdG8gc2VjY29tcCBmaWx0ZXJpbmcgbWVjaGFuaXNtIgorREVTQ1JJUFRJT04gPSAiVGhlIGxpYnNlY2NvbXAgbGlicmFyeSBwcm92aWRlcyBhbmQgZWFzeSB0byB1c2UsIHBsYXRmb3JtIGluZGVwZW5kZW50LGludGVyZmFjZSB0byB0aGUgTGludXggS2VybmVsJ3Mgc3lzY2FsbCBmaWx0ZXJpbmcgbWVjaGFuaXNtOiBzZWNjb21wLiIKK1NFQ1RJT04gPSAic2VjdXJpdHkiCitMSUNFTlNFID0gIkxHUEwtMi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTtiZWdpbmxpbmU9MDtlbmRsaW5lPTE7bWQ1PThlYWMwOGQyMjExMzg4MDM1N2NlYjhlN2MzN2Y5ODlmIgorCitTUkNSRVYgPSAiNGQ2NDAxMTc0MTM3NWJiMWE0YmE3ZDcxOTA1Y2EzN2I5Nzg4NTA4MyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3NlY2NvbXAvbGlic2VjY29tcC5naXQ7YnJhbmNoPXJlbGVhc2UtMi40IFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcgcHRlc3QKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbcHl0aG9uXSA9ICItLWVuYWJsZS1weXRob24sIC0tZGlzYWJsZS1weXRob24sIHB5dGhvbiIKKworZG9fY29tcGlsZV9wdGVzdCgpIHsKKyAgICBvZV9ydW5tYWtlIC1DIHRlc3RzIGNoZWNrLWJ1aWxkCit9CisKK2RvX2luc3RhbGxfcHRlc3QoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cworICAgIGluc3RhbGwgLWQgJHtEfSR7UFRFU1RfUEFUSH0vdG9vbHMKKyAgICBmb3IgZmlsZSBpbiAkKGZpbmQgdGVzdHMvKiAtZXhlY3V0YWJsZSAtdHlwZSBmKTsgZG8KKyAgICAgICAgaW5zdGFsbCAtbSA3NDQgJHtTfS8ke2ZpbGV9ICR7RH0vJHtQVEVTVF9QQVRIfS90ZXN0cworICAgIGRvbmUKKyAgICBmb3IgZmlsZSBpbiAkKGZpbmQgdGVzdHMvKi50ZXN0cyAtdHlwZSBmKTsgZG8KKyAgICAgICAgaW5zdGFsbCAtbSA3NDQgJHtTfS8ke2ZpbGV9ICR7RH0vJHtQVEVTVF9QQVRIfS90ZXN0cworICAgIGRvbmUKKyAgICBmb3IgZmlsZSBpbiAkKGZpbmQgdG9vbHMvKiAtZXhlY3V0YWJsZSAtdHlwZSBmKTsgZG8KKyAgICAgICAgaW5zdGFsbCAtbSA3NDQgJHtTfS8ke2ZpbGV9ICR7RH0vJHtQVEVTVF9QQVRIfS90b29scworICAgIGRvbmUKK30KKworRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9ICR7bGliZGlyfS8ke0JQTn0uc28qIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vJHtQTn0vdGVzdHMvLmRlYnVnLyogJHtsaWJkaXJ9LyR7UE59L3Rvb2xzLy5kZWJ1ZyIKKworUkRFUEVORFNfJHtQTn0tcHRlc3QgPSAiYmFzaCIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9uY3JhY2svbmNyYWNrXzAuNy5iYiBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9uY3JhY2svbmNyYWNrXzAuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNmJhMmI2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L25jcmFjay9uY3JhY2tfMC43LmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiTmV0d29yayBhdXRoZW50aWNhdGlvbiBjcmFja2luZyB0b29sIgorREVTQ1JJUFRJT04gPSAiTmNyYWNrIGlzIGRlc2lnbmVkIGZvciBoaWdoLXNwZWVkIHBhcmFsbGVsIHRlc3Rpbmcgb2YgbmV0d29yayBkZXZpY2VzIGZvciBwb29yIHBhc3N3b3Jkcy4iCitIT01FUEFHRSA9ICJodHRwczovL25tYXAub3JnL25jcmFjayIKK1NFQ1RJT04gPSAic2VjdXJpdHkiCisKK0xJQ0VOU0UgPSAiR1BMLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTE5OGZhOTNkNGU4MDIyNTgzOWU1OTUzMzZmM2I1ZmYwIgorCitTUkNSRVYgPSAiM2E3OTNhMjE4MjA3MDg0NjYwODE4MjViZWRhOWZjZTg1N2YzNmNiNiIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9ubWFwL25jcmFjay5naXQiCisKK0RFUEVORFMgPSAib3BlbnNzbCB6bGliIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworSU5TQU5FX1NLSVBfJHtQTn0gPSAiYWxyZWFkeS1zdHJpcHBlZCIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9uaWt0by9maWxlcy9DVkUtMjAxOC0xMTY1Mi5wYXRjaCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9uaWt0by9maWxlcy9DVkUtMjAxOC0xMTY1Mi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWRkYjE2OS4uMDAwMDAwMAotLS0gYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvbmlrdG8vZmlsZXMvQ1ZFLTIwMTgtMTE2NTIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMDYgKzAsMCBAQAotRnJvbSBlNzU5YjMzMDBhYWNlNTMxNGZlM2QzMDgwMGM4YmQ4M2M4MWMyOWY3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogc3VsbG8gPHN1bGxvQGNpcnQubmV0PgotRGF0ZTogVGh1LCAzMSBNYXkgMjAxOCAyMzozMDowMyAtMDQwMAotU3ViamVjdDogW1BBVENIXSBGaXggQ1NWIGluamVjdGlvbiBpc3N1ZSBpZiBzZXJ2ZXIgcmVzcG9uZHMgd2l0aCBhIG1hbGljaW91cwotIFNlcnZlciBzdHJpbmcgJiBDU1Ygb3V0cHV0IGlzIG9wZW5lZCBpbiBFeGNlbCBvciBvdGhlciBzcHJlYWRzaGVldCBhcHAuCi0gUG90ZW50aWFsbHkgbWFsaWNpb3VzIGNlbGwgc3RhcnQgY2hhcmFjdGVycyBhcmUgbm93IHByZWZhY2VkIHdpdGggYSAnIG1hcmsuCi0gVGhhbmtzIHRvIEFkYW0gKEBieXRlc292ZXJib21icykgZm9yIGxldHRpbmcgbWUga25vdyEKLQotQWxzbyBmaXhlZCBhIGNyYXNoIGluIHRoZSBvdXRkYXRlZCBwbHVnaW4gaWYgdGhlICRzZXByIGZpZWxkIGVuZHMgdXAgYmVpbmcgc29tZXRoaW5nIHRoYXQgdHJpZ2dlcnMgYSBwYW5pYyBpbiBzcGxpdCgpLgotCi1DVkU6IENWRS0yMDE4LTExNjUyCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1TaWduZWQtb2ZmLWJ5OiBOYWdhbGFrc2htaSBWZWVyYW1hbGx1IDxudmVlcmFtYWxsdUBtdmlzdGEuY29tPgotLS0tCi0gcGx1Z2lucy9uaWt0b19vdXRkYXRlZC5wbHVnaW4gICB8ICAyICstCi0gcGx1Z2lucy9uaWt0b19yZXBvcnRfY3N2LnBsdWdpbiB8IDQyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3BsdWdpbnMvbmlrdG9fb3V0ZGF0ZWQucGx1Z2luIGIvcGx1Z2lucy9uaWt0b19vdXRkYXRlZC5wbHVnaW4KLWluZGV4IDcyMzc5Y2MuLmViMWQ4ODkgMTAwNjQ0Ci0tLS0gYS9wbHVnaW5zL25pa3RvX291dGRhdGVkLnBsdWdpbgotKysrIGIvcGx1Z2lucy9uaWt0b19vdXRkYXRlZC5wbHVnaW4KLUBAIC04Myw3ICs4Myw3IEBAIHN1YiBuaWt0b19vdXRkYXRlZCB7Ci0gICAgICAgICAgICAgJHNlcHIgPSBzdWJzdHIoJHNlcHIsIChsZW5ndGgoJHNlcHIpIC0gMSksIDEpOwotIAotICAgICAgICAgICAgICMgYnJlYWsgdXAgSUQgc3RyaW5nIG9uICRzZXByCi0tICAgICAgICAgICAgbXkgQFQgPSBzcGxpdCgvJHNlcHIvLCAkbWFyay0+eydiYW5uZXInfSk7Ci0rICAgICAgICAgICAgbXkgQFQgPSBzcGxpdCgvXFwkc2Vwci8sICRtYXJrLT57J2Jhbm5lcid9KTsKLSAKLSAgICAgICAgICAgICAjIGFzc3VtZSBsYXN0IGlzIHZlcnNpb24uLi4KLSAgICAgICAgICAgICBmb3IgKCRpID0gMCA7ICRpIDwgJCNUIDsgJGkrKykgeyAkTUFUQ0hTVFJJTkcgLj0gIiRUWyRpXSAiOyB9Ci1kaWZmIC0tZ2l0IGEvcGx1Z2lucy9uaWt0b19yZXBvcnRfY3N2LnBsdWdpbiBiL3BsdWdpbnMvbmlrdG9fcmVwb3J0X2Nzdi5wbHVnaW4KLWluZGV4IGQxM2FjYWIuLmI5NDJlNzggMTAwNjQ0Ci0tLS0gYS9wbHVnaW5zL25pa3RvX3JlcG9ydF9jc3YucGx1Z2luCi0rKysgYi9wbHVnaW5zL25pa3RvX3JlcG9ydF9jc3YucGx1Z2luCi1AQCAtNTIsMTAgKzUyLDEyIEBAIHN1YiBjc3Zfb3BlbiB7Ci0gc3ViIGNzdl9ob3N0X3N0YXJ0IHsKLSAgICAgbXkgKCRoYW5kbGUsICRtYXJrKSA9IEBfOwotICAgICAkbWFyay0+eydiYW5uZXInfSA9fiBzLyIvXFwiL2c7Ci0tICAgIHByaW50IE9VVCAiXCIkbWFyay0+eydob3N0bmFtZSd9XCIsIgotLSAgICAgIC4gIlwiJG1hcmstPnsnaXAnfVwiLCIKLS0gICAgICAuICJcIiRtYXJrLT57J3BvcnQnfVwiLCIgLiAiXCJcIiwiIC4gIlwiXCIsIiAuICJcIlwiLCIKLS0gICAgICAuICJcIiRtYXJrLT57J2Jhbm5lcid9XCJcbiI7Ci0rICAgIHByaW50ICRoYW5kbGUgIlwiIiAuIGNzdl9zYWZlY2VsbCgkaG9zdG5hbWUpIC4gIlwiLCIKLSsgICAgICAuICJcIiIgLiBjc3Zfc2FmZWNlbGwoJG1hcmstPnsnaXAnfSkgLiAiXCIsIgotKyAgICAgIC4gIlwiIiAuIGNzdl9zYWZlY2VsbCgkbWFyay0+eydwb3J0J30pIC4gIlwiLCIgLiAiXCJcIiwiIC4gIlwiXCIsIiAuICJcIlwiLCIKLSsgICAgICAjLiAiXCIiIC4gJG1hcmstPnsnYmFubmVyJ30gLiAiXCJcbiI7Ci0rICAgICAgLiAiXCIiIC4gY3N2X3NhZmVjZWxsKCRtYXJrLT57J2Jhbm5lcid9KSAuICJcIlxuIjsKLSsKLSAgICAgcmV0dXJuOwotIH0KLSAKLUBAIC02NSwyNiArNjcsNDIgQEAgc3ViIGNzdl9pdGVtIHsKLSAgICAgbXkgKCRoYW5kbGUsICRtYXJrLCAkaXRlbSkgPSBAXzsKLSAgICAgZm9yZWFjaCBteSAkdXJpIChzcGxpdCgnICcsICRpdGVtLT57J3VyaSd9KSkgewotICAgICAgICAgbXkgJGxpbmUgPSAnJzsKLS0gICAgICAgICRsaW5lIC49ICJcIiRpdGVtLT57J21hcmsnfS0+eydob3N0bmFtZSd9XCIsIjsKLS0gICAgICAgICRsaW5lIC49ICJcIiRpdGVtLT57J21hcmsnfS0+eydpcCd9XCIsIjsKLS0gICAgICAgICRsaW5lIC49ICJcIiRpdGVtLT57J21hcmsnfS0+eydwb3J0J31cIiwiOwotKyAgICAgICAgJGxpbmUgLj0gIlwiIiAuIGNzdl9zYWZlY2VsbCgkaG9zdG5hbWUpIC4gIlwiLCI7Ci0rICAgICAgICAkbGluZSAuPSAiXCIiIC4gY3N2X3NhZmVjZWxsKCRpdGVtLT57J21hcmsnfS0+eydpcCd9KSAuIFwiLCI7Ci0rICAgICAgICAkbGluZSAuPSAiXCIiIC4gY3N2X3NhZmVjZWxsKCRpdGVtLT57J21hcmsnfS0+eydwb3J0J30pIC4gIlwiLCI7Ci0gCi0gICAgICAgICAkbGluZSAuPSAiXCIiOwotICAgICAgICAgaWYgKCRpdGVtLT57J29zdmRiJ30gbmUgJycpIHsgJGxpbmUgLj0gIk9TVkRCLSIgLiAkaXRlbS0+eydvc3ZkYid9OyB9Ci0gICAgICAgICAkbGluZSAuPSAiXCIsIjsKLSAKLSAgICAgICAgICRsaW5lIC49ICJcIiI7Ci0tICAgICAgICBpZiAoJGl0ZW0tPnsnbWV0aG9kJ30gbmUgJycpIHsgJGxpbmUgLj0gJGl0ZW0tPnsnbWV0aG9kJ307IH0KLSsgICAgICAgIGlmICgkaXRlbS0+eydtZXRob2QnfSBuZSAnJykgeyAkbGluZSAuPSBjc3Zfc2FmZWNlbGwoJGl0ZW0tPnsnbWV0aG9kJ30pOyB9Ci0gICAgICAgICAkbGluZSAuPSAiXCIsIjsKLSAKLSAgICAgICAgICRsaW5lIC49ICJcIiI7Ci0tICAgICAgICBpZiAoJHVyaSBuZSAnJykgeyAkbGluZSAuPSAkbWFyay0+eydyb290J30gLiAkdXJpOyB9Ci0rICAgICAgICAgICAgICAgICAgICAgICB7ICRsaW5lIC49IGNzdl9zYWZlY2VsbCgkbWFyay0+eydyb290J30pIC4gJHVyaTsgfQotKyAgICAgICAgICAgICAgIGVsc2UgeyAkbGluZSAuPSBjc3Zfc2FmZWNlbGwoJHVyCi0gICAgICAgICAkbGluZSAuPSAiXCIsIjsKLSAKLS0gICAgICAgICRpdGVtLT57J21lc3NhZ2UnfSA9fiBzLyIvXFwiL2c7Ci0tICAgICAgICAkbGluZSAuPSAiXCIkaXRlbS0+eydtZXNzYWdlJ31cIiI7Ci0tICAgICAgICBwcmludCAkaGFuZGxlICIkbGluZVxuIjsKLSsgICAgICAgbXkgJG1zZyA9ICRpdGVtLT57J21lc3NhZ2UnfTsKLSsgICAgICAgJHVyaT1xdW90ZW1ldGEoJHVyaSk7Ci0rICAgICAgIG15ICRyb290ID0gcXVvdGVtZXRhKCRtYXJrLT57J3Jvb3QnfSk7Ci0rICAgICAgICRtc2cgPX4gcy9eJHVyaTpccy8vOwotKyAgICAgICAkbXNnID1+IHMvXiRyb290JHVyaTpccy8vOwotKyAgICAgICAgICRtc2cgPX4gcy8iL1xcIi9nOwotKyAgICAgICAgJGxpbmUgLj0gIlwiIiAuIGNzdl9zYWZlY2VsbCgkbXNnKSAuIlwiIjsKLSsgICAgICAgICBwcmludCAkaGFuZGxlICIkbGluZVxuIjsKLSsKLSAgICAgfQotIH0KLSAKLSsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0rIyBwcmV2ZW50IENTViBpbmplY3Rpb24gYXR0YWNrcwotK3N1YiBjc3Zfc2FmZWNlbGwgewotKyAgICBteSAkY2VsbGRhdGEgPSAkX1swXSB8fCByZXR1cm47Ci0rICAgIGlmICgkY2VsbGRhdGEgPX4gL15bPStALV0vKSB7ICRjZWxsZGF0YSA9ICInIiAuICRjZWxsZGF0YTsgfQotKyAgICByZXR1cm4gJGNlbGxkYXRhOwotK30KLSsKLSsKLSAxOwotLS0gCi0yLjYuNAotCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvbmlrdG8vZmlsZXMvbG9jYXRpb24ucGF0Y2ggYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvbmlrdG8vZmlsZXMvbG9jYXRpb24ucGF0Y2gKaW5kZXggYTk1YjA2Mi4uZWRhYTIwNCAxMDA2NDQKLS0tIGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L25pa3RvL2ZpbGVzL2xvY2F0aW9uLnBhdGNoCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9uaWt0by9maWxlcy9sb2NhdGlvbi5wYXRjaApAQCAtMSwzNiArMSwzNiBAQAotRnJvbSBlMTBiOWIxZjY3MDQwNTdhY2UzOTk1NmFlMWRjNWM3Y2FjYTA3ZmYxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQW5kcmVpIERpbnUgPGFuZHJlaS5hZHJpYW54LmRpbnVAaW50ZWwuY29tPgotRGF0ZTogTW9uLCA4IEp1bCAyMDEzIDExOjUzOjU0ICswMzAwCi1TdWJqZWN0OiBbUEFUQ0hdIFNldHRpbmcgdGhlIGxvY2F0aW9uIG9mIG5pa3RvIG9uIHRoZSBpbWFnZQorRnJvbSBkMWNiNzAyZDUxNDdhYmVhMGQzMjA4YTRkNTU0YzYxYTZmMmRlY2Q2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogU2NvdHQgRWxsaXMgPHNjb3R0QGp1bXBub3d0ZWsuY29tPgorRGF0ZTogRnJpLCAyOCBEZWMgMjAxOCAxMTowODoyNSAtMDUwMAorU3ViamVjdDogW1BBVENIXSBTZXQgY3VzdG9tIHBhdGhzCiAKLVVwc3RyZWFtIFN0YXR1czogSW5hcHJvcHJpYXRlCitVcHN0cmVhbSBTdGF0dXM6IEluYXBwcm9wcmlhdGUKIAotU2lnbmVkLW9mZi1ieTogQW5kcmVpIERpbnUgPGFuZHJlaS5hZHJpYW54LmRpbnVAaW50ZWwuY29tPgorU2lnbmVkLW9mZi1ieTogU2NvdHQgRWxsaXMgPHNjb3R0QGp1bXBub3d0ZWsuY29tPgogLS0tCi0gbmlrdG8uY29uZiB8ICAgMTAgKysrKystLS0tLQorIG5pa3RvLmNvbmYgfCAxMCArKysrKy0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKIAotZGlmZiAtLWdpdCBhL25pa3RvLmNvbmYgYi9uaWt0by5jb25mCi1pbmRleCAyNWI3ODRkLi45NTc3MDMzIDEwMDY0NAorZGlmZiAtLWdpdCBhL3Byb2dyYW0vbmlrdG8uY29uZiBiL3Byb2dyYW0vbmlrdG8uY29uZgoraW5kZXggYmYzNmM1OC4uOGM1NTQxNSAxMDA2NDQKIC0tLSBhL25pa3RvLmNvbmYKICsrKyBiL25pa3RvLmNvbmYKLUBAIC02MSwxMSArNjEsMTEgQEAgQ0lSVD0xNzQuMTQyLjE3LjE2NQorQEAgLTYxLDExICs2MSwxMSBAQCBDSVJUPTEwNy4xNzAuOTkuMjUxCiAgQ0hFQ0tNRVRIT0RTPUhFQUQgR0VUCiAgCiAgIyBJZiB5b3Ugd2FudCB0byBzcGVjaWZ5IHRoZSBsb2NhdGlvbiBvZiBhbnkgb2YgdGhlIGZpbGVzLCBzcGVjaWZ5IHRoZW0gaGVyZQogLSMgRVhFQ0RJUj0vb3B0L25pa3RvCQkJCSMgTG9jYXRpb24gb2YgTmlrdG8KIC0jIFBMVUdJTkRJUj0vb3B0L25pa3RvL3BsdWdpbnMJCQkjIExvY2F0aW9uIG9mIHBsdWdpbiBkaXIKLS0jIERCRElSPS9vcHQvbmlrdG8vZGF0YWJhc2VzCQkJIyBMb2NhdGlvbiBvZiBwbHVnaW4gZGlyCi0tIyBURU1QTEFURURJUj0vb3B0L25pa3RvL3RlbXBsYXRlcwkJIyBMb2NhdGlvbiBvZiB0ZW1wbWxhdGUgZGlyCistIyBEQkRJUj0vb3B0L25pa3RvL2RhdGFiYXNlcwkJCSMgTG9jYXRpb24gb2YgZGF0YWJhc2UgZGlyCistIyBURU1QTEFURURJUj0vb3B0L25pa3RvL3RlbXBsYXRlcwkJIyBMb2NhdGlvbiBvZiB0ZW1wbGF0ZSBkaXIKIC0jIERPQ0RJUj0vb3B0L25pa3RvL2RvY3MJCQkjIExvY2F0aW9uIG9mIGRvY3MgZGlyCiArRVhFQ0RJUj0vdXNyL2Jpbi9uaWt0bwkJCQkjIExvY2F0aW9uIG9mIE5pa3RvCiArUExVR0lORElSPS9ldGMvbmlrdG8vcGx1Z2lucwkJCSMgTG9jYXRpb24gb2YgcGx1Z2luIGRpcgotK0RCRElSPS9ldGMvbmlrdG8vZGF0YWJhc2VzCQkJIyBMb2NhdGlvbiBvZiBwbHVnaW4gZGlyCi0rVEVNUExBVEVESVI9L2V0Yy9uaWt0by90ZW1wbGF0ZXMJCSMgTG9jYXRpb24gb2YgdGVtcG1sYXRlIGRpcgorK0RCRElSPS9ldGMvbmlrdG8vZGF0YWJhc2VzCQkJIyBMb2NhdGlvbiBvZiBkYXRhYmFzZSBkaXIKKytURU1QTEFURURJUj0vZXRjL25pa3RvL3RlbXBsYXRlcwkJIyBMb2NhdGlvbiBvZiB0ZW1wbGF0ZSBkaXIKICtET0NESVI9L3Vzci9zaGFyZS9kb2MvbmlrdG8JCQkjIExvY2F0aW9uIG9mIGRvY3MgZGlyCiAgCiAgIyBEZWZhdWx0IHBsdWdpbiBtYWNyb3MKLSBAQE1VVEFURT1kaWN0aW9uYXJ5O3N1YmRvbWFpbgorICMgUmVtb3ZlIHBsdWdpbnMgZGVzaWduZWQgdG8gYmUgcnVuIHN0YW5kYWxvbmUKIC0tIAotMS43LjkuNQorMi43LjQKIApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L25pa3RvL25pa3RvXzIuMS41LmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L25pa3RvL25pa3RvXzIuMS41LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOWViMTRmLi4wMDAwMDAwCi0tLSBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9uaWt0by9uaWt0b18yLjEuNS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEwOCArMCwwIEBACi1TVU1NQVJZID0gIndlYiBzZXJ2ZXIgc2Nhbm5lciIKLURFU0NSSVBUSU9OID0gIk5pa3RvIGlzIGFuIE9wZW4gU291cmNlIChHUEwpIHdlYiBzZXJ2ZXIgc2Nhbm5lciB3aGljaCBwZXJmb3JtcyBjb21wcmVoZW5zaXZlIHRlc3RzIGFnYWluc3Qgd2ViIHNlcnZlcnMgZm9yIG11bHRpcGxlIGl0ZW1zLCBpbmNsdWRpbmcgb3ZlciA2NTAwIHBvdGVudGlhbGx5IGRhbmdlcm91cyBcCi0gICAgICAgICAgICAgICBmaWxlcy9DR0lzLCBjaGVja3MgZm9yIG91dGRhdGVkIHZlcnNpb25zIG9mIG92ZXIgMTI1MCBzZXJ2ZXJzLCBhbmQgdmVyc2lvbiBzcGVjaWZpYyBwcm9ibGVtcyBvbiBvdmVyIDI3MCBzZXJ2ZXJzLiIKLVNFQ1RJT04gPSAic2VjdXJpdHkiCi1MSUNFTlNFID0gIkdQTHYyIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPTU1PTl9MSUNFTlNFX0RJUn0vR1BMLTIuMDttZDU9ODAxZjgwOTgwZDE3MWRkNjQyNTYxMDgzM2EyMmRiZTYiCi0KLVNSQ19VUkkgPSAiaHR0cDovL2NpcnQubmV0L25pa3RvLyR7QlB9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9sb2NhdGlvbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOC0xMTY1Mi5wYXRjaCIKLQotU1JDX1VSSVttZDVzdW1dID0gImVmY2M5OGE5MThiZWNiNzc0NzFlZTlhNWRmMGE3YjFlIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBlNjcyYTZhNDZiZjJhYmRlNDE5YTBlOGVhODQ2Njk2ZDdmMzJlOTlhZDE4YTZiNDA1NzM2ZWU2YWYwNzUwOWYiCi0KLWRvX2luc3RhbGwoKSB7Ci0JaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9Ci0JaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfQotCWluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vbWFuL21hbjEKLQlpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2RvYy9uaWt0bwotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8KLQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcwotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vdGVtcGxhdGVzCi0KLQlpbnN0YWxsIC1tIDA2NDQgZGF0YWJhc2VzL2RiXzQwNF9zdHJpbmdzICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcwotCWluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfY29udGVudF9zZWFyY2ggICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCi0JaW5zdGFsbCAtbSAwNjQ0IGRhdGFiYXNlcy9kYl9kaWN0aW9uYXJ5ICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcwotCWluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfZW1iZWRkZWQgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCi0JaW5zdGFsbCAtbSAwNjQ0IGRhdGFiYXNlcy9kYl9mYXZpY29uICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcwotCWluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfaGVhZGVycyAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9kYXRhYmFzZXMKLQlpbnN0YWxsIC1tIDA2NDQgZGF0YWJhc2VzL2RiX2h0dHBvcHRpb25zICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcwotCWluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfbXVsdGlwbGVfaW5kZXggICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCi0JaW5zdGFsbCAtbSAwNjQ0IGRhdGFiYXNlcy9kYl9vdXRkYXRlZCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9kYXRhYmFzZXMKLQlpbnN0YWxsIC1tIDA2NDQgZGF0YWJhc2VzL2RiX3BhcmtlZF9zdHJpbmdzICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcwotCWluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfcmVhbG1zICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcwotCWluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfc2VydmVyX21zZ3MgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCi0JaW5zdGFsbCAtbSAwNjQ0IGRhdGFiYXNlcy9kYl9zdWJkb21haW5zICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcwotCWluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfdGVzdHMgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCi0JaW5zdGFsbCAtbSAwNjQ0IGRhdGFiYXNlcy9kYl92YXJpYWJsZXMgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCi0KLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9KU09OLVBQLnBtICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9MVzIucG0gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2FwYWNoZV9leHBlY3RfeHNzLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fYXBhY2hldXNlcnMucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19hdXRoLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fY2dpLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fY2xpZW50YWNjZXNzcG9saWN5LnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fY29udGVudF9zZWFyY2gucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19jb29raWVzLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fY29yZS5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2RpY3Rpb25hcnlfYXR0YWNrLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fZW1iZWRkZWQucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19mYXZpY29uLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fZmlsZW9wcy5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2hlYWRlcnMucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19odHRwb3B0aW9ucy5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX21zZ3MucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19tdWx0aXBsZV9pbmRleC5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX291dGRhdGVkLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fcGFya2VkLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fcGF0aHMucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19wdXRfZGVsX3Rlc3QucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19yZXBvcnRfY3N2LnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fcmVwb3J0X2h0bWwucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19yZXBvcnRfbXNmLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fcmVwb3J0X25iZS5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3JlcG9ydF90ZXh0LnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fcmVwb3J0X3htbC5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3JvYm90cy5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3NpZWJlbC5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3NzbC5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3N1YmRvbWFpbi5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3Rlc3RzLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0KLQlpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL2h0bV9jbG9zZS50bXBsICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3RlbXBsYXRlcwotCWluc3RhbGwgLW0gMDY0NCB0ZW1wbGF0ZXMvaHRtX2VuZC50bXBsICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3RlbXBsYXRlcwotCWluc3RhbGwgLW0gMDY0NCB0ZW1wbGF0ZXMvaHRtX2hvc3RfaGVhZC50bXBsICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3RlbXBsYXRlcwotCWluc3RhbGwgLW0gMDY0NCB0ZW1wbGF0ZXMvaHRtX2hvc3RfaW0udG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKLQlpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL2h0bV9ob3N0X2l0ZW0udG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKLQlpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL2h0bV9zdGFydC50bXBsICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3RlbXBsYXRlcwotCWluc3RhbGwgLW0gMDY0NCB0ZW1wbGF0ZXMvaHRtX3N0b3AudG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKLQlpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL2h0bV9zdGFydC50bXBsICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3RlbXBsYXRlcwotCWluc3RhbGwgLW0gMDY0NCB0ZW1wbGF0ZXMvaHRtX3N1bW1hcnkudG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKLQlpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL3htbF9lbmQudG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKLQlpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL3htbF9ob3N0X2hlYWQudG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKLQlpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL3htbF9ob3N0X2ltLnRtcGwgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vdGVtcGxhdGVzCi0JaW5zdGFsbCAtbSAwNjQ0IHRlbXBsYXRlcy94bWxfaG9zdF9pdGVtLnRtcGwgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vdGVtcGxhdGVzCi0JaW5zdGFsbCAtbSAwNjQ0IHRlbXBsYXRlcy94bWxfc3RhcnQudG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKLQlpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL3htbF9zdW1tYXJ5LnRtcGwgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vdGVtcGxhdGVzCi0KLQlpbnN0YWxsIC1tIDA2NDQgbmlrdG8uY29uZiAgICAke0R9JHtzeXNjb25mZGlyfQotCi0JaW5zdGFsbCAtbSAwNzU1IG5pa3RvLnBsICAgICR7RH0ke2JpbmRpcn0vbmlrdG8KLQlpbnN0YWxsIC1tIDA2NDQgcmVwbGF5LnBsICAgICR7RH0ke2JpbmRpcn0KLQlpbnN0YWxsIC1tIDA2NDQgZG9jcy9uaWt0by4xICAgICR7RH0ke2RhdGFkaXJ9L21hbi9tYW4xCi0KLQlpbnN0YWxsIC1tIDA2NDQgZG9jcy9DSEFOR0VTLnR4dCAgICAke0R9JHtkYXRhZGlyfS9kb2MvbmlrdG8KLQlpbnN0YWxsIC1tIDA2NDQgZG9jcy9MSUNFTlNFLnR4dCAgICAke0R9JHtkYXRhZGlyfS9kb2MvbmlrdG8KLQlpbnN0YWxsIC1tIDA2NDQgZG9jcy9uaWt0by5kdGQgICAgJHtEfSR7ZGF0YWRpcn0vZG9jL25pa3RvCi0JaW5zdGFsbCAtbSAwNjQ0IGRvY3MvbmlrdG9fbWFudWFsLmh0bWwgICAgJHtEfSR7ZGF0YWRpcn0vZG9jL25pa3RvCi19Ci0KLVJERVBFTkRTXyR7UE59ID0gInBlcmwgbGlibmV0LXNzbGVheS1wZXJsIGxpYndoaXNrZXIyLXBlcmwgXAotICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWdldG9wdC1sb25nIHBlcmwtbW9kdWxlLXRpbWUtbG9jYWwgXAotICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWlvLXNvY2tldCBwZXJsLW1vZHVsZS1vdmVybG9hZGluZyBcCi0gICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtYmFzZSBwZXJsLW1vZHVsZS1iIHBlcmwtbW9kdWxlLWJ5dGVzIFwKLSAgICAgICAgICAgICAgICBuaWt0by1kb2MiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvbmlrdG8vbmlrdG9fMi4xLjYuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvbmlrdG8vbmlrdG9fMi4xLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmQyYzQ2YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9uaWt0by9uaWt0b18yLjEuNi5iYgpAQCAtMCwwICsxLDExOCBAQAorU1VNTUFSWSA9ICJ3ZWIgc2VydmVyIHNjYW5uZXIiCitERVNDUklQVElPTiA9ICJOaWt0byBpcyBhbiBPcGVuIFNvdXJjZSB3ZWIgc2VydmVyIHNjYW5uZXIgd2hpY2ggcGVyZm9ybXMgY29tcHJlaGVuc2l2ZSB0ZXN0cyBhZ2FpbnN0IHdlYiBzZXJ2ZXJzIgorU0VDVElPTiA9ICJzZWN1cml0eSIKK0hPTUVQQUdFID0gImh0dHBzOi8vY2lydC5uZXQvTmlrdG8yIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT01NT05fTElDRU5TRV9ESVJ9L0dQTC0yLjA7bWQ1PTgwMWY4MDk4MGQxNzFkZDY0MjU2MTA4MzNhMjJkYmU2IgorCitTUkNSRVYgPSAiZjFiYmQxYTg3NTZjMDc2YzhmZDRmNGRkMGJjMzRhOGVmMjE1YWU3OSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9zdWxsby9uaWt0by5naXQgXAorICAgICAgICAgICBmaWxlOi8vbG9jYXRpb24ucGF0Y2giCisKK1MgPSAiJHtXT1JLRElSfS9naXQvcHJvZ3JhbSIKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9tYW4vbWFuMQorICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vZG9jL25pa3RvCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9uaWt0bworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKKworICAgIGluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfNDA0X3N0cmluZ3MgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCisgICAgaW5zdGFsbCAtbSAwNjQ0IGRhdGFiYXNlcy9kYl9jb250ZW50X3NlYXJjaCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9kYXRhYmFzZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgZGF0YWJhc2VzL2RiX2RpY3Rpb25hcnkgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCisgICAgaW5zdGFsbCAtbSAwNjQ0IGRhdGFiYXNlcy9kYl9kaXJfdHJhdmVyc2FsICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcworICAgIGluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfZG9taW5vICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcworICAgIGluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfZHJ1cGFsICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcworICAgIGluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfZW1iZWRkZWQgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCisgICAgaW5zdGFsbCAtbSAwNjQ0IGRhdGFiYXNlcy9kYl9mYXZpY29uICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcworICAgIGluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfaGVhZGVycyAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9kYXRhYmFzZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgZGF0YWJhc2VzL2RiX2h0dHBvcHRpb25zICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcworICAgIGluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfbXVsdGlwbGVfaW5kZXggICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCisgICAgaW5zdGFsbCAtbSAwNjQ0IGRhdGFiYXNlcy9kYl9vdXRkYXRlZCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9kYXRhYmFzZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgZGF0YWJhc2VzL2RiX3BhcmtlZF9zdHJpbmdzICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcworICAgIGluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfcmVhbG1zICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcworICAgIGluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfc2VydmVyX21zZ3MgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCisgICAgaW5zdGFsbCAtbSAwNjQ0IGRhdGFiYXNlcy9kYl90ZXN0cyAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9kYXRhYmFzZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgZGF0YWJhc2VzL2RiX3ZhcmlhYmxlcyAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9kYXRhYmFzZXMKKworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL0xXMi5wbSAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fYXBhY2hlX2V4cGVjdF94c3MucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19hcGFjaGV1c2Vycy5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2F1dGgucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19jZ2kucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19jbGllbnRhY2Nlc3Nwb2xpY3kucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19jb250ZW50X3NlYXJjaC5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2Nvb2tpZXMucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19jb3JlLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fZGljdGlvbmFyeV9hdHRhY2sucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19kaXJfdHJhdmVyc2FsLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fZGlzaHdhc2hlci5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2RvY2tlcl9yZWdpc3RyeS5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2RvbWluby5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2RydXBhbC5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2VtYmVkZGVkLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fZmF2aWNvbi5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2ZpbGVvcHMucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19oZWFkZXJzLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9faHR0cG9wdGlvbnMucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19tczEwXzA3MC5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX21zZ3MucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19tdWx0aXBsZV9pbmRleC5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX25lZ290aWF0ZS5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX29yaWdpbl9yZWZsZWN0aW9uLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fb3V0ZGF0ZWQucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19wYXJrZWQucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19wYXRocy5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3B1dF9kZWxfdGVzdC5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3JlcG9ydF9jc3YucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19yZXBvcnRfaHRtbC5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3JlcG9ydF9qc29uLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fcmVwb3J0X25iZS5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3JlcG9ydF9zcWxnLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fcmVwb3J0X3RleHQucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19yZXBvcnRfeG1sLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fcm9ib3RzLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fc2llYmVsLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fc2l0ZWZpbGVzLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fc3NsLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fc3RydXRzaG9jay5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3Rlc3RzLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisKKyAgICBpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL2h0bV9jbG9zZS50bXBsICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3RlbXBsYXRlcworICAgIGluc3RhbGwgLW0gMDY0NCB0ZW1wbGF0ZXMvaHRtX2VuZC50bXBsICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3RlbXBsYXRlcworICAgIGluc3RhbGwgLW0gMDY0NCB0ZW1wbGF0ZXMvaHRtX2hvc3RfaGVhZC50bXBsICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3RlbXBsYXRlcworICAgIGluc3RhbGwgLW0gMDY0NCB0ZW1wbGF0ZXMvaHRtX2hvc3RfaW0udG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL2h0bV9ob3N0X2l0ZW0udG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL2h0bV9zdGFydC50bXBsICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3RlbXBsYXRlcworICAgIGluc3RhbGwgLW0gMDY0NCB0ZW1wbGF0ZXMvaHRtX3N0b3AudG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL2h0bV9zdGFydC50bXBsICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3RlbXBsYXRlcworICAgIGluc3RhbGwgLW0gMDY0NCB0ZW1wbGF0ZXMvaHRtX3N1bW1hcnkudG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL3htbF9lbmQudG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL3htbF9ob3N0X2hlYWQudG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL3htbF9ob3N0X2ltLnRtcGwgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vdGVtcGxhdGVzCisgICAgaW5zdGFsbCAtbSAwNjQ0IHRlbXBsYXRlcy94bWxfaG9zdF9pdGVtLnRtcGwgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vdGVtcGxhdGVzCisgICAgaW5zdGFsbCAtbSAwNjQ0IHRlbXBsYXRlcy94bWxfc3RhcnQudG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL3htbF9zdW1tYXJ5LnRtcGwgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vdGVtcGxhdGVzCisKKyAgICBpbnN0YWxsIC1tIDA2NDQgbmlrdG8uY29uZiAgICAke0R9JHtzeXNjb25mZGlyfQorCisgICAgaW5zdGFsbCAtbSAwNzU1IG5pa3RvLnBsICAgICR7RH0ke2JpbmRpcn0vbmlrdG8KKyAgICBpbnN0YWxsIC1tIDA2NDQgcmVwbGF5LnBsICAgICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgZG9jcy9uaWt0by4xICAgICR7RH0ke2RhdGFkaXJ9L21hbi9tYW4xCisKKyAgICBpbnN0YWxsIC1tIDA2NDQgZG9jcy9DSEFOR0VTLnR4dCAgICAke0R9JHtkYXRhZGlyfS9kb2MvbmlrdG8KKyAgICBpbnN0YWxsIC1tIDA2NDQgZG9jcy9MSUNFTlNFLnR4dCAgICAke0R9JHtkYXRhZGlyfS9kb2MvbmlrdG8KKyAgICBpbnN0YWxsIC1tIDA2NDQgZG9jcy9uaWt0by5kdGQgICAgJHtEfSR7ZGF0YWRpcn0vZG9jL25pa3RvCisgICAgaW5zdGFsbCAtbSAwNjQ0IGRvY3MvbmlrdG9fbWFudWFsLmh0bWwgICAgJHtEfSR7ZGF0YWRpcn0vZG9jL25pa3RvCit9CisKK1JERVBFTkRTXyR7UE59ID0gInBlcmwgbGlibmV0LXNzbGVheS1wZXJsIGxpYndoaXNrZXIyLXBlcmwgXAorICAgIHBlcmwtbW9kdWxlLWdldG9wdC1sb25nIHBlcmwtbW9kdWxlLXRpbWUtbG9jYWwgXAorICAgIHBlcmwtbW9kdWxlLWlvLXNvY2tldCBwZXJsLW1vZHVsZS1vdmVybG9hZGluZyBcCisgICAgcGVybC1tb2R1bGUtYmFzZSBwZXJsLW1vZHVsZS1iIHBlcmwtbW9kdWxlLWJ5dGVzIgorCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvcGFja2FnZWdyb3VwL3BhY2thZ2Vncm91cC1jb3JlLXNlY3VyaXR5LmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3BhY2thZ2Vncm91cC9wYWNrYWdlZ3JvdXAtY29yZS1zZWN1cml0eS5iYgppbmRleCBlODQ3ODQ3Li5iOGFiMjdkIDEwMDY0NAotLS0gYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvcGFja2FnZWdyb3VwL3BhY2thZ2Vncm91cC1jb3JlLXNlY3VyaXR5LmJiCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9wYWNrYWdlZ3JvdXAvcGFja2FnZWdyb3VwLWNvcmUtc2VjdXJpdHkuYmIKQEAgLTc4LDcgKzc4LDcgQEAKICAgICBweXRob24tc2NhcHktcHRlc3QgXAogICAgIHN1cmljYXRhLXB0ZXN0IFwKICAgICB0cmlwd2lyZS1wdGVzdCBcCi0gICAgcHl0aG9uMy1mYWlsMmJhbi1wdGVzdCBcCisgICAgcHl0aG9uLWZhaWwyYmFuLXB0ZXN0IFwKICAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgImFwcGFybW9yIiwgImFwcGFybW9yLXB0ZXN0IiwgIiIsZCl9IFwKICAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgInNtYWNrIiwgInNtYWNrLXB0ZXN0IiwgIiIsZCl9IFwKICAgICBwdGVzdC1ydW5uZXIgXApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vc2FtaGFpbi5pbmMgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9zYW1oYWluLmluYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTQ0YmYwZC4uMDAwMDAwMAotLS0gYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9zYW1oYWluLmluYworKysgL2Rldi9udWxsCkBAIC0xLDE2MiArMCwwIEBACi1ERVNDUklQVElPTiA9ICJQcm92aWRlcyBmaWxlIGludGVncml0eSBjaGVja2luZyBhbmQgbG9nIGZpbGUgbW9uaXRvcmluZy9hbmFseXNpcyIKLUhPTUVQQUdFICAgID0gImh0dHA6Ly93d3cubGEtc2FtaG5hLmRlL3NhbWhhaW4vIgotTElDRU5TRSAgICAgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT04Y2E0M2NiYzg0MmMyMzM2ZTgzNTkyNmMyMTY2YzI4YiIKLQotCi1TUkNfVVJJID0gImh0dHA6Ly9sYS1zYW1obmEuZGUvYXJjaGl2ZS9zYW1oYWluX3NpZ25lZC0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vc2FtaGFpbi1jcm9zcy1jb21waWxlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3NhbWhhaW4tbWlwczY0LWFhcmNoNjQtZG5tYWxsb2MtaGFzaC1maXgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vc2FtaGFpbi1zYW1oYWlucmMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vc2FtaGFpbi1zYW1oYWlucmMtZml4LWZpbGVzLWRpcnMtcGF0aC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9zYW1oYWluLXBpZC1wYXRoLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3NhbWhhaW4tc2hhMjU2LWJpZy1lbmRpYW4ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vc2FtaGFpbi1jb25maWd1cmUtYWRkLW9wdGlvbi1mb3ItcHMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vc2FtaGFpbi1hdm9pZC1zZWFyY2hpbmctaG9zdC1mb3ItcG9zdGdyZXNxbC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9zYW1oYWluLWFkZC1MREZMQUdTLXZhcmlhYmxlLWZvci1zYW1oYWluX3NldHB3ZC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8ke0lOSVRTQ1JJUFRfTkFNRX0uaW5pdCBcCi0gICAgICAgICAgIGZpbGU6Ly8ke0lOSVRTQ1JJUFRfTkFNRX0uZGVmYXVsdCBcCi0gICAgICAgICAgIGZpbGU6Ly9zYW1oYWluLnNlcnZpY2UgXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJhMDBlOTkzNzU2NzVmYzZlNTBjY2EzZTIwOGY1MjA3ZSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI4NTUxZGMzYjA4NTE4ODlhMmI5NzkwOTdlOWMwMjMwOWI0MGQ0OGI0NjU5ZjAyZWZlN2ZlNTI1Y2U4MzYxYTBkIgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly93d3cubGEtc2FtaG5hLmRlL3NhbWhhaW4vYXJjaGl2ZS5odG1sIgotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAic2FtaGFpbl9zaWduZWQtKD9QPHB2ZXI+KFxkKyhcLlxkKykrKSlcLnRhciIKLQotUyA9ICIke1dPUktESVJ9L3NhbWhhaW4tJHtQVn0iCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCB1cGRhdGUtcmMuZCBwa2djb25maWcgc3lzdGVtZAotCi1TQU1IQUlOX1BPUlQgPz89ICI0OTc3NyIKLVNBTUhBSU5fU0VSVkVSID8/PSAiTlVMTCIKLQotSU5JVFNDUklQVF9OQU1FID0gIiR7QlBOfSIKLUlOSVRTQ1JJUFRfUEFSQU1TID89ICJkZWZhdWx0cyIKLQotU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfSIKLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICIke0lOSVRTQ1JJUFRfTkFNRX0uc2VydmljZSIKLVNZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKLQotIyBtb2RlIG1hcHBpbmc6Ci0jIEJQTiAgICAgICAgICAgICAgICBNT0RFX05BTUUgICBTQU1IQUlOX01PREUKLSMgc2FtaGFpbi1zdGFuZGFsb25lIHN0YW5kYWxvbmUgIG5vCi0jIHNhbWhhaW4tY2xpZW50ICAgICBjbGllbnQgICAgICBjbGllbnQKLSMgc2FtaGFpbi1zZXJ2ZXIgICAgIHNlcnZlciAgICAgIHNlcnZlcgotTU9ERV9OQU1FID0gIiR7QGQuZ2V0VmFyKCdCUE4nKS5zcGxpdCgnLScpWzFdfSIKLVNBTUhBSU5fTU9ERSA9ICIke0BvZS51dGlscy5pZmVsc2UoZC5nZXRWYXIoJ01PREVfTkFNRScpID09ICdzdGFuZGFsb25lJywgJ25vJywgJyR7TU9ERV9OQU1FfScpfSIKLQotIyBzdXBwb3J0cyBteXNxbHxwb3N0Z3Jlc3FsfG9yYWNsZXxvZGJjIGJ1dCBwb3N0Z3Jlc3FsIGlzIHRoZSBvbmx5IG9uZSBhdmFpbGFibGUKLQotUEFDS0FHRUNPTkZJRyA/Pz0gInBvc3RncmVzcWwgcHMgXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsICdpcHY2JywgJycsIGQpfSBcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzZWxpbnV4JywgJ3NlbGludXggYXVkaXQnLCAnJywgZCl9IFwKLSAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2FjbCcsICdhY2wnLCAnJywgZCl9IFwKLSIKLQotUEFDS0FHRUNPTkZJR1twb3N0Z3Jlc3FsXSAgPSAiLS13aXRoLWRhdGFiYXNlPXBvc3RncmVzcWwgLS1lbmFibGUteG1sLWxvZyBQR1NRTF9JTkNfRElSPSR7U1RBR0lOR19JTkNESVJ9IFBHU1FMX0xJQl9ESVI9JHtTVEFHSU5HX0xJQkRJUn0sICwgcG9zdGdyZXNxbCIKLVBBQ0tBR0VDT05GSUdbc3VpZGNoZWNrXSAgPSAiLS1lbmFibGUtc3VpZGNoZWNrLCAsICIKLVBBQ0tBR0VDT05GSUdbbG9nd2F0Y2hdICA9ICItLWVuYWJsZS1sb2dpbi13YXRjaCwgLCAiCi1QQUNLQUdFQ09ORklHW21vdW50c10gID0gIi0tZW5hYmxlLW1vdW50cy1jaGVjaywgLCAiCi1QQUNLQUdFQ09ORklHW3VzZXJmaWxlc10gID0gIi0tZW5hYmxlLXVzZXJmaWxlcywgLCAiCi1QQUNLQUdFQ09ORklHW2lwdjZdICA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2LCIKLVBBQ0tBR0VDT05GSUdbc2VsaW51eF0gPSAiLS1lbmFibGUtc2VsaW51eCwgLS1kaXNhYmxlLXNlbGludXgsIGxpYnNlbGludXggYXR0ciIKLVBBQ0tBR0VDT05GSUdbYWNsXSA9ICIgLS1lbmFibGUtcG9zaXgtYWNsICwgLS1kaXNhYmxlLXBvc2l4LWFjbCwgYWNsIgotUEFDS0FHRUNPTkZJR1thdWRpdF0gPSAiYWNfY3ZfaGVhZGVyX2F1cGFyc2VfaD15ZXMsYWNfY3ZfaGVhZGVyX2F1cGFyc2VfaD1ubyxhdWRpdCIKLVBBQ0tBR0VDT05GSUdbcHNdID0gIi0td2l0aC1wcy1wYXRoPSR7YmFzZV9iaW5kaXJ9L3BzLCwscHJvY3BzIgotCi1kb191bnBhY2tfc2FtaGFpbigpIHsKLSAgICBjZCAke1dPUktESVJ9Ci0gICAgdGFyIC14enZmIHNhbWhhaW4tJHtQVn0udGFyLmd6Ci19Ci0KLXB5dGhvbiBkb191bnBhY2tfYXBwZW5kKCkgewotICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygnZG9fdW5wYWNrX3NhbWhhaW4nLCBkKQotfQotCi1kb19jb25maWd1cmVfcHJlcGVuZF9hcm0oKSB7Ci0gICAgZXhwb3J0IHNoX2N2X19fdmFfY29weT15ZXMKLX0KLQotZG9fY29uZmlndXJlX3ByZXBlbmRfYWFyY2g2NCgpIHsKLSAgICBleHBvcnQgc2hfY3ZfX192YV9jb3B5PXllcwotfQotCi0jIElmIHdlIHVzZSBvZV9ydW5jb25mIGluIGRvX2NvbmZpZ3VyZSgpIGl0IHdpbGwgYnkgZGVmYXVsdAotIyB1c2UgdGhlIHByZWZpeCAtLW9sZGluY2x1ZGVkaXI9L3Vzci9pbmNsdWRlIHdoaWNoIGlzIG5vdAotIyByZWNvZ25pemVkIGJ5IFNhbWhhaW4ncyBjb25maWd1cmUgc2NyaXB0IGFuZCB3b3VsZCBpbnZhcmlhYmx5Ci0jIHRocm93IGJhY2sgdGhlIGVycm9yICJ1bnJlY29nbml6ZWQgb3B0aW9uOiAtLW9sZGluY2x1ZGVkaXI9L3Vzci9pbmNsdWRlIgotZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgewotICAgIGNhdCA8PCBFT0YgPiAke1N9L2NvbmZpZy1zaXRlLiR7QlB9Ci1zc3BfY3ZfbGliPW5vCi1zaF9jdl92YV9jb3B5PXllcwotRU9GCi0gICAgZXhwb3J0IENPTkZJR19TSVRFPSR7U30vY29uZmlnLXNpdGUuJHtCUH0KLX0KLQotZG9fY29uZmlndXJlICgpIHsKLQlhdXRvY29uZiAtZgotCS4vY29uZmlndXJlIFwKLQktLWJ1aWxkPSR7QlVJTERfU1lTfSBcCi0JLS1ob3N0PSR7SE9TVF9TWVN9IFwKLQktLXRhcmdldD0ke1RBUkdFVF9TWVN9IFwKLQktLXByZWZpeD0ke3ByZWZpeH0gXAotCS0tZXhlY19wcmVmaXg9JHtleGVjX3ByZWZpeH0gXAotCS0tYmluZGlyPSR7YmluZGlyfSBcCi0JLS1zYmluZGlyPSR7c2JpbmRpcn0gXAotCS0tbGliZXhlY2Rpcj0ke2xpYmV4ZWNkaXJ9IFwKLQktLWRhdGFkaXI9JHtkYXRhZGlyfSBcCi0JLS1zeXNjb25mZGlyPSR7c3lzY29uZmRpcn0gXAotCS0tc2hhcmVkc3RhdGVkaXI9JHtzaGFyZWRzdGF0ZWRpcn0gXAotCS0tbG9jYWxzdGF0ZWRpcj0ke2xvY2Fsc3RhdGVkaXJ9IFwKLQktLWxpYmRpcj0ke2xpYmRpcn0gXAotCS0taW5jbHVkZWRpcj0ke2luY2x1ZGVkaXJ9IFwKLQktLWluZm9kaXI9JHtpbmZvZGlyfSBcCi0JLS1tYW5kaXI9JHttYW5kaXJ9IFwKLQktLWVuYWJsZS1uZXR3b3JrPSR7U0FNSEFJTl9NT0RFfSBcCi0JLS13aXRoLXBpZC1maWxlPSR7bG9jYWxzdGF0ZWRpcn0vcnVuL3NhbWhhaW4ucGlkIFwKLQktLXdpdGgtZGF0YS1maWxlPSR7bG9jYWxzdGF0ZWRpcn0vbGliL3NhbWhhaW4vc2FtaGFpbl9maWxlIFwKLQkke0VYVFJBX09FQ09ORn0KLX0KLQotZG9fY29tcGlsZV9wcmVwZW5kX2xpYmMtbXVzbCAoKSB7Ci0Jc2VkIC1pICdzL14jZGVmaW5lIEhBVkVfTUFMTE9DX0guKi8vJyAke0J9L2NvbmZpZy5oCi19Ci0KLSMgSW5zdGFsbCB0aGUgaW5pdCBzY3JpcHQsIGl0J3MgZGVmYXVsdCBmaWxlLCBhbmQgdGhlIGV4dHJhbmVvdXMKLSMgZG9jdW1lbnRhdGlvbi4KLWRvX2luc3RhbGxfYXBwZW5kICgpIHsKLQlvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0nJHtEfScgSU5TVEFMTD1pbnN0YWxsLWJvb3QKLQotCWluc3RhbGwgLUQgLW0gNzU1ICR7V09SS0RJUn0vJHtJTklUU0NSSVBUX05BTUV9LmluaXQgXAotCQkke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvJHtJTklUU0NSSVBUX05BTUV9Ci0KLQlpbnN0YWxsIC1EIC1tIDc1NSAke1dPUktESVJ9LyR7SU5JVFNDUklQVF9OQU1FfS5kZWZhdWx0IFwKLQkJJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC8ke0lOSVRTQ1JJUFRfTkFNRX0KLQotCWlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KLQkJaWYgWyAiJHtTQU1IQUlOX01PREV9IiA9ICJubyIgXTsgdGhlbgotCQkgICAgaW5zdGFsbCAtRCAtbSAwNjQ0ICR7V09SS0RJUn0vc2FtaGFpbi5zZXJ2aWNlICR7RH0vJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9zYW1oYWluLnNlcnZpY2UKLQkJZWxzZQotCQkgICAgaW5zdGFsbCAtRCAtbSAwNjQ0ICR7V09SS0RJUn0vc2FtaGFpbi5zZXJ2aWNlICR7RH0vJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS8ke0JQTn0uc2VydmljZQotCQlmaQotCQlpbnN0YWxsIC1EIC1tIDA3NTUgJHtXT1JLRElSfS8ke0JQTn0uaW5pdCAke0R9LyR7bGliZXhlY2Rpcn0vJHtCUE59Ci0JCXNlZCAtaSAtZSAncyxATElCRElSQCwke2xpYmV4ZWNkaXJ9LCcgXAotCQkgICAgICAgLWUgJ3MsQFNBTUhBSU5fSEVMUEVSQCwke0JQTn0sJyBcCi0JCSAgICAgICAtZSAncyxATU9ERV9OQU1FQCwke01PREVfTkFNRX0sJyBcCi0JCSAgICAgICAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9zYW1oYWluKi5zZXJ2aWNlCi0gICAgZmkKLQotCWluc3RhbGwgLWQgJHtEfSR7ZG9jZGlyfS8ke0JQTn0KLQljcCAtciBkb2NzLyogJHtEfSR7ZG9jZGlyfS8ke0JQTn0KLQljcCAtciBzY3JpcHRzICR7RH0ke2RvY2Rpcn0vJHtCUE59Ci0JaW5zdGFsbCAtZCAtbSA3NTUgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vc2FtaGFpbgotCi0JIyBQcmV2ZW50IFFBIHdhcm5pbmdzIGFib3V0IGluc3RhbGxlZCAke2xvY2Fsc3RhdGVkaXJ9L3J1bgotCWlmIFsgLWQgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuIF07IHRoZW4KLQkJcm1kaXIgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuCi0JZmkKLX0KLQotRklMRVNfJHtQTn0gKz0gIiR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0iCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2NhcHkvZmlsZXMvcnVuLXB0ZXN0IGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NjYXB5L2ZpbGVzL3J1bi1wdGVzdApvbGQgbW9kZSAxMDA3NTUKbmV3IG1vZGUgMTAwNjQ0CmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2NhcHkvcHl0aG9uLXNjYXB5LmluYyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zY2FweS9weXRob24tc2NhcHkuaW5jCmluZGV4IDVhYmU3ZGIuLjk5ZjMwYTcgMTAwNjQ0Ci0tLSBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zY2FweS9weXRob24tc2NhcHkuaW5jCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zY2FweS9weXRob24tc2NhcHkuaW5jCkBAIC01LDE2ICs1LDI1IEBACiAKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2Jpbi9zY2FweTtiZWdpbmxpbmU9OTtlbmRsaW5lPTEzO21kNT0xZDUyNDk4NzJjYzU0Y2Q0Y2EzZDM4NzkyNjJkMGM2OSIKIAotU1JDX1VSSVttZDVzdW1dID0gImQ3ZDNjNDI5NGY1YTcxOGUyMzQ3NzVkMzhkYmViN2VjIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ1MmY3MTRmNWMyZWFjNmZkMGE2MTQ2YjFkYmRkZmMyNGRkNWY0MTAzZjNlZDc2MjI3OTk1YTQ4OGNmYjJiNzMiCitTID0gIiR7V09SS0RJUn0vZ2l0IgogCi1pbmhlcml0IHB5cGkgcHRlc3QKK1NSQ1JFViA9ICJiYWQxNGNiMWE1YWVlMjlmODEwN2ZiZThhZDAwOGQ0NjQ1ZjE0ZGE3IgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3NlY2Rldi9zY2FweS5naXQiCisKK2luaGVyaXQgcHRlc3QKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaWYgWyAiJHtQWVRIT05fUE59IiA9ICJweXRob24zIiBdOyB0aGVuCisgICAgICAgIHNlZCAtaSAtZSAncy9weXRob24vcHl0aG9uMy8nICR7RH0ke2JpbmRpcn0vc2NhcHkKKyAgICAgICAgc2VkIC1pIC1lICdzL3B5dGhvbi9weXRob24zLycgJHtEfSR7YmluZGlyfS9VVHNjYXB5CisgICAgZmkKK30KIAogZG9faW5zdGFsbF9wdGVzdCgpIHsKICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS90ZXN0L3JlZ3Jlc3Npb24udXRzICR7RH0ke1BURVNUX1BBVEh9CiAgICAgc2VkIC1pICdzLEBQVEVTVF9QQVRIQCwke1BURVNUX1BBVEh9LCcgJHtEfSR7UFRFU1RfUEFUSH0vcnVuLXB0ZXN0CiB9CiAKLVJERVBFTkRTXyR7UE59ID0gInRjcGR1bXAgJHtQWVRIT05fUE59LWNvbXByZXNzaW9uICR7UFlUSE9OX1BOfS1uZXRjbGllbnQgIFwKK1JERVBFTkRTXyR7UE59ID0gInRjcGR1bXAgJHtQWVRIT05fUE59LWNvbXByZXNzaW9uICR7UFlUSE9OX1BOfS1jcnlwdG9ncmFwaHkgJHtQWVRIT05fUE59LW5ldGNsaWVudCAgXAogICAgICAgICAgICAgICAgICAgJHtQWVRIT05fUE59LW5ldHNlcnZlciAke1BZVEhPTl9QTn0tcHlkb2MgJHtQWVRIT05fUE59LXBrZ3V0aWwgJHtQWVRIT05fUE59LXNoZWxsIFwKICAgICAgICAgICAgICAgICAgICR7UFlUSE9OX1BOfS10aHJlYWRpbmcgJHtQWVRIT05fUE59LW51bWJlcnMgJHtQWVRIT05fUE59LXB5Y3J5cHRvIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NjYXB5L3B5dGhvbi1zY2FweV8yLjQuMC5iYiBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zY2FweS9weXRob24tc2NhcHlfMi40LjIuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zY2FweS9weXRob24tc2NhcHlfMi40LjAuYmIKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zY2FweS9weXRob24tc2NhcHlfMi40LjIuYmIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zY2FweS9weXRob24zLXNjYXB5XzIuNC4wLmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NjYXB5L3B5dGhvbjMtc2NhcHlfMi40LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkzY2E3YmUuLjAwMDAwMDAKLS0tIGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NjYXB5L3B5dGhvbjMtc2NhcHlfMi40LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLWluaGVyaXQgc2V0dXB0b29sczMKLXJlcXVpcmUgcHl0aG9uLXNjYXB5LmluYwotCi1TUkNfVVJJICs9ICJmaWxlOi8vcnVuLXB0ZXN0IgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NjYXB5L3B5dGhvbjMtc2NhcHlfMi40LjIuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2NhcHkvcHl0aG9uMy1zY2FweV8yLjQuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44M2M3OWY0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NjYXB5L3B5dGhvbjMtc2NhcHlfMi40LjIuYmIKQEAgLTAsMCArMSw1IEBACitpbmhlcml0IHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi1zY2FweS5pbmMKKworU1JDX1VSSSArPSAiZmlsZTovL3J1bi1wdGVzdCIKKwpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3Nzc2Qvc3NzZF8xLjE2LjMuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc3NzZC9zc3NkXzEuMTYuMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGY3ZjgwNS4uMDAwMDAwMAotLS0gYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc3NzZC9zc3NkXzEuMTYuMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDczICswLDAgQEAKLVNVTU1BUlkgPSAic3lzdGVtIHNlY3VyaXR5IHNlcnZpY2VzIGRhZW1vbiIKLURFU0NSSVBUSU9OID0gIlNTU0QgaXMgYSBzeXN0ZW0gc2VjdXJpdHkgc2VydmljZXMgZGFlbW9uIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9wYWd1cmUuaW8vU1NTRC9zc3NkLyIKLVNFQ1RJT04gPSAiYmFzZSIKLUxJQ0VOU0UgPSAiR1BMdjMrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCi0KLURFUEVORFMgPSAib3BlbmxkYXAgY3lydXMtc2FzbCBsaWJ0ZGIgZGluZy1saWJzIGxpYnBhbSBjLWFyZXMga3JiNSBhdXRvY29uZi1hcmNoaXZlIgotREVQRU5EUyArPSAibGlibGRiIGRidXMgbGlidGFsbG9jIGxpYnBjcmUgZ2xpYi0yLjAgcG9wdCBlMmZzcHJvZ3MgbGlidGV2ZW50IgotCi1TUkNfVVJJID0gImh0dHBzOi8vcmVsZWFzZXMucGFndXJlLm9yZy9TU1NELyR7QlBOfS8ke0JQfS50YXIuZ3pcCi0gICAgICAgICAgICBmaWxlOi8vc3NzZC5jb25mICIKLQotU1JDX1VSSVttZDVzdW1dID0gImFmNDI4OGM5ZDFmOTk1M2UzYjNiNmUwYjE2NWE1ZWNlIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImVlNWQxN2EwYzY2M2MwOTgxOWNiYWI5MzY0MDg1YjllNTdmYWVjYTAyNDA2Y2MzMGVmZTE0Y2MwY2ZjMDRlYzQiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0IHVwZGF0ZS1yYy5kIHB5dGhvbi1kaXIgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCi0KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJwYW0iCi0KLUNBQ0hFRF9DT05GSUdVUkVWQVJTID0gImFjX2N2X21lbWJlcl9zdHJ1Y3RfbGRhcF9jb25uY2JfbGNfYXJnPW5vIFwKLSAgICBhY19jdl9wYXRoX05TVVBEQVRFPSR7YmluZGlyfSBcCi0gICAgYWNfY3ZfcGF0aF9QWVRIT04yPSR7UFlUSE9OX0RJUn0gYWNfY3ZfcHJvZ19IQVZFX1BZVEhPTjM9JHtQWVRIT05fRElSfSBcCi0gICAgIgotCi1QQUNLQUdFQ09ORklHID89Im5zcyBuc2NkIgotUEFDS0FHRUNPTkZJRyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzZWxpbnV4JywgJ3NlbGludXgnLCAnJywgZCl9IgotCi1QQUNLQUdFQ09ORklHW3NzaF0gPSAiLS13aXRoLXNzaCwgLS13aXRoLXNzaD1ubywgIgotUEFDS0FHRUNPTkZJR1tzYW1iYV0gPSAiLS13aXRoLXNhbWJhLCAtLXdpdGgtc2FtYmE9bm8sIHNhbWJhIgotUEFDS0FHRUNPTkZJR1tzZWxpbnV4XSA9ICItLXdpdGgtc2VsaW51eCwgLS13aXRoLXNlbGludXg9bm8gLS13aXRoLXNlbWFuYWdlPW5vLCBsaWJzZWxpbnV4IgotUEFDS0FHRUNPTkZJR1ttYW5wYWdlc10gPSAiLS13aXRoLW1hbnBhZ2VzLCAtLXdpdGgtbWFucGFnZXM9bm8iCi1QQUNLQUdFQ09ORklHW3B5dGhvbjJdID0gIi0td2l0aC1weXRob24yLWJpbmRpbmdzLCAtLXdpdGhvdXQtcHl0aG9uMi1iaW5kaW5ncyIKLVBBQ0tBR0VDT05GSUdbcHl0aG9uM10gPSAiLS13aXRoLXB5dGhvbjMtYmluZGluZ3MsIC0td2l0aG91dC1weXRob24zLWJpbmRpbmdzIgotUEFDS0FHRUNPTkZJR1tuc3NdID0gIi0td2l0aC1jcnlwdG89bnNzLCAsbnNzLCIKLVBBQ0tBR0VDT05GSUdbY3lycHRvXSA9ICItLXdpdGgtY3J5cHRvPWxpYmNyeXB0bywgLCBsaWJjcnlwdG8iCi1QQUNLQUdFQ09ORklHW25zY2RdID0gIi0td2l0aC1uc2NkPSR7c2JpbmRpcn0sIC0td2l0aC1uc2NkPW5vICIKLVBBQ0tBR0VDT05GSUdbbmxdID0gIi0td2l0aC1saWJubCwgLS13aXRoLWxpYm5sPW5vLCBsaWJubCIKLVBBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS13aXRoLXN5c3RlbWR1bml0ZGlyPSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vLCAtLXdpdGgtc3lzdGVtZHVuaXRkaXI9IgotUEFDS0FHRUNPTkZJR1todHRwXSA9ICItLXdpdGgtc2VjcmV0cywgLS13aXRob3V0LXNlY3JldHMsIGFwYWNoZTIiCi1QQUNLQUdFQ09ORklHW2N1cmxdID0gIi0td2l0aC1zZWNyZXRzIC0td2l0aC1rY20sIC0td2l0aG91dC1zZWNyZXRzIC0td2l0aG91dC1rY20sIGN1cmwiCi0KLUVYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWNpZnMtaWRtYXAtcGx1Z2luIC0td2l0aG91dC1uZnN2NC1pZG1hcGQtcGx1Z2luIC0td2l0aG91dC1pcGEtZ2V0a2V5dGFiIgotCi1kb19jb25maWd1cmVfcHJlcGVuZCgpIHsKLSAgICBta2RpciAtcCAke0FVVE9UT09MU19BVVhESVJ9L2J1aWxkCi0gICAgY3AgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9nZXR0ZXh0L2NvbmZpZy5ycGF0aCAke0FVVE9UT09MU19BVVhESVJ9L2J1aWxkLwotCi0gICAgIyBsaWJyZXNvdmUgaGFzIGhvc3QgcGF0aCwgcmVtb3ZlIGl0Ci0gICAgc2VkIC1pIC1lICJzI1wkc3NzX2V4dHJhX2xpYmRpciMjIiAke1N9L3NyYy9leHRlcm5hbC9saWJyZXNvbHYubTQKLX0KLQotZG9faW5zdGFsbCAoKSB7Ci0gICAgb2VfcnVubWFrZSBpbnN0YWxsICBERVNURElSPSIke0R9IgotICAgIHJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICIke0R9LyR7YmluZGlyfSIKLSAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS8ke0JQTn0KLSAgICBpbnN0YWxsIC1tIDYwMCAke1dPUktESVJ9LyR7QlBOfS5jb25mICR7RH0vJHtzeXNjb25mZGlyfS8ke0JQTn0KLX0KLQotQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vJHtCUE59LyR7QlBOfS5jb25mIgotCi1JTklUU0NSSVBUX05BTUUgPSAic3NzZCIKLUlOSVRTQ1JJUFRfUEFSQU1TID0gInN0YXJ0IDAyIDUgMyAyIC4gc3RvcCAyMCAwIDEgNiAuIgotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIiR7QlBOfS5zZXJ2aWNlIgotU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgotCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9ICR7ZGF0YWRpcn0gL3J1biAke2xpYmRpcn0vKi5zbyogIgotRklMRVNfJHtQTn0tZGV2ID0gIiAke2luY2x1ZGVkaXJ9LyogJHtsaWJkaXJ9LypsYSAke2xpYmRpcn0vKi8qbGEiCi0KLSMgVGhlIHBhY2thZ2UgY29udGFpbnMgc3ltbGlua3MgdGhhdCB0cmlwIHVwIGluc2FuZQotSU5TQU5FX1NLSVBfJHtQTn0gPSAiZGV2LXNvIgotCi1SREVQRU5EU18ke1BOfSArPSAiYmluZCBkYnVzIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3Nzc2Qvc3NzZF8xLjE2LjQuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc3NzZC9zc3NkXzEuMTYuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNGJjOGM4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3Nzc2Qvc3NzZF8xLjE2LjQuYmIKQEAgLTAsMCArMSw4OCBAQAorU1VNTUFSWSA9ICJzeXN0ZW0gc2VjdXJpdHkgc2VydmljZXMgZGFlbW9uIgorREVTQ1JJUFRJT04gPSAiU1NTRCBpcyBhIHN5c3RlbSBzZWN1cml0eSBzZXJ2aWNlcyBkYWVtb24iCitIT01FUEFHRSA9ICJodHRwczovL3BhZ3VyZS5pby9TU1NEL3Nzc2QvIgorU0VDVElPTiA9ICJiYXNlIgorTElDRU5TRSA9ICJHUEx2MysiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworREVQRU5EUyA9ICJvcGVubGRhcCBjeXJ1cy1zYXNsIGxpYnRkYiBkaW5nLWxpYnMgbGlicGFtIGMtYXJlcyBrcmI1IGF1dG9jb25mLWFyY2hpdmUiCitERVBFTkRTICs9ICJsaWJsZGIgZGJ1cyBsaWJ0YWxsb2MgbGlicGNyZSBnbGliLTIuMCBwb3B0IGUyZnNwcm9ncyBsaWJ0ZXZlbnQiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9yZWxlYXNlcy5wYWd1cmUub3JnL1NTU0QvJHtCUE59LyR7QlB9LnRhci5nelwKKyAgICAgICAgICAgIGZpbGU6Ly9zc3NkLmNvbmYgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNzU3YmJiNmYxNTQwOWQ4ZDA3NWY0ZjA2Y2I2NzhkNTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmJiMjEyY2Q2Yjc1YjkxOGU5NDVjMjRlN2MzZjk1YTQ4NmZiNTRkN2Y3ZDQ4OWE5MzM0Y2ZhMWExZjNiZjk1OSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdldHRleHQgcHl0aG9uLWRpciBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gInBhbSIKKworU1NTRF9VSUQgPz0gInJvb3QiCitTU1NEX0dJRCA/PSAicm9vdCIKKworQ0FDSEVEX0NPTkZJR1VSRVZBUlMgPSAiYWNfY3ZfbWVtYmVyX3N0cnVjdF9sZGFwX2Nvbm5jYl9sY19hcmc9bm8gXAorICAgIGFjX2N2X3BhdGhfTlNVUERBVEU9JHtiaW5kaXJ9IFwKKyAgICBhY19jdl9wYXRoX1BZVEhPTjI9JHtQWVRIT05fRElSfSBhY19jdl9wcm9nX0hBVkVfUFlUSE9OMz0ke1BZVEhPTl9ESVJ9IFwKKyAgICAiCisKK1BBQ0tBR0VDT05GSUcgPz0ibnNzIG5zY2QiCitQQUNLQUdFQ09ORklHICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3NlbGludXgnLCAnc2VsaW51eCcsICcnLCBkKX0iCitQQUNLQUdFQ09ORklHICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAnc3lzdGVtZCcsICcnLCBkKX0iCisKK1BBQ0tBR0VDT05GSUdbc3NoXSA9ICItLXdpdGgtc3NoLCAtLXdpdGgtc3NoPW5vLCAiCitQQUNLQUdFQ09ORklHW3NhbWJhXSA9ICItLXdpdGgtc2FtYmEsIC0td2l0aC1zYW1iYT1ubywgc2FtYmEiCitQQUNLQUdFQ09ORklHW3NlbGludXhdID0gIi0td2l0aC1zZWxpbnV4LCAtLXdpdGgtc2VsaW51eD1ubyAtLXdpdGgtc2VtYW5hZ2U9bm8sIGxpYnNlbGludXgiCitQQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICItLXdpdGgtbWFucGFnZXMsIC0td2l0aC1tYW5wYWdlcz1ubyIKK1BBQ0tBR0VDT05GSUdbcHl0aG9uMl0gPSAiLS13aXRoLXB5dGhvbjItYmluZGluZ3MsIC0td2l0aG91dC1weXRob24yLWJpbmRpbmdzIgorUEFDS0FHRUNPTkZJR1tweXRob24zXSA9ICItLXdpdGgtcHl0aG9uMy1iaW5kaW5ncywgLS13aXRob3V0LXB5dGhvbjMtYmluZGluZ3MiCitQQUNLQUdFQ09ORklHW25zc10gPSAiLS13aXRoLWNyeXB0bz1uc3MsICxuc3MsIgorUEFDS0FHRUNPTkZJR1tjeXJwdG9dID0gIi0td2l0aC1jcnlwdG89bGliY3J5cHRvLCAsIGxpYmNyeXB0byIKK1BBQ0tBR0VDT05GSUdbbnNjZF0gPSAiLS13aXRoLW5zY2Q9JHtzYmluZGlyfSwgLS13aXRoLW5zY2Q9bm8gIgorUEFDS0FHRUNPTkZJR1tubF0gPSAiLS13aXRoLWxpYm5sLCAtLXdpdGgtbGlibmw9bm8sIGxpYm5sIgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLXdpdGgtc3lzdGVtZHVuaXRkaXI9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8sIC0td2l0aC1zeXN0ZW1kdW5pdGRpcj0iCitQQUNLQUdFQ09ORklHW2h0dHBdID0gIi0td2l0aC1zZWNyZXRzLCAtLXdpdGhvdXQtc2VjcmV0cywgYXBhY2hlMiIKK1BBQ0tBR0VDT05GSUdbY3VybF0gPSAiLS13aXRoLXNlY3JldHMgLS13aXRoLWtjbSwgLS13aXRob3V0LXNlY3JldHMgLS13aXRob3V0LWtjbSwgY3VybCIKKworRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtY2lmcy1pZG1hcC1wbHVnaW4gLS13aXRob3V0LW5mc3Y0LWlkbWFwZC1wbHVnaW4gLS13aXRob3V0LWlwYS1nZXRrZXl0YWIiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIG1rZGlyIC1wICR7QVVUT1RPT0xTX0FVWERJUn0vYnVpbGQKKyAgICBjcCAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2dldHRleHQvY29uZmlnLnJwYXRoICR7QVVUT1RPT0xTX0FVWERJUn0vYnVpbGQvCisKKyAgICAjIGxpYnJlc292ZSBoYXMgaG9zdCBwYXRoLCByZW1vdmUgaXQKKyAgICBzZWQgLWkgLWUgInMjXCRzc3NfZXh0cmFfbGliZGlyIyMiICR7U30vc3JjL2V4dGVybmFsL2xpYnJlc29sdi5tNAorfQorCitkb19pbnN0YWxsICgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgIERFU1RESVI9IiR7RH0iCisgICAgcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgIiR7RH0vJHtiaW5kaXJ9IgorICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9LyR7QlBOfQorICAgIGluc3RhbGwgLW0gNjAwICR7V09SS0RJUn0vJHtCUE59LmNvbmYgJHtEfS8ke3N5c2NvbmZkaXJ9LyR7QlBOfQorCisgICAgIyBSZW1vdmUgL3Zhci9ydW4gYXMgaXQgaXMgY3JlYXRlZCBvbiBzdGFydHVwCisgICAgcm0gLXJmICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bgorCit9CisKK3BrZ19wb3N0aW5zdF9vbnRhcmdldF8ke1BOfSAoKSB7CitpZiBbIC1lIC9ldGMvaW5pdC5kL3BvcHVsYXRlLXZvbGF0aWxlLnNoIF0gOyB0aGVuCisgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvcG9wdWxhdGUtdm9sYXRpbGUuc2ggdXBkYXRlCitmaQorICAgIGNob3duICR7U1NTRF9VSUR9OiR7U1NTRF9HSUR9ICR7c3lzY29uZmRpcn0vJHtCUE59LyR7QlBOfS5jb25mCit9CisKK0NPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9LyR7QlBOfS8ke0JQTn0uY29uZiIKKworSU5JVFNDUklQVF9OQU1FID0gInNzc2QiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJzdGFydCAwMiA1IDMgMiAuIHN0b3AgMjAgMCAxIDYgLiIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICIke0JQTn0uc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfSAke2RhdGFkaXJ9IC9ydW4gJHtsaWJkaXJ9Lyouc28qICIKK0ZJTEVTXyR7UE59LWRldiA9ICIgJHtpbmNsdWRlZGlyfS8qICR7bGliZGlyfS8qbGEgJHtsaWJkaXJ9LyovKmxhIgorCisjIFRoZSBwYWNrYWdlIGNvbnRhaW5zIHN5bWxpbmtzIHRoYXQgdHJpcCB1cCBpbnNhbmUKK0lOU0FORV9TS0lQXyR7UE59ID0gImRldi1zbyIKKworUkRFUEVORFNfJHtQTn0gPSAiYmluZCBkYnVzIGxpYmxkYiBsaWJwYW0iCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc3VyaWNhdGEvc3VyaWNhdGEuaW5jIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3N1cmljYXRhL3N1cmljYXRhLmluYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWY0MjEyMS4uMDAwMDAwMAotLS0gYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc3VyaWNhdGEvc3VyaWNhdGEuaW5jCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1IT01FUEFHRSA9ICJodHRwOi8vc3VyaWNhdGEtaWRzLm9yZy8iCi1TRUNUSU9OID0gInNlY3VyaXR5IE1vbml0b3IvQWRtaW4iCi1MSUNFTlNFID0gIkdQTHYyIgotCi1WRVIgPSAiNC4wLjUiCi1TUkNfVVJJID0gImh0dHA6Ly93d3cub3BlbmluZm9zZWNmb3VuZGF0aW9uLm9yZy9kb3dubG9hZC9zdXJpY2F0YS0ke1ZFUn0udGFyLmd6IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiZWEwY2I4MjNkNmE4NjU2ODE1MmY3NWFkZTZkZTQ0MmYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzRkYWNiNDM1OWQ1N2ZiZDM0NTJlMzg0ZWVlYjFkZDc3YjZhZTAwZjAyZTk5OTRhZDVhN2I0NjFkNWY0YzZjMiIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zdXJpY2F0YS9zdXJpY2F0YV80LjAuNS5iYiBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zdXJpY2F0YS9zdXJpY2F0YV80LjAuNS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmMwYTEwOS4uMDAwMDAwMAotLS0gYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc3VyaWNhdGEvc3VyaWNhdGFfNC4wLjUuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw5NiArMCwwIEBACi1TVU1NQVJZID0gIlRoZSBTdXJpY2F0YSBFbmdpbmUgaXMgYW4gT3BlbiBTb3VyY2UgTmV4dCBHZW5lcmF0aW9uIEludHJ1c2lvbiBEZXRlY3Rpb24gYW5kIFByZXZlbnRpb24gRW5naW5lIgotCi1yZXF1aXJlIHN1cmljYXRhLmluYwotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO2JlZ2lubGluZT0xO2VuZGxpbmU9MjttZDU9YzcwZDhkMzMxMDk0MWRjZGZjZDFlMDI4MDBhMWY1NDgiCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly9lbWVyZ2luZy5ydWxlcy50YXIuZ3o7bmFtZT1ydWxlcyIKLQotU1JDX1VSSSArPSAiIFwKLSAgICAgICAgICAgZmlsZTovL3ZvbGF0aWxlcy4wM19zdXJpY2F0YSBcCi0gICAgICAgICAgIGZpbGU6Ly9zdXJpY2F0YS55YW1sIFwKLSAgICAgICAgICAgZmlsZTovL3N1cmljYXRhLnNlcnZpY2UgXAotICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW3J1bGVzLm1kNXN1bV0gPSAiMjA1YzVlNWI1NGU0ODkyMDdlZDg5MmMwM2FkNzViMzMiCi1TUkNfVVJJW3J1bGVzLnNoYTI1NnN1bV0gPSAiNGFhODEwMTFiMjQ2ODc1YTU3MTgxYzZhMDU2OWNhODg3ODQ1ZTM2NjkwNGJjYWYwMDQzMjIwZjMzYmQ2OTc5OCIKLQotaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZyBweXRob24tZGlyIHN5c3RlbWQgcHRlc3QKLQotQ0ZMQUdTICs9ICItRF9ERUZBVUxUX1NPVVJDRSIKLQotQ0FDSEVEX0NPTkZJR1VSRVZBUlMgPSAiYWNfY3ZfaGVhZGVyX2h0cF9odHBfaD15ZXMgYWNfY3ZfbGliX2h0cF9odHBfY29ubl9jcmVhdGU9eWVzIFwKLSAgICAgICAgICAgICAgICAgICAgICAgIGFjX2N2X3BhdGhfSEFWRV9XR0VUPW5vIGFjX2N2X3BhdGhfSEFWRV9DVVJMPW5vICIKLQotRVhUUkFfT0VDT05GICs9ICIgLS1kaXNhYmxlLWRlYnVnIFwKLSAgICAtLWVuYWJsZS1ub24tYnVuZGxlZC1odHAgXAotICAgIC0tZGlzYWJsZS1nY2NtYXJjaC1uYXRpdmUgXAotICAgICIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gImh0cCBqYW5zc29uIGZpbGUgcGNyZSB5YW1sIHBjYXAgY2FwLW5nIG5ldCBuZm5ldGxpbmsgbnNzIG5zcHIiCi1QQUNLQUdFQ09ORklHX2FwcGVuZCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwdGVzdCcsICd1bml0dGVzdHMnLCAnJywgZCl9IgotCi1QQUNLQUdFQ09ORklHW2h0cF0gPSAiLS13aXRoLWxpYmh0cC1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSAtLXdpdGgtbGliaHRwLWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwgLGxpYmh0cCwiCi1QQUNLQUdFQ09ORklHW3BjcmVdID0gIi0td2l0aC1saWJwY3JlLWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9IC0td2l0aC1saWJwY3JlLWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwgLGxpYnBjcmUgLCIgCi1QQUNLQUdFQ09ORklHW3lhbWxdID0gIi0td2l0aC1saWJ5YW1sLWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9IC0td2l0aC1saWJ5YW1sLWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwgLGxpYnlhbWwgLCIKLVBBQ0tBR0VDT05GSUdbcGNhcF0gPSAiLS13aXRoLWxpYnBjYXAtaW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gLS13aXRoLWxpYnBjYXAtbGlicmFyaWVzPSR7U1RBR0lOR19MSUJESVJ9LCAsbGlicGNhcCAsIiAKLVBBQ0tBR0VDT05GSUdbY2FwLW5nXSA9ICItLXdpdGgtbGliY2FwX25nLWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9IC0td2l0aC1saWJjYXBfbmctbGlicmFyaWVzPSR7U1RBR0lOR19MSUJESVJ9LCAsbGliY2FwLW5nICwgIgotUEFDS0FHRUNPTkZJR1tuZXRdID0gIi0td2l0aC1saWJuZXQtaW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gLS13aXRoLWxpYm5ldC1saWJyYXJpZXM9JHtTVEFHSU5HX0xJQkRJUn0sICwgbGlibmV0LCIgCi1QQUNLQUdFQ09ORklHW25mbmV0bGlua10gPSAiLS13aXRoLWxpYm5mbmV0bGluay1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSAtLXdpdGgtbGlibmZuZXRsaW5rLWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwgLGxpYm5mbmV0bGluayAsIgotUEFDS0FHRUNPTkZJR1tuZnFdID0gIi0tZW5hYmxlLW5mcXVldWUsIC0tZGlzYWJsZS1uZnF1ZXVlLGxpYm5ldGZpbHRlci1xdWV1ZSwiCi0KLVBBQ0tBR0VDT05GSUdbamFuc3Nvbl0gPSAiLS13aXRoLWxpYmphbnNzb24taW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gLS13aXRoLWxpYmphbnNzb24tbGlicmFyaWVzPSR7U1RBR0lOR19MSUJESVJ9LCxqYW5zc29uLCBqYW5zc29uIgotUEFDS0FHRUNPTkZJR1tmaWxlXSA9ICIsLGZpbGUsIGZpbGUiCi1QQUNLQUdFQ09ORklHW25zc10gPSAiLS13aXRoLWxpYm5zcy1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSAtLXdpdGgtbGlibnNzLWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwgbnNzLCBuc3MsIiAKLVBBQ0tBR0VDT05GSUdbbnNwcl0gPSAiLS13aXRoLWxpYm5zcHItaW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gLS13aXRoLWxpYm5zcHItbGlicmFyaWVzPSR7U1RBR0lOR19MSUJESVJ9LCBuc3ByLCBuc3ByLCIgCi1QQUNLQUdFQ09ORklHW3B5dGhvbl0gPSAiLS1lbmFibGUtcHl0aG9uLCAtLWRpc2FibGUtcHl0aG9uLCBweXRob24sIHB5dGhvbiIgCi1QQUNLQUdFQ09ORklHW3VuaXR0ZXN0c10gPSAiLS1lbmFibGUtdW5pdHRlc3RzLCAtLWRpc2FibGUtdW5pdHRlc3RzLCIgCi0KLWV4cG9ydCBsb2dkaXIgPSAiJHtsb2NhbHN0YXRlZGlyfS9sb2ciCi0KLWRvX2luc3RhbGxfYXBwZW5kICgpIHsKLQotICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vc3VyaWNhdGEKLQotICAgIG9lX3J1bm1ha2UgaW5zdGFsbC1jb25mIERFU1RESVI9JHtEfQotCi0gICAgIyBtaW1pYyBtb3ZlIG9mIGRvd25sb2FkZWQgcnVsZXMgdG8gZV9zeXNjb25mcnVsZXNkaXIKLSAgICBjcCAtcmYgICR7V09SS0RJUn0vcnVsZXMgJHtEfSR7c3lzY29uZmRpcn0vc3VyaWNhdGEKLQotICAgIG9lX3J1bm1ha2UgaW5zdGFsbC1ydWxlcyBERVNURElSPSR7RH0KLQotICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vc3VyaWNhdGEgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMKLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS92b2xhdGlsZXMuMDNfc3VyaWNhdGEgICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzL3ZvbGF0aWxlcy4wM19zdXJpY2F0YQotCi0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vdGhyZXNob2xkLmNvbmZpZyAke0R9JHtzeXNjb25mZGlyfS9zdXJpY2F0YQotCi0gICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotICAgIHNlZCAgLWUgczovZXRjOiR7c3lzY29uZmRpcn06ZyBcCi0gICAgICAgICAtZSBzOi92YXIvcnVuOi9ydW46ZyBcCi0gICAgICAgICAtZSBzOi92YXI6JHtsb2NhbHN0YXRlZGlyfTpnIFwKLSAgICAgICAgIC1lIHM6L3Vzci9iaW46JHtiaW5kaXJ9OmcgXAotICAgICAgICAgLWUgczovYmluL2tpbGw6JHtiYXNlX2JpbmRpcn0va2lsbDpnIFwKLSAgICAgICAgIC1lIHM6L3Vzci9saWI6JHtsaWJkaXJ9OmcgXAotICAgICAgICAgJHtXT1JLRElSfS9zdXJpY2F0YS5zZXJ2aWNlID4gJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc3VyaWNhdGEuc2VydmljZQotCi0gICAgIyBSZW1vdmUgL3Zhci9ydW4gYXMgaXQgaXMgY3JlYXRlZCBvbiBzdGFydHVwCi0gICAgcm0gLXJmICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bgotCi19Ci0KLXBrZ19wb3N0aW5zdF9vbnRhcmdldF8ke1BOfSAoKSB7Ci1pZiBbIC1lIC9ldGMvaW5pdC5kL3BvcHVsYXRlLXZvbGF0aWxlLnNoIF0gOyB0aGVuCi0gICAgJHtzeXNjb25mZGlyfS9pbml0LmQvcG9wdWxhdGUtdm9sYXRpbGUuc2ggdXBkYXRlCi1maQotfQotCi1TWVNURU1EX1BBQ0tBR0VTID0gIiR7UE59IgotCi1QQUNLQUdFUyA9KyAiJHtQTn0tc29ja2V0Y29udHJvbCIKLUZJTEVTXyR7UE59ICs9ICIke3N5c3RlbWRfdW5pdGRpcn0iCi1GSUxFU18ke1BOfS1zb2NrZXRjb250cm9sID0gIiR7YmluZGlyfS9zdXJpY2F0YXNjICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IgotCi1DT05GRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfS9zdXJpY2F0YS9zdXJpY2F0YS55YW1sIgotCi1SREVQRU5EU18ke1BOfS1weXRob24gPSAicHl0aG9uIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3RyaXB3aXJlL3RyaXB3aXJlXzIuNC4zLjYuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvdHJpcHdpcmUvdHJpcHdpcmVfMi40LjMuNi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTlkMWYzNS4uMDAwMDAwMAotLS0gYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvdHJpcHdpcmUvdHJpcHdpcmVfMi40LjMuNi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDczICswLDAgQEAKLVNVTU1BUlkgPSAiVHJpcHdpcmU6IEEgc3lzdGVtIGludGVncml0eSBhc3Nlc3NtZW50IHRvb2wgKElEUykiCi1ERVNDUklQVElPTiA9ICJPcGVuIFNvdXJjZSBUcmlwd2lyZcKuIHNvZnR3YXJlIGlzIGEgc2VjdXJpdHkgYW5kIGRhdGEgXAotaW50ZWdyaXR5IHRvb2wgdXNlZnVsIGZvciBtb25pdG9yaW5nIGFuZCBhbGVydGluZyBvbiBzcGVjaWZpYyBmaWxlIGNoYW5nZShzKSBvbiBhIHJhbmdlIG9mIHN5c3RlbXMiCi1IT01FUEFHRT0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy90cmlwd2lyZSIKLVNFQ1RJT04gPSAic2VjdXJpdHkgTW9uaXRvci9BZG1pbiIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xYzA2OWJlOGRiYmU0OGU4OWI1ODBhYjRlZDg2YzEyNyIKLQotU1JDUkVWID0gIjgwZGI5MWI0YzFjYTRiZTllZmFmZDIyODZlM2IyYWQzMmJhNGMzNGMiCi0KLVNSQ19VUkkgPSAiXAotCWdpdDovL2dpdGh1Yi5jb20vVHJpcHdpcmUvdHJpcHdpcmUtb3Blbi1zb3VyY2UuZ2l0IFwKLQlmaWxlOi8vdHJpcHdpcmUuY3JvbiBcCi0JZmlsZTovL3RyaXB3aXJlLnNoIFwKLQlmaWxlOi8vdHJpcHdpcmUudHh0IFwKLQlmaWxlOi8vdHdjZmcudHh0IFwKLQlmaWxlOi8vdHdpbnN0YWxsLnNoIFwKLQlmaWxlOi8vdHdwb2wteW9jdG8udHh0IFwKLQlmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCB1cGRhdGUtcmMuZCBwdGVzdAotCi1JTklUU0NSSVBUX05BTUUgPSAidHJpcHdpcmUiCi1JTklUU0NSSVBUX1BBUkFNUyA9ICJzdGFydCA0MCBTIC4iCi1UUklQV0lSRV9IT1NUID0gIiR7SE9TVF9TWVN9IgotVFJJUFdJUkVfVEFSR0VUID0gIiR7VEFSR0VUX1NZU30iCi0KLUNYWEZMQUdTICs9ICItZm5vLXN0cmljdC1hbGlhc2luZyIKLUVYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtb3BlbnNzbCAgLS1lbmFibGUtc3RhdGljIC0tc3lzY29uZmRpcj0vZXRjL3RyaXB3aXJlIgotCi1kb19pbnN0YWxsICgpIHsKLSAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0gJHtEfSR7ZGF0YWRpcn0gJHtEfSR7YmFzZV9saWJkaXJ9Ci0gICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfSAke0R9JHttYW5kaXJ9ICR7RH0ke3NiaW5kaXJ9Ci0gICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS8ke1BOfQotICAgIGluc3RhbGwgLWQgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliLyR7UE59ICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi8ke0JQTn0vcmVwb3J0Ci0gICAgaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjQgJHtEfSR7bWFuZGlyfS9tYW41ICR7RH0ke21hbmRpcn0vbWFuOAotICAgIGluc3RhbGwgLWQgJHtEfSR7ZG9jZGlyfS8ke0JQTn0gJHtEfSR7ZG9jZGlyfS8ke0JQTn0vdGVtcGxhdGVzCi0gICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKLQotICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L2Jpbi8qICR7RH0ke3NiaW5kaXJ9Ci0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vbGliLyogJHtEfSR7YmFzZV9saWJkaXJ9Ci0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vbGliLyogJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliLyR7UE59Ci0gICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vdHJpcHdpcmUuY3JvbiAke0R9JHtzeXNjb25mZGlyfQotICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3RyaXB3aXJlLnNoICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC90cmlwd2lyZQotICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3R3aW5zdGFsbC5zaCAke0R9JHtzeXNjb25mZGlyfS8ke1BOfQotICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3R3cG9sLXlvY3RvLnR4dCAke0R9JHtzeXNjb25mZGlyfS8ke1BOfS90d3BvbC50eHQKLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS90d2NmZy50eHQgJHtEfSR7c3lzY29uZmRpcn0vJHtQTn0KLQotICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L21hbi9tYW40LyogJHtEfSR7bWFuZGlyfS9tYW40Ci0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vbWFuL21hbjUvKiAke0R9JHttYW5kaXJ9L21hbjUKLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9tYW4vbWFuOC8qICR7RH0ke21hbmRpcn0vbWFuOAotICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3BvbGljeS90ZW1wbGF0ZXMvKiAke0R9JHtkb2NkaXJ9LyR7QlBOfS90ZW1wbGF0ZXMKLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9wb2xpY3kvKnR4dCAke0R9JHtkb2NkaXJ9LyR7QlBOfQotICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L0NPUFlJTkcgJHtEfSR7ZG9jZGlyfS8ke0JQTn0KLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9UUkFERU1BUksgJHtEfSR7ZG9jZGlyfS8ke0JQTn0KLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS90cmlwd2lyZS50eHQgJHtEfSR7ZG9jZGlyfS8ke0JQTn0KLX0KLQotZG9faW5zdGFsbF9wdGVzdF9hcHBlbmQgKCkgewotCWluc3RhbGwgLWQgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMKLQljcCAtYSAke1N9L3NyYy90ZXN0LWhhcm5lc3MvKiAke0R9JHtQVEVTVF9QQVRIfQotfQotCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9ICR7ZG9jZGlyfS8ke1BOfS8qIgotRklMRVNfJHtQTn0tZGJnICs9ICIke3N5c2NvbmZkaXJ9LyR7UE59Ly5kZWJ1ZyIKLUZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsb2NhbHN0YXRlZGlyfS9saWIvJHtQTn0vbGliKi5hIgotRklMRVNfJHtQTn0tcHRlc3QgKz0gIiR7UFRFU1RfUEFUSH0vdGVzdHMgIgotCi1SREVQRU5EU18ke1BOfSArPSAiIHBlcmwgbmFubyBtc210cCBjcm9uaWUiCi1SREVQRU5EU18ke1BOfS1wdGVzdCA9ICIgcGVybCBsaWItcGVybCIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS94bWxzZWMxL3htbHNlYzFfMS4yLjI2LmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3htbHNlYzEveG1sc2VjMV8xLjIuMjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJkYmJmMzMuLjAwMDAwMDAKLS0tIGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3htbHNlYzEveG1sc2VjMV8xLjIuMjYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi1TVU1NQVJZID0gIlhNTCBTZWN1cml0eSBMaWJyYXJ5IGlzIGEgQyBsaWJyYXJ5IGJhc2VkIG9uIExpYlhNTDIiCi1ERVNDUklQVElPTiA9ICJcCi0gICAgWE1MIFNlY3VyaXR5IExpYnJhcnkgaXMgYSBDIGxpYnJhcnkgYmFzZWQgb24gXAotICAgIExpYlhNTDIgYW5kIE9wZW5TU0wuIFRoZSBsaWJyYXJ5IHdhcyBjcmVhdGVkIHdpdGggYSBnb2FsIHRvIHN1cHBvcnQgbWFqb3IgXAotICAgIFhNTCBzZWN1cml0eSBzdGFuZGFyZHMgIlhNTCBEaWdpdGFsIFNpZ25hdHVyZSIgYW5kICJYTUwgRW5jcnlwdGlvbiIuIFwKLSAgICAiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iCi1ERVBFTkRTID0gImxpYnRvb2wgbGlieG1sMiBsaWJ4c2x0IG9wZW5zc2wgemxpYiBsaWJnY3J5cHQgZ251dGxzIG5zcyBuc3ByIGxpYmdwZy1lcnJvciIKLQotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zNTI3OTFkNjIwOTJlYTgxMDRmMDg1MDQyZGU3ZjRkMCIKLQotU0VDVElPTiA9ICJsaWJzIgotCi1TUkNfVVJJID0gImh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjL2Rvd25sb2FkLyR7QlB9LnRhci5neiBcCi0gICAgZmlsZTovL2ZpeC1sdG1haW4uc2gucGF0Y2ggXAotICAgIGZpbGU6Ly9jaGFuZ2UtZmluZGluZy1wYXRoLW9mLW5zcy5wYXRjaCBcCi0gICAgZmlsZTovL21ha2VmaWxlLXB0ZXN0LnBhdGNoIFwKLSAgICBmaWxlOi8veG1sc2VjMS1leGFtcGxlcy1hbGxvdy1idWlsZC1pbi1zZXBhcmF0ZS1kaXIucGF0Y2ggXAotICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAotICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gIjljNGFhZjlmZjYxNWE3MzkyMWI5ZTNiZjQ5ODhkODc4IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhkODI3NmM5YzcyMGNhNDJhM2IwMDIzZGY4YjdhZTQxYTJkNmM1ZjlhYThkMjBlZDE2NzJkODRjYzg5ODJkNTAiCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwdGVzdCBwa2djb25maWcKLQotQ0ZMQUdTICs9ICItSSR7U1RBR0lOR19JTkNESVJ9L25zcHI0IC1JJHtTVEFHSU5HX0lOQ0RJUn0vbnNzMyIKLUNQUEZMQUdTICs9ICItSSR7U1RBR0lOR19JTkNESVJ9L25zcHI0IC1JJHtTVEFHSU5HX0lOQ0RJUn0vbnNzMyIKLQotRVhUUkFfT0VDT05GID0gIlwKLSAgICAtLXdpdGgtbnNzPSR7U1RBR0lOR19MSUJESVJ9Ly4uLy4uIC0td2l0aC1uc3ByPSR7U1RBR0lOR19MSUJESVJ9Ly4uLy4uIFwKLSAgICAiCi0KLUZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L3htbHNlYzFDb25mLnNoIgotRklMRVNfJHtQTn0tZGJnICs9ICIke1BURVNUX1BBVEh9Ly5kZWJ1Zy8qIgotCi1SREVQRU5EU18ke1BOfS1wdGVzdCArPSAiJHtQTn0tZGV2IgotSU5TQU5FX1NLSVBfJHtQTn0tcHRlc3QgKz0gImRldi1kZXBzIgotCi1QVEVTVF9FWFRSQV9BUkdTID0gInRvcF9zcmNkaXI9JHtTfSB0b3BfYnVpbGRkaXI9JHtCfSIKLQotZG9fY29tcGlsZV9wdGVzdCAoKSB7Ci0gICAgb2VfcnVubWFrZSAtQyAke1N9L2V4YW1wbGVzICR7UFRFU1RfRVhUUkFfQVJHU30gYWxsCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIGZvciBpIGluICR7YmluZGlyfS94bWxzZWMxLWNvbmZpZyAke2xpYmRpcn0veG1sc2VjMUNvbmYuc2ggXAotICAgICAgICAke2xpYmRpcn0vcGtnY29uZmlnL3htbHNlYzEtb3BlbnNzbC5wYzsgZG8KLSAgICAgICAgc2VkIC1pIC1lICJzQCR7UkVDSVBFX1NZU1JPT1R9QEBnIiAke0R9JGkKLSAgICBkb25lCi19Ci0KLWRvX2luc3RhbGxfcHRlc3QgKCkgewotICAgIG9lX3J1bm1ha2UgLUMgJHtTfS9leGFtcGxlcyBERVNURElSPSR7RH0ke1BURVNUX1BBVEh9ICR7UFRFU1RfRVhUUkFfQVJHU30gaW5zdGFsbC1wdGVzdAotfQpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3htbHNlYzEveG1sc2VjMV8xLjIuMjcuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkveG1sc2VjMS94bWxzZWMxXzEuMi4yNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYWM4ZDZiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3htbHNlYzEveG1sc2VjMV8xLjIuMjcuYmIKQEAgLTAsMCArMSw2NCBAQAorU1VNTUFSWSA9ICJYTUwgU2VjdXJpdHkgTGlicmFyeSBpcyBhIEMgbGlicmFyeSBiYXNlZCBvbiBMaWJYTUwyIgorREVTQ1JJUFRJT04gPSAiXAorICAgIFhNTCBTZWN1cml0eSBMaWJyYXJ5IGlzIGEgQyBsaWJyYXJ5IGJhc2VkIG9uIFwKKyAgICBMaWJYTUwyIGFuZCBPcGVuU1NMLiBUaGUgbGlicmFyeSB3YXMgY3JlYXRlZCB3aXRoIGEgZ29hbCB0byBzdXBwb3J0IG1ham9yIFwKKyAgICBYTUwgc2VjdXJpdHkgc3RhbmRhcmRzICJYTUwgRGlnaXRhbCBTaWduYXR1cmUiIGFuZCAiWE1MIEVuY3J5cHRpb24iLiBcCisgICAgIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIgorREVQRU5EUyA9ICJsaWJ0b29sIGxpYnhtbDIgbGlieHNsdCB6bGliIgorCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTM1Mjc5MWQ2MjA5MmVhODEwNGYwODUwNDJkZTdmNGQwIgorCitTRUNUSU9OID0gImxpYnMiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvZG93bmxvYWQvJHtCUH0udGFyLmd6IFwKKyAgICBmaWxlOi8vZml4LWx0bWFpbi5zaC5wYXRjaCBcCisgICAgZmlsZTovL2NoYW5nZS1maW5kaW5nLXBhdGgtb2YtbnNzLnBhdGNoIFwKKyAgICBmaWxlOi8vbWFrZWZpbGUtcHRlc3QucGF0Y2ggXAorICAgIGZpbGU6Ly94bWxzZWMxLWV4YW1wbGVzLWFsbG93LWJ1aWxkLWluLXNlcGFyYXRlLWRpci5wYXRjaCBcCisgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNTA4YmVlN2U0ZjFiOTlmMmQ1MGFhYTdkMzhlZGU1NmUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTdkNzU2YmFkOGU5MjU4OGU2OTk3ZDIyMjc3OTdlYWE5MDBkMDVlMzRhNDI2ODI5YjE0OWY2NWQ4NzExOGViNiIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHB0ZXN0IHBrZ2NvbmZpZworCitDRkxBR1MgKz0gIi1JJHtTVEFHSU5HX0lOQ0RJUn0vbnNwcjQgLUkke1NUQUdJTkdfSU5DRElSfS9uc3MzIgorQ1BQRkxBR1MgKz0gIi1JJHtTVEFHSU5HX0lOQ0RJUn0vbnNwcjQgLUkke1NUQUdJTkdfSU5DRElSfS9uc3MzIgorCitQQUNLQUdFQ09ORklHID8/PSAiZ251dGxzIGxpYmdjcnlwdCBuc3Mgb3BlbnNzbCBkZXMiCitQQUNLQUdFQ09ORklHW2dudXRsc10gPSAiLCxnbnV0bHMiCitQQUNLQUdFQ09ORklHW2xpYmdjcnlwdF0gPSAiLCxsaWJnY3J5cHQiCitQQUNLQUdFQ09ORklHW25zc10gPSAiLS13aXRoLW5zcz0ke1NUQUdJTkdfTElCRElSfS8uLi8uLiAtLXdpdGgtbnNwcj0ke1NUQUdJTkdfTElCRElSfS8uLi8uLiwsbnNzIG5zcHIiCitQQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIiwsb3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbZGVzXSA9ICIsLS1kaXNhYmxlLWRlcywsIgorCisjIHRoZXNlIGNhbiBiZSBkeW5hbWljYWxseSBsb2FkZWQgd2l0aCB4bWxTZWNDcnlwdG9ETExvYWRMaWJyYXJ5KCkKK0ZJTEVTX1NPTElCU0RFViA9ICIke2xpYmRpcn0vbGlieG1sc2VjMS5zbyIKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vbGlieG1sc2VjMS0qLnNvIgorSU5TQU5FX1NLSVBfJHtQTn0gPSAiZGV2LXNvIgorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS94bWxzZWMxQ29uZi5zaCIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtQVEVTVF9QQVRIfS8uZGVidWcvKiIKKworUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIiR7UE59LWRldiIKK0lOU0FORV9TS0lQXyR7UE59LXB0ZXN0ICs9ICJkZXYtZGVwcyIKKworUFRFU1RfRVhUUkFfQVJHUyA9ICJ0b3Bfc3JjZGlyPSR7U30gdG9wX2J1aWxkZGlyPSR7Qn0iCisKK2RvX2NvbXBpbGVfcHRlc3QgKCkgeworICAgIG9lX3J1bm1ha2UgLUMgJHtTfS9leGFtcGxlcyAke1BURVNUX0VYVFJBX0FSR1N9IGFsbAorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBmb3IgaSBpbiAke2JpbmRpcn0veG1sc2VjMS1jb25maWcgJHtsaWJkaXJ9L3htbHNlYzFDb25mLnNoIFwKKyAgICAgICAgJHtsaWJkaXJ9L3BrZ2NvbmZpZy94bWxzZWMxLW9wZW5zc2wucGM7IGRvCisgICAgICAgIHNlZCAtaSAtZSAic0Ake1JFQ0lQRV9TWVNST09UfUBAZyIgJHtEfSRpCisgICAgZG9uZQorfQorCitkb19pbnN0YWxsX3B0ZXN0ICgpIHsKKyAgICBvZV9ydW5tYWtlIC1DICR7U30vZXhhbXBsZXMgREVTVERJUj0ke0R9JHtQVEVTVF9QQVRIfSAke1BURVNUX0VYVFJBX0FSR1N9IGluc3RhbGwtcHRlc3QKK30KZGlmZiAtLWdpdCBhL21ldGEteGlsaW54L21ldGEteGlsaW54LWJzcC9jb25mL21hY2hpbmUvaW5jbHVkZS9tYWNoaW5lLXhpbGlueC1ib2FyZC5pbmMgYi9tZXRhLXhpbGlueC9tZXRhLXhpbGlueC1ic3AvY29uZi9tYWNoaW5lL2luY2x1ZGUvbWFjaGluZS14aWxpbngtYm9hcmQuaW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNzA0MWU0Li4wMDAwMDAwCi0tLSBhL21ldGEteGlsaW54L21ldGEteGlsaW54LWJzcC9jb25mL21hY2hpbmUvaW5jbHVkZS9tYWNoaW5lLXhpbGlueC1ib2FyZC5pbmMKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLSMgRGVmYXVsdCBYaWxpbnggQm9hcmQgc2V0dGluZ3MKLQotRVhUUkFfSU1BR0VERVBFTkRTICs9ICJ2aXJ0dWFsL2Jvb3Rsb2FkZXIiCi0KZGlmZiAtLWdpdCBhL21ldGEteGlsaW54L21ldGEteGlsaW54LWJzcC9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXp5bnFtcC5pbmMgYi9tZXRhLXhpbGlueC9tZXRhLXhpbGlueC1ic3AvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS16eW5xbXAuaW5jCmluZGV4IDIyNWZhNjUuLmNiZmE0N2IgMTAwNjQ0Ci0tLSBhL21ldGEteGlsaW54L21ldGEteGlsaW54LWJzcC9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXp5bnFtcC5pbmMKKysrIGIvbWV0YS14aWxpbngvbWV0YS14aWxpbngtYnNwL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtenlucW1wLmluYwpAQCAtOCw3ICs4LDcgQEAKIAogU09DX1ZBUklBTlQgPz0gImVnIgogCi1yZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY4LmluYworcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12OGEuaW5jCiByZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL3NvYy1mYW1pbHkuaW5jCiAKICMgTGludXggQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEvbWV0YS14aWxpbngvbWV0YS14aWxpbngtc3RhbmRhbG9uZS9yZWNpcGVzLXN0YW5kYWxvbmUvcG11LWZpcm13YXJlL3BtdS1maXJtd2FyZV8yMDE4LjMuYmIgYi9tZXRhLXhpbGlueC9tZXRhLXhpbGlueC1zdGFuZGFsb25lL3JlY2lwZXMtc3RhbmRhbG9uZS9wbXUtZmlybXdhcmUvcG11LWZpcm13YXJlXzIwMTguMy5iYgppbmRleCA4NDdlMDcxLi4zNDMyYzFmIDEwMDY0NAotLS0gYS9tZXRhLXhpbGlueC9tZXRhLXhpbGlueC1zdGFuZGFsb25lL3JlY2lwZXMtc3RhbmRhbG9uZS9wbXUtZmlybXdhcmUvcG11LWZpcm13YXJlXzIwMTguMy5iYgorKysgYi9tZXRhLXhpbGlueC9tZXRhLXhpbGlueC1zdGFuZGFsb25lL3JlY2lwZXMtc3RhbmRhbG9uZS9wbXUtZmlybXdhcmUvcG11LWZpcm13YXJlXzIwMTguMy5iYgpAQCAtMjMsNiArMjMsOSBAQAogICAgICMgbWFudWFsbHkgZG8gdGhlIGNvcHlfYnNwIHN0ZXAgZmlyc3QsIHNvIGFzIHRvIGJlIGFibGUgdG8gZml4IHVwIHVzZSBvZgogICAgICMgbWItKiBjb21tYW5kcwogICAgICR7U30vLi4vbWlzYy9jb3B5X2JzcC5zaAorCisgICAgIyBmaXggeGlsZnBnYSB0byBpbmNsdWRlIHRoZSB6eW5xbXAgYmFja2VuZAorICAgIG12ICR7U30vLi4vbWlzYy96eW5xbXBfcG11ZndfYnNwL3BzdV9wbXVfMC9saWJzcmMveGlsZnBnYS9zcmMvaW50ZXJmYWNlL3p5bnFtcC8qICR7U30vLi4vbWlzYy96eW5xbXBfcG11ZndfYnNwL3BzdV9wbXVfMC9saWJzcmMveGlsZnBnYS9zcmMKIH0KIAogQ09NUElMRVIgPSAiJHtDQ30iCmRpZmYgLS1naXQgYS9wb2t5L1JFQURNRS5PRS1Db3JlIGIvcG9reS9SRUFETUUuT0UtQ29yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjE5MTZjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9SRUFETUUuT0UtQ29yZQpAQCAtMCwwICsxLDI5IEBACitPcGVuRW1iZWRkZWQtQ29yZQorPT09PT09PT09PT09PT09PT0KKworT3BlbkVtYmVkZGVkLUNvcmUgaXMgYSBsYXllciBjb250YWluaW5nIHRoZSBjb3JlIG1ldGFkYXRhIGZvciBjdXJyZW50IHZlcnNpb25zCitvZiBPcGVuRW1iZWRkZWQuIEl0IGlzIGRpc3Ryby1sZXNzIChjYW4gYnVpbGQgYSBmdW5jdGlvbmFsIGltYWdlIHdpdGgKK0RJU1RSTyA9ICJub2Rpc3RybyIpIGFuZCBjb250YWlucyBvbmx5IGVtdWxhdGVkIG1hY2hpbmUgc3VwcG9ydC4KKworRm9yIGluZm9ybWF0aW9uIGFib3V0IE9wZW5FbWJlZGRlZCwgc2VlIHRoZSBPcGVuRW1iZWRkZWQgd2Vic2l0ZToKKyAgICBodHRwOi8vd3d3Lm9wZW5lbWJlZGRlZC5vcmcvCisKK1RoZSBZb2N0byBQcm9qZWN0IGhhcyBleHRlbnNpdmUgZG9jdW1lbnRhdGlvbiBhYm91dCBPRSBpbmNsdWRpbmcgYSByZWZlcmVuY2UgbWFudWFsCit3aGljaCBjYW4gYmUgZm91bmQgYXQ6CisgICAgaHR0cDovL3lvY3RvcHJvamVjdC5vcmcvZG9jdW1lbnRhdGlvbgorCisKK0NvbnRyaWJ1dGluZworLS0tLS0tLS0tLS0tCisKK1BsZWFzZSByZWZlciB0bworaHR0cDovL3d3dy5vcGVuZW1iZWRkZWQub3JnL3dpa2kvSG93X3RvX3N1Ym1pdF9hX3BhdGNoX3RvX09wZW5FbWJlZGRlZAorZm9yIGd1aWRlbGluZXMgb24gaG93IHRvIHN1Ym1pdCBwYXRjaGVzLgorCitNYWlsaW5nIGxpc3Q6CisKKyAgICBodHRwOi8vbGlzdHMub3BlbmVtYmVkZGVkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL29wZW5lbWJlZGRlZC1jb3JlCisKK1NvdXJjZSBjb2RlOgorCisgICAgaHR0cDovL2dpdC5vcGVuZW1iZWRkZWQub3JnL29wZW5lbWJlZGRlZC1jb3JlLwpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlLy5naXRhdHRyaWJ1dGVzIGIvcG9reS9iaXRiYWtlLy5naXRhdHRyaWJ1dGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0ZjhmNjIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L2JpdGJha2UvLmdpdGF0dHJpYnV0ZXMKQEAgLTAsMCArMSwyIEBACisqbWluLmpzIGJpbmFyeQorKm1pbi5jc3MgYmluYXJ5CmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvYmluL2JpdGJha2UtaGFzaHNlcnYgYi9wb2t5L2JpdGJha2UvYmluL2JpdGJha2UtaGFzaHNlcnYKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzQ5Mzk3YgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvYml0YmFrZS9iaW4vYml0YmFrZS1oYXNoc2VydgpAQCAtMCwwICsxLDY3IEBACisjISAvdXNyL2Jpbi9lbnYgcHl0aG9uMworIworIyBDb3B5cmlnaHQgKEMpIDIwMTggR2FybWluIEx0ZC4KKyMKKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisjIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisjIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2ltcG9ydCBsb2dnaW5nCitpbXBvcnQgYXJncGFyc2UKK2ltcG9ydCBzcWxpdGUzCisKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykpLCdsaWInKSkKKworaW1wb3J0IGhhc2hzZXJ2CisKK1ZFUlNJT04gPSAiMS4wLjAiCisKK0RFRkFVTFRfSE9TVCA9ICcnCitERUZBVUxUX1BPUlQgPSA4Njg2CisKK2RlZiBtYWluKCk6CisgICAgcGFyc2VyID0gYXJncGFyc2UuQXJndW1lbnRQYXJzZXIoZGVzY3JpcHRpb249J0hUVFAgRXF1aXZhbGVuY2UgUmVmZXJlbmNlIFNlcnZlci4gVmVyc2lvbj0lcycgJSBWRVJTSU9OKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tYWRkcmVzcycsIGRlZmF1bHQ9REVGQVVMVF9IT1NULCBoZWxwPSdCaW5kIGFkZHJlc3MgKGRlZmF1bHQgIiUoZGVmYXVsdClzIiknKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tcG9ydCcsIHR5cGU9aW50LCBkZWZhdWx0PURFRkFVTFRfUE9SVCwgaGVscD0nQmluZCBwb3J0IChkZWZhdWx0ICUoZGVmYXVsdClkKScpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1wcmVmaXgnLCBkZWZhdWx0PScnLCBoZWxwPSdIVFRQIHBhdGggcHJlZml4IChkZWZhdWx0ICIlKGRlZmF1bHQpcyIpJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWRhdGFiYXNlJywgZGVmYXVsdD0nLi9oYXNoc2Vydi5kYicsIGhlbHA9J0RhdGFiYXNlIGZpbGUgKGRlZmF1bHQgIiUoZGVmYXVsdClzIiknKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tbG9nJywgZGVmYXVsdD0nV0FSTklORycsIGhlbHA9J1NldCBsb2dnaW5nIGxldmVsJykKKworICAgIGFyZ3MgPSBwYXJzZXIucGFyc2VfYXJncygpCisKKyAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcignaGFzaHNlcnYnKQorCisgICAgbGV2ZWwgPSBnZXRhdHRyKGxvZ2dpbmcsIGFyZ3MubG9nLnVwcGVyKCksIE5vbmUpCisgICAgaWYgbm90IGlzaW5zdGFuY2UobGV2ZWwsIGludCk6CisgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ0ludmFsaWQgbG9nIGxldmVsOiAlcycgJSBhcmdzLmxvZykKKworICAgIGxvZ2dlci5zZXRMZXZlbChsZXZlbCkKKyAgICBjb25zb2xlID0gbG9nZ2luZy5TdHJlYW1IYW5kbGVyKCkKKyAgICBjb25zb2xlLnNldExldmVsKGxldmVsKQorICAgIGxvZ2dlci5hZGRIYW5kbGVyKGNvbnNvbGUpCisKKyAgICBkYiA9IHNxbGl0ZTMuY29ubmVjdChhcmdzLmRhdGFiYXNlKQorCisgICAgc2VydmVyID0gaGFzaHNlcnYuY3JlYXRlX3NlcnZlcigoYXJncy5hZGRyZXNzLCBhcmdzLnBvcnQpLCBkYiwgYXJncy5wcmVmaXgpCisgICAgc2VydmVyLnNlcnZlX2ZvcmV2ZXIoKQorICAgIHJldHVybiAwCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgdHJ5OgorICAgICAgICByZXQgPSBtYWluKCkKKyAgICBleGNlcHQgRXhjZXB0aW9uOgorICAgICAgICByZXQgPSAxCisgICAgICAgIGltcG9ydCB0cmFjZWJhY2sKKyAgICAgICAgdHJhY2ViYWNrLnByaW50X2V4YygpCisgICAgc3lzLmV4aXQocmV0KQorCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvYmluL2JpdGJha2Utc2VsZnRlc3QgYi9wb2t5L2JpdGJha2UvYmluL2JpdGJha2Utc2VsZnRlc3QKaW5kZXggY2ZhN2FjNS4uOTlmMWFmOSAxMDA3NTUKLS0tIGEvcG9reS9iaXRiYWtlL2Jpbi9iaXRiYWtlLXNlbGZ0ZXN0CisrKyBiL3Bva3kvYml0YmFrZS9iaW4vYml0YmFrZS1zZWxmdGVzdApAQCAtMjIsNiArMjIsNyBAQAogaW1wb3J0IHVuaXR0ZXN0CiB0cnk6CiAgICAgaW1wb3J0IGJiCisgICAgaW1wb3J0IGhhc2hzZXJ2CiAgICAgaW1wb3J0IGxheWVyaW5kZXhsaWIKIGV4Y2VwdCBSdW50aW1lRXJyb3IgYXMgZXhjOgogICAgIHN5cy5leGl0KHN0cihleGMpKQpAQCAtMzMsNyArMzQsOSBAQAogICAgICAgICAgImJiLnRlc3RzLmV2ZW50IiwKICAgICAgICAgICJiYi50ZXN0cy5mZXRjaCIsCiAgICAgICAgICAiYmIudGVzdHMucGFyc2UiLAorICAgICAgICAgImJiLnRlc3RzLnBlcnNpc3RfZGF0YSIsCiAgICAgICAgICAiYmIudGVzdHMudXRpbHMiLAorICAgICAgICAgImhhc2hzZXJ2LnRlc3RzIiwKICAgICAgICAgICJsYXllcmluZGV4bGliLnRlc3RzLmxheWVyaW5kZXhvYmoiLAogICAgICAgICAgImxheWVyaW5kZXhsaWIudGVzdHMucmVzdGFwaSIsCiAgICAgICAgICAibGF5ZXJpbmRleGxpYi50ZXN0cy5jb29rZXIiXQpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2Jpbi9iaXRiYWtlLXdvcmtlciBiL3Bva3kvYml0YmFrZS9iaW4vYml0YmFrZS13b3JrZXIKaW5kZXggZTkyNTA1NC4uYTllOTk3ZSAxMDA3NTUKLS0tIGEvcG9reS9iaXRiYWtlL2Jpbi9iaXRiYWtlLXdvcmtlcgorKysgYi9wb2t5L2JpdGJha2UvYmluL2JpdGJha2Utd29ya2VyCkBAIC0xMzYsNyArMTM2LDcgQEAKICAgICBvcy5raWxscGcoMCwgc2lnbmFsLlNJR1RFUk0pCiAgICAgc3lzLmV4aXQoKQogCi1kZWYgZm9ya19vZmZfdGFzayhjZmcsIGRhdGEsIGRhdGFidWlsZGVyLCB3b3JrZXJkYXRhLCBmbiwgdGFzaywgdGFza25hbWUsIGFwcGVuZHMsIHRhc2tkZXBkYXRhLCBleHRyYWNvbmZpZ2RhdGEsIHF1aWV0ZXJyb3JzPUZhbHNlLCBkcnlfcnVuX2V4ZWM9RmFsc2UpOgorZGVmIGZvcmtfb2ZmX3Rhc2soY2ZnLCBkYXRhLCBkYXRhYnVpbGRlciwgd29ya2VyZGF0YSwgZm4sIHRhc2ssIHRhc2tuYW1lLCB0YXNraGFzaCwgdW5paGFzaCwgYXBwZW5kcywgdGFza2RlcGRhdGEsIGV4dHJhY29uZmlnZGF0YSwgcXVpZXRlcnJvcnM9RmFsc2UsIGRyeV9ydW5fZXhlYz1GYWxzZSk6CiAgICAgIyBXZSBuZWVkIHRvIHNldHVwIHRoZSBlbnZpcm9ubWVudCBCRUZPUkUgdGhlIGZvcmssIHNpbmNlCiAgICAgIyBhIGZvcmsoKSBvciBleGVjKigpIGFjdGl2YXRlcyBQU0VVRE8uLi4KIApAQCAtMjM0LDcgKzIzNCw4IEBACiAgICAgICAgICAgICAgICAgcmV0ID0gMAogCiAgICAgICAgICAgICAgICAgdGhlX2RhdGEgPSBiYl9jYWNoZS5sb2FkRGF0YUZ1bGwoZm4sIGFwcGVuZHMpCi0gICAgICAgICAgICAgICAgdGhlX2RhdGEuc2V0VmFyKCdCQl9UQVNLSEFTSCcsIHdvcmtlcmRhdGFbInJ1bnFfaGFzaCJdW3Rhc2tdKQorICAgICAgICAgICAgICAgIHRoZV9kYXRhLnNldFZhcignQkJfVEFTS0hBU0gnLCB0YXNraGFzaCkKKyAgICAgICAgICAgICAgICB0aGVfZGF0YS5zZXRWYXIoJ0JCX1VOSUhBU0gnLCB1bmloYXNoKQogCiAgICAgICAgICAgICAgICAgYmIudXRpbHMuc2V0X3Byb2Nlc3NfbmFtZSgiJXM6JXMiICUgKHRoZV9kYXRhLmdldFZhcigiUE4iKSwgdGFza25hbWUucmVwbGFjZSgiZG9fIiwgIiIpKSkKIApAQCAtNDI1LDEwICs0MjYsMTAgQEAKICAgICAgICAgc3lzLmV4aXQoMCkKIAogICAgIGRlZiBoYW5kbGVfcnVudGFzayhzZWxmLCBkYXRhKToKLSAgICAgICAgZm4sIHRhc2ssIHRhc2tuYW1lLCBxdWlldGVycm9ycywgYXBwZW5kcywgdGFza2RlcGRhdGEsIGRyeV9ydW5fZXhlYyA9IHBpY2tsZS5sb2FkcyhkYXRhKQorICAgICAgICBmbiwgdGFzaywgdGFza25hbWUsIHRhc2toYXNoLCB1bmloYXNoLCBxdWlldGVycm9ycywgYXBwZW5kcywgdGFza2RlcGRhdGEsIGRyeV9ydW5fZXhlYyA9IHBpY2tsZS5sb2FkcyhkYXRhKQogICAgICAgICB3b3JrZXJsb2dfd3JpdGUoIkhhbmRsaW5nIHJ1bnRhc2sgJXMgJXMgJXNcbiIgJSAodGFzaywgZm4sIHRhc2tuYW1lKSkKIAotICAgICAgICBwaWQsIHBpcGVpbiwgcGlwZW91dCA9IGZvcmtfb2ZmX3Rhc2soc2VsZi5jb29rZXJjZmcsIHNlbGYuZGF0YSwgc2VsZi5kYXRhYnVpbGRlciwgc2VsZi53b3JrZXJkYXRhLCBmbiwgdGFzaywgdGFza25hbWUsIGFwcGVuZHMsIHRhc2tkZXBkYXRhLCBzZWxmLmV4dHJhY29uZmlnZGF0YSwgcXVpZXRlcnJvcnMsIGRyeV9ydW5fZXhlYykKKyAgICAgICAgcGlkLCBwaXBlaW4sIHBpcGVvdXQgPSBmb3JrX29mZl90YXNrKHNlbGYuY29va2VyY2ZnLCBzZWxmLmRhdGEsIHNlbGYuZGF0YWJ1aWxkZXIsIHNlbGYud29ya2VyZGF0YSwgZm4sIHRhc2ssIHRhc2tuYW1lLCB0YXNraGFzaCwgdW5paGFzaCwgYXBwZW5kcywgdGFza2RlcGRhdGEsIHNlbGYuZXh0cmFjb25maWdkYXRhLCBxdWlldGVycm9ycywgZHJ5X3J1bl9leGVjKQogCiAgICAgICAgIHNlbGYuYnVpbGRfcGlkc1twaWRdID0gdGFzawogICAgICAgICBzZWxmLmJ1aWxkX3BpcGVzW3BpZF0gPSBydW5RdWV1ZVdvcmtlclBpcGUocGlwZWluLCBwaXBlb3V0KQpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2JpdGJha2UtdXNlci1tYW51YWwtZXhlY3V0aW9uLnhtbCBiL3Bva3kvYml0YmFrZS9kb2MvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLWV4ZWN1dGlvbi54bWwKaW5kZXggZjFjYWFlYy4uNDZkYWZlZSAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2JpdGJha2UtdXNlci1tYW51YWwtZXhlY3V0aW9uLnhtbAorKysgYi9wb2t5L2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1leGVjdXRpb24ueG1sCkBAIC0zMSw3ICszMSw3IEBACiAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICBQcmlvciB0byBleGVjdXRpbmcgQml0QmFrZSwgeW91IHNob3VsZCB0YWtlIGFkdmFudGFnZSBvZiBhdmFpbGFibGUKICAgICAgICAgICAgICAgICBwYXJhbGxlbCB0aHJlYWQgZXhlY3V0aW9uIG9uIHlvdXIgYnVpbGQgaG9zdCBieSBzZXR0aW5nIHRoZQotICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9OVU1CRVJfVEhSRUFEUyc+PGZpbGVuYW1lPkJCX05VTUJFUl9USFJFQURTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX05VTUJFUl9USFJFQURTJz48ZmlsZW5hbWU+QkJfTlVNQkVSX1RIUkVBRFM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICB2YXJpYWJsZSBpbiB5b3VyIHByb2plY3QncyA8ZmlsZW5hbWU+bG9jYWwuY29uZjwvZmlsZW5hbWU+CiAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbiBmaWxlLgogICAgICAgICAgICAgPC9wYXJhPgpAQCAtODcsOSArODcsOSBAQAogICAgICAgICA8cGFyYT4KICAgICAgICAgICAgIFRoZSA8ZmlsZW5hbWU+bGF5ZXIuY29uZjwvZmlsZW5hbWU+IGZpbGVzIGFyZSB1c2VkIHRvCiAgICAgICAgICAgICBjb25zdHJ1Y3Qga2V5IHZhcmlhYmxlcyBzdWNoIGFzCi0gICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJQQVRIJz48ZmlsZW5hbWU+QkJQQVRIPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJQQVRIJz48ZmlsZW5hbWU+QkJQQVRIPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICBhbmQKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQkZJTEVTJz48ZmlsZW5hbWU+QkJGSUxFUzwvZmlsZW5hbWU+PC9saW5rPi4KKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQkZJTEVTJz48ZmlsZW5hbWU+QkJGSUxFUzwvZmlsZW5hbWU+PC9saW5rPi4KICAgICAgICAgICAgIDxmaWxlbmFtZT5CQlBBVEg8L2ZpbGVuYW1lPiBpcyB1c2VkIHRvIHNlYXJjaCBmb3IKICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24gYW5kIGNsYXNzIGZpbGVzIHVuZGVyIHRoZQogICAgICAgICAgICAgPGZpbGVuYW1lPmNvbmY8L2ZpbGVuYW1lPiBhbmQgPGZpbGVuYW1lPmNsYXNzZXM8L2ZpbGVuYW1lPgpAQCAtMTE3LDE5ICsxMTcsMTkgQEAKICAgICAgICAgICAgIGF0IGNlcnRhaW4gdmFyaWFibGVzLCBpbmNsdWRpbmc6CiAgICAgICAgICAgICA8aXRlbWl6ZWRsaXN0PgogICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX0VOVl9XSElURUxJU1QnPjxmaWxlbmFtZT5CQl9FTlZfV0hJVEVMSVNUPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9FTlZfV0hJVEVMSVNUJz48ZmlsZW5hbWU+QkJfRU5WX1dISVRFTElTVDwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+Ci0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9FTlZfRVhUUkFXSElURSc+PGZpbGVuYW1lPkJCX0VOVl9FWFRSQVdISVRFPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9FTlZfRVhUUkFXSElURSc+PGZpbGVuYW1lPkJCX0VOVl9FWFRSQVdISVRFPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX1BSRVNFUlZFX0VOVic+PGZpbGVuYW1lPkJCX1BSRVNFUlZFX0VOVjwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfUFJFU0VSVkVfRU5WJz48ZmlsZW5hbWU+QkJfUFJFU0VSVkVfRU5WPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX09SSUdFTlYnPjxmaWxlbmFtZT5CQl9PUklHRU5WPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9PUklHRU5WJz48ZmlsZW5hbWU+QkJfT1JJR0VOVjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+Ci0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CSVRCQUtFX1VJJz48ZmlsZW5hbWU+QklUQkFLRV9VSTwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQklUQkFLRV9VSSc+PGZpbGVuYW1lPkJJVEJBS0VfVUk8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICA8L2l0ZW1pemVkbGlzdD4KICAgICAgICAgICAgIFRoZSBmaXJzdCBmb3VyIHZhcmlhYmxlcyBpbiB0aGlzIGxpc3QgcmVsYXRlIHRvIGhvdyBCaXRCYWtlIHRyZWF0cyBzaGVsbApAQCAtMTU2LDcgKzE1Niw3IEBACiAgICAgICAgICAgICBCaXRCYWtlIGZpcnN0IHNlYXJjaGVzIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IGZvciBhbgogICAgICAgICAgICAgb3B0aW9uYWwgPGZpbGVuYW1lPmNvbmYvYmJsYXllcnMuY29uZjwvZmlsZW5hbWU+IGNvbmZpZ3VyYXRpb24gZmlsZS4KICAgICAgICAgICAgIFRoaXMgZmlsZSBpcyBleHBlY3RlZCB0byBjb250YWluIGEKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQkxBWUVSUyc+PGZpbGVuYW1lPkJCTEFZRVJTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJMQVlFUlMnPjxmaWxlbmFtZT5CQkxBWUVSUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgdmFyaWFibGUgdGhhdCBpcyBhIHNwYWNlLWRlbGltaXRlZCBsaXN0IG9mICdsYXllcicgZGlyZWN0b3JpZXMuCiAgICAgICAgICAgICBSZWNhbGwgdGhhdCBpZiBCaXRCYWtlIGNhbm5vdCBmaW5kIGEgPGZpbGVuYW1lPmJibGF5ZXJzLmNvbmY8L2ZpbGVuYW1lPgogICAgICAgICAgICAgZmlsZSwgdGhlbiBpdCBpcyBhc3N1bWVkIHRoZSB1c2VyIGhhcyBzZXQgdGhlIDxmaWxlbmFtZT5CQlBBVEg8L2ZpbGVuYW1lPgpAQCAtMTY2LDEwICsxNjYsMTAgQEAKICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICBGb3IgZWFjaCBkaXJlY3RvcnkgKGxheWVyKSBpbiB0aGlzIGxpc3QsIGEgPGZpbGVuYW1lPmNvbmYvbGF5ZXIuY29uZjwvZmlsZW5hbWU+CiAgICAgICAgICAgICBmaWxlIGlzIGxvY2F0ZWQgYW5kIHBhcnNlZCB3aXRoIHRoZQotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUxBWUVSRElSJz48ZmlsZW5hbWU+TEFZRVJESVI8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1MQVlFUkRJUic+PGZpbGVuYW1lPkxBWUVSRElSPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICB2YXJpYWJsZSBiZWluZyBzZXQgdG8gdGhlIGRpcmVjdG9yeSB3aGVyZSB0aGUgbGF5ZXIgd2FzIGZvdW5kLgogICAgICAgICAgICAgVGhlIGlkZWEgaXMgdGhlc2UgZmlsZXMgYXV0b21hdGljYWxseSBzZXQgdXAKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQlBBVEgnPjxmaWxlbmFtZT5CQlBBVEg8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQlBBVEgnPjxmaWxlbmFtZT5CQlBBVEg8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgIGFuZCBvdGhlciB2YXJpYWJsZXMgY29ycmVjdGx5IGZvciBhIGdpdmVuIGJ1aWxkIGRpcmVjdG9yeS4KICAgICAgICAgPC9wYXJhPgogCkBAIC0xODksNyArMTg5LDcgQEAKICAgICAgICAgICAgIGRlcGVuZGluZyBvbiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIHByZXZpb3VzbHkKICAgICAgICAgICAgIG1lbnRpb25lZCBvciBzZXQgaW4gdGhlIGNvbmZpZ3VyYXRpb24gZmlsZXMuCiAgICAgICAgICAgICBUaGUKLSAgICAgICAgICAgICI8bGluayBsaW5rZW5kPSdyZWYtdmFyaWFibGVzLWdsb3MnPlZhcmlhYmxlcyBHbG9zc2FyeTwvbGluaz4iCisgICAgICAgICAgICAiPGxpbmsgbGlua2VuZD0ncmVmLWJiLXZhcmlhYmxlcy1nbG9zJz5WYXJpYWJsZXMgR2xvc3Nhcnk8L2xpbms+IgogICAgICAgICAgICAgY2hhcHRlciBwcmVzZW50cyBhIGZ1bGwgbGlzdCBvZiB2YXJpYWJsZXMuCiAgICAgICAgIDwvcGFyYT4KIApAQCAtMjA0LDcgKzIwNCw3IEBACiAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgVGhlIDxmaWxlbmFtZT5iYXNlLmJiY2xhc3M8L2ZpbGVuYW1lPiBmaWxlIGlzIGFsd2F5cyBpbmNsdWRlZC4KICAgICAgICAgICAgIE90aGVyIGNsYXNzZXMgdGhhdCBhcmUgc3BlY2lmaWVkIGluIHRoZSBjb25maWd1cmF0aW9uIHVzaW5nIHRoZQotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUlOSEVSSVQnPjxmaWxlbmFtZT5JTkhFUklUPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItSU5IRVJJVCc+PGZpbGVuYW1lPklOSEVSSVQ8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgIHZhcmlhYmxlIGFyZSBhbHNvIGluY2x1ZGVkLgogICAgICAgICAgICAgQml0QmFrZSBzZWFyY2hlcyBmb3IgY2xhc3MgZmlsZXMgaW4gYQogICAgICAgICAgICAgPGZpbGVuYW1lPmNsYXNzZXM8L2ZpbGVuYW1lPiBzdWJkaXJlY3RvcnkgdW5kZXIKQEAgLTI3MCw3ICsyNzAsNyBAQAogCiAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgRHVyaW5nIHRoZSBjb25maWd1cmF0aW9uIHBoYXNlLCBCaXRCYWtlIHdpbGwgaGF2ZSBzZXQKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQkZJTEVTJz48ZmlsZW5hbWU+QkJGSUxFUzwvZmlsZW5hbWU+PC9saW5rPi4KKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQkZJTEVTJz48ZmlsZW5hbWU+QkJGSUxFUzwvZmlsZW5hbWU+PC9saW5rPi4KICAgICAgICAgICAgIEJpdEJha2Ugbm93IHVzZXMgaXQgdG8gY29uc3RydWN0IGEgbGlzdCBvZiByZWNpcGVzIHRvIHBhcnNlLAogICAgICAgICAgICAgYWxvbmcgd2l0aCBhbnkgYXBwZW5kIGZpbGVzICg8ZmlsZW5hbWU+LmJiYXBwZW5kPC9maWxlbmFtZT4pCiAgICAgICAgICAgICB0byBhcHBseS4KQEAgLTI5Miw3ICsyOTIsNyBAQAogICAgICAgICAgICAgQW55IGluaGVyaXQgc3RhdGVtZW50cyBjYXVzZSBCaXRCYWtlIHRvIGZpbmQgYW5kCiAgICAgICAgICAgICB0aGVuIHBhcnNlIGNsYXNzIGZpbGVzICg8ZmlsZW5hbWU+LmJiY2xhc3M8L2ZpbGVuYW1lPikKICAgICAgICAgICAgIHVzaW5nCi0gICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJQQVRIJz48ZmlsZW5hbWU+QkJQQVRIPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJQQVRIJz48ZmlsZW5hbWU+QkJQQVRIPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICBhcyB0aGUgc2VhcmNoIHBhdGguCiAgICAgICAgICAgICBGaW5hbGx5LCBCaXRCYWtlIHBhcnNlcyBpbiBvcmRlciBhbnkgYXBwZW5kIGZpbGVzIGZvdW5kIGluCiAgICAgICAgICAgICA8ZmlsZW5hbWU+QkJGSUxFUzwvZmlsZW5hbWU+LgpAQCAtMzAzLDggKzMwMyw4IEBACiAgICAgICAgICAgICBwaWVjZXMgb2YgbWV0YWRhdGEuCiAgICAgICAgICAgICBGb3IgZXhhbXBsZSwgaW4gPGZpbGVuYW1lPmJpdGJha2UuY29uZjwvZmlsZW5hbWU+IHRoZSByZWNpcGUKICAgICAgICAgICAgIG5hbWUgYW5kIHZlcnNpb24gYXJlIHVzZWQgdG8gc2V0IHRoZSB2YXJpYWJsZXMKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1QTic+PGZpbGVuYW1lPlBOPC9maWxlbmFtZT48L2xpbms+IGFuZAotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVBWJz48ZmlsZW5hbWU+UFY8L2ZpbGVuYW1lPjwvbGluaz46CisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUE4nPjxmaWxlbmFtZT5QTjwvZmlsZW5hbWU+PC9saW5rPiBhbmQKKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QVic+PGZpbGVuYW1lPlBWPC9maWxlbmFtZT48L2xpbms+OgogICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgogICAgICBQTiA9ICIke0BiYi5wYXJzZS5CQkhhbmRsZXIudmFyc19mcm9tX2ZpbGUoZC5nZXRWYXIoJ0ZJTEUnLCBGYWxzZSksZClbMF0gb3IgJ2RlZmF1bHRwa2duYW1lJ30iCiAgICAgIFBWID0gIiR7QGJiLnBhcnNlLkJCSGFuZGxlci52YXJzX2Zyb21fZmlsZShkLmdldFZhcignRklMRScsIEZhbHNlKSxkKVsxXSBvciAnMS4wJ30iCkBAIC0zMzYsNyArMzM2LDcgQEAKICAgICAgICAgICAgIHJlY2lwZSBpbmZvcm1hdGlvbi4KICAgICAgICAgICAgIFRoZSB2YWxpZGl0eSBvZiB0aGlzIGNhY2hlIGlzIGRldGVybWluZWQgYnkgZmlyc3QgY29tcHV0aW5nIGEKICAgICAgICAgICAgIGNoZWNrc3VtIG9mIHRoZSBiYXNlIGNvbmZpZ3VyYXRpb24gZGF0YSAoc2VlCi0gICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfSEFTSENPTkZJR19XSElURUxJU1QnPjxmaWxlbmFtZT5CQl9IQVNIQ09ORklHX1dISVRFTElTVDwvZmlsZW5hbWU+PC9saW5rPikKKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9IQVNIQ09ORklHX1dISVRFTElTVCc+PGZpbGVuYW1lPkJCX0hBU0hDT05GSUdfV0hJVEVMSVNUPC9maWxlbmFtZT48L2xpbms+KQogICAgICAgICAgICAgYW5kIHRoZW4gY2hlY2tpbmcgaWYgdGhlIGNoZWNrc3VtIG1hdGNoZXMuCiAgICAgICAgICAgICBJZiB0aGF0IGNoZWNrc3VtIG1hdGNoZXMgd2hhdCBpcyBpbiB0aGUgY2FjaGUgYW5kIHRoZSByZWNpcGUKICAgICAgICAgICAgIGFuZCBjbGFzcyBmaWxlcyBoYXZlIG5vdCBjaGFuZ2VkLCBCaXRiYWtlIGlzIGFibGUgdG8gdXNlCkBAIC0zODQsOSArMzg0LDkgQEAKICAgICAgICAgICAgIHRoZSByZWNpcGUgY2FuIGJlIGtub3duLgogICAgICAgICAgICAgRWFjaCByZWNpcGUncyA8ZmlsZW5hbWU+UFJPVklERVM8L2ZpbGVuYW1lPiBsaXN0IGlzIGNyZWF0ZWQKICAgICAgICAgICAgIGltcGxpY2l0bHkgdGhyb3VnaCB0aGUgcmVjaXBlJ3MKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1QTic+PGZpbGVuYW1lPlBOPC9maWxlbmFtZT48L2xpbms+IHZhcmlhYmxlCisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUE4nPjxmaWxlbmFtZT5QTjwvZmlsZW5hbWU+PC9saW5rPiB2YXJpYWJsZQogICAgICAgICAgICAgYW5kIGV4cGxpY2l0bHkgdGhyb3VnaCB0aGUgcmVjaXBlJ3MKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1QUk9WSURFUyc+PGZpbGVuYW1lPlBST1ZJREVTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUFJPVklERVMnPjxmaWxlbmFtZT5QUk9WSURFUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgdmFyaWFibGUsIHdoaWNoIGlzIG9wdGlvbmFsLgogICAgICAgICA8L3BhcmE+CiAKQEAgLTQyNyw3ICs0MjcsNyBAQAogICAgICBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9rZXJuZWwgPSAibGludXgteW9jdG8iCiAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CiAgICAgICAgICAgICBUaGUgZGVmYXVsdAotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVBSRUZFUlJFRF9QUk9WSURFUic+PGZpbGVuYW1lPlBSRUZFUlJFRF9QUk9WSURFUjwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVBSRUZFUlJFRF9QUk9WSURFUic+PGZpbGVuYW1lPlBSRUZFUlJFRF9QUk9WSURFUjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgaXMgdGhlIHByb3ZpZGVyIHdpdGggdGhlIHNhbWUgbmFtZSBhcyB0aGUgdGFyZ2V0LgogICAgICAgICAgICAgQml0YmFrZSBpdGVyYXRlcyB0aHJvdWdoIGVhY2ggdGFyZ2V0IGl0IG5lZWRzIHRvIGJ1aWxkIGFuZAogICAgICAgICAgICAgcmVzb2x2ZXMgdGhlbSBhbmQgdGhlaXIgZGVwZW5kZW5jaWVzIHVzaW5nIHRoaXMgcHJvY2Vzcy4KQEAgLTQzOSwxMCArNDM5LDEwIEBACiAgICAgICAgICAgICBCaXRCYWtlIGRlZmF1bHRzIHRvIHRoZSBoaWdoZXN0IHZlcnNpb24gb2YgYSBwcm92aWRlci4KICAgICAgICAgICAgIFZlcnNpb24gY29tcGFyaXNvbnMgYXJlIG1hZGUgdXNpbmcgdGhlIHNhbWUgbWV0aG9kIGFzIERlYmlhbi4KICAgICAgICAgICAgIFlvdSBjYW4gdXNlIHRoZQotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVBSRUZFUlJFRF9WRVJTSU9OJz48ZmlsZW5hbWU+UFJFRkVSUkVEX1ZFUlNJT048L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QUkVGRVJSRURfVkVSU0lPTic+PGZpbGVuYW1lPlBSRUZFUlJFRF9WRVJTSU9OPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICB2YXJpYWJsZSB0byBzcGVjaWZ5IGEgcGFydGljdWxhciB2ZXJzaW9uLgogICAgICAgICAgICAgWW91IGNhbiBpbmZsdWVuY2UgdGhlIG9yZGVyIGJ5IHVzaW5nIHRoZQotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLURFRkFVTFRfUFJFRkVSRU5DRSc+PGZpbGVuYW1lPkRFRkFVTFRfUFJFRkVSRU5DRTwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLURFRkFVTFRfUFJFRkVSRU5DRSc+PGZpbGVuYW1lPkRFRkFVTFRfUFJFRkVSRU5DRTwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgdmFyaWFibGUuCiAgICAgICAgIDwvcGFyYT4KIApAQCAtNDY0LDcgKzQ2NCw3IEBACiAgICAgICAgICAgICBCaXRCYWtlIGRlZmF1bHRzIHRvIHNlbGVjdGluZyB0aGUgbW9zdCByZWNlbnQKICAgICAgICAgICAgIHZlcnNpb24sIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLgogICAgICAgICAgICAgSWYgdGhlIHJlY2lwZSBpbiBxdWVzdGlvbiBoYXMgYQotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLURFRkFVTFRfUFJFRkVSRU5DRSc+PGZpbGVuYW1lPkRFRkFVTFRfUFJFRkVSRU5DRTwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLURFRkFVTFRfUFJFRkVSRU5DRSc+PGZpbGVuYW1lPkRFRkFVTFRfUFJFRkVSRU5DRTwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgc2V0IGxvd2VyIHRoYW4gdGhlIG90aGVyIHJlY2lwZXMgKGRlZmF1bHQgaXMgMCksIHRoZW4KICAgICAgICAgICAgIGl0IHdpbGwgbm90IGJlIHNlbGVjdGVkLgogICAgICAgICAgICAgVGhpcyBhbGxvd3MgdGhlIHBlcnNvbiBvciBwZXJzb25zIG1haW50YWluaW5nCkBAIC00NzUsOSArNDc1LDkgQEAKIAogICAgICAgICA8cGFyYT4KICAgICAgICAgICAgIElmIHRoZSBmaXJzdCByZWNpcGUgaXMgbmFtZWQgPGZpbGVuYW1lPmFfMS4xLmJiPC9maWxlbmFtZT4sIHRoZW4gdGhlCi0gICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUE4nPjxmaWxlbmFtZT5QTjwvZmlsZW5hbWU+PC9saW5rPiB2YXJpYWJsZQorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVBOJz48ZmlsZW5hbWU+UE48L2ZpbGVuYW1lPjwvbGluaz4gdmFyaWFibGUKICAgICAgICAgICAgIHdpbGwgYmUgc2V0IHRvIOKAnGHigJ0sIGFuZCB0aGUKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1QVic+PGZpbGVuYW1lPlBWPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUFYnPjxmaWxlbmFtZT5QVjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgdmFyaWFibGUgd2lsbCBiZSBzZXQgdG8gMS4xLgogICAgICAgICA8L3BhcmE+CiAKQEAgLTUzMiwxMSArNTMyLDExIEBACiAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgRGVwZW5kZW5jaWVzIGFyZSBkZWZpbmVkIHRocm91Z2ggc2V2ZXJhbCB2YXJpYWJsZXMuCiAgICAgICAgICAgICBZb3UgY2FuIGZpbmQgaW5mb3JtYXRpb24gYWJvdXQgdmFyaWFibGVzIEJpdEJha2UgdXNlcyBpbgotICAgICAgICAgICAgdGhlIDxsaW5rIGxpbmtlbmQ9J3JlZi12YXJpYWJsZXMtZ2xvcyc+VmFyaWFibGVzIEdsb3NzYXJ5PC9saW5rPgorICAgICAgICAgICAgdGhlIDxsaW5rIGxpbmtlbmQ9J3JlZi1iYi12YXJpYWJsZXMtZ2xvcyc+VmFyaWFibGVzIEdsb3NzYXJ5PC9saW5rPgogICAgICAgICAgICAgbmVhciB0aGUgZW5kIG9mIHRoaXMgbWFudWFsLgogICAgICAgICAgICAgQXQgYSBiYXNpYyBsZXZlbCwgaXQgaXMgc3VmZmljaWVudCB0byBrbm93IHRoYXQgQml0QmFrZSB1c2VzIHRoZQotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLURFUEVORFMnPjxmaWxlbmFtZT5ERVBFTkRTPC9maWxlbmFtZT48L2xpbms+IGFuZAotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVJERVBFTkRTJz48ZmlsZW5hbWU+UkRFUEVORFM8L2ZpbGVuYW1lPjwvbGluaz4gdmFyaWFibGVzIHdoZW4KKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1ERVBFTkRTJz48ZmlsZW5hbWU+REVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPiBhbmQKKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1SREVQRU5EUyc+PGZpbGVuYW1lPlJERVBFTkRTPC9maWxlbmFtZT48L2xpbms+IHZhcmlhYmxlcyB3aGVuCiAgICAgICAgICAgICBjYWxjdWxhdGluZyBkZXBlbmRlbmNpZXMuCiAgICAgICAgIDwvcGFyYT4KIApAQCAtNTYwLDcgKzU2MCw3IEBACiAKICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICBUaGUgYnVpbGQgbm93IHN0YXJ0cyB3aXRoIEJpdEJha2UgZm9ya2luZyBvZmYgdGhyZWFkcyB1cCB0byB0aGUgbGltaXQgc2V0IGluIHRoZQotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX05VTUJFUl9USFJFQURTJz48ZmlsZW5hbWU+QkJfTlVNQkVSX1RIUkVBRFM8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9OVU1CRVJfVEhSRUFEUyc+PGZpbGVuYW1lPkJCX05VTUJFUl9USFJFQURTPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICB2YXJpYWJsZS4KICAgICAgICAgICAgIEJpdEJha2UgY29udGludWVzIHRvIGZvcmsgdGhyZWFkcyBhcyBsb25nIGFzIHRoZXJlIGFyZSB0YXNrcyByZWFkeSB0byBydW4sCiAgICAgICAgICAgICB0aG9zZSB0YXNrcyBoYXZlIGFsbCB0aGVpciBkZXBlbmRlbmNpZXMgbWV0LCBhbmQgdGhlIHRocmVhZCB0aHJlc2hvbGQgaGFzIG5vdCBiZWVuCkBAIC01NzQsNyArNTc0LDcgQEAKIAogICAgICAgICA8cGFyYT4KICAgICAgICAgICAgIEFzIGVhY2ggdGFzayBjb21wbGV0ZXMsIGEgdGltZXN0YW1wIGlzIHdyaXR0ZW4gdG8gdGhlIGRpcmVjdG9yeSBzcGVjaWZpZWQgYnkgdGhlCi0gICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItU1RBTVAnPjxmaWxlbmFtZT5TVEFNUDwvZmlsZW5hbWU+PC9saW5rPiB2YXJpYWJsZS4KKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1TVEFNUCc+PGZpbGVuYW1lPlNUQU1QPC9maWxlbmFtZT48L2xpbms+IHZhcmlhYmxlLgogICAgICAgICAgICAgT24gc3Vic2VxdWVudCBydW5zLCBCaXRCYWtlIGxvb2tzIGluIHRoZSBidWlsZCBkaXJlY3Rvcnkgd2l0aGluCiAgICAgICAgICAgICA8ZmlsZW5hbWU+dG1wL3N0YW1wczwvZmlsZW5hbWU+IGFuZCBkb2VzIG5vdCByZXJ1bgogICAgICAgICAgICAgdGFza3MgdGhhdCBhcmUgYWxyZWFkeSBjb21wbGV0ZWQgdW5sZXNzIGEgdGltZXN0YW1wIGlzIGZvdW5kIHRvIGJlIGludmFsaWQuCkBAIC02MTgsNyArNjE4LDcgQEAKICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICBUYXNrcyBjYW4gYmUgZWl0aGVyIGEgc2hlbGwgdGFzayBvciBhIFB5dGhvbiB0YXNrLgogICAgICAgICAgICAgRm9yIHNoZWxsIHRhc2tzLCBCaXRCYWtlIHdyaXRlcyBhIHNoZWxsIHNjcmlwdCB0bwotICAgICAgICAgICAgPGZpbGVuYW1lPiR7PC9maWxlbmFtZT48bGluayBsaW5rZW5kPSd2YXItVCc+PGZpbGVuYW1lPlQ8L2ZpbGVuYW1lPjwvbGluaz48ZmlsZW5hbWU+fS9ydW4uZG9fdGFza25hbWUucGlkPC9maWxlbmFtZT4KKyAgICAgICAgICAgIDxmaWxlbmFtZT4kezwvZmlsZW5hbWU+PGxpbmsgbGlua2VuZD0ndmFyLWJiLVQnPjxmaWxlbmFtZT5UPC9maWxlbmFtZT48L2xpbms+PGZpbGVuYW1lPn0vcnVuLmRvX3Rhc2tuYW1lLnBpZDwvZmlsZW5hbWU+CiAgICAgICAgICAgICBhbmQgdGhlbiBleGVjdXRlcyB0aGUgc2NyaXB0LgogICAgICAgICAgICAgVGhlIGdlbmVyYXRlZCBzaGVsbCBzY3JpcHQgY29udGFpbnMgYWxsIHRoZSBleHBvcnRlZCB2YXJpYWJsZXMsCiAgICAgICAgICAgICBhbmQgdGhlIHNoZWxsIGZ1bmN0aW9ucyB3aXRoIGFsbCB2YXJpYWJsZXMgZXhwYW5kZWQuCkBAIC02NDUsMTAgKzY0NSwxMCBAQAogICAgICAgICAgICAgYmVoYXZpb3I6CiAgICAgICAgICAgICA8aXRlbWl6ZWRsaXN0PgogICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX1NDSEVEVUxFUic+PGZpbGVuYW1lPkJCX1NDSEVEVUxFUjwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfU0NIRURVTEVSJz48ZmlsZW5hbWU+QkJfU0NIRURVTEVSPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX1NDSEVEVUxFUlMnPjxmaWxlbmFtZT5CQl9TQ0hFRFVMRVJTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9TQ0hFRFVMRVJTJz48ZmlsZW5hbWU+QkJfU0NIRURVTEVSUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgIDwvaXRlbWl6ZWRsaXN0PgogICAgICAgICAgICAgSXQgaXMgcG9zc2libGUgdG8gaGF2ZSBmdW5jdGlvbnMgcnVuIGJlZm9yZSBhbmQgYWZ0ZXIgYSB0YXNrJ3MgbWFpbgpAQCAtNjg0LDcgKzY4NCw3IEBACiAgICAgICAgICAgICBUaGUgc2ltcGxpc3RpYyBhcHByb2FjaCBmb3IgZXhjbHVkaW5nIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBpcyB0byBzZXQKICAgICAgICAgICAgIGl0IHRvIHNvbWUgZml4ZWQgdmFsdWUgYW5kIGNyZWF0ZSB0aGUgY2hlY2tzdW0gZm9yIHRoZSAicnVuIiBzY3JpcHQuCiAgICAgICAgICAgICBCaXRCYWtlIGdvZXMgb25lIHN0ZXAgYmV0dGVyIGFuZCB1c2VzIHRoZQotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX0hBU0hCQVNFX1dISVRFTElTVCc+PGZpbGVuYW1lPkJCX0hBU0hCQVNFX1dISVRFTElTVDwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX0hBU0hCQVNFX1dISVRFTElTVCc+PGZpbGVuYW1lPkJCX0hBU0hCQVNFX1dISVRFTElTVDwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgdmFyaWFibGUgdG8gZGVmaW5lIGEgbGlzdCBvZiB2YXJpYWJsZXMgdGhhdCBzaG91bGQgbmV2ZXIgYmUgaW5jbHVkZWQKICAgICAgICAgICAgIHdoZW4gZ2VuZXJhdGluZyB0aGUgc2lnbmF0dXJlcy4KICAgICAgICAgPC9wYXJhPgpAQCAtNzk1LDcgKzc5NSw3IEBACiAgICAgICAgICAgICBUaGlzIHJlc3VsdHMgaW4gYW55IG1ldGFkYXRhIGNoYW5nZSB0aGF0IGNoYW5nZXMgdGhlIHRhc2sgaGFzaCwgYXV0b21hdGljYWxseQogICAgICAgICAgICAgY2F1c2luZyB0aGUgdGFzayB0byBiZSBydW4gYWdhaW4uCiAgICAgICAgICAgICBUaGlzIHJlbW92ZXMgdGhlIG5lZWQgdG8gYnVtcAotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVBSJz48ZmlsZW5hbWU+UFI8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QUic+PGZpbGVuYW1lPlBSPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICB2YWx1ZXMsIGFuZCBjaGFuZ2VzIHRvIG1ldGFkYXRhIGF1dG9tYXRpY2FsbHkgcmlwcGxlIGFjcm9zcyB0aGUgYnVpbGQuCiAgICAgICAgIDwvcGFyYT4KIApAQCAtODg0LDcgKzg4NCw3IEBACiAKICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICBCaXRCYWtlIGZpcnN0IGNhbGxzIHRoZSBmdW5jdGlvbiBkZWZpbmVkIGJ5IHRoZQotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX0hBU0hDSEVDS19GVU5DVElPTic+PGZpbGVuYW1lPkJCX0hBU0hDSEVDS19GVU5DVElPTjwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX0hBU0hDSEVDS19GVU5DVElPTic+PGZpbGVuYW1lPkJCX0hBU0hDSEVDS19GVU5DVElPTjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdGFza3MgYW5kIGNvcnJlc3BvbmRpbmcKICAgICAgICAgICAgIGhhc2hlcyBpdCB3YW50cyB0byBidWlsZC4KICAgICAgICAgICAgIFRoaXMgZnVuY3Rpb24gaXMgZGVzaWduZWQgdG8gYmUgZmFzdCBhbmQgcmV0dXJucyBhIGxpc3QKQEAgLTkwOCw3ICs5MDgsNyBAQAogICAgICAgICAgICAgRm9yIGV4YW1wbGUsIGl0IGlzIHBvaW50bGVzcyB0byBvYnRhaW4gYSBjb21waWxlciBpZiB5b3UKICAgICAgICAgICAgIGFscmVhZHkgaGF2ZSB0aGUgY29tcGlsZWQgYmluYXJ5LgogICAgICAgICAgICAgVG8gaGFuZGxlIHRoaXMsIEJpdEJha2UgY2FsbHMgdGhlCi0gICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfU0VUU0NFTkVfREVQVkFMSUQnPjxmaWxlbmFtZT5CQl9TRVRTQ0VORV9ERVBWQUxJRDwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX1NFVFNDRU5FX0RFUFZBTElEJz48ZmlsZW5hbWU+QkJfU0VUU0NFTkVfREVQVkFMSUQ8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgIGZ1bmN0aW9uIGZvciBlYWNoIHN1Y2Nlc3NmdWwgc2V0c2NlbmUgdGFzayB0byBrbm93IHdoZXRoZXIgb3Igbm90IGl0IG5lZWRzCiAgICAgICAgICAgICB0byBvYnRhaW4gdGhlIGRlcGVuZGVuY2llcyBvZiB0aGF0IHRhc2suCiAgICAgICAgIDwvcGFyYT4KQEAgLTkxNiw3ICs5MTYsNyBAQAogICAgICAgICA8cGFyYT4KICAgICAgICAgICAgIEZpbmFsbHksIGFmdGVyIGFsbCB0aGUgc2V0c2NlbmUgdGFza3MgaGF2ZSBleGVjdXRlZCwgQml0QmFrZSBjYWxscyB0aGUKICAgICAgICAgICAgIGZ1bmN0aW9uIGxpc3RlZCBpbgotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX1NFVFNDRU5FX1ZFUklGWV9GVU5DVElPTjInPjxmaWxlbmFtZT5CQl9TRVRTQ0VORV9WRVJJRllfRlVOQ1RJT04yPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfU0VUU0NFTkVfVkVSSUZZX0ZVTkNUSU9OMic+PGZpbGVuYW1lPkJCX1NFVFNDRU5FX1ZFUklGWV9GVU5DVElPTjI8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgIHdpdGggdGhlIGxpc3Qgb2YgdGFza3MgQml0QmFrZSB0aGlua3MgaGFzIGJlZW4gImNvdmVyZWQiLgogICAgICAgICAgICAgVGhlIG1ldGFkYXRhIGNhbiB0aGVuIGVuc3VyZSB0aGF0IHRoaXMgbGlzdCBpcyBjb3JyZWN0IGFuZCBjYW4KICAgICAgICAgICAgIGluZm9ybSBCaXRCYWtlIHRoYXQgaXQgd2FudHMgc3BlY2lmaWMgdGFza3MgdG8gYmUgcnVuIHJlZ2FyZGxlc3MKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9kb2MvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLWZldGNoaW5nLnhtbCBiL3Bva3kvYml0YmFrZS9kb2MvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLWZldGNoaW5nLnhtbAppbmRleCA5MmIyYzNkLi4zYWNkN2M0IDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1mZXRjaGluZy54bWwKKysrIGIvcG9reS9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2JpdGJha2UtdXNlci1tYW51YWwtZmV0Y2hpbmcueG1sCkBAIC00NCw3ICs0NCw3IEBACiAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CiAgICAgICAgICAgICBUaGlzIGNvZGUgc2V0cyB1cCBhbiBpbnN0YW5jZSBvZiB0aGUgZmV0Y2ggY2xhc3MuCiAgICAgICAgICAgICBUaGUgaW5zdGFuY2UgdXNlcyBhIHNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIFVSTHMgZnJvbSB0aGUKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1TUkNfVVJJJz48ZmlsZW5hbWU+U1JDX1VSSTwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVNSQ19VUkknPjxmaWxlbmFtZT5TUkNfVVJJPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICB2YXJpYWJsZSBhbmQgdGhlbiBjYWxscyB0aGUgPGZpbGVuYW1lPmRvd25sb2FkPC9maWxlbmFtZT4KICAgICAgICAgICAgIG1ldGhvZCB0byBkb3dubG9hZCB0aGUgZmlsZXMuCiAgICAgICAgIDwvcGFyYT4KQEAgLTc4LDcgKzc4LDcgQEAKICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+PGVtcGhhc2lzPlByZS1taXJyb3IgU2l0ZXM6PC9lbXBoYXNpcz4KICAgICAgICAgICAgICAgICAgICAgQml0QmFrZSBmaXJzdCB1c2VzIHByZS1taXJyb3JzIHRvIHRyeSBhbmQgZmluZCBzb3VyY2UgZmlsZXMuCiAgICAgICAgICAgICAgICAgICAgIFRoZXNlIGxvY2F0aW9ucyBhcmUgZGVmaW5lZCB1c2luZyB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVBSRU1JUlJPUlMnPjxmaWxlbmFtZT5QUkVNSVJST1JTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QUkVNSVJST1JTJz48ZmlsZW5hbWU+UFJFTUlSUk9SUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZS4KICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz5Tb3VyY2UgVVJJOjwvZW1waGFzaXM+CkBAIC04OCw3ICs4OCw3IEBACiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz5NaXJyb3IgU2l0ZXM6PC9lbXBoYXNpcz4KICAgICAgICAgICAgICAgICAgICAgSWYgZmV0Y2ggZmFpbHVyZXMgb2NjdXIsIEJpdEJha2UgbmV4dCB1c2VzIG1pcnJvciBsb2NhdGlvbnMgYXMKICAgICAgICAgICAgICAgICAgICAgZGVmaW5lZCBieSB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLU1JUlJPUlMnPjxmaWxlbmFtZT5NSVJST1JTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1NSVJST1JTJz48ZmlsZW5hbWU+TUlSUk9SUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZS4KICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICA8L2l0ZW1pemVkbGlzdD4KQEAgLTE0NCw3ICsxNDQsNyBAQAogICAgICAgICAgICAgQW55IHNvdXJjZSBmaWxlcyB0aGF0IGFyZSBub3QgbG9jYWwgKGkuZS4KICAgICAgICAgICAgIGRvd25sb2FkZWQgZnJvbSB0aGUgSW50ZXJuZXQpIGFyZSBwbGFjZWQgaW50byB0aGUgZG93bmxvYWQKICAgICAgICAgICAgIGRpcmVjdG9yeSwgd2hpY2ggaXMgc3BlY2lmaWVkIGJ5IHRoZQotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLURMX0RJUic+PGZpbGVuYW1lPkRMX0RJUjwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLURMX0RJUic+PGZpbGVuYW1lPkRMX0RJUjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgdmFyaWFibGUuCiAgICAgICAgIDwvcGFyYT4KIApAQCAtMTg0LDExICsxODQsMTEgQEAKIAogICAgICAgICA8cGFyYT4KICAgICAgICAgICAgIElmCi0gICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfU1RSSUNUX0NIRUNLU1VNJz48ZmlsZW5hbWU+QkJfU1RSSUNUX0NIRUNLU1VNPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfU1RSSUNUX0NIRUNLU1VNJz48ZmlsZW5hbWU+QkJfU1RSSUNUX0NIRUNLU1VNPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICBpcyBzZXQsIGFueSBkb3dubG9hZCB3aXRob3V0IGEgY2hlY2tzdW0gdHJpZ2dlcnMgYW4KICAgICAgICAgICAgIGVycm9yIG1lc3NhZ2UuCiAgICAgICAgICAgICBUaGUKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9OT19ORVRXT1JLJz48ZmlsZW5hbWU+QkJfTk9fTkVUV09SSzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX05PX05FVFdPUksnPjxmaWxlbmFtZT5CQl9OT19ORVRXT1JLPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICB2YXJpYWJsZSBjYW4gYmUgdXNlZCB0byBtYWtlIGFueSBhdHRlbXB0ZWQgbmV0d29yayBhY2Nlc3MgYSBmYXRhbAogICAgICAgICAgICAgZXJyb3IsIHdoaWNoIGlzIHVzZWZ1bCBmb3IgY2hlY2tpbmcgdGhhdCBtaXJyb3JzIGFyZSBjb21wbGV0ZQogICAgICAgICAgICAgYXMgd2VsbCBhcyBvdGhlciB0aGluZ3MuCkBAIC0yNjUsMTEgKzI2NSwxMSBAQAogICAgICAgICAgICAgICAgIFRoZSBmaWxlbmFtZSB5b3Ugc3BlY2lmeSB3aXRoaW4gdGhlIFVSTCBjYW4gYmUKICAgICAgICAgICAgICAgICBlaXRoZXIgYW4gYWJzb2x1dGUgb3IgcmVsYXRpdmUgcGF0aCB0byBhIGZpbGUuCiAgICAgICAgICAgICAgICAgSWYgdGhlIGZpbGVuYW1lIGlzIHJlbGF0aXZlLCB0aGUgY29udGVudHMgb2YgdGhlCi0gICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUZJTEVTUEFUSCc+PGZpbGVuYW1lPkZJTEVTUEFUSDwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1GSUxFU1BBVEgnPjxmaWxlbmFtZT5GSUxFU1BBVEg8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICB2YXJpYWJsZSBpcyB1c2VkIGluIHRoZSBzYW1lIHdheQogICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5QQVRIPC9maWxlbmFtZT4gaXMgdXNlZCB0byBmaW5kIGV4ZWN1dGFibGVzLgogICAgICAgICAgICAgICAgIElmIHRoZSBmaWxlIGNhbm5vdCBiZSBmb3VuZCwgaXQgaXMgYXNzdW1lZCB0aGF0IGl0IGlzIGF2YWlsYWJsZSBpbgotICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1ETF9ESVInPjxmaWxlbmFtZT5ETF9ESVI8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItRExfRElSJz48ZmlsZW5hbWU+RExfRElSPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgYnkgdGhlIHRpbWUgdGhlIDxmaWxlbmFtZT5kb3dubG9hZCgpPC9maWxlbmFtZT4gbWV0aG9kIGlzIGNhbGxlZC4KICAgICAgICAgICAgIDwvcGFyYT4KIApAQCAtMzA0LDcgKzMwNCw3IEBACiAgICAgICAgICAgICAgICAgYWxsb3dzIHRoZSBuYW1lIG9mIHRoZSBkb3dubG9hZGVkIGZpbGUgdG8gYmUgc3BlY2lmaWVkLgogICAgICAgICAgICAgICAgIFNwZWNpZnlpbmcgdGhlIG5hbWUgb2YgdGhlIGRvd25sb2FkZWQgZmlsZSBpcyB1c2VmdWwKICAgICAgICAgICAgICAgICBmb3IgYXZvaWRpbmcgY29sbGlzaW9ucyBpbgotICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1ETF9ESVInPjxmaWxlbmFtZT5ETF9ESVI8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItRExfRElSJz48ZmlsZW5hbWU+RExfRElSPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgd2hlbiBkZWFsaW5nIHdpdGggbXVsdGlwbGUgZmlsZXMgdGhhdCBoYXZlIHRoZSBzYW1lIG5hbWUuCiAgICAgICAgICAgICA8L3BhcmE+CiAKQEAgLTM1NSw3ICszNTUsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgQSBzcGVjaWFsIHZhbHVlIG9mICJub3ciIGNhdXNlcyB0aGUgY2hlY2tvdXQgdG8KICAgICAgICAgICAgICAgICAgICAgICAgIGJlIHVwZGF0ZWQgb24gZXZlcnkgYnVpbGQuCiAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KLSAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz48bGluayBsaW5rZW5kPSd2YXItQ1ZTRElSJz48ZmlsZW5hbWU+Q1ZTRElSPC9maWxlbmFtZT48L2xpbms+OjwvZW1waGFzaXM+CisgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT48ZW1waGFzaXM+PGxpbmsgbGlua2VuZD0ndmFyLWJiLUNWU0RJUic+PGZpbGVuYW1lPkNWU0RJUjwvZmlsZW5hbWU+PC9saW5rPjo8L2VtcGhhc2lzPgogICAgICAgICAgICAgICAgICAgICAgICAgU3BlY2lmaWVzIHdoZXJlIGEgdGVtcG9yYXJ5IGNoZWNrb3V0IGlzIHNhdmVkLgogICAgICAgICAgICAgICAgICAgICAgICAgVGhlIGxvY2F0aW9uIGlzIG9mdGVuIDxmaWxlbmFtZT5ETF9ESVIvY3ZzPC9maWxlbmFtZT4uCiAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KQEAgLTM5NSw3ICszOTUsNyBAQAogICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+PGVtcGhhc2lzPiJkYXRlIjo8L2VtcGhhc2lzPgogICAgICAgICAgICAgICAgICAgICAgICAgU3BlY2lmaWVzIGEgZGF0ZS4KICAgICAgICAgICAgICAgICAgICAgICAgIElmIG5vICJkYXRlIiBpcyBzcGVjaWZpZWQsIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVNSQ0RBVEUnPjxmaWxlbmFtZT5TUkNEQVRFPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItU1JDREFURSc+PGZpbGVuYW1lPlNSQ0RBVEU8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgICAgIG9mIHRoZSBjb25maWd1cmF0aW9uIGlzIHVzZWQgdG8gY2hlY2tvdXQgYSBzcGVjaWZpYyBkYXRlLgogICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHNwZWNpYWwgdmFsdWUgb2YgIm5vdyIgY2F1c2VzIHRoZSBjaGVja291dCB0byBiZQogICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlZCBvbiBldmVyeSBidWlsZC4KQEAgLTQwNiw3ICs0MDYsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgdG8gd2hpY2ggdGhlIG1vZHVsZSBpcyB1bnBhY2tlZC4KICAgICAgICAgICAgICAgICAgICAgICAgIFlvdSBhcmUgZm9yY2luZyB0aGUgbW9kdWxlIGludG8gYSBzcGVjaWFsCiAgICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3RvcnkgcmVsYXRpdmUgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1DVlNESVInPjxmaWxlbmFtZT5DVlNESVI8L2ZpbGVuYW1lPjwvbGluaz4uCisgICAgICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQ1ZTRElSJz48ZmlsZW5hbWU+Q1ZTRElSPC9maWxlbmFtZT48L2xpbms+LgogICAgICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT48ZW1waGFzaXM+InJzaCI8L2VtcGhhc2lzPgogICAgICAgICAgICAgICAgICAgICAgICAgVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSAibWV0aG9kIiBwYXJhbWV0ZXIuCkBAIC00NDgsNyArNDQ4LDcgQEAKICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+RkVUQ0hDTURfc3ZuPC9maWxlbmFtZT4sIHdoaWNoIGRlZmF1bHRzCiAgICAgICAgICAgICAgICAgdG8gInN2biIuCiAgICAgICAgICAgICAgICAgVGhlIGZldGNoZXIncyB0ZW1wb3Jhcnkgd29ya2luZyBkaXJlY3RvcnkgaXMgc2V0IGJ5Ci0gICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVNWTkRJUic+PGZpbGVuYW1lPlNWTkRJUjwvZmlsZW5hbWU+PC9saW5rPiwKKyAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItU1ZORElSJz48ZmlsZW5hbWU+U1ZORElSPC9maWxlbmFtZT48L2xpbms+LAogICAgICAgICAgICAgICAgIHdoaWNoIGlzIHVzdWFsbHkgPGZpbGVuYW1lPkRMX0RJUi9zdm48L2ZpbGVuYW1lPi4KICAgICAgICAgICAgIDwvcGFyYT4KIApAQCAtNTA5LDcgKzUwOSw3IEBACiAgICAgICAgICAgICAgICAgc291cmNlIGNvbnRyb2wgc3lzdGVtLgogICAgICAgICAgICAgICAgIFRoZSBmZXRjaGVyIHdvcmtzIGJ5IGNyZWF0aW5nIGEgYmFyZSBjbG9uZSBvZiB0aGUKICAgICAgICAgICAgICAgICByZW1vdGUgaW50bwotICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1HSVRESVInPjxmaWxlbmFtZT5HSVRESVI8L2ZpbGVuYW1lPjwvbGluaz4sCisgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUdJVERJUic+PGZpbGVuYW1lPkdJVERJUjwvZmlsZW5hbWU+PC9saW5rPiwKICAgICAgICAgICAgICAgICB3aGljaCBpcyB1c3VhbGx5IDxmaWxlbmFtZT5ETF9ESVIvZ2l0MjwvZmlsZW5hbWU+LgogICAgICAgICAgICAgICAgIFRoaXMgYmFyZSBjbG9uZSBpcyB0aGVuIGNsb25lZCBpbnRvIHRoZSB3b3JrIGRpcmVjdG9yeSBkdXJpbmcgdGhlCiAgICAgICAgICAgICAgICAgdW5wYWNrIHN0YWdlIHdoZW4gYSBzcGVjaWZpYyB0cmVlIGlzIGNoZWNrZWQgb3V0LgpAQCAtNjEyLDcgKzYxMiw3IEBACiAgICAgICAgICAgICAgICAgVGhpcyBmZXRjaGVyIHN1Ym1vZHVsZSBpbmhlcml0cyBmcm9tIHRoZQogICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J2dpdC1mZXRjaGVyJz5HaXQgZmV0Y2hlcjwvbGluaz4gYW5kIGV4dGVuZHMKICAgICAgICAgICAgICAgICB0aGF0IGZldGNoZXIncyBiZWhhdmlvciBieSBmZXRjaGluZyBhIHJlcG9zaXRvcnkncyBzdWJtb2R1bGVzLgotICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1TUkNfVVJJJz48ZmlsZW5hbWU+U1JDX1VSSTwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1TUkNfVVJJJz48ZmlsZW5hbWU+U1JDX1VSSTwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgIGlzIHBhc3NlZCB0byB0aGUgR2l0IGZldGNoZXIgYXMgZGVzY3JpYmVkIGluIHRoZQogICAgICAgICAgICAgICAgICI8bGluayBsaW5rZW5kPSdnaXQtZmV0Y2hlcic+R2l0IEZldGNoZXIgKDxmaWxlbmFtZT5naXQ6Ly88L2ZpbGVuYW1lPik8L2xpbms+IgogICAgICAgICAgICAgICAgIHNlY3Rpb24uCkBAIC02NDcsOSArNjQ3LDkgQEAKIAogICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgVG8gdXNlIHRoaXMgZmV0Y2hlciwgbWFrZSBzdXJlIHlvdXIgcmVjaXBlIGhhcyBwcm9wZXIKLSAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItU1JDX1VSSSc+PGZpbGVuYW1lPlNSQ19VUkk8L2ZpbGVuYW1lPjwvbGluaz4sCi0gICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVNSQ1JFVic+PGZpbGVuYW1lPlNSQ1JFVjwvZmlsZW5hbWU+PC9saW5rPiwgYW5kCi0gICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVBWJz48ZmlsZW5hbWU+UFY8L2ZpbGVuYW1lPjwvbGluaz4gc2V0dGluZ3MuCisgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVNSQ19VUkknPjxmaWxlbmFtZT5TUkNfVVJJPC9maWxlbmFtZT48L2xpbms+LAorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1TUkNSRVYnPjxmaWxlbmFtZT5TUkNSRVY8L2ZpbGVuYW1lPjwvbGluaz4sIGFuZAorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QVic+PGZpbGVuYW1lPlBWPC9maWxlbmFtZT48L2xpbms+IHNldHRpbmdzLgogICAgICAgICAgICAgICAgIEhlcmUgaXMgYW4gZXhhbXBsZToKICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+CiAgICAgIFNSQ19VUkkgPSAiY2NyYzovL2NjLmV4YW1wbGUub3JnL2NjcmM7dm9iPS9leGFtcGxlX3ZvYjttb2R1bGU9L2V4YW1wbGVfbW9kdWxlIgpAQCAtNzM0LDE1ICs3MzQsMTUgQEAKICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+RkVUQ0hDTURfcDQ8L2ZpbGVuYW1lPiwgd2hpY2ggZGVmYXVsdHMKICAgICAgICAgICAgICAgICB0byAicDQiLgogICAgICAgICAgICAgICAgIFRoZSBmZXRjaGVyJ3MgdGVtcG9yYXJ5IHdvcmtpbmcgZGlyZWN0b3J5IGlzIHNldCBieQotICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1QNERJUic+PGZpbGVuYW1lPlA0RElSPC9maWxlbmFtZT48L2xpbms+LAorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QNERJUic+PGZpbGVuYW1lPlA0RElSPC9maWxlbmFtZT48L2xpbms+LAogICAgICAgICAgICAgICAgIHdoaWNoIGRlZmF1bHRzIHRvICJETF9ESVIvcDQiLgogICAgICAgICAgICAgPC9wYXJhPgogCiAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICBUbyB1c2UgdGhpcyBmZXRjaGVyLCBtYWtlIHN1cmUgeW91ciByZWNpcGUgaGFzIHByb3BlcgotICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1TUkNfVVJJJz48ZmlsZW5hbWU+U1JDX1VSSTwvZmlsZW5hbWU+PC9saW5rPiwKLSAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItU1JDUkVWJz48ZmlsZW5hbWU+U1JDUkVWPC9maWxlbmFtZT48L2xpbms+LCBhbmQKLSAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUFYnPjxmaWxlbmFtZT5QVjwvZmlsZW5hbWU+PC9saW5rPiB2YWx1ZXMuCisgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVNSQ19VUkknPjxmaWxlbmFtZT5TUkNfVVJJPC9maWxlbmFtZT48L2xpbms+LAorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1TUkNSRVYnPjxmaWxlbmFtZT5TUkNSRVY8L2ZpbGVuYW1lPjwvbGluaz4sIGFuZAorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QVic+PGZpbGVuYW1lPlBWPC9maWxlbmFtZT48L2xpbms+IHZhbHVlcy4KICAgICAgICAgICAgICAgICBUaGUgcDQgZXhlY3V0YWJsZSBpcyBhYmxlIHRvIHVzZSB0aGUgY29uZmlnIGZpbGUgZGVmaW5lZCBieSB5b3VyCiAgICAgICAgICAgICAgICAgc3lzdGVtJ3MgPGZpbGVuYW1lPlA0Q09ORklHPC9maWxlbmFtZT4gZW52aXJvbm1lbnQgdmFyaWFibGUgaW4KICAgICAgICAgICAgICAgICBvcmRlciB0byBkZWZpbmUgdGhlIFBlcmZvcmNlIHNlcnZlciBVUkwgYW5kIHBvcnQsIHVzZXJuYW1lLCBhbmQKQEAgLTc5Myw5ICs3OTMsOSBAQAogICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5nb29nbGUtcmVwbzwvZmlsZW5hbWU+IHNvdXJjZSBjb250cm9sIHN5c3RlbS4KICAgICAgICAgICAgICAgICBUaGUgZmV0Y2hlciB3b3JrcyBieSBpbml0aWF0aW5nIGFuZCBzeW5jaW5nIHNvdXJjZXMgb2YgdGhlCiAgICAgICAgICAgICAgICAgcmVwb3NpdG9yeSBpbnRvCi0gICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVJFUE9ESVInPjxmaWxlbmFtZT5SRVBPRElSPC9maWxlbmFtZT48L2xpbms+LAorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1SRVBPRElSJz48ZmlsZW5hbWU+UkVQT0RJUjwvZmlsZW5hbWU+PC9saW5rPiwKICAgICAgICAgICAgICAgICB3aGljaCBpcyB1c3VhbGx5Ci0gICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLURMX0RJUic+PGZpbGVuYW1lPkRMX0RJUjwvZmlsZW5hbWU+PC9saW5rPjxmaWxlbmFtZT4vcmVwbzwvZmlsZW5hbWU+LgorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1ETF9ESVInPjxmaWxlbmFtZT5ETF9ESVI8L2ZpbGVuYW1lPjwvbGluaz48ZmlsZW5hbWU+L3JlcG88L2ZpbGVuYW1lPi4KICAgICAgICAgICAgIDwvcGFyYT4KIAogICAgICAgICAgICAgPHBhcmE+CmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1oZWxsby54bWwgYi9wb2t5L2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1oZWxsby54bWwKaW5kZXggOTA3NmYwZi4uMzkwNjZlNCAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2JpdGJha2UtdXNlci1tYW51YWwtaGVsbG8ueG1sCisrKyBiL3Bva3kvYml0YmFrZS9kb2MvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLWhlbGxvLnhtbApAQCAtMTk0LDcgKzE5NCw3IEBACiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgV2hlbiB5b3UgcnVuIEJpdEJha2UsIGl0IGJlZ2lucyBsb29raW5nIGZvciBtZXRhZGF0YSBmaWxlcy4KICAgICAgICAgICAgICAgICBUaGUKLSAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJQQVRIJz48ZmlsZW5hbWU+QkJQQVRIPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCUEFUSCc+PGZpbGVuYW1lPkJCUEFUSDwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgIHZhcmlhYmxlIGlzIHdoYXQgdGVsbHMgQml0QmFrZSB3aGVyZSB0byBsb29rIGZvciB0aG9zZSBmaWxlcy4KICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+QkJQQVRIPC9maWxlbmFtZT4gaXMgbm90IHNldCBhbmQgeW91IG5lZWQgdG8gc2V0IGl0LgogICAgICAgICAgICAgICAgIFdpdGhvdXQgPGZpbGVuYW1lPkJCUEFUSDwvZmlsZW5hbWU+LCBCaXRiYWtlIGNhbm5vdApAQCAtMjczLDE0ICsyNzMsMTQgQEAKICAgICAgICAgICAgICAgICBzb21lIGVkaXRvciB0byBjcmVhdGUgdGhlIDxmaWxlbmFtZT5iaXRiYWtlLmNvbmY8L2ZpbGVuYW1lPgogICAgICAgICAgICAgICAgIHNvIHRoYXQgaXQgY29udGFpbnMgdGhlIGZvbGxvd2luZzoKICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+Ci0gICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1QTic+UE48L2xpbms+ICA9ICIke0BiYi5wYXJzZS5CQkhhbmRsZXIudmFyc19mcm9tX2ZpbGUoZC5nZXRWYXIoJ0ZJTEUnLCBGYWxzZSksZClbMF0gb3IgJ2RlZmF1bHRwa2duYW1lJ30iCisgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QTic+UE48L2xpbms+ICA9ICIke0BiYi5wYXJzZS5CQkhhbmRsZXIudmFyc19mcm9tX2ZpbGUoZC5nZXRWYXIoJ0ZJTEUnLCBGYWxzZSksZClbMF0gb3IgJ2RlZmF1bHRwa2duYW1lJ30iCiAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgogICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KLSAgICAgVE1QRElSICA9ICIkezxsaW5rIGxpbmtlbmQ9J3Zhci1UT1BESVInPlRPUERJUjwvbGluaz59L3RtcCIKLSAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUNBQ0hFJz5DQUNIRTwvbGluaz4gICA9ICIke1RNUERJUn0vY2FjaGUiCi0gICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1TVEFNUCc+U1RBTVA8L2xpbms+ICAgPSAiJHtUTVBESVJ9LyR7UE59L3N0YW1wcyIKLSAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVQnPlQ8L2xpbms+ICAgICAgID0gIiR7VE1QRElSfS8ke1BOfS93b3JrIgotICAgICA8bGluayBsaW5rZW5kPSd2YXItQic+QjwvbGluaz4gICAgICAgPSAiJHtUTVBESVJ9LyR7UE59IgorICAgICBUTVBESVIgID0gIiR7PGxpbmsgbGlua2VuZD0ndmFyLWJiLVRPUERJUic+VE9QRElSPC9saW5rPn0vdG1wIgorICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQ0FDSEUnPkNBQ0hFPC9saW5rPiAgID0gIiR7VE1QRElSfS9jYWNoZSIKKyAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVNUQU1QJz5TVEFNUDwvbGluaz4gICA9ICIke1RNUERJUn0vJHtQTn0vc3RhbXBzIgorICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItVCc+VDwvbGluaz4gICAgICAgPSAiJHtUTVBESVJ9LyR7UE59L3dvcmsiCisgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CJz5CPC9saW5rPiAgICAgICA9ICIke1RNUERJUn0vJHtQTn0iCiAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgogICAgICAgICAgICAgICAgIDxub3RlPgogICAgICAgICAgICAgICAgICAgICBXaXRob3V0IGEgdmFsdWUgZm9yIDxmaWxlbmFtZT5QTjwvZmlsZW5hbWU+LCB0aGUKQEAgLTQwMiwxMiArNDAyLDEyIEBACiAgICAgICAgICAgICAgICAgTW92ZSB0byB0aGUgPGZpbGVuYW1lPmNvbmY8L2ZpbGVuYW1lPiBkaXJlY3RvcnkgYW5kIGNyZWF0ZSBhCiAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPmxheWVyLmNvbmY8L2ZpbGVuYW1lPiBmaWxlIHRoYXQgaGFzIHRoZSBmb2xsb3dpbmc6CiAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgotICAgICBCQlBBVEggLj0gIjokezxsaW5rIGxpbmtlbmQ9J3Zhci1MQVlFUkRJUic+TEFZRVJESVI8L2xpbms+fSIKKyAgICAgQkJQQVRIIC49ICI6JHs8bGluayBsaW5rZW5kPSd2YXItYmItTEFZRVJESVInPkxBWUVSRElSPC9saW5rPn0iCiAKLSAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCRklMRVMnPkJCRklMRVM8L2xpbms+ICs9ICIke0xBWUVSRElSfS8qLmJiIgorICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJGSUxFUyc+QkJGSUxFUzwvbGluaz4gKz0gIiR7TEFZRVJESVJ9LyouYmIiCiAKLSAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCRklMRV9DT0xMRUNUSU9OUyc+QkJGSUxFX0NPTExFQ1RJT05TPC9saW5rPiArPSAibXlsYXllciIKLSAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCRklMRV9QQVRURVJOJz5CQkZJTEVfUEFUVEVSTl9teWxheWVyPC9saW5rPiA6PSAiXiR7TEFZRVJESVJfUkV9LyIKKyAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCRklMRV9DT0xMRUNUSU9OUyc+QkJGSUxFX0NPTExFQ1RJT05TPC9saW5rPiArPSAibXlsYXllciIKKyAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCRklMRV9QQVRURVJOJz5CQkZJTEVfUEFUVEVSTl9teWxheWVyPC9saW5rPiA6PSAiXiR7TEFZRVJESVJfUkV9LyIKICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CiAgICAgICAgICAgICAgICAgRm9yIGluZm9ybWF0aW9uIG9uIHRoZXNlIHZhcmlhYmxlcywgY2xpY2sgdGhlIGxpbmtzCiAgICAgICAgICAgICAgICAgdG8gZ28gdG8gdGhlIGRlZmluaXRpb25zIGluIHRoZSBnbG9zc2FyeS48L3BhcmE+CkBAIC00MTYsOSArNDE2LDkgQEAKICAgICAgICAgICAgICAgICBhIHJlY2lwZSBmaWxlIG5hbWVkIDxmaWxlbmFtZT5wcmludGhlbGxvLmJiPC9maWxlbmFtZT4gdGhhdAogICAgICAgICAgICAgICAgIGhhcyB0aGUgZm9sbG93aW5nOgogICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KLSAgICAgPGxpbmsgbGlua2VuZD0ndmFyLURFU0NSSVBUSU9OJz5ERVNDUklQVElPTjwvbGluaz4gPSAiUHJpbnRzIEhlbGxvIFdvcmxkIgotICAgICA8bGluayBsaW5rZW5kPSd2YXItUE4nPlBOPC9saW5rPiA9ICdwcmludGhlbGxvJwotICAgICA8bGluayBsaW5rZW5kPSd2YXItUFYnPlBWPC9saW5rPiA9ICcxJworICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItREVTQ1JJUFRJT04nPkRFU0NSSVBUSU9OPC9saW5rPiA9ICJQcmludHMgSGVsbG8gV29ybGQiCisgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QTic+UE48L2xpbms+ID0gJ3ByaW50aGVsbG8nCisgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QVic+UFY8L2xpbms+ID0gJzEnCiAKICAgICAgcHl0aG9uIGRvX2J1aWxkKCkgewogICAgICAgICBiYi5wbGFpbigiKioqKioqKioqKioqKioqKioqKioiKTsKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9kb2MvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLWludHJvLnhtbCBiL3Bva3kvYml0YmFrZS9kb2MvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLWludHJvLnhtbAppbmRleCBmN2QzMTJhLi4wMjA1OGE2IDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1pbnRyby54bWwKKysrIGIvcG9reS9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2JpdGJha2UtdXNlci1tYW51YWwtaW50cm8ueG1sCkBAIC03ODEsNyArNzgxLDcgQEAKICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LCB5b3UgbXVzdCBhbHNvIGVuYWJsZSBCaXRCYWtlIHRvIHBlcmZvcm0gbXVsdGlwbGUKICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbiBidWlsZHMuCiAgICAgICAgICAgICAgICAgICAgIEVuYWJsaW5nIGlzIGFjY29tcGxpc2hlZCBieSBzZXR0aW5nIHRoZQotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJNVUxUSUNPTkZJRyc+PGZpbGVuYW1lPkJCTVVMVElDT05GSUc8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCTVVMVElDT05GSUcnPjxmaWxlbmFtZT5CQk1VTFRJQ09ORklHPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlIGluIHRoZSA8ZmlsZW5hbWU+bG9jYWwuY29uZjwvZmlsZW5hbWU+CiAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24gZmlsZS4KICAgICAgICAgICAgICAgICAgICAgQXMgYW4gZXhhbXBsZSwgc3VwcG9zZSB5b3UgaGFkIGNvbmZpZ3VyYXRpb24gZmlsZXMKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9kb2MvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLW1ldGFkYXRhLnhtbCBiL3Bva3kvYml0YmFrZS9kb2MvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLW1ldGFkYXRhLnhtbAppbmRleCBkOTFmNDM3Li4xOTlhYjIzIDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1tZXRhZGF0YS54bWwKKysrIGIvcG9reS9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2JpdGJha2UtdXNlci1tYW51YWwtbWV0YWRhdGEueG1sCkBAIC01OTUsNyArNTk1LDcgQEAKIAogICAgICAgICA8cGFyYT4KICAgICAgICAgICAgIEJpdEJha2UgdXNlcwotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLU9WRVJSSURFUyc+PGZpbGVuYW1lPk9WRVJSSURFUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLU9WRVJSSURFUyc+PGZpbGVuYW1lPk9WRVJSSURFUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgdG8gY29udHJvbCB3aGF0IHZhcmlhYmxlcyBhcmUgb3ZlcnJpZGRlbiBhZnRlciBCaXRCYWtlCiAgICAgICAgICAgICBwYXJzZXMgcmVjaXBlcyBhbmQgY29uZmlndXJhdGlvbiBmaWxlcy4KICAgICAgICAgICAgIFRoaXMgc2VjdGlvbiBkZXNjcmliZXMgaG93IHlvdSBjYW4gdXNlCkBAIC03MDUsNyArNzA1LDcgQEAKIAogICAgICAgICAgICAgICAgICAgICAgICAgPHBhcmE+SW50ZXJuYWxseSwgdGhpcyBpcyBpbXBsZW1lbnRlZCBieSBwcmVwZW5kaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgdGFzayAoZS5nLiAidGFzay1jb21waWxlOiIpIHRvIHRoZSB2YWx1ZSBvZgotICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLU9WRVJSSURFUyc+PGZpbGVuYW1lPk9WRVJSSURFUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLU9WRVJSSURFUyc+PGZpbGVuYW1lPk9WRVJSSURFUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBsb2NhbCBkYXRhc3RvcmUgb2YgdGhlIDxmaWxlbmFtZT5kb19jb21waWxlPC9maWxlbmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgIHRhc2suPC9wYXJhPgogCkBAIC04NjgsNyArODY4LDcgQEAKIAogICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgQml0QmFrZSB1c2VzIHRoZQotICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQlBBVEgnPjxmaWxlbmFtZT5CQlBBVEg8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJQQVRIJz48ZmlsZW5hbWU+QkJQQVRIPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgdmFyaWFibGUgdG8gbG9jYXRlIG5lZWRlZCBpbmNsdWRlIGFuZCBjbGFzcyBmaWxlcy4KICAgICAgICAgICAgICAgICBBZGRpdGlvbmFsbHksIEJpdEJha2Ugc2VhcmNoZXMgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IGZvcgogICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5pbmNsdWRlPC9maWxlbmFtZT4gYW5kIDxmaWxlbmFtZT5yZXF1aXJlPC9maWxlbmFtZT4KQEAgLTEwODYsNyArMTA4Niw3IEBACiAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICBXaGVuIGNyZWF0aW5nIGEgY29uZmlndXJhdGlvbiBmaWxlICg8ZmlsZW5hbWU+LmNvbmY8L2ZpbGVuYW1lPiksCiAgICAgICAgICAgICAgICAgeW91IGNhbiB1c2UgdGhlCi0gICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUlOSEVSSVQnPjxmaWxlbmFtZT5JTkhFUklUPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUlOSEVSSVQnPjxmaWxlbmFtZT5JTkhFUklUPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbiBkaXJlY3RpdmUgdG8gaW5oZXJpdCBhIGNsYXNzLgogICAgICAgICAgICAgICAgIEJpdEJha2Ugb25seSBzdXBwb3J0cyB0aGlzIGRpcmVjdGl2ZSB3aGVuIHVzZWQgd2l0aGluCiAgICAgICAgICAgICAgICAgYSBjb25maWd1cmF0aW9uIGZpbGUuCkBAIC0xMzcwLDcgKzEzNzAsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KICAgICAgICAgICAgICAgICAgICAgICAgIEJpdEJha2Utc3R5bGUgUHl0aG9uIGZ1bmN0aW9ucyBnZW5lcmF0ZSBhIHNlcGFyYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+JHs8L2ZpbGVuYW1lPjxsaW5rIGxpbmtlbmQ9J3Zhci1UJz48ZmlsZW5hbWU+VDwvZmlsZW5hbWU+PC9saW5rPjxmaWxlbmFtZT59L3J1bi48L2ZpbGVuYW1lPjxyZXBsYWNlYWJsZT5mdW5jdGlvbi1uYW1lPC9yZXBsYWNlYWJsZT48ZmlsZW5hbWU+LjwvZmlsZW5hbWU+PHJlcGxhY2VhYmxlPnBpZDwvcmVwbGFjZWFibGU+CisgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+JHs8L2ZpbGVuYW1lPjxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1UJz48ZmlsZW5hbWU+VDwvZmlsZW5hbWU+PC9saW5rPjxmaWxlbmFtZT59L3J1bi48L2ZpbGVuYW1lPjxyZXBsYWNlYWJsZT5mdW5jdGlvbi1uYW1lPC9yZXBsYWNlYWJsZT48ZmlsZW5hbWU+LjwvZmlsZW5hbWU+PHJlcGxhY2VhYmxlPnBpZDwvcmVwbGFjZWFibGU+CiAgICAgICAgICAgICAgICAgICAgICAgICBzY3JpcHQgdGhhdCBpcyBleGVjdXRlZCB0byBydW4gdGhlIGZ1bmN0aW9uLCBhbmQgYWxzbwogICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGUgYSBsb2cgZmlsZSBpbgogICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPiR7VH0vbG9nLjwvZmlsZW5hbWU+PHJlcGxhY2VhYmxlPmZ1bmN0aW9uLW5hbWU8L3JlcGxhY2VhYmxlPjxmaWxlbmFtZT4uPC9maWxlbmFtZT48cmVwbGFjZWFibGU+cGlkPC9yZXBsYWNlYWJsZT4KQEAgLTE3NzMsNyArMTc3Myw3IEBACiAgICAgICAgICAgICAgICAgICAgIHRoaW5ncyBleHBvcnRlZCBvciBsaXN0ZWQgaW4gaXRzIHdoaXRlbGlzdCB0byBlbnN1cmUgdGhhdCB0aGUgYnVpbGQKICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQgaXMgcmVwcm9kdWNpYmxlIGFuZCBjb25zaXN0ZW50LgogICAgICAgICAgICAgICAgICAgICBZb3UgY2FuIHByZXZlbnQgdGhpcyAiY2xlYW5pbmciIGJ5IHNldHRpbmcgdGhlCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9QUkVTRVJWRV9FTlYnPjxmaWxlbmFtZT5CQl9QUkVTRVJWRV9FTlY8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX1BSRVNFUlZFX0VOVic+PGZpbGVuYW1lPkJCX1BSRVNFUlZFX0VOVjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZS4KICAgICAgICAgICAgICAgICA8L25vdGU+CiAgICAgICAgICAgICAgICAgQ29uc2VxdWVudGx5LCBpZiB5b3UgZG8gd2FudCBzb21ldGhpbmcgdG8gZ2V0IHBhc3NlZCBpbnRvIHRoZQpAQCAtMTc4Myw5ICsxNzgzLDkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIFRlbGwgQml0QmFrZSB0byBsb2FkIHdoYXQgeW91IHdhbnQgZnJvbSB0aGUgZW52aXJvbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgIGludG8gdGhlIGRhdGFzdG9yZS4KICAgICAgICAgICAgICAgICAgICAgICAgIFlvdSBjYW4gZG8gc28gdGhyb3VnaCB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9FTlZfV0hJVEVMSVNUJz48ZmlsZW5hbWU+QkJfRU5WX1dISVRFTElTVDwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX0VOVl9XSElURUxJU1QnPjxmaWxlbmFtZT5CQl9FTlZfV0hJVEVMSVNUPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgICAgICBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9FTlZfRVhUUkFXSElURSc+PGZpbGVuYW1lPkJCX0VOVl9FWFRSQVdISVRFPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfRU5WX0VYVFJBV0hJVEUnPjxmaWxlbmFtZT5CQl9FTlZfRVhUUkFXSElURTwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGVzLgogICAgICAgICAgICAgICAgICAgICAgICAgRm9yIGV4YW1wbGUsIGFzc3VtZSB5b3Ugd2FudCB0byBwcmV2ZW50IHRoZSBidWlsZCBzeXN0ZW0gZnJvbQogICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzaW5nIHlvdXIgPGZpbGVuYW1lPiRIT01FLy5jY2FjaGU8L2ZpbGVuYW1lPgpAQCAtMTgyNCw3ICsxODI0LDcgQEAKICAgICAgICAgICAgICAgICBmcm9tIHRoZSBvcmlnaW5hbCBleGVjdXRpb24gZW52aXJvbm1lbnQuCiAgICAgICAgICAgICAgICAgQml0YmFrZSBzYXZlcyBhIGNvcHkgb2YgdGhlIG9yaWdpbmFsIGVudmlyb25tZW50IGludG8KICAgICAgICAgICAgICAgICBhIHNwZWNpYWwgdmFyaWFibGUgbmFtZWQKLSAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfT1JJR0VOVic+PGZpbGVuYW1lPkJCX09SSUdFTlY8L2ZpbGVuYW1lPjwvbGluaz4uCisgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX09SSUdFTlYnPjxmaWxlbmFtZT5CQl9PUklHRU5WPC9maWxlbmFtZT48L2xpbms+LgogICAgICAgICAgICAgPC9wYXJhPgogCiAgICAgICAgICAgICA8cGFyYT4KQEAgLTE4ODMsNyArMTg4Myw3IEBACiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz48ZmlsZW5hbWU+W2RlcGVuZHNdPC9maWxlbmFtZT46PC9lbXBoYXNpcz4KICAgICAgICAgICAgICAgICAgICAgQ29udHJvbHMgaW50ZXItdGFzayBkZXBlbmRlbmNpZXMuCiAgICAgICAgICAgICAgICAgICAgIFNlZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLURFUEVORFMnPjxmaWxlbmFtZT5ERVBFTkRTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1ERVBFTkRTJz48ZmlsZW5hbWU+REVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZSBhbmQgdGhlCiAgICAgICAgICAgICAgICAgICAgICI8bGluayBsaW5rZW5kPSdpbnRlci10YXNrLWRlcGVuZGVuY2llcyc+SW50ZXItVGFzayBEZXBlbmRlbmNpZXM8L2xpbms+IgogICAgICAgICAgICAgICAgICAgICBzZWN0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9uLgpAQCAtMTg5MSw3ICsxODkxLDcgQEAKICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+PGVtcGhhc2lzPjxmaWxlbmFtZT5bZGVwdGFza108L2ZpbGVuYW1lPjo8L2VtcGhhc2lzPgogICAgICAgICAgICAgICAgICAgICBDb250cm9scyB0YXNrIGJ1aWxkLXRpbWUgZGVwZW5kZW5jaWVzLgogICAgICAgICAgICAgICAgICAgICBTZWUgdGhlCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1ERVBFTkRTJz48ZmlsZW5hbWU+REVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItREVQRU5EUyc+PGZpbGVuYW1lPkRFUEVORFM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUgYW5kIHRoZQogICAgICAgICAgICAgICAgICAgICAiPGxpbmsgbGlua2VuZD0nYnVpbGQtZGVwZW5kZW5jaWVzJz5CdWlsZCBEZXBlbmRlbmNpZXM8L2xpbms+IgogICAgICAgICAgICAgICAgICAgICBzZWN0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9uLgpAQCAtMTkzNyw3ICsxOTM3LDcgQEAKICAgICAgICAgICAgICAgICAgICAgb2YgY29yZXMgYnV0IGNlcnRhaW4gdGFza3MgbmVlZCB0byBiZSByYXRlLWxpbWl0ZWQgZHVlIHRvIHZhcmlvdXMKICAgICAgICAgICAgICAgICAgICAga2luZHMgb2YgcmVzb3VyY2UgY29uc3RyYWludHMgKGUuZy4gdG8gYXZvaWQgbmV0d29yayB0aHJvdHRsaW5nKS4KICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPm51bWJlcl90aHJlYWRzPC9maWxlbmFtZT4gd29ya3Mgc2ltaWxhcmx5IHRvIHRoZQotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfTlVNQkVSX1RIUkVBRFMnPjxmaWxlbmFtZT5CQl9OVU1CRVJfVEhSRUFEUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfTlVNQkVSX1RIUkVBRFMnPjxmaWxlbmFtZT5CQl9OVU1CRVJfVEhSRUFEUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZSBidXQgaXMgdGFzay1zcGVjaWZpYy48L3BhcmE+CiAKICAgICAgICAgICAgICAgICAgICAgPHBhcmE+U2V0IHRoZSB2YWx1ZSBnbG9iYWxseS4KQEAgLTE5NzEsOSArMTk3MSw5IEBACiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz48ZmlsZW5hbWU+W3JkZXBlbmRzXTwvZmlsZW5hbWU+OjwvZW1waGFzaXM+CiAgICAgICAgICAgICAgICAgICAgIENvbnRyb2xzIGludGVyLXRhc2sgcnVudGltZSBkZXBlbmRlbmNpZXMuCiAgICAgICAgICAgICAgICAgICAgIFNlZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVJERVBFTkRTJz48ZmlsZW5hbWU+UkRFUEVORFM8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVJERVBFTkRTJz48ZmlsZW5hbWU+UkRFUEVORFM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUsIHRoZQotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUlJFQ09NTUVORFMnPjxmaWxlbmFtZT5SUkVDT01NRU5EUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUlJFQ09NTUVORFMnPjxmaWxlbmFtZT5SUkVDT01NRU5EUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZSwgYW5kIHRoZQogICAgICAgICAgICAgICAgICAgICAiPGxpbmsgbGlua2VuZD0naW50ZXItdGFzay1kZXBlbmRlbmNpZXMnPkludGVyLVRhc2sgRGVwZW5kZW5jaWVzPC9saW5rPiIKICAgICAgICAgICAgICAgICAgICAgc2VjdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KQEAgLTE5ODEsOSArMTk4MSw5IEBACiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz48ZmlsZW5hbWU+W3JkZXB0YXNrXTwvZmlsZW5hbWU+OjwvZW1waGFzaXM+CiAgICAgICAgICAgICAgICAgICAgIENvbnRyb2xzIHRhc2sgcnVudGltZSBkZXBlbmRlbmNpZXMuCiAgICAgICAgICAgICAgICAgICAgIFNlZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVJERVBFTkRTJz48ZmlsZW5hbWU+UkRFUEVORFM8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVJERVBFTkRTJz48ZmlsZW5hbWU+UkRFUEVORFM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUsIHRoZQotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUlJFQ09NTUVORFMnPjxmaWxlbmFtZT5SUkVDT01NRU5EUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUlJFQ09NTUVORFMnPjxmaWxlbmFtZT5SUkVDT01NRU5EUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZSwgYW5kIHRoZQogICAgICAgICAgICAgICAgICAgICAiPGxpbmsgbGlua2VuZD0ncnVudGltZS1kZXBlbmRlbmNpZXMnPlJ1bnRpbWUgRGVwZW5kZW5jaWVzPC9saW5rPiIKICAgICAgICAgICAgICAgICAgICAgc2VjdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KQEAgLTE5OTYsOSArMTk5Niw5IEBACiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz48ZmlsZW5hbWU+W3JlY3JkZXB0YXNrXTwvZmlsZW5hbWU+OjwvZW1waGFzaXM+CiAgICAgICAgICAgICAgICAgICAgIENvbnRyb2xzIHRhc2sgcmVjdXJzaXZlIHJ1bnRpbWUgZGVwZW5kZW5jaWVzLgogICAgICAgICAgICAgICAgICAgICBTZWUgdGhlCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1SREVQRU5EUyc+PGZpbGVuYW1lPlJERVBFTkRTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1SREVQRU5EUyc+PGZpbGVuYW1lPlJERVBFTkRTPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlLCB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVJSRUNPTU1FTkRTJz48ZmlsZW5hbWU+UlJFQ09NTUVORFM8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVJSRUNPTU1FTkRTJz48ZmlsZW5hbWU+UlJFQ09NTUVORFM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUsIGFuZCB0aGUKICAgICAgICAgICAgICAgICAgICAgIjxsaW5rIGxpbmtlbmQ9J3JlY3Vyc2l2ZS1kZXBlbmRlbmNpZXMnPlJlY3Vyc2l2ZSBEZXBlbmRlbmNpZXM8L2xpbms+IgogICAgICAgICAgICAgICAgICAgICBzZWN0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9uLgpAQCAtMjEyNyw3ICsyMTI3LDcgQEAKICAgICAgICAgICAgICAgICAgICAgQW55IGdpdmVuIGRhdGFzdG9yZSBvbmx5IGhhcyBvbmUgc3VjaCBldmVudCBleGVjdXRlZAogICAgICAgICAgICAgICAgICAgICBhZ2FpbnN0IGl0LCBob3dldmVyLgogICAgICAgICAgICAgICAgICAgICBJZgotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kZT0ndmFyLUJCX0lOVkFMSURDT05GJz48ZmlsZW5hbWU+QkJfSU5WQUxJRENPTkY8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZGU9J3Zhci1iYi1CQl9JTlZBTElEQ09ORic+PGZpbGVuYW1lPkJCX0lOVkFMSURDT05GPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIGlzIHNldCBpbiB0aGUgZGF0YXN0b3JlIGJ5IHRoZSBldmVudCBoYW5kbGVyLCB0aGUKICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbiBpcyByZXBhcnNlZCBhbmQgYSBuZXcgZXZlbnQgdHJpZ2dlcmVkLAogICAgICAgICAgICAgICAgICAgICBhbGxvd2luZyB0aGUgbWV0YWRhdGEgdG8gdXBkYXRlIGNvbmZpZ3VyYXRpb24uCkBAIC0yMjU2LDE3ICsyMjU2LDE3IEBACiAgICAgICAgICAgICBmcm9tIGEgc2luZ2xlIHJlY2lwZSBmaWxlIG11bHRpcGxlIGluY2FybmF0aW9ucyBvZiB0aGF0CiAgICAgICAgICAgICByZWNpcGUgZmlsZSB3aGVyZSBhbGwgaW5jYXJuYXRpb25zIGFyZSBidWlsZGFibGUuCiAgICAgICAgICAgICBUaGVzZSBmZWF0dXJlcyBhcmUgZW5hYmxlZCB0aHJvdWdoIHRoZQotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCQ0xBU1NFWFRFTkQnPjxmaWxlbmFtZT5CQkNMQVNTRVhURU5EPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJDTEFTU0VYVEVORCc+PGZpbGVuYW1lPkJCQ0xBU1NFWFRFTkQ8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgIGFuZAotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCVkVSU0lPTlMnPjxmaWxlbmFtZT5CQlZFUlNJT05TPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJWRVJTSU9OUyc+PGZpbGVuYW1lPkJCVkVSU0lPTlM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgIHZhcmlhYmxlcy4KICAgICAgICAgICAgIDxub3RlPgogICAgICAgICAgICAgICAgIFRoZSBtZWNoYW5pc20gZm9yIHRoaXMgY2xhc3MgZXh0ZW5zaW9uIGlzIGV4dHJlbWVseQogICAgICAgICAgICAgICAgIHNwZWNpZmljIHRvIHRoZSBpbXBsZW1lbnRhdGlvbi4KICAgICAgICAgICAgICAgICBVc3VhbGx5LCB0aGUgcmVjaXBlJ3MKLSAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUFJPVklERVMnPjxmaWxlbmFtZT5QUk9WSURFUzwvZmlsZW5hbWU+PC9saW5rPiwKLSAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUE4nPjxmaWxlbmFtZT5QTjwvZmlsZW5hbWU+PC9saW5rPiwgYW5kCi0gICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLURFUEVORFMnPjxmaWxlbmFtZT5ERVBFTkRTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVBST1ZJREVTJz48ZmlsZW5hbWU+UFJPVklERVM8L2ZpbGVuYW1lPjwvbGluaz4sCisgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVBOJz48ZmlsZW5hbWU+UE48L2ZpbGVuYW1lPjwvbGluaz4sIGFuZAorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1ERVBFTkRTJz48ZmlsZW5hbWU+REVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgIHZhcmlhYmxlcyB3b3VsZCBuZWVkIHRvIGJlIG1vZGlmaWVkIGJ5IHRoZSBleHRlbnNpb24gY2xhc3MuCiAgICAgICAgICAgICAgICAgRm9yIHNwZWNpZmljIGV4YW1wbGVzLCBzZWUgdGhlIE9FLUNvcmUKICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+bmF0aXZlPC9maWxlbmFtZT4sIDxmaWxlbmFtZT5uYXRpdmVzZGs8L2ZpbGVuYW1lPiwKQEAgLTIyODcsNyArMjI4Nyw3IEBACiAgICAgICAgICAgICAgICAgICAgIHByb2plY3QgZnJvbSBhIHNpbmdsZSByZWNpcGUgZmlsZS4KICAgICAgICAgICAgICAgICAgICAgWW91IGNhbiBhbHNvIHNwZWNpZnkgY29uZGl0aW9uYWwgbWV0YWRhdGEKICAgICAgICAgICAgICAgICAgICAgKHVzaW5nIHRoZQotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItT1ZFUlJJREVTJz48ZmlsZW5hbWU+T1ZFUlJJREVTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1PVkVSUklERVMnPjxmaWxlbmFtZT5PVkVSUklERVM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgbWVjaGFuaXNtKSBmb3IgYSBzaW5nbGUgdmVyc2lvbiwgb3IgYW4gb3B0aW9uYWxseSBuYW1lZCByYW5nZSBvZiB2ZXJzaW9ucy4KICAgICAgICAgICAgICAgICAgICAgSGVyZSBpcyBhbiBleGFtcGxlOgogICAgICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+CkBAIC0yMzA2LDcgKzIzMDYsNyBAQAogICAgICAgICAgICAgICAgICAgICBpbnRvIG92ZXJyaWRlcywgYnV0IGl0IGlzIGFsc28gbWFkZSBhdmFpbGFibGUgZm9yIHRoZSBtZXRhZGF0YSB0byB1c2UKICAgICAgICAgICAgICAgICAgICAgaW4gdGhlIHZhcmlhYmxlIHRoYXQgZGVmaW5lcyB0aGUgYmFzZSByZWNpcGUgdmVyc2lvbnMgZm9yIHVzZSBpbgogICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+ZmlsZTovLzwvZmlsZW5hbWU+IHNlYXJjaCBwYXRocwotICAgICAgICAgICAgICAgICAgICAoPGxpbmsgbGlua2VuZD0ndmFyLUZJTEVTUEFUSCc+PGZpbGVuYW1lPkZJTEVTUEFUSDwvZmlsZW5hbWU+PC9saW5rPikuCisgICAgICAgICAgICAgICAgICAgICg8bGluayBsaW5rZW5kPSd2YXItYmItRklMRVNQQVRIJz48ZmlsZW5hbWU+RklMRVNQQVRIPC9maWxlbmFtZT48L2xpbms+KS4KICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICA8L2l0ZW1pemVkbGlzdD4KICAgICAgICAgPC9wYXJhPgpAQCAtMjQwOCw3ICsyNDA4LDcgQEAKIAogICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgQml0QmFrZSB1c2VzIHRoZQotICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1ERVBFTkRTJz48ZmlsZW5hbWU+REVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1ERVBFTkRTJz48ZmlsZW5hbWU+REVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgIHZhcmlhYmxlIHRvIG1hbmFnZSBidWlsZCB0aW1lIGRlcGVuZGVuY2llcy4KICAgICAgICAgICAgICAgICBUaGUgPGZpbGVuYW1lPltkZXB0YXNrXTwvZmlsZW5hbWU+IHZhcmZsYWcgZm9yIHRhc2tzCiAgICAgICAgICAgICAgICAgc2lnbmlmaWVzIHRoZSB0YXNrIG9mIGVhY2gKQEAgLTI0MjksOSArMjQyOSw5IEBACiAKICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgIEJpdEJha2UgdXNlcyB0aGUKLSAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUEFDS0FHRVMnPjxmaWxlbmFtZT5QQUNLQUdFUzwvZmlsZW5hbWU+PC9saW5rPiwKLSAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUkRFUEVORFMnPjxmaWxlbmFtZT5SREVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPiwgYW5kCi0gICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVJSRUNPTU1FTkRTJz48ZmlsZW5hbWU+UlJFQ09NTUVORFM8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUEFDS0FHRVMnPjxmaWxlbmFtZT5QQUNLQUdFUzwvZmlsZW5hbWU+PC9saW5rPiwKKyAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUkRFUEVORFMnPjxmaWxlbmFtZT5SREVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPiwgYW5kCisgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVJSRUNPTU1FTkRTJz48ZmlsZW5hbWU+UlJFQ09NTUVORFM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICB2YXJpYWJsZXMgdG8gbWFuYWdlIHJ1bnRpbWUgZGVwZW5kZW5jaWVzLgogICAgICAgICAgICAgPC9wYXJhPgogCkBAIC0yNjg2LDcgKzI2ODYsNyBAQAogCiAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgVGhlc2UgY2hlY2tzdW1zIGFyZSBzdG9yZWQgaW4KLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1TVEFNUCc+PGZpbGVuYW1lPlNUQU1QPC9maWxlbmFtZT48L2xpbms+LgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVNUQU1QJz48ZmlsZW5hbWU+U1RBTVA8L2ZpbGVuYW1lPjwvbGluaz4uCiAgICAgICAgICAgICBZb3UgY2FuIGV4YW1pbmUgdGhlIGNoZWNrc3VtcyB1c2luZyB0aGUgZm9sbG93aW5nIEJpdEJha2UgY29tbWFuZDoKICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KICAgICAgJCBiaXRiYWtlLWR1bXBzaWdzCkBAIC0yNzA4LDQ0ICsyNzA4LDQ0IEBACiAgICAgICAgICAgICBUaGUgZm9sbG93aW5nIGxpc3QgZGVzY3JpYmVzIHJlbGF0ZWQgdmFyaWFibGVzOgogICAgICAgICAgICAgPGl0ZW1pemVkbGlzdD4KICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+Ci0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9IQVNIQ0hFQ0tfRlVOQ1RJT04nPjxmaWxlbmFtZT5CQl9IQVNIQ0hFQ0tfRlVOQ1RJT048L2ZpbGVuYW1lPjwvbGluaz46CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9IQVNIQ0hFQ0tfRlVOQ1RJT04nPjxmaWxlbmFtZT5CQl9IQVNIQ0hFQ0tfRlVOQ1RJT048L2ZpbGVuYW1lPjwvbGluaz46CiAgICAgICAgICAgICAgICAgICAgIFNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgZnVuY3Rpb24gdG8gY2FsbCBkdXJpbmcKICAgICAgICAgICAgICAgICAgICAgdGhlICJzZXRzY2VuZSIgcGFydCBvZiB0aGUgdGFzaydzIGV4ZWN1dGlvbiBpbiBvcmRlcgogICAgICAgICAgICAgICAgICAgICB0byB2YWxpZGF0ZSB0aGUgbGlzdCBvZiB0YXNrIGhhc2hlcy4KICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfU0VUU0NFTkVfREVQVkFMSUQnPjxmaWxlbmFtZT5CQl9TRVRTQ0VORV9ERVBWQUxJRDwvZmlsZW5hbWU+PC9saW5rPjoKKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX1NFVFNDRU5FX0RFUFZBTElEJz48ZmlsZW5hbWU+QkJfU0VUU0NFTkVfREVQVkFMSUQ8L2ZpbGVuYW1lPjwvbGluaz46CiAgICAgICAgICAgICAgICAgICAgIFNwZWNpZmllcyBhIGZ1bmN0aW9uIEJpdEJha2UgY2FsbHMgdGhhdCBkZXRlcm1pbmVzCiAgICAgICAgICAgICAgICAgICAgIHdoZXRoZXIgQml0QmFrZSByZXF1aXJlcyBhIHNldHNjZW5lIGRlcGVuZGVuY3kgdG8KICAgICAgICAgICAgICAgICAgICAgYmUgbWV0LgogICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+Ci0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9TRVRTQ0VORV9WRVJJRllfRlVOQ1RJT04yJz48ZmlsZW5hbWU+QkJfU0VUU0NFTkVfVkVSSUZZX0ZVTkNUSU9OMjwvZmlsZW5hbWU+PC9saW5rPjoKKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX1NFVFNDRU5FX1ZFUklGWV9GVU5DVElPTjInPjxmaWxlbmFtZT5CQl9TRVRTQ0VORV9WRVJJRllfRlVOQ1RJT04yPC9maWxlbmFtZT48L2xpbms+OgogICAgICAgICAgICAgICAgICAgICBTcGVjaWZpZXMgYSBmdW5jdGlvbiB0byBjYWxsIHRoYXQgdmVyaWZpZXMgdGhlIGxpc3Qgb2YKICAgICAgICAgICAgICAgICAgICAgcGxhbm5lZCB0YXNrIGV4ZWN1dGlvbiBiZWZvcmUgdGhlIG1haW4gdGFzayBleGVjdXRpb24KICAgICAgICAgICAgICAgICAgICAgaGFwcGVucy4KICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfU1RBTVBfUE9MSUNZJz48ZmlsZW5hbWU+QkJfU1RBTVBfUE9MSUNZPC9maWxlbmFtZT48L2xpbms+OgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfU1RBTVBfUE9MSUNZJz48ZmlsZW5hbWU+QkJfU1RBTVBfUE9MSUNZPC9maWxlbmFtZT48L2xpbms+OgogICAgICAgICAgICAgICAgICAgICBEZWZpbmVzIHRoZSBtb2RlIGZvciBjb21wYXJpbmcgdGltZXN0YW1wcyBvZiBzdGFtcCBmaWxlcy4KICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfU1RBTVBfV0hJVEVMSVNUJz48ZmlsZW5hbWU+QkJfU1RBTVBfV0hJVEVMSVNUPC9maWxlbmFtZT48L2xpbms+OgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfU1RBTVBfV0hJVEVMSVNUJz48ZmlsZW5hbWU+QkJfU1RBTVBfV0hJVEVMSVNUPC9maWxlbmFtZT48L2xpbms+OgogICAgICAgICAgICAgICAgICAgICBMaXN0cyBzdGFtcCBmaWxlcyB0aGF0IGFyZSBsb29rZWQgYXQgd2hlbiB0aGUgc3RhbXAgcG9saWN5CiAgICAgICAgICAgICAgICAgICAgIGlzICJ3aGl0ZWxpc3QiLgogICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+Ci0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9UQVNLSEFTSCc+PGZpbGVuYW1lPkJCX1RBU0tIQVNIPC9maWxlbmFtZT48L2xpbms+OgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfVEFTS0hBU0gnPjxmaWxlbmFtZT5CQl9UQVNLSEFTSDwvZmlsZW5hbWU+PC9saW5rPjoKICAgICAgICAgICAgICAgICAgICAgV2l0aGluIGFuIGV4ZWN1dGluZyB0YXNrLCB0aGlzIHZhcmlhYmxlIGhvbGRzIHRoZSBoYXNoCiAgICAgICAgICAgICAgICAgICAgIG9mIHRoZSB0YXNrIGFzIHJldHVybmVkIGJ5IHRoZSBjdXJyZW50bHkgZW5hYmxlZAogICAgICAgICAgICAgICAgICAgICBzaWduYXR1cmUgZ2VuZXJhdG9yLgogICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+Ci0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1TVEFNUCc+PGZpbGVuYW1lPlNUQU1QPC9maWxlbmFtZT48L2xpbms+OgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItU1RBTVAnPjxmaWxlbmFtZT5TVEFNUDwvZmlsZW5hbWU+PC9saW5rPjoKICAgICAgICAgICAgICAgICAgICAgVGhlIGJhc2UgcGF0aCB0byBjcmVhdGUgc3RhbXAgZmlsZXMuCiAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVNUQU1QQ0xFQU4nPjxmaWxlbmFtZT5TVEFNUENMRUFOPC9maWxlbmFtZT48L2xpbms+OgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItU1RBTVBDTEVBTic+PGZpbGVuYW1lPlNUQU1QQ0xFQU48L2ZpbGVuYW1lPjwvbGluaz46CiAgICAgICAgICAgICAgICAgICAgIEFnYWluLCB0aGUgYmFzZSBwYXRoIHRvIGNyZWF0ZSBzdGFtcCBmaWxlcyBidXQgY2FuIHVzZSB3aWxkY2FyZHMKICAgICAgICAgICAgICAgICAgICAgZm9yIG1hdGNoaW5nIGEgcmFuZ2Ugb2YgZmlsZXMgZm9yIGNsZWFuIG9wZXJhdGlvbnMuCiAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2JpdGJha2UtdXNlci1tYW51YWwtcmVmLXZhcmlhYmxlcy54bWwgYi9wb2t5L2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1yZWYtdmFyaWFibGVzLnhtbAppbmRleCBhODRiMmJjLi5hY2E2NzQxIDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1yZWYtdmFyaWFibGVzLnhtbAorKysgYi9wb2t5L2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1yZWYtdmFyaWFibGVzLnhtbApAQCAtMyw3ICszLDcgQEAKIFs8IUVOVElUWSAlIHBva3kgU1lTVEVNICIuLi9wb2t5LmVudCI+ICVwb2t5OyBdID4KIAogPCEtLSBEdW1teSBjaGFwdGVyIC0tPgotPGNoYXB0ZXIgaWQ9J3JlZi12YXJpYWJsZXMtZ2xvcyc+Cis8Y2hhcHRlciBpZD0ncmVmLWJiLXZhcmlhYmxlcy1nbG9zJz4KIAogPHRpdGxlPlZhcmlhYmxlcyBHbG9zc2FyeTwvdGl0bGU+CiAKQEAgLTM0LDI5ICszNCwyOSBAQAogICAgIDwvaXRlbWl6ZWRsaXN0PgogPC9ub3RlPgogCi08Z2xvc3NhcnkgaWQ9J3JlZi12YXJpYWJsZXMtZ2xvc3NhcnknPgorPGdsb3NzYXJ5IGlkPSdyZWYtYmItdmFyaWFibGVzLWdsb3NzYXJ5Jz4KIAogICAgIDxwYXJhPgotICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1BU1NVTUVfUFJPVklERUQnPkE8L2xpbms+Ci0gICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUInPkI8L2xpbms+Ci0gICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUNBQ0hFJz5DPC9saW5rPgotICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1ERUZBVUxUX1BSRUZFUkVOQ0UnPkQ8L2xpbms+Ci0gICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUVYQ0xVREVfRlJPTV9XT1JMRCc+RTwvbGluaz4KLSAgICAgICA8bGluayBsaW5rZW5kPSd2YXItRkFLRVJPT1QnPkY8L2xpbms+Ci0gICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUdJVERJUic+RzwvbGluaz4KLSAgICAgICA8bGluayBsaW5rZW5kPSd2YXItSEdESVInPkg8L2xpbms+Ci08IS0tICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1JQ0VDQ19ESVNBQkxFRCc+STwvbGluaz4gLS0+CisgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUFTU1VNRV9QUk9WSURFRCc+QTwvbGluaz4KKyAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQic+QjwvbGluaz4KKyAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQ0FDSEUnPkM8L2xpbms+CisgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLURFRkFVTFRfUFJFRkVSRU5DRSc+RDwvbGluaz4KKyAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItRVhDTFVERV9GUk9NX1dPUkxEJz5FPC9saW5rPgorICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1GQUtFUk9PVCc+RjwvbGluaz4KKyAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItR0lURElSJz5HPC9saW5rPgorICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1IR0RJUic+SDwvbGluaz4KKyAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItSU5IRVJJVCc+STwvbGluaz4KIDwhLS0gICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItZ2xvc3Nhcnktaic+SjwvbGluaz4gLS0+CiA8IS0tICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1LQVJDSCc+SzwvbGluaz4gLS0+Ci0gICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUxBWUVSREVQRU5EUyc+TDwvbGluaz4KLSAgICAgICA8bGluayBsaW5rZW5kPSd2YXItTUlSUk9SUyc+TTwvbGluaz4KKyAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItTEFZRVJERVBFTkRTJz5MPC9saW5rPgorICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1NSVJST1JTJz5NPC9saW5rPgogPCEtLSAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1nbG9zc2FyeS1uJz5OPC9saW5rPiAtLT4KLSAgICAgICA8bGluayBsaW5rZW5kPSd2YXItT1ZFUlJJREVTJz5PPC9saW5rPgotICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1QNERJUic+UDwvbGluaz4KKyAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItT1ZFUlJJREVTJz5PPC9saW5rPgorICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QNERJUic+UDwvbGluaz4KIDwhLS0gICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVFNQUtFX1BST0ZJTEVTJz5RPC9saW5rPiAtLT4KLSAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUkRFUEVORFMnPlI8L2xpbms+Ci0gICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVNFQ1RJT04nPlM8L2xpbms+Ci0gICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVQnPlQ8L2xpbms+CisgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVJERVBFTkRTJz5SPC9saW5rPgorICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1TRUNUSU9OJz5TPC9saW5rPgorICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1UJz5UPC9saW5rPgogPCEtLSAgICAgICA8bGluayBsaW5rZW5kPSd2YXItVUJPT1RfQ09ORklHJz5VPC9saW5rPiAtLT4KIDwhLS0gICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItZ2xvc3Nhcnktdic+VjwvbGluaz4gLS0+CiA8IS0tICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1XQVJOX1FBJz5XPC9saW5rPiAtLT4KQEAgLTY1LDEzICs2NSwxMyBAQAogPCEtLSAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1nbG9zc2FyeS16Jz5aPC9saW5rPi0tPgogICAgIDwvcGFyYT4KIAotICAgIDxnbG9zc2RpdiBpZD0ndmFyLWdsb3NzYXJ5LWEnPjx0aXRsZT5BPC90aXRsZT4KKyAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1iYi1nbG9zc2FyeS1hJz48dGl0bGU+QTwvdGl0bGU+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1BU1NVTUVfUFJPVklERUQnPjxnbG9zc3Rlcm0+QVNTVU1FX1BST1ZJREVEPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQVNTVU1FX1BST1ZJREVEJz48Z2xvc3N0ZXJtPkFTU1VNRV9QUk9WSURFRDwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBMaXN0cyByZWNpcGUgbmFtZXMKLSAgICAgICAgICAgICAgICAgICAgKDxsaW5rIGxpbmtlbmQ9J3Zhci1QTic+PGZpbGVuYW1lPlBOPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgICg8bGluayBsaW5rZW5kPSd2YXItYmItUE4nPjxmaWxlbmFtZT5QTjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICB2YWx1ZXMpIEJpdEJha2UgZG9lcyBub3QgYXR0ZW1wdCB0byBidWlsZC4KICAgICAgICAgICAgICAgICAgICAgSW5zdGVhZCwgQml0QmFrZSBhc3N1bWVzIHRoZXNlIHJlY2lwZXMgaGF2ZSBhbHJlYWR5IGJlZW4KICAgICAgICAgICAgICAgICAgICAgYnVpbHQuCkBAIC05MSw5ICs5MSw5IEBACiAgICAgPC9nbG9zc2Rpdj4KIAogCi0gICAgPGdsb3NzZGl2IGlkPSd2YXItZ2xvc3NhcnktYic+PHRpdGxlPkI8L3RpdGxlPgorICAgIDxnbG9zc2RpdiBpZD0ndmFyLWJiLWdsb3NzYXJ5LWInPjx0aXRsZT5CPC90aXRsZT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUInPjxnbG9zc3Rlcm0+QjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUInPjxnbG9zc3Rlcm0+QjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBUaGUgZGlyZWN0b3J5IGluIHdoaWNoIEJpdEJha2UgZXhlY3V0ZXMgZnVuY3Rpb25zCkBAIC0xMDIsNyArMTAyLDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX0FMTE9XRURfTkVUV09SS1MnPjxnbG9zc3Rlcm0+QkJfQUxMT1dFRF9ORVRXT1JLUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX0FMTE9XRURfTkVUV09SS1MnPjxnbG9zc3Rlcm0+QkJfQUxMT1dFRF9ORVRXT1JLUzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBTcGVjaWZpZXMgYSBzcGFjZS1kZWxpbWl0ZWQgbGlzdCBvZiBob3N0cyB0aGF0IHRoZSBmZXRjaGVyCkBAIC0xMTEsNyArMTExLDcgQEAKICAgICAgICAgICAgICAgICAgICAgPGl0ZW1pemVkbGlzdD4KICAgICAgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGhvc3QgbGlzdCBpcyBvbmx5IHVzZWQgaWYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfTk9fTkVUV09SSyc+PGZpbGVuYW1lPkJCX05PX05FVFdPUks8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfTk9fTkVUV09SSyc+PGZpbGVuYW1lPkJCX05PX05FVFdPUks8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcyBlaXRoZXIgbm90IHNldCBvciBzZXQgdG8gIjAiLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgpAQCAtMTUxLDEzICsxNTEsMTMgQEAKICAgICAgICAgICAgICAgICAgICAgPC9pdGVtaXplZGxpc3Q+CiAgICAgICAgICAgICAgICAgICAgIFVzaW5nIDxmaWxlbmFtZT5CQl9BTExPV0VEX05FVFdPUktTPC9maWxlbmFtZT4gaW4KICAgICAgICAgICAgICAgICAgICAgY29uanVuY3Rpb24gd2l0aAotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUFJFTUlSUk9SUyc+PGZpbGVuYW1lPlBSRU1JUlJPUlM8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVBSRU1JUlJPUlMnPjxmaWxlbmFtZT5QUkVNSVJST1JTPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIGlzIHZlcnkgdXNlZnVsLgogICAgICAgICAgICAgICAgICAgICBBZGRpbmcgdGhlIGhvc3QgeW91IHdhbnQgdG8gdXNlIHRvCiAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5QUkVNSVJST1JTPC9maWxlbmFtZT4gcmVzdWx0cyBpbiB0aGUgc291cmNlIGNvZGUKICAgICAgICAgICAgICAgICAgICAgYmVpbmcgZmV0Y2hlZCBmcm9tIGFuIGFsbG93ZWQgbG9jYXRpb24gYW5kIGF2b2lkcyByYWlzaW5nCiAgICAgICAgICAgICAgICAgICAgIGFuIGVycm9yIHdoZW4gYSBob3N0IHRoYXQgaXMgbm90IGFsbG93ZWQgaXMgaW4gYQotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItU1JDX1VSSSc+PGZpbGVuYW1lPlNSQ19VUkk8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVNSQ19VUkknPjxmaWxlbmFtZT5TUkNfVVJJPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIHN0YXRlbWVudC4KICAgICAgICAgICAgICAgICAgICAgVGhpcyBpcyBiZWNhdXNlIHRoZSBmZXRjaGVyIGRvZXMgbm90IGF0dGVtcHQgdG8gdXNlIHRoZQogICAgICAgICAgICAgICAgICAgICBob3N0IGxpc3RlZCBpbiA8ZmlsZW5hbWU+U1JDX1VSSTwvZmlsZW5hbWU+IGFmdGVyIGEKQEAgLTE2Nyw3ICsxNjcsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfQ09OU09MRUxPRyc+PGdsb3NzdGVybT5CQl9DT05TT0xFTE9HPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfQ09OU09MRUxPRyc+PGdsb3NzdGVybT5CQl9DT05TT0xFTE9HPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFNwZWNpZmllcyB0aGUgcGF0aCB0byBhIGxvZyBmaWxlIGludG8gd2hpY2ggQml0QmFrZSdzIHVzZXIKQEAgLTE3Niw3ICsxNzYsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfQ1VSUkVOVFRBU0snPjxnbG9zc3Rlcm0+QkJfQ1VSUkVOVFRBU0s8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9DVVJSRU5UVEFTSyc+PGdsb3NzdGVybT5CQl9DVVJSRU5UVEFTSzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBDb250YWlucyB0aGUgbmFtZSBvZiB0aGUgY3VycmVudGx5IHJ1bm5pbmcgdGFzay4KQEAgLTE4Niw3ICsxODYsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfREFOR0xJTkdBUFBFTkRTX1dBUk5PTkxZJz48Z2xvc3N0ZXJtPkJCX0RBTkdMSU5HQVBQRU5EU19XQVJOT05MWTwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX0RBTkdMSU5HQVBQRU5EU19XQVJOT05MWSc+PGdsb3NzdGVybT5CQl9EQU5HTElOR0FQUEVORFNfV0FSTk9OTFk8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgRGVmaW5lcyBob3cgQml0QmFrZSBoYW5kbGVzIHNpdHVhdGlvbnMgd2hlcmUgYW4gYXBwZW5kCkBAIC0yMDgsNyArMjA4LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX0RFRkFVTFRfVEFTSyc+PGdsb3NzdGVybT5CQl9ERUZBVUxUX1RBU0s8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9ERUZBVUxUX1RBU0snPjxnbG9zc3Rlcm0+QkJfREVGQVVMVF9UQVNLPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFRoZSBkZWZhdWx0IHRhc2sgdG8gdXNlIHdoZW4gbm9uZSBpcyBzcGVjaWZpZWQgKGUuZy4KQEAgLTIxOSw3ICsyMTksNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfRElTS01PTl9ESVJTJz48Z2xvc3N0ZXJtPkJCX0RJU0tNT05fRElSUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX0RJU0tNT05fRElSUyc+PGdsb3NzdGVybT5CQl9ESVNLTU9OX0RJUlM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgTW9uaXRvcnMgZGlzayBzcGFjZSBhbmQgYXZhaWxhYmxlIGlub2RlcyBkdXJpbmcgdGhlIGJ1aWxkCkBAIC0yNDUsNyArMjQ1LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICBidWlsZCB3aGVuIGEgdGhyZXNob2xkIGlzIGJyb2tlbi4KICAgICAgICAgICAgICAgICAgICAgICBTdWJzZXF1ZW50IHdhcm5pbmdzIGFyZSBpc3N1ZWQgYXMKICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmVkIGJ5IHRoZQotICAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9ESVNLTU9OX1dBUk5JTlRFUlZBTCc+QkJfRElTS01PTl9XQVJOSU5URVJWQUw8L2xpbms+IHZhcmlhYmxlLAorICAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9ESVNLTU9OX1dBUk5JTlRFUlZBTCc+QkJfRElTS01PTl9XQVJOSU5URVJWQUw8L2xpbms+IHZhcmlhYmxlLAogICAgICAgICAgICAgICAgICAgICAgIHdoaWNoIG11c3QgYmUgZGVmaW5lZC4KIAogICAgICAgICAmbHQ7ZGlyJmd0OyBpczoKQEAgLTI3NSw3ICsyNzUsNyBAQAogICAgICBCQl9ESVNLTU9OX0RJUlMgPSAiQUJPUlQsJHtUTVBESVJ9LCwxMDBLIgogICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CiAgICAgICAgICAgICAgICAgICAgIFRoZSBmaXJzdCBleGFtcGxlIHdvcmtzIG9ubHkgaWYgeW91IGFsc28gc2V0Ci0gICAgICAgICAgICAgICAgICAgIHRoZSA8bGluayBsaW5rZW5kPSd2YXItQkJfRElTS01PTl9XQVJOSU5URVJWQUwnPjxmaWxlbmFtZT5CQl9ESVNLTU9OX1dBUk5JTlRFUlZBTDwvZmlsZW5hbWU+PC9saW5rPiB2YXJpYWJsZS4KKyAgICAgICAgICAgICAgICAgICAgdGhlIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9ESVNLTU9OX1dBUk5JTlRFUlZBTCc+PGZpbGVuYW1lPkJCX0RJU0tNT05fV0FSTklOVEVSVkFMPC9maWxlbmFtZT48L2xpbms+IHZhcmlhYmxlLgogICAgICAgICAgICAgICAgICAgICBUaGlzIGV4YW1wbGUgY2F1c2VzIHRoZSBidWlsZCBzeXN0ZW0gdG8gaW1tZWRpYXRlbHkKICAgICAgICAgICAgICAgICAgICAgYWJvcnQgd2hlbiBlaXRoZXIgdGhlIGRpc2sgc3BhY2UgaW4gPGZpbGVuYW1lPiR7VE1QRElSfTwvZmlsZW5hbWU+IGRyb3BzCiAgICAgICAgICAgICAgICAgICAgIGJlbG93IDEgR2J5dGUgb3IgdGhlIGF2YWlsYWJsZSBmcmVlIGlub2RlcyBkcm9wcyBiZWxvdwpAQCAtMzA5LDcgKzMwOSw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQl9ESVNLTU9OX1dBUk5JTlRFUlZBTCc+PGdsb3NzdGVybT5CQl9ESVNLTU9OX1dBUk5JTlRFUlZBTDwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX0RJU0tNT05fV0FSTklOVEVSVkFMJz48Z2xvc3N0ZXJtPkJCX0RJU0tNT05fV0FSTklOVEVSVkFMPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIERlZmluZXMgdGhlIGRpc2sgc3BhY2UgYW5kIGZyZWUgaW5vZGUgd2FybmluZyBpbnRlcnZhbHMuCkBAIC0zMTksNyArMzE5LDcgQEAKICAgICAgICAgICAgICAgICAgICAgSWYgeW91IGFyZSBnb2luZyB0byB1c2UgdGhlCiAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5CQl9ESVNLTU9OX1dBUk5JTlRFUlZBTDwvZmlsZW5hbWU+IHZhcmlhYmxlLCB5b3UgbXVzdAogICAgICAgICAgICAgICAgICAgICBhbHNvIHVzZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX0RJU0tNT05fRElSUyc+PGZpbGVuYW1lPkJCX0RJU0tNT05fRElSUzwvZmlsZW5hbWU+PC9saW5rPiB2YXJpYWJsZQorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfRElTS01PTl9ESVJTJz48ZmlsZW5hbWU+QkJfRElTS01PTl9ESVJTPC9maWxlbmFtZT48L2xpbms+IHZhcmlhYmxlCiAgICAgICAgICAgICAgICAgICAgIGFuZCBkZWZpbmUgaXRzIGFjdGlvbiBhcyAiV0FSTiIuCiAgICAgICAgICAgICAgICAgICAgIER1cmluZyB0aGUgYnVpbGQsIHN1YnNlcXVlbnQgd2FybmluZ3MgYXJlIGlzc3VlZCBlYWNoIHRpbWUKICAgICAgICAgICAgICAgICAgICAgZGlzayBzcGFjZSBvciBudW1iZXIgb2YgZnJlZSBpbm9kZXMgZnVydGhlciByZWR1Y2VzIGJ5CkBAIC0zNzQsNyArMzc0LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX0VOVl9XSElURUxJU1QnPjxnbG9zc3Rlcm0+QkJfRU5WX1dISVRFTElTVDwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX0VOVl9XSElURUxJU1QnPjxnbG9zc3Rlcm0+QkJfRU5WX1dISVRFTElTVDwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBTcGVjaWZpZXMgdGhlIGludGVybmFsIHdoaXRlbGlzdCBvZiB2YXJpYWJsZXMgdG8gYWxsb3cKQEAgLTM4MiwxMSArMzgyLDExIEBACiAgICAgICAgICAgICAgICAgICAgIGRhdGFzdG9yZS4KICAgICAgICAgICAgICAgICAgICAgSWYgdGhlIHZhbHVlIG9mIHRoaXMgdmFyaWFibGUgaXMgbm90IHNwZWNpZmllZAogICAgICAgICAgICAgICAgICAgICAod2hpY2ggaXMgdGhlIGRlZmF1bHQpLCB0aGUgZm9sbG93aW5nIGxpc3QgaXMgdXNlZDoKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCUEFUSCc+PGZpbGVuYW1lPkJCUEFUSDwvZmlsZW5hbWU+PC9saW5rPiwKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX1BSRVNFUlZFX0VOVic+PGZpbGVuYW1lPkJCX1BSRVNFUlZFX0VOVjwvZmlsZW5hbWU+PC9saW5rPiwKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX0VOVl9XSElURUxJU1QnPjxmaWxlbmFtZT5CQl9FTlZfV0hJVEVMSVNUPC9maWxlbmFtZT48L2xpbms+LAorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJQQVRIJz48ZmlsZW5hbWU+QkJQQVRIPC9maWxlbmFtZT48L2xpbms+LAorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfUFJFU0VSVkVfRU5WJz48ZmlsZW5hbWU+QkJfUFJFU0VSVkVfRU5WPC9maWxlbmFtZT48L2xpbms+LAorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfRU5WX1dISVRFTElTVCc+PGZpbGVuYW1lPkJCX0VOVl9XSElURUxJU1Q8L2ZpbGVuYW1lPjwvbGluaz4sCiAgICAgICAgICAgICAgICAgICAgIGFuZAotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfRU5WX0VYVFJBV0hJVEUnPjxmaWxlbmFtZT5CQl9FTlZfRVhUUkFXSElURTwvZmlsZW5hbWU+PC9saW5rPi4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX0VOVl9FWFRSQVdISVRFJz48ZmlsZW5hbWU+QkJfRU5WX0VYVFJBV0hJVEU8L2ZpbGVuYW1lPjwvbGluaz4uCiAgICAgICAgICAgICAgICAgICAgIDxub3RlPgogICAgICAgICAgICAgICAgICAgICAgICAgWW91IG11c3Qgc2V0IHRoaXMgdmFyaWFibGUgaW4gdGhlIGV4dGVybmFsIGVudmlyb25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICBpbiBvcmRlciBmb3IgaXQgdG8gd29yay4KQEAgLTM5NSw3ICszOTUsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfRU5WX0VYVFJBV0hJVEUnPjxnbG9zc3Rlcm0+QkJfRU5WX0VYVFJBV0hJVEU8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9FTlZfRVhUUkFXSElURSc+PGdsb3NzdGVybT5CQl9FTlZfRVhUUkFXSElURTwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBTcGVjaWZpZXMgYW4gYWRkaXRpb25hbCBzZXQgb2YgdmFyaWFibGVzIHRvIGFsbG93IHRocm91Z2gKQEAgLTQwMyw3ICs0MDMsNyBAQAogICAgICAgICAgICAgICAgICAgICBkYXRhc3RvcmUuCiAgICAgICAgICAgICAgICAgICAgIFRoaXMgbGlzdCBvZiB2YXJpYWJsZXMgYXJlIG9uIHRvcCBvZiB0aGUgaW50ZXJuYWwgbGlzdAogICAgICAgICAgICAgICAgICAgICBzZXQgaW4KLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX0VOVl9XSElURUxJU1QnPjxmaWxlbmFtZT5CQl9FTlZfV0hJVEVMSVNUPC9maWxlbmFtZT48L2xpbms+LgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfRU5WX1dISVRFTElTVCc+PGZpbGVuYW1lPkJCX0VOVl9XSElURUxJU1Q8L2ZpbGVuYW1lPjwvbGluaz4uCiAgICAgICAgICAgICAgICAgICAgIDxub3RlPgogICAgICAgICAgICAgICAgICAgICAgICAgWW91IG11c3Qgc2V0IHRoaXMgdmFyaWFibGUgaW4gdGhlIGV4dGVybmFsCiAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudCBpbiBvcmRlciBmb3IgaXQgdG8gd29yay4KQEAgLTQxMiwyMiArNDEyLDIyIEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQl9GRVRDSF9QUkVNSVJST1JPTkxZJz48Z2xvc3N0ZXJtPkJCX0ZFVENIX1BSRU1JUlJPUk9OTFk8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9GRVRDSF9QUkVNSVJST1JPTkxZJz48Z2xvc3N0ZXJtPkJCX0ZFVENIX1BSRU1JUlJPUk9OTFk8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgV2hlbiBzZXQgdG8gIjEiLCBjYXVzZXMgQml0QmFrZSdzIGZldGNoZXIgbW9kdWxlIHRvIG9ubHkKICAgICAgICAgICAgICAgICAgICAgc2VhcmNoCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1QUkVNSVJST1JTJz48ZmlsZW5hbWU+UFJFTUlSUk9SUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUFJFTUlSUk9SUyc+PGZpbGVuYW1lPlBSRU1JUlJPUlM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgZm9yIGZpbGVzLgogICAgICAgICAgICAgICAgICAgICBCaXRCYWtlIHdpbGwgbm90IHNlYXJjaCB0aGUgbWFpbgotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItU1JDX1VSSSc+PGZpbGVuYW1lPlNSQ19VUkk8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVNSQ19VUkknPjxmaWxlbmFtZT5TUkNfVVJJPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIG9yCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1NSVJST1JTJz48ZmlsZW5hbWU+TUlSUk9SUzwvZmlsZW5hbWU+PC9saW5rPi4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLU1JUlJPUlMnPjxmaWxlbmFtZT5NSVJST1JTPC9maWxlbmFtZT48L2xpbms+LgogICAgICAgICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX0ZJTEVOQU1FJz48Z2xvc3N0ZXJtPkJCX0ZJTEVOQU1FPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfRklMRU5BTUUnPjxnbG9zc3Rlcm0+QkJfRklMRU5BTUU8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgQ29udGFpbnMgdGhlIGZpbGVuYW1lIG9mIHRoZSByZWNpcGUgdGhhdCBvd25zIHRoZSBjdXJyZW50bHkKQEAgLTQ0MCwxMiArNDQwLDEyIEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQl9HRU5FUkFURV9NSVJST1JfVEFSQkFMTFMnPjxnbG9zc3Rlcm0+QkJfR0VORVJBVEVfTUlSUk9SX1RBUkJBTExTPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfR0VORVJBVEVfTUlSUk9SX1RBUkJBTExTJz48Z2xvc3N0ZXJtPkJCX0dFTkVSQVRFX01JUlJPUl9UQVJCQUxMUzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBDYXVzZXMgdGFyYmFsbHMgb2YgdGhlIEdpdCByZXBvc2l0b3JpZXMsIGluY2x1ZGluZyB0aGUKICAgICAgICAgICAgICAgICAgICAgR2l0IG1ldGFkYXRhLCB0byBiZSBwbGFjZWQgaW4gdGhlCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1ETF9ESVInPjxmaWxlbmFtZT5ETF9ESVI8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLURMX0RJUic+PGZpbGVuYW1lPkRMX0RJUjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICBkaXJlY3RvcnkuCiAgICAgICAgICAgICAgICAgICAgIEFueW9uZSB3aXNoaW5nIHRvIGNyZWF0ZSBhIHNvdXJjZSBtaXJyb3Igd291bGQgd2FudCB0bwogICAgICAgICAgICAgICAgICAgICBlbmFibGUgdGhpcyB2YXJpYWJsZS4KQEAgLTQ2MSw3ICs0NjEsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfSEFTSENPTkZJR19XSElURUxJU1QnPjxnbG9zc3Rlcm0+QkJfSEFTSENPTkZJR19XSElURUxJU1Q8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9IQVNIQ09ORklHX1dISVRFTElTVCc+PGdsb3NzdGVybT5CQl9IQVNIQ09ORklHX1dISVRFTElTVDwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBMaXN0cyB2YXJpYWJsZXMgdGhhdCBhcmUgZXhjbHVkZWQgZnJvbSBiYXNlIGNvbmZpZ3VyYXRpb24KQEAgLTQ4NSw3ICs0ODUsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfSEFTSEJBU0VfV0hJVEVMSVNUJz48Z2xvc3N0ZXJtPkJCX0hBU0hCQVNFX1dISVRFTElTVDwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX0hBU0hCQVNFX1dISVRFTElTVCc+PGdsb3NzdGVybT5CQl9IQVNIQkFTRV9XSElURUxJU1Q8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgTGlzdHMgdmFyaWFibGVzIHRoYXQgYXJlIGV4Y2x1ZGVkIGZyb20gY2hlY2tzdW0gYW5kCkBAIC01MDAsNyArNTAwLDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX0hBU0hDSEVDS19GVU5DVElPTic+PGdsb3NzdGVybT5CQl9IQVNIQ0hFQ0tfRlVOQ1RJT048L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9IQVNIQ0hFQ0tfRlVOQ1RJT04nPjxnbG9zc3Rlcm0+QkJfSEFTSENIRUNLX0ZVTkNUSU9OPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgZnVuY3Rpb24gdG8gY2FsbCBkdXJpbmcgdGhlCkBAIC01MjQsNyArNTI0LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX0lOVkFMSURDT05GJz48Z2xvc3N0ZXJtPkJCX0lOVkFMSURDT05GPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfSU5WQUxJRENPTkYnPjxnbG9zc3Rlcm0+QkJfSU5WQUxJRENPTkY8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgVXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIHRoZQpAQCAtNTM5LDExICs1MzksMTEgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX0xPR0ZNVCc+PGdsb3NzdGVybT5CQl9MT0dGTVQ8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9MT0dGTVQnPjxnbG9zc3Rlcm0+QkJfTE9HRk1UPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgbG9nIGZpbGVzIHNhdmVkIGludG8KLSAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPiR7PC9maWxlbmFtZT48bGluayBsaW5rZW5kPSd2YXItVCc+PGZpbGVuYW1lPlQ8L2ZpbGVuYW1lPjwvbGluaz48ZmlsZW5hbWU+fTwvZmlsZW5hbWU+LgorICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+JHs8L2ZpbGVuYW1lPjxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1UJz48ZmlsZW5hbWU+VDwvZmlsZW5hbWU+PC9saW5rPjxmaWxlbmFtZT59PC9maWxlbmFtZT4uCiAgICAgICAgICAgICAgICAgICAgIEJ5IGRlZmF1bHQsIHRoZSA8ZmlsZW5hbWU+QkJfTE9HRk1UPC9maWxlbmFtZT4gdmFyaWFibGUKICAgICAgICAgICAgICAgICAgICAgaXMgdW5kZWZpbmVkIGFuZCB0aGUgbG9nIGZpbGUgbmFtZXMgZ2V0IGNyZWF0ZWQgdXNpbmcgdGhlCiAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZyBmb3JtOgpAQCAtNTU2LDcgKzU1Niw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQl9OSUNFX0xFVkVMJz48Z2xvc3N0ZXJtPkJCX05JQ0VfTEVWRUw8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9OSUNFX0xFVkVMJz48Z2xvc3N0ZXJtPkJCX05JQ0VfTEVWRUw8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgQWxsb3dzIEJpdEJha2UgdG8gcnVuIGF0IGEgc3BlY2lmaWMgcHJpb3JpdHkKQEAgLTU2NCwxMyArNTY0LDEzIEBACiAgICAgICAgICAgICAgICAgICAgIFN5c3RlbSBwZXJtaXNzaW9ucyB1c3VhbGx5IG1lYW4gdGhhdCBCaXRCYWtlIGNhbiByZWR1Y2UgaXRzCiAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5IGJ1dCBub3QgcmFpc2UgaXQgYWdhaW4uCiAgICAgICAgICAgICAgICAgICAgIFNlZQotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfVEFTS19OSUNFX0xFVkVMJz48ZmlsZW5hbWU+QkJfVEFTS19OSUNFX0xFVkVMPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9UQVNLX05JQ0VfTEVWRUwnPjxmaWxlbmFtZT5CQl9UQVNLX05JQ0VfTEVWRUw8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uCiAgICAgICAgICAgICAgICAgPC9wYXJhPgogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfTk9fTkVUV09SSyc+PGdsb3NzdGVybT5CQl9OT19ORVRXT1JLPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfTk9fTkVUV09SSyc+PGdsb3NzdGVybT5CQl9OT19ORVRXT1JLPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIERpc2FibGVzIG5ldHdvcmsgYWNjZXNzIGluIHRoZSBCaXRCYWtlIGZldGNoZXIgbW9kdWxlcy4KQEAgLTU4Nyw3ICs1ODcsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfTlVNQkVSX1RIUkVBRFMnPjxnbG9zc3Rlcm0+QkJfTlVNQkVSX1RIUkVBRFM8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9OVU1CRVJfVEhSRUFEUyc+PGdsb3NzdGVybT5CQl9OVU1CRVJfVEhSRUFEUzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBUaGUgbWF4aW11bSBudW1iZXIgb2YgdGFza3MgQml0QmFrZSBzaG91bGQgcnVuIGluIHBhcmFsbGVsCkBAIC01OTksNyArNTk5LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX05VTUJFUl9QQVJTRV9USFJFQURTJz48Z2xvc3N0ZXJtPkJCX05VTUJFUl9QQVJTRV9USFJFQURTPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfTlVNQkVSX1BBUlNFX1RIUkVBRFMnPjxnbG9zc3Rlcm0+QkJfTlVNQkVSX1BBUlNFX1RIUkVBRFM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgU2V0cyB0aGUgbnVtYmVyIG9mIHRocmVhZHMgQml0QmFrZSB1c2VzIHdoZW4gcGFyc2luZy4KQEAgLTYwOSw3ICs2MDksNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfT1JJR0VOVic+PGdsb3NzdGVybT5CQl9PUklHRU5WPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfT1JJR0VOVic+PGdsb3NzdGVybT5CQl9PUklHRU5WPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIENvbnRhaW5zIGEgY29weSBvZiB0aGUgb3JpZ2luYWwgZXh0ZXJuYWwgZW52aXJvbm1lbnQgaW4KQEAgLTYyNSw3ICs2MjUsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfUFJFU0VSVkVfRU5WJz48Z2xvc3N0ZXJtPkJCX1BSRVNFUlZFX0VOVjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX1BSRVNFUlZFX0VOVic+PGdsb3NzdGVybT5CQl9QUkVTRVJWRV9FTlY8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgRGlzYWJsZXMgd2hpdGVsaXN0aW5nIGFuZCBpbnN0ZWFkIGFsbG93cyBhbGwgdmFyaWFibGVzCkBAIC02MzksMTIgKzYzOSwxMiBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfUlVORk1UJz48Z2xvc3N0ZXJtPkJCX1JVTkZNVDwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX1JVTkZNVCc+PGdsb3NzdGVybT5CQl9SVU5GTVQ8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgU3BlY2lmaWVzIHRoZSBuYW1lIG9mIHRoZSBleGVjdXRhYmxlIHNjcmlwdCBmaWxlcwogICAgICAgICAgICAgICAgICAgICAoaS5lLiBydW4gZmlsZXMpIHNhdmVkIGludG8KLSAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPiR7PC9maWxlbmFtZT48bGluayBsaW5rZW5kPSd2YXItVCc+PGZpbGVuYW1lPlQ8L2ZpbGVuYW1lPjwvbGluaz48ZmlsZW5hbWU+fTwvZmlsZW5hbWU+LgorICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+JHs8L2ZpbGVuYW1lPjxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1UJz48ZmlsZW5hbWU+VDwvZmlsZW5hbWU+PC9saW5rPjxmaWxlbmFtZT59PC9maWxlbmFtZT4uCiAgICAgICAgICAgICAgICAgICAgIEJ5IGRlZmF1bHQsIHRoZSA8ZmlsZW5hbWU+QkJfUlVORk1UPC9maWxlbmFtZT4gdmFyaWFibGUKICAgICAgICAgICAgICAgICAgICAgaXMgdW5kZWZpbmVkIGFuZCB0aGUgcnVuIGZpbGUgbmFtZXMgZ2V0IGNyZWF0ZWQgdXNpbmcgdGhlCiAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZyBmb3JtOgpAQCAtNjU3LDcgKzY1Nyw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQl9SVU5UQVNLJz48Z2xvc3N0ZXJtPkJCX1JVTlRBU0s8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9SVU5UQVNLJz48Z2xvc3N0ZXJtPkJCX1JVTlRBU0s8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgQ29udGFpbnMgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnRseSBleGVjdXRpbmcgdGFzay4KQEAgLTY2OSw3ICs2NjksNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfU0NIRURVTEVSJz48Z2xvc3N0ZXJtPkJCX1NDSEVEVUxFUjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX1NDSEVEVUxFUic+PGdsb3NzdGVybT5CQl9TQ0hFRFVMRVI8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgU2VsZWN0cyB0aGUgbmFtZSBvZiB0aGUgc2NoZWR1bGVyIHRvIHVzZSBmb3IgdGhlCkBAIC02OTUsNyArNjk1LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX1NDSEVEVUxFUlMnPjxnbG9zc3Rlcm0+QkJfU0NIRURVTEVSUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX1NDSEVEVUxFUlMnPjxnbG9zc3Rlcm0+QkJfU0NIRURVTEVSUzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBEZWZpbmVzIGN1c3RvbSBzY2hlZHVsZXJzIHRvIGltcG9ydC4KQEAgLTcwNSwxMyArNzA1LDEzIEBACiAKICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgRm9yIGluZm9ybWF0aW9uIGhvdyB0byBzZWxlY3QgYSBzY2hlZHVsZXIsIHNlZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX1NDSEVEVUxFUic+PGZpbGVuYW1lPkJCX1NDSEVEVUxFUjwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfU0NIRURVTEVSJz48ZmlsZW5hbWU+QkJfU0NIRURVTEVSPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlLgogICAgICAgICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX1NFVFNDRU5FX0RFUFZBTElEJz48Z2xvc3N0ZXJtPkJCX1NFVFNDRU5FX0RFUFZBTElEPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfU0VUU0NFTkVfREVQVkFMSUQnPjxnbG9zc3Rlcm0+QkJfU0VUU0NFTkVfREVQVkFMSUQ8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgU3BlY2lmaWVzIGEgZnVuY3Rpb24gQml0QmFrZSBjYWxscyB0aGF0IGRldGVybWluZXMKQEAgLTczMSw3ICs3MzEsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfU0VUU0NFTkVfVkVSSUZZX0ZVTkNUSU9OMic+PGdsb3NzdGVybT5CQl9TRVRTQ0VORV9WRVJJRllfRlVOQ1RJT04yPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfU0VUU0NFTkVfVkVSSUZZX0ZVTkNUSU9OMic+PGdsb3NzdGVybT5CQl9TRVRTQ0VORV9WRVJJRllfRlVOQ1RJT04yPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFNwZWNpZmllcyBhIGZ1bmN0aW9uIHRvIGNhbGwgdGhhdCB2ZXJpZmllcyB0aGUgbGlzdCBvZgpAQCAtNzUyLDcgKzc1Miw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQl9TSUdOQVRVUkVfRVhDTFVERV9GTEFHUyc+PGdsb3NzdGVybT5CQl9TSUdOQVRVUkVfRVhDTFVERV9GTEFHUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX1NJR05BVFVSRV9FWENMVURFX0ZMQUdTJz48Z2xvc3N0ZXJtPkJCX1NJR05BVFVSRV9FWENMVURFX0ZMQUdTPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIExpc3RzIHZhcmlhYmxlIGZsYWdzICh2YXJmbGFncykKQEAgLTc3MSw3ICs3NzEsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfU0lHTkFUVVJFX0hBTkRMRVInPjxnbG9zc3Rlcm0+QkJfU0lHTkFUVVJFX0hBTkRMRVI8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9TSUdOQVRVUkVfSEFORExFUic+PGdsb3NzdGVybT5CQl9TSUdOQVRVUkVfSEFORExFUjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBEZWZpbmVzIHRoZSBuYW1lIG9mIHRoZSBzaWduYXR1cmUgaGFuZGxlciBCaXRCYWtlIHVzZXMuCkBAIC03OTAsNyArNzkwLDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX1NSQ1JFVl9QT0xJQ1knPjxnbG9zc3Rlcm0+QkJfU1JDUkVWX1BPTElDWTwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX1NSQ1JFVl9QT0xJQ1knPjxnbG9zc3Rlcm0+QkJfU1JDUkVWX1BPTElDWTwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBEZWZpbmVzIHRoZSBiZWhhdmlvciBvZiB0aGUgZmV0Y2hlciB3aGVuIGl0IGludGVyYWN0cyB3aXRoCkBAIC04MTcsNyArODE3LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX1NUQU1QX1BPTElDWSc+PGdsb3NzdGVybT5CQl9TVEFNUF9QT0xJQ1k8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9TVEFNUF9QT0xJQ1knPjxnbG9zc3Rlcm0+QkJfU1RBTVBfUE9MSUNZPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIERlZmluZXMgdGhlIG1vZGUgdXNlZCBmb3IgaG93IHRpbWVzdGFtcHMgb2Ygc3RhbXAgZmlsZXMKQEAgLTgzNiw3ICs4MzYsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz53aGl0ZWxpc3Q8L2VtcGhhc2lzPiAtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWRlbnRpY2FsIHRvICJmdWxsIiBtb2RlIGV4Y2VwdCB0aW1lc3RhbXAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wYXJpc29ucyBhcmUgbWFkZSBmb3IgcmVjaXBlcyBsaXN0ZWQgaW4gdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX1NUQU1QX1dISVRFTElTVCc+PGZpbGVuYW1lPkJCX1NUQU1QX1dISVRFTElTVDwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9TVEFNUF9XSElURUxJU1QnPjxmaWxlbmFtZT5CQl9TVEFNUF9XSElURUxJU1Q8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICAgICAgPC9pdGVtaXplZGxpc3Q+CkBAIC04NDgsMTkgKzg0OCwxOSBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfU1RBTVBfV0hJVEVMSVNUJz48Z2xvc3N0ZXJtPkJCX1NUQU1QX1dISVRFTElTVDwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX1NUQU1QX1dISVRFTElTVCc+PGdsb3NzdGVybT5CQl9TVEFNUF9XSElURUxJU1Q8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgTGlzdHMgZmlsZXMgd2hvc2Ugc3RhbXAgZmlsZSB0aW1lc3RhbXBzIGFyZSBjb21wYXJlZCB3aGVuCiAgICAgICAgICAgICAgICAgICAgIHRoZSBzdGFtcCBwb2xpY3kgbW9kZSBpcyBzZXQgdG8gIndoaXRlbGlzdCIuCiAgICAgICAgICAgICAgICAgICAgIEZvciBpbmZvcm1hdGlvbiBvbiBzdGFtcCBwb2xpY2llcywgc2VlIHRoZQotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfU1RBTVBfUE9MSUNZJz48ZmlsZW5hbWU+QkJfU1RBTVBfUE9MSUNZPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9TVEFNUF9QT0xJQ1knPjxmaWxlbmFtZT5CQl9TVEFNUF9QT0xJQ1k8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUuCiAgICAgICAgICAgICAgICAgPC9wYXJhPgogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfU1RSSUNUX0NIRUNLU1VNJz48Z2xvc3N0ZXJtPkJCX1NUUklDVF9DSEVDS1NVTTwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX1NUUklDVF9DSEVDS1NVTSc+PGdsb3NzdGVybT5CQl9TVFJJQ1RfQ0hFQ0tTVU08L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgU2V0cyBhIG1vcmUgc3RyaWN0IGNoZWNrc3VtIG1lY2hhbmlzbSBmb3Igbm9uLWxvY2FsIFVSTHMuCkBAIC04NzEsNyArODcxLDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX1RBU0tfSU9OSUNFX0xFVkVMJz48Z2xvc3N0ZXJtPkJCX1RBU0tfSU9OSUNFX0xFVkVMPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfVEFTS19JT05JQ0VfTEVWRUwnPjxnbG9zc3Rlcm0+QkJfVEFTS19JT05JQ0VfTEVWRUw8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgQWxsb3dzIGFkanVzdG1lbnQgb2YgYSB0YXNrJ3MgSW5wdXQvT3V0cHV0IHByaW9yaXR5LgpAQCAtODgyLDcgKzg4Miw3IEBACiAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlIHRvIGFkanVzdCB0aGUgSS9PIHByaW9yaXR5IG9mIHRoZXNlIHRhc2tzLgogICAgICAgICAgICAgICAgICAgICA8bm90ZT4KICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgdmFyaWFibGUgd29ya3Mgc2ltaWxhcmx5IHRvIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX1RBU0tfTklDRV9MRVZFTCc+PGZpbGVuYW1lPkJCX1RBU0tfTklDRV9MRVZFTDwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX1RBU0tfTklDRV9MRVZFTCc+PGZpbGVuYW1lPkJCX1RBU0tfTklDRV9MRVZFTDwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUgZXhjZXB0IHdpdGggYSB0YXNrJ3MgSS9PIHByaW9yaXRpZXMuCiAgICAgICAgICAgICAgICAgICAgIDwvbm90ZT4KICAgICAgICAgICAgICAgICA8L3BhcmE+CkBAIC05MjEsNyArOTIxLDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX1RBU0tfTklDRV9MRVZFTCc+PGdsb3NzdGVybT5CQl9UQVNLX05JQ0VfTEVWRUw8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9UQVNLX05JQ0VfTEVWRUwnPjxnbG9zc3Rlcm0+QkJfVEFTS19OSUNFX0xFVkVMPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIEFsbG93cyBzcGVjaWZpYyB0YXNrcyB0byBjaGFuZ2UgdGhlaXIgcHJpb3JpdHkKQEAgLTk0MCw3ICs5NDAsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfVEFTS0hBU0gnPjxnbG9zc3Rlcm0+QkJfVEFTS0hBU0g8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9UQVNLSEFTSCc+PGdsb3NzdGVybT5CQl9UQVNLSEFTSDwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBXaXRoaW4gYW4gZXhlY3V0aW5nIHRhc2ssIHRoaXMgdmFyaWFibGUgaG9sZHMgdGhlIGhhc2gKQEAgLTk1MCw3ICs5NTAsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfVkVSQk9TRV9MT0dTJz48Z2xvc3N0ZXJtPkJCX1ZFUkJPU0VfTE9HUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX1ZFUkJPU0VfTE9HUyc+PGdsb3NzdGVybT5CQl9WRVJCT1NFX0xPR1M8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgQ29udHJvbHMgaG93IHZlcmJvc2UgQml0QmFrZSBpcyBkdXJpbmcgYnVpbGRzLgpAQCAtOTYwLDcgKzk2MCw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQl9XT1JLRVJDT05URVhUJz48Z2xvc3N0ZXJtPkJCX1dPUktFUkNPTlRFWFQ8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9XT1JLRVJDT05URVhUJz48Z2xvc3N0ZXJtPkJCX1dPUktFUkNPTlRFWFQ8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgU3BlY2lmaWVzIGlmIHRoZSBjdXJyZW50IGNvbnRleHQgaXMgZXhlY3V0aW5nIGEgdGFzay4KQEAgLTk3Myw3ICs5NzMsNyBAQAogICAgICAgICA8L2dsb3NzZW50cnk+CiAKIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCQ0xBU1NFWFRFTkQnPjxnbG9zc3Rlcm0+QkJDTEFTU0VYVEVORDwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCQ0xBU1NFWFRFTkQnPjxnbG9zc3Rlcm0+QkJDTEFTU0VYVEVORDwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBBbGxvd3MgeW91IHRvIGV4dGVuZCBhIHJlY2lwZSBzbyB0aGF0IGl0IGJ1aWxkcyB2YXJpYW50cwpAQCAtMTAwOSw3ICsxMDA5LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5fY2xhc3MtbmF0aXZlPC9maWxlbmFtZT4uCiAgICAgICAgICAgICAgICAgICAgICAgICBGb3IgZXhhbXBsZSwgdG8gZ2VuZXJhdGUgYSBuYXRpdmUgdmVyc2lvbiBvZiBhIHJlY2lwZSwKICAgICAgICAgICAgICAgICAgICAgICAgIGEKLSAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1ERVBFTkRTJz48ZmlsZW5hbWU+REVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLURFUEVORFMnPjxmaWxlbmFtZT5ERVBFTkRTPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgICAgICBvbiAiZm9vIiBpcyByZXdyaXR0ZW4gdG8gYSA8ZmlsZW5hbWU+REVQRU5EUzwvZmlsZW5hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICBvbiAiZm9vLW5hdGl2ZSIuCiAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+CkBAIC0xMDI4LDcgKzEwMjgsNyBAQAogICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCREVCVUcnPjxnbG9zc3Rlcm0+QkJERUJVRzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCREVCVUcnPjxnbG9zc3Rlcm0+QkJERUJVRzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBTZXRzIHRoZSBCaXRCYWtlIGRlYnVnIG91dHB1dCBsZXZlbCB0byBhIHNwZWNpZmljIHZhbHVlCkBAIC0xMDQyLDcgKzEwNDIsNyBAQAogICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCRklMRV9DT0xMRUNUSU9OUyc+PGdsb3NzdGVybT5CQkZJTEVfQ09MTEVDVElPTlM8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQkZJTEVfQ09MTEVDVElPTlMnPjxnbG9zc3Rlcm0+QkJGSUxFX0NPTExFQ1RJT05TPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+TGlzdHMgdGhlIG5hbWVzIG9mIGNvbmZpZ3VyZWQgbGF5ZXJzLgogICAgICAgICAgICAgICAgICAgICBUaGVzZSBuYW1lcyBhcmUgdXNlZCB0byBmaW5kIHRoZSBvdGhlciA8ZmlsZW5hbWU+QkJGSUxFXyo8L2ZpbGVuYW1lPgpAQCAtMTA1MywxMCArMTA1MywxMCBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJGSUxFX1BBVFRFUk4nPjxnbG9zc3Rlcm0+QkJGSUxFX1BBVFRFUk48L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQkZJTEVfUEFUVEVSTic+PGdsb3NzdGVybT5CQkZJTEVfUEFUVEVSTjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPlZhcmlhYmxlIHRoYXQgZXhwYW5kcyB0byBtYXRjaCBmaWxlcyBmcm9tCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQkZJTEVTJz48ZmlsZW5hbWU+QkJGSUxFUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJGSUxFUyc+PGZpbGVuYW1lPkJCRklMRVM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgaW4gYSBwYXJ0aWN1bGFyIGxheWVyLgogICAgICAgICAgICAgICAgICAgICBUaGlzIHZhcmlhYmxlIGlzIHVzZWQgaW4gdGhlIDxmaWxlbmFtZT5jb25mL2xheWVyLmNvbmY8L2ZpbGVuYW1lPiBmaWxlIGFuZCBtdXN0CiAgICAgICAgICAgICAgICAgICAgIGJlIHN1ZmZpeGVkIHdpdGggdGhlIG5hbWUgb2YgdGhlIHNwZWNpZmljIGxheWVyIChlLmcuCkBAIC0xMDY0LDcgKzEwNjQsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJGSUxFX1BSSU9SSVRZJz48Z2xvc3N0ZXJtPkJCRklMRV9QUklPUklUWTwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCRklMRV9QUklPUklUWSc+PGdsb3NzdGVybT5CQkZJTEVfUFJJT1JJVFk8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT5Bc3NpZ25zIHRoZSBwcmlvcml0eSBmb3IgcmVjaXBlIGZpbGVzIGluIGVhY2ggbGF5ZXIuPC9wYXJhPgogICAgICAgICAgICAgICAgIDxwYXJhPlRoaXMgdmFyaWFibGUgaXMgdXNlZnVsIGluIHNpdHVhdGlvbnMgd2hlcmUgdGhlIHNhbWUgcmVjaXBlIGFwcGVhcnMgaW4KQEAgLTEwNzQsNyArMTA3NCw3IEBACiAgICAgICAgICAgICAgICAgICAgIGxldHRpbmcgeW91IGNvbnRyb2wgdGhlIHByZWNlZGVuY2UgZm9yIHRoZSBtdWx0aXBsZSBsYXllcnMuCiAgICAgICAgICAgICAgICAgICAgIFRoZSBwcmVjZWRlbmNlIGVzdGFibGlzaGVkIHRocm91Z2ggdGhpcyB2YXJpYWJsZSBzdGFuZHMgcmVnYXJkbGVzcyBvZiBhCiAgICAgICAgICAgICAgICAgICAgIHJlY2lwZSdzIHZlcnNpb24KLSAgICAgICAgICAgICAgICAgICAgKDxsaW5rIGxpbmtlbmQ9J3Zhci1QVic+PGZpbGVuYW1lPlBWPC9maWxlbmFtZT48L2xpbms+IHZhcmlhYmxlKS4KKyAgICAgICAgICAgICAgICAgICAgKDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QVic+PGZpbGVuYW1lPlBWPC9maWxlbmFtZT48L2xpbms+IHZhcmlhYmxlKS4KICAgICAgICAgICAgICAgICAgICAgRm9yIGV4YW1wbGUsIGEgbGF5ZXIgdGhhdCBoYXMgYSByZWNpcGUgd2l0aCBhIGhpZ2hlciA8ZmlsZW5hbWU+UFY8L2ZpbGVuYW1lPiB2YWx1ZSBidXQgZm9yCiAgICAgICAgICAgICAgICAgICAgIHdoaWNoIHRoZSA8ZmlsZW5hbWU+QkJGSUxFX1BSSU9SSVRZPC9maWxlbmFtZT4gaXMgc2V0IHRvIGhhdmUgYSBsb3dlciBwcmVjZWRlbmNlIHN0aWxsIGhhcyBhCiAgICAgICAgICAgICAgICAgICAgIGxvd2VyIHByZWNlZGVuY2UuPC9wYXJhPgpAQCAtMTA4Myw3ICsxMDgzLDcgQEAKICAgICAgICAgICAgICAgICAgICAgRm9yIGV4YW1wbGUsIHRoZSB2YWx1ZSA2IGhhcyBhIGhpZ2hlciBwcmVjZWRlbmNlIHRoYW4gdGhlIHZhbHVlIDUuCiAgICAgICAgICAgICAgICAgICAgIElmIG5vdCBzcGVjaWZpZWQsIHRoZSA8ZmlsZW5hbWU+QkJGSUxFX1BSSU9SSVRZPC9maWxlbmFtZT4gdmFyaWFibGUgaXMgc2V0IGJhc2VkIG9uIGxheWVyCiAgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llcyAoc2VlIHRoZQotICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+PGxpbmsgbGlua2VuZD0ndmFyLUxBWUVSREVQRU5EUyc+TEFZRVJERVBFTkRTPC9saW5rPjwvZmlsZW5hbWU+IHZhcmlhYmxlIGZvcgorICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+PGxpbmsgbGlua2VuZD0ndmFyLWJiLUxBWUVSREVQRU5EUyc+TEFZRVJERVBFTkRTPC9saW5rPjwvZmlsZW5hbWU+IHZhcmlhYmxlIGZvcgogICAgICAgICAgICAgICAgICAgICBtb3JlIGluZm9ybWF0aW9uLgogICAgICAgICAgICAgICAgICAgICBUaGUgZGVmYXVsdCBwcmlvcml0eSwgaWYgdW5zcGVjaWZpZWQKICAgICAgICAgICAgICAgICAgICAgZm9yIGEgbGF5ZXIgd2l0aCBubyBkZXBlbmRlbmNpZXMsIGlzIHRoZSBsb3dlc3QgZGVmaW5lZCBwcmlvcml0eSArIDEKQEAgLTEwOTUsNyArMTA5NSw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQkZJTEVTJz48Z2xvc3N0ZXJtPkJCRklMRVM8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQkZJTEVTJz48Z2xvc3N0ZXJtPkJCRklMRVM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgQSBzcGFjZS1zZXBhcmF0ZWQgbGlzdCBvZiByZWNpcGUgZmlsZXMgQml0QmFrZSB1c2VzIHRvCkBAIC0xMTEzLDcgKzExMTMsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJJTkNMVURFRCc+PGdsb3NzdGVybT5CQklOQ0xVREVEPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJJTkNMVURFRCc+PGdsb3NzdGVybT5CQklOQ0xVREVEPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIENvbnRhaW5zIGEgc3BhY2Utc2VwYXJhdGVkIGxpc3Qgb2YgYWxsIG9mIGFsbCBmaWxlcyB0aGF0CkBAIC0xMTIzLDcgKzExMjMsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJJTkNMVURFTE9HUyc+PGdsb3NzdGVybT5CQklOQ0xVREVMT0dTPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJJTkNMVURFTE9HUyc+PGdsb3NzdGVybT5CQklOQ0xVREVMT0dTPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIElmIHNldCB0byBhIHZhbHVlLCBlbmFibGVzIHByaW50aW5nIHRoZSB0YXNrIGxvZyB3aGVuCkBAIC0xMTMyLDExICsxMTMyLDExIEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQklOQ0xVREVMT0dTX0xJTkVTJz48Z2xvc3N0ZXJtPkJCSU5DTFVERUxPR1NfTElORVM8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQklOQ0xVREVMT0dTX0xJTkVTJz48Z2xvc3N0ZXJtPkJCSU5DTFVERUxPR1NfTElORVM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgSWYKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCSU5DTFVERUxPR1MnPjxmaWxlbmFtZT5CQklOQ0xVREVMT0dTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQklOQ0xVREVMT0dTJz48ZmlsZW5hbWU+QkJJTkNMVURFTE9HUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICBpcyBzZXQsIHNwZWNpZmllcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgbGluZXMgZnJvbSB0aGUKICAgICAgICAgICAgICAgICAgICAgdGFzayBsb2cgZmlsZSB0byBwcmludCB3aGVuIHJlcG9ydGluZyBhIGZhaWxlZCB0YXNrLgogICAgICAgICAgICAgICAgICAgICBJZiB5b3UgZG8gbm90IHNldCA8ZmlsZW5hbWU+QkJJTkNMVURFTE9HU19MSU5FUzwvZmlsZW5hbWU+LApAQCAtMTE0NSw3ICsxMTQ1LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCTEFZRVJTJz48Z2xvc3N0ZXJtPkJCTEFZRVJTPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJMQVlFUlMnPjxnbG9zc3Rlcm0+QkJMQVlFUlM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT5MaXN0cyB0aGUgbGF5ZXJzIHRvIGVuYWJsZSBkdXJpbmcgdGhlIGJ1aWxkLgogICAgICAgICAgICAgICAgICAgICBUaGlzIHZhcmlhYmxlIGlzIGRlZmluZWQgaW4gdGhlIDxmaWxlbmFtZT5iYmxheWVycy5jb25mPC9maWxlbmFtZT4gY29uZmlndXJhdGlvbgpAQCAtMTE2Niw3ICsxMTY2LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCTEFZRVJTX0ZFVENIX0RJUic+PGdsb3NzdGVybT5CQkxBWUVSU19GRVRDSF9ESVI8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQkxBWUVSU19GRVRDSF9ESVInPjxnbG9zc3Rlcm0+QkJMQVlFUlNfRkVUQ0hfRElSPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFNldHMgdGhlIGJhc2UgbG9jYXRpb24gd2hlcmUgbGF5ZXJzIGFyZSBzdG9yZWQuCkBAIC0xMTc4LDcgKzExNzgsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJNQVNLJz48Z2xvc3N0ZXJtPkJCTUFTSzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCTUFTSyc+PGdsb3NzdGVybT5CQk1BU0s8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgUHJldmVudHMgQml0QmFrZSBmcm9tIHByb2Nlc3NpbmcgcmVjaXBlcyBhbmQgcmVjaXBlCkBAIC0xMjM2LDcgKzEyMzYsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJNVUxUSUNPTkZJRyc+PGdsb3NzdGVybT5CQk1VTFRJQ09ORklHPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJNVUxUSUNPTkZJRyc+PGdsb3NzdGVybT5CQk1VTFRJQ09ORklHPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8aW5mbz4KICAgICAgICAgICAgICAgICBCQk1VTFRJQ09ORklHW2RvY10gPSAiRW5hYmxlcyBCaXRCYWtlIHRvIHBlcmZvcm0gbXVsdGlwbGUgY29uZmlndXJhdGlvbiBidWlsZHMgYW5kIGxpc3RzIGVhY2ggc2VwYXJhdGUgY29uZmlndXJhdGlvbiAobXVsdGljb25maWcpLiIKICAgICAgICAgICAgIDwvaW5mbz4KQEAgLTEyNzUsNyArMTI3NSw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQlBBVEgnPjxnbG9zc3Rlcm0+QkJQQVRIPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJQQVRIJz48Z2xvc3N0ZXJtPkJCUEFUSDwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBVc2VkIGJ5IEJpdEJha2UgdG8gbG9jYXRlIGNsYXNzCkBAIC0xMzAyLDcgKzEzMDIsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJTRVJWRVInPjxnbG9zc3Rlcm0+QkJTRVJWRVI8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQlNFUlZFUic+PGdsb3NzdGVybT5CQlNFUlZFUjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBQb2ludHMgdG8gdGhlIHNlcnZlciB0aGF0IHJ1bnMgbWVtb3J5LXJlc2lkZW50IEJpdEJha2UuCkBAIC0xMzEyLDcgKzEzMTIsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJUQVJHRVRTJz48Z2xvc3N0ZXJtPkJCVEFSR0VUUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCVEFSR0VUUyc+PGdsb3NzdGVybT5CQlRBUkdFVFM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgQWxsb3dzIHlvdSB0byB1c2UgYSBjb25maWd1cmF0aW9uIGZpbGUgdG8gYWRkIHRvIHRoZSBsaXN0CkBAIC0xMzIxLDE0ICsxMzIxLDE0IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQlZFUlNJT05TJz48Z2xvc3N0ZXJtPkJCVkVSU0lPTlM8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQlZFUlNJT05TJz48Z2xvc3N0ZXJtPkJCVkVSU0lPTlM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgQWxsb3dzIGEgc2luZ2xlIHJlY2lwZSB0byBidWlsZCBtdWx0aXBsZSB2ZXJzaW9ucyBvZiBhCiAgICAgICAgICAgICAgICAgICAgIHByb2plY3QgZnJvbSBhIHNpbmdsZSByZWNpcGUgZmlsZS4KICAgICAgICAgICAgICAgICAgICAgWW91IGFsc28gYWJsZSB0byBzcGVjaWZ5IGNvbmRpdGlvbmFsIG1ldGFkYXRhCiAgICAgICAgICAgICAgICAgICAgIHVzaW5nIHRoZQotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItT1ZFUlJJREVTJz48ZmlsZW5hbWU+T1ZFUlJJREVTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1PVkVSUklERVMnPjxmaWxlbmFtZT5PVkVSUklERVM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgbWVjaGFuaXNtIGZvciBhIHNpbmdsZSB2ZXJzaW9uIG9yIGZvciBhbiBvcHRpb25hbGx5IG5hbWVkCiAgICAgICAgICAgICAgICAgICAgIHJhbmdlIG9mIHZlcnNpb25zLgogICAgICAgICAgICAgICAgIDwvcGFyYT4KQEAgLTEzNDIsNyArMTM0Miw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CSVRCQUtFX1VJJz48Z2xvc3N0ZXJtPkJJVEJBS0VfVUk8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CSVRCQUtFX1VJJz48Z2xvc3N0ZXJtPkJJVEJBS0VfVUk8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgVXNlZCB0byBzcGVjaWZ5IHRoZSBVSSBtb2R1bGUgdG8gdXNlIHdoZW4gcnVubmluZyBCaXRCYWtlLgpAQCAtMTM1Niw3ICsxMzU2LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJVSUxETkFNRSc+PGdsb3NzdGVybT5CVUlMRE5BTUU8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CVUlMRE5BTUUnPjxnbG9zc3Rlcm0+QlVJTEROQU1FPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIEEgbmFtZSBhc3NpZ25lZCB0byB0aGUgYnVpbGQuCkBAIC0xMzY2LDcgKzEzNjYsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQlpSRElSJz48Z2xvc3N0ZXJtPkJaUkRJUjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJaUkRJUic+PGdsb3NzdGVybT5CWlJESVI8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgVGhlIGRpcmVjdG9yeSBpbiB3aGljaCBmaWxlcyBjaGVja2VkIG91dCBvZiBhIEJhemFhcgpAQCAtMTM3Nyw5ICsxMzc3LDkgQEAKIAogICAgIDwvZ2xvc3NkaXY+CiAKLSAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1nbG9zc2FyeS1jJz48dGl0bGU+QzwvdGl0bGU+CisgICAgPGdsb3NzZGl2IGlkPSd2YXItYmItZ2xvc3NhcnktYyc+PHRpdGxlPkM8L3RpdGxlPgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQ0FDSEUnPjxnbG9zc3Rlcm0+Q0FDSEU8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1DQUNIRSc+PGdsb3NzdGVybT5DQUNIRTwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBTcGVjaWZpZXMgdGhlIGRpcmVjdG9yeSBCaXRCYWtlIHVzZXMgdG8gc3RvcmUgYSBjYWNoZQpAQCAtMTM4OSw3ICsxMzg5LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUNWU0RJUic+PGdsb3NzdGVybT5DVlNESVI8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1DVlNESVInPjxnbG9zc3Rlcm0+Q1ZTRElSPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFRoZSBkaXJlY3RvcnkgaW4gd2hpY2ggZmlsZXMgY2hlY2tlZCBvdXQgdW5kZXIgdGhlCkBAIC0xNDAwLDkgKzE0MDAsOSBAQAogCiAgICAgPC9nbG9zc2Rpdj4KIAotICAgIDxnbG9zc2RpdiBpZD0ndmFyLWdsb3NzYXJ5LWQnPjx0aXRsZT5EPC90aXRsZT4KKyAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1iYi1nbG9zc2FyeS1kJz48dGl0bGU+RDwvdGl0bGU+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1ERUZBVUxUX1BSRUZFUkVOQ0UnPjxnbG9zc3Rlcm0+REVGQVVMVF9QUkVGRVJFTkNFPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItREVGQVVMVF9QUkVGRVJFTkNFJz48Z2xvc3N0ZXJtPkRFRkFVTFRfUFJFRkVSRU5DRTwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBTcGVjaWZpZXMgYSB3ZWFrIGJpYXMgZm9yIHJlY2lwZSBzZWxlY3Rpb24gcHJpb3JpdHkuCkBAIC0xNDEzLDIwICsxNDEzLDIwIEBACiAgICAgICAgICAgICAgICAgICAgIHBpZWNlIG9mIHNvZnR3YXJlLgogICAgICAgICAgICAgICAgICAgICBVc2luZyB0aGUgdmFyaWFibGUgaW4gdGhpcyB3YXkgY2F1c2VzIHRoZSBzdGFibGUgdmVyc2lvbgogICAgICAgICAgICAgICAgICAgICBvZiB0aGUgcmVjaXBlIHRvIGJ1aWxkIGJ5IGRlZmF1bHQgaW4gdGhlIGFic2VuY2Ugb2YKLSAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPjxsaW5rIGxpbmtlbmQ9J3Zhci1QUkVGRVJSRURfVkVSU0lPTic+UFJFRkVSUkVEX1ZFUlNJT048L2xpbms+PC9maWxlbmFtZT4KKyAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPjxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QUkVGRVJSRURfVkVSU0lPTic+UFJFRkVSUkVEX1ZFUlNJT048L2xpbms+PC9maWxlbmFtZT4KICAgICAgICAgICAgICAgICAgICAgYmVpbmcgdXNlZCB0byBidWlsZCB0aGUgZGV2ZWxvcG1lbnQgdmVyc2lvbi4KICAgICAgICAgICAgICAgICA8L3BhcmE+CiAgICAgICAgICAgICAgICAgPG5vdGU+CiAgICAgICAgICAgICAgICAgICAgIFRoZSBiaWFzIHByb3ZpZGVkIGJ5IDxmaWxlbmFtZT5ERUZBVUxUX1BSRUZFUkVOQ0U8L2ZpbGVuYW1lPgogICAgICAgICAgICAgICAgICAgICBpcyB3ZWFrIGFuZCBpcyBvdmVycmlkZGVuIGJ5Ci0gICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT48bGluayBsaW5rZW5kPSd2YXItQkJGSUxFX1BSSU9SSVRZJz5CQkZJTEVfUFJJT1JJVFk8L2xpbms+PC9maWxlbmFtZT4KKyAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPjxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQkZJTEVfUFJJT1JJVFknPkJCRklMRV9QUklPUklUWTwvbGluaz48L2ZpbGVuYW1lPgogICAgICAgICAgICAgICAgICAgICBpZiB0aGF0IHZhcmlhYmxlIGlzIGRpZmZlcmVudCBiZXR3ZWVuIHR3byBsYXllcnMKICAgICAgICAgICAgICAgICAgICAgdGhhdCBjb250YWluIGRpZmZlcmVudCB2ZXJzaW9ucyBvZiB0aGUgc2FtZSByZWNpcGUuCiAgICAgICAgICAgICAgICAgPC9ub3RlPgogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItREVQRU5EUyc+PGdsb3NzdGVybT5ERVBFTkRTPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItREVQRU5EUyc+PGdsb3NzdGVybT5ERVBFTkRTPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIExpc3RzIGEgcmVjaXBlJ3MgYnVpbGQtdGltZSBkZXBlbmRlbmNpZXMKQEAgLTE0NTEsMTMgKzE0NTEsMTMgQEAKIAogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBGb3IgaW5mb3JtYXRpb24gb24gcnVudGltZSBkZXBlbmRlbmNpZXMsIHNlZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVJERVBFTkRTJz48ZmlsZW5hbWU+UkRFUEVORFM8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVJERVBFTkRTJz48ZmlsZW5hbWU+UkRFUEVORFM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUuCiAgICAgICAgICAgICAgICAgPC9wYXJhPgogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItREVTQ1JJUFRJT04nPjxnbG9zc3Rlcm0+REVTQ1JJUFRJT048L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1ERVNDUklQVElPTic+PGdsb3NzdGVybT5ERVNDUklQVElPTjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBBIGxvbmcgZGVzY3JpcHRpb24gZm9yIHRoZSByZWNpcGUuCkBAIC0xNDY1LDcgKzE0NjUsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItRExfRElSJz48Z2xvc3N0ZXJtPkRMX0RJUjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLURMX0RJUic+PGdsb3NzdGVybT5ETF9ESVI8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgVGhlIGNlbnRyYWwgZG93bmxvYWQgZGlyZWN0b3J5IHVzZWQgYnkgdGhlIGJ1aWxkIHByb2Nlc3MgdG8KQEAgLTE0NzQsNyArMTQ3NCw3IEBACiAgICAgICAgICAgICAgICAgICAgIHN1aXRhYmxlIGZvciBtaXJyb3JpbmcgZm9yIGV2ZXJ5dGhpbmcgZXhjZXB0IEdpdAogICAgICAgICAgICAgICAgICAgICByZXBvc2l0b3JpZXMuCiAgICAgICAgICAgICAgICAgICAgIElmIHlvdSB3YW50IHRhcmJhbGxzIG9mIEdpdCByZXBvc2l0b3JpZXMsIHVzZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX0dFTkVSQVRFX01JUlJPUl9UQVJCQUxMUyc+PGZpbGVuYW1lPkJCX0dFTkVSQVRFX01JUlJPUl9UQVJCQUxMUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfR0VORVJBVEVfTUlSUk9SX1RBUkJBTExTJz48ZmlsZW5hbWU+QkJfR0VORVJBVEVfTUlSUk9SX1RBUkJBTExTPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlLgogICAgICAgICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CkBAIC0xNDgyLDkgKzE0ODIsOSBAQAogICAgICAgICA8L2dsb3NzZW50cnk+CiAgICAgPC9nbG9zc2Rpdj4KIAotICAgIDxnbG9zc2RpdiBpZD0ndmFyLWdsb3NzYXJ5LWUnPjx0aXRsZT5FPC90aXRsZT4KKyAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1iYi1nbG9zc2FyeS1lJz48dGl0bGU+RTwvdGl0bGU+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1FWENMVURFX0ZST01fV09STEQnPjxnbG9zc3Rlcm0+RVhDTFVERV9GUk9NX1dPUkxEPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItRVhDTFVERV9GUk9NX1dPUkxEJz48Z2xvc3N0ZXJtPkVYQ0xVREVfRlJPTV9XT1JMRDwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBEaXJlY3RzIEJpdEJha2UgdG8gZXhjbHVkZSBhIHJlY2lwZSBmcm9tIHdvcmxkIGJ1aWxkcyAoaS5lLgpAQCAtMTUxMiw5ICsxNTEyLDkgQEAKIAogICAgIDwvZ2xvc3NkaXY+CiAKLSAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1nbG9zc2FyeS1mJz48dGl0bGU+RjwvdGl0bGU+CisgICAgPGdsb3NzZGl2IGlkPSd2YXItYmItZ2xvc3NhcnktZic+PHRpdGxlPkY8L3RpdGxlPgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItRkFLRVJPT1QnPjxnbG9zc3Rlcm0+RkFLRVJPT1Q8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1GQUtFUk9PVCc+PGdsb3NzdGVybT5GQUtFUk9PVDwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICAgQ29udGFpbnMgdGhlIGNvbW1hbmQgdG8gdXNlIHdoZW4gcnVubmluZyBhIHNoZWxsIHNjcmlwdApAQCAtMTUyNywxOSArMTUyNywxOSBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItRkFLRVJPT1RCQVNFRU5WJz48Z2xvc3N0ZXJtPkZBS0VST09UQkFTRUVOVjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUZBS0VST09UQkFTRUVOVic+PGdsb3NzdGVybT5GQUtFUk9PVEJBU0VFTlY8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgIExpc3RzIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBzZXQgd2hlbiBleGVjdXRpbmcKICAgICAgICAgICAgICAgICAgICAgIHRoZSBjb21tYW5kIGRlZmluZWQgYnkKLSAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1GQUtFUk9PVENNRCc+PGZpbGVuYW1lPkZBS0VST09UQ01EPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItRkFLRVJPT1RDTUQnPjxmaWxlbmFtZT5GQUtFUk9PVENNRDwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICAgdGhhdCBzdGFydHMgdGhlIGJpdGJha2Utd29ya2VyIHByb2Nlc3MKICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBmYWtlcm9vdCBlbnZpcm9ubWVudC4KICAgICAgICAgICAgICAgICA8L3BhcmE+CiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1GQUtFUk9PVENNRCc+PGdsb3NzdGVybT5GQUtFUk9PVENNRDwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUZBS0VST09UQ01EJz48Z2xvc3N0ZXJtPkZBS0VST09UQ01EPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgICBDb250YWlucyB0aGUgY29tbWFuZCB0aGF0IHN0YXJ0cyB0aGUgYml0YmFrZS13b3JrZXIKQEAgLTE1NDgsNyArMTU0OCw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1GQUtFUk9PVERJUlMnPjxnbG9zc3Rlcm0+RkFLRVJPT1RESVJTPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItRkFLRVJPT1RESVJTJz48Z2xvc3N0ZXJtPkZBS0VST09URElSUzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICAgTGlzdHMgZGlyZWN0b3JpZXMgdG8gY3JlYXRlIGJlZm9yZSBydW5uaW5nIGEgdGFzayBpbgpAQCAtMTU1NywzMyArMTU1NywzMyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItRkFLRVJPT1RFTlYnPjxnbG9zc3Rlcm0+RkFLRVJPT1RFTlY8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1GQUtFUk9PVEVOVic+PGdsb3NzdGVybT5GQUtFUk9PVEVOVjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICAgTGlzdHMgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIHNldCB3aGVuIHJ1bm5pbmcgYSB0YXNrCiAgICAgICAgICAgICAgICAgICAgICBpbiB0aGUgZmFrZXJvb3QgZW52aXJvbm1lbnQuCiAgICAgICAgICAgICAgICAgICAgICBGb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvbiBlbnZpcm9ubWVudCB2YXJpYWJsZXMgYW5kCiAgICAgICAgICAgICAgICAgICAgICB0aGUgZmFrZXJvb3QgZW52aXJvbm1lbnQsIHNlZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1GQUtFUk9PVEJBU0VFTlYnPjxmaWxlbmFtZT5GQUtFUk9PVEJBU0VFTlY8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1GQUtFUk9PVEJBU0VFTlYnPjxmaWxlbmFtZT5GQUtFUk9PVEJBU0VFTlY8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlLgogICAgICAgICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUZBS0VST09UTk9FTlYnPjxnbG9zc3Rlcm0+RkFLRVJPT1ROT0VOVjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUZBS0VST09UTk9FTlYnPjxnbG9zc3Rlcm0+RkFLRVJPT1ROT0VOVjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICAgTGlzdHMgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIHNldCB3aGVuIHJ1bm5pbmcgYSB0YXNrCiAgICAgICAgICAgICAgICAgICAgICB0aGF0IGlzIG5vdCBpbiB0aGUgZmFrZXJvb3QgZW52aXJvbm1lbnQuCiAgICAgICAgICAgICAgICAgICAgICBGb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvbiBlbnZpcm9ubWVudCB2YXJpYWJsZXMgYW5kCiAgICAgICAgICAgICAgICAgICAgICB0aGUgZmFrZXJvb3QgZW52aXJvbm1lbnQsIHNlZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1GQUtFUk9PVEVOVic+PGZpbGVuYW1lPkZBS0VST09URU5WPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItRkFLRVJPT1RFTlYnPjxmaWxlbmFtZT5GQUtFUk9PVEVOVjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUuCiAgICAgICAgICAgICAgICAgPC9wYXJhPgogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItRkVUQ0hDTUQnPjxnbG9zc3Rlcm0+RkVUQ0hDTUQ8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1GRVRDSENNRCc+PGdsb3NzdGVybT5GRVRDSENNRDwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBEZWZpbmVzIHRoZSBjb21tYW5kIHRoZSBCaXRCYWtlIGZldGNoZXIgbW9kdWxlCkBAIC0xNTk1LDcgKzE1OTUsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItRklMRSc+PGdsb3NzdGVybT5GSUxFPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItRklMRSc+PGdsb3NzdGVybT5GSUxFPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFBvaW50cyBhdCB0aGUgY3VycmVudCBmaWxlLgpAQCAtMTYwNyw3ICsxNjA3LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUZJTEVTUEFUSCc+PGdsb3NzdGVybT5GSUxFU1BBVEg8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1GSUxFU1BBVEgnPjxnbG9zc3Rlcm0+RklMRVNQQVRIPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFNwZWNpZmllcyBkaXJlY3RvcmllcyBCaXRCYWtlIHVzZXMgd2hlbiBzZWFyY2hpbmcgZm9yCkBAIC0xNjI1LDkgKzE2MjUsOSBAQAogICAgIDwvZ2xvc3NkaXY+CiAKIAotICAgIDxnbG9zc2RpdiBpZD0ndmFyLWdsb3NzYXJ5LWcnPjx0aXRsZT5HPC90aXRsZT4KKyAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1iYi1nbG9zc2FyeS1nJz48dGl0bGU+RzwvdGl0bGU+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1HSVRESVInPjxnbG9zc3Rlcm0+R0lURElSPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItR0lURElSJz48Z2xvc3N0ZXJtPkdJVERJUjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBUaGUgZGlyZWN0b3J5IGluIHdoaWNoIGEgbG9jYWwgY29weSBvZiBhIEdpdCByZXBvc2l0b3J5CkBAIC0xNjM5LDkgKzE2MzksOSBAQAogICAgIDwvZ2xvc3NkaXY+CiAKIAotICAgIDxnbG9zc2RpdiBpZD0ndmFyLWdsb3NzYXJ5LWgnPjx0aXRsZT5IPC90aXRsZT4KKyAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1iYi1nbG9zc2FyeS1oJz48dGl0bGU+SDwvdGl0bGU+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1IR0RJUic+PGdsb3NzdGVybT5IR0RJUjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUhHRElSJz48Z2xvc3N0ZXJtPkhHRElSPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFRoZSBkaXJlY3RvcnkgaW4gd2hpY2ggZmlsZXMgY2hlY2tlZCBvdXQgb2YgYSBNZXJjdXJpYWwKQEAgLTE2NTAsNyArMTY1MCw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1IT01FUEFHRSc+PGdsb3NzdGVybT5IT01FUEFHRTwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUhPTUVQQUdFJz48Z2xvc3N0ZXJtPkhPTUVQQUdFPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+V2Vic2l0ZSB3aGVyZSBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzb2Z0d2FyZSB0aGUgcmVjaXBlIGlzIGJ1aWxkaW5nCiAgICAgICAgICAgICAgICAgICAgIGNhbiBiZSBmb3VuZC48L3BhcmE+CkBAIC0xNjU5LDkgKzE2NTksOSBAQAogCiAgICAgPC9nbG9zc2Rpdj4KIAotICAgIDxnbG9zc2RpdiBpZD0ndmFyLWdsb3NzYXJ5LWknPjx0aXRsZT5JPC90aXRsZT4KKyAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1iYi1nbG9zc2FyeS1pJz48dGl0bGU+STwvdGl0bGU+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1JTkhFUklUJz48Z2xvc3N0ZXJtPklOSEVSSVQ8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1JTkhFUklUJz48Z2xvc3N0ZXJtPklOSEVSSVQ8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgQ2F1c2VzIHRoZSBuYW1lZCBjbGFzcyBvciBjbGFzc2VzIHRvIGJlIGluaGVyaXRlZCBnbG9iYWxseS4KQEAgLTE2OTEsMTUgKzE2OTEsMTUgQEAKICAgICA8L2dsb3NzZGl2PgogLS0+CiAKLSAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1nbG9zc2FyeS1sJz48dGl0bGU+TDwvdGl0bGU+CisgICAgPGdsb3NzZGl2IGlkPSd2YXItYmItZ2xvc3NhcnktbCc+PHRpdGxlPkw8L3RpdGxlPgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItTEFZRVJERVBFTkRTJz48Z2xvc3N0ZXJtPkxBWUVSREVQRU5EUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUxBWUVSREVQRU5EUyc+PGdsb3NzdGVybT5MQVlFUkRFUEVORFM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT5MaXN0cyB0aGUgbGF5ZXJzLCBzZXBhcmF0ZWQgYnkgc3BhY2VzLCB1cG9uIHdoaWNoIHRoaXMgcmVjaXBlIGRlcGVuZHMuCiAgICAgICAgICAgICAgICAgICAgIE9wdGlvbmFsbHksIHlvdSBjYW4gc3BlY2lmeSBhIHNwZWNpZmljIGxheWVyIHZlcnNpb24gZm9yIGEgZGVwZW5kZW5jeQogICAgICAgICAgICAgICAgICAgICBieSBhZGRpbmcgaXQgdG8gdGhlIGVuZCBvZiB0aGUgbGF5ZXIgbmFtZSB3aXRoIGEgY29sb24sIChlLmcuICJhbm90aGVybGF5ZXI6MyIKICAgICAgICAgICAgICAgICAgICAgdG8gYmUgY29tcGFyZWQgYWdhaW5zdAotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItTEFZRVJWRVJTSU9OJz48ZmlsZW5hbWU+TEFZRVJWRVJTSU9OPC9maWxlbmFtZT48L2xpbms+PGZpbGVuYW1lPl9hbm90aGVybGF5ZXI8L2ZpbGVuYW1lPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItTEFZRVJWRVJTSU9OJz48ZmlsZW5hbWU+TEFZRVJWRVJTSU9OPC9maWxlbmFtZT48L2xpbms+PGZpbGVuYW1lPl9hbm90aGVybGF5ZXI8L2ZpbGVuYW1lPgogICAgICAgICAgICAgICAgICAgICBpbiB0aGlzIGNhc2UpLgogICAgICAgICAgICAgICAgICAgICBCaXRCYWtlIHByb2R1Y2VzIGFuIGVycm9yIGlmIGFueSBkZXBlbmRlbmN5IGlzIG1pc3Npbmcgb3IKICAgICAgICAgICAgICAgICAgICAgdGhlIHZlcnNpb24gbnVtYmVycyBkbyBub3QgbWF0Y2ggZXhhY3RseSAoaWYgc3BlY2lmaWVkKS48L3BhcmE+CkBAIC0xNzEwLDcgKzE3MTAsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItTEFZRVJESVInPjxnbG9zc3Rlcm0+TEFZRVJESVI8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1MQVlFUkRJUic+PGdsb3NzdGVybT5MQVlFUkRJUjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPldoZW4gdXNlZCBpbnNpZGUgdGhlIDxmaWxlbmFtZT5sYXllci5jb25mPC9maWxlbmFtZT4gY29uZmlndXJhdGlvbgogICAgICAgICAgICAgICAgICAgICBmaWxlLCB0aGlzIHZhcmlhYmxlIHByb3ZpZGVzIHRoZSBwYXRoIG9mIHRoZSBjdXJyZW50IGxheWVyLgpAQCAtMTcxOSwyMiArMTcxOSwyMiBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItTEFZRVJESVJfUkUnPjxnbG9zc3Rlcm0+TEFZRVJESVJfUkU8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1MQVlFUkRJUl9SRSc+PGdsb3NzdGVybT5MQVlFUkRJUl9SRTwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPldoZW4gdXNlZCBpbnNpZGUgdGhlIDxmaWxlbmFtZT5sYXllci5jb25mPC9maWxlbmFtZT4gY29uZmlndXJhdGlvbgogICAgICAgICAgICAgICAgICAgICBmaWxlLCB0aGlzIHZhcmlhYmxlIHByb3ZpZGVzIHRoZSBwYXRoIG9mIHRoZSBjdXJyZW50IGxheWVyLAogICAgICAgICAgICAgICAgICAgICBlc2NhcGVkIGZvciB1c2UgaW4gYSByZWd1bGFyIGV4cHJlc3Npb24KLSAgICAgICAgICAgICAgICAgICAgKDxsaW5rIGxpbmtlbmQ9J3Zhci1CQkZJTEVfUEFUVEVSTic+PGZpbGVuYW1lPkJCRklMRV9QQVRURVJOPC9maWxlbmFtZT48L2xpbms+KS4KKyAgICAgICAgICAgICAgICAgICAgKDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQkZJTEVfUEFUVEVSTic+PGZpbGVuYW1lPkJCRklMRV9QQVRURVJOPC9maWxlbmFtZT48L2xpbms+KS4KICAgICAgICAgICAgICAgICAgICAgVGhpcyB2YXJpYWJsZSBpcyBub3QgYXZhaWxhYmxlIG91dHNpZGUgb2YgPGZpbGVuYW1lPmxheWVyLmNvbmY8L2ZpbGVuYW1lPgogICAgICAgICAgICAgICAgICAgICBhbmQgcmVmZXJlbmNlcyBhcmUgZXhwYW5kZWQgaW1tZWRpYXRlbHkgd2hlbiBwYXJzaW5nIG9mIHRoZSBmaWxlIGNvbXBsZXRlcy48L3BhcmE+CiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1MQVlFUlZFUlNJT04nPjxnbG9zc3Rlcm0+TEFZRVJWRVJTSU9OPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItTEFZRVJWRVJTSU9OJz48Z2xvc3N0ZXJtPkxBWUVSVkVSU0lPTjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPk9wdGlvbmFsbHkgc3BlY2lmaWVzIHRoZSB2ZXJzaW9uIG9mIGEgbGF5ZXIgYXMgYSBzaW5nbGUgbnVtYmVyLgogICAgICAgICAgICAgICAgICAgICBZb3UgY2FuIHVzZSB0aGlzIHZhcmlhYmxlIHdpdGhpbgotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItTEFZRVJERVBFTkRTJz48ZmlsZW5hbWU+TEFZRVJERVBFTkRTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1MQVlFUkRFUEVORFMnPjxmaWxlbmFtZT5MQVlFUkRFUEVORFM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgZm9yIGFub3RoZXIgbGF5ZXIgaW4gb3JkZXIgdG8gZGVwZW5kIG9uIGEgc3BlY2lmaWMgdmVyc2lvbgogICAgICAgICAgICAgICAgICAgICBvZiB0aGUgbGF5ZXIuPC9wYXJhPgogICAgICAgICAgICAgICAgIDxwYXJhPgpAQCAtMTc0NCw3ICsxNzQ0LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUxJQ0VOU0UnPjxnbG9zc3Rlcm0+TElDRU5TRTwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUxJQ0VOU0UnPjxnbG9zc3Rlcm0+TElDRU5TRTwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBUaGUgbGlzdCBvZiBzb3VyY2UgbGljZW5zZXMgZm9yIHRoZSByZWNpcGUuCkBAIC0xNzU0LDkgKzE3NTQsOSBAQAogCiAgICAgPC9nbG9zc2Rpdj4KIAotICAgIDxnbG9zc2RpdiBpZD0ndmFyLWdsb3NzYXJ5LW0nPjx0aXRsZT5NPC90aXRsZT4KKyAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1iYi1nbG9zc2FyeS1tJz48dGl0bGU+TTwvdGl0bGU+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1NSVJST1JTJz48Z2xvc3N0ZXJtPk1JUlJPUlM8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1NSVJST1JTJz48Z2xvc3N0ZXJtPk1JUlJPUlM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgU3BlY2lmaWVzIGFkZGl0aW9uYWwgcGF0aHMgZnJvbSB3aGljaCBCaXRCYWtlIGdldHMgc291cmNlIGNvZGUuCkBAIC0xNzY0LDE0ICsxNzY0LDE0IEBACiAgICAgICAgICAgICAgICAgICAgIHRyaWVzIHRoZSBsb2NhbCBkb3dubG9hZCBkaXJlY3RvcnkuCiAgICAgICAgICAgICAgICAgICAgIElmIHRoYXQgbG9jYXRpb24gZmFpbHMsIHRoZSBidWlsZCBzeXN0ZW0gdHJpZXMgbG9jYXRpb25zCiAgICAgICAgICAgICAgICAgICAgIGRlZmluZWQgYnkKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVBSRU1JUlJPUlMnPjxmaWxlbmFtZT5QUkVNSVJST1JTPC9maWxlbmFtZT48L2xpbms+LAorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUFJFTUlSUk9SUyc+PGZpbGVuYW1lPlBSRU1JUlJPUlM8L2ZpbGVuYW1lPjwvbGluaz4sCiAgICAgICAgICAgICAgICAgICAgIHRoZSB1cHN0cmVhbSBzb3VyY2UsIGFuZCB0aGVuIGxvY2F0aW9ucyBzcGVjaWZpZWQgYnkKICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPk1JUlJPUlM8L2ZpbGVuYW1lPiBpbiB0aGF0IG9yZGVyLgogICAgICAgICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLU1VTFRJX1BST1ZJREVSX1dISVRFTElTVCc+PGdsb3NzdGVybT5NVUxUSV9QUk9WSURFUl9XSElURUxJU1Q8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1NVUxUSV9QUk9WSURFUl9XSElURUxJU1QnPjxnbG9zc3Rlcm0+TVVMVElfUFJPVklERVJfV0hJVEVMSVNUPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIEFsbG93cyB5b3UgdG8gc3VwcHJlc3MgQml0QmFrZSB3YXJuaW5ncyBjYXVzZWQgd2hlbgpAQCAtMTgwNCw5ICsxODA0LDkgQEAKICAgICA8L2dsb3NzZGl2PgogLS0+CiAKLSAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1nbG9zc2FyeS1vJz48dGl0bGU+TzwvdGl0bGU+CisgICAgPGdsb3NzZGl2IGlkPSd2YXItYmItZ2xvc3Nhcnktbyc+PHRpdGxlPk88L3RpdGxlPgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItT1ZFUlJJREVTJz48Z2xvc3N0ZXJtPk9WRVJSSURFUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLU9WRVJSSURFUyc+PGdsb3NzdGVybT5PVkVSUklERVM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgQml0QmFrZSB1c2VzIDxmaWxlbmFtZT5PVkVSUklERVM8L2ZpbGVuYW1lPiB0byBjb250cm9sCkBAIC0xODI5LDkgKzE4MjksOSBAQAogICAgICAgICA8L2dsb3NzZW50cnk+CiAgICAgPC9nbG9zc2Rpdj4KIAotICAgIDxnbG9zc2RpdiBpZD0ndmFyLWdsb3NzYXJ5LXAnPjx0aXRsZT5QPC90aXRsZT4KKyAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1iYi1nbG9zc2FyeS1wJz48dGl0bGU+UDwvdGl0bGU+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1QNERJUic+PGdsb3NzdGVybT5QNERJUjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVA0RElSJz48Z2xvc3N0ZXJtPlA0RElSPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFRoZSBkaXJlY3RvcnkgaW4gd2hpY2ggYSBsb2NhbCBjb3B5IG9mIGEgUGVyZm9yY2UgZGVwb3QKQEAgLTE4NDAsMTQgKzE4NDAsMTQgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLVBBQ0tBR0VTJz48Z2xvc3N0ZXJtPlBBQ0tBR0VTPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItUEFDS0FHRVMnPjxnbG9zc3Rlcm0+UEFDS0FHRVM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT5UaGUgbGlzdCBvZiBwYWNrYWdlcyB0aGUgcmVjaXBlIGNyZWF0ZXMuCiAgICAgICAgICAgICAgICAgPC9wYXJhPgogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItUEFDS0FHRVNfRFlOQU1JQyc+PGdsb3NzdGVybT5QQUNLQUdFU19EWU5BTUlDPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItUEFDS0FHRVNfRFlOQU1JQyc+PGdsb3NzdGVybT5QQUNLQUdFU19EWU5BTUlDPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIEEgcHJvbWlzZSB0aGF0IHlvdXIgcmVjaXBlIHNhdGlzZmllcyBydW50aW1lIGRlcGVuZGVuY2llcwpAQCAtMTg1Niw3ICsxODU2LDcgQEAKICAgICAgICAgICAgICAgICAgICAgZG9lcyBub3QgYWN0dWFsbHkgc2F0aXNmeSB0aGUgZGVwZW5kZW5jaWVzLCBpdCBvbmx5IHN0YXRlcyB0aGF0CiAgICAgICAgICAgICAgICAgICAgIHRoZXkgc2hvdWxkIGJlIHNhdGlzZmllZC4KICAgICAgICAgICAgICAgICAgICAgRm9yIGV4YW1wbGUsIGlmIGEgaGFyZCwgcnVudGltZSBkZXBlbmRlbmN5Ci0gICAgICAgICAgICAgICAgICAgICg8bGluayBsaW5rZW5kPSd2YXItUkRFUEVORFMnPjxmaWxlbmFtZT5SREVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPikKKyAgICAgICAgICAgICAgICAgICAgKDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1SREVQRU5EUyc+PGZpbGVuYW1lPlJERVBFTkRTPC9maWxlbmFtZT48L2xpbms+KQogICAgICAgICAgICAgICAgICAgICBvZiBhbm90aGVyIHBhY2thZ2UgaXMgc2F0aXNmaWVkIGR1cmluZyB0aGUgYnVpbGQKICAgICAgICAgICAgICAgICAgICAgdGhyb3VnaCB0aGUgPGZpbGVuYW1lPlBBQ0tBR0VTX0RZTkFNSUM8L2ZpbGVuYW1lPgogICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZSwgYnV0IGEgcGFja2FnZSB3aXRoIHRoZSBtb2R1bGUgbmFtZSBpcyBuZXZlciBhY3R1YWxseQpAQCAtMTg2NSw3ICsxODY1LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLVBFJz48Z2xvc3N0ZXJtPlBFPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItUEUnPjxnbG9zc3Rlcm0+UEU8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgVGhlIGVwb2NoIG9mIHRoZSByZWNpcGUuCkBAIC0xODc3LDcgKzE4NzcsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItUEVSU0lTVEVOVF9ESVInPjxnbG9zc3Rlcm0+UEVSU0lTVEVOVF9ESVI8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1QRVJTSVNURU5UX0RJUic+PGdsb3NzdGVybT5QRVJTSVNURU5UX0RJUjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBTcGVjaWZpZXMgdGhlIGRpcmVjdG9yeSBCaXRCYWtlIHVzZXMgdG8gc3RvcmUgZGF0YSB0aGF0CkBAIC0xODg5LDcgKzE4ODksNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItUEYnPjxnbG9zc3Rlcm0+UEY8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1QRic+PGdsb3NzdGVybT5QRjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBTcGVjaWZpZXMgdGhlIHJlY2lwZSBvciBwYWNrYWdlIG5hbWUgYW5kIGluY2x1ZGVzIGFsbCB2ZXJzaW9uIGFuZCByZXZpc2lvbgpAQCAtMTg5OSwyNyArMTg5OSwyNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItUE4nPjxnbG9zc3Rlcm0+UE48L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1QTic+PGdsb3NzdGVybT5QTjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPlRoZSByZWNpcGUgbmFtZS48L3BhcmE+CiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1QUic+PGdsb3NzdGVybT5QUjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVBSJz48Z2xvc3N0ZXJtPlBSPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+VGhlIHJldmlzaW9uIG9mIHRoZSByZWNpcGUuCiAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLVBSRUZFUlJFRF9QUk9WSURFUic+PGdsb3NzdGVybT5QUkVGRVJSRURfUFJPVklERVI8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1QUkVGRVJSRURfUFJPVklERVInPjxnbG9zc3Rlcm0+UFJFRkVSUkVEX1BST1ZJREVSPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIERldGVybWluZXMgd2hpY2ggcmVjaXBlIHNob3VsZCBiZSBnaXZlbiBwcmVmZXJlbmNlIHdoZW4KICAgICAgICAgICAgICAgICAgICAgbXVsdGlwbGUgcmVjaXBlcyBwcm92aWRlIHRoZSBzYW1lIGl0ZW0uCiAgICAgICAgICAgICAgICAgICAgIFlvdSBzaG91bGQgYWx3YXlzIHN1ZmZpeCB0aGUgdmFyaWFibGUgd2l0aCB0aGUgbmFtZSBvZiB0aGUKICAgICAgICAgICAgICAgICAgICAgcHJvdmlkZWQgaXRlbSwgYW5kIHlvdSBzaG91bGQgc2V0IGl0IHRvIHRoZQotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUE4nPjxmaWxlbmFtZT5QTjwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUE4nPjxmaWxlbmFtZT5QTjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICBvZiB0aGUgcmVjaXBlIHRvIHdoaWNoIHlvdSB3YW50IHRvIGdpdmUgcHJlY2VkZW5jZS4KICAgICAgICAgICAgICAgICAgICAgU29tZSBleGFtcGxlczoKICAgICAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgpAQCAtMTkzMSwxNCArMTkzMSwxNCBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItUFJFRkVSUkVEX1BST1ZJREVSUyc+PGdsb3NzdGVybT5QUkVGRVJSRURfUFJPVklERVJTPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItUFJFRkVSUkVEX1BST1ZJREVSUyc+PGdsb3NzdGVybT5QUkVGRVJSRURfUFJPVklERVJTPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIERldGVybWluZXMgd2hpY2ggcmVjaXBlIHNob3VsZCBiZSBnaXZlbiBwcmVmZXJlbmNlIGZvcgogICAgICAgICAgICAgICAgICAgICBjYXNlcyB3aGVyZSBtdWx0aXBsZSByZWNpcGVzIHByb3ZpZGUgdGhlIHNhbWUgaXRlbS4KICAgICAgICAgICAgICAgICAgICAgRnVuY3Rpb25hbGx5LAogICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+UFJFRkVSUkVEX1BST1ZJREVSUzwvZmlsZW5hbWU+IGlzIGlkZW50aWNhbCB0bwotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUFJFRkVSUkVEX1BST1ZJREVSJz48ZmlsZW5hbWU+UFJFRkVSUkVEX1BST1ZJREVSPC9maWxlbmFtZT48L2xpbms+LgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUFJFRkVSUkVEX1BST1ZJREVSJz48ZmlsZW5hbWU+UFJFRkVSUkVEX1BST1ZJREVSPC9maWxlbmFtZT48L2xpbms+LgogICAgICAgICAgICAgICAgICAgICBIb3dldmVyLCB0aGUgPGZpbGVuYW1lPlBSRUZFUlJFRF9QUk9WSURFUlM8L2ZpbGVuYW1lPgogICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZSBsZXRzIHlvdSBkZWZpbmUgcHJlZmVyZW5jZXMgZm9yIG11bHRpcGxlCiAgICAgICAgICAgICAgICAgICAgIHNpdHVhdGlvbnMgdXNpbmcgdGhlIGZvbGxvd2luZyBmb3JtOgpAQCAtMTk1NCwxNSArMTk1NCwxNSBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItUFJFRkVSUkVEX1ZFUlNJT04nPjxnbG9zc3Rlcm0+UFJFRkVSUkVEX1ZFUlNJT048L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1QUkVGRVJSRURfVkVSU0lPTic+PGdsb3NzdGVybT5QUkVGRVJSRURfVkVSU0lPTjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgdmVyc2lvbnMgb2YgcmVjaXBlcyBhdmFpbGFibGUsIHRoaXMKICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUgZGV0ZXJtaW5lcyB3aGljaCByZWNpcGUgc2hvdWxkIGJlIGdpdmVuIHByZWZlcmVuY2UuCiAgICAgICAgICAgICAgICAgICAgIFlvdSBtdXN0IGFsd2F5cyBzdWZmaXggdGhlIHZhcmlhYmxlIHdpdGggdGhlCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1QTic+PGZpbGVuYW1lPlBOPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QTic+PGZpbGVuYW1lPlBOPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIHlvdSB3YW50IHRvIHNlbGVjdCwgYW5kIHlvdSBzaG91bGQgc2V0Ci0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1QVic+PGZpbGVuYW1lPlBWPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QVic+PGZpbGVuYW1lPlBWPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIGFjY29yZGluZ2x5IGZvciBwcmVjZWRlbmNlLgogICAgICAgICAgICAgICAgIDwvcGFyYT4KIApAQCAtMTk4OSw3ICsxOTg5LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLVBSRU1JUlJPUlMnPjxnbG9zc3Rlcm0+UFJFTUlSUk9SUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVBSRU1JUlJPUlMnPjxnbG9zc3Rlcm0+UFJFTUlSUk9SUzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBTcGVjaWZpZXMgYWRkaXRpb25hbCBwYXRocyBmcm9tIHdoaWNoIEJpdEJha2UgZ2V0cyBzb3VyY2UgY29kZS4KQEAgLTE5OTgsNyArMTk5OCw3IEBACiAgICAgICAgICAgICAgICAgICAgIElmIHRoYXQgbG9jYXRpb24gZmFpbHMsIHRoZSBidWlsZCBzeXN0ZW0gdHJpZXMgbG9jYXRpb25zCiAgICAgICAgICAgICAgICAgICAgIGRlZmluZWQgYnkgPGZpbGVuYW1lPlBSRU1JUlJPUlM8L2ZpbGVuYW1lPiwgdGhlIHVwc3RyZWFtCiAgICAgICAgICAgICAgICAgICAgIHNvdXJjZSwgYW5kIHRoZW4gbG9jYXRpb25zIHNwZWNpZmllZCBieQotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItTUlSUk9SUyc+PGZpbGVuYW1lPk1JUlJPUlM8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLU1JUlJPUlMnPjxmaWxlbmFtZT5NSVJST1JTPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIGluIHRoYXQgb3JkZXIuCiAgICAgICAgICAgICAgICAgPC9wYXJhPgogCkBAIC0yMDIyLDIwICsyMDIyLDIwIEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1QUk9WSURFUyc+PGdsb3NzdGVybT5QUk9WSURFUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVBST1ZJREVTJz48Z2xvc3N0ZXJtPlBST1ZJREVTPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIEEgbGlzdCBvZiBhbGlhc2VzIGJ5IHdoaWNoIGEgcGFydGljdWxhciByZWNpcGUgY2FuIGJlCiAgICAgICAgICAgICAgICAgICAgIGtub3duLgogICAgICAgICAgICAgICAgICAgICBCeSBkZWZhdWx0LCBhIHJlY2lwZSdzIG93bgotICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+PGxpbmsgbGlua2VuZD0ndmFyLVBOJz5QTjwvbGluaz48L2ZpbGVuYW1lPgorICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+PGxpbmsgbGlua2VuZD0ndmFyLWJiLVBOJz5QTjwvbGluaz48L2ZpbGVuYW1lPgogICAgICAgICAgICAgICAgICAgICBpcyBpbXBsaWNpdGx5IGFscmVhZHkgaW4gaXRzIDxmaWxlbmFtZT5QUk9WSURFUzwvZmlsZW5hbWU+CiAgICAgICAgICAgICAgICAgICAgIGxpc3QuCiAgICAgICAgICAgICAgICAgICAgIElmIGEgcmVjaXBlIHVzZXMgPGZpbGVuYW1lPlBST1ZJREVTPC9maWxlbmFtZT4sIHRoZQogICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsIGFsaWFzZXMgYXJlIHN5bm9ueW1zIGZvciB0aGUgcmVjaXBlIGFuZCBjYW4KICAgICAgICAgICAgICAgICAgICAgYmUgdXNlZnVsIHNhdGlzZnlpbmcgZGVwZW5kZW5jaWVzIG9mIG90aGVyIHJlY2lwZXMgZHVyaW5nCiAgICAgICAgICAgICAgICAgICAgIHRoZSBidWlsZCBhcyBzcGVjaWZpZWQgYnkKLSAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPjxsaW5rIGxpbmtlbmQ9J3Zhci1ERVBFTkRTJz5ERVBFTkRTPC9saW5rPjwvZmlsZW5hbWU+LgorICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+PGxpbmsgbGlua2VuZD0ndmFyLWJiLURFUEVORFMnPkRFUEVORFM8L2xpbms+PC9maWxlbmFtZT4uCiAgICAgICAgICAgICAgICAgPC9wYXJhPgogCiAgICAgICAgICAgICAgICAgPHBhcmE+CkBAIC0yMDU5LDcgKzIwNTksNyBAQAogICAgICAgICAgICAgICAgICAgICB2aXJ0dWFsIHRhcmdldCBpbiA8ZmlsZW5hbWU+UFJPVklERVM8L2ZpbGVuYW1lPi4KICAgICAgICAgICAgICAgICAgICAgUmVjaXBlcyB0aGF0IGRlcGVuZCBvbiB0aGUgZnVuY3Rpb25hbGl0eSBpbiBxdWVzdGlvbiBjYW4KICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZSB0aGUgdmlydHVhbCB0YXJnZXQgaW4KLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLURFUEVORFMnPjxmaWxlbmFtZT5ERVBFTkRTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1ERVBFTkRTJz48ZmlsZW5hbWU+REVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICB0byBsZWF2ZSB0aGUgY2hvaWNlIG9mIHByb3ZpZGVyIG9wZW4uCiAgICAgICAgICAgICAgICAgPC9wYXJhPgogCkBAIC0yMDcyLDExICsyMDcyLDExIEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1QUlNFUlZfSE9TVCc+PGdsb3NzdGVybT5QUlNFUlZfSE9TVDwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVBSU0VSVl9IT1NUJz48Z2xvc3N0ZXJtPlBSU0VSVl9IT1NUPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFRoZSBuZXR3b3JrIGJhc2VkCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1QUic+PGZpbGVuYW1lPlBSPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QUic+PGZpbGVuYW1lPlBSPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIHNlcnZpY2UgaG9zdCBhbmQgcG9ydC4KICAgICAgICAgICAgICAgICA8L3BhcmE+CiAKQEAgLTIwOTQsNyArMjA5NCw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1QVic+PGdsb3NzdGVybT5QVjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVBWJz48Z2xvc3N0ZXJtPlBWPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+VGhlIHZlcnNpb24gb2YgdGhlIHJlY2lwZS4KICAgICAgICAgICAgICAgICAgPC9wYXJhPgpAQCAtMjEwOCw5ICsyMTA4LDkgQEAKICAgICA8L2dsb3NzZGl2PgogLS0+CiAKLSAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1nbG9zc2FyeS1yJz48dGl0bGU+UjwvdGl0bGU+CisgICAgPGdsb3NzZGl2IGlkPSd2YXItYmItZ2xvc3Nhcnktcic+PHRpdGxlPlI8L3RpdGxlPgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItUkRFUEVORFMnPjxnbG9zc3Rlcm0+UkRFUEVORFM8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1SREVQRU5EUyc+PGdsb3NzdGVybT5SREVQRU5EUzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBMaXN0cyBhIHBhY2thZ2UncyBydW50aW1lIGRlcGVuZGVuY2llcyAoaS5lLiBvdGhlciBwYWNrYWdlcykKQEAgLTIxNjUsMTMgKzIxNjUsMTMgQEAKIAogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBGb3IgaW5mb3JtYXRpb24gb24gYnVpbGQtdGltZSBkZXBlbmRlbmNpZXMsIHNlZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLURFUEVORFMnPjxmaWxlbmFtZT5ERVBFTkRTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1ERVBFTkRTJz48ZmlsZW5hbWU+REVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZS4KICAgICAgICAgICAgICAgICA8L3BhcmE+CiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1SRVBPRElSJz48Z2xvc3N0ZXJtPlJFUE9ESVI8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1SRVBPRElSJz48Z2xvc3N0ZXJtPlJFUE9ESVI8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgVGhlIGRpcmVjdG9yeSBpbiB3aGljaCBhIGxvY2FsIGNvcHkgb2YgYQpAQCAtMjE4MSwxNCArMjE4MSwxNCBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItUlBST1ZJREVTJz48Z2xvc3N0ZXJtPlJQUk9WSURFUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVJQUk9WSURFUyc+PGdsb3NzdGVybT5SUFJPVklERVM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgQSBsaXN0IG9mIHBhY2thZ2UgbmFtZSBhbGlhc2VzIHRoYXQgYSBwYWNrYWdlIGFsc28gcHJvdmlkZXMuCiAgICAgICAgICAgICAgICAgICAgIFRoZXNlIGFsaWFzZXMgYXJlIHVzZWZ1bCBmb3Igc2F0aXNmeWluZyBydW50aW1lIGRlcGVuZGVuY2llcwogICAgICAgICAgICAgICAgICAgICBvZiBvdGhlciBwYWNrYWdlcyBib3RoIGR1cmluZyB0aGUgYnVpbGQgYW5kIG9uIHRoZSB0YXJnZXQKICAgICAgICAgICAgICAgICAgICAgKGFzIHNwZWNpZmllZCBieQotICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+PGxpbmsgbGlua2VuZD0ndmFyLVJERVBFTkRTJz5SREVQRU5EUzwvbGluaz48L2ZpbGVuYW1lPikuCisgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT48bGluayBsaW5rZW5kPSd2YXItYmItUkRFUEVORFMnPlJERVBFTkRTPC9saW5rPjwvZmlsZW5hbWU+KS4KICAgICAgICAgICAgICAgICA8L3BhcmE+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgQXMgd2l0aCBhbGwgcGFja2FnZS1jb250cm9sbGluZyB2YXJpYWJsZXMsIHlvdSBtdXN0IGFsd2F5cwpAQCAtMjIwMSw3ICsyMjAxLDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLVJSRUNPTU1FTkRTJz48Z2xvc3N0ZXJtPlJSRUNPTU1FTkRTPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItUlJFQ09NTUVORFMnPjxnbG9zc3Rlcm0+UlJFQ09NTUVORFM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgQSBsaXN0IG9mIHBhY2thZ2VzIHRoYXQgZXh0ZW5kcyB0aGUgdXNhYmlsaXR5IG9mIGEgcGFja2FnZQpAQCAtMjIxMCw3ICsyMjEwLDcgQEAKICAgICAgICAgICAgICAgICAgICAgcGFja2FnZXMgaW4gb3JkZXIgdG8gc3VjY2Vzc2Z1bGx5IGJ1aWxkLCBidXQgbmVlZHMgdGhlbSBmb3IKICAgICAgICAgICAgICAgICAgICAgdGhlIGV4dGVuZGVkIHVzYWJpbGl0eS4KICAgICAgICAgICAgICAgICAgICAgVG8gc3BlY2lmeSBydW50aW1lIGRlcGVuZGVuY2llcyBmb3IgcGFja2FnZXMsIHNlZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPjxsaW5rIGxpbmtlbmQ9J3Zhci1SREVQRU5EUyc+UkRFUEVORFM8L2xpbms+PC9maWxlbmFtZT4KKyAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPjxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1SREVQRU5EUyc+UkRFUEVORFM8L2xpbms+PC9maWxlbmFtZT4KICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUuCiAgICAgICAgICAgICAgICAgPC9wYXJhPgogCkBAIC0yMjQzLDE1ICsyMjQzLDE1IEBACiAKICAgICA8L2dsb3NzZGl2PgogCi0gICAgPGdsb3NzZGl2IGlkPSd2YXItZ2xvc3Nhcnktcyc+PHRpdGxlPlM8L3RpdGxlPgorICAgIDxnbG9zc2RpdiBpZD0ndmFyLWJiLWdsb3NzYXJ5LXMnPjx0aXRsZT5TPC90aXRsZT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLVNFQ1RJT04nPjxnbG9zc3Rlcm0+U0VDVElPTjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVNFQ1RJT04nPjxnbG9zc3Rlcm0+U0VDVElPTjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPlRoZSBzZWN0aW9uIGluIHdoaWNoIHBhY2thZ2VzIHNob3VsZCBiZSBjYXRlZ29yaXplZC48L3BhcmE+CiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1TUkNfVVJJJz48Z2xvc3N0ZXJtPlNSQ19VUkk8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1TUkNfVVJJJz48Z2xvc3N0ZXJtPlNSQ19VUkk8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgVGhlIGxpc3Qgb2Ygc291cmNlIGZpbGVzIC0gbG9jYWwgb3IgcmVtb3RlLgpAQCAtMjI3Miw3ICsyMjcyLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgbWV0YWRhdGEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSB0aGUgbG9jYWwgbWFjaGluZS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgcGF0aCBpcyByZWxhdGl2ZSB0byB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItRklMRVNQQVRIJz48ZmlsZW5hbWU+RklMRVNQQVRIPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUZJTEVTUEFUSCc+PGZpbGVuYW1lPkZJTEVTUEFUSDwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlLjwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz48ZmlsZW5hbWU+YnpyOi8vPC9maWxlbmFtZT4gLTwvZW1waGFzaXM+IEZldGNoZXMgZmlsZXMgZnJvbSBhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmF6YWFyIHJldmlzaW9uIGNvbnRyb2wgcmVwb3NpdG9yeS48L3BhcmE+PC9saXN0aXRlbT4KQEAgLTIzMjIsNyArMjMyMiw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1TUkNEQVRFJz48Z2xvc3N0ZXJtPlNSQ0RBVEU8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1TUkNEQVRFJz48Z2xvc3N0ZXJtPlNSQ0RBVEU8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgVGhlIGRhdGUgb2YgdGhlIHNvdXJjZSBjb2RlIHVzZWQgdG8gYnVpbGQgdGhlIHBhY2thZ2UuCkBAIC0yMzMxLDcgKzIzMzEsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItU1JDUkVWJz48Z2xvc3N0ZXJtPlNSQ1JFVjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVNSQ1JFVic+PGdsb3NzdGVybT5TUkNSRVY8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgVGhlIHJldmlzaW9uIG9mIHRoZSBzb3VyY2UgY29kZSB1c2VkIHRvIGJ1aWxkIHRoZSBwYWNrYWdlLgpAQCAtMjM0NCwxMyArMjM0NCwxMyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItU1JDUkVWX0ZPUk1BVCc+PGdsb3NzdGVybT5TUkNSRVZfRk9STUFUPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItU1JDUkVWX0ZPUk1BVCc+PGdsb3NzdGVybT5TUkNSRVZfRk9STUFUPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIEhlbHBzIGNvbnN0cnVjdCB2YWxpZAotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItU1JDUkVWJz48ZmlsZW5hbWU+U1JDUkVWPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1TUkNSRVYnPjxmaWxlbmFtZT5TUkNSRVY8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgdmFsdWVzIHdoZW4gbXVsdGlwbGUgc291cmNlIGNvbnRyb2xsZWQgVVJMcyBhcmUgdXNlZCBpbgotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItU1JDX1VSSSc+PGZpbGVuYW1lPlNSQ19VUkk8L2ZpbGVuYW1lPjwvbGluaz4uCisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1TUkNfVVJJJz48ZmlsZW5hbWU+U1JDX1VSSTwvZmlsZW5hbWU+PC9saW5rPi4KICAgICAgICAgICAgICAgICA8L3BhcmE+CiAKICAgICAgICAgICAgICAgICA8cGFyYT4KQEAgLTIzNzEsNyArMjM3MSw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1TVEFNUCc+PGdsb3NzdGVybT5TVEFNUDwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVNUQU1QJz48Z2xvc3N0ZXJtPlNUQU1QPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFNwZWNpZmllcyB0aGUgYmFzZSBwYXRoIHVzZWQgdG8gY3JlYXRlIHJlY2lwZSBzdGFtcCBmaWxlcy4KQEAgLTIzODEsMTIgKzIzODEsMTIgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLVNUQU1QQ0xFQU4nPjxnbG9zc3Rlcm0+U1RBTVBDTEVBTjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVNUQU1QQ0xFQU4nPjxnbG9zc3Rlcm0+U1RBTVBDTEVBTjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBTcGVjaWZpZXMgdGhlIGJhc2UgcGF0aCB1c2VkIHRvIGNyZWF0ZSByZWNpcGUgc3RhbXAgZmlsZXMuCiAgICAgICAgICAgICAgICAgICAgIFVubGlrZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVNUQU1QJz48ZmlsZW5hbWU+U1RBTVA8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVNUQU1QJz48ZmlsZW5hbWU+U1RBTVA8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUsIDxmaWxlbmFtZT5TVEFNUENMRUFOPC9maWxlbmFtZT4gY2FuIGNvbnRhaW4KICAgICAgICAgICAgICAgICAgICAgd2lsZGNhcmRzIHRvIG1hdGNoIHRoZSByYW5nZSBvZiBmaWxlcyBhIGNsZWFuIG9wZXJhdGlvbgogICAgICAgICAgICAgICAgICAgICBzaG91bGQgcmVtb3ZlLgpAQCAtMjM5Niw3ICsyMzk2LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLVNVTU1BUlknPjxnbG9zc3Rlcm0+U1VNTUFSWTwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVNVTU1BUlknPjxnbG9zc3Rlcm0+U1VNTUFSWTwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBBIHNob3J0IHN1bW1hcnkgZm9yIHRoZSByZWNpcGUsIHdoaWNoIGlzIDcyIGNoYXJhY3RlcnMgb3IgbGVzcy4KQEAgLTI0MDQsNyArMjQwNCw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1TVk5ESVInPjxnbG9zc3Rlcm0+U1ZORElSPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItU1ZORElSJz48Z2xvc3N0ZXJtPlNWTkRJUjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBUaGUgZGlyZWN0b3J5IGluIHdoaWNoIGZpbGVzIGNoZWNrZWQgb3V0IG9mIGEgU3VidmVyc2lvbgpAQCAtMjQxNSw5ICsyNDE1LDkgQEAKIAogICAgIDwvZ2xvc3NkaXY+CiAKLSAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1nbG9zc2FyeS10Jz48dGl0bGU+VDwvdGl0bGU+CisgICAgPGdsb3NzZGl2IGlkPSd2YXItYmItZ2xvc3NhcnktdCc+PHRpdGxlPlQ8L3RpdGxlPgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItVCc+PGdsb3NzdGVybT5UPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItVCc+PGdsb3NzdGVybT5UPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+UG9pbnRzIHRvIGEgZGlyZWN0b3J5IHdlcmUgQml0QmFrZSBwbGFjZXMKICAgICAgICAgICAgICAgICAgICAgdGVtcG9yYXJ5IGZpbGVzLCB3aGljaCBjb25zaXN0IG1vc3RseSBvZiB0YXNrIGxvZ3MgYW5kCkBAIC0yNDI2LDcgKzI0MjYsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItVE9QRElSJz48Z2xvc3N0ZXJtPlRPUERJUjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVRPUERJUic+PGdsb3NzdGVybT5UT1BESVI8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgUG9pbnRzIHRvIHRoZSBidWlsZCBkaXJlY3RvcnkuCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL2J1aWxkLnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi9idWlsZC5weQppbmRleCAzZTJhOTRlLi43NTcxNDIxIDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JiL2J1aWxkLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvYnVpbGQucHkKQEAgLTMwNCw5ICszMDQsMTAgQEAKICAgICAgICAgdXRpbHMuYmV0dGVyX2V4ZWMoY29tcCwgeyJkIjogZH0sIGNvZGUsICJleGVjX3B5dGhvbl9mdW5jKCkgYXV0b2dlbmVyYXRlZCIsIHB5dGhvbmV4Y2VwdGlvbj1weXRob25leGNlcHRpb24pCiAgICAgZXhjZXB0IChiYi5wYXJzZS5Ta2lwUmVjaXBlLCBiYi5idWlsZC5GdW5jRmFpbGVkKToKICAgICAgICAgcmFpc2UKLSAgICBleGNlcHQ6CisgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgogICAgICAgICBpZiBweXRob25leGNlcHRpb246CiAgICAgICAgICAgICByYWlzZQorICAgICAgICBsb2dnZXIuZXJyb3Ioc3RyKGUpKQogICAgICAgICByYWlzZSBGdW5jRmFpbGVkKGZ1bmMsIE5vbmUpCiAgICAgZmluYWxseToKICAgICAgICAgYmIuZGVidWcoMiwgIlB5dGhvbiBmdW5jdGlvbiAlcyBmaW5pc2hlZCIgJSBmdW5jKQpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9iYi9jYWNoZS5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvY2FjaGUucHkKaW5kZXggMjU4ZDY3OS4uNjVjNTE0YiAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9jYWNoZS5weQorKysgYi9wb2t5L2JpdGJha2UvbGliL2JiL2NhY2hlLnB5CkBAIC05Nyw3ICs5Nyw3IEBACiAKICAgICAgICAgc2VsZi5za2lwcmVhc29uID0gc2VsZi5nZXR2YXIoJ19fU0tJUFBFRCcsIG1ldGFkYXRhKQogICAgICAgICBpZiBzZWxmLnNraXByZWFzb246Ci0gICAgICAgICAgICBzZWxmLnBuID0gc2VsZi5nZXR2YXIoJ1BOJywgbWV0YWRhdGEpIG9yIGJiLnBhcnNlLkJCSGFuZGxlci52YXJzX2Zyb21fZmlsZShmaWxlbmFtZSxtZXRhZGF0YSlbMF0KKyAgICAgICAgICAgIHNlbGYucG4gPSBzZWxmLmdldHZhcignUE4nLCBtZXRhZGF0YSkgb3IgYmIucGFyc2UudmFyc19mcm9tX2ZpbGUoZmlsZW5hbWUsbWV0YWRhdGEpWzBdCiAgICAgICAgICAgICBzZWxmLnNraXBwZWQgPSBUcnVlCiAgICAgICAgICAgICBzZWxmLnByb3ZpZGVzICA9IHNlbGYuZGVwdmFyKCdQUk9WSURFUycsIG1ldGFkYXRhKQogICAgICAgICAgICAgc2VsZi5ycHJvdmlkZXMgPSBzZWxmLmRlcHZhcignUlBST1ZJREVTJywgbWV0YWRhdGEpCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL2NvZGVwYXJzZXIucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL2NvZGVwYXJzZXIucHkKaW5kZXggZGRkMWI5Ny4uYWM5OTVhNiAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9jb2RlcGFyc2VyLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvY29kZXBhcnNlci5weQpAQCAtMzMsNyArMzMsNyBAQAogbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoJ0JpdEJha2UuQ29kZVBhcnNlcicpCiAKIGRlZiBiYmhhc2gocyk6Ci0gICAgcmV0dXJuIGhhc2hsaWIubWQ1KHMuZW5jb2RlKCJ1dGYtOCIpKS5oZXhkaWdlc3QoKQorICAgIHJldHVybiBoYXNobGliLnNoYTI1NihzLmVuY29kZSgidXRmLTgiKSkuaGV4ZGlnZXN0KCkKIAogZGVmIGNoZWNrX2luZGVudChjb2Rlc3RyKToKICAgICAiIiJJZiB0aGUgY29kZSBpcyBpbmRlbnRlZCwgYWRkIGEgdG9wIGxldmVsIHBpZWNlIG9mIGNvZGUgdG8gJ3JlbW92ZScgdGhlIGluZGVudGF0aW9uIiIiCkBAIC0xNDAsNyArMTQwLDcgQEAKICAgICAjIHNvIHRoYXQgYW4gZXhpc3RpbmcgY2FjaGUgZ2V0cyBpbnZhbGlkYXRlZC4gQWRkaXRpb25hbGx5IHlvdSdsbCBuZWVkCiAgICAgIyB0byBpbmNyZW1lbnQgX19jYWNoZV92ZXJzaW9uX18gaW4gY2FjaGUucHkgaW4gb3JkZXIgdG8gZW5zdXJlIHRoYXQgb2xkCiAgICAgIyByZWNpcGUgY2FjaGVzIGRvbid0IHRyaWdnZXIgIlRhc2toYXNoIG1pc21hdGNoIiBlcnJvcnMuCi0gICAgQ0FDSEVfVkVSU0lPTiA9IDEwCisgICAgQ0FDSEVfVkVSU0lPTiA9IDExCiAKICAgICBkZWYgX19pbml0X18oc2VsZik6CiAgICAgICAgIE11bHRpUHJvY2Vzc0NhY2hlLl9faW5pdF9fKHNlbGYpCkBAIC0zNjgsOCArMzY4LDkgQEAKICAgICBkZWYgX3BhcnNlX3NoZWxsKHNlbGYsIHZhbHVlKToKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgdG9rZW5zLCBfID0gcHlzaHlhY2MucGFyc2UodmFsdWUsIGVvZj1UcnVlLCBkZWJ1Zz1GYWxzZSkKLSAgICAgICAgZXhjZXB0IHB5c2hsZXguTmVlZE1vcmU6Ci0gICAgICAgICAgICByYWlzZSBzaGVycm9ycy5TaGVsbFN5bnRheEVycm9yKCJVbmV4cGVjdGVkIEVPRiIpCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CisgICAgICAgICAgICBiYi5lcnJvcignRXJyb3IgZHVyaW5nIHBhcnNlIHNoZWxsIGNvZGUsIHRoZSBsYXN0IDUgbGluZXMgYXJlOlxuJXMnICUgJ1xuJy5qb2luKHZhbHVlLnNwbGl0KCdcbicpWy01Ol0pKQorICAgICAgICAgICAgcmFpc2UKIAogICAgICAgICBzZWxmLnByb2Nlc3NfdG9rZW5zKHRva2VucykKIApkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9iYi9jb29rZXIucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL2Nvb2tlci5weQppbmRleCBhZGM0MTAxLi45Y2NhYTc5IDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JiL2Nvb2tlci5weQorKysgYi9wb2t5L2JpdGJha2UvbGliL2JiL2Nvb2tlci5weQpAQCAtMTIxNiw4ICsxMjE2LDggQEAKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgICBlbGlmIHJlZ2V4ID09ICIiOgogICAgICAgICAgICAgICAgICAgICBwYXJzZWxvZy5kZWJ1ZygxLCAiQkJGSUxFX1BBVFRFUk5fJXMgaXMgZW1wdHkiICUgYykKKyAgICAgICAgICAgICAgICAgICAgY3JlID0gcmUuY29tcGlsZSgnXk5VTEwkJykKICAgICAgICAgICAgICAgICAgICAgZXJyb3JzID0gRmFsc2UKLSAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgICAgICBjcmUgPSByZS5jb21waWxlKHJlZ2V4KQpAQCAtMTg5MCwzNSArMTg5MCw2IEBACiAgICAgICAgIHNlbGYucmVjaXBlID0gcmVjaXBlCiAgICAgICAgIEV4Y2VwdGlvbi5fX2luaXRfXyhzZWxmLCByZWFsZXhjZXB0aW9uLCByZWNpcGUpCiAKLWNsYXNzIEZlZWRlcihtdWx0aXByb2Nlc3NpbmcuUHJvY2Vzcyk6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGpvYnMsIHRvX3BhcnNlcnMsIHF1aXQpOgotICAgICAgICBzZWxmLnF1aXQgPSBxdWl0Ci0gICAgICAgIHNlbGYuam9icyA9IGpvYnMKLSAgICAgICAgc2VsZi50b19wYXJzZXJzID0gdG9fcGFyc2VycwotICAgICAgICBtdWx0aXByb2Nlc3NpbmcuUHJvY2Vzcy5fX2luaXRfXyhzZWxmKQotCi0gICAgZGVmIHJ1bihzZWxmKToKLSAgICAgICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBxdWl0ID0gc2VsZi5xdWl0LmdldF9ub3dhaXQoKQotICAgICAgICAgICAgZXhjZXB0IHF1ZXVlLkVtcHR5OgotICAgICAgICAgICAgICAgIHBhc3MKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgaWYgcXVpdCA9PSAnY2FuY2VsJzoKLSAgICAgICAgICAgICAgICAgICAgc2VsZi50b19wYXJzZXJzLmNhbmNlbF9qb2luX3RocmVhZCgpCi0gICAgICAgICAgICAgICAgYnJlYWsKLQotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIGpvYiA9IHNlbGYuam9icy5wb3AoKQotICAgICAgICAgICAgZXhjZXB0IEluZGV4RXJyb3I6Ci0gICAgICAgICAgICAgICAgYnJlYWsKLQotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHNlbGYudG9fcGFyc2Vycy5wdXQoam9iLCB0aW1lb3V0PTAuNSkKLSAgICAgICAgICAgIGV4Y2VwdCBxdWV1ZS5GdWxsOgotICAgICAgICAgICAgICAgIHNlbGYuam9icy5pbnNlcnQoMCwgam9iKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0KIGNsYXNzIFBhcnNlcihtdWx0aXByb2Nlc3NpbmcuUHJvY2Vzcyk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGpvYnMsIHJlc3VsdHMsIHF1aXQsIGluaXQsIHByb2ZpbGUpOgogICAgICAgICBzZWxmLmpvYnMgPSBqb2JzCkBAIC0xOTY1LDExICsxOTM2LDggQEAKICAgICAgICAgICAgICAgICByZXN1bHQgPSBwZW5kaW5nLnBvcCgpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgam9iID0gc2VsZi5qb2JzLmdldCh0aW1lb3V0PTAuMjUpCi0gICAgICAgICAgICAgICAgZXhjZXB0IHF1ZXVlLkVtcHR5OgotICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgICAgICAgICAgaWYgam9iIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgICAgIGpvYiA9IHNlbGYuam9icy5wb3AoKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBJbmRleEVycm9yOgogICAgICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgICAgIHJlc3VsdCA9IHNlbGYucGFyc2UoKmpvYikKIApAQCAtMjA1MywxNCArMjAyMSwxNSBAQAogICAgICAgICAgICAgICAgIG11bHRpcHJvY2Vzc2luZy51dGlsLkZpbmFsaXplKE5vbmUsIGJiLmNvZGVwYXJzZXIucGFyc2VyX2NhY2hlX3NhdmUsIGV4aXRwcmlvcml0eT0xKQogICAgICAgICAgICAgICAgIG11bHRpcHJvY2Vzc2luZy51dGlsLkZpbmFsaXplKE5vbmUsIGJiLmZldGNoLmZldGNoZXJfcGFyc2Vfc2F2ZSwgZXhpdHByaW9yaXR5PTEpCiAKLSAgICAgICAgICAgIHNlbGYuZmVlZGVyX3F1aXQgPSBtdWx0aXByb2Nlc3NpbmcuUXVldWUobWF4c2l6ZT0xKQogICAgICAgICAgICAgc2VsZi5wYXJzZXJfcXVpdCA9IG11bHRpcHJvY2Vzc2luZy5RdWV1ZShtYXhzaXplPXNlbGYubnVtX3Byb2Nlc3NlcykKLSAgICAgICAgICAgIHNlbGYuam9icyA9IG11bHRpcHJvY2Vzc2luZy5RdWV1ZShtYXhzaXplPXNlbGYubnVtX3Byb2Nlc3NlcykKICAgICAgICAgICAgIHNlbGYucmVzdWx0X3F1ZXVlID0gbXVsdGlwcm9jZXNzaW5nLlF1ZXVlKCkKLSAgICAgICAgICAgIHNlbGYuZmVlZGVyID0gRmVlZGVyKHNlbGYud2lsbHBhcnNlLCBzZWxmLmpvYnMsIHNlbGYuZmVlZGVyX3F1aXQpCi0gICAgICAgICAgICBzZWxmLmZlZWRlci5zdGFydCgpCisKKyAgICAgICAgICAgIGRlZiBjaHVua2lmeShsc3Qsbik6CisgICAgICAgICAgICAgICAgcmV0dXJuIFtsc3RbaTo6bl0gZm9yIGkgaW4gcmFuZ2UobildCisgICAgICAgICAgICBzZWxmLmpvYnMgPSBjaHVua2lmeShzZWxmLndpbGxwYXJzZSwgc2VsZi5udW1fcHJvY2Vzc2VzKQorCiAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCBzZWxmLm51bV9wcm9jZXNzZXMpOgotICAgICAgICAgICAgICAgIHBhcnNlciA9IFBhcnNlcihzZWxmLmpvYnMsIHNlbGYucmVzdWx0X3F1ZXVlLCBzZWxmLnBhcnNlcl9xdWl0LCBpbml0LCBzZWxmLmNvb2tlci5jb25maWd1cmF0aW9uLnByb2ZpbGUpCisgICAgICAgICAgICAgICAgcGFyc2VyID0gUGFyc2VyKHNlbGYuam9ic1tpXSwgc2VsZi5yZXN1bHRfcXVldWUsIHNlbGYucGFyc2VyX3F1aXQsIGluaXQsIHNlbGYuY29va2VyLmNvbmZpZ3VyYXRpb24ucHJvZmlsZSkKICAgICAgICAgICAgICAgICBwYXJzZXIuc3RhcnQoKQogICAgICAgICAgICAgICAgIHNlbGYucHJvY2Vzc19uYW1lcy5hcHBlbmQocGFyc2VyLm5hbWUpCiAgICAgICAgICAgICAgICAgc2VsZi5wcm9jZXNzZXMuYXBwZW5kKHBhcnNlcikKQEAgLTIwODEsMjUgKzIwNTAsMTkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi50b3RhbCkKIAogICAgICAgICAgICAgYmIuZXZlbnQuZmlyZShldmVudCwgc2VsZi5jZmdkYXRhKQotICAgICAgICAgICAgc2VsZi5mZWVkZXJfcXVpdC5wdXQoTm9uZSkKICAgICAgICAgICAgIGZvciBwcm9jZXNzIGluIHNlbGYucHJvY2Vzc2VzOgogICAgICAgICAgICAgICAgIHNlbGYucGFyc2VyX3F1aXQucHV0KE5vbmUpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLmZlZWRlcl9xdWl0LnB1dCgnY2FuY2VsJykKLQogICAgICAgICAgICAgc2VsZi5wYXJzZXJfcXVpdC5jYW5jZWxfam9pbl90aHJlYWQoKQogICAgICAgICAgICAgZm9yIHByb2Nlc3MgaW4gc2VsZi5wcm9jZXNzZXM6CiAgICAgICAgICAgICAgICAgc2VsZi5wYXJzZXJfcXVpdC5wdXQoTm9uZSkKIAotICAgICAgICAgICAgc2VsZi5qb2JzLmNhbmNlbF9qb2luX3RocmVhZCgpCi0KICAgICAgICAgZm9yIHByb2Nlc3MgaW4gc2VsZi5wcm9jZXNzZXM6CiAgICAgICAgICAgICBpZiBmb3JjZToKICAgICAgICAgICAgICAgICBwcm9jZXNzLmpvaW4oLjEpCiAgICAgICAgICAgICAgICAgcHJvY2Vzcy50ZXJtaW5hdGUoKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBwcm9jZXNzLmpvaW4oKQotICAgICAgICBzZWxmLmZlZWRlci5qb2luKCkKIAogICAgICAgICBzeW5jID0gdGhyZWFkaW5nLlRocmVhZCh0YXJnZXQ9c2VsZi5iYl9jYWNoZS5zeW5jKQogICAgICAgICBzeW5jLnN0YXJ0KCkKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvY29va2VyZGF0YS5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvY29va2VyZGF0YS5weQppbmRleCA1ZGY2NmU2Li4wOTQxMmUyIDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JiL2Nvb2tlcmRhdGEucHkKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9iYi9jb29rZXJkYXRhLnB5CkBAIC0zOTEsNyArMzkxLDExIEBACiAgICAgICAgICAgICAgICAgYmIuZmF0YWwoIkJCRklMRVNfRFlOQU1JQyBlbnRyaWVzIG11c3QgYmUgb2YgdGhlIGZvcm0gPGNvbGxlY3Rpb24gbmFtZT46PGZpbGVuYW1lIHBhdHRlcm4+LCBub3Q6XG4gICAgJXMiICUgIlxuICAgICIuam9pbihpbnZhbGlkKSkKIAogICAgICAgICAgICAgbGF5ZXJzZXJpZXMgPSBzZXQoKGRhdGEuZ2V0VmFyKCJMQVlFUlNFUklFU19DT1JFTkFNRVMiKSBvciAiIikuc3BsaXQoKSkKKyAgICAgICAgICAgIGNvbGxlY3Rpb25zX3RtcCA9IGNvbGxlY3Rpb25zWzpdCiAgICAgICAgICAgICBmb3IgYyBpbiBjb2xsZWN0aW9uczoKKyAgICAgICAgICAgICAgICBjb2xsZWN0aW9uc190bXAucmVtb3ZlKGMpCisgICAgICAgICAgICAgICAgaWYgYyBpbiBjb2xsZWN0aW9uc190bXA6CisgICAgICAgICAgICAgICAgICAgIGJiLmZhdGFsKCJGb3VuZCBkdXBsaWNhdGVkIEJCRklMRV9DT0xMRUNUSU9OUyAnJXMnLCBjaGVjayBiYmxheWVycy5jb25mIG9yIGxheWVyLmNvbmYgdG8gZml4IGl0LiIgJSBjKQogICAgICAgICAgICAgICAgIGNvbXBhdCA9IHNldCgoZGF0YS5nZXRWYXIoIkxBWUVSU0VSSUVTX0NPTVBBVF8lcyIgJSBjKSBvciAiIikuc3BsaXQoKSkKICAgICAgICAgICAgICAgICBpZiBjb21wYXQgYW5kIG5vdCAoY29tcGF0ICYgbGF5ZXJzZXJpZXMpOgogICAgICAgICAgICAgICAgICAgICBiYi5mYXRhbCgiTGF5ZXIgJXMgaXMgbm90IGNvbXBhdGlibGUgd2l0aCB0aGUgY29yZSBsYXllciB3aGljaCBvbmx5IHN1cHBvcnRzIHRoZXNlIHNlcmllczogJXMgKGxheWVyIGlzIGNvbXBhdGlibGUgd2l0aCAlcykiCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL2RhdGEucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL2RhdGEucHkKaW5kZXggZDY2ZDk4Yy4uMjljMjM4OCAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9kYXRhLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvZGF0YS5weQpAQCAtMzIyLDggKzMyMiw2IEBACiAgICAgICAgICAgICBpZiB2YXJmbGFncy5nZXQoInB5dGhvbiIpOgogICAgICAgICAgICAgICAgIHZhbHVlID0gZC5nZXRWYXJGbGFnKGtleSwgIl9jb250ZW50IiwgRmFsc2UpCiAgICAgICAgICAgICAgICAgcGFyc2VyID0gYmIuY29kZXBhcnNlci5QeXRob25QYXJzZXIoa2V5LCBsb2dnZXIpCi0gICAgICAgICAgICAgICAgaWYgdmFsdWUgYW5kICJcdCIgaW4gdmFsdWU6Ci0gICAgICAgICAgICAgICAgICAgIGxvZ2dlci53YXJuaW5nKCJWYXJpYWJsZSAlcyBjb250YWlucyB0YWJzLCBwbGVhc2UgcmVtb3ZlIHRoZXNlICglcykiICUgKGtleSwgZC5nZXRWYXIoIkZJTEUiKSkpCiAgICAgICAgICAgICAgICAgcGFyc2VyLnBhcnNlX3B5dGhvbih2YWx1ZSwgZmlsZW5hbWU9dmFyZmxhZ3MuZ2V0KCJmaWxlbmFtZSIpLCBsaW5lbm89dmFyZmxhZ3MuZ2V0KCJsaW5lbm8iKSkKICAgICAgICAgICAgICAgICBkZXBzID0gZGVwcyB8IHBhcnNlci5yZWZlcmVuY2VzCiAgICAgICAgICAgICAgICAgZGVwcyA9IGRlcHMgfCAoa2V5cyAmIHBhcnNlci5leGVjcykKQEAgLTQzOCw3ICs0MzYsNyBAQAogICAgICAgICAgICAgaWYgdmFyIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAgIGRhdGEgPSBkYXRhICsgc3RyKHZhcikKICAgICAgICAgayA9IGZuICsgIi4iICsgdGFzawotICAgICAgICBiYXNlaGFzaFtrXSA9IGhhc2hsaWIubWQ1KGRhdGEuZW5jb2RlKCJ1dGYtOCIpKS5oZXhkaWdlc3QoKQorICAgICAgICBiYXNlaGFzaFtrXSA9IGhhc2hsaWIuc2hhMjU2KGRhdGEuZW5jb2RlKCJ1dGYtOCIpKS5oZXhkaWdlc3QoKQogICAgICAgICB0YXNrZGVwc1t0YXNrXSA9IGFsbGRlcHMKIAogICAgIHJldHVybiB0YXNrZGVwcywgYmFzZWhhc2gKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvZGF0YV9zbWFydC5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvZGF0YV9zbWFydC5weQppbmRleCA2Yjk0ZmM0Li4wN2RiN2JlIDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JiL2RhdGFfc21hcnQucHkKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9iYi9kYXRhX3NtYXJ0LnB5CkBAIC0zOSwxMCArMzksMTEgQEAKIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJCaXRCYWtlLkRhdGEiKQogCiBfX3NldHZhcl9rZXl3b3JkX18gPSBbIl9hcHBlbmQiLCAiX3ByZXBlbmQiLCAiX3JlbW92ZSJdCi1fX3NldHZhcl9yZWdleHBfXyA9IHJlLmNvbXBpbGUoJyg/UDxiYXNlPi4qPykoP1A8a2V5d29yZD5fYXBwZW5kfF9wcmVwZW5kfF9yZW1vdmUpKF8oP1A8YWRkPlteQS1aXSopKT8kJykKLV9fZXhwYW5kX3Zhcl9yZWdleHBfXyA9IHJlLmNvbXBpbGUociJcJHtbXnt9QFxuXHQgOl0rfSIpCitfX3NldHZhcl9yZWdleHBfXyA9IHJlLmNvbXBpbGUocicoP1A8YmFzZT4uKj8pKD9QPGtleXdvcmQ+X2FwcGVuZHxfcHJlcGVuZHxfcmVtb3ZlKShfKD9QPGFkZD5bXkEtWl0qKSk/JCcpCitfX2V4cGFuZF92YXJfcmVnZXhwX18gPSByZS5jb21waWxlKHIiXCR7W2EtekEtWjAtOVwtXysuL35dKz99IikKIF9fZXhwYW5kX3B5dGhvbl9yZWdleHBfXyA9IHJlLmNvbXBpbGUociJcJHtALis/fSIpCi1fX3doaXRlc3BhY2Vfc3BsaXRfXyA9IHJlLmNvbXBpbGUoJyhccyknKQorX193aGl0ZXNwYWNlX3NwbGl0X18gPSByZS5jb21waWxlKHInKFxzKScpCitfX292ZXJyaWRlX3JlZ2V4cF9fID0gcmUuY29tcGlsZShyJ1thLXowLTldKycpCiAKIGRlZiBpbmZlcl9jYWxsZXJfZGV0YWlscyhsb2dpbmZvLCBwYXJlbnQgPSBGYWxzZSwgdmFydmFsID0gVHJ1ZSk6CiAgICAgIiIiU2F2ZSB0aGUgY2FsbGVyIHRoZSB0cm91YmxlIG9mIHNwZWNpZnlpbmcgZXZlcnl0aGluZy4iIiIKQEAgLTEyMiw3ICsxMjMsMTEgQEAKICAgICAgICAgICAgICAgICBjb25uZWN0b3IgPSBzZWxmLmRbIl9yZW1vdGVfZGF0YSJdCiAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbm5lY3Rvci5leHBhbmRQeXRob25SZWYoc2VsZi52YXJuYW1lLCBjb2RlLCBzZWxmLmQpCiAKLSAgICAgICAgICAgIGNvZGVvYmogPSBjb21waWxlKGNvZGUuc3RyaXAoKSwgc2VsZi52YXJuYW1lIG9yICI8ZXhwYW5zaW9uPiIsICJldmFsIikKKyAgICAgICAgICAgIGlmIHNlbGYudmFybmFtZToKKyAgICAgICAgICAgICAgICB2YXJuYW1lID0gJ1ZhciA8JXM+JyAlIHNlbGYudmFybmFtZQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICB2YXJuYW1lID0gJzxleHBhbnNpb24+JworICAgICAgICAgICAgY29kZW9iaiA9IGNvbXBpbGUoY29kZS5zdHJpcCgpLCB2YXJuYW1lLCAiZXZhbCIpCiAKICAgICAgICAgICAgIHBhcnNlciA9IGJiLmNvZGVwYXJzZXIuUHl0aG9uUGFyc2VyKHNlbGYudmFybmFtZSwgbG9nZ2VyKQogICAgICAgICAgICAgcGFyc2VyLnBhcnNlX3B5dGhvbihjb2RlKQpAQCAtNDI3LDcgKzQzMiw4IEBACiAgICAgICAgICAgICBleGNlcHQgYmIucGFyc2UuU2tpcFJlY2lwZToKICAgICAgICAgICAgICAgICByYWlzZQogICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBleGM6Ci0gICAgICAgICAgICAgICAgcmFpc2UgRXhwYW5zaW9uRXJyb3IodmFybmFtZSwgcywgZXhjKSBmcm9tIGV4YworICAgICAgICAgICAgICAgIHRiID0gc3lzLmV4Y19pbmZvKClbMl0KKyAgICAgICAgICAgICAgICByYWlzZSBFeHBhbnNpb25FcnJvcih2YXJuYW1lLCBzLCBleGMpLndpdGhfdHJhY2ViYWNrKHRiKSBmcm9tIGV4YwogCiAgICAgICAgIHZhcnBhcnNlLnZhbHVlID0gcwogCkBAIC01OTIsNyArNTk4LDcgQEAKICAgICAgICAgIyBha2EgcGF5IHRoZSBjb29raWUgbW9uc3RlcgogICAgICAgICBvdmVycmlkZSA9IHZhclt2YXIucmZpbmQoJ18nKSsxOl0KICAgICAgICAgc2hvcnR2YXIgPSB2YXJbOnZhci5yZmluZCgnXycpXQotICAgICAgICB3aGlsZSBvdmVycmlkZSBhbmQgb3ZlcnJpZGUuaXNsb3dlcigpOgorICAgICAgICB3aGlsZSBvdmVycmlkZSBhbmQgX19vdmVycmlkZV9yZWdleHBfXy5tYXRjaChvdmVycmlkZSk6CiAgICAgICAgICAgICBpZiBzaG9ydHZhciBub3QgaW4gc2VsZi5vdmVycmlkZWRhdGE6CiAgICAgICAgICAgICAgICAgc2VsZi5vdmVycmlkZWRhdGFbc2hvcnR2YXJdID0gW10KICAgICAgICAgICAgIGlmIFt2YXIsIG92ZXJyaWRlXSBub3QgaW4gc2VsZi5vdmVycmlkZWRhdGFbc2hvcnR2YXJdOgpAQCAtMTA2OCw0ICsxMDc0LDQgQEAKICAgICAgICAgICAgICAgICAgICAgZGF0YS51cGRhdGUoe2k6dmFsdWV9KQogCiAgICAgICAgIGRhdGFfc3RyID0gc3RyKFsoaywgZGF0YVtrXSkgZm9yIGsgaW4gc29ydGVkKGRhdGEua2V5cygpKV0pCi0gICAgICAgIHJldHVybiBoYXNobGliLm1kNShkYXRhX3N0ci5lbmNvZGUoInV0Zi04IikpLmhleGRpZ2VzdCgpCisgICAgICAgIHJldHVybiBoYXNobGliLnNoYTI1NihkYXRhX3N0ci5lbmNvZGUoInV0Zi04IikpLmhleGRpZ2VzdCgpCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL2ZldGNoMi9fX2luaXRfXy5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvZmV0Y2gyL19faW5pdF9fLnB5CmluZGV4IDcwOTM3MmUuLjhmZWNjODAgMTAwNjQ0Ci0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvZmV0Y2gyL19faW5pdF9fLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvZmV0Y2gyL19faW5pdF9fLnB5CkBAIC01MjQsNyArNTI0LDcgQEAKIGRlZiBmZXRjaGVyX3BhcnNlX2RvbmUoKToKICAgICBfY2hlY2tzdW1fY2FjaGUuc2F2ZV9tZXJnZSgpCiAKLWRlZiBmZXRjaGVyX2NvbXBhcmVfcmV2aXNpb25zKCk6CitkZWYgZmV0Y2hlcl9jb21wYXJlX3JldmlzaW9ucyhkKToKICAgICAiIiIKICAgICBDb21wYXJlIHRoZSByZXZpc2lvbnMgaW4gdGhlIHBlcnNpc3RhbnQgY2FjaGUgd2l0aCBjdXJyZW50IHZhbHVlcyBhbmQKICAgICByZXR1cm4gdHJ1ZS9mYWxzZSBvbiB3aGV0aGVyIHRoZXkndmUgY2hhbmdlZC4KQEAgLTc3Nyw3ICs3NzcsOCBAQAogICAgICMKICAgICBmb3JtYXQgPSBkLmdldFZhcignU1JDUkVWX0ZPUk1BVCcpCiAgICAgaWYgbm90IGZvcm1hdDoKLSAgICAgICAgcmFpc2UgRmV0Y2hFcnJvcigiVGhlIFNSQ1JFVl9GT1JNQVQgdmFyaWFibGUgbXVzdCBiZSBzZXQgd2hlbiBtdWx0aXBsZSBTQ01zIGFyZSB1c2VkLiIpCisgICAgICAgIHJhaXNlIEZldGNoRXJyb3IoIlRoZSBTUkNSRVZfRk9STUFUIHZhcmlhYmxlIG11c3QgYmUgc2V0IHdoZW4gbXVsdGlwbGUgU0NNcyBhcmUgdXNlZC5cbiJcCisgICAgICAgICAgICAgICAgICAgICAgICAgIlRoZSBTQ01zIGFyZTpcbiVzIiAlICdcbicuam9pbihzY21zKSkKIAogICAgIG5hbWVfdG9fcmV2ID0ge30KICAgICBzZWVuYXV0b2luYyA9IEZhbHNlCkBAIC04NTgsNyArODU5LDEwIEBACiAgICAgIyBEaXNhYmxlIHBzZXVkbyBhcyBpdCBtYXkgYWZmZWN0IHNzaCwgcG90ZW50aWFsbHkgY2F1c2luZyBpdCB0byBoYW5nLgogICAgIGNtZCA9ICdleHBvcnQgUFNFVURPX0RJU0FCTEVEPTE7ICcgKyBjbWQKIAotICAgIGxvZ2dlci5kZWJ1ZygxLCAiUnVubmluZyAlcyIsIGNtZCkKKyAgICBpZiB3b3JrZGlyOgorICAgICAgICBsb2dnZXIuZGVidWcoMSwgIlJ1bm5pbmcgJyVzJyBpbiAlcyIgJSAoY21kLCB3b3JrZGlyKSkKKyAgICBlbHNlOgorICAgICAgICBsb2dnZXIuZGVidWcoMSwgIlJ1bm5pbmcgJXMiLCBjbWQpCiAKICAgICBzdWNjZXNzID0gRmFsc2UKICAgICBlcnJvcl9tZXNzYWdlID0gIiIKQEAgLTg5NCw3ICs4OTgsNyBAQAogICAgIGxvZyByZW1vdGUgbmV0d29yayBhY2Nlc3MsIGFuZCBlcnJvciBpZiBCQl9OT19ORVRXT1JLIGlzIHNldCBvciB0aGUgZ2l2ZW4KICAgICBVUkkgaXMgdW50cnVzdGVkCiAgICAgIiIiCi0gICAgaWYgZC5nZXRWYXIoIkJCX05PX05FVFdPUksiKSA9PSAiMSI6CisgICAgaWYgYmIudXRpbHMudG9fYm9vbGVhbihkLmdldFZhcigiQkJfTk9fTkVUV09SSyIpKToKICAgICAgICAgcmFpc2UgTmV0d29ya0FjY2Vzcyh1cmwsIGluZm8pCiAgICAgZWxpZiBub3QgdHJ1c3RlZF9uZXR3b3JrKGQsIHVybCk6CiAgICAgICAgIHJhaXNlIFVudHJ1c3RlZFVybCh1cmwsIGluZm8pCkBAIC0xMDI3LDcgKzEwMzEsNyBAQAogICAgICAgICByYWlzZQogCiAgICAgZXhjZXB0IElPRXJyb3IgYXMgZToKLSAgICAgICAgaWYgZS5lcnJubyBpbiBbb3MuZXJybm8uRVNUQUxFXToKKyAgICAgICAgaWYgZS5lcnJubyBpbiBbZXJybm8uRVNUQUxFXToKICAgICAgICAgICAgIGxvZ2dlci53YXJuaW5nKCJTdGFsZSBFcnJvciBPYnNlcnZlZCAlcy4iICUgdWQudXJsKQogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgICAgIHJhaXNlCkBAIC0xMDk0LDcgKzEwOTgsNyBAQAogICAgIEJCX0FMTE9XRURfTkVUV09SS1MgaXMgc2V0IGdsb2JhbGx5IG9yIGZvciBhIHNwZWNpZmljIHJlY2lwZS4KICAgICBOb3RlOiBtb2RpZmllcyBTUkNfVVJJICYgbWlycm9ycy4KICAgICAiIiIKLSAgICBpZiBkLmdldFZhcignQkJfTk9fTkVUV09SSycpID09ICIxIjoKKyAgICBpZiBiYi51dGlscy50b19ib29sZWFuKGQuZ2V0VmFyKCJCQl9OT19ORVRXT1JLIikpOgogICAgICAgICByZXR1cm4gVHJ1ZQogCiAgICAgcGtnbmFtZSA9IGQuZXhwYW5kKGQuZ2V0VmFyKCdQTicsIEZhbHNlKSkKQEAgLTE0MDMsNyArMTQwNyw3IEBACiAgICAgICAgIEZldGNoIHVybHMKICAgICAgICAgQXNzdW1lcyBsb2NhbHBhdGggd2FzIGNhbGxlZCBmaXJzdAogICAgICAgICAiIiIKLSAgICAgICAgcmFpc2UgTm9NZXRob2RFcnJvcih1cmwpCisgICAgICAgIHJhaXNlIE5vTWV0aG9kRXJyb3IodXJsZGF0YS51cmwpCiAKICAgICBkZWYgdW5wYWNrKHNlbGYsIHVybGRhdGEsIHJvb3RkaXIsIGRhdGEpOgogICAgICAgICBpdGVyYXRlID0gRmFsc2UKQEAgLTE1NDcsNyArMTU1MSw3IEBACiAgICAgICAgIENoZWNrIHRoZSBzdGF0dXMgb2YgYSBVUkwKICAgICAgICAgQXNzdW1lcyBsb2NhbHBhdGggd2FzIGNhbGxlZCBmaXJzdAogICAgICAgICAiIiIKLSAgICAgICAgbG9nZ2VyLmluZm8oIlVSTCAlcyBjb3VsZCBub3QgYmUgY2hlY2tlZCBmb3Igc3RhdHVzIHNpbmNlIG5vIG1ldGhvZCBleGlzdHMuIiwgdXJsKQorICAgICAgICBsb2dnZXIuaW5mbygiVVJMICVzIGNvdWxkIG5vdCBiZSBjaGVja2VkIGZvciBzdGF0dXMgc2luY2Ugbm8gbWV0aG9kIGV4aXN0cy4iLCB1cmxkYXRhLnVybCkKICAgICAgICAgcmV0dXJuIFRydWUKIAogICAgIGRlZiBsYXRlc3RfcmV2aXNpb24oc2VsZiwgdWQsIGQsIG5hbWUpOgpAQCAtMTU1NSw3ICsxNTU5LDcgQEAKICAgICAgICAgTG9vayBpbiB0aGUgY2FjaGUgZm9yIHRoZSBsYXRlc3QgcmV2aXNpb24sIGlmIG5vdCBwcmVzZW50IGFzayB0aGUgU0NNLgogICAgICAgICAiIiIKICAgICAgICAgaWYgbm90IGhhc2F0dHIoc2VsZiwgIl9sYXRlc3RfcmV2aXNpb24iKToKLSAgICAgICAgICAgIHJhaXNlIFBhcmFtZXRlckVycm9yKCJUaGUgZmV0Y2hlciBmb3IgdGhpcyBVUkwgZG9lcyBub3Qgc3VwcG9ydCBfbGF0ZXN0X3JldmlzaW9uIiwgdXJsKQorICAgICAgICAgICAgcmFpc2UgUGFyYW1ldGVyRXJyb3IoIlRoZSBmZXRjaGVyIGZvciB0aGlzIFVSTCBkb2VzIG5vdCBzdXBwb3J0IF9sYXRlc3RfcmV2aXNpb24iLCB1ZC51cmwpCiAKICAgICAgICAgcmV2cyA9IGJiLnBlcnNpc3RfZGF0YS5wZXJzaXN0KCdCQl9VUklfSEVBRFJFVlMnLCBkKQogICAgICAgICBrZXkgPSBzZWxmLmdlbmVyYXRlX3JldmlzaW9uX2tleSh1ZCwgZCwgbmFtZSkKQEAgLTE2MzgsNyArMTY0Miw3IEBACiAgICAgICAgICAgICB1cmxzID0gc2VsZi51cmxzCiAKICAgICAgICAgbmV0d29yayA9IHNlbGYuZC5nZXRWYXIoIkJCX05PX05FVFdPUksiKQotICAgICAgICBwcmVtaXJyb3Jvbmx5ID0gKHNlbGYuZC5nZXRWYXIoIkJCX0ZFVENIX1BSRU1JUlJPUk9OTFkiKSA9PSAiMSIpCisgICAgICAgIHByZW1pcnJvcm9ubHkgPSBiYi51dGlscy50b19ib29sZWFuKHNlbGYuZC5nZXRWYXIoIkJCX0ZFVENIX1BSRU1JUlJPUk9OTFkiKSkKIAogICAgICAgICBmb3IgdSBpbiB1cmxzOgogICAgICAgICAgICAgdWQgPSBzZWxmLnVkW3VdCkBAIC0xNzE2LDcgKzE3MjAsNyBAQAogICAgICAgICAgICAgICAgIHVwZGF0ZV9zdGFtcCh1ZCwgc2VsZi5kKQogCiAgICAgICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlOgotICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gaW4gW29zLmVycm5vLkVTVEFMRV06CisgICAgICAgICAgICAgICAgaWYgZS5lcnJubyBpbiBbZXJybm8uRVNUQUxFXToKICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCJTdGFsZSBFcnJvciBPYnNlcnZlZCAlcy4iICUgdSkKICAgICAgICAgICAgICAgICAgICAgcmFpc2UgQ2hlY2tzdW1FcnJvcigiU3RhbGUgRXJyb3IgRGV0ZWN0ZWQiKQogCkBAIC0xNzg2LDcgKzE3OTAsNyBAQAogCiAgICAgICAgIGZvciB1cmwgaW4gdXJsczoKICAgICAgICAgICAgIGlmIHVybCBub3QgaW4gc2VsZi51ZDoKLSAgICAgICAgICAgICAgICBzZWxmLnVkW3VybF0gPSBGZXRjaERhdGEodXJsLCBkKQorICAgICAgICAgICAgICAgIHNlbGYudWRbdXJsXSA9IEZldGNoRGF0YSh1cmwsIHNlbGYuZCkKICAgICAgICAgICAgIHVkID0gc2VsZi51ZFt1cmxdCiAgICAgICAgICAgICB1ZC5zZXR1cF9sb2NhbHBhdGgoc2VsZi5kKQogCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL2ZldGNoMi9naXQucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL2ZldGNoMi9naXQucHkKaW5kZXggNTlhMmVlOC4uODE4NWJmNCAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9mZXRjaDIvZ2l0LnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvZmV0Y2gyL2dpdC5weQpAQCAtMTk5LDcgKzE5OSw3IEBACiAgICAgICAgICAgICBkZXB0aF9kZWZhdWx0ID0gMQogICAgICAgICB1ZC5zaGFsbG93X2RlcHRocyA9IGNvbGxlY3Rpb25zLmRlZmF1bHRkaWN0KGxhbWJkYTogZGVwdGhfZGVmYXVsdCkKIAotICAgICAgICByZXZzX2RlZmF1bHQgPSBkLmdldFZhcigiQkJfR0lUX1NIQUxMT1dfUkVWUyIsIFRydWUpCisgICAgICAgIHJldnNfZGVmYXVsdCA9IGQuZ2V0VmFyKCJCQl9HSVRfU0hBTExPV19SRVZTIikKICAgICAgICAgdWQuc2hhbGxvd19yZXZzID0gW10KICAgICAgICAgdWQuYnJhbmNoZXMgPSB7fQogICAgICAgICBmb3IgcG9zLCBuYW1lIGluIGVudW1lcmF0ZSh1ZC5uYW1lcyk6CkBAIC0zMTgsNyArMzE4LDcgQEAKICAgICBkZWYgdHJ5X3ByZW1pcnJvcihzZWxmLCB1ZCwgZCk6CiAgICAgICAgICMgSWYgd2UgZG9uJ3QgZG8gdGhpcywgdXBkYXRpbmcgYW4gZXhpc3RpbmcgY2hlY2tvdXQgd2l0aCBvbmx5IHByZW1pcnJvcnMKICAgICAgICAgIyBpcyBub3QgcG9zc2libGUKLSAgICAgICAgaWYgZC5nZXRWYXIoIkJCX0ZFVENIX1BSRU1JUlJPUk9OTFkiKSBpcyBub3QgTm9uZToKKyAgICAgICAgaWYgYmIudXRpbHMudG9fYm9vbGVhbihkLmdldFZhcigiQkJfRkVUQ0hfUFJFTUlSUk9ST05MWSIpKToKICAgICAgICAgICAgIHJldHVybiBUcnVlCiAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHVkLmNsb25lZGlyKToKICAgICAgICAgICAgIHJldHVybiBGYWxzZQpAQCAtNTIyLDkgKzUyMiwxNyBAQAogICAgIGRlZiBjbGVhbihzZWxmLCB1ZCwgZCk6CiAgICAgICAgICIiIiBjbGVhbiB0aGUgZ2l0IGRpcmVjdG9yeSAiIiIKIAotICAgICAgICBiYi51dGlscy5yZW1vdmUodWQubG9jYWxwYXRoLCBUcnVlKQotICAgICAgICBiYi51dGlscy5yZW1vdmUodWQuZnVsbG1pcnJvcikKLSAgICAgICAgYmIudXRpbHMucmVtb3ZlKHVkLmZ1bGxtaXJyb3IgKyAiLmRvbmUiKQorICAgICAgICB0b19yZW1vdmUgPSBbdWQubG9jYWxwYXRoLCB1ZC5mdWxsbWlycm9yLCB1ZC5mdWxsbWlycm9yICsgIi5kb25lIl0KKyAgICAgICAgIyBUaGUgbG9jYWxwYXRoIGlzIGEgc3ltbGluayB0byBjbG9uZWRpciB3aGVuIGl0IGlzIGNsb25lZCBmcm9tIGEKKyAgICAgICAgIyBtaXJyb3IsIHNvIHJlbW92ZSBib3RoIG9mIHRoZW0uCisgICAgICAgIGlmIG9zLnBhdGguaXNsaW5rKHVkLmxvY2FscGF0aCk6CisgICAgICAgICAgICBjbG9uZWRpciA9IG9zLnBhdGgucmVhbHBhdGgodWQubG9jYWxwYXRoKQorICAgICAgICAgICAgdG9fcmVtb3ZlLmFwcGVuZChjbG9uZWRpcikKKworICAgICAgICBmb3IgciBpbiB0b19yZW1vdmU6CisgICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhyKToKKyAgICAgICAgICAgICAgICBiYi5ub3RlKCdSZW1vdmluZyAlcycgJSByKQorICAgICAgICAgICAgICAgIGJiLnV0aWxzLnJlbW92ZShyLCBUcnVlKQogCiAgICAgZGVmIHN1cHBvcnRzX3NyY3JldihzZWxmKToKICAgICAgICAgcmV0dXJuIFRydWUKQEAgLTYxNSw3ICs2MjMsNyBAQAogICAgICAgICAiIiIKICAgICAgICAgcHVwdmVyID0gKCcnLCAnJykKIAotICAgICAgICB0YWdyZWdleCA9IHJlLmNvbXBpbGUoZC5nZXRWYXIoJ1VQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYJykgb3IgIig/UDxwdmVyPihbMC05XVtcLnxfXT8pKykiKQorICAgICAgICB0YWdyZWdleCA9IHJlLmNvbXBpbGUoZC5nZXRWYXIoJ1VQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYJykgb3IgciIoP1A8cHZlcj4oWzAtOV1bXC58X10/KSspIikKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgb3V0cHV0ID0gc2VsZi5fbHNyZW1vdGUodWQsIGQsICJyZWZzL3RhZ3MvKiIpCiAgICAgICAgIGV4Y2VwdCAoYmIuZmV0Y2gyLkZldGNoRXJyb3IsIGJiLmZldGNoMi5OZXR3b3JrQWNjZXNzKSBhcyBlOgpAQCAtNjMwLDcgKzYzOCw3IEBACiAKICAgICAgICAgICAgIHRhZ19oZWFkID0gbGluZS5zcGxpdCgiLyIpWy0xXQogICAgICAgICAgICAgIyBJZ25vcmUgbm9uLXJlbGVhc2VkIGJyYW5jaGVzCi0gICAgICAgICAgICBtID0gcmUuc2VhcmNoKCIoYWxwaGF8YmV0YXxyY3xmaW5hbCkrIiwgdGFnX2hlYWQpCisgICAgICAgICAgICBtID0gcmUuc2VhcmNoKHIiKGFscGhhfGJldGF8cmN8ZmluYWwpKyIsIHRhZ19oZWFkKQogICAgICAgICAgICAgaWYgbToKICAgICAgICAgICAgICAgICBjb250aW51ZQogCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL2ZldGNoMi9naXRzbS5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvZmV0Y2gyL2dpdHNtLnB5CmluZGV4IGIyMWZlZDIuLjMyMzg5MTMgMTAwNjQ0Ci0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvZmV0Y2gyL2dpdHNtLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvZmV0Y2gyL2dpdHNtLnB5CkBAIC0xNDcsNiArMTQ3LDIzIEBACiAKICAgICAgICAgcmV0dXJuIHN1Ym1vZHVsZXMgIT0gW10KIAorICAgIGRlZiBuZWVkX3VwZGF0ZShzZWxmLCB1ZCwgZCk6CisgICAgICAgIGlmIEdpdC5uZWVkX3VwZGF0ZShzZWxmLCB1ZCwgZCk6CisgICAgICAgICAgICByZXR1cm4gVHJ1ZQorCisgICAgICAgIHRyeToKKyAgICAgICAgICAgICMgQ2hlY2sgZm9yIHRoZSBudWdnZXQgZHJvcHBlZCBieSB0aGUgZG93bmxvYWQgb3BlcmF0aW9uCisgICAgICAgICAgICBrbm93bl9zcmNyZXZzID0gcnVuZmV0Y2hjbWQoIiVzIGNvbmZpZyAtLWdldC1hbGwgYml0YmFrZS5zcmNyZXYiICUgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1ZC5iYXNlY21kKSwgZCwgd29ya2Rpcj11ZC5jbG9uZWRpcikKKworICAgICAgICAgICAgaWYgdWQucmV2aXNpb25zW3VkLm5hbWVzWzBdXSBub3QgaW4ga25vd25fc3JjcmV2cy5zcGxpdCgpOgorICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCisgICAgICAgIGV4Y2VwdCBiYi5mZXRjaDIuRmV0Y2hFcnJvcjoKKyAgICAgICAgICAgICMgTm8gc3JjcmV2IG51Z2dldHMsIHNvIHRoaXMgaXMgbmV3IGFuZCBuZWVkcyB0byBiZSB1cGRhdGVkCisgICAgICAgICAgICByZXR1cm4gVHJ1ZQorCisgICAgICAgIHJldHVybiBGYWxzZQorCiAgICAgZGVmIGRvd25sb2FkKHNlbGYsIHVkLCBkKToKICAgICAgICAgZGVmIGRvd25sb2FkX3N1Ym1vZHVsZSh1ZCwgdXJsLCBtb2R1bGUsIG1vZHBhdGgsIGQpOgogICAgICAgICAgICAgdXJsICs9ICI7YmFyZWNsb25lPTE7bm9icmFuY2g9MSIKQEAgLTE1Nyw2ICsxNzQsOSBAQAogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIG5ld2ZldGNoID0gRmV0Y2goW3VybF0sIGQsIGNhY2hlPUZhbHNlKQogICAgICAgICAgICAgICAgIG5ld2ZldGNoLmRvd25sb2FkKCkKKyAgICAgICAgICAgICAgICAjIERyb3AgYSBudWdnZXQgdG8gYWRkIGVhY2ggb2YgdGhlIHNyY3JldnMgd2UndmUgZmV0Y2hlZCAodXNlZCBieSBuZWVkX3VwZGF0ZSkKKyAgICAgICAgICAgICAgICBydW5mZXRjaGNtZCgiJXMgY29uZmlnIC0tYWRkIGJpdGJha2Uuc3JjcmV2ICVzIiAlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWQuYmFzZWNtZCwgdWQucmV2aXNpb25zW3VkLm5hbWVzWzBdXSksIGQsIHdvcmtkaXI9dWQuY2xvbmVkaXIpCiAgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdnaXRzbTogc3VibW9kdWxlIGRvd25sb2FkIGZhaWxlZDogJXMgJXMnICUgKHR5cGUoZSkuX19uYW1lX18sIHN0cihlKSkpCiAgICAgICAgICAgICAgICAgcmFpc2UKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvZmV0Y2gyL2hnLnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi9mZXRjaDIvaGcucHkKaW5kZXggOTM2ZDA0My4uNWEyOTg1ZSAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9mZXRjaDIvaGcucHkKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9iYi9mZXRjaDIvaGcucHkKQEAgLTk5LDcgKzk5LDcgQEAKICAgICBkZWYgdHJ5X3ByZW1pcnJvcihzZWxmLCB1ZCwgZCk6CiAgICAgICAgICMgSWYgd2UgZG9uJ3QgZG8gdGhpcywgdXBkYXRpbmcgYW4gZXhpc3RpbmcgY2hlY2tvdXQgd2l0aCBvbmx5IHByZW1pcnJvcnMKICAgICAgICAgIyBpcyBub3QgcG9zc2libGUKLSAgICAgICAgaWYgZC5nZXRWYXIoIkJCX0ZFVENIX1BSRU1JUlJPUk9OTFkiKSBpcyBub3QgTm9uZToKKyAgICAgICAgaWYgYmIudXRpbHMudG9fYm9vbGVhbihkLmdldFZhcigiQkJfRkVUQ0hfUFJFTUlSUk9ST05MWSIpKToKICAgICAgICAgICAgIHJldHVybiBUcnVlCiAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHVkLm1vZGRpcik6CiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvZmV0Y2gyL25wbS5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvZmV0Y2gyL25wbS5weQppbmRleCA0MDhkZmMzLi42NWJmNWEzIDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JiL2ZldGNoMi9ucG0ucHkKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9iYi9mZXRjaDIvbnBtLnB5CkBAIC0yMjYsNyArMjI2LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2dldHNocmlua2VkZGVwZW5kZW5jaWVzKG9iaiwgZGF0YVsnZGVwZW5kZW5jaWVzJ11bb2JqXSwgZGF0YVsnZGVwZW5kZW5jaWVzJ11bb2JqXVsndmVyc2lvbiddLCBkLCB1ZCwgbG9ja2Rvd24sIG1hbmlmZXN0LCBGYWxzZSkKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybgogICAgICAgICBvdXRwdXR1cmwgPSAiaW52YWxpZCIKLSAgICAgICAgaWYgKCdyZXNvbHZlZCcgbm90IGluIGRhdGEpIG9yIChub3QgZGF0YVsncmVzb2x2ZWQnXS5zdGFydHN3aXRoKCdodHRwJykpOgorICAgICAgICBpZiAoJ3Jlc29sdmVkJyBub3QgaW4gZGF0YSkgb3IgKG5vdCBkYXRhWydyZXNvbHZlZCddLnN0YXJ0c3dpdGgoJ2h0dHA6Ly8nKSBhbmQgbm90IGRhdGFbJ3Jlc29sdmVkJ10uc3RhcnRzd2l0aCgnaHR0cHM6Ly8nKSk6CiAgICAgICAgICAgICAjIHdpbGwgYmUgdGhlIGNhc2UgZm9yICR7UE59CiAgICAgICAgICAgICBmZXRjaGNtZCA9ICJucG0gdmlldyAlc0AlcyBkaXN0LnRhcmJhbGwgLS1yZWdpc3RyeSAlcyIgJSAocGtnLCB2ZXJzaW9uLCB1ZC5yZWdpc3RyeSkKICAgICAgICAgICAgIGxvZ2dlci5kZWJ1ZygyLCAiRm91bmQgdGhpcyBtYXRjaGluZyBVUkw6ICVzIiAlIHN0cihmZXRjaGNtZCkpCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL2ZldGNoMi93Z2V0LnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi9mZXRjaDIvd2dldC5weQppbmRleCA4ZjUwNWI2Li4zYmIzZTNiIDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JiL2ZldGNoMi93Z2V0LnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvZmV0Y2gyL3dnZXQucHkKQEAgLTMzLDExICszMywxNCBAQAogaW1wb3J0IGVycm5vCiBpbXBvcnQgYmIKIGltcG9ydCBiYi5wcm9ncmVzcworaW1wb3J0IHNvY2tldAoraW1wb3J0IGh0dHAuY2xpZW50CiBpbXBvcnQgdXJsbGliLnJlcXVlc3QsIHVybGxpYi5wYXJzZSwgdXJsbGliLmVycm9yCiBmcm9tICAgYmIuZmV0Y2gyIGltcG9ydCBGZXRjaE1ldGhvZAogZnJvbSAgIGJiLmZldGNoMiBpbXBvcnQgRmV0Y2hFcnJvcgogZnJvbSAgIGJiLmZldGNoMiBpbXBvcnQgbG9nZ2VyCiBmcm9tICAgYmIuZmV0Y2gyIGltcG9ydCBydW5mZXRjaGNtZAorZnJvbSAgIGJiLmZldGNoMiBpbXBvcnQgRmV0Y2hDb25uZWN0aW9uQ2FjaGUKIGZyb20gICBiYi51dGlscyBpbXBvcnQgZXhwb3J0X3Byb3hpZXMKIGZyb20gICBiczQgaW1wb3J0IEJlYXV0aWZ1bFNvdXAKIGZyb20gICBiczQgaW1wb3J0IFNvdXBTdHJhaW5lcgpAQCAtMTMyLDEwICsxMzUsNiBAQAogICAgICAgICByZXR1cm4gVHJ1ZQogCiAgICAgZGVmIGNoZWNrc3RhdHVzKHNlbGYsIGZldGNoLCB1ZCwgZCwgdHJ5X2FnYWluPVRydWUpOgotICAgICAgICBpbXBvcnQgdXJsbGliLnJlcXVlc3QsIHVybGxpYi5lcnJvciwgdXJsbGliLnBhcnNlLCBzb2NrZXQsIGh0dHAuY2xpZW50Ci0gICAgICAgIGZyb20gdXJsbGliLnJlc3BvbnNlIGltcG9ydCBhZGRpbmZvdXJsCi0gICAgICAgIGZyb20gYmIuZmV0Y2gyIGltcG9ydCBGZXRjaENvbm5lY3Rpb25DYWNoZQotCiAgICAgICAgIGNsYXNzIEhUVFBDb25uZWN0aW9uQ2FjaGUoaHR0cC5jbGllbnQuSFRUUENvbm5lY3Rpb24pOgogICAgICAgICAgICAgaWYgZmV0Y2guY29ubmVjdGlvbl9jYWNoZToKICAgICAgICAgICAgICAgICBkZWYgY29ubmVjdChzZWxmKToKQEAgLTE2OCw3ICsxNjcsNyBAQAogICAgICAgICAgICAgICAgICIiIgogICAgICAgICAgICAgICAgIGhvc3QgPSByZXEuaG9zdAogICAgICAgICAgICAgICAgIGlmIG5vdCBob3N0OgotICAgICAgICAgICAgICAgICAgICByYWlzZSB1cmxsbGliMi5VUkxFcnJvcignbm8gaG9zdCBnaXZlbicpCisgICAgICAgICAgICAgICAgICAgIHJhaXNlIHVybGxpYi5lcnJvci5VUkxFcnJvcignbm8gaG9zdCBnaXZlbicpCiAKICAgICAgICAgICAgICAgICBoID0gaHR0cF9jbGFzcyhob3N0LCB0aW1lb3V0PXJlcS50aW1lb3V0KSAjIHdpbGwgcGFyc2UgaG9zdDpwb3J0CiAgICAgICAgICAgICAgICAgaC5zZXRfZGVidWdsZXZlbChzZWxmLl9kZWJ1Z2xldmVsKQpAQCAtMTg1LDcgKzE4NCw3IEBACiAgICAgICAgICAgICAgICAgIyByZXF1ZXN0LgogCiAgICAgICAgICAgICAgICAgIyBEb24ndCBjbG9zZSBjb25uZWN0aW9uIHdoZW4gY29ubmVjdGlvbl9jYWNoZSBpcyBlbmFibGVkLAotICAgICAgICAgICAgICAgIGlmIGZldGNoLmNvbm5lY3Rpb25fY2FjaGUgaXMgTm9uZTogCisgICAgICAgICAgICAgICAgaWYgZmV0Y2guY29ubmVjdGlvbl9jYWNoZSBpcyBOb25lOgogICAgICAgICAgICAgICAgICAgICBoZWFkZXJzWyJDb25uZWN0aW9uIl0gPSAiY2xvc2UiCiAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgaGVhZGVyc1siQ29ubmVjdGlvbiJdID0gIktlZXAtQWxpdmUiICMgV29ya3MgZm9yIEhUVFAvMS4wCkBAIC0yNTIsNyArMjUxLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgICAgICAgICAgICAgY2xvc2VkID0gRmFsc2UKIAotICAgICAgICAgICAgICAgIHJlc3AgPSBhZGRpbmZvdXJsKGZwX2R1bW15KCksIHIubXNnLCByZXEuZ2V0X2Z1bGxfdXJsKCkpCisgICAgICAgICAgICAgICAgcmVzcCA9IHVybGxpYi5yZXNwb25zZS5hZGRpbmZvdXJsKGZwX2R1bW15KCksIHIubXNnLCByZXEuZ2V0X2Z1bGxfdXJsKCkpCiAgICAgICAgICAgICAgICAgcmVzcC5jb2RlID0gci5zdGF0dXMKICAgICAgICAgICAgICAgICByZXNwLm1zZyA9IHIucmVhc29uCiAKQEAgLTI3MSwxNyArMjcwLDE2IEBACiAgICAgICAgICAgICAgICAgZnAucmVhZCgpCiAgICAgICAgICAgICAgICAgZnAuY2xvc2UoKQogCi0gICAgICAgICAgICAgICAgbmV3aGVhZGVycyA9IGRpY3QoKGssdikgZm9yIGssdiBpbiBsaXN0KHJlcS5oZWFkZXJzLml0ZW1zKCkpCisgICAgICAgICAgICAgICAgbmV3aGVhZGVycyA9IGRpY3QoKGssIHYpIGZvciBrLCB2IGluIGxpc3QocmVxLmhlYWRlcnMuaXRlbXMoKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBrLmxvd2VyKCkgbm90IGluICgiY29udGVudC1sZW5ndGgiLCAiY29udGVudC10eXBlIikpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYucGFyZW50Lm9wZW4odXJsbGliLnJlcXVlc3QuUmVxdWVzdChyZXEuZ2V0X2Z1bGxfdXJsKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM9bmV3aGVhZGVycywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luX3JlcV9ob3N0PXJlcS5vcmlnaW5fcmVxX2hvc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVudmVyaWZpYWJsZT1UcnVlKSkKIAotICAgICAgICAgICAgIiIiCi0gICAgICAgICAgICBTb21lIHNlcnZlcnMgKGUuZy4gR2l0SHViIGFyY2hpdmVzLCBob3N0ZWQgb24gQW1hem9uIFMzKSByZXR1cm4gNDAzCi0gICAgICAgICAgICBGb3JiaWRkZW4gd2hlbiB0aGV5IGFjdHVhbGx5IG1lYW4gNDA1IE1ldGhvZCBOb3QgQWxsb3dlZC4KLSAgICAgICAgICAgICIiIgorCisgICAgICAgICAgICAjIFNvbWUgc2VydmVycyAoZS5nLiBHaXRIdWIgYXJjaGl2ZXMsIGhvc3RlZCBvbiBBbWF6b24gUzMpIHJldHVybiA0MDMKKyAgICAgICAgICAgICMgRm9yYmlkZGVuIHdoZW4gdGhleSBhY3R1YWxseSBtZWFuIDQwNSBNZXRob2QgTm90IEFsbG93ZWQuCiAgICAgICAgICAgICBodHRwX2Vycm9yXzQwMyA9IGh0dHBfZXJyb3JfNDA1CiAKIApAQCAtMjkyLDE1ICsyOTAsMTUgQEAKICAgICAgICAgICAgICIiIgogICAgICAgICAgICAgZGVmIHJlZGlyZWN0X3JlcXVlc3Qoc2VsZiwgcmVxLCBmcCwgY29kZSwgbXNnLCBoZWFkZXJzLCBuZXd1cmwpOgogICAgICAgICAgICAgICAgIG5ld3JlcSA9IHVybGxpYi5yZXF1ZXN0LkhUVFBSZWRpcmVjdEhhbmRsZXIucmVkaXJlY3RfcmVxdWVzdChzZWxmLCByZXEsIGZwLCBjb2RlLCBtc2csIGhlYWRlcnMsIG5ld3VybCkKLSAgICAgICAgICAgICAgICBuZXdyZXEuZ2V0X21ldGhvZCA9IGxhbWJkYTogcmVxLmdldF9tZXRob2QoKQorICAgICAgICAgICAgICAgIG5ld3JlcS5nZXRfbWV0aG9kID0gcmVxLmdldF9tZXRob2QKICAgICAgICAgICAgICAgICByZXR1cm4gbmV3cmVxCiAgICAgICAgIGV4cG9ydGVkX3Byb3hpZXMgPSBleHBvcnRfcHJveGllcyhkKQogCiAgICAgICAgIGhhbmRsZXJzID0gW0ZpeGVkSFRUUFJlZGlyZWN0SGFuZGxlciwgSFRUUE1ldGhvZEZhbGxiYWNrXQotICAgICAgICBpZiBleHBvcnRfcHJveGllczoKKyAgICAgICAgaWYgZXhwb3J0ZWRfcHJveGllczoKICAgICAgICAgICAgIGhhbmRsZXJzLmFwcGVuZCh1cmxsaWIucmVxdWVzdC5Qcm94eUhhbmRsZXIoKSkKICAgICAgICAgaGFuZGxlcnMuYXBwZW5kKENhY2hlSFRUUEhhbmRsZXIoKSkKLSAgICAgICAgIyBYWFg6IFNpbmNlIFB5dGhvbiAyLjcuOSBzc2wgY2VydCB2YWxpZGF0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdAorICAgICAgICAjIFNpbmNlIFB5dGhvbiAyLjcuOSBzc2wgY2VydCB2YWxpZGF0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdAogICAgICAgICAjIHNlZSBQRVAtMDQ3NiwgdGhpcyBjYXVzZXMgdmVyaWZpY2F0aW9uIGVycm9ycyBvbiBzb21lIGh0dHBzIHNlcnZlcnMKICAgICAgICAgIyBzbyBkaXNhYmxlIGJ5IGRlZmF1bHQuCiAgICAgICAgIGltcG9ydCBzc2wKQEAgLTMxOSwxOSArMzE3LDE5IEBACiAgICAgICAgICAgICAgICAgJycnQWRkcyBCYXNpYyBhdXRoIHRvIGh0dHAgcmVxdWVzdCwgcGFzcyBpbiBsb2dpbjpwYXNzd29yZCBhcyBzdHJpbmcnJycKICAgICAgICAgICAgICAgICBpbXBvcnQgYmFzZTY0CiAgICAgICAgICAgICAgICAgZW5jb2RldXNlciA9IGJhc2U2NC5iNjRlbmNvZGUobG9naW5fc3RyLmVuY29kZSgndXRmLTgnKSkuZGVjb2RlKCJ1dGYtOCIpCi0gICAgICAgICAgICAgICAgYXV0aGhlYWRlciA9ICAiQmFzaWMgJXMiICUgZW5jb2RldXNlcgorICAgICAgICAgICAgICAgIGF1dGhoZWFkZXIgPSAiQmFzaWMgJXMiICUgZW5jb2RldXNlcgogICAgICAgICAgICAgICAgIHIuYWRkX2hlYWRlcigiQXV0aG9yaXphdGlvbiIsIGF1dGhoZWFkZXIpCiAKLSAgICAgICAgICAgIGlmIHVkLnVzZXI6Ci0gICAgICAgICAgICAgICAgYWRkX2Jhc2ljX2F1dGgodWQudXNlciwgcikKKyAgICAgICAgICAgIGlmIHVkLnVzZXIgYW5kIHVkLnBzd2Q6CisgICAgICAgICAgICAgICAgYWRkX2Jhc2ljX2F1dGgodWQudXNlciArICc6JyArIHVkLnBzd2QsIHIpCiAKICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBpbXBvcnQgbmV0cmMsIHVybGxpYi5wYXJzZQorICAgICAgICAgICAgICAgIGltcG9ydCBuZXRyYwogICAgICAgICAgICAgICAgIG4gPSBuZXRyYy5uZXRyYygpCiAgICAgICAgICAgICAgICAgbG9naW4sIHVudXNlZCwgcGFzc3dvcmQgPSBuLmF1dGhlbnRpY2F0b3JzKHVybGxpYi5wYXJzZS51cmxwYXJzZSh1cmkpLmhvc3RuYW1lKQogICAgICAgICAgICAgICAgIGFkZF9iYXNpY19hdXRoKCIlczolcyIgJSAobG9naW4sIHBhc3N3b3JkKSwgcikKICAgICAgICAgICAgIGV4Y2VwdCAoVHlwZUVycm9yLCBJbXBvcnRFcnJvciwgSU9FcnJvciwgbmV0cmMuTmV0cmNQYXJzZUVycm9yKToKLSAgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgICAgIHBhc3MKIAogICAgICAgICAgICAgd2l0aCBvcGVuZXIub3BlbihyKSBhcyByZXNwb25zZToKICAgICAgICAgICAgICAgICBwYXNzCkBAIC0zOTYsMTggKzM5NCwxNCBAQAogICAgICAgICAob2xkcG4sIG9sZHB2LCBvbGRzdWZmaXgpID0gb2xkCiAgICAgICAgIChuZXdwbiwgbmV3cHYsIG5ld3N1ZmZpeCkgPSBuZXcKIAotICAgICAgICAiIiIKLSAgICAgICAgQ2hlY2sgZm9yIGEgbmV3IHN1ZmZpeCB0eXBlIHRoYXQgd2UgaGF2ZSBuZXZlciBoZWFyZCBvZiBiZWZvcmUKLSAgICAgICAgIiIiCi0gICAgICAgIGlmIChuZXdzdWZmaXgpOgorICAgICAgICAjIENoZWNrIGZvciBhIG5ldyBzdWZmaXggdHlwZSB0aGF0IHdlIGhhdmUgbmV2ZXIgaGVhcmQgb2YgYmVmb3JlCisgICAgICAgIGlmIG5ld3N1ZmZpeDoKICAgICAgICAgICAgIG0gPSBzZWxmLnN1ZmZpeF9yZWdleF9jb21wLnNlYXJjaChuZXdzdWZmaXgpCiAgICAgICAgICAgICBpZiBub3QgbToKICAgICAgICAgICAgICAgICBiYi53YXJuKCIlcyBoYXMgYSBwb3NzaWJsZSB1bmtub3duIHN1ZmZpeDogJXMiICUgKG5ld3BuLCBuZXdzdWZmaXgpKQogICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQogCi0gICAgICAgICIiIgotICAgICAgICBOb3Qgb3VyIHBhY2thZ2Ugc28gaWdub3JlIGl0Ci0gICAgICAgICIiIgorICAgICAgICAjIE5vdCBvdXIgcGFja2FnZSBzbyBpZ25vcmUgaXQKICAgICAgICAgaWYgb2xkcG4gIT0gbmV3cG46CiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKIApAQCAtNDczLDE1ICs0NjcsMTQgQEAKIAogICAgICAgICByZXR1cm4gIiIKIAotICAgIGRlZiBfY2hlY2tfbGF0ZXN0X3ZlcnNpb25fYnlfZGlyKHNlbGYsIGRpcnZlciwgcGFja2FnZSwgcGFja2FnZV9yZWdleCwKLSAgICAgICAgICAgIGN1cnJlbnRfdmVyc2lvbiwgdWQsIGQpOgorICAgIGRlZiBfY2hlY2tfbGF0ZXN0X3ZlcnNpb25fYnlfZGlyKHNlbGYsIGRpcnZlciwgcGFja2FnZSwgcGFja2FnZV9yZWdleCwgY3VycmVudF92ZXJzaW9uLCB1ZCwgZCk6CiAgICAgICAgICIiIgotICAgICAgICAgICAgU2NhbiBldmVyeSBkaXJlY3RvcnkgaW4gb3JkZXIgdG8gZ2V0IHVwc3RyZWFtIHZlcnNpb24uCisgICAgICAgIFNjYW4gZXZlcnkgZGlyZWN0b3J5IGluIG9yZGVyIHRvIGdldCB1cHN0cmVhbSB2ZXJzaW9uLgogICAgICAgICAiIiIKICAgICAgICAgdmVyc2lvbl9kaXIgPSBbJycsICcnLCAnJ10KICAgICAgICAgdmVyc2lvbiA9IFsnJywgJycsICcnXQogCi0gICAgICAgIGRpcnZlcl9yZWdleCA9IHJlLmNvbXBpbGUoIig/UDxwZng+XEQqKSg/UDx2ZXI+KFxkK1tcLlwtX10pKyhcZCspKSIpCisgICAgICAgIGRpcnZlcl9yZWdleCA9IHJlLmNvbXBpbGUociIoP1A8cGZ4PlxEKikoP1A8dmVyPihcZCtbXC5cLV9dKSsoXGQrKSkiKQogICAgICAgICBzID0gZGlydmVyX3JlZ2V4LnNlYXJjaChkaXJ2ZXIpCiAgICAgICAgIGlmIHM6CiAgICAgICAgICAgICB2ZXJzaW9uX2RpclsxXSA9IHMuZ3JvdXAoJ3ZlcicpCkBAIC01NDEsMjYgKzUzNCwyNiBAQAogICAgICAgICAgICAgICAgIGdzdC1mbHVlbmRvLW1wMwogICAgICAgICAiIiIKICAgICAgICAgIyBtYXRjaCBtb3N0IHBhdHRlcm5zIHdoaWNoIHVzZXMgIi0iIGFzIHNlcGFyYXRvciB0byB2ZXJzaW9uIGRpZ2l0cwotICAgICAgICBwbl9wcmVmaXgxID0gIlthLXpBLVpdW2EtekEtWjAtOV0qKFstX11bYS16QS1aXVx3KykqXCs/Wy1fXSIKKyAgICAgICAgcG5fcHJlZml4MSA9IHIiW2EtekEtWl1bYS16QS1aMC05XSooWy1fXVthLXpBLVpdXHcrKSpcKz9bLV9dIgogICAgICAgICAjIGEgbG9vc2UgcGF0dGVybiBzdWNoIGFzIGZvciB1bnppcDU1Mi50YXIuZ3oKLSAgICAgICAgcG5fcHJlZml4MiA9ICJbYS16QS1aXSsiCisgICAgICAgIHBuX3ByZWZpeDIgPSByIlthLXpBLVpdKyIKICAgICAgICAgIyBhIGxvb3NlIHBhdHRlcm4gc3VjaCBhcyBmb3IgODAzMjUtcXVpY2t5LTAuNC50YXIuZ3oKLSAgICAgICAgcG5fcHJlZml4MyA9ICJbMC05XStbLV0/W2EtekEtWl0rIgorICAgICAgICBwbl9wcmVmaXgzID0gciJbMC05XStbLV0/W2EtekEtWl0rIgogICAgICAgICAjIFNhdmUgdGhlIFBhY2thZ2UgTmFtZSAocG4pIFJlZ2V4IGZvciB1c2UgbGF0ZXIKLSAgICAgICAgcG5fcmVnZXggPSAiKCVzfCVzfCVzKSIgJSAocG5fcHJlZml4MSwgcG5fcHJlZml4MiwgcG5fcHJlZml4MykKKyAgICAgICAgcG5fcmVnZXggPSByIiglc3wlc3wlcykiICUgKHBuX3ByZWZpeDEsIHBuX3ByZWZpeDIsIHBuX3ByZWZpeDMpCiAKICAgICAgICAgIyBtYXRjaCB2ZXJzaW9uCi0gICAgICAgIHB2ZXJfcmVnZXggPSAiKChbQS1aXSpcZCtbYS16QS1aXSpbXC5cLV9dKikrKSIKKyAgICAgICAgcHZlcl9yZWdleCA9IHIiKChbQS1aXSpcZCtbYS16QS1aXSpbXC5cLV9dKikrKSIKIAogICAgICAgICAjIG1hdGNoIGFyY2gKICAgICAgICAgcGFyY2hfcmVnZXggPSAiLXNvdXJjZXxfYWxsXyIKIAogICAgICAgICAjIHNyYy5ycG0gZXh0ZW5zaW9uIHdhcyBhZGRlZCBvbmx5IGZvciBycG0gcGFja2FnZS4gQ2FuIGJlIHJlbW92ZWQgaWYgdGhlIHJwbQogICAgICAgICAjIHBhY2thZ2VkIHdpbGwgYWx3YXlzIGJlIGNvbnNpZGVyZWQgYXMgaGF2aW5nIHRvIGJlIG1hbnVhbGx5IHVwZ3JhZGVkCi0gICAgICAgIHBzdWZmaXhfcmVnZXggPSAiKHRhclwuZ3p8dGd6fHRhclwuYnoyfHppcHx4enx0YXJcLmx6fHJwbXxiejJ8b3JpZ1wudGFyXC5nenx0YXJcLnh6fHNyY1wudGFyXC5nenxzcmNcLnRnenxzdm5yXGQrXC50YXJcLmJ6MnxzdGFibGVcLnRhclwuZ3p8c3JjXC5ycG0pIgorICAgICAgICBwc3VmZml4X3JlZ2V4ID0gciIodGFyXC5nenx0Z3p8dGFyXC5iejJ8emlwfHh6fHRhclwubHp8cnBtfGJ6MnxvcmlnXC50YXJcLmd6fHRhclwueHp8c3JjXC50YXJcLmd6fHNyY1wudGd6fHN2bnJcZCtcLnRhclwuYnoyfHN0YWJsZVwudGFyXC5nenxzcmNcLnJwbSkiCiAKICAgICAgICAgIyBtYXRjaCBuYW1lLCB2ZXJzaW9uIGFuZCBhcmNoaXZlIHR5cGUgb2YgYSBwYWNrYWdlCi0gICAgICAgIHBhY2thZ2VfcmVnZXhfY29tcCA9IHJlLmNvbXBpbGUoIig/UDxuYW1lPiVzP1wuP3Y/KSg/UDxwdmVyPiVzKSg/UDxhcmNoPiVzKT9bXC4tXSg/UDx0eXBlPiVzJCkiCisgICAgICAgIHBhY2thZ2VfcmVnZXhfY29tcCA9IHJlLmNvbXBpbGUociIoP1A8bmFtZT4lcz9cLj92PykoP1A8cHZlcj4lcykoP1A8YXJjaD4lcyk/W1wuLV0oP1A8dHlwZT4lcyQpIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKHBuX3JlZ2V4LCBwdmVyX3JlZ2V4LCBwYXJjaF9yZWdleCwgcHN1ZmZpeF9yZWdleCkpCiAgICAgICAgIHNlbGYuc3VmZml4X3JlZ2V4X2NvbXAgPSByZS5jb21waWxlKHBzdWZmaXhfcmVnZXgpCiAKQEAgLTU3Miw3ICs1NjUsNyBAQAogICAgICAgICAgICAgdmVyc2lvbiA9IHNlbGYuX3BhcnNlX3BhdGgocGFja2FnZV9yZWdleF9jb21wLCBwYWNrYWdlKQogICAgICAgICAgICAgaWYgdmVyc2lvbjoKICAgICAgICAgICAgICAgICBwYWNrYWdlX2N1c3RvbV9yZWdleF9jb21wID0gcmUuY29tcGlsZSgKLSAgICAgICAgICAgICAgICAgICAgIig/UDxuYW1lPiVzKSg/UDxwdmVyPiVzKSg/UDxhcmNoPiVzKT9bXC4tXSg/UDx0eXBlPiVzKSIgJQorICAgICAgICAgICAgICAgICAgICByIig/UDxuYW1lPiVzKSg/UDxwdmVyPiVzKSg/UDxhcmNoPiVzKT9bXC4tXSg/UDx0eXBlPiVzKSIgJQogICAgICAgICAgICAgICAgICAgICAocmUuZXNjYXBlKHZlcnNpb25bMF0pLCBwdmVyX3JlZ2V4LCBwYXJjaF9yZWdleCwgcHN1ZmZpeF9yZWdleCkpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHBhY2thZ2VfY3VzdG9tX3JlZ2V4X2NvbXAgPSBOb25lCkBAIC01ODksNyArNTgyLDcgQEAKICAgICAgICAgY3VycmVudF92ZXJzaW9uID0gWycnLCBkLmdldFZhcignUFYnKSwgJyddCiAKICAgICAgICAgIiIicG9zc2libGUgdG8gaGF2ZSBubyB2ZXJzaW9uIGluIHBrZyBuYW1lLCBzdWNoIGFzIHNwZWN0cnVtLWZ3IiIiCi0gICAgICAgIGlmIG5vdCByZS5zZWFyY2goIlxkKyIsIHBhY2thZ2UpOgorICAgICAgICBpZiBub3QgcmUuc2VhcmNoKHIiXGQrIiwgcGFja2FnZSk6CiAgICAgICAgICAgICBjdXJyZW50X3ZlcnNpb25bMV0gPSByZS5zdWIoJ18nLCAnLicsIGN1cnJlbnRfdmVyc2lvblsxXSkKICAgICAgICAgICAgIGN1cnJlbnRfdmVyc2lvblsxXSA9IHJlLnN1YignLScsICcuJywgY3VycmVudF92ZXJzaW9uWzFdKQogICAgICAgICAgICAgcmV0dXJuIChjdXJyZW50X3ZlcnNpb25bMV0sICcnKQpAQCAtNjA3LDEzICs2MDAsMTMgQEAKIAogICAgICAgICAgICAgIyBzZWFyY2ggZm9yIHZlcnNpb24gbWF0Y2hlcyBvbiBmb2xkZXJzIGluc2lkZSB0aGUgcGF0aCwgbGlrZToKICAgICAgICAgICAgICMgIjUuNyIgaW4gaHR0cDovL2Rvd25sb2FkLmdub21lLm9yZy9zb3VyY2VzLyR7UE59LzUuNy8ke1BOfS0ke1BWfS50YXIuZ3oKLSAgICAgICAgICAgIGRpcnZlcl9yZWdleCA9IHJlLmNvbXBpbGUoIig/UDxkaXJ2ZXI+W14vXSooXGQrXC4pKlxkKyhbLV9dclxkKykqKS8iKQorICAgICAgICAgICAgZGlydmVyX3JlZ2V4ID0gcmUuY29tcGlsZShyIig/UDxkaXJ2ZXI+W14vXSooXGQrXC4pKlxkKyhbLV9dclxkKykqKS8iKQogICAgICAgICAgICAgbSA9IGRpcnZlcl9yZWdleC5zZWFyY2gocGF0aCkKICAgICAgICAgICAgIGlmIG06CiAgICAgICAgICAgICAgICAgcG4gPSBkLmdldFZhcignUE4nKQogICAgICAgICAgICAgICAgIGRpcnZlciA9IG0uZ3JvdXAoJ2RpcnZlcicpCiAKLSAgICAgICAgICAgICAgICBkaXJ2ZXJfcG5fcmVnZXggPSByZS5jb21waWxlKCIlc1xkPyIgJSAocmUuZXNjYXBlKHBuKSkpCisgICAgICAgICAgICAgICAgZGlydmVyX3BuX3JlZ2V4ID0gcmUuY29tcGlsZShyIiVzXGQ/IiAlIChyZS5lc2NhcGUocG4pKSkKICAgICAgICAgICAgICAgICBpZiBub3QgZGlydmVyX3BuX3JlZ2V4LnNlYXJjaChkaXJ2ZXIpOgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHNlbGYuX2NoZWNrX2xhdGVzdF92ZXJzaW9uX2J5X2RpcihkaXJ2ZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICBwYWNrYWdlLCBwYWNrYWdlX3JlZ2V4LCBjdXJyZW50X3ZlcnNpb24sIHVkLCBkKSwgJycpCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL21haW4ucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL21haW4ucHkKaW5kZXggN2RjOTUzZC4uNDFkZDNiOSAxMDA3NTUKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9tYWluLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvbWFpbi5weQpAQCAtNDc1LDEwICs0NzUsMTEgQEAKICAgICAgICAgICAgICAgICBpZiBub3QgcmV0cmllczoKICAgICAgICAgICAgICAgICAgICAgcmFpc2UKICAgICAgICAgICAgICAgICByZXRyaWVzIC09IDEKKyAgICAgICAgICAgICAgICB0cnlubyA9IDggLSByZXRyaWVzCiAgICAgICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShlLCAoYmIuc2VydmVyLnByb2Nlc3MuUHJvY2Vzc1RpbWVvdXQsIEJyb2tlblBpcGVFcnJvcikpOgotICAgICAgICAgICAgICAgICAgICBsb2dnZXIuaW5mbygiUmV0cnlpbmcgc2VydmVyIGNvbm5lY3Rpb24uLi4iKQorICAgICAgICAgICAgICAgICAgICBsb2dnZXIuaW5mbygiUmV0cnlpbmcgc2VydmVyIGNvbm5lY3Rpb24gKCMlZCkuLi4iICUgdHJ5bm8pCiAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLmluZm8oIlJldHJ5aW5nIHNlcnZlciBjb25uZWN0aW9uLi4uICglcykiICUgdHJhY2ViYWNrLmZvcm1hdF9leGMoKSkKKyAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLmluZm8oIlJldHJ5aW5nIHNlcnZlciBjb25uZWN0aW9uICgjJWQpLi4uICglcykiICUgKHRyeW5vLCB0cmFjZWJhY2suZm9ybWF0X2V4YygpKSkKICAgICAgICAgICAgIGlmIG5vdCByZXRyaWVzOgogICAgICAgICAgICAgICAgIGJiLmZhdGFsKCJVbmFibGUgdG8gY29ubmVjdCB0byBiaXRiYWtlIHNlcnZlciwgb3Igc3RhcnQgb25lIikKICAgICAgICAgICAgIGlmIHJldHJpZXMgPCA1OgpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9iYi9tb25pdG9yZGlzay5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvbW9uaXRvcmRpc2sucHkKaW5kZXggODMzY2QzZC4uMmFkMWU2MSAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9tb25pdG9yZGlzay5weQorKysgYi9wb2t5L2JpdGJha2UvbGliL2JiL21vbml0b3JkaXNrLnB5CkBAIC0yOCwxNiArMjgsMTYgQEAKIAogICAgICIiIiBDb252ZXJ0IHRoZSBzcGFjZSB1bml0IEcsIE0sIEssIHRoZSB1bml0IGlzIGNhc2UtaW5zZW5zaXRpdmUgIiIiCiAKLSAgICB1bml0RyA9IHJlLm1hdGNoKCcoWzEtOV1bMC05XSopW2dHXVxzPyQnLCB1bml0KQorICAgIHVuaXRHID0gcmUubWF0Y2gocicoWzEtOV1bMC05XSopW2dHXVxzPyQnLCB1bml0KQogICAgIGlmIHVuaXRHOgogICAgICAgICByZXR1cm4gaW50KHVuaXRHLmdyb3VwKDEpKSAqICgxMDI0ICoqIDMpCi0gICAgdW5pdE0gPSByZS5tYXRjaCgnKFsxLTldWzAtOV0qKVttTV1ccz8kJywgdW5pdCkKKyAgICB1bml0TSA9IHJlLm1hdGNoKHInKFsxLTldWzAtOV0qKVttTV1ccz8kJywgdW5pdCkKICAgICBpZiB1bml0TToKICAgICAgICAgcmV0dXJuIGludCh1bml0TS5ncm91cCgxKSkgKiAoMTAyNCAqKiAyKQotICAgIHVuaXRLID0gcmUubWF0Y2goJyhbMS05XVswLTldKilba0tdXHM/JCcsIHVuaXQpCisgICAgdW5pdEsgPSByZS5tYXRjaChyJyhbMS05XVswLTldKilba0tdXHM/JCcsIHVuaXQpCiAgICAgaWYgdW5pdEs6CiAgICAgICAgIHJldHVybiBpbnQodW5pdEsuZ3JvdXAoMSkpICogMTAyNAotICAgIHVuaXROID0gcmUubWF0Y2goJyhbMS05XVswLTldKilccz8kJywgdW5pdCkKKyAgICB1bml0TiA9IHJlLm1hdGNoKHInKFsxLTldWzAtOV0qKVxzPyQnLCB1bml0KQogICAgIGlmIHVuaXROOgogICAgICAgICByZXR1cm4gaW50KHVuaXROLmdyb3VwKDEpKQogICAgIGVsc2U6CkBAIC04Myw3ICs4Myw3IEBACiAgICAgZm9yIHBhdGhTcGFjZUlub2RlIGluIEJCRGlycy5zcGxpdCgpOgogICAgICAgICAjIFRoZSBpbnB1dCBmb3JtYXQgaXM6ICJkaXIsc3BhY2UsaW5vZGUiLCBkaXIgaXMgYSBtdXN0LCBzcGFjZQogICAgICAgICAjIGFuZCBpbm9kZSBhcmUgb3B0aW9uYWwKLSAgICAgICAgcGF0aFNwYWNlSW5vZGVSZSA9IHJlLm1hdGNoKCcoW14sXSopLChbXixdKiksKFteLF0qKSw/KC4qKScsIHBhdGhTcGFjZUlub2RlKQorICAgICAgICBwYXRoU3BhY2VJbm9kZVJlID0gcmUubWF0Y2gocicoW14sXSopLChbXixdKiksKFteLF0qKSw/KC4qKScsIHBhdGhTcGFjZUlub2RlKQogICAgICAgICBpZiBub3QgcGF0aFNwYWNlSW5vZGVSZToKICAgICAgICAgICAgIHByaW50RXJyKCJJbnZhbGlkIHZhbHVlIGluIEJCX0RJU0tNT05fRElSUzogJXMiICUgcGF0aFNwYWNlSW5vZGUpCiAgICAgICAgICAgICByZXR1cm4gTm9uZQpAQCAtMTQ3LDcgKzE0Nyw3IEBACiAgICAgZWxzZToKICAgICAgICAgIyBUaGUgZGlzayBzcGFjZSBvciBpbm9kZSBpbnRlcnZhbCBpcyBvcHRpb25hbCwgYnV0IGl0IHNob3VsZAogICAgICAgICAjIGhhdmUgYSBjb3JyZWN0IHZhbHVlIG9uY2UgaXQgaXMgc3BlY2lmaWVkCi0gICAgICAgIGludGVydmFsUmUgPSByZS5tYXRjaCgnKFteLF0qKSw/XHMqKC4qKScsIGludGVydmFsKQorICAgICAgICBpbnRlcnZhbFJlID0gcmUubWF0Y2gocicoW14sXSopLD9ccyooLiopJywgaW50ZXJ2YWwpCiAgICAgICAgIGlmIGludGVydmFsUmU6CiAgICAgICAgICAgICBpbnRlcnZhbFNwYWNlID0gaW50ZXJ2YWxSZS5ncm91cCgxKQogICAgICAgICAgICAgaWYgaW50ZXJ2YWxTcGFjZToKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvcGFyc2UvYXN0LnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi9wYXJzZS9hc3QucHkKaW5kZXggOWQyMGMzMi4uNmQ3YzgwYiAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9wYXJzZS9hc3QucHkKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9iYi9wYXJzZS9hc3QucHkKQEAgLTE3OCw3ICsxNzgsNyBAQAogICAgICAgICAgICAgZnVuY25hbWUgPSAoIl9fYW5vbl8lc18lcyIgJSAoc2VsZi5saW5lbm8sIHNlbGYuZmlsZW5hbWUudHJhbnNsYXRlKE1ldGhvZE5vZGUudHJfdGJsKSkpCiAgICAgICAgICAgICBzZWxmLnB5dGhvbiA9IFRydWUKICAgICAgICAgICAgIHRleHQgPSAiZGVmICVzKGQpOlxuIiAlIChmdW5jbmFtZSkgKyB0ZXh0Ci0gICAgICAgICAgICBiYi5tZXRob2Rwb29sLmluc2VydF9tZXRob2QoZnVuY25hbWUsIHRleHQsIHNlbGYuZmlsZW5hbWUsIHNlbGYubGluZW5vIC0gbGVuKHNlbGYuYm9keSkpCisgICAgICAgICAgICBiYi5tZXRob2Rwb29sLmluc2VydF9tZXRob2QoZnVuY25hbWUsIHRleHQsIHNlbGYuZmlsZW5hbWUsIHNlbGYubGluZW5vIC0gbGVuKHNlbGYuYm9keSkgLSAxKQogICAgICAgICAgICAgYW5vbmZ1bmNzID0gZGF0YS5nZXRWYXIoJ19fQkJBTk9ORlVOQ1MnLCBGYWxzZSkgb3IgW10KICAgICAgICAgICAgIGFub25mdW5jcy5hcHBlbmQoZnVuY25hbWUpCiAgICAgICAgICAgICBkYXRhLnNldFZhcignX19CQkFOT05GVU5DUycsIGFub25mdW5jcykKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvcGFyc2UvcGFyc2VfcHkvQkJIYW5kbGVyLnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi9wYXJzZS9wYXJzZV9weS9CQkhhbmRsZXIucHkKaW5kZXggZTUwMzllMy4uOWRiYTVmMiAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9wYXJzZS9wYXJzZV9weS9CQkhhbmRsZXIucHkKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9iYi9wYXJzZS9wYXJzZV9weS9CQkhhbmRsZXIucHkKQEAgLTM4LDE0ICszOCwxNSBAQAogIyBGb3IgY29tcGF0aWJpbGl0eQogYmIuZGVwcmVjYXRlX2ltcG9ydChfX25hbWVfXywgImJiLnBhcnNlIiwgWyJ2YXJzX2Zyb21fZmlsZSJdKQogCi1fX2Z1bmNfc3RhcnRfcmVnZXhwX18gICAgPSByZS5jb21waWxlKCByIigoKD9QPHB5PnB5dGhvbil8KD9QPGZyPmZha2Vyb290KSlccyopKig/UDxmdW5jPltcd1wuXC1cK1x7XH1cJF0rKT9ccypcKFxzKlwpXHMqeyQiICkKLV9faW5oZXJpdF9yZWdleHBfXyAgICAgICA9IHJlLmNvbXBpbGUoIHIiaW5oZXJpdFxzKyguKykiICkKLV9fZXhwb3J0X2Z1bmNfcmVnZXhwX18gICA9IHJlLmNvbXBpbGUoIHIiRVhQT1JUX0ZVTkNUSU9OU1xzKyguKykiICkKLV9fYWRkdGFza19yZWdleHBfXyAgICAgICA9IHJlLmNvbXBpbGUoImFkZHRhc2tccysoP1A8ZnVuYz5cdyspXHMqKChiZWZvcmVccyooP1A8YmVmb3JlPigoLiooPz1hZnRlcikpfCguKikpKSl8KGFmdGVyXHMqKD9QPGFmdGVyPigoLiooPz1iZWZvcmUpKXwoLiopKSkpKSoiKQotX19kZWx0YXNrX3JlZ2V4cF9fICAgICAgID0gcmUuY29tcGlsZSgiZGVsdGFza1xzKyg/UDxmdW5jPlx3KykiKQotX19hZGRoYW5kbGVyX3JlZ2V4cF9fICAgID0gcmUuY29tcGlsZSggciJhZGRoYW5kbGVyXHMrKC4rKSIgKQotX19kZWZfcmVnZXhwX18gICAgICAgICAgID0gcmUuY29tcGlsZSggciJkZWZccysoXHcrKS4qOiIgKQotX19weXRob25fZnVuY19yZWdleHBfXyAgID0gcmUuY29tcGlsZSggciIoXHMrLiopfCheJCkiICkKK19fZnVuY19zdGFydF9yZWdleHBfXyAgICA9IHJlLmNvbXBpbGUociIoKCg/UDxweT5weXRob24pfCg/UDxmcj5mYWtlcm9vdCkpXHMqKSooP1A8ZnVuYz5bXHdcLlwtXCtce1x9XCRdKyk/XHMqXChccypcKVxzKnskIiApCitfX2luaGVyaXRfcmVnZXhwX18gICAgICAgPSByZS5jb21waWxlKHIiaW5oZXJpdFxzKyguKykiICkKK19fZXhwb3J0X2Z1bmNfcmVnZXhwX18gICA9IHJlLmNvbXBpbGUociJFWFBPUlRfRlVOQ1RJT05TXHMrKC4rKSIgKQorX19hZGR0YXNrX3JlZ2V4cF9fICAgICAgID0gcmUuY29tcGlsZShyImFkZHRhc2tccysoP1A8ZnVuYz5cdyspXHMqKChiZWZvcmVccyooP1A8YmVmb3JlPigoLiooPz1hZnRlcikpfCguKikpKSl8KGFmdGVyXHMqKD9QPGFmdGVyPigoLiooPz1iZWZvcmUpKXwoLiopKSkpKSoiKQorX19kZWx0YXNrX3JlZ2V4cF9fICAgICAgID0gcmUuY29tcGlsZShyImRlbHRhc2tccysoP1A8ZnVuYz5cdyspIikKK19fYWRkaGFuZGxlcl9yZWdleHBfXyAgICA9IHJlLmNvbXBpbGUociJhZGRoYW5kbGVyXHMrKC4rKSIgKQorX19kZWZfcmVnZXhwX18gICAgICAgICAgID0gcmUuY29tcGlsZShyImRlZlxzKyhcdyspLio6IiApCitfX3B5dGhvbl9mdW5jX3JlZ2V4cF9fICAgPSByZS5jb21waWxlKHIiKFxzKy4qKXwoXiQpfCheIykiICkKK19fcHl0aG9uX3RhYl9yZWdleHBfXyAgICA9IHJlLmNvbXBpbGUociIgKlx0IikKIAogX19pbmZ1bmNfXyA9IFtdCiBfX2lucHl0aG9uX18gPSBGYWxzZQpAQCAtMTYwLDYgKzE2MSwxNiBAQAogCiBkZWYgZmVlZGVyKGxpbmVubywgcywgZm4sIHJvb3QsIHN0YXRlbWVudHMsIGVvZj1GYWxzZSk6CiAgICAgZ2xvYmFsIF9fZnVuY19zdGFydF9yZWdleHBfXywgX19pbmhlcml0X3JlZ2V4cF9fLCBfX2V4cG9ydF9mdW5jX3JlZ2V4cF9fLCBfX2FkZHRhc2tfcmVnZXhwX18sIF9fYWRkaGFuZGxlcl9yZWdleHBfXywgX19kZWZfcmVnZXhwX18sIF9fcHl0aG9uX2Z1bmNfcmVnZXhwX18sIF9faW5weXRob25fXywgX19pbmZ1bmNfXywgX19ib2R5X18sIGJiLCBfX3Jlc2lkdWVfXywgX19jbGFzc25hbWVfXworCisgICAgIyBDaGVjayB0YWJzIGluIHB5dGhvbiBmdW5jdGlvbnM6CisgICAgIyAtIGRlZiBweV9mdW5jbmFtZSgpOiBjb3ZlcmVkIGJ5IF9faW5weXRob25fXworICAgICMgLSBweXRob24oKTogY292ZXJlZCBieSAnX19hbm9ueW1vdXMnID09IF9faW5mdW5jX19bMF0KKyAgICAjIC0gcHl0aG9uIGZ1bmNuYW1lKCk6IGNvdmVyZWQgYnkgX19pbmZ1bmNfX1szXQorICAgIGlmIF9faW5weXRob25fXyBvciAoX19pbmZ1bmNfXyBhbmQgKCdfX2Fub255bW91cycgPT0gX19pbmZ1bmNfX1swXSBvciBfX2luZnVuY19fWzNdKSk6CisgICAgICAgIHRhYiA9IF9fcHl0aG9uX3RhYl9yZWdleHBfXy5tYXRjaChzKQorICAgICAgICBpZiB0YWI6CisgICAgICAgICAgICBiYi53YXJuKCdweXRob24gc2hvdWxkIHVzZSA0IHNwYWNlcyBpbmRlbnRhdGlvbiwgYnV0IGZvdW5kIHRhYnMgaW4gJXMsIGxpbmUgJXMnICUgKHJvb3QsIGxpbmVubykpCisKICAgICBpZiBfX2luZnVuY19fOgogICAgICAgICBpZiBzID09ICd9JzoKICAgICAgICAgICAgIF9fYm9keV9fLmFwcGVuZCgnJykKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvcGFyc2UvcGFyc2VfcHkvQ29uZkhhbmRsZXIucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL3BhcnNlL3BhcnNlX3B5L0NvbmZIYW5kbGVyLnB5CmluZGV4IDlkM2ViZTEuLmVhNDlmOGMgMTAwNjQ0Ci0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvcGFyc2UvcGFyc2VfcHkvQ29uZkhhbmRsZXIucHkKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9iYi9wYXJzZS9wYXJzZV9weS9Db25mSGFuZGxlci5weQpAQCAtMTQ3LDcgKzE0Nyw3IEBACiAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICBzID0gcy5yc3RyaXAoKQogICAgICAgICB3aGlsZSBzWy0xXSA9PSAnXFwnOgotICAgICAgICAgICAgczIgPSBmLnJlYWRsaW5lKCkuc3RyaXAoKQorICAgICAgICAgICAgczIgPSBmLnJlYWRsaW5lKCkucnN0cmlwKCkKICAgICAgICAgICAgIGxpbmVubyA9IGxpbmVubyArIDEKICAgICAgICAgICAgIGlmIChub3QgczIgb3IgczIgYW5kIHMyWzBdICE9ICIjIikgYW5kIHNbMF0gPT0gIiMiIDoKICAgICAgICAgICAgICAgICBiYi5mYXRhbCgiVGhlcmUgaXMgYSBjb25mdXNpbmcgbXVsdGlsaW5lLCBwYXJ0aWFsbHkgY29tbWVudGVkIGV4cHJlc3Npb24gb24gbGluZSAlcyBvZiBmaWxlICVzICglcykuXG5QbGVhc2UgY2xhcmlmeSB3aGV0aGVyIHRoaXMgaXMgYWxsIGEgY29tbWVudCBvciBzaG91bGQgYmUgcGFyc2VkLiIgJSAobGluZW5vLCBmbiwgcykpCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL3BlcnNpc3RfZGF0YS5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvcGVyc2lzdF9kYXRhLnB5CmluZGV4IGJlZjcwMTguLjBkNDQxMDAgMTAwNjQ0Ci0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvcGVyc2lzdF9kYXRhLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvcGVyc2lzdF9kYXRhLnB5CkBAIC0yOSw2ICsyOSw3IEBACiBmcm9tIGJiLmNvbXBhdCBpbXBvcnQgdG90YWxfb3JkZXJpbmcKIGZyb20gY29sbGVjdGlvbnMgaW1wb3J0IE1hcHBpbmcKIGltcG9ydCBzcWxpdGUzCitpbXBvcnQgY29udGV4dGxpYgogCiBzcWx2ZXJzaW9uID0gc3FsaXRlMy5zcWxpdGVfdmVyc2lvbl9pbmZvCiBpZiBzcWx2ZXJzaW9uWzBdIDwgMyBvciAoc3FsdmVyc2lvblswXSA9PSAzIGFuZCBzcWx2ZXJzaW9uWzFdIDwgMyk6CkBAIC0zNiw4NCArMzcsMTgxIEBACiAKIAogbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoIkJpdEJha2UuUGVyc2lzdERhdGEiKQotaWYgaGFzYXR0cihzcWxpdGUzLCAnZW5hYmxlX3NoYXJlZF9jYWNoZScpOgotICAgIHRyeToKLSAgICAgICAgc3FsaXRlMy5lbmFibGVfc2hhcmVkX2NhY2hlKFRydWUpCi0gICAgZXhjZXB0IHNxbGl0ZTMuT3BlcmF0aW9uYWxFcnJvcjoKLSAgICAgICAgcGFzcwotCiAKIEB0b3RhbF9vcmRlcmluZwogY2xhc3MgU1FMVGFibGUoY29sbGVjdGlvbnMuTXV0YWJsZU1hcHBpbmcpOgorICAgIGNsYXNzIF9EZWNvcmF0b3JzKG9iamVjdCk6CisgICAgICAgIEBzdGF0aWNtZXRob2QKKyAgICAgICAgZGVmIHJldHJ5KCosIHJlY29ubmVjdD1UcnVlKToKKyAgICAgICAgICAgICIiIgorICAgICAgICAgICAgRGVjb3JhdG9yIHRoYXQgcmVzdGFydHMgYSBmdW5jdGlvbiBpZiBhIGRhdGFiYXNlIGxvY2tlZCBzcWxpdGUKKyAgICAgICAgICAgIGV4Y2VwdGlvbiBvY2N1cnMuIElmIHJlY29ubmVjdCBpcyBUcnVlLCB0aGUgZGF0YWJhc2UgY29ubmVjdGlvbgorICAgICAgICAgICAgd2lsbCBiZSBjbG9zZWQgYW5kIHJlb3BlbmVkIGVhY2ggdGltZSBhIGZhaWx1cmUgb2NjdXJzCisgICAgICAgICAgICAiIiIKKyAgICAgICAgICAgIGRlZiByZXRyeV93cmFwcGVyKGYpOgorICAgICAgICAgICAgICAgIGRlZiB3cmFwX2Z1bmMoc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgICAgICAgICAgICAgIyBSZWNvbm5lY3QgaWYgbmVjZXNzYXJ5CisgICAgICAgICAgICAgICAgICAgIGlmIHNlbGYuY29ubmVjdGlvbiBpcyBOb25lIGFuZCByZWNvbm5lY3Q6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnJlY29ubmVjdCgpCisKKyAgICAgICAgICAgICAgICAgICAgY291bnQgPSAwCisgICAgICAgICAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGYoc2VsZiwgKmFyZ3MsICoqa3dhcmdzKQorICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0IHNxbGl0ZTMuT3BlcmF0aW9uYWxFcnJvciBhcyBleGM6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgY291bnQgPCA1MDAgYW5kICgnaXMgbG9ja2VkJyBpbiBzdHIoZXhjKSBvciAnbG9ja2luZyBwcm90b2NvbCcgaW4gc3RyKGV4YykpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3VudCA9IGNvdW50ICsgMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiByZWNvbm5lY3Q6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnJlY29ubmVjdCgpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgICAgICAgICByZXR1cm4gd3JhcF9mdW5jCisgICAgICAgICAgICByZXR1cm4gcmV0cnlfd3JhcHBlcgorCisgICAgICAgIEBzdGF0aWNtZXRob2QKKyAgICAgICAgZGVmIHRyYW5zYWN0aW9uKGYpOgorICAgICAgICAgICAgIiIiCisgICAgICAgICAgICBEZWNvcmF0b3IgdGhhdCBzdGFydHMgYSBkYXRhYmFzZSB0cmFuc2FjdGlvbiBhbmQgY3JlYXRlcyBhIGRhdGFiYXNlCisgICAgICAgICAgICBjdXJzb3IgZm9yIHBlcmZvcm1pbmcgcXVlcmllcy4gSWYgbm8gZXhjZXB0aW9uIGlzIHRocm93biwgdGhlCisgICAgICAgICAgICBkYXRhYmFzZSByZXN1bHRzIGFyZSBjb21taXRlZC4gSWYgYW4gZXhjZXB0aW9uIG9jY3VycywgdGhlIGRhdGFiYXNlCisgICAgICAgICAgICBpcyByb2xsZWQgYmFjay4gSW4gYWxsIGNhc2VzLCB0aGUgY3Vyc29yIGlzIGNsb3NlZCBhZnRlciB0aGUKKyAgICAgICAgICAgIGZ1bmN0aW9uIGVuZHMuCisKKyAgICAgICAgICAgIE5vdGUgdGhhdCB0aGUgY3Vyc29yIGlzIHBhc3NlZCBhcyBhbiBleHRyYSBhcmd1bWVudCB0byB0aGUgZnVuY3Rpb24KKyAgICAgICAgICAgIGFmdGVyIGBzZWxmYCBhbmQgYmVmb3JlIGFueSBvZiB0aGUgbm9ybWFsIGFyZ3VtZW50cworICAgICAgICAgICAgIiIiCisgICAgICAgICAgICBkZWYgd3JhcF9mdW5jKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgICAgICAgICAgIyBDb250ZXh0IG1hbmFnZXIgd2lsbCBDT01NSVQgdGhlIGRhdGFiYXNlIG9uIHN1Y2Nlc3MsCisgICAgICAgICAgICAgICAgIyBvciBST0xMQkFDSyBvbiBhbiBleGNlcHRpb24KKyAgICAgICAgICAgICAgICB3aXRoIHNlbGYuY29ubmVjdGlvbjoKKyAgICAgICAgICAgICAgICAgICAgIyBBdXRvbWF0aWNhbGx5IGNsb3NlIHRoZSBjdXJzb3Igd2hlbiBkb25lCisgICAgICAgICAgICAgICAgICAgIHdpdGggY29udGV4dGxpYi5jbG9zaW5nKHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKSkgYXMgY3Vyc29yOgorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGYoc2VsZiwgY3Vyc29yLCAqYXJncywgKiprd2FyZ3MpCisgICAgICAgICAgICByZXR1cm4gd3JhcF9mdW5jCisKICAgICAiIiJPYmplY3QgcmVwcmVzZW50aW5nIGEgdGFibGUvZG9tYWluIGluIHRoZSBkYXRhYmFzZSIiIgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjYWNoZWZpbGUsIHRhYmxlKToKICAgICAgICAgc2VsZi5jYWNoZWZpbGUgPSBjYWNoZWZpbGUKICAgICAgICAgc2VsZi50YWJsZSA9IHRhYmxlCi0gICAgICAgIHNlbGYuY3Vyc29yID0gY29ubmVjdChzZWxmLmNhY2hlZmlsZSkKIAotICAgICAgICBzZWxmLl9leGVjdXRlKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyAlcyhrZXkgVEVYVCwgdmFsdWUgVEVYVCk7IgotICAgICAgICAgICAgICAgICAgICAgICUgdGFibGUpCisgICAgICAgIHNlbGYuY29ubmVjdGlvbiA9IE5vbmUKKyAgICAgICAgc2VsZi5fZXhlY3V0ZV9zaW5nbGUoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTICVzKGtleSBURVhUIFBSSU1BUlkgS0VZIE5PVCBOVUxMLCB2YWx1ZSBURVhUKTsiICUgdGFibGUpCiAKLSAgICBkZWYgX2V4ZWN1dGUoc2VsZiwgKnF1ZXJ5KToKLSAgICAgICAgIiIiRXhlY3V0ZSBhIHF1ZXJ5LCB3YWl0aW5nIHRvIGFjcXVpcmUgYSBsb2NrIGlmIG5lY2Vzc2FyeSIiIgotICAgICAgICBjb3VudCA9IDAKLSAgICAgICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5jdXJzb3IuZXhlY3V0ZSgqcXVlcnkpCi0gICAgICAgICAgICBleGNlcHQgc3FsaXRlMy5PcGVyYXRpb25hbEVycm9yIGFzIGV4YzoKLSAgICAgICAgICAgICAgICBpZiAnZGF0YWJhc2UgaXMgbG9ja2VkJyBpbiBzdHIoZXhjKSBhbmQgY291bnQgPCA1MDA6Ci0gICAgICAgICAgICAgICAgICAgIGNvdW50ID0gY291bnQgKyAxCisgICAgQF9EZWNvcmF0b3JzLnJldHJ5KHJlY29ubmVjdD1GYWxzZSkKKyAgICBAX0RlY29yYXRvcnMudHJhbnNhY3Rpb24KKyAgICBkZWYgX3NldHVwX2RhdGFiYXNlKHNlbGYsIGN1cnNvcik6CisgICAgICAgIGN1cnNvci5leGVjdXRlKCJwcmFnbWEgc3luY2hyb25vdXMgPSBvZmY7IikKKyAgICAgICAgIyBFbmFibGUgV0FMIGFuZCBrZWVwIHRoZSBhdXRvY2hlY2twb2ludCBsZW5ndGggc21hbGwgKHRoZSBkZWZhdWx0IGlzCisgICAgICAgICMgdXN1YWxseSAxMDAwKS4gUGVyc2lzdGVudCBjYWNoZXMgYXJlIHVzdWFsbHkgcmVhZC1tb3N0bHksIHNvIGtlZXBpbmcKKyAgICAgICAgIyB0aGlzIHNob3J0IHdpbGwga2VlcCByZWFkZXJzIHJ1bm5pbmcgcXVpY2tseQorICAgICAgICBjdXJzb3IuZXhlY3V0ZSgicHJhZ21hIGpvdXJuYWxfbW9kZSA9IFdBTDsiKQorICAgICAgICBjdXJzb3IuZXhlY3V0ZSgicHJhZ21hIHdhbF9hdXRvY2hlY2twb2ludCA9IDEwMDsiKQorCisgICAgZGVmIHJlY29ubmVjdChzZWxmKToKKyAgICAgICAgaWYgc2VsZi5jb25uZWN0aW9uIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc2VsZi5jb25uZWN0aW9uLmNsb3NlKCkKKyAgICAgICAgc2VsZi5jb25uZWN0aW9uID0gc3FsaXRlMy5jb25uZWN0KHNlbGYuY2FjaGVmaWxlLCB0aW1lb3V0PTUpCisgICAgICAgIHNlbGYuY29ubmVjdGlvbi50ZXh0X2ZhY3RvcnkgPSBzdHIKKyAgICAgICAgc2VsZi5fc2V0dXBfZGF0YWJhc2UoKQorCisgICAgQF9EZWNvcmF0b3JzLnJldHJ5KCkKKyAgICBAX0RlY29yYXRvcnMudHJhbnNhY3Rpb24KKyAgICBkZWYgX2V4ZWN1dGVfc2luZ2xlKHNlbGYsIGN1cnNvciwgKnF1ZXJ5KToKKyAgICAgICAgIiIiCisgICAgICAgIEV4ZWN1dGVzIGEgc2luZ2xlIHF1ZXJ5IGFuZCBkaXNjYXJkcyB0aGUgcmVzdWx0cy4gVGhpcyBjb3JyZWN0bHkgY2xvc2VzCisgICAgICAgIHRoZSBkYXRhYmFzZSBjdXJzb3Igd2hlbiBmaW5pc2hlZAorICAgICAgICAiIiIKKyAgICAgICAgY3Vyc29yLmV4ZWN1dGUoKnF1ZXJ5KQorCisgICAgQF9EZWNvcmF0b3JzLnJldHJ5KCkKKyAgICBkZWYgX3Jvd19pdGVyKHNlbGYsIGYsICpxdWVyeSk6CisgICAgICAgICIiIgorICAgICAgICBIZWxwZXIgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgcm93IGl0ZXJhdG9yLiBFYWNoIHRpbWUgX19uZXh0X18gaXMKKyAgICAgICAgY2FsbGVkIG9uIHRoZSBpdGVyYXRvciwgdGhlIHByb3ZpZGVkIGZ1bmN0aW9uIGlzIGV2YWx1YXRlZCB0byBkZXRlcm1pbmUKKyAgICAgICAgdGhlIHJldHVybiB2YWx1ZQorICAgICAgICAiIiIKKyAgICAgICAgY2xhc3MgQ3Vyc29ySXRlcihvYmplY3QpOgorICAgICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGN1cnNvcik6CisgICAgICAgICAgICAgICAgc2VsZi5jdXJzb3IgPSBjdXJzb3IKKworICAgICAgICAgICAgZGVmIF9faXRlcl9fKHNlbGYpOgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmCisKKyAgICAgICAgICAgIGRlZiBfX25leHRfXyhzZWxmKToKKyAgICAgICAgICAgICAgICByb3cgPSBzZWxmLmN1cnNvci5mZXRjaG9uZSgpCisgICAgICAgICAgICAgICAgaWYgcm93IGlzIE5vbmU6CiAgICAgICAgICAgICAgICAgICAgIHNlbGYuY3Vyc29yLmNsb3NlKCkKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5jdXJzb3IgPSBjb25uZWN0KHNlbGYuY2FjaGVmaWxlKQotICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICAgICAgICAgIHJhaXNlIFN0b3BJdGVyYXRpb24KKyAgICAgICAgICAgICAgICByZXR1cm4gZihyb3cpCisKKyAgICAgICAgICAgIGRlZiBfX2VudGVyX18oc2VsZik6CisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYKKworICAgICAgICAgICAgZGVmIF9fZXhpdF9fKHNlbGYsIHR5cCwgdmFsdWUsIHRyYWNlYmFjayk6CisgICAgICAgICAgICAgICAgc2VsZi5jdXJzb3IuY2xvc2UoKQorICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQorCisgICAgICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBjdXJzb3IuZXhlY3V0ZSgqcXVlcnkpCisgICAgICAgICAgICByZXR1cm4gQ3Vyc29ySXRlcihjdXJzb3IpCisgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgIGN1cnNvci5jbG9zZSgpCiAKICAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgotICAgICAgICBzZWxmLmN1cnNvci5fX2VudGVyX18oKQorICAgICAgICBzZWxmLmNvbm5lY3Rpb24uX19lbnRlcl9fKCkKICAgICAgICAgcmV0dXJuIHNlbGYKIAogICAgIGRlZiBfX2V4aXRfXyhzZWxmLCAqZXhjaW5mbyk6Ci0gICAgICAgIHNlbGYuY3Vyc29yLl9fZXhpdF9fKCpleGNpbmZvKQorICAgICAgICBzZWxmLmNvbm5lY3Rpb24uX19leGl0X18oKmV4Y2luZm8pCiAKLSAgICBkZWYgX19nZXRpdGVtX18oc2VsZiwga2V5KToKLSAgICAgICAgZGF0YSA9IHNlbGYuX2V4ZWN1dGUoIlNFTEVDVCAqIGZyb20gJXMgd2hlcmUga2V5PT87IiAlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudGFibGUsIFtrZXldKQotICAgICAgICBmb3Igcm93IGluIGRhdGE6CisgICAgQF9EZWNvcmF0b3JzLnJldHJ5KCkKKyAgICBAX0RlY29yYXRvcnMudHJhbnNhY3Rpb24KKyAgICBkZWYgX19nZXRpdGVtX18oc2VsZiwgY3Vyc29yLCBrZXkpOgorICAgICAgICBjdXJzb3IuZXhlY3V0ZSgiU0VMRUNUICogZnJvbSAlcyB3aGVyZSBrZXk9PzsiICUgc2VsZi50YWJsZSwgW2tleV0pCisgICAgICAgIHJvdyA9IGN1cnNvci5mZXRjaG9uZSgpCisgICAgICAgIGlmIHJvdyBpcyBub3QgTm9uZToKICAgICAgICAgICAgIHJldHVybiByb3dbMV0KICAgICAgICAgcmFpc2UgS2V5RXJyb3Ioa2V5KQogCi0gICAgZGVmIF9fZGVsaXRlbV9fKHNlbGYsIGtleSk6CisgICAgQF9EZWNvcmF0b3JzLnJldHJ5KCkKKyAgICBAX0RlY29yYXRvcnMudHJhbnNhY3Rpb24KKyAgICBkZWYgX19kZWxpdGVtX18oc2VsZiwgY3Vyc29yLCBrZXkpOgogICAgICAgICBpZiBrZXkgbm90IGluIHNlbGY6CiAgICAgICAgICAgICByYWlzZSBLZXlFcnJvcihrZXkpCi0gICAgICAgIHNlbGYuX2V4ZWN1dGUoIkRFTEVURSBmcm9tICVzIHdoZXJlIGtleT0/OyIgJSBzZWxmLnRhYmxlLCBba2V5XSkKKyAgICAgICAgY3Vyc29yLmV4ZWN1dGUoIkRFTEVURSBmcm9tICVzIHdoZXJlIGtleT0/OyIgJSBzZWxmLnRhYmxlLCBba2V5XSkKIAotICAgIGRlZiBfX3NldGl0ZW1fXyhzZWxmLCBrZXksIHZhbHVlKToKKyAgICBAX0RlY29yYXRvcnMucmV0cnkoKQorICAgIEBfRGVjb3JhdG9ycy50cmFuc2FjdGlvbgorICAgIGRlZiBfX3NldGl0ZW1fXyhzZWxmLCBjdXJzb3IsIGtleSwgdmFsdWUpOgogICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShrZXksIHN0cik6CiAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoJ09ubHkgc3RyaW5nIGtleXMgYXJlIHN1cHBvcnRlZCcpCiAgICAgICAgIGVsaWYgbm90IGlzaW5zdGFuY2UodmFsdWUsIHN0cik6CiAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoJ09ubHkgc3RyaW5nIHZhbHVlcyBhcmUgc3VwcG9ydGVkJykKIAotICAgICAgICBkYXRhID0gc2VsZi5fZXhlY3V0ZSgiU0VMRUNUICogZnJvbSAlcyB3aGVyZSBrZXk9PzsiICUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi50YWJsZSwgW2tleV0pCi0gICAgICAgIGV4aXN0cyA9IGxlbihsaXN0KGRhdGEpKQotICAgICAgICBpZiBleGlzdHM6Ci0gICAgICAgICAgICBzZWxmLl9leGVjdXRlKCJVUERBVEUgJXMgU0VUIHZhbHVlPT8gV0hFUkUga2V5PT87IiAlIHNlbGYudGFibGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZSwga2V5XSkKKyAgICAgICAgY3Vyc29yLmV4ZWN1dGUoIlNFTEVDVCAqIGZyb20gJXMgd2hlcmUga2V5PT87IiAlIHNlbGYudGFibGUsIFtrZXldKQorICAgICAgICByb3cgPSBjdXJzb3IuZmV0Y2hvbmUoKQorICAgICAgICBpZiByb3cgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBjdXJzb3IuZXhlY3V0ZSgiVVBEQVRFICVzIFNFVCB2YWx1ZT0/IFdIRVJFIGtleT0/OyIgJSBzZWxmLnRhYmxlLCBbdmFsdWUsIGtleV0pCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLl9leGVjdXRlKCJJTlNFUlQgaW50byAlcyhrZXksIHZhbHVlKSB2YWx1ZXMgKD8sID8pOyIgJQotICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnRhYmxlLCBba2V5LCB2YWx1ZV0pCisgICAgICAgICAgICBjdXJzb3IuZXhlY3V0ZSgiSU5TRVJUIGludG8gJXMoa2V5LCB2YWx1ZSkgdmFsdWVzICg/LCA/KTsiICUgc2VsZi50YWJsZSwgW2tleSwgdmFsdWVdKQogCi0gICAgZGVmIF9fY29udGFpbnNfXyhzZWxmLCBrZXkpOgotICAgICAgICByZXR1cm4ga2V5IGluIHNldChzZWxmKQorICAgIEBfRGVjb3JhdG9ycy5yZXRyeSgpCisgICAgQF9EZWNvcmF0b3JzLnRyYW5zYWN0aW9uCisgICAgZGVmIF9fY29udGFpbnNfXyhzZWxmLCBjdXJzb3IsIGtleSk6CisgICAgICAgIGN1cnNvci5leGVjdXRlKCdTRUxFQ1QgKiBmcm9tICVzIHdoZXJlIGtleT0/OycgJSBzZWxmLnRhYmxlLCBba2V5XSkKKyAgICAgICAgcmV0dXJuIGN1cnNvci5mZXRjaG9uZSgpIGlzIG5vdCBOb25lCiAKLSAgICBkZWYgX19sZW5fXyhzZWxmKToKLSAgICAgICAgZGF0YSA9IHNlbGYuX2V4ZWN1dGUoIlNFTEVDVCBDT1VOVChrZXkpIEZST00gJXM7IiAlIHNlbGYudGFibGUpCi0gICAgICAgIGZvciByb3cgaW4gZGF0YToKKyAgICBAX0RlY29yYXRvcnMucmV0cnkoKQorICAgIEBfRGVjb3JhdG9ycy50cmFuc2FjdGlvbgorICAgIGRlZiBfX2xlbl9fKHNlbGYsIGN1cnNvcik6CisgICAgICAgIGN1cnNvci5leGVjdXRlKCJTRUxFQ1QgQ09VTlQoa2V5KSBGUk9NICVzOyIgJSBzZWxmLnRhYmxlKQorICAgICAgICByb3cgPSBjdXJzb3IuZmV0Y2hvbmUoKQorICAgICAgICBpZiByb3cgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICByZXR1cm4gcm93WzBdCiAKICAgICBkZWYgX19pdGVyX18oc2VsZik6Ci0gICAgICAgIGRhdGEgPSBzZWxmLl9leGVjdXRlKCJTRUxFQ1Qga2V5IEZST00gJXM7IiAlIHNlbGYudGFibGUpCi0gICAgICAgIHJldHVybiAocm93WzBdIGZvciByb3cgaW4gZGF0YSkKKyAgICAgICAgcmV0dXJuIHNlbGYuX3Jvd19pdGVyKGxhbWJkYSByb3c6IHJvd1swXSwgIlNFTEVDVCBrZXkgZnJvbSAlczsiICUgc2VsZi50YWJsZSkKIAogICAgIGRlZiBfX2x0X18oc2VsZiwgb3RoZXIpOgogICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShvdGhlciwgTWFwcGluZyk6CkBAIC0xMjIsMjUgKzIyMCwyNyBAQAogICAgICAgICByZXR1cm4gbGVuKHNlbGYpIDwgbGVuKG90aGVyKQogCiAgICAgZGVmIGdldF9ieV9wYXR0ZXJuKHNlbGYsIHBhdHRlcm4pOgotICAgICAgICBkYXRhID0gc2VsZi5fZXhlY3V0ZSgiU0VMRUNUICogRlJPTSAlcyBXSEVSRSBrZXkgTElLRSA/OyIgJQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnRhYmxlLCBbcGF0dGVybl0pCi0gICAgICAgIHJldHVybiBbcm93WzFdIGZvciByb3cgaW4gZGF0YV0KKyAgICAgICAgcmV0dXJuIHNlbGYuX3Jvd19pdGVyKGxhbWJkYSByb3c6IHJvd1sxXSwgIlNFTEVDVCAqIEZST00gJXMgV0hFUkUga2V5IExJS0UgPzsiICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudGFibGUsIFtwYXR0ZXJuXSkKIAogICAgIGRlZiB2YWx1ZXMoc2VsZik6CiAgICAgICAgIHJldHVybiBsaXN0KHNlbGYuaXRlcnZhbHVlcygpKQogCiAgICAgZGVmIGl0ZXJ2YWx1ZXMoc2VsZik6Ci0gICAgICAgIGRhdGEgPSBzZWxmLl9leGVjdXRlKCJTRUxFQ1QgdmFsdWUgRlJPTSAlczsiICUgc2VsZi50YWJsZSkKLSAgICAgICAgcmV0dXJuIChyb3dbMF0gZm9yIHJvdyBpbiBkYXRhKQorICAgICAgICByZXR1cm4gc2VsZi5fcm93X2l0ZXIobGFtYmRhIHJvdzogcm93WzBdLCAiU0VMRUNUIHZhbHVlIEZST00gJXM7IiAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnRhYmxlKQogCiAgICAgZGVmIGl0ZW1zKHNlbGYpOgogICAgICAgICByZXR1cm4gbGlzdChzZWxmLml0ZXJpdGVtcygpKQogCiAgICAgZGVmIGl0ZXJpdGVtcyhzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYuX2V4ZWN1dGUoIlNFTEVDVCAqIEZST00gJXM7IiAlIHNlbGYudGFibGUpCisgICAgICAgIHJldHVybiBzZWxmLl9yb3dfaXRlcihsYW1iZGEgcm93OiAocm93WzBdLCByb3dbMV0pLCAiU0VMRUNUICogRlJPTSAlczsiICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudGFibGUpCiAKLSAgICBkZWYgY2xlYXIoc2VsZik6Ci0gICAgICAgIHNlbGYuX2V4ZWN1dGUoIkRFTEVURSBGUk9NICVzOyIgJSBzZWxmLnRhYmxlKQorICAgIEBfRGVjb3JhdG9ycy5yZXRyeSgpCisgICAgQF9EZWNvcmF0b3JzLnRyYW5zYWN0aW9uCisgICAgZGVmIGNsZWFyKHNlbGYsIGN1cnNvcik6CisgICAgICAgIGN1cnNvci5leGVjdXRlKCJERUxFVEUgRlJPTSAlczsiICUgc2VsZi50YWJsZSkKIAogICAgIGRlZiBoYXNfa2V5KHNlbGYsIGtleSk6CiAgICAgICAgIHJldHVybiBrZXkgaW4gc2VsZgpAQCAtMTk0LDEyICsyOTQsNiBAQAogICAgICAgICAiIiIKICAgICAgICAgZGVsIHNlbGYuZGF0YVtkb21haW5dW2tleV0KIAotZGVmIGNvbm5lY3QoZGF0YWJhc2UpOgotICAgIGNvbm5lY3Rpb24gPSBzcWxpdGUzLmNvbm5lY3QoZGF0YWJhc2UsIHRpbWVvdXQ9NSwgaXNvbGF0aW9uX2xldmVsPU5vbmUpCi0gICAgY29ubmVjdGlvbi5leGVjdXRlKCJwcmFnbWEgc3luY2hyb25vdXMgPSBvZmY7IikKLSAgICBjb25uZWN0aW9uLnRleHRfZmFjdG9yeSA9IHN0cgotICAgIHJldHVybiBjb25uZWN0aW9uCi0KIGRlZiBwZXJzaXN0KGRvbWFpbiwgZCk6CiAgICAgIiIiQ29udmVuaWVuY2UgZmFjdG9yeSBmb3IgU1FMVGFibGUgb2JqZWN0cyBiYXNlZCB1cG9uIG1ldGFkYXRhIiIiCiAgICAgaW1wb3J0IGJiLnV0aWxzCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL3Byb3ZpZGVycy5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvcHJvdmlkZXJzLnB5CmluZGV4IGMyYWE5OGMuLmY0OTZkODQgMTAwNjQ0Ci0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvcHJvdmlkZXJzLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvcHJvdmlkZXJzLnB5CkBAIC0xMjksNyArMTI5LDcgQEAKICAgICAgICAgcHJlZmVycmVkX3YgPSBjZmdEYXRhLmdldFZhcigiUFJFRkVSUkVEX1ZFUlNJT04iKQogCiAgICAgaWYgcHJlZmVycmVkX3Y6Ci0gICAgICAgIG0gPSByZS5tYXRjaCgnKFxkKzopKiguKikoXy4qKSonLCBwcmVmZXJyZWRfdikKKyAgICAgICAgbSA9IHJlLm1hdGNoKHInKFxkKzopKiguKikoXy4qKSonLCBwcmVmZXJyZWRfdikKICAgICAgICAgaWYgbToKICAgICAgICAgICAgIGlmIG0uZ3JvdXAoMSk6CiAgICAgICAgICAgICAgICAgcHJlZmVycmVkX2UgPSBtLmdyb3VwKDEpWzotMV0KQEAgLTM4NCw3ICszODQsNyBAQAogCiAgICAgIyBPbmx5IHNlYXJjaCBkeW5hbWljIHBhY2thZ2VzIGlmIHdlIGNhbid0IGZpbmQgYW55dGhpbmcgaW4gb3RoZXIgdmFyaWFibGVzCiAgICAgZm9yIHBhdHRlcm4gaW4gZGF0YUNhY2hlLnBhY2thZ2VzX2R5bmFtaWM6Ci0gICAgICAgIHBhdHRlcm4gPSBwYXR0ZXJuLnJlcGxhY2UoJysnLCAiXCsiKQorICAgICAgICBwYXR0ZXJuID0gcGF0dGVybi5yZXBsYWNlKHInKycsIHIiXCsiKQogICAgICAgICBpZiBwYXR0ZXJuIGluIHJlZ2V4cF9jYWNoZToKICAgICAgICAgICAgIHJlZ2V4cCA9IHJlZ2V4cF9jYWNoZVtwYXR0ZXJuXQogICAgICAgICBlbHNlOgpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9iYi9weXNoL2J1aWx0aW4ucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvYnVpbHRpbi5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTg4MTRkYy4uMDAwMDAwMAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvYnVpbHRpbi5weQorKysgL2Rldi9udWxsCkBAIC0xLDcxMCArMCwwIEBACi0jIGJ1aWx0aW4ucHkgLSBidWlsdGlucyBhbmQgdXRpbGl0aWVzIGRlZmluaXRpb25zIGZvciBweXNoLgotIwotIyBDb3B5cmlnaHQgMjAwNyBQYXRyaWNrIE1lemFyZAotIwotIyBUaGlzIHNvZnR3YXJlIG1heSBiZSB1c2VkIGFuZCBkaXN0cmlidXRlZCBhY2NvcmRpbmcgdG8gdGhlIHRlcm1zCi0jIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgaW5jb3Jwb3JhdGVkIGhlcmVpbiBieSByZWZlcmVuY2UuCi0KLSIiIkJ1aWx0aW4gYW5kIGludGVybmFsIHV0aWxpdGllcyBpbXBsZW1lbnRhdGlvbnMuCi0KLS0gQmV3YXJlIG5vdCB0byB1c2UgcHl0aG9uIGludGVycHJldGVyIGVudmlyb25tZW50IGFzIGlmIGl0IHdlcmUgdGhlIHNoZWxsCi1lbnZpcm9ubWVudC4gRm9yIGluc3RhbmNlLCBjb21tYW5kcyB3b3JraW5nIGRpcmVjdG9yeSBtdXN0IGJlIGV4cGxpY2l0ZWx5IGhhbmRsZWQKLXRocm91Z2ggZW52WydQV0QnXSBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gcHl0aG9uIHdvcmtpbmcgZGlyZWN0b3J5LgotIiIiCi1pbXBvcnQgZXJybm8KLWltcG9ydCBvcHRwYXJzZQotaW1wb3J0IG9zCi1pbXBvcnQgcmUKLWltcG9ydCBzdWJwcm9jZXNzCi1pbXBvcnQgc3lzCi1pbXBvcnQgdGltZQotCi1kZWYgaGFzX3N1YnByb2Nlc3NfYnVnKCk6Ci0gICAgcmV0dXJuIGdldGF0dHIoc3VicHJvY2VzcywgJ2xpc3QyY21kbGluZScpIGFuZCBcCi0gICAgICAgKCAgICBzdWJwcm9jZXNzLmxpc3QyY21kbGluZShbJyddKSA9PSAnJyBvciBcCi0gICAgICAgICAgICBzdWJwcm9jZXNzLmxpc3QyY21kbGluZShbJ2Zvb3xiYXInXSkgPT0gJ2Zvb3xiYXInKQotICAgICAgICAgICAgCi0jIERldGVjdCBweXRob24gYnVnIDE2MzQzNDM6ICJzdWJwcm9jZXNzIHN3YWxsb3dzIGVtcHR5IGFyZ3VtZW50cyB1bmRlciB3aW4zMiIKLSMgPGh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvdHJhY2tlci9pbmRleC5waHA/ZnVuYz1kZXRhaWwmYWlkPTE2MzQzNDMmZ3JvdXBfaWQ9NTQ3MCZhdGlkPTEwNTQ3MD4KLSMgQWxzbyBkZXRlY3Q6ICJbIDE3MTA4MDIgXSBzdWJwcm9jZXNzIG11c3QgZXNjYXBlIHJlZGlyZWN0aW9uIGNoYXJhY3RlcnMgdW5kZXIgd2luMzIiCi0jIDxodHRwOi8vc291cmNlZm9yZ2UubmV0L3RyYWNrZXIvaW5kZXgucGhwP2Z1bmM9ZGV0YWlsJmFpZD0xNzEwODAyJmdyb3VwX2lkPTU0NzAmYXRpZD0xMDU0NzA+Ci1pZiBoYXNfc3VicHJvY2Vzc19idWcoKToKLSAgICBpbXBvcnQgc3VicHJvY2Vzc19maXgKLSAgICBzdWJwcm9jZXNzLmxpc3QyY21kbGluZSA9IHN1YnByb2Nlc3NfZml4Lmxpc3QyY21kbGluZQotCi1mcm9tIHNoZXJyb3JzIGltcG9ydCAqCi0KLWNsYXNzIE5vbkV4aXRpbmdQYXJzZXIob3B0cGFyc2UuT3B0aW9uUGFyc2VyKToKLSAgICAiIiJPcHRpb25QYXJzZXIgZGVmYXVsdCBiZWhhdmlvdXIgdXBvbiBlcnJvciBpcyB0byBwcmludCB0aGUgZXJyb3IgbWVzc2FnZSBhbmQKLSAgICBleGl0LiBSYWlzZSBhIHV0aWxpdHkgZXJyb3IgaW5zdGVhZC4KLSAgICAiIiIKLSAgICBkZWYgZXJyb3Ioc2VsZiwgbXNnKToKLSAgICAgICAgcmFpc2UgVXRpbGl0eUVycm9yKG1zZykKLQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyBzZXQgc3BlY2lhbCBidWlsdGluCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi1PUFRfU0VUID0gTm9uRXhpdGluZ1BhcnNlcih1c2FnZT0ic2V0IC0gc2V0IG9yIHVuc2V0IG9wdGlvbnMgYW5kIHBvc2l0aW9uYWwgcGFyYW1ldGVycyIpCi1PUFRfU0VULmFkZF9vcHRpb24oICctZicsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlc3Q9J2hhc19mJywgZGVmYXVsdD1GYWxzZSwKLSAgICBoZWxwPSdUaGUgc2hlbGwgc2hhbGwgZGlzYWJsZSBwYXRobmFtZSBleHBhbnNpb24uJykKLU9QVF9TRVQuYWRkX29wdGlvbignLWUnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZXN0PSdoYXNfZScsIGRlZmF1bHQ9RmFsc2UsCi0gICAgaGVscD0iIiJXaGVuIHRoaXMgb3B0aW9uIGlzIG9uLCBpZiBhIHNpbXBsZSBjb21tYW5kIGZhaWxzIGZvciBhbnkgb2YgdGhlIFwKLSAgICByZWFzb25zIGxpc3RlZCBpbiBDb25zZXF1ZW5jZXMgb2YgU2hlbGwgRXJyb3JzIG9yIHJldHVybnMgYW4gZXhpdCBzdGF0dXMgXAotICAgIHZhbHVlID4wLCBhbmQgaXMgbm90IHBhcnQgb2YgdGhlIGNvbXBvdW5kIGxpc3QgZm9sbG93aW5nIGEgd2hpbGUsIHVudGlsLCBcCi0gICAgb3IgaWYga2V5d29yZCwgYW5kIGlzIG5vdCBhIHBhcnQgb2YgYW4gQU5EIG9yIE9SIGxpc3QsIGFuZCBpcyBub3QgYSBcCi0gICAgcGlwZWxpbmUgcHJlY2VkZWQgYnkgdGhlICEgcmVzZXJ2ZWQgd29yZCwgdGhlbiB0aGUgc2hlbGwgc2hhbGwgaW1tZWRpYXRlbHkgXAotICAgIGV4aXQuIiIiKQotT1BUX1NFVC5hZGRfb3B0aW9uKCcteCcsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlc3Q9J2hhc194JywgZGVmYXVsdD1GYWxzZSwKLSAgICBoZWxwPSIiIlRoZSBzaGVsbCBzaGFsbCB3cml0ZSB0byBzdGFuZGFyZCBlcnJvciBhIHRyYWNlIGZvciBlYWNoIGNvbW1hbmQgXAotICAgIGFmdGVyIGl0IGV4cGFuZHMgdGhlIGNvbW1hbmQgYW5kIGJlZm9yZSBpdCBleGVjdXRlcyBpdC4gSXQgaXMgdW5zcGVjaWZpZWQgXAotICAgIHdoZXRoZXIgdGhlIGNvbW1hbmQgdGhhdCB0dXJucyB0cmFjaW5nIG9mZiBpcyB0cmFjZWQuIiIiKQotCi1kZWYgYnVpbHRpbl9zZXQobmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0gICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIGRlYnVnZmxhZ3M6Ci0gICAgICAgIHByaW50IGludGVycC5sb2coJyAnLmpvaW4oW25hbWUsIHN0cihhcmdzKSwgaW50ZXJwWydQV0QnXV0pICsgJ1xuJykKLQotICAgIG9wdGlvbiwgYXJncyA9IE9QVF9TRVQucGFyc2VfYXJncyhhcmdzKQotICAgIGVudiA9IGludGVycC5nZXRfZW52KCkKLSAgICAKLSAgICBpZiBvcHRpb24uaGFzX2Y6Ci0gICAgICAgIGVudi5zZXRfb3B0KCctZicpCi0gICAgaWYgb3B0aW9uLmhhc19lOgotICAgICAgICBlbnYuc2V0X29wdCgnLWUnKQotICAgIGlmIG9wdGlvbi5oYXNfeDoKLSAgICAgICAgZW52LnNldF9vcHQoJy14JykKLSAgICByZXR1cm4gMAotICAgIAotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyBzaGlmdCBzcGVjaWFsIGJ1aWx0aW4KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAKLWRlZiBidWlsdGluX3NoaWZ0KG5hbWUsIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIsIGRlYnVnZmxhZ3MpOgotICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBkZWJ1Z2ZsYWdzOgotICAgICAgICBwcmludCBpbnRlcnAubG9nKCcgJy5qb2luKFtuYW1lLCBzdHIoYXJncyksIGludGVycFsnUFdEJ11dKSArICdcbicpCi0gICAgICAgIAotICAgIHBhcmFtcyA9IGludGVycC5nZXRfZW52KCkuZ2V0X3Bvc2l0aW9uYWxfYXJncygpCi0gICAgaWYgYXJnczoKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgbiA9IGludChhcmdzWzBdKQotICAgICAgICAgICAgaWYgbiA+IGxlbihwYXJhbXMpOgotICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoKQotICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSAgICAgICAgICAgIHJldHVybiAxCi0gICAgZWxzZToKLSAgICAgICAgbiA9IDEKLSAgICAgICAgCi0gICAgcGFyYW1zWzpuXSA9IFtdCi0gICAgaW50ZXJwLmdldF9lbnYoKS5zZXRfcG9zaXRpb25hbF9hcmdzKHBhcmFtcykKLSAgICByZXR1cm4gMAotICAgIAotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyBleHBvcnQgc3BlY2lhbCBidWlsdGluCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi1PUFRfRVhQT1JUID0gTm9uRXhpdGluZ1BhcnNlcih1c2FnZT0ic2V0IC0gc2V0IG9yIHVuc2V0IG9wdGlvbnMgYW5kIHBvc2l0aW9uYWwgcGFyYW1ldGVycyIpCi1PUFRfRVhQT1JULmFkZF9vcHRpb24oJy1wJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVzdD0naGFzX3AnLCBkZWZhdWx0PUZhbHNlKQotCi1kZWYgYnVpbHRpbl9leHBvcnQobmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0gICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIGRlYnVnZmxhZ3M6Ci0gICAgICAgIHByaW50IGludGVycC5sb2coJyAnLmpvaW4oW25hbWUsIHN0cihhcmdzKSwgaW50ZXJwWydQV0QnXV0pICsgJ1xuJykKLSAgICAgICAgCi0gICAgb3B0aW9uLCBhcmdzID0gT1BUX0VYUE9SVC5wYXJzZV9hcmdzKGFyZ3MpCi0gICAgaWYgb3B0aW9uLmhhc19wOgotICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCkKLSAgICAKLSAgICBmb3IgYXJnIGluIGFyZ3M6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIG5hbWUsIHZhbHVlID0gYXJnLnNwbGl0KCc9JywgMSkKLSAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6Ci0gICAgICAgICAgICBuYW1lLCB2YWx1ZSA9IGFyZywgTm9uZQotICAgICAgICBlbnYgPSBpbnRlcnAuZ2V0X2VudigpLmV4cG9ydChuYW1lLCB2YWx1ZSkKLSAgICAKLSAgICByZXR1cm4gMAotICAgIAotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyByZXR1cm4gc3BlY2lhbCBidWlsdGluCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi1kZWYgYnVpbHRpbl9yZXR1cm4obmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0gICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIGRlYnVnZmxhZ3M6Ci0gICAgICAgIHByaW50IGludGVycC5sb2coJyAnLmpvaW4oW25hbWUsIHN0cihhcmdzKSwgaW50ZXJwWydQV0QnXV0pICsgJ1xuJykKLSAgICByZXMgPSAwCi0gICAgaWYgYXJnczoKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmVzID0gaW50KGFyZ3NbMF0pCi0gICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgotICAgICAgICAgICAgcmVzID0gMAotICAgICAgICBpZiBub3QgMDw9cmVzPD0yNTU6Ci0gICAgICAgICAgICByZXMgPSAwCi0gICAgICAgICAgICAKLSAgICAjIEJVRzogc2hvdWxkIGJlIGxhc3QgZXhlY3V0ZWQgY29tbWFuZCBleGl0IGNvZGUgICAgICAgIAotICAgIHJhaXNlIFJldHVyblNpZ25hbChyZXMpCi0KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAKLSMgdHJhcCBzcGVjaWFsIGJ1aWx0aW4KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAKLWRlZiBidWlsdGluX3RyYXAobmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0gICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIGRlYnVnZmxhZ3M6Ci0gICAgICAgIHByaW50IGludGVycC5sb2coJyAnLmpvaW4oW25hbWUsIHN0cihhcmdzKSwgaW50ZXJwWydQV0QnXV0pICsgJ1xuJykKLSAgICBpZiBsZW4oYXJncykgPCAyOgotICAgICAgICBzdGRlcnIud3JpdGUoJ3RyYXA6IHVzYWdlOiB0cmFwIFtbYXJnXSBzaWduYWxfc3BlYyAuLi5dXG4nKQotICAgICAgICByZXR1cm4gMgotCi0gICAgYWN0aW9uID0gYXJnc1swXQotICAgIGZvciBzaWcgaW4gYXJnc1sxOl06Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGVudi50cmFwc1tzaWddID0gYWN0aW9uCi0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKLSAgICAgICAgICAgIHN0ZGVyci53cml0ZSgndHJhcDogJXNcbicgJSBzdHIoZSkpCi0gICAgcmV0dXJuIDAKLQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyB1bnNldCBzcGVjaWFsIGJ1aWx0aW4KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1PUFRfVU5TRVQgPSBOb25FeGl0aW5nUGFyc2VyKCJ1bnNldCAtIHVuc2V0IHZhbHVlcyBhbmQgYXR0cmlidXRlcyBvZiB2YXJpYWJsZXMgYW5kIGZ1bmN0aW9ucyIpCi1PUFRfVU5TRVQuYWRkX29wdGlvbiggJy1mJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVzdD0naGFzX2YnLCBkZWZhdWx0PUZhbHNlKQotT1BUX1VOU0VULmFkZF9vcHRpb24oICctdicsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlc3Q9J2hhc192JywgZGVmYXVsdD1GYWxzZSkKLQotZGVmIGJ1aWx0aW5fdW5zZXQobmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0gICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIGRlYnVnZmxhZ3M6Ci0gICAgICAgIHByaW50IGludGVycC5sb2coJyAnLmpvaW4oW25hbWUsIHN0cihhcmdzKSwgaW50ZXJwWydQV0QnXV0pICsgJ1xuJykKLSAgICAgICAgCi0gICAgb3B0aW9uLCBhcmdzID0gT1BUX1VOU0VULnBhcnNlX2FyZ3MoYXJncykKLSAgICAKLSAgICBzdGF0dXMgPSAwCi0gICAgZW52ID0gaW50ZXJwLmdldF9lbnYoKQotICAgIGZvciBhcmcgaW4gYXJnczogICAgCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGlmIG9wdGlvbi5oYXNfZjoKLSAgICAgICAgICAgICAgICBlbnYucmVtb3ZlX2Z1bmN0aW9uKGFyZykKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgZGVsIGVudlthcmddCi0gICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKLSAgICAgICAgICAgIHBhc3MKLSAgICAgICAgZXhjZXB0IFZhckFzc2lnbm1lbnRFcnJvcjoKLSAgICAgICAgICAgIHN0YXR1cyA9IDEKLSAgICAgICAgICAgIAotICAgIHJldHVybiBzdGF0dXMKLQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyB3YWl0IHNwZWNpYWwgYnVpbHRpbgotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotZGVmIGJ1aWx0aW5fd2FpdChuYW1lLCBhcmdzLCBpbnRlcnAsIGVudiwgc3RkaW4sIHN0ZG91dCwgc3RkZXJyLCBkZWJ1Z2ZsYWdzKToKLSAgICBpZiAnZGVidWctdXRpbGl0eScgaW4gZGVidWdmbGFnczoKLSAgICAgICAgcHJpbnQgaW50ZXJwLmxvZygnICcuam9pbihbbmFtZSwgc3RyKGFyZ3MpLCBpbnRlcnBbJ1BXRCddXSkgKyAnXG4nKQotCi0gICAgcmV0dXJuIGludGVycC53YWl0KFtpbnQoYXJnKSBmb3IgYXJnIGluIGFyZ3NdKQotCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi0jIGNhdCB1dGlsaXR5Ci0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotZGVmIHV0aWxpdHlfY2F0KG5hbWUsIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIsIGRlYnVnZmxhZ3MpOgotICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBkZWJ1Z2ZsYWdzOgotICAgICAgICBwcmludCBpbnRlcnAubG9nKCcgJy5qb2luKFtuYW1lLCBzdHIoYXJncyksIGludGVycFsnUFdEJ11dKSArICdcbicpCi0KLSAgICBpZiBub3QgYXJnczoKLSAgICAgICAgYXJncyA9IFsnLSddCi0KLSAgICBzdGF0dXMgPSAwCi0gICAgZm9yIGFyZyBpbiBhcmdzOgotICAgICAgICBpZiBhcmcgPT0gJy0nOgotICAgICAgICAgICAgZGF0YSA9IHN0ZGluLnJlYWQoKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcGF0aCA9IG9zLnBhdGguam9pbihlbnZbJ1BXRCddLCBhcmcpCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgZiA9IGZpbGUocGF0aCwgJ3JiJykKLSAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIGRhdGEgPSBmLnJlYWQoKQotICAgICAgICAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICAgICAgICAgIGYuY2xvc2UoKQotICAgICAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZToKLSAgICAgICAgICAgICAgICBpZiBlLmVycm5vICE9IGVycm5vLkVOT0VOVDoKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UKLSAgICAgICAgICAgICAgICBzdGF0dXMgPSAxCi0gICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgc3Rkb3V0LndyaXRlKGRhdGEpCi0gICAgICAgIHN0ZG91dC5mbHVzaCgpCi0gICAgcmV0dXJuIHN0YXR1cwotICAgIAotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyBjZCB1dGlsaXR5Ci0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi1PUFRfQ0QgPSBOb25FeGl0aW5nUGFyc2VyKCJjZCAtIGNoYW5nZSB0aGUgd29ya2luZyBkaXJlY3RvcnkiKQotCi1kZWYgdXRpbGl0eV9jZChuYW1lLCBhcmdzLCBpbnRlcnAsIGVudiwgc3RkaW4sIHN0ZG91dCwgc3RkZXJyLCBkZWJ1Z2ZsYWdzKToKLSAgICBpZiAnZGVidWctdXRpbGl0eScgaW4gZGVidWdmbGFnczoKLSAgICAgICAgcHJpbnQgaW50ZXJwLmxvZygnICcuam9pbihbbmFtZSwgc3RyKGFyZ3MpLCBpbnRlcnBbJ1BXRCddXSkgKyAnXG4nKQotCi0gICAgb3B0aW9uLCBhcmdzID0gT1BUX0NELnBhcnNlX2FyZ3MoYXJncykKLSAgICBlbnYgPSBpbnRlcnAuZ2V0X2VudigpCi0gICAgCi0gICAgZGlyZWN0b3J5ID0gTm9uZQotICAgIHByaW50ZGlyID0gRmFsc2UKLSAgICBpZiBub3QgYXJnczoKLSAgICAgICAgaG9tZSA9IGVudi5nZXQoJ0hPTUUnKQotICAgICAgICBpZiBob21lOgotICAgICAgICAgICAgIyBVbnNwZWNpZmllZCwgZG8gbm90aGluZwotICAgICAgICAgICAgcmV0dXJuIDAKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGRpcmVjdG9yeSA9IGhvbWUKLSAgICBlbGlmIGxlbihhcmdzKT09MToKLSAgICAgICAgZGlyZWN0b3J5ID0gYXJnc1swXQotICAgICAgICBpZiBkaXJlY3Rvcnk9PSctJzoKLSAgICAgICAgICAgIGlmICdPTERQV0QnIG5vdCBpbiBlbnY6Ci0gICAgICAgICAgICAgICAgcmFpc2UgVXRpbGl0eUVycm9yKCJPTERQV0Qgbm90IHNldCIpCi0gICAgICAgICAgICBwcmludGRpciA9IFRydWUKLSAgICAgICAgICAgIGRpcmVjdG9yeSA9IGVudlsnT0xEUFdEJ10KLSAgICBlbHNlOgotICAgICAgICByYWlzZSBVdGlsaXR5RXJyb3IoInRvbyBtYW55IGFyZ3VtZW50cyIpCi0gICAgICAgICAgICAKLSAgICBjdXJwYXRoID0gTm9uZQotICAgICMgQWJzb2x1dGUgZGlyZWN0b3JpZXMgd2lsbCBiZSBoYW5kbGVkIGNvcnJlY3RseSBieSB0aGUgb3MucGF0aC5qb2luIGNhbGwuCi0gICAgaWYgbm90IGRpcmVjdG9yeS5zdGFydHN3aXRoKCcuJykgYW5kIG5vdCBkaXJlY3Rvcnkuc3RhcnRzd2l0aCgnLi4nKToKLSAgICAgICAgY2RwYXRocyA9IGVudi5nZXQoJ0NEUEFUSCcsICcuJykuc3BsaXQoJzsnKQotICAgICAgICBmb3IgY2RwYXRoIGluIGNkcGF0aHM6Ci0gICAgICAgICAgICBwID0gb3MucGF0aC5qb2luKGNkcGF0aCwgZGlyZWN0b3J5KQotICAgICAgICAgICAgaWYgb3MucGF0aC5pc2RpcihwKToKLSAgICAgICAgICAgICAgICBjdXJwYXRoID0gcAotICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgCi0gICAgaWYgY3VycGF0aCBpcyBOb25lOgotICAgICAgICBjdXJwYXRoID0gZGlyZWN0b3J5Ci0gICAgY3VycGF0aCA9IG9zLnBhdGguam9pbihlbnZbJ1BXRCddLCBkaXJlY3RvcnkpCi0KLSAgICBlbnZbJ09MRFBXRCddID0gZW52WydQV0QnXQotICAgIGVudlsnUFdEJ10gPSBjdXJwYXRoCi0gICAgaWYgcHJpbnRkaXI6Ci0gICAgICAgIHN0ZG91dC53cml0ZSgnJXNcbicgJSBjdXJwYXRoKQotICAgIHJldHVybiAwCi0KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAKLSMgY29sb24gdXRpbGl0eQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotZGVmIHV0aWxpdHlfY29sb24obmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0gICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIGRlYnVnZmxhZ3M6Ci0gICAgICAgIHByaW50IGludGVycC5sb2coJyAnLmpvaW4oW25hbWUsIHN0cihhcmdzKSwgaW50ZXJwWydQV0QnXV0pICsgJ1xuJykKLSAgICByZXR1cm4gMAotICAgIAotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyBlY2hvIHV0aWxpdHkKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAKLWRlZiB1dGlsaXR5X2VjaG8obmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0gICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIGRlYnVnZmxhZ3M6Ci0gICAgICAgIHByaW50IGludGVycC5sb2coJyAnLmpvaW4oW25hbWUsIHN0cihhcmdzKSwgaW50ZXJwWydQV0QnXV0pICsgJ1xuJykKLSAgICAgICAgCi0gICAgIyBFY2hvIG9ubHkgdGFrZXMgYXJndW1lbnRzLCBubyBvcHRpb25zLiBVc2UgcHJpbnRmIGlmIHlvdSBuZWVkIGZhbmN5IHN0dWZmLgotICAgIG91dHB1dCA9ICcgJy5qb2luKGFyZ3MpICsgJ1xuJwotICAgIHN0ZG91dC53cml0ZShvdXRwdXQpCi0gICAgc3Rkb3V0LmZsdXNoKCkKLSAgICByZXR1cm4gMAotICAgIAotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyBlZ3JlcCB1dGlsaXR5Ci0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBlZ3JlcCBpcyB1c3VhbGx5IGEgc2hlbGwgc2NyaXB0LgotIyBVbmZvcnR1bmF0ZWx5LCBweXNoIGRvZXMgbm90IHN1cHBvcnQgc2hlbGwgc2NyaXB0cyAqd2l0aCBhcmd1bWVudHMqIHJpZ2h0IG5vdywKLSMgc28gdGhlIHJlZGlyZWN0aW9uIGlzIGltcGxlbWVudGVkIGhlcmUsIGFzc3VtaW5nIGdyZXAgaXMgYXZhaWxhYmxlLgotZGVmIHV0aWxpdHlfZWdyZXAobmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0gICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIGRlYnVnZmxhZ3M6Ci0gICAgICAgIHByaW50IGludGVycC5sb2coJyAnLmpvaW4oW25hbWUsIHN0cihhcmdzKSwgaW50ZXJwWydQV0QnXV0pICsgJ1xuJykKLSAgICAgICAgCi0gICAgcmV0dXJuIHJ1bl9jb21tYW5kKCdncmVwJywgWyctRSddICsgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIAotICAgICAgICBzdGRlcnIsIGRlYnVnZmxhZ3MpCi0gICAgCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi0jIGVudiB1dGlsaXR5Ci0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi1kZWYgdXRpbGl0eV9lbnYobmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0gICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIGRlYnVnZmxhZ3M6Ci0gICAgICAgIHByaW50IGludGVycC5sb2coJyAnLmpvaW4oW25hbWUsIHN0cihhcmdzKSwgaW50ZXJwWydQV0QnXV0pICsgJ1xuJykKLSAgICAKLSAgICBpZiBhcmdzIGFuZCBhcmdzWzBdPT0nLWknOgotICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCdlbnY6IC1pIG9wdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQnKQotICAgIAotICAgIGkgPSAwCi0gICAgZm9yIGFyZyBpbiBhcmdzOgotICAgICAgICBpZiAnPScgbm90IGluIGFyZzoKLSAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICMgVXBkYXRlIHRoZSBjdXJyZW50IGVudmlyb25tZW50Ci0gICAgICAgIG5hbWUsIHZhbHVlID0gYXJnLnNwbGl0KCc9JywgMSkKLSAgICAgICAgZW52W25hbWVdID0gdmFsdWUKLSAgICAgICAgaSArPSAxCi0gICAgICAgIAotICAgIGlmIGFyZ3NbaTpdOgotICAgICAgICAjIEZpbmQgdGhlbiBleGVjdXRlIHRoZSBzcGVjaWZpZWQgaW50ZXJwcmV0ZXIKLSAgICAgICAgdXRpbGl0eSA9IGVudi5maW5kX2luX3BhdGgoYXJnc1tpXSkKLSAgICAgICAgaWYgbm90IHV0aWxpdHk6Ci0gICAgICAgICAgICByZXR1cm4gMTI3Ci0gICAgICAgIGFyZ3NbaTppKzFdID0gdXRpbGl0eQotICAgICAgICBuYW1lID0gYXJnc1tpXQotICAgICAgICBhcmdzID0gYXJnc1tpKzE6XQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICByZXR1cm4gcnVuX2NvbW1hbmQobmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgCi0gICAgICAgICAgICAgICAgZGVidWdmbGFncykKLSAgICAgICAgZXhjZXB0IFV0aWxpdHlFcnJvcjoKLSAgICAgICAgICAgIHN0ZGVyci53cml0ZSgnZW52OiBmYWlsZWQgdG8gZXhlY3V0ZSAlcycgJSAnICcuam9pbihbbmFtZV0rYXJncykpCi0gICAgICAgICAgICByZXR1cm4gMTI2ICAgICAgICAgICAgCi0gICAgZWxzZToKLSAgICAgICAgZm9yIHBhaXIgaW4gZW52LmdldF92YXJpYWJsZXMoKS5pdGVyaXRlbXMoKToKLSAgICAgICAgICAgIHN0ZG91dC53cml0ZSgnJXM9JXNcbicgJSBwYWlyKQotICAgIHJldHVybiAwCi0gICAgCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi0jIGV4aXQgdXRpbGl0eQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLWRlZiB1dGlsaXR5X2V4aXQobmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0gICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIGRlYnVnZmxhZ3M6Ci0gICAgICAgIHByaW50IGludGVycC5sb2coJyAnLmpvaW4oW25hbWUsIHN0cihhcmdzKSwgaW50ZXJwWydQV0QnXV0pICsgJ1xuJykKLSAgICAgICAgCi0gICAgcmVzID0gTm9uZQotICAgIGlmIGFyZ3M6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHJlcyA9IGludChhcmdzWzBdKQotICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSAgICAgICAgICAgIHJlcyA9IE5vbmUKLSAgICAgICAgaWYgbm90IDA8PXJlczw9MjU1OgotICAgICAgICAgICAgcmVzID0gTm9uZQotICAgICAgICAgICAgCi0gICAgaWYgcmVzIGlzIE5vbmU6Ci0gICAgICAgICMgQlVHOiBzaG91bGQgYmUgbGFzdCBleGVjdXRlZCBjb21tYW5kIGV4aXQgY29kZQotICAgICAgICByZXMgPSAwCi0gICAgICAgIAotICAgIHJhaXNlIEV4aXRTaWduYWwocmVzKQotCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi0jIGZncmVwIHV0aWxpdHkKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIHNlZSBlZ3JlcAotZGVmIHV0aWxpdHlfZmdyZXAobmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0gICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIGRlYnVnZmxhZ3M6Ci0gICAgICAgIHByaW50IGludGVycC5sb2coJyAnLmpvaW4oW25hbWUsIHN0cihhcmdzKSwgaW50ZXJwWydQV0QnXV0pICsgJ1xuJykKLSAgICAgICAgCi0gICAgcmV0dXJuIHJ1bl9jb21tYW5kKCdncmVwJywgWyctRiddICsgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIAotICAgICAgICBzdGRlcnIsIGRlYnVnZmxhZ3MpCi0KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAKLSMgZ3VuemlwIHV0aWxpdHkKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIHNlZSBlZ3JlcAotZGVmIHV0aWxpdHlfZ3VuemlwKG5hbWUsIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIsIGRlYnVnZmxhZ3MpOgotICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBkZWJ1Z2ZsYWdzOgotICAgICAgICBwcmludCBpbnRlcnAubG9nKCcgJy5qb2luKFtuYW1lLCBzdHIoYXJncyksIGludGVycFsnUFdEJ11dKSArICdcbicpCi0gICAgICAgIAotICAgIHJldHVybiBydW5fY29tbWFuZCgnZ3ppcCcsIFsnLWQnXSArIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCAKLSAgICAgICAgc3RkZXJyLCBkZWJ1Z2ZsYWdzKQotICAgIAotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyBraWxsIHV0aWxpdHkKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1kZWYgdXRpbGl0eV9raWxsKG5hbWUsIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIsIGRlYnVnZmxhZ3MpOgotICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBkZWJ1Z2ZsYWdzOgotICAgICAgICBwcmludCBpbnRlcnAubG9nKCcgJy5qb2luKFtuYW1lLCBzdHIoYXJncyksIGludGVycFsnUFdEJ11dKSArICdcbicpCi0gICAgICAgIAotICAgIGZvciBhcmcgaW4gYXJnczoKLSAgICAgICAgcGlkID0gaW50KGFyZykKLSAgICAgICAgc3RhdHVzID0gc3VicHJvY2Vzcy5jYWxsKFsncHNraWxsJywgJy9UJywgc3RyKHBpZCldLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGVsbD1UcnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnI9c3VicHJvY2Vzcy5QSVBFKQotICAgICAgICAjIHBza2lsbCBpcyBhc3luY2hyb25vdXMsIGhlbmNlIHRoZSBzdHVwaWQgcG9sbGluZyBsb29wCi0gICAgICAgIHdoaWxlIDE6Ci0gICAgICAgICAgICBwID0gc3VicHJvY2Vzcy5Qb3BlbihbJ3BzbGlzdCcsIHN0cihwaWQpXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hlbGw9VHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkZXJyPXN1YnByb2Nlc3MuU1RET1VUKQotICAgICAgICAgICAgb3V0cHV0ID0gcC5jb21tdW5pY2F0ZSgpWzBdCi0gICAgICAgICAgICBpZiAoJ3Byb2Nlc3MgJWQgd2FzIG5vdCcgJSBwaWQpIGluIG91dHB1dDoKLSAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgdGltZS5zbGVlcCgxKQotICAgIHJldHVybiBzdGF0dXMKLSAgICAKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAKLSMgbWtkaXIgdXRpbGl0eQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLU9QVF9NS0RJUiA9IE5vbkV4aXRpbmdQYXJzZXIoIm1rZGlyIC0gbWFrZSBkaXJlY3Rvcmllcy4iKQotT1BUX01LRElSLmFkZF9vcHRpb24oJy1wJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVzdD0naGFzX3AnLCBkZWZhdWx0PUZhbHNlKQotCi1kZWYgdXRpbGl0eV9ta2RpcihuYW1lLCBhcmdzLCBpbnRlcnAsIGVudiwgc3RkaW4sIHN0ZG91dCwgc3RkZXJyLCBkZWJ1Z2ZsYWdzKToKLSAgICBpZiAnZGVidWctdXRpbGl0eScgaW4gZGVidWdmbGFnczoKLSAgICAgICAgcHJpbnQgaW50ZXJwLmxvZygnICcuam9pbihbbmFtZSwgc3RyKGFyZ3MpLCBpbnRlcnBbJ1BXRCddXSkgKyAnXG4nKQotICAgICAgICAKLSAgICAjIFRPRE86IGltcGxlbWVudCB1bWFzawotICAgICMgVE9ETzogaW1wbGVtZW50IHByb3BlciB1dGlsaXR5IGVycm9yIHJlcG9ydAotICAgIG9wdGlvbiwgYXJncyA9IE9QVF9NS0RJUi5wYXJzZV9hcmdzKGFyZ3MpCi0gICAgZm9yIGFyZyBpbiBhcmdzOgotICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKGVudlsnUFdEJ10sIGFyZykKLSAgICAgICAgaWYgb3B0aW9uLmhhc19wOgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIG9zLm1ha2VkaXJzKHBhdGgpCi0gICAgICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlOgotICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRUVYSVNUOgotICAgICAgICAgICAgICAgICAgICByYWlzZQotICAgICAgICBlbHNlOiAgICAgICAgICAgICAgIAotICAgICAgICAgICAgb3MubWtkaXIocGF0aCkKLSAgICByZXR1cm4gMAotCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi0jIG5ldHN0YXQgdXRpbGl0eQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLWRlZiB1dGlsaXR5X25ldHN0YXQobmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0gICAgIyBEbyB5b3UgcmVhbGx5IGV4cGVjdCBtZSB0byBpbXBsZW1lbnQgbmV0c3RhdCA/Ci0gICAgIyBUaGlzIGVtcHR5IGZvcm0gaXMgZW5vdWdoIGZvciBNZXJjdXJpYWwgdGVzdHMgc2luY2UgaXQncwotICAgICMgc3VwcG9zZWQgdG8gZ2VuZXJhdGUgbm90aGluZyB1cG9uIHN1Y2Nlc3MuIEZha2luZyB0aGlzIHRlc3QKLSAgICAjIGlzIG5vdCBhIGJpZyBkZWFsIGVpdGhlci4KLSAgICBpZiAnZGVidWctdXRpbGl0eScgaW4gZGVidWdmbGFnczoKLSAgICAgICAgcHJpbnQgaW50ZXJwLmxvZygnICcuam9pbihbbmFtZSwgc3RyKGFyZ3MpLCBpbnRlcnBbJ1BXRCddXSkgKyAnXG4nKQotICAgIHJldHVybiAwCi0gICAgCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi0jIHB3ZCB1dGlsaXR5Ci0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi1PUFRfUFdEID0gTm9uRXhpdGluZ1BhcnNlcigicHdkIC0gcmV0dXJuIHdvcmtpbmcgZGlyZWN0b3J5IG5hbWUiKQotT1BUX1BXRC5hZGRfb3B0aW9uKCctTCcsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlc3Q9J2hhc19MJywgZGVmYXVsdD1UcnVlLAotICAgIGhlbHA9IiIiSWYgdGhlIFBXRCBlbnZpcm9ubWVudCB2YXJpYWJsZSBjb250YWlucyBhbiBhYnNvbHV0ZSBwYXRobmFtZSBvZiBcCi0gICAgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IHRoYXQgZG9lcyBub3QgY29udGFpbiB0aGUgZmlsZW5hbWVzIGRvdCBvciBkb3QtZG90LCBcCi0gICAgcHdkIHNoYWxsIHdyaXRlIHRoaXMgcGF0aG5hbWUgdG8gc3RhbmRhcmQgb3V0cHV0LiBPdGhlcndpc2UsIHRoZSAtTCBvcHRpb24gXAotICAgIHNoYWxsIGJlaGF2ZSBhcyB0aGUgLVAgb3B0aW9uLiIiIikKLU9QVF9QV0QuYWRkX29wdGlvbignLVAnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZXN0PSdoYXNfTCcsIGRlZmF1bHQ9RmFsc2UsCi0gICAgaGVscD0iIiJUaGUgYWJzb2x1dGUgcGF0aG5hbWUgd3JpdHRlbiBzaGFsbCBub3QgY29udGFpbiBmaWxlbmFtZXMgdGhhdCwgaW4gXAotICAgIHRoZSBjb250ZXh0IG9mIHRoZSBwYXRobmFtZSwgcmVmZXIgdG8gZmlsZXMgb2YgdHlwZSBzeW1ib2xpYyBsaW5rLiIiIikKLQotZGVmIHV0aWxpdHlfcHdkKG5hbWUsIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIsIGRlYnVnZmxhZ3MpOgotICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBkZWJ1Z2ZsYWdzOgotICAgICAgICBwcmludCBpbnRlcnAubG9nKCcgJy5qb2luKFtuYW1lLCBzdHIoYXJncyksIGludGVycFsnUFdEJ11dKSArICdcbicpCi0KLSAgICBvcHRpb24sIGFyZ3MgPSBPUFRfUFdELnBhcnNlX2FyZ3MoYXJncykgICAgICAgIAotICAgIHN0ZG91dC53cml0ZSgnJXNcbicgJSBlbnZbJ1BXRCddKQotICAgIHJldHVybiAwCi0gICAgCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi0jIHByaW50ZiB1dGlsaXR5Ci0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUkVfVU5FU0NBUEUgPSByZS5jb21waWxlKHInKFxceFthLXpBLVowLTldezJ9fFxcWzAtN117MSwzfXxcXC4pJykKLQotZGVmIHV0aWxpdHlfcHJpbnRmKG5hbWUsIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIsIGRlYnVnZmxhZ3MpOgotICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBkZWJ1Z2ZsYWdzOgotICAgICAgICBwcmludCBpbnRlcnAubG9nKCcgJy5qb2luKFtuYW1lLCBzdHIoYXJncyksIGludGVycFsnUFdEJ11dKSArICdcbicpCi0gICAgICAgIAotICAgIGRlZiByZXBsYWNlKG0pOgotICAgICAgICBhc3NlcnQgbS5ncm91cCgpCi0gICAgICAgIGcgPSBtLmdyb3VwKClbMTpdCi0gICAgICAgIGlmIGcuc3RhcnRzd2l0aCgneCcpOgotICAgICAgICAgICAgcmV0dXJuIGNocihpbnQoZ1sxOl0sIDE2KSkKLSAgICAgICAgaWYgbGVuKGcpIDw9IDMgYW5kIGxlbihbYyBmb3IgYyBpbiBnIGlmIGMgaW4gJzAxMjM0NTY3J10pID09IGxlbihnKToKLSAgICAgICAgICAgICMgWWF5LCBhbiBvY3RhbCBudW1iZXIKLSAgICAgICAgICAgIHJldHVybiBjaHIoaW50KGcsIDgpKQotICAgICAgICByZXR1cm4gewotICAgICAgICAgICAgJ2EnOiAnXGEnLAotICAgICAgICAgICAgJ2InOiAnXGInLAotICAgICAgICAgICAgJ2YnOiAnXGYnLAotICAgICAgICAgICAgJ24nOiAnXG4nLAotICAgICAgICAgICAgJ3InOiAnXHInLAotICAgICAgICAgICAgJ3QnOiAnXHQnLAotICAgICAgICAgICAgJ3YnOiAnXHYnLAotICAgICAgICAgICAgJ1xcJzogJ1xcJywKLSAgICAgICAgfS5nZXQoZykKLSAgICAgICAgCi0gICAgIyBDb252ZXJ0IGVzY2FwZSBzZXF1ZW5jZXMKLSAgICBmb3JtYXQgPSByZS5zdWIoUkVfVU5FU0NBUEUsIHJlcGxhY2UsIGFyZ3NbMF0pCi0gICAgc3Rkb3V0LndyaXRlKGZvcm1hdCAlIHR1cGxlKGFyZ3NbMTpdKSkKLSAgICByZXR1cm4gMAotICAgIAotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyB0cnVlIHV0aWxpdHkKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1kZWYgdXRpbGl0eV90cnVlKG5hbWUsIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIsIGRlYnVnZmxhZ3MpOgotICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBkZWJ1Z2ZsYWdzOgotICAgICAgICBwcmludCBpbnRlcnAubG9nKCcgJy5qb2luKFtuYW1lLCBzdHIoYXJncyksIGludGVycFsnUFdEJ11dKSArICdcbicpCi0gICAgcmV0dXJuIDAKLQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyBzZWQgdXRpbGl0eQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVJFX1NFRCA9IHJlLmNvbXBpbGUocidecyguKS4qXDFbYS16QS1aXSokJykKLQotIyBjeWd3aW4gc2VkIGZhaWxzIHdpdGggc29tZSBleHByZXNzaW9ucyB3aGVuIHRoZXkgZG8gbm90IGVuZCB3aXRoIGEgc2luZ2xlIHNwYWNlLgotIyBzZWUgdW5pdCB0ZXN0cyBmb3IgZGV0YWlscy4gSW50ZXJlc3RpbmdseSwgdGhlIHNhbWUgZXhwcmVzc2lvbnMgd29ya3MgcGVyZmVjdGx5Ci0jIGluIGN5Z3dpbiBzaGVsbC4KLWRlZiB1dGlsaXR5X3NlZChuYW1lLCBhcmdzLCBpbnRlcnAsIGVudiwgc3RkaW4sIHN0ZG91dCwgc3RkZXJyLCBkZWJ1Z2ZsYWdzKToKLSAgICBpZiAnZGVidWctdXRpbGl0eScgaW4gZGVidWdmbGFnczoKLSAgICAgICAgcHJpbnQgaW50ZXJwLmxvZygnICcuam9pbihbbmFtZSwgc3RyKGFyZ3MpLCBpbnRlcnBbJ1BXRCddXSkgKyAnXG4nKQotICAgICAgICAKLSAgICAjIFNjYW4gcGF0dGVybiBhcmd1bWVudHMgYW5kIGFwcGVuZCBhIHNwYWNlIGlmIG5lY2Vzc2FyeQotICAgIGZvciBpIGluIHJhbmdlKGxlbihhcmdzKSk6Ci0gICAgICAgIGlmIG5vdCBSRV9TRUQuc2VhcmNoKGFyZ3NbaV0pOgotICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgYXJnc1tpXSA9IGFyZ3NbaV0gKyAnICcKLQotICAgIHJldHVybiBydW5fY29tbWFuZChuYW1lLCBhcmdzLCBpbnRlcnAsIGVudiwgc3RkaW4sIHN0ZG91dCwgCi0gICAgICAgIHN0ZGVyciwgZGVidWdmbGFncykKLQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyBzbGVlcCB1dGlsaXR5Ci0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotZGVmIHV0aWxpdHlfc2xlZXAobmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0gICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIGRlYnVnZmxhZ3M6Ci0gICAgICAgIHByaW50IGludGVycC5sb2coJyAnLmpvaW4oW25hbWUsIHN0cihhcmdzKSwgaW50ZXJwWydQV0QnXV0pICsgJ1xuJykKLSAgICB0aW1lLnNsZWVwKGludChhcmdzWzBdKSkKLSAgICByZXR1cm4gMAotICAgIAotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyBzb3J0IHV0aWxpdHkKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1PUFRfU09SVCA9IE5vbkV4aXRpbmdQYXJzZXIoInNvcnQgLSBzb3J0LCBtZXJnZSwgb3Igc2VxdWVuY2UgY2hlY2sgdGV4dCBmaWxlcyIpCi0KLWRlZiB1dGlsaXR5X3NvcnQobmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0KLSAgICBkZWYgc29ydChwYXRoKToKLSAgICAgICAgaWYgcGF0aCA9PSAnLSc6Ci0gICAgICAgICAgICBsaW5lcyA9IHN0ZGluLnJlYWRsaW5lcygpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgZiA9IGZpbGUocGF0aCkKLSAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIGxpbmVzID0gZi5yZWFkbGluZXMoKQotICAgICAgICAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICAgICAgICAgIGYuY2xvc2UoKQotICAgICAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZToKLSAgICAgICAgICAgICAgICBzdGRlcnIud3JpdGUoc3RyKGUpICsgJ1xuJykKLSAgICAgICAgICAgICAgICByZXR1cm4gMQotICAgICAgICAKLSAgICAgICAgaWYgbGluZXMgYW5kIGxpbmVzWy0xXVstMV0hPSdcbic6Ci0gICAgICAgICAgICBsaW5lc1stMV0gPSBsaW5lc1stMV0gKyAnXG4nCi0gICAgICAgIHJldHVybiBsaW5lcwotICAgIAotICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBkZWJ1Z2ZsYWdzOgotICAgICAgICBwcmludCBpbnRlcnAubG9nKCcgJy5qb2luKFtuYW1lLCBzdHIoYXJncyksIGludGVycFsnUFdEJ11dKSArICdcbicpCi0gICAgICAgIAotICAgIG9wdGlvbiwgYXJncyA9IE9QVF9TT1JULnBhcnNlX2FyZ3MoYXJncykKLSAgICBhbGxsaW5lcyA9IFtdCi0gICAgCi0gICAgaWYgbGVuKGFyZ3MpPD0wOgotICAgICAgICBhcmdzICs9IFsnLSddCi0gICAgICAgIAotICAgICMgTG9hZCBhbGwgZmlsZXMgbGluZXMKLSAgICBjdXJkaXIgPSBvcy5nZXRjd2QoKQotICAgIHRyeToKLSAgICAgICAgb3MuY2hkaXIoZW52WydQV0QnXSkKLSAgICAgICAgZm9yIHBhdGggaW4gYXJnczoKLSAgICAgICAgICAgIGFsbGxpbmVzICs9IHNvcnQocGF0aCkKLSAgICBmaW5hbGx5OgotICAgICAgICBvcy5jaGRpcihjdXJkaXIpCi0gICAgICAgICAgICAKLSAgICBhbGxsaW5lcy5zb3J0KCkKLSAgICBmb3IgbGluZSBpbiBhbGxsaW5lczoKLSAgICAgICAgc3Rkb3V0LndyaXRlKGxpbmUpCi0gICAgcmV0dXJuIDAKLSAgICAKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIGhnIHV0aWxpdHkKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLWhnY29tbWFuZHMgPSBbCi0gICAgJ2FkZCcsCi0gICAgJ2FkZHJlbW92ZScsCi0gICAgJ2NvbW1pdCcsICdjaScsCi0gICAgJ2RlYnVncmVuYW1lJywKLSAgICAnZGVidWd3YWxrJywKLSAgICAnZmFsYWJhbGEnLCAjIER1bW15IGNvbW1hbmQgdXNlZCBpbiBhIG1lcmN1cmlhbCB0ZXN0Ci0gICAgJ2luY29taW5nJywKLSAgICAnbG9jYXRlJywKLSAgICAncHVsbCcsCi0gICAgJ3B1c2gnLAotICAgICdxaW5pdCcsCi0gICAgJ3JlbW92ZScsICdybScsCi0gICAgJ3JlbmFtZScsICdtdicsCi0gICAgJ3JldmVydCcsICAgIAotICAgICdzaG93Y29uZmlnJywKLSAgICAnc3RhdHVzJywgJ3N0JywKLSAgICAnc3RyaXAnLAotICAgIF0KLQotZGVmIHJld3JpdGVzbGFzaGVzKG5hbWUsIGFyZ3MpOgotICAgICMgU2V2ZXJhbCBoZyBjb21tYW5kcyBvdXRwdXQgZmlsZSBwYXRocywgcmV3cml0ZSB0aGUgc2VwYXJhdG9ycwotICAgIGlmIGxlbihhcmdzKSA+IDEgYW5kIG5hbWUubG93ZXIoKS5lbmRzd2l0aCgncHl0aG9uJykgXAotICAgICAgIGFuZCBhcmdzWzBdLmVuZHN3aXRoKCdoZycpOgotICAgICAgICBmb3IgY21kIGluIGhnY29tbWFuZHM6Ci0gICAgICAgICAgICBpZiBjbWQgaW4gYXJnc1sxOl06Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAgICAgICAgICAgIAotICAgICMgc3ZuIG91dHB1dCBjb250YWlucyBtYW55IHBhdGhzIHdpdGggT1Mgc3BlY2lmaWMgc2VwYXJhdG9ycy4KLSAgICAjIE5vcm1hbGl6ZSB0aGVzZSB0byB1bml4IHBhdGhzLgotICAgIGJhc2UgPSBvcy5wYXRoLmJhc2VuYW1lKG5hbWUpCi0gICAgaWYgYmFzZS5zdGFydHN3aXRoKCdzdm4nKToKLSAgICAgICAgcmV0dXJuIFRydWUKLSAgICAKLSAgICByZXR1cm4gRmFsc2UKLQotZGVmIHJld3JpdGVoZyhvdXRwdXQpOgotICAgIGlmIG5vdCBvdXRwdXQ6Ci0gICAgICAgIHJldHVybiBvdXRwdXQKLSAgICAjIFJld3JpdGUgb3Mgc3BlY2lmaWMgbWVzc2FnZXMKLSAgICBvdXRwdXQgPSBvdXRwdXQucmVwbGFjZSgnOiBUaGUgc3lzdGVtIGNhbm5vdCBmaW5kIHRoZSBmaWxlIHNwZWNpZmllZCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJzogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeScpCi0gICAgb3V0cHV0ID0gcmUuc3ViKCc6IEFjY2VzcyBpcyBkZW5pZWQuKiQnLCAnOiBQZXJtaXNzaW9uIGRlbmllZCcsIG91dHB1dCkKLSAgICBvdXRwdXQgPSBvdXRwdXQucmVwbGFjZSgnOiBObyBjb25uZWN0aW9uIGNvdWxkIGJlIG1hZGUgYmVjYXVzZSB0aGUgdGFyZ2V0IG1hY2hpbmUgYWN0aXZlbHkgcmVmdXNlZCBpdCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJzogQ29ubmVjdGlvbiByZWZ1c2VkJykKLSAgICByZXR1cm4gb3V0cHV0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgCi0KLWRlZiBydW5fY29tbWFuZChuYW1lLCBhcmdzLCBpbnRlcnAsIGVudiwgc3RkaW4sIHN0ZG91dCwKLSAgICAgICAgICAgICAgICBzdGRlcnIsIGRlYnVnZmxhZ3MpOgotICAgICMgRXhlY3V0ZSB0aGUgY29tbWFuZAotICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBkZWJ1Z2ZsYWdzOgotICAgICAgICBwcmludCBpbnRlcnAubG9nKCcgJy5qb2luKFtuYW1lLCBzdHIoYXJncyksIGludGVycFsnUFdEJ11dKSArICdcbicpCi0KLSAgICBoZ2JpbiA9IGludGVycC5vcHRpb25zKCkuaGdiaW5hcnkKLSAgICBpc2hnID0gaGdiaW4gYW5kICgnaGcnIGluIG5hbWUgb3IgYXJncyBhbmQgJ2hnJyBpbiBhcmdzWzBdKQotICAgIHVuaXhvdXRwdXQgPSAnY3lnd2luJyBpbiBuYW1lIG9yIGlzaGcKLSAgICAKLSAgICBleGVjX2VudiA9IGVudi5nZXRfdmFyaWFibGVzKCkgICAgICAgIAotICAgIHRyeToKLSAgICAgICAgIyBCVUc6IGNvbXBhcmluZyBmaWxlIGRlc2NyaXB0b3IgaXMgY2xlYXJseSBub3QgYSByZWxpYWJsZSB3YXkgdG8gdGVsbAotICAgICAgICAjIHdoZXRoZXIgdGhleSBwb2ludCBvbiB0aGUgc2FtZSB1bmRlcmx5aW5nIG9iamVjdC4gQnV0IGluIHB5c2ggbGltaXRlZAotICAgICAgICAjIHNjb3BlIHRoaXMgaXMgdXN1YWxseSByaWdodCwgd2UgZG8gbm90IGV4cGVjdCBjb21wbGljYXRlZCByZWRpcmVjdGlvbnMKLSAgICAgICAgIyBiZXNpZGVzIHVzdWFsIDI+JjEuCi0gICAgICAgICMgU3RpbGwgdGhlcmUgaXMgb25lIGNhc2Ugd2UgaGF2ZSBidXQgY2Fubm90IGRlYWwgd2l0aCBpcyB3aGVuIHN0ZG91dAotICAgICAgICAjIGFuZCBzdGRlcnIgYXJlIHJlZGlyZWN0ZWQgKmJ5IHB5c2ggY2FsbGVyKi4gVGhpcyB0aGUgcmVhc29uIGZvciB0aGUKLSAgICAgICAgIyAtLXJlZGlyZWN0IHB5c2goKSBvcHRpb24uCi0gICAgICAgICMgTm93LCB3ZSB3YW50IHRvIGtub3cgdGhleSBhcmUgdGhlIHNhbWUgYmVjYXVzZSB3ZSBzb21ldGltZXMgbmVlZCB0byAKLSAgICAgICAgIyB0cmFuc2Zvcm0gdGhlIGNvbW1hbmQgb3V0cHV0LCBtb3N0bHkgcmVtb3ZlIENSLUxGIHRvIGVuc3VyZSB0aGF0Ci0gICAgICAgICMgY29tbWFuZCBvdXRwdXQgaXMgdW5peC1saWtlLiBDeWd3aW4gdXRpbGllcyBhcmUgYSBzcGVjaWFsIGNhc2UgYmVjYXVzZQotICAgICAgICAjIHRoZXkgZXhwbGljaXRlbHkgc2V0IHRoZWlyIG91dHB1dCBzdHJlYW1zIHRvIGJpbmFyeSBtb2RlLCBzbyB3ZSBoYXZlCi0gICAgICAgICMgbm90aGluZyB0byBkby4gRm9yIGFsbCBvdGhlcnMgY29tbWFuZHMsIHdlIGhhdmUgdG8gZ3Vlc3Mgd2hldGhlciB0aGV5Ci0gICAgICAgICMgYXJlIHNlbmRpbmcgdGV4dCBkYXRhLCBpbiB3aGljaCBjYXNlIHRoZSB0cmFuc2Zvcm1hdGlvbiBtdXN0IGJlIGRvbmUuCi0gICAgICAgICMgQWdhaW4sIHRoZSBOVUwgY2hhcmFjdGVyIHRlc3QgaXMgdW5yZWxpYWJsZSBidXQgc2hvdWxkIGJlIGVub3VnaCBmb3IKLSAgICAgICAgIyBoZyB0ZXN0cy4KLSAgICAgICAgcmVkaXJlY3RlZCA9IHN0ZG91dC5maWxlbm8oKT09c3RkZXJyLmZpbGVubygpCi0gICAgICAgIGlmIG5vdCByZWRpcmVjdGVkOgotICAgICAgICAgICAgcCA9IHN1YnByb2Nlc3MuUG9wZW4oW25hbWVdICsgYXJncywgY3dkPWVudlsnUFdEJ10sIGVudj1leGVjX2VudiwgCi0gICAgICAgICAgICAgICAgICAgIHN0ZGluPXN0ZGluLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLCBzdGRlcnI9c3VicHJvY2Vzcy5QSVBFKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcCA9IHN1YnByb2Nlc3MuUG9wZW4oW25hbWVdICsgYXJncywgY3dkPWVudlsnUFdEJ10sIGVudj1leGVjX2VudiwgCi0gICAgICAgICAgICAgICAgICAgIHN0ZGluPXN0ZGluLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLCBzdGRlcnI9c3VicHJvY2Vzcy5TVERPVVQpCi0gICAgICAgIG91dCwgZXJyID0gcC5jb21tdW5pY2F0ZSgpCi0gICAgZXhjZXB0IFdpbmRvd3NFcnJvciBhcyBlOgotICAgICAgICByYWlzZSBVdGlsaXR5RXJyb3Ioc3RyKGUpKQotCi0gICAgaWYgbm90IHVuaXhvdXRwdXQ6Ci0gICAgICAgIGRlZiBlbmNvZGUocyk6Ci0gICAgICAgICAgICBpZiAnXDAnIGluIHM6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHMKLSAgICAgICAgICAgIHJldHVybiBzLnJlcGxhY2UoJ1xyXG4nLCAnXG4nKQotICAgIGVsc2U6Ci0gICAgICAgIGVuY29kZSA9IGxhbWJkYSBzOiBzCi0KLSAgICBpZiByZXdyaXRlc2xhc2hlcyhuYW1lLCBhcmdzKToKLSAgICAgICAgZW5jb2RlMV8gPSBlbmNvZGUKLSAgICAgICAgZGVmIGVuY29kZShzKToKLSAgICAgICAgICAgIHMgPSBlbmNvZGUxXyhzKQotICAgICAgICAgICAgcyA9IHMucmVwbGFjZSgnXFxcXCcsICdcXCcpCi0gICAgICAgICAgICBzID0gcy5yZXBsYWNlKCdcXCcsICcvJykKLSAgICAgICAgICAgIHJldHVybiBzCi0KLSAgICBpZiBpc2hnOgotICAgICAgICBlbmNvZGUyXyA9IGVuY29kZQotICAgICAgICBkZWYgZW5jb2RlKHMpOgotICAgICAgICAgICAgcmV0dXJuIHJld3JpdGVoZyhlbmNvZGUyXyhzKSkKLSAgICAKLSAgICBzdGRvdXQud3JpdGUoZW5jb2RlKG91dCkpCi0gICAgaWYgbm90IHJlZGlyZWN0ZWQ6Ci0gICAgICAgIHN0ZGVyci53cml0ZShlbmNvZGUoZXJyKSkKLSAgICByZXR1cm4gcC5yZXR1cm5jb2RlCi0gICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvcHlzaC9pbnRlcnAucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvaW50ZXJwLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMTRlY2YzLi4wMDAwMDAwCi0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvcHlzaC9pbnRlcnAucHkKKysrIC9kZXYvbnVsbApAQCAtMSwxMzY3ICswLDAgQEAKLSMgaW50ZXJwLnB5IC0gc2hlbGwgaW50ZXJwcmV0ZXIgZm9yIHB5c2guCi0jCi0jIENvcHlyaWdodCAyMDA3IFBhdHJpY2sgTWV6YXJkCi0jCi0jIFRoaXMgc29mdHdhcmUgbWF5IGJlIHVzZWQgYW5kIGRpc3RyaWJ1dGVkIGFjY29yZGluZyB0byB0aGUgdGVybXMKLSMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCBpbmNvcnBvcmF0ZWQgaGVyZWluIGJ5IHJlZmVyZW5jZS4KLQotIiIiSW1wbGVtZW50IHRoZSBzaGVsbCBpbnRlcnByZXRlci4KLQotTW9zdCByZWZlcmVuY2VzIGFyZSBtYWRlIHRvICJUaGUgT3BlbiBHcm91cCBCYXNlIFNwZWNpZmljYXRpb25zIElzc3VlIDYiLgotPGh0dHA6Ly93d3cub3Blbmdyb3VwLm9yZy9vbmxpbmVwdWJzLzAwOTY5NTM5OS91dGlsaXRpZXMveGN1X2NoYXAwMi5odG1sPgotIiIiCi0jIFRPRE86IGRvY3VtZW50IHRoZSBmYWN0IGlucHV0IHN0cmVhbXMgbXVzdCBpbXBsZW1lbnQgZmlsZW5vKCkgc28gUG9wZW4gd2lsbCB3b3JrIGNvcnJlY3RseS4KLSMgaXQgcmVxdWlyZXMgbm9uLXN0ZGluIHN0cmVhbSB0byBiZSBpbXBsZW1lbnRlZCBhcyBmaWxlcy4gU3RpbGwgdG8gYmUgdGVzdGVkLi4uCi0jIERPQzogcGF0aHNlcCBpcyB1c2VkIGluIFBBVEggaW5zdGVhZCBvZiAnOicuIENsZWFybHksIHRoZXJlIGFyZSBwYXRoIHN5bnRheCBpc3N1ZXMgaGVyZS4KLSMgVE9ETzogc3RvcCBjb21tYW5kIGV4ZWN1dGlvbiB1cG9uIGVycm9yLgotIyBUT0RPOiBzb3J0IG91dCB0aGUgZmlsZW5hbWUvaW9fbnVtYmVyIG1lc3MuIEl0IHNob3VsZCBiZSBwb3NzaWJsZSB0byB1c2UgZmlsZW5hbWVzIG9ubHkuCi0jIFRPRE86IHJldmlldyBzdWJzaGVsbCBpbXBsZW1lbnRhdGlvbgotIyBUT0RPOiB0ZXN0IGVudmlyb25tZW50IGNsb25pbmcgZm9yIG5vbi1zcGVjaWFsIGJ1aWx0aW5zCi0jIFRPRE86IHNldCAteCBzaG91bGQgbm90IHJlYnVpbGQgY29tbWFuZHMgZnJvbSB0b2tlbnMsIGFzc2lnbm1lbnRzL3JlZGlyZWN0aW9ucyBhcmUgbG9zdAotIyBUT0RPOiB1bml0IHRlc3QgZm9yIHZhcmlhYmxlIGFzc2lnbm1lbnQKLSMgVE9ETzogdGVzdCBlcnJvciBtYW5hZ2VtZW50IHdydCBlcnJvciB0eXBlL3V0aWxpdHkgdHlwZQotIyBUT0RPOiB0ZXN0IGZvciBiaW5hcnkgb3V0cHV0IGV2ZXJ5d2hlcmUKLSMgQlVHOiBkZWJ1Zy1wYXJzaW5nIGRvZXMgbm90IHBhc3MgbG9nIGZpbGUgdG8gUExZLiBNYXliZSBhIFBMWSB1cGdyYWRlIGlzIG5lY2Vzc2FyeS4KLWltcG9ydCBiYXNlNjQKLWltcG9ydCBjUGlja2xlIGFzIHBpY2tsZQotaW1wb3J0IGVycm5vCi1pbXBvcnQgZ2xvYgotaW1wb3J0IG9zCi1pbXBvcnQgcmUKLWltcG9ydCBzdWJwcm9jZXNzCi1pbXBvcnQgc3lzCi1pbXBvcnQgdGVtcGZpbGUKLQotdHJ5OgotICAgIHMgPSBzZXQoKQotICAgIGRlbCBzCi1leGNlcHQgTmFtZUVycm9yOgotICAgIGZyb20gU2V0IGltcG9ydCBTZXQgYXMgc2V0Ci0KLWltcG9ydCBidWlsdGluCi1mcm9tIHNoZXJyb3JzIGltcG9ydCAqCi1pbXBvcnQgcHlzaGxleAotaW1wb3J0IHB5c2h5YWNjCi0KLWRlZiBtYXBwZW5kKGZ1bmMsICphcmdzLCAqKmthcmdzKToKLSAgICAiIiJMaWtlIG1hcCBidXQgYXNzdW1lIGZ1bmMgcmV0dXJucyBhIGxpc3QuIFJldHVybmVkIGxpc3RzIGFyZSBtZXJnZWQgaW50bwotICAgIGEgc2luZ2xlIG9uZS4KLSAgICAiIiIKLSAgICByZXR1cm4gcmVkdWNlKGxhbWJkYSBhLGI6IGErYiwgbWFwKGZ1bmMsICphcmdzLCAqKmthcmdzKSwgW10pCi0KLWNsYXNzIEZpbGVXcmFwcGVyOgotICAgICIiIkZpbGUgb2JqZWN0IHdyYXBwZXIgdG8gZWFzZSBkZWJ1Z2dpbmcuCi0gICAgCi0gICAgQWxsb3cgbW9kZSBjaGVja2luZyBhbmQgaW1wbGVtZW50IGZpbGUgZHVwbGljYXRpb24gdGhyb3VnaCBhIHNpbXBsZSAKLSAgICByZWZlcmVuY2UgY291bnRpbmcgc2NoZW1lLiBOb3Qgc3VyZSB0aGUgbGF0dGVyIGlzIHJlYWxseSB1c2VmdWwgc2luY2UKLSAgICBvbmx5IHJlYWwgZmlsZSBkZXNjcmlwdG9ycyBjYW4gYmUgdXNlZC4KLSAgICAiIiIKLSAgICBkZWYgX19pbml0X18oc2VsZiwgbW9kZSwgZmlsZSwgY2xvc2U9VHJ1ZSk6Ci0gICAgICAgIGlmIG1vZGUgbm90IGluICgncicsICd3JywgJ2EnKToKLSAgICAgICAgICAgIHJhaXNlIElPRXJyb3IoJ2ludmFsaWQgbW9kZTogJXMnICUgbW9kZSkKLSAgICAgICAgc2VsZi5fbW9kZSA9IG1vZGUKLSAgICAgICAgc2VsZi5fY2xvc2UgPSBjbG9zZQotICAgICAgICBpZiBpc2luc3RhbmNlKGZpbGUsIEZpbGVXcmFwcGVyKToKLSAgICAgICAgICAgIGlmIGZpbGUuX3JlZmNvdW50WzBdIDw9IDA6Ci0gICAgICAgICAgICAgICAgcmFpc2UgSU9FcnJvcigwLCAnRXJyb3InKQotICAgICAgICAgICAgc2VsZi5fcmVmY291bnQgPSBmaWxlLl9yZWZjb3VudAotICAgICAgICAgICAgc2VsZi5fcmVmY291bnRbMF0gKz0gMQotICAgICAgICAgICAgc2VsZi5fZmlsZSA9IGZpbGUuX2ZpbGUKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuX3JlZmNvdW50ID0gWzFdCi0gICAgICAgICAgICBzZWxmLl9maWxlID0gZmlsZQotICAgICAgICAKLSAgICBkZWYgZHVwKHNlbGYpOgotICAgICAgICByZXR1cm4gRmlsZVdyYXBwZXIoc2VsZi5fbW9kZSwgc2VsZiwgc2VsZi5fY2xvc2UpCi0gICAgICAgIAotICAgIGRlZiBmaWxlbm8oc2VsZik6Ci0gICAgICAgICIiImZpbGVubygpIHNob3VsZCBiZSBvbmx5IG5lY2Vzc2FyeSBmb3IgaW5wdXQgc3RyZWFtcy4iIiIKLSAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGUuZmlsZW5vKCkKLSAgICAgICAgCi0gICAgZGVmIHJlYWQoc2VsZiwgc2l6ZT0tMSk6Ci0gICAgICAgIGlmIHNlbGYuX21vZGUhPSdyJzoKLSAgICAgICAgICAgIHJhaXNlIElPRXJyb3IoMCwgJ0Vycm9yJykKLSAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGUucmVhZChzaXplKQotICAgICAgICAKLSAgICBkZWYgcmVhZGxpbmVzKHNlbGYsICphcmdzLCAqKmt3YXJncyk6Ci0gICAgICAgIHJldHVybiBzZWxmLl9maWxlLnJlYWRsaW5lcygqYXJncywgKiprd2FyZ3MpCi0gICAgICAgIAotICAgIGRlZiB3cml0ZShzZWxmLCBzKToKLSAgICAgICAgaWYgc2VsZi5fbW9kZSBub3QgaW4gKCd3JywgJ2EnKToKLSAgICAgICAgICAgIHJhaXNlIElPRXJyb3IoMCwgJ0Vycm9yJykKLSAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGUud3JpdGUocykKLSAgICAgICAgCi0gICAgZGVmIGZsdXNoKHNlbGYpOgotICAgICAgICBzZWxmLl9maWxlLmZsdXNoKCkKLSAgICAgICAgCi0gICAgZGVmIGNsb3NlKHNlbGYpOiAgICAgICAgCi0gICAgICAgIGlmIG5vdCBzZWxmLl9yZWZjb3VudDoKLSAgICAgICAgICAgIHJldHVybgotICAgICAgICBhc3NlcnQgIHNlbGYuX3JlZmNvdW50WzBdID4gMAotICAgICAgICAKLSAgICAgICAgc2VsZi5fcmVmY291bnRbMF0gLT0gMSAgICAKLSAgICAgICAgaWYgc2VsZi5fcmVmY291bnRbMF0gPT0gMDoKLSAgICAgICAgICAgIHNlbGYuX21vZGUgPSAnYycKLSAgICAgICAgICAgIGlmIHNlbGYuX2Nsb3NlOgotICAgICAgICAgICAgICAgIHNlbGYuX2ZpbGUuY2xvc2UoKQotICAgICAgICBzZWxmLl9yZWZjb3VudCA9IE5vbmUKLSAgICAgICAgICAgICAgICAKLSAgICBkZWYgbW9kZShzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYuX21vZGUKLQotICAgIGRlZiBfX2dldGF0dHJfXyhzZWxmLCBuYW1lKToKLSAgICAgICAgaWYgbmFtZSA9PSAnbmFtZSc6Ci0gICAgICAgICAgICBzZWxmLm5hbWUgPSBnZXRhdHRyKHNlbGYuX2ZpbGUsIG5hbWUpCi0gICAgICAgICAgICByZXR1cm4gc2VsZi5uYW1lCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcihuYW1lKQotCi0gICAgZGVmIF9fZGVsX18oc2VsZik6Ci0gICAgICAgIHNlbGYuY2xvc2UoKQotICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAKLWRlZiB3aW4zMl9vcGVuX2Rldm51bGwobW9kZSk6Ci0gICAgcmV0dXJuIG9wZW4oJ05VTCcsIG1vZGUpCi0gICAgCi0gICAgICAgIAotY2xhc3MgUmVkaXJlY3Rpb25zOgotICAgICIiIlN0b3JlcyBvcGVuIGZpbGVzIGFuZCB0aGVpciBtYXBwaW5nIHRvIHBzZXVkby1zaCBmaWxlIGRlc2NyaXB0b3IuCi0gICAgIiIiCi0gICAgIyBCVUc6IHJlZGlyZWN0aW9ucyBhcmUgbm90IGhhbmRsZWQgY29ycmVjdGx5OiAxPiYzIDI+JjMgMz4mNCBkb2VzIAotICAgICMgbm90IG1ha2UgMSB0byByZWRpcmVjdCB0byA0Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHN0ZGluPU5vbmUsIHN0ZG91dD1Ob25lLCBzdGRlcnI9Tm9uZSk6Ci0gICAgICAgIHNlbGYuX2Rlc2NyaXB0b3JzID0ge30KLSAgICAgICAgaWYgc3RkaW4gaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBzZWxmLl9hZGRfZGVzY3JpcHRvcigwLCBzdGRpbikKLSAgICAgICAgaWYgc3Rkb3V0IGlzIG5vdCBOb25lOgotICAgICAgICAgICAgc2VsZi5fYWRkX2Rlc2NyaXB0b3IoMSwgc3Rkb3V0KQotICAgICAgICBpZiBzdGRlcnIgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBzZWxmLl9hZGRfZGVzY3JpcHRvcigyLCBzdGRlcnIpCi0gICAgICAgICAgICAKLSAgICBkZWYgYWRkX2hlcmVfZG9jdW1lbnQoc2VsZiwgaW50ZXJwLCBuYW1lLCBjb250ZW50LCBpb19udW1iZXI9Tm9uZSk6Ci0gICAgICAgIGlmIGlvX251bWJlciBpcyBOb25lOgotICAgICAgICAgICAgaW9fbnVtYmVyID0gMAotICAgICAgICAgICAgCi0gICAgICAgIGlmIG5hbWU9PXB5c2hsZXgudW5xdW90ZV93b3JkdHJlZShuYW1lKToKLSAgICAgICAgICAgIGNvbnRlbnQgPSBpbnRlcnAuZXhwYW5kX2hlcmVfZG9jdW1lbnQoKCdUT0tFTicsIGNvbnRlbnQpKQotICAgIAotICAgICAgICAjIFdyaXRlIGRvY3VtZW50IGNvbnRlbnQgaW4gYSB0ZW1wb3JhcnkgZmlsZQotICAgICAgICB0bXAgPSB0ZW1wZmlsZS5UZW1wb3JhcnlGaWxlKCkKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgdG1wLndyaXRlKGNvbnRlbnQpCi0gICAgICAgICAgICB0bXAuZmx1c2goKQotICAgICAgICAgICAgdG1wLnNlZWsoMCkKLSAgICAgICAgICAgIHNlbGYuX2FkZF9kZXNjcmlwdG9yKGlvX251bWJlciwgRmlsZVdyYXBwZXIoJ3InLCB0bXApKQotICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICB0bXAuY2xvc2UoKQotICAgICAgICAgICAgcmFpc2UgICAgICAgICAgICAgICAgCi0gICAgICAgIAotICAgIGRlZiBhZGQoc2VsZiwgaW50ZXJwLCBvcCwgZmlsZW5hbWUsIGlvX251bWJlcj1Ob25lKToKLSAgICAgICAgaWYgb3Agbm90IGluICgnPCcsICc+JywgJz58JywgJz4+JywgJz4mJyk6Ci0gICAgICAgICAgICAjIFRPRE86IGFkZCBkZXNjcmlwdG9yIGR1cGxpY2F0aW9uIGFuZCBoZXJlX2RvY3VtZW50cyAgICAgIAotICAgICAgICAgICAgcmFpc2UgUmVkaXJlY3Rpb25FcnJvcignVW5zdXBwb3J0ZWQgcmVkaXJlY3Rpb24gb3BlcmF0b3IgIiVzIicgJSBvcCkKLSAgICAgICAgICAgIAotICAgICAgICBpZiBpb19udW1iZXIgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBpb19udW1iZXIgPSBpbnQoaW9fbnVtYmVyKQotICAgICAgICAgICAgCi0gICAgICAgIGlmIChvcCA9PSAnPiYnIGFuZCBmaWxlbmFtZS5pc2RpZ2l0KCkpIG9yIGZpbGVuYW1lPT0nLSc6Ci0gICAgICAgICAgICAjIE5vIGV4cGFuc2lvbiBmb3IgZmlsZSBkZXNjcmlwdG9ycywgcXVvdGUgdGhlbSBpZiB5b3Ugd2FudCBhIGZpbGVuYW1lCi0gICAgICAgICAgICBmdWxsbmFtZSA9IGZpbGVuYW1lCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBpZiBmaWxlbmFtZS5zdGFydHN3aXRoKCcvJyk6Ci0gICAgICAgICAgICAgICAgIyBUT0RPOiB3aW4zMiBrbHVkZ2UKLSAgICAgICAgICAgICAgICBpZiBmaWxlbmFtZT09Jy9kZXYvbnVsbCc6Ci0gICAgICAgICAgICAgICAgICAgIGZ1bGxuYW1lID0gJ05VTCcKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAjIFRPRE86IGhhbmRsZSBhYnNvbHV0ZSBwYXRobmFtZXMsIHRoZXkgYXJlIHVubGlrZWx5IHRvIGV4aXN0IG9uIHRoZQotICAgICAgICAgICAgICAgICAgICAjIGN1cnJlbnQgcGxhdGZvcm0gKHdpbjMyIGZvciBpbnN0YW5jZSkuCi0gICAgICAgICAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBmdWxsbmFtZSA9IGludGVycC5leHBhbmRfcmVkaXJlY3Rpb24oKCdUT0tFTicsIGZpbGVuYW1lKSkKLSAgICAgICAgICAgICAgICBpZiBub3QgZnVsbG5hbWU6Ci0gICAgICAgICAgICAgICAgICAgIHJhaXNlIFJlZGlyZWN0aW9uRXJyb3IoJyVzOiBhbWJpZ3VvdXMgcmVkaXJlY3QnICUgZmlsZW5hbWUpCi0gICAgICAgICAgICAgICAgIyBCdWlsZCBhYnNvbHV0ZSBwYXRoIGJhc2VkIG9uIFBXRAotICAgICAgICAgICAgICAgIGZ1bGxuYW1lID0gb3MucGF0aC5qb2luKGludGVycC5nZXRfZW52KClbJ1BXRCddLCBmdWxsbmFtZSkKLSAgICAgICAgICAgIAotICAgICAgICBpZiBvcD09JzwnOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2FkZF9pbnB1dF9yZWRpcmVjdGlvbihpbnRlcnAsIGZ1bGxuYW1lLCBpb19udW1iZXIpCi0gICAgICAgIGVsaWYgb3AgaW4gKCc+JywgJz58Jyk6Ci0gICAgICAgICAgICBjbG9iYmVyID0gKCc+fCc9PW9wKQotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2FkZF9vdXRwdXRfcmVkaXJlY3Rpb24oaW50ZXJwLCBmdWxsbmFtZSwgaW9fbnVtYmVyLCBjbG9iYmVyKQotICAgICAgICBlbGlmIG9wPT0nPj4nOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2FkZF9vdXRwdXRfYXBwZW5kaW5nKGludGVycCwgZnVsbG5hbWUsIGlvX251bWJlcikKLSAgICAgICAgZWxpZiBvcD09Jz4mJzoKLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9kdXBfb3V0cHV0X2Rlc2NyaXB0b3IoZnVsbG5hbWUsIGlvX251bWJlcikKLSAgICAgICAgCi0gICAgZGVmIGNsb3NlKHNlbGYpOgotICAgICAgICBpZiBzZWxmLl9kZXNjcmlwdG9ycyBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIGZvciBkZXNjIGluIHNlbGYuX2Rlc2NyaXB0b3JzLml0ZXJ2YWx1ZXMoKToKLSAgICAgICAgICAgICAgICBkZXNjLmZsdXNoKCkKLSAgICAgICAgICAgICAgICBkZXNjLmNsb3NlKCkKLSAgICAgICAgICAgIHNlbGYuX2Rlc2NyaXB0b3JzID0gTm9uZQotICAgICAgICAgICAgCi0gICAgZGVmIHN0ZGluKHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi5fZGVzY3JpcHRvcnNbMF0KLSAgICAgICAgICAKLSAgICBkZWYgc3Rkb3V0KHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi5fZGVzY3JpcHRvcnNbMV0gCi0gICAgICAgIAotICAgIGRlZiBzdGRlcnIoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLl9kZXNjcmlwdG9yc1syXSAKLSAgICAgICAgICAgIAotICAgIGRlZiBjbG9uZShzZWxmKToKLSAgICAgICAgY2xvbmUgPSBSZWRpcmVjdGlvbnMoKQotICAgICAgICBmb3IgZGVzYywgZmlsZW9iaiBpbiBzZWxmLl9kZXNjcmlwdG9ycy5pdGVyaXRlbXMoKToKLSAgICAgICAgICAgIGNsb25lLl9kZXNjcmlwdG9yc1tkZXNjXSA9IGZpbGVvYmouZHVwKCkKLSAgICAgICAgcmV0dXJuIGNsb25lCi0gICAgICAgICAgIAotICAgIGRlZiBfYWRkX291dHB1dF9yZWRpcmVjdGlvbihzZWxmLCBpbnRlcnAsIGZpbGVuYW1lLCBpb19udW1iZXIsIGNsb2JiZXIpOiAgICAKLSAgICAgICAgaWYgaW9fbnVtYmVyIGlzIE5vbmU6Ci0gICAgICAgICAgICAjIGlvX251bWJlciBkZWZhdWx0IHRvIHN0YW5kYXJkIG91dHB1dAotICAgICAgICAgICAgaW9fbnVtYmVyID0gMQotICAgICAgICAKLSAgICAgICAgaWYgbm90IGNsb2JiZXIgYW5kIGludGVycC5nZXRfZW52KCkuaGFzX29wdCgnLUMnKSBhbmQgb3MucGF0aC5pc2ZpbGUoZmlsZW5hbWUpOgotICAgICAgICAgICAgIyBGaWxlIGFscmVhZHkgZXhpc3QgaW4gbm8tY2xvYmJlciBtb2RlLCBiYWlsIG91dAotICAgICAgICAgICAgcmFpc2UgUmVkaXJlY3Rpb25FcnJvcignRmlsZSAiJXMiIGFscmVhZHkgZXhpc3RzJyAlIGZpbGVuYW1lKQotICAgICAgICAgICAgCi0gICAgICAgICMgT3BlbiBhbmQgcmVnaXN0ZXIKLSAgICAgICAgc2VsZi5fYWRkX2ZpbGVfZGVzY3JpcHRvcihpb19udW1iZXIsIGZpbGVuYW1lLCAndycpCi0gICAgICAgIAotICAgIGRlZiBfYWRkX291dHB1dF9hcHBlbmRpbmcoc2VsZiwgaW50ZXJwLCBmaWxlbmFtZSwgaW9fbnVtYmVyKTogICAgCi0gICAgICAgIGlmIGlvX251bWJlciBpcyBOb25lOgotICAgICAgICAgICAgaW9fbnVtYmVyID0gMQotICAgICAgICBzZWxmLl9hZGRfZmlsZV9kZXNjcmlwdG9yKGlvX251bWJlciwgZmlsZW5hbWUsICdhJykKLSAgICAgICAgICAgIAotICAgIGRlZiBfYWRkX2lucHV0X3JlZGlyZWN0aW9uKHNlbGYsIGludGVycCwgZmlsZW5hbWUsIGlvX251bWJlcik6Ci0gICAgICAgIGlmIGlvX251bWJlciBpcyBOb25lOgotICAgICAgICAgICAgaW9fbnVtYmVyID0gMAotICAgICAgICBzZWxmLl9hZGRfZmlsZV9kZXNjcmlwdG9yKGlvX251bWJlciwgZmlsZW5hbWUsICdyJykKLSAgICAgICAgCi0gICAgZGVmIF9hZGRfZmlsZV9kZXNjcmlwdG9yKHNlbGYsIGlvX251bWJlciwgZmlsZW5hbWUsIG1vZGUpOiAgICAKLSAgICAgICAgdHJ5OiAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgZmlsZW5hbWUuc3RhcnRzd2l0aCgnLycpOgotICAgICAgICAgICAgICAgIGlmIGZpbGVuYW1lPT0nL2Rldi9udWxsJzoKLSAgICAgICAgICAgICAgICAgICAgZiA9IHdpbjMyX29wZW5fZGV2bnVsbChtb2RlKydiJykKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAjIFRPRE86IGhhbmRsZSBhYnNvbHV0ZSBwYXRobmFtZXMsIHRoZXkgYXJlIHVubGlrZWx5IHRvIGV4aXN0IG9uIHRoZQotICAgICAgICAgICAgICAgICAgICAjIGN1cnJlbnQgcGxhdGZvcm0gKHdpbjMyIGZvciBpbnN0YW5jZSkuCi0gICAgICAgICAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoJ2Nhbm5vdCBvcGVuIGFic29sdXRlIHBhdGggJXMnICUgcmVwcihmaWxlbmFtZSkpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGYgPSBmaWxlKGZpbGVuYW1lLCBtb2RlKydiJykKLSAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZToKLSAgICAgICAgICAgIHJhaXNlIFJlZGlyZWN0aW9uRXJyb3Ioc3RyKGUpKQotICAgICAgICAgICAgCi0gICAgICAgIHdyYXBwZXIgPSBOb25lCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHdyYXBwZXIgPSBGaWxlV3JhcHBlcihtb2RlLCBmKQotICAgICAgICAgICAgZiA9IE5vbmUKLSAgICAgICAgICAgIHNlbGYuX2FkZF9kZXNjcmlwdG9yKGlvX251bWJlciwgd3JhcHBlcikKLSAgICAgICAgZXhjZXB0OgotICAgICAgICAgICAgaWYgZjogZi5jbG9zZSgpCi0gICAgICAgICAgICBpZiB3cmFwcGVyOiB3cmFwcGVyLmNsb3NlKCkKLSAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICAgICAKLSAgICBkZWYgX2R1cF9vdXRwdXRfZGVzY3JpcHRvcihzZWxmLCBzb3VyY2VfZmQsIGRlc3RfZmQpOgotICAgICAgICBpZiBzb3VyY2VfZmQgaXMgTm9uZToKLSAgICAgICAgICAgIHNvdXJjZV9mZCA9IDEKLSAgICAgICAgc2VsZi5fZHVwX2ZpbGVfZGVzY3JpcHRvcihzb3VyY2VfZmQsIGRlc3RfZmQsICd3JykKLSAgICAgICAgICAgIAotICAgIGRlZiBfZHVwX2ZpbGVfZGVzY3JpcHRvcihzZWxmLCBzb3VyY2VfZmQsIGRlc3RfZmQsIG1vZGUpOgotICAgICAgICBzb3VyY2VfZmQgPSBpbnQoc291cmNlX2ZkKQotICAgICAgICBpZiBzb3VyY2VfZmQgbm90IGluIHNlbGYuX2Rlc2NyaXB0b3JzOgotICAgICAgICAgICAgcmFpc2UgUmVkaXJlY3Rpb25FcnJvcignIiVzIiBpcyBub3QgYSB2YWxpZCBmaWxlIGRlc2NyaXB0b3InICUgc3RyKHNvdXJjZV9mZCkpCi0gICAgICAgIHNvdXJjZSA9IHNlbGYuX2Rlc2NyaXB0b3JzW3NvdXJjZV9mZF0KLSAgICAgICAgCi0gICAgICAgIGlmIHNvdXJjZS5tb2RlKCkhPW1vZGU6Ci0gICAgICAgICAgICByYWlzZSBSZWRpcmVjdGlvbkVycm9yKCdEZXNjcmlwdG9yICVzIGNhbm5vdCBiZSBkdXBsaWNhdGVkIGluIG1vZGUgIiVzIicgJSAoc3RyKHNvdXJjZSksIG1vZGUpKQotICAgICAgICAKLSAgICAgICAgaWYgZGVzdF9mZD09Jy0nOgotICAgICAgICAgICAgIyBDbG9zZSB0aGUgc291cmNlIGRlc2NyaXB0b3IKLSAgICAgICAgICAgIGRlbCBzZWxmLl9kZXNjcmlwdG9yc1tzb3VyY2VfZmRdCi0gICAgICAgICAgICBzb3VyY2UuY2xvc2UoKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgZGVzdF9mZCA9IGludChkZXN0X2ZkKQotICAgICAgICAgICAgaWYgZGVzdF9mZCBub3QgaW4gc2VsZi5fZGVzY3JpcHRvcnM6Ci0gICAgICAgICAgICAgICAgcmFpc2UgUmVkaXJlY3Rpb25FcnJvcignQ2Fubm90IHJlcGxhY2UgZmlsZSBkZXNjcmlwdG9yICVzJyAlIHN0cihkZXN0X2ZkKSkKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgIGRlc3QgPSBzZWxmLl9kZXNjcmlwdG9yc1tkZXN0X2ZkXQotICAgICAgICAgICAgaWYgZGVzdC5tb2RlKCkhPW1vZGU6Ci0gICAgICAgICAgICAgICAgcmFpc2UgUmVkaXJlY3Rpb25FcnJvcignRGVzY3JpcHRvciAlcyBjYW5ub3QgYmUgY2Fubm90IGJlIHJlZGlyZWN0ZWQgaW4gbW9kZSAiJXMiJyAlIChzdHIoZGVzdCksIG1vZGUpKQotICAgICAgICAgICAgCi0gICAgICAgICAgICBzZWxmLl9kZXNjcmlwdG9yc1tkZXN0X2ZkXSA9IHNvdXJjZS5kdXAoKQotICAgICAgICAgICAgZGVzdC5jbG9zZSgpICAgICAgICAKLSAgICAgICAgICAgIAotICAgIGRlZiBfYWRkX2Rlc2NyaXB0b3Ioc2VsZiwgaW9fbnVtYmVyLCBmaWxlKToKLSAgICAgICAgaW9fbnVtYmVyID0gaW50KGlvX251bWJlcikKLSAgICAgICAgCi0gICAgICAgIGlmIGlvX251bWJlciBpbiBzZWxmLl9kZXNjcmlwdG9yczoKLSAgICAgICAgICAgICMgQ2xvc2UgdGhlIGN1cnJlbnQgZGVzY3JpcHRvcgotICAgICAgICAgICAgZCA9IHNlbGYuX2Rlc2NyaXB0b3JzW2lvX251bWJlcl0KLSAgICAgICAgICAgIGRlbCBzZWxmLl9kZXNjcmlwdG9yc1tpb19udW1iZXJdCi0gICAgICAgICAgICBkLmNsb3NlKCkKLSAgICAgICAgICAgIAotICAgICAgICBzZWxmLl9kZXNjcmlwdG9yc1tpb19udW1iZXJdID0gZmlsZQotCi0gICAgZGVmIF9fc3RyX18oc2VsZik6Ci0gICAgICAgIG5hbWVzID0gWygnJWQ9JXInICUgKGssIGdldGF0dHIodiwgJ25hbWUnLCBOb25lKSkpIGZvciBrLHYKLSAgICAgICAgICAgICAgICAgaW4gc2VsZi5fZGVzY3JpcHRvcnMuaXRlcml0ZW1zKCldCi0gICAgICAgIG5hbWVzID0gJywnLmpvaW4obmFtZXMpCi0gICAgICAgIHJldHVybiAnUmVkaXJlY3Rpb25zKCVzKScgJSBuYW1lcwotCi0gICAgZGVmIF9fZGVsX18oc2VsZik6Ci0gICAgICAgIHNlbGYuY2xvc2UoKQotICAgIAotZGVmIGN5Z3dpbl90b193aW5kb3dzX3BhdGgocGF0aCk6Ci0gICAgIiIiVHVybiAvY3lnZHJpdmUvYy9mb28gaW50byBjOi9mb28sIG9yIHJldHVybiBwYXRoIGlmIGl0Ci0gICAgaXMgbm90IGEgY3lnd2luIHBhdGguCi0gICAgIiIiCi0gICAgaWYgbm90IHBhdGguc3RhcnRzd2l0aCgnL2N5Z2RyaXZlLycpOgotICAgICAgICByZXR1cm4gcGF0aAotICAgIHBhdGggPSBwYXRoW2xlbignL2N5Z2RyaXZlLycpOl0KLSAgICBwYXRoID0gcGF0aFs6MV0gKyAnOicgKyBwYXRoWzE6XQotICAgIHJldHVybiBwYXRoCi0gICAgCi1kZWYgd2luMzJfdG9fdW5peF9wYXRoKHBhdGgpOgotICAgIGlmIHBhdGggaXMgbm90IE5vbmU6Ci0gICAgICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoJ1xcJywgJy8nKQotICAgIHJldHVybiBwYXRoICAgIAotICAgIAotX1JFX1NIRUJBTkcgPSByZS5jb21waWxlKHInXlwjIVxzPyhbXlxzXSspKD86XHMoW15cc10rKSk/JykKLV9TSEVCQU5HX0NNRFMgPSB7Ci0gICAgJy91c3IvYmluL2Vudic6ICdlbnYnLAotICAgICcvYmluL3NoJzogJ3B5c2gnLAotICAgICdweXRob24nOiAncHl0aG9uJywKLX0KLSAgICAKLWRlZiByZXNvbHZlX3NoZWJhbmcocGF0aCwgaWdub3Jlc2hlbGw9RmFsc2UpOgotICAgICIiIlJldHVybiBhIGxpc3Qgb2YgYXJndW1lbnRzIGFzIHNoZWJhbmcgaW50ZXJwcmV0ZXIgY2FsbCBvciBhbiBlbXB0eSBsaXN0Ci0gICAgaWYgcGF0aCBkb2VzIG5vdCByZWZlciB0byBhbiBleGVjdXRhYmxlIHNjcmlwdC4KLSAgICBTZWUgPGh0dHA6Ly93d3cub3Blbmdyb3VwLm9yZy9hdXN0aW4vZG9jcy9hdXN0aW5fNTFyMi50eHQ+LgotICAgIAotICAgIGlnbm9yZXNoZWxsIC0gc2V0IHRvIFRydWUgdG8gaWdub3JlIHNoIHNoZWJhbmdzLiBSZXR1cm4gYW4gZW1wdHkgbGlzdCBpbnN0ZWFkLgotICAgICIiIgotICAgIHRyeToKLSAgICAgICAgZiA9IGZpbGUocGF0aCkKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgIyBBdCBtb3N0IDgwIGNoYXJhY3RlcnMgaW4gdGhlIGZpcnN0IGxpbmUKLSAgICAgICAgICAgIGhlYWRlciA9IGYucmVhZCg4MCkuc3BsaXRsaW5lcygpWzBdCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBmLmNsb3NlKCkKLSAgICAgICAgICAgIAotICAgICAgICBtID0gX1JFX1NIRUJBTkcuc2VhcmNoKGhlYWRlcikKLSAgICAgICAgaWYgbm90IG06Ci0gICAgICAgICAgICByZXR1cm4gW10KLSAgICAgICAgY21kLCBhcmcgPSBtLmdyb3VwKDEsMikKLSAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoY21kKToKLSAgICAgICAgICAgICMgS2VlcCB0aGlzIG9uZSwgdGhlIGhnIHNjcmlwdCBmb3IgaW5zdGFuY2UgY29udGFpbnMgYSB3ZWlyZCB3aW5kb3dzCi0gICAgICAgICAgICAjIHNoZWJhbmcgcmVmZXJlbmNpbmcgdGhlIGN1cnJlbnQgcHl0aG9uIGluc3RhbGwuCi0gICAgICAgICAgICBjbWRmaWxlID0gb3MucGF0aC5iYXNlbmFtZShjbWQpLmxvd2VyKCkKLSAgICAgICAgICAgIGlmIGNtZGZpbGUgPT0gJ3B5dGhvbi5leGUnOgotICAgICAgICAgICAgICAgIGNtZCA9ICdweXRob24nCi0gICAgICAgICAgICBwYXNzCi0gICAgICAgIGVsaWYgY21kIG5vdCBpbiBfU0hFQkFOR19DTURTOgotICAgICAgICAgICAgcmFpc2UgQ29tbWFuZE5vdEZvdW5kKCdVbmtub3duIGludGVycHJldGVyICIlcyIgcmVmZXJlbmNlZCBpbiAnXAotICAgICAgICAgICAgICAgICdzaGViYW5nJyAlIGhlYWRlcikKLSAgICAgICAgY21kID0gX1NIRUJBTkdfQ01EUy5nZXQoY21kKQotICAgICAgICBpZiBjbWQgaXMgTm9uZSBvciAoaWdub3Jlc2hlbGwgYW5kIGNtZCA9PSAncHlzaCcpOgotICAgICAgICAgICAgcmV0dXJuIFtdCi0gICAgICAgIGlmIGFyZyBpcyBOb25lOgotICAgICAgICAgICAgcmV0dXJuIFtjbWQsIHdpbjMyX3RvX3VuaXhfcGF0aChwYXRoKV0KLSAgICAgICAgcmV0dXJuIFtjbWQsIGFyZywgd2luMzJfdG9fdW5peF9wYXRoKHBhdGgpXQotICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6Ci0gICAgICAgIGlmICBlLmVycm5vIT1lcnJuby5FTk9FTlQgYW5kIFwKLSAgICAgICAgICAgIChlLmVycm5vIT1lcnJuby5FUEVSTSBhbmQgbm90IG9zLnBhdGguaXNkaXIocGF0aCkpOiAjIE9wZW5pbmcgYSBkaXJlY3RvcnkgcmFpc2VzIEVQRVJNCi0gICAgICAgICAgICByYWlzZQotICAgICAgICByZXR1cm4gW10KLSAgICAgICAgCi1kZWYgd2luMzJfZmluZF9pbl9wYXRoKG5hbWUsIHBhdGgpOgotICAgIGlmIGlzaW5zdGFuY2UocGF0aCwgc3RyKToKLSAgICAgICAgcGF0aCA9IHBhdGguc3BsaXQob3MucGF0aHNlcCkKLSAgICAgICAgCi0gICAgZXh0cyA9IG9zLmVudmlyb24uZ2V0KCdQQVRIRVhUJywgJycpLmxvd2VyKCkuc3BsaXQob3MucGF0aHNlcCkKLSAgICBmb3IgcCBpbiBwYXRoOgotICAgICAgICBwX25hbWUgPSBvcy5wYXRoLmpvaW4ocCwgbmFtZSkKLSAgICAgICAgCi0gICAgICAgIHByZWZpeCA9IHJlc29sdmVfc2hlYmFuZyhwX25hbWUpCi0gICAgICAgIGlmIHByZWZpeDoKLSAgICAgICAgICAgIHJldHVybiBwcmVmaXgKLSAgICAgICAgICAgIAotICAgICAgICBmb3IgZXh0IGluIGV4dHM6ICAgIAotICAgICAgICAgICAgcF9uYW1lX2V4dCA9IHBfbmFtZSArIGV4dAotICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMocF9uYW1lX2V4dCk6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFt3aW4zMl90b191bml4X3BhdGgocF9uYW1lX2V4dCldCi0gICAgcmV0dXJuIFtdCi0KLWNsYXNzIFRyYXBzKGRpY3QpOgotICAgIGRlZiBfX3NldGl0ZW1fXyhzZWxmLCBrZXksIHZhbHVlKToKLSAgICAgICAgaWYga2V5IG5vdCBpbiAoJ0VYSVQnLCk6Ci0gICAgICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCkKLSAgICAgICAgc3VwZXIoVHJhcHMsIHNlbGYpLl9fc2V0aXRlbV9fKGtleSwgdmFsdWUpCi0KLSMgSUZTIHdoaXRlIHNwYWNlcyBjaGFyYWN0ZXIgY2xhc3MKLV9JRlNfV0hJVEVTUEFDRVMgPSAoJyAnLCAnXHQnLCAnXG4nKQotCi1jbGFzcyBFbnZpcm9ubWVudDoKLSAgICAiIiJFbnZpcm9ubWVudCBob2xkcyBlbnZpcm9ubWVudCB2YXJpYWJsZXMsIGV4cG9ydCB0YWJsZSwgZnVuY3Rpb24gCi0gICAgZGVmaW5pdGlvbnMgYW5kIHdoYXRldmVyIGlzIGRlZmluZWQgaW4gMi4xMiAiU2hlbGwgRXhlY3V0aW9uIEVudmlyb25tZW50IiwKLSAgICByZWRpcmVjdGlvbiBleGNlcHRlZC4KLSAgICAiIiIKLSAgICBkZWYgX19pbml0X18oc2VsZiwgcHdkKToKLSAgICAgICAgc2VsZi5fb3B0ID0gc2V0KCkgICAgICAgI1NoZWxsIG9wdGlvbnMKLSAgICAgICAgCi0gICAgICAgIHNlbGYuX2Z1bmN0aW9ucyA9IHt9ICAgICAgICAKLSAgICAgICAgc2VsZi5fZW52ID0geyc/JzogJzAnLCAnIyc6ICcwJ30KLSAgICAgICAgc2VsZi5fZXhwb3J0ZWQgPSBzZXQoWwotICAgICAgICAgICAgJ0hPTUUnLCAnSUZTJywgJ1BBVEgnCi0gICAgICAgIF0pCi0gICAgICAgIAotICAgICAgICAjIFNldCBlbnZpcm9ubWVudCB2YXJzIHdpdGggc2lkZS1lZmZlY3RzCi0gICAgICAgIHNlbGYuX2lmc193cyA9IE5vbmUgICAgICMgU2V0IG9mIElGUyB3aGl0ZXNwYWNlIGNoYXJhY3RlcnMKLSAgICAgICAgc2VsZi5faWZzX3JlID0gTm9uZSAgICAgIyBSZWd1bGFyIGV4cHJlc3Npb24gdXNlZCB0byBzcGxpdCBiZXR3ZWVuIHdvcmRzIHVzaW5nIElGUyBjbGFzc2VzCi0gICAgICAgIHNlbGZbJ0lGUyddID0gJycuam9pbihfSUZTX1dISVRFU1BBQ0VTKSAjRGVmYXVsdCBlbnZpcm9ubWVudCB2YWx1ZXMKLSAgICAgICAgc2VsZlsnUFdEJ10gPSBwd2QKLSAgICAgICAgc2VsZi50cmFwcyA9IFRyYXBzKCkKLSAgICAgICAgCi0gICAgZGVmIGNsb25lKHNlbGYsIHN1YnNoZWxsPUZhbHNlKToKLSAgICAgICAgZW52ID0gRW52aXJvbm1lbnQoc2VsZlsnUFdEJ10pCi0gICAgICAgIGVudi5fb3B0ID0gc2V0KHNlbGYuX29wdCkKLSAgICAgICAgZm9yIGssdiBpbiBzZWxmLmdldF92YXJpYWJsZXMoKS5pdGVyaXRlbXMoKToKLSAgICAgICAgICAgIGlmIGsgaW4gc2VsZi5fZXhwb3J0ZWQ6Ci0gICAgICAgICAgICAgICAgZW52LmV4cG9ydChrLHYpCi0gICAgICAgICAgICBlbGlmIHN1YnNoZWxsOgotICAgICAgICAgICAgICAgIGVudltrXSA9IHYKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgaWYgc3Vic2hlbGw6Ci0gICAgICAgICAgICBlbnYuX2Z1bmN0aW9ucyA9IGRpY3Qoc2VsZi5fZnVuY3Rpb25zKQotICAgICAgICAgICAgCi0gICAgICAgIHJldHVybiBlbnYgICAgICAgIAotICAgICAgICAKLSAgICBkZWYgX19nZXRpdGVtX18oc2VsZiwga2V5KToKLSAgICAgICAgaWYga2V5IGluICgnQCcsICcqJywgJy0nLCAnJCcpOgotICAgICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcignJXMgaXMgbm90IGltcGxlbWVudGVkJyAlIHJlcHIoa2V5KSkKLSAgICAgICAgcmV0dXJuIHNlbGYuX2VudltrZXldCi0gICAgICAgIAotICAgIGRlZiBnZXQoc2VsZiwga2V5LCBkZWZ2YWw9Tm9uZSk6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHJldHVybiBzZWxmW2tleV0KLSAgICAgICAgZXhjZXB0IEtleUVycm9yOgotICAgICAgICAgICAgcmV0dXJuIGRlZnZhbAotICAgICAgICAKLSAgICBkZWYgX19zZXRpdGVtX18oc2VsZiwga2V5LCB2YWx1ZSk6Ci0gICAgICAgIGlmIGtleT09J0lGUyc6Ci0gICAgICAgICAgICAjIFVwZGF0ZSB0aGUgd2hpdGVzcGFjZS9ub24td2hpdGVzcGFjZSBjbGFzc2VzCi0gICAgICAgICAgICBzZWxmLl91cGRhdGVfaWZzKHZhbHVlKQotICAgICAgICBlbGlmIGtleT09J1BXRCc6Ci0gICAgICAgICAgICBwd2QgPSBvcy5wYXRoLmFic3BhdGgodmFsdWUpCi0gICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2Rpcihwd2QpOgotICAgICAgICAgICAgICAgIHJhaXNlIFZhckFzc2lnbm1lbnRFcnJvcignSW52YWxpZCBkaXJlY3RvcnkgJXMnICUgdmFsdWUpCi0gICAgICAgICAgICB2YWx1ZSA9IHB3ZAotICAgICAgICBlbGlmIGtleSBpbiAoJz8nLCAnIScpOgotICAgICAgICAgICAgdmFsdWUgPSBzdHIoaW50KHZhbHVlKSkKLSAgICAgICAgc2VsZi5fZW52W2tleV0gPSB2YWx1ZQotICAgICAgICAKLSAgICBkZWYgX19kZWxpdGVtX18oc2VsZiwga2V5KToKLSAgICAgICAgaWYga2V5IGluICgnSUZTJywgJ1BXRCcsICc/Jyk6Ci0gICAgICAgICAgICByYWlzZSBWYXJBc3NpZ25tZW50RXJyb3IoJyVzIGNhbm5vdCBiZSB1bnNldCcgJSBrZXkpCi0gICAgICAgIGRlbCBzZWxmLl9lbnZba2V5XQotCi0gICAgZGVmIF9fY29udGFpbnNfXyhzZWxmLCBpdGVtKToKLSAgICAgICAgcmV0dXJuIGl0ZW0gaW4gc2VsZi5fZW52Ci0gICAgICAgIAotICAgIGRlZiBzZXRfcG9zaXRpb25hbF9hcmdzKHNlbGYsIGFyZ3MpOgotICAgICAgICAiIiJTZXQgdGhlIGNvbnRlbnQgb2YgJ2FyZ3MnIGFzIHBvc2l0aW9uYWwgYXJndW1lbnQgZnJvbSAxIHRvIGxlbihhcmdzKS4KLSAgICAgICAgUmV0dXJuIHByZXZpb3VzIGFyZ3VtZW50IGFzIGEgbGlzdCBvZiBzdHJpbmdzLgotICAgICAgICAiIiIKLSAgICAgICAgIyBTYXZlIGFuZCByZW1vdmUgcHJldmlvdXMgYXJndW1lbnRzCi0gICAgICAgIHByZXZhcmdzID0gW10gICAgICAgIAotICAgICAgICBmb3IgaSBpbiByYW5nZShpbnQoc2VsZi5fZW52WycjJ10pKToKLSAgICAgICAgICAgIGkgPSBzdHIoaSsxKQotICAgICAgICAgICAgcHJldmFyZ3MuYXBwZW5kKHNlbGYuX2VudltpXSkKLSAgICAgICAgICAgIGRlbCBzZWxmLl9lbnZbaV0KLSAgICAgICAgc2VsZi5fZW52WycjJ10gPSAnMCcKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgI1NldCBuZXcgb25lcwotICAgICAgICBmb3IgaSxhcmcgaW4gZW51bWVyYXRlKGFyZ3MpOgotICAgICAgICAgICAgc2VsZi5fZW52W3N0cihpKzEpXSA9IHN0cihhcmcpCi0gICAgICAgIHNlbGYuX2VudlsnIyddID0gc3RyKGxlbihhcmdzKSkKLSAgICAgICAgCi0gICAgICAgIHJldHVybiBwcmV2YXJncwotICAgICAgICAKLSAgICBkZWYgZ2V0X3Bvc2l0aW9uYWxfYXJncyhzZWxmKToKLSAgICAgICAgcmV0dXJuIFtzZWxmLl9lbnZbc3RyKGkrMSldIGZvciBpIGluIHJhbmdlKGludChzZWxmLl9lbnZbJyMnXSkpXQotICAgICAgICAKLSAgICBkZWYgZ2V0X3ZhcmlhYmxlcyhzZWxmKToKLSAgICAgICAgcmV0dXJuIGRpY3Qoc2VsZi5fZW52KQotICAgICAgICAKLSAgICBkZWYgZXhwb3J0KHNlbGYsIGtleSwgdmFsdWU9Tm9uZSk6Ci0gICAgICAgIGlmIHZhbHVlIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgc2VsZltrZXldID0gdmFsdWUKLSAgICAgICAgc2VsZi5fZXhwb3J0ZWQuYWRkKGtleSkKLSAgICAgICAgCi0gICAgZGVmIGdldF9leHBvcnRlZChzZWxmKToKLSAgICAgICAgcmV0dXJuIFsoayxzZWxmLl9lbnYuZ2V0KGspKSBmb3IgayBpbiBzZWxmLl9leHBvcnRlZF0KLSAgICAgICAgICAgIAotICAgIGRlZiBzcGxpdF9maWVsZHMoc2VsZiwgd29yZCk6Ci0gICAgICAgIGlmIG5vdCBzZWxmLl9pZnNfd3Mgb3Igbm90IHdvcmQ6Ci0gICAgICAgICAgICByZXR1cm4gW3dvcmRdCi0gICAgICAgIHJldHVybiByZS5zcGxpdChzZWxmLl9pZnNfcmUsIHdvcmQpCi0gICAKLSAgICBkZWYgX3VwZGF0ZV9pZnMoc2VsZiwgdmFsdWUpOgotICAgICAgICAiIiJVcGRhdGUgdGhlIHNwbGl0X2ZpZWxkcyByZWxhdGVkIHZhcmlhYmxlcyB3aGVuIElGUyBjaGFyYWN0ZXIgc2V0IGlzCi0gICAgICAgIGNoYW5nZWQuCi0gICAgICAgICIiIgotICAgICAgICAjIFRPRE86IGhhbmRsZSBOVUxMIElGUwotICAgICAgICAKLSAgICAgICAgIyBTZXBhcmF0ZSBjaGFyYWN0ZXJzIGluIHdoaXRlc3BhY2UgYW5kIG5vbi13aGl0ZXNwYWNlCi0gICAgICAgIGNoYXJzID0gc2V0KHZhbHVlKQotICAgICAgICB3cyA9IFtjIGZvciBjIGluIGNoYXJzIGlmIGMgaW4gX0lGU19XSElURVNQQUNFU10KLSAgICAgICAgbndzID0gW2MgZm9yIGMgaW4gY2hhcnMgaWYgYyBub3QgaW4gX0lGU19XSElURVNQQUNFU10KLSAgICAgICAgCi0gICAgICAgICMgS2VlcCB3aGl0ZXNwYWNlcyBpbiBhIHN0cmluZyBmb3IgbGVmdCBhbmQgcmlnaHQgc3RyaXBwaW5nCi0gICAgICAgIHNlbGYuX2lmc193cyA9ICcnLmpvaW4od3MpCi0gICAgICAgIAotICAgICAgICAjIEJ1aWxkIGEgcmVnZXhwIHRvIHNwbGl0IGZpZWxkcwotICAgICAgICB0cmFpbGluZyA9ICdbJyArICcnLmpvaW4oW3JlLmVzY2FwZShjKSBmb3IgYyBpbiB3c10pICsgJ10nCi0gICAgICAgIGlmIG53czoKLSAgICAgICAgICAgICMgRmlyc3QsIHRoZSBzaW5nbGUgbm9uLXdoaXRlc3BhY2Ugb2NjdXJlbmNlLgotICAgICAgICAgICAgbndzID0gJ1snICsgJycuam9pbihbcmUuZXNjYXBlKGMpIGZvciBjIGluIG53c10pICsgJ10nCi0gICAgICAgICAgICBud3MgPSAnKD86JyArIHRyYWlsaW5nICsgJyonICsgbndzICsgdHJhaWxpbmcgKyAnKicgKyAnfCcgKyB0cmFpbGluZyArICcrKScKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgICMgVGhlbiBtaXggYWxsIHBhcnRzIHdpdGggcXVhbnRpZmllcnMKLSAgICAgICAgICAgIG53cyA9IHRyYWlsaW5nICsgJysnCi0gICAgICAgIHNlbGYuX2lmc19yZSA9IHJlLmNvbXBpbGUobndzKQotICAgICAgIAotICAgIGRlZiBoYXNfb3B0KHNlbGYsIG9wdCwgdmFsPU5vbmUpOgotICAgICAgICByZXR1cm4gKG9wdCwgdmFsKSBpbiBzZWxmLl9vcHQKLSAgICAgICAgCi0gICAgZGVmIHNldF9vcHQoc2VsZiwgb3B0LCB2YWw9Tm9uZSk6Ci0gICAgICAgIHNlbGYuX29wdC5hZGQoKG9wdCwgdmFsKSkKLSAgICAgICAgCi0gICAgZGVmIGZpbmRfaW5fcGF0aChzZWxmLCBuYW1lLCBwd2Q9RmFsc2UpOgotICAgICAgICBwYXRoID0gc2VsZi5fZW52LmdldCgnUEFUSCcsICcnKS5zcGxpdChvcy5wYXRoc2VwKQotICAgICAgICBpZiBwd2Q6Ci0gICAgICAgICAgICBwYXRoWzowXSA9IFtzZWxmWydQV0QnXV0KLSAgICAgICAgaWYgb3MubmFtZSA9PSAnbnQnOgotICAgICAgICAgICAgcmV0dXJuIHdpbjMyX2ZpbmRfaW5fcGF0aChuYW1lLCBzZWxmLl9lbnYuZ2V0KCdQQVRIJywgJycpKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigpCi0gICAgICAgICAgICAKLSAgICBkZWYgZGVmaW5lX2Z1bmN0aW9uKHNlbGYsIG5hbWUsIGJvZHkpOgotICAgICAgICBpZiBub3QgaXNfbmFtZShuYW1lKToKLSAgICAgICAgICAgIHJhaXNlIFNoZWxsU3ludGF4RXJyb3IoJyVzIGlzIG5vdCBhIHZhbGlkIGZ1bmN0aW9uIG5hbWUnICUgcmVwcihuYW1lKSkKLSAgICAgICAgc2VsZi5fZnVuY3Rpb25zW25hbWVdID0gYm9keQotICAgICAgICAKLSAgICBkZWYgcmVtb3ZlX2Z1bmN0aW9uKHNlbGYsIG5hbWUpOgotICAgICAgICBkZWwgc2VsZi5fZnVuY3Rpb25zW25hbWVdCi0gICAgICAgIAotICAgIGRlZiBpc19mdW5jdGlvbihzZWxmLCBuYW1lKToKLSAgICAgICAgcmV0dXJuIG5hbWUgaW4gc2VsZi5fZnVuY3Rpb25zCi0gICAgICAgIAotICAgIGRlZiBnZXRfZnVuY3Rpb24oc2VsZiwgbmFtZSk6Ci0gICAgICAgIHJldHVybiBzZWxmLl9mdW5jdGlvbnMuZ2V0KG5hbWUpCi0gICAgICAgIAotICAgICAgIAotbmFtZV9jaGFyc2V0ID0gJ2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5XycKLW5hbWVfY2hhcnNldCA9IGRpY3QoemlwKG5hbWVfY2hhcnNldCxuYW1lX2NoYXJzZXQpKQotICAgICAgICAgICAKLWRlZiBtYXRjaF9uYW1lKHMpOgotICAgICIiIlJldHVybiB0aGUgbGVuZ3RoIGluIGNoYXJhY3RlcnMgb2YgdGhlIGxvbmdlc3QgcHJlZml4IG1hZGUgb2YgbmFtZQotICAgIGFsbG93ZWQgY2hhcmFjdGVycyBpbiBzLgotICAgICIiIgotICAgIGZvciBpLGMgaW4gZW51bWVyYXRlKHMpOgotICAgICAgICBpZiBjIG5vdCBpbiBuYW1lX2NoYXJzZXQ6Ci0gICAgICAgICAgICByZXR1cm4gc1s6aV0KLSAgICByZXR1cm4gcwotICAgIAotZGVmIGlzX25hbWUocyk6Ci0gICAgcmV0dXJuIGxlbihbYyBmb3IgYyBpbiBzIGlmIGMgbm90IGluIG5hbWVfY2hhcnNldF0pPD0wCi0gICAgCi1kZWYgaXNfc3BlY2lhbF9wYXJhbShjKToKLSAgICByZXR1cm4gbGVuKGMpPT0xIGFuZCBjIGluICgnQCcsJyonLCcjJywnPycsJy0nLCckJywnIScsJzAnKQotICAgIAotZGVmIHV0aWxpdHlfbm90X2ltcGxlbWVudGVkKG5hbWUsICphcmdzLCAqKmt3YXJncyk6Ci0gICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcignJXMgdXRpbGl0eSBpcyBub3QgaW1wbGVtZW50ZWQnICUgbmFtZSkKLSAgICAKLQotY2xhc3MgVXRpbGl0eToKLSAgICAiIiJEZWZpbmUgdXRpbGl0aWVzIHByb3BlcnRpZXM6Ci0gICAgZnVuYyAtLSB1dGlsaXR5IGNhbGxhYmxlLiBTZWUgYnVpbHRpbiBtb2R1bGUgZm9yIHV0aWxpdHkgc2FtcGxlcy4KLSAgICBpc19zcGVjaWFsIC0tIHNlZSBYQ1UgMi44LgotICAgICIiIgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmdW5jLCBpc19zcGVjaWFsPTApOgotICAgICAgICBzZWxmLmZ1bmMgPSBmdW5jCi0gICAgICAgIHNlbGYuaXNfc3BlY2lhbCA9IGJvb2woaXNfc3BlY2lhbCkKLQotCi1kZWYgZW5jb2RlYXJncyhhcmdzKToKLSAgICBkZWYgZW5jb2RlYXJnKHMpOgotICAgICAgICBsaW5lcyA9IGJhc2U2NC5lbmNvZGVzdHJpbmcocykKLSAgICAgICAgbGluZXMgPSBbbC5zcGxpdGxpbmVzKClbMF0gZm9yIGwgaW4gbGluZXNdCi0gICAgICAgIHJldHVybiAnJy5qb2luKGxpbmVzKQotCi0gICAgcyA9IHBpY2tsZS5kdW1wcyhhcmdzKQotICAgIHJldHVybiBlbmNvZGVhcmcocykKLQotZGVmIGRlY29kZWFyZ3Mocyk6Ci0gICAgcyA9IGJhc2U2NC5kZWNvZGVzdHJpbmcocykKLSAgICByZXR1cm4gcGlja2xlLmxvYWRzKHMpCi0gICAgCi0KLWNsYXNzIEdsb2JFcnJvcihFeGNlcHRpb24pOgotICAgIHBhc3MKLQotY2xhc3MgT3B0aW9uczoKLSAgICBkZWYgX19pbml0X18oc2VsZik6Ci0gICAgICAgICMgVHJ1ZSBpZiBNZXJjdXJpYWwgb3BlcmF0ZXMgd2l0aCBiaW5hcnkgc3RyZWFtcwotICAgICAgICBzZWxmLmhnYmluYXJ5ID0gVHJ1ZQotCi1jbGFzcyBJbnRlcnByZXRlcjoKLSAgICAjIEltcGxlbWVudGF0aW9uIGlzIHZlcnkgYmFzaWM6IHRoZSBleGVjdXRlKCkgbWV0aG9kIGp1c3QgbWFrZXMgYSBERlMgb24gdGhlCi0gICAgIyBBU1QgYW5kIGV4ZWN1dGUgbm9kZXMgb25lIGJ5IG9uZS4gTm9kZXMgYXJlIHR1cGxlIChuYW1lLG9iaikgd2hlcmUgbmFtZQotICAgICMgaXMgYSBzdHJpbmcgaWRlbnRpZmllciBhbmQgb2JqIHRoZSBBU1QgZWxlbWVudCByZXR1cm5lZCBieSB0aGUgcGFyc2VyLgotICAgICMKLSAgICAjIEhhbmRsZXIgYXJlIG5hbWVkIGFmdGVyIHRoZSBub2RlIGlkZW50aWZpZXJzLgotICAgICMgVE9ETzogY2hlY2sgbm9kZSBuYW1lcyBhbmQgcmVtb3ZlIHRoZSBzd2l0Y2ggaW4gZXhlY3V0ZSB3aXRoIHNvbWUKLSAgICAjIGR5bmFtaWMgZ2V0YXR0cigpIGNhbGwgdG8gZmluZCBub2RlIGhhbmRsZXJzLgotICAgICIiIlNoZWxsIGludGVycHJldGVyLgotICAgIAotICAgIFRoZSBmb2xsb3dpbmcgZGVidWdnaW5nIGZsYWdzIGNhbiBiZSBwYXNzZWQ6Ci0gICAgZGVidWctcGFyc2luZyAtIGVuYWJsZSBQTFkgZGVidWdnaW5nLgotICAgIGRlYnVnLXRyZWUgLSBwcmludCB0aGUgZ2VuZXJhdGVkIEFTVC4KLSAgICBkZWJ1Zy1jbWQgLSB0cmFjZSBjb21tYW5kIGV4ZWN1dGlvbiBiZWZvcmUgd29yZCBleHBhbnNpb24sIHBsdXMgZXhpdCBzdGF0dXMuCi0gICAgZGVidWctdXRpbGl0eSAtIHRyYWNlIHV0aWxpdHkgZXhlY3V0aW9uLgotICAgICIiIgotICAgIAotICAgICMgTGlzdCBzdXBwb3J0ZWQgY29tbWFuZHMuCi0gICAgQ09NTUFORFMgPSB7Ci0gICAgICAgICdjYXQnOiAgICAgICBVdGlsaXR5KGJ1aWx0aW4udXRpbGl0eV9jYXQsKSwKLSAgICAgICAgJ2NkJzogICAgICAgVXRpbGl0eShidWlsdGluLnV0aWxpdHlfY2QsKSwKLSAgICAgICAgJzonOiAgICAgICAgVXRpbGl0eShidWlsdGluLnV0aWxpdHlfY29sb24sKSwKLSAgICAgICAgJ2VjaG8nOiAgICAgVXRpbGl0eShidWlsdGluLnV0aWxpdHlfZWNobyksCi0gICAgICAgICdlbnYnOiAgICAgIFV0aWxpdHkoYnVpbHRpbi51dGlsaXR5X2VudiksCi0gICAgICAgICdleGl0JzogICAgIFV0aWxpdHkoYnVpbHRpbi51dGlsaXR5X2V4aXQpLAotICAgICAgICAnZXhwb3J0JzogICBVdGlsaXR5KGJ1aWx0aW4uYnVpbHRpbl9leHBvcnQsICAgICBpc19zcGVjaWFsPTEpLAotICAgICAgICAnZWdyZXAnOiAgICBVdGlsaXR5KGJ1aWx0aW4udXRpbGl0eV9lZ3JlcCksCi0gICAgICAgICdmZ3JlcCc6ICAgIFV0aWxpdHkoYnVpbHRpbi51dGlsaXR5X2ZncmVwKSwKLSAgICAgICAgJ2d1bnppcCc6ICAgVXRpbGl0eShidWlsdGluLnV0aWxpdHlfZ3VuemlwKSwKLSAgICAgICAgJ2tpbGwnOiAgICAgVXRpbGl0eShidWlsdGluLnV0aWxpdHlfa2lsbCksCi0gICAgICAgICdta2Rpcic6ICAgIFV0aWxpdHkoYnVpbHRpbi51dGlsaXR5X21rZGlyKSwKLSAgICAgICAgJ25ldHN0YXQnOiAgVXRpbGl0eShidWlsdGluLnV0aWxpdHlfbmV0c3RhdCksCi0gICAgICAgICdwcmludGYnOiAgIFV0aWxpdHkoYnVpbHRpbi51dGlsaXR5X3ByaW50ZiksCi0gICAgICAgICdwd2QnOiAgICAgIFV0aWxpdHkoYnVpbHRpbi51dGlsaXR5X3B3ZCksCi0gICAgICAgICdyZXR1cm4nOiAgIFV0aWxpdHkoYnVpbHRpbi5idWlsdGluX3JldHVybiwgICAgIGlzX3NwZWNpYWw9MSksCi0gICAgICAgICdzZWQnOiAgICAgIFV0aWxpdHkoYnVpbHRpbi51dGlsaXR5X3NlZCwpLAotICAgICAgICAnc2V0JzogICAgICBVdGlsaXR5KGJ1aWx0aW4uYnVpbHRpbl9zZXQsKSwKLSAgICAgICAgJ3NoaWZ0JzogICAgVXRpbGl0eShidWlsdGluLmJ1aWx0aW5fc2hpZnQsKSwKLSAgICAgICAgJ3NsZWVwJzogICAgVXRpbGl0eShidWlsdGluLnV0aWxpdHlfc2xlZXAsKSwKLSAgICAgICAgJ3NvcnQnOiAgICAgVXRpbGl0eShidWlsdGluLnV0aWxpdHlfc29ydCwpLAotICAgICAgICAndHJhcCc6ICAgICBVdGlsaXR5KGJ1aWx0aW4uYnVpbHRpbl90cmFwLCAgICAgICBpc19zcGVjaWFsPTEpLAotICAgICAgICAndHJ1ZSc6ICAgICBVdGlsaXR5KGJ1aWx0aW4udXRpbGl0eV90cnVlKSwKLSAgICAgICAgJ3Vuc2V0JzogICAgVXRpbGl0eShidWlsdGluLmJ1aWx0aW5fdW5zZXQsICAgICAgaXNfc3BlY2lhbD0xKSwKLSAgICAgICAgJ3dhaXQnOiAgICAgVXRpbGl0eShidWlsdGluLmJ1aWx0aW5fd2FpdCwgICAgICAgaXNfc3BlY2lhbD0xKSwKLSAgICB9Ci0gICAgCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHB3ZCwgZGVidWdmbGFncyA9IFtdLCBlbnY9Tm9uZSwgcmVkaXJzPU5vbmUsIHN0ZGluPU5vbmUsCi0gICAgICAgICAgICAgICAgIHN0ZG91dD1Ob25lLCBzdGRlcnI9Tm9uZSwgb3B0cz1PcHRpb25zKCkpOgotICAgICAgICBzZWxmLl9lbnYgPSBlbnYKLSAgICAgICAgaWYgc2VsZi5fZW52IGlzIE5vbmU6Ci0gICAgICAgICAgICBzZWxmLl9lbnYgPSBFbnZpcm9ubWVudChwd2QpCi0gICAgICAgIHNlbGYuX2NoaWxkcmVuID0ge30KLSAgICAgICAgICAgIAotICAgICAgICBzZWxmLl9yZWRpcnMgPSByZWRpcnMKLSAgICAgICAgc2VsZi5fY2xvc2VfcmVkaXJzID0gRmFsc2UKLSAgICAgICAgCi0gICAgICAgIGlmIHNlbGYuX3JlZGlycyBpcyBOb25lOgotICAgICAgICAgICAgaWYgc3RkaW4gaXMgTm9uZToKLSAgICAgICAgICAgICAgICBzdGRpbiA9IHN5cy5zdGRpbgotICAgICAgICAgICAgaWYgc3Rkb3V0IGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgc3Rkb3V0ID0gc3lzLnN0ZG91dAotICAgICAgICAgICAgaWYgc3RkZXJyIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgc3RkZXJyID0gc3lzLnN0ZGVycgotICAgICAgICAgICAgc3RkaW4gPSBGaWxlV3JhcHBlcigncicsIHN0ZGluLCBGYWxzZSkKLSAgICAgICAgICAgIHN0ZG91dCA9IEZpbGVXcmFwcGVyKCd3Jywgc3Rkb3V0LCBGYWxzZSkKLSAgICAgICAgICAgIHN0ZGVyciA9IEZpbGVXcmFwcGVyKCd3Jywgc3RkZXJyLCBGYWxzZSkKLSAgICAgICAgICAgIHNlbGYuX3JlZGlycyA9IFJlZGlyZWN0aW9ucyhzdGRpbiwgc3Rkb3V0LCBzdGRlcnIpCi0gICAgICAgICAgICBzZWxmLl9jbG9zZV9yZWRpcnMgPSBUcnVlCi0gICAgICAgICAgICAKLSAgICAgICAgc2VsZi5fZGVidWdmbGFncyA9IGxpc3QoZGVidWdmbGFncykKLSAgICAgICAgc2VsZi5fbG9nZmlsZSA9IHN5cy5zdGRlcnIKLSAgICAgICAgc2VsZi5fb3B0aW9ucyA9IG9wdHMKLSAgICAgICAgCi0gICAgZGVmIGNsb3NlKHNlbGYpOgotICAgICAgICAiIiJNdXN0IGJlIGNhbGxlZCB3aGVuIHRoZSBpbnRlcnByZXRlciBpcyBubyBsb25nZXIgdXNlZC4iIiIKLSAgICAgICAgc2NyaXB0ID0gc2VsZi5fZW52LnRyYXBzLmdldCgnRVhJVCcpCi0gICAgICAgIGlmIHNjcmlwdDoKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBzZWxmLmV4ZWN1dGVfc2NyaXB0KHNjcmlwdD1zY3JpcHQpCi0gICAgICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICAgICAgcGFzcwotCi0gICAgICAgIGlmIHNlbGYuX3JlZGlycyBpcyBub3QgTm9uZSBhbmQgc2VsZi5fY2xvc2VfcmVkaXJzOgotICAgICAgICAgICAgc2VsZi5fcmVkaXJzLmNsb3NlKCkKLSAgICAgICAgICAgIHNlbGYuX3JlZGlycyA9IE5vbmUKLSAgICAgICAgICAgIAotICAgIGRlZiBsb2coc2VsZiwgcyk6Ci0gICAgICAgIHNlbGYuX2xvZ2ZpbGUud3JpdGUocykKLSAgICAgICAgc2VsZi5fbG9nZmlsZS5mbHVzaCgpCi0gICAgICAgICAgICAKLSAgICBkZWYgX19nZXRpdGVtX18oc2VsZiwga2V5KToKLSAgICAgICAgcmV0dXJuIHNlbGYuX2VudltrZXldCi0gICAgICAgIAotICAgIGRlZiBfX3NldGl0ZW1fXyhzZWxmLCBrZXksIHZhbHVlKToKLSAgICAgICAgc2VsZi5fZW52W2tleV0gPSB2YWx1ZQotCi0gICAgZGVmIG9wdGlvbnMoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLl9vcHRpb25zCi0KLSAgICBkZWYgcmVkaXJlY3Qoc2VsZiwgcmVkaXJzLCBpb3MpOgotICAgICAgICBkZWYgYWRkX3JlZGlyKGlvKToKLSAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoaW8sIHB5c2h5YWNjLklPUmVkaXJlY3QpOgotICAgICAgICAgICAgICAgIHJlZGlycy5hZGQoc2VsZiwgaW8ub3AsIGlvLmZpbGVuYW1lLCBpby5pb19udW1iZXIpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJlZGlycy5hZGRfaGVyZV9kb2N1bWVudChzZWxmLCBpby5uYW1lLCBpby5jb250ZW50LCBpby5pb19udW1iZXIpCi0gICAgICAgICAgICAgICAgICAgIAotICAgICAgICBtYXAoYWRkX3JlZGlyLCBpb3MpCi0gICAgICAgIHJldHVybiByZWRpcnMKLSAgICAgICAgICAgIAotICAgIGRlZiBleGVjdXRlX3NjcmlwdChzZWxmLCBzY3JpcHQ9Tm9uZSwgYXN0PU5vbmUsIHNvdXJjZWQ9RmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgIHNjcmlwdHBhdGg9Tm9uZSk6Ci0gICAgICAgICIiIklmIHNjcmlwdCBpcyBub3QgTm9uZSwgcGFyc2UgdGhlIGlucHV0LiBPdGhlcndpc2UgdGFrZXMgdGhlIHN1cHBsaWVkCi0gICAgICAgIEFTVC4gVGhlbiBleGVjdXRlIHRoZSBBU1QuCi0gICAgICAgIFJldHVybiB0aGUgc2NyaXB0IGV4aXQgc3RhdHVzLgotICAgICAgICAiIiIKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgaWYgc2NyaXB0cGF0aCBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICBzZWxmLl9lbnZbJzAnXSA9IG9zLnBhdGguYWJzcGF0aChzY3JpcHRwYXRoKQotCi0gICAgICAgICAgICBpZiBzY3JpcHQgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgZGVidWdfcGFyc2luZyA9ICgnZGVidWctcGFyc2luZycgaW4gc2VsZi5fZGVidWdmbGFncykgICAgCi0gICAgICAgICAgICAgICAgY21kcywgc2NyaXB0ID0gcHlzaHlhY2MucGFyc2Uoc2NyaXB0LCBUcnVlLCBkZWJ1Z19wYXJzaW5nKQotICAgICAgICAgICAgICAgIGlmICdkZWJ1Zy10cmVlJyBpbiBzZWxmLl9kZWJ1Z2ZsYWdzOgotICAgICAgICAgICAgICAgICAgICBweXNoeWFjYy5wcmludF9jb21tYW5kcyhjbWRzLCBzZWxmLl9sb2dmaWxlKQotICAgICAgICAgICAgICAgICAgICBzZWxmLl9sb2dmaWxlLmZsdXNoKCkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgY21kcywgc2NyaXB0ID0gYXN0LCAnJyAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgIHN0YXR1cyA9IDAKLSAgICAgICAgICAgIGZvciBjbWQgaW4gY21kczoKLSAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIHN0YXR1cyA9IHNlbGYuZXhlY3V0ZShjbWQpCi0gICAgICAgICAgICAgICAgZXhjZXB0IEV4aXRTaWduYWwgYXMgZToKLSAgICAgICAgICAgICAgICAgICAgaWYgc291cmNlZDoKLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICAgICAgICAgICAgIHN0YXR1cyA9IGludChlLmFyZ3NbMF0pCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBzdGF0dXMKLSAgICAgICAgICAgICAgICBleGNlcHQgU2hlbGxFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5fZW52Wyc/J10gPSAxCi0gICAgICAgICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICAgICAgICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIHNlbGYuX2RlYnVnZmxhZ3Mgb3IgJ2RlYnVnLWNtZCcgaW4gc2VsZi5fZGVidWdmbGFnczoKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5sb2coJ3JldHVybmNvZGUgJyArIHN0cihzdGF0dXMpKyAnXG4nKQotICAgICAgICAgICAgcmV0dXJuIHN0YXR1cwotICAgICAgICBleGNlcHQgQ29tbWFuZE5vdEZvdW5kIGFzIGU6Ci0gICAgICAgICAgICBwcmludCA+PnNlbGYuX3JlZGlycy5zdGRlcnIsIHN0cihlKQotICAgICAgICAgICAgc2VsZi5fcmVkaXJzLnN0ZGVyci5mbHVzaCgpCi0gICAgICAgICAgICAjIENvbW1hbmQgbm90IGZvdW5kIGJ5IG5vbi1pbnRlcmFjdGl2ZSBzaGVsbAotICAgICAgICAgICAgIyByZXR1cm4gMTI3Ci0gICAgICAgICAgICByYWlzZQotICAgICAgICBleGNlcHQgUmVkaXJlY3Rpb25FcnJvciBhcyBlOgotICAgICAgICAgICAgIyBUT0RPOiBzaG91bGQgYmUgaGFuZGxlZCBkZXBlbmRpbmcgb24gdGhlIHV0aWxpdHkgc3RhdHVzCi0gICAgICAgICAgICBwcmludCA+PnNlbGYuX3JlZGlycy5zdGRlcnIsIHN0cihlKQotICAgICAgICAgICAgc2VsZi5fcmVkaXJzLnN0ZGVyci5mbHVzaCgpCi0gICAgICAgICAgICAjIENvbW1hbmQgbm90IGZvdW5kIGJ5IG5vbi1pbnRlcmFjdGl2ZSBzaGVsbAotICAgICAgICAgICAgIyByZXR1cm4gMTI3Ci0gICAgICAgICAgICByYWlzZQotCi0gICAgZGVmIGRvdGNvbW1hbmQoc2VsZiwgZW52LCBhcmdzKToKLSAgICAgICAgaWYgbGVuKGFyZ3MpIDwgMToKLSAgICAgICAgICAgIHJhaXNlIFNoZWxsRXJyb3IoJy4gZXhwZWN0cyBhdCBsZWFzdCBvbmUgYXJndW1lbnQnKQotICAgICAgICBwYXRoID0gYXJnc1swXQotICAgICAgICBpZiAnLycgbm90IGluIHBhdGg6Ci0gICAgICAgICAgICBmb3VuZCA9IGVudi5maW5kX2luX3BhdGgoYXJnc1swXSwgVHJ1ZSkKLSAgICAgICAgICAgIGlmIGZvdW5kOgotICAgICAgICAgICAgICAgIHBhdGggPSBmb3VuZFswXQotICAgICAgICBzY3JpcHQgPSBmaWxlKHBhdGgpLnJlYWQoKQotICAgICAgICByZXR1cm4gc2VsZi5leGVjdXRlX3NjcmlwdChzY3JpcHQ9c2NyaXB0LCBzb3VyY2VkPVRydWUpCi0KLSAgICBkZWYgZXhlY3V0ZShzZWxmLCB0b2tlbiwgcmVkaXJzPU5vbmUpOgotICAgICAgICAiIiJFeGVjdXRlIGFuZCBBU1Qgc3VidHJlZSB3aXRoIHN1cHBsaWVkIHJlZGlyZWN0aW9ucyBvdmVycmlkaW5nIGRlZmF1bHQKLSAgICAgICAgaW50ZXJwcmV0ZXIgb25lcy4KLSAgICAgICAgUmV0dXJuIHRoZSBleGl0IHN0YXR1cy4KLSAgICAgICAgIiIiCi0gICAgICAgIGlmIG5vdCB0b2tlbjoKLSAgICAgICAgICAgIHJldHVybiAwCi0gICAgICAgICAgICAKLSAgICAgICAgaWYgcmVkaXJzIGlzIE5vbmU6Ci0gICAgICAgICAgICByZWRpcnMgPSBzZWxmLl9yZWRpcnMKLSAgICAgICAgICAgIAotICAgICAgICBpZiBpc2luc3RhbmNlKHRva2VuLCBsaXN0KToKLSAgICAgICAgICAgICMgQ29tbWFuZHMgc2VxdWVuY2UKLSAgICAgICAgICAgIHJlcyA9IDAKLSAgICAgICAgICAgIGZvciB0IGluIHRva2VuOgotICAgICAgICAgICAgICAgIHJlcyA9IHNlbGYuZXhlY3V0ZSh0LCByZWRpcnMpCi0gICAgICAgICAgICByZXR1cm4gcmVzCi0KLSAgICAgICAgdHlwZSwgdmFsdWUgPSB0b2tlbgotICAgICAgICBzdGF0dXMgPSAwCi0gICAgICAgIGlmIHR5cGU9PSdzaW1wbGVfY29tbWFuZCc6Ci0gICAgICAgICAgICByZWRpcnNfY29weSA9IHJlZGlycy5jbG9uZSgpCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgIyBUT0RPOiBkZWZpbmUgYW5kIGhhbmRsZSBjb21tYW5kIHJldHVybiB2YWx1ZXMKLSAgICAgICAgICAgICAgICAjIFRPRE86IGltcGxlbWVudCBzZXQgLWUKLSAgICAgICAgICAgICAgICBzdGF0dXMgPSBzZWxmLl9leGVjdXRlX3NpbXBsZV9jb21tYW5kKHZhbHVlLCByZWRpcnNfY29weSkKLSAgICAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICAgICAgcmVkaXJzX2NvcHkuY2xvc2UoKQotICAgICAgICBlbGlmIHR5cGU9PSdwaXBlbGluZSc6Ci0gICAgICAgICAgICBzdGF0dXMgPSBzZWxmLl9leGVjdXRlX3BpcGVsaW5lKHZhbHVlLCByZWRpcnMpCi0gICAgICAgIGVsaWYgdHlwZT09J2FuZF9vcic6Ci0gICAgICAgICAgICBzdGF0dXMgPSBzZWxmLl9leGVjdXRlX2FuZF9vcih2YWx1ZSwgcmVkaXJzKQotICAgICAgICBlbGlmIHR5cGU9PSdmb3JfY2xhdXNlJzoKLSAgICAgICAgICAgIHN0YXR1cyA9IHNlbGYuX2V4ZWN1dGVfZm9yX2NsYXVzZSh2YWx1ZSwgcmVkaXJzKQotICAgICAgICBlbGlmIHR5cGU9PSd3aGlsZV9jbGF1c2UnOgotICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5fZXhlY3V0ZV93aGlsZV9jbGF1c2UodmFsdWUsIHJlZGlycykKLSAgICAgICAgZWxpZiB0eXBlPT0nZnVuY3Rpb25fZGVmaW5pdGlvbic6Ci0gICAgICAgICAgICBzdGF0dXMgPSBzZWxmLl9leGVjdXRlX2Z1bmN0aW9uX2RlZmluaXRpb24odmFsdWUsIHJlZGlycykKLSAgICAgICAgZWxpZiB0eXBlPT0nYnJhY2VfZ3JvdXAnOgotICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5fZXhlY3V0ZV9icmFjZV9ncm91cCh2YWx1ZSwgcmVkaXJzKQotICAgICAgICBlbGlmIHR5cGU9PSdpZl9jbGF1c2UnOgotICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5fZXhlY3V0ZV9pZl9jbGF1c2UodmFsdWUsIHJlZGlycykKLSAgICAgICAgZWxpZiB0eXBlPT0nc3Vic2hlbGwnOgotICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5zdWJzaGVsbChhc3Q9dmFsdWUuY21kcywgcmVkaXJzPXJlZGlycykKLSAgICAgICAgZWxpZiB0eXBlPT0nYXN5bmMnOgotICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5fYXN5bmNsaXN0KHZhbHVlKQotICAgICAgICBlbGlmIHR5cGU9PSdyZWRpcmVjdF9saXN0JzoKLSAgICAgICAgICAgIHJlZGlyc19jb3B5ID0gc2VsZi5yZWRpcmVjdChyZWRpcnMuY2xvbmUoKSwgdmFsdWUucmVkaXJzKQotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHN0YXR1cyA9IHNlbGYuZXhlY3V0ZSh2YWx1ZS5jbWQsIHJlZGlyc19jb3B5KQotICAgICAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgICAgICByZWRpcnNfY29weS5jbG9zZSgpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCdVbnN1cHBvcnRlZCB0b2tlbiB0eXBlICcgKyB0eXBlKQotCi0gICAgICAgIGlmIHN0YXR1cyA8IDA6Ci0gICAgICAgICAgICBzdGF0dXMgPSAyNTUKLSAgICAgICAgcmV0dXJuIHN0YXR1cwotICAgICAgICAgICAgCi0gICAgZGVmIF9leGVjdXRlX2lmX2NsYXVzZShzZWxmLCBpZl9jbGF1c2UsIHJlZGlycyk6Ci0gICAgICAgIGNvbmRfc3RhdHVzID0gc2VsZi5leGVjdXRlKGlmX2NsYXVzZS5jb25kLCByZWRpcnMpCi0gICAgICAgIGlmIGNvbmRfc3RhdHVzPT0wOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuZXhlY3V0ZShpZl9jbGF1c2UuaWZfY21kcywgcmVkaXJzKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuZXhlY3V0ZShpZl9jbGF1c2UuZWxzZV9jbWRzLCByZWRpcnMpCi0gICAgICAKLSAgICBkZWYgX2V4ZWN1dGVfYnJhY2VfZ3JvdXAoc2VsZiwgZ3JvdXAsIHJlZGlycyk6Ci0gICAgICAgIHN0YXR1cyA9IDAKLSAgICAgICAgZm9yIGNtZCBpbiBncm91cC5jbWRzOgotICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5leGVjdXRlKGNtZCwgcmVkaXJzKQotICAgICAgICByZXR1cm4gc3RhdHVzCi0gICAgICAgICAgICAKLSAgICBkZWYgX2V4ZWN1dGVfZnVuY3Rpb25fZGVmaW5pdGlvbihzZWxmLCBmdW5kZWYsIHJlZGlycyk6Ci0gICAgICAgIHNlbGYuX2Vudi5kZWZpbmVfZnVuY3Rpb24oZnVuZGVmLm5hbWUsIGZ1bmRlZi5ib2R5KQotICAgICAgICByZXR1cm4gMAotICAgICAgICAgICAgCi0gICAgZGVmIF9leGVjdXRlX3doaWxlX2NsYXVzZShzZWxmLCB3aGlsZV9jbGF1c2UsIHJlZGlycyk6Ci0gICAgICAgIHN0YXR1cyA9IDAKLSAgICAgICAgd2hpbGUgMToKLSAgICAgICAgICAgIGNvbmRfc3RhdHVzID0gMAotICAgICAgICAgICAgZm9yIGNvbmQgaW4gd2hpbGVfY2xhdXNlLmNvbmRpdGlvbjoKLSAgICAgICAgICAgICAgICBjb25kX3N0YXR1cyA9IHNlbGYuZXhlY3V0ZShjb25kLCByZWRpcnMpCi0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiBjb25kX3N0YXR1czoKLSAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgZm9yIGNtZCBpbiB3aGlsZV9jbGF1c2UuY21kczoKLSAgICAgICAgICAgICAgICBzdGF0dXMgPSBzZWxmLmV4ZWN1dGUoY21kLCByZWRpcnMpCi0gICAgICAgICAgICAgICAgCi0gICAgICAgIHJldHVybiBzdGF0dXMKLSAgICAgICAgICAgIAotICAgIGRlZiBfZXhlY3V0ZV9mb3JfY2xhdXNlKHNlbGYsIGZvcl9jbGF1c2UsIHJlZGlycyk6Ci0gICAgICAgIGlmIG5vdCBpc19uYW1lKGZvcl9jbGF1c2UubmFtZSk6Ci0gICAgICAgICAgICByYWlzZSBTaGVsbFN5bnRheEVycm9yKCclcyBpcyBub3QgYSB2YWxpZCBuYW1lJyAlIHJlcHIoZm9yX2NsYXVzZS5uYW1lKSkKLSAgICAgICAgaXRlbXMgPSBtYXBwZW5kKHNlbGYuZXhwYW5kX3Rva2VuLCBmb3JfY2xhdXNlLml0ZW1zKQotICAgICAgICAKLSAgICAgICAgc3RhdHVzID0gMCAgICAKLSAgICAgICAgZm9yIGl0ZW0gaW4gaXRlbXM6Ci0gICAgICAgICAgICBzZWxmLl9lbnZbZm9yX2NsYXVzZS5uYW1lXSA9IGl0ZW0KLSAgICAgICAgICAgIGZvciBjbWQgaW4gZm9yX2NsYXVzZS5jbWRzOgotICAgICAgICAgICAgICAgIHN0YXR1cyA9IHNlbGYuZXhlY3V0ZShjbWQsIHJlZGlycykKLSAgICAgICAgcmV0dXJuIHN0YXR1cwotICAgICAgICAgICAgCi0gICAgZGVmIF9leGVjdXRlX2FuZF9vcihzZWxmLCBvcl9hbmQsIHJlZGlycyk6Ci0gICAgICAgIHJlcyA9IHNlbGYuZXhlY3V0ZShvcl9hbmQubGVmdCwgcmVkaXJzKSAgICAgICAgCi0gICAgICAgIGlmIChvcl9hbmQub3A9PScmJicgYW5kIHJlcz09MCkgb3IgKG9yX2FuZC5vcCE9JyYmJyBhbmQgcmVzIT0wKToKLSAgICAgICAgICAgIHJlcyA9IHNlbGYuZXhlY3V0ZShvcl9hbmQucmlnaHQsIHJlZGlycykKLSAgICAgICAgcmV0dXJuIHJlcwotICAgICAgICAgICAgCi0gICAgZGVmIF9leGVjdXRlX3BpcGVsaW5lKHNlbGYsIHBpcGVsaW5lLCByZWRpcnMpOiAgICAgICAgICAgIAotICAgICAgICBpZiBsZW4ocGlwZWxpbmUuY29tbWFuZHMpPT0xOgotICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5leGVjdXRlKHBpcGVsaW5lLmNvbW1hbmRzWzBdLCByZWRpcnMpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAjIEV4ZWN1dGUgYWxsIGNvbW1hbmRzIG9uZSBhZnRlciB0aGUgb3RoZXIKLSAgICAgICAgICAgIHN0YXR1cyA9IDAKLSAgICAgICAgICAgIGlucGF0aCwgb3V0cGF0aCA9IE5vbmUsIE5vbmUKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAjIENvbW1hbmRzIGlucHV0cyBhbmQgb3V0cHV0cyBjYW5ub3QgcmVhbGx5IGJlIHBsdWdnZWQgYXMgZG9uZQotICAgICAgICAgICAgICAgICMgYnkgYSByZWFsIHNoZWxsLiBSdW4gY29tbWFuZHMgc2VxdWVudGlhbGx5IGFuZCBjaGFpbiB0aGVpcgotICAgICAgICAgICAgICAgICMgaW5wdXQvb3V0cHV0IHRocm91Z2h0IHRlbXBvcmFyeSBmaWxlcy4KLSAgICAgICAgICAgICAgICB0bXBmZCwgaW5wYXRoID0gdGVtcGZpbGUubWtzdGVtcCgpCi0gICAgICAgICAgICAgICAgb3MuY2xvc2UodG1wZmQpCi0gICAgICAgICAgICAgICAgdG1wZmQsIG91dHBhdGggPSB0ZW1wZmlsZS5ta3N0ZW1wKCkKLSAgICAgICAgICAgICAgICBvcy5jbG9zZSh0bXBmZCkKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBpbnBhdGggPSB3aW4zMl90b191bml4X3BhdGgoaW5wYXRoKQotICAgICAgICAgICAgICAgIG91dHBhdGggPSB3aW4zMl90b191bml4X3BhdGgob3V0cGF0aCkKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBmb3IgaSwgY21kIGluIGVudW1lcmF0ZShwaXBlbGluZS5jb21tYW5kcyk6Ci0gICAgICAgICAgICAgICAgICAgIGNhbGxfcmVkaXJzID0gcmVkaXJzLmNsb25lKCkKLSAgICAgICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICAgICAgaWYgaSE9MDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsX3JlZGlycy5hZGQoc2VsZiwgJzwnLCBpbnBhdGgpCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiBpIT1sZW4ocGlwZWxpbmUuY29tbWFuZHMpLTE6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbF9yZWRpcnMuYWRkKHNlbGYsICc+Jywgb3V0cGF0aCkKLSAgICAgICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5leGVjdXRlKGNtZCwgY2FsbF9yZWRpcnMpCi0gICAgICAgICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAgICAgICMgQ2hhaW4gaW5wdXRzL291dHB1dHMKLSAgICAgICAgICAgICAgICAgICAgICAgIGlucGF0aCwgb3V0cGF0aCA9IG91dHBhdGgsIGlucGF0aAotICAgICAgICAgICAgICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgICAgICAgICAgICAgY2FsbF9yZWRpcnMuY2xvc2UoKSAgICAgICAgICAgIAotICAgICAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgICAgICBpZiBpbnBhdGg6IG9zLnJlbW92ZShpbnBhdGgpCi0gICAgICAgICAgICAgICAgaWYgb3V0cGF0aDogb3MucmVtb3ZlKG91dHBhdGgpCi0gICAgICAgIAotICAgICAgICBpZiBwaXBlbGluZS5yZXZlcnNlX3N0YXR1czoKLSAgICAgICAgICAgIHN0YXR1cyA9IGludChub3Qgc3RhdHVzKQotICAgICAgICBzZWxmLl9lbnZbJz8nXSA9IHN0YXR1cwotICAgICAgICByZXR1cm4gc3RhdHVzCi0gICAgICAgIAotICAgIGRlZiBfZXhlY3V0ZV9mdW5jdGlvbihzZWxmLCBuYW1lLCBhcmdzLCBpbnRlcnAsIGVudiwgc3RkaW4sIHN0ZG91dCwgc3RkZXJyLCAqb3RoZXJzKToKLSAgICAgICAgYXNzZXJ0IGludGVycCBpcyBzZWxmCi0gICAgICAgIAotICAgICAgICBmdW5jID0gZW52LmdldF9mdW5jdGlvbihuYW1lKQotICAgICAgICAjU2V0IHBvc2l0aW9uYWwgcGFyYW1ldGVycwotICAgICAgICBwcmV2YXJncyA9IE5vbmUKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcHJldmFyZ3MgPSBlbnYuc2V0X3Bvc2l0aW9uYWxfYXJncyhhcmdzKQotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHJlZGlycyA9IFJlZGlyZWN0aW9ucyhzdGRpbi5kdXAoKSwgc3Rkb3V0LmR1cCgpLCBzdGRlcnIuZHVwKCkpCi0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBzdGF0dXMgPSBzZWxmLmV4ZWN1dGUoZnVuYywgcmVkaXJzKQotICAgICAgICAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICAgICAgICAgIHJlZGlycy5jbG9zZSgpCi0gICAgICAgICAgICBleGNlcHQgUmV0dXJuU2lnbmFsIGFzIGU6Ci0gICAgICAgICAgICAgICAgc3RhdHVzID0gaW50KGUuYXJnc1swXSkKLSAgICAgICAgICAgICAgICBlbnZbJz8nXSA9IHN0YXR1cwotICAgICAgICAgICAgcmV0dXJuIHN0YXR1cwotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgI1Jlc2V0IHBvc2l0aW9uYWwgcGFyYW1ldGVycwotICAgICAgICAgICAgaWYgcHJldmFyZ3MgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgZW52LnNldF9wb3NpdGlvbmFsX2FyZ3MocHJldmFyZ3MpCi0gICAgICAgICAgICAgICAgCi0gICAgZGVmIF9leGVjdXRlX3NpbXBsZV9jb21tYW5kKHNlbGYsIHRva2VuLCByZWRpcnMpOgotICAgICAgICAiIiJDYW4gcmFpc2UgUmV0dXJuU2lnbmFsIHdoZW4gcmV0dXJuIGJ1aWx0aW4gaXMgY2FsbGVkLCBFeGl0U2lnbmFsIHdoZW4KLSAgICAgICAgZXhpdCBpcyBjYWxsZWQsIGFuZCBvdGhlciBzaGVsbCBleGNlcHRpb25zIHVwb24gYnVpbHRpbiBmYWlsdXJlcy4KLSAgICAgICAgIiIiCi0gICAgICAgIGRlYnVnX2NvbW1hbmQgPSAnZGVidWctY21kJyBpbiBzZWxmLl9kZWJ1Z2ZsYWdzCi0gICAgICAgIGlmIGRlYnVnX2NvbW1hbmQ6Ci0gICAgICAgICAgICBzZWxmLmxvZygnd29yZCcgKyByZXByKHRva2VuLndvcmRzKSArICdcbicpCi0gICAgICAgICAgICBzZWxmLmxvZygnYXNzaWducycgKyByZXByKHRva2VuLmFzc2lnbnMpICsgJ1xuJykKLSAgICAgICAgICAgIHNlbGYubG9nKCdyZWRpcnMnICsgcmVwcih0b2tlbi5yZWRpcnMpICsgJ1xuJykKLSAgICAgICAgCi0gICAgICAgIGlzX3NwZWNpYWwgPSBOb25lCi0gICAgICAgIGVudiA9IHNlbGYuX2VudgotICAgICAgICAKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgIyBXb3JkIGV4cGFuc2lvbgotICAgICAgICAgICAgYXJncyA9IFtdCi0gICAgICAgICAgICBmb3Igd29yZCBpbiB0b2tlbi53b3JkczogICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgYXJncyArPSBzZWxmLmV4cGFuZF90b2tlbih3b3JkKQotICAgICAgICAgICAgICAgIGlmIGlzX3NwZWNpYWwgaXMgTm9uZSBhbmQgYXJnczoKLSAgICAgICAgICAgICAgICAgICAgaXNfc3BlY2lhbCA9IGVudi5pc19mdW5jdGlvbihhcmdzWzBdKSBvciBcCi0gICAgICAgICAgICAgICAgICAgICAgICAoYXJnc1swXSBpbiBzZWxmLkNPTU1BTkRTIGFuZCBzZWxmLkNPTU1BTkRTW2FyZ3NbMF1dLmlzX3NwZWNpYWwpCi0gICAgICAgICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgIGlmIGRlYnVnX2NvbW1hbmQ6Ci0gICAgICAgICAgICAgICAgc2VsZi5sb2coJ19leGVjdXRlX3NpbXBsZV9jb21tYW5kJyArIHN0cihhcmdzKSArICdcbicpCi0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiBub3QgYXJnczoKLSAgICAgICAgICAgICAgICAjIFJlZGlyZWN0aW9ucyBoYXBwZW4gaXMgYSBzdWJzaGVsbAotICAgICAgICAgICAgICAgIHJlZGlycyA9IHJlZGlycy5jbG9uZSgpCi0gICAgICAgICAgICBlbGlmIG5vdCBpc19zcGVjaWFsOgotICAgICAgICAgICAgICAgIGVudiA9IHNlbGYuX2Vudi5jbG9uZSgpCi0gICAgICAgICAgICAKLSAgICAgICAgICAgICMgUmVkaXJlY3Rpb25zCi0gICAgICAgICAgICBzZWxmLnJlZGlyZWN0KHJlZGlycywgdG9rZW4ucmVkaXJzKQotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgIyBWYXJpYWJsZXMgYXNzaWdubWVudHMKLSAgICAgICAgICAgIHJlcyA9IDAKLSAgICAgICAgICAgIGZvciB0eXBlLChrLHYpIGluIHRva2VuLmFzc2lnbnM6Ci0gICAgICAgICAgICAgICAgc3RhdHVzLCBleHBhbmRlZCA9IHNlbGYuZXhwYW5kX3ZhcmlhYmxlKChrLHYpKQotICAgICAgICAgICAgICAgIGlmIHN0YXR1cyBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgcmVzID0gc3RhdHVzCi0gICAgICAgICAgICAgICAgaWYgYXJnczoKLSAgICAgICAgICAgICAgICAgICAgZW52LmV4cG9ydChrLCBleHBhbmRlZCkKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBlbnZba10gPSBleHBhbmRlZAotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgYXJncyBhbmQgYXJnc1swXSBpbiAoJy4nLCAnc291cmNlJyk6Ci0gICAgICAgICAgICAgICAgcmVzID0gc2VsZi5kb3Rjb21tYW5kKGVudiwgYXJnc1sxOl0pCi0gICAgICAgICAgICBlbGlmIGFyZ3M6Ci0gICAgICAgICAgICAgICAgaWYgYXJnc1swXSBpbiBzZWxmLkNPTU1BTkRTOgotICAgICAgICAgICAgICAgICAgICBjb21tYW5kID0gc2VsZi5DT01NQU5EU1thcmdzWzBdXQotICAgICAgICAgICAgICAgIGVsaWYgZW52LmlzX2Z1bmN0aW9uKGFyZ3NbMF0pOgotICAgICAgICAgICAgICAgICAgICBjb21tYW5kID0gVXRpbGl0eShzZWxmLl9leGVjdXRlX2Z1bmN0aW9uLCBpc19zcGVjaWFsPVRydWUpCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgaWYgbm90ICcvJyBpbiBhcmdzWzBdLnJlcGxhY2UoJ1xcJywgJy8nKToKLSAgICAgICAgICAgICAgICAgICAgICAgIGNtZCA9IGVudi5maW5kX2luX3BhdGgoYXJnc1swXSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBjbWQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBUT0RPOiB0ZXN0IGVycm9yIGNvZGUgb24gdW5rbm93biBjb21tYW5kID0+IDEyNwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIENvbW1hbmROb3RGb3VuZCgnVW5rbm93biBjb21tYW5kOiAiJXMiJyAlIGFyZ3NbMF0pCi0gICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAjIEhhbmRsZSBjb21tYW5kcyBsaWtlICcvY3lnZHJpdmUvYy9mb28uYmF0JwotICAgICAgICAgICAgICAgICAgICAgICAgY21kID0gY3lnd2luX3RvX3dpbmRvd3NfcGF0aChhcmdzWzBdKQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGNtZCk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgQ29tbWFuZE5vdEZvdW5kKCclczogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeScgJSBhcmdzWzBdKQotICAgICAgICAgICAgICAgICAgICAgICAgc2hlYmFuZyA9IHJlc29sdmVfc2hlYmFuZyhjbWQpCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiBzaGViYW5nOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtZCA9IHNoZWJhbmcKLSAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY21kID0gW2NtZF0KLSAgICAgICAgICAgICAgICAgICAgYXJnc1swOjFdID0gY21kCi0gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQgPSBVdGlsaXR5KGJ1aWx0aW4ucnVuX2NvbW1hbmQpCi0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgIyBDb21tYW5kIGV4ZWN1dGlvbgotICAgICAgICAgICAgICAgIGlmICdkZWJ1Zy1jbWQnIGluIHNlbGYuX2RlYnVnZmxhZ3M6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYubG9nKCdyZWRpcmVjdGlvbnMgJyArIHN0cihyZWRpcnMpICsgJ1xuJykKLSAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgcmVzID0gY29tbWFuZC5mdW5jKGFyZ3NbMF0sIGFyZ3NbMTpdLCBzZWxmLCBlbnYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZGlycy5zdGRpbigpLCByZWRpcnMuc3Rkb3V0KCksIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWRpcnMuc3RkZXJyKCksIHNlbGYuX2RlYnVnZmxhZ3MpCi0gICAgICAgICAgICAKLSAgICAgICAgICAgIGlmIHNlbGYuX2Vudi5oYXNfb3B0KCcteCcpOgotICAgICAgICAgICAgICAgICMgVHJhY2UgY29tbWFuZCBleGVjdXRpb24gaW4gc2hlbGwgZW52aXJvbm1lbnQKLSAgICAgICAgICAgICAgICAjIEJVRzogd291bGQgYmUgaGFyZCB0byByZXByb2R1Y2UgYSByZWFsIHNoZWxsIGJlaGF2aW91ciBzaW5jZQotICAgICAgICAgICAgICAgICMgdGhlIEFTVCBpcyBub3QgYW5ub3RhdGVkIHdpdGggc291cmNlIGxpbmVzL3Rva2Vucy4KLSAgICAgICAgICAgICAgICBzZWxmLl9yZWRpcnMuc3Rkb3V0KCkud3JpdGUoJyAnLmpvaW4oYXJncykpCi0gICAgICAgICAgICAgICAgCi0gICAgICAgIGV4Y2VwdCBSZXR1cm5TaWduYWw6Ci0gICAgICAgICAgICByYWlzZQotICAgICAgICBleGNlcHQgU2hlbGxFcnJvciBhcyBlOgotICAgICAgICAgICAgaWYgaXNfc3BlY2lhbCBvciBpc2luc3RhbmNlKGUsIChFeGl0U2lnbmFsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaGVsbFN5bnRheEVycm9yLCBFeHBhbnNpb25FcnJvcikpOgotICAgICAgICAgICAgICAgIHJhaXNlIGUKLSAgICAgICAgICAgIHNlbGYuX3JlZGlycy5zdGRlcnIoKS53cml0ZShzdHIoZSkrJ1xuJykKLSAgICAgICAgICAgIHJldHVybiAxCi0KLSAgICAgICAgcmV0dXJuIHJlcwotCi0gICAgZGVmIGV4cGFuZF90b2tlbihzZWxmLCB3b3JkKToKLSAgICAgICAgIiIiRXhwYW5kIGEgd29yZCBhcyBzcGVjaWZpZWQgaW4gWzIuNiBXb3JkIEV4cGFuc2lvbnNdLiBSZXR1cm4gdGhlIGxpc3QKLSAgICAgICAgb2YgZXhwYW5kZWQgd29yZHMuCi0gICAgICAgICIiIgotICAgICAgICBzdGF0dXMsIHd0cmVlcyA9IHNlbGYuX2V4cGFuZF93b3JkKHdvcmQpCi0gICAgICAgIHJldHVybiBtYXAocHlzaGxleC53b3JkdHJlZV9hc19zdHJpbmcsIHd0cmVlcykKLSAgICAgICAgCi0gICAgZGVmIGV4cGFuZF92YXJpYWJsZShzZWxmLCB3b3JkKToKLSAgICAgICAgIiIiUmV0dXJuIGEgc3RhdHVzIGNvZGUgKG9yIE5vbmUgaWYgbm8gY29tbWFuZCBleHBhbnNpb24gb2NjdXJyZWQpCi0gICAgICAgIGFuZCBhIHNpbmdsZSB3b3JkLgotICAgICAgICAiIiIKLSAgICAgICAgc3RhdHVzLCB3dHJlZXMgPSBzZWxmLl9leHBhbmRfd29yZCh3b3JkLCBwYXRobmFtZT1GYWxzZSwgc3BsaXQ9RmFsc2UpCi0gICAgICAgIHdvcmRzID0gbWFwKHB5c2hsZXgud29yZHRyZWVfYXNfc3RyaW5nLCB3dHJlZXMpCi0gICAgICAgIGFzc2VydCBsZW4od29yZHMpPT0xCi0gICAgICAgIHJldHVybiBzdGF0dXMsIHdvcmRzWzBdCi0gICAgICAgIAotICAgIGRlZiBleHBhbmRfaGVyZV9kb2N1bWVudChzZWxmLCB3b3JkKToKLSAgICAgICAgIiIiUmV0dXJuIHRoZSBleHBhbmRlZCBkb2N1bWVudCBhcyBhIHNpbmdsZSB3b3JkLiBUaGUgaGVyZSBkb2N1bWVudCBpcyAKLSAgICAgICAgYXNzdW1lZCB0byBiZSB1bnF1b3RlZC4KLSAgICAgICAgIiIiCi0gICAgICAgIHN0YXR1cywgd3RyZWVzID0gc2VsZi5fZXhwYW5kX3dvcmQod29yZCwgcGF0aG5hbWU9RmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BsaXQ9RmFsc2UsIGhlcmVfZG9jdW1lbnQ9VHJ1ZSkKLSAgICAgICAgd29yZHMgPSBtYXAocHlzaGxleC53b3JkdHJlZV9hc19zdHJpbmcsIHd0cmVlcykKLSAgICAgICAgYXNzZXJ0IGxlbih3b3Jkcyk9PTEKLSAgICAgICAgcmV0dXJuIHdvcmRzWzBdCi0gICAgICAgIAotICAgIGRlZiBleHBhbmRfcmVkaXJlY3Rpb24oc2VsZiwgd29yZCk6Ci0gICAgICAgICIiIlJldHVybiBhIHNpbmdsZSB3b3JkLiIiIgotICAgICAgICByZXR1cm4gc2VsZi5leHBhbmRfdmFyaWFibGUod29yZClbMV0KLSAgICAgICAgCi0gICAgZGVmIGdldF9lbnYoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLl9lbnYKLSAgICAgICAgCi0gICAgZGVmIF9leHBhbmRfd29yZChzZWxmLCB0b2tlbiwgcGF0aG5hbWU9VHJ1ZSwgc3BsaXQ9VHJ1ZSwgaGVyZV9kb2N1bWVudD1GYWxzZSk6Ci0gICAgICAgIHd0cmVlID0gcHlzaGxleC5tYWtlX3dvcmR0cmVlKHRva2VuWzFdLCBoZXJlX2RvY3VtZW50PWhlcmVfZG9jdW1lbnQpCi0gICAgICAgIAotICAgICAgICAjIFRPRE86IGltcGxlbWVudCB0aWxkZSBleHBhbnNpb24KLSAgICAgICAgZGVmIGV4cGFuZCh3dHJlZSk6Ci0gICAgICAgICAgICAiIiJSZXR1cm4gYSBwc2V1ZG8gd29yZHRyZWU6IHRoZSB0cmVlIG9yIGl0cyBzdWJlbGVtZW50cyBjYW4gYmUgZW1wdHkKLSAgICAgICAgICAgIGxpc3RzIHdoZW4gbm8gdmFsdWUgcmVzdWx0IGZyb20gdGhlIGV4cGFuc2lvbi4KLSAgICAgICAgICAgICIiIgotICAgICAgICAgICAgc3RhdHVzID0gTm9uZQotICAgICAgICAgICAgZm9yIHBhcnQgaW4gd3RyZWU6Ci0gICAgICAgICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UocGFydCwgbGlzdCk6Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgaWYgcGFydFswXWluICgiJyIsICdcXCcpOgotICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgICAgIGVsaWYgcGFydFswXSBpbiAoJ2AnLCAnJCgnKToKLSAgICAgICAgICAgICAgICAgICAgc3RhdHVzLCByZXN1bHQgPSBzZWxmLl9leHBhbmRfY29tbWFuZChwYXJ0KQotICAgICAgICAgICAgICAgICAgICBwYXJ0WzpdID0gcmVzdWx0Ci0gICAgICAgICAgICAgICAgZWxpZiBwYXJ0WzBdIGluICgnJCcsICckeycpOgotICAgICAgICAgICAgICAgICAgICBwYXJ0WzpdID0gc2VsZi5fZXhwYW5kX3BhcmFtZXRlcihwYXJ0LCB3dHJlZVswXT09JyInLCBzcGxpdCkKLSAgICAgICAgICAgICAgICBlbGlmIHBhcnRbMF0gaW4gKCcnLCAnIicpOgotICAgICAgICAgICAgICAgICAgICBzdGF0dXMsIHJlc3VsdCA9IGV4cGFuZChwYXJ0KQotICAgICAgICAgICAgICAgICAgICBwYXJ0WzpdID0gcmVzdWx0Ci0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcignJXMgZXhwYW5zaW9uIGlzIG5vdCBpbXBsZW1lbnRlZCcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIHBhcnRbMF0pCi0gICAgICAgICAgICAjIFtdIGlzIHJldHVybmVkIHdoZW4gYW4gZXhwYW5zaW9uIHJlc3VsdCBpbiBuby1maWVsZCwKLSAgICAgICAgICAgICMgbGlrZSBhbiBlbXB0eSAkQAotICAgICAgICAgICAgd3RyZWUgPSBbcCBmb3IgcCBpbiB3dHJlZSBpZiBwICE9IFtdXQotICAgICAgICAgICAgaWYgbGVuKHd0cmVlKSA8IDM6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHN0YXR1cywgW10KLSAgICAgICAgICAgIHJldHVybiBzdGF0dXMsIHd0cmVlCi0gICAgICAgIAotICAgICAgICBzdGF0dXMsIHd0cmVlID0gZXhwYW5kKHd0cmVlKQotICAgICAgICBpZiBsZW4od3RyZWUpID09IDA6Ci0gICAgICAgICAgICByZXR1cm4gc3RhdHVzLCB3dHJlZQotICAgICAgICB3dHJlZSA9IHB5c2hsZXgubm9ybWFsaXplX3dvcmR0cmVlKHd0cmVlKQotICAgICAgICAKLSAgICAgICAgaWYgc3BsaXQ6Ci0gICAgICAgICAgICB3dHJlZXMgPSBzZWxmLl9zcGxpdF9maWVsZHMod3RyZWUpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICB3dHJlZXMgPSBbd3RyZWVdCi0gICAgICAgIAotICAgICAgICBpZiBwYXRobmFtZToKLSAgICAgICAgICAgIHd0cmVlcyA9IG1hcHBlbmQoc2VsZi5fZXhwYW5kX3BhdGhuYW1lLCB3dHJlZXMpCi0gICAgICAgIAotICAgICAgICB3dHJlZXMgPSBtYXAoc2VsZi5fcmVtb3ZlX3F1b3Rlcywgd3RyZWVzKQotICAgICAgICByZXR1cm4gc3RhdHVzLCB3dHJlZXMKLSAgICAgICAgCi0gICAgZGVmIF9leHBhbmRfY29tbWFuZChzZWxmLCB3dHJlZSk6Ci0gICAgICAgICMgQlVHOiB0aGVyZSBpcyBzb21ldGhpbmcgdG8gZG8gd2l0aCBiYWNrc2xhc2hlcyBhbmQgcXVvdGVkCi0gICAgICAgICMgY2hhcmFjdGVycyBoZXJlCi0gICAgICAgIGNvbW1hbmQgPSBweXNobGV4LndvcmR0cmVlX2FzX3N0cmluZyh3dHJlZVsxOi0xXSkKLSAgICAgICAgc3RhdHVzLCBvdXRwdXQgPSBzZWxmLnN1YnNoZWxsX291dHB1dChjb21tYW5kKQotICAgICAgICByZXR1cm4gc3RhdHVzLCBbJycsIG91dHB1dCwgJyddCi0gICAgICAgIAotICAgIGRlZiBfZXhwYW5kX3BhcmFtZXRlcihzZWxmLCB3dHJlZSwgcXVvdGVkPUZhbHNlLCBzcGxpdD1GYWxzZSk6Ci0gICAgICAgICIiIlJldHVybiBhIHZhbGlkIHd0cmVlIG9yIGFuIGVtcHR5IGxpc3Qgd2hlbiBubyBwYXJhbWV0ZXIgcmVzdWx0cy4iIiIKLSAgICAgICAgIyBHZXQgdGhlIHBhcmFtZXRlciBuYW1lCi0gICAgICAgICMgVE9ETzogaW1wbGVtZW50IHdlaXJkIGV4cGFuc2lvbiBydWxlcyB3aXRoICc6JwotICAgICAgICBuYW1lID0gcHlzaGxleC53b3JkdHJlZV9hc19zdHJpbmcod3RyZWVbMTotMV0pCi0gICAgICAgIGlmIG5vdCBpc19uYW1lKG5hbWUpIGFuZCBub3QgaXNfc3BlY2lhbF9wYXJhbShuYW1lKToKLSAgICAgICAgICAgIHJhaXNlIEV4cGFuc2lvbkVycm9yKCdCYWQgc3Vic3RpdHV0aW9uICIlcyInICUgbmFtZSkKLSAgICAgICAgIyBUT0RPOiBpbXBsZW1lbnQgc3BlY2lhbCBwYXJhbWV0ZXJzCi0gICAgICAgIGlmIG5hbWUgaW4gKCdAJywgJyonKToKLSAgICAgICAgICAgIGFyZ3MgPSBzZWxmLl9lbnYuZ2V0X3Bvc2l0aW9uYWxfYXJncygpCi0gICAgICAgICAgICBpZiBsZW4oYXJncykgPT0gMDoKLSAgICAgICAgICAgICAgICByZXR1cm4gW10KLSAgICAgICAgICAgIGlmIGxlbihhcmdzKTwyOgotICAgICAgICAgICAgICAgIHJldHVybiBbJycsICcnLmpvaW4oYXJncyksICcnXQotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgc2VwID0gc2VsZi5fZW52LmdldCgnSUZTJywgJycpWzoxXQotICAgICAgICAgICAgaWYgc3BsaXQgYW5kIHF1b3RlZCBhbmQgbmFtZT09J0AnOgotICAgICAgICAgICAgICAgICMgSW50cm9kdWNlIGEgbmV3IHRva2VuIHRvIHRlbGwgdGhlIGNhbGxlciB0aGF0IHRoZXNlIHBhcmFtZXRlcnMKLSAgICAgICAgICAgICAgICAjIGNhdXNlIGEgc3BsaXQgYXMgc3BlY2lmaWVkIGluIDIuNS4yCi0gICAgICAgICAgICAgICAgcmV0dXJuIFsnQCddICsgYXJncyArIFsnJ10KLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFsnJywgc2VwLmpvaW4oYXJncyksICcnXSAgICAgICAgICAgICAgICAKLSAgICAgICAgCi0gICAgICAgIHJldHVybiBbJycsIHNlbGYuX2Vudi5nZXQobmFtZSwgJycpLCAnJ10KLSAgICAgICAgCi0gICAgZGVmIF9zcGxpdF9maWVsZHMoc2VsZiwgd3RyZWUpOgotICAgICAgICBkZWYgaXNfZW1wdHkoc3BsaXQpOgotICAgICAgICAgICAgcmV0dXJuIHNwbGl0PT1bJycsICcnLCAnJ10KLSAgICAgICAgICAgIAotICAgICAgICBkZWYgc3BsaXRfcG9zaXRpb25hbChxdW90ZWQpOgotICAgICAgICAgICAgIyBSZXR1cm4gYSBsaXN0IG9mIHd0cmVlIHNwbGl0IGFjY29yZGluZyBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgcnVsZXMuCi0gICAgICAgICAgICAjIEFsbCByZW1haW5pbmcgJ0AnIGdyb3VwcyBhcmUgcmVtb3ZlZC4KLSAgICAgICAgICAgIGFzc2VydCBxdW90ZWRbMF09PSciJwotICAgICAgICAgICAgCi0gICAgICAgICAgICBzcGxpdHMgPSBbW11dCi0gICAgICAgICAgICBmb3IgcGFydCBpbiBxdW90ZWQ6Ci0gICAgICAgICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UocGFydCwgbGlzdCkgb3IgcGFydFswXSE9J0AnOgotICAgICAgICAgICAgICAgICAgICBzcGxpdHNbLTFdLmFwcGVuZChwYXJ0KQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICMgRW1wdHkgb3Igc2luZ2xlIGFyZ3VtZW50IGxpc3Qgd2VyZSBkZWFsdCB3aXRoIGFscmVhZHkKLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0IGxlbihwYXJ0KT4zCi0gICAgICAgICAgICAgICAgICAgICMgRmlyc3QgYXJndW1lbnQgbXVzdCBqb2luIHdpdGggdGhlIGJlZ2lubmluZyBwYXJ0IG9mIHRoZSBvcmlnaW5hbCB3b3JkCi0gICAgICAgICAgICAgICAgICAgIHNwbGl0c1stMV0uYXBwZW5kKHBhcnRbMV0pCi0gICAgICAgICAgICAgICAgICAgICMgQ3JlYXRlIGRvdWJsZS1xdW90ZXMgZXhwcmVzc2lvbnMgZm9yIGV2ZXJ5IGFyZ3VtZW50IGFmdGVyIHRoZSBmaXJzdAotICAgICAgICAgICAgICAgICAgICBmb3IgYXJnIGluIHBhcnRbMjotMV06Ci0gICAgICAgICAgICAgICAgICAgICAgICBzcGxpdHNbLTFdLmFwcGVuZCgnIicpCi0gICAgICAgICAgICAgICAgICAgICAgICBzcGxpdHMuYXBwZW5kKFsnIicsIGFyZ10pCi0gICAgICAgICAgICByZXR1cm4gc3BsaXRzCi0gICAgICAgIAotICAgICAgICAjIEF0IHRoaXMgcG9pbnQsIGFsbCBleHBhbnNpb25zIGJ1dCBwYXRobmFtZXMgaGF2ZSBvY2N1cmVkLiBPbmx5IHF1b3RlZAotICAgICAgICAjIGFuZCBwb3NpdGlvbmFsIHNlcXVlbmNlcyByZW1haW4uIFRodXMsIGFsbCBjYW5kaWRhdGVzIGZvciBmaWVsZCBzcGxpdHRpbmcgCi0gICAgICAgICMgYXJlIGluIHRoZSB0cmVlIHJvb3QsIG9yIGFyZSBwb3NpdGlvbmFsIHNwbGl0cyAoJ0AnKSBhbmQgbGllIGluIHJvb3QKLSAgICAgICAgIyBjaGlsZHJlbi4KLSAgICAgICAgaWYgbm90IHd0cmVlIG9yIHd0cmVlWzBdIG5vdCBpbiAoJycsICciJyk6Ci0gICAgICAgICAgICAjIFRoZSB3aG9sZSB0b2tlbiBpcyBxdW90ZWQgb3IgZW1wdHksIG5vdGhpbmcgdG8gc3BsaXQKLSAgICAgICAgICAgIHJldHVybiBbd3RyZWVdCi0gICAgICAgICAgICAKLSAgICAgICAgaWYgd3RyZWVbMF09PSciJzoKLSAgICAgICAgICAgIHd0cmVlID0gWycnLCB3dHJlZSwgJyddCi0gICAgICAgIAotICAgICAgICByZXN1bHQgPSBbWycnLCAnJ11dCi0gICAgICAgIGZvciBwYXJ0IGluIHd0cmVlWzE6LTFdOgotICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShwYXJ0LCBsaXN0KToKLSAgICAgICAgICAgICAgICBpZiBwYXJ0WzBdPT0nIic6Ci0gICAgICAgICAgICAgICAgICAgIHNwbGl0cyA9IHNwbGl0X3Bvc2l0aW9uYWwocGFydCkKLSAgICAgICAgICAgICAgICAgICAgaWYgbGVuKHNwbGl0cyk8PTE6Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRbLTFdICs9IFtwYXJ0LCAnJ10KLSAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgICMgVGVybWluYXRlIHRoZSBjdXJyZW50IHNwbGl0Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRbLTFdICs9IFtzcGxpdHNbMF0sICcnXQotICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ICs9IHNwbGl0c1sxOi0xXQotICAgICAgICAgICAgICAgICAgICAgICAgIyBDcmVhdGUgYSBuZXcgc3BsaXQKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCArPSBbWycnLCBzcGxpdHNbLTFdLCAnJ11dCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0Wy0xXSArPSBbcGFydCwgJyddCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHNwbGl0cyA9IHNlbGYuX2Vudi5zcGxpdF9maWVsZHMocGFydCkKLSAgICAgICAgICAgICAgICBpZiBsZW4oc3BsaXRzKTw9MToKLSAgICAgICAgICAgICAgICAgICAgIyBObyBzcGxpdAotICAgICAgICAgICAgICAgICAgICByZXN1bHRbLTFdWy0xXSArPSBwYXJ0Ci0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgIyBUZXJtaW5hdGUgdGhlIGN1cnJlbnQgcmVzdWx0aW5nIHBhcnQgYW5kIGNyZWF0ZSBhIG5ldyBvbmUKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0Wy0xXVstMV0gKz0gc3BsaXRzWzBdCi0gICAgICAgICAgICAgICAgICAgIHJlc3VsdFstMV0uYXBwZW5kKCcnKQotICAgICAgICAgICAgICAgICAgICByZXN1bHQgKz0gW1snJywgciwgJyddIGZvciByIGluIHNwbGl0c1sxOi0xXV0KLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0ICs9IFtbJycsIHNwbGl0c1stMV1dXQotICAgICAgICByZXN1bHRbLTFdLmFwcGVuZCgnJykKLSAgICAgICAgCi0gICAgICAgICMgTGVhZGluZyBhbmQgdHJhaWxpbmcgZW1wdHkgZ3JvdXBzIGNvbWUgZnJvbSBsZWFkaW5nL3RyYWlsaW5nIGJsYW5rcwotICAgICAgICBpZiByZXN1bHQgYW5kIGlzX2VtcHR5KHJlc3VsdFstMV0pOgotICAgICAgICAgICAgcmVzdWx0Wy0xOl0gPSBbXQotICAgICAgICBpZiByZXN1bHQgYW5kIGlzX2VtcHR5KHJlc3VsdFswXSk6Ci0gICAgICAgICAgICByZXN1bHRbOjFdID0gW10KLSAgICAgICAgcmV0dXJuIHJlc3VsdAotICAgICAgICAKLSAgICBkZWYgX2V4cGFuZF9wYXRobmFtZShzZWxmLCB3dHJlZSk6Ci0gICAgICAgICIiIlNlZSBbMi42LjYgUGF0aG5hbWUgRXhwYW5zaW9uXS4iIiIKLSAgICAgICAgaWYgc2VsZi5fZW52Lmhhc19vcHQoJy1mJyk6Ci0gICAgICAgICAgICByZXR1cm4gW3d0cmVlXQotICAgICAgICAKLSAgICAgICAgIyBBbGwgZXhwYW5zaW9ucyBoYXZlIGJlZW4gcGVyZm9ybWVkLCBvbmx5IHF1b3RlZCBzZXF1ZW5jZXMgc2hvdWxkIHJlbWFpbgotICAgICAgICAjIGluIHRoZSB0cmVlLiBHZW5lcmF0ZSB0aGUgcGF0dGVybiBieSBmb2xkaW5nIHRoZSB0cmVlLCBlc2NhcGluZyBzcGVjaWFsCi0gICAgICAgICMgY2hhcmFjdGVycyB3aGVuIGFwcGVhciBxdW90ZWQKLSAgICAgICAgc3BlY2lhbF9jaGFycyA9ICcqP1tdJwotICAgICAgICAKLSAgICAgICAgZGVmIG1ha2VfcGF0dGVybih3dHJlZSk6Ci0gICAgICAgICAgICBzdWJwYXR0ZXJuID0gW10KLSAgICAgICAgICAgIGZvciBwYXJ0IGluIHd0cmVlWzE6LTFdOgotICAgICAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UocGFydCwgbGlzdCk6Ci0gICAgICAgICAgICAgICAgICAgIHBhcnQgPSBtYWtlX3BhdHRlcm4ocGFydCkKLSAgICAgICAgICAgICAgICBlbGlmIHd0cmVlWzBdIT0nJzoKLSAgICAgICAgICAgICAgICAgICAgZm9yIGMgaW4gcGFydDoKLSAgICAgICAgICAgICAgICAgICAgICAgICMgTWV0YS1jaGFyYWN0ZXJzIGNhbm5vdCBiZSBxdW90ZWQKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIGMgaW4gc3BlY2lhbF9jaGFyczoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBHbG9iRXJyb3IoKQotICAgICAgICAgICAgICAgIHN1YnBhdHRlcm4uYXBwZW5kKHBhcnQpCi0gICAgICAgICAgICByZXR1cm4gJycuam9pbihzdWJwYXR0ZXJuKQotICAgICAgICAgICAgCi0gICAgICAgIGRlZiBwd2RfZ2xvYihwYXR0ZXJuKToKLSAgICAgICAgICAgIGN3ZCA9IG9zLmdldGN3ZCgpCi0gICAgICAgICAgICBvcy5jaGRpcihzZWxmLl9lbnZbJ1BXRCddKQotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHJldHVybiBnbG9iLmdsb2IocGF0dGVybikgCi0gICAgICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgICAgIG9zLmNoZGlyKGN3ZCkgICAgCi0gICAgICAgICAgICAKLSAgICAgICAgI1RPRE86IGNoZWNrIHdvcmtpbmcgZGlyZWN0b3J5IGlzc3VlcyBoZXJlIHdydCByZWxhdGl2ZSBwYXR0ZXJucwotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBwYXR0ZXJuID0gbWFrZV9wYXR0ZXJuKHd0cmVlKQotICAgICAgICAgICAgcGF0aHMgPSBwd2RfZ2xvYihwYXR0ZXJuKQotICAgICAgICBleGNlcHQgR2xvYkVycm9yOgotICAgICAgICAgICAgIyBCVUc6IE1ldGEtY2hhcmFjdGVycyB3ZXJlIGZvdW5kIGluIHF1b3RlZCBzZXF1ZW5jZXMuIFRoZSBzaG91bGQgCi0gICAgICAgICAgICAjIGhhdmUgYmVlbiB1c2VkIGxpdGVyYWxseSBidXQgdGhpcyBpcyB1bnN1cHBvcnRlZCBpbiBjdXJyZW50IGdsb2IgbW9kdWxlLgotICAgICAgICAgICAgIyBJbnN0ZWFkIHdlIGNvbnNpZGVyIHRoZSB3aG9sZSB0cmVlIG11c3QgYmUgdXNlZCBsaXRlcmFsbHkgYW5kCi0gICAgICAgICAgICAjIHRoZXJlZm9yZSB0aGVyZSBpcyBubyBwb2ludCBpbiBnbG9iYmluZy4gVGhpcyBpcyB3cm9uZyB3aGVuIG1ldGEKLSAgICAgICAgICAgICMgY2hhcmFjdGVycyBhcmUgbWl4ZWQgd2l0aCBxdW90ZWQgbWV0YSBpbiB0aGUgc2FtZSBwYXR0ZXJuIGxpa2U6Ci0gICAgICAgICAgICAjIDwgZm9vKiJweSoiID4KLSAgICAgICAgICAgIHBhdGhzID0gW10KLSAgICAgICAgICAgIAotICAgICAgICBpZiBub3QgcGF0aHM6Ci0gICAgICAgICAgICByZXR1cm4gW3d0cmVlXQotICAgICAgICByZXR1cm4gW1snJywgcGF0aCwgJyddIGZvciBwYXRoIGluIHBhdGhzXQotICAgICAgICAKLSAgICBkZWYgX3JlbW92ZV9xdW90ZXMoc2VsZiwgd3RyZWUpOgotICAgICAgICAiIiJTZWUgWzIuNi43IFF1b3RlIFJlbW92YWxdLiIiIgotICAgICAgICAKLSAgICAgICAgZGVmIHVucXVvdGUod3RyZWUpOgotICAgICAgICAgICAgdW5xdW90ZWQgPSBbXQotICAgICAgICAgICAgZm9yIHBhcnQgaW4gd3RyZWVbMTotMV06Ci0gICAgICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShwYXJ0LCBsaXN0KToKLSAgICAgICAgICAgICAgICAgICAgcGFydCA9IHVucXVvdGUocGFydCkKLSAgICAgICAgICAgICAgICB1bnF1b3RlZC5hcHBlbmQocGFydCkKLSAgICAgICAgICAgIHJldHVybiAnJy5qb2luKHVucXVvdGVkKQotICAgICAgICAgICAgCi0gICAgICAgIHJldHVybiBbJycsIHVucXVvdGUod3RyZWUpLCAnJ10KLSAgICAgICAgCi0gICAgZGVmIHN1YnNoZWxsKHNlbGYsIHNjcmlwdD1Ob25lLCBhc3Q9Tm9uZSwgcmVkaXJzPU5vbmUpOgotICAgICAgICAiIiJFeGVjdXRlIHRoZSBzY3JpcHQgb3IgQVNUIGluIGEgc3Vic2hlbGwsIHdpdGggaW5oZXJpdGVkIHJlZGlyZWN0aW9ucwotICAgICAgICBpZiByZWRpcnMgaXMgbm90IE5vbmUuCi0gICAgICAgICIiIgotICAgICAgICBpZiByZWRpcnM6Ci0gICAgICAgICAgICBzdWJfcmVkaXJzID0gcmVkaXJzCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzdWJfcmVkaXJzID0gcmVkaXJzLmNsb25lKCkKLSAgICAgICAgCi0gICAgICAgIHN1YnNoZWxsID0gTm9uZSAgICAKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgc3Vic2hlbGwgPSBJbnRlcnByZXRlcihOb25lLCBzZWxmLl9kZWJ1Z2ZsYWdzLCBzZWxmLl9lbnYuY2xvbmUoVHJ1ZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1Yl9yZWRpcnMsIG9wdHM9c2VsZi5fb3B0aW9ucykKLSAgICAgICAgICAgIHJldHVybiBzdWJzaGVsbC5leGVjdXRlX3NjcmlwdChzY3JpcHQsIGFzdCkKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIGlmIG5vdCByZWRpcnM6IHN1Yl9yZWRpcnMuY2xvc2UoKQotICAgICAgICAgICAgaWYgc3Vic2hlbGw6IHN1YnNoZWxsLmNsb3NlKCkKLSAgICAgICAgCi0gICAgZGVmIHN1YnNoZWxsX291dHB1dChzZWxmLCBzY3JpcHQpOgotICAgICAgICAiIiJFeGVjdXRlIHRoZSBzY3JpcHQgaW4gYSBzdWJzaGVsbCBhbmQgcmV0dXJuIHRoZSBjYXB0dXJlZCBvdXRwdXQuIiIiICAgICAgICAKLSAgICAgICAgIyBDcmVhdGUgdGVtcG9yYXJ5IGZpbGUgdG8gY2FwdHVyZSBzdWJzaGVsbCBvdXRwdXQKLSAgICAgICAgdG1wZmQsIHRtcHBhdGggPSB0ZW1wZmlsZS5ta3N0ZW1wKCkKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgdG1wZmlsZSA9IG9zLmZkb3Blbih0bXBmZCwgJ3diJykKLSAgICAgICAgICAgIHN0ZG91dCA9IEZpbGVXcmFwcGVyKCd3JywgdG1wZmlsZSkKLSAgICAgICAgICAgIAotICAgICAgICAgICAgcmVkaXJzID0gUmVkaXJlY3Rpb25zKHNlbGYuX3JlZGlycy5zdGRpbigpLmR1cCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZG91dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9yZWRpcnMuc3RkZXJyKCkuZHVwKCkpICAgICAgICAgICAgCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5zdWJzaGVsbChzY3JpcHQ9c2NyaXB0LCByZWRpcnM9cmVkaXJzKQotICAgICAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgICAgICByZWRpcnMuY2xvc2UoKQotICAgICAgICAgICAgICAgIHJlZGlycyA9IE5vbmUKLSAgICAgICAgICAgIAotICAgICAgICAgICAgIyBFeHRyYWN0IHN1YnNoZWxsIHN0YW5kYXJkIG91dHB1dAotICAgICAgICAgICAgdG1wZmlsZSA9IG9wZW4odG1wcGF0aCwgJ3JiJykKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBvdXRwdXQgPSB0bXBmaWxlLnJlYWQoKQotICAgICAgICAgICAgICAgIHJldHVybiBzdGF0dXMsIG91dHB1dC5yc3RyaXAoJ1xuJykKLSAgICAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICAgICAgdG1wZmlsZS5jbG9zZSgpCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBvcy5yZW1vdmUodG1wcGF0aCkKLQotICAgIGRlZiBfYXN5bmNsaXN0KHNlbGYsIGNtZCk6Ci0gICAgICAgIGFyZ3MgPSAoc2VsZi5fZW52LmdldF92YXJpYWJsZXMoKSwgY21kKQotICAgICAgICBhcmcgPSBlbmNvZGVhcmdzKGFyZ3MpCi0gICAgICAgIGFzc2VydCBsZW4oYXJncykgPCAzMCoxMDI0Ci0gICAgICAgIGNtZCA9IFsncHlzaC5iYXQnLCAnLS1hc3QnLCAnLWMnLCBhcmddCi0gICAgICAgIHAgPSBzdWJwcm9jZXNzLlBvcGVuKGNtZCwgY3dkPXNlbGYuX2VudlsnUFdEJ10pCi0gICAgICAgIHNlbGYuX2NoaWxkcmVuW3AucGlkXSA9IHAKLSAgICAgICAgc2VsZi5fZW52WychJ10gPSBwLnBpZAotICAgICAgICByZXR1cm4gMAotCi0gICAgZGVmIHdhaXQoc2VsZiwgcGlkcz1Ob25lKToKLSAgICAgICAgaWYgbm90IHBpZHM6Ci0gICAgICAgICAgICBwaWRzID0gc2VsZi5fY2hpbGRyZW4ua2V5cygpCi0KLSAgICAgICAgc3RhdHVzID0gMTI3Ci0gICAgICAgIGZvciBwaWQgaW4gcGlkczoKLSAgICAgICAgICAgIGlmIHBpZCBub3QgaW4gc2VsZi5fY2hpbGRyZW46Ci0gICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgIHAgPSBzZWxmLl9jaGlsZHJlbi5wb3AocGlkKQotICAgICAgICAgICAgc3RhdHVzID0gcC53YWl0KCkKLQotICAgICAgICByZXR1cm4gc3RhdHVzCi0KZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvcHlzaC9sc3Byb2YucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvbHNwcm9mLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMTgzMWMyLi4wMDAwMDAwCi0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvcHlzaC9sc3Byb2YucHkKKysrIC9kZXYvbnVsbApAQCAtMSwxMTYgKzAsMCBAQAotIyEgL3Vzci9iaW4vZW52IHB5dGhvbgotCi1pbXBvcnQgc3lzCi1mcm9tIF9sc3Byb2YgaW1wb3J0IFByb2ZpbGVyLCBwcm9maWxlcl9lbnRyeQotCi1fX2FsbF9fID0gWydwcm9maWxlJywgJ1N0YXRzJ10KLQotZGVmIHByb2ZpbGUoZiwgKmFyZ3MsICoqa3dkcyk6Ci0gICAgIiIiWFhYIGRvY3N0cmluZyIiIgotICAgIHAgPSBQcm9maWxlcigpCi0gICAgcC5lbmFibGUoc3ViY2FsbHM9VHJ1ZSwgYnVpbHRpbnM9VHJ1ZSkKLSAgICB0cnk6Ci0gICAgICAgIGYoKmFyZ3MsICoqa3dkcykKLSAgICBmaW5hbGx5OgotICAgICAgICBwLmRpc2FibGUoKQotICAgIHJldHVybiBTdGF0cyhwLmdldHN0YXRzKCkpCi0KLQotY2xhc3MgU3RhdHMob2JqZWN0KToKLSAgICAiIiJYWFggZG9jc3RyaW5nIiIiCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgZGF0YSk6Ci0gICAgICAgIHNlbGYuZGF0YSA9IGRhdGEKLQotICAgIGRlZiBzb3J0KHNlbGYsIGNyaXQ9ImlubGluZXRpbWUiKToKLSAgICAgICAgIiIiWFhYIGRvY3N0cmluZyIiIgotICAgICAgICBpZiBjcml0IG5vdCBpbiBwcm9maWxlcl9lbnRyeS5fX2RpY3RfXzoKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkNhbid0IHNvcnQgYnkgJXMiICUgY3JpdCkKLSAgICAgICAgc2VsZi5kYXRhLnNvcnQobGFtYmRhIGIsIGE6IGNtcChnZXRhdHRyKGEsIGNyaXQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldGF0dHIoYiwgY3JpdCkpKQotICAgICAgICBmb3IgZSBpbiBzZWxmLmRhdGE6Ci0gICAgICAgICAgICBpZiBlLmNhbGxzOgotICAgICAgICAgICAgICAgIGUuY2FsbHMuc29ydChsYW1iZGEgYiwgYTogY21wKGdldGF0dHIoYSwgY3JpdCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0YXR0cihiLCBjcml0KSkpCi0KLSAgICBkZWYgcHByaW50KHNlbGYsIHRvcD1Ob25lLCBmaWxlPU5vbmUsIGxpbWl0PU5vbmUsIGNsaW1pdD1Ob25lKToKLSAgICAgICAgIiIiWFhYIGRvY3N0cmluZyIiIgotICAgICAgICBpZiBmaWxlIGlzIE5vbmU6Ci0gICAgICAgICAgICBmaWxlID0gc3lzLnN0ZG91dAotICAgICAgICBkID0gc2VsZi5kYXRhCi0gICAgICAgIGlmIHRvcCBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIGQgPSBkWzp0b3BdCi0gICAgICAgIGNvbHMgPSAiJSAxMnMgJTEycyAlMTEuNGYgJTExLjRmICAgJXNcbiIKLSAgICAgICAgaGNvbHMgPSAiJSAxMnMgJTEycyAlMTJzICUxMnMgJXNcbiIKLSAgICAgICAgY29sczIgPSAiKyUxMnMgJTEycyAlMTEuNGYgJTExLjRmICsgICVzXG4iCi0gICAgICAgIGZpbGUud3JpdGUoaGNvbHMgJSAoIkNhbGxDb3VudCIsICJSZWN1cnNpdmUiLCAiVG90YWwobXMpIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSW5saW5lKG1zKSIsICJtb2R1bGU6bGluZW5vKGZ1bmN0aW9uKSIpKQotICAgICAgICBjb3VudCA9IDAKLSAgICAgICAgZm9yIGUgaW4gZDoKLSAgICAgICAgICAgIGZpbGUud3JpdGUoY29scyAlIChlLmNhbGxjb3VudCwgZS5yZWNjYWxsY291bnQsIGUudG90YWx0aW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUuaW5saW5ldGltZSwgbGFiZWwoZS5jb2RlKSkpCi0gICAgICAgICAgICBjb3VudCArPSAxCi0gICAgICAgICAgICBpZiBsaW1pdCBpcyBub3QgTm9uZSBhbmQgY291bnQgPT0gbGltaXQ6Ci0gICAgICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgICAgICBjY291bnQgPSAwCi0gICAgICAgICAgICBpZiBlLmNhbGxzOgotICAgICAgICAgICAgICAgIGZvciBzZSBpbiBlLmNhbGxzOgotICAgICAgICAgICAgICAgICAgICBmaWxlLndyaXRlKGNvbHMgJSAoIislcyIgJSBzZS5jYWxsY291bnQsIHNlLnJlY2NhbGxjb3VudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlLnRvdGFsdGltZSwgc2UuaW5saW5ldGltZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIrJXMiICUgbGFiZWwoc2UuY29kZSkpKQotICAgICAgICAgICAgICAgICAgICBjb3VudCArPSAxCi0gICAgICAgICAgICAgICAgICAgIGNjb3VudCArPSAxCi0gICAgICAgICAgICAgICAgICAgIGlmIGxpbWl0IGlzIG5vdCBOb25lIGFuZCBjb3VudCA9PSBsaW1pdDoKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybgotICAgICAgICAgICAgICAgICAgICBpZiBjbGltaXQgaXMgbm90IE5vbmUgYW5kIGNjb3VudCA9PSBjbGltaXQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhawotCi0gICAgZGVmIGZyZWV6ZShzZWxmKToKLSAgICAgICAgIiIiUmVwbGFjZSBhbGwgcmVmZXJlbmNlcyB0byBjb2RlIG9iamVjdHMgd2l0aCBzdHJpbmcKLSAgICAgICAgZGVzY3JpcHRpb25zOyB0aGlzIG1ha2VzIGl0IHBvc3NpYmxlIHRvIHBpY2tsZSB0aGUgaW5zdGFuY2UuIiIiCi0KLSAgICAgICAgIyB0aGlzIGNvZGUgaXMgcHJvYmFibHkgcmF0aGVyIGlja2llciB0aGFuIGl0IG5lZWRzIHRvIGJlIQotICAgICAgICBmb3IgaSBpbiByYW5nZShsZW4oc2VsZi5kYXRhKSk6Ci0gICAgICAgICAgICBlID0gc2VsZi5kYXRhW2ldCi0gICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShlLmNvZGUsIHN0cik6Ci0gICAgICAgICAgICAgICAgc2VsZi5kYXRhW2ldID0gdHlwZShlKSgobGFiZWwoZS5jb2RlKSwpICsgZVsxOl0pCi0gICAgICAgICAgICBpZiBlLmNhbGxzOgotICAgICAgICAgICAgICAgIGZvciBqIGluIHJhbmdlKGxlbihlLmNhbGxzKSk6Ci0gICAgICAgICAgICAgICAgICAgIHNlID0gZS5jYWxsc1tqXQotICAgICAgICAgICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShzZS5jb2RlLCBzdHIpOgotICAgICAgICAgICAgICAgICAgICAgICAgZS5jYWxsc1tqXSA9IHR5cGUoc2UpKChsYWJlbChzZS5jb2RlKSwpICsgc2VbMTpdKQotCi1fZm4ybW9kID0ge30KLQotZGVmIGxhYmVsKGNvZGUpOgotICAgIGlmIGlzaW5zdGFuY2UoY29kZSwgc3RyKToKLSAgICAgICAgcmV0dXJuIGNvZGUKLSAgICB0cnk6Ci0gICAgICAgIG1uYW1lID0gX2ZuMm1vZFtjb2RlLmNvX2ZpbGVuYW1lXQotICAgIGV4Y2VwdCBLZXlFcnJvcjoKLSAgICAgICAgZm9yIGssIHYgaW4gc3lzLm1vZHVsZXMuaXRlbXMoKToKLSAgICAgICAgICAgIGlmIHYgaXMgTm9uZToKLSAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgaWYgbm90IGhhc2F0dHIodiwgJ19fZmlsZV9fJyk6Ci0gICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKHYuX19maWxlX18sIHN0cik6Ci0gICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgIGlmIHYuX19maWxlX18uc3RhcnRzd2l0aChjb2RlLmNvX2ZpbGVuYW1lKToKLSAgICAgICAgICAgICAgICBtbmFtZSA9IF9mbjJtb2RbY29kZS5jb19maWxlbmFtZV0gPSBrCi0gICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIG1uYW1lID0gX2ZuMm1vZFtjb2RlLmNvX2ZpbGVuYW1lXSA9ICc8JXM+JyVjb2RlLmNvX2ZpbGVuYW1lCi0KLSAgICByZXR1cm4gJyVzOiVkKCVzKScgJSAobW5hbWUsIGNvZGUuY29fZmlyc3RsaW5lbm8sIGNvZGUuY29fbmFtZSkKLQotCi1pZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgotICAgIGltcG9ydCBvcwotICAgIHN5cy5hcmd2ID0gc3lzLmFyZ3ZbMTpdCi0gICAgaWYgbm90IHN5cy5hcmd2OgotICAgICAgICBwcmludCA+PiBzeXMuc3RkZXJyLCAidXNhZ2U6IGxzcHJvZi5weSA8c2NyaXB0PiA8YXJndW1lbnRzLi4uPiIKLSAgICAgICAgc3lzLmV4aXQoMikKLSAgICBzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguZGlybmFtZShzeXMuYXJndlswXSkpKQotICAgIHN0YXRzID0gcHJvZmlsZShleGVjZmlsZSwgc3lzLmFyZ3ZbMF0sIGdsb2JhbHMoKSwgbG9jYWxzKCkpCi0gICAgc3RhdHMuc29ydCgpCi0gICAgc3RhdHMucHByaW50KCkKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvcHlzaC9weXNoLnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi9weXNoL3B5c2gucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI0ZTYxNDUuLjAwMDAwMDAKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9weXNoL3B5c2gucHkKKysrIC9kZXYvbnVsbApAQCAtMSwxNjcgKzAsMCBAQAotIyBweXNoLnB5IC0gY29tbWFuZCBwcm9jZXNzaW5nIGZvciBweXNoLgotIwotIyBDb3B5cmlnaHQgMjAwNyBQYXRyaWNrIE1lemFyZAotIwotIyBUaGlzIHNvZnR3YXJlIG1heSBiZSB1c2VkIGFuZCBkaXN0cmlidXRlZCBhY2NvcmRpbmcgdG8gdGhlIHRlcm1zCi0jIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgaW5jb3Jwb3JhdGVkIGhlcmVpbiBieSByZWZlcmVuY2UuCi0KLWltcG9ydCBvcHRwYXJzZQotaW1wb3J0IG9zCi1pbXBvcnQgc3lzCi0KLWltcG9ydCBpbnRlcnAKLQotU0hfT1BUID0gb3B0cGFyc2UuT3B0aW9uUGFyc2VyKHByb2c9J3B5c2gnLCB1c2FnZT0iJXByb2cgW09QVElPTlNdIiwgdmVyc2lvbj0nMC4xJykKLVNIX09QVC5hZGRfb3B0aW9uKCctYycsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlc3Q9J2NvbW1hbmRfc3RyaW5nJywgZGVmYXVsdD1Ob25lLCAKLSAgICBoZWxwPSdBIHN0cmluZyB0aGF0IHNoYWxsIGJlIGludGVycHJldGVkIGJ5IHRoZSBzaGVsbCBhcyBvbmUgb3IgbW9yZSBjb21tYW5kcycpCi1TSF9PUFQuYWRkX29wdGlvbignLS1yZWRpcmVjdC10bycsIGRlc3Q9J3JlZGlyZWN0X3RvJywgZGVmYXVsdD1Ob25lLCAKLSAgICBoZWxwPSdSZWRpcmVjdCBzY3JpcHQgY29tbWFuZHMgc3Rkb3V0IGFuZCBzdGRlcnIgdG8gdGhlIHNwZWNpZmllZCBmaWxlJykKLSMgU2VlIHV0aWxpdHlfY29tbWFuZCBpbiBidWlsdGluLnB5IGFib3V0IHRoZSByZWFzb24gZm9yIHRoaXMgZmxhZy4KLVNIX09QVC5hZGRfb3B0aW9uKCctLXJlZGlyZWN0ZWQnLCBkZXN0PSdyZWRpcmVjdGVkJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVmYXVsdD1GYWxzZSwgCi0gICAgaGVscD0nVGVsbCB0aGUgaW50ZXJwcmV0ZXIgdGhhdCBzdGRvdXQgYW5kIHN0ZGVyciBhcmUgYWN0dWFsbHkgdGhlIHNhbWUgb2JqZWN0cywgd2hpY2ggaXMgcmVhbGx5IHN0ZG91dCcpCi1TSF9PUFQuYWRkX29wdGlvbignLS1kZWJ1Zy1wYXJzaW5nJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVzdD0nZGVidWdfcGFyc2luZycsIGRlZmF1bHQ9RmFsc2UsIAotICAgIGhlbHA9J1RyYWNlIFBMWSBleGVjdXRpb24nKQotU0hfT1BULmFkZF9vcHRpb24oJy0tZGVidWctdHJlZScsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlc3Q9J2RlYnVnX3RyZWUnLCBkZWZhdWx0PUZhbHNlLCAKLSAgICBoZWxwPSdEaXNwbGF5IHRoZSBnZW5lcmF0ZWQgc3ludGF4IHRyZWUuJykKLVNIX09QVC5hZGRfb3B0aW9uKCctLWRlYnVnLWNtZCcsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlc3Q9J2RlYnVnX2NtZCcsIGRlZmF1bHQ9RmFsc2UsIAotICAgIGhlbHA9J1RyYWNlIGNvbW1hbmQgZXhlY3V0aW9uIGJlZm9yZSBwYXJhbWV0ZXJzIGV4cGFuc2lvbiBhbmQgZXhpdCBzdGF0dXMuJykKLVNIX09QVC5hZGRfb3B0aW9uKCctLWRlYnVnLXV0aWxpdHknLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZXN0PSdkZWJ1Z191dGlsaXR5JywgZGVmYXVsdD1GYWxzZSwgCi0gICAgaGVscD0nVHJhY2UgdXRpbGl0eSBjYWxscywgYWZ0ZXIgcGFyYW1ldGVycyBleHBhbnNpb25zJykKLVNIX09QVC5hZGRfb3B0aW9uKCctLWFzdCcsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlc3Q9J2FzdCcsIGRlZmF1bHQ9RmFsc2UsCi0gICAgaGVscD0nRW5jb2RlZCBjb21tYW5kcyB0byBleGVjdXRlIGluIGEgc3VicHJvY2VzcycpCi1TSF9PUFQuYWRkX29wdGlvbignLS1wcm9maWxlJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVmYXVsdD1GYWxzZSwKLSAgICBoZWxwPSdQcm9maWxlIHB5c2ggcnVuJykKLSAgICAKLSAgICAKLWRlZiBzcGxpdF9hcmdzKGFyZ3MpOgotICAgICMgU2VwYXJhdGUgc2hlbGwgYXJndW1lbnRzIGZyb20gY29tbWFuZCBvbmVzCi0gICAgIyBKdXN0IHN0b3AgYXQgdGhlIGZpcnN0IGFyZ3VtZW50IG5vdCBzdGFydGluZyB3aXRoIGEgZGFzaC4gSSBrbm93LCB0aGlzIGlzIGNvbXBsZXRlbHkgYnJva2VuLAotICAgICMgaXQgaWdub3JlcyBmaWxlcyBzdGFydGluZyB3aXRoIGEgZGFzaCBvciBtYXkgdGFrZSBvcHRpb24gdmFsdWVzIGZvciBjb21tYW5kIGZpbGUuIFRoaXMgaXMgbm90Ci0gICAgIyBzdXBwb3NlZCB0byBoYXBwZW4gZm9yIG5vdwotICAgIGNvbW1hbmRfaW5kZXggPSBsZW4oYXJncykKLSAgICBmb3IgaSxhcmcgaW4gZW51bWVyYXRlKGFyZ3MpOgotICAgICAgICBpZiBub3QgYXJnLnN0YXJ0c3dpdGgoJy0nKToKLSAgICAgICAgICAgIGNvbW1hbmRfaW5kZXggPSBpCi0gICAgICAgICAgICBicmVhawotICAgICAgICAgICAgCi0gICAgcmV0dXJuIGFyZ3NbOmNvbW1hbmRfaW5kZXhdLCBhcmdzW2NvbW1hbmRfaW5kZXg6XQotCi0KLWRlZiBmaXhlbnYoZW52KToKLSAgICBwYXRoID0gZW52LmdldCgnUEFUSCcpCi0gICAgaWYgcGF0aCBpcyBub3QgTm9uZToKLSAgICAgICAgcGFydHMgPSBwYXRoLnNwbGl0KG9zLnBhdGhzZXApCi0gICAgICAgICMgUmVtb3ZlIFdpbmRvd3MgdXRpbGl0aWVzIGZyb20gUEFUSCwgdGhleSBhcmUgdXNlbGVzcyBhdCBiZXN0IGFuZAotICAgICAgICAjIHNvbWUgb2YgdGhlbSAoZmluZCkgbWF5IGJlIGNvbmZ1c2VkIHdpdGggb3RoZXIgdXRpbGl0aWVzLgotICAgICAgICBwYXJ0cyA9IFtwIGZvciBwIGluIHBhcnRzIGlmICdzeXN0ZW0zMicgbm90IGluIHAubG93ZXIoKV0KLSAgICAgICAgZW52WydQQVRIJ10gPSBvcy5wYXRoc2VwLmpvaW4ocGFydHMpCi0gICAgaWYgZW52LmdldCgnSE9NRScpIGlzIE5vbmU6Ci0gICAgICAgICMgU2V2ZXJhbCB1dGlsaXRpZXMsIGluY2x1ZGluZyBjdnNwcywgY2Fubm90IHdvcmsgd2l0aG91dAotICAgICAgICAjIGEgZGVmaW5lZCBIT01FIGRpcmVjdG9yeS4KLSAgICAgICAgZW52WydIT01FJ10gPSBvcy5wYXRoLmV4cGFuZHVzZXIoJ34nKQotICAgIHJldHVybiBlbnYKLQotZGVmIF9zaChjd2QsIHNoYXJncywgY21kYXJncywgb3B0aW9ucywgZGVidWdmbGFncz1Ob25lLCBlbnY9Tm9uZSk6Ci0gICAgaWYgb3MuZW52aXJvbi5nZXQoJ1BZU0hfVEVYVCcpICE9ICcxJzoKLSAgICAgICAgaW1wb3J0IG1zdmNydAotICAgICAgICBmb3IgZnAgaW4gKHN5cy5zdGRpbiwgc3lzLnN0ZG91dCwgc3lzLnN0ZGVycik6Ci0gICAgICAgICAgICBtc3ZjcnQuc2V0bW9kZShmcC5maWxlbm8oKSwgb3MuT19CSU5BUlkpCi0KLSAgICBoZ2JpbiA9IG9zLmVudmlyb24uZ2V0KCdQWVNIX0hHVEVYVCcpICE9ICcxJwotICAgIAotICAgIGlmIGRlYnVnZmxhZ3MgaXMgTm9uZToKLSAgICAgICAgZGVidWdmbGFncyA9IFtdCi0gICAgICAgIGlmIG9wdGlvbnMuZGVidWdfcGFyc2luZzogICAgZGVidWdmbGFncy5hcHBlbmQoJ2RlYnVnLXBhcnNpbmcnKQotICAgICAgICBpZiBvcHRpb25zLmRlYnVnX3V0aWxpdHk6ICAgIGRlYnVnZmxhZ3MuYXBwZW5kKCdkZWJ1Zy11dGlsaXR5JykKLSAgICAgICAgaWYgb3B0aW9ucy5kZWJ1Z19jbWQ6ICAgICAgICBkZWJ1Z2ZsYWdzLmFwcGVuZCgnZGVidWctY21kJykKLSAgICAgICAgaWYgb3B0aW9ucy5kZWJ1Z190cmVlOiAgICAgICBkZWJ1Z2ZsYWdzLmFwcGVuZCgnZGVidWctdHJlZScpCi0gICAgCi0gICAgaWYgZW52IGlzIE5vbmU6Ci0gICAgICAgIGVudiA9IGZpeGVudihkaWN0KG9zLmVudmlyb24pKQotICAgIGlmIGN3ZCBpcyBOb25lOgotICAgICAgICBjd2QgPSBvcy5nZXRjd2QoKQotCi0gICAgaWYgbm90IGNtZGFyZ3M6Ci0gICAgICAgICMgTm90aGluZyB0byBkbwotICAgICAgICByZXR1cm4gMAotCi0gICAgYXN0ID0gTm9uZQotICAgIGNvbW1hbmRfZmlsZSA9IE5vbmUKLSAgICBpZiBvcHRpb25zLmNvbW1hbmRfc3RyaW5nOgotICAgICAgICBpbnB1dCA9IGNtZGFyZ3NbMF0KLSAgICAgICAgaWYgbm90IG9wdGlvbnMuYXN0OgotICAgICAgICAgICAgaW5wdXQgKz0gJ1xuJwotICAgICAgICBlbHNlOgotICAgICAgICAgICAgYXJncywgaW5wdXQgPSBpbnRlcnAuZGVjb2RlYXJncyhpbnB1dCksIE5vbmUKLSAgICAgICAgICAgIGVudiwgYXN0ID0gYXJncwotICAgICAgICAgICAgY3dkID0gZW52LmdldCgnUFdEJywgY3dkKQotICAgIGVsc2U6Ci0gICAgICAgIGNvbW1hbmRfZmlsZSA9IGNtZGFyZ3NbMF0KLSAgICAgICAgYXJndW1lbnRzID0gY21kYXJnc1sxOl0KLQotICAgICAgICBwcmVmaXggPSBpbnRlcnAucmVzb2x2ZV9zaGViYW5nKGNvbW1hbmRfZmlsZSwgaWdub3Jlc2hlbGw9VHJ1ZSkKLSAgICAgICAgaWYgcHJlZml4OgotICAgICAgICAgICAgaW5wdXQgPSAnICcuam9pbihwcmVmaXggKyBbY29tbWFuZF9maWxlXSArIGFyZ3VtZW50cykKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgICMgUmVhZCBjb21tYW5kcyBmcm9tIGZpbGUKLSAgICAgICAgICAgIGYgPSBmaWxlKGNvbW1hbmRfZmlsZSkKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAjIFRyYWlsaW5nIG5ld2xpbmUgdG8gaGVscCB0aGUgcGFyc2VyCi0gICAgICAgICAgICAgICAgaW5wdXQgPSBmLnJlYWQoKSArICdcbicKLSAgICAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICAgICAgZi5jbG9zZSgpCi0gICAgCi0gICAgcmVkaXJlY3QgPSBOb25lCi0gICAgdHJ5OgotICAgICAgICBpZiBvcHRpb25zLnJlZGlyZWN0ZWQ6Ci0gICAgICAgICAgICBzdGRvdXQgPSBzeXMuc3Rkb3V0Ci0gICAgICAgICAgICBzdGRlcnIgPSBzdGRvdXQKLSAgICAgICAgZWxpZiBvcHRpb25zLnJlZGlyZWN0X3RvOgotICAgICAgICAgICAgcmVkaXJlY3QgPSBvcGVuKG9wdGlvbnMucmVkaXJlY3RfdG8sICd3YicpCi0gICAgICAgICAgICBzdGRvdXQgPSByZWRpcmVjdAotICAgICAgICAgICAgc3RkZXJyID0gcmVkaXJlY3QKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHN0ZG91dCA9IHN5cy5zdGRvdXQKLSAgICAgICAgICAgIHN0ZGVyciA9IHN5cy5zdGRlcnIKLSAgICAgICAgICAgIAotICAgICAgICAjIFRPRE86IHNldCBhcmd1bWVudHMgdG8gZW52aXJvbm1lbnQgdmFyaWFibGVzCi0gICAgICAgIG9wdHMgPSBpbnRlcnAuT3B0aW9ucygpCi0gICAgICAgIG9wdHMuaGdiaW5hcnkgPSBoZ2JpbgotICAgICAgICBpcCA9IGludGVycC5JbnRlcnByZXRlcihjd2QsIGRlYnVnZmxhZ3MsIHN0ZG91dD1zdGRvdXQsIHN0ZGVycj1zdGRlcnIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdHM9b3B0cykKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgIyBFeHBvcnQgZ2l2ZW4gZW52aXJvbm1lbnQgaW4gc2hlbGwgb2JqZWN0Ci0gICAgICAgICAgICBmb3Igayx2IGluIGVudi5pdGVyaXRlbXMoKToKLSAgICAgICAgICAgICAgICBpcC5nZXRfZW52KCkuZXhwb3J0KGssdikKLSAgICAgICAgICAgIHJldHVybiBpcC5leGVjdXRlX3NjcmlwdChpbnB1dCwgYXN0LCBzY3JpcHRwYXRoPWNvbW1hbmRfZmlsZSkKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIGlwLmNsb3NlKCkKLSAgICBmaW5hbGx5OgotICAgICAgICBpZiByZWRpcmVjdCBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHJlZGlyZWN0LmNsb3NlKCkKLQotZGVmIHNoKGN3ZD1Ob25lLCBhcmdzPU5vbmUsIGRlYnVnZmxhZ3M9Tm9uZSwgZW52PU5vbmUpOgotICAgIGlmIGFyZ3MgaXMgTm9uZToKLSAgICAgICAgYXJncyA9IHN5cy5hcmd2WzE6XQotICAgIHNoYXJncywgY21kYXJncyA9IHNwbGl0X2FyZ3MoYXJncykKLSAgICBvcHRpb25zLCBzaGFyZ3MgPSBTSF9PUFQucGFyc2VfYXJncyhzaGFyZ3MpCi0KLSAgICBpZiBvcHRpb25zLnByb2ZpbGU6Ci0gICAgICAgIGltcG9ydCBsc3Byb2YKLSAgICAgICAgcCA9IGxzcHJvZi5Qcm9maWxlcigpCi0gICAgICAgIHAuZW5hYmxlKHN1YmNhbGxzPVRydWUpCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHJldHVybiBfc2goY3dkLCBzaGFyZ3MsIGNtZGFyZ3MsIG9wdGlvbnMsIGRlYnVnZmxhZ3MsIGVudikKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHAuZGlzYWJsZSgpCi0gICAgICAgICAgICBzdGF0cyA9IGxzcHJvZi5TdGF0cyhwLmdldHN0YXRzKCkpCi0gICAgICAgICAgICBzdGF0cy5zb3J0KCkKLSAgICAgICAgICAgIHN0YXRzLnBwcmludCh0b3A9MTAsIGZpbGU9c3lzLnN0ZGVyciwgY2xpbWl0PTUpCi0gICAgZWxzZToKLSAgICAgICAgcmV0dXJuIF9zaChjd2QsIHNoYXJncywgY21kYXJncywgb3B0aW9ucywgZGVidWdmbGFncywgZW52KQotICAgICAgICAgICAgCi1kZWYgbWFpbigpOgotICAgIHN5cy5leGl0KHNoKCkpCi0KLWlmIF9fbmFtZV9fPT0nX19tYWluX18nOgotICAgIG1haW4oKQpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9iYi9weXNoL3B5c2hsZXgucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvcHlzaGxleC5weQppbmRleCBmYmYwOTRiLi5hNDJjMjk0IDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvcHlzaGxleC5weQorKysgYi9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvcHlzaGxleC5weQpAQCAtMTMsMTEgKzEzLDYgQEAKICMgUExZIGluIHB1bGwgbW9kZS4gSXQgd2FzIGRlc2lnbmVkIHRvIHdvcmsgaW5jcmVtZW50YWxseSBhbmQgaXQgd291bGQgbm90IGJlCiAjIHRoYXQgaGFyZCB0byBlbmFibGUgcHVsbCBtb2RlLgogaW1wb3J0IHJlCi10cnk6Ci0gICAgcyA9IHNldCgpCi0gICAgZGVsIHMKLWV4Y2VwdCBOYW1lRXJyb3I6Ci0gICAgZnJvbSBTZXQgaW1wb3J0IFNldCBhcyBzZXQKIAogZnJvbSBwbHkgaW1wb3J0IGxleAogZnJvbSBiYi5weXNoLnNoZXJyb3JzIGltcG9ydCAqCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvcHlzaHlhY2MucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvcHlzaHlhY2MucHkKaW5kZXggYmE0Y2VmZC4uZGU1NjVkYyAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9weXNoL3B5c2h5YWNjLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvcHlzaC9weXNoeWFjYy5weQpAQCAtNjM2LDEzICs2MzYsMTYgQEAKIGRlZiBwX2Vycm9yKHApOgogICAgIG1zZyA9IFtdCiAgICAgdyA9IG1zZy5hcHBlbmQKLSAgICB3KCclclxuJyAlIHApCi0gICAgdygnZm9sbG93ZWQgYnk6XG4nKQotICAgIGZvciBpIGluIHJhbmdlKDUpOgotICAgICAgICBuID0geWFjYy50b2tlbigpCi0gICAgICAgIGlmIG5vdCBuOgotICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgdygnICAlclxuJyAlIG4pCisgICAgaWYgcDoKKyAgICAgICAgdygnJXJcbicgJSBwKQorICAgICAgICB3KCdmb2xsb3dlZCBieTpcbicpCisgICAgICAgIGZvciBpIGluIHJhbmdlKDUpOgorICAgICAgICAgICAgbiA9IHlhY2MudG9rZW4oKQorICAgICAgICAgICAgaWYgbm90IG46CisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIHcoJyAgJXJcbicgJSBuKQorICAgIGVsc2U6CisgICAgICAgIHcoJ1VuZXhwZWN0ZWQgRU9GJykKICAgICByYWlzZSBzaGVycm9ycy5TaGVsbFN5bnRheEVycm9yKCcnLmpvaW4obXNnKSkKIAogIyBCdWlsZCB0aGUgcGFyc2VyCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvc2hlcnJvcnMucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvc2hlcnJvcnMucHkKaW5kZXggNDlkMDUzMy4uM2ZlOGU0NyAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9weXNoL3NoZXJyb3JzLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvcHlzaC9zaGVycm9ycy5weQpAQCAtMTMsMjkgKzEzLDMgQEAKIAogY2xhc3MgU2hlbGxTeW50YXhFcnJvcihTaGVsbEVycm9yKToKICAgICBwYXNzCi0gICAgCi1jbGFzcyBVdGlsaXR5RXJyb3IoU2hlbGxFcnJvcik6Ci0gICAgIiIiUmFpc2VkIHVwb24gdXRpbGl0eSBzeW50YXggZXJyb3IgKG9wdGlvbiBvciBvcGVyYW5kIGVycm9yKS4iIiIKLSAgICBwYXNzCi0gICAKLWNsYXNzIEV4cGFuc2lvbkVycm9yKFNoZWxsRXJyb3IpOgotICAgIHBhc3MKLSAgICAgCi1jbGFzcyBDb21tYW5kTm90Rm91bmQoU2hlbGxFcnJvcik6Ci0gICAgIiIiU3BlY2lmaWVkIGNvbW1hbmQgd2FzIG5vdCBmb3VuZC4iIiIKLSAgICBwYXNzCi0gICAgCi1jbGFzcyBSZWRpcmVjdGlvbkVycm9yKFNoZWxsRXJyb3IpOgotICAgIHBhc3MKLSAgICAKLWNsYXNzIFZhckFzc2lnbm1lbnRFcnJvcihTaGVsbEVycm9yKToKLSAgICAiIiJWYXJpYWJsZSBhc3NpZ25tZW50IGVycm9yLiIiIgotICAgIHBhc3MKLSAgICAKLWNsYXNzIEV4aXRTaWduYWwoU2hlbGxFcnJvcik6Ci0gICAgIiIiRXhpdCBzaWduYWwuIiIiCi0gICAgcGFzcwotICAgIAotY2xhc3MgUmV0dXJuU2lnbmFsKFNoZWxsRXJyb3IpOgotICAgICIiIkV4aXQgc2lnbmFsLiIiIgotICAgIHBhc3MKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvcHlzaC9zdWJwcm9jZXNzX2ZpeC5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvcHlzaC9zdWJwcm9jZXNzX2ZpeC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDZlY2EyMi4uMDAwMDAwMAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvc3VicHJvY2Vzc19maXgucHkKKysrIC9kZXYvbnVsbApAQCAtMSw3NyArMCwwIEBACi0jIHN1YnByb2Nlc3MgLSBTdWJwcm9jZXNzZXMgd2l0aCBhY2Nlc3NpYmxlIEkvTyBzdHJlYW1zCi0jCi0jIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoaXMgbW9kdWxlLCBzZWUgUEVQIDMyNC4KLSMKLSMgVGhpcyBtb2R1bGUgc2hvdWxkIHJlbWFpbiBjb21wYXRpYmxlIHdpdGggUHl0aG9uIDIuMiwgc2VlIFBFUCAyOTEuCi0jCi0jIENvcHlyaWdodCAoYykgMjAwMy0yMDA1IGJ5IFBldGVyIEFzdHJhbmQgPGFzdHJhbmRAbHlzYXRvci5saXUuc2U+Ci0jCi0jIExpY2Vuc2VkIHRvIFBTRiB1bmRlciBhIENvbnRyaWJ1dG9yIEFncmVlbWVudC4KLSMgU2VlIGh0dHA6Ly93d3cucHl0aG9uLm9yZy8yLjQvbGljZW5zZSBmb3IgbGljZW5zaW5nIGRldGFpbHMuCi0KLWRlZiBsaXN0MmNtZGxpbmUoc2VxKToKLSAgICAiIiIKLSAgICBUcmFuc2xhdGUgYSBzZXF1ZW5jZSBvZiBhcmd1bWVudHMgaW50byBhIGNvbW1hbmQgbGluZQotICAgIHN0cmluZywgdXNpbmcgdGhlIHNhbWUgcnVsZXMgYXMgdGhlIE1TIEMgcnVudGltZToKLQotICAgIDEpIEFyZ3VtZW50cyBhcmUgZGVsaW1pdGVkIGJ5IHdoaXRlIHNwYWNlLCB3aGljaCBpcyBlaXRoZXIgYQotICAgICAgIHNwYWNlIG9yIGEgdGFiLgotCi0gICAgMikgQSBzdHJpbmcgc3Vycm91bmRlZCBieSBkb3VibGUgcXVvdGF0aW9uIG1hcmtzIGlzCi0gICAgICAgaW50ZXJwcmV0ZWQgYXMgYSBzaW5nbGUgYXJndW1lbnQsIHJlZ2FyZGxlc3Mgb2Ygd2hpdGUgc3BhY2UKLSAgICAgICBjb250YWluZWQgd2l0aGluLiAgQSBxdW90ZWQgc3RyaW5nIGNhbiBiZSBlbWJlZGRlZCBpbiBhbgotICAgICAgIGFyZ3VtZW50LgotCi0gICAgMykgQSBkb3VibGUgcXVvdGF0aW9uIG1hcmsgcHJlY2VkZWQgYnkgYSBiYWNrc2xhc2ggaXMKLSAgICAgICBpbnRlcnByZXRlZCBhcyBhIGxpdGVyYWwgZG91YmxlIHF1b3RhdGlvbiBtYXJrLgotCi0gICAgNCkgQmFja3NsYXNoZXMgYXJlIGludGVycHJldGVkIGxpdGVyYWxseSwgdW5sZXNzIHRoZXkKLSAgICAgICBpbW1lZGlhdGVseSBwcmVjZWRlIGEgZG91YmxlIHF1b3RhdGlvbiBtYXJrLgotCi0gICAgNSkgSWYgYmFja3NsYXNoZXMgaW1tZWRpYXRlbHkgcHJlY2VkZSBhIGRvdWJsZSBxdW90YXRpb24gbWFyaywKLSAgICAgICBldmVyeSBwYWlyIG9mIGJhY2tzbGFzaGVzIGlzIGludGVycHJldGVkIGFzIGEgbGl0ZXJhbAotICAgICAgIGJhY2tzbGFzaC4gIElmIHRoZSBudW1iZXIgb2YgYmFja3NsYXNoZXMgaXMgb2RkLCB0aGUgbGFzdAotICAgICAgIGJhY2tzbGFzaCBlc2NhcGVzIHRoZSBuZXh0IGRvdWJsZSBxdW90YXRpb24gbWFyayBhcwotICAgICAgIGRlc2NyaWJlZCBpbiBydWxlIDMuCi0gICAgIiIiCi0KLSAgICAjIFNlZQotICAgICMgaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9saWJyYXJ5L2VuLXVzL3ZjY2VsbmcvaHRtL3Byb2dzXzEyLmFzcAotICAgIHJlc3VsdCA9IFtdCi0gICAgbmVlZHF1b3RlID0gRmFsc2UKLSAgICBmb3IgYXJnIGluIHNlcToKLSAgICAgICAgYnNfYnVmID0gW10KLQotICAgICAgICAjIEFkZCBhIHNwYWNlIHRvIHNlcGFyYXRlIHRoaXMgYXJndW1lbnQgZnJvbSB0aGUgb3RoZXJzCi0gICAgICAgIGlmIHJlc3VsdDoKLSAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyAnKQotCi0gICAgICAgIG5lZWRxdW90ZSA9ICgiICIgaW4gYXJnKSBvciAoIlx0IiBpbiBhcmcpIG9yICgifCIgaW4gYXJnKSBvciBhcmcgPT0gIiIKLSAgICAgICAgaWYgbmVlZHF1b3RlOgotICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgnIicpCi0KLSAgICAgICAgZm9yIGMgaW4gYXJnOgotICAgICAgICAgICAgaWYgYyA9PSAnXFwnOgotICAgICAgICAgICAgICAgICMgRG9uJ3Qga25vdyBpZiB3ZSBuZWVkIHRvIGRvdWJsZSB5ZXQuCi0gICAgICAgICAgICAgICAgYnNfYnVmLmFwcGVuZChjKQotICAgICAgICAgICAgZWxpZiBjID09ICciJzoKLSAgICAgICAgICAgICAgICAjIERvdWJsZSBiYWNrc3BhY2VzLgotICAgICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJ1xcJyAqIGxlbihic19idWYpKjIpCi0gICAgICAgICAgICAgICAgYnNfYnVmID0gW10KLSAgICAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCdcXCInKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAjIE5vcm1hbCBjaGFyCi0gICAgICAgICAgICAgICAgaWYgYnNfYnVmOgotICAgICAgICAgICAgICAgICAgICByZXN1bHQuZXh0ZW5kKGJzX2J1ZikKLSAgICAgICAgICAgICAgICAgICAgYnNfYnVmID0gW10KLSAgICAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKGMpCi0KLSAgICAgICAgIyBBZGQgcmVtYWluaW5nIGJhY2tzcGFjZXMsIGlmIGFueS4KLSAgICAgICAgaWYgYnNfYnVmOgotICAgICAgICAgICAgcmVzdWx0LmV4dGVuZChic19idWYpCi0KLSAgICAgICAgaWYgbmVlZHF1b3RlOgotICAgICAgICAgICAgcmVzdWx0LmV4dGVuZChic19idWYpCi0gICAgICAgICAgICByZXN1bHQuYXBwZW5kKCciJykKLSAgICAgICAgICAgIAotICAgIHJldHVybiAnJy5qb2luKHJlc3VsdCkKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvcnVucXVldWUucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL3J1bnF1ZXVlLnB5CmluZGV4IDM4M2MxODMuLjMyOWNkYTMgMTAwNjQ0Ci0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvcnVucXVldWUucHkKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9iYi9ydW5xdWV1ZS5weQpAQCAtMzcsMTEgKzM3LDEyIEBACiBpbXBvcnQgc3VicHJvY2VzcwogaW1wb3J0IHBpY2tsZQogZnJvbSBtdWx0aXByb2Nlc3NpbmcgaW1wb3J0IFByb2Nlc3MKK2ltcG9ydCBzaGxleAogCiBiYmxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJCaXRCYWtlIikKIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJCaXRCYWtlLlJ1blF1ZXVlIikKIAotX19maW5kX21kNV9fID0gcmUuY29tcGlsZSggcicoP2kpKD88IVthLXowLTldKVthLWYwLTldezMyfSg/IVthLXowLTldKScgKQorX19maW5kX3NoYTI1Nl9fID0gcmUuY29tcGlsZSggcicoP2kpKD88IVthLXowLTldKVthLWYwLTldezY0fSg/IVthLXowLTldKScgKQogCiBkZWYgZm5fZnJvbV90aWQodGlkKToKICAgICAgcmV0dXJuIHRpZC5yc3BsaXQoIjoiLCAxKVswXQpAQCAtMzUxLDYgKzM1Miw3IEBACiAgICAgICAgIHNlbGYuZGVwZW5kcyA9IHNldCgpCiAgICAgICAgIHNlbGYucmV2ZGVwcyA9IHNldCgpCiAgICAgICAgIHNlbGYuaGFzaCA9IE5vbmUKKyAgICAgICAgc2VsZi51bmloYXNoID0gTm9uZQogICAgICAgICBzZWxmLnRhc2sgPSBOb25lCiAgICAgICAgIHNlbGYud2VpZ2h0ID0gMQogCkBAIC0zOTAsNiArMzkyLDkgQEAKICAgICBkZWYgZ2V0X3Rhc2tfaGFzaChzZWxmLCB0aWQpOgogICAgICAgICByZXR1cm4gc2VsZi5ydW50YXNrZW50cmllc1t0aWRdLmhhc2gKIAorICAgIGRlZiBnZXRfdGFza191bmloYXNoKHNlbGYsIHRpZCk6CisgICAgICAgIHJldHVybiBzZWxmLnJ1bnRhc2tlbnRyaWVzW3RpZF0udW5paGFzaAorCiAgICAgZGVmIGdldF91c2VyX2lkc3RyaW5nKHNlbGYsIHRpZCwgdGFza19uYW1lX3N1ZmZpeCA9ICIiKToKICAgICAgICAgcmV0dXJuIHRpZCArIHRhc2tfbmFtZV9zdWZmaXgKIApAQCAtMTE2MSwxOCArMTE2NiwyMSBAQAogICAgICAgICAgICAgICAgIGlmIGxlbihzZWxmLnJ1bnRhc2tlbnRyaWVzW3RpZF0uZGVwZW5kcyAtIGRlYWx0d2l0aCkgPT0gMDoKICAgICAgICAgICAgICAgICAgICAgZGVhbHR3aXRoLmFkZCh0aWQpCiAgICAgICAgICAgICAgICAgICAgIHRvZGVhbC5yZW1vdmUodGlkKQotICAgICAgICAgICAgICAgICAgICBwcm9jZGVwID0gW10KLSAgICAgICAgICAgICAgICAgICAgZm9yIGRlcCBpbiBzZWxmLnJ1bnRhc2tlbnRyaWVzW3RpZF0uZGVwZW5kczoKLSAgICAgICAgICAgICAgICAgICAgICAgIHByb2NkZXAuYXBwZW5kKGZuX2Zyb21fdGlkKGRlcCkgKyAiLiIgKyB0YXNrbmFtZV9mcm9tX3RpZChkZXApKQotICAgICAgICAgICAgICAgICAgICAobWMsIGZuLCB0YXNrbmFtZSwgdGFza2ZuKSA9IHNwbGl0X3RpZF9tY2ZuKHRpZCkKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5ydW50YXNrZW50cmllc1t0aWRdLmhhc2ggPSBiYi5wYXJzZS5zaWdnZW4uZ2V0X3Rhc2toYXNoKHRhc2tmbiwgdGFza25hbWUsIHByb2NkZXAsIHNlbGYuZGF0YUNhY2hlc1ttY10pCi0gICAgICAgICAgICAgICAgICAgIHRhc2sgPSBzZWxmLnJ1bnRhc2tlbnRyaWVzW3RpZF0udGFzaworICAgICAgICAgICAgICAgICAgICBzZWxmLnByZXBhcmVfdGFza19oYXNoKHRpZCkKIAogICAgICAgICBiYi5wYXJzZS5zaWdnZW4ud3JpdGVvdXRfZmlsZV9jaGVja3N1bV9jYWNoZSgpCiAKICAgICAgICAgI3NlbGYuZHVtcF9kYXRhKCkKICAgICAgICAgcmV0dXJuIGxlbihzZWxmLnJ1bnRhc2tlbnRyaWVzKQogCisgICAgZGVmIHByZXBhcmVfdGFza19oYXNoKHNlbGYsIHRpZCk6CisgICAgICAgIHByb2NkZXAgPSBbXQorICAgICAgICBmb3IgZGVwIGluIHNlbGYucnVudGFza2VudHJpZXNbdGlkXS5kZXBlbmRzOgorICAgICAgICAgICAgcHJvY2RlcC5hcHBlbmQoZm5fZnJvbV90aWQoZGVwKSArICIuIiArIHRhc2tuYW1lX2Zyb21fdGlkKGRlcCkpCisgICAgICAgIChtYywgZm4sIHRhc2tuYW1lLCB0YXNrZm4pID0gc3BsaXRfdGlkX21jZm4odGlkKQorICAgICAgICBzZWxmLnJ1bnRhc2tlbnRyaWVzW3RpZF0uaGFzaCA9IGJiLnBhcnNlLnNpZ2dlbi5nZXRfdGFza2hhc2godGFza2ZuLCB0YXNrbmFtZSwgcHJvY2RlcCwgc2VsZi5kYXRhQ2FjaGVzW21jXSkKKyAgICAgICAgc2VsZi5ydW50YXNrZW50cmllc1t0aWRdLnVuaWhhc2ggPSBiYi5wYXJzZS5zaWdnZW4uZ2V0X3VuaWhhc2godGFza2ZuICsgIi4iICsgdGFza25hbWUpCisKICAgICBkZWYgZHVtcF9kYXRhKHNlbGYpOgogICAgICAgICAiIiIKICAgICAgICAgRHVtcCBzb21lIGRlYnVnIGluZm9ybWF0aW9uIG9uIHRoZSBpbnRlcm5hbCBkYXRhIHN0cnVjdHVyZXMKQEAgLTEyMjQsMjggKzEyMzIsMjMgQEAKICAgICAgICAgaWYgZmFrZXJvb3Q6CiAgICAgICAgICAgICBtYWdpYyA9IG1hZ2ljICsgImJlZWYiCiAgICAgICAgICAgICBtY2RhdGEgPSBzZWxmLmNvb2tlci5kYXRhYnVpbGRlci5tY2RhdGFbbWNdCi0gICAgICAgICAgICBmYWtlcm9vdGNtZCA9IG1jZGF0YS5nZXRWYXIoIkZBS0VST09UQ01EIikKKyAgICAgICAgICAgIGZha2Vyb290Y21kID0gc2hsZXguc3BsaXQobWNkYXRhLmdldFZhcigiRkFLRVJPT1RDTUQiKSkKICAgICAgICAgICAgIGZha2Vyb290ZW52ID0gKG1jZGF0YS5nZXRWYXIoIkZBS0VST09UQkFTRUVOViIpIG9yICIiKS5zcGxpdCgpCiAgICAgICAgICAgICBlbnYgPSBvcy5lbnZpcm9uLmNvcHkoKQogICAgICAgICAgICAgZm9yIGtleSwgdmFsdWUgaW4gKHZhci5zcGxpdCgnPScpIGZvciB2YXIgaW4gZmFrZXJvb3RlbnYpOgogICAgICAgICAgICAgICAgIGVudltrZXldID0gdmFsdWUKLSAgICAgICAgICAgIHdvcmtlciA9IHN1YnByb2Nlc3MuUG9wZW4oW2Zha2Vyb290Y21kLCAiYml0YmFrZS13b3JrZXIiLCBtYWdpY10sIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsIHN0ZGluPXN1YnByb2Nlc3MuUElQRSwgZW52PWVudikKKyAgICAgICAgICAgIHdvcmtlciA9IHN1YnByb2Nlc3MuUG9wZW4oZmFrZXJvb3RjbWQgKyBbImJpdGJha2Utd29ya2VyIiwgbWFnaWNdLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLCBzdGRpbj1zdWJwcm9jZXNzLlBJUEUsIGVudj1lbnYpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICB3b3JrZXIgPSBzdWJwcm9jZXNzLlBvcGVuKFsiYml0YmFrZS13b3JrZXIiLCBtYWdpY10sIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsIHN0ZGluPXN1YnByb2Nlc3MuUElQRSkKICAgICAgICAgYmIudXRpbHMubm9uYmxvY2tpbmdmZCh3b3JrZXIuc3Rkb3V0KQogICAgICAgICB3b3JrZXJwaXBlID0gcnVuUXVldWVQaXBlKHdvcmtlci5zdGRvdXQsIE5vbmUsIHNlbGYuY2ZnRGF0YSwgc2VsZiwgcnFleGVjKQogCi0gICAgICAgIHJ1bnFoYXNoID0ge30KLSAgICAgICAgZm9yIHRpZCBpbiBzZWxmLnJxZGF0YS5ydW50YXNrZW50cmllczoKLSAgICAgICAgICAgIHJ1bnFoYXNoW3RpZF0gPSBzZWxmLnJxZGF0YS5ydW50YXNrZW50cmllc1t0aWRdLmhhc2gKLQogICAgICAgICB3b3JrZXJkYXRhID0gewogICAgICAgICAgICAgInRhc2tkZXBzIiA6IHNlbGYucnFkYXRhLmRhdGFDYWNoZXNbbWNdLnRhc2tfZGVwcywKICAgICAgICAgICAgICJmYWtlcm9vdGVudiIgOiBzZWxmLnJxZGF0YS5kYXRhQ2FjaGVzW21jXS5mYWtlcm9vdGVudiwKICAgICAgICAgICAgICJmYWtlcm9vdGRpcnMiIDogc2VsZi5ycWRhdGEuZGF0YUNhY2hlc1ttY10uZmFrZXJvb3RkaXJzLAogICAgICAgICAgICAgImZha2Vyb290bm9lbnYiIDogc2VsZi5ycWRhdGEuZGF0YUNhY2hlc1ttY10uZmFrZXJvb3Rub2VudiwKICAgICAgICAgICAgICJzaWdkYXRhIiA6IGJiLnBhcnNlLnNpZ2dlbi5nZXRfdGFza2RhdGEoKSwKLSAgICAgICAgICAgICJydW5xX2hhc2giIDogcnVucWhhc2gsCiAgICAgICAgICAgICAibG9nZGVmYXVsdGRlYnVnIiA6IGJiLm1zZy5sb2dnZXJEZWZhdWx0RGVidWdMZXZlbCwKICAgICAgICAgICAgICJsb2dkZWZhdWx0dmVyYm9zZSIgOiBiYi5tc2cubG9nZ2VyRGVmYXVsdFZlcmJvc2UsCiAgICAgICAgICAgICAibG9nZGVmYXVsdHZlcmJvc2Vsb2dzIiA6IGJiLm1zZy5sb2dnZXJWZXJib3NlTG9ncywKQEAgLTEzODcsNiArMTM5MCwyNiBAQAogICAgICAgICAgICAgY2FjaGVbdGlkXSA9IGlzY3VycmVudAogICAgICAgICByZXR1cm4gaXNjdXJyZW50CiAKKyAgICBkZWYgdmFsaWRhdGVfaGFzaChzZWxmLCAqLCBzcV9mbiwgc3FfdGFzaywgc3FfaGFzaCwgc3FfaGFzaGZuLCBzaWdpbmZvLCBzcV91bmloYXNoLCBkKToKKyAgICAgICAgbG9jcyA9IHsic3FfZm4iIDogc3FfZm4sICJzcV90YXNrIiA6IHNxX3Rhc2ssICJzcV9oYXNoIiA6IHNxX2hhc2gsICJzcV9oYXNoZm4iIDogc3FfaGFzaGZuLAorICAgICAgICAgICAgICAgICJzcV91bmloYXNoIiA6IHNxX3VuaWhhc2gsICJzaWdpbmZvIiA6IHNpZ2luZm8sICJkIiA6IGR9CisKKyAgICAgICAgaGFzaHZhbGlkYXRlX2FyZ3MgPSAoIihzcV9mbiwgc3FfdGFzaywgc3FfaGFzaCwgc3FfaGFzaGZuLCBkLCBzaWdpbmZvPXNpZ2luZm8sIHNxX3VuaWhhc2g9c3FfdW5paGFzaCkiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiKHNxX2ZuLCBzcV90YXNrLCBzcV9oYXNoLCBzcV9oYXNoZm4sIGQsIHNpZ2luZm89c2lnaW5mbykiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiKHNxX2ZuLCBzcV90YXNrLCBzcV9oYXNoLCBzcV9oYXNoZm4sIGQpIikKKworICAgICAgICBmb3IgYXJncyBpbiBoYXNodmFsaWRhdGVfYXJnc1s6LTFdOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIGNhbGwgPSBzZWxmLmhhc2h2YWxpZGF0ZSArIGFyZ3MKKyAgICAgICAgICAgICAgICByZXR1cm4gYmIudXRpbHMuYmV0dGVyX2V2YWwoY2FsbCwgbG9jcykKKyAgICAgICAgICAgIGV4Y2VwdCBUeXBlRXJyb3I6CisgICAgICAgICAgICAgICAgY29udGludWUKKworICAgICAgICAjIENhbGwgdGhlIGxhc3QgZW50cnkgd2l0aG91dCBhIHRyeS4uLmNhdGNoIHRvIHByb3BhZ2F0ZSBhbnkgdGhyb3duCisgICAgICAgICMgVHlwZUVycm9yCisgICAgICAgIGNhbGwgPSBzZWxmLmhhc2h2YWxpZGF0ZSArIGhhc2h2YWxpZGF0ZV9hcmdzWy0xXQorICAgICAgICByZXR1cm4gYmIudXRpbHMuYmV0dGVyX2V2YWwoY2FsbCwgbG9jcykKKwogICAgIGRlZiBfZXhlY3V0ZV9ydW5xdWV1ZShzZWxmKToKICAgICAgICAgIiIiCiAgICAgICAgIFJ1biB0aGUgdGFza3MgaW4gYSBxdWV1ZSBwcmVwYXJlZCBieSBycWRhdGEucHJlcGFyZSgpCkBAIC0xNTU4LDYgKzE1ODEsNyBAQAogICAgICAgICB2YWxpZCA9IFtdCiAgICAgICAgIHNxX2hhc2ggPSBbXQogICAgICAgICBzcV9oYXNoZm4gPSBbXQorICAgICAgICBzcV91bmloYXNoID0gW10KICAgICAgICAgc3FfZm4gPSBbXQogICAgICAgICBzcV90YXNrbmFtZSA9IFtdCiAgICAgICAgIHNxX3Rhc2sgPSBbXQpAQCAtMTU3NiwxNiArMTYwMCwxMyBAQAogICAgICAgICAgICAgc3FfZm4uYXBwZW5kKGZuKQogICAgICAgICAgICAgc3FfaGFzaGZuLmFwcGVuZChzZWxmLnJxZGF0YS5kYXRhQ2FjaGVzW21jXS5oYXNoZm5bdGFza2ZuXSkKICAgICAgICAgICAgIHNxX2hhc2guYXBwZW5kKHNlbGYucnFkYXRhLnJ1bnRhc2tlbnRyaWVzW3RpZF0uaGFzaCkKKyAgICAgICAgICAgIHNxX3VuaWhhc2guYXBwZW5kKHNlbGYucnFkYXRhLnJ1bnRhc2tlbnRyaWVzW3RpZF0udW5paGFzaCkKICAgICAgICAgICAgIHNxX3Rhc2tuYW1lLmFwcGVuZCh0YXNrbmFtZSkKICAgICAgICAgICAgIHNxX3Rhc2suYXBwZW5kKHRpZCkKLSAgICAgICAgbG9jcyA9IHsgInNxX2ZuIiA6IHNxX2ZuLCAic3FfdGFzayIgOiBzcV90YXNrbmFtZSwgInNxX2hhc2giIDogc3FfaGFzaCwgInNxX2hhc2hmbiIgOiBzcV9oYXNoZm4sICJkIiA6IHNlbGYuY29va2VyLmRhdGEgfQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBjYWxsID0gc2VsZi5oYXNodmFsaWRhdGUgKyAiKHNxX2ZuLCBzcV90YXNrLCBzcV9oYXNoLCBzcV9oYXNoZm4sIGQsIHNpZ2luZm89VHJ1ZSkiCi0gICAgICAgICAgICB2YWxpZCA9IGJiLnV0aWxzLmJldHRlcl9ldmFsKGNhbGwsIGxvY3MpCi0gICAgICAgICMgSGFuZGxlIHZlcnNpb24gd2l0aCBubyBzaWdpbmZvIHBhcmFtZXRlcgotICAgICAgICBleGNlcHQgVHlwZUVycm9yOgotICAgICAgICAgICAgY2FsbCA9IHNlbGYuaGFzaHZhbGlkYXRlICsgIihzcV9mbiwgc3FfdGFzaywgc3FfaGFzaCwgc3FfaGFzaGZuLCBkKSIKLSAgICAgICAgICAgIHZhbGlkID0gYmIudXRpbHMuYmV0dGVyX2V2YWwoY2FsbCwgbG9jcykKKworICAgICAgICB2YWxpZCA9IHNlbGYudmFsaWRhdGVfaGFzaChzcV9mbj1zcV9mbiwgc3FfdGFzaz1zcV90YXNrbmFtZSwgc3FfaGFzaD1zcV9oYXNoLCBzcV9oYXNoZm49c3FfaGFzaGZuLAorICAgICAgICAgICAgICAgIHNpZ2luZm89VHJ1ZSwgc3FfdW5paGFzaD1zcV91bmloYXNoLCBkPXNlbGYuY29va2VyLmRhdGEpCisKICAgICAgICAgZm9yIHYgaW4gdmFsaWQ6CiAgICAgICAgICAgICB2YWxpZF9uZXcuYWRkKHNxX3Rhc2tbdl0pCiAKQEAgLTE2NjcsNyArMTY4OCw3IEBACiAgICAgICAgICAgICBtYXRjaGVzID0ge2sgOiB2IGZvciBrLCB2IGluIGl0ZXIobWF0Y2hlcy5pdGVtcygpKSBpZiBoIG5vdCBpbiBrfQogICAgICAgICAgICAgaWYgbWF0Y2hlczoKICAgICAgICAgICAgICAgICBsYXRlc3RtYXRjaCA9IHNvcnRlZChtYXRjaGVzLmtleXMoKSwga2V5PWxhbWJkYSBmOiBtYXRjaGVzW2ZdKVstMV0KLSAgICAgICAgICAgICAgICBwcmV2aCA9IF9fZmluZF9tZDVfXy5zZWFyY2gobGF0ZXN0bWF0Y2gpLmdyb3VwKDApCisgICAgICAgICAgICAgICAgcHJldmggPSBfX2ZpbmRfc2hhMjU2X18uc2VhcmNoKGxhdGVzdG1hdGNoKS5ncm91cCgwKQogICAgICAgICAgICAgICAgIG91dHB1dCA9IGJiLnNpZ2dlbi5jb21wYXJlX3NpZ2ZpbGVzKGxhdGVzdG1hdGNoLCBtYXRjaCwgcmVjdXJzZWNiKQogICAgICAgICAgICAgICAgIGJiLnBsYWluKCJcblRhc2sgJXM6JXMgY291bGRuJ3QgYmUgdXNlZCBmcm9tIHRoZSBjYWNoZSBiZWNhdXNlOlxuICBXZSBuZWVkIGhhc2ggJXMsIGNsb3Nlc3QgbWF0Y2hpbmcgdGFzayB3YXMgJXNcbiAgIiAlIChwbiwgdGFza25hbWUsIGgsIHByZXZoKSArICdcbiAgJy5qb2luKG91dHB1dCkpCiAKQEAgLTIwNDIsNiArMjA2Myw4IEBACiAgICAgICAgICAgICB0YXNrZGVwZGF0YSA9IHNlbGYuYnVpbGRfdGFza2RlcGRhdGEodGFzaykKIAogICAgICAgICAgICAgdGFza2RlcCA9IHNlbGYucnFkYXRhLmRhdGFDYWNoZXNbbWNdLnRhc2tfZGVwc1t0YXNrZm5dCisgICAgICAgICAgICB0YXNraGFzaCA9IHNlbGYucnFkYXRhLmdldF90YXNrX2hhc2godGFzaykKKyAgICAgICAgICAgIHVuaWhhc2ggPSBzZWxmLnJxZGF0YS5nZXRfdGFza191bmloYXNoKHRhc2spCiAgICAgICAgICAgICBpZiAnZmFrZXJvb3QnIGluIHRhc2tkZXAgYW5kIHRhc2tuYW1lIGluIHRhc2tkZXBbJ2Zha2Vyb290J10gYW5kIG5vdCAoc2VsZi5jb29rZXIuY29uZmlndXJhdGlvbi5kcnlfcnVuIG9yIHNlbGYucnFkYXRhLnNldHNjZW5lX2VuZm9yY2UpOgogICAgICAgICAgICAgICAgIGlmIG5vdCBtYyBpbiBzZWxmLnJxLmZha2V3b3JrZXI6CiAgICAgICAgICAgICAgICAgICAgIHRyeToKQEAgLTIwNTEsMTAgKzIwNzQsMTAgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucnEuc3RhdGUgPSBydW5RdWV1ZUZhaWxlZAogICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zdGF0cy50YXNrRmFpbGVkKCkKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCi0gICAgICAgICAgICAgICAgc2VsZi5ycS5mYWtld29ya2VyW21jXS5wcm9jZXNzLnN0ZGluLndyaXRlKGIiPHJ1bnRhc2s+IiArIHBpY2tsZS5kdW1wcygodGFza2ZuLCB0YXNrLCB0YXNrbmFtZSwgRmFsc2UsIHNlbGYuY29va2VyLmNvbGxlY3Rpb24uZ2V0X2ZpbGVfYXBwZW5kcyh0YXNrZm4pLCB0YXNrZGVwZGF0YSwgc2VsZi5ycWRhdGEuc2V0c2NlbmVfZW5mb3JjZSkpICsgYiI8L3J1bnRhc2s+IikKKyAgICAgICAgICAgICAgICBzZWxmLnJxLmZha2V3b3JrZXJbbWNdLnByb2Nlc3Muc3RkaW4ud3JpdGUoYiI8cnVudGFzaz4iICsgcGlja2xlLmR1bXBzKCh0YXNrZm4sIHRhc2ssIHRhc2tuYW1lLCB0YXNraGFzaCwgdW5paGFzaCwgRmFsc2UsIHNlbGYuY29va2VyLmNvbGxlY3Rpb24uZ2V0X2ZpbGVfYXBwZW5kcyh0YXNrZm4pLCB0YXNrZGVwZGF0YSwgc2VsZi5ycWRhdGEuc2V0c2NlbmVfZW5mb3JjZSkpICsgYiI8L3J1bnRhc2s+IikKICAgICAgICAgICAgICAgICBzZWxmLnJxLmZha2V3b3JrZXJbbWNdLnByb2Nlc3Muc3RkaW4uZmx1c2goKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBzZWxmLnJxLndvcmtlclttY10ucHJvY2Vzcy5zdGRpbi53cml0ZShiIjxydW50YXNrPiIgKyBwaWNrbGUuZHVtcHMoKHRhc2tmbiwgdGFzaywgdGFza25hbWUsIEZhbHNlLCBzZWxmLmNvb2tlci5jb2xsZWN0aW9uLmdldF9maWxlX2FwcGVuZHModGFza2ZuKSwgdGFza2RlcGRhdGEsIHNlbGYucnFkYXRhLnNldHNjZW5lX2VuZm9yY2UpKSArIGIiPC9ydW50YXNrPiIpCisgICAgICAgICAgICAgICAgc2VsZi5ycS53b3JrZXJbbWNdLnByb2Nlc3Muc3RkaW4ud3JpdGUoYiI8cnVudGFzaz4iICsgcGlja2xlLmR1bXBzKCh0YXNrZm4sIHRhc2ssIHRhc2tuYW1lLCB0YXNraGFzaCwgdW5paGFzaCwgRmFsc2UsIHNlbGYuY29va2VyLmNvbGxlY3Rpb24uZ2V0X2ZpbGVfYXBwZW5kcyh0YXNrZm4pLCB0YXNrZGVwZGF0YSwgc2VsZi5ycWRhdGEuc2V0c2NlbmVfZW5mb3JjZSkpICsgYiI8L3J1bnRhc2s+IikKICAgICAgICAgICAgICAgICBzZWxmLnJxLndvcmtlclttY10ucHJvY2Vzcy5zdGRpbi5mbHVzaCgpCiAKICAgICAgICAgICAgIHNlbGYuYnVpbGRfc3RhbXBzW3Rhc2tdID0gYmIuYnVpbGQuc3RhbXBmaWxlKHRhc2tuYW1lLCBzZWxmLnJxZGF0YS5kYXRhQ2FjaGVzW21jXSwgdGFza2ZuLCBub2V4dHJhPVRydWUpCkBAIC0yMTA5LDggKzIxMzIsOSBAQAogICAgICAgICAgICAgICAgIGRlcHMgPSBzZWxmLnJxZGF0YS5ydW50YXNrZW50cmllc1tyZXZkZXBdLmRlcGVuZHMKICAgICAgICAgICAgICAgICBwcm92aWRlcyA9IHNlbGYucnFkYXRhLmRhdGFDYWNoZXNbbWNdLmZuX3Byb3ZpZGVzW3Rhc2tmbl0KICAgICAgICAgICAgICAgICB0YXNraGFzaCA9IHNlbGYucnFkYXRhLnJ1bnRhc2tlbnRyaWVzW3JldmRlcF0uaGFzaAotICAgICAgICAgICAgICAgIHRhc2tkZXBkYXRhW3JldmRlcF0gPSBbcG4sIHRhc2tuYW1lLCBmbiwgZGVwcywgcHJvdmlkZXMsIHRhc2toYXNoXQorICAgICAgICAgICAgICAgIHVuaWhhc2ggPSBzZWxmLnJxZGF0YS5ydW50YXNrZW50cmllc1tyZXZkZXBdLnVuaWhhc2gKICAgICAgICAgICAgICAgICBkZXBzID0gc2VsZi5maWx0ZXJtY2RlcHModGFzaywgZGVwcykKKyAgICAgICAgICAgICAgICB0YXNrZGVwZGF0YVtyZXZkZXBdID0gW3BuLCB0YXNrbmFtZSwgZm4sIGRlcHMsIHByb3ZpZGVzLCB0YXNraGFzaCwgdW5paGFzaF0KICAgICAgICAgICAgICAgICBmb3IgcmV2ZGVwMiBpbiBkZXBzOgogICAgICAgICAgICAgICAgICAgICBpZiByZXZkZXAyIG5vdCBpbiB0YXNrZGVwZGF0YToKICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWwuYXBwZW5kKHJldmRlcDIpCkBAIC0yMzEzLDYgKzIzMzcsNyBAQAogICAgICAgICBpZiBzZWxmLnJxLmhhc2h2YWxpZGF0ZToKICAgICAgICAgICAgIHNxX2hhc2ggPSBbXQogICAgICAgICAgICAgc3FfaGFzaGZuID0gW10KKyAgICAgICAgICAgIHNxX3VuaWhhc2ggPSBbXQogICAgICAgICAgICAgc3FfZm4gPSBbXQogICAgICAgICAgICAgc3FfdGFza25hbWUgPSBbXQogICAgICAgICAgICAgc3FfdGFzayA9IFtdCkBAIC0yMzQ0LDE0ICsyMzY5LDE0IEBACiAgICAgICAgICAgICAgICAgc3FfZm4uYXBwZW5kKGZuKQogICAgICAgICAgICAgICAgIHNxX2hhc2hmbi5hcHBlbmQoc2VsZi5ycWRhdGEuZGF0YUNhY2hlc1ttY10uaGFzaGZuW3Rhc2tmbl0pCiAgICAgICAgICAgICAgICAgc3FfaGFzaC5hcHBlbmQoc2VsZi5ycWRhdGEucnVudGFza2VudHJpZXNbdGlkXS5oYXNoKQorICAgICAgICAgICAgICAgIHNxX3VuaWhhc2guYXBwZW5kKHNlbGYucnFkYXRhLnJ1bnRhc2tlbnRyaWVzW3RpZF0udW5paGFzaCkKICAgICAgICAgICAgICAgICBzcV90YXNrbmFtZS5hcHBlbmQodGFza25hbWUpCiAgICAgICAgICAgICAgICAgc3FfdGFzay5hcHBlbmQodGlkKQogCiAgICAgICAgICAgICBzZWxmLmNvb2tlci5kYXRhLnNldFZhcigiQkJfU0VUU0NFTkVfU1RBTVBDVVJSRU5UX0NPVU5UIiwgbGVuKHN0YW1wcHJlc2VudCkpCiAKLSAgICAgICAgICAgIGNhbGwgPSBzZWxmLnJxLmhhc2h2YWxpZGF0ZSArICIoc3FfZm4sIHNxX3Rhc2ssIHNxX2hhc2gsIHNxX2hhc2hmbiwgZCkiCi0gICAgICAgICAgICBsb2NzID0geyAic3FfZm4iIDogc3FfZm4sICJzcV90YXNrIiA6IHNxX3Rhc2tuYW1lLCAic3FfaGFzaCIgOiBzcV9oYXNoLCAic3FfaGFzaGZuIiA6IHNxX2hhc2hmbiwgImQiIDogc2VsZi5jb29rZXIuZGF0YSB9Ci0gICAgICAgICAgICB2YWxpZCA9IGJiLnV0aWxzLmJldHRlcl9ldmFsKGNhbGwsIGxvY3MpCisgICAgICAgICAgICB2YWxpZCA9IHNlbGYucnEudmFsaWRhdGVfaGFzaChzcV9mbj1zcV9mbiwgc3FfdGFzaz1zcV90YXNrbmFtZSwgc3FfaGFzaD1zcV9oYXNoLCBzcV9oYXNoZm49c3FfaGFzaGZuLAorICAgICAgICAgICAgICAgICAgICBzaWdpbmZvPUZhbHNlLCBzcV91bmloYXNoPXNxX3VuaWhhc2gsIGQ9c2VsZi5jb29rZXIuZGF0YSkKIAogICAgICAgICAgICAgc2VsZi5jb29rZXIuZGF0YS5kZWxWYXIoIkJCX1NFVFNDRU5FX1NUQU1QQ1VSUkVOVF9DT1VOVCIpCiAKQEAgLTI0ODIsMTMgKzI1MDcsMTUgQEAKICAgICAgICAgICAgIHRhc2tkZXBkYXRhID0gc2VsZi5idWlsZF90YXNrZGVwZGF0YSh0YXNrKQogCiAgICAgICAgICAgICB0YXNrZGVwID0gc2VsZi5ycWRhdGEuZGF0YUNhY2hlc1ttY10udGFza19kZXBzW3Rhc2tmbl0KKyAgICAgICAgICAgIHRhc2toYXNoID0gc2VsZi5ycWRhdGEuZ2V0X3Rhc2tfaGFzaCh0YXNrKQorICAgICAgICAgICAgdW5paGFzaCA9IHNlbGYucnFkYXRhLmdldF90YXNrX3VuaWhhc2godGFzaykKICAgICAgICAgICAgIGlmICdmYWtlcm9vdCcgaW4gdGFza2RlcCBhbmQgdGFza25hbWUgaW4gdGFza2RlcFsnZmFrZXJvb3QnXSBhbmQgbm90IHNlbGYuY29va2VyLmNvbmZpZ3VyYXRpb24uZHJ5X3J1bjoKICAgICAgICAgICAgICAgICBpZiBub3QgbWMgaW4gc2VsZi5ycS5mYWtld29ya2VyOgogICAgICAgICAgICAgICAgICAgICBzZWxmLnJxLnN0YXJ0X2Zha2V3b3JrZXIoc2VsZiwgbWMpCi0gICAgICAgICAgICAgICAgc2VsZi5ycS5mYWtld29ya2VyW21jXS5wcm9jZXNzLnN0ZGluLndyaXRlKGIiPHJ1bnRhc2s+IiArIHBpY2tsZS5kdW1wcygodGFza2ZuLCB0YXNrLCB0YXNrbmFtZSwgVHJ1ZSwgc2VsZi5jb29rZXIuY29sbGVjdGlvbi5nZXRfZmlsZV9hcHBlbmRzKHRhc2tmbiksIHRhc2tkZXBkYXRhLCBGYWxzZSkpICsgYiI8L3J1bnRhc2s+IikKKyAgICAgICAgICAgICAgICBzZWxmLnJxLmZha2V3b3JrZXJbbWNdLnByb2Nlc3Muc3RkaW4ud3JpdGUoYiI8cnVudGFzaz4iICsgcGlja2xlLmR1bXBzKCh0YXNrZm4sIHRhc2ssIHRhc2tuYW1lLCB0YXNraGFzaCwgdW5paGFzaCwgVHJ1ZSwgc2VsZi5jb29rZXIuY29sbGVjdGlvbi5nZXRfZmlsZV9hcHBlbmRzKHRhc2tmbiksIHRhc2tkZXBkYXRhLCBGYWxzZSkpICsgYiI8L3J1bnRhc2s+IikKICAgICAgICAgICAgICAgICBzZWxmLnJxLmZha2V3b3JrZXJbbWNdLnByb2Nlc3Muc3RkaW4uZmx1c2goKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBzZWxmLnJxLndvcmtlclttY10ucHJvY2Vzcy5zdGRpbi53cml0ZShiIjxydW50YXNrPiIgKyBwaWNrbGUuZHVtcHMoKHRhc2tmbiwgdGFzaywgdGFza25hbWUsIFRydWUsIHNlbGYuY29va2VyLmNvbGxlY3Rpb24uZ2V0X2ZpbGVfYXBwZW5kcyh0YXNrZm4pLCB0YXNrZGVwZGF0YSwgRmFsc2UpKSArIGIiPC9ydW50YXNrPiIpCisgICAgICAgICAgICAgICAgc2VsZi5ycS53b3JrZXJbbWNdLnByb2Nlc3Muc3RkaW4ud3JpdGUoYiI8cnVudGFzaz4iICsgcGlja2xlLmR1bXBzKCh0YXNrZm4sIHRhc2ssIHRhc2tuYW1lLCB0YXNraGFzaCwgdW5paGFzaCwgVHJ1ZSwgc2VsZi5jb29rZXIuY29sbGVjdGlvbi5nZXRfZmlsZV9hcHBlbmRzKHRhc2tmbiksIHRhc2tkZXBkYXRhLCBGYWxzZSkpICsgYiI8L3J1bnRhc2s+IikKICAgICAgICAgICAgICAgICBzZWxmLnJxLndvcmtlclttY10ucHJvY2Vzcy5zdGRpbi5mbHVzaCgpCiAKICAgICAgICAgICAgIHNlbGYuYnVpbGRfc3RhbXBzW3Rhc2tdID0gYmIuYnVpbGQuc3RhbXBmaWxlKHRhc2tuYW1lLCBzZWxmLnJxZGF0YS5kYXRhQ2FjaGVzW21jXSwgdGFza2ZuLCBub2V4dHJhPVRydWUpCkBAIC0yNTUyLDcgKzI1NzksOCBAQAogICAgICAgICAgICAgICAgIGRlcHMgPSBnZXRzZXRzY2VuZWRlcHMocmV2ZGVwKQogICAgICAgICAgICAgICAgIHByb3ZpZGVzID0gc2VsZi5ycWRhdGEuZGF0YUNhY2hlc1ttY10uZm5fcHJvdmlkZXNbdGFza2ZuXQogICAgICAgICAgICAgICAgIHRhc2toYXNoID0gc2VsZi5ycWRhdGEucnVudGFza2VudHJpZXNbcmV2ZGVwXS5oYXNoCi0gICAgICAgICAgICAgICAgdGFza2RlcGRhdGFbcmV2ZGVwXSA9IFtwbiwgdGFza25hbWUsIGZuLCBkZXBzLCBwcm92aWRlcywgdGFza2hhc2hdCisgICAgICAgICAgICAgICAgdW5paGFzaCA9IHNlbGYucnFkYXRhLnJ1bnRhc2tlbnRyaWVzW3JldmRlcF0udW5paGFzaAorICAgICAgICAgICAgICAgIHRhc2tkZXBkYXRhW3JldmRlcF0gPSBbcG4sIHRhc2tuYW1lLCBmbiwgZGVwcywgcHJvdmlkZXMsIHRhc2toYXNoLCB1bmloYXNoXQogICAgICAgICAgICAgICAgIGZvciByZXZkZXAyIGluIGRlcHM6CiAgICAgICAgICAgICAgICAgICAgIGlmIHJldmRlcDIgbm90IGluIHRhc2tkZXBkYXRhOgogICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbC5hcHBlbmQocmV2ZGVwMikKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvc2lnZ2VuLnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi9zaWdnZW4ucHkKaW5kZXggMzUyZGNhYi4uMDljOWM4YSAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9zaWdnZW4ucHkKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9iYi9zaWdnZW4ucHkKQEAgLTQxLDYgKzQxLDkgQEAKICAgICBkZWYgZmluYWxpc2Uoc2VsZiwgZm4sIGQsIHZhcmllbnQpOgogICAgICAgICByZXR1cm4KIAorICAgIGRlZiBnZXRfdW5paGFzaChzZWxmLCB0YXNrKToKKyAgICAgICAgcmV0dXJuIHNlbGYudGFza2hhc2hbdGFza10KKwogICAgIGRlZiBnZXRfdGFza2hhc2goc2VsZiwgZm4sIHRhc2ssIGRlcHMsIGRhdGFDYWNoZSk6CiAgICAgICAgIHJldHVybiAiMCIKIApAQCAtODcsNyArOTAsNyBAQAogICAgICAgICBzZWxmLnRhaW50cyA9IHt9CiAgICAgICAgIHNlbGYuZ2VuZGVwcyA9IHt9CiAgICAgICAgIHNlbGYubG9va3VwY2FjaGUgPSB7fQotICAgICAgICBzZWxmLnBrZ25hbWVleHRyYWN0ID0gcmUuY29tcGlsZSgiKD9QPGZuPi4qKVwuLioiKQorICAgICAgICBzZWxmLnBrZ25hbWVleHRyYWN0ID0gcmUuY29tcGlsZShyIig/UDxmbj4uKilcLi4qIikKICAgICAgICAgc2VsZi5iYXNld2hpdGVsaXN0ID0gc2V0KChkYXRhLmdldFZhcigiQkJfSEFTSEJBU0VfV0hJVEVMSVNUIikgb3IgIiIpLnNwbGl0KCkpCiAgICAgICAgIHNlbGYudGFza3doaXRlbGlzdCA9IE5vbmUKICAgICAgICAgc2VsZi5pbml0X3J1bmRlcGNoZWNrKGRhdGEpCkBAIC0xODgsNyArMTkxLDcgQEAKICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgaWYgZGVwIG5vdCBpbiBzZWxmLnRhc2toYXNoOgogICAgICAgICAgICAgICAgIGJiLmZhdGFsKCIlcyBpcyBub3QgaW4gdGFza2hhc2gsIGNhbGxlciBpc24ndCBjYWxsaW5nIGluIGRlcGVuZGVuY3kgb3JkZXI/IiAlIGRlcCkKLSAgICAgICAgICAgIGRhdGEgPSBkYXRhICsgc2VsZi50YXNraGFzaFtkZXBdCisgICAgICAgICAgICBkYXRhID0gZGF0YSArIHNlbGYuZ2V0X3VuaWhhc2goZGVwKQogICAgICAgICAgICAgc2VsZi5ydW50YXNrZGVwc1trXS5hcHBlbmQoZGVwKQogCiAgICAgICAgIGlmIHRhc2sgaW4gZGF0YUNhY2hlLmZpbGVfY2hlY2tzdW1zW2ZuXToKQEAgLTIxNSw3ICsyMTgsNyBAQAogICAgICAgICAgICAgc2VsZi50YWludHNba10gPSB0YWludAogICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIiVzIGlzIHRhaW50ZWQgZnJvbSBhIGZvcmNlZCBydW4iICUgaykKIAotICAgICAgICBoID0gaGFzaGxpYi5tZDUoZGF0YS5lbmNvZGUoInV0Zi04IikpLmhleGRpZ2VzdCgpCisgICAgICAgIGggPSBoYXNobGliLnNoYTI1NihkYXRhLmVuY29kZSgidXRmLTgiKSkuaGV4ZGlnZXN0KCkKICAgICAgICAgc2VsZi50YXNraGFzaFtrXSA9IGgKICAgICAgICAgI2Quc2V0VmFyKCJCQl9UQVNLSEFTSF90YXNrLSVzIiAlIHRhc2ssIHRhc2toYXNoW3Rhc2tdKQogICAgICAgICByZXR1cm4gaApAQCAtMjYzLDcgKzI2Niw3IEBACiAgICAgICAgICAgICBkYXRhWydmaWxlX2NoZWNrc3VtX3ZhbHVlcyddID0gWyhvcy5wYXRoLmJhc2VuYW1lKGYpLCBjcykgZm9yIGYsY3MgaW4gc2VsZi5maWxlX2NoZWNrc3VtX3ZhbHVlc1trXV0KICAgICAgICAgICAgIGRhdGFbJ3J1bnRhc2toYXNoZXMnXSA9IHt9CiAgICAgICAgICAgICBmb3IgZGVwIGluIGRhdGFbJ3J1bnRhc2tkZXBzJ106Ci0gICAgICAgICAgICAgICAgZGF0YVsncnVudGFza2hhc2hlcyddW2RlcF0gPSBzZWxmLnRhc2toYXNoW2RlcF0KKyAgICAgICAgICAgICAgICBkYXRhWydydW50YXNraGFzaGVzJ11bZGVwXSA9IHNlbGYuZ2V0X3VuaWhhc2goZGVwKQogICAgICAgICAgICAgZGF0YVsndGFza2hhc2gnXSA9IHNlbGYudGFza2hhc2hba10KIAogICAgICAgICB0YWludCA9IHNlbGYucmVhZF90YWludChmbiwgdGFzaywgcmVmZXJlbmNlc3RhbXApCkBAIC0zMTMsNiArMzE2LDEzIEBACiBjbGFzcyBTaWduYXR1cmVHZW5lcmF0b3JCYXNpY0hhc2goU2lnbmF0dXJlR2VuZXJhdG9yQmFzaWMpOgogICAgIG5hbWUgPSAiYmFzaWNoYXNoIgogCisgICAgZGVmIGdldF9zdGFtcGZpbGVfaGFzaChzZWxmLCB0YXNrKToKKyAgICAgICAgaWYgdGFzayBpbiBzZWxmLnRhc2toYXNoOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYudGFza2hhc2hbdGFza10KKworICAgICAgICAjIElmIHRhc2sgaXMgbm90IGluIGJhc2VoYXNoLCB0aGVuIGVycm9yCisgICAgICAgIHJldHVybiBzZWxmLmJhc2VoYXNoW3Rhc2tdCisKICAgICBkZWYgc3RhbXBmaWxlKHNlbGYsIHN0YW1wYmFzZSwgZm4sIHRhc2tuYW1lLCBleHRyYWluZm8sIGNsZWFuPUZhbHNlKToKICAgICAgICAgaWYgdGFza25hbWUgIT0gImRvX3NldHNjZW5lIiBhbmQgdGFza25hbWUuZW5kc3dpdGgoIl9zZXRzY2VuZSIpOgogICAgICAgICAgICAgayA9IGZuICsgIi4iICsgdGFza25hbWVbOi05XQpAQCAtMzIwLDExICszMzAsOSBAQAogICAgICAgICAgICAgayA9IGZuICsgIi4iICsgdGFza25hbWUKICAgICAgICAgaWYgY2xlYW46CiAgICAgICAgICAgICBoID0gIioiCi0gICAgICAgIGVsaWYgayBpbiBzZWxmLnRhc2toYXNoOgotICAgICAgICAgICAgaCA9IHNlbGYudGFza2hhc2hba10KICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICMgSWYgayBpcyBub3QgaW4gYmFzZWhhc2gsIHRoZW4gZXJyb3IKLSAgICAgICAgICAgIGggPSBzZWxmLmJhc2VoYXNoW2tdCisgICAgICAgICAgICBoID0gc2VsZi5nZXRfc3RhbXBmaWxlX2hhc2goaykKKwogICAgICAgICByZXR1cm4gKCIlcy4lcy4lcy4lcyIgJSAoc3RhbXBiYXNlLCB0YXNrbmFtZSwgaCwgZXh0cmFpbmZvKSkucnN0cmlwKCcuJykKIAogICAgIGRlZiBzdGFtcGNsZWFubWFzayhzZWxmLCBzdGFtcGJhc2UsIGZuLCB0YXNrbmFtZSwgZXh0cmFpbmZvKToKQEAgLTY0NCw3ICs2NTIsNyBAQAogICAgICAgICBpZiB2YWwgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICBiYXNlZGF0YSA9IGJhc2VkYXRhICsgc3RyKHZhbCkKIAotICAgIHJldHVybiBoYXNobGliLm1kNShiYXNlZGF0YS5lbmNvZGUoInV0Zi04IikpLmhleGRpZ2VzdCgpCisgICAgcmV0dXJuIGhhc2hsaWIuc2hhMjU2KGJhc2VkYXRhLmVuY29kZSgidXRmLTgiKSkuaGV4ZGlnZXN0KCkKIAogZGVmIGNhbGNfdGFza2hhc2goc2lnZGF0YSk6CiAgICAgZGF0YSA9IHNpZ2RhdGFbJ2Jhc2VoYXNoJ10KQEAgLTY2Miw3ICs2NzAsNyBAQAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgZGF0YSA9IGRhdGEgKyBzaWdkYXRhWyd0YWludCddCiAKLSAgICByZXR1cm4gaGFzaGxpYi5tZDUoZGF0YS5lbmNvZGUoInV0Zi04IikpLmhleGRpZ2VzdCgpCisgICAgcmV0dXJuIGhhc2hsaWIuc2hhMjU2KGRhdGEuZW5jb2RlKCJ1dGYtOCIpKS5oZXhkaWdlc3QoKQogCiAKIGRlZiBkdW1wX3NpZ2ZpbGUoYSk6CmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL3Rlc3RzL2NvZGVwYXJzZXIucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL3Rlc3RzL2NvZGVwYXJzZXIucHkKaW5kZXggZTMwZTc4Yy4uM2ZkNzZhOCAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi90ZXN0cy9jb2RlcGFyc2VyLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvdGVzdHMvY29kZXBhcnNlci5weQpAQCAtMTIzLDYgKzEyMywxMyBAQAogICAgICAgICBzZWxmLnBhcnNlRXhwcmVzc2lvbigic2VkIC1pIC1lICdzOklQezpJJHs6ZycgJHBjIikKICAgICAgICAgc2VsZi5hc3NlcnRFeGVjcyhzZXQoWyJzZWQiXSkpCiAKKyAgICBkZWYgdGVzdF9wYXJhbWV0ZXJfZXhwYW5zaW9uX21vZGlmaWVycyhzZWxmKToKKyAgICAgICAgIyAtIGFuZCArIGFyZSBhbHNvIHZhbGlkIG1vZGlmaWVycyBmb3IgcGFyYW1ldGVyIGV4cGFuc2lvbiwgYnV0IGFyZQorICAgICAgICAjIHZhbGlkIGNoYXJhY3RlcnMgaW4gYml0YmFrZSB2YXJpYWJsZSBuYW1lcywgc28gYXJlIG5vdCBpbmNsdWRlZCBoZXJlCisgICAgICAgIGZvciBpIGluICgnPScsICc6LScsICc6PScsICc/JywgJzo/JywgJzorJywgJyMnLCAnJScsICcjIycsICclJScpOgorICAgICAgICAgICAgbmFtZSA9ICJmb28lc2JhciIgJSBpCisgICAgICAgICAgICBzZWxmLnBhcnNlRXhwcmVzc2lvbigiJHslc30iICUgbmFtZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4obmFtZSwgc2VsZi5yZWZlcmVuY2VzKQogCiAgICAgZGVmIHRlc3RfdW50aWwoc2VsZik6CiAgICAgICAgIHNlbGYucGFyc2VFeHByZXNzaW9uKCJ1bnRpbCBmYWxzZTsgZG8gZWNobyB0cnVlOyBkb25lIikKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvdGVzdHMvZGF0YS5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvdGVzdHMvZGF0YS5weQppbmRleCBkYjNlMjAxLi4zYzUxMWYyIDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JiL3Rlc3RzL2RhdGEucHkKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9iYi90ZXN0cy9kYXRhLnB5CkBAIC0zOTQsNiArMzk0LDE1IEBACiAgICAgICAgIHNlbGYuZC5zZXRWYXIoIk9WRVJSSURFUyIsICJmb286YmFyOnNvbWVfdmFsIikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmQuZ2V0VmFyKCJURVNUIiksICIgdGVzdHZhbHVlNSIpCiAKKyAgICAjIFRlc3QgYW4gb3ZlcnJpZGUgd2l0aCBfPG51bWVyaWM+IGluIGl0IGJhc2VkIG9uIGEgcmVhbCB3b3JsZCBPRSBpc3N1ZQorICAgIGRlZiB0ZXN0X3VuZGVyc2NvcmVfb3ZlcnJpZGUoc2VsZik6CisgICAgICAgIHNlbGYuZC5zZXRWYXIoIlRBUkdFVF9BUkNIIiwgIng4Nl82NCIpCisgICAgICAgIHNlbGYuZC5zZXRWYXIoIlBOIiwgInRlc3QtJHtUQVJHRVRfQVJDSH0iKQorICAgICAgICBzZWxmLmQuc2V0VmFyKCJWRVJTSU9OIiwgIjEiKQorICAgICAgICBzZWxmLmQuc2V0VmFyKCJWRVJTSU9OX3BuLXRlc3QtJHtUQVJHRVRfQVJDSH0iLCAiMiIpCisgICAgICAgIHNlbGYuZC5zZXRWYXIoIk9WRVJSSURFUyIsICJwbi0ke1BOfSIpCisgICAgICAgIGJiLmRhdGEuZXhwYW5kS2V5cyhzZWxmLmQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5kLmdldFZhcigiVkVSU0lPTiIpLCAiMiIpCiAKIGNsYXNzIFRlc3RLZXlFeHBhbnNpb24odW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiBzZXRVcChzZWxmKToKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvdGVzdHMvZmV0Y2gucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL3Rlc3RzL2ZldGNoLnB5CmluZGV4IDUyMmQyMDIuLjQyOTk5OGIgMTAwNjQ0Ci0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvdGVzdHMvZmV0Y2gucHkKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9iYi90ZXN0cy9mZXRjaC5weQpAQCAtOTQyLDYgKzk0MiwyNSBAQAogICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHJlcG9fcGF0aCwgJy5naXQvbW9kdWxlcy9leHRlcm4vanNvbi9jb25maWcnKSksIG1zZz0nTWlzc2luZyBzdWJtb2R1bGUgY29uZmlnICJleHRlcm4vanNvbiInKQogICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHJlcG9fcGF0aCwgJy5naXQvbW9kdWxlcy9leHRlcm4vc2FuaXRpemVycy9jb25maWcnKSksIG1zZz0nTWlzc2luZyBzdWJtb2R1bGUgY29uZmlnICJleHRlcm4vc2FuaXRpemVycyInKQogCisgICAgZGVmIHRlc3RfZ2l0X3N1Ym1vZHVsZV91cGRhdGVfQ0xJMTEoc2VsZik6CisgICAgICAgICIiIiBQcmV2ZW50IHJlZ3Jlc3Npb24gb24gdXBkYXRlIGRldGVjdGlvbiBub3QgZmluZGluZyBtaXNzaW5nIHN1Ym1vZHVsZSwgb3IgbW9kdWxlcyB3aXRob3V0IG5lZWRlZCBjb21taXRzICIiIgorICAgICAgICB1cmwgPSAiZ2l0c206Ly9naXRodWIuY29tL0NMSVV0aWxzL0NMSTExO3Byb3RvY29sPWdpdDtyZXY9Y2Y2YTk5ZmE2OWFhZWZlNDc3Y2M1MmUzZWY0YTdkMmQ3ZmE0MDcxNCIKKyAgICAgICAgZmV0Y2hlciA9IGJiLmZldGNoLkZldGNoKFt1cmxdLCBzZWxmLmQpCisgICAgICAgIGZldGNoZXIuZG93bmxvYWQoKQorCisgICAgICAgICMgQ0xJMTEgdGhhdCBwdWxscyBpbiBhIG5ld2VyIG5sb2htYW5uLWpzb24KKyAgICAgICAgdXJsID0gImdpdHNtOi8vZ2l0aHViLmNvbS9DTElVdGlscy9DTEkxMTtwcm90b2NvbD1naXQ7cmV2PTQ5YWM5ODlhOTUyN2VlOWJiNDk2ZGU5ZGVkN2I0ODcyYzJlMGU1Y2EiCisgICAgICAgIGZldGNoZXIgPSBiYi5mZXRjaC5GZXRjaChbdXJsXSwgc2VsZi5kKQorICAgICAgICBmZXRjaGVyLmRvd25sb2FkKCkKKyAgICAgICAgIyBQcmV2aW91cyBjd2QgaGFzIGJlZW4gZGVsZXRlZAorICAgICAgICBvcy5jaGRpcihvcy5wYXRoLmRpcm5hbWUoc2VsZi51bnBhY2tkaXIpKQorICAgICAgICBmZXRjaGVyLnVucGFjayhzZWxmLnVucGFja2RpcikKKworICAgICAgICByZXBvX3BhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi50ZW1wZGlyLCAndW5wYWNrZWQnLCAnZ2l0JykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihyZXBvX3BhdGgsICcuZ2l0L21vZHVsZXMvZXh0ZXJuL2dvb2dsZXRlc3QvY29uZmlnJykpLCBtc2c9J01pc3Npbmcgc3VibW9kdWxlIGNvbmZpZyAiZXh0ZXJuL2dvb2dsZXRlc3QiJykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihyZXBvX3BhdGgsICcuZ2l0L21vZHVsZXMvZXh0ZXJuL2pzb24vY29uZmlnJykpLCBtc2c9J01pc3Npbmcgc3VibW9kdWxlIGNvbmZpZyAiZXh0ZXJuL2pzb24iJykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihyZXBvX3BhdGgsICcuZ2l0L21vZHVsZXMvZXh0ZXJuL3Nhbml0aXplcnMvY29uZmlnJykpLCBtc2c9J01pc3Npbmcgc3VibW9kdWxlIGNvbmZpZyAiZXh0ZXJuL3Nhbml0aXplcnMiJykKKwogICAgIGRlZiB0ZXN0X2dpdF9zdWJtb2R1bGVfYWt0dWFsaXpyKHNlbGYpOgogICAgICAgICB1cmwgPSAiZ2l0c206Ly9naXRodWIuY29tL2FkdmFuY2VkdGVsZW1hdGljL2FrdHVhbGl6cjticmFuY2g9bWFzdGVyO3Byb3RvY29sPWdpdDtyZXY9ZDAwZDFhMDRjYzIzNjZkMWE1ZjE0M2I4NGI5ZjUwN2Y4YmQzMmM0NCIKICAgICAgICAgZmV0Y2hlciA9IGJiLmZldGNoLkZldGNoKFt1cmxdLCBzZWxmLmQpCkBAIC0xMzM4LDcgKzEzNTcsNyBAQAogCiAgICAgZGVmIGZldGNoKHNlbGYsIHVyaT1Ob25lKToKICAgICAgICAgaWYgdXJpIGlzIE5vbmU6Ci0gICAgICAgICAgICB1cmlzID0gc2VsZi5kLmdldFZhcignU1JDX1VSSScsIFRydWUpLnNwbGl0KCkKKyAgICAgICAgICAgIHVyaXMgPSBzZWxmLmQuZ2V0VmFyKCdTUkNfVVJJJykuc3BsaXQoKQogICAgICAgICAgICAgdXJpID0gdXJpc1swXQogICAgICAgICAgICAgZCA9IHNlbGYuZAogICAgICAgICBlbHNlOgpAQCAtMTM5Nyw3ICsxNDE2LDcgQEAKIAogICAgICAgICBzcmNyZXYgPSBzZWxmLmdpdCgncmV2LXBhcnNlIEhFQUQnLCBjd2Q9c2VsZi5zcmNkaXIpLnN0cmlwKCkKICAgICAgICAgc2VsZi5kLnNldFZhcignU1JDUkVWJywgc3JjcmV2KQotICAgICAgICB1cmkgPSBzZWxmLmQuZ2V0VmFyKCdTUkNfVVJJJywgVHJ1ZSkuc3BsaXQoKVswXQorICAgICAgICB1cmkgPSBzZWxmLmQuZ2V0VmFyKCdTUkNfVVJJJykuc3BsaXQoKVswXQogICAgICAgICB1cmkgPSAnJXM7bm9icmFuY2g9MTtiYXJlPTEnICUgdXJpCiAKICAgICAgICAgc2VsZi5mZXRjaF9zaGFsbG93KHVyaSkKQEAgLTE1NzYsNyArMTU5NSw3IEBACiAgICAgICAgIHNlbGYuYWRkX2VtcHR5X2ZpbGUoJ2YnKQogICAgICAgICBzZWxmLmFzc2VydFJldkNvdW50KDcsIGN3ZD1zZWxmLnNyY2RpcikKIAotICAgICAgICB1cmkgPSBzZWxmLmQuZ2V0VmFyKCdTUkNfVVJJJywgVHJ1ZSkuc3BsaXQoKVswXQorICAgICAgICB1cmkgPSBzZWxmLmQuZ2V0VmFyKCdTUkNfVVJJJykuc3BsaXQoKVswXQogICAgICAgICB1cmkgPSAnJXM7YnJhbmNoPW1hc3RlcixhX2JyYW5jaDtuYW1lPW1hc3RlcixhX2JyYW5jaCcgJSB1cmkKIAogICAgICAgICBzZWxmLmQuc2V0VmFyKCdCQl9HSVRfU0hBTExPV19ERVBUSCcsICcwJykKQEAgLTE2MDIsNyArMTYyMSw3IEBACiAgICAgICAgIHNlbGYuYWRkX2VtcHR5X2ZpbGUoJ2YnKQogICAgICAgICBzZWxmLmFzc2VydFJldkNvdW50KDcsIGN3ZD1zZWxmLnNyY2RpcikKIAotICAgICAgICB1cmkgPSBzZWxmLmQuZ2V0VmFyKCdTUkNfVVJJJywgVHJ1ZSkuc3BsaXQoKVswXQorICAgICAgICB1cmkgPSBzZWxmLmQuZ2V0VmFyKCdTUkNfVVJJJykuc3BsaXQoKVswXQogICAgICAgICB1cmkgPSAnJXM7YnJhbmNoPW1hc3RlcixhX2JyYW5jaDtuYW1lPW1hc3RlcixhX2JyYW5jaCcgJSB1cmkKIAogICAgICAgICBzZWxmLmQuc2V0VmFyKCdCQl9HSVRfU0hBTExPV19ERVBUSCcsICcwJykKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvdGVzdHMvcGVyc2lzdF9kYXRhLnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi90ZXN0cy9wZXJzaXN0X2RhdGEucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODEyYmNiZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvdGVzdHMvcGVyc2lzdF9kYXRhLnB5CkBAIC0wLDAgKzEsMTQyIEBACisjIGV4OnRzPTQ6c3c9NDpzdHM9NDpldAorIyAtKi0gdGFiLXdpZHRoOiA0OyBjLWJhc2ljLW9mZnNldDogNDsgaW5kZW50LXRhYnMtbW9kZTogbmlsIC0qLQorIworIyBCaXRCYWtlIFRlc3QgZm9yIGxpYi9iYi9wZXJzaXN0X2RhdGEvCisjCisjIENvcHlyaWdodCAoQykgMjAxOCBHYXJtaW4gTHRkLgorIworIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworIyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyMKKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKyMgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKyMgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyMKKworaW1wb3J0IHVuaXR0ZXN0CitpbXBvcnQgYmIuZGF0YQoraW1wb3J0IGJiLnBlcnNpc3RfZGF0YQoraW1wb3J0IHRlbXBmaWxlCitpbXBvcnQgdGhyZWFkaW5nCisKK2NsYXNzIFBlcnNpc3REYXRhVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZGVmIF9jcmVhdGVfZGF0YShzZWxmKToKKyAgICAgICAgcmV0dXJuIGJiLnBlcnNpc3RfZGF0YS5wZXJzaXN0KCdURVNUX1BFUlNJU1RfREFUQScsIHNlbGYuZCkKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc2VsZi5kID0gYmIuZGF0YS5pbml0KCkKKyAgICAgICAgc2VsZi50ZW1wZGlyID0gdGVtcGZpbGUuVGVtcG9yYXJ5RGlyZWN0b3J5KCkKKyAgICAgICAgc2VsZi5kWydQRVJTSVNURU5UX0RJUiddID0gc2VsZi50ZW1wZGlyLm5hbWUKKyAgICAgICAgc2VsZi5kYXRhID0gc2VsZi5fY3JlYXRlX2RhdGEoKQorICAgICAgICBzZWxmLml0ZW1zID0geworICAgICAgICAgICAgICAgICdBMSc6ICcxJywKKyAgICAgICAgICAgICAgICAnQjEnOiAnMicsCisgICAgICAgICAgICAgICAgJ0MyJzogJzMnCisgICAgICAgICAgICAgICAgfQorICAgICAgICBzZWxmLnN0cmVzc19jb3VudCA9IDEwMDAwCisgICAgICAgIHNlbGYudGhyZWFkX2NvdW50ID0gNQorCisgICAgICAgIGZvciBrLHYgaW4gc2VsZi5pdGVtcy5pdGVtcygpOgorICAgICAgICAgICAgc2VsZi5kYXRhW2tdID0gdgorCisgICAgZGVmIHRlYXJEb3duKHNlbGYpOgorICAgICAgICBzZWxmLnRlbXBkaXIuY2xlYW51cCgpCisKKyAgICBkZWYgX2l0ZXJfaGVscGVyKHNlbGYsIHNlZW4sIGl0ZXJhdG9yKToKKyAgICAgICAgd2l0aCBpdGVyKGl0ZXJhdG9yKToKKyAgICAgICAgICAgIGZvciB2IGluIGl0ZXJhdG9yOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh2IGluIHNlZW4pCisgICAgICAgICAgICAgICAgc2Vlbi5yZW1vdmUodikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oc2VlbiksIDAsICclcyBub3Qgc2VlbicgJSBzZWVuKQorCisgICAgZGVmIHRlc3RfZ2V0KHNlbGYpOgorICAgICAgICBmb3IgaywgdiBpbiBzZWxmLml0ZW1zLml0ZW1zKCk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZGF0YVtrXSwgdikKKworICAgICAgICBzZWxmLmFzc2VydElzTm9uZShzZWxmLmRhdGEuZ2V0KCdEJykpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoS2V5RXJyb3IpOgorICAgICAgICAgICAgc2VsZi5kYXRhWydEJ10KKworICAgIGRlZiB0ZXN0X3NldChzZWxmKToKKyAgICAgICAgZm9yIGssIHYgaW4gc2VsZi5pdGVtcy5pdGVtcygpOgorICAgICAgICAgICAgc2VsZi5kYXRhW2tdICs9ICctZm9vJworCisgICAgICAgIGZvciBrLCB2IGluIHNlbGYuaXRlbXMuaXRlbXMoKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5kYXRhW2tdLCB2ICsgJy1mb28nKQorCisgICAgZGVmIHRlc3RfZGVsZXRlKHNlbGYpOgorICAgICAgICBzZWxmLmRhdGFbJ0QnXSA9ICc0JworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZGF0YVsnRCddLCAnNCcpCisgICAgICAgIGRlbCBzZWxmLmRhdGFbJ0QnXQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShzZWxmLmRhdGEuZ2V0KCdEJykpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoS2V5RXJyb3IpOgorICAgICAgICAgICAgc2VsZi5kYXRhWydEJ10KKworICAgIGRlZiB0ZXN0X2NvbnRhaW5zKHNlbGYpOgorICAgICAgICBmb3IgayBpbiBzZWxmLml0ZW1zOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGsgaW4gc2VsZi5kYXRhKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYuZGF0YS5oYXNfa2V5KGspKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKCdOb3RGb3VuZCcgaW4gc2VsZi5kYXRhKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHNlbGYuZGF0YS5oYXNfa2V5KCdOb3RGb3VuZCcpKQorCisgICAgZGVmIHRlc3RfbGVuKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihzZWxmLmRhdGEpLCBsZW4oc2VsZi5pdGVtcykpCisKKyAgICBkZWYgdGVzdF9pdGVyKHNlbGYpOgorICAgICAgICBzZWxmLl9pdGVyX2hlbHBlcihzZXQoc2VsZi5pdGVtcy5rZXlzKCkpLCBzZWxmLmRhdGEpCisKKyAgICBkZWYgdGVzdF9pdGVydmFsdWVzKHNlbGYpOgorICAgICAgICBzZWxmLl9pdGVyX2hlbHBlcihzZXQoc2VsZi5pdGVtcy52YWx1ZXMoKSksIHNlbGYuZGF0YS5pdGVydmFsdWVzKCkpCisKKyAgICBkZWYgdGVzdF9pdGVyaXRlbXMoc2VsZik6CisgICAgICAgIHNlbGYuX2l0ZXJfaGVscGVyKHNldChzZWxmLml0ZW1zLml0ZW1zKCkpLCBzZWxmLmRhdGEuaXRlcml0ZW1zKCkpCisKKyAgICBkZWYgdGVzdF9nZXRfYnlfcGF0dGVybihzZWxmKToKKyAgICAgICAgc2VsZi5faXRlcl9oZWxwZXIoeycxJywgJzInfSwgc2VsZi5kYXRhLmdldF9ieV9wYXR0ZXJuKCdfMScpKQorCisgICAgZGVmIF9zdHJlc3NfcmVhZChzZWxmLCBkYXRhKToKKyAgICAgICAgZm9yIGkgaW4gcmFuZ2Uoc2VsZi5zdHJlc3NfY291bnQpOgorICAgICAgICAgICAgZm9yIGsgaW4gc2VsZi5pdGVtczoKKyAgICAgICAgICAgICAgICBkYXRhW2tdCisKKyAgICBkZWYgX3N0cmVzc193cml0ZShzZWxmLCBkYXRhKToKKyAgICAgICAgZm9yIGkgaW4gcmFuZ2Uoc2VsZi5zdHJlc3NfY291bnQpOgorICAgICAgICAgICAgZm9yIGssIHYgaW4gc2VsZi5pdGVtcy5pdGVtcygpOgorICAgICAgICAgICAgICAgIGRhdGFba10gPSB2ICsgc3RyKGkpCisKKyAgICBkZWYgX3ZhbGlkYXRlX3N0cmVzcyhzZWxmKToKKyAgICAgICAgZm9yIGssIHYgaW4gc2VsZi5pdGVtcy5pdGVtcygpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmRhdGFba10sIHYgKyBzdHIoc2VsZi5zdHJlc3NfY291bnQgLSAxKSkKKworICAgIGRlZiB0ZXN0X3N0cmVzcyhzZWxmKToKKyAgICAgICAgc2VsZi5fc3RyZXNzX3JlYWQoc2VsZi5kYXRhKQorICAgICAgICBzZWxmLl9zdHJlc3Nfd3JpdGUoc2VsZi5kYXRhKQorICAgICAgICBzZWxmLl92YWxpZGF0ZV9zdHJlc3MoKQorCisgICAgZGVmIHRlc3Rfc3RyZXNzX3RocmVhZHMoc2VsZik6CisgICAgICAgIGRlZiByZWFkX3RocmVhZCgpOgorICAgICAgICAgICAgZGF0YSA9IHNlbGYuX2NyZWF0ZV9kYXRhKCkKKyAgICAgICAgICAgIHNlbGYuX3N0cmVzc19yZWFkKGRhdGEpCisKKyAgICAgICAgZGVmIHdyaXRlX3RocmVhZCgpOgorICAgICAgICAgICAgZGF0YSA9IHNlbGYuX2NyZWF0ZV9kYXRhKCkKKyAgICAgICAgICAgIHNlbGYuX3N0cmVzc193cml0ZShkYXRhKQorCisgICAgICAgIHRocmVhZHMgPSBbXQorICAgICAgICBmb3IgaSBpbiByYW5nZShzZWxmLnRocmVhZF9jb3VudCk6CisgICAgICAgICAgICB0aHJlYWRzLmFwcGVuZCh0aHJlYWRpbmcuVGhyZWFkKHRhcmdldD1yZWFkX3RocmVhZCkpCisgICAgICAgICAgICB0aHJlYWRzLmFwcGVuZCh0aHJlYWRpbmcuVGhyZWFkKHRhcmdldD13cml0ZV90aHJlYWQpKQorCisgICAgICAgIGZvciB0IGluIHRocmVhZHM6CisgICAgICAgICAgICB0LnN0YXJ0KCkKKyAgICAgICAgc2VsZi5fc3RyZXNzX3JlYWQoc2VsZi5kYXRhKQorICAgICAgICBmb3IgdCBpbiB0aHJlYWRzOgorICAgICAgICAgICAgdC5qb2luKCkKKyAgICAgICAgc2VsZi5fdmFsaWRhdGVfc3RyZXNzKCkKKwpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9iYi90ZXN0cy91dGlscy5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvdGVzdHMvdXRpbHMucHkKaW5kZXggMmY0Y2NmMy4uZjFjZDgzYSAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi90ZXN0cy91dGlscy5weQorKysgYi9wb2t5L2JpdGJha2UvbGliL2JiL3Rlc3RzL3V0aWxzLnB5CkBAIC00Miw2ICs0MiwxMCBAQAogICAgICAgICBzZWxmLmFzc2VydFRydWUocmVzdWx0IDwgMCkKICAgICAgICAgcmVzdWx0ID0gYmIudXRpbHMudmVyY21wX3N0cmluZygnMS4xJywgJzEuMCsxLjEtYmV0YTEnKQogICAgICAgICBzZWxmLmFzc2VydFRydWUocmVzdWx0ID4gMCkKKyAgICAgICAgcmVzdWx0ID0gYmIudXRpbHMudmVyY21wX3N0cmluZygnMS4nLCAnMS4xJykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlc3VsdCA8IDApCisgICAgICAgIHJlc3VsdCA9IGJiLnV0aWxzLnZlcmNtcF9zdHJpbmcoJzEuMScsICcxLicpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZXN1bHQgPiAwKQogCiAgICAgZGVmIHRlc3RfZXhwbG9kZV9kZXBfdmVyc2lvbnMoc2VsZik6CiAgICAgICAgIGNvcnJlY3RyZXN1bHQgPSB7ImZvbyIgOiBbIj0gMS4xMCJdfQpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9iYi91dGlscy5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvdXRpbHMucHkKaW5kZXggNzNiNmNiNC4uYjY1MmE2OCAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi91dGlscy5weQorKysgYi9wb2t5L2JpdGJha2UvbGliL2JiL3V0aWxzLnB5CkBAIC0yNyw3ICsyNyw4IEBACiBpbXBvcnQgYmIubXNnCiBpbXBvcnQgbXVsdGlwcm9jZXNzaW5nCiBpbXBvcnQgZmNudGwKLWltcG9ydCBpbXAKK2ltcG9ydCBpbXBvcnRsaWIKK2Zyb20gaW1wb3J0bGliIGltcG9ydCBtYWNoaW5lcnkKIGltcG9ydCBpdGVydG9vbHMKIGltcG9ydCBzdWJwcm9jZXNzCiBpbXBvcnQgZ2xvYgpAQCAtNDMsNyArNDQsNyBAQAogZnJvbSBjdHlwZXMgaW1wb3J0IGNkbGwKIAogbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoIkJpdEJha2UuVXRpbCIpCi1weXRob25fZXh0ZW5zaW9ucyA9IFtlIGZvciBlLCBfLCBfIGluIGltcC5nZXRfc3VmZml4ZXMoKV0KK3B5dGhvbl9leHRlbnNpb25zID0gaW1wb3J0bGliLm1hY2hpbmVyeS5hbGxfc3VmZml4ZXMoKQogCiAKIGRlZiBjbGVhbl9jb250ZXh0KCk6CkBAIC02OCw4ICs2OSw4IEBACiAKIGRlZiBleHBsb2RlX3ZlcnNpb24ocyk6CiAgICAgciA9IFtdCi0gICAgYWxwaGFfcmVnZXhwID0gcmUuY29tcGlsZSgnXihbYS16QS1aXSspKC4qKSQnKQotICAgIG51bWVyaWNfcmVnZXhwID0gcmUuY29tcGlsZSgnXihcZCspKC4qKSQnKQorICAgIGFscGhhX3JlZ2V4cCA9IHJlLmNvbXBpbGUocideKFthLXpBLVpdKykoLiopJCcpCisgICAgbnVtZXJpY19yZWdleHAgPSByZS5jb21waWxlKHInXihcZCspKC4qKSQnKQogICAgIHdoaWxlIChzICE9ICcnKToKICAgICAgICAgaWYgc1swXSBpbiBzdHJpbmcuZGlnaXRzOgogICAgICAgICAgICAgbSA9IG51bWVyaWNfcmVnZXhwLm1hdGNoKHMpCkBAIC0xMjAsNiArMTIxLDEwIEBACiAgICAgICAgICAgICByZXR1cm4gLTEKICAgICAgICAgZWxpZiBvYSA+IG9iOgogICAgICAgICAgICAgcmV0dXJuIDEKKyAgICAgICAgZWxpZiBjYSBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuIC0xCisgICAgICAgIGVsaWYgY2IgaXMgTm9uZToKKyAgICAgICAgICAgIHJldHVybiAxCiAgICAgICAgIGVsaWYgY2EgPCBjYjoKICAgICAgICAgICAgIHJldHVybiAtMQogICAgICAgICBlbGlmIGNhID4gY2I6CkBAIC0zMTcsMTAgKzMyMiwxMyBAQAogICAgICAgICBlcnJvciA9IFtdCiAgICAgICAgICMgc3BsaXQgdGhlIHRleHQgaW50byBsaW5lcyBhZ2FpbgogICAgICAgICBib2R5ID0gdGV4dC5zcGxpdCgnXG4nKQotICAgICAgICBlcnJvci5hcHBlbmQoIkVycm9yIGluIGNvbXBpbGluZyBweXRob24gZnVuY3Rpb24gaW4gJXMsIGxpbmUgJXM6XG4iICUgKHJlYWxmaWxlLCBsaW5lbm8pKQorICAgICAgICBlcnJvci5hcHBlbmQoIkVycm9yIGluIGNvbXBpbGluZyBweXRob24gZnVuY3Rpb24gaW4gJXMsIGxpbmUgJXM6XG4iICUgKHJlYWxmaWxlLCBlLmxpbmVubykpCiAgICAgICAgIGlmIGhhc2F0dHIoZSwgImxpbmVubyIpOgogICAgICAgICAgICAgZXJyb3IuYXBwZW5kKCJUaGUgY29kZSBsaW5lcyByZXN1bHRpbmcgaW4gdGhpcyBlcnJvciB3ZXJlOiIpCi0gICAgICAgICAgICBlcnJvci5leHRlbmQoX3ByaW50X3RyYWNlKGJvZHksIGUubGluZW5vKSkKKyAgICAgICAgICAgICMgZS5saW5lbm86IGxpbmUncyBwb3NpdGlvbiBpbiByZWFmbGlsZQorICAgICAgICAgICAgIyBsaW5lbm86IGZ1bmN0aW9uIG5hbWUncyAicG9zaXRpb24gLTEiIGluIHJlYWxmaWxlCisgICAgICAgICAgICAjIGUubGluZW5vIC0gbGluZW5vOiBsaW5lJ3MgcmVsYXRpdmUgcG9zaXRpb24gaW4gZnVuY3Rpb24KKyAgICAgICAgICAgIGVycm9yLmV4dGVuZChfcHJpbnRfdHJhY2UoYm9keSwgZS5saW5lbm8gLSBsaW5lbm8pKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgZXJyb3IuYXBwZW5kKCJUaGUgZnVuY3Rpb24gY2F1c2luZyB0aGlzIGVycm9yIHdhczoiKQogICAgICAgICAgICAgZm9yIGxpbmUgaW4gYm9keToKQEAgLTcwNCwxNSArNzEyLDcgQEAKICAgICAjIENBVVRJT046ICBUaGlzIGlzIGRhbmdlcm91cyEKICAgICBpZiBfY2hlY2tfdW5zYWZlX2RlbGV0ZV9wYXRoKHRvcGRpcik6CiAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignYmIudXRpbHMucHJ1bmVkaXI6IGNhbGxlZCB3aXRoIGRhbmdlcm91cyBwYXRoICIlcyIsIHJlZnVzaW5nIHRvIGRlbGV0ZSEnICUgdG9wZGlyKQotICAgIGZvciByb290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKHRvcGRpciwgdG9wZG93biA9IEZhbHNlKToKLSAgICAgICAgZm9yIG5hbWUgaW4gZmlsZXM6Ci0gICAgICAgICAgICBvcy5yZW1vdmUob3MucGF0aC5qb2luKHJvb3QsIG5hbWUpKQotICAgICAgICBmb3IgbmFtZSBpbiBkaXJzOgotICAgICAgICAgICAgaWYgb3MucGF0aC5pc2xpbmsob3MucGF0aC5qb2luKHJvb3QsIG5hbWUpKToKLSAgICAgICAgICAgICAgICBvcy5yZW1vdmUob3MucGF0aC5qb2luKHJvb3QsIG5hbWUpKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBvcy5ybWRpcihvcy5wYXRoLmpvaW4ocm9vdCwgbmFtZSkpCi0gICAgb3Mucm1kaXIodG9wZGlyKQorICAgIHJlbW92ZSh0b3BkaXIsIHJlY3Vyc2U9VHJ1ZSkKIAogIwogIyBDb3VsZCBhbHNvIHVzZSByZXR1cm4gcmUuY29tcGlsZSgiKCVzKSIgJSAifCIuam9pbihtYXAocmUuZXNjYXBlLCBzdWZmaXhlcykpKS5zdWIobGFtYmRhIG1vOiAiIiwgdmFyKQpAQCAtMTE1NywxNCArMTE1NywxNCBAQAogCiAgICAgdmFyX3JlcyA9IHt9CiAgICAgaWYgbWF0Y2hfb3ZlcnJpZGVzOgotICAgICAgICBvdmVycmlkZV9yZSA9ICcoX1thLXpBLVowLTktXyQoKXt9XSspPycKKyAgICAgICAgb3ZlcnJpZGVfcmUgPSByJyhfW2EtekEtWjAtOS1fJCgpe31dKyk/JwogICAgIGVsc2U6CiAgICAgICAgIG92ZXJyaWRlX3JlID0gJycKICAgICBmb3IgdmFyIGluIHZhcmlhYmxlczoKICAgICAgICAgaWYgdmFyLmVuZHN3aXRoKCcoKScpOgotICAgICAgICAgICAgdmFyX3Jlc1t2YXJdID0gcmUuY29tcGlsZSgnXiglcyVzKVsgXFx0XSpcKFsgXFx0XSpcKVsgXFx0XSp7JyAlICh2YXJbOi0yXS5yc3RyaXAoKSwgb3ZlcnJpZGVfcmUpKQorICAgICAgICAgICAgdmFyX3Jlc1t2YXJdID0gcmUuY29tcGlsZShyJ14oJXMlcylbIFxcdF0qXChbIFxcdF0qXClbIFxcdF0qeycgJSAodmFyWzotMl0ucnN0cmlwKCksIG92ZXJyaWRlX3JlKSkKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHZhcl9yZXNbdmFyXSA9IHJlLmNvbXBpbGUoJ14oJXMlcylbIFxcdF0qWz8rOi5dKj1bKy5dKlsgXFx0XSooWyJcJ10pJyAlICh2YXIsIG92ZXJyaWRlX3JlKSkKKyAgICAgICAgICAgIHZhcl9yZXNbdmFyXSA9IHJlLmNvbXBpbGUocideKCVzJXMpWyBcXHRdKls/KzouXSo9WysuXSpbIFxcdF0qKFsiXCddKScgJSAodmFyLCBvdmVycmlkZV9yZSkpCiAKICAgICB1cGRhdGVkID0gRmFsc2UKICAgICB2YXJzZXRfc3RhcnQgPSAnJwpAQCAtMTUwMSw2ICsxNTAxLDggQEAKICAgICAgIE5SX2lvcHJpb19zZXQgPSAyNTEKICAgICBlbGlmIF91bmFtZWFyY2hbMF0gPT0gImkiIGFuZCBfdW5hbWVhcmNoWzI6M10gPT0gIjg2IjoKICAgICAgIE5SX2lvcHJpb19zZXQgPSAyODkKKyAgICBlbGlmIF91bmFtZWFyY2ggPT0gImFhcmNoNjQiOgorICAgICAgTlJfaW9wcmlvX3NldCA9IDMwCiAKICAgICBpZiBOUl9pb3ByaW9fc2V0OgogICAgICAgICBpb3ByaW8gPSB2YWx1ZSB8IChjbHMgPDwgSU9QUklPX0NMQVNTX1NISUZUKQpAQCAtMTU0NCwxMiArMTU0Niw5IEBACiBkZWYgbG9hZF9wbHVnaW5zKGxvZ2dlciwgcGx1Z2lucywgcGx1Z2lucGF0aCk6CiAgICAgZGVmIGxvYWRfcGx1Z2luKG5hbWUpOgogICAgICAgICBsb2dnZXIuZGVidWcoMSwgJ0xvYWRpbmcgcGx1Z2luICVzJyAlIG5hbWUpCi0gICAgICAgIGZwLCBwYXRobmFtZSwgZGVzY3JpcHRpb24gPSBpbXAuZmluZF9tb2R1bGUobmFtZSwgW3BsdWdpbnBhdGhdKQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICByZXR1cm4gaW1wLmxvYWRfbW9kdWxlKG5hbWUsIGZwLCBwYXRobmFtZSwgZGVzY3JpcHRpb24pCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBpZiBmcDoKLSAgICAgICAgICAgICAgICBmcC5jbG9zZSgpCisgICAgICAgIHNwZWMgPSBpbXBvcnRsaWIubWFjaGluZXJ5LlBhdGhGaW5kZXIuZmluZF9zcGVjKG5hbWUsIHBhdGg9W3BsdWdpbnBhdGhdICkKKyAgICAgICAgaWYgc3BlYzoKKyAgICAgICAgICAgIHJldHVybiBzcGVjLmxvYWRlci5sb2FkX21vZHVsZSgpCiAKICAgICBsb2dnZXIuZGVidWcoMSwgJ0xvYWRpbmcgcGx1Z2lucyBmcm9tICVzLi4uJyAlIHBsdWdpbnBhdGgpCiAKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYnM0L2RhbW1pdC5weSBiL3Bva3kvYml0YmFrZS9saWIvYnM0L2RhbW1pdC5weQppbmRleCA2OGQ0MTlmLi44MDVhYTkwIDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JzNC9kYW1taXQucHkKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9iczQvZGFtbWl0LnB5CkBAIC00NSw5ICs0NSw5IEBACiAgICAgcGFzcwogCiB4bWxfZW5jb2RpbmdfcmUgPSByZS5jb21waWxlKAotICAgICdePFw/LiplbmNvZGluZz1bXCciXSguKj8pW1wnIl0uKlw/PicuZW5jb2RlKCksIHJlLkkpCisgICAgcidePFw/LiplbmNvZGluZz1bXCciXSguKj8pW1wnIl0uKlw/PicuZW5jb2RlKCksIHJlLkkpCiBodG1sX21ldGFfcmUgPSByZS5jb21waWxlKAotICAgICc8XHMqbWV0YVtePl0rY2hhcnNldFxzKj1ccypbIlwnXT8oW14+XSo/KVsgLztcJyI+XScuZW5jb2RlKCksIHJlLkkpCisgICAgcic8XHMqbWV0YVtePl0rY2hhcnNldFxzKj1ccypbIlwnXT8oW14+XSo/KVsgLztcJyI+XScuZW5jb2RlKCksIHJlLkkpCiAKIGNsYXNzIEVudGl0eVN1YnN0aXR1dGlvbihvYmplY3QpOgogCkBAIC04MCwxMSArODAsMTEgQEAKICAgICAgICAgIj4iOiAiZ3QiLAogICAgICAgICB9CiAKLSAgICBCQVJFX0FNUEVSU0FORF9PUl9CUkFDS0VUID0gcmUuY29tcGlsZSgiKFs8Pl18IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICImKD8hI1xkKzt8I3hbMC05YS1mQS1GXSs7fFx3KzspIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIpIikKKyAgICBCQVJFX0FNUEVSU0FORF9PUl9CUkFDS0VUID0gcmUuY29tcGlsZShyIihbPD5dfCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByIiYoPyEjXGQrO3wjeFswLTlhLWZBLUZdKzt8XHcrOykiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciIpIikKIAotICAgIEFNUEVSU0FORF9PUl9CUkFDS0VUID0gcmUuY29tcGlsZSgiKFs8PiZdKSIpCisgICAgQU1QRVJTQU5EX09SX0JSQUNLRVQgPSByZS5jb21waWxlKHIiKFs8PiZdKSIpCiAKICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgX3N1YnN0aXR1dGVfaHRtbF9lbnRpdHkoY2xzLCBtYXRjaG9iaik6CmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JzNC9lbGVtZW50LnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iczQvZWxlbWVudC5weQppbmRleCAwZTYyYzJlLi4zNzc1YTYwIDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JzNC9lbGVtZW50LnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYnM0L2VsZW1lbnQucHkKQEAgLTEsNyArMSw3IEBACiBfX2xpY2Vuc2VfXyA9ICJNSVQiCiAKIGZyb20gcGRiIGltcG9ydCBzZXRfdHJhY2UKLWltcG9ydCBjb2xsZWN0aW9ucworaW1wb3J0IGNvbGxlY3Rpb25zLmFiYwogaW1wb3J0IHJlCiBpbXBvcnQgc3lzCiBpbXBvcnQgd2FybmluZ3MKQEAgLTEwLDcgKzEwLDcgQEAKIERFRkFVTFRfT1VUUFVUX0VOQ09ESU5HID0gInV0Zi04IgogUFkzSyA9IChzeXMudmVyc2lvbl9pbmZvWzBdID4gMikKIAotd2hpdGVzcGFjZV9yZSA9IHJlLmNvbXBpbGUoIlxzKyIpCit3aGl0ZXNwYWNlX3JlID0gcmUuY29tcGlsZShyIlxzKyIpCiAKIGRlZiBfYWxpYXMoYXR0cik6CiAgICAgIiIiQWxpYXMgb25lIGF0dHJpYnV0ZSBuYW1lIHRvIGFub3RoZXIgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkiIiIKQEAgLTY3LDcgKzY3LDcgQEAKICAgICBUaGUgdmFsdWUgb2YgdGhlICdjb250ZW50JyBhdHRyaWJ1dGUgd2lsbCBiZSBvbmUgb2YgdGhlc2Ugb2JqZWN0cy4KICAgICAiIiIKIAotICAgIENIQVJTRVRfUkUgPSByZS5jb21waWxlKCIoKF58OylccypjaGFyc2V0PSkoW147XSopIiwgcmUuTSkKKyAgICBDSEFSU0VUX1JFID0gcmUuY29tcGlsZShyIigoXnw7KVxzKmNoYXJzZXQ9KShbXjtdKikiLCByZS5NKQogCiAgICAgZGVmIF9fbmV3X18oY2xzLCBvcmlnaW5hbF92YWx1ZSk6CiAgICAgICAgIG1hdGNoID0gY2xzLkNIQVJTRVRfUkUuc2VhcmNoKG9yaWdpbmFsX3ZhbHVlKQpAQCAtMTU1LDcgKzE1NSw3IEBACiAKICAgICBkZWYgZm9ybWF0X3N0cmluZyhzZWxmLCBzLCBmb3JtYXR0ZXI9J21pbmltYWwnKToKICAgICAgICAgIiIiRm9ybWF0IHRoZSBnaXZlbiBzdHJpbmcgdXNpbmcgdGhlIGdpdmVuIGZvcm1hdHRlci4iIiIKLSAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoZm9ybWF0dGVyLCBjb2xsZWN0aW9ucy5DYWxsYWJsZSk6CisgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGZvcm1hdHRlciwgY29sbGVjdGlvbnMuYWJjLkNhbGxhYmxlKToKICAgICAgICAgICAgIGZvcm1hdHRlciA9IHNlbGYuX2Zvcm1hdHRlcl9mb3JfbmFtZShmb3JtYXR0ZXIpCiAgICAgICAgIGlmIGZvcm1hdHRlciBpcyBOb25lOgogICAgICAgICAgICAgb3V0cHV0ID0gcwpAQCAtNTgwLDcgKzU4MCw3IEBACiAKICAgICAjIE1ldGhvZHMgZm9yIHN1cHBvcnRpbmcgQ1NTIHNlbGVjdG9ycy4KIAotICAgIHRhZ19uYW1lX3JlID0gcmUuY29tcGlsZSgnXlthLXpBLVowLTldWy0uYS16QS1aMC05Ol9dKiQnKQorICAgIHRhZ19uYW1lX3JlID0gcmUuY29tcGlsZShyJ15bYS16QS1aMC05XVstLmEtekEtWjAtOTpfXSokJykKIAogICAgICMgL14oW2EtekEtWjAtOV1bLS5hLXpBLVowLTk6X10qKVxbKFx3KykoWz1+XHxcXlwkXCpdPyk9PyI/KFteXF0iXSopIj9cXSQvCiAgICAgIyAgIFwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vICBcLS0tL1wtLS0tLS0tLS0tLS0tLyAgICBcLS0tLS0tLS8KQEAgLTEwNzcsNyArMTA3Nyw3IEBACiAKICAgICAgICAgIyBGaXJzdCBvZmYsIHR1cm4gYSBzdHJpbmcgZm9ybWF0dGVyIGludG8gYSBmdW5jdGlvbi4gVGhpcwogICAgICAgICAjIHdpbGwgc3RvcCB0aGUgbG9va3VwIGZyb20gaGFwcGVuaW5nIG92ZXIgYW5kIG92ZXIgYWdhaW4uCi0gICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGZvcm1hdHRlciwgY29sbGVjdGlvbnMuQ2FsbGFibGUpOgorICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShmb3JtYXR0ZXIsIGNvbGxlY3Rpb25zLmFiYy5DYWxsYWJsZSk6CiAgICAgICAgICAgICBmb3JtYXR0ZXIgPSBzZWxmLl9mb3JtYXR0ZXJfZm9yX25hbWUoZm9ybWF0dGVyKQogCiAgICAgICAgIGF0dHJzID0gW10KQEAgLTExODEsNyArMTE4MSw3IEBACiAgICAgICAgICIiIgogICAgICAgICAjIEZpcnN0IG9mZiwgdHVybiBhIHN0cmluZyBmb3JtYXR0ZXIgaW50byBhIGZ1bmN0aW9uLiBUaGlzCiAgICAgICAgICMgd2lsbCBzdG9wIHRoZSBsb29rdXAgZnJvbSBoYXBwZW5pbmcgb3ZlciBhbmQgb3ZlciBhZ2Fpbi4KLSAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoZm9ybWF0dGVyLCBjb2xsZWN0aW9ucy5DYWxsYWJsZSk6CisgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGZvcm1hdHRlciwgY29sbGVjdGlvbnMuYWJjLkNhbGxhYmxlKToKICAgICAgICAgICAgIGZvcm1hdHRlciA9IHNlbGYuX2Zvcm1hdHRlcl9mb3JfbmFtZShmb3JtYXR0ZXIpCiAKICAgICAgICAgcHJldHR5X3ByaW50ID0gKGluZGVudF9sZXZlbCBpcyBub3QgTm9uZSkKQEAgLTEzNjQsNyArMTM2NCw3IEBACiAgICAgICAgICAgICAgICAgaWYgdGFnX25hbWUgPT0gJyc6CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoCiAgICAgICAgICAgICAgICAgICAgICAgICAiQSBwc2V1ZG8tY2xhc3MgbXVzdCBiZSBwcmVmaXhlZCB3aXRoIGEgdGFnIG5hbWUuIikKLSAgICAgICAgICAgICAgICBwc2V1ZG9fYXR0cmlidXRlcyA9IHJlLm1hdGNoKCcoW2EtekEtWlxkLV0rKVwoKFthLXpBLVpcZF0rKVwpJywgcHNldWRvKQorICAgICAgICAgICAgICAgIHBzZXVkb19hdHRyaWJ1dGVzID0gcmUubWF0Y2gocicoW2EtekEtWlxkLV0rKVwoKFthLXpBLVpcZF0rKVwpJywgcHNldWRvKQogICAgICAgICAgICAgICAgIGZvdW5kID0gW10KICAgICAgICAgICAgICAgICBpZiBwc2V1ZG9fYXR0cmlidXRlcyBpcyBOb25lOgogICAgICAgICAgICAgICAgICAgICBwc2V1ZG9fdHlwZSA9IHBzZXVkbwpAQCAtMTU2Miw3ICsxNTYyLDcgQEAKICAgICBkZWYgX25vcm1hbGl6ZV9zZWFyY2hfdmFsdWUoc2VsZiwgdmFsdWUpOgogICAgICAgICAjIExlYXZlIGl0IGFsb25lIGlmIGl0J3MgYSBVbmljb2RlIHN0cmluZywgYSBjYWxsYWJsZSwgYQogICAgICAgICAjIHJlZ3VsYXIgZXhwcmVzc2lvbiwgYSBib29sZWFuLCBvciBOb25lLgotICAgICAgICBpZiAoaXNpbnN0YW5jZSh2YWx1ZSwgc3RyKSBvciBpc2luc3RhbmNlKHZhbHVlLCBjb2xsZWN0aW9ucy5DYWxsYWJsZSkgb3IgaGFzYXR0cih2YWx1ZSwgJ21hdGNoJykKKyAgICAgICAgaWYgKGlzaW5zdGFuY2UodmFsdWUsIHN0cikgb3IgaXNpbnN0YW5jZSh2YWx1ZSwgY29sbGVjdGlvbnMuYWJjLkNhbGxhYmxlKSBvciBoYXNhdHRyKHZhbHVlLCAnbWF0Y2gnKQogICAgICAgICAgICAgb3IgaXNpbnN0YW5jZSh2YWx1ZSwgYm9vbCkgb3IgdmFsdWUgaXMgTm9uZSk6CiAgICAgICAgICAgICByZXR1cm4gdmFsdWUKIApAQCAtMTYwMiw3ICsxNjAyLDcgQEAKICAgICAgICAgICAgIG1hcmt1cCA9IG1hcmt1cF9uYW1lCiAgICAgICAgICAgICBtYXJrdXBfYXR0cnMgPSBtYXJrdXAKICAgICAgICAgY2FsbF9mdW5jdGlvbl93aXRoX3RhZ19kYXRhID0gKAotICAgICAgICAgICAgaXNpbnN0YW5jZShzZWxmLm5hbWUsIGNvbGxlY3Rpb25zLkNhbGxhYmxlKQorICAgICAgICAgICAgaXNpbnN0YW5jZShzZWxmLm5hbWUsIGNvbGxlY3Rpb25zLmFiYy5DYWxsYWJsZSkKICAgICAgICAgICAgIGFuZCBub3QgaXNpbnN0YW5jZShtYXJrdXBfbmFtZSwgVGFnKSkKIAogICAgICAgICBpZiAoKG5vdCBzZWxmLm5hbWUpCkBAIC0xNjg4LDcgKzE2ODgsNyBAQAogICAgICAgICAgICAgIyBUcnVlIG1hdGNoZXMgYW55IG5vbi1Ob25lIHZhbHVlLgogICAgICAgICAgICAgcmV0dXJuIG1hcmt1cCBpcyBub3QgTm9uZQogCi0gICAgICAgIGlmIGlzaW5zdGFuY2UobWF0Y2hfYWdhaW5zdCwgY29sbGVjdGlvbnMuQ2FsbGFibGUpOgorICAgICAgICBpZiBpc2luc3RhbmNlKG1hdGNoX2FnYWluc3QsIGNvbGxlY3Rpb25zLmFiYy5DYWxsYWJsZSk6CiAgICAgICAgICAgICByZXR1cm4gbWF0Y2hfYWdhaW5zdChtYXJrdXApCiAKICAgICAgICAgIyBDdXN0b20gY2FsbGFibGVzIHRha2UgdGhlIHRhZyBhcyBhbiBhcmd1bWVudCwgYnV0IGFsbApkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9oYXNoc2Vydi9fX2luaXRfXy5weSBiL3Bva3kvYml0YmFrZS9saWIvaGFzaHNlcnYvX19pbml0X18ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDZiY2E3YwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvYml0YmFrZS9saWIvaGFzaHNlcnYvX19pbml0X18ucHkKQEAgLTAsMCArMSwxNTIgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE4IEdhcm1pbiBMdGQuCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisjIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorIworIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworIyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorIyA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorCitmcm9tIGh0dHAuc2VydmVyIGltcG9ydCBCYXNlSFRUUFJlcXVlc3RIYW5kbGVyLCBIVFRQU2VydmVyCitpbXBvcnQgY29udGV4dGxpYgoraW1wb3J0IHVybGxpYi5wYXJzZQoraW1wb3J0IHNxbGl0ZTMKK2ltcG9ydCBqc29uCitpbXBvcnQgdHJhY2ViYWNrCitpbXBvcnQgbG9nZ2luZworZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUKKworbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoJ2hhc2hzZXJ2JykKKworY2xhc3MgSGFzaEVxdWl2YWxlbmNlU2VydmVyKEJhc2VIVFRQUmVxdWVzdEhhbmRsZXIpOgorICAgIGRlZiBsb2dfbWVzc2FnZShzZWxmLCBmLCAqYXJncyk6CisgICAgICAgIGxvZ2dlci5kZWJ1ZyhmLCAqYXJncykKKworICAgIGRlZiBkb19HRVQoc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHAgPSB1cmxsaWIucGFyc2UudXJscGFyc2Uoc2VsZi5wYXRoKQorCisgICAgICAgICAgICBpZiBwLnBhdGggIT0gc2VsZi5wcmVmaXggKyAnL3YxL2VxdWl2YWxlbnQnOgorICAgICAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcig0MDQpCisgICAgICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgICAgIHF1ZXJ5ID0gdXJsbGliLnBhcnNlLnBhcnNlX3FzKHAucXVlcnksIHN0cmljdF9wYXJzaW5nPVRydWUpCisgICAgICAgICAgICBtZXRob2QgPSBxdWVyeVsnbWV0aG9kJ11bMF0KKyAgICAgICAgICAgIHRhc2toYXNoID0gcXVlcnlbJ3Rhc2toYXNoJ11bMF0KKworICAgICAgICAgICAgZCA9IE5vbmUKKyAgICAgICAgICAgIHdpdGggY29udGV4dGxpYi5jbG9zaW5nKHNlbGYuZGIuY3Vyc29yKCkpIGFzIGN1cnNvcjoKKyAgICAgICAgICAgICAgICBjdXJzb3IuZXhlY3V0ZSgnU0VMRUNUIHRhc2toYXNoLCBtZXRob2QsIHVuaWhhc2ggRlJPTSB0YXNrc192MSBXSEVSRSBtZXRob2Q9Om1ldGhvZCBBTkQgdGFza2hhc2g9OnRhc2toYXNoIE9SREVSIEJZIGNyZWF0ZWQgQVNDIExJTUlUIDEnLAorICAgICAgICAgICAgICAgICAgICAgICAgeydtZXRob2QnOiBtZXRob2QsICd0YXNraGFzaCc6IHRhc2toYXNofSkKKworICAgICAgICAgICAgICAgIHJvdyA9IGN1cnNvci5mZXRjaG9uZSgpCisKKyAgICAgICAgICAgICAgICBpZiByb3cgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgICAgIGxvZ2dlci5kZWJ1ZygnRm91bmQgZXF1aXZhbGVudCB0YXNrICVzJywgcm93Wyd0YXNraGFzaCddKQorICAgICAgICAgICAgICAgICAgICBkID0ge2s6IHJvd1trXSBmb3IgayBpbiAoJ3Rhc2toYXNoJywgJ21ldGhvZCcsICd1bmloYXNoJyl9CisKKyAgICAgICAgICAgIHNlbGYuc2VuZF9yZXNwb25zZSgyMDApCisgICAgICAgICAgICBzZWxmLnNlbmRfaGVhZGVyKCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOCcpCisgICAgICAgICAgICBzZWxmLmVuZF9oZWFkZXJzKCkKKyAgICAgICAgICAgIHNlbGYud2ZpbGUud3JpdGUoanNvbi5kdW1wcyhkKS5lbmNvZGUoJ3V0Zi04JykpCisgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgIGxvZ2dlci5leGNlcHRpb24oJ0Vycm9yIGluIEdFVCcpCisgICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoNDAwLCBleHBsYWluPXRyYWNlYmFjay5mb3JtYXRfZXhjKCkpCisgICAgICAgICAgICByZXR1cm4KKworICAgIGRlZiBkb19QT1NUKHNlbGYpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBwID0gdXJsbGliLnBhcnNlLnVybHBhcnNlKHNlbGYucGF0aCkKKworICAgICAgICAgICAgaWYgcC5wYXRoICE9IHNlbGYucHJlZml4ICsgJy92MS9lcXVpdmFsZW50JzoKKyAgICAgICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoNDA0KQorICAgICAgICAgICAgICAgIHJldHVybgorCisgICAgICAgICAgICBsZW5ndGggPSBpbnQoc2VsZi5oZWFkZXJzWydjb250ZW50LWxlbmd0aCddKQorICAgICAgICAgICAgZGF0YSA9IGpzb24ubG9hZHMoc2VsZi5yZmlsZS5yZWFkKGxlbmd0aCkuZGVjb2RlKCd1dGYtOCcpKQorCisgICAgICAgICAgICB3aXRoIGNvbnRleHRsaWIuY2xvc2luZyhzZWxmLmRiLmN1cnNvcigpKSBhcyBjdXJzb3I6CisgICAgICAgICAgICAgICAgY3Vyc29yLmV4ZWN1dGUoJycnCisgICAgICAgICAgICAgICAgICAgIFNFTEVDVCB0YXNraGFzaCwgbWV0aG9kLCB1bmloYXNoIEZST00gdGFza3NfdjEgV0hFUkUgbWV0aG9kPTptZXRob2QgQU5EIG91dGhhc2g9Om91dGhhc2gKKyAgICAgICAgICAgICAgICAgICAgT1JERVIgQlkgQ0FTRSBXSEVOIHRhc2toYXNoPTp0YXNraGFzaCBUSEVOIDEgRUxTRSAyIEVORCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZWQgQVNDCisgICAgICAgICAgICAgICAgICAgIExJTUlUIDEKKyAgICAgICAgICAgICAgICAgICAgJycnLCB7azogZGF0YVtrXSBmb3IgayBpbiAoJ21ldGhvZCcsICdvdXRoYXNoJywgJ3Rhc2toYXNoJyl9KQorCisgICAgICAgICAgICAgICAgcm93ID0gY3Vyc29yLmZldGNob25lKCkKKworICAgICAgICAgICAgICAgIGlmIHJvdyBpcyBOb25lIG9yIHJvd1sndGFza2hhc2gnXSAhPSBkYXRhWyd0YXNraGFzaCddOgorICAgICAgICAgICAgICAgICAgICB1bmloYXNoID0gZGF0YVsndW5paGFzaCddCisgICAgICAgICAgICAgICAgICAgIGlmIHJvdyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHVuaWhhc2ggPSByb3dbJ3VuaWhhc2gnXQorCisgICAgICAgICAgICAgICAgICAgIGluc2VydF9kYXRhID0geworICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtZXRob2QnOiBkYXRhWydtZXRob2QnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb3V0aGFzaCc6IGRhdGFbJ291dGhhc2gnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGFza2hhc2gnOiBkYXRhWyd0YXNraGFzaCddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICd1bmloYXNoJzogdW5paGFzaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY3JlYXRlZCc6IGRhdGV0aW1lLm5vdygpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgIGZvciBrIGluICgnb3duZXInLCAnUE4nLCAnUFYnLCAnUFInLCAndGFzaycsICdvdXRoYXNoX3NpZ2luZm8nKToKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIGsgaW4gZGF0YToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnNlcnRfZGF0YVtrXSA9IGRhdGFba10KKworICAgICAgICAgICAgICAgICAgICBjdXJzb3IuZXhlY3V0ZSgnJydJTlNFUlQgSU5UTyB0YXNrc192MSAoJXMpIFZBTFVFUyAoJXMpJycnICUgKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICcsICcuam9pbihzb3J0ZWQoaW5zZXJ0X2RhdGEua2V5cygpKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJywgJy5qb2luKCc6JyArIGsgZm9yIGsgaW4gc29ydGVkKGluc2VydF9kYXRhLmtleXMoKSkpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGluc2VydF9kYXRhKQorCisgICAgICAgICAgICAgICAgICAgIGxvZ2dlci5pbmZvKCdBZGRpbmcgdGFza2hhc2ggJXMgd2l0aCB1bmloYXNoICVzJywgZGF0YVsndGFza2hhc2gnXSwgdW5paGFzaCkKKyAgICAgICAgICAgICAgICAgICAgY3Vyc29yLmV4ZWN1dGUoJ1NFTEVDVCB0YXNraGFzaCwgbWV0aG9kLCB1bmloYXNoIEZST00gdGFza3NfdjEgV0hFUkUgaWQ9OmlkJywgeydpZCc6IGN1cnNvci5sYXN0cm93aWR9KQorICAgICAgICAgICAgICAgICAgICByb3cgPSBjdXJzb3IuZmV0Y2hvbmUoKQorCisgICAgICAgICAgICAgICAgICAgIHNlbGYuZGIuY29tbWl0KCkKKworICAgICAgICAgICAgICAgIGQgPSB7azogcm93W2tdIGZvciBrIGluICgndGFza2hhc2gnLCAnbWV0aG9kJywgJ3VuaWhhc2gnKX0KKworICAgICAgICAgICAgICAgIHNlbGYuc2VuZF9yZXNwb25zZSgyMDApCisgICAgICAgICAgICAgICAgc2VsZi5zZW5kX2hlYWRlcignQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9dXRmLTgnKQorICAgICAgICAgICAgICAgIHNlbGYuZW5kX2hlYWRlcnMoKQorICAgICAgICAgICAgICAgIHNlbGYud2ZpbGUud3JpdGUoanNvbi5kdW1wcyhkKS5lbmNvZGUoJ3V0Zi04JykpCisgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgIGxvZ2dlci5leGNlcHRpb24oJ0Vycm9yIGluIFBPU1QnKQorICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKDQwMCwgZXhwbGFpbj10cmFjZWJhY2suZm9ybWF0X2V4YygpKQorICAgICAgICAgICAgcmV0dXJuCisKK2RlZiBjcmVhdGVfc2VydmVyKGFkZHIsIGRiLCBwcmVmaXg9JycpOgorICAgIGNsYXNzIEhhbmRsZXIoSGFzaEVxdWl2YWxlbmNlU2VydmVyKToKKyAgICAgICAgcGFzcworCisgICAgSGFuZGxlci5wcmVmaXggPSBwcmVmaXgKKyAgICBIYW5kbGVyLmRiID0gZGIKKyAgICBkYi5yb3dfZmFjdG9yeSA9IHNxbGl0ZTMuUm93CisKKyAgICB3aXRoIGNvbnRleHRsaWIuY2xvc2luZyhkYi5jdXJzb3IoKSkgYXMgY3Vyc29yOgorICAgICAgICBjdXJzb3IuZXhlY3V0ZSgnJycKKyAgICAgICAgICAgIENSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIHRhc2tzX3YxICgKKyAgICAgICAgICAgICAgICBpZCBJTlRFR0VSIFBSSU1BUlkgS0VZIEFVVE9JTkNSRU1FTlQsCisgICAgICAgICAgICAgICAgbWV0aG9kIFRFWFQgTk9UIE5VTEwsCisgICAgICAgICAgICAgICAgb3V0aGFzaCBURVhUIE5PVCBOVUxMLAorICAgICAgICAgICAgICAgIHRhc2toYXNoIFRFWFQgTk9UIE5VTEwsCisgICAgICAgICAgICAgICAgdW5paGFzaCBURVhUIE5PVCBOVUxMLAorICAgICAgICAgICAgICAgIGNyZWF0ZWQgREFURVRJTUUsCisKKyAgICAgICAgICAgICAgICAtLSBPcHRpb25hbCBmaWVsZHMKKyAgICAgICAgICAgICAgICBvd25lciBURVhULAorICAgICAgICAgICAgICAgIFBOIFRFWFQsCisgICAgICAgICAgICAgICAgUFYgVEVYVCwKKyAgICAgICAgICAgICAgICBQUiBURVhULAorICAgICAgICAgICAgICAgIHRhc2sgVEVYVCwKKyAgICAgICAgICAgICAgICBvdXRoYXNoX3NpZ2luZm8gVEVYVAorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICcnJykKKworICAgIGxvZ2dlci5pbmZvKCdTdGFydGluZyBzZXJ2ZXIgb24gJXMnLCBhZGRyKQorICAgIHJldHVybiBIVFRQU2VydmVyKGFkZHIsIEhhbmRsZXIpCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2hhc2hzZXJ2L3Rlc3RzLnB5IGIvcG9reS9iaXRiYWtlL2xpYi9oYXNoc2Vydi90ZXN0cy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MDZiNTRjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9oYXNoc2Vydi90ZXN0cy5weQpAQCAtMCwwICsxLDE0MSBAQAorIyEgL3Vzci9iaW4vZW52IHB5dGhvbjMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE4IEdhcm1pbiBMdGQuCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisjIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorIworIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworIyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorIyA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorCitpbXBvcnQgdW5pdHRlc3QKK2ltcG9ydCB0aHJlYWRpbmcKK2ltcG9ydCBzcWxpdGUzCitpbXBvcnQgaGFzaGxpYgoraW1wb3J0IHVybGxpYi5yZXF1ZXN0CitpbXBvcnQganNvbgorZnJvbSAuIGltcG9ydCBjcmVhdGVfc2VydmVyCisKK2NsYXNzIFRlc3RIYXNoRXF1aXZhbGVuY2VTZXJ2ZXIodW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgIyBTdGFydCBhbiBpbiBtZW1vcnkgaGFzaCBlcXVpdmFsZW5jZSBzZXJ2ZXIgaW4gdGhlIGJhY2tncm91bmQgYm91bmQgdG8KKyAgICAgICAgIyBhbiBlcGhlbWVyYWwgcG9ydAorICAgICAgICBkYiA9IHNxbGl0ZTMuY29ubmVjdCgnOm1lbW9yeTonLCBjaGVja19zYW1lX3RocmVhZD1GYWxzZSkKKyAgICAgICAgc2VsZi5zZXJ2ZXIgPSBjcmVhdGVfc2VydmVyKCgnbG9jYWxob3N0JywgMCksIGRiKQorICAgICAgICBzZWxmLnNlcnZlcl9hZGRyID0gJ2h0dHA6Ly9sb2NhbGhvc3Q6JWQnICUgc2VsZi5zZXJ2ZXIuc29ja2V0LmdldHNvY2tuYW1lKClbMV0KKyAgICAgICAgc2VsZi5zZXJ2ZXJfdGhyZWFkID0gdGhyZWFkaW5nLlRocmVhZCh0YXJnZXQ9c2VsZi5zZXJ2ZXIuc2VydmVfZm9yZXZlcikKKyAgICAgICAgc2VsZi5zZXJ2ZXJfdGhyZWFkLnN0YXJ0KCkKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgIyBTaHV0ZG93biBzZXJ2ZXIKKyAgICAgICAgcyA9IGdldGF0dHIoc2VsZiwgJ3NlcnZlcicsIE5vbmUpCisgICAgICAgIGlmIHMgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBzZWxmLnNlcnZlci5zaHV0ZG93bigpCisgICAgICAgICAgICBzZWxmLnNlcnZlcl90aHJlYWQuam9pbigpCisgICAgICAgICAgICBzZWxmLnNlcnZlci5zZXJ2ZXJfY2xvc2UoKQorCisgICAgZGVmIHNlbmRfZ2V0KHNlbGYsIHBhdGgpOgorICAgICAgICB1cmwgPSAnJXMvJXMnICUgKHNlbGYuc2VydmVyX2FkZHIsIHBhdGgpCisgICAgICAgIHJlcXVlc3QgPSB1cmxsaWIucmVxdWVzdC5SZXF1ZXN0KHVybCkKKyAgICAgICAgcmVzcG9uc2UgPSB1cmxsaWIucmVxdWVzdC51cmxvcGVuKHJlcXVlc3QpCisgICAgICAgIHJldHVybiBqc29uLmxvYWRzKHJlc3BvbnNlLnJlYWQoKS5kZWNvZGUoJ3V0Zi04JykpCisKKyAgICBkZWYgc2VuZF9wb3N0KHNlbGYsIHBhdGgsIGRhdGEpOgorICAgICAgICBoZWFkZXJzID0geydjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24vanNvbid9CisgICAgICAgIHVybCA9ICclcy8lcycgJSAoc2VsZi5zZXJ2ZXJfYWRkciwgcGF0aCkKKyAgICAgICAgcmVxdWVzdCA9IHVybGxpYi5yZXF1ZXN0LlJlcXVlc3QodXJsLCBqc29uLmR1bXBzKGRhdGEpLmVuY29kZSgndXRmLTgnKSwgaGVhZGVycykKKyAgICAgICAgcmVzcG9uc2UgPSB1cmxsaWIucmVxdWVzdC51cmxvcGVuKHJlcXVlc3QpCisgICAgICAgIHJldHVybiBqc29uLmxvYWRzKHJlc3BvbnNlLnJlYWQoKS5kZWNvZGUoJ3V0Zi04JykpCisKKyAgICBkZWYgdGVzdF9jcmVhdGVfaGFzaChzZWxmKToKKyAgICAgICAgIyBTaW1wbGUgdGVzdCB0aGF0IGhhc2hlcyBjYW4gYmUgY3JlYXRlZAorICAgICAgICB0YXNraGFzaCA9ICczNTc4OGVmY2I4ZGZiMGEwMjY1OWQ4MWNmMmJmZDY5NWZiMzBmYWY5JworICAgICAgICBvdXRoYXNoID0gJzI3NjVkNGE1ODg0YmU0OWIyODYwMTQ0NWMyNzYwYzVmMjFlN2U1YzBlZTJiN2UzZmNlOThmZDdlNTk3MDc5NmYnCisgICAgICAgIHVuaWhhc2ggPSAnZjQ2ZDNmYmI0MzliZDliOTIxMDk1ZGE2NTdhNGRlOTA2NTEwZDJjZCcKKworICAgICAgICBkID0gc2VsZi5zZW5kX2dldCgndjEvZXF1aXZhbGVudD9tZXRob2Q9VGVzdE1ldGhvZCZ0YXNraGFzaD0lcycgJSB0YXNraGFzaCkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoZCwgbXNnPSdGb3VuZCB1bmV4cGVjdGVkIHRhc2ssICVyJyAlIGQpCisKKyAgICAgICAgZCA9IHNlbGYuc2VuZF9wb3N0KCd2MS9lcXVpdmFsZW50JywgeworICAgICAgICAgICAgJ3Rhc2toYXNoJzogdGFza2hhc2gsCisgICAgICAgICAgICAnbWV0aG9kJzogJ1Rlc3RNZXRob2QnLAorICAgICAgICAgICAgJ291dGhhc2gnOiBvdXRoYXNoLAorICAgICAgICAgICAgJ3VuaWhhc2gnOiB1bmloYXNoLAorICAgICAgICAgICAgfSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkWyd1bmloYXNoJ10sIHVuaWhhc2gsICdTZXJ2ZXIgcmV0dXJuZWQgYmFkIHVuaWhhc2gnKQorCisgICAgZGVmIHRlc3RfY3JlYXRlX2VxdWl2YWxlbnQoc2VsZik6CisgICAgICAgICMgVGVzdHMgdGhhdCBhIHNlY29uZCByZXBvcnRlZCB0YXNrIHdpdGggdGhlIHNhbWUgb3V0aGFzaCB3aWxsIGJlCisgICAgICAgICMgYXNzaWduZWQgdGhlIHNhbWUgdW5paGFzaAorICAgICAgICB0YXNraGFzaCA9ICc1M2I4ZGNlNjcyY2I2ZDBjNzMxNzBiZTQzZjU0MDQ2MGJmYzM0N2I0JworICAgICAgICBvdXRoYXNoID0gJzVhOWNiMTY0OTYyNWYwYmY0MWZjNzc5MWI2MzVjZDljMmQ3MTE4YzdmMDIxYmE4N2RjZDAzZjcyYjY3Y2U3YTgnCisgICAgICAgIHVuaWhhc2ggPSAnZjM3OTE4Y2MwMmViNWE1MjBiMWFmZjg2ZmFhY2JjMGEzODEyNDY0NicKKyAgICAgICAgZCA9IHNlbGYuc2VuZF9wb3N0KCd2MS9lcXVpdmFsZW50JywgeworICAgICAgICAgICAgJ3Rhc2toYXNoJzogdGFza2hhc2gsCisgICAgICAgICAgICAnbWV0aG9kJzogJ1Rlc3RNZXRob2QnLAorICAgICAgICAgICAgJ291dGhhc2gnOiBvdXRoYXNoLAorICAgICAgICAgICAgJ3VuaWhhc2gnOiB1bmloYXNoLAorICAgICAgICAgICAgfSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkWyd1bmloYXNoJ10sIHVuaWhhc2gsICdTZXJ2ZXIgcmV0dXJuZWQgYmFkIHVuaWhhc2gnKQorCisgICAgICAgICMgUmVwb3J0IGEgZGlmZmVyZW50IHRhc2sgd2l0aCB0aGUgc2FtZSBvdXRoYXNoLiBUaGUgcmV0dXJuZWQgdW5paGFzaAorICAgICAgICAjIHNob3VsZCBtYXRjaCB0aGUgZmlyc3QgdGFzaworICAgICAgICB0YXNraGFzaDIgPSAnM2JmNmYxZTg5ZDI2MjA1YWVjOTBkYTA0ODU0ZmJkYmY3M2FmZTZiNCcKKyAgICAgICAgdW5paGFzaDIgPSAnYWYzNmIxOTkzMjBlNjExZmJiMTZmMWYyNzdkM2VlMWQ2MTljYTU4YicKKyAgICAgICAgZCA9IHNlbGYuc2VuZF9wb3N0KCd2MS9lcXVpdmFsZW50JywgeworICAgICAgICAgICAgJ3Rhc2toYXNoJzogdGFza2hhc2gyLAorICAgICAgICAgICAgJ21ldGhvZCc6ICdUZXN0TWV0aG9kJywKKyAgICAgICAgICAgICdvdXRoYXNoJzogb3V0aGFzaCwKKyAgICAgICAgICAgICd1bmloYXNoJzogdW5paGFzaDIsCisgICAgICAgICAgICB9KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRbJ3VuaWhhc2gnXSwgdW5paGFzaCwgJ1NlcnZlciByZXR1cm5lZCBiYWQgdW5paGFzaCcpCisKKyAgICBkZWYgdGVzdF9kdXBsaWNhdGVfdGFza2hhc2goc2VsZik6CisgICAgICAgICMgVGVzdHMgdGhhdCBkdXBsaWNhdGUgcmVwb3J0cyBvZiB0aGUgc2FtZSB0YXNraGFzaCB3aXRoIGRpZmZlcmVudAorICAgICAgICAjIG91dGhhc2ggJiB1bmloYXNoIGFsd2F5cyByZXR1cm4gdGhlIHVuaWhhc2ggZnJvbSB0aGUgZmlyc3QgcmVwb3J0ZWQKKyAgICAgICAgIyB0YXNraGFzaAorICAgICAgICB0YXNraGFzaCA9ICc4YWE5NmZjZmZiNTgzMWIzYzJjMGNiNzVmMDQzMWUzZjhiMjA1NTRhJworICAgICAgICBvdXRoYXNoID0gJ2FmZTI0MGE0Mzk5NTljZTg2ZjVlMzIyZjhjMjA4ZTFmZWRlZmVhOWU4MTNmMjE0MGM4MWFmODY2Y2M5ZWRmN2UnCisgICAgICAgIHVuaWhhc2ggPSAnMjE4ZTU3NTA5OTk4MTk3ZDU3MGUyYzk4NTEyZDAxMDU5ODVkZmZjOScKKyAgICAgICAgZCA9IHNlbGYuc2VuZF9wb3N0KCd2MS9lcXVpdmFsZW50JywgeworICAgICAgICAgICAgJ3Rhc2toYXNoJzogdGFza2hhc2gsCisgICAgICAgICAgICAnbWV0aG9kJzogJ1Rlc3RNZXRob2QnLAorICAgICAgICAgICAgJ291dGhhc2gnOiBvdXRoYXNoLAorICAgICAgICAgICAgJ3VuaWhhc2gnOiB1bmloYXNoLAorICAgICAgICAgICAgfSkKKworICAgICAgICBkID0gc2VsZi5zZW5kX2dldCgndjEvZXF1aXZhbGVudD9tZXRob2Q9VGVzdE1ldGhvZCZ0YXNraGFzaD0lcycgJSB0YXNraGFzaCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkWyd1bmloYXNoJ10sIHVuaWhhc2gpCisKKyAgICAgICAgb3V0aGFzaDIgPSAnMDkwNGE3ZmUzZGM3MTJkOWZkOGE3NGE2MTZkZGNhMmE4MjVhOGVlOTdhZGYwYmQzZmM4NjA4MmM3NjM5OTE0ZCcKKyAgICAgICAgdW5paGFzaDIgPSAnYWU5YTdkMjUyNzM1ZjBkYWZjZGIxMGUyZTAyNTYxY2EzYTQ3MzE0YycKKyAgICAgICAgZCA9IHNlbGYuc2VuZF9wb3N0KCd2MS9lcXVpdmFsZW50JywgeworICAgICAgICAgICAgJ3Rhc2toYXNoJzogdGFza2hhc2gsCisgICAgICAgICAgICAnbWV0aG9kJzogJ1Rlc3RNZXRob2QnLAorICAgICAgICAgICAgJ291dGhhc2gnOiBvdXRoYXNoMiwKKyAgICAgICAgICAgICd1bmloYXNoJzogdW5paGFzaDIKKyAgICAgICAgICAgIH0pCisKKyAgICAgICAgZCA9IHNlbGYuc2VuZF9nZXQoJ3YxL2VxdWl2YWxlbnQ/bWV0aG9kPVRlc3RNZXRob2QmdGFza2hhc2g9JXMnICUgdGFza2hhc2gpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZFsndW5paGFzaCddLCB1bmloYXNoKQorCisgICAgICAgIG91dGhhc2gzID0gJzc3NjIzYTU0OWI1YjFhMzFlMzczMmRmYThmZTYxZDdjZTVkNDRiMzM3MGYyNTNjNTM2MGUxMzZiODUyOTY3YjQnCisgICAgICAgIHVuaWhhc2gzID0gJzkyMTdhN2Q2Mzk4NTE4ZTVkYzAwMmVkNThmMmNiYmJjNzg2OTY2MDMnCisgICAgICAgIGQgPSBzZWxmLnNlbmRfcG9zdCgndjEvZXF1aXZhbGVudCcsIHsKKyAgICAgICAgICAgICd0YXNraGFzaCc6IHRhc2toYXNoLAorICAgICAgICAgICAgJ21ldGhvZCc6ICdUZXN0TWV0aG9kJywKKyAgICAgICAgICAgICdvdXRoYXNoJzogb3V0aGFzaDMsCisgICAgICAgICAgICAndW5paGFzaCc6IHVuaWhhc2gzCisgICAgICAgICAgICB9KQorCisgICAgICAgIGQgPSBzZWxmLnNlbmRfZ2V0KCd2MS9lcXVpdmFsZW50P21ldGhvZD1UZXN0TWV0aG9kJnRhc2toYXNoPSVzJyAlIHRhc2toYXNoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRbJ3VuaWhhc2gnXSwgdW5paGFzaCkKKworCmRpZmYgLS1naXQgYS9wb2t5L2RvY3VtZW50YXRpb24vTWFrZWZpbGUgYi9wb2t5L2RvY3VtZW50YXRpb24vTWFrZWZpbGUKaW5kZXggMDkzNDIyZi4uMTQ4MGUxNCAxMDA2NDQKLS0tIGEvcG9reS9kb2N1bWVudGF0aW9uL01ha2VmaWxlCisrKyBiL3Bva3kvZG9jdW1lbnRhdGlvbi9NYWtlZmlsZQpAQCAtMjY5LDcgKzI2OSw4IEBACiAJZmlndXJlcy9zZGstZGV2dG9vbC1hZGQtZmxvdy5wbmcgZmlndXJlcy9zZGstaW5zdGFsbGVkLWV4dGVuc2libGUtc2RrLWRpcmVjdG9yeS5wbmcgXAogCWZpZ3VyZXMvc2RrLWRldnRvb2wtbW9kaWZ5LWZsb3cucG5nIGZpZ3VyZXMvc2RrLWVjbGlwc2UtZGV2LWZsb3cucG5nIFwKIAlmaWd1cmVzL3Nkay1kZXZ0b29sLXVwZ3JhZGUtZmxvdy5wbmcgZmlndXJlcy9iaXRiYWtlLWJ1aWxkLWZsb3cucG5nIGZpZ3VyZXMvYnlwcXMtdGl0bGUucG5nIFwKLQlmaWd1cmVzL292ZXJ2aWV3LW1hbnVhbC10aXRsZS5wbmcgZmlndXJlcy9zZGstYXV0b3Rvb2xzLWZsb3cucG5nIGZpZ3VyZXMvc2RrLW1ha2VmaWxlLWZsb3cucG5nCisJZmlndXJlcy9vdmVydmlldy1tYW51YWwtdGl0bGUucG5nIGZpZ3VyZXMvc2RrLWF1dG90b29scy1mbG93LnBuZyBmaWd1cmVzL3Nkay1tYWtlZmlsZS1mbG93LnBuZyBcCisJZmlndXJlcy9iYl9tdWx0aWNvbmZpZ19maWxlcy5wbmcgZmlndXJlcy9iaXRiYWtlLXRpdGxlLnBuZwogCWVuZGlmCiAKIE1BTlVBTFMgPSAkKERPQykvJChET0MpLmh0bWwKZGlmZiAtLWdpdCBhL3Bva3kvZG9jdW1lbnRhdGlvbi9icmllZi15b2N0b3Byb2plY3Rxcy9icmllZi15b2N0b3Byb2plY3Rxcy54bWwgYi9wb2t5L2RvY3VtZW50YXRpb24vYnJpZWYteW9jdG9wcm9qZWN0cXMvYnJpZWYteW9jdG9wcm9qZWN0cXMueG1sCmluZGV4IDVkYTAzYTguLjQyMTQxMmUgMTAwNjQ0Ci0tLSBhL3Bva3kvZG9jdW1lbnRhdGlvbi9icmllZi15b2N0b3Byb2plY3Rxcy9icmllZi15b2N0b3Byb2plY3Rxcy54bWwKKysrIGIvcG9reS9kb2N1bWVudGF0aW9uL2JyaWVmLXlvY3RvcHJvamVjdHFzL2JyaWVmLXlvY3RvcHJvamVjdHFzLnhtbApAQCAtMTMxLDcgKzEzMSw3IEBACiAgICAgICAgICAgICAgICAgc2VjdGlvbiBpbiB0aGUgWW9jdG8gUHJvamVjdCBSZWZlcmVuY2UgTWFudWFsLgogICAgICAgICAgICAgPC9ub3RlPgogICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgotICAgICAkIHN1ZG8gYXB0LWdldCBpbnN0YWxsICZVQlVOVFVfSE9TVF9QQUNLQUdFU19FU1NFTlRJQUw7IGxpYnNkbDEuMi1kZXYgeHRlcm0KKyAgICAgJCBzdWRvIGFwdC1nZXQgaW5zdGFsbCAmVUJVTlRVX0hPU1RfUEFDS0FHRVNfRVNTRU5USUFMOwogICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgogICAgICAgICA8L3BhcmE+CiAgICAgPC9zZWN0aW9uPgpAQCAtMTQ4LDExICsxNDgsMTEgQEAKICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KICAgICAgJCBnaXQgY2xvbmUgZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvcG9reQogICAgICBDbG9uaW5nIGludG8gJ3Bva3knLi4uCi0gICAgIHJlbW90ZTogQ291bnRpbmcgb2JqZWN0czogNDI4NjMyLCBkb25lLgotICAgICByZW1vdGU6IENvbXByZXNzaW5nIG9iamVjdHM6IDEwMCUgKDEwMTIwMy8xMDEyMDMpLCBkb25lLgotICAgICByZW1vdGU6IFRvdGFsIDQyODYzMiAoZGVsdGEgMzIwNDYzKSwgcmV1c2VkIDQyODUzMiAoZGVsdGEgMzIwMzYzKQotICAgICBSZWNlaXZpbmcgb2JqZWN0czogMTAwJSAoNDI4NjMyLzQyODYzMiksIDE1My4wMSBNaUIgfCAxMi40MCBNaUIvcywgZG9uZS4KLSAgICAgUmVzb2x2aW5nIGRlbHRhczogMTAwJSAoMzIwNDYzLzMyMDQ2MyksIGRvbmUuCisgICAgIHJlbW90ZTogQ291bnRpbmcgb2JqZWN0czogNDMyMTYwLCBkb25lLgorICAgICByZW1vdGU6IENvbXByZXNzaW5nIG9iamVjdHM6IDEwMCUgKDEwMjA1Ni8xMDIwNTYpLCBkb25lLgorICAgICByZW1vdGU6IFRvdGFsIDQzMjE2MCAoZGVsdGEgMzIzMTE2KSwgcmV1c2VkIDQzMjAzNyAoZGVsdGEgMzIzMDAwKQorICAgICBSZWNlaXZpbmcgb2JqZWN0czogMTAwJSAoNDMyMTYwLzQzMjE2MCksIDE1My44MSBNaUIgfCA4LjU0IE1pQi9zLCBkb25lLgorICAgICBSZXNvbHZpbmcgZGVsdGFzOiAxMDAlICgzMjMxMTYvMzIzMTE2KSwgZG9uZS4KICAgICAgQ2hlY2tpbmcgY29ubmVjdGl2aXR5Li4uIGRvbmUuCiAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CiAgICAgICAgICAgICBNb3ZlIHRvIHRoZSA8ZmlsZW5hbWU+cG9reTwvZmlsZW5hbWU+IGRpcmVjdG9yeSBhbmQgdGFrZSBhIGxvb2sKQEAgLTE3NCw2ICsxNzQsNyBAQAogICAgICB5b2N0by0yLjUuMgogICAgICB5b2N0by0yLjYKICAgICAgeW9jdG8tMi42LjEKKyAgICAgeW9jdG8tMi43CiAgICAgIHlvY3RvXzEuNV9NNS5yYzgKICAgICAgICAgICAgIDwvbGl0ZXJhbGxheW91dD4KICAgICAgICAgICAgIEZvciB0aGlzIGV4YW1wbGUsIGNoZWNrIG91dCB0aGUgYnJhbmNoIGJhc2VkIG9uIHRoZQpkaWZmIC0tZ2l0IGEvcG9reS9kb2N1bWVudGF0aW9uL2JzcC1ndWlkZS9ic3AtZ3VpZGUueG1sIGIvcG9reS9kb2N1bWVudGF0aW9uL2JzcC1ndWlkZS9ic3AtZ3VpZGUueG1sCmluZGV4IDBkNWI2YjEuLmY1NTllMDggMTAwNjQ0Ci0tLSBhL3Bva3kvZG9jdW1lbnRhdGlvbi9ic3AtZ3VpZGUvYnNwLWd1aWRlLnhtbAorKysgYi9wb2t5L2RvY3VtZW50YXRpb24vYnNwLWd1aWRlL2JzcC1ndWlkZS54bWwKQEAgLTEyNyw5ICsxMjcsOSBAQAogICAgICAgICAgICAgICAgIDxyZXZyZW1hcms+UmVsZWFzZWQgd2l0aCB0aGUgWW9jdG8gUHJvamVjdCAyLjYgUmVsZWFzZS48L3JldnJlbWFyaz4KICAgICAgICAgICAgIDwvcmV2aXNpb24+CiAgICAgICAgICAgICA8cmV2aXNpb24+Ci0gICAgICAgICAgICAgICAgPHJldm51bWJlcj4yLjYuMTwvcmV2bnVtYmVyPgorICAgICAgICAgICAgICAgIDxyZXZudW1iZXI+Mi43PC9yZXZudW1iZXI+CiAgICAgICAgICAgICAgICAgPGRhdGU+JlJFTF9NT05USF9ZRUFSOzwvZGF0ZT4KLSAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi42LjEgUmVsZWFzZS48L3JldnJlbWFyaz4KKyAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi43IFJlbGVhc2UuPC9yZXZyZW1hcms+CiAgICAgICAgICAgICA8L3JldmlzaW9uPgogICAgICAgICA8L3Jldmhpc3Rvcnk+CiAKZGlmZiAtLWdpdCBhL3Bva3kvZG9jdW1lbnRhdGlvbi9kZXYtbWFudWFsL2Rldi1tYW51YWwtY29tbW9uLXRhc2tzLnhtbCBiL3Bva3kvZG9jdW1lbnRhdGlvbi9kZXYtbWFudWFsL2Rldi1tYW51YWwtY29tbW9uLXRhc2tzLnhtbAppbmRleCBjNzVlNzE4Li44OTNlZjdiIDEwMDY0NAotLS0gYS9wb2t5L2RvY3VtZW50YXRpb24vZGV2LW1hbnVhbC9kZXYtbWFudWFsLWNvbW1vbi10YXNrcy54bWwKKysrIGIvcG9reS9kb2N1bWVudGF0aW9uL2Rldi1tYW51YWwvZGV2LW1hbnVhbC1jb21tb24tdGFza3MueG1sCkBAIC01MTE2LDE1ICs1MTE2LDE1IEBACiAgICAgICAgICAgICBTbywgY29tbWFuZHMgc3VjaCBhcyB0aGUgZm9sbG93aW5nIGFyZSB1c2VmdWwgd2hlbiBleHBsb3JpbmcgdGhlIGRhdGEKICAgICAgICAgICAgIHN0b3JlIGFuZCBydW5uaW5nIGZ1bmN0aW9uczoKICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KLSAgICAgcHlkZXZzaGVsbD4gZC5nZXRWYXIoIlNUQUdJTkdfRElSIiwgVHJ1ZSkKKyAgICAgcHlkZXZzaGVsbD4gZC5nZXRWYXIoIlNUQUdJTkdfRElSIikKICAgICAgJy9tZWRpYS9idWlsZDEvcG9reS9idWlsZC90bXAvc3lzcm9vdHMnCi0gICAgIHB5ZGV2c2hlbGw+IGQuZ2V0VmFyKCJTVEFHSU5HX0RJUiIsIEZhbHNlKQorICAgICBweWRldnNoZWxsPiBkLmdldFZhcigiU1RBR0lOR19ESVIiKQogICAgICAnJHtUTVBESVJ9L3N5c3Jvb3RzJwogICAgICBweWRldnNoZWxsPiBkLnNldFZhcigiRk9PIiwgImJhciIpCi0gICAgIHB5ZGV2c2hlbGw+IGQuZ2V0VmFyKCJGT08iLCBUcnVlKQorICAgICBweWRldnNoZWxsPiBkLmdldFZhcigiRk9PIikKICAgICAgJ2JhcicKICAgICAgcHlkZXZzaGVsbD4gZC5kZWxWYXIoIkZPTyIpCi0gICAgIHB5ZGV2c2hlbGw+IGQuZ2V0VmFyKCJGT08iLCBUcnVlKQorICAgICBweWRldnNoZWxsPiBkLmdldFZhcigiRk9PIikKICAgICAgcHlkZXZzaGVsbD4gYmIuYnVpbGQuZXhlY19mdW5jKCJkb191bnBhY2siLCBkKQogICAgICBweWRldnNoZWxsPgogICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgpAQCAtNjMyMywxMCArNjMyMywxODEgQEAKICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CiAgICAgICAgICAgICA8L3BhcmE+CiAgICAgICAgIDwvc2VjdGlvbj4KKworICAgICAgICA8c2VjdGlvbiBpZD0icmVwbGljYXRpbmctYS1idWlsZC1vZmZsaW5lIj4KKyAgICAgICAgICAgIDx0aXRsZT5SZXBsaWNhdGluZyBhIEJ1aWxkIE9mZmxpbmU8L3RpdGxlPgorCisgICAgICAgICAgICA8cGFyYT4KKyAgICAgICAgICAgICAgICBJdCBjYW4gYmUgdXNlZnVsIHRvIHRha2UgYSAic25hcHNob3QiIG9mIHVwc3RyZWFtIHNvdXJjZXMKKyAgICAgICAgICAgICAgICB1c2VkIGluIGEgYnVpbGQgYW5kIHRoZW4gdXNlIHRoYXQgInNuYXBzaG90IiBsYXRlciB0bworICAgICAgICAgICAgICAgIHJlcGxpY2F0ZSB0aGUgYnVpbGQgb2ZmbGluZS4KKyAgICAgICAgICAgICAgICBUbyBkbyBzbywgeW91IG5lZWQgdG8gZmlyc3QgcHJlcGFyZSBhbmQgcG9wdWxhdGUgeW91ciBkb3dubG9hZHMKKyAgICAgICAgICAgICAgICBkaXJlY3RvcnkgeW91ciAic25hcHNob3QiIG9mIGZpbGVzLgorICAgICAgICAgICAgICAgIE9uY2UgeW91ciBkb3dubG9hZHMgZGlyZWN0b3J5IGlzIHJlYWR5LCB5b3UgY2FuIHVzZSBpdCBhdAorICAgICAgICAgICAgICAgIGFueSB0aW1lIGFuZCBmcm9tIGFueSBtYWNoaW5lIHRvIHJlcGxpY2F0ZSB5b3VyIGJ1aWxkLgorICAgICAgICAgICAgPC9wYXJhPgorCisgICAgICAgICAgICA8cGFyYT4KKyAgICAgICAgICAgICAgICBGb2xsb3cgdGhlc2Ugc3RlcHMgdG8gcG9wdWxhdGUgeW91ciBEb3dubG9hZHMgZGlyZWN0b3J5OgorICAgICAgICAgICAgICAgIDxvcmRlcmVkbGlzdD4KKyAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgorICAgICAgICAgICAgICAgICAgICAgICAgPGVtcGhhc2lzPkNyZWF0ZSBhIENsZWFuIERvd25sb2FkcyBEaXJlY3Rvcnk6PC9lbXBoYXNpcz4KKyAgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0IHdpdGggYW4gZW1wdHkgZG93bmxvYWRzIGRpcmVjdG9yeQorICAgICAgICAgICAgICAgICAgICAgICAgKDx1bGluayB1cmw9JyZZT0NUT19ET0NTX1JFRl9VUkw7I3Zhci1ETF9ESVInPjxmaWxlbmFtZT5ETF9ESVI8L2ZpbGVuYW1lPjwvdWxpbms+KS4KKyAgICAgICAgICAgICAgICAgICAgICAgIFlvdSBzdGFydCB3aXRoIGFuIGVtcHR5IGRvd25sb2FkcyBkaXJlY3RvcnkgYnkgZWl0aGVyCisgICAgICAgICAgICAgICAgICAgICAgICByZW1vdmluZyB0aGUgZmlsZXMgaW4gdGhlIGV4aXN0aW5nIGRpcmVjdG9yeSBvciBieQorICAgICAgICAgICAgICAgICAgICAgICAgc2V0dGluZworICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPkRMX0RJUjwvZmlsZW5hbWU+IHRvIHBvaW50IHRvIGVpdGhlciBhbgorICAgICAgICAgICAgICAgICAgICAgICAgZW1wdHkgbG9jYXRpb24gb3Igb25lIHRoYXQgZG9lcyBub3QgeWV0IGV4aXN0LgorICAgICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CisgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxlbXBoYXNpcz5HZW5lcmF0ZSBUYXJiYWxscyBvZiB0aGUgU291cmNlIEdpdCBSZXBvc2l0b3JpZXM6PC9lbXBoYXNpcz4KKyAgICAgICAgICAgICAgICAgICAgICAgIEVkaXQgeW91ciA8ZmlsZW5hbWU+bG9jYWwuY29uZjwvZmlsZW5hbWU+IGNvbmZpZ3VyYXRpb24KKyAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUgYXMgZm9sbG93czoKKyAgICAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KKyAgICAgRExfRElSID0gIi9ob21lLzxyZXBsYWNlYWJsZT55b3VyLWRvd25sb2FkLWRpcjwvcmVwbGFjZWFibGU+LyIKKyAgICAgQkJfR0VORVJBVEVfTUlSUk9SX1RBUkJBTExTID0gIjEiCisgICAgICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CisgICAgICAgICAgICAgICAgICAgICAgICBEdXJpbmcgdGhlIGZldGNoIHByb2Nlc3MgaW4gdGhlIG5leHQgc3RlcCwgQml0QmFrZQorICAgICAgICAgICAgICAgICAgICAgICAgZ2F0aGVycyB0aGUgc291cmNlIGZpbGVzIGFuZCBjcmVhdGVzIHRhcmJhbGxzIGluCisgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGlyZWN0b3J5IHBvaW50ZWQgdG8gYnkgPGZpbGVuYW1lPkRMX0RJUjwvZmlsZW5hbWU+LgorICAgICAgICAgICAgICAgICAgICAgICAgU2VlIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgPHVsaW5rIHVybD0nJllPQ1RPX0RPQ1NfUkVGX1VSTDsjdmFyLUJCX0dFTkVSQVRFX01JUlJPUl9UQVJCQUxMUyc+PGZpbGVuYW1lPkJCX0dFTkVSQVRFX01JUlJPUl9UQVJCQUxMUzwvZmlsZW5hbWU+PC91bGluaz4KKyAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlIGZvciBtb3JlIGluZm9ybWF0aW9uLgorICAgICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CisgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxlbXBoYXNpcz5Qb3B1bGF0ZSBZb3VyIERvd25sb2FkcyBEaXJlY3RvcnkgV2l0aG91dCBCdWlsZGluZzo8L2VtcGhhc2lzPgorICAgICAgICAgICAgICAgICAgICAgICAgVXNlIEJpdEJha2UgdG8gZmV0Y2ggeW91ciBzb3VyY2VzIGJ1dCBpbmhpYml0IHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGQ6CisgICAgICAgICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+CisgICAgICQgYml0YmFrZSA8cmVwbGFjZWFibGU+dGFyZ2V0PC9yZXBsYWNlYWJsZT4gLS1ydW5vbmx5PWZldGNoCisgICAgICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CisgICAgICAgICAgICAgICAgICAgICAgICBUaGUgZG93bmxvYWRzIGRpcmVjdG9yeSAoaS5lLgorICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPiR7RExfRElSfTwvZmlsZW5hbWU+KSBub3cgaGFzIGEgInNuYXBzaG90IiBvZgorICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHNvdXJjZSBmaWxlcyBpbiB0aGUgZm9ybSBvZiB0YXJiYWxscywgd2hpY2ggY2FuCisgICAgICAgICAgICAgICAgICAgICAgICBiZSB1c2VkIGZvciB0aGUgYnVpbGQuCisgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KKyAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgorICAgICAgICAgICAgICAgICAgICAgICAgPGVtcGhhc2lzPk9wdGlvbmFsbHkgUmVtb3ZlIEFueSBHaXQgb3Igb3RoZXIgU0NNIFN1YmRpcmVjdG9yaWVzIEZyb20gdGhlIERvd25sb2FkcyBEaXJlY3Rvcnk6PC9lbXBoYXNpcz4KKyAgICAgICAgICAgICAgICAgICAgICAgIElmIHlvdSB3YW50LCB5b3UgY2FuIGNsZWFuIHVwIHlvdXIgZG93bmxvYWRzIGRpcmVjdG9yeQorICAgICAgICAgICAgICAgICAgICAgICAgYnkgcmVtb3ZpbmcgYW55IEdpdCBvciBvdGhlciBTb3VyY2UgQ29udHJvbCBNYW5hZ2VtZW50CisgICAgICAgICAgICAgICAgICAgICAgICAoU0NNKSBzdWJkaXJlY3RvcmllcyBzdWNoIGFzCisgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+JHtETF9ESVJ9L2dpdDIvKjwvZmlsZW5hbWU+LgorICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHRhcmJhbGxzIGFscmVhZHkgY29udGFpbiB0aGVzZSBzdWJkaXJlY3Rvcmllcy4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgorICAgICAgICAgICAgICAgIDwvb3JkZXJlZGxpc3Q+CisgICAgICAgICAgICA8L3BhcmE+CisKKyAgICAgICAgICAgIDxwYXJhPgorICAgICAgICAgICAgICAgIE9uY2UgeW91ciBkb3dubG9hZHMgZGlyZWN0b3J5IGhhcyBldmVyeXRoaW5nIGl0IG5lZWRzIHJlZ2FyZGluZworICAgICAgICAgICAgICAgIHNvdXJjZSBmaWxlcywgeW91IGNhbiBjcmVhdGUgeW91ciAib3duLW1pcnJvciIgYW5kIGJ1aWxkCisgICAgICAgICAgICAgICAgeW91ciB0YXJnZXQuCisgICAgICAgICAgICAgICAgVW5kZXJzdGFuZCB0aGF0IHlvdSBjYW4gdXNlIHRoZSBmaWxlcyB0byBidWlsZCB0aGUgdGFyZ2V0CisgICAgICAgICAgICAgICAgb2ZmbGluZSBmcm9tIGFueSBtYWNoaW5lIGFuZCBhdCBhbnkgdGltZS4KKyAgICAgICAgICAgIDwvcGFyYT4KKworICAgICAgICAgICAgPHBhcmE+CisgICAgICAgICAgICAgICAgRm9sbG93IHRoZXNlIHN0ZXBzIHRvIGJ1aWxkIHlvdXIgdGFyZ2V0IHVzaW5nIHRoZSBmaWxlcyBpbiB0aGUKKyAgICAgICAgICAgICAgICBkb3dubG9hZHMgZGlyZWN0b3J5OgorICAgICAgICAgICAgICAgIDxvcmRlcmVkbGlzdD4KKyAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgorICAgICAgICAgICAgICAgICAgICAgICAgPGVtcGhhc2lzPlVzaW5nIExvY2FsIEZpbGVzIE9ubHk6PC9lbXBoYXNpcz4KKyAgICAgICAgICAgICAgICAgICAgICAgIEluc2lkZSB5b3VyIDxmaWxlbmFtZT5sb2NhbC5jb25mPC9maWxlbmFtZT4gZmlsZSwgYWRkCisgICAgICAgICAgICAgICAgICAgICAgICB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgIDx1bGluayB1cmw9JyZZT0NUT19ET0NTX1JFRl9VUkw7I3Zhci1TT1VSQ0VfTUlSUk9SX1VSTCc+PGZpbGVuYW1lPlNPVVJDRV9NSVJST1JfVVJMPC9maWxlbmFtZT48L3VsaW5rPgorICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUsCisgICAgICAgICAgICAgICAgICAgICAgICBpbmhlcml0IHRoZSA8dWxpbmsgdXJsPScmWU9DVE9fRE9DU19SRUZfVVJMOyNyZWYtY2xhc3Nlcy1vd24tbWlycm9ycyc+PGZpbGVuYW1lPm93bi1taXJyb3JzPC9maWxlbmFtZT48L3VsaW5rPgorICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3MsIGFuZCB1c2UgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICA8dWxpbmsgdXJsPScmWU9DVE9fRE9DU19CQl9VUkw7I3Zhci1iYi1CQl9OT19ORVRXT1JLJz48ZmlsZW5hbWU+QkJfTk9fTkVUV09SSzwvZmlsZW5hbWU+PC91bGluaz4KKyAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlIHRvIHlvdXIgPGZpbGVuYW1lPmxvY2FsLmNvbmY8L2ZpbGVuYW1lPi4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KKyAgICAgU09VUkNFX01JUlJPUl9VUkwgPz0gImZpbGU6Ly8vaG9tZS88cmVwbGFjZWFibGU+eW91ci1kb3dubG9hZC1kaXI8L3JlcGxhY2VhYmxlPi8iCisgICAgIElOSEVSSVQgKz0gIm93bi1taXJyb3JzIgorICAgICBCQl9OT19ORVRXT1JLID0gIjEiCisgICAgICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CisgICAgICAgICAgICAgICAgICAgICAgICBUaGUgPGZpbGVuYW1lPlNPVVJDRV9NSVJST1JfVVJMPC9maWxlbmFtZT4gYW5kCisgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+b3duLW1pcnJvcjwvZmlsZW5hbWU+IGNsYXNzIHNldCB1cCB0aGUgc3lzdGVtCisgICAgICAgICAgICAgICAgICAgICAgICB0byB1c2UgdGhlIGRvd25sb2FkcyBkaXJlY3RvcnkgYXMgeW91ciAib3duIG1pcnJvciIuCisgICAgICAgICAgICAgICAgICAgICAgICBVc2luZyB0aGUgPGZpbGVuYW1lPkJCX05PX05FVFdPUks8L2ZpbGVuYW1lPgorICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUgbWFrZXMgc3VyZSB0aGF0IEJpdEJha2UncyBmZXRjaGluZyBwcm9jZXNzCisgICAgICAgICAgICAgICAgICAgICAgICBpbiBzdGVwIDMgc3RheXMgbG9jYWwsIHdoaWNoIG1lYW5zIGZpbGVzIGZyb20KKyAgICAgICAgICAgICAgICAgICAgICAgIHlvdXIgIm93bi1taXJyb3IiIGFyZSB1c2VkLgorICAgICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CisgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxlbXBoYXNpcz5TdGFydCBXaXRoIGEgQ2xlYW4gQnVpbGQ6PC9lbXBoYXNpcz4KKyAgICAgICAgICAgICAgICAgICAgICAgIFlvdSBjYW4gc3RhcnQgd2l0aCBhIGNsZWFuIGJ1aWxkIGJ5IHJlbW92aW5nIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPiR7PC9maWxlbmFtZT48dWxpbmsgdXJsPScmWU9DVE9fRE9DU19SRUZfVVJMOyN2YXItVE1QRElSJz48ZmlsZW5hbWU+VE1QRElSPC9maWxlbmFtZT48L3VsaW5rPjxmaWxlbmFtZT59PC9maWxlbmFtZT4KKyAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdG9yeSBvciB1c2luZyBhIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgPHVsaW5rIHVybD0nJllPQ1RPX0RPQ1NfUkVGX1VSTDsjYnVpbGQtZGlyZWN0b3J5Jz5CdWlsZCBEaXJlY3Rvcnk8L3VsaW5rPi4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgorICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+CisgICAgICAgICAgICAgICAgICAgICAgICA8ZW1waGFzaXM+QnVpbGQgWW91ciBUYXJnZXQ6PC9lbXBoYXNpcz4KKyAgICAgICAgICAgICAgICAgICAgICAgIFVzZSBCaXRCYWtlIHRvIGJ1aWxkIHlvdXIgdGFyZ2V0OgorICAgICAgICAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgorICAgICAkIGJpdGJha2UgPHJlcGxhY2VhYmxlPnRhcmdldDwvcmVwbGFjZWFibGU+CisgICAgICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CisgICAgICAgICAgICAgICAgICAgICAgICBUaGUgYnVpbGQgY29tcGxldGVzIHVzaW5nIHRoZSBrbm93biBsb2NhbCAic25hcHNob3QiIG9mCisgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2UgZmlsZXMgZnJvbSB5b3VyIG1pcnJvci4KKyAgICAgICAgICAgICAgICAgICAgICAgIFRoZSByZXN1bHRpbmcgdGFyYmFsbHMgZm9yIHlvdXIgInNuYXBzaG90IiBvZiBzb3VyY2UKKyAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzIGFyZSBpbiB0aGUgZG93bmxvYWRzIGRpcmVjdG9yeS4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxub3RlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXJhPlRoZSBvZmZsaW5lIGJ1aWxkIGRvZXMgbm90IHdvcmsgaWYgcmVjaXBlcworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dGVtcHQgdG8gZmluZCB0aGUgbGF0ZXN0IHZlcnNpb24gb2Ygc29mdHdhcmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBzZXR0aW5nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsaW5rIHVybD0nJllPQ1RPX0RPQ1NfUkVGX1VSTDsjdmFyLVNSQ1JFVic+PGZpbGVuYW1lPlNSQ1JFVjwvZmlsZW5hbWU+PC91bGluaz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT4kezwvZmlsZW5hbWU+PHVsaW5rIHVybD0nJllPQ1RPX0RPQ1NfUkVGX1VSTDsjdmFyLUFVVE9SRVYnPjxmaWxlbmFtZT5BVVRPUkVWPC9maWxlbmFtZT48L3VsaW5rPjxmaWxlbmFtZT59PC9maWxlbmFtZT46CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgorICAgICBTUkNSRVYgPSAiJHtBVVRPUkVWfSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2hlbiBhIHJlY2lwZSBzZXRzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPlNSQ1JFVjwvZmlsZW5hbWU+IHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPiR7QVVUT1JFVn08L2ZpbGVuYW1lPiwgdGhlIGJ1aWxkIHN5c3RlbQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VzIHRoZSBuZXR3b3JrIGluIGFuIGF0dGVtcHQgdG8gZGV0ZXJtaW5lIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhdGVzdCB2ZXJzaW9uIG9mIHNvZnR3YXJlIGZyb20gdGhlIFNDTS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBpY2FsbHksIHJlY2lwZXMgdGhhdCB1c2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+QVVUT1JFVjwvZmlsZW5hbWU+IGFyZSBjdXN0b20gb3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZmllZCByZWNpcGVzLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlY2lwZXMgdGhhdCByZXNpZGUgaW4gcHVibGljIHJlcG9zaXRvcmllcworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzdWFsbHkgZG8gbm90IHVzZSA8ZmlsZW5hbWU+QVVUT1JFVjwvZmlsZW5hbWU+LgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT4KKworICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXJhPklmIHlvdSBkbyBoYXZlIHJlY2lwZXMgdGhhdCB1c2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+QVVUT1JFVjwvZmlsZW5hbWU+LCB5b3UgY2FuIHRha2Ugc3RlcHMgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGlsbCB1c2UgdGhlIHJlY2lwZXMgaW4gYW4gb2ZmbGluZSBidWlsZC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBEbyB0aGUgZm9sbG93aW5nOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3JkZXJlZGxpc3Q+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVXNlIGEgY29uZmlndXJhdGlvbiBnZW5lcmF0ZWQgYnkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGluZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J21haW50YWluaW5nLWJ1aWxkLW91dHB1dC1xdWFsaXR5Jz5idWlsZCBoaXN0b3J5PC9saW5rPi4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVc2UgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPmJ1aWxkaGlzdG9yeS1jb2xsZWN0LXNyY3JldnM8L2ZpbGVuYW1lPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQgdG8gY29sbGVjdCB0aGUgc3RvcmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPlNSQ1JFVjwvZmlsZW5hbWU+IHZhbHVlcyBmcm9tCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGJ1aWxkJ3MgaGlzdG9yeS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBjb2xsZWN0aW5nIHRoZXNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzLCBzZWUgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjxsaW5rIGxpbmtlbmQ9J2J1aWxkLWhpc3RvcnktcGFja2FnZS1pbmZvcm1hdGlvbic+QnVpbGQgSGlzdG9yeSBQYWNrYWdlIEluZm9ybWF0aW9uPC9saW5rPiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWN0aW9uLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uY2UgeW91IGhhdmUgdGhlIGNvcnJlY3Qgc291cmNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV2aXNpb25zLCB5b3UgY2FuIG1vZGlmeSB0aG9zZSByZWNpcGVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gdG8gc2V0IDxmaWxlbmFtZT5TUkNSRVY8L2ZpbGVuYW1lPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHNwZWNpZmljIHZlcnNpb25zIG9mIHRoZSBzb2Z0d2FyZS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcmRlcmVkbGlzdD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+CisgICAgICAgICAgICAgICAgICAgICAgICA8L25vdGU+CisgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KKyAgICAgICAgICAgICAgICA8L29yZGVyZWRsaXN0PgorICAgICAgICAgICAgPC9wYXJhPgorICAgICAgICA8L3NlY3Rpb24+CiAgICAgPC9zZWN0aW9uPgogCi0KLQogICAgIDxzZWN0aW9uIGlkPSdzcGVlZGluZy11cC1hLWJ1aWxkJz4KICAgICAgICAgPHRpdGxlPlNwZWVkaW5nIFVwIGEgQnVpbGQ8L3RpdGxlPgogCkBAIC02ODkyLDggKzcwNjMsOCBAQAogICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgogICAgICBNQUNISU5FID0gInFlbXV4ODYtNjQiCiAgICAgIERFRkFVTFRUVU5FID0gIng4Ni02NC14MzIiCi0gICAgIGJhc2VsaWIgPSAiJHtAZC5nZXRWYXIoJ0JBU0VfTElCX3R1bmUtJyArIChkLmdldFZhcignREVGQVVMVFRVTkUnLCBUcnVlKSBcCi0gICAgICAgIG9yICdJTlZBTElEJyksIFRydWUpIG9yICdsaWInfSIKKyAgICAgYmFzZWxpYiA9ICIke0BkLmdldFZhcignQkFTRV9MSUJfdHVuZS0nICsgKGQuZ2V0VmFyKCdERUZBVUxUVFVORScpIFwKKyAgICAgICAgb3IgJ0lOVkFMSUQnKSkgb3IgJ2xpYid9IgogICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgogICAgICAgICAgICAgT25jZSB5b3UgaGF2ZSBzZXQgdXAgeW91ciBjb25maWd1cmF0aW9uIGZpbGUsIHVzZSBCaXRCYWtlIHRvCiAgICAgICAgICAgICBidWlsZCBhbiBpbWFnZSB0aGF0IHN1cHBvcnRzIHRoZSB4MzIgcHNBQkkuCmRpZmYgLS1naXQgYS9wb2t5L2RvY3VtZW50YXRpb24vZGV2LW1hbnVhbC9kZXYtbWFudWFsLXFlbXUueG1sIGIvcG9reS9kb2N1bWVudGF0aW9uL2Rldi1tYW51YWwvZGV2LW1hbnVhbC1xZW11LnhtbAppbmRleCA0ZTdiNWRlLi5mNWEwZDY0IDEwMDY0NAotLS0gYS9wb2t5L2RvY3VtZW50YXRpb24vZGV2LW1hbnVhbC9kZXYtbWFudWFsLXFlbXUueG1sCisrKyBiL3Bva3kvZG9jdW1lbnRhdGlvbi9kZXYtbWFudWFsL2Rldi1tYW51YWwtcWVtdS54bWwKQEAgLTU5MCw2ICs1OTAsOSBAQAogICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+bm9ncmFwaGljPC9maWxlbmFtZT46CiAgICAgICAgICAgICAgICAgICAgIERpc2FibGVzIHRoZSB2aWRlbyBjb25zb2xlLCB3aGljaCBzZXRzIHRoZSBjb25zb2xlIHRvCiAgICAgICAgICAgICAgICAgICAgICJ0dHlzMCIuCisgICAgICAgICAgICAgICAgICAgIFRoaXMgb3B0aW9uIGlzIHVzZWZ1bCB3aGVuIHlvdSBoYXZlIGxvZ2dlZCBpbnRvIGEgc2VydmVyCisgICAgICAgICAgICAgICAgICAgIGFuZCB5b3UgZG8gbm90IHdhbnQgdG8gZGlzYWJsZSBmb3J3YXJkaW5nIGZyb20gdGhlCisgICAgICAgICAgICAgICAgICAgIFggV2luZG93IFN5c3RlbSAoWDExKSB0byB5b3VyIHdvcmtzdGF0aW9uIG9yIGxhcHRvcC4KICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgogICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+c2VyaWFsPC9maWxlbmFtZT46CmRpZmYgLS1naXQgYS9wb2t5L2RvY3VtZW50YXRpb24vZGV2LW1hbnVhbC9kZXYtbWFudWFsLXN0YXJ0LnhtbCBiL3Bva3kvZG9jdW1lbnRhdGlvbi9kZXYtbWFudWFsL2Rldi1tYW51YWwtc3RhcnQueG1sCmluZGV4IGQzN2MwMzAuLjZlYzVjM2MgMTAwNjQ0Ci0tLSBhL3Bva3kvZG9jdW1lbnRhdGlvbi9kZXYtbWFudWFsL2Rldi1tYW51YWwtc3RhcnQueG1sCisrKyBiL3Bva3kvZG9jdW1lbnRhdGlvbi9kZXYtbWFudWFsL2Rldi1tYW51YWwtc3RhcnQueG1sCkBAIC00NCw3ICs0NCw3IEBACiAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+CiAgICAgICAgICAgICAgICAgPGVtcGhhc2lzPkRldGVybWluZSBXaG8gaXMgR29pbmcgdG8gYmUgRGV2ZWxvcGluZzo8L2VtcGhhc2lzPgogICAgICAgICAgICAgICAgIFlvdSBuZWVkIHRvIHVuZGVyc3RhbmQgd2hvIGlzIGdvaW5nIHRvIGJlIGRvaW5nIGFueXRoaW5nCi0gICAgICAgICAgICAgICAgcmVsYXRlZCB0byB0aGUgWW9jdG8gUHJvamVjdCBhbmQgd2hhdCB0aGVpciByb2xlcyB3b3VsZCBiZS4KKyAgICAgICAgICAgICAgICByZWxhdGVkIHRvIHRoZSBZb2N0byBQcm9qZWN0IGFuZCBkZXRlcm1pbmUgdGhlaXIgcm9sZXMuCiAgICAgICAgICAgICAgICAgTWFraW5nIHRoaXMgZGV0ZXJtaW5hdGlvbiBpcyBlc3NlbnRpYWwgdG8gY29tcGxldGluZwogICAgICAgICAgICAgICAgIHN0ZXBzIHR3byBhbmQgdGhyZWUsIHdoaWNoIGFyZSB0byBnZXQgeW91ciBlcXVpcG1lbnQgdG9nZXRoZXIKICAgICAgICAgICAgICAgICBhbmQgc2V0IHVwIHlvdXIgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQncyBoYXJkd2FyZSB0b3BvbG9neS4KQEAgLTk1MSwxMSArOTUxLDExIEBACiAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KICAgICAgJCBnaXQgY2xvbmUgZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvcG9reQogICAgICBDbG9uaW5nIGludG8gJ3Bva3knLi4uCi0gICAgIHJlbW90ZTogQ291bnRpbmcgb2JqZWN0czogNDE2NTQyLCBkb25lLgotICAgICByZW1vdGU6IENvbXByZXNzaW5nIG9iamVjdHM6IDEwMCUgKDk4NjExLzk4NjExKSwgZG9uZS4KLSAgICAgcmVtb3RlOiBUb3RhbCA0MTY1NDIgKGRlbHRhIDMxMTEwNCksIHJldXNlZCA0MTYzNzcgKGRlbHRhIDMxMDkzOSkKLSAgICAgUmVjZWl2aW5nIG9iamVjdHM6IDEwMCUgKDQxNjU0Mi80MTY1NDIpLCAxNTAuMzkgTWlCIHwgMTUuNzcgTWlCL3MsIGRvbmUuCi0gICAgIFJlc29sdmluZyBkZWx0YXM6IDEwMCUgKDMxMTEwNC8zMTExMDQpLCBkb25lLgorICAgICByZW1vdGU6IENvdW50aW5nIG9iamVjdHM6IDQzMjE2MCwgZG9uZS4KKyAgICAgcmVtb3RlOiBDb21wcmVzc2luZyBvYmplY3RzOiAxMDAlICgxMDIwNTYvMTAyMDU2KSwgZG9uZS4KKyAgICAgcmVtb3RlOiBUb3RhbCA0MzIxNjAgKGRlbHRhIDMyMzExNiksIHJldXNlZCA0MzIwMzcgKGRlbHRhIDMyMzAwMCkKKyAgICAgUmVjZWl2aW5nIG9iamVjdHM6IDEwMCUgKDQzMjE2MC80MzIxNjApLCAxNTMuODEgTWlCIHwgOC41NCBNaUIvcywgZG9uZS4KKyAgICAgUmVzb2x2aW5nIGRlbHRhczogMTAwJSAoMzIzMTE2LzMyMzExNiksIGRvbmUuCiAgICAgIENoZWNraW5nIGNvbm5lY3Rpdml0eS4uLiBkb25lLgogICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CiAgICAgICAgICAgICAgICAgICAgIFVubGVzcyB5b3Ugc3BlY2lmeSBhIHNwZWNpZmljIGRldmVsb3BtZW50IGJyYW5jaCBvcgpAQCAtMTAzNywxMyArMTAzNywxNSBAQAogICAgICAgICAgICAuCiAgICAgICAgICAgIC4KICAgICAgICAgICAgLgotICAgICAgIHJlbW90ZXMvb3JpZ2luL21hc3Rlci1uZXh0Ci0gICAgICAgcmVtb3Rlcy9vcmlnaW4vbWFzdGVyLW5leHQyCi0gICAgICAgcmVtb3Rlcy9vcmlnaW4vbW9ydHkKLSAgICAgICByZW1vdGVzL29yaWdpbi9waW5reQotICAgICAgIHJlbW90ZXMvb3JpZ2luL3B1cnBsZQogICAgICAgIHJlbW90ZXMvb3JpZ2luL3B5cm8KKyAgICAgICByZW1vdGVzL29yaWdpbi9weXJvLW5leHQKICAgICAgICByZW1vdGVzL29yaWdpbi9yb2NrbworICAgICAgIHJlbW90ZXMvb3JpZ2luL3JvY2tvLW5leHQKKyAgICAgICByZW1vdGVzL29yaWdpbi9zdW1vCisgICAgICAgcmVtb3Rlcy9vcmlnaW4vc3Vtby1uZXh0CisgICAgICAgcmVtb3Rlcy9vcmlnaW4vdGh1ZAorICAgICAgIHJlbW90ZXMvb3JpZ2luL3RodWQtbmV4dAorICAgICAgIHJlbW90ZXMvb3JpZ2luL3dhcnJpb3IKICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgogICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+CkBAIC0xMTI1LDggKzExMjcsMTAgQEAKICAgICAgeW9jdG8tMi41CiAgICAgIHlvY3RvLTIuNS4xCiAgICAgIHlvY3RvLTIuNS4yCisgICAgIHlvY3RvLTIuNS4zCiAgICAgIHlvY3RvLTIuNgogICAgICB5b2N0by0yLjYuMQorICAgICB5b2N0by0yLjcKICAgICAgeW9jdG9fMS41X001LnJjOAogICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CiAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgpkaWZmIC0tZ2l0IGEvcG9reS9kb2N1bWVudGF0aW9uL2Rldi1tYW51YWwvZGV2LW1hbnVhbC54bWwgYi9wb2t5L2RvY3VtZW50YXRpb24vZGV2LW1hbnVhbC9kZXYtbWFudWFsLnhtbAppbmRleCBiNTRjMGQ2Li41ZGRhMDE2IDEwMDY0NAotLS0gYS9wb2t5L2RvY3VtZW50YXRpb24vZGV2LW1hbnVhbC9kZXYtbWFudWFsLnhtbAorKysgYi9wb2t5L2RvY3VtZW50YXRpb24vZGV2LW1hbnVhbC9kZXYtbWFudWFsLnhtbApAQCAtMTEyLDkgKzExMiw5IEBACiAgICAgICAgICAgICAgICAgPHJldnJlbWFyaz5SZWxlYXNlZCB3aXRoIHRoZSBZb2N0byBQcm9qZWN0IDIuNiBSZWxlYXNlLjwvcmV2cmVtYXJrPgogICAgICAgICAgICAgPC9yZXZpc2lvbj4KICAgICAgICAgICAgIDxyZXZpc2lvbj4KLSAgICAgICAgICAgICAgICA8cmV2bnVtYmVyPjIuNi4xPC9yZXZudW1iZXI+CisgICAgICAgICAgICAgICAgPHJldm51bWJlcj4yLjc8L3Jldm51bWJlcj4KICAgICAgICAgICAgICAgICA8ZGF0ZT4mUkVMX01PTlRIX1lFQVI7PC9kYXRlPgotICAgICAgICAgICAgICAgIDxyZXZyZW1hcms+UmVsZWFzZWQgd2l0aCB0aGUgWW9jdG8gUHJvamVjdCAyLjYuMSBSZWxlYXNlLjwvcmV2cmVtYXJrPgorICAgICAgICAgICAgICAgIDxyZXZyZW1hcms+UmVsZWFzZWQgd2l0aCB0aGUgWW9jdG8gUHJvamVjdCAyLjcgUmVsZWFzZS48L3JldnJlbWFyaz4KICAgICAgICAgICAgIDwvcmV2aXNpb24+CiAgICAgICAgIDwvcmV2aGlzdG9yeT4KIApkaWZmIC0tZ2l0IGEvcG9reS9kb2N1bWVudGF0aW9uL2tlcm5lbC1kZXYva2VybmVsLWRldi1jb21tb24ueG1sIGIvcG9reS9kb2N1bWVudGF0aW9uL2tlcm5lbC1kZXYva2VybmVsLWRldi1jb21tb24ueG1sCmluZGV4IDkwNTI4NzYuLjdmZjRjYmEgMTAwNjQ0Ci0tLSBhL3Bva3kvZG9jdW1lbnRhdGlvbi9rZXJuZWwtZGV2L2tlcm5lbC1kZXYtY29tbW9uLnhtbAorKysgYi9wb2t5L2RvY3VtZW50YXRpb24va2VybmVsLWRldi9rZXJuZWwtZGV2LWNvbW1vbi54bWwKQEAgLTE0NzksMTUgKzE0NzksMzMgQEAKIAogICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgVG8gdXNlIHRoZSA8ZmlsZW5hbWU+bWVudWNvbmZpZzwvZmlsZW5hbWU+IHRvb2wgaW4gdGhlIFlvY3RvCi0gICAgICAgICAgICAgICAgUHJvamVjdCBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCwgeW91IG11c3QgbGF1bmNoIGl0IHVzaW5nCi0gICAgICAgICAgICAgICAgQml0QmFrZS4KLSAgICAgICAgICAgICAgICBUaHVzLCB0aGUgZW52aXJvbm1lbnQgbXVzdCBiZSBzZXQgdXAgdXNpbmcgdGhlCi0gICAgICAgICAgICAgICAgPHVsaW5rIHVybD0nJllPQ1RPX0RPQ1NfUkVGX1VSTDsjc3RydWN0dXJlLWNvcmUtc2NyaXB0Jz48ZmlsZW5hbWU+Jk9FX0lOSVRfRklMRTs8L2ZpbGVuYW1lPjwvdWxpbms+Ci0gICAgICAgICAgICAgICAgc2NyaXB0IGZvdW5kIGluIHRoZQotICAgICAgICAgICAgICAgIDx1bGluayB1cmw9JyZZT0NUT19ET0NTX1JFRl9VUkw7I2J1aWxkLWRpcmVjdG9yeSc+QnVpbGQgRGlyZWN0b3J5PC91bGluaz4uCi0gICAgICAgICAgICAgICAgWW91IG11c3QgYWxzbyBiZSBzdXJlIG9mIHRoZSBzdGF0ZSBvZiB5b3VyIGJ1aWxkJ3MKLSAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uIGluIHRoZQotICAgICAgICAgICAgICAgIDx1bGluayB1cmw9JyZZT0NUT19ET0NTX1JFRl9VUkw7I3NvdXJjZS1kaXJlY3RvcnknPlNvdXJjZSBEaXJlY3Rvcnk8L3VsaW5rPi4KKyAgICAgICAgICAgICAgICBQcm9qZWN0IGRldmVsb3BtZW50IGVudmlyb25tZW50LCB5b3UgbXVzdCBkbyB0aGUgZm9sbG93aW5nOgorICAgICAgICAgICAgICAgIDxpdGVtaXplZGxpc3Q+CisgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KKyAgICAgICAgICAgICAgICAgICAgICAgIEJlY2F1c2UgeW91IGxhdW5jaCA8ZmlsZW5hbWU+bWVudWNvbmZpZzwvZmlsZW5hbWU+CisgICAgICAgICAgICAgICAgICAgICAgICB1c2luZyBCaXRCYWtlLCB5b3UgbXVzdCBiZSBzdXJlIHRvIHNldCB1cCB5b3VyCisgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudCBieSBydW5uaW5nIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgPHVsaW5rIHVybD0nJllPQ1RPX0RPQ1NfUkVGX1VSTDsjc3RydWN0dXJlLWNvcmUtc2NyaXB0Jz48ZmlsZW5hbWU+Jk9FX0lOSVRfRklMRTs8L2ZpbGVuYW1lPjwvdWxpbms+CisgICAgICAgICAgICAgICAgICAgICAgICBzY3JpcHQgZm91bmQgaW4gdGhlCisgICAgICAgICAgICAgICAgICAgICAgICA8dWxpbmsgdXJsPScmWU9DVE9fRE9DU19SRUZfVVJMOyNidWlsZC1kaXJlY3RvcnknPkJ1aWxkIERpcmVjdG9yeTwvdWxpbms+LgorICAgICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CisgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KKyAgICAgICAgICAgICAgICAgICAgICAgIFlvdSBtdXN0IGJlIHN1cmUgb2YgdGhlIHN0YXRlIG9mIHlvdXIgYnVpbGQncworICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbiBpbiB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgIDx1bGluayB1cmw9JyZZT0NUT19ET0NTX1JFRl9VUkw7I3NvdXJjZS1kaXJlY3RvcnknPlNvdXJjZSBEaXJlY3Rvcnk8L3VsaW5rPi4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgorICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+CisgICAgICAgICAgICAgICAgICAgICAgICBZb3VyIGJ1aWxkIGhvc3QgbXVzdCBoYXZlIHRoZSBmb2xsb3dpbmcgdHdvIHBhY2thZ2VzCisgICAgICAgICAgICAgICAgICAgICAgICBpbnN0YWxsZWQ6CisgICAgICAgICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+CisgICAgIGxpYm5jdXJzZXM1LWRldgorICAgICBsaWJ0aW5mby1kZXYKKyAgICAgICAgICAgICAgICAgICAgICAgIDwvbGl0ZXJhbGxheW91dD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgorICAgICAgICAgICAgICAgIDwvaXRlbWl6ZWRsaXN0PgorICAgICAgICAgICAgPC9wYXJhPgorCisgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICBUaGUgZm9sbG93aW5nIGNvbW1hbmRzIGluaXRpYWxpemUgdGhlIEJpdEJha2UgZW52aXJvbm1lbnQsCiAgICAgICAgICAgICAgICAgcnVuIHRoZQogICAgICAgICAgICAgICAgIDx1bGluayB1cmw9JyZZT0NUT19ET0NTX1JFRl9VUkw7I3JlZi10YXNrcy1rZXJuZWxfY29uZmlnbWUnPjxmaWxlbmFtZT5kb19rZXJuZWxfY29uZmlnbWU8L2ZpbGVuYW1lPjwvdWxpbms+CmRpZmYgLS1naXQgYS9wb2t5L2RvY3VtZW50YXRpb24va2VybmVsLWRldi9rZXJuZWwtZGV2LnhtbCBiL3Bva3kvZG9jdW1lbnRhdGlvbi9rZXJuZWwtZGV2L2tlcm5lbC1kZXYueG1sCmluZGV4IGZjNDZjMjAuLjMzNTUzZGYgMTAwNjQ0Ci0tLSBhL3Bva3kvZG9jdW1lbnRhdGlvbi9rZXJuZWwtZGV2L2tlcm5lbC1kZXYueG1sCisrKyBiL3Bva3kvZG9jdW1lbnRhdGlvbi9rZXJuZWwtZGV2L2tlcm5lbC1kZXYueG1sCkBAIC05Nyw5ICs5Nyw5IEBACiAgICAgICAgICAgICAgICAgPHJldnJlbWFyaz5SZWxlYXNlZCB3aXRoIHRoZSBZb2N0byBQcm9qZWN0IDIuNiBSZWxlYXNlLjwvcmV2cmVtYXJrPgogICAgICAgICAgICAgPC9yZXZpc2lvbj4KICAgICAgICAgICAgIDxyZXZpc2lvbj4KLSAgICAgICAgICAgICAgICA8cmV2bnVtYmVyPjIuNi4xPC9yZXZudW1iZXI+CisgICAgICAgICAgICAgICAgPHJldm51bWJlcj4yLjc8L3Jldm51bWJlcj4KICAgICAgICAgICAgICAgICA8ZGF0ZT4mUkVMX01PTlRIX1lFQVI7PC9kYXRlPgotICAgICAgICAgICAgICAgIDxyZXZyZW1hcms+UmVsZWFzZWQgd2l0aCB0aGUgWW9jdG8gUHJvamVjdCAyLjYuMSBSZWxlYXNlLjwvcmV2cmVtYXJrPgorICAgICAgICAgICAgICAgIDxyZXZyZW1hcms+UmVsZWFzZWQgd2l0aCB0aGUgWW9jdG8gUHJvamVjdCAyLjcgUmVsZWFzZS48L3JldnJlbWFyaz4KICAgICAgICAgICAgIDwvcmV2aXNpb24+CiAgICAgICAgIDwvcmV2aGlzdG9yeT4KIApkaWZmIC0tZ2l0IGEvcG9reS9kb2N1bWVudGF0aW9uL21lZ2EtbWFudWFsL2ZpZ3VyZXMvYmJfbXVsdGljb25maWdfZmlsZXMucG5nIGIvcG9reS9kb2N1bWVudGF0aW9uL21lZ2EtbWFudWFsL2ZpZ3VyZXMvYmJfbXVsdGljb25maWdfZmlsZXMucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0MWYwNjQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L2RvY3VtZW50YXRpb24vbWVnYS1tYW51YWwvZmlndXJlcy9iYl9tdWx0aWNvbmZpZ19maWxlcy5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcG9reS9kb2N1bWVudGF0aW9uL21lZ2EtbWFudWFsL2ZpZ3VyZXMvYml0YmFrZS10aXRsZS5wbmcgYi9wb2t5L2RvY3VtZW50YXRpb24vbWVnYS1tYW51YWwvZmlndXJlcy9iaXRiYWtlLXRpdGxlLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjI5MDE1Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9kb2N1bWVudGF0aW9uL21lZ2EtbWFudWFsL2ZpZ3VyZXMvYml0YmFrZS10aXRsZS5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcG9reS9kb2N1bWVudGF0aW9uL21lZ2EtbWFudWFsL21lZ2EtbWFudWFsLnhtbCBiL3Bva3kvZG9jdW1lbnRhdGlvbi9tZWdhLW1hbnVhbC9tZWdhLW1hbnVhbC54bWwKaW5kZXggN2E0MTk5MS4uMmM1MThmOSAxMDA2NDQKLS0tIGEvcG9reS9kb2N1bWVudGF0aW9uL21lZ2EtbWFudWFsL21lZ2EtbWFudWFsLnhtbAorKysgYi9wb2t5L2RvY3VtZW50YXRpb24vbWVnYS1tYW51YWwvbWVnYS1tYW51YWwueG1sCkBAIC0xMiw5ICsxMiwxMSBAQAogCiAgICAgICAgIDxhYnN0cmFjdD4KICAgICAgICAgICAgIFRoZSBZb2N0byBQcm9qZWN0IE1lZ2EtTWFudWFsIGlzIGEgY29uY2F0ZW5hdGlvbiBvZiB0aGUgcHVibGlzaGVkCi0gICAgICAgICAgICBZb2N0byBQcm9qZWN0IEhUTUwgbWFudWFscyBmb3IgdGhlIGdpdmVuIHJlbGVhc2UuCi0gICAgICAgICAgICBUaGUgbWFudWFsIGV4aXN0cyB0byBoZWxwIHVzZXJzIGVmZmljaWVudGx5IHNlYXJjaCBmb3Igc3RyaW5ncwotICAgICAgICAgICAgYWNyb3NzIHRoZSBlbnRpcmUgWW9jdG8gUHJvamVjdCBkb2N1bWVudGF0aW9uIHNldC4KKyAgICAgICAgICAgIFlvY3RvIFByb2plY3QgSFRNTCBtYW51YWxzIGFsb25nIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgQml0QmFrZQorICAgICAgICAgICAgVXNlciBNYW51YWwgZm9yIHRoZSBnaXZlbiByZWxlYXNlLgorICAgICAgICAgICAgVGhlIE1lZ2EtTWFudWFsIGV4aXN0cyB0byBoZWxwIHVzZXJzIGVmZmljaWVudGx5IHNlYXJjaCBmb3Igc3RyaW5ncworICAgICAgICAgICAgYWNyb3NzIHRoZSBlbnRpcmUgWW9jdG8gUHJvamVjdCBkb2N1bWVudGF0aW9uIHNldCBpbmNsdXNpdmUgb2YKKyAgICAgICAgICAgIHRoZSBCaXRCYWtlIFVzZXIgTWFudWFsLgogICAgICAgICA8L2Fic3RyYWN0PgogCiAgICAgICAgIDxtZWRpYW9iamVjdD4KQEAgLTgxLDkgKzgzLDkgQEAKICAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi42IFJlbGVhc2UuPC9yZXZyZW1hcms+CiAgICAgICAgICAgICA8L3JldmlzaW9uPgogICAgICAgICAgICAgPHJldmlzaW9uPgotICAgICAgICAgICAgICAgIDxyZXZudW1iZXI+Mi42LjE8L3Jldm51bWJlcj4KKyAgICAgICAgICAgICAgICA8cmV2bnVtYmVyPjIuNzwvcmV2bnVtYmVyPgogICAgICAgICAgICAgICAgIDxkYXRlPiZSRUxfTU9OVEhfWUVBUjs8L2RhdGU+Ci0gICAgICAgICAgICAgICAgPHJldnJlbWFyaz5SZWxlYXNlZCB3aXRoIHRoZSBZb2N0byBQcm9qZWN0IDIuNi4xIFJlbGVhc2UuPC9yZXZyZW1hcms+CisgICAgICAgICAgICAgICAgPHJldnJlbWFyaz5SZWxlYXNlZCB3aXRoIHRoZSBZb2N0byBQcm9qZWN0IDIuNyBSZWxlYXNlLjwvcmV2cmVtYXJrPgogICAgICAgICAgICAgPC9yZXZpc2lvbj4KICAgICAgICA8L3Jldmhpc3Rvcnk+CiAKQEAgLTMyMiw2ICszMjQsMzAgQEAKICAgICA8eGk6aW5jbHVkZQogICAgICAgICB4bWxuczp4aT0iaHR0cDovL3d3dy53My5vcmcvMjAwMy9YSW5jbHVkZSIgaHJlZj0iLi4vdG9hc3Rlci1tYW51YWwvdG9hc3Rlci1tYW51YWwtcmVmZXJlbmNlLnhtbCIvPgogCis8IS0tIEluY2x1ZGVzIGJpdGJha2UtdXNlci1tYW51YWwgdGl0bGUgaW1hZ2UgYW5kIHRoZW4gYml0YmFrZS11c2VyLW1hbnVhbCBjaGFwdGVycyAtLT4KKworICAgIDxwYXJhPgorICAgICAgICA8aW1hZ2VkYXRhIGZpbGVyZWY9ImZpZ3VyZXMvYml0YmFrZS10aXRsZS5wbmciIHdpZHRoPSIxMDAlIiBhbGlnbj0ibGVmdCIgc2NhbGVmaXQ9IjEiIC8+CisgICAgPC9wYXJhPgorCisgICAgPHhpOmluY2x1ZGUKKyAgICAgICAgeG1sbnM6eGk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDMvWEluY2x1ZGUiIGhyZWY9Ii4uLy4uLy4uL2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1pbnRyby54bWwiLz4KKworICAgIDx4aTppbmNsdWRlCisgICAgICAgIHhtbG5zOnhpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAzL1hJbmNsdWRlIiBocmVmPSIuLi8uLi8uLi9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2JpdGJha2UtdXNlci1tYW51YWwtZXhlY3V0aW9uLnhtbCIvPgorCisgICAgPHhpOmluY2x1ZGUKKyAgICAgICAgeG1sbnM6eGk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDMvWEluY2x1ZGUiIGhyZWY9Ii4uLy4uLy4uL2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1tZXRhZGF0YS54bWwiLz4KKworICAgIDx4aTppbmNsdWRlCisgICAgICAgIHhtbG5zOnhpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAzL1hJbmNsdWRlIiBocmVmPSIuLi8uLi8uLi9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2JpdGJha2UtdXNlci1tYW51YWwtZmV0Y2hpbmcueG1sIi8+CisKKyAgICA8eGk6aW5jbHVkZQorICAgICAgICB4bWxuczp4aT0iaHR0cDovL3d3dy53My5vcmcvMjAwMy9YSW5jbHVkZSIgaHJlZj0iLi4vLi4vLi4vYml0YmFrZS9kb2MvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLXJlZi12YXJpYWJsZXMueG1sIi8+CisKKyAgICA8eGk6aW5jbHVkZQorICAgICAgICB4bWxuczp4aT0iaHR0cDovL3d3dy53My5vcmcvMjAwMy9YSW5jbHVkZSIgaHJlZj0iLi4vLi4vLi4vYml0YmFrZS9kb2MvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLWhlbGxvLnhtbCIvPgorCiA8L2Jvb2s+CiAKIDwhLS0KZGlmZiAtLWdpdCBhL3Bva3kvZG9jdW1lbnRhdGlvbi9vdmVydmlldy1tYW51YWwvb3ZlcnZpZXctbWFudWFsLWNvbmNlcHRzLnhtbCBiL3Bva3kvZG9jdW1lbnRhdGlvbi9vdmVydmlldy1tYW51YWwvb3ZlcnZpZXctbWFudWFsLWNvbmNlcHRzLnhtbAppbmRleCAzMzhhMTkwLi5jMWMxZmVjIDEwMDY0NAotLS0gYS9wb2t5L2RvY3VtZW50YXRpb24vb3ZlcnZpZXctbWFudWFsL292ZXJ2aWV3LW1hbnVhbC1jb25jZXB0cy54bWwKKysrIGIvcG9reS9kb2N1bWVudGF0aW9uL292ZXJ2aWV3LW1hbnVhbC9vdmVydmlldy1tYW51YWwtY29uY2VwdHMueG1sCkBAIC04Miw3ICs4Miw3IEBACiAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICBUaGlzIHNlY3Rpb24gYnJpZWZseSBpbnRyb2R1Y2VzIEJpdEJha2UuCiAgICAgICAgICAgICAgICAgSWYgeW91IHdhbnQgbW9yZSBpbmZvcm1hdGlvbiBvbiBCaXRCYWtlLCBzZWUgdGhlCi0gICAgICAgICAgICAgICAgPHVsaW5rIHVybD0nJllPQ1RPX0RPQ1NfQkJfVVJMOyNiaXRiYWtlLXVzZXItbWFudWFsJz5CaXRCYWtlIFVzZXIgTWFudWFsPC91bGluaz4uCisgICAgICAgICAgICAgICAgPHVsaW5rIHVybD0nJllPQ1RPX0RPQ1NfQkJfVVJMOyc+Qml0QmFrZSBVc2VyIE1hbnVhbDwvdWxpbms+LgogICAgICAgICAgICAgPC9wYXJhPgogCiAgICAgICAgICAgICA8cGFyYT4KQEAgLTEwOTEsNyArMTA5MSw3IEBACiAgICAgICAgICAgICAgICAgPG5vdGU+CiAgICAgICAgICAgICAgICAgICAgIFNlcGFyYXRlIGRvY3VtZW50YXRpb24gZXhpc3RzIGZvciB0aGUgQml0QmFrZSB0b29sLgogICAgICAgICAgICAgICAgICAgICBTZWUgdGhlCi0gICAgICAgICAgICAgICAgICAgIDx1bGluayB1cmw9JyZZT0NUT19ET0NTX0JCX1VSTDsjYml0YmFrZS11c2VyLW1hbnVhbCc+Qml0QmFrZSBVc2VyIE1hbnVhbDwvdWxpbms+CisgICAgICAgICAgICAgICAgICAgIDx1bGluayB1cmw9JyZZT0NUT19ET0NTX0JCX1VSTDsnPkJpdEJha2UgVXNlciBNYW51YWw8L3VsaW5rPgogICAgICAgICAgICAgICAgICAgICBmb3IgcmVmZXJlbmNlIG1hdGVyaWFsIG9uIEJpdEJha2UuCiAgICAgICAgICAgICAgICAgPC9ub3RlPgogICAgICAgICAgICAgPC9wYXJhPgpkaWZmIC0tZ2l0IGEvcG9reS9kb2N1bWVudGF0aW9uL292ZXJ2aWV3LW1hbnVhbC9vdmVydmlldy1tYW51YWwueG1sIGIvcG9reS9kb2N1bWVudGF0aW9uL292ZXJ2aWV3LW1hbnVhbC9vdmVydmlldy1tYW51YWwueG1sCmluZGV4IDMyMGNhMzUuLmIyM2MzOTQgMTAwNjQ0Ci0tLSBhL3Bva3kvZG9jdW1lbnRhdGlvbi9vdmVydmlldy1tYW51YWwvb3ZlcnZpZXctbWFudWFsLnhtbAorKysgYi9wb2t5L2RvY3VtZW50YXRpb24vb3ZlcnZpZXctbWFudWFsL292ZXJ2aWV3LW1hbnVhbC54bWwKQEAgLTM4LDEzICszOCw4IEBACiAgICAgICAgICAgICA8L3JldmlzaW9uPgogICAgICAgICAgICAgPHJldmlzaW9uPgogICAgICAgICAgICAgICAgIDxyZXZudW1iZXI+Mi42PC9yZXZudW1iZXI+Ci0gICAgICAgICAgICAgICAgPGRhdGU+Tm92ZW1iZXIgMjAxODwvZGF0ZT4KLSAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi42IFJlbGVhc2UuPC9yZXZyZW1hcms+Ci0gICAgICAgICAgICA8L3JldmlzaW9uPgotICAgICAgICAgICAgPHJldmlzaW9uPgotICAgICAgICAgICAgICAgIDxyZXZudW1iZXI+Mi42LjE8L3Jldm51bWJlcj4KICAgICAgICAgICAgICAgICA8ZGF0ZT4mUkVMX01PTlRIX1lFQVI7PC9kYXRlPgotICAgICAgICAgICAgICAgIDxyZXZyZW1hcms+UmVsZWFzZWQgd2l0aCB0aGUgWW9jdG8gUHJvamVjdCAyLjYuMSBSZWxlYXNlLjwvcmV2cmVtYXJrPgorICAgICAgICAgICAgICAgIDxyZXZyZW1hcms+UmVsZWFzZWQgd2l0aCB0aGUgWW9jdG8gUHJvamVjdCAyLjYgUmVsZWFzZS48L3JldnJlbWFyaz4KICAgICAgICAgICAgIDwvcmV2aXNpb24+CiAgICAgICAgIDwvcmV2aGlzdG9yeT4KIApkaWZmIC0tZ2l0IGEvcG9reS9kb2N1bWVudGF0aW9uL3Bva3kuZW50IGIvcG9reS9kb2N1bWVudGF0aW9uL3Bva3kuZW50CmluZGV4IGY5MmU2OWQuLjYzMjYwMTIgMTAwNjQ0Ci0tLSBhL3Bva3kvZG9jdW1lbnRhdGlvbi9wb2t5LmVudAorKysgYi9wb2t5L2RvY3VtZW50YXRpb24vcG9reS5lbnQKQEAgLTEsMTcgKzEsMTcgQEAKLTwhRU5USVRZIERJU1RSTyAiMi42LjEiPgotPCFFTlRJVFkgRElTVFJPX0NPTVBSRVNTRUQgIjI2MSI+Ci08IUVOVElUWSBESVNUUk9fTkFNRV9OT19DQVAgInRodWQiPgotPCFFTlRJVFkgRElTVFJPX05BTUUgIlRodWQiPgotPCFFTlRJVFkgRElTVFJPX05BTUVfTk9fQ0FQX01JTlVTX09ORSAic3VtbyI+Ci08IUVOVElUWSBESVNUUk9fTkFNRV9NSU5VU19PTkUgIlN1bW8iPgotPCFFTlRJVFkgWU9DVE9fRE9DX1ZFUlNJT04gIjIuNi4xIj4KLTwhRU5USVRZIFlPQ1RPX0RPQ19WRVJTSU9OX01JTlVTX09ORSAiMi41LjIiPgotPCFFTlRJVFkgRElTVFJPX1JFTF9UQUcgInlvY3RvLTIuNi4xIj4KLTwhRU5USVRZIE1FVEFJTlRFTFZFUlNJT04gIjEwLjEiPgotPCFFTlRJVFkgUkVMX01PTlRIX1lFQVIgIkZlYnJ1YXJ5IDIwMTkiPgorPCFFTlRJVFkgRElTVFJPICIyLjciPgorPCFFTlRJVFkgRElTVFJPX0NPTVBSRVNTRUQgIjI3Ij4KKzwhRU5USVRZIERJU1RST19OQU1FX05PX0NBUCAid2FycmlvciI+Cis8IUVOVElUWSBESVNUUk9fTkFNRSAiV2FycmlvciI+Cis8IUVOVElUWSBESVNUUk9fTkFNRV9OT19DQVBfTUlOVVNfT05FICJ0aHVkIj4KKzwhRU5USVRZIERJU1RST19OQU1FX01JTlVTX09ORSAiVGh1ZCI+Cis8IUVOVElUWSBZT0NUT19ET0NfVkVSU0lPTiAiMi43Ij4KKzwhRU5USVRZIFlPQ1RPX0RPQ19WRVJTSU9OX01JTlVTX09ORSAiMi42Ij4KKzwhRU5USVRZIERJU1RST19SRUxfVEFHICJ5b2N0by0yLjciPgorPCFFTlRJVFkgTUVUQUlOVEVMVkVSU0lPTiAiOS4wIj4KKzwhRU5USVRZIFJFTF9NT05USF9ZRUFSICJUQkQiPgogPCFFTlRJVFkgTUVUQV9JTlRFTF9SRUxfVEFHICImTUVUQUlOVEVMVkVSU0lPTjstJkRJU1RST19OQU1FX05PX0NBUDstJllPQ1RPX0RPQ19WRVJTSU9OOyI+Ci08IUVOVElUWSBQT0tZVkVSU0lPTiAiMjEuMC4xIj4KLTwhRU5USVRZIFBPS1lWRVJTSU9OX0NPTVBSRVNTRUQgIjIxMDEiPgorPCFFTlRJVFkgUE9LWVZFUlNJT04gIjIyLjAuMCI+Cis8IUVOVElUWSBQT0tZVkVSU0lPTl9DT01QUkVTU0VEICIyMjAwIj4KIDwhRU5USVRZIFlPQ1RPX1BPS1kgInBva3ktJkRJU1RST19OQU1FX05PX0NBUDstJlBPS1lWRVJTSU9OOyI+CiA8IUVOVElUWSBDT1BZUklHSFRfWUVBUiAiMjAxMC0yMDE5Ij4KIDwhRU5USVRZIFlPQ1RPX0RMX1VSTCAiaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnIj4KQEAgLTY5LDE3ICs2OSwyMSBAQAogPCFFTlRJVFkgT0VfSU5JVF9GSUxFICJvZS1pbml0LWJ1aWxkLWVudiI+CiA8IUVOVElUWSBVQlVOVFVfSE9TVF9QQUNLQUdFU19FU1NFTlRJQUwgImdhd2sgd2dldCBnaXQtY29yZSBkaWZmc3RhdCB1bnppcCB0ZXhpbmZvIGdjYy1tdWx0aWxpYiBcCiAgICAgIGJ1aWxkLWVzc2VudGlhbCBjaHJwYXRoIHNvY2F0IGNwaW8gcHl0aG9uIHB5dGhvbjMgcHl0aG9uMy1waXAgcHl0aG9uMy1wZXhwZWN0IFwKLSAgICAgeHotdXRpbHMgZGViaWFudXRpbHMgaXB1dGlscy1waW5nIj4KKyAgICAgeHotdXRpbHMgZGViaWFudXRpbHMgaXB1dGlscy1waW5nIHB5dGhvbjMtZ2l0IHB5dGhvbjMtamluamEyIGxpYmVnbDEtbWVzYSBsaWJzZGwxLjItZGV2IFwKKyAgICAgeHRlcm0iPgogPCFFTlRJVFkgRkVET1JBX0hPU1RfUEFDS0FHRVNfRVNTRU5USUFMICJnYXdrIG1ha2Ugd2dldCB0YXIgYnppcDIgZ3ppcCBweXRob24zIHVuemlwIHBlcmwgcGF0Y2ggXAogICAgICBkaWZmdXRpbHMgZGlmZnN0YXQgZ2l0IGNwcCBnY2MgZ2NjLWMrKyBnbGliYy1kZXZlbCB0ZXhpbmZvIGNocnBhdGggXAogICAgICBjY2FjaGUgcGVybC1EYXRhLUR1bXBlciBwZXJsLVRleHQtUGFyc2VXb3JkcyBwZXJsLVRocmVhZC1RdWV1ZSBwZXJsLWJpZ251bSBzb2NhdCBcCi0gICAgIHB5dGhvbjMtcGV4cGVjdCBmaW5kdXRpbHMgd2hpY2ggZmlsZSBjcGlvIHB5dGhvbiBweXRob24zLXBpcCB4eiI+CisgICAgIHB5dGhvbjMtcGV4cGVjdCBmaW5kdXRpbHMgd2hpY2ggZmlsZSBjcGlvIHB5dGhvbiBweXRob24zLXBpcCB4eiBweXRob24zLUdpdFB5dGhvbiBcCisgICAgIHB5dGhvbjMtamluamEyIFNETC1kZXZlbCB4dGVybSI+CiA8IUVOVElUWSBPUEVOU1VTRV9IT1NUX1BBQ0tBR0VTX0VTU0VOVElBTCAicHl0aG9uIGdjYyBnY2MtYysrIGdpdCBjaHJwYXRoIG1ha2Ugd2dldCBweXRob24teG1sIFwKICAgICAgZGlmZnN0YXQgbWFrZWluZm8gcHl0aG9uLWN1cnNlcyBwYXRjaCBzb2NhdCBweXRob24zIHB5dGhvbjMtY3Vyc2VzIHRhciBweXRob24zLXBpcCBcCi0gICAgIHB5dGhvbjMtcGV4cGVjdCB4eiB3aGljaCI+CisgICAgIHB5dGhvbjMtcGV4cGVjdCB4eiB3aGljaCBweXRob24zLUppbmphMiBNZXNhLWxpYkVHTDEKKyAgICAgJCBzdWRvIHBpcDMgaW5zdGFsbCBHaXRQeXRob24gbGliU0RMLWRldmVsIHh0ZXJtIj4KIDwhRU5USVRZIENFTlRPU19IT1NUX1BBQ0tBR0VTX0VTU0VOVElBTCAiLXkgZXBlbC1yZWxlYXNlCiAgICAgICQgc3VkbyB5dW0gbWFrZWNhY2hlCiAgICAgICQgc3VkbyB5dW0gaW5zdGFsbCBnYXdrIG1ha2Ugd2dldCB0YXIgYnppcDIgZ3ppcCBweXRob24gdW56aXAgcGVybCBwYXRjaCBcCiAgICAgIGRpZmZ1dGlscyBkaWZmc3RhdCBnaXQgY3BwIGdjYyBnY2MtYysrIGdsaWJjLWRldmVsIHRleGluZm8gY2hycGF0aCBzb2NhdCBcCiAgICAgIHBlcmwtRGF0YS1EdW1wZXIgcGVybC1UZXh0LVBhcnNlV29yZHMgcGVybC1UaHJlYWQtUXVldWUgcHl0aG9uMzQtcGlwIHh6IFwKLSAgICAgd2hpY2giPgorICAgICB3aGljaCBTREwtZGV2ZWwgeHRlcm0KKyAgICAgJCBzdWRvIHBpcDMgaW5zdGFsbCBHaXRQeXRob24gamluamEyIj4KZGlmZiAtLWdpdCBhL3Bva3kvZG9jdW1lbnRhdGlvbi9wcm9maWxlLW1hbnVhbC9wcm9maWxlLW1hbnVhbC54bWwgYi9wb2t5L2RvY3VtZW50YXRpb24vcHJvZmlsZS1tYW51YWwvcHJvZmlsZS1tYW51YWwueG1sCmluZGV4IDEwY2E2OGUuLmFmMmM3YmEgMTAwNjQ0Ci0tLSBhL3Bva3kvZG9jdW1lbnRhdGlvbi9wcm9maWxlLW1hbnVhbC9wcm9maWxlLW1hbnVhbC54bWwKKysrIGIvcG9reS9kb2N1bWVudGF0aW9uL3Byb2ZpbGUtbWFudWFsL3Byb2ZpbGUtbWFudWFsLnhtbApAQCAtOTcsOSArOTcsOSBAQAogICAgICAgICAgICAgICAgIDxyZXZyZW1hcms+UmVsZWFzZWQgd2l0aCB0aGUgWW9jdG8gUHJvamVjdCAyLjYgUmVsZWFzZS48L3JldnJlbWFyaz4KICAgICAgICAgICAgIDwvcmV2aXNpb24+CiAgICAgICAgICAgICA8cmV2aXNpb24+Ci0gICAgICAgICAgICAgICAgPHJldm51bWJlcj4yLjYuMTwvcmV2bnVtYmVyPgorICAgICAgICAgICAgICAgIDxyZXZudW1iZXI+Mi43PC9yZXZudW1iZXI+CiAgICAgICAgICAgICAgICAgPGRhdGU+JlJFTF9NT05USF9ZRUFSOzwvZGF0ZT4KLSAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi42LjEgUmVsZWFzZS48L3JldnJlbWFyaz4KKyAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi43IFJlbGVhc2UuPC9yZXZyZW1hcms+CiAgICAgICAgICAgICA8L3JldmlzaW9uPgogICAgICAgICA8L3Jldmhpc3Rvcnk+CiAKZGlmZiAtLWdpdCBhL3Bva3kvZG9jdW1lbnRhdGlvbi9yZWYtbWFudWFsL3JlZi1tYW51YWwueG1sIGIvcG9reS9kb2N1bWVudGF0aW9uL3JlZi1tYW51YWwvcmVmLW1hbnVhbC54bWwKaW5kZXggZjgzNGQyZC4uMjYyOTVmMCAxMDA2NDQKLS0tIGEvcG9reS9kb2N1bWVudGF0aW9uL3JlZi1tYW51YWwvcmVmLW1hbnVhbC54bWwKKysrIGIvcG9reS9kb2N1bWVudGF0aW9uL3JlZi1tYW51YWwvcmVmLW1hbnVhbC54bWwKQEAgLTEyOCw5ICsxMjgsOSBAQAogICAgICAgICAgICAgICAgIDxyZXZyZW1hcms+UmVsZWFzZWQgd2l0aCB0aGUgWW9jdG8gUHJvamVjdCAyLjYgUmVsZWFzZS48L3JldnJlbWFyaz4KICAgICAgICAgICAgIDwvcmV2aXNpb24+CiAgICAgICAgICAgICA8cmV2aXNpb24+Ci0gICAgICAgICAgICAgICAgPHJldm51bWJlcj4yLjYuMTwvcmV2bnVtYmVyPgorICAgICAgICAgICAgICAgIDxyZXZudW1iZXI+Mi43PC9yZXZudW1iZXI+CiAgICAgICAgICAgICAgICAgPGRhdGU+JlJFTF9NT05USF9ZRUFSOzwvZGF0ZT4KLSAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi42LjEgUmVsZWFzZS48L3JldnJlbWFyaz4KKyAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi43IFJlbGVhc2UuPC9yZXZyZW1hcms+CiAgICAgICAgICAgICA8L3JldmlzaW9uPgogICAgICAgICA8L3Jldmhpc3Rvcnk+CiAKZGlmZiAtLWdpdCBhL3Bva3kvZG9jdW1lbnRhdGlvbi9yZWYtbWFudWFsL3JlZi1zeXN0ZW0tcmVxdWlyZW1lbnRzLnhtbCBiL3Bva3kvZG9jdW1lbnRhdGlvbi9yZWYtbWFudWFsL3JlZi1zeXN0ZW0tcmVxdWlyZW1lbnRzLnhtbAppbmRleCAwZGI4NGUzLi41ZjJiOWY2IDEwMDY0NAotLS0gYS9wb2t5L2RvY3VtZW50YXRpb24vcmVmLW1hbnVhbC9yZWYtc3lzdGVtLXJlcXVpcmVtZW50cy54bWwKKysrIGIvcG9reS9kb2N1bWVudGF0aW9uL3JlZi1tYW51YWwvcmVmLXN5c3RlbS1yZXF1aXJlbWVudHMueG1sCkBAIC05NywxOCArOTcsOSBAQAogICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT5PcGVuU1VTRSA0Mi4zPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICA8L2l0ZW1pemVkbGlzdD4KICAgICAgICAgPC9wYXJhPgotPCEtLQotQ2hlY2tvdXQgdGhlIHBva3kgZGlzdHJvIHlvdSBhcmUgaW50ZXJlc3RlZCBpbiAoYnkgYnJhbmNoIG9yIHRhZykuCi1Gcm9tIHRoZSBwb2t5IGRpcmVjdG9yeSwgcnVuIHRoZSBzY3JpcHQ6Ci0KLWJpdGJha2UgLWUgfCBncmVwIF5TQU5JVFlfVEVTVEVEX0RJU1RST1MgfCBzZWQgLWUgJ3MvLioiXCguKlwpIi4qL1wxL2cnIC1lICdzIVxcbiFcbiFnJyB8IHNlZCAncy9eW1x0XSovLztzL1sgXHRdKiQvLycgfCBncmVwIC12IFBva3kKLQotVGhpcyByZXR1cm5zIGEgbGlzdCBvZiB0aGUgc3VwcG9ydGVkIGRpc3Ryb3MgZm9yIHRoZSByZWxlYXNlLgotCi1IZXJlIGlzIHNvbWUgb2xkIGxpc3QgaXRlbXMgdG8gc2hvdyB0aGUgZm9ybToKIAogCi0gICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPlVidW50dSAxMC4wNDwvcGFyYT48L2xpc3RpdGVtPgorPCEtLSAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT5VYnVudHUgMTAuMDQ8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+VWJ1bnR1IDExLjEwPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPlVidW50dSAxMi4wNCAoTFRTKTwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT5VYnVudHUgMTMuMTA8L3BhcmE+PC9saXN0aXRlbT4KQEAgLTE1MSw4ICsxNDIsMTAgQEAKICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+b3BlblNVU0UgMTMuMjwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT5vcGVuU1VTRSA0Mi4xPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPm9wZW5TVVNFIDQyLjI8L3BhcmE+PC9saXN0aXRlbT4KKyAgICAgICAgICAgIDwvaXRlbWl6ZWRsaXN0PgogLS0+CiAKKwogICAgICAgICA8bm90ZT4KICAgICAgICAgICAgIFdoaWxlIHRoZSBZb2N0byBQcm9qZWN0IFRlYW0gYXR0ZW1wdHMgdG8gZW5zdXJlIGFsbCBZb2N0byBQcm9qZWN0CiAgICAgICAgICAgICByZWxlYXNlcyBhcmUgb25lIGh1bmRyZWQgcGVyY2VudCBjb21wYXRpYmxlIHdpdGggZWFjaCBvZmZpY2lhbGx5CkBAIC0xOTksMjYgKzE5MiwxMiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgogICAgICAkIHN1ZG8gYXB0LWdldCBpbnN0YWxsICZVQlVOVFVfSE9TVF9QQUNLQUdFU19FU1NFTlRJQUw7CiAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+PC9wYXJhPjwvbGlzdGl0ZW0+Ci0gICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT48ZW1waGFzaXM+R3JhcGhpY2FsIGFuZCBFY2xpcHNlIFBsdWctSW4gRXh0cmFzOjwvZW1waGFzaXM+Ci0gICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlcyByZWNvbW1lbmRlZCBpZiB0aGUgaG9zdCBzeXN0ZW0gaGFzIGdyYXBoaWNzCi0gICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0IG9yIGlmIHlvdSBhcmUgZ29pbmcgdG8gdXNlIHRoZSBFY2xpcHNlCi0gICAgICAgICAgICAgICAgICAgICAgICBJREU6Ci0gICAgICAgICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+Ci0gICAgICQgc3VkbyBhcHQtZ2V0IGluc3RhbGwgbGlic2RsMS4yLWRldiB4dGVybQotICAgICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PjwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+PGVtcGhhc2lzPkRvY3VtZW50YXRpb246PC9lbXBoYXNpcz4KICAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2VzIG5lZWRlZCBpZiB5b3UgYXJlIGdvaW5nIHRvIGJ1aWxkIG91dCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgIFlvY3RvIFByb2plY3QgZG9jdW1lbnRhdGlvbiBtYW51YWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgogICAgICAkIHN1ZG8gYXB0LWdldCBpbnN0YWxsIG1ha2UgeHNsdHByb2MgZG9jYm9vay11dGlscyBmb3AgZGJsYXRleCB4bWx0bwogICAgICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PjwvcGFyYT48L2xpc3RpdGVtPgotICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+PGVtcGhhc2lzPk9wZW5FbWJlZGRlZCBTZWxmLVRlc3QgKDxmaWxlbmFtZT5vZS1zZWxmdGVzdDwvZmlsZW5hbWU+KTo8L2VtcGhhc2lzPgotICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZXMgbmVlZGVkIGlmIHlvdSBhcmUgZ29pbmcgdG8gcnVuCi0gICAgICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+b2Utc2VsZnRlc3Q8L2ZpbGVuYW1lPjoKLSAgICAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KLSAgICAgJCBzdWRvIGFwdC1nZXQgaW5zdGFsbCBweXRob24tZ2l0Ci0gICAgICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICA8L2l0ZW1pemVkbGlzdD4KICAgICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgPC9zZWN0aW9uPgpAQCAtMjM2LDI3ICsyMTUsMTMgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KICAgICAgJCBzdWRvIGRuZiBpbnN0YWxsICZGRURPUkFfSE9TVF9QQUNLQUdFU19FU1NFTlRJQUw7CiAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+PC9wYXJhPjwvbGlzdGl0ZW0+Ci0gICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT48ZW1waGFzaXM+R3JhcGhpY2FsIGFuZCBFY2xpcHNlIFBsdWctSW4gRXh0cmFzOjwvZW1waGFzaXM+Ci0gICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlcyByZWNvbW1lbmRlZCBpZiB0aGUgaG9zdCBzeXN0ZW0gaGFzIGdyYXBoaWNzCi0gICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0IG9yIGlmIHlvdSBhcmUgZ29pbmcgdG8gdXNlIHRoZSBFY2xpcHNlCi0gICAgICAgICAgICAgICAgICAgICAgICBJREU6Ci0gICAgICAgICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+Ci0gICAgICQgc3VkbyBkbmYgaW5zdGFsbCBTREwtZGV2ZWwgeHRlcm0KLSAgICAgICAgICAgICAgICAgICAgICAgIDwvbGl0ZXJhbGxheW91dD48L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz5Eb2N1bWVudGF0aW9uOjwvZW1waGFzaXM+CiAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlcyBuZWVkZWQgaWYgeW91IGFyZSBnb2luZyB0byBidWlsZCBvdXQgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICBZb2N0byBQcm9qZWN0IGRvY3VtZW50YXRpb24gbWFudWFsczoKICAgICAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KLSAgICAgJCBzdWRvIGRuZiBpbnN0YWxsIG1ha2UgZG9jYm9vay1zdHlsZS1kc3NzbCBkb2Nib29rLXN0eWxlLXhzbCBcCisgICAgICQgc3VkbyBkbmYgaW5zdGFsbCBkb2Nib29rLXN0eWxlLWRzc3NsIGRvY2Jvb2stc3R5bGUteHNsIFwKICAgICAgZG9jYm9vay1kdGRzIGRvY2Jvb2stdXRpbHMgZm9wIGxpYnhzbHQgZGJsYXRleCB4bWx0bwogICAgICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PjwvcGFyYT48L2xpc3RpdGVtPgotICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+PGVtcGhhc2lzPk9wZW5FbWJlZGRlZCBTZWxmLVRlc3QgKDxmaWxlbmFtZT5vZS1zZWxmdGVzdDwvZmlsZW5hbWU+KTo8L2VtcGhhc2lzPgotICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZXMgbmVlZGVkIGlmIHlvdSBhcmUgZ29pbmcgdG8gcnVuCi0gICAgICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+b2Utc2VsZnRlc3Q8L2ZpbGVuYW1lPjoKLSAgICAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KLSAgICAgJCBzdWRvIGRuZiBpbnN0YWxsIHB5dGhvbjMtR2l0UHl0aG9uCi0gICAgICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICA8L2l0ZW1pemVkbGlzdD4KICAgICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgPC9zZWN0aW9uPgpAQCAtMjc0LDMzICsyMzksMTMgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KICAgICAgJCBzdWRvIHp5cHBlciBpbnN0YWxsICZPUEVOU1VTRV9IT1NUX1BBQ0tBR0VTX0VTU0VOVElBTDsKICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGl0ZXJhbGxheW91dD48L3BhcmE+PC9saXN0aXRlbT4KLSAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz5HcmFwaGljYWwgYW5kIEVjbGlwc2UgUGx1Zy1JbiBFeHRyYXM6PC9lbXBoYXNpcz4KLSAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2VzIHJlY29tbWVuZGVkIGlmIHRoZSBob3N0IHN5c3RlbSBoYXMgZ3JhcGhpY3MKLSAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQgb3IgaWYgeW91IGFyZSBnb2luZyB0byB1c2UgdGhlIEVjbGlwc2UKLSAgICAgICAgICAgICAgICAgICAgICAgIElERToKLSAgICAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KLSAgICAgJCBzdWRvIHp5cHBlciBpbnN0YWxsIGxpYlNETC1kZXZlbCB4dGVybQotICAgICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PjwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+PGVtcGhhc2lzPkRvY3VtZW50YXRpb246PC9lbXBoYXNpcz4KICAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2VzIG5lZWRlZCBpZiB5b3UgYXJlIGdvaW5nIHRvIGJ1aWxkIG91dCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgIFlvY3RvIFByb2plY3QgZG9jdW1lbnRhdGlvbiBtYW51YWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgotICAgICAkIHN1ZG8genlwcGVyIGluc3RhbGwgbWFrZSBkYmxhdGV4IHhtbHRvCi0gICAgICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+PC9wYXJhPjwvbGlzdGl0ZW0+Ci0gICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT48ZW1waGFzaXM+T3BlbkVtYmVkZGVkIFNlbGYtVGVzdCAoPGZpbGVuYW1lPm9lLXNlbGZ0ZXN0PC9maWxlbmFtZT4pOjwvZW1waGFzaXM+Ci0gICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlcyBuZWVkZWQgaWYgeW91IGFyZSBnb2luZyB0byBydW4KLSAgICAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5vZS1zZWxmdGVzdDwvZmlsZW5hbWU+OgotICAgICAgICAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgotICAgICAkIHN1ZG8genlwcGVyIGluc3RhbGwgcHl0aG9uLUdpdFB5dGhvbgorICAgICAkIHN1ZG8genlwcGVyIGluc3RhbGwgZGJsYXRleCB4bWx0bwogICAgICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PjwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgIDwvaXRlbWl6ZWRsaXN0PgotICAgICAgICAgICAgICAgIDxub3RlPgotICAgICAgICAgICAgICAgICAgICBTYW5pdHkgdGVzdGluZywgdGhyb3VnaCB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ncmVmLWNsYXNzZXMtdGVzdGltYWdlKic+dGVzdGltYWdlPC9saW5rPgotICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLCBkb2VzIG5vdCB3b3JrIG9uIHN5c3RlbXMgdXNpbmcgdGhlCi0gICAgICAgICAgICAgICAgICAgIDx1bGluayB1cmw9J2h0dHBzOi8vZW4ub3BlbnN1c2Uub3JnL1BvcnRhbDpXaWNrZWQnPldpY2tlZDwvdWxpbms+Ci0gICAgICAgICAgICAgICAgICAgIG5ldHdvcmsgbWFuYWdlci4KLSAgICAgICAgICAgICAgICA8L25vdGU+CiAgICAgICAgICAgICA8L3BhcmE+CiAgICAgICAgIDwvc2VjdGlvbj4KIApAQCAtMzE1LDcgKzI2MCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlcyBuZWVkZWQgdG8gYnVpbGQgYW4gaW1hZ2UgZm9yIGEgaGVhZGxlc3MKICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3RlbToKICAgICAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KLSAgICAgJCBzdWRvIHl1bSBpbnN0YWxsICZDRU5UT1NfSE9TVF9QQUNLQUdFU19FU1NFTlRJQUw7IFNETC1kZXZlbCB4dGVybQorICAgICAkIHN1ZG8geXVtIGluc3RhbGwgJkNFTlRPU19IT1NUX1BBQ0tBR0VTX0VTU0VOVElBTDsKICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGl0ZXJhbGxheW91dD4KICAgICAgICAgICAgICAgICAgICAgICAgIDxub3RlPjx0aXRsZT5Ob3RlczwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGl0ZW1pemVkbGlzdD4KQEAgLTMzNywyNyArMjgyLDEzIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pdGVtaXplZGxpc3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICA8L25vdGU+CiAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KLSAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz5HcmFwaGljYWwgYW5kIEVjbGlwc2UgUGx1Zy1JbiBFeHRyYXM6PC9lbXBoYXNpcz4KLSAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2VzIHJlY29tbWVuZGVkIGlmIHRoZSBob3N0IHN5c3RlbSBoYXMgZ3JhcGhpY3MKLSAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQgb3IgaWYgeW91IGFyZSBnb2luZyB0byB1c2UgdGhlIEVjbGlwc2UKLSAgICAgICAgICAgICAgICAgICAgICAgIElERToKLSAgICAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KLSAgICAgJCBzdWRvIHl1bSBpbnN0YWxsIFNETC1kZXZlbCB4dGVybQotICAgICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PjwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+PGVtcGhhc2lzPkRvY3VtZW50YXRpb246PC9lbXBoYXNpcz4KICAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2VzIG5lZWRlZCBpZiB5b3UgYXJlIGdvaW5nIHRvIGJ1aWxkIG91dCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgIFlvY3RvIFByb2plY3QgZG9jdW1lbnRhdGlvbiBtYW51YWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgotICAgICAkIHN1ZG8geXVtIGluc3RhbGwgbWFrZSBkb2Nib29rLXN0eWxlLWRzc3NsIGRvY2Jvb2stc3R5bGUteHNsIFwKKyAgICAgJCBzdWRvIHl1bSBpbnN0YWxsIGRvY2Jvb2stc3R5bGUtZHNzc2wgZG9jYm9vay1zdHlsZS14c2wgXAogICAgICBkb2Nib29rLWR0ZHMgZG9jYm9vay11dGlscyBmb3AgbGlieHNsdCBkYmxhdGV4IHhtbHRvCiAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+PC9wYXJhPjwvbGlzdGl0ZW0+Ci0gICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT48ZW1waGFzaXM+T3BlbkVtYmVkZGVkIFNlbGYtVGVzdCAoPGZpbGVuYW1lPm9lLXNlbGZ0ZXN0PC9maWxlbmFtZT4pOjwvZW1waGFzaXM+Ci0gICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlcyBuZWVkZWQgaWYgeW91IGFyZSBnb2luZyB0byBydW4KLSAgICAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5vZS1zZWxmdGVzdDwvZmlsZW5hbWU+OgotICAgICAgICAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgotICAgICAkIHN1ZG8geXVtIGluc3RhbGwgR2l0UHl0aG9uCi0gICAgICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICA8L2l0ZW1pemVkbGlzdD4KICAgICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgPC9zZWN0aW9uPgpkaWZmIC0tZ2l0IGEvcG9reS9kb2N1bWVudGF0aW9uL3JlZi1tYW51YWwvcmVmLXZhcmlhYmxlcy54bWwgYi9wb2t5L2RvY3VtZW50YXRpb24vcmVmLW1hbnVhbC9yZWYtdmFyaWFibGVzLnhtbAppbmRleCA5ZjZiYzFhLi42NDcwYzczIDEwMDY0NAotLS0gYS9wb2t5L2RvY3VtZW50YXRpb24vcmVmLW1hbnVhbC9yZWYtdmFyaWFibGVzLnhtbAorKysgYi9wb2t5L2RvY3VtZW50YXRpb24vcmVmLW1hbnVhbC9yZWYtdmFyaWFibGVzLnhtbApAQCAtMzYyMSw2MCArMzYyMSw2IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1ESVNLX1NJR05BVFVSRSc+PGdsb3NzdGVybT5ESVNLX1NJR05BVFVSRTwvZ2xvc3N0ZXJtPgotICAgICAgICAgICAgPGluZm8+Ci0gICAgICAgICAgICAgICAgRElTS19TSUdOQVRVUkVbZG9jXSA9ICJBIDMyLWJpdCBNQlIgZGlzayBzaWduYXR1cmUgdXNlZCBieSBkaXJlY3RkaXNrIGltYWdlcy4iCi0gICAgICAgICAgICA8L2luZm8+Ci0gICAgICAgICAgICA8Z2xvc3NkZWY+Ci0gICAgICAgICAgICAgICAgPHBhcmEgcm9sZT0iZ2xvc3NkZWZmaXJzdCI+Ci08IS0tICAgICAgICAgICAgICAgIDxwYXJhIHJvbGU9Imdsb3NzZGVmZmlyc3QiPjxpbWFnZWRhdGEgZmlsZXJlZj0iZmlndXJlcy9kZWZpbmUtZ2VuZXJpYy5wbmciIC8+IC0tPgotICAgICAgICAgICAgICAgICAgICBBIDMyLWJpdCBNQlIgZGlzayBzaWduYXR1cmUgdXNlZCBieQotICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+ZGlyZWN0ZGlzazwvZmlsZW5hbWU+IGltYWdlcy4KLSAgICAgICAgICAgICAgICA8L3BhcmE+Ci0KLSAgICAgICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgQnkgZGVmYXVsdCwgdGhlIHNpZ25hdHVyZSBpcyBzZXQgdG8gYW4gYXV0b21hdGljYWxseQotICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZWQgcmFuZG9tIHZhbHVlIHRoYXQgYWxsb3dzIHRoZSBPcGVuRW1iZWRkZWQKLSAgICAgICAgICAgICAgICAgICAgYnVpbGQgc3lzdGVtIHRvIGNyZWF0ZSBhIGJvb3QgbG9hZGVyLgotICAgICAgICAgICAgICAgICAgICBZb3UgY2FuIG92ZXJyaWRlIHRoZSBzaWduYXR1cmUgaW4gdGhlIGltYWdlIHJlY2lwZQotICAgICAgICAgICAgICAgICAgICBieSBzZXR0aW5nIDxmaWxlbmFtZT5ESVNLX1NJR05BVFVSRTwvZmlsZW5hbWU+IHRvIGFuCi0gICAgICAgICAgICAgICAgICAgIDgtZGlnaXQgaGV4IHN0cmluZy4KLSAgICAgICAgICAgICAgICAgICAgWW91IG1pZ2h0IHdhbnQgdG8gb3ZlcnJpZGUKLSAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPkRJU0tfU0lHTkFUVVJFPC9maWxlbmFtZT4gaWYgeW91IHdhbnQgdGhlIGRpc2sKLSAgICAgICAgICAgICAgICAgICAgc2lnbmF0dXJlIHRvIHJlbWFpbiBjb25zdGFudCBiZXR3ZWVuIGltYWdlIGJ1aWxkcy4KLSAgICAgICAgICAgICAgICA8L3BhcmE+Ci0KLSAgICAgICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgV2hlbiB1c2luZyBMaW51eCAzLjggb3IgbGF0ZXIsIHlvdSBjYW4gdXNlCi0gICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5ESVNLX1NJR05BVFVSRTwvZmlsZW5hbWU+IHRvIHNwZWNpZnkgdGhlIHJvb3QKLSAgICAgICAgICAgICAgICAgICAgYnkgVVVJRCB0byBhbGxvdyB0aGUga2VybmVsIHRvIGxvY2F0ZSB0aGUgcm9vdCBkZXZpY2UKLSAgICAgICAgICAgICAgICAgICAgZXZlbiBpZiB0aGUgZGV2aWNlIG5hbWUgY2hhbmdlcyBkdWUgdG8gZGlmZmVyZW5jZXMgaW4KLSAgICAgICAgICAgICAgICAgICAgaGFyZHdhcmUgY29uZmlndXJhdGlvbi4KLSAgICAgICAgICAgICAgICAgICAgQnkgZGVmYXVsdCwgPGZpbGVuYW1lPlJPT1RfVk08L2ZpbGVuYW1lPiBpcyBzZXQKLSAgICAgICAgICAgICAgICAgICAgYXMgZm9sbG93czoKLSAgICAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgotICAgICBST09UX1ZNID89ICJyb290PS9kZXYvc2RhMiIKLSAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgotICAgICAgICAgICAgICAgICAgICBIb3dldmVyLCB5b3UgY2FuIGNoYW5nZSB0aGlzIHRvIGxvY2F0ZSB0aGUgcm9vdCBkZXZpY2UKLSAgICAgICAgICAgICAgICAgICAgdXNpbmcgdGhlIGRpc2sgc2lnbmF0dXJlIGluc3RlYWQ6Ci0gICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KLSAgICAgUk9PVF9WTSA9ICJyb290PVBBUlRVVUlEPSR7RElTS19TSUdOQVRVUkV9LTAyIgotICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+Ci0gICAgICAgICAgICAgICAgPC9wYXJhPgotCi0gICAgICAgICAgICAgICAgPHBhcmE+Ci0gICAgICAgICAgICAgICAgICAgIEFzIHByZXZpb3VzbHkgbWVudGlvbmVkLCBpdCBpcyBwb3NzaWJsZSB0byBzZXQgdGhlCi0gICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5ESVNLX1NJR05BVFVSRTwvZmlsZW5hbWU+IHZhcmlhYmxlIGluIHlvdXIKLSAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPmxvY2FsLmNvbmY8L2ZpbGVuYW1lPiBmaWxlIHRvIGEgZml4ZWQKLSAgICAgICAgICAgICAgICAgICAgdmFsdWUgaWYgeW91IGRvIG5vdCB3YW50IDxmaWxlbmFtZT5zeXNsaW51eC5jZmc8L2ZpbGVuYW1lPgotICAgICAgICAgICAgICAgICAgICBjaGFuZ2luZyBmb3IgZWFjaCBidWlsZC4KLSAgICAgICAgICAgICAgICAgICAgWW91IG1pZ2h0IGZpbmQgdGhpcyB1c2VmdWwgd2hlbiB5b3Ugd2FudCB0byB1cGdyYWRlIHRoZQotICAgICAgICAgICAgICAgICAgICByb290IGZpbGVzeXN0ZW0gb24gYSBkZXZpY2Ugd2l0aG91dCBoYXZpbmcgdG8gcmVjcmVhdGUgb3IKLSAgICAgICAgICAgICAgICAgICAgbW9kaWZ5IHRoZSBtYXN0ZXIgYm9vdCByZWNvcmQuCi0gICAgICAgICAgICAgICAgPC9wYXJhPgotICAgICAgICAgICAgPC9nbG9zc2RlZj4KLSAgICAgICAgPC9nbG9zc2VudHJ5PgotCiAgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItRElTVFJPJz48Z2xvc3N0ZXJtPkRJU1RSTzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGluZm8+CiAgICAgICAgICAgICAgICAgRElTVFJPW2RvY10gPSAiVGhlIHNob3J0IG5hbWUgb2YgdGhlIGRpc3RyaWJ1dGlvbi4gSWYgdGhlIHZhcmlhYmxlIGlzIGJsYW5rLCBtZXRhL2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5jb25mIHdpbGwgYmUgdXNlZC4iCkBAIC0zODc3LDcgKzM4MjMsNyBAQAogICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+RElTVFJPX0ZFQVRVUkVTX0RFRkFVTFQ8L2ZpbGVuYW1lPiBmcm9tIGEKICAgICAgICAgICAgICAgICAgICAgY3VzdG9tIGRpc3RybyBjb25maWd1cmF0aW9uIGZpbGU6CiAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KLSAgICAgRElTVFJPX0ZFQVRVUkVTID89ICIke0RJU1RST19GRUFUVVJFU19ERUZBVUxUfSAke0RJU1RST19GRUFUVVJFU19MSUJDfSBteWZlYXR1cmUiCisgICAgIERJU1RST19GRUFUVVJFUyA/PSAiJHtESVNUUk9fRkVBVFVSRVNfREVGQVVMVH0gbXlmZWF0dXJlIgogICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CiAgICAgICAgICAgICAgICAgPC9wYXJhPgogICAgICAgICAgICAgPC9nbG9zc2RlZj4KQEAgLTM5MjQsMTMgKzM4NzAsMTQgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAorPCEtLQogICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLURJU1RST19GRUFUVVJFU19MSUJDJz48Z2xvc3N0ZXJtPkRJU1RST19GRUFUVVJFU19MSUJDPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8aW5mbz4KICAgICAgICAgICAgICAgICBESVNUUk9fRkVBVFVSRVNfTElCQ1tkb2NdID0gIlNwZWNpZmllcyB0aGUgbGlzdCBvZiBkaXN0cm8gZmVhdHVyZXMgdGhhdCBhcmUgc3BlY2lmaWMgdG8gdGhlIEMgbGlicmFyeSAobGliYykuIgogICAgICAgICAgICAgPC9pbmZvPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhIHJvbGU9Imdsb3NzZGVmZmlyc3QiPgotPCEtLSAgICAgICAgICAgICAgICA8cGFyYSByb2xlPSJnbG9zc2RlZmZpcnN0Ij48aW1hZ2VkYXRhIGZpbGVyZWY9ImZpZ3VyZXMvZGVmaW5lLWdlbmVyaWMucG5nIiAvPiAtLT4KKyAgICAgICAgICAgICAgICAgICAgPHBhcmEgcm9sZT0iZ2xvc3NkZWZmaXJzdCI+PGltYWdlZGF0YSBmaWxlcmVmPSJmaWd1cmVzL2RlZmluZS1nZW5lcmljLnBuZyIgLz4KICAgICAgICAgICAgICAgICAgICAgQSBjb252ZW5pZW5jZSB2YXJpYWJsZSB0aGF0IHNwZWNpZmllcyB0aGUgbGlzdCBvZiBkaXN0cm8KICAgICAgICAgICAgICAgICAgICAgZmVhdHVyZXMgdGhhdCBhcmUgc3BlY2lmaWMgdG8gdGhlIEMgbGlicmFyeQogICAgICAgICAgICAgICAgICAgICAoPGZpbGVuYW1lPmxpYmM8L2ZpbGVuYW1lPikuCkBAIC0zOTQwLDYgKzM4ODcsNyBAQAogICAgICAgICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KKy0tPgogCiAgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItRElTVFJPX0ZFQVRVUkVTX05BVElWRSc+PGdsb3NzdGVybT5ESVNUUk9fRkVBVFVSRVNfTkFUSVZFPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8aW5mbz4KQEAgLTUwMTIsOSArNDk2MCwxNyBAQAogICAgICAgICAgICAgICAgICAgICBBIHN1YnNldCBvZiA8bGluayBsaW5rZW5kPSd2YXItT1ZFUlJJREVTJz48ZmlsZW5hbWU+T1ZFUlJJREVTPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIHVzZWQgYnkgdGhlIE9wZW5FbWJlZGRlZCBidWlsZCBzeXN0ZW0gZm9yIGNyZWF0aW5nCiAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1GSUxFU1BBVEgnPjxmaWxlbmFtZT5GSUxFU1BBVEg8L2ZpbGVuYW1lPjwvbGluaz4uCi0gICAgICAgICAgICAgICAgICAgIFlvdSBjYW4gZmluZCBtb3JlIGluZm9ybWF0aW9uIG9uIGhvdyBvdmVycmlkZXMgYXJlIGhhbmRsZWQKLSAgICAgICAgICAgICAgICAgICAgaW4gdGhlCi0gICAgICAgICAgICAgICAgICAgIDx1bGluayB1cmw9JyZZT0NUT19ET0NTX0JCX1VSTDsnPkJpdEJha2UgVXNlciBNYW51YWw8L3VsaW5rPi4KKyAgICAgICAgICAgICAgICAgICAgVGhlIDxmaWxlbmFtZT5GSUxFU09WRVJSSURFUzwvZmlsZW5hbWU+IHZhcmlhYmxlIHVzZXMKKyAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVzIHRvIGF1dG9tYXRpY2FsbHkgZXh0ZW5kIHRoZQorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItRklMRVNQQVRIJz48ZmlsZW5hbWU+RklMRVNQQVRIPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlLgorICAgICAgICAgICAgICAgICAgICBGb3IgYW4gZXhhbXBsZSBvZiBob3cgdGhhdCB3b3Jrcywgc2VlIHRoZQorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItRklMRVNQQVRIJz48ZmlsZW5hbWU+RklMRVNQQVRIPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlIGRlc2NyaXB0aW9uLgorICAgICAgICAgICAgICAgICAgICBBZGRpdGlvbmFsbHksIHlvdSBmaW5kIG1vcmUgaW5mb3JtYXRpb24gb24gaG93IG92ZXJyaWRlcworICAgICAgICAgICAgICAgICAgICBhcmUgaGFuZGxlZCBpbiB0aGUKKyAgICAgICAgICAgICAgICAgICAgIjx1bGluayB1cmw9JyZZT0NUT19ET0NTX0JCX1VSTDsjY29uZGl0aW9uYWwtc3ludGF4LW92ZXJyaWRlcyc+Q29uZGl0aW9uYWwgU3ludGF4IChPdmVycmlkZXMpPC91bGluaz4iCisgICAgICAgICAgICAgICAgICAgIHNlY3Rpb24gb2YgdGhlIEJpdEJha2UgVXNlciBNYW51YWwuCiAgICAgICAgICAgICAgICAgPC9wYXJhPgogCiAgICAgICAgICAgICAgICAgPHBhcmE+CkBAIC01MDQxLDExICs0OTk3LDE0IEBACiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmEgcm9sZT0iZ2xvc3NkZWZmaXJzdCI+CiA8IS0tICAgICAgICAgICAgICAgIDxwYXJhIHJvbGU9Imdsb3NzZGVmZmlyc3QiPjxpbWFnZWRhdGEgZmlsZXJlZj0iZmlndXJlcy9kZWZpbmUtZ2VuZXJpYy5wbmciIC8+IC0tPgotICAgICAgICAgICAgICAgICAgICBUaGUgZGVmYXVsdCBzZXQgb2YgZGlyZWN0b3JpZXMgdGhlIE9wZW5FbWJlZGRlZCBidWlsZCBzeXN0ZW0KLSAgICAgICAgICAgICAgICAgICAgdXNlcyB3aGVuIHNlYXJjaGluZyBmb3IgcGF0Y2hlcyBhbmQgZmlsZXMuCi0gICAgICAgICAgICAgICAgICAgIER1cmluZyB0aGUgYnVpbGQgcHJvY2VzcywgQml0QmFrZSBzZWFyY2hlcyBlYWNoIGRpcmVjdG9yeSBpbgotICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+RklMRVNQQVRIPC9maWxlbmFtZT4gaW4gdGhlIHNwZWNpZmllZCBvcmRlciB3aGVuCi0gICAgICAgICAgICAgICAgICAgIGxvb2tpbmcgZm9yIGZpbGVzIGFuZCBwYXRjaGVzIHNwZWNpZmllZCBieSBlYWNoCisgICAgICAgICAgICAgICAgICAgIFRoZSBkZWZhdWx0IHNldCBvZiBkaXJlY3RvcmllcyB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkCisgICAgICAgICAgICAgICAgICAgIHN5c3RlbSB1c2VzIHdoZW4gc2VhcmNoaW5nIGZvciBwYXRjaGVzIGFuZCBmaWxlcy4KKyAgICAgICAgICAgICAgICA8L3BhcmE+CisKKyAgICAgICAgICAgICAgICA8cGFyYT4KKyAgICAgICAgICAgICAgICAgICAgRHVyaW5nIHRoZSBidWlsZCBwcm9jZXNzLCBCaXRCYWtlIHNlYXJjaGVzIGVhY2ggZGlyZWN0b3J5CisgICAgICAgICAgICAgICAgICAgIGluIDxmaWxlbmFtZT5GSUxFU1BBVEg8L2ZpbGVuYW1lPiBpbiB0aGUgc3BlY2lmaWVkIG9yZGVyCisgICAgICAgICAgICAgICAgICAgIHdoZW4gbG9va2luZyBmb3IgZmlsZXMgYW5kIHBhdGNoZXMgc3BlY2lmaWVkIGJ5IGVhY2gKICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPmZpbGU6Ly88L2ZpbGVuYW1lPiBVUkkgaW4gYSByZWNpcGUncwogICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItU1JDX1VSSSc+PGZpbGVuYW1lPlNSQ19VUkk8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgc3RhdGVtZW50cy4KQEAgLTUwNjAsMjMgKzUwMTksNjIgQEAKICAgICAgRklMRVNQQVRIID0gIiR7QGJhc2Vfc2V0X2ZpbGVzcGF0aChbIiR7RklMRV9ESVJOQU1FfS8ke0JQfSIsIFwKICAgICAgICAgIiR7RklMRV9ESVJOQU1FfS8ke0JQTn0iLCAiJHtGSUxFX0RJUk5BTUV9L2ZpbGVzIl0sIGQpfSIKICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgotICAgICAgICAgICAgICAgICAgICA8bm90ZT4KLSAgICAgICAgICAgICAgICAgICAgICAgIERvIG5vdCBoYW5kLWVkaXQgdGhlIDxmaWxlbmFtZT5GSUxFU1BBVEg8L2ZpbGVuYW1lPgotICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUuCi0gICAgICAgICAgICAgICAgICAgICAgICBJZiB5b3Ugd2FudCB0aGUgYnVpbGQgc3lzdGVtIHRvIGxvb2sgaW4gZGlyZWN0b3JpZXMKLSAgICAgICAgICAgICAgICAgICAgICAgIG90aGVyIHRoYW4gdGhlIGRlZmF1bHRzLCBleHRlbmQgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+RklMRVNQQVRIPC9maWxlbmFtZT4gdmFyaWFibGUgYnkgdXNpbmcgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItRklMRVNFWFRSQVBBVEhTJz48ZmlsZW5hbWU+RklMRVNFWFRSQVBBVEhTPC9maWxlbmFtZT48L2xpbms+Ci0gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZS4KKyAgICAgICAgICAgICAgICAgICAgVGhlIDxmaWxlbmFtZT5GSUxFU1BBVEg8L2ZpbGVuYW1lPiB2YXJpYWJsZSBpcyBhdXRvbWF0aWNhbGx5CisgICAgICAgICAgICAgICAgICAgIGV4dGVuZGVkIHVzaW5nIHRoZSBvdmVycmlkZXMgZnJvbSB0aGUKKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUZJTEVTT1ZFUlJJREVTJz48ZmlsZW5hbWU+RklMRVNPVkVSUklERVM8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUuCisgICAgICAgICAgICAgICAgICAgIDxub3RlPjx0aXRsZT5Ob3RlczwvdGl0bGU+CisgICAgICAgICAgICAgICAgICAgICAgICA8aXRlbWl6ZWRsaXN0PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRG8gbm90IGhhbmQtZWRpdCB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPkZJTEVTUEFUSDwvZmlsZW5hbWU+IHZhcmlhYmxlLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiB5b3Ugd2FudCB0aGUgYnVpbGQgc3lzdGVtIHRvIGxvb2sgaW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0b3JpZXMgb3RoZXIgdGhhbiB0aGUgZGVmYXVsdHMsIGV4dGVuZCB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPkZJTEVTUEFUSDwvZmlsZW5hbWU+IHZhcmlhYmxlIGJ5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzaW5nIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItRklMRVNFWFRSQVBBVEhTJz48ZmlsZW5hbWU+RklMRVNFWFRSQVBBVEhTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlIGF3YXJlIHRoYXQgdGhlIGRlZmF1bHQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPkZJTEVTUEFUSDwvZmlsZW5hbWU+IGRpcmVjdG9yaWVzIGRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdCBtYXAgdG8gZGlyZWN0b3JpZXMgaW4gY3VzdG9tIGxheWVycworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVyZSBhcHBlbmQgZmlsZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDxmaWxlbmFtZT4uYmJhcHBlbmQ8L2ZpbGVuYW1lPikgYXJlIHVzZWQuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIHlvdSB3YW50IHRoZSBidWlsZCBzeXN0ZW0gdG8gZmluZCBwYXRjaGVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIGZpbGVzIHRoYXQgcmVzaWRlIHdpdGggeW91ciBhcHBlbmQgZmlsZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHlvdSBuZWVkIHRvIGV4dGVuZCB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPkZJTEVTUEFUSDwvZmlsZW5hbWU+IHZhcmlhYmxlIGJ5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzaW5nIHRoZSA8ZmlsZW5hbWU+RklMRVNFWFRSQVBBVEhTPC9maWxlbmFtZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgorICAgICAgICAgICAgICAgICAgICAgICAgPC9pdGVtaXplZGxpc3Q+CiAgICAgICAgICAgICAgICAgICAgIDwvbm90ZT4KLSAgICAgICAgICAgICAgICAgICAgQmUgYXdhcmUgdGhhdCB0aGUgZGVmYXVsdCA8ZmlsZW5hbWU+RklMRVNQQVRIPC9maWxlbmFtZT4KLSAgICAgICAgICAgICAgICAgICAgZGlyZWN0b3JpZXMgZG8gbm90IG1hcCB0byBkaXJlY3RvcmllcyBpbiBjdXN0b20gbGF5ZXJzCi0gICAgICAgICAgICAgICAgICAgIHdoZXJlIGFwcGVuZCBmaWxlcyAoPGZpbGVuYW1lPi5iYmFwcGVuZDwvZmlsZW5hbWU+KQotICAgICAgICAgICAgICAgICAgICBhcmUgdXNlZC4KLSAgICAgICAgICAgICAgICAgICAgSWYgeW91IHdhbnQgdGhlIGJ1aWxkIHN5c3RlbSB0byBmaW5kIHBhdGNoZXMgb3IgZmlsZXMKLSAgICAgICAgICAgICAgICAgICAgdGhhdCByZXNpZGUgd2l0aCB5b3VyIGFwcGVuZCBmaWxlcywgeW91IG5lZWQgdG8gZXh0ZW5kCi0gICAgICAgICAgICAgICAgICAgIHRoZSA8ZmlsZW5hbWU+RklMRVNQQVRIPC9maWxlbmFtZT4gdmFyaWFibGUgYnkgdXNpbmcKLSAgICAgICAgICAgICAgICAgICAgdGhlIDxmaWxlbmFtZT5GSUxFU0VYVFJBUEFUSFM8L2ZpbGVuYW1lPiB2YXJpYWJsZS4KKyAgICAgICAgICAgICAgICA8L3BhcmE+CisKKyAgICAgICAgICAgICAgICA8cGFyYT4KKyAgICAgICAgICAgICAgICAgICAgWW91IGNhbiB0YWtlIGFkdmFudGFnZSBvZiB0aGlzIHNlYXJjaGluZyBiZWhhdmlvciBpbgorICAgICAgICAgICAgICAgICAgICB1c2VmdWwgd2F5cy4KKyAgICAgICAgICAgICAgICAgICAgRm9yIGV4YW1wbGUsIGNvbnNpZGVyIGEgY2FzZSB3aGVyZSB0aGUgZm9sbG93aW5nCisgICAgICAgICAgICAgICAgICAgIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgZXhpc3RzIGZvciBnZW5lcmFsIGFuZCBtYWNoaW5lLXNwZWNpZmljCisgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb25zOgorICAgICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+CisgICAgIGZpbGVzL2RlZmNvbmZpZworICAgICBmaWxlcy9NQUNISU5FQS9kZWZjb25maWcKKyAgICAgZmlsZXMvTUFDSElORUIvZGVmY29uZmlnCisgICAgICAgICAgICAgICAgICAgIDwvbGl0ZXJhbGxheW91dD4KKyAgICAgICAgICAgICAgICAgICAgQWxzbyBpbiB0aGUgZXhhbXBsZSwgdGhlIDxmaWxlbmFtZT5TUkNfVVJJPC9maWxlbmFtZT4KKyAgICAgICAgICAgICAgICAgICAgc3RhdGVtZW50IGNvbnRhaW5zICJmaWxlOi8vZGVmY29uZmlnIi4KKyAgICAgICAgICAgICAgICAgICAgR2l2ZW4gdGhpcyBzY2VuYXJpbywgeW91IGNhbiBzZXQKKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLU1BQ0hJTkUnPjxmaWxlbmFtZT5NQUNISU5FPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIHRvICJNQUNISU5FQSIgYW5kIGNhdXNlIHRoZSBidWlsZCBzeXN0ZW0gdG8gdXNlIGZpbGVzCisgICAgICAgICAgICAgICAgICAgIGZyb20gPGZpbGVuYW1lPmZpbGVzL01BQ0hJTkVBPC9maWxlbmFtZT4uCisgICAgICAgICAgICAgICAgICAgIFNldCA8ZmlsZW5hbWU+TUFDSElORTwvZmlsZW5hbWU+IHRvICJNQUNISU5FQiIgYW5kIHRoZQorICAgICAgICAgICAgICAgICAgICBidWlsZCBzeXN0ZW0gdXNlcyBmaWxlcyBmcm9tCisgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5maWxlcy9NQUNISU5FQjwvZmlsZW5hbWU+LgorICAgICAgICAgICAgICAgICAgICBGaW5hbGx5LCBmb3IgYW55IG1hY2hpbmUgb3RoZXIgdGhhbiAiTUFDSElORUEiIGFuZAorICAgICAgICAgICAgICAgICAgICAiTUFDSElORUIiLCB0aGUgYnVpbGQgc3lzdGVtIHVzZXMgZmlsZXMgZnJvbQorICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+ZmlsZXMvZGVmY29uZmlnPC9maWxlbmFtZT4uCiAgICAgICAgICAgICAgICAgPC9wYXJhPgogCiAgICAgICAgICAgICAgICAgPHBhcmE+CkBAIC02MDc2LDExICs2MDc0LDEyIEBACiAgICAgICAgICAgICAgICAgPG5vdGU+PHRpdGxlPk5vdGVzPC90aXRsZT4KICAgICAgICAgICAgICAgICAgICAgPGl0ZW1pemVkbGlzdD4KICAgICAgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiB5b3UgYWRkICJsaXZlIiB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5JTUFHRV9GU1RZUEVTPC9maWxlbmFtZT4gaW5zaWRlIGFuIGltYWdlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjaXBlLCBiZSBzdXJlIHRoYXQgeW91IGRvIHNvIHByaW9yIHRvIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpbmhlcml0IGltYWdlIiBsaW5lIG9mIHRoZSByZWNpcGUgb3IgdGhlIGxpdmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZSB3aWxsIG5vdCBidWlsZC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiBhbiBpbWFnZSByZWNpcGUgdXNlcyB0aGUgImluaGVyaXQgaW1hZ2UiIGxpbmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgeW91IGFyZSBzZXR0aW5nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPklNQUdFX0ZTVFlQRVM8L2ZpbGVuYW1lPiBpbnNpZGUgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjaXBlLCB5b3UgbXVzdCBzZXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+SU1BR0VfRlNUWVBFUzwvZmlsZW5hbWU+IHByaW9yIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNpbmcgdGhlICJpbmhlcml0IGltYWdlIiBsaW5lLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIER1ZSB0byB0aGUgd2F5IHRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtCkBAIC02ODY2LDYgKzY4NjUsNDQgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUlOSElCSVRfU1lTUk9PVF9TVFJJUCc+PGdsb3NzdGVybT5JTkhJQklUX1NZU1JPT1RfU1RSSVA8L2dsb3NzdGVybT4KKyAgICAgICAgICAgIDxpbmZvPgorICAgICAgICAgICAgICAgIElOSElCSVRfU1lTUk9PVF9TVFJJUFtkb2NdID0gIklmIHNldCB0byAiMSIsIGNhdXNlcyB0aGUgYnVpbGQgdG8gbm90IHN0cmlwIGJpbmFyaWVzIGluIHRoZSByZXN1bHRpbmcgc3lzcm9vdC4iCisgICAgICAgICAgICA8L2luZm8+CisgICAgICAgICAgICA8Z2xvc3NkZWY+CisgICAgICAgICAgICAgICAgPHBhcmEgcm9sZT0iZ2xvc3NkZWZmaXJzdCI+Cis8IS0tICAgICAgICAgICAgICAgIDxwYXJhIHJvbGU9Imdsb3NzZGVmZmlyc3QiPjxpbWFnZWRhdGEgZmlsZXJlZj0iZmlndXJlcy9kZWZpbmUtZ2VuZXJpYy5wbmciIC8+IC0tPgorICAgICAgICAgICAgICAgICAgICBJZiBzZXQgdG8gIjEiLCBjYXVzZXMgdGhlIGJ1aWxkIHRvIG5vdCBzdHJpcCBiaW5hcmllcyBpbgorICAgICAgICAgICAgICAgICAgICB0aGUgcmVzdWx0aW5nIHN5c3Jvb3QuCisgICAgICAgICAgICAgICAgPC9wYXJhPgorCisgICAgICAgICAgICAgICAgPHBhcmE+CisgICAgICAgICAgICAgICAgICAgIEJ5IGRlZmF1bHQsIHRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtIHN0cmlwcworICAgICAgICAgICAgICAgICAgICBiaW5hcmllcyBpbiB0aGUgcmVzdWx0aW5nIHN5c3Jvb3QuCisgICAgICAgICAgICAgICAgICAgIFdoZW4geW91IHNwZWNpZmljYWxseSBzZXQgdGhlCisgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5JTkhJQklUX1NZU1JPT1RfU1RSSVA8L2ZpbGVuYW1lPiB2YXJpYWJsZSB0bworICAgICAgICAgICAgICAgICAgICAiMSIgaW4geW91ciByZWNpcGUsIHlvdSBpbmhpYml0IHRoaXMgc3RyaXBwaW5nLgorICAgICAgICAgICAgICAgIDwvcGFyYT4KKworICAgICAgICAgICAgICAgIDxwYXJhPgorICAgICAgICAgICAgICAgICAgICBJZiB5b3Ugd2FudCB0byB1c2UgdGhpcyB2YXJpYWJsZSwgaW5jbHVkZSB0aGUKKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ncmVmLWNsYXNzZXMtc3RhZ2luZyc+PGZpbGVuYW1lPnN0YWdpbmc8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgY2xhc3MuCisgICAgICAgICAgICAgICAgICAgIFRoaXMgY2xhc3MgdXNlcyBhIDxmaWxlbmFtZT5zeXNfc3RyaXAoKTwvZmlsZW5hbWU+CisgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvIHRlc3QgZm9yIHRoZSB2YXJpYWJsZSBhbmQgYWN0cyBhY2NvcmRpbmdseS4KKyAgICAgICAgICAgICAgICAgICAgPG5vdGU+CisgICAgICAgICAgICAgICAgICAgICAgICBVc2Ugb2YgdGhlIDxmaWxlbmFtZT5JTkhJQklUX1NZU1JPT1RfU1RSSVA8L2ZpbGVuYW1lPgorICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUgb2NjdXJzIGluIHJhcmUgYW5kIHNwZWNpYWwgY2lyY3Vtc3RhbmNlcy4KKyAgICAgICAgICAgICAgICAgICAgICAgIEZvciBleGFtcGxlLCBzdXBwb3NlIHlvdSBhcmUgYnVpbGRpbmcgYmFyZS1tZXRhbAorICAgICAgICAgICAgICAgICAgICAgICAgZmlybXdhcmUgYnkgdXNpbmcgYW4gZXh0ZXJuYWwgR0NDIHRvb2xjaGFpbi4KKyAgICAgICAgICAgICAgICAgICAgICAgIEZ1cnRoZXJtb3JlLCBldmVuIGlmIHRoZSB0b29sY2hhaW4ncyBiaW5hcmllcyBhcmUKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlwcGFibGUsIG90aGVyIGZpbGVzIGV4aXN0IHRoYXQgYXJlIG5lZWRlZCBmb3IgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICBidWlsZCB0aGF0IGFyZSBub3Qgc3RyaXBwYWJsZS4KKyAgICAgICAgICAgICAgICAgICAgPC9ub3RlPgorICAgICAgICAgICAgICAgIDwvcGFyYT4KKyAgICAgICAgICAgIDwvZ2xvc3NkZWY+CisgICAgICAgIDwvZ2xvc3NlbnRyeT4KKwogICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUlOSVRSQU1GU19GU1RZUEVTJz48Z2xvc3N0ZXJtPklOSVRSQU1GU19GU1RZUEVTPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8aW5mbz4KICAgICAgICAgICAgICAgICBJTklUUkFNRlNfRlNUWVBFU1tkb2NdID0gIkRlZmluZXMgdGhlIGZvcm1hdCBmb3IgdGhlIG91dHB1dCBpbWFnZSBvZiBhbiBpbml0aWFsIFJBTSBmaWxlc3lzdGVtIChpbml0cmFtZnMpLCB3aGljaCBpcyB1c2VkIGR1cmluZyBib290LiIKQEAgLTk5MzMsNyArOTk3MCw2IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPi9iaW4vLmRlYnVnPC9maWxlbmFtZT4uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlIGZpbGVzIGFyZSBwbGFjZWQgaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+L3Vzci9zcmMvZGVidWc8L2ZpbGVuYW1lPi4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGlzIHRoZSBkZWZhdWx0IGJlaGF2aW9yLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWJ1Zy1maWxlLWRpcmVjdG9yeSI6IERlYnVnIHN5bWJvbCBmaWxlcyBhcmUKQEAgLTk5NTcsNiArOTk5Myw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi5kZWJ1ZyIgcHJldmlvdXNseSBkZXNjcmliZWQgd2l0aCB0aGUgZXhjZXB0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdCBhbGwgc291cmNlIGZpbGVzIGFyZSBwbGFjZWQgaW4gYSBzZXBhcmF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT4qLXNyYzwvZmlsZW5hbWU+IHBrZy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGlzIHRoZSBkZWZhdWx0IGJlaGF2aW9yLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgICAgICA8L2l0ZW1pemVkbGlzdD4KICAgICAgICAgICAgICAgICA8L3BhcmE+CkBAIC0xMzAwMiw3ICsxMzAzOSw3IEBACiAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT4vbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjwvZmlsZW5hbWU+KQogICAgICAgICAgICAgICAgICAgICBkZWZpbmVzIHRoZSA8ZmlsZW5hbWU+U0RLX1ZFUlNJT048L2ZpbGVuYW1lPiBhcyBmb2xsb3dzOgogICAgICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+Ci0gICAgIFNES19WRVJTSU9OIDo9ICIke0AnJHtESVNUUk9fVkVSU0lPTn0nLnJlcGxhY2UoJ3NuYXBzaG90LSR7REFURX0nLCdzbmFwc2hvdCcpfSIKKyAgICAgU0RLX1ZFUlNJT04gPSAiJHtAZC5nZXRWYXIoJ0RJU1RST19WRVJTSU9OJykucmVwbGFjZSgnc25hcHNob3QtJHtEQVRFfScsJ3NuYXBzaG90Jyl9IgogICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CiAgICAgICAgICAgICAgICAgPC9wYXJhPgogCmRpZmYgLS1naXQgYS9wb2t5L2RvY3VtZW50YXRpb24vcmVmLW1hbnVhbC9yZXNvdXJjZXMueG1sIGIvcG9reS9kb2N1bWVudGF0aW9uL3JlZi1tYW51YWwvcmVzb3VyY2VzLnhtbAppbmRleCBiZTA0Njk2Li42YTBjZWU4IDEwMDY0NAotLS0gYS9wb2t5L2RvY3VtZW50YXRpb24vcmVmLW1hbnVhbC9yZXNvdXJjZXMueG1sCisrKyBiL3Bva3kvZG9jdW1lbnRhdGlvbi9yZWYtbWFudWFsL3Jlc291cmNlcy54bWwKQEAgLTE1NSw3ICsxNTUsNyBAQAogICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgogICAgICAgICAgICAgICAgIDxlbXBoYXNpcz4KLSAgICAgICAgICAgICAgICA8dWxpbmsgdXJsPScmWU9DVE9fRE9DU19CQl9VUkw7Jz5CaXRCYWtlIFVzZXIgTWFudWFsOjwvdWxpbms+CisgICAgICAgICAgICAgICAgPHVsaW5rIHVybD0nJllPQ1RPX0RPQ1NfQkJfVVJMOyc+Qml0QmFrZSBVc2VyIE1hbnVhbDwvdWxpbms+OgogICAgICAgICAgICAgICAgIDwvZW1waGFzaXM+CiAgICAgICAgICAgICAgICAgQSBjb21wcmVoZW5zaXZlIGd1aWRlIHRvIHRoZSBCaXRCYWtlIHRvb2wuCiAgICAgICAgICAgICAgICAgSWYgeW91IHdhbnQgaW5mb3JtYXRpb24gb24gQml0QmFrZSwgc2VlIHRoaXMgbWFudWFsLgpkaWZmIC0tZ2l0IGEvcG9reS9kb2N1bWVudGF0aW9uL3Nkay1tYW51YWwvc2RrLW1hbnVhbC54bWwgYi9wb2t5L2RvY3VtZW50YXRpb24vc2RrLW1hbnVhbC9zZGstbWFudWFsLnhtbAppbmRleCA3ZjkzZDVmLi4xODI4MTE5IDEwMDY0NAotLS0gYS9wb2t5L2RvY3VtZW50YXRpb24vc2RrLW1hbnVhbC9zZGstbWFudWFsLnhtbAorKysgYi9wb2t5L2RvY3VtZW50YXRpb24vc2RrLW1hbnVhbC9zZGstbWFudWFsLnhtbApAQCAtNjIsOSArNjIsOSBAQAogICAgICAgICAgICAgICAgIDxyZXZyZW1hcms+UmVsZWFzZWQgd2l0aCB0aGUgWW9jdG8gUHJvamVjdCAyLjYgUmVsZWFzZS48L3JldnJlbWFyaz4KICAgICAgICAgICAgIDwvcmV2aXNpb24+CiAgICAgICAgICAgICA8cmV2aXNpb24+Ci0gICAgICAgICAgICAgICAgPHJldm51bWJlcj4yLjYuMTwvcmV2bnVtYmVyPgorICAgICAgICAgICAgICAgIDxyZXZudW1iZXI+Mi43PC9yZXZudW1iZXI+CiAgICAgICAgICAgICAgICAgPGRhdGU+JlJFTF9NT05USF9ZRUFSOzwvZGF0ZT4KLSAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi42LjEgUmVsZWFzZS48L3JldnJlbWFyaz4KKyAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi43IFJlbGVhc2UuPC9yZXZyZW1hcms+CiAgICAgICAgICAgICA8L3JldmlzaW9uPgogICAgICAgIDwvcmV2aGlzdG9yeT4KIApkaWZmIC0tZ2l0IGEvcG9reS9kb2N1bWVudGF0aW9uL3RvYXN0ZXItbWFudWFsL3RvYXN0ZXItbWFudWFsLnhtbCBiL3Bva3kvZG9jdW1lbnRhdGlvbi90b2FzdGVyLW1hbnVhbC90b2FzdGVyLW1hbnVhbC54bWwKaW5kZXggZGNjMjk5MC4uNDJkYzZhMyAxMDA2NDQKLS0tIGEvcG9reS9kb2N1bWVudGF0aW9uL3RvYXN0ZXItbWFudWFsL3RvYXN0ZXItbWFudWFsLnhtbAorKysgYi9wb2t5L2RvY3VtZW50YXRpb24vdG9hc3Rlci1tYW51YWwvdG9hc3Rlci1tYW51YWwueG1sCkBAIC03Miw5ICs3Miw5IEBACiAgICAgICAgICAgICAgICAgPHJldnJlbWFyaz5SZWxlYXNlZCB3aXRoIHRoZSBZb2N0byBQcm9qZWN0IDIuNiBSZWxlYXNlLjwvcmV2cmVtYXJrPgogICAgICAgICAgICAgPC9yZXZpc2lvbj4KICAgICAgICAgICAgIDxyZXZpc2lvbj4KLSAgICAgICAgICAgICAgICA8cmV2bnVtYmVyPjIuNi4xPC9yZXZudW1iZXI+CisgICAgICAgICAgICAgICAgPHJldm51bWJlcj4yLjc8L3Jldm51bWJlcj4KICAgICAgICAgICAgICAgICA8ZGF0ZT4mUkVMX01PTlRIX1lFQVI7PC9kYXRlPgotICAgICAgICAgICAgICAgIDxyZXZyZW1hcms+UmVsZWFzZWQgd2l0aCB0aGUgWW9jdG8gUHJvamVjdCAyLjYuMSBSZWxlYXNlLjwvcmV2cmVtYXJrPgorICAgICAgICAgICAgICAgIDxyZXZyZW1hcms+UmVsZWFzZWQgd2l0aCB0aGUgWW9jdG8gUHJvamVjdCAyLjcgUmVsZWFzZS48L3JldnJlbWFyaz4KICAgICAgICAgICAgIDwvcmV2aXNpb24+CiAgICAgICAgPC9yZXZoaXN0b3J5PgogCmRpZmYgLS1naXQgYS9wb2t5L2RvY3VtZW50YXRpb24vdG9vbHMvbWVnYS1tYW51YWwuc2VkIGIvcG9reS9kb2N1bWVudGF0aW9uL3Rvb2xzL21lZ2EtbWFudWFsLnNlZAppbmRleCBmNmUyMDVmLi43OWJiZWVmIDEwMDY0NAotLS0gYS9wb2t5L2RvY3VtZW50YXRpb24vdG9vbHMvbWVnYS1tYW51YWwuc2VkCisrKyBiL3Bva3kvZG9jdW1lbnRhdGlvbi90b29scy9tZWdhLW1hbnVhbC5zZWQKQEAgLTEsNDAgKzEsMzYgQEAKLSMgUHJvY2Vzc2VzIHBva3ktcmVmLW1hbnVhbCBhbmQgeW9jdG8tcHJvamVjdC1xcyBtYW51YWwgKDx3b3JkPi08d29yZD4tPHdvcmQ+IHN0eWxlKS4KLSMgVGhpcyBzdHlsZSBpcyBmb3IgbWFudWFsIGZvbGRlcnMgbGlrZSAieW9jdG8tcHJvamVjdC1xcyIgYW5kICJwb2t5LXJlZi1tYW51YWwiLgotIyBUaGlzIGlzIHRoZSBvbGQgd2F5IHRoYXQgZGlkIGl0LiAgQ2FuJ3QgZG8gdGhhdCBub3cgdGhhdCB3ZSBoYXZlICJiaXRiYWtlLXVzZXItbWFudWFsIiBzdHJpbmdzCi0jIGluIHRoZSBtZWdhLW1hbnVhbC4KLSMgc0AidWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNi4xL1thLXpdKi1bYS16XSotW2Etel0qL1thLXpdKi1bYS16XSotW2Etel0qLmh0bWwjQCJsaW5rIiBocmVmPSIjQGcKLXNAInVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjYuMS95b2N0by1wcm9qZWN0LXFzL3lvY3RvLXByb2plY3QtcXMuaHRtbCNAImxpbmsiIGhyZWY9IiNAZwotc0AidWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNi4xL3Bva3ktcmVmLW1hbnVhbC9wb2t5LXJlZi1tYW51YWwuaHRtbCNAImxpbmsiIGhyZWY9IiNAZworIyBQcm9jZXNzZXMgYml0YmFrZS11c2VyLW1hbnVhbCAoPHdvcmQ+LTx3b3JkPi08d29yZD4gc3R5bGUpLgorIyBUaGlzIHN0eWxlIGlzIGZvciBtYW51YWwgdGhyZWUtd29yZCBmb2xkZXJzLCB3aGljaCBjdXJyZW50bHkgaXMgb25seSB0aGUgQml0QmFrZSBVc2VyIE1hbnVhbC4KKyMgV2UgdXNlZCB0byBoYXZlIHRoZSAieW9jdG8tcHJvamVjdC1xcyIgYW5kICJwb2t5LXJlZi1tYW51YWwiIGZvbGRlcnMgYnV0IG5vIGxvbmdlciBkby4KKyMgc0AidWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNy9bYS16XSotW2Etel0qLVthLXpdKi9bYS16XSotW2Etel0qLVthLXpdKi5odG1sI0AibGluayIgaHJlZj0iI0BnCitzQCJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi43L2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC5odG1sI0AibGluayIgaHJlZj0iI0BnCiAKLSMgUHJvY2Vzc2VzIGFsbCBvdGhlciBtYW51YWxzICg8d29yZD4tPHdvcmQ+IHN0eWxlKSBleGNlcHQgZm9yIHRoZSBCaXRCYWtlIFVzZXIgTWFudWFsIGJlY2F1c2UKLSMgaXQgaXMgbm90IGluY2x1ZGVkIGluIHRoZSBtZWdhLW1hbnVhbC4KKyMgUHJvY2Vzc2VzIGFsbCBvdGhlciBtYW51YWxzICg8d29yZD4tPHdvcmQ+IHN0eWxlKS4KICMgVGhpcyBzdHlsZSBpcyBmb3IgbWFudWFsIGZvbGRlcnMgdGhhdCB1c2UgdHdvIHdvcmQsIHdoaWNoIGlzIHRoZSBzdGFuZGFyZCBub3cgKGUuZy4gInJlZi1tYW51YWwiKS4KLSMgVGhpcyB3YXMgdGhlIG9uZS1saW5lciB0aGF0IHdvcmtlZCBiZWZvcmUgd2UgaW50cm9kdWNlZCB0aGUgQml0QmFrZSBVc2VyIE1hbnVhbCwgd2hpY2ggaXMKLSMgbm90IGluIHRoZSBtZWdhLW1hbnVhbC4KLSMgc0AidWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNi4xL1thLXpdKi1bYS16XSovW2Etel0qLVthLXpdKi5odG1sI0AibGluayIgaHJlZj0iI0BnCisjIEhlcmUgaXMgdGhlIG9uZS1saW5lcjoKKyMgc0AidWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNy9bYS16XSotW2Etel0qL1thLXpdKi1bYS16XSouaHRtbCNAImxpbmsiIGhyZWY9IiNAZwogCi1zQCJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi42LjEvc2RrLW1hbnVhbC9zZGstbWFudWFsLmh0bWwjQCJsaW5rIiBocmVmPSIjQGcKLXNAInVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjYuMS9ic3AtZ3VpZGUvYnNwLWd1aWRlLmh0bWwjQCJsaW5rIiBocmVmPSIjQGcKLXNAInVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjYuMS9kZXYtbWFudWFsL2Rldi1tYW51YWwuaHRtbCNAImxpbmsiIGhyZWY9IiNAZwotc0AidWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNi4xL292ZXJ2aWV3LW1hbnVhbC9vdmVydmlldy1tYW51YWwuaHRtbCNAImxpbmsiIGhyZWY9IiNAZwotc0AidWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNi4xL2JyaWVmLXlvY3RvcHJvamVjdHFzL2JyaWVmLXlvY3RvcHJvamVjdHFzLmh0bWwjQCJsaW5rIiBocmVmPSIjQGcKLXNAInVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjYuMS9rZXJuZWwtZGV2L2tlcm5lbC1kZXYuaHRtbCNAImxpbmsiIGhyZWY9IiNAZwotc0AidWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNi4xL3Byb2ZpbGUtbWFudWFsL3Byb2ZpbGUtbWFudWFsLmh0bWwjQCJsaW5rIiBocmVmPSIjQGcKLXNAInVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjYuMS9yZWYtbWFudWFsL3JlZi1tYW51YWwuaHRtbCNAImxpbmsiIGhyZWY9IiNAZwotc0AidWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNi4xL3RvYXN0ZXItbWFudWFsL3RvYXN0ZXItbWFudWFsLmh0bWwjQCJsaW5rIiBocmVmPSIjQGcKK3NAInVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjcvc2RrLW1hbnVhbC9zZGstbWFudWFsLmh0bWwjQCJsaW5rIiBocmVmPSIjQGcKK3NAInVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjcvYnNwLWd1aWRlL2JzcC1ndWlkZS5odG1sI0AibGluayIgaHJlZj0iI0BnCitzQCJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi43L2Rldi1tYW51YWwvZGV2LW1hbnVhbC5odG1sI0AibGluayIgaHJlZj0iI0BnCitzQCJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi43L292ZXJ2aWV3LW1hbnVhbC9vdmVydmlldy1tYW51YWwuaHRtbCNAImxpbmsiIGhyZWY9IiNAZworc0AidWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNy9icmllZi15b2N0b3Byb2plY3Rxcy9icmllZi15b2N0b3Byb2plY3Rxcy5odG1sI0AibGluayIgaHJlZj0iI0BnCitzQCJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi43L2tlcm5lbC1kZXYva2VybmVsLWRldi5odG1sI0AibGluayIgaHJlZj0iI0BnCitzQCJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi43L3Byb2ZpbGUtbWFudWFsL3Byb2ZpbGUtbWFudWFsLmh0bWwjQCJsaW5rIiBocmVmPSIjQGcKK3NAInVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjcvcmVmLW1hbnVhbC9yZWYtbWFudWFsLmh0bWwjQCJsaW5rIiBocmVmPSIjQGcKK3NAInVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjcvdG9hc3Rlci1tYW51YWwvdG9hc3Rlci1tYW51YWwuaHRtbCNAImxpbmsiIGhyZWY9IiNAZwogCiAjIFByb2Nlc3MgY2FzZXMgd2hlcmUganVzdCBhbiBleHRlcm5hbCBtYW51YWwgaXMgcmVmZXJlbmNlZCB3aXRob3V0IGFuIGlkIGFuY2hvcgotc0A8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNi4xL2JyaWVmLXlvY3RvcHJvamVjdHFzL2JyaWVmLXlvY3RvcHJvamVjdHFzLmh0bWwiIHRhcmdldD0iX3RvcCI+WW9jdG8gUHJvamVjdCBRdWljayBCdWlsZDwvYT5AWW9jdG8gUHJvamVjdCBRdWljayBCdWlsZEBnCi1zQDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi42LjEveW9jdG8tcHJvamVjdC1xcy95b2N0by1wcm9qZWN0LXFzLmh0bWwiIHRhcmdldD0iX3RvcCI+WW9jdG8gUHJvamVjdCBRdWljayBTdGFydDwvYT5AWW9jdG8gUHJvamVjdCBRdWljayBTdGFydEBnCi1zQDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi42LjEvZGV2LW1hbnVhbC9kZXYtbWFudWFsLmh0bWwiIHRhcmdldD0iX3RvcCI+WW9jdG8gUHJvamVjdCBEZXZlbG9wbWVudCBUYXNrcyBNYW51YWw8L2E+QFlvY3RvIFByb2plY3QgRGV2ZWxvcG1lbnQgVGFza3MgTWFudWFsQGcKLXNAPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjYuMS9vdmVydmlldy1tYW51YWwvb3ZlcnZpZXctbWFudWFsLmh0bWwiIHRhcmdldD0iX3RvcCI+WW9jdG8gUHJvamVjdCBPdmVydmlldyBhbmQgQ29uY2VwdHMgTWFudWFsPC9hPkBZb2N0byBwcm9qZWN0IE92ZXJ2aWV3IGFuZCBDb25jZXB0cyBNYW51YWxAZwotc0A8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNi4xL3Nkay1tYW51YWwvc2RrLW1hbnVhbC5odG1sIiB0YXJnZXQ9Il90b3AiPllvY3RvIFByb2plY3QgQXBwbGljYXRpb24gRGV2ZWxvcG1lbnQgYW5kIHRoZSBFeHRlbnNpYmxlIFNvZnR3YXJlIERldmVsb3BtZW50IEtpdCAoZVNESyk8L2E+QFlvY3RvIFByb2plY3QgQXBwbGljYXRpb24gRGV2ZWxvcG1lbnQgYW5kIHRoZSBFeHRlbnNpYmxlIFNvZnR3YXJlIERldmVsb3BtZW50IEtpdCAoZVNESylAZwotc0A8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNi4xL2JzcC1ndWlkZS9ic3AtZ3VpZGUuaHRtbCIgdGFyZ2V0PSJfdG9wIj5Zb2N0byBQcm9qZWN0IEJvYXJkIFN1cHBvcnQgUGFja2FnZSAoQlNQKSBEZXZlbG9wZXIncyBHdWlkZTwvYT5AWW9jdG8gUHJvamVjdCBCb2FyZCBTdXBwb3J0IFBhY2thZ2UgKEJTUCkgRGV2ZWxvcGVyJ3MgR3VpZGVAZwotc0A8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNi4xL3Byb2ZpbGUtbWFudWFsL3Byb2ZpbGUtbWFudWFsLmh0bWwiIHRhcmdldD0iX3RvcCI+WW9jdG8gUHJvamVjdCBQcm9maWxpbmcgYW5kIFRyYWNpbmcgTWFudWFsPC9hPkBZb2N0byBQcm9qZWN0IFByb2ZpbGluZyBhbmQgVHJhY2luZyBNYW51YWxAZwotc0A8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNi4xL2tlcm5lbC1kZXYva2VybmVsLWRldi5odG1sIiB0YXJnZXQ9Il90b3AiPllvY3RvIFByb2plY3QgTGludXggS2VybmVsIERldmVsb3BtZW50IE1hbnVhbDwvYT5AWW9jdG8gUHJvamVjdCBMaW51eCBLZXJuZWwgRGV2ZWxvcG1lbnQgTWFudWFsQGcKLXNAPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjYuMS9yZWYtbWFudWFsL3JlZi1tYW51YWwuaHRtbCIgdGFyZ2V0PSJfdG9wIj5Zb2N0byBQcm9qZWN0IFJlZmVyZW5jZSBNYW51YWw8L2E+QFlvY3RvIFByb2plY3QgUmVmZXJlbmNlIE1hbnVhbEBnCi1zQDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi42LjEvdG9hc3Rlci1tYW51YWwvdG9hc3Rlci1tYW51YWwuaHRtbCIgdGFyZ2V0PSJfdG9wIj5Ub2FzdGVyIFVzZXIgTWFudWFsPC9hPkBUb2FzdGVyIFVzZXIgTWFudWFsQGcKK3NAPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjcvYnJpZWYteW9jdG9wcm9qZWN0cXMvYnJpZWYteW9jdG9wcm9qZWN0cXMuaHRtbCIgdGFyZ2V0PSJfdG9wIj5Zb2N0byBQcm9qZWN0IFF1aWNrIEJ1aWxkPC9hPkBZb2N0byBQcm9qZWN0IFF1aWNrIEJ1aWxkQGcKK3NAPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjcvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLmh0bWwiIHRhcmdldD0iX3RvcCI+Qml0QmFrZSBVc2VyIE1hbnVhbDwvYT5AQml0QmFrZSBVc2VyIE1hbnVhbEBnCitzQDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi43L2Rldi1tYW51YWwvZGV2LW1hbnVhbC5odG1sIiB0YXJnZXQ9Il90b3AiPllvY3RvIFByb2plY3QgRGV2ZWxvcG1lbnQgVGFza3MgTWFudWFsPC9hPkBZb2N0byBQcm9qZWN0IERldmVsb3BtZW50IFRhc2tzIE1hbnVhbEBnCitzQDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi43L292ZXJ2aWV3LW1hbnVhbC9vdmVydmlldy1tYW51YWwuaHRtbCIgdGFyZ2V0PSJfdG9wIj5Zb2N0byBQcm9qZWN0IE92ZXJ2aWV3IGFuZCBDb25jZXB0cyBNYW51YWw8L2E+QFlvY3RvIHByb2plY3QgT3ZlcnZpZXcgYW5kIENvbmNlcHRzIE1hbnVhbEBnCitzQDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi43L3Nkay1tYW51YWwvc2RrLW1hbnVhbC5odG1sIiB0YXJnZXQ9Il90b3AiPllvY3RvIFByb2plY3QgQXBwbGljYXRpb24gRGV2ZWxvcG1lbnQgYW5kIHRoZSBFeHRlbnNpYmxlIFNvZnR3YXJlIERldmVsb3BtZW50IEtpdCAoZVNESyk8L2E+QFlvY3RvIFByb2plY3QgQXBwbGljYXRpb24gRGV2ZWxvcG1lbnQgYW5kIHRoZSBFeHRlbnNpYmxlIFNvZnR3YXJlIERldmVsb3BtZW50IEtpdCAoZVNESylAZworc0A8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNy9ic3AtZ3VpZGUvYnNwLWd1aWRlLmh0bWwiIHRhcmdldD0iX3RvcCI+WW9jdG8gUHJvamVjdCBCb2FyZCBTdXBwb3J0IFBhY2thZ2UgKEJTUCkgRGV2ZWxvcGVyJ3MgR3VpZGU8L2E+QFlvY3RvIFByb2plY3QgQm9hcmQgU3VwcG9ydCBQYWNrYWdlIChCU1ApIERldmVsb3BlcidzIEd1aWRlQGcKK3NAPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjcvcHJvZmlsZS1tYW51YWwvcHJvZmlsZS1tYW51YWwuaHRtbCIgdGFyZ2V0PSJfdG9wIj5Zb2N0byBQcm9qZWN0IFByb2ZpbGluZyBhbmQgVHJhY2luZyBNYW51YWw8L2E+QFlvY3RvIFByb2plY3QgUHJvZmlsaW5nIGFuZCBUcmFjaW5nIE1hbnVhbEBnCitzQDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi43L2tlcm5lbC1kZXYva2VybmVsLWRldi5odG1sIiB0YXJnZXQ9Il90b3AiPllvY3RvIFByb2plY3QgTGludXggS2VybmVsIERldmVsb3BtZW50IE1hbnVhbDwvYT5AWW9jdG8gUHJvamVjdCBMaW51eCBLZXJuZWwgRGV2ZWxvcG1lbnQgTWFudWFsQGcKK3NAPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjcvcmVmLW1hbnVhbC9yZWYtbWFudWFsLmh0bWwiIHRhcmdldD0iX3RvcCI+WW9jdG8gUHJvamVjdCBSZWZlcmVuY2UgTWFudWFsPC9hPkBZb2N0byBQcm9qZWN0IFJlZmVyZW5jZSBNYW51YWxAZworc0A8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNy90b2FzdGVyLW1hbnVhbC90b2FzdGVyLW1hbnVhbC5odG1sIiB0YXJnZXQ9Il90b3AiPlRvYXN0ZXIgVXNlciBNYW51YWw8L2E+QFRvYXN0ZXIgVXNlciBNYW51YWxAZwogCiAjIFByb2Nlc3MgYSBzaW5nbGUsIHJvdWdlIG9jY3VycmVuY2Ugb2YgYSBsaW5rZWQgcmVmZXJlbmNlIHRvIHRoZSBNZWdhLU1hbnVhbC4KLXNAPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjYuMS9tZWdhLW1hbnVhbC9tZWdhLW1hbnVhbC5odG1sIiB0YXJnZXQ9Il90b3AiPllvY3RvIFByb2plY3QgTWVnYS1NYW51YWw8L2E+QFlvY3RvIFByb2plY3QgTWVnYS1NYW51YWxAZworc0A8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNy9tZWdhLW1hbnVhbC9tZWdhLW1hbnVhbC5odG1sIiB0YXJnZXQ9Il90b3AiPllvY3RvIFByb2plY3QgTWVnYS1NYW51YWw8L2E+QFlvY3RvIFByb2plY3QgTWVnYS1NYW51YWxAZwogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEtcG9reS9SRUFETUUucG9reSBiL3Bva3kvbWV0YS1wb2t5L1JFQURNRS5wb2t5CmluZGV4IDBhNDI4NDMuLjIyMDQ4MDEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS1wb2t5L1JFQURNRS5wb2t5CisrKyBiL3Bva3kvbWV0YS1wb2t5L1JFQURNRS5wb2t5CkBAIC0yNyw2ICsyNywxOSBAQAogRm9yIGluZm9ybWF0aW9uIGFib3V0IE9wZW5FbWJlZGRlZCwgc2VlIHRoZSBPcGVuRW1iZWRkZWQgd2Vic2l0ZToKICAgICBodHRwOi8vd3d3Lm9wZW5lbWJlZGRlZC5vcmcvCiAKKworQ29udHJpYnV0aW9uIEd1aWRlbGluZXMKKz09PT09PT09PT09PT09PT09PT09PT09CisKK0EgZ3VpZGUgdG8gc3VibWl0dGluZyBwYXRjaGVzIHRvIE9wZW5FbWJlZGRlZCBpcyBhdmFpbGFibGUgYXQ6CisKK2h0dHA6Ly93d3cub3BlbmVtYmVkZGVkLm9yZy93aWtpL0hvd190b19zdWJtaXRfYV9wYXRjaF90b19PcGVuRW1iZWRkZWQKKworVGhlcmUgaXMgZ29vZCBkb2N1bWVudGF0aW9uIG9uIGhvdyB0byB3cml0ZS9mb3JtYXQgcGF0Y2hlcyBhdDoKKworaHR0cHM6Ly93d3cub3BlbmVtYmVkZGVkLm9yZy93aWtpL0NvbW1pdF9QYXRjaF9NZXNzYWdlX0d1aWRlbGluZXMKKworCiBXaGVyZSB0byBTZW5kIFBhdGNoZXMKID09PT09PT09PT09PT09PT09PT09PQogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9pbmNsdWRlL3Bva3ktZmxvYXRpbmctcmV2aXNpb25zLmluYyBiL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvcG9reS1mbG9hdGluZy1yZXZpc2lvbnMuaW5jCmluZGV4IGEzZGEwNDMuLjFmYzUwNDUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvcG9reS1mbG9hdGluZy1yZXZpc2lvbnMuaW5jCisrKyBiL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvcG9reS1mbG9hdGluZy1yZXZpc2lvbnMuaW5jCkBAIC0yNiw4ICsyNiw2IEBACiBTUkNSRVZfcG4tbWF0Y2hib3gtZGVza3RvcC1zYXRvID89ICIke0FVVE9SRVZ9IgogU1JDUkVWX3BuLW9oLXB1enpsZXMgPz0gIiR7QVVUT1JFVn0iCiBTUkNSRVZfcG4tbGlib3dsID89ICIke0FVVE9SRVZ9IgotU1JDUkVWX3BuLWZzdGVzdHMgPz0gIiR7QVVUT1JFVn0iCi1TUkNSRVZfcG4teHZpZGVvLXRlc3RzID89ICIke0FVVE9SRVZ9IgogU1JDUkVWX3BuLWNsdXR0ZXIgPz0gIiR7QVVUT1JFVn0iCiBTUkNSRVZfcG4tY2x1dHRlci1nc3QgPz0gIiR7QVVUT1JFVn0iCiBTUkNSRVZfcG4tbGlibWF0Y2hib3ggPz0gIiR7QVVUT1JFVn0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LWxzYi5jb25mIGIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS1sc2IuY29uZgppbmRleCAxYzQyNmJhLi41YzdlMjcyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LWxzYi5jb25mCisrKyBiL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3ktbHNiLmNvbmYKQEAgLTExLDQgKzExLDQgQEAKIEtFUk5FTF9GRUFUVVJFU19hcHBlbmRfcG4tbGludXgteW9jdG8gPSAiIGZlYXR1cmVzL25mc2QvbmZzZC1lbmFibGUuc2NjIgogCiAjIFVzZSB0aGUgTFRTSSBLZXJuZWwgZm9yIExTQiBUZXN0aW5nCi1QUkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0b19saW51eHN0ZGJhc2UgPz0gIjQuMTQlIgorUFJFRkVSUkVEX1ZFUlNJT05fbGludXgteW9jdG9fbGludXhzdGRiYXNlID89ICI0LjE5JSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZiBiL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZgppbmRleCBhMzcwYjIxLi42NTQ0YzAzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LmNvbmYKKysrIGIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mCkBAIC0xLDkgKzEsOSBAQAogRElTVFJPID0gInBva3kiCiBESVNUUk9fTkFNRSA9ICJQb2t5IChZb2N0byBQcm9qZWN0IFJlZmVyZW5jZSBEaXN0cm8pIgotRElTVFJPX1ZFUlNJT04gPSAiMi42LjIiCi1ESVNUUk9fQ09ERU5BTUUgPSAidGh1ZCIKK0RJU1RST19WRVJTSU9OID0gIjIuNitzbmFwc2hvdC0ke0RBVEV9IgorRElTVFJPX0NPREVOQU1FID0gIm1hc3RlciIKIFNES19WRU5ET1IgPSAiLXBva3lzZGsiCi1TREtfVkVSU0lPTiA6PSAiJHtAJyR7RElTVFJPX1ZFUlNJT059Jy5yZXBsYWNlKCdzbmFwc2hvdC0ke0RBVEV9Jywnc25hcHNob3QnKX0iCitTREtfVkVSU0lPTiA9ICIke0BkLmdldFZhcignRElTVFJPX1ZFUlNJT04nKS5yZXBsYWNlKCdzbmFwc2hvdC0ke0RBVEV9JywgJ3NuYXBzaG90Jyl9IgogCiBNQUlOVEFJTkVSID0gIlBva3kgPHBva3lAeW9jdG9wcm9qZWN0Lm9yZz4iCiAKQEAgLTIxLDkgKzIxLDkgQEAKIAogRElTVFJPX0ZFQVRVUkVTID89ICIke0RJU1RST19GRUFUVVJFU19ERUZBVUxUfSAke0RJU1RST19GRUFUVVJFU19MSUJDfSAke1BPS1lfREVGQVVMVF9ESVNUUk9fRkVBVFVSRVN9IgogCi1QUkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0byA/PSAiNC4xOCUiCitQUkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0byA/PSAiNS4wJSIKIAotU0RLX05BTUUgPSAiJHtESVNUUk99LSR7VENMSUJDfS0ke1NES19BUkNIfS0ke0lNQUdFX0JBU0VOQU1FfS0ke1RVTkVfUEtHQVJDSH0iCitTREtfTkFNRSA9ICIke0RJU1RST30tJHtUQ0xJQkN9LSR7U0RLTUFDSElORX0tJHtJTUFHRV9CQVNFTkFNRX0tJHtUVU5FX1BLR0FSQ0h9LSR7TUFDSElORX0iCiBTREtQQVRIID0gIi9vcHQvJHtESVNUUk99LyR7U0RLX1ZFUlNJT059IgogCiBESVNUUk9fRVhUUkFfUkRFUEVORFMgKz0gIiAke1BPS1lfREVGQVVMVF9FWFRSQV9SREVQRU5EU30iCkBAIC0zOSw5ICszOSw2IEBACiAKIFRDTElCQ0FQUEVORCA9ICIiCiAKLVFFTVVfVEFSR0VUUyA/PSAiYXJtIGFhcmNoNjQgaTM4NiBtaXBzIG1pcHNlbCBtaXBzNjQgbWlwczY0ZWwgbmlvczIgcHBjIHg4Nl82NCIKLSMgT3RoZXIgUUVNVV9UQVJHRVRTICJzaDQiCi0KIFBSRU1JUlJPUlMgPz89ICJcCiBienI6Ly8uKi8uKiAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gXAogY3ZzOi8vLiovLiogICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIFwKQEAgLTUyLDE3ICs0OSw2IEBACiBwNDovLy4qLy4qICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gXAogc3ZuOi8vLiovLiogICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIgogCi1NSVJST1JTID0rICJcCi1mdHA6Ly8uKi8uKiAgICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gXAotaHR0cDovLy4qLy4qICAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIFwKLWh0dHBzOi8vLiovLiogICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiIKLQotIyBUaGUgQ09OTkVDVElWSVRZX0NIRUNLX1VSSSdzIGFyZSB1c2VkIHRvIHRlc3Qgd2hldGhlciB3ZSBjYW4gc3VjY2VzZnVsbHkKLSMgZmV0Y2ggZnJvbSB0aGUgbmV0d29yayAoYW5kIHdhcm4geW91IGlmIG5vdCkuIFRvIGRpc2FibGUgdGhlIHRlc3Qgc2V0Ci0jIHRoZSB2YXJpYWJsZSB0byBiZSBlbXB0eS4KLSMgR2l0IGV4YW1wbGUgdXJsOiBnaXQ6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy95b2N0by1maXJld2FsbC10ZXN0O3Byb3RvY29sPWdpdDtyZXY9bWFzdGVyCi1DT05ORUNUSVZJVFlfQ0hFQ0tfVVJJUyA/PSAiaHR0cHM6Ly93d3cuZXhhbXBsZS5jb20vIgotCiBTQU5JVFlfVEVTVEVEX0RJU1RST1MgPz0gIiBcCiAgICAgICAgICAgICBwb2t5LTIuNSBcbiBcCiAgICAgICAgICAgICBwb2t5LTIuNiBcbiBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEtcG9reS9jb25mL2xheWVyLmNvbmYgYi9wb2t5L21ldGEtcG9reS9jb25mL2xheWVyLmNvbmYKaW5kZXggYjliMjYzNy4uMGQ3NGY0ZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhLXBva3kvY29uZi9sYXllci5jb25mCisrKyBiL3Bva3kvbWV0YS1wb2t5L2NvbmYvbGF5ZXIuY29uZgpAQCAtOSw3ICs5LDcgQEAKIEJCRklMRV9QQVRURVJOX3lvY3RvID0gIl4ke0xBWUVSRElSfS8iCiBCQkZJTEVfUFJJT1JJVFlfeW9jdG8gPSAiNSIKIAotTEFZRVJTRVJJRVNfQ09NUEFUX3lvY3RvID0gInRodWQiCitMQVlFUlNFUklFU19DT01QQVRfeW9jdG8gPSAid2FycmlvciIKIAogIyBUaGlzIHNob3VsZCBvbmx5IGJlIGluY3JlbWVudGVkIG9uIHNpZ25pZmljYW50IGNoYW5nZXMgdGhhdCB3aWxsCiAjIGNhdXNlIGNvbXBhdGliaWxpdHkgaXNzdWVzIHdpdGggb3RoZXIgbGF5ZXJzCmRpZmYgLS1naXQgYS9wb2t5L21ldGEtcG9reS9jb25mL2xvY2FsLmNvbmYuc2FtcGxlIGIvcG9reS9tZXRhLXBva3kvY29uZi9sb2NhbC5jb25mLnNhbXBsZQppbmRleCBjZjk2NTk4Li45MDY4ZTU2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEtcG9reS9jb25mL2xvY2FsLmNvbmYuc2FtcGxlCisrKyBiL3Bva3kvbWV0YS1wb2t5L2NvbmYvbG9jYWwuY29uZi5zYW1wbGUKQEAgLTEyNCw2ICsxMjQsOCBAQAogIyB2YXJpYWJsZSBjYW4gY29udGFpbiB0aGUgZm9sbG93aW5nIG9wdGlvbnM6CiAjICAiZGJnLXBrZ3MiICAgICAgIC0gYWRkIC1kYmcgcGFja2FnZXMgZm9yIGFsbCBpbnN0YWxsZWQgcGFja2FnZXMKICMgICAgICAgICAgICAgICAgICAgICAoYWRkcyBzeW1ib2wgaW5mb3JtYXRpb24gZm9yIGRlYnVnZ2luZy9wcm9maWxpbmcpCisjICAic3JjLXBrZ3MiICAgICAgIC0gYWRkIC1zcmMgcGFja2FnZXMgZm9yIGFsbCBpbnN0YWxsZWQgcGFja2FnZXMKKyMgICAgICAgICAgICAgICAgICAgICAoYWRkcyBzb3VyY2UgY29kZSBmb3IgZGVidWdnaW5nKQogIyAgImRldi1wa2dzIiAgICAgICAtIGFkZCAtZGV2IHBhY2thZ2VzIGZvciBhbGwgaW5zdGFsbGVkIHBhY2thZ2VzCiAjICAgICAgICAgICAgICAgICAgICAgKHVzZWZ1bCBpZiB5b3Ugd2FudCB0byBkZXZlbG9wIGFnYWluc3QgbGlicyBpbiB0aGUgaW1hZ2UpCiAjICAicHRlc3QtcGtncyIgICAgIC0gYWRkIC1wdGVzdCBwYWNrYWdlcyBmb3IgYWxsIHB0ZXN0LWVuYWJsZWQgcGFja2FnZXMKQEAgLTIzOSw3ICsyNDEsNyBAQAogIyBzZWVuLiBUaGUgdHdvIGxpbmVzIGJlbG93IGVuYWJsZSB0aGUgU0RMIGJhY2tlbmQgdG9vLiBCeSBkZWZhdWx0IGxpYnNkbDItbmF0aXZlIHdpbGwKICMgYmUgYnVpbHQsIGlmIHlvdSB3YW50IHRvIHVzZSB5b3VyIGhvc3QncyBsaWJTREwgaW5zdGVhZCBvZiB0aGUgbWluaW1hbCBsaWJzZGwgYnVpbHQKICMgYnkgbGlic2RsMi1uYXRpdmUgdGhlbiB1bmNvbW1lbnQgdGhlIEFTU1VNRV9QUk9WSURFRCBsaW5lIGJlbG93LgotUEFDS0FHRUNPTkZJR19hcHBlbmRfcG4tcWVtdS1uYXRpdmUgPSAiIHNkbCIKK1BBQ0tBR0VDT05GSUdfYXBwZW5kX3BuLXFlbXUtc3lzdGVtLW5hdGl2ZSA9ICIgc2RsIgogUEFDS0FHRUNPTkZJR19hcHBlbmRfcG4tbmF0aXZlc2RrLXFlbXUgPSAiIHNkbCIKICNBU1NVTUVfUFJPVklERUQgKz0gImxpYnNkbDItbmF0aXZlIgogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEtcG9reS9jb25mL2xvY2FsLmNvbmYuc2FtcGxlLmV4dGVuZGVkIGIvcG9reS9tZXRhLXBva3kvY29uZi9sb2NhbC5jb25mLnNhbXBsZS5leHRlbmRlZAppbmRleCAzYmE5OWY0Li44N2QyMTFkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEtcG9reS9jb25mL2xvY2FsLmNvbmYuc2FtcGxlLmV4dGVuZGVkCisrKyBiL3Bva3kvbWV0YS1wb2t5L2NvbmYvbG9jYWwuY29uZi5zYW1wbGUuZXh0ZW5kZWQKQEAgLTI5MCwxOCArMjkwLDE4IEBACiAKICMgSW1hZ2UgbGV2ZWwgdXNlci9ncm91cCBjb25maWd1cmF0aW9uLgogIyBJbmhlcml0IGV4dHJhdXNlcnMgdG8gbWFrZSB0aGUgc2V0dGluZyBvZiBFWFRSQV9VU0VSU19QQVJBTVMgZWZmZWN0aXZlLgotI0lOSEVSSVQgKz0gImV4dHJhdXNlcnMiCisjSU1BR0VfQ0xBU1NFUyArPSAiZXh0cmF1c2VycyIKICMgVXNlciAvIGdyb3VwIHNldHRpbmdzCi0jIFRoZSBzZXR0aW5ncyBhcmUgc3BlcmF0ZWQgYnkgdGhlIDsgY2hhcmFjdGVyLgorIyBUaGUgc2V0dGluZ3MgYXJlIHNlcGFyYXRlZCBieSB0aGUgOyBjaGFyYWN0ZXIuCiAjIEVhY2ggc2V0dGluZyBpcyBhY3R1YWxseSBhIGNvbW1hbmQuIFRoZSBzdXBwb3J0ZWQgY29tbWFuZHMgYXJlIHVzZXJhZGQsCiAjIGdyb3VwYWRkLCB1c2VyZGVsLCBncm91cGRlbCwgdXNlcm1vZCBhbmQgZ3JvdXBtb2QuCiAjRVhUUkFfVVNFUlNfUEFSQU1TID0gIlwKLSN1c2VyYWRkIC1wICcnIHRlc3RlcjsgXAotI2dyb3VwYWRkIGRldmVsb3BlcnM7IFwKLSN1c2VyZGVsIG5vYm9keTsgXAotI2dyb3VwZGVsIHZpZGVvOyBcCi0jZ3JvdXBtb2QgLWcgMTAyMCBkZXZlbG9wZXJzOyBcCi0jdXNlcm1vZCAtcyAvYmluL3NoIHRlc3RlcjsgXAorIyAgICB1c2VyYWRkIC1wICcnIHRlc3RlcjsgXAorIyAgICBncm91cGFkZCBkZXZlbG9wZXJzOyBcCisjICAgIHVzZXJkZWwgbm9ib2R5OyBcCisjICAgIGdyb3VwZGVsIHZpZGVvOyBcCisjICAgIGdyb3VwbW9kIC1nIDEwMjAgZGV2ZWxvcGVyczsgXAorIyAgICB1c2VybW9kIC1zIC9iaW4vc2ggdGVzdGVyOyBcCiAjIgogCiAjIFZhcmlvdXMgcGFja2FnZXMgZHluYW1pY2FsbHkgYWRkIHVzZXJzIGFuZCBncm91cHMgdG8gdGhlIHN5c3RlbSBhdCBwYWNrYWdlCkBAIC0zOTUsNSArMzk1LDYgQEAKICMKICNESVNUUk9fRkVBVFVSRVNfYXBwZW5kID0gIiBzeXN0ZW1kIgogI0RJU1RST19GRUFUVVJFU19CQUNLRklMTF9DT05TSURFUkVEICs9ICJzeXN2aW5pdCIKKyNWSVJUVUFMLVJVTlRJTUVfbG9naW5fbWFuYWdlciA9ICJzaGFkb3ctYmFzZSIKICNWSVJUVUFMLVJVTlRJTUVfaW5pdF9tYW5hZ2VyID0gInN5c3RlbWQiCiAjVklSVFVBTC1SVU5USU1FX2luaXRzY3JpcHRzID0gInN5c3RlbWQtY29tcGF0LXVuaXRzIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXBva3kvY29uZi9zaXRlLmNvbmYuc2FtcGxlIGIvcG9reS9tZXRhLXBva3kvY29uZi9zaXRlLmNvbmYuc2FtcGxlCmluZGV4IGE0YzJmOWYuLjUxNjRmZWQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS1wb2t5L2NvbmYvc2l0ZS5jb25mLnNhbXBsZQorKysgYi9wb2t5L21ldGEtcG9reS9jb25mL3NpdGUuY29uZi5zYW1wbGUKQEAgLTI2LDcgKzI2LDcgQEAKICMgSWYgeW91IHdpc2ggdG8gdXNlIGNlcnRhaW4gaG9zdHMgd2l0aG91dCB0aGUgcHJveHksIHNwZWNpZnkgdGhlbSBpbiBOT19QUk9YWS4KICMgU2VlIHRoZSBzY3JpcHQgZm9yIGRldGFpbHMgb24gc3ludGF4LiBUaGUgc2NyaXB0IG9lLWdpdC1wcm94eSB1c2VzIHNvbWUgdG9vbHMKICMgdGhhdCBtYXkgbm90IGJlIGluY2x1ZGVkIG9uIEhPU1RUT09MUywgdGh1cyAgYWRkIHRoZW0gbWFudWFsbHkgdGhyb3VnaAotIyBIT1NUVE9PTFMgKz0gImdldGVudCBzZXEiCisjIEhPU1RUT09MUyArPSAiZ2V0ZW50IgogCiAjIFVuY29tbWVudCB0aGlzIHRvIHVzZSBhIHNoYXJlZCBkb3dubG9hZCBkaXJlY3RvcnkKICNETF9ESVIgPSAiL3NvbWUvc2hhcmVkL2Rvd25sb2FkL2RpcmVjdG9yeS8iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEtc2VsZnRlc3QvY29uZi9sYXllci5jb25mIGIvcG9reS9tZXRhLXNlbGZ0ZXN0L2NvbmYvbGF5ZXIuY29uZgppbmRleCAwNjI2YjJhLi4wODAzNTBhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEtc2VsZnRlc3QvY29uZi9sYXllci5jb25mCisrKyBiL3Bva3kvbWV0YS1zZWxmdGVzdC9jb25mL2xheWVyLmNvbmYKQEAgLTksNCArOSw0IEBACiBCQkZJTEVfUEFUVEVSTl9zZWxmdGVzdCA9ICJeJHtMQVlFUkRJUn0vIgogQkJGSUxFX1BSSU9SSVRZX3NlbGZ0ZXN0ID0gIjUiCiAKLUxBWUVSU0VSSUVTX0NPTVBBVF9zZWxmdGVzdCA9ICJ0aHVkIgorTEFZRVJTRVJJRVNfQ09NUEFUX3NlbGZ0ZXN0ID0gIndhcnJpb3IiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEtc2VsZnRlc3QvbGliL29lcWEvcnVudGltZS9jYXNlcy92aXJnbC5weSBiL3Bva3kvbWV0YS1zZWxmdGVzdC9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL3ZpcmdsLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzMDFhMTkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEtc2VsZnRlc3QvbGliL29lcWEvcnVudGltZS9jYXNlcy92aXJnbC5weQpAQCAtMCwwICsxLDIzIEBACitmcm9tIG9lcWEucnVudGltZS5jYXNlIGltcG9ydCBPRVJ1bnRpbWVUZXN0Q2FzZQorZnJvbSBvZXFhLmNvcmUuZGVjb3JhdG9yLmRlcGVuZHMgaW1wb3J0IE9FVGVzdERlcGVuZHMKK2ltcG9ydCBzdWJwcm9jZXNzCitpbXBvcnQgb2UubHNiCisKK2NsYXNzIFZpcmdsVGVzdChPRVJ1bnRpbWVUZXN0Q2FzZSk6CisKKyAgICBAT0VUZXN0RGVwZW5kcyhbJ3NzaC5TU0hUZXN0LnRlc3Rfc3NoJ10pCisgICAgZGVmIHRlc3Rfa2VybmVsX2RyaXZlcihzZWxmKToKKyAgICAgICAgc3RhdHVzLCBvdXRwdXQgPSBzZWxmLnRhcmdldC5ydW4oJ2RtZXNnfGdyZXAgdmlyZ2wnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0YXR1cywgMCwgIkNoZWNraW5nIGZvciB2aXJnbCBkcml2ZXIgaW4gZG1lc2cgcmV0dXJuZWQgbm9uLXplcm86ICVkXG4lcyIgJSAoc3RhdHVzLCBvdXRwdXQpKQorICAgICAgICBzZWxmLmFzc2VydEluKCJ2aXJnbCAzZCBhY2NlbGVyYXRpb24gZW5hYmxlZCIsIG91dHB1dCwgInZpcmdsIGFjY2VsZXJhdGlvbiBzZWVtcyB0byBiZSBkaXNhYmxlZDpcbiVzIiAlKG91dHB1dCkpCisKKyAgICBAT0VUZXN0RGVwZW5kcyhbJ3ZpcmdsLlZpcmdsVGVzdC50ZXN0X2tlcm5lbF9kcml2ZXInXSkKKyAgICBkZWYgdGVzdF9rbXNjdWJlKHNlbGYpOgorCisgICAgICAgIGRpc3RybyA9IG9lLmxzYi5kaXN0cm9faWRlbnRpZmllcigpCisgICAgICAgIGlmIGRpc3RybyBhbmQgZGlzdHJvID09ICdjZW50b3MtNyc6CisgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCdrbXNjdWJlIGlzIG5vdCB3b3JraW5nIHdoZW4gY2VudG9zIDcgaXMgdGhlIGhvc3QgT1MnKQorCisgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi50YXJnZXQucnVuKCdrbXNjdWJlJywgdGltZW91dD0zMCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDAsICJrbXNjdWJlIGV4aXRlZCB3aXRoIG5vbi16ZXJvIHN0YXR1cyAlZCBhbmQgb3V0cHV0OlxuJXMiICUoc3RhdHVzLCBvdXRwdXQpKQorICAgICAgICBzZWxmLmFzc2VydEluKCdyZW5kZXJlcjogInZpcmdsIicsIG91dHB1dCwgImttc2N1YmUgZG9lcyBub3Qgc2VlbSB0byB1c2UgdmlyZ2w6XG4lcyIgJShvdXRwdXQpKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXNlbGZ0ZXN0L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1hc3luYy10ZXN0LmluYyBiL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tYXN5bmMtdGVzdC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzk2MDJlOAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tYXN5bmMtdGVzdC5pbmMKQEAgLTAsMCArMSwxNiBAQAorU1VNTUFSWSA9ICJQeXRob24gZnJhbWV3b3JrIHRvIHByb2Nlc3MgaW50ZXJkZXBlbmRlbnQgdGFza3MgaW4gYSBwb29sIG9mIHdvcmtlcnMiCitIT01FUEFHRSA9ICJodHRwOi8vZ2l0aHViLmNvbS9naXRweXRob24tZGV2ZWxvcGVycy9hc3luYyIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9QS0ctSU5GTztiZWdpbmxpbmU9ODtlbmRsaW5lPTg7bWQ1PTg4ZGY4ZTc4YjllZGZkNzQ0OTUzODYyMTc5ZjJkMTRlIgorCitpbmhlcml0IHB5cGkKKworUFlQSV9QQUNLQUdFID0gImFzeW5jIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOWIwNmI1OTk3ZGUyMTU0ZjNiYzAyNzNmODBiY2VmNmIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWM2ODk0ZDg3NmU0NTg3OGZhYWU0OTNiMGNmNjFkMGUyOGVjNDE3MzM0NDQ4YWMwYTZlYTIyMjlkODM0MzA1MSIKKworUkRFUEVORFNfJHtQTn0gKz0gIiR7UFlUSE9OX1BOfS10aHJlYWRpbmciCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXNlbGZ0ZXN0L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYXN5bmMtdGVzdF8wLjYuMi5iYiBiL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWFzeW5jLXRlc3RfMC42LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjJlMjQxYQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWFzeW5jLXRlc3RfMC42LjIuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi1hc3luYy10ZXN0LmluYwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXNlbGZ0ZXN0L3JlY2lwZXMtdGVzdC9kZXZ0b29sL2RldnRvb2wtdGVzdC1sb2NhbF82LjAzLmJiIGIvcG9reS9tZXRhLXNlbGZ0ZXN0L3JlY2lwZXMtdGVzdC9kZXZ0b29sL2RldnRvb2wtdGVzdC1sb2NhbF82LjAzLmJiCmluZGV4IGIzNzdjYjcuLjZiZmM1NTcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLXRlc3QvZGV2dG9vbC9kZXZ0b29sLXRlc3QtbG9jYWxfNi4wMy5iYgorKysgYi9wb2t5L21ldGEtc2VsZnRlc3QvcmVjaXBlcy10ZXN0L2RldnRvb2wvZGV2dG9vbC10ZXN0LWxvY2FsXzYuMDMuYmIKQEAgLTksNyArOSw2IEBACiAKIFNSQ19VUklbbWQ1c3VtXSA9ICI5MmEyNTNkZjkyMTFlOWMyMDE3Mjc5NmVjZjM4OGYxMyIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICIyNmQzOTg2ZDJiZWExMDlkNWRjMGU0ZjhjNDgyMmE0NTkyNzZjZjAyMTEyNWU4YzlmMjNjM2NjYTVkOGM4NTBlIgotVVBTVFJFQU1fVkVSU0lPTl9VTktOT1dOID0gIjEiCiAKIFMgPSAiJHtXT1JLRElSfS9zeXNsaW51eC0ke1BWfSIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXNlbGZ0ZXN0L3JlY2lwZXMtdGVzdC9tdWx0aWNvbmZpZy9tdWx0aWNvbmZpZy1pbWFnZS1wYWNrYWdlcl8wLjEuYmIgYi9wb2t5L21ldGEtc2VsZnRlc3QvcmVjaXBlcy10ZXN0L211bHRpY29uZmlnL211bHRpY29uZmlnLWltYWdlLXBhY2thZ2VyXzAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZGJjMGY1Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhLXNlbGZ0ZXN0L3JlY2lwZXMtdGVzdC9tdWx0aWNvbmZpZy9tdWx0aWNvbmZpZy1pbWFnZS1wYWNrYWdlcl8wLjEuYmIKQEAgLTAsMCArMSwyOCBAQAorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL0NPUFlJTkcuTUlUO21kNT0zZGE5Y2ZiY2I3ODhjODBhMDM4NDM2MWI0ZGUyMDQyMCIKKworTUNNQUNISU5FX3ZpcnRjbGFzcy1tY2V4dGVuZC1tdXNsID0gInFlbXV4ODYtNjQiCitNQ01BQ0hJTkVfdmlydGNsYXNzLW1jZXh0ZW5kLXRpbnkgPSAicWVtdXg4NiIKK01DSU1HVFlQRV92aXJ0Y2xhc3MtbWNleHRlbmQtbXVzbCA9ICJleHQ0IgorTUNJTUdUWVBFX3ZpcnRjbGFzcy1tY2V4dGVuZC10aW55ID0gImNwaW8uZ3oiCisKK01DX0RFUExPWV9ESVJfSU1BR0UgPSAiJHtUT1BESVJ9L3RtcC1tYy0ke01DTkFNRX0vZGVwbG95L2ltYWdlcy8ke01DTUFDSElORX0iCisKK2RvX2luc3RhbGxbbWNkZXBlbmRzXSArPSAibXVsdGljb25maWc6OiR7TUNOQU1FfTpjb3JlLWltYWdlLW1pbmltYWw6ZG9faW1hZ2VfY29tcGxldGUgbXVsdGljb25maWc6OiR7TUNOQU1FfTp2aXJ0dWFsL2tlcm5lbDpkb19kZXBsb3kiCisKK2RvX2luc3RhbGwgKCkgeworICAgIGluc3RhbGwgLWQgJHtEfS92YXIvbGliL21hY2hpbmVzLyR7TUNOQU1FfQorICAgIGluc3RhbGwgJHtNQ19ERVBMT1lfRElSX0lNQUdFfS9jb3JlLWltYWdlLW1pbmltYWwtJHtNQ01BQ0hJTkV9LiR7TUNJTUdUWVBFfSAke0R9L3Zhci9saWIvbWFjaGluZXMvJHtNQ05BTUV9L2NvcmUtaW1hZ2UtbWluaW1hbC4ke01DSU1HVFlQRX0KKyAgICBpbnN0YWxsICR7TUNfREVQTE9ZX0RJUl9JTUFHRX0vYnpJbWFnZSAke0R9L3Zhci9saWIvbWFjaGluZXMvJHtNQ05BTUV9Cit9CisKK3B5dGhvbiAoKSB7CisgICAgbWNuYW1lID0gZC5nZXRWYXIoJ01DTkFNRScpCisgICAgaWYgbm90IG1jbmFtZToKKyAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFJlY2lwZSgiTm90IGEgbXVsdGljb25maWcgdGFyZ2V0IikKKyAgICBtdWx0aWNvbmZpZ3MgPSBkLmdldFZhcignQkJNVUxUSUNPTkZJRycpIG9yICIiCisgICAgaWYgbWNuYW1lIG5vdCBpbiBtdWx0aWNvbmZpZ3M6CisgICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBSZWNpcGUoIm11bHRpY29uZmlnIHRhcmdldCAlcyBub3QgZW5hYmxlZCIgJSBtY25hbWUpCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibWNleHRlbmQ6dGlueSBtY2V4dGVuZDptdXNsIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXNlbGZ0ZXN0L3JlY2lwZXMtdGVzdC9yZWNpcGV1dGlscy9yZWNpcGV1dGlscy10ZXN0LmluYyBiL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLXRlc3QvcmVjaXBldXRpbHMvcmVjaXBldXRpbHMtdGVzdC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODQ5MGI5MAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLXRlc3QvcmVjaXBldXRpbHMvcmVjaXBldXRpbHMtdGVzdC5pbmMKQEAgLTAsMCArMSw1IEBACitTUkNfVVJJID0gImh0dHA6Ly94b3JnLmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy9pbmRpdmlkdWFsL2xpYi9saWJ4c2htZmVuY2UtJHtQVn0udGFyLmJ6MiIKKworU1JDX1VSSVttZDVzdW1dID0gIjY2NjYyZTc2ODk5MTEyYzBmOTllMjJmMmZjNzc1YTdlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQyMWIyZDFmZDc4YzFlZmJlMWYyYzE2ZGFlMWNiMjNmOGZkMjMxZGNmODkxNDY1YjhkZWJlNjM2YTkwNTRiMGMiCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLXRlc3QvcmVjaXBldXRpbHMvcmVjaXBldXRpbHMtdGVzdC9hbm90aGVyZmlsZSBiL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLXRlc3QvcmVjaXBldXRpbHMvcmVjaXBldXRpbHMtdGVzdC9hbm90aGVyZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhLXNlbGZ0ZXN0L3JlY2lwZXMtdGVzdC9yZWNpcGV1dGlscy9yZWNpcGV1dGlscy10ZXN0L2Fub3RoZXJmaWxlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEtc2VsZnRlc3QvcmVjaXBlcy10ZXN0L3JlY2lwZXV0aWxzL3JlY2lwZXV0aWxzLXRlc3Qvc29tZWZpbGUgYi9wb2t5L21ldGEtc2VsZnRlc3QvcmVjaXBlcy10ZXN0L3JlY2lwZXV0aWxzL3JlY2lwZXV0aWxzLXRlc3Qvc29tZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLXRlc3QvcmVjaXBldXRpbHMvcmVjaXBldXRpbHMtdGVzdC9zb21lZmlsZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXNlbGZ0ZXN0L3JlY2lwZXMtdGVzdC9yZWNpcGV1dGlscy9yZWNpcGV1dGlscy10ZXN0XzEuMi5iYiBiL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLXRlc3QvcmVjaXBldXRpbHMvcmVjaXBldXRpbHMtdGVzdF8xLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2MyMGQ5YQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLXRlc3QvcmVjaXBldXRpbHMvcmVjaXBldXRpbHMtdGVzdF8xLjIuYmIKQEAgLTAsMCArMSwxMyBAQAorU1VNTUFSWSA9ICJUZXN0IHJlY2lwZSBmb3IgcmVjaXBldXRpbHMucGF0Y2hfcmVjaXBlKCkiCisKK3JlcXVpcmUgcmVjaXBldXRpbHMtdGVzdC5pbmMKKworTElDRU5TRSA9ICJQcm9wcmlldGFyeSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7V09SS0RJUn0vc29tZWZpbGU7bWQ1PWQ0MWQ4Y2Q5OGYwMGIyMDRlOTgwMDk5OGVjZjg0MjdlIgorREVQRU5EUyArPSAidmlydHVhbC9saWJ4MTEiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworU1JDX1VSSSArPSAiZmlsZTovL3NvbWVmaWxlIgorCitTUkNfVVJJX2FwcGVuZCA9ICIgZmlsZTovL2Fub3RoZXJmaWxlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXNrZWxldG9uL2NvbmYvbGF5ZXIuY29uZiBiL3Bva3kvbWV0YS1za2VsZXRvbi9jb25mL2xheWVyLmNvbmYKaW5kZXggMTNiZGE3Yi4uN2Q0ZmZiNCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhLXNrZWxldG9uL2NvbmYvbGF5ZXIuY29uZgorKysgYi9wb2t5L21ldGEtc2tlbGV0b24vY29uZi9sYXllci5jb25mCkBAIC0xNCw0ICsxNCw0IEBACiAKIExBWUVSREVQRU5EU19za2VsZXRvbiA9ICJjb3JlIgogCi1MQVlFUlNFUklFU19DT01QQVRfc2tlbGV0b24gPSAidGh1ZCIKK0xBWUVSU0VSSUVTX0NPTVBBVF9za2VsZXRvbiA9ICJ3YXJyaW9yIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL2xheWVyLmNvbmYgYi9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbGF5ZXIuY29uZgppbmRleCA1M2U4NzIyLi4zYzhmNzc1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbGF5ZXIuY29uZgorKysgYi9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbGF5ZXIuY29uZgpAQCAtOSw0ICs5LDQgQEAKIEJCRklMRV9QQVRURVJOX3lvY3RvYnNwID0gIl4ke0xBWUVSRElSfS8iCiBCQkZJTEVfUFJJT1JJVFlfeW9jdG9ic3AgPSAiNSIKIExBWUVSVkVSU0lPTl95b2N0b2JzcCA9ICI0IgotTEFZRVJTRVJJRVNfQ09NUEFUX3lvY3RvYnNwID0gInRodWQiCitMQVlFUlNFUklFU19DT01QQVRfeW9jdG9ic3AgPSAid2FycmlvciIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9tYWNoaW5lL2JlYWdsZWJvbmUteW9jdG8uY29uZiBiL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9tYWNoaW5lL2JlYWdsZWJvbmUteW9jdG8uY29uZgppbmRleCBlOTExZTc1Li43MGQzY2ZlIDEwMDY0NAotLS0gYS9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbWFjaGluZS9iZWFnbGVib25lLXlvY3RvLmNvbmYKKysrIGIvcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL21hY2hpbmUvYmVhZ2xlYm9uZS15b2N0by5jb25mCkBAIC0yMCwxMCArMjAsMTEgQEAKIElNQUdFX0lOU1RBTExfYXBwZW5kID0gIiBrZXJuZWwtZGV2aWNldHJlZSBrZXJuZWwtaW1hZ2UtemltYWdlIgogZG9faW1hZ2Vfd2ljW2RlcGVuZHNdICs9ICJtdG9vbHMtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QgZG9zZnN0b29scy1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCIKIAotU0VSSUFMX0NPTlNPTEVTID0gIjExNTIwMDt0dHlPMCIKK1NFUklBTF9DT05TT0xFUyA/PSAiMTE1MjAwO3R0eVMwIDExNTIwMDt0dHlPMCIKK1NFUklBTF9DT05TT0xFU19DSEVDSyA9ICIke1NFUklBTF9DT05TT0xFU30iCiAKIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2tlcm5lbCA/PSAibGludXgteW9jdG8iCi1QUkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0byA/PSAiNC4xOCUiCitQUkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0byA/PSAiNS4wJSIKIAogS0VSTkVMX0lNQUdFVFlQRSA9ICJ6SW1hZ2UiCiBLRVJORUxfREVWSUNFVFJFRSA9ICJhbTMzNXgtYm9uZS5kdGIgYW0zMzV4LWJvbmVibGFjay5kdGIgYW0zMzV4LWJvbmVncmVlbi5kdGIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbWFjaGluZS9lZGdlcm91dGVyLmNvbmYgYi9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbWFjaGluZS9lZGdlcm91dGVyLmNvbmYKaW5kZXggYjdhOTRlOS4uODg1OTJkYiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL21hY2hpbmUvZWRnZXJvdXRlci5jb25mCisrKyBiL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9tYWNoaW5lL2VkZ2Vyb3V0ZXIuY29uZgpAQCAtMSw2ICsxLDYgQEAKICNAVFlQRTogTWFjaGluZQogI0BOQU1FOiBFZGdlcm91dGVyCi0jQERFU0NSSVBUSU9OOiBFZGdlcm91dGVyCisjQERFU0NSSVBUSU9OOiBNYWNoaW5lIGNvbmZpZ3VyYXRpb24gZm9yIGEgZ2VuZXJpYyBlZGdlcm91dGVyCiAKIHJlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1taXBzNjQuaW5jCiAKQEAgLTExLDcgKzExLDcgQEAKIEtFUk5FTF9JTUFHRV9TVFJJUF9FWFRSQV9TRUNUSU9OUyAgPSAiLmNvbW1lbnQiCiAKIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2tlcm5lbCA/PSAibGludXgteW9jdG8iCi1QUkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0byA/PSAiNC4xOCUiCitQUkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0byA/PSAiNS4wJSIKIAogU0VSSUFMX0NPTlNPTEVTID0gIjExNTIwMDt0dHlTMCIKIFVTRV9WVCA/PSAiMCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9tYWNoaW5lL2dlbmVyaWN4ODYtNjQuY29uZiBiL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9tYWNoaW5lL2dlbmVyaWN4ODYtNjQuY29uZgppbmRleCAxMmY3YzBkLi5jNDg5NDYyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbWFjaGluZS9nZW5lcmljeDg2LTY0LmNvbmYKKysrIGIvcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL21hY2hpbmUvZ2VuZXJpY3g4Ni02NC5jb25mCkBAIC0xLDcgKzEsNiBAQAogI0BUWVBFOiBNYWNoaW5lCi0jQE5BTUU6IEdlbmVyaWMgWDg2XzY0LgotCi0jQERFU0NSSVBUSU9OOiBNYWNoaW5lIGNvbmZpZ3VyYXRpb24gZm9yIGdlbmVyaWMgWDg2XzY0ICg2NC1iaXQpIFBDcyBhbmQgc2VydmVycy4gU3VwcG9ydHMgYSBtb2RlcmF0ZWx5IHdpZGUgcmFuZ2Ugb2YgZHJpdmVycyB0aGF0IHNob3VsZCBib290IGFuZCBiZSB1c2FibGUgb24gInR5cGljYWwiIGhhcmR3YXJlLgorI0BOQU1FOiBHZW5lcmljIHg4Nl82NAorI0BERVNDUklQVElPTjogTWFjaGluZSBjb25maWd1cmF0aW9uIGZvciBnZW5lcmljIHg4Nl82NCAoNjQtYml0KSBQQ3MgYW5kIHNlcnZlcnMuIFN1cHBvcnRzIGEgbW9kZXJhdGVseSB3aWRlIHJhbmdlIG9mIGRyaXZlcnMgdGhhdCBzaG91bGQgYm9vdCBhbmQgYmUgdXNhYmxlIG9uICJ0eXBpY2FsIiBoYXJkd2FyZS4KIAogREVGQVVMVFRVTkUgPz0gImNvcmUyLTY0IgogcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcmUyLmluYwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL21hY2hpbmUvZ2VuZXJpY3g4Ni5jb25mIGIvcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL21hY2hpbmUvZ2VuZXJpY3g4Ni5jb25mCmluZGV4IDc5OGI2MmUuLjk5MjlkMjcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9tYWNoaW5lL2dlbmVyaWN4ODYuY29uZgorKysgYi9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbWFjaGluZS9nZW5lcmljeDg2LmNvbmYKQEAgLTEsNyArMSw2IEBACiAjQFRZUEU6IE1hY2hpbmUKLSNATkFNRTogR2VuZXJpYyBYODYuCi0KLSNAREVTQ1JJUFRJT046IE1hY2hpbmUgY29uZmlndXJhdGlvbiBmb3IgZ2VuZXJpYyBYODYgKDMyLWJpdCkgUENzLiBTdXBwb3J0cyBhIG1vZGVyYXRlbHkgd2lkZSByYW5nZSBvZiBkcml2ZXJzIHRoYXQgc2hvdWxkIGJvb3QgYW5kIGJlIHVzYWJsZSBvbiAidHlwaWNhbCIgaGFyZHdhcmUuCisjQE5BTUU6IEdlbmVyaWMgeDg2CisjQERFU0NSSVBUSU9OOiBNYWNoaW5lIGNvbmZpZ3VyYXRpb24gZm9yIGdlbmVyaWMgeDg2ICgzMi1iaXQpIFBDcy4gU3VwcG9ydHMgYSBtb2RlcmF0ZWx5IHdpZGUgcmFuZ2Ugb2YgZHJpdmVycyB0aGF0IHNob3VsZCBib290IGFuZCBiZSB1c2FibGUgb24gInR5cGljYWwiIGhhcmR3YXJlLgogCiBERUZBVUxUVFVORSA/PSAiY29yZTItMzIiCiByZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29yZTIuaW5jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbWFjaGluZS9tcGM4MzE1ZS1yZGIuY29uZiBiL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9tYWNoaW5lL21wYzgzMTVlLXJkYi5jb25mCmluZGV4IDZmNWI5ODUuLmUyZGNlNTYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9tYWNoaW5lL21wYzgzMTVlLXJkYi5jb25mCisrKyBiL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9tYWNoaW5lL21wYzgzMTVlLXJkYi5jb25mCkBAIC0xLDUgKzEsNiBAQAogI0BUWVBFOiBNYWNoaW5lCi0jQERFU0NSSVBUSU9OOiBNYWNoaW5lIGNvbmZpZ3VyYXRpb24gZm9yIHJ1bm5pbmcKKyNATkFNRTogRnJlZXNjYWxlIE1QQzgzMTVFLVJEQgorI0BERVNDUklQVElPTjogTWFjaGluZSBjb25maWd1cmF0aW9uIGZvciBGcmVlc2NhbGUgTVBDODMxNUUtUkRCCiAKIFRBUkdFVF9GUFUgPSAiIgogCkBAIC0xNCw3ICsxNSw3IEBACiAKIE1BQ0hJTkVfRkVBVFVSRVMgPSAia2V5Ym9hcmQgcGNpIGV4dDIgZXh0MyBzZXJpYWwiCiAKLVBSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlvY3RvID89ICI0LjE4JSIKK1BSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlvY3RvID89ICI1LjAlIgogUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwva2VybmVsID89ICJsaW51eC15b2N0byIKIAogUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwveHNlcnZlciA/PSAieHNlcnZlci14b3JnIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXlvY3RvLWJzcC9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhmODYtY29uZmlnL2JlYWdsZWJvbmUteW9jdG8veG9yZy5jb25mIGIvcG9reS9tZXRhLXlvY3RvLWJzcC9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhmODYtY29uZmlnL2JlYWdsZWJvbmUteW9jdG8veG9yZy5jb25mCmluZGV4IDJmNDBkYWUuLjVkYTE1ODggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS15b2N0by1ic3AvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14Zjg2LWNvbmZpZy9iZWFnbGVib25lLXlvY3RvL3hvcmcuY29uZgorKysgYi9wb2t5L21ldGEteW9jdG8tYnNwL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteGY4Ni1jb25maWcvYmVhZ2xlYm9uZS15b2N0by94b3JnLmNvbmYKQEAgLTUsNiArNSw3IEBACiBTZWN0aW9uICJEZXZpY2UiCiAgICAgICAgIElkZW50aWZpZXIgICAgICAiQnVpbHRpbiBEZWZhdWx0IGZiZGV2IERldmljZSAwIgogICAgICAgICBEcml2ZXIgICJtb2Rlc2V0dGluZyIKKyAgICAgICAgT3B0aW9uICAiQWNjZWxNZXRob2QiICJub25lIgogRW5kU2VjdGlvbgogCiBTZWN0aW9uICJTY3JlZW4iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEteW9jdG8tYnNwL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvXzQuMTQuYmJhcHBlbmQgYi9wb2t5L21ldGEteW9jdG8tYnNwL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvXzQuMTQuYmJhcHBlbmQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUwMjQ4NWEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhLXlvY3RvLWJzcC9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b180LjE0LmJiYXBwZW5kCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotS0JSQU5DSF9nZW5lcmljeDg2ICA9ICJ2NC4xNC9zdGFuZGFyZC9iYXNlIgotS0JSQU5DSF9nZW5lcmljeDg2LTY0ICA9ICJ2NC4xNC9zdGFuZGFyZC9iYXNlIgotS0JSQU5DSF9lZGdlcm91dGVyID0gInY0LjE0L3N0YW5kYXJkL2VkZ2Vyb3V0ZXIiCi1LQlJBTkNIX2JlYWdsZWJvbmUteW9jdG8gPSAidjQuMTQvc3RhbmRhcmQvYmVhZ2xlYm9uZSIKLUtCUkFOQ0hfbXBjODMxNWUtcmRiID0gInY0LjE0L3N0YW5kYXJkL2ZzbC1tcGM4MzE1ZS1yZGIiCi0KLUtNQUNISU5FX2dlbmVyaWN4ODYgPz0gImNvbW1vbi1wYyIKLUtNQUNISU5FX2dlbmVyaWN4ODYtNjQgPz0gImNvbW1vbi1wYy02NCIKLUtNQUNISU5FX2JlYWdsZWJvbmUteW9jdG8gPz0gImJlYWdsZWJvbmUiCi0KLVNSQ1JFVl9tYWNoaW5lX2dlbmVyaWN4ODYgICAgPz0gIjJjNWNhYTdlODQzMTFmMmEwMDk3OTc0YTY5N2FjMWY1OTAzMDUzMGUiCi1TUkNSRVZfbWFjaGluZV9nZW5lcmljeDg2LTY0ID89ICIyYzVjYWE3ZTg0MzExZjJhMDA5Nzk3NGE2OTdhYzFmNTkwMzA1MzBlIgotU1JDUkVWX21hY2hpbmVfZWRnZXJvdXRlciA/PSAiZTA2YmZhMThjNzI3YmQwZTZlMTBjZjI2ZDlmMTYxZTRjNzkxZjUyYiIKLVNSQ1JFVl9tYWNoaW5lX2JlYWdsZWJvbmUteW9jdG8gPz0gImI4ODA1ZGU3N2RjZjhmNTlkODM2OGZlZTQ5MjFjMTQ2YzEzMDBhNmEiCi1TUkNSRVZfbWFjaGluZV9tcGM4MzE1ZS1yZGIgPz0gImY4OGU4NzM2MGIxMGY4ZmJkODUzYTdkNDEyOTgyZTY2MjBmM2Y5NmQiCi0KLUNPTVBBVElCTEVfTUFDSElORV9nZW5lcmljeDg2ID0gImdlbmVyaWN4ODYiCi1DT01QQVRJQkxFX01BQ0hJTkVfZ2VuZXJpY3g4Ni02NCA9ICJnZW5lcmljeDg2LTY0IgotQ09NUEFUSUJMRV9NQUNISU5FX2VkZ2Vyb3V0ZXIgPSAiZWRnZXJvdXRlciIKLUNPTVBBVElCTEVfTUFDSElORV9iZWFnbGVib25lLXlvY3RvID0gImJlYWdsZWJvbmUteW9jdG8iCi1DT01QQVRJQkxFX01BQ0hJTkVfbXBjODMxNWUtcmRiID0gIm1wYzgzMTVlLXJkYiIKLQotTElOVVhfVkVSU0lPTl9nZW5lcmljeDg2ID0gIjQuMTQuNzYiCi1MSU5VWF9WRVJTSU9OX2dlbmVyaWN4ODYtNjQgPSAiNC4xNC43NiIKLUxJTlVYX1ZFUlNJT05fZWRnZXJvdXRlciA9ICI0LjE0LjcxIgotTElOVVhfVkVSU0lPTl9iZWFnbGVib25lLXlvY3RvID0gIjQuMTQuNzEiCi1MSU5VWF9WRVJTSU9OX21wYzgzMTVlLXJkYiA9ICI0LjE0LjcxIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXlvY3RvLWJzcC9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b180LjE4LmJiYXBwZW5kIGIvcG9reS9tZXRhLXlvY3RvLWJzcC9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b180LjE4LmJiYXBwZW5kCmluZGV4IDdmMTU4NDMuLmU1M2JiNTEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS15b2N0by1ic3AvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG9fNC4xOC5iYmFwcGVuZAorKysgYi9wb2t5L21ldGEteW9jdG8tYnNwL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvXzQuMTguYmJhcHBlbmQKQEAgLTgsOCArOCw4IEBACiBLTUFDSElORV9nZW5lcmljeDg2LTY0ID89ICJjb21tb24tcGMtNjQiCiBLTUFDSElORV9iZWFnbGVib25lLXlvY3RvID89ICJiZWFnbGVib25lIgogCi1TUkNSRVZfbWFjaGluZV9nZW5lcmljeDg2ICAgID89ICJkYjJkODEzODY5YTA1MDE3ODI0NjllY2RiMTdlMjc3YTUwMWM5ZjU3IgotU1JDUkVWX21hY2hpbmVfZ2VuZXJpY3g4Ni02NCA/PSAiZGIyZDgxMzg2OWEwNTAxNzgyNDY5ZWNkYjE3ZTI3N2E1MDFjOWY1NyIKK1NSQ1JFVl9tYWNoaW5lX2dlbmVyaWN4ODYgICAgPz0gIjYyZjBhM2FjZmZmZmQ1NTVmNjhlZDk3ZDVlNGZhYWRlMmIyOGYzYzAiCitTUkNSRVZfbWFjaGluZV9nZW5lcmljeDg2LTY0ID89ICI2MmYwYTNhY2ZmZmZkNTU1ZjY4ZWQ5N2Q1ZTRmYWFkZTJiMjhmM2MwIgogU1JDUkVWX21hY2hpbmVfZWRnZXJvdXRlciA/PSAiMjhlNzc4MWQ1N2E1OTIyN2JmMWMwOGM3ZjNkYmRmZWUxNmFhMGRjMiIKIFNSQ1JFVl9tYWNoaW5lX2JlYWdsZWJvbmUteW9jdG8gPz0gIjI4ZTc3ODFkNTdhNTkyMjdiZjFjMDhjN2YzZGJkZmVlMTZhYTBkYzIiCiBTUkNSRVZfbWFjaGluZV9tcGM4MzE1ZS1yZGIgPz0gIjk5MDcxYTU5OWQ4NjUwYjA2OWZiODEzNTg2NmZjYTIwM2YzNzUzNTAiCkBAIC0yMCw4ICsyMCw4IEBACiBDT01QQVRJQkxFX01BQ0hJTkVfYmVhZ2xlYm9uZS15b2N0byA9ICJiZWFnbGVib25lLXlvY3RvIgogQ09NUEFUSUJMRV9NQUNISU5FX21wYzgzMTVlLXJkYiA9ICJtcGM4MzE1ZS1yZGIiCiAKLUxJTlVYX1ZFUlNJT05fZ2VuZXJpY3g4NiA9ICI0LjE4LjIyIgotTElOVVhfVkVSU0lPTl9nZW5lcmljeDg2LTY0ID0gIjQuMTguMjIiCitMSU5VWF9WRVJTSU9OX2dlbmVyaWN4ODYgPSAiNC4xOC4yNyIKK0xJTlVYX1ZFUlNJT05fZ2VuZXJpY3g4Ni02NCA9ICI0LjE4LjI3IgogTElOVVhfVkVSU0lPTl9lZGdlcm91dGVyID0gIjQuMTguMjUiCiBMSU5VWF9WRVJTSU9OX2JlYWdsZWJvbmUteW9jdG8gPSAiNC4xOC4yNSIKIExJTlVYX1ZFUlNJT05fbXBjODMxNWUtcmRiID0gIjQuMTguMjUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEteW9jdG8tYnNwL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvXzQuMTkuYmJhcHBlbmQgYi9wb2t5L21ldGEteW9jdG8tYnNwL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvXzQuMTkuYmJhcHBlbmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGU3MDhjYgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS15b2N0by1ic3AvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG9fNC4xOS5iYmFwcGVuZApAQCAtMCwwICsxLDI3IEBACitLQlJBTkNIX2dlbmVyaWN4ODYgID0gInY0LjE5L3N0YW5kYXJkL2Jhc2UiCitLQlJBTkNIX2dlbmVyaWN4ODYtNjQgID0gInY0LjE5L3N0YW5kYXJkL2Jhc2UiCitLQlJBTkNIX2VkZ2Vyb3V0ZXIgPSAidjQuMTkvc3RhbmRhcmQvZWRnZXJvdXRlciIKK0tCUkFOQ0hfYmVhZ2xlYm9uZS15b2N0byA9ICJ2NC4xOS9zdGFuZGFyZC9iZWFnbGVib25lIgorS0JSQU5DSF9tcGM4MzE1ZS1yZGIgPSAidjQuMTkvc3RhbmRhcmQvZnNsLW1wYzgzMTVlLXJkYiIKKworS01BQ0hJTkVfZ2VuZXJpY3g4NiA/PSAiY29tbW9uLXBjIgorS01BQ0hJTkVfZ2VuZXJpY3g4Ni02NCA/PSAiY29tbW9uLXBjLTY0IgorS01BQ0hJTkVfYmVhZ2xlYm9uZS15b2N0byA/PSAiYmVhZ2xlYm9uZSIKKworU1JDUkVWX21hY2hpbmVfZ2VuZXJpY3g4NiAgICA/PSAiZWViYjUxMzAwYTA3ODA0YTAyMGVjNDY4YjVmOGM1YmY3MjAxOThkOSIKK1NSQ1JFVl9tYWNoaW5lX2dlbmVyaWN4ODYtNjQgPz0gImVlYmI1MTMwMGEwNzgwNGEwMjBlYzQ2OGI1ZjhjNWJmNzIwMTk4ZDkiCitTUkNSRVZfbWFjaGluZV9lZGdlcm91dGVyID89ICJlZWJiNTEzMDBhMDc4MDRhMDIwZWM0NjhiNWY4YzViZjcyMDE5OGQ5IgorU1JDUkVWX21hY2hpbmVfYmVhZ2xlYm9uZS15b2N0byA/PSAiZWViYjUxMzAwYTA3ODA0YTAyMGVjNDY4YjVmOGM1YmY3MjAxOThkOSIKK1NSQ1JFVl9tYWNoaW5lX21wYzgzMTVlLXJkYiA/PSAiOGI2MGY5Njg4MjMyNTZmNWQyODg5YzQ1MjBkNzAyOTljYTIxNDExYiIKKworQ09NUEFUSUJMRV9NQUNISU5FX2dlbmVyaWN4ODYgPSAiZ2VuZXJpY3g4NiIKK0NPTVBBVElCTEVfTUFDSElORV9nZW5lcmljeDg2LTY0ID0gImdlbmVyaWN4ODYtNjQiCitDT01QQVRJQkxFX01BQ0hJTkVfZWRnZXJvdXRlciA9ICJlZGdlcm91dGVyIgorQ09NUEFUSUJMRV9NQUNISU5FX2JlYWdsZWJvbmUteW9jdG8gPSAiYmVhZ2xlYm9uZS15b2N0byIKK0NPTVBBVElCTEVfTUFDSElORV9tcGM4MzE1ZS1yZGIgPSAibXBjODMxNWUtcmRiIgorCitMSU5VWF9WRVJTSU9OX2dlbmVyaWN4ODYgPSAiNC4xOS4xNCIKK0xJTlVYX1ZFUlNJT05fZ2VuZXJpY3g4Ni02NCA9ICI0LjE5LjE0IgorTElOVVhfVkVSU0lPTl9lZGdlcm91dGVyID0gIjQuMTkuMTQiCitMSU5VWF9WRVJTSU9OX2JlYWdsZWJvbmUteW9jdG8gPSAiNC4xOS4xNCIKK0xJTlVYX1ZFUlNJT05fbXBjODMxNWUtcmRiID0gIjQuMTkuMTQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEteW9jdG8tYnNwL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvXzUuMC5iYmFwcGVuZCBiL3Bva3kvbWV0YS15b2N0by1ic3AvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG9fNS4wLmJiYXBwZW5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjZjZlMWYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEteW9jdG8tYnNwL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvXzUuMC5iYmFwcGVuZApAQCAtMCwwICsxLDI3IEBACitLQlJBTkNIX2dlbmVyaWN4ODYgID0gInY1LjAvc3RhbmRhcmQvYmFzZSIKK0tCUkFOQ0hfZ2VuZXJpY3g4Ni02NCAgPSAidjUuMC9zdGFuZGFyZC9iYXNlIgorS0JSQU5DSF9lZGdlcm91dGVyID0gInY1LjAvc3RhbmRhcmQvZWRnZXJvdXRlciIKK0tCUkFOQ0hfYmVhZ2xlYm9uZS15b2N0byA9ICJ2NS4wL3N0YW5kYXJkL2JlYWdsZWJvbmUiCitLQlJBTkNIX21wYzgzMTVlLXJkYiA9ICJ2NS4wL3N0YW5kYXJkL2ZzbC1tcGM4MzE1ZS1yZGIiCisKK0tNQUNISU5FX2dlbmVyaWN4ODYgPz0gImNvbW1vbi1wYyIKK0tNQUNISU5FX2dlbmVyaWN4ODYtNjQgPz0gImNvbW1vbi1wYy02NCIKK0tNQUNISU5FX2JlYWdsZWJvbmUteW9jdG8gPz0gImJlYWdsZWJvbmUiCisKK1NSQ1JFVl9tYWNoaW5lX2dlbmVyaWN4ODYgICAgPz0gIjNkZjRhYWU2MDc0ZTk0ZTc5NGUyN2ZlN2YxNzQ1MWQ5MzUzY2RmM2QiCitTUkNSRVZfbWFjaGluZV9nZW5lcmljeDg2LTY0ID89ICIzZGY0YWFlNjA3NGU5NGU3OTRlMjdmZTdmMTc0NTFkOTM1M2NkZjNkIgorU1JDUkVWX21hY2hpbmVfZWRnZXJvdXRlciA/PSAiM2RmNGFhZTYwNzRlOTRlNzk0ZTI3ZmU3ZjE3NDUxZDkzNTNjZGYzZCIKK1NSQ1JFVl9tYWNoaW5lX2JlYWdsZWJvbmUteW9jdG8gPz0gIjNkZjRhYWU2MDc0ZTk0ZTc5NGUyN2ZlN2YxNzQ1MWQ5MzUzY2RmM2QiCitTUkNSRVZfbWFjaGluZV9tcGM4MzE1ZS1yZGIgPz0gIjhiNjJhZjdmMjUyYWYxMDU4ODI3NjgwMmM0YzZkN2M1MDJlODc1YmUiCisKK0NPTVBBVElCTEVfTUFDSElORV9nZW5lcmljeDg2ID0gImdlbmVyaWN4ODYiCitDT01QQVRJQkxFX01BQ0hJTkVfZ2VuZXJpY3g4Ni02NCA9ICJnZW5lcmljeDg2LTY0IgorQ09NUEFUSUJMRV9NQUNISU5FX2VkZ2Vyb3V0ZXIgPSAiZWRnZXJvdXRlciIKK0NPTVBBVElCTEVfTUFDSElORV9iZWFnbGVib25lLXlvY3RvID0gImJlYWdsZWJvbmUteW9jdG8iCitDT01QQVRJQkxFX01BQ0hJTkVfbXBjODMxNWUtcmRiID0gIm1wYzgzMTVlLXJkYiIKKworTElOVVhfVkVSU0lPTl9nZW5lcmljeDg2ID0gIjUuMC4zIgorTElOVVhfVkVSU0lPTl9nZW5lcmljeDg2LTY0ID0gIjUuMC4zIgorTElOVVhfVkVSU0lPTl9lZGdlcm91dGVyID0gIjUuMC4zIgorTElOVVhfVkVSU0lPTl9iZWFnbGVib25lLXlvY3RvID0gIjUuMC4zIgorTElOVVhfVkVSU0lPTl9tcGM4MzE1ZS1yZGIgPSAiNS4wLjMiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEteW9jdG8tYnNwL3dpYy9iZWFnbGVib25lLXlvY3RvLndrcyBiL3Bva3kvbWV0YS15b2N0by1ic3Avd2ljL2JlYWdsZWJvbmUteW9jdG8ud2tzCmluZGV4IGI3NWYyMzguLjk3YmQ0ODAgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS15b2N0by1ic3Avd2ljL2JlYWdsZWJvbmUteW9jdG8ud2tzCisrKyBiL3Bva3kvbWV0YS15b2N0by1ic3Avd2ljL2JlYWdsZWJvbmUteW9jdG8ud2tzCkBAIC00LDMgKzQsNCBAQAogCiBwYXJ0IC9ib290IC0tc291cmNlIGJvb3RpbWctcGFydGl0aW9uIC0tb25kaXNrIG1tY2JsazAgLS1mc3R5cGU9dmZhdCAtLWxhYmVsIGJvb3QgLS1hY3RpdmUgLS1hbGlnbiA0IC0tc2l6ZSAxNiAtLXNvdXJjZXBhcmFtcz0ibG9hZGVyPXUtYm9vdCIgLS11c2UtdXVpZAogcGFydCAvIC0tc291cmNlIHJvb3RmcyAtLW9uZGlzayBtbWNibGsgLS1mc3R5cGU9ZXh0NCAtLWxhYmVsIHJvb3QgLS1hbGlnbiA0IC0tdXNlLXV1aWQKK2Jvb3Rsb2FkZXIgLS1hcHBlbmQ9ImNvbnNvbGU9dHR5UzAsMTE1MjAwIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvYXJjaGl2ZXIuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2FyY2hpdmVyLmJiY2xhc3MKaW5kZXggZTMyMWEwZS4uYWY5ZjAxMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvYXJjaGl2ZXIuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9hcmNoaXZlci5iYmNsYXNzCkBAIC0zNyw4ICszNywxMSBAQAogREVQTE9ZX0RJUl9TUkMgPz0gIiR7REVQTE9ZX0RJUn0vc291cmNlcyIKIEFSQ0hJVkVSX1RPUERJUiA/PSAiJHtXT1JLRElSfS9kZXBsb3ktc291cmNlcyIKIEFSQ0hJVkVSX09VVERJUiA9ICIke0FSQ0hJVkVSX1RPUERJUn0vJHtUQVJHRVRfU1lTfS8ke1BGfS8iCitBUkNISVZFUl9SUE1UT1BESVIgPz0gIiR7V09SS0RJUn0vZGVwbG95LXNvdXJjZXMtcnBtIgorQVJDSElWRVJfUlBNT1VURElSID0gIiR7QVJDSElWRVJfUlBNVE9QRElSfS8ke1RBUkdFVF9TWVN9LyR7UEZ9LyIKIEFSQ0hJVkVSX1dPUktESVIgPSAiJHtXT1JLRElSfS9hcmNoaXZlci13b3JrLyIKIAorCiBkb19kdW1wZGF0YVtkaXJzXSA9ICIke0FSQ0hJVkVSX09VVERJUn0iCiBkb19hcl9yZWNpcGVbZGlyc10gPSAiJHtBUkNISVZFUl9PVVRESVJ9IgogZG9fYXJfb3JpZ2luYWxbZGlyc10gPSAiJHtBUkNISVZFUl9PVVRESVJ9ICR7QVJDSElWRVJfV09SS0RJUn0iCkBAIC0xMTcsNiArMTIwLDkgQEAKICAgICBpZiBkLmdldFZhckZsYWcoJ0FSQ0hJVkVSX01PREUnLCAnc3JwbScpID09ICIxIiBhbmQgZC5nZXRWYXIoJ1BBQ0tBR0VTJyk6CiAgICAgICAgIGlmICJwYWNrYWdlX3JwbSIgaW4gZC5nZXRWYXIoJ1BBQ0tBR0VfQ0xBU1NFUycpOgogICAgICAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19kZXBsb3lfYXJjaGl2ZXMnLCAnZGVwZW5kcycsICcgJXM6ZG9fcGFja2FnZV93cml0ZV9ycG0nICUgcG4pCisgICAgICAgICAgICBkLmFwcGVuZFZhckZsYWcoJ2RvX3BhY2thZ2Vfd3JpdGVfcnBtJywgJ2RpcnMnLCAnICR7QVJDSElWRVJfUlBNVE9QRElSfScpCisgICAgICAgICAgICBkLmFwcGVuZFZhckZsYWcoJ2RvX3BhY2thZ2Vfd3JpdGVfcnBtJywgJ3NzdGF0ZS1pbnB1dGRpcnMnLCAnICR7QVJDSElWRVJfUlBNVE9QRElSfScpCisgICAgICAgICAgICBkLmFwcGVuZFZhckZsYWcoJ2RvX3BhY2thZ2Vfd3JpdGVfcnBtJywgJ3NzdGF0ZS1vdXRwdXRkaXJzJywgJyAke0RFUExPWV9ESVJfU1JDfScpCiAgICAgICAgICAgICBpZiBhcl9kdW1wZGF0YSA9PSAiMSI6CiAgICAgICAgICAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19wYWNrYWdlX3dyaXRlX3JwbScsICdkZXBlbmRzJywgJyAlczpkb19kdW1wZGF0YScgJSBwbikKICAgICAgICAgICAgIGlmIGFyX3JlY2lwZSA9PSAiMSI6CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9iYXNlLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9iYXNlLmJiY2xhc3MKaW5kZXggYmM5YjIzNi4uMTYzNmM2ZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvYmFzZS5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2Jhc2UuYmJjbGFzcwpAQCAtMTIyLDYgKzEyMiwxMCBAQAogICAgICAgICBkZXN0dG9vbCA9IG9zLnBhdGguam9pbihkZXN0LCB0b29sKQogICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZGVzdHRvb2wpOgogICAgICAgICAgICAgc3JjdG9vbCA9IGJiLnV0aWxzLndoaWNoKHBhdGgsIHRvb2wsIGV4ZWN1dGFibGU9VHJ1ZSkKKyAgICAgICAgICAgICMgZ2NjL2crKyBtYXkgbGluayB0byBjY2FjaGUgb24gc29tZSBob3N0cywgZS5nLiwKKyAgICAgICAgICAgICMgL3Vzci9sb2NhbC9iaW4vY2NhY2hlL2djYyAtPiAvdXNyL2Jpbi9jY2FjaGUsIHRoZW4gd2hpY2goZ2NjKQorICAgICAgICAgICAgIyB3b3VsZCByZXR1cm4gL3Vzci9sb2NhbC9iaW4vY2NhY2hlL2djYywgYnV0IHdoYXQgd2UgbmVlZCBpcworICAgICAgICAgICAgIyAvdXNyL2Jpbi9nY2MsIHRoaXMgY29kZSBjYW4gY2hlY2sgYW5kIGZpeCB0aGF0LgogICAgICAgICAgICAgaWYgImNjYWNoZSIgaW4gc3JjdG9vbDoKICAgICAgICAgICAgICAgICBzcmN0b29sID0gYmIudXRpbHMud2hpY2gocGF0aCwgdG9vbCwgZXhlY3V0YWJsZT1UcnVlLCBkaXJlY3Rpb249MSkKICAgICAgICAgICAgIGlmIHNyY3Rvb2w6CkBAIC0yMTYsNyArMjIwLDcgQEAKICAgICAgICAgYmIuZmF0YWwoJ1RoZSBmb2xsb3dpbmcgdmFyaWFibGUocykgd2VyZSBub3Qgc2V0OiAlc1xuUGxlYXNlIHNldCB0aGVtIGRpcmVjdGx5LCBvciBjaG9vc2UgYSBNQUNISU5FIG9yIERJU1RSTyB0aGF0IHNldHMgdGhlbS4nICUgJywgJy5qb2luKHBlc3RlcnVzZXIpKQogCiBhZGRoYW5kbGVyIGJhc2VfZXZlbnRoYW5kbGVyCi1iYXNlX2V2ZW50aGFuZGxlcltldmVudG1hc2tdID0gImJiLmV2ZW50LkNvbmZpZ1BhcnNlZCBiYi5ldmVudC5NdWx0aUNvbmZpZ1BhcnNlZCBiYi5ldmVudC5CdWlsZFN0YXJ0ZWQgYmIuZXZlbnQuUmVjaXBlUHJlRmluYWxpc2UgYmIucnVucXVldWUuc2NlbmVRdWV1ZUNvbXBsZXRlIGJiLmV2ZW50LlJlY2lwZVBhcnNlZCIKK2Jhc2VfZXZlbnRoYW5kbGVyW2V2ZW50bWFza10gPSAiYmIuZXZlbnQuQ29uZmlnUGFyc2VkIGJiLmV2ZW50Lk11bHRpQ29uZmlnUGFyc2VkIGJiLmV2ZW50LkJ1aWxkU3RhcnRlZCBiYi5ldmVudC5SZWNpcGVQcmVGaW5hbGlzZSBiYi5ldmVudC5SZWNpcGVQYXJzZWQiCiBweXRob24gYmFzZV9ldmVudGhhbmRsZXIoKSB7CiAgICAgaW1wb3J0IGJiLnJ1bnF1ZXVlCiAKQEAgLTIyNCw2ICsyMjgsMTIgQEAKICAgICAgICAgaWYgbm90IGQuZ2V0VmFyKCJOQVRJVkVMU0JTVFJJTkciLCBGYWxzZSk6CiAgICAgICAgICAgICBkLnNldFZhcigiTkFUSVZFTFNCU1RSSU5HIiwgbHNiX2Rpc3Ryb19pZGVudGlmaWVyKGQpKQogICAgICAgICBkLnNldFZhcignQkJfVkVSU0lPTicsIGJiLl9fdmVyc2lvbl9fKQorCisgICAgIyBUaGVyZSBtaWdodCBiZSBubyBiYi5ldmVudC5Db25maWdQYXJzZWQgZXZlbnQgaWYgYml0YmFrZSBzZXJ2ZXIgaXMKKyAgICAjIHJ1bm5pbmcsIHNvIGNoZWNrIGJiLmV2ZW50LkJ1aWxkU3RhcnRlZCB0b28gdG8gbWFrZSBzdXJlICR7SE9TVFRPT0xTX0RJUn0KKyAgICAjIGV4aXN0cy4KKyAgICBpZiBpc2luc3RhbmNlKGUsIGJiLmV2ZW50LkNvbmZpZ1BhcnNlZCkgb3IgXAorICAgICAgICAgICAgKGlzaW5zdGFuY2UoZSwgYmIuZXZlbnQuQnVpbGRTdGFydGVkKSBhbmQgbm90IG9zLnBhdGguZXhpc3RzKGQuZ2V0VmFyKCdIT1NUVE9PTFNfRElSJykpKToKICAgICAgICAgIyBXb3JrcyB3aXRoIHRoZSBsaW5lIGluIGxheWVyLmNvbmYgd2hpY2ggY2hhbmdlcyBQQVRIIHRvIHBvaW50IGhlcmUKICAgICAgICAgc2V0dXBfaG9zdHRvb2xzX2RpcihkLmdldFZhcignSE9TVFRPT0xTX0RJUicpLCAnSE9TVFRPT0xTJywgZCkKICAgICAgICAgc2V0dXBfaG9zdHRvb2xzX2RpcihkLmdldFZhcignSE9TVFRPT0xTX0RJUicpLCAnSE9TVFRPT0xTX05PTkZBVEFMJywgZCwgZmF0YWw9RmFsc2UpCkBAIC0yNjAsMjMgKzI3MCwxMCBAQAogICAgIGlmIGlzaW5zdGFuY2UoZSwgYmIuZXZlbnQuUmVjaXBlUHJlRmluYWxpc2UpOgogICAgICAgICBpZiBkLmdldFZhcigiVEFSR0VUX1BSRUZJWCIpID09IGQuZ2V0VmFyKCJTREtfUFJFRklYIik6CiAgICAgICAgICAgICBkLmRlbFZhcigiUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWJpbnV0aWxzIikKLSAgICAgICAgICAgIGQuZGVsVmFyKCJQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjLWluaXRpYWwiKQogICAgICAgICAgICAgZC5kZWxWYXIoIlBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nY2MiKQogICAgICAgICAgICAgZC5kZWxWYXIoIlBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nKysiKQogICAgICAgICAgICAgZC5kZWxWYXIoIlBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1jb21waWxlcmxpYnMiKQogCi0gICAgaWYgaXNpbnN0YW5jZShlLCBiYi5ydW5xdWV1ZS5zY2VuZVF1ZXVlQ29tcGxldGUpOgotICAgICAgICBjb21wbGV0aW9ucyA9IGQuZXhwYW5kKCIke1NUQUdJTkdfRElSfS9zc3RhdGVjb21wbGV0aW9ucyIpCi0gICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGNvbXBsZXRpb25zKToKLSAgICAgICAgICAgIGNtZHMgPSBzZXQoKQotICAgICAgICAgICAgd2l0aCBvcGVuKGNvbXBsZXRpb25zLCAiciIpIGFzIGY6Ci0gICAgICAgICAgICAgICAgY21kcyA9IHNldChmKQotICAgICAgICAgICAgZC5zZXRWYXIoImNvbXBsZXRpb25fZnVuY3Rpb24iLCAiXG4iLmpvaW4oY21kcykpCi0gICAgICAgICAgICBkLnNldFZhckZsYWcoImNvbXBsZXRpb25fZnVuY3Rpb24iLCAiZnVuYyIsICIxIikKLSAgICAgICAgICAgIGJiLmRlYnVnKDEsICJFeGVjdXRpbmcgU2NlbmVRdWV1ZSBDb21wbGV0aW9uIGNvbW1hbmRzOiAlcyIgJSAiXG4iLmpvaW4oY21kcykpCi0gICAgICAgICAgICBiYi5idWlsZC5leGVjX2Z1bmMoImNvbXBsZXRpb25fZnVuY3Rpb24iLCBkKQotICAgICAgICAgICAgb3MucmVtb3ZlKGNvbXBsZXRpb25zKQotCiAgICAgaWYgaXNpbnN0YW5jZShlLCBiYi5ldmVudC5SZWNpcGVQYXJzZWQpOgogICAgICAgICAjCiAgICAgICAgICMgSWYgd2UgaGF2ZSBtdWx0aXBsZSBwcm92aWRlcnMgb2YgdmlydHVhbC9YIGFuZCBhIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL1ggaXMgc2V0CkBAIC0zMDEsNyArMjk4LDYgQEAKIAogYWRkdGFzayBjb25maWd1cmUgYWZ0ZXIgZG9fcGF0Y2gKIGRvX2NvbmZpZ3VyZVtkaXJzXSA9ICIke0J9IgotZG9fcHJlcGFyZV9yZWNpcGVfc3lzcm9vdFtkZXB0YXNrXSA9ICJkb19wb3B1bGF0ZV9zeXNyb290IgogYmFzZV9kb19jb25maWd1cmUoKSB7CiAJaWYgWyAtbiAiJHtDT05GSUdVUkVTVEFNUEZJTEV9IiAtYSAtZSAiJHtDT05GSUdVUkVTVEFNUEZJTEV9IiBdOyB0aGVuCiAJCWlmIFsgImBjYXQgJHtDT05GSUdVUkVTVEFNUEZJTEV9YCIgIT0gIiR7QkJfVEFTS0hBU0h9IiBdOyB0aGVuCkBAIC00NjcsMTIgKzQ2MywxNSBAQAogCiAgICAgaWYgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnbGljZW5zZScsIGQpOgogICAgICAgICBjaGVja19saWNlbnNlX2Zvcm1hdChkKQotICAgICAgICB1bm1hdGNoZWRfbGljZW5zZV9mbGFnID0gY2hlY2tfbGljZW5zZV9mbGFncyhkKQotICAgICAgICBpZiB1bm1hdGNoZWRfbGljZW5zZV9mbGFnOgotICAgICAgICAgICAgYmIuZGVidWcoMSwgIlNraXBwaW5nICVzIGJlY2F1c2UgaXQgaGFzIGEgcmVzdHJpY3RlZCBsaWNlbnNlIG5vdCIKLSAgICAgICAgICAgICAgICAgIiB3aGl0ZWxpc3RlZCBpbiBMSUNFTlNFX0ZMQUdTX1dISVRFTElTVCIgJSBwbikKLSAgICAgICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBSZWNpcGUoImJlY2F1c2UgaXQgaGFzIGEgcmVzdHJpY3RlZCBsaWNlbnNlIG5vdCIKLSAgICAgICAgICAgICAgICAgIiB3aGl0ZWxpc3RlZCBpbiBMSUNFTlNFX0ZMQUdTX1dISVRFTElTVCIpCisgICAgICAgIHVubWF0Y2hlZF9saWNlbnNlX2ZsYWdzID0gY2hlY2tfbGljZW5zZV9mbGFncyhkKQorICAgICAgICBpZiB1bm1hdGNoZWRfbGljZW5zZV9mbGFnczoKKyAgICAgICAgICAgIGlmIGxlbih1bm1hdGNoZWRfbGljZW5zZV9mbGFncykgPT0gMToKKyAgICAgICAgICAgICAgICBtZXNzYWdlID0gImJlY2F1c2UgaXQgaGFzIGEgcmVzdHJpY3RlZCBsaWNlbnNlICd7MH0nLiBXaGljaCBpcyBub3Qgd2hpdGVsaXN0ZWQgaW4gTElDRU5TRV9GTEFHU19XSElURUxJU1QiLmZvcm1hdCh1bm1hdGNoZWRfbGljZW5zZV9mbGFnc1swXSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgbWVzc2FnZSA9ICJiZWNhdXNlIGl0IGhhcyByZXN0cmljdGVkIGxpY2Vuc2VzIHswfS4gV2hpY2ggYXJlIG5vdCB3aGl0ZWxpc3RlZCBpbiBMSUNFTlNFX0ZMQUdTX1dISVRFTElTVCIuZm9ybWF0KAorICAgICAgICAgICAgICAgICAgICAiLCAiLmpvaW4oIid7MH0nIi5mb3JtYXQoZikgZm9yIGYgaW4gdW5tYXRjaGVkX2xpY2Vuc2VfZmxhZ3MpKQorICAgICAgICAgICAgYmIuZGVidWcoMSwgIlNraXBwaW5nICVzICVzIiAlIChwbiwgbWVzc2FnZSkpCisgICAgICAgICAgICByYWlzZSBiYi5wYXJzZS5Ta2lwUmVjaXBlKG1lc3NhZ2UpCiAKICAgICAjIElmIHdlJ3JlIGJ1aWxkaW5nIGEgdGFyZ2V0IHBhY2thZ2Ugd2UgbmVlZCB0byB1c2UgZmFrZXJvb3QgKHBzZXVkbykKICAgICAjIGluIG9yZGVyIHRvIGNhcHR1cmUgcGVybWlzc2lvbnMsIG93bmVycywgZ3JvdXBzIGFuZCBzcGVjaWFsIGZpbGVzCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9idWlsZGhpc3RvcnkuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2J1aWxkaGlzdG9yeS5iYmNsYXNzCmluZGV4IDQwYjI5MmIuLjc5NmY2OGMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2J1aWxkaGlzdG9yeS5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2J1aWxkaGlzdG9yeS5iYmNsYXNzCkBAIC01MTksMTIgKzUxOSwxNCBAQAogCiBidWlsZGhpc3RvcnlfbGlzdF9maWxlcygpIHsKIAkjIExpc3QgdGhlIGZpbGVzIGluIHRoZSBzcGVjaWZpZWQgZGlyZWN0b3J5LCBidXQgZXhjbHVkZSBkYXRlL3RpbWUgZXRjLgotCSMgVGhpcyBhd2sgc2NyaXB0IGlzIHNvbWV3aGF0IG1lc3N5LCBidXQgaGFuZGxlcyB3aGVyZSB0aGUgc2l6ZSBpcyBub3QgcHJpbnRlZCBmb3IgZGV2aWNlIGZpbGVzIHVuZGVyIHBzZXVkbworCSMgVGhpcyBpcyBzb21ld2hhdCBtZXNzeSwgYnV0IGhhbmRsZXMgd2hlcmUgdGhlIHNpemUgaXMgbm90IHByaW50ZWQgZm9yIGRldmljZSBmaWxlcyB1bmRlciBwc2V1ZG8KKwkoIGNkICQxCisJZmluZF9jbWQ9J2ZpbmQgLiAhIC1wYXRoIC4gLXByaW50ZiAiJU0gJS0xMHUgJS0xMGcgJTEwcyAlcCAtPiAlbFxuIicKIAlpZiBbICIkMyIgPSAiZmFrZXJvb3QiIF0gOyB0aGVuCi0JCSggY2QgJDEgJiYgJHtGQUtFUk9PVEVOVn0gJHtGQUtFUk9PVENNRH0gZmluZCAuICEgLXBhdGggLiAtcHJpbnRmICIlTSAlLTEwdSAlLTEwZyAlMTBzICVwIC0+ICVsXG4iIHwgc29ydCAtazUgfCBzZWQgJ3MvICogLT4gJC8vJyA+ICQyICkKKwkJZXZhbCAke0ZBS0VST09URU5WfSAke0ZBS0VST09UQ01EfSAkZmluZF9jbWQKIAllbHNlCi0JCSggY2QgJDEgJiYgZmluZCAuICEgLXBhdGggLiAtcHJpbnRmICIlTSAlLTEwdSAlLTEwZyAlMTBzICVwIC0+ICVsXG4iIHwgc29ydCAtazUgfCBzZWQgJ3MvICogLT4gJC8vJyA+ICQyICkKLQlmaQorCQlldmFsICRmaW5kX2NtZAorCWZpIHwgc29ydCAtazUgfCBzZWQgJ3MvICogLT4gJC8vJyA+ICQyICkKIH0KIAogYnVpbGRoaXN0b3J5X2xpc3RfcGtnX2ZpbGVzKCkgewpAQCAtNjcwLDEyICs2NzIsMjkgQEAKICAgICBzdGF0dXNoZWFkZXIgPSBkLmdldFZhcignQlVJTERDRkdfSEVBREVSJykKICAgICByZXR1cm4oJ1xuJXNcbiVzXG4nICUgKHN0YXR1c2hlYWRlciwgJ1xuJy5qb2luKHN0YXR1c2xpbmVzKSkpCiAKK2RlZiBidWlsZGhpc3RvcnlfZ2V0X21vZGlmaWVkKHBhdGgpOgorICAgICMgY29waWVkIGZyb20gZ2V0X2xheWVyX2dpdF9zdGF0dXMoKSBpbiBpbWFnZS1idWlsZGluZm8uYmJjbGFzcworICAgIGltcG9ydCBzdWJwcm9jZXNzCisgICAgdHJ5OgorICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX291dHB1dCgiIiJjZCAlczsgZXhwb3J0IFBTRVVET19VTkxPQUQ9MTsgc2V0IC1lOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaXQgZGlmZiAtLXF1aWV0IC0tbm8tZXh0LWRpZmYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2l0IGRpZmYgLS1xdWlldCAtLW5vLWV4dC1kaWZmIC0tY2FjaGVkIiIiICUgcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hlbGw9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkZXJyPXN1YnByb2Nlc3MuU1RET1VUKQorICAgICAgICByZXR1cm4gIiIKKyAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3IgYXMgZXg6CisgICAgICAgICMgU2lsZW50bHkgdHJlYXQgZXJyb3JzIGFzICJtb2RpZmllZCIsIHdpdGhvdXQgY2hlY2tpbmcgZm9yIHRoZQorICAgICAgICAjIChleHBlY3RlZCkgcmV0dXJuIGNvZGUgMSBpbiBhIG1vZGlmaWVkIGdpdCByZXBvLiBGb3IgZXhhbXBsZSwgd2UgZ2V0CisgICAgICAgICMgb3V0cHV0IGFuZCBhIDEyOSByZXR1cm4gY29kZSB3aGVuIGEgbGF5ZXIgaXNuJ3QgYSBnaXQgcmVwbyBhdCBhbGwuCisgICAgICAgIHJldHVybiAiIC0tIG1vZGlmaWVkIgorCiBkZWYgYnVpbGRoaXN0b3J5X2dldF9tZXRhZGF0YV9yZXZzKGQpOgogICAgICMgV2Ugd2FudCBhbiBlYXNpbHkgbWFjaGluZS1yZWFkYWJsZSBmb3JtYXQgaGVyZSwgc28gZ2V0X2xheWVyc19icmFuY2hfcmV2IGlzbid0IHF1aXRlIHdoYXQgd2Ugd2FudAogICAgIGxheWVycyA9IChkLmdldFZhcigiQkJMQVlFUlMiKSBvciAiIikuc3BsaXQoKQotICAgIG1lZGFkYXRhX3JldnMgPSBbIiUtMTdzID0gJXM6JXMiICUgKG9zLnBhdGguYmFzZW5hbWUoaSksIFwKKyAgICBtZWRhZGF0YV9yZXZzID0gWyIlLTE3cyA9ICVzOiVzJXMiICUgKG9zLnBhdGguYmFzZW5hbWUoaSksIFwKICAgICAgICAgYmFzZV9nZXRfbWV0YWRhdGFfZ2l0X2JyYW5jaChpLCBOb25lKS5zdHJpcCgpLCBcCi0gICAgICAgIGJhc2VfZ2V0X21ldGFkYXRhX2dpdF9yZXZpc2lvbihpLCBOb25lKSkgXAorICAgICAgICBiYXNlX2dldF9tZXRhZGF0YV9naXRfcmV2aXNpb24oaSwgTm9uZSksIFwKKyAgICAgICAgYnVpbGRoaXN0b3J5X2dldF9tb2RpZmllZChpKSkgXAogICAgICAgICAgICAgZm9yIGkgaW4gbGF5ZXJzXQogICAgIHJldHVybiAnXG4nLmpvaW4obWVkYWRhdGFfcmV2cykKIApAQCAtODk2LDcgKzkxNSw3IEBACiAgICAgICAgICAgICBpZiBvcmlnX3NyY3JldiAhPSAnSU5WQUxJRCc6CiAgICAgICAgICAgICAgICAgZi53cml0ZSgnIyBTUkNSRVYgPSAiJXMiXG4nICUgb3JpZ19zcmNyZXYpCiAgICAgICAgICAgICBpZiBsZW4oc3JjcmV2cykgPiAxOgotICAgICAgICAgICAgICAgIGZvciBuYW1lLCBzcmNyZXYgaW4gc3JjcmV2cy5pdGVtcygpOgorICAgICAgICAgICAgICAgIGZvciBuYW1lLCBzcmNyZXYgaW4gc29ydGVkKHNyY3JldnMuaXRlbXMoKSk6CiAgICAgICAgICAgICAgICAgICAgIG9yaWdfc3JjcmV2ID0gZC5nZXRWYXIoJ1NSQ1JFVl8lcycgJSBuYW1lLCBGYWxzZSkKICAgICAgICAgICAgICAgICAgICAgaWYgb3JpZ19zcmNyZXY6CiAgICAgICAgICAgICAgICAgICAgICAgICBmLndyaXRlKCcjIFNSQ1JFVl8lcyA9ICIlcyJcbicgJSAobmFtZSwgb3JpZ19zcmNyZXYpKQpAQCAtOTA0LDcgKzkyMyw3IEBACiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIGYud3JpdGUoJ1NSQ1JFViA9ICIlcyJcbicgJSBuZXh0KGl0ZXIoc3JjcmV2cy52YWx1ZXMoKSkpKQogICAgICAgICAgICAgaWYgbGVuKHRhZ19zcmNyZXZzKSA+IDA6Ci0gICAgICAgICAgICAgICAgZm9yIG5hbWUsIHNyY3JldiBpbiB0YWdfc3JjcmV2cy5pdGVtcygpOgorICAgICAgICAgICAgICAgIGZvciBuYW1lLCBzcmNyZXYgaW4gc29ydGVkKHRhZ19zcmNyZXZzLml0ZW1zKCkpOgogICAgICAgICAgICAgICAgICAgICBmLndyaXRlKCcjIHRhZ18lcyA9ICIlcyJcbicgJSAobmFtZSwgc3JjcmV2KSkKICAgICAgICAgICAgICAgICAgICAgaWYgbmFtZSBpbiBvbGRfdGFnX3NyY3JldnMgYW5kIG9sZF90YWdfc3JjcmV2c1tuYW1lXSAhPSBzcmNyZXY6CiAgICAgICAgICAgICAgICAgICAgICAgICBwa2cgPSBkLmdldFZhcignUE4nKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvY2NhY2hlLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9jY2FjaGUuYmJjbGFzcwppbmRleCA5NjA5MDIwLi5iNTQ1NzM1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9jY2FjaGUuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9jY2FjaGUuYmJjbGFzcwpAQCAtMSw1ICsxLDM3IEBACi1DQ0FDSEUgPSAiJHtAYmIudXRpbHMud2hpY2goZC5nZXRWYXIoJ1BBVEgnKSwgJ2NjYWNoZScpIGFuZCAnY2NhY2hlICd9IgotZXhwb3J0IENDQUNIRV9ESVIgPz0gIiR7VE1QRElSfS9jY2FjaGUvJHtNVUxUSU1BQ0hfVEFSR0VUX1NZU30vJHtQTn0iCisjCisjIFVzYWdlOgorIyAtIEVuYWJsZSBjY2FjaGUKKyMgICBBZGQgdGhlIGZvbGxvd2luZyBsaW5lIHRvIGEgY29uZmZpbGUgc3VjaCBhcyBjb25mL2xvY2FsLmNvbmY6CisjICAgSU5IRVJJVCArPSAiY2NhY2hlIgorIworIyAtIERpc2FibGUgY2NhY2hlIGZvciBhIHJlY2lwZQorIyAgIEFkZCB0aGUgZm9sbG93aW5nIGxpbmUgdG8gdGhlIHJlY2lwZSBpZiBpdCBjYW4ndCBiZSBidWlsdCB3aXRoIGNjYWNoZToKKyMgICBDQ0FDSEVfRElTQUJMRSA9ICcxJworIworIyAtIFNoYXJlIGNjYWNoZSBmaWxlcyBiZXR3ZWVuIGRpZmZlcmVudCBidWlsZHMKKyMgICBTZXQgQ0NBQ0hFX1RPUF9ESVIgdG8gYSBzaGFyZWQgZGlyCisjICAgQ0NBQ0hFX1RPUF9ESVIgPSAvcGF0aC90by9zaGFyZWRfY2NhY2hlLworIworIyAtIFRPIGRlYnVnIGNjYWhlCisjICAgZXhwb3J0IENDQUNIRV9ERUJVRyA9ICIxIgorIyAgIGV4cG9ydCBDQ0FDSEVfTE9HRklMRSA9ICIke0NDQUNIRV9ESVJ9L2xvZ2ZpbGUubG9nIgorIyAgIEFuZCBhbHNvIHNldCBQQVJBTExFTF9NQUtFID0gIi1qIDEiIHRvIGdldCBtYWtlIHRoZSBsb2cgaW4gb3JkZXIKKyMKKworIyBTZXQgaXQgdG8gYSBzaGFyZWQgbG9jYXRpb24gZm9yIGRpZmZlcmVudCBidWlsZHMsIHNvIHRoYXQgY2FjaGUgZmlsZXMgY2FuCisjIGJlIHNoYXJlZCBiZXR3ZWVuIGRpZmZlcmVudCBidWlsZHMuCitDQ0FDSEVfVE9QX0RJUiA/PSAiJHtUTVBESVJ9L2NjYWNoZSIKKworIyBjY2FoZSByZW1vdmVzIENDQUNIRV9CQVNFRElSIGZyb20gZmlsZSBwYXRoLCBzbyB0aGF0IGhhc2hlcyB3aWxsIGJlIHRoZSBzYW1lCisjIGluIGRpZmZlcmVudCBidWlsZHMuCitleHBvcnQgQ0NBQ0hFX0JBU0VESVIgPz0gIiR7VE1QRElSfSIKKworIyBVc2VkIGZvciBzaGFyaW5nIGNhY2hlIGZpbGVzIGFmdGVyIGNvbXBpbGVyIGlzIHJlYnVpbHQKK2V4cG9ydCBDQ0FDSEVfQ09NUElMRVJDSEVDSyA/PSAiJWNvbXBpbGVyJSAtZHVtcHNwZWNzIgorCitleHBvcnQgQ0NBQ0hFX0NPTkZJR1BBVEggPz0gIiR7Q09SRUJBU0V9L21ldGEvY29uZi9jY2FjaGUuY29uZiIKKworZXhwb3J0IENDQUNIRV9ESVIgPz0gIiR7Q0NBQ0hFX1RPUF9ESVJ9LyR7TVVMVElNQUNIX1RBUkdFVF9TWVN9LyR7UE59IgogCiAjIFdlIG5lZWQgdG8gc3RvcCBjY2FjaGUgY29uc2lkZXJpbmcgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IG9yIHRoZQogIyBkZWJ1Zy1wcmVmaXgtbWFwIHRhcmdldCBkaXJlY3RvcnkgdG8gYmUgc2lnbmlmaWNhbnQgd2hlbiBjYWxjdWxhdGluZwpAQCAtNyw1ICszOSwyOCBAQAogIyAke1BWfSBvciAke1BSfSBjaGFuZ2UuCiBleHBvcnQgQ0NBQ0hFX05PSEFTSERJUiA/PSAiMSIKIAotREVQRU5EU19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBjY2FjaGUtbmF0aXZlIgotREVQRU5EU1t2YXJkZXB2YWx1ZWV4Y2x1ZGVdID0gIiBjY2FjaGUtbmF0aXZlIgorcHl0aG9uKCkgeworICAgICIiIgorICAgIEVuYWJsZSBjY2FjaGUgZm9yIHRoZSByZWNpcGUKKyAgICAiIiIKKyAgICBwbiA9IGQuZ2V0VmFyKCdQTicpCisgICAgIyBxdWlsdC1uYXRpdmUgZG9lc24ndCBuZWVkIGNjYWNoZSBzaW5jZSBubyBjIGZpbGVzCisgICAgaWYgbm90IChwbiBpbiAoJ2NjYWNoZS1uYXRpdmUnLCAncXVpbHQtbmF0aXZlJykgb3IKKyAgICAgICAgICAgIGJiLnV0aWxzLnRvX2Jvb2xlYW4oZC5nZXRWYXIoJ0NDQUNIRV9ESVNBQkxFJykpKToKKyAgICAgICAgZC5hcHBlbmRWYXIoJ0RFUEVORFMnLCAnIGNjYWNoZS1uYXRpdmUnKQorICAgICAgICBkLnNldFZhcignQ0NBQ0hFJywgJ2NjYWNoZSAnKQorfQorCithZGR0YXNrIGNsZWFuY2NhY2hlIGFmdGVyIGRvX2NsZWFuCitweXRob24gZG9fY2xlYW5jY2FjaGUoKSB7CisgICAgaW1wb3J0IHNodXRpbAorCisgICAgY2NhY2hlX2RpciA9IGQuZ2V0VmFyKCdDQ0FDSEVfRElSJykKKyAgICBpZiBvcy5wYXRoLmV4aXN0cyhjY2FjaGVfZGlyKToKKyAgICAgICAgYmIubm90ZSgiUmVtb3ZpbmcgJXMiICUgY2NhY2hlX2RpcikKKyAgICAgICAgc2h1dGlsLnJtdHJlZShjY2FjaGVfZGlyKQorICAgIGVsc2U6CisgICAgICAgIGJiLm5vdGUoIiVzIGRvZXNuJ3QgZXhpc3QiICUgY2NhY2hlX2RpcikKK30KK2FkZHRhc2sgY2xlYW5hbGwgYWZ0ZXIgZG9fY2xlYW5jY2FjaGUKK2RvX2NsZWFuY2NhY2hlW25vc3RhbXBdID0gIjEiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9jbHV0dGVyLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9jbHV0dGVyLmJiY2xhc3MKaW5kZXggNWVkYWIwZS4uMjRiNTNhMSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvY2x1dHRlci5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2NsdXR0ZXIuYmJjbGFzcwpAQCAtMTQsNCArMTQsNSBAQAogU1JDX1VSSSA9ICIke0dOT01FX01JUlJPUn0vJHtSRUFMTkFNRX0vJHtWRVJNSU5PUn0vJHtSRUFMTkFNRX0tJHtQVn0udGFyLnh6O25hbWU9YXJjaGl2ZSIKIFMgPSAiJHtXT1JLRElSfS8ke1JFQUxOQU1FfS0ke1BWfSIKIAotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGd0ay1kb2MgZ2V0dGV4dAorQ0xVVFRFUkJBU0VCVUlMRENMQVNTID8/PSAiYXV0b3Rvb2xzIgoraW5oZXJpdCAke0NMVVRURVJCQVNFQlVJTERDTEFTU30gcGtnY29uZmlnIGd0ay1kb2MgZ2V0dGV4dApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvY21ha2UuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2NtYWtlLmJiY2xhc3MKaW5kZXggYjM2NGQyYi4uZTE2NjMwNCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvY21ha2UuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9jbWFrZS5iYmNsYXNzCkBAIC00LDkgKzQsNiBAQAogREVQRU5EU19wcmVwZW5kID0gImNtYWtlLW5hdGl2ZSAiCiBCID0gIiR7V09SS0RJUn0vYnVpbGQiCiAKLSMgV2UgbmVlZCB0byB1bnNldCBDQ0FDSEUgb3RoZXJ3aXNlIGNtYWtlIGdldHMgdG9vIGNvbmZ1c2VkCi1DQ0FDSEUgPSAiIgotCiAjIFdoYXQgQ01ha2UgZ2VuZXJhdG9yIHRvIHVzZS4KICMgVGhlIHN1cHBvcnRlZCBvcHRpb25zIGFyZSAiVW5peCBNYWtlZmlsZXMiIG9yICJOaW5qYSIuCiBPRUNNQUtFX0dFTkVSQVRPUiA/PSAiTmluamEiCkBAIC0yMywxMCArMjAsMjIgQEAKICAgICAgICAgZC5zZXRWYXJGbGFnKCJkb19jb21waWxlIiwgInByb2dyZXNzIiwgciJvdXRvZjpeXFsoXGQrKS8oXGQrKVxdXHMrIikKICAgICBlbHNlOgogICAgICAgICBiYi5mYXRhbCgiVW5rbm93biBDTWFrZSBHZW5lcmF0b3IgJXMiICUgZ2VuZXJhdG9yKQorCisgICAgIyBDL0MrKyBDb21waWxlciAod2l0aG91dCBjcHUgYXJjaC90dW5lIGFyZ3VtZW50cykKKyAgICBpZiBub3QgZC5nZXRWYXIoJ09FQ01BS0VfQ19DT01QSUxFUicpOgorICAgICAgICBjY19saXN0ID0gZC5nZXRWYXIoJ0NDJykuc3BsaXQoKQorICAgICAgICBpZiBjY19saXN0WzBdID09ICdjY2FjaGUnOgorICAgICAgICAgICAgZC5zZXRWYXIoJ09FQ01BS0VfQ19DT01QSUxFUicsICclcyAlcycgJSAoY2NfbGlzdFswXSwgY2NfbGlzdFsxXSkpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBkLnNldFZhcignT0VDTUFLRV9DX0NPTVBJTEVSJywgY2NfbGlzdFswXSkKKworICAgIGlmIG5vdCBkLmdldFZhcignT0VDTUFLRV9DWFhfQ09NUElMRVInKToKKyAgICAgICAgY3h4X2xpc3QgPSBkLmdldFZhcignQ1hYJykuc3BsaXQoKQorICAgICAgICBpZiBjeHhfbGlzdFswXSA9PSAnY2NhY2hlJzoKKyAgICAgICAgICAgIGQuc2V0VmFyKCdPRUNNQUtFX0NYWF9DT01QSUxFUicsICclcyAlcycgJSAoY3h4X2xpc3RbMF0sIGN4eF9saXN0WzFdKSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGQuc2V0VmFyKCdPRUNNQUtFX0NYWF9DT01QSUxFUicsIGN4eF9saXN0WzBdKQogfQotIyBDL0MrKyBDb21waWxlciAod2l0aG91dCBjcHUgYXJjaC90dW5lIGFyZ3VtZW50cykKLU9FQ01BS0VfQ19DT01QSUxFUiA/PSAiYGVjaG8gJHtDQ30gfCBzZWQgJ3MvXlwoW14gXSpcKS4qL1wxLydgIgotT0VDTUFLRV9DWFhfQ09NUElMRVIgPz0gImBlY2hvICR7Q1hYfSB8IHNlZCAncy9eXChbXiBdKlwpLiovXDEvJ2AiCiBPRUNNQUtFX0FSID89ICIke0FSfSIKIAogIyBDb21waWxlciBmbGFncwpAQCAtMTA4LDYgKzExNywxMCBAQAogIyBhZGQgZm9yIG5vbiAvdXNyL2xpYiBsaWJkaXIsIGUuZy4gL3Vzci9saWI2NAogc2V0KCBDTUFLRV9MSUJSQVJZX1BBVEggJHtsaWJkaXJ9ICR7YmFzZV9saWJkaXJ9KQogCisjIGFkZCBpbmNsdWRlIGRpciB0byBpbXBsaWNpdCBpbmNsdWRlcyBpbiBjYXNlIGl0IGRpZmZlcnMgZnJvbSAvdXNyL2luY2x1ZGUKK2xpc3QoQVBQRU5EIENNQUtFX0NfSU1QTElDSVRfSU5DTFVERV9ESVJFQ1RPUklFUyAke2luY2x1ZGVkaXJ9KQorbGlzdChBUFBFTkQgQ01BS0VfQ1hYX0lNUExJQ0lUX0lOQ0xVREVfRElSRUNUT1JJRVMgJHtpbmNsdWRlZGlyfSkKKwogRU9GCiB9CiAKQEAgLTE1MSw3ICsxNjQsNiBAQAogCSAgLURDTUFLRV9JTlNUQUxMX0RBVEFST09URElSOlBBVEg9JHtAb3MucGF0aC5yZWxwYXRoKGQuZ2V0VmFyKCdkYXRhZGlyJyksIGQuZ2V0VmFyKCdwcmVmaXgnKSl9IFwKIAkgIC1EQ01BS0VfSU5TVEFMTF9TT19OT19FWEU9MCBcCiAJICAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSR7V09SS0RJUn0vdG9vbGNoYWluLmNtYWtlIFwKLQkgIC1EQ01BS0VfVkVSQk9TRV9NQUtFRklMRT0xIFwKIAkgIC1EQ01BS0VfTk9fU1lTVEVNX0ZST01fSU1QT1JURUQ9MSBcCiAJICAke0VYVFJBX09FQ01BS0V9IFwKIAkgIC1Xbm8tZGV2CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9jbWwxLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9jbWwxLmJiY2xhc3MKaW5kZXggOTI2NzQ3Zi4uOThkMjRjZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvY21sMS5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2NtbDEuYmJjbGFzcwpAQCAtMjYsNyArMjYsNyBAQAogICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICBtdGltZSA9IDAKIAotICAgIG9lX3Rlcm1pbmFsKCIke1NIRUxMfSAtYyBcIm1ha2UgJXM7IGlmIFsgXCQ/IC1uZSAwIF07IHRoZW4gZWNobyAnQ29tbWFuZCBmYWlsZWQuJzsgcHJpbnRmICdQcmVzcyBhbnkga2V5IHRvIGNvbnRpbnVlLi4uICc7IHJlYWQgcjsgZmlcIiIgJSBkLmdldFZhcignS0NPTkZJR19DT05GSUdfQ09NTUFORCcpLAorICAgIG9lX3Rlcm1pbmFsKCJzaCAtYyBcIm1ha2UgJXM7IGlmIFsgXFwkPyAtbmUgMCBdOyB0aGVuIGVjaG8gJ0NvbW1hbmQgZmFpbGVkLic7IHByaW50ZiAnUHJlc3MgYW55IGtleSB0byBjb250aW51ZS4uLiAnOyByZWFkIHI7IGZpXCIiICUgZC5nZXRWYXIoJ0tDT05GSUdfQ09ORklHX0NPTU1BTkQnKSwKICAgICAgICAgICAgICAgICBkLmdldFZhcignUE4nKSArICcgQ29uZmlndXJhdGlvbicsIGQpCiAKICAgICAjIEZJWE1FIHRoaXMgY2hlY2sgY2FuIGJlIHJlbW92ZWQgd2hlbiB0aGUgbWluaW11bSBiaXRiYWtlIHZlcnNpb24gaGFzIGJlZW4gYnVtcGVkCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9jb21wcmVzc19kb2MuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2NvbXByZXNzX2RvYy5iYmNsYXNzCmluZGV4IDQ1YmI4ZmYuLmQ2ZDExZmEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2NvbXByZXNzX2RvYy5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2NvbXByZXNzX2RvYy5iYmNsYXNzCkBAIC0xNjAsNiArMTYwLDcgQEAKICAgICByZXR1cm4gRmFsc2UsICcnCiAKIGRlZiBjb21wcmVzc19kb2ModG9wZGlyLCBjb21wcmVzc19tb2RlLCBjb21wcmVzc19jbWRzKToKKyAgICBpbXBvcnQgc3VicHJvY2VzcwogICAgIGhhcmRsaW5rX2RpY3QgPSB7fQogICAgIGZvciByb290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKHRvcGRpcik6CiAgICAgICAgIGZvciBmIGluIGZpbGVzOgpAQCAtMTg3LDYgKzE4OCw3IEBACiAKICMgRGVjb21wcmVzcyBkb2MgZmlsZXMgd2hpY2ggZm9ybWF0IGlzIG5vdCBjb21wcmVzc19tb2RlCiBkZWYgZGVjb21wcmVzc19kb2ModG9wZGlyLCBjb21wcmVzc19tb2RlLCBkZWNvbXByZXNzX2NtZHMpOgorICAgIGltcG9ydCBzdWJwcm9jZXNzCiAgICAgaGFyZGxpbmtfZGljdCA9IHt9CiAgICAgZGVjb21wcmVzcyA9IFRydWUKICAgICBmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2Fsayh0b3BkaXIpOgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvY3Bhbi1iYXNlLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9jcGFuLWJhc2UuYmJjbGFzcwppbmRleCA1NzdmY2Q2Li44NjdlZGY4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9jcGFuLWJhc2UuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9jcGFuLWJhc2UuYmJjbGFzcwpAQCAtMiw3ICsyLDcgQEAKICMgY3Bhbi1iYXNlIHByb3ZpZGVycyB2YXJpb3VzIHBlcmwgcmVsYXRlZCBpbmZvcm1hdGlvbiBuZWVkZWQgZm9yIGJ1aWxkaW5nCiAjIGNwYW4gbW9kdWxlcwogIwotRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9wZXJsICR7ZGF0YWRpcn0vcGVybCIKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vcGVybDUgJHtkYXRhZGlyfS9wZXJsNSIKIAogREVQRU5EUyAgKz0gIiR7QFsicGVybCIsICJwZXJsLW5hdGl2ZSJdWyhiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCduYXRpdmUnLCBkKSldfSIKIFJERVBFTkRTXyR7UE59ICs9ICIke0BbInBlcmwiLCAiIl1bKGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ25hdGl2ZScsIGQpKV19IgpAQCAtMTQsNSArMTQsNSBAQAogICAgICAgICByZXR1cm4gInllcyIKICAgICByZXR1cm4gIm5vIgogCi1QRVJMTElCRElSUyA9ICIke2xpYmRpcn0vcGVybCIKLVBFUkxMSUJESVJTX2NsYXNzLW5hdGl2ZSA9ICIke2xpYmRpcn0vcGVybC1uYXRpdmUiCitQRVJMTElCRElSUyA9ICIke2xpYmRpcn0vcGVybDUiCitQRVJMTElCRElSU19jbGFzcy1uYXRpdmUgPSAiJHtsaWJkaXJ9L3Blcmw1IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvY3Bhbi5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvY3Bhbi5iYmNsYXNzCmluZGV4IGE1YmMzMDEuLmU5OTA4YWUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2NwYW4uYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9jcGFuLmJiY2xhc3MKQEAgLTEwLDEzICsxMCwxNCBAQAogZXhwb3J0IFBFUkxDT05GSUdUQVJHRVQgPSAiJHtAaXNfdGFyZ2V0KGQpfSIKIAogIyBFbnYgdmFyIHdoaWNoIHRlbGxzIHBlcmwgd2hlcmUgdGhlIHBlcmwgaW5jbHVkZSBmaWxlcyBhcmUKLWV4cG9ydCBQRVJMX0lOQyA9ICIke1NUQUdJTkdfTElCRElSfSR7UEVSTF9PV05fRElSfS9wZXJsLyR7QGdldF9wZXJsX3ZlcnNpb24oZCl9L0NPUkUiCi1leHBvcnQgUEVSTF9MSUIgPSAiJHtTVEFHSU5HX0xJQkRJUn0ke1BFUkxfT1dOX0RJUn0vcGVybC8ke0BnZXRfcGVybF92ZXJzaW9uKGQpfSIKLWV4cG9ydCBQRVJMX0FSQ0hMSUIgPSAiJHtTVEFHSU5HX0xJQkRJUn0ke1BFUkxfT1dOX0RJUn0vcGVybC8ke0BnZXRfcGVybF92ZXJzaW9uKGQpfSIKLWV4cG9ydCBQRVJMSE9TVExJQiA9ICIke1NUQUdJTkdfTElCRElSX05BVElWRX0vcGVybC1uYXRpdmUvcGVybC8ke0BnZXRfcGVybF92ZXJzaW9uKGQpfS8iCitleHBvcnQgUEVSTF9JTkMgPSAiJHtTVEFHSU5HX0xJQkRJUn0ke1BFUkxfT1dOX0RJUn0vcGVybDUvJHtAZ2V0X3BlcmxfdmVyc2lvbihkKX0vJHtAZ2V0X3BlcmxfYXJjaChkKX0vQ09SRSIKK2V4cG9ydCBQRVJMX0xJQiA9ICIke1NUQUdJTkdfTElCRElSfSR7UEVSTF9PV05fRElSfS9wZXJsNS8ke0BnZXRfcGVybF92ZXJzaW9uKGQpfSIKK2V4cG9ydCBQRVJMX0FSQ0hMSUIgPSAiJHtTVEFHSU5HX0xJQkRJUn0ke1BFUkxfT1dOX0RJUn0vcGVybDUvJHtAZ2V0X3BlcmxfdmVyc2lvbihkKX0vJHtAZ2V0X3BlcmxfYXJjaChkKX0iCitleHBvcnQgUEVSTEhPU1RMSUIgPSAiJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L3Blcmw1LyR7QGdldF9wZXJsX3ZlcnNpb24oZCl9LyIKK2V4cG9ydCBQRVJMSE9TVEFSQ0hMSUIgPSAiJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L3Blcmw1LyR7QGdldF9wZXJsX3ZlcnNpb24oZCl9LyR7QGdldF9wZXJsX2hvc3RhcmNoKGQpfS8iCiAKIGNwYW5fZG9fY29uZmlndXJlICgpIHsKLQl5ZXMgJycgfCBwZXJsICR7RVhUUkFfUEVSTEZMQUdTfSBNYWtlZmlsZS5QTCBJTlNUQUxMRElSUz12ZW5kb3IgTk9fUEVSTExPQ0FMPTEgTk9fUEFDS0xJU1Q9MSAke0VYVFJBX0NQQU5GTEFHU30KKwl5ZXMgJycgfCBwZXJsICR7RVhUUkFfUEVSTEZMQUdTfSBNYWtlZmlsZS5QTCBJTlNUQUxMRElSUz12ZW5kb3IgTk9fUEVSTExPQ0FMPTEgTk9fUEFDS0xJU1Q9MSBQRVJMPSQod2hpY2ggcGVybCkgJHtFWFRSQV9DUEFORkxBR1N9CiAKIAkjIE1ha2VmaWxlLlBMcyBjYW4gZXhpdCB3aXRoIHN1Y2Nlc3Mgd2l0aG91dCBnZW5lcmF0aW5nIGEKIAkjIE1ha2VmaWxlLCBlLmcuIGluIGNhc2VzIG9mIG1pc3NpbmcgY29uZmlndXJlIHRpbWUKQEAgLTI3LDcgKzI4LDcgQEAKIAlbIC1lIE1ha2VmaWxlIF0gfHwgYmJmYXRhbCAiTm8gTWFrZWZpbGUgd2FzIGdlbmVyYXRlZCBieSBNYWtlZmlsZS5QTCIKIAogCWlmIFsgIiR7QlVJTERfU1lTfSIgIT0gIiR7SE9TVF9TWVN9IiBdOyB0aGVuCi0JCS4gJHtTVEFHSU5HX0xJQkRJUn0ke1BFUkxfT1dOX0RJUn0vcGVybC9jb25maWcuc2gKKwkJLiAke1NUQUdJTkdfTElCRElSfSR7UEVSTF9PV05fRElSfS9wZXJsNS9jb25maWcuc2gKIAkJIyBVc2UgZmluZCBzaW5jZSB0aGVyZSBjYW4gYmUgYSBNYWtlZmlsZSBnZW5lcmF0ZWQgZm9yIGVhY2ggTWFrZWZpbGUuUEwKIAkJZm9yIGYgaW4gYGZpbmQgLW5hbWUgTWFrZWZpbGUuUExgOyBkbwogCQkJZjI9YGVjaG8gJGYgfCBzZWQgLWUgJ3MvLlBMLy8nYApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvY3Bhbl9idWlsZC5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvY3Bhbl9idWlsZC5iYmNsYXNzCmluZGV4IDlhMmFkODkuLmYzZmI0NjYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2NwYW5fYnVpbGQuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9jcGFuX2J1aWxkLmJiY2xhc3MKQEAgLTcsMTQgKzcsMTUgQEAKIAogIyBFbnYgdmFyIHdoaWNoIHRlbGxzIHBlcmwgaWYgaXQgc2hvdWxkIHVzZSBob3N0IChubykgb3IgdGFyZ2V0ICh5ZXMpIHNldHRpbmdzCiBleHBvcnQgUEVSTENPTkZJR1RBUkdFVCA9ICIke0Bpc190YXJnZXQoZCl9IgotZXhwb3J0IFBFUkxfQVJDSExJQiA9ICIke1NUQUdJTkdfTElCRElSfSR7UEVSTF9PV05fRElSfS9wZXJsLyR7QGdldF9wZXJsX3ZlcnNpb24oZCl9IgotZXhwb3J0IFBFUkxIT1NUTElCID0gIiR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9wZXJsLW5hdGl2ZS9wZXJsLyR7QGdldF9wZXJsX3ZlcnNpb24oZCl9LyIKK2V4cG9ydCBQRVJMX0FSQ0hMSUIgPSAiJHtTVEFHSU5HX0xJQkRJUn0ke1BFUkxfT1dOX0RJUn0vcGVybDUvJHtAZ2V0X3BlcmxfdmVyc2lvbihkKX0vJHtAZ2V0X3BlcmxfYXJjaChkKX0iCitleHBvcnQgUEVSTEhPU1RMSUIgPSAiJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L3Blcmw1LyR7QGdldF9wZXJsX3ZlcnNpb24oZCl9LyIKK2V4cG9ydCBQRVJMSE9TVEFSQ0hMSUIgPSAiJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L3Blcmw1LyR7QGdldF9wZXJsX3ZlcnNpb24oZCl9LyR7QGdldF9wZXJsX2hvc3RhcmNoKGQpfS8iCiBleHBvcnQgTEQgPSAiJHtDQ0xEfSIKIAogY3Bhbl9idWlsZF9kb19jb25maWd1cmUgKCkgewogCWlmIFsgIiR7QGlzX3RhcmdldChkKX0iID0gInllcyIgXTsgdGhlbgogCQkjIGJ1aWxkIGZvciB0YXJnZXQKLQkJLiAke1NUQUdJTkdfTElCRElSfS9wZXJsL2NvbmZpZy5zaAorCQkuICR7U1RBR0lOR19MSUJESVJ9L3Blcmw1L2NvbmZpZy5zaAogCWZpCiAKIAlwZXJsIEJ1aWxkLlBMIC0taW5zdGFsbGRpcnMgdmVuZG9yIC0tZGVzdGRpciAke0R9IFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2Nyb3NzLWNhbmFkaWFuLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9jcm9zcy1jYW5hZGlhbi5iYmNsYXNzCmluZGV4IGFjZGUzMzEuLmY1YzlmNjEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2Nyb3NzLWNhbmFkaWFuLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvY3Jvc3MtY2FuYWRpYW4uYmJjbGFzcwpAQCAtOCw2ICs4LDggQEAKICMgU0RLIHBhY2thZ2VzIGFyZSBidWlsdCBlaXRoZXIgZXhwbGljaXRseSBieSB0aGUgdXNlciwKICMgb3IgaW5kaXJlY3RseSB2aWEgZGVwZW5kZW5jeS4gIE5vIG5lZWQgdG8gYmUgaW4gJ3dvcmxkJy4KIEVYQ0xVREVfRlJPTV9XT1JMRCA9ICIxIgorTkFUSVZFU0RLTElCQyA/PSAibGliYy1nbGliYyIKK0xJQkNPVkVSUklERSA9ICI6JHtOQVRJVkVTREtMSUJDfSIKIENMQVNTT1ZFUlJJREUgPSAiY2xhc3MtY3Jvc3MtY2FuYWRpYW4iCiBTVEFHSU5HX0JJTkRJUl9UT09MQ0hBSU4gPSAiJHtTVEFHSU5HX0RJUl9OQVRJVkV9JHtiaW5kaXJfbmF0aXZlfS8ke1NES19BUkNIfSR7U0RLX1ZFTkRPUn0tJHtTREtfT1N9OiR7U1RBR0lOR19ESVJfTkFUSVZFfSR7YmluZGlyX25hdGl2ZX0vJHtUQVJHRVRfQVJDSH0ke1RBUkdFVF9WRU5ET1J9LSR7VEFSR0VUX09TfSIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvY3Jvc3MuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2Nyb3NzLmJiY2xhc3MKaW5kZXggMzRkNzk1MS4uZjgzMjU2MSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvY3Jvc3MuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9jcm9zcy5iYmNsYXNzCkBAIC0xNyw2ICsxNyw5IEBACiBIT1NUX0xEX0FSQ0ggPSAiJHtCVUlMRF9MRF9BUkNIfSIKIEhPU1RfQVNfQVJDSCA9ICIke0JVSUxEX0FTX0FSQ0h9IgogCisjIE5vIHN0cmlwIHN5c3Jvb3Qgd2hlbiBERUJVR19CVUlMRCBpcyBlbmFibGVkCitJTkhJQklUX1NZU1JPT1RfU1RSSVAgPz0gIiR7QG9lLnV0aWxzLnZhcnRydWUoJ0RFQlVHX0JVSUxEJywgJzEnLCAnJywgZCl9IgorCiBleHBvcnQgbHRfY3Zfc3lzX2xpYl9kbHNlYXJjaF9wYXRoX3NwZWMgPSAiJHtsaWJkaXJ9ICR7YmFzZV9saWJkaXJ9IC9saWIgL2xpYjY0IC91c3IvbGliIC91c3IvbGliNjQiCiAKIFNUQUdJTkdfRElSX0hPU1QgPSAiJHtSRUNJUEVfU1lTUk9PVF9OQVRJVkV9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvY3Jvc3NzZGsuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2Nyb3Nzc2RrLmJiY2xhc3MKaW5kZXggZmRhYWFjOC4uYzBjMGJmZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvY3Jvc3NzZGsuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9jcm9zc3Nkay5iYmNsYXNzCkBAIC0xLDYgKzEsOCBAQAogaW5oZXJpdCBjcm9zcwogCiBDTEFTU09WRVJSSURFID0gImNsYXNzLWNyb3Nzc2RrIgorTkFUSVZFU0RLTElCQyA/PSAibGliYy1nbGliYyIKK0xJQkNPVkVSUklERSA9ICI6JHtOQVRJVkVTREtMSUJDfSIKIE1BQ0hJTkVPVkVSUklERVMgPSAiIgogUEFDS0FHRV9BUkNIID0gIiR7U0RLX0FSQ0h9IgogcHl0aG9uICgpIHsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2RlYmlhbi5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvZGViaWFuLmJiY2xhc3MKaW5kZXggOTg5ZWE4Zi4uNmY4YTU5OSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvZGViaWFuLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvZGViaWFuLmJiY2xhc3MKQEAgLTI5LDExICsyOSwxMSBAQAogCiAgICAgcGtnZGVzdCA9IGQuZ2V0VmFyKCJQS0dERVNUIikKICAgICBwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdFUycpCi0gICAgc29fcmUgPSByZS5jb21waWxlKCJsaWIuKlwuc28iKQorICAgIHNvX3JlID0gcmUuY29tcGlsZShyImxpYi4qXC5zbyIpCiAKICAgICBkZWYgc29jcnVuY2gocyk6CiAgICAgICAgIHMgPSBzLmxvd2VyKCkucmVwbGFjZSgnXycsICctJykKLSAgICAgICAgbSA9IHJlLm1hdGNoKCJeKC4qKSguKVwuc29cLiguKikkIiwgcykKKyAgICAgICAgbSA9IHJlLm1hdGNoKHIiXiguKikoLilcLnNvXC4oLiopJCIsIHMpCiAgICAgICAgIGlmIG0gaXMgTm9uZToKICAgICAgICAgICAgIHJldHVybiBOb25lCiAgICAgICAgIGlmIG0uZ3JvdXAoMikgaW4gJzAxMjM0NTY3ODknOgpAQCAtNzksNyArNzksNyBAQAogICAgICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgICAgICBjbWQgPSBbZC5leHBhbmQoIiR7VEFSR0VUX1BSRUZJWH1vYmpkdW1wIiksICItcCIsIGZdCiAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXQgPSBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChjbWQpLmRlY29kZSgidXRmLTgiKQotICAgICAgICAgICAgICAgICAgICAgICAgZm9yIG0gaW4gcmUuZmluZGl0ZXIoIlxzK1NPTkFNRVxzKyhbXlxzXSspIiwgb3V0cHV0KToKKyAgICAgICAgICAgICAgICAgICAgICAgIGZvciBtIGluIHJlLmZpbmRpdGVyKHIiXHMrU09OQU1FXHMrKFteXHNdKykiLCBvdXRwdXQpOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG0uZ3JvdXAoMSkgbm90IGluIHNvbmFtZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvbmFtZXMuYXBwZW5kKG0uZ3JvdXAoMSkpCiAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvcjoKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2RldmljZXRyZWUuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2RldmljZXRyZWUuYmJjbGFzcwppbmRleCA4ZmU1YTVlLi41YzAzZTRiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9kZXZpY2V0cmVlLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvZGV2aWNldHJlZS5iYmNsYXNzCkBAIC0yNyw2ICsyNyw4IEBACiAKIENPTVBBVElCTEVfTUFDSElORSA/PSAiXiQiCiAKK1BST1ZJREVTID0gInZpcnR1YWwvZHRiIgorCiBQQUNLQUdFX0FSQ0ggPSAiJHtNQUNISU5FX0FSQ0h9IgogCiBTWVNST09UX0RJUlMgKz0gIi9ib290L2RldmljZXRyZWUiCkBAIC0xMjAsOSArMTIyLDEyIEBACiAgICAgaW5jbHVkZXMgPSBleHBhbmRfaW5jbHVkZXMoIkRUX0lOQ0xVREUiLCBkKQogICAgIGxpc3RwYXRoID0gZC5nZXRWYXIoIkRUX0ZJTEVTX1BBVEgiKQogICAgIGZvciBkdHMgaW4gb3MubGlzdGRpcihsaXN0cGF0aCk6Ci0gICAgICAgIGlmIG5vdCBkdHMuZW5kc3dpdGgoIi5kdHMiKToKLSAgICAgICAgICAgIGNvbnRpbnVlICMgc2tpcCBub24tLmR0cyBmaWxlcwogICAgICAgICBkdHNwYXRoID0gb3MucGF0aC5qb2luKGxpc3RwYXRoLCBkdHMpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGlmIG5vdChvcy5wYXRoLmlzZmlsZShkdHNwYXRoKSkgb3Igbm90KGR0cy5lbmRzd2l0aCgiLmR0cyIpIG9yIGRldmljZXRyZWVfc291cmNlX2lzX292ZXJsYXkoZHRzcGF0aCkpOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlICMgc2tpcCBub24tLmR0cyBmaWxlcyBhbmQgbm9uLW92ZXJsYXkgZmlsZXMKKyAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgY29udGludWUgIyBza2lwIGlmIGNhbid0IGRldGVybWluZSBpZiBvdmVybGF5CiAgICAgICAgIGRldmljZXRyZWVfY29tcGlsZShkdHNwYXRoLCBpbmNsdWRlcywgZCkKIH0KIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvZGV2dG9vbC1zb3VyY2UuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2RldnRvb2wtc291cmNlLmJiY2xhc3MKaW5kZXggMTM3MmUzMi4uYTgxMTAwMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvZGV2dG9vbC1zb3VyY2UuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9kZXZ0b29sLXNvdXJjZS5iYmNsYXNzCkBAIC0xMDMsOCArMTAzLDEwIEBACiAgICAgICAgICAgICAgICAgZm9yIGwgaW4gc2NjZmlsZToKICAgICAgICAgICAgICAgICAgICAgbGluZSA9IGwuc3BsaXQoKQogICAgICAgICAgICAgICAgICAgICBpZiBsaW5lIGFuZCBsaW5lWzBdIGluICgna2NvbmYnLCAncGF0Y2gnKToKLSAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsX2ZpbGVzW2xpbmVbLTFdXSA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUobG9jYWxfZmlsZXNba2V5XSksIGxpbmVbLTFdKQotICAgICAgICAgICAgICAgICAgICAgICAgc2h1dGlsLmNvcHkyKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUobG9jYWxfZmlsZXNba2V5XSksIGxpbmVbLTFdKSwgd29ya2RpcikKKyAgICAgICAgICAgICAgICAgICAgICAgIGNmZyA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUobG9jYWxfZmlsZXNba2V5XSksIGxpbmVbLTFdKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IGNmZyBpbiBsb2NhbF9maWxlcy52YWx1ZXMoKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbF9maWxlc1tsaW5lWy0xXV0gPSBjZmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaHV0aWwuY29weTIoY2ZnLCB3b3JrZGlyKQogICAgICAgICAgICAgICAgIHNjY2ZpbGUuY2xvc2UoKQogCiAgICAgIyBJZ25vcmUgbG9jYWwgZmlsZXMgd2l0aCBzdWJkaXI9e0JQfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvZGlzdHJvX2ZlYXR1cmVzX2NoZWNrLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9kaXN0cm9fZmVhdHVyZXNfY2hlY2suYmJjbGFzcwppbmRleCA5Yjc4YjAzLi5lZWFhM2I0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9kaXN0cm9fZmVhdHVyZXNfY2hlY2suYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9kaXN0cm9fZmVhdHVyZXNfY2hlY2suYmJjbGFzcwpAQCAtMTEsMjcgKzExLDIyIEBACiAKIHB5dGhvbiAoKSB7CiAgICAgIyBBc3N1bWUgYXQgbGVhc3Qgb25lIHZhciBpcyBzZXQuCi0gICAgZGlzdHJvX2ZlYXR1cmVzID0gKGQuZ2V0VmFyKCdESVNUUk9fRkVBVFVSRVMnKSBvciAiIikuc3BsaXQoKQorICAgIGRpc3Ryb19mZWF0dXJlcyA9IHNldCgoZC5nZXRWYXIoJ0RJU1RST19GRUFUVVJFUycpIG9yICcnKS5zcGxpdCgpKQogCi0gICAgYW55X29mX2Rpc3Ryb19mZWF0dXJlcyA9IGQuZ2V0VmFyKCdBTllfT0ZfRElTVFJPX0ZFQVRVUkVTJykKKyAgICBhbnlfb2ZfZGlzdHJvX2ZlYXR1cmVzID0gc2V0KChkLmdldFZhcignQU5ZX09GX0RJU1RST19GRUFUVVJFUycpIG9yICcnKS5zcGxpdCgpKQogICAgIGlmIGFueV9vZl9kaXN0cm9fZmVhdHVyZXM6Ci0gICAgICAgIGFueV9vZl9kaXN0cm9fZmVhdHVyZXMgPSBhbnlfb2ZfZGlzdHJvX2ZlYXR1cmVzLnNwbGl0KCkKLSAgICAgICAgaWYgc2V0LmlzZGlzam9pbnQoc2V0KGFueV9vZl9kaXN0cm9fZmVhdHVyZXMpLHNldChkaXN0cm9fZmVhdHVyZXMpKToKLSAgICAgICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBSZWNpcGUoIm9uZSBvZiAnJXMnIG5lZWRzIHRvIGJlIGluIERJU1RST19GRUFUVVJFUyIgJSBhbnlfb2ZfZGlzdHJvX2ZlYXR1cmVzKQorICAgICAgICBpZiBzZXQuaXNkaXNqb2ludChhbnlfb2ZfZGlzdHJvX2ZlYXR1cmVzLCBkaXN0cm9fZmVhdHVyZXMpOgorICAgICAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFJlY2lwZSgib25lIG9mICclcycgbmVlZHMgdG8gYmUgaW4gRElTVFJPX0ZFQVRVUkVTIiAlICcgJy5qb2luKGFueV9vZl9kaXN0cm9fZmVhdHVyZXMpKQogCi0gICAgcmVxdWlyZWRfZGlzdHJvX2ZlYXR1cmVzID0gZC5nZXRWYXIoJ1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUycpCisgICAgcmVxdWlyZWRfZGlzdHJvX2ZlYXR1cmVzID0gc2V0KChkLmdldFZhcignUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTJykgb3IgJycpLnNwbGl0KCkpCiAgICAgaWYgcmVxdWlyZWRfZGlzdHJvX2ZlYXR1cmVzOgotICAgICAgICByZXF1aXJlZF9kaXN0cm9fZmVhdHVyZXMgPSByZXF1aXJlZF9kaXN0cm9fZmVhdHVyZXMuc3BsaXQoKQotICAgICAgICBmb3IgZiBpbiByZXF1aXJlZF9kaXN0cm9fZmVhdHVyZXM6Ci0gICAgICAgICAgICBpZiBmIGluIGRpc3Ryb19mZWF0dXJlczoKLSAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByYWlzZSBiYi5wYXJzZS5Ta2lwUmVjaXBlKCJtaXNzaW5nIHJlcXVpcmVkIGRpc3RybyBmZWF0dXJlICclcycgKG5vdCBpbiBESVNUUk9fRkVBVFVSRVMpIiAlIGYpCisgICAgICAgIG1pc3NpbmcgPSBzZXQuZGlmZmVyZW5jZShyZXF1aXJlZF9kaXN0cm9fZmVhdHVyZXMsIGRpc3Ryb19mZWF0dXJlcykKKyAgICAgICAgaWYgbWlzc2luZzoKKyAgICAgICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBSZWNpcGUoIm1pc3NpbmcgcmVxdWlyZWQgZGlzdHJvIGZlYXR1cmUlcyAnJXMnIChub3QgaW4gRElTVFJPX0ZFQVRVUkVTKSIgJSAoJ3MnIGlmIGxlbihtaXNzaW5nKSA+IDEgZWxzZSAnJywgJyAnLmpvaW4obWlzc2luZykpKQogCi0gICAgY29uZmxpY3RfZGlzdHJvX2ZlYXR1cmVzID0gZC5nZXRWYXIoJ0NPTkZMSUNUX0RJU1RST19GRUFUVVJFUycpCisgICAgY29uZmxpY3RfZGlzdHJvX2ZlYXR1cmVzID0gc2V0KChkLmdldFZhcignQ09ORkxJQ1RfRElTVFJPX0ZFQVRVUkVTJykgb3IgJycpLnNwbGl0KCkpCiAgICAgaWYgY29uZmxpY3RfZGlzdHJvX2ZlYXR1cmVzOgotICAgICAgICBjb25mbGljdF9kaXN0cm9fZmVhdHVyZXMgPSBjb25mbGljdF9kaXN0cm9fZmVhdHVyZXMuc3BsaXQoKQotICAgICAgICBmb3IgZiBpbiBjb25mbGljdF9kaXN0cm9fZmVhdHVyZXM6Ci0gICAgICAgICAgICBpZiBmIGluIGRpc3Ryb19mZWF0dXJlczoKLSAgICAgICAgICAgICAgICByYWlzZSBiYi5wYXJzZS5Ta2lwUmVjaXBlKCJjb25mbGljdGluZyBkaXN0cm8gZmVhdHVyZSAnJXMnIChpbiBESVNUUk9fRkVBVFVSRVMpIiAlIGYpCisgICAgICAgIGNvbmZsaWN0cyA9IHNldC5pbnRlcnNlY3Rpb24oY29uZmxpY3RfZGlzdHJvX2ZlYXR1cmVzLCBkaXN0cm9fZmVhdHVyZXMpCisgICAgICAgIGlmIGNvbmZsaWN0czoKKyAgICAgICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBSZWNpcGUoImNvbmZsaWN0aW5nIGRpc3RybyBmZWF0dXJlJXMgJyVzJyAoaW4gRElTVFJPX0ZFQVRVUkVTKSIgJSAoJ3MnIGlmIGxlbihjb25mbGljdHMpID4gMSBlbHNlICcnLCAnICcuam9pbihjb25mbGljdHMpKSkKIH0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2Rpc3Ryb2RhdGEuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2Rpc3Ryb2RhdGEuYmJjbGFzcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTllZThjZS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9kaXN0cm9kYXRhLmJiY2xhc3MKKysrIC9kZXYvbnVsbApAQCAtMSw0MjcgKzAsMCBAQAotaW5jbHVkZSBjb25mL2Rpc3Ryby9pbmNsdWRlL3Vwc3RyZWFtX3RyYWNraW5nLmluYwotaW5jbHVkZSBjb25mL2Rpc3Ryby9pbmNsdWRlL2Rpc3Ryb19hbGlhcy5pbmMKLWluY2x1ZGUgY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmMKLQotYWRkaGFuZGxlciBkaXN0cm9fZXZlbnRoYW5kbGVyCi1kaXN0cm9fZXZlbnRoYW5kbGVyW2V2ZW50bWFza10gPSAiYmIuZXZlbnQuQnVpbGRTdGFydGVkIgotcHl0aG9uIGRpc3Ryb19ldmVudGhhbmRsZXIoKSB7Ci0gICAgaW1wb3J0IG9lLmRpc3Ryb19jaGVjayBhcyBkYwotICAgIGltcG9ydCBjc3YKLSAgICBsb2dmaWxlID0gZGMuY3JlYXRlX2xvZ19maWxlKGUuZGF0YSwgImRpc3Ryb2RhdGEuY3N2IikKLQotICAgIGxmID0gYmIudXRpbHMubG9ja2ZpbGUoIiVzLmxvY2siICUgbG9nZmlsZSkKLSAgICB3aXRoIG9wZW4obG9nZmlsZSwgImEiKSBhcyBmOgotICAgICAgICB3cml0ZXIgPSBjc3Yud3JpdGVyKGYpCi0gICAgICAgIHdyaXRlci53cml0ZXJvdyhbJ1BhY2thZ2UnLCAnRGVzY3JpcHRpb24nLCAnT3duZXInLCAnTGljZW5zZScsIAotICAgICAgICAgICAgJ1Zlck1hdGNoJywgJ1ZlcnNpb24nLCAnVXBzdHJlYW0nLCAnUmVhc29uJywgJ1JlY2lwZSBTdGF0dXMnLAotICAgICAgICAgICAgJ0Rpc3RybyAxJywgJ0Rpc3RybyAyJywgJ0Rpc3RybyAzJ10pCi0gICAgICAgIGYuY2xvc2UoKQotICAgIGJiLnV0aWxzLnVubG9ja2ZpbGUobGYpCi0KLSAgICByZXR1cm4KLX0KLQotYWRkdGFzayBkaXN0cm9kYXRhX25wCi1kb19kaXN0cm9kYXRhX25wW25vc3RhbXBdID0gIjEiCi1weXRob24gZG9fZGlzdHJvZGF0YV9ucCgpIHsKLSAgICAgICAgbG9jYWxkYXRhID0gYmIuZGF0YS5jcmVhdGVDb3B5KGQpCi0gICAgICAgIHBuID0gZC5nZXRWYXIoIlBOIikKLSAgICAgICAgYmIubm90ZSgiUGFja2FnZSBOYW1lOiAlcyIgJSBwbikKLQotICAgICAgICBpbXBvcnQgb2UuZGlzdHJvX2NoZWNrIGFzIGRpc3RfY2hlY2sKLSAgICAgICAgdG1wZGlyID0gZC5nZXRWYXIoJ1RNUERJUicpCi0gICAgICAgIGRpc3Ryb19jaGVja19kaXIgPSBvcy5wYXRoLmpvaW4odG1wZGlyLCAiZGlzdHJvX2NoZWNrIikKLSAgICAgICAgZGF0ZXRpbWUgPSBsb2NhbGRhdGEuZ2V0VmFyKCdEQVRFVElNRScpCi0gICAgICAgIGRpc3RfY2hlY2sudXBkYXRlX2Rpc3Ryb19kYXRhKGRpc3Ryb19jaGVja19kaXIsIGRhdGV0aW1lLCBsb2NhbGRhdGEpCi0KLSAgICAgICAgaWYgcG4uZmluZCgiLW5hdGl2ZSIpICE9IC0xOgotICAgICAgICAgICAgcG5zdHJpcHBlZCA9IHBuLnNwbGl0KCItbmF0aXZlIikKLSAgICAgICAgICAgIGJiLm5vdGUoIk5hdGl2ZSBTcGxpdDogJXMiICUgcG5zdHJpcHBlZCkKLSAgICAgICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ09WRVJSSURFUycsICJwbi0iICsgcG5zdHJpcHBlZFswXSArICI6IiArIGQuZ2V0VmFyKCdPVkVSUklERVMnKSkKLQotICAgICAgICBpZiBwbi5maW5kKCItY3Jvc3MiKSAhPSAtMToKLSAgICAgICAgICAgIHBuc3RyaXBwZWQgPSBwbi5zcGxpdCgiLWNyb3NzIikKLSAgICAgICAgICAgIGJiLm5vdGUoImNyb3NzIFNwbGl0OiAlcyIgJSBwbnN0cmlwcGVkKQotICAgICAgICAgICAgbG9jYWxkYXRhLnNldFZhcignT1ZFUlJJREVTJywgInBuLSIgKyBwbnN0cmlwcGVkWzBdICsgIjoiICsgZC5nZXRWYXIoJ09WRVJSSURFUycpKQotCi0gICAgICAgIGlmIHBuLmZpbmQoIi1jcm9zc3NkayIpICE9IC0xOgotICAgICAgICAgICAgcG5zdHJpcHBlZCA9IHBuLnNwbGl0KCItY3Jvc3NzZGsiKQotICAgICAgICAgICAgYmIubm90ZSgiY3Jvc3MgU3BsaXQ6ICVzIiAlIHBuc3RyaXBwZWQpCi0gICAgICAgICAgICBsb2NhbGRhdGEuc2V0VmFyKCdPVkVSUklERVMnLCAicG4tIiArIHBuc3RyaXBwZWRbMF0gKyAiOiIgKyBkLmdldFZhcignT1ZFUlJJREVTJykpCi0KLSAgICAgICAgaWYgcG4uc3RhcnRzd2l0aCgibmF0aXZlc2RrLSIpOgotICAgICAgICAgICAgcG5zdHJpcHBlZCA9IHBuLnJlcGxhY2UoIm5hdGl2ZXNkay0iLCAiIikKLSAgICAgICAgICAgIGJiLm5vdGUoIk5hdGl2ZVNESyBTcGxpdDogJXMiICUgcG5zdHJpcHBlZCkKLSAgICAgICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ09WRVJSSURFUycsICJwbi0iICsgcG5zdHJpcHBlZCArICI6IiArIGQuZ2V0VmFyKCdPVkVSUklERVMnKSkKLQotCi0gICAgICAgIGlmIHBuLmZpbmQoIi1pbml0aWFsIikgIT0gLTE6Ci0gICAgICAgICAgICBwbnN0cmlwcGVkID0gcG4uc3BsaXQoIi1pbml0aWFsIikKLSAgICAgICAgICAgIGJiLm5vdGUoImluaXRpYWwgU3BsaXQ6ICVzIiAlIHBuc3RyaXBwZWQpCi0gICAgICAgICAgICBsb2NhbGRhdGEuc2V0VmFyKCdPVkVSUklERVMnLCAicG4tIiArIHBuc3RyaXBwZWRbMF0gKyAiOiIgKyBkLmdldFZhcignT1ZFUlJJREVTJykpCi0KLSAgICAgICAgIiIiZ2VuZXJhdGUgcGFja2FnZSBpbmZvcm1hdGlvbiBmcm9tIC5iYiBmaWxlIiIiCi0gICAgICAgIHBuYW1lID0gbG9jYWxkYXRhLmdldFZhcignUE4nKQotICAgICAgICBwY3VydmVyID0gbG9jYWxkYXRhLmdldFZhcignUFYnKQotICAgICAgICBwZGVzYyA9IGxvY2FsZGF0YS5nZXRWYXIoJ0RFU0NSSVBUSU9OJykKLSAgICAgICAgaWYgcGRlc2MgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgcGRlc2MgPSBwZGVzYy5yZXBsYWNlKCcsJywnJykKLSAgICAgICAgICAgICAgICBwZGVzYyA9IHBkZXNjLnJlcGxhY2UoJ1xuJywnJykKLQotICAgICAgICBwZ3JwID0gbG9jYWxkYXRhLmdldFZhcignU0VDVElPTicpCi0gICAgICAgIHBsaWNlbnNlID0gbG9jYWxkYXRhLmdldFZhcignTElDRU5TRScpLnJlcGxhY2UoJywnLCdfJykKLQotICAgICAgICByc3RhdHVzID0gbG9jYWxkYXRhLmdldFZhcignUkVDSVBFX0NPTE9SJykKLSAgICAgICAgaWYgcnN0YXR1cyBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICByc3RhdHVzID0gcnN0YXR1cy5yZXBsYWNlKCcsJywnJykKLQotICAgICAgICBwdXB2ZXIgPSBsb2NhbGRhdGEuZ2V0VmFyKCdSRUNJUEVfVVBTVFJFQU1fVkVSU0lPTicpCi0gICAgICAgIGlmIHBjdXJ2ZXIgPT0gcHVwdmVyOgotICAgICAgICAgICAgICAgIHZlcm1hdGNoPSIxIgotICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHZlcm1hdGNoPSIwIgotICAgICAgICBub3VwZGF0ZV9yZWFzb24gPSBsb2NhbGRhdGEuZ2V0VmFyKCdSRUNJUEVfTk9fVVBEQVRFX1JFQVNPTicpCi0gICAgICAgIGlmIG5vdXBkYXRlX3JlYXNvbiBpcyBOb25lOgotICAgICAgICAgICAgICAgIG5vdXBkYXRlPSIwIgotICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIG5vdXBkYXRlPSIxIgotICAgICAgICAgICAgICAgIG5vdXBkYXRlX3JlYXNvbiA9IG5vdXBkYXRlX3JlYXNvbi5yZXBsYWNlKCcsJywnJykKLQotICAgICAgICBtYWludGFpbmVyID0gbG9jYWxkYXRhLmdldFZhcignUkVDSVBFX01BSU5UQUlORVInKQotICAgICAgICBybHJkID0gbG9jYWxkYXRhLmdldFZhcignUkVDSVBFX1VQU1RSRUFNX0RBVEUnKQotICAgICAgICByZXN1bHQgPSBkaXN0X2NoZWNrLmNvbXBhcmVfaW5fZGlzdHJvX3BhY2thZ2VzX2xpc3QoZGlzdHJvX2NoZWNrX2RpciwgbG9jYWxkYXRhKQotCi0gICAgICAgIGJiLm5vdGUoIkRJU1RSTzogJXMsJXMsJXMsJXMsJXMsJXMsJXMsJXMsJXNcbiIgJSBcCi0gICAgICAgICAgICAgICAgICAocG5hbWUsIHBkZXNjLCBtYWludGFpbmVyLCBwbGljZW5zZSwgdmVybWF0Y2gsIHBjdXJ2ZXIsIHB1cHZlciwgbm91cGRhdGVfcmVhc29uLCByc3RhdHVzKSkKLSAgICAgICAgbGluZSA9IHBuCi0gICAgICAgIGZvciBpIGluIHJlc3VsdDoKLSAgICAgICAgICAgIGxpbmUgPSBsaW5lICsgIiwiICsgaQotICAgICAgICBiYi5ub3RlKCIlc1xuIiAlIGxpbmUpCi19Ci1kb19kaXN0cm9kYXRhX25wW3ZhcmRlcHNleGNsdWRlXSA9ICJEQVRFVElNRSIKLQotYWRkdGFzayBkaXN0cm9kYXRhCi1kb19kaXN0cm9kYXRhW25vc3RhbXBdID0gIjEiCi1weXRob24gZG9fZGlzdHJvZGF0YSgpIHsKLSAgICAgICAgaW1wb3J0IGNzdgotICAgICAgICBsb2dwYXRoID0gZC5nZXRWYXIoJ0xPR19ESVInKQotICAgICAgICBiYi51dGlscy5ta2RpcmhpZXIobG9ncGF0aCkKLSAgICAgICAgbG9nZmlsZSA9IG9zLnBhdGguam9pbihsb2dwYXRoLCAiZGlzdHJvZGF0YS5jc3YiKQotCi0gICAgICAgIGltcG9ydCBvZS5kaXN0cm9fY2hlY2sgYXMgZGlzdF9jaGVjawotICAgICAgICBsb2NhbGRhdGEgPSBiYi5kYXRhLmNyZWF0ZUNvcHkoZCkKLSAgICAgICAgdG1wZGlyID0gZC5nZXRWYXIoJ1RNUERJUicpCi0gICAgICAgIGRpc3Ryb19jaGVja19kaXIgPSBvcy5wYXRoLmpvaW4odG1wZGlyLCAiZGlzdHJvX2NoZWNrIikKLSAgICAgICAgZGF0ZXRpbWUgPSBsb2NhbGRhdGEuZ2V0VmFyKCdEQVRFVElNRScpCi0gICAgICAgIGRpc3RfY2hlY2sudXBkYXRlX2Rpc3Ryb19kYXRhKGRpc3Ryb19jaGVja19kaXIsIGRhdGV0aW1lLCBsb2NhbGRhdGEpCi0KLSAgICAgICAgcG4gPSBkLmdldFZhcigiUE4iKQotICAgICAgICBiYi5ub3RlKCJQYWNrYWdlIE5hbWU6ICVzIiAlIHBuKQotCi0gICAgICAgIGlmIHBuLmZpbmQoIi1uYXRpdmUiKSAhPSAtMToKLSAgICAgICAgICAgIHBuc3RyaXBwZWQgPSBwbi5zcGxpdCgiLW5hdGl2ZSIpCi0gICAgICAgICAgICBiYi5ub3RlKCJOYXRpdmUgU3BsaXQ6ICVzIiAlIHBuc3RyaXBwZWQpCi0gICAgICAgICAgICBsb2NhbGRhdGEuc2V0VmFyKCdPVkVSUklERVMnLCAicG4tIiArIHBuc3RyaXBwZWRbMF0gKyAiOiIgKyBkLmdldFZhcignT1ZFUlJJREVTJykpCi0KLSAgICAgICAgaWYgcG4uc3RhcnRzd2l0aCgibmF0aXZlc2RrLSIpOgotICAgICAgICAgICAgcG5zdHJpcHBlZCA9IHBuLnJlcGxhY2UoIm5hdGl2ZXNkay0iLCAiIikKLSAgICAgICAgICAgIGJiLm5vdGUoIk5hdGl2ZVNESyBTcGxpdDogJXMiICUgcG5zdHJpcHBlZCkKLSAgICAgICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ09WRVJSSURFUycsICJwbi0iICsgcG5zdHJpcHBlZCArICI6IiArIGQuZ2V0VmFyKCdPVkVSUklERVMnKSkKLQotICAgICAgICBpZiBwbi5maW5kKCItY3Jvc3MiKSAhPSAtMToKLSAgICAgICAgICAgIHBuc3RyaXBwZWQgPSBwbi5zcGxpdCgiLWNyb3NzIikKLSAgICAgICAgICAgIGJiLm5vdGUoImNyb3NzIFNwbGl0OiAlcyIgJSBwbnN0cmlwcGVkKQotICAgICAgICAgICAgbG9jYWxkYXRhLnNldFZhcignT1ZFUlJJREVTJywgInBuLSIgKyBwbnN0cmlwcGVkWzBdICsgIjoiICsgZC5nZXRWYXIoJ09WRVJSSURFUycpKQotCi0gICAgICAgIGlmIHBuLmZpbmQoIi1jcm9zc3NkayIpICE9IC0xOgotICAgICAgICAgICAgcG5zdHJpcHBlZCA9IHBuLnNwbGl0KCItY3Jvc3NzZGsiKQotICAgICAgICAgICAgYmIubm90ZSgiY3Jvc3MgU3BsaXQ6ICVzIiAlIHBuc3RyaXBwZWQpCi0gICAgICAgICAgICBsb2NhbGRhdGEuc2V0VmFyKCdPVkVSUklERVMnLCAicG4tIiArIHBuc3RyaXBwZWRbMF0gKyAiOiIgKyBkLmdldFZhcignT1ZFUlJJREVTJykpCi0KLSAgICAgICAgaWYgcG4uZmluZCgiLWluaXRpYWwiKSAhPSAtMToKLSAgICAgICAgICAgIHBuc3RyaXBwZWQgPSBwbi5zcGxpdCgiLWluaXRpYWwiKQotICAgICAgICAgICAgYmIubm90ZSgiaW5pdGlhbCBTcGxpdDogJXMiICUgcG5zdHJpcHBlZCkKLSAgICAgICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ09WRVJSSURFUycsICJwbi0iICsgcG5zdHJpcHBlZFswXSArICI6IiArIGQuZ2V0VmFyKCdPVkVSUklERVMnKSkKLQotICAgICAgICAiIiJnZW5lcmF0ZSBwYWNrYWdlIGluZm9ybWF0aW9uIGZyb20gLmJiIGZpbGUiIiIKLSAgICAgICAgcG5hbWUgPSBsb2NhbGRhdGEuZ2V0VmFyKCdQTicpCi0gICAgICAgIHBjdXJ2ZXIgPSBsb2NhbGRhdGEuZ2V0VmFyKCdQVicpCi0gICAgICAgIHBkZXNjID0gbG9jYWxkYXRhLmdldFZhcignREVTQ1JJUFRJT04nKQotICAgICAgICBpZiBwZGVzYyBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICBwZGVzYyA9IHBkZXNjLnJlcGxhY2UoJywnLCcnKQotICAgICAgICAgICAgICAgIHBkZXNjID0gcGRlc2MucmVwbGFjZSgnXG4nLCcnKQotCi0gICAgICAgIHBncnAgPSBsb2NhbGRhdGEuZ2V0VmFyKCdTRUNUSU9OJykKLSAgICAgICAgcGxpY2Vuc2UgPSBsb2NhbGRhdGEuZ2V0VmFyKCdMSUNFTlNFJykucmVwbGFjZSgnLCcsJ18nKQotCi0gICAgICAgIHJzdGF0dXMgPSBsb2NhbGRhdGEuZ2V0VmFyKCdSRUNJUEVfQ09MT1InKQotICAgICAgICBpZiByc3RhdHVzIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgIHJzdGF0dXMgPSByc3RhdHVzLnJlcGxhY2UoJywnLCcnKQotCi0gICAgICAgIHB1cHZlciA9IGxvY2FsZGF0YS5nZXRWYXIoJ1JFQ0lQRV9VUFNUUkVBTV9WRVJTSU9OJykKLSAgICAgICAgaWYgcGN1cnZlciA9PSBwdXB2ZXI6Ci0gICAgICAgICAgICAgICAgdmVybWF0Y2g9IjEiCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgdmVybWF0Y2g9IjAiCi0KLSAgICAgICAgbm91cGRhdGVfcmVhc29uID0gbG9jYWxkYXRhLmdldFZhcignUkVDSVBFX05PX1VQREFURV9SRUFTT04nKQotICAgICAgICBpZiBub3VwZGF0ZV9yZWFzb24gaXMgTm9uZToKLSAgICAgICAgICAgICAgICBub3VwZGF0ZT0iMCIKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBub3VwZGF0ZT0iMSIKLSAgICAgICAgICAgICAgICBub3VwZGF0ZV9yZWFzb24gPSBub3VwZGF0ZV9yZWFzb24ucmVwbGFjZSgnLCcsJycpCi0KLSAgICAgICAgbWFpbnRhaW5lciA9IGxvY2FsZGF0YS5nZXRWYXIoJ1JFQ0lQRV9NQUlOVEFJTkVSJykKLSAgICAgICAgcmxyZCA9IGxvY2FsZGF0YS5nZXRWYXIoJ1JFQ0lQRV9VUFNUUkVBTV9EQVRFJykKLSAgICAgICAgIyBkbyB0aGUgY29tcGFyaXNvbgotICAgICAgICByZXN1bHQgPSBkaXN0X2NoZWNrLmNvbXBhcmVfaW5fZGlzdHJvX3BhY2thZ2VzX2xpc3QoZGlzdHJvX2NoZWNrX2RpciwgbG9jYWxkYXRhKQotCi0gICAgICAgIGxmID0gYmIudXRpbHMubG9ja2ZpbGUoIiVzLmxvY2siICUgbG9nZmlsZSkKLSAgICAgICAgd2l0aCBvcGVuKGxvZ2ZpbGUsICJhIikgYXMgZjoKLSAgICAgICAgICAgIHJvdyA9IFtwbmFtZSwgcGRlc2MsIG1haW50YWluZXIsIHBsaWNlbnNlLCB2ZXJtYXRjaCwgcGN1cnZlciwgcHVwdmVyLCBub3VwZGF0ZV9yZWFzb24sIHJzdGF0dXNdCi0gICAgICAgICAgICByb3cuZXh0ZW5kKHJlc3VsdCkKLQotICAgICAgICAgICAgd3JpdGVyID0gY3N2LndyaXRlcihmKQotICAgICAgICAgICAgd3JpdGVyLndyaXRlcm93KHJvdykKLSAgICAgICAgICAgIGYuY2xvc2UoKQotICAgICAgICBiYi51dGlscy51bmxvY2tmaWxlKGxmKQotfQotZG9fZGlzdHJvZGF0YVt2YXJkZXBzZXhjbHVkZV0gPSAiREFURVRJTUUiCi0KLWFkZGhhbmRsZXIgY2hlY2twa2dfZXZlbnRoYW5kbGVyCi1jaGVja3BrZ19ldmVudGhhbmRsZXJbZXZlbnRtYXNrXSA9ICJiYi5ldmVudC5CdWlsZFN0YXJ0ZWQgYmIuZXZlbnQuQnVpbGRDb21wbGV0ZWQiCi1weXRob24gY2hlY2twa2dfZXZlbnRoYW5kbGVyKCkgewotICAgIGltcG9ydCBjc3YKLQotICAgIGRlZiBwYXJzZV9jc3ZfZmlsZShmaWxlbmFtZSk6Ci0gICAgICAgIHBhY2thZ2VfZGljdCA9IHt9Ci0KLSAgICAgICAgd2l0aCBvcGVuKGZpbGVuYW1lLCAiciIpIGFzIGY6Ci0gICAgICAgICAgICByZWFkZXIgPSBjc3YucmVhZGVyKGYsIGRlbGltaXRlcj0nXHQnKQotICAgICAgICAgICAgZm9yIHJvdyBpbiByZWFkZXI6Ci0gICAgICAgICAgICAgICAgcG4gPSByb3dbMF0KLQotICAgICAgICAgICAgICAgIGlmIHJlYWRlci5saW5lX251bSA9PSAxOgotICAgICAgICAgICAgICAgICAgICBoZWFkZXIgPSByb3cKLSAgICAgICAgICAgICAgICAgICAgY29udGludWUKLQotICAgICAgICAgICAgICAgIGlmIG5vdCBwbiBpbiBwYWNrYWdlX2RpY3Qua2V5cygpOgotICAgICAgICAgICAgICAgICAgICBwYWNrYWdlX2RpY3RbcG5dID0gcm93Ci0gICAgICAgICAgICBmLmNsb3NlKCkKLQotICAgICAgICB3aXRoIG9wZW4oZmlsZW5hbWUsICJ3IikgYXMgZjoKLSAgICAgICAgICAgIHdyaXRlciA9IGNzdi53cml0ZXIoZiwgZGVsaW1pdGVyPSdcdCcpCi0gICAgICAgICAgICB3cml0ZXIud3JpdGVyb3coaGVhZGVyKQotICAgICAgICAgICAgZm9yIHBuIGluIHBhY2thZ2VfZGljdC5rZXlzKCk6Ci0gICAgICAgICAgICAgICAgd3JpdGVyLndyaXRlcm93KHBhY2thZ2VfZGljdFtwbl0pCi0gICAgICAgICAgICBmLmNsb3NlKCkKLQotICAgICAgICBkZWwgcGFja2FnZV9kaWN0Ci0KLSAgICBpZiBiYi5ldmVudC5nZXROYW1lKGUpID09ICJCdWlsZFN0YXJ0ZWQiOgotICAgICAgICBpbXBvcnQgb2UuZGlzdHJvX2NoZWNrIGFzIGRjCi0gICAgICAgIGxvZ2ZpbGUgPSBkYy5jcmVhdGVfbG9nX2ZpbGUoZS5kYXRhLCAiY2hlY2twa2cuY3N2IikKLQotICAgICAgICBsZiA9IGJiLnV0aWxzLmxvY2tmaWxlKCIlcy5sb2NrIiAlIGxvZ2ZpbGUpCi0gICAgICAgIHdpdGggb3Blbihsb2dmaWxlLCAiYSIpIGFzIGY6Ci0gICAgICAgICAgICB3cml0ZXIgPSBjc3Yud3JpdGVyKGYsIGRlbGltaXRlcj0nXHQnKQotICAgICAgICAgICAgaGVhZGVycyA9IFsnUGFja2FnZScsICdWZXJzaW9uJywgJ1VwdmVyJywgJ0xpY2Vuc2UnLCAnU2VjdGlvbicsCi0gICAgICAgICAgICAgICAgJ0hvbWUnLCAnUmVsZWFzZScsICdEZXBlbmRzJywgJ0J1Z1RyYWNrZXInLCAnUEUnLCAnRGVzY3JpcHRpb24nLAotICAgICAgICAgICAgICAgICdTdGF0dXMnLCAnVHJhY2tpbmcnLCAnVVJJJywgJ01BSU5UQUlORVInLCAnTm9VcFJlYXNvbiddCi0gICAgICAgICAgICB3cml0ZXIud3JpdGVyb3coaGVhZGVycykKLSAgICAgICAgICAgIGYuY2xvc2UoKQotICAgICAgICBiYi51dGlscy51bmxvY2tmaWxlKGxmKQotICAgIGVsaWYgYmIuZXZlbnQuZ2V0TmFtZShlKSA9PSAiQnVpbGRDb21wbGV0ZWQiOgotICAgICAgICBpbXBvcnQgb3MKLSAgICAgICAgZmlsZW5hbWUgPSAidG1wL2xvZy9jaGVja3BrZy5jc3YiCi0gICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKGZpbGVuYW1lKToKLSAgICAgICAgICAgIGxmID0gYmIudXRpbHMubG9ja2ZpbGUoIiVzLmxvY2siJWZpbGVuYW1lKQotICAgICAgICAgICAgcGFyc2VfY3N2X2ZpbGUoZmlsZW5hbWUpCi0gICAgICAgICAgICBiYi51dGlscy51bmxvY2tmaWxlKGxmKQotICAgIHJldHVybgotfQotCi1hZGR0YXNrIGNoZWNrcGtnCi1kb19jaGVja3BrZ1tub3N0YW1wXSA9ICIxIgotcHl0aG9uIGRvX2NoZWNrcGtnKCkgewotICAgICAgICBsb2NhbGRhdGEgPSBiYi5kYXRhLmNyZWF0ZUNvcHkoZCkKLSAgICAgICAgaW1wb3J0IGNzdgotICAgICAgICBpbXBvcnQgcmUKLSAgICAgICAgaW1wb3J0IHRlbXBmaWxlCi0gICAgICAgIGltcG9ydCBzdWJwcm9jZXNzCi0gICAgICAgIGltcG9ydCBvZS5yZWNpcGV1dGlscwotICAgICAgICBmcm9tIGJiLnV0aWxzIGltcG9ydCB2ZXJjbXBfc3RyaW5nCi0gICAgICAgIGZyb20gYmIuZmV0Y2gyIGltcG9ydCBGZXRjaEVycm9yLCBOb01ldGhvZEVycm9yLCBkZWNvZGV1cmwKLQotICAgICAgICBkZWYgZ2V0X3Vwc3RyZWFtX3ZlcnNpb25fYW5kX3N0YXR1cygpOgotCi0gICAgICAgICAgICAjIHNldCBpZiB0aGUgdXBzdHJlYW0gY2hlY2sgZmFpbHMgcmVsaWFibHksIGUuZy4gYWJzZW50IGdpdCB0YWdzLCBvciB3ZWlyZCB2ZXJzaW9uIGZvcm1hdCB1c2VkIG9uIG91ciBvciBvbiB1cHN0cmVhbSBzaWRlLgotICAgICAgICAgICAgdXBzdHJlYW1fdmVyc2lvbl91bmtub3duID0gbG9jYWxkYXRhLmdldFZhcignVVBTVFJFQU1fVkVSU0lPTl9VTktOT1dOJykKLSAgICAgICAgICAgICMgc2V0IGlmIHRoZSB1cHN0cmVhbSBjaGVjayBjYW5ub3QgYmUgcmVsaWFibHkgcGVyZm9ybWVkIGR1ZSB0byB0cmFuc2llbnQgbmV0d29yayBmYWlsdXJlcywgb3Igc2VydmVyIGJlaGF2aW5nIHdlaXJkbHkuIAotICAgICAgICAgICAgIyBUaGlzIG9uZSBzaG91bGQgYmUgdXNlZCBzcGFyaW5nbHksIGFzIGl0IGNvbXBsZXRlbHkgZXhjbHVkZXMgYSByZWNpcGUgZnJvbSB1cHN0cmVhbSBjaGVja2luZy4KLSAgICAgICAgICAgIHVwc3RyZWFtX2NoZWNrX3VucmVsaWFibGUgPSBsb2NhbGRhdGEuZ2V0VmFyKCdVUFNUUkVBTV9DSEVDS19VTlJFTElBQkxFJykKLQotICAgICAgICAgICAgaWYgdXBzdHJlYW1fY2hlY2tfdW5yZWxpYWJsZSA9PSAiMSI6Ci0gICAgICAgICAgICAgICAgcmV0dXJuICJOL0EiLCAiQ0hFQ0tfSVNfVU5SRUxJQUJMRSIKLQotICAgICAgICAgICAgdXYgPSBvZS5yZWNpcGV1dGlscy5nZXRfcmVjaXBlX3Vwc3RyZWFtX3ZlcnNpb24obG9jYWxkYXRhKQotICAgICAgICAgICAgcHVwdmVyID0gdXZbJ3ZlcnNpb24nXSBpZiB1dlsndmVyc2lvbiddIGVsc2UgIk4vQSIKLSAgICAgICAgICAgIHB2ZXJzaW9uID0gdXZbJ2N1cnJlbnRfdmVyc2lvbiddCi0gICAgICAgICAgICByZXZpc2lvbiA9IHV2WydyZXZpc2lvbiddIGlmIHV2WydyZXZpc2lvbiddIGVsc2UgIk4vQSIKLQotICAgICAgICAgICAgaWYgcHVwdmVyID09ICJOL0EiOgotICAgICAgICAgICAgICAgIHBzdGF0dXMgPSAiVU5LTk9XTiIgaWYgdXBzdHJlYW1fdmVyc2lvbl91bmtub3duIGVsc2UgIlVOS05PV05fQlJPS0VOIgotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBjbXAgPSB2ZXJjbXBfc3RyaW5nKHB2ZXJzaW9uLCBwdXB2ZXIpCi0gICAgICAgICAgICAgICAgaWYgY21wID09IC0xOgotICAgICAgICAgICAgICAgICAgICBwc3RhdHVzID0gIlVQREFURSIgaWYgbm90IHVwc3RyZWFtX3ZlcnNpb25fdW5rbm93biBlbHNlICJLTk9XTl9CUk9LRU4iCi0gICAgICAgICAgICAgICAgZWxpZiBjbXAgPT0gMDoKLSAgICAgICAgICAgICAgICAgICAgcHN0YXR1cyA9ICJNQVRDSCIgaWYgbm90IHVwc3RyZWFtX3ZlcnNpb25fdW5rbm93biBlbHNlICJLTk9XTl9CUk9LRU4iCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgcHN0YXR1cyA9ICJVTktOT1dOIiBpZiB1cHN0cmVhbV92ZXJzaW9uX3Vua25vd24gZWxzZSAiVU5LTk9XTl9CUk9LRU4iCi0KLSAgICAgICAgICAgIHJldHVybiBwdmVyc2lvbiwgcHVwdmVyLCBwc3RhdHVzLCByZXZpc2lvbgotCi0KLSAgICAgICAgIiIiaW5pdGlhbGl6ZSBsb2cgZmlsZXMuIiIiCi0gICAgICAgIGxvZ3BhdGggPSBkLmdldFZhcignTE9HX0RJUicpCi0gICAgICAgIGJiLnV0aWxzLm1rZGlyaGllcihsb2dwYXRoKQotICAgICAgICBsb2dmaWxlID0gb3MucGF0aC5qb2luKGxvZ3BhdGgsICJjaGVja3BrZy5jc3YiKQotCi0gICAgICAgICIiImdlbmVyYXRlIHBhY2thZ2UgaW5mb3JtYXRpb24gZnJvbSAuYmIgZmlsZSIiIgotICAgICAgICBwbmFtZSA9IGQuZ2V0VmFyKCdQTicpCi0KLSAgICAgICAgaWYgcG5hbWUuZmluZCgiLW5hdGl2ZSIpICE9IC0xOgotICAgICAgICAgICAgaWYgZC5nZXRWYXIoJ0JCQ0xBU1NFWFRFTkQnKToKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgICAgICBwbnN0cmlwcGVkID0gcG5hbWUuc3BsaXQoIi1uYXRpdmUiKQotICAgICAgICAgICAgYmIubm90ZSgiTmF0aXZlIFNwbGl0OiAlcyIgJSBwbnN0cmlwcGVkKQotICAgICAgICAgICAgbG9jYWxkYXRhLnNldFZhcignT1ZFUlJJREVTJywgInBuLSIgKyBwbnN0cmlwcGVkWzBdICsgIjoiICsgZC5nZXRWYXIoJ09WRVJSSURFUycpKQotCi0gICAgICAgIGlmIHBuYW1lLnN0YXJ0c3dpdGgoIm5hdGl2ZXNkay0iKToKLSAgICAgICAgICAgIGlmIGQuZ2V0VmFyKCdCQkNMQVNTRVhURU5EJyk6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybgotICAgICAgICAgICAgcG5zdHJpcHBlZCA9IHBuYW1lLnJlcGxhY2UoIm5hdGl2ZXNkay0iLCAiIikKLSAgICAgICAgICAgIGJiLm5vdGUoIk5hdGl2ZVNESyBTcGxpdDogJXMiICUgcG5zdHJpcHBlZCkKLSAgICAgICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ09WRVJSSURFUycsICJwbi0iICsgcG5zdHJpcHBlZCArICI6IiArIGQuZ2V0VmFyKCdPVkVSUklERVMnKSkKLQotICAgICAgICBpZiBwbmFtZS5maW5kKCItY3Jvc3MiKSAhPSAtMToKLSAgICAgICAgICAgIHBuc3RyaXBwZWQgPSBwbmFtZS5zcGxpdCgiLWNyb3NzIikKLSAgICAgICAgICAgIGJiLm5vdGUoImNyb3NzIFNwbGl0OiAlcyIgJSBwbnN0cmlwcGVkKQotICAgICAgICAgICAgbG9jYWxkYXRhLnNldFZhcignT1ZFUlJJREVTJywgInBuLSIgKyBwbnN0cmlwcGVkWzBdICsgIjoiICsgZC5nZXRWYXIoJ09WRVJSSURFUycpKQotCi0gICAgICAgIGlmIHBuYW1lLmZpbmQoIi1pbml0aWFsIikgIT0gLTE6Ci0gICAgICAgICAgICBwbnN0cmlwcGVkID0gcG5hbWUuc3BsaXQoIi1pbml0aWFsIikKLSAgICAgICAgICAgIGJiLm5vdGUoImluaXRpYWwgU3BsaXQ6ICVzIiAlIHBuc3RyaXBwZWQpCi0gICAgICAgICAgICBsb2NhbGRhdGEuc2V0VmFyKCdPVkVSUklERVMnLCAicG4tIiArIHBuc3RyaXBwZWRbMF0gKyAiOiIgKyBkLmdldFZhcignT1ZFUlJJREVTJykpCi0KLSAgICAgICAgcGRlc2MgPSBsb2NhbGRhdGEuZ2V0VmFyKCdERVNDUklQVElPTicpCi0gICAgICAgIHBncnAgPSBsb2NhbGRhdGEuZ2V0VmFyKCdTRUNUSU9OJykKLSAgICAgICAgcGxpY2Vuc2UgPSBsb2NhbGRhdGEuZ2V0VmFyKCdMSUNFTlNFJykKLSAgICAgICAgcHNlY3Rpb24gPSBsb2NhbGRhdGEuZ2V0VmFyKCdTRUNUSU9OJykKLSAgICAgICAgcGhvbWUgPSBsb2NhbGRhdGEuZ2V0VmFyKCdIT01FUEFHRScpCi0gICAgICAgIHByZWxlYXNlID0gbG9jYWxkYXRhLmdldFZhcignUFInKQotICAgICAgICBwZGVwZW5kcyA9IGxvY2FsZGF0YS5nZXRWYXIoJ0RFUEVORFMnKQotICAgICAgICBwYnVndHJhY2tlciA9IGxvY2FsZGF0YS5nZXRWYXIoJ0JVR1RSQUNLRVInKQotICAgICAgICBwcGUgPSBsb2NhbGRhdGEuZ2V0VmFyKCdQRScpCi0gICAgICAgIHBzcmN1cmkgPSBsb2NhbGRhdGEuZ2V0VmFyKCdTUkNfVVJJJykKLSAgICAgICAgbWFpbnRhaW5lciA9IGxvY2FsZGF0YS5nZXRWYXIoJ1JFQ0lQRV9NQUlOVEFJTkVSJykKLQotICAgICAgICBwdmVyc2lvbiwgcHVwdmVyLCBwc3RhdHVzLCBwcmV2aXNpb24gPSBnZXRfdXBzdHJlYW1fdmVyc2lvbl9hbmRfc3RhdHVzKCkKLQotICAgICAgICBpZiBwc3JjdXJpOgotICAgICAgICAgICAgcHNyY3VyaSA9IHBzcmN1cmkuc3BsaXQoKVswXQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcHNyY3VyaSA9ICJub25lIgotICAgICAgICBwZGVwZW5kcyA9ICIiLmpvaW4ocGRlcGVuZHMuc3BsaXQoIlx0IikpCi0gICAgICAgIHBkZXNjID0gIiIuam9pbihwZGVzYy5zcGxpdCgiXHQiKSkKLSAgICAgICAgbm9fdXBncl9yZWFzb24gPSBkLmdldFZhcignUkVDSVBFX05PX1VQREFURV9SRUFTT04nKQotICAgICAgICBsZiA9IGJiLnV0aWxzLmxvY2tmaWxlKCIlcy5sb2NrIiAlIGxvZ2ZpbGUpCi0gICAgICAgIHdpdGggb3Blbihsb2dmaWxlLCAiYSIpIGFzIGY6Ci0gICAgICAgICAgICB3cml0ZXIgPSBjc3Yud3JpdGVyKGYsIGRlbGltaXRlcj0nXHQnKQotICAgICAgICAgICAgd3JpdGVyLndyaXRlcm93KFtwbmFtZSwgcHZlcnNpb24sIHB1cHZlciwgcGxpY2Vuc2UsIHBzZWN0aW9uLCBwaG9tZSwgCi0gICAgICAgICAgICAgICAgcHJlbGVhc2UsIHBkZXBlbmRzLCBwYnVndHJhY2tlciwgcHBlLCBwZGVzYywgcHN0YXR1cywgcHJldmlzaW9uLAotICAgICAgICAgICAgICAgIHBzcmN1cmksIG1haW50YWluZXIsIG5vX3VwZ3JfcmVhc29uXSkKLSAgICAgICAgICAgIGYuY2xvc2UoKQotICAgICAgICBiYi51dGlscy51bmxvY2tmaWxlKGxmKQotfQotCi1hZGRoYW5kbGVyIGRpc3Ryb19jaGVja19ldmVudGhhbmRsZXIKLWRpc3Ryb19jaGVja19ldmVudGhhbmRsZXJbZXZlbnRtYXNrXSA9ICJiYi5ldmVudC5CdWlsZFN0YXJ0ZWQiCi1weXRob24gZGlzdHJvX2NoZWNrX2V2ZW50aGFuZGxlcigpIHsKLSAgICAiIiJpbml0aWFsaXplIGxvZyBmaWxlcy4iIiIKLSAgICBpbXBvcnQgb2UuZGlzdHJvX2NoZWNrIGFzIGRjCi0gICAgcmVzdWx0X2ZpbGUgPSBkYy5jcmVhdGVfbG9nX2ZpbGUoZS5kYXRhLCAiZGlzdHJvY2hlY2suY3N2IikKLSAgICByZXR1cm4KLX0KLQotYWRkdGFzayBkaXN0cm9fY2hlY2sKLWRvX2Rpc3Ryb19jaGVja1tub3N0YW1wXSA9ICIxIgotZG9fZGlzdHJvX2NoZWNrW3ZhcmRlcHNleGNsdWRlXSArPSAiREFURVRJTUUiCi1weXRob24gZG9fZGlzdHJvX2NoZWNrKCkgewotICAgICIiImNoZWNrcyBpZiB0aGUgcGFja2FnZSBpcyBwcmVzZW50IGluIG90aGVyIHB1YmxpYyBMaW51eCBkaXN0cm9zIiIiCi0gICAgaW1wb3J0IG9lLmRpc3Ryb19jaGVjayBhcyBkYwotICAgIGltcG9ydCBzaHV0aWwKLSAgICBpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCduYXRpdmUnLCBkKSBvciBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdjcm9zcycsIGQpIG9yIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ3NkaycsIGQpIG9yIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2Nyb3Nzc2RrJywgZCkgb3IgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnbmF0aXZlc2RrJyxkKToKLSAgICAgICAgcmV0dXJuCi0KLSAgICBsb2NhbGRhdGEgPSBiYi5kYXRhLmNyZWF0ZUNvcHkoZCkKLSAgICB0bXBkaXIgPSBkLmdldFZhcignVE1QRElSJykKLSAgICBkaXN0cm9fY2hlY2tfZGlyID0gb3MucGF0aC5qb2luKHRtcGRpciwgImRpc3Ryb19jaGVjayIpCi0gICAgbG9ncGF0aCA9IGQuZ2V0VmFyKCdMT0dfRElSJykKLSAgICBiYi51dGlscy5ta2RpcmhpZXIobG9ncGF0aCkKLSAgICByZXN1bHRfZmlsZSA9IG9zLnBhdGguam9pbihsb2dwYXRoLCAiZGlzdHJvY2hlY2suY3N2IikKLSAgICBkYXRldGltZSA9IGxvY2FsZGF0YS5nZXRWYXIoJ0RBVEVUSU1FJykKLSAgICBkYy51cGRhdGVfZGlzdHJvX2RhdGEoZGlzdHJvX2NoZWNrX2RpciwgZGF0ZXRpbWUsIGxvY2FsZGF0YSkKLQotICAgICMgZG8gdGhlIGNvbXBhcmlzb24KLSAgICByZXN1bHQgPSBkYy5jb21wYXJlX2luX2Rpc3Ryb19wYWNrYWdlc19saXN0KGRpc3Ryb19jaGVja19kaXIsIGQpCi0KLSAgICAjIHNhdmUgdGhlIHJlc3VsdHMKLSAgICBkYy5zYXZlX2Rpc3Ryb19jaGVja19yZXN1bHQocmVzdWx0LCBkYXRldGltZSwgcmVzdWx0X2ZpbGUsIGQpCi19Ci0KLSMKLSNDaGVjayBNaXNzaW5nIExpY2Vuc2UgVGV4dC4KLSNVc2UgdGhpcyB0YXNrIHRvIGdlbmVyYXRlIHRoZSBtaXNzaW5nIGxpY2Vuc2UgdGV4dCBkYXRhIGZvciBwa2ctcmVwb3J0IHN5c3RlbSwKLSN0aGVuIHdlIGNhbiBzZWFyY2ggdGhvc2UgcmVjaXBlcyB3aGljaCBsaWNlbnNlIHRleHQgaXNuJ3QgZXhzaXQgaW4gY29tbW9uLWxpY2Vuc2VzIGRpcmVjdG9yeQotIwotYWRkaGFuZGxlciBjaGVja2xpY2Vuc2VfZXZlbnRoYW5kbGVyCi1jaGVja2xpY2Vuc2VfZXZlbnRoYW5kbGVyW2V2ZW50bWFza10gPSAiYmIuZXZlbnQuQnVpbGRTdGFydGVkIgotcHl0aG9uIGNoZWNrbGljZW5zZV9ldmVudGhhbmRsZXIoKSB7Ci0gICAgIiIiaW5pdGlhbGl6ZSBsb2cgZmlsZXMuIiIiCi0gICAgaW1wb3J0IGNzdgotICAgIGltcG9ydCBvZS5kaXN0cm9fY2hlY2sgYXMgZGMKLSAgICBsb2dmaWxlID0gZGMuY3JlYXRlX2xvZ19maWxlKGUuZGF0YSwgIm1pc3NpbmdsaWNlbnNlLmNzdiIpCi0gICAgbGYgPSBiYi51dGlscy5sb2NrZmlsZSgiJXMubG9jayIgJSBsb2dmaWxlKQotICAgIHdpdGggb3Blbihsb2dmaWxlLCAiYSIpIGFzIGY6Ci0gICAgICAgIHdyaXRlciA9IGNzdi53cml0ZXIoZiwgZGVsaW1pdGVyPSdcdCcpCi0gICAgICAgIHdyaXRlci53cml0ZXJvdyhbJ1BhY2thZ2UnLCAnTGljZW5zZScsICdNaXNzaW5nTGljZW5zZSddKQotICAgICAgICBmLmNsb3NlKCkKLSAgICBiYi51dGlscy51bmxvY2tmaWxlKGxmKQotICAgIHJldHVybgotfQotCi1hZGR0YXNrIGNoZWNrbGljZW5zZQotZG9fY2hlY2tsaWNlbnNlW25vc3RhbXBdID0gIjEiCi1weXRob24gZG9fY2hlY2tsaWNlbnNlKCkgewotICAgIGltcG9ydCBjc3YKLSAgICBpbXBvcnQgc2h1dGlsCi0gICAgbG9ncGF0aCA9IGQuZ2V0VmFyKCdMT0dfRElSJykKLSAgICBiYi51dGlscy5ta2RpcmhpZXIobG9ncGF0aCkKLSAgICBwbiA9IGQuZ2V0VmFyKCdQTicpCi0gICAgbG9nZmlsZSA9IG9zLnBhdGguam9pbihsb2dwYXRoLCAibWlzc2luZ2xpY2Vuc2UuY3N2IikKLSAgICBnZW5lcmljX2RpcmVjdG9yeSA9IGQuZ2V0VmFyKCdDT01NT05fTElDRU5TRV9ESVInKQotICAgIGxpY2Vuc2VfdHlwZXMgPSBkLmdldFZhcignTElDRU5TRScpCi0gICAgZm9yIGxpY2Vuc2VfdHlwZSBpbiAoKGxpY2Vuc2VfdHlwZXMucmVwbGFjZSgnKycsICcnKS5yZXBsYWNlKCd8JywgJyYnKQotICAgICAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgnKCcsICcnKS5yZXBsYWNlKCcpJywgJycpLnJlcGxhY2UoJzsnLCAnJykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoJywnLCAnJykucmVwbGFjZSgiICIsICIiKS5zcGxpdCgiJiIpKSk6Ci0gICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZShvcy5wYXRoLmpvaW4oZ2VuZXJpY19kaXJlY3RvcnksIGxpY2Vuc2VfdHlwZSkpOgotICAgICAgICAgICAgbGYgPSBiYi51dGlscy5sb2NrZmlsZSgiJXMubG9jayIgJSBsb2dmaWxlKQotICAgICAgICAgICAgd2l0aCBvcGVuKGxvZ2ZpbGUsICJhIikgYXMgZjoKLSAgICAgICAgICAgICAgICB3cml0ZXIgPSBjc3Yud3JpdGVyKGYsIGRlbGltaXRlcj0nXHQnKQotICAgICAgICAgICAgICAgIHdyaXRlci53cml0ZXJvdyhbcG4sIGxpY2Vuc2VfdHlwZXMsIGxpY2Vuc2VfdHlwZV0pCi0gICAgICAgICAgICAgICAgZi5jbG9zZSgpCi0gICAgICAgICAgICBiYi51dGlscy51bmxvY2tmaWxlKGxmKQotICAgIHJldHVybgotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvZGlzdHV0aWxzLXRvb2xzLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9kaXN0dXRpbHMtdG9vbHMuYmJjbGFzcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmYyODgwZS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9kaXN0dXRpbHMtdG9vbHMuYmJjbGFzcworKysgL2Rldi9udWxsCkBAIC0xLDczICswLDAgQEAKLURJU1RVVElMU19CVUlMRF9BUkdTID89ICIiCi1ESVNUVVRJTFNfU1RBR0VfSEVBREVSU19BUkdTID89ICItLWluc3RhbGwtZGlyPSR7U1RBR0lOR19JTkNESVJ9LyR7UFlUSE9OX0RJUn0iCi1ESVNUVVRJTFNfU1RBR0VfQUxMX0FSR1MgPz0gIi0tcHJlZml4PSR7U1RBR0lOR19ESVJfSE9TVH0ke3ByZWZpeH0gXAotICAgIC0taW5zdGFsbC1kYXRhPSR7U1RBR0lOR19EQVRBRElSfSIKLURJU1RVVElMU19JTlNUQUxMX0FSR1MgPz0gIi0tcHJlZml4PSR7RH0vJHtwcmVmaXh9IFwKLSAgICAtLWluc3RhbGwtZGF0YT0ke0R9LyR7ZGF0YWRpcn0iCi0KLWRpc3R1dGlsc19kb19jb21waWxlKCkgewotICAgICAgICAgU1RBR0lOR19JTkNESVI9JHtTVEFHSU5HX0lOQ0RJUn0gXAotICAgICAgICAgU1RBR0lOR19MSUJESVI9JHtTVEFHSU5HX0xJQkRJUn0gXAotICAgICAgICAgJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9LyR7UFlUSE9OX1BOfS1uYXRpdmUvJHtQWVRIT05fUE59IHNldHVwLnB5IGJ1aWxkICR7RElTVFVUSUxTX0JVSUxEX0FSR1N9IHx8IFwKLSAgICAgICAgIGJiZmF0YWxfbG9nICIke1BZVEhPTl9QTn0gc2V0dXAucHkgYnVpbGRfZXh0IGV4ZWN1dGlvbiBmYWlsZWQuIgotfQotCi1kaXN0dXRpbHNfc3RhZ2VfaGVhZGVycygpIHsKLSAgICAgICAgaW5zdGFsbCAtZCAke1NUQUdJTkdfRElSX0hPU1R9JHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0KLSAgICAgICAgJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9LyR7UFlUSE9OX1BOfS1uYXRpdmUvJHtQWVRIT05fUE59IHNldHVwLnB5IGluc3RhbGxfaGVhZGVycyAke0RJU1RVVElMU19TVEFHRV9IRUFERVJTX0FSR1N9IHx8IFwKLSAgICAgICAgYmJmYXRhbF9sb2cgIiR7UFlUSE9OX1BOfSBzZXR1cC5weSBpbnN0YWxsX2hlYWRlcnMgZXhlY3V0aW9uIGZhaWxlZC4iCi19Ci0KLWRpc3R1dGlsc19zdGFnZV9hbGwoKSB7Ci0gICAgICAgIFNUQUdJTkdfSU5DRElSPSR7U1RBR0lOR19JTkNESVJ9IFwKLSAgICAgICAgU1RBR0lOR19MSUJESVI9JHtTVEFHSU5HX0xJQkRJUn0gXAotICAgICAgICBpbnN0YWxsIC1kICR7U1RBR0lOR19ESVJfSE9TVH0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfQotICAgICAgICBQWVRIT05QQVRIPSR7U1RBR0lOR19ESVJfSE9TVH0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSBcCi0gICAgICAgICR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS8ke1BZVEhPTl9QTn0tbmF0aXZlLyR7UFlUSE9OX1BOfSBzZXR1cC5weSBpbnN0YWxsICR7RElTVFVUSUxTX1NUQUdFX0FMTF9BUkdTfSB8fCBcCi0gICAgICAgIGJiZmF0YWxfbG9nICIke1BZVEhPTl9QTn0gc2V0dXAucHkgaW5zdGFsbCAoc3RhZ2UpIGV4ZWN1dGlvbiBmYWlsZWQuIgotfQotCi1kaXN0dXRpbHNfZG9faW5zdGFsbCgpIHsKLSAgICAgICAgZWNobyAiQmVnaW5uaW5nICR7UE59IEluc3RhbGwgLi4uIgotICAgICAgICBpbnN0YWxsIC1kICR7RH0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfQotICAgICAgICBlY2hvICJTdGVwIDIgb2YgJHtQTn0gSW5zdGFsbCAuLi4iCi0gICAgICAgIFNUQUdJTkdfSU5DRElSPSR7U1RBR0lOR19JTkNESVJ9IFwKLSAgICAgICAgU1RBR0lOR19MSUJESVI9JHtTVEFHSU5HX0xJQkRJUn0gXAotICAgICAgICBQWVRIT05QQVRIPSR7RH0vJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0gXAotICAgICAgICAke1NUQUdJTkdfQklORElSX05BVElWRX0vJHtQWVRIT05fUE59LW5hdGl2ZS8ke1BZVEhPTl9QTn0gc2V0dXAucHkgaW5zdGFsbCAtLWluc3RhbGwtbGliPSR7RH0vJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0gJHtESVNUVVRJTFNfSU5TVEFMTF9BUkdTfSB8fCBcCi0gICAgICAgIGJiZmF0YWxfbG9nICIke1BZVEhPTl9QTn0gc2V0dXAucHkgaW5zdGFsbCBleGVjdXRpb24gZmFpbGVkLiIKLQotICAgICAgICBlY2hvICJTdGVwIDMgb2YgJHtQTn0gSW5zdGFsbCAuLi4iCi0gICAgICAgICMgc3VwcG9ydCBmaWxlbmFtZXMgd2l0aCAqc3BhY2VzKgotICAgICAgICBmaW5kICR7RH0gLW5hbWUgIioucHkiIC1wcmludDAgfCB3aGlsZSByZWFkIC1kICQnXDAnIGkgOyBkbyBcCi0gICAgICAgICAgICBzZWQgLWkgLWUgczoke0R9OjpnICRpCi0gICAgICAgIGRvbmUKLQotICAgICAgICBlY2hvICJTdGVwIDQgb2YgJHtQTn0gSW5zdGFsbCAuLi4iCi0gICAgICAgIGlmIHRlc3QgLWUgJHtEfSR7YmluZGlyfSA7IHRoZW4JCi0gICAgICAgICAgICBmb3IgaSBpbiAke0R9JHtiaW5kaXJ9LyogOyBkbyBcCi0gICAgICAgICAgICAgICAgc2VkIC1pIC1lIHM6JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9OiR7YmluZGlyfTpnICRpCi0gICAgICAgICAgICBkb25lCi0gICAgICAgIGZpCi0KLSAgICAgICAgZWNobyAiU3RlcCA0IG9mICR7UE59IEluc3RhbGwgLi4uIgotICAgICAgICBpZiB0ZXN0IC1lICR7RH0ke3NiaW5kaXJ9OyB0aGVuCi0gICAgICAgICAgICBmb3IgaSBpbiAke0R9JHtzYmluZGlyfS8qIDsgZG8gXAotICAgICAgICAgICAgICAgIHNlZCAtaSAtZSBzOiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfToke2JpbmRpcn06ZyAkaQotICAgICAgICAgICAgZG9uZQotICAgICAgICBmaQotCi0gICAgICAgIGVjaG8gIlN0ZXAgNSBvZiAke1BOfSBJbnN0YWxsIC4uLiIKLSAgICAgICAgcm0gLWYgJHtEfSR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9L2Vhc3ktaW5zdGFsbC5wdGgKLSAgICAgICAgCi0gICAgICAgICMKLSAgICAgICAgIyBGSVhNRTogQmFuZGFpZCBhZ2FpbnN0IHdyb25nIGRhdGFkaXIgY29tcHV0YXRpb24KLSAgICAgICAgIwotICAgICAgICBpZiBbIC1lICR7RH0ke2RhdGFkaXJ9L3NoYXJlIF07IHRoZW4KLSAgICAgICAgICAgIG12IC1mICR7RH0ke2RhdGFkaXJ9L3NoYXJlLyogJHtEfSR7ZGF0YWRpcn0vCi0gICAgICAgIGZpCi19Ci0KLSNFWFBPUlRfRlVOQ1RJT05TIGRvX2NvbXBpbGUgZG9faW5zdGFsbAotCi1leHBvcnQgTERTSEFSRUQ9IiR7Q0NMRH0gLXNoYXJlZCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2V4dHJhdXNlcnMuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2V4dHJhdXNlcnMuYmJjbGFzcwppbmRleCA3NzA5NDA3Li4zMjU2OWU5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9leHRyYXVzZXJzLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvZXh0cmF1c2Vycy5iYmNsYXNzCkBAIC0xLDE4ICsxLDE3IEBACi0jIFRoaXMgYmJjbGFzcyBpcyBtYWlubHkgdXNlZCBmb3IgaW1hZ2UgbGV2ZWwgdXNlci9ncm91cCBjb25maWd1cmF0aW9uLgorIyBUaGlzIGJiY2xhc3MgaXMgdXNlZCBmb3IgaW1hZ2UgbGV2ZWwgdXNlci9ncm91cCBjb25maWd1cmF0aW9uLgogIyBJbmhlcml0IHRoaXMgY2xhc3MgaWYgeW91IHdhbnQgdG8gbWFrZSBFWFRSQV9VU0VSU19QQVJBTVMgZWZmZWN0aXZlLgogCiAjIEJlbG93IGlzIGFuIGV4YW1wbGUgc2hvd2luZyBob3cgdG8gdXNlIHRoaXMgZnVuY3Rpb25hbGl0eS4KLSMgSU5IRVJJVCArPSAiZXh0cmF1c2VycyIKKyMgSU1BR0VfQ0xBU1NFUyArPSAiZXh0cmF1c2VycyIKICMgRVhUUkFfVVNFUlNfUEFSQU1TID0gIlwKLSMgdXNlcmFkZCAtcCAnJyB0ZXN0ZXI7IFwKLSMgZ3JvdXBhZGQgZGV2ZWxvcGVyczsgXAotIyB1c2VyZGVsIG5vYm9keTsgXAotIyBncm91cGRlbCAtZyB2aWRlbzsgXAotIyBncm91cG1vZCAtZyAxMDIwIGRldmVsb3BlcnM7IFwKLSMgdXNlcm1vZCAtcyAvYmluL3NoIHRlc3RlcjsgXAorIyAgICAgdXNlcmFkZCAtcCAnJyB0ZXN0ZXI7IFwKKyMgICAgIGdyb3VwYWRkIGRldmVsb3BlcnM7IFwKKyMgICAgIHVzZXJkZWwgbm9ib2R5OyBcCisjICAgICBncm91cGRlbCAtZyB2aWRlbzsgXAorIyAgICAgZ3JvdXBtb2QgLWcgMTAyMCBkZXZlbG9wZXJzOyBcCisjICAgICB1c2VybW9kIC1zIC9iaW4vc2ggdGVzdGVyOyBcCiAjICIKIAotCiBpbmhlcml0IHVzZXJhZGRfYmFzZQogCiBQQUNLQUdFX0lOU1RBTExfYXBwZW5kID0gIiAke0BbJycsICdiYXNlLXBhc3N3ZCBzaGFkb3cnXVtib29sKGQuZ2V0VmFyKCdFWFRSQV9VU0VSU19QQVJBTVMnKSldfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2ZvbnRjYWNoZS5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvZm9udGNhY2hlLmJiY2xhc3MKaW5kZXggZjcxYTc1NC4uMTNmOWRmMSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvZm9udGNhY2hlLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvZm9udGNhY2hlLmJiY2xhc3MKQEAgLTIwLDYgKzIwLDcgQEAKIAkkSU5URVJDRVBUX0RJUi9wb3N0aW5zdF9pbnRlcmNlcHQgdXBkYXRlX2ZvbnRfY2FjaGUgJHtQS0d9IG1scHJlZml4PSR7TUxQUkVGSVh9IGJpbnByZWZpeD0ke01MUFJFRklYfSBcCiAJCSdiaW5kaXI9IiR7YmluZGlyfSInIFwKIAkJJ2xpYmRpcj0iJHtsaWJkaXJ9IicgXAorICAgICAgICAgICAgICAgICdsaWJleGVjZGlyPSIke2xpYmV4ZWNkaXJ9IicgXAogCQknYmFzZV9saWJkaXI9IiR7YmFzZV9saWJkaXJ9IicgXAogCQknZm9udGNvbmZpZ2NhY2hlZGlyPSIke0ZPTlRDT05GSUdfQ0FDSEVfRElSfSInIFwKIAkJJ2ZvbnRjb25maWdjYWNoZXBhcmFtcz0iJHtGT05UQ09ORklHX0NBQ0hFX1BBUkFNU30iJyBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9nY29uZi5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvZ2NvbmYuYmJjbGFzcwppbmRleCA0ZTBlZTJlLi4zZTNjNTA5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9nY29uZi5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2djb25mLmJiY2xhc3MKQEAgLTQ5LDcgKzQ5LDcgQEAKICAgICBmb3IgcGtnIGluIHBhY2thZ2VzOgogICAgICAgICBzY2hlbWFfZGlyID0gJyVzLyVzL2V0Yy9nY29uZi9zY2hlbWFzJyAlIChwa2dkZXN0LCBwa2cpCiAgICAgICAgIHNjaGVtYXMgPSBbXQotICAgICAgICBzY2hlbWFfcmUgPSByZS5jb21waWxlKCIuKlwuc2NoZW1hcyQiKQorICAgICAgICBzY2hlbWFfcmUgPSByZS5jb21waWxlKHIiLipcLnNjaGVtYXMkIikKICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoc2NoZW1hX2Rpcik6CiAgICAgICAgICAgICBmb3IgZiBpbiBvcy5saXN0ZGlyKHNjaGVtYV9kaXIpOgogICAgICAgICAgICAgICAgIGlmIHNjaGVtYV9yZS5tYXRjaChmKToKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2dvLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9nby5iYmNsYXNzCmluZGV4IGFmMzMxZjguLjcwNjljNWYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2dvLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvZ28uYmJjbGFzcwpAQCAtNDUsNyArNDUsNiBAQAogCiBCID0gIiR7V09SS0RJUn0vYnVpbGQiCiBleHBvcnQgR09QQVRIID0gIiR7Qn0iCi1leHBvcnQgR09DQUNIRSA9ICJvZmYiCiBleHBvcnQgR09UTVBESVIgPz0gIiR7V09SS0RJUn0vZ28tdG1wIgogR09UTVBESVJbdmFyZGVwdmFsdWVdID0gIiIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvZ29hcmNoLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9nb2FyY2guYmJjbGFzcwppbmRleCBiMmM5NGZhLi43YWFmMjZhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9nb2FyY2guYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9nb2FyY2guYmJjbGFzcwpAQCAtNDIsNiArNDIsMTAgQEAKIFNFQ1VSSVRZX0NGTEFHU19taXBzYXJjaCA9ICIke1NFQ1VSSVRZX05PUElFX0NGTEFHU30iCiBTRUNVUklUWV9OT1BJRV9DRkxBR1MgPz89ICIiCiAKKyMgZ28gY2FuJ3QgYmUgYnVpbHQgd2l0aCBjY2FjaGU6CisjIGdjYzogZmF0YWwgZXJyb3I6IG5vIGlucHV0IGZpbGVzCitDQ0FDSEVfRElTQUJMRSA/PSAiMSIKKwogZGVmIGdvX21hcF9hcmNoKGEsIGQpOgogICAgIGltcG9ydCByZQogICAgIGlmIHJlLm1hdGNoKCdpLjg2JywgYSk6CkBAIC02NCw2ICs2OCw4IEBACiAgICAgICAgIHJldHVybiAncHBjNjQnCiAgICAgZWxpZiByZS5tYXRjaCgncChwY3xvd2VycGMpKDY0ZWwpJywgYSk6CiAgICAgICAgIHJldHVybiAncHBjNjRsZScKKyAgICBlbGlmIGEgPT0gJ3Jpc2N2NjQnOgorICAgICAgICByZXR1cm4gJ3Jpc2N2NjQnCiAgICAgZWxzZToKICAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFJlY2lwZSgiVW5zdXBwb3J0ZWQgQ1BVIGFyY2hpdGVjdHVyZTogJXMiICUgYSkKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvZ29iamVjdC1pbnRyb3NwZWN0aW9uLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9nb2JqZWN0LWludHJvc3BlY3Rpb24uYmJjbGFzcwppbmRleCBhMzIzYzFmLi40Y2ViMGM2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9nb2JqZWN0LWludHJvc3BlY3Rpb24uYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9nb2JqZWN0LWludHJvc3BlY3Rpb24uYmJjbGFzcwpAQCAtMjUsNyArMjUsNyBAQAogREVQRU5EU19hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiBnb2JqZWN0LWludHJvc3BlY3Rpb24tbmF0aXZlIgogCiAjIFRoaXMgaXMgdXNlZCBieSBpbnRyb3NwZWN0aW9uIHRvb2xzIHRvIGZpbmQgLmdpciBpbmNsdWRlcwotZXhwb3J0IFhER19EQVRBX0RJUlMgPSAiJHtTVEFHSU5HX0RBVEFESVJ9IgorZXhwb3J0IFhER19EQVRBX0RJUlMgPSAiJHtTVEFHSU5HX0RBVEFESVJ9OiR7U1RBR0lOR19MSUJESVJ9IgogCiBkb19jb25maWd1cmVfcHJlcGVuZF9jbGFzcy10YXJnZXQgKCkgewogICAgICMgaW50cm9zcGVjdGlvbi5tNCBwcmUtcGFja2FnZWQgd2l0aCB1cHN0cmVhbSB0YXJiYWxscyBkb2VzIG5vdCB5ZXQKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2dzZXR0aW5ncy5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvZ3NldHRpbmdzLmJiY2xhc3MKaW5kZXggZWFlM2RjNy4uMzNhZmM5NiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvZ3NldHRpbmdzLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvZ3NldHRpbmdzLmJiY2xhc3MKQEAgLTcsMzIgKzcsMzYgQEAKIAogIyBUT0RPIHVzZSBhIHRyaWdnZXIgc28gdGhhdCB0aGlzIHJ1bnMgb25jZSBwZXIgcGFja2FnZSBvcGVyYXRpb24gcnVuCiAKK0dTRVRUSU5HU19QQUNLQUdFID89ICIke1BOfSIKIAotUkRFUEVORFNfJHtQTn0gKz0gImdsaWItMi4wLXV0aWxzIgotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9nbGliLTIuMC9zY2hlbWFzIgotCi1QQUNLQUdFX1dSSVRFX0RFUFMgKz0gImdsaWItMi4wLW5hdGl2ZSIKK3B5dGhvbiBfX2Fub255bW91cygpIHsKKyAgICBwa2cgPSBkLmdldFZhcigiR1NFVFRJTkdTX1BBQ0tBR0UiKQorICAgIGlmIHBrZzoKKyAgICAgICAgZC5hcHBlbmRWYXIoIlBBQ0tBR0VfV1JJVEVfREVQUyIsICIgZ2xpYi0yLjAtbmF0aXZlIikKKyAgICAgICAgZC5hcHBlbmRWYXIoIlJERVBFTkRTXyIgKyBwa2csICIgJHtNTFBSRUZJWH1nbGliLTIuMC11dGlscyIpCisgICAgICAgIGQuYXBwZW5kVmFyKCJGSUxFU18iICsgcGtnLCAiICR7ZGF0YWRpcn0vZ2xpYi0yLjAvc2NoZW1hcyIpCit9CiAKIGdzZXR0aW5nc19wb3N0aW5zdHJtICgpIHsKIAlnbGliLWNvbXBpbGUtc2NoZW1hcyAkRCR7ZGF0YWRpcn0vZ2xpYi0yLjAvc2NoZW1hcwogfQogCiBweXRob24gcG9wdWxhdGVfcGFja2FnZXNfYXBwZW5kICgpIHsKLSAgICBwa2cgPSBkLmdldFZhcignUE4nKQotICAgIGJiLm5vdGUoImFkZGluZyBnc2V0dGluZ3MgcG9zdGluc3Qgc2NyaXB0cyB0byAlcyIgJSBwa2cpCisgICAgcGtnID0gZC5nZXRWYXIoJ0dTRVRUSU5HU19QQUNLQUdFJykKKyAgICBpZiBwa2c6CisgICAgICAgIGJiLm5vdGUoImFkZGluZyBnc2V0dGluZ3MgcG9zdGluc3Qgc2NyaXB0cyB0byAlcyIgJSBwa2cpCiAKLSAgICBwb3N0aW5zdCA9IGQuZ2V0VmFyKCdwa2dfcG9zdGluc3RfJXMnICUgcGtnKSBvciBkLmdldFZhcigncGtnX3Bvc3RpbnN0JykKLSAgICBpZiBub3QgcG9zdGluc3Q6Ci0gICAgICAgIHBvc3RpbnN0ID0gJyMhL2Jpbi9zaFxuJwotICAgIHBvc3RpbnN0ICs9IGQuZ2V0VmFyKCdnc2V0dGluZ3NfcG9zdGluc3RybScpCi0gICAgZC5zZXRWYXIoJ3BrZ19wb3N0aW5zdF8lcycgJSBwa2csIHBvc3RpbnN0KQorICAgICAgICBwb3N0aW5zdCA9IGQuZ2V0VmFyKCdwa2dfcG9zdGluc3RfJXMnICUgcGtnKSBvciBkLmdldFZhcigncGtnX3Bvc3RpbnN0JykKKyAgICAgICAgaWYgbm90IHBvc3RpbnN0OgorICAgICAgICAgICAgcG9zdGluc3QgPSAnIyEvYmluL3NoXG4nCisgICAgICAgIHBvc3RpbnN0ICs9IGQuZ2V0VmFyKCdnc2V0dGluZ3NfcG9zdGluc3RybScpCisgICAgICAgIGQuc2V0VmFyKCdwa2dfcG9zdGluc3RfJXMnICUgcGtnLCBwb3N0aW5zdCkKIAotICAgIGJiLm5vdGUoImFkZGluZyBnc2V0dGluZ3MgcG9zdHJtIHNjcmlwdHMgdG8gJXMiICUgcGtnKQorICAgICAgICBiYi5ub3RlKCJhZGRpbmcgZ3NldHRpbmdzIHBvc3RybSBzY3JpcHRzIHRvICVzIiAlIHBrZykKIAotICAgIHBvc3RybSA9IGQuZ2V0VmFyKCdwa2dfcG9zdHJtXyVzJyAlIHBrZykgb3IgZC5nZXRWYXIoJ3BrZ19wb3N0cm0nKQotICAgIGlmIG5vdCBwb3N0cm06Ci0gICAgICAgIHBvc3RybSA9ICcjIS9iaW4vc2hcbicKLSAgICBwb3N0cm0gKz0gZC5nZXRWYXIoJ2dzZXR0aW5nc19wb3N0aW5zdHJtJykKLSAgICBkLnNldFZhcigncGtnX3Bvc3RybV8lcycgJSBwa2csIHBvc3RybSkKKyAgICAgICAgcG9zdHJtID0gZC5nZXRWYXIoJ3BrZ19wb3N0cm1fJXMnICUgcGtnKSBvciBkLmdldFZhcigncGtnX3Bvc3RybScpCisgICAgICAgIGlmIG5vdCBwb3N0cm06CisgICAgICAgICAgICBwb3N0cm0gPSAnIyEvYmluL3NoXG4nCisgICAgICAgIHBvc3RybSArPSBkLmdldFZhcignZ3NldHRpbmdzX3Bvc3RpbnN0cm0nKQorICAgICAgICBkLnNldFZhcigncGtnX3Bvc3RybV8lcycgJSBwa2csIHBvc3RybSkKIH0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2d0ay1kb2MuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2d0ay1kb2MuYmJjbGFzcwppbmRleCBiNGY2NzU0Li43MDdkNzRkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9ndGstZG9jLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvZ3RrLWRvYy5iYmNsYXNzCkBAIC00MSw3ICs0MSw3IEBACiAgICAgaWYgWyAke0dUS0RPQ19FTkFCTEVEfSA9IFRydWUgXTsgdGhlbgogICAgICAgICAjIFdyaXRlIG91dCBhIHFlbXUgd3JhcHBlciB0aGF0IHdpbGwgYmUgZ2l2ZW4gdG8gZ3RrZG9jLXNjYW5nb2JqIHNvIHRoYXQgaXQKICAgICAgICAgIyBjYW4gcnVuIHRhcmdldCBoZWxwZXIgYmluYXJpZXMgdGhyb3VnaCB0aGF0LgotICAgICAgICBxZW11X2JpbmFyeT0iJHtAcWVtdV93cmFwcGVyX2NtZGxpbmUoZCwgJyRTVEFHSU5HX0RJUl9IT1NUJywgWydcJEdJUl9FWFRSQV9MSUJTX1BBVEgnLCckU1RBR0lOR19ESVJfSE9TVC8ke2xpYmRpcn0nLCckU1RBR0lOR19ESVJfSE9TVC8ke2Jhc2VfbGliZGlyfSddKX0iCisgICAgICAgIHFlbXVfYmluYXJ5PSIke0BxZW11X3dyYXBwZXJfY21kbGluZShkLCAnJFNUQUdJTkdfRElSX0hPU1QnLCBbJ1xcJEdJUl9FWFRSQV9MSUJTX1BBVEgnLCckU1RBR0lOR19ESVJfSE9TVC8ke2xpYmRpcn0nLCckU1RBR0lOR19ESVJfSE9TVC8ke2Jhc2VfbGliZGlyfSddKX0iCiAgICAgICAgIGNhdCA+ICR7Qn0vZ3RrZG9jLXFlbXV3cmFwcGVyIDw8IEVPRgogIyEvYmluL3NoCiAjIFVzZSBhIG1vZHVsZXMgZGlyZWN0b3J5IHdoaWNoIGRvZXNuJ3QgZXhpc3Qgc28gd2UgZG9uJ3QgbG9hZCByYW5kb20gdGhpbmdzCkBAIC01MSw2ICs1MSw5IEBACiBHSVJfRVhUUkFfTElCU19QQVRIPVxgZmluZCAke0J9IC1uYW1lICouc28gLXByaW50ZiAiJWhcbiJ8c29ydHx1bmlxfCB0ciAnXG4nICc6J1xgXCRHSVJfRVhUUkFfTElCU19QQVRICiBHSVJfRVhUUkFfTElCU19QQVRIPVxgZmluZCAke0J9IC1uYW1lIC5saWJzfCB0ciAnXG4nICc6J1xgXCRHSVJfRVhUUkFfTElCU19QQVRICiAKKyMgbWVzb24gc2V0cyB0aGlzIHdyb25nbHkgKG9ubHkgdG8gbGlicyBpbiBidWlsZC1kaXIpLCBxZW11LXdyYXBwZXJfY21kbGluZSgpIGFuZCBHSVJfRVhUUkFfTElCU19QQVRIIHRha2UgY2FyZSBvZiBpdCBwcm9wZXJseQordW5zZXQgTERfTElCUkFSWV9QQVRICisKIGlmIFsgLWQgIi5saWJzIiBdOyB0aGVuCiAgICAgJHFlbXVfYmluYXJ5ICIubGlicy9cJEAiCiBlbHNlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9pY2VjYy5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvaWNlY2MuYmJjbGFzcwppbmRleCA3ZDk0NTI1Li42ZDAwM2RjIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9pY2VjYy5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2ljZWNjLmJiY2xhc3MKQEAgLTM0LDYgKzM0LDcgQEAKICAgICBJQ0VDQ19ERUJVRyBJQ0VDQ19MT0dGSUxFIElDRUNDX1JFUEVBVF9SQVRFIElDRUNDX1BSRUZFUlJFRF9IT1NUIFwKICAgICBJQ0VDQ19DTEFOR19SRU1PVEVfQ1BQIElDRUNDX0lHTk9SRV9VTlZFUklGSUVEIElDRUNDX1RFU1RfU09DS0VUIFwKICAgICBJQ0VDQ19FTlZfREVCVUcgSUNFQ0NfU1lTVEVNX1BBQ0tBR0VfQkwgSUNFQ0NfU1lTVEVNX0NMQVNTX0JMIFwKKyAgICBJQ0VDQ19SRU1PVEVfQ1BQIFwKICAgICAiCiAKIElDRUNDX0VOVl9FWEVDID89ICIke1NUQUdJTkdfQklORElSX05BVElWRX0vaWNlY2MtY3JlYXRlLWVudiIKQEAgLTU2LDYgKzU3LDggQEAKICMgU2VlOiBodHRwczovL2dpdGh1Yi5jb20vaWNlY2MvaWNlY3JlYW0vaXNzdWVzLzE5MAogZXhwb3J0IElDRUNDX0NBUkVUX1dPUktBUk9VTkQgPz89ICIwIgogCitleHBvcnQgSUNFQ0NfUkVNT1RFX0NQUCA/Pz0gIjEiCisKIElDRUNDX0NGTEFHUyA9ICIiCiBDRkxBR1MgKz0gIiR7SUNFQ0NfQ0ZMQUdTfSIKIENYWEZMQUdTICs9ICIke0lDRUNDX0NGTEFHU30iCkBAIC0xMzAsNiArMTMzLDEzIEBACiAgICAgICAgIHJldHVybiAibm8iCiAKICAgICBwbiA9IGQuZ2V0VmFyKCdQTicpCisgICAgYnBuID0gZC5nZXRWYXIoJ0JQTicpCisKKyAgICAjIEJsYWNrbGlzdC93aGl0ZWxpc3QgY2hlY2tzIGFyZSBtYWRlIGFnYWluc3QgQlBOLCBiZWNhdXNlIHRoZXJlIGlzIGEgZ29vZAorICAgICMgY2hhbmNlIHRoYXQgaWYgaWNlY2Mgc2hvdWxkIGJlIHNraXBwZWQgZm9yIGEgcmVjaXBlLCBpdCBzaG91bGQgYmUgc2tpcHBlZAorICAgICMgZm9yIGFsbCB0aGUgdmFyaWFudHMgb2YgdGhhdCByZWNpcGUuIFBOIGlzIHN0aWxsIGNoZWNrZWQgaW4gY2FzZSBhIHVzZXIKKyAgICAjIHNwZWNpZmllZCBhIG1vcmUgc3BlY2lmaWMgcmVjaXBlLgorICAgIGNoZWNrX3BuID0gc2V0KFtwbiwgYnBuXSkKIAogICAgIHN5c3RlbV9jbGFzc19ibGFja2xpc3QgPSAoZC5nZXRWYXIoJ0lDRUNDX1NZU1RFTV9DTEFTU19CTCcpIG9yICIiKS5zcGxpdCgpCiAgICAgdXNlcl9jbGFzc19ibGFja2xpc3QgPSAoZC5nZXRWYXIoJ0lDRUNDX1VTRVJfQ0xBU1NfQkwnKSBvciAibm9uZSIpLnNwbGl0KCkKQEAgLTE0NSwxMSArMTU1LDExIEBACiAgICAgdXNlcl9wYWNrYWdlX3doaXRlbGlzdCA9IChkLmdldFZhcignSUNFQ0NfVVNFUl9QQUNLQUdFX1dMJykgb3IgIiIpLnNwbGl0KCkKICAgICBwYWNrYWdlX2JsYWNrbGlzdCA9IHN5c3RlbV9wYWNrYWdlX2JsYWNrbGlzdCArIHVzZXJfcGFja2FnZV9ibGFja2xpc3QKIAotICAgIGlmIHBuIGluIHBhY2thZ2VfYmxhY2tsaXN0OgorICAgIGlmIGNoZWNrX3BuICYgc2V0KHBhY2thZ2VfYmxhY2tsaXN0KToKICAgICAgICAgYmIuZGVidWcoMSwgIiVzOiBmb3VuZCBpbiBibGFja2xpc3QsIGRpc2FibGUgaWNlY2MiICUgcG4pCiAgICAgICAgIHJldHVybiAibm8iCiAKLSAgICBpZiBwbiBpbiB1c2VyX3BhY2thZ2Vfd2hpdGVsaXN0OgorICAgIGlmIGNoZWNrX3BuICYgc2V0KHVzZXJfcGFja2FnZV93aGl0ZWxpc3QpOgogICAgICAgICBiYi5kZWJ1ZygxLCAiJXM6IGZvdW5kIGluIHdoaXRlbGlzdCwgZW5hYmxlIGljZWNjIiAlIHBuKQogICAgICAgICByZXR1cm4gInllcyIKIApAQCAtMzc5LDcgKzM4OSw3IEBACiAgICAgICAgICAgICAke0lDRUNDX0VOVl9FWEVDfSAke0lDRUNDX0VOVl9ERUJVR30gIiR7SUNFQ0NfQ0N9IiAiJHtJQ0VDQ19DWFh9IiAiJHtJQ0VDQ19BU30iICIke0lDRUNDX1ZFUlNJT059IgogICAgICAgICB0aGVuCiAgICAgICAgICAgICB0b3VjaCAiJHtJQ0VDQ19WRVJTSU9OfS5kb25lIgotICAgICAgICBlbGlmICEgd2FpdF9mb3JfZmlsZSAiJHtJQ0VDQ19WRVJTSU9OfS5kb25lIiAzMCAKKyAgICAgICAgZWxpZiAhIHdhaXRfZm9yX2ZpbGUgIiR7SUNFQ0NfVkVSU0lPTn0uZG9uZSIgMzAKICAgICAgICAgdGhlbgogICAgICAgICAgICAgIyBsb2NraW5nIGZhaWxlZCBzbyB3YWl0IGZvciAke0lDRUNDX1ZFUlNJT059LmRvbmUgdG8gYXBwZWFyCiAgICAgICAgICAgICBiYndhcm4gIlRpbWVvdXQgd2FpdGluZyBmb3IgJHtJQ0VDQ19WRVJTSU9OfS5kb25lIgpAQCAtMzk1LDcgKzQwNSw4IEBACiAgICAgZXhwb3J0IElDRUNDX1ZFUlNJT04gSUNFQ0NfQ0MgSUNFQ0NfQ1hYCiAgICAgZXhwb3J0IFBBVEg9IiRJQ0VfUEFUSDokUEFUSCIKIAotICAgIGJibm90ZSAiVXNpbmcgaWNlY2MiCisgICAgYmJub3RlICJVc2luZyBpY2VjYyBwYXRoOiAkSUNFX1BBVEgiCisgICAgYmJub3RlICJVc2luZyBpY2VjYyB0YXJiYWxsOiAkSUNFQ0NfVkVSU0lPTiIKIH0KIAogZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9pbWFnZS1idWlsZGluZm8uYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2ltYWdlLWJ1aWxkaW5mby5iYmNsYXNzCmluZGV4IDg3YTZhMWEuLjk0YzU4NWQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2ltYWdlLWJ1aWxkaW5mby5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2ltYWdlLWJ1aWxkaW5mby5iYmNsYXNzCkBAIC0xNiw5ICsxNiw4IEBACiBJTUFHRV9CVUlMRElORk9fRklMRSA/Pz0gIiR7c3lzY29uZmRpcn0vYnVpbGQiCiAKICMgRnJvbSBidWlsZGhpc3RvcnkuYmJjbGFzcwotZGVmIGltYWdlX2J1aWxkaW5mb19vdXRwdXR2YXJzKHZhcnMsIGxpc3R2YXJzLCBkKTogCitkZWYgaW1hZ2VfYnVpbGRpbmZvX291dHB1dHZhcnModmFycywgZCk6CiAgICAgdmFycyA9IHZhcnMuc3BsaXQoKQotICAgIGxpc3R2YXJzID0gbGlzdHZhcnMuc3BsaXQoKQogICAgIHJldCA9ICIiCiAgICAgZm9yIHZhciBpbiB2YXJzOgogICAgICAgICB2YWx1ZSA9IGQuZ2V0VmFyKHZhcikgb3IgIiIKQEAgLTU5LDggKzU4LDcgQEAKICAgICAgICAgICAgICAgICByZXR1cm4gIiIKICAgICAgICAgIyBTaW5nbGUgYW5kIGxpc3QgdmFyaWFibGVzIHRvIGJlIHJlYWQKICAgICAgICAgdmFycyA9IChkLmdldFZhcigiSU1BR0VfQlVJTERJTkZPX1ZBUlMiKSBvciAiIikKLSAgICAgICAgbGlzdHZhcnMgPSAoZC5nZXRWYXIoIklNQUdFX0JVSUxESU5GT19MVkFSUyIpIG9yICIiKQotICAgICAgICByZXR1cm4gaW1hZ2VfYnVpbGRpbmZvX291dHB1dHZhcnModmFycywgbGlzdHZhcnMsIGQpCisgICAgICAgIHJldHVybiBpbWFnZV9idWlsZGluZm9fb3V0cHV0dmFycyh2YXJzLCBkKQogCiAjIFdyaXRlIGJ1aWxkIGluZm9ybWF0aW9uIHRvIHRhcmdldCBmaWxlc3lzdGVtCiBweXRob24gYnVpbGRpbmZvICgpIHsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2ltYWdlLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9pbWFnZS5iYmNsYXNzCmluZGV4IDJmZjU3NGIuLjI3NmQwZDMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2ltYWdlLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvaW1hZ2UuYmJjbGFzcwpAQCAtMjQsNyArMjQsNyBAQAogTElDRU5TRSA/PSAiTUlUIgogUEFDS0FHRVMgPSAiIgogREVQRU5EUyArPSAiJHtAJyAnLmpvaW4oWyIlcy1xZW11d3JhcHBlci1jcm9zcyIgJSBtIGZvciBtIGluIGQuZ2V0VmFyKCJNVUxUSUxJQl9WQVJJQU5UUyIpLnNwbGl0KCldKX0gcWVtdXdyYXBwZXItY3Jvc3MgZGVwbW9kd3JhcHBlci1jcm9zcyBjcm9zcy1sb2NhbGVkZWYtbmF0aXZlIgotUkRFUEVORFMgKz0gIiR7UEFDS0FHRV9JTlNUQUxMfSAke0xJTkdVQVNfSU5TVEFMTH0iCitSREVQRU5EUyArPSAiJHtQQUNLQUdFX0lOU1RBTEx9ICR7TElOR1VBU19JTlNUQUxMfSAke0lNQUdFX0lOU1RBTExfREVCVUdGU30iCiBSUkVDT01NRU5EUyArPSAiJHtQQUNLQUdFX0lOU1RBTExfQVRURU1QVE9OTFl9IgogUEFUSF9wcmVwZW5kID0gIiR7QCI6Ii5qb2luKGFsbF9tdWx0aWxpYl90dW5lX3ZhbHVlcyhkLCAnU1RBR0lOR19CSU5ESVJfQ1JPU1MnKS5zcGxpdCgpKX06IgogCkBAIC01MDAsNyArNTAwLDcgQEAKICAgICAgICAgZC5wcmVwZW5kVmFyRmxhZyh0YXNrLCAncG9zdGZ1bmNzJywgJ2NyZWF0ZV9zeW1saW5rcyAnKQogICAgICAgICBkLmFwcGVuZFZhckZsYWcodGFzaywgJ3N1YmltYWdlcycsICcgJyArICcgJy5qb2luKHN1YmltYWdlcykpCiAgICAgICAgIGQuYXBwZW5kVmFyRmxhZyh0YXNrLCAndmFyZGVwcycsICcgJyArICcgJy5qb2luKHZhcmRlcHMpKQotICAgICAgICBkLmFwcGVuZFZhckZsYWcodGFzaywgJ3ZhcmRlcHNleGNsdWRlJywgJ0RBVEVUSU1FIERBVEUgJyArICcgJy5qb2luKHZhcmRlcHNleGNsdWRlKSkKKyAgICAgICAgZC5hcHBlbmRWYXJGbGFnKHRhc2ssICd2YXJkZXBzZXhjbHVkZScsICcgREFURVRJTUUgREFURSAnICsgJyAnLmpvaW4odmFyZGVwc2V4Y2x1ZGUpKQogCiAgICAgICAgIGJiLmRlYnVnKDIsICJBZGRpbmcgdGFzayAlcyBiZWZvcmUgJXMsIGFmdGVyICVzIiAlICh0YXNrLCAnZG9faW1hZ2VfY29tcGxldGUnLCBhZnRlcikpCiAgICAgICAgIGJiLmJ1aWxkLmFkZHRhc2sodGFzaywgJ2RvX2ltYWdlX2NvbXBsZXRlJywgYWZ0ZXIsIGQpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9pbWFnZV90eXBlcy5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvaW1hZ2VfdHlwZXMuYmJjbGFzcwppbmRleCAwYTY5NTQyLi5mMzYzYzQyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9pbWFnZV90eXBlcy5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2ltYWdlX3R5cGVzLmJiY2xhc3MKQEAgLTU2LDcgKzU2LDYgQEAKIAogWFpfQ09NUFJFU1NJT05fTEVWRUwgPz0gIi0zIgogWFpfSU5URUdSSVRZX0NIRUNLID89ICJjcmMzMiIKLVhaX1RIUkVBRFMgPz0gIi1UIDAiCiAKIFpJUF9DT01QUkVTU0lPTl9MRVZFTCA/PSAiLTkiCiAKQEAgLTI4MCwxMSArMjc5LDExIEBACiAjIENPTlZFUlNJT05fQ01EL0RFUEVORFMuCiBDT01QUkVTU0lPTlRZUEVTID89ICIiCiAKLUNPTlZFUlNJT05UWVBFUyA9ICJneiBiejIgbHptYSB4eiBsejQgbHpvIHppcCBzdW0gbWQ1c3VtIHNoYTFzdW0gc2hhMjI0c3VtIHNoYTI1NnN1bSBzaGEzODRzdW0gc2hhNTEyc3VtIGJtYXAgdS1ib290IHZtZGsgdmRpIHFjb3cyICR7Q09NUFJFU1NJT05UWVBFU30iCitDT05WRVJTSU9OVFlQRVMgPSAiZ3ogYnoyIGx6bWEgeHogbHo0IGx6byB6aXAgc3VtIG1kNXN1bSBzaGExc3VtIHNoYTIyNHN1bSBzaGEyNTZzdW0gc2hhMzg0c3VtIHNoYTUxMnN1bSBibWFwIHUtYm9vdCB2bWRrIHZkaSBxY293MiBiYXNlNjQgJHtDT01QUkVTU0lPTlRZUEVTfSIKIENPTlZFUlNJT05fQ01EX2x6bWEgPSAibHptYSAtayAtZiAtNyAke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1FX1NVRkZJWH0uJHt0eXBlfSIKIENPTlZFUlNJT05fQ01EX2d6ID0gInBpZ3ogLWYgLTkgLW4gLWMgJHtJTUFHRV9OQU1FfSR7SU1BR0VfTkFNRV9TVUZGSVh9LiR7dHlwZX0gPiAke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1FX1NVRkZJWH0uJHt0eXBlfS5neiIKIENPTlZFUlNJT05fQ01EX2J6MiA9ICJwYnppcDIgLWYgLWsgJHtJTUFHRV9OQU1FfSR7SU1BR0VfTkFNRV9TVUZGSVh9LiR7dHlwZX0iCi1DT05WRVJTSU9OX0NNRF94eiA9ICJ4eiAtZiAtayAtYyAke1haX0NPTVBSRVNTSU9OX0xFVkVMfSAke1haX1RIUkVBRFN9IC0tY2hlY2s9JHtYWl9JTlRFR1JJVFlfQ0hFQ0t9ICR7SU1BR0VfTkFNRX0ke0lNQUdFX05BTUVfU1VGRklYfS4ke3R5cGV9ID4gJHtJTUFHRV9OQU1FfSR7SU1BR0VfTkFNRV9TVUZGSVh9LiR7dHlwZX0ueHoiCitDT05WRVJTSU9OX0NNRF94eiA9ICJ4eiAtZiAtayAtYyAke1haX0NPTVBSRVNTSU9OX0xFVkVMfSAke1haX0RFRkFVTFRTfSAtLWNoZWNrPSR7WFpfSU5URUdSSVRZX0NIRUNLfSAke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1FX1NVRkZJWH0uJHt0eXBlfSA+ICR7SU1BR0VfTkFNRX0ke0lNQUdFX05BTUVfU1VGRklYfS4ke3R5cGV9Lnh6IgogQ09OVkVSU0lPTl9DTURfbHo0ID0gImx6NCAtOSAteiAtbCAke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1FX1NVRkZJWH0uJHt0eXBlfSAke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1FX1NVRkZJWH0uJHt0eXBlfS5sejQiCiBDT05WRVJTSU9OX0NNRF9sem8gPSAibHpvcCAtOSAke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1FX1NVRkZJWH0uJHt0eXBlfSIKIENPTlZFUlNJT05fQ01EX3ppcCA9ICJ6aXAgJHtaSVBfQ09NUFJFU1NJT05fTEVWRUx9ICR7SU1BR0VfTkFNRX0ke0lNQUdFX05BTUVfU1VGRklYfS4ke3R5cGV9LnppcCAke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1FX1NVRkZJWH0uJHt0eXBlfSIKQEAgLTMwMCw2ICsyOTksNyBAQAogQ09OVkVSU0lPTl9DTURfdm1kayA9ICJxZW11LWltZyBjb252ZXJ0IC1PIHZtZGsgJHtJTUFHRV9OQU1FfSR7SU1BR0VfTkFNRV9TVUZGSVh9LiR7dHlwZX0gJHtJTUFHRV9OQU1FfSR7SU1BR0VfTkFNRV9TVUZGSVh9LiR7dHlwZX0udm1kayIKIENPTlZFUlNJT05fQ01EX3ZkaSA9ICJxZW11LWltZyBjb252ZXJ0IC1PIHZkaSAke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1FX1NVRkZJWH0uJHt0eXBlfSAke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1FX1NVRkZJWH0uJHt0eXBlfS52ZGkiCiBDT05WRVJTSU9OX0NNRF9xY293MiA9ICJxZW11LWltZyBjb252ZXJ0IC1PIHFjb3cyICR7SU1BR0VfTkFNRX0ke0lNQUdFX05BTUVfU1VGRklYfS4ke3R5cGV9ICR7SU1BR0VfTkFNRX0ke0lNQUdFX05BTUVfU1VGRklYfS4ke3R5cGV9LnFjb3cyIgorQ09OVkVSU0lPTl9DTURfYmFzZTY0ID0gImJhc2U2NCAke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1FX1NVRkZJWH0uJHt0eXBlfSA+ICR7SU1BR0VfTkFNRX0ke0lNQUdFX05BTUVfU1VGRklYfS4ke3R5cGV9LmJhc2U2NCIKIENPTlZFUlNJT05fREVQRU5EU19sem1hID0gInh6LW5hdGl2ZSIKIENPTlZFUlNJT05fREVQRU5EU19neiA9ICJwaWd6LW5hdGl2ZSIKIENPTlZFUlNJT05fREVQRU5EU19iejIgPSAicGJ6aXAyLW5hdGl2ZSIKQEAgLTMwOSwxMCArMzA5LDExIEBACiBDT05WRVJTSU9OX0RFUEVORFNfemlwID0gInppcC1uYXRpdmUiCiBDT05WRVJTSU9OX0RFUEVORFNfc3VtID0gIm10ZC11dGlscy1uYXRpdmUiCiBDT05WRVJTSU9OX0RFUEVORFNfYm1hcCA9ICJibWFwLXRvb2xzLW5hdGl2ZSIKLUNPTlZFUlNJT05fREVQRU5EU191LWJvb3QgPSAidS1ib290LW1raW1hZ2UtbmF0aXZlIgotQ09OVkVSU0lPTl9ERVBFTkRTX3ZtZGsgPSAicWVtdS1uYXRpdmUiCi1DT05WRVJTSU9OX0RFUEVORFNfdmRpID0gInFlbXUtbmF0aXZlIgotQ09OVkVSU0lPTl9ERVBFTkRTX3Fjb3cyID0gInFlbXUtbmF0aXZlIgorQ09OVkVSU0lPTl9ERVBFTkRTX3UtYm9vdCA9ICJ1LWJvb3QtdG9vbHMtbmF0aXZlIgorQ09OVkVSU0lPTl9ERVBFTkRTX3ZtZGsgPSAicWVtdS1zeXN0ZW0tbmF0aXZlIgorQ09OVkVSU0lPTl9ERVBFTkRTX3ZkaSA9ICJxZW11LXN5c3RlbS1uYXRpdmUiCitDT05WRVJTSU9OX0RFUEVORFNfcWNvdzIgPSAicWVtdS1zeXN0ZW0tbmF0aXZlIgorQ09OVkVSU0lPTl9ERVBFTkRTX2Jhc2U2NCA9ICJjb3JldXRpbHMtbmF0aXZlIgogCiBSVU5OQUJMRV9JTUFHRV9UWVBFUyA/PSAiZXh0MiBleHQzIGV4dDQiCiBSVU5OQUJMRV9NQUNISU5FX1BBVFRFUk5TID89ICJxZW11IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvaW5zYW5lLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzcwppbmRleCAyOTVmZWI4Li4zN2I4YmIwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzcwpAQCAtMzMsNyArMzMsOCBAQAogICAgICAgICAgICAgcGVybXMgZGVwLWNtcCBwa2d2YXJjaGVjayBwZXJtLWNvbmZpZyBwZXJtLWxpbmUgcGVybS1saW5rIFwKICAgICAgICAgICAgIHNwbGl0LXN0cmlwIHBhY2thZ2VzLWxpc3QgcGtndi11bmRlZmluZWQgdmFyLXVuZGVmaW5lZCBcCiAgICAgICAgICAgICB2ZXJzaW9uLWdvaW5nLWJhY2t3YXJkcyBleHBhbmRlZC1kIGludmFsaWQtY2hhcnMgXAotICAgICAgICAgICAgbGljZW5zZS1jaGVja3N1bSBkZXYtZWxmIGZpbGUtcmRlcHMgXAorICAgICAgICAgICAgbGljZW5zZS1jaGVja3N1bSBkZXYtZWxmIGZpbGUtcmRlcHMgY29uZmlndXJlLXVuc2FmZSBcCisgICAgICAgICAgICBjb25maWd1cmUtZ2V0dGV4dCBcCiAgICAgICAgICAgICAiCiAjIEFkZCB1c3JtZXJnZSBRQSBjaGVjayBiYXNlZCBvbiBkaXN0cm8gZmVhdHVyZQogRVJST1JfUUFfYXBwZW5kID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAndXNybWVyZ2UnLCAnIHVzcm1lcmdlJywgJycsIGQpfSIKQEAgLTMwNywxMCArMzA4LDEwIEBACiAgICAgaWYgbm90ICgobWFjaGluZSA9PSBlbGYubWFjaGluZSgpKSBvciBpc18zMiBvciBpc19icGYpOgogICAgICAgICBwYWNrYWdlX3FhX2FkZF9tZXNzYWdlKG1lc3NhZ2VzLCAiYXJjaCIsICJBcmNoaXRlY3R1cmUgZGlkIG5vdCBtYXRjaCAoJXMsIGV4cGVjdGVkICVzKSBvbiAlcyIgJSBcCiAgICAgICAgICAgICAgICAgIChvZS5xYS5lbGZfbWFjaGluZV90b19zdHJpbmcoZWxmLm1hY2hpbmUoKSksIG9lLnFhLmVsZl9tYWNoaW5lX3RvX3N0cmluZyhtYWNoaW5lKSwgcGFja2FnZV9xYV9jbGVhbl9wYXRoKHBhdGgsZCkpKQotICAgIGVsaWYgbm90ICgoYml0cyA9PSBlbGYuYWJpU2l6ZSgpKSBvciBpc18zMik6CisgICAgZWxpZiBub3QgKChiaXRzID09IGVsZi5hYmlTaXplKCkpIG9yIGlzXzMyIG9yIGlzX2JwZik6CiAgICAgICAgIHBhY2thZ2VfcWFfYWRkX21lc3NhZ2UobWVzc2FnZXMsICJhcmNoIiwgIkJpdCBzaXplIGRpZCBub3QgbWF0Y2ggKCVkIHRvICVkKSAlcyBvbiAlcyIgJSBcCiAgICAgICAgICAgICAgICAgIChiaXRzLCBlbGYuYWJpU2l6ZSgpLCBicG4sIHBhY2thZ2VfcWFfY2xlYW5fcGF0aChwYXRoLGQpKSkKLSAgICBlbGlmIG5vdCBsaXR0bGVlbmRpYW4gPT0gZWxmLmlzTGl0dGxlRW5kaWFuKCk6CisgICAgZWxpZiBub3QgKChsaXR0bGVlbmRpYW4gPT0gZWxmLmlzTGl0dGxlRW5kaWFuKCkpIG9yIGlzX2JwZik6CiAgICAgICAgIHBhY2thZ2VfcWFfYWRkX21lc3NhZ2UobWVzc2FnZXMsICJhcmNoIiwgIkVuZGlhbm5lcyBkaWQgbm90IG1hdGNoICglZCB0byAlZCkgb24gJXMiICUgXAogICAgICAgICAgICAgICAgICAobGl0dGxlZW5kaWFuLCBlbGYuaXNMaXR0bGVFbmRpYW4oKSwgcGFja2FnZV9xYV9jbGVhbl9wYXRoKHBhdGgsZCkpKQogCkBAIC00NTcsNyArNDU4LDYgQEAKICAgICAiIiIKICAgICBDaGVjayBmb3IgY2hhbmdlcyBpbiB0aGUgbGljZW5zZSBmaWxlcy4KICAgICAiIiIKLSAgICBpbXBvcnQgdGVtcGZpbGUKICAgICBzYW5lID0gVHJ1ZQogCiAgICAgbGljX2ZpbGVzID0gZC5nZXRWYXIoJ0xJQ19GSUxFU19DSEtTVU0nKSBvciAnJwpAQCAtNDk1LDYxICs0OTUsNDUgQEAKIAogICAgICAgICBpZiAobm90IGJlZ2lubGluZSkgYW5kIChub3QgZW5kbGluZSk6CiAgICAgICAgICAgICBtZDVjaGtzdW0gPSBiYi51dGlscy5tZDVfZmlsZShzcmNsaWNmaWxlKQotICAgICAgICAgICAgd2l0aCBvcGVuKHNyY2xpY2ZpbGUsICdyYicpIGFzIGY6Ci0gICAgICAgICAgICAgICAgbGljZW5zZSA9IGYucmVhZCgpCisgICAgICAgICAgICB3aXRoIG9wZW4oc3JjbGljZmlsZSwgJ3InLCBlcnJvcnM9J3JlcGxhY2UnKSBhcyBmOgorICAgICAgICAgICAgICAgIGxpY2Vuc2UgPSBmLnJlYWQoKS5zcGxpdGxpbmVzKCkKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGZpID0gb3BlbihzcmNsaWNmaWxlLCAncmInKQotICAgICAgICAgICAgZm8gPSB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUobW9kZT0nd2InLCBwcmVmaXg9J3Bva3kuJywgc3VmZml4PScudG1wJywgZGVsZXRlPUZhbHNlKQotICAgICAgICAgICAgdG1wbGljZmlsZSA9IGZvLm5hbWU7Ci0gICAgICAgICAgICBsaW5lbm8gPSAwCi0gICAgICAgICAgICBsaW5lc291dCA9IDAKLSAgICAgICAgICAgIGxpY2Vuc2UgPSBbXQotICAgICAgICAgICAgZm9yIGxpbmUgaW4gZmk6Ci0gICAgICAgICAgICAgICAgbGluZW5vICs9IDEKLSAgICAgICAgICAgICAgICBpZiAobGluZW5vID49IGJlZ2lubGluZSk6Ci0gICAgICAgICAgICAgICAgICAgIGlmICgobGluZW5vIDw9IGVuZGxpbmUpIG9yIG5vdCBlbmRsaW5lKToKLSAgICAgICAgICAgICAgICAgICAgICAgIGZvLndyaXRlKGxpbmUpCi0gICAgICAgICAgICAgICAgICAgICAgICBsaWNlbnNlLmFwcGVuZChsaW5lKQotICAgICAgICAgICAgICAgICAgICAgICAgbGluZXNvdXQgKz0gMQotICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgIGZvLmZsdXNoKCkKLSAgICAgICAgICAgIGZvLmNsb3NlKCkKLSAgICAgICAgICAgIGZpLmNsb3NlKCkKLSAgICAgICAgICAgIG1kNWNoa3N1bSA9IGJiLnV0aWxzLm1kNV9maWxlKHRtcGxpY2ZpbGUpCi0gICAgICAgICAgICBsaWNlbnNlID0gYicnLmpvaW4obGljZW5zZSkKLSAgICAgICAgICAgIG9zLnVubGluayh0bXBsaWNmaWxlKQotCisgICAgICAgICAgICB3aXRoIG9wZW4oc3JjbGljZmlsZSwgJ3JiJykgYXMgZjoKKyAgICAgICAgICAgICAgICBpbXBvcnQgaGFzaGxpYgorICAgICAgICAgICAgICAgIGxpbmVubyA9IDAKKyAgICAgICAgICAgICAgICBsaWNlbnNlID0gW10KKyAgICAgICAgICAgICAgICBtID0gaGFzaGxpYi5tZDUoKQorICAgICAgICAgICAgICAgIGZvciBsaW5lIGluIGY6CisgICAgICAgICAgICAgICAgICAgIGxpbmVubyArPSAxCisgICAgICAgICAgICAgICAgICAgIGlmIChsaW5lbm8gPj0gYmVnaW5saW5lKToKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICgobGluZW5vIDw9IGVuZGxpbmUpIG9yIG5vdCBlbmRsaW5lKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtLnVwZGF0ZShsaW5lKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpY2Vuc2UuYXBwZW5kKGxpbmUuZGVjb2RlKCd1dGYtOCcsIGVycm9ycz0ncmVwbGFjZScpLnJzdHJpcCgpKQorICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgIG1kNWNoa3N1bSA9IG0uaGV4ZGlnZXN0KCkKICAgICAgICAgaWYgcmVjaXBlbWQ1ID09IG1kNWNoa3N1bToKICAgICAgICAgICAgIGJiLm5vdGUgKHBuICsgIjogbWQ1IGNoZWNrc3VtIG1hdGNoZWQgZm9yICIsIHVybCkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGlmIHJlY2lwZW1kNToKICAgICAgICAgICAgICAgICBtc2cgPSBwbiArICI6IFRoZSBMSUNfRklMRVNfQ0hLU1VNIGRvZXMgbm90IG1hdGNoIGZvciAiICsgdXJsCiAgICAgICAgICAgICAgICAgbXNnID0gbXNnICsgIlxuIiArIHBuICsgIjogVGhlIG5ldyBtZDUgY2hlY2tzdW0gaXMgIiArIG1kNWNoa3N1bQotICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgbGljZW5zZV9saW5lcyA9IGxpY2Vuc2UuZGVjb2RlKCd1dGYtOCcpLnNwbGl0KCdcbicpCi0gICAgICAgICAgICAgICAgZXhjZXB0OgotICAgICAgICAgICAgICAgICAgICAjIExpY2Vuc2UgdGV4dCBtaWdodCBub3QgYmUgdmFsaWQgVVRGLTgsIGluIHdoaWNoCi0gICAgICAgICAgICAgICAgICAgICMgY2FzZSB3ZSBkb24ndCBrbm93IGhvdyB0byBpbmNsdWRlIGl0IGluIG91ciBvdXRwdXQKLSAgICAgICAgICAgICAgICAgICAgIyBhbmQgaGF2ZSB0byBza2lwIGl0LgotICAgICAgICAgICAgICAgICAgICBwYXNzCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgbWF4X2xpbmVzID0gaW50KGQuZ2V0VmFyKCdRQV9NQVhfTElDRU5TRV9MSU5FUycpIG9yIDIwKQotICAgICAgICAgICAgICAgICAgICBpZiBub3QgbGljZW5zZV9saW5lcyBvciBsaWNlbnNlX2xpbmVzWy0xXSAhPSAnJzoKLSAgICAgICAgICAgICAgICAgICAgICAgICMgRW5zdXJlIHRoYXQgb3VyIGxpY2Vuc2UgdGV4dCBlbmRzIHdpdGggYSBsaW5lIGJyZWFrCi0gICAgICAgICAgICAgICAgICAgICAgICAjICh3aWxsIGJlIGFkZGVkIHdpdGggam9pbigpIGJlbG93KS4KLSAgICAgICAgICAgICAgICAgICAgICAgIGxpY2Vuc2VfbGluZXMuYXBwZW5kKCcnKQotICAgICAgICAgICAgICAgICAgICByZW1vdmUgPSBsZW4obGljZW5zZV9saW5lcykgLSBtYXhfbGluZXMKLSAgICAgICAgICAgICAgICAgICAgaWYgcmVtb3ZlID4gMDoKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0ID0gbWF4X2xpbmVzIC8vIDIKLSAgICAgICAgICAgICAgICAgICAgICAgIGVuZCA9IHN0YXJ0ICsgcmVtb3ZlIC0gMQotICAgICAgICAgICAgICAgICAgICAgICAgZGVsIGxpY2Vuc2VfbGluZXNbc3RhcnQ6ZW5kXQotICAgICAgICAgICAgICAgICAgICAgICAgbGljZW5zZV9saW5lcy5pbnNlcnQoc3RhcnQsICcuLi4nKQotICAgICAgICAgICAgICAgICAgICBtc2cgPSBtc2cgKyAiXG4iICsgcG4gKyAiOiBIZXJlIGlzIHRoZSBzZWxlY3RlZCBsaWNlbnNlIHRleHQ6IiArIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIlxuIiArIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIns6dl43MH0iLmZvcm1hdCgiIGJlZ2lubGluZT0lZCAiICUgYmVnaW5saW5lIGlmIGJlZ2lubGluZSBlbHNlICIiKSArIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIlxuIiArICJcbiIuam9pbihsaWNlbnNlX2xpbmVzKSArIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIns6Xl43MH0iLmZvcm1hdCgiIGVuZGxpbmU9JWQgIiAlIGVuZGxpbmUgaWYgZW5kbGluZSBlbHNlICIiKQorICAgICAgICAgICAgICAgIG1heF9saW5lcyA9IGludChkLmdldFZhcignUUFfTUFYX0xJQ0VOU0VfTElORVMnKSBvciAyMCkKKyAgICAgICAgICAgICAgICBpZiBub3QgbGljZW5zZSBvciBsaWNlbnNlWy0xXSAhPSAnJzoKKyAgICAgICAgICAgICAgICAgICAgIyBFbnN1cmUgdGhhdCBvdXIgbGljZW5zZSB0ZXh0IGVuZHMgd2l0aCBhIGxpbmUgYnJlYWsKKyAgICAgICAgICAgICAgICAgICAgIyAod2lsbCBiZSBhZGRlZCB3aXRoIGpvaW4oKSBiZWxvdykuCisgICAgICAgICAgICAgICAgICAgIGxpY2Vuc2UuYXBwZW5kKCcnKQorICAgICAgICAgICAgICAgIHJlbW92ZSA9IGxlbihsaWNlbnNlKSAtIG1heF9saW5lcworICAgICAgICAgICAgICAgIGlmIHJlbW92ZSA+IDA6CisgICAgICAgICAgICAgICAgICAgIHN0YXJ0ID0gbWF4X2xpbmVzIC8vIDIKKyAgICAgICAgICAgICAgICAgICAgZW5kID0gc3RhcnQgKyByZW1vdmUgLSAxCisgICAgICAgICAgICAgICAgICAgIGRlbCBsaWNlbnNlW3N0YXJ0OmVuZF0KKyAgICAgICAgICAgICAgICAgICAgbGljZW5zZS5pbnNlcnQoc3RhcnQsICcuLi4nKQorICAgICAgICAgICAgICAgIG1zZyA9IG1zZyArICJcbiIgKyBwbiArICI6IEhlcmUgaXMgdGhlIHNlbGVjdGVkIGxpY2Vuc2UgdGV4dDoiICsgXAorICAgICAgICAgICAgICAgICAgICAgICAgIlxuIiArIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ7OnZeNzB9Ii5mb3JtYXQoIiBiZWdpbmxpbmU9JWQgIiAlIGJlZ2lubGluZSBpZiBiZWdpbmxpbmUgZWxzZSAiIikgKyBcCisgICAgICAgICAgICAgICAgICAgICAgICAiXG4iICsgIlxuIi5qb2luKGxpY2Vuc2UpICsgXAorICAgICAgICAgICAgICAgICAgICAgICAgIns6Xl43MH0iLmZvcm1hdCgiIGVuZGxpbmU9JWQgIiAlIGVuZGxpbmUgaWYgZW5kbGluZSBlbHNlICIiKQogICAgICAgICAgICAgICAgIGlmIGJlZ2lubGluZToKICAgICAgICAgICAgICAgICAgICAgaWYgZW5kbGluZToKICAgICAgICAgICAgICAgICAgICAgICAgIHNyY2ZpbGVkZXNjID0gIiVzIChsaW5lcyAlZCB0aHJvdWdoIHRvICVkKSIgJSAoc3JjbGljZmlsZSwgYmVnaW5saW5lLCBlbmRsaW5lKQpAQCAtNTcwLDcgKzU1NCw3IEBACiAgICAgICAgIGJiLmZhdGFsKCJGYXRhbCBRQSBlcnJvcnMgZm91bmQsIGZhaWxpbmcgdGFzay4iKQogfQogCi1kZWYgcGFja2FnZV9xYV9jaGVja19zdGFnZWQocGF0aCxkKToKK2RlZiBxYV9jaGVja19zdGFnZWQocGF0aCxkKToKICAgICAiIiIKICAgICBDaGVjayBzdGFnZWQgbGEgYW5kIHBjIGZpbGVzIGZvciBjb21tb24gcHJvYmxlbXMgbGlrZSByZWZlcmVuY2VzIHRvIHRoZSB3b3JrCiAgICAgZGlyZWN0b3J5LgpAQCAtNTg5LDIwICs1NzMsMzEgQEAKICAgICBlbHNlOgogICAgICAgICBwa2djb25maWdjaGVjayA9IHRtcGRpcgogCisgICAgc2tpcCA9IChkLmdldFZhcignSU5TQU5FX1NLSVAnKSBvciAiIikuc3BsaXQoKQorICAgIHNraXBfbGEgPSBGYWxzZQorICAgIGlmICdsYScgaW4gc2tpcDoKKyAgICAgICAgYmIubm90ZSgiUmVjaXBlICVzIHNraXBwaW5nIHFhIGNoZWNraW5nOiBsYSIgJSBkLmdldFZhcignUE4nKSkKKyAgICAgICAgc2tpcF9sYSA9IFRydWUKKworICAgIHNraXBfcGtnY29uZmlnID0gRmFsc2UKKyAgICBpZiAncGtnY29uZmlnJyBpbiBza2lwOgorICAgICAgICBiYi5ub3RlKCJSZWNpcGUgJXMgc2tpcHBpbmcgcWEgY2hlY2tpbmc6IHBrZ2NvbmZpZyIgJSBkLmdldFZhcignUE4nKSkKKyAgICAgICAgc2tpcF9wa2djb25maWcgPSBUcnVlCisKICAgICAjIGZpbmQgYWxsIC5sYSBhbmQgLnBjIGZpbGVzCiAgICAgIyByZWFkIHRoZSBjb250ZW50CiAgICAgIyBhbmQgY2hlY2sgZm9yIHN0dWZmIHRoYXQgbG9va3Mgd3JvbmcKICAgICBmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2FsayhwYXRoKToKICAgICAgICAgZm9yIGZpbGUgaW4gZmlsZXM6CiAgICAgICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKHJvb3QsZmlsZSkKLSAgICAgICAgICAgIGlmIGZpbGUuZW5kc3dpdGgoIi5sYSIpOgorICAgICAgICAgICAgaWYgZmlsZS5lbmRzd2l0aCgiLmxhIikgYW5kIG5vdCBza2lwX2xhOgogICAgICAgICAgICAgICAgIHdpdGggb3BlbihwYXRoKSBhcyBmOgogICAgICAgICAgICAgICAgICAgICBmaWxlX2NvbnRlbnQgPSBmLnJlYWQoKQogICAgICAgICAgICAgICAgICAgICBmaWxlX2NvbnRlbnQgPSBmaWxlX2NvbnRlbnQucmVwbGFjZShyZWNpcGVzeXNyb290LCAiIikKICAgICAgICAgICAgICAgICAgICAgaWYgd29ya2RpciBpbiBmaWxlX2NvbnRlbnQ6CiAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcl9tc2cgPSAiJXMgZmFpbGVkIHNhbml0eSB0ZXN0ICh3b3JrZGlyKSBpbiBwYXRoICVzIiAlIChmaWxlLHJvb3QpCiAgICAgICAgICAgICAgICAgICAgICAgICBzYW5lICY9IHBhY2thZ2VfcWFfaGFuZGxlX2Vycm9yKCJsYSIsIGVycm9yX21zZywgZCkKLSAgICAgICAgICAgIGVsaWYgZmlsZS5lbmRzd2l0aCgiLnBjIik6CisgICAgICAgICAgICBlbGlmIGZpbGUuZW5kc3dpdGgoIi5wYyIpIGFuZCBub3Qgc2tpcF9wa2djb25maWc6CiAgICAgICAgICAgICAgICAgd2l0aCBvcGVuKHBhdGgpIGFzIGY6CiAgICAgICAgICAgICAgICAgICAgIGZpbGVfY29udGVudCA9IGYucmVhZCgpCiAgICAgICAgICAgICAgICAgICAgIGZpbGVfY29udGVudCA9IGZpbGVfY29udGVudC5yZXBsYWNlKHJlY2lwZXN5c3Jvb3QsICIiKQpAQCAtMTAxNyw2ICsxMDEyLDEzIEBACiBkb19wYWNrYWdlX3FhW3JkZXB0YXNrXSA9ICJkb19wYWNrYWdlZGF0YSIKIGFkZHRhc2sgZG9fcGFja2FnZV9xYSBhZnRlciBkb19wYWNrYWdlZGF0YSBkb19wYWNrYWdlIGJlZm9yZSBkb19idWlsZAogCisjIEFkZCB0aGUgcGFja2FnZSBzcGVjaWZpYyBJTlNBTkVfU0tJUHMgdG8gdGhlIHNzdGF0ZSBkZXBlbmRlbmNpZXMKK3B5dGhvbigpIHsKKyAgICBwa2dzID0gKGQuZ2V0VmFyKCdQQUNLQUdFUycpIG9yICcnKS5zcGxpdCgpCisgICAgZm9yIHBrZyBpbiBwa2dzOgorICAgICAgICBkLmFwcGVuZFZhckZsYWcoImRvX3BhY2thZ2VfcWEiLCAidmFyZGVwcyIsICIgSU5TQU5FX1NLSVBfe30iLmZvcm1hdChwa2cpKQorfQorCiBTU1RBVEVUQVNLUyArPSAiZG9fcGFja2FnZV9xYSIKIGRvX3BhY2thZ2VfcWFbc3N0YXRlLWlucHV0ZGlyc10gPSAiIgogZG9fcGFja2FnZV9xYVtzc3RhdGUtb3V0cHV0ZGlyc10gPSAiIgpAQCAtMTAyNyw4ICsxMDI5LDcgQEAKIAogcHl0aG9uIGRvX3FhX3N0YWdpbmcoKSB7CiAgICAgYmIubm90ZSgiUUEgY2hlY2tpbmcgc3RhZ2luZyIpCi0KLSAgICBpZiBub3QgcGFja2FnZV9xYV9jaGVja19zdGFnZWQoZC5leHBhbmQoJyR7U1lTUk9PVF9ERVNURElSfSR7bGliZGlyfScpLCBkKToKKyAgICBpZiBub3QgcWFfY2hlY2tfc3RhZ2VkKGQuZXhwYW5kKCcke1NZU1JPT1RfREVTVERJUn0ke2xpYmRpcn0nKSwgZCk6CiAgICAgICAgIGJiLmZhdGFsKCJRQSBzdGFnaW5nIHdhcyBicm9rZW4gYnkgdGhlIHBhY2thZ2UgYnVpbHQgYWJvdmUiKQogfQogCkBAIC0xMDQyLDE1ICsxMDQzLDIyIEBACiAgICAgY29uZmlncyA9IFtdCiAgICAgd29ya2RpciA9IGQuZ2V0VmFyKCdXT1JLRElSJykKIAotICAgIGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2F1dG90b29scycsIGQpOgorICAgIHNraXAgPSAoZC5nZXRWYXIoJ0lOU0FORV9TS0lQJykgb3IgIiIpLnNwbGl0KCkKKyAgICBza2lwX2NvbmZpZ3VyZV91bnNhZmUgPSBGYWxzZQorICAgIGlmICdjb25maWd1cmUtdW5zYWZlJyBpbiBza2lwOgorICAgICAgICBiYi5ub3RlKCJSZWNpcGUgJXMgc2tpcHBpbmcgcWEgY2hlY2tpbmc6IGNvbmZpZ3VyZS11bnNhZmUiICUgZC5nZXRWYXIoJ1BOJykpCisgICAgICAgIHNraXBfY29uZmlndXJlX3Vuc2FmZSA9IFRydWUKKworICAgIGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2F1dG90b29scycsIGQpIGFuZCBub3Qgc2tpcF9jb25maWd1cmVfdW5zYWZlOgogICAgICAgICBiYi5ub3RlKCJDaGVja2luZyBhdXRvdG9vbHMgZW52aXJvbm1lbnQgZm9yIGNvbW1vbiBtaXNjb25maWd1cmF0aW9uIikKICAgICAgICAgZm9yIHJvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGsod29ya2Rpcik6CiAgICAgICAgICAgICBzdGF0ZW1lbnQgPSAiZ3JlcCAtcSAtRiAtZSAnQ1JPU1MgQ09NUElMRSBCYWRuZXNzOicgLWUgJ2lzIHVuc2FmZSBmb3IgY3Jvc3MtY29tcGlsYXRpb24nICVzIiAlIFwKICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbihyb290LCJjb25maWcubG9nIikKICAgICAgICAgICAgIGlmICJjb25maWcubG9nIiBpbiBmaWxlczoKICAgICAgICAgICAgICAgICBpZiBzdWJwcm9jZXNzLmNhbGwoc3RhdGVtZW50LCBzaGVsbD1UcnVlKSA9PSAwOgotICAgICAgICAgICAgICAgICAgICBiYi5mYXRhbCgiIiJUaGlzIGF1dG9jb25mIGxvZyBpbmRpY2F0ZXMgZXJyb3JzLCBpdCBsb29rZWQgYXQgaG9zdCBpbmNsdWRlIGFuZC9vciBsaWJyYXJ5IHBhdGhzIHdoaWxlIGRldGVybWluaW5nIHN5c3RlbSBjYXBhYmlsaXRpZXMuCi1SZXJ1biBjb25maWd1cmUgdGFzayBhZnRlciBmaXhpbmcgdGhpcy4iIiIpCisgICAgICAgICAgICAgICAgICAgIGVycm9yX21zZyA9ICIiIlRoaXMgYXV0b2NvbmYgbG9nIGluZGljYXRlcyBlcnJvcnMsIGl0IGxvb2tlZCBhdCBob3N0IGluY2x1ZGUgYW5kL29yIGxpYnJhcnkgcGF0aHMgd2hpbGUgZGV0ZXJtaW5pbmcgc3lzdGVtIGNhcGFiaWxpdGllcy4KK1JlcnVuIGNvbmZpZ3VyZSB0YXNrIGFmdGVyIGZpeGluZyB0aGlzLiIiIgorICAgICAgICAgICAgICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigiY29uZmlndXJlLXVuc2FmZSIsIGVycm9yX21zZywgZCkKIAogICAgICAgICAgICAgaWYgImNvbmZpZ3VyZS5hYyIgaW4gZmlsZXM6CiAgICAgICAgICAgICAgICAgY29uZmlncy5hcHBlbmQob3MucGF0aC5qb2luKHJvb3QsImNvbmZpZ3VyZS5hYyIpKQpAQCAtMTA2MSw4ICsxMDY5LDE0IEBACiAgICAgIyBDaGVjayBnZXR0ZXh0IGNvbmZpZ3VyYXRpb24gYW5kIGRlcGVuZGVuY2llcyBhcmUgY29ycmVjdAogICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCisgICAgc2tpcF9jb25maWd1cmVfZ2V0dGV4dCA9IEZhbHNlCisgICAgaWYgJ2NvbmZpZ3VyZS1nZXR0ZXh0JyBpbiBza2lwOgorICAgICAgICBiYi5ub3RlKCJSZWNpcGUgJXMgc2tpcHBpbmcgcWEgY2hlY2tpbmc6IGNvbmZpZ3VyZS1nZXR0ZXh0IiAlIGQuZ2V0VmFyKCdQTicpKQorICAgICAgICBza2lwX2NvbmZpZ3VyZV9nZXR0ZXh0ID0gVHJ1ZQorCiAgICAgY25mID0gZC5nZXRWYXIoJ0VYVFJBX09FQ09ORicpIG9yICIiCi0gICAgaWYgImdldHRleHQiIG5vdCBpbiBkLmdldFZhcignUCcpIGFuZCAiZ2NjLXJ1bnRpbWUiIG5vdCBpbiBkLmdldFZhcignUCcpIGFuZCAiLS1kaXNhYmxlLW5scyIgbm90IGluIGNuZjoKKyAgICBpZiBub3QgKCJnZXR0ZXh0IiBpbiBkLmdldFZhcignUCcpIG9yICJnY2MtcnVudGltZSIgaW4gZC5nZXRWYXIoJ1AnKSBvciBcCisgICAgICAgICAgICAiLS1kaXNhYmxlLW5scyIgaW4gY25mIG9yIHNraXBfY29uZmlndXJlX2dldHRleHQpOgogICAgICAgICBtbCA9IGQuZ2V0VmFyKCJNTFBSRUZJWCIpIG9yICIiCiAgICAgICAgIGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2Nyb3NzLWNhbmFkaWFuJywgZCk6CiAgICAgICAgICAgICBndCA9ICJuYXRpdmVzZGstZ2V0dGV4dCIKQEAgLTEwNzMsOCArMTA4Nyw4IEBACiAgICAgICAgICAgICBmb3IgY29uZmlnIGluIGNvbmZpZ3M6CiAgICAgICAgICAgICAgICAgZ251ID0gImdyZXAgXCJeW1s6c3BhY2U6XV0qQU1fR05VX0dFVFRFWFRcIiAlcyA+L2Rldi9udWxsIiAlIGNvbmZpZwogICAgICAgICAgICAgICAgIGlmIHN1YnByb2Nlc3MuY2FsbChnbnUsIHNoZWxsPVRydWUpID09IDA6Ci0gICAgICAgICAgICAgICAgICAgIGJiLmZhdGFsKCIiIiVzIHJlcXVpcmVkIGJ1dCBub3QgaW4gREVQRU5EUyBmb3IgZmlsZSAlcy4KLU1pc3NpbmcgaW5oZXJpdCBnZXR0ZXh0PyIiIiAlIChndCwgY29uZmlnKSkKKyAgICAgICAgICAgICAgICAgICAgZXJyb3JfbXNnID0gIiVzIHJlcXVpcmVkIGJ1dCBub3QgaW4gREVQRU5EUyBmb3IgZmlsZSAlcy4gTWlzc2luZyBpbmhlcml0IGdldHRleHQ/IgorICAgICAgICAgICAgICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigiY29uZmlndXJlLWdldHRleHQiLCBlcnJvcl9tc2csIGQpCiAKICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAgICAjIENoZWNrIHVucmVjb2duaXNlZCBjb25maWd1cmUgb3B0aW9ucyAod2l0aCBhIHdoaXRlIGxpc3QpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwtZml0aW1hZ2UuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC1maXRpbWFnZS5iYmNsYXNzCmluZGV4IDRjNGZkOTkuLjI1MTdkNzUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC1maXRpbWFnZS5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC1maXRpbWFnZS5iYmNsYXNzCkBAIC00LDcgKzQsNyBAQAogICAgIGtlcm5lbHR5cGVzID0gZC5nZXRWYXIoJ0tFUk5FTF9JTUFHRVRZUEVTJykgb3IgIiIKICAgICBpZiAnZml0SW1hZ2UnIGluIGtlcm5lbHR5cGVzLnNwbGl0KCk6CiAgICAgICAgIGRlcGVuZHMgPSBkLmdldFZhcigiREVQRU5EUyIpCi0gICAgICAgIGRlcGVuZHMgPSAiJXMgdS1ib290LW1raW1hZ2UtbmF0aXZlIGR0Yy1uYXRpdmUiICUgZGVwZW5kcworICAgICAgICBkZXBlbmRzID0gIiVzIHUtYm9vdC10b29scy1uYXRpdmUgZHRjLW5hdGl2ZSIgJSBkZXBlbmRzCiAgICAgICAgIGQuc2V0VmFyKCJERVBFTkRTIiwgZGVwZW5kcykKIAogICAgICAgICB1YXJjaCA9IGQuZ2V0VmFyKCJVQk9PVF9BUkNIIikKQEAgLTE5LDkgKzE5LDkgQEAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHJlcGxhY2VtZW50dHlwZSA9ICJ6SW1hZ2UiCiAKLQkjIE92ZXJyaWRlIEtFUk5FTF9JTUFHRVRZUEVfRk9SX01BS0UgdmFyaWFibGUsIHdoaWNoIGlzIGludGVybmFsCi0JIyB0byBrZXJuZWwuYmJjbGFzcyAuIFdlIGhhdmUgdG8gb3ZlcnJpZGUgaXQsIHNpbmNlIHdlIHBhY2sgekltYWdlCi0JIyAoYXQgbGVhc3QgZm9yIG5vdykgaW50byB0aGUgZml0SW1hZ2UgLgorICAgICAgICAjIE92ZXJyaWRlIEtFUk5FTF9JTUFHRVRZUEVfRk9SX01BS0UgdmFyaWFibGUsIHdoaWNoIGlzIGludGVybmFsCisgICAgICAgICMgdG8ga2VybmVsLmJiY2xhc3MgLiBXZSBoYXZlIHRvIG92ZXJyaWRlIGl0LCBzaW5jZSB3ZSBwYWNrIHpJbWFnZQorICAgICAgICAjIChhdCBsZWFzdCBmb3Igbm93KSBpbnRvIHRoZSBmaXRJbWFnZSAuCiAgICAgICAgIHR5cGVmb3JtYWtlID0gZC5nZXRWYXIoIktFUk5FTF9JTUFHRVRZUEVfRk9SX01BS0UiKSBvciAiIgogICAgICAgICBpZiAnZml0SW1hZ2UnIGluIHR5cGVmb3JtYWtlLnNwbGl0KCk6CiAgICAgICAgICAgICBkLnNldFZhcignS0VSTkVMX0lNQUdFVFlQRV9GT1JfTUFLRScsIHR5cGVmb3JtYWtlLnJlcGxhY2UoJ2ZpdEltYWdlJywgcmVwbGFjZW1lbnR0eXBlKSkKQEAgLTMwLDEyICszMCwxOSBAQAogICAgICAgICBpZiBpbWFnZToKICAgICAgICAgICAgIGQuYXBwZW5kVmFyRmxhZygnZG9fYXNzZW1ibGVfZml0aW1hZ2VfaW5pdHJhbWZzJywgJ2RlcGVuZHMnLCAnICR7SU5JVFJBTUZTX0lNQUdFfTpkb19pbWFnZV9jb21wbGV0ZScpCiAKKyAgICAgICAgI2NoZWNrIGlmIHRoZXJlIGFyZSBhbnkgZHRiIHByb3ZpZGVycworICAgICAgICBwcm92aWRlcmR0YiA9IGQuZ2V0VmFyKCJQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9kdGIiKQorICAgICAgICBpZiBwcm92aWRlcmR0YjoKKyAgICAgICAgICAgIGQuYXBwZW5kVmFyRmxhZygnZG9fYXNzZW1ibGVfZml0aW1hZ2UnLCAnZGVwZW5kcycsICcgdmlydHVhbC9kdGI6ZG9fcG9wdWxhdGVfc3lzcm9vdCcpCisgICAgICAgICAgICBkLmFwcGVuZFZhckZsYWcoJ2RvX2Fzc2VtYmxlX2ZpdGltYWdlX2luaXRyYW1mcycsICdkZXBlbmRzJywgJyB2aXJ0dWFsL2R0Yjpkb19wb3B1bGF0ZV9zeXNyb290JykKKyAgICAgICAgICAgIGQuc2V0VmFyKCdFWFRFUk5BTF9LRVJORUxfREVWSUNFVFJFRScsICIke1JFQ0lQRV9TWVNST09UfS9ib290L2RldmljZXRyZWUiKQorCiAgICAgICAgICMgVmVyaWZpZWQgYm9vdCB3aWxsIHNpZ24gdGhlIGZpdEltYWdlIGFuZCBhcHBlbmQgdGhlIHB1YmxpYyBrZXkgdG8KICAgICAgICAgIyBVLUJvb3QgZHRiLiBXZSBlbnN1cmUgdGhlIFUtQm9vdCBkdGIgaXMgZGVwbG95ZWQgYmVmb3JlIGFzc2VtYmxpbmcKICAgICAgICAgIyB0aGUgZml0SW1hZ2U6CiAgICAgICAgIGlmIGQuZ2V0VmFyKCdVQk9PVF9TSUdOX0VOQUJMRScpID09ICIxIjoKICAgICAgICAgICAgIHVib290X3BuID0gZC5nZXRWYXIoJ1BSRUZFUlJFRF9QUk9WSURFUl91LWJvb3QnKSBvciAndS1ib290JwotICAgICAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19hc3NlbWJsZV9maXRpbWFnZScsICdkZXBlbmRzJywgJyAlczpkb19kZXBsb3knICUgdWJvb3RfcG4pCisgICAgICAgICAgICBkLmFwcGVuZFZhckZsYWcoJ2RvX2Fzc2VtYmxlX2ZpdGltYWdlJywgJ2RlcGVuZHMnLCAnICVzOmRvX3BvcHVsYXRlX3N5c3Jvb3QnICUgdWJvb3RfcG4pCiB9CiAKICMgT3B0aW9ucyBmb3IgdGhlIGRldmljZSB0cmVlIGNvbXBpbGVyIHBhc3NlZCB0byBta2ltYWdlICctRCcgZmVhdHVyZToKQEAgLTM3Myw3ICszODAsOCBAQAogCSMKIAkjIFN0ZXAgMjogUHJlcGFyZSBhIERUQiBpbWFnZSBzZWN0aW9uCiAJIwotCWlmIFsgLW4gIiR7S0VSTkVMX0RFVklDRVRSRUV9IiBdOyB0aGVuCisKKwlpZiBbIC16ICIke0VYVEVSTkFMX0tFUk5FTF9ERVZJQ0VUUkVFfSIgXSAmJiBbIC1uICIke0tFUk5FTF9ERVZJQ0VUUkVFfSIgXTsgdGhlbgogCQlkdGJjb3VudD0xCiAJCWZvciBEVEIgaW4gJHtLRVJORUxfREVWSUNFVFJFRX07IGRvCiAJCQlpZiBlY2hvICR7RFRCfSB8IGdyZXAgLXEgJy9kdHMvJzsgdGhlbgpAQCAtMzkxLDYgKzM5OSwxNiBAQAogCQlkb25lCiAJZmkKIAorCWlmIFsgLW4gIiR7RVhURVJOQUxfS0VSTkVMX0RFVklDRVRSRUV9IiBdOyB0aGVuCisJCWR0YmNvdW50PTEKKwkJZm9yIERUQkZJTEUgaW4gJHtFWFRFUk5BTF9LRVJORUxfREVWSUNFVFJFRX0vKi5kdGI7IGRvCisJCQlEVEI9YGJhc2VuYW1lICR7RFRCRklMRX1gCisJCQlEVEI9JChlY2hvICIke0RUQn0iIHwgdHIgJy8nICdfJykKKwkJCURUQlM9IiR7RFRCU30gJHtEVEJ9IgorCQkJZml0aW1hZ2VfZW1pdF9zZWN0aW9uX2R0YiAkezF9ICR7RFRCfSAke0RUQkZJTEV9CisJCWRvbmUKKwlmaQorCiAJIwogCSMgU3RlcCAzOiBQcmVwYXJlIGEgc2V0dXAgc2VjdGlvbi4gKEZvciB4ODYpCiAJIwpAQCAtNDU2LDEwICs0NzQsMTcgQEAKIAkjIFN0ZXAgNzogU2lnbiB0aGUgaW1hZ2UgYW5kIGFkZCBwdWJsaWMga2V5IHRvIFUtQm9vdCBkdGIKIAkjCiAJaWYgWyAieCR7VUJPT1RfU0lHTl9FTkFCTEV9IiA9ICJ4MSIgXSA7IHRoZW4KKwkJYWRkX2tleV90b191X2Jvb3Q9IiIKKwkJaWYgWyAtbiAiJHtVQk9PVF9EVEJfQklOQVJZfSIgXTsgdGhlbgorCQkJIyBUaGUgdS1ib290LmR0YiBpcyBhIHN5bWxpbmsgdG8gVUJPT1RfRFRCX0lNQUdFLCBzbyB3ZSBuZWVkIGNvcHkKKwkJCSMgYm90aCBvZiB0aGVtLCBhbmQgZG9uJ3QgZGVyZWZlcmVuY2UgdGhlIHN5bWxpbmsuCisJCQljcCAtUCAke1NUQUdJTkdfREFUQURJUn0vdS1ib290Ki5kdGIgJHtCfQorCQkJYWRkX2tleV90b191X2Jvb3Q9Ii1LICR7Qn0vJHtVQk9PVF9EVEJfQklOQVJZfSIKKwkJZmkKIAkJdWJvb3QtbWtpbWFnZSBcCiAJCQkke0AnLUQgIiR7VUJPT1RfTUtJTUFHRV9EVENPUFRTfSInIGlmIGxlbignJHtVQk9PVF9NS0lNQUdFX0RUQ09QVFN9JykgZWxzZSAnJ30gXAogCQkJLUYgLWsgIiR7VUJPT1RfU0lHTl9LRVlESVJ9IiBcCi0JCQkke0AnLUsgIiR7REVQTE9ZX0RJUl9JTUFHRX0vJHtVQk9PVF9EVEJfQklOQVJZfSInIGlmIGxlbignJHtVQk9PVF9EVEJfQklOQVJZfScpIGVsc2UgJyd9IFwKKwkJCSRhZGRfa2V5X3RvX3VfYm9vdCBcCiAJCQktciBhcmNoLyR7QVJDSH0vYm9vdC8kezJ9CiAJZmkKIH0KQEAgLTQ4MSw3ICs1MDYsNyBAQAogCWZpCiB9CiAKLWFkZHRhc2sgYXNzZW1ibGVfZml0aW1hZ2VfaW5pdHJhbWZzIGJlZm9yZSBkb19kZXBsb3kgYWZ0ZXIgZG9faW5zdGFsbAorYWRkdGFzayBhc3NlbWJsZV9maXRpbWFnZV9pbml0cmFtZnMgYmVmb3JlIGRvX2RlcGxveSBhZnRlciBkb19idW5kbGVfaW5pdHJhbWZzCiAKIAoga2VybmVsX2RvX2RlcGxveVt2YXJkZXBzZXhjbHVkZV0gPSAiREFURVRJTUUiCkBAIC01MDUsNSArNTMwLDExIEBACiAJCQlpbnN0YWxsIC1tIDA2NDQgJHtCfS9hcmNoLyR7QVJDSH0vYm9vdC9maXRJbWFnZS0ke0lOSVRSQU1GU19JTUFHRX0gJHtERVBMT1lESVJ9L2ZpdEltYWdlLSR7SU5JVFJBTUZTX0lNQUdFX05BTUV9LSR7S0VSTkVMX0ZJVF9OQU1FfS5iaW4KIAkJCWxuIC1zbmYgZml0SW1hZ2UtJHtJTklUUkFNRlNfSU1BR0VfTkFNRX0tJHtLRVJORUxfRklUX05BTUV9LmJpbiAke0RFUExPWURJUn0vZml0SW1hZ2UtJHtJTklUUkFNRlNfSU1BR0VfTkFNRX0tJHtLRVJORUxfRklUX0xJTktfTkFNRX0KIAkJZmkKKwkJaWYgWyAiJHtVQk9PVF9TSUdOX0VOQUJMRX0iID0gIjEiIC1hIC1uICIke1VCT09UX0RUQl9CSU5BUll9IiBdIDsgdGhlbgorCQkJIyBVQk9PVF9EVEJfSU1BR0UgaXMgYSByZWFsZmlsZSwgYnV0IHdlIGNhbid0IHVzZQorCQkJIyAke1VCT09UX0RUQl9JTUFHRX0gc2luY2UgaXQgY29udGFpbnMgJHtQVn0gd2hpY2ggaXMgYWltZWQKKwkJCSMgZm9yIHUtYm9vdCwgYnV0IHdlIGFyZSBpbiBrZXJuZWwgZW52IG5vdy4KKwkJCWluc3RhbGwgLW0gMDY0NCAke0J9L3UtYm9vdC0ke01BQ0hJTkV9Ki5kdGIgJHtERVBMT1lESVJ9LworCQlmaQogCWZpCiB9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwtbW9kdWxlLXNwbGl0LmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwtbW9kdWxlLXNwbGl0LmJiY2xhc3MKaW5kZXggNjdhYjQxNi4uZThkM2ViNSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMva2VybmVsLW1vZHVsZS1zcGxpdC5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC1tb2R1bGUtc3BsaXQuYmJjbGFzcwpAQCAtNDgsNyArNDgsOCBAQAogICAgICAgICB0bXBmaWxlID0gdGZbMV0KICAgICAgICAgY21kID0gIiVzb2JqY29weSAtaiAubW9kaW5mbyAtTyBiaW5hcnkgJXMgJXMiICUgKGQuZ2V0VmFyKCJIT1NUX1BSRUZJWCIpIG9yICIiLCBmaWxlLCB0bXBmaWxlKQogICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoY21kLCBzaGVsbD1UcnVlKQotICAgICAgICBmID0gb3Blbih0bXBmaWxlKQorICAgICAgICAjIGVycm9ycz0ncmVwbGFjZSc6IFNvbWUgb2xkIGtlcm5lbCB2ZXJzaW9ucyBjb250YWluIGludmFsaWQgdXRmLTggY2hhcmFjdGVycyBpbiBtb2QgZGVzY3JpcHRpb25zIChsaWtlIDB4ZjYsICfDticpCisgICAgICAgIGYgPSBvcGVuKHRtcGZpbGUsIGVycm9ycz0ncmVwbGFjZScpCiAgICAgICAgIGwgPSBmLnJlYWQoKS5zcGxpdCgiXDAwMCIpCiAgICAgICAgIGYuY2xvc2UoKQogICAgICAgICBvcy5jbG9zZSh0ZlswXSkKQEAgLTEzMiw3ICsxMzMsNyBAQAogICAgIGtlcm5lbF9wYWNrYWdlX25hbWUgPSBkLmdldFZhcigiS0VSTkVMX1BBQ0tBR0VfTkFNRSIpIG9yICJrZXJuZWwiCiAgICAga2VybmVsX3ZlcnNpb24gPSBkLmdldFZhcigiS0VSTkVMX1ZFUlNJT04iKQogCi0gICAgbW9kdWxlX3JlZ2V4ID0gJ14oLiopXC5rP28kJworICAgIG1vZHVsZV9yZWdleCA9IHInXiguKilcLms/byQnCiAKICAgICBtb2R1bGVfcGF0dGVybl9wcmVmaXggPSBkLmdldFZhcignS0VSTkVMX01PRFVMRV9QQUNLQUdFX1BSRUZJWCcpCiAgICAgbW9kdWxlX3BhdHRlcm5fc3VmZml4ID0gZC5nZXRWYXIoJ0tFUk5FTF9NT0RVTEVfUEFDS0FHRV9TVUZGSVgnKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMva2VybmVsLXVpbWFnZS5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMva2VybmVsLXVpbWFnZS5iYmNsYXNzCmluZGV4IGMyZGU2YmIuLmNlZGI0ZmEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC11aW1hZ2UuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwtdWltYWdlLmJiY2xhc3MKQEAgLTMsNyArMyw3IEBACiBweXRob24gX19hbm9ueW1vdXMgKCkgewogICAgIGlmICJ1SW1hZ2UiIGluIGQuZ2V0VmFyKCdLRVJORUxfSU1BR0VUWVBFUycpOgogICAgICAgICBkZXBlbmRzID0gZC5nZXRWYXIoIkRFUEVORFMiKQotICAgICAgICBkZXBlbmRzID0gIiVzIHUtYm9vdC1ta2ltYWdlLW5hdGl2ZSIgJSBkZXBlbmRzCisgICAgICAgIGRlcGVuZHMgPSAiJXMgdS1ib290LXRvb2xzLW5hdGl2ZSIgJSBkZXBlbmRzCiAgICAgICAgIGQuc2V0VmFyKCJERVBFTkRTIiwgZGVwZW5kcykKIAogICAgICAgICAjIE92ZXJyaWRlIEtFUk5FTF9JTUFHRVRZUEVfRk9SX01BS0UgdmFyaWFibGUsIHdoaWNoIGlzIGludGVybmFsCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwteW9jdG8uYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC15b2N0by5iYmNsYXNzCmluZGV4IDQ5NmM4YTcuLmVkOWJjZmEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC15b2N0by5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC15b2N0by5iYmNsYXNzCkBAIC01LDEyICs1LDIxIEBACiAKICMgcmV0dXJucyBsb2NhbCAoYWJzb2x1dGUpIHBhdGggbmFtZXMgZm9yIGFsbCB2YWxpZCBwYXRjaGVzIGluIHRoZQogIyBzcmNfdXJpCi1kZWYgZmluZF9wYXRjaGVzKGQpOgorZGVmIGZpbmRfcGF0Y2hlcyhkLHN1YmRpcik6CiAgICAgcGF0Y2hlcyA9IHNyY19wYXRjaGVzKGQpCiAgICAgcGF0Y2hfbGlzdD1bXQogICAgIGZvciBwIGluIHBhdGNoZXM6Ci0gICAgICAgIF8sIF8sIGxvY2FsLCBfLCBfLCBfID0gYmIuZmV0Y2guZGVjb2RldXJsKHApCi0gICAgICAgIHBhdGNoX2xpc3QuYXBwZW5kKGxvY2FsKQorICAgICAgICBfLCBfLCBsb2NhbCwgXywgXywgcGFybSA9IGJiLmZldGNoLmRlY29kZXVybChwKQorICAgICAgICAjIGlmIHBhdGNoZGlyIGhhcyBiZWVuIHBhc3NlZCwgd2Ugd29uJ3QgYmUgYWJsZSB0byBhcHBseSBpdCBzbyBza2lwCisgICAgICAgICMgdGhlIHBhdGNoIGZvciBub3csIGFuZCBzcGVjaWFsIHByb2Nlc3NpbmcgaGFwcGVucyBsYXRlcgorICAgICAgICBwYXRjaGRpciA9ICcnCisgICAgICAgIGlmICJwYXRjaGRpciIgaW4gcGFybToKKyAgICAgICAgICAgIHBhdGNoZGlyID0gcGFybVsicGF0Y2hkaXIiXQorICAgICAgICBpZiBzdWJkaXI6CisgICAgICAgICAgICBpZiBzdWJkaXIgPT0gcGF0Y2hkaXI6CisgICAgICAgICAgICAgICAgcGF0Y2hfbGlzdC5hcHBlbmQobG9jYWwpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBwYXRjaF9saXN0LmFwcGVuZChsb2NhbCkKIAogICAgIHJldHVybiBwYXRjaF9saXN0CiAKQEAgLTExOSw4ICsxMjgsMjAgQEAKIAkJZmkKIAlmaQogCisJIyB3YXMgYW55b25lIHRyeWluZyB0byBwYXRjaCB0aGUga2VybmVsIG1ldGEgZGF0YSA/LCB3ZSBuZWVkIHRvIGRvCisJIyB0aGlzIGhlcmUsIHNpbmNlIHRoZSBzY2MgY29tbWFuZHMgbWlncmF0ZSB0aGUgLmNmZyBmcmFnbWVudHMgdG8gdGhlCisJIyBrZXJuZWwgc291cmNlIHRyZWUsIHdoZXJlIHRoZXknbGwgYmUgdXNlZCBsYXRlci4KKwljaGVja19naXRfY29uZmlnCisJcGF0Y2hlcz0iJHtAIiAiLmpvaW4oZmluZF9wYXRjaGVzKGQsJ2tlcm5lbC1tZXRhJykpfSIKKwlmb3IgcCBpbiAkcGF0Y2hlczsgZG8KKwkgICAgKAorCQljZCAke1dPUktESVJ9L2tlcm5lbC1tZXRhCisJCWdpdCBhbSAtcyAkcAorCSAgICApCisJZG9uZQorCiAJc2Njc19mcm9tX3NyY191cmk9IiR7QCIgIi5qb2luKGZpbmRfc2NjcyhkKSl9IgotCXBhdGNoZXM9IiR7QCIgIi5qb2luKGZpbmRfcGF0Y2hlcyhkKSl9IgorCXBhdGNoZXM9IiR7QCIgIi5qb2luKGZpbmRfcGF0Y2hlcyhkLCcnKSl9IgogCWZlYXRfZGlycz0iJHtAIiAiLmpvaW4oZmluZF9rZXJuZWxfZmVhdHVyZV9kaXJzKGQpKX0iCiAKIAkjIGEgcXVpY2sgY2hlY2sgdG8gbWFrZSBzdXJlIHdlIGRvbid0IGhhdmUgZHVwbGljYXRlIGRlZmNvbmZpZ3MKQEAgLTEzOCwxMCArMTU5LDEwIEBACiAJZm9yIGYgaW4gJHtmZWF0X2RpcnN9OyBkbwogCQlpZiBbIC1kICIke1dPUktESVJ9LyRmL21ldGEiIF07IHRoZW4KIAkJCWluY2x1ZGVzPSIkaW5jbHVkZXMgLUkke1dPUktESVJ9LyRmL2tlcm5lbC1tZXRhIgotCSAgICAgICAgZWxpZiBbIC1kICIke1dPUktESVJ9LyRmIiBdOyB0aGVuCi0JCQlpbmNsdWRlcz0iJGluY2x1ZGVzIC1JJHtXT1JLRElSfS8kZiIKIAkJZWxpZiBbIC1kICIke1dPUktESVJ9Ly4uL29lLWxvY2FsLWZpbGVzLyRmIiBdOyB0aGVuCiAJCQlpbmNsdWRlcz0iJGluY2x1ZGVzIC1JJHtXT1JLRElSfS8uLi9vZS1sb2NhbC1maWxlcy8kZiIKKwkgICAgICAgIGVsaWYgWyAtZCAiJHtXT1JLRElSfS8kZiIgXTsgdGhlbgorCQkJaW5jbHVkZXM9IiRpbmNsdWRlcyAtSSR7V09SS0RJUn0vJGYiCiAJCWZpCiAJZG9uZQogCWZvciBzIGluICR7c2Njc30gJHtwYXRjaGVzfTsgZG8KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMva2VybmVsLmJiY2xhc3MKaW5kZXggYmQxODVlMi4uOWRhOTgxOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMva2VybmVsLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMva2VybmVsLmJiY2xhc3MKQEAgLTQ4Nyw2ICs0ODcsMTUgQEAKIAkJbWtkaXIgLXAgJGtlcm5lbGRpci9hcmNoLyR7QVJDSH0vaW5jbHVkZS9nZW5lcmF0ZWQvCiAJCWNwIC1mUiBhcmNoLyR7QVJDSH0vaW5jbHVkZS9nZW5lcmF0ZWQvKiAka2VybmVsZGlyL2FyY2gvJHtBUkNIfS9pbmNsdWRlL2dlbmVyYXRlZC8KIAlmaQorCisJaWYgKGdyZXAgLXEgLWkgLWUgJ15DT05GSUdfVU5XSU5ERVJfT1JDPXkkJyAka2VybmVsZGlyLy5jb25maWcpOyB0aGVuCisJCSMgV2l0aCBDT05GSUdfVU5XSU5ERVJfT1JDICh0aGUgZGVmYXVsdCBpbiA0LjE0KSwgb2JqdG9vbCBpcyByZXF1aXJlZCBmb3IKKwkJIyBvdXQtb2YtdHJlZSBtb2R1bGVzIHRvIGJlIGFibGUgdG8gZ2VuZXJhdGUgb2JqZWN0IGZpbGVzLgorCQlpZiBbIC14IHRvb2xzL29ianRvb2wvb2JqdG9vbCBdOyB0aGVuCisJCQlta2RpciAtcCAke2tlcm5lbGRpcn0vdG9vbHMvb2JqdG9vbAorCQkJY3AgdG9vbHMvb2JqdG9vbC9vYmp0b29sICR7a2VybmVsZGlyfS90b29scy9vYmp0b29sLworCQlmaQorCWZpCiB9CiAKICMgV2UgZG9uJ3QgbmVlZCB0byBzdGFnZSBhbnl0aGluZywgbm90IHRoZSBtb2R1bGVzL2Zpcm13YXJlIHNpbmNlIHRob3NlIHdvdWxkIGNsYXNoIHdpdGggbGludXgtZmlybXdhcmUKQEAgLTU4MCw3ICs1ODksNyBAQAogUEFDS0FHRVNQTElURlVOQ1NfcHJlcGVuZCA9ICJzcGxpdF9rZXJuZWxfcGFja2FnZXMgIgogCiBweXRob24gc3BsaXRfa2VybmVsX3BhY2thZ2VzICgpIHsKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCByb290PScke25vbmFyY2hfYmFzZV9saWJkaXJ9L2Zpcm13YXJlJywgZmlsZV9yZWdleD0nXiguKilcLihiaW58Znd8Y2lzfGNzcHxkc3ApJCcsIG91dHB1dF9wYXR0ZXJuPScke0tFUk5FTF9QQUNLQUdFX05BTUV9LWZpcm13YXJlLSVzJywgZGVzY3JpcHRpb249J0Zpcm13YXJlIGZvciAlcycsIHJlY3Vyc2l2ZT1UcnVlLCBleHRyYV9kZXBlbmRzPScnKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHJvb3Q9JyR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vZmlybXdhcmUnLCBmaWxlX3JlZ2V4PXInXiguKilcLihiaW58Znd8Y2lzfGNzcHxkc3ApJCcsIG91dHB1dF9wYXR0ZXJuPScke0tFUk5FTF9QQUNLQUdFX05BTUV9LWZpcm13YXJlLSVzJywgZGVzY3JpcHRpb249J0Zpcm13YXJlIGZvciAlcycsIHJlY3Vyc2l2ZT1UcnVlLCBleHRyYV9kZXBlbmRzPScnKQogfQogCiAjIE1hbnkgc2NyaXB0cyB3YW50IHRvIGxvb2sgaW4gYXJjaC8kYXJjaC9ib290IGZvciB0aGUgYm9vdGFibGUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2xpYmMtcGFja2FnZS5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvbGliYy1wYWNrYWdlLmJiY2xhc3MKaW5kZXggMzQ1ZWMyOS4uODg1OWRhZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvbGliYy1wYWNrYWdlLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvbGliYy1wYWNrYWdlLmJiY2xhc3MKQEAgLTM3LDE2ICszNywxMSBAQAogICAgICAgICAgICAgICAgIGQuc2V0VmFyKCJERVBFTkRTIiwgZGVwZW5kcykKICAgICAgICAgICAgICAgICBkLnNldFZhcigiR0xJQkNfSU5URVJOQUxfVVNFX0JJTkFSWV9MT0NBTEUiLCAiY29tcGlsZSIpCiAgICAgICAgICAgICAgICAgYnJlYWsKLQotICAgICMgdHJ5IHRvIGZpeCBkaXNhYmxlIGNoYXJzZXRzL2xvY2FsZXMvbG9jYWxlLWNvZGUgY29tcGlsZSBmYWlsCi0gICAgaWYgYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsaWJjLWNoYXJzZXRzJywgVHJ1ZSwgRmFsc2UsIGQpIGFuZCBcCi0gICAgICAgICAgICBiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2xpYmMtbG9jYWxlcycsIFRydWUsIEZhbHNlLCBkKSBhbmQgXAotICAgICAgICAgICAgYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsaWJjLWxvY2FsZS1jb2RlJywgVHJ1ZSwgRmFsc2UsIGQpOgotICAgICAgICBkLnNldFZhcignUEFDS0FHRV9OT19HQ09OVicsICcwJykKLSAgICBlbHNlOgotICAgICAgICBkLnNldFZhcignUEFDS0FHRV9OT19HQ09OVicsICcxJykKIH0KIAorIyB0cnkgdG8gZml4IGRpc2FibGUgY2hhcnNldHMvbG9jYWxlcy9sb2NhbGUtY29kZSBjb21waWxlIGZhaWwKK1BBQ0tBR0VfTk9fR0NPTlYgPz0gIjAiCisKIE9WRVJSSURFU19hcHBlbmQgPSAiOiR7VEFSR0VUX0FSQ0h9LSR7VEFSR0VUX09TfSIKIAogbG9jYWxlX2Jhc2VfcG9zdGluc3Rfb250YXJnZXQoKSB7CkBAIC02OSw5ICs2NCwxNCBAQAogCWZvciBpIGluICR0cmVlZGlyLyR7ZGF0YWRpcn0vaTE4bi9jaGFybWFwcy8qZ3o7IGRvIAogCQlndW56aXAgJGkKIAlkb25lCi0JdGFyIC1jZiAtIC1DICR7TE9DQUxFVFJFRVNSQ30ke2Jhc2VfbGliZGlyfSAtcCAuIHwgdGFyIC14ZiAtIC1DICR0cmVlZGlyLyR7YmFzZV9saWJkaXJ9Ci0JaWYgWyAtZiAke1NUQUdJTkdfRElSX05BVElWRX0ke3ByZWZpeF9uYXRpdmV9L2xpYi9saWJnY2Nfcy4qIF07IHRoZW4KLQkJdGFyIC1jZiAtIC1DICR7U1RBR0lOR19ESVJfTkFUSVZFfS8ke3ByZWZpeF9uYXRpdmV9LyR7YmFzZV9saWJkaXJ9IC1wIGxpYmdjY19zLiogfCB0YXIgLXhmIC0gLUMgJHRyZWVkaXIvJHtiYXNlX2xpYmRpcn0KKwkjIFRoZSBleHRyYWN0IHBhdHRlcm4gIi4vbCouc28qIiBpcyBjYXJlZnVsbHkgc2VsZWN0ZWQgc28gdGhhdCBpdCB3aWxsCisJIyBtYXRjaCBsZCouc28gYW5kIGxpYiouc28qLCBidXQgbm90IGFueSBmaWxlcyBpbiB0aGUgZ2NvbnYgZGlyZWN0b3J5CisJIyAoaWYgaXQgZXhpc3RzKS4gVGhpcyBtYWtlcyBzdXJlIHdlIG9ubHkgdW5wYWNrIHRoZSBmaWxlcyB3ZSBuZWVkLgorCSMgVGhpcyBpcyBpbXBvcnRhbnQgaW4gY2FzZSB1c3JtZXJnZSBpcyBzZXQgaW4gRElTVFJPX0ZFQVRVUkVTLCB3aGljaAorCSMgbWVhbnMgJHtiYXNlX2xpYmRpcn0gPT0gJHtsaWJkaXJ9LgorCXRhciAtY2YgLSAtQyAke0xPQ0FMRVRSRUVTUkN9JHtiYXNlX2xpYmRpcn0gLXAgLiB8IHRhciAteGYgLSAtQyAkdHJlZWRpci8ke2Jhc2VfbGliZGlyfSAtLXdpbGRjYXJkcyAnLi9sKi5zbyonCisJaWYgWyAtZiAke1NUQUdJTkdfTElCRElSX05BVElWRX0vbGliZ2NjX3MuKiBdOyB0aGVuCisJCXRhciAtY2YgLSAtQyAke1NUQUdJTkdfTElCRElSX05BVElWRX0gLXAgbGliZ2NjX3MuKiB8IHRhciAteGYgLSAtQyAkdHJlZWRpci8ke2Jhc2VfbGliZGlyfQogCWZpCiAJaW5zdGFsbCAtbSAwNzU1ICR7TE9DQUxFVFJFRVNSQ30ke2JpbmRpcn0vbG9jYWxlZGVmICR0cmVlZGlyLyR7YmFzZV9iaW5kaXJ9CiB9CkBAIC0xMTUsOCArMTE1LDggQEAKICAgICBkZWYgY2FsY19nY29udl9kZXBzKGZuLCBwa2csIGZpbGVfcmVnZXgsIG91dHB1dF9wYXR0ZXJuLCBncm91cCk6CiAgICAgICAgIGRlcHMgPSBbXQogICAgICAgICBmID0gb3BlbihmbiwgInJiIikKLSAgICAgICAgY19yZSA9IHJlLmNvbXBpbGUoJ15jb3B5ICIoLiopIicpCi0gICAgICAgIGlfcmUgPSByZS5jb21waWxlKCdeaW5jbHVkZSAiKFx3KykiLionKQorICAgICAgICBjX3JlID0gcmUuY29tcGlsZShyJ15jb3B5ICIoLiopIicpCisgICAgICAgIGlfcmUgPSByZS5jb21waWxlKHInXmluY2x1ZGUgIihcdyspIi4qJykKICAgICAgICAgZm9yIGwgaW4gZi5yZWFkbGluZXMoKToKICAgICAgICAgICAgIGwgPSBsLmRlY29kZSgibGF0aW4tMSIpCiAgICAgICAgICAgICBtID0gY19yZS5tYXRjaChsKSBvciBpX3JlLm1hdGNoKGwpCkBAIC0xMzAsMTUgKzEzMCwxNSBAQAogICAgICAgICBpZiBicG4gIT0gJ2dsaWJjJzoKICAgICAgICAgICAgIGQuc2V0VmFyKCdSUFJPVklERVNfJXMnICUgcGtnLCBwa2cucmVwbGFjZShicG4sICdnbGliYycpKQogCi0gICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZ2NvbnZfbGliZGlyLCBmaWxlX3JlZ2V4PSdeKC4qKVwuc28kJywgb3V0cHV0X3BhdHRlcm49YnBuKyctZ2NvbnYtJXMnLCBcCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZ2NvbnZfbGliZGlyLCBmaWxlX3JlZ2V4PXInXiguKilcLnNvJCcsIG91dHB1dF9wYXR0ZXJuPWJwbisnLWdjb252LSVzJywgXAogICAgICAgICBkZXNjcmlwdGlvbj0nZ2NvbnYgbW9kdWxlIGZvciBjaGFyYWN0ZXIgc2V0ICVzJywgaG9vaz1jYWxjX2djb252X2RlcHMsIFwKICAgICAgICAgZXh0cmFfZGVwZW5kcz1icG4rJy1nY29udicpCiAKICAgICBkZWYgY2FsY19jaGFybWFwX2RlcHMoZm4sIHBrZywgZmlsZV9yZWdleCwgb3V0cHV0X3BhdHRlcm4sIGdyb3VwKToKICAgICAgICAgZGVwcyA9IFtdCiAgICAgICAgIGYgPSBvcGVuKGZuLCAicmIiKQotICAgICAgICBjX3JlID0gcmUuY29tcGlsZSgnXmNvcHkgIiguKikiJykKLSAgICAgICAgaV9yZSA9IHJlLmNvbXBpbGUoJ15pbmNsdWRlICIoXHcrKSIuKicpCisgICAgICAgIGNfcmUgPSByZS5jb21waWxlKHInXmNvcHkgIiguKikiJykKKyAgICAgICAgaV9yZSA9IHJlLmNvbXBpbGUocideaW5jbHVkZSAiKFx3KykiLionKQogICAgICAgICBmb3IgbCBpbiBmLnJlYWRsaW5lcygpOgogICAgICAgICAgICAgbCA9IGwuZGVjb2RlKCJsYXRpbi0xIikKICAgICAgICAgICAgIG0gPSBjX3JlLm1hdGNoKGwpIG9yIGlfcmUubWF0Y2gobCkKQEAgLTE1MiwxNCArMTUyLDE0IEBACiAgICAgICAgIGlmIGJwbiAhPSAnZ2xpYmMnOgogICAgICAgICAgICAgZC5zZXRWYXIoJ1JQUk9WSURFU18lcycgJSBwa2csIHBrZy5yZXBsYWNlKGJwbiwgJ2dsaWJjJykpCiAKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBjaGFybWFwX2RpciwgZmlsZV9yZWdleD0nXiguKilcLmd6JCcsIG91dHB1dF9wYXR0ZXJuPWJwbisnLWNoYXJtYXAtJXMnLCBcCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgY2hhcm1hcF9kaXIsIGZpbGVfcmVnZXg9cideKC4qKVwuZ3okJywgb3V0cHV0X3BhdHRlcm49YnBuKyctY2hhcm1hcC0lcycsIFwKICAgICAgICAgZGVzY3JpcHRpb249J2NoYXJhY3RlciBtYXAgZm9yICVzIGVuY29kaW5nJywgaG9vaz1jYWxjX2NoYXJtYXBfZGVwcywgZXh0cmFfZGVwZW5kcz0nJykKIAogICAgIGRlZiBjYWxjX2xvY2FsZV9kZXBzKGZuLCBwa2csIGZpbGVfcmVnZXgsIG91dHB1dF9wYXR0ZXJuLCBncm91cCk6CiAgICAgICAgIGRlcHMgPSBbXQogICAgICAgICBmID0gb3BlbihmbiwgInJiIikKLSAgICAgICAgY19yZSA9IHJlLmNvbXBpbGUoJ15jb3B5ICIoLiopIicpCi0gICAgICAgIGlfcmUgPSByZS5jb21waWxlKCdeaW5jbHVkZSAiKFx3KykiLionKQorICAgICAgICBjX3JlID0gcmUuY29tcGlsZShyJ15jb3B5ICIoLiopIicpCisgICAgICAgIGlfcmUgPSByZS5jb21waWxlKHInXmluY2x1ZGUgIihcdyspIi4qJykKICAgICAgICAgZm9yIGwgaW4gZi5yZWFkbGluZXMoKToKICAgICAgICAgICAgIGwgPSBsLmRlY29kZSgibGF0aW4tMSIpCiAgICAgICAgICAgICBtID0gY19yZS5tYXRjaChsKSBvciBpX3JlLm1hdGNoKGwpCkBAIC0xNzMsMTMgKzE3MywxMyBAQAogICAgICAgICBpZiBicG4gIT0gJ2dsaWJjJzoKICAgICAgICAgICAgIGQuc2V0VmFyKCdSUFJPVklERVNfJXMnICUgcGtnLCBwa2cucmVwbGFjZShicG4sICdnbGliYycpKQogCi0gICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgbG9jYWxlc19kaXIsIGZpbGVfcmVnZXg9JyguKiknLCBvdXRwdXRfcGF0dGVybj1icG4rJy1sb2NhbGVkYXRhLSVzJywgXAorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGxvY2FsZXNfZGlyLCBmaWxlX3JlZ2V4PXInKC4qKScsIG91dHB1dF9wYXR0ZXJuPWJwbisnLWxvY2FsZWRhdGEtJXMnLCBcCiAgICAgICAgIGRlc2NyaXB0aW9uPSdsb2NhbGUgZGVmaW5pdGlvbiBmb3IgJXMnLCBob29rPWNhbGNfbG9jYWxlX2RlcHMsIGV4dHJhX2RlcGVuZHM9JycpCiAgICAgZC5zZXRWYXIoJ1BBQ0tBR0VTJywgZC5nZXRWYXIoJ1BBQ0tBR0VTJywgRmFsc2UpICsgJyAnICsgZC5nZXRWYXIoJ01MUFJFRklYJywgRmFsc2UpICsgYnBuICsgJy1nY29udicpCiAKICAgICB1c2VfYmluID0gZC5nZXRWYXIoIkdMSUJDX0lOVEVSTkFMX1VTRV9CSU5BUllfTE9DQUxFIikKIAotICAgIGRvdF9yZSA9IHJlLmNvbXBpbGUoIiguKilcLiguKikiKQorICAgIGRvdF9yZSA9IHJlLmNvbXBpbGUociIoLiopXC4oLiopIikKIAogICAgICMgUmVhZCBpbiBzdXBwb3J0ZWQgbG9jYWxlcyBhbmQgYXNzb2NpYXRlZCBlbmNvZGluZ3MKICAgICBzdXBwb3J0ZWQgPSB7fQpAQCAtMjM2LDYgKzIzNiw4IEBACiAgICAgICAgIGlmIHVzZV9jcm9zc19sb2NhbGVkZWYgPT0gIjEiOgogICAgICAgICAgICAgdGFyZ2V0X2FyY2ggPSBkLmdldFZhcignVEFSR0VUX0FSQ0gnKQogICAgICAgICAgICAgbG9jYWxlX2FyY2hfb3B0aW9ucyA9IHsgXAorICAgICAgICAgICAgICAgICJhcmMiOiAgICAgIiAtLXVpbnQzMi1hbGlnbj00IC0tbGl0dGxlLWVuZGlhbiAiLCBcCisgICAgICAgICAgICAgICAgImFyY2ViIjogICAiIC0tdWludDMyLWFsaWduPTQgLS1iaWctZW5kaWFuICIsICAgIFwKICAgICAgICAgICAgICAgICAiYXJtIjogICAgICIgLS11aW50MzItYWxpZ249NCAtLWxpdHRsZS1lbmRpYW4gIiwgXAogICAgICAgICAgICAgICAgICJhcm1lYiI6ICAgIiAtLXVpbnQzMi1hbGlnbj00IC0tYmlnLWVuZGlhbiAiLCAgICBcCiAgICAgICAgICAgICAgICAgImFhcmNoNjQiOiAiIC0tdWludDMyLWFsaWduPTQgLS1saXR0bGUtZW5kaWFuICIsICAgIFwKQEAgLTI3OCw3ICsyODAsNyBAQAogICAgICAgICAgICAgcWVtdV9vcHRpb25zID0gZC5nZXRWYXIoJ1FFTVVfT1BUSU9OUycpCiAKICAgICAgICAgICAgIGNtZCA9ICJQU0VVRE9fUkVMT0FERUQ9WUVTIFBBVEg9XCIlc1wiIEkxOE5QQVRIPVwiJXNcIiAlcyAtTCAlcyBcCi0gICAgICAgICAgICAgICAgLUUgTERfTElCUkFSWV9QQVRIPSVzICVzICVzL2Jpbi9sb2NhbGVkZWYgJXMiICUgXAorICAgICAgICAgICAgICAgIC1FIExEX0xJQlJBUllfUEFUSD0lcyAlcyAlcyR7YmFzZV9iaW5kaXJ9L2xvY2FsZWRlZiAlcyIgJSBcCiAgICAgICAgICAgICAgICAgKHBhdGgsIGkxOG5wYXRoLCBxZW11LCB0cmVlZGlyLCBsZGxpYmRpciwgcWVtdV9vcHRpb25zLCB0cmVlZGlyLCBsb2NhbGVkZWZfb3B0cykKIAogICAgICAgICBjb21tYW5kc1siJXMvJXMiICUgKG91dHB1dHBhdGgsIG5hbWUpXSA9IGNtZApAQCAtMjkwLDcgKzI5Miw3IEBACiAgICAgICAgIGQuc2V0VmFyKCdBTExPV19FTVBUWV8lcycgJSBwa2duYW1lLCAnMScpCiAgICAgICAgIGQuc2V0VmFyKCdQQUNLQUdFUycsICclcyAlcycgJSAocGtnbmFtZSwgZC5nZXRWYXIoJ1BBQ0tBR0VTJykpKQogICAgICAgICBycHJvdmlkZXMgPSAnICVzdmlydHVhbC1sb2NhbGUtJXMnICUgKG1scHJlZml4LCBsZWdpdGltaXplX3BhY2thZ2VfbmFtZShuYW1lKSkKLSAgICAgICAgbSA9IHJlLm1hdGNoKCIoLiopXyguKikiLCBuYW1lKQorICAgICAgICBtID0gcmUubWF0Y2gociIoLiopXyguKikiLCBuYW1lKQogICAgICAgICBpZiBtOgogICAgICAgICAgICAgcnByb3ZpZGVzICs9ICcgJXN2aXJ0dWFsLWxvY2FsZS0lcycgJSAobWxwcmVmaXgsIG0uZ3JvdXAoMSkpCiAgICAgICAgIGQuc2V0VmFyKCdSUFJPVklERVNfJXMnICUgcGtnbmFtZSwgcnByb3ZpZGVzKQpAQCAtMzQzLDExICszNDUsMTQgQEAKICAgICAgICAgbWFrZWZpbGUgPSBvZS5wYXRoLmpvaW4oZC5nZXRWYXIoIldPUktESVIiKSwgImxvY2FsZS10cmVlIiwgIk1ha2VmaWxlIikKICAgICAgICAgbSA9IG9wZW4obWFrZWZpbGUsICJ3IikKICAgICAgICAgbS53cml0ZSgiYWxsOiAlc1xuXG4iICUgIiAiLmpvaW4oY29tbWFuZHMua2V5cygpKSkKLSAgICAgICAgZm9yIGNtZCBpbiBjb21tYW5kczoKKyAgICAgICAgdG90YWwgPSBsZW4oY29tbWFuZHMpCisgICAgICAgIGZvciBpLCBjbWQgaW4gZW51bWVyYXRlKGNvbW1hbmRzKToKICAgICAgICAgICAgIG0ud3JpdGUoY21kICsgIjpcbiIpCisgICAgICAgICAgICBtLndyaXRlKCJcdEBlY2hvICdQcm9ncmVzcyAlZC8lZCdcbiIgJSAoaSwgdG90YWwpKQogICAgICAgICAgICAgbS53cml0ZSgiXHQiICsgY29tbWFuZHNbY21kXSArICJcblxuIikKICAgICAgICAgbS5jbG9zZSgpCiAgICAgICAgIGQuc2V0VmFyKCJFWFRSQV9PRU1BS0UiLCAiLUMgJXMgJHtQQVJBTExFTF9NQUtFfSIgJSAob3MucGF0aC5kaXJuYW1lKG1ha2VmaWxlKSkpCisgICAgICAgIGQuc2V0VmFyRmxhZygib2VfcnVubWFrZSIsICJwcm9ncmVzcyIsICJvdXRvZjpQcm9ncmVzc1xzKFxkKykvKFxkKykiKQogICAgICAgICBiYi5ub3RlKCJFeGVjdXRpbmcgYmluYXJ5IGxvY2FsZSBnZW5lcmF0aW9uIG1ha2VmaWxlIikKICAgICAgICAgYmIuYnVpbGQuZXhlY19mdW5jKCJvZV9ydW5tYWtlIiwgZCkKICAgICAgICAgYmIubm90ZSgiY29sbGVjdGluZyBiaW5hcnkgbG9jYWxlcyBmcm9tIGxvY2FsZSB0cmVlIikKQEAgLTM1NiwxMiArMzYxLDEyIEBACiAgICAgaWYgdXNlX2JpbiBpbiAoJ2NvbXBpbGUnLCAncHJlY29tcGlsZWQnKToKICAgICAgICAgbGNzcGxpdCA9IGQuZ2V0VmFyKCdHTElCQ19TUExJVF9MQ19QQUNLQUdFUycpCiAgICAgICAgIGlmIGxjc3BsaXQgYW5kIGludChsY3NwbGl0KToKLSAgICAgICAgICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGJpbmFyeV9sb2NhbGVzX2RpciwgZmlsZV9yZWdleD0nXiguKi9MQ19cdyspJywgXAorICAgICAgICAgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgYmluYXJ5X2xvY2FsZXNfZGlyLCBmaWxlX3JlZ2V4PXInXiguKi9MQ19cdyspJywgXAogICAgICAgICAgICAgICAgIG91dHB1dF9wYXR0ZXJuPWJwbisnLWJpbmFyeS1sb2NhbGVkYXRhLSVzJywgXAogICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uPSdiaW5hcnkgbG9jYWxlIGRlZmluaXRpb24gZm9yICVzJywgcmVjdXJzaXZlPVRydWUsCiAgICAgICAgICAgICAgICAgaG9vaz1tZXRhcGtnX2hvb2ssIGV4dHJhX2RlcGVuZHM9JycsIGFsbG93X2RpcnM9VHJ1ZSwgbWF0Y2hfcGF0aD1UcnVlKQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgYmluYXJ5X2xvY2FsZXNfZGlyLCBmaWxlX3JlZ2V4PScoLiopJywgXAorICAgICAgICAgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgYmluYXJ5X2xvY2FsZXNfZGlyLCBmaWxlX3JlZ2V4PXInKC4qKScsIFwKICAgICAgICAgICAgICAgICBvdXRwdXRfcGF0dGVybj1icG4rJy1iaW5hcnktbG9jYWxlZGF0YS0lcycsIFwKICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbj0nYmluYXJ5IGxvY2FsZSBkZWZpbml0aW9uIGZvciAlcycsIGV4dHJhX2RlcGVuZHM9JycsIGFsbG93X2RpcnM9VHJ1ZSkKICAgICBlbHNlOgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvbGljZW5zZS5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvbGljZW5zZS5iYmNsYXNzCmluZGV4IGFlYzY5OTkuLmVkOTFhNGIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2xpY2Vuc2UuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9saWNlbnNlLmJiY2xhc3MKQEAgLTMxNiw4ICszMTYsOCBAQAogICAgIFRoaXMgZnVuY3Rpb24gY2hlY2tzIGlmIGEgcmVjaXBlIGhhcyBhbnkgTElDRU5TRV9GTEFHUyB0aGF0CiAgICAgYXJlbid0IHdoaXRlbGlzdGVkLgogCi0gICAgSWYgaXQgZG9lcywgaXQgcmV0dXJucyB0aGUgZmlyc3QgTElDRU5TRV9GTEFHUyBpdGVtIG1pc3NpbmcgZnJvbSB0aGUKLSAgICB3aGl0ZWxpc3QsIG9yIGFsbCBvZiB0aGUgTElDRU5TRV9GTEFHUyBpZiB0aGVyZSBpcyBubyB3aGl0ZWxpc3QuCisgICAgSWYgaXQgZG9lcywgaXQgcmV0dXJucyB0aGUgYWxsIExJQ0VOU0VfRkxBR1MgbWlzc2luZyBmcm9tIHRoZSB3aGl0ZWxpc3QsIG9yCisgICAgYWxsIG9mIHRoZSBMSUNFTlNFX0ZMQUdTIGlmIHRoZXJlIGlzIG5vIHdoaXRlbGlzdC4KIAogICAgIElmIGV2ZXJ5dGhpbmcgaXMgaXMgcHJvcGVybHkgd2hpdGVsaXN0ZWQsIGl0IHJldHVybnMgTm9uZS4KICAgICAiIiIKQEAgLTM1NCwyMiArMzU0LDIzIEBACiAgICAgICAgIHJldHVybiBGYWxzZQogCiAgICAgZGVmIGFsbF9saWNlbnNlX2ZsYWdzX21hdGNoKGxpY2Vuc2VfZmxhZ3MsIHdoaXRlbGlzdCk6Ci0gICAgICAgICIiIiBSZXR1cm4gZmlyc3QgdW5tYXRjaGVkIGZsYWcsIE5vbmUgaWYgYWxsIGZsYWdzIG1hdGNoICIiIgorICAgICAgICAiIiIgUmV0dXJuIGFsbCB1bm1hdGNoZWQgZmxhZ3MsIE5vbmUgaWYgYWxsIGZsYWdzIG1hdGNoICIiIgogICAgICAgICBwbiA9IGQuZ2V0VmFyKCdQTicpCiAgICAgICAgIHNwbGl0X3doaXRlbGlzdCA9IHdoaXRlbGlzdC5zcGxpdCgpCisgICAgICAgIGZsYWdzID0gW10KICAgICAgICAgZm9yIGZsYWcgaW4gbGljZW5zZV9mbGFncy5zcGxpdCgpOgogICAgICAgICAgICAgaWYgbm90IGxpY2Vuc2VfZmxhZ19tYXRjaGVzKGZsYWcsIHNwbGl0X3doaXRlbGlzdCwgcG4pOgotICAgICAgICAgICAgICAgIHJldHVybiBmbGFnCi0gICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICAgICAgZmxhZ3MuYXBwZW5kKGZsYWcpCisgICAgICAgIHJldHVybiBmbGFncyBpZiBmbGFncyBlbHNlIE5vbmUKIAogICAgIGxpY2Vuc2VfZmxhZ3MgPSBkLmdldFZhcignTElDRU5TRV9GTEFHUycpCiAgICAgaWYgbGljZW5zZV9mbGFnczoKICAgICAgICAgd2hpdGVsaXN0ID0gZC5nZXRWYXIoJ0xJQ0VOU0VfRkxBR1NfV0hJVEVMSVNUJykKICAgICAgICAgaWYgbm90IHdoaXRlbGlzdDoKLSAgICAgICAgICAgIHJldHVybiBsaWNlbnNlX2ZsYWdzCi0gICAgICAgIHVubWF0Y2hlZF9mbGFnID0gYWxsX2xpY2Vuc2VfZmxhZ3NfbWF0Y2gobGljZW5zZV9mbGFncywgd2hpdGVsaXN0KQotICAgICAgICBpZiB1bm1hdGNoZWRfZmxhZzoKLSAgICAgICAgICAgIHJldHVybiB1bm1hdGNoZWRfZmxhZworICAgICAgICAgICAgcmV0dXJuIGxpY2Vuc2VfZmxhZ3Muc3BsaXQoKQorICAgICAgICB1bm1hdGNoZWRfZmxhZ3MgPSBhbGxfbGljZW5zZV9mbGFnc19tYXRjaChsaWNlbnNlX2ZsYWdzLCB3aGl0ZWxpc3QpCisgICAgICAgIGlmIHVubWF0Y2hlZF9mbGFnczoKKyAgICAgICAgICAgIHJldHVybiB1bm1hdGNoZWRfZmxhZ3MKICAgICByZXR1cm4gTm9uZQogCiBkZWYgY2hlY2tfbGljZW5zZV9mb3JtYXQoZCk6CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9saWNlbnNlX2ltYWdlLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9saWNlbnNlX2ltYWdlLmJiY2xhc3MKaW5kZXggYjY1ZmY1Ni4uNjc1MDAzOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvbGljZW5zZV9pbWFnZS5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2xpY2Vuc2VfaW1hZ2UuYmJjbGFzcwpAQCAtMzIsMTEgKzMyLDEyIEBACiAKICAgICByb290ZnNfbGljZW5zZV9tYW5pZmVzdCA9IG9zLnBhdGguam9pbihkLmdldFZhcignTElDRU5TRV9ESVJFQ1RPUlknKSwKICAgICAgICAgICAgICAgICAgICAgICAgIGQuZ2V0VmFyKCdJTUFHRV9OQU1FJyksICdsaWNlbnNlLm1hbmlmZXN0JykKLSAgICB3cml0ZV9saWNlbnNlX2ZpbGVzKGQsIHJvb3Rmc19saWNlbnNlX21hbmlmZXN0LCBwa2dfZGljKQorICAgIHdyaXRlX2xpY2Vuc2VfZmlsZXMoZCwgcm9vdGZzX2xpY2Vuc2VfbWFuaWZlc3QsIHBrZ19kaWMsIHJvb3Rmcz1UcnVlKQogfQogCi1kZWYgd3JpdGVfbGljZW5zZV9maWxlcyhkLCBsaWNlbnNlX21hbmlmZXN0LCBwa2dfZGljKToKK2RlZiB3cml0ZV9saWNlbnNlX2ZpbGVzKGQsIGxpY2Vuc2VfbWFuaWZlc3QsIHBrZ19kaWMsIHJvb3Rmcz1UcnVlKToKICAgICBpbXBvcnQgcmUKKyAgICBpbXBvcnQgc3RhdAogCiAgICAgYmFkX2xpY2Vuc2VzID0gKGQuZ2V0VmFyKCJJTkNPTVBBVElCTEVfTElDRU5TRSIpIG9yICIiKS5zcGxpdCgpCiAgICAgYmFkX2xpY2Vuc2VzID0gbWFwKGxhbWJkYSBsOiBjYW5vbmljYWxfbGljZW5zZShkLCBsKSwgYmFkX2xpY2Vuc2VzKQpAQCAtOTQsNyArOTUsNyBAQAogICAgICMgV2l0aCBib3RoIG9wdGlvbnMgc2V0IHdlIHNlZSBhIC41IE0gaW5jcmVhc2UgaW4gY29yZS1pbWFnZS1taW5pbWFsCiAgICAgY29weV9saWNfbWFuaWZlc3QgPSBkLmdldFZhcignQ09QWV9MSUNfTUFOSUZFU1QnKQogICAgIGNvcHlfbGljX2RpcnMgPSBkLmdldFZhcignQ09QWV9MSUNfRElSUycpCi0gICAgaWYgY29weV9saWNfbWFuaWZlc3QgPT0gIjEiOgorICAgIGlmIHJvb3RmcyBhbmQgY29weV9saWNfbWFuaWZlc3QgPT0gIjEiOgogICAgICAgICByb290ZnNfbGljZW5zZV9kaXIgPSBvcy5wYXRoLmpvaW4oZC5nZXRWYXIoJ0lNQUdFX1JPT1RGUycpLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3VzcicsICdzaGFyZScsICdjb21tb24tbGljZW5zZXMnKQogICAgICAgICBiYi51dGlscy5ta2RpcmhpZXIocm9vdGZzX2xpY2Vuc2VfZGlyKQpAQCAtMTQ2LDYgKzE0NywxOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAKICAgICAgICAgICAgICAgICAgICAgICAgIG9zLmxpbmsocGtnX2xpY2Vuc2UsIHBrZ19yb290ZnNfbGljZW5zZSkKKyAgICAgICAgICAgICMgRml4dXAgZmlsZSBvd25lcnNoaXAgYW5kIHBlcm1pc3Npb25zCisgICAgICAgICAgICBmb3Igd2Fsa3Jvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGsocm9vdGZzX2xpY2Vuc2VfZGlyKToKKyAgICAgICAgICAgICAgICBmb3IgZiBpbiBmaWxlczoKKyAgICAgICAgICAgICAgICAgICAgcCA9IG9zLnBhdGguam9pbih3YWxrcm9vdCwgZikKKyAgICAgICAgICAgICAgICAgICAgb3MubGNob3duKHAsIDAsIDApCisgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzbGluayhwKToKKyAgICAgICAgICAgICAgICAgICAgICAgIG9zLmNobW9kKHAsIHN0YXQuU19JUlVTUiB8IHN0YXQuU19JV1VTUiB8IHN0YXQuU19JUkdSUCB8IHN0YXQuU19JUk9USCkKKyAgICAgICAgICAgICAgICBmb3IgZGlyIGluIGRpcnM6CisgICAgICAgICAgICAgICAgICAgIHAgPSBvcy5wYXRoLmpvaW4od2Fsa3Jvb3QsIGRpcikKKyAgICAgICAgICAgICAgICAgICAgb3MubGNob3duKHAsIDAsIDApCisgICAgICAgICAgICAgICAgICAgIG9zLmNobW9kKHAsIHN0YXQuU19JUldYVSB8IHN0YXQuU19JUkdSUCB8IHN0YXQuU19JWEdSUCB8IHN0YXQuU19JUk9USCB8IHN0YXQuU19JWE9USCkKKwogCiAKIGRlZiBsaWNlbnNlX2RlcGxveWVkX21hbmlmZXN0KGQpOgpAQCAtMTc2LDcgKzE4OSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkLmdldFZhcignSU1BR0VfTkFNRScpKQogICAgIGJiLnV0aWxzLm1rZGlyaGllcihsaWNfbWFuaWZlc3RfZGlyKQogICAgIGltYWdlX2xpY2Vuc2VfbWFuaWZlc3QgPSBvcy5wYXRoLmpvaW4obGljX21hbmlmZXN0X2RpciwgJ2ltYWdlX2xpY2Vuc2UubWFuaWZlc3QnKQotICAgIHdyaXRlX2xpY2Vuc2VfZmlsZXMoZCwgaW1hZ2VfbGljZW5zZV9tYW5pZmVzdCwgbWFuX2RpYykKKyAgICB3cml0ZV9saWNlbnNlX2ZpbGVzKGQsIGltYWdlX2xpY2Vuc2VfbWFuaWZlc3QsIG1hbl9kaWMsIHJvb3Rmcz1GYWxzZSkKIAogZGVmIGdldF9kZXBsb3llZF9kZXBlbmRlbmNpZXMoZCk6CiAgICAgIiIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9tY2V4dGVuZC5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvbWNleHRlbmQuYmJjbGFzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjhmOTYyCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvbWNleHRlbmQuYmJjbGFzcwpAQCAtMCwwICsxLDE2IEBACitweXRob24gbWNleHRlbmRfdmlydGNsYXNzX2hhbmRsZXIgKCkgeworICAgIGNscyA9IGUuZGF0YS5nZXRWYXIoIkJCRVhURU5EQ1VSUiIpCisgICAgdmFyaWFudCA9IGUuZGF0YS5nZXRWYXIoIkJCRVhURU5EVkFSSUFOVCIpCisgICAgaWYgY2xzICE9ICJtY2V4dGVuZCIgb3Igbm90IHZhcmlhbnQ6CisgICAgICAgIHJldHVybgorCisgICAgb3ZlcnJpZGUgPSAiOnZpcnRjbGFzcy1tY2V4dGVuZC0iICsgdmFyaWFudAorCisgICAgZS5kYXRhLnNldFZhcigiUE4iLCBlLmRhdGEuZ2V0VmFyKCJQTiIsIEZhbHNlKSArICItIiArIHZhcmlhbnQpCisgICAgZS5kYXRhLnNldFZhcigiTUNOQU1FIiwgdmFyaWFudCkKKyAgICBlLmRhdGEuc2V0VmFyKCJPVkVSUklERVMiLCBlLmRhdGEuZ2V0VmFyKCJPVkVSUklERVMiLCBGYWxzZSkgKyBvdmVycmlkZSkKK30KKworYWRkaGFuZGxlciBtY2V4dGVuZF92aXJ0Y2xhc3NfaGFuZGxlcgorbWNleHRlbmRfdmlydGNsYXNzX2hhbmRsZXJbZXZlbnRtYXNrXSA9ICJiYi5ldmVudC5SZWNpcGVQcmVGaW5hbGlzZSIKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvbWVzb24uYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL21lc29uLmJiY2xhc3MKaW5kZXggM2NiZGNmMS4uMTE1ZDFhZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvbWVzb24uYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9tZXNvbi5iYmNsYXNzCkBAIC01NCw4ICs1NCwxMiBAQAogICAgICAgICByZXR1cm4gJ3BwYycKICAgICBlbGlmIGFyY2ggPT0gJ3Bvd2VycGM2NCc6CiAgICAgICAgIHJldHVybiAncHBjNjQnCisgICAgZWxpZiBhcmNoID09ICdhcm1lYic6CisgICAgICAgIHJldHVybiAnYXJtJwogICAgIGVsaWYgYXJjaCA9PSAnbWlwc2VsJzoKICAgICAgICAgcmV0dXJuICdtaXBzJworICAgIGVsaWYgYXJjaCA9PSAnbWlwczY0ZWwnOgorICAgICAgICByZXR1cm4gJ21pcHM2NCcKICAgICBlbGlmIHJlLm1hdGNoKHIiaVszLTZdODYiLCBhcmNoKToKICAgICAgICAgcmV0dXJuICJ4ODYiCiAgICAgZWxzZToKQEAgLTg1LDYgKzg5LDcgQEAKIHN0cmlwID0gJHtAbWVzb25fYXJyYXkoJ1NUUklQJywgZCl9CiByZWFkZWxmID0gJHtAbWVzb25fYXJyYXkoJ1JFQURFTEYnLCBkKX0KIHBrZ2NvbmZpZyA9ICdwa2ctY29uZmlnJworbGx2bS1jb25maWcgPSAnbGx2bS1jb25maWc4LjAuMCcKIAogW3Byb3BlcnRpZXNdCiBuZWVkc19leGVfd3JhcHBlciA9IHRydWUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL21ldGFkYXRhX3NjbS5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvbWV0YWRhdGFfc2NtLmJiY2xhc3MKaW5kZXggZmE3OTFmMC4uNThiYjRjNSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvbWV0YWRhdGFfc2NtLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvbWV0YWRhdGFfc2NtLmJiY2xhc3MKQEAgLTMsNTUgKzMsMTUgQEAKIAogZGVmIGJhc2VfZGV0ZWN0X3JldmlzaW9uKGQpOgogICAgIHBhdGggPSBiYXNlX2dldF9zY21iYXNlcGF0aChkKQotCi0gICAgc2NtcyA9IFtiYXNlX2dldF9tZXRhZGF0YV9naXRfcmV2aXNpb25dCi0KLSAgICBmb3Igc2NtIGluIHNjbXM6Ci0gICAgICAgIHJldiA9IHNjbShwYXRoLCBkKQotICAgICAgICBpZiByZXYgIT0gIjx1bmtub3duPiI6Ci0gICAgICAgICAgICByZXR1cm4gcmV2Ci0KLSAgICByZXR1cm4gIjx1bmtub3duPiIKKyAgICByZXR1cm4gYmFzZV9nZXRfbWV0YWRhdGFfZ2l0X3JldmlzaW9uKHBhdGgsIGQpCiAKIGRlZiBiYXNlX2RldGVjdF9icmFuY2goZCk6CiAgICAgcGF0aCA9IGJhc2VfZ2V0X3NjbWJhc2VwYXRoKGQpCi0KLSAgICBzY21zID0gW2Jhc2VfZ2V0X21ldGFkYXRhX2dpdF9icmFuY2hdCi0KLSAgICBmb3Igc2NtIGluIHNjbXM6Ci0gICAgICAgIHJldiA9IHNjbShwYXRoLCBkKQotICAgICAgICBpZiByZXYgIT0gIjx1bmtub3duPiI6Ci0gICAgICAgICAgICByZXR1cm4gcmV2LnN0cmlwKCkKLQotICAgIHJldHVybiAiPHVua25vd24+IgorICAgIHJldHVybiBiYXNlX2dldF9tZXRhZGF0YV9naXRfYnJhbmNoKHBhdGgsIGQpCiAKIGRlZiBiYXNlX2dldF9zY21iYXNlcGF0aChkKToKICAgICByZXR1cm4gb3MucGF0aC5qb2luKGQuZ2V0VmFyKCdDT1JFQkFTRScpLCAnbWV0YScpCiAKLWRlZiBiYXNlX2dldF9tZXRhZGF0YV9tb25vdG9uZV9icmFuY2gocGF0aCwgZCk6Ci0gICAgbW9ub3RvbmVfYnJhbmNoID0gIjx1bmtub3duPiIKLSAgICB0cnk6Ci0gICAgICAgIHdpdGggb3BlbigiJXMvX01UTi9vcHRpb25zIiAlIHBhdGgpIGFzIGY6Ci0gICAgICAgICAgICBtb25vdG9uZV9icmFuY2ggPSBmLnJlYWQoKS5zdHJpcCgpCi0gICAgICAgICAgICBpZiBtb25vdG9uZV9icmFuY2guc3RhcnRzd2l0aCggImRhdGFiYXNlIiApOgotICAgICAgICAgICAgICAgIG1vbm90b25lX2JyYW5jaF93b3JkcyA9IG1vbm90b25lX2JyYW5jaC5zcGxpdCgpCi0gICAgICAgICAgICAgICAgbW9ub3RvbmVfYnJhbmNoID0gbW9ub3RvbmVfYnJhbmNoX3dvcmRzWyBtb25vdG9uZV9icmFuY2hfd29yZHMuaW5kZXgoICJicmFuY2giICkrMV1bMTotMV0KLSAgICBleGNlcHQ6Ci0gICAgICAgIHBhc3MKLSAgICByZXR1cm4gbW9ub3RvbmVfYnJhbmNoCi0KLWRlZiBiYXNlX2dldF9tZXRhZGF0YV9tb25vdG9uZV9yZXZpc2lvbihwYXRoLCBkKToKLSAgICBtb25vdG9uZV9yZXZpc2lvbiA9ICI8dW5rbm93bj4iCi0gICAgdHJ5OgotICAgICAgICB3aXRoIG9wZW4oIiVzL19NVE4vcmV2aXNpb24iICUgcGF0aCkgYXMgZjoKLSAgICAgICAgICAgIG1vbm90b25lX3JldmlzaW9uID0gZi5yZWFkKCkuc3RyaXAoKQotICAgICAgICAgICAgaWYgbW9ub3RvbmVfcmV2aXNpb24uc3RhcnRzd2l0aCggImZvcm1hdF92ZXJzaW9uIiApOgotICAgICAgICAgICAgICAgIG1vbm90b25lX3JldmlzaW9uX3dvcmRzID0gbW9ub3RvbmVfcmV2aXNpb24uc3BsaXQoKQotICAgICAgICAgICAgICAgIG1vbm90b25lX3JldmlzaW9uID0gbW9ub3RvbmVfcmV2aXNpb25fd29yZHNbIG1vbm90b25lX3JldmlzaW9uX3dvcmRzLmluZGV4KCAib2xkX3JldmlzaW9uIiApKzFdWzE6LTFdCi0gICAgZXhjZXB0IElPRXJyb3I6Ci0gICAgICAgIHBhc3MKLSAgICByZXR1cm4gbW9ub3RvbmVfcmV2aXNpb24KLQogZGVmIGJhc2VfZ2V0X21ldGFkYXRhX3N2bl9yZXZpc2lvbihwYXRoLCBkKToKICAgICAjIFRoaXMgb25seSB3b3JrcyB3aXRoIG9sZGVyIHN1YnZlcnNpb24uIEZvciBuZXdlciB2ZXJzaW9ucyAKICAgICAjIHRoaXMgZnVuY3Rpb24gd2lsbCBuZWVkIHRvIGJlIGZpeGVkIGJ5IHNvbWVvbmUgaW50ZXJlc3RlZApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvbW9kdWxlLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9tb2R1bGUuYmJjbGFzcwppbmRleCBlMzQ0OTYwLi5jMGRmYTM1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9tb2R1bGUuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9tb2R1bGUuYmJjbGFzcwpAQCAtNDgsNiArNDgsNyBAQAogbW9kdWxlX2RvX2luc3RhbGwoKSB7CiAJdW5zZXQgQ0ZMQUdTIENQUEZMQUdTIENYWEZMQUdTIExERkxBR1MKIAlvZV9ydW5tYWtlIERFUE1PRD1lY2hvIE1PRExJQj0iJHtEfSR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vbW9kdWxlcy8ke0tFUk5FTF9WRVJTSU9OfSIgXAorCSAgICAgICAgICAgSU5TVEFMTF9GV19QQVRIPSIke0R9JHtub25hcmNoX2Jhc2VfbGliZGlyfS9maXJtd2FyZSIgXAogCSAgICAgICAgICAgQ0M9IiR7S0VSTkVMX0NDfSIgTEQ9IiR7S0VSTkVMX0xEfSIgXAogCSAgICAgICAgICAgTz0ke1NUQUdJTkdfS0VSTkVMX0JVSUxERElSfSBcCiAJICAgICAgICAgICAke01PRFVMRVNfSU5TVEFMTF9UQVJHRVR9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9tdWx0aWxpYi5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvbXVsdGlsaWIuYmJjbGFzcwppbmRleCA2YzY0OTlhLi4yYjc2MWYzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9tdWx0aWxpYi5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL211bHRpbGliLmJiY2xhc3MKQEAgLTg4LDggKzg4LDYgQEAKIGFkZGhhbmRsZXIgbXVsdGlsaWJfdmlydGNsYXNzX2hhbmRsZXIKIG11bHRpbGliX3ZpcnRjbGFzc19oYW5kbGVyW2V2ZW50bWFza10gPSAiYmIuZXZlbnQuUmVjaXBlUHJlRmluYWxpc2UiCiAKLVNUQUdJTkdDQ19wcmVwZW5kID0gIiR7QkJFWFRFTkRWQVJJQU5UfS0iCi0KIHB5dGhvbiBfX2Fub255bW91cyAoKSB7CiAgICAgdmFyaWFudCA9IGQuZ2V0VmFyKCJCQkVYVEVORFZBUklBTlQiKQogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9uYXRpdmUuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL25hdGl2ZS5iYmNsYXNzCmluZGV4IGRkY2NmZTIuLmU5ZjZjNzQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL25hdGl2ZS5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL25hdGl2ZS5iYmNsYXNzCkBAIC0xMTksNiArMTE5LDkgQEAKICMgcmV1c2VkIGlmIHdlIG1hbmlwdWxhdGUgdGhlIHBhdGhzLgogU1NUQVRFX1NDQU5fQ01EID89ICIke1NTVEFURV9TQ0FOX0NNRF9OQVRJVkV9IgogCisjIE5vIHN0cmlwIHN5c3Jvb3Qgd2hlbiBERUJVR19CVUlMRCBpcyBlbmFibGVkCitJTkhJQklUX1NZU1JPT1RfU1RSSVAgPz0gIiR7QG9lLnV0aWxzLnZhcnRydWUoJ0RFQlVHX0JVSUxEJywgJzEnLCAnJywgZCl9IgorCiBweXRob24gbmF0aXZlX3ZpcnRjbGFzc19oYW5kbGVyICgpIHsKICAgICBwbiA9IGUuZGF0YS5nZXRWYXIoIlBOIikKICAgICBpZiBub3QgcG4uZW5kc3dpdGgoIi1uYXRpdmUiKToKQEAgLTE4OSwzICsxOTIsNiBAQAogZG9fcG9wdWxhdGVfc3lzcm9vdFtzdGFtcC1leHRyYS1pbmZvXSA9ICIiCiAKIFVTRV9OTFMgPSAibm8iCisKK1JFQ0lQRVJERVBUQVNLID0gImRvX3BvcHVsYXRlX3N5c3Jvb3QiCitkb19wb3B1bGF0ZV9zeXNyb290W3JkZXB0YXNrXSA9ICIke1JFQ0lQRVJERVBUQVNLfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2UuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2UuYmJjbGFzcwppbmRleCA2NmU0MjNlLi40YzBhODU5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZS5iYmNsYXNzCkBAIC03NSw3ICs3NSw3IEBACiAgICAgICAgICAgICByZXR1cm4gKCdcXHUlcycgJSBjcCkuZW5jb2RlKCdsYXRpbi0xJykuZGVjb2RlKCd1bmljb2RlX2VzY2FwZScpCiAKICAgICAjIEhhbmRsZSB1bmljb2RlIGNvZGVwb2ludHMgZW5jb2RlZCBhcyA8VTAxMjM+LCBhcyBpbiBnbGliYyBsb2NhbGUgZmlsZXMuCi0gICAgcyA9IHJlLnN1YignPFUoWzAtOUEtRmEtZl17MSw0fSk+JywgZml4dXRmLCBzKQorICAgIHMgPSByZS5zdWIocic8VShbMC05QS1GYS1mXXsxLDR9KT4nLCBmaXh1dGYsIHMpCiAKICAgICAjIFJlbWFpbmluZyBwYWNrYWdlIG5hbWUgdmFsaWRpdHkgZml4ZXMKICAgICByZXR1cm4gcy5sb3dlcigpLnJlcGxhY2UoJ18nLCAnLScpLnJlcGxhY2UoJ0AnLCAnKycpLnJlcGxhY2UoJywnLCAnKycpLnJlcGxhY2UoJy8nLCAnLScpCkBAIC0zNDQsNyArMzQ0LDcgQEAKIAogICAgIHJldHVybiBkZWJ1Z2ZpbGVzLmtleXMoKQogCi1kZWYgYXBwZW5kX3NvdXJjZV9pbmZvKGZpbGUsIHNvdXJjZWZpbGUsIGQsIGZhdGFsPVRydWUpOgorZGVmIHNvdXJjZV9pbmZvKGZpbGUsIGQsIGZhdGFsPVRydWUpOgogICAgIGltcG9ydCBzdWJwcm9jZXNzCiAKICAgICBjbWQgPSBbImR3YXJmc3JjZmlsZXMiLCBmaWxlXQpAQCAtMzYzLDIyICszNjMsMTUgQEAKICAgICAgICAgYmIubm90ZShtc2cpCiAKICAgICBkZWJ1Z3NvdXJjZXMgPSBwYXJzZV9kZWJ1Z3NvdXJjZXNfZnJvbV9kd2FyZnNyY2ZpbGVzX291dHB1dChvdXRwdXQpCi0gICAgIyBmaWxlbmFtZXMgYXJlIG51bGwtc2VwYXJhdGVkIC0gdGhpcyBpcyBhbiBhcnRlZmFjdCBvZiB0aGUgcHJldmlvdXMgdXNlCi0gICAgIyBvZiBycG0ncyBkZWJ1Z2VkaXQsIHdoaWNoIHdhcyB3cml0aW5nIHRoZW0gb3V0IHRoYXQgd2F5LCBhbmQgdGhlIGNvZGUgZWxzZXdoZXJlCi0gICAgIyBpcyBzdGlsbCBhc3N1bWluZyB0aGF0LgotICAgIGRlYnVnbGlzdG91dHB1dCA9ICdcMCcuam9pbihkZWJ1Z3NvdXJjZXMpICsgJ1wwJwotICAgIGxmID0gYmIudXRpbHMubG9ja2ZpbGUoc291cmNlZmlsZSArICIubG9jayIpCi0gICAgd2l0aCBvcGVuKHNvdXJjZWZpbGUsICdhJykgYXMgc2Y6Ci0gICAgICAgIHNmLndyaXRlKGRlYnVnbGlzdG91dHB1dCkKLSAgICBiYi51dGlscy51bmxvY2tmaWxlKGxmKQogCisgICAgcmV0dXJuIGxpc3QoZGVidWdzb3VyY2VzKQogCi1kZWYgc3BsaXRkZWJ1Z2luZm8oZmlsZSwgZHZhciwgZGVidWdkaXIsIGRlYnVnbGliZGlyLCBkZWJ1Z2FwcGVuZCwgZGVidWdzcmNkaXIsIHNvdXJjZWZpbGUsIGQpOgorZGVmIHNwbGl0ZGVidWdpbmZvKGZpbGUsIGR2YXIsIGRlYnVnZGlyLCBkZWJ1Z2xpYmRpciwgZGVidWdhcHBlbmQsIGRlYnVnc3JjZGlyLCBkKToKICAgICAjIEZ1bmN0aW9uIHRvIHNwbGl0IGEgc2luZ2xlIGZpbGUgaW50byB0d28gY29tcG9uZW50cywgb25lIGlzIHRoZSBzdHJpcHBlZAogICAgICMgdGFyZ2V0IHN5c3RlbSBiaW5hcnksIHRoZSBvdGhlciBjb250YWlucyBhbnkgZGVidWdnaW5nIGluZm9ybWF0aW9uLiBUaGUKICAgICAjIHR3byBmaWxlcyBhcmUgbGlua2VkIHRvIHJlZmVyZW5jZSBlYWNoIG90aGVyLgogICAgICMKLSAgICAjIHNvdXJjZWZpbGUgaXMgYWxzbyBnZW5lcmF0ZWQgY29udGFpbmluZyBhIGxpc3Qgb2YgZGVidWdzb3VyY2VzCisgICAgIyByZXR1cm4gYSBtYXBwaW5nIG9mIGZpbGVzOmRlYnVnc291cmNlcwogCiAgICAgaW1wb3J0IHN0YXQKICAgICBpbXBvcnQgc3VicHJvY2VzcwpAQCAtMzg2LDYgKzM3OSw3IEBACiAgICAgc3JjID0gZmlsZVtsZW4oZHZhcik6XQogICAgIGRlc3QgPSBkZWJ1Z2xpYmRpciArIG9zLnBhdGguZGlybmFtZShzcmMpICsgZGVidWdkaXIgKyAiLyIgKyBvcy5wYXRoLmJhc2VuYW1lKHNyYykgKyBkZWJ1Z2FwcGVuZAogICAgIGRlYnVnZmlsZSA9IGR2YXIgKyBkZXN0CisgICAgc291cmNlcyA9IFtdCiAKICAgICAjIFNwbGl0IHRoZSBmaWxlLi4uCiAgICAgYmIudXRpbHMubWtkaXJoaWVyKG9zLnBhdGguZGlybmFtZShkZWJ1Z2ZpbGUpKQpAQCAtMzk3LDcgKzM5MSw3IEBACiAKICAgICAjIFdlIGlnbm9yZSBrZXJuZWwgbW9kdWxlcywgd2UgZG9uJ3QgZ2VuZXJhdGUgZGVidWcgaW5mbyBmaWxlcy4KICAgICBpZiBmaWxlLmZpbmQoIi9saWIvbW9kdWxlcy8iKSAhPSAtMSBhbmQgZmlsZS5lbmRzd2l0aCgiLmtvIik6Ci0gICAgICAgIHJldHVybiAxCisgICAgICAgIHJldHVybiAoZmlsZSwgc291cmNlcykKIAogICAgIG5ld21vZGUgPSBOb25lCiAgICAgaWYgbm90IG9zLmFjY2VzcyhmaWxlLCBvcy5XX09LKSBvciBvcy5hY2Nlc3MoZmlsZSwgb3MuUl9PSyk6CkBAIC00MDcsNyArNDAxLDcgQEAKIAogICAgICMgV2UgbmVlZCB0byBleHRyYWN0IHRoZSBkZWJ1ZyBzcmMgaW5mb3JtYXRpb24gaGVyZS4uLgogICAgIGlmIGRlYnVnc3JjZGlyOgotICAgICAgICBhcHBlbmRfc291cmNlX2luZm8oZmlsZSwgc291cmNlZmlsZSwgZCkKKyAgICAgICAgc291cmNlcyA9IHNvdXJjZV9pbmZvKGZpbGUsIGQpCiAKICAgICBiYi51dGlscy5ta2RpcmhpZXIob3MucGF0aC5kaXJuYW1lKGRlYnVnZmlsZSkpCiAKQEAgLTQxOSwxNyArNDEzLDI2IEBACiAgICAgaWYgbmV3bW9kZToKICAgICAgICAgb3MuY2htb2QoZmlsZSwgb3JpZ21vZGUpCiAKLSAgICByZXR1cm4gMAorICAgIHJldHVybiAoZmlsZSwgc291cmNlcykKIAotZGVmIGNvcHlkZWJ1Z3NvdXJjZXMoZGVidWdzcmNkaXIsIGQpOgorZGVmIGNvcHlkZWJ1Z3NvdXJjZXMoZGVidWdzcmNkaXIsIHNvdXJjZXMsIGQpOgogICAgICMgVGhlIGRlYnVnIHNyYyBpbmZvcm1hdGlvbiB3cml0dGVuIG91dCB0byBzb3VyY2VmaWxlIGlzIGZ1cnRoZXIgcHJvY2Vzc2VkCiAgICAgIyBhbmQgY29waWVkIHRvIHRoZSBkZXN0aW5hdGlvbiBoZXJlLgogCiAgICAgaW1wb3J0IHN0YXQKICAgICBpbXBvcnQgc3VicHJvY2VzcwogCi0gICAgc291cmNlZmlsZSA9IGQuZXhwYW5kKCIke1dPUktESVJ9L2RlYnVnc291cmNlcy5saXN0IikKLSAgICBpZiBkZWJ1Z3NyY2RpciBhbmQgb3MucGF0aC5pc2ZpbGUoc291cmNlZmlsZSk6CisgICAgaWYgZGVidWdzcmNkaXIgYW5kIHNvdXJjZXM6CisgICAgICAgIHNvdXJjZWZpbGUgPSBkLmV4cGFuZCgiJHtXT1JLRElSfS9kZWJ1Z3NvdXJjZXMubGlzdCIpCisgICAgICAgIGJiLnV0aWxzLnJlbW92ZShzb3VyY2VmaWxlKQorCisgICAgICAgICMgZmlsZW5hbWVzIGFyZSBudWxsLXNlcGFyYXRlZCAtIHRoaXMgaXMgYW4gYXJ0ZWZhY3Qgb2YgdGhlIHByZXZpb3VzIHVzZQorICAgICAgICAjIG9mIHJwbSdzIGRlYnVnZWRpdCwgd2hpY2ggd2FzIHdyaXRpbmcgdGhlbSBvdXQgdGhhdCB3YXksIGFuZCB0aGUgY29kZSBlbHNld2hlcmUKKyAgICAgICAgIyBpcyBzdGlsbCBhc3N1bWluZyB0aGF0LgorICAgICAgICBkZWJ1Z2xpc3RvdXRwdXQgPSAnXDAnLmpvaW4oc291cmNlcykgKyAnXDAnCisgICAgICAgIHdpdGggb3Blbihzb3VyY2VmaWxlLCAnYScpIGFzIHNmOgorICAgICAgICAgICBzZi53cml0ZShkZWJ1Z2xpc3RvdXRwdXQpCisKICAgICAgICAgZHZhciA9IGQuZ2V0VmFyKCdQS0dEJykKICAgICAgICAgc3RyaXAgPSBkLmdldFZhcigiU1RSSVAiKQogICAgICAgICBvYmpjb3B5ID0gZC5nZXRWYXIoIk9CSkNPUFkiKQpAQCAtNDcxLDcgKzQ3NCw4IEBACiAKICAgICAgICAgIyBjcGlvIHNlZW1zIHRvIGhhdmUgYSBidWcgd2l0aCAtbEwgdG9nZXRoZXIgYW5kIHN5bWJvbGljIGxpbmtzIGFyZSBqdXN0IGNvcGllZCwgbm90IGRlcmVmZXJlbmNlZC4KICAgICAgICAgIyBXb3JrIGFyb3VuZCB0aGlzIGJ5IG1hbnVhbGx5IGZpbmRpbmcgYW5kIGNvcHlpbmcgYW55IHN5bWJvbGljIGxpbmtzIHRoYXQgbWFkZSBpdCB0aHJvdWdoLgotICAgICAgICBjbWQgPSAiZmluZCAlcyVzIC10eXBlIGwgLXByaW50MCAtZGVsZXRlIHwgc2VkIHMjJXMlcy8jI2cgfCAoY2QgJyVzJyA7IGNwaW8gLXBkMG1MIC0tbm8tcHJlc2VydmUtb3duZXIgJyVzJXMnIDI+L2Rldi9udWxsKSIgJSAoZHZhciwgZGVidWdzcmNkaXIsIGR2YXIsIGRlYnVnc3JjZGlyLCB3b3JrcGFyZW50ZGlyLCBkdmFyLCBkZWJ1Z3NyY2RpcikKKyAgICAgICAgY21kID0gImZpbmQgJXMlcyAtdHlwZSBsIC1wcmludDAgLWRlbGV0ZSB8IHNlZCBzIyVzJXMvIyNnIHwgKGNkICclcycgOyBjcGlvIC1wZDBtTCAtLW5vLXByZXNlcnZlLW93bmVyICclcyVzJykiICUgXAorICAgICAgICAgICAgICAgIChkdmFyLCBkZWJ1Z3NyY2RpciwgZHZhciwgZGVidWdzcmNkaXIsIHdvcmtwYXJlbnRkaXIsIGR2YXIsIGRlYnVnc3JjZGlyKQogICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChjbWQsIHNoZWxsPVRydWUsIHN0ZGVycj1zdWJwcm9jZXNzLlNURE9VVCkKIAogICAgICAgICAjIFRoZSBjb3B5IGJ5IGNwaW8gbWF5IGhhdmUgcmVzdWx0ZWQgaW4gc29tZSBlbXB0eSBkaXJlY3RvcmllcyEgIFJlbW92ZSB0aGVzZQpAQCAtOTMyLDkgKzkzNiw2IEBACiAgICAgICAgIGRlYnVnbGliZGlyID0gIiIKICAgICAgICAgZGVidWdzcmNkaXIgPSAiL3Vzci9zcmMvZGVidWciCiAKLSAgICBzb3VyY2VmaWxlID0gZC5leHBhbmQoIiR7V09SS0RJUn0vZGVidWdzb3VyY2VzLmxpc3QiKQotICAgIGJiLnV0aWxzLnJlbW92ZShzb3VyY2VmaWxlKQotCiAgICAgIwogICAgICMgRmlyc3QgbGV0cyBmaWd1cmUgb3V0IGFsbCBvZiB0aGUgZmlsZXMgd2UgbWF5IGhhdmUgdG8gcHJvY2VzcyAuLi4gZG8gdGhpcyBvbmx5IG9uY2UhCiAgICAgIwpAQCAtMTAzOSwxMSArMTA0MCwxNSBAQAogICAgICMgRmlyc3QgbGV0cyBwcm9jZXNzIGRlYnVnIHNwbGl0dGluZwogICAgICMKICAgICBpZiAoZC5nZXRWYXIoJ0lOSElCSVRfUEFDS0FHRV9ERUJVR19TUExJVCcpICE9ICcxJyk6Ci0gICAgICAgIG9lLnV0aWxzLm11bHRpcHJvY2Vzc19sYXVuY2goc3BsaXRkZWJ1Z2luZm8sIGxpc3QoZWxmZmlsZXMpLCBkLCBleHRyYWFyZ3M9KGR2YXIsIGRlYnVnZGlyLCBkZWJ1Z2xpYmRpciwgZGVidWdhcHBlbmQsIGRlYnVnc3JjZGlyLCBzb3VyY2VmaWxlLCBkKSkKKyAgICAgICAgcmVzdWx0cyA9IG9lLnV0aWxzLm11bHRpcHJvY2Vzc19sYXVuY2goc3BsaXRkZWJ1Z2luZm8sIGxpc3QoZWxmZmlsZXMpLCBkLCBleHRyYWFyZ3M9KGR2YXIsIGRlYnVnZGlyLCBkZWJ1Z2xpYmRpciwgZGVidWdhcHBlbmQsIGRlYnVnc3JjZGlyLCBkKSkKIAogICAgICAgICBpZiBkZWJ1Z3NyY2RpciBhbmQgbm90IHRhcmdldG9zLnN0YXJ0c3dpdGgoIm1pbmd3Iik6CiAgICAgICAgICAgICBmb3IgZmlsZSBpbiBzdGF0aWNsaWJzOgotICAgICAgICAgICAgICAgIGFwcGVuZF9zb3VyY2VfaW5mbyhmaWxlLCBzb3VyY2VmaWxlLCBkLCBmYXRhbD1GYWxzZSkKKyAgICAgICAgICAgICAgICByZXN1bHRzLmV4dGVuZChzb3VyY2VfaW5mbyhmaWxlLCBkLCBmYXRhbD1GYWxzZSkpCisKKyAgICAgICAgc291cmNlcyA9IHNldCgpCisgICAgICAgIGZvciByIGluIHJlc3VsdHM6CisgICAgICAgICAgICBzb3VyY2VzLnVwZGF0ZShyWzFdKQogCiAgICAgICAgICMgSGFyZGxpbmsgb3VyIGRlYnVnIHN5bWJvbHMgdG8gdGhlIG90aGVyIGhhcmRsaW5rIGNvcGllcwogICAgICAgICBmb3IgcmVmIGluIGlub2RlczoKQEAgLTEwOTEsNyArMTA5Niw3IEBACiAKICAgICAgICAgIyBQcm9jZXNzIHRoZSBkZWJ1Z3NyY2RpciBpZiByZXF1ZXN0ZWQuLi4KICAgICAgICAgIyBUaGlzIGNvcGllcyBhbmQgcGxhY2VzIHRoZSByZWZlcmVuY2VkIHNvdXJjZXMgZm9yIGxhdGVyIGRlYnVnZ2luZy4uLgotICAgICAgICBjb3B5ZGVidWdzb3VyY2VzKGRlYnVnc3JjZGlyLCBkKQorICAgICAgICBjb3B5ZGVidWdzb3VyY2VzKGRlYnVnc3JjZGlyLCBzb3VyY2VzLCBkKQogICAgICMKICAgICAjIEVuZCBvZiBkZWJ1ZyBzcGxpdHRpbmcKICAgICAjCkBAIC0xMTIzLDcgKzExMjgsNyBAQAogICAgIHdvcmtkaXIgPSBkLmdldFZhcignV09SS0RJUicpCiAgICAgb3V0ZGlyID0gZC5nZXRWYXIoJ0RFUExPWV9ESVInKQogICAgIGR2YXIgPSBkLmdldFZhcignUEtHRCcpCi0gICAgcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMnKQorICAgIHBhY2thZ2VzID0gZC5nZXRWYXIoJ1BBQ0tBR0VTJykuc3BsaXQoKQogICAgIHBuID0gZC5nZXRWYXIoJ1BOJykKIAogICAgIGJiLnV0aWxzLm1rZGlyaGllcihvdXRkaXIpCkBAIC0xMTMzLDMyICsxMTM4LDM0IEBACiAKICAgICBzcGxpdF9zb3VyY2VfcGFja2FnZSA9IChkLmdldFZhcignUEFDS0FHRV9ERUJVR19TUExJVF9TVFlMRScpID09ICdkZWJ1Zy13aXRoLXNyY3BrZycpCiAKLSAgICAjIElmIGRlYnVnLXdpdGgtc3JjcGtnIG1vZGUgaXMgZW5hYmxlZCB0aGVuIHRoZSBzcmMgcGFja2FnZSBpcyBhZGRlZAotICAgICMgaW50byB0aGUgcGFja2FnZSBsaXN0IGFuZCB0aGUgc291cmNlIGRpcmVjdG9yeSBhcyBpdHMgbWFpbiBjb250ZW50CisgICAgIyBJZiBkZWJ1Zy13aXRoLXNyY3BrZyBtb2RlIGlzIGVuYWJsZWQgdGhlbiBhZGQgdGhlIHNvdXJjZSBwYWNrYWdlIGlmIGl0CisgICAgIyBkb2Vzbid0IGV4aXN0IGFuZCBhZGQgdGhlIHNvdXJjZSBmaWxlIGNvbnRlbnRzIHRvIHRoZSBzb3VyY2UgcGFja2FnZS4KICAgICBpZiBzcGxpdF9zb3VyY2VfcGFja2FnZToKICAgICAgICAgc3JjX3BhY2thZ2VfbmFtZSA9ICgnJXMtc3JjJyAlIGQuZ2V0VmFyKCdQTicpKQotICAgICAgICBwYWNrYWdlcyArPSAoJyAnICsgc3JjX3BhY2thZ2VfbmFtZSkKKyAgICAgICAgaWYgbm90IHNyY19wYWNrYWdlX25hbWUgaW4gcGFja2FnZXM6CisgICAgICAgICAgICBwYWNrYWdlcy5hcHBlbmQoc3JjX3BhY2thZ2VfbmFtZSkKICAgICAgICAgZC5zZXRWYXIoJ0ZJTEVTXyVzJyAlIHNyY19wYWNrYWdlX25hbWUsICcvdXNyL3NyYy9kZWJ1ZycpCiAKICAgICAjIFNhbml0eSBjaGVjayBQQUNLQUdFUyBmb3IgZHVwbGljYXRlcwogICAgICMgU2FuaXR5IHNob3VsZCBiZSBtb3ZlZCB0byBzYW5pdHkuYmJjbGFzcyBvbmNlIHdlIGhhdmUgdGhlIGluZnJhc3RydWN0dXJlCiAgICAgcGFja2FnZV9kaWN0ID0ge30KIAotICAgIGZvciBpLCBwa2cgaW4gZW51bWVyYXRlKHBhY2thZ2VzLnNwbGl0KCkpOgorICAgIGZvciBpLCBwa2cgaW4gZW51bWVyYXRlKHBhY2thZ2VzKToKICAgICAgICAgaWYgcGtnIGluIHBhY2thZ2VfZGljdDoKICAgICAgICAgICAgIG1zZyA9ICIlcyBpcyBsaXN0ZWQgaW4gUEFDS0FHRVMgbXVsdGlwbGUgdGltZXMsIHRoaXMgbGVhZHMgdG8gcGFja2FnaW5nIGVycm9ycy4iICUgcGtnCiAgICAgICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigicGFja2FnZXMtbGlzdCIsIG1zZywgZCkKLSAgICAgICAgIyBJZiBkZWJ1Zy13aXRoLXNyY3BrZyBtb2RlIGlzIGVuYWJsZWQgdGhlbiB0aGUgc3JjIHBhY2thZ2Ugd2lsbCBoYXZlCi0gICAgICAgICMgcHJpb3JpdHkgb3ZlciBkYmcgcGFja2FnZSB3aGVuIGFzc2lnbmluZyB0aGUgZmlsZXMuCi0gICAgICAgICMgVGhpcyBhbGxvd3Mgc3JjIHBhY2thZ2UgdG8gaW5jbHVkZSBzb3VyY2UgZmlsZXMgYW5kIHJlbW92ZSB0aGVtIGZyb20gZGJnLgotICAgICAgICBlbGlmIHNwbGl0X3NvdXJjZV9wYWNrYWdlIGFuZCBwa2cuZW5kc3dpdGgoIi1zcmMiKToKKyAgICAgICAgIyBFbnN1cmUgdGhlIHNvdXJjZSBwYWNrYWdlIGdldHMgdGhlIGNoYW5jZSB0byBwaWNrIHVwIHRoZSBzb3VyY2UgZmlsZXMKKyAgICAgICAgIyBiZWZvcmUgdGhlIGRlYnVnIHBhY2thZ2UgYnkgb3JkZXJpbmcgaXQgZmlyc3QgaW4gUEFDS0FHRVMuIFdoZXRoZXIgaXQKKyAgICAgICAgIyBhY3R1YWxseSBwaWNrcyB1cCBhbnkgc291cmNlIGZpbGVzIGlzIGNvbnRyb2xsZWQgYnkKKyAgICAgICAgIyBQQUNLQUdFX0RFQlVHX1NQTElUX1NUWUxFLgorICAgICAgICBlbGlmIHBrZy5lbmRzd2l0aCgiLXNyYyIpOgogICAgICAgICAgICAgcGFja2FnZV9kaWN0W3BrZ10gPSAoMTAsIGkpCiAgICAgICAgIGVsaWYgYXV0b2RlYnVnIGFuZCBwa2cuZW5kc3dpdGgoIi1kYmciKToKICAgICAgICAgICAgIHBhY2thZ2VfZGljdFtwa2ddID0gKDMwLCBpKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcGFja2FnZV9kaWN0W3BrZ10gPSAoNTAsIGkpCi0gICAgcGFja2FnZV9saXN0ID0gc29ydGVkKHBhY2thZ2VfZGljdC5rZXlzKCksIGtleT1wYWNrYWdlX2RpY3QuZ2V0KQotICAgIGQuc2V0VmFyKCdQQUNLQUdFUycsICcgJy5qb2luKHBhY2thZ2VfbGlzdCkpCisgICAgcGFja2FnZXMgPSBzb3J0ZWQocGFja2FnZV9kaWN0LmtleXMoKSwga2V5PXBhY2thZ2VfZGljdC5nZXQpCisgICAgZC5zZXRWYXIoJ1BBQ0tBR0VTJywgJyAnLmpvaW4ocGFja2FnZXMpKQogICAgIHBrZ2Rlc3QgPSBkLmdldFZhcignUEtHREVTVCcpCiAKICAgICBzZWVuID0gW10KQEAgLTExNzYsNyArMTE4Myw3IEBACiAgICAgICAgICAgICBpZiAiLy5kZWJ1Zy8iIGluIHBhdGggb3IgcGF0aC5lbmRzd2l0aCgiLy5kZWJ1ZyIpOgogICAgICAgICAgICAgICAgIGRlYnVnLmFwcGVuZChwYXRoKQogCi0gICAgZm9yIHBrZyBpbiBwYWNrYWdlX2xpc3Q6CisgICAgZm9yIHBrZyBpbiBwYWNrYWdlczoKICAgICAgICAgcm9vdCA9IG9zLnBhdGguam9pbihwa2dkZXN0LCBwa2cpCiAgICAgICAgIGJiLnV0aWxzLm1rZGlyaGllcihyb290KQogCkBAIC0xMjQ3LDcgKzEyNTQsNyBAQAogCiAgICAgIyBIYW5kbGUgTElDRU5TRV9FWENMVVNJT04KICAgICBwYWNrYWdlX2xpc3QgPSBbXQotICAgIGZvciBwa2cgaW4gcGFja2FnZXMuc3BsaXQoKToKKyAgICBmb3IgcGtnIGluIHBhY2thZ2VzOgogICAgICAgICBpZiBkLmdldFZhcignTElDRU5TRV9FWENMVVNJT04tJyArIHBrZyk6CiAgICAgICAgICAgICBtc2cgPSAiJXMgaGFzIGFuIGluY29tcGF0aWJsZSBsaWNlbnNlLiBFeGNsdWRpbmcgZnJvbSBwYWNrYWdpbmcuIiAlIHBrZwogICAgICAgICAgICAgcGFja2FnZV9xYV9oYW5kbGVfZXJyb3IoImluY29tcGF0aWJsZS1saWNlbnNlIiwgbXNnLCBkKQpAQCAtMTQzOCw3ICsxNDQ1LDcgQEAKICAgICAgICAgICAgIGlmIGZzdGF0LnN0X2lubyBub3QgaW4gc2VlbjoKICAgICAgICAgICAgICAgICBzZWVuLmFkZChmc3RhdC5zdF9pbm8pCiAgICAgICAgICAgICAgICAgdG90YWxfc2l6ZSArPSBmc3RhdC5zdF9zaXplCi0gICAgICAgIGQuc2V0VmFyKCdGSUxFU19JTkZPJywganNvbi5kdW1wcyhmaWxlcykpCisgICAgICAgIGQuc2V0VmFyKCdGSUxFU19JTkZPJywganNvbi5kdW1wcyhmaWxlcywgc29ydF9rZXlzPVRydWUpKQogCiAgICAgICAgIHN1YmRhdGFfZmlsZSA9IHBrZ2RhdGFkaXIgKyAiL3J1bnRpbWUvJXMiICUgcGtnCiAgICAgICAgIHNmID0gb3BlbihzdWJkYXRhX2ZpbGUsICd3JykKQEAgLTE1NjEsMTIgKzE1NjgsMTIgQEAKICAgICAgICAgaWYgcGtnIG5vdCBpbiByZXF1aXJlc19maWxlczoKICAgICAgICAgICAgIHJlcXVpcmVzX2ZpbGVzW3BrZ10gPSBbXQogCi0gICAgICAgIGZvciBmaWxlIGluIHByb3ZpZGVzOgorICAgICAgICBmb3IgZmlsZSBpbiBzb3J0ZWQocHJvdmlkZXMpOgogICAgICAgICAgICAgcHJvdmlkZXNfZmlsZXNbcGtnXS5hcHBlbmQoZmlsZSkKICAgICAgICAgICAgIGtleSA9ICJGSUxFUlBST1ZJREVTXyIgKyBmaWxlICsgIl8iICsgcGtnCiAgICAgICAgICAgICBkLmFwcGVuZFZhcihrZXksICIgIiArICIgIi5qb2luKHByb3ZpZGVzW2ZpbGVdKSkKIAotICAgICAgICBmb3IgZmlsZSBpbiByZXF1aXJlczoKKyAgICAgICAgZm9yIGZpbGUgaW4gc29ydGVkKHJlcXVpcmVzKToKICAgICAgICAgICAgIHJlcXVpcmVzX2ZpbGVzW3BrZ10uYXBwZW5kKGZpbGUpCiAgICAgICAgICAgICBrZXkgPSAiRklMRVJERVBFTkRTXyIgKyBmaWxlICsgIl8iICsgcGtnCiAgICAgICAgICAgICBkLmFwcGVuZFZhcihrZXksICIgIiArICIgIi5qb2luKHJlcXVpcmVzW2ZpbGVdKSkKQEAgLTE1ODksOCArMTU5Niw4IEBACiAgICAgICAgIGJiLm5vdGUoIm5vdCBnZW5lcmF0aW5nIHNobGlicyIpCiAgICAgICAgIHJldHVybgogCi0gICAgbGliX3JlID0gcmUuY29tcGlsZSgiXi4qXC5zbyIpCi0gICAgbGliZGlyX3JlID0gcmUuY29tcGlsZSgiLiovJXMkIiAlIGQuZ2V0VmFyKCdiYXNlbGliJykpCisgICAgbGliX3JlID0gcmUuY29tcGlsZShyIl4uKlwuc28iKQorICAgIGxpYmRpcl9yZSA9IHJlLmNvbXBpbGUociIuKi8lcyQiICUgZC5nZXRWYXIoJ2Jhc2VsaWInKSkKIAogICAgIHBhY2thZ2VzID0gZC5nZXRWYXIoJ1BBQ0tBR0VTJykKIApAQCAtMTYzMSwxNyArMTYzOCwxNyBAQAogICAgICAgICBmZC5jbG9zZSgpCiAgICAgICAgIHJwYXRoID0gdHVwbGUoKQogICAgICAgICBmb3IgbCBpbiBsaW5lczoKLSAgICAgICAgICAgIG0gPSByZS5tYXRjaCgiXHMrUlBBVEhccysoW15cc10qKSIsIGwpCisgICAgICAgICAgICBtID0gcmUubWF0Y2gociJccytSUEFUSFxzKyhbXlxzXSopIiwgbCkKICAgICAgICAgICAgIGlmIG06CiAgICAgICAgICAgICAgICAgcnBhdGhzID0gbS5ncm91cCgxKS5yZXBsYWNlKCIkT1JJR0lOIiwgbGRpcikuc3BsaXQoIjoiKQogICAgICAgICAgICAgICAgIHJwYXRoID0gdHVwbGUobWFwKG9zLnBhdGgubm9ybXBhdGgsIHJwYXRocykpCiAgICAgICAgIGZvciBsIGluIGxpbmVzOgotICAgICAgICAgICAgbSA9IHJlLm1hdGNoKCJccytORUVERURccysoW15cc10qKSIsIGwpCisgICAgICAgICAgICBtID0gcmUubWF0Y2gociJccytORUVERURccysoW15cc10qKSIsIGwpCiAgICAgICAgICAgICBpZiBtOgogICAgICAgICAgICAgICAgIGRlcCA9IG0uZ3JvdXAoMSkKICAgICAgICAgICAgICAgICBpZiBkZXAgbm90IGluIG5lZWRlZDoKICAgICAgICAgICAgICAgICAgICAgbmVlZGVkLmFkZCgoZGVwLCBmaWxlLCBycGF0aCkpCi0gICAgICAgICAgICBtID0gcmUubWF0Y2goIlxzK1NPTkFNRVxzKyhbXlxzXSopIiwgbCkKKyAgICAgICAgICAgIG0gPSByZS5tYXRjaChyIlxzK1NPTkFNRVxzKyhbXlxzXSopIiwgbCkKICAgICAgICAgICAgIGlmIG06CiAgICAgICAgICAgICAgICAgdGhpc19zb25hbWUgPSBtLmdyb3VwKDEpCiAgICAgICAgICAgICAgICAgcHJvdiA9ICh0aGlzX3NvbmFtZSwgbGRpciwgcGtndmVyKQpAQCAtMTcyMSw3ICsxNzI4LDcgQEAKICAgICAgICAgICAgIG91dCwgZXJyID0gcC5jb21tdW5pY2F0ZSgpCiAgICAgICAgICAgICAjIHByb2Nlc3MgdGhlIG91dHB1dCwgZ3JhYmJpbmcgYWxsIC5kbGwgbmFtZXMKICAgICAgICAgICAgIGlmIHAucmV0dXJuY29kZSA9PSAwOgotICAgICAgICAgICAgICAgIGZvciBtIGluIHJlLmZpbmRpdGVyKCJETEwgTmFtZTogKC4qP1wuZGxsKSQiLCBvdXQuZGVjb2RlKCksIHJlLk1VTFRJTElORSB8IHJlLklHTk9SRUNBU0UpOgorICAgICAgICAgICAgICAgIGZvciBtIGluIHJlLmZpbmRpdGVyKHIiRExMIE5hbWU6ICguKj9cLmRsbCkkIiwgb3V0LmRlY29kZSgpLCByZS5NVUxUSUxJTkUgfCByZS5JR05PUkVDQVNFKToKICAgICAgICAgICAgICAgICAgICAgZGxsbmFtZSA9IG0uZ3JvdXAoMSkKICAgICAgICAgICAgICAgICAgICAgaWYgZGxsbmFtZToKICAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRlZFtwa2ddLmFkZCgoZGxsbmFtZSwgZmlsZSwgdHVwbGUoKSkpCkBAIC0xODY3LDcgKzE4NzQsNyBAQAogICAgICAgICAgICAgb3MucmVtb3ZlKGRlcHNfZmlsZSkKICAgICAgICAgaWYgbGVuKGRlcHMpOgogICAgICAgICAgICAgZmQgPSBvcGVuKGRlcHNfZmlsZSwgJ3cnKQotICAgICAgICAgICAgZm9yIGRlcCBpbiBkZXBzOgorICAgICAgICAgICAgZm9yIGRlcCBpbiBzb3J0ZWQoZGVwcyk6CiAgICAgICAgICAgICAgICAgZmQud3JpdGUoZGVwICsgJ1xuJykKICAgICAgICAgICAgIGZkLmNsb3NlKCkKIH0KQEAgLTE4ODIsOSArMTg4OSw5IEBACiAgICAgc2hsaWJzX2RpcnMgPSBkLmdldFZhcignU0hMSUJTRElSUycpLnNwbGl0KCkKICAgICBzaGxpYnN3b3JrX2RpciA9IGQuZ2V0VmFyKCdTSExJQlNXT1JLRElSJykKIAotICAgIHBjX3JlID0gcmUuY29tcGlsZSgnKC4qKVwucGMkJykKLSAgICB2YXJfcmUgPSByZS5jb21waWxlKCcoLiopPSguKiknKQotICAgIGZpZWxkX3JlID0gcmUuY29tcGlsZSgnKC4qKTogKC4qKScpCisgICAgcGNfcmUgPSByZS5jb21waWxlKHInKC4qKVwucGMkJykKKyAgICB2YXJfcmUgPSByZS5jb21waWxlKHInKC4qKT0oLiopJykKKyAgICBmaWVsZF9yZSA9IHJlLmNvbXBpbGUocicoLiopOiAoLiopJykKIAogICAgIHBrZ2NvbmZpZ19wcm92aWRlZCA9IHt9CiAgICAgcGtnY29uZmlnX25lZWRlZCA9IHt9CkBAIC0xOTMyLDcgKzE5MzksNyBAQAogICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZGlyKToKICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgIGZvciBmaWxlIGluIG9zLmxpc3RkaXIoZGlyKToKLSAgICAgICAgICAgIG0gPSByZS5tYXRjaCgnXiguKilcLnBjbGlzdCQnLCBmaWxlKQorICAgICAgICAgICAgbSA9IHJlLm1hdGNoKHInXiguKilcLnBjbGlzdCQnLCBmaWxlKQogICAgICAgICAgICAgaWYgbToKICAgICAgICAgICAgICAgICBwa2cgPSBtLmdyb3VwKDEpCiAgICAgICAgICAgICAgICAgZmQgPSBvcGVuKG9zLnBhdGguam9pbihkaXIsIGZpbGUpKQpAQCAtMTk4OCw3ICsxOTk1LDcgQEAKICAgICBwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdFUycpLnNwbGl0KCkKICAgICBmb3IgcGtnIGluIHBhY2thZ2VzOgogICAgICAgICByZGVwZW5kcyA9IGJiLnV0aWxzLmV4cGxvZGVfZGVwX3ZlcnNpb25zMihkLmdldFZhcignUkRFUEVORFNfJyArIHBrZykgb3IgIiIpCi0gICAgICAgIGZvciBkZXAgaW4gcGtnbGliZGVwc1twa2ddOgorICAgICAgICBmb3IgZGVwIGluIHNvcnRlZChwa2dsaWJkZXBzW3BrZ10pOgogICAgICAgICAgICAgIyBBZGQgdGhlIGRlcCBpZiBpdCdzIG5vdCBhbHJlYWR5IHRoZXJlLCBvciBpZiBubyBjb21wYXJpc29uIGlzIHNldAogICAgICAgICAgICAgaWYgZGVwIG5vdCBpbiByZGVwZW5kczoKICAgICAgICAgICAgICAgICByZGVwZW5kc1tkZXBdID0gW10KQEAgLTIwMjEsNyArMjAyOCw3IEBACiAgICAgICAgICNiYi5ub3RlKCdkZXBlbmRzIGZvciAlcyBpcyAlcycgJSAoYmFzZSwgZGVwZW5kcykpCiAgICAgICAgIHJyZWNsaXN0ID0gYmIudXRpbHMuZXhwbG9kZV9kZXBfdmVyc2lvbnMyKGQuZ2V0VmFyKCdSUkVDT01NRU5EU18nICsgcGtnKSBvciAiIikKIAotICAgICAgICBmb3IgZGVwZW5kIGluIGRlcGVuZHM6CisgICAgICAgIGZvciBkZXBlbmQgaW4gc29ydGVkKGRlcGVuZHMpOgogICAgICAgICAgICAgaWYgZGVwZW5kLmZpbmQoJy1uYXRpdmUnKSAhPSAtMSBvciBkZXBlbmQuZmluZCgnLWNyb3NzJykgIT0gLTEgb3IgZGVwZW5kLnN0YXJ0c3dpdGgoJ3ZpcnR1YWwvJyk6CiAgICAgICAgICAgICAgICAgI2JiLm5vdGUoIlNraXBwaW5nICVzIiAlIGRlcGVuZCkKICAgICAgICAgICAgICAgICBjb250aW51ZQpAQCAtMjA0Miw3ICsyMDQ5LDcgQEAKICAgICAgICAgI2JiLm5vdGUoJ3JkZXBlbmRzIGZvciAlcyBpcyAlcycgJSAoYmFzZSwgcmRlcGVuZHMpKQogICAgICAgICBycmVjbGlzdCA9IGJiLnV0aWxzLmV4cGxvZGVfZGVwX3ZlcnNpb25zMihkLmdldFZhcignUlJFQ09NTUVORFNfJyArIHBrZykgb3IgIiIpCiAKLSAgICAgICAgZm9yIGRlcGVuZCBpbiByZGVwZW5kczoKKyAgICAgICAgZm9yIGRlcGVuZCBpbiBzb3J0ZWQocmRlcGVuZHMpOgogICAgICAgICAgICAgaWYgZGVwZW5kLmZpbmQoJ3ZpcnR1YWwtbG9jYWxlLScpICE9IC0xOgogICAgICAgICAgICAgICAgICNiYi5ub3RlKCJTa2lwcGluZyAlcyIgJSBkZXBlbmQpCiAgICAgICAgICAgICAgICAgY29udGludWUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2VfaXBrLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlX2lway5iYmNsYXNzCmluZGV4IDVlYjkxMGMuLmQxYjMxN2IgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2VfaXBrLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZV9pcGsuYmJjbGFzcwpAQCAtOCw3ICs4LDcgQEAKIFBLR1dSSVRFRElSSVBLID0gIiR7V09SS0RJUn0vZGVwbG95LWlwa3MiCiAKICMgUHJvZ3JhbSB0byBiZSB1c2VkIHRvIGJ1aWxkIG9wa2cgcGFja2FnZXMKLU9QS0dCVUlMRENNRCA/Pz0gIm9wa2ctYnVpbGQgLVogeHoiCitPUEtHQlVJTERDTUQgPz89ICdvcGtnLWJ1aWxkIC1aIHh6IC1hICIke1haX0RFRkFVTFRTfSInCiAKIE9QS0dfQVJHUyArPSAiLS1mb3JjZV9wb3N0aW5zdGFsbCAtLXByZWZlci1hcmNoLXRvLXZlcnNpb24iCiBPUEtHX0FSR1MgKz0gIiR7QFsnJywgJy0tbm8taW5zdGFsbC1yZWNvbW1lbmRzJ11bZC5nZXRWYXIoIk5PX1JFQ09NTUVOREFUSU9OUyIpID09ICIxIl19IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZV9ycG0uYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2VfcnBtLmJiY2xhc3MKaW5kZXggMjFhZGEzNC4uMWE2NGNiMiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZV9ycG0uYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlX3JwbS5iYmNsYXNzCkBAIC0xMTMsNiArMTEzLDEwIEBACiAgICAgICAgICAgICBzb3VyY2VfbGlzdCA9IG9zLmxpc3RkaXIoYXJfb3V0ZGlyKQogICAgICAgICAgICAgc291cmNlX251bWJlciA9IDAKICAgICAgICAgICAgIGZvciBzb3VyY2UgaW4gc291cmNlX2xpc3Q6CisgICAgICAgICAgICAgICAgIyBkb19kZXBsb3lfYXJjaGl2ZXMgbWF5IGhhdmUgYWxyZWFkeSBydW4gKGZyb20gc3N0YXRlKSBtZWFuaW5nIGEgLnNyYy5ycG0gbWF5IGFscmVhZHkgCisgICAgICAgICAgICAgICAgIyBleGlzdCBpbiBBUkNISVZFUl9PVVRESVIgc28gc2tpcCBpZiBwcmVzZW50LgorICAgICAgICAgICAgICAgIGlmIHNvdXJjZS5lbmRzd2l0aCgiLnNyYy5ycG0iKToKKyAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgICAjIFRoZSBycG1idWlsZCBkb2Vzbid0IG5lZWQgdGhlIHJvb3QgcGVybWlzc2lvbiwgYnV0IGl0IG5lZWRzCiAgICAgICAgICAgICAgICAgIyB0byBrbm93IHRoZSBmaWxlJ3MgdXNlciBhbmQgZ3JvdXAgbmFtZSwgdGhlIG9ubHkgdXNlciBhbmQKICAgICAgICAgICAgICAgICAjIGdyb3VwIGluIGZha2Vyb290IGlzICJyb290IiB3aGVuIHdvcmtpbmcgaW4gZmFrZXJvb3QuCkBAIC02OTAsNyArNjk0LDcgQEAKICAgICBjbWQgPSBjbWQgKyAiIC0tZGVmaW5lICdfdG1wcGF0aCAiICsgd29ya2RpciArICInIgogICAgIGlmIGQuZ2V0VmFyRmxhZygnQVJDSElWRVJfTU9ERScsICdzcnBtJykgPT0gJzEnIGFuZCBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdhcmNoaXZlcicsIGQpOgogICAgICAgICBjbWQgPSBjbWQgKyAiIC0tZGVmaW5lICdfc291cmNlZGlyICIgKyBkLmdldFZhcignQVJDSElWRVJfT1VURElSJykgKyAiJyIKLSAgICAgICAgY21kc3JwbSA9IGNtZCArICIgLS1kZWZpbmUgJ19zcmNycG1kaXIgIiArIGQuZ2V0VmFyKCdBUkNISVZFUl9PVVRESVInKSArICInIgorICAgICAgICBjbWRzcnBtID0gY21kICsgIiAtLWRlZmluZSAnX3NyY3JwbWRpciAiICsgZC5nZXRWYXIoJ0FSQ0hJVkVSX1JQTU9VVERJUicpICsgIiciCiAgICAgICAgIGNtZHNycG0gPSBjbWRzcnBtICsgIiAtYnMgIiArIG91dHNwZWNmaWxlCiAgICAgICAgICMgQnVpbGQgdGhlIC5zcmMucnBtCiAgICAgICAgIGQuc2V0VmFyKCdTQlVJTERTUEVDJywgY21kc3JwbSArICJcbiIpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlZ3JvdXAuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2Vncm91cC5iYmNsYXNzCmluZGV4IGQ1NDBkNDIuLjk0YTU5ZTAgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2Vncm91cC5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2Vncm91cC5iYmNsYXNzCkBAIC00OCw2ICs0OCw4IEBACiBkZWx0YXNrIGRvX2luc3RhbGwKIGRlbHRhc2sgZG9fcG9wdWxhdGVfc3lzcm9vdAogCitJTkhJQklUX0RFRkFVTFRfREVQUyA9ICIxIgorCiBweXRob24gKCkgewogICAgIGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ25hdGl2ZXNkaycsIGQpOgogICAgICAgICByZXR1cm4KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL3BlcmwtdmVyc2lvbi5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvcGVybC12ZXJzaW9uLmJiY2xhc3MKaW5kZXggYmFmZDk2NS4uODRiNjdiOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvcGVybC12ZXJzaW9uLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvcGVybC12ZXJzaW9uLmJiY2xhc3MKQEAgLTEsNCArMSw0IEBACi1QRVJMX09XTl9ESVIgPSAiJHtAWyIiLCAiL3BlcmwtbmF0aXZlIl1bKGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ25hdGl2ZScsIGQpKV19IgorUEVSTF9PV05fRElSID0gIiIKIAogIyBEZXRlcm1pbmUgdGhlIHN0YWdlZCB2ZXJzaW9uIG9mIHBlcmwgZnJvbSB0aGUgcGVybCBjb25maWd1cmF0aW9uIGZpbGUKICMgQXNzaWduIHZhcmRlcHZhbHVlLCBiZWNhdXNlIG90aGVyd2lzZSBzaWduYXR1cmUgaXMgY2hhbmdlZCBiZWZvcmUgYW5kIGFmdGVyCkBAIC02LDcgKzYsNyBAQAogZ2V0X3BlcmxfdmVyc2lvblt2YXJkZXB2YWx1ZV0gPSAiJHtQRVJMX09XTl9ESVJ9IgogZGVmIGdldF9wZXJsX3ZlcnNpb24oZCk6CiAgICAgaW1wb3J0IHJlCi0gICAgY2ZnID0gZC5leHBhbmQoJyR7U1RBR0lOR19MSUJESVJ9JHtQRVJMX09XTl9ESVJ9L3BlcmwvY29uZmlnLnNoJykKKyAgICBjZmcgPSBkLmV4cGFuZCgnJHtTVEFHSU5HX0xJQkRJUn0ke1BFUkxfT1dOX0RJUn0vcGVybDUvY29uZmlnLnNoJykKICAgICB0cnk6CiAgICAgICAgIGYgPSBvcGVuKGNmZywgJ3InKQogICAgIGV4Y2VwdCBJT0Vycm9yOgpAQCAtMjIsMyArMjIsNDUgQEAKIAogUEVSTFZFUlNJT04gOj0gIiR7QGdldF9wZXJsX3ZlcnNpb24oZCl9IgogUEVSTFZFUlNJT05bdmFyZGVwdmFsdWVdID0gIiIKKworCisjIERldGVybWluZSB0aGUgc3RhZ2VkIGFyY2ggb2YgcGVybCBmcm9tIHRoZSBwZXJsIGNvbmZpZ3VyYXRpb24gZmlsZQorIyBBc3NpZ24gdmFyZGVwdmFsdWUsIGJlY2F1c2Ugb3RoZXJ3aXNlIHNpZ25hdHVyZSBpcyBjaGFuZ2VkIGJlZm9yZSBhbmQgYWZ0ZXIKKyMgcGVybCBpcyBidWlsdCAoZnJvbSBOb25lIHRvIHJlYWwgdmVyc2lvbiBpbiBjb25maWcuc2gpLgorZGVmIGdldF9wZXJsX2FyY2goZCk6CisgICAgaW1wb3J0IHJlCisgICAgY2ZnID0gZC5leHBhbmQoJyR7U1RBR0lOR19MSUJESVJ9JHtQRVJMX09XTl9ESVJ9L3Blcmw1L2NvbmZpZy5zaCcpCisgICAgdHJ5OgorICAgICAgICBmID0gb3BlbihjZmcsICdyJykKKyAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgcmV0dXJuIE5vbmUKKyAgICBsID0gZi5yZWFkbGluZXMoKTsKKyAgICBmLmNsb3NlKCk7CisgICAgciA9IHJlLmNvbXBpbGUoIl5hcmNobmFtZT0nKFteJ10qKSciKQorICAgIGZvciBzIGluIGw6CisgICAgICAgIG0gPSByLm1hdGNoKHMpCisgICAgICAgIGlmIG06CisgICAgICAgICAgICByZXR1cm4gbS5ncm91cCgxKQorICAgIHJldHVybiBOb25lCisKK1BFUkxBUkNIIDo9ICIke0BnZXRfcGVybF9hcmNoKGQpfSIKK1BFUkxBUkNIW3ZhcmRlcHZhbHVlXSA9ICIiCisKKyMgRGV0ZXJtaW5lIHRoZSBzdGFnZWQgYXJjaCBvZiBwZXJsLW5hdGl2ZSBmcm9tIHRoZSBwZXJsIGNvbmZpZ3VyYXRpb24gZmlsZQorIyBBc3NpZ24gdmFyZGVwdmFsdWUsIGJlY2F1c2Ugb3RoZXJ3aXNlIHNpZ25hdHVyZSBpcyBjaGFuZ2VkIGJlZm9yZSBhbmQgYWZ0ZXIKKyMgcGVybCBpcyBidWlsdCAoZnJvbSBOb25lIHRvIHJlYWwgdmVyc2lvbiBpbiBjb25maWcuc2gpLgorZGVmIGdldF9wZXJsX2hvc3RhcmNoKGQpOgorICAgIGltcG9ydCByZQorICAgIGNmZyA9IGQuZXhwYW5kKCcke1NUQUdJTkdfTElCRElSX05BVElWRX0vcGVybDUvY29uZmlnLnNoJykKKyAgICB0cnk6CisgICAgICAgIGYgPSBvcGVuKGNmZywgJ3InKQorICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICByZXR1cm4gTm9uZQorICAgIGwgPSBmLnJlYWRsaW5lcygpOworICAgIGYuY2xvc2UoKTsKKyAgICByID0gcmUuY29tcGlsZSgiXmFyY2huYW1lPScoW14nXSopJyIpCisgICAgZm9yIHMgaW4gbDoKKyAgICAgICAgbSA9IHIubWF0Y2gocykKKyAgICAgICAgaWYgbToKKyAgICAgICAgICAgIHJldHVybiBtLmdyb3VwKDEpCisgICAgcmV0dXJuIE5vbmUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL3BpeGJ1ZmNhY2hlLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9waXhidWZjYWNoZS5iYmNsYXNzCmluZGV4IDMzNzhmZjIuLmIwN2Y1MWUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL3BpeGJ1ZmNhY2hlLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvcGl4YnVmY2FjaGUuYmJjbGFzcwpAQCAtMyw3ICszLDcgQEAKICMgcGFja2FnZXMuCiAjCiAKLURFUEVORFMgKz0gInFlbXUtbmF0aXZlIgorREVQRU5EU19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBxZW11LW5hdGl2ZSIKIGluaGVyaXQgcWVtdQogCiBQSVhCVUZfUEFDS0FHRVMgPz89ICIke1BOfSIKQEAgLTU0LDcgKzU0LDYgQEAKIERFUEVORFNfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgZ2RrLXBpeGJ1Zi1uYXRpdmUiCiBTWVNST09UX1BSRVBST0NFU1NfRlVOQ1NfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgcGl4YnVmY2FjaGVfc3N0YXRlX3Bvc3RpbnN0IgogCi0jIFNlZSBiYXNlLmJiY2xhc3MgZm9yIHRoZSBvdGhlciBoYWxmIG9mIHRoaXMKIHBpeGJ1ZmNhY2hlX3NzdGF0ZV9wb3N0aW5zdCgpIHsKIAlta2RpciAtcCAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcn0KIAlkZXN0PSR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyfS9wb3N0aW5zdC0ke1BOfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvcG9wdWxhdGVfc2RrX2Jhc2UuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL3BvcHVsYXRlX3Nka19iYXNlLmJiY2xhc3MKaW5kZXggNjc3YmEzYy4uZWJjMzBkMyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvcG9wdWxhdGVfc2RrX2Jhc2UuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9wb3B1bGF0ZV9zZGtfYmFzZS5iYmNsYXNzCkBAIC02LDYgKzYsNyBAQAogQ09NUExFTUVOVEFSWV9HTE9CW3N0YXRpY2Rldi1wa2dzXSA9ICcqLXN0YXRpY2RldicKIENPTVBMRU1FTlRBUllfR0xPQltkb2MtcGtnc10gPSAnKi1kb2MnCiBDT01QTEVNRU5UQVJZX0dMT0JbZGJnLXBrZ3NdID0gJyotZGJnJworQ09NUExFTUVOVEFSWV9HTE9CW3NyYy1wa2dzXSA9ICcqLXNyYycKIENPTVBMRU1FTlRBUllfR0xPQltwdGVzdC1wa2dzXSA9ICcqLXB0ZXN0JwogCiBkZWYgY29tcGxlbWVudGFyeV9nbG9icyhmZWF0dXJldmFyLCBkKToKQEAgLTE3LDcgKzE4LDcgQEAKICAgICAgICAgICAgIGdsb2JzLmFwcGVuZChnbG9iKQogICAgIHJldHVybiAnICcuam9pbihnbG9icykKIAotU0RLSU1BR0VfRkVBVFVSRVMgPz89ICJkZXYtcGtncyBkYmctcGtncyAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2FwaS1kb2N1bWVudGF0aW9uJywgJ2RvYy1wa2dzJywgJycsIGQpfSIKK1NES0lNQUdFX0ZFQVRVUkVTID8/PSAiZGV2LXBrZ3MgZGJnLXBrZ3Mgc3JjLXBrZ3MgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdhcGktZG9jdW1lbnRhdGlvbicsICdkb2MtcGtncycsICcnLCBkKX0iCiBTREtJTUFHRV9JTlNUQUxMX0NPTVBMRU1FTlRBUlkgPSAnJHtAY29tcGxlbWVudGFyeV9nbG9icygiU0RLSU1BR0VfRkVBVFVSRVMiLCBkKX0nCiAKIFBBQ0tBR0VfQVJDSFNfYXBwZW5kX3Rhc2stcG9wdWxhdGUtc2RrID0gIiBzZGstcHJvdmlkZXMtZHVtbXktdGFyZ2V0IgpAQCAtMjI1LDcgKzIyNiw3IEBACiAJIyBQYWNrYWdlIGl0IHVwCiAJbWtkaXIgLXAgJHtTREtERVBMT1lESVJ9CiAJY2QgJHtTREtfT1VUUFVUfS8ke1NES1BBVEh9Ci0JdGFyICR7U0RLVEFST1BUU30gLWNmIC0gLiB8IHh6IC1UIDAgPiAke1NES0RFUExPWURJUn0vJHtUT09MQ0hBSU5fT1VUUFVUTkFNRX0udGFyLnh6CisJdGFyICR7U0RLVEFST1BUU30gLWNmIC0gLiB8IHh6ICR7WFpfREVGQVVMVFN9ID4gJHtTREtERVBMT1lESVJ9LyR7VE9PTENIQUlOX09VVFBVVE5BTUV9LnRhci54egogfQogCiBUT09MQ0hBSU5fU0hBUl9FWFRfVE1QTCA/PSAiJHtDT1JFQkFTRX0vbWV0YS9maWxlcy90b29sY2hhaW4tc2hhci1leHRyYWN0LnNoIgpAQCAtMjU3LDcgKzI1OCw3IEBACiAJCS1lICdzI0BTREtFWFRQQVRIQCMke1NES0VYVFBBVEh9I2cnIFwKIAkJLWUgJ3MjQE9MREVTVF9LRVJORUxAIyR7U0RLX09MREVTVF9LRVJORUx9I2cnIFwKIAkJLWUgJ3MjQFJFQUxfTVVMVElNQUNIX1RBUkdFVF9TWVNAIyR7UkVBTF9NVUxUSU1BQ0hfVEFSR0VUX1NZU30jZycgXAotCQktZSAncyNAU0RLX1RJVExFQCMke0BkLmdldFZhcigiU0RLX1RJVExFIikucmVwbGFjZSgnJicsICdcJicpfSNnJyBcCisJCS1lICdzI0BTREtfVElUTEVAIyR7QGQuZ2V0VmFyKCJTREtfVElUTEUiKS5yZXBsYWNlKCcmJywgJ1xcJicpfSNnJyBcCiAJCS1lICdzI0BTREtfVkVSU0lPTkAjJHtTREtfVkVSU0lPTn0jZycgXAogCQktZSAnL0BTREtfUFJFX0lOU1RBTExfQ09NTUFOREAvZCcgXAogCQktZSAnL0BTREtfUE9TVF9JTlNUQUxMX0NPTU1BTkRAL2QnIFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL3BvcHVsYXRlX3Nka19leHQuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL3BvcHVsYXRlX3Nka19leHQuYmJjbGFzcwppbmRleCA0MGIwMzc1Li44MDBlMTE3IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9wb3B1bGF0ZV9zZGtfZXh0LmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvcG9wdWxhdGVfc2RrX2V4dC5iYmNsYXNzCkBAIC01ODksMTEgKzU4OSw4IEBACiAJCWV4aXQgMQogCWZpCiAJU0RLX0VYVEVOU0lCTEU9IjEiCi0JaWYgWyAiJHB1Ymxpc2giID0gIjEiIF0gOyB0aGVuCi0JCUVYVFJBX1RBUl9PUFRJT05TPSIkRVhUUkFfVEFSX09QVElPTlMgLS1leGNsdWRlPWV4dC1zZGstcHJlcGFyZS5weSIKLQkJaWYgWyAiJHtTREtfRVhUX1RZUEV9IiA9ICJtaW5pbWFsIiBdIDsgdGhlbgotCQkJRVhUUkFfVEFSX09QVElPTlM9IiRFWFRSQV9UQVJfT1BUSU9OUyAtLWV4Y2x1ZGU9c3N0YXRlLWNhY2hlIgotCQlmaQorCWlmIFsgIiRwdWJsaXNoIiA9ICIxIiBdICYmIFsgIiR7U0RLX0VYVF9UWVBFfSIgPSAibWluaW1hbCIgXSA7IHRoZW4KKwkJRVhUUkFfVEFSX09QVElPTlM9IiRFWFRSQV9UQVJfT1BUSU9OUyAtLWV4Y2x1ZGU9c3N0YXRlLWNhY2hlIgogCWZpCiB9CiBTREtfUFJFX0lOU1RBTExfQ09NTUFORF90YXNrLXBvcHVsYXRlLXNkay1leHQgPSAiJHtzZGtfZXh0X3ByZWluc3R9IgpAQCAtNjM1LDYgKzYzMiw4IEBACiAJCSMgc291cmNpbmcgYSBzY3JpcHQuIFRoYXQgaXMgd2h5IHRoaXMgaGFzIHRvIGxvb2sgc28gdWdseS4KIAkJTE9HRklMRT0iJHRhcmdldF9zZGtfZGlyL3ByZXBhcmluZ19idWlsZF9zeXN0ZW0ubG9nIgogCQlzaCAtYyAiLiBidWlsZHRvb2xzL2Vudmlyb25tZW50LXNldHVwKiA+ICRMT0dGSUxFICYmIGNkICR0YXJnZXRfc2RrX2Rpci9gZGlybmFtZSAke29lX2luaXRfYnVpbGRfZW52X3BhdGh9YCAmJiBzZXQgJHRhcmdldF9zZGtfZGlyICYmIC4gJHRhcmdldF9zZGtfZGlyLyR7b2VfaW5pdF9idWlsZF9lbnZfcGF0aH0gJHRhcmdldF9zZGtfZGlyID4+ICRMT0dGSUxFICYmIHB5dGhvbiAkdGFyZ2V0X3Nka19kaXIvZXh0LXNkay1wcmVwYXJlLnB5ICRMT0dGSUxFICcke1NES19JTlNUQUxMX1RBUkdFVFN9JyIgfHwgeyBlY2hvICJwcmludGYgJ0VSUk9SOiB0aGlzIFNESyB3YXMgbm90IGZ1bGx5IGluc3RhbGxlZCBhbmQgbmVlZHMgcmVpbnN0YWxsaW5nXG4nIiA+PiAkZW52X3NldHVwX3NjcmlwdCA7IGV4aXQgMSA7IH0KKwlmaQorCWlmIFsgLWUgJHRhcmdldF9zZGtfZGlyL2V4dC1zZGstcHJlcGFyZS5weSBdOyB0aGVuCiAJCXJtICR0YXJnZXRfc2RrX2Rpci9leHQtc2RrLXByZXBhcmUucHkKIAlmaQogCWVjaG8gZG9uZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvcHRlc3QuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL3B0ZXN0LmJiY2xhc3MKaW5kZXggOWQ4YTc5OC4uOTc4NjVjOSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvcHRlc3QuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9wdGVzdC5iYmNsYXNzCkBAIC0zLDYgKzMsOSBAQAogVGhpcyBwYWNrYWdlIGNvbnRhaW5zIGEgdGVzdCBkaXJlY3RvcnkgJHtQVEVTVF9QQVRIfSBmb3IgcGFja2FnZSB0ZXN0IHB1cnBvc2VzLiIKIAogUFRFU1RfUEFUSCA/PSAiJHtsaWJkaXJ9LyR7QlBOfS9wdGVzdCIKK1BURVNUX0JVSUxEX0hPU1RfRklMRVMgPz0gIk1ha2VmaWxlIgorUFRFU1RfQlVJTERfSE9TVF9QQVRURVJOID89ICIiCisKIEZJTEVTXyR7UE59LXB0ZXN0ID0gIiR7UFRFU1RfUEFUSH0iCiBTRUNUSU9OXyR7UE59LXB0ZXN0ID0gImRldmVsIgogQUxMT1dfRU1QVFlfJHtQTn0tcHRlc3QgPSAiMSIKQEAgLTQ1LDYgKzQ4LDIxIEBACiAgICAgZmkKICAgICBkb19pbnN0YWxsX3B0ZXN0CiAgICAgY2hvd24gLVIgcm9vdDpyb290ICR7RH0ke1BURVNUX1BBVEh9CisKKyAgICAjIFN0cmlwIGJ1aWxkIGhvc3QgcGF0aHMgZnJvbSBhbnkgaW5zdGFsbGVkIE1ha2VmaWxlCisgICAgZm9yIGZpbGVuYW1lIGluICR7UFRFU1RfQlVJTERfSE9TVF9GSUxFU307IGRvCisgICAgICAgIGZvciBpbnN0YWxsZWRfcHRlc3RfZmlsZSBpbiAkKGZpbmQgJHtEfSR7UFRFU1RfUEFUSH0gLXR5cGUgZiAtbmFtZSAkZmlsZW5hbWUpOyBkbworICAgICAgICAgICAgYmJub3RlICJTdHJpcHBpbmcgaG9zdCBwYXRocyBmcm9tOiAkaW5zdGFsbGVkX3B0ZXN0X2ZpbGUiCisgICAgICAgICAgICBzZWQgLWUgJ3MjJHtIT1NUVE9PTFNfRElSfS8qIyNnJyBcCisgICAgICAgICAgICAgICAgLWUgJ3MjJHtXT1JLRElSfS8qPSMuPSNnJyBcCisgICAgICAgICAgICAgICAgLWUgJ3MjJHtXT1JLRElSfS8qIyNnJyBcCisgICAgICAgICAgICAgICAgLWkgJGluc3RhbGxlZF9wdGVzdF9maWxlCisgICAgICAgICAgICBpZiBbIC1uICIke1BURVNUX0JVSUxEX0hPU1RfUEFUVEVSTn0iIF07IHRoZW4KKyAgICAgICAgICAgICAgIHNlZCAtRSAnLyR7UFRFU1RfQlVJTERfSE9TVF9QQVRURVJOfS9kJyBcCisgICAgICAgICAgICAgICAgICAgLWkgJGluc3RhbGxlZF9wdGVzdF9maWxlCisgICAgICAgICAgICBmaQorICAgICAgICBkb25lCisgICAgZG9uZQogfQogCiBkb19jb25maWd1cmVfcHRlc3RfYmFzZVtkaXJzXSA9ICIke0J9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvcHl0aG9uMy1kaXIuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL3B5dGhvbjMtZGlyLmJiY2xhc3MKaW5kZXggMDZiYjA0Ni4uN2RkMTMwYiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvcHl0aG9uMy1kaXIuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9weXRob24zLWRpci5iYmNsYXNzCkBAIC0xLDQgKzEsNCBAQAotUFlUSE9OX0JBU0VWRVJTSU9OID0gIjMuNSIKK1BZVEhPTl9CQVNFVkVSU0lPTiA9ICIzLjciCiBQWVRIT05fQUJJID0gIm0iCiBQWVRIT05fRElSID0gInB5dGhvbiR7UFlUSE9OX0JBU0VWRVJTSU9OfSIKIFBZVEhPTl9QTiA9ICJweXRob24zIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvcHl0aG9uM25hdGl2ZS5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvcHl0aG9uM25hdGl2ZS5iYmNsYXNzCmluZGV4IGRhMTJhNzEuLmEzYWNhZjYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL3B5dGhvbjNuYXRpdmUuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9weXRob24zbmF0aXZlLmJiY2xhc3MKQEAgLTksNiArOSw4IEBACiBleHBvcnQgU1RBR0lOR19JTkNESVIKIGV4cG9ydCBTVEFHSU5HX0xJQkRJUgogCitleHBvcnQgX1BZVEhPTl9TWVNDT05GSUdEQVRBX05BTUU9Il9zeXNjb25maWdkYXRhIgorCiAjIHN1cHByZXNzIGhvc3QgdXNlcidzIHNpdGUtcGFja2FnZXMgZGlycy4KIGV4cG9ydCBQWVRIT05OT1VTRVJTSVRFID0gIjEiCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL3Nhbml0eS5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvc2FuaXR5LmJiY2xhc3MKaW5kZXggMzc0ZGFjZi4uY2FiMDkyMSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvc2FuaXR5LmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvc2FuaXR5LmJiY2xhc3MKQEAgLTMzOCw3ICszMzgsNyBAQAogZGVmIGdldF9maWxlc3lzdGVtX2lkKHBhdGgpOgogICAgIGltcG9ydCBzdWJwcm9jZXNzCiAgICAgdHJ5OgotICAgICAgICByZXR1cm4gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWyJzdGF0IiwgIi1mIiwgIi1jIiwgIiV0IiwgcGF0aF0pLmRlY29kZSgndXRmLTgnKQorICAgICAgICByZXR1cm4gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWyJzdGF0IiwgIi1mIiwgIi1jIiwgIiV0IiwgcGF0aF0pLmRlY29kZSgndXRmLTgnKS5zdHJpcCgpCiAgICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yOgogICAgICAgICBiYi53YXJuKCJDYW4ndCBnZXQgZmlsZXN5c3RlbSBpZCBvZjogJXMiICUgcGF0aCkKICAgICAgICAgcmV0dXJuIE5vbmUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL3Njb25zLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9zY29ucy5iYmNsYXNzCmluZGV4IGI5YWUxOWQuLjllZTdkMTUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL3Njb25zLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvc2NvbnMuYmJjbGFzcwpAQCAtMiwxNiArMiwyNSBAQAogCiBFWFRSQV9PRVNDT05TID89ICIiCiAKLWRvX2NvbmZpZ3VyZVtub2V4ZWNdID0gIjEiCitkb19jb25maWd1cmUoKSB7CisJaWYgWyAtbiAiJHtDT05GSUdVUkVTVEFNUEZJTEV9IiBdOyB0aGVuCisJCWlmIFsgLWUgIiR7Q09ORklHVVJFU1RBTVBGSUxFfSIgLWEgImBjYXQgJHtDT05GSUdVUkVTVEFNUEZJTEV9YCIgIT0gIiR7QkJfVEFTS0hBU0h9IiAtYSAiJHtDTEVBTkJST0tFTn0iICE9ICIxIiBdOyB0aGVuCisJCQkke1NUQUdJTkdfQklORElSX05BVElWRX0vc2NvbnMgLS1jbGVhbiBQUkVGSVg9JHtwcmVmaXh9IHByZWZpeD0ke3ByZWZpeH0gJHtFWFRSQV9PRVNDT05TfQorCQlmaQorCisJCW1rZGlyIC1wIGBkaXJuYW1lICR7Q09ORklHVVJFU1RBTVBGSUxFfWAKKwkJZWNobyAke0JCX1RBU0tIQVNIfSA+ICR7Q09ORklHVVJFU1RBTVBGSUxFfQorCWZpCit9CiAKIHNjb25zX2RvX2NvbXBpbGUoKSB7Ci0gICAgICAgICR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9zY29ucyAke1BBUkFMTEVMX01BS0V9IFBSRUZJWD0ke3ByZWZpeH0gcHJlZml4PSR7cHJlZml4fSAke0VYVFJBX09FU0NPTlN9IHx8IFwKLSAgICAgICAgZGllICJzY29ucyBidWlsZCBleGVjdXRpb24gZmFpbGVkLiIKKwkke1NUQUdJTkdfQklORElSX05BVElWRX0vc2NvbnMgJHtQQVJBTExFTF9NQUtFfSBQUkVGSVg9JHtwcmVmaXh9IHByZWZpeD0ke3ByZWZpeH0gJHtFWFRSQV9PRVNDT05TfSB8fCBcCisJZGllICJzY29ucyBidWlsZCBleGVjdXRpb24gZmFpbGVkLiIKIH0KIAogc2NvbnNfZG9faW5zdGFsbCgpIHsKLSAgICAgICAgJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3Njb25zIGluc3RhbGxfcm9vdD0ke0R9JHtwcmVmaXh9IFBSRUZJWD0ke3ByZWZpeH0gcHJlZml4PSR7cHJlZml4fSAke0VYVFJBX09FU0NPTlN9IGluc3RhbGwgfHwgXAotICAgICAgICBkaWUgInNjb25zIGluc3RhbGwgZXhlY3V0aW9uIGZhaWxlZC4iCisJJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3Njb25zIGluc3RhbGxfcm9vdD0ke0R9JHtwcmVmaXh9IFBSRUZJWD0ke3ByZWZpeH0gcHJlZml4PSR7cHJlZml4fSAke0VYVFJBX09FU0NPTlN9IGluc3RhbGwgfHwgXAorCWRpZSAic2NvbnMgaW5zdGFsbCBleGVjdXRpb24gZmFpbGVkLiIKIH0KIAogRVhQT1JUX0ZVTkNUSU9OUyBkb19jb21waWxlIGRvX2luc3RhbGwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvc3N0YXRlLmJiY2xhc3MKaW5kZXggZWRiZmJhNS4uNmY1MWQ5YyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvc3N0YXRlLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvc3N0YXRlLmJiY2xhc3MKQEAgLTExLDcgKzExLDcgQEAKIFNTVEFURV9QS0dBUkNIICAgID0gIiR7UEFDS0FHRV9BUkNIfSIKIFNTVEFURV9QS0dTUEVDICAgID0gInNzdGF0ZToke1BOfToke1BBQ0tBR0VfQVJDSH0ke1RBUkdFVF9WRU5ET1J9LSR7VEFSR0VUX09TfToke1BWfToke1BSfToke1NTVEFURV9QS0dBUkNIfToke1NTVEFURV9WRVJTSU9OfToiCiBTU1RBVEVfU1dTUEVDICAgICA9ICJzc3RhdGU6JHtQTn06OiR7UFZ9OiR7UFJ9Ojoke1NTVEFURV9WRVJTSU9OfToiCi1TU1RBVEVfUEtHTkFNRSAgICA9ICIke1NTVEFURV9FWFRSQVBBVEh9JHtAZ2VuZXJhdGVfc3N0YXRlZm4oZC5nZXRWYXIoJ1NTVEFURV9QS0dTUEVDJyksIGQuZ2V0VmFyKCdCQl9UQVNLSEFTSCcpLCBkKX0iCitTU1RBVEVfUEtHTkFNRSAgICA9ICIke1NTVEFURV9FWFRSQVBBVEh9JHtAZ2VuZXJhdGVfc3N0YXRlZm4oZC5nZXRWYXIoJ1NTVEFURV9QS0dTUEVDJyksIGQuZ2V0VmFyKCdCQl9VTklIQVNIJyksIGQpfSIKIFNTVEFURV9QS0cgICAgICAgID0gIiR7U1NUQVRFX0RJUn0vJHtTU1RBVEVfUEtHTkFNRX0iCiBTU1RBVEVfRVhUUkFQQVRIICAgPSAiIgogU1NUQVRFX0VYVFJBUEFUSFdJTERDQVJEID0gIiIKQEAgLTIzLDYgKzIzLDcgQEAKICMgV2UgZG9uJ3Qgd2FudCB0aGUgc3N0YXRlIHRvIGRlcGVuZCBvbiB0aGluZ3MgbGlrZSB0aGUgZGlzdHJvIHN0cmluZwogIyBvZiB0aGUgc3lzdGVtLCB3ZSBsZXQgdGhlIHNzdGF0ZSBwYXRocyB0YWtlIGNhcmUgb2YgdGhpcy4KIFNTVEFURV9FWFRSQVBBVEhbdmFyZGVwdmFsdWVdID0gIiIKK1NTVEFURV9FWFRSQVBBVEhXSUxEQ0FSRFt2YXJkZXB2YWx1ZV0gPSAiIgogCiAjIEZvciBtdWx0aWxpYiBycG0gdGhlIGFsbGFyY2ggcGFja2FnZWdyb3VwIGZpbGVzIGNhbiBvdmVyd3JpdGUgKGluIHRoZW9yeSB0aGV5J3JlIGlkZW50aWNhbCkKIFNTVEFURV9EVVBXSElURUxJU1QgPSAiJHtERVBMT1lfRElSfS9saWNlbnNlcy8iCkBAIC02MSw2ICs2Miw3IEBACiBTU1RBVEVfTUFOTUFDSCA/PSAiJHtTU1RBVEVfUEtHQVJDSH0iCiAKIFNTVEFURUNSRUFURUZVTkNTID0gInNzdGF0ZV9oYXJkY29kZV9wYXRoIgorU1NUQVRFQ1JFQVRFRlVOQ1NbdmFyZGVwc10gPSAiU1NUQVRFX1NDQU5fRklMRVMiCiBTU1RBVEVQT1NUQ1JFQVRFRlVOQ1MgPSAiIgogU1NUQVRFUFJFSU5TVEZVTkNTID0gIiIKIFNTVEFURVBPU1RVTlBBQ0tGVU5DUyA9ICJzc3RhdGVfaGFyZGNvZGVfcGF0aF91bnBhY2siCkBAIC04Miw2ICs4NCwyMyBAQAogIyBXaGV0aGVyIHRvIHZlcmlmeSB0aGUgR25VUEcgc2lnbmF0dXJlcyB3aGVuIGV4dHJhY3Rpbmcgc3N0YXRlIGFyY2hpdmVzCiBTU1RBVEVfVkVSSUZZX1NJRyA/PSAiMCIKIAorU1NUQVRFX0hBU0hFUVVJVl9NRVRIT0QgPz0gIm9lLnNzdGF0ZXNpZy5PRU91dGhhc2hCYXNpYyIKK1NTVEFURV9IQVNIRVFVSVZfTUVUSE9EW2RvY10gPSAiVGhlIGZ1bGx5LXF1YWxpZmllZCBmdW5jdGlvbiB1c2VkIHRvIGNhbGN1bGF0ZSBcCisgICAgdGhlIG91dHB1dCBoYXNoIGZvciBhIHRhc2ssIHdoaWNoIGluIHR1cm4gaXMgdXNlZCB0byBkZXRlcm1pbmUgZXF1aXZhbGVuY3kuIFwKKyAgICAiCisKK1NTVEFURV9IQVNIRVFVSVZfU0VSVkVSID89ICIiCitTU1RBVEVfSEFTSEVRVUlWX1NFUlZFUltkb2NdID0gIlRoZSBoYXNoIGVxdWl2YWxlbmNlIHNldmVyLiBGb3IgZXhhbXBsZSwgXAorICAgICdodHRwOi8vMTkyLjE2OC4wLjE6NTAwMCcuIERvIG5vdCBpbmNsdWRlIGEgdHJhaWxpbmcgc2xhc2ggXAorICAgICIKKworU1NUQVRFX0hBU0hFUVVJVl9SRVBPUlRfVEFTS0RBVEEgPz0gIjAiCitTU1RBVEVfSEFTSEVRVUlWX1JFUE9SVF9UQVNLREFUQVtkb2NdID0gIlJlcG9ydCBhZGRpdGlvbmFsIHVzZWZ1bCBkYXRhIHRvIHRoZSBcCisgICAgaGFzaCBlcXVpdmFsZW5jeSBzZXJ2ZXIsIHN1Y2ggYXMgUE4sIFBWLCB0YXNrbmFtZSwgZXRjLiBUaGlzIGluZm9ybWF0aW9uIFwKKyAgICBpcyB2ZXJ5IHVzZWZ1bCBmb3IgZGV2ZWxvcGVycyBsb29raW5nIGF0IHRhc2sgZGF0YSwgYnV0IG1heSBsZWFrIHNlbnNpdGl2ZSBcCisgICAgZGF0YSBpZiB0aGUgZXF1aXZhbGVuY2Ugc2VydmVyIGlzIHB1YmxpYy4gXAorICAgICIKKwogcHl0aG9uICgpIHsKICAgICBpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCduYXRpdmUnLCBkKToKICAgICAgICAgZC5zZXRWYXIoJ1NTVEFURV9QS0dBUkNIJywgZC5nZXRWYXIoJ0JVSUxEX0FSQ0gnLCBGYWxzZSkpCkBAIC0xMDEsNyArMTIwLDcgQEAKICAgICBpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCduYXRpdmUnLCBkKSBvciBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdjcm9zc3NkaycsIGQpIG9yIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2Nyb3NzJywgZCk6CiAgICAgICAgIGQuc2V0VmFyKCdTU1RBVEVfRVhUUkFQQVRIJywgIiR7TkFUSVZFTFNCU1RSSU5HfS8iKQogICAgICAgICBkLnNldFZhcignQkJfSEFTSEZJTEVOQU1FJywgIlRydWUgJHtTU1RBVEVfUEtHU1BFQ30gJHtTU1RBVEVfU1dTUEVDfSIpCi0gICAgICAgIGQuc2V0VmFyKCdTU1RBVEVfRVhUUkFQQVRIV0lMRENBUkQnLCAiKi8iKQorICAgICAgICBkLnNldFZhcignU1NUQVRFX0VYVFJBUEFUSFdJTERDQVJEJywgIiR7TkFUSVZFTFNCU1RSSU5HfS8iKQogCiAgICAgdW5pcXVlX3Rhc2tzID0gc29ydGVkKHNldCgoZC5nZXRWYXIoJ1NTVEFURVRBU0tTJykgb3IgIiIpLnNwbGl0KCkpKQogICAgIGQuc2V0VmFyKCdTU1RBVEVUQVNLUycsICIgIi5qb2luKHVuaXF1ZV90YXNrcykpCkBAIC02NDAsNyArNjU5LDcgQEAKICAgICAgICAgcmV0dXJuCiAKICAgICBmb3IgZiBpbiAoZC5nZXRWYXIoJ1NTVEFURUNSRUFURUZVTkNTJykgb3IgJycpLnNwbGl0KCkgKyBcCi0gICAgICAgICAgICAgWydzc3RhdGVfY3JlYXRlX3BhY2thZ2UnLCAnc3N0YXRlX3NpZ25fcGFja2FnZSddICsgXAorICAgICAgICAgICAgIFsnc3N0YXRlX3JlcG9ydF91bmloYXNoJywgJ3NzdGF0ZV9jcmVhdGVfcGFja2FnZScsICdzc3RhdGVfc2lnbl9wYWNrYWdlJ10gKyBcCiAgICAgICAgICAgICAgKGQuZ2V0VmFyKCdTU1RBVEVQT1NUQ1JFQVRFRlVOQ1MnKSBvciAnJykuc3BsaXQoKToKICAgICAgICAgIyBBbGwgaG9va3Mgc2hvdWxkIHJ1biBpbiBTU1RBVEVfQlVJTERESVIuCiAgICAgICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYyhmLCBkLCAoc3N0YXRlYnVpbGQsKSkKQEAgLTc2NCw2ICs3ODMsMTQgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQuZ2V0VmFyKCdTU1RBVEVfU0lHX1BBU1NQSFJBU0UnKSwgYXJtb3I9RmFsc2UpCiB9CiAKK3B5dGhvbiBzc3RhdGVfcmVwb3J0X3VuaWhhc2goKSB7CisgICAgcmVwb3J0X3VuaWhhc2ggPSBnZXRhdHRyKGJiLnBhcnNlLnNpZ2dlbiwgJ3JlcG9ydF91bmloYXNoJywgTm9uZSkKKworICAgIGlmIHJlcG9ydF91bmloYXNoOgorICAgICAgICBzcyA9IHNzdGF0ZV9zdGF0ZV9mcm9tdmFycyhkKQorICAgICAgICByZXBvcnRfdW5paGFzaChvcy5nZXRjd2QoKSwgc3NbJ3Rhc2snXSwgZCkKK30KKwogIwogIyBTaGVsbCBmdW5jdGlvbiB0byBkZWNvbXByZXNzIGFuZCBwcmVwYXJlIGEgcGFja2FnZSBmb3IgaW5zdGFsbGF0aW9uCiAjIFdpbGwgYmUgcnVuIGZyb20gd2l0aGluIFNTVEFURV9JTlNURElSLgpAQCAtNzgwLDcgKzgwNyw3IEBACiAKIEJCX0hBU0hDSEVDS19GVU5DVElPTiA9ICJzc3RhdGVfY2hlY2toYXNoZXMiCiAKLWRlZiBzc3RhdGVfY2hlY2toYXNoZXMoc3FfZm4sIHNxX3Rhc2ssIHNxX2hhc2gsIHNxX2hhc2hmbiwgZCwgc2lnaW5mbz1GYWxzZSk6CitkZWYgc3N0YXRlX2NoZWNraGFzaGVzKHNxX2ZuLCBzcV90YXNrLCBzcV9oYXNoLCBzcV9oYXNoZm4sIGQsIHNpZ2luZm89RmFsc2UsICosIHNxX3VuaWhhc2g9Tm9uZSk6CiAKICAgICByZXQgPSBbXQogICAgIG1pc3NlZCA9IFtdCkBAIC03ODgsNiArODE1LDExIEBACiAgICAgaWYgc2lnaW5mbzoKICAgICAgICAgZXh0ZW5zaW9uID0gZXh0ZW5zaW9uICsgIi5zaWdpbmZvIgogCisgICAgZGVmIGdldGhhc2godGFzayk6CisgICAgICAgIGlmIHNxX3VuaWhhc2ggaXMgbm90IE5vbmU6CisgICAgICAgICAgICByZXR1cm4gc3FfdW5paGFzaFt0YXNrXQorICAgICAgICByZXR1cm4gc3FfaGFzaFt0YXNrXQorCiAgICAgZGVmIGdldHBhdGhjb21wb25lbnRzKHRhc2ssIGQpOgogICAgICAgICAjIE1hZ2ljIGRhdGEgZnJvbSBCQl9IQVNIRklMRU5BTUUKICAgICAgICAgc3BsaXRoYXNoZm4gPSBzcV9oYXNoZm5bdGFza10uc3BsaXQoIiAiKQpAQCAtODEwLDcgKzg0Miw3IEBACiAKICAgICAgICAgc3BlYywgZXh0cmFwYXRoLCB0bmFtZSA9IGdldHBhdGhjb21wb25lbnRzKHRhc2ssIGQpCiAKLSAgICAgICAgc3N0YXRlZmlsZSA9IGQuZXhwYW5kKCIke1NTVEFURV9ESVJ9LyIgKyBleHRyYXBhdGggKyBnZW5lcmF0ZV9zc3RhdGVmbihzcGVjLCBzcV9oYXNoW3Rhc2tdLCBkKSArICJfIiArIHRuYW1lICsgZXh0ZW5zaW9uKQorICAgICAgICBzc3RhdGVmaWxlID0gZC5leHBhbmQoIiR7U1NUQVRFX0RJUn0vIiArIGV4dHJhcGF0aCArIGdlbmVyYXRlX3NzdGF0ZWZuKHNwZWMsIGdldGhhc2godGFzayksIGQpICsgIl8iICsgdG5hbWUgKyBleHRlbnNpb24pCiAKICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoc3N0YXRlZmlsZSk6CiAgICAgICAgICAgICBiYi5kZWJ1ZygyLCAiU1N0YXRlOiBGb3VuZCB2YWxpZCBzc3RhdGUgZmlsZSAlcyIgJSBzc3RhdGVmaWxlKQpAQCAtODcyLDcgKzkwNCw3IEBACiAgICAgICAgICAgICBpZiB0YXNrIGluIHJldDoKICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgc3BlYywgZXh0cmFwYXRoLCB0bmFtZSA9IGdldHBhdGhjb21wb25lbnRzKHRhc2ssIGQpCi0gICAgICAgICAgICBzc3RhdGVmaWxlID0gZC5leHBhbmQoZXh0cmFwYXRoICsgZ2VuZXJhdGVfc3N0YXRlZm4oc3BlYywgc3FfaGFzaFt0YXNrXSwgZCkgKyAiXyIgKyB0bmFtZSArIGV4dGVuc2lvbikKKyAgICAgICAgICAgIHNzdGF0ZWZpbGUgPSBkLmV4cGFuZChleHRyYXBhdGggKyBnZW5lcmF0ZV9zc3RhdGVmbihzcGVjLCBnZXRoYXNoKHRhc2spLCBkKSArICJfIiArIHRuYW1lICsgZXh0ZW5zaW9uKQogICAgICAgICAgICAgdGFza2xpc3QuYXBwZW5kKCh0YXNrLCBzc3RhdGVmaWxlKSkKIAogICAgICAgICBpZiB0YXNrbGlzdDoKQEAgLTg5OCwxMiArOTMwLDEyIEBACiAgICAgICAgIGV2ZGF0YSA9IHsnbWlzc2VkJzogW10sICdmb3VuZCc6IFtdfTsKICAgICAgICAgZm9yIHRhc2sgaW4gbWlzc2VkOgogICAgICAgICAgICAgc3BlYywgZXh0cmFwYXRoLCB0bmFtZSA9IGdldHBhdGhjb21wb25lbnRzKHRhc2ssIGQpCi0gICAgICAgICAgICBzc3RhdGVmaWxlID0gZC5leHBhbmQoZXh0cmFwYXRoICsgZ2VuZXJhdGVfc3N0YXRlZm4oc3BlYywgc3FfaGFzaFt0YXNrXSwgZCkgKyAiXyIgKyB0bmFtZSArICIudGd6IikKLSAgICAgICAgICAgIGV2ZGF0YVsnbWlzc2VkJ10uYXBwZW5kKCAoc3FfZm5bdGFza10sIHNxX3Rhc2tbdGFza10sIHNxX2hhc2hbdGFza10sIHNzdGF0ZWZpbGUgKSApCisgICAgICAgICAgICBzc3RhdGVmaWxlID0gZC5leHBhbmQoZXh0cmFwYXRoICsgZ2VuZXJhdGVfc3N0YXRlZm4oc3BlYywgZ2V0aGFzaCh0YXNrKSwgZCkgKyAiXyIgKyB0bmFtZSArICIudGd6IikKKyAgICAgICAgICAgIGV2ZGF0YVsnbWlzc2VkJ10uYXBwZW5kKCAoc3FfZm5bdGFza10sIHNxX3Rhc2tbdGFza10sIGdldGhhc2godGFzayksIHNzdGF0ZWZpbGUgKSApCiAgICAgICAgIGZvciB0YXNrIGluIHJldDoKICAgICAgICAgICAgIHNwZWMsIGV4dHJhcGF0aCwgdG5hbWUgPSBnZXRwYXRoY29tcG9uZW50cyh0YXNrLCBkKQotICAgICAgICAgICAgc3N0YXRlZmlsZSA9IGQuZXhwYW5kKGV4dHJhcGF0aCArIGdlbmVyYXRlX3NzdGF0ZWZuKHNwZWMsIHNxX2hhc2hbdGFza10sIGQpICsgIl8iICsgdG5hbWUgKyAiLnRneiIpCi0gICAgICAgICAgICBldmRhdGFbJ2ZvdW5kJ10uYXBwZW5kKCAoc3FfZm5bdGFza10sIHNxX3Rhc2tbdGFza10sIHNxX2hhc2hbdGFza10sIHNzdGF0ZWZpbGUgKSApCisgICAgICAgICAgICBzc3RhdGVmaWxlID0gZC5leHBhbmQoZXh0cmFwYXRoICsgZ2VuZXJhdGVfc3N0YXRlZm4oc3BlYywgZ2V0aGFzaCh0YXNrKSwgZCkgKyAiXyIgKyB0bmFtZSArICIudGd6IikKKyAgICAgICAgICAgIGV2ZGF0YVsnZm91bmQnXS5hcHBlbmQoIChzcV9mblt0YXNrXSwgc3FfdGFza1t0YXNrXSwgZ2V0aGFzaCh0YXNrKSwgc3N0YXRlZmlsZSApICkKICAgICAgICAgYmIuZXZlbnQuZmlyZShiYi5ldmVudC5NZXRhZGF0YUV2ZW50KCJNaXNzZWRTc3RhdGUiLCBldmRhdGEpLCBkKQogCiAgICAgIyBQcmludCBzb21lIHN1bW1hcnkgc3RhdGlzdGljcyBhYm91dCB0aGUgY3VycmVudCB0YXNrIGNvbXBsZXRpb24gYW5kIGhvdyBtdWNoIHNzdGF0ZQpAQCAtMTA4NywxMiArMTExOSwxNSBAQAogICAgICAgICB3aXRoIG9wZW4oaSwgInIiKSBhcyBmOgogICAgICAgICAgICAgbGluZXMgPSBmLnJlYWRsaW5lcygpCiAgICAgICAgICAgICBmb3IgbCBpbiBsaW5lczoKLSAgICAgICAgICAgICAgICAoc3RhbXAsIG1hbmlmZXN0LCB3b3JrZGlyKSA9IGwuc3BsaXQoKQotICAgICAgICAgICAgICAgIGlmIHN0YW1wIG5vdCBpbiBzdGFtcHMgYW5kIHN0YW1wIG5vdCBpbiBwcmVzZXJ2ZXN0YW1wcyBhbmQgc3RhbXAgaW4gbWFjaGluZWluZGV4OgotICAgICAgICAgICAgICAgICAgICB0b3JlbW92ZS5hcHBlbmQobCkKLSAgICAgICAgICAgICAgICAgICAgaWYgc3RhbXAgbm90IGluIHNlZW46Ci0gICAgICAgICAgICAgICAgICAgICAgICBiYi5kZWJ1ZygyLCAiU3RhbXAgJXMgaXMgbm90IHJlYWNoYWJsZSwgcmVtb3ZpbmcgcmVsYXRlZCBtYW5pZmVzdHMiICUgc3RhbXApCi0gICAgICAgICAgICAgICAgICAgICAgICBzZWVuLmFwcGVuZChzdGFtcCkKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIChzdGFtcCwgbWFuaWZlc3QsIHdvcmtkaXIpID0gbC5zcGxpdCgpCisgICAgICAgICAgICAgICAgICAgIGlmIHN0YW1wIG5vdCBpbiBzdGFtcHMgYW5kIHN0YW1wIG5vdCBpbiBwcmVzZXJ2ZXN0YW1wcyBhbmQgc3RhbXAgaW4gbWFjaGluZWluZGV4OgorICAgICAgICAgICAgICAgICAgICAgICAgdG9yZW1vdmUuYXBwZW5kKGwpCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBzdGFtcCBub3QgaW4gc2VlbjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYi5kZWJ1ZygyLCAiU3RhbXAgJXMgaXMgbm90IHJlYWNoYWJsZSwgcmVtb3ZpbmcgcmVsYXRlZCBtYW5pZmVzdHMiICUgc3RhbXApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vlbi5hcHBlbmQoc3RhbXApCisgICAgICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CisgICAgICAgICAgICAgICAgICAgIGJiLmZhdGFsKCJJbnZhbGlkIGxpbmUgJyVzJyBpbiBzc3RhdGUgbWFuaWZlc3QgJyVzJyIgJSAobCwgaSkpCiAKICAgICAgICAgaWYgdG9yZW1vdmU6CiAgICAgICAgICAgICBtc2cgPSAiUmVtb3ZpbmcgJWQgcmVjaXBlcyBmcm9tIHRoZSAlcyBzeXNyb290IiAlIChsZW4odG9yZW1vdmUpLCBhKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvc3RhZ2luZy5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvc3RhZ2luZy5iYmNsYXNzCmluZGV4IDg0ZTEzYmEuLjA2MmIyODEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL3N0YWdpbmcuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9zdGFnaW5nLmJiY2xhc3MKQEAgLTE5OCw2ICsxOTgsMTAgQEAKICAgICAgICAgICAgIGlmIG1hbmlmZXN0LmVuZHN3aXRoKCItaW5pdGlhbC5wb3B1bGF0ZV9zeXNyb290Iik6CiAgICAgICAgICAgICAgICAgIyBza2lwIGdsaWJjLWluaXRpYWwgYW5kIGxpYmdjYy1pbml0aWFsIGR1ZSB0byBmaWxlIG92ZXJsYXAKICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgaWYgbm90IG5hdGl2ZSBhbmQgKG1hbmlmZXN0LmVuZHN3aXRoKCItbmF0aXZlLnBvcHVsYXRlX3N5c3Jvb3QiKSBvciAibmF0aXZlc2RrLSIgaW4gbWFuaWZlc3QpOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBpZiBuYXRpdmUgYW5kIG5vdCAobWFuaWZlc3QuZW5kc3dpdGgoIi1uYXRpdmUucG9wdWxhdGVfc3lzcm9vdCIpIG9yIG1hbmlmZXN0LmVuZHN3aXRoKCItY3Jvc3MucG9wdWxhdGVfc3lzcm9vdCIpIG9yICItY3Jvc3MtIiBpbiBtYW5pZmVzdCk6CisgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgIHRtYW5pZmVzdCA9IHRhcmdldGRpciArICIvIiArIG9zLnBhdGguYmFzZW5hbWUobWFuaWZlc3QpCiAgICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyh0bWFuaWZlc3QpOgogICAgICAgICAgICAgICAgIGNvbnRpbnVlCkBAIC01NzMsNiArNTc3LDcgQEAKIH0KIGV4dGVuZF9yZWNpcGVfc3lzcm9vdFt2YXJkZXBzZXhjbHVkZV0gKz0gIk1BQ0hJTkVfQVJDSCBQQUNLQUdFX0VYVFJBX0FSQ0hTIFNES19BUkNIIEJVSUxEX0FSQ0ggU0RLX09TIEJCX1RBU0tERVBEQVRBIgogCitkb19wcmVwYXJlX3JlY2lwZV9zeXNyb290W2RlcHRhc2tdID0gImRvX3BvcHVsYXRlX3N5c3Jvb3QiCiBweXRob24gZG9fcHJlcGFyZV9yZWNpcGVfc3lzcm9vdCAoKSB7CiAgICAgYmIuYnVpbGQuZXhlY19mdW5jKCJleHRlbmRfcmVjaXBlX3N5c3Jvb3QiLCBkKQogfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvdGVybWluYWwuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL3Rlcm1pbmFsLmJiY2xhc3MKaW5kZXggNzNlNzY1ZC4uNjA1OWFlOSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvdGVybWluYWwuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy90ZXJtaW5hbC5iYmNsYXNzCkBAIC0xNCw2ICsxNCw3IEBACiAgICAgcmV0dXJuICIgIi5qb2luKG8ubmFtZSBmb3IgbyBpbiBvZS50ZXJtaW5hbC5wcmlvcml0aXplZCgpKQogCiBkZWYgZW1pdF90ZXJtaW5hbF9mdW5jKGNvbW1hbmQsIGVudmRhdGEsIGQpOgorICAgIGltcG9ydCBiYi5idWlsZAogICAgIGNtZF9mdW5jID0gJ2RvX3Rlcm1pbmFsJwogCiAgICAgZW52ZGF0YS5zZXRWYXIoY21kX2Z1bmMsICdleGVjICcgKyBjb21tYW5kKQpAQCAtMjUsOCArMjYsNyBAQAogICAgIGJiLnV0aWxzLm1rZGlyaGllcihvcy5wYXRoLmRpcm5hbWUocnVuZmlsZSkpCiAKICAgICB3aXRoIG9wZW4ocnVuZmlsZSwgJ3cnKSBhcyBzY3JpcHQ6Ci0gICAgICAgIHNjcmlwdC53cml0ZSgnIyEvdXNyL2Jpbi9lbnYgJXNcbicgJSBkLmdldFZhcignU0hFTEwnKSkKLSAgICAgICAgc2NyaXB0LndyaXRlKCdzZXQgLWVcbicpCisgICAgICAgIHNjcmlwdC53cml0ZShiYi5idWlsZC5zaGVsbF90cmFwX2NvZGUoKSkKICAgICAgICAgYmIuZGF0YS5lbWl0X2Z1bmMoY21kX2Z1bmMsIHNjcmlwdCwgZW52ZGF0YSkKICAgICAgICAgc2NyaXB0LndyaXRlKGNtZF9mdW5jKQogICAgICAgICBzY3JpcHQud3JpdGUoIlxuIikKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL3Rlc3RpbWFnZS5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvdGVzdGltYWdlLmJiY2xhc3MKaW5kZXggY2I4YzEyYS4uZmYxYzUzYiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvdGVzdGltYWdlLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvdGVzdGltYWdlLmJiY2xhc3MKQEAgLTMyLDYgKzMyLDcgQEAKICMgQm9vdGluZyBpcyBoYW5kbGVkIGJ5IHRoaXMgY2xhc3MsIGFuZCBpdCdzIG5vdCBhIHRlc3QgaW4gaXRzZWxmLgogIyBURVNUX1FFTVVCT09UX1RJTUVPVVQgY2FuIGJlIHVzZWQgdG8gc2V0IHRoZSBtYXhpbXVtIHRpbWUgaW4gc2Vjb25kcyB0aGUgbGF1bmNoIGNvZGUgd2lsbCB3YWl0IGZvciB0aGUgbG9naW4gcHJvbXB0LgogIyBURVNUX1FFTVVQQVJBTVMgY2FuIGJlIHVzZWQgdG8gcGFzcyBleHRyYSBwYXJhbWV0ZXJzIHRvIHFlbXUsIGUuZy4gIi1tIDEwMjQiIGZvciBzZXR0aW5nIHRoZSBhbW91bnQgb2YgcmFtIHRvIDEgR0IuCisjIFRFU1RfUlVOUUVNVVBBUkFNUyBjYW4gYmUgdXNlZCB0byBwYXNzIGV4dHJhIHBhcmFtZXRlcnMgdG8gcnVucWVtdSwgZS5nLiAiZ2wiIHRvIGVuYWJsZSBPcGVuR0wgYWNjZWxlcmF0aW9uLgogCiBURVNUX0xPR19ESVIgPz0gIiR7V09SS0RJUn0vdGVzdGltYWdlIgogCkBAIC02NSw2ICs2Niw3IEBACiBURVNUX1FFTVVCT09UX1RJTUVPVVQgPz0gIjEwMDAiCiBURVNUX1RBUkdFVCA/PSAicWVtdSIKIFRFU1RfUUVNVVBBUkFNUyA/PSAiIgorVEVTVF9SVU5RRU1VUEFSQU1TID89ICIiCiAKIFRFU1RJTUFHRURFUEVORFMgPSAiIgogVEVTVElNQUdFREVQRU5EU19hcHBlbmRfcWVtdWFsbCA9ICIgcWVtdS1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCBxZW11LWhlbHBlci1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCBxZW11LWhlbHBlci1uYXRpdmU6ZG9fYWRkdG9fcmVjaXBlX3N5c3Jvb3QiCkBAIC0yOTQsNyArMjk2LDcgQEAKICAgICB0cnk6CiAgICAgICAgICMgV2UgbmVlZCB0byBjaGVjayBpZiBydW5xZW11IGVuZHMgdW5leHBlY3RlZGx5CiAgICAgICAgICMgb3IgaWYgdGhlIHdvcmtlciBzZW5kIHVzIGEgU0lHVEVSTQotICAgICAgICB0Yy50YXJnZXQuc3RhcnQocGFyYW1zPWQuZ2V0VmFyKCJURVNUX1FFTVVQQVJBTVMiKSkKKyAgICAgICAgdGMudGFyZ2V0LnN0YXJ0KHBhcmFtcz1kLmdldFZhcigiVEVTVF9RRU1VUEFSQU1TIiksIHJ1bnFlbXVwYXJhbXM9ZC5nZXRWYXIoIlRFU1RfUlVOUUVNVVBBUkFNUyIpKQogICAgICAgICByZXN1bHRzID0gdGMucnVuVGVzdHMoKQogICAgIGV4Y2VwdCAoUnVudGltZUVycm9yLCBCbG9ja2luZ0lPRXJyb3IpIGFzIGVycjoKICAgICAgICAgaWYgaXNpbnN0YW5jZShlcnIsIFJ1bnRpbWVFcnJvcik6CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy91Ym9vdC1leHRsaW51eC1jb25maWcuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL3Vib290LWV4dGxpbnV4LWNvbmZpZy5iYmNsYXNzCmluZGV4IGM2NWM0MjEuLmI1YjFhODEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL3Vib290LWV4dGxpbnV4LWNvbmZpZy5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL3Vib290LWV4dGxpbnV4LWNvbmZpZy5iYmNsYXNzCkBAIC0xNDgsNSArMTQ4LDcgQEAKICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgYmIuZmF0YWwoJ1VuYWJsZSB0byBvcGVuICVzJyAlIChjZmlsZSkpCiB9CitVQk9PVF9FWFRMSU5VWF9WQVJTID0gIkNPTlNPTEUgTUVOVV9ERVNDUklQVElPTiBST09UIEtFUk5FTF9JTUFHRSBGRFRESVIgRkRUIEtFUk5FTF9BUkdTIElOSVRSRCIKK2RvX2NyZWF0ZV9leHRsaW51eF9jb25maWdbdmFyZGVwc10gKz0gIiR7QCcgJy5qb2luKFsnVUJPT1RfRVhUTElOVVhfJXNfJXMnICUgKHYsIGwpIGZvciB2IGluIGQuZ2V0VmFyKCdVQk9PVF9FWFRMSU5VWF9WQVJTJykuc3BsaXQoKSBmb3IgbCBpbiBkLmdldFZhcignVUJPT1RfRVhUTElOVVhfTEFCRUxTJykuc3BsaXQoKV0pfSIKIAogYWRkdGFzayBjcmVhdGVfZXh0bGludXhfY29uZmlnIGJlZm9yZSBkb19pbnN0YWxsIGRvX2RlcGxveSBhZnRlciBkb19jb21waWxlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy91Ym9vdC1zaWduLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy91Ym9vdC1zaWduLmJiY2xhc3MKaW5kZXggOGVlOTA0ZS4uOWUzZDFkNiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvdWJvb3Qtc2lnbi5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL3Vib290LXNpZ24uYmJjbGFzcwpAQCAtMTksMTEgKzE5LDE1IEBACiAjIFRoZSB0YXNrcyBzZXF1ZW5jZSBpcyBzZXQgYXMgYmVsb3csIHVzaW5nIERFUExPWV9JTUFHRV9ESVIgYXMgY29tbW9uIHBsYWNlIHRvCiAjIHRyZWF0IHRoZSBkZXZpY2UgdHJlZSBibG9iOgogIwotIyAgIHUtYm9vdDpkb19kZXBsb3lfZHRiCi0jICAgdS1ib290OmRvX2RlcGxveQotIyAgIHZpcnR1YWwva2VybmVsOmRvX2Fzc2VtYmxlX2ZpdGltYWdlCi0jICAgdS1ib290OmRvX2NvbmNhdF9kdGIKLSMgICB1LWJvb3Q6ZG9faW5zdGFsbAorIyAqIHUtYm9vdDpkb19pbnN0YWxsX2FwcGVuZAorIyAgIEluc3RhbGwgVUJPT1RfRFRCX0JJTkFSWSB0byBkYXRhZGlyLCBzbyB0aGF0IGtlcm5lbCBjYW4gdXNlIGl0IGZvcgorIyAgIHNpZ25pbmcsIGFuZCBrZXJuZWwgd2lsbCBkZXBsb3kgVUJPT1RfRFRCX0JJTkFSWSBhZnRlciBzaWducyBpdC4KKyMKKyMgKiB2aXJ0dWFsL2tlcm5lbDpkb19hc3NlbWJsZV9maXRpbWFnZQorIyAgIFNpZ24gdGhlIGltYWdlCisjCisjICogdS1ib290OmRvX2RlcGxveVtwb3N0ZnVuY3NdCisjICAgRGVwbG95IGZpbGVzIGxpa2UgVUJPT1RfRFRCX0lNQUdFLCBVQk9PVF9EVEJfU1lNTElOSyBhbmQgb3RoZXJzLgogIwogIyBGb3IgbW9yZSBkZXRhaWxzIG9uIHNpZ25hdHVyZSBwcm9jZXNzLCBwbGVhc2UgcmVmZXIgdG8gVS1Cb290IGRvY3VtZW50YXRpb24uCiAKQEAgLTM4LDU4ICs0Miw2NSBAQAogVUJPT1RfTk9EVEJfQklOQVJZID89ICJ1LWJvb3Qtbm9kdGIuJHtVQk9PVF9TVUZGSVh9IgogVUJPT1RfTk9EVEJfU1lNTElOSyA/PSAidS1ib290LW5vZHRiLSR7TUFDSElORX0uJHtVQk9PVF9TVUZGSVh9IgogCi0jCi0jIEZvbGxvd2luZyBpcyByZWxldmFudCBvbmx5IGZvciB1LWJvb3QgcmVjaXBlczoKLSMKKyMgRnVuY3Rpb25zIGluIHRoaXMgYmJjbGFzcyBpcyBmb3IgdS1ib290IG9ubHkKK1VCT09UX1BOID0gIiR7QGQuZ2V0VmFyKCdQUkVGRVJSRURfUFJPVklERVJfdS1ib290Jykgb3IgJ3UtYm9vdCd9IgogCi1kb19kZXBsb3lfZHRiICgpIHsKLQlta2RpciAtcCAke0RFUExPWURJUn0KLQljZCAke0RFUExPWURJUn0KK2NvbmNhdF9kdGIoKSB7CisJaWYgWyAiJHtVQk9PVF9TSUdOX0VOQUJMRX0iID0gIjEiIC1hICIke1BOfSIgPSAiJHtVQk9PVF9QTn0iIF07IHRoZW4KKwkJbWtkaXIgLXAgJHtERVBMT1lESVJ9CisJCWlmIFsgLWUgJHtCfS8ke1VCT09UX0RUQl9CSU5BUll9IF07IHRoZW4KKwkJCWxuIC1zZiAke1VCT09UX0RUQl9JTUFHRX0gJHtERVBMT1lESVJ9LyR7VUJPT1RfRFRCX0JJTkFSWX0KKwkJCWxuIC1zZiAke1VCT09UX0RUQl9JTUFHRX0gJHtERVBMT1lESVJ9LyR7VUJPT1RfRFRCX1NZTUxJTkt9CisJCWZpCiAKLQlpZiBbIC1mICR7Qn0vJHtVQk9PVF9EVEJfQklOQVJZfSBdOyB0aGVuCi0JCWluc3RhbGwgJHtCfS8ke1VCT09UX0RUQl9CSU5BUll9ICR7REVQTE9ZRElSfS8ke1VCT09UX0RUQl9JTUFHRX0KLQkJcm0gLWYgJHtVQk9PVF9EVEJfQklOQVJZfSAke1VCT09UX0RUQl9TWU1MSU5LfQotCQlsbiAtc2YgJHtVQk9PVF9EVEJfSU1BR0V9ICR7VUJPT1RfRFRCX1NZTUxJTkt9Ci0JCWxuIC1zZiAke1VCT09UX0RUQl9JTUFHRX0gJHtVQk9PVF9EVEJfQklOQVJZfQotCWZpCi0JaWYgWyAtZiAke0J9LyR7VUJPT1RfTk9EVEJfQklOQVJZfSBdOyB0aGVuCi0JCWluc3RhbGwgJHtCfS8ke1VCT09UX05PRFRCX0JJTkFSWX0gJHtERVBMT1lESVJ9LyR7VUJPT1RfTk9EVEJfSU1BR0V9Ci0JCXJtIC1mICR7VUJPT1RfTk9EVEJfQklOQVJZfSAke1VCT09UX05PRFRCX1NZTUxJTkt9Ci0JCWxuIC1zZiAke1VCT09UX05PRFRCX0lNQUdFfSAke1VCT09UX05PRFRCX1NZTUxJTkt9Ci0JCWxuIC1zZiAke1VCT09UX05PRFRCX0lNQUdFfSAke1VCT09UX05PRFRCX0JJTkFSWX0KLQlmaQotfQorCQlpZiBbIC1mICR7Qn0vJHtVQk9PVF9OT0RUQl9CSU5BUll9IF07IHRoZW4KKyAgICAgICAgICAgIGluc3RhbGwgJHtCfS8ke1VCT09UX05PRFRCX0JJTkFSWX0gJHtERVBMT1lESVJ9LyR7VUJPT1RfTk9EVEJfSU1BR0V9CisgICAgICAgICAgICBsbiAtc2YgJHtVQk9PVF9OT0RUQl9JTUFHRX0gJHtVQk9PVF9OT0RUQl9TWU1MSU5LfQorICAgICAgICAgICAgbG4gLXNmICR7VUJPT1RfTk9EVEJfSU1BR0V9ICR7VUJPT1RfTk9EVEJfQklOQVJZfQorCQlmaQogCi1kb19jb25jYXRfZHRiICgpIHsKLQkjIENvbmNhdGVuYXRlIFUtQm9vdCB3L28gRFRCICYgRFRCIHdpdGggcHVibGljIGtleQotCSMgKGNmLiBrZXJuZWwtZml0aW1hZ2UuYmJjbGFzcyBmb3IgbW9yZSBkZXRhaWxzKQotCWlmIFsgIngke1VCT09UX1NJR05fRU5BQkxFfSIgPSAieDEiIF07IHRoZW4KKwkJIyBDb25jYXRlbmF0ZSBVLUJvb3Qgdy9vIERUQiAmIERUQiB3aXRoIHB1YmxpYyBrZXkKKwkJIyAoY2YuIGtlcm5lbC1maXRpbWFnZS5iYmNsYXNzIGZvciBtb3JlIGRldGFpbHMpCisJCWRlcGxveWVkX3Vib290X2R0Yl9iaW5hcnk9JyR7REVQTE9ZX0RJUl9JTUFHRX0vJHtVQk9PVF9EVEJfSU1BR0V9JwogCQlpZiBbICJ4JHtVQk9PVF9TVUZGSVh9IiA9ICJ4aW1nIiAtbyAieCR7VUJPT1RfU1VGRklYfSIgPSAieHJvbSIgXSAmJiBcCi0JCQlbIC1lICIke0RFUExPWURJUn0vJHtVQk9PVF9EVEJfSU1BR0V9IiBdOyB0aGVuCisJCQlbIC1lICIkZGVwbG95ZWRfdWJvb3RfZHRiX2JpbmFyeSIgXTsgdGhlbgogCQkJY2QgJHtCfQotCQkJb2VfcnVubWFrZSBFWFRfRFRCPSR7REVQTE9ZRElSfS8ke1VCT09UX0RUQl9JTUFHRX0KKwkJCW9lX3J1bm1ha2UgRVhUX0RUQj0kZGVwbG95ZWRfdWJvb3RfZHRiX2JpbmFyeQogCQkJaW5zdGFsbCAke0J9LyR7VUJPT1RfQklOQVJZfSAke0RFUExPWURJUn0vJHtVQk9PVF9JTUFHRX0KLQkJCWluc3RhbGwgJHtCfS8ke1VCT09UX0JJTkFSWX0gJHtERVBMT1lfRElSX0lNQUdFfS8ke1VCT09UX0lNQUdFfQotCQllbGlmIFsgLWUgIiR7REVQTE9ZRElSfS8ke1VCT09UX05PRFRCX0lNQUdFfSIgLWEgLWUgIiR7REVQTE9ZRElSfS8ke1VCT09UX0RUQl9JTUFHRX0iIF07IHRoZW4KKwkJZWxpZiBbIC1lICIke0RFUExPWURJUn0vJHtVQk9PVF9OT0RUQl9JTUFHRX0iIC1hIC1lICIkZGVwbG95ZWRfdWJvb3RfZHRiX2JpbmFyeSIgXTsgdGhlbgogCQkJY2QgJHtERVBMT1lESVJ9Ci0JCQljYXQgJHtVQk9PVF9OT0RUQl9JTUFHRX0gJHtVQk9PVF9EVEJfSU1BR0V9IHwgdGVlICR7Qn0vJHtVQk9PVF9CSU5BUll9ID4gJHtVQk9PVF9JTUFHRX0KLQkJZWxzZQorCQkJY2F0ICR7VUJPT1RfTk9EVEJfSU1BR0V9ICRkZXBsb3llZF91Ym9vdF9kdGJfYmluYXJ5IHwgdGVlICR7Qn0vJHtVQk9PVF9CSU5BUll9ID4gJHtVQk9PVF9JTUFHRX0KKwkJZWxpZiBbIC1uICIke1VCT09UX0RUQl9CSU5BUll9IiBdOyB0aGVuCiAJCQliYndhcm4gIkZhaWx1cmUgd2hpbGUgYWRkaW5nIHB1YmxpYyBrZXkgdG8gdS1ib290IGJpbmFyeS4gVmVyaWZpZWQgYm9vdCB3b24ndCBiZSBhdmFpbGFibGUuIgogCQlmaQogCWZpCiB9CiAKKyMgSW5zdGFsbCBVQk9PVF9EVEJfQklOQVJZIHRvIGRhdGFkaXIsIHNvIHRoYXQga2VybmVsIGNhbiB1c2UgaXQgZm9yCisjIHNpZ25pbmcsIGFuZCBrZXJuZWwgd2lsbCBkZXBsb3kgVUJPT1RfRFRCX0JJTkFSWSBhZnRlciBzaWducyBpdC4KK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCWlmIFsgIiR7VUJPT1RfU0lHTl9FTkFCTEV9IiA9ICIxIiAtYSAiJHtQTn0iID0gIiR7VUJPT1RfUE59IiBdOyB0aGVuCisJCWlmIFsgLWYgJHtCfS8ke1VCT09UX0RUQl9CSU5BUll9IF07IHRoZW4KKwkJCWluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0KKwkJCSMgVUJPT1RfRFRCX0JJTkFSWSBpcyBhIHN5bWxpbmsgdG8gVUJPT1RfRFRCX0lNQUdFLCBzbyB3ZQorCQkJIyBuZWVkIGJvdGggb2YgdGhlbS4KKwkJCWluc3RhbGwgJHtCfS8ke1VCT09UX0RUQl9CSU5BUll9ICR7RH0ke2RhdGFkaXJ9LyR7VUJPT1RfRFRCX0lNQUdFfQorCQkJbG4gLXNmICR7VUJPT1RfRFRCX0lNQUdFfSAke0R9JHtkYXRhZGlyfS8ke1VCT09UX0RUQl9CSU5BUll9CisJCWVsaWYgWyAtbiAiJHtVQk9PVF9EVEJfQklOQVJZfSIgXTsgdGhlbgorCQkJYmJ3YXJuICIke0J9LyR7VUJPT1RfRFRCX0JJTkFSWX0gbm90IGZvdW5kIgorCQlmaQorCWZpCit9CisKIHB5dGhvbiAoKSB7Ci0JdWJvb3RfcG4gPSBkLmdldFZhcignUFJFRkVSUkVEX1BST1ZJREVSX3UtYm9vdCcpIG9yICd1LWJvb3QnCi0JaWYgZC5nZXRWYXIoJ1VCT09UX1NJR05fRU5BQkxFJykgPT0gJzEnIGFuZCBkLmdldFZhcignUE4nKSA9PSB1Ym9vdF9wbjoKLQkJa2VybmVsX3BuID0gZC5nZXRWYXIoJ1BSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2tlcm5lbCcpCisgICAgaWYgZC5nZXRWYXIoJ1VCT09UX1NJR05fRU5BQkxFJykgPT0gJzEnIGFuZCBkLmdldFZhcignUE4nKSA9PSBkLmdldFZhcignVUJPT1RfUE4nKToKKyAgICAgICAga2VybmVsX3BuID0gZC5nZXRWYXIoJ1BSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2tlcm5lbCcpCiAKLQkJIyB1LWJvb3QuZHRiIGFuZCB1LWJvb3Qtbm9kdGIuYmluIGFyZSBkZXBsb3llZCBfYmVmb3JlXyBkb19kZXBsb3kKLQkJIyBUaHVzLCBkb19kZXBsb3lfc2V0c2NlbmUgd2lsbCBhbHNvIHBvcHVsYXRlIHRoZW0gaW4gREVQTE9ZX0lNQUdFX0RJUgotCQliYi5idWlsZC5hZGR0YXNrKCdkb19kZXBsb3lfZHRiJywgJ2RvX2RlcGxveScsICdkb19jb21waWxlJywgZCkKKyAgICAgICAgIyBNYWtlICJiaXRiYWtlIHUtYm9vdCAtY2RlcGxveSIgZGVwbG95cyB0aGUgc2lnbmVkIHUtYm9vdC5kdGIKKyAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19kZXBsb3knLCAnZGVwZW5kcycsICcgJXM6ZG9fZGVwbG95JyAlIGtlcm5lbF9wbikKIAotCQkjIGRvX2NvbmNhdF9kdGIgaXMgc2NoZWR1bGVkIF9iZWZvcmVfIGRvX2luc3RhbGwgYXMgaXQgb3ZlcndyaXRlIHRoZQotCQkjIHUtYm9vdC5iaW4gaW4gYm90aCBERVBMT1lESVIgYW5kIERFUExPWV9JTUFHRV9ESVIuCi0JCWJiLmJ1aWxkLmFkZHRhc2soJ2RvX2NvbmNhdF9kdGInLCAnZG9faW5zdGFsbCcsIE5vbmUsIGQpCi0JCWQuYXBwZW5kVmFyRmxhZygnZG9fY29uY2F0X2R0YicsICdkZXBlbmRzJywgJyAlczpkb19hc3NlbWJsZV9maXRpbWFnZScgJSBrZXJuZWxfcG4pCisgICAgICAgICMga2VybmVybCdzIGRvX2RlcGxveSBpcyBhIGxpdGxlIHNwZWNpYWwsIHNvIHdlIGNhbid0IHVzZQorICAgICAgICAjIGRvX2RlcGxveV9hcHBlbmQsIG90aGVyd2lzZSBpdCB3b3VsZCBvdmVycmlkZQorICAgICAgICAjIGtlcm5lbF9kb19kZXBsb3kuCisgICAgICAgIGQuYXBwZW5kVmFyRmxhZygnZG9fZGVwbG95JywgJ3ByZWZ1bmNzJywgJyBjb25jYXRfZHRiJykKIH0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL3VwZGF0ZS1hbHRlcm5hdGl2ZXMuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL3VwZGF0ZS1hbHRlcm5hdGl2ZXMuYmJjbGFzcwppbmRleCBhN2YxYTZmLi41MzdlODVkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy91cGRhdGUtYWx0ZXJuYXRpdmVzLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvdXBkYXRlLWFsdGVybmF0aXZlcy5iYmNsYXNzCkBAIC04OSwxNSArODksMjEgQEAKICAgICBpZiBub3QgJ3ZpcnR1YWwvdXBkYXRlLWFsdGVybmF0aXZlcycgaW4gZC5nZXRWYXIoJ1BST1ZJREVTJyk6CiAgICAgICAgIGQuYXBwZW5kVmFyKCdERVBFTkRTJywgJyB2aXJ0dWFsLyR7TUxQUkVGSVh9dXBkYXRlLWFsdGVybmF0aXZlcycpCiAKLXB5dGhvbiBfX2Fub255bW91cygpIHsKK2RlZiB1cGRhdGVfYWx0ZXJuYXRpdmVzX2VuYWJsZWQoZCk6CiAgICAgIyBVcGRhdGUgQWx0ZXJuYXRpdmVzIG9ubHkgd29ya3Mgb24gdGFyZ2V0IHBhY2thZ2VzLi4uCiAgICAgaWYgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnbmF0aXZlJywgZCkgb3IgXAogICAgICAgIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2Nyb3NzJywgZCkgb3IgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnY3Jvc3NzZGsnLCBkKSBvciBcCiAgICAgICAgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnY3Jvc3MtY2FuYWRpYW4nLCBkKToKLSAgICAgICAgcmV0dXJuCisgICAgICAgIHJldHVybiBGYWxzZQogCiAgICAgIyBEaXNhYmxlIHdoZW4gdGFyZ2V0aW5nIG1pbmd3MzIgKG5vIHRhcmdldCBzdXBwb3J0KQogICAgIGlmIGQuZ2V0VmFyKCJUQVJHRVRfT1MiKSA9PSAibWluZ3czMiI6CisgICAgICAgIHJldHVybiBGYWxzZQorCisgICAgcmV0dXJuIFRydWUKKworcHl0aG9uIF9fYW5vbnltb3VzKCkgeworICAgIGlmIG5vdCB1cGRhdGVfYWx0ZXJuYXRpdmVzX2VuYWJsZWQoZCk6CiAgICAgICAgIHJldHVybgogCiAgICAgIyBjb21wdXRlIHNwZWNpYWwgdmFyZGVwcwpAQCAtMTI1LDkgKzEzMSwyMSBAQAogcG9wdWxhdGVfcGFja2FnZXNbdmFyZGVwc10gKz0gIiR7VVBEQUxUVkFSU30gJHtAZ2VuX3VwZGF0ZWFsdGVybmF0aXZlc3ZhcnMoZCl9IgogCiAjIFdlIG5lZWQgdG8gZG8gdGhlIHJlbmFtZSBhZnRlciB0aGUgaW1hZ2UgY3JlYXRpb24gc3RlcCwgYnV0IGJlZm9yZQotIyB0aGUgc3BsaXQgYW5kIHN0cmlwIHN0ZXBzLi4gIHBhY2thZ2Vjb3B5IHNlZW1zIHRvIGJlIHRoZSBlYXJsaWVzdCByZWFzb25hYmxlCi0jIHBsYWNlLgotcHl0aG9uIHBlcmZvcm1fcGFja2FnZWNvcHlfYXBwZW5kICgpIHsKKyMgdGhlIHNwbGl0IGFuZCBzdHJpcCBzdGVwcy4uICBQQUNLQUdFX1BSRVBST0NFU1NfRlVOQ1MgaXMgdGhlIHJpZ2h0CisjIHBsYWNlIGZvciB0aGF0LgorUEFDS0FHRV9QUkVQUk9DRVNTX0ZVTkNTICs9ICJhcHBseV91cGRhdGVfYWx0ZXJuYXRpdmVfcmVuYW1lcyIKK3B5dGhvbiBhcHBseV91cGRhdGVfYWx0ZXJuYXRpdmVfcmVuYW1lcyAoKSB7CisgICAgaWYgbm90IHVwZGF0ZV9hbHRlcm5hdGl2ZXNfZW5hYmxlZChkKToKKyAgICAgICByZXR1cm4KKworICAgIGltcG9ydCByZQorCisgICAgZGVmIHVwZGF0ZV9maWxlcyhhbHRfdGFyZ2V0LCBhbHRfdGFyZ2V0X3JlbmFtZSwgcGtnLCBkKToKKyAgICAgICAgZiA9IGQuZ2V0VmFyKCdGSUxFU18nICsgcGtnKQorICAgICAgICBpZiBmOgorICAgICAgICAgICAgZiA9IHJlLnN1YihyJyhefFxzKSVzKFxzfCQpJyAlIHJlLmVzY2FwZSAoYWx0X3RhcmdldCksIHInXDElc1wyJyAlIGFsdF90YXJnZXRfcmVuYW1lLCBmKQorICAgICAgICAgICAgZC5zZXRWYXIoJ0ZJTEVTXycgKyBwa2csIGYpCisKICAgICAjIENoZWNrIGZvciBkZXByZWNhdGVkIHVzYWdlLi4uCiAgICAgcG4gPSBkLmdldFZhcignQlBOJykKICAgICBpZiBkLmdldFZhcignQUxURVJOQVRJVkVfTElOS1MnKSAhPSBOb25lOgpAQCAtMTM3LDcgKzE1NSw3IEBACiAgICAgcGtnZGVzdCA9IGQuZ2V0VmFyKCdQS0dEJykKICAgICBmb3IgcGtnIGluIChkLmdldFZhcignUEFDS0FHRVMnKSBvciAiIikuc3BsaXQoKToKICAgICAgICAgIyBJZiB0aGUgc3JjID09IGRlc3QsIHdlIGtub3cgd2UgbmVlZCB0byByZW5hbWUgdGhlIGRlc3QgYnkgYXBwZW5kaW5nICR7QlBOfQotICAgICAgICBsaW5rX3JlbmFtZSA9IHt9CisgICAgICAgIGxpbmtfcmVuYW1lID0gW10KICAgICAgICAgZm9yIGFsdF9uYW1lIGluIChkLmdldFZhcignQUxURVJOQVRJVkVfJXMnICUgcGtnKSBvciAiIikuc3BsaXQoKToKICAgICAgICAgICAgIGFsdF9saW5rICAgICA9IGQuZ2V0VmFyRmxhZygnQUxURVJOQVRJVkVfTElOS19OQU1FJywgYWx0X25hbWUpCiAgICAgICAgICAgICBpZiBub3QgYWx0X2xpbms6CkBAIC0xNjMsMTAgKzE4MSwxMSBAQAogICAgICAgICAgICAgICAgIGVsaWYgb3MucGF0aC5sZXhpc3RzKHNyYyk6CiAgICAgICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguaXNsaW5rKHNyYyk6CiAgICAgICAgICAgICAgICAgICAgICAgICAjIERlbGF5IHJlbmFtZSBvZiBsaW5rcwotICAgICAgICAgICAgICAgICAgICAgICAgbGlua19yZW5hbWVbYWx0X3RhcmdldF0gPSBhbHRfdGFyZ2V0X3JlbmFtZQorICAgICAgICAgICAgICAgICAgICAgICAgbGlua19yZW5hbWUuYXBwZW5kKChhbHRfdGFyZ2V0LCBhbHRfdGFyZ2V0X3JlbmFtZSkpCiAgICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgICBiYi5ub3RlKCclczogUmVuYW1lICVzIC0+ICVzJyAlIChwbiwgYWx0X3RhcmdldCwgYWx0X3RhcmdldF9yZW5hbWUpKQogICAgICAgICAgICAgICAgICAgICAgICAgb3MucmVuYW1lKHNyYywgZGVzdCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZV9maWxlcyhhbHRfdGFyZ2V0LCBhbHRfdGFyZ2V0X3JlbmFtZSwgcGtnLCBkKQogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIGJiLndhcm4oIiVzOiBhbHRlcm5hdGl2ZSB0YXJnZXQgKCVzIG9yICVzKSBkb2VzIG5vdCBleGlzdCwgc2tpcHBpbmcuLi4iICUgKHBuLCBhbHRfdGFyZ2V0LCBhbHRfdGFyZ2V0X3JlbmFtZSkpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCkBAIC0xNzQsMzEgKzE5MywzNSBAQAogCiAgICAgICAgICMgUHJvY2VzcyBkZWxheWVkIGxpbmsgbmFtZXMKICAgICAgICAgIyBEbyB0aGVzZSBhZnRlciBvdGhlciByZW5hbWVzIHNvIHdlIGNhbiBjb3JyZWN0IGJyb2tlbiBsaW5rcwotICAgICAgICBmb3IgYWx0X3RhcmdldCBpbiBsaW5rX3JlbmFtZToKKyAgICAgICAgZm9yIChhbHRfdGFyZ2V0LCBhbHRfdGFyZ2V0X3JlbmFtZSkgaW4gbGlua19yZW5hbWU6CiAgICAgICAgICAgICBzcmMgPSAnJXMvJXMnICUgKHBrZ2Rlc3QsIGFsdF90YXJnZXQpCi0gICAgICAgICAgICBkZXN0ID0gJyVzLyVzJyAlIChwa2dkZXN0LCBsaW5rX3JlbmFtZVthbHRfdGFyZ2V0XSkKLSAgICAgICAgICAgIGxpbmsgPSBvcy5yZWFkbGluayhzcmMpCisgICAgICAgICAgICBkZXN0ID0gJyVzLyVzJyAlIChwa2dkZXN0LCBhbHRfdGFyZ2V0X3JlbmFtZSkKICAgICAgICAgICAgIGxpbmtfdGFyZ2V0ID0gb2UucGF0aC5yZWFscGF0aChzcmMsIHBrZ2Rlc3QsIFRydWUpCiAKICAgICAgICAgICAgIGlmIG9zLnBhdGgubGV4aXN0cyhsaW5rX3RhcmdldCk6CiAgICAgICAgICAgICAgICAgIyBPaywgdGhlIGxpbmtfdGFyZ2V0IGV4aXN0cywgd2UgY2FuIHJlbmFtZQotICAgICAgICAgICAgICAgIGJiLm5vdGUoJyVzOiBSZW5hbWUgKGxpbmspICVzIC0+ICVzJyAlIChwbiwgYWx0X3RhcmdldCwgbGlua19yZW5hbWVbYWx0X3RhcmdldF0pKQorICAgICAgICAgICAgICAgIGJiLm5vdGUoJyVzOiBSZW5hbWUgKGxpbmspICVzIC0+ICVzJyAlIChwbiwgYWx0X3RhcmdldCwgYWx0X3RhcmdldF9yZW5hbWUpKQogICAgICAgICAgICAgICAgIG9zLnJlbmFtZShzcmMsIGRlc3QpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICMgVHJ5IHRvIHJlc29sdmUgdGhlIGJyb2tlbiBsaW5rIHRvIGxpbmsuJHtCUE59CiAgICAgICAgICAgICAgICAgbGlua19tYXliZSA9ICclcy4lcycgJSAob3MucmVhZGxpbmsoc3JjKSwgcG4pCiAgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5sZXhpc3RzKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoc3JjKSwgbGlua19tYXliZSkpOgogICAgICAgICAgICAgICAgICAgICAjIE9rLCB0aGUgcmVuYW1lZCBsaW5rIHRhcmdldCBleGlzdHMuLiBjcmVhdGUgYSBuZXcgbGluaywgYW5kIHJlbW92ZSB0aGUgb3JpZ2luYWwKLSAgICAgICAgICAgICAgICAgICAgYmIubm90ZSgnJXM6IENyZWF0aW5nIG5ldyBsaW5rICVzIC0+ICVzJyAlIChwbiwgbGlua19yZW5hbWVbYWx0X3RhcmdldF0sIGxpbmtfbWF5YmUpKQorICAgICAgICAgICAgICAgICAgICBiYi5ub3RlKCclczogQ3JlYXRpbmcgbmV3IGxpbmsgJXMgLT4gJXMnICUgKHBuLCBhbHRfdGFyZ2V0X3JlbmFtZSwgbGlua19tYXliZSkpCiAgICAgICAgICAgICAgICAgICAgIG9zLnN5bWxpbmsobGlua19tYXliZSwgZGVzdCkKICAgICAgICAgICAgICAgICAgICAgb3MudW5saW5rKHNyYykKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICBiYi53YXJuKCclczogVW5hYmxlIHRvIHJlc29sdmUgZGFuZ2xpbmcgc3ltbGluazogJXMnICUgKHBuLCBhbHRfdGFyZ2V0KSkKKyAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIHVwZGF0ZV9maWxlcyhhbHRfdGFyZ2V0LCBhbHRfdGFyZ2V0X3JlbmFtZSwgcGtnLCBkKQogfQogCiBQQUNLQUdFU1BMSVRGVU5DU19wcmVwZW5kID0gInBvcHVsYXRlX3BhY2thZ2VzX3VwZGF0ZWFsdGVybmF0aXZlcyAiCiAKIHB5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc191cGRhdGVhbHRlcm5hdGl2ZXMgKCkgeworICAgIGlmIG5vdCB1cGRhdGVfYWx0ZXJuYXRpdmVzX2VuYWJsZWQoZCk6CisgICAgICAgIHJldHVybgorCiAgICAgcG4gPSBkLmdldFZhcignQlBOJykKIAogICAgICMgRG8gYWN0dWFsIHVwZGF0ZSBhbHRlcm5hdGl2ZXMgcHJvY2Vzc2luZwpAQCAtMjUyLDEwICsyNzUsMTUgQEAKIH0KIAogcHl0aG9uIHBhY2thZ2VfZG9fZmlsZWRlcHNfYXBwZW5kICgpIHsKKyAgICBpZiB1cGRhdGVfYWx0ZXJuYXRpdmVzX2VuYWJsZWQoZCk6CisgICAgICAgIGFwcGx5X3VwZGF0ZV9hbHRlcm5hdGl2ZV9wcm92aWRlcyhkKQorfQorCitkZWYgYXBwbHlfdXBkYXRlX2FsdGVybmF0aXZlX3Byb3ZpZGVzKGQpOgogICAgIHBuID0gZC5nZXRWYXIoJ0JQTicpCiAgICAgcGtnZGVzdCA9IGQuZ2V0VmFyKCdQS0dERVNUJykKIAotICAgIGZvciBwa2cgaW4gcGFja2FnZXMuc3BsaXQoKToKKyAgICBmb3IgcGtnIGluIGQuZ2V0VmFyKCdQQUNLQUdFUycpLnNwbGl0KCk6CiAgICAgICAgIGZvciBhbHRfbmFtZSBpbiAoZC5nZXRWYXIoJ0FMVEVSTkFUSVZFXyVzJyAlIHBrZykgb3IgIiIpLnNwbGl0KCk6CiAgICAgICAgICAgICBhbHRfbGluayAgICAgPSBkLmdldFZhckZsYWcoJ0FMVEVSTkFUSVZFX0xJTktfTkFNRScsIGFsdF9uYW1lKQogICAgICAgICAgICAgYWx0X3RhcmdldCAgID0gZC5nZXRWYXJGbGFnKCdBTFRFUk5BVElWRV9UQVJHRVRfJXMnICUgcGtnLCBhbHRfbmFtZSkgb3IgZC5nZXRWYXJGbGFnKCdBTFRFUk5BVElWRV9UQVJHRVQnLCBhbHRfbmFtZSkKQEAgLTI3Myw1ICszMDEsNCBAQAogICAgICAgICAgICAgZC5hcHBlbmRWYXIoJ0ZJTEVSUFJPVklERVNfJXNfJXMnICUgKHRyYW5zX3RhcmdldCwgcGtnKSwgIiAiICsgYWx0X2xpbmspCiAgICAgICAgICAgICBpZiBub3QgdHJhbnNfdGFyZ2V0IGluIChkLmdldFZhcignRklMRVJQUk9WSURFU0ZMSVNUXyVzJyAlIHBrZykgb3IgIiIpOgogICAgICAgICAgICAgICAgIGQuYXBwZW5kVmFyKCdGSUxFUlBST1ZJREVTRkxJU1RfJXMnICUgcGtnLCAiICIgKyB0cmFuc190YXJnZXQpCi19CiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL3V0aWxzLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy91dGlscy5iYmNsYXNzCmluZGV4IDAwMTZlNWMuLmNkM2QwNTcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL3V0aWxzLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvdXRpbHMuYmJjbGFzcwpAQCAtMjY0LDcgKzI2NCw3IEBACiByZWFscGF0aD1cYHJlYWRsaW5rIC1mbiBcJDBcYAogcmVhbGRpcj1cYGRpcm5hbWUgXCRyZWFscGF0aFxgCiBleHBvcnQgJGV4cG9ydHN0cmluZwotZXhlYyAtYSBcYGRpcm5hbWUgXCRyZWFscGF0aFxgLyRjbWRuYW1lIFxgZGlybmFtZSBcJHJlYWxwYXRoXGAvJGNtZG5hbWUucmVhbCAiXCRAIgorZXhlYyAtYSAiXCQwIiBcJHJlYWxkaXIvJGNtZG5hbWUucmVhbCAiXCRAIgogRU5ECiAJY2htb2QgK3ggJGNtZAogfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvd2FmLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy93YWYuYmJjbGFzcwppbmRleCAxOWU5Mzc2Li44ZTZkNzU0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy93YWYuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy93YWYuYmJjbGFzcwpAQCAtMSw2ICsxLDggQEAKICMgYXZvaWRzIGJ1aWxkIGJyZWFrcyB3aGVuIHVzaW5nIG5vLXN0YXRpYy1saWJzLmluYwogRElTQUJMRV9TVEFUSUMgPSAiIgogCitCID0gIiR7V09SS0RJUn0vYnVpbGQiCisKIEVYVFJBX09FQ09ORl9hcHBlbmQgPSAiICR7UEFDS0FHRUNPTkZJR19DT05GQVJHU30iCiAKIHB5dGhvbiB3YWZfcHJlY29uZmlndXJlKCkgewpAQCAtMjIsMTYgKzI0LDE2IEBACiBkb19jb25maWd1cmVbcHJlZnVuY3NdICs9ICJ3YWZfcHJlY29uZmlndXJlIgogCiB3YWZfZG9fY29uZmlndXJlKCkgewotCSR7U30vd2FmIGNvbmZpZ3VyZSAtLXByZWZpeD0ke3ByZWZpeH0gJHtXQUZfRVhUUkFfQ09ORn0gJHtFWFRSQV9PRUNPTkZ9CisJKGNkICR7U30gJiYgLi93YWYgY29uZmlndXJlIC1vICR7Qn0gLS1wcmVmaXg9JHtwcmVmaXh9ICR7V0FGX0VYVFJBX0NPTkZ9ICR7RVhUUkFfT0VDT05GfSkKIH0KIAogZG9fY29tcGlsZVtwcm9ncmVzc10gPSAib3V0b2Y6XlxbXHMqKFxkKykvXHMqKFxkKylcXVxzKyIKIHdhZl9kb19jb21waWxlKCkgIHsKLQkke1N9L3dhZiBidWlsZCAke0BvZS51dGlscy5wYXJhbGxlbF9tYWtlX2FyZ3VtZW50KGQsICctaiVkJywgbGltaXQ9NjQpfQorCShjZCAke1N9ICYmIC4vd2FmIGJ1aWxkICR7QG9lLnV0aWxzLnBhcmFsbGVsX21ha2VfYXJndW1lbnQoZCwgJy1qJWQnLCBsaW1pdD02NCl9KQogfQogCiB3YWZfZG9faW5zdGFsbCgpIHsKLQkke1N9L3dhZiBpbnN0YWxsIC0tZGVzdGRpcj0ke0R9CisJKGNkICR7U30gJiYgLi93YWYgaW5zdGFsbCAtLWRlc3RkaXI9JHtEfSkKIH0KIAogRVhQT1JUX0ZVTkNUSU9OUyBkb19jb25maWd1cmUgZG9fY29tcGlsZSBkb19pbnN0YWxsCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy94bWxjYXRhbG9nLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy94bWxjYXRhbG9nLmJiY2xhc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDc1YWVmOAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL3htbGNhdGFsb2cuYmJjbGFzcwpAQCAtMCwwICsxLDI0IEBACisjIEEgd2hpdGVzcGFjZS1zZXBhcmF0ZWQgbGlzdCBvZiBYTUwgY2F0YWxvZ3MgdG8gYmUgcmVnaXN0ZXJlZCwgZm9yIGV4YW1wbGUKKyMgIiR7c3lzY29uZmRpcn0veG1sL2RvY2Jvb2steG1sLnhtbCIuCitYTUxDQVRBTE9HUyA/PSAiIgorCitTWVNST09UX1BSRVBST0NFU1NfRlVOQ1NfYXBwZW5kID0gIiB4bWxjYXRhbG9nX3NzdGF0ZV9wb3N0aW5zdCIKKworeG1sY2F0YWxvZ19jb21wbGV0ZSgpIHsKKwlST09UQ0FUQUxPRz0iJHtTVEFHSU5HX0VUQ0RJUl9OQVRJVkV9L3htbC9jYXRhbG9nIgorCWlmIFsgISAtZiAkUk9PVENBVEFMT0cgXTsgdGhlbgorCQlta2RpciAtLXBhcmVudHMgJChkaXJuYW1lICRST09UQ0FUQUxPRykKKwkJeG1sY2F0YWxvZyAtLW5vb3V0IC0tY3JlYXRlICRST09UQ0FUQUxPRworCWZpCisJZm9yIENBVEFMT0cgaW4gJHtYTUxDQVRBTE9HU307IGRvCisJCXhtbGNhdGFsb2cgLS1ub291dCAtLWFkZCBuZXh0Q2F0YWxvZyB1bnVzZWQgZmlsZTovLyRDQVRBTE9HICRST09UQ0FUQUxPRworCWRvbmUKK30KKworeG1sY2F0YWxvZ19zc3RhdGVfcG9zdGluc3QoKSB7CisJbWtkaXIgLXAgJHtTWVNST09UX0RFU1RESVJ9JHtiaW5kaXJ9CisJZGVzdD0ke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcn0vcG9zdGluc3QtJHtQTn0teG1sY2F0YWxvZworCWVjaG8gJyMhL2Jpbi9zaCcgPiAkZGVzdAorCWVjaG8gJyR7eG1sY2F0YWxvZ19jb21wbGV0ZX0nID4+ICRkZXN0CisJY2htb2QgMDc1NSAkZGVzdAorfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mIGIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mCmluZGV4IGRjZjIwMDcuLjdmOGIwNDMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZgorKysgYi9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmYKQEAgLTEyMyw3ICsxMjMsNyBAQAogVFVORV9GRUFUVVJFUyA/Pz0gIiR7VFVORV9GRUFUVVJFU190dW5lLSR7REVGQVVMVFRVTkV9fSIKIExJQkNFWFRFTlNJT04gPz89ICIiCiBBQklFWFRFTlNJT04gPz89ICIiCi1VU0VfTkxTID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsaWJjLWxvY2FsZS1jb2RlJywgJ3llcycsICdubycsIGQpfSIKK1VTRV9OTFMgPz89ICJ5ZXMiCiBTREtVU0VfTkxTID8/PSAieWVzIgogCiBUQVJHRVRfQVJDSCA9ICIke1RVTkVfQVJDSH0iCkBAIC0xOTksOSArMTk5LDkgQEAKICMgUGFja2FnZSBkZWZhdWx0IHZhcmlhYmxlcy4KICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCi1QTiA9ICIke0BiYi5wYXJzZS5CQkhhbmRsZXIudmFyc19mcm9tX2ZpbGUoZC5nZXRWYXIoJ0ZJTEUnLCBGYWxzZSksZClbMF0gb3IgJ2RlZmF1bHRwa2duYW1lJ30iCi1QViA9ICIke0BiYi5wYXJzZS5CQkhhbmRsZXIudmFyc19mcm9tX2ZpbGUoZC5nZXRWYXIoJ0ZJTEUnLCBGYWxzZSksZClbMV0gb3IgJzEuMCd9IgotUFIgPSAiJHtAYmIucGFyc2UuQkJIYW5kbGVyLnZhcnNfZnJvbV9maWxlKGQuZ2V0VmFyKCdGSUxFJywgRmFsc2UpLGQpWzJdIG9yICdyMCd9IgorUE4gPSAiJHtAYmIucGFyc2UudmFyc19mcm9tX2ZpbGUoZC5nZXRWYXIoJ0ZJTEUnLCBGYWxzZSksZClbMF0gb3IgJ2RlZmF1bHRwa2duYW1lJ30iCitQViA9ICIke0BiYi5wYXJzZS52YXJzX2Zyb21fZmlsZShkLmdldFZhcignRklMRScsIEZhbHNlKSxkKVsxXSBvciAnMS4wJ30iCitQUiA9ICIke0BiYi5wYXJzZS52YXJzX2Zyb21fZmlsZShkLmdldFZhcignRklMRScsIEZhbHNlKSxkKVsyXSBvciAncjAnfSIKIFBFID0gIiIKIFBGID0gIiR7UE59LSR7RVhURU5EUEV9JHtQVn0tJHtQUn0iCiBFWFRFTkRQRSA9ICIke0BbJycsJyR7UEV9XyddW2ludChkLmdldFZhcignUEUnKSBvciAwKSA+IDBdfSIKQEAgLTIzNyw2ICsyMzcsMTAgQEAKICNTVU1NQVJZXyR7UE59ID89ICIke1NVTU1BUll9IgogI0RFU0NSSVBUSU9OXyR7UE59ID89ICIke0RFU0NSSVBUSU9OfSIKIAorU1VNTUFSWV8ke1BOfS1zcmMgPz0gIiR7U1VNTUFSWX0gLSBTb3VyY2UgZmlsZXMiCitERVNDUklQVElPTl8ke1BOfS1zcmMgPz0gIiR7REVTQ1JJUFRJT059ICBcCitUaGlzIHBhY2thZ2UgY29udGFpbnMgc291cmNlcyBmb3IgZGVidWdnaW5nIHB1cnBvc2VzLiIKKwogU1VNTUFSWV8ke1BOfS1kYmcgPz0gIiR7U1VNTUFSWX0gLSBEZWJ1Z2dpbmcgZmlsZXMiCiBERVNDUklQVElPTl8ke1BOfS1kYmcgPz0gIiR7REVTQ1JJUFRJT059ICBcCiBUaGlzIHBhY2thZ2UgY29udGFpbnMgRUxGIHN5bWJvbHMgYW5kIHJlbGF0ZWQgc291cmNlcyBmb3IgZGVidWdnaW5nIHB1cnBvc2VzLiIKQEAgLTI4Miw4ICsyODYsMTAgQEAKICMgYXQgbGVhc3QgbWVhbnMgYnVpbGRzIGFyZW4ndCBjb21wbGV0ZWx5IGJyb2tlbiBhbmQgc3ltbGlua3MgZG9uJ3QgdGFrZSB1cCBtdWNoIHNwYWNlLgogU09MSUJTREVWX2RhcndpbiA9ICIuZHlsaWJicm9rZW4iCiAKK1BBQ0tBR0VfREVCVUdfU1BMSVRfU1RZTEUgPz0gImRlYnVnLXdpdGgtc3JjcGtnIgorCiBQQUNLQUdFX0JFRk9SRV9QTiA/PSAiIgotUEFDS0FHRVMgPSAiJHtQTn0tZGJnICR7UE59LXN0YXRpY2RldiAke1BOfS1kZXYgJHtQTn0tZG9jICR7UE59LWxvY2FsZSAke1BBQ0tBR0VfQkVGT1JFX1BOfSAke1BOfSIKK1BBQ0tBR0VTID0gIiR7UE59LXNyYyAke1BOfS1kYmcgJHtQTn0tc3RhdGljZGV2ICR7UE59LWRldiAke1BOfS1kb2MgJHtQTn0tbG9jYWxlICR7UEFDS0FHRV9CRUZPUkVfUE59ICR7UE59IgogUEFDS0FHRVNfRFlOQU1JQyA9ICJeJHtQTn0tbG9jYWxlLS4qIgogRklMRVMgPSAiIgogCkBAIC0zMjIsNiArMzI4LDExIEBACiBTRUNUSU9OXyR7UE59LWRiZyA9ICJkZXZlbCIKIEFMTE9XX0VNUFRZXyR7UE59LWRiZyA9ICIxIgogCisjIFRoZSBmaWxlcyBsaXN0IGZvciBzb3VyY2UgcGFja2FnZXMgYXJlIGR5bmFtaWNhbGx5IHNldCBiYXNlZCBvbgorIyBQQUNLQUdFX0RFQlVHX1NQTElUX1NUWUxFCitGSUxFU18ke1BOfS1zcmMgPSAiIgorU0VDVElPTl8ke1BOfS1zcmMgPSAiZGV2ZWwiCisKIEZJTEVTXyR7UE59LWxvY2FsZSA9ICIke2RhdGFkaXJ9L2xvY2FsZSIKIAogIyBGaWxlIG1hbmlmZXN0CkBAIC00ODMsNyArNDk0LDcgQEAKICAgICBmZ3JlcCBmaWxlIGZpbmQgZmxvY2sgZysrIGdhd2sgZ2NjIGdldGNvbmYgZ2V0b3B0IGdpdCBncmVwIGd1bnppcCBnemlwIFwKICAgICBoZWFkIGhvc3RuYW1lIGlkIGluc3RhbGwgbGQgbGRkIGxuIGxzIG1ha2UgbWFrZWluZm8gbWQ1c3VtIG1rZGlyIG1rbm9kIFwKICAgICBta3RlbXAgbXYgbm0gb2JqY29weSBvYmpkdW1wIG9kIHBhdGNoIHBlcmwgcG9kMm1hbiBwciBwcmludGYgcHdkIHB5dGhvbjIgXAotICAgIHB5dGhvbjIuNyBweXRob24zIHJhbmxpYiByZWFkZWxmIHJlYWRsaW5rIHJtIHJtZGlyIHJwY2dlbiBzZWQgc2ggc2hhMjU2c3VtIFwKKyAgICBweXRob24yLjcgcHl0aG9uMyByYW5saWIgcmVhZGVsZiByZWFkbGluayByZWFscGF0aCBybSBybWRpciBycGNnZW4gc2VkIHNlcSBzaCBzaGEyNTZzdW0gXAogICAgIHNsZWVwIHNvcnQgc3BsaXQgc3RhdCBzdHJpbmdzIHN0cmlwIHRhaWwgdGFyIHRlZSB0ZXN0IHRvdWNoIHRyIHRydWUgdW5hbWUgXAogICAgIHVuaXEgd2Mgd2dldCB3aGljaCB4YXJncyBcCiAiCkBAIC00OTIsNyArNTAzLDcgQEAKIEhPU1RUT09MUyArPSAiJHtAJ2lwIHBpbmcgcHMgc2NwIHNzaCBzdHR5JyBpZiAoYmIudXRpbHMuY29udGFpbnNfYW55KCdJTUFHRV9DTEFTU0VTJywgJ3Rlc3RpbWFnZSB0ZXN0c2RrJywgVHJ1ZSwgRmFsc2UsIGQpIG9yIGFueSh4IGluIChkLmdldFZhcigiQkJJTkNMVURFRCIpIG9yICIiKSBmb3IgeCBpbiBbInRlc3RpbWFnZS5iYmNsYXNzIiwgInRlc3RzZGsuYmJjbGFzcyJdKSkgZWxzZSAnJ30iCiAKICMgTGluayB0byB0aGVzZSBpZiBwcmVzZW50Ci1IT1NUVE9PTFNfTk9ORkFUQUwgKz0gImF3cyBjY2FjaGUgZ2NjLWFyIGdwZyBsZC5iZmQgbGQuZ29sZCBuYyBwaWd6IHNmdHAgc29jYXQgc3NoIHN1ZG8iCitIT1NUVE9PTFNfTk9ORkFUQUwgKz0gImF3cyBnY2MtYXIgZ3BnIGxkLmJmZCBsZC5nb2xkIG5jIHBpZ3ogc2Z0cCBzb2NhdCBzc2ggc3VkbyIKIAogIyBUZW1wb3JhcnkgYWRkIGZldyBtb3JlIGRldGVjdGVkIGluIGJpdGJha2Ugd29ybGQKIEhPU1RUT09MU19OT05GQVRBTCArPSAiam9pbiBubCBzaXplIHllcyB6Y2F0IgpAQCAtNTA0LDEwICs1MTUsNiBAQAogSE9TVFRPT0xTX05PTkZBVEFMICs9ICJzY3AiCiAKIENDQUNIRSA/Pz0gIiIKLSMgY2NhY2hlIDwgMy4xLjEwIHdpbGwgY3JlYXRlIENDQUNIRV9ESVIgb24gc3RhcnR1cCBldmVuIGlmIGRpc2FibGVkLCBhbmQKLSMgYXV0b2dlbiBzZXRzIEhPTUU9L2Rldi9udWxsIHNvIGluIGNlcnRhaW4gc2l0dWF0aW9ucyBidWlsZHMgY2FuIGZhaWwuCi0jIEV4cGxpY2l0bHkgZXhwb3J0IENDQUNIRV9ESVIgdW50aWwgd2UgY2FuIGFzc3VtZSBjY2FjaGUgPjMuMS4xMCBvbiB0aGUgaG9zdC4KLWV4cG9ydCBDQ0FDSEVfRElSID8/PSAiJHtAb3MuZ2V0ZW52KCdIT01FJyl9Ly5jY2FjaGUiCiAKIFRPT0xDSEFJTl9PUFRJT05TID0gIiAtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9UQVJHRVR9IgogCkBAIC01MTcsOSArNTI0LDkgQEAKIGV4cG9ydCBDUFAgPSAiJHtIT1NUX1BSRUZJWH1nY2MgLUUke1RPT0xDSEFJTl9PUFRJT05TfSAke0hPU1RfQ0NfQVJDSH0iCiBleHBvcnQgTEQgPSAiJHtIT1NUX1BSRUZJWH1sZCR7VE9PTENIQUlOX09QVElPTlN9ICR7SE9TVF9MRF9BUkNIfSIKIGV4cG9ydCBDQ0xEID0gIiR7Q0N9IgotZXhwb3J0IEFSID0gIiR7SE9TVF9QUkVGSVh9YXIiCitleHBvcnQgQVIgPSAiJHtIT1NUX1BSRUZJWH1nY2MtYXIiCiBleHBvcnQgQVMgPSAiJHtIT1NUX1BSRUZJWH1hcyAke0hPU1RfQVNfQVJDSH0iCi1leHBvcnQgUkFOTElCID0gIiR7SE9TVF9QUkVGSVh9cmFubGliIgorZXhwb3J0IFJBTkxJQiA9ICIke0hPU1RfUFJFRklYfWdjYy1yYW5saWIiCiBleHBvcnQgU1RSSVAgPSAiJHtIT1NUX1BSRUZJWH1zdHJpcCIKIGV4cG9ydCBPQkpDT1BZID0gIiR7SE9TVF9QUkVGSVh9b2JqY29weSIKIGV4cG9ydCBPQkpEVU1QID0gIiR7SE9TVF9QUkVGSVh9b2JqZHVtcCIKQEAgLTU2Miw3ICs1NjksNyBAQAogZXhwb3J0IFRBUkdFVF9DUFBGTEFHUyA9ICIiCiAKIGV4cG9ydCBCVUlMRF9DRkxBR1MgPSAiJHtCVUlMRF9DUFBGTEFHU30gJHtCVUlMRF9PUFRJTUlaQVRJT059IgotQlVJTERTREtfQ0ZMQUdTID0gIiR7QlVJTERTREtfQ1BQRkxBR1N9ICR7QlVJTERfT1BUSU1JWkFUSU9OfSIKK0JVSUxEU0RLX0NGTEFHUyA9ICIke0JVSUxEU0RLX0NQUEZMQUdTfSAke0JVSUxEX09QVElNSVpBVElPTn0gJHtERUJVR19QUkVGSVhfTUFQfSIKIGV4cG9ydCBDRkxBR1MgPSAiJHtUQVJHRVRfQ0ZMQUdTfSIKIGV4cG9ydCBUQVJHRVRfQ0ZMQUdTID0gIiR7VEFSR0VUX0NQUEZMQUdTfSAke1NFTEVDVEVEX09QVElNSVpBVElPTn0iCiAKQEAgLTU3Myw2ICs1ODAsNyBAQAogCiBleHBvcnQgQlVJTERfTERGTEFHUyA9ICItTCR7U1RBR0lOR19MSUJESVJfTkFUSVZFfSBcCiAgICAgICAgICAgICAgICAgICAgICAgICAtTCR7U1RBR0lOR19CQVNFX0xJQkRJUl9OQVRJVkV9IFwKKyAgICAgICAgICAgICAgICAgICAgICAgIC1XbCwtLWVuYWJsZS1uZXctZHRhZ3MgXAogICAgICAgICAgICAgICAgICAgICAgICAgLVdsLC1ycGF0aC1saW5rLCR7U1RBR0lOR19MSUJESVJfTkFUSVZFfSBcCiAgICAgICAgICAgICAgICAgICAgICAgICAtV2wsLXJwYXRoLWxpbmssJHtTVEFHSU5HX0JBU0VfTElCRElSX05BVElWRX0gXAogICAgICAgICAgICAgICAgICAgICAgICAgLVdsLC1ycGF0aCwke1NUQUdJTkdfTElCRElSX05BVElWRX0gXApAQCAtNjAyLDcgKzYxMCw4IEBACiAjIE9wdGltaXphdGlvbiBmbGFncy4KICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyBCZXdhcmU6IGFwcGxpZWQgbGFzdCB0byBmaXJzdAotREVCVUdfUFJFRklYX01BUCA/PSAiLWZkZWJ1Zy1wcmVmaXgtbWFwPSR7V09SS0RJUn09L3Vzci9zcmMvZGVidWcvJHtQTn0vJHtFWFRFTkRQRX0ke1BWfS0ke1BSfSBcCitERUJVR19QUkVGSVhfTUFQID89ICItZm1hY3JvLXByZWZpeC1tYXA9JHtXT1JLRElSfT0vdXNyL3NyYy9kZWJ1Zy8ke1BOfS8ke0VYVEVORFBFfSR7UFZ9LSR7UFJ9IFwKKyAgICAgICAgICAgICAgICAgICAgIC1mZGVidWctcHJlZml4LW1hcD0ke1dPUktESVJ9PS91c3Ivc3JjL2RlYnVnLyR7UE59LyR7RVhURU5EUEV9JHtQVn0tJHtQUn0gXAogICAgICAgICAgICAgICAgICAgICAgLWZkZWJ1Zy1wcmVmaXgtbWFwPSR7U1RBR0lOR19ESVJfSE9TVH09IFwKICAgICAgICAgICAgICAgICAgICAgIC1mZGVidWctcHJlZml4LW1hcD0ke1NUQUdJTkdfRElSX05BVElWRX09IFwKICIKQEAgLTYxMCwxMCArNjE5LDExIEBACiAKICMgRGlzYWJsZWQgdW50aWwgdGhlIG9wdGlvbiB3b3JrcyBwcm9wZXJseSAtZmVsaW1pbmF0ZS1kd2FyZjItZHVwcwogRlVMTF9PUFRJTUlaQVRJT04gPSAiLU8yIC1waXBlICR7REVCVUdfRkxBR1N9IgotREVCVUdfT1BUSU1JWkFUSU9OID0gIi1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICR7REVCVUdfRkxBR1N9IC1waXBlIgorREVCVUdfT1BUSU1JWkFUSU9OID0gIi1PZyAke0RFQlVHX0ZMQUdTfSAtcGlwZSIKIFNFTEVDVEVEX09QVElNSVpBVElPTiA9ICIke0BkLmdldFZhcihvZS51dGlscy52YXJ0cnVlKCdERUJVR19CVUlMRCcsICdERUJVR19PUFRJTUlaQVRJT04nLCAnRlVMTF9PUFRJTUlaQVRJT04nLCBkKSl9IgotU0VMRUNURURfT1BUSU1JWkFUSU9OW3ZhcmRlcHNdICs9ICJGVUxMX09QVElNSVpBVElPTiBERUJVR19PUFRJTUlaQVRJT04iCi1CVUlMRF9PUFRJTUlaQVRJT04gPSAiJHtAb2UudXRpbHMudmFydHJ1ZSgnREVCVUdfQlVJTEQnLCAnLU8gLWcgLWZlbGltaW5hdGUtdW51c2VkLWRlYnVnLXR5cGVzIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyJywgJy1PMicsIGQpfSAtcGlwZSIKK1NFTEVDVEVEX09QVElNSVpBVElPTlt2YXJkZXBzXSArPSAiRlVMTF9PUFRJTUlaQVRJT04gREVCVUdfT1BUSU1JWkFUSU9OIERFQlVHX0JVSUxEIgorQlVJTERfT1BUSU1JWkFUSU9OID0gIiR7QG9lLnV0aWxzLnZhcnRydWUoJ0RFQlVHX0JVSUxEJywgJy1PZyAtZyAtZmVsaW1pbmF0ZS11bnVzZWQtZGVidWctdHlwZXMnLCAnLU8yJywgZCl9IC1waXBlIgorQlVJTERfT1BUSU1JWkFUSU9OW3ZhcmRlcHNdICs9ICJERUJVR19CVUlMRCIKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIFNldHRpbmdzIHVzZWQgYnkgYml0YmFrZS1sYXllcnMuCkBAIC03OTEsNiArODAxLDkgQEAKICMgRGVmYXVsdCB0byBzZXR0aW5nIGF1dG9tYXRpY2FsbHkgYmFzZWQgb24gY3B1IGNvdW50CiBQQVJBTExFTF9NQUtFID89ICItaiAke0BvZS51dGlscy5jcHVfY291bnQoKX0iCiAKKyMgRGVmYXVsdCBwYXJhbGxlbGlzbSBhbmQgcmVzb3VyY2UgdXNhZ2UgZm9yIHh6CitYWl9ERUZBVUxUUyA/PSAiLS1tZW1saW1pdD01MCUgLS10aHJlYWRzPSR7QG9lLnV0aWxzLmNwdV9jb3VudCgpfSIKKwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIE1hZ2ljIENvb2tpZSBmb3IgU0FOSVRZIENIRUNLCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKQEAgLTgxNiw3ICs4MjksNyBAQAogIyBOYXRpdmUgZGlzdHJvIGZlYXR1cmVzICh3aWxsIGFsd2F5cyBiZSB1c2VkIGZvciAtbmF0aXZlLCBldmVuIGlmIHRoZXkKICMgYXJlIG5vdCBlbmFibGVkIGZvciB0YXJnZXQpCiBESVNUUk9fRkVBVFVSRVNfTkFUSVZFID89ICJ4MTEgaXB2NiB4YXR0ciIKLURJU1RST19GRUFUVVJFU19OQVRJVkVTREsgPz0gIngxMSBsaWJjLWNoYXJzZXRzIGxpYmMtbG9jYWxlcyBsaWJjLWxvY2FsZS1jb2RlIgorRElTVFJPX0ZFQVRVUkVTX05BVElWRVNESyA/PSAieDExIgogCiAjIE5vcm1hbGx5IHRhcmdldCBkaXN0cm8gZmVhdHVyZXMgd2lsbCBub3QgYmUgYXBwbGllZCB0byBuYXRpdmUgYnVpbGRzOgogIyBOYXRpdmUgZGlzdHJvIGZlYXR1cmVzIG9uIHRoaXMgbGlzdCB3aWxsIHVzZSB0aGUgdGFyZ2V0IGZlYXR1cmUgdmFsdWUKQEAgLTg2Nyw3ICs4ODAsOSBAQAogICAgIFNUQU1QU19ESVIgUFJTRVJWX0RVTVBESVIgUFJTRVJWX0RVTVBGSUxFIFBSU0VSVl9MT0NLRE9XTiBQQVJBTExFTF9NQUtFIFwKICAgICBDQ0FDSEVfRElSIEVYVEVSTkFMX1RPT0xDSEFJTiBDQ0FDSEUgQ0NBQ0hFX05PSEFTSERJUiBMSUNFTlNFX1BBVEggU0RLUEtHU1VGRklYIFwKICAgICBXQVJOX1FBIEVSUk9SX1FBIFdPUktESVIgU1RBTVBDTEVBTiBQS0dEQVRBX0RJUiBCVUlMRF9BUkNIIFNTVEFURV9QS0dBUkNIIFwKLSAgICBCQl9XT1JLRVJDT05URVhUIEJCX0xJTUlURURERVBTIGV4dGVuZF9yZWNpcGVfc3lzcm9vdCBERVBMT1lfRElSIgorICAgIEJCX1dPUktFUkNPTlRFWFQgQkJfTElNSVRFRERFUFMgQkJfVU5JSEFTSCBleHRlbmRfcmVjaXBlX3N5c3Jvb3QgREVQTE9ZX0RJUiBcCisgICAgU1NUQVRFX0hBU0hFUVVJVl9NRVRIT0QgU1NUQVRFX0hBU0hFUVVJVl9TRVJWRVIgU1NUQVRFX0hBU0hFUVVJVl9SRVBPUlRfVEFTS0RBVEEgXAorICAgIFNTVEFURV9IQVNIRVFVSVZfT1dORVIgQ0NBQ0hFX1RPUF9ESVIiCiBCQl9IQVNIQ09ORklHX1dISVRFTElTVCA/PSAiJHtCQl9IQVNIQkFTRV9XSElURUxJU1R9IERBVEUgVElNRSBTU0hfQUdFTlRfUElEIFwKICAgICBTU0hfQVVUSF9TT0NLIFBTRVVET19CVUlMRCBCQl9FTlZfRVhUUkFXSElURSBESVNBQkxFX1NBTklUWV9DSEVDS1MgXAogICAgIFBBUkFMTEVMX01BS0UgQkJfTlVNQkVSX1RIUkVBRFMgQkJfT1JJR0VOViBCQl9JTlZBTElEQ09ORiBCQklOQ0xVREVEIFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL2NjYWNoZS5jb25mIGIvcG9reS9tZXRhL2NvbmYvY2NhY2hlLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTMxMDEyZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9jb25mL2NjYWNoZS5jb25mCkBAIC0wLDAgKzEsMiBAQAorbWF4X3NpemUgPSAwCitjYWNoZV9kaXJfbGV2ZWxzID0gMQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5jb25mIGIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5jb25mCmluZGV4IGNhMmY5MTcuLjIwZTYxMjMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZgorKysgYi9wb2t5L21ldGEvY29uZi9kaXN0cm8vZGVmYXVsdHNldHVwLmNvbmYKQEAgLTIsNiArMiw3IEBACiBpbmNsdWRlIGNvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC12ZXJzaW9ucy5pbmMKIGluY2x1ZGUgY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jCiBpbmNsdWRlIGNvbmYvZGlzdHJvL2luY2x1ZGUvd29ybGQtYnJva2VuLmluYworaW5jbHVkZSBjb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYwogCiBUQ01PREUgPz0gImRlZmF1bHQiCiByZXF1aXJlIGNvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLSR7VENNT0RFfS5pbmMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtZGlzdHJvdmFycy5pbmMgYi9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jCmluZGV4IGY1ZWM2Y2UuLjdhMGJhZjMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtZGlzdHJvdmFycy5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYwpAQCAtMTAsMTcgKzEwLDggQEAKIExPQ0FMRV9VVEY4X0lTX0RFRkFVTFQgPz0gIjEiCiBMT0NBTEVfVVRGOF9JU19ERUZBVUxUX2NsYXNzLW5hdGl2ZXNkayA9ICIwIgogCi1ESVNUUk9fRkVBVFVSRVNfREVGQVVMVCA/PSAiYWNsIGFsc2EgYXJncCBibHVldG9vdGggZXh0MiBpcmRhIGxhcmdlZmlsZSBwY21jaWEgdXNiZ2FkZ2V0IHVzYmhvc3Qgd2lmaSB4YXR0ciBuZnMgemVyb2NvbmYgcGNpIDNnIG5mYyB4MTEiCi1ESVNUUk9fRkVBVFVSRVNfTElCQ19ERUZBVUxUID89ICJpcHY0IGlwdjYgbGliYy1iYWNrdHJhY2UgbGliYy1iaWctbWFjcm9zIGxpYmMtYnNkIGxpYmMtY3h4LXRlc3RzIGxpYmMtY2F0Z2V0cyBsaWJjLWNoYXJzZXRzIGxpYmMtY3J5cHQgXAotCQkJCQlsaWJjLWNyeXB0LXVmYyBsaWJjLWRiLWFsaWFzZXMgbGliYy1lbnZ6IGxpYmMtZmN2dCBsaWJjLWZtdG1zZyBsaWJjLWZzdGFiIGxpYmMtZnRyYXZlcnNlIFwKLQkJCQkJbGliYy1nZXRsb2dpbiBsaWJjLWlkbiBsaWJjLWluZXQtYW5sIGxpYmMtbGlibSBsaWJjLWxvY2FsZXMgbGliYy1sb2NhbGUtY29kZSBcCi0JCQkJCWxpYmMtbWVtdXNhZ2UgbGliYy1uc3N3aXRjaCBsaWJjLXJjbWQgbGliYy1ydGxkLWRlYnVnIGxpYmMtc3Bhd24gbGliYy1zdHJlYW1zIFwKLQkJCQkJbGliYy11dG1wIGxpYmMtdXRtcHggbGliYy13b3JkZXhwIGxpYmMtcG9zaXgtY2xhbmctd2NoYXIgbGliYy1wb3NpeC1yZWdleHAgbGliYy1wb3NpeC1yZWdleHAtZ2xpYmMgXAotCQkJCQlsaWJjLXBvc2l4LXdjaGFyLWlvIgotRElTVFJPX0ZFQVRVUkVTX0xJQkMgPz0gIiR7RElTVFJPX0ZFQVRVUkVTX0xJQkNfREVGQVVMVH0iCi1ESVNUUk9fRkVBVFVSRVNfTElCQ19jbGFzcy1uYXRpdmVzZGsgPSAiJHtESVNUUk9fRkVBVFVSRVNfTElCQ19ERUZBVUxUfSIKLURJU1RST19GRUFUVVJFUyA/PSAiJHtESVNUUk9fRkVBVFVSRVNfREVGQVVMVH0gJHtESVNUUk9fRkVBVFVSRVNfTElCQ30iCi0KK0RJU1RST19GRUFUVVJFU19ERUZBVUxUID89ICJhY2wgYWxzYSBhcmdwIGJsdWV0b290aCBleHQyIGlwdjQgaXB2NiBpcmRhIGxhcmdlZmlsZSBwY21jaWEgdXNiZ2FkZ2V0IHVzYmhvc3Qgd2lmaSB4YXR0ciBuZnMgemVyb2NvbmYgcGNpIDNnIG5mYyB4MTEiCitESVNUUk9fRkVBVFVSRVMgPz0gIiR7RElTVFJPX0ZFQVRVUkVTX0RFRkFVTFR9IgogSU1BR0VfRkVBVFVSRVMgPz0gIiIKIAogV0hJVEVMSVNUX0dQTC0zLjAgPz0gIiIKQEAgLTUyLDMgKzQzLDkgQEAKIEFSQ0hfREVGQVVMVF9LRVJORUxJTUFHRVRZUEVfeDg2LTY0ID0gImJ6SW1hZ2UiCiBLRVJORUxfSU1BR0VUWVBFID8/PSAiJHtBUkNIX0RFRkFVTFRfS0VSTkVMSU1BR0VUWVBFfSIKIEtFUk5FTF9JTUFHRVRZUEVTID8/PSAiJHtLRVJORUxfSU1BR0VUWVBFfSIKKworIyBUaGUgQ09OTkVDVElWSVRZX0NIRUNLX1VSSVMgYXJlIHVzZWQgdG8gdGVzdCB3aGV0aGVyIHdlIGNhbiBzdWNjZXNmdWxseQorIyBmZXRjaCBmcm9tIHRoZSBuZXR3b3JrIChhbmQgd2FybiB5b3UgaWYgbm90KS4gVG8gZGlzYWJsZSB0aGUgdGVzdCBzZXQKKyMgdGhlIHZhcmlhYmxlIHRvIGJlIGVtcHR5LgorIyBHaXQgZXhhbXBsZSB1cmw6IGdpdDovL2dpdC55b2N0b3Byb2plY3Qub3JnL3lvY3RvLWZpcmV3YWxsLXRlc3Q7cHJvdG9jb2w9Z2l0O3Jldj1tYXN0ZXIKK0NPTk5FQ1RJVklUWV9DSEVDS19VUklTID89ICJodHRwczovL3d3dy5leGFtcGxlLmNvbS8iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmMgYi9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmMKaW5kZXggMDE5Y2VlYi4uMjE0MTkwMyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYwpAQCAtNTQsMyArNTQsNSBAQAogUFJFRkVSUkVEX1BST1ZJREVSX25hdGl2ZXNkay1wa2djb25maWcgPz0gIm5hdGl2ZXNkay1wa2djb25maWciCiBQUkVGRVJSRURfUFJPVklERVJfcGtnY29uZmlnLW5hdGl2ZSA/PSAicGtnY29uZmlnLW5hdGl2ZSIKIFBSRUZFUlJFRF9SUFJPVklERVJfaW5pdGQtZnVuY3Rpb25zID89ICJpbml0c2NyaXB0cyIKKworUFJFRkVSUkVEX1BST1ZJREVSX25hdGl2ZXNkay1tZXNhID89ICJuYXRpdmVzZGstbWVzYSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2Rpc3Ryb19hbGlhcy5pbmMgYi9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kaXN0cm9fYWxpYXMuaW5jCmluZGV4IDc1MDI1NDIuLmQyY2NiMWUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2Rpc3Ryb19hbGlhcy5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGlzdHJvX2FsaWFzLmluYwpAQCAtMzU0LDcgKzM1NCw3IEBACiBESVNUUk9fUE5fQUxJQVNfcG4tdHRmLWJpdHN0cmVhbS12ZXJhID0gIkRlYmlhbj10dGYtYml0c3RyZWFtLXZlcmEgVWJ1bnR1PXR0Zi1iaXRzdHJlYW0tdmVyYSIKIERJU1RST19QTl9BTElBU19wbi10emNvZGUgPSAiT1NQRFQiCiBESVNUUk9fUE5fQUxJQVNfcG4tdS1ib290LWZ3LXV0aWxzID0gIlVidW50dT11LWJvb3QtdG9vbHMgRGViaWFuPXUtYm9vdC10b29scyIKLURJU1RST19QTl9BTElBU19wbi11LWJvb3QtbWtpbWFnZSA9ICJVYnVudHU9dWJvb3QtbWtpbWFnZSBEZWJpYW49dWJvb3QtbWtpbWFnZSIKK0RJU1RST19QTl9BTElBU19wbi11LWJvb3QtdG9vbHMgPSAiVWJ1bnR1PXUtYm9vdC10b29scyBEZWJpYW49dWJvb3QtdG9vbHMiCiBESVNUUk9fUE5fQUxJQVNfcG4tdWRldiA9ICJNYW5kcml2YT11ZGV2IEZlZG9yYT11ZGV2IgogRElTVFJPX1BOX0FMSUFTX3BuLXVkZXYtZXh0cmFjb25mID0gIk9FLUNvcmUiCiBESVNUUk9fUE5fQUxJQVNfcG4tdW5mczMgPSAiRGViaWFuPXVuZnMzIEZlZG9yYT11bmZzMyIKQEAgLTQxMCw2ICs0MTAsNSBAQAogRElTVFJPX1BOX0FMSUFTX3BuLXhzZXJ2ZXIteG9yZyA9ICJGZWRvcmE9eG9yZy14MTEtc2VydmVyIFVidW50dT14c2VydmVyLXhvcmciCiBESVNUUk9fUE5fQUxJQVNfcG4teHNldCA9ICJGZWRvcmE9eG9yZy14MTEtc2VydmVyLXV0aWxzIFVidW50dT14MTEteHNlcnZlci11dGlscyBEZWJpYW49eDExLXhzZXJ2ZXItdXRpbHMgT3BlbnN1c2U9eG9yZy14MTEiCiBESVNUUk9fUE5fQUxJQVNfcG4teHVzZXItYWNjb3VudCA9ICJPRS1Db3JlIgotRElTVFJPX1BOX0FMSUFTX3BuLXh2aWRlby10ZXN0cyA9ICJPcGVuZWRIYW5kIgogRElTVFJPX1BOX0FMSUFTX3BuLXh2aW5mbyA9ICJGZWRvcmE9eG9yZy14MTEtdXRpbHMgVWJ1bnR1PXgxMS11dGlscyIKIERJU1RST19QTl9BTElBU19wbi14d2luaW5mbyA9ICJGZWRvcmE9eG9yZy14MTEtdXRpbHMgVWJ1bnR1PXgxMS11dGlscyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYyBiL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYwppbmRleCA2NzJmMDY3Li45NTBiOGU4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jCkBAIC02NCw5ICs2NCw5IEBACiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1iYyA9ICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWJpbmQgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1iaW51dGlscyA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLWJpbnV0aWxzLWNyb3NzID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgotUkVDSVBFX01BSU5UQUlORVJfcG4tYmludXRpbHMtY3Jvc3MtY2FuYWRpYW4gPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1iaW51dGlscy1jcm9zc3NkayA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWJpbnV0aWxzLWNyb3NzLSR7VEFSR0VUX0FSQ0h9ID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tYmludXRpbHMtY3Jvc3MtY2FuYWRpYW4tJHtUUkFOU0xBVEVEX1RBUkdFVF9BUkNIfSA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWJpbnV0aWxzLWNyb3Nzc2RrLSR7U0RLX1NZU30gPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1iaXNvbiA9ICJDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tYmphbS1uYXRpdmUgPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tYmxrdG9vbCA9ICJZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5jb20+IgpAQCAtOTksMTEgKzk5LDMwIEBACiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1jbWFrZSA9ICJQYXNjYWwgQmFjaCA8cGFzY2FsLmJhY2hAc2llbWVucy5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tY21ha2UtbmF0aXZlID0gIlBhc2NhbCBCYWNoIDxwYXNjYWwuYmFjaEBzaWVtZW5zLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb2dsLTEuMCA9ICJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvbm5tYW4gPSAiQ2hhbmdoeWVvayBCYWUgPGNoYW5naHllb2suYmFlQGxnZS5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tY29ubm1hbiA9ICJDaGFuZ2h5ZW9rIEJhZSA8Y2hhbmdoeWVvay5iYWVAZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvbm5tYW4tY29uZiA9ICJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvbm5tYW4tZ25vbWUgPSAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb25zb2xlLXRvb2xzID0gIkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb25zb2xla2l0ID0gIkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb3JlLWltYWdlLWJhc2UgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tY29yZS1pbWFnZS1taW5pbWFsID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1hZ2UtbWluaW1hbC1kZXYgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tY29yZS1pbWFnZS1taW5pbWFsLWluaXRyYW1mcyA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb3JlLWltYWdlLW1pbmltYWwtbXRkdXRpbHMgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tY29yZS1pbWFnZS10aW55LWluaXRyYW1mcyA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb3JlLWltYWdlLWZ1bGwtY21kbGluZSA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb3JlLWltYWdlLWtlcm5lbC1kZXYgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tY29yZS1pbWFnZS1zYXRvID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1hZ2Utc2F0by1zZGsgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tY29yZS1pbWFnZS1sc2IgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tY29yZS1pbWFnZS1sc2Itc2RrID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1hZ2UtdGVzdG1hc3Rlci1pbml0cmFtZnMgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tY29yZS1pbWFnZS10ZXN0bWFzdGVyID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1hZ2UtY2x1dHRlciA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb3JlLWltYWdlLXdlc3RvbiA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb3JlLWltYWdlLXgxMSA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb3JlLWltYWdlLXNhdG8tZGV2ID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1hZ2Utc2F0by1zZGstcHRlc3QgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tY29yZXV0aWxzID0gIkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1jcGlvID0gIkRlbnlzIERteXRyaXllbmtvIDxkZW55c0B0aS5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tY3JhY2tsaWIgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCkBAIC0xNDQsMTEgKzE2MywxMiBAQAogUkVDSVBFX01BSU5UQUlORVJfcG4tZWQgPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tZWdsaW5mby1mYiA9ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1lZ2xpbmZvLXgxMSA9ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1lZ2xpbmZvLXdheWxhbmQgPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tZWxmdXRpbHMgPSAiSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWVuY2hhbnQgPSAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1lbmNvZGluZ3MgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1lcGlwaGFueSA9ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1ldGh0b29sID0gIkNoYW5naHllb2sgQmFlIDxjaGFuZ2h5ZW9rLmJhZUBsZ2UuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWV0aHRvb2wgPSAiQ2hhbmdoeWVvayBCYWUgPGNoYW5naHllb2suYmFlQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1ldWRldiA9ICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWV4cGF0ID0gIllpIFpoYW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1leHBlY3QgPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgpAQCAtMTY3LDIwICsxODcsMjEgQEAKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWZ0cyA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdhd2sgPSAiQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdjYyA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdjYy1jcm9zcyA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdjYy1jcm9zcy1jYW5hZGlhbiA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdjYy1jcm9zcy1pbml0aWFsID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgotUkVDSVBFX01BSU5UQUlORVJfcG4tZ2NjLWNyb3Nzc2RrID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgotUkVDSVBFX01BSU5UQUlORVJfcG4tZ2NjLWNyb3Nzc2RrLWluaXRpYWwgPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1nY2MtY3Jvc3MtJHtUQVJHRVRfQVJDSH0gPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1nY2MtY3Jvc3MtY2FuYWRpYW4tJHtUUkFOU0xBVEVEX1RBUkdFVF9BUkNIfSA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWdjYy1jcm9zcy1pbml0aWFsLSR7VEFSR0VUX0FSQ0h9ID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tZ2NjLWNyb3Nzc2RrLSR7U0RLX1NZU30gPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1nY2MtY3Jvc3NzZGstaW5pdGlhbC0ke1NES19TWVN9ID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tZ2NjLXJ1bnRpbWUgPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1nY2Mtc2FuaXRpemVycyA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdjYy1zb3VyY2UgPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1nY2Mtc291cmNlLTcuMy4wID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tZ2NjLXNvdXJjZS04LjMuMCA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdjY21ha2VkZXAgPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1nY29uZiA9ICJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdjciA9ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1nZGIgPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1nZGItY3Jvc3MgPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1nZGItY3Jvc3MtY2FuYWRpYW4gPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1nZGItY3Jvc3MtJHtUQVJHRVRfQVJDSH0gPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1nZGItY3Jvc3MtY2FuYWRpYW4tJHtUUkFOU0xBVEVEX1RBUkdFVF9BUkNIfSA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdkYm0gPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tZ2RrLXBpeGJ1ZiA9ICJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdldHRleHQgPSAiUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+IgpAQCAtMjA0LDEwICsyMjUsMTMgQEAKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdudXBnID0gIkhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1nbnV0bHMgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1nbyA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdvLWNyb3NzID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tZ28tY3Jvc3MtJHtUVU5FX1BLR0FSQ0h9ID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tZ28tY3Jvc3MtY2FuYWRpYW4tJHtUUkFOU0xBVEVEX1RBUkdFVF9BUkNIfSA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWdvLWNyb3Nzc2RrLSR7U0RLX1NZU30gPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1nby1kZXAgPSAiT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW8uc2FsdmFkb3JAb3NzeXN0ZW1zLmNvbS5icj4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1nby1oZWxsb3dvcmxkID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tZ28tbmF0aXZlID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tZ28tcnVudGltZSA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdvYmplY3QtaW50cm9zcGVjdGlvbiA9ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1ncGVyZiA9ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1ncGdtZSA9ICJIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+IgpAQCAtMjQ1LDYgKzI2OSw3IEBACiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1pY2VjYy1jcmVhdGUtZW52ID0gIkpvc2h1YSBXYXR0IDxKUEVXaGFja2VyQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1pY3UgPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4taWZ1cGRvd24gPSAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1pbmV0dXRpbHMgPSAiVG9tIFJpbmkgPHRyaW5pQGtvbnN1bGtvLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1pbml0LWlmdXBkb3duID0gIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4taW5pdHJhbWZzLWJvb3QgPSAiT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW8uc2FsdmFkb3JAb3NzeXN0ZW1zLmNvbS5icj4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1pbml0cmFtZnMtZnJhbWV3b3JrID0gIk90YXZpbyBTYWx2YWRvciA8b3RhdmlvLnNhbHZhZG9yQG9zc3lzdGVtcy5jb20uYnI+IgpAQCAtMjU2LDE4ICsyODEsMTggQEAKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWluaXRyYW1mcy1saXZlLWluc3RhbGwtdGVzdGZzID0gIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4taW5pdHNjcmlwdHMgPSAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1pbnRsdG9vbCA9ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1pcHJvdXRlMiA9ICJDaGFuZ2h5ZW9rIEJhZSA8Y2hhbmdoeWVvay5iYWVAbGdlLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1pcHRhYmxlcyA9ICJDaGFuZ2h5ZW9rIEJhZSA8Y2hhbmdoeWVvay5iYWVAbGdlLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1pcHV0aWxzID0gIkNoYW5naHllb2sgQmFlIDxjaGFuZ2h5ZW9rLmJhZUBsZ2UuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLWlyZGEtdXRpbHMgPSAiQ2hhbmdoeWVvayBCYWUgPGNoYW5naHllb2suYmFlQGxnZS5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4taXByb3V0ZTIgPSAiQ2hhbmdoeWVvayBCYWUgPGNoYW5naHllb2suYmFlQGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1pcHRhYmxlcyA9ICJDaGFuZ2h5ZW9rIEJhZSA8Y2hhbmdoeWVvay5iYWVAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWlwdXRpbHMgPSAiQ2hhbmdoeWVvayBCYWUgPGNoYW5naHllb2suYmFlQGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1pcmRhLXV0aWxzID0gIkNoYW5naHllb2sgQmFlIDxjaGFuZ2h5ZW9rLmJhZUBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4taXNvLWNvZGVzID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLWl3ID0gIkNoYW5naHllb2sgQmFlIDxjaGFuZ2h5ZW9rLmJhZUBsZ2UuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWl3ID0gIkNoYW5naHllb2sgQmFlIDxjaGFuZ2h5ZW9rLmJhZUBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlianBlZy10dXJibyA9ICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWpzb24tYyA9ICJZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tanNvbi1nbGliID0gIllpIFpoYW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1rYmQgPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgotUkVDSVBFX01BSU5UQUlORVJfcG4ta2Vybi10b29scy1uYXRpdmUgPSAiQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQHdpbmRyaXZlci5jb20+IgotUkVDSVBFX01BSU5UQUlORVJfcG4ta2VybmVsLWRldnNyYyA9ICJCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAd2luZHJpdmVyLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1rZXJuLXRvb2xzLW5hdGl2ZSA9ICJCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWtlcm5lbC1kZXZzcmMgPSAiQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1rZXhlYy10b29scyA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWtleW1hcHMgPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4ta21vZCA9ICJDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgpAQCAtMjgxLDcgKzMwNiw2IEBACiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJhY3BpID0gIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGliYWlvID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmFyY2hpdmUgPSAiT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW8uc2FsdmFkb3JAb3NzeXN0ZW1zLmNvbS5icj4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJhcnQtbGdwbCA9ICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmFzc3VhbiA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmF0b21pYy1vcHMgPSAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJic2QgPSAiWWkgWmhhbyA8eWkuemhhb0B3aW5kcml2ZXIuY29tPiIKQEAgLTI5Myw2ICszMTcsNyBAQAogUkVDSVBFX01BSU5UQUlORVJfcG4tbGliY29udmVydC1hc24xLXBlcmwgPSAiVGltIE9ybGluZyA8dGltb3RoeS50Lm9ybGluZ0BsaW51eC5pbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGliY3JvY28gPSAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJkYWVtb24gPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tbGliZGF6emxlID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmRteCA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmRuZiA9ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJkcm0gPSAiT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW8uc2FsdmFkb3JAb3NzeXN0ZW1zLmNvbS5icj4iCkBAIC0zMjEsMTAgKzM0NiwxMiBAQAogUkVDSVBFX01BSU5UQUlORVJfcG4tbGliaWRuID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmlkbjIgPSAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJpbnB1dCA9ICJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmppdHRlcmVudHJvcHkgPSAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJrc2JhID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYm1hdGNoYm94ID0gIlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlibW5sID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlibXBjID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tbGlibW9kdWxlbWQgPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlibmV3dCA9ICJIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlibmV3dC1weXRob24gPSAiSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYm5sID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKQEAgLTM0Myw2ICszNzAsNyBAQAogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlicG5nID0gIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlicHJveHkgPSAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJwdGhyZWFkLXN0dWJzID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnBzbCA9ICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnJlcG8gPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlicnN2ZyA9ICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnNhbXBsZXJhdGUwID0gIlRhbnUgS2Fza2luZW4gPHRhbnVrQGlraS5maT4iCkBAIC0zNjIsNyArMzkwLDcgQEAKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnRvb2wtY3Jvc3MgPSAiUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlidG9vbC1uYXRpdmUgPSAiUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlidW5pc3RyaW5nID0gIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgotUkVDSVBFX01BSU5UQUlORVJfcG4tbGlidW53aW5kID0gIkJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEB3aW5kcml2ZXIuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnVud2luZCA9ICJCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnVyY3UgPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlidXJpLXBlcmwgPSAiVGltIE9ybGluZyA8dGltb3RoeS50Lm9ybGluZ0BsaW51eC5pbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlidXNiMSA9ICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKQEAgLTM3Niw2ICs0MDQsNyBAQAogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlieGNiID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlieGNvbXBvc2l0ZSA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnhjdXJzb3IgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ4Y3J5cHQgPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ4ZGFtYWdlID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlieGRtY3AgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ4ZXh0ID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgpAQCAtNDEzLDExICs0NDIsMTEgQEAKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpZ2h0dHBkID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpbnV4LWR1bW15ID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpbnV4LWZpcm13YXJlID0gIk90YXZpbyBTYWx2YWRvciA8b3RhdmlvLnNhbHZhZG9yQG9zc3lzdGVtcy5jb20uYnI+IgotUkVDSVBFX01BSU5UQUlORVJfcG4tbGludXgtbGliYy1oZWFkZXJzID0gIkJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEB3aW5kcml2ZXIuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpbnV4LXlvY3RvID0gIkJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEB3aW5kcml2ZXIuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpbnV4LXlvY3RvLWRldiA9ICJCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAd2luZHJpdmVyLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1saW51eC15b2N0by1ydCA9ICJCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAd2luZHJpdmVyLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1saW51eC15b2N0by10aW55ID0gIkJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEB3aW5kcml2ZXIuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpbnV4LWxpYmMtaGVhZGVycyA9ICJCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpbnV4LXlvY3RvID0gIkJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tbGludXgteW9jdG8tZGV2ID0gIkJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tbGludXgteW9jdG8tcnQgPSAiQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1saW51eC15b2N0by10aW55ID0gIkJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGx2bSA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxvZ3JvdGF0ZSA9ICJZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbHJ6c3ogPSAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCkBAIC00MzgsNyArNDY3LDcgQEAKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1ha2UgPSAiUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbWFrZWRlcGVuZCA9ICJSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1tYWtlZGV2cyA9ICJDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgotUkVDSVBFX01BSU5UQUlORVJfcG4tbWFrZS1tb2Qtc2NyaXB0cyA9ICJCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAd2luZHJpdmVyLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1tYWtlLW1vZC1zY3JpcHRzID0gIkJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbWFuLWRiID0gIkhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1tYW4tcGFnZXMgPSAiSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1hdGNoYm94LWNvbmZpZy1ndGsgPSAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCkBAIC00NTcsOSArNDg2LDEwIEBACiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1tZXNhLWRlbW9zID0gIk90YXZpbyBTYWx2YWRvciA8b3RhdmlvLnNhbHZhZG9yQG9zc3lzdGVtcy5jb20uYnI+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbWVzYS1nbCA9ICJPdGF2aW8gU2FsdmFkb3IgPG90YXZpby5zYWx2YWRvckBvc3N5c3RlbXMuY29tLmJyPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1lc29uID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1ldGEtZW52aXJvbm1lbnQgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgotUkVDSVBFX01BSU5UQUlORVJfcG4tbWV0YS1lbnZpcm9ubWVudC1leHRzZGsgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tbWV0YS1lbnZpcm9ubWVudC0ke01BQ0hJTkV9ID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLW1ldGEtZW52aXJvbm1lbnQtZXh0c2RrLSR7TUFDSElORX0gPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbWV0YS1leHRzZGstdG9vbGNoYWluID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLW1ldGEtZ28tdG9vbGNoYWluID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1ldGEtaWRlLXN1cHBvcnQgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbWV0YS10b29sY2hhaW4gPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbWV0YS13b3JsZC1wa2dkYXRhID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKQEAgLTQ4NCw5ICs1MTQsMTIgQEAKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW14LTEuMCA9ICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW5hc20gPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbmF0aXZlc2RrLWJ1aWxkdG9vbHMtcGVybC1kdW1teSA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1uYXRpdmVzZGstaWNlY2MtdG9vbGNoYWluID0gIkpvc2h1YSBXYXR0IDxKUEVXaGFja2VyQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1uYXRpdmVzZGstbGlidG9vbCA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1uYXRpdmVzZGstbWVzb24gPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbmF0aXZlc2RrLXBhY2thZ2Vncm91cC1zZGstaG9zdCA9ICJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW5hdGl2ZXNkay1xZW11LWhlbHBlciA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1uYXRpdmVzZGstc2RrLXByb3ZpZGVzLWR1bW15ID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW5ld2xpYiA9ICJBbGVqYW5kcm8gSGVybmFuZGV6IDxhZWhzMjlAZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW5jdXJzZXMgPSAiSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW5lYXJkID0gIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgpAQCAtNTIxLDcgKzU1NCw3IEBACiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1wYnppcDIgPSAiRGVueXMgRG15dHJpeWVua28gPGRlbnlzQHRpLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1wY2l1dGlscyA9ICJDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tcGNtYW5mbSA9ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1wZXJmID0gIkJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEB3aW5kcml2ZXIuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXBlcmYgPSAiQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1wZXJsID0gIlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tcGVybC1uYXRpdmUgPSAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1waWdsaXQgPSAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCkBAIC01NzcsNiArNjEwLDggQEAKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXB5dGhvbjMtdGVzdHRvb2xzID0gIkRlcmVrIFN0cmFrYSA8ZGVyZWtAYXN0ZXJpdXMuaW8+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tcWVtdSA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1xZW11LWhlbHBlci1uYXRpdmUgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tcWVtdS1uYXRpdmUgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tcWVtdS1zeXN0ZW0tbmF0aXZlID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXFlbXV3cmFwcGVyLWNyb3NzID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXF1aWx0ID0gIlJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXF1aWx0LW5hdGl2ZSA9ICJSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4iCkBAIC02MzQsNiArNjY5LDcgQEAKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXN5c3RlbWQtc2VyaWFsZ2V0dHkgPSAiQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXN5c3RlbWQtc3lzdGVtY3RsLW5hdGl2ZSA9ICJDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tc3lzdGVtdGFwID0gIlZpY3RvciBLYW1lbnNreSA8a2FtZW5za3lAY2lzY28uY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXN5c3RlbXRhcC1uYXRpdmUgPSAiVmljdG9yIEthbWVuc2t5IDxrYW1lbnNreUBjaXNjby5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tc3lzdGVtdGFwLXVwcm9iZXMgPSAiVmljdG9yIEthbWVuc2t5IDxrYW1lbnNreUBjaXNjby5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tc3lzdmluaXQgPSAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1zeXN2aW5pdC1pbml0dGFiID0gIlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgpAQCAtNjUzLDcgKzY4OSw3IEBACiBSRUNJUEVfTUFJTlRBSU5FUl9wbi10emRhdGEgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi11LWJvb3QgPSAiTWFyZWsgVmFzdXQgPG1hcmVrLnZhc3V0QGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi11LWJvb3QtZnctdXRpbHMgPSAiTWFyZWsgVmFzdXQgPG1hcmVrLnZhc3V0QGdtYWlsLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi11LWJvb3QtbWtpbWFnZSA9ICJNYXJlayBWYXN1dCA8bWFyZWsudmFzdXRAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXUtYm9vdC10b29scyA9ICJNYXJlayBWYXN1dCA8bWFyZWsudmFzdXRAZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXVkZXYtZXh0cmFjb25mID0gIlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tdW5mczMgPSAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi11bmlmZGVmID0gIlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgpAQCAtNjY3LDYgKzcwMyw5IEBACiBSRUNJUEVfTUFJTlRBSU5FUl9wbi12ODZkID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXZhbGEgPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tdmFsZ3JpbmQgPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tdmltID0gIlRvbSBSaW5pIDx0cmluaUBrb25zdWxrby5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tdmltLXRpbnkgPSAiVG9tIFJpbmkgPHRyaW5pQGtvbnN1bGtvLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi12aXJnbHJlbmRlcmVyID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXZvbGF0aWxlLWJpbmRzID0gIkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi12dGUgPSAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi12dWxrYW4gPSAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCkBAIC02ODMsNyArNzIyLDcgQEAKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXdnZXQgPSAiWWkgWmhhbyA8eWkuemhhb0B3aW5kcml2ZXIuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXdoaWNoID0gIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4td2ljLXRvb2xzID0gIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgotUkVDSVBFX01BSU5UQUlORVJfcG4td3BhLXN1cHBsaWNhbnQgPSAiQ2hhbmdoeWVvayBCYWUgPGNoYW5naHllb2suYmFlQGxnZS5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4td3BhLXN1cHBsaWNhbnQgPSAiQ2hhbmdoeWVvayBCYWUgPGNoYW5naHllb2suYmFlQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi14MTFwZXJmID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4teDI2NCA9ICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXhhdXRoID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgpAQCAtNzI5LDcgKzc2OCw2IEBACiBSRUNJUEVfTUFJTlRBSU5FUl9wbi14c2V0ID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4teHRyYW5zID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4teHVzZXItYWNjb3VudCA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLXh2aWRlby10ZXN0cyA9ICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXh2aW5mbyA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXh3aW5pbmZvID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4teHogPSAiRGVueXMgRG15dHJpeWVua28gPGRlbnlzQHRpLmNvbT4iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmMgYi9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmMKaW5kZXggY2RjNTM5MS4uNzEyZDg1OCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYwpAQCAtNCw2ICs0LDcgQEAKIERJU0FCTEVfU1RBVElDX3BuLXFlbXUgPSAiIgogRElTQUJMRV9TVEFUSUNfcG4tcWVtdS1uYXRpdmUgPSAiIgogRElTQUJMRV9TVEFUSUNfcG4tbmF0aXZlc2RrLXFlbXUgPSAiIgorRElTQUJMRV9TVEFUSUNfcG4tcWVtdS1zeXN0ZW0tbmF0aXZlID0gIiIKICMgcGNpdXRpbHMgZmFpbHMgYnVpbGQKIERJU0FCTEVfU1RBVElDX3BuLXBjaXV0aWxzID0gIiIKICMgbGliY2FwIGFib3J0cyBvbiB1bnJlY29nbmlzZWQgb3B0aW9uCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y2xpYmMtZ2xpYmMuaW5jIGIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmluYwppbmRleCA4ZDEwNzY0Li4zMjQ2NDkwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y2xpYmMtZ2xpYmMuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbGliYy1nbGliYy5pbmMKQEAgLTIyLDE3ICsyMiw4IEBACiAJCSAgICAgZ2xpYmMtZGV2IFwKIAkJICAgICBnbGliYy11dGlscyBcCiAJCSAgICAgZ2xpYmMtdGhyZWFkLWRiIFwKLQkJICAgICAke0BnZXRfbGliY19sb2NhbGVzX2RlcGVuZGVuY2llcyhkKX0iCi0KLUxJQkNfTE9DQUxFX0RFUEVOREVOQ0lFUyA9ICJcCi0JZ2xpYmMtbG9jYWxlZGF0YS1pMThuIFwKLQlnbGliYy1nY29udi1pYm04NTAgXAotCWdsaWJjLWdjb252LWNwMTI1MiBcCi0JZ2xpYmMtZ2NvbnYtaXNvODg1OS0xIFwKLQlnbGliYy1nY29udi1pc284ODU5LTE1IgotCi1kZWYgZ2V0X2xpYmNfbG9jYWxlc19kZXBlbmRlbmNpZXMoZCk6Ci0gICAgaWYgJ2xpYmMtbG9jYWxlcycgaW4gKGQuZ2V0VmFyKCdESVNUUk9fRkVBVFVSRVMnKSBvciAnJykuc3BsaXQoKSA6Ci0gICAgICAgIHJldHVybiBkLmdldFZhcignTElCQ19MT0NBTEVfREVQRU5ERU5DSUVTJykgb3IgJycKLSAgICBlbHNlOgotICAgICAgICByZXR1cm4gJycKKwkJICAgICBnbGliYy1sb2NhbGVkYXRhLWkxOG4gXAorCQkgICAgIGdsaWJjLWdjb252LWlibTg1MCBcCisJCSAgICAgZ2xpYmMtZ2NvbnYtY3AxMjUyIFwKKwkJICAgICBnbGliYy1nY29udi1pc284ODU5LTEgXAorCQkgICAgIGdsaWJjLWdjb252LWlzbzg4NTktMTUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmMgYi9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmMKaW5kZXggZjhkYTY1MS4uMDQzNzNjYyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYwpAQCAtMywzMyArMywyOSBAQAogIwogCiBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9YmludXRpbHMgPSAiYmludXRpbHMtY3Jvc3MtJHtUQVJHRVRfQVJDSH0iCi1QUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjLWluaXRpYWwgPSAiZ2NjLWNyb3NzLWluaXRpYWwtJHtUQVJHRVRfQVJDSH0iCiBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjID0gImdjYy1jcm9zcy0ke1RBUkdFVF9BUkNIfSIKIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nKysgPSAiZ2NjLWNyb3NzLSR7VEFSR0VUX0FSQ0h9IgogUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWNvbXBpbGVybGlicyA9ICJnY2MtcnVudGltZSIKIFBSRUZFUlJFRF9QUk9WSURFUl9nZGIgPSAiZ2RiIgogCiBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1NES19QUkVGSVh9YmludXRpbHMtY3Jvc3NzZGsgPz0gImJpbnV0aWxzLWNyb3Nzc2RrLSR7U0RLX1NZU30iCi1QUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1NES19QUkVGSVh9Z2NjLWluaXRpYWwgPSAiZ2NjLWNyb3Nzc2RrLWluaXRpYWwtJHtTREtfU1lTfSIKIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7U0RLX1BSRUZJWH1nY2MgPSAiZ2NjLWNyb3Nzc2RrLSR7U0RLX1NZU30iCiBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1NES19QUkVGSVh9ZysrID0gImdjYy1jcm9zc3Nkay0ke1NES19TWVN9IgogUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtTREtfUFJFRklYfWNvbXBpbGVybGlicyA9ICJuYXRpdmVzZGstZ2NjLXJ1bnRpbWUiCiAKICMgRGVmYXVsdCBsaWJjIGNvbmZpZwotUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWxpYmMtZm9yLWdjYyA9ICIke1RDTElCQ30iCi1QUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9uYXRpdmVzZGstJHtTREtfUFJFRklYfWxpYmMtZm9yLWdjYyA/PSAibmF0aXZlc2RrLWdsaWJjIgogUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWxpYmMtaW5pdGlhbCA9ICIke1RDTElCQ30taW5pdGlhbCIKIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL25hdGl2ZXNkay0ke1NES19QUkVGSVh9bGliYy1pbml0aWFsID89ICJuYXRpdmVzZGstZ2xpYmMtaW5pdGlhbCIKIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2dldHRleHQgPz89ICJnZXR0ZXh0IgogCiBHQ0NWRVJTSU9OID89ICI4LiUiCiBTREtHQ0NWRVJTSU9OID89ICIke0dDQ1ZFUlNJT059IgotQklOVVZFUlNJT04gPz0gIjIuMzElIgorQklOVVZFUlNJT04gPz0gIjIuMzIlIgogR0RCVkVSU0lPTiA/PSAiOC4yJSIKLUdMSUJDVkVSU0lPTiA/PSAiMi4yOCUiCi1MSU5VWExJQkNWRVJTSU9OID89ICI0LjE4JSIKLVFFTVVWRVJTSU9OID89ICIzLjAlIgotR09WRVJTSU9OID89ICIxLjExJSIKK0dMSUJDVkVSU0lPTiA/PSAiMi4yOSUiCitMSU5VWExJQkNWRVJTSU9OID89ICI1LjAlIgorUUVNVVZFUlNJT04gPz0gIjMuMSUiCitHT1ZFUlNJT04gPz0gIjEuMTIlIgogCiBQUkVGRVJSRURfVkVSU0lPTl9nY2MgPz0gIiR7R0NDVkVSU0lPTn0iCiBQUkVGRVJSRURfVkVSU0lPTl9nY2MtY3Jvc3MtJHtUQVJHRVRfQVJDSH0gPz0gIiR7R0NDVkVSU0lPTn0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS91cHN0cmVhbV90cmFja2luZy5pbmMgYi9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS91cHN0cmVhbV90cmFja2luZy5pbmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUyYTVlNmMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdXBzdHJlYW1fdHJhY2tpbmcuaW5jCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotIyBOT1RFOiBUSElTIEZJTEUgSVMgREVQUkVDQVRFRC4gUGxlYXNlIGFkZCBuZXcgZW50cmllcyB0byB0aGUgcmVjaXBlcyB0aGVtc2VsdmVzLgotIwotIyB1cHN0cmVhbV90cmFja2luZy5pbmMgLSBUaGlzIGZpbGUgY29udGFpbnMgZGF0YSB0aGF0IHRyYWNrcyB0aGUKLSMgdXBzdHJlYW0gcHJvamVjdCBhc3NvY2lhdGVkIHdpdGggYSBnaXZlbiByZWNpcGUuIFRoaXMgbGlzdCBpcyBuZWVkZWQKLSMgZm9yIHJlY2lwZXMgdGhhdCB2ZXJzaW9uIGluZm9ybWF0aW9uIGNhbiBub3QgYmUgYXV0b21hZ2ljYWxseSBkaXNjb3ZlcmVkLgotIyBBcyB3ZSBhdXRvbWF0ZSB0aGlzIGNoZWNraW5nLCB0aGlzIGZpbGUgd2lsbCBzbG93ZWQgYmUgcmVkdWNlZC4KLSMKLSMgVGhpcyBkYXRhIGlzIHVzZWQgYnkgdGhlIHBhY2thZ2UgcmVwb3J0aW5nIHN5c3RlbSAocGFja2FnZXMueW9jdG9wcm9qZWN0Lm9yZykKLSMKLSMgVGhlIGZvcm1hdCBpcyBhcyBhIGJpdGJha2UgdmFyaWFibGUgb3ZlcnJpZGUgZm9yIGVhY2ggcmVjaXBlCi0jCi0jICAgICAgIFJFQ0lQRV9VUFNUUkVBTV9WRVJTSU9OX3BuLTxyZWNpcGUgbmFtZT4gPSAiPHZlcnNpb24+IgotIyAgICAgICBSRUNJUEVfVVBTVFJFQU1fREFURV9wbi08cmVjaXBlIG5hbWU+ID0gIk1tbSBkZCwgWVlZWSIKLSMJIC0gVGhpcyBpcyB0aGUgbGF0ZXN0IHVwc3RyZWFtIHZlcnNpb24gYW5kIGRhdGUKLSMgICAgICAgUkVDSVBFX05PX1VQREFURV9SRUFTT05fcG4tPHJlY2lwZSBuYW1lPiA9ICI8ZnJlZSBmb3JtIHRleHQ+IgotIyAgICAgICAgLSBVc2VkIHRvIG5vdGUgd2h5IGEgcmVjaXBlIHNob3VsZCBub3QgYmUgdXBncmFkZWQgdG8gYSBuZXdlciB2ZXJzb2luCi0jICAgICAgIENIRUNLX0RBVEVfcG4tPHJlY2lwZSBuYW1lPiA9ICJNbW0gZGQsIFlZWVkiCi0jICAgICAgICAtIFRoaXMgaXMgdGhlIGRhdGUgdGhhdCB1cHN0cmVhbSB3YXMgbGFzdCBtYW51YWxseSBjaGVja2VkIG92ZXIgdGltZQotIyAgICAgICAgICB0aGlzIHNob3VsZCBiZSByZW1vdmVkIGFzIHdlIGF1dG9tYXRlIHRoaXMgY2hlY2tpbmcKLSMKLSMgVGhlc2UgZW50cmllcyB3aWxsIHNsb3dseSBiZSByZW1vdmVkIGFzIHdlIGNhbiBhdXRvbWF0aWNhbGx5IGRldGVybWluZQotIyB0aGUgaW5mb3JtYXRpb24gaW4gdGhpcyBmaWxlLiAgU28gZm9yIGV4aXN0aW5nIHJlY2lwZXMgdGhhdCB3ZSBjYW4gZ2V0IAotIyBmcm9tIHRoZSBSZWNpcGUgcmVwb3J0aW5nIHN5c3RlbSwgdGhlIGVudHJpZXMgaGVyZSBjYW4gYmUgcmVtb3ZlZC4KLSMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZiBiL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZgppbmRleCBmYzZkMDA4Li41NTBkZjIwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmYKKysrIGIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mCkBAIC0xMjUsNyArMTI1LDcgQEAKIERBVEVbZG9jXSA9ICJUaGUgZGF0ZSB0aGUgYnVpbGQgd2FzIHN0YXJ0ZWQgdXNpbmcgWU1EIGZvcm1hdC4iCiBEQVRFVElNRVtkb2NdID0gIlRoZSBkYXRlIGFuZCB0aW1lIHRoZSBidWlsZCB3YXMgc3RhcnRlZC4iCiBERUJVR19CVUlMRFtkb2NdID0gIlNwZWNpZmllcyB0byBidWlsZCBwYWNrYWdlcyB3aXRoIGRlYnVnZ2luZyBpbmZvcm1hdGlvbi4gVGhpcyBpbmZsdWVuY2VzIHRoZSB2YWx1ZSBvZiB0aGUgU0VMRUNURURfT1BUSU1JWkFUSU9OIHZhcmlhYmxlLiIKLURFQlVHX09QVElNSVpBVElPTltkb2NdID0gIlRoZSBvcHRpb25zIHRvIHBhc3MgaW4gVEFSR0VUX0NGTEFHUyBhbmQgQ0ZMQUdTIHdoZW4gY29tcGlsaW5nIGEgc3lzdGVtIGZvciBkZWJ1Z2dpbmcuIFRoaXMgdmFyaWFibGUgZGVmYXVsdHMgdG8gJy1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICR7REVCVUdfRkxBR1N9IC1waXBlJy4iCitERUJVR19PUFRJTUlaQVRJT05bZG9jXSA9ICJUaGUgb3B0aW9ucyB0byBwYXNzIGluIFRBUkdFVF9DRkxBR1MgYW5kIENGTEFHUyB3aGVuIGNvbXBpbGluZyBhIHN5c3RlbSBmb3IgZGVidWdnaW5nLiBUaGlzIHZhcmlhYmxlIGRlZmF1bHRzIHRvICctT2cgJHtERUJVR19GTEFHU30gLXBpcGUnLiIKIERFRkFVTFRfUFJFRkVSRU5DRVtkb2NdID0gIlNwZWNpZmllcyBhIHdlYWsgYmlhcyBmb3IgcmVjaXBlIHNlbGVjdGlvbiBwcmlvcml0eS4iCiBERVBFTkRTW2RvY10gPSAiTGlzdHMgYSByZWNpcGUncyBidWlsZC10aW1lIGRlcGVuZGVuY2llcyAoaS5lLiBvdGhlciByZWNpcGUgZmlsZXMpLiIKIERFUExPWV9ESVJbZG9jXSA9ICJQb2ludHMgdG8gdGhlIGdlbmVyYWwgYXJlYSB0aGF0IHRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtIHVzZXMgdG8gcGxhY2UgaW1hZ2VzLCBwYWNrYWdlcywgU0RLcyBhbmQgb3RoZXIgb3V0cHV0IGZpbGVzIHRoYXQgYXJlIHJlYWR5IHRvIGJlIHVzZWQgb3V0c2lkZSBvZiB0aGUgYnVpbGQgc3lzdGVtLiIKQEAgLTQxMyw3ICs0MTMsNyBAQAogVEFSR0VUX09TW2RvY10gPSAiU3BlY2lmaWVzIHRoZSB0YXJnZXQncyBvcGVyYXRpbmcgc3lzdGVtLiIKIFRBUkdFVF9QUkVGSVhbZG9jXSA9ICJUaGUgcHJlZml4IGZvciB0aGUgY3Jvc3MtY29tcGlsZSB0b29sY2hhaW4gKGUuZy4gYXJtLWxpbnV4LSkuIgogVEFSR0VUX1NZU1tkb2NdID0gIlRoZSB0YXJnZXQgc3lzdGVtIGlzIGNvbXByaXNlZCBvZiBUQVJHRVRfQVJDSCxUQVJHRVRfVkVORE9SIGFuZCBUQVJHRVRfT1MuIgotVENMSUJDW2RvY10gPSAiU3BlY2lmaWVzIEMgbGlicmFyeSAobGliYykgdmFyaWFudCB0byB1c2UgZHVyaW5nIHRoZSBidWlsZCBwcm9jZXNzLiBZb3UgY2FuIHNlbGVjdCAnYmFyZW1ldGFsJywgJ2dsaWJjJyBvciAnbXVzbCcuIgorVENMSUJDW2RvY10gPSAiU3BlY2lmaWVzIEMgbGlicmFyeSAobGliYykgdmFyaWFudCB0byB1c2UgZHVyaW5nIHRoZSBidWlsZCBwcm9jZXNzLiBZb3UgY2FuIHNlbGVjdCAnYmFyZW1ldGFsJywgJ2dsaWJjJywgJ211c2wnIG9yICduZXdsaWInLiIKIFRDTU9ERVtkb2NdID0gIkVuYWJsZXMgYW4gZXh0ZXJuYWwgdG9vbGNoYWluICh3aGVyZSBwcm92aWRlZCBieSBhbiBhZGRpdGlvbmFsIGxheWVyKSBpZiBzZXQgdG8gYSB2YWx1ZSBvdGhlciB0aGFuICdkZWZhdWx0Jy4iCiBURVNUSU1BR0VfQVVUT1tkb2NdID0gIkVuYWJsZXMgdGVzdCBib290aW5nIG9mIHZpcnR1YWwgbWFjaGluZSBpbWFnZXMgdW5kZXIgdGhlIFFFTVUgZW11bGF0b3IgYWZ0ZXIgYW55IHJvb3QgZmlsZXN5c3RlbXMgYXJlIGNyZWF0ZWQgYW5kIHJ1bnMgdGVzdHMgYWdhaW5zdCB0aG9zZSBpbWFnZXMgZWFjaCB0aW1lIGFuIGltYWdlIGlzIGJ1aWx0LiIKIFRFU1RfUUVNVUJPT1RfVElNRU9VVFtkb2NdID0gIlRoZSB0aW1lIGluIHNlY29uZHMgYWxsb3dlZCBmb3IgYW4gaW1hZ2UgdG8gYm9vdCBiZWZvcmUgYXV0b21hdGVkIHJ1bnRpbWUgdGVzdHMgYmVnaW4gdG8gcnVuIGFnYWluc3QgYW4gaW1hZ2UuIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbGF5ZXIuY29uZiBiL3Bva3kvbWV0YS9jb25mL2xheWVyLmNvbmYKaW5kZXggYzY3ZGVjNC4uOWQ2M2I1YiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbGF5ZXIuY29uZgorKysgYi9wb2t5L21ldGEvY29uZi9sYXllci5jb25mCkBAIC03LDEyICs3LDEyIEBACiBCQkZJTEVfUEFUVEVSTl9jb3JlID0gIl4ke0xBWUVSRElSfS8iCiBCQkZJTEVfUFJJT1JJVFlfY29yZSA9ICI1IgogCi1MQVlFUlNFUklFU19DT1JFTkFNRVMgPSAidGh1ZCIKK0xBWUVSU0VSSUVTX0NPUkVOQU1FUyA9ICJ3YXJyaW9yIgogCiAjIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW5jcmVtZW50ZWQgb24gc2lnbmlmaWNhbnQgY2hhbmdlcyB0aGF0IHdpbGwKICMgY2F1c2UgY29tcGF0aWJpbGl0eSBpc3N1ZXMgd2l0aCBvdGhlciBsYXllcnMKIExBWUVSVkVSU0lPTl9jb3JlID0gIjExIgotTEFZRVJTRVJJRVNfQ09NUEFUX2NvcmUgPSAidGh1ZCIKK0xBWUVSU0VSSUVTX0NPTVBBVF9jb3JlID0gIndhcnJpb3IiCiAKIEJCTEFZRVJTX0xBWUVSSU5ERVhfTkFNRV9jb3JlID0gIm9wZW5lbWJlZGRlZC1jb3JlIgogCkBAIC00OSw5ICs0OSw3IEBACiAgICotPnF1aWx0LW5hdGl2ZSBcCiAgICotPnN1YnZlcnNpb24tbmF0aXZlIFwKICAgKi0+Z2l0LW5hdGl2ZSBcCi0gICotPmNjYWNoZS1uYXRpdmUgXAogICAqLT5pY2VjYy1jcmVhdGUtZW52LW5hdGl2ZSBcCi0gIGdjYy1jcm9zcy0ke1RBUkdFVF9BUkNIfS0+dmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9bGliYy1mb3ItZ2NjIFwKICAgZ2NjLWNyb3NzLSR7VEFSR0VUX0FSQ0h9LT5saW51eC1saWJjLWhlYWRlcnMgXAogICBwcHAtZGlhbGluLT5wcHAgXAogICByZXNvbHZjb25mLT5iYXNoIFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm02NC5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtNjQuaW5jCmluZGV4IDVmOTA3NjMuLjUzZjQ1NjYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm02NC5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybTY0LmluYwpAQCAtNCw3ICs0LDcgQEAKIAogVFVORVZBTElEW2FhcmNoNjRdID0gIkVuYWJsZSBpbnN0cnVjdGlvbnMgZm9yIGFhcmNoNjQiCiAKLU1BQ0hJTkVPVkVSUklERVMgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2FhcmNoNjQnLCAnOmFhcmNoNjQnLCAnJyAsZCl9IgorTUFDSElORU9WRVJSSURFUyA9LiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnYWFyY2g2NCcsICdhYXJjaDY0OicsICcnICxkKX0iCiAKICMgTGl0dGxlIEVuZGlhbiBiYXNlIGNvbmZpZ3MKIEFWQUlMVFVORVMgKz0gImFhcmNoNjQgYWFyY2g2NF9iZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12NC5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjQuaW5jCmluZGV4IDgxM2VkMTUuLjQ3YTdhZDIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12NC5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY0LmluYwpAQCAtMiw3ICsyLDcgQEAKIAogVFVORVZBTElEW2FybV0gPSAiRW5hYmxlIEFSTSBpbnN0cnVjdGlvbiBzZXQiCiBUVU5FVkFMSURbYXJtdjRdID0gIkVuYWJsZSBpbnN0cnVjdGlvbnMgZm9yIEFSTXY0IgotVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2FybXY0JywgJyAtbWFyY2g9YXJtdjQke0FSTVBLR1NGWF9USFVNQn0nLCAnJywgZCl9IgorVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2FybXY0JywgJyAtbWFyY2g9YXJtdjR0JywgJycsIGQpfSIKICMgZW5hYmxlIC0tZml4LXY0Ynggd2hlbiB3ZSBoYXZlIGFybXY0IGluIFRVTkVfRkVBVFVSRVMsIGJ1dCB0aGVuIGRpc2FibGUgaXQgd2hlbiB3ZSBoYXZlIGFsc28gYXJtdjUgb3IgdGh1bWIKICMgbWF5YmUgd2Ugc2hvdWxkIGV4dGVuZCBiYi51dGlscy5jb250YWlucyB0byBzdXBwb3J0IGNoZWNrIGZvciBhbnkgY2hlY2t2YWx1ZXMgaW4gdmFsdWUsIG5vdyBpdCBkb2VzIAogIyBjaGVja3ZhbHVlcy5pc3N1YnNldCh2YWwpIHdoaWNoIGNhbm5vdCBiZSB1c2VkIGZvciBuZWdhdGl2ZSB0ZXN0IG9mIGZvbyBuZWl0aGVyIGJhciBpbiB2YWx1ZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY1LWRzcC5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjUtZHNwLmluYwppbmRleCAxZjE2MDg1Li5kMTE3YWYxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjUtZHNwLmluYworKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjUtZHNwLmluYwpAQCAtMSw0ICsxLDQgQEAKLUFSTVBLR1NGWF9EU1AgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCBbICdhcm12NScsICdkc3AnIF0sICdlJywgJycsIGQpfSIKK0FSTVBLR1NGWF9EU1AgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCBbICdkc3AnIF0sICdlJywgJycsIGQpfSIKIFRVTkVWQUxJRFtkc3BdID0gIkFSTSBEU1AgZnVuY3Rpb25hbGl0eSIKIAogcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12NS5pbmMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12NS5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjUuaW5jCmluZGV4IDQ2ZjYzMWMuLmY5MDY4YWYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12NS5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY1LmluYwpAQCAtMiw3ICsyLDcgQEAKIAogVFVORVZBTElEW2FybXY1XSA9ICJFbmFibGUgaW5zdHJ1Y3Rpb25zIGZvciBBUk12NSIKIFRVTkVDT05GTElDVFNbYXJtdjVdID0gImFybXY0IgotVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2FybXY1JywgJyAtbWFyY2g9YXJtdjUke0FSTVBLR1NGWF9USFVNQn0ke0FSTVBLR1NGWF9EU1B9JywgJycsIGQpfSIKK1RVTkVfQ0NBUkdTIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdhcm12NScsICcgLW1hcmNoPWFybXY1dCR7QVJNUEtHU0ZYX0RTUH0nLCAnJywgZCl9IgogTUFDSElORU9WRVJSSURFUyA9LiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnYXJtdjUnLCAnYXJtdjU6JywgJycgLGQpfSIKIAogcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12NC5pbmMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12N2EuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY3YS5pbmMKaW5kZXggYTI2NjNkOC4uMTk5ZTYzZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY3YS5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY3YS5pbmMKQEAgLTEwLDEzICsxMCwxNSBAQAogcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vZmVhdHVyZS1hcm0tbmVvbi5pbmMKIAogIyBMaXR0bGUgRW5kaWFuIGJhc2UgY29uZmlncwotQVZBSUxUVU5FUyArPSAiYXJtdjdhIGFybXY3YXQgYXJtdjdhLXZmcHYzZDE2IGFybXY3YXQtdmZwdjNkMTYgYXJtdjdhLXZmcHYzIGFybXY3YXQtdmZwdjMgYXJtdjdhLW5lb24gYXJtdjdhdC1uZW9uIGFybXY3YS1uZW9uLXZmcHY0IGFybXY3YXQtbmVvbi12ZnB2NCIKK0FWQUlMVFVORVMgKz0gImFybXY3YSBhcm12N2F0IGFybXY3YS12ZnB2M2QxNiBhcm12N2F0LXZmcHYzZDE2IGFybXY3YS12ZnB2MyBhcm12N2F0LXZmcHYzIGFybXY3YS12ZnB2NGQxNiBhcm12N2F0LXZmcHY0ZDE2IGFybXY3YS1uZW9uIGFybXY3YXQtbmVvbiBhcm12N2EtbmVvbi12ZnB2NCBhcm12N2F0LW5lb24tdmZwdjQiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhICAgICAgICAgICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdCAgICAgICAgICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhLXZmcHYzZDE2ICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdC12ZnB2M2QxNiAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhLXZmcHYzICAgICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdC12ZnB2MyAgICAgID89ICJhcm12N2EiCitBUk1QS0dBUkNIX3R1bmUtYXJtdjdhLXZmcHY0ZDE2ICAgID89ICJhcm12N2EiCitBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdC12ZnB2NGQxNiAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhLW5lb24gICAgICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdC1uZW9uICAgICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhLW5lb24tdmZwdjQgID89ICJhcm12N2EiCkBAIC0yNyw2ICsyOSw4IEBACiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdC12ZnB2M2QxNiAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXR9IHZmcHYzZDE2IgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3YS12ZnB2MyAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2EtdmZwdjNkMTZ9IHZmcHYzIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3YXQtdmZwdjMgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0LXZmcHYzZDE2fSB2ZnB2MyIKK1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2EtdmZwdjRkMTYgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhfSB2ZnB2NGQxNiIKK1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0LXZmcHY0ZDE2ICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdH0gdmZwdjRkMTYiCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhLW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YX0gbmVvbiIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0LW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdH0gbmVvbiIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2EtbmVvbi12ZnB2NCAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhLW5lb259IHZmcHY0IgpAQCAtMzcsMTkgKzQxLDIzIEBACiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdC12ZnB2M2QxNiAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXR9IGFybXY3YS12ZnB2M2QxNiBhcm12N2F0Mi12ZnB2M2QxNiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2EtdmZwdjMgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhLXZmcHYzZDE2fSBhcm12N2EtdmZwdjMiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdC12ZnB2MyAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXQtdmZwdjNkMTZ9IGFybXY3YS12ZnB2MyBhcm12N2F0Mi12ZnB2MyIKK1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2EtdmZwdjRkMTYgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhfSBhcm12N2EtdmZwdjRkMTYiCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdC12ZnB2NGQxNiAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXR9IGFybXY3YS12ZnB2NGQxNiBhcm12N2F0Mi12ZnB2NGQxNiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2EtbmVvbiAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhfSBhcm12N2EtbmVvbiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0LW5lb24gICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdH0gYXJtdjdhLW5lb24gYXJtdjdhdDItbmVvbiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2EtbmVvbi12ZnB2NCAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhLW5lb259IGFybXY3YS1uZW9uLXZmcHY0IgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXQtbmVvbi12ZnB2NCA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0LW5lb259IGFybXY3YS1uZW9uLXZmcHY0IGFybXY3YXQyLW5lb24tdmZwdjQiCiAKICMgSEYgVHVuZXMKLUFWQUlMVFVORVMgKz0gImFybXY3YWhmIGFybXY3YXRoZiBhcm12N2FoZi12ZnB2M2QxNiBhcm12N2F0aGYtdmZwdjNkMTYgYXJtdjdhaGYtdmZwdjMgYXJtdjdhdGhmLXZmcHYzIGFybXY3YWhmLW5lb24gYXJtdjdhdGhmLW5lb24gYXJtdjdhaGYtbmVvbi12ZnB2NCBhcm12N2F0aGYtbmVvbi12ZnB2NCIKK0FWQUlMVFVORVMgKz0gImFybXY3YWhmIGFybXY3YXRoZiBhcm12N2FoZi12ZnB2M2QxNiBhcm12N2F0aGYtdmZwdjNkMTYgYXJtdjdhaGYtdmZwdjMgYXJtdjdhdGhmLXZmcHYzIGFybXY3YWhmLXZmcHY0ZDE2IGFybXY3YXRoZi12ZnB2NGQxNiBhcm12N2FoZi1uZW9uIGFybXY3YXRoZi1uZW9uIGFybXY3YWhmLW5lb24tdmZwdjQgYXJtdjdhdGhmLW5lb24tdmZwdjQiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhaGYgICAgICAgICAgICAgPz0gImFybXY3YSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N2F0aGYgICAgICAgICAgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YWhmLXZmcHYzZDE2ICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdGhmLXZmcHYzZDE2ICAgPz0gImFybXY3YSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N2FoZi12ZnB2MyAgICAgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YXRoZi12ZnB2MyAgICAgID89ICJhcm12N2EiCitBUk1QS0dBUkNIX3R1bmUtYXJtdjdhaGYtdmZwdjRkMTYgICAgPz0gImFybXY3YSIKK0FSTVBLR0FSQ0hfdHVuZS1hcm12N2F0aGYtdmZwdjRkMTYgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YWhmLW5lb24gICAgICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdGhmLW5lb24gICAgICAgPz0gImFybXY3YSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N2FoZi1uZW9uLXZmcHY0ICA/PSAiYXJtdjdhIgpAQCAtNjAsNiArNjgsOCBAQAogVFVORV9GRUFUVVJFU190dW5lLWFybXY3YXRoZi12ZnB2M2QxNiAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXQtdmZwdjNkMTZ9IGNhbGxjb252ZW50aW9uLWhhcmQiCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhaGYtdmZwdjMgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhLXZmcHYzfSBjYWxsY29udmVudGlvbi1oYXJkIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3YXRoZi12ZnB2MyAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXQtdmZwdjN9IGNhbGxjb252ZW50aW9uLWhhcmQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhaGYtdmZwdjRkMTYgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhLXZmcHY0ZDE2fSBjYWxsY29udmVudGlvbi1oYXJkIgorVFVORV9GRUFUVVJFU190dW5lLWFybXY3YXRoZi12ZnB2NGQxNiAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXQtdmZwdjRkMTZ9IGNhbGxjb252ZW50aW9uLWhhcmQiCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhaGYtbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhLW5lb259IGNhbGxjb252ZW50aW9uLWhhcmQiCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdGhmLW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdC1uZW9ufSBjYWxsY29udmVudGlvbi1oYXJkIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3YWhmLW5lb24tdmZwdjQgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YS1uZW9uLXZmcHY0fSBjYWxsY29udmVudGlvbi1oYXJkIgpAQCAtNzAsMTkgKzgwLDIzIEBACiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGhmLXZmcHYzZDE2ICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGhmfSBhcm12N2FoZi12ZnB2M2QxNiBhcm12N2F0MmhmLXZmcHYzZDE2IgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWhmLXZmcHYzICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWhmLXZmcHYzZDE2fSBhcm12N2FoZi12ZnB2MyIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0aGYtdmZwdjMgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0aGYtdmZwdjNkMTZ9IGFybXY3YWhmLXZmcHYzIGFybXY3YXQyaGYtdmZwdjMiCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhaGYtdmZwdjRkMTYgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhaGZ9IGFybXY3YWhmLXZmcHY0ZDE2IgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRoZi12ZnB2NGQxNiAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRoZn0gYXJtdjdhaGYtdmZwdjRkMTYgYXJtdjdhdDJoZi12ZnB2NGQxNiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FoZi1uZW9uICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FoZn0gYXJtdjdhaGYtbmVvbiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0aGYtbmVvbiAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0aGZ9IGFybXY3YWhmLW5lb24gYXJtdjdhdDJoZi1uZW9uIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWhmLW5lb24tdmZwdjQgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWhmLW5lb259IGFybXY3YWhmLW5lb24tdmZwdjQiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGhmLW5lb24tdmZwdjQgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGhmLW5lb259IGFybXY3YWhmLW5lb24tdmZwdjQgYXJtdjdhdDJoZi1uZW9uLXZmcHY0IgogCiAjIEJpZyBFbmRpYW4KLUFWQUlMVFVORVMgKz0gImFybXY3YWIgYXJtdjdhdGIgYXJtdjdhYi12ZnB2M2QxNiBhcm12N2F0Yi12ZnB2M2QxNiBhcm12N2FiLXZmcHYzIGFybXY3YXRiLXZmcHYzIGFybXY3YWItbmVvbiBhcm12N2F0Yi1uZW9uIGFybXY3YWItbmVvbi12ZnB2NCBhcm12N2F0Yi1uZW9uLXZmcHY0IgorQVZBSUxUVU5FUyArPSAiYXJtdjdhYiBhcm12N2F0YiBhcm12N2FiLXZmcHYzZDE2IGFybXY3YXRiLXZmcHYzZDE2IGFybXY3YWItdmZwdjMgYXJtdjdhdGItdmZwdjMgYXJtdjdhYi12ZnB2NGQxNiBhcm12N2F0Yi12ZnB2NGQxNiBhcm12N2FiLW5lb24gYXJtdjdhdGItbmVvbiBhcm12N2FiLW5lb24tdmZwdjQgYXJtdjdhdGItbmVvbi12ZnB2NCIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N2FiICAgICAgICAgICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdGIgICAgICAgICAgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YWItdmZwdjNkMTYgICAgPz0gImFybXY3YSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N2F0Yi12ZnB2M2QxNiAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhYi12ZnB2MyAgICAgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YXRiLXZmcHYzICAgICAgPz0gImFybXY3YSIKK0FSTVBLR0FSQ0hfdHVuZS1hcm12N2FiLXZmcHY0ZDE2ICAgID89ICJhcm12N2EiCitBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdGItdmZwdjRkMTYgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YWItbmVvbiAgICAgICAgPz0gImFybXY3YSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N2F0Yi1uZW9uICAgICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhYi1uZW9uLXZmcHY0ICA/PSAiYXJtdjdhIgpAQCAtOTMsNiArMTA3LDggQEAKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0Yi12ZnB2M2QxNiAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXQtdmZwdjNkMTZ9IGJpZ2VuZGlhbiIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2FiLXZmcHYzICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YS12ZnB2M30gYmlnZW5kaWFuIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3YXRiLXZmcHYzICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdC12ZnB2M30gYmlnZW5kaWFuIgorVFVORV9GRUFUVVJFU190dW5lLWFybXY3YWItdmZwdjRkMTYgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhLXZmcHY0ZDE2fSBiaWdlbmRpYW4iCitUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdGItdmZwdjRkMTYgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0LXZmcHY0ZDE2fSBiaWdlbmRpYW4iCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhYi1uZW9uICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2EtbmVvbn0gYmlnZW5kaWFuIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3YXRiLW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdC1uZW9ufSBiaWdlbmRpYW4iCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhYi1uZW9uLXZmcHY0ICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2EtbmVvbi12ZnB2NH0gYmlnZW5kaWFuIgpAQCAtMTAzLDE5ICsxMTksMjMgQEAKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0Yi12ZnB2M2QxNiAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRifSBhcm12N2FiLXZmcHYzZDE2IGFybXY3YXQyYi12ZnB2M2QxNiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FiLXZmcHYzICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWItdmZwdjNkMTZ9IGFybXY3YWItdmZwdjMiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGItdmZwdjMgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0Yi12ZnB2M2QxNn0gYXJtdjdhYi12ZnB2MyBhcm12N2F0MmItdmZwdjMiCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhYi12ZnB2NGQxNiAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FifSBhcm12N2FiLXZmcHY0ZDE2IgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRiLXZmcDQzZDE2ICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGJ9IGFybXY3YWItdmZwdjRkMTYgYXJtdjdhdDJiLXZmcHY0ZDE2IgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWItbmVvbiAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhYn0gYXJtdjdhYi1uZW9uIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRiLW5lb24gICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGJ9IGFybXY3YWItbmVvbiBhcm12N2F0MmItbmVvbiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FiLW5lb24tdmZwdjQgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWItbmVvbn0gYXJtdjdhYi1uZW9uLXZmcHY0IgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRiLW5lb24tdmZwdjQgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGItbmVvbn0gYXJtdjdhYi1uZW9uLXZmcHY0IGFybXY3YXQyYi1uZW9uLXZmcHY0IgogCiAjIEJpZyBFbmRpYW4gKyBIRgotQVZBSUxUVU5FUyArPSAiYXJtdjdhaGZiIGFybXY3YXRoZmIgYXJtdjdhaGZiLXZmcHYzZDE2IGFybXY3YXRoZmItdmZwdjNkMTYgYXJtdjdhaGZiLXZmcHYzIGFybXY3YXRoZmItdmZwdjMgYXJtdjdhaGZiLW5lb24gYXJtdjdhdGhmYi1uZW9uIGFybXY3YWhmYi1uZW9uLXZmcHY0IGFybXY3YXRoZmItbmVvbi12ZnB2NCIKK0FWQUlMVFVORVMgKz0gImFybXY3YWhmYiBhcm12N2F0aGZiIGFybXY3YWhmYi12ZnB2M2QxNiBhcm12N2F0aGZiLXZmcHYzZDE2IGFybXY3YWhmYi12ZnB2MyBhcm12N2F0aGZiLXZmcHYzIGFybXY3YWhmYi12ZnB2NGQxNiBhcm12N2F0aGZiLXZmcHY0ZDE2IGFybXY3YWhmYi1uZW9uIGFybXY3YXRoZmItbmVvbiBhcm12N2FoZmItbmVvbi12ZnB2NCBhcm12N2F0aGZiLW5lb24tdmZwdjQiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhaGZiICAgICAgICAgICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdGhmYiAgICAgICAgICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhaGZiLXZmcHYzZDE2ICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdGhmYi12ZnB2M2QxNiAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhaGZiLXZmcHYzICAgICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdGhmYi12ZnB2MyAgICAgID89ICJhcm12N2EiCitBUk1QS0dBUkNIX3R1bmUtYXJtdjdhaGZiLXZmcHY0ZDE2ICAgID89ICJhcm12N2EiCitBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdGhmYi12ZnB2NGQxNiAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhaGZiLW5lb24gICAgICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdGhmYi1uZW9uICAgICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhaGZiLW5lb24tdmZwdjQgID89ICJhcm12N2EiCkBAIC0xMjYsNiArMTQ2LDggQEAKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0aGZiLXZmcHYzZDE2ICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdGhmLXZmcHYzZDE2fSBiaWdlbmRpYW4iCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhaGZiLXZmcHYzICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YWhmLXZmcHYzfSBiaWdlbmRpYW4iCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdGhmYi12ZnB2MyAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXRoZi12ZnB2M30gYmlnZW5kaWFuIgorVFVORV9GRUFUVVJFU190dW5lLWFybXY3YWhmYi12ZnB2NGQxNiAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2FoZi12ZnB2NGQxNn0gYmlnZW5kaWFuIgorVFVORV9GRUFUVVJFU190dW5lLWFybXY3YXRoZmItdmZwdjRkMTYgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0aGYtdmZwdjRkMTZ9IGJpZ2VuZGlhbiIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2FoZmItbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhaGYtbmVvbn0gYmlnZW5kaWFuIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3YXRoZmItbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0aGYtbmVvbn0gYmlnZW5kaWFuIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3YWhmYi1uZW9uLXZmcHY0ICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2FoZi1uZW9uLXZmcHY0fSBiaWdlbmRpYW4iCkBAIC0xMzYsNiArMTU4LDggQEAKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0aGZiLXZmcHYzZDE2ICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGhmYn0gYXJtdjdhaGZiLXZmcHYzZDE2IGFybXY3YXQyaGZiLXZmcHYzZDE2IgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWhmYi12ZnB2MyAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FoZmItdmZwdjNkMTZ9IGFybXY3YWhmYi12ZnB2MyIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0aGZiLXZmcHYzICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGhmYi12ZnB2M2QxNn0gYXJtdjdhaGZiLXZmcHYzIGFybXY3YXQyaGZiLXZmcHYzIgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWhmYi12ZnB2NGQxNiAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FoZmJ9IGFybXY3YWhmYi12ZnB2NGQxNiIKK1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0aGZiLXZmcHY0ZDE2ICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGhmYn0gYXJtdjdhaGZiLXZmcHY0ZDE2IGFybXY3YXQyaGZiLXZmcHY0ZDE2IgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWhmYi1uZW9uICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FoZmJ9IGFybXY3YWhmYi1uZW9uIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRoZmItbmVvbiAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0aGZifSBhcm12N2FoZmItbmVvbiBhcm12N2F0MmhmYi1uZW9uIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWhmYi1uZW9uLXZmcHY0ICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FoZmItbmVvbn0gYXJtdjdhaGZiLW5lb24tdmZwdjQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjd2ZS5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjd2ZS5pbmMKaW5kZXggNGQ5MjYwZi4uZmMxNzJkMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY3dmUuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12N3ZlLmluYwpAQCAtOCwxMyArOCwxNSBAQAogcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12N2EuaW5jCiAKICMgTGl0dGxlIEVuZGlhbiBiYXNlIGNvbmZpZ3MKLUFWQUlMVFVORVMgKz0gImFybXY3dmUgYXJtdjd2ZXQgYXJtdjd2ZS12ZnB2M2QxNiBhcm12N3ZldC12ZnB2M2QxNiBhcm12N3ZlLXZmcHYzIGFybXY3dmV0LXZmcHYzIGFybXY3dmUtbmVvbiBhcm12N3ZldC1uZW9uIGFybXY3dmUtbmVvbi12ZnB2NCBhcm12N3ZldC1uZW9uLXZmcHY0IgorQVZBSUxUVU5FUyArPSAiYXJtdjd2ZSBhcm12N3ZldCBhcm12N3ZlLXZmcHYzZDE2IGFybXY3dmV0LXZmcHYzZDE2IGFybXY3dmUtdmZwdjMgYXJtdjd2ZXQtdmZwdjMgYXJtdjd2ZS12ZnB2NGQxNiBhcm12N3ZldC12ZnB2NGQxNiBhcm12N3ZlLW5lb24gYXJtdjd2ZXQtbmVvbiBhcm12N3ZlLW5lb24tdmZwdjQgYXJtdjd2ZXQtbmVvbi12ZnB2NCIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N3ZlICAgICAgICAgICAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmV0ICAgICAgICAgICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZS12ZnB2M2QxNiAgICA/PSAiYXJtdjd2ZSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N3ZldC12ZnB2M2QxNiAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmUtdmZwdjMgICAgICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZXQtdmZwdjMgICAgICA/PSAiYXJtdjd2ZSIKK0FSTVBLR0FSQ0hfdHVuZS1hcm12N3ZlLXZmcHY0ZDE2ICAgID89ICJhcm12N3ZlIgorQVJNUEtHQVJDSF90dW5lLWFybXY3dmV0LXZmcHY0ZDE2ICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZS1uZW9uICAgICAgICA/PSAiYXJtdjd2ZSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N3ZldC1uZW9uICAgICAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmUtbmVvbi12ZnB2NCAgPz0gImFybXY3dmUiCkBAIC0yNSw2ICsyNyw4IEBACiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXQtdmZwdjNkMTYgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldH0gdmZwdjNkMTYiCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZS12ZnB2MyAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlLXZmcHYzZDE2fSB2ZnB2MyIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldC12ZnB2MyAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0LXZmcHYzZDE2fSB2ZnB2MyIKK1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlLXZmcHY0ZDE2ICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV9IHZmcHY0ZDE2IgorVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0LXZmcHY0ZDE2ICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXR9IHZmcHY0ZDE2IgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmUtbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZX0gbmVvbiIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldC1uZW9uICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0fSBuZW9uIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmUtbmVvbi12ZnB2NCAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZS1uZW9ufSB2ZnB2NCIKQEAgLTM1LDE5ICszOSwyMyBAQAogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0LXZmcHYzZDE2ICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXR9IGFybXY3dmUtdmZwdjNkMTYgYXJtdjd2ZXQyLXZmcHYzZDE2IgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmUtdmZwdjMgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZS12ZnB2M2QxNn0gYXJtdjd2ZS12ZnB2MyIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldC12ZnB2MyAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0LXZmcHYzZDE2fSBhcm12N3ZlLXZmcHYzIGFybXY3dmV0Mi12ZnB2MyIKK1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlLXZmcHY0ZDE2ICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV9ICBhcm12N3ZlLXZmcHY0ZDE2IgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0LXZmcHY0ZDE2ICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXR9IGFybXY3dmUtdmZwdjRkMTYgYXJtdjd2ZXQyLXZmcHY0ZDE2IgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmUtbmVvbiAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZX0gYXJtdjd2ZS1uZW9uIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0LW5lb24gICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXR9IGFybXY3dmUtbmVvbiBhcm12N3ZldDItbmVvbiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlLW5lb24tdmZwdjQgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmUtbmVvbn0gYXJtdjd2ZS1uZW9uLXZmcHY0IgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0LW5lb24tdmZwdjQgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXQtbmVvbn0gYXJtdjd2ZS1uZW9uLXZmcHY0IGFybXY3dmV0Mi1uZW9uLXZmcHY0IgogCiAjIEhGIFR1bmVzCi1BVkFJTFRVTkVTICs9ICJhcm12N3ZlaGYgYXJtdjd2ZXRoZiBhcm12N3ZlaGYtdmZwdjNkMTYgYXJtdjd2ZXRoZi12ZnB2M2QxNiBhcm12N3ZlaGYtdmZwdjMgYXJtdjd2ZXRoZi12ZnB2MyBhcm12N3ZlaGYtbmVvbiBhcm12N3ZldGhmLW5lb24gYXJtdjd2ZWhmLW5lb24tdmZwdjQgYXJtdjd2ZXRoZi1uZW9uLXZmcHY0IgorQVZBSUxUVU5FUyArPSAiYXJtdjd2ZWhmIGFybXY3dmV0aGYgYXJtdjd2ZWhmLXZmcHYzZDE2IGFybXY3dmV0aGYtdmZwdjNkMTYgYXJtdjd2ZWhmLXZmcHYzIGFybXY3dmV0aGYtdmZwdjMgYXJtdjd2ZWhmLXZmcHY0ZDE2IGFybXY3dmV0aGYtdmZwdjRkMTYgYXJtdjd2ZWhmLW5lb24gYXJtdjd2ZXRoZi1uZW9uIGFybXY3dmVoZi1uZW9uLXZmcHY0IGFybXY3dmV0aGYtbmVvbi12ZnB2NCIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N3ZlaGYgICAgICAgICAgICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZXRoZiAgICAgICAgICAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmVoZi12ZnB2M2QxNiAgICA/PSAiYXJtdjd2ZSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N3ZldGhmLXZmcHYzZDE2ICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZWhmLXZmcHYzICAgICAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmV0aGYtdmZwdjMgICAgICA/PSAiYXJtdjd2ZSIKK0FSTVBLR0FSQ0hfdHVuZS1hcm12N3ZlaGYtdmZwdjRkMTYgICAgPz0gImFybXY3dmUiCitBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZXRoZi12ZnB2NGQxNiAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmVoZi1uZW9uICAgICAgICA/PSAiYXJtdjd2ZSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N3ZldGhmLW5lb24gICAgICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZWhmLW5lb24tdmZwdjQgID89ICJhcm12N3ZlIgpAQCAtNTgsNiArNjYsOCBAQAogVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0aGYtdmZwdjNkMTYgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldC12ZnB2M2QxNn0gY2FsbGNvbnZlbnRpb24taGFyZCIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlaGYtdmZwdjMgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZS12ZnB2M30gY2FsbGNvbnZlbnRpb24taGFyZCIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldGhmLXZmcHYzICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXQtdmZwdjN9IGNhbGxjb252ZW50aW9uLWhhcmQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWhmLXZmcHY0ZDE2ICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmUtdmZwdjRkMTZ9IGNhbGxjb252ZW50aW9uLWhhcmQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXRoZi12ZnB2NGQxNiAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0LXZmcHY0ZDE2fSBjYWxsY29udmVudGlvbi1oYXJkIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmVoZi1uZW9uICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlLW5lb259IGNhbGxjb252ZW50aW9uLWhhcmQiCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXRoZi1uZW9uICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0LW5lb259IGNhbGxjb252ZW50aW9uLWhhcmQiCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWhmLW5lb24tdmZwdjQgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmUtbmVvbi12ZnB2NH0gY2FsbGNvbnZlbnRpb24taGFyZCIKQEAgLTY4LDE5ICs3OCwyMyBAQAogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0aGYtdmZwdjNkMTYgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGhmfSBhcm12N3ZlaGYtdmZwdjNkMTYgYXJtdjd2ZXQyaGYtdmZwdjNkMTYiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWhmLXZmcHYzICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmVoZi12ZnB2M2QxNn0gYXJtdjd2ZWhmLXZmcHYzIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0aGYtdmZwdjMgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGhmLXZmcHYzZDE2fSBhcm12N3ZlaGYtdmZwdjMgYXJtdjd2ZXQyaGYtdmZwdjMiCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWhmLXZmcHY0ZDE2ICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmVoZn0gYXJtdjd2ZWhmLXZmcHY0ZDE2IgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0aGYtdmZwdjRkMTYgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGhmfSBhcm12N3ZlaGYtdmZwdjRkMTYgYXJtdjd2ZXQyaGYtdmZwdjRkMTYiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWhmLW5lb24gICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmVoZn0gYXJtdjd2ZWhmLW5lb24iCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXRoZi1uZW9uICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0aGZ9IGFybXY3dmVoZi1uZW9uIGFybXY3dmV0MmhmLW5lb24iCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWhmLW5lb24tdmZwdjQgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmVoZi1uZW9ufSBhcm12N3ZlaGYtbmVvbi12ZnB2NCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGhmLW5lb24tdmZwdjQgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXRoZi1uZW9ufSBhcm12N3ZlaGYtbmVvbi12ZnB2NCBhcm12N3ZldDJoZi1uZW9uLXZmcHY0IgogCiAjIEJpZyBFbmRpYW4KLUFWQUlMVFVORVMgKz0gImFybXY3dmViIGFybXY3dmV0YiBhcm12N3ZlYi12ZnB2M2QxNiBhcm12N3ZldGItdmZwdjNkMTYgYXJtdjd2ZWItdmZwdjMgYXJtdjd2ZXRiLXZmcHYzIGFybXY3dmViLW5lb24gYXJtdjd2ZXRiLW5lb24gYXJtdjd2ZWItbmVvbi12ZnB2NCBhcm12N3ZldGItbmVvbi12ZnB2NCIKK0FWQUlMVFVORVMgKz0gImFybXY3dmViIGFybXY3dmV0YiBhcm12N3ZlYi12ZnB2M2QxNiBhcm12N3ZldGItdmZwdjNkMTYgYXJtdjd2ZWItdmZwdjMgYXJtdjd2ZXRiLXZmcHYzIGFybXY3dmViLXZmcHY0ZDE2IGFybXY3dmV0Yi12ZnB2NGQxNiBhcm12N3ZlYi1uZW9uIGFybXY3dmV0Yi1uZW9uIGFybXY3dmViLW5lb24tdmZwdjQgYXJtdjd2ZXRiLW5lb24tdmZwdjQiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZWIgICAgICAgICAgICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZXRiICAgICAgICAgICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZWItdmZwdjNkMTYgICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZXRiLXZmcHYzZDE2ICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZWItdmZwdjMgICAgICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZXRiLXZmcHYzICAgICAgPz0gImFybXY3dmUiCitBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZWItdmZwdjRkMTYgICAgPz0gImFybXY3dmUiCitBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZXRiLXZmcHY0ZDE2ICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZWItbmVvbiAgICAgICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZXRiLW5lb24gICAgICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZWItbmVvbi12ZnB2NCAgPz0gImFybXY3dmUiCkBAIC05MSw2ICsxMDUsOCBAQAogVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0Yi12ZnB2M2QxNiAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0LXZmcHYzZDE2fSBiaWdlbmRpYW4iCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWItdmZwdjMgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZS12ZnB2M30gYmlnZW5kaWFuIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0Yi12ZnB2MyAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0LXZmcHYzfSBiaWdlbmRpYW4iCitUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWItdmZwdjRkMTYgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZS12ZnB2NGQxNn0gYmlnZW5kaWFuIgorVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0Yi12ZnB2NGQxNiAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0LXZmcHY0ZDE2fSBiaWdlbmRpYW4iCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWItbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZS1uZW9ufSBiaWdlbmRpYW4iCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXRiLW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXQtbmVvbn0gYmlnZW5kaWFuIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmViLW5lb24tdmZwdjQgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmUtbmVvbi12ZnB2NH0gYmlnZW5kaWFuIgpAQCAtMTAxLDE5ICsxMTcsMjMgQEAKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGItdmZwdjNkMTYgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGJ9IGFybXY3dmViLXZmcHYzZDE2IGFybXY3dmV0MmItdmZwdjNkMTYiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWItdmZwdjMgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWItdmZwdjNkMTZ9IGFybXY3dmViLXZmcHYzIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0Yi12ZnB2MyAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0Yi12ZnB2M2QxNn0gYXJtdjd2ZWItdmZwdjMgYXJtdjd2ZXQyYi12ZnB2MyIKK1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlYi12ZnB2NGQxNiAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlYn0gYXJtdjd2ZWItdmZwdjRkMTYiCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXRiLXZmcHY0ZDE2ICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXRifSBhcm12N3ZlYi12ZnB2NGQxNiBhcm12N3ZldDJiLXZmcHY0ZDE2IgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmViLW5lb24gICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmVifSBhcm12N3ZlYi1uZW9uIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0Yi1uZW9uICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0Yn0gYXJtdjd2ZWItbmVvbiBhcm12N3ZldDJiLW5lb24iCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWItbmVvbi12ZnB2NCAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWItbmVvbn0gYXJtdjd2ZWItbmVvbi12ZnB2NCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGItbmVvbi12ZnB2NCA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGItbmVvbn0gYXJtdjd2ZWItbmVvbi12ZnB2NCBhcm12N3ZldDJiLW5lb24tdmZwdjQiCiAKICMgQmlnIEVuZGlhbiArIEhGCi1BVkFJTFRVTkVTICs9ICJhcm12N3ZlaGZiIGFybXY3dmV0aGZiIGFybXY3dmVoZmItdmZwdjNkMTYgYXJtdjd2ZXRoZmItdmZwdjNkMTYgYXJtdjd2ZWhmYi12ZnB2MyBhcm12N3ZldGhmYi12ZnB2MyBhcm12N3ZlaGZiLW5lb24gYXJtdjd2ZXRoZmItbmVvbiBhcm12N3ZlaGZiLW5lb24tdmZwdjQgYXJtdjd2ZXRoZmItbmVvbi12ZnB2NCIKK0FWQUlMVFVORVMgKz0gImFybXY3dmVoZmIgYXJtdjd2ZXRoZmIgYXJtdjd2ZWhmYi12ZnB2M2QxNiBhcm12N3ZldGhmYi12ZnB2M2QxNiBhcm12N3ZlaGZiLXZmcHYzIGFybXY3dmV0aGZiLXZmcHYzIGFybXY3dmVoZmItdmZwdjRkMTYgYXJtdjd2ZXRoZmItdmZwdjRkMTYgYXJtdjd2ZWhmYi1uZW9uIGFybXY3dmV0aGZiLW5lb24gYXJtdjd2ZWhmYi1uZW9uLXZmcHY0IGFybXY3dmV0aGZiLW5lb24tdmZwdjQiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZWhmYiAgICAgICAgICAgICA/PSAiYXJtdjd2ZSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N3ZldGhmYiAgICAgICAgICAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmVoZmItdmZwdjNkMTYgICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZXRoZmItdmZwdjNkMTYgICA/PSAiYXJtdjd2ZSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N3ZlaGZiLXZmcHYzICAgICAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmV0aGZiLXZmcHYzICAgICAgPz0gImFybXY3dmUiCitBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZWhmYi12ZnB2NGQxNiAgICA/PSAiYXJtdjd2ZSIKK0FSTVBLR0FSQ0hfdHVuZS1hcm12N3ZldGhmYi12ZnB2NGQxNiAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmVoZmItbmVvbiAgICAgICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZXRoZmItbmVvbiAgICAgICA/PSAiYXJtdjd2ZSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N3ZlaGZiLW5lb24tdmZwdjQgID89ICJhcm12N3ZlIgpAQCAtMTI0LDYgKzE0NCw4IEBACiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXRoZmItdmZwdjNkMTYgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldGhmLXZmcHYzZDE2fSBiaWdlbmRpYW4iCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWhmYi12ZnB2MyAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlaGYtdmZwdjN9IGJpZ2VuZGlhbiIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldGhmYi12ZnB2MyAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0aGYtdmZwdjN9IGJpZ2VuZGlhbiIKK1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlaGZiLXZmcHY0ZDE2ICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmVoZi12ZnB2NGQxNn0gYmlnZW5kaWFuIgorVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0aGZiLXZmcHY0ZDE2ICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXRoZi12ZnB2NGQxNn0gYmlnZW5kaWFuIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmVoZmItbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWhmLW5lb259IGJpZ2VuZGlhbiIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldGhmYi1uZW9uICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0aGYtbmVvbn0gYmlnZW5kaWFuIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmVoZmItbmVvbi12ZnB2NCAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWhmLW5lb24tdmZwdjR9IGJpZ2VuZGlhbiIKQEAgLTEzNCw2ICsxNTYsOCBAQAogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0aGZiLXZmcHYzZDE2ICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXRoZmJ9IGFybXY3dmVoZmItdmZwdjNkMTYgYXJtdjd2ZXQyaGZiLXZmcHYzZDE2IgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmVoZmItdmZwdjMgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWhmYi12ZnB2M2QxNn0gYXJtdjd2ZWhmYi12ZnB2MyIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGhmYi12ZnB2MyAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0aGZiLXZmcHYzZDE2fSBhcm12N3ZlaGZiLXZmcHYzIGFybXY3dmV0MmhmYi12ZnB2MyIKK1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlaGZiLXZmcHY0ZDE2ICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmVoZmJ9IGFybXY3dmVoZmItdmZwdjRkMTYiCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXRoZmItdmZwdjRkMTYgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGhmYn0gYXJtdjd2ZWhmYi12ZnB2NGQxNiBhcm12N3ZldDJoZmItdmZwdjRkMTYiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWhmYi1uZW9uICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlaGZifSBhcm12N3ZlaGZiLW5lb24iCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXRoZmItbmVvbiAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGhmYn0gYXJtdjd2ZWhmYi1uZW9uIGFybXY3dmV0MmhmYi1uZW9uIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmVoZmItbmVvbi12ZnB2NCAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWhmYi1uZW9ufSBhcm12N3ZlaGZiLW5lb24tdmZwdjQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjguaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY4LmluYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWU4MzJmYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjguaW5jCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm02NC5pbmMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12OGEuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY4YS5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjgxMGExZQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12OGEuaW5jCkBAIC0wLDAgKzEsMzAgQEAKK0RFRkFVTFRUVU5FID89ICJhcm12OGEtY3JjIgorCitUVU5FVkFMSURbYXJtdjhhXSA9ICJFbmFibGUgaW5zdHJ1Y3Rpb25zIGZvciBBUk12OC1hIgorVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2FybXY4YScsICcgLW1hcmNoPWFybXY4LWEnLCAnJywgZCl9IgorVFVORVZBTElEW2NyY10gPSAiRW5hYmxlIGluc3RydWN0aW9ucyBmb3IgQVJNdjgtYSBDeWNsaWMgUmVkdW5kYW5jeSBDaGVjayAoQ1JDKSIKK1RVTkVfQ0NBUkdTIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdjcmMnLCAnK2NyYycsICcnLCBkKX0iCitUVU5FVkFMSURbY3J5cHRvXSA9ICJFbmFibGUgaW5zdHJ1Y3Rpb25zIGZvciBBUk12OC1hIGNyeXB0b2dyYXBoaWMiCitUVU5FX0NDQVJHUyAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnY3J5cHRvJywgJytjcnlwdG8nLCAnJywgZCl9IgorTUFDSElORU9WRVJSSURFUyA9LiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnYXJtdjhhJywgJ2FybXY4YTonLCAnJyAsZCl9IgorCityZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybTY0LmluYworCisjIExpdHRsZSBFbmRpYW4gYmFzZSBjb25maWdzCitBVkFJTFRVTkVTICs9ICJhcm12OGEgYXJtdjhhLWNyYyBhcm12OGEtY3JjLWNyeXB0byBhcm12OGEtY3J5cHRvIgorQVJNUEtHQVJDSF90dW5lLWFybXY4YSAgICAgICAgICAgICAgICAgICAgPz0gImFybXY4YSIKK0FSTVBLR0FSQ0hfdHVuZS1hcm12OGEtY3JjICAgICAgICAgICAgICAgID89ICJhcm12OGEiCitBUk1QS0dBUkNIX3R1bmUtYXJtdjhhLWNyeXB0byAgICAgICAgICAgICA/PSAiYXJtdjhhIgorQVJNUEtHQVJDSF90dW5lLWFybXY4YS1jcmMtY3J5cHRvICAgICAgICAgPz0gImFybXY4YSIKK1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12OGEgICAgICAgICAgICAgICAgICA9ICJhYXJjaDY0IGFybXY4YSIKK1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12OGEtY3JjICAgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12OGF9IGNyYyIKK1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12OGEtY3J5cHRvICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12OGF9IGNyeXB0byIKK1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12OGEtY3JjLWNyeXB0byAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12OGEtY3JjfSBjcnlwdG8iCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjhhICAgICAgICAgICAgPSAiYWFyY2g2NCBhcm12OGEiCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjhhLWNyYyAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjhhfSBhcm12OGEtY3JjIgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY4YS1jcnlwdG8gICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY4YX0gYXJtdjhhLWNyeXB0byIKK1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12OGEtY3JjLWNyeXB0byA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12OGEtY3JjfSBhcm12OGEtY3J5cHRvIGFybXY4YS1jcmMtY3J5cHRvIgorQkFTRV9MSUJfdHVuZS1hcm12OGEgICAgICAgICAgICAgICAgICAgICAgID0gImxpYjY0IgorQkFTRV9MSUJfdHVuZS1hcm12OGEtY3JjICAgICAgICAgICAgICAgICAgID0gImxpYjY0IgorQkFTRV9MSUJfdHVuZS1hcm12OGEtY3J5cHRvICAgICAgICAgICAgICAgID0gImxpYjY0IgorQkFTRV9MSUJfdHVuZS1hcm12OGEtY3JjLWNyeXB0byAgICAgICAgICAgID0gImxpYjY0IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9mZWF0dXJlLWFybS1uZW9uLmluYyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vZmVhdHVyZS1hcm0tbmVvbi5pbmMKaW5kZXggYjM0YWY4ZS4uZWFkZGQwNSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9mZWF0dXJlLWFybS1uZW9uLmluYworKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2ZlYXR1cmUtYXJtLW5lb24uaW5jCkBAIC0xNiwzICsxNiw2IEBACiBUVU5FVkFMSURbdmZwdjRdID0gIkVuYWJsZSBWZWN0b3IgRmxvYXRpbmcgUG9pbnQgVmVyc2lvbiA0ICh2ZnB2NCkgdW5pdC4iCiBUVU5FX0NDQVJHU19NRlBVIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICd2ZnB2NCcsICcgdmZwdjQnLCAnJywgZCl9IgogVFVORV9DQ0FSR1NfTUZQVSAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCBbICd2ZnB2NCcsICduZW9uJyBdLCAnIG5lb24tdmZwdjQnLCAnJywgZCl9IgorCitUVU5FVkFMSURbdmZwdjRkMTZdID0gIkVuYWJsZSBWZWN0b3IgRmxvYXRpbmcgUG9pbnQgVmVyc2lvbiA0IHdpdGggMTYgcmVnaXN0ZXJzICh2ZnB2NC1kMTYpIHVuaXQuIgorVFVORV9DQ0FSR1NfTUZQVSAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAndmZwdjRkMTYnLCAnIHZmcHY0LWQxNicsICcnLCBkKX0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2ZlYXR1cmUtYXJtLXZmcC5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2ZlYXR1cmUtYXJtLXZmcC5pbmMKaW5kZXggN2FlNzQ1Ni4uNjc4ODg4ZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9mZWF0dXJlLWFybS12ZnAuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vZmVhdHVyZS1hcm0tdmZwLmluYwpAQCAtNiw3ICs2LDggQEAKIFRVTkVfQ0NBUkdTX01GUFUgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ3ZmcCcsICcgdmZwJywgJycsIGQpfSIKIAogVFVORV9DQ0FSR1MgIC49ICIke0AgKCcgLW1mcHU9JXMnICUgZC5nZXRWYXIoJ1RVTkVfQ0NBUkdTX01GUFUnKS5zcGxpdCgpWy0xXSkgaWYgKGQuZ2V0VmFyKCdUVU5FX0NDQVJHU19NRlBVJykgIT0gJycpIGVsc2UgJyd9IgotQVJNUEtHU0ZYX0ZQVSA9ICIke0AgKCctJXMnICAgICAgICUgZC5nZXRWYXIoJ1RVTkVfQ0NBUkdTX01GUFUnKS5zcGxpdCgpWy0xXS5yZXBsYWNlKCd2ZnB2My1kMTYnLCAndmZwdjNkMTYnKSkgaWYgKGQuZ2V0VmFyKCdUVU5FX0NDQVJHU19NRlBVJykgIT0gJycpIGVsc2UgJyd9IgorIyBUaGUgZm9sbG93aW5nIGRlYWxzIHdpdGggYm90aCB2ZnB2My1kMTYgYW5kIHZmcHY0LWQxNgorQVJNUEtHU0ZYX0ZQVSA9ICIke0AgKCctJXMnICAgICAgICUgZC5nZXRWYXIoJ1RVTkVfQ0NBUkdTX01GUFUnKS5zcGxpdCgpWy0xXS5yZXBsYWNlKCctZDE2JywgJ2QxNicpKSBpZiAoZC5nZXRWYXIoJ1RVTkVfQ0NBUkdTX01GUFUnKSAhPSAnJykgZWxzZSAnJ30iCiAKIFRVTkVWQUxJRFtjYWxsY29udmVudGlvbi1oYXJkXSA9ICJFbmFibGUgRUFCSSBoYXJkIGZsb2F0IGNhbGwgY29udmVudGlvbiwgcmVxdWlyZXMgVkZQLiIKIFRVTkVfQ0NBUkdTX01GTE9BVCA9ICIke0AgYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnY2FsbGNvbnZlbnRpb24taGFyZCcsICdoYXJkJywgJ3NvZnRmcCcsIGQpIGlmIChkLmdldFZhcignVFVORV9DQ0FSR1NfTUZQVScpICE9ICcnKSBlbHNlICcnIH0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcG93ZXJwYy9hcmNoLXBvd2VycGM2NC5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcG93ZXJwYy9hcmNoLXBvd2VycGM2NC5pbmMKaW5kZXggZjc1MWM2Yi4uZDk5MTZkNCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3Bvd2VycGMvYXJjaC1wb3dlcnBjNjQuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9wb3dlcnBjL2FyY2gtcG93ZXJwYzY0LmluYwpAQCAtNyw2ICs3LDkgQEAKIFRVTkVfQ0NBUkdTIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdtNjQnLCAnIC1tNjQnLCAnJywgZCl9IgogVFVORV9BUkNIIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsIFsgJ202NCcgXSwgJ3Bvd2VycGM2NCcsICcnLCBkKX0iCiAKKyMgbXVzbCBvbmx5IHN1cHBvcnRzIGVsZnYyIEFCSSBmb3IgcHBjNjQKK1RVTkVfQ0NBUkdTIC49ICIke0BbJycsICcgLW1hYmk9ZWxmdjInXVsnbGliYy1tdXNsJyBpbiBkLmdldFZhcignT1ZFUlJJREVTJykuc3BsaXQoJzonKV19IgorCiAjIHVzZXIgbW9kZSBxZW11IGRvZXNuJ3Qgc3VwcG9ydCBwcGM2NAogTUFDSElORV9GRUFUVVJFU19CQUNLRklMTF9DT05TSURFUkVEX2FwcGVuZCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnbTY0JywgJ3FlbXUtdXNlcm1vZGUnLCAnJywgZCl9IgogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdWJvb3QtbWlwcy5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdWJvb3QtbWlwcy5pbmMKaW5kZXggN2Q5ZmE1Mi4uNzViYjk4OCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXVib290LW1pcHMuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC1taXBzLmluYwpAQCAtMyw2ICszLDcgQEAKIFFCX01FTSA9ICItbSAyNTYiCiBRQl9NQUNISU5FID0gIi1tYWNoaW5lIG1hbHRhIgogUUJfS0VSTkVMX0NNRExJTkVfQVBQRU5EID0gImNvbnNvbGU9dHR5UzAgY29uc29sZT10dHkiCitRQl9PUFRfQVBQRU5EID0gIi12Z2EgY2lycnVzIC1zaG93LWN1cnNvciAtdXNiIC1kZXZpY2UgdXNiLXRhYmxldCIKICMgQWRkIHRoZSAndmlydGlvLXJuZy1wY2knIGRldmljZSBvdGhlcndpc2UgdGhlIGd1ZXN0IG1heSBydW4gb3V0IG9mIGVudHJvcHkKLVFCX09QVF9BUFBFTkQgPSAiLXZnYSBjaXJydXMgLXNob3ctY3Vyc29yIC11c2IgLWRldmljZSB1c2ItdGFibGV0IC1kZXZpY2UgdmlydGlvLXJuZy1wY2kiCitRQl9PUFRfQVBQRU5EICs9ICItb2JqZWN0IHJuZy1yYW5kb20sZmlsZW5hbWU9L2Rldi91cmFuZG9tLGlkPXJuZzAgLWRldmljZSB2aXJ0aW8tcm5nLXBjaSxybmc9cm5nMCIKIFFCX1NZU1RFTV9OQU1FID0gInFlbXUtc3lzdGVtLSR7VFVORV9BUkNIfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14ODYuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXVib290LXg4Ni5pbmMKaW5kZXggMTQ1NmJmNy4uNWZkYmU0ZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXVib290LXg4Ni5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXVib290LXg4Ni5pbmMKQEAgLTExLDcgKzExLDggQEAKIFFCX0FVRElPX0RSViA9ICJhbHNhIgogUUJfQVVESU9fT1BUID0gIi1zb3VuZGh3IGFjOTcsZXMxMzcwIgogUUJfS0VSTkVMX0NNRExJTkVfQVBQRU5EID0gInZnYT0wIHV2ZXNhZmIubW9kZV9vcHRpb249JHtVVkVTQV9NT0RFfSBvcHJvZmlsZS50aW1lcj0xIHV2ZXNhZmIudGFza190aW1lb3V0PS0xIgorUUJfT1BUX0FQUEVORCA9ICItdmdhIHZtd2FyZSAtc2hvdy1jdXJzb3IgLXVzYiAtZGV2aWNlIHVzYi10YWJsZXQiCiAjIEFkZCB0aGUgJ3ZpcnRpby1ybmctcGNpJyBkZXZpY2Ugb3RoZXJ3aXNlIHRoZSBndWVzdCBtYXkgcnVuIG91dCBvZiBlbnRyb3B5Ci1RQl9PUFRfQVBQRU5EID0gIi12Z2Egdm13YXJlIC1zaG93LWN1cnNvciAtdXNiIC1kZXZpY2UgdXNiLXRhYmxldCAtZGV2aWNlIHZpcnRpby1ybmctcGNpIgorUUJfT1BUX0FQUEVORCArPSAiLW9iamVjdCBybmctcmFuZG9tLGZpbGVuYW1lPS9kZXYvdXJhbmRvbSxpZD1ybmcwIC1kZXZpY2UgdmlydGlvLXJuZy1wY2kscm5nPXJuZzAiCiAKIFVWRVNBX01PREUgPz0gIjY0MHg0ODAtMzIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1hcm0xMTM2amYtcy5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1hcm0xMTM2amYtcy5pbmMKaW5kZXggYzVkZTYzZS4uZDg4M2ViYSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtYXJtMTEzNmpmLXMuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWFybTExMzZqZi1zLmluYwpAQCAtNCw4ICs0LDEwIEBACiAKIFRVTkVWQUxJRFthcm0xMTM2amZzXSA9ICJFbmFibGUgYXJtMTEzNmpmcyBzcGVjaWZpYyBwcm9jZXNzb3Igb3B0aW1pemF0aW9ucyIKIFRVTkVfQ0NBUkdTIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdhcm0xMTM2amZzJywgJyAtbWNwdT1hcm0xMTM2amYtcycsICcnLCBkKX0iCitNQUNISU5FT1ZFUlJJREVTID0uICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdhcm0xMTM2amZzJywgJ2FybXY2OicsICcnICxkKX0iCiAKIEFWQUlMVFVORVMgKz0gImFybTExMzZqZnMiCiBBUk1QS0dBUkNIX3R1bmUtYXJtMTEzNmpmcyA9ICJhcm0xMTM2amZzIgotVFVORV9GRUFUVVJFU190dW5lLWFybTExMzZqZnMgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjZ9IGFybTExMzZqZnMiCisjIG1jcHUgaXMgdXNlZCBzbyBkb24ndCB1c2UgYXJtdjYgYXMgd2UgZG9uJ3Qgd2FudCBtYXJjaAorVFVORV9GRUFUVVJFU190dW5lLWFybTExMzZqZnMgPSAiYXJtIGFybTExMzZqZnMiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtMTEzNmpmcyA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12Nn0gYXJtMTEzNmpmcy12ZnAiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1hcm05MjB0LmluYyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWFybTkyMHQuaW5jCmluZGV4IGM2ZTc0YjYuLjQyZThlZDIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWFybTkyMHQuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWFybTkyMHQuaW5jCkBAIC00LDggKzQsMTAgQEAKIAogVFVORVZBTElEW2FybTkyMHRdID0gIkVuYWJsZSBhcm05MjB0IHNwZWNpZmljIHByb2Nlc3NvciBvcHRpbWl6YXRpb25zIgogVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2FybTkyMHQnLCAnIC1tY3B1PWFybTkyMHQnLCAnJywgZCl9IgorTUFDSElORU9WRVJSSURFUyA9LiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnYXJtOTIwdCcsICdhcm12NDonLCAnJyAsZCl9IgogCiBBVkFJTFRVTkVTICs9ICJhcm05MjB0IgogQVJNUEtHQVJDSF90dW5lLWFybTkyMHQgPSAiYXJtOTIwdCIKLVRVTkVfRkVBVFVSRVNfdHVuZS1hcm05MjB0ID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY0dH0gYXJtOTIwdCIKKyMgbWNwdSBpcyB1c2VkIHNvIGRvbid0IHVzZSBhcm12NHQgYXMgd2UgZG9uJ3Qgd2FudCBtYXJjaAorVFVORV9GRUFUVVJFU190dW5lLWFybTkyMHQgPSAiYXJtIHRodW1iIGFybTkyMHQiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtOTIwdCA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12NHR9IGFybTkyMHQgYXJtOTIwdHQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1hcm05MjZlanMuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtYXJtOTI2ZWpzLmluYwppbmRleCA4MWJjZGEzLi41NjNkNTNiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1hcm05MjZlanMuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWFybTkyNmVqcy5pbmMKQEAgLTQsOCArNCwxMCBAQAogCiBUVU5FVkFMSURbYXJtOTI2ZWpzXSA9ICJFbmFibGUgYXJtOTI2ZWpzIHNwZWNpZmljIHByb2Nlc3NvciBvcHRpbWl6YXRpb25zIgogVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2FybTkyNmVqcycsICcgLW1jcHU9YXJtOTI2ZWotcycsICcnLCBkKX0iCitNQUNISU5FT1ZFUlJJREVTID0uICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdhcm05MjZlanMnLCAnYXJtdjU6JywgJycgLGQpfSIKIAogQVZBSUxUVU5FUyArPSAiYXJtOTI2ZWpzIgogQVJNUEtHQVJDSF90dW5lLWFybTkyNmVqcyA9ICJhcm05MjZlanMiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtYXJtOTI2ZWpzID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY1dGV9IGFybTkyNmVqcyIKKyMgbWNwdSBpcyB1c2VkIHNvIGRvbid0IHVzZSBhcm12NXRlIGFzIHdlIGRvbid0IHdhbnQgbWFyY2gKK1RVTkVfRkVBVFVSRVNfdHVuZS1hcm05MjZlanMgPSAiYXJtIHRodW1iIGRzcCBhcm05MjZlanMiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtOTI2ZWpzID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY1dGV9IGFybTkyNmVqc3RlIGFybTkyNmVqc2UiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1hcm05dGRtaS5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1hcm05dGRtaS5pbmMKaW5kZXggZTljMmI4Zi4uZTAzYThiOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtYXJtOXRkbWkuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWFybTl0ZG1pLmluYwpAQCAtNCw4ICs0LDEwIEBACiAKIFRVTkVWQUxJRFthcm05dGRtaV0gPSAiRW5hYmxlIGFybTl0ZG1pIHNwZWNpZmljIHByb2Nlc3NvciBvcHRpbWl6YXRpb25zIgogVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2FybTl0ZG1pJywgJyAtbWNwdT1hcm05dGRtaScsICcnLCBkKX0iCitNQUNISU5FT1ZFUlJJREVTID0uICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdhcm05dGRtaScsICdhcm12NDonLCAnJyAsZCl9IgogCiBBVkFJTFRVTkVTICs9ICJhcm05dGRtaSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm05dGRtaSA9ICJhcm05dGRtaSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1hcm05dGRtaSA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12NHR9IGFybTl0ZG1pIgorIyBtY3B1IGlzIHVzZWQgc28gZG9uJ3QgdXNlIGFybXY0dCBhcyB3ZSBkb24ndCB3YW50IG1hcmNoCitUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtOXRkbWkgPSAiYXJtIHRodW1iIGFybTl0ZG1pIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybTl0ZG1pID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY0dH0gYXJtOXRkbWl0IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTE1LmluYyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGExNS5pbmMKaW5kZXggMjVlOTlmOS4uZDUzNDAzYSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTE1LmluYworKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhMTUuaW5jCkBAIC00LDYgKzQsNyBAQAogCiBUVU5FVkFMSURbY29ydGV4YTE1XSA9ICJFbmFibGUgQ29ydGV4LUExNSBzcGVjaWZpYyBwcm9jZXNzb3Igb3B0aW1pemF0aW9ucyIKIFRVTkVfQ0NBUkdTIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdjb3J0ZXhhMTUnLCAnIC1tY3B1PWNvcnRleC1hMTUnLCAnJywgZCl9IgorTUFDSElORU9WRVJSSURFUyA9LiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnY29ydGV4YTE1JywgJ2FybXY3dmU6JywgJycgLGQpfSIKIAogIyBMaXR0bGUgRW5kaWFuIGJhc2UgY29uZmlncwogQVZBSUxUVU5FUyArPSAiY29ydGV4YTE1IGNvcnRleGExNXQgY29ydGV4YTE1LW5lb24gY29ydGV4YTE1dC1uZW9uIGNvcnRleGExNS1uZW9uLXZmcHY0IGNvcnRleGExNXQtbmVvbi12ZnB2NCIKQEAgLTEzLDEyICsxNCwxMyBAQAogQVJNUEtHQVJDSF90dW5lLWNvcnRleGExNXQtbmVvbiAgICAgICA9ICJjb3J0ZXhhMTUiCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTE1LW5lb24tdmZwdjQgID0gImNvcnRleGExNSIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhMTV0LW5lb24tdmZwdjQgPSAiY29ydGV4YTE1IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNSAgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlfSBjb3J0ZXhhMTUiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1dCAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0fSBjb3J0ZXhhMTUiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1LW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmUtbmVvbn0gY29ydGV4YTE1IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNXQtbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldC1uZW9ufSBjb3J0ZXhhMTUiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1LW5lb24tdmZwdjQgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmUtbmVvbi12ZnB2NH0gY29ydGV4YTE1IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNXQtbmVvbi12ZnB2NCA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldC1uZW9uLXZmcHY0fSBjb3J0ZXhhMTUiCisjIG1jcHUgaXMgdXNlZCBzbyBkb24ndCB1c2UgYXJtdjd2ZSBhcyB3ZSBkb24ndCB3YW50IG1hcmNoCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1ICAgICAgICAgICAgID0gImFybSB2ZnAgY29ydGV4YTE1IgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNXQgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTV9IHRodW1iIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNS1uZW9uICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTV9IG5lb24iCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1dC1uZW9uICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNS1uZW9ufSB0aHVtYiIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTUtbmVvbi12ZnB2NCAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1LW5lb259IHZmcHY0IgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNXQtbmVvbi12ZnB2NCA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTUtbmVvbi12ZnB2NH0gdGh1bWIiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTE1ICAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV9IGNvcnRleGExNS12ZnAiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTE1dCAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0fSBjb3J0ZXhhMTUtdmZwIGNvcnRleGExNXQyLXZmcCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhMTUtbmVvbiAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZS1uZW9ufSBjb3J0ZXhhMTUtdmZwIGNvcnRleGExNS1uZW9uIgpAQCAtMzQsMTIgKzM2LDEzIEBACiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTE1dGhmLW5lb24gICAgICAgPSAiY29ydGV4YTE1IgogQVJNUEtHQVJDSF90dW5lLWNvcnRleGExNWhmLW5lb24tdmZwdjQgID0gImNvcnRleGExNSIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhMTV0aGYtbmVvbi12ZnB2NCA9ICJjb3J0ZXhhMTUiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1aGYgICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWhmfSBjb3J0ZXhhMTUiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1dGhmICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXRoZn0gY29ydGV4YTE1IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNWhmLW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmVoZi1uZW9ufSBjb3J0ZXhhMTUiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1dGhmLW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXRoZi1uZW9ufSBjb3J0ZXhhMTUiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1aGYtbmVvbi12ZnB2NCAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWhmLW5lb24tdmZwdjR9IGNvcnRleGExNSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTV0aGYtbmVvbi12ZnB2NCA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldGhmLW5lb24tdmZwdjR9IGNvcnRleGExNSIKKyMgbWNwdSBpcyB1c2VkIHNvIGRvbid0IHVzZSBhcm12N3ZlIGFzIHdlIGRvbid0IHdhbnQgbWFyY2gKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTVoZiAgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTV9IGNhbGxjb252ZW50aW9uLWhhcmQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1dGhmICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1dH0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTVoZi1uZW9uICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTUtbmVvbn0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTV0aGYtbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTV0LW5lb259IGNhbGxjb252ZW50aW9uLWhhcmQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1aGYtbmVvbi12ZnB2NCAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1LW5lb24tdmZwdjR9IGNhbGxjb252ZW50aW9uLWhhcmQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1dGhmLW5lb24tdmZwdjQgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1dC1uZW9uLXZmcHY0fSBjYWxsY29udmVudGlvbi1oYXJkIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGExNWhmICAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmVoZn0gY29ydGV4YTE1aGYtdmZwIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGExNXRoZiAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0aGZ9IGNvcnRleGExNWhmLXZmcCBjb3J0ZXhhMTV0MmhmLXZmcCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhMTVoZi1uZW9uICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlaGYtbmVvbn0gY29ydGV4YTE1aGYtdmZwIGNvcnRleGExNWhmLW5lb24iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhMTcuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTE3LmluYwppbmRleCA0MDM5MmY5Li4zZmZjMDJiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhMTcuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGExNy5pbmMKQEAgLTQsNiArNCw3IEBACiAKIFRVTkVWQUxJRFtjb3J0ZXhhMTddID0gIkVuYWJsZSBDb3J0ZXgtQTE3IHNwZWNpZmljIHByb2Nlc3NvciBvcHRpbWl6YXRpb25zIgogVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2NvcnRleGExNycsICcgLW1jcHU9Y29ydGV4LWExNycsICcnLCBkKX0iCitNQUNISU5FT1ZFUlJJREVTID0uICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdjb3J0ZXhhMTcnLCAnYXJtdjd2ZTonLCAnJyAsZCl9IgogCiAjIExpdHRsZSBFbmRpYW4gYmFzZSBjb25maWdzCiBBVkFJTFRVTkVTICs9ICJjb3J0ZXhhMTcgY29ydGV4YTE3dCBjb3J0ZXhhMTctbmVvbiBjb3J0ZXhhMTd0LW5lb24gY29ydGV4YTE3LW5lb24tdmZwdjQgY29ydGV4YTE3dC1uZW9uLXZmcHY0IgpAQCAtMTMsMTIgKzE0LDEzIEBACiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTE3dC1uZW9uICAgICAgID0gImNvcnRleGExNyIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhMTctbmVvbi12ZnB2NCAgPSAiY29ydGV4YTE3IgogQVJNUEtHQVJDSF90dW5lLWNvcnRleGExN3QtbmVvbi12ZnB2NCA9ICJjb3J0ZXhhMTciCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3ICAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV9IGNvcnRleGExNyIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTd0ICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXR9IGNvcnRleGExNyIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTctbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZS1uZW9ufSBjb3J0ZXhhMTciCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3dC1uZW9uICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0LW5lb259IGNvcnRleGExNyIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTctbmVvbi12ZnB2NCAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZS1uZW9uLXZmcHY0fSBjb3J0ZXhhMTciCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3dC1uZW9uLXZmcHY0ID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0LW5lb24tdmZwdjR9IGNvcnRleGExNyIKKyMgbWNwdSBpcyB1c2VkIHNvIGRvbid0IHVzZSBhcm12N3ZlIGFzIHdlIGRvbid0IHdhbnQgbWFyY2gKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTcgICAgICAgICAgICAgPSAiYXJtIHZmcCBjb3J0ZXhhMTciCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3dCAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExN30gdGh1bWIiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3LW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExN30gbmVvbiIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTd0LW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3LW5lb259IHRodW1iIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNy1uZW9uLXZmcHY0ICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTctbmVvbn0gdmZwdjQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3dC1uZW9uLXZmcHY0ID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNy1uZW9uLXZmcHY0fSB0aHVtYiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhMTcgICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZX0gY29ydGV4YTE3LXZmcCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhMTd0ICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXR9IGNvcnRleGExNy12ZnAgY29ydGV4YTE3dDItdmZwIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGExNy1uZW9uICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlLW5lb259IGNvcnRleGExNy12ZnAgY29ydGV4YTE3LW5lb24iCkBAIC0zNCwxMiArMzYsMTMgQEAKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhMTd0aGYtbmVvbiAgICAgICA9ICJjb3J0ZXhhMTciCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTE3aGYtbmVvbi12ZnB2NCAgPSAiY29ydGV4YTE3IgogQVJNUEtHQVJDSF90dW5lLWNvcnRleGExN3RoZi1uZW9uLXZmcHY0ID0gImNvcnRleGExNyIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTdoZiAgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlaGZ9IGNvcnRleGExNyIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTd0aGYgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldGhmfSBjb3J0ZXhhMTciCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3aGYtbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWhmLW5lb259IGNvcnRleGExNyIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTd0aGYtbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldGhmLW5lb259IGNvcnRleGExNyIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTdoZi1uZW9uLXZmcHY0ICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlaGYtbmVvbi12ZnB2NH0gY29ydGV4YTE3IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExN3RoZi1uZW9uLXZmcHY0ID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0aGYtbmVvbi12ZnB2NH0gY29ydGV4YTE3IgorIyBtY3B1IGlzIHVzZWQgc28gZG9uJ3QgdXNlIGFybXY3dmUgYXMgd2UgZG9uJ3Qgd2FudCBtYXJjaAorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExN2hmICAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExN30gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTd0aGYgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTd0fSBjYWxsY29udmVudGlvbi1oYXJkIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExN2hmLW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNy1uZW9ufSBjYWxsY29udmVudGlvbi1oYXJkIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExN3RoZi1uZW9uICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExN3QtbmVvbn0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTdoZi1uZW9uLXZmcHY0ICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTctbmVvbi12ZnB2NH0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTd0aGYtbmVvbi12ZnB2NCA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTd0LW5lb24tdmZwdjR9IGNhbGxjb252ZW50aW9uLWhhcmQiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTE3aGYgICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWhmfSBjb3J0ZXhhMTdoZi12ZnAiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTE3dGhmICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXRoZn0gY29ydGV4YTE3aGYtdmZwIGNvcnRleGExN3QyaGYtdmZwIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGExN2hmLW5lb24gICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmVoZi1uZW9ufSBjb3J0ZXhhMTdoZi12ZnAgY29ydGV4YTE3aGYtbmVvbiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGEzMi5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhMzIuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljOTQ4ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhMzIuaW5jCkBAIC0wLDAgKzEsMTggQEAKK0RFRkFVTFRUVU5FID89ICJjb3J0ZXhhMzIiCisKKworVFVORVZBTElEW2NvcnRleGEzMl0gPSAiRW5hYmxlIENvcnRleC1BMzIgc3BlY2lmaWMgcHJvY2Vzc29yIG9wdGltaXphdGlvbnMiCitUVU5FX0NDQVJHUyAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnY29ydGV4YTMyJywgJyAtbWNwdT1jb3J0ZXgtYTMyJywgJycsIGQpfSIKKworcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12OGEuaW5jCisKKyMgTGl0dGxlIEVuZGlhbiBiYXNlIGNvbmZpZ3MKK0FWQUlMVFVORVMgKz0gImNvcnRleGEzMiBjb3J0ZXhhMzItY3J5cHRvIgorQVJNUEtHQVJDSF90dW5lLWNvcnRleGEzMiAgICAgICAgICAgICA9ICJjb3J0ZXhhMzIiCitBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTMyLWNyeXB0byAgICAgID0gImNvcnRleGEzMiIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMzIgICAgICAgICAgPSAiYWFyY2g2NCBjb3J0ZXhhMzIgY3JjIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGEzMi1jcnlwdG8gICA9ICJhYXJjaDY0IGNvcnRleGEzMiBjcmMgY3J5cHRvIgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGEzMiAgICAgICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12OGEtY3JjfSBjb3J0ZXhhMzIiCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTMyLWNyeXB0byAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY4YS1jcmMtY3J5cHRvfSBjb3J0ZXhhMzIgY29ydGV4YTMyLWNyeXB0byIKK0JBU0VfTElCX3R1bmUtY29ydGV4YTMyICAgICAgICAgICAgICAgPSAibGliNjQiCitCQVNFX0xJQl90dW5lLWNvcnRleGEzMi1jcnlwdG8gICAgICAgID0gImxpYjY0IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTM1LmluYyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGEzNS5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDZkZjZjZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGEzNS5pbmMKQEAgLTAsMCArMSwxNyBAQAorREVGQVVMVFRVTkUgPz0gImNvcnRleGEzNSIKKworVFVORVZBTElEW2NvcnRleGEzNV0gPSAiRW5hYmxlIENvcnRleC1BMzUgc3BlY2lmaWMgcHJvY2Vzc29yIG9wdGltaXphdGlvbnMiCitUVU5FX0NDQVJHUyAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnY29ydGV4YTM1JywgJyAtbWNwdT1jb3J0ZXgtYTM1JywgJycsIGQpfSIKKworcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12OGEuaW5jCisKKyMgTGl0dGxlIEVuZGlhbiBiYXNlIGNvbmZpZ3MKK0FWQUlMVFVORVMgKz0gImNvcnRleGEzNSBjb3J0ZXhhMzUtY3J5cHRvIgorQVJNUEtHQVJDSF90dW5lLWNvcnRleGEzNSAgICAgICAgICAgICA9ICJjb3J0ZXhhMzUiCitBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTM1LWNyeXB0byAgICAgID0gImNvcnRleGEzNSIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMzUgICAgICAgICAgPSAiYWFyY2g2NCBjb3J0ZXhhMzUgY3JjIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGEzNS1jcnlwdG8gICA9ICJhYXJjaDY0IGNvcnRleGEzNSBjcmMgY3J5cHRvIgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGEzNSAgICAgICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12OGEtY3JjfSBjb3J0ZXhhMzUiCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTM1LWNyeXB0byAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY4YS1jcmMtY3J5cHRvfSBjb3J0ZXhhMzUgY29ydGV4YTM1LWNyeXB0byIKK0JBU0VfTElCX3R1bmUtY29ydGV4YTM1ICAgICAgICAgICAgICAgPSAibGliNjQiCitCQVNFX0xJQl90dW5lLWNvcnRleGEzNS1jcnlwdG8gICAgICAgID0gImxpYjY0IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTUuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTUuaW5jCmluZGV4IDFmMGNkYTYuLjQ5NjczOWUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGE1LmluYworKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhNS5pbmMKQEAgLTQsMzMgKzQsNDggQEAKIAogVFVORVZBTElEW2NvcnRleGE1XSA9ICJFbmFibGUgQ29ydGV4LUE1IHNwZWNpZmljIHByb2Nlc3NvciBvcHRpbWl6YXRpb25zIgogVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2NvcnRleGE1JywgJyAtbWNwdT1jb3J0ZXgtYTUnLCAnJywgZCl9IgorTUFDSElORU9WRVJSSURFUyA9LiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnY29ydGV4YTUnLCAnYXJtdjdhOicsICcnICxkKX0iCiAKICMgTGl0dGxlIEVuZGlhbiBiYXNlIGNvbmZpZ3MKLUFWQUlMVFVORVMgKz0gImNvcnRleGE1IGNvcnRleGE1dCBjb3J0ZXhhNS1uZW9uIGNvcnRleGE1dC1uZW9uIgorQVZBSUxUVU5FUyArPSAiY29ydGV4YTUgY29ydGV4YTV0IGNvcnRleGE1LW5lb24gY29ydGV4YTV0LW5lb24gY29ydGV4YTUtbmVvbi12ZnB2NCBjb3J0ZXhhNXQtbmVvbi12ZnB2NCIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhNSAgICAgICAgICAgICA9ICJjb3J0ZXhhNSIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhNXQgICAgICAgICAgICA9ICJjb3J0ZXhhNSIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhNS1uZW9uICAgICAgICA9ICJjb3J0ZXhhNSIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhNXQtbmVvbiAgICAgICA9ICJjb3J0ZXhhNSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNSAgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F9IGNvcnRleGE1IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1dCAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXR9IGNvcnRleGE1IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1LW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YS1uZW9ufSBjb3J0ZXhhNSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNXQtbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0LW5lb259IGNvcnRleGE1IgorQVJNUEtHQVJDSF90dW5lLWNvcnRleGE1LW5lb24tdmZwdjQgID0gImNvcnRleGE1IgorQVJNUEtHQVJDSF90dW5lLWNvcnRleGE1dC1uZW9uLXZmcHY0ID0gImNvcnRleGE1IgorIyBtY3B1IGlzIHVzZWQgc28gZG9uJ3QgdXNlIGFybXY3YSBhcyB3ZSBkb24ndCB3YW50IG1hcmNoCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTUgICAgICAgICAgICAgPSAiYXJtIHZmcCBjb3J0ZXhhNSIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNXQgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNX0gdGh1bWIiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTUtbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTV9IG5lb24iCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTV0LW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTUtbmVvbn0gdGh1bWIiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTUtbmVvbi12ZnB2NCAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTUtbmVvbn0gdmZwdjQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTV0LW5lb24tdmZwdjQgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTUtbmVvbi12ZnB2NH0gdGh1bWIiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTUgICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhfSBjb3J0ZXhhNS12ZnAiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTV0ICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdH0gY29ydGV4YTUtdmZwIGNvcnRleGE1dDItdmZwIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE1LW5lb24gICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YS1uZW9ufSBjb3J0ZXhhNS12ZnAgY29ydGV4YTUtbmVvbiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhNXQtbmVvbiAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0LW5lb259IGNvcnRleGE1LXZmcCBjb3J0ZXhhNS1uZW9uIGNvcnRleGE1dDItdmZwIGNvcnRleGE1dDItbmVvbiIKK1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhNS1uZW9uLXZmcHY0ICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2EtbmVvbi12ZnB2NH0gY29ydGV4YTUtdmZwIGNvcnRleGE1LW5lb24gY29ydGV4YTUtbmVvbi12ZnB2NCIKK1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhNXQtbmVvbi12ZnB2NCA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0LW5lb24tdmZwdjR9IGNvcnRleGE1LXZmcCBjb3J0ZXhhNS1uZW9uIGNvcnRleGE1LW5lb24tdmZwdjQgY29ydGV4YTV0Mi12ZnAgY29ydGV4YTV0Mi1uZW9uIGNvcnRleGE1dDItbmVvbi12ZnB2NCIKIAogIyBIRiBUdW5lcwotQVZBSUxUVU5FUyArPSAiY29ydGV4YTVoZiBjb3J0ZXhhNXRoZiBjb3J0ZXhhNWhmLW5lb24gY29ydGV4YTV0aGYtbmVvbiIKK0FWQUlMVFVORVMgKz0gImNvcnRleGE1aGYgY29ydGV4YTV0aGYgY29ydGV4YTVoZi1uZW9uIGNvcnRleGE1dGhmLW5lb24gY29ydGV4YTVoZi1uZW9uLXZmcHY0IGNvcnRleGE1dGhmLW5lb24tdmZwdjQiCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTVoZiAgICAgICAgICAgICA9ICJjb3J0ZXhhNSIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhNXRoZiAgICAgICAgICAgID0gImNvcnRleGE1IgogQVJNUEtHQVJDSF90dW5lLWNvcnRleGE1aGYtbmVvbiAgICAgICAgPSAiY29ydGV4YTUiCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTV0aGYtbmVvbiAgICAgICA9ICJjb3J0ZXhhNSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNWhmICAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YWhmfSBjb3J0ZXhhNSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNXRoZiAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXRoZn0gY29ydGV4YTUiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTVoZi1uZW9uICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2FoZi1uZW9ufSBjb3J0ZXhhNSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNXRoZi1uZW9uICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXRoZi1uZW9ufSBjb3J0ZXhhNSIKK0FSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhNWhmLW5lb24tdmZwdjQgID0gImNvcnRleGE1IgorQVJNUEtHQVJDSF90dW5lLWNvcnRleGE1dGhmLW5lb24tdmZwdjQgPSAiY29ydGV4YTUiCisjIG1jcHUgaXMgdXNlZCBzbyBkb24ndCB1c2UgYXJtdjdhIGFzIHdlIGRvbid0IHdhbnQgbWFyY2gKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNWhmICAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1fSBjYWxsY29udmVudGlvbi1oYXJkIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1dGhmICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTV0fSBjYWxsY29udmVudGlvbi1oYXJkIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1aGYtbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTUtbmVvbn0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNXRoZi1uZW9uICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1dC1uZW9ufSBjYWxsY29udmVudGlvbi1oYXJkIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1aGYtbmVvbi12ZnB2NCAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTUtbmVvbi12ZnB2NH0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNXRoZi1uZW9uLXZmcHY0ID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1dC1uZW9uLXZmcHY0fSBjYWxsY29udmVudGlvbi1oYXJkIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE1aGYgICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhaGZ9IGNvcnRleGE1aGYtdmZwIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE1dGhmICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGhmfSBjb3J0ZXhhNWhmLXZmcCBjb3J0ZXhhNXQyaGYtdmZwIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE1aGYtbmVvbiAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhaGYtbmVvbn0gY29ydGV4YTVoZi12ZnAgY29ydGV4YTVoZi1uZW9uIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE1dGhmLW5lb24gICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGhmLW5lb259IGNvcnRleGE1aGYtdmZwIGNvcnRleGE1aGYtbmVvbiBjb3J0ZXhhNXQyaGYtdmZwIGNvcnRleGE1dDJoZi1uZW9uIgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE1aGYtbmVvbi12ZnB2NCAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhaGYtbmVvbi12ZnB2NH0gY29ydGV4YTVoZi12ZnAgY29ydGV4YTVoZi1uZW9uIGNvcnRleGE1aGYtbmVvbi12ZnB2NCIKK1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhNXRoZi1uZW9uLXZmcHY0ID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRoZi1uZW9uLXZmcHY0fSBjb3J0ZXhhNWhmLXZmcCBjb3J0ZXhhNWhmLW5lb24gY29ydGV4YTVoZi1uZW9uLXZmcHY0IGNvcnRleGE1dDJoZi12ZnAgY29ydGV4YTV0MmhmLW5lb24gY29ydGV4YTV0MmhmLW5lb24tdmZwdjQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhNTMuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTUzLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YzBiNDQzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTUzLmluYwpAQCAtMCwwICsxLDE3IEBACitERUZBVUxUVFVORSA/PSAiY29ydGV4YTUzIgorCitUVU5FVkFMSURbY29ydGV4YTUzXSA9ICJFbmFibGUgQ29ydGV4LUE1MyBzcGVjaWZpYyBwcm9jZXNzb3Igb3B0aW1pemF0aW9ucyIKK1RVTkVfQ0NBUkdTIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdjb3J0ZXhhNTMnLCAnIC1tY3B1PWNvcnRleC1hNTMnLCAnJywgZCl9IgorCityZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY4YS5pbmMKKworIyBMaXR0bGUgRW5kaWFuIGJhc2UgY29uZmlncworQVZBSUxUVU5FUyArPSAiY29ydGV4YTUzIGNvcnRleGE1My1jcnlwdG8iCitBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTUzICAgICAgICAgICAgID0gImNvcnRleGE1MyIKK0FSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhNTMtY3J5cHRvICAgICAgPSAiY29ydGV4YTUzIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1MyAgICAgICAgICA9ICJhYXJjaDY0IGNvcnRleGE1MyBjcmMiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTUzLWNyeXB0byAgID0gImFhcmNoNjQgY29ydGV4YTUzIGNyYyBjcnlwdG8iCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTUzICAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY4YS1jcmN9IGNvcnRleGE1MyIKK1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhNTMtY3J5cHRvICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjhhLWNyYy1jcnlwdG99IGNvcnRleGE1MyBjb3J0ZXhhNTMtY3J5cHRvIgorQkFTRV9MSUJfdHVuZS1jb3J0ZXhhNTMgICAgICAgICAgICAgICA9ICJsaWI2NCIKK0JBU0VfTElCX3R1bmUtY29ydGV4YTUzLWNyeXB0byAgICAgICAgPSAibGliNjQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhNy5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhNy5pbmMKaW5kZXggNTI0MTVkOS4uMzRhNzdiNCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTcuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGE3LmluYwpAQCAtNCw2ICs0LDcgQEAKIAogVFVORVZBTElEW2NvcnRleGE3XSA9ICJFbmFibGUgQ29ydGV4LUE3IHNwZWNpZmljIHByb2Nlc3NvciBvcHRpbWl6YXRpb25zIgogVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2NvcnRleGE3JywgJyAtbWNwdT1jb3J0ZXgtYTcnLCAnJywgZCl9IgorTUFDSElORU9WRVJSSURFUyA9LiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnY29ydGV4YTcnLCAnYXJtdjd2ZTonLCAnJyAsZCl9IgogCiAjIExpdHRsZSBFbmRpYW4gYmFzZSBjb25maWdzCiBBVkFJTFRVTkVTICs9ICJjb3J0ZXhhNyBjb3J0ZXhhN3QgY29ydGV4YTctbmVvbiBjb3J0ZXhhN3QtbmVvbiBjb3J0ZXhhNy1uZW9uLXZmcHY0IGNvcnRleGE3dC1uZW9uLXZmcHY0IgpAQCAtMTMsMTIgKzE0LDEzIEBACiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTd0LW5lb24gICAgICAgPSAiY29ydGV4YTciCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTctbmVvbi12ZnB2NCAgPSAiY29ydGV4YTciCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTd0LW5lb24tdmZwdjQgPSAiY29ydGV4YTciCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTcgICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZX0gY29ydGV4YTciCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTd0ICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXR9IGNvcnRleGE3IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3LW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmUtbmVvbn0gY29ydGV4YTciCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTd0LW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXQtbmVvbn0gY29ydGV4YTciCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTctbmVvbi12ZnB2NCAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZS1uZW9uLXZmcHY0fSBjb3J0ZXhhNyIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhN3QtbmVvbi12ZnB2NCA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldC1uZW9uLXZmcHY0fSBjb3J0ZXhhNyIKKyMgbWNwdSBpcyB1c2VkIHNvIGRvbid0IHVzZSBhcm12N3ZlIGFzIHdlIGRvbid0IHdhbnQgbWFyY2gKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNyAgICAgICAgICAgICA9ICJhcm0gdmZwIGNvcnRleGE3IgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3dCAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3fSB0aHVtYiIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNy1uZW9uICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhN30gbmVvbiIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhN3QtbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNy1uZW9ufSB0aHVtYiIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNy1uZW9uLXZmcHY0ICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNy1uZW9ufSB2ZnB2NCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhN3QtbmVvbi12ZnB2NCA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNy1uZW9uLXZmcHY0fSB0aHVtYiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhNyAgICAgICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlfSBjb3J0ZXhhNy12ZnAiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTd0ICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXR9IGNvcnRleGE3LXZmcCBjb3J0ZXhhN3QyLXZmcCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhNy1uZW9uICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlLW5lb259IGNvcnRleGE3LXZmcCBjb3J0ZXhhNy1uZW9uIgpAQCAtMzQsMTIgKzM2LDEzIEBACiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTd0aGYtbmVvbiAgICAgICA9ICJjb3J0ZXhhNyIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhN2hmLW5lb24tdmZwdjQgID0gImNvcnRleGE3IgogQVJNUEtHQVJDSF90dW5lLWNvcnRleGE3dGhmLW5lb24tdmZwdjQgPSAiY29ydGV4YTciCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTdoZiAgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlaGZ9IGNvcnRleGE3IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3dGhmICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXRoZn0gY29ydGV4YTciCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTdoZi1uZW9uICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlaGYtbmVvbn0gY29ydGV4YTciCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTd0aGYtbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldGhmLW5lb259IGNvcnRleGE3IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3aGYtbmVvbi12ZnB2NCAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWhmLW5lb24tdmZwdjR9IGNvcnRleGE3IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3dGhmLW5lb24tdmZwdjQgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXRoZi1uZW9uLXZmcHY0fSBjb3J0ZXhhNyIKKyMgbWNwdSBpcyB1c2VkIHNvIGRvbid0IHVzZSBhcm12N3ZlIGFzIHdlIGRvbid0IHdhbnQgbWFyY2gKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhN2hmICAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3fSBjYWxsY29udmVudGlvbi1oYXJkIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3dGhmICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTd0fSBjYWxsY29udmVudGlvbi1oYXJkIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3aGYtbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTctbmVvbn0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhN3RoZi1uZW9uICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3dC1uZW9ufSBjYWxsY29udmVudGlvbi1oYXJkIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3aGYtbmVvbi12ZnB2NCAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTctbmVvbi12ZnB2NH0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhN3RoZi1uZW9uLXZmcHY0ID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3dC1uZW9uLXZmcHY0fSBjYWxsY29udmVudGlvbi1oYXJkIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE3aGYgICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWhmfSBjb3J0ZXhhN2hmLXZmcCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhN3RoZiAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0aGZ9IGNvcnRleGE3aGYtdmZwIGNvcnRleGE3dDJoZi12ZnAiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTdoZi1uZW9uICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlaGYtbmVvbn0gY29ydGV4YTdoZi12ZnAgY29ydGV4YTdoZi1uZW9uIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTcyLmluYyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGE3Mi5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDBmNzc0NQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGE3Mi5pbmMKQEAgLTAsMCArMSwxMyBAQAorREVGQVVMVFRVTkUgPz0gImNvcnRleGE3MiIKKworVFVORVZBTElEW2NvcnRleGE3Ml0gPSAiRW5hYmxlIENvcnRleC1BNzIgc3BlY2lmaWMgcHJvY2Vzc29yIG9wdGltaXphdGlvbnMiCitUVU5FX0NDQVJHUyAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnY29ydGV4YTcyJywgJyAtbWNwdT1jb3J0ZXgtYTcyJywgJycsIGQpfSIKKworcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12OGEuaW5jCisKKyMgTGl0dGxlIEVuZGlhbiBiYXNlIGNvbmZpZ3MKK0FWQUlMVFVORVMgKz0gImNvcnRleGE3MiIKK0FSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhNzIgICAgICAgICAgICAgPSAiY29ydGV4YTcyIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3MiAgICAgICAgICA9ICJhYXJjaDY0IGNvcnRleGE3MiBjcmMgY3J5cHRvIgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE3MiAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12OGEtY3JjLWNyeXB0b30gY29ydGV4YTcyIgorQkFTRV9MSUJfdHVuZS1jb3J0ZXhhNzIgICAgICAgICAgICAgICA9ICJsaWI2NCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGE4LmluYyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGE4LmluYwppbmRleCA4ZWU4ZGU5Li42NTUxYmE0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhOC5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTguaW5jCkBAIC00LDYgKzQsNyBAQAogCiBUVU5FVkFMSURbY29ydGV4YThdID0gIkVuYWJsZSBDb3J0ZXgtQTggc3BlY2lmaWMgcHJvY2Vzc29yIG9wdGltaXphdGlvbnMiCiBUVU5FX0NDQVJHUyAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnY29ydGV4YTgnLCAnIC1tY3B1PWNvcnRleC1hOCcsICcnLCBkKX0iCitNQUNISU5FT1ZFUlJJREVTID0uICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdjb3J0ZXhhOCcsICdhcm12N2E6JywgJycgLGQpfSIKIAogIyBMaXR0bGUgRW5kaWFuIGJhc2UgY29uZmlncwogQVZBSUxUVU5FUyArPSAiY29ydGV4YTggY29ydGV4YTh0IGNvcnRleGE4LW5lb24gY29ydGV4YTh0LW5lb24iCkBAIC0xMSwxMCArMTIsMTEgQEAKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhOHQgICAgICAgICAgICA9ICJjb3J0ZXhhOCIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhOC1uZW9uICAgICAgICA9ICJjb3J0ZXhhOCIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhOHQtbmVvbiAgICAgICA9ICJjb3J0ZXhhOCIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOCAgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F9IGNvcnRleGE4IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE4dCAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXR9IGNvcnRleGE4IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE4LW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YS1uZW9ufSBjb3J0ZXhhOCIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOHQtbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0LW5lb259IGNvcnRleGE4IgorIyBtY3B1IGlzIHVzZWQgc28gZG9uJ3QgdXNlIGFybXY3YSBhcyB3ZSBkb24ndCB3YW50IG1hcmNoCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTggICAgICAgICAgICAgPSAiYXJtIHZmcCBjb3J0ZXhhOCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOHQgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOH0gdGh1bWIiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTgtbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTh9IG5lb24iCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTh0LW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTgtbmVvbn0gdGh1bWIiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTggICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhfSBjb3J0ZXhhOC12ZnAiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTh0ICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdH0gY29ydGV4YTgtdmZwIGNvcnRleGE4dDItdmZwIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE4LW5lb24gICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YS1uZW9ufSBjb3J0ZXhhOC12ZnAgY29ydGV4YTgtbmVvbiIKQEAgLTI2LDEwICsyOCwxMSBAQAogQVJNUEtHQVJDSF90dW5lLWNvcnRleGE4dGhmICAgICAgICAgICAgPSAiY29ydGV4YTgiCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YThoZi1uZW9uICAgICAgICA9ICJjb3J0ZXhhOCIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhOHRoZi1uZW9uICAgICAgID0gImNvcnRleGE4IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE4aGYgICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhaGZ9IGNvcnRleGE4IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE4dGhmICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdGhmfSBjb3J0ZXhhOCIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOGhmLW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YWhmLW5lb259IGNvcnRleGE4IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE4dGhmLW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdGhmLW5lb259IGNvcnRleGE4IgorIyBtY3B1IGlzIHVzZWQgc28gZG9uJ3QgdXNlIGFybXY3YSBhcyB3ZSBkb24ndCB3YW50IG1hcmNoCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YThoZiAgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOH0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOHRoZiAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE4dH0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOGhmLW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE4LW5lb259IGNhbGxjb252ZW50aW9uLWhhcmQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTh0aGYtbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOHQtbmVvbn0gY2FsbGNvbnZlbnRpb24taGFyZCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhOGhmICAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWhmfSBjb3J0ZXhhOGhmLXZmcCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhOHRoZiAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRoZn0gY29ydGV4YThoZi12ZnAgY29ydGV4YTh0MmhmLXZmcCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhOGhmLW5lb24gICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWhmLW5lb259IGNvcnRleGE4aGYtdmZwIGNvcnRleGE4aGYtbmVvbiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGE5LmluYyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGE5LmluYwppbmRleCAwY2YzMjNjLi5lY2M3OTA4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhOS5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTkuaW5jCkBAIC00LDYgKzQsNyBAQAogCiBUVU5FVkFMSURbY29ydGV4YTldID0gIkVuYWJsZSBDb3J0ZXgtQTkgc3BlY2lmaWMgcHJvY2Vzc29yIG9wdGltaXphdGlvbnMiCiBUVU5FX0NDQVJHUyAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnY29ydGV4YTknLCAnIC1tY3B1PWNvcnRleC1hOScsICcnLCBkKX0iCitNQUNISU5FT1ZFUlJJREVTID0uICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdjb3J0ZXhhOScsICdhcm12N2E6JywgJycgLGQpfSIKIAogIyBMaXR0bGUgRW5kaWFuIGJhc2UgY29uZmlncwogQVZBSUxUVU5FUyArPSAiY29ydGV4YTkgY29ydGV4YTl0IGNvcnRleGE5LW5lb24gY29ydGV4YTl0LW5lb24iCkBAIC0xMSwxMCArMTIsMTEgQEAKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhOXQgICAgICAgICAgICA9ICJjb3J0ZXhhOSIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhOS1uZW9uICAgICAgICA9ICJjb3J0ZXhhOSIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhOXQtbmVvbiAgICAgICA9ICJjb3J0ZXhhOSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOSAgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F9IGNvcnRleGE5IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5dCAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXR9IGNvcnRleGE5IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5LW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YS1uZW9ufSBjb3J0ZXhhOSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOXQtbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0LW5lb259IGNvcnRleGE5IgorIyBtY3B1IGlzIHVzZWQgc28gZG9uJ3QgdXNlIGFybXY3YSBhcyB3ZSBkb24ndCB3YW50IG1hcmNoCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTkgICAgICAgICAgICAgPSAiYXJtIHZmcCBjb3J0ZXhhOSIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOXQgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOX0gdGh1bWIiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTktbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTl9IG5lb24iCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTl0LW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTktbmVvbn0gdGh1bWIiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTkgICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhfSBjb3J0ZXhhOS12ZnAiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTl0ICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdH0gY29ydGV4YTktdmZwIGNvcnRleGE5dDItdmZwIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE5LW5lb24gICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YS1uZW9ufSBjb3J0ZXhhOS12ZnAgY29ydGV4YTktbmVvbiIKQEAgLTI2LDEwICsyOCwxMSBAQAogQVJNUEtHQVJDSF90dW5lLWNvcnRleGE5dGhmICAgICAgICAgICAgPSAiY29ydGV4YTkiCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTloZi1uZW9uICAgICAgICA9ICJjb3J0ZXhhOSIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhOXRoZi1uZW9uICAgICAgID0gImNvcnRleGE5IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5aGYgICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhaGZ9IGNvcnRleGE5IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5dGhmICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdGhmfSBjb3J0ZXhhOSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOWhmLW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YWhmLW5lb259IGNvcnRleGE5IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5dGhmLW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdGhmLW5lb259IGNvcnRleGE5IgorIyBtY3B1IGlzIHVzZWQgc28gZG9uJ3QgdXNlIGFybXY3YSBhcyB3ZSBkb24ndCB3YW50IG1hcmNoCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTloZiAgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOX0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOXRoZiAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5dH0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOWhmLW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5LW5lb259IGNhbGxjb252ZW50aW9uLWhhcmQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTl0aGYtbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOXQtbmVvbn0gY2FsbGNvbnZlbnRpb24taGFyZCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhOWhmICAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWhmfSBjb3J0ZXhhOWhmLXZmcCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhOXRoZiAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRoZn0gY29ydGV4YTloZi12ZnAgY29ydGV4YTl0MmhmLXZmcCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhOWhmLW5lb24gICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWhmLW5lb259IGNvcnRleGE5aGYtdmZwIGNvcnRleGE5aGYtbmVvbiIKQEAgLTQxLDEwICs0NCwxMSBAQAogQVJNUEtHQVJDSF90dW5lLWNvcnRleGE5dC12ZnB2MyAgICAgICAgID0gImNvcnRleGE5IgogQVJNUEtHQVJDSF90dW5lLWNvcnRleGE5aGYtdmZwdjMgICAgICAgID0gImNvcnRleGE5IgogQVJNUEtHQVJDSF90dW5lLWNvcnRleGE5dGhmLXZmcHYzICAgICAgID0gImNvcnRleGE5IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5LXZmcHYzICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2EtdmZwdjN9IGNvcnRleGE5IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5dC12ZnB2MyAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0LXZmcHYzfSBjb3J0ZXhhOSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOWhmLXZmcHYzICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhaGYtdmZwdjN9IGNvcnRleGE5IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5dGhmLXZmcHYzICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0aGYtdmZwdjN9IGNvcnRleGE5IgorIyBtY3B1IGlzIHVzZWQgc28gZG9uJ3QgdXNlIGFybXY3YSBhcyB3ZSBkb24ndCB3YW50IG1hcmNoCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTktdmZwdjMgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5fSB2ZnB2MyIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOXQtdmZwdjMgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTl0fSB2ZnB2MyIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOWhmLXZmcHYzICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTloZn0gdmZwdjMiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTl0aGYtdmZwdjMgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5dGhmfSB2ZnB2MyIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhOS12ZnB2MyAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhLXZmcHYzfSBjb3J0ZXhhOS12ZnAgY29ydGV4YTktdmZwdjMiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTl0LXZmcHYzICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXQtdmZwdjN9IGNvcnRleGE5LXZmcCBjb3J0ZXhhOS12ZnB2MyBjb3J0ZXhhOXQyLXZmcCBjb3J0ZXhhOXQyLXZmcHYzIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE5aGYtdmZwdjMgICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FoZi12ZnB2M30gY29ydGV4YTloZi12ZnAgY29ydGV4YTloZi12ZnB2MyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWVwOTMxMi5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1lcDkzMTIuaW5jCmluZGV4IDg0Y2E1MjguLjRkOTI4MjEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWVwOTMxMi5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtZXA5MzEyLmluYwpAQCAtNCw2ICs0LDcgQEAKIAogVFVORVZBTElEW2VwOTMxMl0gPSAiRW5hYmxlIEludGVsIFBYQTI3eCBzcGVjaWZpYyBwcm9jZXNzb3Igb3B0aW1pemF0aW9ucyIKIFRVTkVfQ0NBUkdTIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdlcDkzMTInLCAnIC1tYXJjaD1lcDkzMTIgLW1jcHU9ZXA5MzEyJywgJycsIGQpfSIKK01BQ0hJTkVPVkVSUklERVMgPS4gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2VwOTMxMicsICdhcm12NDonLCAnJyAsZCl9IgogCiBBVkFJTFRVTkVTICs9ICJlcDkzMTIiCiBBUk1QS0dBUkNIX3R1bmUtZXA5MzEyID0gImVwOTMxMiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWl3bW14dC5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1pd21teHQuaW5jCmluZGV4IGYyNzQyM2MuLjlhNmNkMjMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWl3bW14dC5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtaXdtbXh0LmluYwpAQCAtNiw3ICs2LDggQEAKIHJlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjUtZHNwLmluYwogCiBUVU5FVkFMSURbaXdtbXh0XSA9ICJFbmFibGUgSW50ZWwgUFhBMjd4IHNwZWNpZmljIHByb2Nlc3NvciBvcHRpbWl6YXRpb25zIgotVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2l3bW14dCcsICcgLW1hcmNoPWl3bW14dCAtbWNwdT1pd21teHQnLCAnJywgZCl9IgorVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2l3bW14dCcsICcgLW1jcHU9aXdtbXh0JywgJycsIGQpfSIKK01BQ0hJTkVPVkVSUklERVMgPS4gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2l3bW14dCcsICdhcm12NTonLCAnJyAsZCl9IgogCiBBVkFJTFRVTkVTICs9ICJpd21teHQiCiBBUk1QS0dBUkNIX3R1bmUtaXdtbXh0ID0gIml3bW14dCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXBvd2VyNS5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1wb3dlcjUuaW5jCmluZGV4IGEzNDZjMzAuLjM5NTAxYmQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXBvd2VyNS5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtcG93ZXI1LmluYwpAQCAtMSw0ICsxLDQgQEAKLURFRkFVTFRUVU5FID89ICJwcGM2NHA1IgorREVGQVVMVFRVTkUgPz0gInBwY3A1IgogCiByZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL3Bvd2VycGMvYXJjaC1wb3dlcnBjNjQuaW5jCiAKQEAgLTE5LDMgKzE5LDYgQEAKICMgZ2xpYmMgY29uZmlndXJlIG9wdGlvbnMgdG8gZ2V0IHBvd2VyNSBzcGVjaWZpYyBsaWJyYXJ5CiBHTElCQ19FWFRSQV9PRUNPTkZfcG93ZXJwYzY0ICs9ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdwb3dlcjUnLCAnLS13aXRoLWNwdT1wb3dlcjUnLCAnJywgZCl9IgogR0xJQkNfRVhUUkFfT0VDT05GX3Bvd2VycGMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ3Bvd2VyNScsICctLXdpdGgtY3B1PXBvd2VyNScsICcnLCBkKX0iCisKKyMgUUVNVSB1c2VybW9kZSBmYWlscyB3aXRoIGludmFsaWQgaW5zdHJ1Y3Rpb24gZXJyb3IKK01BQ0hJTkVfRkVBVFVSRVNfQkFDS0ZJTExfQ09OU0lERVJFRF9hcHBlbmQgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAncG93ZXI1JywgJyBxZW11LXVzZXJtb2RlJywgJycsIGQpfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXBvd2VyNi5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1wb3dlcjYuaW5jCmluZGV4IGVlMjAwZjkuLjFkNWU4ZWMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXBvd2VyNi5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtcG93ZXI2LmluYwpAQCAtMSw0ICsxLDQgQEAKLURFRkFVTFRUVU5FID89ICJwcGNwcjYiCitERUZBVUxUVFVORSA/PSAicHBjcDYiCiAKIHJlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvcG93ZXJwYy9hcmNoLXBvd2VycGM2NC5pbmMKIApAQCAtMTksMyArMTksNiBAQAogIyBnbGliYyBjb25maWd1cmUgb3B0aW9ucyB0byBnZXQgcG93ZXI2IHNwZWNpZmljIGxpYnJhcnkKIEdMSUJDX0VYVFJBX09FQ09ORl9wb3dlcnBjNjQgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ3Bvd2VyNicsICctLXdpdGgtY3B1PXBvd2VyNicsICcnLCBkKX0iCiBHTElCQ19FWFRSQV9PRUNPTkZfcG93ZXJwYyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAncG93ZXI2JywgJy0td2l0aC1jcHU9cG93ZXI2JywgJycsIGQpfSIKKworIyBRRU1VIHVzZXJtb2RlIGZhaWxzIHdpdGggaW52YWxpZCBpbnN0cnVjdGlvbiBlcnJvcgorTUFDSElORV9GRUFUVVJFU19CQUNLRklMTF9DT05TSURFUkVEX2FwcGVuZCA9ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdwb3dlcjYnLCAnIHFlbXUtdXNlcm1vZGUnLCAnJywgZCl9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtcG93ZXI3LmluYyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXBvd2VyNy5pbmMKaW5kZXggM2EyNzcxOS4uOGYzZjAzNyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtcG93ZXI3LmluYworKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1wb3dlcjcuaW5jCkBAIC0xLDQgKzEsNCBAQAotREVGQVVMVFRVTkUgPz0gInBwY3ByNyIKK0RFRkFVTFRUVU5FID89ICJwcGNwNyIKIAogcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9wb3dlcnBjL2FyY2gtcG93ZXJwYzY0LmluYwogCkBAIC0xOSwzICsxOSw2IEBACiAjIGdsaWJjIGNvbmZpZ3VyZSBvcHRpb25zIHRvIGdldCBwb3dlcjcgc3BlY2lmaWMgbGlicmFyeQogR0xJQkNfRVhUUkFfT0VDT05GX3Bvd2VycGM2NCArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAncG93ZXI3JywgJy0td2l0aC1jcHU9cG93ZXI3JywgJycsIGQpfSIKIEdMSUJDX0VYVFJBX09FQ09ORl9wb3dlcnBjICs9ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdwb3dlcjcnLCAnLS13aXRoLWNwdT1wb3dlcjcnLCAnJywgZCl9IgorCisjIFFFTVUgdXNlcm1vZGUgZmFpbHMgd2l0aCBpbnZhbGlkIGluc3RydWN0aW9uIGVycm9yCitNQUNISU5FX0ZFQVRVUkVTX0JBQ0tGSUxMX0NPTlNJREVSRURfYXBwZW5kID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ3Bvd2VyNycsICcgcWVtdS11c2VybW9kZScsICcnLCBkKX0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1wcGNlNTAwdjIuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtcHBjZTUwMHYyLmluYwppbmRleCAzYTAwNmUyLi5kMzE4YmJhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1wcGNlNTAwdjIuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXBwY2U1MDB2Mi5pbmMKQEAgLTE1LDYgKzE1LDYgQEAKIEFCSUVYVEVOU0lPTiAuPSAiJHtTUEVBQklFWFRFTlNJT059IgogCiBBVkFJTFRVTkVTICs9ICJwcGNlNTAwdjIiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtcHBjZTUwMHYyID0gIm0zMiBzcGUgcHBjZTUwMHYyIgorVFVORV9GRUFUVVJFU190dW5lLXBwY2U1MDB2MiA9ICJtMzIgcHBjZTUwMHYyIgogVFVORV9QS0dBUkNIX3R1bmUtcHBjZTUwMHYyID0gInBwY2U1MDB2MiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1wcGNlNTAwdjIgPSAicHBjZTUwMHYyIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtc3Ryb25nYXJtMTEwMC5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1zdHJvbmdhcm0xMTAwLmluYwppbmRleCA4MGNmYjhhLi5lOTc4ZTkyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1zdHJvbmdhcm0xMTAwLmluYworKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1zdHJvbmdhcm0xMTAwLmluYwpAQCAtNCw4ICs0LDkgQEAKIAogVFVORVZBTElEW3N0cm9uZ2FybV0gPSAiRW5hYmxlIFN0cm9uZ2FybSAxMTAwIHNlcmllcyBwcm9jZXNzb3Igb3B0aW1pemF0aW9ucyIKIFRVTkVfQ0NBUkdTIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdzdHJvbmdhcm0nLCAnIC1tY3B1PXN0cm9uZ2FybTExMDAnLCAnJywgZCl9IgorTUFDSElORU9WRVJSSURFUyA9LiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnc3Ryb25nYXJtJywgJ2FybXY0OicsICcnICxkKX0iCiAKIEFWQUlMVFVORVMgKz0gInN0cm9uZ2FybSIKIEFSTVBLR0FSQ0hfdHVuZS1zdHJvbmdhcm0gPSAic3Ryb25nYXJtIgotVFVORV9GRUFUVVJFU190dW5lLXN0cm9uZ2FybSA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12NH0gc3Ryb25nYXJtIgorVFVORV9GRUFUVVJFU190dW5lLXN0cm9uZ2FybSA9ICJhcm0gc3Ryb25nYXJtIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLXN0cm9uZ2FybSA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12NH0gc3Ryb25nYXJtIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtdGh1bmRlcnguaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtdGh1bmRlcnguaW5jCmluZGV4IDNkNDNiMGYuLjkyYWRmMmQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXRodW5kZXJ4LmluYworKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS10aHVuZGVyeC5pbmMKQEAgLTEsMTEgKzEsMTEgQEAKLXJlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjguaW5jCi0KIERFRkFVTFRUVU5FID89ICJ0aHVuZGVyeCIKIEFWQUlMVFVORVMgKz0gInRodW5kZXJ4IHRodW5kZXJ4X2JlIgogCiBUVU5FVkFMSURbdGh1bmRlcnhdID0gIkVuYWJsZSBpbnN0cnVjdGlvbnMgZm9yIENhdml1bSBUaHVuZGVyWCIKIAotVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ3RodW5kZXJ4JywgJyAtbWNwdT10aHVuZGVyeCAnLCAnJyxkKX0iCitUVU5FX0NDQVJHUyAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAndGh1bmRlcngnLCAnIC1tY3B1PXRodW5kZXJ4JywgJycsZCl9IgorCityZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY4YS5pbmMKIAogQVJNUEtHQVJDSF90dW5lLXRodW5kZXJ4ID89ICJ0aHVuZGVyeCIKIEFSTVBLR0FSQ0hfdHVuZS10aHVuZGVyeF9iZSA/PSAidGh1bmRlcnhfYmUiCkBAIC0xNSw1ICsxNSw1IEBACiBCQVNFX0xJQl90dW5lLXRodW5kZXJ4ID0gImxpYjY0IgogQkFTRV9MSUJfdHVuZS10aHVuZGVyeF9iZSA9ICJsaWI2NCIKIAotUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLXRodW5kZXJ4ID0gImFhcmNoNjQgdGh1bmRlcngiCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtdGh1bmRlcnggPSAiYXJtdjhhLWNyYy1jcnlwdG8gdGh1bmRlcngiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtdGh1bmRlcnhfYmUgPSAiYWFyY2g2NF9iZSB0aHVuZGVyeF9iZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXhzY2FsZS5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS14c2NhbGUuaW5jCmluZGV4IDBkMDczMzMuLjE5ZDVlMTMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXhzY2FsZS5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUteHNjYWxlLmluYwpAQCAtNCwxMyArNCwxNiBAQAogCiBUVU5FVkFMSURbeHNjYWxlXSA9ICJFbmFibGUgUFhBMjU1L1BYQTI2eCBYc2NhbGUgc3BlY2lmaWMgcHJvY2Vzc29yIG9wdGltaXphdGlvbnMiCiBUVU5FX0NDQVJHUyAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAneHNjYWxlJywgJyAtbWNwdT14c2NhbGUnLCAnJywgZCl9IgorTUFDSElORU9WRVJSSURFUyA9LiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAneHNjYWxlJywgJ2FybXY1OicsICcnICxkKX0iCiAKIEFWQUlMVFVORVMgKz0gInhzY2FsZSIKIEFSTVBLR0FSQ0hfdHVuZS14c2NhbGUgPSAieHNjYWxlIgotVFVORV9GRUFUVVJFU190dW5lLXhzY2FsZSA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12NXRlfSB4c2NhbGUiCisjIG1jcHUgaXMgdXNlZCBzbyBkb24ndCB1c2UgYXJtdjV0ZSBhcyB3ZSBkb24ndCB3YW50IG1hcmNoCitUVU5FX0ZFQVRVUkVTX3R1bmUteHNjYWxlID0gImFybSB0aHVtYiBkc3AgeHNjYWxlIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLXhzY2FsZSA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12NXRlfSB4c2NhbGUgeHNjYWxldCB4c2NhbGVlIHhzY2FsZXRlIgogCiBBVkFJTFRVTkVTICs9ICJ4c2NhbGUtYmUiCiBBUk1QS0dBUkNIX3R1bmUteHNjYWxlLWJlID0gInhzY2FsZSIKLVRVTkVfRkVBVFVSRVNfdHVuZS14c2NhbGUtYmUgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjV0ZWJ9IHhzY2FsZSBiaWdlbmRpYW4iCisjIG1jcHUgaXMgdXNlZCBzbyBkb24ndCB1c2UgYXJtdjV0ZSBhcyB3ZSBkb24ndCB3YW50IG1hcmNoCitUVU5FX0ZFQVRVUkVTX3R1bmUteHNjYWxlLWJlID0gIiR7VFVORV9GRUFUVVJFU190dW5lLXhzY2FsZX0gYmlnZW5kaWFuIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLXhzY2FsZS1iZSA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12NXRlYn0geHNjYWxlYiB4c2NhbGV0YiB4c2NhbGVlYiB4c2NhbGV0ZWIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2LWJhc2UuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni1iYXNlLmluYwppbmRleCBjMjkyNzkyLi42ODZmOTM4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2LWJhc2UuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYtYmFzZS5pbmMKQEAgLTE4LDcgKzE4LDcgQEAKICMga2VybmVsLXJlbGF0ZWQgdmFyaWFibGVzCiAjCiBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9rZXJuZWwgPz89ICJsaW51eC15b2N0byIKLVBSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlvY3RvID8/PSAiNC4xOCUiCitQUkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0byA/Pz0gIjUuMCUiCiAKICMKICMgWFNFUlZFUiBzdWJjb21wb25lbnRzLCB1c2VkIHRvIGJ1aWxkIHRoZSBYU0VSVkVSIHZhcmlhYmxlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXVhcm0uY29uZiBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdWFybS5jb25mCmluZGV4IGQyZjJjODUuLjBhMmM5OTUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdWFybS5jb25mCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdWFybS5jb25mCkBAIC0xLDIwICsxLDMzIEBACiAjQFRZUEU6IE1hY2hpbmUKLSNATkFNRTogYXJtX3ZlcnNhdGlsZV85MjZlanMKLSNAREVTQ1JJUFRJT046IGFybV92ZXJzYXRpbGVfOTI2ZWpzCisjQE5BTUU6IFFFTVUgQXJtIENvcnRleC1BMTUgbWFjaGluZQorI0BERVNDUklQVElPTjogTWFjaGluZSBjb25maWd1cmF0aW9uIGZvciBydW5uaW5nIGFuIEFSTXY3IHN5c3RlbSBvbiBRRU1VCiAKK3JlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhMTUuaW5jCiByZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jCi1yZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtYXJtOTI2ZWpzLmluYwotI3JlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1hcm0xMTM2amYtcy5pbmMKIAogS0VSTkVMX0lNQUdFVFlQRSA9ICJ6SW1hZ2UiCiAKLVNFUklBTF9DT05TT0xFUyA/PSAiMTE1MjAwO3R0eUFNQTAgMTE1MjAwO3R0eUFNQTEiCitTRVJJQUxfQ09OU09MRVMgPz0gIjExNTIwMDt0dHlBTUEwIDExNTIwMDtodmMwIgogCiAjIEZvciBydW5xZW11CiBRQl9TWVNURU1fTkFNRSA9ICJxZW11LXN5c3RlbS1hcm0iCi1RQl9NQUNISU5FID0gIi1tYWNoaW5lIHZlcnNhdGlsZXBiIgotUUJfS0VSTkVMX0NNRExJTkVfQVBQRU5EID0gImNvbnNvbGU9dHR5QU1BMCwxMTUyMDAgY29uc29sZT10dHkiCi0jIEFkZCB0aGUgJ3ZpcnRpby1ybmctcGNpJyBkZXZpY2Ugb3RoZXJ3aXNlIHRoZSBndWVzdCBtYXkgcnVuIG91dCBvZiBlbnRyb3B5Ci1RQl9PUFRfQVBQRU5EID0gIi1zaG93LWN1cnNvciAtdXNiIC1kZXZpY2UgdXNiLXRhYmxldCAtZGV2aWNlIHZpcnRpby1ybmctcGNpIgotUFJFRkVSUkVEX1ZFUlNJT05fbGludXgteW9jdG8gPz89ICI0LjE4JSIKLVFCX0RUQiA9ICIke0BvZS51dGlscy52ZXJzaW9uX2xlc3Nfb3JfZXF1YWwoJ1BSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlvY3RvJywgJzQuNycsICcnLCAnekltYWdlLXZlcnNhdGlsZS1wYi5kdGInLCBkKX0iCitRQl9NRU0gPSAiLW0gNTEyIgorUUJfTUFDSElORSA9ICItbWFjaGluZSB2aXJ0IgorUUJfQ1BVID0gIi1jcHUgY29ydGV4LWExNSIKKyMgU3RhbmRhcmQgU2VyaWFsIGNvbnNvbGUKK1FCX0tFUk5FTF9DTURMSU5FX0FQUEVORCA9ICJjb25zb2xlPXR0eUFNQTAiCisjIEZvciBncmFwaGljcyB0byB3b3JrIHdlIG5lZWQgdG8gZGVmaW5lIHRoZSBWR0EgZGV2aWNlIGFzIHdlbGwgYXMgdGhlIG5lY2Vzc2FyeSBVU0IgZGV2aWNlcworUUJfT1BUX0FQUEVORCA9ICItc2hvdy1jdXJzb3IgLWRldmljZSBWR0EsZWRpZD1vbiIKK1FCX09QVF9BUFBFTkQgKz0gIi1kZXZpY2UgcWVtdS14aGNpIC1kZXZpY2UgdXNiLXRhYmxldCAtZGV2aWNlIHVzYi1rYmQiCisjIEFkZCB0aGUgdmlydGlvIFJORworUUJfT1BUX0FQUEVORCArPSAiLW9iamVjdCBybmctcmFuZG9tLGZpbGVuYW1lPS9kZXYvdXJhbmRvbSxpZD1ybmcwIC1kZXZpY2UgdmlydGlvLXJuZy1wY2kscm5nPXJuZzAiCisjIFZpcnRpbyBOZXR3b3JraW5nIHN1cHBvcnQKK1FCX1RBUF9PUFQgPSAiLW5ldGRldiB0YXAsaWQ9bmV0MCxpZm5hbWU9QFRBUEAsc2NyaXB0PW5vLGRvd25zY3JpcHQ9bm8iCitRQl9ORVRXT1JLX0RFVklDRSA9ICItZGV2aWNlIHZpcnRpby1uZXQtZGV2aWNlLG5ldGRldj1uZXQwLG1hYz1ATUFDQCIKKyMgVmlydGlvIGJsb2NrIGRldmljZQorUUJfUk9PVEZTX09QVCA9ICItZHJpdmUgaWQ9ZGlzazAsZmlsZT1AUk9PVEZTQCxpZj1ub25lLGZvcm1hdD1yYXcgLWRldmljZSB2aXJ0aW8tYmxrLWRldmljZSxkcml2ZT1kaXNrMCIKKyMgVmlydGlvIHNlcmlhbCBjb25zb2xlCitRQl9TRVJJQUxfT1BUID0gIi1kZXZpY2UgdmlydGlvLXNlcmlhbC1kZXZpY2UgLWNoYXJkZXYgbnVsbCxpZD12aXJ0Y29uIC1kZXZpY2UgdmlydGNvbnNvbGUsY2hhcmRldj12aXJ0Y29uIgorUUJfVENQU0VSSUFMX09QVCA9ICItZGV2aWNlIHZpcnRpby1zZXJpYWwtZGV2aWNlIC1jaGFyZGV2IHNvY2tldCxpZD12aXJ0Y29uLHBvcnQ9QFBPUlRALGhvc3Q9MTI3LjAuMC4xIC1kZXZpY2UgdmlydGNvbnNvbGUsY2hhcmRldj12aXJ0Y29uIgorCitLTUFDSElORV9xZW11YXJtID0gInFlbXVhcm1hMTUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXVhcm02NC5jb25mIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11YXJtNjQuY29uZgppbmRleCAyNDI4ODlhLi41YzhhYWMxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXVhcm02NC5jb25mCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdWFybTY0LmNvbmYKQEAgLTEsMjQgKzEsMzEgQEAKICNAVFlQRTogTWFjaGluZQotI0BOQU1FOiBnZW5lcmljIGFybXY4IG1hY2hpbmUKLSNAREVTQ1JJUFRJT046IE1hY2hpbmUgY29uZmlndXJhdGlvbiBmb3IgcnVubmluZyBhIGdlbmVyaWMgYXJtdjgKKyNATkFNRTogUUVNVSBBUk12OCBtYWNoaW5lCisjQERFU0NSSVBUSU9OOiBNYWNoaW5lIGNvbmZpZ3VyYXRpb24gZm9yIHJ1bm5pbmcgYW4gQVJNdjggc3lzdGVtIG9uIFFFTVUKIAotcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12OC5pbmMKK3JlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjhhLmluYwogcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9xZW11LmluYwogCiBLRVJORUxfSU1BR0VUWVBFID0gIkltYWdlIgogCi1TRVJJQUxfQ09OU09MRVMgPz0gIjM4NDAwO3R0eUFNQTAgMzg0MDA7aHZjMCIKK1NFUklBTF9DT05TT0xFUyA/PSAiMTE1MjAwO3R0eUFNQTAgMTE1MjAwO2h2YzAiCiAKICMgRm9yIHJ1bnFlbXUKIFFCX1NZU1RFTV9OQU1FID0gInFlbXUtc3lzdGVtLWFhcmNoNjQiCiBRQl9NRU0gPSAiLW0gNTEyIgogUUJfTUFDSElORSA9ICItbWFjaGluZSB2aXJ0IgogUUJfQ1BVID0gIi1jcHUgY29ydGV4LWE1NyIKLVFCX0tFUk5FTF9DTURMSU5FX0FQUEVORCA9ICJjb25zb2xlPXR0eUFNQTAsMzg0MDAiCisjIFN0YW5kYXJkIFNlcmlhbCBjb25zb2xlCitRQl9LRVJORUxfQ01ETElORV9BUFBFTkQgPSAiY29uc29sZT10dHlBTUEwIgorIyBGb3IgZ3JhcGhpY3MgdG8gd29yayB3ZSBuZWVkIHRvIGRlZmluZSB0aGUgVkdBIGRldmljZSBhcyB3ZWxsIGFzIHRoZSBuZWNlc3NhcnkgVVNCIGRldmljZXMKK1FCX09QVF9BUFBFTkQgPSAiLXNob3ctY3Vyc29yIC1kZXZpY2UgVkdBLGVkaWQ9b24iCitRQl9PUFRfQVBQRU5EICs9ICItZGV2aWNlIHFlbXUteGhjaSAtZGV2aWNlIHVzYi10YWJsZXQgLWRldmljZSB1c2Ita2JkIgogIyBBZGQgdGhlICd2aXJ0aW8tcm5nLXBjaScgZGV2aWNlIG90aGVyd2lzZSB0aGUgZ3Vlc3QgbWF5IHJ1biBvdXQgb2YgZW50cm9weQotUUJfT1BUX0FQUEVORCA9ICItc2hvdy1jdXJzb3IgLWRldmljZSB2aXJ0aW8tcm5nLXBjaSAtbW9uaXRvciBudWxsIgorUUJfT1BUX0FQUEVORCArPSAiLW9iamVjdCBybmctcmFuZG9tLGZpbGVuYW1lPS9kZXYvdXJhbmRvbSxpZD1ybmcwIC1kZXZpY2UgdmlydGlvLXJuZy1wY2kscm5nPXJuZzAiCisjIFZpcnRpbyBOZXR3b3JraW5nIHN1cHBvcnQKIFFCX1RBUF9PUFQgPSAiLW5ldGRldiB0YXAsaWQ9bmV0MCxpZm5hbWU9QFRBUEAsc2NyaXB0PW5vLGRvd25zY3JpcHQ9bm8iCiBRQl9ORVRXT1JLX0RFVklDRSA9ICItZGV2aWNlIHZpcnRpby1uZXQtZGV2aWNlLG5ldGRldj1uZXQwLG1hYz1ATUFDQCIKKyMgVmlydGlvIGJsb2NrIGRldmljZQogUUJfUk9PVEZTX09QVCA9ICItZHJpdmUgaWQ9ZGlzazAsZmlsZT1AUk9PVEZTQCxpZj1ub25lLGZvcm1hdD1yYXcgLWRldmljZSB2aXJ0aW8tYmxrLWRldmljZSxkcml2ZT1kaXNrMCIKKyMgVmlydGlvIHNlcmlhbCBjb25zb2xlCiBRQl9TRVJJQUxfT1BUID0gIi1kZXZpY2UgdmlydGlvLXNlcmlhbC1kZXZpY2UgLWNoYXJkZXYgbnVsbCxpZD12aXJ0Y29uIC1kZXZpY2UgdmlydGNvbnNvbGUsY2hhcmRldj12aXJ0Y29uIgotUUJfVENQU0VSSUFMX09QVCA9ICIgLWRldmljZSB2aXJ0aW8tc2VyaWFsLWRldmljZSAtY2hhcmRldiBzb2NrZXQsaWQ9dmlydGNvbixwb3J0PUBQT1JUQCxob3N0PTEyNy4wLjAuMSAtZGV2aWNlIHZpcnRjb25zb2xlLGNoYXJkZXY9dmlydGNvbiIKK1FCX1RDUFNFUklBTF9PUFQgPSAiLWRldmljZSB2aXJ0aW8tc2VyaWFsLWRldmljZSAtY2hhcmRldiBzb2NrZXQsaWQ9dmlydGNvbixwb3J0PUBQT1JUQCxob3N0PTEyNy4wLjAuMSAtZGV2aWNlIHZpcnRjb25zb2xlLGNoYXJkZXY9dmlydGNvbiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdWFybXY1LmNvbmYgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXVhcm12NS5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjMjFkMzMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXVhcm12NS5jb25mCkBAIC0wLDAgKzEsMjMgQEAKKyNAVFlQRTogTWFjaGluZQorI0BOQU1FOiBRRU1VIEFSTTkgbWFjaGluZQorI0BERVNDUklQVElPTjogTWFjaGluZSBjb25maWd1cmF0aW9uIGZvciBydW5uaW5nIGFuIEFSTXY1IHN5c3RlbSBvbiBRRU1VCisKK3JlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdS5pbmMKK3JlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1hcm05MjZlanMuaW5jCisjcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWFybTExMzZqZi1zLmluYworCitLRVJORUxfSU1BR0VUWVBFID0gInpJbWFnZSIKKworU0VSSUFMX0NPTlNPTEVTID89ICIxMTUyMDA7dHR5QU1BMCAxMTUyMDA7dHR5QU1BMSIKKworIyBGb3IgcnVucWVtdQorUUJfU1lTVEVNX05BTUUgPSAicWVtdS1zeXN0ZW0tYXJtIgorUUJfTUFDSElORSA9ICItbWFjaGluZSB2ZXJzYXRpbGVwYiIKK1FCX0tFUk5FTF9DTURMSU5FX0FQUEVORCA9ICJjb25zb2xlPXR0eUFNQTAsMTE1MjAwIGNvbnNvbGU9dHR5IgorUUJfT1BUX0FQUEVORCA9ICItc2hvdy1jdXJzb3IgLXVzYiAtZGV2aWNlIHVzYi10YWJsZXQiCisjIEFkZCB0aGUgJ3ZpcnRpby1ybmctcGNpJyBkZXZpY2Ugb3RoZXJ3aXNlIHRoZSBndWVzdCBtYXkgcnVuIG91dCBvZiBlbnRyb3B5CitRQl9PUFRfQVBQRU5EICs9ICItb2JqZWN0IHJuZy1yYW5kb20sZmlsZW5hbWU9L2Rldi91cmFuZG9tLGlkPXJuZzAgLWRldmljZSB2aXJ0aW8tcm5nLXBjaSxybmc9cm5nMCIKK1BSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlvY3RvID8/PSAiNS4wJSIKK1FCX0RUQiA9ICIke0BvZS51dGlscy52ZXJzaW9uX2xlc3Nfb3JfZXF1YWwoJ1BSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlvY3RvJywgJzQuNycsICcnLCAnekltYWdlLXZlcnNhdGlsZS1wYi5kdGInLCBkKX0iCisKK0tNQUNISU5FX3FlbXVhcm12NSA9ICJxZW11YXJtIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11bWlwcy5jb25mIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11bWlwcy5jb25mCmluZGV4IGE2MGY2N2EuLjQ4ZDlmNDEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdW1pcHMuY29uZgorKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXVtaXBzLmNvbmYKQEAgLTEsNiArMSw2IEBACiAjQFRZUEU6IE1hY2hpbmUKLSNATkFNRTogbXRpX21hbHRhMzJfYmUgTUlQUwotI0BERVNDUklQVElPTjogbXRpX21hbHRhMzJfYmUKKyNATkFNRTogUUVNVSBNSVBTMzIgbWFjaGluZQorI0BERVNDUklQVElPTjogTWFjaGluZSBjb25maWd1cmF0aW9uIGZvciBydW5uaW5nIGEgTUlQUyBzeXN0ZW0gb24gUUVNVQogCiByZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jCiByZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtbWlwczMycjIuaW5jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXVtaXBzNjQuY29uZiBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdW1pcHM2NC5jb25mCmluZGV4IGExNjZhMTAuLjE4NzJlN2IgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdW1pcHM2NC5jb25mCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdW1pcHM2NC5jb25mCkBAIC0xLDExICsxLDEzIEBACiAjQFRZUEU6IE1hY2hpbmUKLSNATkFNRTogbXRpLW1hbHRhNjQtYmUgTUlQUzY0Ci0jQERFU0NSSVBUSU9OOiBtdGktbWFsdGE2NC1iZQorI0BOQU1FOiBRRU1VIE1JUFM2NCBtYWNoaW5lCisjQERFU0NSSVBUSU9OOiBNYWNoaW5lIGNvbmZpZ3VyYXRpb24gZm9yIHJ1bm5pbmcgYSBNSVBTNjQgc3lzdGVtIG9uIFFFTVUKIAogcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9xZW11LmluYwotcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLW1pcHM2NC5pbmMKK3JlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1taXBzNjRyMi5pbmMKIHJlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdWJvb3QtbWlwcy5pbmMKIAorUUJfQ1BVID0gIi1jcHUgTUlQUzY0UjItZ2VuZXJpYyIKKwogS0VSTkVMX0lNQUdFVFlQRSA9ICJ2bWxpbnV4IgogS0VSTkVMX0FMVF9JTUFHRVRZUEUgPSAidm1saW51eC5iaW4iCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdXBwYy5jb25mIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11cHBjLmNvbmYKaW5kZXggNTM3YjJmNi4uYmQ4OGVlYiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11cHBjLmNvbmYKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11cHBjLmNvbmYKQEAgLTEsNiArMSw2IEBACiAjQFRZUEU6IE1hY2hpbmUKLSNATkFNRTogcWVtdSBQUEMgRW11bGF0b3Igc2V0dXAKLSNAREVTQ1JJUFRJT046IE1hY2hpbmUgY29uZmlndXJhdGlvbiBmb3IgcnVubmluZyBhbiBQUEMgc3lzdGVtIHVuZGVyIHFlbXUgZW11bGF0aW9uCisjQE5BTUU6IFFFTVUgUFBDIG1hY2hpbmUKKyNAREVTQ1JJUFRJT046IE1hY2hpbmUgY29uZmlndXJhdGlvbiBmb3IgcnVubmluZyBhIFBQQyBzeXN0ZW0gb24gUUVNVQogCiByZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jCiByZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtcHBjNzQwMC5pbmMKQEAgLTE2LDYgKzE2LDcgQEAKIFFCX01BQ0hJTkUgPSAiLW1hY2hpbmUgbWFjOTkiCiBRQl9DUFUgPSAiLWNwdSBHNCIKIFFCX0tFUk5FTF9DTURMSU5FX0FQUEVORCA9ICJjb25zb2xlPXR0eSBjb25zb2xlPXR0eVMwIgorUUJfT1BUX0FQUEVORCA9ICItc2hvdy1jdXJzb3IgLXVzYiAtZGV2aWNlIHVzYi10YWJsZXQiCiAjIEFkZCB0aGUgJ3ZpcnRpby1ybmctcGNpJyBkZXZpY2Ugb3RoZXJ3aXNlIHRoZSBndWVzdCBtYXkgcnVuIG91dCBvZiBlbnRyb3B5Ci1RQl9PUFRfQVBQRU5EID0gIi1zaG93LWN1cnNvciAtdXNiIC1kZXZpY2UgdXNiLXRhYmxldCAtZGV2aWNlIHZpcnRpby1ybmctcGNpIgorUUJfT1BUX0FQUEVORCArPSAiLW9iamVjdCBybmctcmFuZG9tLGZpbGVuYW1lPS9kZXYvdXJhbmRvbSxpZD1ybmcwIC1kZXZpY2UgdmlydGlvLXJuZy1wY2kscm5nPXJuZzAiCiBRQl9UQVBfT1BUID0gIi1uZXRkZXYgdGFwLGlkPW5ldDAsaWZuYW1lPUBUQVBALHNjcmlwdD1ubyxkb3duc2NyaXB0PW5vIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11eDg2LTY0LmNvbmYgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXV4ODYtNjQuY29uZgppbmRleCA5OTY2ZDFhLi4zODNlM2JkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXV4ODYtNjQuY29uZgorKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXV4ODYtNjQuY29uZgpAQCAtMSw2ICsxLDYgQEAKICNAVFlQRTogTWFjaGluZQotI0BOQU1FOiBjb21tb25fcGMKLSNAREVTQ1JJUFRJT046IE1hY2hpbmUgY29uZmlndXJhdGlvbiBmb3IgcnVubmluZyBhIGNvbW1vbiB4ODYKKyNATkFNRTogUUVNVSB4ODYtNjQgbWFjaGluZQorI0BERVNDUklQVElPTjogTWFjaGluZSBjb25maWd1cmF0aW9uIGZvciBydW5uaW5nIGFuIHg4Ni02NCBzeXN0ZW0gb24gUUVNVQogCiBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC94c2VydmVyID89ICJ4c2VydmVyLXhvcmciCiBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9saWJnbCA/PSAibWVzYSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdXg4Ni5jb25mIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11eDg2LmNvbmYKaW5kZXggZTc4ZmI2ZS4uYWU1MTg3YyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11eDg2LmNvbmYKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11eDg2LmNvbmYKQEAgLTEsNiArMSw2IEBACiAjQFRZUEU6IE1hY2hpbmUKLSNATkFNRTogY29tbW9uX3BjCi0jQERFU0NSSVBUSU9OOiBNYWNoaW5lIGNvbmZpZ3VyYXRpb24gZm9yIHJ1bm5pbmcgYSBjb21tb24geDg2CisjQE5BTUU6IFFFTVUgeDg2IG1hY2hpbmUKKyNAREVTQ1JJUFRJT046IE1hY2hpbmUgY29uZmlndXJhdGlvbiBmb3IgcnVubmluZyBhbiB4ODYgc3lzdGVtIG9uIFFFTVUKIAogUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwveHNlcnZlciA/PSAieHNlcnZlci14b3JnIgogUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvbGliZ2wgPz0gIm1lc2EiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL3ZpbSBiL3Bva3kvbWV0YS9maWxlcy9jb21tb24tbGljZW5zZXMvdmltCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL3ZpbQpyZW5hbWUgdG8gcG9reS9tZXRhL2ZpbGVzL2NvbW1vbi1saWNlbnNlcy92aW0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9maWxlcy90b29sY2hhaW4tc2hhci1leHRyYWN0LnNoIGIvcG9reS9tZXRhL2ZpbGVzL3Rvb2xjaGFpbi1zaGFyLWV4dHJhY3Quc2gKaW5kZXggOWVhYmQ2Mi4uMTU2MDg1YiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2ZpbGVzL3Rvb2xjaGFpbi1zaGFyLWV4dHJhY3Quc2gKKysrIGIvcG9reS9tZXRhL2ZpbGVzL3Rvb2xjaGFpbi1zaGFyLWV4dHJhY3Quc2gKQEAgLTE4NSwxMSArMTg1LDExIEBACiAKIGlmIFsgLWUgIiR0YXJnZXRfc2RrX2Rpci9lbnZpcm9ubWVudC1zZXR1cC1AUkVBTF9NVUxUSU1BQ0hfVEFSR0VUX1NZU0AiIF07IHRoZW4KIAllY2hvICJUaGUgZGlyZWN0b3J5IFwiJHRhcmdldF9zZGtfZGlyXCIgYWxyZWFkeSBjb250YWlucyBhIFNESyBmb3IgdGhpcyBhcmNoaXRlY3R1cmUuIgotCXByaW50ZiAiSWYgeW91IGNvbnRpbnVlLCBleGlzdGluZyBmaWxlcyB3aWxsIGJlIG92ZXJ3cml0dGVuISBQcm9jZWVkW3kvTl0/ICIKKwlwcmludGYgIklmIHlvdSBjb250aW51ZSwgZXhpc3RpbmcgZmlsZXMgd2lsbCBiZSBvdmVyd3JpdHRlbiEgUHJvY2VlZCBbeS9OXT8gIgogCiAJZGVmYXVsdF9hbnN3ZXI9Im4iCiBlbHNlCi0JcHJpbnRmICJZb3UgYXJlIGFib3V0IHRvIGluc3RhbGwgdGhlIFNESyB0byBcIiR0YXJnZXRfc2RrX2RpclwiLiBQcm9jZWVkW1kvbl0/ICIKKwlwcmludGYgIllvdSBhcmUgYWJvdXQgdG8gaW5zdGFsbCB0aGUgU0RLIHRvIFwiJHRhcmdldF9zZGtfZGlyXCIuIFByb2NlZWQgW1kvbl0/ICIKIAogCWRlZmF1bHRfYW5zd2VyPSJ5IgogZmkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2UvY2xhc3NleHRlbmQucHkgYi9wb2t5L21ldGEvbGliL29lL2NsYXNzZXh0ZW5kLnB5CmluZGV4IGQyZWVhZjAuLjY2MjcwN2IgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2UvY2xhc3NleHRlbmQucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZS9jbGFzc2V4dGVuZC5weQpAQCAtMTE0LDcgKzExNCw3IEBACiAgICAgZGVmIG1hcF9kZXBlbmRzKHNlbGYsIGRlcCk6CiAgICAgICAgIGlmIGRlcC5zdGFydHN3aXRoKHNlbGYuZXh0bmFtZSk6CiAgICAgICAgICAgICByZXR1cm4gZGVwCi0gICAgICAgIGlmIGRlcC5lbmRzd2l0aCgoIi1nY2MtaW5pdGlhbCIsICItZ2NjIiwgIi1nKysiKSk6CisgICAgICAgIGlmIGRlcC5lbmRzd2l0aCgoIi1nY2MiLCAiLWcrKyIpKToKICAgICAgICAgICAgIHJldHVybiBkZXAgKyAiLWNyb3Nzc2RrIgogICAgICAgICBlbGlmIGRlcC5lbmRzd2l0aCgoIi1uYXRpdmUiLCAiLW5hdGl2ZS1ydW50aW1lIikpIG9yICgnbmF0aXZlc2RrLScgaW4gZGVwKSBvciAoJy1jcm9zcy0nIGluIGRlcCkgb3IgKCctY3Jvc3NzZGstJyBpbiBkZXApOgogICAgICAgICAgICAgcmV0dXJuIGRlcApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZS9lbGYucHkgYi9wb2t5L21ldGEvbGliL29lL2VsZi5weQppbmRleCAwZWQ1OWFlLi40Y2M5YTlhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lL2VsZi5weQorKysgYi9wb2t5L21ldGEvbGliL29lL2VsZi5weQpAQCAtNjMsNiArNjMsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgImFybSIgOiAgICAgICAoICA0MCwgICAgOTcsICAgIDAsICAgICAgICAgIFRydWUsICAgICAgICAgIDMyKSwKICAgICAgICAgICAgICAgICAgICAgICAgICJhcm1lYiI6ICAgICAgKCAgNDAsICAgIDk3LCAgICAwLCAgICAgICAgICBGYWxzZSwgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICAicG93ZXJwYyI6ICAgICggIDIwLCAgICAgMCwgICAgMCwgICAgICAgICAgRmFsc2UsICAgICAgICAgMzIpLAorICAgICAgICAgICAgICAgICAgICAgICAgInBvd2VycGM2NCI6ICAoICAyMSwgICAgIDAsICAgIDAsICAgICAgICAgIEZhbHNlLCAgICAgICAgIDY0KSwKICAgICAgICAgICAgICAgICAgICAgICAgICJpMzg2IjogICAgICAgKCAgIDMsICAgICAwLCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICAiaTQ4NiI6ICAgICAgICggICAzLCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAgImk1ODYiOiAgICAgICAoICAgMywgICAgIDAsICAgIDAsICAgICAgICAgIFRydWUsICAgICAgICAgIDMyKSwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2UvbGljZW5zZS5weSBiL3Bva3kvbWV0YS9saWIvb2UvbGljZW5zZS5weQppbmRleCBjYTM4NWQ1Li4wNGY1YjMxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lL2xpY2Vuc2UucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZS9saWNlbnNlLnB5CkBAIC0xMyw4ICsxMyw4IEBACiAgICAgICAgICMgd2lsbCBleGNsdWRlIGEgdHJhaWxpbmcgJysnIGNoYXJhY3RlciBmcm9tIExJQ0VOU0UgaW4KICAgICAgICAgIyBjYXNlIElOQ09NUEFUSUJMRV9MSUNFTlNFIGlzIG5vdCBhICdYKycgbGljZW5zZS4KICAgICAgICAgbGljID0gbGljZW5zZQotICAgICAgICBpZiBub3QgcmUuc2VhcmNoKCdcKyQnLCBkd2wpOgotICAgICAgICAgICAgbGljID0gcmUuc3ViKCdcKycsICcnLCBsaWNlbnNlKQorICAgICAgICBpZiBub3QgcmUuc2VhcmNoKHInXCskJywgZHdsKToKKyAgICAgICAgICAgIGxpYyA9IHJlLnN1YihyJ1wrJywgJycsIGxpY2Vuc2UpCiAgICAgICAgIGlmIGZubWF0Y2gobGljLCBkd2wpOgogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgcmV0dXJuIFRydWUKQEAgLTQwLDggKzQwLDggQEAKICAgICAgICAgcmV0dXJuICJpbnZhbGlkIGNoYXJhY3RlcnMgaW4gbGljZW5zZSAnJXMnIiAlIHNlbGYubGljZW5zZQogCiBsaWNlbnNlX29wZXJhdG9yX2NoYXJzID0gJyZ8KCkgJwotbGljZW5zZV9vcGVyYXRvciA9IHJlLmNvbXBpbGUoJyhbJyArIGxpY2Vuc2Vfb3BlcmF0b3JfY2hhcnMgKyAnXSknKQotbGljZW5zZV9wYXR0ZXJuID0gcmUuY29tcGlsZSgnW2EtekEtWjAtOS4rX1wtXSskJykKK2xpY2Vuc2Vfb3BlcmF0b3IgPSByZS5jb21waWxlKHInKFsnICsgbGljZW5zZV9vcGVyYXRvcl9jaGFycyArICddKScpCitsaWNlbnNlX3BhdHRlcm4gPSByZS5jb21waWxlKHInW2EtekEtWjAtOS4rX1wtXSskJykKIAogY2xhc3MgTGljZW5zZVZpc2l0b3IoYXN0Lk5vZGVWaXNpdG9yKToKICAgICAiIiJHZXQgZWxlbWVudHMgYmFzZWQgb24gT3BlbkVtYmVkZGVkIGxpY2Vuc2Ugc3RyaW5ncyIiIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZS9wYWNrYWdlLnB5IGIvcG9reS9tZXRhL2xpYi9vZS9wYWNrYWdlLnB5CmluZGV4IGVmZDM2YjMuLjZlODNmMDEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2UvcGFja2FnZS5weQorKysgYi9wb2t5L21ldGEvbGliL29lL3BhY2thZ2UucHkKQEAgLTI1NSw3ICsyNTUsNyBAQAogCiAgICAgc2hsaWJfcHJvdmlkZXIgPSB7fQogICAgIHNobGlic19kaXJzID0gZC5nZXRWYXIoJ1NITElCU0RJUlMnKS5zcGxpdCgpCi0gICAgbGlzdF9yZSA9IHJlLmNvbXBpbGUoJ14oLiopXC5saXN0JCcpCisgICAgbGlzdF9yZSA9IHJlLmNvbXBpbGUocideKC4qKVwubGlzdCQnKQogICAgICMgR28gZnJvbSBsZWFzdCB0byBtb3N0IHNwZWNpZmljIHNpbmNlIHRoZSBsYXN0IG9uZSBmb3VuZCB3aW5zCiAgICAgZm9yIGRpciBpbiByZXZlcnNlZChzaGxpYnNfZGlycyk6CiAgICAgICAgIGJiLmRlYnVnKDIsICJSZWFkaW5nIHNobGliIHByb3ZpZGVycyBpbiAlcyIgJSAoZGlyKSkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2UvcGFja2FnZV9tYW5hZ2VyLnB5IGIvcG9reS9tZXRhL2xpYi9vZS9wYWNrYWdlX21hbmFnZXIucHkKaW5kZXggODgyZTdjNC4uMjgzNWMxZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZS9wYWNrYWdlX21hbmFnZXIucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZS9wYWNrYWdlX21hbmFnZXIucHkKQEAgLTI5LDcgKzI5LDcgQEAKICAgICBhIGRpY3Rpb25hcnkgd2l0aCB0aGUgaW5mb3JtYXRpb24gb2YgdGhlIHBhY2thZ2VzLiBUaGlzIGlzIHVzZWQKICAgICB3aGVuIHRoZSBwYWNrYWdlcyBhcmUgaW4gZGViIG9yIGlwayBmb3JtYXQuCiAgICAgIiIiCi0gICAgdmVycmVnZXggPSByZS5jb21waWxlKCcgXChbPTw+XSogW14gKV0qXCknKQorICAgIHZlcnJlZ2V4ID0gcmUuY29tcGlsZShyJyBcKFs9PD5dKiBbXiApXSpcKScpCiAgICAgb3V0cHV0ID0gZGljdCgpCiAgICAgcGtnID0gIiIKICAgICBhcmNoID0gIiIKQEAgLTk0LDYgKzk0LDggQEAKICAgICAjIFByZXR0eSBzdXJlIHdlIGRvbid0IG5lZWQgdGhpcyBmb3IgbG9jYWxlIGFyY2hpdmUgZ2VuZXJhdGlvbiBidXQKICAgICAjIGtlZXBpbmcgaXQgdG8gYmUgc2FmZS4uLgogICAgIGxvY2FsZV9hcmNoX29wdGlvbnMgPSB7IFwKKyAgICAgICAgImFyYyI6IFsiLS11aW50MzItYWxpZ249NCIsICItLWxpdHRsZS1lbmRpYW4iXSwKKyAgICAgICAgImFyY2ViIjogWyItLXVpbnQzMi1hbGlnbj00IiwgIi0tYmlnLWVuZGlhbiJdLAogICAgICAgICAiYXJtIjogWyItLXVpbnQzMi1hbGlnbj00IiwgIi0tbGl0dGxlLWVuZGlhbiJdLAogICAgICAgICAiYXJtZWIiOiBbIi0tdWludDMyLWFsaWduPTQiLCAiLS1iaWctZW5kaWFuIl0sCiAgICAgICAgICJhYXJjaDY0IjogWyItLXVpbnQzMi1hbGlnbj00IiwgIi0tbGl0dGxlLWVuZGlhbiJdLApAQCAtMjUwLDggKzI1Miw4IEBACiAgICAgICAgICAgICB3aXRoIG9wZW4ob3MucGF0aC5qb2luKHNlbGYuZC5leHBhbmQoIiR7U1RBR0lOR19FVENESVJfTkFUSVZFfSIpLAogICAgICAgICAgICAgICAgICJhcHQiLCAiYXB0LmNvbmYuc2FtcGxlIikpIGFzIGFwdF9jb25mX3NhbXBsZToKICAgICAgICAgICAgICAgICBmb3IgbGluZSBpbiBhcHRfY29uZl9zYW1wbGUucmVhZCgpLnNwbGl0KCJcbiIpOgotICAgICAgICAgICAgICAgICAgICBsaW5lID0gcmUuc3ViKCIjUk9PVEZTIyIsICIvZGV2L251bGwiLCBsaW5lKQotICAgICAgICAgICAgICAgICAgICBsaW5lID0gcmUuc3ViKCIjQVBUQ09ORiMiLCBzZWxmLmFwdF9jb25mX2RpciwgbGluZSkKKyAgICAgICAgICAgICAgICAgICAgbGluZSA9IHJlLnN1YihyIiNST09URlMjIiwgIi9kZXYvbnVsbCIsIGxpbmUpCisgICAgICAgICAgICAgICAgICAgIGxpbmUgPSByZS5zdWIociIjQVBUQ09ORiMiLCBzZWxmLmFwdF9jb25mX2RpciwgbGluZSkKICAgICAgICAgICAgICAgICAgICAgYXB0X2NvbmYud3JpdGUobGluZSArICJcbiIpCiAKICAgICBkZWYgd3JpdGVfaW5kZXgoc2VsZik6CkBAIC0zMTgsNyArMzIwLDcgQEAKIAogY2xhc3MgUnBtUGtnc0xpc3QoUGtnc0xpc3QpOgogICAgIGRlZiBsaXN0X3BrZ3Moc2VsZik6Ci0gICAgICAgIHJldHVybiBScG1QTShzZWxmLmQsIHNlbGYucm9vdGZzX2Rpciwgc2VsZi5kLmdldFZhcignVEFSR0VUX1ZFTkRPUicpKS5saXN0X2luc3RhbGxlZCgpCisgICAgICAgIHJldHVybiBScG1QTShzZWxmLmQsIHNlbGYucm9vdGZzX2Rpciwgc2VsZi5kLmdldFZhcignVEFSR0VUX1ZFTkRPUicpLCBuZWVkZmVlZD1GYWxzZSkubGlzdF9pbnN0YWxsZWQoKQogCiBjbGFzcyBPcGtnUGtnc0xpc3QoUGtnc0xpc3QpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkLCByb290ZnNfZGlyLCBjb25maWdfZmlsZSk6CkBAIC00MDYsNyArNDA4LDcgQEAKICAgICAgICAgd2l0aCBvcGVuKHBvc3RpbnN0X2ludGVyY2VwdF9ob29rKSBhcyBpbnRlcmNlcHQ6CiAgICAgICAgICAgICByZWdpc3RlcmVkX3BrZ3MgPSBOb25lCiAgICAgICAgICAgICBmb3IgbGluZSBpbiBpbnRlcmNlcHQucmVhZCgpLnNwbGl0KCJcbiIpOgotICAgICAgICAgICAgICAgIG0gPSByZS5tYXRjaCgiXiMjUEtHUzooLiopIiwgbGluZSkKKyAgICAgICAgICAgICAgICBtID0gcmUubWF0Y2gociJeIyNQS0dTOiguKikiLCBsaW5lKQogICAgICAgICAgICAgICAgIGlmIG0gaXMgbm90IE5vbmU6CiAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyZWRfcGtncyA9IG0uZ3JvdXAoMSkuc3RyaXAoKQogICAgICAgICAgICAgICAgICAgICBicmVhawpAQCAtNDM3LDYgKzQzOSwxMSBAQAogICAgICAgICAgICAgICAgIHNlbGYuX3Bvc3Rwb25lX3RvX2ZpcnN0X2Jvb3Qoc2NyaXB0X2Z1bGwpCiAgICAgICAgICAgICAgICAgY29udGludWUKIAorICAgICAgICAgICAgaWYgcG9wdWxhdGVfc2RrID09ICdob3N0JyBhbmQgc2VsZi5kLmdldFZhcignU0RLX09TJykgPT0gJ21pbmd3MzInOgorICAgICAgICAgICAgICAgIGJiLm5vdGUoIlRoZSBwb3N0aW5zdGFsbCBpbnRlcmNlcHQgaG9vayAnJXMnIGNvdWxkIG5vdCBiZSBleGVjdXRlZCBkdWUgdG8gbWlzc2luZyB3aW5lIHN1cHBvcnQsIGRldGFpbHMgaW4gJXMvbG9nLmRvXyVzIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIChzY3JpcHQsIHNlbGYuZC5nZXRWYXIoJ1QnKSwgc2VsZi5kLmdldFZhcignQkJfQ1VSUkVOVFRBU0snKSkpCisgICAgICAgICAgICAgICAgY29udGludWUKKwogICAgICAgICAgICAgYmIubm90ZSgiPiBFeGVjdXRpbmcgJXMgaW50ZXJjZXB0IC4uLiIgJSBzY3JpcHQpCiAKICAgICAgICAgICAgIHRyeToKQEAgLTQ0NSwxMCArNDUyLDEwIEBACiAgICAgICAgICAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICBiYi5ub3RlKCJFeGl0IGNvZGUgJWQuIE91dHB1dDpcbiVzIiAlIChlLnJldHVybmNvZGUsIGUub3V0cHV0LmRlY29kZSgidXRmLTgiKSkpCiAgICAgICAgICAgICAgICAgaWYgcG9wdWxhdGVfc2RrID09ICdob3N0JzoKLSAgICAgICAgICAgICAgICAgICAgYmIud2FybigiVGhlIHBvc3RpbnN0YWxsIGludGVyY2VwdCBob29rICclcycgZmFpbGVkLCBkZXRhaWxzIGluICVzL2xvZy5kb18lcyIgJSAoc2NyaXB0LCBzZWxmLmQuZ2V0VmFyKCdUJyksIHNlbGYuZC5nZXRWYXIoJ0JCX0NVUlJFTlRUQVNLJykpKQorICAgICAgICAgICAgICAgICAgICBiYi5mYXRhbCgiVGhlIHBvc3RpbnN0YWxsIGludGVyY2VwdCBob29rICclcycgZmFpbGVkLCBkZXRhaWxzIGluICVzL2xvZy5kb18lcyIgJSAoc2NyaXB0LCBzZWxmLmQuZ2V0VmFyKCdUJyksIHNlbGYuZC5nZXRWYXIoJ0JCX0NVUlJFTlRUQVNLJykpKQogICAgICAgICAgICAgICAgIGVsaWYgcG9wdWxhdGVfc2RrID09ICd0YXJnZXQnOgogICAgICAgICAgICAgICAgICAgICBpZiAicWVtdXdyYXBwZXI6IHFlbXUgdXNlcm1vZGUgaXMgbm90IHN1cHBvcnRlZCIgaW4gZS5vdXRwdXQuZGVjb2RlKCJ1dGYtOCIpOgotICAgICAgICAgICAgICAgICAgICAgICAgYmIud2FybigiVGhlIHBvc3RpbnN0YWxsIGludGVyY2VwdCBob29rICclcycgY291bGQgbm90IGJlIGV4ZWN1dGVkIGR1ZSB0byBtaXNzaW5nIHFlbXUgdXNlcm1vZGUgc3VwcG9ydCwgZGV0YWlscyBpbiAlcy9sb2cuZG9fJXMiCisgICAgICAgICAgICAgICAgICAgICAgICBiYi5ub3RlKCJUaGUgcG9zdGluc3RhbGwgaW50ZXJjZXB0IGhvb2sgJyVzJyBjb3VsZCBub3QgYmUgZXhlY3V0ZWQgZHVlIHRvIG1pc3NpbmcgcWVtdSB1c2VybW9kZSBzdXBwb3J0LCBkZXRhaWxzIGluICVzL2xvZy5kb18lcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSAoc2NyaXB0LCBzZWxmLmQuZ2V0VmFyKCdUJyksIHNlbGYuZC5nZXRWYXIoJ0JCX0NVUlJFTlRUQVNLJykpKQogICAgICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAgICAgYmIuZmF0YWwoIlRoZSBwb3N0aW5zdGFsbCBpbnRlcmNlcHQgaG9vayAnJXMnIGZhaWxlZCwgZGV0YWlscyBpbiAlcy9sb2cuZG9fJXMiICUgKHNjcmlwdCwgc2VsZi5kLmdldFZhcignVCcpLCBzZWxmLmQuZ2V0VmFyKCdCQl9DVVJSRU5UVEFTSycpKSkKQEAgLTcyMiw3ICs3MjksOCBAQAogICAgICAgICAgICAgICAgICBhcmNoX3Zhcj1Ob25lLAogICAgICAgICAgICAgICAgICBvc192YXI9Tm9uZSwKICAgICAgICAgICAgICAgICAgcnBtX3JlcG9fd29ya2Rpcj0ib2Utcm9vdGZzLXJlcG8iLAotICAgICAgICAgICAgICAgICBmaWx0ZXJieWRlcGVuZGVuY2llcz1UcnVlKToKKyAgICAgICAgICAgICAgICAgZmlsdGVyYnlkZXBlbmRlbmNpZXM9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgbmVlZGZlZWQ9VHJ1ZSk6CiAgICAgICAgIHN1cGVyKFJwbVBNLCBzZWxmKS5fX2luaXRfXyhkLCB0YXJnZXRfcm9vdGZzKQogICAgICAgICBzZWxmLnRhcmdldF92ZW5kb3IgPSB0YXJnZXRfdmVuZG9yCiAgICAgICAgIHNlbGYudGFza19uYW1lID0gdGFza19uYW1lCkBAIC03MzUsOCArNzQzLDkgQEAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNlbGYucHJpbWFyeV9hcmNoID0gc2VsZi5kLmdldFZhcignTUFDSElORV9BUkNIJykKIAotICAgICAgICBzZWxmLnJwbV9yZXBvX2RpciA9IG9lLnBhdGguam9pbihzZWxmLmQuZ2V0VmFyKCdXT1JLRElSJyksIHJwbV9yZXBvX3dvcmtkaXIpCi0gICAgICAgIGNyZWF0ZV9wYWNrYWdlc19kaXIoc2VsZi5kLCBvZS5wYXRoLmpvaW4oc2VsZi5ycG1fcmVwb19kaXIsICJycG0iKSwgZC5nZXRWYXIoIkRFUExPWV9ESVJfUlBNIiksICJwYWNrYWdlX3dyaXRlX3JwbSIsIGZpbHRlcmJ5ZGVwZW5kZW5jaWVzKQorICAgICAgICBpZiBuZWVkZmVlZDoKKyAgICAgICAgICAgIHNlbGYucnBtX3JlcG9fZGlyID0gb2UucGF0aC5qb2luKHNlbGYuZC5nZXRWYXIoJ1dPUktESVInKSwgcnBtX3JlcG9fd29ya2RpcikKKyAgICAgICAgICAgIGNyZWF0ZV9wYWNrYWdlc19kaXIoc2VsZi5kLCBvZS5wYXRoLmpvaW4oc2VsZi5ycG1fcmVwb19kaXIsICJycG0iKSwgZC5nZXRWYXIoIkRFUExPWV9ESVJfUlBNIiksICJwYWNrYWdlX3dyaXRlX3JwbSIsIGZpbHRlcmJ5ZGVwZW5kZW5jaWVzKQogCiAgICAgICAgIHNlbGYuc2F2ZWRfcGFja2FnaW5nX2RhdGEgPSBzZWxmLmQuZXhwYW5kKCcke1R9L3NhdmVkX3BhY2thZ2luZ19kYXRhLyVzJyAlIHNlbGYudGFza19uYW1lKQogICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoc2VsZi5kLmV4cGFuZCgnJHtUfS9zYXZlZF9wYWNrYWdpbmdfZGF0YScpKToKQEAgLTg2MCw3ICs4NjksNyBAQAogCiAgICAgICAgIGZhaWxlZF9zY3JpcHRsZXRzX3BrZ25hbWVzID0gY29sbGVjdGlvbnMuT3JkZXJlZERpY3QoKQogICAgICAgICBmb3IgbGluZSBpbiBvdXRwdXQuc3BsaXRsaW5lcygpOgotICAgICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCJOb24tZmF0YWwgUE9TVElOIHNjcmlwdGxldCBmYWlsdXJlIGluIHJwbSBwYWNrYWdlIik6CisgICAgICAgICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoIkVycm9yIGluIFBPU1RJTiBzY3JpcHRsZXQgaW4gcnBtIHBhY2thZ2UiKToKICAgICAgICAgICAgICAgICBmYWlsZWRfc2NyaXB0bGV0c19wa2duYW1lc1tsaW5lLnNwbGl0KClbLTFdXSA9IFRydWUKIAogICAgICAgICBpZiBsZW4oZmFpbGVkX3NjcmlwdGxldHNfcGtnbmFtZXMpID4gMDoKQEAgLTk2MiwxMyArOTcxLDE0IEBACiAgICAgICAgIG9zLmVudmlyb25bJ1JQTV9FVENDT05GSUdESVInXSA9IHNlbGYudGFyZ2V0X3Jvb3RmcwogCiAgICAgICAgIGRuZl9jbWQgPSBiYi51dGlscy53aGljaChvcy5nZXRlbnYoJ1BBVEgnKSwgImRuZiIpCi0gICAgICAgIHN0YW5kYXJkX2RuZl9hcmdzID0gWyItdiIsICItLXJwbXZlcmJvc2l0eT1kZWJ1ZyIsICIteSIsCisgICAgICAgIHN0YW5kYXJkX2RuZl9hcmdzID0gWyItdiIsICItLXJwbXZlcmJvc2l0eT1pbmZvIiwgIi15IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1jIiwgb2UucGF0aC5qb2luKHNlbGYudGFyZ2V0X3Jvb3RmcywgImV0Yy9kbmYvZG5mLmNvbmYiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tc2V0b3B0PXJlcG9zZGlyPSVzIiAlKG9lLnBhdGguam9pbihzZWxmLnRhcmdldF9yb290ZnMsICJldGMveXVtLnJlcG9zLmQiKSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICItLXJlcG9mcm9tcGF0aD1vZS1yZXBvLCVzIiAlIChzZWxmLnJwbV9yZXBvX2RpciksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItLWluc3RhbGxyb290PSVzIiAlIChzZWxmLnRhcmdldF9yb290ZnMpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1zZXRvcHQ9bG9nZGlyPSVzIiAlIChzZWxmLmQuZ2V0VmFyKCdUJykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXQorICAgICAgICBpZiBoYXNhdHRyKHNlbGYsICJycG1fcmVwb19kaXIiKToKKyAgICAgICAgICAgIHN0YW5kYXJkX2RuZl9hcmdzLmFwcGVuZCgiLS1yZXBvZnJvbXBhdGg9b2UtcmVwbywlcyIgJSAoc2VsZi5ycG1fcmVwb19kaXIpKQogICAgICAgICBjbWQgPSBbZG5mX2NtZF0gKyBzdGFuZGFyZF9kbmZfYXJncyArIGRuZl9hcmdzCiAgICAgICAgIGJiLm5vdGUoJ1J1bm5pbmcgJXMnICUgJyAnLmpvaW4oY21kKSkKICAgICAgICAgdHJ5OgpAQCAtMTEwOCwxMCArMTExOCw3IEBACiAgICAgICAgIHRtcF9kaXIgPSB0ZW1wZmlsZS5ta2R0ZW1wKCkKICAgICAgICAgY3VycmVudF9kaXIgPSBvcy5nZXRjd2QoKQogICAgICAgICBvcy5jaGRpcih0bXBfZGlyKQotICAgICAgICBpZiBzZWxmLmQuZ2V0VmFyKCdJTUFHRV9QS0dUWVBFJykgPT0gJ2RlYic6Ci0gICAgICAgICAgICBkYXRhX3RhciA9ICdkYXRhLnRhci54eicKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGRhdGFfdGFyID0gJ2RhdGEudGFyLmd6JworICAgICAgICBkYXRhX3RhciA9ICdkYXRhLnRhci54eicKIAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBjbWQgPSBbYXJfY21kLCAneCcsIHBrZ19wYXRoXQpAQCAtMTIxMiw3ICsxMjE5LDcgQEAKICAgICAgICAgICAgICAgICBwcmlvcml0eSArPSA1CiAKICAgICAgICAgICAgIGZvciBsaW5lIGluIChzZWxmLmQuZ2V0VmFyKCdJUEtfRkVFRF9VUklTJykgb3IgIiIpLnNwbGl0KCk6Ci0gICAgICAgICAgICAgICAgZmVlZF9tYXRjaCA9IHJlLm1hdGNoKCJeWyBcdF0qKC4qKSMjKFteIFx0XSopWyBcdF0qJCIsIGxpbmUpCisgICAgICAgICAgICAgICAgZmVlZF9tYXRjaCA9IHJlLm1hdGNoKHIiXlsgXHRdKiguKikjIyhbXiBcdF0qKVsgXHRdKiQiLCBsaW5lKQogCiAgICAgICAgICAgICAgICAgaWYgZmVlZF9tYXRjaCBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICAgICAgZmVlZF9uYW1lID0gZmVlZF9tYXRjaC5ncm91cCgxKQpAQCAtMTMyOSw2ICsxMzM2LDggQEAKICAgICAgICAgY21kID0gIiVzICVzIiAlIChzZWxmLm9wa2dfY21kLCBzZWxmLm9wa2dfYXJncykKICAgICAgICAgZm9yIGV4Y2x1ZGUgaW4gKHNlbGYuZC5nZXRWYXIoIlBBQ0tBR0VfRVhDTFVERSIpIG9yICIiKS5zcGxpdCgpOgogICAgICAgICAgICAgY21kICs9ICIgLS1hZGQtZXhjbHVkZSAlcyIgJSBleGNsdWRlCisgICAgICAgIGZvciBiYWRfcmVjb21tZW5kYXRpb24gaW4gKHNlbGYuZC5nZXRWYXIoIkJBRF9SRUNPTU1FTkRBVElPTlMiKSBvciAiIikuc3BsaXQoKToKKyAgICAgICAgICAgIGNtZCArPSAiIC0tYWRkLWlnbm9yZS1yZWNvbW1lbmRzICVzIiAlIGJhZF9yZWNvbW1lbmRhdGlvbgogICAgICAgICBjbWQgKz0gIiBpbnN0YWxsICIKICAgICAgICAgY21kICs9ICIgIi5qb2luKHBrZ3MpCiAKQEAgLTEzOTcsNDUgKzE0MDYsNiBAQAogICAgIGRlZiBsaXN0X2luc3RhbGxlZChzZWxmKToKICAgICAgICAgcmV0dXJuIE9wa2dQa2dzTGlzdChzZWxmLmQsIHNlbGYudGFyZ2V0X3Jvb3Rmcywgc2VsZi5jb25maWdfZmlsZSkubGlzdF9wa2dzKCkKIAotICAgIGRlZiBoYW5kbGVfYmFkX3JlY29tbWVuZGF0aW9ucyhzZWxmKToKLSAgICAgICAgYmFkX3JlY29tbWVuZGF0aW9ucyA9IHNlbGYuZC5nZXRWYXIoIkJBRF9SRUNPTU1FTkRBVElPTlMiKSBvciAiIgotICAgICAgICBpZiBiYWRfcmVjb21tZW5kYXRpb25zLnN0cmlwKCkgPT0gIiI6Ci0gICAgICAgICAgICByZXR1cm4KLQotICAgICAgICBzdGF0dXNfZmlsZSA9IG9zLnBhdGguam9pbihzZWxmLm9wa2dfZGlyLCAic3RhdHVzIikKLQotICAgICAgICAjIElmIHN0YXR1cyBmaWxlIGV4aXN0ZWQsIGl0IG1lYW5zIHRoZSBiYWQgcmVjb21tZW5kYXRpb25zIGhhcyBhbHJlYWR5Ci0gICAgICAgICMgYmVlbiBoYW5kbGVkCi0gICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHN0YXR1c19maWxlKToKLSAgICAgICAgICAgIHJldHVybgotCi0gICAgICAgIGNtZCA9ICIlcyAlcyBpbmZvICIgJSAoc2VsZi5vcGtnX2NtZCwgc2VsZi5vcGtnX2FyZ3MpCi0KLSAgICAgICAgd2l0aCBvcGVuKHN0YXR1c19maWxlLCAidysiKSBhcyBzdGF0dXM6Ci0gICAgICAgICAgICBmb3IgcGtnIGluIGJhZF9yZWNvbW1lbmRhdGlvbnMuc3BsaXQoKToKLSAgICAgICAgICAgICAgICBwa2dfaW5mbyA9IGNtZCArIHBrZwotCi0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBvdXRwdXQgPSBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChwa2dfaW5mby5zcGxpdCgpLCBzdGRlcnI9c3VicHJvY2Vzcy5TVERPVVQpLnN0cmlwKCkuZGVjb2RlKCJ1dGYtOCIpCi0gICAgICAgICAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yIGFzIGU6Ci0gICAgICAgICAgICAgICAgICAgIGJiLmZhdGFsKCJDYW5ub3QgZ2V0IHBhY2thZ2UgaW5mby4gQ29tbWFuZCAnJXMnICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJldHVybmVkICVkOlxuJXMiICUgKHBrZ19pbmZvLCBlLnJldHVybmNvZGUsIGUub3V0cHV0LmRlY29kZSgidXRmLTgiKSkpCi0KLSAgICAgICAgICAgICAgICBpZiBvdXRwdXQgPT0gIiI6Ci0gICAgICAgICAgICAgICAgICAgIGJiLm5vdGUoIklnbm9yZWQgYmFkIHJlY29tbWVuZGF0aW9uOiAnJXMnIGlzICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibm90IGEgcGFja2FnZSIgJSBwa2cpCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0KLSAgICAgICAgICAgICAgICBmb3IgbGluZSBpbiBvdXRwdXQuc3BsaXQoJ1xuJyk6Ci0gICAgICAgICAgICAgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgiU3RhdHVzOiIpOgotICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzLndyaXRlKCJTdGF0dXM6IGRlaW5zdGFsbCBob2xkIG5vdC1pbnN0YWxsZWRcbiIpCi0gICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXMud3JpdGUobGluZSArICJcbiIpCi0KLSAgICAgICAgICAgICAgICAjIEFwcGVuZCBhIGJsYW5rIGxpbmUgYWZ0ZXIgZWFjaCBwYWNrYWdlIGVudHJ5IHRvIGVuc3VyZSB0aGF0IGl0Ci0gICAgICAgICAgICAgICAgIyBpcyBzZXBhcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIGVudHJ5Ci0gICAgICAgICAgICAgICAgc3RhdHVzLndyaXRlKCJcbiIpCi0KICAgICBkZWYgZHVtbXlfaW5zdGFsbChzZWxmLCBwa2dzKToKICAgICAgICAgIiIiCiAgICAgICAgIFRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gZHVtbXkgaW5zdGFsbHMgcGtncyBhbmQgcmV0dXJucyB0aGUgbG9nIG9mIG91dHB1dC4KQEAgLTE1MjAsNyArMTQ5MCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAidHJ5aW5nIHRvIGV4dHJhY3QgdGhlIHBhY2thZ2UuIiAgJSBwa2cpCiAKICAgICAgICAgdG1wX2RpciA9IHN1cGVyKE9wa2dQTSwgc2VsZikuZXh0cmFjdChwa2csIHBrZ19pbmZvKQotICAgICAgICBiYi51dGlscy5yZW1vdmUob3MucGF0aC5qb2luKHRtcF9kaXIsICJkYXRhLnRhci5neiIpKQorICAgICAgICBiYi51dGlscy5yZW1vdmUob3MucGF0aC5qb2luKHRtcF9kaXIsICJkYXRhLnRhci54eiIpKQogCiAgICAgICAgIHJldHVybiB0bXBfZGlyCiAKQEAgLTE1OTIsNyArMTU2Miw3IEBACiAKICAgICAgICAgd2l0aCBvcGVuKHN0YXR1c19maWxlLCAiciIpIGFzIHN0YXR1czoKICAgICAgICAgICAgIGZvciBsaW5lIGluIHN0YXR1cy5yZWFkKCkuc3BsaXQoJ1xuJyk6Ci0gICAgICAgICAgICAgICAgbSA9IHJlLm1hdGNoKCJeUGFja2FnZTogKC4qKSIsIGxpbmUpCisgICAgICAgICAgICAgICAgbSA9IHJlLm1hdGNoKHIiXlBhY2thZ2U6ICguKikiLCBsaW5lKQogICAgICAgICAgICAgICAgIGlmIG0gaXMgbm90IE5vbmU6CiAgICAgICAgICAgICAgICAgICAgIGluc3RhbGxlZF9wa2dzLmFwcGVuZChtLmdyb3VwKDEpKQogCkBAIC0xNjU3LDEzICsxNjI3LDEzIEBACiAgICAgICAgICMgcmVuYW1lICouZHBrZy1uZXcgZmlsZXMvZGlycwogICAgICAgICBmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2FsayhzZWxmLnRhcmdldF9yb290ZnMpOgogICAgICAgICAgICAgZm9yIGRpciBpbiBkaXJzOgotICAgICAgICAgICAgICAgIG5ld19kaXIgPSByZS5zdWIoIlwuZHBrZy1uZXciLCAiIiwgZGlyKQorICAgICAgICAgICAgICAgIG5ld19kaXIgPSByZS5zdWIociJcLmRwa2ctbmV3IiwgIiIsIGRpcikKICAgICAgICAgICAgICAgICBpZiBkaXIgIT0gbmV3X2RpcjoKICAgICAgICAgICAgICAgICAgICAgb3MucmVuYW1lKG9zLnBhdGguam9pbihyb290LCBkaXIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5qb2luKHJvb3QsIG5ld19kaXIpKQogCiAgICAgICAgICAgICBmb3IgZmlsZSBpbiBmaWxlczoKLSAgICAgICAgICAgICAgICBuZXdfZmlsZSA9IHJlLnN1YigiXC5kcGtnLW5ldyIsICIiLCBmaWxlKQorICAgICAgICAgICAgICAgIG5ld19maWxlID0gcmUuc3ViKHIiXC5kcGtnLW5ldyIsICIiLCBmaWxlKQogICAgICAgICAgICAgICAgIGlmIGZpbGUgIT0gbmV3X2ZpbGU6CiAgICAgICAgICAgICAgICAgICAgIG9zLnJlbmFtZShvcy5wYXRoLmpvaW4ocm9vdCwgZmlsZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4ocm9vdCwgbmV3X2ZpbGUpKQpAQCAtMTcyOCw3ICsxNjk4LDcgQEAKICAgICAgICAgICAgICAgICAgICAgc291cmNlc19maWxlLndyaXRlKCJkZWIgJXMgLi9cbiIgJSB1cmkpCiAKICAgICBkZWYgX2NyZWF0ZV9jb25maWdzKHNlbGYsIGFyY2hzLCBiYXNlX2FyY2hzKToKLSAgICAgICAgYmFzZV9hcmNocyA9IHJlLnN1YigiXyIsICItIiwgYmFzZV9hcmNocykKKyAgICAgICAgYmFzZV9hcmNocyA9IHJlLnN1YihyIl8iLCByIi0iLCBiYXNlX2FyY2hzKQogCiAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHNlbGYuYXB0X2NvbmZfZGlyKToKICAgICAgICAgICAgIGJiLnV0aWxzLnJlbW92ZShzZWxmLmFwdF9jb25mX2RpciwgVHJ1ZSkKQEAgLTE3ODIsNyArMTc1Miw3IEBACiAgICAgICAgIHdpdGggb3BlbihzZWxmLmFwdF9jb25mX2ZpbGUsICJ3KyIpIGFzIGFwdF9jb25mOgogICAgICAgICAgICAgd2l0aCBvcGVuKHNlbGYuZC5leHBhbmQoIiR7U1RBR0lOR19FVENESVJfTkFUSVZFfS9hcHQvYXB0LmNvbmYuc2FtcGxlIikpIGFzIGFwdF9jb25mX3NhbXBsZToKICAgICAgICAgICAgICAgICBmb3IgbGluZSBpbiBhcHRfY29uZl9zYW1wbGUucmVhZCgpLnNwbGl0KCJcbiIpOgotICAgICAgICAgICAgICAgICAgICBtYXRjaF9hcmNoID0gcmUubWF0Y2goIiAgQXJjaGl0ZWN0dXJlIFwiLipcIjskIiwgbGluZSkKKyAgICAgICAgICAgICAgICAgICAgbWF0Y2hfYXJjaCA9IHJlLm1hdGNoKHIiICBBcmNoaXRlY3R1cmUgXCIuKlwiOyQiLCBsaW5lKQogICAgICAgICAgICAgICAgICAgICBhcmNoaXRlY3R1cmVzID0gIiIKICAgICAgICAgICAgICAgICAgICAgaWYgbWF0Y2hfYXJjaDoKICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBiYXNlX2FyY2ggaW4gYmFzZV9hcmNoX2xpc3Q6CkBAIC0xNzkwLDggKzE3NjAsOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgYXB0X2NvbmYud3JpdGUoIiAgQXJjaGl0ZWN0dXJlcyB7JXN9O1xuIiAlIGFyY2hpdGVjdHVyZXMpOwogICAgICAgICAgICAgICAgICAgICAgICAgYXB0X2NvbmYud3JpdGUoIiAgQXJjaGl0ZWN0dXJlIFwiJXNcIjtcbiIgJSBiYXNlX2FyY2hzKQogICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgbGluZSA9IHJlLnN1YigiI1JPT1RGUyMiLCBzZWxmLnRhcmdldF9yb290ZnMsIGxpbmUpCi0gICAgICAgICAgICAgICAgICAgICAgICBsaW5lID0gcmUuc3ViKCIjQVBUQ09ORiMiLCBzZWxmLmFwdF9jb25mX2RpciwgbGluZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUgPSByZS5zdWIociIjUk9PVEZTIyIsIHNlbGYudGFyZ2V0X3Jvb3RmcywgbGluZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUgPSByZS5zdWIociIjQVBUQ09ORiMiLCBzZWxmLmFwdF9jb25mX2RpciwgbGluZSkKICAgICAgICAgICAgICAgICAgICAgICAgIGFwdF9jb25mLndyaXRlKGxpbmUgKyAiXG4iKQogCiAgICAgICAgIHRhcmdldF9kcGtnX2RpciA9ICIlcy92YXIvbGliL2Rwa2ciICUgc2VsZi50YXJnZXRfcm9vdGZzCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lL3BhdGNoLnB5IGIvcG9reS9tZXRhL2xpYi9vZS9wYXRjaC5weQppbmRleCBlMGYwNjA0Li43ZGQzMWQ5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lL3BhdGNoLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2UvcGF0Y2gucHkKQEAgLTMzNCw4ICszMzQsOCBAQAogICAgIEBzdGF0aWNtZXRob2QKICAgICBkZWYgaW50ZXJwcmV0UGF0Y2hIZWFkZXIoaGVhZGVybGluZXMpOgogICAgICAgICBpbXBvcnQgcmUKLSAgICAgICAgYXV0aG9yX3JlID0gcmUuY29tcGlsZSgnW1xTIF0rIDxcUytAXFMrXC5cUys+JykKLSAgICAgICAgZnJvbV9jb21taXRfcmUgPSByZS5jb21waWxlKCdeRnJvbSBbYS16MC05XXs0MH0gLionKQorICAgICAgICBhdXRob3JfcmUgPSByZS5jb21waWxlKHInW1xTIF0rIDxcUytAXFMrXC5cUys+JykKKyAgICAgICAgZnJvbV9jb21taXRfcmUgPSByZS5jb21waWxlKHInXkZyb20gW2EtejAtOV17NDB9IC4qJykKICAgICAgICAgb3V0bGluZXMgPSBbXQogICAgICAgICBhdXRob3IgPSBOb25lCiAgICAgICAgIGRhdGUgPSBOb25lCkBAIC03OTAsOSArNzkwLDExIEBACiAKIAogZGVmIHBhdGNoX3BhdGgodXJsLCBmZXRjaCwgd29ya2RpciwgZXhwYW5kPVRydWUpOgotICAgICIiIlJldHVybiB0aGUgbG9jYWwgcGF0aCBvZiBhIHBhdGNoLCBvciBOb25lIGlmIHRoaXMgaXNuJ3QgYSBwYXRjaCIiIgorICAgICIiIlJldHVybiB0aGUgbG9jYWwgcGF0aCBvZiBhIHBhdGNoLCBvciByZXR1cm4gbm90aGluZyBpZiB0aGlzIGlzbid0IGEgcGF0Y2giIiIKIAogICAgIGxvY2FsID0gZmV0Y2gubG9jYWxwYXRoKHVybCkKKyAgICBpZiBvcy5wYXRoLmlzZGlyKGxvY2FsKToKKyAgICAgICAgcmV0dXJuCiAgICAgYmFzZSwgZXh0ID0gb3MucGF0aC5zcGxpdGV4dChvcy5wYXRoLmJhc2VuYW1lKGxvY2FsKSkKICAgICBpZiBleHQgaW4gKCcuZ3onLCAnLmJ6MicsICcueHonLCAnLlonKToKICAgICAgICAgaWYgZXhwYW5kOgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZS9yZWNpcGV1dGlscy5weSBiL3Bva3kvbWV0YS9saWIvb2UvcmVjaXBldXRpbHMucHkKaW5kZXggYWE2NDU1My4uNGNhMjAwZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZS9yZWNpcGV1dGlscy5weQorKysgYi9wb2t5L21ldGEvbGliL29lL3JlY2lwZXV0aWxzLnB5CkBAIC0xNiw0MCArMTYsNDAgQEAKIGltcG9ydCByZQogaW1wb3J0IGZubWF0Y2gKIGltcG9ydCBnbG9iCi1mcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBPcmRlcmVkRGljdCwgZGVmYXVsdGRpY3QKK2ltcG9ydCBiYi50aW5mb2lsCiAKK2Zyb20gY29sbGVjdGlvbnMgaW1wb3J0IE9yZGVyZWREaWN0LCBkZWZhdWx0ZGljdAorZnJvbSBiYi51dGlscyBpbXBvcnQgdmVyY21wX3N0cmluZwogCiAjIEhlbHAgdXMgdG8gZmluZCBwbGFjZXMgdG8gaW5zZXJ0IHZhbHVlcwogcmVjaXBlX3Byb2dyZXNzaW9uID0gWydTVU1NQVJZJywgJ0RFU0NSSVBUSU9OJywgJ0hPTUVQQUdFJywgJ0JVR1RSQUNLRVInLCAnU0VDVElPTicsICdMSUNFTlNFJywgJ0xJQ0VOU0VfRkxBR1MnLCAnTElDX0ZJTEVTX0NIS1NVTScsICdQUk9WSURFUycsICdERVBFTkRTJywgJ1BSJywgJ1BWJywgJ1NSQ1JFVicsICdTUkNQVicsICdTUkNfVVJJJywgJ1MnLCAnZG9fZmV0Y2goKScsICdkb191bnBhY2soKScsICdkb19wYXRjaCgpJywgJ0VYVFJBX09FQ09ORicsICdFWFRSQV9PRUNNQUtFJywgJ0VYVFJBX09FU0NPTlMnLCAnZG9fY29uZmlndXJlKCknLCAnRVhUUkFfT0VNQUtFJywgJ2RvX2NvbXBpbGUoKScsICdkb19pbnN0YWxsKCknLCAnZG9fcG9wdWxhdGVfc3lzcm9vdCgpJywgJ0lOSVRTQ1JJUFQnLCAnVVNFUkFERCcsICdHUk9VUEFERCcsICdQQUNLQUdFUycsICdGSUxFUycsICdSREVQRU5EUycsICdSUkVDT01NRU5EUycsICdSU1VHR0VTVFMnLCAnUlBST1ZJREVTJywgJ1JSRVBMQUNFUycsICdSQ09ORkxJQ1RTJywgJ0FMTE9XX0VNUFRZJywgJ3BvcHVsYXRlX3BhY2thZ2VzKCknLCAnZG9fcGFja2FnZSgpJywgJ2RvX2RlcGxveSgpJ10KICMgVmFyaWFibGVzIHRoYXQgc29tZXRpbWVzIGFyZSBhIGJpdCBsb25nIGJ1dCBzaG91bGRuJ3QgYmUgd3JhcHBlZAotbm93cmFwX3ZhcnMgPSBbJ1NVTU1BUlknLCAnSE9NRVBBR0UnLCAnQlVHVFJBQ0tFUicsICdTUkNfVVJJXFsoLitcLik/bWQ1c3VtXF0nLCAnU1JDX1VSSVxbKC4rXC4pP3NoYTI1NnN1bVxdJ10KK25vd3JhcF92YXJzID0gWydTVU1NQVJZJywgJ0hPTUVQQUdFJywgJ0JVR1RSQUNLRVInLCByJ1NSQ19VUklcWyguK1wuKT9tZDVzdW1cXScsIHInU1JDX1VSSVxbKC4rXC4pP3NoYTI1NnN1bVxdJ10KIGxpc3RfdmFycyA9IFsnU1JDX1VSSScsICdMSUNfRklMRVNfQ0hLU1VNJ10KIG1ldGFfdmFycyA9IFsnU1VNTUFSWScsICdERVNDUklQVElPTicsICdIT01FUEFHRScsICdCVUdUUkFDS0VSJywgJ1NFQ1RJT04nXQogCiAKLWRlZiBwbl90b19yZWNpcGUoY29va2VyLCBwbiwgbWM9JycpOgotICAgICIiIkNvbnZlcnQgYSByZWNpcGUgbmFtZSAoUE4pIHRvIHRoZSBwYXRoIHRvIHRoZSByZWNpcGUgZmlsZSIiIgotCi0gICAgYmVzdCA9IGNvb2tlci5maW5kQmVzdFByb3ZpZGVyKHBuLCBtYykKLSAgICByZXR1cm4gYmVzdFszXQotCi0KLWRlZiBnZXRfdW5hdmFpbGFibGVfcmVhc29ucyhjb29rZXIsIHBuKToKLSAgICAiIiJJZiBhIHJlY2lwZSBjb3VsZCBub3QgYmUgZm91bmQsIGZpbmQgb3V0IHdoeSBpZiBwb3NzaWJsZSIiIgotICAgIGltcG9ydCBiYi50YXNrZGF0YQotICAgIHRhc2tkYXRhID0gYmIudGFza2RhdGEuVGFza0RhdGEoTm9uZSwgc2tpcGxpc3Q9Y29va2VyLnNraXBsaXN0KQotICAgIHJldHVybiB0YXNrZGF0YS5nZXRfcmVhc29ucyhwbikKLQotCi1kZWYgcGFyc2VfcmVjaXBlKGNvb2tlciwgZm4sIGFwcGVuZGZpbGVzKToKK2RlZiBzaW1wbGlmeV9oaXN0b3J5KGhpc3RvcnksIGQpOgogICAgICIiIgotICAgIFBhcnNlIGFuIGluZGl2aWR1YWwgcmVjaXBlIGZpbGUsIG9wdGlvbmFsbHkgd2l0aCBhIGxpc3Qgb2YKLSAgICBiYmFwcGVuZCBmaWxlcy4KKyAgICBFbGltaW5hdGUgYW55IGlycmVsZXZhbnQgZXZlbnRzIGZyb20gYSB2YXJpYWJsZSBoaXN0b3J5CiAgICAgIiIiCi0gICAgaW1wb3J0IGJiLmNhY2hlCi0gICAgcGFyc2VyID0gYmIuY2FjaGUuTm9DYWNoZShjb29rZXIuZGF0YWJ1aWxkZXIpCi0gICAgZW52ZGF0YSA9IHBhcnNlci5sb2FkRGF0YUZ1bGwoZm4sIGFwcGVuZGZpbGVzKQotICAgIHJldHVybiBlbnZkYXRhCisgICAgcmV0X2hpc3RvcnkgPSBbXQorICAgIGhhc19zZXQgPSBGYWxzZQorICAgICMgR28gYmFja3dhcmRzIHRocm91Z2ggdGhlIGhpc3RvcnkgYW5kIHJlbW92ZSBhbnkgaW1tZWRpYXRlIG9wZXJhdGlvbnMKKyAgICAjIGJlZm9yZSB0aGUgbW9zdCByZWNlbnQgc2V0CisgICAgZm9yIGV2ZW50IGluIHJldmVyc2VkKGhpc3RvcnkpOgorICAgICAgICBpZiAnZmxhZycgaW4gZXZlbnQgb3Igbm90ICdmaWxlJyBpbiBldmVudDoKKyAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIGlmIGV2ZW50WydvcCddID09ICdzZXQnOgorICAgICAgICAgICAgaWYgaGFzX3NldDoKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgaGFzX3NldCA9IFRydWUKKyAgICAgICAgZWxpZiBldmVudFsnb3AnXSBpbiAoJ2FwcGVuZCcsICdwcmVwZW5kJywgJ3Bvc3Rkb3QnLCAncHJlZG90Jyk6CisgICAgICAgICAgICAjIFJlbWluZGVyOiAiYXBwZW5kIiBhbmQgInByZXBlbmQiIG1lYW4gKz0gYW5kID0rIHJlc3BlY3RpdmVseSwgTk9UIF9hcHBlbmQgLyBfcHJlcGVuZAorICAgICAgICAgICAgaWYgaGFzX3NldDoKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICByZXRfaGlzdG9yeS5pbnNlcnQoMCwgZXZlbnQpCisgICAgcmV0dXJuIHJldF9oaXN0b3J5CiAKIAogZGVmIGdldF92YXJfZmlsZXMoZm4sIHZhcmxpc3QsIGQpOgpAQCAtNTgsMTEgKzU4LDE5IEBACiAgICAgIiIiCiAgICAgdmFyZmlsZXMgPSB7fQogICAgIGZvciB2IGluIHZhcmxpc3Q6Ci0gICAgICAgIGhpc3RvcnkgPSBkLnZhcmhpc3RvcnkudmFyaWFibGUodikKICAgICAgICAgZmlsZXMgPSBbXQotICAgICAgICBmb3IgZXZlbnQgaW4gaGlzdG9yeToKLSAgICAgICAgICAgIGlmICdmaWxlJyBpbiBldmVudCBhbmQgbm90ICdmbGFnJyBpbiBldmVudDoKLSAgICAgICAgICAgICAgICBmaWxlcy5hcHBlbmQoZXZlbnRbJ2ZpbGUnXSkKKyAgICAgICAgaWYgJ1snIGluIHY6CisgICAgICAgICAgICB2YXJzcGxpdCA9IHYuc3BsaXQoJ1snKQorICAgICAgICAgICAgdmFyZmxhZyA9IHZhcnNwbGl0WzFdLnNwbGl0KCddJylbMF0KKyAgICAgICAgICAgIGhpc3RvcnkgPSBkLnZhcmhpc3RvcnkudmFyaWFibGUodmFyc3BsaXRbMF0pCisgICAgICAgICAgICBmb3IgZXZlbnQgaW4gaGlzdG9yeToKKyAgICAgICAgICAgICAgICBpZiAnZmlsZScgaW4gZXZlbnQgYW5kIGV2ZW50LmdldCgnZmxhZycsICcnKSA9PSB2YXJmbGFnOgorICAgICAgICAgICAgICAgICAgICBmaWxlcy5hcHBlbmQoZXZlbnRbJ2ZpbGUnXSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGhpc3RvcnkgPSBkLnZhcmhpc3RvcnkudmFyaWFibGUodikKKyAgICAgICAgICAgIGZvciBldmVudCBpbiBoaXN0b3J5OgorICAgICAgICAgICAgICAgIGlmICdmaWxlJyBpbiBldmVudCBhbmQgbm90ICdmbGFnJyBpbiBldmVudDoKKyAgICAgICAgICAgICAgICAgICAgZmlsZXMuYXBwZW5kKGV2ZW50WydmaWxlJ10pCiAgICAgICAgIGlmIGZpbGVzOgogICAgICAgICAgICAgYWN0dWFsZmlsZSA9IGZpbGVzWy0xXQogICAgICAgICBlbHNlOgpAQCAtMTUzLDcgKzE2MSw3IEBACiAgICAgICAgICAgICBrZXkgPSBpdGVtWzotMl0KICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGtleSA9IGl0ZW0KLSAgICAgICAgcmVzdHIgPSAnJXMoX1thLXpBLVowLTktXyQoKXt9XSt8XFtbXlxdXSpcXSk/JyAlIGtleQorICAgICAgICByZXN0ciA9IHInJXMoX1thLXpBLVowLTktXyQoKXt9XSt8XFtbXlxdXSpcXSk/JyAlIGtleQogICAgICAgICBpZiBpdGVtLmVuZHN3aXRoKCcoKScpOgogICAgICAgICAgICAgcmVjaXBlX3Byb2dyZXNzaW9uX3Jlc3Rycy5hcHBlbmQocmVzdHIgKyAnKCknKQogICAgICAgICBlbHNlOgpAQCAtMTc2LDcgKzE4NCwxNCBAQAogICAgIGRlZiBvdXRwdXR2YWx1ZShuYW1lLCBsaW5lcywgcmV3aW5kY29tbWVudHM9RmFsc2UpOgogICAgICAgICBpZiB2YWx1ZXNbbmFtZV0gaXMgTm9uZToKICAgICAgICAgICAgIHJldHVybgotICAgICAgICByYXd0ZXh0ID0gJyVzID0gIiVzIiVzJyAlIChuYW1lLCB2YWx1ZXNbbmFtZV0sIG5ld2xpbmUpCisgICAgICAgIGlmIGlzaW5zdGFuY2UodmFsdWVzW25hbWVdLCB0dXBsZSk6CisgICAgICAgICAgICBvcCwgdmFsdWUgPSB2YWx1ZXNbbmFtZV0KKyAgICAgICAgICAgIGlmIG9wID09ICcrPScgYW5kIHZhbHVlLnN0cmlwKCkgPT0gJyc6CisgICAgICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICB2YWx1ZSA9IHZhbHVlc1tuYW1lXQorICAgICAgICAgICAgb3AgPSAnPScKKyAgICAgICAgcmF3dGV4dCA9ICclcyAlcyAiJXMiJXMnICUgKG5hbWUsIG9wLCB2YWx1ZSwgbmV3bGluZSkKICAgICAgICAgYWRkbGluZXMgPSBbXQogICAgICAgICBub3dyYXAgPSBGYWxzZQogICAgICAgICBmb3Igbm93cmFwX3JlIGluIG5vd3JhcF92YXJzX3JlczoKQEAgLTE4NiwxMCArMjAxLDEwIEBACiAgICAgICAgIGlmIG5vd3JhcDoKICAgICAgICAgICAgIGFkZGxpbmVzLmFwcGVuZChyYXd0ZXh0KQogICAgICAgICBlbGlmIG5hbWUgaW4gbGlzdF92YXJzOgotICAgICAgICAgICAgc3BsaXR2YWx1ZSA9IHNwbGl0X3Zhcl92YWx1ZSh2YWx1ZXNbbmFtZV0sIGFzc2lnbm1lbnQ9RmFsc2UpCisgICAgICAgICAgICBzcGxpdHZhbHVlID0gc3BsaXRfdmFyX3ZhbHVlKHZhbHVlLCBhc3NpZ25tZW50PUZhbHNlKQogICAgICAgICAgICAgaWYgbGVuKHNwbGl0dmFsdWUpID4gMToKICAgICAgICAgICAgICAgICBsaW5lc3BsaXQgPSAnIFxcXG4nICsgKCcgJyAqIChsZW4obmFtZSkgKyA0KSkKLSAgICAgICAgICAgICAgICBhZGRsaW5lcy5hcHBlbmQoJyVzID0gIiVzJXMiJXMnICUgKG5hbWUsIGxpbmVzcGxpdC5qb2luKHNwbGl0dmFsdWUpLCBsaW5lc3BsaXQsIG5ld2xpbmUpKQorICAgICAgICAgICAgICAgIGFkZGxpbmVzLmFwcGVuZCgnJXMgJXMgIiVzJXMiJXMnICUgKG5hbWUsIG9wLCBsaW5lc3BsaXQuam9pbihzcGxpdHZhbHVlKSwgbGluZXNwbGl0LCBuZXdsaW5lKSkKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgYWRkbGluZXMuYXBwZW5kKHJhd3RleHQpCiAgICAgICAgIGVsc2U6CkBAIC0zMjEsMTIgKzMzNiw0NyBAQAogICAgICIiIk1vZGlmeSBhIGxpc3Qgb2YgdmFyaWFibGUgdmFsdWVzIGluIHRoZSBzcGVjaWZpZWQgcmVjaXBlLiBIYW5kbGVzIGluYyBmaWxlcyBpZgogICAgIHVzZWQgYnkgdGhlIHJlY2lwZS4KICAgICAiIiIKKyAgICBvdmVycmlkZXMgPSBkLmdldFZhcignT1ZFUlJJREVTJykuc3BsaXQoJzonKQorICAgIGRlZiBvdmVycmlkZV9hcHBsaWNhYmxlKGhldmVudCk6CisgICAgICAgIG9wID0gaGV2ZW50WydvcCddCisgICAgICAgIGlmICdbJyBpbiBvcDoKKyAgICAgICAgICAgIG9wb3ZlcnJpZGVzID0gb3Auc3BsaXQoJ1snKVsxXS5zcGxpdCgnXScpWzBdLnNwbGl0KCdfJykKKyAgICAgICAgICAgIGZvciBvcG92ZXJyaWRlIGluIG9wb3ZlcnJpZGVzOgorICAgICAgICAgICAgICAgIGlmIG5vdCBvcG92ZXJyaWRlIGluIG92ZXJyaWRlczoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIHJldHVybiBUcnVlCisKICAgICB2YXJsaXN0ID0gdmFydmFsdWVzLmtleXMoKQorICAgIGZuID0gb3MucGF0aC5hYnNwYXRoKGZuKQogICAgIHZhcmZpbGVzID0gZ2V0X3Zhcl9maWxlcyhmbiwgdmFybGlzdCwgZCkKICAgICBsb2NzID0gbG9jYWxpc2VfZmlsZV92YXJzKGZuLCB2YXJmaWxlcywgdmFybGlzdCkKICAgICBwYXRjaGVzID0gW10KICAgICBmb3IgZix2IGluIGxvY3MuaXRlbXMoKToKICAgICAgICAgdmFscyA9IHtrOiB2YXJ2YWx1ZXNba10gZm9yIGsgaW4gdn0KKyAgICAgICAgZiA9IG9zLnBhdGguYWJzcGF0aChmKQorICAgICAgICBpZiBmID09IGZuOgorICAgICAgICAgICAgZXh0cmF2YWxzID0ge30KKyAgICAgICAgICAgIGZvciB2YXIsIHZhbHVlIGluIHZhbHMuaXRlbXMoKToKKyAgICAgICAgICAgICAgICBpZiB2YXIgaW4gbGlzdF92YXJzOgorICAgICAgICAgICAgICAgICAgICBoaXN0b3J5ID0gc2ltcGxpZnlfaGlzdG9yeShkLnZhcmhpc3RvcnkudmFyaWFibGUodmFyKSwgZCkKKyAgICAgICAgICAgICAgICAgICAgcmVjaXBlX3NldCA9IEZhbHNlCisgICAgICAgICAgICAgICAgICAgIGZvciBldmVudCBpbiBoaXN0b3J5OgorICAgICAgICAgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5hYnNwYXRoKGV2ZW50WydmaWxlJ10pID09IGZuOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGV2ZW50WydvcCddID09ICdzZXQnOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNpcGVfc2V0ID0gVHJ1ZQorICAgICAgICAgICAgICAgICAgICBpZiBub3QgcmVjaXBlX3NldDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGZvciBldmVudCBpbiBoaXN0b3J5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGV2ZW50WydvcCddLnN0YXJ0c3dpdGgoJ19yZW1vdmUnKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3Qgb3ZlcnJpZGVfYXBwbGljYWJsZShldmVudCk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3dmFsdWUgPSB2YWx1ZS5yZXBsYWNlKGV2ZW50WydkZXRhaWwnXSwgJycpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgbmV3dmFsdWUgPT0gdmFsdWUgYW5kIG9zLnBhdGguYWJzcGF0aChldmVudFsnZmlsZSddKSA9PSBmbiBhbmQgZXZlbnRbJ29wJ10uc3RhcnRzd2l0aCgnXycpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcCA9IGV2ZW50WydvcCddLnJlcGxhY2UoJ1snLCAnXycpLnJlcGxhY2UoJ10nLCAnJykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmF2YWxzW3ZhciArIG9wXSA9IE5vbmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IG5ld3ZhbHVlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsc1t2YXJdID0gKCcrPScsIHZhbHVlKQorICAgICAgICAgICAgdmFscy51cGRhdGUoZXh0cmF2YWxzKQogICAgICAgICBwYXRjaGRhdGEgPSBwYXRjaF9yZWNpcGVfZmlsZShmLCB2YWxzLCBwYXRjaCwgcmVscGF0aCwgcmVkaXJlY3Rfb3V0cHV0KQogICAgICAgICBpZiBwYXRjaDoKICAgICAgICAgICAgIHBhdGNoZXMuYXBwZW5kKHBhdGNoZGF0YSkKQEAgLTQzMiw3ICs0ODIsMTQgQEAKICAgICAgICAgICAgICAgICAgICAgdW5wYWNrID0gZmV0Y2gudWRbdXJpXS5wYXJtLmdldCgndW5wYWNrJywgVHJ1ZSkKICAgICAgICAgICAgICAgICAgICAgaWYgdW5wYWNrOgogICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgIHJldFtmbmFtZV0gPSBsb2NhbHBhdGgKKyAgICAgICAgICAgIGlmIG9zLnBhdGguaXNkaXIobG9jYWxwYXRoKToKKyAgICAgICAgICAgICAgICBmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2Fsayhsb2NhbHBhdGgpOgorICAgICAgICAgICAgICAgICAgICBmb3IgZm5hbWUgaW4gZmlsZXM6CisgICAgICAgICAgICAgICAgICAgICAgICBmaWxlYWJzcGF0aCA9IG9zLnBhdGguam9pbihyb290LGZuYW1lKQorICAgICAgICAgICAgICAgICAgICAgICAgc3JjZGlyID0gb3MucGF0aC5kaXJuYW1lKGxvY2FscGF0aCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldFtvcy5wYXRoLnJlbHBhdGgoZmlsZWFic3BhdGgsc3JjZGlyKV0gPSBmaWxlYWJzcGF0aAorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXRbZm5hbWVdID0gbG9jYWxwYXRoCiAgICAgcmV0dXJuIHJldAogCiAKQEAgLTg3NSw3ICs5MzIsNyBAQAogICAgIHNmeCA9ICcnCiAKICAgICBpZiB1cmlfdHlwZSA9PSAnZ2l0JzoKLSAgICAgICAgZ2l0X3JlZ2V4ID0gcmUuY29tcGlsZSgiKD9QPHBmeD52PykoP1A8dmVyPlteXCtdKikoKD9QPHNmeD5cKyhnaXQpP3I/KEFVVE9JTkNcKykpKD9QPHJldj4uKikpPyIpCisgICAgICAgIGdpdF9yZWdleCA9IHJlLmNvbXBpbGUociIoP1A8cGZ4PnY/KSg/UDx2ZXI+W15cK10qKSgoP1A8c2Z4PlwrKGdpdCk/cj8oQVVUT0lOQ1wrKSkoP1A8cmV2Pi4qKSk/IikKICAgICAgICAgbSA9IGdpdF9yZWdleC5tYXRjaChwdikKIAogICAgICAgICBpZiBtOgpAQCAtODgzLDcgKzk0MCw3IEBACiAgICAgICAgICAgICBwZnggPSBtLmdyb3VwKCdwZngnKQogICAgICAgICAgICAgc2Z4ID0gbS5ncm91cCgnc2Z4JykKICAgICBlbHNlOgotICAgICAgICByZWdleCA9IHJlLmNvbXBpbGUoIig/UDxwZng+KHZ8cik/KSg/UDx2ZXI+LiopIikKKyAgICAgICAgcmVnZXggPSByZS5jb21waWxlKHIiKD9QPHBmeD4odnxyKT8pKD9QPHZlcj4uKikiKQogICAgICAgICBtID0gcmVnZXgubWF0Y2gocHYpCiAgICAgICAgIGlmIG06CiAgICAgICAgICAgICBwdiA9IG0uZ3JvdXAoJ3ZlcicpCkBAIC05NjksMyArMTAyNiw4NyBAQAogICAgICAgICBydVsnZGF0ZXRpbWUnXSA9IGRhdGV0aW1lLm5vdygpCiAKICAgICByZXR1cm4gcnUKKworZGVmIF9nZXRfcmVjaXBlX3VwZ3JhZGVfc3RhdHVzKGRhdGEpOgorICAgIHV2ID0gZ2V0X3JlY2lwZV91cHN0cmVhbV92ZXJzaW9uKGRhdGEpCisKKyAgICBwbiA9IGRhdGEuZ2V0VmFyKCdQTicpCisgICAgY3VyX3ZlciA9IHV2WydjdXJyZW50X3ZlcnNpb24nXQorCisgICAgdXBzdHJlYW1fdmVyc2lvbl91bmtub3duID0gZGF0YS5nZXRWYXIoJ1VQU1RSRUFNX1ZFUlNJT05fVU5LTk9XTicpCisgICAgaWYgbm90IHV2Wyd2ZXJzaW9uJ106CisgICAgICAgIHN0YXR1cyA9ICJVTktOT1dOIiBpZiB1cHN0cmVhbV92ZXJzaW9uX3Vua25vd24gZWxzZSAiVU5LTk9XTl9CUk9LRU4iCisgICAgZWxzZToKKyAgICAgICAgY21wID0gdmVyY21wX3N0cmluZyh1dlsnY3VycmVudF92ZXJzaW9uJ10sIHV2Wyd2ZXJzaW9uJ10pCisgICAgICAgIGlmIGNtcCA9PSAtMToKKyAgICAgICAgICAgIHN0YXR1cyA9ICJVUERBVEUiIGlmIG5vdCB1cHN0cmVhbV92ZXJzaW9uX3Vua25vd24gZWxzZSAiS05PV05fQlJPS0VOIgorICAgICAgICBlbGlmIGNtcCA9PSAwOgorICAgICAgICAgICAgc3RhdHVzID0gIk1BVENIIiBpZiBub3QgdXBzdHJlYW1fdmVyc2lvbl91bmtub3duIGVsc2UgIktOT1dOX0JST0tFTiIKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHN0YXR1cyA9ICJVTktOT1dOIiBpZiB1cHN0cmVhbV92ZXJzaW9uX3Vua25vd24gZWxzZSAiVU5LTk9XTl9CUk9LRU4iCisKKyAgICBuZXh0X3ZlciA9IHV2Wyd2ZXJzaW9uJ10gaWYgdXZbJ3ZlcnNpb24nXSBlbHNlICJOL0EiCisgICAgcmV2aXNpb24gPSB1dlsncmV2aXNpb24nXSBpZiB1dlsncmV2aXNpb24nXSBlbHNlICJOL0EiCisgICAgbWFpbnRhaW5lciA9IGRhdGEuZ2V0VmFyKCdSRUNJUEVfTUFJTlRBSU5FUicpCisgICAgbm9fdXBncmFkZV9yZWFzb24gPSBkYXRhLmdldFZhcignUkVDSVBFX05PX1VQREFURV9SRUFTT04nKQorCisgICAgcmV0dXJuIChwbiwgc3RhdHVzLCBjdXJfdmVyLCBuZXh0X3ZlciwgbWFpbnRhaW5lciwgcmV2aXNpb24sIG5vX3VwZ3JhZGVfcmVhc29uKQorCitkZWYgZ2V0X3JlY2lwZV91cGdyYWRlX3N0YXR1cyhyZWNpcGVzPU5vbmUpOgorICAgIHBrZ3NfbGlzdCA9IFtdCisgICAgZGF0YV9jb3B5X2xpc3QgPSBbXQorICAgIGNvcHlfdmFycyA9ICgnU1JDX1VSSScsCisgICAgICAgICAgICAgICAgICdQVicsCisgICAgICAgICAgICAgICAgICdHSVRESVInLAorICAgICAgICAgICAgICAgICAnRExfRElSJywKKyAgICAgICAgICAgICAgICAgJ1BOJywKKyAgICAgICAgICAgICAgICAgJ0NBQ0hFJywKKyAgICAgICAgICAgICAgICAgJ1BFUlNJU1RFTlRfRElSJywKKyAgICAgICAgICAgICAgICAgJ0JCX1VSSV9IRUFEUkVWUycsCisgICAgICAgICAgICAgICAgICdVUFNUUkVBTV9DSEVDS19DT01NSVRTJywKKyAgICAgICAgICAgICAgICAgJ1VQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYJywKKyAgICAgICAgICAgICAgICAgJ1VQU1RSRUFNX0NIRUNLX1JFR0VYJywKKyAgICAgICAgICAgICAgICAgJ1VQU1RSRUFNX0NIRUNLX1VSSScsCisgICAgICAgICAgICAgICAgICdVUFNUUkVBTV9WRVJTSU9OX1VOS05PV04nLAorICAgICAgICAgICAgICAgICAnUkVDSVBFX01BSU5UQUlORVInLAorICAgICAgICAgICAgICAgICAnUkVDSVBFX05PX1VQREFURV9SRUFTT04nLAorICAgICAgICAgICAgICAgICAnUkVDSVBFX1VQU1RSRUFNX1ZFUlNJT04nLAorICAgICAgICAgICAgICAgICAnUkVDSVBFX1VQU1RSRUFNX0RBVEUnLAorICAgICAgICAgICAgICAgICAnQ0hFQ0tfREFURScsCisgICAgICAgICAgICApCisKKyAgICB3aXRoIGJiLnRpbmZvaWwuVGluZm9pbCgpIGFzIHRpbmZvaWw6CisgICAgICAgIHRpbmZvaWwucHJlcGFyZShjb25maWdfb25seT1GYWxzZSkKKworICAgICAgICBpZiBub3QgcmVjaXBlczoKKyAgICAgICAgICAgIHJlY2lwZXMgPSB0aW5mb2lsLmFsbF9yZWNpcGVfZmlsZXModmFyaWFudHM9RmFsc2UpCisKKyAgICAgICAgZm9yIGZuIGluIHJlY2lwZXM6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgaWYgZm4uc3RhcnRzd2l0aCgiLyIpOgorICAgICAgICAgICAgICAgICAgICBkYXRhID0gdGluZm9pbC5wYXJzZV9yZWNpcGVfZmlsZShmbikKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBkYXRhID0gdGluZm9pbC5wYXJzZV9yZWNpcGUoZm4pCisgICAgICAgICAgICBleGNlcHQgYmIucHJvdmlkZXJzLk5vUHJvdmlkZXI6CisgICAgICAgICAgICAgICAgYmIubm90ZSgiIE5vIHByb3ZpZGVyIGZvciAlcyIgJSBmbikKKyAgICAgICAgICAgICAgICBjb250aW51ZQorCisgICAgICAgICAgICB1bnJlbGlhYmxlID0gZGF0YS5nZXRWYXIoJ1VQU1RSRUFNX0NIRUNLX1VOUkVMSUFCTEUnKQorICAgICAgICAgICAgaWYgdW5yZWxpYWJsZSA9PSAiMSI6CisgICAgICAgICAgICAgICAgYmIubm90ZSgiIFNraXAgcGFja2FnZSAlcyBhcyB1cHN0cmVhbSBjaGVjayB1bnJlbGlhYmxlIiAlIHBuKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAgICAgICAgIGRhdGFfY29weSA9IGJiLmRhdGEuaW5pdCgpCisgICAgICAgICAgICBmb3IgdmFyIGluIGNvcHlfdmFyczoKKyAgICAgICAgICAgICAgICBkYXRhX2NvcHkuc2V0VmFyKHZhciwgZGF0YS5nZXRWYXIodmFyKSkKKyAgICAgICAgICAgIGZvciBrIGluIGRhdGE6CisgICAgICAgICAgICAgICAgaWYgay5zdGFydHN3aXRoKCdTUkNSRVYnKToKKyAgICAgICAgICAgICAgICAgICAgZGF0YV9jb3B5LnNldFZhcihrLCBkYXRhLmdldFZhcihrKSkKKworICAgICAgICAgICAgZGF0YV9jb3B5X2xpc3QuYXBwZW5kKGRhdGFfY29weSkKKworICAgIGZyb20gY29uY3VycmVudC5mdXR1cmVzIGltcG9ydCBQcm9jZXNzUG9vbEV4ZWN1dG9yCisgICAgd2l0aCBQcm9jZXNzUG9vbEV4ZWN1dG9yKG1heF93b3JrZXJzPXV0aWxzLmNwdV9jb3VudCgpKSBhcyBleGVjdXRvcjoKKyAgICAgICAgcGtnc19saXN0ID0gZXhlY3V0b3IubWFwKF9nZXRfcmVjaXBlX3VwZ3JhZGVfc3RhdHVzLCBkYXRhX2NvcHlfbGlzdCkKKworICAgIHJldHVybiBwa2dzX2xpc3QKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2Uvcm9vdGZzLnB5IGIvcG9reS9tZXRhL2xpYi9vZS9yb290ZnMucHkKaW5kZXggZTU1MTJkMC4uYjdjMGI5YyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZS9yb290ZnMucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZS9yb290ZnMucHkKQEAgLTM1NCw5ICszNTQsOSBAQAogY2xhc3MgUnBtUm9vdGZzKFJvb3Rmcyk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGQsIG1hbmlmZXN0X2RpciwgcHJvZ3Jlc3NfcmVwb3J0ZXI9Tm9uZSwgbG9nY2F0Y2hlcj1Ob25lKToKICAgICAgICAgc3VwZXIoUnBtUm9vdGZzLCBzZWxmKS5fX2luaXRfXyhkLCBwcm9ncmVzc19yZXBvcnRlciwgbG9nY2F0Y2hlcikKLSAgICAgICAgc2VsZi5sb2dfY2hlY2tfcmVnZXggPSAnKHVucGFja2luZyBvZiBhcmNoaXZlIGZhaWxlZHxDYW5ub3QgZmluZCBwYWNrYWdlJ1wKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnfGV4aXQgMXxFUlJPUjogfEVycm9yOiB8RXJyb3IgfEVSUk9SICdcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3xGYWlsZWQgfEZhaWxlZDogfEZhaWxlZCR8RmFpbGVkXChcZCtcKTopJworICAgICAgICBzZWxmLmxvZ19jaGVja19yZWdleCA9IHInKHVucGFja2luZyBvZiBhcmNoaXZlIGZhaWxlZHxDYW5ub3QgZmluZCBwYWNrYWdlJ1wKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByJ3xleGl0IDF8RVJST1I6IHxFcnJvcjogfEVycm9yIHxFUlJPUiAnXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHInfEZhaWxlZCB8RmFpbGVkOiB8RmFpbGVkJHxGYWlsZWRcKFxkK1wpOiknCiAgICAgICAgIHNlbGYubWFuaWZlc3QgPSBScG1NYW5pZmVzdChkLCBtYW5pZmVzdF9kaXIpCiAKICAgICAgICAgc2VsZi5wbSA9IFJwbVBNKGQsCkBAIC00OTksNyArNDk5LDcgQEAKICAgICAgICAgICAgIHBrZ19kZXBlbmRzX2xpc3QgPSBbXQogICAgICAgICAgICAgIyBmaWx0ZXIgdmVyc2lvbiByZXF1aXJlbWVudHMgbGlrZSBsaWJjICg+PSAxLjEpCiAgICAgICAgICAgICBmb3IgZGVwIGluIHBrZ19kZXBlbmRzLnNwbGl0KCcsICcpOgotICAgICAgICAgICAgICAgIG1fZGVwID0gcmUubWF0Y2goIl4oLiopIFwoLipcKSQiLCBkZXApCisgICAgICAgICAgICAgICAgbV9kZXAgPSByZS5tYXRjaChyIl4oLiopIFwoLipcKSQiLCBkZXApCiAgICAgICAgICAgICAgICAgaWYgbV9kZXA6CiAgICAgICAgICAgICAgICAgICAgIGRlcCA9IG1fZGVwLmdyb3VwKDEpCiAgICAgICAgICAgICAgICAgcGtnX2RlcGVuZHNfbGlzdC5hcHBlbmQoZGVwKQpAQCAtNTE1LDIxICs1MTUsMzMgQEAKICAgICAgICAgICAgIGRhdGEgPSBzdGF0dXMucmVhZCgpCiAgICAgICAgICAgICBzdGF0dXMuY2xvc2UoKQogICAgICAgICAgICAgZm9yIGxpbmUgaW4gZGF0YS5zcGxpdCgnXG4nKToKLSAgICAgICAgICAgICAgICBtX3BrZyA9IHJlLm1hdGNoKCJeUGFja2FnZTogKC4qKSIsIGxpbmUpCi0gICAgICAgICAgICAgICAgbV9zdGF0dXMgPSByZS5tYXRjaCgiXlN0YXR1czouKnVucGFja2VkIiwgbGluZSkKLSAgICAgICAgICAgICAgICBtX2RlcGVuZHMgPSByZS5tYXRjaCgiXkRlcGVuZHM6ICguKikiLCBsaW5lKQorICAgICAgICAgICAgICAgIG1fcGtnID0gcmUubWF0Y2gociJeUGFja2FnZTogKC4qKSIsIGxpbmUpCisgICAgICAgICAgICAgICAgbV9zdGF0dXMgPSByZS5tYXRjaChyIl5TdGF0dXM6Lip1bnBhY2tlZCIsIGxpbmUpCisgICAgICAgICAgICAgICAgbV9kZXBlbmRzID0gcmUubWF0Y2gociJeRGVwZW5kczogKC4qKSIsIGxpbmUpCiAKKyAgICAgICAgICAgICAgICAjT25seSBvbmUgb2YgbV9wa2csIG1fc3RhdHVzIG9yIG1fZGVwZW5kcyBpcyBub3QgTm9uZSBhdCB0aW1lCisgICAgICAgICAgICAgICAgI0lmIG1fcGtnIGlzIG5vdCBOb25lLCB3ZSBzdGFydGVkIGEgbmV3IHBhY2thZ2UKICAgICAgICAgICAgICAgICBpZiBtX3BrZyBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgaWYgcGtnX25hbWUgYW5kIHBrZ19zdGF0dXNfbWF0Y2g6Ci0gICAgICAgICAgICAgICAgICAgICAgICBwa2dzW3BrZ19uYW1lXSA9IF9nZXRfcGtnX2RlcGVuZHNfbGlzdChwa2dfZGVwZW5kcykKLQorICAgICAgICAgICAgICAgICAgICAjR2V0IFBhY2thZ2UgbmFtZQogICAgICAgICAgICAgICAgICAgICBwa2dfbmFtZSA9IG1fcGtnLmdyb3VwKDEpCisgICAgICAgICAgICAgICAgICAgICNNYWtlIHN1cmUgd2UgcmVzZXQgb3RoZXIgdmFyaWFibGVzCiAgICAgICAgICAgICAgICAgICAgIHBrZ19zdGF0dXNfbWF0Y2ggPSBGYWxzZQogICAgICAgICAgICAgICAgICAgICBwa2dfZGVwZW5kcyA9ICIiCiAgICAgICAgICAgICAgICAgZWxpZiBtX3N0YXR1cyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgI05ldyBzdGF0dXMgbWF0Y2hlZAogICAgICAgICAgICAgICAgICAgICBwa2dfc3RhdHVzX21hdGNoID0gVHJ1ZQogICAgICAgICAgICAgICAgIGVsaWYgbV9kZXBlbmRzIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgICAgICAjTmV3IGRlcGVuZHMgbWFjdGhlZAogICAgICAgICAgICAgICAgICAgICBwa2dfZGVwZW5kcyA9IG1fZGVwZW5kcy5ncm91cCgxKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHBhc3MKKworICAgICAgICAgICAgICAgICNOb3cgY2hlY2sgaWYgd2UgY2FuIHByb2Nlc3MgcGFja2FnZSBkZXBlbmRzIGFuZCBwb3N0aW5zdAorICAgICAgICAgICAgICAgIGlmICIiICE9IHBrZ19uYW1lIGFuZCBwa2dfc3RhdHVzX21hdGNoOgorICAgICAgICAgICAgICAgICAgICBwa2dzW3BrZ19uYW1lXSA9IF9nZXRfcGtnX2RlcGVuZHNfbGlzdChwa2dfZGVwZW5kcykKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAjTm90IGVub3VnaCBpbmZvcm1hdGlvbgorICAgICAgICAgICAgICAgICAgICBwYXNzCiAKICAgICAgICAgIyByZW1vdmUgcGFja2FnZSBkZXBlbmRlbmNpZXMgbm90IGluIHBvc3RpbnN0cwogICAgICAgICBwa2dfbmFtZXMgPSBsaXN0KHBrZ3Mua2V5cygpKQpAQCAtNzM1LDE1ICs3NDcsMTYgQEAKICAgICAgICAgaWYgZmlsZWNtcC5jbXAoZjEsIGYyKToKICAgICAgICAgICAgIHJldHVybiBUcnVlCiAKLSAgICAgICAgaWYgc2VsZi5pbWFnZV9yb290ZnMgbm90IGluIGYxOgotICAgICAgICAgICAgc2VsZi5fcHJlbGlua19maWxlKGYxLnJlcGxhY2Uoa2V5LCAnJyksIGYxKQorICAgICAgICBpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdpbWFnZS1wcmVsaW5rJywgc2VsZi5kKToKKyAgICAgICAgICAgIGlmIHNlbGYuaW1hZ2Vfcm9vdGZzIG5vdCBpbiBmMToKKyAgICAgICAgICAgICAgICBzZWxmLl9wcmVsaW5rX2ZpbGUoZjEucmVwbGFjZShrZXksICcnKSwgZjEpCiAKLSAgICAgICAgaWYgc2VsZi5pbWFnZV9yb290ZnMgbm90IGluIGYyOgotICAgICAgICAgICAgc2VsZi5fcHJlbGlua19maWxlKGYyLnJlcGxhY2Uoa2V5LCAnJyksIGYyKQorICAgICAgICAgICAgaWYgc2VsZi5pbWFnZV9yb290ZnMgbm90IGluIGYyOgorICAgICAgICAgICAgICAgIHNlbGYuX3ByZWxpbmtfZmlsZShmMi5yZXBsYWNlKGtleSwgJycpLCBmMikKIAotICAgICAgICAjIEJvdGggb2YgdGhlbSBhcmUgcHJlbGlua2VkCi0gICAgICAgIGlmIGZpbGVjbXAuY21wKGYxLCBmMik6Ci0gICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAgICAgICAgIyBCb3RoIG9mIHRoZW0gYXJlIHByZWxpbmtlZAorICAgICAgICAgICAgaWYgZmlsZWNtcC5jbXAoZjEsIGYyKToKKyAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogCiAgICAgICAgICMgTm90IGVxdWFsCiAgICAgICAgIHJldHVybiBGYWxzZQpAQCAtNzU5LDcgKzc3Miw3IEBACiAgICAgICAgIGlmIGFsbG93X3JlcGxhY2UgaXMgTm9uZToKICAgICAgICAgICAgIGFsbG93X3JlcGxhY2UgPSAiIgogCi0gICAgICAgIGFsbG93X3JlcCA9IHJlLmNvbXBpbGUocmUuc3ViKCJcfCQiLCAiIiwgYWxsb3dfcmVwbGFjZSkpCisgICAgICAgIGFsbG93X3JlcCA9IHJlLmNvbXBpbGUocmUuc3ViKHIiXHwkIiwgciIiLCBhbGxvd19yZXBsYWNlKSkKICAgICAgICAgZXJyb3JfcHJvbXB0ID0gIk11bHRpbGliIGNoZWNrIGVycm9yOiIKIAogICAgICAgICBmaWxlcyA9IHt9CkBAIC04NzksOCArODkyLDYgQEAKIAogICAgICAgICBzZWxmLnBtLnVwZGF0ZSgpCiAKLSAgICAgICAgc2VsZi5wbS5oYW5kbGVfYmFkX3JlY29tbWVuZGF0aW9ucygpCi0KICAgICAgICAgaWYgc2VsZi5wcm9ncmVzc19yZXBvcnRlcjoKICAgICAgICAgICAgIHNlbGYucHJvZ3Jlc3NfcmVwb3J0ZXIubmV4dF9zdGFnZSgpCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2Uvc2RrLnB5IGIvcG9reS9tZXRhL2xpYi9vZS9zZGsucHkKaW5kZXggMTUzYjA3ZC4uODc4ZWUxNiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZS9zZGsucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZS9zZGsucHkKQEAgLTk1LDggKzk1LDggQEAKICAgICAgICAgICAgIGlmIGxpbmd1YXMgPT0gImFsbCI6CiAgICAgICAgICAgICAgICAgcG0uaW5zdGFsbF9nbG9iKCJuYXRpdmVzZGstZ2xpYmMtYmluYXJ5LWxvY2FsZWRhdGEtKi51dGYtOCIsIHNkaz1UcnVlKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBmb3IgbGFuZyBpbiBsaW5ndWFzLnNwbGl0KCk6Ci0gICAgICAgICAgICAgICAgICAgIHBtLmluc3RhbGwoIm5hdGl2ZXNkay1nbGliYy1iaW5hcnktbG9jYWxlZGF0YS0lcy51dGYtOCIgJSBsYW5nKQorICAgICAgICAgICAgICAgIHBtLmluc3RhbGwoWyJuYXRpdmVzZGstZ2xpYmMtYmluYXJ5LWxvY2FsZWRhdGEtJXMudXRmLTgiICUgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZyBmb3IgbGFuZyBpbiBsaW5ndWFzLnNwbGl0KCldKQogICAgICAgICAgICAgIyBHZW5lcmF0ZSBhIGxvY2FsZSBhcmNoaXZlIG9mIHRoZW0KICAgICAgICAgICAgIHRhcmdldF9hcmNoID0gc2VsZi5kLmdldFZhcignU0RLX0FSQ0gnKQogICAgICAgICAgICAgcm9vdGZzID0gb2UucGF0aC5qb2luKHNlbGYuc2RrX2hvc3Rfc3lzcm9vdCwgc2VsZi5zZGtfbmF0aXZlX3BhdGgpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lL3NzdGF0ZXNpZy5weSBiL3Bva3kvbWV0YS9saWIvb2Uvc3N0YXRlc2lnLnB5CmluZGV4IDE4YzVhMzUuLmE4M2FmNTEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2Uvc3N0YXRlc2lnLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2Uvc3N0YXRlc2lnLnB5CkBAIC0yNjMsMTAgKzI2MywxODEgQEAKICAgICAgICAgaWYgZXJyb3JfbXNnczoKICAgICAgICAgICAgIGJiLmZhdGFsKCJcbiIuam9pbihlcnJvcl9tc2dzKSkKIAorY2xhc3MgU2lnbmF0dXJlR2VuZXJhdG9yT0VFcXVpdkhhc2goU2lnbmF0dXJlR2VuZXJhdG9yT0VCYXNpY0hhc2gpOgorICAgIG5hbWUgPSAiT0VFcXVpdkhhc2giCisKKyAgICBkZWYgaW5pdF9ydW5kZXBjaGVjayhzZWxmLCBkYXRhKToKKyAgICAgICAgc3VwZXIoKS5pbml0X3J1bmRlcGNoZWNrKGRhdGEpCisgICAgICAgIHNlbGYuc2VydmVyID0gZGF0YS5nZXRWYXIoJ1NTVEFURV9IQVNIRVFVSVZfU0VSVkVSJykKKyAgICAgICAgc2VsZi5tZXRob2QgPSBkYXRhLmdldFZhcignU1NUQVRFX0hBU0hFUVVJVl9NRVRIT0QnKQorICAgICAgICBzZWxmLnVuaWhhc2hlcyA9IGJiLnBlcnNpc3RfZGF0YS5wZXJzaXN0KCdTU1RBVEVTSUdfVU5JSEFTSF9DQUNIRV92MV8nICsgc2VsZi5tZXRob2QucmVwbGFjZSgnLicsICdfJyksIGRhdGEpCisKKyAgICBkZWYgZ2V0X3Rhc2tkYXRhKHNlbGYpOgorICAgICAgICByZXR1cm4gKHNlbGYuc2VydmVyLCBzZWxmLm1ldGhvZCkgKyBzdXBlcigpLmdldF90YXNrZGF0YSgpCisKKyAgICBkZWYgc2V0X3Rhc2tkYXRhKHNlbGYsIGRhdGEpOgorICAgICAgICBzZWxmLnNlcnZlciwgc2VsZi5tZXRob2QgPSBkYXRhWzoyXQorICAgICAgICBzdXBlcigpLnNldF90YXNrZGF0YShkYXRhWzI6XSkKKworICAgIGRlZiBfX2dldF90YXNrX3VuaWhhc2hfa2V5KHNlbGYsIHRhc2spOgorICAgICAgICAjIFRPRE86IFRoZSBrZXkgb25seSAqbmVlZHMqIHRvIGJlIHRoZSB0YXNraGFzaCwgdGhlIHRhc2sgaXMganVzdAorICAgICAgICAjIGNvbnZlbmllbnQKKyAgICAgICAgcmV0dXJuICclczolcycgJSAodGFzaywgc2VsZi50YXNraGFzaFt0YXNrXSkKKworICAgIGRlZiBnZXRfc3RhbXBmaWxlX2hhc2goc2VsZiwgdGFzayk6CisgICAgICAgIGlmIHRhc2sgaW4gc2VsZi50YXNraGFzaDoKKyAgICAgICAgICAgICMgSWYgYSB1bmlxdWUgaGFzaCBpcyByZXBvcnRlZCwgdXNlIGl0IGFzIHRoZSBzdGFtcGZpbGUgaGFzaC4gVGhpcworICAgICAgICAgICAgIyBlbnN1cmVzIHRoYXQgaWYgYSB0YXNrIHdvbid0IGJlIHJlLXJ1biBpZiB0aGUgdGFza2hhc2ggY2hhbmdlcywKKyAgICAgICAgICAgICMgYnV0IGl0IHdvdWxkIHJlc3VsdCBpbiB0aGUgc2FtZSBvdXRwdXQgaGFzaAorICAgICAgICAgICAgdW5paGFzaCA9IHNlbGYudW5paGFzaGVzLmdldChzZWxmLl9fZ2V0X3Rhc2tfdW5paGFzaF9rZXkodGFzaykpCisgICAgICAgICAgICBpZiB1bmloYXNoIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIHJldHVybiB1bmloYXNoCisKKyAgICAgICAgcmV0dXJuIHN1cGVyKCkuZ2V0X3N0YW1wZmlsZV9oYXNoKHRhc2spCisKKyAgICBkZWYgZ2V0X3VuaWhhc2goc2VsZiwgdGFzayk6CisgICAgICAgIGltcG9ydCB1cmxsaWIKKyAgICAgICAgaW1wb3J0IGpzb24KKworICAgICAgICB0YXNraGFzaCA9IHNlbGYudGFza2hhc2hbdGFza10KKworICAgICAgICBrZXkgPSBzZWxmLl9fZ2V0X3Rhc2tfdW5paGFzaF9rZXkodGFzaykKKworICAgICAgICAjIFRPRE86IFRoaXMgY2FjaGUgY2FuIGdyb3cgdW5ib3VuZGVkLiBJdCBwcm9iYWJseSBvbmx5IG5lZWRzIHRvIGtlZXAKKyAgICAgICAgIyBmb3IgZWFjaCB0YXNrCisgICAgICAgIHVuaWhhc2ggPSBzZWxmLnVuaWhhc2hlcy5nZXQoa2V5KQorICAgICAgICBpZiB1bmloYXNoIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgcmV0dXJuIHVuaWhhc2gKKworICAgICAgICAjIEluIHRoZSBhYnNlbmNlIG9mIGJlaW5nIGFibGUgdG8gZGlzY292ZXIgYSB1bmlxdWUgaGFzaCBmcm9tIHRoZQorICAgICAgICAjIHNlcnZlciwgbWFrZSBpdCBiZSBlcXVpdmFsZW50IHRvIHRoZSB0YXNraGFzaC4gVGhlIHVuaXF1ZSAiaGFzaCIgb25seQorICAgICAgICAjIHJlYWxseSBuZWVkcyB0byBiZSBhIHVuaXF1ZSBzdHJpbmcgKG5vdCBldmVuIG5lY2Vzc2FyaWx5IGEgaGFzaCksIGJ1dAorICAgICAgICAjIG1ha2luZyBpdCBtYXRjaCB0aGUgdGFza2hhc2ggaGFzIGEgZmV3IGFkdmFudGFnZXM6CisgICAgICAgICMKKyAgICAgICAgIyAxKSBBbGwgb2YgdGhlIHNzdGF0ZSBjb2RlIHRoYXQgYXNzdW1lcyBoYXNoZXMgY2FuIGJlIHRoZSBzYW1lCisgICAgICAgICMgMikgSXQgcHJvdmlkZXMgbWF4aW1hbCBjb21wYXRpYmlsaXR5IHdpdGggYnVpbGRlcnMgdGhhdCBkb24ndCB1c2UKKyAgICAgICAgIyAgICBhbiBlcXVpdmFsZW5jeSBzZXJ2ZXIKKyAgICAgICAgIyAzKSBUaGUgdmFsdWUgaXMgZWFzeSBmb3IgbXVsdGlwbGUgaW5kZXBlbmRlbnQgYnVpbGRlcnMgdG8gZGVyaXZlIHRoZQorICAgICAgICAjICAgIHNhbWUgdW5pcXVlIGhhc2ggZnJvbSB0aGUgc2FtZSBpbnB1dC4gVGhpcyBtZWFucyB0aGF0IGlmIHRoZQorICAgICAgICAjICAgIGluZGVwZW5kZW50IGJ1aWxkZXJzIGZpbmQgdGhlIHNhbWUgdGFza2hhc2gsIGJ1dCBpdCBpc24ndCByZXBvcnRlZAorICAgICAgICAjICAgIHRvIHRoZSBzZXJ2ZXIsIHRoZXJlIGlzIGEgYmV0dGVyIGNoYW5jZSB0aGF0IHRoZXkgd2lsbCBhZ3JlZSBvbgorICAgICAgICAjICAgIHRoZSB1bmlxdWUgaGFzaC4KKyAgICAgICAgdW5paGFzaCA9IHRhc2toYXNoCisKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgdXJsID0gJyVzL3YxL2VxdWl2YWxlbnQ/JXMnICUgKHNlbGYuc2VydmVyLAorICAgICAgICAgICAgICAgICAgICB1cmxsaWIucGFyc2UudXJsZW5jb2RlKHsnbWV0aG9kJzogc2VsZi5tZXRob2QsICd0YXNraGFzaCc6IHNlbGYudGFza2hhc2hbdGFza119KSkKKworICAgICAgICAgICAgcmVxdWVzdCA9IHVybGxpYi5yZXF1ZXN0LlJlcXVlc3QodXJsKQorICAgICAgICAgICAgcmVzcG9uc2UgPSB1cmxsaWIucmVxdWVzdC51cmxvcGVuKHJlcXVlc3QpCisgICAgICAgICAgICBkYXRhID0gcmVzcG9uc2UucmVhZCgpLmRlY29kZSgndXRmLTgnKQorCisgICAgICAgICAgICBqc29uX2RhdGEgPSBqc29uLmxvYWRzKGRhdGEpCisKKyAgICAgICAgICAgIGlmIGpzb25fZGF0YToKKyAgICAgICAgICAgICAgICB1bmloYXNoID0ganNvbl9kYXRhWyd1bmloYXNoJ10KKyAgICAgICAgICAgICAgICAjIEEgdW5pcXVlIGhhc2ggZXF1YWwgdG8gdGhlIHRhc2toYXNoIGlzIG5vdCB2ZXJ5IGludGVyZXN0aW5nLAorICAgICAgICAgICAgICAgICMgc28gaXQgaXMgcmVwb3J0ZWQgaXQgYXQgZGVidWcgbGV2ZWwgMi4gSWYgdGhleSBkaWZmZXIsIHRoYXQKKyAgICAgICAgICAgICAgICAjIGlzIG11Y2ggbW9yZSBpbnRlcmVzdGluZywgc28gaXQgaXMgcmVwb3J0ZWQgYXQgZGVidWcgbGV2ZWwgMQorICAgICAgICAgICAgICAgIGJiLmRlYnVnKCgxLCAyKVt1bmloYXNoID09IHRhc2toYXNoXSwgJ0ZvdW5kIHVuaWhhc2ggJXMgaW4gcGxhY2Ugb2YgJXMgZm9yICVzIGZyb20gJXMnICUgKHVuaWhhc2gsIHRhc2toYXNoLCB0YXNrLCBzZWxmLnNlcnZlcikpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGJiLmRlYnVnKDIsICdObyByZXBvcnRlZCB1bmloYXNoIGZvciAlczolcyBmcm9tICVzJyAlICh0YXNrLCB0YXNraGFzaCwgc2VsZi5zZXJ2ZXIpKQorICAgICAgICBleGNlcHQgdXJsbGliLmVycm9yLlVSTEVycm9yIGFzIGU6CisgICAgICAgICAgICBiYi53YXJuKCdGYWlsdXJlIGNvbnRhY3RpbmcgSGFzaCBFcXVpdmFsZW5jZSBTZXJ2ZXIgJXM6ICVzJyAlIChzZWxmLnNlcnZlciwgc3RyKGUpKSkKKyAgICAgICAgZXhjZXB0IChLZXlFcnJvciwganNvbi5KU09ORGVjb2RlRXJyb3IpIGFzIGU6CisgICAgICAgICAgICBiYi53YXJuKCdQb29ybHkgZm9ybWF0dGVkIHJlc3BvbnNlIGZyb20gJXM6ICVzJyAlIChzZWxmLnNlcnZlciwgc3RyKGUpKSkKKworICAgICAgICBzZWxmLnVuaWhhc2hlc1trZXldID0gdW5paGFzaAorICAgICAgICByZXR1cm4gdW5paGFzaAorCisgICAgZGVmIHJlcG9ydF91bmloYXNoKHNlbGYsIHBhdGgsIHRhc2ssIGQpOgorICAgICAgICBpbXBvcnQgdXJsbGliCisgICAgICAgIGltcG9ydCBqc29uCisgICAgICAgIGltcG9ydCB0ZW1wZmlsZQorICAgICAgICBpbXBvcnQgYmFzZTY0CisgICAgICAgIGltcG9ydCBpbXBvcnRsaWIKKworICAgICAgICB0YXNraGFzaCA9IGQuZ2V0VmFyKCdCQl9UQVNLSEFTSCcpCisgICAgICAgIHVuaWhhc2ggPSBkLmdldFZhcignQkJfVU5JSEFTSCcpCisgICAgICAgIHJlcG9ydF90YXNrZGF0YSA9IGQuZ2V0VmFyKCdTU1RBVEVfSEFTSEVRVUlWX1JFUE9SVF9UQVNLREFUQScpID09ICcxJworICAgICAgICB0ZW1wZGlyID0gZC5nZXRWYXIoJ1QnKQorICAgICAgICBmbiA9IGQuZ2V0VmFyKCdCQl9GSUxFTkFNRScpCisgICAgICAgIGtleSA9IGZuICsgJy5kb18nICsgdGFzayArICc6JyArIHRhc2toYXNoCisKKyAgICAgICAgIyBTYW5pdHkgY2hlY2tzCisgICAgICAgIGNhY2hlX3VuaWhhc2ggPSBzZWxmLnVuaWhhc2hlcy5nZXQoa2V5KQorICAgICAgICBpZiBjYWNoZV91bmloYXNoIGlzIE5vbmU6CisgICAgICAgICAgICBiYi5mYXRhbCgnJXMgbm90IGluIHVuaWhhc2ggY2FjaGUuIFBsZWFzZSByZXBvcnQgdGhpcyBlcnJvcicgJSBrZXkpCisKKyAgICAgICAgaWYgY2FjaGVfdW5paGFzaCAhPSB1bmloYXNoOgorICAgICAgICAgICAgYmIuZmF0YWwoIkNhY2hlIHVuaWhhc2ggJXMgZG9lc24ndCBtYXRjaCBCQl9VTklIQVNIICVzIiAlIChjYWNoZV91bmloYXNoLCB1bmloYXNoKSkKKworICAgICAgICBzaWdmaWxlID0gTm9uZQorICAgICAgICBzaWdmaWxlX25hbWUgPSAiZGVwc2lnLmRvXyVzLiVkIiAlICh0YXNrLCBvcy5nZXRwaWQoKSkKKyAgICAgICAgc2lnZmlsZV9saW5rID0gImRlcHNpZy5kb18lcyIgJSB0YXNrCisKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2lnZmlsZSA9IG9wZW4ob3MucGF0aC5qb2luKHRlbXBkaXIsIHNpZ2ZpbGVfbmFtZSksICd3K2InKQorCisgICAgICAgICAgICBsb2NzID0geydwYXRoJzogcGF0aCwgJ3NpZ2ZpbGUnOiBzaWdmaWxlLCAndGFzayc6IHRhc2ssICdkJzogZH0KKworICAgICAgICAgICAgKG1vZHVsZSwgbWV0aG9kKSA9IHNlbGYubWV0aG9kLnJzcGxpdCgnLicsIDEpCisgICAgICAgICAgICBsb2NzWydtZXRob2QnXSA9IGdldGF0dHIoaW1wb3J0bGliLmltcG9ydF9tb2R1bGUobW9kdWxlKSwgbWV0aG9kKQorCisgICAgICAgICAgICBvdXRoYXNoID0gYmIudXRpbHMuYmV0dGVyX2V2YWwoJ21ldGhvZChwYXRoLCBzaWdmaWxlLCB0YXNrLCBkKScsIGxvY3MpCisKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICB1cmwgPSAnJXMvdjEvZXF1aXZhbGVudCcgJSBzZWxmLnNlcnZlcgorICAgICAgICAgICAgICAgIHRhc2tfZGF0YSA9IHsKKyAgICAgICAgICAgICAgICAgICAgJ3Rhc2toYXNoJzogdGFza2hhc2gsCisgICAgICAgICAgICAgICAgICAgICdtZXRob2QnOiBzZWxmLm1ldGhvZCwKKyAgICAgICAgICAgICAgICAgICAgJ291dGhhc2gnOiBvdXRoYXNoLAorICAgICAgICAgICAgICAgICAgICAndW5paGFzaCc6IHVuaWhhc2gsCisgICAgICAgICAgICAgICAgICAgICdvd25lcic6IGQuZ2V0VmFyKCdTU1RBVEVfSEFTSEVRVUlWX09XTkVSJykKKyAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgcmVwb3J0X3Rhc2tkYXRhOgorICAgICAgICAgICAgICAgICAgICBzaWdmaWxlLnNlZWsoMCkKKworICAgICAgICAgICAgICAgICAgICB0YXNrX2RhdGFbJ1BOJ10gPSBkLmdldFZhcignUE4nKQorICAgICAgICAgICAgICAgICAgICB0YXNrX2RhdGFbJ1BWJ10gPSBkLmdldFZhcignUFYnKQorICAgICAgICAgICAgICAgICAgICB0YXNrX2RhdGFbJ1BSJ10gPSBkLmdldFZhcignUFInKQorICAgICAgICAgICAgICAgICAgICB0YXNrX2RhdGFbJ3Rhc2snXSA9IHRhc2sKKyAgICAgICAgICAgICAgICAgICAgdGFza19kYXRhWydvdXRoYXNoX3NpZ2luZm8nXSA9IHNpZ2ZpbGUucmVhZCgpLmRlY29kZSgndXRmLTgnKQorCisgICAgICAgICAgICAgICAgaGVhZGVycyA9IHsnY29udGVudC10eXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nfQorCisgICAgICAgICAgICAgICAgcmVxdWVzdCA9IHVybGxpYi5yZXF1ZXN0LlJlcXVlc3QodXJsLCBqc29uLmR1bXBzKHRhc2tfZGF0YSkuZW5jb2RlKCd1dGYtOCcpLCBoZWFkZXJzKQorICAgICAgICAgICAgICAgIHJlc3BvbnNlID0gdXJsbGliLnJlcXVlc3QudXJsb3BlbihyZXF1ZXN0KQorICAgICAgICAgICAgICAgIGRhdGEgPSByZXNwb25zZS5yZWFkKCkuZGVjb2RlKCd1dGYtOCcpCisKKyAgICAgICAgICAgICAgICBqc29uX2RhdGEgPSBqc29uLmxvYWRzKGRhdGEpCisgICAgICAgICAgICAgICAgbmV3X3VuaWhhc2ggPSBqc29uX2RhdGFbJ3VuaWhhc2gnXQorCisgICAgICAgICAgICAgICAgaWYgbmV3X3VuaWhhc2ggIT0gdW5paGFzaDoKKyAgICAgICAgICAgICAgICAgICAgYmIuZGVidWcoMSwgJ1Rhc2sgJXMgdW5paGFzaCBjaGFuZ2VkICVzIC0+ICVzIGJ5IHNlcnZlciAlcycgJSAodGFza2hhc2gsIHVuaWhhc2gsIG5ld191bmloYXNoLCBzZWxmLnNlcnZlcikpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgYmIuZGVidWcoMSwgJ1JlcG9ydGVkIHRhc2sgJXMgYXMgdW5paGFzaCAlcyB0byAlcycgJSAodGFza2hhc2gsIHVuaWhhc2gsIHNlbGYuc2VydmVyKSkKKyAgICAgICAgICAgIGV4Y2VwdCB1cmxsaWIuZXJyb3IuVVJMRXJyb3IgYXMgZToKKyAgICAgICAgICAgICAgICBiYi53YXJuKCdGYWlsdXJlIGNvbnRhY3RpbmcgSGFzaCBFcXVpdmFsZW5jZSBTZXJ2ZXIgJXM6ICVzJyAlIChzZWxmLnNlcnZlciwgc3RyKGUpKSkKKyAgICAgICAgICAgIGV4Y2VwdCAoS2V5RXJyb3IsIGpzb24uSlNPTkRlY29kZUVycm9yKSBhcyBlOgorICAgICAgICAgICAgICAgIGJiLndhcm4oJ1Bvb3JseSBmb3JtYXR0ZWQgcmVzcG9uc2UgZnJvbSAlczogJXMnICUgKHNlbGYuc2VydmVyLCBzdHIoZSkpKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgaWYgc2lnZmlsZToKKyAgICAgICAgICAgICAgICBzaWdmaWxlLmNsb3NlKCkKKworICAgICAgICAgICAgICAgIHNpZ2ZpbGVfbGlua19wYXRoID0gb3MucGF0aC5qb2luKHRlbXBkaXIsIHNpZ2ZpbGVfbGluaykKKyAgICAgICAgICAgICAgICBiYi51dGlscy5yZW1vdmUoc2lnZmlsZV9saW5rX3BhdGgpCisKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIG9zLnN5bWxpbmsoc2lnZmlsZV9uYW1lLCBzaWdmaWxlX2xpbmtfcGF0aCkKKyAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgcGFzcwogCiAjIEluc2VydCB0aGVzZSBjbGFzc2VzIGludG8gc2lnZ2VuJ3MgbmFtZXNwYWNlIHNvIGl0IGNhbiBzZWUgYW5kIHNlbGVjdCB0aGVtCiBiYi5zaWdnZW4uU2lnbmF0dXJlR2VuZXJhdG9yT0VCYXNpYyA9IFNpZ25hdHVyZUdlbmVyYXRvck9FQmFzaWMKIGJiLnNpZ2dlbi5TaWduYXR1cmVHZW5lcmF0b3JPRUJhc2ljSGFzaCA9IFNpZ25hdHVyZUdlbmVyYXRvck9FQmFzaWNIYXNoCitiYi5zaWdnZW4uU2lnbmF0dXJlR2VuZXJhdG9yT0VFcXVpdkhhc2ggPSBTaWduYXR1cmVHZW5lcmF0b3JPRUVxdWl2SGFzaAogCiAKIGRlZiBmaW5kX3NpZ2luZm8ocG4sIHRhc2tuYW1lLCB0YXNraGFzaGxpc3QsIGQpOgpAQCAtMzI3LDcgKzQ5OCw3IEBACiAKICAgICBpZiBub3QgdGFza2hhc2hsaXN0IG9yIChsZW4oZmlsZWRhdGVzKSA8IDIgYW5kIG5vdCBmb3VuZGFsbCk6CiAgICAgICAgICMgVGhhdCBkaWRuJ3Qgd29yaywgbG9vayBpbiBzc3RhdGUtY2FjaGUKLSAgICAgICAgaGFzaGVzID0gdGFza2hhc2hsaXN0IG9yIFsnPycgKiAzMl0KKyAgICAgICAgaGFzaGVzID0gdGFza2hhc2hsaXN0IG9yIFsnPycgKiA2NF0KICAgICAgICAgbG9jYWxkYXRhID0gYmIuZGF0YS5jcmVhdGVDb3B5KGQpCiAgICAgICAgIGZvciBoYXNodmFsIGluIGhhc2hlczoKICAgICAgICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ1BBQ0tBR0VfQVJDSCcsICcqJykKQEAgLTQxNCw0ICs1ODUsMTMzIEBACiAgICAgYmIud2FybigiTWFuaWZlc3QgJXMgbm90IGZvdW5kIGluICVzICh2YXJpYW50ICclcycpPyIgJSAobWFuaWZlc3QsIGQyLmV4cGFuZCgiICIuam9pbihwa2dhcmNocykpLCB2YXJpYW50KSkKICAgICByZXR1cm4gTm9uZSwgZDIKIAorZGVmIE9FT3V0aGFzaEJhc2ljKHBhdGgsIHNpZ2ZpbGUsIHRhc2ssIGQpOgorICAgICIiIgorICAgIEJhc2ljIG91dHB1dCBoYXNoIGZ1bmN0aW9uCisKKyAgICBDYWxjdWxhdGVzIHRoZSBvdXRwdXQgaGFzaCBvZiBhIHRhc2sgYnkgaGFzaGluZyBhbGwgb3V0cHV0IGZpbGUgbWV0YWRhdGEsCisgICAgYW5kIGZpbGUgY29udGVudHMuCisgICAgIiIiCisgICAgaW1wb3J0IGhhc2hsaWIKKyAgICBpbXBvcnQgc3RhdAorICAgIGltcG9ydCBwd2QKKyAgICBpbXBvcnQgZ3JwCisKKyAgICBkZWYgdXBkYXRlX2hhc2gocyk6CisgICAgICAgIHMgPSBzLmVuY29kZSgndXRmLTgnKQorICAgICAgICBoLnVwZGF0ZShzKQorICAgICAgICBpZiBzaWdmaWxlOgorICAgICAgICAgICAgc2lnZmlsZS53cml0ZShzKQorCisgICAgaCA9IGhhc2hsaWIuc2hhMjU2KCkKKyAgICBwcmV2X2RpciA9IG9zLmdldGN3ZCgpCisgICAgaW5jbHVkZV9vd25lcnMgPSBvcy5lbnZpcm9uLmdldCgnUFNFVURPX0RJU0FCTEVEJykgPT0gJzAnCisKKyAgICB0cnk6CisgICAgICAgIG9zLmNoZGlyKHBhdGgpCisKKyAgICAgICAgdXBkYXRlX2hhc2goIk9FT3V0aGFzaEJhc2ljXG4iKQorCisgICAgICAgICMgSXQgaXMgb25seSBjdXJyZW50bHkgdXNlZnVsIHRvIGdldCBlcXVpdmFsZW50IGhhc2hlcyBmb3IgdGhpbmdzIHRoYXQKKyAgICAgICAgIyBjYW4gYmUgcmVzdG9yZWQgZnJvbSBzc3RhdGUuIFNpbmNlIHRoZSBzc3RhdGUgb2JqZWN0IGlzIG5hbWVkIHVzaW5nCisgICAgICAgICMgU1NUQVRFX1BLR1NQRUMgYW5kIHRoZSB0YXNrIG5hbWUsIHRob3NlIHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUKKyAgICAgICAgIyBvdXRwdXQgaGFzaCBjYWxjdWxhdGlvbi4KKyAgICAgICAgdXBkYXRlX2hhc2goIlNTVEFURV9QS0dTUEVDPSVzXG4iICUgZC5nZXRWYXIoJ1NTVEFURV9QS0dTUEVDJykpCisgICAgICAgIHVwZGF0ZV9oYXNoKCJ0YXNrPSVzXG4iICUgdGFzaykKKworICAgICAgICBmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2FsaygnLicsIHRvcGRvd249VHJ1ZSk6CisgICAgICAgICAgICAjIFNvcnQgZGlyZWN0b3JpZXMgdG8gZW5zdXJlIGNvbnNpc3RlbnQgb3JkZXJpbmcgd2hlbiByZWN1cnNpbmcKKyAgICAgICAgICAgIGRpcnMuc29ydCgpCisgICAgICAgICAgICBmaWxlcy5zb3J0KCkKKworICAgICAgICAgICAgZGVmIHByb2Nlc3MocGF0aCk6CisgICAgICAgICAgICAgICAgcyA9IG9zLmxzdGF0KHBhdGgpCisKKyAgICAgICAgICAgICAgICBpZiBzdGF0LlNfSVNESVIocy5zdF9tb2RlKToKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlX2hhc2goJ2QnKQorICAgICAgICAgICAgICAgIGVsaWYgc3RhdC5TX0lTQ0hSKHMuc3RfbW9kZSk6CisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZV9oYXNoKCdjJykKKyAgICAgICAgICAgICAgICBlbGlmIHN0YXQuU19JU0JMSyhzLnN0X21vZGUpOgorICAgICAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaCgnYicpCisgICAgICAgICAgICAgICAgZWxpZiBzdGF0LlNfSVNTT0NLKHMuc3RfbW9kZSk6CisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZV9oYXNoKCdzJykKKyAgICAgICAgICAgICAgICBlbGlmIHN0YXQuU19JU0xOSyhzLnN0X21vZGUpOgorICAgICAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaCgnbCcpCisgICAgICAgICAgICAgICAgZWxpZiBzdGF0LlNfSVNGSUZPKHMuc3RfbW9kZSk6CisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZV9oYXNoKCdwJykKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaCgnLScpCisKKyAgICAgICAgICAgICAgICBkZWYgYWRkX3Blcm0obWFzaywgb24sIG9mZj0nLScpOgorICAgICAgICAgICAgICAgICAgICBpZiBtYXNrICYgcy5zdF9tb2RlOgorICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlX2hhc2gob24pCisgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaChvZmYpCisKKyAgICAgICAgICAgICAgICBhZGRfcGVybShzdGF0LlNfSVJVU1IsICdyJykKKyAgICAgICAgICAgICAgICBhZGRfcGVybShzdGF0LlNfSVdVU1IsICd3JykKKyAgICAgICAgICAgICAgICBpZiBzdGF0LlNfSVNVSUQgJiBzLnN0X21vZGU6CisgICAgICAgICAgICAgICAgICAgIGFkZF9wZXJtKHN0YXQuU19JWFVTUiwgJ3MnLCAnUycpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgYWRkX3Blcm0oc3RhdC5TX0lYVVNSLCAneCcpCisKKyAgICAgICAgICAgICAgICBhZGRfcGVybShzdGF0LlNfSVJHUlAsICdyJykKKyAgICAgICAgICAgICAgICBhZGRfcGVybShzdGF0LlNfSVdHUlAsICd3JykKKyAgICAgICAgICAgICAgICBpZiBzdGF0LlNfSVNHSUQgJiBzLnN0X21vZGU6CisgICAgICAgICAgICAgICAgICAgIGFkZF9wZXJtKHN0YXQuU19JWEdSUCwgJ3MnLCAnUycpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgYWRkX3Blcm0oc3RhdC5TX0lYR1JQLCAneCcpCisKKyAgICAgICAgICAgICAgICBhZGRfcGVybShzdGF0LlNfSVJPVEgsICdyJykKKyAgICAgICAgICAgICAgICBhZGRfcGVybShzdGF0LlNfSVdPVEgsICd3JykKKyAgICAgICAgICAgICAgICBpZiBzdGF0LlNfSVNWVFggJiBzLnN0X21vZGU6CisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZV9oYXNoKCd0JykKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBhZGRfcGVybShzdGF0LlNfSVhPVEgsICd4JykKKworICAgICAgICAgICAgICAgIGlmIGluY2x1ZGVfb3duZXJzOgorICAgICAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaCgiICUxMHMiICUgcHdkLmdldHB3dWlkKHMuc3RfdWlkKS5wd19uYW1lKQorICAgICAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaCgiICUxMHMiICUgZ3JwLmdldGdyZ2lkKHMuc3RfZ2lkKS5ncl9uYW1lKQorCisgICAgICAgICAgICAgICAgdXBkYXRlX2hhc2goIiAiKQorICAgICAgICAgICAgICAgIGlmIHN0YXQuU19JU0JMSyhzLnN0X21vZGUpIG9yIHN0YXQuU19JU0NIUihzLnN0X21vZGUpOgorICAgICAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaCgiJTlzIiAlICgiJWQuJWQiICUgKG9zLm1ham9yKHMuc3RfcmRldiksIG9zLm1pbm9yKHMuc3RfcmRldikpKSkKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaCgiICIgKiA5KQorCisgICAgICAgICAgICAgICAgdXBkYXRlX2hhc2goIiAiKQorICAgICAgICAgICAgICAgIGlmIHN0YXQuU19JU1JFRyhzLnN0X21vZGUpOgorICAgICAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaCgiJTEwZCIgJSBzLnN0X3NpemUpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlX2hhc2goIiAiICogMTApCisKKyAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaCgiICIpCisgICAgICAgICAgICAgICAgZmggPSBoYXNobGliLnNoYTI1NigpCisgICAgICAgICAgICAgICAgaWYgc3RhdC5TX0lTUkVHKHMuc3RfbW9kZSk6CisgICAgICAgICAgICAgICAgICAgICMgSGFzaCBmaWxlIGNvbnRlbnRzCisgICAgICAgICAgICAgICAgICAgIHdpdGggb3BlbihwYXRoLCAncmInKSBhcyBkOgorICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNodW5rIGluIGl0ZXIobGFtYmRhOiBkLnJlYWQoNDA5NiksIGIiIik6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmgudXBkYXRlKGNodW5rKQorICAgICAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaChmaC5oZXhkaWdlc3QoKSkKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaCgiICIgKiBsZW4oZmguaGV4ZGlnZXN0KCkpKQorCisgICAgICAgICAgICAgICAgdXBkYXRlX2hhc2goIiAlcyIgJSBwYXRoKQorCisgICAgICAgICAgICAgICAgaWYgc3RhdC5TX0lTTE5LKHMuc3RfbW9kZSk6CisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZV9oYXNoKCIgLT4gJXMiICUgb3MucmVhZGxpbmsocGF0aCkpCisKKyAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaCgiXG4iKQorCisgICAgICAgICAgICAjIFByb2Nlc3MgdGhpcyBkaXJlY3RvcnkgYW5kIGFsbCBpdHMgY2hpbGQgZmlsZXMKKyAgICAgICAgICAgIHByb2Nlc3Mocm9vdCkKKyAgICAgICAgICAgIGZvciBmIGluIGZpbGVzOgorICAgICAgICAgICAgICAgIGlmIGYgPT0gJ2ZpeG1lcGF0aCc6CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgcHJvY2Vzcyhvcy5wYXRoLmpvaW4ocm9vdCwgZikpCisgICAgZmluYWxseToKKyAgICAgICAgb3MuY2hkaXIocHJldl9kaXIpCisKKyAgICByZXR1cm4gaC5oZXhkaWdlc3QoKQorCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2UvdGVybWluYWwucHkgYi9wb2t5L21ldGEvbGliL29lL3Rlcm1pbmFsLnB5CmluZGV4IGNhZWI1ZTMuLmU0MDQ1NTUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2UvdGVybWluYWwucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZS90ZXJtaW5hbC5weQpAQCAtMzksNyArMzksNyBAQAogICAgICAgICAgICAgICAgIHJhaXNlCiAKICAgICBkZWYgZm9ybWF0X2NvbW1hbmQoc2VsZiwgc2hfY21kLCB0aXRsZSk6Ci0gICAgICAgIGZtdCA9IHsndGl0bGUnOiB0aXRsZSBvciAnVGVybWluYWwnLCAnY29tbWFuZCc6IHNoX2NtZH0KKyAgICAgICAgZm10ID0geyd0aXRsZSc6IHRpdGxlIG9yICdUZXJtaW5hbCcsICdjb21tYW5kJzogc2hfY21kLCAnY3dkJzogb3MuZ2V0Y3dkKCkgfQogICAgICAgICBpZiBpc2luc3RhbmNlKHNlbGYuY29tbWFuZCwgc3RyKToKICAgICAgICAgICAgIHJldHVybiBzaGxleC5zcGxpdChzZWxmLmNvbW1hbmQuZm9ybWF0KCoqZm10KSkKICAgICAgICAgZWxzZToKQEAgLTExNyw3ICsxMTcsNyBAQAogY2xhc3MgVG11eFJ1bm5pbmcoVGVybWluYWwpOgogICAgICIiIk9wZW4gYSBuZXcgcGFuZSBpbiB0aGUgY3VycmVudCBydW5uaW5nIHRtdXggd2luZG93IiIiCiAgICAgbmFtZSA9ICd0bXV4LXJ1bm5pbmcnCi0gICAgY29tbWFuZCA9ICd0bXV4IHNwbGl0LXdpbmRvdyAie2NvbW1hbmR9IicKKyAgICBjb21tYW5kID0gJ3RtdXggc3BsaXQtd2luZG93IC1jICJ7Y3dkfSIgIntjb21tYW5kfSInCiAgICAgcHJpb3JpdHkgPSAyLjc1CiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgc2hfY21kLCB0aXRsZT1Ob25lLCBlbnY9Tm9uZSwgZD1Ob25lKToKQEAgLTEzNSw3ICsxMzUsNyBAQAogY2xhc3MgVG11eE5ld1dpbmRvdyhUZXJtaW5hbCk6CiAgICAgIiIiT3BlbiBhIG5ldyB3aW5kb3cgaW4gdGhlIGN1cnJlbnQgcnVubmluZyB0bXV4IHNlc3Npb24iIiIKICAgICBuYW1lID0gJ3RtdXgtbmV3LXdpbmRvdycKLSAgICBjb21tYW5kID0gJ3RtdXggbmV3LXdpbmRvdyAtbiAie3RpdGxlfSIgIntjb21tYW5kfSInCisgICAgY29tbWFuZCA9ICd0bXV4IG5ldy13aW5kb3cgLWMgIntjd2R9IiAtbiAie3RpdGxlfSIgIntjb21tYW5kfSInCiAgICAgcHJpb3JpdHkgPSAyLjcwCiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgc2hfY21kLCB0aXRsZT1Ob25lLCBlbnY9Tm9uZSwgZD1Ob25lKToKQEAgLTE0OSw3ICsxNDksNyBAQAogCiBjbGFzcyBUbXV4KFRlcm1pbmFsKToKICAgICAiIiJTdGFydCBhIG5ldyB0bXV4IHNlc3Npb24gYW5kIHdpbmRvdyIiIgotICAgIGNvbW1hbmQgPSAndG11eCBuZXcgLWQgLXMgZGV2c2hlbGwgLW4gZGV2c2hlbGwgIntjb21tYW5kfSInCisgICAgY29tbWFuZCA9ICd0bXV4IG5ldyAtYyAie2N3ZH0iIC1kIC1zIGRldnNoZWxsIC1uIGRldnNoZWxsICJ7Y29tbWFuZH0iJwogICAgIHByaW9yaXR5ID0gMC43NQogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHNoX2NtZCwgdGl0bGU9Tm9uZSwgZW52PU5vbmUsIGQ9Tm9uZSk6CkBAIC0xNjAsNyArMTYwLDcgQEAKICAgICAgICAgIyBkZXZzaGVsbHMsIGlmIGl0J3MgYWxyZWFkeSB0aGVyZSwgYWRkIGEgbmV3IHdpbmRvdyB0byBpdC4KICAgICAgICAgd2luZG93X25hbWUgPSAnZGV2c2hlbGwtJWknICUgb3MuZ2V0cGlkKCkKIAotICAgICAgICBzZWxmLmNvbW1hbmQgPSAndG11eCBuZXcgLWQgLXMgezB9IC1uIHswfSAie3tjb21tYW5kfX0iJy5mb3JtYXQod2luZG93X25hbWUpCisgICAgICAgIHNlbGYuY29tbWFuZCA9ICd0bXV4IG5ldyAtYyAie3tjd2R9fSIgLWQgLXMgezB9IC1uIHswfSAie3tjb21tYW5kfX0iJy5mb3JtYXQod2luZG93X25hbWUpCiAgICAgICAgIFRlcm1pbmFsLl9faW5pdF9fKHNlbGYsIHNoX2NtZCwgdGl0bGUsIGVudiwgZCkKIAogICAgICAgICBhdHRhY2hfY21kID0gJ3RtdXggYXR0IC10IHswfScuZm9ybWF0KHdpbmRvd19uYW1lKQpAQCAtMjk2LDYgKzI5Niw4IEBACiAgICAgICAgICAgICB2ZXJudW0gPSB2ZXIuc3BsaXQoJyAnKVstMV0KICAgICAgICAgaWYgdmVyLnN0YXJ0c3dpdGgoJ3RtdXgnKToKICAgICAgICAgICAgIHZlcm51bSA9IHZlci5zcGxpdCgpWy0xXQorICAgICAgICBpZiB2ZXIuc3RhcnRzd2l0aCgndG11eCBuZXh0LScpOgorICAgICAgICAgICAgdmVybnVtID0gdmVyLnNwbGl0KClbLTFdWzU6XQogICAgIHJldHVybiB2ZXJudW0KIAogZGVmIGRpc3Ryb19uYW1lKCk6CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lL3V0aWxzLnB5IGIvcG9reS9tZXRhL2xpYi9vZS91dGlscy5weQppbmRleCA4YTU4NGQ2Li5jZWRkMDUzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lL3V0aWxzLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2UvdXRpbHMucHkKQEAgLTIxNCw3ICsyMTQsNyBAQAogICAgIFBOLWRiZyBQTi1kb2MgUE4tbG9jYWxlLWViLWdiIHJlbW92ZWQuCiAgICAgIiIiCiAgICAgcG4gPSBkLmdldFZhcignUE4nKQotICAgIGJsYWNrbGlzdCA9IFtwbiArIHN1ZmZpeCBmb3Igc3VmZml4IGluICgnJywgJy1kYmcnLCAnLWRldicsICctZG9jJywgJy1sb2NhbGUnLCAnLXN0YXRpY2RldicpXQorICAgIGJsYWNrbGlzdCA9IFtwbiArIHN1ZmZpeCBmb3Igc3VmZml4IGluICgnJywgJy1kYmcnLCAnLWRldicsICctZG9jJywgJy1sb2NhbGUnLCAnLXN0YXRpY2RldicsICctc3JjJyldCiAgICAgbG9jYWxlcGtnID0gcG4gKyAiLWxvY2FsZS0iCiAgICAgcGtncyA9IFtdCiAKQEAgLTMwNyw2ICszMDcsMTAgQEAKICAgICAgICAgICAgIHAuc3RhcnQoKQogICAgICAgICAgICAgbGF1bmNoZWQuYXBwZW5kKHApCiAgICAgICAgIGZvciBxIGluIGxhdW5jaGVkOgorICAgICAgICAgICAgIyBIYXZlIHRvIG1hbnVhbGx5IGNhbGwgdXBkYXRlKCkgdG8gYXZvaWQgZGVhZGxvY2tzLiBUaGUgcGlwZSBjYW4gYmUgZnVsbCBhbmQKKyAgICAgICAgICAgICMgdHJhbnNmZXIgc3RhbGxlZCB1bnRpbCB3ZSB0cnkgYW5kIHJlYWQgdGhlIHJlc3VsdHMgb2JqZWN0IGJ1dCB0aGUgc3VicHJvY2VzcyB3b24ndCBleGl0CisgICAgICAgICAgICAjIGFzIGl0IHN0aWxsIGhhcyBkYXRhIHRvIHdyaXRlIChodHRwczovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTg0MjYpCisgICAgICAgICAgICBxLnVwZGF0ZSgpCiAgICAgICAgICAgICAjIFRoZSBmaW5pc2hlZCBwcm9jZXNzZXMgYXJlIGpvaW5lZCB3aGVuIGNhbGxpbmcgaXNfYWxpdmUoKQogICAgICAgICAgICAgaWYgbm90IHEuaXNfYWxpdmUoKToKICAgICAgICAgICAgICAgICBpZiBxLmV4Y2VwdGlvbjoKQEAgLTMyNiw3ICszMzAsNyBAQAogCiBkZWYgc3F1YXNoc3BhY2VzKHN0cmluZyk6CiAgICAgaW1wb3J0IHJlCi0gICAgcmV0dXJuIHJlLnN1YigiXHMrIiwgIiAiLCBzdHJpbmcpLnN0cmlwKCkKKyAgICByZXR1cm4gcmUuc3ViKHIiXHMrIiwgIiAiLCBzdHJpbmcpLnN0cmlwKCkKIAogZGVmIGZvcm1hdF9wa2dfbGlzdChwa2dfZGljdCwgcmV0X2Zvcm1hdD1Ob25lKToKICAgICBvdXRwdXQgPSBbXQpAQCAtMzYzLDE0ICszNjcsMTggQEAKICAgICAgICAgcmV0dXJuCiAKICAgICBjb21waWxlciA9IGQuZ2V0VmFyKCJCVUlMRF9DQyIpCisgICAgIyBHZXQgcmlkIG9mIGNjYWNoZSBzaW5jZSBpdCBpcyBub3QgcHJlc2VudCB3aGVuIHBhcnNpbmcuCisgICAgaWYgY29tcGlsZXIuc3RhcnRzd2l0aCgnY2NhY2hlICcpOgorICAgICAgICBjb21waWxlciA9IGNvbXBpbGVyWzc6XQogICAgIHRyeToKICAgICAgICAgZW52ID0gb3MuZW52aXJvbi5jb3B5KCkKICAgICAgICAgZW52WyJQQVRIIl0gPSBkLmdldFZhcigiUEFUSCIpCi0gICAgICAgIG91dHB1dCA9IHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KCIlcyAtLXZlcnNpb24iICUgY29tcGlsZXIsIHNoZWxsPVRydWUsIGVudj1lbnYpLmRlY29kZSgidXRmLTgiKQorICAgICAgICBvdXRwdXQgPSBzdWJwcm9jZXNzLmNoZWNrX291dHB1dCgiJXMgLS12ZXJzaW9uIiAlIGNvbXBpbGVyLCBcCisgICAgICAgICAgICAgICAgICAgIHNoZWxsPVRydWUsIGVudj1lbnYsIHN0ZGVycj1zdWJwcm9jZXNzLlNURE9VVCkuZGVjb2RlKCJ1dGYtOCIpCiAgICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yIGFzIGU6CiAgICAgICAgIGJiLmZhdGFsKCJFcnJvciBydW5uaW5nICVzIC0tdmVyc2lvbjogJXMiICUgKGNvbXBpbGVyLCBlLm91dHB1dC5kZWNvZGUoInV0Zi04IikpKQogCi0gICAgbWF0Y2ggPSByZS5tYXRjaCgiLiogKFxkXC5cZClcLlxkLioiLCBvdXRwdXQuc3BsaXQoJ1xuJylbMF0pCisgICAgbWF0Y2ggPSByZS5tYXRjaChyIi4qIChcZFwuXGQpXC5cZC4qIiwgb3V0cHV0LnNwbGl0KCdcbicpWzBdKQogICAgIGlmIG5vdCBtYXRjaDoKICAgICAgICAgYmIuZmF0YWwoIkNhbid0IGdldCBjb21waWxlciB2ZXJzaW9uIGZyb20gJXMgLS12ZXJzaW9uIG91dHB1dCIgJSBjb21waWxlcikKIApAQCAtNDgyLDMgKzQ5MCw2IEBACiAKICAgICAgICAgcmV0dXJuIG1zZwogCitkZWYgc2hfcXVvdGUoc3RyaW5nKToKKyAgICBpbXBvcnQgc2hsZXgKKyAgICByZXR1cm4gc2hsZXgucXVvdGUoc3RyaW5nKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL2NvbnRyb2xsZXJzL21hc3RlcmltYWdlLnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL2NvbnRyb2xsZXJzL21hc3RlcmltYWdlLnB5CmluZGV4IGEyOTEyZmMuLmYxNzVlMTEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9jb250cm9sbGVycy9tYXN0ZXJpbWFnZS5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvY29udHJvbGxlcnMvbWFzdGVyaW1hZ2UucHkKQEAgLTE5Nyw0MyArMTk3LDMgQEAKICAgICAgICAgc2VsZi5wb3dlcl9jeWNsZShzZWxmLm1hc3RlcikKICAgICAgICAgIyB0aGVyZSBhcmUgYmV0dGVyIHdheXMgdGhhbiBhIHRpbWVvdXQgYnV0IHRoaXMgc2hvdWxkIHdvcmsgZm9yIG5vdwogICAgICAgICB0aW1lLnNsZWVwKDEyMCkKLQotCi1jbGFzcyBTeXN0ZW1kYm9vdFRhcmdldChNYXN0ZXJJbWFnZUhhcmR3YXJlVGFyZ2V0KToKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkKToKLSAgICAgICAgc3VwZXIoU3lzdGVtZGJvb3RUYXJnZXQsIHNlbGYpLl9faW5pdF9fKGQpCi0gICAgICAgICMgdGhpcyB0aGUgdmFsdWUgd2UgbmVlZCB0byBzZXQgaW4gdGhlIExvYWRlckVudHJ5T25lU2hvdCBFRkkgdmFyaWFibGUKLSAgICAgICAgIyBzbyB0aGUgc3lzdGVtIGJvb3RzIHRoZSAndGVzdCcgYm9vdGxvYWRlciBsYWJlbCBhbmQgbm90IHRoZSBkZWZhdWx0Ci0gICAgICAgICMgVGhlIGZpcnN0IGZvdXIgYnl0ZXMgYXJlIEVGSSBiaXRzLCBhbmQgdGhlIHJlc3QgaXMgYW4gdXRmLTE2bGUgc3RyaW5nCi0gICAgICAgICMgKEVGSSB2YXJzIHZhbHVlcyBuZWVkIHRvIGJlIHV0Zi0xNikKLSAgICAgICAgIyAkIGVjaG8gLWVuICJ0ZXN0XDAiIHwgaWNvbnYgLWYgYXNjaWkgLXQgdXRmLTE2bGUgfCBoZXhkdW1wIC1DCi0gICAgICAgICMgMDAwMDAwMDAgIDc0IDAwIDY1IDAwIDczIDAwIDc0IDAwICAwMCAwMCAgICAgICAgICAgICAgICAgICAgfHQuZS5zLnQuLi58Ci0gICAgICAgIHNlbGYuZWZpdmFydmFsdWUgPSByJ1x4MDdceDAwXHgwMFx4MDBceDc0XHgwMFx4NjVceDAwXHg3M1x4MDBceDc0XHgwMFx4MDBceDAwJwotICAgICAgICBzZWxmLmRlcGxveV9jbWRzID0gWwotICAgICAgICAgICAgICAgICdtb3VudCAtTCBib290IC9ib290JywKLSAgICAgICAgICAgICAgICAnbWtkaXIgLXAgL21udC90ZXN0cm9vdGZzJywKLSAgICAgICAgICAgICAgICAnbW91bnQgLUwgdGVzdHJvb3RmcyAvbW50L3Rlc3Ryb290ZnMnLAotICAgICAgICAgICAgICAgICdtb2Rwcm9iZSBlZml2YXJmcycsCi0gICAgICAgICAgICAgICAgJ21vdW50IC10IGVmaXZhcmZzIGVmaXZhcmZzIC9zeXMvZmlybXdhcmUvZWZpL2VmaXZhcnMnLAotICAgICAgICAgICAgICAgICdjcCB+L3Rlc3Qta2VybmVsIC9ib290JywKLSAgICAgICAgICAgICAgICAncm0gLXJmIC9tbnQvdGVzdHJvb3Rmcy8qJywKLSAgICAgICAgICAgICAgICAndGFyIHh2ZiB+L3Rlc3Qtcm9vdGZzLiVzIC1DIC9tbnQvdGVzdHJvb3RmcycgJSBzZWxmLmltYWdlX2ZzdHlwZSwKLSAgICAgICAgICAgICAgICAncHJpbnRmICIlcyIgPiAvc3lzL2Zpcm13YXJlL2VmaS9lZml2YXJzL0xvYWRlckVudHJ5T25lU2hvdC00YTY3YjA4Mi0wYTRjLTQxY2YtYjZjNy00NDBiMjliYjhjNGYnICUgc2VsZi5lZml2YXJ2YWx1ZQotICAgICAgICAgICAgICAgIF0KLQotICAgIGRlZiBfZGVwbG95KHNlbGYpOgotICAgICAgICAjIG1ha2Ugc3VyZSB0aGVzZSBhcmVuJ3QgbW91bnRlZAotICAgICAgICBzZWxmLm1hc3Rlci5ydW4oInVtb3VudCAvYm9vdDsgdW1vdW50IC9tbnQvdGVzdHJvb3RmczsgdW1vdW50IC9zeXMvZmlybXdhcmUvZWZpL2VmaXZhcnM7IikKLSAgICAgICAgIyBmcm9tIG5vdyBvbiwgZXZlcnkgZGVwbG95IGNtZCBzaG91bGQgcmV0dXJuIDAKLSAgICAgICAgIyBlbHNlIGFuIGV4Y2VwdGlvbiB3aWxsIGJlIHRocm93biBieSBzc2hjb250cm9sCi0gICAgICAgIHNlbGYubWFzdGVyLmlnbm9yZV9zdGF0dXMgPSBGYWxzZQotICAgICAgICBzZWxmLm1hc3Rlci5jb3B5X3RvKHNlbGYucm9vdGZzLCAifi90ZXN0LXJvb3Rmcy4iICsgc2VsZi5pbWFnZV9mc3R5cGUpCi0gICAgICAgIHNlbGYubWFzdGVyLmNvcHlfdG8oc2VsZi5rZXJuZWwsICJ+L3Rlc3Qta2VybmVsIikKLSAgICAgICAgZm9yIGNtZCBpbiBzZWxmLmRlcGxveV9jbWRzOgotICAgICAgICAgICAgc2VsZi5tYXN0ZXIucnVuKGNtZCkKLQotICAgIGRlZiBfc3RhcnQoc2VsZiwgcGFyYW1zPU5vbmUpOgotICAgICAgICBzZWxmLnBvd2VyX2N5Y2xlKHNlbGYubWFzdGVyKQotICAgICAgICAjIHRoZXJlIGFyZSBiZXR0ZXIgd2F5cyB0aGFuIGEgdGltZW91dCBidXQgdGhpcyBzaG91bGQgd29yayBmb3Igbm93Ci0gICAgICAgIHRpbWUuc2xlZXAoMTIwKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL2NvcmUvdGFyZ2V0L3FlbXUucHkgYi9wb2t5L21ldGEvbGliL29lcWEvY29yZS90YXJnZXQvcWVtdS5weQppbmRleCA1MzhiZjEyLi43YTE2MWEzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvY29yZS90YXJnZXQvcWVtdS5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvY29yZS90YXJnZXQvcWVtdS5weQpAQCAtMTMsNyArMTMsNyBAQAogCiBjbGFzcyBPRVFlbXVUYXJnZXQoT0VTU0hUYXJnZXQpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2dnZXIsIHNlcnZlcl9pcCwgdGltZW91dD0zMDAsIHVzZXI9J3Jvb3QnLAotICAgICAgICAgICAgcG9ydD1Ob25lLCBtYWNoaW5lPScnLCByb290ZnM9JycsIGtlcm5lbD0nJywga3ZtPUZhbHNlLAorICAgICAgICAgICAgcG9ydD1Ob25lLCBtYWNoaW5lPScnLCByb290ZnM9JycsIGtlcm5lbD0nJywga3ZtPUZhbHNlLCBzbGlycD1GYWxzZSwKICAgICAgICAgICAgIGR1bXBfZGlyPScnLCBkdW1wX2hvc3RfY21kcz0nJywgZGlzcGxheT0nJywgYm9vdGxvZz0nJywKICAgICAgICAgICAgIHRtcGRpcj0nJywgZGlyX2ltYWdlPScnLCBib290dGltZT02MCwgKiprd2FyZ3MpOgogCkBAIC0yNSwxNyArMjUsMzMgQEAKICAgICAgICAgc2VsZi5yb290ZnMgPSByb290ZnMKICAgICAgICAgc2VsZi5rZXJuZWwgPSBrZXJuZWwKICAgICAgICAgc2VsZi5rdm0gPSBrdm0KKyAgICAgICAgc2VsZi51c2Vfc2xpcnAgPSBzbGlycAogCiAgICAgICAgIHNlbGYucnVubmVyID0gUWVtdVJ1bm5lcihtYWNoaW5lPW1hY2hpbmUsIHJvb3Rmcz1yb290ZnMsIHRtcGRpcj10bXBkaXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXBsb3lfZGlyX2ltYWdlPWRpcl9pbWFnZSwgZGlzcGxheT1kaXNwbGF5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9nZmlsZT1ib290bG9nLCBib290dGltZT1ib290dGltZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZV9rdm09a3ZtLCBkdW1wX2Rpcj1kdW1wX2RpciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZV9rdm09a3ZtLCB1c2Vfc2xpcnA9c2xpcnAsIGR1bXBfZGlyPWR1bXBfZGlyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVtcF9ob3N0X2NtZHM9ZHVtcF9ob3N0X2NtZHMsIGxvZ2dlcj1sb2dnZXIpCiAKLSAgICBkZWYgc3RhcnQoc2VsZiwgcGFyYW1zPU5vbmUsIGV4dHJhX2Jvb3RwYXJhbXM9Tm9uZSk6Ci0gICAgICAgIGlmIHNlbGYucnVubmVyLnN0YXJ0KHBhcmFtcywgZXh0cmFfYm9vdHBhcmFtcz1leHRyYV9ib290cGFyYW1zKToKKyAgICBkZWYgc3RhcnQoc2VsZiwgcGFyYW1zPU5vbmUsIGV4dHJhX2Jvb3RwYXJhbXM9Tm9uZSwgcnVucWVtdXBhcmFtcz0nJyk6CisgICAgICAgIGlmIHNlbGYudXNlX3NsaXJwIGFuZCBub3Qgc2VsZi5zZXJ2ZXJfaXA6CisgICAgICAgICAgICBzZWxmLmxvZ2dlci5lcnJvcigiQ291bGQgbm90IHN0YXJ0IHFlbXUgd2l0aCBzbGlycCB3aXRob3V0IHNlcnZlciBpcCAtIHByb3ZpZGUgJ1RFU1RfU0VSVkVSX0lQJyIpCisgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoIkZBSUxFRCB0byBzdGFydCBxZW11IC0gY2hlY2sgdGhlIHRhc2sgbG9nIGFuZCB0aGUgYm9vdCBsb2ciKQorICAgICAgICBpZiBzZWxmLnJ1bm5lci5zdGFydChwYXJhbXMsIGV4dHJhX2Jvb3RwYXJhbXM9ZXh0cmFfYm9vdHBhcmFtcywgcnVucWVtdXBhcmFtcz1ydW5xZW11cGFyYW1zKToKICAgICAgICAgICAgIHNlbGYuaXAgPSBzZWxmLnJ1bm5lci5pcAotICAgICAgICAgICAgc2VsZi5zZXJ2ZXJfaXAgPSBzZWxmLnJ1bm5lci5zZXJ2ZXJfaXAKKyAgICAgICAgICAgIGlmIHNlbGYudXNlX3NsaXJwOgorICAgICAgICAgICAgICAgIHRhcmdldF9pcF9wb3J0ID0gc2VsZi5ydW5uZXIuaXAuc3BsaXQoJzonKQorICAgICAgICAgICAgICAgIGlmIGxlbih0YXJnZXRfaXBfcG9ydCkgPT0gMjoKKyAgICAgICAgICAgICAgICAgICAgdGFyZ2V0X2lwID0gdGFyZ2V0X2lwX3BvcnRbMF0KKyAgICAgICAgICAgICAgICAgICAgcG9ydCA9IHRhcmdldF9pcF9wb3J0WzFdCisgICAgICAgICAgICAgICAgICAgIHNlbGYuaXAgPSB0YXJnZXRfaXAKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5zc2ggPSBzZWxmLnNzaCArIFsnLXAnLCBwb3J0XQorICAgICAgICAgICAgICAgICAgICBzZWxmLnNjcCA9IHNlbGYuc2NwICsgWyctUCcsIHBvcnRdCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuZXJyb3IoIkNvdWxkIG5vdCBnZXQgaG9zdCBtYWNoaW5lIHBvcnQgdG8gY29ubmVjdCBxZW11IHdpdGggc2xpcnAsIHNzaCB3aWxsIG5vdCBiZSAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhYmxlIHRvIGNvbm5lY3QgdG8gcWVtdSB3aXRoIHNsaXJwIikKKyAgICAgICAgICAgIGlmIHNlbGYucnVubmVyLnNlcnZlcl9pcDoKKyAgICAgICAgICAgICAgICBzZWxmLnNlcnZlcl9pcCA9IHNlbGYucnVubmVyLnNlcnZlcl9pcAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgc2VsZi5zdG9wKCkKICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigiRkFJTEVEIHRvIHN0YXJ0IHFlbXUgLSBjaGVjayB0aGUgdGFzayBsb2cgYW5kIHRoZSBib290IGxvZyIpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvY29yZS91dGlscy9jb25jdXJyZW5jeXRlc3QucHkgYi9wb2t5L21ldGEvbGliL29lcWEvY29yZS91dGlscy9jb25jdXJyZW5jeXRlc3QucHkKaW5kZXggZjA1MDI4OS4uZTA1MDgxOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL2NvcmUvdXRpbHMvY29uY3VycmVuY3l0ZXN0LnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9jb3JlL3V0aWxzL2NvbmN1cnJlbmN5dGVzdC5weQpAQCAtMjUsNiArMjUsNyBAQAogZnJvbSBzdWJ1bml0IGltcG9ydCBQcm90b2NvbFRlc3RDYXNlLCBUZXN0UHJvdG9jb2xDbGllbnQKIGZyb20gc3VidW5pdC50ZXN0X3Jlc3VsdHMgaW1wb3J0IEF1dG9UaW1pbmdUZXN0UmVzdWx0RGVjb3JhdG9yCiBmcm9tIHRlc3R0b29scyBpbXBvcnQgVGhyZWFkc2FmZUZvcndhcmRpbmdSZXN1bHQsIGl0ZXJhdGVfdGVzdHMKK2Zyb20gb2VxYS51dGlscy5jb21tYW5kcyBpbXBvcnQgZ2V0X3Rlc3RfbGF5ZXIKIAogaW1wb3J0IGJiLnV0aWxzCiBpbXBvcnQgb2UucGF0aApAQCAtMTQxLDYgKzE0Miw5IEBACiAKIGRlZiBmb3JrX2Zvcl90ZXN0cyhjb25jdXJyZW5jeV9udW0sIHN1aXRlKToKICAgICByZXN1bHQgPSBbXQorICAgIGlmICdCVUlMRERJUicgaW4gb3MuZW52aXJvbjoKKyAgICAgICAgc2VsZnRlc3RkaXIgPSBnZXRfdGVzdF9sYXllcigpCisKICAgICB0ZXN0X2Jsb2NrcyA9IHBhcnRpdGlvbl90ZXN0cyhzdWl0ZSwgY29uY3VycmVuY3lfbnVtKQogICAgICMgQ2xlYXIgdGhlIHRlc3RzIGZyb20gdGhlIG9yaWdpbmFsIHN1aXRlIHNvIGl0IGRvZXNuJ3Qga2VlcCB0aGVtIGFsaXZlCiAgICAgc3VpdGUuX3Rlc3RzWzpdID0gW10KQEAgLTE2Niw3ICsxNzAsNiBAQAogICAgICAgICAgICAgICAgIGlmICdCVUlMRERJUicgaW4gb3MuZW52aXJvbjoKICAgICAgICAgICAgICAgICAgICAgYnVpbGRkaXIgPSBvcy5lbnZpcm9uWydCVUlMRERJUiddCiAgICAgICAgICAgICAgICAgICAgIG5ld2J1aWxkZGlyID0gYnVpbGRkaXIgKyAiLXN0LSIgKyBzdHIob3VycGlkKQotICAgICAgICAgICAgICAgICAgICBzZWxmdGVzdGRpciA9IG9zLnBhdGguYWJzcGF0aChidWlsZGRpciArICIvLi4vbWV0YS1zZWxmdGVzdCIpCiAgICAgICAgICAgICAgICAgICAgIG5ld3NlbGZ0ZXN0ZGlyID0gbmV3YnVpbGRkaXIgKyAiL21ldGEtc2VsZnRlc3QiCiAKICAgICAgICAgICAgICAgICAgICAgYmIudXRpbHMubWtkaXJoaWVyKG5ld2J1aWxkZGlyKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL21hbnVhbC9ic3AtaHcuanNvbiBiL3Bva3kvbWV0YS9saWIvb2VxYS9tYW51YWwvYnNwLWh3Lmpzb24KaW5kZXggYTJiMWQzZS4uNGI3Yzc2ZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL21hbnVhbC9ic3AtaHcuanNvbgorKysgYi9wb2t5L21ldGEvbGliL29lcWEvbWFudWFsL2JzcC1ody5qc29uCkBAIC0xLDcgKzEsNyBAQAogWwogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy10b29scy5ycG1fLV9faW5zdGFsbF9kZXBlbmRlbmN5X3BhY2thZ2UiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcucnBtXy1fX2luc3RhbGxfZGVwZW5kZW5jeV9wYWNrYWdlIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC0yNyw3ICsyNyw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5ib290X2FuZF9pbnN0YWxsX2Zyb21fVVNCIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LmJvb3RfYW5kX2luc3RhbGxfZnJvbV9VU0IiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTYxLDcgKzYxLDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ydW50aW1lLmxpdmVfYm9vdF9mcm9tX1VTQiIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5saXZlX2Jvb3RfZnJvbV9VU0IiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJqdWFuLmZlcm5hbmRveC5yYW1vcy5mcmF5bGVAaW50ZWwuY29tIiwKQEAgLTg3LDcgKzg3LDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ydW50aW1lLmJvb3RfZnJvbV9ydW5sZXZlbF8zIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LmJvb3RfZnJvbV9ydW5sZXZlbF8zIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC0xMjEsNyArMTIxLDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ydW50aW1lLmJvb3RfZnJvbV9ydW5sZXZlbF81IiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LmJvb3RfZnJvbV9ydW5sZXZlbF81IiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC0xNTEsNyArMTUxLDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ydW50aW1lLnNodXRkb3duX3N5c3RlbSIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5zaHV0ZG93bl9zeXN0ZW0iLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTE3Myw3ICsxNzMsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXJ1bnRpbWUucmVib290X3N5c3RlbSIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5yZWJvb3Rfc3lzdGVtIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC0xOTUsNyArMTk1LDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ydW50aW1lLnN3aXRjaF9hbW9uZ19tdWx0aV9hcHBsaWNhdGlvbnNfYW5kX2Rlc2t0b3AiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcuc3dpdGNoX2Ftb25nX211bHRpX2FwcGxpY2F0aW9uc19hbmRfZGVza3RvcCIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtMjI1LDcgKzIyNSw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5VU0JfLV9tb3VudCIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5VU0JfLV9tb3VudCIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtMjUxLDcgKzI1MSw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5VU0JfLV9yZWFkX2ZpbGVzIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LlVTQl8tX3JlYWRfZmlsZXMiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTI4MSw3ICsyODEsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXJ1bnRpbWUuVVNCXy1fdW1vdW50IiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LlVTQl8tX3Vtb3VudCIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtMzA3LDcgKzMwNyw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5VU0JfLV93cml0ZV9maWxlcyIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5VU0JfLV93cml0ZV9maWxlcyIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtMzMzLDcgKzMzMyw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5ldGhlcm5ldF9zdGF0aWNfaXBfc2V0X2luX2Nvbm5tYW4iLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcuZXRoZXJuZXRfc3RhdGljX2lwX3NldF9pbl9jb25ubWFuIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC0zNjcsNyArMzY3LDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ydW50aW1lLmV0aGVybmV0X2dldF9JUF9pbl9jb25ubWFuX3ZpYV9ESENQIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LmV0aGVybmV0X2dldF9JUF9pbl9jb25ubWFuX3ZpYV9ESENQIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC0zOTcsNyArMzk3LDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy10b29scy5jb25ubWFuX29mZmxpbmVfbW9kZV9pbl9jb25ubWFuLWdub21lIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LmNvbm5tYW5fb2ZmbGluZV9tb2RlX2luX2Nvbm5tYW4tZ25vbWUiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTQxOSw3ICs0MTksNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXJ1bnRpbWUuWF9zZXJ2ZXJfY2FuX3N0YXJ0X3VwX3dpdGhfcnVubGV2ZWxfNV9ib290IiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3Llhfc2VydmVyX2Nhbl9zdGFydF91cF93aXRoX3J1bmxldmVsXzVfYm9vdCIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtNDQxLDcgKzQ0MSw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5zdGFuZGJ5IiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LnN0YW5kYnkiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTQ3NSw3ICs0NzUsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXJ1bnRpbWUuY2hlY2tfQ1BVX3V0aWxpemF0aW9uX2FmdGVyX3N0YW5kYnkiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcuY2hlY2tfQ1BVX3V0aWxpemF0aW9uX2FmdGVyX3N0YW5kYnkiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTUwNSw3ICs1MDUsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXJ1bnRpbWUuVGVzdF9pZl9MQU5fZGV2aWNlX3dvcmtzX3dlbGxfYWZ0ZXJfcmVzdW1lX2Zyb21fc3VzcGVuZF9zdGF0ZSIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5UZXN0X2lmX0xBTl9kZXZpY2Vfd29ya3Nfd2VsbF9hZnRlcl9yZXN1bWVfZnJvbV9zdXNwZW5kX3N0YXRlIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC01MzUsNyArNTM1LDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ydW50aW1lLlRlc3RfaWZfdXNiX2hpZF9kZXZpY2Vfd29ya3Nfd2VsbF9hZnRlcl9yZXN1bWVfZnJvbV9zdXNwZW5kX3N0YXRlIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LlRlc3RfaWZfdXNiX2hpZF9kZXZpY2Vfd29ya3Nfd2VsbF9hZnRlcl9yZXN1bWVfZnJvbV9zdXNwZW5kX3N0YXRlIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC01NjUsNyArNTY1LDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy10b29scy5jbGlja190ZXJtaW5hbF9pY29uX29uX1hfZGVza3RvcCIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5jbGlja190ZXJtaW5hbF9pY29uX29uX1hfZGVza3RvcCIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtNTg3LDcgKzU4Nyw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtdG9vbHMuQWRkX211bHRpcGxlX2ZpbGVzX2luX21lZGlhX3BsYXllciIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5BZGRfbXVsdGlwbGVfZmlsZXNfaW5fbWVkaWFfcGxheWVyIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC02MTMsNyArNjEzLDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ydW50aW1lLmNoZWNrX2Jhc2hfaW5faW1hZ2UiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcuY2hlY2tfYmFzaF9pbl9pbWFnZSIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtNjMxLDcgKzYzMSw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5NaWNyb1NEXy1fX21vdW50IiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3Lk1pY3JvU0RfLV9fbW91bnQiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTY1Myw3ICs2NTMsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXJ1bnRpbWUuTWljcm9TRF8tX19yZWFkX2ZpbGVzIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3Lk1pY3JvU0RfLV9fcmVhZF9maWxlcyIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtNjgzLDcgKzY4Myw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5NaWNyb1NEXy1fX3Vtb3VudCIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5NaWNyb1NEXy1fX3Vtb3VudCIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtNzEzLDcgKzcxMyw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5NaWNyb1NEXy1fX3dyaXRlX2ZpbGVzIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3Lk1pY3JvU0RfLV9fd3JpdGVfZmlsZXMiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTc0Myw3ICs3NDMsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXRvb2xzLnZpZGVvXy1fbGlidmFfY2hlY2tfKG9nZ192aWRlb19wbGF5KSIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody52aWRlb18tX2xpYnZhX2NoZWNrXyhvZ2dfdmlkZW9fcGxheSkiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTc2OSwyOSArNzY5LDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy10b29scy5tZWRpYV9wbGF5ZXJfLV91bmFibGVfdG9fcGxheV9NUEVHLTFfd2l0aG91dF9cImNvbW1lcmNpYWxcIl9mbGFnIiwKLSAgICAgICAgICAgICJhdXRob3IiOiBbCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCi0gICAgICAgICAgICAgICAgICAgICJuYW1lIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iCi0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICJleGVjdXRpb24iOiB7Ci0gICAgICAgICAgICAgICAgIjEiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiQ29weSBzYW1wbGUgTVBFRy0xIGZpbGUgdG8gYSBzeXN0ZW0gd2l0aG91dCB0aGUgXCJjb21tZXJjaWFsXCIgZmxhZy4iLAotICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAiMiI6IHsKLSAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJMYXVuY2ggbWVkaWEgcGxheWVyIGFuZCBtYWtlIHN1cmUgaXQgY2Fubm90IHBsYXkgdGhlIE1QRUctMSBmaWxlLiIsCi0gICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk1QRUctMSBmaWxlIGNhbiBub3QgYmUgcGxheWVkIG9uIGltYWdlcyB3aXRob3V0IHRoZSBcImNvbW1lcmNpYWxcIiBmbGFnLiAiCi0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICJzdW1tYXJ5IjogIm1lZGlhX3BsYXllcl8tX3VuYWJsZV90b19wbGF5X01QRUctMV93aXRob3V0X1wiY29tbWVyY2lhbFwiX2ZsYWciCi0gICAgICAgIH0KLSAgICB9LAotICAgIHsKLSAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy10b29scy5tZWRpYV9wbGF5ZXJfLV9wbGF5X3ZpZGVvXyhvZ3YpIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3Lm1lZGlhX3BsYXllcl8tX3BsYXlfdmlkZW9fKG9ndikiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTgxMyw3ICs3OTEsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXRvb2xzLm1lZGlhX3BsYXllcl8tX3N0b3AvcGxheV9idXR0b25fKG9ndikiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcubWVkaWFfcGxheWVyXy1fc3RvcC9wbGF5X2J1dHRvbl8ob2d2KSIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtODQzLDcgKzgyMSw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtdG9vbHMuYXVkaW9fLV9wbGF5XyhvZ2cpX3dpdGhfSERNSSIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5hdWRpb18tX3BsYXlfKG9nZylfd2l0aF9IRE1JIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC04NjksNyArODQ3LDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy10b29scy5hdWRpb18tX3BsYXlfKHdhdilfd2l0aF9IRE1JIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LmF1ZGlvXy1fcGxheV8od2F2KV93aXRoX0hETUkiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTg5NSw3ICs4NzMsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXRvb2xzLkdyYXBoaWNzXy1fQUJBVCIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5HcmFwaGljc18tX0FCQVQiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTkyMSw3ICs4OTksNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXRvb2xzLkdyYXBoaWNzXy1feDExcGVyZl8tXzJEIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LkdyYXBoaWNzXy1feDExcGVyZl8tXzJEIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC05NDMsMzMgKzkyMSw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtb2UtY29yZS5UZXN0X1J1bl9JbnRlZ3JpdHlfLV9DaGVja190aGF0X2ltYWdlX2lzX2J1aWxkYWJsZSIsCi0gICAgICAgICAgICAiYXV0aG9yIjogWwotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImNvcm5lbGl1eC5zdG9pY2VzY3VAaW50ZWwuY29tIiwKLSAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiY29ybmVsaXV4LnN0b2ljZXNjdUBpbnRlbC5jb20iCi0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICJleGVjdXRpb24iOiB7Ci0gICAgICAgICAgICAgICAgIjEiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCBpbWFnZSBjYW4gYmUgYnVpbHQgdXNpbmcgZWl0aGVyIG9mIHRoZSBmb2xsb3dpbmcgbWV0aG9kczogIFxuXG4iLAotICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAiMiI6IHsKLSAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGF0IGltYWdlIGlzIGJ1aWx0IGJ5IGF1dG9idWlsZGVyIFxuUGxlYXNlIGNoZWNrIGF0OiBodHRwczovL2F1dG9idWlsZGVyLnlvY3RvLmlvL3B1Yi9yZWxlYXNlcy8gXG5DaG9vc2UgdGhlIHRhcmdldCByZWxlYXNlIHRoYXQgeW91IGFyZSB2YWxpZGF0aW5nLiAgXG5cbiIsCi0gICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICIzIjogewotICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIkJ1aWxkIGltYWdlIHlvdXJzZWxmIFxuUHJlZmVycmVkIHRvIGJ1aWxkIGFuIGNvcmUtaW1hZ2Utc2F0by1kZXYgdG8gZWFzZSB0aGUgcHJvY2VzcyBvZiB0aGUgZGVwZW5kZW50IHRlc3QgY2FzZXMgaW4gdGhpcyBydW4uIFxuTm90ZTogUGxlYXNlIHNldCBNQUNISU5FIGluIGNvbmYvbG9jYWwuY29uZiAiLAotICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJJZiBlaXRoZXIgbWV0aG9kIGZhaWxzLCB0aGlzIHRlc3QgY2FzZSB3aWxsIGJlIGZhaWxlZCBhbmQgZGVwZW5kZW50IHRlc3QgY2FzZXMgd2lsbCBiZSBibG9ja2VkLiAiCi0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICJzdW1tYXJ5IjogIlRlc3RfUnVuX0ludGVncml0eV8tX0NoZWNrX3RoYXRfaW1hZ2VfaXNfYnVpbGRhYmxlIgotICAgICAgICB9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5DaGVja19pZl9TQVRBX2Rpc2tfY2FuX3dvcmtfY29ycmVjdGx5IiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LkNoZWNrX2lmX1NBVEFfZGlza19jYW5fd29ya19jb3JyZWN0bHkiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJ5aS56aGFvQHdpbmRyaXZlci5jb20iLApAQCAtOTk5LDcgKzk1MSw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5JbnN0YWxsX2FuZF9ib290X2Zyb21fVVNCLWRyaXZlX3RvX0hERC1kcml2ZSIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5JbnN0YWxsX2FuZF9ib290X2Zyb21fVVNCLWRyaXZlX3RvX0hERC1kcml2ZSIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImRhdmlkLmlzcmFlbHgucm9kcmlndWV6LmNhc3RlbGxhbm9zQGludGVsLmNvbSIsCkBAIC0xMDQxLDcgKzk5Myw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5JbnN0YWxsX2FuZF9ib290X2Zyb21fVVNCLWRyaXZlX3RvX1NELWRyaXZlIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3Lkluc3RhbGxfYW5kX2Jvb3RfZnJvbV9VU0ItZHJpdmVfdG9fU0QtZHJpdmUiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJkYXZpZC5pc3JhZWx4LnJvZHJpZ3Vlei5jYXN0ZWxsYW5vc0BpbnRlbC5jb20iLApAQCAtMTA4Myw3ICsxMDM1LDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ydW50aW1lLlRlc3RfYm9vdF9vbl9zZXJpYWxfY29tbXVuaWNhdGlvbl9TRCIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5UZXN0X2Jvb3Rfb25fc2VyaWFsX2NvbW11bmljYXRpb25fU0QiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJqdWFuLmZlcm5hbmRveC5yYW1vcy5mcmF5bGVAaW50ZWwuY29tIiwKQEAgLTExMDEsNyArMTA1Myw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5UZXN0X2Jvb3Rfb25fc2VyaWFsX2NvbW11bmljYXRpb25fSEREIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LlRlc3RfYm9vdF9vbl9zZXJpYWxfY29tbXVuaWNhdGlvbl9IREQiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJqdWFuLmZlcm5hbmRveC5yYW1vcy5mcmF5bGVAaW50ZWwuY29tIiwKQEAgLTExMTksNyArMTA3MSw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5UZXN0X2Jvb3Rfb25fc2VyaWFsX2NvbW11bmljYXRpb25fVVNCIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LlRlc3RfYm9vdF9vbl9zZXJpYWxfY29tbXVuaWNhdGlvbl9VU0IiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJqdWFuLmZlcm5hbmRveC5yYW1vcy5mcmF5bGVAaW50ZWwuY29tIiwKQEAgLTExNTMsNyArMTEwNSw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5UZXN0X1NlZWtfYmFyX2FuZF92b2x1bWVfY29udHJvbCIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5UZXN0X1NlZWtfYmFyX2FuZF92b2x1bWVfY29udHJvbCIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImp1YW4uZmVybmFuZG94LnJhbW9zLmZyYXlsZUBpbnRlbC5jb20iLApAQCAtMTE5Niw1ICsxMTQ4LDEzOSBAQAogICAgICAgICAgICAgfSwKICAgICAgICAgICAgICJzdW1tYXJ5IjogIlRlc3RfU2Vla19iYXJfYW5kX3ZvbHVtZV9jb250cm9sIgogICAgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICAgICJ0ZXN0IjogeworICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcuQ2hlY2tfaWZfd2F0Y2hkb2dfY2FuX3Jlc2V0X3RoZV90YXJnZXRfc3lzdGVtIiwKKyAgICAgICAgICAgICJhdXRob3IiOiBbCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAieWkuemhhb0B3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAieWkuemhhb0B3aW5kcml2ZXIuY29tIgorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAgICAgICAgICIxIjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIjEuQ2hlY2sgaWYgd2F0Y2hkb2cgZGV2aWNlIGV4aXN0IGluIC9kZXYvIGRpcmVjdG9yeS4gUnVuIGNvbW1hbmQgZWNobyAxID4gL2Rldi93YXRjaGRvZyBhbmQgd2FpdCBmb3IgNjBzLiBUaGVuLCB0aGUgdGFyZ2V0IHdpbGwgcmVib290LiIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRoZSB3YXRjaGRvZyBkZXZpY2UgZXhpc3QgaW4gL2Rldi8gZGlyZWN0b3J5IGFuZCBjYW4gcmVib290IHRoZSB0YXJnZXQuXG4iCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJzdW1tYXJ5IjogIkNoZWNrX2lmX3dhdGNoZG9nX2Nhbl9yZXNldF90aGVfdGFyZ2V0X3N5c3RlbSIKKyAgICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgICAidGVzdCI6IHsKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LkNoZWNrX2lmX1JUQ18oUmVhbF9UaW1lX0Nsb2NrKV9jYW5fd29ya19jb3JyZWN0bHkiLAorICAgICAgICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJ5aS56aGFvQHdpbmRyaXZlci5jb20iLAorICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJ5aS56aGFvQHdpbmRyaXZlci5jb20iCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICAgICAgICAgIjEiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiUmVhZCB0aW1lIGZyb20gUlRDIHJlZ2lzdGVycy4gIHJvb3RAbG9jYWxob3N0Oi9yb290PiBod2Nsb2NrIC1yICBTdW4gTWFyIDIyIDA0OjA1OjQ3IDE5NzAgLTAuMDAxOTQ4IHNlY29uZHMgIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQ2FuIHJlYWQgYW5kIHNldCB0aGUgdGltZSBmcm9tIFJUQy5cbiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICIyIjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIlNldCBzeXN0ZW0gY3VycmVudCB0aW1lICByb290QGxvY2FsaG9zdDovcm9vdD4gZGF0ZSAwNjIzMDk0NTIwMDggIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjMiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiU3luY2hyb25pemUgdGhlIHN5c3RlbSBjdXJyZW50IHRpbWUgdG8gUlRDIHJlZ2lzdGVycyAgcm9vdEBsb2NhbGhvc3Q6L3Jvb3Q+IGh3Y2xvY2sgLXcgIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjQiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiUmVhZCB0aW1lIGZyb20gUlRDIHJlZ2lzdGVycyAgcm9vdEBsb2NhbGhvc3Q6L3Jvb3Q+IGh3Y2xvY2sgLXIgIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjUiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiUmVib290IHRhcmdldCBhbmQgcmVhZCB0aW1lIGZyb20gUlRDIGFnYWluXG4iLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJzdW1tYXJ5IjogIkNoZWNrX2lmX1JUQ18oUmVhbF9UaW1lX0Nsb2NrKV9jYW5fd29ya19jb3JyZWN0bHkiCisgICAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgICAgInRlc3QiOiB7CisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5DaGVja19pZl90YXJnZXRfY2FuX3N1cHBvcnRfRUVQUk9NIiwKKyAgICAgICAgICAgICJhdXRob3IiOiBbCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAieWkuemhhb0B3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAieWkuemhhb0B3aW5kcml2ZXIuY29tIgorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAgICAgICAgICIxIjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIGVlcHJvbSBkZXZpY2UgZXhpc3QgaW4gL3N5cy9idXMvaTJjL2RldmljZXMvICIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkhleGR1bXAgY2FuIHJlYWQgZGF0YSBmcm9tIGVlcHJvbS5cbiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICIyIjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIlJ1biBcImhleGR1bXAgZWVwcm9tXCIgY29tbWFuZHJvb3RAbXBjODMxNWUtcmRiOi9zeXMvYnVzL2kyYy9kZXZpY2VzLzEtMDA1MT4gaGV4ZHVtcCBlZXByb20wMDAwMDAwIDkyMTAgMGIwMiAwMjExIDAwMDkgMGI1MiAwMTA4IDBjMDAgM2MwMDAwMDAwMTAgNjk3OCA2OTMwIDY5MTEgMjA4YyA3MDAzIDNjM2MgMDBmMCA4MzgxXHUyMDI2XG4iLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJzdW1tYXJ5IjogIkNoZWNrX2lmX3RhcmdldF9jYW5fc3VwcG9ydF9FRVBST00iCisgICAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgICAgInRlc3QiOiB7CisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5TeXN0ZW1fY2FuX2Jvb3RfdXBfdmlhX05GUyIsCisgICAgICAgICAgICAiYXV0aG9yIjogWworICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogInlpLnpoYW9Ad2luZHJpdmVyLmNvbSIsCisgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInlpLnpoYW9Ad2luZHJpdmVyLmNvbSIKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgICAgICAgICAiMSI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJDb25uZWN0IHRoZSBib2FyZCdzIGZpcnN0IHNlcmlhbCBwb3J0IHRvIHlvdXIgd29ya3N0YXRpb24gYW5kIHRoZW4gc3RhcnQgdXAgeW91ciBmYXZvdXJpdGUgc2VyaWFsIHRlcm1pbmFsIHNvIHRoYXQgeW91IHdpbGwgYmUgYWJsZSB0byBpbnRlcmFjdCB3aXRoIHRoZSBzZXJpYWwgY29uc29sZS4gSWYgeW91IGRvbid0IGhhdmUgYSBmYXZvdXJpdGUsIHBpY29jb20gaXMgc3VnZ2VzdGVkOiAgICQgcGljb2NvbSAvZGV2L3R0eVMwIC1iIDExNTIwMCAiLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJUaGUgc3lzdGVtIGNhbiBib290IHVwIHdpdGhvdXQgcHJvYmxlbVxuIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjIiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiUG93ZXIgdXAgb3IgcmVzZXQgdGhlIGJvYXJkIGFuZCBwcmVzcyBhIGtleSBvbiB0aGUgdGVybWluYWwgd2hlbiBwcm9tcHRlZCB0byBnZXQgdG8gdGhlIFUtQm9vdCBjb21tYW5kIGxpbmUgIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjMiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiU2V0IHVwIHRoZSBlbnZpcm9ubWVudCBpbiBVLUJvb3Q6ICA9PiBzZXRlbnYgaXBhZGRyICAgPT4gc2V0ZW52IHNlcnZlcmlwICAgIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjQiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiRG93bmxvYWQgdGhlIGtlcm5lbCBhbmQgYm9vdDogID0+IHRmdHAgdGZ0cCAkbG9hZGFkZHIgdm1saW51eCA9PiBib290b2N0bGludXggJGxvYWRhZGRyIGNvcmVtYXNrPTB4MyByb290PS9kZXYvbmZzIHJ3IG5mc3Jvb3Q9OiBpcD06Ojo6ZWRnZXJvdXRlcjpldGgwOm9mZiBtdGRwYXJ0cz1waHlzX21hcHBlZF9mbGFzaDo1MTJrKGJvb3QwKSw1MTJrKGJvb3QxKSw2NGtAMzA3MmsoZWVwcm9tKVxuIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3VtbWFyeSI6ICJTeXN0ZW1fY2FuX2Jvb3RfdXBfdmlhX05GUyIKKyAgICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgICAidGVzdCI6IHsKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LkJvb3RfZnJvbV9KRkZTMl9pbWFnZSIsCisgICAgICAgICAgICAiYXV0aG9yIjogWworICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogInlpLnpoYW9Ad2luZHJpdmVyLmNvbSIsCisgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInlpLnpoYW9Ad2luZHJpdmVyLmNvbSIKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgICAgICAgICAiMSI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJGaXJzdCBib290IHRoZSBib2FyZCB3aXRoIE5GUyByb290LiAiLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJUaGUgc3lzdGVtIGNhbiBib290IHVwIHdpdGhvdXQgcHJvYmxlbVxuIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjIiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiSW5zdGFsbCBtdGQtdXRpbHMgcGFja2FnZS4gRXJhc2UgdGhlIE1URCBwYXJ0aXRpb24gd2hpY2ggd2lsbCBiZSB1c2VkIGFzIHJvb3Q6ICQgZmxhc2hfZXJhc2VhbGwgL2Rldi9tdGQzICIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICIzIjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIkNvcHkgdGhlIEpGRlMyIGltYWdlIHRvIHRoZSBNVEQgcGFydGl0aW9uOiAkIGZsYXNoY3AgY29yZS1pbWFnZS1taW5pbWFsLW1wYzgzMTVlLXJkYi5qZmZzMiAvZGV2L210ZDMgIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjQiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiVGhlbiByZWJvb3QgdGhlIGJvYXJkIGFuZCBzZXQgdXAgdGhlIGVudmlyb25tZW50IGluIFUtQm9vdDogPT4gc2V0ZW52IGJvb3RhcmdzIHJvb3Q9L2Rldi9tdGRibG9jazMgcm9vdGZzdHlwZT1qZmZzMiBjb25zb2xlPXR0eVMwLDExNTIwMCAiLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJzdW1tYXJ5IjogIkJvb3RfZnJvbV9KRkZTMl9pbWFnZSIKKyAgICAgICAgfQogICAgIH0KIF0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvbWFudWFsL2J1aWxkLWFwcGxpYW5jZS5qc29uIGIvcG9reS9tZXRhL2xpYi9vZXFhL21hbnVhbC9idWlsZC1hcHBsaWFuY2UuanNvbgppbmRleCBiOGY4OTI3Li43MGY4YzcyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvbWFudWFsL2J1aWxkLWFwcGxpYW5jZS5qc29uCisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9tYW51YWwvYnVpbGQtYXBwbGlhbmNlLmpzb24KQEAgLTEsMzIgKzEsNiBAQAogWwogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJ1aWxkLWFwcGxpYW5jZS5idWlsZC1hcHBsaWFuY2UuQml0YmFrZV9idWlsZC1hcHBsaWFuY2UtaW1hZ2UiLAotICAgICAgICAgICAgImF1dGhvciI6IFsKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKLSAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBdLAotICAgICAgICAgICAgImV4ZWN1dGlvbiI6IHsKLSAgICAgICAgICAgICAgICAiMSI6IHsKLSAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJHZXQgcG9reSBzb3VyY2UgY29kZSBhbmQgcHJlcGFyZSB0aGUgYnVpbGQgZW52aXJvbm1lbnQiLAotICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJiaXRiYWtlIGJ1aWxkLWFwcGxpYW5jZS1pbWFnZSBpcyBzdWNjZXNzZnVsICAiCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAiMiI6IHsKLSAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJTZXQgTUFDSElORSB0byBxZW11eDg2IGFuZCBhZGQgdGhlIGZvbGxvd2luZyBsaW5lIHRvIGNvbmYvbG9jYWwuY29uZiA6ICBTUkNSRVZfcG4tYnVpbGQtYXBwbGlhbmNlLWltYWdlID0gXCIke0FVVE9SRVZ9XCIiLAotICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAiMyI6IHsKLSAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJSdW4gXCJiaXRiYWtlIGJ1aWxkLWFwcGxpYW5jZS1pbWFnZVwiIFxuIFxuIiwKLSAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAic3VtbWFyeSI6ICJCaXRiYWtlX2J1aWxkLWFwcGxpYW5jZS1pbWFnZSIKLSAgICAgICAgfQotICAgIH0sCi0gICAgewotICAgICAgICAidGVzdCI6IHsKICAgICAgICAgICAgICJAYWxpYXMiOiAiYnVpbGQtYXBwbGlhbmNlLmJ1aWxkLWFwcGxpYW5jZS5CdWlsZF9jb3JlLWltYWdlLW1pbmltYWxfd2l0aF9idWlsZC1hcHBsaWFuY2UtaW1hZ2UiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvbWFudWFsL2NvbXBsaWFuY2UtdGVzdC5qc29uIGIvcG9reS9tZXRhL2xpYi9vZXFhL21hbnVhbC9jb21wbGlhbmNlLXRlc3QuanNvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ODJmMGI0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL21hbnVhbC9jb21wbGlhbmNlLXRlc3QuanNvbgpAQCAtMCwwICsxLDE5NCBAQAorWworICAgIHsKKyAgICAgICAgInRlc3QiOiB7CisgICAgICAgICAgICAiQGFsaWFzIjogImNvbXBsaWFuY2UtdGVzdC5jb21wbGlhbmNlLXRlc3QuTFRQX3N1YnNldF90ZXN0X3N1aXRlIiwKKyAgICAgICAgICAgICJhdXRob3IiOiBbCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiY29ybmVsaXV4LnN0b2ljZXNjdUBpbnRlbC5jb20iLAorICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJjb3JuZWxpdXguc3RvaWNlc2N1QGludGVsLmNvbSIKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgICAgICAgICAiMSI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJGb3IgcmVhbCBoYXJkd2FyZSwgcnVuIGZvbGxvd2luZyBjb21wb25lbnQsIFxuc3lzY2FsbHMgXG5mcyBcbmZzeCBcbmRpbyBcbmlvIFxubW0gXG5pcGMgXG5zY2hlZCBcbm1hdGggXG5ucHRsIFxucHR5IFxuYWRtaW5fdG9vbHMgXG50aW1lcnMgXG5jb21tYW5kcyAgXG5cbkZvciBRRU1VLCBydW4gZm9sbG93aW5nIGNvbXBvbmVudCBcbnN5c2NhbGxzIFxubW0gXG5pcGMgXG5zY2hlZCBcbm1hdGggXG5ucHRsIFxucHR5IFxuYWRtaW5fdG9vbHMgXG5jb21tYW5kcyBcblxuUnVuIEluc3RydWN0aW9uczogXG5MVFAgZG93bmxvYWQ6IGh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbHRwL2ZpbGVzL0xUUCUyMFNvdXJjZS9sdHAtMjAxMjA0MDEvbHRwLWZ1bGwtMjAxMjA0MDEuYnoyL2Rvd25sb2FkICBcblxuKGxpbmsgaXMgb3V0ZGF0ZWQsIGFsd2F5cyB1c2UgdGhlIGxhc3QgdmVyc2lvbiByZWxlYXNlZCBvciB0aGUgb25lIGZvdW5kIGluIHRoZSBpbWFnZSkgIFxuXG5cblxuYnVpbGQgc3RlcHM6IHJlZmVyIHRvIGh0dHA6Ly9sdHAuc291cmNlZm9yZ2UubmV0ICBcblxuUnVuIHN0ZXBzOiIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICIyIjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIkJ1aWxkIExUUCB3aXRoIHRvb2xjaGFpbiBvciBpbiBzZGsgaW1hZ2UuIE9yIHVzZSBhIHNhdG8tc2RrIGltYWdlIHdoaWNoIGhhcyBMVFAgYWxyZWFkeSBpbmNsdWRlZCBpbiAvb3B0L2x0cCIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICIzIjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIkZvciBRRU1VLCBjcmVhdGUgdGhlIHFlbXUgdGFyZ2V0IHdpdGggXCItbSA1MTJcIiwgd2hpY2ggbWFrZXMgc29tZSBtZW1vcnkgc3RyZXNzIGNhc2VzIHBhc3MuIEZvciBzb21lIGlzc3Vlcywgd2UgY291bGQgb25seSBzZXQgMTI4TSBmb3IgcWVtdWFybSBhbmQgMjU2TSBmb3IgcWVtdW1pcHMuIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjQiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiQ29weSBMVFAgZm9sZGVyIGludG8gdGFyZ2V0LCBmb3IgZXhhbXBsZSwgL29wdC9sdHAgaWYgeW91IGhhdmUgYnVpbHQgaXQgeW91cnNlbGYuIE1vZGlmeSB0aGUgZGVmYXVsdCBzY2VuYXJpbyBmaWxlIFwic2NlbmFyaW9fZ3JvdXBzL2RlZmF1bHRcIiwgcmVtb3ZlIHRlc3Qgc3VpdGVzIG5vdCB0byBiZSB0ZXN0ZWQiLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAiNSI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJDb21tZW50IHJ1bnRlc3RzL3NjaGVkOiBoYWNrYmVuY2gsIHdoaWNoIGlzIG5vdCBzdWl0YWJsZSB0byBydW4gaW4gZW11bGF0b3JzLiBSZW1pbmRlciAoY29tbWVudCBpdCBhbHNvIGZvciBTdWdhcmJheSBEZXZpY2VzKS4iLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAiNiI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJDb21tZW50IG9vbTAxLCBvb20wMiwgb29tMDMsIG9vbTA0IGluIHJ1bnRlc3QvbW0sIHdoaWNoIGNvbnN1bWUgbG90cyBvZiBtZW1vcnkiLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAiNyI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJGcm9tIC9vcHQvbHRwIHJ1bjogLi9ydW5sdHAgLXAgLWwgcmVzdWx0LU0yLTIwMTAxMjE4LmxvZyAtQyByZXN1bHQtTTItMjAxMDEyMTguZmFpbCAtZCAvb3B0L2x0cC90bXAgJj4gcmVzdWx0LU0yLTIwMTAxMjE4LmZ1bGxsb2cgXG5cbiIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkNoZWNrIHRoZSByZXN1bHQgb24gd2lraSwgaHR0cHM6Ly93aWtpLnlvY3RvcHJvamVjdC5vcmcvd2lraS9MVFBfcmVzdWx0LCB0aGVyZSBzaG91bGQgYmUgbm8gcmVncmVzc2lvbiBmYWlsdXJlIG1ldC4iCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJzdW1tYXJ5IjogIkxUUF9zdWJzZXRfdGVzdF9zdWl0ZSIKKyAgICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgICAidGVzdCI6IHsKKyAgICAgICAgICAgICJAYWxpYXMiOiAiY29tcGxpYW5jZS10ZXN0LmNvbXBsaWFuY2UtdGVzdC5QT1NJWF9zdWJzZXRfdGVzdF9zdWl0ZSIsCisgICAgICAgICAgICAiYXV0aG9yIjogWworICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImNvcm5lbGl1eC5zdG9pY2VzY3VAaW50ZWwuY29tIiwKKyAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiY29ybmVsaXV4LnN0b2ljZXNjdUBpbnRlbC5jb20iCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICAgICAgICAgIjEiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiSW4gYSBzYXRvLXNkayBpbWFnZSBnbyB0byAvb3B0L2x0cCBvciBnZXQgbGF0ZXN0IExUUCBzb3VyY2Vjb2RlLCAgZG93bmxvYWQgbG9jYXRpb24gaXMgIGh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbHRwL2ZpbGVzL0xUUCUyMFNvdXJjZS8gIGFuZCBpbnN0YWxsIGl0LiIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICIyIjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIkdvIGludG8gdGhlIGZvbGRlciBvZiBMVFAsIGFuZCBwb3NpeF90ZXN0c3VpdGUgaXMgdW5kZXIgdGVzdGNhc2VzL29wZW5fcG9zaXhfdGVzdHN1aXRlLyIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICIzIjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIlJ1biBjb25ubWFuZDogbWFrZSBnZW5lcmF0ZS1tYWtlZmlsZXMiLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAiNCI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJSdW4gY29ubm1hbmQ6IG1ha2UgY29uZm9ybWFuY2UtYWxsIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjUiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiUnVuIGNvbm5tYW5kOiBtYWtlIGNvbmZvcm1hbmNlLXRlc3QgKHRoaXMgc3RlcCBtYXkgc2hvdyBlcnJvcnMsIGlnbm9yZSB0aGVtKSIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICI2IjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIlJ1biBjb25ubWFuZDogbWFrZSB0b29scy1hbGwiLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAiNyI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJSdW4gY29ubm1hbmQ6IHNoIHBvc2l4LnNoID4gcG9zaXgubG9nLCBwb3NpeC5zaCBhcyBiZWxvdzogIFxuIFxuIyEvYmluL3NoIFxuLi9iaW4vcnVuLXBvc2l4LW9wdGlvbi1ncm91cC10ZXN0LnNoIEFJTyBcbi4vYmluL3J1bi1wb3NpeC1vcHRpb24tZ3JvdXAtdGVzdC5zaCBNRU0gXG4uL2Jpbi9ydW4tcG9zaXgtb3B0aW9uLWdyb3VwLXRlc3Quc2ggTVNHIFxuLi9iaW4vcnVuLXBvc2l4LW9wdGlvbi1ncm91cC10ZXN0LnNoIFNFTSBcbi4vYmluL3J1bi1wb3NpeC1vcHRpb24tZ3JvdXAtdGVzdC5zaCBTSUcgXG4uL2Jpbi9ydW4tcG9zaXgtb3B0aW9uLWdyb3VwLXRlc3Quc2ggVEhSIFxuLi9iaW4vcnVuLXBvc2l4LW9wdGlvbi1ncm91cC10ZXN0LnNoIFRNUiBcbi4vYmluL3J1bi1wb3NpeC1vcHRpb24tZ3JvdXAtdGVzdC5zaCBUUFMgIFxuIFxuIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjgiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhlIHBvc2l4LmxvZyBhZnRlciB0ZXN0aW5nIGlzIGZpbmlzaGVkIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQ29tcGFyZSB0aGUgdGVzdCByZXN1bHQgb24gd2lraSwgaHR0cHM6Ly93aWtpLnlvY3RvcHJvamVjdC5vcmcvd2lraS9Qb3NpeF9yZXN1bHQsIHRoZXJlIHNob3VsZCBiZSBubyBtb3JlIHJlZ3Jlc3Npb24gZmFpbHVyZXMgbWV0LiIKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LAorICAgICAgICAgICAgInN1bW1hcnkiOiAiUE9TSVhfc3Vic2V0X3Rlc3Rfc3VpdGUiCisgICAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgICAgInRlc3QiOiB7CisgICAgICAgICAgICAiQGFsaWFzIjogImNvbXBsaWFuY2UtdGVzdC5jb21wbGlhbmNlLXRlc3QuTFNCX3N1YnNldF90ZXN0X3N1aXRlIiwKKyAgICAgICAgICAgICJhdXRob3IiOiBbCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiY29ybmVsaXV4LnN0b2ljZXNjdUBpbnRlbC5jb20iLAorICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJjb3JuZWxpdXguc3RvaWNlc2N1QGludGVsLmNvbSIKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgICAgICAgICAiMSI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJHZXQgbHNkLXNkayBpbWFnZSBhbmQgaW5zdGFsbCBpdCBvbiB0YXJnZXQgZGV2aWNlIG9yIHN0YXJ0IHRoZSBpbWFnZShpZiBpdCBpcyBRRU1VKSB3aXRoIG9wdGlvbiBcIi1tIDUxMk1cIiIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICIyIjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIkNvbW1lbnQgaW4gL29wdC9sc2ItdGVzdC9zZXNzaW9uIGFueSB0ZXN0cyB5b3UgZG9uJ3Qgd2FudCB0byBydW4uIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjMiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiUnVuIC91c3IvYmluL0xTQl9UZXN0LnNoIHdoaWNoIHNob3VsZCBkb3dubG9hZCB0aGUgTFNCIHN1aXRlIGFuZCBzZXQgaXQgdXAuIFNvbWUgcGFja2FnZXMgbWF5IGZhaWwgdG8gZG93bmxvYWQgYmVjYXVzZSB0aGVpciBsb2NhdGlvbiBjaGFuZ2VkIG9uIGZ0cC5saW51eGZvdW5kYXRpb24ub3JnLiBZb3UgbmVlZCB0byBtYW51YWxseSB1cGRhdGUgL29wdC9sc2ItdGVzdC9wYWNrYWdlc19saXN0IiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjQiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiVGVzdHMgc2hvdWxkIHN0YXJ0IGF1dG9tYXRpY2FsbHksIHlvdSBjYW4gdXNlIHRoZSB3ZWIgaW50ZXJmYWNlIHRvIHJlY29uZmlndXJlIHRoZSBzZXR1cC4gIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQ2hlY2sgdGhlIHJlc3VsdCBvbiB3aWtpIGh0dHBzOi8vd2lraS55b2N0b3Byb2plY3Qub3JnL3dpa2kvTFNCX1Jlc3VsdCBObyByZWdyZXNzaW9uIGZhaWx1cmVzIHNob3VsZCBiZSBtZXQuIgorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3VtbWFyeSI6ICJMU0Jfc3Vic2V0X3Rlc3Rfc3VpdGUiCisgICAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgICAgInRlc3QiOiB7CisgICAgICAgICAgICAiQGFsaWFzIjogImNvbXBsaWFuY2UtdGVzdC5jb21wbGlhbmNlLXRlc3Quc3RyZXNzX3Rlc3RfLV9HZW5lcmljeDg2LTY0IiwKKyAgICAgICAgICAgICJhdXRob3IiOiBbCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiY29ybmVsaXV4LnN0b2ljZXNjdUBpbnRlbC5jb20iLAorICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJjb3JuZWxpdXguc3RvaWNlc2N1QGludGVsLmNvbSIKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgICAgICAgICAiMSI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJCb290dXAgd2l0aCBjb3JlLWltYWdlLWxzYi1zZGsgaW1hZ2UiLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAiMiI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJFeGVjdXRlIHRoZSBjcmFzaG1lIHRlc3Qgd2l0aCBiZWxvdyBjb21tYW5kICBcblxuLi9vcHQvbHRwL3J1bmx0cCBmICBjcmFzaG1lIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVGhlIHN0cmVzcyB0ZXN0aW5nIHNob3VsZCBub3QgbWFrZSB0aGUgdGFyZ2V0IGNyYXNoLiBDaGVjayBDUFUgdXNhZ2UgYW5kIGJhc2ljIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIHN5c3RlbSBhZnRlciB0aGUgdGVzdHMgYXJlIG92ZXIuICIKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LAorICAgICAgICAgICAgInN1bW1hcnkiOiAic3RyZXNzX3Rlc3RfLV9HZW5lcmljeDg2LTY0IgorICAgICAgICB9CisgICAgfSwKKyAgICAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJjb21wbGlhbmNlLXRlc3QuY29tcGxpYW5jZS10ZXN0LnN0cmVzc190ZXN0Xy1fLSBjcmFzaG1lXy1fLUJlYWdsZWJvbmUiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJjb3JuZWxpdXguc3RvaWNlc2N1QGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiY29ybmVsaXV4LnN0b2ljZXNjdUBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBHZXQgY3Jhc2htZSBmcm9tIGh0dHA6Ly9wZW9wbGUuZGVscGhpZm9ydW1zLmNvbS9namMvY3Jhc2htZS5odG1sIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiRm9sbG93IHRoZSBzZXR1cCBzdGVwcyBvbiBhYm92ZSBVUkwsIGJ1aWxkIGNyYXNobWUgaW4gdGFyZ2V0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIFJ1biBjcmFzaG1lIGZvciAyNCBob3VycyIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVGFyZ2V0IHNob3VsZCBub3QgY3Jhc2ggd2l0aCB0aGUgcHJvZ3JhbS4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJzdHJlc3NfdGVzdF8tX2NyYXNobWVfLUJlYWdsZWJvbmUiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogImNvbXBsaWFuY2UtdGVzdC5jb21wbGlhbmNlLXRlc3Quc3RyZXNzX3Rlc3RfLV9sdHBfLUJlYWdsZWJvbmUiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJjb3JuZWxpdXguc3RvaWNlc2N1QGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiY29ybmVsaXV4LnN0b2ljZXNjdUBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkJ1aWxkIExUUCB3aXRoIHRvb2xjaGFpbiBvciBpbiBzZGsgaW1hZ2UiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDb3B5IExUUCBmb2xkZXIgaW50byB0YXJnZXQsIGZvciBleGFtcGxlLCAvb3B0L2x0cC4gTW9kaWZ5IHNjcmlwdCwgIHRlc3RzY3JpcHRzL2x0cHN0cmVzcy5zaCwgc2V0IElvc3RhdD0xLCBOT19ORVRXT1JLPTEiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJjZCB0ZXN0c2NyaXB0cy8gJiYgLi9sdHBzdHJlc3Muc2giLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRoaXMgc3RyZXNzIGNhc2Ugd2lsbCBydW4gZm9yIDI0IGhvdXJzIENoZWNrIHRoZSByZXN1bHRcbnRhcmdldCBzaG91bGQgbm90IGNyYXNoIHdpdGggdGhlIHByb2dyYW0gIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAic3RyZXNzX3Rlc3RfLV8tbHRwXy1CZWFnbGVib25lIgorICAgIH0KKyAgfQorXQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9tYW51YWwva2VybmVsLWRldi5qc29uIGIvcG9reS9tZXRhL2xpYi9vZXFhL21hbnVhbC9rZXJuZWwtZGV2Lmpzb24KaW5kZXggYzkzYjRkZC4uMGRkOTkxOSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL21hbnVhbC9rZXJuZWwtZGV2Lmpzb24KKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL21hbnVhbC9rZXJuZWwtZGV2Lmpzb24KQEAgLTEsNyArMSw3IEBACiBbCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAia2VybmVsLWNvbmZpZ3VyYXRpb24ua2VybmVsLWNvbmZpZ3VyYXRpb24uVENURU1QXzIuM19NQU5VQUxfS2VybmVsX2Rldl9kZWZjb25maWciLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJrZXJuZWwtZGV2Lmtlcm5lbC1kZXYuS2VybmVsX2Rldl9kZWZjb25maWciLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJlZS5wZW5nLnllb2hAaW50ZWwuY29tIiwKQEAgLTE4LDEyICsxOCwxMiBAQAogICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJSZXZpZXcgZXhwZWN0ZWQgcmVzdWx0cyBvbiB0aGV0aGUgXCJLZXJuZWwgRGV2ZWxvcG1lbnQgVGVzdCBDYXNlc1wid2lraS4gaHR0cHM6Ly93aWtpLnlvY3RvcHJvamVjdC5vcmcvd2lraS9LZXJuZWxfRGV2ZWxvcG1lbnRfVGVzdF9DYXNlcyNFeHBlY3RlZF9SZXN1bHRzXzciCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICJzdW1tYXJ5IjogIlRDVEVNUF8yLjNfTUFOVUFMX0tlcm5lbF9kZXZfZGVmY29uZmlnIgorICAgICAgICAgICAgInN1bW1hcnkiOiAiS2VybmVsX2Rldl9kZWZjb25maWciCiAgICAgICAgIH0KICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImtlcm5lbC1jb25maWd1cmF0aW9uLmtlcm5lbC1jb25maWd1cmF0aW9uLlRDVEVNUF8yLjNfTUFOVUFMX0tlcm5lbF9kZXZfZGVmY29uZmlnK2ZyYWdtZW50cyIsCisgICAgICAgICAgICAiQGFsaWFzIjogImtlcm5lbC1kZXYua2VybmVsLWRldi5LZXJuZWxfZGV2X2RlZmNvbmZpZytmcmFnbWVudHMiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJlZS5wZW5nLnllb2hAaW50ZWwuY29tIiwKQEAgLTQwLDEyICs0MCwxMiBAQAogICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJSZXZpZXcgZXhwZWN0ZWQgcmVzdWx0cyBvbiB0aGV0aGUgXCJLZXJuZWwgRGV2ZWxvcG1lbnQgVGVzdCBDYXNlc1wid2lraS4gaHR0cHM6Ly93aWtpLnlvY3RvcHJvamVjdC5vcmcvd2lraS9LZXJuZWxfRGV2ZWxvcG1lbnRfVGVzdF9DYXNlcyNFeHBlY3RlZF9SZXN1bHRzXzgiCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICJzdW1tYXJ5IjogIlRDVEVNUF8yLjNfTUFOVUFMX0tlcm5lbF9kZXZfZGVmY29uZmlnK2ZyYWdtZW50cyIKKyAgICAgICAgICAgICJzdW1tYXJ5IjogIktlcm5lbF9kZXZfZGVmY29uZmlnK2ZyYWdtZW50cyIKICAgICAgICAgfQogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAia2VybmVsLWNvbmZpZ3VyYXRpb24ua2VybmVsLWNvbmZpZ3VyYXRpb24uVENURU1QXzIuM19NQU5VQUxfS2VybmVsX2Rldl9BcHBseWluZ19wYXRjaGVzIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAia2VybmVsLWRldi5rZXJuZWwtZGV2Lktlcm5lbF9kZXZfQXBwbHlpbmdfcGF0Y2hlcyIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImVlLnBlbmcueWVvaEBpbnRlbC5jb20iLApAQCAtNjIsMTIgKzYyLDEyIEBACiAgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlJldmlldyBleHBlY3RlZCByZXN1bHRzIG9uIHRoZXRoZSBcIktlcm5lbCBEZXZlbG9wbWVudCBUZXN0IENhc2VzXCJ3aWtpLiBodHRwczovL3dpa2kueW9jdG9wcm9qZWN0Lm9yZy93aWtpL0tlcm5lbF9EZXZlbG9wbWVudF9UZXN0X0Nhc2VzI0V4cGVjdGVkX1Jlc3VsdHMiCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICJzdW1tYXJ5IjogIlRDVEVNUF8yLjNfTUFOVUFMX0tlcm5lbF9kZXZfQXBwbHlpbmdfcGF0Y2hlcyIKKyAgICAgICAgICAgICJzdW1tYXJ5IjogIktlcm5lbF9kZXZfQXBwbHlpbmdfcGF0Y2hlcyIKICAgICAgICAgfQogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAia2VybmVsLWNvbmZpZ3VyYXRpb24ua2VybmVsLWNvbmZpZ3VyYXRpb24uVENURU1QXzIuM19NQU5VQUxfS2VybmVsX2Rldl9saW51eC15b2N0by1sb2NhbC1zb3VyY2UiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJrZXJuZWwtZGV2Lmtlcm5lbC1kZXYuS2VybmVsX2Rldl9saW51eC15b2N0by1sb2NhbC1zb3VyY2UiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJlZS5wZW5nLnllb2hAaW50ZWwuY29tIiwKQEAgLTg0LDEyICs4NCwxMiBAQAogICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJSZXZpZXcgZXhwZWN0ZWQgcmVzdWx0cyBvbiB0aGV0aGUgXCJLZXJuZWwgRGV2ZWxvcG1lbnQgVGVzdCBDYXNlc1wid2lraS4gaHR0cHM6Ly93aWtpLnlvY3RvcHJvamVjdC5vcmcvd2lraS9LZXJuZWxfRGV2ZWxvcG1lbnRfVGVzdF9DYXNlcyNFeHBlY3RlZF9SZXN1bHRzXzIiCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICJzdW1tYXJ5IjogIlRDVEVNUF8yLjNfTUFOVUFMX0tlcm5lbF9kZXZfbGludXgteW9jdG8tbG9jYWwtc291cmNlIgorICAgICAgICAgICAgInN1bW1hcnkiOiAiS2VybmVsX2Rldl9saW51eC15b2N0by1sb2NhbC1zb3VyY2UiCiAgICAgICAgIH0KICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImtlcm5lbC1jb25maWd1cmF0aW9uLmtlcm5lbC1jb25maWd1cmF0aW9uLlRDVEVNUF8yLjNfTUFOVUFMX0tlcm5lbF9kZXZfbGludXgteW9jdG8tY3VzdG9tLWxvY2FsLXNvdXJjZSIsCisgICAgICAgICAgICAiQGFsaWFzIjogImtlcm5lbC1kZXYua2VybmVsLWRldi5LZXJuZWxfZGV2X2xpbnV4LXlvY3RvLWN1c3RvbS1sb2NhbC1zb3VyY2UiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJlZS5wZW5nLnllb2hAaW50ZWwuY29tIiwKQEAgLTEwNiwxMiArMTA2LDEyIEBACiAgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlJldmlldyBleHBlY3RlZCByZXN1bHRzIG9uIHRoZXRoZSBcIktlcm5lbCBEZXZlbG9wbWVudCBUZXN0IENhc2VzXCJ3aWtpLiBodHRwczovL3dpa2kueW9jdG9wcm9qZWN0Lm9yZy93aWtpL0tlcm5lbF9EZXZlbG9wbWVudF9UZXN0X0Nhc2VzI0V4cGVjdGVkX1Jlc3VsdHNfMyIKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9LAotICAgICAgICAgICAgInN1bW1hcnkiOiAiVENURU1QXzIuM19NQU5VQUxfS2VybmVsX2Rldl9saW51eC15b2N0by1jdXN0b20tbG9jYWwtc291cmNlIgorICAgICAgICAgICAgInN1bW1hcnkiOiAiS2VybmVsX2Rldl9saW51eC15b2N0by1jdXN0b20tbG9jYWwtc291cmNlIgogICAgICAgICB9CiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJrZXJuZWwtY29uZmlndXJhdGlvbi5rZXJuZWwtY29uZmlndXJhdGlvbi5UQ1RFTVBfMi4zX01BTlVBTF9LZXJuZWxfZGV2X3JlY2lwZS1zcGFjZV9tZXRhIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAia2VybmVsLWRldi5rZXJuZWwtZGV2Lktlcm5lbF9kZXZfcmVjaXBlLXNwYWNlX21ldGEiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJlZS5wZW5nLnllb2hAaW50ZWwuY29tIiwKQEAgLTEyOCwxMiArMTI4LDEyIEBACiAgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlJldmlldyBleHBlY3RlZCByZXN1bHRzIG9uIHRoZXRoZSBcIktlcm5lbCBEZXZlbG9wbWVudCBUZXN0IENhc2VzXCJ3aWtpLiBodHRwczovL3dpa2kueW9jdG9wcm9qZWN0Lm9yZy93aWtpL0tlcm5lbF9EZXZlbG9wbWVudF9UZXN0X0Nhc2VzI0V4cGVjdGVkX1Jlc3VsdHNfNSIKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9LAotICAgICAgICAgICAgInN1bW1hcnkiOiAiVENURU1QXzIuM19NQU5VQUxfS2VybmVsX2Rldl9yZWNpcGUtc3BhY2VfbWV0YSIKKyAgICAgICAgICAgICJzdW1tYXJ5IjogIktlcm5lbF9kZXZfcmVjaXBlLXNwYWNlX21ldGEiCiAgICAgICAgIH0KICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImtlcm5lbC1jb25maWd1cmF0aW9uLmtlcm5lbC1jb25maWd1cmF0aW9uLlRDVEVNUF8yLjNfTUFOVUFMX0tlcm5lbF9kZXZfRXh0ZXJuYWxfc291cmNlIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAia2VybmVsLWRldi5rZXJuZWwtZGV2Lktlcm5lbF9kZXZfRXh0ZXJuYWxfc291cmNlIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiZWUucGVuZy55ZW9oQGludGVsLmNvbSIsCkBAIC0xNTAsMTIgKzE1MCwxMiBAQAogICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJSZXZpZXcgZXhwZWN0ZWQgcmVzdWx0cyBvbiB0aGV0aGUgXCJLZXJuZWwgRGV2ZWxvcG1lbnQgVGVzdCBDYXNlc1wid2lraS4gaHR0cHM6Ly93aWtpLnlvY3RvcHJvamVjdC5vcmcvd2lraS9LZXJuZWxfRGV2ZWxvcG1lbnRfVGVzdF9DYXNlcyNFeHBlY3RlZF9SZXN1bHRzXzYiCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICJzdW1tYXJ5IjogIlRDVEVNUF8yLjNfTUFOVUFMX0tlcm5lbF9kZXZfRXh0ZXJuYWxfc291cmNlIgorICAgICAgICAgICAgInN1bW1hcnkiOiAiS2VybmVsX2Rldl9FeHRlcm5hbF9zb3VyY2UiCiAgICAgICAgIH0KICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImtlcm5lbC1jb25maWd1cmF0aW9uLmtlcm5lbC1jb25maWd1cmF0aW9uLlRDVEVNUF8yLjNfTUFOVUFMX0tlcm5lbF9kZXZfYnVpbGRpbmdfZXh0ZXJuYWxfbW9kdWxlcyhoZWxsby1tb2QpIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAia2VybmVsLWRldi5rZXJuZWwtZGV2Lktlcm5lbF9kZXZfYnVpbGRpbmdfZXh0ZXJuYWxfbW9kdWxlcyhoZWxsby1tb2QpIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiZWUucGVuZy55ZW9oQGludGVsLmNvbSIsCkBAIC0xNzIsMTIgKzE3MiwxMiBAQAogICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJSZXZpZXcgZXhwZWN0ZWQgcmVzdWx0cyBvbiB0aGV0aGUgXCJLZXJuZWwgRGV2ZWxvcG1lbnQgVGVzdCBDYXNlc1wid2lraS4gaHR0cHM6Ly93aWtpLnlvY3RvcHJvamVjdC5vcmcvd2lraS9LZXJuZWxfRGV2ZWxvcG1lbnRfVGVzdF9DYXNlcyNFeHBlY3RlZF9SZXN1bHRzXzEwIgogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAic3VtbWFyeSI6ICJUQ1RFTVBfMi4zX01BTlVBTF9LZXJuZWxfZGV2X2J1aWxkaW5nX2V4dGVybmFsX21vZHVsZXMoaGVsbG8tbW9kKSIKKyAgICAgICAgICAgICJzdW1tYXJ5IjogIktlcm5lbF9kZXZfYnVpbGRpbmdfZXh0ZXJuYWxfbW9kdWxlcyhoZWxsby1tb2QpIgogICAgICAgICB9CiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJrZXJuZWwtY29uZmlndXJhdGlvbi5rZXJuZWwtY29uZmlndXJhdGlvbi5UQ1RFTVBfMi4zX01BTlVBTF9LZXJuZWxfZGV2X2xvY2FsX3BhcmFsbGVsX21ldGEiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJrZXJuZWwtZGV2Lmtlcm5lbC1kZXYuS2VybmVsX2Rldl9sb2NhbF9wYXJhbGxlbF9tZXRhIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiZWUucGVuZy55ZW9oQGludGVsLmNvbSIsCkBAIC0xOTQsNyArMTk0LDcgQEAKICAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiUmV2aWV3IGV4cGVjdGVkIHJlc3VsdHMgb24gdGhldGhlIFwiS2VybmVsIERldmVsb3BtZW50IFRlc3QgQ2FzZXNcIndpa2kuIGh0dHBzOi8vd2lraS55b2N0b3Byb2plY3Qub3JnL3dpa2kvS2VybmVsX0RldmVsb3BtZW50X1Rlc3RfQ2FzZXMjRXhwZWN0ZWRfUmVzdWx0c180IgogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAic3VtbWFyeSI6ICJUQ1RFTVBfMi4zX01BTlVBTF9LZXJuZWxfZGV2X2xvY2FsX3BhcmFsbGVsX21ldGEiCisgICAgICAgICAgICAic3VtbWFyeSI6ICJLZXJuZWxfZGV2X2xvY2FsX3BhcmFsbGVsX21ldGEiCiAgICAgICAgIH0KICAgICB9CiBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL21hbnVhbC9zZGsuanNvbiBiL3Bva3kvbWV0YS9saWIvb2VxYS9tYW51YWwvc2RrLmpzb24KaW5kZXggNjQ3NTU4Ni4uNDM0OTgyZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL21hbnVhbC9zZGsuanNvbgorKysgYi9wb2t5L21ldGEvbGliL29lcWEvbWFudWFsL3Nkay5qc29uCkBAIC0xLDcgKzEsNyBAQAogWwogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogInNkay5zZGtfcnVucWVtdS50ZXN0X3Nka190b29sY2hhaW5fY2FuX3J1bl9tdWx0aXBsZV9RRU1VX21hY2hpbmVzX3VuZGVyX1VORlMiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJzZGsuc2RrX3J1bnFlbXUudGVzdF9pbnN0YWxsX2Nyb3NzX3Rvb2xjaGFpbl9jYW5fcnVuX211bHRpcGxlX3FlbXVfZm9yX3g4NiIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImVlLnBlbmcueWVvaEBpbnRlbC5jb20iLApAQCAtMTEsMjIgKzExLDIyIEBACiAgICAgICAgICAgICAiZXhlY3V0aW9uIjogewogICAgICAgICAgICAgICAgICIxIjogewogICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIlByZXBhcmUga2VybmVsLCByb290ZnMgdGFyLmJ6MiBpbWFnZSwgYW5kIHFlbXUgY29uZmlndXJhdGlvbiAgXG4gICAgXHRhLiBEb3dubG9hZCBrZXJuZWwsIHJvb3RmcyB0YXIuYnoyIGltYWdlIGFuZCBxZW11IGNvbmZpZ3VyYXRpb24gZnJvbSBwdWJsaWMgYXV0b2J1aWxkZXIgd2VicGFnZSAgXG4gICAgXHRiLiBHb3RvIGh0dHBzOi8vYXV0b2J1aWxkZXIueW9jdG8uaW8vcHViL3JlbGVhc2VzLzx0YXJnZXRfcmVsZWFzZT4vbWFjaGluZXMvcWVtdS9xZW11eDg2LyBcbiAgICBcdGMuIERvd25sb2FkICBcbiAgICBcdCAgXHRpLiByb290ZnMgdGFyLmJ6MjogY29yZS1pbWFnZS1zYXRvLXNkay1xZW11eDg2LnRhci5iejIgXG4gICAgICBcdFx0aWkuIGtlcm5lbDogYnpJbWFnZS1xZW11eDg2LmJpbiBcbiAgICAgIFx0XHRpaWkuIHFlbXUgY29uZmlndXJhdGlvbjogY29yZS1pbWFnZS1zYXRvLXNkay1xZW11eDg2LnFlbXVib290LmNvbmYgIiwKLSAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJEb3dubG9hZCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5LiIKICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICIyIjogewotICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIkRvd25sb2FkICYgaW5zdGFsbCBzZGsgdG9vbGNoYWluIGZyb20gcHVibGljIGF1dG9idWlsZGVyIFxuICAgIFx0YS4gR290byBodHRwczovL2F1dG9idWlsZGVyLnlvY3RvLmlvL3B1Yi9yZWxlYXNlcy88dGFyZ2V0X3JlbGVhc2U+L3Rvb2xjaGFpbi94ODZfNjQvIFxuICAgIFx0Yi4gRG93bmxvYWQgcG9reS1nbGliYy14ODZfNjQtY29yZS1pbWFnZS1zYXRvLXNkay08dHlwZS1hcmNoPi10b29sY2hhaW4tPHJlbGVhc2UtdmVyc2lvbj4uc2ggXG4gICAgXHRjLiBSdW4gY29tbWFuZDogcG9reS1nbGliYy14ODZfNjQtY29yZS1pbWFnZS1zYXRvLXNkay08dHlwZS1hcmNoPi10b29sY2hhaW4tPHJlbGVhc2UtdmVyc2lvbj4uc2giLAotICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiRG93bmxvYWQgJiBpbnN0YWxsIHRvb2xjaGFpbiB0YXJiYWxsIG1hdGNoaW5nIHlvdXIgaG9zdCBmcm9tIHB1YmxpYyBhdXRvYnVpbGRlciBcbiAgICBcdGEuIEdvdG8gaHR0cHM6Ly9hdXRvYnVpbGRlci55b2N0by5pby9wdWIvcmVsZWFzZXMvPHRhcmdldF9yZWxlYXNlPi90b29sY2hhaW4veDg2XzY0LyBcbiAgICBcdGIuIERvd25sb2FkIHBva3ktZ2xpYmMteDg2XzY0LWNvcmUtaW1hZ2Utc2F0by08dHlwZS1hcmNoPi10b29sY2hhaW4tPHJlbGVhc2UtdmVyc2lvbj4uc2ggXG4gICAgXHRjLiBSdW4gY29tbWFuZDogcG9reS1nbGliYy14ODZfNjQtY29yZS1pbWFnZS1zYXRvLTx0eXBlLWFyY2g+LXRvb2xjaGFpbi08cmVsZWFzZS12ZXJzaW9uPi5zaCBcbiAgICBcdGQuIEFmdGVyIGluc3RhbGxhdGlvbiB0b29sY2hhaW4gIFJ1biBzb3VyY2UgY29tbWFuZCA6ICAgc291cmNlICAvdG9vbGNoYWluLWluc3RhbGxlZC1wYXRoL2Vudmlyb25tZW50LXNldHVwLTxhcmNoaXRlY3R1cmUgbmFtZT4tcG9reS1saW51eCIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRvb2xjaGFpbiBnZXRzIGluc3RhbGxlZCBzdWNjZXNzZnVsbHkuIgogICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgIjMiOiB7CiAgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiRXh0cmFjdCByb290ZnMgdHdpY2UgaW50byB0d28gaW1hZ2VzIFxuICAgIFx0YS4gUnVuIDIgY29tbWFuZHMgYmVsb3c6ICBcbiAgICAgICAgICAgICAgICAgIHJ1bnFlbXUtZXh0cmFjdC1zZGsgY29yZS1pbWFnZS1zYXRvLXNkay1xZW11eDg2LnRhci5iejIgcWVtdXg4Nl9yb290ZnNfaW1hZ2UxICBcbiAgICAgICAgICAgICAgICAgIHJ1bnFlbXUtZXh0cmFjdC1zZGsgY29yZS1pbWFnZS1zYXRvLXNkay1xZW11eDg2LnRhci5iejIgcWVtdXg4Nl9yb290ZnNfaW1hZ2UyIiwKLSAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJCb3RoIGltYWdlcyBidWlsZCBzdWNjZXNzZnVsbHkuIgogICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgIjQiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiIEZyb20gdGhlIDIgdGVybWluYWxzLCBzdGFydCBxZW11IHRvIGJvb3QgdXAgYm90aCB0d28gaW1hZ2VzIFxuICAgIFx0YS4gUnVuIDIgY29tbWFuZHMgYmVsb3c6ICBcbiAgICAgICAgICAgICAgICAgIHJ1bnFlbXUgY29yZS1pbWFnZS1zYXRvLXNkay1xZW11eDg2LnFlbXVib290LmNvbmYgcWVtdXg4Nl9yb290ZnNfaW1hZ2UxICBcbiAgICAgICAgICAgICAgICAgIHJ1bnFlbXUgY29yZS1pbWFnZS1zYXRvLXNkay1xZW11eDg2LnFlbXVib290LmNvbmYgcWVtdXg4Nl9yb290ZnNfaW1hZ2UyICIsCisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiIEZyb20gdGhlIDIgdGVybWluYWxzLCBzdGFydCBxZW11IHRvIGJvb3QgdXAgYm90aCB0d28gaW1hZ2VzIFxuICAgIFx0YS4gUnVuIDIgY29tbWFuZHMgYmVsb3c6ICBcbiAgICAgICAgICAgICAgICAgIHJ1bnFlbXUgPGtlcm5lbC1uYW1lPiBjb3JlLWltYWdlLXNhdG8tc2RrLXFlbXV4ODYucWVtdWJvb3QuY29uZiBxZW11eDg2X3Jvb3Rmc19pbWFnZTEgIFxuICAgICAgICAgICAgICAgICAgcnVucWVtdSA8a2VybmVsLW5hbWU+IGNvcmUtaW1hZ2Utc2F0by1zZGstcWVtdXg4Ni5xZW11Ym9vdC5jb25mIHFlbXV4ODZfcm9vdGZzX2ltYWdlMiAiLAogICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJFeHBlY3QgYm90aCBxZW11IHRvIGJvb3QgdXAgc3VjY2Vzc2Z1bGx5LiIKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9LAotICAgICAgICAgICAgInN1bW1hcnkiOiAidGVzdF9zZGtfdG9vbGNoYWluX2Nhbl9ydW5fbXVsdGlwbGVfUUVNVV9tYWNoaW5lc191bmRlcl9VTkZTIgorICAgICAgICAgICAgInN1bW1hcnkiOiAidGVzdF9pbnN0YWxsX2Nyb3NzX3Rvb2xjaGFpbl9jYW5fcnVuX211bHRpcGxlX3FlbXVfZm9yX3g4NiIKICAgICAgICAgfQogICAgIH0KIF0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvbWFudWFsL3RvYXN0ZXItbWFuYWdlZC1tb2RlLmpzb24gYi9wb2t5L21ldGEvbGliL29lcWEvbWFudWFsL3RvYXN0ZXItbWFuYWdlZC1tb2RlLmpzb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODEyZjU3ZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9tYW51YWwvdG9hc3Rlci1tYW5hZ2VkLW1vZGUuanNvbgpAQCAtMCwwICsxLDI1NzIgQEAKK1sKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuQWxsX2xheWVyczpfZGVmYXVsdF92aWV3IiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAic3RhbmNpdXgubWloYWlsQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAic3RhbmNpdXgubWloYWlsQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEFjY2VzcyBhIHByb2plY3QgcGFnZSwgZWl0aGVyIGJ5IGNyZWF0aW5nIGEgbmV3IHByb2plY3Qgb3IgYWNjZXNzaW5nIGFuIGV4aXN0aW5nIHByb2plY3QgZnJvbSB0aGUgXCJBbGwgYnVpbGRzXCIgdGFibGUuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiT24gdGhlIHByb2plY3QgcGFnZSBjbGljayBvbiB0aGUgXCJWaWV3IGNvbXBhdGlibGUgbGF5ZXJzXCIgbGluayBzaXR1YXRlZCBvbiB0aGUgcmlnaHQtaGFuZCBzaWRlLCBtaWQtcGFnZSwgdW5kZXIgdGhlIFwiUHJvamVjdCBjb25maWd1cmF0aW9uXCIgbWVudSwgaW4gdGhlIFwiTGF5ZXJzXCIgdGFibGUuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCB0aGUgdGFibGUgaXMgcG9wdWxhdGVkIHdpdGggdGhlIGRlZmF1bHQgbGF5ZXJzIChlZy4gbWV0YS15b2N0by1ic3AsIG1ldGEteW9jdG8pIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCBieSBkZWZhdWx0IHRoZSBmb2xsb3dpbmcgY29sdW1ucyBhcmUgc2hvd246IExheWVyLCBTdW1tYXJ5LCBSZXZpc2lvbiwgRGVwZW5kZW5jaWVzIGFuZCBBZGQvRGVsZXRlIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCB0aGUgXCJSZXZpc2lvblwiIGVudHJpZXMgbWF0Y2ggdGhlIHJlbGVhc2UgZW50cnkgZnJvbSB0aGUgbWFpbiBwcm9qZWN0IHBhZ2UsIGluIHRoZSBwcm9qZWN0IGRldGFpbHMgc2VjdGlvbi4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGF0IG9ubHkgb25lIGluc3RhbmNlIG9mIHRoZSBjb3JlIGxheWVycyAob3BlbmVtYmVkZGVkLWNvcmUsIG1ldGEteW9jdG8gYW5kIG1ldGEteW9jdG8tYnNwKSBzaG93cyBpbiB0aGlzIHRhYmxlLCBhbmQgdGhhdCBpbnN0YW5jZSBoYXMgYSBicmFuY2ggdGhhdCBtYXRjaGVzIHRoZSBzZWxlY3RlZCBwcm9qZWN0IHJlbGVhc2UgZnJvbSB0aGUgbWFpbiBwcm9qZWN0IHBhZ2UuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCBpbiB0aGUgXCJEZXBlbmRlbmNpZXNcIiBjb2x1bW4gc29tZSBvZiB0aGUgbGF5ZXJzIHNob3VsZCBoYXZlIGEgc3F1YXJlIGJveCB3aXRoIGEgbnVtYmVyIGluIGl0LiBXaGVuIGNsaWNraW5nIG9uIGl0LCBhIHNtYWxsIHBvcHVwIHNob3VsZCBhcHBlYXIgY29udGFpbmluZyBhIGxpc3Qgb2Ygb3RoZXIgbGF5ZXJzIHJlcXVpcmVkIGZvciB0aGlzIGxheWVyIHRvIHdvcmsuIEV2ZXJ5IGxheWVyIGxpc3RlZCBoZXJlIHNob3VsZCBhbHNvIGJlIGEgbGluayB0byB0aGUgbGF5ZXIncyBkZXRhaWwgcGFnZS4gXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJGcm9tIHRoZSBcIkVkaXQgY29sdW1uc1wiIG1lbnUsIGFjdGl2YXRlIHRoZSBcIkdpdCByZXBvc2l0b3J5IFVSTFwiIGFuZCB0aGUgXCJTdWJkaXJlY3RvcnlcIiBjb2x1bW5zLiBJbiBcIkdpdCByZXBvc2l0b3J5IFVSTFwiOiBhbGwgdGhlIGVudHJpZXMgc2hvdWxkIGhhdmUgYSBsaW5rIHRvIHRoZSBleHRlcm5hbCBzaXRlIHdoZXJlIHRoZSBsYXllciB3YXMgIGRvd25sb2FkZWQgZnJvbS4gIFNpbWlsYXJseSwgaW4gXCJTdWJkaXJlY3RvcnlcIiBsaW5rcyBzaG91bGQgZXhpc3QsIGlmIGEgc3ViZGlyZWN0b3J5IGVudHJ5IGlzIHByZXNlbnQuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJBbGwgbWVudGlvbmVkIGVsZW1lbnRzIHNob3VsZCBiZSBwcmVzZW50IGFuZCBmdW5jdGlvbmFsLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkFsbF9sYXllcnM6X2RlZmF1bHRfdmlldyIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLkFsbF9sYXllcnM6X0FkZC9kZWxldGVfbGF5ZXJzIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAic3RhbmNpdXgubWloYWlsQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAic3RhbmNpdXgubWloYWlsQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEFjY2VzcyBhIHByb2plY3QgcGFnZSwgZWl0aGVyIGJ5IGNyZWF0aW5nIGEgbmV3IHByb2plY3Qgb3IgYWNjZXNzaW5nIGFuIGV4aXN0aW5nIHByb2plY3QgZnJvbSB0aGUgXCJBbGwgYnVpbGRzXCIgdGFibGUuIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9uIHRoZSBwcm9qZWN0IHBhZ2UgY2xpY2sgb24gdGhlIFwiVmlldyBjb21wYXRpYmxlIGxheWVyc1wiIGxpbmsgc2l0dWF0ZWQgb24gdGhlIHJpZ2h0LWhhbmQgc2lkZSwgbWlkLXBhZ2UsIHVuZGVyIHRoZSBcIlByb2plY3QgY29uZmlndXJhdGlvblwiIG1lbnVzLCBpbiB0aGUgXCJMYXllcnNcIiB0YWJsZS4gIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdGhlIEFkZC9kZWxldGUgY29sdW1uIGlzIGVuYWJsZWQuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBZGQgYSBuZXcgbGF5ZXIgXG5QaWNrIGEgbGF5ZXIgdGhhdCBoYXNuJ3QgYmVlbiBhZGRlZCB0byB0aGUgcHJvamVjdC4gXG4gXG5DbGljayBvbiB0aGUgXCJBZGQgbGF5ZXJcIiBidXR0b24gcHJlc2VudCBpbiB0aGUgXCJBZGQvZGVsZXRlXCIgY29sdW1uLiBcbklmIHRoZSBsYXllciBoYXMgdW5zYXRpc2ZpZWQgZGVwZW5kZW5jaWVzIGEgZGlhbG9nIHdpbGwgYXBwZWFyIGxpc3RpbmcgdGhlIGRlcGVuZGVuY2llcyAoaW4gYWxwaGFiZXRpY2FsIG9yZGVyKSwgZWFjaCBvZiB0aGVtIHdpdGggYSBjaGVja2JveCBzbyB0aGF0IHlvdSBjYW4gc2VsZWN0IC8gZGVzZWxlY3QgdGhlbS4gQWxsIGNoZWNrYm94ZXMgYXJlIGNoZWNrZWQgYnkgZGVmYXVsdC4gSWYgeW91IGNsaWNrIHRoZSBcIkNhbmNlbFwiIGJ1dHRvbiB0aGUgZGlhbG9nIGNsb3Nlcy4gSWYgeW91IGNsaWNrIHRoZSBcIkFkZCBsYXllcnNcIiBidXR0b24sIHRoZSBsYXllcnMgYXJlIGFkZGVkIHRvIHRoZSBwcm9qZWN0LiBcblxuTWFrZSBzdXJlIHRvIHVuY2hlY2sgYXQgbGVhc3QgMSBvZiB0aGUgZGVwZW5kZW5jaWVzIHNvIHlvdSBjYW4gY2hlY2sgdGhhdCBvbmx5IHRoZSBjaGVja2VkIGRlcGVuZGVuY2llcyBhcmUgYWRkZWQsIGFuZCBub3QgdGhlIHVuY2hlY2tlZCBvbmUocykuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdGhlIFwiQWRkIGxheWVyXCIgYnV0dG9uIGZhZGVzIG91dCBhbmQgaXMgcmVwbGFjZWQgdGVtcG9yYXJpbHkgYnkgYSBtZXNzYWdlIGxpa2UgXCIxIGxheWVyIGFkZGVkXCIgYW5kIHRoZW4gaXQgaXMgcmVwbGFjZWQgYnkgdGhlIFwiRGVsZXRlIGxheWVyXCIgYnV0dG9uLiBcbkNoZWNrIHRoYXQgYSBjb25maXJtYXRpb24gbWVzc2FnZSBpcyBkaXNwbGF5ZWQgYXQgdGhlIHRvcCBvZiB0aGUgcGFnZSBzaW1pbGFyIHRvIFwiWW91IGhhdmUgYWRkZWQgMSBsYXllciB0byBwcm9qZWN0X25hbWVfaGVyZTogbWV0YS15b2N0by1ic3BcIi4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkRlbGV0ZSBhbiBleGlzdGluZyBsYXllciBcblBpY2sgYSBsYXllciB0aGF0J3MgYWxyZWFkeSBiZWVuIGFkZGVkIHRvIHRoZSBwcm9qZWN0LiBcbkNsaWNrIG9uIHRoZSBcIkRlbGV0ZSBsYXllclwiIGJ1dHRvbiBwcmVzZW50IGluIHRoZSBcIkFkZC9kZWxldGVcIiBjb2x1bW4uIFxuQ2hlY2sgdGhhdCBvbmNlIHRoZSBidXR0b24gaXMgcHJlc3NlZCwgaXQgZmFkZXMgb3V0IGFuZCBpcyByZXBsYWNlZCB0ZW1wb3JhcmlseSBieSB0aGUgbWVzc2FnZSBcIjEgbGF5ZXIgZGVsZXRlZFwiIGFuZCB0aGVuIGl0IGlzIHJlcGxhY2VkIGJ5IHRoZSBcIkFkZCBsYXllclwiIGJ1dHRvbi4gXG5DaGVjayB0aGF0IGEgY29uZmlybWF0aW9uIGlzIGRpc3BsYXllZCBhdCB0aGUgdG9wIG9mIHRoZSBwYWdlIHNpbWlsYXIgdG8gXCJZb3UgaGF2ZSBkZWxldGVkIDEgbGF5ZXIgZnJvbSBwcm9qZWN0X25hbWVfaGVyZTogbWV0YS15b2N0by1ic3BcIi4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJBbGwgYWN0aW9ucyBzaG91bGQgY29tcGxldGUgc3VjY2Vzc2Z1bGx5LiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkFsbF9sYXllcnM6X0FkZC9kZWxldGVfbGF5ZXJzIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuQWxsX3RhcmdldHM6X0RlZmF1bHRfdmlldyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBBY2Nlc3MgYSBwcm9qZWN0IHBhZ2UsIGVpdGhlciBieSBjcmVhdGluZyBhIG5ldyBwcm9qZWN0IG9yIGFjY2Vzc2luZyBhbiBleGlzdGluZyBwcm9qZWN0IGZyb20gdGhlIFwiQWxsIGJ1aWxkc1wiIHRhYmxlLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIElmIG5vIGltYWdlcyBleGlzdCBpbiB0aGUgcHJvamVjdCwgYnVpbGQgYW4gaW1hZ2UgYnkgaW5zZXJ0aW5nIFwiY29yZS1pbWFnZS1taW5pbWFsXCIgaW4gdGhlIFwiUmVjaXBlc1wiIGZpZWxkIGFuZCBwcmVzcyB0aGUgXCJCdWlsZFwiIGJ1dHRvbi4gV2FpdCBmb3IgdGhlIGltYWdlIHRvIGZpbmlzaCBidWlsZGluZy4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9uIHRoZSBwcm9qZWN0IHBhZ2UgY2xpY2sgb24gdGhlIFwiSW1hZ2UgUmVjaXBlc1wiIGxpbmsgc2l0dWF0ZWQgaW4gdGhlIGxlZnQtaGFuZGVkIHNpZGUgb2YgdGhlIHBhZ2UsIHVuZGVyIHRoZSBcIlByb2plY3QgY29uZmlndXJhdGlvblwiIG1lbnVzLCBpbiB0aGUgXCJDT01QQVRJQkxFIE1FVEFEQVRBXCIgdGFibGUuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGF0IFwiQ29tcGF0aWJsZSBpbWFnZSByZWNpcGVzXCIgdGFibGUgaXMgcG9wdWxhdGVkLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCB0aGUgZm9sbG93aW5nIGNvbHVtbnMgYXJlIHNob3duIGJ5IGRlZmF1bHQ6IFxuXHRcdEltYWdlIHJlY2lwZSBcblx0XHREZXNjcmlwdGlvbiBcbiBcblx0XHRMYXllciBcblx0XHRCdWlsZCBcblx0XHQgICAgIFZlcnNpb24gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJBbGxfdGFyZ2V0czpfRGVmYXVsdF92aWV3IgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuQ29uZmlndXJhdGlvbl92YXJpYWJsZXM6X2RlZmF1bHRfdmlldyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBBY2Nlc3MgYSBwcm9qZWN0IHBhZ2UsIGVpdGhlciBieSBjcmVhdGluZyBhIG5ldyBwcm9qZWN0IG9yIGFjY2Vzc2luZyBhbiBleGlzdGluZyBwcm9qZWN0IGZyb20gdGhlIFwiQWxsIGJ1aWxkc1wiIHRhYmxlLiAgXG5cblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiSW4gdGhlIG1haW4gcHJvamVjdCBwYWdlLCBjbGljayBvbiBcIkJpdEJha2UgdmFyaWFibGVzXCIgaW4gdGhlIGxlZnQtaGFuZCBzaWRlIG9mIHRoZSBwYWdlLCB1bmRlciB0aGUgXCJDT05GSUdVUkFUSU9OXCIgbWVudS4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGF0IGRlZmF1bHQgdmFsdWVzIGFyZSBhcyBmb2xsb3dzOiBcblx0RElTVFJPIC0gcG9reSBcblx0SU1BR0VfRlNUWVBFUyAtIGV4dDMgamZmczIgdGFyLmJ6MiBcblx0SU1BR0VfSU5TVEFMTF9hcHBlbmQgLSBcIk5vdCBzZXRcIiBcblx0UEFDS0FHRV9DTEFTRVMgLSBwYWNrYWdlX3JwbSBcbiAgICAgICAgU1NUQVRFX0RJUiAgLSAvaG9tZURpcmVjdG9yeS9wb2t5L3NzdGF0ZS1jYWNoZSBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCB1bmRlciB0aGUgXCJBZGQgdmFyaWFibGVcIiBzZWN0aW9uLCB0aGUgXCJWYXJpYWJsZVwiIGZpZWxkIGhhcyB0aGUgZGVmYXVsdCB0ZXh0IFwiVHlwZSB2YXJpYWJsZSBuYW1lXCIgcHJlc2VudCwgdGhlIFwiVmFsdWVcIiBmaWVsZCBoYXMgdGhlIGRlZmF1bHQgdGV4dCBcIlR5cGUgdmFyaWFibGUgdmFsdWVcIiBwcmVzZW50IGFuZCB0aGF0IHRoZSBcIkFkZCB2YXJpYWJsZVwiIGJ1dHRvbiBpcyBpbmFjdGl2ZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdW5kZXIgdGhlIFwiQWRkIHZhcmlhYmxlXCIgc2VjdGlvbiwgdGhlcmUgaXMgdGV4dCBwcmVzZW50IHRoYXQgZGVzY3JpYmVzIHRoZSB2YXJpYWJsZXMgdGhhdCBUb2FzdGVyIGNhbm5vdCBtb2RpZnkuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQWxsIG1lbnRpb25lZCBlbGVtZW50cyBzaG91bGQgYmUgcHJlc2VudCBhbmQgZnVuY3Rpb25hbC4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJDb25maWd1cmF0aW9uX3ZhcmlhYmxlczpfZGVmYXVsdF92aWV3IgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuQ29uZmlndXJhdGlvbl92YXJpYWJsZXM6X1Rlc3RfVUlfZWxlbWVudHMiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQWNjZXNzIGEgcHJvamVjdCBwYWdlLCBlaXRoZXIgYnkgY3JlYXRpbmcgYSBuZXcgcHJvamVjdCBvciBhY2Nlc3NpbmcgYW4gZXhpc3RpbmcgcHJvamVjdCBmcm9tIHRoZSBcIkFsbCBidWlsZHNcIiB0YWJsZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkluIHRoZSBtYWluIHByb2plY3QgcGFnZSwgY2xpY2sgb24gXCJCaXRCYWtlIHZhcmlhYmxlc1wiIGluIHRoZSBsZWZ0LWhhbmQgc2lkZSBvZiB0aGUgcGFnZSwgdW5kZXIgdGhlIFwiQ09ORklHVVJBVElPTlwiIG1lbnUuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJESVNUUk86IFxuXHQtIGNoZWNrIHRoYXQgdGhlIFwiY2hhbmdlXCIgaWNvbiBpcyBwcmVzZW50IChyZXByZXNlbnRlZCBieSBhIHBlbiBpY29uKSBcblx0LSBjbGljayBvbiB0aGUgXCJjaGFuZ2VcIiBpY29uIGFuZCBjaGVjayB0aGF0IHRoZSB2YXJpYWJsZSBiZWNvbWVzIGFuIGVkaXRhYmxlIHRleHQgZmllbGQsIHBvcHVsYXRlZCB3aXRoIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSB2YXJpYWJsZSBcblx0LSBjaGVjayB0aGF0LCBpZiB5b3UgZGVsZXRlIHRoZSBjb250ZW50IG9mIHRoZSB0ZXh0IGZpZWxkLCB0aGUgc2F2ZSBidXR0b24gaXMgZGlzYWJsZWQgXG5cdC0gZW50ZXIgYSBkaXN0cm8gbmFtZSBjb250YWluaW5nIHNwYWNlcyAoZm9yIGV4YW1wbGUsIFwicG9reSB0aW55XCIpIC0gY2hlY2sgdGhhdCBhbiBlcnJvciBtZXNzYWdlIGlzIHNob3duIGV4cGxhaW5pbmcgdGhhdCB0aGUgdmFsdWUgZW50ZXJlZCBjYW5ub3QgY29udGFpbiBzcGFjZXMgIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJTUFHRV9GU1RZUEVTOiBcblx0LSBjaGVjayB0aGF0IHRoZSBcImNoYW5nZVwiIGljb24gaXMgcHJlc2VudCAocmVwcmVzZW50ZWQgYnkgYSBwZW4gaWNvbikgXG5cdC0gY2xpY2sgb24gdGhlIFwiY2hhbmdlXCIgaWNvbiBhbmQgY2hlY2sgdGhhdCB0aGUgdmFyaWFibGUgYmVjb21lcyBlZGl0YWJsZSBsaWtlIHNvOiB0aGUgbWFpbiBpbnB1dCBjb250cm9sIGlzIGEgc2V0IG9mIGNoZWNrYm94ZXMuIFRoZXJlIGlzIGEgY2hlY2tib3ggZm9yIGVhY2ggc3VwcG9ydGVkIGltYWdlIHR5cGUuIFRoZSBjaGVja2JveGVzIGFyZSBsaXN0ZWQgaW4gYXNjZW5kaW5nIGFscGhhYmV0aWNhbCBvcmRlciwgYnJva2VuIGRvd24gaW4gMiBncm91cHM6IFxuXHRcdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlRoZSBzZWxlY3RlZCB0eXBlcyBhcmUgY2hlY2tlZCBhbmQgbGlzdGVkIGF0IHRoZSB0b3AgXG5cdFx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIG90aGVyIHR5cGVzIGFyZSBub3QgY2hlY2tlZCBhbmQgbGlzdGVkIGFmdGVyd2FyZHMgXG5cdC0gY2hlY2sgdGhhdCBhbGwgdGhpcyBpcyBpbnNpZGUgYSBzY3JvbGxhYmxlIGRpdiwgYW5kIGEgdGV4dCBmaWVsZCBpcyBwcmVzZW50IGFib3ZlIHRoYXQgZmlsdGVycyBvdXQgdGhlIGNvbnRlbnQgb2YgdGhlIGRpdiBhcyB5b3UgdHlwZS4gXG5cdC0gY2hlY2sgdGhhdCBpZiB0aGVyZSBhcmUgbm8gaW1hZ2UgdHlwZXMgbWF0Y2hpbmcgeW91ciB0eXBlZCBzdHJpbmcsIGEgbWVzc2FnZSBpcyBzaG93biBub3RpZnlpbmcgeW91IG9mIHRoaXM6IFwiTm8gaW1hZ2UgdHlwZXMgZm91bmRcIiBcblx0LSB1bnNlbGVjdCBhbGwgY2hlY2tib3hlcyBhbmQgY2hlY2sgdGhhdCB0aGUgc2F2ZSBidXR0b24gaXMgZGlzYWJsZWQgYW5kIGEgbWVzc2FnZSBpcyBzaG93bjogXCJZb3UgbXVzdCBzZWxlY3QgYXQgbGVhc3Qgb25lIGltYWdlIHR5cGVcIiBcblx0LSBzZWxlY3QgZGlmZmVyZW50IGNoZWNrYm94ZXMgYW5kIGhpdCBzYXZlIHRoZW4gbWFrZSBzdXJlIHRoYXQgdGhlIFx0c2F2ZWQgdmFsdWUgaXMgY29uc2lzdGVudCB3aXRoIHRoZSBzZWxlY3RlZCBjaGVja2JveGVzICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiSU1BR0VfSU5TVEFMTF9hcHBlbmQ6IFxuXHQtIGNoZWNrIHRoYXQgdGhlIFwiY2hhbmdlXCIgaWNvbiBpcyBwcmVzZW50IChyZXByZXNlbnRlZCBieSBhIHBlbiBpY29uKSBcblx0LSBjbGljayBvbiB0aGUgXCJjaGFuZ2VcIiBpY29uIGFuZCBjaGVjayB0aGF0IHRoZSB2YXJpYWJsZSBiZWNvbWVzIGEgdGV4dCBmaWVsZCwgcG9wdWxhdGVkIHdpdGggdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHZhcmlhYmxlLiAgXG5cblx0LSBjaGVjayB0aGF0IHRoZSBzYXZlIGJ1dHRvbiBpcyBkaXNhYmxlZCB3aGVuIHRoZSB0ZXh0IGZpZWxkIGlzIGVtcHR5IFxuXHQtIGluc2VydCB0ZXN0IGluIHRoZSB0ZXh0IGZpZWxkIChmb3IgZXhhbXBsZSBcInBhY2thZ2UxXCIpIGFuZCBoaXQgc2F2ZTsgYmUgYXdhcmUgdGhhdCB0aGVyZSBpcyBubyBpbnB1dCB2YWxpZGF0aW9uIGZvciB0aGlzIHZhcmlhYmxlIFxuXHQtIGNoZWNrIHRoYXQgYSBuZXcgXCJkZWxldGVcIiBpY29uKGEgdHJhc2hjYW4pIGhhcyBhcHBlYXJlZCBuZXh0IHRvIHRoZSBwZW4gaWNvbiBcblx0LSBjaGVjayB0aGF0IGNsaWNraW5nIG9uIHRoZSB0cmFzaGNhbiBpY29uIHJlc2V0cyB0aGUgdmFsdWUgdG8gXCJOb3Qgc2V0XCIgYW5kIG1ha2VzIHRoZSB0cmFzaGNhbiBpY29uIGRpc3NhcGVhciAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlBBQ0tBR0VfQ0xBU1NFUzogXG5cdC0gY2hlY2sgdGhhdCB0aGUgXCJjaGFuZ2VcIiBpY29uIGlzIHByZXNlbnQgKHJlcHJlc2VudGVkIGJ5IGEgcGVuIGljb24pIFxuXHQtIGNsaWNrIG9uIHRoZSBcImNoYW5nZVwiIGljb24gYW5kIGNoZWNrIHRoYXQgdGhlIHZhcmlhYmxlIGJlY29tZXMgZWRpdGFibGUgd2l0aCB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHM6IFxuXHRcdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkEgZHJvcGRvd24gbWVudSB3aXRoIHZhbHVlcyAncGFja2FnZV9kZXYnLCAncGFja2FnZV9pcGsnIGFuZCAncGFja2FnZV9ycG0nIGluIHRoaXMgb3JkZXIuIFRoZSB2YWx1ZSBzZWxlY3RlZCB3aGVuIHlvdSBlbnRlciB0aGUgZWRpdGFibGUgc3RhdGUgbWF0Y2hlcyB0aGUgZmlyc3QgdmFsdWUgb2YgdGhlIHZhcmlhYmxlIChlLmcuIGlmIHRoZSB2YWx1ZSBpcyBzZXQgdG8gJ3BhY2thZ2VfZGV2IHBhY2thZ2VfaXBrJyB0aGUgdmFsdWUgc2VsZWN0ZWQgaXMgJ3BhY2thZ2VfZGV2JykuICBcbiBcblx0XHQiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjEwIjogeworICAgICAgICAgICJhY3Rpb24iOiAiVHdvIGNoZWNrYm94ZXMsIHNob3dpbmcgdGhlIDIgdW5zZWxlY3RlZCB2YWx1ZXMgaW4gdGhlIGRyb3Bkb3duIG1lbnUuICBcblxuXHQtIHZlcmlmeSB0aGF0IHRoZSBjaGVja2JveGVzIGFyZSBjaGVja2VkIG9yIHVuY2hlY2tlZCB0byByZWZsZWN0IHRoZSB2YXJpYWJsZSB2YWx1ZSAoZS5nLiBpZiB0aGUgdmFsdWUgaXMgc2V0IHRvICdwYWNrYWdlX2RldiBwYWNrYWdlX2lwaycsIHRoZSAncGFja2FnZV9pcGsnIGNoZWNrYm94IGlzIGNoZWNrZWQsIGFuZCB0aGUgJ3BhY2thZ2VfcnBtJyBjaGVja2JveCBpcyB1bmNoZWNrZWQpLiAgXG5cblx0Qm90aCBjaGVja2JveGVzIGNhbiBiZSB1bmNoZWNrZWQuICBUaGUgdmFsdWUgb2YgdGhlIGNoZWNrYm94ZXMgY2hhbmdlcyBkeW5hbWljYWxseSBhcyBJIGNoYW5nZSB0aGUgc2VsZWN0ZWQgdmFsdWUgaW4gdGhlIGRyb3Bkb3duIG1lbnUuIFRoaXMgbWVhbnMgdGhhdCBhbnkgY2hhbmdlcyB0byB0aGUgZHJvcGRvd24gbWVudSBzaG91bGQgdW5jaGVjayB0aGUgY2hlY2tib3hlcy4gIFxuXG5cdC0gY2xpY2sgb24gc2F2ZSBhbmQgY2hlY2sgdGhhdCB0aGUgIHZhbHVlIHNlbGVjdGVkIGluIHRoZSBkcm9wZG93biBtZW51IGlzIHRoZSBmaXJzdCB2YWx1ZSBpbiB0aGUgdmFyaWFibGUsIGZvbGxvd2VkIGJ5IGFueSBjaGVja2VkIGNoZWNrYm94ZXMuICBcblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjExIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQWRkaW5nIHZhcmlhYmxlczogXG5cdC0gY2hlY2sgdGhhdCB0aGUgXCJhZGQgdmFyaWFibGVcIiBmb3JtIGhhcyAyIHRleHQgZmllbGRzOiBvbmUgZm9yIHRoZSB2YXJpYWJsZSBuYW1lIGFuZCBhIHNlY29uZCBvbmUgZm9yIHRoZSB2YXJpYWJsZSB2YWx1ZSwgcGx1cyBhbiBcImFkZFwiIGJ1dHRvbiB0aGF0IGlzIGRpc2FibGVkIHVudGlsIGJvdGggdGV4dCBmaWVsZHMgaGF2ZSBzb21lIGlucHV0IGluIHRoZW0uICBcbiBcblx0LSBjaGVjayB2YXJpYWJsZSBuYW1lIHZhbGlkYXRpb246IHZhcmlhYmxlIG5hbWVzIGNhbm5vdCBoYXZlIHNwYWNlcywgYW5kIGNhbiBvbmx5IGluY2x1ZGUgbGV0dGVycywgbnVtYmVycywgdW5kZXJzY29yZXMgYW5kIGRhc2hlczsgdmFyaWFibGUgbmFtZXMgZW50ZXJlZCBjYW5ub3QgbWF0Y2ggdGhlIG5hbWUgb2YgYSB2YXJpYWJsZSBhbHJlYWR5IG9uIHRoZSBsaXN0OyB2YXJpYWJsZSBuYW1lcyBjYW5ub3QgbWF0Y2ggdGhlIGJsYWNrbGlzdGVkIHZhcmlhYmxlcyBtZW50aW9uZWQgaW4gdGhlIHRleHQgb24gdGhlIHJpZ2h0LWhhbmQgc2lkZSBvZiB0aGUgcGFnZSAgXG5cblx0IC0gY2hlY2sgdGhhdCBhbiBlcnJvciBtZXNzYWdlIGlzIHNob3duIGluZGljYXRpbmcgdmFsaWRhdGlvbiBoYXMgZmFpbGVkIGFuZCB3aHkgb25jZSB5b3UgdHJ5IHRvIHB1dCBpbiB0aGUgdmFsdWUgb3IgY2xpY2sgb24gdGhlIFwiQWRkIHZhcmlhYmxlXCIgYnV0dG9uICAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkFsbCBtZW50aW9uZWQgZWxlbWVudHMgc2hvdWxkIGJlIHByZXNlbnQgYW5kIGZ1bmN0aW9uYWwuIgorICAgICAgICB9LAorICAgICAgICAiMTIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJpbnNlcnQgYSB2YWxpZCBjb21iaW5hdGlvbiBhbmQgY2xpY2sgb24gXCJBZGQgdmFyaWFibGVcIjsgY2hlY2sgdGhhdCBhIG5ldyB2YXJpYWJsZS92YWx1ZSBwYWlyIGlzIGFkZGVkIGF0IHRoZSBib3R0b20gb2YgdGhlIHZhcmlhYmxlIGxpc3QgYW5kIHRoYXQgdGhlIHRleHQgZmllbGRzIGluIHRoZSBcImFkZCB2YXJpYWJsZVwiIGZvcm0gYXJlIGNsZWFyZWQgYW5kIHRoZSBcImFkZFwiIGJ1dHRvbiBpcyBkaXNhYmxlZCBcblx0LSBjaGVjayB0aGF0IHRoZSBhZGRlZCB2YXJpYWJsZSBoYXMgYSBcImNoYW5nZVwiIGljb24gcHJlc2VudCBuZXh0IHRvIHRoZSB2YXJpYWJsZSB2YWx1ZSwgYW5kIGFsc28gdGhhdCBhIFwiZGVsZXRlXCIgaWNvbiBpcyBwcmVzZW50IG5leHQgdG8gdGhlIHZhcmlhYmxlIG5hbWUgXG5cdC0gY2hlY2sgdGhhdCBjbGlja2luZyB0aGUgXCJjaGFuZ2VcIiBpY29uIG1ha2VzIHRoZSB2YXJpYWJsZSBlZGl0YWJsZSBpbiBhIHRleHQgZmllbGQgY29udGFpbmluZyB0aGUgdmFsdWUgb2YgdGhlIHZhcmlhYmxlIFxuXHQtIGNoZWNrIHRoYXQsIGlmIHlvdSBkZWxldGUgdGhlIGNvbnRlbnQgb2YgdGhlIHRleHQgZmllbGQsIHRoZSBzYXZlIGJ1dHRvbiBpc1x0ZGlzYWJsZWRcblx0LSBjaGVjayB0aGF0IGNsaWNraW5nIG9uIHRoZSBcImRlbGV0ZVwiIGJ1dHRvbiBjYXVzZXMgYm90aCB0aGUgdmFyaWFibGUgbmFtZSBhbmQgdGhlIHZhcmlhYmxlIHZhbHVlIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUgdmFyaWFibGVzIGxpc3QiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkFsbCBtZW50aW9uZWQgZWxlbWVudHMgc2hvdWxkIGJlIHByZXNlbnQgYW5kIGZ1bmN0aW9uYWwuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiQ29uZmlndXJhdGlvbl92YXJpYWJsZXM6X1Rlc3RfVUlfZWxlbWVudHMiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5Qcm9qZWN0X2J1aWxkczpfRGVmYXVsdF92aWV3IiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAic3RhbmNpdXgubWloYWlsQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAic3RhbmNpdXgubWloYWlsQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEFjY2VzcyBhIHByb2plY3QgcGFnZSwgZWl0aGVyIGJ5IGNyZWF0aW5nIGEgbmV3IHByb2plY3Qgb3IgYWNjZXNzaW5nIGFuIGV4aXN0aW5nIHByb2plY3QgZnJvbSB0aGUgXCJBbGwgYnVpbGRzXCIgdGFibGUuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiB0aGUgXCJCdWlsZHNcIiAsIG5leHQgdG8gdGhlIFwiQ29uZmlndXJhdGlvblwiIEJ1dHRvbi4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdGhlIHBhZ2UgaGVhZGluZyBpbmNsdWRlcyBhIGNvdW50ZXIgd2l0aCB0aGUgbnVtYmVyIG9mIGJ1aWxkcyBydW4gZm9yIHRoZSBwcm9qZWN0KGVnLiBcIlByb2plY3QgYnVpbGRzICg0KVwiKS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdGhlIGZvbGxvd2luZyB0YWJsZSBoZWFkcyBhcmUgdmlzaWJsZSBieSBkZWZhdWx0OiBvdXRjb21lLCBjb21wbGV0ZWQgb24sIGZhaWxlZCB0YXNrcywgZXJyb3JzLCB3YXJuaW5ncywgaW1hZ2UgZmlsZXMuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGF0IGJ5IGRlZmF1bHQgdGhlIHRhYmxlIGlzIHNvcnRlZCBieSBcIkNvbXBsZXRlZCBvblwiIGluIGRlc2NlbmRpbmcgb3JkZXIiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkFsbCBtZW50aW9uZWQgZWxlbWVudHMgc2hvdWxkIGJlIHByZXNlbnQuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiUHJvamVjdF9idWlsZHM6X0RlZmF1bHRfdmlldyIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlByb2plY3RfYnVpbGRzOl9Tb3J0aW5nX3RoZV9wcm9qZWN0X2J1aWxkc190YWJsZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBBY2Nlc3MgYSBwcm9qZWN0IHBhZ2UsIGVpdGhlciBieSBjcmVhdGluZyBhIG5ldyBwcm9qZWN0IG9yIGFjY2Vzc2luZyBhbiBleGlzdGluZyBwcm9qZWN0IGZyb20gdGhlIFwiQWxsIGJ1aWxkc1wiIHRhYmxlLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gdGhlIFwiVmlldyBhbGwgcHJvamVjdCBidWlsZHNcIiBsaW5rIHNpdHVhdGVkIGJlbG93IHRoZSB0b3AtbW9zdCBcIkJ1aWxkXCIgYnV0dG9uIGFuZCB0ZXh0IGZpZWxkLCBuZXh0IHRvIHRoZSBcIlZpZXcgYWxsIHRhcmdldHNcIiBsaW5rIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlZlcmlmeSB0aGF0LCBieSBkZWZhdWx0LCB0aGUgdGFibGUgaXMgc29ydGVkIGJ5IFwiQ29tcGxldGVkIG9uXCIgaW4gZGVzY2VuZGluZyBvcmRlci4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkFjdGl2YXRlIGFsbCBjb2x1bW5zIGZyb20gdGhlIFwiRWRpdCBjb2x1bW5zXCIgdGFibGUuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGF0IHRoZSBmb2xsb3dpbmcgY29sdW1ucyBhcmUgc29ydGFibGUsIGJvdGggaW4gYXNjZW5kaW5nIGFuZCBkZXNjZW5kaW5nIG9yZGVyOiBvdXRjb21lLCB0YXJnZXQsIG1hY2hpbmUsIHN0YXJ0ZWQgb24sIGNvbXBsZXRlZCBvbiwgd2FybmluZywgcHJvamVjdCBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiVmVyaWZ5IHRoYXQgaGlkaW5nIGEgY29sdW1uIHRoYXQgaXMgY3VycmVudGx5IGJlaW5nIHVzZWQgYXMgdGhlIHNvcnRpbmcgY3JpdGVyaWEgY2F1c2VzIHRoZSBzb3J0aW5nIHRvIHJlc2V0IHRvIHRoZSBkZWZhdWx0IC0gaS5lIFwiQ29tcGxldGVkIG9uXCIgaW4gZGVzY2VuZGluZyBvcmRlci4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkFsbCBtZW50aW9uZWQgZWxlbWVudHMgc2hvdWxkIGJlIHByZXNlbnQgYW5kIGZ1bmN0aW9uYWwuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiUHJvamVjdF9idWlsZHM6X1NvcnRpbmdfdGhlX3Byb2plY3RfYnVpbGRzX3RhYmxlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuUHJvamVjdF9idWlsZHM6X2N1c3RvbWl6ZV90aGVfY29sdW1uc19vZl90aGVfdGFibGUiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQWNjZXNzIGEgcHJvamVjdCBwYWdlLCBlaXRoZXIgYnkgY3JlYXRpbmcgYSBuZXcgcHJvamVjdCBvciBhY2Nlc3NpbmcgYW4gZXhpc3RpbmcgcHJvamVjdCBmcm9tIHRoZSBcIkFsbCBidWlsZHNcIiB0YWJsZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIHRoZSBcIlZpZXcgYWxsIHByb2plY3QgYnVpbGRzXCIgbGluayBzaXR1YXRlZCBiZWxvdyB0aGUgdG9wLW1vc3QgXCJCdWlsZFwiIGJ1dHRvbiBhbmQgdGV4dCBmaWVsZCwgbmV4dCB0byB0aGUgXCJWaWV3IGFsbCB0YXJnZXRzXCIgbGluayBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gdGhlIFwiRWRpdCBjb2x1bW5cIiBtZW51IGFuZCBjaGVjayB0aGF0IHRoZSBzZWxlY3RlZCBjb2x1bW5zIG1hdGNoIHRoZSBjb2x1bW5zIGN1cnJlbnRseSBiZWluZyBzaG93bi4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdGhlIGZvbGxvd2luZyBjb2x1bW5zIGNhbm5vdCBiZSByZW1vdmVkIGZyb20gdGhlIHNob3duIGNvbHVtbnM6IGNvbXBsZXRlZCBvbiwgb3V0Y29tZSwgcmVjaXBlIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGF0IHVuY2hlY2tlZCBpdGVtcyBjaGFuZ2VkIHRvIGNoZWNrZWQgaW1tZWRpYXRlbHkgYXBwZWFyIGluIHRoZSB0YWJsZSBhbmQgdGhhdCBjaGVja2VkIGl0ZW1zIGNoYW5nZWQgdG8gdW5jaGVja2VkIGltbWVkaWF0ZWx5IGRpc2FwcGVhciBmcm9tIHRoZSB0YWJsZS4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkFsbCBtZW50aW9uZWQgZWxlbWVudHMgc2hvdWxkIGJlIHByZXNlbnQgYW5kIGZ1bmN0aW9uYWwuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiUHJvamVjdF9idWlsZHM6X2N1c3RvbWl6ZV90aGVfY29sdW1uc19vZl90aGVfdGFibGUiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5Qcm9qZWN0X2J1aWxkczpfZmlsdGVyX3RoZV9jb250ZW50c19vZl90aGVfdGFibGUiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQWNjZXNzIGEgcHJvamVjdCBwYWdlLCBlaXRoZXIgYnkgY3JlYXRpbmcgYSBuZXcgcHJvamVjdCBvciBhY2Nlc3NpbmcgYW4gZXhpc3RpbmcgcHJvamVjdCBmcm9tIHRoZSBcIkFsbCBidWlsZHNcIiB0YWJsZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIHRoZSBcIlZpZXcgYWxsIHByb2plY3QgYnVpbGRzXCIgbGluayBzaXR1YXRlZCBiZWxvdyB0aGUgdG9wLW1vc3QgXCJCdWlsZFwiIGJ1dHRvbiBhbmQgdGV4dCBmaWVsZCwgbmV4dCB0byB0aGUgXCJWaWV3IGFsbCB0YXJnZXRzXCIgbGluay4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk1ha2Ugc3VyZSB0aGUgZm9sbG93aW5nIGNvbHVtbnMgaGF2ZSBmaWx0ZXJzOiBvdXRjb21lLCBzdGFydGVkIG9uLCBjb21wbGV0ZWQgb24sIGZhaWxlZCB0YXNrcy4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkZpbHRlcnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gQ2xpY2sgYSBmaWx0ZXIgYnV0dG9uIG9mIGEgb25lIGNvbHVtbiBhbmQgYSBmaWx0ZXIgZGlhbG9ndWUgb2NjdXJzLiBTZWxlY3QgYSBmaWx0ZXIgaXRlbS4gVGhlIGZpbHRlciByZXN1bHQgd291bGQgYmUgc2hvd2VkLiBUaGVuIHNlbGVjdCBhbm90aGVyIGZpbHRlciBpdGVtIG9mIGFub3RoZXIgY29sdW1uIGFuZCB0aGUgcHJldmlvdXNseSBhcHBsaWVkIGZpbHRlciBpcyBvdmVycmlkZGVuIGJ5IHRoZSBuZXdseSBzZWxlY3RlZCBmaWx0ZXIgd2hlbiBhIGZpbHRlciBmcm9tIGEgZGlmZmVyZW50IGNvbHVtbiBpcyBhcHBsaWVkIHRvIHRoZSB0YWJsZS4gVGhpcyBmaWx0ZXIgd2lsbCBvdmVycmlkZSB0aGUgY3VycmVudCBmaWx0ZXIuXCIgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkZpbHRlcnMgYXJlIG92ZXJyaWRkZW4gYnkgc2VhcmNoLiBSdW4gYSBzZWFyY2ggcXVlcnkgYW5kIHlvdSBjYW4gc2VlIHByZXZpb3VzIGZpbHRlciByZXN1bHRzIGFyZSBvdmVycmlkZGVuIGJ5IHRoZSByZXN1bHRzIG9mIHRoZSBzZWFyY2ggcXVlcnkuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJBbGwgbWVudGlvbmVkIGVsZW1lbnRzIHNob3VsZCBiZSBwcmVzZW50IGFuZCBmdW5jdGlvbmFsLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlByb2plY3RfYnVpbGRzOl9maWx0ZXJfdGhlX2NvbnRlbnRzX29mX3RoZV90YWJsZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlByb2plY3RfYnVpbGRzOl9zZWFyY2hfdGhlX2NvbnRlbnRzX29mX3RoZV90YWJsZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBBY2Nlc3MgYSBwcm9qZWN0IHBhZ2UsIGVpdGhlciBieSBjcmVhdGluZyBhIG5ldyBwcm9qZWN0IG9yIGFjY2Vzc2luZyBhbiBleGlzdGluZyBwcm9qZWN0IGZyb20gdGhlIFwiQWxsIGJ1aWxkc1wiIHRhYmxlLiBcblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiB0aGUgXCJWaWV3IGFsbCBwcm9qZWN0IGJ1aWxkc1wiIGxpbmsgc2l0dWF0ZWQgYmVsb3cgdGhlIHRvcC1tb3N0IFwiQnVpbGRcIiBidXR0b24gYW5kIHRleHQgZmllbGQsIG5leHQgdG8gdGhlIFwiVmlldyBhbGwgdGFyZ2V0c1wiIGxpbmsuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJXaGVuIG5vIHNlYXJjaCBxdWVyeSBoYXMgYmVlbiBlbnRlcmVkLCB3ZSBoYXZlIHBsYWNlaG9sZGVyIHRleHQgc2F5aW5nOiBcIlNlYXJjaCBidWlsZHNcIi4gVGhlIHBsYWNlaG9sZGVyIHRleHQgZGlzYXBwZWFycyB3aGVuIHRoZSBmaXJzdCBjaGFyYWN0ZXIgaXMgdHlwZWQuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJXaGVuIGEgc2VhcmNoIHF1ZXJ5IGhhcyBiZWVuIHN1Ym1pdHRlZCBhbmQgcmVzdWx0cyByZXR1cm5lZDogXG4tICBXZSBrZWVwIHRoZSBzZWFyY2ggc3RyaW5nIGluIHRoZSB0ZXh0IGlucHV0IGZpZWxkLiBcbi0gV2UgcHJvdmlkZSBhIFwiQ2xlYXIgc2VhcmNoXCIgaWNvbiAoaWNvbi1yZW1vdmUtc2lnbikuIENsaWNrIGl0IHRvIGNsZWFyIHRoZSBzZWFyY2ggYW5kIGRpc3BsYXkgYWxsIHBhY2thZ2VzLiBcbi0gV2UgY2hhbmdlIHRoZSBwYWdlIGhlYWRpbmcgdG8gaW5kaWNhdGUgdGhlIG51bWJlciBvZiByZXN1bHRzIHJldHVybmVkIGJ5IHRoZSBzZWFyY2ggcXVlcnkuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJZiB5b3VyIHNlYXJjaCBxdWVyeSByZXR1cm5zIG5vIHJlc3VsdHMsIHRoZSBwYWdlIGhlYWRpbmcgY2hhbmdlcyB0byBcIk5vIHBhY2thZ2VzIGZvdW5kXCIsIGFuZCB3ZSBzaG93IHlvdSBhbiBhbGVydCB3aXRoIGEgc2VhcmNoIGZvcm0gYW5kIGFuIG9wdGlvbiB0byBzaG93IGFsbCBwYWNrYWdlcy4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlYXJjaGluZyBkb2VzIG5vdCBjaGFuZ2UgdGhlIHN0YXRlIG9mIHRoZSB0YWJsZTogdGhlIHNhbWUgY29sdW1ucyByZW1haW4gaGlkZGVuIGFuZCB0aGUgc2FtZSBzb3J0aW5nIGFwcGxpZWQuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQWxsIG1lbnRpb25lZCBlbGVtZW50cyBzaG91bGQgYmUgcHJlc2VudCBhbmQgZnVuY3Rpb25hbC4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJQcm9qZWN0X2J1aWxkczpfc2VhcmNoX3RoZV9jb250ZW50c19vZl90aGVfdGFibGUiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5MYXllcl9kZXRhaWxzX3BhZ2U6X0RlZmF1bHRfdmlldyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBBY2Nlc3MgYSBwcm9qZWN0IHBhZ2UsIGVpdGhlciBieSBjcmVhdGluZyBhIG5ldyBwcm9qZWN0IG9yIGFjY2Vzc2luZyBhbiBleGlzdGluZyBwcm9qZWN0IGZyb20gdGhlIFwiQWxsIGJ1aWxkc1wiIHRhYmxlLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gdGhlIFwiVmlldyBjb21wYXRpYmxlIGxheWVyc1wiIGxpbmsgc2l0dWF0ZWQgaW4gdGhlIFwiUHJvamVjdCBjb25maWd1cmF0aW9uXCIgcG9ydGlvbiBvZiB0aGUgcGFnZSwgdW5kZXIgXCJMYXllcnNcIiB0YWJsZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIGEgbGF5ZXIgKGZvciBleGFtcGxlIFwibWV0YS1hYXJjaDY0XCIpLiBOb3RpY2UgdGhhdCB0aGUgcGFnZSBpcyBkaXZpZGVkIGludG8gMiBjb2x1bW5zOiB0aGUgbGVmdCBvbmUgaXMgYnJva2VuIGRvd24gaW50byB0YWJzOyB0aGUgcmlnaHQgb25lIHByb3ZpZGVzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBsYXllci4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgYnJlYWRjcnVtYnMgZXhpc3QgYXQgdGhlIHRvcCBvZiB0aGUgcGFnZS4gQ2hlY2sgdGhhdCB0aGV5IHdvcmsgYnkgY2xpY2tpbmcgb24gdGhlbSwgdGhlbiBoaXR0aW5nIGJhY2sgdG8gcmV0dXJuIHRvIHRoZSBsYXllciBkZXRhaWwgcGFnZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdGhlIHBhZ2UgaGVhZGluZyBpbmNsdWRlcyB0aGUgbGF5ZXIgYnJhbmNoIG5hbWUgLSBpdCBzaG91bGQgbG9vayBzb21ldGhpbmcgbGlrZSBtZXRhLWFhcmNoNjQoZGl6enkpIGlmIHRoZSBkaXp6eSBicmFuY2ggd2FzIHNlbGVjdGVkLiBUaGUgYnJhbmNoIG5hbWUgc2hvdWxkIGFsc28gYmUgcHJlc2VudCBpbiB0aGUgYnJlYWRjcnVtYnMuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJUaGUgXCJBYm91dFwiIGluZm9ybWF0aW9uOiBcbml0IHNob3dzIHN1bW1hcnksIGRlc2NyaXB0aW9uIGluIHRoaXMgb3JkZXIsIGlmIG5vdCBlbXB0eS4gSWYgYW4gaW5mb3JtYXRpb24gaXRlbSBpcyBlbXB0eSAobGlrZSB0aGUgU3VtbWFyeSBpbiB0aGUgZXhhbXBsZSBzaG93biBpbiB0aGlzIHBhZ2UpLCBpdCBkb2VzIG5vdCBkaXNwbGF5LiBcbiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIHRhYnM6IFxuQ2hlY2sgdGhhdCB0aGVyZSBhcmUgMyB0YWJzOiBcImxheWVyIGRldGFpbHNcIiwgXCJyZWNpcGVzXCIsIFwibWFjaGluZXNcIiBzaG93aW5nIHVwIGluIHRoaXMgb3JkZXIuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJcIkxheWVyIGRldGFpbHNcIiB0YWI6IFxuQ2hlY2sgdGhhdCB0aGUgdGFiIHNob3dzOiBcbi0gQSBidXR0b24gdG8gYWRkIC8gcmVtb3ZlIHRoZSBsYXllciB0byAvIGZyb20gdGhlIHByb2plY3QuIEluIHRoaXMgdGFiLCB0aGUgYnV0dG9uIGxhYmVscyBhcmVcIkFkZCB0aGUgJGxheWVyX25hbWUgbGF5ZXIgdG8geW91ciBwcm9qZWN0XCIgXCJEZWxldGUgdGhlICRsYXllcl9uYW1lIGxheWVyIGZyb20geW91ciBwcm9qZWN0XCIgXG4tIFNvbWUgZGV0YWlscyBhYm91dCB0aGUgbGF5ZXI6IHJlcG9zaXRvcnkgVVJMLCByZXBvc2l0b3J5IHN1YmRpcmVjdG9yeSwgcmV2aXNpb24gKHRoZSBicmFuY2gpIGFuZCB0aGUgbGlzdCBvZiBsYXllciBkZXBlbmRlbmNpZXMuIElmIGFueSBvZiB0aGUgYWJvdmUgZGV0YWlscyBpcyBibGFuayAobW9zdCBsaWtlbHksIHRoZSBzdWJkaXJlY3RvcnkpIGl0IGRvZXMgbm90IGRpc3BsYXkuVGhlIGljb25zIG5leHQgdG8gdGhlIHJlcG9zaXRvcnkgYW5kIHN1YmRpcmVjdG9yeSBpbmZvcm1hdGlvbiBhcmUgbGlua3MgdG8gdGhlaXIgd2ViIGluc3RhbmNlcy4gVGhvc2UgbGlua3Mgc2hvdWxkIG9wZW4gaW4gYSBuZXcgd2luZG93LiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI5IjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIFwiUmVjaXBlc1wiIHRhYjogXG5DaGVjayB0aGF0IGl0IHNob3dzOiBcblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxMCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkEgY291bnRlciBpbiB0aGUgdGFiIGxhYmVsIHNob3dpbmcgdGhlIHRvdGFsIG51bWJlciBvZiB0YXJnZXRzIHByb3ZpZGVkIGJ5IHRoZSBsYXllciBcblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkEgYnV0dG9uIHRvIGFkZCAvIHJlbW92ZSB0aGUgbGF5ZXIgdG8gLyBmcm9tIHRoZSBwcm9qZWN0LiBJbiB0aGlzIHRhYiwgdGhlIGJ1dHRvbiBsYWJlbHMgYXJlIFwiQWRkIHRoZSAkbGF5ZXJfbmFtZSBsYXllciB0byB5b3VyIHByb2plY3QgdG8gZW5hYmxlIHRoZXNlIHRhcmdldHNcIi9cIkRlbGV0ZSB0aGUgJGxheWVyX25hbWUgbGF5ZXIgZnJvbSB5b3VyIHByb2plY3RcIiBcblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkEgcmVjaXBlcyB0YWJsZSB3aXRoIHRoZSBmb2xsb3dpbmcgY29sdW1uczogXG4gXG4tIFJlY2lwZSBcbi0gRGVzY3JpcHRpb246IHRoZSB2YWx1ZSBvZiB0aGUgREVTQ1JJUFRJT04gdmFyaWFibGUuIElmIG5vdCBzZXQsIHRoZW4gdGhlIHZhbHVlIG9mIHRoZSBTVU1NQVJZIHZhcmlhYmxlLiBcbi0gQnVpbGQgcmVjaXBlLCB3aGljaCBzaG93cyBhIFwiYnVpbGQgcmVjaXBlXCIgYnV0dG9uLiBUaGUgXCJidWlsZCByZWNpcGVcIiBidXR0b24gaXMgZGlzYWJsZWQgd2hlbiB0aGUgbGF5ZXIgaXMgbm90IGFkZGVkIHRvIHRoZSBwcm9qZWN0LiBcblxuVGhlIHJlY2lwZXMgdGFibGUgaXMgc29ydGVkIGJ5IFwiUmVjaXBlXCIgaW4gYXNjZW5kaW5nIGFscGhhYmV0aWNhbCBvcmRlci4gXG5cbjEiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjEzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIFwiTWFjaGluZXNcIiB0YWI6IFxuXHQiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjE0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQSBjb3VudGVyIGluIHRoZSB0YWIgbGFiZWwgc2hvd2luZyB0aGUgdG90YWwgbnVtYmVyIG9mIG1hY2hpbmVzIHByb3ZpZGVkIGJ5IHRoZSBsYXllciBcblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkEgYnV0dG9uIHRvIGFkZC9yZW1vdmUgdGhlIGxheWVyIHRvL2Zyb20gdGhlIHByb2plY3QuIEluIHRoaXMgdGFiLCB0aGUgYnV0dG9uIGxhYmVscyBhcmUgXCJBZGQgdGhlICRsYXllcl9uYW1lIGxheWVyIHRvIHlvdXIgcHJvamVjdCB0byBlbmFibGUgdGhlc2UgbWFjaGluZXNcIi9cIkRlbGV0ZSB0aGUgJGxheWVyX25hbWUgbGF5ZXIgZnJvbSB5b3VyIHByb2plY3RcIiBcblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkEgbWFjaGluZXMgdGFibGUgd2l0aCB0aGUgZm9sbG93aW5nIGNvbHVtbnM6IFxuIFxuLSBNYWNoaW5lLiBcbiBcbi0gRGVzY3JpcHRpb246IFRoZSB2YWx1ZSBvZiB0aGUgREVTQ1JJUFRJT04gdmFyaWFibGUgaW4gdGhlIC5jb25mIGZpbGUgXG4tIFNlbGVjdCBtYWNoaW5lLCB3aGljaCBzaG93cyBhIFwic2VsZWN0XCIgYnV0dG9uLiBUaGUgXCJzZWxlY3RcIiBidXR0b24gaXMgZGlzYWJsZWQgd2hlbiB0aGUgbGF5ZXIgaXMgbm90IGFkZGVkIHRvIHRoZSBwcm9qZWN0LiBcblRoZSBtYWNoaW5lcyB0YWJsZSBpcyBzb3J0ZWQgYnkgXCJNYWNoaW5lXCIgaW4gYXNjZW5kaW5nIGFscGhhYmV0aWNhbCBvcmRlci4gIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJBbGwgbWVudGlvbmVkIGVsZW1lbnRzIHNob3VsZCBiZSBwcmVzZW50IGFuZCBmdW5jdGlvbmFsLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkxheWVyX2RldGFpbHNfcGFnZTpfRGVmYXVsdF92aWV3IgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuTGF5ZXJfZGV0YWlsc19wYWdlOl9VSV9mdW5jdGlvbmFsaXR5IiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAic3RhbmNpdXgubWloYWlsQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAic3RhbmNpdXgubWloYWlsQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEFjY2VzcyBhIHByb2plY3QgcGFnZSwgZWl0aGVyIGJ5IGNyZWF0aW5nIGEgbmV3IHByb2plY3Qgb3IgYWNjZXNzaW5nIGFuIGV4aXN0aW5nIHByb2plY3QgZnJvbSB0aGUgXCJBbGwgYnVpbGRzXCIgdGFibGUuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiB0aGUgXCJWaWV3IGNvbXBhdGlibGUgbGF5ZXJzXCIgbGluayBzaXR1YXRlZCBpbiB0aGUgXCJQcm9qZWN0IGNvbmZpZ3VyYXRpb25cIiBwb3J0aW9uIG9mIHRoZSBwYWdlLCB1bmRlciBcIkxheWVyc1wiIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBhIGxheWVyIChmb3IgZXhhbXBsZSBcIm1ldGEtYWFyY2g2NFwiKS4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBZGRpbmcvcmVtb3ZpbmcgYSBsYXllcjogXG5DbGljayBvbiBcIkFkZCB0aGUgJGxheWVyX25hbWVfaGVyZSBsYXllciB0byB5b3VyIHByb2plY3RcIiBhbmQgdmVyaWZ5IHRoYXQgdGhlIFwiQWRkIGxheWVyXCIgYnV0dG9uIHR1cm5zIGludG8gYSByZWQgYnV0dG9uIHdpdGggdGhlIGxhYmVsIFwiRGVsZXRlIHRoZSAkbGF5ZXJfbmFtZV9oZXJlIGxheWVyIGZyb20geW91ciBwcm9qZWN0XCIgYW5kIHRoYXQgYXQgdGhlIHRvcCBvZiB0aGUgcGFnZSwgYmVsb3cgdGhlIGhlYWRlciwgeW91IHNlZSBhIG1lc3NhZ2UgXCJZb3UgaGF2ZSBhZGRlZCAxIGxheWVyIHRvICAkcHJvamVjdF9uYW1lX2hlcmU6ICRsYXllcl9uYW1lX2hlcmVcIi4gVGhpcyBtZXNzYWdlIGNhbiBiZSBkaXNtaXNzZWQgYnkgY2xpY2tpbmcgb24gdGhlIFwiWFwiIGF0IHRoZSB0b3AgcmlnaHQgc2lkZSBvZiB0aGUgbWVzc2FnZS4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gdGhlIHJlZCBcIkRlbGV0ZSB0aGUgJGxheWVyX25hbWVfaGVyZSBmcm9tIHlvdXIgcHJvamVjdFwiIGJ1dHRvbiBhbmQgdmVyaWZ5IHRoYXQgdGhlIFwiRGVsZXRlIGxheWVyXCIgYnV0dG9uIHR1cm5zIGJhY2sgaW50byBhIGdyZXkgYnV0dG9uIHdpdGggdGhlIGxhYmVsIFwiQWRkIHRoZSAkbGF5ZXJfbmFtZV9oZXJlIHRvIHlvdXIgcHJvamVjdFwiIGFuZCB0aGF0IGF0IHRoZSB0b3Agb2YgdGhlIHBhZ2UsIGJlbG93IHRoZSBoZWFkZXIsIHlvdSBzZWUgYSBtZXNzYWdlIFwiWW91IGhhdmUgZGVsZXRlZCAxIGxheWVyIHRvICRwcm9qZWN0X25hbWVfaGVyZTogJGxheWVyX25hbWVfaGVyZVwiLiBUaGlzIG1lc3NhZ2UgY2FuIGJlIGRpc21pc3NlZCBieSBjbGlja2luZyBvbiB0aGUgXCJYXCIgYXQgdGhlIHRvcCByaWdodCBzaWRlIG9mIHRoZSBtZXNzYWdlLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiRGVwZW5kZW5jaWVzIHdpbmRvdzogXG4gRm9yIGEgbGF5ZXIgdGhhdCBoYXMgZGVwZW5kZW5jaWVzKCBmb3IgZXhhbXBsZSBcIm1ldGEtZXR0dXNcIiksIG9uY2UgeW91IGNsaWNrIHRoZSBcIkFkZCBsYXllclwiIGJ1dHRvbiwgdmVyaWZ5IHRoYXQgeW91IGdldCBhIG1lc3NhZ2Ugd2luZG93IHRoYXQgcHJlc2VudHMgdGhlIGRlcGVuZGVuY2llcyBmb3IgdGhpcyBsYXllciB3aXRoIHRoZSBtZXNzYWdlIFwiJGxheWVyX25hbWVfaGVyZSBkZXBlbmRzIG9uIHNvbWUgbGF5ZXJzIHRoYXQgYXJlIG5vdCBhZGRlZCB0byB5b3VyIHByb2plY3QuIFNlbGVjdCB0aGUgb25lcyB5b3Ugd2FudCB0byBhZGQ6XCIsIGEgbGlzdCB3aXRoIGEgY2hlY2tib3ggZm9yIGVhY2ggb25lIGFuZCAyIG9wdGlvbnM6IFwiQWRkIGxheWVyc1wiIG9yIFwiQ2FuY2VsXCIuIFxuQ2xpY2tpbmcgb24gXCJBZGQgbGF5ZXJzXCIgYWRkcyBhbGwgdGhlIGRlcGVuZGVuY2llcyBhbmQgdGhlIGN1cnJlbnQgbGF5ZXIuIENsaWNraW5nIG9uIFwiQ2FuY2VsXCIgdGFrZXMgeW91IGJhY2sgdG8gdGhlIGxheWVyIGRldGFpbCBwYWdlIHdpdGhvdXQgYWRkaW5nIGFueSBvZiB0aGUgbGF5ZXJzLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiXCJSZWNpcGVzXCIgdGFibGUgXG5DaGVjayB0aGF0IGlmIHRoZSBsYXllciBoYXNuJ3QgYmVlbiBhZGRlZCB0byB0aGUgcHJvamVjdCwgdGhlIFwiQnVpbGQgcmVjaXBlXCIgYnV0dG9uKHMpIGFyZSBkaXNhYmxlZC4gQWZ0ZXIgdGhlIHByb2plY3QgaXMgYWRkZWQsIGNoZWNrIHRoYXQgdGhlIFwiQnVpbGQgcmVjaXBlXCIgYnV0dG9uKHMpIGJlY29tZSBhY3RpdmUgYW5kIGNsaWNraW5nIG9uIGEgYnV0dG9uIHNlbmRzIHlvdSB0byB0aGUgbWFpbiBwcm9qZWN0IHBhZ2UgYW5kIHN0YXJ0cyBhIGJ1aWxkLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI4IjogeworICAgICAgICAgICJhY3Rpb24iOiAiXCJNYWNoaW5lcyB0YWJsZVwiIFxuQ2hlY2sgdGhhdCBpZiB0aGUgbGF5ZXIgaGFzbid0IGJlZW4gYWRkZWQgdG8gdGhlIHByb2plY3QsIHRoZSBcIlNlbGVjdCBtYWNoaW5lXCIgYnV0dG9uKHMpIGFyZSBkaXNhYmxlZC4gIEFmdGVyIHRoZSBwcm9qZWN0IGlzIGFkZGVkLCBjaGVjayB0aGF0IHRoZSBcIkJ1aWxkIG1hY2hpbmVcIiBidXR0b24ocykgYmVjb21lIGFjdGl2ZSBhbmQgY2xpY2tpbmcgb24gYSBidXR0b24gc2VuZHMgeW91IHRvIHRoZSBtYWluIHByb2plY3QgcGFnZSBhbmQgbW9kaWZpZXMgdGhlIHByb2plY3QgbWFjaGluZSB0byB0aGUgb25lIHNlbGVjdGVkLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkFsbCBtZW50aW9uZWQgZWxlbWVudHMgc2hvdWxkIGJlIHByZXNlbnQgYW5kIGZ1bmN0aW9uYWwuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiTGF5ZXJfZGV0YWlsc19wYWdlOl9VSV9mdW5jdGlvbmFsaXR5IgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuSW1wb3J0aW5nX25ld19sYXllcnMiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQWNjZXNzIGEgcHJvamVjdCBwYWdlLCBlaXRoZXIgYnkgY3JlYXRpbmcgYSBuZXcgcHJvamVjdCBvciBhY2Nlc3NpbmcgYW4gZXhpc3RpbmcgcHJvamVjdCBmcm9tIHRoZSBcIkFsbCBidWlsZHNcIiB0YWJsZS4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiB0aGUgXCJJbXBvcnQgbGF5ZXJcIiBsaW5rIHNpdHVhdGVkIGluIHRoZSBcIlByb2plY3QgY29uZmlndXJhdGlvblwiIHBvcnRpb24gb2YgdGhlIHBhZ2UsIHVuZGVyIFwiTGF5ZXJzXCIgdGFibGUuICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCB0aGUgaW1wb3J0IGxheWVyIGZvcm0gaXMgc2hvd24sIHdpdGggdGhlIGZvbGxvd2luZyBlbGVtZW50cyBhcyB0ZXh0IGZpZWxkcyB0byBiZSBmaWxsZWQgb3V0OiBcbkxheWVyIG5hbWUgKGV4YW1wbGU6IG1ldGEtaW1wb3J0ZWQpIFxuR2l0IHJlcG9zaXRvcnkgVVJMIChleGFtcGxlOiBnaXQ6Ly9naXRodWIuY29tL3Noci1kaXN0cmlidXRpb24vbWV0YS1zbWFydHBob25lLmdpdCkgXG5SZXBvc2l0b3J5IHN1YmRpcmVjdG9yeSAob3B0aW9uYWwpIChleGFtcGxlOiBtZXRhLWFjZXIpIFxuUmV2aXNpb24gKGV4YW1wbGU6IG1hc3RlcikgXG5cbkluIGFkZGl0aW9uLCBhIHNlcGFyYXRlIHBvcnRpb24gb2YgdGhlIGZvcm0gd2lsbCBiZSB0aGUgXCJMYXllciBkZXBlbmRlbmNpZXNcIiBwb3J0aW9uLCB3aGVyZSB5b3UgY2FuIGFkZCBkZXBlbmRlbmN5IGxheWVycyBmb3IgdGhlIGxheWVyIHlvdSBhcmUgaW1wb3J0aW5nLiBUaGlzIHBvcnRpb24gd2lsbCBjb250YWluIGEgbGlzdCBvZiBkZXBlbmRlbmNpZXMgYWxyZWFkeSBhZGRlZCwgd2l0aCBhIHRyYXNoY2FuIGljb24gbmV4dCB0byB0aGVtIHRoYXQgd2lsbCBkZWxldGUgdGhlbSB3aGVuIHByZXNzZWQgYW5kIGEgdGV4dCBmaWVsZCB3aXRoIGEgXCJhZGQgbGF5ZXJcIiBidXR0b24gbmV4dCB0byBpdCBmb3IgYWRkaW5nIGRlcGVuZGVuY2llcy4gKGZvciBleGFtcGxlOiBtZXRhLWFuZHJvaWQsIG1ldGEtb2UpIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBdCB0aGUgYm90dG9tIG9mIHRoZSBmb3JtLCBjaGVjayB0aGF0IGEgYnV0dG9uIGV4aXN0cyB3aXRoIHRoZSBsYWJlbCBcIkltcG9ydCBhbmQgYWRkIHRvIHByb2plY3RcIi4gQ2hlY2sgdGhhdCB0aGlzIGJ1dHRvbiBpcyBpbmFjdGl2ZSB1bnRpbCB0aGUgcmVxdWlyZWQgZmllbGRzIGFyZSBmaWxsZWQgb3V0LiBcbkNoZWNrIHRoYXQgY2xpY2tpbmcgb24gdGhlIFwiSW1wb3J0IGJ1dHRvblwiIHRha2VzIHlvdSBiYWNrIHRvIHRoZSBtYWluIHByb2plY3QgcGFnZSBhbmQgdGhhdCB0aGUgaW1wb3J0ZWQgbGF5ZXIsIGFsb25nIHdpdGggYW55IGRlcGVuZGVuY2llcywgd2VyZSBhZGRlZCBpbiB0aGUgcHJvamVjdCdzIGxheWVycy4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJBbGwgbWVudGlvbmVkIGVsZW1lbnRzIHNob3VsZCBiZSBwcmVzZW50IGFuZCBmdW5jdGlvbmFsLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkltcG9ydGluZ19uZXdfbGF5ZXJzIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuTGF5ZXJfZGV0YWlsc19wYWdlOl9VSV9mdW5jdGlvbmFsaXR5X2Zvcl9pbXBvcnRlZF9sYXllcnMiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQWNjZXNzIGEgcHJvamVjdCBwYWdlLCBlaXRoZXIgYnkgY3JlYXRpbmcgYSBuZXcgcHJvamVjdCBvciBhY2Nlc3NpbmcgYW4gZXhpc3RpbmcgcHJvamVjdCBmcm9tIHRoZSBcIkFsbCBidWlsZHNcIiB0YWJsZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIHRoZSBcIlZpZXcgY29tcGF0aWJsZSBsYXllcnNcIiBsaW5rIHNpdHVhdGVkIGluIHRoZSBcIlByb2plY3QgY29uZmlndXJhdGlvblwiIHBvcnRpb24gb2YgdGhlIHBhZ2UsIHVuZGVyIFwiTGF5ZXJzXCIgdGFibGUuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTZWxlY3QgYW4gaW1wb3J0ZWQgbGF5ZXIgKHNlZSBpbiBUQyAxMTEyIGhvdyB0byBpbXBvcnQgYSBsYXllcikuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJQYWdlIGhlYWRpbmcgXG5DaGVjayB0aGF0IHRoZSBwYWdlIGhlYWRpbmcgaW5jbHVkZXMgdGhlIGJyYW5jaCwgdGFnIG9yIGNvbW1pdCBhcyBlbnRlcmVkIHdoZW4gaW1wb3J0aW5nIHRoZSBsYXllci5cbklmIGl0J3MgYSBjb21taXQsIENoZWNrIHRoYXQgb25seSB0aGUgZmlyc3QgMTAgY2hhcmFjdGVycyBhcmUgc2hvd24gZm9sbG93ZWQgYnkgYW4gZWxsaXBzaXMgY2hhcmFjdGVyLiBUaGUgZnVsbCBjb21taXQgc2hvd3Mgb24gaG92ZXIuVGhlIGJyYW5jaCwgdGFnIG9yIGNvbW1pdCBpbmZvcm1hdGlvbiBhbHNvIHNob3dzIGluIHRoZSBicmVhZGNydW1iLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIFwiQWJvdXRcIiBpbmZvcm1hdGlvbiBcbkl0IHNob3dzOiBcbi0gU3VtbWFyeSBcbi0gRGVzY3JpcHRpb24gXG5pbiB0aGlzIG9yZGVyLiBUaG9zZSB0d28gaXRlbXMgYWx3YXlzIHNob3csIGluZGVwZW5kZW50bHkgb2YgdGhlbSBiZWluZyBibGFuayBvciBub3QsIHNpbmNlIHRoZXkgY2FuIGJlIGVkaXRlZCBieSB1c2Vycy4gXG5cbldoZW4gYW4gaW5mb3JtYXRpb24gaXRlbSBpcyBlbXB0eSwgaXQgc2hvd3MgYXMgXCJub3Qgc2V0XCIgd2l0aCBhIFwiY2hhbmdlXCIgaWNvbi4gQ2xpY2sgb24gdGhlIGljb24gdG8gYWRkIGEgdmFsdWUuIFxuXG5Gb3IgXCJTdW1tYXJ5XCIgYW5kIFwiRGVzY3JpcHRpb25cIiBjbGlja2luZyB0aGUgXCJjaGFuZ2VcIiBpY29uIHNob3dzIHRoZSBzZWxlY3RlZCBpbmZvcm1hdGlvbiBpdGVtIGluIGl0cyBlZGl0YWJsZSBzdGF0ZS4gSXQgY29uc2lzdHMgb2YgYSB0ZXh0IGFyZWEsIHNldCB0byAyIHJvd3MgZm9yIHRoZSBcIlN1bW1hcnlcIiBhbmQgdG8gNiByb3dzIGZvciB0aGUgXCJEZXNjcmlwdGlvblwiLCBwbHVzICdzYXZlJyBhbmQgJ2NhbmNlbCcgYnV0dG9ucy4gIFxuVGhlICdzYXZlJyBidXR0b25zIG9ubHkgYWN0aXZhdGUgd2hlbiB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgY2hhcmFjdGVyIGluIHRoZSB0ZXh0IGFyZWEuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJUaGUgdGFicyBcbkNoZWNrIHRoYXQgdGhlIHRhYnMgc2hvd24gYXJlOiBcbi0gXCJMYXllciBkZXRhaWxzXCIgXG4tIFwiUmVjaXBlc1wiIFxuLSBcIk1hY2hpbmVzXCIgXG5UaGUgdGFicyBzaG91bGQgc2hvdyBpbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgbGlzdGVkIGFib3ZlLiBcblxuXCJMYXllciBkZXRhaWxzXCIgdGFiOiBcbkluIG5vdC1lZGl0YWJsZSBwYWdlcywgdGhlIHRhYiBzaG93czogXG4tIEEgYnV0dG9uIHRvIGFkZCAvIHJlbW92ZSB0aGUgbGF5ZXIgdG8gLyBmcm9tIHRoZSBwcm9qZWN0LiBJbiB0aGlzIHRhYiwgdGhlIGJ1dHRvbiBsYWJlbHMgYXJlOiBcblx0LSBcIkFkZCB0aGUgJGxheWVyX25hbWUgbGF5ZXIgdG8geW91ciBwcm9qZWN0XCIgXG5cdC0gXCJEZWxldGUgdGhlICRsYXllcl9uYW1lIGxheWVyIGZyb20geW91ciBwcm9qZWN0XCIgXG5cbi0gU29tZSBkZXRhaWxzIGFib3V0IHRoZSBsYXllcjogcmVwb3NpdG9yeSBVUkwsIHJlcG9zaXRvcnkgc3ViZGlyZWN0b3J5LCByZXZpc2lvbiAoYnJhbmNoIC8gdGFnIC8gY29tbWl0KSBhbmQgdGhlIGxpc3Qgb2YgbGF5ZXIgZGVwZW5kZW5jaWVzLiBUaGlzIGlzIHRoZSBpbmZvcm1hdGlvbiByZXF1aXJlZCBmcm9tIHVzZXJzIHdoZW4gaW1wb3J0aW5nIGEgbGF5ZXIuICBUaGUgc3ViZGlyZWN0b3J5IGFuZCB0aGUgbGF5ZXIgZGVwZW5kZW5jaWVzIGNhbiBiZSBibGFuay4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJZiBibGFuaywgdGhleSBzaG93IGFzIFwibm90IHNldFwiLiBcblxuRWRpdGluZyB0aGUgXCJSZXBvc2l0b3J5IFVSTFwiIFxuVGhlIFwiR2l0IHJlcG9zaXRvcnkgVVJMXCIgY2Fubm90IGJlIGJsYW5rLiBUaGVyZWZvcmUsIHdlIHNob3cgb25seSBhIFwiY2hhbmdlXCIgaWNvbiBuZXh0IHRvIGl0LiBXaGVuIHlvdSBjbGljayB0aGUgaWNvbiwgdGhlIHRleHQgaW5wdXQgZmllbGQgaXMgc2V0IHRvIHRoZSBjdXJyZW50IHZhbHVlLiBJZiB5b3UgZGVsZXRlIHRoZSB2YWx1ZSBmcm9tIHRoZSBpbnB1dCBmaWVsZCwgd2UgZGlzYWJsZSB0aGUgXCJzYXZlXCIgYnV0dG9uLiBXZSBlbmFibGUgaXQgYWdhaW4gd2hlbiB5b3UgdHlwZSBzb21ldGhpbmcgaW4gdGhlIGZpZWxkLiAgXG5cbkVkaXRpbmcgdGhlIFwiUmVwb3NpdG9yeSBzdWJkaXJlY3RvcnlcIiBcblRoZSBcIlJlcG9zaXRvcnkgc3ViZGlyZWN0b3J5XCIgY2FuIGJlIGJsYW5rLiBUaGVyZWZvcmUsIHdlIHNob3cgYm90aCBcImNoYW5nZVwiIGFuZCBcImRlbGV0ZVwiIGljb25zLiBXaGVuIHlvdSBjbGljayB0aGUgXCJkZWxldGVcIiBpY29uLCB3ZSAgXG5zaG93IHRoZSBsYWJlbCBcIk5vdCBzZXRcIi4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJcbldoZW4geW91IGNsaWNrIHRoZSBcImNoYW5nZVwiIGljb24sIHRoZSB0ZXh0IGlucHV0IGZpZWxkIGlzIHNldCBcbnRvIHRoZSBjdXJyZW50IHZhbHVlLiAgXG5JZiB5b3UgZGVsZXRlIHRoZSB2YWx1ZSBmcm9tIHRoZSBpbnB1dCBmaWVsZCwgd2UgZGlzYWJsZSB0aGUgXCJzYXZlXCIgYnV0dG9uLiBXZSBlbmFibGUgaXQgYWdhaW4gd2hlbiB5b3UgdHlwZSBzb21ldGhpbmcgaW4gdGhlIGZpZWxkLiBcbiBcblxuRWRpdGluZyB0aGUgXCJSZXZpc2lvblwiIFxuVGhlIFwiUmV2aXNpb25cIiBjYW5ub3QgYmUgYmxhbmsuIFRoZXJlZm9yZSwgd2Ugc2hvdyBvbmx5IGEgXCJjaGFuZ2VcIiBpY29uIG5leHQgdG8gaXQuIFdoZW4geW91IGNsaWNrIHRoZSBpY29uLCB0aGUgdGV4dCBpbnB1dCBmaWVsZCBpcyBzZXQgdG8gdGhlIGN1cnJlbnQgdmFsdWUuIElmIHlvdSBkZWxldGUgdGhlIHZhbHVlIGZyb20gdGhlIGlucHV0IGZpZWxkLCB3ZSBkaXNhYmxlIHRoZSBcInNhdmVcIiBidXR0b24uIFdlIGVuYWJsZSBpdCBhZ2FpbiB3aGVuIHlvdSB0eXBlIHNvbWV0aGluZyBpbiB0aGUgZmllbGQuIFxuXG5UaGUgXCJSZWNpcGVzXCIgdGFiIFxuSXQgc2hvd3M6IFxuMTogQSBjb3VudGVyIGluIHRoZSB0YWIgbGFiZWwgc2hvd2luZyB0aGUgdG90YWwgbnVtYmVyIG9mIHRhcmdldHMgcHJvdmlkZWQgYnkgdGhlIGxheWVyIFxuMjogQSBidXR0b24gdG8gYWRkL3JlbW92ZSB0aGUgbGF5ZXIgdG8vZnJvbSB0aGUgcHJvamVjdC4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI5IjogeworICAgICAgICAgICJhY3Rpb24iOiAiSW4gdGhpcyB0YWIsIHRoZSBidXR0b24gbGFiZWxzIGFyZSBcbiBcblwiQWRkIHRoZSAkbGF5ZXJfbmFtZSBsYXllciB0byB5b3VyIHByb2plY3QgdG8gZW5hYmxlIFxudGhlc2UgdGFyZ2V0c1wiIFxuXCJEZWxldGUgdGhlICRsYXllcl9uYW1lIGxheWVyIGZyb20geW91ciBwcm9qZWN0XCIgXG5cbjM6IEEgXCJSZWNpcGVzXCIgdGFibGUgd2l0aCB0aGUgZm9sbG93aW5nIGNvbHVtbnM6IFxuIFxuLSBSZWNpcGUgXG4tIERlc2NyaXB0aW9uOiB0aGUgdmFsdWUgb2YgdGhlIERFU0NSSVBUSU9OIHZhcmlhYmxlLiBJZiBub3Qgc2V0LCB0aGVuIHRoZSB2YWx1ZSBvZiB0aGUgU1VNTUFSWSB2YXJpYWJsZS4gXG4tIEJ1aWxkIHJlY2lwZSwgd2hpY2ggc2hvd3MgYSBcImJ1aWxkIHJlY2lwZVwiIGJ1dHRvbi4gVGhlIFwiYnVpbGQgcmVjaXBlXCIgYnV0dG9uIGlzIGRpc2FibGVkIHdoZW4gdGhlIGxheWVyIGlzIG5vdCBhZGRlZCB0byB0aGUgcHJvamVjdC4gXG5UaGUgcmVjaXBlcyB0YWJsZSBpcyBzb3J0ZWQgYnkgXCJSZWNpcGVcIiBpbiBhc2NlbmRpbmcgYWxwaGFiZXRpY2FsIG9yZGVyLiBcblxuVGhlIFwiTWFjaGluZXNcIiB0YWI6IFxuSXQgc2hvd3M6IFxuMTogQSBjb3VudGVyIGluIHRoZSB0YWIgbGFiZWwgc2hvd2luZyB0aGUgdG90YWwgbnVtYmVyIG9mIG1hY2hpbmVzIHByb3ZpZGVkIGJ5IHRoZSBsYXllciBcbjI6IEEgYnV0dG9uIHRvIGFkZC9yZW1vdmUgdGhlIGxheWVyIHRvL2Zyb20gdGhlIHByb2plY3QuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxMCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkluIHRoaXMgdGFiLCB0aGUgYnV0dG9uIGxhYmVscyBhcmUgXG4gXG5cdC0gXCJBZGQgdGhlICRsYXllcl9uYW1lIGxheWVyIHRvIHlvdXIgcHJvamVjdCB0byBlbmFibGUgdGhlc2UgbWFjaGluZXNcIiBcblx0LSBcIkRlbGV0ZSB0aGUgJGxheWVyX25hbWUgbGF5ZXIgZnJvbSB5b3VyIHByb2plY3RcIiBcbjM6IEEgXCJtYWNoaW5lc1wiIHRhYmxlIHdpdGggdGhlIGZvbGxvd2luZyBjb2x1bW5zOiAgXG4tIE1hY2hpbmUuIFxuIFxuLSBEZXNjcmlwdGlvbjogVGhlIHZhbHVlIG9mIHRoZSBERVNDUklQVElPTiB2YXJpYWJsZSBpbiB0aGUgLmNvbmYgZmlsZSBcbi0gU2VsZWN0IG1hY2hpbmUsIHdoaWNoIHNob3dzIGEgXCJzZWxlY3RcIiBidXR0b24uIFRoZSBcInNlbGVjdFwiIGJ1dHRvbiBpcyBkaXNhYmxlZCB3aGVuIHRoZSBsYXllciBpcyBub3QgYWRkZWQgdG8gdGhlIHByb2plY3QuIFxuVGhlIG1hY2hpbmVzIHRhYmxlIGlzIHNvcnRlZCBieSBcIk1hY2hpbmVcIiBpbiBhc2NlbmRpbmcgYWxwaGFiZXRpY2FsIG9yZGVyLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkFsbCBtZW50aW9uZWQgZWxlbWVudHMgc2hvdWxkIGJlIHByZXNlbnQgYW5kIGZ1bmN0aW9uYWwuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiTGF5ZXJfZGV0YWlsc19wYWdlOl9VSV9mdW5jdGlvbmFsaXR5X2Zvcl9pbXBvcnRlZF9sYXllcnMiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5NdWx0aXBsZV9idWlsZF9kaXJlY3RvcmllcyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogImFmdGVyIHN0YXJ0aW5nIFRvYXN0ZXIgZm9yIHRoZSBmaXJzdCB0aW1lLCBnbyB0byBodHRwOi8vW2xvY2FsaG9zdF06ODAwMC9hZG1pbi8gYW5kIGxvZ2luIHdpdGggdGhlIGFkbWluIHVzZXIgeW91IGNyZWF0ZWQgZHVyaW5nIHNldHVwLiBDbGljayBvbiB0aGUgQnVpbGQgZW52aXJvbm1lbnRzIHNlY3Rpb24sIGFuZCBvbiB0aGUgQnVpbGRFbnZpcm9ubWVudCBvYmplY3QuIFxuXG5cblxuTm90ZTogeW91IGNhbiBjcmVhdGUgYSBzdXBlcnVzZXIgdG8gZW50ZXIgYXMgYWRtaW4gd2l0aCAuLi4gcG9reS9iaXRiYWtlL2xpYi90b2FzdGVyL21hbmFnZS5weSBjcmVhdGVzdXBlcnVzZXIgXG5cblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAibWFrZSBub3RlIG9mIHRoZSBcInNvdXJjZWRpclwiIGFuZCBcImJ1aWxkZGlyXCIgdmFsdWVzLiBUaGUgYnVpbGQgZGlyIHdpbGwgYmUgc29tZXRoaW5nIGxpa2UgXCIvaG9tZS91c2VyL3BhdGgvYnVpbGRcIiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIGNsaWNrIFwiYmFja1wiLCBhbmQgY2xpY2sgb24gdGhlIFwiQWRkIGJ1aWxkIGVudmlyb25tZW50XCIgYnV0dG9uIGluIHRoZSB1cHBlciByaWdodCBjb3JuZXIuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJlbnRlciBBZGRyZXNzIFwiMlwiLCBCZXR5cGU6IFwibG9jYWxcIiwgXCJzb3VyY2VkaXJcIiBpcyB0byBiZSBzZXQgdG8gd2hhdGV2ZXIgdGhlIG9yaWdpbmFsIGJ1aWxkIGVudiBpcyBzZXQsIGFuZCBcImJ1aWxkZGlyXCIgaXMgQU5PVEhFUiBwYXRoIGF0IHRoZSBzYW1lIGxldmVsIGFzIHRoZSBvcmlnaW5hbCBidWlsZGRpciAtIGUuZy4gXCIvaG9tZS91c2VyL3BhdGgvYnVpbGQyXCIgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIHNhdmUgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkV4ZWN1dGUgY29tbWFuZCA6IC9wb2t5JCBzb3VyY2Ugb2UtaW5pdC1idWlsZC1lbnYgYnVpbGQyIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDcmVhdGUgbmV3IHByb2plY3QgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogImlzc3VlIDIgYnVpbGQgKGUuZy4gY29yZS1pbWFnZS1taW5pbWFsIGNvcmUtaW1hZ2Utc2F0bylcblxuXG5cblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkJvdGggYnVpbGQgY29tbWFuZHMgc2hvdWxkIHJ1biBzaW11bHRhbmVvdXNseS4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJNdWx0aXBsZV9idWlsZF9kaXJlY3RvcmllcyIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlJ1bl9hZ2Fpbl9idXR0b25fZnJvbV9hbGxfYnVpbGRzX3BhZ2VfbXVzdF9ydW5fdGhlX3NwZWNpZmllZF90YXNrIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IFRvYXN0ZXIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJUb2FzdGVyIHN0YXJ0cy4gXG4iCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gbmV3IHByb2plY3QgYnV0dG9uLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIE9wZW4gY3JlYXRlIGEgbmV3IHByb2plY3QgcGFnZS4gXG4iCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiRW50ZXIgYSBwcm9qZWN0IG5hbWUsIHNlbGVjdCBhIHJlbGVhc2UgYW5kIGNsaWNrIG9uIGNyZWF0ZSBwcm9qZWN0IG9yIHNlbGVjdCBhbiBleGlzdGluZyBwcm9qZWN0LiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIFByb2plY3QgQ3JlYXRlZC4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQnVpbGQgYSBpbWFnZSB0YXNrIChleDogY29yZS1pbWFnZS1taW5pbWFsOmNsZWFuKSBhbmQgd2FpdCB1bnRpbCBidWlsZCBmaW5pc2guXG5mcm9tIGFsbCBidWlsZCBwYWdlLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIEJ1aWxkIHRhc2sgZmluaXNoZXMgc3VjY2Vzc2Z1bGx5LiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiByZWJ1aWxkIGJ1dHRvbiBmcm9tIGFsbCBidWlsZCBwYWdlLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiU3BlY2lmaWVkIHRhc2sgd2lsbCBydW4gYWdhaW4uIFxuIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIHRoZSBidWlsZCBhbmQgdmVyaWZ5IGlmIHRoZSBudW1iZXIgb2YgdGFza3MgZXhlY3V0ZWQgPSAxLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT25seSB0aGUgc3BlY2lmaWVkIHRhc2sgaXMgZXhlY3V0ZWQuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkZyb20gcHJvamVjdCBidWlsZHMgcGFnZSBjbGljayBvbiBydW4gYWdhaW4gYnV0dG9uLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiU3BlY2lmaWVkIHRhc2sgd2lsbCBydW4gYWdhaW4uXG4iCisgICAgICAgIH0sCisgICAgICAgICI4IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gdGhlIGJ1aWxkIGFuZCB2ZXJpZnkgaWYgdGhlIG51bWJlciBvZiB0YXNrcyBleGVjdXRlZCA9IDEuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJSdW5fYWdhaW5fYnV0dG9uX2Zyb21fYWxsX2J1aWxkc19wYWdlX211c3RfcnVuX3RoZV9zcGVjaWZpZWRfdGFzayIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLkludGVsX2xheWVyc19idWlsZHMiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgVG9hc3Rlci4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRvYXN0ZXIgc3RhcnRzLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBuZXcgcHJvamVjdCBidXR0b24uIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIGNyZWF0ZSBhIG5ldyBwcm9qZWN0IHBhZ2UuIFxuIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkVudGVyIGEgcHJvamVjdCBuYW1lLCBzZWxlY3QgYSByZWxlYXNlIGFuZCBjbGljayBvbiBjcmVhdGUgcHJvamVjdC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlByb2plY3QgQ3JlYXRlZC4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gbGF5ZXJzIHRhYi4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk9wZW4gY29tcGF0aWJsZSBsYXllcnMgcGFnZS4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiU2VhcmNoIGZvciBpbnRlbC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlJldHVybiByZXN1bHRzIFxuIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkFkZCBpbnRlbCBsYXllcnMgbGlrZTogbWV0YS1pbnRlbCwgbWV0YS1pbnRlbC1xdWFyay4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkxheWVycyBhZGRlZCB0byBwcm9qZWN0LiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiB0aGUgYWRkZWQgbGF5ZXIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIGxheWVyIHBhZ2UuIFxuIgorICAgICAgICB9LAorICAgICAgICAiOCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkZyb20gbWFjaGluZSB0YWIsIHNlbGVjdCBhIG1hY2hpbmUuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJNYWNoaW5lIGhhcyBjaGFuZ2VkLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjkiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCBhIHJlY2lwZShjb3JlLWltYWdlLW1pbmltYWwpIG9yIGEgcmVjaXBlIGZyb20gcmVjaXBlIHRhYi4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkJ1aWxkIGZpbmlzaGVzIHN1Y2Nlc3NmdWxseS4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJJbnRlbF9sYXllcnNfYnVpbGRzIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuRG93bmxvYWRfb3RoZXJfYXJ0aWZhY3RzIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkRlbGV0ZSB0aGUgYnVpbGQvdG1wIGZvbGRlci4gKHRvIG1ha2Ugc3VyZSB0aGUgcm9vdGZzIHRhc2sgcnVucyBhbmQgb3RoZXIgYXJ0aWZhY3RzIGFyZSBnZW5lcmF0ZWQgZm9yIHRoZSBidWlsZCkiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCBUb2FzdGVyLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVG9hc3RlciBzdGFydHMuIFxuXHQiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gbmV3IHByb2plY3QgYnV0dG9uLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBjcmVhdGUgYSBuZXcgcHJvamVjdCBwYWdlLiBcblx0IgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkVudGVyIGEgcHJvamVjdCBuYW1lLCBzZWxlY3QgYSByZWxlYXNlIGFuZCBjbGljayBvbiBjcmVhdGUgcHJvamVjdC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlByb2plY3QgQ3JlYXRlZC4gXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCBhbiBpbWFnZSByZWNpcGUgKGV4OiBjb3JlLWltYWdlLW1pbmltYWwpIGFuZCB3YWl0IHVudGlsIGJ1aWxkIGZpbmlzaC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkJ1aWxkIGZpbmlzaGVzIHN1Y2Nlc3NmdWxseS4gXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiB0aGUgYnVpbHQgcmVjaXBlLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBidWlsZCBzdW1tYXJ5IHBhZ2UuIFxuXHQiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiRnJvbSBvdGhlciBhcnRpZmFjdHMgdGFiIGNsaWNrIG9uIGEgbGluay4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIllvdSBjYW4gZG93bmxvYWQgb3RoZXIgYXJ0aWZhY3RzLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkRvd25sb2FkX290aGVyX2FydGlmYWN0cyIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLkRvd25sb2FkX2xpY2VuY2VfbWFuaWZlc3QiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiRGVsZXRlIHRoZSBidWlsZC90bXAgZm9sZGVyLiAodG8gbWFrZSBzdXJlIGxpY2Vuc2UgbWFuaWZlc3QgaXMgZ2VuZXJhdGVkKSIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IFRvYXN0ZXIgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVG9hc3RlciBzdGFydHMuIFxuIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIG5ldyBwcm9qZWN0IGJ1dHRvbi4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBjcmVhdGUgYSBuZXcgcHJvamVjdCBwYWdlLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJFbnRlciBhIHByb2plY3QgbmFtZSwgc2VsZWN0IGEgcmVsZWFzZSBhbmQgY2xpY2sgb24gY3JlYXRlIHByb2plY3QuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlByb2plY3QgQ3JlYXRlZC4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQnVpbGQgYW4gaW1hZ2UgcmVjaXBlIChleDogY29yZS1pbWFnZS1taW5pbWFsKSBhbmQgd2FpdCB1bnRpbCBidWlsZCBmaW5pc2guIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkJ1aWxkIGZpbmlzaGVzIHN1Y2Nlc3NmdWxseS4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gdGhlIGJ1aWx0IHJlY2lwZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBidWlsZCBzdW1tYXJ5IHBhZ2UuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkZyb20gSW1hZ2UgdGFiIGNsaWNrIG9uIFwiRG93bmxvYWRcIiBidXR0b24gZm9yIExpY2Vuc2UgbWFuaWZlc3QuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJZb3UgY2FuIGRvd25sb2FkIGxpY2Vuc2UgbWFuaWZlc3QuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiRG93bmxvYWRfbGljZW5jZV9tYW5pZmVzdCIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlRlc3RfZGVwZW5kZW5jaWVzX2xheWVycyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCBUb2FzdGVyLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVG9hc3RlciBzdGFydHMuIFxuIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIG5ldyBwcm9qZWN0IGJ1dHRvbi4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk9wZW4gY3JlYXRlIGEgbmV3IHByb2plY3QgcGFnZS4gXG4iCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiRW50ZXIgYSBwcm9qZWN0IG5hbWUsIHNlbGVjdCBhIHJlbGVhc2UgYW5kIGNsaWNrIG9uIGNyZWF0ZSBwcm9qZWN0LiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiUHJvamVjdCBDcmVhdGVkLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBMYXllcnMuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIGNvbXBhdGlibGUgbGF5ZXJzIHBhZ2UuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkFkZCBhIGxheWVyIHdpdGggbXVsdGktbGV2ZWwgZGVwZW5kZW5jaWVzLiAoZXg6IG1ldGEtYWNlcikgXG5UaGlzIGxheWVyIGRlcGVuZHMgb24gbWV0YS1uZXR3b3JraW5nLCB3aGljaCBpbiB0dXJuIGRlcGVuZHMgb24gbWV0YS1hbmRyb2lkLiBcbiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVGhlIHNlbGVjdGVkIGxheWVyIGFuZCBkZXBlbmRlbmNpZXMgd2VyZSBhZGRlZCB0byBwcm9qZWN0LiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayBpZiBtZXRhLXB5dGhvbiBhcHBlYXJzIGluIHRoZSBkZXBlbmRlbmNpZXMgbGlzdCwgYW5kIGFkZCB0aGUgbGF5ZXJzIHRvIHByb2plY3QuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiRGVsZXRlIGEgZGVwZW5kZW5jeSBsYXllci4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkxheWVyIHJlbW92ZWQgZnJvbSBwcm9qZWN0LiBcbiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCBhIHJlY2lwZSAoZXg6IGNvcmUtaW1hZ2UtbWluaW1hbCkgYW5kIHdhaXQgdW50aWwgYnVpbGQgZmluaXNoLlxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJCdWlsZCB3aWxsIGZhaWwgd2l0aCBhbiBlcnJvci5cblxuXHQiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJUZXN0X2RlcGVuZGVuY2llc19sYXllcnMiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5UZXN0X2J1aWxkX3JlY2lwZV9idXR0b25fZnJvbV9yZWNpcGVzX3BhZ2UiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgVG9hc3Rlci4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRvYXN0ZXIgc3RhcnRzLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBuZXcgcHJvamVjdCBidXR0b24uIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIGNyZWF0ZSBhIG5ldyBwcm9qZWN0IHBhZ2UuIFxuIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkVudGVyIGEgcHJvamVjdCBuYW1lLCBzZWxlY3QgYSByZWxlYXNlIGFuZCBjbGljayBvbiBjcmVhdGUgcHJvamVjdC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlByb2plY3QgQ3JlYXRlZC4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gc29mdHdhcmUgcmVjaXBlcyAvIGltYWdlIHJlY2lwZXMuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIGNvbXBhdGlibGUgc29mdHdhcmUgcmVjaXBlcyBwYWdlLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTZWxlY3QgYSByZWNpcGUgYW5kIGNsaWNrIG9uICdhZGQgbGF5ZXInIGJ1dHRvbi4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkxheWVyIGFkZGVkIHRvIHByb2plY3QgYW5kIHRoZSAnYWRkIGxheWVyJyBidXR0b24gYmVjb21lcyAnYnVpbGQgcmVjaXBlJy4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gXCJCdWlsZCByZWNpcGVcIiBidXR0b24gZm9yIG9uZSByZWNpcGUgKGV4IDogY29yZS1pbWFnZS1taW5pbWFsIC8gYnVzeWJveCkuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJCdWlsZCBmaW5pc2hlcyBzdWNjZXNzZnVsbHkuIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlRlc3QgdGhpcyBmb3Igc29mdHdhcmUgYW5kIGltYWdlIHJlY2lwZXMgdGFibGVzLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiVGVzdF9idWlsZF9yZWNpcGVfYnV0dG9uX2Zyb21fcmVjaXBlc19wYWdlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuVGVzdF9jb21wYXRpYmxlX21hY2hpbmVzIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IFRvYXN0ZXIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJUb2FzdGVyIHN0YXJ0cy4gXG4iCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gbmV3IHByb2plY3QgYnV0dG9uLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBjcmVhdGUgYSBuZXcgcHJvamVjdCBwYWdlLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJFbnRlciBhIHByb2plY3QgbmFtZSwgc2VsZWN0IGEgbWFzdGVyIHJlbGVhc2UgYW5kIGNsaWNrIG9uIGNyZWF0ZSBwcm9qZWN0LiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiUHJvamVjdCBDcmVhdGVkLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJHbyB0byBtYWNoaW5lcyBwYWdlLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBjb21wYXRpYmxlIG1hY2hpbmVzIHBhZ2UuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNob29zZSBhIG1hY2hpbmUgYW5kIGNsaWNrIG9uIGFkZCBsYXllciBmb3IgaXQuIChpbnRlbC1jb3JlMi0zMikiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkxheWVycyBhZGRlZCB0byBwcm9qZWN0IGFuZCBhZGQgbGF5ZXIgYnV0dG9uIGJlY29tZXMgc2VsZWN0IG1hY2hpbmUuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIHNlbGVjdCBtYWNoaW5lLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTWFjaGluZSBoYXMgY2hhbmdlZC4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiR28gdG8gbGF5ZXIgcGFnZSB0aGF0IGdlbmVyYXRlIHRoZSBtYWNoaW5lLiAobWV0YS1pbnRlbCkiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk9wZW4gbGF5ZXIgcGFnZSBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCBhIHJlY2lwZSBnZW5lcmF0ZWQgYnkgdGhhdCBsYXllci4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkJ1aWxkIGZpbmlzaGVzIHN1Y2Nlc3NmdWxseS4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJUZXN0X2NvbXBhdGlibGVfbWFjaGluZXMiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5CdWlsZHNfd2l0aF9kaWZmZXJlbnRfbWFjaGluZXMiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgVG9hc3Rlci4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRvYXN0ZXIgc3RhcnRzLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBuZXcgcHJvamVjdCBidXR0b24uIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIGNyZWF0ZSBhIG5ldyBwcm9qZWN0IHBhZ2UuIFxuIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkVudGVyIGEgcHJvamVjdCBuYW1lLCBzZWxlY3QgYSBtYXN0ZXIgcmVsZWFzZSBhbmQgY2xpY2sgb24gY3JlYXRlIHByb2plY3QuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJQcm9qZWN0IENyZWF0ZWQuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlbGVjdCBhIG1hY2hpbmUgKGV4OiBxZW11eDg2LTY0KSIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVGhlIG1hY2hpbmUgaGFzIGNoYW5nZWQuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkJ1aWxkIGEgcmVjaXBlIChleDogY29yZS1pbWFnZS1taW5pbWFsKSBhbmQgd2FpdCB1bnRpbCBidWlkIGZpbmlzaC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkJ1aWxkIGZpbmlzaGVzIHN1Y2Nlc3NmdWxseS4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiR28gdG8gcHJvamVjdCBwYWdlIGFuZCBjaGFuZ2UgdGhlIG1hY2hpbmUgKGV4OiBxZW11bWlwcykiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRoZSBtYWNoaW5lIGhhcyBjaGFuZ2VkLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCBhIHJlY2lwZSAoZXg6IGNvcmUtaW1hZ2Utc2F0bykgYW5kIHdhaXQgdW50aWwgYnVpbGQgZmluaXNoLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQnVpbGQgZmluaXNoZXMgc3VjY2Vzc2Z1bGx5LiBcblxuWW91IGNhbiBidWlsZCByZWNpcGVzIHdpdGggZGlmZmVyZW50IG1hY2hpbmVzLiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayBvbiBidWlsZCBzdW1tYXJ5IHBhZ2UgdGhhdCB0aGUgbWFjaGluZSBtYXRjaCB0aGUgbWFjaGluZSBzZWxlY3RlZC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkJ1aWxkc193aXRoX2RpZmZlcmVudF9tYWNoaW5lcyIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlRlc3RfYml0YmFrZV92YXJpYWJsZXNfLV9JTUFHRV9GU1RZUEVTIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IFRvYXN0ZXIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJUb2FzdGVyIHN0YXJ0cy4gXG4iCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gbmV3IHByb2plY3QgYnV0dG9uLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBjcmVhdGUgYSBuZXcgcHJvamVjdCBwYWdlLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJFbnRlciBhIHByb2plY3QgbmFtZSwgc2VsZWN0IHJlbGVhc2UgYW5kIGNsaWNrIG9uIGNyZWF0ZSBwcm9qZWN0LiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiUHJvamVjdCBDcmVhdGVkLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJHbyB0byBDb25maWd1cmF0aW9uIC0tPiBCaXRCYWtlIHZhcmlhYmxlcyIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBCaXRiYWtlIHZhcmlhYmxlcyBwYWdlLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGFuZ2UgSU1BR0VfRlNUWVBFUyB2YXJpYWJsZSwgYWRkIHNvbWUgaW1hZ2UgdHlwZXMgbGlrZTogaGRkaW1nLCBleHQ0LCBldGMuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJJbWFnZSB0eXBlcyB3ZXJlIGFkZGVkLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCBhIHJlY2lwZSAoZXg6IGNvcmUtaW1hZ2UtbWluaW1hbCkgYW5kIHdhaXQgdW50aWwgYnVpbGQgZmluaXNoLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQnVpbGQgZmluaXNoZXMgc3VjY2Vzc2Z1bGx5LiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJWZXJpZnkgaW4gdGhlIGJ1aWxkIHN1bW1hcnkgcGFnZSBpZiB0aGUgaW1hZ2UgdHlwZXMgc2VsZWN0ZWQgd2VyZSBidWlsdC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkFsbCB0aGUgaW1hZ2UgdHlwZXMgc2VsZWN0ZWQgYXBwZWFycyBpbiB0aGUgYnVpbGQgc3VtbWFyeSBwYWdlLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlRlc3RfYml0YmFrZV92YXJpYWJsZXNfLV9JTUFHRV9GU1RZUEVTIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuU29mdHdhcmVfcmVjaXBlczpfZGVmYXVsdF92aWV3IiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBBY2Nlc3MgYSBwcm9qZWN0IHBhZ2UsIGVpdGhlciBieSBjcmVhdGluZyBhIG5ldyBwcm9qZWN0IG9yIGFjY2Vzc2luZyBhbiBleGlzdGluZyBwcm9qZWN0IGZyb20gdGhlIFwiQWxsIGJ1aWxkc1wiIHRhYmxlLiBcblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgSWYgbm8gaW1hZ2VzIGV4aXN0IGluIHRoZSBwcm9qZWN0LCBidWlsZCBhbiBpbWFnZSBieSBpbnNlcnRpbmcgXCJjb3JlLWltYWdlLW1pbmltYWxcIiBpbiB0aGUgXCJSZWNpcGVzXCIgZmllbGQgYW5kIHByZXNzIHRoZSBcIkJ1aWxkXCIgYnV0dG9uLiBXYWl0IGZvciB0aGUgaW1hZ2UgdG8gZmluaXNoIGJ1aWxkaW5nLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiT24gdGhlIHByb2plY3QgcGFnZSBjbGljayBvbiB0aGUgXCJTb2Z0d2FyZSBSZWNpcGVzXCIgbGluayBzaXR1YXRlZCBpbiB0aGUgbGVmdC1oYW5kZWQgc2lkZSBvZiB0aGUgcGFnZSwgdW5kZXIgdGhlIFwiUHJvamVjdCBjb25maWd1cmF0aW9uXCIgbWVudXMsIGluIHRoZSBcIkNPTVBBVElCTEUgTUVUQURBVEFcIiB0YWJsZS4gXG5cblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCBcIkNvbXBhdGlibGUgc29mdHdhcmUgcmVjaXBlc1wiIHRhYmxlIGlzIHBvcHVsYXRlZC4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdGhlIGZvbGxvd2luZyBjb2x1bW5zIGFyZSBzaG93biBieSBkZWZhdWx0OiBcblxuXHRcdFNvZnR3YXJlIHJlY2lwZSBcblx0XHREZXNjcmlwdGlvbiBcbiBcblx0XHRMYXllciBcblx0XHRCdWlsZCBcblx0XHQgICAgIFZlcnNpb24gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJTb2Z0d2FyZV9yZWNpcGVzOl9kZWZhdWx0X3ZpZXciCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5Tb2Z0d2FyZV9yZWNpcGVzOl9zb3J0aW5nX3RoZV9jb250ZW50X29mX3RoZV9zb2Z0d2FyZV9yZWNpcGVzX3RhYmxlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkFjY2VzcyBhIHByb2plY3QgcGFnZSwgZWl0aGVyIGJ5IGNyZWF0aW5nIGEgbmV3IHByb2plY3Qgb3IgYWNjZXNzaW5nIGFuIGV4aXN0aW5nIHByb2plY3QgZnJvbSB0aGUgXCJBbGwgYnVpbGRzXCIgdGFibGUuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJOYXZpZ2F0ZSB0byB0aGUgXCJTb2Z0d2FyZSBSZWNpcGVzXCIgcGFnZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk1ha2Ugc3VyZSB0aGUgdGFibGUgaXMgc29ydGVkIG9uIHRoZSBcIlNvZnR3YXJlIFJlY2lwZVwiIGNvbHVtbiBieSBkZWZhdWx0IGluIGFzY2VuZGluZyBvcmRlci4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkFjdGl2YXRlIGFsbCBjb2x1bW5zIGZyb20gdGhlIFwiRWRpdCBjb2x1bW5cIiBkcm9wLWRvd24gbWVudS4gQ2hlY2sgdGhhdCBcIkJ1aWxkXCIgYW5kIFwiU29mdHdhcmUgUmVjaXBlXCIgY29sdW1ucyBjYW5ub3QgYmUgdW5jaGVja2VkLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCBcIlNvZnR3YXJlIFJlY2lwZVwiLCBcIlNlY3Rpb25cIiwgXCJMaWNlbnNlXCIsIFwiTGF5ZXJcIiBhcmUgdGhlIG9ubHkgc29ydGFibGUgdGFibGUgaGVhZHMuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTb3J0IHRoZSB0YWJsZSBieSBcIkxheWVyXCIgYW5kIHRoZW4gbmF2aWdhdGUgYXdheSBieSBzZWxlY3RpbmcgYSBsYXllcihzdWNoIGFzIG1ldGEteW9jdG8pLiBXaGVuIHlvdSBjbGljayBcImJhY2tcIiBidXR0b24gaW4gd2ViLWJyb3dzZXIgdG8gZ28gYmFjayB0byB0aGUgXCJDb21wYXRpYmxlIGltYWdlIHJlY2lwZXNcIiB0YWJsZSBpdCBzaG91bGQgc3RpbGwgYmUgc29ydGVkIGJ5IFwiTGF5ZXJcIi4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNvcnRpbmcgYW5kIFwiRWRpdCBjb2x1bW5zXCIgXG5JZiB5b3UgdXNlIHRoZSBcIkVkaXQgY29sdW1uc1wiIG1lbnUgdG8gaGlkZSB0aGUgY29sdW1uIHdpdGggdGhlIGFwcGxpZWQgc29ydGluZywgd2UgcmV2ZXJ0IHRoZSBzb3J0aW5nIHRvIHRoZSBkZWZhdWx0IHNvcnRpbmcgKGkuZS4gXCJSZWNpcGVcIikuIFRoZSBkZWZhdWx0IHNvcnRpbmcgYWx3YXlzIHVzZXMgb25lIG9mIHRoZSBjb3JlIGNvbHVtbnMsIHdoaWNoIGNhbm5vdCBiZSBoaWRkZW4gdXNpbmcgdGhlIFwiRWRpdCBjb2x1bW5zXCIgbWVudS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNvcnRpbmcgYW5kIHNlYXJjaCBcblNlYXJjaGluZyBzaG91bGQgaGF2ZSBubyBpbXBhY3Qgb24gdGhlIGFwcGxpZWQgc29ydGluZy4gQW55IHJlc3VsdHMgcmV0dXJuZWQgc2hvdWxkIGJlIHNvcnRlZCBieSB0aGUgc29ydGluZyBjcml0ZXJpYSBzZWxlY3RlZCB3aGVuIHRoZSBzZWFyY2ggcXVlcnkgd2FzIHN1Ym1pdHRlZC4gXG5Tb3J0IHJlY2lwZXMgYnkgXCJMYXllclwiIGNvbHVtbiBoZWFkaW5nLiBJbnB1dCBhIHN0cmluZyAoc3VjaCBhcyBcIm1ldGFcIikgaW4gc2VhcmNoIGJveCBhbmQgY2xpY2sgc2VhcmNoIGJ1dHRvbi4gTWFrZSBzdXJlIHJlc3VsdHMgcmV0dXJuZWQgYXJlIHNvcnRlZCBieSBcIkxheWVyXCIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJTb2Z0d2FyZV9yZWNpcGVzOl9zb3J0aW5nX3RoZV9jb250ZW50X29mX3RoZV9zb2Z0d2FyZV9yZWNpcGVzX3RhYmxlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuU29mdHdhcmVfcmVjaXBlczpfU2VhcmNoaW5nX3RoZV9jb250ZW50X29mX3RoZV9zb2Z0d2FyZV9yZWNpcGVzX3RhYmxlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkFjY2VzcyBhIHByb2plY3QgcGFnZSwgZWl0aGVyIGJ5IGNyZWF0aW5nIGEgbmV3IHByb2plY3Qgb3IgYWNjZXNzaW5nIGFuIGV4aXN0aW5nIHByb2plY3QgZnJvbSB0aGUgXCJBbGwgYnVpbGRzXCIgdGFibGUuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJOYXZpZ2F0ZSB0byB0aGUgXCJTb2Z0d2FyZSBSZWNpcGVzXCIgcGFnZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdGhlIHNlYXJjaCBpcyBtYWRlIG9mIGEgdGV4dCBpbnB1dCBmaWVsZCBhbmQgYSBcIlNlYXJjaFwiIGJ1dHRvbiBpbiBhIHRvb2xiYXIgYWJvdmUgdGhlIHRhYmxlLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiV2hlbiBubyBzZWFyY2ggcXVlcnkgaGFzIGJlZW4gZW50ZXJlZCwgd2UgaGF2ZSBwbGFjZWhvbGRlciB0ZXh0IHNheWluZzogXCJTZWFyY2ggY29tcGF0aWJsZSBzb2Z0d2FyZSByZWNpcGVzXCIuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbnB1dCBcImNvcmVcIiBpbiB0aGUgdGV4dCBpbnB1dCBmaWVsZC4gVGhlIHBsYWNlaG9sZGVyIHRleHQgZGlzYXBwZWFycyB3aGVuIHRoZSBmaXJzdCBjaGFyYWN0ZXIgaXMgdHlwZWQuIENsaWNrIHNlYXJjaCBidXR0b24uIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgXG4oMSkgcmV0dXJuZWQgcmVzdWx0cyBcblRoZSBzZWFyY2ggc3RyaW5nIGlzIGtlcHQgaW4gdGhlIHRleHQgaW5wdXQgZmllbGQuIFRoZSByZXN1bHRzIHJldHVybmVkIG9jY3VyLiBDbGljayAgXCJDbGVhciBzZWFyY2hcIiBpY29uIHRvIGNsZWFyIHRoZSBzZWFyY2ggYW5kIGRpc3BsYXkgdGhlIGNvbXBhdGlibGUgcmVjaXBlcy4gXG4oMikgbm8gcmVzdWx0cyByZXR1cm5lZCBcbklmIHlvdXIgc2VhcmNoIHF1ZXJ5IHJldHVybnMgbm8gcmVzdWx0cywgdGhlIHBhZ2UgaGVhZGluZyBjaGFuZ2VzIHRvIFwiTm8gcmVjaXBlcyBmb3VuZFwiLCBhbmQgd2Ugc2hvdyB5b3UgYW4gYWxlcnQgd2l0aCBhIHNlYXJjaCBmb3JtIGFuZCBhbiBvcHRpb24gdG8gc2hvdyBhbGwgdGFyZ2V0cy4gQ2hlY2sgdGhhdCBcInNob3cgY29tcGF0aWJsZSByZWNpcGVzXCIgYnV0dG9uIGlzIGF2YWlsYWJsZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIldoZW4gSSBydW4gYSBzZWFyY2gsIHRoZSBzZWFyY2ggaGFwcGVucyBhZ2FpbnN0IHRoZSBmb2xsb3dpbmcgY29sdW1ucyAoaW5kZXBlbmRlbnRseSBvZiB0aGV5IGJlaW5nIHNob3duIG9yIGhpZGRlbik6XG4tIFNvZnR3YXJlIFJlY2lwZVxuLSBSZWNpcGUgdmVyc2lvblxuLSBEZXNjcmlwdGlvblxuLSBSZWNpcGUgZmlsZVxuLSBTZWN0aW9uXG4tIExpY2Vuc2Vcbi0gTGF5ZXJcbi0gUmV2aXNpb25cbklucHV0IGEgc3RyaW5nIHRvIHNlYXJjaCBmb3IgdGhlIGFib3ZlIGNvbHVtbiBoZWFkaW5ncyBzZXBhcmF0ZWx5IHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBzZWFyY2ggaGFwcGVucyBhZ2FpbnN0IHRoZSBjb2x1bW5zLiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlYXJjaCwgc29ydGluZyBhbmQgXCJFZGl0IGNvbHVtbnNcIiBcblNlYXJjaGluZyBkb2VzIG5vdCBjaGFuZ2UgdGhlIHN0YXRlIG9mIHRoZSB0YWJsZTogdGhlIHNhbWUgY29sdW1ucyByZW1haW4gaGlkZGVuIGFuZCB0aGUgc2FtZSBzb3J0aW5nIGFwcGxpZWQgd2hlbiBzZWFyY2ggcmVzdWx0cyBhcmUgZGlzcGxheWVkLCBidXQgZmlsdGVycyBhcmUgY2xlYXJlZCBieSB0aGUgc2VhcmNoIHJlc3VsdHMuXG5TZWFyY2ggYSBzdHJpbmcgYW5kIG1ha2Ugc3VyZSB0aGF0IHRoZSBzYW1lIGNvbHVtbnMgcmVtYWluIGhpZGRlbiBhbmQgdGhlIHNhbWUgc29ydGluZyBhcHBsaWVkLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI5IjogeworICAgICAgICAgICJhY3Rpb24iOiAiU2VhcmNoIGFuZCBmaWx0ZXJzIFxuVGhlIHNjb3BlIG9mIHRoZSBmaWx0ZXJzIGlzIHRoZSBjb250ZW50IGN1cnJlbnRseSBvbiB0aGUgdGFibGUgKHRoaXMgbWVhbnMgYWxsIHRhYmxlIHBhZ2VzLCBub3Qgb25seSB0aGUgb25lIGRpc3BsYXllZCkuIFRoZSBzY29wZSBvZiB0aGUgc2VhcmNoIGlzIGFsd2F5cyB0aGUgY29udGVudCBvZiB0aGUgZGF0YWJhc2UuIFxuXG5JZiBJIHJ1biBhIHNlYXJjaCBxdWVyeSwgYW55IGZpbHRlciBhcHBsaWVkIGFmdGVyd2FyZHMgd2lsbCBmaWx0ZXIgdGhlIGNvbnRlbnQgcmV0dXJuZWQgYnkgdGhlIHNlYXJjaCBxdWVyeS4gXG5cbklmIEkgcnVuIGEgc2VhcmNoIHF1ZXJ5IHdoaWxlIGEgZmlsdGVyIGlzIGFwcGxpZWQsIHRoZSBmaWx0ZXIgaXMgY2xlYXJlZCBieSB0aGUgcmVzdWx0cyBvZiB0aGUgc2VhcmNoIHF1ZXJ5IChpLmUuIHdlIGRpc3BsYXkgdGhlIHJlc3VsdHMgb2YgdGhlIHNlYXJjaCBxdWVyeSBhbmQgY2xlYXIgdGhlIGZpbHRlciBhcHBsaWVkIGJlZm9yZWhhbmQpLiBUaGUgc2FtZSBoYXBwZW5zIGlmIEkgY2xpY2sgdGhlIFwiQ2xlYXIgc2VhcmNoXCIgaWNvbiB3aGVuIGEgZmlsdGVyIGlzIGFwcGxpZWQgdG8gYSBzZXQgb2Ygc2VhcmNoIHJlc3VsdHMgKGJvdGggc2VhcmNoIHJlc3VsdHMgYW5kIGFwcGxpZWQgZmlsdGVyIGFyZSBjbGVhcmVkLCBhbmQgdGhlIHRhYmxlIHNob3dzIGFsbCB0aGUgdGFyZ2V0cykuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiU29mdHdhcmVfcmVjaXBlczpfU2VhcmNoaW5nX3RoZV9jb250ZW50X29mX3RoZV9zb2Z0d2FyZV9yZWNpcGVzX3RhYmxlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuU29mdHdhcmVfcmVjaXBlczpfRmlsdGVyX3RoZV9jb250ZW50c19vZl90aGVfc29mdHdhcmVfcmVjaXBlc190YWJsZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBY2Nlc3MgYSBwcm9qZWN0IHBhZ2UsIGVpdGhlciBieSBjcmVhdGluZyBhIG5ldyBwcm9qZWN0IG9yIGFjY2Vzc2luZyBhbiBleGlzdGluZyBwcm9qZWN0IGZyb20gdGhlIFwiQWxsIGJ1aWxkc1wiIHRhYmxlLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk5hdmlnYXRlIHRvIHRoZSBcIlNvZnR3YXJlIFJlY2lwZXNcIiBwYWdlLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk1ha2Ugc3VyZSB0aGUgZm9sbG93aW5nIHRhYmxlIGNvbHVtbiBoYXMgZmlsdGVyczogXG4tIEJ1aWxkIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiRmlsdGVycyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiBDbGljayBhIGZpbHRlciBidXR0b24gb2YgYSBvbmUgY29sdW1uIGFuZCBhIGZpbHRlciBkaWFsb2d1ZSBvY2N1cnMuIFNlbGVjdCBhIGZpbHRlciBpdGVtLiBUaGUgZmlsdGVyIHJlc3VsdCB3b3VsZCBiZSBzaG93ZWQuIFRoZW4gc2VsZWN0IGFub3RoZXIgZmlsdGVyIGl0ZW0gb2YgYW5vdGhlciBjb2x1bW4gYW5kIHRoZSBwcmV2aW91c2x5IGFwcGxpZWQgZmlsdGVyIGlzIG92ZXJyaWRkZW4gYnkgdGhlIG5ld2x5IHNlbGVjdGVkIGZpbHRlciB3aGVuIGEgZmlsdGVyIGZyb20gYSBkaWZmZXJlbnQgY29sdW1uIGlzIGFwcGxpZWQgdG8gdGhlIHRhYmxlLiBJbiB0aGlzIHN0YXRlLCB3ZSBzaG93IHNvbWUgaGVscCB0ZXh0IG5leHQgdG8gdGhlIFwiQXBwbHlcIiBidXR0b24sIHNheWluZyBcIllvdSBjYW4gb25seSBhcHBseSBvbmUgZmlsdGVyIHRvIHRoZSB0YWJsZS4gVGhpcyBmaWx0ZXIgd2lsbCBvdmVycmlkZSB0aGUgY3VycmVudCBmaWx0ZXIuXCIiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJGaWx0ZXJzIGFyZSBvdmVycmlkZGVuIGJ5IHNlYXJjaC4gUnVuIGEgc2VhcmNoIHF1ZXJ5IGFuZCB5b3UgY2FuIHNlZSBwcmV2aW91cyBmaWx0ZXIgcmVzdWx0cyBhcmUgb3ZlcnJpZGRlbiBieSB0aGUgcmVzdWx0cyBvZiB0aGUgc2VhcmNoIHF1ZXJ5LiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiU29mdHdhcmVfcmVjaXBlczpfRmlsdGVyX3RoZV9jb250ZW50c19vZl90aGVfc29mdHdhcmVfcmVjaXBlc190YWJsZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlRlc3RfdGhlX3BhY2thZ2VzX2luY2x1ZGVkX2luX3RoZV9pbWFnZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCBUb2FzdGVyLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVG9hc3RlciBzdGFydHMuIFxuIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBDbGljayBvbiBuZXcgcHJvamVjdCBidXR0b24uIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgT3BlbiBjcmVhdGUgYSBuZXcgcHJvamVjdCBwYWdlLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgRW50ZXIgYSBwcm9qZWN0IG5hbWUsIHNlbGVjdCBhIHJlbGVhc2UgYW5kIGNsaWNrIG9uIGNyZWF0ZSBwcm9qZWN0LiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIFByb2plY3QgQ3JlYXRlZC4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEJ1aWxkIGEgcmVjaXBlIChleDogY29yZS1pbWFnZS1taW5pbWFsKSBhbmQgd2FpdCB1bnRpbCBidWlsZCBmaW5pc2guIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgQnVpbGQgZmluaXNoZXMgc3VjY2Vzc2Z1bGx5LiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQ2xpY2sgb24gdGhlIGJ1aWx0IHJlY2lwZS4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBPcGVuIGJ1aWxkIHN1bW1hcnkgcGFnZS4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiIFVuZGVyIElNQUdFUyB0YWIgY2xpY2sgb24gdGhlIHJlY2lwZSBidWlsdC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkltYWdlIHBhZ2Ugb3Blbi4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gYSBwYWNrYWdlIG5hbWUuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIHRoZSBwYWNrYWdlIHBhZ2UuIFxuIgorICAgICAgICB9LAorICAgICAgICAiOCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlVuZGVyIGZpbGUgdGl0bGUgY2xpY2sgb24gdGhlIGxpbmsgdG8gZmlsZS4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIllvdSBhcmUgcmVkaXJlY3RlZCB0byBkaXJlY3Rvcnkgc3RydWN0dXJlIGFuZCB5b3UgY2FuIHNlZSB3aGVyZSB0aGUgZmlsZSBpcyBsb2NhdGVkLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlRlc3RfdGhlX3BhY2thZ2VzX2luY2x1ZGVkX2luX3RoZV9pbWFnZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlRlc3RfdGhlX2ZpbHRlcnNfZnJvbV9hX2ltYWdlX3BhZ2UiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIFN0YXJ0IFRvYXN0ZXIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJUb2FzdGVyIHN0YXJ0cy4gXG4iCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIENsaWNrIG9uIG5ldyBwcm9qZWN0IGJ1dHRvbi4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBPcGVuIGNyZWF0ZSBhIG5ldyBwcm9qZWN0IHBhZ2UuIFxuIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBFbnRlciBhIHByb2plY3QgbmFtZSwgc2VsZWN0IGEgcmVsZWFzZSBhbmQgY2xpY2sgb24gY3JlYXRlIHByb2plY3QuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgUHJvamVjdCBDcmVhdGVkLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQnVpbGQgYSByZWNpcGUgKGV4OiBjb3JlLWltYWdlLW1pbmltYWwpIGFuZCB3YWl0IHVudGlsIGJ1aWxkIGZpbmlzaC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBCdWlsZCBmaW5pc2hlcyBzdWNjZXNzZnVsbHkuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBDbGljayBvbiB0aGUgYnVpbHQgcmVjaXBlLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIE9wZW4gYnVpbGQgc3VtbWFyeSBwYWdlLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBDb25maWd1cmF0aW9uIC0gQml0YmFrZSBWYXJpYWJsZXMuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIGJpdGJha2UgdmFyaWFibGVzIHBhZ2UuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlRlc3QgRGVzY3JpcHRpb24gZmlsdGVyLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkZpbHRlciB3b3JrcyBvay4gKGZpbHRlciByZXR1cm5zIG9ubHkgaXRlbXMgdGhhdCBtYXRjaCB0aGUgc2VsZWN0ZWQgY3JpdGVyaWEpICIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlRlc3RfdGhlX2ZpbHRlcnNfZnJvbV9hX2ltYWdlX3BhZ2UiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5UZXN0X2RlcGVuZGVuY2llc19saW5rIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBTdGFydCBUb2FzdGVyLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVG9hc3RlciBzdGFydHMuIFxuIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBDbGljayBvbiBuZXcgcHJvamVjdCBidXR0b24uIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgT3BlbiBjcmVhdGUgYSBuZXcgcHJvamVjdCBwYWdlLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgRW50ZXIgYSBwcm9qZWN0IG5hbWUsIHNlbGVjdCBhIHJlbGVhc2UgYW5kIGNsaWNrIG9uIGNyZWF0ZSBwcm9qZWN0LiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIFByb2plY3QgQ3JlYXRlZC4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEJ1aWxkIGEgcmVjaXBlIChleDogY29yZS1pbWFnZS1taW5pbWFsKSBhbmQgd2FpdCB1bnRpbCBidWlsZCBmaW5pc2guIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgQnVpbGQgZmluaXNoZXMgc3VjY2Vzc2Z1bGx5LiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQ2xpY2sgb24gdGhlIGJ1aWx0IHJlY2lwZS4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBPcGVuIGJ1aWxkIHN1bW1hcnkgcGFnZS4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gcmVjaXBlcyB0YWIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIHJlY2lwZXMgcGFnZS4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gZWRpdCBjb2x1bW5zIGFuZCBzZWxlY3QgRGVwZW5kZW5jaWVzLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiRGVwZW5kZW5jaWVzIGNvbHVtbiBpcyBzaG93biBpbiB0aGUgdGFibGUuIFxuIgorICAgICAgICB9LAorICAgICAgICAiOCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIGEgbnVtYmVyIG9mIGRlcGVuZGVuY2llcy4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkEgcG9wIHVwIHdpdGggZGVwZW5kZW5jaWVzIHdpbGwgYXBwZWFyLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjkiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBhIGRlcGVuZGVuY3kuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiByZWNpcGUgZGVwZW5kZW5jeSBwYWdlLiAiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJUZXN0X2RlcGVuZGVuY2llc19saW5rIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuVGVzdF9yZWNpcGVfZmlsZV9saW5rIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IFRvYXN0ZXIuIFxuXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVG9hc3RlciBzdGFydHMuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQ2xpY2sgb24gbmV3IHByb2plY3QgYnV0dG9uLiBcblxuXHQiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBPcGVuIGNyZWF0ZSBhIG5ldyBwcm9qZWN0IHBhZ2UuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgRW50ZXIgYSBwcm9qZWN0IG5hbWUsIHNlbGVjdCBhIHJlbGVhc2UgKGV4OiBtYXN0ZXIpIGFuZCBjbGljayBvbiBjcmVhdGUgcHJvamVjdC4gXG5cblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgUHJvamVjdCBDcmVhdGVkLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gSW1hZ2UgcmVjaXBlcyB0YWIuIFxuXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBDb21wYXRpYmxlIGltYWdlIHJlY2lwZXMgdGFibGUuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBlZGl0IGNvbHVtbnMgYW5kIHNlbGVjdCByZWNpcGUgZmlsZS4gXG5cblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJSZWNpcGUgZmlsZSBjb2x1bW4gYXBwZWFycyBpbiB0aGUgdGFibGUuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiB0aGUgYmx1ZSBidXR0b24gbmVhciBhIHJlY2lwZSBmaWxlLiBcblxuXHQiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJSZXBldCBzdGVwcyAtIDQgdG8gNiBmb3Igc29mdHdhcmUgcmVjaXBlcy4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlRlc3RfcmVjaXBlX2ZpbGVfbGluayIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlNlZV9wYWNrYWdlc19zaXplIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IFRvYXN0ZXIuIFxuXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIFRvYXN0ZXIgc3RhcnRzLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIENsaWNrIG9uIG5ldyBwcm9qZWN0IGJ1dHRvbi4gXG5cblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgT3BlbiBjcmVhdGUgYSBuZXcgcHJvamVjdCBwYWdlLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEVudGVyIGEgcHJvamVjdCBuYW1lLCBzZWxlY3QgYSByZWxlYXNlIGFuZCBjbGljayBvbiBjcmVhdGUgcHJvamVjdC4gXG5cblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgUHJvamVjdCBDcmVhdGVkLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEJ1aWxkIGEgcmVjaXBlIChleDogY29yZS1pbWFnZS1taW5pbWFsKSBhbmQgd2FpdCB1bnRpbCBidWlsZCBmaW5pc2guIFxuXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIEJ1aWxkIGZpbmlzaGVzIHN1Y2Nlc3NmdWxseS4gXG5cblx0IgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBDbGljayBvbiB0aGUgYnVpbHQgcmVjaXBlLiBcblxuXHQiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBPcGVuIGJ1aWxkIHN1bW1hcnkgcGFnZS4gXG5cblx0IgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIHBhY2thZ2VzIHRhYi4gXG5cblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIHBhY2thZ2VzIHBhZ2UuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBzaXplIHRvIHNvcnQgdGhlIHRhYmxlLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIllvdSBjYW4gY2hlY2sgdGhlIHNpemUgb2YgZWFjaCBwYWNrYWdlLiBcblxuV2hlbiB5b3UgY2xpY2sgb24gJ1NpemUnIHRoZSBmaXJzdCB0aW1lLCB0aGUgY29ycmVjdCBzb3J0aW5nIGlzIHRoZSBpbnZlcnNlIG9uZSAoYmlnZ2VzdCBwYWNrYWdlIG9uIHRvcCkuIENsaWNraW5nIGEgc2Vjb25kIHRpbWUgd2lsbCBpbnZlcnQgdGhlIHNvcnRpbmcgKHlvdSdsbCBzZWUgcGFja2FnZXMgd2l0aCAwIEIgc2l6ZSBvbiB0b3ApLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlNlZV9wYWNrYWdlc19zaXplIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuQnVpbGRfbXVsdGlwbGVfcmVjaXBlcyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgU3RhcnQgVG9hc3Rlci4gXG5cblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgVG9hc3RlciBzdGFydHMuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQ2xpY2sgb24gbmV3IHByb2plY3QgYnV0dG9uLiBcblxuXHQiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBPcGVuIGNyZWF0ZSBhIG5ldyBwcm9qZWN0IHBhZ2UuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgRW50ZXIgYSBwcm9qZWN0IG5hbWUsIHNlbGVjdCBhIHJlbGVhc2UgYW5kIGNsaWNrIG9uIGNyZWF0ZSBwcm9qZWN0LiBcblxuXHQiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBQcm9qZWN0IENyZWF0ZWQuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQnVpbGQgYSBtdWx0aXBsZSByZWNpcGVzIChleDogXCJjb3JlLWltYWdlLW1pbmltYWwgY29yZS1pbWFnZS1zYXRvXCIpIGFuZCB3YWl0IHVudGlsIGJ1aWxkIGZpbmlzaC4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJCdWlsZHMgZmluaXNoZXMgc3VjY2Vzc2Z1bGx5LiBcblxuWW91IGNhbiBidWlsZCBtdWx0aXBsZSByZWNpcGVzIHdpdGggdG9hc3RlciIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkJ1aWxkX211bHRpcGxlX3JlY2lwZXMiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5CdWlsZF9hX3JlY2lwZV93aXRoX2RpZmZlcmVudF9kaXN0cm8iLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIFN0YXJ0IFRvYXN0ZXIuIFxuXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIFRvYXN0ZXIgc3RhcnRzLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIENsaWNrIG9uIG5ldyBwcm9qZWN0IGJ1dHRvbi4gXG5cblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgT3BlbiBjcmVhdGUgYSBuZXcgcHJvamVjdCBwYWdlLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEVudGVyIGEgcHJvamVjdCBuYW1lLCBzZWxlY3QgYSByZWxlYXNlIGFuZCBjbGljayBvbiBjcmVhdGUgcHJvamVjdC4gXG5cblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgUHJvamVjdCBDcmVhdGVkLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiRnJvbSBwcm9qZWN0IHBhZ2UgY2xpY2sgb24gQml0YmFrZSB2YXJpYWJsZXMgdGFiLiBcblxuXHQiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk9wZW4gQml0YmFrZSB2YXJpYWJsZXMgcGFnZS4gXG5cblx0IgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIGNoYW5nZSBidXR0b24gZm9yIGRpc3Ryby4gXG5cblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJBIHR5cGUgaW4gZm9ybSBhcHBlYXJzLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hhbmdlIGRpc3RybyAoZXg6IHBva3ktbHNiKS4gXG5cblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJEaXN0cm8gaGFzIGNoYW5nZWQuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBZGQgc3BlY2lmaWMgbGF5ZXJzIGZvciBkaXN0cm8gKG1ldGEtcXQzLCBtZXRhLXF0NCkgXG5cdFxuXHQiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkxheWVycyBhZGRlZCB0byB0aGUgcHJvamVjdCBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICI4IjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEJ1aWxkIGEgcmVjaXBlIChleDogY29yZS1pbWFnZS1taW5pbWFsKSBhbmQgd2FpdCB1bnRpbCBidWlsZCBmaW5pc2guIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJCdWlsZCBmaW5pc2hlcyBzdWNjZXNzZnVsbHkuIFxuXG5UaGUgJ3N1Y2Nlc3MnIGNyaXRlcmlhIGZvciB0aGlzIG9uZSBzaG91bGQgYmUgdGhhdCB0aGUgYnVpbGQgaXMgcmVwb3J0ZWQgYXMgdXNpbmcgdGhlIHBva3ktbHNiIGRpc3RybyBpbiB0aGUgYnVpbGQgc3VtbWFyeSBwYWdlLCBhbmQgdGhhdCB0aGUgRElTVFJPIHZhcmlhYmxlIHZhbHVlIGluIHRoZSBiaXRiYWtlIHZhcmlhYmxlcyB0YWJsZSBpcyBzZXQgdG8gdGhlIHZhbHVlIHNwZWNpZmllZCBpbiB0b2FzdGVyIChwb2t5LWxzYiBhZ2FpbikuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiQnVpbGRfYV9yZWNpcGVfd2l0aF9kaWZmZXJlbnRfZGlzdHJvIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuVGVzdF9wYWNrYWdlX2Zvcm1hdF8tX2lwa19ycG1fZGViIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBTdGFydCBUb2FzdGVyLiBcblxuXHQiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBUb2FzdGVyIHN0YXJ0cy4gXG5cblx0IgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBDbGljayBvbiBuZXcgcHJvamVjdCBidXR0b24uIFxuXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIE9wZW4gY3JlYXRlIGEgbmV3IHByb2plY3QgcGFnZS4gXG5cblx0IgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBFbnRlciBhIHByb2plY3QgbmFtZSwgc2VsZWN0IGEgcmVsZWFzZSBhbmQgY2xpY2sgb24gY3JlYXRlIHByb2plY3QuIFxuXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIFByb2plY3QgQ3JlYXRlZC4gXG5cblx0IgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkZyb20gdGhlIHByb2plY3QgcGFnZSBjbGljayBvbiBiaXRiYWtlIHZhcmlhYmxlcyB0YWIuIFxuXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBiaXRiYWtlIHZhcmlhYmxlcyBwYWdlLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gY2hhbmdlIGJ1dHRvbiBuZWFyIFBBQ0tBR0VfQ0xBU1NFUyBhbmQgc2VsZWN0IGFsbCB0aGUgcGFja2FnZSBmb3JtYXRzIChycG0sIGRlYiwgaXBrKS4gXG5cblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJQYWNrYWdlIGNsYXNzZXMgc2VsZWN0ZWQuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCBhIHJlY2lwZSAoZXg6IGNvcmUtaW1hZ2UtbWluaW1hbCkgYW5kIHdhaXQgdW50aWwgYnVpbGQgZmluaXNoLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQnVpbGQgZmluaXNoZXMgc3VjY2Vzc2Z1bGx5LlxuWW91IGNhbiBzZWUgdGhlIHBhY2thZ2UgY2xhc3NlcyBpbiB0aGUgYnVpbGQgc3VtbWFyeSBwYWdlLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlRlc3RfcGFja2FnZV9mb3JtYXRfLV9pcGtfcnBtX2RlYiIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlRlc3RfSU1BR0VfSU5TVEFMTF9hcHBlbmRfdmFyaWFibGUiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgVG9hc3Rlci4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIFRvYXN0ZXIgc3RhcnRzLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIENsaWNrIG9uIG5ldyBwcm9qZWN0IGJ1dHRvbi4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIE9wZW4gY3JlYXRlIGEgbmV3IHByb2plY3QgcGFnZS4gXG5cblx0IgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBFbnRlciBhIHByb2plY3QgbmFtZSwgc2VsZWN0IGEgcmVsZWFzZSBhbmQgY2xpY2sgb24gY3JlYXRlIHByb2plY3QuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBQcm9qZWN0IENyZWF0ZWQuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJGcm9tIHRoZSBwcm9qZWN0IHBhZ2UgY2xpY2sgb24gYml0YmFrZSB2YXJpYWJsZXMgdGFiLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIGJpdGJha2UgdmFyaWFibGVzIHBhZ2UuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBjaGFuZ2UgYnV0dG9uIGZvciBJTUFHRV9JTlNUQUxMX2FwcGVuZCBhbmQgYWRkIGEgdmFyaWFibGUgKGV4OiBhY3BpZCkuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlZhcmlhYmxlIGFkZGVkLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQnVpbGQgYSByZWNpcGUgKGV4OiBjb3JlLWltYWdlLW1pbmltYWwpIGFuZCB3YWl0IHVudGlsIGJ1aWxkIGZpbmlzaC4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQnVpbGQgZmluaXNoZXMgc3VjY2Vzc2Z1bGx5LiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQWZ0ZXIgYnVpbGQgZmluaXNoZXMgZ28gdG8gYnVpbGQgcGFnZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBidWlsZCBzdW1tYXJ5IHBhZ2UuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJHbyB0byBwYWNrYWdlIHRhYiBhbmQgc2VhcmNoIGZvciBhY3BpZC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIllvdSBzaG91bGQgZ2V0IHJlc3VsdHMgZm9yIHNzaCBwYWNrYWdlcy4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJUZXN0X0lNQUdFX0lOU1RBTExfYXBwZW5kX3ZhcmlhYmxlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuTmV3X2N1c3RvbV9pbWFnZTpfZGVmYXVsdF92aWV3IiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkFjY2VzcyBhIHByb2plY3QgcGFnZSwgZWl0aGVyIGJ5IGNyZWF0aW5nIGEgbmV3IHByb2plY3Qgb3IgYWNjZXNzaW5nIGFuIGV4aXN0aW5nIHByb2plY3QgZnJvbSB0aGUgXCJBbGwgcHJvamVjdHNcIiB0YWJsZS4gIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9uIHRoZSBwcm9qZWN0IHBhZ2UgY2xpY2sgb24gdGhlIFwiTmV3IGN1c3RvbSBpbWFnZVwiIGxpbmsgc2l0dWF0ZWQgb24gdGhlIGxlZnQtaGFuZCBzaWRlLCBuZWFyIENvbmZpZ3VyYXRpb24sIGJ1aWxkcywgaW1wb3J0IGxheWVyIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdGhlIHRhYmxlIGlzIHBvcHVsYXRlZCB3aXRoIHRoZSBsaXN0IG9mIGltYWdlIHJlY2lwZXMgKGVnLiBjb3JlLWltYWdlIG1pbmltYWwsIGNvcmUtaW1hZ2UtbHNiKSBcblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQ2hlY2sgdGhhdCBieSBkZWZhdWx0IHRoZSBmb2xsb3dpbmcgY29sdW1ucyBhcmUgc2hvd246IEltYWdlIHJlY2lwZSwgVmVyc2lvbiwgRGVzY3JpcHRpb24sIExheWVyLCBDdXN0b21pc2UgIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkZyb20gdGhlIFwiRWRpdCBjb2x1bW5zXCIgbWVudSwgYWN0aXZhdGUgdGhlOiBSZWNpcGUgZmlsZSwgU2VjdGlvbiwgTGljZW5zZSwgR2l0IHJldmlzaW9uIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdGhlIFwiR2l0IHJldmlzaW9uXCIgZW50cmllcyBtYXRjaCB0aGUgcmVsZWFzZSBlbnRyeSBmcm9tIHRoZSBtYWluIHByb2plY3QgcGFnZSwgaW4gdGhlIHByb2plY3QgZGV0YWlscyBzZWN0aW9uLiBcblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGF0IHRoZSBpbWFnZSByZWNpcGVzIHByb3ZpZGVkIGJ5IGxheWVycyBhZGRlZCB0byB0aGUgcHJvamVjdCBzaG93IGEgJ2N1c3RvbWlzZScgYnV0dG9uLCB3aGlsZSBpbWFnZSByZWNpcGVzIHByb3ZpZGVkIGJ5IGxheWVycyBub3QgYWRkZWQgdG8gdGhlIHByb2plY3Qgc2hvdyBhbiAnYWRkIGxheWVyJyBidXR0b24gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJOZXdfY3VzdG9tX2ltYWdlOl9kZWZhdWx0X3ZpZXciCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5OZXdfY3VzdG9tX2ltYWdlOl9zb3J0aW5nX3RoZV9jb250ZW50X29mX25ld19jdXN0b21faW1hZ2VfdGFibGUiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQWNjZXNzIGEgcHJvamVjdCBwYWdlLCBlaXRoZXIgYnkgY3JlYXRpbmcgYSBuZXcgcHJvamVjdCBvciBhY2Nlc3NpbmcgYW4gZXhpc3RpbmcgcHJvamVjdCBmcm9tIHRoZSBcIkFsbCBwcm9qZWN0c1wiIHRhYmxlLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiT24gdGhlIHByb2plY3QgcGFnZSBjbGljayBvbiB0aGUgXCJOZXcgY3VzdG9tIGltYWdlXCIgbGluayBzaXR1YXRlZCBvbiB0aGUgbGVmdC1oYW5kIHNpZGUsIG5lYXIgQ29uZmlndXJhdGlvbiwgYnVpbGRzLCBpbXBvcnQgbGF5ZXIgIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJNYWtlIHN1cmUgdGhhdCB0aGUgdGFibGUgaXMgc29ydGVkIG9uIHRoZSDigJhJbWFnZSByZWNpcGXigJkgY29sdW1uIGJ5IGRlZmF1bHQgaW4gYXNjZW5kaW5nIG9yZGVyLiAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNraW5nIG9uIEltYWdlIHJlY2lwZSBzaG91bGQgcmV2ZXJ0IHRoZSBzb3J0aW5nLiAoZnJvbSAnYSB0byB6JyBjaGFuZ2VzIHRvICd6IHRvIGEnKSAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkZyb20gdGhlIFwiRWRpdCBjb2x1bW5zXCIgbWVudSBhY3RpdmF0ZSBhbGwgdGhlIGNvbHVtbnMuIENoZWNrIHRoYXQg4oCYSW1hZ2UgcmVjaXBl4oCZIGFuZCDigJhDdXN0b21pc2XigJkgY29sdW1ucyBjYW5ub3QgYmUgdW5jaGVja2VkLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCBJbWFnZSByZWNpcGUsIFNlY3Rpb24sIExheWVyIGFuZCBMaWNlbnNlIGFyZSB0aGUgb25seSBzb3J0YWJsZSB0YWJsZSBoZWFkcy4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTb3J0IHRoZSB0YWJsZSBieSBcIkxheWVyXCIgYW5kIHRoZW4gbmF2aWdhdGUgYXdheSBieSBzZWxlY3RpbmcgYW4gaW1hZ2UgKHN1Y2ggYXMgY29yZS1pbWFnZS1sc2IpLiBXaGVuIHlvdSBjbGljayB0aGUgXCJiYWNrXCIgYnV0dG9uIGluIHRoZSB3ZWItYnJvd3NlciB0byBnbyBiYWNrLCB0aGUgXCJOZXcgY3VzdG9tIGltYWdlXCIgdGFibGUgc2hvdWxkIHN0aWxsIGJlIHNvcnRlZCBieSBcIkxheWVyXCIuICBcblRoaXMgc2hvdWxkIGFwcGx5IGFsc28gYnkgbmF2aWdhdGluZyBiYWNrIHRvIHRoZSBwYWdlIGJ5IGFueSBvdGhlciBtZWFucy4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNvcnRpbmcgYW5kIFwiRWRpdCBjb2x1bW5zXCIgbWVudTogSWYgeW91IHVzZSB0aGUgXCJFZGl0IGNvbHVtbnNcIiBtZW51IHRvIGhpZGUgdGhlIGNvbHVtbiB3aXRoIHRoZSBhcHBsaWVkIHNvcnRpbmcsIHdlIHJldmVydCB0aGUgc29ydGluZyB0byB0aGUgZGVmYXVsdCBzb3J0aW5nIChpLmUuIFwiSW1hZ2UgcmVjaXBlXCIpLiBUaGUgZGVmYXVsdCBzb3J0aW5nIGFsd2F5cyB1c2VzIG9uZSBvZiB0aGUgY29yZSBjb2x1bW5zLCB3aGljaCBjYW5ub3QgYmUgaGlkZGVuIHVzaW5nIHRoZSBcIkVkaXQgY29sdW1uc1wiIG1lbnUgIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjkiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTb3J0aW5nIGFuZCBzZWFyY2g6IFNlYXJjaGluZyBzaG91bGQgaGF2ZSBubyBpbXBhY3Qgb24gdGhlIGFwcGxpZWQgc29ydGluZy4gQW55IHJlc3VsdHMgcmV0dXJuZWQgc2hvdWxkIGJlIHNvcnRlZCBieSB0aGUgc29ydGluZyBjcml0ZXJpYSBzZWxlY3RlZCB3aGVuIHRoZSBzZWFyY2ggcXVlcnkgd2FzIHN1Ym1pdHRlZC4gU29ydCByZWNpcGVzIGJ5IFwiTGF5ZXJcIiBjb2x1bW4gaGVhZGluZy4gSW5wdXQgYSBzdHJpbmcgKHN1Y2ggYXMgXCJjb3JlLWltYWdlXCIpIGluIHNlYXJjaCBib3ggYW5kIGNsaWNrIHNlYXJjaCBidXR0b24uIE1ha2Ugc3VyZSByZXN1bHRzIHJldHVybmVkIGFyZSBzb3J0ZWQgYnkgXCJMYXllclwiLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTi9BIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiTmV3X2N1c3RvbV9pbWFnZTpfc29ydGluZ190aGVfY29udGVudF9vZl9uZXdfY3VzdG9tX2ltYWdlX3RhYmxlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuTmV3X2N1c3RvbV9pbWFnZTpfc2VhcmNoaW5nX3RoZV9jb250ZW50X29mX25ld19jdXN0b21faW1hZ2VfdGFibGUiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQWNjZXNzIGEgcHJvamVjdCBwYWdlLCBlaXRoZXIgYnkgY3JlYXRpbmcgYSBuZXcgcHJvamVjdCBvciBhY2Nlc3NpbmcgYW4gZXhpc3RpbmcgcHJvamVjdCBmcm9tIHRoZSBcIkFsbCBwcm9qZWN0c1wiIHRhYmxlLiBcbiBcblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPbiB0aGUgcHJvamVjdCBwYWdlIGNsaWNrIG9uIHRoZSBcIk5ldyBjdXN0b20gaW1hZ2VcIiBsaW5rIHNpdHVhdGVkIG9uIHRoZSBsZWZ0LWhhbmQgc2lkZSwgbmVhciBDb25maWd1cmF0aW9uLCBidWlsZHMsIGltcG9ydCBsYXllciAgXG4gXG5cblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCB0aGUgc2VhcmNoIGlzIG1hZGUgb2YgYSB0ZXh0IGlucHV0IGZpZWxkIGFuZCBhIFwiU2VhcmNoXCIgYnV0dG9uIGluIGEgdG9vbGJhciBhYm92ZSB0aGUgdGFibGUuIFdoZW4gbm8gc2VhcmNoIHF1ZXJ5IGhhcyBiZWVuIGVudGVyZWQsIHRoZSB0ZXh0IGlucHV0IGZpZWxkIHNob3VsZCBzaG93IHRoZSBmb2xsb3dpbmcgcGxhY2Vob2xkZXIgdGV4dDogXCJTZWFyY2ggc2VsZWN0IHRoZSBpbWFnZSByZWNpcGUgeW91IHdhbnQgdG8gY3VzdG9taXNlXCIgXG4gIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIklucHV0IFwiY29yZVwiIGluIHRoZSB0ZXh0IGlucHV0IGZpZWxkLiBUaGUgcGxhY2Vob2xkZXIgdGV4dCBkaXNhcHBlYXJzIHdoZW4gdGhlIGZpcnN0IGNoYXJhY3RlciBpcyB0eXBlZC4gQ2xpY2sgc2VhcmNoIGJ1dHRvbi4gXG4gXG5cblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIHNlYXJjaCBzdHJpbmcgaXMga2VwdCBpbiB0aGUgdGV4dCBpbnB1dCBmaWVsZC4gVGhlIHJlc3VsdHMgcmV0dXJuZWQgb2NjdXIuIENsaWNrIFwiQ2xlYXIgc2VhcmNoXCIgaWNvbiB0byBjbGVhciB0aGUgc2VhcmNoIGFuZCBkaXNwbGF5IHRoZSBpbWFnZSByZWNpcGVzLiAgSWYgeW91ciBzZWFyY2ggcXVlcnkgcmV0dXJucyBubyByZXN1bHRzLCB3ZSBzaG93IHlvdSBhbiBhbGVydCB3aXRoIGEgc2VhcmNoIGZvcm0gYW5kIGFuIG9wdGlvbiB0byBzaG93IGFsbCBpbWFnZSByZWNpcGVzLiBDaGVjayB0aGF0IFwic2hvdyBhbGxcIiBsaW5rIGlzIGF2YWlsYWJsZS4gIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlYXJjaCwgc29ydGluZyBhbmQgXCJFZGl0IGNvbHVtbnNcIjogU2VhcmNoaW5nIGRvZXMgbm90IGNoYW5nZSB0aGUgc3RhdGUgb2YgdGhlIHRhYmxlOiB0aGUgc2FtZSBjb2x1bW5zIHJlbWFpbiBoaWRkZW4gYW5kIHRoZSBzYW1lIHNvcnRpbmcgYXBwbGllZCB3aGVuIHNlYXJjaCByZXN1bHRzIGFyZSBkaXNwbGF5ZWQsIGJ1dCBmaWx0ZXJzIGFyZSBjbGVhcmVkIGJ5IHRoZSBzZWFyY2ggcmVzdWx0cy4gU2VhcmNoIGEgc3RyaW5nIGFuZCBtYWtlIHN1cmUgdGhhdCB0aGUgc2FtZSBjb2x1bW5zIHJlbWFpbiBoaWRkZW4gYW5kIHRoZSBzYW1lIHNvcnRpbmcgYXBwbGllZC4gIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlYXJjaCBhbmQgZmlsdGVycyBcbiBcblx04oCiXHRUaGUgc2NvcGUgb2YgdGhlIGZpbHRlcnMgaXMgdGhlIGNvbnRlbnQgY3VycmVudGx5IG9uIHRoZSB0YWJsZSAodGhpcyBtZWFucyBhbGwgdGFibGUgcGFnZXMsIG5vdCBvbmx5IHRoZSBvbmUgZGlzcGxheWVkKS4gVGhlIHNjb3BlIG9mIHRoZSBzZWFyY2ggaXMgYWx3YXlzIHRoZSBjb250ZW50IG9mIHRoZSBkYXRhYmFzZS4gIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIklmIEkgcnVuIGEgc2VhcmNoIHF1ZXJ5LCBhbnkgZmlsdGVyIGFwcGxpZWQgYWZ0ZXJ3YXJkcyB3aWxsIGZpbHRlciB0aGUgY29udGVudCByZXR1cm5lZCBieSB0aGUgc2VhcmNoIHF1ZXJ5LiBcdElmIEkgcnVuIGEgc2VhcmNoIHF1ZXJ5IHdoaWxlIGEgZmlsdGVyIGlzIGFwcGxpZWQsIHRoZSBmaWx0ZXIgaXMgY2xlYXJlZCBieSB0aGUgcmVzdWx0cyBvZiB0aGUgc2VhcmNoIHF1ZXJ5IChpLmUuIHdlIGRpc3BsYXkgdGhlIHJlc3VsdHMgb2YgdGhlIHNlYXJjaCBxdWVyeSBhbmQgY2xlYXIgdGhlIGZpbHRlciBhcHBsaWVkIGJlZm9yZWhhbmQpLiBUaGUgc2FtZSBoYXBwZW5zIGlmIEkgY2xpY2sgdGhlIFwiQ2xlYXIgc2VhcmNoXCIgaWNvbiB3aGVuIGEgZmlsdGVyIGlzIGFwcGxpZWQgdG8gYSBzZXQgb2Ygc2VhcmNoIHJlc3VsdHMgKGJvdGggc2VhcmNoIHJlc3VsdHMgYW5kIGFwcGxpZWQgZmlsdGVyIGFyZSBjbGVhcmVkLCBhbmQgdGhlIHRhYmxlIHNob3dzIGFsbCB0aGUgdGFyZ2V0cykuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiXG4gIFxuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiTmV3X2N1c3RvbV9pbWFnZTpfc2VhcmNoaW5nX3RoZV9jb250ZW50X29mX25ld19jdXN0b21faW1hZ2VfdGFibGUiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5OZXdfY3VzdG9tX2ltYWdlOl9GaWx0ZXJfdGhlX2NvbnRlbnRzX29mX3RoZV9uZXdfY3VzdG9tX2ltYWdlX3RhYmxlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkFjY2VzcyBhIHByb2plY3QgcGFnZSwgZWl0aGVyIGJ5IGNyZWF0aW5nIGEgbmV3IHByb2plY3Qgb3IgYWNjZXNzaW5nIGFuIGV4aXN0aW5nIHByb2plY3QgZnJvbSB0aGUgXCJBbGwgcHJvamVjdHNcIiB0YWJsZS4gXG5cblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiT24gdGhlIHByb2plY3QgcGFnZSBjbGljayBvbiB0aGUgXCJOZXcgY3VzdG9tIGltYWdlXCIgbGluayBzaXR1YXRlZCBvbiB0aGUgbGVmdC1oYW5kIHNpZGUsIG5lYXIgQ29uZmlndXJhdGlvbiwgYnVpbGRzLCBpbXBvcnQgbGF5ZXIgIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk1ha2Ugc3VyZSB0aGUgZm9sbG93aW5nIHRhYmxlIGNvbHVtbiBoYXMgZmlsdGVyczogQ3VzdG9taXNlICBcblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayB0aGUgZmlsdGVyIGJ1dHRvbiBpbiB0aGUgXCJDdXN0b21pc2VcIiBjb2x1bW4gYW5kIGEgZmlsdGVyIGRpYWxvZ3VlIGNvbWVzIHVwLiBTZWxlY3QgYSBmaWx0ZXIgb3B0aW9uLiBUaGUgZmlsdGVyIHJlc3VsdHMgc2hvdWxkIGJlIHNob3dlZC4gXG5cblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiRmlsdGVycyBhcmUgb3ZlcnJpZGRlbiBieSBzZWFyY2guIFJ1biBhIHNlYXJjaCBxdWVyeSBhbmQgeW91IGNhbiBzZWUgcHJldmlvdXMgZmlsdGVyIHJlc3VsdHMgYXJlIG92ZXJyaWRkZW4gYnkgdGhlIHJlc3VsdHMgb2YgdGhlIHNlYXJjaCBxdWVyeS4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk4vQSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIk5ld19jdXN0b21faW1hZ2U6X0ZpbHRlcl90aGVfY29udGVudHNfb2ZfdGhlX25ld19jdXN0b21faW1hZ2VfdGFibGUiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5DcmVhdGVfbmV3X2N1c3RvbV9pbWFnZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBY2Nlc3MgYSBwcm9qZWN0IHBhZ2UsIGVpdGhlciBieSBjcmVhdGluZyBhIG5ldyBwcm9qZWN0IG9yIGFjY2Vzc2luZyBhbiBleGlzdGluZyBwcm9qZWN0IGZyb20gdGhlIFwiQWxsIHByb2plY3RzXCIgdGFibGUuIFxuIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9uIHRoZSBwcm9qZWN0IHBhZ2UgY2xpY2sgb24gdGhlIFwiTmV3IGN1c3RvbSBpbWFnZVwiIGxpbmsgc2l0dWF0ZWQgb24gdGhlIGxlZnQtaGFuZCBzaWRlLCBuZWFyIENvbmZpZ3VyYXRpb24sIGJ1aWxkcywgaW1wb3J0IGxheWVyIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlYXJjaCBmb3IgcnBpLWJhc2ljLWltYWdlLCBjbGljayBvbiAnYWRkIGxheWVyJyBidXR0b24uIE1ha2Ugc3VyZSBhIFwibGF5ZXIgYWRkZWRcIiBub3RpZmljYXRpb24gc2hvd3MgYW5kIGEgXCJjdXN0b21pc2VcIiBidXR0b24gaXMgZGlzcGxheWVkLiBDbGljayB0aGUgXCJjdXN0b21pc2VcIiBidXR0b24sIHR5cGUgYSBuYW1lIGZvciB5b3UgbmV3IGN1c3RvbSBpbWFnZSBhbmQgY2xpY2sgb24gY3JlYXRlIGN1c3RvbSBpbWFnZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlZlcmlmeSB0aGF0IGltYWdlIHdhcyBjcmVhdGVkOiB3aGVuIHlvdSBjcmVhdGUgdGhlIGN1c3RvbSBpbWFnZSB5b3Ugd2lsbCBiZSByZWRpcmVjdGVkIHRvIHRoZSBjdXN0b20gaW1hZ2UgZGV0YWlscyBwYWdlLCBhbmQgYSBub3RpZmljYXRpb24gYXQgdGhlIHRvcCBvZiB0aGUgcGFnZSBzaG91bGQgdGVsbCB5b3U6IOKAmFlvdXIgY3VzdG9tIGltYWdlIFggaGFzIGJlZW4gY3JlYXRlZC4gWW91IGNhbiBub3cgYWRkIG9yIHJlbW92ZSBwYWNrYWdlcyBhcyBuZWVkZWQuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJZiB5b3Ugc2VsZWN0IGFuIGltYWdlIHRoYXQgaGFzIG5vdCBiZWVuIGJ1aWx0IGJlZm9yZWhhbmQgeW91IHNob3VsZCBub3Qgc2VlIHRoZSAnYWRkIC8gcmVtb3ZlJyBwYWNrYWdlcyB0YWJsZSB1bnRpbCB5b3UgYnVpbGQgdGhlIGltYWdlLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiSWYgeW91IHNlbGVjdCBhbiBpbWFnZSB0aGF0IGhhcyBiZWVuIGJ1aWx0IGJlZm9yZWhhbmQgeW91IHNob3VsZCBzZWUgdGhlICdhZGQgLyByZW1vdmUnIHBhY2thZ2VzIHRhYmxlIHdoZW4geW91IGNyZWF0ZSB0aGUgY3VzdG9tIGltYWdlLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk4vQSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkNyZWF0ZV9uZXdfY3VzdG9tX2ltYWdlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuQ3VzdG9tX2ltYWdlX3BhZ2VfZGV0YWlscyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBZnRlciB5b3UgY3JlYXRlIGEgbmV3IGN1c3RvbSBpbWFnZSAgZ28gdG8gdGhlIGN1c3RvbSBpbWFnZSBwYWdlLCBieSBjbGlja2luZyBvbiB0aGUgY3VzdG9tIGltYWdlLiAgIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCcmVhZGNydW1icyAgXG4gXG5cdCAqIE9ic2VydmUgdGhhdCB0aGUgMyBicmVhZGNydW1icyBhdCB0aGUgdG9wIGxlZnQgYXJlOiAgXG4gXG5cdFx0YSBsaXZlIGxpbmsgdGhhdCB3aWxsIHRha2UgeW91IGJhY2sgdG8gdGhlIHByb2plY3QgcGFnZSBcblx0XHRDdXN0b20gaW1hZ2VzOiBhIGxpdmUgbGluayB0aGF0IHdpbGwgdGFrZSB5b3UgYmFjayB0byB0aGUgY3VzdG9tIGltYWdlcyB0YWJsZSBcblx0XHRpbWFnZSBuYW1lKHRvYXN0ZXItY3VzdG9tLWltYWdlcyk6IHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IGN1c3RvbSBpbWFnZSAobm90IGEgbGluaykgIFxuIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9ic2VydmUgdGhlIDIgYnV0dG9ucyBidWlsZCBDdXN0b20gaW1hZ2UgYW5kIERvd25sb2FkIHJlY2lwZSBmaWxlICBcbiBcblx0aS5cdFRlc3QgdGhpcyAyIGJ1dHRvbnMgXG5cdGlpLlx0WW91IHNob3VsZCBhbHdheXMgYmUgYWJsZSB0byBidWlsZCB0aGUgY3VzdG9tIGltYWdlLCBidXQgeW91IG9ubHkgc2hvdWxkIGJlIGFibGUgdG8gZG93bmxvYWQgdGhlIHJlY2lwZSBmaWxlIHdoZW4gdGhlIHBhY2thZ2UgY29udGVudCBvZiB0aGUgY3VzdG9tIGltYWdlIGlzIGtub3duLiBXaGVuIHlvdSBjYW5ub3QgZG93bmxvYWQgdGhlIHJlY2lwZSBmaWxlLCB0aGUgJ2Rvd25sb2FkJyBidXR0b24gYXQgdGhlIHRvcCBvZiB0aGUgcGFnZSBpcyBkaXNhYmxlZCwgYW5kIHRoZSByaWdodCBoYW5kIGNvbHVtbiBkb2VzIG5vdCBzaG93IGluZm9ybWF0aW9uIGFib3V0IHRoZSByZWNpcGUgZmlsZS4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPYnNlcnZlIHRoYXQgdGhlcmUgaXMgYSByaWdodC1oYW5kIGJveCwgd2l0aCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgaW1hZ2VzICBcbiBcblx0aS5cdFRoZXJlIGlzIGEgbnVtYmVyIG9mIHBhY2thZ2VzIGluY2x1ZGVkIGluIHRoZSBjdXN0b20gaW1hZ2UgXG5cdGlpLlx0QXBwcm94IHBhY2thZ2Ugc2l6ZSBcbiBcblx0aWlpLlx0TGF5ZXIgXG4gXG5cdGl2Llx0SW1hZ2UgYmFzZWQgb24gXG4gXG5cdHYuXHRSZWNpcGUgZmlsZSAob25seSB3aGVuIHlvdSBjYW4gZG93bmxvYWQgaXRfIFxuXHR2aS5cdFZlcnNpb24gXG4gXG5cdHZpaS5cdExpY2Vuc2UgIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPYnNlcnZlIHRoYXQgdGhlIHBhZ2UgaW5jbHVkZXMgYSB0YWJsZSB3aXRoIHBhY2thZ2VzIGFuZCB5b3UgY2FuIGFkZCBvciByZW1vdmUgcGFja2FnZXMgZnJvbSB0aGUgY3VzdG9tIGltYWdlLiBUaGUgcGFja2FnZXMgdGFibGUgb25seSBhcHBlYXJzIHdoZW46IFxuXG5hKSB0aGUgaW1hZ2UgcmVjaXBlIHlvdSBjaG9zZSBhcyB5b3VyIGJhc2UgaW1hZ2Ugd2hlbiBjcmVhdGluZyB0aGUgY3VzdG9tIGltYWdlIGhhcyBiZWVuIGJ1aWx0IHdpdGhpbiB0aGUgcHJvamVjdCBcblxuYikgdGhlIGN1c3RvbSBpbWFnZSBpdHNlbGYgaGFzIGJlZW4gYnVpbHQgXG5cbklmIG5vIHBhY2thZ2VzIHRhYmxlIHNob3dzLCB5b3Ugc2VlIGEgbm90aWZpY2F0aW9uIHdpdGggYSBidWlsZCBidXR0b24gaW5zdGVhZC4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOL0EiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJDdXN0b21faW1hZ2VfcGFnZV9kZXRhaWxzIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuQ3VzdG9tX2ltYWdlX3BhZ2Vf4oCTX0FkZF98X1JlbW92ZV9wYWNrYWdlc190YWJsZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBZnRlciB5b3UgY3JlYXRlIGEgbmV3IGN1c3RvbSBpbWFnZSAgZ28gdG8gdGhlIGN1c3RvbSBpbWFnZSBwYWdlLCBieSBjbGlja2luZyBvbiB0aGUgY3VzdG9tIGltYWdlLiAgXG5cblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiTWFrZSBzdXJlIHRoYXQgdGhlIHRhYmxlIGlzIHNvcnRlZCBvbiB0aGUg4oCYUGFja2FnZeKAmSBjb2x1bW4gYnkgZGVmYXVsdCBpbiBhc2NlbmRpbmcgb3JkZXIuICAgXG5cblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCBieSBkZWZhdWx0IHRoZSBmb2xsb3dpbmcgY29sdW1ucyBhcmUgc2hvd246IFBhY2thZ2UsIFBhY2thZ2UgVmVyc2lvbiwgQXBwcm94IFNpemUgIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkZyb20gdGhlIFwiRWRpdCBjb2x1bW5zXCIgbWVudSwgYWN0aXZhdGUgdGhlOiBMaWNlbnNlLCBSZWNpcGUsIFJlY2lwZSB2ZXJzaW9uIGFuZCBSZXZlcnNlIGRlcGVuZGVuY2llcyBjb2x1bW5zICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCDigJhQYWNrYWdl4oCZLCBBcHByb3ggU2l6ZSwgTGljZW5zZSwgUmVjaXBlIGFyZSB0aGUgb25seSBzb3J0YWJsZSB0YWJsZSBoZWFkcy4gICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiU29ydGluZyBhbmQgXCJFZGl0IGNvbHVtbnNcIjogSWYgeW91IHVzZSB0aGUgXCJFZGl0IGNvbHVtbnNcIiBtZW51IHRvIGhpZGUgdGhlIGNvbHVtbiB3aXRoIHRoZSBhcHBsaWVkIHNvcnRpbmcsIHdlIHJldmVydCB0aGUgc29ydGluZyB0byB0aGUgZGVmYXVsdCBzb3J0aW5nIChpLmUuIFwiUGFja2FnZVwiKS4gVGhlIGRlZmF1bHQgc29ydGluZyBhbHdheXMgdXNlcyBvbmUgb2YgdGhlIGNvcmUgY29sdW1ucywgd2hpY2ggY2Fubm90IGJlIGhpZGRlbiB1c2luZyB0aGUgXCJFZGl0IGNvbHVtbnNcIiBtZW51ICAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNvcnRpbmcgYW5kIHNlYXJjaDogU2VhcmNoaW5nIHNob3VsZCBoYXZlIG5vIGltcGFjdCBvbiB0aGUgYXBwbGllZCBzb3J0aW5nLiBBbnkgcmVzdWx0cyByZXR1cm5lZCBzaG91bGQgYmUgc29ydGVkIGJ5IHRoZSBzb3J0aW5nIGNyaXRlcmlhIHNlbGVjdGVkIHdoZW4gdGhlIHNlYXJjaCBxdWVyeSB3YXMgc3VibWl0dGVkLiBTb3J0IHJlY2lwZXMgYnkgXCJSZWNpcGVcIiBjb2x1bW4gaGVhZGluZy4gSW5wdXQgYSBzdHJpbmcgKHN1Y2ggYXMgXCJhY2xcIikgaW4gc2VhcmNoIGJveCBhbmQgY2xpY2sgc2VhcmNoIGJ1dHRvbi4gTWFrZSBzdXJlIHJlc3VsdHMgcmV0dXJuZWQgYXJlIHN0aWxsIHNvcnRlZCBieSBcIlJlY2lwZVwiLiAgIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBcIkNsZWFyIHNlYXJjaFwiIGljb24gdG8gY2xlYXIgdGhlIHNlYXJjaCBhbmQgZGlzcGxheSB0aGUgUGFja2FnZXMuICAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk1ha2Ugc3VyZSB0aGUgZm9sbG93aW5nIHRhYmxlIGNvbHVtbiBoYXMgZmlsdGVyczogQWRkIHwgUmVtb3ZlIChDbGljayBvbiAnRWRpdCBjdXN0b20gaW1hZ2UnIGluIHRoZSBsZWZ0IHBhbmUgb2YgdGhlIGN1c3RvbSBpbWFnZSkgIFxuXG4xIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxMCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIHRoZSBmaWx0ZXIgYnV0dG9uOiBhIGZpbHRlciBkaWFsb2d1ZSBkaXNwbGF5cy4gU2VsZWN0IGEgZmlsdGVyIG9wdGlvbi4gVGhlIGZpbHRlciByZXN1bHRzIHNob3VsZCBiZSBzaG93ZWQuICBcblxuMSIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMTEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJGaWx0ZXJzIGFyZSBvdmVycmlkZGVuIGJ5IHNlYXJjaC4gUnVuIGEgc2VhcmNoIHF1ZXJ5IGFuZCB5b3UgY2FuIHNlZSBwcmV2aW91cyBmaWx0ZXIgcmVzdWx0cyBhcmUgb3ZlcnJpZGRlbiBieSB0aGUgcmVzdWx0cyBvZiB0aGUgc2VhcmNoIHF1ZXJ5LiAgXG5cbjEiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjEyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhpcyBwYWdlIG5lZWRzIGEgc3BlY2lhbCBubyByZXN1bHRzIG1lc3NhZ2UgZm9yIHRoZSBzZWFyY2guIFlvdSBjYW4gc2VlIGluIHRoZSBkb2MgYXR0YWNoZWQgdG9cbmh0dHBzOi8vYnVnemlsbGEueW9jdG9wcm9qZWN0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTE1NCAgIFxuXG5UbyB0ZXN0IGl0LCBlbnRlciBhIHJhbmRvbSBzdHJpbmcgaW4gdGhlIHNlYXJjaCBpbnB1dCBmaWVsZCAoc29tZXRoaW5nIGxpa2UgXCJiYmJcIikgYW5kIGNsaWNrIHRoZSAnc2VhcmNoJyBidXR0b24uIFRoZSBzcGVjaWFsIG5vIHJlc3VsdHMgbWVzc2FnZSBpbmNsdWRlcyB0aGUgZm9sbG93aW5nOiAgXG5cbmEpIGluc3RydWN0aW9ucyBhYm91dCBzZWFyY2hpbmcgYW5kIGJ1aWxkaW5nIHJlY2lwZXMgaW4gb3JkZXIgdG8gZ2VuZXJhdGUgbmV3IHBhY2thZ2VzICBcblxuYikgYSBzZWFyY2ggdGV4dCBpbnB1dCBmaWVsZCB3aXRoIHRoZSBzZWFyY2ggc3RyaW5nIHlvdSB0eXBlZCwgYSAnY2xlYXInIGljb24gYW5kIGEgc2VhcmNoIGJ1dHRvbi4gQ2xpY2sgdGhlICdjbGVhcicgaWNvbjogdGhlIHNlYXJjaCBmaWVsZCBzaG91bGQgYmUgY2xlYXJlZCBhbmQgdGhlIGZ1bGwgbGlzdCBvZiBwYWNrYWdlcyBzaG91bGQgYmUgc2hvd24uICBcblxuYykgYSAnc2hvdyBhbGwgcGFja2FnZXMnIGxpbmsuIENsaWNrIHRoZSBsaW5rOiB0aGUgc2VhcmNoIGZpZWxkIHNob3VsZCBiZSBjbGVhcmVkIGFuZCB0aGUgZnVsbCBsaXN0IG9mIHBhY2thZ2VzIHNob3VsZCBiZSBzaG93bi4gICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTi9BIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiQ3VzdG9tX2ltYWdlX3BhZ2Vf4oCTX0FkZF98X1JlbW92ZV9wYWNrYWdlc190YWJsZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLkFkZGluZ19wYWNrYWdlc193aXRob3V0X2RlcGVuZGVuY2llc19mcm9tX2N1c3RvbV9pbWFnZXMiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkFjY2VzcyBhIHByb2plY3QgcGFnZSwgZWl0aGVyIGJ5IGNyZWF0aW5nIGEgbmV3IHByb2plY3Qgb3IgYWNjZXNzaW5nIGFuIGV4aXN0aW5nIHByb2plY3QgZnJvbSB0aGUgXCJBbGwgcHJvamVjdHNcIiB0YWJsZS4gXG5cbiAgICAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPbiB0aGUgcHJvamVjdCBwYWdlIGNsaWNrIG9uIHRoZSBcIk5ldyBjdXN0b20gaW1hZ2VcIiBsaW5rIHNpdHVhdGVkIG9uIHRoZSBsZWZ0LWhhbmQgc2lkZSwgbmVhciBDb25maWd1cmF0aW9uLCBidWlsZHMsIGltcG9ydCBsYXllciAgXG5cblxuICAgICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiICIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaG9vc2UgYW4gaW1hZ2UgcmVjaXBlIGV4YW1wbGU6KGNvcmUtaW1hZ2Utc2F0bykgYW5kIGNsaWNrIG9uIHRoZSBjdXN0b21pc2UgYnV0dG9uIG9uIHRoZSBmYXIgcmlnaHQgKG5vdGUgaWYgdGhhdCBsYXllciBpcyBub3QgYWRkZWQgdGhlIGJ1dHRvbiB3aWxsIHNheSArQWRkIGxheWVyLCBhZGQgaXQgYW5kIHRoZW4gY3VzdG9taXNlKSBcblxuXG4gICAgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgQSBwb3Agb3V0IHNob3VsZCBhcHBlYXIgYW5kIHlvdSBzaG91bGQgZ2V0IHRvIGdpdmUgdGhlIG5ldyBpbWFnZSBhIGN1c3RvbWl6ZWQgbmFtZS4gVGhlbiB5b3Ugd2lsbCBiZSByZWRpcmVjdGVkIHRvIGEgcGFnZSBvZiBBZGR8UmVtb3ZlIFBhY2thZ2VzLiBJZiB0aGlzIGltYWdlIGhhcyBub3QgYmVlbiBidWlsZCBpdCB3aWxsIG5vdCBoYXZlIHBhY2thZ2VzLlxuXG4iCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQnVpbGQgdGhlIG5ldyBpbWFnZSBpZiBpdCBoYXMgbm90IGJlZW4gYnVpbGQsIGVsc2Ugc3RhcnQgYWRkaW5nIHBhY2thZ2VzIHdpdGhvdXQgZGVwZW5kZW5jaWVzIGV4YW1wbGU6IGF0dHItZG9jIFxuXG4gICAgXG4gICAgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJZb3Ugc2hvdWxkIGdldCBhIG1lc3NhZ2UgaW4gYmx1ZSB0aGF0IHNheXMgXCJZb3UgaGF2ZSBhZGRlZCAxIHBhY2thZ2UgdG8gJGltYWdlLWN1c3RvbS1uYW1lOiAkcGFja2FnZS1uYW1lXCIgIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkJ1aWxkIHRoZSBpbWFnZSBhZ2Fpbi5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiRXhwZWN0ZWQgUmVzdWx0IG9uIHN0ZXAgNTogdGhlIHBhY2thZ2VzIHlvdSBoYXZlIGFkZGVkIHNob3VsZCBiZSBpbnN0YWxsZWQgaW4gdGhlIGltYWdlLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkFkZGluZ19wYWNrYWdlc193aXRob3V0X2RlcGVuZGVuY2llc19mcm9tX2N1c3RvbV9pbWFnZXMiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5SZW1vdmluZ19wYWNrYWdlc193aXRob3V0X2FuZF93aXRoX2RlcGVuZGVuY2llc19fZnJvbV9jdXN0b21faW1hZ2VzIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBY2Nlc3MgYSBwcm9qZWN0IHBhZ2UsIGVpdGhlciBieSBjcmVhdGluZyBhIG5ldyBwcm9qZWN0IG9yIGFjY2Vzc2luZyBhbiBleGlzdGluZyBwcm9qZWN0IGZyb20gdGhlIFwiQWxsIHByb2plY3RzXCIgdGFibGUuIFxuXG4gICAgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiT24gdGhlIHByb2plY3QgcGFnZSBjbGljayBvbiB0aGUgXCJOZXcgY3VzdG9tIGltYWdlXCIgbGluayBzaXR1YXRlZCBvbiB0aGUgbGVmdC1oYW5kIHNpZGUsIG5lYXIgQ29uZmlndXJhdGlvbiwgYnVpbGRzLCBpbXBvcnQgbGF5ZXIgIFxuXG5cblxuICAgICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIEEgcG9wIG91dCBzaG91bGQgYXBwZWFyIGFuZCB5b3Ugc2hvdWxkIGdldCB0byBnaXZlIHRoZSBuZXcgaW1hZ2UgYSBjdXN0b21pemVkIG5hbWUuIFRoZW4geW91IHdpbGwgYmUgcmVkaXJlY3RlZCB0byBhIHBhZ2Ugb2YgQWRkfFJlbW92ZSBQYWNrYWdlcy4gSWYgdGhpcyBpbWFnZSBoYXMgbm90IGJlZW4gYnVpbGQgaXQgd2lsbCBub3QgaGF2ZSBwYWNrYWdlcy4gXG5cbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaG9vc2UgYW4gaW1hZ2UgcmVjaXBlIGV4YW1wbGU6KGNvcmUtaW1hZ2Utc2F0bykgYW5kIGNsaWNrIG9uIHRoZSBjdXN0b21pc2UgYnV0dG9uIG9uIHRoZSBmYXIgcmlnaHQgKG5vdGUgaWYgdGhhdCBsYXllciBpcyBub3QgYWRkZWQgdGhlIGJ1dHRvbiB3aWxsIHNheSArQWRkIGxheWVyLCBhZGQgaXQgYW5kIHRoZW4gY3VzdG9taXNlKSBcblxuXG5cbiAgICAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkEgcG9wIG91dCBzaG91bGQgYXBwZWFyIGFuZCB5b3Ugc2hvdWxkIGdldCB0byBnaXZlIHRoZSBuZXcgaW1hZ2UgYSBjdXN0b21pemVkIG5hbWUuIFRoZW4geW91IHdpbGwgYmUgcmVkaXJlY3RlZCB0byBhIHBhZ2Ugb2YgQWRkfFJlbW92ZSBQYWNrYWdlcy4gSWYgdGhpcyBpbWFnZSBoYXMgbm90IGJlZW4gYnVpbGQgaXQgd2lsbCBub3QgaGF2ZSBwYWNrYWdlcy5cblxuIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkJ1aWxkIHRoZSBuZXcgaW1hZ2UgaWYgaXQgaGFzIG5vdCBiZWVuIGJ1aWxkIGVsc2Ugc3RhcnQgcmVtb3ZpbmcgYSBwYWNrYWdlcyAoY2xpY2sgb24gJ0VkaXQgY3VzdG9tIGltYWdlJyBpbiB0aGUgbGVmdCBwYW5lIG9mIHRoZSBjdXN0b20gaW1hZ2UpIHRoYXQgaGF2ZSBkZXBlbmRlbmNpZXMgYW5kIHBhY2thZ2VzIHRoYXQgaGF2ZSBubyBkZXBlbmRlbmNpZXMgdGhhdCBhcmUgYWxyZWFkeSBpbmNsdWRlZCBieSBjbGlja2luZyBvbiB0aGUgcmVkIGJ1dHRvbiBcIlJlbW92ZSBQYWNrYWdlXCIgXG5cblxuICAgIFxuICAgICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiWW91IHNob3VsZCBnZXQgYSBtZXNzYWdlIGluIGJsdWUgdGhhdCBzYXlzIFwiWW91IGhhdmUgcmVtb3ZlZCAxIHBhY2thZ2UgdG8gJGltYWdlLWN1c3RvbS1uYW1lOiAkcGFja2FnZS1uYW1lXCIgIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkJ1aWxkIHRoZSBpbWFnZSBhZ2Fpbi4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogInRoZSBwYWNrYWdlcyB5b3UgaGF2ZSByZW1vdmVkIHNob3VsZCBub3QgYmUgaW5zdGFsbGVkIGluIHRoZSBpbWFnZS4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJSZW1vdmluZ19wYWNrYWdlc193aXRob3V0X2FuZF93aXRoX2RlcGVuZGVuY2llc19fZnJvbV9jdXN0b21faW1hZ2VzIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuQWRkaW5nX3BhY2thZ2VzX3dpdGhfZGVwZW5kZW5jaWVzIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBY2Nlc3MgYSBwcm9qZWN0IHBhZ2UsIGVpdGhlciBieSBjcmVhdGluZyBhIG5ldyBwcm9qZWN0IG9yIGFjY2Vzc2luZyBhbiBleGlzdGluZyBwcm9qZWN0IGZyb20gdGhlIFwiQWxsIHByb2plY3RzXCIgdGFibGUuIFxuXG4gICAgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiT24gdGhlIHByb2plY3QgcGFnZSBjbGljayBvbiB0aGUgXCJOZXcgY3VzdG9tIGltYWdlXCIgbGluayBzaXR1YXRlZCBvbiB0aGUgbGVmdC1oYW5kIHNpZGUsIG5lYXIgQ29uZmlndXJhdGlvbiwgYnVpbGRzLCBpbXBvcnQgbGF5ZXIgIFxuXG5cbiAgICAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiAiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hvb3NlIGFuIGltYWdlIHJlY2lwZSBleGFtcGxlOihjb3JlLWltYWdlLXNhdG8pIGFuZCBjbGljayBvbiB0aGUgY3VzdG9taXNlIGJ1dHRvbiBvbiB0aGUgZmFyIHJpZ2h0IChub3RlIGlmIHRoYXQgbGF5ZXIgaXMgbm90IGFkZGVkIHRoZSBidXR0b24gd2lsbCBzYXkgK0FkZCBsYXllciwgYWRkIGl0IGFuZCB0aGVuIGN1c3RvbWlzZSkgXG5cblxuICAgICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQSBwb3Agb3V0IHNob3VsZCBhcHBlYXIgYW5kIHlvdSBzaG91bGQgZ2V0IHRvIGdpdmUgdGhlIG5ldyBpbWFnZSBhIGN1c3RvbWl6ZWQgbmFtZS4gVGhlbiB5b3Ugd2lsbCBiZSByZWRpcmVjdGVkIHRvIGEgcGFnZSBvZiBBZGR8UmVtb3ZlIFBhY2thZ2VzLiBJZiB0aGlzIGltYWdlIGhhcyBub3QgYmVlbiBidWlsZCBpdCB3aWxsIG5vdCBoYXZlIHBhY2thZ2VzLiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCB0aGUgbmV3IGltYWdlIGlmIGl0IGhhcyBub3QgYmVlbiBidWlsZCBlbHNlIHN0YXJ0IGFkZGluZyBwYWNrYWdlcyB0aGF0IGhhdmUgZGVwZW5kZW5jaWVzICggeW91IHdpbGwgYmUgYWJsZSB0byBzZWUgaW4gdGhlIGRlcGVuZGVuY2llcyBjb2x1bW4gYSBsaXR0bGUgc3F1YXJlIHdpdGggYSBudW1iZXIsIHRoYXQgdGVsbHMgeW91IHRoZSBkZXBlbmRlbmNpZXMgaXQgaG9sZHMpIGV4YW1wbGU6IGxpYmF0dHIgdGhpcyBob2xkcyAyIGRlcGVuZGVuY2llcyggYmFzaCBhbmQgZ2xpYmMpICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIFlvdSBzaG91bGQgZ2V0IGEgcG9wLW91dCB0aGF0IHRoYXQgc2F5IFwiJHBhY2thZ2VfbmFtZSBkZXBlbmRlbmNpZXNcIiB0aGVuIGl0IHNob3VsZCBsaXN0IHRoZSBkZXBlbmRlbmNpZXMuIE9uY2UgY2xpY2tlZCBvbiB0aGUgYWRkIHBhY2thZ2VzIGJ1dHRvbiBpdCBzaG91bGQgYWRkIHRoZSBwYWNrYWdlcyBsaXN0ZWQgaW4gdGhlIHBvcC1vdXQuIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkJ1aWxkIHRoZSBpbWFnZSBhZ2Fpbi4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkFkZGluZ19wYWNrYWdlc193aXRoX2RlcGVuZGVuY2llcyIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLkNyZWF0ZV9Qcm9qZWN0IiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB0b2FzdGVyIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ3JlYXRlIGEgdG9hc3RlciBwcm9qZWN0IGJ5IGlzc3VpbmcgYSBuYW1lIGFuZCBzZWxlY3RpbmcgYSByZWxlYXNlIHZlcnNpb24uIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPbmNlIHByb2plY3QgaXMgY3JlYXRlZCBpdCBzaG91bGQgcmVkaXJlY3QgeW91IHRvIGEgbmV3IHByb2plY3QgY29uZmlndXJhdGlvbiBwYWdlIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdGhlIGgxIHBhZ2UgdGl0bGUgaXMgc2V0IHRvIHRoZSBuYW1lIHRoZSB1c2VyIHR5cGVkIGluIHRoZSBuZXcgcHJvamVjdCBmb3JtLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkNyZWF0ZV9Qcm9qZWN0IgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuVmVyaWZ5X3Byb2plY3RfZGV0YWlsX3BhZ2VfbGVmdF9iYXJfbWVudSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgdG9hc3RlciIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNyZWF0ZSBhIHRvYXN0ZXIgcHJvamVjdCBcbiAgICBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT25jZSBwcm9qZWN0IGlzIGNyZWF0ZWQgaXQgc2hvdWxkIHJlZGlyZWN0IHlvdSB0byBhIG5ldyBwcm9qZWN0IGNvbmZpZ3VyYXRpb24gcGFnZS4gXG5cbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGUgcGFnZSBjb250YWlucyB0aGUgdGFicyBcbiAgICBDb25maWd1cmF0aW9uIC0tLT4gc2VsZWN0ZWQgYnkgZGVmYXVsdCBcbiAgICBDb21wYXRpYmxlIE1ldGFkYXRhIChzZXBhcmF0aW9uIGxhYmVsKSBcbiAgICBDdXN0b20gaW1hZ2VzIFxuICAgIEltYWdlIHJlY2lwZXMgXG4gICAgU29mdHdhcmUgcmVjaXBlcyBcbiAgICBNYWNoaW5lcyBcbiAgICBMYXllcnMgXG4gICAgRXh0cmEgQ29uZmlndXJhdGlvbiAoc2VwYXJhdGlvbiBsYWJlbCkgXG4gICAgQml0QmFrZSB2YXJpYWJsZXMgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIEFsbCBlbGVtZW50cyBhcmUgcHJlc2VudC4gXG5cbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBlYWNoIGVsZW1lbnQgdG8gc2VlIGlmIHRoZSBoMiB0aXRsZSBpcyBjaGFuZ2luZyB0byB0aGUgcmVzcGVjdGl2ZSBsaW5rIGNsaWNrZWQuIEV4YW1wbGUgaWYgY2xpY2tlZCBvbiBcIkN1c3RvbSBJbWFnZXNcIiB0aGVuIHRoZSBoMiB0aXRsZSBzaG91bGQgY2hhbmdlIHRvIFwiQ3VzdG9tIGltYWdlc1wiIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJBbGwgZWxlbWVudHMgYXJlIGNsaWNrYWJsZSBhbmQgaDIgdGl0bGUgY2hhbmdlcyB0byB0aGUgY29ycmVzcG9uZGluZyB0aXRsZS4uIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiVmVyaWZ5X3Byb2plY3RfZGV0YWlsX3BhZ2VfbGVmdF9iYXJfbWVudSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLkNvbmZpZ3VyYXRpb25faW5mb3JtYXRpb25fb2ZfUHJvamVjdF9EZXRhaWxfcGFnZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xvbmUgUG9reSBhbmQgc3RhcnQgdG9hc3RlciBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ3JlYXRlIGEgbWFzdGVyIHRvYXN0ZXIgcHJvamVjdCBcbiAgICBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT25jZSBwcm9qZWN0IGlzIGNyZWF0ZWQgaXQgc2hvdWxkIHJlZGlyZWN0IHlvdSB0byBhIG5ldyBwcm9qZWN0IGNvbmZpZ3VyYXRpb24gcGFnZSBcblxuIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdGhlIGNvbmZpZ3VyYXRpb24gYnV0dG9uIG9uIHRoZSBsZWZ0IHNpZGUgYmFyIGlzIHNlbGVjdGVkIGJ5IGRlZmF1bHQgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIEV4cGVjdGVkIHJlc3VsdCBzdGVwIDMgJiA0OiBUaGUgY29uZmlndXJhdGlvbiBsaW5rIG5leHQgdG8gdGhlIGJ1aWxkIGxpbmsgc2hvdWxkIGJlIHNlbGVjdGVkIHNlZSBhdHRhY2htZW50LiAgXG5cblxuXG4iCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIGNvbmZpZ3VyYXRpb24gZGV0YWlscyBzaG91bGQgaW5jbHVkZSBjYW52YXM6IFxuICAgIE1hY2hpbmUgXG4gICAgTW9zdCBidWlsdCByZWNpcGVzIFxuICAgIExheWVycyBcbiAgICBQcm9qZWN0IFJlbGVhc2UgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJFeHBlY3RlZCByZXN1bHQgc3RlcCA0OiBBIG1hY2hpbmUgbXVzdCBhbHdheXMgYmUgc2V0LiBcblxuVGhlIGRlZmF1bHQgbGF5ZXJzIHNwZWNpZmllZCBpbiB0aGUgVG9hc3RlciBjb25maWd1cmF0aW9uIG11c3QgYWx3YXlzIGJlIGxpc3RlZCBpbiB0aGUgbGF5ZXIgc2VjdGlvbiAoaW4gb3VyIGNhc2UsIGZvciB0aGUgcG9reSBjb25maWd1cmF0aW9uIHdlIHNob3VsZCBoYXZlIG9wZW5lbWJlZGRlZC1jb3JlLCBtZXRhLXBva3kgYW5kIG1ldGEteW9jdG8tYnNwKSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkNvbmZpZ3VyYXRpb25faW5mb3JtYXRpb25fb2ZfUHJvamVjdF9EZXRhaWxfcGFnZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlZlcmlmeV9NYWNoaW5lX2luZm9ybWF0aW9uX29mX3Byb2plY3RfZGV0YWlsX3BhZ2UiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHRvYXN0ZXIiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDcmVhdGUgYSB0b2FzdGVyIHByb2plY3QgXG4gICAgXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkV4cGVjdGVkIHJlc3VsdCBzdGVwIDI6IE9uY2UgcHJvamVjdCBpcyBjcmVhdGVkIGl0IHNob3VsZCByZWRpcmVjdCB5b3UgdG8gYSBuZXcgcHJvamVjdCBDb25maWd1cmF0aW9uIHBhZ2UgXG5cbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJUaGUgY29uZmlndXJhdGlvbiBkZXRhaWxzIHNob3VsZCBpbmNsdWRlIGEgbGFiZWwgaW4gYm9sZCBmb250IHRoYXQgc2F5czogXG4gICAgTWFjaGluZTogdGhpcyBjYW52YXMgc2hvdWxkIGhhdmUgdGhlIG1hY2hpbmUgbGFiZWwgdHlwZSB1bmRlciBpdCBhbmQgYW4gZWRpdGluZyBidXR0b24gb24gdGhlIHNpZGUgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJFeHBlY3RlZCByZXN1bHQgc3RlcCAzOiBDb21wYXJlIHRvIHRoZSBhdHRhY2hlZCBzbmFwc2hvdC4gVGhlIG1hY2hpbmUgbXVzdCBhbHdheXMgYmUgc2V0LiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlZlcmlmeV9NYWNoaW5lX2luZm9ybWF0aW9uX29mX3Byb2plY3RfZGV0YWlsX3BhZ2UiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5WZXJpZnlfbW9zdF9idWlsdF9yZWNpcGVzX2luZm9ybWF0aW9uX29mX3RoZV9wcm9qZWN0X2RldGFpbF9wYWdlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB0b2FzdGVyICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNyZWF0ZSBhIHRvYXN0ZXIgcHJvamVjdCBcbiAgICBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiRXhwZWN0ZWQgcmVzdWx0IHN0ZXAgMjogT25jZSBwcm9qZWN0IGlzIGNyZWF0ZWQgaXQgc2hvdWxkIHJlZGlyZWN0IHlvdSB0byBhIG5ldyBwcm9qZWN0IGNvbmZpZ3VyYXRpb24gcGFnZSAiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIGNvbmZpZ3VyYXRpb24gZGV0YWlscyBzaG91bGQgaW5jbHVkZSBhIGxhYmVsIGluIGJvbGQgZm9udCB0aGF0IHNheXM6IFxuICAgIE1vc3QgYnVpbHQgcmVjaXBlczogSW4gdGhpcyBjYW52YXMgb25lIG9mIHRoZSBmb2xsb3dpbmcgaW5mb3JtYXRpb24gc2hvdWxkIHNob3c6ICBcblxuICAgICAgICAgICAgYSkgSWYgdGhlcmUgaGFzIGJlZW4gbm8gYnVpbHQgcmVjaXBlcyBpdCBzaG91bGQgaGF2ZSBhIGxhYmVsIHRoYXQgc2F5czogXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiWW91IGhhdmVuJ3QgYnVpbHQgYW55IHJlY2lwZXMgeWV0LCBjaG9vc2UgYSByZWNpcGUgdG8gYnVpbGRcIiAgXG5cbiAgICAgICAgICAgIGIpIEVsc2UgaXQgc2hvdWxkIGhhdmUgYSBsaXN0IG9mIGJ1aWx0IHJlY2lwZXMgYW5kIGEgY2hlY2sgYm94IGluIGZyb250IG9mIGl0LiBTbyB0aGF0IGl0IGNvdWxkIGJlIHNlbGVjdGVkIGFuZCBidWlsdCBhZ2FpbiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkV4cGVjdGVkIHJlc3VsdCBzdGVwIGE6IFNlZSBQcm9qZWN0RGV0YWlsUGFnZTIucG5nIGF0dGFjaG1lbnQuXG5cbkV4cGVjdGVkIHJlc3VsdCBzdGVwIGI6IFNlZSBQcm9qZWN0RGV0YWlsUGFnZS5wbmcgYXR0YWNobWVudC4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJWZXJpZnlfbW9zdF9idWlsdF9yZWNpcGVzX2luZm9ybWF0aW9uX29mX3RoZV9wcm9qZWN0X2RldGFpbF9wYWdlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuVmVyaWZ5X3Byb2plY3RfcmVsZWFzZV9pbmZvcm1hdGlvbl9vbl9wcm9qZWN0X2RldGFpbF9wYWdlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB0b2FzdGVyIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ3JlYXRlIGEgdG9hc3RlciBwcm9qZWN0IFxuICAgIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJFeHBlY3RlZCByZXN1bHQgc3RlcCAyOiBPbmNlIHByb2plY3QgaXMgY3JlYXRlZCBpdCBzaG91bGQgcmVkaXJlY3QgeW91IHRvIGEgbmV3IHByb2plY3QgY29uZmlndXJhdGlvbiBwYWdlLiAiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIGNvbmZpZ3VyYXRpb24gZGV0YWlscyBzaG91bGQgaW5jbHVkZSBhIGxhYmVsIGluIGJvbGQgZm9udCB0aGF0IHNheXM6IFxuICAgICAgICAgUHJvamVjdCByZWxlYXNlOiB0aGlzIGNhbnZhcyBzaG91bGQgYWxzbyBoYXZlIGEgbGFiZWwgdGhhdCBzaG93IHRoZSByZWxlYXNlIHByb2plY3QgeW91IGNob3NlIGF0IHRoZSBiZWdpbm5pbmcuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJFeHBlY3RlZCByZXN1bHQgc3RlcCAzOiBTZWUgYXR0YWNobWVudCBQcm9qZWN0RGV0YWlsUGFnZS5qbnAuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiVmVyaWZ5X3Byb2plY3RfcmVsZWFzZV9pbmZvcm1hdGlvbl9vbl9wcm9qZWN0X2RldGFpbF9wYWdlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuVmVyaWZ5X2xheWVyX2luZm9ybWF0aW9uX29mX3RoZV9wcm9qZWN0X2RldGFpbF9wYWdlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbG9uZSB0aGUgcG9reSBlbnZpcm9ubWVudCAgICAgZ2l0IGNsb25lIGh0dHA6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy9naXQvcG9reSIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHRvYXN0ZXIiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkV4cGVjdGVkIHJlc3VsdCBzdGVwIDI6IE9uY2UgcHJvamVjdCBpcyBjcmVhdGVkIGl0IHNob3VsZCByZWRpcmVjdCB5b3UgdG8gYSBuZXcgcHJvamVjdCBjb25maWd1cmF0aW9uIHBhZ2UuIFxuXG4iCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ3JlYXRlIGEgdG9hc3RlciBwcm9qZWN0IFxuICAgIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJFeHBlY3RlZCByZXN1bHQgc3RlcCAzOiBTZWUgYXR0YWNobWVudCBvZiBsYXllckNhbnZhcy5wbmdcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJUaGUgY29uZmlndXJhdGlvbiBkZXRhaWxzIHNob3VsZCBpbmNsdWRlIGEgbGFiZWwgd2l0aCBib2xkIGZvbnQgdGhhdCBzYXlzOiBcbiAgICAgICBMYXllcjogIHRoaXMgY2FudmFzIHNob3VsZCBoYXZlIDMgbGF5ZXJzIGxpc3RlZCBieSBkZWZhdWx0IChvcGVuZW1iZWRkZWQtY29yZSwgbWV0YS1wb2t5LCBhbmQgbWV0YS15b2N0by1ic3ApLiAgXG4gICAgICAgRWFjaCBsYXllciBzaG91bGQgaGF2ZSBhIHRyYXNoY2FuIGljb24gYXQgdGhlIHNpZGUgdGhhdCBjYW4gYmUgdXNlZCB0byBlcmFzZSB0aGUgbGFiZWwgZnJvbSB0aGUgcHJvamVjdC4gXG4gICAgICAgIFRoZSBsYXllciBjYW52YXMgc2hvdWxkIGhhdmUgYSB0ZXh0IGJveCB3aXRoIHRoZSB0ZXh0IFwidHlwZSBhIGxheWVyIG5hbWVcIiBhIGJ1dHRvbiBcIkFkZCBsYXllclwiIG5leHQgdG8gaXQuIFxuICAgICAgICBqdXN0IHVuZGVybmVhdGggYSBcInZpZXcgY29tcGF0aWJsZSBsYXllciB8IGltcG9ydCBsYXllclwiIGxpbmsuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiVmVyaWZ5X2xheWVyX2luZm9ybWF0aW9uX29mX3RoZV9wcm9qZWN0X2RldGFpbF9wYWdlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuVmVyaWZ5X3Byb2plY3RfZGV0YWlsX2xpbmtzIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB0b2FzdGVyICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNyZWF0ZSBhIHRvYXN0ZXIgcHJvamVjdCBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJFeHBlY3RlZCByZXN1bHQgc3RlcCAyOiBPbmNlIHByb2plY3QgaXMgY3JlYXRlZCBpdCBzaG91bGQgcmVkaXJlY3QgeW91IHRvIGEgbmV3IHByb2plY3QgY29uZmlndXJhdGlvbiBwYWdlLiAgXG5cbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJUaGUgY29uZmlndXJhdGlvbiBkZXRhaWxzIHNob3VsZCBpbmNsdWRlIFxuICAgIDQgbGlua3MsIHN0YXJ0aW5nIGluIHRoZSB1cHBlciBsZWZ0IHNpZGUgdGhlIENvbmZpZ3VyYXRpb24gbGluaywgQnVpbGRzKCMpIGxpbmssIEltcG9ydCBsYXllciBsaW5rLCBhbmQgdGhlIE5ldyBjdXN0b20gaW1hZ2UgbGluay4gXG5cbiAgICAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkV4cGVjdGVkIHJlc3VsdCBzdGVwIDM6IEFsbCBsaW5rcyBzaG91bGQgYmUgY2xpY2thYmxlIGFuZCBzaG91bGQgaGF2ZSBpbmZvcm1hdGlvbiBvciB0YWJsZXMsIG9yIGZvcm1zLiBzZWUgYXR0YWNobWVudCBwcm9qZWN0RGV0YWlsTGlua3MucG5nIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiVmVyaWZ5X3Byb2plY3RfZGV0YWlsX2xpbmtzIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuVmVyaWZ5X2J1aWxkX3RleGJveF9leGlzdHNfYW5kX3dvcmtzIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB0b2FzdGVyIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ3JlYXRlIGEgdG9hc3RlciBwcm9qZWN0IFxuICAgIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgT25jZSBwcm9qZWN0IGlzIGNyZWF0ZWQgaXQgc2hvdWxkIHJlZGlyZWN0IHlvdSB0byBhIG5ldyBwcm9qZWN0IGNvbmZpZ3VyYXRpb24gcGFnZS4gIFxuXG5cbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJUaGUgY29uZmlndXJhdGlvbiBkZXRhaWxzIHNob3VsZCBpbmNsdWRlIFxuICAgIEFmdGVyIHRoZSA0IGxpbmtzIChDb25maWd1cmF0aW9uLCBCdWlsZCgjKSwgSW1wb3J0IGxheWVyICYgTmV3IGN1c3RvbSBpbWFnZSkgIGF0IHRoZSBmYXIgcmlnaHQgdGhlcmUgc2hvdWxkIGJlIGEgdGV4dGJveCB3aXRoIHRoZSBsYWJlbCB0aGF0IHNheXMuLi4uXCJUeXBlIHRoZSByZWNpcGUgeW91IHdhbnQgdG8gYnVpbGRcIiAgYW5kIGEgYnV0dG9uIFwiQnVpbGRcIiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJTZWUgYXR0YWNobWVudCBidWlsZFRYVC5wbmcsIFRoZSBidWlsZCBidXR0b24gc2hvdWxkIGJlIGRpc2FibGVkIHdoZW5ldmVyIHRoZSB0ZXh0IGlucHV0IGZpZWxkIGlzIGVtcHR5LCBzbyB0aGF0IHlvdSBjYW5ub3Qgc3RhcnQgYSBidWlsZCB3aXRoIGEgYmxhbmsgdGFyZ2V0ICBcblxuIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlR5cGUgaW4gdGhlIHRleHRib3ggYW4gaW1hZ2UgeW91IHdvdWxkIGxpa2UgdG8gYnVpbGQgZXhhbXBsZSAoY29yZS1pbWFnZS1taW5pbWFsKSBhbmQgY2xpY2sgdGhlIGJ1aWxkIGJ1dHRvbi5cblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgSW1hZ2Ugc3RhcnRzIGJ1aWxkaW5nLiBXaGVuZXZlciB0aGVyZSBpcyBpbmZvcm1hdGlvbiBpbiB0aGUgaW1hZ2UgcmVjaXBlcyBhbmQgc29mdHdhcmUgcmVjaXBlcyB0YWJsZXMsIHRoZSB0ZXh0IGlucHV0IGZpZWxkIHNob3VsZCBwcmVzZW50IHN1Z2dlc3Rpb25zIGZyb20gdGhlIGxpc3Qgb2YgcmVjaXBlcyBwcm92aWRlZCBieSB0aGUgbGF5ZXJzIGluIHRoZSBcImxheWVyc1wiIGxpc3QuIFRoZSBzdWdnZXN0aW9ucyBjb250YWluIHRoZSBzdHJpbmcgdHlwZWQgaW4gdGhlIGlucHV0IGZpZWxkLCBhbmQgdXBkYXRlIGFzIHlvdSB0eXBlLiBUaGV5IGFwcGVhciBvbiB0eXBpbmcgdGhlIHNlY29uZCBjaGFyYWN0ZXIuIEEgbWF4aW11bSBvZiA4IHN1Z2dlc3Rpb25zIGNhbiBiZSBzaG93bi4gVGhleSBhcmUgc29ydGVkIGFzIGZvbGxvd3M6IGZpcnN0IHJlY2lwZXMgc3RhcnRpbmcgd2l0aCB0aGUgc3RyaW5nLCBpbiBhbHBoYWJldGljYWwgb3JkZXI7IHRoZW4gcmVjaXBlcyBjb250YWluaW5nIHRoZSBzdHJpbmcsIGFsc28gaW4gYWxwaGFiZXRpY2FsIG9yZGVyICBcblxuXG5XaGVuIHlvdSBjbGljayB0aGUgYnVpbGQgYnV0dG9uIHlvdSBhcmUgYnJvdWdodCB0byB0aGUgXCJCdWlsZHNcIiB0YWIsIGFuZCBhIG5ldyBidWlsZCBpbiBwcm9ncmVzcyBhcHBlYXJzIGF0IHRoZSB0b3Agb2YgdGhlIFwiTGF0ZXN0IHByb2plY3QgYnVpbGRzXCIgc2VjdGlvbiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlZlcmlmeV9idWlsZF90ZXhib3hfZXhpc3RzX2FuZF93b3Jrcy4iCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5WZXJ5ZmluZ190aGVfYnVpbGRzX2xpbmtfc2hvd19wcm9wZXJfaW5mb3JtYXRpb24iLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHRvYXN0ZXIiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDcmVhdGUgYSB0b2FzdGVyIHByb2plY3QgXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBPbmNlIHByb2plY3QgaXMgY3JlYXRlZCBpdCBzaG91bGQgcmVkaXJlY3QgeW91IHRvIGEgbmV3IHByb2plY3QgY29uZmlndXJhdGlvbiBwYWdlLiBcblxuXG4iCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIGNvbmZpZ3VyYXRpb24gZGV0YWlscyBzaG91bGQgaW5jbHVkZSBcbiAgICBBIGJ1aWxkcyB0YWIgdGhhdCB3aGVuIGNsaWNraW5nIG9uLCBpdCBzaG91bGQgZGlzcGxheSBvbmUgb2YgdGhlIGZvbGxvd2luZzogXG4gICAgICAgXG5cbiAgICAgICAgYSkgQSBsYWJlbCB0aGF0IHNheXMgXCJMYXRlc3QgcHJvamVjdCBidWlsZHNcIiAgdGhlbiBhIGxhYmVsIHdpdGggXCJBbGwgcHJvamVjdCBidWlsZHNcIiBcbiAgICAgICAgICAgICAgICAgICBJZiB5b3UgaGF2ZSBhIGZpbmlzaGVkIGJ1aWxkIG9yIHRoZXJlIGlzIGFuIG9uZ29pbmcgYnVpbGRzIHRoZW46IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgWW91IHNob3VsZCBzZWUgYSBwcm9ncmVzcyBiYXIgb2YgdGhlIG9uZ29pbmcgYnVpbGRzIGluIHRoZSBwcm9qZWN0LiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBZb3Ugc2hvdWxkIHNlZSBhIHRhYmxlIHdpdGggdGhlIGFscmVhZHkgZG9uZSBidWlsZHMgaW4gdGhlIHByb2plY3QuIFxuXG5cbiAgICAgICAgYikgXCJBbGwgcHJvamVjdCBidWlsZHNcIiBhbmQgYSBzZWFyY2ggdGV4dGJveCB3aXRoIGEgYnV0dG9uIG5vdGhpbmcgZWxzZSBvbmx5IGlmIHRoZXJlIGFyZSBubyBidWlsZHMgZG9uZSBpbiB0aGUgcHJvamVjdCBcbiAgICAgICAgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJFeHBlY3RlZCByZXN1bHQgZm9yIHN0ZXAgYSk6ICBTZWUgRXhpc3RpbmdCdWlsZHMucG5nIGF0dGFjaG1lbnQuIFxuXG5cbkV4cGVjdGVkIHJlc3VsdCBmb3Igc3RlcCBiKTogU2VlIFplcm9CdWlsZHMucG5nIGF0dGFjaG1lbnQuICIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlZlcnlmaW5nX3RoZV9idWlsZHNfbGlua19zaG93X3Byb3Blcl9pbmZvcm1hdGlvbiIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlZlcmlmeV90aGF0X3RoZV9JbXBvcnRfbGF5ZXJfbGlua19zaG93c190aGVfZm9ybSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgdG9hc3RlciIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNyZWF0ZSBhIHRvYXN0ZXIgcHJvamVjdCBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgIE9uY2UgcHJvamVjdCBpcyBjcmVhdGVkIGl0IHNob3VsZCByZWRpcmVjdCB5b3UgdG8gYSBuZXcgcHJvamVjdCBjb25maWd1cmF0aW9uIHBhZ2UuIFxuXG5cbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJUaGUgY29uZmlndXJhdGlvbiBkZXRhaWxzIHNob3VsZCBpbmNsdWRlIFxuICAgIEFuIEltcG9ydCBsYXllciBsaW5rICB0aGF0IHdoZW4gY2xpY2tpbmcgb24sIGl0IHNob3VsZCBkaXNwbGF5OiBcbiAgICAgICAgICBBIGxhYmVsIHRoYXQgc2F5cyBcIkxheWVyIHJlcG9zaXRvcnkgaW5mb3JtYXRpb25cIiBcbiAgICAgICAgICBBIGxhYmVsIHRoYXQgc2F5cyBcIlRoZSBsYXllciB5b3UgYXJlIGltcG9ydGluZyBtdXN0IGJlIGNvbXBhdGlibGUgd2l0aCBZb2N0byBQcm9qZWN0IG1hc3Rlciwgd2hpY2ggaXMgdGhlIHJlbGVhc2UgeW91IGFyZSB1c2luZyBpbiB0aGlzIHByb2plY3QuXCIgXG4gICAgICAgIEZvcm0gY29tcG9zZWQgb2YgdGhlIGZvbGxvd2luZyBlbGVtZW50czogXG4gICAgICAgICAgICBMYXllciBuYW1lIDogdGV4dGJveCBcbiAgICAgICAgICAgIEdpdCByZXBvc2l0b3J5IFVSTCA6IHRleHRib3ggXG4gICAgICAgICAgICBSZXBvc2l0b3J5IHN1YmRpcmVjdG9yeSAob3B0aW9uYWwpIDogdGV4dGJveCBcbiAgICAgICAgICAgIEdpdCByZXZpc2lvbiA6IHRleHRib3ggXG4gICAgICAgICAgICBMYXllciBkZXBlbmRlbmNpZXMgKG9wdGlvbmFsKSA6IFwib3BlbmVtYmVkZGVkLWNvcmVcIiBsaW5rIGFuZCAodHJhc2ggaWNvbiksIHRleHRib3ggYW5kIFwiQWRkIGxheWVyXCIgYnV0dG9uIFxuICAgICAgICAgICAgSW1wb3J0IGFuZCBhZGQgdG8gcHJvamVjdCA6IGJ1dHRvbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIFNlZSBhdHRhY2htZW50IEltcG9ydExheWVyRm9ybS5wbmciCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJWZXJpZnlfdGhhdF90aGVfSW1wb3J0X2xheWVyX2xpbmtfc2hvd3NfdGhlX2Zvcm0iCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5WZXJpZnlfdGhhdF9OZXdfQ3VzdG9tX0ltYWdlX2xpbmtfd29ya3NfYW5kX3Nob3dzX2luZm9ybWF0aW9uIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB0b2FzdGVyIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ3JlYXRlIGEgdG9hc3RlciBwcm9qZWN0IFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBPbmNlIHByb2plY3QgaXMgY3JlYXRlZCBpdCBzaG91bGQgcmVkaXJlY3QgeW91IHRvIGEgbmV3IHByb2plY3QgY29uZmlndXJhdGlvbiBwYWdlIFxuXG5cbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJUaGUgY29uZmlndXJhdGlvbiBkZXRhaWxzIHNob3VsZCBpbmNsdWRlICBcbiAgICBBIFwiTmV3IGN1c3RvbSBpbWFnZVwiIHRhYiB0aGF0IHdoZW4gY2xpY2tpbmcgb24sIGl0IHNob3VsZCBkaXNwbGF5OiBcbiAgICAgICAgYSBUaXRsZSBsYWJlbCB0aGF0IHNheXM6IFwiU2VsZWN0IHRoZSBpbWFnZSByZWNpcGUgeW91IHdhbnQgdG8gY3VzdG9taXNlKCNudW1iZXJfb3JfcmVjaXBlc19hdmFpbGFibGUpXCIgXG4gICAgICAgIEEgc2VhcmNoIHRleHRib3ggd2l0aCB0aGUgbGFiZWwgb2Y6IFwiU2VhcmNoIGFuZCBzZWxlY3QgdGhlIGltYWdlIHJlY2lwZSB5b3Ugd2FudCB0byBjdXN0b21pc2VcIiBcbiAgICAgICAgQSBcIlNlYXJjaCBidXR0b25cIiBcbiAgICAgICAgQSBcIkVkaXQgY29sdW1uc1wiIGJ1dHRvbiBcbiAgICAgICAgQSB0YWJsZSB0aGF0IHdpbGwgZGlzcGxheSB0aGUgY3VzdG9taXNlIGltYWdlcyBhdmFpbGFibGUgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJTZWUgYXR0YWNobWVudCBDdXN0b21JbWFnZS5wbmciCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJWZXJpZnlfdGhhdF9OZXdfQ3VzdG9tX0ltYWdlX2xpbmtfd29ya3NfYW5kX3Nob3dzX2luZm9ybWF0aW9uIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuVmVyaWZ5X21vc3RfYnVpbHRfcmVjaXBlX3Nob3dzX2FfbWF4aW11bV9vZl81X3JlY2lwZXMiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHRvYXN0ZXIiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDcmVhdGUgYSB0b2FzdGVyIHByb2plY3QiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCA2IHJlY2lwZXMgZXhhbXBsZSAoY29yZS1pbWFnZS1zYXRvLCBjb3JlLWltYWdlLW1pbmltYWwsIGNvcmUtaW1hZ2UtYmFzZSwgY29yZS1pbWFnZS1sc2IsIGNvcmUtaW1hZ2UtY2x1dHRlcikgdG8gbmFtZSBhIGZldy4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgQWxsIHJlY2lwZXMgYXJlIGJ1aWx0IGNvcnJlY3RseSBcblxuIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIldhaXQgZm9yIHRoZSByZWNpcGVzIHRvIGZpbmlzaCAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJHbyB0byB0aGUgY29uZmlndXJhdGlvbiBkZXRhaWxzLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIFlvdSBzaG91bGQgc2VlIDUgb2YgdGhlIDYgcmVjaXBlcyB0aGF0IHdlcmUgYnVpbGQuIElmIHlvdSBvcmRlciB0aGUgcmVjaXBlcyBpbiBhbHBoYWJldGljYWwgb3JkZXIgeW91IHNob3VsZCBzZWUgdGhhdCB0aGUgZmlyc3QgNSBtYWRlIHRoZSBsaXN0LiAiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJWZXJpZnlfbW9zdF9idWlsdF9yZWNpcGVfc2hvd3NfYV9tYXhpbXVtX29mXzVfcmVjaXBlcyIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlZlcmlmeV9vcmRlcl9zZXF1ZW5jZV9vZl9saXN0aW5nX2luX01vc3RfYnVpbGRfcmVjaXBlcyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgdG9hc3RlciIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNyZWF0ZSBhIHRvYXN0ZXIgcHJvamVjdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkJ1aWxkIDYgcmVjaXBlcyBleGFtcGxlIChjb3JlLWltYWdlLXNhdG8sIGNvcmUtaW1hZ2UtbWluaW1hbCwgY29yZS1pbWFnZS1iYXNlLCBjb3JlLWltYWdlLWxzYiwgY29yZS1pbWFnZS1jbHV0dGVyKSB0byBuYW1lIGEgZmV3LiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJBbGwgcmVjaXBlcyBhcmUgYnVpbHQgY29ycmVjdGx5IFxuXG4iCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiV2FpdCBmb3IgdGhlIHJlY2lwZXMgdG8gZmluaXNoIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJHbyB0byB0aGUgY29uZmlndXJhdGlvbiBkZXRhaWxzLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgSWYgeW91IG9yZGVyIHRoZSByZWNpcGVzIGluIGFscGhhYmV0aWNhbCBvcmRlciB5b3Ugc2hvdWxkIHNlZSB0aGF0IHRoZSBmaXJzdCA1IG1hZGUgdGhlIGxpc3QuIE9ubHkgNSBvdXQgb2YgdGhlIDYgc2hvdWxkIG1ha2UgdGhlIGxpc3QuIFxuXG4iCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiU2VsZWN0IHRoZSA2dGggcmVjaXBlIHRoYXQgZGlkIG5vdCBtYWtlIHRoZSBsaXN0IGFuZCBidWlsZCBpdCBhZ2Fpbi4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgU2luY2UgdGhlIDZ0aCByZWNpcGUgaXMgbm93IGJ1aWx0IHR3aWNlIGl0IHNob3VsZCBtYWtlIHRoZSBsaXN0IGFuZCB0aGUgcmVjaXBlIGluIHRoZSA1dGggcGxhY2Ugc2hvdWxkIG5vdCBhcHBlYXIuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiVmVyaWZ5X29yZGVyX3NlcXVlbmNlX29mX2xpc3RpbmdfaW5fTW9zdF9idWlsZF9yZWNpcGVzIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuVmVyaWZ5X01vc3RfYnVpbGRfcmVjaXBlc19tdWx0aXBsZV9zZWxlY3Rpb24iLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHRvYXN0ZXIiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDcmVhdGUgYSB0b2FzdGVyIHByb2plY3QiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCA0IHJlY2lwZXMgZXhhbXBsZSAoY29yZS1pbWFnZS1zYXRvLCBjb3JlLWltYWdlLW1pbmltYWwsIGNvcmUtaW1hZ2UtYmFzZSwgY29yZS1pbWFnZS1sc2IsIGNvcmUtaW1hZ2UtY2x1dHRlcikgdG8gbmFtZSBhIGZldy4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIEFsbCByZWNpcGVzIGFyZSBidWlsdCBjb3JyZWN0bHkgXG5cbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJXYWl0IGZvciB0aGUgcmVjaXBlcyB0byBmaW5pc2guIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJHbyB0byB0aGUgY29uZmlndXJhdGlvbiBkZXRhaWxzLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgWW91IHNob3VsZCBzZWUgdGhlIDQgcmVjaXBlcyBpbiBhbHBoYWJldGljYWwgb3JkZXIuIFlvdSBzaG91bGQgYWxzbyBub3RlIHRoYXQgdGhlIEJ1aWxkIGJ1dHRvbiBvbiB0aGUgdXBwZXIgcmlnaHQgaGFuZCBjb3JuZXIgaXMgZGlzYWJsZWQgc2luY2Ugbm8gcmVjaXBlIGhhcyBiZWVuIHNlbGVjdGVkLiBcblxuIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlbGVjdCAxIG9mIHRoZSByZWNpcGVzIGluIHRoZSBtb3N0IGJ1aWx0IHJlY2lwZXMgc2VjdGlvbi4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVGhlIGJ1aWxkIGJ1dHRvbiBpcyBhdXRvbWF0aWNhbGx5IGVuYWJsZWQuIFxuXG4iCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiU2VsZWN0IG11bHRpcGxlIChleGFtcGxlIDIgb3IgMykgcmVjaXBlcyBpbiB0aGUgbW9zdCBidWlsdCByZWNpcGVzIHNlY3Rpb24uIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBUaGUgYnVpbGQgYnV0dG9uIGlzIGVuYWJsZWQuIFxuXG4iCisgICAgICAgIH0sCisgICAgICAgICI4IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gdGhlIGJ1aWxkIGJ1dHRvbiB0byBzdGFydCBidWlsZGluZyB0aGUgcmVjaXBlcy4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk9uZSByZWNpcGUgc3RhcnQgdG8gYnVpbGQgYW5kIHRoZSBvdGhlcnMgYXJlIG9uIHF1ZXVlLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlZlcmlmeV9Nb3N0X2J1aWxkX3JlY2lwZXNfbXVsdGlwbGVfc2VsZWN0aW9uIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuVmVyaWZ5X2xheWVyX2FkZGl0aW9uX2Z1bmN0aW9uYWxpdHkiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsb25lIHRoZSBwb2t5IGVudmlyb25tZW50ICAgICBnaXQgY2xvbmUgaHR0cDovL2dpdC55b2N0b3Byb2plY3Qub3JnL2dpdC9wb2t5IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgdG9hc3RlciIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIE9uY2UgcHJvamVjdCBpcyBjcmVhdGVkIGl0IHNob3VsZCByZWRpcmVjdCB5b3UgdG8gYSBuZXcgcHJvamVjdCBjb25maWd1cmF0aW9uIHBhZ2UuIFxuXG4iCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ3JlYXRlIGEgdG9hc3RlciBwcm9qZWN0IHdpdGggbWFzdGVyIHJlbGVhc2UgXG4gICAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIFNlZSBhdHRhY2htZW50IG9mIGxheWVyQ2FudmFzLnBuZyBcblxuXG4iCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQWRkICBsYXllcnMgYnkgdHlwaW5nIHRoZSBuYW1lIGluIHRoZSBcIlR5cGUgYSBsYXllciBuYW1lXCIgaW5wdXQgYm94IGFuZCBhZGRpbmcgYnkgY2xpY2tpbmcgdGhlIGJ1dHRvbi4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIEEgbGlzdCBvZiBsYXllcnMgd2l0aCBzaW1pbGFyIG5hbWUgdG8gdGhlIG9uZSB5b3UgYXJlIHR5cGluZyBzaG91bGQgYXBwZWFyLCBnaXZpbmcgeW91IHRoZSBjaG9pY2UgdG8gYWRkIGl0LiAgVGhlIGRlZmF1bHQgdGV4dCBcIlR5cGUgYSBsYXllciBuYW1lXCIgc2hvdWxkIGRpc2FwcGVhciBhcyBzb29uIGFzIHlvdSBzdGFydCB0eXBpbmcuICBcblxuIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkFkZCBsYXllcnMgYnkgY2xpY2tpbmcgb24gdGhlIFZpZXcgY29tcGF0aWJsZSBsYXllcnMgbGluayBqdXN0IGJlbGxvdyB0aGUgaW5wdXQgdGV4dCBib3guIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRoaXMgc2hvdWxkIHJlZGlyZWN0IHlvdSB0byB0aGUgY29tcGF0aWJsZSBsYXllcnMgcGFnZSB3aGVyZSBhIGxpc3Qgb2YgY29tcGF0aWJsZSBsYXllcnMgc2hvdWxkIGFwcGVhciBhbmQgYWxsb3cgeW91IHRvIEFkZCBsYXllcnMgdG8gdGhlIHByb2plY3QuIFxuXG4iCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQWRkIGEgbGF5ZXIgYnkgaW1wb3J0aW5nIGEgbGF5ZXIgY2xpY2tpbmcgaW4gdGhlIEltcG9ydCBsYXllciIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVGhpcyBsaW5rIHNob3VsZCByZWRpcmVjdCB5b3UgdG8gdGhlIGltcG9ydCBsYXllciBmb3JtIHdoZXJlIHlvdSB3aWxsIGJlIGFibGUgdG8gYWRkIGxheWVycyBmcm9tIGdpdCByZXBvc2l0b3J5IG9yIGEgbG9jYWwgZGlyZWN0b3J5LiBcblxuXG4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJWZXJpZnlfbGF5ZXJfYWRkaXRpb25fZnVuY3Rpb25hbGl0eSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlZlcmlmeV9kZWxldGVfbGF5ZXJfZnVuY3Rpb25hbGl0eSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xvbmUgdGhlIHBva3kgZW52aXJvbm1lbnQgICAgIGdpdCBjbG9uZSBodHRwOi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvZ2l0L3Bva3lcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHRvYXN0ZXIiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBPbmNlIHByb2plY3QgaXMgY3JlYXRlZCBpdCBzaG91bGQgcmVkaXJlY3QgeW91IHRvIGEgbmV3IHByb2plY3QgY29uZmlndXJhdGlvbiBwYWdlLlxuXG4iCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ3JlYXRlIGEgdG9hc3RlciBwcm9qZWN0IG1hc3RlciByZWxlYXNlICBcbiAgIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJTZWUgYXR0YWNobWVudCBvZiBsYXllckNhbnZhcy5wbmcgIFxuXG4iCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiUmVtb3ZlIG9wZW5lbWJlZGRlZC1jb3JlIGxheWVyIGZyb20gdGhlIHByb2plY3QgYnkgY2xpY2tpbmcgdGhlIHRyYXNoIGljb24gbmV4dCB0byBpdC4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRoZSBsYXllciBzaG91bGQgZGlzYXBwZWFyIGZyb20gdGhlIGxpc3QgYW5kIGEgbm90aWZpY2F0aW9uIHNob3VsZCBhcHBlYXIgYXQgdGhlIHRvcCBvZiB0aGUgcGFnZSBzYXlpbmc6IFwiWW91IGhhdmUgcmVtb3ZlZCAxIGxheWVyIGZyb20geW91ciBwcm9qZWN0OiBcIi4gIFRoZSBsYXllcl9uYW1lIHNob3VsZCBiZSBhIGxpbmsgdG8gdGhlIGNvcnJlc3BvbmRpbmcgbGF5ZXIgZGV0YWlsIHBhZ2UuIFRoZSBsYXllciBjb3VudGVyIG5leHQgdG8gdGhlIFwibGF5ZXJzXCIgaGVhZGluZyBzaG91bGQgZGVjcmVhc2UgYnkgb25lLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJSZW1vdmUgYWxsIHRoZSBsYXllcnMgZnJvbSB0aGUgcHJvamVjdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIHlvdSBzaG91bGQgc2VlIGEgbWVzc2FnZSB0aGF0IHJlYWRzOiAgXG5cbllvdSBuZWVkIHRvIGFkZCBzb21lIGxheWVycy4gRm9yIHRoYXQgeW91IGNhbjogIFxuXG4tVmlldyBhbGwgbGF5ZXJzIGNvbXBhdGlibGUgd2l0aCB0aGlzIHByb2plY3QgIFxuXG4tSW1wb3J0IGEgbGF5ZXIgIFxuXG4tUmVhZCBhYm91dCBsYXllcnMgaW4gdGhlIGRvY3VtZW50YXRpb24gIFxuXG5PciB0eXBlIGEgbGF5ZXIgbmFtZSBiZWxvdy4gIFxuXG5cbiBUaGUgXCJDaG9vc2UgZnJvbSB0aGUgbGF5ZXJzIGNvbXBhdGlibGUgd2l0aCB0aGlzIHByb2plY3RcIiBsaW5rIHNob3VsZCBnbyB0byB0aGUgY29tcGF0aWJsZSBsYXllcnMgcGFnZSBUaGUgXCJJbXBvcnQgYSBsYXllclwiIGxpbmsgc2hvdWxkIGdvIHRvIHRoZSBpbXBvcnQgbGF5ZXIgcGFnZSBUaGUgXCJSZWFkIGFib3V0IGxheWVycyBpbiB0aGUgZG9jdW1lbnRhdGlvblwiIGxpbmsgc2hvdWxkIG9wZW4gaW4gYSBuZXcgd2luZG93IGFuZCBicmluZyB5b3UgdG8gaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvY3VycmVudC9kZXYtbWFudWFsL2Rldi1tYW51YWwuaHRtbCN1bmRlcnN0YW5kaW5nLWFuZC1jcmVhdGluZy1sYXllcnMiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJWZXJpZnlfZGVsZXRlX2xheWVyX2Z1bmN0aW9uYWxpdHkiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5Eb3dubG9hZF90YXNrX2xvZyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCBUb2FzdGVyLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRvYXN0ZXIgc3RhcnRzLiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBuZXcgcHJvamVjdCBidXR0b24uXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBjcmVhdGUgYSBuZXcgcHJvamVjdCBwYWdlLiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgRW50ZXIgYSBwcm9qZWN0IG5hbWUsIHNlbGVjdCBhIHJlbGVhc2UgYW5kIGNsaWNrIG9uIGNyZWF0ZSBwcm9qZWN0IG9yIHNlbGVjdCBhbiBleGlzdGluZyBwcm9qZWN0LiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJQcm9qZWN0IENyZWF0ZWQuIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkJ1aWxkIGEgcmVjaXBlIChleDogY29yZS1pbWFnZS1taW5pbWFsKS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQnVpbGQgZmluaXNoLiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiB0aGUgYnVpbHQgcmVjaXBlLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIGJ1aWxkIHN1bW1hcnkgcGFnZS4iCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gdGFza3MgdGFiLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIHRhc2tzIHBhZ2UuIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIGEgdGFzayBleGVjdXRlZCBzdWNjZXNzZnVsbHkuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk9wZW4gdGFzayBwYWdlLiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBcIkRvd25sb2FkIHRhc2sgbG9nXCIgYnV0dG9uLiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiWW91IGNhbiBkb3dubG9hZCB0aGUgdGFzayBsb2cuIFxuIgorICAgICAgICB9LAorICAgICAgICAiOSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIGEgZmFpbGVkIHRhc2suICBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiB0YXNrIHBhZ2UsIG5vdCBhcHBlYXIgZG93bmxvYWQgdGFzayBcbiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkRvd25sb2FkX3Rhc2tfbG9nIgorICAgIH0KKyAgfQorXQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9tYW51YWwvdG9hc3Rlci11bm1hbmFnZWQtbW9kZS5qc29uIGIvcG9reS9tZXRhL2xpYi9vZXFhL21hbnVhbC90b2FzdGVyLXVubWFuYWdlZC1tb2RlLmpzb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjlkMTFhOAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9tYW51YWwvdG9hc3Rlci11bm1hbmFnZWQtbW9kZS5qc29uCkBAIC0wLDAgKzEsMTE3MCBAQAorWworICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItdW5tYW5hZ2VkLW1vZGUudG9hc3Rlci11bm1hbmFnZWQuQ3JlYXRlX2FfWW9jdG9fcHJvamVjdF9hbmRfc3RhcnRfdGhlX1RvYXN0ZXIiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNldCB1cCB5b2N0byBwcm9qZWN0IGFuZCB0b2FzdGVyIHRlc3QgZW52aXJvbm1lbnQuIFxuY2QgJHtpbnN0YWxsZGlyfSBcbmdpdCBjbG9uZSBnaXQ6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy9wb2t5ICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSBcblxuIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHVwIHRvYXN0ZXIuIFxuY2QgJHtpbnN0YWxsZGlyfSBcbnNvdXJjZSBwb2t5L29lLWluaXQtYnVpbGQtZW52IFxuc291cmNlIHRvYXN0ZXIgc3RhcnQgIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiAgXG5sb2c6IFxuVGhlIHN5c3RlbSB3aWxsIHN0YXJ0LiBcblN5bmNpbmcuLi4gXG5DcmVhdGluZyB0YWJsZXMgLi4uIFxuQ3JlYXRpbmcgdGFibGUgc291dGhfbWlncmF0aW9uaGlzdG9yeSBcbkluc3RhbGxpbmcgY3VzdG9tIFNRTCAuLi4gXG5JbnN0YWxsaW5nIGluZGV4ZXMgLi4uIFxuSW5zdGFsbGVkIDAgb2JqZWN0KHMpIGZyb20gMCBmaXh0dXJlKHMpIFxuID4gc291dGggIFxuXG5Ob3Qgc3luY2VkICh1c2UgbWlncmF0aW9ucyk6IFxuIC0gb3JtIFxuKHVzZSAuL21hbmFnZS5weSBtaWdyYXRlIHRvIG1pZ3JhdGUgdGhlc2UpIFxuUnVubmluZyBtaWdyYXRpb25zIGZvciBvcm06IFxuIC0gTWlncmF0aW5nIGZvcndhcmRzIHRvIDAwMDRfYXV0b19fYWRkX2ZpZWxkX3BhY2thZ2VfaW5zdGFsbGVkX25hbWUuIFxuID4gb3JtOjAwMDFfaW5pdGlhbCBcbiA+IG9ybTowMDAyX2F1dG9fX2FkZF9maWVsZF9idWlsZF90aW1lc3BlbnQgXG4gPiBvcm06MDAwM190aW1lc3BlbnQgXG4gLSBNaWdyYXRpb24gJ29ybTowMDAzX3RpbWVzcGVudCcgaXMgbWFya2VkIGZvciBuby1kcnktcnVuLiBcbiA+IG9ybTowMDA0X2F1dG9fX2FkZF9maWVsZF9wYWNrYWdlX2luc3RhbGxlZF9uYW1lIFxuIC0gTG9hZGluZyBpbml0aWFsIGRhdGEgZm9yIG9ybS4gXG5JbnN0YWxsZWQgMCBvYmplY3QocykgZnJvbSAwIGZpeHR1cmUocykgXG5zZXJ2ZXIgYWRkcmVzczogMTI3LjAuMC4xLCBzZXJ2ZXIgcG9ydDogODIwMCBcblN1Y2Nlc3NmdWwgc3RhcnQuIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkJ1aWxkIHRoZSB5b2N0byBwcm9qZWN0LiBcbmJpdGJha2UgY29yZS1pbWFnZS1taW5pbWFsICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJCdWlsZCBzdWNjZXNzZnVsbHkuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlVzZSBhIGRlZmF1bHQgd2ViIGJyb3dlciB0byBzZWUgcHJvamVjdCBidWlsZCBwcm9jZXNzLiBcbnhkZy1vcGVuIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC8gXG5XYWl0IGZvciBidWlsZCBjb21wbGV0aW9uLiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiWW91IGNhbiBvcGVuIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC8gaW4gYSBkZWZhdWx0IGJyb3dzZXIuIFRoZSBidWlsZCBwcm9jZXNzIGlzIHNob3dlZC4gIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiQ3JlYXRlX2FfWW9jdG9fcHJvamVjdF9hbmRfc3RhcnRfdGhlX1RvYXN0ZXIuIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLXVubWFuYWdlZC1tb2RlLnRvYXN0ZXItdW5tYW5hZ2VkLlNvcnRfdGhlX2NvbnRlbnRfb2ZfdGhlX2J1aWxkc190YWJsZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgdXAgdG9hc3Rlci4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlN1Y2NlZWQgdG8gc3RhcnQgdXAgdG9hc3Rlci4gIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNyZWF0ZSAyIGJ1aWxkcywgc3VjaCBhcyBcImJpdGJha2UgY29yZS1pbWFnZS1taW5pbWFsXCIgYW5kIFwiYml0YmFrZSBjb3JlLWltYWdlLXNhdG9cIi4gV2FpdCBmb3Igc3VjY2Vzc2Z1bCBidWlsZHMgYW5kIHRoZW4gcnVuOiBodHRwOi8vbG9jYWxob3N0OjgwMDAvIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJTdWNjZWVkIHRvIGJ1aWxkIHRoZSB0YXJnZXRzLiAiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiRW50ZXIgXCJBbGwgYnVpbGRcIiB0YWJsZSBpbiB3ZWIgYnJvd3Nlci4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk5BICIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBcIkNvbXBsZXRlZCBvblwiIGNvbXBvbmVudCB0byBzb3J0LiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQnVpbGQgdGFyZ2V0cyBhcmUgc29ydGVkIG91dCBieSB0aGUgXCJDb21wbGV0ZWQgb25cIi4gIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIFwiQ29tcGxldGVkIG9uXCIgY29tcG9uZW50IGFnYWluIHRvIGludmVydCB0aGUgc29ydGluZyAuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJUaGUgc29ydGluZyBpcyBpbnZlcnRlZC4gIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkhhdmUgYSBzb3J0IHRyeSBpbiBvdGhlciBjb2x1bW5zLiBvdXRjb21lLCBtYWNoaW5lLCBzdGFydGVkIG9uLCBjb21wbGV0ZWQgb24sIGVycm9ycywgd2FybmluZ3MsIHByb2plY3QuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJTZWUgaXRlbSA0IGFuZCA1LiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlNvcnRfdGhlX2NvbnRlbnRfb2ZfdGhlX2J1aWxkc190YWJsZS4iCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItdW5tYW5hZ2VkLW1vZGUudG9hc3Rlci11bm1hbmFnZWQuU2VhcmNoX3RoZV9jb250ZW50X29mX3RoZV9idWlsZHNfdGFibGUiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHVwIHRvYXN0ZXIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSAiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ3JlYXRlIDIgYnVpbGRzLCBzdWNoIGFzIFwiYml0YmFrZSBjb3JlLWltYWdlLW1pbmltYWxcIiBhbmQgXCJiaXRiYWtlIGNvcmUtaW1hZ2Utc2F0b1wiLiBXYWl0IGZvciBzdWNjZXNzZnVsIGJ1aWxkcyBhbmQgdGhlbiBydW46IHhkZy1vcGVuIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC8iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk5BICIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJFbnRlciBcIkFsbCBidWlsZFwiIHRhYmxlIGluIHdlYiBicm93c2VyLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEgIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIklucHV0IGEgc3RyaW5nIGluIHNlYXJjaCBjb21wb25lbnQgYW5kIGNsaWNrIHNlYXJjaC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlNob3cgcmV0dXJuZWQgc2VhcmNoIHJlc3VsdHMuIFdoZW4gbm8gc2VhcmNoIHF1ZXJ5IGhhcyBiZWVuIGVudGVyZWQsIHdlIGhhdmUgcGxhY2Vob2xkZXIgdGV4dCBzYXlpbmc6IFwiU2VhcmNoIGJ1aWxkc1wiLiBUaGUgcGxhY2Vob2xkZXIgdGV4dCBkaXNhcHBlYXJzIHdoZW4gdGhlIGZpcnN0IGNoYXJhY3RlciBpcyB0eXBlZC4gIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlZSByZXR1cm5lZCBzZWFyY2ggcmVzdWx0cy4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIklmIHlvdXIgc2VhcmNoIHF1ZXJ5IHJldHVybnMgbm8gcmVzdWx0cywgdGhlIHNlY3Rpb24gaGVhZGluZyBjaGFuZ2VzIHRvIFwiTm8gYnVpbGRzIGZvdW5kXCIsIGFuZCB3ZSBzaG93IHlvdSBhbiBhbGVydCB3aXRoIGEgc2VhcmNoIGZvcm0gYW5kIGFuIG9wdGlvbiB0byBzaG93IGFsbCBidWlsZHMuICIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBcIkNsZWFyIHNlYXJjaFwiIGljb24gKGljb24tcmVtb3ZlLXNpZ24pLiBPYnNlcnZlIGFsbCBidWlsZHMgYXJlIHNob3dlZC4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJDbGljayBpdCB0byBjbGVhciB0aGUgc2VhcmNoIGFuZCBkaXNwbGF5IGFsbCBidWlsZHMuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiU2VhcmNoX3RoZV9jb250ZW50X29mX3RoZV9idWlsZHNfdGFibGUuIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLXVubWFuYWdlZC1tb2RlLnRvYXN0ZXItdW5tYW5hZ2VkLkZpbHRlcl90aGVfY29udGVudF9vZl90aGVfYnVpbGRzX3RhYmxlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iLAorICAgICAgICAgICJuYW1lIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB1cCB0b2FzdGVyLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNyZWF0ZSAyIGJ1aWxkcywgc3VjaCBhcyBcImJpdGJha2UgY29yZS1pbWFnZS1taW5pbWFsXCIgYW5kIFwiYml0YmFrZSBjb3JlLWltYWdlLXNhdG9cIi4gV2FpdCBmb3Igc3VjY2Vzc2Z1bCBidWlsZHMgYW5kIHRoZW4gcnVuOiB4ZGctb3BlbiBodHRwOi8vbG9jYWxob3N0OjgwMDAvLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkVudGVyIFwiQWxsIGJ1aWxkXCIgdGFibGUgaW4gd2ViIGJyb3dzZXIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiTWFrZSBzdXJlIHRoZSBmb2xsb3dpbmcgdGFibGUgY29sdW1ucyBoYXZlIGZpbHRlcnMuIFxuLSBPdXRjb21lIFxuLS0gU3RhcnRlZCBvbiBcbi0gQ29tcGxldGVkIG9uIFxuLSBGYWlsZWQgdGFza3MiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJGaWx0ZXJzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIENsaWNrIGEgZmlsdGVyIGJ1dHRvbiBvZiBhIG9uZSBjb2x1bW4gYW5kIGEgZmlsdGVyIGRpYWxvZ3VlIG9jY3Vycy4gU2VsZWN0IGEgZmlsdGVyIGl0ZW0uIFRoZSBmaWx0ZXIgcmVzdWx0IHdvdWxkIGJlIHNob3dlZC4gVGhlbiBzZWxlY3QgYW5vdGhlciBmaWx0ZXIgaXRlbSBvZiBhbm90aGVyIGNvbHVtbiBhbmQgdGhlIHByZXZpb3VzbHkgYXBwbGllZCBmaWx0ZXIgaXMgb3ZlcnJpZGRlbiBieSB0aGUgbmV3bHkgc2VsZWN0ZWQgZmlsdGVyIHdoZW4gYSBmaWx0ZXIgZnJvbSBhIGRpZmZlcmVudCBjb2x1bW4gaXMgYXBwbGllZCB0byB0aGUgdGFibGUuIEluIHRoaXMgc3RhdGUsIHdlIHNob3cgc29tZSBoZWxwIHRleHQgbmV4dCB0byB0aGUgXCJBcHBseVwiIGJ1dHRvbiwgc2F5aW5nIFwiWW91IGNhbiBvbmx5IGFwcGx5IG9uZSBmaWx0ZXIgdG8gdGhlIHRhYmxlLiBUaGlzIGZpbHRlciB3aWxsIG92ZXJyaWRlIHRoZSBjdXJyZW50IGZpbHRlci5cIiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkZpbHRlcnMgYXJlIG92ZXJyaWRkZW4gYnkgc2VhcmNoLiBSdW4gYSBzZWFyY2ggcXVlcnkgYW5kIHlvdSBjYW4gc2VlIHByZXZpb3VzIGZpbHRlciByZXN1bHRzIGFyZSBvdmVycmlkZGVuIGJ5IHRoZSByZXN1bHRzIG9mIHRoZSBzZWFyY2ggcXVlcnkuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiSGF2ZSBhIHRyeSBpbiBmaWx0ZXJzIG9mIHRoZSBmb2xsb3dpbmcgdGFibGUgY29sdW1ucy4gXG4tIE91dGNvbWUgXG4tIFN0YXJ0ZWQgb24gXG4tIENvbXBsZXRlZCBvbiBcbi0gRmFpbGVkIHRhc2tzIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkZpbHRlcl90aGVfY29udGVudF9vZl90aGVfYnVpbGRzX3RhYmxlLiIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC5UYXNrc19pbl90b2FzdGVyX1VJIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iLAorICAgICAgICAgICJuYW1lIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgPT09IFRPQVNURVI6IFRlc3QgSW5zdHJ1Y3Rpb25zIGZvciBcIlRhc2tzXCIsIFwiVGltZVwiLCBcIkNQVSBVc2FnZVwiLCBhbmQgXCJEaXNrIEkvT1wiIHBhZ2VzID09PSAgIFxuIFxuTk9URSBUTyBURVNURVJTOiBUaGUgdGhyZWUgcGFnZXMgXCJUaW1lXCIsIFwiQ1BVIFVzYWdlXCIsIGFuZCBcIkRpc2sgSS9PXCIgYXJlIHNpbXBsZSB2YXJpYXRpb25zIG9uIHRoZSBcIlRhc2tzXCIgcGFnZS4gVGhvc2UgdGVzdCBpbnN0cnVjdGlvbnMgd2lsbCBkZW1vbnN0cmF0ZSB0aGUgcmVzcGVjdGl2ZSB1bmlxdWUgcGFydHMuICAgXG4gXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB3aXRoIGEgZGVmYXVsdCBZb2N0byBwcm9qZWN0IChxZW11eDg2KSwgc3RhcnQgdGhlIFRvYXN0ZXIsIGFuZCBidWlsZCBcImJpdGJha2UgY29yZS1pbWFnZS1taW5pbWFsXCIuICAgXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiBUb2FzdGVyLCBzZWxlY3QgdGhlIGJ1aWxkLCBhbmQgc2VsZWN0IHRoZSBcIlRhc2tzXCIgbGluayBpbiB0aGUgbGVmdCBzaWRlYmFyICAgXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCcmVhZGNydW1icyAgIFxuIFxuICAqIE9ic2VydmUgdGhhdCB0aGUgNCBicmVhZGNydW1icyBhdCB0aGUgdG9wIGxlZnQgYXJlOiAgIFxuICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDogYSBsaXZlIGxpbmsgdGhhdCB3aWxsIHRha2UgeW91IGJhY2sgdG8gdGhlIHByb2plY3QgcGFnZSAgXG4gICAgICAgICAgICAgICAgICBcdDogYSBsaXZlIGxpbmsgdGhhdCB3aWxsIHRha2UgeW91IGJhY2sgdG8gdGhlIHByb2plY3QgQnVpbGRzIHBhZ2UgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogYSBsaXZlIGxpbmsgdGhhdCB3aWxsIHRha2UgeW91IGJhY2sgdG8gdGhlIGltYWdlIGRhc2hib2FyZCBwYWdlIFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcIlRhc2tzXCIgICBcbiBcbiAgKiBUZXN0IHRoZSBicmVhZGNydW1iIGxpdmUgbGlua3MsIHJldHVybiB0byB0aGlzIHBhZ2UgICBcbiBcbiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkdlbmVyYWwgTGF5b3V0ICAgXG4gXG4gICogT2JzZXJ2ZSB0aGUgbGVmdC1oYW5kIGJveCB3aXRoIGxpbmtzIHRvIHRoZSBvdGhlciBwYWdlcyBvZiB0aGUgYnVpbGQgICBcbiAgIFxuICAqIE9ic2VydmUgdGhlIHRpdGxlIG9mIHRoZSB0YWJsZSBpcyBcIlRhc2tzXCIsIGluIGJvbGQgICBcbiAgIFxuICAqIE9ic2VydmUgdGhlIHNlYXJjaC9maWx0ZXIgYmFyIGFib3ZlIHRoZSB0YWJsZSAgIFxuICAgXG4gICogT2JzZXJ2ZSB0aGUgbnVtYmVyIG9mIHRhYmxlIHJvd3MgaW4gZWFjaCBwYWdlIG1hdGNoZXMgdGhlIG51bWJlciBzZWxlY3RlZCBpbiB0aGUgXCJTaG93IHJvd3NcIiBkcm9wZG93biBtZW51ICAgXG4gICBcbiAgKiBPYnNlcnZlIGF0IHRoZSBib3R0b20gb2YgdGhlIHBhZ2UgdGhlIFwiU2hvd2luZyBYWCB0byBYWCBvdXQgb2YgeHh4IGVudHJpZXNcIiwgdGhlIHBhZ2Ugc2VsZWN0aW9uIGxpbmtzLCBhbmQgdGhlIFwiU2hvdyBSb3dzXCIgc2VsZWN0aW9uLiAgIFxuIFxuIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ29sdW1ucyAgIFxuIFxuTm90ZTogdG8gcmVzdG9yZSB0aGUgZGVmYXVsdCBjb2x1bW5zIGluIHlvdXIgYnJvd3NlciwgZm9yIGV4YW1wbGUgaW4gRmlyZWZveCwgc2VsZWN0IFwiVG9vbHMgPiBQcml2YWN5ID4gcmVtb3ZlIGluZGl2aWR1YWwgY29va2llc1wiLCBmaW5kIHRoZSBjb29raWVzIGZvciB0aGUgSVAgYWRkcmVzcyBvZiB0aGUgVG9hc3RlciBlbmdpbmUgKGZvciBleGFtcGxlIFwibG9jYWxob3N0XCIpLCBhbmQgcmVtb3ZlIGVhY2ggc3ViLWNvb2tpZSB3aXRoIHRoZSBwcmVmaXggXCJfZGlzcGxheWNvbHNfKlwiIChvciB0aGUgd2hvbGUgY29va2llIGlmIHRob3NlIGFyZSB0aGUgb25seSBzdWItY29va2llcykuICAgXG4gXG4gICogT2JzZXJ2ZSB0aGF0IHRoZSBkZWZhdWx0IGNvbHVtbnMgYXJlOiAgICBcbiAgIFxuICAgIFwiT3JkZXIsIFJlY2lwZSwgVGFzaywgRXhlY3V0ZWQsIE91dGNvbWUsIENhY2hlIGF0dGVtcHRcIiAgIFxuIFxuICAqIENsaWNrIHRoZSBcIkVkaXQgQ29sdW1uc1wiIGJ1dHRvbi4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSB0aGF0IHRoZSBmaWVsZHMgYXJlIHNvcnRlZCBhcyBmb2xsb3dzICh3aXRoIHRoZSBpbmRpY2F0ZWQgaXRlbXMgZ3JleWVkKSAgIFxuIFxuICAgIFsgXSBDUFUgdXNhZ2UgIFxuICAgIFt4XSBDYWNoZSBhdHRlbXB0ICBcbiAgICBbIF0gRGlzayBJL08gKG1zKSAgXG4gICAgW3hdIEV4ZWN1dGVkICBcbiAgICBbeF0gT3JkZXIgICAgICAgICAgICB7Z3JleWVkfSAgXG4gICAgW3hdIE91dGNvbWUgIFxuICAgIFt4XSBSZWNpcGUgICAgICAgICAgIHtncmV5ZWR9ICBcbiAgICBbIF0gUmVjaXBlIHZlcnNpb24gIFxuICAgIFt4XSBUYXNrICAgICAgICAgICAgIHtncmV5ZWR9ICBcbiAgICBbIF0gVGltZSAoc2VjcykgICAgXG4gXG4gICogRm9yIGVhY2ggb2YgdGhlIGdyZXllZCBpdGVtcywgYXR0ZW1wdCB0byBjbGljayB0aGVtLiBPYnNlcnZlIHRoYXQgdGhleSBkbyBub3QgY2hhbmdlLiAgIFxuIFxuICAqIEZvciBlYWNoIG9mIHRoZSBub24tZ3JleWVkIGl0ZW1zLCBhdHRlbXB0IHRvIGNsaWNrIHRoZW0uIE9ic2VydmUgdGhhdCB0aGUgcmVzcGVjdGl2ZSBjb2x1bW4gZHluYW1pY2FsbHkgYXBwZWFycyB3aGVuIGNoZWNrZWQgYW5kIGRpc2FwcGVhcnMgd2hlbiB1bi1jaGVja2VkLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTZWFyY2ggICBcbiBcbiAgKiBPYnNlcnZlIHRoYXQgdGhlIHNlYXJjaCB0ZXh0IGJveCBiYWNrZ3JvdW5kIHRleHQgaXMgXCJTZWFyY2ggdGFza3NcIi4gICBcbiAgIFxuICAqIFNldCB0aGUgc2VhcmNoIHRleHQgdG8gXCJidXN5Ym94XCIgYW5kIGNsaWNrIFwiU2VhcmNoXCIuIE9ic2VydmUgdGhhdCBvbmx5IHRoZSBidXN5Ym94IHRhc2tzIGFyZSBsaXN0ZWQgKGFib3V0IDE2KS4gICBcbiAgIFxuICAqIENsaWNrIHRoZSBcIlhcIiBuZXh0IHRvIHRoZSBzZWFyY2ggdGV4dCBib3guIE9ic2VydmUgdGhhdCBhbGwgb2YgdGhlIHRhc2tzIHJlLWFwcGVhci4gICBcbiBcbiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNvbHVtbiBzb3J0cyAgIFxuIFxuICAqIEVuYWJsZSBhbGwgb2YgdGhlIGNvbHVtbnMuICAgXG4gICBcbiAgKiBPYnNlcnZlIHRoYXQgYnkgZGVmYXVsdCB0aGUgXCJPcmRlclwiIGNvbHVtbiBoZWFkZXIgaXMgaW4gYm9sZCwgaXQgaGFzIGEgZG93bi1hcnJvdyBpY29uLCBhbmQgdGhhdCB0aGUgdGFibGUgaXMgc29ydGVkIGJ5IHRoaXMgY29sdW1uIGluIGFzY2VuZGluZyBvcmRlci4gICBcbiAgIFxuICAqIE9ic2VydmUgdGhhdCB0aGUgY29sdW1ucyBhcmUgaW4gdGhpcyBvcmRlciwgYW5kIGFyZSBzb3J0YWJsZSBvbmx5IGlmIGluZGljYXRlZDogICBcbiAgIFxuICAgIE9yZGVyICAgICAgICAgICAgICAgICAgICB7c29ydGFibGV9ICBcbiAgICBSZWNpcGUgICAgICAgICAgICAgICAgICAgICB7c29ydGFibGV9ICBcbiAgICBSZWNpcGUgdmVyc2lvbiAgXG4gICAgVGFzayAgICAgICAgICAgICAgICAgICAgICAge3NvcnRhYmxlfSAgXG4gICAgRXhlY3V0ZWQgICAgICAgICAgICAgICAgICAge3NvcnRhYmxlfSAgXG4gICAgT3V0Y29tZSAgICAgICAgICAgICAgICAgICAge3NvcnRhYmxlfSAgXG4gICAgQ2FjaGUgYXR0ZW1wdCAgICAgICAgICAgICAge3NvcnRhYmxlfSAgXG4gICAgVGltZSAoc2VjcykgICAgICAgICAgICAgICAge3NvcnRhYmxlfSAgXG4gICAgQ1BVIHVzYWdlICAgICAgICAgICAgICAgICAge3NvcnRhYmxlfSAgXG4gICAgRGlzayBJL08gKG1zKSAgICAgICAgICAgICAge3NvcnRhYmxlfSAgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxMCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBUZXN0IHRoYXQgZWFjaCBvZiB0aGUgc29ydGFibGUgY29sdW1ucyBkbyBzb3J0LCBhc2NlbmRpbmcgYW5kIGRlc2NlbmRpbmcgICBcbiBcbiAgKiBPYnNlcnZlIHRoYXQgZWFjaCBvZiB0aGUgY29sdW1uIGhlYWRlcnMgaGF2ZSBhIHF1ZXN0aW9uIG1hcmsgaWNvbiwgYW5kIHRoYXQgaG92ZXJpbmcgb3ZlciBpdCBwcm92aWRlcyBoZWxwIHRleHQuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlwiRXhlY3V0ZWRcIiBGaWx0ZXIgICAgXG4gXG4gICogT2JzZXJ2ZSB0aGF0IHRoZSBcIkV4ZWN1dGVkXCIgY29sdW1uIGhhcyB0aGUgZmlsdGVyIGljb24uIENsaWNrIG9uIGl0IGFuZCBvYnNlcnZlIHRoZXNlIHZhbHVlcywgd2hlcmUgXCJBbGwgVGFza3NcIiBpcyB0aGUgZGVmYXVsdCAgIFxuIFxuICAgICgqKSBBbGwgVGFza3MgICBcbiAgICAoICkgRXhlY3V0ZWQgVGFza3MgICBcbiAgICAoICkgTm90IEV4ZWN1dGVkIFRhc2tzICAgIFxuIFxuICAqIENsaWNrIG9uIFwiRXhlY3V0ZWQgVGFza3NcIiBhbmQgb2JzZXJ2ZSB0aGF0IG9ubHkgcm93cyB3aXRoIHRoZSB2YWx1ZSBcIkV4ZWN1dGVkXCIgYXJlIGRpc3BsYXllZC4gICBcbiBcbiAgKiBDbGljayBvbiBcIk5vdCBFeGVjdXRlZCBUYXNrc1wiIGFuZCBvYnNlcnZlIHRoYXQgb25seSByb3dzIHdpdGggdGhlIHZhbHVlIFwiTm90IEV4ZWN1dGVkXCIgYXJlIGRpc3BsYXllZC4gICBcbiBcbiAgKiBDbGljayBvbiBcIkFsbCBUYXNrc1wiIGFuZCBvYnNlcnZlIHRoYXQgYWxsIHJvd3MgYXJlIGRpc3BsYXllZC4gICBcbiBcbiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMTIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJcIk91dGNvbWVcIiBGaWx0ZXIgICAgXG4gXG4gICogT2JzZXJ2ZSB0aGF0IHRoZSBcIk91dGNvbWVcIiBjb2x1bW4gaGFzIHRoZSBmaWx0ZXIgaWNvbi4gQ2xpY2sgb24gaXQgYW5kIG9ic2VydmUgdGhlc2UgdmFsdWVzLCB3aGVyZSBcIkFsbCBUYXNrc1wiIGlzIHRoZSBkZWZhdWx0ICAgXG4gXG4gICAgKCopIEFsbCBUYXNrcyAgIFxuICAgICggKSBTdWNjZWVkZWQgVGFza3MgICBcbiAgICAoICkgRmFpbGVkIFRhc2tzICAgXG4gICAgKCApIENhY2hlZCBUYXNrcyAgIFxuICAgICggKSBQcmVidWlsdCBUYXNrcyAgIFxuICAgICggKSBDb3ZlcmVkIFRhc2tzICAgXG4gICAgKCApIEVtcHR5IFRhc2tzICAgIFxuIFxuICAqIENsaWNrIG9uIGVhY2ggb2YgdGhlIGZpbHRlciBzZWxlY3Rpb25zLCBhbmQgb2JzZXJ2ZSB0aGF0IHRoZSByZXN1bHRpbmcgcm93IFwiT3V0Y29tZVwiIHZhbHVlcyBtYXRjaCB0aGUgc2VsZWN0aW9uLiAgICBcbiBcbiAgKiBDbGljayBvbiBcIkFsbCBUYXNrc1wiIGFuZCBvYnNlcnZlIHRoYXQgYWxsIHJvd3MgYXJlIGRpc3BsYXllZC4gICBcbiBcbiBcbjEiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjEzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiXCJDYWNoZSBhdHRlbXB0XCIgRmlsdGVyICAgIFxuIFxuICAqIE9ic2VydmUgdGhhdCB0aGUgXCJDYWNoZSBhdHRlbXB0XCIgY29sdW1uIGhhcyB0aGUgZmlsdGVyIGljb24uIENsaWNrIG9uIGl0IGFuZCBvYnNlcnZlIHRoZXNlIHZhbHVlcywgd2hlcmUgXCJBbGwgVGFza3NcIiBpcyB0aGUgZGVmYXVsdCAgIFxuIFxuICAgICgqKSBBbGwgVGFza3MgICBcbiAgICAoICkgVGFza3Mgd2l0aCBjYWNoZSBhdHRlbXB0cyAgIFxuICAgICggKSBUYXNrcyB3aXRoICdGaWxlIG5vdCBpbiBjYWNoZScgYXR0ZW1wdHMgICBcbiAgICAoICkgVGFza3Mgd2l0aCAnRmFpbGVkJyBjYWNoZSBhdHRlbXB0cyAgIFxuICAgICggKSBUYXNrcyB3aXRoICdTdWNjZWVkZWQnIGNhY2hlIGF0dGVtcHRzICAgICBcbiBcbiAgKiBDbGljayBvbiBlYWNoIG9mIHRoZSBmaWx0ZXIgc2VsZWN0aW9ucywgYW5kIG9ic2VydmUgdGhhdCB0aGUgcmVzdWx0aW5nIHJvdyBcIk91dGNvbWVcIiB2YWx1ZXMgbWF0Y2ggdGhlIHNlbGVjdGlvbi4gICBcbiAgIFxuICAgIE5vdGUgdGhlIHdpdGggYSBjbGVhbiBidWlsZCwgb25seSB0aGUgXCJBbGwgVGFza3NcIiBhbmQgXCJUYXNrcyB3aXRoIGNhY2hlIGF0dGVtcHRzXCIgd2lsbCByZXR1cm4gcm93cy4gIFxuIFxuICAqIENsaWNrIG9uIFwiQWxsIFRhc2tzXCIgYW5kIG9ic2VydmUgdGhhdCBhbGwgcm93cyBhcmUgZGlzcGxheWVkLiAgIFxuIFxuIFxuMSIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMTQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPcmRlciwgVGFzaywgRXhlY3V0ZWQsIE91dGNvbWUsIENhY2hlIGF0dGVtcHQgbGlua3MgICBcbiBcbiAgKiBPYnNlcnZlIHRoYXQgZm9yIGEgZ2l2ZW4gcm93LCB0aGUgYWJvdmUgdmFsdWVzIGFyZSBsaXZlIGxpbmtzIHRoYXQgd2lsbCBib3RoIHRha2UgeW91IHRvIHRoZSByZXNwZWN0aXZlIHRhc2sgZGV0YWlsIHBhZ2UuIENsaWNrIHRoZSBiYWNrIGJ1dHRvbiB0byByZXR1cm4uICBcblxuICAqIE9ic2VydmUgdGhhdCBmb3IgYSBnaXZlbiByb3cgdGhlIHZhbHVlcyBpbiBcIlJlY2lwZVwiIGFuZCBcIlJlY2lwZSB2ZXJzaW9uXCIgYXJlIGxpdmUgbGlua3MgdGhhdCB3aWxsIGJvdGggdGFrZSB5b3UgdG8gdGhlIHJlc3BlY3RpdmUgcmVjaXBlIGRldGFpbHMgcGFnZS4gQ2xpY2sgdGhlIGJhY2sgYnV0dG9uIHRvIHJldHVybiAgIFxuIFxuIFxuMSIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMTUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJUaW1lIFBhZ2UgICBcbiBcbiAgKiBcIkluIFRvYXN0ZXIsIHNlbGVjdCB0aGUgYnVpbGQsIGFuZCBzZWxlY3QgdGhlIFwiVGltZVwiIGxpbmsgaW4gdGhlIGxlZnQgc2lkZWJhciAgIFxuIFxuICAqIE9ic2VydmUgdGhhdCB0aGUgZGVmYXVsdCBjb2x1bW5zIGFyZTogICAgXG4gICBcbiAgICBcIlJlY2lwZVwiLCBcIlRhc2tcIiwgXCJFeGVjdXRlZFwiLCBcIiBPdXRjb21lXCIsIFwiVGltZSAoc2VjcylcIiAgIFxuIFxuICAqIE9ic2VydmUgdGhhdCB0aGUgZGVmYXVsdCBzb3J0IGlzIFwiVGltZSAoc2VjcylcIiwgaW4gZGVzY2VuZGluZyBvcmRlci4gICBcbiAgIFxuICAqIEluIHRoZSBcIkVkaXQgQ29sdW1uc1wiIGJ1dHRvbiwgdHVybiBvbiBhbGwgb2YgdGhlIGNvbHVtbnMuICAgXG4gICBcbiAgKiBPYnNlcnZlIHRoYXQgdGhlIHBhZ2Ugbm93IG1hdGNoZXMgdGhlIFwiVGFza3NcIiBwYWdlLCBhbmQgcGFzc2VzIHRoZSBzYW1lIHRlc3RzLiAgIFxuIFxuIFxuMSIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMTYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDUFUgVXNhZ2UgUGFnZSAgIFxuIFxuICAqIFwiSW4gVG9hc3Rlciwgc2VsZWN0IHRoZSBidWlsZCwgYW5kIHNlbGVjdCB0aGUgXCJDUFUgVXNhZ2VcIiBsaW5rIGluIHRoZSBsZWZ0IHNpZGViYXIgICBcbiBcbiAgKiBPYnNlcnZlIHRoYXQgdGhlIGRlZmF1bHQgY29sdW1ucyBhcmU6ICAgIFxuICAgXG4gICAgXCJSZWNpcGVcIiwgXCJUYXNrXCIsIFwiRXhlY3V0ZWRcIiwgXCJPdXRjb21lXCIsIFwiQ1BVIFVzYWdlXCIgICBcbiBcbiAgKiBPYnNlcnZlIHRoYXQgdGhlIGRlZmF1bHQgc29ydCBpcyBcIkNQVSBVc2FnZVwiLCBpbiBkZXNjZW5kaW5nIG9yZGVyLiAgIFxuICAgXG4gICogSW4gdGhlIFwiRWRpdCBDb2x1bW5zXCIgYnV0dG9uLCB0dXJuIG9uIGFsbCBvZiB0aGUgY29sdW1ucy4gICBcbiAgIFxuICAqIE9ic2VydmUgdGhhdCB0aGUgcGFnZSBub3cgbWF0Y2hlcyB0aGUgXCJUYXNrc1wiIHBhZ2UsIGFuZCBwYXNzZXMgdGhlIHNhbWUgdGVzdHMuICAgXG4gXG4gXG4xIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkRpc2sgSS9PIFBhZ2UgICBcbiAgXG4gICAqIFwiSW4gVG9hc3Rlciwgc2VsZWN0IHRoZSBidWlsZCwgYW5kIHNlbGVjdCB0aGUgXCJEaXNrIEkvT1wiIGxpbmsgaW4gdGhlIGxlZnQgc2lkZWJhciAgIFxuICBcbiAgICogT2JzZXJ2ZSB0aGF0IHRoZSBkZWZhdWx0IGNvbHVtbnMgYXJlOiAgICBcbiAgICBcbiAgICAgXCJSZWNpcGVcIiwgXCJUYXNrXCIsIFwiRXhlY3V0ZWRcIiwgXCJPdXRjb21lXCIsIFwiRGlzayBJL08gKG1zKVwiICAgXG4gIFxuICAgKiBPYnNlcnZlIHRoYXQgdGhlIGRlZmF1bHQgc29ydCBpcyBcIkRpc2sgSS9PIChtcylcIiwgaW4gZGVzY2VuZGluZyBvcmRlci4gICBcbiAgICBcbiAgICogSW4gdGhlIFwiRWRpdCBDb2x1bW5zXCIgYnV0dG9uLCB0dXJuIG9uIGFsbCBvZiB0aGUgY29sdW1ucy4gICBcbiAgICBcbiAgICogT2JzZXJ2ZSB0aGF0IHRoZSBwYWdlIG5vdyBtYXRjaGVzIHRoZSBcIlRhc2tzXCIgcGFnZSwgYW5kIHBhc3NlcyB0aGUgc2FtZSB0ZXN0cy4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlRhc2tzX2luX3RvYXN0ZXJfVUkiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItdW5tYW5hZ2VkLW1vZGUudG9hc3Rlci11bm1hbmFnZWQucGFja2FnZV9kZXRhaWxfaW5fdG9hc3Rlcl9VSSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiVE9BU1RFUjogVGVzdCBJbnN0cnVjdGlvbnMgZm9yIFwiUGFja2FnZSBEZXRhaWxcIiBwYWdlICAgXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB3aXRoIGEgZGVmYXVsdCBZb2N0byBwcm9qZWN0IChxZW11eDg2KSwgc3RhcnQgdGhlIFRvYXN0ZXIsIGFuZCBidWlsZCBcImJpdGJha2UgY29yZS1pbWFnZS1taW5pbWFsXCIuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkluIFRvYXN0ZXIsIHNlbGVjdCB0aGUgYnVpbGQsIGFuZCBzZWxlY3QgdGhlIFwiUGFja2FnZXNcIiBsaW5rIGluIHRoZSBsZWZ0IHNpZGViYXIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiU2VsZWN0IGEgcGFja2FnZSBmcm9tIHRoZSBcIlBhY2thZ2VcIiBjb2x1bW4uIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQnJlYWRjcnVtYnMgIFxuICAqIE9ic2VydmUgdGhhdCB0aGUgMyBicmVhZGNydW1icyBhdCB0aGUgdG9wIGxlZnQgYXJlOiAgIFxuICAgIDogYSBsaXZlIGxpbmsgdGhhdCB3aWxsIHRha2UgeW91IGJhY2sgdG8gdGhlIGltYWdlIGRhc2hib2FyZCBwYWdlIFxuICAgIFwiUGFja2FnZXNcIjogYSBsaXZlIGxpbmsgdGhhdCB3aWxsIHRha2UgeW91IGJhY2sgdG8gdGhlIFBhY2thZ2VzIHBhZ2UgIFxuICAgIFwiYmFzaFwiOiB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCBwYWNrYWdlICAobm90IGEgbGluaykgICAgICAgIFxuICAqIFRlc3QgdGhlIGJyZWFkY3J1bWIgbGl2ZSBsaW5rcywgcmV0dXJuIHRvIHRoaXMgcGFnZSAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJHZW5lcmFsIExheW91dCBcbiAgKiBDbGljayBvbiBhbnkgcGFja2FnZSBcbiAgKiBPYnNlcnZlIHRoYXQgdGhlcmUgaXMgbm8gdGhlIGxlZnQtaGFuZCBib3ggICBcbiAgKiBPYnNlcnZlIHRoYXQgdGhlcmUgaXMgYSByaWdodC1oYW5kIGJveCwgd2l0aCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcGFja2FnZSBcbiAgKiBPYnNlcnZlIHRoZSB0aXRsZSBpcyB0aGUgcGFja2FnZSBuYW1lIGFuZCB2ZXJzaW9uLCBpbiBib2xkICBcbiAgKiBPYnNlcnZlIHRoYXQsIGlmIHRoZSBwYWNrYWdlIGlzIGluc3RhbGxlZCBpbiBhbiBpbWFnZSwgdGhlcmUgaXMgYSBsaW5rIHRvIHRoZSBpbWFnZShzKSB0aGUgcGFja2FnZSBhcHBlYXJzIGluICBcbiAgKiBPYnNlcnZlIHRoYXQsIGlmIHRoZSBwYWNrYWdlIGlzIG5vdCBpbnN0YWxsZWQgaW4gdGhlIGltYWdlLCB0aGVyZSBhcmUgdHdvIHRhYiBidXR0b25zIGJlbG93IHRoZSB0aXRsZSAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPYnNlcnZlIHRoYXQgdGhlIHRhYiBidXR0b25zIGFyZTogIFxuICAgIEdlbmVyYXRlZCBmaWxlcyAoMikgICAgICAgIHtoaWdobGlnaHRlZH0gIFxuICAgIFJ1bnRpbWUgZGVwZW5kZW5jaWVzICg0KSAgXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJHZW5lcmF0ZWQgZmlsZXMgdGFiICBcbiAgKiBDbGljayB0aGUgXCJHZW5lcmF0ZWQgZmlsZXNcIiB0YWIgKHdoaWNoIHNob3VsZCBiZSBzZWxlY3RlZCBieSBkZWZhdWx0KSAgXG4gICogT2JzZXJ2ZSB0aGF0IHRoZSBudW1iZXIgb2YgZmlsZXMgaW4gdGhlIHRhYmxlIG1hdGNoZXMgdGhlIG51bWJlciBpbiBwYXJlbnRoZXNpcyBhZnRlciB0aGUgXCJHZW5lcmF0ZWQgZmlsZXNcIiB0YWIgdGl0bGUuIFxuICAqIE9ic2VydmUgdGhhdCB0aGUgY29sdW1ucyBpbiB0aGUgdGFibGUgYXJlIFwiRmlsZVwiIGFuZCBcIlNpemVcIiAgXG4gICogT2JzZXJ2ZSB0aGF0IHRoZSB0YWJsZSBpcyBzb3J0ZWQgYnkgXCJGaWxlXCIgaW4gYXNjZW5kaW5nIGFscGhhYmV0aWNhbCBvcmRlciAoQSB0byBaKS4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI5IjogeworICAgICAgICAgICJhY3Rpb24iOiAiUnVudGltZSBkZXBlbmRlbmNpZXMgdGFiICBcbiAgKiBDbGljayB0aGUgXCJSdW50aW1lIGRlcGVuZGVuY2llc1wiIHRhYiAgXG4gICogT2JzZXJ2ZSB0aGF0IHRoZSBudW1iZXIgb2YgZGVwZW5kZW5jaWVzIGluIHRoZSB0YWJsZSBtYXRjaGVzIHRoZSBudW1iZXIgaW4gcGFyZW50aGVzaXMgYWZ0ZXIgdGhlIFwiUnVudGltZSBkZXBlbmRlbmNpZXNcIiB0YWIgdGl0bGUuICBcbiAgKiBPYnNlcnZlIHRoYXQgdGhlIGNvbHVtbnMgaW4gdGhlIHRhYmxlIGFyZTogIFxuICAgIFwiUGFja2FnZSwgVmVyc2lvbiwgU2l6ZVwiICBcbiAgKiBPYnNlcnZlIHRoYXQgdGhlIHRhYmxlIGlzIHNvcnRlZCBieSBQYWNrYWdlIGluIGFzY2VuZGluZyBhbHBoYWJldGljYWwgb3JkZXIgKEEgdG8gWikgIFxuICAqIE9ic2VydmUgdGhhdCB0aGUgcGFja2FnZSBuYW1lIHZhbHVlcyBhcmUgbGl2ZSBsaW5rcyB0byB0aGUgcmVzcGVjdGl2ZSBwYWNrYWdlIGRldGFpbHMgcGFnZS4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJUaGUgaW5mb3JtYXRpb24gaWNvbiB3YXMgZWxpbWluYXRlZCBvbiB0aGUgY29sdW1ucyB0aGF0IHdoZXJlIHNlbGYgZXhwbGFuYXRvcnkuICAiCisgICAgICAgIH0sCisgICAgICAgICIxMCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlBhY2thZ2UgaW5mb3JtYXRpb24gYm94ICBcbiAgKiBPYnNlcnZlIHRoYXQgdGhlcmUgaXMgYSByaWdodC1oYW5kIGJveCwgd2l0aCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcGFja2FnZSwgaW5jbHVkaW5nIGluIHRoaXMgZXhhbXBsZSB0aGUgZmllbGRzOiAgXG4gICAgXCJTaXplLCBMaWNlbnNlLCBSZWNpcGUsIFJlY2lwZSB2ZXJzaW9uLCBMYXllciwgTGF5ZXIgYnJhbmNoLCBMYXllciBjb21taXRcIiAgXG4gICogT2JzZXJ2ZSB0aGF0IGVhY2ggb2YgdGhlIGZpZWxkIGhhcyBhIHF1ZXN0aW9uIG1hcmsgaWNvbiwgYW5kIHRoYXQgaG92ZXJpbmcgd2lsbCBwcm92aWRlIGhlbHAgdGV4dC4gIFxuICAqIE9ic2VydmUgdGhhdCBub25lIG9mIHRoZSB2YWx1ZXMgaW4gdGhlIHJpZ2h0LWhhbmQgYm94IGFyZSBibGFuayAgXG4gICogT2JzZXJ2ZSB0aGF0IHRoZSBcIlJlY2lwZVwiIHZhbHVlIGlzIGEgbGl2ZSBsaW5rIHRvIHRoZSByZXNwZWN0aXZlIHJlY2lwZSBkZXRhaWwgcGFnZS4gICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAicGFja2FnZV9kZXRhaWxfaW5fdG9hc3Rlcl9VSSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC5yZWNpcGVzOl9Tb3J0X3RoZV9jb250ZW50X29mX3RoZV9yZWNpcGVzX3RhYmxlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iLAorICAgICAgICAgICJuYW1lIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB3aXRoIGEgZGVmYXVsdCBZb2N0byBwcm9qZWN0IChxZW11eDg2KSwgc3RhcnQgdGhlIFRvYXN0ZXIsIGFuZCBidWlsZCBcImJpdGJha2UgY29yZS1pbWFnZS1taW5pbWFsXCIuICAgXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiBUb2FzdGVyLCBzZWxlY3QgdGhlIGJ1aWxkLCBhbmQgc2VsZWN0IHRoZSBcIlJlY2lwZXNcIiBsaW5rIGluIHRoZSBsZWZ0IHNpZGViYXIuICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiTWFrZSBzdXJlIHRoYXQgYnkgZGVmYXVsdCB0aGUgXCJSZWNpcGVzXCIgdGFibGUgaXMgc29ydGVkIGJ5IFwiUmVjaXBlXCIgaW4gYXNjZW5kaW5nIGFscGhhYmV0aWNhbCBvcmRlciAoQSB0byBaKS4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTb3J0IG15IFwiUmVjaXBlc1wiIHRhYmxlIGJ5IFwiU2VjdGlvblwiIGFuZCB0aGVuIG5hdmlnYXRlIGF3YXkgYnkgc2VsZWN0aW5nIGEgcmVjaXBlKHN1Y2ggYXMgY2xpY2sgYnVzeWJveCByZWNpcGUpLiBXaGVuIHlvdSBjbGljayBcImJhY2tcIiBidXR0b24gaW4gd2ViLWJyb3dzZXIgdG8gZ28gYmFjayB0byB0aGUgXCJSZWNpcGVzXCIgdGFibGUgaXQgc2hvdWxkIHN0aWxsIGJlIHNvcnRlZCBieSBcIlNlY3Rpb25cIi4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJNYWtlIHN1cmUgYWxsIGNvbHVtbiBoZWFkaW5ncyBhcmUgc29ydGFibGUsIGV4Y2VwdCBcIlJlY2lwZSB2ZXJzaW9uXCIsIFwiRGVwZW5kZW5jaWVzXCIsIFwiUmV2ZXJzZSBkZXBlbmRlbmNpZXNcIiBhbmQgXCJMYXllciBjb21taXRcIi4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTb3J0aW5nIGFuZCBcIkVkaXQgY29sdW1uc1wiIFxuSWYgeW91IHVzZSB0aGUgXCJFZGl0IGNvbHVtbnNcIiBtZW51IHRvIGhpZGUgdGhlIGNvbHVtbiB3aXRoIHRoZSBhcHBsaWVkIHNvcnRpbmcsIHdlIHJldmVydCB0aGUgc29ydGluZyB0byB0aGUgZGVmYXVsdCBzb3J0aW5nIChpLmUuIFwiUmVjaXBlXCIpLiBUaGUgZGVmYXVsdCBzb3J0aW5nIGFsd2F5cyB1c2VzIG9uZSBvZiB0aGUgY29yZSBjb2x1bW5zLCB3aGljaCBjYW5ub3QgYmUgaGlkZGVuIHVzaW5nIHRoZSBcIkVkaXQgY29sdW1uc1wiIG1lbnUuIFxuU29ydCByZWNpcGVzIGJ5IFwic2VjdGlvblwiIGNvbHVtbiBoZWFkaW5nLiBUaGVuIGhpZGUgXCJTZWN0aW9uXCIgY29sdW1uIGJ5IFwiRWRpdCBjb2x1bW5zXCIuIE1ha2Ugc3VyZSB0aGF0IHRoZSBcIlJlY2lwZXNcIiB0YWJsZSBpcyBzb3J0ZWQgYnkgXCJSZWNpcGVcIiBpbiBhc2NlbmRpbmcgYWxwaGFiZXRpY2FsIG9yZGVyIChBIHRvIFopLiBcbk5PVEU6IEJ1ZyA1OTE5IGlzIGZpbGVkIGFnYWluc3QgdGhlIGlzc3VlLiAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNvcnRpbmcgYW5kIHNlYXJjaCBcblNlYXJjaGluZyBzaG91bGQgaGF2ZSBubyBpbXBhY3Qgb24gdGhlIGFwcGxpZWQgc29ydGluZy4gQW55IHJlc3VsdHMgcmV0dXJuZWQgc2hvdWxkIGJlIHNvcnRlZCBieSB0aGUgc29ydGluZyBjcml0ZXJpYSBzZWxlY3RlZCB3aGVuIHRoZSBzZWFyY2ggcXVlcnkgd2FzIHN1Ym1pdHRlZC4gXG5Tb3J0IHJlY2lwZXMgYnkgXCJzZWN0aW9uXCIgY29sdW1uIGhlYWRpbmcuIElucHV0IGEgc3RyaW5nIChzdWNoIGFzIFwibGliXCIpIGluIHNlYXJjaCBib3ggYW5kIGNsaWNrIHNlYXJjaCBidXR0b24uIE1ha2Ugc3VyZSByZXN1bHRzIHJldHVybmVkIHNob3VsZCBiZSBzb3J0ZWQgYnkgXCJzZWN0aW9uXCIuIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogInJlY2lwZXM6X1NvcnRfdGhlX2NvbnRlbnRfb2ZfdGhlX3JlY2lwZXNfdGFibGUuIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLXVubWFuYWdlZC1tb2RlLnRvYXN0ZXItdW5tYW5hZ2VkLnJlY2lwZXM6X1NlYXJjaF90aGVfY29udGVudF9vZl90aGVfcmVjaXBlc190YWJsZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAicmVjaXBlczogU2VhcmNoIHRoZSBjb250ZW50IG9mIHRoZSByZWNpcGVzIHRhYmxlICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgd2l0aCBhIGRlZmF1bHQgWW9jdG8gcHJvamVjdCAocWVtdXg4NiksIHN0YXJ0IHRoZSBUb2FzdGVyLCBhbmQgYnVpbGQgXCJiaXRiYWtlIGNvcmUtaW1hZ2UtbWluaW1hbFwiLiAgIFxuIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiSW4gVG9hc3Rlciwgc2VsZWN0IHRoZSBidWlsZCwgYW5kIHNlbGVjdCB0aGUgXCJSZWNpcGVzXCIgbGluayBpbiB0aGUgbGVmdCBzaWRlYmFyLiAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9ic2VydmUgdGhlIHNlYXJjaCBpcyBtYWRlIG9mIGEgdGV4dCBpbnB1dCBmaWVsZCBhbmQgYSBcIlNlYXJjaFwiIGJ1dHRvbiBpbiBhIHRvb2xiYXIgYWJvdmUgdGhlIHRhYmxlLiAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIldoZW4gbm8gc2VhcmNoIHF1ZXJ5IGhhcyBiZWVuIGVudGVyZWQsIHdlIGhhdmUgcGxhY2Vob2xkZXIgdGV4dCBzYXlpbmc6IFwiU2VhcmNoIHJlY2lwZXNcIi4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbnB1dCBcImxpYlwiIGluIHRoZSB0ZXh0IGlucHV0IGZpZWxkLiBUaGUgcGxhY2Vob2xkZXIgdGV4dCBkaXNhcHBlYXJzIHdoZW4gdGhlIGZpcnN0IGNoYXJhY3RlciBpcyB0eXBlZC4gQ2xpY2sgc2VhcmNoIGJ1dHRvbi4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgXG4oMSkgcmV0dXJuZWQgcmVzdWx0cyBcblRoZSBzZWFyY2ggc3RyaW5nIGlzIGtlcHQgaW4gdGhlIHRleHQgaW5wdXQgZmllbGQuIFRoZSByZXN1bHRzIHJldHVybmVkIG9jY3VyLiBDbGljayAgXCJDbGVhciBzZWFyY2hcIiBpY29uIHRvIGNsZWFyIHRoZSBzZWFyY2ggYW5kIGRpc3BsYXkgYWxsIHJlY2lwZXMuIFxuKDIpIG5vIHJlc3VsdHMgcmV0dXJuZWQgXG5JZiB5b3VyIHNlYXJjaCBxdWVyeSByZXR1cm5zIG5vIHJlc3VsdHMsIHRoZSBwYWdlIGhlYWRpbmcgY2hhbmdlcyB0byBcIk5vIHJlY2lwZXMgZm91bmRcIiwgYW5kIHdlIHNob3cgeW91IGFuIGFsZXJ0IHdpdGggYSBzZWFyY2ggZm9ybSBhbmQgYW4gb3B0aW9uIHRvIHNob3cgYWxsIHJlY2lwZXMuIE9ic2VydmUgXCJzaG93IGFsbCByZWNpcGVzXCIgYnV0dG9uIGlzIGF2YWlsYWJsZS4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJXaGVuIEkgcnVuIGEgc2VhcmNoLCB0aGUgc2VhcmNoIGhhcHBlbnMgYWdhaW5zdCB0aGUgZm9sbG93aW5nIGNvbHVtbnMgKGluZGVwZW5kZW50bHkgb2YgdGhleSBiZWluZyBzaG93biBvciBoaWRkZW4pOiBcbi0gUmVjaXBlIFxuLSBSZWNpcGUgdmVyc2lvbiBcbi0gUmVjaXBlIGZpbGUgXG4tIFNlY3Rpb24gXG4tIExpY2Vuc2UgXG4tIExheWVyIFxuLSBMYXllciBicmFuY2ggXG4tIExheWVyIGNvbW1pdCAgXG5cbklucHV0IGEgc3RyaW5nIHRvIHNlYXJjaCBmb3IgdGhlIGFib3ZlIDggY29sdW1uIGhlYWRpbmdzIHNlcGFyYXRlbHkgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIHNlYXJjaCBoYXBwZW5zIGFnYWluc3QgdGhlIGNvbHVtbnMuICBcblxuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjkiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTZWFyY2gsIHNvcnRpbmcgYW5kIFwiRWRpdCBjb2x1bW5zXCIgIFxuU2VhcmNoaW5nIGRvZXMgbm90IGNoYW5nZSB0aGUgc3RhdGUgb2YgdGhlIHRhYmxlOiB0aGUgc2FtZSBjb2x1bW5zIHJlbWFpbiBoaWRkZW4gYW5kIHRoZSBzYW1lIHNvcnRpbmcgYXBwbGllZCB3aGVuIHNlYXJjaCByZXN1bHRzIGFyZSBkaXNwbGF5ZWQsIGJ1dCBmaWx0ZXJzIGFyZSBjbGVhcmVkIGJ5IHRoZSBzZWFyY2ggcmVzdWx0cy5cblNlYXJjaCBhIHN0cmluZyBhbmQgbWFrZSBzdXJlIHRoYXQgdGhlIHNhbWUgY29sdW1ucyByZW1haW4gaGlkZGVuIGFuZCB0aGUgc2FtZSBzb3J0aW5nIGFwcGxpZWQuIFNpbmNlIGZpbHRlciBmZWF0dXJlIG9mIHJlY2lwZXMgKDQyOTYpIGlzIG9ic29sZXRlLCB3ZSBkb24ndCBoYXZlIHRvIHRlc3QgZmlsdGVyLiAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMTAiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTZWFyY2ggYW5kIGZpbHRlcnMgXG5UaGUgc2NvcGUgb2YgdGhlIGZpbHRlcnMgaXMgdGhlIGNvbnRlbnQgY3VycmVudGx5IG9uIHRoZSB0YWJsZSAodGhpcyBtZWFucyBhbGwgdGFibGUgcGFnZXMsIG5vdCBvbmx5IHRoZSBvbmUgZGlzcGxheWVkKS4gVGhlIHNjb3BlIG9mIHRoZSBzZWFyY2ggaXMgYWx3YXlzIHRoZSBjb250ZW50IG9mIHRoZSBkYXRhYmFzZS5cblNpbmNlIGZpbHRlciBmZWF0dXJlIG9mIHJlY2lwZXMgKDQyOTYpIGlzIG9ic29sZXRlLCB3ZSBkb24ndCBoYXZlIHRvIHRlc3QgZmlsdGVyLiAgXG5cbklmIEkgcnVuIGEgc2VhcmNoIHF1ZXJ5LCBhbnkgZmlsdGVyIGFwcGxpZWQgYWZ0ZXJ3YXJkcyB3aWxsIGZpbHRlciB0aGUgY29udGVudCByZXR1cm5lZCBieSB0aGUgc2VhcmNoIHF1ZXJ5LiAgXG5cbklmIEkgcnVuIGEgc2VhcmNoIHF1ZXJ5IHdoaWxlIGEgZmlsdGVyIGlzIGFwcGxpZWQsIHRoZSBmaWx0ZXIgaXMgY2xlYXJlZCBieSB0aGUgcmVzdWx0cyBvZiB0aGUgc2VhcmNoIHF1ZXJ5IChpLmUuIHdlIGRpc3BsYXkgdGhlIHJlc3VsdHMgb2YgdGhlIHNlYXJjaCBxdWVyeSBhbmQgY2xlYXIgdGhlIGZpbHRlciBhcHBsaWVkIGJlZm9yZWhhbmQpLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEiCisgICAgICAgIH0sCisgICAgICAgICIxMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBUaGUgc2FtZSBoYXBwZW5zIGlmIEkgY2xpY2sgdGhlIFwiQ2xlYXIgc2VhcmNoXCIgaWNvbiB3aGVuIGEgZmlsdGVyIGlzIGFwcGxpZWQgdG8gYSBzZXQgb2Ygc2VhcmNoIHJlc3VsdHMgKGJvdGggc2VhcmNoIHJlc3VsdHMgYW5kIGFwcGxpZWQgZmlsdGVyIGFyZSBjbGVhcmVkLCBhbmQgdGhlIHRhYmxlIHNob3dzIGFsbCB0aGUgdGFza3MpLiBcblNpbmNlIGZpbHRlciBmZWF0dXJlIG9mIHJlY2lwZXMgKDQyOTYpIGlzIG9ic29sZXRlLCB3ZSBkb24ndCBoYXZlIHRvIHRlc3QgZmlsdGVyLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogInJlY2lwZXM6X1NlYXJjaF90aGVfY29udGVudF9vZl90aGVfcmVjaXBlc190YWJsZS4iCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItdW5tYW5hZ2VkLW1vZGUudG9hc3Rlci11bm1hbmFnZWQucmVjaXBlczpfQ3VzdG9taXNlX3RoZV9jb2x1bW5zX29mX3RoZV9yZWNpcGVzX3RhYmxlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iLAorICAgICAgICAgICJuYW1lIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB3aXRoIGEgZGVmYXVsdCBZb2N0byBwcm9qZWN0IChxZW11eDg2KSwgc3RhcnQgdGhlIFRvYXN0ZXIsIGFuZCBidWlsZCBcImJpdGJha2UgY29yZS1pbWFnZS1taW5pbWFsXCIuICAgXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiBUb2FzdGVyLCBzZWxlY3QgdGhlIGJ1aWxkLCBhbmQgc2VsZWN0IHRoZSBcIlJlY2lwZXNcIiBsaW5rIGluIHRoZSBsZWZ0IHNpZGViYXIuICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiKiBPYnNlcnZlIHRoYXQgdGhlIGRlZmF1bHQgY29sdW1ucyBhcmU6ICAgXG4gICAgXCJSZWNpcGUsIFJlY2lwZSB2ZXJzaW9uLCBSZWNpcGUgZmlsZSwgU2VjdGlvbiAsIExpY2Vuc2UsIExheWVyXCIgICBcbiBcbiAgKiBDbGljayB0aGUgXCJFZGl0IENvbHVtbnNcIiBidXR0b24uICBcbiAgKiBPYnNlcnZlIHRoYXQgdGhlIGZpZWxkcyBhcmUgc29ydGVkIGFzIGZvbGxvd3MgKHdpdGggdGhlIGluZGljYXRlZCBpdGVtcyBncmV5ZWQpICBcbiAgICBbIF0gRGVwZW5kZW5jaWVzICBcbiAgICBbeF0gTGF5ZXIgIFxuICAgIFsgXSBMYXllciBicmFuY2ggIFxuICAgIFsgXSBMYXllciBjb21taXQgIFxuICAgIFt4XSBMaWNlbnNlICBcbiAgICBbeF0gUmVjaXBlICAgICAgICAgICAgICAgICAgIHtncmV5ZWR9ICBcbiAgICBbeF0gUmVjaXBlIGZpbGUgIFxuICAgIFt4XSBSZWNpcGUgdmVyc2lvbiAgICAgICAge2dyZXllZH0gIFxuICAgIFsgXSBSZXZlcnNlIGRlcGVuZGVuY2llcyAgXG4gICAgW3hdIFNlY3Rpb24gICAgXG4gXG4gICogRm9yIGVhY2ggb2YgdGhlIGdyZXllZCBpdGVtcywgYXR0ZW1wdCB0byBjbGljayB0aGVtLiBPYnNlcnZlIHRoYXQgdGhleSBkbyBub3QgY2hhbmdlLiAgXG4gICogRm9yIGVhY2ggb2YgdGhlIG5vbi1ncmV5ZWQgaXRlbXMsIGF0dGVtcHQgdG8gY2xpY2sgdGhlbS4gT2JzZXJ2ZSB0aGF0IHRoZSByZXNwZWN0aXZlIGNvbHVtbiBkeW5hbWljYWxseSBhcHBlYXJzIHdoZW4gY2hlY2tlZCBhbmQgZGlzYXBwZWFycyB3aGVuIHVuLWNoZWNrZWQuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk5BIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAicmVjaXBlczpfQ3VzdG9taXNlX3RoZV9jb2x1bW5zX29mX3RoZV9yZWNpcGVzX3RhYmxlLiIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC5yZWNpcGVzOl9WaWV3X2FfdGFibGVfd2l0aF9hbGxfdGhlX3JlY2lwZXNfaW5jbHVkZWRfaW5fYW5faW1hZ2VfcmVjaXBlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iLAorICAgICAgICAgICJuYW1lIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB3aXRoIGEgZGVmYXVsdCBZb2N0byBwcm9qZWN0IChxZW11eDg2KSwgc3RhcnQgdGhlIFRvYXN0ZXIsIGFuZCBidWlsZCBcImJpdGJha2UgY29yZS1pbWFnZS1taW5pbWFsXCIuICAgXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiBUb2FzdGVyLCBzZWxlY3QgdGhlIGJ1aWxkLCBhbmQgc2VsZWN0IHRoZSBcIlJlY2lwZXNcIiBsaW5rIGluIHRoZSBsZWZ0IHNpZGViYXIuICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQnkgZGVmYXVsdCwgdGhlIGFsbCByZWNpcGVzIHRhYmxlIGRpc3BsYXlzIHRoZSBmb2xsb3dpbmcgY29sdW1ucyBpbiB0aGlzIG9yZGVyOiBcbigxKSBSZWNpcGUgKDIpIFJlY2lwZSB2ZXJzaW9uOiB0aGUgdGFyZ2V0IHZlcnNpb24gYW5kIHJldmlzaW9uICgzKSBEZXBlbmRlbmNpZXMgKDQpUmV2ZXJzZSBEZXBlbmRlbmNpZXMgICg1KSBMaWNlbnNlOiB0aGUgdmFsdWUgb2YgdGhlIHRhcmdldCdzIExJQ0VOU0UgdmFyaWFibGUgKDYpIExheWVyOiB0aGUgbmFtZSBvZiB0aGUgbGF5ZXIgcHJvdmlkaW5nIHRoZSB0YXJnZXQgIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiB0aGUgXCJFZGl0IGNvbHVtbnNcIiBtZW51LCB0YWJsZSBjb2x1bW5zIGFwcGVhciBsaXN0ZWQgYWxwaGFiZXRpY2FsbHkuIFxuSW4gdGhlIHRhYmxlIGl0c2VsZiwgdGhlIGRlZmF1bHQgb3JkZXIgb2YgY29sdW1ucyBpcyBhcyBmb2xsb3dzOiBcbigxKSBEZXBlbmRlbmNpZXMgKDIpIExheWVyICgzKSBMYXllciBicmFuY2ggKDQpIExheWVyIGNvbW1pdCAoNSkgTGljZW5zZSAoNikgUmVjaXBlICg3KSBSZWNpcGUgZmlsZSAgKDgpIFJldmVyc2UgZGVwZW5kZW5jaWVzICg5KSBTZWN0aW9uICgxMCkgVmVyc2lvbiAgXG5cblRoZSBtaW5pbXVtIHRhYmxlIGlzIG1hZGUgb2YgdGhlIDIgY29sdW1ucyB0aGF0IHByb3ZpZGUgdGhlIGluZm9ybWF0aW9uIG5lZWRlZCB0byBpZGVudGlmeSBhIHRhcmdldDogUmVjaXBlIGFuZCBSZWNpcGUgdmVyc2lvbi4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk5BIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAicmVjaXBlczpfVmlld19hX3RhYmxlX3dpdGhfYWxsX3RoZV9yZWNpcGVzX2luY2x1ZGVkX2luX2FuX2ltYWdlX3JlY2lwZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC5yZWNpcGVzOl9WaWV3X2RldGFpbGVkX2luZm9ybWF0aW9uX2Fib3V0X2FfcmVjaXBl44CCIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iLAorICAgICAgICAgICJuYW1lIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDcmVhdGUgYSBkZWZhdWx0IFlvY3RvIHByb2plY3QgKHFlbXV4ODYpLCBhbmQgc3RhcnQgdGhlIFRvYXN0ZXIuICBcbiBcbiAgJCBzb3VyY2UgcG9reS9vZS1pbml0LWJ1aWxkLWVudiBcbiAgJCBzb3VyY2UgdG9hc3RlciBzdGFydCBcbiAgJCBiaXRiYWtlIGNvcmUtaW1hZ2UtbWluaW1hbCBcbiAgJCBodHRwOi8vbG9jYWxob3N0OjgwMDAvICBcbiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlbGVjdCB0aGUgXCJjb3JlLWltYWdlLW1pbmltYWxcIiBidWlsZCBsaW5rICBcbiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlbGVjdCB0aGUgXCJSZWNpcGVzXCIgbGluayBpbiB0aGUgbGVmdCBzaWRlYmFyICBcbiBcbk9ic2VydmUgdGhhdCB0aGUgcmVjaXBlcyBhcmUgbGlzdGVkIGluIGEgdGFibGUsIGFuZCB0aGF0IGVhY2ggcmVjaXBlIG5hbWUgaXMgYSBsaXZlIFVSTCBsaW5rLiAgXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPYnNlcnZlIHRoYXQgXCJQYWNrYWdlc1wiIGxpbmsuIEl0IHNob3VsZCBoYXZlIGFuIGFwcGVuZGVkIHZhbHVlIGxpa2UgXCIoNClcIi4gTm93IGNsaWNrIG9uIHRoaXMgbGluay4gIFxuIFxuT2JzZXJ2ZTogXG4gIGEpIFRoZSBudW1iZXIgb2YgcGFja2FnZXMgbWF0Y2hlcyB0aGUgcHJldmlvdXMgbnVtYmVyIGluIHBhcmVudGhlc2lzLiAgXG4gXG4gIGIpIEVhY2ggcGFja2FnZSBoYXMgYSB2ZXJzaW9uIGFuZCBhIHNpemUuIFRoZSBzaXplIG1heSBiZSB6ZXJvLiAgXG4gXG4gIGMpIE5vdGUgdGhhdCBpZiB5b3UgaG92ZXIgb24gYSBwYWNrYWdlIG5hbWUsIGl0IHdpbGwgcmV2ZWFsIGEgVVJMIG9mIHRoZSBmb2xsb3dpbmcgZm9ybS4gVGhpcyBsaW5rIHNob3VsZCB0YWtlIHlvdSB0byB0aGUgY29ycmVzcG9uZGluZyBwYWNrYWdlIGRldGFpbCBwYWdlLiAgXG4gXG4gICAgICAgIGxvY2FsaG9zdDo4MDAwL2d1aS9idWlsZC8vcGFja2FnZS8gICBcbiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9ic2VydmUgdGhhdCByZWNpcGVzIG9mIFwiQnVpbGQgRGVwZW5kZW5jaWVzXCIgbGluayBoYXMgYW4gYXBwZW5kZWQgdmFsdWUgbGlrZSBcIigwKVwiLiBOb3cgY2xpY2sgb24gdGhpcyBsaW5rLiAgXG4gXG5PYnNlcnZlOiBcbiAgYSkgTm8gZGVwZW5kZW5jaWVzIGFwcGVhciwgYW5kIHlvdSBnZXQgYSBtZXNzYWdlIG9mIHRoZSBmb3JtOiAgXG4gXG4gIFwiJFJFQ0lQRV9OQU1FX1ZFUlNJT04gaGFzIG5vIGJ1aWxkIGRlcGVuZGVuY2llcy5cIiAgXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPYnNlcnZlIHRoYXQgXCJSZXZlcnNlIGJ1aWxkIGRlcGVuZGVuY2llc1wiIGxpbmsgaGFzIGFuIGFwcGVuZGVkIHZhbHVlIGxpa2UgXCIoMSlcIi4gTm93IGNsaWNrIG9uIHRoaXMgbGluay4gIFxuIFxuT2JzZXJ2ZTogXG4gIGEpIFRoZSBudW1iZXIgb2YgcGFja2FnZXMgbWF0Y2hlcyB0aGUgcHJldmlvdXMgbnVtYmVyIGluIHBhcmVudGhlc2lzLiAgXG4gXG4gIGIpIFRoZSByZWNpcGUgZGVwZW5kZW5jeSBzaG91bGQgYmUgXCJwYWNrYWdlZ3JvdXAtY29yZS1ib290XCIsICBcbiBcbiAgYykgVGhlcmUgc2hvdWxkIGJlIGEgcmVzcGVjdGl2ZSB2ZXJzaW9uIGRpc3BsYXllZCwgZm9yIGV4YW1wbGUgXCIxLjAtcjExXCIgIFxuIFxuICBkKSBJZiB5b3UgaG92ZXIgb24gdGhlIHJlY2lwZSBuYW1lLCBpdCB3aWxsIHJldmVhbCBhIFVSTCBvZiB0aGUgZm9sbG93aW5nIGZvcm0uIFRoaXMgbGluayBzaG91bGQgdGFrZSB5b3UgdG8gdGhlIGNvcnJlc3BvbmRpbmcgcmVjaXBlIGRldGFpbCBwYWdlLiAgXG4gXG4gICAgICAgIGxvY2FsaG9zdDo4MDAwL2d1aS9idWlsZC8vcmVjaXBlLyAgXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayB0aGUgYnJlYWRjcnVtYiBcIlJlY2lwZXNcIiBhdCB0aGUgdG9wLCBsb2NhdGUgdGhlIFwiZ2RibVwiIHJlY2lwZSwgYW5kIHNlbGVjdCBpdC4gIFxuIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI4IjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSB0aGF0IFwiUGFja2FnZXNcIiBsaW5rLiBJdCBzaG91bGQgaGF2ZSBhbiBhcHBlbmRlZCB2YWx1ZSBsaWtlIFwiKDApXCIuIE5vdyBjbGljayBvbiB0aGlzIGxpbmsuICBcbiBcbk9ic2VydmU6IFxuICBhKSBObyBwYWNrYWdlcyBhcHBlYXIsIGFuZCB5b3UgZ2V0IGEgbWVzc2FnZSBvZiB0aGUgZm9ybTogIFxuIFxuICBcIiRQQUNLQUdFX05BTUVfVkVSU0lPTiBkb2VzIG5vdCBidWlsZCBhbnkgcGFja2FnZXMuXCIgIFxuIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI5IjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSB0aGF0IFwiQnVpbGQgZGVwZW5kZW5jaWVzXCIgbGluay4gSXQgc2hvdWxkIGhhdmUgYW4gYXBwZW5kZWQgdmFsdWUgbGlrZSBcIigyKVwiLiBOb3cgY2xpY2sgb24gdGhpcyBsaW5rLiAgXG4gXG5PYnNlcnZlOiBcbiAgYSkgVGhlIG51bWJlciBvZiBidWlsZCBkZXBlbmRlbmNpZXMgbWF0Y2hlcyB0aGUgcHJldmlvdXMgbnVtYmVyIGluIHBhcmVudGhlc2lzLiAgXG4gXG4gIGIpIFRoZSByZWNpcGUgZGVwZW5kZW5jeSBzaG91bGQgaGF2ZSB2YWx1ZXMgbGlrZSBcImdldHRleHQtbmF0aXZlXCIgYW5kIFwibGlidG9vbC1jcm9zc1wiLiAgXG4gXG4gIGMpIFRoZXJlIHNob3VsZCBiZSBhIHJlc3BlY3RpdmUgdmVyc2lvbnMgZGlzcGxheWVkIGZvciBlYWNoIGRlcGVuZGVuY3kuICBcbiBcbiAgZCkgSWYgeW91IGhvdmVyIG9uIGEgcmVjaXBlIG5hbWUsIGl0IHdpbGwgcmV2ZWFsIGEgVVJMIG9mIHRoZSBmb2xsb3dpbmcgZm9ybS4gVGhpcyBsaW5rIHNob3VsZCB0YWtlIHlvdSB0byB0aGUgY29ycmVzcG9uZGluZyByZWNpcGUgZGV0YWlsIHBhZ2UuICBcbiBcbiAgICAgICAgbG9jYWxob3N0OjgwMDAvZ3VpL2J1aWxkLy9yZWNpcGUvICBcbiBcbjEiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjEwIjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSB0aGF0IFwiUmV2ZXJzZSBidWlsZCBkZXBlbmRlbmNpZXNcIiBsaW5rLiBJdCBzaG91bGQgaGF2ZSBhbiBhcHBlbmRlZCB2YWx1ZSBsaWtlIFwiKDApXCIuIE5vdyBjbGljayBvbiB0aGlzIGxpbmsuICBcbiBcbk9ic2VydmU6IFxuICBhKSBObyByZXZlcnNlIGRlcGVuZGVuY2llcyBhcHBlYXIsIGFuZCB5b3UgZ2V0IGEgbWVzc2FnZSBvZiB0aGUgZm9ybTogIFxuIFxuICBcIiRSRUNJUEVfTkFNRV9WRVJTSU9OIGRvZXMgbm90IGJ1aWxkIGFueSBwYWNrYWdlcy4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk5BIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAicmVjaXBlczpfVmlld19kZXRhaWxlZF9pbmZvcm1hdGlvbl9hYm91dF9hX3JlY2lwZeOAgiIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC52YXJpYWJsZXM6X1NlYXJjaF90aGVfY29udGVudF9vZl90aGVfYml0YmFrZV92YXJpYWJsZXNfdGFibGUiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHdpdGggYSBkZWZhdWx0IFlvY3RvIHByb2plY3QgKHFlbXV4ODYpLCBzdGFydCB0aGUgVG9hc3RlciwgYW5kIGJ1aWxkIFwiYml0YmFrZSBjb3JlLWltYWdlLW1pbmltYWxcIi4gICBcbiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkluIFRvYXN0ZXIsIHNlbGVjdCB0aGUgYnVpbGQsIGFuZCBzZWxlY3QgdGhlIFwiQ29uZmlndXJhdGlvblwiIGxpbmsgaW4gdGhlIGxlZnQgc2lkZWJhci4gVGhlbiBjbGljayBcIkJpdEJha2UgdmFyaWFibGVzXCIgdGFiLiAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIldoZW4gbm8gc2VhcmNoIHF1ZXJ5IGhhcyBiZWVuIGVudGVyZWQsIHdlIGhhdmUgcGxhY2Vob2xkZXIgdGV4dCBzYXlpbmc6IFwiU2VhcmNoIEJpdEJha2UgdmFyaWFibGVzXCIuICAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIklucHV0IFwibGliXCIgaW4gdGV4dCBpbnB1dCBmaWVsZC4gVGhlIHBsYWNlaG9sZGVyIHRleHQgZGlzYXBwZWFycyB3aGVuIHRoZSBmaXJzdCBjaGFyYWN0ZXIgaXMgdHlwZWQuIENsaWNrIHNlYXJjaCBidXR0b24uICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSBcIjQgdmFyaWFibGVzIGZvdW5kXCIgaXMgc2hvd2VkLiAoSXQgbWF5IGJlIG90aGVyIG51bWJlci4pICBcbiAgSWYgeW91ciBzZWFyY2ggcXVlcnkgcmV0dXJucyBubyByZXN1bHRzLCB3ZSBkaXNwbGF5IGFuIGFsZXJ0IHdpdGg6IFxuICAgIC0gQSBoMyBoZWFkaW5nIHNheWluZzogXCJObyB2YXJpYWJsZXMgZm91bmRcIiBcbiAgICAtIEEgc2VhcmNoIGJveCBcbiAgICAtIFRoZSBzZWFyY2ggcXVlcnkgaXMgc2hvd2VkIGluIHRoZSB0ZXh0IGlucHV0IHNoaWVsZC4gXG4gICAgLSBBIGxpbmsgdG8gc2hvdyBhbGwgdmFyaWFibGVzLiB3ZSBzaG93IHRoZSB2YXJpYWJsZXMgdGFibGUuICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiV2UgcHJvdmlkZSBhIFwiQ2xlYXIgc2VhcmNoXCIgaWNvbiAoaWNvbi1yZW1vdmUtc2lnbikuIENsaWNrIGl0IHRvIGNsZWFyIHRoZSBzZWFyY2ggYW5kIGRpc3BsYXkgYWxsIHZhcmlhYmxlcy4gQ2hlY2sgdGhhdCB0aGUgXCJDbGVhciBzZWFyY2hcIiBpY29uIGNhbm5vdCBiZSBhY2Nlc3NlZCB1c2luZyB0aGUgdGFiIGtleS4gICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiVmVyaWZ5IHNlYXJjaCBzY29wZS4gXG5XaGVuIEkgcnVuIGEgc2VhcmNoLCB0aGUgc2VhcmNoIGhhcHBlbnMgYWdhaW5zdCB0aGUgZm9sbG93aW5nIGNvbHVtbnMgKGluZGVwZW5kZW50bHkgb2YgdGhleSBiZWluZyBzaG93biBvciBoaWRkZW4pOiBcbi0gVmFyaWFibGUgXG4tIFZhbHVlIFxuLSBTZXQgaW4gZmlsZSBcbi0gRGVzY3JpcHRpb24gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJWZXJpZnkgXCJzZWFyY2gsIHNvcnRpbmcgYW5kICdFZGl0IGNvbHVtbnMnXCIgXG5TZWFyY2hpbmcgZG9lcyBub3QgY2hhbmdlIHRoZSBzdGF0ZSBvZiB0aGUgdGFibGU6IHRoZSBzYW1lIGNvbHVtbnMgcmVtYWluIGhpZGRlbiBhbmQgdGhlIHNhbWUgc29ydGluZyBhcHBsaWVkIFxud2hlbiBzZWFyY2ggcmVzdWx0cyBhcmUgZGlzcGxheWVkLCBidXQgZmlsdGVycyBhcmUgY2xlYXJlZCBieSB0aGUgc2VhcmNoIHJlc3VsdHMuICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI5IjogeworICAgICAgICAgICJhY3Rpb24iOiAiU2VhcmNoIGFuZCBmaWx0ZXJzIFxuSWYgSSBydW4gYSBzZWFyY2ggcXVlcnksIGFueSBmaWx0ZXIgYXBwbGllZCBhZnRlcndhcmRzIHdpbGwgZmlsdGVyIHRoZSBjb250ZW50IHJldHVybmVkIGJ5IHRoZSBzZWFyY2ggcXVlcnkuIFxuSWYgSSBydW4gYSBzZWFyY2ggcXVlcnkgd2hpbGUgYSBmaWx0ZXIgaXMgYXBwbGllZCwgdGhlIGZpbHRlciBpcyBjbGVhcmVkIGJ5IHRoZSByZXN1bHRzIG9mIHRoZSBzZWFyY2ggcXVlcnkuIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogInZhcmlhYmxlczpfU2VhcmNoX3RoZV9jb250ZW50X29mX3RoZV9iaXRiYWtlX3ZhcmlhYmxlc190YWJsZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC52YXJpYWJsZXM6X1NvcnRfdGhlX2NvbnRlbnRfb2ZfdGhlX2JpdGJha2VfdmFyaWFibGVzX3RhYmxlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iLAorICAgICAgICAgICJuYW1lIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB3aXRoIGEgZGVmYXVsdCBZb2N0byBwcm9qZWN0IChxZW11eDg2KSwgc3RhcnQgdGhlIFRvYXN0ZXIsIGFuZCBidWlsZCBcImJpdGJha2UgY29yZS1pbWFnZS1taW5pbWFsXCIuICBcbiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkluIFRvYXN0ZXIsIHNlbGVjdCB0aGUgYnVpbGQsIGFuZCBzZWxlY3QgdGhlIFwiQ29uZmlndXJhdGlvblwiIGxpbmsgaW4gdGhlIGxlZnQgc2lkZWJhci4gVGhlbiBjbGljayBcIkJpdEJha2UgdmFyaWFibGVzXCIgdGFiLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQnkgZGVmYXVsdCwgdGhlIFwidmFyaWFibGVzXCIgdGFibGUgaXMgc29ydGVkIGJ5IFwiVmFyaWFibGVcIiBpbiBhc2NlbmRpbmcgYWxwaGFiZXRpY2FsIG9yZGVyIChBIHRvIFopLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiTWFrZSBzdXJlIHRoYXQgXCJWYXJpYWJsZVwiIGNvbHVtbiBpcyBzb3J0YWJsZSAoRGV2ZWxvcGVycyBoYXZlIGRpc2FibGVkIHNvcnQgZnVuY3Rpb24gb2YgYWxsIG90aGVyIGNvbHVtbnMgdG8gYXZvaWQgYnVnIDYwMDQpIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTb3J0aW5nIGFuZCBzZWFyY2ggXG5TZWFyY2hpbmcgc2hvdWxkIGhhdmUgbm8gaW1wYWN0IG9uIHRoZSBhcHBsaWVkIHNvcnRpbmcuIEFueSByZXN1bHRzIHJldHVybmVkIHNob3VsZCBiZSBzb3J0ZWQgYnkgdGhlIHNvcnRpbmcgY3JpdGVyaWEgc2VsZWN0ZWQgd2hlbiB0aGUgc2VhcmNoIHF1ZXJ5IHdhcyBzdWJtaXR0ZWQuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogInZhcmlhYmxlczpfU29ydF90aGVfY29udGVudF9vZl90aGVfYml0YmFrZV92YXJpYWJsZXNfdGFibGUuIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLXVubWFuYWdlZC1tb2RlLnRvYXN0ZXItdW5tYW5hZ2VkLmJ1aWxkczpfVmlld19hX3RhYmxlX29mX2FsbF90aGVfYnVpbGRzX3J1bl9mb3JfYV9jZXJ0YWluX2J1aWxkX2RpcmVjdG9yeSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgdXAgdG9hc3RlciBhbmQgb3BlbiBsb2NhbGhvc3Q6ODAwMC4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiWW91IGNhbiBzZWUgJ0xhdGVzdCBidWlsZHMnIHNlY3Rpb24gbGlzdHMuIC0gQnVpbGRzIGluIHByb2dyZXNzLCBzb3J0ZWQgYnkgaW52ZXJzZSBzdGFydCB0aW1lIChsYXN0IG9uZSBzdGFydGluZyBhdCB0aGUgdG9wKS4gLSAzIGxhdGVzdCBjb21wbGV0ZWQgYnVpbGRzLCBhcyBsb25nIGFzIHRoZXkgYXJlIGxlc3MgdGhhbiAyNCBob3VycyBvbGQuICBJZiB0aGVyZSBhcmUgbm8gYnVpbGRzIGluIHByb2dyZXNzIG9yIGJ1aWxkcyBjb21wbGV0ZWQgd2l0aGluIHRoZSBsYXN0IDI0IGhvdXJzIHdlIGRvbid0IGRpc3BsYXkgaXQ6IHRoZSBwYWdlIHNob3dzIG9ubHkgdGhlICdBbGwgYnVpbGRzJyBzZWN0aW9uLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJZb3UgY2FuIHNlZSB0aGUgZm9sbG93aW5nIGNvbHVtbiBoZWFkaW5ncy4gWW91IGNhbiBzZWUgdGhlIHRoZWlyIGRlc2NyaXB0aW9uIGluIGh0dHBzOi8vYnVnemlsbGEueW9jdG9wcm9qZWN0Lm9yZy9hdHRhY2htZW50LmNnaT9pZD0xNjE3LiBvdXRjb21lLCByZWNpcGUsIG1hY2hpbmUsIHN0YXJ0ZWQgb24sIGNvbXBsZXRlZCBvbiwgZmFpbGVkIHRhc2tzLCBlcnJvcnMsIHdhcm5pbmdzLCB0aW1lLCBpbWFnZSBmaWxlcywgcHJvamVjdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJidWlsZHM6X1ZpZXdfYV90YWJsZV9vZl9hbGxfdGhlX2J1aWxkc19ydW5fZm9yX2FfY2VydGFpbl9idWlsZF9kaXJlY3RvcnkiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItdW5tYW5hZ2VkLW1vZGUudG9hc3Rlci11bm1hbmFnZWQuYnVpbGRzOl9DdXN0b21pc2VfdGhlX2NvbHVtbnNfb2ZfdGhlX2J1aWxkc190YWJsZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgdXAgdG9hc3Rlci4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDcmVhdGUgMiBidWlsZHMsIHN1Y2ggYXMgXCJiaXRiYWtlIGNvcmUtaW1hZ2UtbWluaW1hbFwiIGFuZCBcImJpdGJha2UgY29yZS1pbWFnZS1zYXRvXCIuIFdhaXQgZm9yIHN1Y2Nlc3NmdWwgYnVpbGRzIGFuZCB0aGVuIHJ1bjogeGRnLW9wZW4gaHR0cDovL2xvY2FsaG9zdDo4MDAwLyIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkVudGVyIFwiQWxsIGJ1aWxkXCIgdGFibGUgaW4gd2ViIGJyb3dzZXIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiU2VsZWN0IGEgZmV3IGl0ZW0gaW4gXCJFZGl0IGNvbHVtbnNcIiB0byBzaG93IG9yIGhpZGUgdGhlbSBpbiBhbGwgYnVpbGRzLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVW5jaGVja2VkIGl0ZW1zIGNoYW5nZWQgdG8gY2hlY2tlZCBzaG91bGQgaW1tZWRpYXRlbHkgYXBwZWFyIGluIHRoZSB0YWJsZS4gICBDaGVja2VkIGl0ZW1zIGNoYW5nZWQgdG8gdW5jaGVja2VkIHNob3VsZCBpbW1lZGlhdGVseSBkaXNhcHBlYXIgZnJvbSB0aGUgdGFibGUuICAgSWYgeW91IHVuY2hlY2sgdGhlIGNvbHVtbiB3aXRoIHRoZSBhcHBsaWVkIHNvcnRpbmcsIHdoZW4geW91IGNsb3NlIHRoZSBcIkVkaXQgY29sdW1uc1wiIG1lbnUgdGhlIGFwcGxpZWQgc29ydGluZyBzaG91bGQgcmV2ZXJ0IHRvIHRoZSB0YWJsZSBkZWZhdWx0IHNvcnRpbmcuIEJ1ZyA1OTE5IGlzIGZpbGVkIGZvciB0aGUgZnVuY3Rpb24uIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiYnVpbGRzOl9DdXN0b21pc2VfdGhlX2NvbHVtbnNfb2ZfdGhlX2J1aWxkc190YWJsZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC5wYWNrYWdlczpfVmlld19hX3RhYmxlX3dpdGhfYWxsX3RoZV9wYWNrYWdlc19idWlsdF9mb3JfYW5faW1hZ2VfcmVjaXBlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iLAorICAgICAgICAgICJuYW1lIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB3aXRoIGEgZGVmYXVsdCBZb2N0byBwcm9qZWN0IChxZW11eDg2KSwgc3RhcnQgdGhlIFRvYXN0ZXIsIGFuZCBidWlsZCBcImJpdGJha2UgY29yZS1pbWFnZS1taW5pbWFsXCIuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkluIFRvYXN0ZXIsIHNlbGVjdCB0aGUgYnVpbGQsIGFuZCBzZWxlY3QgdGhlIFwiUGFja2FnZXNcIiBsaW5rIGluIHRoZSBsZWZ0IHNpZGViYXIuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkJ5IGRlZmF1bHQsIHRoZSBidWlsdCBwYWNrYWdlcyB0YWJsZSBkaXNwbGF5cyB0aGUgZm9sbG93aW5nIGNvbHVtbnMgaW4gdGhpcyBvcmRlcjogIFBhY2thZ2UsIFBhY2thZ2UgdmVyc2lvbiwgU2l6ZSAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBcGFydCBmcm9tIHRoZSBjb2x1bW5zIHNob3duIGJ5IGRlZmF1bHQsIHRoZSBmb2xsb3dpbmcgYWRkaXRpb25hbCBjb2x1bW5zIGFyZSBhbHNvIGF2YWlsYWJsZSB0byB1c2VycyB2aWEgdGhlIFwiRWRpdCBjb2x1bW5zXCIgbWVudTogIExheWVyLCBMYXllciBicmFuY2gsIExheWVyIGNvbW1pdCwgTGljZW5zZSwgUmVjaXBlIHZlcnNpb24gICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkVuYWJsZSB0aGVzZSBjb2x1bW5zIGFuZCBvYnNlcnZlIHRoYXQgdGFibGUgY29sdW1ucyBhcHBlYXIgbGlzdGVkIGFscGhhYmV0aWNhbGx5IGluIHRoZSBcIkVkaXQgY29sdW1uc1wiIG1lbnUgKDEpUGFja2FnZSAoMilQYWNrYWdlIHZlcnNpb24gKDMpU2l6ZSAoNClMaWNlbnNlICg1KVJlY2lwZSAoNilSZWNpcGUgdmVyc2lvbiAoNylMYXllciAoOClMYXllciBicmFuY2ggKDkpTGF5ZXIgY29tbWl0ICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlRoZSBtaW5pbXVtIHRhYmxlIGlzIG1hZGUgb2YgdGhlIDIgY29sdW1ucyB0aGF0IHByb3ZpZGUgdGhlIGluZm9ybWF0aW9uIG5lZWRlZCB0byBpZGVudGlmeSBhIHBhY2thZ2U6IFBhY2thZ2UgYW5kIFBhY2thZ2UgdmVyc2lvbi4gVGhlaXIgY29ycmVzcG9uZGluZyBjaGVja2JveGVzIGluIHRoZSBcIkVkaXQgY29sdW1uc1wiIG1lbnUgYXBwZWFyIGFsd2F5cyBzZWxlY3RlZCBhbmQgYXJlIGluIGFuIGluYWN0aXZlIHN0YXRlLiAgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogInBhY2thZ2VzOl9WaWV3X2FfdGFibGVfd2l0aF9hbGxfdGhlX3BhY2thZ2VzX2J1aWx0X2Zvcl9hbl9pbWFnZV9yZWNpcGUiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItdW5tYW5hZ2VkLW1vZGUudG9hc3Rlci11bm1hbmFnZWQucGFja2FnZXM6X1NvcnRfdGhlX2NvbnRlbnRfb2ZfdGhlX3BhY2thZ2VzX3RhYmxlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iLAorICAgICAgICAgICJuYW1lIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB3aXRoIGEgZGVmYXVsdCBZb2N0byBwcm9qZWN0IChxZW11eDg2KSwgc3RhcnQgdGhlIFRvYXN0ZXIsIGFuZCBidWlsZCBcImJpdGJha2UgY29yZS1pbWFnZS1taW5pbWFsXCIuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkluIFRvYXN0ZXIsIHNlbGVjdCB0aGUgYnVpbGQsIGFuZCBzZWxlY3QgdGhlIFwiUGFja2FnZXNcIiBsaW5rIGluIHRoZSBsZWZ0IHNpZGViYXIuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9ic2VydmUgdGhhdCBieSBkZWZhdWx0IHRoZSBcImJ1aWx0IHBhY2thZ2VzXCIgdGFibGUgaXMgc29ydGVkIGJ5IFwiUGFja2FnZVwiIGluIGFzY2VuZGluZyBhbHBoYWJldGljYWwgb3JkZXIgKEEgdG8gWikuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIFwiU2l6ZVwiIGNvbHVtbiBoZWFkaW5nIHRvIHNvcnQgbXkgXCJidWlsdCBwYWNrYWdlc1wiIHRhYmxlIGJ5IFwiU2l6ZVwiLiBUaGVuIG5hdmlnYXRlIGF3YXkgYnkgc2VsZWN0aW5nIGEgcGFja2FnZSBhbmQgeW91IGNhbiBzZWUgdGhlIHBhY2thZ2UgcGFnZS4gQWZ0ZXIgY2xpY2sgXCJnbyBiYWNrXCIgYnV0dG9uIGluIGJyb3dzZXIgdG8gcmV0dXJuIHRvIHRoZSBcImJ1aWx0IHBhY2thZ2VzXCIgdGFibGUgaXQgc2hvdWxkIHN0aWxsIGJlIHNvcnRlZCBieSBcIlNpemVcIi4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSB0aGF0IGFsbCBleGNlcHQgXCJQYWNrYWdlIHZlcnNpb25cIiwgXCJSZWNpcGUgdmVyc2lvblwiLCBcIkxheWVyIGNvbW1pdFwiIGFyZSBzb3J0YWJsZS4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiSWYgeW91IHVzZSB0aGUgXCJFZGl0IGNvbHVtbnNcIiBtZW51IHRvIGhpZGUgdGhlIGNvbHVtbiB3aXRoIHRoZSBhcHBsaWVkIHNvcnRpbmcsIHdlIHJldmVydCB0aGUgc29ydGluZyB0byB0aGUgZGVmYXVsdCBzb3J0aW5nIChpLmUuIFwiUGFja2FnZVwiKS4gVGhlIGRlZmF1bHQgc29ydGluZyBhbHdheXMgdXNlcyBvbmUgb2YgdGhlIGNvcmUgY29sdW1ucywgd2hpY2ggY2Fubm90IGJlIGhpZGRlbiB1c2luZyB0aGUgXCJFZGl0IGNvbHVtbnNcIiBtZW51LiAgIEJ1ZyA1OTE5IGlzIGZpbGVkIGZvciB0aGUgaXNzdWUuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlYXJjaGluZyBzaG91bGQgaGF2ZSBubyBpbXBhY3Qgb24gdGhlIGFwcGxpZWQgc29ydGluZy4gQW55IHJlc3VsdHMgcmV0dXJuZWQgc2hvdWxkIGJlIHNvcnRlZCBieSB0aGUgc29ydGluZyBjcml0ZXJpYSBzZWxlY3RlZCB3aGVuIHRoZSBzZWFyY2ggcXVlcnkgd2FzIHN1Ym1pdHRlZC4gIFNvcnQgcGFja2FnZXMgYnkgc2l6ZSBhbmQgc2VhcmNoIGEgc3RyaW5nLiBPYnNlcnZlIHRoYXQgcmVzdWx0cyByZXR1cm5lZCBzaG91bGQgYmUgc29ydGVkIGJ5IHNpemUuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkluIFRvYXN0ZXIsIHNlbGVjdCB0aGUgYnVpbGQsIGFuZCBzZWxlY3QgdGhlIFwiY29yZS1pbWFnZSpcIiBsaW5rIGluIHRoZSBsZWZ0IHNpZGViYXIuIE9ic2VydmUgdGhhdCBieSBkZWZhdWx0IHRoZSBcImJ1aWx0IHBhY2thZ2VzXCIgdGFibGUgaXMgc29ydGVkIGJ5IFwiUGFja2FnZVwiIGluIGFzY2VuZGluZyBhbHBoYWJldGljYWwgb3JkZXIgKEEgdG8gWikuICAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjkiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJZiBjaG9vc2UgdG8gc29ydCBteSBcImluY2x1ZGVkIHBhY2thZ2VzXCIgdGFibGUgYnkgXCJTaXplXCIgYW5kIHRoZW4gbmF2aWdhdGUgYXdheSBieSBzZWxlY3RpbmcgYSBwYWNrYWdlLCB3aGVuIEkgZ28gYmFjayB0byB0aGUgXCJpbmNsdWRlZCBwYWNrYWdlc1wiIHRhYmxlIGl0IHNob3VsZCBzdGlsbCBiZSBzb3J0ZWQgYnkgXCJTaXplXCIuICAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjEwIjogeworICAgICAgICAgICJhY3Rpb24iOiAiRW5hYmxlIGFsbCBjb2x1bW5zIGJ5IFwiRWRpdCBjb2x1bW5zXCIuIEFsbCBleGNlcHQgXCJQYWNrYWdlIHZlcnNpb25cIiwgXCJSZWNpcGUgdmVyc2lvblwiLCBcIkRlcGVuZGVuY2llc1wiLCBcIlJldmVyc2UgZGVwZW5kZW5jaWVzXCIsIFwiTGF5ZXIgY29tbWl0XCIsIHNob3VsZCBiZSBzb3J0YWJsZS4gICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMTEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJZiB5b3UgdXNlIHRoZSBcIkVkaXQgY29sdW1uc1wiIG1lbnUgdG8gaGlkZSB0aGUgY29sdW1uIHdpdGggdGhlIGFwcGxpZWQgc29ydGluZywgd2UgcmV2ZXJ0IHRoZSBzb3J0aW5nIHRvIHRoZSBkZWZhdWx0IHNvcnRpbmcgKGkuZS4gXCJQYWNrYWdlXCIpLiBUaGUgZGVmYXVsdCBzb3J0aW5nIGFsd2F5cyB1c2VzIG9uZSBvZiB0aGUgY29yZSBjb2x1bW5zLCB3aGljaCBjYW5ub3QgYmUgaGlkZGVuIHVzaW5nIHRoZSBcIkVkaXQgY29sdW1uc1wiIG1lbnUuICBCdWcgNTkxOSBpcyBmaWxlZCBmb3IgdGhlIGlzc3VlLiAgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlYXJjaGluZyBzaG91bGQgaGF2ZSBubyBpbXBhY3Qgb24gdGhlIGFwcGxpZWQgc29ydGluZy4gQW55IHJlc3VsdHMgcmV0dXJuZWQgc2hvdWxkIGJlIHNvcnRlZCBieSB0aGUgc29ydGluZyBjcml0ZXJpYSBzZWxlY3RlZCB3aGVuIHRoZSBzZWFyY2ggcXVlcnkgd2FzIHN1Ym1pdHRlZC4gU29ydCBwYWNrYWdlcyBieSBzaXplIGFuZCBzZWFyY2ggYSBzdHJpbmcuIE9ic2VydmUgdGhhdCByZXN1bHRzIHJldHVybmVkIHNob3VsZCBiZSBzb3J0ZWQgYnkgc2l6ZS4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk5BIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAicGFja2FnZXM6X1NvcnRfdGhlX2NvbnRlbnRfb2ZfdGhlX3BhY2thZ2VzX3RhYmxlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLXVubWFuYWdlZC1tb2RlLnRvYXN0ZXItdW5tYW5hZ2VkLnBhY2thZ2VzOl9DdXN0b21pc2VfdGhlX2NvbHVtbnNfb2ZfdGhlX3BhY2thZ2VzX3RhYmxlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iLAorICAgICAgICAgICJuYW1lIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB3aXRoIGEgZGVmYXVsdCBZb2N0byBwcm9qZWN0IChxZW11eDg2KSwgc3RhcnQgdGhlIFRvYXN0ZXIsIGFuZCBidWlsZCBcImJpdGJha2UgY29yZS1pbWFnZS1taW5pbWFsXCIuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkluIFRvYXN0ZXIsIHNlbGVjdCB0aGUgYnVpbGQsIGFuZCBzZWxlY3QgdGhlIFwiUGFja2FnZXNcIiBsaW5rIGluIHRoZSBsZWZ0IHNpZGViYXIuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9ic2VydmUgdGhhdCBieSBkZWZhdWx0IHRoZSBcImJ1aWx0IHBhY2thZ2VzXCIgdGFibGUgaXMgc29ydGVkIGJ5IFwiUGFja2FnZVwiIGluIGFzY2VuZGluZyBhbHBoYWJldGljYWwgb3JkZXIgKEEgdG8gWikuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlbGVjdCAxIGNvbHVtbiBpbiBcIkVkaXQgY29sdW1uXCIgdG8gc2hvdyB0aGUgY29sdW1uLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJEZXNlbGVjdCAxIGNvbHVtbiBpbiBcIkVkaXQgY29sdW1uXCIgdG8gaGlkZSAxIGNvbHVtbiBieSBcIkVkaXQgY29sdW1uc1wiLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJwYWNrYWdlczpfQ3VzdG9taXNlX3RoZV9jb2x1bW5zX29mX3RoZV9wYWNrYWdlc190YWJsZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC5wYWNrYWdlczpfU2VhcmNoX3RoZV9jb250ZW50X29mX3RoZV9wYWNrYWdlc190YWJsZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgd2l0aCBhIGRlZmF1bHQgWW9jdG8gcHJvamVjdCAocWVtdXg4NiksIHN0YXJ0IHRoZSBUb2FzdGVyLCBhbmQgYnVpbGQgXCJiaXRiYWtlIGNvcmUtaW1hZ2UtbWluaW1hbFwiLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiBUb2FzdGVyLCBzZWxlY3QgdGhlIGJ1aWxkLCBhbmQgc2VsZWN0IHRoZSBcIlBhY2thZ2VzXCIgbGluayBpbiB0aGUgbGVmdCBzaWRlYmFyLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPYnNlcnZlIHRoYXQgYnkgZGVmYXVsdCB0aGUgXCJidWlsdCBwYWNrYWdlc1wiIHRhYmxlIGlzIHNvcnRlZCBieSBcIlBhY2thZ2VcIiBpbiBhc2NlbmRpbmcgYWxwaGFiZXRpY2FsIG9yZGVyIChBIHRvIFopLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJXaGVuIG5vIHNlYXJjaCBxdWVyeSBoYXMgYmVlbiBlbnRlcmVkLCB3ZSBoYXZlIHBsYWNlaG9sZGVyIHRleHQgc2F5aW5nOiBcIlNlYXJjaCBwYWNrYWdlcyBidWlsdFwiLiBUaGUgcGxhY2Vob2xkZXIgdGV4dCBkaXNhcHBlYXJzIHdoZW4gdGhlIGZpcnN0IGNoYXJhY3RlciBpcyB0eXBlZC4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiV2hlbiBhIHNlYXJjaCBxdWVyeSBoYXMgYmVlbiBzdWJtaXR0ZWQgYW5kIHJlc3VsdHMgcmV0dXJuZWQ6IOKWqiBXZSBrZWVwIHRoZSBzZWFyY2ggc3RyaW5nIGluIHRoZSB0ZXh0IGlucHV0IGZpZWxkLiDilqogV2UgcHJvdmlkZSBhIFwiQ2xlYXIgc2VhcmNoXCIgaWNvbiAoaWNvbi1yZW1vdmUtc2lnbikuIENsaWNrIGl0IHRvIGNsZWFyIHRoZSBzZWFyY2ggYW5kIGRpc3BsYXkgYWxsIHBhY2thZ2VzLiDilqogV2UgY2hhbmdlIHRoZSBwYWdlIGhlYWRpbmcgdG8gaW5kaWNhdGUgdGhlIG51bWJlciBvZiByZXN1bHRzIHJldHVybmVkIGJ5IHRoZSBzZWFyY2ggcXVlcnkuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIklmIHlvdXIgc2VhcmNoIHF1ZXJ5IHJldHVybnMgbm8gcmVzdWx0cywgdGhlIHBhZ2UgaGVhZGluZyBjaGFuZ2VzIHRvIFwiTm8gcGFja2FnZXMgZm91bmRcIiwgYW5kIHdlIHNob3cgeW91IGFuIGFsZXJ0IHdpdGggYSBzZWFyY2ggZm9ybSBhbmQgYW4gb3B0aW9uIHRvIHNob3cgYWxsIHBhY2thZ2VzLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTZWFyY2hpbmcgZG9lcyBub3QgY2hhbmdlIHRoZSBzdGF0ZSBvZiB0aGUgdGFibGU6IHRoZSBzYW1lIGNvbHVtbnMgcmVtYWluIGhpZGRlbiBhbmQgdGhlIHNhbWUgc29ydGluZyBhcHBsaWVkLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJXaGVuIEkgcnVuIGEgc2VhcmNoLCB0aGUgc2VhcmNoIGhhcHBlbnMgYWdhaW5zdCB0aGUgZm9sbG93aW5nIGNvbHVtbnMgKGluZGVwZW5kZW50bHkgb2YgdGhleSBiZWluZyBzaG93biBvciBoaWRkZW4pOiAtIFBhY2thZ2UgLSBQYWNrYWdlIHZlcnNpb24gLSBMaWNlbnNlIC0gUmVjaXBlIC0gUmVjaXBlIHZlcnNpb24gLSBMYXllciAtIExheWVyIGJyYW5jaCAtIExheWVyIGNvbW1pdCAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjkiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJIaWRlIGFsbCBjb2x1bW5zIGV4Y2VwdCBcIlBhY2thZ2VcIiBhbmQgXCJQYWNrYWdlIHZlcnNpb25cIi4gU2VhcmNoIGEgc3RyaW5nIHdoaWNoIGlzIGluY2x1ZGVkIGluIG90aGVyIGhpZGRlbiBjb2x1bW5zLCBub3QgdGhlIDIgY29sdW1ucy4gU2VlIGlmIHJldHVybmVkIHJlc3VsdHMgb2NjdXIuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMTAiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiBUb2FzdGVyLCBzZWxlY3QgdGhlIGJ1aWxkLCBhbmQgc2VsZWN0IHRoZSBcImNvcmUtaW1hZ2UqXCIgbGluayBpbiB0aGUgbGVmdCBzaWRlYmFyLiBPYnNlcnZlIHRoYXQgYnkgZGVmYXVsdCB0aGUgXCJpbmNsdWRlZCBwYWNrYWdlc1wiIHRhYmxlIGlzIHNvcnRlZCBieSBcIlBhY2thZ2VcIiBpbiBhc2NlbmRpbmcgYWxwaGFiZXRpY2FsIG9yZGVyIChBIHRvIFopLiBSZXJ1biB0ZXN0cyBhY2NvcmRpbmcgdG8gc3RlcCA0fjkuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogInBhY2thZ2VzOl9TZWFyY2hfdGhlX2NvbnRlbnRfb2ZfdGhlX3BhY2thZ2VzX3RhYmxlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLXVubWFuYWdlZC1tb2RlLnRvYXN0ZXItdW5tYW5hZ2VkLlZpZXdfZGV0YWlsZWRfaW5mb3JtYXRpb25fYWJvdXRfYV9sYXllciIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgd2l0aCBhIGRlZmF1bHQgWW9jdG8gcHJvamVjdCAocWVtdXg4NiksIHN0YXJ0IHRoZSBUb2FzdGVyLCBhbmQgYnVpbGQgXCJiaXRiYWtlIGNvcmUtaW1hZ2UtbWluaW1hbFwiLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiTWFrZSBzdXJlIHRoYXQgbGF5ZXIgaW5mb3JtYXRpb24gaXMgc2hvd24gaW46IFxuKiByZWNpcGVzIHRhYmxlIFxuICAgIEFsbCBidWlsZHMtPiBjb3JlLWltYWdlLW1pbmltYWwtPiByZWNpcGVzIFxuICAgIFNlbGVjdCBcIkxheWVyXCIsIFwiTGF5ZXIgYnJhbmNoXCIsIFwiTGF5ZXIgY29tbWl0XCIgaW4gRWRpdCBjb2x1bW5zIGFuZCBvYnNlcnZlIHRoZSAzIGNvbHVtbnMgYXJlIHNob3dlZC4gTm90ZSB0aGF0IHRoZSBcIkxheWVyIGJyYW5jaFwiIGNvbHVtbiBjYW4gYmUgZW1wdHkuICAgXG5cbiogcmVjaXBlIGRldGFpbHMgIFxuICAgIEFsbCBidWlsZHMtPiBjb3JlLWltYWdlLW1pbmltYWwtPiByZWNpcGVzIFxuICAgIENsaWNrIGEgcmVjaXBlIGFuZCB5b3UgY2FuIHNlZSBcIkxheWVyXCIsIFwiTGF5ZXIgYnJhbmNoXCIsIFwiTGF5ZXIgY29tbWl0XCIsIFwiUmVjaXBlIGRldGFpbHNcIiBpbmZvcm1hdGlvbi4gIE5vdGUgdGhhdCBcIkxheWVyIGJyYW5jaFwiIGlzIG5vdCByZXF1aXJlZC4gSWYgdGhlcmUgaXMgbm8gbGF5ZXIgYnJhbmNoLCB5b3Ugc2hvdWxkIG5vdCBzZWUgdGhlIFwiTGF5ZXIgYnJhbmNoXCIgaXRlbSBvbiB0aGUgbGlzdC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk5BIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogImJ1aWx0IHBhY2thZ2VzIHRhYmxlIFxuICAgIEFsbCBidWlsZHMtPiBjb3JlLWltYWdlLW1pbmltYWwtPiBwYWNrYWdlcyBcbiAgICBTZWxlY3QgXCJMYXllclwiLCBcIkxheWVyIGJyYW5jaFwiLCBcIkxheWVyIGNvbW1pdFwiICBpbiBFZGl0IGNvbHVtbnMgYW5kIG9ic2VydmVyIHRoZSAzIGNvbHVtbnMgaXMgc2hvd2VkLiBOb3RlIHRoYXQgdGhlIFwiTGF5ZXIgYnJhbmNoXCIgY29sdW1uIGNhbiBiZSBlbXB0eS4gICBcblxuKiBidWlsdCBwYWNrYWdlIGRldGFpbHMgXG4gICAgQWxsIGJ1aWxkcy0+IGNvcmUtaW1hZ2UtbWluaW1hbC0+IHBhY2thZ2VzIFxuICAgIENsaWNrIGEgcGFja2FnZSBhbmQgeW91IGNhbiBzZWUgXCJMYXllclwiLCBcIkxheWVyIGJyYW5jaFwiLCBcIkxheWVyIGNvbW1pdFwiIGluIHBhY2thZ2UgaW5mb3JtYXRpb24uIE5vdGUgdGhhdCBcIkxheWVyIGJyYW5jaFwiIGlzIG5vdCByZXF1aXJlZC4gSWYgdGhlcmUgaXMgbm8gbGF5ZXIgYnJhbmNoLCB5b3Ugc2hvdWxkIG5vdCBzZWUgdGhlIFwiTGF5ZXIgYnJhbmNoXCIgaXRlbSBvbiB0aGUgbGlzdC4gIFxuXG4qIGltYWdlIGluZm9ybWF0aW9uIFxuICAgICBBbGwgYnVpbGRzLT4gY29yZS1pbWFnZS1taW5pbWFsLT4gY29yZS1pbWFnZS1taW5pbWFsKGltYWdlcykgXG4gICAgU2VsZWN0IFwiTGF5ZXJcIiwgXCJMYXllciBicmFuY2hcIiwgXCJMYXllciBjb21taXRcIiBpbiBFZGl0IGNvbHVtbnMgYW5kIG9ic2VydmVyIHRoZSAzIGNvbHVtbnMgaXMgc2hvd2VkLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiTm90ZSB0aGF0IHRoZSBcIkxheWVyIGJyYW5jaFwiIGNvbHVtbiBjYW4gYmUgZW1wdHkuICAgXG5cbiogaW5zdGFsbGVkIHBhY2thZ2UgZGV0YWlscyBcbiAgICBBbGwgYnVpbGRzLT4gY29yZS1pbWFnZS1taW5pbWFsLT4gY29yZS1pbWFnZS1taW5pbWFsKGltYWdlcykgXG4gICAgQ2xpY2sgYSBwYWNrYWdlIGFuZCB5b3UgY2FuIHNlZSBsYXllciBpbmZvcm1hdGlvbiBpbiBwYWNrYWdlIGluZm9ybWF0aW9uLiBOb3RlIHRoYXQgXCJMYXllciBicmFuY2hcIiBpcyBub3QgcmVxdWlyZWQuIElmIHRoZXJlIGlzIG5vIGxheWVyIGJyYW5jaCwgeW91IHNob3VsZCBub3Qgc2VlIHRoZSBcIkxheWVyIGJyYW5jaFwiIGl0ZW0gb24gdGhlIGxpc3QuICBcblxuKiBjb25maWd1cmF0aW9uIFxuICAgIEFsbCBidWlsZHMtPiBjb3JlLWltYWdlLW1pbmltYWwtPiBDb25maWd1cmF0aW9uIFxuICAgIFlvdSBjYW4gc2VlIFwiTGF5ZXJcIiwgXCJMYXllciBicmFuY2hcIiwgXCJMYXllciBjb21taXRcIiAgaW4gY29uZmlndXJhdGlvbiBzdW1tYXJ5LiBOb3RlIHRoYXQgdGhlIFwiTGF5ZXIgYnJhbmNoXCIgY29sdW1uIGNhbiBiZSBlbXB0eS4gIFxuXG4qIGJ1aWxkIGRhc2hib2FyZCBcbiAgICBBbGwgYnVpbGRzLT4gY29yZS1pbWFnZS1taW5pbWFsIFxuICAgIFlvdSBjYW4gc2VlIFwiTGF5ZXJzXCIgaW4gYnVpbGQgc3VtbWFyeS4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlZpZXdfZGV0YWlsZWRfaW5mb3JtYXRpb25fYWJvdXRfYV9sYXllciIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC5TZWxlY3RfdGhlX251bWJlcl9vZl90YWJsZV9yb3dzX2Rpc3BsYXllZF9wZXJfcGFnZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgd2l0aCBhIGRlZmF1bHQgWW9jdG8gcHJvamVjdCAocWVtdXg4NiksIHN0YXJ0IHRoZSBUb2FzdGVyLCBhbmQgYnVpbGQgXCJiaXRiYWtlIGNvcmUtaW1hZ2UtbWluaW1hbFwiLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiBUb2FzdGVyLCBzZWxlY3QgdGhlIGJ1aWxkLCBhbmQgc2VsZWN0IHRoZSBcIlBhY2thZ2VzXCIgbGluayBpbiB0aGUgbGVmdCBzaWRlYmFyLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJVc2VycyBjYW4gc2VsZWN0IHRoZSBudW1iZXIgb2Ygcm93cyB0aGV5IHdhbnQgdG8gc2VlIGluIGEgdGFibGUgdXNpbmcgdGhlIFwiU2hvdyByb3dzXCIgZHJvcGRvd24gbWVudSwgd2hpY2ggZGlzcGxheXMgYWJvdmUgYW5kIGJlbG93IGVhY2ggdGFibGUuIFRoZSBvcHRpb25zIG9mIHRoZSBcIlNob3cgcm93c1wiIGRyb3Bkb3duIGFyZTogMTAsIDI1LCA1MCwgMTAwLCAxNTAuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlRoZSBsYXN0IHNlbGVjdGVkIG9wdGlvbiBmcm9tIHRoZSBcIlNob3cgcm93c1wiIG1lbnUgc2hvdWxkIGJlIHJlbWVtYmVyZWQ6ICAqIFNlbGVjdCBvbmUgb3B0aW9uLCBmb3IgZXhhbXBsZSAxMCAqIENsaWNrIG9uIGEgcGFja2FnZSBuYW1lIHRvIG5hdmlnYXRlIGF3YXkgZnJvbSB0aGUgYnVpbHQgcGFja2FnZXMgdGFibGUgKiBDbGljayBvbiB0aGUgXCJQYWNrYWdlc1wiIGxpbmsgaW4gdGhlIGJyZWFkY3J1bWIgYXQgdGhlIHRvcCBvZiB0aGUgcGFnZSB0byBnbyBiYWNrIHRvIHRoZSBwYWNrYWdlcyB0YWJsZSAgTm90ZSB0aGF0IDI1IGlzIHN0aWxsIHNlbGVjdGVkIGluIHRoZSBcIlNob3cgcm93c1wiIG1lbnUuICAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPYnNlcnZlIHRoYXQgdGhlIHBhZ2luYXRpb24gd2lkZ2V0IGlzIG1hZGUgb2Y6IC0gQSBcIlByZXZpb3VzXCIgYnV0dG9uIC0gQSBcIk5leHRcIiBidXR0b24gLSBBIG1heGltdW0gb2YgNSBwYWdlIGJ1dHRvbnMuICAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTZWUgdGhlIHBhZ2luYXRpb24gZnVuY3Rpb24gb2YgXCJUYXNrc1wiLCBcIlJlY2lwZXNcIiBsaW5rcyBhY2NvcmRpbmcgdG8gc3RlcHMgM340LiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiRXhwZWN0ZWQgcmVzdWx0IGZvciBzdGVwIDQ6IFRoaXMgd2lkZ2V0IGhhcyBubyBwcmV2aW91cyBvciBuZXh0IGJ1dHRvbiBpZiB0ZXN0aW5nIGluIHRvYXN0ZXIgMi4yLiBzZWUgQnVnIDk4MzEiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJTZWxlY3RfdGhlX251bWJlcl9vZl90YWJsZV9yb3dzX2Rpc3BsYXllZF9wZXJfcGFnZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC5WaWV3X2RldGFpbGVkX2NvbmZpZ3VyYXRpb25faW5mb3JtYXRpb25fZm9yX2FfYnVpbGQiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHdpdGggYSBkZWZhdWx0IFlvY3RvIHByb2plY3QgKHFlbXV4ODYpLCBzdGFydCB0aGUgVG9hc3RlciwgYW5kIGJ1aWxkIFwiYml0YmFrZSBjb3JlLWltYWdlLW1pbmltYWxcIi4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiSW4gVG9hc3Rlciwgc2VsZWN0IHRoZSBidWlsZCwgYW5kIHNlbGVjdCB0aGUgXCJDb25maWd1cmF0aW9uXCIgbGluayBpbiB0aGUgbGVmdCBzaWRlYmFyLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPYnNlcnZlIHRoYXQgdGhlIGNvbmZpZ3VyYXRpb24gcGFnZSBoYXMgMiB0YWJzOiAtIFN1bW1hcnkgLSBCaXRCYWtlIHZhcmlhYmxlcyBUaGUgU3VtbWFyeSB0YWIgaXMgdGhlIGRlZmF1bHQgdGFiLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJUaGUgZm9sbG93aW5nIGNvbnRlbnQgaXMgaW5jbHVkZWQgaW4gc3VtbWFyeSB0YWIuICAoMSkgQnVpbGQgY29uZmlndXJhdGlvbiAgKDIpIExheWVycyAoTGF5ZXIsIExheWVyIGJyYW5jaCAtIGlmIGFueSwgTGF5ZXIgY29tbWl0KSAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPYnNlcnZlIHRoYXQgXCJCaXRCYWtlIHZhcmlhYmxlc1wiIHRhYiBpbmNsdWRlcyBcIlZhcmlhYmxlXCIsIFwiVmFsdWVcIiwgXCIgU2V0IGluIGZpbGVcIiwgXCJEZXNjcmlwdGlvblwiIGNvbHVtbnMuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIGZpbHRlciBidXR0b24gb2YgXCJTZXQgaW4gZmlsZVwiIGNvbHVtbi4gU2VsZWN0IFwiTG9jYWwgY29uZmlndXJhdGlvbiB2YXJpYWJsZXNcIiBhbmQgY2xpY2sgXCJBcHBseVwiIGJ1dHRvbiB0byBzZWUgaWYgZmlsdGVyIGZ1bmN0aW9uIHdvcmtzIHdlbGwuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkluIHRoZSBcIkVkaXQgY29sdW1uc1wiIG1lbnUsIHRhYmxlIGNvbHVtbnMgYXBwZWFyIGxpc3RlZCBhbHBoYWJldGljYWxseTogRGVzY3JpcHRpb24sIFNldCBpbiBmaWxlLCBWYWx1ZSwgVmFyaWFibGUgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI4IjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIG1pbmltdW0gdGFibGUgaXMgbWFkZSBvZiB0aGUgXCJWYXJpYWJsZVwiIGFuZCBcIlZhbHVlXCIgY29sdW1ucy4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI5IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgYSB2YXJpYWJsZSBhbmQgYSBcIkhpc3Rvcnkgb2YgJHt2YXJpYWJsZX1cIiBkaWFsb2cgd2lsbCBvY2N1ci4gVGhlIG1vZGFsIGRpYWxvZyBzaG93cyB0aGUgdmFyaWFibGUgdmFsdWUgZm9sbG93ZWQgYnkgdGhlIGhpc3RvcnkgdGFibGUsIHdoaWNoIGhhcyB0aGUgZm9sbG93aW5nIGNvbHVtbnM6IC0gT3JkZXI6IGluZGljYXRlcyB0aGUgc2VxdWVuY2UgaW4gd2hpY2ggdGhlIGZpbGVzIHNldCB0aGUgdmFyaWFibGUgLSBDb25maWd1cmF0aW9uIGZpbGU6IHRoZSBsb2NhdGlvbiBpbiBkaXNrIG9mIHRoZSBmaWxlIHRoYXQgc2V0IHRoZSB2YXJpYWJsZSAtIE9wZXJhdGlvbjogdGhlIHZhbHVlIG9mIHRoZSBvcGVyYXRpb24gZmllbGQgYXMgc3RvcmVkIGluIHRoZSBkYXRhYmFzZS4gLSBMaW5lIG51bWJlcjogdGhlIGxpbmUgbnVtYmVyIHdoZXJlIHRoZSBvcGVyYXRpb24gaXMgcGVyZm9ybWVkIGluIHRoZSBjb25maWd1cmF0aW9uIGZpbGUuICBGb3Igc3VjaCB2YXJpYWJsZXMsIHdob3NlIHZhbHVlIGlzIGFuIGVtcHR5IHN0cmluZywgdGhlIFZhbHVlIGNlbGwgaW4gdGhlIHZhcmlhYmxlcyB0YWJsZSBpc2VtcHR5LCB3aGljaCBpcyBwcm9iYWJseSB0aGUgcmlnaHQgdGhpbmcuIEluIHRoZSBtb2RhbCwgaW5zdGVhZCBvZiB0aGUgdmFyaWFibGUgdmFsdWUsIHdlIHNob3cgYW4gYWxlcnQgKHdpdGggdGhlIGNsYXNzIC5hbGVydC1pbmZvKSBzYXlpbmc6IFwiVGhlIHZhbHVlIG9mICBpcyBhbiBlbXB0eSBzdHJpbmdcIiAgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxMCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIGFycm93IGxpbmtzIGluIGRlc2NyaXB0aW9uIHRhYiB0byBzZWUgbGlua2luZyB2YXJpYWJsZXMgdG8gdGhlIFlvY3RvIFByb2plY3QgcmVmZXJlbmNlIG1hbnVhbC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk5BIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiVmlld19kZXRhaWxlZF9jb25maWd1cmF0aW9uX2luZm9ybWF0aW9uX2Zvcl9hX2J1aWxkIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLXVubWFuYWdlZC1tb2RlLnRvYXN0ZXItdW5tYW5hZ2VkLnZhcmlhYmxlczpfQ3VzdG9taXNlX3RoZV9jb2x1bW5zX29mX3RoZV9iaXRiYWtlX3ZhcmlhYmxlc190YWJsZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgd2l0aCBhIGRlZmF1bHQgWW9jdG8gcHJvamVjdCAocWVtdXg4NiksIHN0YXJ0IHRoZSBUb2FzdGVyLCBhbmQgYnVpbGQgXCJiaXRiYWtlIGNvcmUtaW1hZ2UtbWluaW1hbFwiLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiBUb2FzdGVyLCBzZWxlY3QgdGhlIGJ1aWxkLCBhbmQgc2VsZWN0IHRoZSBcIkNvbmZpZ3VyYXRpb25cIiBsaW5rIGluIHRoZSBsZWZ0IHNpZGViYXIuIFRoZW4gY2xpY2sgXCJCaXRCYWtlIHZhcmlhYmxlc1wiIHRhYi4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU2hvdyBvciBoaWRlIGNvbHVtbnMgYnkgc2VsZWN0IG9yIGRlc2VsZWN0IG9wdGlvbnMgb2YgXCJFZGl0IGNvbHVtbnNcIi4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk5BIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAidmFyaWFibGVzOl9DdXN0b21pc2VfdGhlX2NvbHVtbnNfb2ZfdGhlX2JpdGJha2VfdmFyaWFibGVzX3RhYmxlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLXVubWFuYWdlZC1tb2RlLnRvYXN0ZXItdW5tYW5hZ2VkLnZhcmlhYmxlczpfRmlsdGVyX3RoZV9jb250ZW50X29mX3RoZV9iaXRiYWtlX3ZhcmlhYmxlc190YWJsZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgd2l0aCBhIGRlZmF1bHQgWW9jdG8gcHJvamVjdCAocWVtdXg4NiksIHN0YXJ0IHRoZSBUb2FzdGVyLCBhbmQgYnVpbGQgXCJiaXRiYWtlIGNvcmUtaW1hZ2UtbWluaW1hbFwiLiBcbiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkluIFRvYXN0ZXIsIHNlbGVjdCB0aGUgYnVpbGQsIGFuZCBzZWxlY3QgdGhlIFwiQ29uZmlndXJhdGlvblwiIGxpbmsgaW4gdGhlIGxlZnQgc2lkZWJhci4gVGhlbiBjbGljayBcIkJpdEJha2UgdmFyaWFibGVzXCIgdGFiLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSBcIlNldCBpbiBmaWxlXCIgYW5kIFwiRGVzY3JpcHRpb25cIiBjb2x1bW5zIGhhdmUgZmlsdGVycy4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkZpbHRlcnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gT25seSBvbmUgY29sdW1uIGZpbHRlciBjYW4gYmUgYXBwbGllZCB0byBhIHRhYmxlIGF0IGFueSBnaXZlbiB0aW1lLiAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkZpbHRlcnMgYXJlIG92ZXJyaWRkZW4gYnkgc2VhcmNoLiBcblRoZSBzY29wZSBvZiB0aGUgZmlsdGVycyBpcyB0aGUgY29udGVudCBjdXJyZW50bHkgb24gdGhlIHRhYmxlLiBcblRoZSBzY29wZSBvZiB0aGUgc2VhcmNoIGlzIGFsd2F5cyB0aGUgZnVsbCBjb250ZW50IG9mIHRoZSBkYXRhYmFzZS4gXG5TbzogXG4tIGlmIEkgcnVuIGEgc2VhcmNoIHF1ZXJ5LCBhbnkgZmlsdGVyIGFwcGxpZWQgYWZ0ZXJ3YXJkcyB3aWxsIGZpbHRlciB0aGUgY29udGVudCByZXR1cm5lZCBieSB0aGUgc2VhcmNoIHF1ZXJ5LiBcblNlYXJjaCBhIHN0cmluZyBhbmQgYXBwbHkgYSBmaWx0ZXIuIE9ic2VydmUgaXQgd291bGQgZmlsdGVyIHRoZSBjb250ZW50IHJldHVybmVkIGJ5IHRoZSBzZWFyY2ggcXVlcnkuICBcblxuLSBpZiBJIHJ1biBhIHNlYXJjaCBxdWVyeSB3aGlsZSBhIGZpbHRlciBpcyBhcHBsaWVkLCB0aGUgZmlsdGVyIGlzIG92ZXJyaWRkZW4gYnkgdGhlIHJlc3VsdHMgb2YgdGhlIHNlYXJjaCBxdWVyeS4gXG5BcHBseSBhIGZpbHRlciBhbmQgc2VhcmNoIGEgc3RyaW5nLiBPYnNlcnZlIHRoYXQgdGhlIHByZXZpb3VzIGZpbHRlcmVkIHJlc3VsdCBpcyBvdmVycmlkZGVuIGJ5IHRoZSBzZWFyY2guICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJ2YXJpYWJsZXM6X0ZpbHRlcl90aGVfY29udGVudF9vZl90aGVfYml0YmFrZV92YXJpYWJsZXNfdGFibGUiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItdW5tYW5hZ2VkLW1vZGUudG9hc3Rlci11bm1hbmFnZWQuVmlld19hbmRfbmF2aWdhdGVfdGhlX2Z1bGxfZGlyZWN0b3J5X3N0cnVjdHVyZV9vZl9idWlsdF9pbWFnZXMiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHdpdGggYSBkZWZhdWx0IFlvY3RvIHByb2plY3QgKHFlbXV4ODYpLCBzdGFydCB0aGUgVG9hc3RlciwgYW5kIGJ1aWxkIFwiYml0YmFrZSBjb3JlLWltYWdlLW1pbmltYWxcIi4gIFxuIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiSW4gVG9hc3Rlciwgc2VsZWN0IHRoZSBidWlsZCwgYW5kIHNlbGVjdCB0aGUgXCJjb3JlLWltYWdlLW1pbmltYWxcIiBsaW5rIGluIHRoZSBsZWZ0IHNpZGViYXIuICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSBpbWFnZSBpbmZvcm1hdGlvbiBwYWdlIGhhcyAyIHRhYnM6IFxuLSBQYWNrYWdlcyBpbmNsdWRlZDogdGhpcyB0YWIgc2hvd3MgYSB0YWJsZSB3aXRoIGFsbCB0aGUgcGFja2FnZXMgaW5zdGFsbGVkIGluIHRoZSBpbWFnZS4gVGhlIHRhYiBsYWJlbCBpbmNsdWRlcyB0aGUgdG90YWwgbnVtYmVyIG9mIHBhY2thZ2VzIGxpc3RlZCBpbiB0aGUgdGFibGUgYW5kIHRoZWlyIHNpemUuIFxuLSBEaXJlY3Rvcnkgc3RydWN0dXJlOiB0aGlzIHRhYiBzaG93cyBhbGwgdGhlIGZpbGVzIGluY2x1ZGVkIGluIHRoZSBpbWFnZS4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCeSBkZWZhdWx0LCB0aGUgaW5jbHVkZWQgcGFja2FnZXMgdGFibGUgZGlzcGxheXMgdGhlIGZvbGxvd2luZyBjb2x1bW5zIGluIHRoaXMgb3JkZXI6IFxuUGFja2FnZSwgUGFja2FnZSB2ZXJzaW9uLCBTaXplLCBEZXBlbmRlbmNpZXMgIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBcGFydCBmcm9tIHRoZSBjb2x1bW5zIHNob3duIGJ5IGRlZmF1bHQsIHRoZSBmb2xsb3dpbmcgYWRkaXRpb25hbCBjb2x1bW5zIGFyZSBhbHNvIGF2YWlsYWJsZSB0byB1c2VycyB2aWEgdGhlIFwiRWRpdCBjb2x1bW5zXCIgbWVudTogXG5MYXllciwgTGF5ZXIgYnJhbmNoLCBMYXllciBjb21taXQsIExpY2Vuc2UsIFJlY2lwZSwgUmVjaXBlIHZlcnNpb24uICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIG1pbmltdW0gdGFibGUgaXMgbWFkZSBvZiB0aGUgMiBjb2x1bW5zIHRoYXQgcHJvdmlkZSB0aGUgaW5mb3JtYXRpb24gbmVlZGVkIHRvIGlkZW50aWZ5IGEgcGFja2FnZTogUGFja2FnZSBhbmQgUGFja2FnZSB2ZXJzaW9uLiAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkJ5IGRlZmF1bHQsIHRoZSBkaXJlY3Rvcnkgc3RydWN0dXJlIHRhYmxlIHNob3dzIHRoZSB0b3AgbGV2ZWwgZGlyZWN0b3JpZXMgYW5kIGZpbGVzIGluIHRoZSBmaWxlIHN5c3RlbS5cblRoZSB0YWJsZSBpbmNsdWRlcyB0aGUgZm9sbG93aW5nIGNvbHVtbnM6IFxuRGlyZWN0b3J5L0ZpbGUsIFN5bWJvbGljIGxpbmsgdG8sIFNvdXJjZSBwYWNrYWdlLCBTaXplLCBQZXJtaXNzaW9ucywgT3duZXIsIEdyb3VwIFxuT3BlbiBzb21lIGRpcmVjdG9yaWVzIGFuZCBzZWUgZmlsZXMuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJWaWV3X2FuZF9uYXZpZ2F0ZV90aGVfZnVsbF9kaXJlY3Rvcnlfc3RydWN0dXJlX29mX2J1aWx0X2ltYWdlcyIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC5WaWV3X2Ffc3VtbWFyeV9vZl9hbGxfdGhlX2luZm9ybWF0aW9uX2F2YWlsYWJsZV9mb3JfYV9idWlsZCIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgd2l0aCBhIGRlZmF1bHQgWW9jdG8gcHJvamVjdCAocWVtdXg4NiksIHN0YXJ0IHRoZSBUb2FzdGVyLCBhbmQgYnVpbGQgXCJiaXRiYWtlIGNvcmUtaW1hZ2UtbWluaW1hbFwiLiAgXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiBUb2FzdGVyLCBzZWxlY3QgdGhlIGJ1aWxkLiAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkEgJ0J1aWxkIGRhc2hib2FyZCcgcGFnZSBpcyBzaG93ZWQuIFxuVGhlICdCdWlsZCBkYXNoYm9hcmQnIHBhZ2UgaGFzIHR3byBtYWluIHN0YXRlczogXG4oMSkgU3VjY2VzcyBzdGF0ZTogd2hlbiB0aGUgYnVpbGQgY29tcGxldGVzIHN1Y2Nlc3NmdWxseS4gSW4gdGhlIHN1Y2Nlc3Mgc3RhdGUsIGlmIHRoZSBidWlsZCB0YXJnZXQocykgaW5jbHVkZSBhbiBpbWFnZSByZWNpcGUsIHRoZSBwYWdlIGRpc3BsYXlzIGFuIGltYWdlIGNvbnRlbnQgbW9kdWxlLCBhbmQgdGhlIGxlZnQgbmF2aWdhdGlvbiBoYXMgYW4gXCJJbWFnZXNcIiBzZWN0aW9uIGF0IHRoZSB0b3AuIFxuKDIpIEZhaWwgc3RhdGU6IHdoZW4gdGhlIGJ1aWxkIGZhaWxzIChzaG93biBpbiB0aGlzIHBhZ2UpLiBJbiB0aGUgZmFpbCBzdGF0ZSwgdGhlIHBhZ2UgYWx3YXlzIGRpc3BsYXlzIGFuIGVycm9ycyBjb250ZW50IG1vZHVsZSwgYW5kIHRoZSBsZWZ0IG5hdmlnYXRpb24gZG9lcyBub3QgaGF2ZSBhbiBcIkltYWdlc1wiIHNlY3Rpb24gYXQgdGhlIHRvcC4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPYnNlcnZlIHRoYXQgdGhlIHBhZ2UgcHJvdmlkZXMgYWNjZXNzIHRvIGFsbCBpbmZvcm1hdGlvbiBhdmFpbGFibGUgZm9yIHRoZSBzZWxlY3RlZCBidWlsZC4gXG4oMSkgSW1hZ2VzIFxuKDIpIEJ1aWxkOiB0aGlzIGdyb3VwIHByb3ZpZGVzIGxpbmtzIHRvIHRoZSBmb2xsb3dpbmcgcGFnZXM6IFxuQ29uZmlndXJhdGlvbiwgVGFza3MsIFJlY2lwZXMsIFBhY2thZ2VzIFxuKDMpIFBlcmZvcm1hbmNlOiB0aGlzIGdyb3VwIHByb3ZpZGVzIGxpbmtzIHRvIHRoZSBmb2xsb3dpbmcgcGFnZXM6IFxuVGltZSwgQ1BVIHVzYWdlLCBEaXNrIEkvTyAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlRoZSBwYWdlIGhlYWRpbmcgaXMgbWFkZSBvZiB0aGUgYnVpbGQgdGFyZ2V0KHMpIGFuZCB0aGUgbWFjaGluZSwgc3VjaCBhcyBcImNvcmUtaW1hZ2UtbWluaW1hbCBxZW11eDg2XCIuIElmIHRoZSBidWlsZCBoYXMgbW9yZSB0aGFuIG9uZSB0YXJnZXQsIHRoZXkgc2hvdyBpbiBhc2NlbmRpbmcgYWxwaGFiZXRpY2FsIG9yZGVyIChBIHRvIFopIGJvdGggaW4gdGhlIHBhZ2UgaGVhZGluZyBhbmQgaW4gdGhlIFwiSW1hZ2VzXCIgc2VjdGlvbiBvZiB0aGUgbGVmdCBuYXZpZ2F0aW9uLiBJZiB0aGUgYnVpbGQgd2FzIHN1Y2Nlc3NmdWwsIHRoZXJlIGlzIGFuIGltYWdlIGNvbnRlbnQgbW9kdWxlIGZvciBlYWNoIHRhcmdldCB0aGF0IGlzIGFuIGltYWdlIHJlY2lwZS4gVGhlIG1vZHVsZXMgYWxzbyBzaG93IGluIGFzY2VuZGluZyBhbHBoYWJldGljYWwgb3JkZXIgYnkgdGFyZ2V0IG5hbWUuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJQYWNrYWdlcyBpbmNsdWRlZCwgdG90YWwgcGFja2FnZSBzaXplLCBsaWNlbnNlIG1hbmlmZXN0LCBpbWFnZSBmaWxlcyBhcmUgaW5jbHVkZWQgaW4gdGhlIGltYWdlcyBzZWN0aW9uLiAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlRoZSBpbmZvcm1hdGlvbiBvZiBNYWNoaW5lLCBEaXN0cm8sIExheWVycyBpcyBpbmNsdWRlZCBpbiBjb25maWd1cmF0aW9uIGNvbnRlbnQgbW9kdWxlIG9mIFwiQnVpbGQgc3VtbWFyeVwiIHNlY3Rpb24uIFxuVGhlIGluZm9ybWF0aW9uIG9mIFwiVG90YWwgbnVtYmVyIG9mIHRhc2tcIiwgXCJUYXNrcyBleGVjdXRlZFwiLCBcIiBUYXNrcyBub3QgZXhlY3V0ZWRcIiwgXCJSZXVzZVwiIGlzIGluY2x1ZGVkIGluIHRoZSB0YXNrcyBjb250ZW50IG1vZHVsZS4gXG5UaGUgaW5mb3JtYXRpb24gb2YgXCJSZWNpcGVzIGJ1aWx0XCIgYW5kIFwiUGFja2FnZXMgYnVpbHRcIiBpcyBpbmNsdWRlZCBpbiB0aGUgXCJSZWNpcGVzJlBhY2thZ2VzXCIgY29udGVudCBtb2R1bGUuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJWaWV3X2Ffc3VtbWFyeV9vZl9hbGxfdGhlX2luZm9ybWF0aW9uX2F2YWlsYWJsZV9mb3JfYV9idWlsZCIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC5EaXNwbGF5X3RoZV9jb250ZW50X29mX2Vycm9yX21lc3NhZ2VzX2FuZF93YXJuaW5ncyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgd2l0aCBhIGRlZmF1bHQgWW9jdG8gcHJvamVjdCAocWVtdXg4NiksIHN0YXJ0IHRoZSBUb2FzdGVyLCBhbmQgY3JlYXRlIGEgc3VjY2Vzc2Z1bCBidWlsZCBhbmQgYSBmYWlsZWQgYnVpbGQuIFlvdSBjYW4gZm9yY2UgYSBidWlsZCB0byB0ZXJtaW5hdGUgYnkgY3RybCtjLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPYnNlcnZlIHRoYXQgdGhlIG51bWJlciBvZiBlcnJvcnMgYW5kIHdhcm5pbmdzIHRocm93biBieSBhIGJ1aWxkIHNob3dzIGluIGJvdGggJ0FsbCBidWlsZHMnIHBhZ2UgYW5kIHRoZSAnTGF0ZXN0IGJ1aWxkcycgc2VjdGlvbi4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSB0aGF0IHRoZSBudW1iZXIgYW5kIGNvbnRlbnQgb2YgZXJyb3JzIGFuZCB3YXJuaW5ncyB0aHJvd24gYnkgYSBidWlsZCBzaG93cyBpbiB0aGUgJ0J1aWxkIGRhc2hib2FyZCcgcGFnZS4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgd2FybmluZyBvciBlcnJvciBsaW5rcyB0byBzZWUgd2FybmluZyBhbmQgZXJyb3IgZGV0YWlscy4gICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJEaXNwbGF5X3RoZV9jb250ZW50X29mX2Vycm9yX21lc3NhZ2VzX2FuZF93YXJuaW5ncy4iCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItdW5tYW5hZ2VkLW1vZGUudG9hc3Rlci11bm1hbmFnZWQuQnVpbGRfc3VtbWFyeV9pbmZvcm1hdGlvbl9mdWxseV9pbXBsZW1lbnRlZCIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgd2l0aCBhIGRlZmF1bHQgWW9jdG8gcHJvamVjdCAocWVtdXg4NiksIHN0YXJ0IHRoZSBUb2FzdGVyLCBhbmQgY3JlYXRlIDQgYnVpbGRzLiBcbmEpIGEgc3VjY2Vzc2Z1bCBidWlsZCB3aXRoIGltYWdlcyAoYml0YmFrZSBjb3JlLWltYWdlLW1pbmltYWwpIFxuYikgYSBzdWNjZXNzZnVsIGJ1aWxkIHdpdGhvdXQgaW1hZ2VzIChiaXRiYWtlIG10b29scy1uYXRpdmUpIFxuYykgYSBmYWlsZWQgYnVpbGQgd2l0aCBlcnJvcnMgYW5kIHdhcm5pbmdzIChydW4gXCJiaXRiYWtlIGNvcmUtaW1hZ2Utc2F0b1wiLCB0aGVuIHByZXNzIGNvbnRyb2wrYyB0byB0ZXJtaW5hdGUgdGhlIGJ1aWxkKSIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkluIFRvYXN0ZXIsIHNlbGVjdCBhIGNvcmUtaW1hZ2UtbWluaW1hbCBidWlsZC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPYnNlcnZlIHRoYXQgdGhlcmUgaXMgYSAnQnVpbGQgZGFzaGJvYXJkJyBwYWdlIGNhcHR1cmVkIGJ5IFRvYXN0ZXIuIFRoZSBwYWdlIGRvZXMgbm90IGV4aXN0IGZvciBidWlsZHMgaW4gcHJvZ3Jlc3MsIG9ubHkgZm9yIGZpbmlzaGVkIGJ1aWxkcy4gXG5UaGUgJ0J1aWxkIGRhc2hib2FyZCcgcGFnZSBpcyBtYWRlIG9mOiBcbmEpIEJyZWFkY3J1bWIgXG5iKSBOYXZpZ2F0aW9uIFxuICAgIElNQUdFUzogY29yZS1pbWFnZS1taW5pbWFsIFxuICAgIEJVSUxEOiBcbiAgICAgICAgQ29uZmlndXJhdGlvbiBcbiAgICAgICAgVGFza3MgXG4gICAgICAgIFJlY2lwZXMgXG4gICAgICAgIFBhY2thZ2VzIFxuICAgIFBFUkZPUk1BTkNFOiBcbiAgICAgICAgVGltZSBcbiAgICAgICAgQ1BVIHVzYWdlIFxuICAgICAgICBEaXNrIEkvTyBcbmMpIFBhZ2UgaGVhZGluZyAoY29yZS1pbWFnZS1taW5pbWFsIHFlbXV4ODYpIFxuZCkgU2VjdGlvbiBoZWFkaW5nIChJbWFnZXMsIEJ1aWxkIHN1bW1hcnkpIFxuZSkgQnVpbGQgc3RhdHVzIG5vdGlmaWNhdGlvbiAoQ29tcGxldGVkIG9uIHh4L3h4L3h4Li4uIEJ1aWxkIHRpbWU6eHg6eHg6eHgpIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSBcImltYWdlc1wiIHNlY3Rpb24gaXMgbWFkZSBvZiB0aGUgZm9sbG93aW5nIFxuLlxuYSkgSGVhZGluZzogY29yZS1pbWFnZS1taW5pbWFsLCB3aGljaCBsaW5rcyB0byB0aGUgXCJQYWNrYWdlcyBpbmNsdWRlZFwiIHRhYiBvZiB0aGUgaW1hZ2UgaW5mb3JtYXRpb24gcGFnZSBcbmIpIE51bWJlciBvZiBwYWNrYWdlcyBpbnN0YWxsZWQ6IChwYWNrYWdlcyBpbmNsdWRlZCB4eCksIHdoaWNoIGlzIGEgbGluayB0byB0aGUgXCJQYWNrYWdlcyBpbmNsdWRlZFwiIHRhYiBvZiB0aGUgaW1hZ2UgaW5mb3JtYXRpb24gcGFnZSBcbmMpIFRvdGFsIGluc3RhbGxlZCBwYWNrYWdlIHNpemU6IHh4TUIgXG5kKSBMaWNlbnNlIG1hbmlmZXN0ICh3aGljaCBpcyBhIGxpbmsgdG8gdGhlIFwiUGFja2FnZXMgaW5jbHVkZWRcIiB0YWIgb2YgdGhlIGluZm9ybWF0aW9uIHBhZ2Ugd2l0aCB0aGUgZm9sbG93aW5nIGNvbHVtbnMgc2hvd2luZzogXCJQYWNrYWdlXCIsIFwiUGFja2FnZSB2ZXJzaW9uXCIsIFwiTGljZW5zZVwiIGFuZCBcIlJlY2lwZVwiLiBXZSBoYXZlIGJ1ZyA2MDc5IG9wZW4gZm9yIHRoaXMpLiBOZXh0IHRvIHRoZSBsaWNlbnNlIG1hbmlmZXN0IGlzIHRoZSBwYXRoIHRvIHRoZSBkaXJlY3Rvcnkgd2hlcmUgeW91IGNhbiBmaW5kIHRoZSBsaWNlbnNlIG1hbmlmZXN0IGZpbGUuICBcbiBcbmUpIEltYWdlIGZpbGVzIChyb290ZnMgZmlsZSBuYW1lcyBhbmQgcm9vdGZzIGZpbGUgc2l6ZXMpIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSBcIkJ1aWxkIHN1bW1hcnlcIiBzZWN0aW9uIGlzIG1hZGUgb2YgdGhlIGZvbGxvd2luZy4gXG5hKSBDb25maWd1cmF0aW9uICh3aGljaCBpcyBhIGxpbmsgdG8gdGhlIGNvbmZpZ3VyYXRpb24gcGFnZSk6IFxuICAgIE1hY2hpbmUgXG4gICAgRGlzdHJvIFxuICAgIExheWVycyAoc29ydGVkIGluIGFscGhhYmV0aWNhbCBvcmRlcikgXG5iKSBUYXNrcyAod2hpY2ggaXMgYSBsaW5rIHRvIHRoZSB0YXNrcyBwYWdlKSBcbiAgICBUb3RhbCBudW1iZXIgb2YgdGFza3MgKHdoaWNoIGlzIGEgbGluayB0byB0aGUgdGFza3MgcGFnZSkgXG4gICAgVGFza3MgZXhlY3V0ZWQgKHdoaWNoIGlzIGEgbGluayB0byB0aGUgdGFza3MgcGFnZSB3aXRoIHRoZSB0YXNrcyBleGVjdXRlZCBmaWx0ZXIgYXBwbGllZCkgXG4gICAgVGFza3Mgbm90IGV4ZWN1dGVkICh3aGljaCBpcyBhIGxpbmsgdG8gdGhlIHRhc2tzIHBhZ2VzIHdpdGggdGhlIHRhc2tzIG5vdCBleGVjdXRlZCBmaWx0ZXIgYXBwbGllZClcbiAgICBSZXVzZSBcbmMpIE5vdGUgdGhhdCBcIlRvdGFsIG51bWJlciBvZiB0YXNrc1wiIHNob3VsZCBlcXVhbCBudW1iZXIgb2YgXCJUYXNrcyBleGVjdXRlZFwiICsgIG51bWJlciBvZiBcIlRhc2tzIG5vdCBleGVjdXRlZFwiIFxuZCkgUmVjaXBlcyAod2hpY2ggaXMgYSBsaW5rIHRvIHRoZSByZWNpcGVzIHBhZ2UpICYgUGFja2FnZXMgKHdoaWNoIGlzIGEgbGluayB0byB0aGUgcGFja2FnZXMgYnVpbHQgcGFnZSkgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiICBOdW1iZXIgb2YgcmVjaXBlcyBidWlsdCAod2hpY2ggaXMgYSBsaW5rIHRvIHRoZSByZWNpcGVzIHBhZ2UpICBcbiBcbiAgICBOdW1iZXIgb2YgcGFja2FnZXMgYnVpbHQgKHdoaWNoIGlzIGEgbGluayB0byB0aGUgcGFja2FnZXMgYnVpbHQgcGFnZSkiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJSZXR1cm4gdG8gbG9jYWxob3N0OjgwMDAgYW5kIHNlbGVjdCBhIHN1Y2Nlc3NmdWwgYnVpbGQgd2l0aG91dCBpbWFnZXMgKG10b29scy1uYXRpdmUpIFxuLlxuT2JzZXJ2ZSB0aGUgYnVpbGQgZGFzaGJvYXJkIGZvciBhIHN1Y2Nlc3NmdWwgYnVpbGQgb2YgYSB0YXJnZXQgdGhhdCBpcyBub3QgYW4gaW1hZ2UgcmVjaXBlLiBUaGVyZSBpcyBubyBpbWFnZSBjb250ZW50IG1vZHVsZSwgYW5kIG5vIFwiSW1hZ2VzXCIgc2VjdGlvbiBpbiB0aGUgbGVmdCBuYXZpZ2F0aW9uLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlJldHVybiB0byBsb2NhbGhvc3Q6ODAwMCBhbmQgc2VsZWN0IHRoZSBmYWlsZWQgYnVpbGQgKGNvcmUtaW1hZ2Utc2F0bykuIE9ic2VydmUgdGhlIGJ1aWxkIGRhc2hib2FyZCBmb3IgdGhlIGZhaWxlZCBidWlsZC4gIFxuIFxuYSkgdGhlIGVycm9ycyBjb250ZW50IG1vZHVsZTogXG5UaGlzIG1vZHVsZSBleGlzdHMgZm9yIHRob3NlIGJ1aWxkcyB0aGF0IHRocm93IGVycm9yKHMpLiBJdCBhcHBlYXJzIGltbWVkaWF0ZWx5IGJlbG93IHRoZSBidWlsZCBzdGF0dXMgbm90aWZpY2F0aW9uLiBcblRoZSBtb2R1bGUgaGFzIDIgc3RhdGVzOiBcbuKWqiBFeHBhbmRlZCAoc2hvd3MgbnVtYmVyIG9mIGVycm9ycyBhbmQgZXJyb3IgY29udGVudCkgXG7ilqogQ29sbGFwc2VkIChzaG93cyBvbmx5IHRoZSBudW1iZXIgb2YgZXJyb3JzKSBcbkJ5IGRlZmF1bHQsIHRoZSBlcnJvcnMgbW9kdWxlIGlzIGluIHRoZSBleHBhbmRlZCBzdGF0ZS4gXG5FcnJvcnMgY29udGVudCBtb2R1bGVzIGluY2x1ZGUgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbjogXG4oMS4xKSBBIGhlYWRpbmcsIHdoaWNoIGluZGljYXRlcyB0aGUgbnVtYmVyIG9mIGVycm9ycyB0aHJvd24gYnkgdGhlIGJ1aWxkLCBhbmQgdG9nZ2xlcyB0aGUgbW9kdWxlIGJldHdlZW4gaXRzIDIgc3RhdGVzIG9uIGNsaWNrLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk5BIgorICAgICAgICB9LAorICAgICAgICAiOSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlRyYW5zaXRpb25zIGJldHdlZW4gc3RhdGVzIHNob3VsZCB1c2UgYSBzbGlkZSB1cCAvIHNsaWRlIGRvd24gYW5pbWF0aW9uLiBcbigxLjIpIEVycm9yKHMpIGNvbnRlbnQgIFxuXG5iKSB0aGUgd2FybmluZyBjb250ZW50IG1vZHVsZTogXG5UaGlzIG1vZHVsZSBleGlzdHMgZm9yIHRob3NlIGJ1aWxkcyB0aGF0IHRocm93IHdhcm5pbmcocykuIFxuSXQgaXMgdGhlIGxhc3QgY29udGVudCBtb2R1bGUgc2hvd24gb24gdGhlIGJ1aWxkIGRhc2hib2FyZC4gXG5UaGUgbW9kdWxlIGhhcyAyIHN0YXRlczogXG7ilqogRXhwYW5kZWQgKHNob3dzIG51bWJlciBvZiB3YXJuaW5ncyBhbmQgd2FybmluZyBjb250ZW50KSBcbuKWqiBDb2xsYXBzZWQgKHNob3dzIG9ubHkgdGhlIG51bWJlciBvZiB3YXJuaW5ncykgXG5CeSBkZWZhdWx0LCB0aGUgd2FybmluZyBtb2R1bGUgaXMgaW4gdGhlIGNvbGxhcHNlZCBzdGF0ZS4gV2FybmluZ3MgY29udGVudCBtb2R1bGVzIGluY2x1ZGUgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbjogXG4oMi4xKSBBIGhlYWRpbmcsIHdoaWNoIGluZGljYXRlcyB0aGUgbnVtYmVyIG9mIHdhcm5pbmdzIHRocm93biBieSB0aGUgYnVpbGQsIGFuZCB0b2dnbGVzIHRoZSBtb2R1bGUgYmV0d2VlbiBpdHMgMiBcbnN0YXRlcyBvbiBjbGljay4gVHJhbnNpdGlvbnMgYmV0d2VlbiBzdGF0ZXMgc2hvdWxkIHVzZSBhIHNsaWRlIHVwIC8gc2xpZGUgZG93biBhbmltYXRpb24uIFxuKDIuMikgV2FybmluZyhzKSBjb250ZW50ICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJCdWlsZF9zdW1tYXJ5X2luZm9ybWF0aW9uX2Z1bGx5X2ltcGxlbWVudGVkIgorICAgIH0KKyAgfQorXQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9vZXRlc3QucHkgYi9wb2t5L21ldGEvbGliL29lcWEvb2V0ZXN0LnB5CmluZGV4IGY3MTcxMjYuLmYwNDIzYWYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9vZXRlc3QucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL29ldGVzdC5weQpAQCAtNyw3ICs3LDcgQEAKIAogIyBJdCBhbHNvIGhhcyBzb21lIGhlbHBlciBmdW5jdGlvbnMgYW5kIGl0J3MgcmVzcG9uc2libGUgZm9yIGFjdHVhbGx5IHN0YXJ0aW5nIHRoZSB0ZXN0cwogCi1pbXBvcnQgb3MsIHJlLCBtbWFwLCBzeXMKK2ltcG9ydCBvcywgcmUsIHN5cwogaW1wb3J0IHVuaXR0ZXN0CiBpbXBvcnQgaW5zcGVjdAogaW1wb3J0IHN1YnByb2Nlc3MKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL2dpLnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvZ2kucHkKaW5kZXggMTkwNzNlNS4uN2UxNjY1MSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvZ2kucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvZ2kucHkKQEAgLTksNyArOSw3IEBACiAgICAgQE9FVGVzdERlcGVuZHMoWyJzc2guU1NIVGVzdC50ZXN0X3NzaCJdKQogICAgIEBPRUhhc1BhY2thZ2UoWyJweXRob24zLXB5Z29iamVjdCJdKQogICAgIGRlZiB0ZXN0X3B5dGhvbihzZWxmKToKLSAgICAgICAgc2NyaXB0ID0gIiIiZnJvbSBnaS5yZXBvc2l0b3J5IGltcG9ydCBHT2JqZWN0OyBwcmludChHT2JqZWN0Lm1hcmt1cF9lc2NhcGVfdGV4dCgiPHRlc3RpbmcmdGVzdGluZz4iKSkiIiIKKyAgICAgICAgc2NyaXB0ID0gIiIiZnJvbSBnaS5yZXBvc2l0b3J5IGltcG9ydCBHTGliOyBwcmludChHTGliLm1hcmt1cF9lc2NhcGVfdGV4dCgiPHRlc3RpbmcmdGVzdGluZz4iKSkiIiIKICAgICAgICAgc3RhdHVzLCBvdXRwdXQgPSBzZWxmLnRhcmdldC5ydW4oInB5dGhvbjMgLWMgJyVzJyIgJSBzY3JpcHQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdHVzLCAwLCBtc2c9IlB5dGhvbiBmYWlsZWQgKCVzKSIgJSAob3V0cHV0KSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvdXRwdXQsICImbHQ7dGVzdGluZyZhbXA7dGVzdGluZyZndDsiLCBtc2c9IlVuZXhwZWN0ZWQgb3V0cHV0ICglcykiICUgb3V0cHV0KQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvZ3N0cmVhbWVyLnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvZ3N0cmVhbWVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyODYzMGUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvbGliL29lcWEvcnVudGltZS9jYXNlcy9nc3RyZWFtZXIucHkKQEAgLTAsMCArMSwxNCBAQAorZnJvbSBvZXFhLnJ1bnRpbWUuY2FzZSBpbXBvcnQgT0VSdW50aW1lVGVzdENhc2UKK2Zyb20gb2VxYS5ydW50aW1lLmRlY29yYXRvci5wYWNrYWdlIGltcG9ydCBPRUhhc1BhY2thZ2UKKworY2xhc3MgR3N0cmVhbWVyQ2xpVGVzdChPRVJ1bnRpbWVUZXN0Q2FzZSk6CisKKyAgICBAT0VIYXNQYWNrYWdlKFsnZ3N0cmVhbWVyMS4wJ10pCisgICAgZGVmIHRlc3RfZ3N0X2luc3BlY3RfY2FuX2xpc3RfYWxsX3BsdWdpbnMoc2VsZik6CisgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi50YXJnZXQucnVuKCdnc3QtaW5zcGVjdC0xLjAnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0YXR1cywgMCwgJ2dzdC1pbnNwZWN0LTEuMCBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgcnVubmluZy4nKQorCisgICAgQE9FSGFzUGFja2FnZShbJ2dzdHJlYW1lcjEuMCddKQorICAgIGRlZiB0ZXN0X2dzdF9sYXVuY2hfY2FuX2NyZWF0ZV92aWRlb19waXBlbGluZShzZWxmKToKKyAgICAgICAgc3RhdHVzLCBvdXRwdXQgPSBzZWxmLnRhcmdldC5ydW4oJ2dzdC1sYXVuY2gtMS4wIC12IGZha2VzcmMgc2lsZW50PWZhbHNlIG51bS1idWZmZXJzPTMgISBmYWtlc2luayBzaWxlbnQ9ZmFsc2UnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0YXR1cywgMCwgJ2dzdC1sYXVuY2gtMS4wIGRvZXMgbm90IGFwcGVhciB0byBiZSBydW5uaW5nLicpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvcnVudGltZS9jYXNlcy9rc2FtcGxlLnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMva3NhbXBsZS5weQppbmRleCAzNTRjYzk3Li5kZTIzNjZhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvcnVudGltZS9jYXNlcy9rc2FtcGxlLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL2tzYW1wbGUucHkKQEAgLTIyLDYgKzIyLDEyIEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUocmVzdWx0LCBtc2cpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0YXR1cywgMCwgY21kKQogCisgICAgZGVmIGNoZWNrX2FyY2goc2VsZiwgYXJjaHNldD0nJyk6CisgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi50YXJnZXQucnVuKCJ1bmFtZSAtbSIpCisgICAgICAgIHJlc3VsdCA9ICgiJXMiICUgb3V0cHV0KSBpbiBhcmNoc2V0CisgICAgICAgIGlmIG5vdCByZXN1bHQ6CisgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCJUaGlzIGNhc2UgZG9lc24ndCBzdXBwb3J0ICVzIiAlIG91dHB1dCkKKwogICAgIGRlZiBjaGVja19jb25maWcoc2VsZiwgY29uZmlnX29wdD0nJyk6CiAgICAgICAgIGNtZCA9ICJ6Y2F0IC9wcm9jL2NvbmZpZy5neiB8IGdyZXAgJXMiICUgY29uZmlnX29wdAogICAgICAgICBzdGF0dXMsIG91dHB1dCA9IHNlbGYudGFyZ2V0LnJ1bihjbWQpCkBAIC05OSw2ICsxMDUsNyBAQAogICAgICMga3Byb2JlCiAgICAgQE9FVGVzdERlcGVuZHMoWydzc2guU1NIVGVzdC50ZXN0X3NzaCddKQogICAgIGRlZiB0ZXN0X2twcm9iZV90ZXN0KHNlbGYpOgorICAgICAgICBzZWxmLmNoZWNrX2FyY2goIng4Nl82NCBpNjg2IHBwYyIpCiAgICAgICAgIGluZGV4ID0gWyJrcHJvYmUiLCAia3JldHByb2JlIl0KICAgICAgICAgZm9yIGkgaW4gaW5kZXg6CiAgICAgICAgICAgICBzZWxmLmtwcm9iZV9mdW5jKGkpCkBAIC0xNjYsOSArMTczLDkgQEAKICAgICBkZWYgdGVzdF9od19icmVha3BvaW50X2V4YW1wbGUoc2VsZik6CiAgICAgICAgICMgY2hlY2sgYXJjaAogICAgICAgICBzdGF0dXMsIG91dHB1dCA9IHNlbGYudGFyZ2V0LnJ1bigidW5hbWUgLW0iKQotICAgICAgICByZXN1bHQgPSAoIng4NiIgaW4gb3V0cHV0KSBvciAoImFhcmNoNjQiIGluIG91dHB1dCkKKyAgICAgICAgcmVzdWx0ID0gKCJ4ODZfNjQiIGluIG91dHB1dCkgb3IgKCJhYXJjaDY0IiBpbiBvdXRwdXQpCiAgICAgICAgIGlmIG5vdCByZXN1bHQ6Ci0gICAgICAgICAgICBzZWxmLnNraXBUZXN0KCJ0aGUgYXJjaCBkb2Vzbid0IHN1cHBvcnQgaHcgYnJlYWtwb2ludCIgJSBvdXRwdXQpCisgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCJ0aGUgYXJjaCAlcyBkb2Vzbid0IHN1cHBvcnQgaHcgYnJlYWtwb2ludCIgJSBvdXRwdXQpCiAgICAgICAgICMgY2hlY2sgY29uZmlnCiAgICAgICAgIHNlbGYuY2hlY2tfY29uZmlnKCJDT05GSUdfS0FMTFNZTVNfQUxMIikKICAgICAgICAgIyBtYWtlIHN1cmUgaWYgbW9kdWxlIGV4aXN0cwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvcGFyc2Vsb2dzLnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvcGFyc2Vsb2dzLnB5CmluZGV4IGY2ZTk4MjAuLmJlZDRhMDIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL3BhcnNlbG9ncy5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvcnVudGltZS9jYXNlcy9wYXJzZWxvZ3MucHkKQEAgLTY5LDYgKzY5LDggQEAKICAgICAnYW1kX25iOiBDYW5ub3QgZW51bWVyYXRlIEFNRCBub3J0aGJyaWRnZXMnLAogICAgICdmYWlsZWQgdG8gcmV0cmlldmUgbGluayBpbmZvLCBkaXNhYmxpbmcgZURQJywKICAgICAnRGlyZWN0IGZpcm13YXJlIGxvYWQgZm9yIGl3bHdpZmknLAorICAgICdEaXJlY3QgZmlybXdhcmUgbG9hZCBmb3IgcmVndWxhdG9yeS5kYicsCisgICAgJ2ZhaWxlZCB0byBsb2FkIHJlZ3VsYXRvcnkuZGInLAogXSArIGNvbW1vbl9lcnJvcnMKIAogcWVtdXg4Nl9jb21tb24gPSBbCkBAIC0xMTMsNiArMTE1LDcgQEAKICAgICAgICAgJ09GOiBhbWJhX2RldmljZV9hZGQoKSBmYWlsZWQgKC0xOSkgZm9yIC9hbWJhL3NjdGxAMTAxZTAwMDAnLAogICAgICAgICAnT0Y6IGFtYmFfZGV2aWNlX2FkZCgpIGZhaWxlZCAoLTE5KSBmb3IgL2FtYmEvd2F0Y2hkb2dAMTAxZTEwMDAnLAogICAgICAgICAnT0Y6IGFtYmFfZGV2aWNlX2FkZCgpIGZhaWxlZCAoLTE5KSBmb3IgL2FtYmEvc2NpQDEwMWYwMDAwJywKKyAgICAgICAgJ09GOiBhbWJhX2RldmljZV9hZGQoKSBmYWlsZWQgKC0xOSkgZm9yIC9hbWJhL3NwaUAxMDFmNDAwMCcsCiAgICAgICAgICdPRjogYW1iYV9kZXZpY2VfYWRkKCkgZmFpbGVkICgtMTkpIGZvciAvYW1iYS9zc3BAMTAxZjQwMDAnLAogICAgICAgICAnT0Y6IGFtYmFfZGV2aWNlX2FkZCgpIGZhaWxlZCAoLTE5KSBmb3IgL2FtYmEvZnBnYS9zY2lAYTAwMCcsCiAgICAgICAgICdGYWlsZWQgdG8gaW5pdGlhbGl6ZSBcJy9hbWJhL3RpbWVyQDEwMWUzMDAwXCc6IC0yMicsCkBAIC0xNjEsNyArMTY0LDIzIEBACiAgICAgICAgICdUaGUgZHJpdmVyIGlzIGJ1aWx0LWluLCBzbyB0byBsb2FkIHRoZSBmaXJtd2FyZSB5b3UgbmVlZCB0bycsCiAgICAgICAgIF0gKyB4ODZfY29tbW9uLAogICAgICdlZGdlcm91dGVyJyA6IFsKKyAgICAgICAgJ25vdCBjcmVhdGluZyBcJy9zeXMvZmlybXdhcmUvZmR0XCcnLAorICAgICAgICAnRmFpbGVkIHRvIGZpbmQgY3B1MCBkZXZpY2Ugbm9kZScsCiAgICAgICAgICdGYXRhbCBzZXJ2ZXIgZXJyb3I6JywKKyAgICAgICAgJ1NlcnZlciB0ZXJtaW5hdGVkIHdpdGggZXJyb3InLAorICAgICAgICBdICsgY29tbW9uX2Vycm9ycywKKyAgICAnYmVhZ2xlYm9uZS15b2N0bycgOiBbCisgICAgICAgICdEaXJlY3QgZmlybXdhcmUgbG9hZCBmb3IgcmVndWxhdG9yeS5kYicsCisgICAgICAgICdmYWlsZWQgdG8gbG9hZCByZWd1bGF0b3J5LmRiJywKKyAgICAgICAgJ2w0X3drdXBfY20nLAorICAgICAgICAnRmFpbGVkIHRvIGxvYWQgbW9kdWxlICJnbHgiJywKKyAgICAgICAgJ0ZhaWxlZCB0byBtYWtlIEVHTCBjb250ZXh0IGN1cnJlbnQnLAorICAgICAgICAnZ2xhbW9yIGluaXRpYWxpemF0aW9uIGZhaWxlZCcsCisgICAgICAgIF0gKyBjb21tb25fZXJyb3JzLAorICAgICdtcGM4MzE1ZS1yZGInIDogWworICAgICAgICAnb2ZfaXJxX3BhcnNlX3BjaTogZmFpbGVkIHdpdGgnLAorICAgICAgICAnRmF0YWwgc2VydmVyIGVycm9yOicsCisgICAgICAgICdTZXJ2ZXIgdGVybWluYXRlZCB3aXRoIGVycm9yJywKICAgICAgICAgXSArIGNvbW1vbl9lcnJvcnMsCiB9CiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9ydW50aW1lL3V0aWxzL3RhcmdldGJ1aWxkcHJvamVjdC5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9ydW50aW1lL3V0aWxzL3RhcmdldGJ1aWxkcHJvamVjdC5weQppbmRleCA1YWY1NWQ3Li5kZTE3YmEwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvcnVudGltZS91dGlscy90YXJnZXRidWlsZHByb2plY3QucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL3J1bnRpbWUvdXRpbHMvdGFyZ2V0YnVpbGRwcm9qZWN0LnB5CkBAIC03LDEwICs3LDEyIEBACiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgdGFyZ2V0LCB1cmksIGZvbGRlcm5hbWU9Tm9uZSwgZGxfZGlyPU5vbmUpOgogICAgICAgICBzZWxmLnRhcmdldCA9IHRhcmdldAotICAgICAgICBzZWxmLnRhcmdldGRpciA9ICJ+LyIKKyAgICAgICAgc2VsZi50YXJnZXRkaXIgPSAifi9idWlsZHRlc3QvIgogICAgICAgICBCdWlsZFByb2plY3QuX19pbml0X18oc2VsZiwgdXJpLCBmb2xkZXJuYW1lLCBkbF9kaXI9ZGxfZGlyKQogCiAgICAgZGVmIGRvd25sb2FkX2FyY2hpdmUoc2VsZik6CisgICAgICAgIHNlbGYudGFyZ2V0LnJ1bigibWtkaXIgIiArIHNlbGYudGFyZ2V0ZGlyICsgIiB8fCB0cnVlIikKKwogICAgICAgICBzZWxmLl9kb3dubG9hZF9hcmNoaXZlKCkKIAogICAgICAgICBzdGF0dXMsIG91dHB1dCA9IHNlbGYudGFyZ2V0LmNvcHlUbyhzZWxmLmxvY2FsYXJjaGl2ZSwgc2VsZi50YXJnZXRkaXIpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2UucHkgYi9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2UucHkKaW5kZXggOTYzYWE4ZC4uZDg2MTFjOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZS5weQpAQCAtMSw2ICsxLDcgQEAKICMgQ29weXJpZ2h0IChDKSAyMDE2IEludGVsIENvcnBvcmF0aW9uCiAjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIENPUFlJTkcuTUlUKQogCitpbXBvcnQgb3MKIGltcG9ydCBzdWJwcm9jZXNzCiAKIGZyb20gb2VxYS5jb3JlLmNhc2UgaW1wb3J0IE9FVGVzdENhc2UKQEAgLTEwLDMgKzExLDQxIEBACiAgICAgICAgIHJldHVybiBzdWJwcm9jZXNzLmNoZWNrX291dHB1dCgiLiAlcyA+IC9kZXYvbnVsbDsgJXM7IiAlIFwKICAgICAgICAgICAgICAgICAoc2VsZi50Yy5zZGtfZW52LCBjbWQpLCBzaGVsbD1UcnVlLAogICAgICAgICAgICAgICAgIHN0ZGVycj1zdWJwcm9jZXNzLlNURE9VVCwgdW5pdmVyc2FsX25ld2xpbmVzPVRydWUpCisKKyAgICBkZWYgZmV0Y2goc2VsZiwgd29ya2RpciwgZGxfZGlyLCB1cmwsIGFyY2hpdmU9Tm9uZSk6CisgICAgICAgIGlmIG5vdCBhcmNoaXZlOgorICAgICAgICAgICAgZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHVybHBhcnNlCisgICAgICAgICAgICBhcmNoaXZlID0gb3MucGF0aC5iYXNlbmFtZSh1cmxwYXJzZSh1cmwpLnBhdGgpCisKKyAgICAgICAgaWYgZGxfZGlyOgorICAgICAgICAgICAgdGFyYmFsbCA9IG9zLnBhdGguam9pbihkbF9kaXIsIGFyY2hpdmUpCisgICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyh0YXJiYWxsKToKKyAgICAgICAgICAgICAgICByZXR1cm4gdGFyYmFsbAorCisgICAgICAgIHRhcmJhbGwgPSBvcy5wYXRoLmpvaW4od29ya2RpciwgYXJjaGl2ZSkKKyAgICAgICAgc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWyJ3Z2V0IiwgIi1PIiwgdGFyYmFsbCwgdXJsXSkKKyAgICAgICAgcmV0dXJuIHRhcmJhbGwKKworICAgIGRlZiBjaGVja19lbGYoc2VsZiwgcGF0aCwgdGFyZ2V0X29zPU5vbmUsIHRhcmdldF9hcmNoPU5vbmUpOgorICAgICAgICAiIiIKKyAgICAgICAgVmVyaWZ5IHRoYXQgdGhlIEVMRiBiaW5hcnkgJHBhdGggbWF0Y2hlcyB0aGUgc3BlY2lmaWVkIHRhcmdldAorICAgICAgICBPUy9hcmNoaXRlY3R1cmUsIG9yIGlmIG5vdCBzcGVjaWZpZWQgdGhlIGN1cnJlbnRseSBjb25maWd1cmVkIE1BQ0hJTkUncworICAgICAgICBPUy9hcmNoaXRlY3R1cmUuCisgICAgICAgICIiIgorICAgICAgICBpbXBvcnQgb2UucWEsIG9lLmVsZgorCisgICAgICAgIGlmIG5vdCB0YXJnZXRfb3Mgb3Igbm90IHRhcmdldF9hcmNoOgorICAgICAgICAgICAgb3V0cHV0ID0gc2VsZi5fcnVuKCJlY2hvICRPRUNPUkVfVEFSR0VUX09TOiRPRUNPUkVfVEFSR0VUX0FSQ0giKQorICAgICAgICAgICAgdGFyZ2V0X29zLCB0YXJnZXRfYXJjaCA9IG91dHB1dC5zdHJpcCgpLnNwbGl0KCI6IikKKworICAgICAgICBtYWNoaW5lX2RhdGEgPSBvZS5lbGYubWFjaGluZV9kaWN0KE5vbmUpW3RhcmdldF9vc11bdGFyZ2V0X2FyY2hdCisgICAgICAgIChtYWNoaW5lLCBvc2FiaSwgYWJpdmVyc2lvbiwgZW5kaWFuLCBiaXRzKSA9IG1hY2hpbmVfZGF0YQorCisgICAgICAgIGVsZiA9IG9lLnFhLkVMRkZpbGUocGF0aCkKKyAgICAgICAgZWxmLm9wZW4oKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWFjaGluZSwgZWxmLm1hY2hpbmUoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiQmluYXJ5IHdhcyAlcyBidXQgZXhwZWN0ZWQgJXMiICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAob2UucWEuZWxmX21hY2hpbmVfdG9fc3RyaW5nKGVsZi5tYWNoaW5lKCkpLCBvZS5xYS5lbGZfbWFjaGluZV90b19zdHJpbmcobWFjaGluZSkpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJpdHMsIGVsZi5hYmlTaXplKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZW5kaWFuLCBlbGYuaXNMaXR0bGVFbmRpYW4oKSkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvYXNzaW1wLnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlcy9hc3NpbXAucHkKaW5kZXggMjZjMWRmMC4uYTYwMDAxMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlcy9hc3NpbXAucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlcy9hc3NpbXAucHkKQEAgLTEsNSArMSw3IEBACi1pbXBvcnQgb3MsIHN1YnByb2Nlc3MsIHVuaXR0ZXN0Ci1pbXBvcnQgYmIKK2ltcG9ydCBvcworaW1wb3J0IHN1YnByb2Nlc3MKK2ltcG9ydCB0ZW1wZmlsZQoraW1wb3J0IHVuaXR0ZXN0CiBmcm9tIG9lcWEuc2RrLmNhc2UgaW1wb3J0IE9FU0RLVGVzdENhc2UKIAogZnJvbSBvZXFhLnV0aWxzLnN1YnByb2Nlc3N0d2VhayBpbXBvcnQgZXJyb3JzX2hhdmVfb3V0cHV0CkBAIC0xMCw1NCArMTIsMjUgQEAKICAgICBUZXN0IGNhc2UgdG8gYnVpbGQgYSBwcm9qZWN0IHVzaW5nIGNtYWtlLgogICAgICIiIgogCi0gICAgdGRfdmFycyA9IFsnREFURVRJTUUnLCAnVEFSR0VUX09TJywgJ1RBUkdFVF9BUkNIJ10KLQotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBzZXRVcENsYXNzKHNlbGYpOgorICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgaWYgbm90IChzZWxmLnRjLmhhc0hvc3RQYWNrYWdlKCJuYXRpdmVzZGstY21ha2UiKSBvcgogICAgICAgICAgICAgICAgIHNlbGYudGMuaGFzSG9zdFBhY2thZ2UoImNtYWtlLW5hdGl2ZSIpKToKICAgICAgICAgICAgIHJhaXNlIHVuaXR0ZXN0LlNraXBUZXN0KCJOZWVkcyBjbWFrZSIpCiAKLSAgICBkZWYgZmV0Y2goc2VsZiwgd29ya2RpciwgZGxfZGlyLCB1cmwsIGFyY2hpdmU9Tm9uZSk6Ci0gICAgICAgIGlmIG5vdCBhcmNoaXZlOgotICAgICAgICAgICAgZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHVybHBhcnNlCi0gICAgICAgICAgICBhcmNoaXZlID0gb3MucGF0aC5iYXNlbmFtZSh1cmxwYXJzZSh1cmwpLnBhdGgpCi0KLSAgICAgICAgaWYgZGxfZGlyOgotICAgICAgICAgICAgdGFyYmFsbCA9IG9zLnBhdGguam9pbihkbF9kaXIsIGFyY2hpdmUpCi0gICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyh0YXJiYWxsKToKLSAgICAgICAgICAgICAgICByZXR1cm4gdGFyYmFsbAotCi0gICAgICAgIHRhcmJhbGwgPSBvcy5wYXRoLmpvaW4od29ya2RpciwgYXJjaGl2ZSkKLSAgICAgICAgc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWyJ3Z2V0IiwgIi1PIiwgdGFyYmFsbCwgdXJsXSkKLSAgICAgICAgcmV0dXJuIHRhcmJhbGwKLQogICAgIGRlZiB0ZXN0X2Fzc2ltcChzZWxmKToKLSAgICAgICAgaW1wb3J0IHRlbXBmaWxlCi0gICAgICAgIGltcG9ydCBvZS5xYSwgb2UuZWxmCi0KICAgICAgICAgd2l0aCB0ZW1wZmlsZS5UZW1wb3JhcnlEaXJlY3RvcnkocHJlZml4PSJhc3NpbXAiLCBkaXI9c2VsZi50Yy5zZGtfZGlyKSBhcyB0ZXN0ZGlyOgotICAgICAgICAgICAgZGxfZGlyID0gc2VsZi50ZC5nZXQoJ0RMX0RJUicsIE5vbmUpCi0gICAgICAgICAgICB0YXJiYWxsID0gc2VsZi5mZXRjaCh0ZXN0ZGlyLCBkbF9kaXIsICJodHRwczovL2dpdGh1Yi5jb20vYXNzaW1wL2Fzc2ltcC9hcmNoaXZlL3Y0LjEuMC50YXIuZ3oiKQorICAgICAgICAgICAgdGFyYmFsbCA9IHNlbGYuZmV0Y2godGVzdGRpciwgc2VsZi50ZFsiRExfRElSIl0sICJodHRwczovL2dpdGh1Yi5jb20vYXNzaW1wL2Fzc2ltcC9hcmNoaXZlL3Y0LjEuMC50YXIuZ3oiKQorCisgICAgICAgICAgICBkaXJzID0ge30KKyAgICAgICAgICAgIGRpcnNbInNvdXJjZSJdID0gb3MucGF0aC5qb2luKHRlc3RkaXIsICJhc3NpbXAtNC4xLjAiKQorICAgICAgICAgICAgZGlyc1siYnVpbGQiXSA9IG9zLnBhdGguam9pbih0ZXN0ZGlyLCAiYnVpbGQiKQorICAgICAgICAgICAgZGlyc1siaW5zdGFsbCJdID0gb3MucGF0aC5qb2luKHRlc3RkaXIsICJpbnN0YWxsIikKKwogICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWyJ0YXIiLCAieGYiLCB0YXJiYWxsLCAiLUMiLCB0ZXN0ZGlyXSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmlzZGlyKGRpcnNbInNvdXJjZSJdKSkKKyAgICAgICAgICAgIG9zLm1ha2VkaXJzKGRpcnNbImJ1aWxkIl0pCiAKLSAgICAgICAgICAgIHNvdXJjZWRpciA9IG9zLnBhdGguam9pbih0ZXN0ZGlyLCAiYXNzaW1wLTQuMS4wIikgCi0gICAgICAgICAgICBidWlsZGRpciA9IG9zLnBhdGguam9pbih0ZXN0ZGlyLCAiYnVpbGQiKQotICAgICAgICAgICAgaW5zdGFsbGRpciA9IG9zLnBhdGguam9pbih0ZXN0ZGlyLCAiaW5zdGFsbCIpCi0gICAgICAgICAgICBiYi51dGlscy5ta2RpcmhpZXIoYnVpbGRkaXIpCi0KLSAgICAgICAgICAgIHNlbGYuX3J1bigiY2QgJXMgJiYgY21ha2UgLURDTUFLRV9WRVJCT1NFX01BS0VGSUxFOkJPT0w9T04gJXMgIiAlIChidWlsZGRpciwgc291cmNlZGlyKSkKLSAgICAgICAgICAgIHNlbGYuX3J1bigiY21ha2UgLS1idWlsZCAlcyAtLSAtaiIgJSBidWlsZGRpcikKLSAgICAgICAgICAgIHNlbGYuX3J1bigiY21ha2UgLS1idWlsZCAlcyAtLXRhcmdldCBpbnN0YWxsIC0tIERFU1RESVI9JXMiICUgKGJ1aWxkZGlyLCBpbnN0YWxsZGlyKSkKLQotICAgICAgICAgICAgZWxmID0gb2UucWEuRUxGRmlsZShvcy5wYXRoLmpvaW4oaW5zdGFsbGRpciwgInVzciIsICJsb2NhbCIsICJsaWIiLCAibGliYXNzaW1wLnNvLjQuMS4wIikpCi0gICAgICAgICAgICBlbGYub3BlbigpCi0KLSAgICAgICAgICAgIG91dHB1dCA9IHNlbGYuX3J1bigiZWNobyAkT0VDT1JFX1RBUkdFVF9PUzokT0VDT1JFX1RBUkdFVF9BUkNIIikKLSAgICAgICAgICAgIHRhcmdldF9vcywgdGFyZ2V0X2FyY2ggPSBvdXRwdXQuc3RyaXAoKS5zcGxpdCgiOiIpCi0gICAgICAgICAgICBtYWNoaW5lX2RhdGEgPSBvZS5lbGYubWFjaGluZV9kaWN0KE5vbmUpW3RhcmdldF9vc11bdGFyZ2V0X2FyY2hdCi0gICAgICAgICAgICAobWFjaGluZSwgb3NhYmksIGFiaXZlcnNpb24sIGVuZGlhbiwgYml0cykgPSBtYWNoaW5lX2RhdGEKLQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtYWNoaW5lLCBlbGYubWFjaGluZSgpKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiaXRzLCBlbGYuYWJpU2l6ZSgpKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlbmRpYW4sIGVsZi5pc0xpdHRsZUVuZGlhbigpKQorICAgICAgICAgICAgc2VsZi5fcnVuKCJjZCB7YnVpbGR9ICYmIGNtYWtlIC1EQ01BS0VfVkVSQk9TRV9NQUtFRklMRTpCT09MPU9OIHtzb3VyY2V9Ii5mb3JtYXQoKipkaXJzKSkKKyAgICAgICAgICAgIHNlbGYuX3J1bigiY21ha2UgLS1idWlsZCB7YnVpbGR9IC0tIC1qIi5mb3JtYXQoKipkaXJzKSkKKyAgICAgICAgICAgIHNlbGYuX3J1bigiY21ha2UgLS1idWlsZCB7YnVpbGR9IC0tdGFyZ2V0IGluc3RhbGwgLS0gREVTVERJUj17aW5zdGFsbH0iLmZvcm1hdCgqKmRpcnMpKQorICAgICAgICAgICAgc2VsZi5jaGVja19lbGYob3MucGF0aC5qb2luKGRpcnNbImluc3RhbGwiXSwgInVzciIsICJsb2NhbCIsICJsaWIiLCAibGliYXNzaW1wLnNvLjQuMS4wIikpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2VzL2J1aWxkY3Bpby5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvYnVpbGRjcGlvLnB5CmluZGV4IDMzM2RjN2MuLjk1MDRlZTggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvYnVpbGRjcGlvLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvYnVpbGRjcGlvLnB5CkBAIC0xLDMzICsxLDMxIEBACitpbXBvcnQgb3MKK2ltcG9ydCB0ZW1wZmlsZQoraW1wb3J0IHN1YnByb2Nlc3MKIGltcG9ydCB1bml0dGVzdAorCiBmcm9tIG9lcWEuc2RrLmNhc2UgaW1wb3J0IE9FU0RLVGVzdENhc2UKLWZyb20gb2VxYS5zZGsudXRpbHMuc2RrYnVpbGRwcm9qZWN0IGltcG9ydCBTREtCdWlsZFByb2plY3QKK2Zyb20gb2VxYS51dGlscy5zdWJwcm9jZXNzdHdlYWsgaW1wb3J0IGVycm9yc19oYXZlX291dHB1dAorZXJyb3JzX2hhdmVfb3V0cHV0KCkKIAogY2xhc3MgQnVpbGRDcGlvVGVzdChPRVNES1Rlc3RDYXNlKToKLSAgICB0ZF92YXJzID0gWydEQVRFVElNRSddCi0KLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgc2V0VXBDbGFzcyhzZWxmKToKLSAgICAgICAgZGxfZGlyID0gc2VsZi50ZC5nZXQoJ0RMX0RJUicsIE5vbmUpCi0KLSAgICAgICAgc2VsZi5wcm9qZWN0ID0gU0RLQnVpbGRQcm9qZWN0KHNlbGYudGMuc2RrX2RpciArICIvY3Bpby8iLCBzZWxmLnRjLnNka19lbnYsCi0gICAgICAgICAgICAgICAgICAgICAgICAiaHR0cHM6Ly9mdHAuZ251Lm9yZy9nbnUvY3Bpby9jcGlvLTIuMTIudGFyLmd6IiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudGMuc2RrX2Rpciwgc2VsZi50ZFsnREFURVRJTUUnXSwgZGxfZGlyPWRsX2RpcikKLSAgICAgICAgc2VsZi5wcm9qZWN0LmRvd25sb2FkX2FyY2hpdmUoKQotCi0gICAgICAgIG1hY2hpbmUgPSBzZWxmLnRkLmdldCgiTUFDSElORSIpCi0gICAgICAgIGlmIG5vdCBzZWxmLnRjLmhhc0hvc3RQYWNrYWdlKCJwYWNrYWdlZ3JvdXAtY3Jvc3MtY2FuYWRpYW4tJXMiICUgbWFjaGluZSk6Ci0gICAgICAgICAgICByYWlzZSB1bml0dGVzdC5Ta2lwVGVzdCgiU0RLIGRvZXNuJ3QgY29udGFpbiBhIGNyb3NzLWNhbmFkaWFuIHRvb2xjaGFpbiIpCi0KKyAgICAiIiIKKyAgICBDaGVjayB0aGF0IGF1dG90b29scyB3aWxsIGNyb3NzLWNvbXBpbGUgY29ycmVjdGx5LgorICAgICIiIgogICAgIGRlZiB0ZXN0X2NwaW8oc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5wcm9qZWN0LnJ1bl9jb25maWd1cmUoKSwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgIG1zZz0iUnVubmluZyBjb25maWd1cmUgZmFpbGVkIikKKyAgICAgICAgd2l0aCB0ZW1wZmlsZS5UZW1wb3JhcnlEaXJlY3RvcnkocHJlZml4PSJjcGlvLSIsIGRpcj1zZWxmLnRjLnNka19kaXIpIGFzIHRlc3RkaXI6CisgICAgICAgICAgICB0YXJiYWxsID0gc2VsZi5mZXRjaCh0ZXN0ZGlyLCBzZWxmLnRkWyJETF9ESVIiXSwgImh0dHBzOi8vZnRwLmdudS5vcmcvZ251L2NwaW8vY3Bpby0yLjEyLnRhci5neiIpCiAKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnByb2plY3QucnVuX21ha2UoKSwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgIG1zZz0iUnVubmluZyBtYWtlIGZhaWxlZCIpCisgICAgICAgICAgICBkaXJzID0ge30KKyAgICAgICAgICAgIGRpcnNbInNvdXJjZSJdID0gb3MucGF0aC5qb2luKHRlc3RkaXIsICJjcGlvLTIuMTIiKQorICAgICAgICAgICAgZGlyc1siYnVpbGQiXSA9IG9zLnBhdGguam9pbih0ZXN0ZGlyLCAiYnVpbGQiKQorICAgICAgICAgICAgZGlyc1siaW5zdGFsbCJdID0gb3MucGF0aC5qb2luKHRlc3RkaXIsICJpbnN0YWxsIikKIAotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYucHJvamVjdC5ydW5faW5zdGFsbCgpLCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgbXNnPSJSdW5uaW5nIG1ha2UgaW5zdGFsbCBmYWlsZWQiKQorICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWyJ0YXIiLCAieGYiLCB0YXJiYWxsLCAiLUMiLCB0ZXN0ZGlyXSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmlzZGlyKGRpcnNbInNvdXJjZSJdKSkKKyAgICAgICAgICAgIG9zLm1ha2VkaXJzKGRpcnNbImJ1aWxkIl0pCiAKLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgdGVhckRvd25DbGFzcyhzZWxmKToKLSAgICAgICAgc2VsZi5wcm9qZWN0LmNsZWFuKCkKKyAgICAgICAgICAgIHNlbGYuX3J1bigiY2Qge2J1aWxkfSAmJiB7c291cmNlfS9jb25maWd1cmUgJENPTkZJR1VSRV9GTEFHUyIuZm9ybWF0KCoqZGlycykpCisgICAgICAgICAgICBzZWxmLl9ydW4oImNkIHtidWlsZH0gJiYgbWFrZSAtaiIuZm9ybWF0KCoqZGlycykpCisgICAgICAgICAgICBzZWxmLl9ydW4oImNkIHtidWlsZH0gJiYgbWFrZSBpbnN0YWxsIERFU1RESVI9e2luc3RhbGx9Ii5mb3JtYXQoKipkaXJzKSkKKworICAgICAgICAgICAgc2VsZi5jaGVja19lbGYob3MucGF0aC5qb2luKGRpcnNbImluc3RhbGwiXSwgInVzciIsICJsb2NhbCIsICJiaW4iLCAiY3BpbyIpKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlcy9idWlsZGVwb3h5LnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlcy9idWlsZGVwb3h5LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmMjRiNGYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2VzL2J1aWxkZXBveHkucHkKQEAgLTAsMCArMSwzNSBAQAoraW1wb3J0IG9zCitpbXBvcnQgc3VicHJvY2VzcworaW1wb3J0IHRlbXBmaWxlCitpbXBvcnQgdW5pdHRlc3QKKworZnJvbSBvZXFhLnNkay5jYXNlIGltcG9ydCBPRVNES1Rlc3RDYXNlCitmcm9tIG9lcWEudXRpbHMuc3VicHJvY2Vzc3R3ZWFrIGltcG9ydCBlcnJvcnNfaGF2ZV9vdXRwdXQKK2Vycm9yc19oYXZlX291dHB1dCgpCisKK2NsYXNzIEVwb3h5VGVzdChPRVNES1Rlc3RDYXNlKToKKyAgICAiIiIKKyAgICBUZXN0IHRoYXQgTWVzb24gYnVpbGRzIGNvcnJlY3RseS4KKyAgICAiIiIKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIGlmIG5vdCAoc2VsZi50Yy5oYXNIb3N0UGFja2FnZSgibmF0aXZlc2RrLW1lc29uIikpOgorICAgICAgICAgICAgcmFpc2UgdW5pdHRlc3QuU2tpcFRlc3QoIkdhbGN1bGF0b3JUZXN0IGNsYXNzOiBTREsgZG9lc24ndCBjb250YWluIE1lc29uIikKKworICAgIGRlZiB0ZXN0X2Vwb3h5KHNlbGYpOgorICAgICAgICB3aXRoIHRlbXBmaWxlLlRlbXBvcmFyeURpcmVjdG9yeShwcmVmaXg9ImVwb3h5IiwgZGlyPXNlbGYudGMuc2RrX2RpcikgYXMgdGVzdGRpcjoKKyAgICAgICAgICAgIHRhcmJhbGwgPSBzZWxmLmZldGNoKHRlc3RkaXIsIHNlbGYudGRbIkRMX0RJUiJdLCAiaHR0cHM6Ly9naXRodWIuY29tL2FuaG9sdC9saWJlcG94eS9yZWxlYXNlcy9kb3dubG9hZC8xLjUuMy9saWJlcG94eS0xLjUuMy50YXIueHoiKQorCisgICAgICAgICAgICBkaXJzID0ge30KKyAgICAgICAgICAgIGRpcnNbInNvdXJjZSJdID0gb3MucGF0aC5qb2luKHRlc3RkaXIsICJsaWJlcG94eS0xLjUuMyIpCisgICAgICAgICAgICBkaXJzWyJidWlsZCJdID0gb3MucGF0aC5qb2luKHRlc3RkaXIsICJidWlsZCIpCisgICAgICAgICAgICBkaXJzWyJpbnN0YWxsIl0gPSBvcy5wYXRoLmpvaW4odGVzdGRpciwgImluc3RhbGwiKQorCisgICAgICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChbInRhciIsICJ4ZiIsIHRhcmJhbGwsICItQyIsIHRlc3RkaXJdKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguaXNkaXIoZGlyc1sic291cmNlIl0pKQorICAgICAgICAgICAgb3MubWFrZWRpcnMoZGlyc1siYnVpbGQiXSkKKworICAgICAgICAgICAgc2VsZi5fcnVuKCJtZXNvbiAtRGVnbD1ubyAtRGdseD1ubyAtRHgxMT1mYWxzZSB7YnVpbGR9IHtzb3VyY2V9Ii5mb3JtYXQoKipkaXJzKSkKKyAgICAgICAgICAgIHNlbGYuX3J1bigibmluamEgLUMge2J1aWxkfSAtdiIuZm9ybWF0KCoqZGlycykpCisgICAgICAgICAgICBzZWxmLl9ydW4oIkRFU1RESVI9e2luc3RhbGx9IG5pbmphIC1DIHtidWlsZH0gLXYgaW5zdGFsbCIuZm9ybWF0KCoqZGlycykpCisKKyAgICAgICAgICAgIHNlbGYuY2hlY2tfZWxmKG9zLnBhdGguam9pbihkaXJzWyJpbnN0YWxsIl0sICJ1c3IiLCAibG9jYWwiLCAibGliIiwgImxpYmVwb3h5LnNvIikpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2VzL2J1aWxkZ2FsY3VsYXRvci5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvYnVpbGRnYWxjdWxhdG9yLnB5CmluZGV4IDA1MGQxYjMuLjQ3ZDc1ODAgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvYnVpbGRnYWxjdWxhdG9yLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvYnVpbGRnYWxjdWxhdG9yLnB5CkBAIC0xLDEzICsxLDE3IEBACitpbXBvcnQgb3MKK2ltcG9ydCBzdWJwcm9jZXNzCitpbXBvcnQgdGVtcGZpbGUKIGltcG9ydCB1bml0dGVzdAogCiBmcm9tIG9lcWEuc2RrLmNhc2UgaW1wb3J0IE9FU0RLVGVzdENhc2UKLWZyb20gb2VxYS5zZGsudXRpbHMuc2RrYnVpbGRwcm9qZWN0IGltcG9ydCBTREtCdWlsZFByb2plY3QKK2Zyb20gb2VxYS51dGlscy5zdWJwcm9jZXNzdHdlYWsgaW1wb3J0IGVycm9yc19oYXZlX291dHB1dAorZXJyb3JzX2hhdmVfb3V0cHV0KCkKIAogY2xhc3MgR2FsY3VsYXRvclRlc3QoT0VTREtUZXN0Q2FzZSk6Ci0gICAgdGRfdmFycyA9IFsnREFURVRJTUUnXQotCi0gICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIHNldFVwQ2xhc3Moc2VsZik6CisgICAgIiIiCisgICAgVGVzdCB0aGF0IGF1dG90b29scyBhbmQgR1RLKyAzIGNvbXBpbGVzIGNvcnJlY3RseS4KKyAgICAiIiIKKyAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAgIGlmIG5vdCAoc2VsZi50Yy5oYXNUYXJnZXRQYWNrYWdlKCJndGsrMyIsIG11bHRpbGliPVRydWUpIG9yIFwKICAgICAgICAgICAgICAgICBzZWxmLnRjLmhhc1RhcmdldFBhY2thZ2UoImxpYmd0ay0zLjAiLCBtdWx0aWxpYj1UcnVlKSk6CiAgICAgICAgICAgICByYWlzZSB1bml0dGVzdC5Ta2lwVGVzdCgiR2FsY3VsYXRvclRlc3QgY2xhc3M6IFNESyBkb24ndCBzdXBwb3J0IGd0ayszIikKQEAgLTE1LDIzICsxOSwyMSBAQAogICAgICAgICAgICAgcmFpc2UgdW5pdHRlc3QuU2tpcFRlc3QoIkdhbGN1bGF0b3JUZXN0IGNsYXNzOiBTREsgZG9lc24ndCBjb250YWluIGdldHRleHQiKQogCiAgICAgZGVmIHRlc3RfZ2FsY3VsYXRvcihzZWxmKToKLSAgICAgICAgZGxfZGlyID0gc2VsZi50ZC5nZXQoJ0RMX0RJUicsIE5vbmUpCi0gICAgICAgIHByb2plY3QgPSBOb25lCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHByb2plY3QgPSBTREtCdWlsZFByb2plY3Qoc2VsZi50Yy5zZGtfZGlyICsgIi9nYWxjdWxhdG9yLyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudGMuc2RrX2VudiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImh0dHA6Ly9nYWxjdWxhdG9yLm1uaW0ub3JnL2Rvd25sb2Fkcy9nYWxjdWxhdG9yLTIuMS40LnRhci5iejIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnRjLnNka19kaXIsIHNlbGYudGRbJ0RBVEVUSU1FJ10sIGRsX2Rpcj1kbF9kaXIpCisgICAgICAgIHdpdGggdGVtcGZpbGUuVGVtcG9yYXJ5RGlyZWN0b3J5KHByZWZpeD0iZ2FsY3VsYXRvciIsIGRpcj1zZWxmLnRjLnNka19kaXIpIGFzIHRlc3RkaXI6CisgICAgICAgICAgICB0YXJiYWxsID0gc2VsZi5mZXRjaCh0ZXN0ZGlyLCBzZWxmLnRkWyJETF9ESVIiXSwgImh0dHA6Ly9nYWxjdWxhdG9yLm1uaW0ub3JnL2Rvd25sb2Fkcy9nYWxjdWxhdG9yLTIuMS40LnRhci5iejIiKQogCi0gICAgICAgICAgICBwcm9qZWN0LmRvd25sb2FkX2FyY2hpdmUoKQorICAgICAgICAgICAgZGlycyA9IHt9CisgICAgICAgICAgICBkaXJzWyJzb3VyY2UiXSA9IG9zLnBhdGguam9pbih0ZXN0ZGlyLCAiZ2FsY3VsYXRvci0yLjEuNCIpCisgICAgICAgICAgICBkaXJzWyJidWlsZCJdID0gb3MucGF0aC5qb2luKHRlc3RkaXIsICJidWlsZCIpCisgICAgICAgICAgICBkaXJzWyJpbnN0YWxsIl0gPSBvcy5wYXRoLmpvaW4odGVzdGRpciwgImluc3RhbGwiKQogCi0gICAgICAgICAgICAjIHJlZ2VuZXJhdGUgY29uZmlndXJlIHRvIGdldCBzdXBwb3J0IGZvciAtLXdpdGgtbGlidG9vbC1zeXNyb290Ci0gICAgICAgICAgICBsZWdhY3lfcHJlY29uZj0oImF1dG9yZWNvbmYgLWkgLWYgLUkgJHtPRUNPUkVfVEFSR0VUX1NZU1JPT1R9L3Vzci9zaGFyZS9hY2xvY2FsIC1JIG00OyIpCisgICAgICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChbInRhciIsICJ4ZiIsIHRhcmJhbGwsICItQyIsIHRlc3RkaXJdKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguaXNkaXIoZGlyc1sic291cmNlIl0pKQorICAgICAgICAgICAgb3MubWFrZWRpcnMoZGlyc1siYnVpbGQiXSkKIAotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwcm9qZWN0LnJ1bl9jb25maWd1cmUoZXh0cmFfY21kcz1sZWdhY3lfcHJlY29uZiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIG1zZz0iUnVubmluZyBjb25maWd1cmUgZmFpbGVkIikKKyAgICAgICAgICAgIHNlbGYuX3J1bigiY2Qge3NvdXJjZX0gJiYgYXV0b3JlY29uZiAtaSAtZiAtSSAkT0VDT1JFX1RBUkdFVF9TWVNST09UL3Vzci9zaGFyZS9hY2xvY2FsIC1JIG00Ii5mb3JtYXQoKipkaXJzKSkKKyAgICAgICAgICAgIHNlbGYuX3J1bigiY2Qge2J1aWxkfSAmJiB7c291cmNlfS9jb25maWd1cmUgJENPTkZJR1VSRV9GTEFHUyIuZm9ybWF0KCoqZGlycykpCisgICAgICAgICAgICBzZWxmLl9ydW4oImNkIHtidWlsZH0gJiYgbWFrZSAtaiIuZm9ybWF0KCoqZGlycykpCisgICAgICAgICAgICBzZWxmLl9ydW4oImNkIHtidWlsZH0gJiYgbWFrZSBpbnN0YWxsIERFU1RESVI9e2luc3RhbGx9Ii5mb3JtYXQoKipkaXJzKSkKIAotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwcm9qZWN0LnJ1bl9tYWtlKCksIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnPSJSdW5uaW5nIG1ha2UgZmFpbGVkIikKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHByb2plY3QuY2xlYW4oKQorICAgICAgICAgICAgc2VsZi5jaGVja19lbGYob3MucGF0aC5qb2luKGRpcnNbImluc3RhbGwiXSwgInVzciIsICJsb2NhbCIsICJiaW4iLCAiZ2FsY3VsYXRvciIpKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlcy9idWlsZGx6aXAucHkgYi9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2VzL2J1aWxkbHppcC5weQppbmRleCBiMjhjYzNhLi5iNzQ4M2JmIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2VzL2J1aWxkbHppcC5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2VzL2J1aWxkbHppcC5weQpAQCAtMSwzNiArMSwzMyBAQAotaW1wb3J0IHVuaXR0ZXN0CitpbXBvcnQgb3MsIHRlbXBmaWxlLCBzdWJwcm9jZXNzLCB1bml0dGVzdAogZnJvbSBvZXFhLnNkay5jYXNlIGltcG9ydCBPRVNES1Rlc3RDYXNlCi1mcm9tIG9lcWEuc2RrLnV0aWxzLnNka2J1aWxkcHJvamVjdCBpbXBvcnQgU0RLQnVpbGRQcm9qZWN0Ci0KK2Zyb20gb2VxYS51dGlscy5zdWJwcm9jZXNzdHdlYWsgaW1wb3J0IGVycm9yc19oYXZlX291dHB1dAorZXJyb3JzX2hhdmVfb3V0cHV0KCkKIAogY2xhc3MgQnVpbGRMemlwVGVzdChPRVNES1Rlc3RDYXNlKToKLSAgICB0ZF92YXJzID0gWydEQVRFVElNRSddCi0KLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgc2V0VXBDbGFzcyhzZWxmKToKLSAgICAgICAgZGxfZGlyID0gc2VsZi50ZC5nZXQoJ0RMX0RJUicsIE5vbmUpCi0KLSAgICAgICAgc2VsZi5wcm9qZWN0ID0gU0RLQnVpbGRQcm9qZWN0KHNlbGYudGMuc2RrX2RpciArICIvbHppcC8iLCBzZWxmLnRjLnNka19lbnYsCi0gICAgICAgICAgICAgICAgICAgICAgICAiaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzL2x6aXAtMS4xOS50YXIuZ3oiLAotICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi50Yy5zZGtfZGlyLCBzZWxmLnRkWydEQVRFVElNRSddLCBkbF9kaXI9ZGxfZGlyKQotICAgICAgICBzZWxmLnByb2plY3QuZG93bmxvYWRfYXJjaGl2ZSgpCi0KLSAgICAgICAgbWFjaGluZSA9IHNlbGYudGQuZ2V0KCJNQUNISU5FIikKLQotICAgICAgICBpZiBub3QgKHNlbGYudGMuaGFzSG9zdFBhY2thZ2UoInBhY2thZ2Vncm91cC1jcm9zcy1jYW5hZGlhbi0lcyIgJSBtYWNoaW5lKSBvcgotICAgICAgICAgICAgICAgIHNlbGYudGMuaGFzSG9zdFBhY2thZ2UoIl5nY2MtIiwgcmVnZXg9VHJ1ZSkpOgotICAgICAgICAgICAgcmFpc2UgdW5pdHRlc3QuU2tpcFRlc3QoIlNESyBkb2Vzbid0IGNvbnRhaW4gYSBjcm9zcy1jYW5hZGlhbiB0b29sY2hhaW4iKQotCisgICAgIiIiCisgICAgVGVzdCB0aGF0ICJwbGFpbiIgY29tcGlsYXRpb24gd29ya3MsIHVzaW5nIGp1c3QgJENDICRDRkxBR1MgZXRjLgorICAgICIiIgogICAgIGRlZiB0ZXN0X2x6aXAoc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5wcm9qZWN0LnJ1bl9jb25maWd1cmUoKSwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgIG1zZz0iUnVubmluZyBjb25maWd1cmUgZmFpbGVkIikKKyAgICAgICAgd2l0aCB0ZW1wZmlsZS5UZW1wb3JhcnlEaXJlY3RvcnkocHJlZml4PSJsemlwIiwgZGlyPXNlbGYudGMuc2RrX2RpcikgYXMgdGVzdGRpcjoKKyAgICAgICAgICAgIHRhcmJhbGwgPSBzZWxmLmZldGNoKHRlc3RkaXIsIHNlbGYudGRbIkRMX0RJUiJdLCAiaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzL2x6aXAtMS4xOS50YXIuZ3oiKQogCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5wcm9qZWN0LnJ1bl9tYWtlKCksIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICBtc2c9IlJ1bm5pbmcgbWFrZSBmYWlsZWQiKQorICAgICAgICAgICAgZGlycyA9IHt9CisgICAgICAgICAgICBkaXJzWyJzb3VyY2UiXSA9IG9zLnBhdGguam9pbih0ZXN0ZGlyLCAibHppcC0xLjE5IikKKyAgICAgICAgICAgIGRpcnNbImJ1aWxkIl0gPSBvcy5wYXRoLmpvaW4odGVzdGRpciwgImJ1aWxkIikKKyAgICAgICAgICAgIGRpcnNbImluc3RhbGwiXSA9IG9zLnBhdGguam9pbih0ZXN0ZGlyLCAiaW5zdGFsbCIpCiAKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnByb2plY3QucnVuX2luc3RhbGwoKSwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgIG1zZz0iUnVubmluZyBtYWtlIGluc3RhbGwgZmFpbGVkIikKKyAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KFsidGFyIiwgInhmIiwgdGFyYmFsbCwgIi1DIiwgdGVzdGRpcl0pCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5pc2RpcihkaXJzWyJzb3VyY2UiXSkpCisgICAgICAgICAgICBvcy5tYWtlZGlycyhkaXJzWyJidWlsZCJdKQogCi0gICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIHRlYXJEb3duQ2xhc3Moc2VsZik6Ci0gICAgICAgIHNlbGYucHJvamVjdC5jbGVhbigpCisgICAgICAgICAgICBjbWQgPSAiIiJjZCB7YnVpbGR9ICYmIFwKKyAgICAgICAgICAgICAgICAgICAgIHtzb3VyY2V9L2NvbmZpZ3VyZSAtLXNyY2RpciB7c291cmNlfSBcCisgICAgICAgICAgICAgICAgICAgICBDWFg9IiRDWFgiIFwKKyAgICAgICAgICAgICAgICAgICAgIENQUEZMQUdTPSIkQ1BQRkxBR1MiIFwKKyAgICAgICAgICAgICAgICAgICAgIENYWEZMQUdTPSIkQ1hYRkxBR1MiIFwKKyAgICAgICAgICAgICAgICAgICAgIExERkxBR1M9IiRMREZMQUdTIiBcCisgICAgICAgICAgICAgICAgICAiIiIKKyAgICAgICAgICAgIHNlbGYuX3J1bihjbWQuZm9ybWF0KCoqZGlycykpCisgICAgICAgICAgICBzZWxmLl9ydW4oImNkIHtidWlsZH0gJiYgbWFrZSAtaiIuZm9ybWF0KCoqZGlycykpCisgICAgICAgICAgICBzZWxmLl9ydW4oImNkIHtidWlsZH0gJiYgbWFrZSBpbnN0YWxsIERFU1RESVI9e2luc3RhbGx9Ii5mb3JtYXQoKipkaXJzKSkKKyAgICAgICAgICAgIHNlbGYuY2hlY2tfZWxmKG9zLnBhdGguam9pbihkaXJzWyJpbnN0YWxsIl0sICJ1c3IiLCAibG9jYWwiLCAiYmluIiwgImx6aXAiKSkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvZ2NjLnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlcy9nY2MucHkKaW5kZXggYjMyYjAxZi4uNTRjNmZjNCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlcy9nY2MucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlcy9nY2MucHkKQEAgLTUsNiArNSw5IEBACiBmcm9tIG9lcWEuY29yZS51dGlscy5wYXRoIGltcG9ydCByZW1vdmVfc2FmZQogZnJvbSBvZXFhLnNkay5jYXNlIGltcG9ydCBPRVNES1Rlc3RDYXNlCiAKK2Zyb20gb2VxYS51dGlscy5zdWJwcm9jZXNzdHdlYWsgaW1wb3J0IGVycm9yc19oYXZlX291dHB1dAorZXJyb3JzX2hhdmVfb3V0cHV0KCkKKwogY2xhc3MgR2NjQ29tcGlsZVRlc3QoT0VTREtUZXN0Q2FzZSk6CiAgICAgdGRfdmFycyA9IFsnTUFDSElORSddCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvcGVybC5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvcGVybC5weQppbmRleCBmZjUwYjQ2Li5iOGFkYzVhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2VzL3BlcmwucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlcy9wZXJsLnB5CkBAIC0xLDE3ICsxLDE2IEBACiBpbXBvcnQgdW5pdHRlc3QKIGZyb20gb2VxYS5zZGsuY2FzZSBpbXBvcnQgT0VTREtUZXN0Q2FzZQogCitmcm9tIG9lcWEudXRpbHMuc3VicHJvY2Vzc3R3ZWFrIGltcG9ydCBlcnJvcnNfaGF2ZV9vdXRwdXQKK2Vycm9yc19oYXZlX291dHB1dCgpCisKIGNsYXNzIFBlcmxUZXN0KE9FU0RLVGVzdENhc2UpOgotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBzZXRVcENsYXNzKHNlbGYpOgorICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgaWYgbm90IChzZWxmLnRjLmhhc0hvc3RQYWNrYWdlKCJuYXRpdmVzZGstcGVybCIpIG9yCiAgICAgICAgICAgICAgICAgc2VsZi50Yy5oYXNIb3N0UGFja2FnZSgicGVybC1uYXRpdmUiKSk6CiAgICAgICAgICAgICByYWlzZSB1bml0dGVzdC5Ta2lwVGVzdCgiTm8gcGVybCBwYWNrYWdlIGluIHRoZSBTREsiKQogCiAgICAgZGVmIHRlc3RfcGVybChzZWxmKToKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgY21kID0gInBlcmwgLWUgJyRfPVwiVXJ5eWIsIGpiZXlxXCI7IHRyL2EtekEtWi9uLXphLW1OLVpBLU0vO3ByaW50JyIKLSAgICAgICAgICAgIG91dHB1dCA9IHNlbGYuX3J1bihjbWQpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dHB1dCwgIkhlbGxvLCB3b3JsZCIpCi0gICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvciBhcyBlOgotICAgICAgICAgICAgc2VsZi5mYWlsKCJVbmV4cGVjdGVkIGV4aXQgJWQgKG91dHB1dCAlcykiICUgKGUucmV0dXJuY29kZSwgZS5vdXRwdXQpKQorICAgICAgICBjbWQgPSAicGVybCAtZSAnJF89XCJVcnl5YiwgamJleXFcIjsgdHIvYS16QS1aL24temEtbU4tWkEtTS87cHJpbnQnIgorICAgICAgICBvdXRwdXQgPSBzZWxmLl9ydW4oY21kKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dHB1dCwgIkhlbGxvLCB3b3JsZCIpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2VzL3B5dGhvbi5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvcHl0aG9uLnB5CmluZGV4IGJkNWYxZjYuLmI5MTc0ZmEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvcHl0aG9uLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvcHl0aG9uLnB5CkBAIC0xLDE3ICsxLDI3IEBACiBpbXBvcnQgc3VicHJvY2VzcywgdW5pdHRlc3QKIGZyb20gb2VxYS5zZGsuY2FzZSBpbXBvcnQgT0VTREtUZXN0Q2FzZQogCi1jbGFzcyBQeXRob25UZXN0KE9FU0RLVGVzdENhc2UpOgotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBzZXRVcENsYXNzKHNlbGYpOgotICAgICAgICBpZiBub3QgKHNlbGYudGMuaGFzSG9zdFBhY2thZ2UoIm5hdGl2ZXNkay1weXRob24zIikgb3IKLSAgICAgICAgICAgICAgICBzZWxmLnRjLmhhc0hvc3RQYWNrYWdlKCJweXRob24zLW5hdGl2ZSIpKToKK2Zyb20gb2VxYS51dGlscy5zdWJwcm9jZXNzdHdlYWsgaW1wb3J0IGVycm9yc19oYXZlX291dHB1dAorZXJyb3JzX2hhdmVfb3V0cHV0KCkKKworY2xhc3MgUHl0aG9uMlRlc3QoT0VTREtUZXN0Q2FzZSk6CisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBpZiBub3QgKHNlbGYudGMuaGFzSG9zdFBhY2thZ2UoIm5hdGl2ZXNkay1weXRob24tY29yZSIpIG9yCisgICAgICAgICAgICAgICAgc2VsZi50Yy5oYXNIb3N0UGFja2FnZSgicHl0aG9uLWNvcmUtbmF0aXZlIikpOgogICAgICAgICAgICAgcmFpc2UgdW5pdHRlc3QuU2tpcFRlc3QoIk5vIHB5dGhvbiBwYWNrYWdlIGluIHRoZSBTREsiKQogCisgICAgZGVmIHRlc3RfcHl0aG9uMihzZWxmKToKKyAgICAgICAgY21kID0gInB5dGhvbiAtYyBcImltcG9ydCBjb2RlY3M7IHByaW50KGNvZGVjcy5lbmNvZGUoJ1VyeXliLCBqYmV5cScsICdyb3QxMycpKVwiIgorICAgICAgICBvdXRwdXQgPSBzZWxmLl9ydW4oY21kKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dHB1dCwgIkhlbGxvLCB3b3JsZFxuIikKKworY2xhc3MgUHl0aG9uM1Rlc3QoT0VTREtUZXN0Q2FzZSk6CisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBpZiBub3QgKHNlbGYudGMuaGFzSG9zdFBhY2thZ2UoIm5hdGl2ZXNkay1weXRob24zLWNvcmUiKSBvcgorICAgICAgICAgICAgICAgIHNlbGYudGMuaGFzSG9zdFBhY2thZ2UoInB5dGhvbjMtY29yZS1uYXRpdmUiKSk6CisgICAgICAgICAgICByYWlzZSB1bml0dGVzdC5Ta2lwVGVzdCgiTm8gcHl0aG9uMyBwYWNrYWdlIGluIHRoZSBTREsiKQorCiAgICAgZGVmIHRlc3RfcHl0aG9uMyhzZWxmKToKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgY21kID0gInB5dGhvbjMgLWMgXCJpbXBvcnQgY29kZWNzOyBwcmludChjb2RlY3MuZW5jb2RlKCdVcnl5YiwgamJleXEnLCAncm90MTMnKSlcIiIKLSAgICAgICAgICAgIG91dHB1dCA9IHNlbGYuX3J1bihjbWQpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dHB1dCwgIkhlbGxvLCB3b3JsZFxuIikKLSAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yIGFzIGU6Ci0gICAgICAgICAgICBzZWxmLmZhaWwoIlVuZXhwZWN0ZWQgZXhpdCAlZCAob3V0cHV0ICVzKSIgJSAoZS5yZXR1cm5jb2RlLCBlLm91dHB1dCkpCisgICAgICAgIGNtZCA9ICJweXRob24zIC1jIFwiaW1wb3J0IGNvZGVjczsgcHJpbnQoY29kZWNzLmVuY29kZSgnVXJ5eWIsIGpiZXlxJywgJ3JvdDEzJykpXCIiCisgICAgICAgIG91dHB1dCA9IHNlbGYuX3J1bihjbWQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3V0cHV0LCAiSGVsbG8sIHdvcmxkXG4iKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3Nka2V4dC9jYXNlcy9kZXZ0b29sLnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL3Nka2V4dC9jYXNlcy9kZXZ0b29sLnB5CmluZGV4IDA4NjBlOGQuLmQzMjJmODYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZGtleHQvY2FzZXMvZGV2dG9vbC5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvc2RrZXh0L2Nhc2VzL2RldnRvb2wucHkKQEAgLTksNiArOSw5IEBACiBmcm9tIG9lcWEuY29yZS5kZWNvcmF0b3Iub2VpZCBpbXBvcnQgT0VUZXN0SUQKIGZyb20gb2VxYS51dGlscy5odHRwc2VydmVyIGltcG9ydCBIVFRQU2VydmljZQogCitmcm9tIG9lcWEudXRpbHMuc3VicHJvY2Vzc3R3ZWFrIGltcG9ydCBlcnJvcnNfaGF2ZV9vdXRwdXQKK2Vycm9yc19oYXZlX291dHB1dCgpCisKIGNsYXNzIERldnRvb2xUZXN0KE9FU0RLRXh0VGVzdENhc2UpOgogICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiBzZXRVcENsYXNzKGNscyk6CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvYmJ0ZXN0cy5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9iYnRlc3RzLnB5CmluZGV4IDAwNWZkZDAuLmM1MDNlNGUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9iYnRlc3RzLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9iYnRlc3RzLnB5CkBAIC00MCw4ICs0MCw4IEBACiAgICAgZGVmIHRlc3RfZXZlbnRfaGFuZGxlcihzZWxmKToKICAgICAgICAgc2VsZi53cml0ZV9jb25maWcoIklOSEVSSVQgKz0gXCJ0ZXN0X2V2ZW50c1wiIikKICAgICAgICAgcmVzdWx0ID0gYml0YmFrZSgnbTQtbmF0aXZlJykKLSAgICAgICAgZmluZF9idWlsZF9zdGFydGVkID0gcmUuc2VhcmNoKCJOT1RFOiBUZXN0IGZvciBiYlwuZXZlbnRcLkJ1aWxkU3RhcnRlZChcbi4qKSpOT1RFOiBFeGVjdXRpbmcgUnVuUXVldWUgVGFza3MiLCByZXN1bHQub3V0cHV0KQotICAgICAgICBmaW5kX2J1aWxkX2NvbXBsZXRlZCA9IHJlLnNlYXJjaCgiVGFza3MgU3VtbWFyeTouKihcbi4qKSpOT1RFOiBUZXN0IGZvciBiYlwuZXZlbnRcLkJ1aWxkQ29tcGxldGVkIiwgcmVzdWx0Lm91dHB1dCkKKyAgICAgICAgZmluZF9idWlsZF9zdGFydGVkID0gcmUuc2VhcmNoKHIiTk9URTogVGVzdCBmb3IgYmJcLmV2ZW50XC5CdWlsZFN0YXJ0ZWQoXG4uKikqTk9URTogRXhlY3V0aW5nIFJ1blF1ZXVlIFRhc2tzIiwgcmVzdWx0Lm91dHB1dCkKKyAgICAgICAgZmluZF9idWlsZF9jb21wbGV0ZWQgPSByZS5zZWFyY2gociJUYXNrcyBTdW1tYXJ5Oi4qKFxuLiopKk5PVEU6IFRlc3QgZm9yIGJiXC5ldmVudFwuQnVpbGRDb21wbGV0ZWQiLCByZXN1bHQub3V0cHV0KQogICAgICAgICBzZWxmLmFzc2VydFRydWUoZmluZF9idWlsZF9zdGFydGVkLCBtc2cgPSAiTWF0Y2ggZmFpbGVkIGluOlxuJXMiICAlIHJlc3VsdC5vdXRwdXQpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShmaW5kX2J1aWxkX2NvbXBsZXRlZCwgbXNnID0gIk1hdGNoIGZhaWxlZCBpbjpcbiVzIiAlIHJlc3VsdC5vdXRwdXQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoJ1Rlc3QgZm9yIGJiLmV2ZW50LkludmFsaWRFdmVudCcgaW4gcmVzdWx0Lm91dHB1dCwgbXNnID0gIlwiVGVzdCBmb3IgYmIuZXZlbnQuSW52YWxpZEV2ZW50XCIgbWVzc2FnZSBmb3VuZCBkdXJpbmcgYml0YmFrZSBwcm9jZXNzLiBiaXRiYWtlIG91dHB1dDogJXMiICUgcmVzdWx0Lm91dHB1dCkKQEAgLTE5Niw3ICsxOTYsNyBAQAogICAgIEBPRVRlc3RJRCgxMDMxKQogICAgIGRlZiB0ZXN0X3ZlcnNpb24oc2VsZik6CiAgICAgICAgIHJlc3VsdCA9IHJ1bkNtZCgnYml0YmFrZSAtcyB8IGdyZXAgd2dldCcpCi0gICAgICAgIGZpbmQgPSByZS5zZWFyY2goIndnZXQgKjooWzAtOWEtekEtWlwuXC1dKykiLCByZXN1bHQub3V0cHV0KQorICAgICAgICBmaW5kID0gcmUuc2VhcmNoKHIid2dldCAqOihbMC05YS16QS1aXC5cLV0rKSIsIHJlc3VsdC5vdXRwdXQpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShmaW5kLCAiTm8gdmVyc2lvbiByZXR1cm5lZCBmb3Igc2VhcmNoZWQgcmVjaXBlLiBiaXRiYWtlIG91dHB1dDogJXMiICUgcmVzdWx0Lm91dHB1dCkKIAogICAgIEBPRVRlc3RJRCgxMDMyKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL2J1aWxkb3B0aW9ucy5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9idWlsZG9wdGlvbnMucHkKaW5kZXggZjIzNGJhYy4uNmExOGViOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL2J1aWxkb3B0aW9ucy5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvYnVpbGRvcHRpb25zLnB5CkBAIC0zNywxMyArMzcsMTMgQEAKICAgICAgICAgcCA9IGJiX3ZhcnNbJ1NZU1JPT1RfREVTVERJUiddICsgYmJfdmFyc1snYmluZGlyJ10gKyAiLyIgKyAiY2NhY2hlIgogICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5pc2ZpbGUocCksIG1zZyA9ICJObyBjY2FjaGUgZm91bmQgKCVzKSIgJSBwKQogICAgICAgICBzZWxmLndyaXRlX2NvbmZpZygnSU5IRVJJVCArPSAiY2NhY2hlIicpCi0gICAgICAgIHNlbGYuYWRkX2NvbW1hbmRfdG9fdGVhckRvd24oJ2JpdGJha2UgLWMgY2xlYW4gbTQnKQotICAgICAgICBiaXRiYWtlKCJtNCAtYyBjbGVhbiIpCi0gICAgICAgIGJpdGJha2UoIm00IC1mIC1jIGNvbXBpbGUiKQotICAgICAgICBsb2dfY29tcGlsZSA9IG9zLnBhdGguam9pbihnZXRfYmJfdmFyKCJXT1JLRElSIiwibTQiKSwgInRlbXAvbG9nLmRvX2NvbXBpbGUiKQorICAgICAgICBzZWxmLmFkZF9jb21tYW5kX3RvX3RlYXJEb3duKCdiaXRiYWtlIC1jIGNsZWFuIG00LW5hdGl2ZScpCisgICAgICAgIGJpdGJha2UoIm00LW5hdGl2ZSAtYyBjbGVhbiIpCisgICAgICAgIGJpdGJha2UoIm00LW5hdGl2ZSAtZiAtYyBjb21waWxlIikKKyAgICAgICAgbG9nX2NvbXBpbGUgPSBvcy5wYXRoLmpvaW4oZ2V0X2JiX3ZhcigiV09SS0RJUiIsIm00LW5hdGl2ZSIpLCAidGVtcC9sb2cuZG9fY29tcGlsZSIpCiAgICAgICAgIHdpdGggb3Blbihsb2dfY29tcGlsZSwgInIiKSBhcyBmOgogICAgICAgICAgICAgbG9nbGluZXMgPSAiIi5qb2luKGYucmVhZGxpbmVzKCkpCi0gICAgICAgIHNlbGYuYXNzZXJ0SW4oImNjYWNoZSIsIGxvZ2xpbmVzLCBtc2c9Ik5vIG1hdGNoIGZvciBjY2FjaGUgaW4gbTQgbG9nLmRvX2NvbXBpbGUuIEZvciBmdXJ0aGVyIGRldGFpbHM6ICVzIiAlIGxvZ19jb21waWxlKQorICAgICAgICBzZWxmLmFzc2VydEluKCJjY2FjaGUiLCBsb2dsaW5lcywgbXNnPSJObyBtYXRjaCBmb3IgY2NhY2hlIGluIG00LW5hdGl2ZSBsb2cuZG9fY29tcGlsZS4gRm9yIGZ1cnRoZXIgZGV0YWlsczogJXMiICUgbG9nX2NvbXBpbGUpCiAKICAgICBAT0VUZXN0SUQoMTQzNSkKICAgICBkZWYgdGVzdF9yZWFkX29ubHlfaW1hZ2Uoc2VsZik6CkBAIC0xODcsNiArMTg3LDggQEAKIEJCX0FMTE9XRURfTkVUV09SS1MgPSAiZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmciCiBNSVJST1JTID0gIiIKIERMX0RJUiA9ICIke1RNUERJUn0vdGVzdF9kb3dubG9hZHMiCitTVEFNUFNfRElSID0gIiR7VE1QRElSfS90ZXN0X3N0YW1wcyIKK1NTVEFURV9ESVIgPSAiJHtUTVBESVJ9L3Rlc3Rfc3N0YXRlLWNhY2hlIgogUFJFTUlSUk9SUyA9ICJcXAogICAgIGJ6cjovLy4qLy4qICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcXG4gXFwKICAgICBjdnM6Ly8uKi8uKiAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXFxuIFxcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvZGV2dG9vbC5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9kZXZ0b29sLnB5CmluZGV4IDllYjliYWQuLjU4ZjNlNTggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9kZXZ0b29sLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9kZXZ0b29sLnB5CkBAIC0xMjkxLDcgKzEyOTEsNyBAQAogICAgICAgICAgICAgaW5zdGFsbGRpciA9IGJiX3ZhcnNbJ0QnXQogICAgICAgICAgICAgZmFrZXJvb3RlbnYgPSBiYl92YXJzWydGQUtFUk9PVEVOViddCiAgICAgICAgICAgICBmYWtlcm9vdGNtZCA9IGJiX3ZhcnNbJ0ZBS0VST09UQ01EJ10KLSAgICAgICAgICAgIHJlc3VsdCA9IHJ1bkNtZCgnJXMgJXMgZmluZCAuIC10eXBlIGYgLWV4ZWMgbHMgLWwge30gXDsnICUgKGZha2Vyb290ZW52LCBmYWtlcm9vdGNtZCksIGN3ZD1pbnN0YWxsZGlyKQorICAgICAgICAgICAgcmVzdWx0ID0gcnVuQ21kKCclcyAlcyBmaW5kIC4gLXR5cGUgZiAtZXhlYyBscyAtbCB7fSBcXDsnICUgKGZha2Vyb290ZW52LCBmYWtlcm9vdGNtZCksIGN3ZD1pbnN0YWxsZGlyKQogICAgICAgICAgICAgZmlsZWxpc3QxID0gc2VsZi5fcHJvY2Vzc19sc19vdXRwdXQocmVzdWx0Lm91dHB1dCkKIAogICAgICAgICAgICAgIyBOb3cgbG9vayBvbiB0aGUgdGFyZ2V0CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvZGlzdHJvZGF0YS5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9kaXN0cm9kYXRhLnB5CmluZGV4IGU3YjVlMzQuLjBiNDU0NzEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9kaXN0cm9kYXRhLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9kaXN0cm9kYXRhLnB5CkBAIC00LDE3ICs0LDEwIEBACiBmcm9tIG9lcWEudXRpbHMuZnRvb2xzIGltcG9ydCB3cml0ZV9maWxlCiBmcm9tIG9lcWEuY29yZS5kZWNvcmF0b3Iub2VpZCBpbXBvcnQgT0VUZXN0SUQKIAoraW1wb3J0IG9lLnJlY2lwZXV0aWxzCisKIGNsYXNzIERpc3Ryb2RhdGEoT0VTZWxmdGVzdFRlc3RDYXNlKToKIAotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBzZXRVcENsYXNzKGNscyk6Ci0gICAgICAgIHN1cGVyKERpc3Ryb2RhdGEsIGNscykuc2V0VXBDbGFzcygpCi0gICAgICAgIGZlYXR1cmUgPSAnSU5IRVJJVCArPSAiZGlzdHJvZGF0YSJcbicKLSAgICAgICAgZmVhdHVyZSArPSAnTElDRU5TRV9GTEFHU19XSElURUxJU1QgKz0gIiBjb21tZXJjaWFsIlxuJwotCi0gICAgICAgIGNscy53cml0ZV9jb25maWcoY2xzLCBmZWF0dXJlKQotICAgICAgICBiaXRiYWtlKCctYyBjaGVja3BrZyB3b3JsZCcpCi0KICAgICBAT0VUZXN0SUQoMTkwMikKICAgICBkZWYgdGVzdF9jaGVja3BrZyhzZWxmKToKICAgICAgICAgIiIiCkBAIC0yMyw5ICsxNiwxMyBAQAogICAgICAgICBQcm9kdWN0OiAgICAgb2UtY29yZQogICAgICAgICBBdXRob3I6ICAgICAgQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CiAgICAgICAgICIiIgotICAgICAgICBjaGVja3BrZ19yZXN1bHQgPSBvcGVuKG9zLnBhdGguam9pbihnZXRfYmJfdmFyKCJMT0dfRElSIiksICJjaGVja3BrZy5jc3YiKSkucmVhZGxpbmVzKClbMTpdCi0gICAgICAgIHJlZ3Jlc3NlZF9mYWlsdXJlcyA9IFtwa2dfZGF0YVswXSBmb3IgcGtnX2RhdGEgaW4gW3BrZ19saW5lLnNwbGl0KCdcdCcpIGZvciBwa2dfbGluZSBpbiBjaGVja3BrZ19yZXN1bHRdIGlmIHBrZ19kYXRhWzExXSA9PSAnVU5LTk9XTl9CUk9LRU4nXQotICAgICAgICByZWdyZXNzZWRfc3VjY2Vzc2VzID0gW3BrZ19kYXRhWzBdIGZvciBwa2dfZGF0YSBpbiBbcGtnX2xpbmUuc3BsaXQoJ1x0JykgZm9yIHBrZ19saW5lIGluIGNoZWNrcGtnX3Jlc3VsdF0gaWYgcGtnX2RhdGFbMTFdID09ICdLTk9XTl9CUk9LRU4nXQorICAgICAgICBmZWF0dXJlID0gJ0xJQ0VOU0VfRkxBR1NfV0hJVEVMSVNUICs9ICIgY29tbWVyY2lhbCJcbicKKyAgICAgICAgc2VsZi53cml0ZV9jb25maWcoZmVhdHVyZSkKKworICAgICAgICBwa2dzID0gb2UucmVjaXBldXRpbHMuZ2V0X3JlY2lwZV91cGdyYWRlX3N0YXR1cygpCisKKyAgICAgICAgcmVncmVzc2VkX2ZhaWx1cmVzID0gW3BrZ1swXSBmb3IgcGtnIGluIHBrZ3MgaWYgcGtnWzFdID09ICdVTktOT1dOX0JST0tFTiddCisgICAgICAgIHJlZ3Jlc3NlZF9zdWNjZXNzZXMgPSBbcGtnWzBdIGZvciBwa2cgaW4gcGtncyBpZiBwa2dbMV0gPT0gJ0tOT1dOX0JST0tFTiddCiAgICAgICAgIG1zZyA9ICIiCiAgICAgICAgIGlmIGxlbihyZWdyZXNzZWRfZmFpbHVyZXMpID4gMDoKICAgICAgICAgICAgIG1zZyA9IG1zZyArICIiIgpAQCAtNTUsNDUgKzUyLDM2IEBACiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKLSAgICAgICAgZGVmIGlzX2luX29lX2NvcmUocmVjaXBlLCByZWNpcGVzKToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZWNpcGUgaW4gcmVjaXBlcy5rZXlzKCksICJSZWNpcGUgJXMgd2FzIG5vdCBpbiAnYml0YmFrZS1sYXllcnMgc2hvdy1yZWNpcGVzJyBvdXRwdXQiICUocmVjaXBlKSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShsZW4ocmVjaXBlc1tyZWNpcGVdKSA+IDAsICInYml0YmFrZS1sYXllcnMgc2hvdy1yZWNpcGVzJyBjb3VsZCBub3QgZGV0ZXJtaW5lIHdoYXQgbGF5ZXIocykgYSByZWNpcGUgJXMgaXMgaW4iICUocmVjaXBlKSkKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICByZWNpcGVzW3JlY2lwZV0uaW5kZXgoJ21ldGEnKQotICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCi0gICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgZmVhdHVyZSA9ICdyZXF1aXJlIGNvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jXG4nCisgICAgICAgIHNlbGYud3JpdGVfY29uZmlnKGZlYXR1cmUpCiAKLSAgICAgICAgZGVmIGdldF9yZWNpcGVfbGF5ZXJzKCk6Ci0gICAgICAgICAgICBpbXBvcnQgcmUKKyAgICAgICAgd2l0aCBiYi50aW5mb2lsLlRpbmZvaWwoKSBhcyB0aW5mb2lsOgorICAgICAgICAgICAgdGluZm9pbC5wcmVwYXJlKGNvbmZpZ19vbmx5PUZhbHNlKQogCi0gICAgICAgICAgICByZWNpcGVzID0ge30KLSAgICAgICAgICAgIHJlY2lwZV9yZWdleCA9IHJlLmNvbXBpbGUoJ14oP1A8bmFtZT4uKik6JCcpCi0gICAgICAgICAgICBsYXllcl9yZWdleCA9IHJlLmNvbXBpbGUoJ14gICg/UDxuYW1lPlxTKikgKycpCi0gICAgICAgICAgICBvdXRwdXQgPSBydW5DbWQoJ2JpdGJha2UtbGF5ZXJzIHNob3ctcmVjaXBlcycpLm91dHB1dAotICAgICAgICAgICAgZm9yIGxpbmUgaW4gb3V0cHV0LnNwbGl0KCdcbicpOgotICAgICAgICAgICAgICAgIHJlY2lwZV9uYW1lX29iaiA9IHJlY2lwZV9yZWdleC5zZWFyY2gobGluZSkKLSAgICAgICAgICAgICAgICBpZiByZWNpcGVfbmFtZV9vYmo6Ci0gICAgICAgICAgICAgICAgICAgIHJlY2lwZV9uYW1lID0gcmVjaXBlX25hbWVfb2JqLmdyb3VwKCduYW1lJykKLSAgICAgICAgICAgICAgICAgICAgcmVjaXBlc1tyZWNpcGVfbmFtZV0gPSBbXQotICAgICAgICAgICAgICAgIHJlY2lwZV9sYXllcl9vYmogPSBsYXllcl9yZWdleC5zZWFyY2gobGluZSkKLSAgICAgICAgICAgICAgICBpZiByZWNpcGVfbGF5ZXJfb2JqOgotICAgICAgICAgICAgICAgICAgICBsYXllcl9uYW1lID0gcmVjaXBlX2xheWVyX29iai5ncm91cCgnbmFtZScpCi0gICAgICAgICAgICAgICAgICAgIHJlY2lwZXNbcmVjaXBlX25hbWVdLmFwcGVuZChsYXllcl9uYW1lKQotICAgICAgICAgICAgcmV0dXJuIHJlY2lwZXMKKyAgICAgICAgICAgIHdpdGhfbWFpbnRhaW5lcl9saXN0ID0gW10KKyAgICAgICAgICAgIG5vX21haW50YWluZXJfbGlzdCA9IFtdCisgICAgICAgICAgICAjIFdlIGNvdWxkIGhhdmUgdXNlZCBhbGxfcmVjaXBlcygpIGhlcmUsIGJ1dCB0aGlzIG1ldGhvZCB3aWxsIGZpbmQKKyAgICAgICAgICAgICMgZXZlcnkgcmVjaXBlIGlmIHdlIGV2ZXIgbW92ZSB0byBzZXR0aW5nIFJFQ0lQRV9NQUlOVEFJTkVSIGluIHJlY2lwZSBmaWxlcworICAgICAgICAgICAgIyBpbnN0ZWFkIG9mIG1haW50YWluZXJzLmluYworICAgICAgICAgICAgZm9yIGZuIGluIHRpbmZvaWwuYWxsX3JlY2lwZV9maWxlcyh2YXJpYW50cz1GYWxzZSk6CisgICAgICAgICAgICAgICAgaWYgbm90ICcvbWV0YS9yZWNpcGVzLScgaW4gZm46CisgICAgICAgICAgICAgICAgICAgICMgV2UgYXJlIG9ubHkgaW50ZXJlc3RlZCBpbiBPRS1Db3JlCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgcmQgPSB0aW5mb2lsLnBhcnNlX3JlY2lwZV9maWxlKGZuLCBhcHBlbmRzPUZhbHNlKQorICAgICAgICAgICAgICAgIHBuID0gcmQuZ2V0VmFyKCdQTicpCisgICAgICAgICAgICAgICAgaWYgaXNfZXhjZXB0aW9uKHBuKToKKyAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgICAgICBpZiByZC5nZXRWYXIoJ1JFQ0lQRV9NQUlOVEFJTkVSJyk6CisgICAgICAgICAgICAgICAgICAgIHdpdGhfbWFpbnRhaW5lcl9saXN0LmFwcGVuZCgocG4sIGZuKSkKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBub19tYWludGFpbmVyX2xpc3QuYXBwZW5kKChwbiwgZm4pKQogCi0gICAgICAgIGNoZWNrcGtnX3Jlc3VsdCA9IG9wZW4ob3MucGF0aC5qb2luKGdldF9iYl92YXIoIkxPR19ESVIiKSwgImNoZWNrcGtnLmNzdiIpKS5yZWFkbGluZXMoKVsxOl0KLSAgICAgICAgcmVjaXBlc19sYXllcnMgPSBnZXRfcmVjaXBlX2xheWVycygpCi0gICAgICAgIG5vX21haW50YWluZXJfbGlzdCA9IFtwa2dfZGF0YVswXSBmb3IgcGtnX2RhdGEgaW4gW3BrZ19saW5lLnNwbGl0KCdcdCcpIGZvciBwa2dfbGluZSBpbiBjaGVja3BrZ19yZXN1bHRdIFwKLSAgICAgICAgICAgIGlmIHBrZ19kYXRhWzE0XSA9PSAnJyBhbmQgaXNfaW5fb2VfY29yZShwa2dfZGF0YVswXSwgcmVjaXBlc19sYXllcnMpIGFuZCBub3QgaXNfZXhjZXB0aW9uKHBrZ19kYXRhWzBdKV0KLSAgICAgICAgbXNnID0gIiIiCi1UaGUgZm9sbG93aW5nIHBhY2thZ2VzIGRvIG5vdCBoYXZlIGEgbWFpbnRhaW5lciBhc3NpZ25lZCB0byB0aGVtLiBQbGVhc2UgYWRkIGFuIGVudHJ5IHRvIG1ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmMgZmlsZS4KLSIiIiArICJcbiIuam9pbihub19tYWludGFpbmVyX2xpc3QpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShsZW4obm9fbWFpbnRhaW5lcl9saXN0KSA9PSAwLCBtc2cpCisgICAgICAgIGlmIG5vX21haW50YWluZXJfbGlzdDoKKyAgICAgICAgICAgIHNlbGYuZmFpbCgiIiIKK1RoZSBmb2xsb3dpbmcgcmVjaXBlcyBkbyBub3QgaGF2ZSBhIG1haW50YWluZXIgYXNzaWduZWQgdG8gdGhlbS4gUGxlYXNlIGFkZCBhbiBlbnRyeSB0byBtZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jIGZpbGUuCisiIiIgKyAiXG4iLmpvaW4oWyclcyAoJXMpJyAlIGkgZm9yIGkgaW4gbm9fbWFpbnRhaW5lcl9saXN0XSkpCiAKLSAgICAgICAgd2l0aF9tYWludGFpbmVyX2xpc3QgPSBbcGtnX2RhdGFbMF0gZm9yIHBrZ19kYXRhIGluIFtwa2dfbGluZS5zcGxpdCgnXHQnKSBmb3IgcGtnX2xpbmUgaW4gY2hlY2twa2dfcmVzdWx0XSBcCi0gICAgICAgICAgICBpZiBwa2dfZGF0YVsxNF0gIT0gJycgYW5kIGlzX2luX29lX2NvcmUocGtnX2RhdGFbMF0sIHJlY2lwZXNfbGF5ZXJzKSBhbmQgbm90IGlzX2V4Y2VwdGlvbihwa2dfZGF0YVswXSldCi0gICAgICAgIG1zZyA9ICIiIgotVGhlIGxpc3Qgb2Ygb2UtY29yZSBwYWNrYWdlcyB3aXRoIG1haW50YWluZXJzIGlzIGVtcHR5LiBUaGlzIG1heSBpbmRpY2F0ZSB0aGF0IHRoZSB0ZXN0IGhhcyByZWdyZXNzZWQgYW5kIG5lZWRzIGZpeGluZy4KLSIiIgotICAgICAgICBzZWxmLmFzc2VydFRydWUobGVuKHdpdGhfbWFpbnRhaW5lcl9saXN0KSA+IDAsIG1zZykKKyAgICAgICAgaWYgbm90IHdpdGhfbWFpbnRhaW5lcl9saXN0OgorICAgICAgICAgICAgc2VsZi5mYWlsKCIiIgorVGhlIGxpc3Qgb2Ygb2UtY29yZSByZWNpcGVzIHdpdGggbWFpbnRhaW5lcnMgaXMgZW1wdHkuIFRoaXMgbWF5IGluZGljYXRlIHRoYXQgdGhlIHRlc3QgaGFzIHJlZ3Jlc3NlZCBhbmQgbmVlZHMgZml4aW5nLgorIiIiKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL2ltYWdlZmVhdHVyZXMucHkgYi9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvaW1hZ2VmZWF0dXJlcy5weQppbmRleCA4Yzk1NDMyLi5hZWQ2M2U1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvaW1hZ2VmZWF0dXJlcy5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvaW1hZ2VmZWF0dXJlcy5weQpAQCAtMjM2LDMgKzIzNiwyOSBAQAogIiIiCiAgICAgICAgIHNlbGYud3JpdGVfY29uZmlnKGNvbmZpZykKICAgICAgICAgYml0YmFrZSgiY29yZS1pbWFnZS1iYXNlIikKKworICAgIGRlZiB0ZXN0X25vX2J1c3lib3hfYmFzZV91dGlscyhzZWxmKToKKyAgICAgICAgY29uZmlnID0gIiIiCisjIEVuYWJsZSB4MTEKK0RJU1RST19GRUFUVVJFU19hcHBlbmQgKz0gIngxMSIKKworIyBTd2l0Y2ggdG8gc3lzdGVtZAorRElTVFJPX0ZFQVRVUkVTICs9ICJzeXN0ZW1kIgorVklSVFVBTC1SVU5USU1FX2luaXRfbWFuYWdlciA9ICJzeXN0ZW1kIgorVklSVFVBTC1SVU5USU1FX2luaXRzY3JpcHRzID0gIiIKK1ZJUlRVQUwtUlVOVElNRV9zeXNsb2cgPSAiIgorVklSVFVBTC1SVU5USU1FX2xvZ2luX21hbmFnZXIgPSAic2hhZG93LWJhc2UiCitESVNUUk9fRkVBVFVSRVNfQkFDS0ZJTExfQ09OU0lERVJFRCA9ICJzeXN2aW5pdCIKKworIyBSZXBsYWNlIGJ1c3lib3gKK1BSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2Jhc2UtdXRpbHMgPSAicGFja2FnZWdyb3VwLWNvcmUtYmFzZS11dGlscyIKK1ZJUlRVQUwtUlVOVElNRV9iYXNlLXV0aWxzID0gInBhY2thZ2Vncm91cC1jb3JlLWJhc2UtdXRpbHMiCitWSVJUVUFMLVJVTlRJTUVfYmFzZS11dGlscy1od2Nsb2NrID0gInV0aWwtbGludXgtaHdjbG9jayIKK1ZJUlRVQUwtUlVOVElNRV9iYXNlLXV0aWxzLXN5c2xvZyA9ICIiCisKKyMgQmxhY2tsaXN0IGJ1c3lib3gKK1BOQkxBQ0tMSVNUW2J1c3lib3hdID0gIkRvbid0IGJ1aWxkIHRoaXMiCisiIiIKKyAgICAgICAgc2VsZi53cml0ZV9jb25maWcoY29uZmlnKQorCisgICAgICAgIGJpdGJha2UoIi0tZ3JhcGh2aXogY29yZS1pbWFnZS1zYXRvIikKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9tdWx0aWNvbmZpZy5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9tdWx0aWNvbmZpZy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzM2ZjZlCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL211bHRpY29uZmlnLnB5CkBAIC0wLDAgKzEsNDMgQEAKK2ltcG9ydCBvcworZnJvbSBvZXFhLnNlbGZ0ZXN0LmNhc2UgaW1wb3J0IE9FU2VsZnRlc3RUZXN0Q2FzZQorZnJvbSBvZXFhLnV0aWxzLmNvbW1hbmRzIGltcG9ydCBiaXRiYWtlCitpbXBvcnQgb2VxYS51dGlscy5mdG9vbHMgYXMgZnRvb2xzCisKK2NsYXNzIE11bHRpQ29uZmlnKE9FU2VsZnRlc3RUZXN0Q2FzZSk6CisKKyAgICBkZWYgdGVzdF9tdWx0aWNvbmZpZyhzZWxmKToKKyAgICAgICAgIiIiCisgICAgICAgIFRlc3QgdGhhdCBhIHNpbXBsZSBtdWx0aWNvbmZpZyBidWlsZCB3b3Jrcy4gVGhpcyB1c2VzIHRoZSBtY2V4dGVuZCBjbGFzcyBhbmQgdGhlIAorICAgICAgICBtdWx0aWNvbmZpZy1pbWFnZS1wYWNrYWdlciB0ZXN0IHJlY2lwZSB0byBidWlsZCBhIGNvcmUtaW1hZ2UtZnVsbC1jbWRsaW5lIGltYWdlIHdoaWNoIAorICAgICAgICBjb250YWlucyBhIHRpbnkgY29yZS1pbWFnZS1taW5pbWFsIGFuZCBhIG11c2wgY29yZS1pbWFnZS1taW5pbWFsLCBpbnN0YWxsZWQgYXMgcGFja2FnZXMuCisgICAgICAgICIiIgorCisgICAgICAgIGNvbmZpZyA9ICIiIgorSU1BR0VfSU5TVEFMTF9hcHBlbmRfcG4tY29yZS1pbWFnZS1mdWxsLWNtZGxpbmUgPSAiIG11bHRpY29uZmlnLWltYWdlLXBhY2thZ2VyLXRpbnkgbXVsdGljb25maWctaW1hZ2UtcGFja2FnZXItbXVzbCIKK0JCTVVMVElDT05GSUcgPSAidGlueSBtdXNsIgorIiIiCisgICAgICAgIHNlbGYud3JpdGVfY29uZmlnKGNvbmZpZykKKworICAgICAgICBtdXNsY29uZmlnID0gIiIiCitNQUNISU5FID0gInFlbXV4ODYtNjQiCitESVNUUk8gPSAicG9reSIKK1RDTElCQyA9ICJtdXNsIgorVE1QRElSID0gIiR7VE9QRElSfS90bXAtbWMtbXVzbCIKKyIiIgorCisgICAgICAgIHRpbnljb25maWcgPSAiIiIKK01BQ0hJTkUgPSAicWVtdXg4NiIKK0RJU1RSTyA9ICJwb2t5LXRpbnkiCitUTVBESVIgPSAiJHtUT1BESVJ9L3RtcC1tYy10aW55IgorIiIiCisKKyAgICAgICAgbXVsdGljb25maWdkaXIgPSBzZWxmLmJ1aWxkZGlyICsgIi9jb25mL211bHRpY29uZmlnIgorICAgICAgICBvcy5tYWtlZGlycyhtdWx0aWNvbmZpZ2RpciwgZXhpc3Rfb2s9VHJ1ZSkKKyAgICAgICAgc2VsZi50cmFja19mb3JfY2xlYW51cChtdWx0aWNvbmZpZ2RpciArICIvbXVzbC5jb25mIikKKyAgICAgICAgZnRvb2xzLndyaXRlX2ZpbGUobXVsdGljb25maWdkaXIgKyAiL211c2wuY29uZiIsIG11c2xjb25maWcpCisgICAgICAgIHNlbGYudHJhY2tfZm9yX2NsZWFudXAobXVsdGljb25maWdkaXIgKyAiL3RpbnkuY29uZiIpCisgICAgICAgIGZ0b29scy53cml0ZV9maWxlKG11bHRpY29uZmlnZGlyICsgIi90aW55LmNvbmYiLCB0aW55Y29uZmlnKQorCisgICAgICAgICMgQnVpbGQgYSBjb3JlLWltYWdlLW1pbmltYWwKKyAgICAgICAgYml0YmFrZSgnY29yZS1pbWFnZS1mdWxsLWNtZGxpbmUnKQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvcGFja2FnZS5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9wYWNrYWdlLnB5CmluZGV4IDBhODhkYzIuLjY1OTZkYWIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9wYWNrYWdlLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9wYWNrYWdlLnB5CkBAIC0xMzcsNyArMTM3LDcgQEAKICAgICAgICAgICAgICAgICBlbGlmICJCcmVha3BvaW50IDEsIG1haW4gKCkgYXQgaGVsbG8uYzo0IiBpbiBsOgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogCi0gICAgICAgICAgICBzZWxmLmxvZ2dlci5lcnJvcigiR0RCIHJlc3VsdDpcbiVzOiAlcyIgJSBvdXRwdXQpCisgICAgICAgICAgICBzZWxmLmxvZ2dlci5lcnJvcigiR0RCIHJlc3VsdDpcbiVkOiAlcyIsIHN0YXR1cywgb3V0cHV0KQogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKICAgICAgICAgd2l0aCBydW5xZW11KCdjb3JlLWltYWdlLW1pbmltYWwnKSBhcyBxZW11OgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL3BrZ2RhdGEucHkgYi9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvcGtnZGF0YS5weQppbmRleCAwYjRjYWYxLi5hYTA1ZjQwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvcGtnZGF0YS5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvcGtnZGF0YS5weQpAQCAtMTMsNiArMTMsNyBAQAogICAgICAgICBzdXBlcihPZVBrZ2RhdGFVdGlsVGVzdHMsIGNscykuc2V0VXBDbGFzcygpCiAgICAgICAgICMgRW5zdXJlIHdlIGhhdmUgdGhlIHJpZ2h0IGRhdGEgaW4gcGtnZGF0YQogICAgICAgICBjbHMubG9nZ2VyLmluZm8oJ1J1bm5pbmcgYml0YmFrZSB0byBnZW5lcmF0ZSBwa2dkYXRhJykKKyAgICAgICAgYml0YmFrZSgndGFyZ2V0LXNkay1wcm92aWRlcy1kdW1teSAtYyBjbGVhbicpCiAgICAgICAgIGJpdGJha2UoJ2J1c3lib3ggemxpYiBtNCcpCiAKICAgICBAT0VUZXN0SUQoMTIwMykKQEAgLTgyLDcgKzgzLDcgQEAKICAgICAgICAgICAgIHBrZ2xpc3QucmVtb3ZlKCd6bGliLXB0ZXN0JykgIyBpbiBjYXNlIHB0ZXN0IGlzIGRpc2FibGVkCiAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgogICAgICAgICAgICAgcGFzcwotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBrZ2xpc3QsIFsnemxpYicsICd6bGliLWRiZycsICd6bGliLWRldicsICd6bGliLWRvYycsICd6bGliLXN0YXRpY2RldiddLCAiUGFja2FnZXMgbGlzdGVkIGFmdGVyIHJlbW92ZTogJXMiICUgcmVzdWx0Lm91dHB1dCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwa2dsaXN0LCBbJ3psaWInLCAnemxpYi1kYmcnLCAnemxpYi1kZXYnLCAnemxpYi1kb2MnLCAnemxpYi1zcmMnLCAnemxpYi1zdGF0aWNkZXYnXSwgIlBhY2thZ2VzIGxpc3RlZCBhZnRlciByZW1vdmU6ICVzIiAlIHJlc3VsdC5vdXRwdXQpCiAgICAgICAgICMgV2l0aCByZWNpcGUgc3BlY2lmaWVkLCBydW50aW1lCiAgICAgICAgIHJlc3VsdCA9IHJ1bkNtZCgnb2UtcGtnZGF0YS11dGlsIGxpc3QtcGtncyAtcCB6bGliIC1yJykKICAgICAgICAgcGtnbGlzdCA9IHNvcnRlZChyZXN1bHQub3V0cHV0LnNwbGl0KCkpCkBAIC05MCw3ICs5MSw3IEBACiAgICAgICAgICAgICBwa2dsaXN0LnJlbW92ZSgnbGliei1wdGVzdCcpICMgaW4gY2FzZSBwdGVzdCBpcyBkaXNhYmxlZAogICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKICAgICAgICAgICAgIHBhc3MKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwa2dsaXN0LCBbJ2xpYnotZGJnJywgJ2xpYnotZGV2JywgJ2xpYnotZG9jJywgJ2xpYnotc3RhdGljZGV2JywgJ2xpYnoxJ10sICJQYWNrYWdlcyBsaXN0ZWQgYWZ0ZXIgcmVtb3ZlOiAlcyIgJSByZXN1bHQub3V0cHV0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBrZ2xpc3QsIFsnbGliei1kYmcnLCAnbGliei1kZXYnLCAnbGliei1kb2MnLCAnbGliei1zcmMnLCAnbGliei1zdGF0aWNkZXYnLCAnbGliejEnXSwgIlBhY2thZ2VzIGxpc3RlZCBhZnRlciByZW1vdmU6ICVzIiAlIHJlc3VsdC5vdXRwdXQpCiAgICAgICAgICMgV2l0aCByZWNpcGUgc3BlY2lmaWVkIGFuZCB1bnBhY2thZ2VkCiAgICAgICAgIHJlc3VsdCA9IHJ1bkNtZCgnb2UtcGtnZGF0YS11dGlsIGxpc3QtcGtncyAtcCB6bGliIC11JykKICAgICAgICAgcGtnbGlzdCA9IHNvcnRlZChyZXN1bHQub3V0cHV0LnNwbGl0KCkpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvcHJzZXJ2aWNlLnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL3Byc2VydmljZS5weQppbmRleCA0NzllNTIwLi43OTZhZDRmIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvcHJzZXJ2aWNlLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9wcnNlcnZpY2UucHkKQEAgLTE5LDcgKzE5LDcgQEAKICAgICBkZWYgZ2V0X3ByX3ZlcnNpb24oc2VsZiwgcGFja2FnZV9uYW1lKToKICAgICAgICAgcGFja2FnZV9kYXRhX2ZpbGUgPSBvcy5wYXRoLmpvaW4oc2VsZi5wa2dkYXRhX2RpciwgJ3J1bnRpbWUnLCBwYWNrYWdlX25hbWUpCiAgICAgICAgIHBhY2thZ2VfZGF0YSA9IGZ0b29scy5yZWFkX2ZpbGUocGFja2FnZV9kYXRhX2ZpbGUpCi0gICAgICAgIGZpbmRfcHIgPSByZS5zZWFyY2goIlBLR1I6IHJbMC05XStcLihbMC05XSspIiwgcGFja2FnZV9kYXRhKQorICAgICAgICBmaW5kX3ByID0gcmUuc2VhcmNoKHIiUEtHUjogclswLTldK1wuKFswLTldKykiLCBwYWNrYWdlX2RhdGEpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShmaW5kX3ByLCAiTm8gUEtHIHJldmlzaW9uIGZvdW5kIGluICVzIiAlIHBhY2thZ2VfZGF0YV9maWxlKQogICAgICAgICByZXR1cm4gaW50KGZpbmRfcHIuZ3JvdXAoMSkpCiAKQEAgLTI5LDcgKzI5LDcgQEAKICAgICAgICAgcGFja2FnZV9zdGFtcHNfcGF0aCA9ICIvIi5qb2luKHN0YW1wZGF0YVs6LTFdKQogICAgICAgICBzdGFtcHMgPSBbXQogICAgICAgICBmb3Igc3RhbXAgaW4gb3MubGlzdGRpcihwYWNrYWdlX3N0YW1wc19wYXRoKToKLSAgICAgICAgICAgIGZpbmRfc3RhbXAgPSByZS5tYXRjaCgiJXNcLiVzXC4oW2EtejAtOV17MzJ9KSIgJSAocmUuZXNjYXBlKHByZWZpeCksIHJlY2lwZV90YXNrKSwgc3RhbXApCisgICAgICAgICAgICBmaW5kX3N0YW1wID0gcmUubWF0Y2gociIlc1wuJXNcLihbYS16MC05XXszMn0pIiAlIChyZS5lc2NhcGUocHJlZml4KSwgcmVjaXBlX3Rhc2spLCBzdGFtcCkKICAgICAgICAgICAgIGlmIGZpbmRfc3RhbXA6CiAgICAgICAgICAgICAgICAgc3RhbXBzLmFwcGVuZChmaW5kX3N0YW1wLmdyb3VwKDEpKQogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGxlbihzdGFtcHMpID09IDAsIG1zZz0iQ291bmQgbm90IGZpbmQgc3RhbXAgZm9yIHRhc2sgJXMgZm9yIHJlY2lwZSAlcyIgJSAocmVjaXBlX3Rhc2ssIHBhY2thZ2VfbmFtZSkpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvcmVjaXBldXRpbHMucHkgYi9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvcmVjaXBldXRpbHMucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGQyZjU1OAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9yZWNpcGV1dGlscy5weQpAQCAtMCwwICsxLDEzNyBAQAoraW1wb3J0IG9zCitpbXBvcnQgcmUKK2ltcG9ydCB0aW1lCitpbXBvcnQgbG9nZ2luZworaW1wb3J0IGJiLnRpbmZvaWwKKworZnJvbSBvZXFhLnNlbGZ0ZXN0LmNhc2UgaW1wb3J0IE9FU2VsZnRlc3RUZXN0Q2FzZQorZnJvbSBvZXFhLnV0aWxzLmNvbW1hbmRzIGltcG9ydCBydW5DbWQsIGdldF90ZXN0X2xheWVyCitmcm9tIG9lcWEuY29yZS5kZWNvcmF0b3Iub2VpZCBpbXBvcnQgT0VUZXN0SUQKKworCitkZWYgc2V0VXBNb2R1bGUoKToKKyAgICBnbG9iYWwgdGluZm9pbAorICAgIGdsb2JhbCBtZXRhc2VsZnRlc3RwYXRoCisgICAgbWV0YXNlbGZ0ZXN0cGF0aCA9IGdldF90ZXN0X2xheWVyKCkKKyAgICB0aW5mb2lsID0gYmIudGluZm9pbC5UaW5mb2lsKHRyYWNraW5nPVRydWUpCisgICAgdGluZm9pbC5wcmVwYXJlKGNvbmZpZ19vbmx5PUZhbHNlLCBxdWlldD0yKQorCisKK2RlZiB0ZWFyRG93bk1vZHVsZSgpOgorICAgIHRpbmZvaWwuc2h1dGRvd24oKQorCisKK2NsYXNzIFJlY2lwZVV0aWxzVGVzdHMoT0VTZWxmdGVzdFRlc3RDYXNlKToKKyAgICAiIiIgVGVzdHMgZm9yIHRoZSByZWNpcGV1dGlscyBtb2R1bGUgZnVuY3Rpb25zICIiIgorCisgICAgZGVmIHRlc3RfcGF0Y2hfcmVjaXBlX3ZhcmZsYWcoc2VsZik6CisgICAgICAgIGltcG9ydCBvZS5yZWNpcGV1dGlscworICAgICAgICByZCA9IHRpbmZvaWwucGFyc2VfcmVjaXBlKCdweXRob24zLWFzeW5jLXRlc3QnKQorICAgICAgICB2YWxzID0geydTUkNfVVJJW21kNXN1bV0nOiAnYWFhYWFhJywgJ0xJQ0VOU0UnOiAnc29tZXRoaW5nJ30KKyAgICAgICAgcGF0Y2hlcyA9IG9lLnJlY2lwZXV0aWxzLnBhdGNoX3JlY2lwZShyZCwgcmQuZ2V0VmFyKCdGSUxFJyksIHZhbHMsIHBhdGNoPVRydWUsIHJlbHBhdGg9bWV0YXNlbGZ0ZXN0cGF0aCkKKworICAgICAgICBleHBlY3RlZF9wYXRjaCA9ICIiIgorLS0tIGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWFzeW5jLXRlc3QuaW5jCisrKysgYi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tYXN5bmMtdGVzdC5pbmMKK0BAIC0xLDE0ICsxLDE0IEBACisgU1VNTUFSWSA9ICJQeXRob24gZnJhbWV3b3JrIHRvIHByb2Nlc3MgaW50ZXJkZXBlbmRlbnQgdGFza3MgaW4gYSBwb29sIG9mIHdvcmtlcnMiCisgSE9NRVBBR0UgPSAiaHR0cDovL2dpdGh1Yi5jb20vZ2l0cHl0aG9uLWRldmVsb3BlcnMvYXN5bmMiCisgU0VDVElPTiA9ICJkZXZlbC9weXRob24iCistTElDRU5TRSA9ICJCU0QiCisrTElDRU5TRSA9ICJzb21ldGhpbmciCisgTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUEtHLUlORk87YmVnaW5saW5lPTg7ZW5kbGluZT04O21kNT04OGRmOGU3OGI5ZWRmZDc0NDk1Mzg2MjE3OWYyZDE0ZSIKKyAKKyBpbmhlcml0IHB5cGkKKyAKKyBQWVBJX1BBQ0tBR0UgPSAiYXN5bmMiCisgCistU1JDX1VSSVttZDVzdW1dID0gIjliMDZiNTk5N2RlMjE1NGYzYmMwMjczZjgwYmNlZjZiIgorK1NSQ19VUklbbWQ1c3VtXSA9ICJhYWFhYWEiCisgU1JDX1VSSVtzaGEyNTZzdW1dID0gImFjNjg5NGQ4NzZlNDU4NzhmYWFlNDkzYjBjZjYxZDBlMjhlYzQxNzMzNDQ0OGFjMGE2ZWEyMjI5ZDgzNDMwNTEiCisgCisgUkRFUEVORFNfJHtQTn0gKz0gIiR7UFlUSE9OX1BOfS10aHJlYWRpbmciCisiIiIKKyAgICAgICAgcGF0Y2hsaW5lcyA9IFtdCisgICAgICAgIGZvciBmIGluIHBhdGNoZXM6CisgICAgICAgICAgICBmb3IgbGluZSBpbiBmOgorICAgICAgICAgICAgICAgIHBhdGNobGluZXMuYXBwZW5kKGxpbmUpCisgICAgICAgIHNlbGYubWF4RGlmZiA9IE5vbmUKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnJy5qb2luKHBhdGNobGluZXMpLnN0cmlwKCksIGV4cGVjdGVkX3BhdGNoLnN0cmlwKCkpCisKKworICAgIGRlZiB0ZXN0X3BhdGNoX3JlY2lwZV9zaW5nbGVhcHBlbmQoc2VsZik6CisgICAgICAgIGltcG9ydCBvZS5yZWNpcGV1dGlscworICAgICAgICByZCA9IHRpbmZvaWwucGFyc2VfcmVjaXBlKCdyZWNpcGV1dGlscy10ZXN0JykKKyAgICAgICAgdmFsID0gcmQuZ2V0VmFyKCdTUkNfVVJJJywgRmFsc2UpLnNwbGl0KCkKKyAgICAgICAgZGVsIHZhbFsxXQorICAgICAgICB2YWwgPSAnICcuam9pbih2YWwpCisgICAgICAgIHZhbHMgPSB7J1NSQ19VUkknOiB2YWx9CisgICAgICAgIHBhdGNoZXMgPSBvZS5yZWNpcGV1dGlscy5wYXRjaF9yZWNpcGUocmQsIHJkLmdldFZhcignRklMRScpLCB2YWxzLCBwYXRjaD1UcnVlLCByZWxwYXRoPW1ldGFzZWxmdGVzdHBhdGgpCisKKyAgICAgICAgZXhwZWN0ZWRfcGF0Y2ggPSAiIiIKKy0tLSBhL3JlY2lwZXMtdGVzdC9yZWNpcGV1dGlscy9yZWNpcGV1dGlscy10ZXN0XzEuMi5iYgorKysrIGIvcmVjaXBlcy10ZXN0L3JlY2lwZXV0aWxzL3JlY2lwZXV0aWxzLXRlc3RfMS4yLmJiCitAQCAtOCw2ICs4LDQgQEAKKyAKKyBCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisgCistU1JDX1VSSSArPSAiZmlsZTovL3NvbWVmaWxlIgorLQorIFNSQ19VUklfYXBwZW5kID0gIiBmaWxlOi8vYW5vdGhlcmZpbGUiCisiIiIKKyAgICAgICAgcGF0Y2hsaW5lcyA9IFtdCisgICAgICAgIGZvciBmIGluIHBhdGNoZXM6CisgICAgICAgICAgICBmb3IgbGluZSBpbiBmOgorICAgICAgICAgICAgICAgIHBhdGNobGluZXMuYXBwZW5kKGxpbmUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJycuam9pbihwYXRjaGxpbmVzKS5zdHJpcCgpLCBleHBlY3RlZF9wYXRjaC5zdHJpcCgpKQorCisKKyAgICBkZWYgdGVzdF9wYXRjaF9yZWNpcGVfYXBwZW5kcyhzZWxmKToKKyAgICAgICAgaW1wb3J0IG9lLnJlY2lwZXV0aWxzCisgICAgICAgIHJkID0gdGluZm9pbC5wYXJzZV9yZWNpcGUoJ3JlY2lwZXV0aWxzLXRlc3QnKQorICAgICAgICB2YWwgPSByZC5nZXRWYXIoJ1NSQ19VUkknLCBGYWxzZSkuc3BsaXQoKQorICAgICAgICB2YWxzID0geydTUkNfVVJJJzogdmFsWzBdfQorICAgICAgICBwYXRjaGVzID0gb2UucmVjaXBldXRpbHMucGF0Y2hfcmVjaXBlKHJkLCByZC5nZXRWYXIoJ0ZJTEUnKSwgdmFscywgcGF0Y2g9VHJ1ZSwgcmVscGF0aD1tZXRhc2VsZnRlc3RwYXRoKQorCisgICAgICAgIGV4cGVjdGVkX3BhdGNoID0gIiIiCistLS0gYS9yZWNpcGVzLXRlc3QvcmVjaXBldXRpbHMvcmVjaXBldXRpbHMtdGVzdF8xLjIuYmIKKysrKyBiL3JlY2lwZXMtdGVzdC9yZWNpcGV1dGlscy9yZWNpcGV1dGlscy10ZXN0XzEuMi5iYgorQEAgLTgsNiArOCwzIEBACisgCisgQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorIAorLVNSQ19VUkkgKz0gImZpbGU6Ly9zb21lZmlsZSIKKy0KKy1TUkNfVVJJX2FwcGVuZCA9ICIgZmlsZTovL2Fub3RoZXJmaWxlIgorIiIiCisgICAgICAgIHBhdGNobGluZXMgPSBbXQorICAgICAgICBmb3IgZiBpbiBwYXRjaGVzOgorICAgICAgICAgICAgZm9yIGxpbmUgaW4gZjoKKyAgICAgICAgICAgICAgICBwYXRjaGxpbmVzLmFwcGVuZChsaW5lKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCcnLmpvaW4ocGF0Y2hsaW5lcykuc3RyaXAoKSwgZXhwZWN0ZWRfcGF0Y2guc3RyaXAoKSkKKworCisgICAgZGVmIHRlc3RfdmFsaWRhdGVfcG4oc2VsZik6CisgICAgICAgIGltcG9ydCBvZS5yZWNpcGV1dGlscworICAgICAgICBleHBlY3RlZF9yZXN1bHRzID0geworICAgICAgICAgICAgJ3Rlc3QnOiAnJywKKyAgICAgICAgICAgICdnbGliLTIuMCc6ICcnLAorICAgICAgICAgICAgJ2d0aysnOiAnJywKKyAgICAgICAgICAgICdmb3JjZXZhcmlhYmxlJzogJ3Jlc2VydmVkJywKKyAgICAgICAgICAgICdwbi1zb21ldGhpbmcnOiAncmVzZXJ2ZWQnLAorICAgICAgICAgICAgJ3Rlc3QuYmInOiAnZmlsZScsCisgICAgICAgICAgICAndGVzdF9vbmUnOiAnY2hhcmFjdGVyJywKKyAgICAgICAgICAgICd0ZXN0ISc6ICdjaGFyYWN0ZXInLAorICAgICAgICB9CisKKyAgICAgICAgZm9yIHBuLCBleHBlY3RlZCBpbiBleHBlY3RlZF9yZXN1bHRzLml0ZW1zKCk6CisgICAgICAgICAgICByZXN1bHQgPSBvZS5yZWNpcGV1dGlscy52YWxpZGF0ZV9wbihwbikKKyAgICAgICAgICAgIGlmIGV4cGVjdGVkOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oZXhwZWN0ZWQsIHJlc3VsdCkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQsICcnKQorCisgICAgZGVmIHRlc3Rfc3BsaXRfdmFyX3ZhbHVlKHNlbGYpOgorICAgICAgICBpbXBvcnQgb2UucmVjaXBldXRpbHMKKyAgICAgICAgcmVzID0gb2UucmVjaXBldXRpbHMuc3BsaXRfdmFyX3ZhbHVlKCd0ZXN0LjEgdGVzdC4yICR7QGNhbGxfZnVuY3Rpb24oImhpIHRoZXJlIHdvcmxkIiwgZmFsc2UpfSB0ZXN0LjQnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcywgWyd0ZXN0LjEnLCAndGVzdC4yJywgJyR7QGNhbGxfZnVuY3Rpb24oImhpIHRoZXJlIHdvcmxkIiwgZmFsc2UpfScsICd0ZXN0LjQnXSkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9ydW5jbWQucHkgYi9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvcnVuY21kLnB5CmluZGV4IGQ3NmQ3MDYuLmExNjE1Y2YgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9ydW5jbWQucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL3J1bmNtZC5weQpAQCAtMjQsOCArMjQsOCBAQAogCiAgICAgIyBUaGUgZGVsdGEgaXMgaW50ZW50aW9uYWxseSBzbWFsbGVyIHRoYW4gdGhlIHRpbWVvdXQsIHRvIGRldGVjdCBjYXNlcyB3aGVyZQogICAgICMgd2UgaW5jb3JyZWN0bHkgYXBwbHkgdGhlIHRpbWVvdXQgbW9yZSB0aGFuIG9uY2UuCi0gICAgVElNRU9VVCA9IDIKLSAgICBERUxUQSA9IDEKKyAgICBUSU1FT1VUID0gNQorICAgIERFTFRBID0gMwogCiAgICAgQE9FVGVzdElEKDE5MTYpCiAgICAgZGVmIHRlc3RfcmVzdWx0X29rYXkoc2VsZik6CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvcnVudGltZV90ZXN0LnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL3J1bnRpbWVfdGVzdC5weQppbmRleCA5MDZlNDYwLi42YzI1YmI5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvcnVudGltZV90ZXN0LnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9ydW50aW1lX3Rlc3QucHkKQEAgLTYsNiArNiw3IEBACiBpbXBvcnQgcmUKIGltcG9ydCB0ZW1wZmlsZQogaW1wb3J0IHNodXRpbAoraW1wb3J0IG9lLmxzYgogCiBjbGFzcyBUZXN0RXhwb3J0KE9FU2VsZnRlc3RUZXN0Q2FzZSk6CiAKQEAgLTE2OCw2ICsxNjksNzEgQEAKICAgICAgICAgIyByZW1vdmUgdGhlIG9lcWEtZmVlZC1zaWduIHRlbXBvcmFsIGRpcmVjdG9yeQogICAgICAgICBzaHV0aWwucm10cmVlKHNlbGYuZ3BnX2hvbWUsIGlnbm9yZV9lcnJvcnM9VHJ1ZSkKIAorICAgIEBPRVRlc3RJRCgxODgzKQorICAgIGRlZiB0ZXN0X3Rlc3RpbWFnZV92aXJnbF9ndGsoc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBTdW1tYXJ5OiBDaGVjayBob3N0LWFzc2lzdGVkIGFjY2VsZXJhdGUgT3BlbkdMIGZ1bmN0aW9uYWxpdHkgaW4gcWVtdSB3aXRoIGd0ayBmcm9udGVuZAorICAgICAgICBFeHBlY3RlZDogMS4gQ2hlY2sgdGhhdCB2aXJnbCBrZXJuZWwgZHJpdmVyIGlzIGxvYWRlZCBhbmQgM2QgYWNjZWxlcmF0aW9uIGlzIGVuYWJsZWQKKyAgICAgICAgICAgICAgICAgIDIuIENoZWNrIHRoYXQga21zY3ViZSBkZW1vIHJ1bnMgd2l0aG91dCBjcmFzaGluZy4KKyAgICAgICAgUHJvZHVjdDogb2UtY29yZQorICAgICAgICBBdXRob3I6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorICAgICAgICAiIiIKKyAgICAgICAgaWYgIkRJU1BMQVkiIG5vdCBpbiBvcy5lbnZpcm9uOgorICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgidmlyZ2wgZ3RrIHRlc3QgbXVzdCBiZSBydW4gaW5zaWRlIGEgWCBzZXNzaW9uIikKKyAgICAgICAgZGlzdHJvID0gb2UubHNiLmRpc3Ryb19pZGVudGlmaWVyKCkKKyAgICAgICAgaWYgZGlzdHJvIGFuZCBkaXN0cm8gPT0gJ2RlYmlhbi04JzoKKyAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoJ3ZpcmdsIGlzblwndCB3b3JraW5nIHdpdGggRGViaWFuIDgnKQorCisgICAgICAgIHFlbXVfcGFja2FnZWNvbmZpZyA9IGdldF9iYl92YXIoJ1BBQ0tBR0VDT05GSUcnLCAncWVtdS1zeXN0ZW0tbmF0aXZlJykKKyAgICAgICAgZmVhdHVyZXMgPSAnSU5IRVJJVCArPSAidGVzdGltYWdlIlxuJworICAgICAgICBpZiAnZ3RrKycgbm90IGluIHFlbXVfcGFja2FnZWNvbmZpZzoKKyAgICAgICAgICAgIGZlYXR1cmVzICs9ICdQQUNLQUdFQ09ORklHX2FwcGVuZF9wbi1xZW11LXN5c3RlbS1uYXRpdmUgPSAiIGd0aysiXG4nCisgICAgICAgIGlmICd2aXJnbHJlbmRlcmVyJyBub3QgaW4gcWVtdV9wYWNrYWdlY29uZmlnOgorICAgICAgICAgICAgZmVhdHVyZXMgKz0gJ1BBQ0tBR0VDT05GSUdfYXBwZW5kX3BuLXFlbXUtc3lzdGVtLW5hdGl2ZSA9ICIgdmlyZ2xyZW5kZXJlciJcbicKKyAgICAgICAgaWYgJ2dseCcgbm90IGluIHFlbXVfcGFja2FnZWNvbmZpZzoKKyAgICAgICAgICAgIGZlYXR1cmVzICs9ICdQQUNLQUdFQ09ORklHX2FwcGVuZF9wbi1xZW11LXN5c3RlbS1uYXRpdmUgPSAiIGdseCJcbicKKyAgICAgICAgZmVhdHVyZXMgKz0gJ1RFU1RfU1VJVEVTID0gInBpbmcgc3NoIHZpcmdsIlxuJworICAgICAgICBmZWF0dXJlcyArPSAnSU1BR0VfRkVBVFVSRVNfYXBwZW5kID0gIiBzc2gtc2VydmVyLWRyb3BiZWFyIlxuJworICAgICAgICBmZWF0dXJlcyArPSAnSU1BR0VfSU5TVEFMTF9hcHBlbmQgPSAiIGttc2N1YmUiXG4nCisgICAgICAgIGZlYXR1cmVzICs9ICdURVNUX1JVTlFFTVVQQVJBTVMgPSAiZ3RrLWdsIlxuJworICAgICAgICBzZWxmLndyaXRlX2NvbmZpZyhmZWF0dXJlcykKKyAgICAgICAgYml0YmFrZSgnY29yZS1pbWFnZS1taW5pbWFsJykKKyAgICAgICAgYml0YmFrZSgnLWMgdGVzdGltYWdlIGNvcmUtaW1hZ2UtbWluaW1hbCcpCisKKyAgICBAT0VUZXN0SUQoMTg4MykKKyAgICBkZWYgdGVzdF90ZXN0aW1hZ2VfdmlyZ2xfaGVhZGxlc3Moc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBTdW1tYXJ5OiBDaGVjayBob3N0LWFzc2lzdGVkIGFjY2VsZXJhdGUgT3BlbkdMIGZ1bmN0aW9uYWxpdHkgaW4gcWVtdSB3aXRoIGVnbC1oZWFkbGVzcyBmcm9udGVuZAorICAgICAgICBFeHBlY3RlZDogMS4gQ2hlY2sgdGhhdCB2aXJnbCBrZXJuZWwgZHJpdmVyIGlzIGxvYWRlZCBhbmQgM2QgYWNjZWxlcmF0aW9uIGlzIGVuYWJsZWQKKyAgICAgICAgICAgICAgICAgIDIuIENoZWNrIHRoYXQga21zY3ViZSBkZW1vIHJ1bnMgd2l0aG91dCBjcmFzaGluZy4KKyAgICAgICAgUHJvZHVjdDogb2UtY29yZQorICAgICAgICBBdXRob3I6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorICAgICAgICAiIiIKKyAgICAgICAgaW1wb3J0IHN1YnByb2Nlc3MsIG9zCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGNvbnRlbnQgPSBvcy5saXN0ZGlyKCIvZGV2L2RyaSIpCisgICAgICAgICAgICBpZiBsZW4oW2kgZm9yIGkgaW4gY29udGVudCBpZiBpLnN0YXJ0c3dpdGgoJ3JlbmRlcicpXSkgPT0gMDoKKyAgICAgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCJObyByZW5kZXIgbm9kZXMgZm91bmQgaW4gL2Rldi9kcmk6ICVzIiAlKGNvbnRlbnQpKQorICAgICAgICBleGNlcHQgRmlsZU5vdEZvdW5kRXJyb3I6CisgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCIvZGV2L2RyaSBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3Q7IG5vIHJlbmRlciBub2RlcyBhdmFpbGFibGUgb24gdGhpcyBtYWNoaW5lLiIpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGRyaXBhdGggPSBzdWJwcm9jZXNzLmNoZWNrX291dHB1dCgicGtnLWNvbmZpZyAtLXZhcmlhYmxlPWRyaWRyaXZlcmRpciBkcmkiLCBzaGVsbD1UcnVlKQorICAgICAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3IgYXMgZToKKyAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoIkNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIHBhdGggdG8gZHJpIGRyaXZlcnMgb24gdGhlIGhvc3QgdmlhIHBrZy1jb25maWcuXG5QbGVhc2UgaW5zdGFsbCBNZXNhIGRldmVsb3BtZW50IGZpbGVzIChwYXJ0aWN1bGFybHksIGRyaS5wYykgb24gdGhlIGhvc3QgbWFjaGluZS4iKQorICAgICAgICBxZW11X3BhY2thZ2Vjb25maWcgPSBnZXRfYmJfdmFyKCdQQUNLQUdFQ09ORklHJywgJ3FlbXUtc3lzdGVtLW5hdGl2ZScpCisgICAgICAgIGZlYXR1cmVzID0gJ0lOSEVSSVQgKz0gInRlc3RpbWFnZSJcbicKKyAgICAgICAgaWYgJ3ZpcmdscmVuZGVyZXInIG5vdCBpbiBxZW11X3BhY2thZ2Vjb25maWc6CisgICAgICAgICAgICBmZWF0dXJlcyArPSAnUEFDS0FHRUNPTkZJR19hcHBlbmRfcG4tcWVtdS1zeXN0ZW0tbmF0aXZlID0gIiB2aXJnbHJlbmRlcmVyIlxuJworICAgICAgICBpZiAnZ2x4JyBub3QgaW4gcWVtdV9wYWNrYWdlY29uZmlnOgorICAgICAgICAgICAgZmVhdHVyZXMgKz0gJ1BBQ0tBR0VDT05GSUdfYXBwZW5kX3BuLXFlbXUtc3lzdGVtLW5hdGl2ZSA9ICIgZ2x4IlxuJworICAgICAgICBmZWF0dXJlcyArPSAnVEVTVF9TVUlURVMgPSAicGluZyBzc2ggdmlyZ2wiXG4nCisgICAgICAgIGZlYXR1cmVzICs9ICdJTUFHRV9GRUFUVVJFU19hcHBlbmQgPSAiIHNzaC1zZXJ2ZXItZHJvcGJlYXIiXG4nCisgICAgICAgIGZlYXR1cmVzICs9ICdJTUFHRV9JTlNUQUxMX2FwcGVuZCA9ICIga21zY3ViZSJcbicKKyAgICAgICAgZmVhdHVyZXMgKz0gJ1RFU1RfUlVOUUVNVVBBUkFNUyA9ICJlZ2wtaGVhZGxlc3MiXG4nCisgICAgICAgIHNlbGYud3JpdGVfY29uZmlnKGZlYXR1cmVzKQorICAgICAgICBiaXRiYWtlKCdjb3JlLWltYWdlLW1pbmltYWwnKQorICAgICAgICBiaXRiYWtlKCctYyB0ZXN0aW1hZ2UgY29yZS1pbWFnZS1taW5pbWFsJykKKwogY2xhc3MgUG9zdGluc3QoT0VTZWxmdGVzdFRlc3RDYXNlKToKICAgICBAT0VUZXN0SUQoMTU0MCkKICAgICBAT0VUZXN0SUQoMTU0NSkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9zc3RhdGV0ZXN0cy5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9zc3RhdGV0ZXN0cy5weQppbmRleCAwNzdkNmU1Li45MzhlNjU0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvc3N0YXRldGVzdHMucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL3NzdGF0ZXRlc3RzLnB5CkBAIC05NiwxNCArOTYsMTQgQEAKICAgICAgICAgYml0YmFrZShbJy1jY2xlYW5zc3RhdGUnXSArIHRhcmdldHMpCiAKICAgICAgICAgYml0YmFrZSh0YXJnZXRzKQotICAgICAgICB0Z3pfY3JlYXRlZCA9IHNlbGYuc2VhcmNoX3NzdGF0ZSgnfCcuam9pbihtYXAoc3RyLCBbcyArICcuKj9cLnRneiQnIGZvciBzIGluIHRhcmdldHNdKSksIGRpc3Ryb19zcGVjaWZpYywgZGlzdHJvX25vbnNwZWNpZmljKQorICAgICAgICB0Z3pfY3JlYXRlZCA9IHNlbGYuc2VhcmNoX3NzdGF0ZSgnfCcuam9pbihtYXAoc3RyLCBbcyArIHInLio/XC50Z3okJyBmb3IgcyBpbiB0YXJnZXRzXSkpLCBkaXN0cm9fc3BlY2lmaWMsIGRpc3Ryb19ub25zcGVjaWZpYykKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHRnel9jcmVhdGVkLCBtc2c9IkNvdWxkIG5vdCBmaW5kIHNzdGF0ZSAudGd6IGZpbGVzIGZvcjogJXMgKCVzKSIgJSAoJywgJy5qb2luKG1hcChzdHIsIHRhcmdldHMpKSwgc3RyKHRnel9jcmVhdGVkKSkpCiAKLSAgICAgICAgc2lnaW5mb19jcmVhdGVkID0gc2VsZi5zZWFyY2hfc3N0YXRlKCd8Jy5qb2luKG1hcChzdHIsIFtzICsgJy4qP1wuc2lnaW5mbyQnIGZvciBzIGluIHRhcmdldHNdKSksIGRpc3Ryb19zcGVjaWZpYywgZGlzdHJvX25vbnNwZWNpZmljKQorICAgICAgICBzaWdpbmZvX2NyZWF0ZWQgPSBzZWxmLnNlYXJjaF9zc3RhdGUoJ3wnLmpvaW4obWFwKHN0ciwgW3MgKyByJy4qP1wuc2lnaW5mbyQnIGZvciBzIGluIHRhcmdldHNdKSksIGRpc3Ryb19zcGVjaWZpYywgZGlzdHJvX25vbnNwZWNpZmljKQogICAgICAgICBzZWxmLmFzc2VydFRydWUoc2lnaW5mb19jcmVhdGVkLCBtc2c9IkNvdWxkIG5vdCBmaW5kIHNzdGF0ZSAuc2lnaW5mbyBmaWxlcyBmb3I6ICVzICglcykiICUgKCcsICcuam9pbihtYXAoc3RyLCB0YXJnZXRzKSksIHN0cihzaWdpbmZvX2NyZWF0ZWQpKSkKIAogICAgICAgICBiaXRiYWtlKFsnLWNjbGVhbnNzdGF0ZSddICsgdGFyZ2V0cykKLSAgICAgICAgdGd6X3JlbW92ZWQgPSBzZWxmLnNlYXJjaF9zc3RhdGUoJ3wnLmpvaW4obWFwKHN0ciwgW3MgKyAnLio/XC50Z3okJyBmb3IgcyBpbiB0YXJnZXRzXSkpLCBkaXN0cm9fc3BlY2lmaWMsIGRpc3Ryb19ub25zcGVjaWZpYykKKyAgICAgICAgdGd6X3JlbW92ZWQgPSBzZWxmLnNlYXJjaF9zc3RhdGUoJ3wnLmpvaW4obWFwKHN0ciwgW3MgKyByJy4qP1wudGd6JCcgZm9yIHMgaW4gdGFyZ2V0c10pKSwgZGlzdHJvX3NwZWNpZmljLCBkaXN0cm9fbm9uc3BlY2lmaWMpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShub3QgdGd6X3JlbW92ZWQsIG1zZz0iZG9fY2xlYW5zc3RhdGUgZGlkbid0IHJlbW92ZSAudGd6IHNzdGF0ZSBmaWxlcyBmb3I6ICVzICglcykiICUgKCcsICcuam9pbihtYXAoc3RyLCB0YXJnZXRzKSksIHN0cih0Z3pfcmVtb3ZlZCkpKQogCiAgICAgQE9FVGVzdElEKDk3NykKQEAgLTEzMCwxNCArMTMwLDE0IEBACiAgICAgICAgIGJpdGJha2UoWyctY2NsZWFuc3N0YXRlJ10gKyB0YXJnZXRzKQogCiAgICAgICAgIGJpdGJha2UodGFyZ2V0cykKLSAgICAgICAgcmVzdWx0cyA9IHNlbGYuc2VhcmNoX3NzdGF0ZSgnfCcuam9pbihtYXAoc3RyLCBbcyArICcuKj9cLnRneiQnIGZvciBzIGluIHRhcmdldHNdKSksIGRpc3Ryb19zcGVjaWZpYz1GYWxzZSwgZGlzdHJvX25vbnNwZWNpZmljPVRydWUpCisgICAgICAgIHJlc3VsdHMgPSBzZWxmLnNlYXJjaF9zc3RhdGUoJ3wnLmpvaW4obWFwKHN0ciwgW3MgKyByJy4qP1wudGd6JCcgZm9yIHMgaW4gdGFyZ2V0c10pKSwgZGlzdHJvX3NwZWNpZmljPUZhbHNlLCBkaXN0cm9fbm9uc3BlY2lmaWM9VHJ1ZSkKICAgICAgICAgZmlsdGVyZWRfcmVzdWx0cyA9IFtdCiAgICAgICAgIGZvciByIGluIHJlc3VsdHM6CiAgICAgICAgICAgICBpZiByLmVuZHN3aXRoKCgiX3BvcHVsYXRlX2xpYy50Z3oiLCAiX3BvcHVsYXRlX2xpYy50Z3ouc2lnaW5mbyIpKToKICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgZmlsdGVyZWRfcmVzdWx0cy5hcHBlbmQocikKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGZpbHRlcmVkX3Jlc3VsdHMgPT0gW10sIG1zZz0iRm91bmQgZGlzdHJvIG5vbi1zcGVjaWZpYyBzc3RhdGUgZm9yOiAlcyAoJXMpIiAlICgnLCAnLmpvaW4obWFwKHN0ciwgdGFyZ2V0cykpLCBzdHIoZmlsdGVyZWRfcmVzdWx0cykpKQotICAgICAgICBmaWxlX3RyYWNrZXJfMSA9IHNlbGYuc2VhcmNoX3NzdGF0ZSgnfCcuam9pbihtYXAoc3RyLCBbcyArICcuKj9cLnRneiQnIGZvciBzIGluIHRhcmdldHNdKSksIGRpc3Ryb19zcGVjaWZpYz1UcnVlLCBkaXN0cm9fbm9uc3BlY2lmaWM9RmFsc2UpCisgICAgICAgIGZpbGVfdHJhY2tlcl8xID0gc2VsZi5zZWFyY2hfc3N0YXRlKCd8Jy5qb2luKG1hcChzdHIsIFtzICsgcicuKj9cLnRneiQnIGZvciBzIGluIHRhcmdldHNdKSksIGRpc3Ryb19zcGVjaWZpYz1UcnVlLCBkaXN0cm9fbm9uc3BlY2lmaWM9RmFsc2UpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShsZW4oZmlsZV90cmFja2VyXzEpID49IGxlbih0YXJnZXRzKSwgbXNnID0gIk5vdCBhbGwgc3N0YXRlIGZpbGVzIHdhcmUgY3JlYXRlZCBmb3I6ICVzIiAlICcsICcuam9pbihtYXAoc3RyLCB0YXJnZXRzKSkpCiAKICAgICAgICAgc2VsZi50cmFja19mb3JfY2xlYW51cChzZWxmLmRpc3Ryb19zcGVjaWZpY19zc3RhdGUgKyAiX29sZCIpCkBAIC0xNDYsNyArMTQ2LDcgQEAKIAogICAgICAgICBiaXRiYWtlKFsnLWNjbGVhbiddICsgdGFyZ2V0cykKICAgICAgICAgYml0YmFrZSh0YXJnZXRzKQotICAgICAgICBmaWxlX3RyYWNrZXJfMiA9IHNlbGYuc2VhcmNoX3NzdGF0ZSgnfCcuam9pbihtYXAoc3RyLCBbcyArICcuKj9cLnRneiQnIGZvciBzIGluIHRhcmdldHNdKSksIGRpc3Ryb19zcGVjaWZpYz1UcnVlLCBkaXN0cm9fbm9uc3BlY2lmaWM9RmFsc2UpCisgICAgICAgIGZpbGVfdHJhY2tlcl8yID0gc2VsZi5zZWFyY2hfc3N0YXRlKCd8Jy5qb2luKG1hcChzdHIsIFtzICsgcicuKj9cLnRneiQnIGZvciBzIGluIHRhcmdldHNdKSksIGRpc3Ryb19zcGVjaWZpYz1UcnVlLCBkaXN0cm9fbm9uc3BlY2lmaWM9RmFsc2UpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShsZW4oZmlsZV90cmFja2VyXzIpID49IGxlbih0YXJnZXRzKSwgbXNnID0gIk5vdCBhbGwgc3N0YXRlIGZpbGVzIHdhcmUgY3JlYXRlZCBmb3I6ICVzIiAlICcsICcuam9pbihtYXAoc3RyLCB0YXJnZXRzKSkpCiAKICAgICAgICAgbm90X3JlY3JlYXRlZCA9IFt4IGZvciB4IGluIGZpbGVfdHJhY2tlcl8xIGlmIHggbm90IGluIGZpbGVfdHJhY2tlcl8yXQpAQCAtMTkyLDE4ICsxOTIsMTggQEAKICAgICAgICAgICAgIGlmIG5vdCBzc3RhdGVfYXJjaCBpbiBzc3RhdGVfYXJjaHNfbGlzdDoKICAgICAgICAgICAgICAgICBzc3RhdGVfYXJjaHNfbGlzdC5hcHBlbmQoc3N0YXRlX2FyY2gpCiAgICAgICAgICAgICBpZiB0YXJnZXRfY29uZmlnW2lkeF0gPT0gdGFyZ2V0X2NvbmZpZ1stMV06Ci0gICAgICAgICAgICAgICAgdGFyZ2V0X3NzdGF0ZV9iZWZvcmVfYnVpbGQgPSBzZWxmLnNlYXJjaF9zc3RhdGUodGFyZ2V0ICsgJy4qP1wudGd6JCcpCisgICAgICAgICAgICAgICAgdGFyZ2V0X3NzdGF0ZV9iZWZvcmVfYnVpbGQgPSBzZWxmLnNlYXJjaF9zc3RhdGUodGFyZ2V0ICsgcicuKj9cLnRneiQnKQogICAgICAgICAgICAgYml0YmFrZSgiLWNjbGVhbiAlcyIgJSB0YXJnZXQpCiAgICAgICAgICAgICByZXN1bHQgPSBiaXRiYWtlKHRhcmdldCwgaWdub3JlX3N0YXR1cz1UcnVlKQogICAgICAgICAgICAgaWYgdGFyZ2V0X2NvbmZpZ1tpZHhdID09IHRhcmdldF9jb25maWdbLTFdOgotICAgICAgICAgICAgICAgIHRhcmdldF9zc3RhdGVfYWZ0ZXJfYnVpbGQgPSBzZWxmLnNlYXJjaF9zc3RhdGUodGFyZ2V0ICsgJy4qP1wudGd6JCcpCisgICAgICAgICAgICAgICAgdGFyZ2V0X3NzdGF0ZV9hZnRlcl9idWlsZCA9IHNlbGYuc2VhcmNoX3NzdGF0ZSh0YXJnZXQgKyByJy4qP1wudGd6JCcpCiAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfcmVtYWluaW5nX3NzdGF0ZSArPSBbeCBmb3IgeCBpbiB0YXJnZXRfc3N0YXRlX2FmdGVyX2J1aWxkIGlmIHggbm90IGluIHRhcmdldF9zc3RhdGVfYmVmb3JlX2J1aWxkIGlmIG5vdCBhbnkocGF0dGVybiBpbiB4IGZvciBwYXR0ZXJuIGluIGlnbm9yZV9wYXR0ZXJucyldCiAgICAgICAgICAgICBzZWxmLnJlbW92ZV9jb25maWcoZ2xvYmFsX2NvbmZpZ1tpZHhdKQogICAgICAgICAgICAgc2VsZi5yZW1vdmVfcmVjaXBlaW5jKHRhcmdldCwgdGFyZ2V0X2NvbmZpZ1tpZHhdKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQuc3RhdHVzLCAwLCBtc2cgPSAiYnVpbGQgb2YgJXMgZmFpbGVkIHdpdGggJXMiICUgKHRhcmdldCwgcmVzdWx0Lm91dHB1dCkpCiAKICAgICAgICAgcnVuQ21kKCJzc3RhdGUtY2FjaGUtbWFuYWdlbWVudC5zaCAteSAtLWNhY2hlLWRpcj0lcyAtLXJlbW92ZS1kdXBsaWNhdGVkIC0tZXh0cmEtYXJjaHM9JXMiICUgKHNlbGYuc3N0YXRlX3BhdGgsICcsJy5qb2luKG1hcChzdHIsIHNzdGF0ZV9hcmNoc19saXN0KSkpKQotICAgICAgICBhY3R1YWxfcmVtYWluaW5nX3NzdGF0ZSA9IFt4IGZvciB4IGluIHNlbGYuc2VhcmNoX3NzdGF0ZSh0YXJnZXQgKyAnLio/XC50Z3okJykgaWYgbm90IGFueShwYXR0ZXJuIGluIHggZm9yIHBhdHRlcm4gaW4gaWdub3JlX3BhdHRlcm5zKV0KKyAgICAgICAgYWN0dWFsX3JlbWFpbmluZ19zc3RhdGUgPSBbeCBmb3IgeCBpbiBzZWxmLnNlYXJjaF9zc3RhdGUodGFyZ2V0ICsgcicuKj9cLnRneiQnKSBpZiBub3QgYW55KHBhdHRlcm4gaW4geCBmb3IgcGF0dGVybiBpbiBpZ25vcmVfcGF0dGVybnMpXQogCiAgICAgICAgIGFjdHVhbF9ub3RfZXhwZWN0ZWQgPSBbeCBmb3IgeCBpbiBhY3R1YWxfcmVtYWluaW5nX3NzdGF0ZSBpZiB4IG5vdCBpbiBleHBlY3RlZF9yZW1haW5pbmdfc3N0YXRlXQogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGFjdHVhbF9ub3RfZXhwZWN0ZWQsIG1zZz0iRmlsZXMgc2hvdWxkIGhhdmUgYmVlbiByZW1vdmVkIGJ1dCB3YXJlIG5vdDogJXMiICUgJywgJy5qb2luKG1hcChzdHIsIGFjdHVhbF9ub3RfZXhwZWN0ZWQpKSkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jb250ZXh0LnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2NvbnRleHQucHkKaW5kZXggYzUyMTI5MC4uYzU2ZTUzZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2NvbnRleHQucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2NvbnRleHQucHkKQEAgLTEwOCw2ICsxMDgsNyBAQAogICAgICAgICBsb2dkaXIgPSBvcy5lbnZpcm9uLmdldCgiQlVJTERESVIiKQogICAgICAgICBpZiAnTE9HX0RJUicgaW4gYmJ2YXJzOgogICAgICAgICAgICAgbG9nZGlyID0gYmJ2YXJzWydMT0dfRElSJ10KKyAgICAgICAgYmIudXRpbHMubWtkaXJoaWVyKGxvZ2RpcikKICAgICAgICAgYXJncy5vdXRwdXRfbG9nID0gbG9nZGlyICsgJy8lcy1yZXN1bHRzLSVzLmxvZycgJSAoc2VsZi5uYW1lLCBhcmdzLnRlc3Rfc3RhcnRfdGltZSkKIAogICAgICAgICBzdXBlcihPRVNlbGZ0ZXN0VGVzdENvbnRleHRFeGVjdXRvciwgc2VsZikuX3Byb2Nlc3NfYXJncyhsb2dnZXIsIGFyZ3MpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvdXRpbHMvbWV0YWRhdGEucHkgYi9wb2t5L21ldGEvbGliL29lcWEvdXRpbHMvbWV0YWRhdGEucHkKaW5kZXggYjdkZWY3Ny4uZTA4MDhhZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL3V0aWxzL21ldGFkYXRhLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS91dGlscy9tZXRhZGF0YS5weQpAQCAtNzIsOCArNzIsMTEgQEAKICAgICAgICAgICAgIGluZm9bJ2NvbW1pdCddID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWyJnaXQiLCAicmV2LXBhcnNlIiwgIkhFQUQiXSwgY3dkPXBhdGgpLmRlY29kZSgndXRmLTgnKS5zdHJpcCgpCiAgICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvcjoKICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgaW5mb1snY29tbWl0X2NvdW50J10gPSBpbnQoc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWyJnaXQiLCAicmV2LWxpc3QiLCAiLS1jb3VudCIsICJIRUFEIl0sIGN3ZD1wYXRoKS5kZWNvZGUoJ3V0Zi04Jykuc3RyaXAoKSkKKyAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yOgorICAgICAgICAgICAgcGFzcwogICAgICAgICByZXR1cm4gaW5mbwotCiAgICAgdHJ5OgogICAgICAgICByZXBvID0gUmVwbyhwYXRoLCBzZWFyY2hfcGFyZW50X2RpcmVjdG9yaWVzPVRydWUpCiAgICAgZXhjZXB0IChJbnZhbGlkR2l0UmVwb3NpdG9yeUVycm9yLCBOb1N1Y2hQYXRoRXJyb3IpOgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3V0aWxzL3FlbXVydW5uZXIucHkgYi9wb2t5L21ldGEvbGliL29lcWEvdXRpbHMvcWVtdXJ1bm5lci5weQppbmRleCBjYzk1ZGMyLi40OTAyMGMxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvdXRpbHMvcWVtdXJ1bm5lci5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvdXRpbHMvcWVtdXJ1bm5lci5weQpAQCAtMjgsNyArMjgsOCBAQAogCiBjbGFzcyBRZW11UnVubmVyOgogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIG1hY2hpbmUsIHJvb3RmcywgZGlzcGxheSwgdG1wZGlyLCBkZXBsb3lfZGlyX2ltYWdlLCBsb2dmaWxlLCBib290dGltZSwgZHVtcF9kaXIsIGR1bXBfaG9zdF9jbWRzLCB1c2Vfa3ZtLCBsb2dnZXIpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBtYWNoaW5lLCByb290ZnMsIGRpc3BsYXksIHRtcGRpciwgZGVwbG95X2Rpcl9pbWFnZSwgbG9nZmlsZSwgYm9vdHRpbWUsIGR1bXBfZGlyLCBkdW1wX2hvc3RfY21kcywKKyAgICAgICAgICAgICAgICAgdXNlX2t2bSwgbG9nZ2VyLCB1c2Vfc2xpcnA9RmFsc2UpOgogCiAgICAgICAgICMgUG9wZW4gb2JqZWN0IGZvciBydW5xZW11CiAgICAgICAgIHNlbGYucnVucWVtdSA9IE5vbmUKQEAgLTUxLDYgKzUyLDcgQEAKICAgICAgICAgc2VsZi5sb2dnZWQgPSBGYWxzZQogICAgICAgICBzZWxmLnRocmVhZCA9IE5vbmUKICAgICAgICAgc2VsZi51c2Vfa3ZtID0gdXNlX2t2bQorICAgICAgICBzZWxmLnVzZV9zbGlycCA9IHVzZV9zbGlycAogICAgICAgICBzZWxmLm1zZyA9ICcnCiAKICAgICAgICAgc2VsZi5ydW5xZW11dGltZSA9IDEyMApAQCAtMTI5LDYgKzEzMSw4IEBACiAgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoJ05vdCB1c2luZyBrdm0gZm9yIHJ1bnFlbXUnKQogICAgICAgICAgICAgaWYgbm90IHNlbGYuZGlzcGxheToKICAgICAgICAgICAgICAgICBsYXVuY2hfY21kICs9ICcgbm9ncmFwaGljJworICAgICAgICAgICAgaWYgc2VsZi51c2Vfc2xpcnA6CisgICAgICAgICAgICAgICAgbGF1bmNoX2NtZCArPSAnIHNsaXJwJwogICAgICAgICAgICAgbGF1bmNoX2NtZCArPSAnICVzICVzJyAlIChzZWxmLm1hY2hpbmUsIHNlbGYucm9vdGZzKQogCiAgICAgICAgIHJldHVybiBzZWxmLmxhdW5jaChsYXVuY2hfY21kLCBxZW11cGFyYW1zPXFlbXVwYXJhbXMsIGdldF9pcD1nZXRfaXAsIGV4dHJhX2Jvb3RwYXJhbXM9ZXh0cmFfYm9vdHBhcmFtcywgZW52PWVudikKQEAgLTIzOCw5ICsyNDIsMTQgQEAKICAgICAgICAgICAgICAgICAjIGJlY2F1c2UgaXMgcG9zc2libGUgdG8gaGF2ZSBjb250cm9sIGNoYXJhY3RlcnMKICAgICAgICAgICAgICAgICBjbWRsaW5lID0gcmVfY29udHJvbF9jaGFyLnN1YignICcsIGNtZGxpbmUpCiAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgaXBzID0gcmUuZmluZGFsbChyIigoPzpbMC05XXsxLDN9XC4pezN9WzAtOV17MSwzfSkiLCBjbWRsaW5lLnNwbGl0KCJpcD0iKVsxXSkKLSAgICAgICAgICAgICAgICBzZWxmLmlwID0gaXBzWzBdCi0gICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJfaXAgPSBpcHNbMV0KKyAgICAgICAgICAgICAgICBpZiBzZWxmLnVzZV9zbGlycDoKKyAgICAgICAgICAgICAgICAgICAgdGNwX3BvcnRzID0gY21kbGluZS5zcGxpdCgiaG9zdGZ3ZD10Y3A6OiIpWzFdCisgICAgICAgICAgICAgICAgICAgIGhvc3RfcG9ydCA9IHRjcF9wb3J0c1s6dGNwX3BvcnRzLmZpbmQoJy0nKV0KKyAgICAgICAgICAgICAgICAgICAgc2VsZi5pcCA9ICJsb2NhbGhvc3Q6JXMiICUgaG9zdF9wb3J0CisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgaXBzID0gcmUuZmluZGFsbChyIigoPzpbMC05XXsxLDN9XC4pezN9WzAtOV17MSwzfSkiLCBjbWRsaW5lLnNwbGl0KCJpcD0iKVsxXSkKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5pcCA9IGlwc1swXQorICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlcl9pcCA9IGlwc1sxXQogICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJxZW11IGNtZGxpbmUgdXNlZDpcbnt9Ii5mb3JtYXQoY21kbGluZSkpCiAgICAgICAgICAgICBleGNlcHQgKEluZGV4RXJyb3IsIFZhbHVlRXJyb3IpOgogICAgICAgICAgICAgICAgICMgVHJ5IHRvIGdldCBuZXR3b3JrIGNvbmZpZ3VyYXRpb24gZnJvbSBydW5xZW11IG91dHB1dApAQCAtMzIwLDYgKzMyOSw3IEBACiAgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIlRhcmdldCBkaWRuJ3QgcmVhY2ggbG9naW4gYmFubmVyIGluICVkIHNlY29uZHMgKCVzKSIgJQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxmLmJvb3R0aW1lLCB0aW1lLnN0cmZ0aW1lKCIlRCAlSDolTTolUyIpKSkKICAgICAgICAgICAgIHRhaWwgPSBsYW1iZGEgbDogIlxuIi5qb2luKGwuc3BsaXRsaW5lcygpWy0yNTpdKQorICAgICAgICAgICAgYm9vdGxvZyA9IGJvb2xvZy5kZWNvZGUoInV0Zi04IikKICAgICAgICAgICAgICMgaW4gY2FzZSBib290bG9nIGlzIGVtcHR5LCB1c2UgdGFpbCBxZW11IGxvZyBzdG9yZSBhdCBzZWxmLm1zZwogICAgICAgICAgICAgbGluZXMgPSB0YWlsKGJvb3Rsb2cgaWYgYm9vdGxvZyBlbHNlIHNlbGYubXNnKQogICAgICAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIkxhc3QgMjUgbGluZXMgb2YgdGV4dDpcbiVzIiAlIGxpbmVzKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtYnNwL2FjcGlkL2FjcGlkXzIuMC4zMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC9hY3BpZC9hY3BpZF8yLjAuMzAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFhMTlkMjguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtYnNwL2FjcGlkL2FjcGlkXzIuMC4zMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotcmVxdWlyZSBhY3BpZC5pbmMKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OGNhNDNjYmM4NDJjMjMzNmU4MzU5MjZjMjE2NmMyOGIgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vYWNwaWQuaDtlbmRsaW5lPTI0O21kNT0zMjRhOWNmMjI1YWU2OWRkYWFkMWJmOWQ5NDIxMTViNSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjE1MjgwNDBiNWQzNGY4YzI0ZWJhYmQ5N2JlZmJmOTEzIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI4Yjc3YjYyZDNmNjRlYmQxYzJhM2QxNmJjY2M2ZDQzMzNiNGUyNGE4NmFlYWNlYmVjMjU1ZmFkMjIzY2Y0Y2IiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ic3AvYWNwaWQvYWNwaWRfMi4wLjMxLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtYnNwL2FjcGlkL2FjcGlkXzIuMC4zMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MDc0OTIxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtYnNwL2FjcGlkL2FjcGlkXzIuMC4zMS5iYgpAQCAtMCwwICsxLDcgQEAKK3JlcXVpcmUgYWNwaWQuaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThjYTQzY2JjODQyYzIzMzZlODM1OTI2YzIxNjZjMjhiIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2FjcGlkLmg7ZW5kbGluZT0yNDttZDU9MzI0YTljZjIyNWFlNjlkZGFhZDFiZjlkOTQyMTE1YjUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1OTlkZDM4NjgxYjU5MTdlZWVhZmI1ODE3Njc5Mzk1MiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmYzlkYzY2OWVkODVkOWExNzM5YWE3NjkxNWUwNjY3YzY2OTdjNTQzMTE2MGY4ZGZiMjUzMDQ2YzZhMDcyY2MzIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtYnNwL2dudS1lZmkvZ251LWVmaV8zLjAuOC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC9nbnUtZWZpL2dudS1lZmlfMy4wLjguYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRiYTQ3MzMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtYnNwL2dudS1lZmkvZ251LWVmaV8zLjAuOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDcxICswLDAgQEAKLVNVTU1BUlkgPSAiTGlicmFyaWVzIGZvciBwcm9kdWNpbmcgRUZJIGJpbmFyaWVzIgotSE9NRVBBR0UgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9nbnUtZWZpLyIKLVNFQ1RJT04gPSAiZGV2ZWwiCi1MSUNFTlNFID0gIkdQTHYyKyB8IEJTRC0yLUNsYXVzZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2dudWVmaS9jcnQwLWVmaS1hcm0uUztiZWdpbmxpbmU9NDtlbmRsaW5lPTE2O21kNT1lNTgyNzY0YTQ3NzZlNjBjOTViZjlhYjYxNzM0M2QzNiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9nbnVlZmkvY3J0MC1lZmktYWFyY2g2NC5TO2JlZ2lubGluZT00O2VuZGxpbmU9MTY7bWQ1PWU1ODI3NjRhNDc3NmU2MGM5NWJmOWFiNjE3MzQzZDM2IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2luYy9lZmlzaGVsbGludGYuaDtiZWdpbmxpbmU9MTM7ZW5kbGluZT0yMDttZDU9MjAyNzY2Yjc5ZDcwOGVmZjNjYzcwZmNlMTVmYjgwYzcgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vaW5jL2VmaXNoZWxscGFybS5oO2JlZ2lubGluZT00O2VuZGxpbmU9MTE7bWQ1PTQ2OGIxMjMxYjA1YmJjODRiYWUzYTBkNTc3NGUzYmI1IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYi9hcm0vbWF0aC5jO2JlZ2lubGluZT0yO2VuZGxpbmU9MTU7bWQ1PThlZDc3MjUwMWRhNzdiMmIzMzQ1YWE2ZGY4NzQ0YzllIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYi9hcm0vaW5pdHBsYXQuYztiZWdpbmxpbmU9MjtlbmRsaW5lPTE1O21kNT04ZWQ3NzI1MDFkYTc3YjJiMzM0NWFhNmRmODc0NGM5ZSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWIvYWFyY2g2NC9tYXRoLmM7YmVnaW5saW5lPTI7ZW5kbGluZT0xNTttZDU9OGVkNzcyNTAxZGE3N2IyYjMzNDVhYTZkZjg3NDRjOWUgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGliL2FhcmNoNjQvaW5pdHBsYXQuYztiZWdpbmxpbmU9MjtlbmRsaW5lPTE1O21kNT04ZWQ3NzI1MDFkYTc3YjJiMzM0NWFhNmRmODc0NGM5ZSBcCi0gICAgICAgICAgICAgICAgICAgIgotCi1TUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS8ke0JQTn0vJHtCUH0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9wYXJhbGxlbC1tYWtlLWFyY2hpdmVzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2xpYi1NYWtlZmlsZS1maXgtcGFyYWxsZWwtaXNzdWUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZ2NjNDYtY29tcGF0aWJpbGl0eS5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gImFlMzIwMTFjZmU2YjFjNDBjMGYyNDRiOWE0OWJhMTgxIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc2MDA2ZDhlYThkNjdiY2Y3MmYzNWQwOWQ0M2U5ZWY2YTY5NDAwZDZkNWQ0YmY2NGJhZjFhYjc0MzRlMmI3MjIiCi0KLUNPTVBBVElCTEVfSE9TVCA9ICIoeDg2XzY0Lip8aS44Ni4qfGFhcmNoNjQuKnxhcm0uKiktbGludXgiCi1DT01QQVRJQkxFX0hPU1RfYXJtdjQgPSAnbnVsbCcKLQotZG9fY29uZmlndXJlX2xpbnV4LWdudXgzMl9wcmVwZW5kKCkgewotCWNwICR7U1RBR0lOR19JTkNESVJ9L2dudS9zdHVicy14MzIuaCAke1NUQUdJTkdfSU5DRElSfS9nbnUvc3R1YnMtNjQuaAotCWNwICR7U1RBR0lOR19JTkNESVJ9L2JpdHMvbG9uZy1kb3VibGUtMzIuaCAke1NUQUdJTkdfSU5DRElSfS9iaXRzL2xvbmctZG91YmxlLTY0LmgKLX0KLQotZGVmIGdudV9lZmlfYXJjaChkKToKLSAgICBpbXBvcnQgcmUKLSAgICB0YXJjaCA9IGQuZ2V0VmFyKCJUQVJHRVRfQVJDSCIpCi0gICAgaWYgcmUubWF0Y2goImlbMzQ1Njc4OV04NiIsIHRhcmNoKToKLSAgICAgICAgcmV0dXJuICJpYTMyIgotICAgIHJldHVybiB0YXJjaAotCi1FWFRSQV9PRU1BS0UgPSAiJ0FSQ0g9JHtAZ251X2VmaV9hcmNoKGQpfScgJ0NDPSR7Q0N9JyAnQVM9JHtBU30nICdMRD0ke0xEfScgJ0FSPSR7QVJ9JyBcCi0gICAgICAgICAgICAgICAgJ1JBTkxJQj0ke1JBTkxJQn0nICdPQkpDT1BZPSR7T0JKQ09QWX0nICdQUkVGSVg9JHtwcmVmaXh9JyAnTElCRElSPSR7bGliZGlyfScgXAotICAgICAgICAgICAgICAgICIKLQotIyBnbnUtZWZpJ3MgTWFrZWZpbGUgdHJlYXRzIHByZWZpeCBhcyB0b29sY2hhaW4gcHJlZml4LCBzbyBkb24ndAotIyBleHBvcnQgaXQuCi1wcmVmaXhbdW5leHBvcnRdID0gIjEiCi0KLWRvX2luc3RhbGwoKSB7Ci0gICAgICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBJTlNUQUxMUk9PVD0iJHtEfSIKLX0KLQotRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS8qLmxkcyIKLQotIyA2NC1iaXQgYmluYXJpZXMgYXJlIGV4cGVjdGVkIGZvciBFRkkgd2hlbiB0YXJnZXRpbmcgWDMyCi1JTlNBTkVfU0tJUF8ke1BOfS1kZXZfYXBwZW5kX2xpbnV4LWdudXgzMiA9ICIgYXJjaCIKLUlOU0FORV9TS0lQXyR7UE59LWRldl9hcHBlbmRfbGludXgtbXVzbHgzMiA9ICIgYXJjaCIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCi0KLSMgSXQgZG9lc24ndCBzdXBwb3J0IHNzZSwgaXRzIG1ha2UuZGVmYXVsdHMgc2V0czoKLSMgQ0ZMQUdTICs9IC1tbm8tbW14IC1tbm8tc3NlCi0jIFNvIGFsc28gcmVtb3ZlIC1tZnBtYXRoPXNzZSBmcm9tIFRVTkVfQ0NBUkdTCi1UVU5FX0NDQVJHU19yZW1vdmUgPSAiLW1mcG1hdGg9c3NlIgotCi1weXRob24gKCkgewotICAgIGNjYXJncyA9IGQuZ2V0VmFyKCdUVU5FX0NDQVJHUycpLnNwbGl0KCkKLSAgICBpZiAnLW14MzInIGluIGNjYXJnczoKLSAgICAgICAgIyB1c2UgeDg2XzY0IEVGSSBBQkkKLSAgICAgICAgY2NhcmdzLnJlbW92ZSgnLW14MzInKQotICAgICAgICBjY2FyZ3MuYXBwZW5kKCctbTY0JykKLSAgICAgICAgZC5zZXRWYXIoJ1RVTkVfQ0NBUkdTJywgJyAnLmpvaW4oY2NhcmdzKSkKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC9nbnUtZWZpL2dudS1lZmlfMy4wLjkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ic3AvZ251LWVmaS9nbnUtZWZpXzMuMC45LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA2NjcxOTEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ic3AvZ251LWVmaS9nbnUtZWZpXzMuMC45LmJiCkBAIC0wLDAgKzEsNzEgQEAKK1NVTU1BUlkgPSAiTGlicmFyaWVzIGZvciBwcm9kdWNpbmcgRUZJIGJpbmFyaWVzIgorSE9NRVBBR0UgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9nbnUtZWZpLyIKK1NFQ1RJT04gPSAiZGV2ZWwiCitMSUNFTlNFID0gIkdQTHYyKyB8IEJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2dudWVmaS9jcnQwLWVmaS1hcm0uUztiZWdpbmxpbmU9NDtlbmRsaW5lPTE2O21kNT1lNTgyNzY0YTQ3NzZlNjBjOTViZjlhYjYxNzM0M2QzNiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9nbnVlZmkvY3J0MC1lZmktYWFyY2g2NC5TO2JlZ2lubGluZT00O2VuZGxpbmU9MTY7bWQ1PWU1ODI3NjRhNDc3NmU2MGM5NWJmOWFiNjE3MzQzZDM2IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2luYy9lZmlzaGVsbGludGYuaDtiZWdpbmxpbmU9MTM7ZW5kbGluZT0yMDttZDU9MjAyNzY2Yjc5ZDcwOGVmZjNjYzcwZmNlMTVmYjgwYzcgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vaW5jL2VmaXNoZWxscGFybS5oO2JlZ2lubGluZT00O2VuZGxpbmU9MTE7bWQ1PTQ2OGIxMjMxYjA1YmJjODRiYWUzYTBkNTc3NGUzYmI1IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYi9hcm0vbWF0aC5jO2JlZ2lubGluZT0yO2VuZGxpbmU9MTU7bWQ1PThlZDc3MjUwMWRhNzdiMmIzMzQ1YWE2ZGY4NzQ0YzllIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYi9hcm0vaW5pdHBsYXQuYztiZWdpbmxpbmU9MjtlbmRsaW5lPTE1O21kNT04ZWQ3NzI1MDFkYTc3YjJiMzM0NWFhNmRmODc0NGM5ZSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWIvYWFyY2g2NC9tYXRoLmM7YmVnaW5saW5lPTI7ZW5kbGluZT0xNTttZDU9OGVkNzcyNTAxZGE3N2IyYjMzNDVhYTZkZjg3NDRjOWUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGliL2FhcmNoNjQvaW5pdHBsYXQuYztiZWdpbmxpbmU9MjtlbmRsaW5lPTE1O21kNT04ZWQ3NzI1MDFkYTc3YjJiMzM0NWFhNmRmODc0NGM5ZSBcCisgICAgICAgICAgICAgICAgICAgIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS8ke0JQTn0vJHtCUH0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9wYXJhbGxlbC1tYWtlLWFyY2hpdmVzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2xpYi1NYWtlZmlsZS1maXgtcGFyYWxsZWwtaXNzdWUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZ2NjNDYtY29tcGF0aWJpbGl0eS5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjMyYWYxN2I5MTc1NDVhNjkzZTU0OWFmMjQzOWM0YTk5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY3MTVlYTdlYWUxYzdlNGZjNTA0MTAzNGJkM2YxMDdlYzI5MTE5NjJlZDI4NGEwODFlNDkxNjQ2YjEyMjc3ZjAiCisKK0NPTVBBVElCTEVfSE9TVCA9ICIoeDg2XzY0Lip8aS44Ni4qfGFhcmNoNjQuKnxhcm0uKiktbGludXgiCitDT01QQVRJQkxFX0hPU1RfYXJtdjQgPSAnbnVsbCcKKworZG9fY29uZmlndXJlX2xpbnV4LWdudXgzMl9wcmVwZW5kKCkgeworCWNwICR7U1RBR0lOR19JTkNESVJ9L2dudS9zdHVicy14MzIuaCAke1NUQUdJTkdfSU5DRElSfS9nbnUvc3R1YnMtNjQuaAorCWNwICR7U1RBR0lOR19JTkNESVJ9L2JpdHMvbG9uZy1kb3VibGUtMzIuaCAke1NUQUdJTkdfSU5DRElSfS9iaXRzL2xvbmctZG91YmxlLTY0LmgKK30KKworZGVmIGdudV9lZmlfYXJjaChkKToKKyAgICBpbXBvcnQgcmUKKyAgICB0YXJjaCA9IGQuZ2V0VmFyKCJUQVJHRVRfQVJDSCIpCisgICAgaWYgcmUubWF0Y2goImlbMzQ1Njc4OV04NiIsIHRhcmNoKToKKyAgICAgICAgcmV0dXJuICJpYTMyIgorICAgIHJldHVybiB0YXJjaAorCitFWFRSQV9PRU1BS0UgPSAiJ0FSQ0g9JHtAZ251X2VmaV9hcmNoKGQpfScgJ0NDPSR7Q0N9JyAnQVM9JHtBU30nICdMRD0ke0xEfScgJ0FSPSR7QVJ9JyBcCisgICAgICAgICAgICAgICAgJ1JBTkxJQj0ke1JBTkxJQn0nICdPQkpDT1BZPSR7T0JKQ09QWX0nICdQUkVGSVg9JHtwcmVmaXh9JyAnTElCRElSPSR7bGliZGlyfScgXAorICAgICAgICAgICAgICAgICIKKworIyBnbnUtZWZpJ3MgTWFrZWZpbGUgdHJlYXRzIHByZWZpeCBhcyB0b29sY2hhaW4gcHJlZml4LCBzbyBkb24ndAorIyBleHBvcnQgaXQuCitwcmVmaXhbdW5leHBvcnRdID0gIjEiCisKK2RvX2luc3RhbGwoKSB7CisgICAgICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBJTlNUQUxMUk9PVD0iJHtEfSIKK30KKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS8qLmxkcyIKKworIyA2NC1iaXQgYmluYXJpZXMgYXJlIGV4cGVjdGVkIGZvciBFRkkgd2hlbiB0YXJnZXRpbmcgWDMyCitJTlNBTkVfU0tJUF8ke1BOfS1kZXZfYXBwZW5kX2xpbnV4LWdudXgzMiA9ICIgYXJjaCIKK0lOU0FORV9TS0lQXyR7UE59LWRldl9hcHBlbmRfbGludXgtbXVzbHgzMiA9ICIgYXJjaCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKKyMgSXQgZG9lc24ndCBzdXBwb3J0IHNzZSwgaXRzIG1ha2UuZGVmYXVsdHMgc2V0czoKKyMgQ0ZMQUdTICs9IC1tbm8tbW14IC1tbm8tc3NlCisjIFNvIGFsc28gcmVtb3ZlIC1tZnBtYXRoPXNzZSBmcm9tIFRVTkVfQ0NBUkdTCitUVU5FX0NDQVJHU19yZW1vdmUgPSAiLW1mcG1hdGg9c3NlIgorCitweXRob24gKCkgeworICAgIGNjYXJncyA9IGQuZ2V0VmFyKCdUVU5FX0NDQVJHUycpLnNwbGl0KCkKKyAgICBpZiAnLW14MzInIGluIGNjYXJnczoKKyAgICAgICAgIyB1c2UgeDg2XzY0IEVGSSBBQkkKKyAgICAgICAgY2NhcmdzLnJlbW92ZSgnLW14MzInKQorICAgICAgICBjY2FyZ3MuYXBwZW5kKCctbTY0JykKKyAgICAgICAgZC5zZXRWYXIoJ1RVTkVfQ0NBUkdTJywgJyAnLmpvaW4oY2NhcmdzKSkKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC9ncnViL2ZpbGVzL2Rpc2FibGUtYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtYnNwL2dydWIvZmlsZXMvZGlzYWJsZS1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDE1ZjUyZQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC9ncnViL2ZpbGVzL2Rpc2FibGUtYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyLnBhdGNoCkBAIC0wLDAgKzEsMjYyIEBACitEaXNhYmxlIGFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciB3YXJuaW5ncyB3aXRoIGdjYzkKKworZ2NjOSBoYXMgdHVybmVkIHRoaXMgd2FybmluZyBpbnRvIGVycm9yIHdoZW4gLVdlcnJvciBpcyB1c2VkLCBsZXRzIHBhcGVyCitpdCBvdmVyIGJ5IHR1cm5pbmcgaXQgaW50byBhIHdhcm5pbmcgZm9yIG5vdworCitGaXhlcworICAgIGVycm9yOiB0YWtpbmcgYWRkcmVzcyBvZiBwYWNrZWQgbWVtYmVyIG9mICdzdHJ1Y3QgaGVhZCcgbWF5IHJlc3VsdCBpbiBhbiB1bmFsaWduZWQgcG9pbnRlciB2YWx1ZSBbLVdlcnJvcj1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXJdCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLSBhL2dydWItY29yZS9jb21tYW5kcy9sc2FjcGkuYworKysrIGIvZ3J1Yi1jb3JlL2NvbW1hbmRzL2xzYWNwaS5jCitAQCAtMjYsNiArMjYsOSBAQAorICNpbmNsdWRlIDxncnViL2RsLmg+CisgCisgI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV2Nhc3QtYWxpZ24iCisrI2lmIF9fR05VQ19fID49IDkKKysjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIgorKyNlbmRpZgorIAorIEdSVUJfTU9EX0xJQ0VOU0UgKCJHUEx2MysiKTsKKyAKKy0tLSBhL2dydWItY29yZS9jb21tYW5kcy9sc3BjaS5jCisrKysgYi9ncnViLWNvcmUvY29tbWFuZHMvbHNwY2kuYworQEAgLTI2LDYgKzI2LDkgQEAKKyAKKyBHUlVCX01PRF9MSUNFTlNFICgiR1BMdjMrIik7CisgCisrI2lmIF9fR05VQ19fID49IDkKKysjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIgorKyNlbmRpZgorIHN0cnVjdCBncnViX3BjaV9jbGFzc25hbWUKKyB7CisgICBpbnQgY2xhc3M7CitAQCAtMTcxLDcgKzE3NCw3IEBAIGdydWJfbHNwY2lfaXRlciAoZ3J1Yl9wY2lfZGV2aWNlX3QgZGV2LAorIAorIAkgIGlmIChzcGFjZSA9PSAwKQorIAkgICAgY29udGludWU7CistCSAKKysKKyAJICBzd2l0Y2ggKHNwYWNlICYgR1JVQl9QQ0lfQUREUl9TUEFDRV9NQVNLKQorIAkgICAgeworIAkgICAgY2FzZSBHUlVCX1BDSV9BRERSX1NQQUNFX0lPOgorQEAgLTE5NSwxMyArMTk4LDEzIEBAIGdydWJfbHNwY2lfaXRlciAoZ3J1Yl9wY2lfZGV2aWNlX3QgZGV2LAorIAkJCSAgICAgICAoc3BhY2UgJiBHUlVCX1BDSV9BRERSX01FTV9NQVNLKSwKKyAJCQkgICAgICAgc3BhY2UgJiBHUlVCX1BDSV9BRERSX01FTV9QUkVGRVRDSAorIAkJCSAgICAgICA/ICJwcmVmZXRjaGFibGUiIDogIm5vbi1wcmVmZXRjaGFibGUiKTsKKy0JCSAKKysKKyAJCX0KKyAJICAgICAgZWxzZQorIAkJZ3J1Yl9wcmludGYgKCJcdDMyLWJpdCBtZW1vcnkgc3BhY2UgJWQgYXQgMHglMDE2bGx4IFslc11cbiIsCisgCQkJICAgICAodW5zaWduZWQpICgocmVnIC0gR1JVQl9QQ0lfUkVHX0FERFJFU1NFUykKKyAJCQkgICAgICAvIHNpemVvZiAoZ3J1Yl91aW50MzJfdCkpIC0gMSwKKy0JCQkgICAgICh1bnNpZ25lZCBsb25nIGxvbmcpIAorKwkJCSAgICAgKHVuc2lnbmVkIGxvbmcgbG9uZykKKyAJCQkgICAgIChzcGFjZSAmIEdSVUJfUENJX0FERFJfTUVNX01BU0spLAorIAkJCSAgICAgc3BhY2UgJiBHUlVCX1BDSV9BRERSX01FTV9QUkVGRVRDSAorIAkJCSAgICAgPyAicHJlZmV0Y2hhYmxlIiA6ICJub24tcHJlZmV0Y2hhYmxlIik7CistLS0gYS9ncnViLWNvcmUvZnMvY3Bpb19jb21tb24uYworKysrIGIvZ3J1Yi1jb3JlL2ZzL2NwaW9fY29tbW9uLmMKK0BAIC0yNiw3ICsyNiw5IEBACisgI2luY2x1ZGUgPGdydWIvYXJjaGVscC5oPgorIAorIEdSVUJfTU9EX0xJQ0VOU0UgKCJHUEx2MysiKTsKKy0KKysjaWYgX19HTlVDX18gPj0gOQorKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdhZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiCisrI2VuZGlmCisgc3RydWN0IGdydWJfYXJjaGVscF9kYXRhCisgeworICAgZ3J1Yl9kaXNrX3QgZGlzazsKK0BAIC0xMDgsNyArMTEwLDcgQEAgZ3J1Yl9jcGlvX2dldF9saW5rX3RhcmdldCAoc3RydWN0IGdydWJfYQorICAgaWYgKCFyZXQpCisgICAgIHJldHVybiBOVUxMOworIAorLSAgZXJyID0gZ3J1Yl9kaXNrX3JlYWQgKGRhdGEtPmRpc2ssIDAsIGRhdGEtPmRvZnMsIGRhdGEtPnNpemUsIAorKyAgZXJyID0gZ3J1Yl9kaXNrX3JlYWQgKGRhdGEtPmRpc2ssIDAsIGRhdGEtPmRvZnMsIGRhdGEtPnNpemUsCisgCQkJcmV0KTsKKyAgIGlmIChlcnIpCisgICAgIHsKKy0tLSBhL2dydWItY29yZS9mcy9oZnMuYworKysrIGIvZ3J1Yi1jb3JlL2ZzL2hmcy5jCitAQCAtMzIsNiArMzIsOSBAQAorICNpbmNsdWRlIDxncnViL2ZzaGVscC5oPgorIAorIEdSVUJfTU9EX0xJQ0VOU0UgKCJHUEx2MysiKTsKKysjaWYgX19HTlVDX18gPj0gOQorKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdhZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiCisrI2VuZGlmCisgCisgI2RlZmluZQlHUlVCX0hGU19TQkxPQ0sJCTIKKyAjZGVmaW5lIEdSVUJfSEZTX0VNQkVEX0hGU1BMVVNfU0lHIDB4NDgyQgorQEAgLTg4Miw3ICs4ODUsNyBAQCBncnViX2hmc19pdGVyYXRlX2Rpcl9pdF9kaXIgKHN0cnVjdCBncnViCisgeworICAgc3RydWN0IGdydWJfaGZzX2NhdGFsb2dfa2V5ICpja2V5ID0gcmVjLT5rZXk7CisgICBzdHJ1Y3QgZ3J1Yl9oZnNfaXRlcmF0ZV9kaXJfbm9kZV9mb3VuZF9jdHggKmN0eCA9IGhvb2tfYXJnOworLSAgCisrCisgICAvKiBTdG9wIHdoZW4gdGhlIGVudHJpZXMgZG8gbm90IG1hdGNoIGFueW1vcmUuICAqLworICAgaWYgKGNrZXktPnBhcmVudF9kaXIgIT0gY3R4LT5kaXJfYmUpCisgICAgIHJldHVybiAxOworQEAgLTEwNzYsNyArMTA3OSw3IEBAIG1hY3JvbWFuX3RvX3V0ZjggKGNoYXIgKnRvLCBjb25zdCBncnViX3UKKyAJeworIAkgICpvcHRyKysgPSAnOic7CisgCSAgY29udGludWU7CistCX0JCisrCX0KKyAgICAgICBpZiAoISgqaXB0ciAmIDB4ODApKQorIAl7CisgCSAgKm9wdHIrKyA9ICppcHRyOworQEAgLTEwOTMsNyArMTA5Niw3IEBAIHV0ZjhfdG9fbWFjcm9tYW4gKGdydWJfdWludDhfdCAqdG8sIGNvbnMKKyAgIGdydWJfdWludDhfdCAqZW5kID0gdG8gKyAzMTsKKyAgIGdydWJfdWludDhfdCAqb3B0ciA9IHRvOworICAgY29uc3QgY2hhciAqaXB0ciA9IGZyb207CistICAKKysKKyAgIHdoaWxlICgqaXB0ciAmJiBvcHRyIDwgZW5kKQorICAgICB7CisgICAgICAgaW50IGksIGNsZW47CitAQCAtMTEwMyw3ICsxMTA2LDcgQEAgdXRmOF90b19tYWNyb21hbiAoZ3J1Yl91aW50OF90ICp0bywgY29ucworIAkgICpvcHRyKysgPSAnLyc7CisgCSAgaXB0cisrOworIAkgIGNvbnRpbnVlOworLQl9CQorKwl9CisgICAgICAgaWYgKCEoKmlwdHIgJiAweDgwKSkKKyAJeworIAkgICpvcHRyKysgPSAqaXB0cisrOworQEAgLTExNjQsNyArMTE2Nyw3IEBAIGxvb2t1cF9maWxlIChncnViX2ZzaGVscF9ub2RlX3QgZGlyLAorICAgKmZvdW5kbm9kZSA9IGdydWJfbWFsbG9jIChzaXplb2YgKHN0cnVjdCBncnViX2ZzaGVscF9ub2RlKSk7CisgICBpZiAoISpmb3VuZG5vZGUpCisgICAgIHJldHVybiBncnViX2Vycm5vOworLSAgCisrCisgICAoKmZvdW5kbm9kZSktPmlub2RlID0gZ3J1Yl9iZV90b19jcHUzMiAoZmRyZWMuZGlyLmRpcmlkKTsKKyAgICgqZm91bmRub2RlKS0+ZmRyZWMgPSBmZHJlYzsKKyAgICgqZm91bmRub2RlKS0+ZGF0YSA9IGRpci0+ZGF0YTsKK0BAIC0xMjY1LDcgKzEyNjgsNyBAQCBncnViX2hmc19kaXIgKGdydWJfZGV2aWNlX3QgZGV2aWNlLCBjb25zCisgICAgICAgLmhvb2tfZGF0YSA9IGhvb2tfZGF0YQorICAgICB9OworICAgZ3J1Yl9mc2hlbHBfbm9kZV90IGZvdW5kID0gTlVMTDsKKy0gIAorKworICAgZ3J1Yl9kbF9yZWYgKG15X21vZCk7CisgCisgICBkYXRhID0gZ3J1Yl9oZnNfbW91bnQgKGRldmljZS0+ZGlzayk7CitAQCAtMTI5NCw3ICsxMjk3LDcgQEAgZ3J1Yl9oZnNfb3BlbiAoc3RydWN0IGdydWJfZmlsZSAqZmlsZSwgYworIHsKKyAgIHN0cnVjdCBncnViX2hmc19kYXRhICpkYXRhOworICAgZ3J1Yl9mc2hlbHBfbm9kZV90IGZvdW5kID0gTlVMTDsKKy0gIAorKworICAgZ3J1Yl9kbF9yZWYgKG15X21vZCk7CisgCisgICBkYXRhID0gZ3J1Yl9oZnNfbW91bnQgKGZpbGUtPmRldmljZS0+ZGlzayk7CistLS0gYS9ncnViLWNvcmUvZnMvaGZzcGx1cy5jCisrKysgYi9ncnViLWNvcmUvZnMvaGZzcGx1cy5jCitAQCAtMTksNyArMTksNyBAQAorIAorIC8qIEhGUysgaXMgZG9jdW1lbnRlZCBhdCBodHRwOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS90ZWNobm90ZXMvdG4vdG4xMTUwLmh0bWwgKi8KKyAKKy0jZGVmaW5lIGdydWJfZnNoZWxwX25vZGUgZ3J1Yl9oZnNwbHVzX2ZpbGUgCisrI2RlZmluZSBncnViX2ZzaGVscF9ub2RlIGdydWJfaGZzcGx1c19maWxlCisgI2luY2x1ZGUgPGdydWIvZXJyLmg+CisgI2luY2x1ZGUgPGdydWIvZmlsZS5oPgorICNpbmNsdWRlIDxncnViL21tLmg+CitAQCAtMzQsNiArMzQsOSBAQAorIAorIEdSVUJfTU9EX0xJQ0VOU0UgKCJHUEx2MysiKTsKKyAKKysjaWYgX19HTlVDX18gPj0gOQorKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdhZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiCisrI2VuZGlmCisgLyogVGhlIHR5cGUgb2Ygbm9kZS4gICovCisgZW51bSBncnViX2hmc3BsdXNfYnRub2RlX3R5cGUKKyAgIHsKK0BAIC0xNDUsNyArMTQ4LDcgQEAgZ3J1Yl9oZnNwbHVzX3JlYWRfYmxvY2sgKGdydWJfZnNoZWxwX25vZAorIHsKKyAgIHN0cnVjdCBncnViX2hmc3BsdXNfYnRub2RlICpubm9kZSA9IDA7CisgICBncnViX2Rpc2tfYWRkcl90IGJsa3NsZWZ0ID0gZmlsZWJsb2NrOworLSAgc3RydWN0IGdydWJfaGZzcGx1c19leHRlbnQgKmV4dGVudHMgPSBub2RlLT5jb21wcmVzc2VkIAorKyAgc3RydWN0IGdydWJfaGZzcGx1c19leHRlbnQgKmV4dGVudHMgPSBub2RlLT5jb21wcmVzc2VkCisgICAgID8gJm5vZGUtPnJlc291cmNlX2V4dGVudHNbMF0gOiAmbm9kZS0+ZXh0ZW50c1swXTsKKyAKKyAgIHdoaWxlICgxKQorQEAgLTQ2MSw3ICs0NjQsNyBAQCBncnViX2hmc3BsdXNfY21wX2V4dGtleSAoc3RydWN0IGdydWJfaGZzCisgCisgICBpZiAoZXh0a2V5X2EtPnR5cGUgPCBleHRrZXlfYi0+dHlwZSkKKyAgICAgcmV0dXJuIC0xOworLSAgCisrCisgICBha2V5ID0gZ3J1Yl9iZV90b19jcHUzMiAoZXh0a2V5X2EtPnN0YXJ0KTsKKyAgIGlmIChha2V5ID4gZXh0a2V5X2ItPnN0YXJ0KQorICAgICByZXR1cm4gMTsKK0BAIC01NDgsNyArNTUxLDcgQEAgZ3J1Yl9oZnNwbHVzX2J0cmVlX3NlYXJjaCAoc3RydWN0IGdydWJfaAorIAkJCSAgIHN0cnVjdCBncnViX2hmc3BsdXNfa2V5X2ludGVybmFsICprZXksCisgCQkJICAgaW50ICgqY29tcGFyZV9rZXlzKSAoc3RydWN0IGdydWJfaGZzcGx1c19rZXkgKmtleWEsCisgCQkJCQkJc3RydWN0IGdydWJfaGZzcGx1c19rZXlfaW50ZXJuYWwgKmtleWIpLAorLQkJCSAgIHN0cnVjdCBncnViX2hmc3BsdXNfYnRub2RlICoqbWF0Y2hub2RlLCAKKysJCQkgICBzdHJ1Y3QgZ3J1Yl9oZnNwbHVzX2J0bm9kZSAqKm1hdGNobm9kZSwKKyAJCQkgICBncnViX29mZl90ICprZXlvZmZzZXQpCisgeworICAgZ3J1Yl91aW50NjRfdCBjdXJybm9kZTsKKy0tLSBhL2dydWItY29yZS9mcy9qZnMuYworKysrIGIvZ3J1Yi1jb3JlL2ZzL2pmcy5jCitAQCAtMjgsNiArMjgsOSBAQAorICNpbmNsdWRlIDxncnViL2kxOG4uaD4KKyAKKyBHUlVCX01PRF9MSUNFTlNFICgiR1BMdjMrIik7CisrI2lmIF9fR05VQ19fID49IDkKKysjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIgorKyNlbmRpZgorIAorICNkZWZpbmUgR1JVQl9KRlNfTUFYX1NZTUxOS19DTlQJOAorICNkZWZpbmUgR1JVQl9KRlNfRklMRVRZUEVfTUFTSwkwMTcwMDAwCistLS0gYS9ncnViLWNvcmUva2Vybi9lZmkvZWZpLmMKKysrKyBiL2dydWItY29yZS9rZXJuL2VmaS9lZmkuYworQEAgLTI5LDYgKzI5LDkgQEAKKyAjaW5jbHVkZSA8Z3J1Yi9tbS5oPgorICNpbmNsdWRlIDxncnViL2xvYWRlci5oPgorIAorKyNpZiBfX0dOVUNfXyA+PSA5CisrI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV2FkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIKKysjZW5kaWYKKyAvKiBUaGUgaGFuZGxlIG9mIEdSVUIgaXRzZWxmLiBGaWxsZWQgaW4gYnkgdGhlIHN0YXJ0dXAgY29kZS4gICovCisgZ3J1Yl9lZmlfaGFuZGxlX3QgZ3J1Yl9lZmlfaW1hZ2VfaGFuZGxlOworIAorQEAgLTIwMSw3ICsyMDQsNyBAQCBncnViX2VmaV9zZXRfdmFyaWFibGUoY29uc3QgY2hhciAqdmFyLCBjCisgCisgICByID0gZ3J1Yl9lZmlfc3lzdGVtX3RhYmxlLT5ydW50aW1lX3NlcnZpY2VzOworIAorLSAgc3RhdHVzID0gZWZpX2NhbGxfNSAoci0+c2V0X3ZhcmlhYmxlLCB2YXIxNiwgZ3VpZCwgCisrICBzdGF0dXMgPSBlZmlfY2FsbF81IChyLT5zZXRfdmFyaWFibGUsIHZhcjE2LCBndWlkLAorIAkJICAgICAgIChHUlVCX0VGSV9WQVJJQUJMRV9OT05fVk9MQVRJTEUKKyAJCQl8IEdSVUJfRUZJX1ZBUklBQkxFX0JPT1RTRVJWSUNFX0FDQ0VTUworIAkJCXwgR1JVQl9FRklfVkFSSUFCTEVfUlVOVElNRV9BQ0NFU1MpLAorLS0tIGEvZ3J1Yi1jb3JlL2xvYWRlci9lZmkvY2hhaW5sb2FkZXIuYworKysrIGIvZ3J1Yi1jb3JlL2xvYWRlci9lZmkvY2hhaW5sb2FkZXIuYworQEAgLTQxLDYgKzQxLDkgQEAKKyAjZW5kaWYKKyAKKyBHUlVCX01PRF9MSUNFTlNFICgiR1BMdjMrIik7CisrI2lmIF9fR05VQ19fID49IDkKKysjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIgorKyNlbmRpZgorIAorIHN0YXRpYyBncnViX2RsX3QgbXlfbW9kOworIAorLS0tIGEvZ3J1Yi1jb3JlL2NvbW1hbmRzL3VzYnRlc3QuYworKysrIGIvZ3J1Yi1jb3JlL2NvbW1hbmRzL3VzYnRlc3QuYworQEAgLTYzLDYgKzYzLDEwIEBAIHN0YXRpYyBjb25zdCBjaGFyICp1c2JfZGV2c3BlZWRbXSA9CisgICAgICJIaWdoIgorICAgfTsKKyAKKysjaWYgX19HTlVDX18gPj0gOQorKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdhZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiCisrI2VuZGlmCisrCisgc3RhdGljIGdydWJfdXNiX2Vycl90CisgZ3J1Yl91c2JfZ2V0X3N0cmluZyAoZ3J1Yl91c2JfZGV2aWNlX3QgZGV2LCBncnViX3VpbnQ4X3QgaW5kZXgsIGludCBsYW5naWQsCisgCQkgICAgIGNoYXIgKipzdHJpbmcpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ic3AvZ3J1Yi9maWxlcy9maXguYnVpbGQud2l0aC5zcXVhc2hmcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC9ncnViL2ZpbGVzL2ZpeC5idWlsZC53aXRoLnNxdWFzaGZzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjMmQyZWEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ic3AvZ3J1Yi9maWxlcy9maXguYnVpbGQud2l0aC5zcXVhc2hmcy5wYXRjaApAQCAtMCwwICsxLDI0IEBACitXaGVuIHNxdWFzaGZzIHN1cHBvcnQgaXMgZW5hYmxlZCwgdGhlIGJ1aWxkIGZhaWxzIHdpdGg6CisKKy4uL2dydWItMi4wMi9ncnViLWNvcmUvZnMvc3F1YXNoNC5jOiBJbiBmdW5jdGlvbiAnZGlyZWN0X3JlYWQnOgorLi4vZ3J1Yi0yLjAyL2dydWItY29yZS9mcy9zcXVhc2g0LmM6ODY4OjEwOiBlcnJvcjogJ2VycicgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWRdCisgICAgICAgaWYgKGVycikKKyAgICAgICAgICBeCitjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycworTWFrZWZpbGU6NzI3MjogcmVjaXBlIGZvciB0YXJnZXQgJ2dydWItY29yZS9mcy9saWJncnVibW9kc19hLXNxdWFzaDQubycgZmFpbGVkCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZyAoc2hvdWxkIGJlIGZpeGVkIGluIGdudWxpYiB3aGljaCBpcyB0aGVuIHJhcmVseSB1cGRhdGVkIGluIGdydWIpCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKworLS0tIGdydWItMi4wMi9ncnViLWNvcmUvZnMvc3F1YXNoNC5jCTIwMTktMDMtMTAgMjA6MDA6MTQuMDcwNDY4NzI4ICswMDAwCisrKysgZ3J1Yi0yLjAyLmZpeGVkL2dydWItY29yZS9mcy9zcXVhc2g0LmMJMjAxOS0wMy0xMCAxOTo1ODozMS4zODI0Nzc4MTggKzAwMDAKK0BAIC03NDYsNyArNzQ2LDcgQEAKKyAJICAgICBzdHJ1Y3QgZ3J1Yl9zcXVhc2hfY2FjaGVfaW5vZGUgKmlubywKKyAJICAgICBncnViX29mZl90IG9mZiwgY2hhciAqYnVmLCBncnViX3NpemVfdCBsZW4pCisgeworLSAgZ3J1Yl9lcnJfdCBlcnI7CisrICBncnViX2Vycl90IGVyciA9IDA7CisgICBncnViX29mZl90IGN1bXVsYXRlZF91bmNvbXByZXNzZWRfc2l6ZSA9IDA7CisgICBncnViX3VpbnQ2NF90IGEgPSAwOworICAgZ3J1Yl9zaXplX3QgaTsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC9ncnViL2dydWIyLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC9ncnViL2dydWIyLmluYwppbmRleCA4ZTBmODYyLi5jNjk5NDcyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ic3AvZ3J1Yi9ncnViMi5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtYnNwL2dydWIvZ3J1YjIuaW5jCkBAIC0yMSw2ICsyMSw4IEBACiAgICAgICAgICAgIGZpbGU6Ly9nY2M4LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEteDg2LTY0LVRyZWF0LVJfWDg2XzY0X1BMVDMyLWFzLVJfWDg2XzY0X1BDMzIucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1ncnViLXNldHVwLURlYnVnLW1lc3NhZ2UtY2xlYW51cC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kaXNhYmxlLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9maXguYnVpbGQud2l0aC5zcXVhc2hmcy5wYXRjaCBcCiAiCiBTUkNfVVJJW21kNXN1bV0gPSAiMTExNmQxZjYwYzg0MGU2ZGJkNjdhYmJjOTlhY2I0NWQiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjYwZWUxMzZmYmNlZTA4ODU4NTE2ZWQ0ZGUyYWQ4NzA2OGJmZTFiNmI4YjM3ODk2Y2UzNTI5ZmYwNTRhNzI2ZCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvZmlsZXMvQ1ZFLTIwMTgtMTAwMDIwNS0xLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC9maWxlcy9DVkUtMjAxOC0xMDAwMjA1LTEucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZlZDNjM2QuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC9maWxlcy9DVkUtMjAxOC0xMDAwMjA1LTEucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1OSArMCwwIEBACi1Gcm9tIDczNDZjMWUxOTJkNjNjZDM1Zjk5YzdlODQ1ZTUzYzVkNGQwYmRjMjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBUZWRkeSBSZWVkIDx0ZWRkeS5yZWVkQGdtYWlsLmNvbT4KLURhdGU6IFNhdCwgOSBKdW4gMjAxOCAxMTo0NToyMCAtMDQwMAotU3ViamVjdDogW1BBVENIXSB2Ym9vdDogRG8gbm90IHVzZSBoYXNoZWQtc3RyaW5ncyBvZmZzZXQKLQotVGhlIGhhc2hlZC1zdHJpbmdzIHNpZ25hdHVyZSBwcm9wZXJ0eSBpbmNsdWRlcyB0d28gdWludDMyX3QgdmFsdWVzLgotVGhlIGZpcnN0IGlzIHVubmVlZGVkIGFzIHRoZXJlIHNob3VsZCBuZXZlciBiZSBhIHN0YXJ0IG9mZnNldCBpbnRvIHRoZQotc3RyaW5ncyByZWdpb24uIFRoZSBzZWNvbmQsIHRoZSBzaXplLCBpcyBuZWVkZWQgYmVjYXVzZSB0aGUgYWRkZWQKLXNpZ25hdHVyZSBub2RlIGFwcGVuZHMgdG8gdGhpcyByZWdpb24uCi0KLVNlZSB0b29scy9pbWFnZS1ob3N0LmMsIHdoZXJlIGEgc3RhdGljIDAgdmFsdWUgaXMgdXNlZCBmb3IgdGhlIG9mZnNldC4KLQotU2lnbmVkLW9mZi1ieTogVGVkZHkgUmVlZCA8dGVkZHkucmVlZEBnbWFpbC5jb20+Ci1SZXZpZXdlZC1ieTogU2ltb24gR2xhc3MgPHNqZ0BjaHJvbWl1bS5vcmc+Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnRbaHR0cDovL2dpdC5kZW54LmRlLz9wPXUtYm9vdC5naXQ7YT1jb21taXQ7Ci0gICAgICAgICAgICAgICAgIGg9NzM0NmMxZTE5MmQ2M2NkMzVmOTljN2U4NDVlNTNjNWQ0ZDBiZGMyNF0KLQotQ1ZFOiBDVkUtMjAxOC0xMDAwMjA1Ci0KLVNpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBjb21tb24vaW1hZ2Utc2lnLmMgfCA3ICsrKysrLS0KLSB0b29scy9pbWFnZS1ob3N0LmMgfCAxICsKLSAyIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NvbW1vbi9pbWFnZS1zaWcuYyBiL2NvbW1vbi9pbWFnZS1zaWcuYwotaW5kZXggOGQyZmQxMC4uNWEyNjlkMyAxMDA2NDQKLS0tLSBhL2NvbW1vbi9pbWFnZS1zaWcuYwotKysrIGIvY29tbW9uL2ltYWdlLXNpZy5jCi1AQCAtMzc3LDggKzM3NywxMSBAQCBpbnQgZml0X2NvbmZpZ19jaGVja19zaWcoY29uc3Qgdm9pZCAqZml0LCBpbnQgbm9mZnNldCwgaW50IHJlcXVpcmVkX2tleW5vZGUsCi0gCS8qIEFkZCB0aGUgc3RyaW5ncyAqLwotIAlzdHJpbmdzID0gZmR0X2dldHByb3AoZml0LCBub2Zmc2V0LCAiaGFzaGVkLXN0cmluZ3MiLCBOVUxMKTsKLSAJaWYgKHN0cmluZ3MpIHsKLS0JCWZkdF9yZWdpb25zW2NvdW50XS5vZmZzZXQgPSBmZHRfb2ZmX2R0X3N0cmluZ3MoZml0KSArCi0tCQkJCWZkdDMyX3RvX2NwdShzdHJpbmdzWzBdKTsKLSsJCS8qCi0rCQkgKiBUaGUgc3RyaW5ncyByZWdpb24gb2Zmc2V0IG11c3QgYmUgYSBzdGF0aWMgMHgwLgotKwkJICogVGhpcyBpcyBzZXQgaW4gdG9vbC9pbWFnZS1ob3N0LmMKLSsJCSAqLwotKwkJZmR0X3JlZ2lvbnNbY291bnRdLm9mZnNldCA9IGZkdF9vZmZfZHRfc3RyaW5ncyhmaXQpOwotIAkJZmR0X3JlZ2lvbnNbY291bnRdLnNpemUgPSBmZHQzMl90b19jcHUoc3RyaW5nc1sxXSk7Ci0gCQljb3VudCsrOwotIAl9Ci1kaWZmIC0tZ2l0IGEvdG9vbHMvaW1hZ2UtaG9zdC5jIGIvdG9vbHMvaW1hZ2UtaG9zdC5jCi1pbmRleCA4ZTQzNjcxLi5iZTJkNTliIDEwMDY0NAotLS0tIGEvdG9vbHMvaW1hZ2UtaG9zdC5jCi0rKysgYi90b29scy9pbWFnZS1ob3N0LmMKLUBAIC0xMzUsNiArMTM1LDcgQEAgc3RhdGljIGludCBmaXRfaW1hZ2Vfd3JpdGVfc2lnKHZvaWQgKmZpdCwgaW50IG5vZmZzZXQsIHVpbnQ4X3QgKnZhbHVlLAotIAotIAkJcmV0ID0gZmR0X3NldHByb3AoZml0LCBub2Zmc2V0LCAiaGFzaGVkLW5vZGVzIiwKLSAJCQkJICAgcmVnaW9uX3Byb3AsIHJlZ2lvbl9wcm9wbGVuKTsKLSsJCS8qIFRoaXMgaXMgYSBsZWdhY3kgb2Zmc2V0LCBpdCBpcyB1bnVzZWQsIGFuZCBtdXN0IHJlbWFpbiAwLiAqLwotIAkJc3RyZGF0YVswXSA9IDA7Ci0gCQlzdHJkYXRhWzFdID0gY3B1X3RvX2ZkdDMyKHN0cmluZ19zaXplKTsKLSAJCWlmICghcmV0KSB7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvZmlsZXMvQ1ZFLTIwMTgtMTAwMDIwNS0yLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC9maWxlcy9DVkUtMjAxOC0xMDAwMjA1LTIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJiNzlhZjEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC9maWxlcy9DVkUtMjAxOC0xMDAwMjA1LTIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNDMgKzAsMCBAQAotRnJvbSA3MjIzOWZjODVmM2VkYTA3ODU0Nzk1NjYwOGMwNjNhYjk2NWU5MGU5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVGVkZHkgUmVlZCA8dGVkZHkucmVlZEBnbWFpbC5jb20+Ci1EYXRlOiBTYXQsIDkgSnVuIDIwMTggMTE6Mzg6MDUgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gdmJvb3Q6IEFkZCBGSVRfU0lHTkFUVVJFX01BWF9TSVpFIHByb3RlY3Rpb24KLQotVGhpcyBhZGRzIGEgbmV3IGNvbmZpZyB2YWx1ZSBGSVRfU0lHTkFUVVJFX01BWF9TSVpFLCB3aGljaCBjb250cm9scyB0aGUKLW1heCBzaXplIG9mIGEgRklUIGhlYWRlcidzIHRvdGFsc2l6ZSBmaWVsZC4gVGhlIGZpZWxkIGlzIGNoZWNrZWQgYmVmb3JlCi1zaWduYXR1cmUgY2hlY2tzIGFyZSBhcHBsaWVkIHRvIHByb3RlY3QgZnJvbSByZWFkaW5nIHBhc3QgdGhlIGludGVuZGVkCi1GSVQgcmVnaW9ucy4KLQotVGhpcyBmaWVsZCBpcyBub3QgcGFydCBvZiB0aGUgdmJvb3Qgc2lnbmF0dXJlIHNvIGl0IHNob3VsZCBiZSBzYW5pdHkKLWNoZWNrZWQuIElmIHRoZSBmaWVsZCBpcyBjb3JydXB0ZWQgdGhlbiB0aGUgc3RydWN0dXJlIG9yIHN0cmluZyByZWdpb24KLXJlYWRzIG1heSBoYXZlIHVuaW50ZW5kZWQgYmVoYXZpb3IsIHN1Y2ggYXMgcmVhZGluZyBmcm9tIGRldmljZSBtZW1vcnkuCi1BIGRlZmF1bHQgdmFsdWUgb2YgMjU2TUIgaXMgc2V0IGFuZCBpbnRlbmRlZCB0byBzdXBwb3J0IG1vc3QgbWF4IHN0b3JhZ2UKLXNpemVzLgotCi1TdWdnZXN0ZWQtYnk6IFNpbW9uIEdsYXNzIDxzamdAY2hyb21pdW0ub3JnPgotU2lnbmVkLW9mZi1ieTogVGVkZHkgUmVlZCA8dGVkZHkucmVlZEBnbWFpbC5jb20+Ci1SZXZpZXdlZC1ieTogU2ltb24gR2xhc3MgPHNqZ0BjaHJvbWl1bS5vcmc+Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnRbaHR0cDovL2dpdC5kZW54LmRlLz9wPXUtYm9vdC5naXQ7YT1jb21taXQ7Ci0gICAgICAgICAgICAgICAgIGg9NzIyMzlmYzg1ZjNlZGEwNzg1NDc5NTY2MDhjMDYzYWI5NjVlOTBlOV0KLQotQ1ZFOiBDVkUtMjAxOC0xMDAwMjA1Ci0KLVNpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBLY29uZmlnICAgICAgICAgICAgICAgICAgICAgfCAxMCArKysrKysrKysrCi0gY29tbW9uL2ltYWdlLXNpZy5jICAgICAgICAgIHwgIDUgKysrKysKLSB0ZXN0L3B5L3Rlc3RzL3Rlc3RfdmJvb3QucHkgfCAzMyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKLSB0b29scy9NYWtlZmlsZSAgICAgICAgICAgICAgfCAgMSArCi0gNCBmaWxlcyBjaGFuZ2VkLCA0OSBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9LY29uZmlnIGIvS2NvbmZpZwotaW5kZXggNWE4MmM5NS4uYzhiODZjZCAxMDA2NDQKLS0tLSBhL0tjb25maWcKLSsrKyBiL0tjb25maWcKLUBAIC0yNjcsNiArMjY3LDE2IEBAIGNvbmZpZyBGSVRfU0lHTkFUVVJFCi0gCSAgZm9ybWF0IHN1cHBvcnQgaW4gdGhpcyBjYXNlLCBlbmFibGUgaXQgdXNpbmcKLSAJICBDT05GSUdfSU1BR0VfRk9STUFUX0xFR0FDWS4KLSAKLStjb25maWcgRklUX1NJR05BVFVSRV9NQVhfU0laRQotKwloZXggIk1heCBzaXplIG9mIHNpZ25lZCBGSVQgc3RydWN0dXJlcyIKLSsJZGVwZW5kcyBvbiBGSVRfU0lHTkFUVVJFCi0rCWRlZmF1bHQgMHgxMDAwMDAwMAotKwloZWxwCi0rCSAgVGhpcyBvcHRpb24gc2V0cyBhIG1heCBzaXplIGluIGJ5dGVzIGZvciB2ZXJpZmllZCBGSVQgdUltYWdlcy4KLSsJICBBIHNhbmUgdmFsdWUgb2YgMjU2TUIgcHJvdGVjdHMgY29ycnVwdGVkIERUQiBzdHJ1Y3R1cmVzIGZyb20gb3ZlcmxhcHBpbmcKLSsJICBkZXZpY2UgbWVtb3J5LiBBc3N1cmUgdGhpcyBzaXplIGRvZXMgbm90IGV4dGVuZCBwYXN0IGV4cGVjdGVkIHN0b3JhZ2UKLSsJICBzcGFjZS4KLSsKLSBjb25maWcgRklUX1ZFUkJPU0UKLSAJYm9vbCAiU2hvdyB2ZXJib3NlIG1lc3NhZ2VzIHdoZW4gRklUIGltYWdlcyBmYWlsIgotIAloZWxwCi1kaWZmIC0tZ2l0IGEvY29tbW9uL2ltYWdlLXNpZy5jIGIvY29tbW9uL2ltYWdlLXNpZy5jCi1pbmRleCBmNjVkODgzLi44ZDJmZDEwIDEwMDY0NAotLS0tIGEvY29tbW9uL2ltYWdlLXNpZy5jCi0rKysgYi9jb21tb24vaW1hZ2Utc2lnLmMKLUBAIC0xNTYsNiArMTU2LDExIEBAIHN0YXRpYyBpbnQgZml0X2ltYWdlX3NldHVwX3ZlcmlmeShzdHJ1Y3QgaW1hZ2Vfc2lnbl9pbmZvICppbmZvLAotIHsKLSAJY2hhciAqYWxnb19uYW1lOwotIAotKwlpZiAoZmR0X3RvdGFsc2l6ZShmaXQpID4gQ09ORklHX0ZJVF9TSUdOQVRVUkVfTUFYX1NJWkUpIHsKLSsJCSplcnJfbXNncCA9ICJUb3RhbCBzaXplIHRvbyBsYXJnZSI7Ci0rCQlyZXR1cm4gMTsKLSsJfQotKwotIAlpZiAoZml0X2ltYWdlX2hhc2hfZ2V0X2FsZ28oZml0LCBub2Zmc2V0LCAmYWxnb19uYW1lKSkgewotIAkJKmVycl9tc2dwID0gIkNhbid0IGdldCBoYXNoIGFsZ28gcHJvcGVydHkiOwotIAkJcmV0dXJuIC0xOwotZGlmZiAtLWdpdCBhL3Rlc3QvcHkvdGVzdHMvdGVzdF92Ym9vdC5weSBiL3Rlc3QvcHkvdGVzdHMvdGVzdF92Ym9vdC5weQotaW5kZXggZWU5MzlmMi4uM2QyNWVjMyAxMDA2NDQKLS0tLSBhL3Rlc3QvcHkvdGVzdHMvdGVzdF92Ym9vdC5weQotKysrIGIvdGVzdC9weS90ZXN0cy90ZXN0X3Zib290LnB5Ci1AQCAtMjYsNiArMjYsNyBAQCBUZXN0cyBydW4gd2l0aCBib3RoIFNIQTEgYW5kIFNIQTI1NiBoYXNoaW5nLgotIAotIGltcG9ydCBweXRlc3QKLSBpbXBvcnQgc3lzCi0raW1wb3J0IHN0cnVjdAotIGltcG9ydCB1X2Jvb3RfdXRpbHMgYXMgdXRpbAotIAotIEBweXRlc3QubWFyay5ib2FyZHNwZWMoJ3NhbmRib3gnKQotQEAgLTEwNSw2ICsxMDYsMjYgQEAgZGVmIHRlc3RfdmJvb3QodV9ib290X2NvbnNvbGUpOgotICAgICAgICAgdXRpbC5ydW5fYW5kX2xvZyhjb25zLCBbbWtpbWFnZSwgJy1GJywgJy1rJywgdG1wZGlyLCAnLUsnLCBkdGIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLXInLCBmaXRdKQotIAotKyAgICBkZWYgcmVwbGFjZV9maXRfdG90YWxzaXplKHNpemUpOgotKyAgICAgICAgIiIiUmVwbGFjZSBGSVQgaGVhZGVyJ3MgdG90YWxzaXplIHdpdGggc29tZXRoaW5nIGdyZWF0ZXIuCi0rCi0rICAgICAgICBUaGUgdG90YWxzaXplIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIEZJVF9TSUdOQVRVUkVfTUFYX1NJWkUuCi0rICAgICAgICBJZiB0aGUgc2l6ZSBpcyBncmVhdGVyLCB0aGUgc2lnbmF0dXJlIHZlcmlmaWNhdGlvbiBzaG91bGQgcmV0dXJuIGZhbHNlLgotKwotKyAgICAgICAgQXJnczoKLSsgICAgICAgICAgICBzaXplOiBUaGUgbmV3IHRvdGFsc2l6ZSBvZiB0aGUgaGVhZGVyCi0rCi0rICAgICAgICBSZXR1cm5zOgotKyAgICAgICAgICAgIHByZXZfc2l6ZTogVGhlIHByZXZpb3VzIHRvdGFsc2l6ZSByZWFkIGZyb20gdGhlIGhlYWRlcgotKyAgICAgICAgIiIiCi0rICAgICAgICB0b3RhbF9zaXplID0gMAotKyAgICAgICAgd2l0aCBvcGVuKGZpdCwgJ3IrYicpIGFzIGhhbmRsZToKLSsgICAgICAgICAgICBoYW5kbGUuc2Vlayg0KQotKyAgICAgICAgICAgIHRvdGFsX3NpemUgPSBoYW5kbGUucmVhZCg0KQotKyAgICAgICAgICAgIGhhbmRsZS5zZWVrKDQpCi0rICAgICAgICAgICAgaGFuZGxlLndyaXRlKHN0cnVjdC5wYWNrKCI+SSIsIHNpemUpKQotKyAgICAgICAgcmV0dXJuIHN0cnVjdC51bnBhY2soIj5JIiwgdG90YWxfc2l6ZSlbMF0KLSsKLSAgICAgZGVmIHRlc3Rfd2l0aF9hbGdvKHNoYV9hbGdvKToKLSAgICAgICAgICIiIlRlc3QgdmVyaWZpZWQgYm9vdCB3aXRoIHRoZSBnaXZlbiBoYXNoIGFsZ29yaXRobS4KLSAKLUBAIC0xNDYsNiArMTY3LDE4IEBAIGRlZiB0ZXN0X3Zib290KHVfYm9vdF9jb25zb2xlKToKLSAgICAgICAgIHV0aWwucnVuX2FuZF9sb2coY29ucywgW2ZpdF9jaGVja19zaWduLCAnLWYnLCBmaXQsICctaycsIHRtcGRpciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctaycsIGR0Yl0pCi0gCi0rICAgICAgICAjIFJlcGxhY2UgaGVhZGVyIGJ5dGVzCi0rICAgICAgICBiY2ZnID0gdV9ib290X2NvbnNvbGUuY29uZmlnLmJ1aWxkY29uZmlnCi0rICAgICAgICBtYXhfc2l6ZSA9IGludChiY2ZnLmdldCgnY29uZmlnX2ZpdF9zaWduYXR1cmVfbWF4X3NpemUnLCAweDEwMDAwMDAwKSwgMCkKLSsgICAgICAgIGV4aXN0aW5nX3NpemUgPSByZXBsYWNlX2ZpdF90b3RhbHNpemUobWF4X3NpemUgKyAxKQotKyAgICAgICAgcnVuX2Jvb3RtKHNoYV9hbGdvLCAnU2lnbmVkIGNvbmZpZyB3aXRoIGJhZCBoYXNoJywgJ0JhZCBEYXRhIEhhc2gnLCBGYWxzZSkKLSsgICAgICAgIGNvbnMubG9nLmFjdGlvbignJXM6IENoZWNrIG92ZXJmbG93ZWQgRklUIGhlYWRlciB0b3RhbHNpemUnICUgc2hhX2FsZ28pCi0rCi0rICAgICAgICAjIFJlcGxhY2Ugd2l0aCBleGlzdGluZyBoZWFkZXIgYnl0ZXMKLSsgICAgICAgIHJlcGxhY2VfZml0X3RvdGFsc2l6ZShleGlzdGluZ19zaXplKQotKyAgICAgICAgcnVuX2Jvb3RtKHNoYV9hbGdvLCAnc2lnbmVkIGNvbmZpZycsICdkZXYrJywgVHJ1ZSkKLSsgICAgICAgIGNvbnMubG9nLmFjdGlvbignJXM6IENoZWNrIGRlZmF1bHQgRklUIGhlYWRlciB0b3RhbHNpemUnICUgc2hhX2FsZ28pCi0rCi0gICAgICAgICAjIEluY3JlbWVudCB0aGUgZmlyc3QgYnl0ZSBvZiB0aGUgc2lnbmF0dXJlLCB3aGljaCBzaG91bGQgY2F1c2UgZmFpbHVyZQotICAgICAgICAgc2lnID0gdXRpbC5ydW5fYW5kX2xvZyhjb25zLCAnZmR0Z2V0IC10IGJ4ICVzICVzIHZhbHVlJyAlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmaXQsIHNpZ19ub2RlKSkKLWRpZmYgLS1naXQgYS90b29scy9NYWtlZmlsZSBiL3Rvb2xzL01ha2VmaWxlCi1pbmRleCA1ZGQzM2VkLi4wYzMzNDFlIDEwMDY0NAotLS0tIGEvdG9vbHMvTWFrZWZpbGUKLSsrKyBiL3Rvb2xzL01ha2VmaWxlCi1AQCAtMTMzLDYgKzEzMyw3IEBAIGlmZGVmIENPTkZJR19GSVRfU0lHTkFUVVJFCi0gIyBUaGlzIGFmZmVjdHMgaW5jbHVkZS9pbWFnZS5oLCBidXQgaW5jbHVkaW5nIHRoZSBib2FyZCBjb25maWcgZmlsZQotICMgaXMgdHJpY2t5LCBzbyBtYW51YWxseSBkZWZpbmUgdGhpcyBvcHRpb25zIGhlcmUuCi0gSE9TVF9FWFRSQUNGTEFHUwkrPSAtRENPTkZJR19GSVRfU0lHTkFUVVJFCi0rSE9TVF9FWFRSQUNGTEFHUwkrPSAtRENPTkZJR19GSVRfU0lHTkFUVVJFX01BWF9TSVpFPSQoQ09ORklHX0ZJVF9TSUdOQVRVUkVfTUFYX1NJWkUpCi0gZW5kaWYKLSAKLSBpZmRlZiBDT05GSUdfU1lTX1VfQk9PVF9PRkZTCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvdS1ib290LWNvbW1vbi5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L3UtYm9vdC1jb21tb24uaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjZmI5Y2MKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L3UtYm9vdC1jb21tb24uaW5jCkBAIC0wLDAgKzEsMTUgQEAKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZGVueC5kZS93aWtpL1UtQm9vdC9XZWJIb21lIgorU0VDVElPTiA9ICJib290bG9hZGVycyIKK0RFUEVORFMgKz0gImZsZXgtbmF0aXZlIGJpc29uLW5hdGl2ZSIKKworTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MaWNlbnNlcy9SRUFETUU7bWQ1PTMwNTAzZmQzMjE0MzJmYzcxMzIzOGY1ODIxOTNiNzhlIgorUEUgPSAiMSIKKworIyBXZSB1c2UgdGhlIHJldmlzaW9uIGluIG9yZGVyIHRvIGF2b2lkIGhhdmluZyB0byBmZXRjaCBpdCBmcm9tIHRoZQorIyByZXBvIGR1cmluZyBwYXJzZQorU1JDUkVWID0gImQzNjg5MjY3ZjkyYzU5NTZlMDljYzdkMWJhYTQ3MDAxNDE2NjJiZmYiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LmRlbnguZGUvdS1ib290LmdpdCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvdS1ib290LWNvbW1vbl8yMDE4LjA3LmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvdS1ib290LWNvbW1vbl8yMDE4LjA3LmluYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjJiNDRkYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L3UtYm9vdC1jb21tb25fMjAxOC4wNy5pbmMKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmRlbnguZGUvd2lraS9VLUJvb3QvV2ViSG9tZSIKLVNFQ1RJT04gPSAiYm9vdGxvYWRlcnMiCi1ERVBFTkRTICs9ICJmbGV4LW5hdGl2ZSBiaXNvbi1uYXRpdmUiCi0KLUxJQ0VOU0UgPSAiR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTGljZW5zZXMvUkVBRE1FO21kNT0zMDUwM2ZkMzIxNDMyZmM3MTMyMzhmNTgyMTkzYjc4ZSIKLVBFID0gIjEiCi0KLSMgV2UgdXNlIHRoZSByZXZpc2lvbiBpbiBvcmRlciB0byBhdm9pZCBoYXZpbmcgdG8gZmV0Y2ggaXQgZnJvbSB0aGUKLSMgcmVwbyBkdXJpbmcgcGFyc2UKLVNSQ1JFViA9ICI4YzVkNGZkMGVjMjIyNzAxNTk4YTI3YjI2YWI3MjY1ZDRjZWU0NWEzIgotCi1TUkNfVVJJID0gImdpdDovL2dpdC5kZW54LmRlL3UtYm9vdC5naXQgXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTAwMDIwNS0xLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTEwMDAyMDUtMi5wYXRjaCBcCi0iCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L3UtYm9vdC1mdy11dGlsc18yMDE4LjA3LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC91LWJvb3QtZnctdXRpbHNfMjAxOC4wNy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTJjMTNlNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L3UtYm9vdC1mdy11dGlsc18yMDE4LjA3LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotcmVxdWlyZSB1LWJvb3QtY29tbW9uXyR7UFZ9LmluYwotCi1TVU1NQVJZID0gIlUtQm9vdCBib290bG9hZGVyIGZ3X3ByaW50ZW52L3NldGVudiB1dGlsaXRpZXMiCi1ERVBFTkRTICs9ICJtdGQtdXRpbHMiCi0KLUlOU0FORV9TS0lQXyR7UE59ID0gImFscmVhZHktc3RyaXBwZWQiCi1FWFRSQV9PRU1BS0VfY2xhc3MtdGFyZ2V0ID0gJ0NST1NTX0NPTVBJTEU9JHtUQVJHRVRfUFJFRklYfSBDQz0iJHtDQ30gJHtDRkxBR1N9ICR7TERGTEFHU30iIEhPU1RDQz0iJHtCVUlMRF9DQ30gJHtCVUlMRF9DRkxBR1N9ICR7QlVJTERfTERGTEFHU30iIFY9MScKLUVYVFJBX09FTUFLRV9jbGFzcy1jcm9zcyA9ICdIT1NUQ0M9IiR7Q0N9ICR7Q0ZMQUdTfSAke0xERkxBR1N9IiBWPTEnCi0KLWluaGVyaXQgdWJvb3QtY29uZmlnCi0KLWRvX2NvbXBpbGUgKCkgewotCW9lX3J1bm1ha2UgJHtVQk9PVF9NQUNISU5FfQotCW9lX3J1bm1ha2UgZW52dG9vbHMKLX0KLQotZG9faW5zdGFsbCAoKSB7Ci0JaW5zdGFsbCAtZCAke0R9JHtiYXNlX3NiaW5kaXJ9Ci0JaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfQotCWluc3RhbGwgLW0gNzU1ICR7U30vdG9vbHMvZW52L2Z3X3ByaW50ZW52ICR7RH0ke2Jhc2Vfc2JpbmRpcn0vZndfcHJpbnRlbnYKLQlpbnN0YWxsIC1tIDc1NSAke1N9L3Rvb2xzL2Vudi9md19wcmludGVudiAke0R9JHtiYXNlX3NiaW5kaXJ9L2Z3X3NldGVudgotCWluc3RhbGwgLW0gMDY0NCAke1N9L3Rvb2xzL2Vudi9md19lbnYuY29uZmlnICR7RH0ke3N5c2NvbmZkaXJ9L2Z3X2Vudi5jb25maWcKLX0KLQotZG9faW5zdGFsbF9jbGFzcy1jcm9zcyAoKSB7Ci0JaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJfY3Jvc3N9Ci0JaW5zdGFsbCAtbSA3NTUgJHtTfS90b29scy9lbnYvZndfcHJpbnRlbnYgJHtEfSR7YmluZGlyX2Nyb3NzfS9md19wcmludGVudgotCWluc3RhbGwgLW0gNzU1ICR7U30vdG9vbHMvZW52L2Z3X3ByaW50ZW52ICR7RH0ke2JpbmRpcl9jcm9zc30vZndfc2V0ZW52Ci19Ci0KLVNZU1JPT1RfRElSU19hcHBlbmRfY2xhc3MtY3Jvc3MgPSAiICR7YmluZGlyX2Nyb3NzfSIKLQotUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKLUJCQ0xBU1NFWFRFTkQgPSAiY3Jvc3MiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L3UtYm9vdC1mdy11dGlsc18yMDE5LjAxLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC91LWJvb3QtZnctdXRpbHNfMjAxOS4wMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNWNlNTY4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC91LWJvb3QtZnctdXRpbHNfMjAxOS4wMS5iYgpAQCAtMCwwICsxLDM0IEBACityZXF1aXJlIHUtYm9vdC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiVS1Cb290IGJvb3Rsb2FkZXIgZndfcHJpbnRlbnYvc2V0ZW52IHV0aWxpdGllcyIKK0RFUEVORFMgKz0gIm10ZC11dGlscyIKKworSU5TQU5FX1NLSVBfJHtQTn0gPSAiYWxyZWFkeS1zdHJpcHBlZCIKK0VYVFJBX09FTUFLRV9jbGFzcy10YXJnZXQgPSAnQ1JPU1NfQ09NUElMRT0ke1RBUkdFVF9QUkVGSVh9IENDPSIke0NDfSAke0NGTEFHU30gJHtMREZMQUdTfSIgSE9TVENDPSIke0JVSUxEX0NDfSAke0JVSUxEX0NGTEFHU30gJHtCVUlMRF9MREZMQUdTfSIgVj0xJworRVhUUkFfT0VNQUtFX2NsYXNzLWNyb3NzID0gJ0hPU1RDQz0iJHtDQ30gJHtDRkxBR1N9ICR7TERGTEFHU30iIFY9MScKKworaW5oZXJpdCB1Ym9vdC1jb25maWcKKworZG9fY29tcGlsZSAoKSB7CisJb2VfcnVubWFrZSAke1VCT09UX01BQ0hJTkV9CisJb2VfcnVubWFrZSBlbnZ0b29scworfQorCitkb19pbnN0YWxsICgpIHsKKwlpbnN0YWxsIC1kICR7RH0ke2Jhc2Vfc2JpbmRpcn0KKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9CisJaW5zdGFsbCAtbSA3NTUgJHtTfS90b29scy9lbnYvZndfcHJpbnRlbnYgJHtEfSR7YmFzZV9zYmluZGlyfS9md19wcmludGVudgorCWluc3RhbGwgLW0gNzU1ICR7U30vdG9vbHMvZW52L2Z3X3ByaW50ZW52ICR7RH0ke2Jhc2Vfc2JpbmRpcn0vZndfc2V0ZW52CisJaW5zdGFsbCAtbSAwNjQ0ICR7U30vdG9vbHMvZW52L2Z3X2Vudi5jb25maWcgJHtEfSR7c3lzY29uZmRpcn0vZndfZW52LmNvbmZpZworfQorCitkb19pbnN0YWxsX2NsYXNzLWNyb3NzICgpIHsKKwlpbnN0YWxsIC1kICR7RH0ke2JpbmRpcl9jcm9zc30KKwlpbnN0YWxsIC1tIDc1NSAke1N9L3Rvb2xzL2Vudi9md19wcmludGVudiAke0R9JHtiaW5kaXJfY3Jvc3N9L2Z3X3ByaW50ZW52CisJaW5zdGFsbCAtbSA3NTUgJHtTfS90b29scy9lbnYvZndfcHJpbnRlbnYgJHtEfSR7YmluZGlyX2Nyb3NzfS9md19zZXRlbnYKK30KKworU1lTUk9PVF9ESVJTX2FwcGVuZF9jbGFzcy1jcm9zcyA9ICIgJHtiaW5kaXJfY3Jvc3N9IgorCitQQUNLQUdFX0FSQ0ggPSAiJHtNQUNISU5FX0FSQ0h9IgorQkJDTEFTU0VYVEVORCA9ICJjcm9zcyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvdS1ib290LW1raW1hZ2VfMjAxOC4wNy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvdS1ib290LW1raW1hZ2VfMjAxOC4wNy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDhiZmYxZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L3UtYm9vdC1ta2ltYWdlXzIwMTguMDcuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1yZXF1aXJlIHUtYm9vdC1jb21tb25fJHtQVn0uaW5jCi0KLVNVTU1BUlkgPSAiVS1Cb290IGJvb3Rsb2FkZXIgaW1hZ2UgY3JlYXRpb24gdG9vbCIKLURFUEVORFMgKz0gIm9wZW5zc2wiCi0KLUVYVFJBX09FTUFLRV9jbGFzcy10YXJnZXQgPSAnQ1JPU1NfQ09NUElMRT0iJHtUQVJHRVRfUFJFRklYfSIgQ0M9IiR7Q0N9ICR7Q0ZMQUdTfSAke0xERkxBR1N9IiBIT1NUQ0M9IiR7QlVJTERfQ0N9ICR7QlVJTERfQ0ZMQUdTfSAke0JVSUxEX0xERkxBR1N9IiBTVFJJUD10cnVlIFY9MScKLUVYVFJBX09FTUFLRV9jbGFzcy1uYXRpdmUgPSAnQ0M9IiR7QlVJTERfQ0N9ICR7QlVJTERfQ0ZMQUdTfSAke0JVSUxEX0xERkxBR1N9IiBIT1NUQ0M9IiR7QlVJTERfQ0N9ICR7QlVJTERfQ0ZMQUdTfSAke0JVSUxEX0xERkxBR1N9IiBTVFJJUD10cnVlIFY9MScKLUVYVFJBX09FTUFLRV9jbGFzcy1uYXRpdmVzZGsgPSAnQ1JPU1NfQ09NUElMRT0iJHtIT1NUX1BSRUZJWH0iIENDPSIke0NDfSAke0NGTEFHU30gJHtMREZMQUdTfSIgSE9TVENDPSIke0JVSUxEX0NDfSAke0JVSUxEX0NGTEFHU30gJHtCVUlMRF9MREZMQUdTfSIgU1RSSVA9dHJ1ZSBWPTEnCi0KLWRvX2NvbXBpbGUgKCkgewotCW9lX3J1bm1ha2Ugc2FuZGJveF9kZWZjb25maWcKLQotCSMgRGlzYWJsZSBDT05GSUdfQ01EX0xJQ0VOU0UsIGxpY2Vuc2UuaCBpcyBub3QgdXNlZCBieSB0b29scyBhbmQKLQkjIGdlbmVyYXRpbmcgaXQgcmVxdWlyZXMgYmluMmhlYWRlciB0b29sLCB3aGljaCBmb3IgdGFyZ2V0IGJ1aWxkCi0JIyBpcyBidWlsdCB3aXRoIHRhcmdldCB0b29scyBhbmQgdGh1cyBjYW5ub3QgYmUgZXhlY3V0ZWQgb24gaG9zdC4KLQlzZWQgLWkgInMvQ09ORklHX0NNRF9MSUNFTlNFPS4qLyMgQ09ORklHX0NNRF9MSUNFTlNFIGlzIG5vdCBzZXQvIiAuY29uZmlnCi0KLQlvZV9ydW5tYWtlIGNyb3NzX3Rvb2xzIE5PX1NETD0xCi19Ci0KLWRvX2luc3RhbGwgKCkgewotCWluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQotCWluc3RhbGwgLW0gMDc1NSB0b29scy9ta2ltYWdlICR7RH0ke2JpbmRpcn0vdWJvb3QtbWtpbWFnZQotCWxuIC1zZiB1Ym9vdC1ta2ltYWdlICR7RH0ke2JpbmRpcn0vbWtpbWFnZQotfQotCi1SREVQRU5EU18ke1BOfSArPSAiZHRjIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L3UtYm9vdC10b29sc18yMDE5LjAxLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC91LWJvb3QtdG9vbHNfMjAxOS4wMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZWRlOTg0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC91LWJvb3QtdG9vbHNfMjAxOS4wMS5iYgpAQCAtMCwwICsxLDY3IEBACityZXF1aXJlIHUtYm9vdC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiVS1Cb290IGJvb3Rsb2FkZXIgdG9vbHMiCitERVBFTkRTICs9ICJvcGVuc3NsIgorCitQUk9WSURFUyA9ICIke01MUFJFRklYfXUtYm9vdC1ta2ltYWdlICR7TUxQUkVGSVh9dS1ib290LW1rZW52aW1hZ2UiCitQUk9WSURFU19jbGFzcy1uYXRpdmUgPSAidS1ib290LW1raW1hZ2UtbmF0aXZlIHUtYm9vdC1ta2VudmltYWdlLW5hdGl2ZSIKKworUEFDS0FHRVMgKz0gIiR7UE59LW1raW1hZ2UgJHtQTn0tbWtlbnZpbWFnZSIKKworIyBSZXF1aXJlZCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoICJ1LWJvb3QtbWtpbWFnZS14eHguYmIiCitSUFJPVklERVNfJHtQTn0tbWtpbWFnZSA9ICJ1LWJvb3QtbWtpbWFnZSIKK1JSRVBMQUNFU18ke1BOfS1ta2ltYWdlID0gInUtYm9vdC1ta2ltYWdlIgorUkNPTkZMSUNUU18ke1BOfS1ta2ltYWdlID0gInUtYm9vdC1ta2ltYWdlIgorCitFWFRSQV9PRU1BS0VfY2xhc3MtdGFyZ2V0ID0gJ0NST1NTX0NPTVBJTEU9IiR7VEFSR0VUX1BSRUZJWH0iIENDPSIke0NDfSAke0NGTEFHU30gJHtMREZMQUdTfSIgSE9TVENDPSIke0JVSUxEX0NDfSAke0JVSUxEX0NGTEFHU30gJHtCVUlMRF9MREZMQUdTfSIgU1RSSVA9dHJ1ZSBWPTEnCitFWFRSQV9PRU1BS0VfY2xhc3MtbmF0aXZlID0gJ0NDPSIke0JVSUxEX0NDfSAke0JVSUxEX0NGTEFHU30gJHtCVUlMRF9MREZMQUdTfSIgSE9TVENDPSIke0JVSUxEX0NDfSAke0JVSUxEX0NGTEFHU30gJHtCVUlMRF9MREZMQUdTfSIgU1RSSVA9dHJ1ZSBWPTEnCitFWFRSQV9PRU1BS0VfY2xhc3MtbmF0aXZlc2RrID0gJ0NST1NTX0NPTVBJTEU9IiR7SE9TVF9QUkVGSVh9IiBDQz0iJHtDQ30gJHtDRkxBR1N9ICR7TERGTEFHU30iIEhPU1RDQz0iJHtCVUlMRF9DQ30gJHtCVUlMRF9DRkxBR1N9ICR7QlVJTERfTERGTEFHU30iIFNUUklQPXRydWUgVj0xJworCitTRURfQ09ORklHX0VGSSA9ICctZSAicy9DT05GSUdfRUZJX0xPQURFUj0uKi8jIENPTkZJR19FRklfTE9BREVSIGlzIG5vdCBzZXQvIicKK1NFRF9DT05GSUdfRUZJX3g4NiA9ICcnCitTRURfQ09ORklHX0VGSV94ODYtNjQgPSAnJworU0VEX0NPTkZJR19FRklfYXJtID0gJycKK1NFRF9DT05GSUdfRUZJX2FybWViID0gJycKK1NFRF9DT05GSUdfRUZJX2FhcmNoNjQgPSAnJworCitkb19jb21waWxlICgpIHsKKwlvZV9ydW5tYWtlIHNhbmRib3hfZGVmY29uZmlnCisKKwkjIERpc2FibGUgQ09ORklHX0NNRF9MSUNFTlNFLCBsaWNlbnNlLmggaXMgbm90IHVzZWQgYnkgdG9vbHMgYW5kCisJIyBnZW5lcmF0aW5nIGl0IHJlcXVpcmVzIGJpbjJoZWFkZXIgdG9vbCwgd2hpY2ggZm9yIHRhcmdldCBidWlsZAorCSMgaXMgYnVpbHQgd2l0aCB0YXJnZXQgdG9vbHMgYW5kIHRodXMgY2Fubm90IGJlIGV4ZWN1dGVkIG9uIGhvc3QuCisJc2VkIC1pIC1lICJzL0NPTkZJR19DTURfTElDRU5TRT0uKi8jIENPTkZJR19DTURfTElDRU5TRSBpcyBub3Qgc2V0LyIgJHtTRURfQ09ORklHX0VGSX0gLmNvbmZpZworCisJb2VfcnVubWFrZSBjcm9zc190b29scyBOT19TREw9MQorfQorCitkb19pbnN0YWxsICgpIHsKKwlpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKworCSMgbWtpbWFnZQorCWluc3RhbGwgLW0gMDc1NSB0b29scy9ta2ltYWdlICR7RH0ke2JpbmRpcn0vdWJvb3QtbWtpbWFnZQorCWxuIC1zZiB1Ym9vdC1ta2ltYWdlICR7RH0ke2JpbmRpcn0vbWtpbWFnZQorCisJIyBta2VudmltYWdlCisJaW5zdGFsbCAtbSAwNzU1IHRvb2xzL21rZW52aW1hZ2UgJHtEfSR7YmluZGlyfS91Ym9vdC1ta2VudmltYWdlCisJbG4gLXNmIHVib290LW1rZW52aW1hZ2UgJHtEfSR7YmluZGlyfS9ta2VudmltYWdlCisKKwkjIGR1bXBpbWFnZQorCWluc3RhbGwgLW0gMDc1NSB0b29scy9kdW1waW1hZ2UgJHtEfSR7YmluZGlyfS91Ym9vdC1kdW1waW1hZ2UKKwlsbiAtc2YgdWJvb3QtZHVtcGltYWdlICR7RH0ke2JpbmRpcn0vZHVtcGltYWdlCisKKwkjIGZpdF9jaGVja19zaWduCisJaW5zdGFsbCAtbSAwNzU1IHRvb2xzL2ZpdF9jaGVja19zaWduICR7RH0ke2JpbmRpcn0vdWJvb3QtZml0X2NoZWNrX3NpZ24KKwlsbiAtc2YgdWJvb3QtZml0X2NoZWNrX3NpZ24gJHtEfSR7YmluZGlyfS9maXRfY2hlY2tfc2lnbgorfQorCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorRklMRVNfJHtQTn0gPSAiIgorRklMRVNfJHtQTn0tbWtpbWFnZSA9ICIke2JpbmRpcn0vdWJvb3QtbWtpbWFnZSAke2JpbmRpcn0vbWtpbWFnZSAke2JpbmRpcn0vdWJvb3QtZHVtcGltYWdlICR7YmluZGlyfS9kdW1waW1hZ2UgJHtiaW5kaXJ9L3Vib290LWZpdF9jaGVja19zaWduICR7YmluZGlyfS9maXRfY2hlY2tfc2lnbiIKK0ZJTEVTXyR7UE59LW1rZW52aW1hZ2UgPSAiJHtiaW5kaXJ9L3Vib290LW1rZW52aW1hZ2UgJHtiaW5kaXJ9L21rZW52aW1hZ2UiCisKK1JERVBFTkRTXyR7UE59LW1raW1hZ2UgKz0gImR0YyIKK1JERVBFTkRTXyR7UE59ICs9ICIke1BOfS1ta2ltYWdlICR7UE59LW1rZW52aW1hZ2UiCitSREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L3UtYm9vdC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L3UtYm9vdC5pbmMKaW5kZXggNDhmYmM1Ny4uOTZjMWY5NCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC91LWJvb3QuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvdS1ib290LmluYwpAQCAtNSw3ICs1LDkgQEAKIAogUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKIAotaW5oZXJpdCB1Ym9vdC1jb25maWcgdWJvb3QtZXh0bGludXgtY29uZmlnIHVib290LXNpZ24gZGVwbG95CitERVBFTkRTICs9ICJrZXJuLXRvb2xzLW5hdGl2ZSIKKworaW5oZXJpdCB1Ym9vdC1jb25maWcgdWJvb3QtZXh0bGludXgtY29uZmlnIHVib290LXNpZ24gZGVwbG95IGNtbDEKIAogREVQRU5EUyArPSAic3dpZy1uYXRpdmUgcHl0aG9uLW5hdGl2ZSIKIApAQCAtNjYsNiArNjgsMjggQEAKIFVCT09UX0VYVExJTlVYX0NPTkZfTkFNRSA/PSAiZXh0bGludXguY29uZiIKIFVCT09UX0VYVExJTlVYX1NZTUxJTksgPz0gIiR7VUJPT1RfRVhUTElOVVhfQ09ORl9OQU1FfS0ke01BQ0hJTkV9LSR7UFJ9IgogCisjIHJldHVybnMgYWxsIHRoZSBlbGVtZW50cyBmcm9tIHRoZSBzcmMgdXJpIHRoYXQgYXJlIC5jZmcgZmlsZXMKK2RlZiBmaW5kX2NmZ3MoZCk6CisgICAgc291cmNlcz1zcmNfcGF0Y2hlcyhkLCBUcnVlKQorICAgIHNvdXJjZXNfbGlzdD1bXQorICAgIGZvciBzIGluIHNvdXJjZXM6CisgICAgICAgIGlmIHMuZW5kc3dpdGgoJy5jZmcnKToKKyAgICAgICAgICAgIHNvdXJjZXNfbGlzdC5hcHBlbmQocykKKworICAgIHJldHVybiBzb3VyY2VzX2xpc3QKKworZG9fY29uZmlndXJlICgpIHsKKyAgICBpZiBbIC16ICIke1VCT09UX0NPTkZJR30iIF07IHRoZW4KKyAgICAgICAgaWYgWyAtbiAiJHtVQk9PVF9NQUNISU5FfSIgXTsgdGhlbgorICAgICAgICAgICAgb2VfcnVubWFrZSAtQyAke1N9IE89JHtCfSAke1VCT09UX01BQ0hJTkV9CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG9lX3J1bm1ha2UgLUMgJHtTfSBPPSR7Qn0gb2xkY29uZmlnCisgICAgICAgIGZpCisgICAgICAgIG1lcmdlX2NvbmZpZy5zaCAtbSAuY29uZmlnICR7QCIgIi5qb2luKGZpbmRfY2ZncyhkKSl9CisgICAgICAgIGNtbDFfZG9fY29uZmlndXJlCisgICAgZmkKK30KKwogZG9fY29tcGlsZSAoKSB7CiAJaWYgWyAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnbGQtaXMtZ29sZCcsIGQpfSIgXTsgdGhlbgogCQlzZWQgLWkgJ3MvJChDUk9TU19DT01QSUxFKWxkJC8kKENST1NTX0NPTVBJTEUpbGQuYmZkL2cnICR7U30vY29uZmlnLm1rCkBAIC0xMDUsNyArMTI5LDYgQEAKICAgICAgICAgZG9uZQogICAgICAgICB1bnNldCAgaQogICAgIGVsc2UKLSAgICAgICAgb2VfcnVubWFrZSAtQyAke1N9IE89JHtCfSAke1VCT09UX01BQ0hJTkV9CiAgICAgICAgIG9lX3J1bm1ha2UgLUMgJHtTfSBPPSR7Qn0gJHtVQk9PVF9NQUtFX1RBUkdFVH0KICAgICBmaQogCkBAIC0yMDEsNyArMjI0LDcgQEAKIAogfQogCi1GSUxFU18ke1BOfSA9ICIvYm9vdCAke3N5c2NvbmZkaXJ9IgorRklMRVNfJHtQTn0gPSAiL2Jvb3QgJHtzeXNjb25mZGlyfSAke2RhdGFkaXJ9IgogCiBkb19kZXBsb3kgKCkgewogICAgIGlmIFsgLW4gIiR7VUJPT1RfQ09ORklHfSIgXQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC91LWJvb3RfMjAxOC4wNy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvdS1ib290XzIwMTguMDcuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM3YzIxZGMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC91LWJvb3RfMjAxOC4wNy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotcmVxdWlyZSB1LWJvb3QtY29tbW9uXyR7UFZ9LmluYwotcmVxdWlyZSB1LWJvb3QuaW5jCi0KLURFUEVORFMgKz0gImJjLW5hdGl2ZSBkdGMtbmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC91LWJvb3RfMjAxOS4wMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvdS1ib290XzIwMTkuMDEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDJkNjdjMAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvdS1ib290XzIwMTkuMDEuYmIKQEAgLTAsMCArMSw0IEBACityZXF1aXJlIHUtYm9vdC1jb21tb24uaW5jCityZXF1aXJlIHUtYm9vdC5pbmMKKworREVQRU5EUyArPSAiYmMtbmF0aXZlIGR0Yy1uYXRpdmUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYXZhaGkvYXZhaGkuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2F2YWhpL2F2YWhpLmluYwppbmRleCAxMTg0Njg0Li44MzM5ZTQ1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYXZhaGkvYXZhaGkuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9hdmFoaS9hdmFoaS5pbmMKQEAgLTE5LDcgKzE5LDkgQEAKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL2F2YWhpLWRhZW1vbi9tYWluLmM7ZW5kbGluZT0yMTttZDU9OWVlNzczNjhjNTQwN2FmNzdjYWFlZjFiMDcyODU5NjkgXAogICAgICAgICAgICAgICAgICAgICBmaWxlOi8vYXZhaGktY2xpZW50L2NsaWVudC5oO2VuZGxpbmU9MjM7bWQ1PWY0YWM3NDFhMjVjNGY0MzQwMzliYTNlMThjODY3NGNmIgogCi1TUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9sYXRoaWF0L2F2YWhpL3JlbGVhc2VzL2Rvd25sb2FkL3Yke1BWfS9hdmFoaS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9sYXRoaWF0L2F2YWhpL3JlbGVhc2VzL2Rvd25sb2FkL3Yke1BWfS9hdmFoaS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZml4LUNWRS0yMDE3LTY1MTkucGF0Y2ggXAorICAgICAgICAgICAiCiAKIFVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vbGF0aGlhdC9hdmFoaS9yZWxlYXNlcy8iCiBTUkNfVVJJW21kNXN1bV0gPSAiZDc2YzU5ZDA4ODJhYzZjMjU2ZDcwYTJhNTg1MzYyYTYiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYXZhaGkvZmlsZXMvZml4LUNWRS0yMDE3LTY1MTkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYXZhaGkvZmlsZXMvZml4LUNWRS0yMDE3LTY1MTkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzQ2MWZlMQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9hdmFoaS9maWxlcy9maXgtQ1ZFLTIwMTctNjUxOS5wYXRjaApAQCAtMCwwICsxLDQ4IEBACitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGh1Yi5jb20vbGF0aGlhdC9hdmFoaS9jb21taXQvZTExMWRlZl0KKworQ1ZFOiBDVkUtMjAxNy02NTE5CisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorCitGcm9tIGUxMTFkZWY0NGE3ZGY0NjI0YTRhYTNmODVmZTk4MDU0YmZmYjZiNGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBUcmVudCBMbG95ZCA8dHJlbnRAbGxveWQuaWQuYXU+CitEYXRlOiBTYXQsIDIyIERlYyAyMDE4IDA5OjA2OjA3ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIERyb3AgbGVnYWN5IHVuaWNhc3QgcXVlcmllcyBmcm9tIGFkZHJlc3Mgbm90IG9uIGxvY2FsIGxpbmsKKworV2hlbiBoYW5kbGluZyBsZWdhY3kgdW5pY2FzdCBxdWVyaWVzLCBlbnN1cmUgdGhhdCB0aGUgc291cmNlIElQIGlzCitpbnNpZGUgYSBzdWJuZXQgb24gdGhlIGxvY2FsIGxpbmssIG90aGVyd2lzZSBkcm9wIHRoZSBwYWNrZXQuCisKK0ZpeGVzICMxNDUKK0ZpeGVzICMyMDMKK0NWRS0yMDE3LTY1MTkKK0NWRS0yMDE4LTEwMDA4NDUKKy0tLQorIGF2YWhpLWNvcmUvc2VydmVyLmMgfCA4ICsrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvYXZhaGktY29yZS9zZXJ2ZXIuYyBiL2F2YWhpLWNvcmUvc2VydmVyLmMKK2luZGV4IGEyY2IxOWE4Li5hMjU4MGUzOCAxMDA2NDQKKy0tLSBhL2F2YWhpLWNvcmUvc2VydmVyLmMKKysrKyBiL2F2YWhpLWNvcmUvc2VydmVyLmMKK0BAIC05MzAsNiArOTMwLDcgQEAgc3RhdGljIHZvaWQgZGlzcGF0Y2hfcGFja2V0KEF2YWhpU2VydmVyICpzLCBBdmFoaURuc1BhY2tldCAqcCwgY29uc3QgQXZhaGlBZGRyZXMKKyAKKyAgICAgaWYgKGF2YWhpX2Ruc19wYWNrZXRfaXNfcXVlcnkocCkpIHsKKyAgICAgICAgIGludCBsZWdhY3lfdW5pY2FzdCA9IDA7CisrICAgICAgICBjaGFyIHRbQVZBSElfQUREUkVTU19TVFJfTUFYXTsKKyAKKyAgICAgICAgIC8qIEZvciBxdWVyaWVzIEVETlMwIG1pZ2h0IGFsbG93IEFSQ09VTlQgIT0gMC4gV2UgaWdub3JlIHRoZQorICAgICAgICAgICogQVIgc2VjdGlvbiBjb21wbGV0ZWx5IGhlcmUsIHNvIGZhci4gVW50aWwgdGhlIGRheSB3ZSBhZGQKK0BAIC05NDcsNiArOTQ4LDEzIEBAIHN0YXRpYyB2b2lkIGRpc3BhdGNoX3BhY2tldChBdmFoaVNlcnZlciAqcywgQXZhaGlEbnNQYWNrZXQgKnAsIGNvbnN0IEF2YWhpQWRkcmVzCisgICAgICAgICAgICAgbGVnYWN5X3VuaWNhc3QgPSAxOworICAgICAgICAgfQorIAorKyAgICAgICAgaWYgKCFpc19tZG5zX21jYXN0X2FkZHJlc3MoZHN0X2FkZHJlc3MpICYmCisrICAgICAgICAgICAgIWF2YWhpX2ludGVyZmFjZV9hZGRyZXNzX29uX2xpbmsoaSwgc3JjX2FkZHJlc3MpKSB7CisrCisrICAgICAgICAgICAgYXZhaGlfbG9nX2RlYnVnKCJSZWNlaXZlZCBub24tbG9jYWwgdW5pY2FzdCBxdWVyeSBmcm9tIGhvc3QgJXMgb24gaW50ZXJmYWNlICclcy4laScuIiwgYXZhaGlfYWRkcmVzc19zbnByaW50KHQsIHNpemVvZih0KSwgc3JjX2FkZHJlc3MpLCBpLT5oYXJkd2FyZS0+bmFtZSwgaS0+cHJvdG9jb2wpOworKyAgICAgICAgICAgIHJldHVybjsKKysgICAgICAgIH0KKysKKyAgICAgICAgIGlmIChsZWdhY3lfdW5pY2FzdCkKKyAgICAgICAgICAgICByZWZsZWN0X2xlZ2FjeV91bmljYXN0X3F1ZXJ5X3BhY2tldChzLCBwLCBpLCBzcmNfYWRkcmVzcywgcG9ydCk7CisgCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmluZC9iaW5kLzAwMDEtYnVpbGQtdXNlLXBrZy1jb25maWctdG8tZmluZC1saWJ4bWwyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JpbmQvYmluZC8wMDAxLWJ1aWxkLXVzZS1wa2ctY29uZmlnLXRvLWZpbmQtbGlieG1sMi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWUyM2MwZi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmluZC9iaW5kLzAwMDEtYnVpbGQtdXNlLXBrZy1jb25maWctdG8tZmluZC1saWJ4bWwyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAoteG1sMi1jb25maWcgaXMgZGlzYWJsZWQsIHNvIGNoYW5nZSB0aGUgY29uZmlndXJlIHNjcmlwdCB0byB1c2UgcGtnY29uZmlnIHRvIGZpbmQKLWxpYnhtbDIuCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZQotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotVXBkYXRlIGNvbnRleHQgZm9yIHZlcnNpb24gOS4xMC4zLVAyLgotCi1TaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KLQotVXBkYXRlIGNvbnRleHQgZm9yIHZlcnNpb24gOS4xMC41LVAzLgotCi1TaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KLS0tLQotIGNvbmZpZ3VyZS5pbiB8IDIzICsrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KLWluZGV4IDRkYTczYTQuLjZmMmE3NTQgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuaW4KLSsrKyBiL2NvbmZpZ3VyZS5pbgotQEAgLTIyODIsMjYgKzIyODIsOSBAQCBjYXNlICIkdXNlX2xpYnhtbDIiIGluCi0gCQlEU1RfTElCWE1MMl9JTkM9IiIKLSAJCTs7Ci0gCWF1dG98eWVzKQotLQkJY2FzZSBYYCh4bWwyLWNvbmZpZyAtLXZlcnNpb24pIDI+L2Rldi9udWxsYCBpbgotLQkJWDIuW1s2Nzg5XV0uKikKLS0JCQlsaWJ4bWwyX2xpYnM9YHhtbDItY29uZmlnIC0tbGlic2AKLS0JCQlsaWJ4bWwyX2NmbGFncz1geG1sMi1jb25maWcgLS1jZmxhZ3NgCi0tCQkJOzsKLS0JCSopCi0tCQkJaWYgdGVzdCAieWVzIiA9ICIkdXNlX2xpYnhtbDIiIDsgdGhlbgotLQkJCQlBQ19NU0dfUkVTVUxUKG5vKQotLQkJCQlBQ19NU0dfRVJST1IocmVxdWlyZWQgbGlieG1sMiB2ZXJzaW9uIG5vdCBhdmFpbGFibGUpCi0tCQkJZWxzZQotLQkJCQlsaWJ4bWwyX2xpYnM9Ci0tCQkJCWxpYnhtbDJfY2ZsYWdzPQotLQkJCWZpCi0tCQkJOzsKLS0JCWVzYWMKLS0JCTs7Ci0tCSopCi0tCQlpZiB0ZXN0IC1mICIkdXNlX2xpYnhtbDIvYmluL3htbDItY29uZmlnIiA7IHRoZW4KLS0JCQlsaWJ4bWwyX2xpYnM9YCR1c2VfbGlieG1sMi9iaW4veG1sMi1jb25maWcgLS1saWJzYAotLQkJCWxpYnhtbDJfY2ZsYWdzPWAkdXNlX2xpYnhtbDIvYmluL3htbDItY29uZmlnIC0tY2ZsYWdzYAotKwkJaWYgcGtnLWNvbmZpZyAtLWV4aXN0cyBsaWJ4bWwtMi4wIDsgdGhlbgotKwkJCWxpYnhtbDJfbGlicz1gcGtnLWNvbmZpZyBsaWJ4bWwtMi4wIC0tbGlic2AKLSsJCQlsaWJ4bWwyX2NmbGFncz1gcGtnLWNvbmZpZyBsaWJ4bWwtMi4wIC0tY2ZsYWdzYAotIAkJZmkKLSAJCTs7Ci0gZXNhYwotLS0gCi0yLjEuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmluZC9iaW5kL0NWRS0yMDE4LTU3NDAucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmluZC9iaW5kL0NWRS0yMDE4LTU3NDAucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdhMmJhN2UuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JpbmQvYmluZC9DVkUtMjAxOC01NzQwLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzIgKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9mdHAuaXNjLm9yZy9pc2MvYmluZDkvOS4xMS40LVAxL3BhdGNoZXMvQ1ZFLTIwMTgtNTc0MF0KLQotQ1ZFOiBDVkUtMjAxOC01NzQwCi0KLVNpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci0KLWRpZmYgLS1naXQgYS9DSEFOR0VTIGIvQ0hBTkdFUwotaW5kZXggNzUwYjYwMC4uM2Q4ZDY1NSAxMDA2NDQKLS0tLSBhL0NIQU5HRVMKLSsrKyBiL0NIQU5HRVMKLUBAIC0xLDMgKzEsOSBAQAotKwktLS0gOS4xMS40LVAxIHJlbGVhc2VkIC0tLQotKwotKzQ5OTcuCVtzZWN1cml0eV0JbmFtZWQgY291bGQgY3Jhc2ggZHVyaW5nIHJlY3Vyc2l2ZSBwcm9jZXNzaW5nCi0rCQkJb2YgRE5BTUUgcmVjb3JkcyB3aGVuICJkZW55LWFuc3dlci1hbGlhc2VzIiB3YXMKLSsJCQlpbiB1c2UuIChDVkUtMjAxOC01NzQwKSBbR0wgIzM4N10KLSsKLSAJLS0tIDkuMTEuNCByZWxlYXNlZCAtLS0KLSAKLSAJLS0tIDkuMTEuNHJjMiByZWxlYXNlZCAtLS0KLWRpZmYgLS1naXQgYS9saWIvZG5zL3Jlc29sdmVyLmMgYi9saWIvZG5zL3Jlc29sdmVyLmMKLWluZGV4IDhmNjc0YTIuLjQxZDEzODUgMTAwNjQ0Ci0tLS0gYS9saWIvZG5zL3Jlc29sdmVyLmMKLSsrKyBiL2xpYi9kbnMvcmVzb2x2ZXIuYwotQEAgLTYzMTgsNiArNjMxOCw3IEBAIGlzX2Fuc3dlcnRhcmdldF9hbGxvd2VkKGZldGNoY3R4X3QgKmZjdHgsIGRuc19uYW1lX3QgKnFuYW1lLCBkbnNfbmFtZV90ICpybmFtZSwKLSAJdW5zaWduZWQgaW50IG5sYWJlbHM7Ci0gCWRuc19maXhlZG5hbWVfdCBmaXhlZDsKLSAJZG5zX25hbWVfdCBwcmVmaXg7Ci0rCWludCBvcmRlcjsKLSAKLSAJUkVRVUlSRShyZGF0YXNldCAhPSBOVUxMKTsKLSAJUkVRVUlSRShyZGF0YXNldC0+dHlwZSA9PSBkbnNfcmRhdGF0eXBlX2NuYW1lIHx8Ci1AQCAtNjM0MCwxNyArNjM0MSwyNSBAQCBpc19hbnN3ZXJ0YXJnZXRfYWxsb3dlZChmZXRjaGN0eF90ICpmY3R4LCBkbnNfbmFtZV90ICpxbmFtZSwgZG5zX25hbWVfdCAqcm5hbWUsCi0gCQl0bmFtZSA9ICZjbmFtZS5jbmFtZTsKLSAJCWJyZWFrOwotIAljYXNlIGRuc19yZGF0YXR5cGVfZG5hbWU6Ci0rCQlpZiAoZG5zX25hbWVfZnVsbGNvbXBhcmUocW5hbWUsIHJuYW1lLCAmb3JkZXIsICZubGFiZWxzKSAhPQotKwkJICAgIGRuc19uYW1lcmVsbl9zdWJkb21haW4pCi0rCQl7Ci0rCQkJcmV0dXJuIChJU0NfVFJVRSk7Ci0rCQl9Ci0gCQlyZXN1bHQgPSBkbnNfcmRhdGFfdG9zdHJ1Y3QoJnJkYXRhLCAmZG5hbWUsIE5VTEwpOwotIAkJUlVOVElNRV9DSEVDSyhyZXN1bHQgPT0gSVNDX1JfU1VDQ0VTUyk7Ci0gCQlkbnNfbmFtZV9pbml0KCZwcmVmaXgsIE5VTEwpOwotIAkJdG5hbWUgPSBkbnNfZml4ZWRuYW1lX2luaXRuYW1lKCZmaXhlZCk7Ci0tCQlubGFiZWxzID0gZG5zX25hbWVfY291bnRsYWJlbHMocW5hbWUpIC0KLS0JCQkgIGRuc19uYW1lX2NvdW50bGFiZWxzKHJuYW1lKTsKLSsJCW5sYWJlbHMgPSBkbnNfbmFtZV9jb3VudGxhYmVscyhybmFtZSk7Ci0gCQlkbnNfbmFtZV9zcGxpdChxbmFtZSwgbmxhYmVscywgJnByZWZpeCwgTlVMTCk7Ci0gCQlyZXN1bHQgPSBkbnNfbmFtZV9jb25jYXRlbmF0ZSgmcHJlZml4LCAmZG5hbWUuZG5hbWUsIHRuYW1lLAotIAkJCQkJICAgICAgTlVMTCk7Ci0tCQlpZiAocmVzdWx0ID09IEROU19SX05BTUVUT09MT05HKQotKwkJaWYgKHJlc3VsdCA9PSBETlNfUl9OQU1FVE9PTE9ORykgewotKwkJCWlmIChjaGFpbmluZ3AgIT0gTlVMTCkgewotKwkJCQkqY2hhaW5pbmdwID0gSVNDX1RSVUU7Ci0rCQkJfQotIAkJCXJldHVybiAoSVNDX1RSVUUpOwotKwkJfQotIAkJUlVOVElNRV9DSEVDSyhyZXN1bHQgPT0gSVNDX1JfU1VDQ0VTUyk7Ci0gCQlicmVhazsKLSAJZGVmYXVsdDoKLUBAIC03MDcxLDcgKzcwODAsOSBAQCBhbnN3ZXJfcmVzcG9uc2UoZmV0Y2hjdHhfdCAqZmN0eCkgewotIAkJfQotIAkJaWYgKChhcmRhdGFzZXQtPnR5cGUgPT0gZG5zX3JkYXRhdHlwZV9jbmFtZSB8fAotIAkJICAgICBhcmRhdGFzZXQtPnR5cGUgPT0gZG5zX3JkYXRhdHlwZV9kbmFtZSkgJiYKLS0JCSAgICAgIWlzX2Fuc3dlcnRhcmdldF9hbGxvd2VkKGZjdHgsIHFuYW1lLCBhbmFtZSwgYXJkYXRhc2V0LAotKwkJICAgIHR5cGUgIT0gYXJkYXRhc2V0LT50eXBlICYmCi0rCQkgICAgdHlwZSAhPSBkbnNfcmRhdGF0eXBlX2FueSAmJgotKwkJICAgICFpc19hbnN3ZXJ0YXJnZXRfYWxsb3dlZChmY3R4LCBxbmFtZSwgYW5hbWUsIGFyZGF0YXNldCwKLSAJCQkJCSAgICAgIE5VTEwpKQotIAkJewotIAkJCXJldHVybiAoRE5TX1JfU0VSVkZBSUwpOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JpbmQvYmluZF85LjExLjQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmluZC9iaW5kXzkuMTEuNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2I0YTIxYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmluZC9iaW5kXzkuMTEuNC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEzNyArMCwwIEBACi1TVU1NQVJZID0gIklTQyBJbnRlcm5ldCBEb21haW4gTmFtZSBTZXJ2ZXIiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmlzYy5vcmcvc3cvYmluZC8iCi1TRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKLQotTElDRU5TRSA9ICJJU0MgJiBCU0QiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZUklHSFQ7bWQ1PTZiYTdjOWZlMGM4ODhhOTQzYzc5YzkzZTZkZTc0NGZiIgotCi1ERVBFTkRTID0gIm9wZW5zc2wgbGliY2FwIHpsaWIiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly9mdHAuaXNjLm9yZy9pc2MvYmluZDkvJHtQVn0vJHtCUE59LSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9jb25mLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL25hbWVkLnNlcnZpY2UgXAotICAgICAgICAgICBmaWxlOi8vYmluZDkgXAotICAgICAgICAgICBmaWxlOi8vZ2VuZXJhdGUtcm5kYy1rZXkuc2ggXAotICAgICAgICAgICBmaWxlOi8vbWFrZS1ldGMtaW5pdGQtYmluZC1zdG9wLXdvcmsucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vaW5pdC5kLWFkZC1zdXBwb3J0LWZvci1yZWFkLW9ubHktcm9vdGZzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2JpbmQtZW5zdXJlLXNlYXJjaGluZy1mb3ItanNvbi1oZWFkZXJzLXNlYXJjaGVzLXN5c3IucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1nZW4uYy1leHRlbmQtRElSTkFNRVNJWkUtZnJvbS0yNTYtdG8tNTEyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtbGliLWRucy1nZW4uYy1maXgtdG9vLWxvbmctZXJyb3IucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUuaW4tcmVtb3ZlLXVzZWxlc3MtTC11c2Vfb3BlbnNzbC1saWIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1uYW1lZC1sd3Jlc2QtVi1hbmQtc3RhcnQtbG9nLWhpZGUtYnVpbGQtb3B0aW9ucy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWF2b2lkLXN0YXJ0LWZhaWx1cmUtd2l0aC1iaW5kLXVzZXIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTgtNTc0MC5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI5YjQ4MzRkNzhmMzBjZGI3OTZjZTQzNzI2MjI3MmEzNiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI1OTUwNzBiMDMxZjg2OWY4OTM5NjU2YjVhNWQxMWIxMjEyMTE5NjdmMTVmNmFmZWFmYTg5NWRmNzQ1Mjc5NjE3IgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9mdHAuaXNjLm9yZy9pc2MvYmluZDkvIgotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiKD9QPHB2ZXI+OShcLlxkKykrKC1QXGQrKSopLyIKLQotaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLXJjLmQgc3lzdGVtZCB1c2VyYWRkIHBrZ2NvbmZpZyBtdWx0aWxpYl9zY3JpcHQKLQotTVVMVElMSUJfU0NSSVBUUyA9ICIke1BOfToke2JpbmRpcn0vYmluZDktY29uZmlnICR7UE59OiR7YmluZGlyfS9pc2MtY29uZmlnLnNoIgotCi0jIFBBQ0tBR0VDT05GSUdzIHJlYWRsaW5lIGFuZCBsaWJlZGl0IHNob3VsZCBOT1QgYmUgc2V0IGF0IHNhbWUgdGltZQotUEFDS0FHRUNPTkZJRyA/PSAicmVhZGxpbmUiCi1QQUNLQUdFQ09ORklHW2h0dHBzdGF0c10gPSAiLS13aXRoLWxpYnhtbDI9JHtTVEFHSU5HX0RJUl9IT1NUfSR7cHJlZml4fSwtLXdpdGhvdXQtbGlieG1sMixsaWJ4bWwyIgotUEFDS0FHRUNPTkZJR1tyZWFkbGluZV0gPSAiLS13aXRoLXJlYWRsaW5lPS1scmVhZGxpbmUsLHJlYWRsaW5lIgotUEFDS0FHRUNPTkZJR1tsaWJlZGl0XSA9ICItLXdpdGgtcmVhZGxpbmU9LWxlZGl0LCxsaWJlZGl0IgotUEFDS0FHRUNPTkZJR1t1cmFuZG9tXSA9ICItLXdpdGgtcmFuZG9tZGV2PS9kZXYvdXJhbmRvbSwtLXdpdGgtcmFuZG9tZGV2PS9kZXYvcmFuZG9tLCwiCi1QQUNLQUdFQ09ORklHW3B5dGhvbjNdID0gIi0td2l0aC1weXRob249JHtQWVRIT059IC0td2l0aC1weXRob24taW5zdGFsbC1kaXI9JHtEfS8ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSAsIC0td2l0aG91dC1weXRob24sIHB5dGhvbjMtcGx5LW5hdGl2ZSwiCi0KLUVOQUJMRV9JUFY2ID0gIi0tZW5hYmxlLWlwdjY9JHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgJ3llcycsICdubycsIGQpfSIKLUVYVFJBX09FQ09ORiA9ICIgJHtFTkFCTEVfSVBWNn0gLS13aXRoLWxpYnRvb2wgLS1lbmFibGUtdGhyZWFkcyBcCi0gICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1kZXZwb2xsIC0tZW5hYmxlLWVwb2xsIC0td2l0aC1nb3N0PW5vIFwKLSAgICAgICAgICAgICAgICAgLS13aXRoLWdzc2FwaT1ubyAtLXdpdGgtZWNkc2E9eWVzIC0td2l0aC1lZGRzYT1ubyBcCi0gICAgICAgICAgICAgICAgIC0td2l0aC1sbWRiPW5vIFwKLSAgICAgICAgICAgICAgICAgLS1zeXNjb25mZGlyPSR7c3lzY29uZmRpcn0vYmluZCBcCi0gICAgICAgICAgICAgICAgIC0td2l0aC1vcGVuc3NsPSR7U1RBR0lOR19ESVJfSE9TVH0ke3ByZWZpeH0gXAotICAgICAgICAgICAgICAgIgotCi1pbmhlcml0ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAncHl0aG9uM25hdGl2ZSBkaXN0dXRpbHMzLWJhc2UnLCAnJywgZCl9Ci0KLSMgZGhjcCBuZWVkcyAubGEgc28ga2VlcCB0aGVtCi1SRU1PVkVfTElCVE9PTF9MQSA9ICIwIgotCi1VU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgotVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItLXN5c3RlbSAtLWhvbWUgJHtsb2NhbHN0YXRlZGlyfS9jYWNoZS9iaW5kIC0tbm8tY3JlYXRlLWhvbWUgXAotICAgICAgICAgICAgICAgICAgICAgICAtLXVzZXItZ3JvdXAgYmluZCIKLQotSU5JVFNDUklQVF9OQU1FID0gImJpbmQiCi1JTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyIKLQotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIm5hbWVkLnNlcnZpY2UiCi0KLWRvX2luc3RhbGxfcHJlcGVuZCgpIHsKLQkjIGNsZWFuIGhvc3QgcGF0aCBpbiBpc2MtY29uZmlnLnNoIGJlZm9yZSB0aGUgaGFyZGxpbmsgY3JlYXRlZAotCSMgYnkgIm1ha2UgaW5zdGFsbCI6Ci0JIyAgIGJpbmQ5LWNvbmZpZyAtPiBpc2MtY29uZmlnLnNoCi0Jc2VkIC1pIC1lICJzLCR7U1RBR0lOR19MSUJESVJ9LCR7bGliZGlyfSwiICR7Qn0vaXNjLWNvbmZpZy5zaAotfQotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLQotCXJtICIke0R9JHtiaW5kaXJ9L25zbG9va3VwIgotCXJtICIke0R9JHttYW5kaXJ9L21hbjEvbnNsb29rdXAuMSIKLQlybWRpciAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuIgotCXJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICIke0R9JHtsb2NhbHN0YXRlZGlyfSIKLQlpbnN0YWxsIC1kIC1vIGJpbmQgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2NhY2hlL2JpbmQiCi0JaW5zdGFsbCAtZCAiJHtEfSR7c3lzY29uZmRpcn0vYmluZCIKLQlpbnN0YWxsIC1kICIke0R9JHtzeXNjb25mZGlyfS9pbml0LmQiCi0JaW5zdGFsbCAtbSA2NDQgJHtTfS9jb25mLyogIiR7RH0ke3N5c2NvbmZkaXJ9L2JpbmQvIgotCWluc3RhbGwgLW0gNzU1ICIke1N9L2luaXQuZCIgIiR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9iaW5kIgotICAgICAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24zJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KLQkJc2VkIC1pIC1lICcxcywjIS4qcHl0aG9uMywjISAvdXNyL2Jpbi9weXRob24zLCcgXAotCQkke0R9JHtzYmluZGlyfS9kbnNzZWMtY292ZXJhZ2UgXAotCQkke0R9JHtzYmluZGlyfS9kbnNzZWMtY2hlY2tkcyBcCi0JCSR7RH0ke3NiaW5kaXJ9L2Ruc3NlYy1rZXltZ3IKLQlmaQotCi0JIyBJbnN0YWxsIHN5c3RlbWQgcmVsYXRlZCBmaWxlcwotCWluc3RhbGwgLWQgJHtEfSR7c2JpbmRpcn0KLQlpbnN0YWxsIC1tIDc1NSAke1dPUktESVJ9L2dlbmVyYXRlLXJuZGMta2V5LnNoICR7RH0ke3NiaW5kaXJ9Ci0JaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L25hbWVkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLQlzZWQgLWkgLWUgJ3MsQEJBU0VfQklORElSQCwke2Jhc2VfYmluZGlyfSxnJyBcCi0JICAgICAgIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnIFwKLQkgICAgICAgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vbmFtZWQuc2VydmljZQotCi0JaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0Ci0JaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vYmluZDkgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdAotCi0JaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KLQkJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kCi0JCWVjaG8gImQgL3J1bi9uYW1lZCAwNzU1IGJpbmQgYmluZCAtIC0iID4gJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC9iaW5kLmNvbmYKLQlmaQotfQotCi1DT05GRklMRVNfJHtQTn0gPSAiIFwKLQkke3N5c2NvbmZkaXJ9L2JpbmQvbmFtZWQuY29uZiBcCi0JJHtzeXNjb25mZGlyfS9iaW5kL25hbWVkLmNvbmYubG9jYWwgXAotCSR7c3lzY29uZmRpcn0vYmluZC9uYW1lZC5jb25mLm9wdGlvbnMgXAotCSR7c3lzY29uZmRpcn0vYmluZC9kYi4wIFwKLQkke3N5c2NvbmZkaXJ9L2JpbmQvZGIuMTI3IFwKLQkke3N5c2NvbmZkaXJ9L2JpbmQvZGIuZW1wdHkgXAotCSR7c3lzY29uZmRpcn0vYmluZC9kYi5sb2NhbCBcCi0JJHtzeXNjb25mZGlyfS9iaW5kL2RiLnJvb3QgXAotCSIKLQotUEFDS0FHRV9CRUZPUkVfUE4gKz0gIiR7UE59LXV0aWxzIgotRklMRVNfJHtQTn0tdXRpbHMgPSAiJHtiaW5kaXJ9L2hvc3QgJHtiaW5kaXJ9L2RpZyAke2JpbmRpcn0vbWRpZyIKLUZJTEVTXyR7UE59LWRldiArPSAiJHtiaW5kaXJ9L2lzYy1jb25maWcuaCIKLUZJTEVTXyR7UE59ICs9ICIke3NiaW5kaXJ9L2dlbmVyYXRlLXJuZGMta2V5LnNoIgotCi1QQUNLQUdFX0JFRk9SRV9QTiArPSAiJHtQTn0tbGlicyIKLUZJTEVTXyR7UE59LWxpYnMgPSAiJHtsaWJkaXJ9Lyouc28qIgotRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xpYmRpcn0vKi5sYSIKLQotUEFDS0FHRV9CRUZPUkVfUE4gKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAncHl0aG9uMy1iaW5kJywgJycsIGQpfSIKLUZJTEVTX3B5dGhvbjMtYmluZCA9ICIke3NiaW5kaXJ9L2Ruc3NlYy1jb3ZlcmFnZSAke3NiaW5kaXJ9L2Ruc3NlYy1jaGVja2RzIFwKLSAgICAgICAgICAgICAgICAke3NiaW5kaXJ9L2Ruc3NlYy1rZXltZ3IgJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0iCi0KLVJERVBFTkRTXyR7UE59ID0gImJhc2giCi1SREVQRU5EU18ke1BOfS11dGlscyA9ICJiYXNoIgotUkRFUEVORFNfJHtQTn0tZGV2ID0gIiIKLVJERVBFTkRTX3B5dGhvbjMtYmluZCA9ICJweXRob24zLWNvcmUgcHl0aG9uMy1wbHkiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmluZC9iaW5kXzkuMTEuNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9iaW5kL2JpbmRfOS4xMS41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3NjcyNzkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmluZC9iaW5kXzkuMTEuNS5iYgpAQCAtMCwwICsxLDEzOSBAQAorU1VNTUFSWSA9ICJJU0MgSW50ZXJuZXQgRG9tYWluIE5hbWUgU2VydmVyIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5pc2Mub3JnL3N3L2JpbmQvIgorU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCisKK0xJQ0VOU0UgPSAiSVNDICYgQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWVJJR0hUO21kNT02YmE3YzlmZTBjODg4YTk0M2M3OWM5M2U2ZGU3NDRmYiIKKworREVQRU5EUyA9ICJvcGVuc3NsIGxpYmNhcCB6bGliIgorCitTUkNfVVJJID0gImh0dHBzOi8vZnRwLmlzYy5vcmcvaXNjL2JpbmQ5LyR7UFZ9LyR7QlBOfS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vY29uZi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9uYW1lZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL2JpbmQ5IFwKKyAgICAgICAgICAgZmlsZTovL2dlbmVyYXRlLXJuZGMta2V5LnNoIFwKKyAgICAgICAgICAgZmlsZTovL21ha2UtZXRjLWluaXRkLWJpbmQtc3RvcC13b3JrLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2luaXQuZC1hZGQtc3VwcG9ydC1mb3ItcmVhZC1vbmx5LXJvb3Rmcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9iaW5kLWVuc3VyZS1zZWFyY2hpbmctZm9yLWpzb24taGVhZGVycy1zZWFyY2hlcy1zeXNyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZ2VuLmMtZXh0ZW5kLURJUk5BTUVTSVpFLWZyb20tMjU2LXRvLTUxMi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWxpYi1kbnMtZ2VuLmMtZml4LXRvby1sb25nLWVycm9yLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLmluLXJlbW92ZS11c2VsZXNzLUwtdXNlX29wZW5zc2wtbGliLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbmFtZWQtbHdyZXNkLVYtYW5kLXN0YXJ0LWxvZy1oaWRlLWJ1aWxkLW9wdGlvbnMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1hdm9pZC1zdGFydC1mYWlsdXJlLXdpdGgtYmluZC11c2VyLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjE3YTBkMDIxMDIxMTdjOWEyMjFlODU3Y2YyY2M4MTU3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImE0Y2FlMTFkYWQ5NTRiZGQ0ZWI1OTIxNzhmODc1YmZlYzA5ZmNjN2UyOWZlMGY2YjdhNGU1YjVjNmJjNjEzMjIiCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2Z0cC5pc2Mub3JnL2lzYy9iaW5kOS8iCitVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICIoP1A8cHZlcj45KFwuXGQrKSsoLVBcZCspKikvIgorUkVDSVBFX05PX1VQREFURV9SRUFTT04gPSAiOS4xMSBpcyBMVFMgMjAyMSIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLXJjLmQgc3lzdGVtZCB1c2VyYWRkIHBrZ2NvbmZpZyBtdWx0aWxpYl9zY3JpcHQKKworTVVMVElMSUJfU0NSSVBUUyA9ICIke1BOfToke2JpbmRpcn0vYmluZDktY29uZmlnICR7UE59OiR7YmluZGlyfS9pc2MtY29uZmlnLnNoIgorCisjIFBBQ0tBR0VDT05GSUdzIHJlYWRsaW5lIGFuZCBsaWJlZGl0IHNob3VsZCBOT1QgYmUgc2V0IGF0IHNhbWUgdGltZQorUEFDS0FHRUNPTkZJRyA/PSAicmVhZGxpbmUiCitQQUNLQUdFQ09ORklHW2h0dHBzdGF0c10gPSAiLS13aXRoLWxpYnhtbDI9JHtTVEFHSU5HX0RJUl9IT1NUfSR7cHJlZml4fSwtLXdpdGhvdXQtbGlieG1sMixsaWJ4bWwyIgorUEFDS0FHRUNPTkZJR1tyZWFkbGluZV0gPSAiLS13aXRoLXJlYWRsaW5lPS1scmVhZGxpbmUsLHJlYWRsaW5lIgorUEFDS0FHRUNPTkZJR1tsaWJlZGl0XSA9ICItLXdpdGgtcmVhZGxpbmU9LWxlZGl0LCxsaWJlZGl0IgorUEFDS0FHRUNPTkZJR1t1cmFuZG9tXSA9ICItLXdpdGgtcmFuZG9tZGV2PS9kZXYvdXJhbmRvbSwtLXdpdGgtcmFuZG9tZGV2PS9kZXYvcmFuZG9tLCwiCitQQUNLQUdFQ09ORklHW3B5dGhvbjNdID0gIi0td2l0aC1weXRob249JHtQWVRIT059IC0td2l0aC1weXRob24taW5zdGFsbC1kaXI9JHtEfS8ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSAsIC0td2l0aG91dC1weXRob24sIHB5dGhvbjMtcGx5LW5hdGl2ZSwiCisKK0VOQUJMRV9JUFY2ID0gIi0tZW5hYmxlLWlwdjY9JHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgJ3llcycsICdubycsIGQpfSIKK0VYVFJBX09FQ09ORiA9ICIgJHtFTkFCTEVfSVBWNn0gLS13aXRoLWxpYnRvb2wgLS1lbmFibGUtdGhyZWFkcyBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1kZXZwb2xsIC0tZW5hYmxlLWVwb2xsIC0td2l0aC1nb3N0PW5vIFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLWdzc2FwaT1ubyAtLXdpdGgtZWNkc2E9eWVzIC0td2l0aC1lZGRzYT1ubyBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1sbWRiPW5vIFwKKyAgICAgICAgICAgICAgICAgLS1zeXNjb25mZGlyPSR7c3lzY29uZmRpcn0vYmluZCBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1vcGVuc3NsPSR7U1RBR0lOR19ESVJfSE9TVH0ke3ByZWZpeH0gXAorICAgICAgICAgICAgICAgIgorCitpbmhlcml0ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAncHl0aG9uM25hdGl2ZSBkaXN0dXRpbHMzLWJhc2UnLCAnJywgZCl9CisKKyMgZGhjcCBuZWVkcyAubGEgc28ga2VlcCB0aGVtCitSRU1PVkVfTElCVE9PTF9MQSA9ICIwIgorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItLXN5c3RlbSAtLWhvbWUgJHtsb2NhbHN0YXRlZGlyfS9jYWNoZS9iaW5kIC0tbm8tY3JlYXRlLWhvbWUgXAorICAgICAgICAgICAgICAgICAgICAgICAtLXVzZXItZ3JvdXAgYmluZCIKKworSU5JVFNDUklQVF9OQU1FID0gImJpbmQiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIm5hbWVkLnNlcnZpY2UiCisKK2RvX2luc3RhbGxfcHJlcGVuZCgpIHsKKwkjIGNsZWFuIGhvc3QgcGF0aCBpbiBpc2MtY29uZmlnLnNoIGJlZm9yZSB0aGUgaGFyZGxpbmsgY3JlYXRlZAorCSMgYnkgIm1ha2UgaW5zdGFsbCI6CisJIyAgIGJpbmQ5LWNvbmZpZyAtPiBpc2MtY29uZmlnLnNoCisJc2VkIC1pIC1lICJzLCR7U1RBR0lOR19MSUJESVJ9LCR7bGliZGlyfSwiICR7Qn0vaXNjLWNvbmZpZy5zaAorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKworCXJtZGlyICIke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4iCisJcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9IgorCWluc3RhbGwgLWQgLW8gYmluZCAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vY2FjaGUvYmluZCIKKwlpbnN0YWxsIC1kICIke0R9JHtzeXNjb25mZGlyfS9iaW5kIgorCWluc3RhbGwgLWQgIiR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZCIKKwlpbnN0YWxsIC1tIDY0NCAke1N9L2NvbmYvKiAiJHtEfSR7c3lzY29uZmRpcn0vYmluZC8iCisJaW5zdGFsbCAtbSA3NTUgIiR7U30vaW5pdC5kIiAiJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2JpbmQiCisgICAgICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorCQlzZWQgLWkgLWUgJzFzLCMhLipweXRob24zLCMhIC91c3IvYmluL3B5dGhvbjMsJyBcCisJCSR7RH0ke3NiaW5kaXJ9L2Ruc3NlYy1jb3ZlcmFnZSBcCisJCSR7RH0ke3NiaW5kaXJ9L2Ruc3NlYy1jaGVja2RzIFwKKwkJJHtEfSR7c2JpbmRpcn0vZG5zc2VjLWtleW1ncgorCWZpCisKKwkjIEluc3RhbGwgc3lzdGVtZCByZWxhdGVkIGZpbGVzCisJaW5zdGFsbCAtZCAke0R9JHtzYmluZGlyfQorCWluc3RhbGwgLW0gNzU1ICR7V09SS0RJUn0vZ2VuZXJhdGUtcm5kYy1rZXkuc2ggJHtEfSR7c2JpbmRpcn0KKwlpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisJaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbmFtZWQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCXNlZCAtaSAtZSAncyxAQkFTRV9CSU5ESVJALCR7YmFzZV9iaW5kaXJ9LGcnIFwKKwkgICAgICAgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgXAorCSAgICAgICAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9uYW1lZC5zZXJ2aWNlCisKKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQKKwlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9iaW5kOSAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0CisKKwlpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorCQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQKKwkJZWNobyAiZCAvcnVuL25hbWVkIDA3NTUgYmluZCBiaW5kIC0gLSIgPiAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kL2JpbmQuY29uZgorCWZpCit9CisKK0NPTkZGSUxFU18ke1BOfSA9ICIgXAorCSR7c3lzY29uZmRpcn0vYmluZC9uYW1lZC5jb25mIFwKKwkke3N5c2NvbmZkaXJ9L2JpbmQvbmFtZWQuY29uZi5sb2NhbCBcCisJJHtzeXNjb25mZGlyfS9iaW5kL25hbWVkLmNvbmYub3B0aW9ucyBcCisJJHtzeXNjb25mZGlyfS9iaW5kL2RiLjAgXAorCSR7c3lzY29uZmRpcn0vYmluZC9kYi4xMjcgXAorCSR7c3lzY29uZmRpcn0vYmluZC9kYi5lbXB0eSBcCisJJHtzeXNjb25mZGlyfS9iaW5kL2RiLmxvY2FsIFwKKwkke3N5c2NvbmZkaXJ9L2JpbmQvZGIucm9vdCBcCisJIgorCitBTFRFUk5BVElWRV8ke1BOfS11dGlscyA9ICJuc2xvb2t1cCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtuc2xvb2t1cF0gPSAiJHtiaW5kaXJ9L25zbG9va3VwIgorQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgorCitQQUNLQUdFX0JFRk9SRV9QTiArPSAiJHtQTn0tdXRpbHMiCitGSUxFU18ke1BOfS11dGlscyA9ICIke2JpbmRpcn0vaG9zdCAke2JpbmRpcn0vZGlnICR7YmluZGlyfS9tZGlnICR7YmluZGlyfS9uc2xvb2t1cCAke2JpbmRpcn0vbnN1cGRhdGUiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7YmluZGlyfS9pc2MtY29uZmlnLmgiCitGSUxFU18ke1BOfSArPSAiJHtzYmluZGlyfS9nZW5lcmF0ZS1ybmRjLWtleS5zaCIKKworUEFDS0FHRV9CRUZPUkVfUE4gKz0gIiR7UE59LWxpYnMiCitGSUxFU18ke1BOfS1saWJzID0gIiR7bGliZGlyfS8qLnNvKiIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9LyoubGEiCisKK1BBQ0tBR0VfQkVGT1JFX1BOICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24zJywgJ3B5dGhvbjMtYmluZCcsICcnLCBkKX0iCitGSUxFU19weXRob24zLWJpbmQgPSAiJHtzYmluZGlyfS9kbnNzZWMtY292ZXJhZ2UgJHtzYmluZGlyfS9kbnNzZWMtY2hlY2tkcyBcCisgICAgICAgICAgICAgICAgJHtzYmluZGlyfS9kbnNzZWMta2V5bWdyICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IgorCitSREVQRU5EU18ke1BOfSA9ICJiYXNoIgorUkRFUEVORFNfJHtQTn0tdXRpbHMgPSAiYmFzaCIKK1JERVBFTkRTXyR7UE59LWRldiA9ICIiCitSREVQRU5EU19weXRob24zLWJpbmQgPSAicHl0aG9uMy1jb3JlIHB5dGhvbjMtcGx5IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6NS9ibHVlejUuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6NS9ibHVlejUuaW5jCmluZGV4IGVkYjQ0YjIuLmFhZjJhZjkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlejUvYmx1ZXo1LmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXo1L2JsdWV6NS5pbmMKQEAgLTQxLDcgKzQxLDcgQEAKIFBBQ0tBR0VDT05GSUdbdG9vbHNdID0gIi0tZW5hYmxlLXRvb2xzLC0tZGlzYWJsZS10b29scyIKIFBBQ0tBR0VDT05GSUdbdGhyZWFkc10gPSAiLS1lbmFibGUtdGhyZWFkcywtLWRpc2FibGUtdGhyZWFkcyIKIFBBQ0tBR0VDT05GSUdbZGVwcmVjYXRlZF0gPSAiLS1lbmFibGUtZGVwcmVjYXRlZCwtLWRpc2FibGUtZGVwcmVjYXRlZCIKLVBBQ0tBR0VDT05GSUdbbWVzaF0gPSAiLS1lbmFibGUtbWVzaCwtLWRpc2FibGUtbWVzaCwganNvbi1jIgorUEFDS0FHRUNPTkZJR1ttZXNoXSA9ICItLWVuYWJsZS1tZXNoLC0tZGlzYWJsZS1tZXNoLCBqc29uLWMgZWxsIgogUEFDS0FHRUNPTkZJR1tidHBjbGllbnRdID0gIi0tZW5hYmxlLWJ0cGNsaWVudCwtLWRpc2FibGUtYnRwY2xpZW50LCBlbGwiCiAKIFNSQ19VUkkgPSAiXApAQCAtNTMsNiArNTMsNyBAQAogICAgIGZpbGU6Ly8wMDAxLXRlc3RzLWFkZC1hLXRhcmdldC1mb3ItYnVpbGRpbmctdGVzdHMtd2l0aG91dC1ydW5uaW4ucGF0Y2ggXAogICAgIGZpbGU6Ly8wMDAxLXRlc3QtZ2F0dC1GaXgtaHVuZy1pc3N1ZS5wYXRjaCBcCiAgICAgZmlsZTovLzAwMDEtTWFrZWZpbGUuYW0tRml4LWEtcmFjZS1pc3N1ZS1mb3ItdG9vbHMucGF0Y2ggXAorICAgIGZpbGU6Ly9DVkUtMjAxOC0xMDkxMC5wYXRjaCBcCiAiCiBTID0gIiR7V09SS0RJUn0vYmx1ZXotJHtQVn0iCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlejUvYmx1ZXo1L0NWRS0yMDE4LTEwOTEwLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6NS9ibHVlejUvQ1ZFLTIwMTgtMTA5MTAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjRiMTg0NgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlejUvYmx1ZXo1L0NWRS0yMDE4LTEwOTEwLnBhdGNoCkBAIC0wLDAgKzEsNzA1IEBACitBIGJ1ZyBpbiBCbHVleiBtYXkgYWxsb3cgZm9yIHRoZSBCbHVldG9vdGggRGlzY292ZXJhYmxlIHN0YXRlIGJlaW5nIHNldCB0byBvbgord2hlbiBubyBCbHVldG9vdGggYWdlbnQgaXMgcmVnaXN0ZXJlZCB3aXRoIHRoZSBzeXN0ZW0uIFRoaXMgc2l0dWF0aW9uIGNvdWxkCitsZWFkIHRvIHRoZSB1bmF1dGhvcml6ZWQgcGFpcmluZyBvZiBjZXJ0YWluIEJsdWV0b290aCBkZXZpY2VzIHdpdGhvdXQgYW55Citmb3JtIG9mIGF1dGhlbnRpY2F0aW9uLgorCitDVkU6IENWRS0yMDE4LTEwOTEwCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitTdWJqZWN0OiAgICBbUEFUQ0ggQmx1ZVogMS80XSBjbGllbnQ6IEFkZCBkaXNjb3ZlcmFibGUtdGltZW91dCBjb21tYW5kCitGcm9tOiAgICAgICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6ICgpIGdtYWlsICEgY29tPgorRGF0ZTogICAgICAgMjAxOC0wNy0yNSAxMDoyMDozMgorTWVzc2FnZS1JRDogMjAxODA3MjUxMDIwMzUuMTk0MzktMS1sdWl6LmRlbnR6ICgpIGdtYWlsICEgY29tCitbRG93bmxvYWQgUkFXIG1lc3NhZ2Ugb3IgYm9keV0KKworRnJvbTogTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei52b24uZGVudHpAaW50ZWwuY29tPgorCitUaGlzIGFkZHMgZGlzY292ZXJhYmxlLXRpbWVvdXQgY29tbWFuZCB3aGljaCBjYW4gYmUgdXNlZCB0byBnZXQvc2V0CitEaXNjb3ZlcmFibGVUaW1lb3V0IHByb3BlcnR5OgorCitbYmx1ZXRvb3RoXSMgZGlzY292ZXJhYmxlLXRpbWVvdXQgMTgwCitDaGFuZ2luZyBkaXNjb3ZlcmFibGUtdGltZW91dCAxODAgc3VjY2VlZGVkCistLS0KKyBjbGllbnQvbWFpbi5jIHwgNDMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCA0MyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9jbGllbnQvbWFpbi5jIGIvY2xpZW50L21haW4uYworaW5kZXggODczMjNkOGY3Li41OTgyMGM2ZDkgMTAwNjQ0CistLS0gYS9jbGllbnQvbWFpbi5jCisrKysgYi9jbGllbnQvbWFpbi5jCitAQCAtMTA2MSw2ICsxMDYxLDQ3IEBAIHN0YXRpYyB2b2lkIGNtZF9kaXNjb3ZlcmFibGUoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAJcmV0dXJuIGJ0X3NoZWxsX25vbmludGVyYWN0aXZlX3F1aXQoRVhJVF9GQUlMVVJFKTsKKyB9CisgCisrc3RhdGljIHZvaWQgY21kX2Rpc2NvdmVyYWJsZV90aW1lb3V0KGludCBhcmdjLCBjaGFyICphcmd2W10pCisreworKwl1aW50MzJfdCB2YWx1ZTsKKysJY2hhciAqZW5kcHRyID0gTlVMTDsKKysJY2hhciAqc3RyOworKworKwlpZiAoYXJnYyA8IDIpIHsKKysJCURCdXNNZXNzYWdlSXRlciBpdGVyOworKworKwkJaWYgKCFnX2RidXNfcHJveHlfZ2V0X3Byb3BlcnR5KGRlZmF1bHRfY3RybC0+cHJveHksCisrCQkJCQkiRGlzY292ZXJhYmxlVGltZW91dCIsICZpdGVyKSkgeworKwkJCWJ0X3NoZWxsX3ByaW50ZigiVW5hYmxlIHRvIGdldCBEaXNjb3ZlcmFibGVUaW1lb3V0XG4iKTsKKysJCQlyZXR1cm4gYnRfc2hlbGxfbm9uaW50ZXJhY3RpdmVfcXVpdChFWElUX0ZBSUxVUkUpOworKwkJfQorKworKwkJZGJ1c19tZXNzYWdlX2l0ZXJfZ2V0X2Jhc2ljKCZpdGVyLCAmdmFsdWUpOworKworKwkJYnRfc2hlbGxfcHJpbnRmKCJEaXNjb3ZlcmFibGVUaW1lb3V0OiAlZCBzZWNvbmRzXG4iLCB2YWx1ZSk7CisrCisrCQlyZXR1cm47CisrCX0KKysKKysJdmFsdWUgPSBzdHJ0b2woYXJndlsxXSwgJmVuZHB0ciwgMCk7CisrCWlmICghZW5kcHRyIHx8ICplbmRwdHIgIT0gJ1wwJyB8fCB2YWx1ZSA+IFVJTlQzMl9NQVgpIHsKKysJCWJ0X3NoZWxsX3ByaW50ZigiSW52YWxpZCBhcmd1bWVudFxuIik7CisrCQlyZXR1cm4gYnRfc2hlbGxfbm9uaW50ZXJhY3RpdmVfcXVpdChFWElUX0ZBSUxVUkUpOworKwl9CisrCisrCXN0ciA9IGdfc3RyZHVwX3ByaW50ZigiZGlzY292ZXJhYmxlLXRpbWVvdXQgJWQiLCB2YWx1ZSk7CisrCisrCWlmIChnX2RidXNfcHJveHlfc2V0X3Byb3BlcnR5X2Jhc2ljKGRlZmF1bHRfY3RybC0+cHJveHksCisrCQkJCQkiRGlzY292ZXJhYmxlVGltZW91dCIsCisrCQkJCQlEQlVTX1RZUEVfVUlOVDMyLCAmdmFsdWUsCisrCQkJCQlnZW5lcmljX2NhbGxiYWNrLCBzdHIsIGdfZnJlZSkpCisrCQlyZXR1cm47CisrCisrCWdfZnJlZShzdHIpOworKworKwlyZXR1cm4gYnRfc2hlbGxfbm9uaW50ZXJhY3RpdmVfcXVpdChFWElUX0ZBSUxVUkUpOworK30KKysKKyBzdGF0aWMgdm9pZCBjbWRfYWdlbnQoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyB7CisgCWRidXNfYm9vbF90IGVuYWJsZTsKK0BAIC0yNTQ5LDYgKzI1OTAsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGJ0X3NoZWxsX21lbnUgbWFpbl9tZW51ID0geworIAl7ICJkaXNjb3ZlcmFibGUiLCAiPG9uL29mZj4iLCBjbWRfZGlzY292ZXJhYmxlLAorIAkJCQkJIlNldCBjb250cm9sbGVyIGRpc2NvdmVyYWJsZSBtb2RlIiwKKyAJCQkJCQkJTlVMTCB9LAorKwl7ICJkaXNjb3ZlcmFibGUtdGltZW91dCIsICJbdmFsdWVdIiwgY21kX2Rpc2NvdmVyYWJsZV90aW1lb3V0LAorKwkJCQkJIlNldCBkaXNjb3ZlcmFibGUgdGltZW91dCIsIE5VTEwgfSwKKyAJeyAiYWdlbnQiLCAgICAgICAgIjxvbi9vZmYvY2FwYWJpbGl0eT4iLCBjbWRfYWdlbnQsCisgCQkJCSJFbmFibGUvZGlzYWJsZSBhZ2VudCB3aXRoIGdpdmVuIGNhcGFiaWxpdHkiLAorIAkJCQkJCQljYXBhYmlsaXR5X2dlbmVyYXRvcn0sCistLSAKKzIuMTcuMQorCitTdWJqZWN0OiAgICBbUEFUQ0ggQmx1ZVogMi80XSBjbGllbnQ6IE1ha2Ugc2hvdyBjb21tYW5kIHByaW50IERpc2NvdmVyYWJsZVRpbWVvdXQKK0Zyb206ICAgICAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHogKCkgZ21haWwgISBjb20+CitEYXRlOiAgICAgICAyMDE4LTA3LTI1IDEwOjIwOjMzCitNZXNzYWdlLUlEOiAyMDE4MDcyNTEwMjAzNS4xOTQzOS0yLWx1aXouZGVudHogKCkgZ21haWwgISBjb20KK1tEb3dubG9hZCBSQVcgbWVzc2FnZSBvciBib2R5XQorCitGcm9tOiBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LnZvbi5kZW50ekBpbnRlbC5jb20+CisKK0NvbnRyb2xsZXIgWFg6WFg6WFg6WFg6WFg6WFggKHB1YmxpYykKKwlOYW1lOiBWdWRlbnR6J3MgVDQ2MHMKKwlBbGlhczogSW50ZWwtMQorCUNsYXNzOiAweDAwNGMwMTBjCisJUG93ZXJlZDogeWVzCisJRGlzY292ZXJhYmxlOiBubworCURpc2NvdmVyYWJsZVRpbWVvdXQ6IDB4MDAwMDAwMDAKKwlQYWlyYWJsZTogeWVzCisJVVVJRDogSGVhZHNldCBBRyAgICAgICAgICAgICAgICAoMDAwMDExMTItMDAwMC0xMDAwLTgwMDAtMDA4MDVmOWIzNGZiKQorCVVVSUQ6IEdlbmVyaWMgQXR0cmlidXRlIFByb2ZpbGUgKDAwMDAxODAxLTAwMDAtMTAwMC04MDAwLTAwODA1ZjliMzRmYikKKwlVVUlEOiBBL1YgUmVtb3RlIENvbnRyb2wgICAgICAgICgwMDAwMTEwZS0wMDAwLTEwMDAtODAwMC0wMDgwNWY5YjM0ZmIpCisJVVVJRDogU0lNIEFjY2VzcyAgICAgICAgICAgICAgICAoMDAwMDExMmQtMDAwMC0xMDAwLTgwMDAtMDA4MDVmOWIzNGZiKQorCVVVSUQ6IEdlbmVyaWMgQWNjZXNzIFByb2ZpbGUgICAgKDAwMDAxODAwLTAwMDAtMTAwMC04MDAwLTAwODA1ZjliMzRmYikKKwlVVUlEOiBQblAgSW5mb3JtYXRpb24gICAgICAgICAgICgwMDAwMTIwMC0wMDAwLTEwMDAtODAwMC0wMDgwNWY5YjM0ZmIpCisJVVVJRDogQS9WIFJlbW90ZSBDb250cm9sIFRhcmdldCAoMDAwMDExMGMtMDAwMC0xMDAwLTgwMDAtMDA4MDVmOWIzNGZiKQorCVVVSUQ6IEF1ZGlvIFNvdXJjZSAgICAgICAgICAgICAgKDAwMDAxMTBhLTAwMDAtMTAwMC04MDAwLTAwODA1ZjliMzRmYikKKwlVVUlEOiBBdWRpbyBTaW5rICAgICAgICAgICAgICAgICgwMDAwMTEwYi0wMDAwLTEwMDAtODAwMC0wMDgwNWY5YjM0ZmIpCisJVVVJRDogSGVhZHNldCAgICAgICAgICAgICAgICAgICAoMDAwMDExMDgtMDAwMC0xMDAwLTgwMDAtMDA4MDVmOWIzNGZiKQorCU1vZGFsaWFzOiB1c2I6djFENkJwMDI0NmQwNTMyCisJRGlzY292ZXJpbmc6IG5vCistLS0KKyBjbGllbnQvbWFpbi5jIHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9jbGllbnQvbWFpbi5jIGIvY2xpZW50L21haW4uYworaW5kZXggNTk4MjBjNmQ5Li42ZjQ3MmQwNTAgMTAwNjQ0CistLS0gYS9jbGllbnQvbWFpbi5jCisrKysgYi9jbGllbnQvbWFpbi5jCitAQCAtODc3LDYgKzg3Nyw3IEBAIHN0YXRpYyB2b2lkIGNtZF9zaG93KGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCXByaW50X3Byb3BlcnR5KHByb3h5LCAiQ2xhc3MiKTsKKyAJcHJpbnRfcHJvcGVydHkocHJveHksICJQb3dlcmVkIik7CisgCXByaW50X3Byb3BlcnR5KHByb3h5LCAiRGlzY292ZXJhYmxlIik7CisrCXByaW50X3Byb3BlcnR5KHByb3h5LCAiRGlzY292ZXJhYmxlVGltZW91dCIpOworIAlwcmludF9wcm9wZXJ0eShwcm94eSwgIlBhaXJhYmxlIik7CisgCXByaW50X3V1aWRzKHByb3h5KTsKKyAJcHJpbnRfcHJvcGVydHkocHJveHksICJNb2RhbGlhcyIpOworLS0gCisyLjE3LjEKK1N1YmplY3Q6ICAgIFtQQVRDSCBCbHVlWiAzLzRdIGFkYXB0ZXI6IFRyYWNrIHBlbmRpbmcgc2V0dGluZ3MKK0Zyb206ICAgICAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHogKCkgZ21haWwgISBjb20+CitEYXRlOiAgICAgICAyMDE4LTA3LTI1IDEwOjIwOjM0CitNZXNzYWdlLUlEOiAyMDE4MDcyNTEwMjAzNS4xOTQzOS0zLWx1aXouZGVudHogKCkgZ21haWwgISBjb20KK1tEb3dubG9hZCBSQVcgbWVzc2FnZSBvciBib2R5XQorCitGcm9tOiBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LnZvbi5kZW50ekBpbnRlbC5jb20+CisKK1RoaXMgdHJhY2tzIHNldHRpbmdzIGJlaW5nIGNoYW5nZWQgYW5kIGluIGNhc2UgdGhlIHNldHRpbmdzIGlzIGFscmVhZHkKK3BlbmRpbmcgY29uc2lkZXJlZCBpdCB0byBiZSBkb25lLgorLS0tCisgc3JjL2FkYXB0ZXIuYyB8IDMwICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2FkYXB0ZXIuYyBiL3NyYy9hZGFwdGVyLmMKK2luZGV4IGFmMzQwZmQ2ZS4uMjBjMjBmOWU5IDEwMDY0NAorLS0tIGEvc3JjL2FkYXB0ZXIuYworKysrIGIvc3JjL2FkYXB0ZXIuYworQEAgLTE5Niw2ICsxOTYsNyBAQCBzdHJ1Y3QgYnRkX2FkYXB0ZXIgeworIAljaGFyICpuYW1lOwkJCS8qIGNvbnRyb2xsZXIgZGV2aWNlIG5hbWUgKi8KKyAJY2hhciAqc2hvcnRfbmFtZTsJCS8qIGNvbnRyb2xsZXIgc2hvcnQgbmFtZSAqLworIAl1aW50MzJfdCBzdXBwb3J0ZWRfc2V0dGluZ3M7CS8qIGNvbnRyb2xsZXIgc3VwcG9ydGVkIHNldHRpbmdzICovCisrCXVpbnQzMl90IHBlbmRpbmdfc2V0dGluZ3M7CS8qIHBlbmRpbmcgY29udHJvbGxlciBzZXR0aW5ncyAqLworIAl1aW50MzJfdCBjdXJyZW50X3NldHRpbmdzOwkvKiBjdXJyZW50IGNvbnRyb2xsZXIgc2V0dGluZ3MgKi8KKyAKKyAJY2hhciAqcGF0aDsJCQkvKiBhZGFwdGVyIG9iamVjdCBwYXRoICovCitAQCAtNTA5LDggKzUxMCwxMCBAQCBzdGF0aWMgdm9pZCBzZXR0aW5nc19jaGFuZ2VkKHN0cnVjdCBidGRfYWRhcHRlciAqYWRhcHRlciwgdWludDMyX3Qgc2V0dGluZ3MpCisgCWNoYW5nZWRfbWFzayA9IGFkYXB0ZXItPmN1cnJlbnRfc2V0dGluZ3MgXiBzZXR0aW5nczsKKyAKKyAJYWRhcHRlci0+Y3VycmVudF9zZXR0aW5ncyA9IHNldHRpbmdzOworKwlhZGFwdGVyLT5wZW5kaW5nX3NldHRpbmdzICY9IH5jaGFuZ2VkX21hc2s7CisgCisgCURCRygiQ2hhbmdlZCBzZXR0aW5nczogMHglMDh4IiwgY2hhbmdlZF9tYXNrKTsKKysJREJHKCJQZW5kaW5nIHNldHRpbmdzOiAweCUwOHgiLCBhZGFwdGVyLT5wZW5kaW5nX3NldHRpbmdzKTsKKyAKKyAJaWYgKGNoYW5nZWRfbWFzayAmIE1HTVRfU0VUVElOR19QT1dFUkVEKSB7CisgCSAgICAgICAgZ19kYnVzX2VtaXRfcHJvcGVydHlfY2hhbmdlZChkYnVzX2Nvbm4sIGFkYXB0ZXItPnBhdGgsCitAQCAtNTk2LDEwICs1OTksMzEgQEAgc3RhdGljIGJvb2wgc2V0X21vZGUoc3RydWN0IGJ0ZF9hZGFwdGVyICphZGFwdGVyLCB1aW50MTZfdCBvcGNvZGUsCisgCQkJCQkJCXVpbnQ4X3QgbW9kZSkKKyB7CisgCXN0cnVjdCBtZ210X21vZGUgY3A7CisrCXVpbnQzMl90IHNldHRpbmcgPSAwOworIAorIAltZW1zZXQoJmNwLCAwLCBzaXplb2YoY3ApKTsKKyAJY3AudmFsID0gbW9kZTsKKyAKKysJc3dpdGNoIChtb2RlKSB7CisrCWNhc2UgTUdNVF9PUF9TRVRfUE9XRVJFRDoKKysJCXNldHRpbmcgPSBNR01UX1NFVFRJTkdfUE9XRVJFRDsKKysJCWJyZWFrOworKwljYXNlIE1HTVRfT1BfU0VUX0NPTk5FQ1RBQkxFOgorKwkJc2V0dGluZyA9IE1HTVRfU0VUVElOR19DT05ORUNUQUJMRTsKKysJCWJyZWFrOworKwljYXNlIE1HTVRfT1BfU0VUX0ZBU1RfQ09OTkVDVEFCTEU6CisrCQlzZXR0aW5nID0gTUdNVF9TRVRUSU5HX0ZBU1RfQ09OTkVDVEFCTEU7CisrCQlicmVhazsKKysJY2FzZSBNR01UX09QX1NFVF9ESVNDT1ZFUkFCTEU6CisrCQlzZXR0aW5nID0gTUdNVF9TRVRUSU5HX0RJU0NPVkVSQUJMRTsKKysJCWJyZWFrOworKwljYXNlIE1HTVRfT1BfU0VUX0JPTkRBQkxFOgorKwkJc2V0dGluZyA9IE1HTVRfU0VUVElOR19ESVNDT1ZFUkFCTEU7CisrCQlicmVhazsKKysJfQorKworKwlhZGFwdGVyLT5wZW5kaW5nX3NldHRpbmdzIHw9IHNldHRpbmc7CisrCisgCURCRygic2VuZGluZyBzZXQgbW9kZSBjb21tYW5kIGZvciBpbmRleCAldSIsIGFkYXB0ZXItPmRldl9pZCk7CisgCisgCWlmIChtZ210X3NlbmQoYWRhcHRlci0+bWdtdCwgb3Bjb2RlLAorQEAgLTI3MzksMTMgKzI3NjMsMTUgQEAgc3RhdGljIHZvaWQgcHJvcGVydHlfc2V0X21vZGUoc3RydWN0IGJ0ZF9hZGFwdGVyICphZGFwdGVyLCB1aW50MzJfdCBzZXR0aW5nLAorIAllbHNlCisgCQljdXJyZW50X2VuYWJsZSA9IEZBTFNFOworIAorLQlpZiAoZW5hYmxlID09IGN1cnJlbnRfZW5hYmxlKSB7CisrCWlmIChlbmFibGUgPT0gY3VycmVudF9lbmFibGUgfHwgYWRhcHRlci0+cGVuZGluZ19zZXR0aW5ncyAmIHNldHRpbmcpIHsKKyAJCWdfZGJ1c19wZW5kaW5nX3Byb3BlcnR5X3N1Y2Nlc3MoaWQpOworIAkJcmV0dXJuOworIAl9CisgCisgCW1vZGUgPSAoZW5hYmxlID09IFRSVUUpID8gMHgwMSA6IDB4MDA7CisgCisrCWFkYXB0ZXItPnBlbmRpbmdfc2V0dGluZ3MgfD0gc2V0dGluZzsKKysKKyAJc3dpdGNoIChzZXR0aW5nKSB7CisgCWNhc2UgTUdNVF9TRVRUSU5HX1BPV0VSRUQ6CisgCQlvcGNvZGUgPSBNR01UX09QX1NFVF9QT1dFUkVEOworQEAgLTI3OTgsNyArMjgyNCw3IEBAIHN0YXRpYyB2b2lkIHByb3BlcnR5X3NldF9tb2RlKHN0cnVjdCBidGRfYWRhcHRlciAqYWRhcHRlciwgdWludDMyX3Qgc2V0dGluZywKKyAJZGF0YS0+aWQgPSBpZDsKKyAKKyAJaWYgKG1nbXRfc2VuZChhZGFwdGVyLT5tZ210LCBvcGNvZGUsIGFkYXB0ZXItPmRldl9pZCwgbGVuLCBwYXJhbSwKKy0JCQkJcHJvcGVydHlfc2V0X21vZGVfY29tcGxldGUsIGRhdGEsIGdfZnJlZSkgPiAwKQorKwkJCXByb3BlcnR5X3NldF9tb2RlX2NvbXBsZXRlLCBkYXRhLCBnX2ZyZWUpID4gMCkKKyAJCXJldHVybjsKKyAKKyAJZ19mcmVlKGRhdGEpOworLS0gCisyLjE3LjEKK1N1YmplY3Q6ICAgIFtQQVRDSCBCbHVlWiA0LzRdIGFkYXB0ZXI6IENoZWNrIHBlbmRpbmcgd2hlbiBzZXR0aW5nIERpc2NvdmVyYWJsZVRpbWVvdXQKK0Zyb206ICAgICAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHogKCkgZ21haWwgISBjb20+CitEYXRlOiAgICAgICAyMDE4LTA3LTI1IDEwOjIwOjM1CitNZXNzYWdlLUlEOiAyMDE4MDcyNTEwMjAzNS4xOTQzOS00LWx1aXouZGVudHogKCkgZ21haWwgISBjb20KK1tEb3dubG9hZCBSQVcgbWVzc2FnZSBvciBib2R5XQorCitGcm9tOiBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LnZvbi5kZW50ekBpbnRlbC5jb20+CisKK1RoaXMgbWFrZXMgRGlzY292ZXJhYmxlVGltZW91dCBjaGVjayBpZiBkaXNjb3ZlcmFibGUgaXMgYWxyZWFkeSBwZW5kaW5nCithbmQgZG9uJ3QgYXR0ZW1wdCB0byBzZXQgaXQgb25jZSBhZ2FpbiB3aGljaCBtYXkgY2F1c2UgZGlzY292ZXJhYmxlIHRvCitiZSByZS1lbmFibGVkIHdoZW4gaW4gZmFjdCB0aGUgYXBwbGljYXRpb24ganVzdCB3YW50IHRvIHNldCB0aGUgdGltZW91dAorYWxvbmUuCistLS0KKyBzcmMvYWRhcHRlci5jIHwgMTQgKysrKysrKysrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2FkYXB0ZXIuYyBiL3NyYy9hZGFwdGVyLmMKK2luZGV4IDIwYzIwZjllOS4uZjkyYzg5N2M3IDEwMDY0NAorLS0tIGEvc3JjL2FkYXB0ZXIuYworKysrIGIvc3JjL2FkYXB0ZXIuYworQEAgLTI5MDEsNiArMjkwMSw3IEBAIHN0YXRpYyB2b2lkIHByb3BlcnR5X3NldF9kaXNjb3ZlcmFibGVfdGltZW91dCgKKyAJCQkJR0RCdXNQZW5kaW5nUHJvcGVydHlTZXQgaWQsIHZvaWQgKnVzZXJfZGF0YSkKKyB7CisgCXN0cnVjdCBidGRfYWRhcHRlciAqYWRhcHRlciA9IHVzZXJfZGF0YTsKKysJYm9vbCBlbmFibGVkOworIAlkYnVzX3VpbnQzMl90IHZhbHVlOworIAorIAlkYnVzX21lc3NhZ2VfaXRlcl9nZXRfYmFzaWMoaXRlciwgJnZhbHVlKTsKK0BAIC0yOTE0LDggKzI5MTUsMTkgQEAgc3RhdGljIHZvaWQgcHJvcGVydHlfc2V0X2Rpc2NvdmVyYWJsZV90aW1lb3V0KAorIAlnX2RidXNfZW1pdF9wcm9wZXJ0eV9jaGFuZ2VkKGRidXNfY29ubiwgYWRhcHRlci0+cGF0aCwKKyAJCQkJQURBUFRFUl9JTlRFUkZBQ0UsICJEaXNjb3ZlcmFibGVUaW1lb3V0Iik7CisgCisrCWlmIChhZGFwdGVyLT5wZW5kaW5nX3NldHRpbmdzICYgTUdNVF9TRVRUSU5HX0RJU0NPVkVSQUJMRSkgeworKwkJaWYgKGFkYXB0ZXItPmN1cnJlbnRfc2V0dGluZ3MgJiBNR01UX1NFVFRJTkdfRElTQ09WRVJBQkxFKQorKwkJCWVuYWJsZWQgPSBmYWxzZTsKKysJCWVsc2UKKysJCQllbmFibGVkID0gdHJ1ZTsKKysJfSBlbHNlIHsKKysJCWlmIChhZGFwdGVyLT5jdXJyZW50X3NldHRpbmdzICYgTUdNVF9TRVRUSU5HX0RJU0NPVkVSQUJMRSkKKysJCQllbmFibGVkID0gdHJ1ZTsKKysJCWVsc2UKKysJCQllbmFibGVkID0gZmFsc2U7CisrCX0KKyAKKy0JaWYgKGFkYXB0ZXItPmN1cnJlbnRfc2V0dGluZ3MgJiBNR01UX1NFVFRJTkdfRElTQ09WRVJBQkxFKQorKwlpZiAoZW5hYmxlZCkKKyAJCXNldF9kaXNjb3ZlcmFibGUoYWRhcHRlciwgMHgwMSwgYWRhcHRlci0+ZGlzY292ZXJhYmxlX3RpbWVvdXQpOworIH0KKyAKKy0tIAorMi4xNy4xCitTdWJqZWN0OiAgICBbUEFUQ0ggQmx1ZVogMS81XSBkb2MvYWRhcHRlci1hcGk6IEFkZCBEaXNjb3ZlcmFibGUgb3B0aW9uIHRvIFNldERpc2NvdmVyeUZpbHRlcgorRnJvbTogICAgICAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50eiAoKSBnbWFpbCAhIGNvbT4KK0RhdGU6ICAgICAgIDIwMTgtMDctMjYgMTQ6MTc6MTkKK01lc3NhZ2UtSUQ6IDIwMTgwNzI2MTQxNzIzLjIwMTk5LTEtbHVpei5kZW50eiAoKSBnbWFpbCAhIGNvbQorW0Rvd25sb2FkIFJBVyBtZXNzYWdlIG9yIGJvZHldCisKK0Zyb206IEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXoudm9uLmRlbnR6QGludGVsLmNvbT4KKworVGhpcyBlbmFibGVzIHRoZSBjbGllbnQgdG8gc2V0IGl0cyBkaXNjb3ZlcmFibGUgc2V0dGluZyB3aGlsZQorZGlzY292ZXJpbmcgd2hpY2ggaXMgdmVyeSB0eXBpY2FsIHNpdHVhdGlvbiBhcyB1c3VhbGx5IHRoZSBzZXRpbmdzCithcHBsaWNhdGlvbiB3b3VsZCBhbGxvdyBpbmNvbWluZyBwYWlyaW5nIHJlcXVlc3Qgd2hpbGUgc2Nhbm5pbmcsIHNvCit0aGlzIHdvdWxkIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhbGxzIHNldHRpbmcgRGlzY292ZXJhYmxlIGFuZAorRGlzY292ZXJhYmxlVGltZW91dCBhbmQgcmVzdG9yaW5nIGFmdGVyIGRvbmUgd2l0aCBkaXNjb3ZlcnkuCistLS0KKyBkb2MvYWRhcHRlci1hcGkudHh0IHwgNiArKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9kb2MvYWRhcHRlci1hcGkudHh0IGIvZG9jL2FkYXB0ZXItYXBpLnR4dAoraW5kZXggZDE0ZDBjYTUwLi40NzkxYWYyYzcgMTAwNjQ0CistLS0gYS9kb2MvYWRhcHRlci1hcGkudHh0CisrKysgYi9kb2MvYWRhcHRlci1hcGkudHh0CitAQCAtMTEzLDYgKzExMywxMiBAQCBNZXRob2RzCQl2b2lkIFN0YXJ0RGlzY292ZXJ5KCkKKyAJCQkJZ2VuZXJhdGVkIGZvciBlaXRoZXIgTWFudWZhY3R1cmVyRGF0YSBhbmQKKyAJCQkJU2VydmljZURhdGEgZXZlcnl0aW1lIHRoZXkgYXJlIGRpc2NvdmVyZWQuCisgCisrCQkJYm9vbCBEaXNjb3ZlcmFibGUgKERlZmF1bHQ6IGZhbHNlKQorKworKwkJCQlNYWtlIGFkYXB0ZXIgZGlzY292ZXJhYmxlIHdoaWxlIGRpc2NvdmVyaW5nLAorKwkJCQlpZiB0aGUgYWRhcHRlciBpcyBhbHJlYWR5IGRpc2NvdmVyYWJsZSB0aGlzCisrCQkJCXNldHRpbmcgdGhpcyBmaWx0ZXIgd29uJ3QgZG8gYW55dGhpbmcuCisrCisgCQkJV2hlbiBkaXNjb3ZlcnkgZmlsdGVyIGlzIHNldCwgRGV2aWNlIG9iamVjdHMgd2lsbCBiZQorIAkJCWNyZWF0ZWQgYXMgbmV3IGRldmljZXMgd2l0aCBtYXRjaGluZyBjcml0ZXJpYSBhcmUKKyAJCQlkaXNjb3ZlcmVkIHJlZ2FyZGxlc3Mgb2YgdGhleSBhcmUgY29ubmVjdGFibGUgb3IKKy0tIAorMi4xNy4xCitTdWJqZWN0OiAgICBbUEFUQ0ggQmx1ZVogMi81XSBhZGFwdGVyOiBEaXNjb3ZlcnkgZmlsdGVyIGRpc2NvdmVyYWJsZQorRnJvbTogICAgICAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50eiAoKSBnbWFpbCAhIGNvbT4KK0RhdGU6ICAgICAgIDIwMTgtMDctMjYgMTQ6MTc6MjAKK01lc3NhZ2UtSUQ6IDIwMTgwNzI2MTQxNzIzLjIwMTk5LTItbHVpei5kZW50eiAoKSBnbWFpbCAhIGNvbQorW0Rvd25sb2FkIFJBVyBtZXNzYWdlIG9yIGJvZHldCisKK0Zyb206IEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXoudm9uLmRlbnR6QGludGVsLmNvbT4KKworVGhpcyBpbXBsZW1lbnRzIHRoZSBkaXNjb3ZlcnkgZmlsdGVyIGRpc2NvdmVyYWJsZSBhbmQgdHJhY2tzIHdoaWNoCitjbGllbnRzIGhhZCBlbmFibGVkIGl0IGFuZCByZXN0b3JlcyB0aGUgc2V0dGluZ3Mgd2hlbiB0aGUgbGFzdCBjbGllbnQKK2VuYWJsaW5nIGl0IGV4aXRzLgorLS0tCisgc3JjL2FkYXB0ZXIuYyB8IDU2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQorIDEgZmlsZSBjaGFuZ2VkLCA1NCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2FkYXB0ZXIuYyBiL3NyYy9hZGFwdGVyLmMKK2luZGV4IGY5MmM4OTdjNy4uYmQ5ZWRkZGM2IDEwMDY0NAorLS0tIGEvc3JjL2FkYXB0ZXIuYworKysrIGIvc3JjL2FkYXB0ZXIuYworQEAgLTE1Nyw2ICsxNTcsNyBAQCBzdHJ1Y3QgZGlzY292ZXJ5X2ZpbHRlciB7CisgCWludDE2X3QgcnNzaTsKKyAJR1NMaXN0ICp1dWlkczsKKyAJYm9vbCBkdXBsaWNhdGU7CisrCWJvb2wgZGlzY292ZXJhYmxlOworIH07CisgCisgc3RydWN0IHdhdGNoX2NsaWVudCB7CitAQCAtMjE0LDYgKzIxNSw3IEBAIHN0cnVjdCBidGRfYWRhcHRlciB7CisgCisgCWJvb2wgZGlzY292ZXJpbmc7CQkvKiBkaXNjb3ZlcmluZyBwcm9wZXJ0eSBzdGF0ZSAqLworIAlib29sIGZpbHRlcmVkX2Rpc2NvdmVyeTsJLyogd2UgYXJlIGRvaW5nIGZpbHRlcmVkIGRpc2NvdmVyeSAqLworKwlib29sIGZpbHRlcmVkX2Rpc2NvdmVyYWJsZTsJLyogd2UgYXJlIGRvaW5nIGZpbHRlcmVkIGRpc2NvdmVyeSAqLworIAlib29sIG5vX3NjYW5fcmVzdGFydF9kZWxheTsJLyogd2hlbiB0aGlzIGZsYWcgaXMgc2V0LCByZXN0YXJ0IHNjYW4KKyAJCQkJCSAqIHdpdGhvdXQgZGVsYXkgKi8KKyAJdWludDhfdCBkaXNjb3ZlcnlfdHlwZTsJCS8qIGN1cnJlbnQgYWN0aXZlIGRpc2NvdmVyeSB0eXBlICovCitAQCAtMTg0Miw2ICsxODQ0LDE2IEBAIHN0YXRpYyB2b2lkIGRpc2NvdmVyeV9mcmVlKHZvaWQgKnVzZXJfZGF0YSkKKyAJZ19mcmVlKGNsaWVudCk7CisgfQorIAorK3N0YXRpYyBib29sIHNldF9maWx0ZXJlZF9kaXNjb3ZlcmFibGUoc3RydWN0IGJ0ZF9hZGFwdGVyICphZGFwdGVyLCBib29sIGVuYWJsZSkKKyt7CisrCWlmIChhZGFwdGVyLT5maWx0ZXJlZF9kaXNjb3ZlcmFibGUgPT0gZW5hYmxlKQorKwkJcmV0dXJuIHRydWU7CisrCisrCWFkYXB0ZXItPmZpbHRlcmVkX2Rpc2NvdmVyYWJsZSA9IGVuYWJsZTsKKysKKysJcmV0dXJuIHNldF9kaXNjb3ZlcmFibGUoYWRhcHRlciwgZW5hYmxlLCAwKTsKKyt9CisrCisgc3RhdGljIHZvaWQgZGlzY292ZXJ5X3JlbW92ZShzdHJ1Y3Qgd2F0Y2hfY2xpZW50ICpjbGllbnQpCisgeworIAlzdHJ1Y3QgYnRkX2FkYXB0ZXIgKmFkYXB0ZXIgPSBjbGllbnQtPmFkYXB0ZXI7CitAQCAtMTg1NCw2ICsxODY2LDIyIEBAIHN0YXRpYyB2b2lkIGRpc2NvdmVyeV9yZW1vdmUoc3RydWN0IHdhdGNoX2NsaWVudCAqY2xpZW50KQorIAlhZGFwdGVyLT5kaXNjb3ZlcnlfbGlzdCA9IGdfc2xpc3RfcmVtb3ZlKGFkYXB0ZXItPmRpc2NvdmVyeV9saXN0LAorIAkJCQkJCQkJY2xpZW50KTsKKyAKKysJaWYgKGFkYXB0ZXItPmZpbHRlcmVkX2Rpc2NvdmVyYWJsZSAmJgorKwkJCWNsaWVudC0+ZGlzY292ZXJ5X2ZpbHRlci0+ZGlzY292ZXJhYmxlKSB7CisrCQlHU0xpc3QgKmw7CisrCisrCQlmb3IgKGwgPSBhZGFwdGVyLT5kaXNjb3ZlcnlfbGlzdDsgbDsgbCA9IGdfc2xpc3RfbmV4dChsKSkgeworKwkJCXN0cnVjdCB3YXRjaF9jbGllbnQgKmNsaWVudCA9IGwtPmRhdGE7CisrCisrCQkJaWYgKGNsaWVudC0+ZGlzY292ZXJ5X2ZpbHRlci0+ZGlzY292ZXJhYmxlKQorKwkJCQlicmVhazsKKysJCX0KKysKKysJCS8qIERpc2FibGUgZmlsdGVyZWQgZGlzY292ZXJhYmxlIGlmIHRoZXJlIGFyZSBubyBjbGllbnRzICovCisrCQlpZiAoIWwpCisrCQkJc2V0X2ZpbHRlcmVkX2Rpc2NvdmVyYWJsZShhZGFwdGVyLCBmYWxzZSk7CisrCX0KKysKKyAJZGlzY292ZXJ5X2ZyZWUoY2xpZW50KTsKKyAKKyAJLyoKK0BAIC0yMjI0LDYgKzIyNTIsMTUgQEAgc3RhdGljIERCdXNNZXNzYWdlICpzdGFydF9kaXNjb3ZlcnkoREJ1c0Nvbm5lY3Rpb24gKmNvbm4sCisgCQkJCQkgICAgIGFkYXB0ZXItPnNldF9maWx0ZXJfbGlzdCwgY2xpZW50KTsKKyAJCWFkYXB0ZXItPmRpc2NvdmVyeV9saXN0ID0gZ19zbGlzdF9wcmVwZW5kKAorIAkJCQkJICAgICAgYWRhcHRlci0+ZGlzY292ZXJ5X2xpc3QsIGNsaWVudCk7CisrCisrCQkvKiBSZXNldCBkaXNjb3ZlcmFibGUgZmlsdGVyIGlmIGFscmVhZHkgc2V0ICovCisrCQlpZiAoYWRhcHRlci0+Y3VycmVudF9zZXR0aW5ncyAmIE1HTVRfT1BfU0VUX0RJU0NPVkVSQUJMRSkKKysJCQlnb3RvIGRvbmU7CisrCisrCQkvKiBTZXQgZGlzY292ZXJhYmxlIGlmIGZpbHRlciByZXF1aXJlcyBhbmQgaXQqLworKwkJaWYgKGNsaWVudC0+ZGlzY292ZXJ5X2ZpbHRlci0+ZGlzY292ZXJhYmxlKQorKwkJCXNldF9maWx0ZXJlZF9kaXNjb3ZlcmFibGUoYWRhcHRlciwgdHJ1ZSk7CisrCisgCQlnb3RvIGRvbmU7CisgCX0KKyAKK0BAIC0yMzQ4LDYgKzIzODUsMTcgQEAgc3RhdGljIGJvb2wgcGFyc2VfZHVwbGljYXRlX2RhdGEoREJ1c01lc3NhZ2VJdGVyICp2YWx1ZSwKKyAJcmV0dXJuIHRydWU7CisgfQorIAorK3N0YXRpYyBib29sIHBhcnNlX2Rpc2NvdmVyYWJsZShEQnVzTWVzc2FnZUl0ZXIgKnZhbHVlLAorKwkJCQkJc3RydWN0IGRpc2NvdmVyeV9maWx0ZXIgKmZpbHRlcikKKyt7CisrCWlmIChkYnVzX21lc3NhZ2VfaXRlcl9nZXRfYXJnX3R5cGUodmFsdWUpICE9IERCVVNfVFlQRV9CT09MRUFOKQorKwkJcmV0dXJuIGZhbHNlOworKworKwlkYnVzX21lc3NhZ2VfaXRlcl9nZXRfYmFzaWModmFsdWUsICZmaWx0ZXItPmRpc2NvdmVyYWJsZSk7CisrCisrCXJldHVybiB0cnVlOworK30KKysKKyBzdHJ1Y3QgZmlsdGVyX3BhcnNlciB7CisgCWNvbnN0IGNoYXIgKm5hbWU7CisgCWJvb2wgKCpmdW5jKShEQnVzTWVzc2FnZUl0ZXIgKml0ZXIsIHN0cnVjdCBkaXNjb3ZlcnlfZmlsdGVyICpmaWx0ZXIpOworQEAgLTIzNTcsNiArMjQwNSw3IEBAIHN0cnVjdCBmaWx0ZXJfcGFyc2VyIHsKKyAJeyAiUGF0aGxvc3MiLCBwYXJzZV9wYXRobG9zcyB9LAorIAl7ICJUcmFuc3BvcnQiLCBwYXJzZV90cmFuc3BvcnQgfSwKKyAJeyAiRHVwbGljYXRlRGF0YSIsIHBhcnNlX2R1cGxpY2F0ZV9kYXRhIH0sCisrCXsgIkRpc2NvdmVyYWJsZSIsIHBhcnNlX2Rpc2NvdmVyYWJsZSB9LAorIAl7IH0KKyB9OworIAorQEAgLTIzOTYsNiArMjQ0NSw3IEBAIHN0YXRpYyBib29sIHBhcnNlX2Rpc2NvdmVyeV9maWx0ZXJfZGljdChzdHJ1Y3QgYnRkX2FkYXB0ZXIgKmFkYXB0ZXIsCisgCSgqZmlsdGVyKS0+cnNzaSA9IERJU1RBTkNFX1ZBTF9JTlZBTElEOworIAkoKmZpbHRlciktPnR5cGUgPSBnZXRfc2Nhbl90eXBlKGFkYXB0ZXIpOworIAkoKmZpbHRlciktPmR1cGxpY2F0ZSA9IGZhbHNlOworKwkoKmZpbHRlciktPmRpc2NvdmVyYWJsZSA9IGZhbHNlOworIAorIAlkYnVzX21lc3NhZ2VfaXRlcl9pbml0KG1zZywgJml0ZXIpOworIAlpZiAoZGJ1c19tZXNzYWdlX2l0ZXJfZ2V0X2FyZ190eXBlKCZpdGVyKSAhPSBEQlVTX1RZUEVfQVJSQVkgfHwKK0BAIC0yNDQxLDggKzI0OTEsMTAgQEAgc3RhdGljIGJvb2wgcGFyc2VfZGlzY292ZXJ5X2ZpbHRlcl9kaWN0KHN0cnVjdCBidGRfYWRhcHRlciAqYWRhcHRlciwKKyAJCWdvdG8gaW52YWxpZF9hcmdzOworIAorIAlEQkcoImZpbHRlcmVkIGRpc2NvdmVyeSBwYXJhbXM6IHRyYW5zcG9ydDogJWQgcnNzaTogJWQgcGF0aGxvc3M6ICVkICIKKy0JCSIgZHVwbGljYXRlIGRhdGE6ICVzICIsICgqZmlsdGVyKS0+dHlwZSwgKCpmaWx0ZXIpLT5yc3NpLAorLQkJKCpmaWx0ZXIpLT5wYXRobG9zcywgKCpmaWx0ZXIpLT5kdXBsaWNhdGUgPyAidHJ1ZSIgOiAiZmFsc2UiKTsKKysJCSIgZHVwbGljYXRlIGRhdGE6ICVzIGRpc2NvdmVyYWJsZSAlcyIsICgqZmlsdGVyKS0+dHlwZSwKKysJCSgqZmlsdGVyKS0+cnNzaSwgKCpmaWx0ZXIpLT5wYXRobG9zcywKKysJCSgqZmlsdGVyKS0+ZHVwbGljYXRlID8gInRydWUiIDogImZhbHNlIiwKKysJCSgqZmlsdGVyKS0+ZGlzY292ZXJhYmxlID8gInRydWUiIDogImZhbHNlIik7CisgCisgCXJldHVybiB0cnVlOworIAorLS0gCisyLjE3LjEKK1N1YmplY3Q6ICAgIFtQQVRDSCBCbHVlWiAzLzVdIGNsaWVudDogQWRkIHNjYW4uZGlzY292ZXJhYmxlIGNvbW1hbmQKK0Zyb206ICAgICAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHogKCkgZ21haWwgISBjb20+CitEYXRlOiAgICAgICAyMDE4LTA3LTI2IDE0OjE3OjIxCitNZXNzYWdlLUlEOiAyMDE4MDcyNjE0MTcyMy4yMDE5OS0zLWx1aXouZGVudHogKCkgZ21haWwgISBjb20KK1tEb3dubG9hZCBSQVcgbWVzc2FnZSBvciBib2R5XQorCitGcm9tOiBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LnZvbi5kZW50ekBpbnRlbC5jb20+CisKK1RoaXMgYWRkcyBkaXNjb3ZlcmFibGUgY29tbWFuZCB0byBzY2FuIG1lbnUgd2hpY2ggY2FuIGJlIHVzZWQgdG8gc2V0CitpZiBhZGFwdGVyIHNob3VsZCBiZWNvbWUgZGlzY292ZXJhYmxlIHdoaWxlIHNjYW5uaW5nOgorCitbYmx1ZXRvb3RoXSMgc2Nhbi5kaXNjb3ZlcmFibGUgb24KK1tibHVldG9vdGhdIyBzY2FuIG9uCitTZXREaXNjb3ZlcnlGaWx0ZXIgc3VjY2VzcworW0NIR10gQ29udHJvbGxlciBYWDpYWDpYWDpYWDpYWDpYWCBEaXNjb3ZlcmFibGU6IHllcworRGlzY292ZXJ5IHN0YXJ0ZWQKK1tDSEddIENvbnRyb2xsZXIgWFg6WFg6WFg6WFg6WFg6WFggRGlzY292ZXJpbmc6IHllcworW2JsdWV0b290aF0jIHNjYW4gb2ZmCitEaXNjb3Zlcnkgc3RvcHBlZAorW0NIR10gQ29udHJvbGxlciBYWDpYWDpYWDpYWDpYWDpYWCBEaXNjb3ZlcmFibGU6IG5vCistLS0KKyBjbGllbnQvbWFpbi5jIHwgMjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvY2xpZW50L21haW4uYyBiL2NsaWVudC9tYWluLmMKK2luZGV4IDZmNDcyZDA1MC4uNmU2ZjZkMmZiIDEwMDY0NAorLS0tIGEvY2xpZW50L21haW4uYworKysrIGIvY2xpZW50L21haW4uYworQEAgLTExNjYsNiArMTE2Niw3IEBAIHN0YXRpYyBzdHJ1Y3Qgc2V0X2Rpc2NvdmVyeV9maWx0ZXJfYXJncyB7CisgCWNoYXIgKip1dWlkczsKKyAJc2l6ZV90IHV1aWRzX2xlbjsKKyAJZGJ1c19ib29sX3QgZHVwbGljYXRlOworKwlkYnVzX2Jvb2xfdCBkaXNjb3ZlcmFibGU7CisgCWJvb2wgc2V0OworIH0gZmlsdGVyID0geworIAkucnNzaSA9IERJU1RBTkNFX1ZBTF9JTlZBTElELAorQEAgLTEyMDUsNiArMTIwNiwxMSBAQCBzdGF0aWMgdm9pZCBzZXRfZGlzY292ZXJ5X2ZpbHRlcl9zZXR1cChEQnVzTWVzc2FnZUl0ZXIgKml0ZXIsIHZvaWQgKnVzZXJfZGF0YSkKKyAJCQkJCQlEQlVTX1RZUEVfQk9PTEVBTiwKKyAJCQkJCQkmYXJncy0+ZHVwbGljYXRlKTsKKyAKKysJaWYgKGFyZ3MtPmRpc2NvdmVyYWJsZSkKKysJCWdfZGJ1c19kaWN0X2FwcGVuZF9lbnRyeSgmZGljdCwgIkRpc2NvdmVyYWJsZSIsCisrCQkJCQkJREJVU19UWVBFX0JPT0xFQU4sCisrCQkJCQkJJmFyZ3MtPmRpc2NvdmVyYWJsZSk7CisrCisgCWRidXNfbWVzc2FnZV9pdGVyX2Nsb3NlX2NvbnRhaW5lcihpdGVyLCAmZGljdCk7CisgfQorIAorQEAgLTEzNjIsNiArMTM2OCwyNiBAQCBzdGF0aWMgdm9pZCBjbWRfc2Nhbl9maWx0ZXJfZHVwbGljYXRlX2RhdGEoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAJZmlsdGVyLnNldCA9IGZhbHNlOworIH0KKyAKKytzdGF0aWMgdm9pZCBjbWRfc2Nhbl9maWx0ZXJfZGlzY292ZXJhYmxlKGludCBhcmdjLCBjaGFyICphcmd2W10pCisreworKwlpZiAoYXJnYyA8IDIgfHwgIXN0cmxlbihhcmd2WzFdKSkgeworKwkJYnRfc2hlbGxfcHJpbnRmKCJEaXNjb3ZlcmFibGU6ICVzXG4iLAorKwkJCQlmaWx0ZXIuZGlzY292ZXJhYmxlID8gIm9uIiA6ICJvZmYiKTsKKysJCXJldHVybiBidF9zaGVsbF9ub25pbnRlcmFjdGl2ZV9xdWl0KEVYSVRfU1VDQ0VTUyk7CisrCX0KKysKKysJaWYgKCFzdHJjbXAoYXJndlsxXSwgIm9uIikpCisrCQlmaWx0ZXIuZGlzY292ZXJhYmxlID0gdHJ1ZTsKKysJZWxzZSBpZiAoIXN0cmNtcChhcmd2WzFdLCAib2ZmIikpCisrCQlmaWx0ZXIuZGlzY292ZXJhYmxlID0gZmFsc2U7CisrCWVsc2UgeworKwkJYnRfc2hlbGxfcHJpbnRmKCJJbnZhbGlkIG9wdGlvbjogJXNcbiIsIGFyZ3ZbMV0pOworKwkJcmV0dXJuIGJ0X3NoZWxsX25vbmludGVyYWN0aXZlX3F1aXQoRVhJVF9GQUlMVVJFKTsKKysJfQorKworKwlmaWx0ZXIuc2V0ID0gZmFsc2U7CisrfQorKworIHN0YXRpYyB2b2lkIGZpbHRlcl9jbGVhcl91dWlkcyh2b2lkKQorIHsKKyAJZ19zdHJmcmVldihmaWx0ZXIudXVpZHMpOworQEAgLTI1MTAsNiArMjUzNiw5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYnRfc2hlbGxfbWVudSBzY2FuX21lbnUgPSB7CisgCXsgImR1cGxpY2F0ZS1kYXRhIiwgIltvbi9vZmZdIiwgY21kX3NjYW5fZmlsdGVyX2R1cGxpY2F0ZV9kYXRhLAorIAkJCQkiU2V0L0dldCBkdXBsaWNhdGUgZGF0YSBmaWx0ZXIiLAorIAkJCQlOVUxMIH0sCisrCXsgImRpc2NvdmVyYWJsZSIsICJbb24vb2ZmXSIsIGNtZF9zY2FuX2ZpbHRlcl9kaXNjb3ZlcmFibGUsCisrCQkJCSJTZXQvR2V0IGRpc2NvdmVyYWJsZSBmaWx0ZXIiLAorKwkJCQlOVUxMIH0sCisgCXsgImNsZWFyIiwgIlt1dWlkcy9yc3NpL3BhdGhsb3NzL3RyYW5zcG9ydC9kdXBsaWNhdGUtZGF0YV0iLAorIAkJCQljbWRfc2Nhbl9maWx0ZXJfY2xlYXIsCisgCQkJCSJDbGVhcnMgZGlzY292ZXJ5IGZpbHRlci4iLAorLS0gCisyLjE3LjEKK1N1YmplY3Q6ICAgIFtQQVRDSCBCbHVlWiA0LzVdIGNsaWVudDogQWRkIHNjYW4uY2xlYXIgZGlzY292ZXJhYmxlCitGcm9tOiAgICAgICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6ICgpIGdtYWlsICEgY29tPgorRGF0ZTogICAgICAgMjAxOC0wNy0yNiAxNDoxNzoyMgorTWVzc2FnZS1JRDogMjAxODA3MjYxNDE3MjMuMjAxOTktNC1sdWl6LmRlbnR6ICgpIGdtYWlsICEgY29tCitbRG93bmxvYWQgUkFXIG1lc3NhZ2Ugb3IgYm9keV0KKworRnJvbTogTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei52b24uZGVudHpAaW50ZWwuY29tPgorCitUaGlzIGltcGxlbWVudHMgc2Nhbi5jbGVhciBmb3IgZGlzY292ZXJhYmxlIGZpbHRlci4KKy0tLQorIGNsaWVudC9tYWluLmMgfCA5ICsrKysrKysrLQorIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NsaWVudC9tYWluLmMgYi9jbGllbnQvbWFpbi5jCitpbmRleCA2ZTZmNmQyZmIuLjFhNjZhM2FiNCAxMDA2NDQKKy0tLSBhL2NsaWVudC9tYWluLmMKKysrKyBiL2NsaWVudC9tYWluLmMKK0BAIC0xNDE2LDYgKzE0MTYsMTEgQEAgc3RhdGljIHZvaWQgZmlsdGVyX2NsZWFyX2R1cGxpY2F0ZSh2b2lkKQorIAlmaWx0ZXIuZHVwbGljYXRlID0gZmFsc2U7CisgfQorIAorK3N0YXRpYyB2b2lkIGZpbHRlcl9jbGVhcl9kaXNjb3ZlcmFibGUodm9pZCkKKyt7CisrCWZpbHRlci5kaXNjb3ZlcmFibGUgPSBmYWxzZTsKKyt9CisrCisgc3RydWN0IGNsZWFyX2VudHJ5IHsKKyAJY29uc3QgY2hhciAqbmFtZTsKKyAJdm9pZCAoKmNsZWFyKSAodm9pZCk7CitAQCAtMTQyNyw2ICsxNDMyLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBjbGVhcl9lbnRyeSBmaWx0ZXJfY2xlYXJbXSA9IHsKKyAJeyAicGF0aGxvc3MiLCBmaWx0ZXJfY2xlYXJfcGF0aGxvc3MgfSwKKyAJeyAidHJhbnNwb3J0IiwgZmlsdGVyX2NsZWFyX3RyYW5zcG9ydCB9LAorIAl7ICJkdXBsaWNhdGUtZGF0YSIsIGZpbHRlcl9jbGVhcl9kdXBsaWNhdGUgfSwKKysJeyAiZGlzY292ZXJhYmxlIiwgZmlsdGVyX2NsZWFyX2Rpc2NvdmVyYWJsZSB9LAorIAl7fQorIH07CisgCitAQCAtMjUzOSw3ICsyNTQ1LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBidF9zaGVsbF9tZW51IHNjYW5fbWVudSA9IHsKKyAJeyAiZGlzY292ZXJhYmxlIiwgIltvbi9vZmZdIiwgY21kX3NjYW5fZmlsdGVyX2Rpc2NvdmVyYWJsZSwKKyAJCQkJIlNldC9HZXQgZGlzY292ZXJhYmxlIGZpbHRlciIsCisgCQkJCU5VTEwgfSwKKy0JeyAiY2xlYXIiLCAiW3V1aWRzL3Jzc2kvcGF0aGxvc3MvdHJhbnNwb3J0L2R1cGxpY2F0ZS1kYXRhXSIsCisrCXsgImNsZWFyIiwKKysJCSJbdXVpZHMvcnNzaS9wYXRobG9zcy90cmFuc3BvcnQvZHVwbGljYXRlLWRhdGEvZGlzY292ZXJhYmxlXSIsCisgCQkJCWNtZF9zY2FuX2ZpbHRlcl9jbGVhciwKKyAJCQkJIkNsZWFycyBkaXNjb3ZlcnkgZmlsdGVyLiIsCisgCQkJCWZpbHRlcl9jbGVhcl9nZW5lcmF0b3IgfSwKKy0tIAorMi4xNy4xCitTdWJqZWN0OiAgICBbUEFUQ0ggQmx1ZVogNS81XSBhZGFwdGVyOiBGaXggbm90IGtlZXBpbmcgZGlzY292ZXJ5IGZpbHRlcnMKK0Zyb206ICAgICAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHogKCkgZ21haWwgISBjb20+CitEYXRlOiAgICAgICAyMDE4LTA3LTI2IDE0OjE3OjIzCitNZXNzYWdlLUlEOiAyMDE4MDcyNjE0MTcyMy4yMDE5OS01LWx1aXouZGVudHogKCkgZ21haWwgISBjb20KK1tEb3dubG9hZCBSQVcgbWVzc2FnZSBvciBib2R5XQorCitGcm9tOiBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LnZvbi5kZW50ekBpbnRlbC5jb20+CisKK0lmIHRoZSBkaXNjb3ZlcnkgaGFzIGJlZW4gc3RvcHBlZCBhbmQgdGhlIGNsaWVudCBoYXMgc2V0IGZpbHRlcnMgdGhvc2UKK3Nob3VsZCBiZSBwdXQgYmFjayBpbnRvIGZpbHRlciBsaXN0IHNpbmNlIHRoZSBjbGllbnQgbWF5IHN0aWxsIGJlCitpbnRlcmVzdGVkIGluIHVzaW5nIHRoZW0gdGhlIG5leHQgdGltZSBpdCBzdGFydCBhIHNjYW5uaW5nLgorLS0tCisgc3JjL2FkYXB0ZXIuYyB8IDI1ICsrKysrKysrKysrKysrKystLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9hZGFwdGVyLmMgYi9zcmMvYWRhcHRlci5jCitpbmRleCBiZDllZGRkYzYuLjgyMmJkMzQ3MiAxMDA2NDQKKy0tLSBhL3NyYy9hZGFwdGVyLmMKKysrKyBiL3NyYy9hZGFwdGVyLmMKK0BAIC0xODU0LDcgKzE4NTQsNyBAQCBzdGF0aWMgYm9vbCBzZXRfZmlsdGVyZWRfZGlzY292ZXJhYmxlKHN0cnVjdCBidGRfYWRhcHRlciAqYWRhcHRlciwgYm9vbCBlbmFibGUpCisgCXJldHVybiBzZXRfZGlzY292ZXJhYmxlKGFkYXB0ZXIsIGVuYWJsZSwgMCk7CisgfQorIAorLXN0YXRpYyB2b2lkIGRpc2NvdmVyeV9yZW1vdmUoc3RydWN0IHdhdGNoX2NsaWVudCAqY2xpZW50KQorK3N0YXRpYyB2b2lkIGRpc2NvdmVyeV9yZW1vdmUoc3RydWN0IHdhdGNoX2NsaWVudCAqY2xpZW50LCBib29sIGV4aXQpCisgeworIAlzdHJ1Y3QgYnRkX2FkYXB0ZXIgKmFkYXB0ZXIgPSBjbGllbnQtPmFkYXB0ZXI7CisgCitAQCAtMTg4Miw3ICsxODgyLDExIEBAIHN0YXRpYyB2b2lkIGRpc2NvdmVyeV9yZW1vdmUoc3RydWN0IHdhdGNoX2NsaWVudCAqY2xpZW50KQorIAkJCXNldF9maWx0ZXJlZF9kaXNjb3ZlcmFibGUoYWRhcHRlciwgZmFsc2UpOworIAl9CisgCistCWRpc2NvdmVyeV9mcmVlKGNsaWVudCk7CisrCWlmICghZXhpdCAmJiBjbGllbnQtPmRpc2NvdmVyeV9maWx0ZXIpCisrCQlhZGFwdGVyLT5zZXRfZmlsdGVyX2xpc3QgPSBnX3NsaXN0X3ByZXBlbmQoCisrCQkJCQlhZGFwdGVyLT5zZXRfZmlsdGVyX2xpc3QsIGNsaWVudCk7CisrCWVsc2UKKysJCWRpc2NvdmVyeV9mcmVlKGNsaWVudCk7CisgCisgCS8qCisgCSAqIElmIHRoZXJlIGFyZSBvdGhlciBjbGllbnQgZGlzY292ZXJpZXMgaW4gcHJvZ3Jlc3MsIHRoZW4gbGVhdmUKK0BAIC0xOTExLDggKzE5MTUsMTEgQEAgc3RhdGljIHZvaWQgc3RvcF9kaXNjb3ZlcnlfY29tcGxldGUodWludDhfdCBzdGF0dXMsIHVpbnQxNl90IGxlbmd0aCwKKyAJCWdvdG8gZG9uZTsKKyAJfQorIAorLQlpZiAoY2xpZW50LT5tc2cpCisrCWlmIChjbGllbnQtPm1zZykgeworIAkJZ19kYnVzX3NlbmRfcmVwbHkoZGJ1c19jb25uLCBjbGllbnQtPm1zZywgREJVU19UWVBFX0lOVkFMSUQpOworKwkJZGJ1c19tZXNzYWdlX3VucmVmKGNsaWVudC0+bXNnKTsKKysJCWNsaWVudC0+bXNnID0gTlVMTDsKKysJfQorIAorIAlhZGFwdGVyLT5kaXNjb3ZlcnlfdHlwZSA9IDB4MDA7CisgCWFkYXB0ZXItPmRpc2NvdmVyeV9lbmFibGUgPSAweDAwOworQEAgLTE5MjUsNyArMTkzMiw3IEBAIHN0YXRpYyB2b2lkIHN0b3BfZGlzY292ZXJ5X2NvbXBsZXRlKHVpbnQ4X3Qgc3RhdHVzLCB1aW50MTZfdCBsZW5ndGgsCisgCXRyaWdnZXJfcGFzc2l2ZV9zY2FubmluZyhhZGFwdGVyKTsKKyAKKyBkb25lOgorLQlkaXNjb3ZlcnlfcmVtb3ZlKGNsaWVudCk7CisrCWRpc2NvdmVyeV9yZW1vdmUoY2xpZW50LCBmYWxzZSk7CisgfQorIAorIHN0YXRpYyBpbnQgY29tcGFyZV9zZW5kZXIoZ2NvbnN0cG9pbnRlciBhLCBnY29uc3Rwb2ludGVyIGIpCitAQCAtMjE0NiwxNCArMjE1MywxNCBAQCBzdGF0aWMgaW50IHVwZGF0ZV9kaXNjb3ZlcnlfZmlsdGVyKHN0cnVjdCBidGRfYWRhcHRlciAqYWRhcHRlcikKKyAJcmV0dXJuIC1FSU5QUk9HUkVTUzsKKyB9CisgCistc3RhdGljIGludCBkaXNjb3Zlcnlfc3RvcChzdHJ1Y3Qgd2F0Y2hfY2xpZW50ICpjbGllbnQpCisrc3RhdGljIGludCBkaXNjb3Zlcnlfc3RvcChzdHJ1Y3Qgd2F0Y2hfY2xpZW50ICpjbGllbnQsIGJvb2wgZXhpdCkKKyB7CisgCXN0cnVjdCBidGRfYWRhcHRlciAqYWRhcHRlciA9IGNsaWVudC0+YWRhcHRlcjsKKyAJc3RydWN0IG1nbXRfY3Bfc3RvcF9kaXNjb3ZlcnkgY3A7CisgCisgCS8qIENoZWNrIGlmIHRoZXJlIGFyZSBtb3JlIGNsaWVudCBkaXNjb3ZlcmluZyAqLworIAlpZiAoZ19zbGlzdF9uZXh0KGFkYXB0ZXItPmRpc2NvdmVyeV9saXN0KSkgeworLQkJZGlzY292ZXJ5X3JlbW92ZShjbGllbnQpOworKwkJZGlzY292ZXJ5X3JlbW92ZShjbGllbnQsIGV4aXQpOworIAkJdXBkYXRlX2Rpc2NvdmVyeV9maWx0ZXIoYWRhcHRlcik7CisgCQlyZXR1cm4gMDsKKyAJfQorQEAgLTIxNjMsNyArMjE3MCw3IEBAIHN0YXRpYyBpbnQgZGlzY292ZXJ5X3N0b3Aoc3RydWN0IHdhdGNoX2NsaWVudCAqY2xpZW50KQorIAkgKiBhbmQgc28gaXQgaXMgZW5vdWdoIHRvIHNlbmQgb3V0IHRoZSBzaWduYWwgYW5kIGp1c3QgcmV0dXJuLgorIAkgKi8KKyAJaWYgKGFkYXB0ZXItPmRpc2NvdmVyeV9lbmFibGUgPT0gMHgwMCkgeworLQkJZGlzY292ZXJ5X3JlbW92ZShjbGllbnQpOworKwkJZGlzY292ZXJ5X3JlbW92ZShjbGllbnQsIGV4aXQpOworIAkJYWRhcHRlci0+ZGlzY292ZXJpbmcgPSBmYWxzZTsKKyAJCWdfZGJ1c19lbWl0X3Byb3BlcnR5X2NoYW5nZWQoZGJ1c19jb25uLCBhZGFwdGVyLT5wYXRoLAorIAkJCQkJQURBUFRFUl9JTlRFUkZBQ0UsICJEaXNjb3ZlcmluZyIpOworQEAgLTIxODgsNyArMjE5NSw3IEBAIHN0YXRpYyB2b2lkIGRpc2NvdmVyeV9kaXNjb25uZWN0KERCdXNDb25uZWN0aW9uICpjb25uLCB2b2lkICp1c2VyX2RhdGEpCisgCisgCURCRygib3duZXIgJXMiLCBjbGllbnQtPm93bmVyKTsKKyAKKy0JZGlzY292ZXJ5X3N0b3AoY2xpZW50KTsKKysJZGlzY292ZXJ5X3N0b3AoY2xpZW50LCB0cnVlKTsKKyB9CisgCisgLyoKK0BAIC0yNTg2LDcgKzI1OTMsNyBAQCBzdGF0aWMgREJ1c01lc3NhZ2UgKnN0b3BfZGlzY292ZXJ5KERCdXNDb25uZWN0aW9uICpjb25uLAorIAlpZiAoY2xpZW50LT5tc2cpCisgCQlyZXR1cm4gYnRkX2Vycm9yX2J1c3kobXNnKTsKKyAKKy0JZXJyID0gZGlzY292ZXJ5X3N0b3AoY2xpZW50KTsKKysJZXJyID0gZGlzY292ZXJ5X3N0b3AoY2xpZW50LCBmYWxzZSk7CisgCXN3aXRjaCAoZXJyKSB7CisgCWNhc2UgMDoKKyAJCXJldHVybiBkYnVzX21lc3NhZ2VfbmV3X21ldGhvZF9yZXR1cm4obXNnKTsKKy0tIAorMi4xNy4xCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXo1L2JsdWV6NS9pbml0IGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6NS9ibHVlejUvaW5pdAppbmRleCBkNzk3MmYyLi5jYTlmYTE4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXo1L2JsdWV6NS9pbml0CisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlejUvYmx1ZXo1L2luaXQKQEAgLTEsNSArMSw4IEBACiAjIS9iaW4vc2gKIAorIyBTb3VyY2UgZnVuY3Rpb24gbGlicmFyeQorLiAvZXRjL2luaXQuZC9mdW5jdGlvbnMKKwogUEFUSD0vc2JpbjovYmluOi91c3Ivc2JpbjovdXNyL2JpbgogREVTQz1ibHVldG9vdGgKIApAQCAtNDQsMTQgKzQ3LDcgQEAKIAkkMCBzdGFydAogICA7OwogICBzdGF0dXMpCi0JIHBpZG9mICR7REFFTU9OfSA+L2Rldi9udWxsCi0JIHN0YXR1cz0kPwotICAgICAgICBpZiBbICRzdGF0dXMgLWVxIDAgXTsgdGhlbgotICAgICAgICAgICAgICAgICBlY2hvICJibHVldG9vdGggaXMgcnVubmluZy4iCi0gICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBlY2hvICJibHVldG9vdGggaXMgbm90IHJ1bm5pbmciCi0gICAgICAgIGZpCi0gICAgICAgIGV4aXQgJHN0YXR1cworCXN0YXR1cyAke0RBRU1PTn0gfHwgZXhpdCAkPwogICAgOzsKICAgICopCiAJTj0vZXRjL2luaXQuZC9ibHVldG9vdGgKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW4uaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbi5pbmMKaW5kZXggMmIwM2Y5Yy4uMGExMTdlNCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbi5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbi5pbmMKQEAgLTEzMywxNCArMTMzLDE0IEBACiAgICAgICAgIGFkZF9yZGVwZW5kcyhiYiwgZCwgZmlsZSwgcGtnLCBkZXBtYXAsIG11bHRpbGliX3ByZWZpeCwgRmFsc2UpCiAgICAgcGx1Z2luX2RpciA9IGQuZXhwYW5kKCcke2xpYmRpcn0vY29ubm1hbi9wbHVnaW5zLycpCiAgICAgcGx1Z2luX25hbWUgPSBkLmV4cGFuZCgnJHtQTn0tcGx1Z2luLSVzJykKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwbHVnaW5fZGlyLCAnXiguKikuc28kJywgcGx1Z2luX25hbWUsIFwKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwbHVnaW5fZGlyLCByJ14oLiopLnNvJCcsIHBsdWdpbl9uYW1lLCBcCiAgICAgICAgICcke1BOfSBwbHVnaW4gZm9yICVzJywgZXh0cmFfZGVwZW5kcz0nJywgaG9vaz1ob29rLCBwcmVwZW5kPVRydWUgKQogCiAgICAgaG9vayA9IGxhbWJkYSBmaWxlLHBrZyx4LHksejogXAogICAgICAgICBhZGRfcmRlcGVuZHMoYmIsIGQsIGZpbGUsIHBrZywgZGVwbWFwLCBtdWx0aWxpYl9wcmVmaXgsIFRydWUpCiAgICAgcGx1Z2luX2RpciA9IGQuZXhwYW5kKCcke2xpYmRpcn0vY29ubm1hbi9wbHVnaW5zLXZwbi8nKQogICAgIHBsdWdpbl9uYW1lID0gZC5leHBhbmQoJyR7UE59LXBsdWdpbi12cG4tJXMnKQotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHBsdWdpbl9kaXIsICdeKC4qKS5zbyQnLCBwbHVnaW5fbmFtZSwgXAorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHBsdWdpbl9kaXIsIHInXiguKikuc28kJywgcGx1Z2luX25hbWUsIFwKICAgICAgICAgJyR7UE59IFZQTiBwbHVnaW4gZm9yICVzJywgZXh0cmFfZGVwZW5kcz0nJywgaG9vaz1ob29rLCBwcmVwZW5kPVRydWUgKQogfQogCkBAIC0xNTYsNyArMTU2LDcgQEAKIAogRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9LyogJHtzYmluZGlyfS8qICR7bGliZXhlY2Rpcn0vKiAke2xpYmRpcn0vbGliKi5zby4qIFwKICAgICAgICAgICAgICR7bGliZGlyfS9jb25ubWFuL3BsdWdpbnMgXAotICAgICAgICAgICAgJHtzeXNjb25mZGlyfSAke3NoYXJlZHN0YXRlZGlyfSAke2xvY2Fsc3RhdGVkaXJ9IFwKKyAgICAgICAgICAgICR7c3lzY29uZmRpcn0gJHtzaGFyZWRzdGF0ZWRpcn0gJHtsb2NhbHN0YXRlZGlyfSAke2RhdGFkaXJ9IFwKICAgICAgICAgICAgICR7YmFzZV9iaW5kaXJ9LyogJHtiYXNlX3NiaW5kaXJ9LyogJHtiYXNlX2xpYmRpcn0vKi5zbyogJHtkYXRhZGlyfS8ke1BOfSBcCiAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0tc2VydmljZXMvKiBcCiAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvY29ubm1hbl9yZXNvbHZjb25mLmNvbmYiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuLzAwMDEtRml4LXZhcmlvdXMtaXNzdWVzLXdoaWNoLWNhdXNlLXByb2JsZW1zLXVuZGVyLW11c2wucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuLzAwMDEtRml4LXZhcmlvdXMtaXNzdWVzLXdoaWNoLWNhdXNlLXByb2JsZW1zLXVuZGVyLW11c2wucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjM0NGZlYQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW4vMDAwMS1GaXgtdmFyaW91cy1pc3N1ZXMtd2hpY2gtY2F1c2UtcHJvYmxlbXMtdW5kZXItbXVzbC5wYXRjaApAQCAtMCwwICsxLDM2MiBAQAorRnJvbSAxODFmZjM0Mzk3ODNjNjkyMGY1MjExNzMwNjcyNjg1YTIxMGMzMThmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KK0RhdGU6IE1vbiwgOCBPY3QgMjAxOCAyMjoxMjo1NiArMDIwMAorU3ViamVjdDogW1BBVENIXSBGaXggdmFyaW91cyBpc3N1ZXMgd2hpY2ggY2F1c2UgcHJvYmxlbXMgdW5kZXIgbXVzbAorCitJbnN0ZWFkIG9mIHVzaW5nICNkZWZpbmUgX0dOVV9TT1VSQ0UgaW4gc29tZSBzb3VyY2UgZmlsZXMgd2hpY2ggY2F1c2VzCitwcm9ibGVtcyB3aGVuIGJ1aWxkaW5nIHdpdGggbXVzbCBhcyBtb3JlIGZpbGVzIG5lZWQgdGhlIGRlZmluZSwgc2ltcGx5Cit1c2UgQUNfVVNFX1NZU1RFTV9FWFRFTlNJT05TIGluIGNvbmZpZ3VyZS5hYyB0byBnZXQgaXQgZGVmaW5lZCBnbG9iYWxseS4KKworU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2JkMTMyNmJhN2Q2OGRmMzhjNWNjYWFmZDI0MDNhNWZiMzBiZDQ1MmJdCistLS0KKyBjb25maWd1cmUuYWMgICAgICAgICAgICAgICAgIHwgMyArKysKKyBnZGhjcC9jbGllbnQuYyAgICAgICAgICAgICAgIHwgMSAtCisgZ2RoY3AvY29tbW9uLmggICAgICAgICAgICAgICB8IDUgKysrLS0KKyBnd2ViL2dyZXNvbHYuYyAgICAgICAgICAgICAgIHwgMSArCisgcGx1Z2lucy90aXN0LmMgICAgICAgICAgICAgICB8IDEgLQorIHBsdWdpbnMvd2lmaS5jICAgICAgICAgICAgICAgfCAzICstLQorIHNyYy9iYWNrdHJhY2UuYyAgICAgICAgICAgICAgfCAxIC0KKyBzcmMvaW5ldC5jICAgICAgICAgICAgICAgICAgIHwgMSAtCisgc3JjL2lwcG9vbC5jICAgICAgICAgICAgICAgICB8IDEgLQorIHNyYy9pcHRhYmxlcy5jICAgICAgICAgICAgICAgfCAyICstCisgc3JjL2xvZy5jICAgICAgICAgICAgICAgICAgICB8IDEgLQorIHNyYy9udHAuYyAgICAgICAgICAgICAgICAgICAgfCAxIC0KKyBzcmMvcmVzb2x2ZXIuYyAgICAgICAgICAgICAgIHwgMSAtCisgc3JjL3Jma2lsbC5jICAgICAgICAgICAgICAgICB8IDEgLQorIHNyYy9zdGF0cy5jICAgICAgICAgICAgICAgICAgfCAxIC0KKyBzcmMvdGV0aGVyaW5nLmMgICAgICAgICAgICAgIHwgMiAtLQorIHNyYy90aW1lem9uZS5jICAgICAgICAgICAgICAgfCAxIC0KKyB0b29scy9kaGNwLXRlc3QuYyAgICAgICAgICAgIHwgMSAtCisgdG9vbHMvZG5zcHJveHktdGVzdC5jICAgICAgICB8IDEgKworIHRvb2xzL3ByaXZhdGUtbmV0d29yay10ZXN0LmMgfCAyICstCisgdG9vbHMvc3RhdHMtdG9vbC5jICAgICAgICAgICB8IDEgLQorIHRvb2xzL3RhcC10ZXN0LmMgICAgICAgICAgICAgfCAzICstLQorIHRvb2xzL3dpc3ByLmMgICAgICAgICAgICAgICAgfCAxIC0KKyB2cG4vcGx1Z2lucy92cG4uYyAgICAgICAgICAgIHwgMSAtCisgMjQgZmlsZXMgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDM5NzQ1Zjc2Li45ODQxMjZjMiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMjAsNiArMjAsNyBAQCBBQ19TVUJTVChhYnNfdG9wX3NyY2RpcikKKyBBQ19TVUJTVChhYnNfdG9wX2J1aWxkZGlyKQorIAorIEFDX0xBTkdfQworK0FDX1VTRV9TWVNURU1fRVhURU5TSU9OUworIAorIEFDX1BST0dfQ0MKKyBBTV9QUk9HX0NDX0NfTworQEAgLTE4NSw2ICsxODYsOCBAQCBBQ19DSEVDS19MSUIocmVzb2x2LCBuc19pbml0cGFyc2UsIGR1bW15PXllcywgWworIEFDX0NIRUNLX0hFQURFUlMoW2V4ZWNpbmZvLmhdKQorIEFNX0NPTkRJVElPTkFMKFtCQUNLVFJBQ0VdLCBbdGVzdCAiJHthY19jdl9oZWFkZXJfZXhlY2luZm9faH0iID0gInllcyJdKQorIAorK0FDX0NIRUNLX01FTUJFUlMoW3N0cnVjdCBpbjZfcGt0aW5mby5pcGk2X2FkZHJdLCBbXSwgW10sIFtbI2luY2x1ZGUgPG5ldGluZXQvaW4uaD5dXSkKKysKKyBBQ19DSEVDS19GVU5DKHNpZ25hbGZkLCBkdW1teT15ZXMsCisgCQkJQUNfTVNHX0VSUk9SKHNpZ25hbGZkIHN1cHBvcnQgaXMgcmVxdWlyZWQpKQorIAorZGlmZiAtLWdpdCBhL2dkaGNwL2NsaWVudC5jIGIvZ2RoY3AvY2xpZW50LmMKK2luZGV4IDY3MzU3NzgyLi5jN2RiNzZmMCAxMDA2NDQKKy0tLSBhL2dkaGNwL2NsaWVudC5jCisrKysgYi9nZGhjcC9jbGllbnQuYworQEAgLTIzLDcgKzIzLDYgQEAKKyAjaW5jbHVkZSA8Y29uZmlnLmg+CisgI2VuZGlmCisgCistI2RlZmluZSBfR05VX1NPVVJDRQorICNpbmNsdWRlIDxzdGRpby5oPgorICNpbmNsdWRlIDxlcnJuby5oPgorICNpbmNsdWRlIDx1bmlzdGQuaD4KK2RpZmYgLS1naXQgYS9nZGhjcC9jb21tb24uaCBiL2dkaGNwL2NvbW1vbi5oCitpbmRleCA3NWFiYzE4My4uNjg5OTQ5OWUgMTAwNjQ0CistLS0gYS9nZGhjcC9jb21tb24uaAorKysrIGIvZ2RoY3AvY29tbW9uLmgKK0BAIC0xOSw2ICsxOSw3IEBACisgICoKKyAgKi8KKyAKKysjaW5jbHVkZSA8Y29uZmlnLmg+CisgI2luY2x1ZGUgPG5ldGluZXQvdWRwLmg+CisgI2luY2x1ZGUgPG5ldGluZXQvaXAuaD4KKyAKK0BAIC0xNzAsOCArMTcxLDggQEAgc3RhdGljIGNvbnN0IHVpbnQ4X3QgZGhjcF9vcHRpb25fbGVuZ3Roc1tdID0geworIAlbT1BUSU9OX1UzMl0JPSA0LAorIH07CisgCistLyogYWxyZWFkeSBkZWZpbmVkIHdpdGhpbiBuZXRpbmV0L2luLmggaWYgdXNpbmcgR05VIGNvbXBpbGVyICovCistI2lmbmRlZiBfX1VTRV9HTlUKKysvKiBhbHJlYWR5IGRlZmluZWQgd2l0aGluIG5ldGluZXQvaW4uaCBpZiB1c2luZyBnbGliYyBvciBtdXNsICovCisrI2lmbmRlZiBIQVZFX1NUUlVDVF9JTjZfUEtUSU5GT19JUEk2X0FERFIKKyBzdHJ1Y3QgaW42X3BrdGluZm8geworIAlzdHJ1Y3QgaW42X2FkZHIgaXBpNl9hZGRyOyAgLyogc3JjL2RzdCBJUHY2IGFkZHJlc3MgKi8KKyAJdW5zaWduZWQgaW50IGlwaTZfaWZpbmRleDsgIC8qIHNlbmQvcmVjdiBpbnRlcmZhY2UgaW5kZXggKi8KK2RpZmYgLS1naXQgYS9nd2ViL2dyZXNvbHYuYyBiL2d3ZWIvZ3Jlc29sdi5jCitpbmRleCA4MWM3OWI2Yy4uYjA2Zjg5MzIgMTAwNjQ0CistLS0gYS9nd2ViL2dyZXNvbHYuYworKysrIGIvZ3dlYi9ncmVzb2x2LmMKK0BAIC0yOSw2ICsyOSw3IEBACisgI2luY2x1ZGUgPHN0cmluZy5oPgorICNpbmNsdWRlIDxzdGRsaWIuaD4KKyAjaW5jbHVkZSA8cmVzb2x2Lmg+CisrI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CisgI2luY2x1ZGUgPG5ldGRiLmg+CitkaWZmIC0tZ2l0IGEvcGx1Z2lucy90aXN0LmMgYi9wbHVnaW5zL3Rpc3QuYworaW5kZXggYWQ1ZWY3OWUuLmNjMjgwMGExIDEwMDY0NAorLS0tIGEvcGx1Z2lucy90aXN0LmMKKysrKyBiL3BsdWdpbnMvdGlzdC5jCitAQCAtMjMsNyArMjMsNiBAQAorICNpbmNsdWRlIDxjb25maWcuaD4KKyAjZW5kaWYKKyAKKy0jZGVmaW5lIF9HTlVfU09VUkNFCisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgPHN0ZGJvb2wuaD4KKyAjaW5jbHVkZSA8c3RkbGliLmg+CitkaWZmIC0tZ2l0IGEvcGx1Z2lucy93aWZpLmMgYi9wbHVnaW5zL3dpZmkuYworaW5kZXggZGMwOGM2YWYuLjQ2ZTRjY2E0IDEwMDY0NAorLS0tIGEvcGx1Z2lucy93aWZpLmMKKysrKyBiL3BsdWdpbnMvd2lmaS5jCitAQCAtMzAsOSArMzAsOCBAQAorICNpbmNsdWRlIDxzdHJpbmcuaD4KKyAjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKy0jaW5jbHVkZSA8bGludXgvaWZfYXJwLmg+CistI2luY2x1ZGUgPGxpbnV4L3dpcmVsZXNzLmg+CisgI2luY2x1ZGUgPG5ldC9ldGhlcm5ldC5oPgorKyNpbmNsdWRlIDxsaW51eC93aXJlbGVzcy5oPgorIAorICNpZm5kZWYgSUZGX0xPV0VSX1VQCisgI2RlZmluZSBJRkZfTE9XRVJfVVAJMHgxMDAwMAorZGlmZiAtLWdpdCBhL3NyYy9iYWNrdHJhY2UuYyBiL3NyYy9iYWNrdHJhY2UuYworaW5kZXggZThkN2Y0MzIuLmJlZGU2Njk4IDEwMDY0NAorLS0tIGEvc3JjL2JhY2t0cmFjZS5jCisrKysgYi9zcmMvYmFja3RyYWNlLmMKK0BAIC0yNCw3ICsyNCw2IEBACisgI2luY2x1ZGUgPGNvbmZpZy5oPgorICNlbmRpZgorIAorLSNkZWZpbmUgX0dOVV9TT1VSQ0UKKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSA8dW5pc3RkLmg+CisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorZGlmZiAtLWdpdCBhL3NyYy9pbmV0LmMgYi9zcmMvaW5ldC5jCitpbmRleCBhMzEzNzJiNS4uYTU4Y2U3YzEgMTAwNjQ0CistLS0gYS9zcmMvaW5ldC5jCisrKysgYi9zcmMvaW5ldC5jCitAQCAtMjUsNyArMjUsNiBAQAorICNpbmNsdWRlIDxjb25maWcuaD4KKyAjZW5kaWYKKyAKKy0jZGVmaW5lIF9HTlVfU09VUkNFCisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgPGVycm5vLmg+CisgI2luY2x1ZGUgPHVuaXN0ZC5oPgorZGlmZiAtLWdpdCBhL3NyYy9pcHBvb2wuYyBiL3NyYy9pcHBvb2wuYworaW5kZXggY2VhMWRjY2QuLjhhNjQ1ZGEyIDEwMDY0NAorLS0tIGEvc3JjL2lwcG9vbC5jCisrKysgYi9zcmMvaXBwb29sLmMKK0BAIC0yOCw3ICsyOCw2IEBACisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgPHN0cmluZy5oPgorICNpbmNsdWRlIDx1bmlzdGQuaD4KKy0jaW5jbHVkZSA8c3lzL2Vycm5vLmg+CisgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKyAKKyAjaW5jbHVkZSAiY29ubm1hbi5oIgorZGlmZiAtLWdpdCBhL3NyYy9pcHRhYmxlcy5jIGIvc3JjL2lwdGFibGVzLmMKK2luZGV4IGYzNjcwZTc3Li40NjllZmZlZCAxMDA2NDQKKy0tLSBhL3NyYy9pcHRhYmxlcy5jCisrKysgYi9zcmMvaXB0YWJsZXMuYworQEAgLTI4LDcgKzI4LDcgQEAKKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSA8c3RyaW5nLmg+CisgI2luY2x1ZGUgPHVuaXN0ZC5oPgorLSNpbmNsdWRlIDxzeXMvZXJybm8uaD4KKysjaW5jbHVkZSA8ZXJybm8uaD4KKyAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgorICNpbmNsdWRlIDx4dGFibGVzLmg+CisgI2luY2x1ZGUgPGludHR5cGVzLmg+CitkaWZmIC0tZ2l0IGEvc3JjL2xvZy5jIGIvc3JjL2xvZy5jCitpbmRleCA5YmFlNGEzZC4uZjdlODJlNWQgMTAwNjQ0CistLS0gYS9zcmMvbG9nLmMKKysrKyBiL3NyYy9sb2cuYworQEAgLTIzLDcgKzIzLDYgQEAKKyAjaW5jbHVkZSA8Y29uZmlnLmg+CisgI2VuZGlmCisgCistI2RlZmluZSBfR05VX1NPVVJDRQorICNpbmNsdWRlIDxzdGRpby5oPgorICNpbmNsdWRlIDx1bmlzdGQuaD4KKyAjaW5jbHVkZSA8c3RkYXJnLmg+CitkaWZmIC0tZ2l0IGEvc3JjL250cC5jIGIvc3JjL250cC5jCitpbmRleCA1MWJhOWFhYy4uNzI0Y2ExODggMTAwNjQ0CistLS0gYS9zcmMvbnRwLmMKKysrKyBiL3NyYy9udHAuYworQEAgLTIzLDcgKzIzLDYgQEAKKyAjaW5jbHVkZSA8Y29uZmlnLmg+CisgI2VuZGlmCisgCistI2RlZmluZSBfR05VX1NPVVJDRQorICNpbmNsdWRlIDxlcnJuby5oPgorICNpbmNsdWRlIDxmY250bC5oPgorICNpbmNsdWRlIDx1bmlzdGQuaD4KK2RpZmYgLS1naXQgYS9zcmMvcmVzb2x2ZXIuYyBiL3NyYy9yZXNvbHZlci5jCitpbmRleCA3NmYwYThlMS4uMTAxMjFhYTUgMTAwNjQ0CistLS0gYS9zcmMvcmVzb2x2ZXIuYworKysrIGIvc3JjL3Jlc29sdmVyLmMKK0BAIC0yMyw3ICsyMyw2IEBACisgI2luY2x1ZGUgPGNvbmZpZy5oPgorICNlbmRpZgorIAorLSNkZWZpbmUgX0dOVV9TT1VSQ0UKKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSA8ZXJybm8uaD4KKyAjaW5jbHVkZSA8ZmNudGwuaD4KK2RpZmYgLS1naXQgYS9zcmMvcmZraWxsLmMgYi9zcmMvcmZraWxsLmMKK2luZGV4IGQ5YmVkNGQyLi5iMjUxNGM0MSAxMDA2NDQKKy0tLSBhL3NyYy9yZmtpbGwuYworKysrIGIvc3JjL3Jma2lsbC5jCitAQCAtMjMsNyArMjMsNiBAQAorICNpbmNsdWRlIDxjb25maWcuaD4KKyAjZW5kaWYKKyAKKy0jZGVmaW5lIF9HTlVfU09VUkNFCisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgPGVycm5vLmg+CisgI2luY2x1ZGUgPGZjbnRsLmg+CitkaWZmIC0tZ2l0IGEvc3JjL3N0YXRzLmMgYi9zcmMvc3RhdHMuYworaW5kZXggNjYzYmMzODIuLmM5ZGRjMmU4IDEwMDY0NAorLS0tIGEvc3JjL3N0YXRzLmMKKysrKyBiL3NyYy9zdGF0cy5jCitAQCAtMjMsNyArMjMsNiBAQAorICNpbmNsdWRlIDxjb25maWcuaD4KKyAjZW5kaWYKKyAKKy0jZGVmaW5lIF9HTlVfU09VUkNFCisgI2luY2x1ZGUgPGVycm5vLmg+CisgI2luY2x1ZGUgPHN5cy9tbWFuLmg+CisgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorZGlmZiAtLWdpdCBhL3NyYy90ZXRoZXJpbmcuYyBiL3NyYy90ZXRoZXJpbmcuYworaW5kZXggNGIyMDIzNjkuLmYzY2IzNmY0IDEwMDY0NAorLS0tIGEvc3JjL3RldGhlcmluZy5jCisrKysgYi9zcmMvdGV0aGVyaW5nLmMKK0BAIC0zNCw4ICszNCw2IEBACisgI2luY2x1ZGUgPHN0cmluZy5oPgorICNpbmNsdWRlIDxmY250bC5oPgorICNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CistI2luY2x1ZGUgPGxpbnV4L3NvY2tpb3MuaD4KKy0jaW5jbHVkZSA8bGludXgvaWZfdHVuLmg+CisgI2luY2x1ZGUgPGxpbnV4L2lmX2JyaWRnZS5oPgorIAorICNpbmNsdWRlICJjb25ubWFuLmgiCitkaWZmIC0tZ2l0IGEvc3JjL3RpbWV6b25lLmMgYi9zcmMvdGltZXpvbmUuYworaW5kZXggZTM0NmIxMWEuLjhlOTEyNjcwIDEwMDY0NAorLS0tIGEvc3JjL3RpbWV6b25lLmMKKysrKyBiL3NyYy90aW1lem9uZS5jCitAQCAtMjMsNyArMjMsNiBAQAorICNpbmNsdWRlIDxjb25maWcuaD4KKyAjZW5kaWYKKyAKKy0jZGVmaW5lIF9HTlVfU09VUkNFCisgI2luY2x1ZGUgPGVycm5vLmg+CisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgPGZjbnRsLmg+CitkaWZmIC0tZ2l0IGEvdG9vbHMvZGhjcC10ZXN0LmMgYi90b29scy9kaGNwLXRlc3QuYworaW5kZXggYzM0ZTEwYTguLmVhZTY2ZmMyIDEwMDY0NAorLS0tIGEvdG9vbHMvZGhjcC10ZXN0LmMKKysrKyBiL3Rvb2xzL2RoY3AtdGVzdC5jCitAQCAtMzMsNyArMzMsNiBAQAorICNpbmNsdWRlIDxhcnBhL2luZXQuaD4KKyAjaW5jbHVkZSA8bmV0L3JvdXRlLmg+CisgI2luY2x1ZGUgPG5ldC9ldGhlcm5ldC5oPgorLSNpbmNsdWRlIDxsaW51eC9pZl9hcnAuaD4KKyAKKyAjaW5jbHVkZSA8Z2RoY3AvZ2RoY3AuaD4KKyAKK2RpZmYgLS1naXQgYS90b29scy9kbnNwcm94eS10ZXN0LmMgYi90b29scy9kbnNwcm94eS10ZXN0LmMKK2luZGV4IDU1MWNhZTkxLi4zNzFlMmUyMyAxMDA2NDQKKy0tLSBhL3Rvb2xzL2Ruc3Byb3h5LXRlc3QuYworKysrIGIvdG9vbHMvZG5zcHJveHktdGVzdC5jCitAQCAtMjQsNiArMjQsNyBAQAorICNlbmRpZgorIAorICNpbmNsdWRlIDxlcnJuby5oPgorKyNpbmNsdWRlIDxzdGRpby5oPgorICNpbmNsdWRlIDxzdGRsaWIuaD4KKyAjaW5jbHVkZSA8c3RyaW5nLmg+CisgI2luY2x1ZGUgPHVuaXN0ZC5oPgorZGlmZiAtLWdpdCBhL3Rvb2xzL3ByaXZhdGUtbmV0d29yay10ZXN0LmMgYi90b29scy9wcml2YXRlLW5ldHdvcmstdGVzdC5jCitpbmRleCAzZGQxMTViYS4uMjgyOGJiMzAgMTAwNjQ0CistLS0gYS90b29scy9wcml2YXRlLW5ldHdvcmstdGVzdC5jCisrKysgYi90b29scy9wcml2YXRlLW5ldHdvcmstdGVzdC5jCitAQCAtMzIsNyArMzIsNyBAQAorICNpbmNsdWRlIDxzdGRsaWIuaD4KKyAjaW5jbHVkZSA8c3RyaW5nLmg+CisgI2luY2x1ZGUgPHNpZ25hbC5oPgorLSNpbmNsdWRlIDxzeXMvcG9sbC5oPgorKyNpbmNsdWRlIDxwb2xsLmg+CisgI2luY2x1ZGUgPHN5cy9zaWduYWxmZC5oPgorICNpbmNsdWRlIDx1bmlzdGQuaD4KKyAKK2RpZmYgLS1naXQgYS90b29scy9zdGF0cy10b29sLmMgYi90b29scy9zdGF0cy10b29sLmMKK2luZGV4IGVmYTM5ZGUyLi41Njk1MDQ4ZiAxMDA2NDQKKy0tLSBhL3Rvb2xzL3N0YXRzLXRvb2wuYworKysrIGIvdG9vbHMvc3RhdHMtdG9vbC5jCitAQCAtMjIsNyArMjIsNiBAQAorICNpbmNsdWRlIDxjb25maWcuaD4KKyAjZW5kaWYKKyAKKy0jZGVmaW5lIF9HTlVfU09VUkNFCisgI2luY2x1ZGUgPHN5cy9tbWFuLmg+CisgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorICNpbmNsdWRlIDxzeXMvc3RhdC5oPgorZGlmZiAtLWdpdCBhL3Rvb2xzL3RhcC10ZXN0LmMgYi90b29scy90YXAtdGVzdC5jCitpbmRleCBmZGMwOThhYS4uY2IzZWU2MjIgMTAwNjQ0CistLS0gYS90b29scy90YXAtdGVzdC5jCisrKysgYi90b29scy90YXAtdGVzdC5jCitAQCAtMjMsMTMgKzIzLDEyIEBACisgI2luY2x1ZGUgPGNvbmZpZy5oPgorICNlbmRpZgorIAorLSNkZWZpbmUgX0dOVV9TT1VSQ0UKKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSA8ZXJybm8uaD4KKyAjaW5jbHVkZSA8ZmNudGwuaD4KKyAjaW5jbHVkZSA8dW5pc3RkLmg+CisgI2luY2x1ZGUgPHN0cmluZy5oPgorLSNpbmNsdWRlIDxzeXMvcG9sbC5oPgorKyNpbmNsdWRlIDxwb2xsLmg+CisgI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorIAorICNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CitkaWZmIC0tZ2l0IGEvdG9vbHMvd2lzcHIuYyBiL3Rvb2xzL3dpc3ByLmMKK2luZGV4IGQ1ZjkzNDFmLi5lNTZkZmMxNiAxMDA2NDQKKy0tLSBhL3Rvb2xzL3dpc3ByLmMKKysrKyBiL3Rvb2xzL3dpc3ByLmMKK0BAIC0yMyw3ICsyMyw2IEBACisgI2luY2x1ZGUgPGNvbmZpZy5oPgorICNlbmRpZgorIAorLSNkZWZpbmUgX0dOVV9TT1VSQ0UKKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSA8ZmNudGwuaD4KKyAjaW5jbHVkZSA8dW5pc3RkLmg+CitkaWZmIC0tZ2l0IGEvdnBuL3BsdWdpbnMvdnBuLmMgYi92cG4vcGx1Z2lucy92cG4uYworaW5kZXggMTA1NDhhYWYuLjZlM2Y2NDBjIDEwMDY0NAorLS0tIGEvdnBuL3BsdWdpbnMvdnBuLmMKKysrKyBiL3Zwbi9wbHVnaW5zL3Zwbi5jCitAQCAtMjMsNyArMjMsNiBAQAorICNpbmNsdWRlIDxjb25maWcuaD4KKyAjZW5kaWYKKyAKKy0jZGVmaW5lIF9HTlVfU09VUkNFCisgI2luY2x1ZGUgPHN0cmluZy5oPgorICNpbmNsdWRlIDxmY250bC5oPgorICNpbmNsdWRlIDx1bmlzdGQuaD4KKy0tIAorMi4xNy4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW4vMDAwMS1naW9nbnV0bHMtRml4LWEtY3Jhc2gtdXNpbmctd2lzcHItb3Zlci1UTFMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuLzAwMDEtZ2lvZ251dGxzLUZpeC1hLWNyYXNoLXVzaW5nLXdpc3ByLW92ZXItVExTLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOTA4MGQ0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW4vMDAwMS1naW9nbnV0bHMtRml4LWEtY3Jhc2gtdXNpbmctd2lzcHItb3Zlci1UTFMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1Gcm9tIDkyOWZjOWI3MDY4MTAwNDQ0ZTBmZmNjY2QyNTg0MWY3ODc5MWU2MTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKaWFuIExpYW5nIDxqaWFubGlhbmdAdHljb2ludC5jb20+Ci1EYXRlOiBGcmksIDE1IFNlcCAyMDE3IDA2OjQwOjA4IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGd3ZWI6IEZpeCBhIGNyYXNoIHVzaW5nIHdpc3ByIG92ZXIgVExTCi1UbzogY29ubm1hbkBsaXN0cy4wMS5vcmcKLUNjOiB3YWdpQG1vbm9tLm9yZwotCi1XaGVuIGdudXRsc19jaGFubmVsIGlzIGluc3RhbnRpYXRlZCwgdGhlIGdudXRsc19jaGFubmVsLT5lc3RhYmxpc2hlZAotaGFzIHRvIGJlIGluaXRpYXRlZCBhcyBGQUxTRS4gT3RoZXJ3aXNlLCBjaGVja19oYW5kc2hha2UgZnVuY3Rpb24KLXdvbid0IHdvcmsuIEEgcmFuZG9tIGluaXRpYWwgdmFsdWUgMSBvZiBnbnV0bHNfY2hhbm5lbC0+ZXN0YWJsaXNoZWQKLXdpbGwgbWFrZSBjaGVja19oYW5kc2hha2UgcmV0dXJuIEdfSU9fU1RBVFVTX05PUk1BTCwgd2hlbiB0aGUgY2hhbm5lbAotaXMgYWN0dWFsbHkgbm90IHJlYWR5IHRvIGJlIHVzZWQuIFRoZSBvYnNlcnZlZCBiZWhhdmlvdXJzIGFyZSwKLQotLSB3aXNwciBpcyBnZXR0aW5nIHJhbmRvbSBlcnJvcnMgaW4gd2lzcHJfcG9ydGFsX3dlYl9yZXN1bHQKLS0gQ29ubk1hbiBjcmFzaGVzIG9uIGV4aXQgYWZ0ZXIgdGhvc2UgcmFuZG9tIGVycm9ycwotLSB3aGVuIHdpc3ByIGlzIGx1Y2tseSB3b3JraW5nLCBDb25uTWFuIGRvZXNuJ3QgY3Jhc2ggb24gZXhpdAotCi1TaWduZWQtb2ZmLWJ5OiBKaWFuIExpYW5nIDxqaWFubGlhbmdAdHljb2ludC5jb20+Ci0KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL25ldHdvcmsvY29ubm1hbi9jb25ubWFuLmdpdC9jb21taXQvP2lkPTczZTUzZjNiZDllN2RlYmFlODYzNDFmMWVlZTdiOTc4NjJhNTZhNWVdCi1TaWduZWQtb2ZmLWJ5OiBBbmRyw6kgRHJhc3ppayA8YW5kcmUuZHJhc3ppa0BqY2kuY29tPgotIGd3ZWIvZ2lvZ251dGxzLmMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9nd2ViL2dpb2dudXRscy5jIGIvZ3dlYi9naW9nbnV0bHMuYwotaW5kZXggMDlkYzllNy4uYzAyOWE4YiAxMDA2NDQKLS0tLSBhL2d3ZWIvZ2lvZ251dGxzLmMKLSsrKyBiL2d3ZWIvZ2lvZ251dGxzLmMKLUBAIC00MjEsNyArNDIxLDcgQEAgR0lPQ2hhbm5lbCAqZ19pb19jaGFubmVsX2dudXRsc19uZXcoaW50IGZkKQotIAotIAlEQkcoIiIpOwotIAotLQlnbnV0bHNfY2hhbm5lbCA9IGdfbmV3KEdJT0dudVRMU0NoYW5uZWwsIDEpOwotKwlnbnV0bHNfY2hhbm5lbCA9IGdfbmV3MChHSU9HbnVUTFNDaGFubmVsLCAxKTsKLSAKLSAJY2hhbm5lbCA9IChHSU9DaGFubmVsICopIGdudXRsc19jaGFubmVsOwotIAotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuLzAwMDEtaW5ldC1BZGQtcHJlZml4bGVuLXRvLWlwcm91dGVfZGVmYXVsdF9mdW5jdGlvbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW4vMDAwMS1pbmV0LUFkZC1wcmVmaXhsZW4tdG8taXByb3V0ZV9kZWZhdWx0X2Z1bmN0aW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZDdiMzU2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW4vMDAwMS1pbmV0LUFkZC1wcmVmaXhsZW4tdG8taXByb3V0ZV9kZWZhdWx0X2Z1bmN0aW9uLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjMgKzAsMCBAQAotRnJvbSA1MDhkYzYwYTFmMDc1OGViYzU4NmI2YjA4NjQ3OGExNzZkNDkzMDg2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSmlhbiBMaWFuZyA8amlhbmxpYW5nQHR5Y29pbnQuY29tPgotRGF0ZTogVGh1LCA1IE9jdCAyMDE3IDA5OjM0OjQxICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMS80XSBpbmV0OiBBZGQgcHJlZml4bGVuIHRvIGlwcm91dGVfZGVmYXVsdF9mdW5jdGlvbgotVG86IGNvbm5tYW5AbGlzdHMuMDEub3JnCi1DYzogd2FnaUBtb25vbS5vcmcKLQotQWRkIHByZWZpeGxlbiBwYXJhbWV0ZXIgdG8gdGhpcyBmdW5jdGlvbiBpbiBwcmVwYXJhdGlvbiBmb3IgdXNpbmcKLWl0IGFsc28gaW4gY3JlYXRpbmcgc3VibmV0IHJvdXRlIGxhdGVyLCBlLmcuCi0KLWRlZmF1bHQgdmlhIDE5Mi4xNjguMTAwLjEgZGV2IGV0aDAKLTE5Mi4xNjguMTAwLjAvMjQgZGV2IGV0aDAKLQotU2lnbmVkLW9mZi1ieTogSmlhbiBMaWFuZyA8amlhbmxpYW5nQHR5Y29pbnQuY29tPgotCi0tLS0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9uZXR3b3JrL2Nvbm5tYW4vY29ubm1hbi5naXQvY29tbWl0Lz9pZD1lZGRhNWI2OTVkZTJlZTc5ZjAyMzE0YWJjOWI0NmZkZDQ2YjM4OGUxXQotU2lnbmVkLW9mZi1ieTogQW5kcsOpIERyYXN6aWsgPGFuZHJlLmRyYXN6aWtAamNpLmNvbT4KLSBzcmMvaW5ldC5jIHwgNyArKysrLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9pbmV0LmMgYi9zcmMvaW5ldC5jCi1pbmRleCBiODg3YWEwLi5hYjhhZWM4IDEwMDY0NAotLS0tIGEvc3JjL2luZXQuYwotKysrIGIvc3JjL2luZXQuYwotQEAgLTI3OTYsNyArMjc5Niw3IEBAIGludCBfX2Nvbm5tYW5faW5ldF9kZWxfZndtYXJrX3J1bGUodWludDMyX3QgdGFibGVfaWQsIGludCBmYW1pbHksIHVpbnQzMl90IGZ3bWFyCi0gfQotIAotIHN0YXRpYyBpbnQgaXByb3V0ZV9kZWZhdWx0X21vZGlmeShpbnQgY21kLCB1aW50MzJfdCB0YWJsZV9pZCwgaW50IGlmaW5kZXgsCi0tCQkJY29uc3QgY2hhciAqZ2F0ZXdheSkKLSsJCQljb25zdCBjaGFyICpnYXRld2F5LCB1bnNpZ25lZCBjaGFyIHByZWZpeGxlbikKLSB7Ci0gCXN0cnVjdCBfX2Nvbm5tYW5faW5ldF9ydG5sX2hhbmRsZSBydGg7Ci0gCXVuc2lnbmVkIGNoYXIgYnVmW3NpemVvZihzdHJ1Y3QgaW42X2FkZHIpXTsKLUBAIC0yODI5LDYgKzI4MjksNyBAQCBzdGF0aWMgaW50IGlwcm91dGVfZGVmYXVsdF9tb2RpZnkoaW50IGNtZCwgdWludDMyX3QgdGFibGVfaWQsIGludCBpZmluZGV4LAotIAlydGgucmVxLnUuci5ydC5ydG1fcHJvdG9jb2wgPSBSVFBST1RfQk9PVDsKLSAJcnRoLnJlcS51LnIucnQucnRtX3Njb3BlID0gUlRfU0NPUEVfVU5JVkVSU0U7Ci0gCXJ0aC5yZXEudS5yLnJ0LnJ0bV90eXBlID0gUlROX1VOSUNBU1Q7Ci0rCXJ0aC5yZXEudS5yLnJ0LnJ0bV9kc3RfbGVuID0gcHJlZml4bGVuOwotIAotIAlfX2Nvbm5tYW5faW5ldF9ydG5sX2FkZGF0dHJfbCgmcnRoLnJlcS5uLCBzaXplb2YocnRoLnJlcSksIFJUQV9HQVRFV0FZLAotIAkJCQkJCQkJYnVmLCBsZW4pOwotQEAgLTI4NjAsNyArMjg2MSw3IEBAIGludCBfX2Nvbm5tYW5faW5ldF9hZGRfZGVmYXVsdF90b190YWJsZSh1aW50MzJfdCB0YWJsZV9pZCwgaW50IGlmaW5kZXgsCi0gewotIAkvKiBpcCByb3V0ZSBhZGQgZGVmYXVsdCB2aWEgMS4yLjMuNCBkZXYgd2xhbjAgdGFibGUgMTIzNCAqLwotIAotLQlyZXR1cm4gaXByb3V0ZV9kZWZhdWx0X21vZGlmeShSVE1fTkVXUk9VVEUsIHRhYmxlX2lkLCBpZmluZGV4LCBnYXRld2F5KTsKLSsJcmV0dXJuIGlwcm91dGVfZGVmYXVsdF9tb2RpZnkoUlRNX05FV1JPVVRFLCB0YWJsZV9pZCwgaWZpbmRleCwgZ2F0ZXdheSwgMCk7Ci0gfQotIAotIGludCBfX2Nvbm5tYW5faW5ldF9kZWxfZGVmYXVsdF9mcm9tX3RhYmxlKHVpbnQzMl90IHRhYmxlX2lkLCBpbnQgaWZpbmRleCwKLUBAIC0yODY4LDcgKzI4NjksNyBAQCBpbnQgX19jb25ubWFuX2luZXRfZGVsX2RlZmF1bHRfZnJvbV90YWJsZSh1aW50MzJfdCB0YWJsZV9pZCwgaW50IGlmaW5kZXgsCi0gewotIAkvKiBpcCByb3V0ZSBkZWwgZGVmYXVsdCB2aWEgMS4yLjMuNCBkZXYgd2xhbjAgdGFibGUgMTIzNCAqLwotIAotLQlyZXR1cm4gaXByb3V0ZV9kZWZhdWx0X21vZGlmeShSVE1fREVMUk9VVEUsIHRhYmxlX2lkLCBpZmluZGV4LCBnYXRld2F5KTsKLSsJcmV0dXJuIGlwcm91dGVfZGVmYXVsdF9tb2RpZnkoUlRNX0RFTFJPVVRFLCB0YWJsZV9pZCwgaWZpbmRleCwgZ2F0ZXdheSwgMCk7Ci0gfQotIAotIGludCBfX2Nvbm5tYW5faW5ldF9nZXRfaW50ZXJmYWNlX2xsX2FkZHJlc3MoaW50IGluZGV4LCBpbnQgZmFtaWx5LAotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuLzAwMDEtc2Vzc2lvbi1LZWVwLXRyYWNrLW9mLWFkZHItaW4tZndfc25hdC1zZXNzaW9uLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbi8wMDAxLXNlc3Npb24tS2VlcC10cmFjay1vZi1hZGRyLWluLWZ3X3NuYXQtc2Vzc2lvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjFiNGQwYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuLzAwMDEtc2Vzc2lvbi1LZWVwLXRyYWNrLW9mLWFkZHItaW4tZndfc25hdC1zZXNzaW9uLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTEyICswLDAgQEAKLUZyb20gYjVmZDU5NDU4ODZmYTE4NDVkYjVjOTY5NDI0YjYzZDg5NGZlMDM3NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEppYW4gTGlhbmcgPGppYW5saWFuZ0B0eWNvaW50LmNvbT4KLURhdGU6IEZyaSwgMjUgQXVnIDIwMTcgMTA6MDI6MTYgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSCAxLzJdIHNlc3Npb246IEtlZXAgdHJhY2sgb2YgYWRkciBpbiBmd19zbmF0ICYgc2Vzc2lvbgotVG86IGNvbm5tYW5AbGlzdHMuMDEub3JnCi1DYzogd2FnaUBtb25vbS5vcmcKLQotV2hlbiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIHNlc3Npb24gaW4gZndfc25hdCdzIGxpc3Qgb2Ygc2Vzc2lvbnMsCi1md19zbmF0IGZhaWxlZCB0byBiZSByZS1jcmVhdGVkIHdoZW4gdXBkYXRlLXNlc3Npb24tc3RhdGUgaXMgdHJpZ2dlcmVkCi13aXRoIG5ldyBJUCBhZGRyZXNzLiBUaGlzIGlzIGJlY2F1c2UgaW5kZXggYWxvbmUgaXMgbm90IHN1ZmZpY2llbnQgdG8KLWRlY2lkZSBpZiBmd19zbmF0IG5lZWRzIHRvIGJlIHJlLWNyZWF0ZWQuIFRoZSBzb2x1dGlvbiBoZXJlIGlzIHRvIGtlZXAKLWEgdHJhY2sgb2YgSVAgYWRkciBhbmQgdXNlIGl0IHRvIGF2b2lkIGZhbHNlIGxvb2t1cCBvZiBmd19zbmF0LgotCi1TaWduZWQtb2ZmLWJ5OiBKaWFuIExpYW5nIDxqaWFubGlhbmdAdHljb2ludC5jb20+Ci0KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL25ldHdvcmsvY29ubm1hbi9jb25ubWFuLmdpdC9jb21taXQvP2lkPWY5ZTI3ZDRhYmZjYWI1YzgwYTM4ZTA4NTBiNWRkYjI2Mjc3Zjk3YzFdCi1TaWduZWQtb2ZmLWJ5OiBBbmRyw6kgRHJhc3ppayA8YW5kcmUuZHJhc3ppa0BqY2kuY29tPgotIHNyYy9zZXNzaW9uLmMgfCAxOSArKysrKysrKysrKysrKystLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvc2Vzc2lvbi5jIGIvc3JjL3Nlc3Npb24uYwotaW5kZXggOWUzYzU1OS4uOTY1YWMwNiAxMDA2NDQKLS0tLSBhL3NyYy9zZXNzaW9uLmMKLSsrKyBiL3NyYy9zZXNzaW9uLmMKLUBAIC02NSw2ICs2NSw3IEBAIHN0cnVjdCBjb25ubWFuX3Nlc3Npb24gewotIAlzdHJ1Y3QgZmlyZXdhbGxfY29udGV4dCAqZnc7Ci0gCXVpbnQzMl90IG1hcms7Ci0gCWludCBpbmRleDsKLSsJY2hhciAqYWRkcjsKLSAJY2hhciAqZ2F0ZXdheTsKLSAJYm9vbCBwb2xpY3lfcm91dGluZzsKLSAJYm9vbCBzbmF0X2VuYWJsZWQ7Ci1AQCAtNzksNiArODAsNyBAQCBzdHJ1Y3QgZndfc25hdCB7Ci0gCUdTTGlzdCAqc2Vzc2lvbnM7Ci0gCWludCBpZDsKLSAJaW50IGluZGV4OwotKwljaGFyICphZGRyOwotIAlzdHJ1Y3QgZmlyZXdhbGxfY29udGV4dCAqZnc7Ci0gfTsKLSAKLUBAIC0yMDAsNyArMjAyLDcgQEAgc3RhdGljIGNoYXIgKnNlcnZpY2UyYmVhcmVyKGVudW0gY29ubm1hbl9zZXJ2aWNlX3R5cGUgdHlwZSkKLSAJcmV0dXJuICIiOwotIH0KLSAKLS1zdGF0aWMgc3RydWN0IGZ3X3NuYXQgKmZ3X3NuYXRfbG9va3VwKGludCBpbmRleCkKLStzdGF0aWMgc3RydWN0IGZ3X3NuYXQgKmZ3X3NuYXRfbG9va3VwKGludCBpbmRleCwgY29uc3QgY2hhciAqYWRkcikKLSB7Ci0gCXN0cnVjdCBmd19zbmF0ICpmd19zbmF0OwotIAlHU0xpc3QgKmxpc3Q7Ci1AQCAtMjA4LDggKzIxMCwxMSBAQCBzdGF0aWMgc3RydWN0IGZ3X3NuYXQgKmZ3X3NuYXRfbG9va3VwKGludCBpbmRleCkKLSAJZm9yIChsaXN0ID0gZndfc25hdF9saXN0OyBsaXN0OyBsaXN0ID0gbGlzdC0+bmV4dCkgewotIAkJZndfc25hdCA9IGxpc3QtPmRhdGE7Ci0gCi0tCQlpZiAoZndfc25hdC0+aW5kZXggPT0gaW5kZXgpCi0rCQlpZiAoZndfc25hdC0+aW5kZXggPT0gaW5kZXgpIHsKLSsJCQlpZiAoZ19zdHJjbXAwKGFkZHIsIGZ3X3NuYXQtPmFkZHIpICE9IDApCi0rCQkJCWNvbnRpbnVlOwotIAkJCXJldHVybiBmd19zbmF0OwotKwkJfQotIAl9Ci0gCXJldHVybiBOVUxMOwotIH0KLUBAIC0yMjQsNiArMjI5LDcgQEAgc3RhdGljIGludCBmd19zbmF0X2NyZWF0ZShzdHJ1Y3QgY29ubm1hbl9zZXNzaW9uICpzZXNzaW9uLAotIAotIAlmd19zbmF0LT5mdyA9IF9fY29ubm1hbl9maXJld2FsbF9jcmVhdGUoKTsKLSAJZndfc25hdC0+aW5kZXggPSBpbmRleDsKLSsJZndfc25hdC0+YWRkciA9IGdfc3RyZHVwKGFkZHIpOwotIAotIAlmd19zbmF0LT5pZCA9IF9fY29ubm1hbl9maXJld2FsbF9lbmFibGVfc25hdChmd19zbmF0LT5mdywKLSAJCQkJCQlpbmRleCwgaWZuYW1lLCBhZGRyKTsKLUBAIC0yMzgsNiArMjQ0LDcgQEAgc3RhdGljIGludCBmd19zbmF0X2NyZWF0ZShzdHJ1Y3QgY29ubm1hbl9zZXNzaW9uICpzZXNzaW9uLAotIAlyZXR1cm4gMDsKLSBlcnI6Ci0gCV9fY29ubm1hbl9maXJld2FsbF9kZXN0cm95KGZ3X3NuYXQtPmZ3KTsKLSsJZ19mcmVlKGZ3X3NuYXQtPmFkZHIpOwotIAlnX2ZyZWUoZndfc25hdCk7Ci0gCXJldHVybiBlcnI7Ci0gfQotQEAgLTM5Myw3ICs0MDAsNyBAQCBzdGF0aWMgdm9pZCBkZWxfbmF0X3J1bGVzKHN0cnVjdCBjb25ubWFuX3Nlc3Npb24gKnNlc3Npb24pCi0gCQlyZXR1cm47Ci0gCi0gCXNlc3Npb24tPnNuYXRfZW5hYmxlZCA9IGZhbHNlOwotLQlmd19zbmF0ID0gZndfc25hdF9sb29rdXAoc2Vzc2lvbi0+aW5kZXgpOwotKwlmd19zbmF0ID0gZndfc25hdF9sb29rdXAoc2Vzc2lvbi0+aW5kZXgsIHNlc3Npb24tPmFkZHIpOwotIAotIAlpZiAoIWZ3X3NuYXQpCi0gCQlyZXR1cm47Ci1AQCAtNDIwLDggKzQyNywxMSBAQCBzdGF0aWMgdm9pZCBhZGRfbmF0X3J1bGVzKHN0cnVjdCBjb25ubWFuX3Nlc3Npb24gKnNlc3Npb24pCi0gCWlmICghYWRkcikKLSAJCXJldHVybjsKLSAKLSsJZ19mcmVlKHNlc3Npb24tPmFkZHIpOwotKwlzZXNzaW9uLT5hZGRyID0gZ19zdHJkdXAoYWRkcik7Ci0rCi0gCXNlc3Npb24tPnNuYXRfZW5hYmxlZCA9IHRydWU7Ci0tCWZ3X3NuYXQgPSBmd19zbmF0X2xvb2t1cChpbmRleCk7Ci0rCWZ3X3NuYXQgPSBmd19zbmF0X2xvb2t1cChpbmRleCwgc2Vzc2lvbi0+YWRkcik7Ci0gCWlmIChmd19zbmF0KSB7Ci0gCQlmd19zbmF0X3JlZihzZXNzaW9uLCBmd19zbmF0KTsKLSAJCXJldHVybjsKLUBAIC01MDIsNiArNTEyLDcgQEAgc3RhdGljIHZvaWQgZnJlZV9zZXNzaW9uKHN0cnVjdCBjb25ubWFuX3Nlc3Npb24gKnNlc3Npb24pCi0gCWdfZnJlZShzZXNzaW9uLT5pbmZvKTsKLSAJZ19mcmVlKHNlc3Npb24tPmluZm9fbGFzdCk7Ci0gCWdfZnJlZShzZXNzaW9uLT5nYXRld2F5KTsKLSsJZ19mcmVlKHNlc3Npb24tPmFkZHIpOwotIAotIAlnX2ZyZWUoc2Vzc2lvbik7Ci0gfQotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuLzAwMDItaW5ldC1JbXBsZW1lbnQtc3VibmV0LXJvdXRlLWNyZWF0aW9uLWRlbGV0aW9uLWluLWlwci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW4vMDAwMi1pbmV0LUltcGxlbWVudC1zdWJuZXQtcm91dGUtY3JlYXRpb24tZGVsZXRpb24taW4taXByLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5Yzk1M2U1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW4vMDAwMi1pbmV0LUltcGxlbWVudC1zdWJuZXQtcm91dGUtY3JlYXRpb24tZGVsZXRpb24taW4taXByLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjkgKzAsMCBAQAotRnJvbSAwOGNkYTQwMDQ0OTFkMzk3MWE4YjlkZjkzNzQyNmM0MzgwMGQxNWIxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSmlhbiBMaWFuZyA8amlhbmxpYW5nQHR5Y29pbnQuY29tPgotRGF0ZTogVGh1LCA1IE9jdCAyMDE3IDA5OjM3OjA2ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMi80XSBpbmV0OiBJbXBsZW1lbnQgc3VibmV0IHJvdXRlIGNyZWF0aW9uL2RlbGV0aW9uIGluCi0gaXByb3V0ZV9kZWZhdWx0X21vZGlmeQotVG86IGNvbm5tYW5AbGlzdHMuMDEub3JnCi1DYzogd2FnaUBtb25vbS5vcmcKLQotLSBDYWxjdWxhdGUgc3VibmV0IGFkZHJlc3MgYmFzZSBvbiBnYXRld2F5IGFkZHJlc3MgYW5kIHByZWZpeGxlbgotLSBEaWZmZXJlbnRpYXRlIGNyZWF0aW9uIG9mIHJvdXRlcyB0byBnYXRld2F5IGFuZCBzdWJuZXQKLQotU2lnbmVkLW9mZi1ieTogSmlhbiBMaWFuZyA8amlhbmxpYW5nQHR5Y29pbnQuY29tPgotCi0tLS0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9uZXR3b3JrL2Nvbm5tYW4vY29ubm1hbi5naXQvY29tbWl0Lz9pZD1mZjdkY2Y5MWYxMmEyYTIzN2ZlZWJjNmU2MDZkMGE4ZTkyOTc1NTI4XQotU2lnbmVkLW9mZi1ieTogQW5kcsOpIERyYXN6aWsgPGFuZHJlLmRyYXN6aWtAamNpLmNvbT4KLSBzcmMvaW5ldC5jIHwgMjIgKysrKysrKysrKysrKysrKysrKy0tLQotIDEgZmlsZSBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2luZXQuYyBiL3NyYy9pbmV0LmMKLWluZGV4IGFiOGFlYzguLjBkZGIwMzAgMTAwNjQ0Ci0tLS0gYS9zcmMvaW5ldC5jCi0rKysgYi9zcmMvaW5ldC5jCi1AQCAtMjgwMiw2ICsyODAyLDkgQEAgc3RhdGljIGludCBpcHJvdXRlX2RlZmF1bHRfbW9kaWZ5KGludCBjbWQsIHVpbnQzMl90IHRhYmxlX2lkLCBpbnQgaWZpbmRleCwKLSAJdW5zaWduZWQgY2hhciBidWZbc2l6ZW9mKHN0cnVjdCBpbjZfYWRkcildOwotIAlpbnQgcmV0LCBsZW47Ci0gCWludCBmYW1pbHkgPSBjb25ubWFuX2luZXRfY2hlY2tfaXBhZGRyZXNzKGdhdGV3YXkpOwotKwljaGFyICpkc3QgPSBOVUxMOwotKwotKwlEQkcoImdhdGV3YXkgJXMvJXUgdGFibGUgJXUiLCBnYXRld2F5LCBwcmVmaXhsZW4sIHRhYmxlX2lkKTsKLSAKLSAJc3dpdGNoIChmYW1pbHkpIHsKLSAJY2FzZSBBRl9JTkVUOgotQEAgLTI4MTQsNyArMjgxNywxOSBAQCBzdGF0aWMgaW50IGlwcm91dGVfZGVmYXVsdF9tb2RpZnkoaW50IGNtZCwgdWludDMyX3QgdGFibGVfaWQsIGludCBpZmluZGV4LAotIAkJcmV0dXJuIC1FSU5WQUw7Ci0gCX0KLSAKLS0JcmV0ID0gaW5ldF9wdG9uKGZhbWlseSwgZ2F0ZXdheSwgYnVmKTsKLSsJaWYgKHByZWZpeGxlbikgewotKwkJc3RydWN0IGluX2FkZHIgaXB2NF9zdWJuZXRfYWRkciwgaXB2NF9tYXNrOwotKwotKwkJbWVtc2V0KCZpcHY0X3N1Ym5ldF9hZGRyLCAwLCBzaXplb2YoaXB2NF9zdWJuZXRfYWRkcikpOwotKwkJaXB2NF9tYXNrLnNfYWRkciA9IGh0b25sKCgweGZmZmZmZmZmIDw8ICgzMiAtIHByZWZpeGxlbikpICYgMHhmZmZmZmZmZik7Ci0rCQlpcHY0X3N1Ym5ldF9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihnYXRld2F5KTsKLSsJCWlwdjRfc3VibmV0X2FkZHIuc19hZGRyICY9IGlwdjRfbWFzay5zX2FkZHI7Ci0rCi0rCQlkc3QgPSBnX3N0cmR1cChpbmV0X250b2EoaXB2NF9zdWJuZXRfYWRkcikpOwotKwl9Ci0rCi0rCXJldCA9IGluZXRfcHRvbihmYW1pbHksIGRzdCA/IGRzdCA6IGdhdGV3YXksIGJ1Zik7Ci0rCWdfZnJlZShkc3QpOwotIAlpZiAocmV0IDw9IDApCi0gCQlyZXR1cm4gLUVJTlZBTDsKLSAKLUBAIC0yODMxLDggKzI4NDYsOSBAQCBzdGF0aWMgaW50IGlwcm91dGVfZGVmYXVsdF9tb2RpZnkoaW50IGNtZCwgdWludDMyX3QgdGFibGVfaWQsIGludCBpZmluZGV4LAotIAlydGgucmVxLnUuci5ydC5ydG1fdHlwZSA9IFJUTl9VTklDQVNUOwotIAlydGgucmVxLnUuci5ydC5ydG1fZHN0X2xlbiA9IHByZWZpeGxlbjsKLSAKLS0JX19jb25ubWFuX2luZXRfcnRubF9hZGRhdHRyX2woJnJ0aC5yZXEubiwgc2l6ZW9mKHJ0aC5yZXEpLCBSVEFfR0FURVdBWSwKLS0JCQkJCQkJCWJ1ZiwgbGVuKTsKLSsJX19jb25ubWFuX2luZXRfcnRubF9hZGRhdHRyX2woJnJ0aC5yZXEubiwgc2l6ZW9mKHJ0aC5yZXEpLAotKwkJcHJlZml4bGVuID4gMCA/IFJUQV9EU1QgOiBSVEFfR0FURVdBWSwgYnVmLCBsZW4pOwotKwotIAlpZiAodGFibGVfaWQgPCAyNTYpIHsKLSAJCXJ0aC5yZXEudS5yLnJ0LnJ0bV90YWJsZSA9IHRhYmxlX2lkOwotIAl9IGVsc2UgewotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuLzAwMDMtaW5ldC1JbXBsZW1lbnQtQVBJcy1mb3ItY3JlYXRpbmctYW5kLWRlbGV0aW5nLXN1Ym5ldC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW4vMDAwMy1pbmV0LUltcGxlbWVudC1BUElzLWZvci1jcmVhdGluZy1hbmQtZGVsZXRpbmctc3VibmV0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NmJhNWMzLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW4vMDAwMy1pbmV0LUltcGxlbWVudC1BUElzLWZvci1jcmVhdGluZy1hbmQtZGVsZXRpbmctc3VibmV0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjggKzAsMCBAQAotRnJvbSBhOTI0M2YxM2Q2ZTFhYWRkNjliZmNjMjdmNzVmNjljMzhiZTUxNjc3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSmlhbiBMaWFuZyA8amlhbmxpYW5nQHR5Y29pbnQuY29tPgotRGF0ZTogV2VkLCA0IE9jdCAyMDE3IDE3OjMwOjE3ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMy80XSBpbmV0OiBJbXBsZW1lbnQgQVBJcyBmb3IgY3JlYXRpbmcgYW5kIGRlbGV0aW5nIHN1Ym5ldAotIHJvdXRlCi1UbzogY29ubm1hbkBsaXN0cy4wMS5vcmcKLUNjOiB3YWdpQG1vbm9tLm9yZwotCi1TaWduZWQtb2ZmLWJ5OiBKaWFuIExpYW5nIDxqaWFubGlhbmdAdHljb2ludC5jb20+Ci0KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL25ldHdvcmsvY29ubm1hbi9jb25ubWFuLmdpdC9jb21taXQvP2lkPTNhMTViMGI3ZmNjZDA1M2FmZjkxZGEyY2M2ODU4NTUwOWQwYzUwOWJdCi1TaWduZWQtb2ZmLWJ5OiBBbmRyw6kgRHJhc3ppayA8YW5kcmUuZHJhc3ppa0BqY2kuY29tPgotIHNyYy9jb25ubWFuLmggfCAgNCArKysrCi0gc3JjL2luZXQuYyAgICB8IDE0ICsrKysrKysrKysrKysrCi0gMiBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvY29ubm1hbi5oIGIvc3JjL2Nvbm5tYW4uaAotaW5kZXggMjFiNzA4MC4uZGE0NDQ2YSAxMDA2NDQKLS0tLSBhL3NyYy9jb25ubWFuLmgKLSsrKyBiL3NyYy9jb25ubWFuLmgKLUBAIC0yNDAsNyArMjQwLDExIEBAIGludCBfX2Nvbm5tYW5faW5ldF9ydG5sX2FkZGF0dHIzMihzdHJ1Y3Qgbmxtc2doZHIgKm4sIHNpemVfdCBtYXhsZW4sCi0gaW50IF9fY29ubm1hbl9pbmV0X2FkZF9md21hcmtfcnVsZSh1aW50MzJfdCB0YWJsZV9pZCwgaW50IGZhbWlseSwgdWludDMyX3QgZndtYXJrKTsKLSBpbnQgX19jb25ubWFuX2luZXRfZGVsX2Z3bWFya19ydWxlKHVpbnQzMl90IHRhYmxlX2lkLCBpbnQgZmFtaWx5LCB1aW50MzJfdCBmd21hcmspOwotIGludCBfX2Nvbm5tYW5faW5ldF9hZGRfZGVmYXVsdF90b190YWJsZSh1aW50MzJfdCB0YWJsZV9pZCwgaW50IGlmaW5kZXgsIGNvbnN0IGNoYXIgKmdhdGV3YXkpOwotK2ludCBfX2Nvbm5tYW5faW5ldF9hZGRfc3VibmV0X3RvX3RhYmxlKHVpbnQzMl90IHRhYmxlX2lkLCBpbnQgaWZpbmRleCwKLSsJCQljb25zdCBjaGFyICpnYXRld2F5LCB1bnNpZ25lZCBjaGFyIHByZWZpeGxlbik7Ci0gaW50IF9fY29ubm1hbl9pbmV0X2RlbF9kZWZhdWx0X2Zyb21fdGFibGUodWludDMyX3QgdGFibGVfaWQsIGludCBpZmluZGV4LCBjb25zdCBjaGFyICpnYXRld2F5KTsKLStpbnQgX19jb25ubWFuX2luZXRfZGVsX3N1Ym5ldF9mcm9tX3RhYmxlKHVpbnQzMl90IHRhYmxlX2lkLCBpbnQgaWZpbmRleCwKLSsJCQljb25zdCBjaGFyICpnYXRld2F5LCB1bnNpZ25lZCBjaGFyIHByZWZpeGxlbik7Ci0gaW50IF9fY29ubm1hbl9pbmV0X2dldF9hZGRyZXNzX25ldG1hc2soaW50IGlmaW5kZXgsCi0gCQlzdHJ1Y3Qgc29ja2FkZHJfaW4gKmFkZHJlc3MsIHN0cnVjdCBzb2NrYWRkcl9pbiAqbmV0bWFzayk7Ci0gCi1kaWZmIC0tZ2l0IGEvc3JjL2luZXQuYyBiL3NyYy9pbmV0LmMKLWluZGV4IDBkZGIwMzAuLmRjZDFhYjIgMTAwNjQ0Ci0tLS0gYS9zcmMvaW5ldC5jCi0rKysgYi9zcmMvaW5ldC5jCi1AQCAtMjg4MCw2ICsyODgwLDEzIEBAIGludCBfX2Nvbm5tYW5faW5ldF9hZGRfZGVmYXVsdF90b190YWJsZSh1aW50MzJfdCB0YWJsZV9pZCwgaW50IGlmaW5kZXgsCi0gCXJldHVybiBpcHJvdXRlX2RlZmF1bHRfbW9kaWZ5KFJUTV9ORVdST1VURSwgdGFibGVfaWQsIGlmaW5kZXgsIGdhdGV3YXksIDApOwotIH0KLSAKLStpbnQgX19jb25ubWFuX2luZXRfYWRkX3N1Ym5ldF90b190YWJsZSh1aW50MzJfdCB0YWJsZV9pZCwgaW50IGlmaW5kZXgsCi0rCQkJCQkJY29uc3QgY2hhciAqZ2F0ZXdheSwgdW5zaWduZWQgY2hhciBwcmVmaXhsZW4pCi0rewotKwkvKiBpcCByb3V0ZSBhZGQgMS4yLjMuNC8yNCBkZXYgZXRoMCB0YWJsZSAxMjM0ICovCi0rCXJldHVybiBpcHJvdXRlX2RlZmF1bHRfbW9kaWZ5KFJUTV9ORVdST1VURSwgdGFibGVfaWQsIGlmaW5kZXgsIGdhdGV3YXksIHByZWZpeGxlbik7Ci0rfQotKwotIGludCBfX2Nvbm5tYW5faW5ldF9kZWxfZGVmYXVsdF9mcm9tX3RhYmxlKHVpbnQzMl90IHRhYmxlX2lkLCBpbnQgaWZpbmRleCwKLSAJCQkJCQljb25zdCBjaGFyICpnYXRld2F5KQotIHsKLUBAIC0yODg4LDYgKzI4OTUsMTMgQEAgaW50IF9fY29ubm1hbl9pbmV0X2RlbF9kZWZhdWx0X2Zyb21fdGFibGUodWludDMyX3QgdGFibGVfaWQsIGludCBpZmluZGV4LAotIAlyZXR1cm4gaXByb3V0ZV9kZWZhdWx0X21vZGlmeShSVE1fREVMUk9VVEUsIHRhYmxlX2lkLCBpZmluZGV4LCBnYXRld2F5LCAwKTsKLSB9Ci0gCi0raW50IF9fY29ubm1hbl9pbmV0X2RlbF9zdWJuZXRfZnJvbV90YWJsZSh1aW50MzJfdCB0YWJsZV9pZCwgaW50IGlmaW5kZXgsCi0rCQkJCQkJY29uc3QgY2hhciAqZ2F0ZXdheSwgdW5zaWduZWQgY2hhciBwcmVmaXhsZW4pCi0rewotKwkvKiBpcCByb3V0ZSBkZWwgMS4yLjMuNC8yNCBkZXYgZXRoMCB0YWJsZSAxMjM0ICovCi0rCXJldHVybiBpcHJvdXRlX2RlZmF1bHRfbW9kaWZ5KFJUTV9ERUxST1VURSwgdGFibGVfaWQsIGlmaW5kZXgsIGdhdGV3YXksIHByZWZpeGxlbik7Ci0rfQotKwotIGludCBfX2Nvbm5tYW5faW5ldF9nZXRfaW50ZXJmYWNlX2xsX2FkZHJlc3MoaW50IGluZGV4LCBpbnQgZmFtaWx5LAotIAkJCQkJCQkJdm9pZCAqYWRkcmVzcykKLSB7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW4vMDAwNC1zZXNzaW9uLVVzZS1zdWJuZXQtcm91dGUtY3JlYXRpb24tYW5kLWRlbGV0aW9uLUFQSXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuLzAwMDQtc2Vzc2lvbi1Vc2Utc3VibmV0LXJvdXRlLWNyZWF0aW9uLWFuZC1kZWxldGlvbi1BUElzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYTIxM2ViLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW4vMDAwNC1zZXNzaW9uLVVzZS1zdWJuZXQtcm91dGUtY3JlYXRpb24tYW5kLWRlbGV0aW9uLUFQSXMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3NyArMCwwIEBACi1Gcm9tIGRlYjkzNzJkYjgzOTZkYTRmN2NkMjA1NTVjZTdjOWE4YjNhZDk2YmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKaWFuIExpYW5nIDxqaWFubGlhbmdAdHljb2ludC5jb20+Ci1EYXRlOiBGcmksIDYgT2N0IDIwMTcgMTE6NDA6MTYgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCA0LzRdIHNlc3Npb246IFVzZSBzdWJuZXQgcm91dGUgY3JlYXRpb24gYW5kIGRlbGV0aW9uIEFQSXMKLVRvOiBjb25ubWFuQGxpc3RzLjAxLm9yZwotQ2M6IHdhZ2lAbW9ub20ub3JnCi0KLUFzIHN1Ym5ldCByb3V0ZSBpcyBhZGRyZXNzIGFuZCBzZXNzaW9uIHNwZWNpZmljIGluIHRoaXMgY2FzZSwgc28gYWRkCi1wcmVmaXhsZW4gaW50byBzdHJ1Y3QgY29ubm1hbl9zZXNzaW9uLCBhbmQgdXBkYXRlIGl0IGFsb25nIHdpdGggaXBjb25maWcuCi1UaGVuIHVzZSBpdCBpbiBzdWJuZXQgcm91dGUgcmVsYXRlZCBBUElzLgotCi1TaWduZWQtb2ZmLWJ5OiBKaWFuIExpYW5nIDxqaWFubGlhbmdAdHljb2ludC5jb20+Ci0KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL25ldHdvcmsvY29ubm1hbi9jb25ubWFuLmdpdC9jb21taXQvP2lkPTI4NWYyNWVmNmNjOWU0YTQzZGFiODM1MjNmM2UyZWFiNDM2NWFjMjZdCi1TaWduZWQtb2ZmLWJ5OiBBbmRyw6kgRHJhc3ppayA8YW5kcmUuZHJhc3ppa0BqY2kuY29tPgotIHNyYy9zZXNzaW9uLmMgfCAyMCArKysrKysrKysrKysrKysrLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3Nlc3Npb24uYyBiL3NyYy9zZXNzaW9uLmMKLWluZGV4IDk2NWFjMDYuLjdiN2ExNGIgMTAwNjQ0Ci0tLS0gYS9zcmMvc2Vzc2lvbi5jCi0rKysgYi9zcmMvc2Vzc2lvbi5jCi1AQCAtNjcsNiArNjcsNyBAQCBzdHJ1Y3QgY29ubm1hbl9zZXNzaW9uIHsKLSAJaW50IGluZGV4OwotIAljaGFyICphZGRyOwotIAljaGFyICpnYXRld2F5OwotKwl1bnNpZ25lZCBjaGFyIHByZWZpeGxlbjsKLSAJYm9vbCBwb2xpY3lfcm91dGluZzsKLSAJYm9vbCBzbmF0X2VuYWJsZWQ7Ci0gfTsKLUBAIC0zNTcsMTMgKzM1OCwxNyBAQCBzdGF0aWMgdm9pZCBkZWxfZGVmYXVsdF9yb3V0ZShzdHJ1Y3QgY29ubm1hbl9zZXNzaW9uICpzZXNzaW9uKQotIAlpZiAoIXNlc3Npb24tPmdhdGV3YXkpCi0gCQlyZXR1cm47Ci0gCi0tCURCRygiaW5kZXggJWQgcm91dGluZyB0YWJsZSAlZCBkZWZhdWx0IGdhdGV3YXkgJXMiLAotLQkJc2Vzc2lvbi0+aW5kZXgsIHNlc3Npb24tPm1hcmssIHNlc3Npb24tPmdhdGV3YXkpOwotKwlEQkcoImluZGV4ICVkIHJvdXRpbmcgdGFibGUgJWQgZGVmYXVsdCBnYXRld2F5ICVzLyV1IiwKLSsJCXNlc3Npb24tPmluZGV4LCBzZXNzaW9uLT5tYXJrLCBzZXNzaW9uLT5nYXRld2F5LCBzZXNzaW9uLT5wcmVmaXhsZW4pOwotKwotKwkJX19jb25ubWFuX2luZXRfZGVsX3N1Ym5ldF9mcm9tX3RhYmxlKHNlc3Npb24tPm1hcmssCi0rCQkJc2Vzc2lvbi0+aW5kZXgsIHNlc3Npb24tPmdhdGV3YXksIHNlc3Npb24tPnByZWZpeGxlbik7Ci0gCi0gCV9fY29ubm1hbl9pbmV0X2RlbF9kZWZhdWx0X2Zyb21fdGFibGUoc2Vzc2lvbi0+bWFyaywKLSAJCQkJCXNlc3Npb24tPmluZGV4LCBzZXNzaW9uLT5nYXRld2F5KTsKLSAJZ19mcmVlKHNlc3Npb24tPmdhdGV3YXkpOwotIAlzZXNzaW9uLT5nYXRld2F5ID0gTlVMTDsKLSsJc2Vzc2lvbi0+cHJlZml4bGVuID0gMDsKLSAJc2Vzc2lvbi0+aW5kZXggPSAtMTsKLSB9Ci0gCi1AQCAtMzgzLDEzICszODgsMjAgQEAgc3RhdGljIHZvaWQgYWRkX2RlZmF1bHRfcm91dGUoc3RydWN0IGNvbm5tYW5fc2Vzc2lvbiAqc2Vzc2lvbikKLSAJaWYgKCFzZXNzaW9uLT5nYXRld2F5KQotIAkJc2Vzc2lvbi0+Z2F0ZXdheSA9IGdfc3RyZHVwKGluZXRfbnRvYShhZGRyKSk7Ci0gCi0tCURCRygiaW5kZXggJWQgcm91dGluZyB0YWJsZSAlZCBkZWZhdWx0IGdhdGV3YXkgJXMiLAotLQkJc2Vzc2lvbi0+aW5kZXgsIHNlc3Npb24tPm1hcmssIHNlc3Npb24tPmdhdGV3YXkpOwotKwlzZXNzaW9uLT5wcmVmaXhsZW4gPSBfX2Nvbm5tYW5faXBjb25maWdfZ2V0X3ByZWZpeGxlbihpcGNvbmZpZyk7Ci0rCi0rCURCRygiaW5kZXggJWQgcm91dGluZyB0YWJsZSAlZCBkZWZhdWx0IGdhdGV3YXkgJXMvJXUiLAotKwkJc2Vzc2lvbi0+aW5kZXgsIHNlc3Npb24tPm1hcmssIHNlc3Npb24tPmdhdGV3YXksIHNlc3Npb24tPnByZWZpeGxlbik7Ci0gCi0gCWVyciA9IF9fY29ubm1hbl9pbmV0X2FkZF9kZWZhdWx0X3RvX3RhYmxlKHNlc3Npb24tPm1hcmssCi0gCQkJCQlzZXNzaW9uLT5pbmRleCwgc2Vzc2lvbi0+Z2F0ZXdheSk7Ci0gCWlmIChlcnIgPCAwKQotIAkJREJHKCJzZXNzaW9uICVwICVzIiwgc2Vzc2lvbiwgc3RyZXJyb3IoLWVycikpOwotKwotKwllcnIgPSBfX2Nvbm5tYW5faW5ldF9hZGRfc3VibmV0X3RvX3RhYmxlKHNlc3Npb24tPm1hcmssCi0rCQkJCQlzZXNzaW9uLT5pbmRleCwgc2Vzc2lvbi0+Z2F0ZXdheSwgc2Vzc2lvbi0+cHJlZml4bGVuKTsKLSsJaWYgKGVyciA8IDApCi0rCQlEQkcoInNlc3Npb24gYWRkIHN1Ym5ldCByb3V0ZSAlcCAlcyIsIHNlc3Npb24sIHN0cmVycm9yKC1lcnIpKTsKLSB9Ci0gCi0gc3RhdGljIHZvaWQgZGVsX25hdF9ydWxlcyhzdHJ1Y3QgY29ubm1hbl9zZXNzaW9uICpzZXNzaW9uKQotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuL2luY2x1ZGVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbi9pbmNsdWRlcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWY3Mzk1Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuL2luY2x1ZGVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDE3ICswLDAgQEAKLUZpeCB2YXJpb3VzIGlzc3VlcyB3aGljaCBjYXVzZSBwcm9ibGVtcyB1bmRlciBtdXNsLgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtiZDEzMjZiYTdkNjhkZjM4YzVjY2FhZmQyNDAzYTVmYjMwYmQ0NTJiXQotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotRnJvbSA2MzA1MTZiY2MwMjMzYjA0N2Y2NTY2NWMwMDMyMDFiYTZlNzc0NTNkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLURhdGU6IFR1ZSwgOSBBdWcgMjAxNiAxNjoyMjozNiArMDEwMAotU3ViamVjdDogW1BBVENIIDEvM10gVXNlIEFDX1VTRV9TWVNURU1fRVhURU5TSU9OUwotCi1JbnN0ZWFkIG9mIHVzaW5nICNkZWZpbmUgX0dOVV9TT1VSQ0UgaW4gc29tZSBzb3VyY2UgZmlsZXMgd2hpY2ggY2F1c2VzIHByb2JsZW1zCi13aGVuIGJ1aWxkaW5nIHdpdGggbXVzbCBhcyBtb3JlIGZpbGVzIG5lZWQgdGhlIGRlZmluZSwgc2ltcGx5IHVzZQotQUNfVVNFX1NZU1RFTV9FWFRFTlNJT05TIGluIGNvbmZpZ3VyZS5hYyB0byBnZXQgaXQgZGVmaW5lZCBnbG9iYWxseS4KLS0tLQotIGNvbmZpZ3VyZS5hYyAgICAgICB8IDEgKwotIGdkaGNwL2NsaWVudC5jICAgICB8IDEgLQotIHBsdWdpbnMvdGlzdC5jICAgICB8IDEgLQotIHNyYy9iYWNrdHJhY2UuYyAgICB8IDEgLQotIHNyYy9pbmV0LmMgICAgICAgICB8IDEgLQotIHNyYy9sb2cuYyAgICAgICAgICB8IDEgLQotIHNyYy9udHAuYyAgICAgICAgICB8IDEgLQotIHNyYy9yZXNvbHZlci5jICAgICB8IDEgLQotIHNyYy9yZmtpbGwuYyAgICAgICB8IDEgLQotIHNyYy9zdGF0cy5jICAgICAgICB8IDEgLQotIHNyYy90aW1lem9uZS5jICAgICB8IDEgLQotIHRvb2xzL3N0YXRzLXRvb2wuYyB8IDEgLQotIHRvb2xzL3RhcC10ZXN0LmMgICB8IDEgLQotIHRvb2xzL3dpc3ByLmMgICAgICB8IDEgLQotIHZwbi9wbHVnaW5zL3Zwbi5jICB8IDEgLQotIDE1IGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotaW5kZXggNmU2NmFiMy4uYmFjZjVlYyAxMDA2NDQKLS0tLSBhL2NvbmZpZ3VyZS5hYwotKysrIGIvY29uZmlndXJlLmFjCi1AQCAtMjAsNiArMjAsNyBAQCBBQ19TVUJTVChhYnNfdG9wX3NyY2RpcikKLSBBQ19TVUJTVChhYnNfdG9wX2J1aWxkZGlyKQotIAotIEFDX0xBTkdfQwotK0FDX1VTRV9TWVNURU1fRVhURU5TSU9OUwotIAotIEFDX1BST0dfQ0MKLSBBTV9QUk9HX0NDX0NfTwotZGlmZiAtLWdpdCBhL2dkaGNwL2NsaWVudC5jIGIvZ2RoY3AvY2xpZW50LmMKLWluZGV4IGZiYjQwYWIuLjNhZWIwODkgMTAwNjQ0Ci0tLS0gYS9nZGhjcC9jbGllbnQuYwotKysrIGIvZ2RoY3AvY2xpZW50LmMKLUBAIC0yMyw3ICsyMyw2IEBACi0gI2luY2x1ZGUgPGNvbmZpZy5oPgotICNlbmRpZgotIAotLSNkZWZpbmUgX0dOVV9TT1VSQ0UKLSAjaW5jbHVkZSA8c3RkaW8uaD4KLSAjaW5jbHVkZSA8ZXJybm8uaD4KLSAjaW5jbHVkZSA8dW5pc3RkLmg+Ci1kaWZmIC0tZ2l0IGEvcGx1Z2lucy90aXN0LmMgYi9wbHVnaW5zL3Rpc3QuYwotaW5kZXggYWQ1ZWY3OS4uY2MyODAwYSAxMDA2NDQKLS0tLSBhL3BsdWdpbnMvdGlzdC5jCi0rKysgYi9wbHVnaW5zL3Rpc3QuYwotQEAgLTIzLDcgKzIzLDYgQEAKLSAjaW5jbHVkZSA8Y29uZmlnLmg+Ci0gI2VuZGlmCi0gCi0tI2RlZmluZSBfR05VX1NPVVJDRQotICNpbmNsdWRlIDxzdGRpby5oPgotICNpbmNsdWRlIDxzdGRib29sLmg+Ci0gI2luY2x1ZGUgPHN0ZGxpYi5oPgotZGlmZiAtLWdpdCBhL3NyYy9iYWNrdHJhY2UuYyBiL3NyYy9iYWNrdHJhY2UuYwotaW5kZXggNmE2NmMwYS4uNGRiZGRhOCAxMDA2NDQKLS0tLSBhL3NyYy9iYWNrdHJhY2UuYwotKysrIGIvc3JjL2JhY2t0cmFjZS5jCi1AQCAtMjQsNyArMjQsNiBAQAotICNpbmNsdWRlIDxjb25maWcuaD4KLSAjZW5kaWYKLSAKLS0jZGVmaW5lIF9HTlVfU09VUkNFCi0gI2luY2x1ZGUgPHN0ZGlvLmg+Ci0gI2luY2x1ZGUgPHVuaXN0ZC5oPgotICNpbmNsdWRlIDxzdGRsaWIuaD4KLWRpZmYgLS1naXQgYS9zcmMvaW5ldC5jIGIvc3JjL2luZXQuYwotaW5kZXggNjlkZWQxOS4uODFkOTJjMiAxMDA2NDQKLS0tLSBhL3NyYy9pbmV0LmMKLSsrKyBiL3NyYy9pbmV0LmMKLUBAIC0yNSw3ICsyNSw2IEBACi0gI2luY2x1ZGUgPGNvbmZpZy5oPgotICNlbmRpZgotIAotLSNkZWZpbmUgX0dOVV9TT1VSQ0UKLSAjaW5jbHVkZSA8c3RkaW8uaD4KLSAjaW5jbHVkZSA8ZXJybm8uaD4KLSAjaW5jbHVkZSA8dW5pc3RkLmg+Ci1kaWZmIC0tZ2l0IGEvc3JjL2xvZy5jIGIvc3JjL2xvZy5jCi1pbmRleCA5YmFlNGEzLi5mN2U4MmU1IDEwMDY0NAotLS0tIGEvc3JjL2xvZy5jCi0rKysgYi9zcmMvbG9nLmMKLUBAIC0yMyw3ICsyMyw2IEBACi0gI2luY2x1ZGUgPGNvbmZpZy5oPgotICNlbmRpZgotIAotLSNkZWZpbmUgX0dOVV9TT1VSQ0UKLSAjaW5jbHVkZSA8c3RkaW8uaD4KLSAjaW5jbHVkZSA8dW5pc3RkLmg+Ci0gI2luY2x1ZGUgPHN0ZGFyZy5oPgotZGlmZiAtLWdpdCBhL3NyYy9udHAuYyBiL3NyYy9udHAuYwotaW5kZXggZGQyNDZlYi4uZGI4YWU5NiAxMDA2NDQKLS0tLSBhL3NyYy9udHAuYwotKysrIGIvc3JjL250cC5jCi1AQCAtMjMsNyArMjMsNiBAQAotICNpbmNsdWRlIDxjb25maWcuaD4KLSAjZW5kaWYKLSAKLS0jZGVmaW5lIF9HTlVfU09VUkNFCi0gI2luY2x1ZGUgPGVycm5vLmg+Ci0gI2luY2x1ZGUgPGZjbnRsLmg+Ci0gI2luY2x1ZGUgPHVuaXN0ZC5oPgotZGlmZiAtLWdpdCBhL3NyYy9yZXNvbHZlci5jIGIvc3JjL3Jlc29sdmVyLmMKLWluZGV4IGZiZTRiZTcuLmVmNjFmOTIgMTAwNjQ0Ci0tLS0gYS9zcmMvcmVzb2x2ZXIuYwotKysrIGIvc3JjL3Jlc29sdmVyLmMKLUBAIC0yMyw3ICsyMyw2IEBACi0gI2luY2x1ZGUgPGNvbmZpZy5oPgotICNlbmRpZgotIAotLSNkZWZpbmUgX0dOVV9TT1VSQ0UKLSAjaW5jbHVkZSA8c3RkaW8uaD4KLSAjaW5jbHVkZSA8ZXJybm8uaD4KLSAjaW5jbHVkZSA8ZmNudGwuaD4KLWRpZmYgLS1naXQgYS9zcmMvcmZraWxsLmMgYi9zcmMvcmZraWxsLmMKLWluZGV4IDJiZmIwOTIuLmFmNDlkMTIgMTAwNjQ0Ci0tLS0gYS9zcmMvcmZraWxsLmMKLSsrKyBiL3NyYy9yZmtpbGwuYwotQEAgLTIzLDcgKzIzLDYgQEAKLSAjaW5jbHVkZSA8Y29uZmlnLmg+Ci0gI2VuZGlmCi0gCi0tI2RlZmluZSBfR05VX1NPVVJDRQotICNpbmNsdWRlIDxzdGRpby5oPgotICNpbmNsdWRlIDxlcnJuby5oPgotICNpbmNsdWRlIDxmY250bC5oPgotZGlmZiAtLWdpdCBhL3NyYy9zdGF0cy5jIGIvc3JjL3N0YXRzLmMKLWluZGV4IDI2MzQzYjEuLmNmY2RjOTQgMTAwNjQ0Ci0tLS0gYS9zcmMvc3RhdHMuYwotKysrIGIvc3JjL3N0YXRzLmMKLUBAIC0yMyw3ICsyMyw2IEBACi0gI2luY2x1ZGUgPGNvbmZpZy5oPgotICNlbmRpZgotIAotLSNkZWZpbmUgX0dOVV9TT1VSQ0UKLSAjaW5jbHVkZSA8ZXJybm8uaD4KLSAjaW5jbHVkZSA8c3lzL21tYW4uaD4KLSAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci1kaWZmIC0tZ2l0IGEvc3JjL3RpbWV6b25lLmMgYi9zcmMvdGltZXpvbmUuYwotaW5kZXggZTM0NmIxMS4uOGU5MTI2NyAxMDA2NDQKLS0tLSBhL3NyYy90aW1lem9uZS5jCi0rKysgYi9zcmMvdGltZXpvbmUuYwotQEAgLTIzLDcgKzIzLDYgQEAKLSAjaW5jbHVkZSA8Y29uZmlnLmg+Ci0gI2VuZGlmCi0gCi0tI2RlZmluZSBfR05VX1NPVVJDRQotICNpbmNsdWRlIDxlcnJuby5oPgotICNpbmNsdWRlIDxzdGRpby5oPgotICNpbmNsdWRlIDxmY250bC5oPgotZGlmZiAtLWdpdCBhL3Rvb2xzL3N0YXRzLXRvb2wuYyBiL3Rvb2xzL3N0YXRzLXRvb2wuYwotaW5kZXggYjA3NjQ3OC4uNDI4ZDk0YiAxMDA2NDQKLS0tLSBhL3Rvb2xzL3N0YXRzLXRvb2wuYwotKysrIGIvdG9vbHMvc3RhdHMtdG9vbC5jCi1AQCAtMjIsNyArMjIsNiBAQAotICNpbmNsdWRlIDxjb25maWcuaD4KLSAjZW5kaWYKLSAKLS0jZGVmaW5lIF9HTlVfU09VUkNFCi0gI2luY2x1ZGUgPHN5cy9tbWFuLmg+Ci0gI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotICNpbmNsdWRlIDxzeXMvc3RhdC5oPgotZGlmZiAtLWdpdCBhL3Rvb2xzL3RhcC10ZXN0LmMgYi90b29scy90YXAtdGVzdC5jCi1pbmRleCBmZGMwOThhLi41NzkxN2Y1IDEwMDY0NAotLS0tIGEvdG9vbHMvdGFwLXRlc3QuYwotKysrIGIvdG9vbHMvdGFwLXRlc3QuYwotQEAgLTIzLDcgKzIzLDYgQEAKLSAjaW5jbHVkZSA8Y29uZmlnLmg+Ci0gI2VuZGlmCi0gCi0tI2RlZmluZSBfR05VX1NPVVJDRQotICNpbmNsdWRlIDxzdGRpby5oPgotICNpbmNsdWRlIDxlcnJuby5oPgotICNpbmNsdWRlIDxmY250bC5oPgotZGlmZiAtLWdpdCBhL3Rvb2xzL3dpc3ByLmMgYi90b29scy93aXNwci5jCi1pbmRleCBkNWY5MzQxLi5lNTZkZmMxIDEwMDY0NAotLS0tIGEvdG9vbHMvd2lzcHIuYwotKysrIGIvdG9vbHMvd2lzcHIuYwotQEAgLTIzLDcgKzIzLDYgQEAKLSAjaW5jbHVkZSA8Y29uZmlnLmg+Ci0gI2VuZGlmCi0gCi0tI2RlZmluZSBfR05VX1NPVVJDRQotICNpbmNsdWRlIDxzdGRpby5oPgotICNpbmNsdWRlIDxmY250bC5oPgotICNpbmNsdWRlIDx1bmlzdGQuaD4KLWRpZmYgLS1naXQgYS92cG4vcGx1Z2lucy92cG4uYyBiL3Zwbi9wbHVnaW5zL3Zwbi5jCi1pbmRleCA5YTQyMzg1Li40NzljM2E3IDEwMDY0NAotLS0tIGEvdnBuL3BsdWdpbnMvdnBuLmMKLSsrKyBiL3Zwbi9wbHVnaW5zL3Zwbi5jCi1AQCAtMjMsNyArMjMsNiBAQAotICNpbmNsdWRlIDxjb25maWcuaD4KLSAjZW5kaWYKLSAKLS0jZGVmaW5lIF9HTlVfU09VUkNFCi0gI2luY2x1ZGUgPHN0cmluZy5oPgotICNpbmNsdWRlIDxmY250bC5oPgotICNpbmNsdWRlIDx1bmlzdGQuaD4KLS0tIAotMi44LjEKLQotCi1Gcm9tIGI4Yjc4NzhlNmNiMmExZWQ0ZmNmYTI1NmY3ZTIzMjUxMWE0MGUzZDkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotRGF0ZTogVHVlLCA5IEF1ZyAyMDE2IDE1OjM3OjUwICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMi8zXSBDaGVjayBmb3IgaW42X3BrdGluZm8uaXBpNl9hZGRyIGV4cGxpY2l0bHkKLQotSW5zdGVhZCBvZiBhc3N1bWluZyB0aGF0IGp1c3QgZ2xpYmMgaGFzIHRoaXMgc3RydWN0dXJlLCBjaGVjayBmb3IgaXQgYXQKLWNvbmZpZ3VyZSBhcyBtdXNsIGFsc28gaGFzIGl0LgotCi1CYXNlZCBvbiB3b3JrIGJ5IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+LgotLS0tCi0gY29uZmlndXJlLmFjICAgfCAyICsrCi0gZ2RoY3AvY29tbW9uLmggfCA1ICsrKy0tCi0gMiBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IGJhY2Y1ZWMuLmFkMDA0NTYgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuYWMKLSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTE4Niw2ICsxODYsOCBAQCBBQ19DSEVDS19MSUIocmVzb2x2LCBuc19pbml0cGFyc2UsIGR1bW15PXllcywgWwotIEFDX0NIRUNLX0hFQURFUlMoW2V4ZWNpbmZvLmhdKQotIEFNX0NPTkRJVElPTkFMKFtCQUNLVFJBQ0VdLCBbdGVzdCAiJHthY19jdl9oZWFkZXJfZXhlY2luZm9faH0iID0gInllcyJdKQotIAotK0FDX0NIRUNLX01FTUJFUlMoW3N0cnVjdCBpbjZfcGt0aW5mby5pcGk2X2FkZHJdLCBbXSwgW10sIFtbI2luY2x1ZGUgPG5ldGluZXQvaW4uaD5dXSkKLSsKLSBBQ19DSEVDS19GVU5DKHNpZ25hbGZkLCBkdW1teT15ZXMsCi0gCQkJQUNfTVNHX0VSUk9SKHNpZ25hbGZkIHN1cHBvcnQgaXMgcmVxdWlyZWQpKQotIAotZGlmZiAtLWdpdCBhL2dkaGNwL2NvbW1vbi5oIGIvZ2RoY3AvY29tbW9uLmgKLWluZGV4IDc1YWJjMTguLjY4OTk0OTkgMTAwNjQ0Ci0tLS0gYS9nZGhjcC9jb21tb24uaAotKysrIGIvZ2RoY3AvY29tbW9uLmgKLUBAIC0xOSw2ICsxOSw3IEBACi0gICoKLSAgKi8KLSAKLSsjaW5jbHVkZSA8Y29uZmlnLmg+Ci0gI2luY2x1ZGUgPG5ldGluZXQvdWRwLmg+Ci0gI2luY2x1ZGUgPG5ldGluZXQvaXAuaD4KLSAKLUBAIC0xNzAsOCArMTcxLDggQEAgc3RhdGljIGNvbnN0IHVpbnQ4X3QgZGhjcF9vcHRpb25fbGVuZ3Roc1tdID0gewotIAlbT1BUSU9OX1UzMl0JPSA0LAotIH07Ci0gCi0tLyogYWxyZWFkeSBkZWZpbmVkIHdpdGhpbiBuZXRpbmV0L2luLmggaWYgdXNpbmcgR05VIGNvbXBpbGVyICovCi0tI2lmbmRlZiBfX1VTRV9HTlUKLSsvKiBhbHJlYWR5IGRlZmluZWQgd2l0aGluIG5ldGluZXQvaW4uaCBpZiB1c2luZyBnbGliYyBvciBtdXNsICovCi0rI2lmbmRlZiBIQVZFX1NUUlVDVF9JTjZfUEtUSU5GT19JUEk2X0FERFIKLSBzdHJ1Y3QgaW42X3BrdGluZm8gewotIAlzdHJ1Y3QgaW42X2FkZHIgaXBpNl9hZGRyOyAgLyogc3JjL2RzdCBJUHY2IGFkZHJlc3MgKi8KLSAJdW5zaWduZWQgaW50IGlwaTZfaWZpbmRleDsgIC8qIHNlbmQvcmVjdiBpbnRlcmZhY2UgaW5kZXggKi8KLS0tIAotMi44LjEKLQotCi1Gcm9tIGMwNzI2ZTQzMmZhMDI3NGEyYjljNzAxNzliMDNkZjY3MjA5NzI4MTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotRGF0ZTogVHVlLCA5IEF1ZyAyMDE2IDE1OjE5OjIzICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMy8zXSBSYXRpb25hbGlzZSBpbmNsdWRlcwotCi1nd2ViL2dyZXNvbHYuYyB1c2VzIHNucHJpbnRmKCkgYW5kIGlzc3BhY2UoKSBzbyBpdCBzaG91bGQgaW5jbHVkZSBzdGRpby5oIGFuZAotY3R5cGUuaC4KLQotdG9vbHMvZG5zcHJveHktdGVzdCB1c2VzIGZ1bmN0aW9ucyBmcm9tIHN0ZGlvLmguCi0KLW11c2wgd2FybnMgd2hlbiBzeXMvIGhlYWRlcnMgYXJlIGluY2x1ZGVkIHdoZW4gdGhlIG5vbi1zeXMgZm9ybSBzaG91bGQgYmUgdXNlZCwKLXNvIHN3aXRjaCBzeXMvZXJybm8uaCBhbmQgc28gb24gdG8gZXJybm8uaC4KLQotbXVzbCBhbHNvIGNhdXNlcyByZWRlZmluaXRpb24gZXJyb3JzIHdoZW4gcGllY2VzIG9mIHRoZSBuZXR3b3JraW5nIGhlYWRlcnMgYXJlCi1pbmNsdWRlZCwgc28gcmVtb3ZlIHRoZSByZWR1bmRhbnQgaW5jbHVkZXMuCi0KLUJhc2VkIG9uIHdvcmsgYnkgS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4uCi0tLS0KLSBnd2ViL2dyZXNvbHYuYyAgICAgICAgICAgICAgIHwgMiArKwotIHBsdWdpbnMvd2lmaS5jICAgICAgICAgICAgICAgfCAzICstLQotIHNyYy9pcHBvb2wuYyAgICAgICAgICAgICAgICAgfCAxIC0KLSBzcmMvaXB0YWJsZXMuYyAgICAgICAgICAgICAgIHwgMiArLQotIHNyYy90ZXRoZXJpbmcuYyAgICAgICAgICAgICAgfCAyIC0tCi0gdG9vbHMvZGhjcC10ZXN0LmMgICAgICAgICAgICB8IDEgLQotIHRvb2xzL2Ruc3Byb3h5LXRlc3QuYyAgICAgICAgfCAxICsKLSB0b29scy9wcml2YXRlLW5ldHdvcmstdGVzdC5jIHwgMiArLQotIHRvb2xzL3RhcC10ZXN0LmMgICAgICAgICAgICAgfCAyICstCi0gOSBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nd2ViL2dyZXNvbHYuYyBiL2d3ZWIvZ3Jlc29sdi5jCi1pbmRleCA4YTUxYTlmLi5kNTUwMjdjIDEwMDY0NAotLS0tIGEvZ3dlYi9ncmVzb2x2LmMKLSsrKyBiL2d3ZWIvZ3Jlc29sdi5jCi1AQCAtMjksNiArMjksNyBAQAotICNpbmNsdWRlIDxzdHJpbmcuaD4KLSAjaW5jbHVkZSA8c3RkbGliLmg+Ci0gI2luY2x1ZGUgPHJlc29sdi5oPgotKyNpbmNsdWRlIDxzdGRpby5oPgotICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgotICNpbmNsdWRlIDxuZXRkYi5oPgotZGlmZiAtLWdpdCBhL3BsdWdpbnMvd2lmaS5jIGIvcGx1Z2lucy93aWZpLmMKLWluZGV4IDlkNTY2NzEuLjE0ODEzMWQgMTAwNjQ0Ci0tLS0gYS9wbHVnaW5zL3dpZmkuYwotKysrIGIvcGx1Z2lucy93aWZpLmMKLUBAIC0zMCw5ICszMCw4IEBACi0gI2luY2x1ZGUgPHN0cmluZy5oPgotICNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KLSAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgotLSNpbmNsdWRlIDxsaW51eC9pZl9hcnAuaD4KLS0jaW5jbHVkZSA8bGludXgvd2lyZWxlc3MuaD4KLSAjaW5jbHVkZSA8bmV0L2V0aGVybmV0Lmg+Ci0rI2luY2x1ZGUgPGxpbnV4L3dpcmVsZXNzLmg+Ci0gCi0gI2lmbmRlZiBJRkZfTE9XRVJfVVAKLSAjZGVmaW5lIElGRl9MT1dFUl9VUAkweDEwMDAwCi1kaWZmIC0tZ2l0IGEvc3JjL2lwcG9vbC5jIGIvc3JjL2lwcG9vbC5jCi1pbmRleCBjZWExZGNjLi44YTY0NWRhIDEwMDY0NAotLS0tIGEvc3JjL2lwcG9vbC5jCi0rKysgYi9zcmMvaXBwb29sLmMKLUBAIC0yOCw3ICsyOCw2IEBACi0gI2luY2x1ZGUgPHN0ZGlvLmg+Ci0gI2luY2x1ZGUgPHN0cmluZy5oPgotICNpbmNsdWRlIDx1bmlzdGQuaD4KLS0jaW5jbHVkZSA8c3lzL2Vycm5vLmg+Ci0gI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KLSAKLSAjaW5jbHVkZSAiY29ubm1hbi5oIgotZGlmZiAtLWdpdCBhL3NyYy9pcHRhYmxlcy5jIGIvc3JjL2lwdGFibGVzLmMKLWluZGV4IDVlZjc1N2EuLjgyZTNhYzQgMTAwNjQ0Ci0tLS0gYS9zcmMvaXB0YWJsZXMuYwotKysrIGIvc3JjL2lwdGFibGVzLmMKLUBAIC0yOCw3ICsyOCw3IEBACi0gI2luY2x1ZGUgPHN0ZGlvLmg+Ci0gI2luY2x1ZGUgPHN0cmluZy5oPgotICNpbmNsdWRlIDx1bmlzdGQuaD4KLS0jaW5jbHVkZSA8c3lzL2Vycm5vLmg+Ci0rI2luY2x1ZGUgPGVycm5vLmg+Ci0gI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KLSAjaW5jbHVkZSA8eHRhYmxlcy5oPgotICNpbmNsdWRlIDxpbnR0eXBlcy5oPgotZGlmZiAtLWdpdCBhL3NyYy90ZXRoZXJpbmcuYyBiL3NyYy90ZXRoZXJpbmcuYwotaW5kZXggMzE1MzM0OS4uYWQwNjJkNSAxMDA2NDQKLS0tLSBhL3NyYy90ZXRoZXJpbmcuYwotKysrIGIvc3JjL3RldGhlcmluZy5jCi1AQCAtMzEsMTAgKzMxLDggQEAKLSAjaW5jbHVkZSA8c3RkaW8uaD4KLSAjaW5jbHVkZSA8c3lzL2lvY3RsLmg+Ci0gI2luY2x1ZGUgPG5ldC9pZi5oPgotLSNpbmNsdWRlIDxsaW51eC9zb2NraW9zLmg+Ci0gI2luY2x1ZGUgPHN0cmluZy5oPgotICNpbmNsdWRlIDxmY250bC5oPgotLSNpbmNsdWRlIDxsaW51eC9pZl90dW4uaD4KLSAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgotICNpbmNsdWRlIDxsaW51eC9pZl9icmlkZ2UuaD4KLSAKLWRpZmYgLS1naXQgYS90b29scy9kaGNwLXRlc3QuYyBiL3Rvb2xzL2RoY3AtdGVzdC5jCi1pbmRleCBjMzRlMTBhLi5lYWU2NmZjIDEwMDY0NAotLS0tIGEvdG9vbHMvZGhjcC10ZXN0LmMKLSsrKyBiL3Rvb2xzL2RoY3AtdGVzdC5jCi1AQCAtMzMsNyArMzMsNiBAQAotICNpbmNsdWRlIDxhcnBhL2luZXQuaD4KLSAjaW5jbHVkZSA8bmV0L3JvdXRlLmg+Ci0gI2luY2x1ZGUgPG5ldC9ldGhlcm5ldC5oPgotLSNpbmNsdWRlIDxsaW51eC9pZl9hcnAuaD4KLSAKLSAjaW5jbHVkZSA8Z2RoY3AvZ2RoY3AuaD4KLSAKLWRpZmYgLS1naXQgYS90b29scy9kbnNwcm94eS10ZXN0LmMgYi90b29scy9kbnNwcm94eS10ZXN0LmMKLWluZGV4IDU1MWNhZTkuLjM3MWUyZTIgMTAwNjQ0Ci0tLS0gYS90b29scy9kbnNwcm94eS10ZXN0LmMKLSsrKyBiL3Rvb2xzL2Ruc3Byb3h5LXRlc3QuYwotQEAgLTI0LDYgKzI0LDcgQEAKLSAjZW5kaWYKLSAKLSAjaW5jbHVkZSA8ZXJybm8uaD4KLSsjaW5jbHVkZSA8c3RkaW8uaD4KLSAjaW5jbHVkZSA8c3RkbGliLmg+Ci0gI2luY2x1ZGUgPHN0cmluZy5oPgotICNpbmNsdWRlIDx1bmlzdGQuaD4KLWRpZmYgLS1naXQgYS90b29scy9wcml2YXRlLW5ldHdvcmstdGVzdC5jIGIvdG9vbHMvcHJpdmF0ZS1uZXR3b3JrLXRlc3QuYwotaW5kZXggM2RkMTE1Yi4uMjgyOGJiMyAxMDA2NDQKLS0tLSBhL3Rvb2xzL3ByaXZhdGUtbmV0d29yay10ZXN0LmMKLSsrKyBiL3Rvb2xzL3ByaXZhdGUtbmV0d29yay10ZXN0LmMKLUBAIC0zMiw3ICszMiw3IEBACi0gI2luY2x1ZGUgPHN0ZGxpYi5oPgotICNpbmNsdWRlIDxzdHJpbmcuaD4KLSAjaW5jbHVkZSA8c2lnbmFsLmg+Ci0tI2luY2x1ZGUgPHN5cy9wb2xsLmg+Ci0rI2luY2x1ZGUgPHBvbGwuaD4KLSAjaW5jbHVkZSA8c3lzL3NpZ25hbGZkLmg+Ci0gI2luY2x1ZGUgPHVuaXN0ZC5oPgotIAotZGlmZiAtLWdpdCBhL3Rvb2xzL3RhcC10ZXN0LmMgYi90b29scy90YXAtdGVzdC5jCi1pbmRleCA1NzkxN2Y1Li5jYjNlZTYyIDEwMDY0NAotLS0tIGEvdG9vbHMvdGFwLXRlc3QuYwotKysrIGIvdG9vbHMvdGFwLXRlc3QuYwotQEAgLTI4LDcgKzI4LDcgQEAKLSAjaW5jbHVkZSA8ZmNudGwuaD4KLSAjaW5jbHVkZSA8dW5pc3RkLmg+Ci0gI2luY2x1ZGUgPHN0cmluZy5oPgotLSNpbmNsdWRlIDxzeXMvcG9sbC5oPgotKyNpbmNsdWRlIDxwb2xsLmg+Ci0gI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgotIAotICNpbmNsdWRlIDxuZXRpbmV0L2luLmg+Ci0tLSAKLTIuOC4xCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuXzEuMzUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuXzEuMzUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZmMjExODEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbl8xLjM1LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotcmVxdWlyZSBjb25ubWFuLmluYwotCi1TUkNfVVJJICA9ICIke0tFUk5FTE9SR19NSVJST1J9L2xpbnV4L25ldHdvcmsvJHtCUE59LyR7QlB9LnRhci54eiBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1wbHVnaW4uaC1DaGFuZ2UtdmlzaWJpbGl0eS10by1kZWZhdWx0LWZvci1kZWJ1Zy1zeW1iLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNvbm5tYW4uc2VydmljZS1zdG9wLXN5c3RlbWQtcmVzb2x2ZWQtd2hlbi13ZS11c2UtY28ucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL2Nvbm5tYW4gXAotICAgICAgICAgICAgZmlsZTovL25vLXZlcnNpb24tc2NyaXB0cy5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vaW5jbHVkZXMucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDEtc2Vzc2lvbi1LZWVwLXRyYWNrLW9mLWFkZHItaW4tZndfc25hdC1zZXNzaW9uLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWdpb2dudXRscy1GaXgtYS1jcmFzaC11c2luZy13aXNwci1vdmVyLVRMUy5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1pbmV0LUFkZC1wcmVmaXhsZW4tdG8taXByb3V0ZV9kZWZhdWx0X2Z1bmN0aW9uLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAyLWluZXQtSW1wbGVtZW50LXN1Ym5ldC1yb3V0ZS1jcmVhdGlvbi1kZWxldGlvbi1pbi1pcHIucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDMtaW5ldC1JbXBsZW1lbnQtQVBJcy1mb3ItY3JlYXRpbmctYW5kLWRlbGV0aW5nLXN1Ym5ldC5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwNC1zZXNzaW9uLVVzZS1zdWJuZXQtcm91dGUtY3JlYXRpb24tYW5kLWRlbGV0aW9uLUFQSXMucGF0Y2ggXAotICAgICAgICAgICAgIgotU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsID0gIiBmaWxlOi8vMDAwMi1yZXNvbHZlLW11c2wtZG9lcy1ub3QtaW1wbGVtZW50LXJlc19uaW5pdC5wYXRjaCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gImJhZTM3YjQ1ZWU5YjNkYjVlYzgxMTUxODhmOGE3NjUyIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY2ZDdkZWI5ODM3MTU0NWM2ZTQxNzIzOWE5YjNiM2UzMjAxYzE1MjlkMDhlZWRmNDBhZmJjODU5ODQyY2YyYWEiCi0KLVJSRUNPTU1FTkRTXyR7UE59ID0gImNvbm5tYW4tY29uZiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW5fMS4zNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW5fMS4zNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZTRkYmRmCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbl8xLjM2LmJiCkBAIC0wLDAgKzEsMTYgQEAKK3JlcXVpcmUgY29ubm1hbi5pbmMKKworU1JDX1VSSSAgPSAiJHtLRVJORUxPUkdfTUlSUk9SfS9saW51eC9uZXR3b3JrLyR7QlBOfS8ke0JQfS50YXIueHogXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtcGx1Z2luLmgtQ2hhbmdlLXZpc2liaWxpdHktdG8tZGVmYXVsdC1mb3ItZGVidWctc3ltYi5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25ubWFuLnNlcnZpY2Utc3RvcC1zeXN0ZW1kLXJlc29sdmVkLXdoZW4td2UtdXNlLWNvLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9jb25ubWFuIFwKKyAgICAgICAgICAgIGZpbGU6Ly9uby12ZXJzaW9uLXNjcmlwdHMucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LXZhcmlvdXMtaXNzdWVzLXdoaWNoLWNhdXNlLXByb2JsZW1zLXVuZGVyLW11c2wucGF0Y2ggXAorIgorCitTUkNfVVJJX2FwcGVuZF9saWJjLW11c2wgPSAiIGZpbGU6Ly8wMDAyLXJlc29sdmUtbXVzbC1kb2VzLW5vdC1pbXBsZW1lbnQtcmVzX25pbml0LnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZGFlNzdkOWM5MDRkMmMyMjNhZTg0OWUzMjA3OWQ1N2UiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzc4OWRiNDFjYzQ0M2ZhNDFlNjYxMjE3ZWEzMjE0OTJhZDU5YTAwNGJlYmNkMWFhMDEzZjNiYzEwYTZlMDA3NCIKKworUlJFQ09NTUVORFNfJHtQTn0gPSAiY29ubm1hbi1jb25mIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3AvZGhjcC8wMDAxLWRoY3BkLWZpeC1SZXBsYWNlLWN1c3RvbS1pc2NfYm9vbGVhbl90LXdpdGgtQy1zdGFuZGEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGhjcC9kaGNwLzAwMDEtZGhjcGQtZml4LVJlcGxhY2UtY3VzdG9tLWlzY19ib29sZWFuX3Qtd2l0aC1DLXN0YW5kYS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMmU1NzcxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3AvZGhjcC8wMDAxLWRoY3BkLWZpeC1SZXBsYWNlLWN1c3RvbS1pc2NfYm9vbGVhbl90LXdpdGgtQy1zdGFuZGEucGF0Y2gKQEAgLTAsMCArMSwyODgyIEBACitGcm9tIGZmYjFkMTMyNWJkNjUwM2RmOWEzMjRiZWZhYzVmNTAzOWFjNzc0MzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXJAbXZpc3RhLmNvbT4KK0RhdGU6IFR1ZSwgMjMgT2N0IDIwMTggMTA6MzY6NTYgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gZGhjcGQ6IGZpeCBSZXBsYWNlIGN1c3RvbSBpc2NfYm9vbGVhbl90IHdpdGggQyBzdGFuZGFyZCBib29sCisgdHlwZQorCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitGaXhlcyBpc3N1ZXMgaW50cm9kdWNlZCBieSBiaW5kIHdoZW4gdGhleSBjaGFuZ2VkIHRoZWlyIGhlYWRlcnMuCisKK1NpZ25lZC1vZmYtYnk6IEFybWluIEt1c3RlciA8YWt1c3RlckBtdmlzdGEuY29tPgorLS0tCisgaW5jbHVkZXMvZGhjcGQuaCAgICAgICAgICAgfCAzNCArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tCisgaW5jbHVkZXMvaGVhcC5oICAgICAgICAgICAgfCAgMiArLQorIGluY2x1ZGVzL29tYXBpcC9vbWFwaXAuaCAgIHwgIDIgKy0KKyBpbmNsdWRlcy9vbWFwaXAvb21hcGlwX3AuaCB8ICA2ICsrKy0tLQorIGluY2x1ZGVzL3RyZWUuaCAgICAgICAgICAgIHwgIDIgKy0KKyA1IGZpbGVzIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKyksIDIzIGRlbGV0aW9ucygtKQorCitJbmRleDogZGhjcC00LjQuMS9pbmNsdWRlcy9kaGNwZC5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZGhjcC00LjQuMS5vcmlnL2luY2x1ZGVzL2RoY3BkLmgKKysrKyBkaGNwLTQuNC4xL2luY2x1ZGVzL2RoY3BkLmgKK0BAIC00NjEsMjAgKzQ2MSwyMCBAQCBzdHJ1Y3QgcGFja2V0IHsKKyAJICogb3B0aW9ucyB3ZSBnb3QgaW4gYSBwcmV2aW91cyBleGNoYW5nZSB3ZXJlIHN0aWxsIHRoZXJlLCB3ZSBuZWVkCisgCSAqIHRvIHNpZ25hbCB0aGlzIGluIGEgcmVsaWFibGUgd2F5LgorIAkgKi8KKy0JaXNjX2Jvb2xlYW5fdCBhZ2VudF9vcHRpb25zX3N0YXNoZWQ7CisrCWJvb2wgYWdlbnRfb3B0aW9uc19zdGFzaGVkOworIAorIAkvKgorIAkgKiBJU0NfVFJVRSBpZiBwYWNrZXQgcmVjZWl2ZWQgdW5pY2FzdCAoYXMgb3Bwb3NlZCB0byBtdWx0aWNhc3QpLgorIAkgKiBPbmx5IHVzZWQgaW4gREhDUHY2LgorIAkgKi8KKy0JaXNjX2Jvb2xlYW5fdCB1bmljYXN0OworKwlib29sIHVuaWNhc3Q7CisgCisgCS8qIFByb3BhZ2F0ZXMgc2VydmVyIHZhbHVlIFNWX0VDSE9fQ0xJRU5UX0lEIHNvIGl0IGlzIGF2YWlsYWJsZQorICAgICAgICAgICogaW4gY29uc19vcHRpb25zKCkgKi8KKyAJaW50IHN2X2VjaG9fY2xpZW50X2lkOworIAorIAkvKiBSZWxheSBwb3J0IGNoZWNrICovCistCWlzY19ib29sZWFuX3QgcmVsYXlfc291cmNlX3BvcnQ7CisrCWJvb2wgcmVsYXlfc291cmNlX3BvcnQ7CisgfTsKKyAKKyAvKgorQEAgLTExNzQsNyArMTE3NCw3IEBAIHN0cnVjdCBkaGM2X2xlYXNlIHsKKyAJc3RydWN0IGRoYzZfbGVhc2UgKm5leHQ7CisgCXN0cnVjdCBkYXRhX3N0cmluZyBzZXJ2ZXJfaWQ7CisgCistCWlzY19ib29sZWFuX3QgcmVsZWFzZWQ7CisrCWJvb2wgcmVsZWFzZWQ7CisgCWludCBzY29yZTsKKyAJdV9pbnQ4X3QgcHJlZjsKKyAKK0BAIC0xNjk1LDggKzE2OTUsOCBAQCBzdHJ1Y3QgaXB2Nl9wb29sIHsKKyAJaW50IGJpdHM7CQkJCS8qIG51bWJlciBvZiBiaXRzLCBDSURSIHN0eWxlICovCisgCWludCB1bml0czsJCQkJLyogYWxsb2NhdGlvbiB1bml0IGluIGJpdHMgKi8KKyAJaWFzdWJvcHRfaGFzaF90ICpsZWFzZXM7CQkvKiBub24tZnJlZSBsZWFzZXMgKi8KKy0JaXNjX3VpbnQ2NF90IG51bV9hY3RpdmU7CQkvKiBjb3VudCBvZiBhY3RpdmUgbGVhc2VzICovCistCWlzY191aW50NjRfdCBudW1fYWJhbmRvbmVkOwkJLyogY291bnQgb2YgYWJhbmRvbmVkIGxlYXNlcyAqLworKwl1aW50NjRfdCBudW1fYWN0aXZlOwkJCS8qIGNvdW50IG9mIGFjdGl2ZSBsZWFzZXMgKi8KKysJdWludDY0X3QgbnVtX2FiYW5kb25lZDsJCQkvKiBjb3VudCBvZiBhYmFuZG9uZWQgbGVhc2VzICovCisgCWlzY19oZWFwX3QgKmFjdGl2ZV90aW1lb3V0czsJCS8qIHRpbWVvdXRzIGZvciBhY3RpdmUgbGVhc2VzICovCisgCWludCBudW1faW5hY3RpdmU7CQkJLyogY291bnQgb2YgaW5hY3RpdmUgbGVhc2VzICovCisgCWlzY19oZWFwX3QgKmluYWN0aXZlX3RpbWVvdXRzOwkJLyogdGltZW91dHMgZm9yIGV4cGlyZWQgb3IKK0BAIC0xNzMyLDExICsxNzMyLDExIEBAIHN0cnVjdCBpcHY2X3BvbmQgeworIAlzdHJ1Y3QgaXB2Nl9wb29sICoqaXB2Nl9wb29sczsJLyogTlVMTC10ZXJtaW5hdGVkIGFycmF5ICovCisgCWludCBsYXN0X2lwdjZfcG9vbDsJCS8qIG9mZnNldCBvZiBsYXN0IElQdjYgcG9vbAorIAkJCQkJICAgdXNlZCB0byBpc3N1ZSBhIGxlYXNlICovCistCWlzY191aW50NjRfdCBudW1fdG90YWw7CSAgICAvKiBUb3RhbCBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIHBvbmQgKi8KKy0JaXNjX3VpbnQ2NF90IG51bV9hY3RpdmU7ICAgIC8qIE51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgcG9uZCBpbiB1c2UgKi8KKy0JaXNjX3VpbnQ2NF90IG51bV9hYmFuZG9uZWQ7CS8qIGNvdW50IG9mIGFiYW5kb25lZCBsZWFzZXMgKi8KKysJdWludDY0X3QgbnVtX3RvdGFsOwkgICAgCS8qIFRvdGFsIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgcG9uZCAqLworKwl1aW50NjRfdCBudW1fYWN0aXZlOyAgICAJLyogTnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBwb25kIGluIHVzZSAqLworKwl1aW50NjRfdCBudW1fYWJhbmRvbmVkOwkJLyogY291bnQgb2YgYWJhbmRvbmVkIGxlYXNlcyAqLworIAlpbnQgbG9nZ2VkOwkJCS8qIGFscmVhZHkgbG9nZ2VkIGEgbWVzc2FnZSAqLworLQlpc2NfdWludDY0X3QgbG93X3RocmVzaG9sZDsJLyogbG93IHRocmVzaG9sZCB0byByZXN0YXJ0IGxvZ2dpbmcgKi8KKysJdWludDY0X3QgbG93X3RocmVzaG9sZDsJCS8qIGxvdyB0aHJlc2hvbGQgdG8gcmVzdGFydCBsb2dnaW5nICovCisgCWludCBqdW1ib19yYW5nZTsKKyAjaWZkZWYgRVVJXzY0CisgCWludCB1c2VfZXVpXzY0OwkJLyogdXNlIEVVSS02NCBhZGRyZXNzIGFzc2lnbm1lbnQgd2hlbiB0cnVlICovCitAQCAtMTc0NSw5ICsxNzQ1LDkgQEAgc3RydWN0IGlwdjZfcG9uZCB7CisgCisgLyoKKyAgKiBNYXggYWRkcmVzc2VzIGluIGEgcG9uZCB0aGF0IGNhbiBiZSBzdXBwb3J0ZWQgYnkgbG9nIHRocmVzaG9sZAorLSAqIEN1cnJlbnRseSBiYXNlZCBvbiBtYXggdmFsdWUgc3VwcG9ydGVkIGJ5IGlzY191aW50NjRfdC4KKysgKiBDdXJyZW50bHkgYmFzZWQgb24gbWF4IHZhbHVlIHN1cHBvcnRlZCBieSB1aW50NjRfdC4KKyAqLworLSNkZWZpbmUgUE9ORF9UUkFDS19NQVggSVNDX1VJTlQ2NF9NQVgKKysjZGVmaW5lIFBPTkRfVFJBQ0tfTUFYIFVJTlQ2NF9NQVgKKyAKKyAvKiBGbGFncyBmb3IgZGhjcF9kZG5zX2NiX3QgKi8KKyAjZGVmaW5lIERETlNfVVBEQVRFX0FERFIJCTB4MDAwMQorQEAgLTE4NjgsNyArMTg2OCw3IEBAIGxvb2t1cF9mcWRuNl9vcHRpb24oc3RydWN0IHVuaXZlcnNlICp1bmkKKyAJCSAgICB1bnNpZ25lZCBjb2RlKTsKKyB2b2lkCisgc2F2ZV9mcWRuNl9vcHRpb24oc3RydWN0IHVuaXZlcnNlICp1bml2ZXJzZSwgc3RydWN0IG9wdGlvbl9zdGF0ZSAqb3B0aW9ucywKKy0JCSAgc3RydWN0IG9wdGlvbl9jYWNoZSAqb2MsIGlzY19ib29sZWFuX3QgYXBwZW5kcCk7CisrCQkgIHN0cnVjdCBvcHRpb25fY2FjaGUgKm9jLCBib29sIGFwcGVuZHApOworIHZvaWQKKyBkZWxldGVfZnFkbjZfb3B0aW9uKHN0cnVjdCB1bml2ZXJzZSAqdW5pdmVyc2UsIHN0cnVjdCBvcHRpb25fc3RhdGUgKm9wdGlvbnMsCisgCQkgICAgaW50IGNvZGUpOworQEAgLTE5NTMsNyArMTk1Myw3IEBAIHZvaWQgc2F2ZV9vcHRpb24oc3RydWN0IHVuaXZlcnNlICosIHN0cnUKKyB2b2lkIGFsc29fc2F2ZV9vcHRpb24oc3RydWN0IHVuaXZlcnNlICosIHN0cnVjdCBvcHRpb25fc3RhdGUgKiwKKyAJCSAgICAgIHN0cnVjdCBvcHRpb25fY2FjaGUgKik7Cisgdm9pZCBzYXZlX2hhc2hlZF9vcHRpb24oc3RydWN0IHVuaXZlcnNlICosIHN0cnVjdCBvcHRpb25fc3RhdGUgKiwKKy0JCQlzdHJ1Y3Qgb3B0aW9uX2NhY2hlICosIGlzY19ib29sZWFuX3QgYXBwZW5kcCk7CisrCQkJc3RydWN0IG9wdGlvbl9jYWNoZSAqLCBib29sIGFwcGVuZHApOworIHZvaWQgZGVsZXRlX29wdGlvbiAoc3RydWN0IHVuaXZlcnNlICosIHN0cnVjdCBvcHRpb25fc3RhdGUgKiwgaW50KTsKKyB2b2lkIGRlbGV0ZV9oYXNoZWRfb3B0aW9uIChzdHJ1Y3QgdW5pdmVyc2UgKiwKKyAJCQkgICBzdHJ1Y3Qgb3B0aW9uX3N0YXRlICosIGludCk7CitAQCAtMjA0MSw3ICsyMDQxLDcgQEAgaW50IGxpbmtlZF9vcHRpb25fc3RhdGVfZGVyZWZlcmVuY2UgKHN0cgorIAkJCQkgICAgIHN0cnVjdCBvcHRpb25fc3RhdGUgKiwKKyAJCQkJICAgICBjb25zdCBjaGFyICosIGludCk7Cisgdm9pZCBzYXZlX2xpbmtlZF9vcHRpb24oc3RydWN0IHVuaXZlcnNlICosIHN0cnVjdCBvcHRpb25fc3RhdGUgKiwKKy0JCQlzdHJ1Y3Qgb3B0aW9uX2NhY2hlICosIGlzY19ib29sZWFuX3QgYXBwZW5kcCk7CisrCQkJc3RydWN0IG9wdGlvbl9jYWNoZSAqLCBib29sIGFwcGVuZHApOworIHZvaWQgbGlua2VkX29wdGlvbl9zcGFjZV9mb3JlYWNoIChzdHJ1Y3QgcGFja2V0ICosIHN0cnVjdCBsZWFzZSAqLAorIAkJCQkgIHN0cnVjdCBjbGllbnRfc3RhdGUgKiwKKyAJCQkJICBzdHJ1Y3Qgb3B0aW9uX3N0YXRlICosCitAQCAtMjA2OSw3ICsyMDY5LDcgQEAgdm9pZCBkb19wYWNrZXQgKHN0cnVjdCBpbnRlcmZhY2VfaW5mbyAqLAorIAkJc3RydWN0IGRoY3BfcGFja2V0ICosIHVuc2lnbmVkLAorIAkJdW5zaWduZWQgaW50LCBzdHJ1Y3QgaWFkZHIsIHN0cnVjdCBoYXJkd2FyZSAqKTsKKyB2b2lkIGRvX3BhY2tldDYoc3RydWN0IGludGVyZmFjZV9pbmZvICosIGNvbnN0IGNoYXIgKiwKKy0JCWludCwgaW50LCBjb25zdCBzdHJ1Y3QgaWFkZHIgKiwgaXNjX2Jvb2xlYW5fdCk7CisrCQlpbnQsIGludCwgY29uc3Qgc3RydWN0IGlhZGRyICosIGJvb2wpOworIGludCBwYWNrZXQ2X2xlbl9va2F5KGNvbnN0IGNoYXIgKiwgaW50KTsKKyAKKyBpbnQgdmFsaWRhdGVfcGFja2V0KHN0cnVjdCBwYWNrZXQgKik7CitAQCAtMjIyNCw3ICsyMjI0LDcgQEAgdWludDMyX3QgcGFyc2VfYnl0ZV9vcmRlcl91aW50MzIoY29uc3QgdgorIGludCBkZG5zX3VwZGF0ZXMoc3RydWN0IHBhY2tldCAqLCBzdHJ1Y3QgbGVhc2UgKiwgc3RydWN0IGxlYXNlICosCisgCQkgc3RydWN0IGlhc3Vib3B0ICosIHN0cnVjdCBpYXN1Ym9wdCAqLCBzdHJ1Y3Qgb3B0aW9uX3N0YXRlICopOworIGlzY19yZXN1bHRfdCBkZG5zX3JlbW92YWxzKHN0cnVjdCBsZWFzZSAqLCBzdHJ1Y3QgaWFzdWJvcHQgKiwKKy0JCQkgICBzdHJ1Y3QgZGhjcF9kZG5zX2NiICosIGlzY19ib29sZWFuX3QpOworKwkJCSAgIHN0cnVjdCBkaGNwX2RkbnNfY2IgKiwgYm9vbCk7CisgdV9pbnQxNl90IGdldF9jb25mbGljdF9tYXNrKHN0cnVjdCBvcHRpb25fc3RhdGUgKmlucHV0X29wdGlvbnMpOworICNpZiBkZWZpbmVkIChUUkFDSU5HKQorIHZvaWQgdHJhY2VfZGRuc19pbml0KHZvaWQpOworQEAgLTI0NTAsNyArMjQ1MCw3IEBAIHZvaWQgZGhjcGxlYXNlcXVlcnkgKHN0cnVjdCBwYWNrZXQgKiwgaW4KKyB2b2lkIGRoY3B2Nl9sZWFzZXF1ZXJ5IChzdHJ1Y3QgZGF0YV9zdHJpbmcgKiwgc3RydWN0IHBhY2tldCAqKTsKKyAKKyAvKiBkaGNwdjYuYyAqLworLWlzY19ib29sZWFuX3Qgc2VydmVyX2R1aWRfaXNzZXQodm9pZCk7CisrYm9vbCBzZXJ2ZXJfZHVpZF9pc3NldCh2b2lkKTsKKyB2b2lkIGNvcHlfc2VydmVyX2R1aWQoc3RydWN0IGRhdGFfc3RyaW5nICpkcywgY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUpOworIHZvaWQgc2V0X3NlcnZlcl9kdWlkKHN0cnVjdCBkYXRhX3N0cmluZyAqbmV3X2R1aWQpOworIGlzY19yZXN1bHRfdCBzZXRfc2VydmVyX2R1aWRfZnJvbV9vcHRpb24odm9pZCk7CitAQCAtMjg1Miw3ICsyODUyLDcgQEAgZXh0ZXJuIHZvaWQgKCpib290cF9wYWNrZXRfaGFuZGxlcikgKHN0cgorIAkJCQkgICAgIHN0cnVjdCBpYWRkciwgc3RydWN0IGhhcmR3YXJlICopOworIGV4dGVybiB2b2lkICgqZGhjcHY2X3BhY2tldF9oYW5kbGVyKShzdHJ1Y3QgaW50ZXJmYWNlX2luZm8gKiwKKyAJCQkJICAgICBjb25zdCBjaGFyICosIGludCwKKy0JCQkJICAgICBpbnQsIGNvbnN0IHN0cnVjdCBpYWRkciAqLCBpc2NfYm9vbGVhbl90KTsKKysJCQkJICAgICBpbnQsIGNvbnN0IHN0cnVjdCBpYWRkciAqLCBib29sKTsKKyBleHRlcm4gc3RydWN0IHRpbWVvdXQgKnRpbWVvdXRzOworIGV4dGVybiBvbWFwaV9vYmplY3RfdHlwZV90ICpkaGNwX3R5cGVfaW50ZXJmYWNlOworICNpZiBkZWZpbmVkIChUUkFDSU5HKQorQEAgLTI5NDMsNyArMjk0Myw3IEBAIGludCBhZGRyX29yKHN0cnVjdCBpYWRkciAqcmVzdWx0LAorIAkgICAgY29uc3Qgc3RydWN0IGlhZGRyICphMSwgY29uc3Qgc3RydWN0IGlhZGRyICphMik7CisgaW50IGFkZHJfYW5kKHN0cnVjdCBpYWRkciAqcmVzdWx0LAorIAkgICAgIGNvbnN0IHN0cnVjdCBpYWRkciAqYTEsIGNvbnN0IHN0cnVjdCBpYWRkciAqYTIpOworLWlzY19ib29sZWFuX3QgaXNfY2lkcl9tYXNrX3ZhbGlkKGNvbnN0IHN0cnVjdCBpYWRkciAqYWRkciwgaW50IGJpdHMpOworK2Jvb2wgaXNfY2lkcl9tYXNrX3ZhbGlkKGNvbnN0IHN0cnVjdCBpYWRkciAqYWRkciwgaW50IGJpdHMpOworIGlzY19yZXN1bHRfdCByYW5nZTJjaWRyKHN0cnVjdCBpYWRkcmNpZHJuZXRsaXN0ICoqcmVzdWx0LAorIAkJCWNvbnN0IHN0cnVjdCBpYWRkciAqbG8sIGNvbnN0IHN0cnVjdCBpYWRkciAqaGkpOworIGlzY19yZXN1bHRfdCBmcmVlX2lhZGRyY2lkcm5ldGxpc3Qoc3RydWN0IGlhZGRyY2lkcm5ldGxpc3QgKipyZXN1bHQpOworQEAgLTM3ODcsNyArMzc4Nyw3IEBAIGlzY19yZXN1bHRfdCBpYV9hZGRfaWFzdWJvcHQoc3RydWN0IGlhX3gKKyAJCQkgICAgIGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lKTsKKyB2b2lkIGlhX3JlbW92ZV9pYXN1Ym9wdChzdHJ1Y3QgaWFfeHggKmlhLCBzdHJ1Y3QgaWFzdWJvcHQgKmlhc3Vib3B0LAorIAkJCWNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lKTsKKy1pc2NfYm9vbGVhbl90IGlhX2VxdWFsKGNvbnN0IHN0cnVjdCBpYV94eCAqYSwgY29uc3Qgc3RydWN0IGlhX3h4ICpiKTsKKytib29sIGlhX2VxdWFsKGNvbnN0IHN0cnVjdCBpYV94eCAqYSwgY29uc3Qgc3RydWN0IGlhX3h4ICpiKTsKKyAKKyBpc2NfcmVzdWx0X3QgaXB2Nl9wb29sX2FsbG9jYXRlKHN0cnVjdCBpcHY2X3Bvb2wgKipwb29sLCB1X2ludDE2X3QgdHlwZSwKKyAJCQkJY29uc3Qgc3RydWN0IGluNl9hZGRyICpzdGFydF9hZGRyLAorQEAgLTM4MjAsOSArMzgyMCw5IEBAIGlzY19yZXN1bHRfdCBleHBpcmVfbGVhc2U2KHN0cnVjdCBpYXN1Ym8KKyAJCQkgICBzdHJ1Y3QgaXB2Nl9wb29sICpwb29sLCB0aW1lX3Qgbm93KTsKKyBpc2NfcmVzdWx0X3QgcmVsZWFzZV9sZWFzZTYoc3RydWN0IGlwdjZfcG9vbCAqcG9vbCwgc3RydWN0IGlhc3Vib3B0ICpsZWFzZSk7CisgaXNjX3Jlc3VsdF90IGRlY2xpbmVfbGVhc2U2KHN0cnVjdCBpcHY2X3Bvb2wgKnBvb2wsIHN0cnVjdCBpYXN1Ym9wdCAqbGVhc2UpOworLWlzY19ib29sZWFuX3QgbGVhc2U2X2V4aXN0cyhjb25zdCBzdHJ1Y3QgaXB2Nl9wb29sICpwb29sLAorK2Jvb2wgbGVhc2U2X2V4aXN0cyhjb25zdCBzdHJ1Y3QgaXB2Nl9wb29sICpwb29sLAorIAkJCSAgICBjb25zdCBzdHJ1Y3QgaW42X2FkZHIgKmFkZHIpOworLWlzY19ib29sZWFuX3QgbGVhc2U2X3VzYWJsZShzdHJ1Y3QgaWFzdWJvcHQgKmxlYXNlKTsKKytib29sIGxlYXNlNl91c2FibGUoc3RydWN0IGlhc3Vib3B0ICpsZWFzZSk7CisgaXNjX3Jlc3VsdF90IGNsZWFudXBfbGVhc2U2KGlhX2hhc2hfdCAqaWFfdGFibGUsCisgCQkJICAgIHN0cnVjdCBpcHY2X3Bvb2wgKnBvb2wsCisgCQkJICAgIHN0cnVjdCBpYXN1Ym9wdCAqbGVhc2UsCitAQCAtMzgzNCwxMyArMzgzNCwxMyBAQCBpc2NfcmVzdWx0X3QgY3JlYXRlX3ByZWZpeDYoc3RydWN0IGlwdjZfCisgCQkJICAgIHVuc2lnbmVkIGludCAqYXR0ZW1wdHMsCisgCQkJICAgIGNvbnN0IHN0cnVjdCBkYXRhX3N0cmluZyAqdWlkLAorIAkJCSAgICB0aW1lX3Qgc29mdF9saWZldGltZV9lbmRfdGltZSk7CistaXNjX2Jvb2xlYW5fdCBwcmVmaXg2X2V4aXN0cyhjb25zdCBzdHJ1Y3QgaXB2Nl9wb29sICpwb29sLAorK2Jvb2wgcHJlZml4Nl9leGlzdHMoY29uc3Qgc3RydWN0IGlwdjZfcG9vbCAqcG9vbCwKKyAJCQkgICAgIGNvbnN0IHN0cnVjdCBpbjZfYWRkciAqcHJlZiwgdV9pbnQ4X3QgcGxlbik7CisgCisgaXNjX3Jlc3VsdF90IGFkZF9pcHY2X3Bvb2woc3RydWN0IGlwdjZfcG9vbCAqcG9vbCk7CisgaXNjX3Jlc3VsdF90IGZpbmRfaXB2Nl9wb29sKHN0cnVjdCBpcHY2X3Bvb2wgKipwb29sLCB1X2ludDE2X3QgdHlwZSwKKyAJCQkgICAgY29uc3Qgc3RydWN0IGluNl9hZGRyICphZGRyKTsKKy1pc2NfYm9vbGVhbl90IGlwdjZfaW5fcG9vbChjb25zdCBzdHJ1Y3QgaW42X2FkZHIgKmFkZHIsCisrYm9vbCBpcHY2X2luX3Bvb2woY29uc3Qgc3RydWN0IGluNl9hZGRyICphZGRyLAorIAkJCSAgIGNvbnN0IHN0cnVjdCBpcHY2X3Bvb2wgKnBvb2wpOworIGlzY19yZXN1bHRfdCBpcHY2X3BvbmRfYWxsb2NhdGUoc3RydWN0IGlwdjZfcG9uZCAqKnBvbmQsCisgCQkJCWNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lKTsKK0luZGV4OiBkaGNwLTQuNC4xL2luY2x1ZGVzL2hlYXAuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9pbmNsdWRlcy9oZWFwLmgKKysrKyBkaGNwLTQuNC4xL2luY2x1ZGVzL2hlYXAuaAorQEAgLTI2LDcgKzI2LDcgQEAKKyAgKiBUaGUgY29tcGFyaXNpb24gZnVuY3Rpb24gcmV0dXJucyBJU0NfVFJVRSBpZiB0aGUgZmlyc3QgYXJndW1lbnQgaGFzCisgICogaGlnaGVyIHByaW9yaXR5IHRoYW4gdGhlIHNlY29uZCBhcmd1bWVudCwgYW5kIElTQ19GQUxTRSBvdGhlcndpc2UuCisgICovCistdHlwZWRlZiBpc2NfYm9vbGVhbl90ICgqaXNjX2hlYXBjb21wYXJlX3QpKHZvaWQgKiwgdm9pZCAqKTsKKyt0eXBlZGVmIGJvb2wgKCppc2NfaGVhcGNvbXBhcmVfdCkodm9pZCAqLCB2b2lkICopOworIAorIC8qJQorICAqIFRoZSBpbmRleCBmdW5jdGlvbiBhbGxvd3MgdGhlIGNsaWVudCBvZiB0aGUgaGVhcCB0byByZWNlaXZlIGEgY2FsbGJhY2sKK0luZGV4OiBkaGNwLTQuNC4xL2luY2x1ZGVzL29tYXBpcC9vbWFwaXAuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9pbmNsdWRlcy9vbWFwaXAvb21hcGlwLmgKKysrKyBkaGNwLTQuNC4xL2luY2x1ZGVzL29tYXBpcC9vbWFwaXAuaAorQEAgLTI2NCw3ICsyNjQsNyBAQCBpc2NfcmVzdWx0X3Qgb21hcGlfcHJvdG9jb2xfY29ubmVjdCAob21hCisgaXNjX3Jlc3VsdF90IG9tYXBpX2Nvbm5lY3RfbGlzdCAob21hcGlfb2JqZWN0X3QgKiwgb21hcGlfYWRkcl9saXN0X3QgKiwKKyAJCQkJIG9tYXBpX2FkZHJfdCAqKTsKKyBpc2NfcmVzdWx0X3Qgb21hcGlfcHJvdG9jb2xfbGlzdGVuIChvbWFwaV9vYmplY3RfdCAqLCB1bnNpZ25lZCwgaW50KTsKKy1pc2NfYm9vbGVhbl90IG9tYXBpX3Byb3RvY29sX2F1dGhlbnRpY2F0ZWQgKG9tYXBpX29iamVjdF90ICopOworK2Jvb2wgb21hcGlfcHJvdG9jb2xfYXV0aGVudGljYXRlZCAob21hcGlfb2JqZWN0X3QgKik7CisgaXNjX3Jlc3VsdF90IG9tYXBpX3Byb3RvY29sX2NvbmZpZ3VyZV9zZWN1cml0eSAob21hcGlfb2JqZWN0X3QgKiwKKyAJCQkJCQlpc2NfcmVzdWx0X3QgKCopCisgCQkJCQkJKG9tYXBpX29iamVjdF90ICosCitJbmRleDogZGhjcC00LjQuMS9pbmNsdWRlcy9vbWFwaXAvb21hcGlwX3AuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9pbmNsdWRlcy9vbWFwaXAvb21hcGlwX3AuaAorKysrIGRoY3AtNC40LjEvaW5jbHVkZXMvb21hcGlwL29tYXBpcF9wLmgKK0BAIC0xNDksNyArMTQ5LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX19vbWFwaV9wcm90b2NvbF9vYmplY3QgeworIAlvbWFwaV9yZW1vdGVfYXV0aF90ICpyZW1vdGVfYXV0aF9saXN0OwkvKiBBdXRoZW50aWNhdG9ycyBhY3RpdmUgb24KKyAJCQkJCQkgICB0aGlzIGNvbm5lY3Rpb24uICovCisgCistCWlzY19ib29sZWFuX3QgaW5zZWN1cmU7CQkvKiBTZXQgdG8gYWxsb3cgdW5hdXRoZW50aWNhdGVkCisrCWJvb2wgaW5zZWN1cmU7CQkvKiBTZXQgdG8gYWxsb3cgdW5hdXRoZW50aWNhdGVkCisgCQkJCQkgICBtZXNzYWdlcy4gKi8KKyAKKyAJaXNjX3Jlc3VsdF90ICgqdmVyaWZ5X2F1dGgpIChvbWFwaV9vYmplY3RfdCAqLCBvbWFwaV9hdXRoX2tleV90ICopOworQEAgLTE1OCw3ICsxNTgsNyBAQCB0eXBlZGVmIHN0cnVjdCBfX29tYXBpX3Byb3RvY29sX29iamVjdCB7CisgdHlwZWRlZiBzdHJ1Y3QgeworIAlPTUFQSV9PQkpFQ1RfUFJFQU1CTEU7CisgCistCWlzY19ib29sZWFuX3QgaW5zZWN1cmU7CQkvKiBTZXQgdG8gYWxsb3cgdW5hdXRoZW50aWNhdGVkCisrCWJvb2wgaW5zZWN1cmU7CQkvKiBTZXQgdG8gYWxsb3cgdW5hdXRoZW50aWNhdGVkCisgCQkJCQkgICBtZXNzYWdlcy4gKi8KKyAKKyAJaXNjX3Jlc3VsdF90ICgqdmVyaWZ5X2F1dGgpIChvbWFwaV9vYmplY3RfdCAqLCBvbWFwaV9hdXRoX2tleV90ICopOworQEAgLTIwOCw3ICsyMDgsNyBAQCB0eXBlZGVmIHN0cnVjdCBfX29tYXBpX2lvX29iamVjdCB7CisgCWlzY19yZXN1bHRfdCAoKndyaXRlcikgKG9tYXBpX29iamVjdF90ICopOworIAlpc2NfcmVzdWx0X3QgKCpyZWFwZXIpIChvbWFwaV9vYmplY3RfdCAqKTsKKyAJaXNjX3NvY2tldF90ICpmZDsKKy0JaXNjX2Jvb2xlYW5fdCBjbG9zZWQ7IC8qIElTQ19UUlVFID0gY2xvc2VkLCBkbyBub3QgdXNlICovCisrCWJvb2wgY2xvc2VkOyAvKiBJU0NfVFJVRSA9IGNsb3NlZCwgZG8gbm90IHVzZSAqLworIH0gb21hcGlfaW9fb2JqZWN0X3Q7CisgCisgdHlwZWRlZiBzdHJ1Y3QgX19vbWFwaV9nZW5lcmljX29iamVjdCB7CitJbmRleDogZGhjcC00LjQuMS9pbmNsdWRlcy90cmVlLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBkaGNwLTQuNC4xLm9yaWcvaW5jbHVkZXMvdHJlZS5oCisrKysgZGhjcC00LjQuMS9pbmNsdWRlcy90cmVlLmgKK0BAIC0zMDQsNyArMzA0LDcgQEAgc3RydWN0IHVuaXZlcnNlIHsKKyAJCQkJCSAgICAgc3RydWN0IG9wdGlvbl9zdGF0ZSAqLAorIAkJCQkJICAgICB1bnNpZ25lZCk7CisgCXZvaWQgKCpzYXZlX2Z1bmMpIChzdHJ1Y3QgdW5pdmVyc2UgKiwgc3RydWN0IG9wdGlvbl9zdGF0ZSAqLAorLQkJCSAgIHN0cnVjdCBvcHRpb25fY2FjaGUgKiwgaXNjX2Jvb2xlYW5fdCk7CisrCQkJICAgc3RydWN0IG9wdGlvbl9jYWNoZSAqLCBib29sICk7CisgCXZvaWQgKCpmb3JlYWNoKSAoc3RydWN0IHBhY2tldCAqLAorIAkJCSBzdHJ1Y3QgbGVhc2UgKiwgc3RydWN0IGNsaWVudF9zdGF0ZSAqLAorIAkJCSBzdHJ1Y3Qgb3B0aW9uX3N0YXRlICosIHN0cnVjdCBvcHRpb25fc3RhdGUgKiwKK0luZGV4OiBkaGNwLTQuNC4xL2NvbW1vbi9jb25mbGV4LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBkaGNwLTQuNC4xLm9yaWcvY29tbW9uL2NvbmZsZXguYworKysrIGRoY3AtNC40LjEvY29tbW9uL2NvbmZsZXguYworQEAgLTMyMiw3ICszMjIsNyBAQCBnZXRfcmF3X3Rva2VuKHN0cnVjdCBwYXJzZSAqY2ZpbGUpIHsKKyAKKyBzdGF0aWMgZW51bSBkaGNwX3Rva2VuIAorIGdldF9uZXh0X3Rva2VuKGNvbnN0IGNoYXIgKipydmFsLCB1bnNpZ25lZCAqcmxlbiwgCistCSAgICAgICBzdHJ1Y3QgcGFyc2UgKmNmaWxlLCBpc2NfYm9vbGVhbl90IHJhdykgeworKwkgICAgICAgc3RydWN0IHBhcnNlICpjZmlsZSwgYm9vbCByYXcpIHsKKyAJaW50IHJ2OworIAorIAlpZiAoY2ZpbGUgLT4gdG9rZW4pIHsKK0BAIC0zNjcsNyArMzY3LDcgQEAgZ2V0X25leHRfdG9rZW4oY29uc3QgY2hhciAqKnJ2YWwsIHVuc2lnbgorIAorIGVudW0gZGhjcF90b2tlbgorIG5leHRfdG9rZW4oY29uc3QgY2hhciAqKnJ2YWwsIHVuc2lnbmVkICpybGVuLCBzdHJ1Y3QgcGFyc2UgKmNmaWxlKSB7CistCXJldHVybiBnZXRfbmV4dF90b2tlbihydmFsLCBybGVuLCBjZmlsZSwgSVNDX0ZBTFNFKTsKKysJcmV0dXJuIGdldF9uZXh0X3Rva2VuKHJ2YWwsIHJsZW4sIGNmaWxlLCBmYWxzZSk7CisgfQorIAorIAorQEAgLTM3OCw3ICszNzgsNyBAQCBuZXh0X3Rva2VuKGNvbnN0IGNoYXIgKipydmFsLCB1bnNpZ25lZCAqCisgCisgZW51bSBkaGNwX3Rva2VuCisgbmV4dF9yYXdfdG9rZW4oY29uc3QgY2hhciAqKnJ2YWwsIHVuc2lnbmVkICpybGVuLCBzdHJ1Y3QgcGFyc2UgKmNmaWxlKSB7CistCXJldHVybiBnZXRfbmV4dF90b2tlbihydmFsLCBybGVuLCBjZmlsZSwgSVNDX1RSVUUpOworKwlyZXR1cm4gZ2V0X25leHRfdG9rZW4ocnZhbCwgcmxlbiwgY2ZpbGUsIHRydWUpOworIH0KKyAKKyAKK0BAIC0zOTMsNyArMzkzLDcgQEAgbmV4dF9yYXdfdG9rZW4oY29uc3QgY2hhciAqKnJ2YWwsIHVuc2lnbgorIAorIGVudW0gZGhjcF90b2tlbgorIGRvX3BlZWtfdG9rZW4oY29uc3QgY2hhciAqKnJ2YWwsIHVuc2lnbmVkIGludCAqcmxlbiwKKy0JICAgICAgc3RydWN0IHBhcnNlICpjZmlsZSwgaXNjX2Jvb2xlYW5fdCByYXcpIHsKKysJICAgICAgc3RydWN0IHBhcnNlICpjZmlsZSwgYm9vbCByYXcpIHsKKyAJaW50IHg7CisgCisgCWlmICghY2ZpbGUtPnRva2VuIHx8ICghcmF3ICYmIChjZmlsZS0+dG9rZW4gPT0gV0hJVEVTUEFDRSkpKSB7CitAQCAtNDQxLDcgKzQ0MSw3IEBAIGRvX3BlZWtfdG9rZW4oY29uc3QgY2hhciAqKnJ2YWwsIHVuc2lnbmUKKyAKKyBlbnVtIGRoY3BfdG9rZW4KKyBwZWVrX3Rva2VuKGNvbnN0IGNoYXIgKipydmFsLCB1bnNpZ25lZCAqcmxlbiwgc3RydWN0IHBhcnNlICpjZmlsZSkgeworLQlyZXR1cm4gZG9fcGVla190b2tlbihydmFsLCBybGVuLCBjZmlsZSwgSVNDX0ZBTFNFKTsKKysJcmV0dXJuIGRvX3BlZWtfdG9rZW4ocnZhbCwgcmxlbiwgY2ZpbGUsIGZhbHNlKTsKKyB9CisgCisgCitAQCAtNDUyLDcgKzQ1Miw3IEBAIHBlZWtfdG9rZW4oY29uc3QgY2hhciAqKnJ2YWwsIHVuc2lnbmVkICoKKyAKKyBlbnVtIGRoY3BfdG9rZW4KKyBwZWVrX3Jhd190b2tlbihjb25zdCBjaGFyICoqcnZhbCwgdW5zaWduZWQgKnJsZW4sIHN0cnVjdCBwYXJzZSAqY2ZpbGUpIHsKKy0JcmV0dXJuIGRvX3BlZWtfdG9rZW4ocnZhbCwgcmxlbiwgY2ZpbGUsIElTQ19UUlVFKTsKKysJcmV0dXJuIGRvX3BlZWtfdG9rZW4ocnZhbCwgcmxlbiwgY2ZpbGUsIHRydWUpOworIH0KKyAKKyBzdGF0aWMgdm9pZCBza2lwX3RvX2VvbCAoY2ZpbGUpCitJbmRleDogZGhjcC00LjQuMS9jb21tb24vZGlzY292ZXIuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9jb21tb24vZGlzY292ZXIuYworKysrIGRoY3AtNC40LjEvY29tbW9uL2Rpc2NvdmVyLmMKK0BAIC03Myw3ICs3Myw3IEBAIHZvaWQgKCpib290cF9wYWNrZXRfaGFuZGxlcikgKHN0cnVjdCBpbnQKKyB2b2lkICgqZGhjcHY2X3BhY2tldF9oYW5kbGVyKShzdHJ1Y3QgaW50ZXJmYWNlX2luZm8gKiwKKyAJCQkgICAgICBjb25zdCBjaGFyICosIGludCwKKyAJCQkgICAgICBpbnQsIGNvbnN0IHN0cnVjdCBpYWRkciAqLAorLQkJCSAgICAgIGlzY19ib29sZWFuX3QpOworKwkJCSAgICAgIGJvb2wpOworICNlbmRpZiAvKiBESENQdjYgKi8KKyAKKyAKK0BAIC0yMzYsNyArMjM2LDcgQEAgc3RydWN0IGlmYWNlX2NvbmZfbGlzdCB7Cisgc3RydWN0IGlmYWNlX2luZm8geworIAljaGFyIG5hbWVbSUZfTkFNRVNJWkUrMV07CS8qIG5hbWUgb2YgdGhlIGludGVyZmFjZSwgZS5nLiAiYmdlMCIgKi8KKyAJc3RydWN0IHNvY2thZGRyX3N0b3JhZ2UgYWRkcjsJLyogYWRkcmVzcyBpbmZvcm1hdGlvbiAqLworLQlpc2NfdWludDY0X3QgZmxhZ3M7CQkvKiBpbnRlcmZhY2UgZmxhZ3MsIGUuZy4gSUZGX0xPT1BCQUNLICovCisrCXVpbnQ2NF90IGZsYWdzOwkJCS8qIGludGVyZmFjZSBmbGFncywgZS5nLiBJRkZfTE9PUEJBQ0sgKi8KKyB9OworIAorIC8qIAorQEAgLTMxMiwxNCArMzEyLDE0IEBAIGludAorIG5leHRfaWZhY2Uoc3RydWN0IGlmYWNlX2luZm8gKmluZm8sIGludCAqZXJyLCBzdHJ1Y3QgaWZhY2VfY29uZl9saXN0ICppZmFjZXMpIHsKKyAJc3RydWN0IExJRlJFUSAqcDsKKyAJc3RydWN0IExJRlJFUSB0bXA7CistCWlzY19ib29sZWFuX3QgZm91bmRpZjsKKysJYm9vbCBmb3VuZGlmOworICNpZiBkZWZpbmVkKHN1bikgfHwgZGVmaW5lZChfX2xpbnV4KQorIAkvKiBQb2ludGVyIHVzZWQgdG8gcmVtb3ZlIGludGVyZmFjZSBhbGlhc2VzLiAqLworIAljaGFyICpzOworICNlbmRpZgorIAorIAlkbyB7CistCQlmb3VuZGlmID0gSVNDX0ZBTFNFOworKwkJZm91bmRpZiA9IGZhbHNlOworIAorIAkJaWYgKGlmYWNlcy0+bmV4dCA+PSBpZmFjZXMtPm51bSkgeworIAkJCSplcnIgPSAwOworQEAgLTM1Myw4ICszNTMsOCBAQCBuZXh0X2lmYWNlKHN0cnVjdCBpZmFjZV9pbmZvICppbmZvLCBpbnQKKyAJCX0KKyAjZW5kaWYgLyogZGVmaW5lZChzdW4pIHx8IGRlZmluZWQoX19saW51eCkgKi8KKyAKKy0JCWZvdW5kaWYgPSBJU0NfVFJVRTsKKy0JfSB3aGlsZSAoKGZvdW5kaWYgPT0gSVNDX0ZBTFNFKSB8fAorKwkJZm91bmRpZiA9IHRydWU7CisrCX0gd2hpbGUgKChmb3VuZGlmID09IGZhbHNlKSB8fAorIAkJIChzdHJuY21wKGluZm8tPm5hbWUsICJkdW1teSIsIDUpID09IDApKTsKKyAJCisgCW1lbXNldCgmdG1wLCAwLCBzaXplb2YodG1wKSk7CitAQCAtNDEwLDcgKzQxMCw3IEBAIHN0cnVjdCBpZmFjZV9jb25mX2xpc3QgeworIHN0cnVjdCBpZmFjZV9pbmZvIHsKKyAJY2hhciBuYW1lW0lGTkFNU0laXTsJCS8qIG5hbWUgb2YgdGhlIGludGVyZmFjZSwgZS5nLiAiYmdlMCIgKi8KKyAJc3RydWN0IHNvY2thZGRyX3N0b3JhZ2UgYWRkcjsJLyogYWRkcmVzcyBpbmZvcm1hdGlvbiAqLworLQlpc2NfdWludDY0X3QgZmxhZ3M7CQkvKiBpbnRlcmZhY2UgZmxhZ3MsIGUuZy4gSUZGX0xPT1BCQUNLICovCisrCXVpbnQ2NF90IGZsYWdzOwkJCS8qIGludGVyZmFjZSBmbGFncywgZS5nLiBJRkZfTE9PUEJBQ0sgKi8KKyB9OworIAorIC8qIAorQEAgLTExOTAsOSArMTE5MCw5IEBAIGdvdF9vbmVfdjYob21hcGlfb2JqZWN0X3QgKmgpIHsKKyAJCSAqIElmIGEgcGFja2V0IGlzIG5vdCBtdWx0aWNhc3QsIHdlIGFzc3VtZSBpdCBpcyB1bmljYXN0LgorIAkJICovCisgCQlpZiAoSU42X0lTX0FERFJfTVVMVElDQVNUKCZ0bykpIHsgCistCQkJaXNfdW5pY2FzdCA9IElTQ19GQUxTRTsKKysJCQlpc191bmljYXN0ID0gZmFsc2U7CisgCQl9IGVsc2UgeworLQkJCWlzX3VuaWNhc3QgPSBJU0NfVFJVRTsKKysJCQlpc191bmljYXN0ID0gdHJ1ZTsKKyAJCX0KKyAKKyAJCWlmcm9tLmxlbiA9IDE2OworSW5kZXg6IGRoY3AtNC40LjEvb21hcGlwL2lzY3ByaW50LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBkaGNwLTQuNC4xLm9yaWcvb21hcGlwL2lzY3ByaW50LmMKKysrKyBkaGNwLTQuNC4xL29tYXBpcC9pc2NwcmludC5jCitAQCAtNTksOCArNTksOCBAQCBpc2NfcHJpbnRfdnNucHJpbnRmKGNoYXIgKnN0ciwgc2l6ZV90IHNpCisgCWludCBwbHVzOworIAlpbnQgc3BhY2U7CisgCWludCBuZWc7CistCWlzY19pbnQ2NF90IHRtcGk7CistCWlzY191aW50NjRfdCB0bXB1aTsKKysJaW50NjRfdCB0bXBpOworKwl1aW50NjRfdCB0bXB1aTsKKyAJdW5zaWduZWQgbG9uZyB3aWR0aDsKKyAJdW5zaWduZWQgbG9uZyBwcmVjaXNpb247CisgCXVuc2lnbmVkIGludCBsZW5ndGg7CitAQCAtMjM0LDcgKzIzNCw3IEBAIGlzY19wcmludF92c25wcmludGYoY2hhciAqc3RyLCBzaXplX3Qgc2kKKyAJCQkJZ290byBwcmludGludDsKKyAJCQljYXNlICdvJzoKKyAJCQkJaWYgKHEpCistCQkJCQl0bXB1aSA9IHZhX2FyZyhhcCwgaXNjX3VpbnQ2NF90KTsKKysJCQkJCXRtcHVpID0gdmFfYXJnKGFwLCB1aW50NjRfdCk7CisgCQkJCWVsc2UgaWYgKGwpCisgCQkJCQl0bXB1aSA9IHZhX2FyZyhhcCwgbG9uZyBpbnQpOworIAkJCQllbHNlCitAQCAtMjQ0LDcgKzI0NCw3IEBAIGlzY19wcmludF92c25wcmludGYoY2hhciAqc3RyLCBzaXplX3Qgc2kKKyAJCQkJZ290byBwcmludGludDsKKyAJCQljYXNlICd1JzoKKyAJCQkJaWYgKHEpCistCQkJCQl0bXB1aSA9IHZhX2FyZyhhcCwgaXNjX3VpbnQ2NF90KTsKKysJCQkJCXRtcHVpID0gdmFfYXJnKGFwLCB1aW50NjRfdCk7CisgCQkJCWVsc2UgaWYgKGwpCisgCQkJCQl0bXB1aSA9IHZhX2FyZyhhcCwgdW5zaWduZWQgbG9uZyBpbnQpOworIAkJCQllbHNlCitAQCAtMjUzLDcgKzI1Myw3IEBAIGlzY19wcmludF92c25wcmludGYoY2hhciAqc3RyLCBzaXplX3Qgc2kKKyAJCQkJZ290byBwcmludGludDsKKyAJCQljYXNlICd4JzoKKyAJCQkJaWYgKHEpCistCQkJCQl0bXB1aSA9IHZhX2FyZyhhcCwgaXNjX3VpbnQ2NF90KTsKKysJCQkJCXRtcHVpID0gdmFfYXJnKGFwLCB1aW50NjRfdCk7CisgCQkJCWVsc2UgaWYgKGwpCisgCQkJCQl0bXB1aSA9IHZhX2FyZyhhcCwgdW5zaWduZWQgbG9uZyBpbnQpOworIAkJCQllbHNlCitAQCAtMjY3LDcgKzI2Nyw3IEBAIGlzY19wcmludF92c25wcmludGYoY2hhciAqc3RyLCBzaXplX3Qgc2kKKyAJCQkJZ290byBwcmludGludDsKKyAJCQljYXNlICdYJzoKKyAJCQkJaWYgKHEpCistCQkJCQl0bXB1aSA9IHZhX2FyZyhhcCwgaXNjX3VpbnQ2NF90KTsKKysJCQkJCXRtcHVpID0gdmFfYXJnKGFwLCB1aW50NjRfdCk7CisgCQkJCWVsc2UgaWYgKGwpCisgCQkJCQl0bXB1aSA9IHZhX2FyZyhhcCwgdW5zaWduZWQgbG9uZyBpbnQpOworIAkJCQllbHNlCitJbmRleDogZGhjcC00LjQuMS9zZXJ2ZXIvY29uZnBhcnMuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9zZXJ2ZXIvY29uZnBhcnMuYworKysrIGRoY3AtNC40LjEvc2VydmVyL2NvbmZwYXJzLmMKK0BAIC00MDA1LDE1ICs0MDA1LDE1IEBAIGFkZF9pcHY2X3Bvb2xfdG9fc3VibmV0KHN0cnVjdCBzdWJuZXQgKnMKKyAKKyAJLyogT25seSBib3RoZXIgaWYgd2UgYXJlbid0IGFscmVhZHkgZmxhZ2dlZCBhcyBqdW1ibyAqLworIAlpZiAocG9uZC0+anVtYm9fcmFuZ2UgPT0gMCkgeworLQkJaWYgKCh1bml0cyAtIGJpdHMpID4gKHNpemVvZihpc2NfdWludDY0X3QpICogOCkpIHsKKysJCWlmICgodW5pdHMgLSBiaXRzKSA+IChzaXplb2YodWludDY0X3QpICogOCkpIHsKKyAJCQlwb25kLT5qdW1ib19yYW5nZSA9IDE7CisgCQkJcG9uZC0+bnVtX3RvdGFsID0gUE9ORF9UUkFDS19NQVg7CisgCQl9CisgCQllbHNlIHsKKy0JCQlpc2NfdWludDY0X3Qgc3BhY2VfbGVmdAorKwkJCXVpbnQ2NF90IHNwYWNlX2xlZnQKKyAJCQkJPSBQT05EX1RSQUNLX01BWCAtIHBvbmQtPm51bV90b3RhbDsKKy0JCQlpc2NfdWludDY0X3QgYWRkb24KKy0JCQkJPSAoaXNjX3VpbnQ2NF90KSgxKSA8PCAodW5pdHMgLSBiaXRzKTsKKysJCQl1aW50NjRfdCBhZGRvbgorKwkJCQk9ICh1aW50NjRfdCkoMSkgPDwgKHVuaXRzIC0gYml0cyk7CisgCisgCQkJaWYgKGFkZG9uID4gc3BhY2VfbGVmdCkgeworIAkJCQlwb25kLT5qdW1ib19yYW5nZSA9IDE7CitAQCAtNDczOSw3ICs0NzM5LDcgQEAgcGFyc2VfaWFfbmFfZGVjbGFyYXRpb24oc3RydWN0IHBhcnNlICpjZgorIAlzdHJ1Y3QgaWFzdWJvcHQgKmlhYWRkcjsKKyAJc3RydWN0IGlwdjZfcG9vbCAqcG9vbDsKKyAJY2hhciBhZGRyX2J1ZltzaXplb2YoImZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOjI1NS4yNTUuMjU1LjI1NSIpXTsKKy0JaXNjX2Jvb2xlYW5fdCBuZXdiaW5kaW5nOworKwlib29sIG5ld2JpbmRpbmc7CisgCXN0cnVjdCBiaW5kaW5nX3Njb3BlICpzY29wZSA9IE5VTEw7CisgCXN0cnVjdCBiaW5kaW5nICpibmQ7CisgCXN0cnVjdCBiaW5kaW5nX3ZhbHVlICpudiA9IE5VTEw7CitAQCAtNDk1OSw5ICs0OTU5LDkgQEAgcGFyc2VfaWFfbmFfZGVjbGFyYXRpb24oc3RydWN0IHBhcnNlICpjZgorIAkJCQkJfQorIAkJCQkJc3RyY3B5KGJuZC0+bmFtZSwgdmFsKTsKKyAKKy0JCQkJCW5ld2JpbmRpbmcgPSBJU0NfVFJVRTsKKysJCQkJCW5ld2JpbmRpbmcgPSB0cnVlOworIAkJCQl9IGVsc2UgeworLQkJCQkJbmV3YmluZGluZyA9IElTQ19GQUxTRTsKKysJCQkJCW5ld2JpbmRpbmcgPSBmYWxzZTsKKyAJCQkJfQorIAorIAkJCQlpZiAoIWJpbmRpbmdfdmFsdWVfYWxsb2NhdGUoJm52LCBNREwpKSB7CitAQCAtNTE4Niw3ICs1MTg2LDcgQEAgcGFyc2VfaWFfdGFfZGVjbGFyYXRpb24oc3RydWN0IHBhcnNlICpjZgorIAlzdHJ1Y3QgaWFzdWJvcHQgKmlhYWRkcjsKKyAJc3RydWN0IGlwdjZfcG9vbCAqcG9vbDsKKyAJY2hhciBhZGRyX2J1ZltzaXplb2YoImZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOjI1NS4yNTUuMjU1LjI1NSIpXTsKKy0JaXNjX2Jvb2xlYW5fdCBuZXdiaW5kaW5nOworKwlib29sIG5ld2JpbmRpbmc7CisgCXN0cnVjdCBiaW5kaW5nX3Njb3BlICpzY29wZSA9IE5VTEw7CisgCXN0cnVjdCBiaW5kaW5nICpibmQ7CisgCXN0cnVjdCBiaW5kaW5nX3ZhbHVlICpudiA9IE5VTEw7CitAQCAtNTQwNiw5ICs1NDA2LDkgQEAgcGFyc2VfaWFfdGFfZGVjbGFyYXRpb24oc3RydWN0IHBhcnNlICpjZgorIAkJCQkJfQorIAkJCQkJc3RyY3B5KGJuZC0+bmFtZSwgdmFsKTsKKyAKKy0JCQkJCW5ld2JpbmRpbmcgPSBJU0NfVFJVRTsKKysJCQkJCW5ld2JpbmRpbmcgPSB0cnVlOworIAkJCQl9IGVsc2UgeworLQkJCQkJbmV3YmluZGluZyA9IElTQ19GQUxTRTsKKysJCQkJCW5ld2JpbmRpbmcgPSBmYWxzZTsKKyAJCQkJfQorIAorIAkJCQlpZiAoIWJpbmRpbmdfdmFsdWVfYWxsb2NhdGUoJm52LCBNREwpKSB7CitAQCAtNTYyMyw3ICs1NjIzLDcgQEAgcGFyc2VfaWFfcGRfZGVjbGFyYXRpb24oc3RydWN0IHBhcnNlICpjZgorIAlzdHJ1Y3QgaWFzdWJvcHQgKmlhcHJlZjsKKyAJc3RydWN0IGlwdjZfcG9vbCAqcG9vbDsKKyAJY2hhciBhZGRyX2J1ZltzaXplb2YoImZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOjI1NS4yNTUuMjU1LjI1NSIpXTsKKy0JaXNjX2Jvb2xlYW5fdCBuZXdiaW5kaW5nOworKwlib29sIG5ld2JpbmRpbmc7CisgCXN0cnVjdCBiaW5kaW5nX3Njb3BlICpzY29wZSA9IE5VTEw7CisgCXN0cnVjdCBiaW5kaW5nICpibmQ7CisgCXN0cnVjdCBiaW5kaW5nX3ZhbHVlICpudiA9IE5VTEw7CitAQCAtNTg0Myw5ICs1ODQzLDkgQEAgcGFyc2VfaWFfcGRfZGVjbGFyYXRpb24oc3RydWN0IHBhcnNlICpjZgorIAkJCQkJfQorIAkJCQkJc3RyY3B5KGJuZC0+bmFtZSwgdmFsKTsKKyAKKy0JCQkJCW5ld2JpbmRpbmcgPSBJU0NfVFJVRTsKKysJCQkJCW5ld2JpbmRpbmcgPSB0cnVlOworIAkJCQl9IGVsc2UgeworLQkJCQkJbmV3YmluZGluZyA9IElTQ19GQUxTRTsKKysJCQkJCW5ld2JpbmRpbmcgPSBmYWxzZTsKKyAJCQkJfQorIAorIAkJCQlpZiAoIWJpbmRpbmdfdmFsdWVfYWxsb2NhdGUoJm52LCBNREwpKSB7CitJbmRleDogZGhjcC00LjQuMS9zZXJ2ZXIvZGhjcHY2LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBkaGNwLTQuNC4xLm9yaWcvc2VydmVyL2RoY3B2Ni5jCisrKysgZGhjcC00LjQuMS9zZXJ2ZXIvZGhjcHY2LmMKK0BAIC03MSw4ICs3MSw4IEBAIHN0cnVjdCByZXBseV9zdGF0ZSB7CisgCXVuc2lnbmVkIGlhX2NvdW50OworIAl1bnNpZ25lZCBwZF9jb3VudDsKKyAJdW5zaWduZWQgY2xpZW50X3Jlc291cmNlczsKKy0JaXNjX2Jvb2xlYW5fdCByZXNvdXJjZXNfaW5jbHVkZWQ7CistCWlzY19ib29sZWFuX3Qgc3RhdGljX2xlYXNlOworKwlib29sIHJlc291cmNlc19pbmNsdWRlZDsKKysJYm9vbCBzdGF0aWNfbGVhc2U7CisgCXVuc2lnbmVkIHN0YXRpY19wcmVmaXhlczsKKyAJc3RydWN0IGlhX3h4ICppYTsKKyAJc3RydWN0IGlhX3h4ICpvbGRfaWE7CitAQCAtMTIzLDcgKzEyMyw3IEBAIHN0YXRpYyBpc2NfcmVzdWx0X3Qgc2hhcmVkX25ldHdvcmtfZnJvbV8KKyAJCQkJCQlzdHJ1Y3QgcGFja2V0ICpwYWNrZXQpOworIHN0YXRpYyB2b2lkIHNlZWtfc2hhcmVkX2hvc3Qoc3RydWN0IGhvc3RfZGVjbCAqKmhwLAorIAkJCSAgICAgc3RydWN0IHNoYXJlZF9uZXR3b3JrICpzaGFyZWQpOworLXN0YXRpYyBpc2NfYm9vbGVhbl90IGZpeGVkX21hdGNoZXNfc2hhcmVkKHN0cnVjdCBob3N0X2RlY2wgKmhvc3QsCisrc3RhdGljIGJvb2wgZml4ZWRfbWF0Y2hlc19zaGFyZWQoc3RydWN0IGhvc3RfZGVjbCAqaG9zdCwKKyAJCQkJCSAgc3RydWN0IHNoYXJlZF9uZXR3b3JrICpzaGFyZWQpOworIHN0YXRpYyBpc2NfcmVzdWx0X3QgcmVwbHlfcHJvY2Vzc19pYV9uYShzdHJ1Y3QgcmVwbHlfc3RhdGUgKnJlcGx5LAorIAkJCQkJc3RydWN0IG9wdGlvbl9jYWNoZSAqaWEpOworQEAgLTEzMSw5ICsxMzEsOSBAQCBzdGF0aWMgaXNjX3Jlc3VsdF90IHJlcGx5X3Byb2Nlc3NfaWFfdGEoCisgCQkJCQlzdHJ1Y3Qgb3B0aW9uX2NhY2hlICppYSk7Cisgc3RhdGljIGlzY19yZXN1bHRfdCByZXBseV9wcm9jZXNzX2FkZHIoc3RydWN0IHJlcGx5X3N0YXRlICpyZXBseSwKKyAJCQkJICAgICAgIHN0cnVjdCBvcHRpb25fY2FjaGUgKmFkZHIpOworLXN0YXRpYyBpc2NfYm9vbGVhbl90IGFkZHJlc3NfaXNfb3duZWQoc3RydWN0IHJlcGx5X3N0YXRlICpyZXBseSwKKytzdGF0aWMgYm9vbCBhZGRyZXNzX2lzX293bmVkKHN0cnVjdCByZXBseV9zdGF0ZSAqcmVwbHksCisgCQkJCSAgICAgIHN0cnVjdCBpYWRkciAqYWRkcik7Cistc3RhdGljIGlzY19ib29sZWFuX3QgdGVtcG9yYXJ5X2lzX2F2YWlsYWJsZShzdHJ1Y3QgcmVwbHlfc3RhdGUgKnJlcGx5LAorK3N0YXRpYyBib29sIHRlbXBvcmFyeV9pc19hdmFpbGFibGUoc3RydWN0IHJlcGx5X3N0YXRlICpyZXBseSwKKyAJCQkJCSAgICBzdHJ1Y3QgaWFkZHIgKmFkZHIpOworIHN0YXRpYyBpc2NfcmVzdWx0X3QgZmluZF9jbGllbnRfdGVtcG9yYXJpZXMoc3RydWN0IHJlcGx5X3N0YXRlICpyZXBseSk7Cisgc3RhdGljIGlzY19yZXN1bHRfdCByZXBseV9wcm9jZXNzX3RyeV9hZGRyKHN0cnVjdCByZXBseV9zdGF0ZSAqcmVwbHksCitAQCAtMTUxLDcgKzE1MSw3IEBAIHN0YXRpYyBpc2NfcmVzdWx0X3QgcmVwbHlfcHJvY2Vzc19pYV9wZCgKKyBzdGF0aWMgc3RydWN0IGdyb3VwICpmaW5kX2dyb3VwX2J5X3ByZWZpeChzdHJ1Y3QgcmVwbHlfc3RhdGUgKnJlcGx5KTsKKyBzdGF0aWMgaXNjX3Jlc3VsdF90IHJlcGx5X3Byb2Nlc3NfcHJlZml4KHN0cnVjdCByZXBseV9zdGF0ZSAqcmVwbHksCisgCQkJCQkgc3RydWN0IG9wdGlvbl9jYWNoZSAqcHJlZik7Cistc3RhdGljIGlzY19ib29sZWFuX3QgcHJlZml4X2lzX293bmVkKHN0cnVjdCByZXBseV9zdGF0ZSAqcmVwbHksCisrc3RhdGljIGJvb2wgcHJlZml4X2lzX293bmVkKHN0cnVjdCByZXBseV9zdGF0ZSAqcmVwbHksCisgCQkJCSAgICAgc3RydWN0IGlhZGRyY2lkcm5ldCAqcHJlZik7Cisgc3RhdGljIGlzY19yZXN1bHRfdCBmaW5kX2NsaWVudF9wcmVmaXgoc3RydWN0IHJlcGx5X3N0YXRlICpyZXBseSk7Cisgc3RhdGljIGlzY19yZXN1bHRfdCByZXBseV9wcm9jZXNzX3RyeV9wcmVmaXgoc3RydWN0IHJlcGx5X3N0YXRlICpyZXBseSwKK0BAIC0xNzQsNyArMTc0LDcgQEAgc3RhdGljIHZvaWQgdW5pY2FzdF9yZWplY3Qoc3RydWN0IGRhdGFfcworIAkJICBjb25zdCBzdHJ1Y3QgZGF0YV9zdHJpbmcgKmNsaWVudF9pZCwKKyAJCSAgY29uc3Qgc3RydWN0IGRhdGFfc3RyaW5nICpzZXJ2ZXJfaWQpOworIAorLXN0YXRpYyBpc2NfYm9vbGVhbl90IGlzX3VuaWNhc3Rfb3B0aW9uX2RlZmluZWQoc3RydWN0IHBhY2tldCAqcGFja2V0KTsKKytzdGF0aWMgYm9vbCBpc191bmljYXN0X29wdGlvbl9kZWZpbmVkKHN0cnVjdCBwYWNrZXQgKnBhY2tldCk7Cisgc3RhdGljIGlzY19yZXN1bHRfdCBzaGFyZWRfbmV0d29ya19mcm9tX3JlcXVlc3RlZF9hZGRyIChzdHJ1Y3Qgc2hhcmVkX25ldHdvcmsKKyAJCQkJCQkJKipzaGFyZWQsCisgCQkJCQkJCXN0cnVjdCBwYWNrZXQqIHBhY2tldCk7CitAQCAtMzYzLDcgKzM2Myw3IEBAIHN0YXRpYyBzdHJ1Y3QgZGF0YV9zdHJpbmcgc2VydmVyX2R1aWQ7CisgLyoKKyAgKiBDaGVjayBpZiB0aGUgc2VydmVyX2R1aWQgaGFzIGJlZW4gc2V0LgorICAqLworLWlzY19ib29sZWFuX3QKKytib29sCisgc2VydmVyX2R1aWRfaXNzZXQodm9pZCkgeworIAlyZXR1cm4gKHNlcnZlcl9kdWlkLmRhdGEgIT0gTlVMTCk7CisgfQorQEAgLTk5Miw3ICs5OTIsNyBAQCB2b2lkIGNoZWNrX3Bvb2w2X3RocmVzaG9sZChzdHJ1Y3QgcmVwbHlfCisgCQkJICAgc3RydWN0IGlhc3Vib3B0ICpsZWFzZSkKKyB7CisgCXN0cnVjdCBpcHY2X3BvbmQgKnBvbmQ7CistCWlzY191aW50NjRfdCB1c2VkLCBjb3VudCwgaGlnaF90aHJlc2hvbGQ7CisrCXVpbnQ2NF90IHVzZWQsIGNvdW50LCBoaWdoX3RocmVzaG9sZDsKKyAJaW50IHBvb2xoaWdoID0gMCwgcG9vbGxvdyA9IDA7CisgCWNoYXIgKnNoYXJlZF9uYW1lID0gIm5vIG5hbWUiOworIAljaGFyIHRtcF9hZGRyW0lORVQ2X0FERFJTVFJMRU5dOworQEAgLTEzMTAsOSArMTMxMCw5IEBAIHBpY2tfdjZfYWRkcmVzcyhzdHJ1Y3QgcmVwbHlfc3RhdGUgKnJlcGwKKyAJdW5zaWduZWQgaW50IGF0dGVtcHRzOworIAljaGFyIHRtcF9idWZbSU5FVDZfQUREUlNUUkxFTl07CisgCXN0cnVjdCBpYXN1Ym9wdCAqKmFkZHIgPSAmcmVwbHktPmxlYXNlOworLSAgICAgICAgaXNjX3VpbnQ2NF90IHRvdGFsID0gMDsKKy0gICAgICAgIGlzY191aW50NjRfdCBhY3RpdmUgPSAwOworLSAgICAgICAgaXNjX3VpbnQ2NF90IGFiYW5kb25lZCA9IDA7CisrICAgICAgICB1aW50NjRfdCB0b3RhbCA9IDA7CisrICAgICAgICB1aW50NjRfdCBhY3RpdmUgPSAwOworKyAgICAgICAgdWludDY0X3QgYWJhbmRvbmVkID0gMDsKKyAJaW50IGp1bWJvX3JhbmdlID0gMDsKKyAJY2hhciAqc2hhcmVkX25hbWUgPSAocmVwbHktPnNoYXJlZC0+bmFtZSA/CisgCQkJICAgICByZXBseS0+c2hhcmVkLT5uYW1lIDogIihubyBuYW1lKSIpOworQEAgLTE4MjUsNyArMTgyNSw3IEBAIGxlYXNlX3RvX2NsaWVudChzdHJ1Y3QgZGF0YV9zdHJpbmcgKnJlcGwKKyAKKyAJCS8qIFN0YXJ0IGNvdW50aW5nIHJlc291cmNlcyAoYWRkcmVzc2VzKSBvZmZlcmVkLiAqLworIAkJcmVwbHkuY2xpZW50X3Jlc291cmNlcyA9IDA7CistCQlyZXBseS5yZXNvdXJjZXNfaW5jbHVkZWQgPSBJU0NfRkFMU0U7CisrCQlyZXBseS5yZXNvdXJjZXNfaW5jbHVkZWQgPSBmYWxzZTsKKyAKKyAJCXN0YXR1cyA9IHJlcGx5X3Byb2Nlc3NfaWFfbmEoJnJlcGx5LCBvYyk7CisgCitAQCAtMTg0Myw3ICsxODQzLDcgQEAgbGVhc2VfdG9fY2xpZW50KHN0cnVjdCBkYXRhX3N0cmluZyAqcmVwbAorIAorIAkJLyogU3RhcnQgY291bnRpbmcgcmVzb3VyY2VzIChhZGRyZXNzZXMpIG9mZmVyZWQuICovCisgCQlyZXBseS5jbGllbnRfcmVzb3VyY2VzID0gMDsKKy0JCXJlcGx5LnJlc291cmNlc19pbmNsdWRlZCA9IElTQ19GQUxTRTsKKysJCXJlcGx5LnJlc291cmNlc19pbmNsdWRlZCA9IGZhbHNlOworIAorIAkJc3RhdHVzID0gcmVwbHlfcHJvY2Vzc19pYV90YSgmcmVwbHksIG9jKTsKKyAKK0BAIC0xODY0LDcgKzE4NjQsNyBAQCBsZWFzZV90b19jbGllbnQoc3RydWN0IGRhdGFfc3RyaW5nICpyZXBsCisgCisgCQkvKiBTdGFydCBjb3VudGluZyByZXNvdXJjZXMgKHByZWZpeGVzKSBvZmZlcmVkLiAqLworIAkJcmVwbHkuY2xpZW50X3Jlc291cmNlcyA9IDA7CistCQlyZXBseS5yZXNvdXJjZXNfaW5jbHVkZWQgPSBJU0NfRkFMU0U7CisrCQlyZXBseS5yZXNvdXJjZXNfaW5jbHVkZWQgPSBmYWxzZTsKKyAKKyAJCXN0YXR1cyA9IHJlcGx5X3Byb2Nlc3NfaWFfcGQoJnJlcGx5LCBvYyk7CisgCitAQCAtMjA3Nyw5ICsyMDc3LDkgQEAgcmVwbHlfcHJvY2Vzc19pYV9uYShzdHJ1Y3QgcmVwbHlfc3RhdGUgKgorIAkJCQkJdG1wX2FkZHIsIE1ETCkgPT0gMCkKKyAJCQlsb2dfZmF0YWwoIkltcG9zc2libGUgY29uZGl0aW9uIGF0ICVzOiVkLiIsIE1ETCk7CisgCistCQlyZXBseS0+c3RhdGljX2xlYXNlID0gSVNDX1RSVUU7CisrCQlyZXBseS0+c3RhdGljX2xlYXNlID0gdHJ1ZTsKKyAJfSBlbHNlCistCQlyZXBseS0+c3RhdGljX2xlYXNlID0gSVNDX0ZBTFNFOworKwkJcmVwbHktPnN0YXRpY19sZWFzZSA9IGZhbHNlOworIAorIAkvKgorIAkgKiBTYXZlIHRoZSBjdXJzb3IgcG9zaXRpb24gYXQgdGhlIHN0YXJ0IG9mIHRoZSBJQSwgc28gd2UgY2FuCitAQCAtMjc3OCw3ICsyNzc4LDcgQEAgcmVwbHlfcHJvY2Vzc19hZGRyKHN0cnVjdCByZXBseV9zdGF0ZSAqcgorICAqIChmYXVsdCBvdXQgYWxsIGVsc2UpLiAgT3RoZXJ3aXNlIGl0J3MgYSBkeW5hbWljIGFkZHJlc3MsIHNvIGxvb2t1cAorICAqIHRoYXQgYWRkcmVzcyBhbmQgbWFrZSBzdXJlIGl0IGJlbG9uZ3MgdG8gdGhpcyBEVUlEOklBSUQgcGFpci4KKyAgKi8KKy1zdGF0aWMgaXNjX2Jvb2xlYW5fdAorK3N0YXRpYyBib29sCisgYWRkcmVzc19pc19vd25lZChzdHJ1Y3QgcmVwbHlfc3RhdGUgKnJlcGx5LCBzdHJ1Y3QgaWFkZHIgKmFkZHIpIHsKKyAJaW50IGk7CisgCXN0cnVjdCBpcHY2X3BvbmQgKnBvbmQ7CitAQCAtMjc5MSwxMyArMjc5MSwxMyBAQCBhZGRyZXNzX2lzX293bmVkKHN0cnVjdCByZXBseV9zdGF0ZSAqcmVwCisgCQkJbG9nX2ZhdGFsKCJJbXBvc3NpYmxlIGNvbmRpdGlvbiBhdCAlczolZC4iLCBNREwpOworIAorIAkJaWYgKG1lbWNtcChhZGRyLT5pYWJ1ZiwgcmVwbHktPmZpeGVkLmRhdGEsIDE2KSA9PSAwKQorLQkJCXJldHVybiAoSVNDX1RSVUUpOworKwkJCXJldHVybiAodHJ1ZSk7CisgCistCQlyZXR1cm4gKElTQ19GQUxTRSk7CisrCQlyZXR1cm4gKGZhbHNlKTsKKyAJfQorIAorIAlpZiAoKHJlcGx5LT5vbGRfaWEgPT0gTlVMTCkgfHwgKHJlcGx5LT5vbGRfaWEtPm51bV9pYXN1Ym9wdCA9PSAwKSkKKy0JCXJldHVybiAoSVNDX0ZBTFNFKTsKKysJCXJldHVybiAoZmFsc2UpOworIAorIAlmb3IgKGkgPSAwIDsgaSA8IHJlcGx5LT5vbGRfaWEtPm51bV9pYXN1Ym9wdCA7IGkrKykgeworIAkJc3RydWN0IGlhc3Vib3B0ICp0bXA7CitAQCAtMjgwNSw4ICsyODA1LDggQEAgYWRkcmVzc19pc19vd25lZChzdHJ1Y3QgcmVwbHlfc3RhdGUgKnJlcAorIAkJdG1wID0gcmVwbHktPm9sZF9pYS0+aWFzdWJvcHRbaV07CisgCisgCQlpZiAobWVtY21wKGFkZHItPmlhYnVmLCAmdG1wLT5hZGRyLCAxNikgPT0gMCkgeworLQkJCWlmIChsZWFzZTZfdXNhYmxlKHRtcCkgPT0gSVNDX0ZBTFNFKSB7CistCQkJCXJldHVybiAoSVNDX0ZBTFNFKTsKKysJCQlpZiAobGVhc2U2X3VzYWJsZSh0bXApID09IGZhbHNlKSB7CisrCQkJCXJldHVybiAoZmFsc2UpOworIAkJCX0KKyAKKyAJCQlwb25kID0gdG1wLT5pcHY2X3Bvb2wtPmlwdjZfcG9uZDsKK0BAIC0yODE0LDE1ICsyODE0LDE1IEBAIGFkZHJlc3NfaXNfb3duZWQoc3RydWN0IHJlcGx5X3N0YXRlICpyZXAKKyAJCQkgICAgIChwZXJtaXR0ZWQocmVwbHktPnBhY2tldCwgcG9uZC0+cHJvaGliaXRfbGlzdCkpKSB8fAorIAkJCSAgICAoKHBvbmQtPnBlcm1pdF9saXN0ICE9IE5VTEwpICYmCisgCQkJICAgICAoIXBlcm1pdHRlZChyZXBseS0+cGFja2V0LCBwb25kLT5wZXJtaXRfbGlzdCkpKSkKKy0JCQkJcmV0dXJuIChJU0NfRkFMU0UpOworKwkJCQlyZXR1cm4gKGZhbHNlKTsKKyAKKyAJCQlpYXN1Ym9wdF9yZWZlcmVuY2UoJnJlcGx5LT5sZWFzZSwgdG1wLCBNREwpOworIAorLQkJCXJldHVybiAoSVNDX1RSVUUpOworKwkJCXJldHVybiAodHJ1ZSk7CisgCQl9CisgCX0KKyAKKy0JcmV0dXJuIChJU0NfRkFMU0UpOworKwlyZXR1cm4gKGZhbHNlKTsKKyB9CisgCisgLyogUHJvY2VzcyBhIGNsaWVudC1zdXBwbGllZCBJQV9UQS4gIFRoaXMgbWF5IGFwcGVuZCBvcHRpb25zIHRvIHRoZSB0YWlsIG9mCitAQCAtMjg5MCw3ICsyODkwLDcgQEAgcmVwbHlfcHJvY2Vzc19pYV90YShzdHJ1Y3QgcmVwbHlfc3RhdGUgKgorIAkvKgorIAkgKiBUZW1wb3JhcnkgbGVhc2VzIGFyZSBkeW5hbWljIGJ5IGRlZmluaXRpb24uCisgCSAqLworLQlyZXBseS0+c3RhdGljX2xlYXNlID0gSVNDX0ZBTFNFOworKwlyZXBseS0+c3RhdGljX2xlYXNlID0gZmFsc2U7CisgCisgCS8qCisgCSAqIFNhdmUgdGhlIGN1cnNvciBwb3NpdGlvbiBhdCB0aGUgc3RhcnQgb2YgdGhlIElBLCBzbyB3ZSBjYW4KK0BAIC0yOTcyLDcgKzI5NzIsNyBAQCByZXBseV9wcm9jZXNzX2lhX3RhKHN0cnVjdCByZXBseV9zdGF0ZSAqCisgCQl9CisgCQlzdGF0dXMgPSBJU0NfUl9DQU5DRUxFRDsKKyAJCXJlcGx5LT5jbGllbnRfcmVzb3VyY2VzID0gMDsKKy0JCXJlcGx5LT5yZXNvdXJjZXNfaW5jbHVkZWQgPSBJU0NfRkFMU0U7CisrCQlyZXBseS0+cmVzb3VyY2VzX2luY2x1ZGVkID0gZmFsc2U7CisgCQlpZiAocmVwbHktPmxlYXNlICE9IE5VTEwpCisgCQkJaWFzdWJvcHRfZGVyZWZlcmVuY2UoJnJlcGx5LT5sZWFzZSwgTURMKTsKKyAJfQorQEAgLTMzNjQsNyArMzM2NCw3IEBAIHZvaWQgc2hvcnRlbl9saWZldGltZXMoc3RydWN0IHJlcGx5X3N0YXQKKyAvKgorICAqIFZlcmlmeSB0aGUgdGVtcG9yYXJ5IGFkZHJlc3MgaXMgYXZhaWxhYmxlLgorICAqLworLXN0YXRpYyBpc2NfYm9vbGVhbl90Cisrc3RhdGljIGJvb2wKKyB0ZW1wb3JhcnlfaXNfYXZhaWxhYmxlKHN0cnVjdCByZXBseV9zdGF0ZSAqcmVwbHksIHN0cnVjdCBpYWRkciAqYWRkcikgeworIAlzdHJ1Y3QgaW42X2FkZHIgdG1wX2FkZHI7CisgCXN0cnVjdCBzdWJuZXQgKnN1Ym5ldDsKK0BAIC0zMzc5LDcgKzMzNzksNyBAQCB0ZW1wb3JhcnlfaXNfYXZhaWxhYmxlKHN0cnVjdCByZXBseV9zdGF0CisgCSAqIFNvIHRoaXMgaXMgbm90IGEgcmVxdWVzdCBmb3IgdGhpcyBhZGRyZXNzLgorIAkgKi8KKyAJaWYgKElONl9JU19BRERSX1VOU1BFQ0lGSUVEKCZ0bXBfYWRkcikpCistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAorIAkvKgorIAkgKiBWZXJpZnkgdGhhdCB0aGlzIGFkZHJlc3MgaXMgb24gdGhlIGNsaWVudCdzIG5ldHdvcmsuCitAQCAtMzM5MywxMyArMzM5MywxMyBAQCB0ZW1wb3JhcnlfaXNfYXZhaWxhYmxlKHN0cnVjdCByZXBseV9zdGF0CisgCisgCS8qIEFkZHJlc3Mgbm90IGZvdW5kIG9uIHNoYXJlZCBuZXR3b3JrLiAqLworIAlpZiAoc3VibmV0ID09IE5VTEwpCistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAorIAkvKgorIAkgKiBDaGVjayBpZiB0aGlzIGFkZHJlc3MgaXMgb3duZWQgKG11c3QgYmUgYmVmb3JlIG5leHQgc3RlcCkuCisgCSAqLworIAlpZiAoYWRkcmVzc19pc19vd25lZChyZXBseSwgYWRkcikpCistCQlyZXR1cm4gSVNDX1RSVUU7CisrCQlyZXR1cm4gdHJ1ZTsKKyAKKyAJLyoKKyAJICogVmVyaWZ5IHRoYXQgdGhpcyBhZGRyZXNzIGlzIGluIGEgdGVtcG9yYXJ5IHBvb2wgYW5kIHRyeSB0byBnZXQgaXQuCitAQCAtMzQyNCwxOCArMzQyNCwxOCBAQCB0ZW1wb3JhcnlfaXNfYXZhaWxhYmxlKHN0cnVjdCByZXBseV9zdGF0CisgCX0KKyAKKyAJaWYgKHBvb2wgPT0gTlVMTCkKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCWlmIChsZWFzZTZfZXhpc3RzKHBvb2wsICZ0bXBfYWRkcikpCistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAlpZiAoaWFzdWJvcHRfYWxsb2NhdGUoJnJlcGx5LT5sZWFzZSwgTURMKSAhPSBJU0NfUl9TVUNDRVNTKQorLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAJcmVwbHktPmxlYXNlLT5hZGRyID0gdG1wX2FkZHI7CisgCXJlcGx5LT5sZWFzZS0+cGxlbiA9IDA7CisgCS8qIERlZmF1bHQgaXMgc29mdCBiaW5kaW5nIGZvciAyIG1pbnV0ZXMuICovCisgCWlmIChhZGRfbGVhc2U2KHBvb2wsIHJlcGx5LT5sZWFzZSwgY3VyX3RpbWUgKyAxMjApICE9IElTQ19SX1NVQ0NFU1MpCistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAorLQlyZXR1cm4gSVNDX1RSVUU7CisrCXJldHVybiB0cnVlOworIH0KKyAKKyAvKgorQEAgLTM2NTIsNyArMzY1Miw3IEBAIGZpbmRfY2xpZW50X2FkZHJlc3Moc3RydWN0IHJlcGx5X3N0YXRlICoKKyAJCQkgKi8KKyAKKyAJCQlpZiAoKGNhbmRpZGF0ZV9zaGFyZWQgIT0gcmVwbHktPnNoYXJlZCkgfHwKKy0JCQkgICAgKGxlYXNlNl91c2FibGUobGVhc2UpICE9IElTQ19UUlVFKSkKKysJCQkgICAgKGxlYXNlNl91c2FibGUobGVhc2UpICE9IHRydWUpKQorIAkJCQljb250aW51ZTsKKyAKKyAJCQlpZiAoKChwb25kLT5wcm9oaWJpdF9saXN0ICE9IE5VTEwpICYmCitAQCAtMzk3MSw3ICszOTcxLDcgQEAgcmVwbHlfcHJvY2Vzc19zZW5kX2FkZHIoc3RydWN0IHJlcGx5X3N0YQorIAkJZ290byBjbGVhbnVwOworIAl9CisgCistCXJlcGx5LT5yZXNvdXJjZXNfaW5jbHVkZWQgPSBJU0NfVFJVRTsKKysJcmVwbHktPnJlc291cmNlc19pbmNsdWRlZCA9IHRydWU7CisgCisgICAgICAgY2xlYW51cDoKKyAJaWYgKGRhdGEuZGF0YSAhPSBOVUxMKQorQEAgLTQ3MjIsNyArNDcyMiw3IEBAIHJlcGx5X3Byb2Nlc3NfcHJlZml4KHN0cnVjdCByZXBseV9zdGF0ZQorICAqIChmYXVsdCBvdXQgYWxsIGVsc2UpLiAgT3RoZXJ3aXNlIGl0J3MgYSBkeW5hbWljIHByZWZpeCwgc28gbG9va3VwCisgICogdGhhdCBwcmVmaXggYW5kIG1ha2Ugc3VyZSBpdCBiZWxvbmdzIHRvIHRoaXMgRFVJRDpJQUlEIHBhaXIuCisgICovCistc3RhdGljIGlzY19ib29sZWFuX3QKKytzdGF0aWMgYm9vbAorIHByZWZpeF9pc19vd25lZChzdHJ1Y3QgcmVwbHlfc3RhdGUgKnJlcGx5LCBzdHJ1Y3QgaWFkZHJjaWRybmV0ICpwcmVmKSB7CisgCXN0cnVjdCBpYWRkcmNpZHJuZXRsaXN0ICpsOworIAlpbnQgaTsKK0BAIC00NzM2LDE0ICs0NzM2LDE0IEBAIHByZWZpeF9pc19vd25lZChzdHJ1Y3QgcmVwbHlfc3RhdGUgKnJlcGwKKyAJCQlpZiAoKHByZWYtPmJpdHMgPT0gbC0+Y2lkcm5ldC5iaXRzKSAmJgorIAkJCSAgICAobWVtY21wKHByZWYtPmxvX2FkZHIuaWFidWYsCisgCQkJCSAgICBsLT5jaWRybmV0LmxvX2FkZHIuaWFidWYsIDE2KSA9PSAwKSkKKy0JCQkJcmV0dXJuIChJU0NfVFJVRSk7CisrCQkJCXJldHVybiAodHJ1ZSk7CisgCQl9CistCQlyZXR1cm4gKElTQ19GQUxTRSk7CisrCQlyZXR1cm4gKGZhbHNlKTsKKyAJfQorIAorIAlpZiAoKHJlcGx5LT5vbGRfaWEgPT0gTlVMTCkgfHwKKyAJICAgIChyZXBseS0+b2xkX2lhLT5udW1faWFzdWJvcHQgPT0gMCkpCistCQlyZXR1cm4gKElTQ19GQUxTRSk7CisrCQlyZXR1cm4gKGZhbHNlKTsKKyAKKyAJZm9yIChpID0gMCA7IGkgPCByZXBseS0+b2xkX2lhLT5udW1faWFzdWJvcHQgOyBpKyspIHsKKyAJCXN0cnVjdCBpYXN1Ym9wdCAqdG1wOworQEAgLTQ3NTIsOCArNDc1Miw4IEBAIHByZWZpeF9pc19vd25lZChzdHJ1Y3QgcmVwbHlfc3RhdGUgKnJlcGwKKyAKKyAJCWlmICgocHJlZi0+Yml0cyA9PSAoaW50KSB0bXAtPnBsZW4pICYmCisgCQkgICAgKG1lbWNtcChwcmVmLT5sb19hZGRyLmlhYnVmLCAmdG1wLT5hZGRyLCAxNikgPT0gMCkpIHsKKy0JCQlpZiAobGVhc2U2X3VzYWJsZSh0bXApID09IElTQ19GQUxTRSkgeworLQkJCQlyZXR1cm4gKElTQ19GQUxTRSk7CisrCQkJaWYgKGxlYXNlNl91c2FibGUodG1wKSA9PSBmYWxzZSkgeworKwkJCQlyZXR1cm4gKGZhbHNlKTsKKyAJCQl9CisgCisgCQkJcG9uZCA9IHRtcC0+aXB2Nl9wb29sLT5pcHY2X3BvbmQ7CitAQCAtNDc2MSwxNCArNDc2MSwxNCBAQCBwcmVmaXhfaXNfb3duZWQoc3RydWN0IHJlcGx5X3N0YXRlICpyZXBsCisgCQkJICAgICAocGVybWl0dGVkKHJlcGx5LT5wYWNrZXQsIHBvbmQtPnByb2hpYml0X2xpc3QpKSkgfHwKKyAJCQkgICAgKChwb25kLT5wZXJtaXRfbGlzdCAhPSBOVUxMKSAmJgorIAkJCSAgICAgKCFwZXJtaXR0ZWQocmVwbHktPnBhY2tldCwgcG9uZC0+cGVybWl0X2xpc3QpKSkpCistCQkJCXJldHVybiAoSVNDX0ZBTFNFKTsKKysJCQkJcmV0dXJuIChmYWxzZSk7CisgCisgCQkJaWFzdWJvcHRfcmVmZXJlbmNlKCZyZXBseS0+bGVhc2UsIHRtcCwgTURMKTsKKy0JCQlyZXR1cm4gKElTQ19UUlVFKTsKKysJCQlyZXR1cm4gKHRydWUpOworIAkJfQorIAl9CisgCistCXJldHVybiAoSVNDX0ZBTFNFKTsKKysJcmV0dXJuIChmYWxzZSk7CisgfQorIAorIC8qCitAQCAtNDkxNCw3ICs0OTE0LDcgQEAgZmluZF9jbGllbnRfcHJlZml4KHN0cnVjdCByZXBseV9zdGF0ZSAqcgorIAkJCSAqLworIAkJCWlmICgoKGNhbmRpZGF0ZV9zaGFyZWQgIT0gTlVMTCkgJiYKKyAJCQkgICAgIChjYW5kaWRhdGVfc2hhcmVkICE9IHJlcGx5LT5zaGFyZWQpKSB8fAorLQkJCSAgICAobGVhc2U2X3VzYWJsZShwcmVmaXgpICE9IElTQ19UUlVFKSkKKysJCQkgICAgKGxlYXNlNl91c2FibGUocHJlZml4KSAhPSB0cnVlKSkKKyAJCQkJY29udGludWU7CisgCisgCQkJLyoKK0BAIC01MjMzLDcgKzUyMzMsNyBAQCByZXBseV9wcm9jZXNzX3NlbmRfcHJlZml4KHN0cnVjdCByZXBseV9zCisgCQlnb3RvIGNsZWFudXA7CisgCX0KKyAKKy0JcmVwbHktPnJlc291cmNlc19pbmNsdWRlZCA9IElTQ19UUlVFOworKwlyZXBseS0+cmVzb3VyY2VzX2luY2x1ZGVkID0gdHJ1ZTsKKyAKKyAgICAgICBjbGVhbnVwOgorIAlpZiAoZGF0YS5kYXRhICE9IE5VTEwpCitAQCAtNTM4Myw4ICs1MzgzLDggQEAgZGhjcHY2X3JlcXVlc3Qoc3RydWN0IGRhdGFfc3RyaW5nICpyZXBseQorIAorIAkvKiBJZiB0aGUgUkVRVUVTVCBhcnJpdmVkIHZpYSB1bmljYXN0IGFuZCB1bmljYXN0IG9wdGlvbiBpc24ndCBzZXQsCisgIAkgKiByZWplY3QgaXQgcGVyIFJGQyAzMzE1LCBTZWMgMTguMi4xICovCistCWlmIChwYWNrZXQtPnVuaWNhc3QgPT0gSVNDX1RSVUUgJiYKKy0JICAgIGlzX3VuaWNhc3Rfb3B0aW9uX2RlZmluZWQocGFja2V0KSA9PSBJU0NfRkFMU0UpIHsKKysJaWYgKHBhY2tldC0+dW5pY2FzdCA9PSB0cnVlICYmCisrCSAgICBpc191bmljYXN0X29wdGlvbl9kZWZpbmVkKHBhY2tldCkgPT0gZmFsc2UpIHsKKyAJCXVuaWNhc3RfcmVqZWN0KHJlcGx5X3JldCwgcGFja2V0LCAmY2xpZW50X2lkLCAmc2VydmVyX2lkKTsKKyAJfSBlbHNlIHsKKyAJCS8qCitAQCAtNTUwNSw3ICs1NTA1LDcgQEAgZGhjcHY2X2NvbmZpcm0oc3RydWN0IGRhdGFfc3RyaW5nICpyZXBseQorIAlzdHJ1Y3Qgb3B0aW9uX3N0YXRlICpjbGlfZW5jX29wdF9zdGF0ZSwgKm9wdF9zdGF0ZTsKKyAJc3RydWN0IGlhZGRyIGNsaV9hZGRyOworIAlpbnQgcGFzczsKKy0JaXNjX2Jvb2xlYW5fdCBpbmFwcHJvcHJpYXRlLCBoYXNfYWRkcnM7CisrCWJvb2wgaW5hcHByb3ByaWF0ZSwgaGFzX2FkZHJzOworIAljaGFyIHJlcGx5X2RhdGFbNjU1MzZdOworIAlzdHJ1Y3QgZGhjcHY2X3BhY2tldCAqcmVwbHkgPSAoc3RydWN0IGRoY3B2Nl9wYWNrZXQgKilyZXBseV9kYXRhOworIAlpbnQgcmVwbHlfb2ZzID0gKGludCkob2Zmc2V0b2Yoc3RydWN0IGRoY3B2Nl9wYWNrZXQsIG9wdGlvbnMpKTsKK0BAIC01NTU2LDcgKzU1NTYsNyBAQCBkaGNwdjZfY29uZmlybShzdHJ1Y3QgZGF0YV9zdHJpbmcgKnJlcGx5CisgCQlnb3RvIGV4aXQ7CisgCisgCS8qIEFyZSB0aGUgYWRkcmVzc2VzIGluIGFsbCB0aGUgSUEncyBhcHByb3ByaWF0ZSBmb3IgdGhhdCBsaW5rPyAqLworLQloYXNfYWRkcnMgPSBpbmFwcHJvcHJpYXRlID0gSVNDX0ZBTFNFOworKwloYXNfYWRkcnMgPSBpbmFwcHJvcHJpYXRlID0gZmFsc2U7CisgCXBhc3MgPSBENk9fSUFfTkE7CisgCXdoaWxlKCFpbmFwcHJvcHJpYXRlKSB7CisgCQkvKiBJZiB3ZSd2ZSByZWFjaGVkIHRoZSBlbmQgb2YgdGhlIElBX05BIHBhc3MsIG1vdmUgdG8gdGhlCitAQCAtNTYwMiw3ICs1NjAyLDcgQEAgZGhjcHY2X2NvbmZpcm0oc3RydWN0IGRhdGFfc3RyaW5nICpyZXBseQorIAkJCWRhdGFfc3RyaW5nX2ZvcmdldCgmaWFhZGRyLCBNREwpOworIAorIAkJCS8qIFJlY29yZCB0aGF0IHdlJ3ZlIHByb2Nlc3NlZCBhdCBsZWFzdCBvbmUgYWRkcmVzcy4gKi8KKy0JCQloYXNfYWRkcnMgPSBJU0NfVFJVRTsKKysJCQloYXNfYWRkcnMgPSB0cnVlOworIAorIAkJCS8qIEZpbmQgb3V0IGlmIGFueSBzdWJuZXRzIGNvdmVyIHRoaXMgYWRkcmVzcy4gKi8KKyAJCQlmb3IgKHN1Ym5ldCA9IHNoYXJlZC0+c3VibmV0cyA7IHN1Ym5ldCAhPSBOVUxMIDsKK0BAIC01NjIxLDcgKzU2MjEsNyBAQCBkaGNwdjZfY29uZmlybShzdHJ1Y3QgZGF0YV9zdHJpbmcgKnJlcGx5CisgCQkJICogY29udGludWUgc2VhcmNoaW5nLgorIAkJCSAqLworIAkJCWlmIChzdWJuZXQgPT0gTlVMTCkgeworLQkJCQlpbmFwcHJvcHJpYXRlID0gSVNDX1RSVUU7CisrCQkJCWluYXBwcm9wcmlhdGUgPSB0cnVlOworIAkJCQlicmVhazsKKyAJCQl9CisgCQl9CitAQCAtNTcxOSw4ICs1NzE5LDggQEAgZGhjcHY2X3JlbmV3KHN0cnVjdCBkYXRhX3N0cmluZyAqcmVwbHksCisgCisgCS8qIElmIHRoZSBSRU5FVyBhcnJpdmVkIHZpYSB1bmljYXN0IGFuZCB1bmljYXN0IG9wdGlvbiBpc24ndCBzZXQsCisgCSAqIHJlamVjdCBpdCBwZXIgUkZDIDMzMTUsIFNlYyAxOC4yLjMgKi8KKy0JaWYgKHBhY2tldC0+dW5pY2FzdCA9PSBJU0NfVFJVRSAmJgorLQkgICAgaXNfdW5pY2FzdF9vcHRpb25fZGVmaW5lZChwYWNrZXQpID09IElTQ19GQUxTRSkgeworKwlpZiAocGFja2V0LT51bmljYXN0ID09IHRydWUgJiYKKysJICAgIGlzX3VuaWNhc3Rfb3B0aW9uX2RlZmluZWQocGFja2V0KSA9PSBmYWxzZSkgeworIAkJdW5pY2FzdF9yZWplY3QocmVwbHksIHBhY2tldCwgJmNsaWVudF9pZCwgJnNlcnZlcl9pZCk7CisgCX0gZWxzZSB7CisgCQkvKgorQEAgLTYxNDIsOCArNjE0Miw4IEBAIGRoY3B2Nl9kZWNsaW5lKHN0cnVjdCBkYXRhX3N0cmluZyAqcmVwbHkKKyAKKyAJLyogSWYgdGhlIERFQ0xJTkUgYXJyaXZlZCB2aWEgdW5pY2FzdCBhbmQgdW5pY2FzdCBvcHRpb24gaXNuJ3Qgc2V0LAorIAkgKiByZWplY3QgaXQgcGVyIFJGQyAzMzE1LCBTZWMgMTguMi43ICovCistCWlmIChwYWNrZXQtPnVuaWNhc3QgPT0gSVNDX1RSVUUgJiYKKy0JICAgIGlzX3VuaWNhc3Rfb3B0aW9uX2RlZmluZWQocGFja2V0KSA9PSBJU0NfRkFMU0UpIHsKKysJaWYgKHBhY2tldC0+dW5pY2FzdCA9PSB0cnVlICYmCisrCSAgICBpc191bmljYXN0X29wdGlvbl9kZWZpbmVkKHBhY2tldCkgPT0gZmFsc2UpIHsKKyAJCXVuaWNhc3RfcmVqZWN0KHJlcGx5LCBwYWNrZXQsICZjbGllbnRfaWQsICZzZXJ2ZXJfaWQpOworIAl9IGVsc2UgeworIAkJLyoKK0BAIC02NTk3LDggKzY1OTcsOCBAQCBkaGNwdjZfcmVsZWFzZShzdHJ1Y3QgZGF0YV9zdHJpbmcgKnJlcGx5CisgCisgCS8qIElmIHRoZSBSRUxFQVNFIGFycml2ZWQgdmlhIHVuaWNhc3QgYW5kIHVuaWNhc3Qgb3B0aW9uIGlzbid0IHNldCwKKyAgCSAqIHJlamVjdCBpdCBwZXIgUkZDIDMzMTUsIFNlYyAxOC4yLjYgKi8KKy0JaWYgKHBhY2tldC0+dW5pY2FzdCA9PSBJU0NfVFJVRSAmJgorLQkgICAgaXNfdW5pY2FzdF9vcHRpb25fZGVmaW5lZChwYWNrZXQpID09IElTQ19GQUxTRSkgeworKwlpZiAocGFja2V0LT51bmljYXN0ID09IHRydWUgJiYKKysJICAgIGlzX3VuaWNhc3Rfb3B0aW9uX2RlZmluZWQocGFja2V0KSA9PSBmYWxzZSkgeworIAkJdW5pY2FzdF9yZWplY3QocmVwbHksIHBhY2tldCwgJmNsaWVudF9pZCwgJnNlcnZlcl9pZCk7CisgCX0gZWxzZSB7CisgCQkvKgorQEAgLTY4OTcsNyArNjg5Nyw3IEBAIGRoY3B2Nl9yZWxheV9mb3J3KHN0cnVjdCBkYXRhX3N0cmluZyAqcmUKKyAJCX0KKyAJCWRhdGFfc3RyaW5nX2ZvcmdldCgmYV9vcHQsIE1ETCk7CisgCistCQlwYWNrZXQtPnJlbGF5X3NvdXJjZV9wb3J0ID0gSVNDX1RSVUU7CisrCQlwYWNrZXQtPnJlbGF5X3NvdXJjZV9wb3J0ID0gdHJ1ZTsKKyAJfQorICNlbmRpZgorIAorQEAgLTcyMTksNyArNzIxOSw3IEBAIGRoY3A0bzZfcmVsYXlfZm9ydyhzdHJ1Y3QgZGF0YV9zdHJpbmcgKnIKKyAJCX0KKyAJCWRhdGFfc3RyaW5nX2ZvcmdldCgmYV9vcHQsIE1ETCk7CisgCistCQlwYWNrZXQtPnJlbGF5X3NvdXJjZV9wb3J0ID0gSVNDX1RSVUU7CisrCQlwYWNrZXQtPnJlbGF5X3NvdXJjZV9wb3J0ID0gdHJ1ZTsKKyAJfQorICNlbmRpZgorIAorQEAgLTgwMzYsMzUgKzgwMzYsMzUgQEAgc2Vla19zaGFyZWRfaG9zdChzdHJ1Y3QgaG9zdF9kZWNsICoqaHAsCisgCQlob3N0X3JlZmVyZW5jZShocCwgc2VlaywgTURMKTsKKyB9CisgCistc3RhdGljIGlzY19ib29sZWFuX3QKKytzdGF0aWMgYm9vbAorIGZpeGVkX21hdGNoZXNfc2hhcmVkKHN0cnVjdCBob3N0X2RlY2wgKmhvc3QsIHN0cnVjdCBzaGFyZWRfbmV0d29yayAqc2hhcmVkKSB7CisgCXN0cnVjdCBzdWJuZXQgKnN1Ym5ldDsKKyAJc3RydWN0IGRhdGFfc3RyaW5nIGFkZHI7CistCWlzY19ib29sZWFuX3QgbWF0Y2hlZDsKKysJYm9vbCBtYXRjaGVkOworIAlzdHJ1Y3QgaWFkZHIgZml4ZWQ7CisgCisgCWlmIChob3N0LT5maXhlZF9hZGRyID09IE5VTEwpCistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAorIAltZW1zZXQoJmFkZHIsIDAsIHNpemVvZihhZGRyKSk7CisgCWlmICghZXZhbHVhdGVfb3B0aW9uX2NhY2hlKCZhZGRyLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLAorIAkJCQkgICAmZ2xvYmFsX3Njb3BlLCBob3N0LT5maXhlZF9hZGRyLCBNREwpKQorLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAKKyAJaWYgKGFkZHIubGVuIDwgMTYpIHsKKyAJCWRhdGFfc3RyaW5nX2ZvcmdldCgmYWRkciwgTURMKTsKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCX0KKyAKKyAJZml4ZWQubGVuID0gMTY7CisgCW1lbWNweShmaXhlZC5pYWJ1ZiwgYWRkci5kYXRhLCAxNik7CisgCistCW1hdGNoZWQgPSBJU0NfRkFMU0U7CisrCW1hdGNoZWQgPSBmYWxzZTsKKyAJZm9yIChzdWJuZXQgPSBzaGFyZWQtPnN1Ym5ldHMgOyBzdWJuZXQgIT0gTlVMTCA7CisgCSAgICAgc3VibmV0ID0gc3VibmV0LT5uZXh0X3NpYmxpbmcpIHsKKyAJCWlmIChhZGRyX2VxKHN1Ym5ldF9udW1iZXIoZml4ZWQsIHN1Ym5ldC0+bmV0bWFzayksCisgCQkJICAgIHN1Ym5ldC0+bmV0KSkgeworLQkJCW1hdGNoZWQgPSBJU0NfVFJVRTsKKysJCQltYXRjaGVkID0gdHJ1ZTsKKyAJCQlicmVhazsKKyAJCX0KKyAJfQorQEAgLTgxNjcsMTUgKzgxNjcsMTUgQEAgdW5pY2FzdF9yZWplY3Qoc3RydWN0IGRhdGFfc3RyaW5nICpyZXBseQorICAqIHN0YXRlbWVudHMgZnJvbSB0aGUgbmV0d29yaydzIGdyb3VwIG91dHdhcmQgaW50byBhIGxvY2FsIG9wdGlvbiBjYWNoZS4KKyAgKiBUaGUgb3B0aW9uIGNhY2hlIGlzIHRoZW4gc2Nhbm5lZCBmb3IgdGhlIHByZXNlbmNlIG9mIHVuaWNhc3Qgb3B0aW9uLiAgSWYKKyAgKiB0aGUgcGFja2V0IGNhbm5vdCBiZSBtYXBwZWQgdG8gYSBzaGFyZWQgbmV0d29yaywgdGhlIGZ1bmN0aW9uIHJldHVybnMKKy0gKiBJU0NfRkFMU0UuCisrICogZmFsc2UuCisgICogXHBhcmFtIHBhY2tldCBpbmJvdW5kIHBhY2tldCBmcm9tIHRoZSBjbGllbnQKKyAgKgorLSAqIFxyZXR1cm4gSVNDX1RSVUUgaWYgdGhlIGRoY3A2LnVuaWNhc3Qgb3B0aW9uIGlzIGRlZmluZWQsIGZhbHNlIG90aGVyd2lzZS4KKysgKiBccmV0dXJuIHRydWUgaWYgdGhlIGRoY3A2LnVuaWNhc3Qgb3B0aW9uIGlzIGRlZmluZWQsIGZhbHNlIG90aGVyd2lzZS4KKyAgKgorICAqLworLWlzY19ib29sZWFuX3QKKytib29sCisgaXNfdW5pY2FzdF9vcHRpb25fZGVmaW5lZChzdHJ1Y3QgcGFja2V0ICpwYWNrZXQpIHsKKy0gICAgICAgIGlzY19ib29sZWFuX3QgaXNfZGVmaW5lZCA9IElTQ19GQUxTRTsKKysgICAgICAgIGJvb2wgaXNfZGVmaW5lZCA9IGZhbHNlOworIAlzdHJ1Y3Qgb3B0aW9uX3N0YXRlICpvcHRfc3RhdGUgPSBOVUxMOworIAlzdHJ1Y3Qgb3B0aW9uX2NhY2hlICpvYyA9IE5VTEw7CisgCXN0cnVjdCBzaGFyZWRfbmV0d29yayAqc2hhcmVkID0gTlVMTDsKK0BAIC04MTk1LDcgKzgxOTUsNyBAQCBpc191bmljYXN0X29wdGlvbl9kZWZpbmVkKHN0cnVjdCBwYWNrZXQKKyAJCSAqIGxvZ2ljIHdpbGwgY2F0Y2ggaXQgKi8KKyAJCWxvZ19lcnJvcigiaXNfdW5pY2FzdF9vcHRpb25fZGVmaW5lZDoiCisgCQkJICAiY2Fubm90IGF0dHJpYnV0ZSBwYWNrZXQgdG8gYSBuZXR3b3JrLiIpOworLQkJcmV0dXJuIChJU0NfRkFMU0UpOworKwkJcmV0dXJuIChmYWxzZSk7CisgCX0KKyAKKyAJLyogTm93IHRoYXQgd2UndmUgbWFwcGVkIGl0IHRvIGEgbmV0d29yaywgZXhlY3V0ZSBzdGF0bWVudHMgdG8gdGhhdAorQEAgLTgyMDUsNyArODIwNSw3IEBAIGlzX3VuaWNhc3Rfb3B0aW9uX2RlZmluZWQoc3RydWN0IHBhY2tldAorIAkJCQkgICAgJmdsb2JhbF9zY29wZSwgc2hhcmVkLT5ncm91cCwgTlVMTCwgTlVMTCk7CisgCisgCW9jID0gbG9va3VwX29wdGlvbigmZGhjcHY2X3VuaXZlcnNlLCBvcHRfc3RhdGUsIEQ2T19VTklDQVNUKTsKKy0JaXNfZGVmaW5lZCA9IChvYyAhPSBOVUxMID8gSVNDX1RSVUUgOiBJU0NfRkFMU0UpOworKwlpc19kZWZpbmVkID0gKG9jICE9IE5VTEwgPyB0cnVlIDogZmFsc2UpOworIAlsb2dfZGVidWcoImlzX3VuaWNhc3Rfb3B0aW9uX2RlZmluZWQ6IG9wdGlvbiBmb3VuZCA6ICVkIiwgaXNfZGVmaW5lZCk7CisgCisgCWlmIChzaGFyZWQgIT0gTlVMTCkgeworSW5kZXg6IGRoY3AtNC40LjEvY2xpZW50L2NscGFyc2UuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9jbGllbnQvY2xwYXJzZS5jCisrKysgZGhjcC00LjQuMS9jbGllbnQvY2xwYXJzZS5jCitAQCAtMTUyNyw3ICsxNTI3LDcgQEAgcGFyc2VfY2xpZW50Nl9sZWFzZV9zdGF0ZW1lbnQoc3RydWN0IHBhcgorIAorIAkJICAgICAgY2FzZSBUT0tFTl9SRUxFQVNFRDoKKyAJCSAgICAgIGNhc2UgVE9LRU5fQUJBTkRPTkVEOgorLQkJCWxlYXNlLT5yZWxlYXNlZCA9IElTQ19UUlVFOworKwkJCWxlYXNlLT5yZWxlYXNlZCA9IHRydWU7CisgCQkJYnJlYWs7CisgCisgCQkgICAgICBkZWZhdWx0OgorSW5kZXg6IGRoY3AtNC40LjEvY2xpZW50L2RoYzYuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9jbGllbnQvZGhjNi5jCisrKysgZGhjcC00LjQuMS9jbGllbnQvZGhjNi5jCitAQCAtMTA5LDcgKzEwOSw3IEBAIHN0YXRpYyBpc2NfcmVzdWx0X3QgZGhjNl9hZGRfaWFfcGQoc3RydWMKKyAJCQkJICAgdV9pbnQ4X3QgbWVzc2FnZSwKKyAJCQkJICAgaW50IHdhbnRlZCwKKyAJCQkJICAgaW50ICphZGRlZCk7Cistc3RhdGljIGlzY19ib29sZWFuX3Qgc3RvcHBpbmdfZmluaXNoZWQodm9pZCk7Cisrc3RhdGljIGJvb2wgc3RvcHBpbmdfZmluaXNoZWQodm9pZCk7Cisgc3RhdGljIHZvaWQgZGhjNl9tZXJnZV9sZWFzZShzdHJ1Y3QgZGhjNl9sZWFzZSAqc3JjLCBzdHJ1Y3QgZGhjNl9sZWFzZSAqZHN0KTsKKyB2b2lkIGRvX3NlbGVjdDYodm9pZCAqaW5wdXQpOworIHZvaWQgZG9fcmVmcmVzaDYodm9pZCAqaW5wdXQpOworQEAgLTEzMSw3ICsxMzEsNyBAQCBzdGF0aWMgdm9pZCBzY3JpcHRfd3JpdGVfcGFyYW1zNihzdHJ1Y3QKKyAJCQkJIGNvbnN0IGNoYXIgKnByZWZpeCwKKyAJCQkJIHN0cnVjdCBvcHRpb25fc3RhdGUgKm9wdGlvbnMpOworIHN0YXRpYyB2b2lkIHNjcmlwdF93cml0ZV9yZXF1ZXN0ZWQ2KHN0cnVjdCBjbGllbnRfc3RhdGUgKmNsaWVudCk7Cistc3RhdGljIGlzY19ib29sZWFuX3QgYWN0aXZlX3ByZWZpeChzdHJ1Y3QgY2xpZW50X3N0YXRlICpjbGllbnQpOworK3N0YXRpYyBib29sIGFjdGl2ZV9wcmVmaXgoc3RydWN0IGNsaWVudF9zdGF0ZSAqY2xpZW50KTsKKyAKKyBzdGF0aWMgaW50IGNoZWNrX3RpbWluZzYoc3RydWN0IGNsaWVudF9zdGF0ZSAqY2xpZW50LCB1X2ludDhfdCBtc2dfdHlwZSwKKyAJCQkgY2hhciAqbXNnX3N0ciwgc3RydWN0IGRoYzZfbGVhc2UgKmxlYXNlLAorQEAgLTE0OSw3ICsxNDksNyBAQCBzdGF0aWMgaXNjX3Jlc3VsdF90IGRoYzZfYWRkX2lhX25hX2RlY2xpCisgCQkJCQkgICBzdHJ1Y3QgZGF0YV9zdHJpbmcgKnBhY2tldCwKKyAJCQkJCSAgIHN0cnVjdCBkaGM2X2xlYXNlICpsZWFzZSk7Cisgc3RhdGljIGludCBkcm9wX2RlY2xpbmVkX2FkZHJzKHN0cnVjdCBkaGM2X2xlYXNlICpsZWFzZSk7Cistc3RhdGljIGlzY19ib29sZWFuX3QgdW5leHBpcmVkX2FkZHJlc3NfaW5fbGVhc2Uoc3RydWN0IGRoYzZfbGVhc2UgKmxlYXNlKTsKKytzdGF0aWMgYm9vbCB1bmV4cGlyZWRfYWRkcmVzc19pbl9sZWFzZShzdHJ1Y3QgZGhjNl9sZWFzZSAqbGVhc2UpOworIAorIGV4dGVybiBpbnQgb25ldHJ5OworIGV4dGVybiBpbnQgc3RhdGVsZXNzOworQEAgLTQxOCwxNCArNDE4LDE0IEBAIHZhbGlkX3JlcGx5KHN0cnVjdCBwYWNrZXQgKnBhY2tldCwgc3RydWMKKyB7CisgCXN0cnVjdCBkYXRhX3N0cmluZyBzaWQsIGNpZDsKKyAJc3RydWN0IG9wdGlvbl9jYWNoZSAqb2M7CistCWludCBydmFsID0gSVNDX1RSVUU7CisrCWludCBydmFsID0gdHJ1ZTsKKyAKKyAJbWVtc2V0KCZzaWQsIDAsIHNpemVvZihzaWQpKTsKKyAJbWVtc2V0KCZjaWQsIDAsIHNpemVvZihjaWQpKTsKKyAKKyAJaWYgKCFsb29rdXBfb3B0aW9uKCZkaGNwdjZfdW5pdmVyc2UsIHBhY2tldC0+b3B0aW9ucywgRDZPX1NFUlZFUklEKSkgeworIAkJbG9nX2Vycm9yKCJSZXNwb25zZSB3aXRob3V0IGEgc2VydmVyIGlkZW50aWZpZXIgcmVjZWl2ZWQuIik7CistCQlydmFsID0gSVNDX0ZBTFNFOworKwkJcnZhbCA9IGZhbHNlOworIAl9CisgCisgCW9jID0gbG9va3VwX29wdGlvbigmZGhjcHY2X3VuaXZlcnNlLCBwYWNrZXQtPm9wdGlvbnMsIEQ2T19DTElFTlRJRCk7CitAQCAtNDM0LDcgKzQzNCw3IEBAIHZhbGlkX3JlcGx5KHN0cnVjdCBwYWNrZXQgKnBhY2tldCwgc3RydWMKKyAJCQkJICAgY2xpZW50LT5zZW50X29wdGlvbnMsICZnbG9iYWxfc2NvcGUsIG9jLAorIAkJCQkgICBNREwpKSB7CisgCQlsb2dfZXJyb3IoIlJlc3BvbnNlIHdpdGhvdXQgYSBjbGllbnQgaWRlbnRpZmllci4iKTsKKy0JCXJ2YWwgPSBJU0NfRkFMU0U7CisrCQlydmFsID0gZmFsc2U7CisgCX0KKyAKKyAJb2MgPSBsb29rdXBfb3B0aW9uKCZkaGNwdjZfdW5pdmVyc2UsIGNsaWVudC0+c2VudF9vcHRpb25zLAorQEAgLTQ0NCw3ICs0NDQsNyBAQCB2YWxpZF9yZXBseShzdHJ1Y3QgcGFja2V0ICpwYWNrZXQsIHN0cnVjCisgCQkJCSAgIGNsaWVudC0+c2VudF9vcHRpb25zLCBOVUxMLCAmZ2xvYmFsX3Njb3BlLAorIAkJCQkgICBvYywgTURMKSkgeworIAkJbG9nX2Vycm9yKCJMb2NhbCBjbGllbnQgaWRlbnRpZmllciBpcyBtaXNzaW5nISIpOworLQkJcnZhbCA9IElTQ19GQUxTRTsKKysJCXJ2YWwgPSBmYWxzZTsKKyAJfQorIAorIAlpZiAoc2lkLmxlbiA9PSAwIHx8CitAQCAtNDUyLDcgKzQ1Miw3IEBAIHZhbGlkX3JlcGx5KHN0cnVjdCBwYWNrZXQgKnBhY2tldCwgc3RydWMKKyAJICAgIG1lbWNtcChzaWQuZGF0YSwgY2lkLmRhdGEsIHNpZC5sZW4pKSB7CisgCQlsb2dfZXJyb3IoIkFkdmVydGlzZSB3aXRoIG1hdGNoaW5nIHRyYW5zYWN0aW9uIElELCBidXQgIgorIAkJCSAgIm1pc21hdGNoaW5nIGNsaWVudCBpZC4iKTsKKy0JCXJ2YWwgPSBJU0NfRkFMU0U7CisrCQlydmFsID0gZmFsc2U7CisgCX0KKyAKKyAJLyogY2xlYW4gdXAgcG9pbnRlcnMgdG8gdGhlIHN0cmluZ3MgKi8KK0BAIC0yMzc1LDcgKzIzNzUsNyBAQCBzdGFydF9yZWxlYXNlNihzdHJ1Y3QgY2xpZW50X3N0YXRlICpjbGllCisgCS8qIE5vdGUgdGhpcyBpbiB0aGUgbGVhc2UgZmlsZS4gKi8KKyAJaWYgKGNsaWVudC0+YWN0aXZlX2xlYXNlID09IE5VTEwpCisgCQlyZXR1cm47CistCWNsaWVudC0+YWN0aXZlX2xlYXNlLT5yZWxlYXNlZCA9IElTQ19UUlVFOworKwljbGllbnQtPmFjdGl2ZV9sZWFzZS0+cmVsZWFzZWQgPSB0cnVlOworIAl3cml0ZV9jbGllbnQ2X2xlYXNlKGNsaWVudCwgY2xpZW50LT5hY3RpdmVfbGVhc2UsIDAsIDEpOworIAorIAkvKiBTZXQgdGltZXJzIHBlciBSRkMzMzE1IHNlY3Rpb24gMTguMS42LiAqLworQEAgLTI2MTIsNyArMjYxMiw3IEBAIGRoYzZfY2hlY2tfYWR2ZXJ0aXNlKHN0cnVjdCBkaGM2X2xlYXNlICoKKyB7CisgCXN0cnVjdCBkaGM2X2lhICppYTsKKyAJaXNjX3Jlc3VsdF90IHJ2YWwgPSBJU0NfUl9TVUNDRVNTOworLQlpbnQgaGF2ZV9hZGRycyA9IElTQ19GQUxTRTsKKysJaW50IGhhdmVfYWRkcnMgPSBmYWxzZTsKKyAJdW5zaWduZWQgY29kZTsKKyAJY29uc3QgY2hhciAqc2NvcGU7CisgCWludCBnb3RfbmEgPSAwLCBnb3RfdGEgPSAwLCBnb3RfcGQgPSAwOworQEAgLTI2NTAsMTQgKzI2NTAsMTQgQEAgZGhjNl9jaGVja19hZHZlcnRpc2Uoc3RydWN0IGRoYzZfbGVhc2UgKgorIAkJICogU2hvdWxkIHdlIGNoZWNrIHRoZSBhZGRyIGl0c2VsZiBmb3IgdXNhYmlsaXR5PworIAkJICovCisgCQlpZiAoaWEtPmFkZHJzICE9IE5VTEwpIHsKKy0JCQloYXZlX2FkZHJzID0gSVNDX1RSVUU7CisrCQkJaGF2ZV9hZGRycyA9IHRydWU7CisgCQl9CisgCX0KKyAKKyAJLyogSWYgd2UgZGlkbid0IGdldCBzb21lIGFkZHJzIG9yIHRoZSB1c2VyIHJlcXVpcmVkIHVzIHRvCisgCSAqIGdldCBhbGwgb2YgdGhlIHJlcXVlc3RlZCBJQXMgYW5kIHdlIGRpZG4ndCByZXR1cm4gYW4gZXJyb3IKKyAJICovCistCWlmICgoaGF2ZV9hZGRycyAhPSBJU0NfVFJVRSkgfHwKKysJaWYgKChoYXZlX2FkZHJzICE9IHRydWUpIHx8CisgCSAgICAoKHJlcXVpcmVfYWxsX2lhcyAhPSAwKSAmJgorIAkgICAgICgoZ290X25hIDwgd2FudGVkX2lhX25hKSB8fAorIAkgICAgICAoZ290X3RhIDwgd2FudGVkX2lhX3RhKSB8fAorQEAgLTI2NzAsNyArMjY3MCw3IEBAIGRoYzZfY2hlY2tfYWR2ZXJ0aXNlKHN0cnVjdCBkaGM2X2xlYXNlICoKKyAvKiBzdGF0dXMgY29kZSA8LT4gYWN0aW9uIG1hdHJpeCBmb3IgdGhlIGNsaWVudCBpbiBJTklUIHN0YXRlCisgICogKHJhcGlkL2NvbW1pdCkuICBSZXR1cm5zIGFsd2F5cyBmYWxzZSBhcyBubyBhY3Rpb24gaXMgZGVmaW5lZC4KKyAgKi8KKy1zdGF0aWMgaXNjX2Jvb2xlYW5fdAorK3N0YXRpYyBib29sCisgZGhjNl9pbml0X2FjdGlvbihzdHJ1Y3QgY2xpZW50X3N0YXRlICpjbGllbnQsIGlzY19yZXN1bHRfdCAqcnZhbHAsCisgCQkgdW5zaWduZWQgY29kZSkKKyB7CitAQCAtMjY3OSwyMSArMjY3OSwyMSBAQCBkaGM2X2luaXRfYWN0aW9uKHN0cnVjdCBjbGllbnRfc3RhdGUgKmNsCisgCisgCWlmIChjbGllbnQgPT0gTlVMTCkgeworIAkJKnJ2YWxwID0gREhDUF9SX0lOVkFMSURBUkc7CistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAl9CisgCisgCWlmICgqcnZhbHAgPT0gSVNDX1JfU1VDQ0VTUykKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCisgCS8qIE5vIHBvc3NpYmxlIGFjdGlvbiBpbiBhbnkgY2FzZS4uLiAqLworLQlyZXR1cm4gSVNDX0ZBTFNFOworKwlyZXR1cm4gZmFsc2U7CisgfQorIAorIC8qIHN0YXR1cyBjb2RlIDwtPiBhY3Rpb24gbWF0cml4IGZvciB0aGUgY2xpZW50IGluIFNFTEVDVCBzdGF0ZQorICAqIChyZXF1ZXN0L3JlcGx5KS4gIFJldHVybnMgdHJ1ZSBpZiBhY3Rpb24gd2FzIHRha2VuIChhbmQgdGhlCisgICogcGFja2V0IHNob3VsZCBiZSBpZ25vcmVkKSwgb3IgZmFsc2UgaWYgbm8gYWN0aW9uIHdhcyB0YWtlbi4KKyAgKi8KKy1zdGF0aWMgaXNjX2Jvb2xlYW5fdAorK3N0YXRpYyBib29sCisgZGhjNl9zZWxlY3RfYWN0aW9uKHN0cnVjdCBjbGllbnRfc3RhdGUgKmNsaWVudCwgaXNjX3Jlc3VsdF90ICpydmFscCwKKyAJCSAgIHVuc2lnbmVkIGNvZGUpCisgeworQEAgLTI3MDUsMTIgKzI3MDUsMTIgQEAgZGhjNl9zZWxlY3RfYWN0aW9uKHN0cnVjdCBjbGllbnRfc3RhdGUgKgorIAorIAlpZiAoY2xpZW50ID09IE5VTEwpIHsKKyAJCSpydmFscCA9IERIQ1BfUl9JTlZBTElEQVJHOworLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAJfQorIAlydmFsID0gKnJ2YWxwOworIAorIAlpZiAocnZhbCA9PSBJU0NfUl9TVUNDRVNTKQorLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAKKyAJc3dpdGNoIChjb2RlKSB7CisgCQkvKiBXZSBtYXkgaGF2ZSBhbiBlYXJsaWVyIGZhaWx1cmUgc3RhdHVzIGNvZGUgKHNvIG5vCitAQCAtMjcyMyw3ICsyNzIzLDcgQEAgZGhjNl9zZWxlY3RfYWN0aW9uKHN0cnVjdCBjbGllbnRfc3RhdGUgKgorIAkgICAgICBjYXNlIFNUQVRVU19Ob0JpbmRpbmc6CisgCSAgICAgIGNhc2UgU1RBVFVTX1VzZU11bHRpY2FzdDoKKyAJCS8qIFRha2Ugbm8gYWN0aW9uLiAqLworLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAKKyAJCS8qIElmIHRoZSBzZXJ2ZXIgY2FuJ3QgZGVhbCB3aXRoIHVzLCBlaXRoZXIgdHJ5IHRoZQorIAkJICogbmV4dCBhZHZlcnRpc2VkIHNlcnZlciwgb3IgY29udGludWUgcmV0cnlpbmcgaWYgdGhlcmUKK0BAIC0yNzM5LDcgKzI3MzksNyBAQCBkaGM2X3NlbGVjdF9hY3Rpb24oc3RydWN0IGNsaWVudF9zdGF0ZSAqCisgCisgCQkJYnJlYWs7CisgCQl9IGVsc2UgLyogVGFrZSBubyBhY3Rpb24gLSBjb250aW51ZSB0byByZXRyeS4gKi8KKy0JCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJCXJldHVybiBmYWxzZTsKKyAKKyAJCS8qIElmIHRoZSBzZXJ2ZXIgaGFzIG5vIGFkZHJlc3NlcywgdHJ5IG90aGVyIHNlcnZlcnMgaWYKKyAJCSAqIHdlIGdvdCBzb21lLCBvdGhlcndpc2UgZ28gdG8gSU5JVCB0byBob3BlIGZvciBtb3JlCitAQCAtMjc0OCw3ICsyNzQ4LDcgQEAgZGhjNl9zZWxlY3RfYWN0aW9uKHN0cnVjdCBjbGllbnRfc3RhdGUgKgorIAkgICAgICBjYXNlIFNUQVRVU19Ob0FkZHJzQXZhaWw6CisgCSAgICAgIGNhc2UgU1RBVFVTX05vUHJlZml4QXZhaWw6CisgCQlpZiAoY2xpZW50LT5zdGF0ZSA9PSBTX1JFQk9PVElORykKKy0JCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJCXJldHVybiBmYWxzZTsKKyAKKyAJCWlmIChjbGllbnQtPnNlbGVjdGVkX2xlYXNlID09IE5VTEwpCisgCQkJbG9nX2ZhdGFsKCJJbXBvc3NpYmxlIGNhc2UgYXQgJXM6JWQuIiwgTURMKTsKK0BAIC0yNzk0LDcgKzI3OTQsNyBAQCBkaGM2X3NlbGVjdF9hY3Rpb24oc3RydWN0IGNsaWVudF9zdGF0ZSAqCisgCQlicmVhazsKKyAJfQorIAorLQlyZXR1cm4gSVNDX1RSVUU7CisrCXJldHVybiB0cnVlOworIH0KKyAKKyBzdGF0aWMgdm9pZAorQEAgLTI4MjEsNyArMjgyMSw3IEBAIGRoYzZfd2l0aGRyYXdfbGVhc2Uoc3RydWN0IGNsaWVudF9zdGF0ZQorICAqIChyZXF1ZXN0L3JlcGx5KS4gIFJldHVybnMgdHJ1ZSBpZiBhY3Rpb24gd2FzIHRha2VuIChhbmQgdGhlCisgICogcGFja2V0IHNob3VsZCBiZSBpZ25vcmVkKSwgb3IgZmFsc2UgaWYgbm8gYWN0aW9uIHdhcyB0YWtlbi4KKyAgKi8KKy1zdGF0aWMgaXNjX2Jvb2xlYW5fdAorK3N0YXRpYyBib29sCisgZGhjNl9yZXBseV9hY3Rpb24oc3RydWN0IGNsaWVudF9zdGF0ZSAqY2xpZW50LCBpc2NfcmVzdWx0X3QgKnJ2YWxwLAorIAkJICB1bnNpZ25lZCBjb2RlKQorIHsKK0BAIC0yODMyLDEyICsyODMyLDEyIEBAIGRoYzZfcmVwbHlfYWN0aW9uKHN0cnVjdCBjbGllbnRfc3RhdGUgKmMKKyAKKyAJaWYgKGNsaWVudCA9PSBOVUxMKSB7CisgCQkqcnZhbHAgPSBESENQX1JfSU5WQUxJREFSRzsKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCX0KKyAJcnZhbCA9ICpydmFscDsKKyAKKyAJaWYgKHJ2YWwgPT0gSVNDX1JfU1VDQ0VTUykKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCisgCXN3aXRjaCAoY29kZSkgeworIAkJLyogSXQncyBwb3NzaWJsZSBhbiBlYXJsaWVyIHN0YXR1cyBjb2RlIHNldCBydmFsIHRvIGEgZmFpbHVyZQorQEAgLTI4NTIsNyArMjg1Miw3IEBAIGRoYzZfcmVwbHlfYWN0aW9uKHN0cnVjdCBjbGllbnRfc3RhdGUgKmMKKyAJICAgICAgY2FzZSBTVEFUVVNfVW5zcGVjRmFpbDoKKyAJCS8qIEZvciB1bmtub3duIGNvZGVzLi4uaXQncyBhIHNvZnQgKHJldHJ5YWJsZSkgZXJyb3IuICovCisgCSAgICAgIGRlZmF1bHQ6CistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAorIAkJLyogVGhlIHNlcnZlciBpcyB0ZWxsaW5nIHVzIHRvIHVzZSBhIG11bHRpY2FzdCBhZGRyZXNzLCBzbworIAkJICogd2UgaGF2ZSB0byBkZWxldGUgdGhlIHVuaWNhc3Qgb3B0aW9uIGZyb20gdGhlIGFjdGl2ZQorQEAgLTI4NjUsNyArMjg2NSw3IEBAIGRoYzZfcmVwbHlfYWN0aW9uKHN0cnVjdCBjbGllbnRfc3RhdGUgKmMKKyAJCQlkZWxldGVfb3B0aW9uKCZkaGNwX3VuaXZlcnNlLAorIAkJCQkgICAgICBjbGllbnQtPmFjdGl2ZV9sZWFzZS0+b3B0aW9ucywKKyAJCQkJICAgICAgRDZPX1VOSUNBU1QpOworLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAKKyAJCS8qICJXaGVuIHRoZSBjbGllbnQgcmVjZWl2ZXMgYSBOb3RPbkxpbmsgc3RhdHVzIGZyb20gdGhlCisgCQkgKiAgc2VydmVyIGluIHJlc3BvbnNlIHRvIGEgUmVxdWVzdCwgdGhlIGNsaWVudCBjYW4gZWl0aGVyCitAQCAtMjkxNCw3ICsyOTE0LDcgQEAgZGhjNl9yZXBseV9hY3Rpb24oc3RydWN0IGNsaWVudF9zdGF0ZSAqYworIAkJYnJlYWs7CisgCX0KKyAKKy0JcmV0dXJuIElTQ19UUlVFOworKwlyZXR1cm4gdHJ1ZTsKKyB9CisgCisgLyogc3RhdHVzIGNvZGUgPC0+IGFjdGlvbiBtYXRyaXggZm9yIHRoZSBjbGllbnQgaW4gU1RPUFBFRCBzdGF0ZQorQEAgLTI5MjIsNyArMjkyMiw3IEBAIGRoYzZfcmVwbHlfYWN0aW9uKHN0cnVjdCBjbGllbnRfc3RhdGUgKmMKKyAgKiBwYWNrZXQgc2hvdWxkIGJlIGlnbm9yZWQpLCBvciBmYWxzZSBpZiBubyBhY3Rpb24gd2FzIHRha2VuLgorICAqIE5vQmluZGluZyBpcyB0cmFuc2xhdGVkIGludG8gU3VjY2Vzcy4KKyAgKi8KKy1zdGF0aWMgaXNjX2Jvb2xlYW5fdAorK3N0YXRpYyBib29sCisgZGhjNl9zdG9wX2FjdGlvbihzdHJ1Y3QgY2xpZW50X3N0YXRlICpjbGllbnQsIGlzY19yZXN1bHRfdCAqcnZhbHAsCisgCQkgIHVuc2lnbmVkIGNvZGUpCisgeworQEAgLTI5MzMsMTIgKzI5MzMsMTIgQEAgZGhjNl9zdG9wX2FjdGlvbihzdHJ1Y3QgY2xpZW50X3N0YXRlICpjbAorIAorIAlpZiAoY2xpZW50ID09IE5VTEwpIHsKKyAJCSpydmFscCA9IERIQ1BfUl9JTlZBTElEQVJHOworLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAJfQorIAlydmFsID0gKnJ2YWxwOworIAorIAlpZiAocnZhbCA9PSBJU0NfUl9TVUNDRVNTKQorLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAKKyAJc3dpdGNoIChjb2RlKSB7CisgCQkvKiBJdCdzIHBvc3NpYmxlIGFuIGVhcmxpZXIgc3RhdHVzIGNvZGUgc2V0IHJ2YWwgdG8gYSBmYWlsdXJlCitAQCAtMjk0OCwxMyArMjk0OCwxMyBAQCBkaGM2X3N0b3BfYWN0aW9uKHN0cnVjdCBjbGllbnRfc3RhdGUgKmNsCisgCQkvKiBGb3IgdW5rbm93biBjb2Rlcy4uLml0J3MgYSBzb2Z0IChyZXRyeWFibGUpIGVycm9yLiAqLworIAkgICAgICBjYXNlIFNUQVRVU19VbnNwZWNGYWlsOgorIAkgICAgICBkZWZhdWx0OgorLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAKKyAJCS8qIE5vQmluZGluZyBpcyBub3QgYW4gZXJyb3IgKi8KKyAJICAgICAgY2FzZSBTVEFUVVNfTm9CaW5kaW5nOgorIAkJaWYgKHJ2YWwgPT0gSVNDX1JfRkFJTFVSRSkKKyAJCQkqcnZhbHAgPSBJU0NfUl9TVUNDRVNTOworLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAKKyAJCS8qIFNob3VsZCBub3QgaGFwcGVuICovCisgCSAgICAgIGNhc2UgU1RBVFVTX05vQWRkcnNBdmFpbDoKK0BAIC0yOTc2LDEzICsyOTc2LDEzIEBAIGRoYzZfc3RvcF9hY3Rpb24oc3RydWN0IGNsaWVudF9zdGF0ZSAqY2wKKyAJCQlkZWxldGVfb3B0aW9uKCZkaGNwX3VuaXZlcnNlLAorIAkJCQkgICAgICBjbGllbnQtPmFjdGl2ZV9sZWFzZS0+b3B0aW9ucywKKyAJCQkJICAgICAgRDZPX1VOSUNBU1QpOworLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAJfQorIAorLQlyZXR1cm4gSVNDX1RSVUU7CisrCXJldHVybiB0cnVlOworIH0KKyAKKy1zdGF0aWMgaXNjX2Jvb2xlYW5fdAorK3N0YXRpYyBib29sCisgZGhjNl9kZWNsaW5lX2FjdGlvbihzdHJ1Y3QgY2xpZW50X3N0YXRlICpjbGllbnQsIGlzY19yZXN1bHRfdCAqcnZhbHAsCisgCQkgIHVuc2lnbmVkIGNvZGUpCisgeworQEAgLTI5OTMsMTIgKzI5OTMsMTIgQEAgZGhjNl9kZWNsaW5lX2FjdGlvbihzdHJ1Y3QgY2xpZW50X3N0YXRlCisgCisgCWlmIChjbGllbnQgPT0gTlVMTCkgeworIAkJKnJ2YWxwID0gREhDUF9SX0lOVkFMSURBUkc7CistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAl9CisgCXJ2YWwgPSAqcnZhbHA7CisgCisgCWlmIChydmFsID09IElTQ19SX1NVQ0NFU1MpIHsKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCX0KKyAKKyAJc3dpdGNoIChjb2RlKSB7CitAQCAtMzAxMywxMyArMzAxMywxMyBAQCBkaGM2X2RlY2xpbmVfYWN0aW9uKHN0cnVjdCBjbGllbnRfc3RhdGUKKyAJCQlkZWxldGVfb3B0aW9uKCZkaGNwX3VuaXZlcnNlLAorIAkJCQkgICAgICBjbGllbnQtPmFjdGl2ZV9sZWFzZS0+b3B0aW9ucywKKyAJCQkJICAgICAgRDZPX1VOSUNBU1QpOworLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAJZGVmYXVsdDoKKyAJCS8qIEFueXRoaW5nIGVsc2UgaXMgYmFzaWNhbGx5IG1lYW5pbmdsZXNzICovCisgCQlicmVhazsKKyAJfQorIAorLQlyZXR1cm4gSVNDX1RSVUU7CisrCXJldHVybiB0cnVlOworIH0KKyAKKyAKK0BAIC0zMDI5LDE0ICszMDI5LDE0IEBAIGRoYzZfZGVjbGluZV9hY3Rpb24oc3RydWN0IGNsaWVudF9zdGF0ZQorIHN0YXRpYyBpc2NfcmVzdWx0X3QKKyBkaGM2X2NoZWNrX3JlcGx5KHN0cnVjdCBjbGllbnRfc3RhdGUgKmNsaWVudCwgc3RydWN0IGRoYzZfbGVhc2UgKm5ldykKKyB7CistCWlzY19ib29sZWFuX3QgKCphY3Rpb24pKHN0cnVjdCBjbGllbnRfc3RhdGUgKiwKKysJYm9vbCAoKmFjdGlvbikoc3RydWN0IGNsaWVudF9zdGF0ZSAqLAorIAkJCQlpc2NfcmVzdWx0X3QgKiwgdW5zaWduZWQpOworIAlzdHJ1Y3QgZGhjNl9pYSAqaWE7CisgCWlzY19yZXN1bHRfdCBydmFsID0gSVNDX1JfU1VDQ0VTUzsKKyAJdW5zaWduZWQgY29kZTsKKyAJY29uc3QgY2hhciAqc2NvcGU7CisgCWludCBuc2NvcmUsIHNzY29yZTsKKy0JaW50IGhhdmVfYWRkcnMgPSBJU0NfRkFMU0U7CisrCWludCBoYXZlX2FkZHJzID0gZmFsc2U7CisgCWludCBnb3RfbmEgPSAwLCBnb3RfdGEgPSAwLCBnb3RfcGQgPSAwOworIAorIAlpZiAoKGNsaWVudCA9PSBOVUxMKSB8fCAobmV3ID09IE5VTEwpKQorQEAgLTMxMDIsNyArMzEwMiw3IEBAIGRoYzZfY2hlY2tfcmVwbHkoc3RydWN0IGNsaWVudF9zdGF0ZSAqY2wKKyAJCQlyZXR1cm4gSVNDX1JfQ0FOQ0VMRUQ7CisgCisgCQlpZiAoaWEtPmFkZHJzICE9IE5VTEwpIHsKKy0JCQloYXZlX2FkZHJzID0gSVNDX1RSVUU7CisrCQkJaGF2ZV9hZGRycyA9IHRydWU7CisgCQl9CisgCX0KKyAKK0BAIC0zMTE5LDEzICszMTE5LDEzIEBAIGRoYzZfY2hlY2tfcmVwbHkoc3RydWN0IGNsaWVudF9zdGF0ZSAqY2wKKyAJICogY2hlY2sgaW4gYW5kIGNvbW1lbnRlZCBpdCBhcyBJIGV2ZW50dWFsbHkgZG8gd2FudAorIAkgKiB1cyB0byBjaGVjayBmb3IgVEFzIGFzIHdlbGwuICBTQVIKKyAJICovCistCWlmICgoaGF2ZV9hZGRycyAhPSBJU0NfVFJVRSkgfHwKKysJaWYgKChoYXZlX2FkZHJzICE9IHRydWUpIHx8CisgCSAgICAoKHJlcXVpcmVfYWxsX2lhcyAhPSAwKSAmJgorIAkgICAgICgoZ290X25hIDwgd2FudGVkX2lhX25hKSB8fAorIAkgICAgICAvKihnb3RfdGEgPCB3YW50ZWRfaWFfdGEpIHx8Ki8KKyAJICAgICAgKGdvdF9wZCA8IHdhbnRlZF9pYV9wZCkpKSkgeworIAkJcnZhbCA9IElTQ19SX0ZBSUxVUkU7CistCQlpZiAoYWN0aW9uKGNsaWVudCwgJnJ2YWwsIFNUQVRVU19Ob0FkZHJzQXZhaWwpID09IElTQ19UUlVFKSB7CisrCQlpZiAoYWN0aW9uKGNsaWVudCwgJnJ2YWwsIFNUQVRVU19Ob0FkZHJzQXZhaWwpID09IHRydWUpIHsKKyAJCQlyZXR1cm4gSVNDX1JfQ0FOQ0VMRUQ7CisgCQl9CisgCX0KK0BAIC00MjU2LDcgKzQyNTYsNyBAQCBkaGM2X2FkZF9pYV9wZChzdHJ1Y3QgY2xpZW50X3N0YXRlICpjbGllCisgCisgLyogc3RvcHBpbmdfZmluaXNoZWQoKSBjaGVja3MgaWYgdGhlcmUgaXMgYSByZW1haW5pbmcgd29yayB0byBkby4KKyAgKi8KKy1zdGF0aWMgaXNjX2Jvb2xlYW5fdAorK3N0YXRpYyBib29sCisgc3RvcHBpbmdfZmluaXNoZWQodm9pZCkKKyB7CisgCXN0cnVjdCBpbnRlcmZhY2VfaW5mbyAqaXA7CitAQCAtNDI2NSwxMiArNDI2NSwxMiBAQCBzdG9wcGluZ19maW5pc2hlZCh2b2lkKQorIAlmb3IgKGlwID0gaW50ZXJmYWNlczsgaXA7IGlwID0gaXAgLT4gbmV4dCkgeworIAkJZm9yIChjbGllbnQgPSBpcCAtPiBjbGllbnQ7IGNsaWVudDsgY2xpZW50ID0gY2xpZW50IC0+IG5leHQpIHsKKyAJCQlpZiAoY2xpZW50LT5zdGF0ZSAhPSBTX1NUT1BQRUQpCistCQkJCXJldHVybiBJU0NfRkFMU0U7CisrCQkJCXJldHVybiBmYWxzZTsKKyAJCQlpZiAoY2xpZW50LT5hY3RpdmVfbGVhc2UgIT0gTlVMTCkKKy0JCQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCQkJcmV0dXJuIGZhbHNlOworIAkJfQorIAl9CistCXJldHVybiBJU0NfVFJVRTsKKysJcmV0dXJuIHRydWU7CisgfQorIAorIC8qIHJlcGx5X2hhbmRsZXIoKSBhY2NlcHRzIGEgUmVwbHkgd2hpbGUgd2UncmUgYXR0ZW1wdGluZyBTZWxlY3Qgb3IgUmVuZXcgb3IKK0BAIC00NDc0LDggKzQ0NzQsOCBAQCBkaGM2X2NoZWNrX3RpbWVzKHN0cnVjdCBjbGllbnRfc3RhdGUgKmNsCisgCXN0cnVjdCBkaGM2X2FkZHIgKmFkZHI7CisgCVRJTUUgcmVuZXc9TUFYX1RJTUUsIHJlYmluZD1NQVhfVElNRSwgZGVwcmVmPU1BWF9USU1FLAorIAkgICAgIGxvX2V4cGlyZT1NQVhfVElNRSwgaGlfZXhwaXJlPTAsIG1heF9pYV9zdGFydHMgPSAwLCB0bXA7CistCWludCBoYXNfYWRkcnMgPSBJU0NfRkFMU0U7CistCWludCBoYXNfcHJlZmVycmVkX2FkZHJzID0gSVNDX0ZBTFNFOworKwlpbnQgaGFzX2FkZHJzID0gZmFsc2U7CisrCWludCBoYXNfcHJlZmVycmVkX2FkZHJzID0gZmFsc2U7CisgCXN0cnVjdCB0aW1ldmFsIHR2OworIAorIAlsZWFzZSA9IGNsaWVudC0+YWN0aXZlX2xlYXNlOworQEAgLTQ1MDYsNyArNDUwNiw3IEBAIGRoYzZfY2hlY2tfdGltZXMoc3RydWN0IGNsaWVudF9zdGF0ZSAqY2wKKyAJCQkJCWRlcHJlZiA9IHRtcDsKKyAKKyAJCQkJaWYgKCEoYWRkci0+ZmxhZ3MgJiBESEM2X0FERFJfRVhQSVJFRCkpIHsKKy0JCQkJCWhhc19wcmVmZXJyZWRfYWRkcnMgPSBJU0NfVFJVRTsKKysJCQkJCWhhc19wcmVmZXJyZWRfYWRkcnMgPSB0cnVlOworIAkJCQl9CisgCQkJfQorIAorQEAgLTQ1MjUsNyArNDUyNSw3IEBAIGRoYzZfY2hlY2tfdGltZXMoc3RydWN0IGNsaWVudF9zdGF0ZSAqY2wKKyAJCQkJaWYgKHRtcCA8IHRoaXNfaWFfbG9fZXhwaXJlKQorIAkJCQkJdGhpc19pYV9sb19leHBpcmUgPSB0bXA7CisgCistCQkJCWhhc19hZGRycyA9IElTQ19UUlVFOworKwkJCQloYXNfYWRkcnMgPSB0cnVlOworIAkJCX0KKyAJCX0KKyAKK0BAIC00NjAzLDcgKzQ2MDMsNyBAQCBkaGM2X2NoZWNrX3RpbWVzKHN0cnVjdCBjbGllbnRfc3RhdGUgKmNsCisgCSAqIEluIHRoZSBmdXR1cmUsIHdlIG1heSBkZWNpZGUgdGhhdCB3ZSdyZSBkb25lIGhlcmUsIG9yIHRvCisgCSAqIHNjaGVkdWxlIGEgZnV0dXJlIHJlcXVlc3QgKHVzaW5nIDQtcGt0IGluZm8tcmVxdWVzdCBtb2RlbCkuCisgCSAqLworLQlpZiAoaGFzX2FkZHJzID09IElTQ19GQUxTRSkgeworKwlpZiAoaGFzX2FkZHJzID09IGZhbHNlKSB7CisgCQlkaGM2X2xlYXNlX2Rlc3Ryb3koJmNsaWVudC0+YWN0aXZlX2xlYXNlLCBNREwpOworIAkJY2xpZW50LT5hY3RpdmVfbGVhc2UgPSBOVUxMOworIAorQEAgLTQ4NTUsNyArNDg1NSw3IEBAIHN0YXJ0X2JvdW5kKHN0cnVjdCBjbGllbnRfc3RhdGUgKmNsaWVudCkKKyAJCQkgICJpcyBzZWxlY3RlZC4iKTsKKyAJCXJldHVybjsKKyAJfQorLQlsZWFzZS0+cmVsZWFzZWQgPSBJU0NfRkFMU0U7CisrCWxlYXNlLT5yZWxlYXNlZCA9IGZhbHNlOworIAlvbGQgPSBjbGllbnQtPm9sZF9sZWFzZTsKKyAKKyAJY2xpZW50LT52Nl9oYW5kbGVyID0gYm91bmRfaGFuZGxlcjsKK0BAIC01NDQ4LDggKzU0NDgsOCBAQCBkb19leHBpcmUodm9pZCAqaW5wdXQpCisgCXN0cnVjdCBkaGM2X2xlYXNlICpsZWFzZTsKKyAJc3RydWN0IGRoYzZfaWEgKmlhLCAqKnRpYTsKKyAJc3RydWN0IGRoYzZfYWRkciAqYWRkcjsKKy0JaW50IGhhc19hZGRycyA9IElTQ19GQUxTRTsKKy0JaW50IGlhX2hhc19hZGRycyA9IElTQ19GQUxTRTsKKysJaW50IGhhc19hZGRycyA9IGZhbHNlOworKwlpbnQgaWFfaGFzX2FkZHJzID0gZmFsc2U7CisgCisgCWNsaWVudCA9IChzdHJ1Y3QgY2xpZW50X3N0YXRlICopaW5wdXQ7CisgCitAQCAtNTQ1OCw3ICs1NDU4LDcgQEAgZG9fZXhwaXJlKHZvaWQgKmlucHV0KQorIAkJcmV0dXJuOworIAorIAlmb3IgKGlhID0gbGVhc2UtPmJpbmRpbmdzLCB0aWEgPSAmbGVhc2UtPmJpbmRpbmdzOyBpYSAhPSBOVUxMIDsgKSB7CistCQlpYV9oYXNfYWRkcnMgPSBJU0NfRkFMU0U7CisrCQlpYV9oYXNfYWRkcnMgPSBmYWxzZTsKKyAJCWZvciAoYWRkciA9IGlhLT5hZGRycyA7IGFkZHIgIT0gTlVMTCA7IGFkZHIgPSBhZGRyLT5uZXh0KSB7CisgCQkJaWYgKGFkZHItPmZsYWdzICYgREhDNl9BRERSX0VYUElSRUQpCisgCQkJCWNvbnRpbnVlOworQEAgLTU0OTUsMTQgKzU0OTUsMTQgQEAgZG9fZXhwaXJlKHZvaWQgKmlucHV0KQorIAkJCQljb250aW51ZTsKKyAJCQl9CisgCistCQkJaWFfaGFzX2FkZHJzID0gSVNDX1RSVUU7CistCQkJaGFzX2FkZHJzID0gSVNDX1RSVUU7CisrCQkJaWFfaGFzX2FkZHJzID0gdHJ1ZTsKKysJCQloYXNfYWRkcnMgPSB0cnVlOworIAkJfQorIAorIAkJLyogVXBkYXRlIHRvIHRoZSBuZXh0IGlhIGFuZCBnaXQgcmlkIG9mIHRoaXMgaWEKKyAJCSAqIGlmIGl0IGRvZXNuJ3QgaGF2ZSBhbnkgbGVhc2VzLgorIAkJICovCistCQlpZiAoaWFfaGFzX2FkZHJzID09IElTQ19UUlVFKSB7CisrCQlpZiAoaWFfaGFzX2FkZHJzID09IHRydWUpIHsKKyAJCQkvKiBsZWFzZXMsIGp1c3QgYWR2YW5jZSB0aGUgbGlzdCBwb2ludGVyICovCisgCQkJdGlhID0gJigqdGlhKS0+bmV4dDsKKyAJCX0gZWxzZSB7CitAQCAtNTUxNyw3ICs1NTE3LDcgQEAgZG9fZXhwaXJlKHZvaWQgKmlucHV0KQorIAl9CisgCisgCS8qIENsZWFuIHVwIGVtcHR5IGxlYXNlcy4gKi8KKy0JaWYgKGhhc19hZGRycyA9PSBJU0NfRkFMU0UpIHsKKysJaWYgKGhhc19hZGRycyA9PSBmYWxzZSkgeworIAkJbG9nX2luZm8oIlBSQzogQm91bmQgbGVhc2UgaXMgZGV2b2lkIG9mIGFjdGl2ZSBhZGRyZXNzZXMuIgorIAkJCSAiICBSZS1pbml0aWFsaXppbmcuIik7CisgCitAQCAtNTU5NiwxNCArNTU5NiwxNCBAQCBkaGM2X2NoZWNrX2lydChzdHJ1Y3QgY2xpZW50X3N0YXRlICpjbGllCisgCVRJTUUgZXhwaXJlID0gTUFYX1RJTUU7CisgCXN0cnVjdCB0aW1ldmFsIHR2OworIAlpbnQgaTsKKy0JaXNjX2Jvb2xlYW5fdCBmb3VuZCA9IElTQ19GQUxTRTsKKysJYm9vbCBmb3VuZCA9IGZhbHNlOworIAorIAljYW5jZWxfdGltZW91dChyZWZyZXNoX2luZm9fcmVxdWVzdDYsIGNsaWVudCk7CisgCisgCXJlcSA9IGNsaWVudC0+Y29uZmlnLT5yZXF1ZXN0ZWRfb3B0aW9uczsKKyAJZm9yIChpID0gMDsgcmVxW2ldICE9IE5VTEw7IGkrKykgeworIAkJaWYgKHJlcVtpXSA9PSBpcnRfb3B0aW9uKSB7CistCQkJZm91bmQgPSBJU0NfVFJVRTsKKysJCQlmb3VuZCA9IHRydWU7CisgCQkJYnJlYWs7CisgCQl9CisgCX0KK0BAIC01OTI0LDcgKzU5MjQsNyBAQCBzdGF0aWMgdm9pZCBzY3JpcHRfd3JpdGVfcmVxdWVzdGVkNihjbGllCisgLyoKKyAgKiBDaGVjayBpZiB0aGVyZSBpcyBzb21ldGhpbmcgbm90IGZ1bGx5IGRlZmluZWQgaW4gdGhlIGFjdGl2ZSBsZWFzZS4KKyAgKi8KKy1zdGF0aWMgaXNjX2Jvb2xlYW5fdAorK3N0YXRpYyBib29sCisgYWN0aXZlX3ByZWZpeChzdHJ1Y3QgY2xpZW50X3N0YXRlICpjbGllbnQpCisgeworIAlzdHJ1Y3QgZGhjNl9sZWFzZSAqbGVhc2U7CitAQCAtNTkzNCwyMSArNTkzNCwyMSBAQCBhY3RpdmVfcHJlZml4KHN0cnVjdCBjbGllbnRfc3RhdGUgKmNsaWVuCisgCisgCWxlYXNlID0gY2xpZW50LT5hY3RpdmVfbGVhc2U7CisgCWlmIChsZWFzZSA9PSBOVUxMKQorLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAJbWVtc2V0KHplcm9zLCAwLCAxNik7CisgCWZvciAoaWEgPSBsZWFzZS0+YmluZGluZ3M7IGlhICE9IE5VTEw7IGlhID0gaWEtPm5leHQpIHsKKyAJCWlmIChpYS0+aWFfdHlwZSAhPSBENk9fSUFfUEQpCisgCQkJY29udGludWU7CisgCQlmb3IgKHByZWYgPSBpYS0+YWRkcnM7IHByZWYgIT0gTlVMTDsgcHJlZiA9IHByZWYtPm5leHQpIHsKKyAJCQlpZiAocHJlZi0+cGxlbiA9PSAwKQorLQkJCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJCQlyZXR1cm4gZmFsc2U7CisgCQkJaWYgKHByZWYtPmFkZHJlc3MubGVuICE9IDE2KQorLQkJCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJCQlyZXR1cm4gZmFsc2U7CisgCQkJaWYgKG1lbWNtcChwcmVmLT5hZGRyZXNzLmlhYnVmLCB6ZXJvcywgMTYpID09IDApCistCQkJCXJldHVybiBJU0NfRkFMU0U7CisrCQkJCXJldHVybiBmYWxzZTsKKyAJCX0KKyAJfQorLQlyZXR1cm4gSVNDX1RSVUU7CisrCXJldHVybiB0cnVlOworIH0KKyAKKyAvKiBBZGRzIGEgbGVhc2VzJ3MgZGVjbGluZWQgYWRkcmVzZXMgdG8gdGhlIG91dGJvdW5kIHBhY2tldAorQEAgLTYxMTEsMjYgKzYxMTEsMjYgQEAgaW50IGRyb3BfZGVjbGluZWRfYWRkcnMoc3RydWN0IGRoYzZfbGVhcworIC8qIFJ1biB0aHJvdWdoIHRoZSBhZGRyZXNzZXMgaW4gbGVhc2UgYW5kIHJldHVybiB0cnVlIGlmIHRoZXJlJ3MgYW55IHVuZXhwaXJlZC4KKyAgKiBSZXR1cm4gZmFsc2Ugb3RoZXJ3aXNlLgorICAqLworLXN0YXRpYyBpc2NfYm9vbGVhbl90Cisrc3RhdGljIGJvb2wKKyB1bmV4cGlyZWRfYWRkcmVzc19pbl9sZWFzZShzdHJ1Y3QgZGhjNl9sZWFzZSAqbGVhc2UpCisgeworIAlzdHJ1Y3QgZGhjNl9pYSAqaWE7CisgCXN0cnVjdCBkaGM2X2FkZHIgKmFkZHI7CisgCisgCWlmIChsZWFzZSA9PSBOVUxMKSB7CistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAl9CisgCisgCWZvciAoaWEgPSBsZWFzZS0+YmluZGluZ3MgOyBpYSAhPSBOVUxMIDsgaWEgPSBpYS0+bmV4dCkgeworIAkJZm9yIChhZGRyID0gaWEtPmFkZHJzIDsgYWRkciAhPSBOVUxMIDsgYWRkciA9IGFkZHItPm5leHQpIHsKKyAJCQlpZiAoIShhZGRyLT5mbGFncyAmIERIQzZfQUREUl9FWFBJUkVEKSAmJgorIAkJCSAgICAoYWRkci0+c3RhcnRzICsgYWRkci0+bWF4X2xpZmUgPiBjdXJfdGltZSkpIHsKKy0JCQkJcmV0dXJuIElTQ19UUlVFOworKwkJCQlyZXR1cm4gdHJ1ZTsKKyAJCQl9CisgCQl9CisgCX0KKyAKKyAJbG9nX2RlYnVnKCJQUkM6IFByZXZpb3VzIGxlYXNlIGlzIGRldm9pZCBvZiBhY3RpdmUgYWRkcmVzc2VzLiIpOworLQlyZXR1cm4gSVNDX0ZBTFNFOworKwlyZXR1cm4gZmFsc2U7CisgfQorICNlbmRpZiAvKiBESENQdjYgKi8KK0luZGV4OiBkaGNwLTQuNC4xL2NsaWVudC9kaGNsaWVudC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZGhjcC00LjQuMS5vcmlnL2NsaWVudC9kaGNsaWVudC5jCisrKysgZGhjcC00LjQuMS9jbGllbnQvZGhjbGllbnQuYworQEAgLTUyLDcgKzUyLDcgQEAgY2hhciAqcGF0aF9kaGNsaWVudF9zY3JpcHQgPSBwYXRoX2RoY2xpZQorIGNvbnN0IGNoYXIgKnBhdGhfZGhjbGllbnRfZHVpZCA9IE5VTEw7CisgCisgLyogRmFsc2UgKGRlZmF1bHQpID0+IHdlIHdyaXRlIGFuZCB1c2UgYSBwaWQgZmlsZSAqLworLWlzY19ib29sZWFuX3Qgbm9fcGlkX2ZpbGUgPSBJU0NfRkFMU0U7CisrYm9vbCBub19waWRfZmlsZSA9IGZhbHNlOworIAorIGludCBkaGNwX21heF9hZ2VudF9vcHRpb25fcGFja2V0X2xlbmd0aCA9IDA7CisgCitAQCAtMzk3LDcgKzM5Nyw3IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CisgCQkJcGF0aF9kaGNsaWVudF9waWQgPSBhcmd2W2ldOworIAkJCW5vX2RoY2xpZW50X3BpZCA9IDE7CisgCQl9IGVsc2UgaWYgKCFzdHJjbXAoYXJndltpXSwgIi0tbm8tcGlkIikpIHsKKy0JCQlub19waWRfZmlsZSA9IElTQ19UUlVFOworKwkJCW5vX3BpZF9maWxlID0gdHJ1ZTsKKyAJCX0gZWxzZSBpZiAoIXN0cmNtcChhcmd2W2ldLCAiLWNmIikpIHsKKyAJCQlpZiAoKytpID09IGFyZ2MpCisgCQkJCXVzYWdlKHVzZV9ub2FyZywgYXJndltpLTFdKTsKK0BAIC02NTIsNyArNjUyLDcgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAJICogdG8gd3JpdGUgYSBwaWQgZmlsZSAtIHdlIGFzc3VtZSB0aGV5IGFyZSBjb250cm9sbGluZworIAkgKiB0aGUgcHJvY2VzcyBpbiBzb21lIG90aGVyIGZhc2hpb24uCisgCSAqLworLQlpZiAoKHJlbGVhc2VfbW9kZSB8fCBleGl0X21vZGUpICYmIChub19waWRfZmlsZSA9PSBJU0NfRkFMU0UpKSB7CisrCWlmICgocmVsZWFzZV9tb2RlIHx8IGV4aXRfbW9kZSkgJiYgKG5vX3BpZF9maWxlID09IGZhbHNlKSkgeworIAkJRklMRSAqcGlkZmQ7CisgCQlwaWRfdCBvbGRwaWQ7CisgCQlsb25nIHRlbXA7CitAQCAtNDQ2OSw3ICs0NDY5LDcgQEAgdm9pZCB3cml0ZV9jbGllbnRfcGlkX2ZpbGUgKCkKKyAJaW50IHBmZGVzYzsKKyAKKyAJLyogbm90aGluZyB0byBkbyBpZiB0aGUgdXNlciBkb2Vzbid0IHdhbnQgYSBwaWQgZmlsZSAqLworLQlpZiAobm9fcGlkX2ZpbGUgPT0gSVNDX1RSVUUpIHsKKysJaWYgKG5vX3BpZF9maWxlID09IHRydWUpIHsKKyAJCXJldHVybjsKKyAJfQorIAorQEAgLTQ3MjcsNyArNDcyNyw3IEBAIHVuc2lnbmVkIGNvbnNfYWdlbnRfaW5mb3JtYXRpb25fb3B0aW9ucworIHN0YXRpYyB2b2lkIHNodXRkb3duX2V4aXQgKHZvaWQgKmZvbykKKyB7CisgCS8qIGdldCByaWQgb2YgdGhlIHBpZCBpZiB3ZSBjYW4gKi8KKy0JaWYgKG5vX3BpZF9maWxlID09IElTQ19GQUxTRSkKKysJaWYgKG5vX3BpZF9maWxlID09IGZhbHNlKQorIAkJKHZvaWQpIHVubGluayhwYXRoX2RoY2xpZW50X3BpZCk7CisgCWZpbmlzaCgwKTsKKyB9CitJbmRleDogZGhjcC00LjQuMS9jb21tb24vaW5ldC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZGhjcC00LjQuMS5vcmlnL2NvbW1vbi9pbmV0LmMKKysrKyBkaGNwLTQuNC4xL2NvbW1vbi9pbmV0LmMKK0BAIC0yOTksNyArMjk5LDcgQEAgYWRkcl9hbmQoc3RydWN0IGlhZGRyICpyZXN1bHQsIGNvbnN0IHN0cgorICAqCisgICogQmVjYXVzZSB0aGUgZmluYWwgIi4xIiB3b3VsZCBnZXQgbWFza2VkIG91dCBieSB0aGUgLzguCisgICovCistaXNjX2Jvb2xlYW5fdAorK2Jvb2wKKyBpc19jaWRyX21hc2tfdmFsaWQoY29uc3Qgc3RydWN0IGlhZGRyICphZGRyLCBpbnQgYml0cykgeworIAlpbnQgemVyb19iaXRzOworIAlpbnQgemVyb19ieXRlczsKK0BAIC0zMTEsMTAgKzMxMSwxMCBAQCBpc19jaWRyX21hc2tfdmFsaWQoY29uc3Qgc3RydWN0IGlhZGRyICphCisgCSAqIENoZWNrIG91ciBiaXQgYm91bmRhcmllcy4KKyAJICovCisgCWlmIChiaXRzIDwgMCkgeworLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAJfQorIAlpZiAoYml0cyA+IChhZGRyLT5sZW4gKiA4KSkgeworLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAJfQorIAorIAkvKgorQEAgLTMyOCw3ICszMjgsNyBAQCBpc19jaWRyX21hc2tfdmFsaWQoY29uc3Qgc3RydWN0IGlhZGRyICphCisgCSAqLworIAlmb3IgKGk9MTsgaTw9emVyb19ieXRlczsgaSsrKSB7CisgCQlpZiAoYWRkci0+aWFidWZbYWRkci0+bGVuLWldICE9IDApIHsKKy0JCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJCXJldHVybiBmYWxzZTsKKyAJCX0KKyAJfQorIAorQEAgLTM0MCw3ICszNDAsNyBAQCBpc19jaWRyX21hc2tfdmFsaWQoY29uc3Qgc3RydWN0IGlhZGRyICphCisgCSAqIGhhcHB5LgorIAkgKi8KKyAJc2hpZnRfYml0cyA9IHplcm9fYml0cyAlIDg7CistCWlmIChzaGlmdF9iaXRzID09IDApIHJldHVybiBJU0NfVFJVRTsKKysJaWYgKHNoaWZ0X2JpdHMgPT0gMCkgcmV0dXJuIHRydWU7CisgCWJ5dGUgPSBhZGRyLT5pYWJ1ZlthZGRyLT5sZW4temVyb19ieXRlcy0xXTsKKyAJcmV0dXJuICgoKGJ5dGUgPj4gc2hpZnRfYml0cykgPDwgc2hpZnRfYml0cykgPT0gYnl0ZSk7CisgfQorSW5kZXg6IGRoY3AtNC40LjEvY29tbW9uL29wdGlvbnMuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9jb21tb24vb3B0aW9ucy5jCisrKysgZGhjcC00LjQuMS9jb21tb24vb3B0aW9ucy5jCitAQCAtNjc2LDcgKzY3Niw3IEBAIGNvbnNfb3B0aW9ucyhzdHJ1Y3QgcGFja2V0ICppbnBhY2tldCwgc3QKKyAJCSAqIHRoZSBwcmlvcml0eV9saXN0LiBUaGlzIHdheSB3ZSdsbCBzZW5kIGl0IHdoZXRoZXIgb3Igbm90IGl0CisgCQkgKiBpcyBpbiB0aGUgUFJMLiAqLworIAkJaWYgKChpbnBhY2tldCAhPSBOVUxMKSAmJiAocHJpb3JpdHlfbGVuIDwgUFJJT1JJVFlfQ09VTlQpICYmCistCQkgICAgKGlucGFja2V0LT5zdl9lY2hvX2NsaWVudF9pZCA9PSBJU0NfVFJVRSkpIHsKKysJCSAgICAoaW5wYWNrZXQtPnN2X2VjaG9fY2xpZW50X2lkID09IHRydWUpKSB7CisgCQkJcHJpb3JpdHlfbGlzdFtwcmlvcml0eV9sZW4rK10gPQorIAkJCQlESE9fREhDUF9DTElFTlRfSURFTlRJRklFUjsKKyAJCX0KK0BAIC0xODAyLDcgKzE4MDIsNyBAQCBjb25zdCBjaGFyICpwcmV0dHlfcHJpbnRfb3B0aW9uIChvcHRpb24sCisgCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmRwID0gZGF0YTsKKyAJY2hhciBjb21tYTsKKyAJdW5zaWduZWQgbG9uZyB0dmFsOworLQlpc2NfYm9vbGVhbl90IGFfYXJyYXkgPSBJU0NfRkFMU0U7CisrCWJvb2wgYV9hcnJheSA9IGZhbHNlOworIAlpbnQgbGVuX3VzZWQ7CisgCisgCWlmIChlbWl0X2NvbW1hcykKK0BAIC0xODI4LDcgKzE4MjgsNyBAQCBjb25zdCBjaGFyICpwcmV0dHlfcHJpbnRfb3B0aW9uIChvcHRpb24sCisgCQlmbXRidWYgW2xdID0gb3B0aW9uIC0+IGZvcm1hdCBbaV07CisgCQlzd2l0Y2ggKG9wdGlvbiAtPiBmb3JtYXQgW2ldKSB7CisgCQkgICAgICBjYXNlICdhJzoKKy0JCQlhX2FycmF5ID0gSVNDX1RSVUU7CisrCQkJYV9hcnJheSA9IHRydWU7CisgCQkJLyogRmFsbCB0aHJvdWdoICovCisgCQkgICAgICBjYXNlICdBJzoKKyAJCQktLW51bWVsZW07CitAQCAtMTg1OCw3ICsxODU4LDcgQEAgY29uc3QgY2hhciAqcHJldHR5X3ByaW50X29wdGlvbiAob3B0aW9uLAorIAkJCQlodW5rc2l6ZSsrOworIAkJCQljb21tYSA9ICc6JzsKKyAJCQkJbnVtaHVuayA9IDA7CistCQkJCWFfYXJyYXkgPSBJU0NfVFJVRTsKKysJCQkJYV9hcnJheSA9IHRydWU7CisgCQkJCWh1bmtpbmMgPSAxOworIAkJCX0KKyAJCQlmbXRidWYgW2wgKyAxXSA9IDA7CitAQCAtMTk1NCw3ICsxOTU0LDcgQEAgY29uc3QgY2hhciAqcHJldHR5X3ByaW50X29wdGlvbiAob3B0aW9uLAorIAorIAkvKiBJZiB0aGlzIGlzIGFuIGFycmF5LCBjb21wdXRlIGl0cyBzaXplLiAqLworIAlpZiAobnVtaHVuayA9PSAwKSB7CistCQlpZiAoYV9hcnJheSA9PSBJU0NfVFJVRSkgeworKwkJaWYgKGFfYXJyYXkgPT0gdHJ1ZSkgeworIAkJCS8qCisgCQkJICogSXQgaXMgYW4gJ2EnIHR5cGUgYXJyYXkgLSB3ZSByZXBlYXQgdGhlCisgCQkJICogbGFzdCBmb3JtYXQgdHlwZS4gIEEgYmluYXJ5IHN0cmluZyBmb3IgJ1gnCitAQCAtMjAwNiw3ICsyMDA2LDcgQEAgY29uc3QgY2hhciAqcHJldHR5X3ByaW50X29wdGlvbiAob3B0aW9uLAorIAorIAkvKiBDeWNsZSB0aHJvdWdoIHRoZSBhcnJheSAob3IgaHVuaykgcHJpbnRpbmcgdGhlIGRhdGEuICovCisgCWZvciAoaSA9IDA7IGkgPCBudW1odW5rOyBpKyspIHsKKy0JCWlmICgoYV9hcnJheSA9PSBJU0NfVFJVRSkgJiYgKGkgIT0gMCkgJiYgKG51bWVsZW0gPiAwKSkgeworKwkJaWYgKChhX2FycmF5ID09IHRydWUpICYmIChpICE9IDApICYmIChudW1lbGVtID4gMCkpIHsKKyAJCQkvKgorIAkJCSAqIEZvciAnYScgdHlwZSBvZiBhcnJheXMgd2UgcmVwZWF0CisgCQkJICogb25seSB0aGUgbGFzdCBmb3JtYXQgY2hhcmFjdGVyCitAQCAtMjczNCw3ICsyNzM0LDcgQEAgc2F2ZV9vcHRpb24oc3RydWN0IHVuaXZlcnNlICp1bml2ZXJzZSwgcworIAkgICAgc3RydWN0IG9wdGlvbl9jYWNoZSAqb2MpCisgeworIAlpZiAodW5pdmVyc2UtPnNhdmVfZnVuYykKKy0JCSgqdW5pdmVyc2UtPnNhdmVfZnVuYykodW5pdmVyc2UsIG9wdGlvbnMsIG9jLCBJU0NfRkFMU0UpOworKwkJKCp1bml2ZXJzZS0+c2F2ZV9mdW5jKSh1bml2ZXJzZSwgb3B0aW9ucywgb2MsIHRydWUpOworIAllbHNlCisgCQlsb2dfZXJyb3IoImNhbid0IHN0b3JlIG9wdGlvbnMgaW4gJXMgc3BhY2UuIiwgdW5pdmVyc2UtPm5hbWUpOworIH0KK0BAIC0yNzQ1LDE0ICsyNzQ1LDE0IEBAIGFsc29fc2F2ZV9vcHRpb24oc3RydWN0IHVuaXZlcnNlICp1bml2ZXIKKyAJCSBzdHJ1Y3Qgb3B0aW9uX2NhY2hlICpvYykKKyB7CisgCWlmICh1bml2ZXJzZS0+c2F2ZV9mdW5jKQorLQkJKCp1bml2ZXJzZS0+c2F2ZV9mdW5jKSh1bml2ZXJzZSwgb3B0aW9ucywgb2MsIElTQ19UUlVFKTsKKysJCSgqdW5pdmVyc2UtPnNhdmVfZnVuYykodW5pdmVyc2UsIG9wdGlvbnMsIG9jLCB0cnVlKTsKKyAJZWxzZQorIAkJbG9nX2Vycm9yKCJjYW4ndCBzdG9yZSBvcHRpb25zIGluICVzIHNwYWNlLiIsIHVuaXZlcnNlLT5uYW1lKTsKKyB9CisgCisgdm9pZAorIHNhdmVfaGFzaGVkX29wdGlvbihzdHJ1Y3QgdW5pdmVyc2UgKnVuaXZlcnNlLCBzdHJ1Y3Qgb3B0aW9uX3N0YXRlICpvcHRpb25zLAorLQkJICAgc3RydWN0IG9wdGlvbl9jYWNoZSAqb2MsIGlzY19ib29sZWFuX3QgYXBwZW5kcCkKKysJCSAgIHN0cnVjdCBvcHRpb25fY2FjaGUgKm9jLCBib29sIGFwcGVuZHApCisgeworIAlpbnQgaGFzaGl4OworIAlwYWlyIGJwdHI7CitAQCAtMzA2Miw3ICszMDYyLDcgQEAgc3RvcmVfb3B0aW9uKHN0cnVjdCBkYXRhX3N0cmluZyAqcmVzdWx0LAorIAkJCQkJCSAgY2ZnX29wdGlvbnMsIHNjb3BlLCBzdWJ1KTsKKyAJCQkJc3VidSA9IE5VTEw7CisgCQkJfQorLQkJfSB3aGlsZSAoSVNDX0ZBTFNFKTsKKysJCX0gd2hpbGUgKGZhbHNlKTsKKyAKKyAJCXN0YXR1cyA9IGFwcGVuZF9vcHRpb24ocmVzdWx0LCB1bml2ZXJzZSwgb2MtPm9wdGlvbiwgJnRtcCk7CisgCQlkYXRhX3N0cmluZ19mb3JnZXQoJnRtcCwgTURMKTsKK0BAIC0zNDU5LDcgKzM0NTksNyBAQCBsb29rdXBfZnFkbjZfb3B0aW9uKHN0cnVjdCB1bml2ZXJzZSAqdW5pCisgICovCisgdm9pZAorIHNhdmVfZnFkbjZfb3B0aW9uKHN0cnVjdCB1bml2ZXJzZSAqdW5pdmVyc2UsIHN0cnVjdCBvcHRpb25fc3RhdGUgKm9wdGlvbnMsCistCQkgIHN0cnVjdCBvcHRpb25fY2FjaGUgKm9jLCBpc2NfYm9vbGVhbl90IGFwcGVuZHApCisrCQkgIHN0cnVjdCBvcHRpb25fY2FjaGUgKm9jLCBib29sIGFwcGVuZHApCisgeworIAlsb2dfZmF0YWwoIkltcG9zc2libGUgY29uZGl0aW9uIGF0ICVzOiVkLiIsIE1ETCk7CisgfQorQEAgLTM3ODQsNyArMzc4NCw3IEBAIHZvaWQgaGFzaGVkX29wdGlvbl9zcGFjZV9mb3JlYWNoIChzdHJ1Y3QKKyAKKyB2b2lkCisgc2F2ZV9saW5rZWRfb3B0aW9uKHN0cnVjdCB1bml2ZXJzZSAqdW5pdmVyc2UsIHN0cnVjdCBvcHRpb25fc3RhdGUgKm9wdGlvbnMsCistCQkgICBzdHJ1Y3Qgb3B0aW9uX2NhY2hlICpvYywgaXNjX2Jvb2xlYW5fdCBhcHBlbmRwKQorKwkJICAgc3RydWN0IG9wdGlvbl9jYWNoZSAqb2MsIGJvb2wgYXBwZW5kcCkKKyB7CisgCXBhaXIgKnRhaWw7CisgCXN0cnVjdCBvcHRpb25fY2hhaW5faGVhZCAqaGVhZDsKK0BAIC00MDczLDcgKzQwNzMsNyBAQCBwYWNrZXQ2X2xlbl9va2F5KGNvbnN0IGNoYXIgKnBhY2tldCwgaW50Cisgdm9pZAorIGRvX3BhY2tldDYoc3RydWN0IGludGVyZmFjZV9pbmZvICppbnRlcmZhY2UsIGNvbnN0IGNoYXIgKnBhY2tldCwKKyAJICAgaW50IGxlbiwgaW50IGZyb21fcG9ydCwgY29uc3Qgc3RydWN0IGlhZGRyICpmcm9tLAorLQkgICBpc2NfYm9vbGVhbl90IHdhc191bmljYXN0KSB7CisrCSAgIGJvb2wgd2FzX3VuaWNhc3QpIHsKKyAJdW5zaWduZWQgY2hhciBtc2dfdHlwZTsKKyAJY29uc3Qgc3RydWN0IGRoY3B2Nl9wYWNrZXQgKm1zZzsKKyAJY29uc3Qgc3RydWN0IGRoY3B2Nl9yZWxheV9wYWNrZXQgKnJlbGF5OworSW5kZXg6IGRoY3AtNC40LjEvY29tbW9uL3BhcnNlLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBkaGNwLTQuNC4xLm9yaWcvY29tbW9uL3BhcnNlLmMKKysrKyBkaGNwLTQuNC4xL2NvbW1vbi9wYXJzZS5jCitAQCAtNDk1Miw3ICs0OTUyLDcgQEAgaW50IHBhcnNlX29wdGlvbl90b2tlbiAocnYsIGNmaWxlLCBmbXQsCisgCXVuc2lnbmVkIGxlbjsKKyAJc3RydWN0IGlhZGRyIGFkZHI7CisgCWludCBjb21wcmVzczsKKy0JaXNjX2Jvb2xlYW5fdCBmcmVldmFsID0gSVNDX0ZBTFNFOworKwlib29sIGZyZWV2YWwgPSBmYWxzZTsKKyAJY29uc3QgY2hhciAqZiwgKmc7CisgCXN0cnVjdCBlbnVtZXJhdGlvbl92YWx1ZSAqZTsKKyAKK0BAIC01MDM4LDcgKzUwMzgsNyBAQCBpbnQgcGFyc2Vfb3B0aW9uX3Rva2VuIChydiwgY2ZpbGUsIGZtdCwKKyAJCQlyZXR1cm4gMDsKKyAJCX0KKyAJCWxlbiA9IHN0cmxlbiAodmFsKTsKKy0JCWZyZWV2YWwgPSBJU0NfVFJVRTsKKysJCWZyZWV2YWwgPSB0cnVlOworIAkJZ290byBtYWtlX3N0cmluZzsKKyAKKyAJICAgICAgY2FzZSAndCc6IC8qIFRleHQgc3RyaW5nLi4uICovCitAQCAtNTA1NSw5ICs1MDU1LDkgQEAgaW50IHBhcnNlX29wdGlvbl90b2tlbiAocnYsIGNmaWxlLCBmbXQsCisgCQlpZiAoIW1ha2VfY29uc3RfZGF0YSAoJnQsIChjb25zdCB1bnNpZ25lZCBjaGFyICopdmFsLAorIAkJCQkgICAgICBsZW4sIDEsIDEsIE1ETCkpCisgCQkJbG9nX2ZhdGFsICgiTm8gbWVtb3J5IGZvciBjb25jYXRlbmF0aW9uIik7CistCQlpZiAoZnJlZXZhbCA9PSBJU0NfVFJVRSkgeworKwkJaWYgKGZyZWV2YWwgPT0gdHJ1ZSkgeworIAkJCWRmcmVlKChjaGFyICopdmFsLCBNREwpOworLQkJCWZyZWV2YWwgPSBJU0NfRkFMU0U7CisrCQkJZnJlZXZhbCA9IGZhbHNlOworIAkJCVBPU1QoZnJlZXZhbCk7CisgCQl9CisgCQlicmVhazsKK0luZGV4OiBkaGNwLTQuNC4xL29tYXBpcC9kaXNwYXRjaC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZGhjcC00LjQuMS5vcmlnL29tYXBpcC9kaXNwYXRjaC5jCisrKysgZGhjcC00LjQuMS9vbWFwaXAvZGlzcGF0Y2guYworQEAgLTE1Niw3ICsxNTYsNyBAQCBvbWFwaV9pc2Nzb2NrX2NiKGlzY190YXNrX3QgICAqdGFzaywKKyAJICogVGhpcyBzaG91bGQgYmUgYSB0ZW1wb3JhcnkgZml4IHVudGlsIHdlIGFycmFuZ2UgdG8gcHJvcGVybHkKKyAJICogY2xvc2UgdGhlIHNvY2tldC4KKyAJICovCistCWlmIChvYmotPmNsb3NlZCA9PSBJU0NfVFJVRSkgeworKwlpZiAob2JqLT5jbG9zZWQgPT0gdHJ1ZSkgeworIAkJcmV0dXJuKDApOworIAl9CisgI2VuZGlmCSAgCitAQCAtMjIzLDcgKzIyMyw3IEBAIGlzY19yZXN1bHRfdCBvbWFwaV9yZWdpc3Rlcl9pb19vYmplY3QgKG8KKyAJc3RhdHVzID0gb21hcGlfaW9fYWxsb2NhdGUgKCZvYmosIE1ETCk7CisgCWlmIChzdGF0dXMgIT0gSVNDX1JfU1VDQ0VTUykKKyAJCXJldHVybiBzdGF0dXM7CistCW9iai0+Y2xvc2VkID0gSVNDX0ZBTFNFOyAgLyogbWFyayBhcyBvcGVuICovCisrCW9iai0+Y2xvc2VkID0gZmFsc2U7ICAvKiBtYXJrIGFzIG9wZW4gKi8KKyAKKyAJc3RhdHVzID0gb21hcGlfb2JqZWN0X3JlZmVyZW5jZSAoJm9iaiAtPiBpbm5lciwgaCwgTURMKTsKKyAJaWYgKHN0YXR1cyAhPSBJU0NfUl9TVUNDRVNTKSB7CitAQCAtNDA0LDcgKzQwNCw3IEBAIGlzY19yZXN1bHRfdCBvbWFwaV91bnJlZ2lzdGVyX2lvX29iamVjdAorIAkJaXNjX3NvY2tldF9kZXRhY2goJm9iai0+ZmQpOworIAl9CisgI2Vsc2UKKy0Jb2JqLT5jbG9zZWQgPSBJU0NfVFJVRTsKKysJb2JqLT5jbG9zZWQgPSB0cnVlOworICNlbmRpZgorIAorIAlvbWFwaV9pb19kZXJlZmVyZW5jZSAoJnBoLCBNREwpOworSW5kZXg6IGRoY3AtNC40LjEvb21hcGlwL2lzY2xpYi5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZGhjcC00LjQuMS5vcmlnL29tYXBpcC9pc2NsaWIuYworKysrIGRoY3AtNC40LjEvb21hcGlwL2lzY2xpYi5jCitAQCAtMTA2LDkgKzEwNiw5IEBAIGlzY2xpYl9jbGVhbnVwKHZvaWQpCisgCWlmIChkaGNwX2dibF9jdHgudGFza21nciAhPSBOVUxMKQorIAkJaXNjX3Rhc2ttZ3JfZGVzdHJveSgmZGhjcF9nYmxfY3R4LnRhc2ttZ3IpOworIAorLQlpZiAoZGhjcF9nYmxfY3R4LmFjdHhfc3RhcnRlZCAhPSBJU0NfRkFMU0UpIHsKKysJaWYgKGRoY3BfZ2JsX2N0eC5hY3R4X3N0YXJ0ZWQgIT0gZmFsc2UpIHsKKyAJCWlzY19hcHBfY3R4ZmluaXNoKGRoY3BfZ2JsX2N0eC5hY3R4KTsKKy0JCWRoY3BfZ2JsX2N0eC5hY3R4X3N0YXJ0ZWQgPSBJU0NfRkFMU0U7CisrCQlkaGNwX2dibF9jdHguYWN0eF9zdGFydGVkID0gZmFsc2U7CisgCX0KKyAKKyAJaWYgKGRoY3BfZ2JsX2N0eC5hY3R4ICE9IE5VTEwpCitAQCAtMjExLDcgKzIxMSw3IEBAIGRoY3BfY29udGV4dF9jcmVhdGUoaW50IGZsYWdzLAorIAkJcmVzdWx0ID0gaXNjX2FwcF9jdHhzdGFydChkaGNwX2dibF9jdHguYWN0eCk7CisgCQlpZiAocmVzdWx0ICE9IElTQ19SX1NVQ0NFU1MpCisgCQkJcmV0dXJuIChyZXN1bHQpOworLQkJZGhjcF9nYmxfY3R4LmFjdHhfc3RhcnRlZCA9IElTQ19UUlVFOworKwkJZGhjcF9nYmxfY3R4LmFjdHhfc3RhcnRlZCA9IHRydWU7CisgCisgCQkvKiBOb3QgYWxsIE9TcyBzdXBwb3J0IHN1cHByZXNzaW5nIFNJR1BJUEUgdGhyb3VnaCBzb2NrZXQKKyAJCSAqIG9wdGlvbnMsIHNvIHNldCB0aGUgc2lnYWwgYWN0aW9uIHRvIGJlIGlnbm9yZS4gIFRoaXMgYWxsb3dzCitJbmRleDogZGhjcC00LjQuMS9vbWFwaXAvcHJvdG9jb2wuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9vbWFwaXAvcHJvdG9jb2wuYworKysrIGRoY3AtNC40LjEvb21hcGlwL3Byb3RvY29sLmMKK0BAIC05NTAsMTQgKzk1MCwxNCBAQCBpc2NfcmVzdWx0X3Qgb21hcGlfcHJvdG9jb2xfc3R1ZmZfdmFsdWVzCisgLyogUmV0dXJucyBhIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoaXMgcHJvdG9jb2wgcmVxdWlyZXMgdGhhdAorICAgIG1lc3NhZ2VzIGJlIGF1dGhlbnRpY2F0ZWQgb3Igbm90LiAqLworIAorLWlzY19ib29sZWFuX3Qgb21hcGlfcHJvdG9jb2xfYXV0aGVudGljYXRlZCAob21hcGlfb2JqZWN0X3QgKmgpCisrYm9vbCBvbWFwaV9wcm90b2NvbF9hdXRoZW50aWNhdGVkIChvbWFwaV9vYmplY3RfdCAqaCkKKyB7CisgCWlmIChoIC0+IHR5cGUgIT0gb21hcGlfdHlwZV9wcm90b2NvbCkKKy0JCXJldHVybiBpc2NfYm9vbGVhbl9mYWxzZTsKKysJCXJldHVybiBmYWxzZTsKKyAJaWYgKCgob21hcGlfcHJvdG9jb2xfb2JqZWN0X3QgKiloKSAtPiBpbnNlY3VyZSkKKy0JCXJldHVybiBpc2NfYm9vbGVhbl9mYWxzZTsKKysJCXJldHVybiBmYWxzZTsKKyAJZWxzZQorLQkJcmV0dXJuIGlzY19ib29sZWFuX3RydWU7CisrCQlyZXR1cm4gdHJ1ZTsKKyB9CisgCisgLyogU2V0cyB0aGUgYWRkcmVzcyBhbmQgYXV0aGVudGljYXRvciB2ZXJpZmljYXRpb24gY2FsbGJhY2tzLiAgVGhlIGhhbmRsZQorSW5kZXg6IGRoY3AtNC40LjEvcmVsYXkvZGhjcmVsYXkuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9yZWxheS9kaGNyZWxheS5jCisrKysgZGhjcC00LjQuMS9yZWxheS9kaGNyZWxheS5jCitAQCAtNDUsOSArNDUsOSBAQCBjaGFyICp0b2tlbl9saW5lOworIGNoYXIgKnRsbmFtZTsKKyAKKyBjb25zdCBjaGFyICpwYXRoX2RoY3JlbGF5X3BpZCA9IF9QQVRIX0RIQ1JFTEFZX1BJRDsKKy1pc2NfYm9vbGVhbl90IG5vX2RoY3JlbGF5X3BpZCA9IElTQ19GQUxTRTsKKytib29sIG5vX2RoY3JlbGF5X3BpZCA9IGZhbHNlOworIC8qIEZhbHNlIChkZWZhdWx0KSA9PiB3ZSB3cml0ZSBhbmQgdXNlIGEgcGlkIGZpbGUgKi8KKy1pc2NfYm9vbGVhbl90IG5vX3BpZF9maWxlID0gSVNDX0ZBTFNFOworK2Jvb2wgbm9fcGlkX2ZpbGUgPSBmYWxzZTsKKyAKKyBpbnQgYm9ndXNfYWdlbnRfZHJvcHMgPSAwOwkvKiBQYWNrZXRzIGRyb3BwZWQgYmVjYXVzZSBhZ2VudCBvcHRpb24KKyAJCQkJICAgZmllbGQgd2FzIHNwZWNpZmllZCBhbmQgd2UncmUgbm90IHJlbGF5aW5nCitAQCAtODIsNyArODIsNyBAQCBpbnQgZGZkWzJdID0geyAtMSwgLTEgfTsKKyAKKyAjaWZkZWYgREhDUHY2CisgCS8qIEZvcmNlIHVzZSBvZiBESENQdjYgaW50ZXJmYWNlLWlkIG9wdGlvbi4gKi8KKy1pc2NfYm9vbGVhbl90IHVzZV9pZl9pZCA9IElTQ19GQUxTRTsKKytib29sIHVzZV9pZl9pZCA9IGZhbHNlOworICNlbmRpZgorIAorIAkvKiBNYXhpbXVtIHNpemUgb2YgYSBwYWNrZXQgd2l0aCBhZ2VudCBvcHRpb25zIGFkZGVkLiAqLworQEAgLTU1Niw3ICs1NTYsNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworIAkJCX0KKyAJCQlsb2NhbF9mYW1pbHlfc2V0ID0gMTsKKyAJCQlsb2NhbF9mYW1pbHkgPSBBRl9JTkVUNjsKKy0JCQl1c2VfaWZfaWQgPSBJU0NfVFJVRTsKKysJCQl1c2VfaWZfaWQgPSB0cnVlOworIAkJfSBlbHNlIGlmICghc3RyY21wKGFyZ3ZbaV0sICItbCIpKSB7CisgCQkJaWYgKGxvY2FsX2ZhbWlseV9zZXQgJiYgKGxvY2FsX2ZhbWlseSA9PSBBRl9JTkVUKSkgeworIAkJCQl1c2FnZSh1c2VfdjZjb21tYW5kLCBhcmd2W2ldKTsKK0BAIC01NjQsNyArNTY0LDcgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAJCQlsb2NhbF9mYW1pbHlfc2V0ID0gMTsKKyAJCQlsb2NhbF9mYW1pbHkgPSBBRl9JTkVUNjsKKyAJCQlpZiAoZG93bnN0cmVhbXMgIT0gTlVMTCkKKy0JCQkJdXNlX2lmX2lkID0gSVNDX1RSVUU7CisrCQkJCXVzZV9pZl9pZCA9IHRydWU7CisgCQkJaWYgKCsraSA9PSBhcmdjKQorIAkJCQl1c2FnZSh1c2Vfbm9hcmcsIGFyZ3ZbaS0xXSk7CisgCQkJc2wgPSBwYXJzZV9kb3duc3RyZWFtKGFyZ3ZbaV0pOworQEAgLTU5NSw5ICs1OTUsOSBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworIAkJCWlmICgrK2kgPT0gYXJnYykKKyAJCQkJdXNhZ2UodXNlX25vYXJnLCBhcmd2W2ktMV0pOworIAkJCXBhdGhfZGhjcmVsYXlfcGlkID0gYXJndltpXTsKKy0JCQlub19kaGNyZWxheV9waWQgPSBJU0NfVFJVRTsKKysJCQlub19kaGNyZWxheV9waWQgPSB0cnVlOworIAkJfSBlbHNlIGlmICghc3RyY21wKGFyZ3ZbaV0sICItLW5vLXBpZCIpKSB7CistCQkJbm9fcGlkX2ZpbGUgPSBJU0NfVFJVRTsKKysJCQlub19waWRfZmlsZSA9IHRydWU7CisgIAkJfSBlbHNlIGlmIChhcmd2W2ldWzBdID09ICctJykgeworIAkJCXVzYWdlKCJVbmtub3duIGNvbW1hbmQ6ICVzIiwgYXJndltpXSk7CisgIAkJfSBlbHNlIHsKK0BAIC02NDUsNyArNjQ1LDcgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAJICogSWYgdGhlIHVzZXIgZGlkbid0IHNwZWNpZnkgYSBwaWQgZmlsZSBkaXJlY3RseQorIAkgKiBmaW5kIG9uZSBmcm9tIGVudmlyb25tZW50IHZhcmlhYmxlcyBvciBkZWZhdWx0cworIAkgKi8KKy0JaWYgKG5vX2RoY3JlbGF5X3BpZCA9PSBJU0NfRkFMU0UpIHsKKysJaWYgKG5vX2RoY3JlbGF5X3BpZCA9PSBmYWxzZSkgeworIAkJaWYgKGxvY2FsX2ZhbWlseSA9PSBBRl9JTkVUKSB7CisgCQkJcGF0aF9kaGNyZWxheV9waWQgPSBnZXRlbnYoIlBBVEhfREhDUkVMQVlfUElEIik7CisgCQkJaWYgKHBhdGhfZGhjcmVsYXlfcGlkID09IE5VTEwpCitAQCAtNzc0LDcgKzc3NCw3IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CisgCQl9CisgCisgCQkvKiBDcmVhdGUgdGhlIHBpZCBmaWxlLiAqLworLQkJaWYgKG5vX3BpZF9maWxlID09IElTQ19GQUxTRSkgeworKwkJaWYgKG5vX3BpZF9maWxlID09IGZhbHNlKSB7CisgCQkJcGZkZXNjID0gb3BlbihwYXRoX2RoY3JlbGF5X3BpZCwKKyAJCQkJICAgICAgT19DUkVBVCB8IE9fVFJVTkMgfCBPX1dST05MWSwgMDY0NCk7CisgCitAQCAtMTU2OSw3ICsxNTY5LDcgQEAgc3RhdGljIHZvaWQKKyBzZXR1cF9zdHJlYW1zKHZvaWQpIHsKKyAJc3RydWN0IHN0cmVhbV9saXN0ICpkcCwgKnVwOworIAlpbnQgaTsKKy0JaXNjX2Jvb2xlYW5fdCBsaW5rX2lzX3NldDsKKysJYm9vbCBsaW5rX2lzX3NldDsKKyAKKyAJZm9yIChkcCA9IGRvd25zdHJlYW1zOyBkcDsgZHAgPSBkcC0+bmV4dCkgeworIAkJLyogQ2hlY2sgaW50ZXJmYWNlICovCitAQCAtMTU3OSw5ICsxNTc5LDkgQEAgc2V0dXBfc3RyZWFtcyh2b2lkKSB7CisgCisgCQkvKiBDaGVjay9zZXQgbGluay4gKi8KKyAJCWlmIChJTjZfSVNfQUREUl9VTlNQRUNJRklFRCgmZHAtPmxpbmsuc2luNl9hZGRyKSkKKy0JCQlsaW5rX2lzX3NldCA9IElTQ19GQUxTRTsKKysJCQlsaW5rX2lzX3NldCA9IGZhbHNlOworIAkJZWxzZQorLQkJCWxpbmtfaXNfc2V0ID0gSVNDX1RSVUU7CisrCQkJbGlua19pc19zZXQgPSB0cnVlOworIAkJZm9yIChpID0gMDsgaSA8IGRwLT5pZnAtPnY2YWRkcmVzc19jb3VudDsgaSsrKSB7CisgCQkJaWYgKElONl9JU19BRERSX0xJTktMT0NBTCgmZHAtPmlmcC0+djZhZGRyZXNzZXNbaV0pKQorIAkJCQljb250aW51ZTsKK0BAIC0yMDc2LDcgKzIwNzYsNyBAQCBkaGNwX3NldF9jb250cm9sX3N0YXRlKGNvbnRyb2xfb2JqZWN0X3N0CisgCWlmIChuZXdzdGF0ZSAhPSBzZXJ2ZXJfc2h1dGRvd24pCisgCQlyZXR1cm4gSVNDX1JfU1VDQ0VTUzsKKyAKKy0JaWYgKG5vX3BpZF9maWxlID09IElTQ19GQUxTRSkKKysJaWYgKG5vX3BpZF9maWxlID09IGZhbHNlKQorIAkJKHZvaWQpIHVubGluayhwYXRoX2RoY3JlbGF5X3BpZCk7CisgCisgCWlmICghbm9fZGFlbW9uICYmIGRmZFswXSAhPSAtMSAmJiBkZmRbMV0gIT0gLTEpIHsKK0luZGV4OiBkaGNwLTQuNC4xL3NlcnZlci9kaGNwLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBkaGNwLTQuNC4xLm9yaWcvc2VydmVyL2RoY3AuYworKysrIGRoY3AtNC40LjEvc2VydmVyL2RoY3AuYworQEAgLTIyNSw3ICsyMjUsNyBAQCBkaGNwIChzdHJ1Y3QgcGFja2V0ICpwYWNrZXQpIHsKKyAJCQlwYWNrZXQtPm9wdGlvbnMtPnVuaXZlcnNlX2NvdW50ID0KKyAJCQkJCQlhZ2VudF91bml2ZXJzZS5pbmRleCArIDE7CisgCistCQlwYWNrZXQtPmFnZW50X29wdGlvbnNfc3Rhc2hlZCA9IElTQ19UUlVFOworKwkJcGFja2V0LT5hZ2VudF9vcHRpb25zX3N0YXNoZWQgPSB0cnVlOworIAl9CisgICAgICAgbm9sZWFzZToKKyAKK0BAIC0xMDk0LDcgKzEwOTQsNyBAQCB2b2lkIGRoY3BpbmZvcm0gKHBhY2tldCwgbXNfbnVsbHRwKQorIAlpbnQgbnVsbHRwOworIAlzdHJ1Y3Qgc29ja2FkZHJfaW4gdG87CisgCXN0cnVjdCBpbl9hZGRyIGZyb207CistCWlzY19ib29sZWFuX3QgemVyb2VkX2NpYWRkcjsKKysJYm9vbCB6ZXJvZWRfY2lhZGRyOworIAlzdHJ1Y3QgaW50ZXJmYWNlX2luZm8gKmludGVyZmFjZTsKKyAJaW50IHJlc3VsdCwgaF9tX2NsaWVudF9pcCA9IDA7CisgCXN0cnVjdCBob3N0X2RlY2wgICpob3N0ID0gTlVMTCwgKmhwID0gTlVMTCwgKmg7CitAQCAtMTEwOSw3ICsxMTA5LDcgQEAgdm9pZCBkaGNwaW5mb3JtIChwYWNrZXQsIG1zX251bGx0cCkKKyAJICAgaXQncyBjb21tb24gZm9yIGNsaWVudHMgbm90IHRvIGRvIHRoaXMsIHNvIHdlJ2xsIHVzZSB0aGVpciBJUAorIAkgICBzb3VyY2UgYWRkcmVzcyBpZiB0aGV5IGRpZG4ndCBzZXQgY2lhZGRyLiAqLworIAlpZiAoIXBhY2tldC0+cmF3LT5jaWFkZHIuc19hZGRyKSB7CistCQl6ZXJvZWRfY2lhZGRyID0gSVNDX1RSVUU7CisrCQl6ZXJvZWRfY2lhZGRyID0gdHJ1ZTsKKyAJCS8qIFdpdGggREhDUHY0LW92ZXItREhDUHY2IGl0IGNhbiBiZSBhbiBJUHY2IGFkZHJlc3MKKyAJCSAgIHNvIHdlIGNoZWNrIGl0cyBsZW5ndGguICovCisgCQlpZiAocGFja2V0LT5jbGllbnRfYWRkci5sZW4gPT0gNCkgeworQEAgLTExMjIsNyArMTEyMiw3IEBAIHZvaWQgZGhjcGluZm9ybSAocGFja2V0LCBtc19udWxsdHApCisgCQkJYWRkcl90eXBlID0gInY0bzYiOworIAkJfQorIAl9IGVsc2UgeworLQkJemVyb2VkX2NpYWRkciA9IElTQ19GQUxTRTsKKysJCXplcm9lZF9jaWFkZHIgPSBmYWxzZTsKKyAJCWNpcC5sZW4gPSA0OworIAkJbWVtY3B5KGNpcC5pYWJ1ZiwgJnBhY2tldC0+cmF3LT5jaWFkZHIsIDQpOworIAkJYWRkcl90eXBlID0gImNsaWVudCI7CitAQCAtMTEzMyw3ICsxMTMzLDcgQEAgdm9pZCBkaGNwaW5mb3JtIChwYWNrZXQsIG1zX251bGx0cCkKKyAJaWYgKHBhY2tldC0+cmF3LT5naWFkZHIuc19hZGRyKSB7CisgCQlnaXAubGVuID0gNDsKKyAJCW1lbWNweShnaXAuaWFidWYsICZwYWNrZXQtPnJhdy0+Z2lhZGRyLCA0KTsKKy0JCWlmICh6ZXJvZWRfY2lhZGRyID09IElTQ19UUlVFKSB7CisrCQlpZiAoemVyb2VkX2NpYWRkciA9PSB0cnVlKSB7CisgCQkJYWRkcl90eXBlID0gInJlbGF5IjsKKyAJCQltZW1jcHkoc2lwLmlhYnVmLCBnaXAuaWFidWYsIDQpOworIAkJfQorQEAgLTEyMDcsNyArMTIwNyw3IEBAIHZvaWQgZGhjcGluZm9ybSAocGFja2V0LCBtc19udWxsdHApCisgCQlzYXZlX29wdGlvbigmZGhjcF91bml2ZXJzZSwgb3B0aW9ucywgbm9jKTsKKyAJCW9wdGlvbl9jYWNoZV9kZXJlZmVyZW5jZSgmbm9jLCBNREwpOworIAorLQkJaWYgKCh6ZXJvZWRfY2lhZGRyID09IElTQ19UUlVFKSAmJiAoZ2lwLmxlbiAhPSAwKSkKKysJCWlmICgoemVyb2VkX2NpYWRkciA9PSB0cnVlKSAmJiAoZ2lwLmxlbiAhPSAwKSkKKyAJCQlhZGRyX3R5cGUgPSAicmVsYXkgbGluayBzZWxlY3QiOworIAkJZWxzZQorIAkJCWFkZHJfdHlwZSA9ICJzZWxlY3RlZCI7CitAQCAtMTI2MSw3ICsxMjYxLDcgQEAgdm9pZCBkaGNwaW5mb3JtIChwYWNrZXQsIG1zX251bGx0cCkKKyAJCQkJICAgIE5VTEwsIE5VTEwpOworIAorIAkvKiBJZiB3ZSBoYXZlIGNpYWRkciwgZmluZCBpdHMgbGVhc2Ugc28gd2UgY2FuIGZpbmQgaXRzIHBvb2wuICovCistCWlmICh6ZXJvZWRfY2lhZGRyID09IElTQ19GQUxTRSkgeworKwlpZiAoemVyb2VkX2NpYWRkciA9PSBmYWxzZSkgeworIAkJc3RydWN0IGxlYXNlKiBjaXBfbGVhc2UgPSBOVUxMOworIAorIAkJZmluZF9sZWFzZV9ieV9pcF9hZGRyICgmY2lwX2xlYXNlLCBjaXAsIE1ETCk7CitAQCAtMjAzNiw3ICsyMDM2LDcgQEAgdm9pZCBlY2hvX2NsaWVudF9pZChwYWNrZXQsIGxlYXNlLCBpbl9vcAorIAkJdW5zaWduZWQgaW50IG9wY29kZSA9IERIT19ESENQX0NMSUVOVF9JREVOVElGSUVSOworIAorIAkJLyogU2F2ZSBrbm93bGVkZ2UgdGhhdCBlY2hvIGlzIGVuYWJsZWQgdG8gdGhlIHBhY2tldCAqLworLQkJcGFja2V0LT5zdl9lY2hvX2NsaWVudF9pZCA9IElTQ19UUlVFOworKwkJcGFja2V0LT5zdl9lY2hvX2NsaWVudF9pZCA9IHRydWU7CisgCisgCQkvKiBOb3cgc2VlIGlmIGluYm91bmQgcGFja2V0IGNvbnRhaW5zIGNsaWVudC1pZCAqLworIAkJb2MgPSBsb29rdXBfb3B0aW9uKCZkaGNwX3VuaXZlcnNlLCBwYWNrZXQtPm9wdGlvbnMsIG9wY29kZSk7CitAQCAtMjE4Nyw3ICsyMTg3LDcgQEAgdm9pZCBhY2tfbGVhc2UgKHBhY2tldCwgbGVhc2UsIG9mZmVyLCB3aAorIAlzdHJ1Y3QgaWFkZHIgY2lwOworICNpZiBkZWZpbmVkKERFTEFZRURfQUNLKQorIAkvKiBCeSBkZWZhdWx0IHdlIGRvbid0IGRvIHRoZSBlbnF1ZXVlICovCistCWlzY19ib29sZWFuX3QgZW5xdWV1ZSA9IElTQ19GQUxTRTsKKysJYm9vbCBlbnF1ZXVlID0gZmFsc2U7CisgI2VuZGlmCisgCWludCB1c2Vfb2xkX2xlYXNlID0gMDsKKyAKK0BAIC0zMjE3LDcgKzMyMTcsNyBAQCB2b2lkIGFja19sZWFzZSAocGFja2V0LCBsZWFzZSwgb2ZmZXIsIHdoCisgCQkgKiBjYW4ganVzdCBhbnN3ZXIgcmlnaHQgYXdheSwgc2V0IGEgZmxhZyB0byBpbmRpY2F0ZSB0aGlzLgorIAkJICovCisgCQlpZiAoY29tbWl0KQorLQkJCWVucXVldWUgPSBJU0NfVFJVRTsKKysJCQllbnF1ZXVlID0gdHJ1ZTsKKyAKKyAJCS8qIEluc3RhbGwgdGhlIG5ldyBpbmZvcm1hdGlvbiBvbiAnbHQnIG9udG8gdGhlIGxlYXNlIGF0CisgCQkgKiAnbGVhc2UnLiAgV2Ugd2lsbCBub3QgJ2NvbW1pdCcgdGhpcyBpbmZvcm1hdGlvbiB0byBkaXNrCitAQCAtNDIzNCw3ICs0MjM0LDcgQEAgaW50IGZpbmRfbGVhc2UgKHN0cnVjdCBsZWFzZSAqKmxwLAorIAkgKiBwcmVmZXJlbmNlLCBzbyB0aGUgZmlyc3Qgb25lIGlzIHRoZSBiZXN0IG9uZS4KKyAJICovCisgCXdoaWxlICh1aWRfbGVhc2UpIHsKKy0JCWlzY19ib29sZWFuX3QgZG9fcmVsZWFzZSA9ICFwYWNrZXQtPnJhdy0+Y2lhZGRyLnNfYWRkcjsKKysJCWJvb2wgZG9fcmVsZWFzZSA9ICFwYWNrZXQtPnJhdy0+Y2lhZGRyLnNfYWRkcjsKKyAjaWYgZGVmaW5lZCAoREVCVUdfRklORF9MRUFTRSkKKyAJCWxvZ19pbmZvICgidHJ5aW5nIG5leHQgbGVhc2UgbWF0Y2hpbmcgY2xpZW50IGlkOiAlcyIsCisgCQkJICBwaWFkZHIgKHVpZF9sZWFzZSAtPiBpcF9hZGRyKSk7CitAQCAtNDI2Nyw3ICs0MjY3LDcgQEAgaW50IGZpbmRfbGVhc2UgKHN0cnVjdCBsZWFzZSAqKmxwLAorICNlbmRpZgorIAkJCS8qIEFsbG93IG11bHRpcGxlIGxlYXNlcyB1c2luZyB0aGUgc2FtZSBVSUQKKyAJCQkgICBvbiBkaWZmZXJlbnQgc3VibmV0d29ya3MuICovCistCQkJZG9fcmVsZWFzZSA9IElTQ19GQUxTRTsKKysJCQlkb19yZWxlYXNlID0gZmFsc2U7CisgCQkJZ290byBuX3VpZDsKKyAJCX0KKyAKK0BAIC01MzMxLDcgKzUzMzEsNyBAQCBnZXRfc2VydmVyX3NvdXJjZV9hZGRyZXNzKHN0cnVjdCBpbl9hZGRyCisgCXN0cnVjdCBvcHRpb25fY2FjaGUgKm9jID0gTlVMTDsKKyAJc3RydWN0IGRhdGFfc3RyaW5nIGQ7CisgCXN0cnVjdCBpbl9hZGRyICphID0gTlVMTDsKKy0JaXNjX2Jvb2xlYW5fdCBmb3VuZCA9IElTQ19GQUxTRTsKKysJYm9vbCBmb3VuZCA9IGZhbHNlOworIAlpbnQgYWxsb2NhdGUgPSAwOworIAorIAltZW1zZXQoJmQsIDAsIHNpemVvZihkKSk7CitAQCAtNTM0NCw3ICs1MzQ0LDcgQEAgZ2V0X3NlcnZlcl9zb3VyY2VfYWRkcmVzcyhzdHJ1Y3QgaW5fYWRkcgorIAkJCQkJICBwYWNrZXQtPm9wdGlvbnMsIG9wdGlvbnMsIAorIAkJCQkJICAmZ2xvYmFsX3Njb3BlLCBvYywgTURMKSkgeworIAkJCWlmIChkLmxlbiA9PSBzaXplb2YoKmZyb20pKSB7CistCQkJCWZvdW5kID0gSVNDX1RSVUU7CisrCQkJCWZvdW5kID0gdHJ1ZTsKKyAJCQkJbWVtY3B5KGZyb20sIGQuZGF0YSwgc2l6ZW9mKCpmcm9tKSk7CisgCisgCQkJCS8qCitAQCAtNTM2Miw3ICs1MzYyLDcgQEAgZ2V0X3NlcnZlcl9zb3VyY2VfYWRkcmVzcyhzdHJ1Y3QgaW5fYWRkcgorIAkJb2MgPSBOVUxMOworIAl9CisgCistCWlmICgoZm91bmQgPT0gSVNDX0ZBTFNFKSAmJgorKwlpZiAoKGZvdW5kID09IGZhbHNlKSAmJgorIAkgICAgKHBhY2tldC0+aW50ZXJmYWNlLT5hZGRyZXNzX2NvdW50ID4gMCkpIHsKKyAJCSpmcm9tID0gcGFja2V0LT5pbnRlcmZhY2UtPmFkZHJlc3Nlc1swXTsKKyAKK0luZGV4OiBkaGNwLTQuNC4xL3NlcnZlci9mYWlsb3Zlci5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZGhjcC00LjQuMS5vcmlnL3NlcnZlci9mYWlsb3Zlci5jCisrKysgZGhjcC00LjQuMS9zZXJ2ZXIvZmFpbG92ZXIuYworQEAgLTQ1LDcgKzQ1LDcgQEAgc3RhdGljIGlzY19yZXN1bHRfdCBmYWlsb3Zlcl9tZXNzYWdlX2RlcgorIHN0YXRpYyB2b2lkIGRoY3BfZmFpbG92ZXJfcG9vbF9iYWxhbmNlKGRoY3BfZmFpbG92ZXJfc3RhdGVfdCAqc3RhdGUpOworIHN0YXRpYyB2b2lkIGRoY3BfZmFpbG92ZXJfcG9vbF9yZXFiYWxhbmNlKGRoY3BfZmFpbG92ZXJfc3RhdGVfdCAqc3RhdGUpOworIHN0YXRpYyBpbnQgZGhjcF9mYWlsb3Zlcl9wb29sX2RvYmFsYW5jZShkaGNwX2ZhaWxvdmVyX3N0YXRlX3QgKnN0YXRlLAorLQkJCQkJaXNjX2Jvb2xlYW5fdCAqc2VuZHJlcSk7CisrCQkJCQlib29sICpzZW5kcmVxKTsKKyBzdGF0aWMgaW5saW5lIGludCBzZWNvbmRhcnlfbm90X2hvYXJkaW5nKGRoY3BfZmFpbG92ZXJfc3RhdGVfdCAqc3RhdGUsCisgCQkJCQkgc3RydWN0IHBvb2wgKnApOworIHN0YXRpYyB2b2lkIHNjcnViX2xlYXNlKHN0cnVjdCBsZWFzZSogbGVhc2UsIGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lKTsKK0BAIC0yNDY0LDcgKzI0NjQsNyBAQCB2b2lkCisgZGhjcF9mYWlsb3Zlcl9wb29sX3JlYmFsYW5jZSh2b2lkICpmYWlsb3Zlcl9zdGF0ZSkKKyB7CisgCWRoY3BfZmFpbG92ZXJfc3RhdGVfdCAqc3RhdGU7CistCWlzY19ib29sZWFuX3Qgc2VuZHJlcSA9IElTQ19GQUxTRTsKKysJYm9vbCBzZW5kcmVxID0gZmFsc2U7CisgCisgCXN0YXRlID0gKGRoY3BfZmFpbG92ZXJfc3RhdGVfdCAqKWZhaWxvdmVyX3N0YXRlOworIAorQEAgLTI1MTIsNyArMjUxMiw3IEBAIGRoY3BfZmFpbG92ZXJfcG9vbF9yZXFiYWxhbmNlKGRoY3BfZmFpbG8KKyAgKi8KKyBzdGF0aWMgaW50CisgZGhjcF9mYWlsb3Zlcl9wb29sX2RvYmFsYW5jZShkaGNwX2ZhaWxvdmVyX3N0YXRlX3QgKnN0YXRlLAorLQkJCSAgICBpc2NfYm9vbGVhbl90ICpzZW5kcmVxKQorKwkJCSAgICBib29sICpzZW5kcmVxKQorIHsKKyAJaW50IGx0cywgdG90YWwsIHRocmVzaCwgaG9sZCwgcGFuaWMsIHBhc3M7CisgCWludCBsZWFzZXNfcXVldWVkID0gMDsKK0BAIC0yNTgxLDcgKzI1ODEsNyBAQCBkaGNwX2ZhaWxvdmVyX3Bvb2xfZG9iYWxhbmNlKGRoY3BfZmFpbG92CisgCisgCQlpZiAoKHNlbmRyZXEgIT0gTlVMTCkgJiYgKGx0cyA8IHBhbmljKSkgeworIAkJCXJlcWxvZyA9ICIgIChyZXF1ZXN0aW5nIHBlZXIgcmViYWxhbmNlISkiOworLQkJCSpzZW5kcmVxID0gSVNDX1RSVUU7CisrCQkJKnNlbmRyZXEgPSB0cnVlOworIAkJfSBlbHNlCisgCQkJcmVxbG9nID0gIiI7CisgCitAQCAtNTExMSw3ICs1MTExLDcgQEAgaXNjX3Jlc3VsdF90IGRoY3BfZmFpbG92ZXJfc2VuZF91cGRhdGVfZAorICAqIGEgbW9yZSBkZXRhaWxlZCBzeXN0ZW0gb2YgcHJlZmVyZW5jZXMgaXMgcmVxdWlyZWQsIHNvIHRoaXMgaXMgc29tZXRoaW5nIHdlCisgICogc2hvdWxkIG1vbml0b3IgYXMgd2UgZ2FpbiBleHBlcmllbmNlIHdpdGggdGhlc2UgZHVlbGluZyBldmVudHMuCisgICovCistc3RhdGljIGlzY19ib29sZWFuX3QKKytzdGF0aWMgYm9vbAorIGZhaWxvdmVyX2xlYXNlX2lzX2JldHRlcihkaGNwX2ZhaWxvdmVyX3N0YXRlX3QgKnN0YXRlLCBzdHJ1Y3QgbGVhc2UgKmxlYXNlLAorIAkJCSBmYWlsb3Zlcl9tZXNzYWdlX3QgKm1zZykKKyB7CitAQCAtNTEzMiwxNSArNTEzMiwxNSBAQCBmYWlsb3Zlcl9sZWFzZV9pc19iZXR0ZXIoZGhjcF9mYWlsb3Zlcl9zCisgCSAgICAgIGNhc2UgRlRTX0FDVElWRToKKyAJCWlmIChtc2ctPmJpbmRpbmdfc3RhdHVzID09IEZUU19BQ1RJVkUpIHsKKyAJCQlpZiAobXNnX2NsdHQgPCBsZWFzZS0+Y2x0dCkKKy0JCQkJcmV0dXJuIElTQ19UUlVFOworKwkJCQlyZXR1cm4gdHJ1ZTsKKyAJCQllbHNlIGlmIChtc2dfY2x0dCA+IGxlYXNlLT5jbHR0KQorLQkJCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJCQlyZXR1cm4gZmFsc2U7CisgCQkJZWxzZSBpZiAoc3RhdGUtPmlfYW0gPT0gcHJpbWFyeSkKKy0JCQkJcmV0dXJuIElTQ19UUlVFOworKwkJCQlyZXR1cm4gdHJ1ZTsKKyAJCQllbHNlCistCQkJCXJldHVybiBJU0NfRkFMU0U7CisrCQkJCXJldHVybiBmYWxzZTsKKyAJCX0gZWxzZSBpZiAobXNnLT5iaW5kaW5nX3N0YXR1cyA9PSBGVFNfRVhQSVJFRCkgeworLQkJCXJldHVybiBJU0NfRkFMU0U7CisrCQkJcmV0dXJuIGZhbHNlOworIAkJfQorIAkJLyogRkFMTCBUSFJPVUdIICovCisgCitAQCAtNTE1MSwxMSArNTE1MSwxMSBAQCBmYWlsb3Zlcl9sZWFzZV9pc19iZXR0ZXIoZGhjcF9mYWlsb3Zlcl9zCisgCSAgICAgIGNhc2UgRlRTX0FCQU5ET05FRDoKKyAJICAgICAgY2FzZSBGVFNfUkVTRVQ6CisgCQlpZiAobXNnLT5iaW5kaW5nX3N0YXR1cyA9PSBGVFNfQUNUSVZFKQorLQkJCXJldHVybiBJU0NfRkFMU0U7CisrCQkJcmV0dXJuIGZhbHNlOworIAkJZWxzZSBpZiAoc3RhdGUtPmlfYW0gPT0gcHJpbWFyeSkKKy0JCQlyZXR1cm4gSVNDX1RSVUU7CisrCQkJcmV0dXJuIHRydWU7CisgCQllbHNlCistCQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCQlyZXR1cm4gZmFsc2U7CisgCQkvKiBGQUxMIFRIUk9VR0ggdG8gaW1wb3NzaWJsZSBjb25kaXRpb24gKi8KKyAKKyAJICAgICAgZGVmYXVsdDoKK0BAIC01MTY0LDcgKzUxNjQsNyBAQCBmYWlsb3Zlcl9sZWFzZV9pc19iZXR0ZXIoZGhjcF9mYWlsb3Zlcl9zCisgCisgCWxvZ19mYXRhbCgiSW1wb3NzaWJsZSBjb25kaXRpb24gYXQgJXM6JWQuIiwgTURMKTsKKyAJLyogU2lsZW5jZSBjb21waWxlciB3YXJuaW5nLiAqLworLQlyZXR1cm4gSVNDX0ZBTFNFOworKwlyZXR1cm4gZmFsc2U7CisgfQorIAorIGlzY19yZXN1bHRfdCBkaGNwX2ZhaWxvdmVyX3Byb2Nlc3NfYmluZF91cGRhdGUgKGRoY3BfZmFpbG92ZXJfc3RhdGVfdCAqc3RhdGUsCitAQCAtNTE3Nyw4ICs1MTc3LDggQEAgaXNjX3Jlc3VsdF90IGRoY3BfZmFpbG92ZXJfcHJvY2Vzc19iaW5kXworIAlpbnQgbmV3X2JpbmRpbmdfc3RhdGU7CisgCWludCBzZW5kX3RvX2JhY2t1cCA9IDA7CisgCWludCByZXF1aXJlZF9vcHRpb25zOworLQlpc2NfYm9vbGVhbl90IGNoYWRkcl9jaGFuZ2VkID0gSVNDX0ZBTFNFOworLQlpc2NfYm9vbGVhbl90IGlkZW50X2NoYW5nZWQgPSBJU0NfRkFMU0U7CisrCWJvb2wgY2hhZGRyX2NoYW5nZWQgPSBmYWxzZTsKKysJYm9vbCBpZGVudF9jaGFuZ2VkID0gZmFsc2U7CisgCisgCS8qIFZhbGlkYXRlIHRoZSBiaW5kaW5nIHVwZGF0ZS4gKi8KKyAJcmVxdWlyZWRfb3B0aW9ucyA9IEZUQl9BU1NJR05FRF9JUF9BRERSRVNTIHwgRlRCX0JJTkRJTkdfU1RBVFVTOworQEAgLTUyNTAsNyArNTI1MCw3IEBAIGlzY19yZXN1bHRfdCBkaGNwX2ZhaWxvdmVyX3Byb2Nlc3NfYmluZF8KKyAJCWlmICgobHQtPmhhcmR3YXJlX2FkZHIuaGxlbiAhPSBtc2ctPmNoYWRkci5jb3VudCkgfHwKKyAJCSAgICAobWVtY21wKGx0LT5oYXJkd2FyZV9hZGRyLmhidWYsIG1zZy0+Y2hhZGRyLmRhdGEsCisgCQkJICAgIG1zZy0+Y2hhZGRyLmNvdW50KSAhPSAwKSkKKy0JCQljaGFkZHJfY2hhbmdlZCA9IElTQ19UUlVFOworKwkJCWNoYWRkcl9jaGFuZ2VkID0gdHJ1ZTsKKyAKKyAJCWx0IC0+IGhhcmR3YXJlX2FkZHIuaGxlbiA9IG1zZyAtPiBjaGFkZHIuY291bnQ7CisgCQltZW1jcHkgKGx0IC0+IGhhcmR3YXJlX2FkZHIuaGJ1ZiwgbXNnIC0+IGNoYWRkci5kYXRhLAorQEAgLTUyNjIsNyArNTI2Miw3IEBAIGlzY19yZXN1bHRfdCBkaGNwX2ZhaWxvdmVyX3Byb2Nlc3NfYmluZF8KKyAJCXJlYXNvbiA9IEZUUl9NSVNTSU5HX0JJTkRJTkZPOworIAkJZ290byBiYWQ7CisgCX0gZWxzZSBpZiAobXNnLT5iaW5kaW5nX3N0YXR1cyA9PSBGVFNfQUJBTkRPTkVEKSB7CistCQljaGFkZHJfY2hhbmdlZCA9IElTQ19UUlVFOworKwkJY2hhZGRyX2NoYW5nZWQgPSB0cnVlOworIAkJbHQtPmhhcmR3YXJlX2FkZHIuaGxlbiA9IDA7CisgCQlpZiAobHQtPnNjb3BlKQorIAkJCWJpbmRpbmdfc2NvcGVfZGVyZWZlcmVuY2UoJmx0LT5zY29wZSwgTURMKTsKK0BAIC01MjgyLDcgKzUyODIsNyBAQCBpc2NfcmVzdWx0X3QgZGhjcF9mYWlsb3Zlcl9wcm9jZXNzX2JpbmRfCisgCQkgICAgKGx0LT51aWQgPT0gTlVMTCkgfHwgLyogU2FuaXR5OyBzaG91bGQgbmV2ZXIgaGFwcGVuLiAqLworIAkJICAgIChtZW1jbXAobHQtPnVpZCwgbXNnLT5jbGllbnRfaWRlbnRpZmllci5kYXRhLAorIAkJCSAgICBsdC0+dWlkX2xlbikgIT0gMCkpCistCQkJaWRlbnRfY2hhbmdlZCA9IElTQ19UUlVFOworKwkJCWlkZW50X2NoYW5nZWQgPSB0cnVlOworIAorIAkJbHQtPnVpZF9sZW4gPSBtc2ctPmNsaWVudF9pZGVudGlmaWVyLmNvdW50OworIAorQEAgLTUzMTIsNyArNTMxMiw3IEBAIGlzY19yZXN1bHRfdCBkaGNwX2ZhaWxvdmVyX3Byb2Nlc3NfYmluZF8KKyAJfSBlbHNlIGlmIChsdC0+dWlkICYmIG1zZy0+YmluZGluZ19zdGF0dXMgIT0gRlRTX1JFU0VUICYmCisgCQkgICBtc2ctPmJpbmRpbmdfc3RhdHVzICE9IEZUU19GUkVFICYmCisgCQkgICBtc2ctPmJpbmRpbmdfc3RhdHVzICE9IEZUU19CQUNLVVApIHsKKy0JCWlkZW50X2NoYW5nZWQgPSBJU0NfVFJVRTsKKysJCWlkZW50X2NoYW5nZWQgPSB0cnVlOworIAkJaWYgKGx0LT51aWQgIT0gbHQtPnVpZF9idWYpCisgCQkJZGZyZWUgKGx0LT51aWQsIE1ETCk7CisgCQlsdC0+dWlkID0gTlVMTDsKK0BAIC01MzQ3LDcgKzUzNDcsNyBAQCBpc2NfcmVzdWx0X3QgZGhjcF9mYWlsb3Zlcl9wcm9jZXNzX2JpbmRfCisgCWlmIChtc2ctPmJpbmRpbmdfc3RhdHVzID09IEZUU19BQ1RJVkUgJiYKKyAJICAgIChjaGFkZHJfY2hhbmdlZCB8fCBpZGVudF9jaGFuZ2VkKSkgeworICNpZiBkZWZpbmVkIChOU1VQREFURSkKKy0JCSh2b2lkKSBkZG5zX3JlbW92YWxzKGxlYXNlLCBOVUxMLCBOVUxMLCBJU0NfRkFMU0UpOworKwkJKHZvaWQpIGRkbnNfcmVtb3ZhbHMobGVhc2UsIE5VTEwsIE5VTEwsIGZhbHNlKTsKKyAjZW5kaWYgLyogTlNVUERBVEUgKi8KKyAKKyAJCWlmIChsZWFzZS0+c2NvcGUgIT0gTlVMTCkKK0BAIC01NTM0LDcgKzU1MzQsNyBAQCBpc2NfcmVzdWx0X3QgZGhjcF9mYWlsb3Zlcl9wcm9jZXNzX2JpbmRfCisgCXN0cnVjdCBpYWRkciBpYTsKKyAJY29uc3QgY2hhciAqbWVzc2FnZSA9ICJubyBtZW1vcnkiOworIAl1X2ludDMyX3QgcG90X2V4cGlyZTsKKy0JaW50IHNlbmRfdG9fYmFja3VwID0gSVNDX0ZBTFNFOworKwlpbnQgc2VuZF90b19iYWNrdXAgPSBmYWxzZTsKKyAJc3RydWN0IHRpbWV2YWwgdHY7CisgCisgCWlhLmxlbiA9IHNpemVvZiBtc2cgLT4gYXNzaWduZWRfYWRkcjsKK0BAIC01NjIxLDcgKzU2MjEsNyBAQCBpc2NfcmVzdWx0X3QgZGhjcF9mYWlsb3Zlcl9wcm9jZXNzX2JpbmRfCisgCQlpZiAoc3RhdGUtPmlfYW0gPT0gcHJpbWFyeSAmJgorIAkJICAgICEobGVhc2UtPmZsYWdzICYgKFJFU0VSVkVEX0xFQVNFIHwgQk9PVFBfTEVBU0UpKSAmJgorIAkJICAgIHBlZXJfd2FudHNfbGVhc2UobGVhc2UpKQorLQkJCXNlbmRfdG9fYmFja3VwID0gSVNDX1RSVUU7CisrCQkJc2VuZF90b19iYWNrdXAgPSB0cnVlOworIAorIAkJaWYgKCFzZW5kX3RvX2JhY2t1cCAmJiBzdGF0ZS0+bWUuc3RhdGUgPT0gbm9ybWFsKQorIAkJCWNvbW1pdF9sZWFzZXMoKTsKK0luZGV4OiBkaGNwLTQuNC4xL3NlcnZlci9kaGNwZC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZGhjcC00LjQuMS5vcmlnL3NlcnZlci9kaGNwZC5jCisrKysgZGhjcC00LjQuMS9zZXJ2ZXIvZGhjcGQuYworQEAgLTk4LDcgKzk4LDcgQEAgY29uc3QgY2hhciAqcGF0aF9kaGNwZF9jb25mID0gX1BBVEhfREhDUAorIGNvbnN0IGNoYXIgKnBhdGhfZGhjcGRfZGIgPSBfUEFUSF9ESENQRF9EQjsKKyBjb25zdCBjaGFyICpwYXRoX2RoY3BkX3BpZCA9IF9QQVRIX0RIQ1BEX1BJRDsKKyAvKiBGYWxzZSAoZGVmYXVsdCkgPT4gd2Ugd3JpdGUgYW5kIHVzZSBhIHBpZCBmaWxlICovCistaXNjX2Jvb2xlYW5fdCBub19waWRfZmlsZSA9IElTQ19GQUxTRTsKKytib29sIG5vX3BpZF9maWxlID0gZmFsc2U7CisgCisgaW50IGRoY3BfbWF4X2FnZW50X29wdGlvbl9wYWNrZXRfbGVuZ3RoID0gREhDUF9NVFVfTUFYOworIAorQEAgLTQ3Niw3ICs0NzYsNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworIAkJCXBhdGhfZGhjcGRfcGlkID0gYXJndiBbaV07CisgCQkJaGF2ZV9kaGNwZF9waWQgPSAxOworIAkJfSBlbHNlIGlmICghc3RyY21wKGFyZ3ZbaV0sICItLW5vLXBpZCIpKSB7CistCQkJbm9fcGlkX2ZpbGUgPSBJU0NfVFJVRTsKKysJCQlub19waWRfZmlsZSA9IHRydWU7CisgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIXN0cmNtcCAoYXJndiBbaV0sICItdCIpKSB7CisgCQkJLyogdGVzdCBjb25maWd1cmF0aW9ucyBvbmx5ICovCisgI2lmbmRlZiBERUJVRworQEAgLTg2Myw3ICs4NjMsNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworIAkgKiAtIHdlIGRvbid0IGhhdmUgYSBwaWQgZmlsZSB0byBjaGVjaworIAkgKiAtIHRoZXJlIGlzIG5vIG90aGVyIHByb2Nlc3MgcnVubmluZworIAkgKi8KKy0JaWYgKChsZnRlc3QgPT0gMCkgJiYgKG5vX3BpZF9maWxlID09IElTQ19GQUxTRSkpIHsKKysJaWYgKChsZnRlc3QgPT0gMCkgJiYgKG5vX3BpZF9maWxlID09IGZhbHNlKSkgeworIAkJLypSZWFkIHByZXZpb3VzIHBpZCBmaWxlLiAqLworIAkJaWYgKChpID0gb3BlbihwYXRoX2RoY3BkX3BpZCwgT19SRE9OTFkpKSA+PSAwKSB7CisgCQkJc3RhdHVzID0gcmVhZChpLCBwYnVmLCAoc2l6ZW9mIHBidWYpIC0gMSk7CitAQCAtOTc0LDcgKzk3NCw3IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CisgCSAqIHRoYXQgd2UgaGF2ZSBmb3JrZWQgd2UgY2FuIHdyaXRlIG91ciBwaWQgaWYKKyAJICogYXBwcm9wcmlhdGUuCisgCSAqLworLQlpZiAobm9fcGlkX2ZpbGUgPT0gSVNDX0ZBTFNFKSB7CisrCWlmIChub19waWRfZmlsZSA9PSBmYWxzZSkgeworIAkJaSA9IG9wZW4ocGF0aF9kaGNwZF9waWQsIE9fV1JPTkxZfE9fQ1JFQVR8T19UUlVOQywgMDY0NCk7CisgCQlpZiAoaSA+PSAwKSB7CisgCQkJc3ByaW50ZihwYnVmLCAiJWRcbiIsIChpbnQpIGdldHBpZCgpKTsKK0BAIC0xNzMwLDcgKzE3MzAsNyBAQCBzdGF0aWMgaXNjX3Jlc3VsdF90IGRoY3BfaW9fc2h1dGRvd25fY291CisgCSAgICBmcmVlX2V2ZXJ5dGhpbmcgKCk7CisgCSAgICBvbWFwaV9wcmludF9kbWFsbG9jX3VzYWdlX2J5X2NhbGxlciAoKTsKKyAjZW5kaWYKKy0JICAgIGlmIChub19waWRfZmlsZSA9PSBJU0NfRkFMU0UpCisrCSAgICBpZiAobm9fcGlkX2ZpbGUgPT0gZmFsc2UpCisgCQkgICAgKHZvaWQpIHVubGluayhwYXRoX2RoY3BkX3BpZCk7CisgCSAgICBleGl0ICgwKTsKKyAJfQorQEAgLTE3NDEsNyArMTc0MSw3IEBAIHN0YXRpYyBpc2NfcmVzdWx0X3QgZGhjcF9pb19zaHV0ZG93bl9jb3UKKyAJCWZyZWVfZXZlcnl0aGluZyAoKTsKKyAJCW9tYXBpX3ByaW50X2RtYWxsb2NfdXNhZ2VfYnlfY2FsbGVyICgpOworICNlbmRpZgorLQkJaWYgKG5vX3BpZF9maWxlID09IElTQ19GQUxTRSkKKysJCWlmIChub19waWRfZmlsZSA9PSBmYWxzZSkKKyAJCQkodm9pZCkgdW5saW5rKHBhdGhfZGhjcGRfcGlkKTsKKyAJCWV4aXQgKDApOworIAl9CitAQCAtMTc1MCw3ICsxNzUwLDcgQEAgc3RhdGljIGlzY19yZXN1bHRfdCBkaGNwX2lvX3NodXRkb3duX2NvdQorICNpZiBkZWZpbmVkKEZBSUxPVkVSX1BST1RPQ09MKQorIAkgICAgIWZhaWxvdmVyX2Nvbm5lY3Rpb25fY291bnQgJiYKKyAjZW5kaWYKKy0JICAgIElTQ19UUlVFKSB7CisrCSAgICB0cnVlKSB7CisgCQlzaHV0ZG93bl9zdGF0ZSA9IHNodXRkb3duX2RvbmU7CisgCQlzaHV0ZG93bl90aW1lID0gY3VyX3RpbWU7CisgCQlnb3RvIG9uY2Vtb3JlOworSW5kZXg6IGRoY3AtNC40LjEvc2VydmVyL21kYjYuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9zZXJ2ZXIvbWRiNi5jCisrKysgZGhjcC00LjQuMS9zZXJ2ZXIvbWRiNi5jCitAQCAtNTE0LDEwICs1MTQsMTAgQEAgaWFfcmVtb3ZlX2FsbF9sZWFzZShzdHJ1Y3QgaWFfeHggKmlhLCBjbworIC8qCisgICogQ29tcGFyZSB0d28gSUEuCisgICovCistaXNjX2Jvb2xlYW5fdAorK2Jvb2wKKyBpYV9lcXVhbChjb25zdCBzdHJ1Y3QgaWFfeHggKmEsIGNvbnN0IHN0cnVjdCBpYV94eCAqYikgCisgeworLQlpc2NfYm9vbGVhbl90IGZvdW5kOworKwlib29sIGZvdW5kOworIAlpbnQgaSwgajsKKyAKKyAJLyoKK0BAIC01MjUsOSArNTI1LDkgQEAgaWFfZXF1YWwoY29uc3Qgc3RydWN0IGlhX3h4ICphLCBjb25zdCBzdAorIAkgKi8KKyAJaWYgKGEgPT0gTlVMTCkgeworIAkJaWYgKGIgPT0gTlVMTCkgeworLQkJCXJldHVybiBJU0NfVFJVRTsKKysJCQlyZXR1cm4gdHJ1ZTsKKyAJCX0gZWxzZSB7CistCQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCQlyZXR1cm4gZmFsc2U7CisgCQl9CisgCX0JCisgCitAQCAtNTM1LDU4ICs1MzUsNTggQEAgaWFfZXF1YWwoY29uc3Qgc3RydWN0IGlhX3h4ICphLCBjb25zdCBzdAorIAkgKiBDaGVjayB0aGUgdHlwZSBpcyB0aGUgc2FtZS4KKyAJICovCisgCWlmIChhLT5pYV90eXBlICE9IGItPmlhX3R5cGUpIHsKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCX0KKyAKKyAJLyoKKyAJICogQ2hlY2sgdGhlIERVSUQgaXMgdGhlIHNhbWUuCisgCSAqLworIAlpZiAoYS0+aWFpZF9kdWlkLmxlbiAhPSBiLT5pYWlkX2R1aWQubGVuKSB7CistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAl9CisgCWlmIChtZW1jbXAoYS0+aWFpZF9kdWlkLmRhdGEsIAorIAkJICAgYi0+aWFpZF9kdWlkLmRhdGEsIGEtPmlhaWRfZHVpZC5sZW4pICE9IDApIHsKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCX0KKyAKKyAJLyoKKyAJICogTWFrZSBzdXJlIHdlIGhhdmUgdGhlIHNhbWUgbnVtYmVyIG9mIGFkZHJlc3Nlcy9wcmVmaXhlcyBpbiBlYWNoLgorIAkgKi8KKyAJaWYgKGEtPm51bV9pYXN1Ym9wdCAhPSBiLT5udW1faWFzdWJvcHQpIHsKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCX0KKyAKKyAJLyoKKyAJICogQ2hlY2sgdGhhdCBlYWNoIGFkZHJlc3MvcHJlZml4IGlzIHByZXNlbnQgaW4gYm90aC4KKyAJICovCisgCWZvciAoaT0wOyBpPGEtPm51bV9pYXN1Ym9wdDsgaSsrKSB7CistCQlmb3VuZCA9IElTQ19GQUxTRTsKKysJCWZvdW5kID0gZmFsc2U7CisgCQlmb3IgKGo9MDsgajxhLT5udW1faWFzdWJvcHQ7IGorKykgeworIAkJCWlmIChhLT5pYXN1Ym9wdFtpXS0+cGxlbiAhPSBiLT5pYXN1Ym9wdFtpXS0+cGxlbikKKyAJCQkJY29udGludWU7CisgCQkJaWYgKG1lbWNtcCgmKGEtPmlhc3Vib3B0W2ldLT5hZGRyKSwKKyAJCQkgICAgICAgICAgICYoYi0+aWFzdWJvcHRbal0tPmFkZHIpLCAKKyAJCQkJICAgc2l6ZW9mKHN0cnVjdCBpbjZfYWRkcikpID09IDApIHsKKy0JCQkJZm91bmQgPSBJU0NfVFJVRTsKKysJCQkJZm91bmQgPSB0cnVlOworIAkJCQlicmVhazsKKyAJCQl9CisgCQl9CisgCQlpZiAoIWZvdW5kKSB7CistCQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCQlyZXR1cm4gZmFsc2U7CisgCQl9CisgCX0KKyAKKyAJLyoKKyAJICogVGhlc2UgYXJlIHRoZSBzYW1lIGluIGV2ZXJ5IHdheSB3ZSBjYXJlIGFib3V0LgorIAkgKi8KKy0JcmV0dXJuIElTQ19UUlVFOworKwlyZXR1cm4gdHJ1ZTsKKyB9CisgCisgLyoKKyAgKiBIZWxwZXIgZnVuY3Rpb24gZm9yIGxlYXNlIGhlYXBzLgorICAqIE1ha2VzIHRoZSB0b3Agb2YgdGhlIGhlYXAgdGhlIG9sZGVzdCBsZWFzZS4KKyAgKi8KKy1zdGF0aWMgaXNjX2Jvb2xlYW5fdCAKKytzdGF0aWMgYm9vbCAKKyBsZWFzZV9vbGRlcih2b2lkICphLCB2b2lkICpiKSB7CisgCXN0cnVjdCBpYXN1Ym9wdCAqbGEgPSAoc3RydWN0IGlhc3Vib3B0ICopYTsKKyAJc3RydWN0IGlhc3Vib3B0ICpsYiA9IChzdHJ1Y3QgaWFzdWJvcHQgKiliOworQEAgLTEwMzgsOCArMTAzOCw4IEBAIGNyZWF0ZV9sZWFzZTYoc3RydWN0IGlwdjZfcG9vbCAqcG9vbCwgc3QKKyAJc3RydWN0IGRhdGFfc3RyaW5nIG5ld19kczsKKyAJc3RydWN0IGlhc3Vib3B0ICppYWFkZHI7CisgCWlzY19yZXN1bHRfdCByZXN1bHQ7CistCWlzY19ib29sZWFuX3QgcmVzZXJ2ZWRfaWlkOworLQlzdGF0aWMgaXNjX2Jvb2xlYW5fdCBpbml0X3Jlc2lpZCA9IElTQ19GQUxTRTsKKysJYm9vbCByZXNlcnZlZF9paWQ7CisrCXN0YXRpYyBib29sIGluaXRfcmVzaWlkID0gZmFsc2U7CisgCisgCS8qCisgCSAqIEZpbGwgdGhlIHJlc2VydmVkIElJRHMuCitAQCAtMTA0OSw3ICsxMDQ5LDcgQEAgY3JlYXRlX2xlYXNlNihzdHJ1Y3QgaXB2Nl9wb29sICpwb29sLCBzdAorIAkJbWVtc2V0KCZyZXNhbnksIDAsIDgpOworIAkJcmVzYW55LnM2X2FkZHJbOF0gPSAweGZkOworIAkJbWVtc2V0KCZyZXNhbnkuczZfYWRkcls5XSwgMHhmZiwgNik7CistCQlpbml0X3Jlc2lpZCA9IElTQ19UUlVFOworKwkJaW5pdF9yZXNpaWQgPSB0cnVlOworIAl9CisgCisgCS8qIAorQEAgLTEwOTQsMTQgKzEwOTQsMTQgQEAgY3JlYXRlX2xlYXNlNihzdHJ1Y3QgaXB2Nl9wb29sICpwb29sLCBzdAorIAkJLyoKKyAJCSAqIEF2b2lkIHJlc2VydmVkIGludGVyZmFjZSBJRHMuIChjZi4gUkZDIDU0NTMpCisgCQkgKi8KKy0JCXJlc2VydmVkX2lpZCA9IElTQ19GQUxTRTsKKysJCXJlc2VydmVkX2lpZCA9IGZhbHNlOworIAkJaWYgKG1lbWNtcCgmdG1wLnM2X2FkZHJbOF0sICZydGFueS5zNl9hZGRyWzhdLCA4KSA9PSAwKSB7CistCQkJcmVzZXJ2ZWRfaWlkID0gSVNDX1RSVUU7CisrCQkJcmVzZXJ2ZWRfaWlkID0gdHJ1ZTsKKyAJCX0KKyAJCWlmICghcmVzZXJ2ZWRfaWlkICYmCisgCQkgICAgKG1lbWNtcCgmdG1wLnM2X2FkZHJbOF0sICZyZXNhbnkuczZfYWRkcls4XSwgNykgPT0gMCkgJiYKKyAJCSAgICAoKHRtcC5zNl9hZGRyWzE1XSAmIDB4ODApID09IDB4ODApKSB7CistCQkJcmVzZXJ2ZWRfaWlkID0gSVNDX1RSVUU7CisrCQkJcmVzZXJ2ZWRfaWlkID0gdHJ1ZTsKKyAJCX0KKyAKKyAJCS8qCitAQCAtMTE3Nyw3ICsxMTc3LDcgQEAgY3JlYXRlX2xlYXNlNl9ldWlfNjQoc3RydWN0IGlwdjZfcG9vbCAqcAorIAlzdHJ1Y3QgaWFzdWJvcHQgKnRlc3RfaWFhZGRyOworIAlzdHJ1Y3QgaWFzdWJvcHQgKmlhYWRkcjsKKyAJaXNjX3Jlc3VsdF90IHJlc3VsdDsKKy0Jc3RhdGljIGlzY19ib29sZWFuX3QgaW5pdF9yZXNpaWQgPSBJU0NfRkFMU0U7CisrCXN0YXRpYyBib29sIGluaXRfcmVzaWlkID0gZmFsc2U7CisgCisgCS8qICBGaWxsIHRoZSByZXNlcnZlZCBJSURzLiAgKi8KKyAJaWYgKCFpbml0X3Jlc2lpZCkgeworQEAgLTExODUsNyArMTE4NSw3IEBAIGNyZWF0ZV9sZWFzZTZfZXVpXzY0KHN0cnVjdCBpcHY2X3Bvb2wgKnAKKyAJCW1lbXNldCgmcmVzYW55LCAwLCA4KTsKKyAJCXJlc2FueS5zNl9hZGRyWzhdID0gMHhmZDsKKyAJCW1lbXNldCgmcmVzYW55LnM2X2FkZHJbOV0sIDB4ZmYsIDYpOworLQkJaW5pdF9yZXNpaWQgPSBJU0NfVFJVRTsKKysJCWluaXRfcmVzaWlkID0gdHJ1ZTsKKyAJfQorIAorIAkvKiBQb29sIG11c3QgYmUgSUFfTkEgKi8KK0BAIC0xNTIwLDcgKzE1MjAsNyBAQCBhZGRfbGVhc2U2KHN0cnVjdCBpcHY2X3Bvb2wgKnBvb2wsIHN0cnVjCisgLyoKKyAgKiBEZXRlcm1pbmUgaWYgYW4gYWRkcmVzcyBpcyBwcmVzZW50IGluIGEgcG9vbCBvciBub3QuCisgICovCistaXNjX2Jvb2xlYW5fdAorK2Jvb2wKKyBsZWFzZTZfZXhpc3RzKGNvbnN0IHN0cnVjdCBpcHY2X3Bvb2wgKnBvb2wsIGNvbnN0IHN0cnVjdCBpbjZfYWRkciAqYWRkcikgeworIAlzdHJ1Y3QgaWFzdWJvcHQgKnRlc3RfaWFhZGRyOworIAorQEAgLTE1MjgsOSArMTUyOCw5IEBAIGxlYXNlNl9leGlzdHMoY29uc3Qgc3RydWN0IGlwdjZfcG9vbCAqcG8KKyAJaWYgKGlhc3Vib3B0X2hhc2hfbG9va3VwKCZ0ZXN0X2lhYWRkciwgcG9vbC0+bGVhc2VzLCAKKyAJCQkJICh2b2lkICopYWRkciwgc2l6ZW9mKCphZGRyKSwgTURMKSkgeworIAkJaWFzdWJvcHRfZGVyZWZlcmVuY2UoJnRlc3RfaWFhZGRyLCBNREwpOworLQkJcmV0dXJuIElTQ19UUlVFOworKwkJcmV0dXJuIHRydWU7CisgCX0gZWxzZSB7CistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAl9CisgfQorIAorQEAgLTE1NDUsMjAgKzE1NDUsMjAgQEAgbGVhc2U2X2V4aXN0cyhjb25zdCBzdHJ1Y3QgaXB2Nl9wb29sICpwbworICAqIFxwYXJhbVtpbl0gbGVhc2UgPSBsZWFzZSB0byBjaGVjaworICAqCisgICogXHJldHVybgorLSAqIElTQ19UUlVFICA9IFRoZSBsZWFzZSBpcyBhbGxvd2VkIHRvIHVzZSB0aGF0IGFkZHJlc3MKKy0gKiBJU0NfRkFMU0UgPSBUaGUgbGVhc2UgaXNuJ3QgYWxsb3dlZCB0byB1c2UgdGhhdCBhZGRyZXNzCisrICogdHJ1ZSAgPSBUaGUgbGVhc2UgaXMgYWxsb3dlZCB0byB1c2UgdGhhdCBhZGRyZXNzCisrICogZmFsc2UgPSBUaGUgbGVhc2UgaXNuJ3QgYWxsb3dlZCB0byB1c2UgdGhhdCBhZGRyZXNzCisgICovCistaXNjX2Jvb2xlYW5fdAorK2Jvb2wKKyBsZWFzZTZfdXNhYmxlKHN0cnVjdCBpYXN1Ym9wdCAqbGVhc2UpIHsKKyAJc3RydWN0IGlhc3Vib3B0ICp0ZXN0X2lhYWRkcjsKKy0JaXNjX2Jvb2xlYW5fdCBzdGF0dXMgPSBJU0NfVFJVRTsKKysJYm9vbCBzdGF0dXMgPSB0cnVlOworIAorIAl0ZXN0X2lhYWRkciA9IE5VTEw7CisgCWlmIChpYXN1Ym9wdF9oYXNoX2xvb2t1cCgmdGVzdF9pYWFkZHIsIGxlYXNlLT5pcHY2X3Bvb2wtPmxlYXNlcywKKyAJCQkJICh2b2lkICopJmxlYXNlLT5hZGRyLAorIAkJCQkgc2l6ZW9mKGxlYXNlLT5hZGRyKSwgTURMKSkgeworIAkJaWYgKHRlc3RfaWFhZGRyICE9IGxlYXNlKSB7CistCQkJc3RhdHVzID0gSVNDX0ZBTFNFOworKwkJCXN0YXR1cyA9IGZhbHNlOworIAkJfQorIAkJaWFzdWJvcHRfZGVyZWZlcmVuY2UoJnRlc3RfaWFhZGRyLCBNREwpOworIAl9CitAQCAtMTY5Nyw3ICsxNjk3LDcgQEAgbW92ZV9sZWFzZV90b19pbmFjdGl2ZShzdHJ1Y3QgaXB2Nl9wb29sCisgI2lmIGRlZmluZWQgKE5TVVBEQVRFKQorIAkJLyogUHJvY2VzcyBldmVudHMgdXBvbiBleHBpcmF0aW9uLiAqLworIAkJaWYgKHBvb2wtPnBvb2xfdHlwZSAhPSBENk9fSUFfUEQpIHsKKy0JCQkodm9pZCkgZGRuc19yZW1vdmFscyhOVUxMLCBsZWFzZSwgTlVMTCwgSVNDX0ZBTFNFKTsKKysJCQkodm9pZCkgZGRuc19yZW1vdmFscyhOVUxMLCBsZWFzZSwgTlVMTCwgZmFsc2UpOworIAkJfQorICNlbmRpZgorIAorQEAgLTE5NzcsMjEgKzE5NzcsMjEgQEAgY3JlYXRlX3ByZWZpeDYoc3RydWN0IGlwdjZfcG9vbCAqcG9vbCwgcworIC8qCisgICogRGV0ZXJtaW5lIGlmIGEgcHJlZml4IGlzIHByZXNlbnQgaW4gYSBwb29sIG9yIG5vdC4KKyAgKi8KKy1pc2NfYm9vbGVhbl90CisrYm9vbAorIHByZWZpeDZfZXhpc3RzKGNvbnN0IHN0cnVjdCBpcHY2X3Bvb2wgKnBvb2wsCisgCSAgICAgICBjb25zdCBzdHJ1Y3QgaW42X2FkZHIgKnByZWYsIHVfaW50OF90IHBsZW4pIHsKKyAJc3RydWN0IGlhc3Vib3B0ICp0ZXN0X2lhcHJlZjsKKyAKKyAJaWYgKChpbnQpcGxlbiAhPSBwb29sLT51bml0cykKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCisgCXRlc3RfaWFwcmVmID0gTlVMTDsKKyAJaWYgKGlhc3Vib3B0X2hhc2hfbG9va3VwKCZ0ZXN0X2lhcHJlZiwgcG9vbC0+bGVhc2VzLCAKKyAJCQkJICh2b2lkICopcHJlZiwgc2l6ZW9mKCpwcmVmKSwgTURMKSkgeworIAkJaWFzdWJvcHRfZGVyZWZlcmVuY2UoJnRlc3RfaWFwcmVmLCBNREwpOworLQkJcmV0dXJuIElTQ19UUlVFOworKwkJcmV0dXJuIHRydWU7CisgCX0gZWxzZSB7CistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAl9CisgfQorIAorQEAgLTIyNjcsMTUgKzIyNjcsMTUgQEAgaXB2Nl9uZXR3b3JrX3BvcnRpb24oc3RydWN0IGluNl9hZGRyICpyZQorIC8qCisgICogRGV0ZXJtaW5lIGlmIHRoZSBnaXZlbiBhZGRyZXNzL3ByZWZpeCBpcyBpbiB0aGUgcG9vbC4KKyAgKi8KKy1pc2NfYm9vbGVhbl90CisrYm9vbAorIGlwdjZfaW5fcG9vbChjb25zdCBzdHJ1Y3QgaW42X2FkZHIgKmFkZHIsIGNvbnN0IHN0cnVjdCBpcHY2X3Bvb2wgKnBvb2wpIHsKKyAJc3RydWN0IGluNl9hZGRyIHRtcDsKKyAKKyAJaXB2Nl9uZXR3b3JrX3BvcnRpb24oJnRtcCwgYWRkciwgcG9vbC0+Yml0cyk7CisgCWlmIChtZW1jbXAoJnRtcCwgJnBvb2wtPnN0YXJ0X2FkZHIsIHNpemVvZih0bXApKSA9PSAwKSB7CistCQlyZXR1cm4gSVNDX1RSVUU7CisrCQlyZXR1cm4gdHJ1ZTsKKyAJfSBlbHNlIHsKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCX0KKyB9CisgCitJbmRleDogZGhjcC00LjQuMS9zZXJ2ZXIvZGRucy5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZGhjcC00LjQuMS5vcmlnL3NlcnZlci9kZG5zLmMKKysrKyBkaGNwLTQuNC4xL3NlcnZlci9kZG5zLmMKK0BAIC0zNzMsNyArMzczLDcgQEAgZGRuc191cGRhdGVzKHN0cnVjdCBwYWNrZXQgKnBhY2tldCwgc3RydQorIAorIAkJLyogSWYgZGVzaXJlZCBkbyB0aGUgcmVtb3ZhbHMgKi8KKyAJCWlmIChkb19yZW1vdmUgIT0gMCkgeworLQkJCSh2b2lkKSBkZG5zX3JlbW92YWxzKGxlYXNlLCBsZWFzZTYsIE5VTEwsIElTQ19UUlVFKTsKKysJCQkodm9pZCkgZGRuc19yZW1vdmFscyhsZWFzZSwgbGVhc2U2LCBOVUxMLCB0cnVlKTsKKyAJCX0KKyAJCWdvdG8gb3V0OworIAl9CitAQCAtNjE4LDcgKzYxOCw3IEBAIGRkbnNfdXBkYXRlcyhzdHJ1Y3QgcGFja2V0ICpwYWNrZXQsIHN0cnUKKyAJCSAqIFdlIHNob3VsZCBsb2cgYSBtb3JlIHNwZWNpZmljIGVycm9yIGNsb3NlciB0byB0aGUgYWN0dWFsCisgCQkgKiBlcnJvciBpZiB3ZSB3YW50IG9uZS4gZGRuc19yZW1vdmFsIGZhaWx1cmUgbm90IGxvZ2dlZCBoZXJlLgorIAkJICovCistCQkgKHZvaWQpIGRkbnNfcmVtb3ZhbHMobGVhc2UsIGxlYXNlNiwgZGRuc19jYiwgSVNDX1RSVUUpOworKwkJICh2b2lkKSBkZG5zX3JlbW92YWxzKGxlYXNlLCBsZWFzZTYsIGRkbnNfY2IsIHRydWUpOworIAl9CisgCWVsc2UgeworIAkJZGRuc19md2Rfc3J2X2Nvbm5lY3RvcihsZWFzZSwgbGVhc2U2LCBzY29wZSwgZGRuc19jYiwKK0BAIC0xOTA3LDcgKzE5MDcsNyBAQCBkZG5zX2Z3ZF9zcnZfcmVtMShkaGNwX2RkbnNfY2JfdCAqZGRuc19jCisgICogICAgIHRoZSBjdXJyZW50IGVudHJ5LgorICAqCisgICogXGxpIGFjdGl2ZSAtIGluZGljYXRpb24gYWJvdXQgdGhlIHN0YXR1cyBvZiB0aGUgbGVhc2UuIEl0IGlzCistICogICAgIElTQ19UUlVFIGlmIHRoZSBsZWFzZSBpcyBzdGlsbCBhY3RpdmUsIGFuZCBGQUxTRSBpZiB0aGUgbGVhc2UKKysgKiAgICAgdHJ1ZSBpZiB0aGUgbGVhc2UgaXMgc3RpbGwgYWN0aXZlLCBhbmQgRkFMU0UgaWYgdGhlIGxlYXNlCisgICogICAgIGlzIGluYWN0aXZlLiAgVGhpcyBpcyB1c2VkIHRvIGluZGljYXRlIGlmIHRoZSBsZWFzZSBpcyBpbmFjdGl2ZSBvciBnb2luZworICAqICAgICB0byBpbmFjdGl2ZSBzbyB3ZSBjYW4gYXZvaWQgdHJ5aW5nIHRvIHVwZGF0ZSB0aGUgbGVhc2Ugd2l0aCBjYiBwb2ludGVycworICAqICAgICBhbmQgdGV4dCBpbmZvcm1hdGlvbiBpZiBpdCBpc24ndCB1c2VmdWwuCitAQCAtMTkyMyw3ICsxOTIzLDcgQEAgaXNjX3Jlc3VsdF90CisgZGRuc19yZW1vdmFscyhzdHJ1Y3QgbGVhc2UgICAgKmxlYXNlLAorIAkgICAgICBzdHJ1Y3QgaWFzdWJvcHQgKmxlYXNlNiwKKyAJICAgICAgZGhjcF9kZG5zX2NiX3QgICphZGRfZGRuc19jYiwKKy0JICAgICAgaXNjX2Jvb2xlYW5fdCAgICBhY3RpdmUpCisrCSAgICAgIGJvb2wgICAgYWN0aXZlKQorIHsKKyAJaXNjX3Jlc3VsdF90IHJjb2RlLCBleGVjdXRlX2FkZCA9IElTQ19SX0ZBSUxVUkU7CisgCXN0cnVjdCBiaW5kaW5nX3Njb3BlICoqc2NvcGUgPSBOVUxMOworQEAgLTE5NzAsNyArMTk3MCw3IEBAIGRkbnNfcmVtb3ZhbHMoc3RydWN0IGxlYXNlICAgICpsZWFzZSwKKyAJCQlpZiAoKChkZG5zX2NiLT5zdGF0ZSA9PSBERE5TX1NUQVRFX0FERF9QVFIpIHx8CisgCQkJICAgICAoZGRuc19jYi0+c3RhdGUgPT0gREROU19TVEFURV9BRERfRldfTlhET01BSU4pIHx8CisgCQkJICAgICAoZGRuc19jYi0+c3RhdGUgPT0gREROU19TVEFURV9BRERfRldfWVhESENJRCkpIHx8CistCQkJICAgICgoYWN0aXZlID09IElTQ19GQUxTRSkgJiYKKysJCQkgICAgKChhY3RpdmUgPT0gZmFsc2UpICYmCisgCQkJICAgICAoKGRkbnNfY2ItPmZsYWdzICYgREROU19BQ1RJVkVfTEVBU0UpICE9IDApKSkgeworIAkJCQkvKiBDYW5jZWwgdGhlIGN1cnJlbnQgcmVxdWVzdCAqLworIAkJCQlkZG5zX2NhbmNlbChsZWFzZS0+ZGRuc19jYiwgTURMKTsKK0BAIC0xOTk4LDcgKzE5OTgsNyBAQCBkZG5zX3JlbW92YWxzKHN0cnVjdCBsZWFzZSAgICAqbGVhc2UsCisgCQkJaWYgKCgoZGRuc19jYi0+c3RhdGUgPT0gREROU19TVEFURV9BRERfUFRSKSB8fAorIAkJCSAgICAgKGRkbnNfY2ItPnN0YXRlID09IERETlNfU1RBVEVfQUREX0ZXX05YRE9NQUlOKSB8fAorIAkJCSAgICAgKGRkbnNfY2ItPnN0YXRlID09IERETlNfU1RBVEVfQUREX0ZXX1lYREhDSUQpKSB8fAorLQkJCSAgICAoKGFjdGl2ZSA9PSBJU0NfRkFMU0UpICYmCisrCQkJICAgICgoYWN0aXZlID09IGZhbHNlKSAmJgorIAkJCSAgICAgKChkZG5zX2NiLT5mbGFncyAmIERETlNfQUNUSVZFX0xFQVNFKSAhPSAwKSkpIHsKKyAJCQkJLyogQ2FuY2VsIHRoZSBjdXJyZW50IHJlcXVlc3QgKi8KKyAJCQkJZGRuc19jYW5jZWwobGVhc2U2LT5kZG5zX2NiLCBNREwpOworQEAgLTIwNTMsNyArMjA1Myw3IEBAIGRkbnNfcmVtb3ZhbHMoc3RydWN0IGxlYXNlICAgICpsZWFzZSwKKyAJICogdGhlIGxlYXNlIGluZm9ybWF0aW9uIGZvciB2NiB3aGVuIHRoZSByZXNwb25zZQorIAkgKiBmcm9tIHRoZSBETlMgY29kZSBpcyBwcm9jZXNzZWQuCisgCSAqLworLQlpZiAoYWN0aXZlID09IElTQ19UUlVFKSB7CisrCWlmIChhY3RpdmUgPT0gdHJ1ZSkgeworIAkJZGRuc19jYi0+ZmxhZ3MgfD0gREROU19BQ1RJVkVfTEVBU0U7CisgCX0KKyAKK0luZGV4OiBkaGNwLTQuNC4xL3NlcnZlci9tZGIuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9zZXJ2ZXIvbWRiLmMKKysrKyBkaGNwLTQuNC4xL3NlcnZlci9tZGIuYworQEAgLTE1MDQsNyArMTUwNCw3IEBAIHZvaWQgbWFrZV9iaW5kaW5nX3N0YXRlX3RyYW5zaXRpb24gKHN0cnUKKyAJICAgICAgbGVhc2UgLT4gYmluZGluZ19zdGF0ZSA9PSBGVFNfQUNUSVZFICYmCisgCSAgICAgIGxlYXNlIC0+IG5leHRfYmluZGluZ19zdGF0ZSAhPSBGVFNfUkVMRUFTRUQpKSkgeworICNpZiBkZWZpbmVkIChOU1VQREFURSkKKy0JCSh2b2lkKSBkZG5zX3JlbW92YWxzKGxlYXNlLCBOVUxMLCBOVUxMLCBJU0NfVFJVRSk7CisrCQkodm9pZCkgZGRuc19yZW1vdmFscyhsZWFzZSwgTlVMTCwgTlVMTCwgdHJ1ZSk7CisgI2VuZGlmCisgCQlpZiAobGVhc2UtPm9uX3N0YXIub25fZXhwaXJ5KSB7CisgCQkJZXhlY3V0ZV9zdGF0ZW1lbnRzKE5VTEwsIE5VTEwsIGxlYXNlLAorQEAgLTE1NjgsNyArMTU2OCw3IEBAIHZvaWQgbWFrZV9iaW5kaW5nX3N0YXRlX3RyYW5zaXRpb24gKHN0cnUKKyAJCSAqIHJlbGVhc2UgbWVzc2FnZS4gIFRoaXMgaXMgbm90IHRydWUgb2YgZXhwaXJ5LCB3aGVyZSB0aGUKKyAJCSAqIHBlZXIgbWF5IGhhdmUgZXh0ZW5kZWQgdGhlIGxlYXNlLgorIAkJICovCistCQkodm9pZCkgZGRuc19yZW1vdmFscyhsZWFzZSwgTlVMTCwgTlVMTCwgSVNDX1RSVUUpOworKwkJKHZvaWQpIGRkbnNfcmVtb3ZhbHMobGVhc2UsIE5VTEwsIE5VTEwsIHRydWUpOworICNlbmRpZgorIAkJaWYgKGxlYXNlLT5vbl9zdGFyLm9uX3JlbGVhc2UpIHsKKyAJCQlleGVjdXRlX3N0YXRlbWVudHMoTlVMTCwgTlVMTCwgbGVhc2UsCitAQCAtMTczNiw3ICsxNzM2LDcgQEAgdm9pZCByZWxlYXNlX2xlYXNlIChsZWFzZSwgcGFja2V0KQorIAkvKiBJZiB0aGVyZSBhcmUgc3RhdGVtZW50cyB0byBleGVjdXRlIHdoZW4gdGhlIGxlYXNlIGlzCisgCSAgIHJlbGVhc2VkLCBleGVjdXRlIHRoZW0uICovCisgI2lmIGRlZmluZWQgKE5TVVBEQVRFKQorLQkodm9pZCkgZGRuc19yZW1vdmFscyhsZWFzZSwgTlVMTCwgTlVMTCwgSVNDX0ZBTFNFKTsKKysJKHZvaWQpIGRkbnNfcmVtb3ZhbHMobGVhc2UsIE5VTEwsIE5VTEwsIGZhbHNlKTsKKyAjZW5kaWYKKyAJaWYgKGxlYXNlLT5vbl9zdGFyLm9uX3JlbGVhc2UpIHsKKyAJCWV4ZWN1dGVfc3RhdGVtZW50cyAoTlVMTCwgcGFja2V0LCBsZWFzZSwKK0BAIC0xODEwLDcgKzE4MTAsNyBAQCB2b2lkIGFiYW5kb25fbGVhc2UgKGxlYXNlLCBtZXNzYWdlKQorIHsKKyAJc3RydWN0IGxlYXNlICpsdCA9IE5VTEw7CisgI2lmIGRlZmluZWQgKE5TVVBEQVRFKQorLQkodm9pZCkgZGRuc19yZW1vdmFscyhsZWFzZSwgTlVMTCwgTlVMTCwgSVNDX0ZBTFNFKTsKKysJKHZvaWQpIGRkbnNfcmVtb3ZhbHMobGVhc2UsIE5VTEwsIE5VTEwsIGZhbHNlKTsKKyAjZW5kaWYKKyAKKyAJaWYgKCFsZWFzZV9jb3B5KCZsdCwgbGVhc2UsIE1ETCkpIHsKK0BAIC0xODYwLDcgKzE4NjAsNyBAQCB2b2lkIGRpc3NvY2lhdGVfbGVhc2UgKGxlYXNlKQorIHsKKyAJc3RydWN0IGxlYXNlICpsdCA9IChzdHJ1Y3QgbGVhc2UgKikwOworICNpZiBkZWZpbmVkIChOU1VQREFURSkKKy0JKHZvaWQpIGRkbnNfcmVtb3ZhbHMobGVhc2UsIE5VTEwsIE5VTEwsIElTQ19GQUxTRSk7CisrCSh2b2lkKSBkZG5zX3JlbW92YWxzKGxlYXNlLCBOVUxMLCBOVUxMLCBmYWxzZSk7CisgI2VuZGlmCisgCisgCWlmICghbGVhc2VfY29weSAoJmx0LCBsZWFzZSwgTURMKSkKK0BAIC0yMDcyLDM4ICsyMDcyLDM4IEBAIGludCBmaW5kX2xlYXNlX2J5X2h3X2FkZHIgKHN0cnVjdCBsZWFzZQorICAqICAgIHNob3VsZCBuZXZlciBzZWUgcmVzZXQgbGVhc2VzIGZvciB0aGlzLgorICAqIDQpIEFiYW5kb25lZCBsZWFzZXMgYXJlIGFsd2F5cyBkZWFkIGxhc3QuCisgICovCistc3RhdGljIGlzY19ib29sZWFuX3QKKytzdGF0aWMgYm9vbAorIGNsaWVudF9sZWFzZV9wcmVmZXJyZWQoc3RydWN0IGxlYXNlICpjYW5kLCBzdHJ1Y3QgbGVhc2UgKmxlYXNlKQorIHsKKyAJaWYgKGNhbmQtPmJpbmRpbmdfc3RhdGUgPT0gRlRTX0FDVElWRSkgeworIAkJaWYgKGxlYXNlLT5iaW5kaW5nX3N0YXRlID09IEZUU19BQ1RJVkUgJiYKKyAJCSAgICBsZWFzZS0+ZW5kcyA+PSBjYW5kLT5lbmRzKQorLQkJCXJldHVybiBJU0NfVFJVRTsKKysJCQlyZXR1cm4gdHJ1ZTsKKyAJfSBlbHNlIGlmIChjYW5kLT5iaW5kaW5nX3N0YXRlID09IEZUU19FWFBJUkVEIHx8CisgCQkgICBjYW5kLT5iaW5kaW5nX3N0YXRlID09IEZUU19SRUxFQVNFRCkgeworIAkJaWYgKGxlYXNlLT5iaW5kaW5nX3N0YXRlID09IEZUU19BQ1RJVkUpCistCQkJcmV0dXJuIElTQ19UUlVFOworKwkJCXJldHVybiB0cnVlOworIAorIAkJaWYgKChsZWFzZS0+YmluZGluZ19zdGF0ZSA9PSBGVFNfRVhQSVJFRCB8fAorIAkJICAgICBsZWFzZS0+YmluZGluZ19zdGF0ZSA9PSBGVFNfUkVMRUFTRUQpICYmCisgCQkgICAgbGVhc2UtPmNsdHQgPj0gY2FuZC0+Y2x0dCkKKy0JCQlyZXR1cm4gSVNDX1RSVUU7CisrCQkJcmV0dXJuIHRydWU7CisgCX0gZWxzZSBpZiAoY2FuZC0+YmluZGluZ19zdGF0ZSAhPSBGVFNfQUJBTkRPTkVEKSB7CisgCQlpZiAobGVhc2UtPmJpbmRpbmdfc3RhdGUgPT0gRlRTX0FDVElWRSB8fAorIAkJICAgIGxlYXNlLT5iaW5kaW5nX3N0YXRlID09IEZUU19FWFBJUkVEIHx8CisgCQkgICAgbGVhc2UtPmJpbmRpbmdfc3RhdGUgPT0gRlRTX1JFTEVBU0VEKQorLQkJCXJldHVybiBJU0NfVFJVRTsKKysJCQlyZXR1cm4gdHJ1ZTsKKyAKKyAJCWlmIChsZWFzZS0+YmluZGluZ19zdGF0ZSAhPSBGVFNfQUJBTkRPTkVEICYmCisgCQkgICAgbGVhc2UtPmNsdHQgPj0gY2FuZC0+Y2x0dCkKKy0JCQlyZXR1cm4gSVNDX1RSVUU7CisrCQkJcmV0dXJuIHRydWU7CisgCX0gZWxzZSAvKiAoY2FuZC0+YmluZGluZ19zdGF0ZSA9PSBGVFNfQUJBTkRPTkVEKSAqLyB7CisgCQlpZiAobGVhc2UtPmJpbmRpbmdfc3RhdGUgIT0gRlRTX0FCQU5ET05FRCB8fAorIAkJICAgIGxlYXNlLT5jbHR0ID49IGNhbmQtPmNsdHQpCistCQkJcmV0dXJuIElTQ19UUlVFOworKwkJCXJldHVybiB0cnVlOworIAl9CisgCistCXJldHVybiBJU0NfRkFMU0U7CisrCXJldHVybiBmYWxzZTsKKyB9CisgCisgLyogQWRkIHRoZSBzcGVjaWZpZWQgbGVhc2UgdG8gdGhlIHVpZCBoYXNoLiAqLwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3AvZGhjcC8wMDA4LXR3ZWFrLXRvLXN1cHBvcnQtZXh0ZXJuYWwtYmluZC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kaGNwL2RoY3AvMDAwOC10d2Vhay10by1zdXBwb3J0LWV4dGVybmFsLWJpbmQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwNmQxOGEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3AvZGhjcC8wMDA4LXR3ZWFrLXRvLXN1cHBvcnQtZXh0ZXJuYWwtYmluZC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDExNyArMCwwIEBACi1Gcm9tIDkyODc1ZjVjYzQ0OTE0NTE1ZTUwYzExYzUwM2EwOWNlYzkwNDk3YjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBTYXQsIDExIEp1biAyMDE2IDIyOjUxOjQ0IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMDgvMTFdIHR3ZWFrIHRvIHN1cHBvcnQgZXh0ZXJuYWwgYmluZAotCi1Ud2VhayB0aGUgZXh0ZXJuYWwgYmluZCB0byBvZS1jb3JlJ3Mgc3lzcm9vdCByYXRoZXIgdGhhbgotZXh0ZXJuYWwgYmluZCBzb3VyY2UgYnVpbGQuCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSA8b2UtY29yZSBzcGVjaWZpYz4KLQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gY2xpZW50L01ha2VmaWxlLmFtICAgICAgIHwgMiArLQotIGNsaWVudC90ZXN0cy9NYWtlZmlsZS5hbSB8IDIgKy0KLSBjb21tb24vdGVzdHMvTWFrZWZpbGUuYW0gfCAyICstCi0gZGhjcGN0bC9NYWtlZmlsZS5hbSAgICAgIHwgMiArLQotIG9tYXBpcC9NYWtlZmlsZS5hbSAgICAgICB8IDIgKy0KLSByZWxheS9NYWtlZmlsZS5hbSAgICAgICAgfCAyICstCi0gc2VydmVyL01ha2VmaWxlLmFtICAgICAgIHwgMiArLQotIHNlcnZlci90ZXN0cy9NYWtlZmlsZS5hbSB8IDIgKy0KLSA4IGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NsaWVudC9NYWtlZmlsZS5hbSBiL2NsaWVudC9NYWtlZmlsZS5hbQotaW5kZXggNDczMGJiMy4uODRkODEzMSAxMDA2NDQKLS0tLSBhL2NsaWVudC9NYWtlZmlsZS5hbQotKysrIGIvY2xpZW50L01ha2VmaWxlLmFtCi1AQCAtNCw3ICs0LDcgQEAKLSAjIHByb2R1Y3Rpb24gY29kZS4gU2FkbHksIHdlIGFyZSBub3QgdGhlcmUgeWV0LgotIFNVQkRJUlMgPSAuIHRlc3RzCi0gCi0tQklORExJQkRJUiA9IEBCSU5ERElSQC9saWIKLStCSU5ETElCRElSID0gQEJJTkRESVJACi0gCi0gQU1fQ1BQRkxBR1MgPSAtRENMSUVOVF9QQVRIPSciUEFUSD0kKHNiaW5kaXIpOi9zYmluOi9iaW46L3Vzci9zYmluOi91c3IvYmluIicgXAotIAkgICAgICAtRExPQ0FMU1RBVEVESVI9JyIkKGxvY2Fsc3RhdGVkaXIpIicgLUkkKHRvcF9zcmNkaXIpL2luY2x1ZGVzCi1kaWZmIC0tZ2l0IGEvY2xpZW50L3Rlc3RzL01ha2VmaWxlLmFtIGIvY2xpZW50L3Rlc3RzL01ha2VmaWxlLmFtCi1pbmRleCA1MDMxZDBjLi5hOGRmZDI2IDEwMDY0NAotLS0tIGEvY2xpZW50L3Rlc3RzL01ha2VmaWxlLmFtCi0rKysgYi9jbGllbnQvdGVzdHMvTWFrZWZpbGUuYW0KLUBAIC0xLDYgKzEsNiBAQAotIFNVQkRJUlMgPSAuCi0gCi0tQklORExJQkRJUiA9IEBCSU5ERElSQC9saWIKLStCSU5ETElCRElSID0gQEJJTkRESVJACi0gCi0gQU1fQ1BQRkxBR1MgPSAkKEFURl9DRkxBR1MpIC1EVU5JVF9URVNUIC1JJCh0b3Bfc3JjZGlyKS9pbmNsdWRlcwotIEFNX0NQUEZMQUdTICs9IC1JQEJJTkRESVJAL2luY2x1ZGUgLUkkKHRvcF9zcmNkaXIpCi1kaWZmIC0tZ2l0IGEvY29tbW9uL3Rlc3RzL01ha2VmaWxlLmFtIGIvY29tbW9uL3Rlc3RzL01ha2VmaWxlLmFtCi1pbmRleCBmNmE0M2U0Li4yZjk4ZDIyIDEwMDY0NAotLS0tIGEvY29tbW9uL3Rlc3RzL01ha2VmaWxlLmFtCi0rKysgYi9jb21tb24vdGVzdHMvTWFrZWZpbGUuYW0KLUBAIC0xLDYgKzEsNiBAQAotIFNVQkRJUlMgPSAuCi0gCi0tQklORExJQkRJUiA9IEBCSU5ERElSQC9saWIKLStCSU5ETElCRElSID0gQEJJTkRESVJACi0gCi0gQU1fQ1BQRkxBR1MgPSAkKEFURl9DRkxBR1MpIC1JJCh0b3Bfc3JjZGlyKS9pbmNsdWRlcwotIAotZGlmZiAtLWdpdCBhL2RoY3BjdGwvTWFrZWZpbGUuYW0gYi9kaGNwY3RsL01ha2VmaWxlLmFtCi1pbmRleCBiYThkZDhiLi45YjI0ODZlIDEwMDY0NAotLS0tIGEvZGhjcGN0bC9NYWtlZmlsZS5hbQotKysrIGIvZGhjcGN0bC9NYWtlZmlsZS5hbQotQEAgLTEsNCArMSw0IEBACi0tQklORExJQkRJUiA9IEBCSU5ERElSQC9saWIKLStCSU5ETElCRElSID0gQEJJTkRESVJACi0gCi0gQU1fQ1BQRkxBR1MgPSAtSSQodG9wX3NyY2RpcikvaW5jbHVkZXMgLUkkKHRvcF9zcmNkaXIpCi0gCi1kaWZmIC0tZ2l0IGEvb21hcGlwL01ha2VmaWxlLmFtIGIvb21hcGlwL01ha2VmaWxlLmFtCi1pbmRleCBkZDFhZmEwLi5lNGE4NTk5IDEwMDY0NAotLS0tIGEvb21hcGlwL01ha2VmaWxlLmFtCi0rKysgYi9vbWFwaXAvTWFrZWZpbGUuYW0KLUBAIC0xLDQgKzEsNCBAQAotLUJJTkRMSUJESVIgPSBAQklORERJUkAvbGliCi0rQklORExJQkRJUiA9IEBCSU5ERElSQAotIEFNX0NQUEZMQUdTID0gLUkkKHRvcF9zcmNkaXIpL2luY2x1ZGVzCi0gCi0gbGliX0xJQlJBUklFUyA9IGxpYm9tYXBpLmEKLWRpZmYgLS1naXQgYS9yZWxheS9NYWtlZmlsZS5hbSBiL3JlbGF5L01ha2VmaWxlLmFtCi1pbmRleCA2ZDY1MmY2Li5iM2JmNTc4IDEwMDY0NAotLS0tIGEvcmVsYXkvTWFrZWZpbGUuYW0KLSsrKyBiL3JlbGF5L01ha2VmaWxlLmFtCi1AQCAtMSw0ICsxLDQgQEAKLS1CSU5ETElCRElSID0gQEJJTkRESVJAL2xpYgotK0JJTkRMSUJESVIgPSBAQklORERJUkAKLSAKLSBBTV9DUFBGTEFHUyA9IC1ETE9DQUxTVEFURURJUj0nIkBsb2NhbHN0YXRlZGlyQCInIC1JJCh0b3Bfc3JjZGlyKS9pbmNsdWRlcwotIAotZGlmZiAtLWdpdCBhL3NlcnZlci9NYWtlZmlsZS5hbSBiL3NlcnZlci9NYWtlZmlsZS5hbQotaW5kZXggMzk5MGI5Yy4uYjVkOGMyZCAxMDA2NDQKLS0tLSBhL3NlcnZlci9NYWtlZmlsZS5hbQotKysrIGIvc2VydmVyL01ha2VmaWxlLmFtCi1AQCAtNCw3ICs0LDcgQEAKLSAjIHByb2R1Y3Rpb24gY29kZS4gU2FkbHksIHdlIGFyZSBub3QgdGhlcmUgeWV0LgotIFNVQkRJUlMgPSAuIHRlc3RzCi0gCi0tQklORExJQkRJUiA9IEBCSU5ERElSQC9saWIKLStCSU5ETElCRElSID0gQEJJTkRESVJACi0gCi0gQU1fQ1BQRkxBR1MgPSAtSSQodG9wX3NyY2RpcikgLURMT0NBTFNUQVRFRElSPSciQGxvY2Fsc3RhdGVkaXJAIicgLUkkKHRvcF9zcmNkaXIpL2luY2x1ZGVzCi0gCi1kaWZmIC0tZ2l0IGEvc2VydmVyL3Rlc3RzL01ha2VmaWxlLmFtIGIvc2VydmVyL3Rlc3RzL01ha2VmaWxlLmFtCi1pbmRleCBhODdjNWU3Li45ODIxMDgxIDEwMDY0NAotLS0tIGEvc2VydmVyL3Rlc3RzL01ha2VmaWxlLmFtCi0rKysgYi9zZXJ2ZXIvdGVzdHMvTWFrZWZpbGUuYW0KLUBAIC0xLDYgKzEsNiBAQAotIFNVQkRJUlMgPSAuCi0gCi0tQklORExJQkRJUiA9IEBCSU5ERElSQC9saWIKLStCSU5ETElCRElSID0gQEJJTkRESVJACi0gCi0gQU1fQ1BQRkxBR1MgPSAkKEFURl9DRkxBR1MpIC1EVU5JVF9URVNUIC1JJCh0b3Bfc3JjZGlyKS9pbmNsdWRlcwotIEFNX0NQUEZMQUdTICs9IC1JQEJJTkRESVJAL2luY2x1ZGUgLUkkKHRvcF9zcmNkaXIpCi0tLSAKLTEuOC4zLjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3AvZGhjcF80LjQuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kaGNwL2RoY3BfNC40LjEuYmIKaW5kZXggMTU5YWJiYy4uY2EwZGFhMSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3AvZGhjcF80LjQuMS5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGhjcC9kaGNwXzQuNC4xLmJiCkBAIC0xMCw2ICsxMCw3IEBACiAgICAgICAgICAgICBmaWxlOi8vMDAwOS1yZW1vdmUtZGhjbGllbnQtc2NyaXB0LWJhc2gtZGVwZW5kZW5jeS5wYXRjaCBcCiAgICAgICAgICAgICBmaWxlOi8vMDAxMi1kaGNwLWNvcnJlY3QtdGhlLWludGVudGlvbi1mb3IteG1sMi1saWItc2VhcmNoLnBhdGNoIFwKICAgICAgICAgICAgIGZpbGU6Ly8wMDEzLWZpeHVwX3VzZV9saWJiaW5kLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWRoY3BkLWZpeC1SZXBsYWNlLWN1c3RvbS1pc2NfYm9vbGVhbl90LXdpdGgtQy1zdGFuZGEucGF0Y2ggXAogIgogCiBTUkNfVVJJW21kNXN1bV0gPSAiMThjN2Y0ZGNiYjBhNjNkZjI1MDk4MjE2ZDQ3YjFlZGUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy8wMDAxLXJjcC1maXgtdG8td29yay13aXRoLWxhcmdlLWZpbGVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvMDAwMS1yY3AtZml4LXRvLXdvcmstd2l0aC1sYXJnZS1maWxlcy5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvMDAwMS1yY3AtZml4LXRvLXdvcmstd2l0aC1sYXJnZS1maWxlcy5wYXRjaApyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvMDAwMS1yY3AtZml4LXRvLXdvcmstd2l0aC1sYXJnZS1maWxlcy5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvZml4LWRpc2FibGUtaXB2Ni5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2ZpeC1kaXNhYmxlLWlwdjYucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2ZpeC1kaXNhYmxlLWlwdjYucGF0Y2gKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2ZpeC1kaXNhYmxlLWlwdjYucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2luZXR1dGlscy0xLjgtMDAwMS1wcmludGYtcGFyc2UtcHVsbC1pbi1mZWF0dXJlcy5oLWZvci1fX0dMSUJDX18ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9pbmV0dXRpbHMtMS44LTAwMDEtcHJpbnRmLXBhcnNlLXB1bGwtaW4tZmVhdHVyZXMuaC1mb3ItX19HTElCQ19fLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9pbmV0dXRpbHMtMS44LTAwMDEtcHJpbnRmLXBhcnNlLXB1bGwtaW4tZmVhdHVyZXMuaC1mb3ItX19HTElCQ19fLnBhdGNoCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9pbmV0dXRpbHMtMS44LTAwMDEtcHJpbnRmLXBhcnNlLXB1bGwtaW4tZmVhdHVyZXMuaC1mb3ItX19HTElCQ19fLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9pbmV0dXRpbHMtMS44LTAwMDMtd2NoYXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9pbmV0dXRpbHMtMS44LTAwMDMtd2NoYXIucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2luZXR1dGlscy0xLjgtMDAwMy13Y2hhci5wYXRjaApyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvaW5ldHV0aWxzLTEuOC0wMDAzLXdjaGFyLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9pbmV0dXRpbHMtMS45LVBBVEhfUFJPQ05FVF9ERVYucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9pbmV0dXRpbHMtMS45LVBBVEhfUFJPQ05FVF9ERVYucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2luZXR1dGlscy0xLjktUEFUSF9QUk9DTkVUX0RFVi5wYXRjaApyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvaW5ldHV0aWxzLTEuOS1QQVRIX1BST0NORVRfREVWLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9pbmV0dXRpbHMtb25seS1jaGVjay1wYW1fYXBwbC5oLXdoZW4tcGFtLWVuYWJsZWQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9pbmV0dXRpbHMtb25seS1jaGVjay1wYW1fYXBwbC5oLXdoZW4tcGFtLWVuYWJsZWQucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2luZXR1dGlscy1vbmx5LWNoZWNrLXBhbV9hcHBsLmgtd2hlbi1wYW0tZW5hYmxlZC5wYXRjaApyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvaW5ldHV0aWxzLW9ubHktY2hlY2stcGFtX2FwcGwuaC13aGVuLXBhbS1lbmFibGVkLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9yZXhlYy54aW5ldGQuaW5ldHV0aWxzIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvcmV4ZWMueGluZXRkLmluZXR1dGlscwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvcmV4ZWMueGluZXRkLmluZXR1dGlscwpyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvcmV4ZWMueGluZXRkLmluZXR1dGlscwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvcmxvZ2luLnhpbmV0ZC5pbmV0dXRpbHMgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9ybG9naW4ueGluZXRkLmluZXR1dGlscwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvcmxvZ2luLnhpbmV0ZC5pbmV0dXRpbHMKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3Jsb2dpbi54aW5ldGQuaW5ldHV0aWxzCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9yc2gueGluZXRkLmluZXR1dGlscyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3JzaC54aW5ldGQuaW5ldHV0aWxzCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9yc2gueGluZXRkLmluZXR1dGlscwpyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvcnNoLnhpbmV0ZC5pbmV0dXRpbHMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3RlbG5ldC54aW5ldGQuaW5ldHV0aWxzIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvdGVsbmV0LnhpbmV0ZC5pbmV0dXRpbHMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3RlbG5ldC54aW5ldGQuaW5ldHV0aWxzCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy90ZWxuZXQueGluZXRkLmluZXR1dGlscwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvdGZ0cGQueGluZXRkLmluZXR1dGlscyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3RmdHBkLnhpbmV0ZC5pbmV0dXRpbHMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3RmdHBkLnhpbmV0ZC5pbmV0dXRpbHMKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3RmdHBkLnhpbmV0ZC5pbmV0dXRpbHMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3ZlcnNpb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy92ZXJzaW9uLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy92ZXJzaW9uLnBhdGNoCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy92ZXJzaW9uLnBhdGNoCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlsc18xLjkuNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzXzEuOS40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjMTM4NGUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlsc18xLjkuNC5iYgpAQCAtMCwwICsxLDIwOSBAQAorREVTQ1JJUFRJT04gPSAiVGhlIEdOVSBpbmV0dXRpbHMgYXJlIGEgY29sbGVjdGlvbiBvZiBjb21tb24gXAorbmV0d29ya2luZyB1dGlsaXRpZXMgYW5kIHNlcnZlcnMgaW5jbHVkaW5nIGZ0cCwgZnRwZCwgcmNwLCBcCityZXhlYywgcmxvZ2luLCBybG9naW5kLCByc2gsIHJzaGQsIHN5c2xvZywgc3lzbG9nZCwgdGFsaywgXAordGFsa2QsIHRlbG5ldCwgdGVsbmV0ZCwgdGZ0cCwgdGZ0cGQsIGFuZCB1dWNwZC4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvaW5ldHV0aWxzIgorU0VDVElPTiA9ICJuZXQiCitERVBFTkRTID0gIm5jdXJzZXMgbmV0YmFzZSByZWFkbGluZSB2aXJ0dWFsL2NyeXB0IgorCitMSUNFTlNFID0gIkdQTHYzIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wYzcwNTFhZWY5MjE5ZGM3MjM3ZjIwNmM1YzQxNzlhNyIKKworU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9L2luZXR1dGlscy9pbmV0dXRpbHMtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3ZlcnNpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vaW5ldHV0aWxzLTEuOC0wMDAxLXByaW50Zi1wYXJzZS1wdWxsLWluLWZlYXR1cmVzLmgtZm9yLV9fR0xJQkNfXy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9pbmV0dXRpbHMtMS44LTAwMDMtd2NoYXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcmV4ZWMueGluZXRkLmluZXR1dGlscyAgXAorICAgICAgICAgICBmaWxlOi8vcmxvZ2luLnhpbmV0ZC5pbmV0dXRpbHMgXAorICAgICAgICAgICBmaWxlOi8vcnNoLnhpbmV0ZC5pbmV0dXRpbHMgXAorICAgICAgICAgICBmaWxlOi8vdGVsbmV0LnhpbmV0ZC5pbmV0dXRpbHMgXAorICAgICAgICAgICBmaWxlOi8vdGZ0cGQueGluZXRkLmluZXR1dGlscyBcCisgICAgICAgICAgIGZpbGU6Ly9pbmV0dXRpbHMtMS45LVBBVEhfUFJPQ05FVF9ERVYucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vaW5ldHV0aWxzLW9ubHktY2hlY2stcGFtX2FwcGwuaC13aGVuLXBhbS1lbmFibGVkLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtcmNwLWZpeC10by13b3JrLXdpdGgtbGFyZ2UtZmlsZXMucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMDQ4NTJjMjZjNDdjYzhjNmI4MjVmMmI3NGYxOTFmNTIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYmU4Zjc1ZWZmOTM2YjhlNDFiMTEyNDYyZGI1MWFkZjY4OTcxNTY1OGExYjA5ZTBkNmIwNWQxMWVjOTJjYzYxNiIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCB1cGRhdGUtYWx0ZXJuYXRpdmVzIHRleGluZm8KKworYWNwYXRocyA9ICItSSAuL200IgorCitTUkNfVVJJICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCAnJywgJ2ZpbGU6Ly9maXgtZGlzYWJsZS1pcHY2LnBhdGNoJywgZCl9IgorCitQQUNLQUdFQ09ORklHID8/PSAiZnRwIHV1Y3BkIFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCBkKX0gXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsICdpcHY2IHBpbmc2JywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICAiCitQQUNLQUdFQ09ORklHW2Z0cF0gPSAiLS1lbmFibGUtZnRwLC0tZGlzYWJsZS1mdHAscmVhZGxpbmUiCitQQUNLQUdFQ09ORklHW3V1Y3BkXSA9ICItLWVuYWJsZS11dWNwZCwtLWRpc2FibGUtdXVjcGQscmVhZGxpbmUiCitQQUNLQUdFQ09ORklHW3BhbV0gPSAiLS13aXRoLXBhbSwtLXdpdGhvdXQtcGFtLGxpYnBhbSIKK1BBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiBnbF9jdl9zb2NrZXRfaXB2Nj1ubywiCitQQUNLQUdFQ09ORklHW3Bpbmc2XSA9ICItLWVuYWJsZS1waW5nNiwtLWRpc2FibGUtcGluZzYsIgorCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLW5jdXJzZXMtaW5jbHVkZS1kaXI9JHtTVEFHSU5HX0lOQ0RJUn0gXAorICAgICAgICBpbmV0dXRpbHNfY3ZfcGF0aF9sb2dpbj0ke2Jhc2VfYmluZGlyfS9sb2dpbiBcCisgICAgICAgIC0td2l0aC1saWJyZWFkbGluZS1wcmVmaXg9JHtTVEFHSU5HX0xJQkRJUn0gXAorICAgICAgICAtLWVuYWJsZS1ycGF0aD1ubyBcCisiCisKKyMgVGhlc2UgYXJlIGhvcnJpYmxlIGZvciBzZWN1cml0eSwgZGlzYWJsZSB0aGVtCitFWFRSQV9PRUNPTkZfYXBwZW5kID0gIiAtLWRpc2FibGUtcnNoIC0tZGlzYWJsZS1yc2hkIC0tZGlzYWJsZS1yY3AgXAorICAgICAgICAtLWRpc2FibGUtcmxvZ2luIC0tZGlzYWJsZS1ybG9naW5kIC0tZGlzYWJsZS1yZXhlYyAtLWRpc2FibGUtcmV4ZWNkIgorCitkb19jb25maWd1cmVfcHJlcGVuZCAoKSB7CisgICAgZXhwb3J0IEhFTFAyTUFOPSd0cnVlJworICAgIGNwICR7U1RBR0lOR19EQVRBRElSX05BVElWRX0vZ2V0dGV4dC9jb25maWcucnBhdGggJHtTfS9idWlsZC1hdXgvY29uZmlnLnJwYXRoCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U1RBR0lOR19EQVRBRElSX05BVElWRX0vZ251LWNvbmZpZy9jb25maWcuZ3Vlc3MgJHtTfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2dudS1jb25maWcvY29uZmlnLnN1YiAke1N9CisgICAgcm0gLWYgJHtTfS9nbG9iL2NvbmZpZ3VyZSoKK30KKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtiYXNlX3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kCisgICAgaWYgWyAiJHtiYXNlX2JpbmRpcn0iICE9ICIke2JpbmRpcn0iIF0gOyB0aGVuCisgICAgICAgICBpbnN0YWxsIC1tIDA3NTUgLWQgJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgICAgICBtdiAke0R9JHtiaW5kaXJ9L3BpbmcqICR7RH0ke2Jhc2VfYmluZGlyfS8KKyAgICAgICAgIG12ICR7RH0ke2JpbmRpcn0vaG9zdG5hbWUgJHtEfSR7YmFzZV9iaW5kaXJ9LworICAgIGZpCisgICAgbXYgJHtEfSR7YmluZGlyfS9pZmNvbmZpZyAke0R9JHtiYXNlX3NiaW5kaXJ9LworICAgIG12ICR7RH0ke2xpYmV4ZWNkaXJ9L3N5c2xvZ2QgJHtEfSR7YmFzZV9zYmluZGlyfS8KKyAgICBtdiAke0R9JHtsaWJleGVjZGlyfS90ZnRwZCAke0R9JHtzYmluZGlyfS9pbi50ZnRwZAorICAgIG12ICR7RH0ke2xpYmV4ZWNkaXJ9L3RlbG5ldGQgJHtEfSR7c2JpbmRpcn0vaW4udGVsbmV0ZAorICAgIGlmIFsgLWUgJHtEfSR7bGliZXhlY2Rpcn0vcmV4ZWNkIF07IHRoZW4KKyAgICAgICAgbXYgJHtEfSR7bGliZXhlY2Rpcn0vcmV4ZWNkICR7RH0ke3NiaW5kaXJ9L2luLnJleGVjZAorICAgICAgICBjcCAke1dPUktESVJ9L3JleGVjLnhpbmV0ZC5pbmV0dXRpbHMgJHtEfS8ke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kL3JleGVjCisgICAgZmkKKyAgICBpZiBbIC1lICR7RH0ke2xpYmV4ZWNkaXJ9L3Jsb2dpbmQgXTsgdGhlbgorICAgICAgICBtdiAke0R9JHtsaWJleGVjZGlyfS9ybG9naW5kICR7RH0ke3NiaW5kaXJ9L2luLnJsb2dpbmQKKyAgICAgICAgY3AgJHtXT1JLRElSfS9ybG9naW4ueGluZXRkLmluZXR1dGlscyAke0R9LyR7c3lzY29uZmRpcn0veGluZXRkLmQvcmxvZ2luCisgICAgZmkKKyAgICBpZiBbIC1lICR7RH0ke2xpYmV4ZWNkaXJ9L3JzaGQgXTsgdGhlbgorICAgICAgICBtdiAke0R9JHtsaWJleGVjZGlyfS9yc2hkICR7RH0ke3NiaW5kaXJ9L2luLnJzaGQKKyAgICAgICAgY3AgJHtXT1JLRElSfS9yc2gueGluZXRkLmluZXR1dGlscyAke0R9LyR7c3lzY29uZmRpcn0veGluZXRkLmQvcnNoCisgICAgZmkKKyAgICBpZiBbIC1lICR7RH0ke2xpYmV4ZWNkaXJ9L3RhbGtkIF07IHRoZW4KKyAgICAgICAgbXYgJHtEfSR7bGliZXhlY2Rpcn0vdGFsa2QgJHtEfSR7c2JpbmRpcn0vaW4udGFsa2QKKyAgICBmaQorICAgIG12ICR7RH0ke2xpYmV4ZWNkaXJ9L3V1Y3BkICR7RH0ke3NiaW5kaXJ9L2luLnV1Y3BkCisgICAgbXYgJHtEfSR7bGliZXhlY2Rpcn0vKiAke0R9JHtiaW5kaXJ9LworICAgIGNwICR7V09SS0RJUn0vdGVsbmV0LnhpbmV0ZC5pbmV0dXRpbHMgICR7RH0vJHtzeXNjb25mZGlyfS94aW5ldGQuZC90ZWxuZXQKKyAgICBjcCAke1dPUktESVJ9L3RmdHBkLnhpbmV0ZC5pbmV0dXRpbHMgICR7RH0vJHtzeXNjb25mZGlyfS94aW5ldGQuZC90ZnRwZAorCisgICAgc2VkIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnIC1pICR7RH0vJHtzeXNjb25mZGlyfS94aW5ldGQuZC8qCisgICAgaWYgWyAtZSAke0R9JHtsaWJkaXJ9L2NoYXJzZXQuYWxpYXMgXTsgdGhlbgorICAgICAgICBybSAtcmYgJHtEfSR7bGliZGlyfS9jaGFyc2V0LmFsaWFzCisgICAgZmkKKyAgICBybSAtcmYgJHtEfSR7bGliZXhlY2Rpcn0vCisgICAgIyByZW1vdmUgdXNyL2xpYiBpZiBlbXB0eQorICAgIHJtZGlyICR7RH0ke2xpYmRpcn0gfHwgdHJ1ZQorfQorCitQQUNLQUdFUyA9KyAiJHtQTn0tcGluZyAke1BOfS1waW5nNiAke1BOfS1ob3N0bmFtZSAke1BOfS1pZmNvbmZpZyBcCiske1BOfS10ZnRwICR7UE59LWxvZ2dlciAke1BOfS10cmFjZXJvdXRlICR7UE59LXN5c2xvZ2QgXAorJHtQTn0tZnRwICR7UE59LWZ0cGQgJHtQTn0tdGZ0cGQgJHtQTn0tdGVsbmV0ICR7UE59LXRlbG5ldGQgJHtQTn0taW5ldGQgXAorJHtQTn0tcnNoICR7UE59LXJzaGQiCisKKyMgVGhlIHBhY2thZ2VzIHRmdHBkLCB0ZWxuZXRkIGFuZCByc2hkIGNvbmZsaWN0IHdpdGggdGhlIG9uZXMKKyMgcHJvdmlkZWQgYnkgbmV0a2l0LCBzbyBhZGQgdGhlIGNvcnJlc3BvbmRpbmcgLWRiZyBwYWNrYWdlcworIyBmb3IgdGhlbSB0byBhdm9pZCB0aGUgY29uZmxpY3Rpb24gYmV0d2VlbiB0aGUgZGJnIHBhY2thZ2UKKyMgb2YgaW5ldHV0aWxzIGFuZCBuZXRraXQuCitQQUNLQUdFUyA9KyAiJHtQTn0tdGZ0cGQtZGJnICR7UE59LXRlbG5ldGQtZGJnICR7UE59LXJzaGQtZGJnIgorTk9BVVRPUEFDS0FHRURFQlVHID0gIjEiCisKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjc5IgorQUxURVJOQVRJVkVfJHtQTn0gPSAid2hvaXMiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbdXVjcGRdICA9ICIke3NiaW5kaXJ9L2luLnV1Y3BkIgorCitBTFRFUk5BVElWRV9QUklPUklUWV8ke1BOfS1sb2dnZXIgPSAiNjAiCitBTFRFUk5BVElWRV8ke1BOfS1sb2dnZXIgPSAibG9nZ2VyIgorQUxURVJOQVRJVkVfJHtQTn0tc3lzbG9nZCA9ICJzeXNsb2dkIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3N5c2xvZ2RdICA9ICIke2Jhc2Vfc2JpbmRpcn0vc3lzbG9nZCIKKworQUxURVJOQVRJVkVfJHtQTn0tZnRwID0gImZ0cCIKK0FMVEVSTkFUSVZFXyR7UE59LWZ0cGQgPSAiZnRwZCIKK0FMVEVSTkFUSVZFXyR7UE59LXRmdHAgPSAidGZ0cCIKK0FMVEVSTkFUSVZFXyR7UE59LXRmdHBkID0gInRmdHBkIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3RmdHBkXSA9ICIke3NiaW5kaXJ9L3RmdHBkIgorQUxURVJOQVRJVkVfVEFSR0VUW3RmdHBkXSAgPSAiJHtzYmluZGlyfS9pbi50ZnRwZCIKKworQUxURVJOQVRJVkVfJHtQTn0tdGVsbmV0ID0gInRlbG5ldCIKK0FMVEVSTkFUSVZFXyR7UE59LXRlbG5ldGQgPSAidGVsbmV0ZCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt0ZWxuZXRkXSA9ICIke3NiaW5kaXJ9L3RlbG5ldGQiCitBTFRFUk5BVElWRV9UQVJHRVRbdGVsbmV0ZF0gPSAiJHtzYmluZGlyfS9pbi50ZWxuZXRkIgorCitBTFRFUk5BVElWRV8ke1BOfS1pbmV0ZD0gImluZXRkIgorQUxURVJOQVRJVkVfJHtQTn0tdHJhY2Vyb3V0ZSA9ICJ0cmFjZXJvdXRlIgorCitBTFRFUk5BVElWRV8ke1BOfS1ob3N0bmFtZSA9ICJob3N0bmFtZSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtob3N0bmFtZV0gID0gIiR7YmFzZV9iaW5kaXJ9L2hvc3RuYW1lIgorCitBTFRFUk5BVElWRV8ke1BOfS1kb2MgPSAiaG9zdG5hbWUuMSBkbnNkb21haW5uYW1lLjEgbG9nZ2VyLjEgc3lzbG9nZC44IgorQUxURVJOQVRJVkVfTElOS19OQU1FW2hvc3RuYW1lLjFdID0gIiR7bWFuZGlyfS9tYW4xL2hvc3RuYW1lLjEiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbZG5zZG9tYWlubmFtZS4xXSA9ICIke21hbmRpcn0vbWFuMS9kbnNkb21haW5uYW1lLjEiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbbG9nZ2VyLjFdID0gIiR7bWFuZGlyfS9tYW4xL2xvZ2dlci4xIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3N5c2xvZ2QuOF0gPSAiJHttYW5kaXJ9L21hbjgvc3lzbG9nZC44IgorCitBTFRFUk5BVElWRV8ke1BOfS1pZmNvbmZpZyA9ICJpZmNvbmZpZyIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtpZmNvbmZpZ10gID0gIiR7YmFzZV9zYmluZGlyfS9pZmNvbmZpZyIKKworQUxURVJOQVRJVkVfJHtQTn0tcGluZyA9ICJwaW5nIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3BpbmddICAgPSAiJHtiYXNlX2JpbmRpcn0vcGluZyIKKworQUxURVJOQVRJVkVfJHtQTn0tcGluZzYgPSAiJHtAYmIudXRpbHMuZmlsdGVyKCdQQUNLQUdFQ09ORklHJywgJ3Bpbmc2JywgZCl9IgorQUxURVJOQVRJVkVfTElOS19OQU1FW3Bpbmc2XSAgPSAiJHtiYXNlX2JpbmRpcn0vcGluZzYiCisKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2Jhc2VfYmluZGlyfS8uZGVidWcgJHtiYXNlX3NiaW5kaXJ9Ly5kZWJ1ZyAke2JpbmRpcn0vLmRlYnVnICR7c2JpbmRpcn0vLmRlYnVnIgorRklMRVNfJHtQTn0tcGluZyA9ICIke2Jhc2VfYmluZGlyfS9waW5nLiR7QlBOfSIKK0ZJTEVTXyR7UE59LXBpbmc2ID0gIiR7YmFzZV9iaW5kaXJ9L3Bpbmc2LiR7QlBOfSIKK0ZJTEVTXyR7UE59LWhvc3RuYW1lID0gIiR7YmFzZV9iaW5kaXJ9L2hvc3RuYW1lLiR7QlBOfSIKK0ZJTEVTXyR7UE59LWlmY29uZmlnID0gIiR7YmFzZV9zYmluZGlyfS9pZmNvbmZpZy4ke0JQTn0iCitGSUxFU18ke1BOfS10cmFjZXJvdXRlID0gIiR7YmluZGlyfS90cmFjZXJvdXRlLiR7QlBOfSIKK0ZJTEVTXyR7UE59LWxvZ2dlciA9ICIke2JpbmRpcn0vbG9nZ2VyLiR7QlBOfSIKKworRklMRVNfJHtQTn0tc3lzbG9nZCA9ICIke2Jhc2Vfc2JpbmRpcn0vc3lzbG9nZC4ke0JQTn0iCitSQ09ORkxJQ1RTXyR7UE59LXN5c2xvZ2QgPSAicnN5c2xvZyBidXN5Ym94LXN5c2xvZyBzeXNrbG9nZCBzeXNsb2ctbmciCisKK0ZJTEVTXyR7UE59LWZ0cCA9ICIke2JpbmRpcn0vZnRwLiR7QlBOfSIKKworRklMRVNfJHtQTn0tdGZ0cCA9ICIke2JpbmRpcn0vdGZ0cC4ke0JQTn0iCitGSUxFU18ke1BOfS10ZWxuZXQgPSAiJHtiaW5kaXJ9L3RlbG5ldC4ke0JQTn0iCisKKyMgV2UgbWFrZSB1cyBvZiBSQ09ORkxJQ1RTIC8gUlBST1ZJREVTIGhlcmUgcmF0aGVyIHRoYW4gdXNpbmcgdGhlIG5vcm1hbAorIyBhbHRlcm5hdGl2ZXMgbWV0aG9kIGFzIHRoaXMgbGVhZHMgdG8gcGFja2FnaW5nIFFBIGlzc3VlcyB3aGVuIHVzaW5nCisjIG11c2wgYXMgdGhhdCBsaWJyYXJ5IGRvZXMgbm90IHByb3ZpZGUgd2hhdCB0aGVzZSBhcHBsaWNhdGlvbnMgbmVlZCB0bworIyBidWlsZC4KK0ZJTEVTXyR7UE59LXJzaCA9ICIke2JpbmRpcn0vcnNoICR7YmluZGlyfS9ybG9naW4gJHtiaW5kaXJ9L3JleGVjICR7YmluZGlyfS9yY3AiCitSQ09ORkxJQ1RTXyR7UE59LXJzaCArPSAibmV0a2l0LXJzaC1jbGllbnQiCitSUFJPVklERVNfJHtQTn0tcnNoID0gInJzaCIKKworRklMRVNfJHtQTn0tcnNoZCA9ICIke3NiaW5kaXJ9L2luLnJzaGQgJHtzYmluZGlyfS9pbi5ybG9naW5kICR7c2JpbmRpcn0vaW4ucmV4ZWNkIFwKKyAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS94aW5ldGQuZC9yc2ggJHtzeXNjb25mZGlyfS94aW5ldGQuZC9ybG9naW4gJHtzeXNjb25mZGlyfS94aW5ldGQuZC9yZXhlYyIKK0ZJTEVTXyR7UE59LXJzaGQtZGJnID0gIiR7c2JpbmRpcn0vLmRlYnVnL2luLnJzaGQgJHtzYmluZGlyfS8uZGVidWcvaW4ucmxvZ2luZCAke3NiaW5kaXJ9Ly5kZWJ1Zy9pbi5yZXhlY2QiCitSREVQRU5EU18ke1BOfS1yc2hkICs9ICJ4aW5ldGQgdGNwLXdyYXBwZXJzIgorUkNPTkZMSUNUU18ke1BOfS1yc2hkICs9ICJuZXRraXQtcnNoZC1zZXJ2ZXIiCitSUFJPVklERVNfJHtQTn0tcnNoZCA9ICJyc2hkIgorCitGSUxFU18ke1BOfS1mdHBkID0gIiR7YmluZGlyfS9mdHBkLiR7QlBOfSIKK0ZJTEVTXyR7UE59LWZ0cGQtZGJnID0gIiR7YmluZGlyfS8uZGVidWcvZnRwZC4ke0JQTn0iCitSREVQRU5EU18ke1BOfS1mdHBkICs9ICJ4aW5ldGQiCisKK0ZJTEVTXyR7UE59LXRmdHBkID0gIiR7c2JpbmRpcn0vaW4udGZ0cGQgJHtzeXNjb25mZGlyfS94aW5ldGQuZC90ZnRwZCIKK0ZJTEVTXyR7UE59LXRmdHBkLWRiZyA9ICIke3NiaW5kaXJ9Ly5kZWJ1Zy9pbi50ZnRwZCIKK1JDT05GTElDVFNfJHtQTn0tdGZ0cGQgKz0gIm5ldGtpdC10ZnRwZCIKK1JERVBFTkRTXyR7UE59LXRmdHBkICs9ICJ4aW5ldGQiCisKK0ZJTEVTXyR7UE59LXRlbG5ldGQgPSAiJHtzYmluZGlyfS9pbi50ZWxuZXRkICR7c3lzY29uZmRpcn0veGluZXRkLmQvdGVsbmV0IgorRklMRVNfJHtQTn0tdGVsbmV0ZC1kYmcgPSAiJHtzYmluZGlyfS8uZGVidWcvaW4udGVsbmV0ZCIKK1JDT05GTElDVFNfJHtQTn0tdGVsbmV0ZCArPSAibmV0a2l0LXRlbG5ldGQiCitSUFJPVklERVNfJHtQTn0tdGVsbmV0ZCA9ICJ0ZWxuZXRkIgorUkRFUEVORFNfJHtQTn0tdGVsbmV0ZCArPSAieGluZXRkIgorCitGSUxFU18ke1BOfS1pbmV0ZCA9ICIke2JpbmRpcn0vaW5ldGQuJHtCUE59IgorCitSREVQRU5EU18ke1BOfSA9ICJ4aW5ldGQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaXByb3V0ZTIvaXByb3V0ZTIuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2lwcm91dGUyL2lwcm91dGUyLmluYwppbmRleCBiMjgzNTg5Li4xYWExZWVjIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaXByb3V0ZTIvaXByb3V0ZTIuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pcHJvdXRlMi9pcHJvdXRlMi5pbmMKQEAgLTUyLDMgKzUyLDcgQEAKIEFMVEVSTkFUSVZFX1RBUkdFVFtpcF0gPSAiJHtiYXNlX3NiaW5kaXJ9L2lwLiR7QlBOfSIKIEFMVEVSTkFUSVZFX0xJTktfTkFNRVtpcF0gPSAiJHtiYXNlX3NiaW5kaXJ9L2lwIgogQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgorCitBTFRFUk5BVElWRV8ke1BOfS10YyA9ICJ0YyIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt0Y10gPSAiJHtiYXNlX3NiaW5kaXJ9L3RjIgorQUxURVJOQVRJVkVfUFJJT1JJVFlfJHtQTn0tdGMgPSAiMTAwIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicGNhcC9saWJwY2FwLmluYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTU3ZWE4Ny4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicGNhcC9saWJwY2FwLmluYworKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLVNVTU1BUlkgPSAiSW50ZXJmYWNlIGZvciB1c2VyLWxldmVsIG5ldHdvcmsgcGFja2V0IGNhcHR1cmUiCi1ERVNDUklQVElPTiA9ICJMaWJwY2FwIHByb3ZpZGVzIGEgcG9ydGFibGUgZnJhbWV3b3JrIGZvciBsb3ctbGV2ZWwgbmV0d29yayBcCi1tb25pdG9yaW5nLiAgTGlicGNhcCBjYW4gcHJvdmlkZSBuZXR3b3JrIHN0YXRpc3RpY3MgY29sbGVjdGlvbiwgXAotc2VjdXJpdHkgbW9uaXRvcmluZyBhbmQgbmV0d29yayBkZWJ1Z2dpbmcuIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy50Y3BkdW1wLm9yZy8iCi1CVUdUUkFDS0VSID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvdHJhY2tlci8/Z3JvdXBfaWQ9NTMwNjcmYXRpZD00Njk1NzciCi1TRUNUSU9OID0gImxpYnMvbmV0d29yayIKLUxJQ0VOU0UgPSAiQlNEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NWViMjg5MjE3YzE2MGUyOTIwZDJlMzViZGRjMzY0NTMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcGNhcC5oO2JlZ2lubGluZT0xO2VuZGxpbmU9MzI7bWQ1PTM5YWYzNTEwZTAxMWYzNGI4ODcyZjEyMGIxZGMzMWQyIgotREVQRU5EUyA9ICJmbGV4LW5hdGl2ZSBiaXNvbi1uYXRpdmUiCi0KLUlOQ19QUiA9ICJyNSIKLQotU1JDX1VSSSA9ICJodHRwOi8vd3d3LnRjcGR1bXAub3JnL3JlbGVhc2UvJHtCUH0udGFyLmd6IgotCi1CSU5DT05GSUcgPSAiJHtiaW5kaXJ9L3BjYXAtY29uZmlnIgotCi1pbmhlcml0IGF1dG90b29scyBiaW5jb25maWctZGlzYWJsZWQgcGtnY29uZmlnIGJsdWV0b290aAotCi1FWFRSQV9PRUNPTkYgPSAiLS13aXRoLXBjYXA9bGludXgiCi1FWFRSQV9BVVRPUkVDT05GICs9ICItLWV4Y2x1ZGU9YWNsb2NhbCIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYmx1ZXRvb3RoJywgJyR7QkxVRVp9JywgJycsIGQpfSBcCi0gICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsIGQpfSBcCi0iCi1QQUNLQUdFQ09ORklHW2JsdWV6NF0gPSAiLS1lbmFibGUtYmx1ZXRvb3RoLC0tZGlzYWJsZS1ibHVldG9vdGgsYmx1ZXo0IgotIyBBZGQgYSBkdW1teSBQQUNLQUdFQ09ORklHIGZvciBibHVlejUgc2luY2UgaXQgaXMgbm90IHN1cHBvcnRlZCBieSBsaWJwY2FwLgotUEFDS0FHRUNPTkZJR1tibHVlejVdID0gIiwsIgotUEFDS0FHRUNPTkZJR1tkYnVzXSA9ICItLWVuYWJsZS1kYnVzLC0tZGlzYWJsZS1kYnVzLGRidXMiCi1QQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYsIgotUEFDS0FHRUNPTkZJR1tsaWJubF0gPSAiLS13aXRoLWxpYm5sLC0td2l0aG91dC1saWJubCxsaWJubCIKLQotQ1BQRkxBR1NfcHJlcGVuZCA9ICItSSR7U30gIgotQ0ZMQUdTX3ByZXBlbmQgPSAiLUkke1N9ICIKLUNYWEZMQUdTX3ByZXBlbmQgPSAiLUkke1N9ICIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgewotICAgIHNlZCAtaSAtZSdzLF5WX1JQQVRIX09QVD0uKiQsVl9SUEFUSF9PUFQ9LCcgJHtTfS9wY2FwLWNvbmZpZy5pbgotfQotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJwY2FwL2xpYnBjYXAvMDAwMS1GaXgtY29tcGlsZXJfc3RhdGVfdC5haS11c2FnZS13aGVuLUlORVQ2LWlzLW5vdC1kZWZpLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcC8wMDAxLUZpeC1jb21waWxlcl9zdGF0ZV90LmFpLXVzYWdlLXdoZW4tSU5FVDYtaXMtbm90LWRlZmkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVkYjZhZTUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcC8wMDAxLUZpeC1jb21waWxlcl9zdGF0ZV90LmFpLXVzYWdlLXdoZW4tSU5FVDYtaXMtbm90LWRlZmkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1Gcm9tIDY0YWEwMzNhMDYxYzQzZmMxNWM3MTFmMjQ5MGFlNDFkMjNiODY4YzMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGYWJpbyBCZXJ0b24gPGZhYmlvLmJlcnRvbkBvc3N5c3RlbXMuY29tLmJyPgotRGF0ZTogVGh1LCAxNyBOb3YgMjAxNiAwOTo0NDo0MiAtMDIwMAotU3ViamVjdDogW1BBVENIIDEvMl0gRml4IGNvbXBpbGVyX3N0YXRlX3QuYWkgdXNhZ2Ugd2hlbiBJTkVUNiBpcyBub3QgZGVmaW5lZAotT3JnYW5pemF0aW9uOiBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTFREQS4KLQotRml4IGVycm9yOgotCi0vCi18IC4uL2xpYnBjYXAtMS44LjEvZ2VuY29kZS5jOiBJbiBmdW5jdGlvbiAncGNhcF9jb21waWxlJzoKLXwgLi4vbGlicGNhcC0xLjguMS9nZW5jb2RlLmM6NjkzOjg6IGVycm9yOiAnY29tcGlsZXJfc3RhdGVfdAotfCB7YWthIHN0cnVjdCBfY29tcGlsZXJfc3RhdGV9JyBoYXMgbm8gbWVtYmVyIG5hbWVkICdhaScKLXwgICBjc3RhdGUuYWkgPSBOVUxMOwotXAotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbMV0KLQotWzFdIGh0dHBzOi8vZ2l0aHViLmNvbS90aGUtdGNwZHVtcC1ncm91cC9saWJwY2FwL3B1bGwvNTQxCi0KLVNpZ25lZC1vZmYtYnk6IEZhYmlvIEJlcnRvbiA8ZmFiaW8uYmVydG9uQG9zc3lzdGVtcy5jb20uYnI+Ci0tLS0KLSBnZW5jb2RlLmMgfCAyICsrCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvZ2VuY29kZS5jIGIvZ2VuY29kZS5jCi1pbmRleCBhODg3ZjI3Li5lMTAzYzcwIDEwMDY0NAotLS0tIGEvZ2VuY29kZS5jCi0rKysgYi9nZW5jb2RlLmMKLUBAIC02OTAsNyArNjkwLDkgQEAgcGNhcF9jb21waWxlKHBjYXBfdCAqcCwgc3RydWN0IGJwZl9wcm9ncmFtICpwcm9ncmFtLAotIAl9Ci0gCWluaXRjaHVua3MoJmNzdGF0ZSk7Ci0gCWNzdGF0ZS5ub19vcHRpbWl6ZSA9IDA7Ci0rI2lmZGVmIElORVQ2Ci0gCWNzdGF0ZS5haSA9IE5VTEw7Ci0rI2VuZGlmCi0gCWNzdGF0ZS5pYy5yb290ID0gTlVMTDsKLSAJY3N0YXRlLmljLmN1cl9tYXJrID0gMDsKLSAJY3N0YXRlLmJwZl9wY2FwID0gcDsKLS0tIAotMi4xLjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcC8wMDAxLXBjYXAtdXNiLWxpbnV4LmMtYWRkLW1pc3NpbmctbGltaXRzLmgtZm9yLW11c2wtc3lzdGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicGNhcC9saWJwY2FwLzAwMDEtcGNhcC11c2ItbGludXguYy1hZGQtbWlzc2luZy1saW1pdHMuaC1mb3ItbXVzbC1zeXN0ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMTc3MzgzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcC8wMDAxLXBjYXAtdXNiLWxpbnV4LmMtYWRkLW1pc3NpbmctbGltaXRzLmgtZm9yLW11c2wtc3lzdGUucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorRnJvbSBhYWZhMzUxMmI3Yjc0MmY1ZTY2YTU1NDNlNDE5NzRjYzVlN2VlYmZhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogbWF4aWNlOCA8dGhpbmthYml0LnVraW1AZ21haWwuY29tPgorRGF0ZTogU3VuLCAyMiBKdWwgMjAxOCAxODo1NDoxNyAtMDMwMAorU3ViamVjdDogW1BBVENIXSBwY2FwLXVzYi1saW51eC5jOiBhZGQgbWlzc2luZyBsaW1pdHMuaCBmb3IgbXVzbCBzeXN0ZW1zLgorCitmaXggY29tcGlsYXRpb24gb24gbXVzbCBsaWJjIHN5c3RlbXMgbGlrZSBWb2lkIExpbnV4IGFuZCBBbHBpbmUuCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0aHViLmNvbS90aGUtdGNwZHVtcC1ncm91cC9saWJwY2FwL2NvbW1pdC9kNTU3Yzk4YTE2ZGMyNTRhYWZmMDM3NjJiNjk0ZmU2MjRlMTgwYmVhXQorCitTaWduZWQtb2ZmLWJ5OiBBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPgorLS0tCisgcGNhcC11c2ItbGludXguYyB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvcGNhcC11c2ItbGludXguYyBiL3BjYXAtdXNiLWxpbnV4LmMKK2luZGV4IDZmOGFkZjY1Li5iOTJjMDVlYSAxMDA2NDQKKy0tLSBhL3BjYXAtdXNiLWxpbnV4LmMKKysrKyBiL3BjYXAtdXNiLWxpbnV4LmMKK0BAIC01MCw2ICs1MCw3IEBACisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorICNpbmNsdWRlIDx1bmlzdGQuaD4KKyAjaW5jbHVkZSA8ZmNudGwuaD4KKysjaW5jbHVkZSA8bGltaXRzLmg+CisgI2luY2x1ZGUgPHN0cmluZy5oPgorICNpbmNsdWRlIDxkaXJlbnQuaD4KKyAjaW5jbHVkZSA8Ynl0ZXN3YXAuaD4KKy0tIAorMi4xNy4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJwY2FwL2xpYnBjYXAvMDAwMi1BZGQtbWlzc2luZy1jb21waWxlcl9zdGF0ZV90LXBhcmFtZXRlci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJwY2FwL2xpYnBjYXAvMDAwMi1BZGQtbWlzc2luZy1jb21waWxlcl9zdGF0ZV90LXBhcmFtZXRlci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDMyYjI2NS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicGNhcC9saWJwY2FwLzAwMDItQWRkLW1pc3NpbmctY29tcGlsZXJfc3RhdGVfdC1wYXJhbWV0ZXIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2NyArMCwwIEBACi1Gcm9tIDUwZWMwYTA4OGQ1OTI0YTgzMDViMmQ3MGRjYmE3MWIwOTQyZGVlMWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGYWJpbyBCZXJ0b24gPGZhYmlvLmJlcnRvbkBvc3N5c3RlbXMuY29tLmJyPgotRGF0ZTogVGh1LCAxNyBOb3YgMjAxNiAwOTo0NzoyOSAtMDIwMAotU3ViamVjdDogW1BBVENIIDIvMl0gQWRkIG1pc3NpbmcgY29tcGlsZXJfc3RhdGVfdCBwYXJhbWV0ZXIKLU9yZ2FuaXphdGlvbjogTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIExUREEuCi0KLUZpeCBlcnJvcjoKLQotLwotfC4uL2xpYnBjYXAtMS44LjEvZ2VuY29kZS5jOiBJbiBmdW5jdGlvbiAnZ2VuX2dhdGV3YXknOgotfC4uL2xpYnBjYXAtMS44LjEvZ2VuY29kZS5jOjQ5MTQ6MTM6IGVycm9yOiAnY3N0YXRlJyB1bmRlY2xhcmVkCi18IChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKLXwgICAgYnBmX2Vycm9yKGNzdGF0ZSwgImRpcmVjdGlvbiBhcHBsaWVkIHRvICdnYXRld2F5JyIpOwotXAotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbMV0KLQotWzFdIGh0dHBzOi8vZ2l0aHViLmNvbS90aGUtdGNwZHVtcC1ncm91cC9saWJwY2FwL3B1bGwvNTQxCi0KLVNpZ25lZC1vZmYtYnk6IEZhYmlvIEJlcnRvbiA8ZmFiaW8uYmVydG9uQG9zc3lzdGVtcy5jb20uYnI+Ci0tLS0KLSBnZW5jb2RlLmMgfCAxNSArKysrKysrKy0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ2VuY29kZS5jIGIvZ2VuY29kZS5jCi1pbmRleCBlMTAzYzcwLi5mMDdjMGJlIDEwMDY0NAotLS0tIGEvZ2VuY29kZS5jCi0rKysgYi9nZW5jb2RlLmMKLUBAIC01MjMsNyArNTIzLDcgQEAgc3RhdGljIHN0cnVjdCBibG9jayAqZ2VuX2hvc3Q2KGNvbXBpbGVyX3N0YXRlX3QgKiwgc3RydWN0IGluNl9hZGRyICosCi0gICAgIHN0cnVjdCBpbjZfYWRkciAqLCBpbnQsIGludCwgaW50KTsKLSAjZW5kaWYKLSAjaWZuZGVmIElORVQ2Ci0tc3RhdGljIHN0cnVjdCBibG9jayAqZ2VuX2dhdGV3YXkoY29uc3QgdV9jaGFyICosIGJwZl91X2ludDMyICoqLCBpbnQsIGludCk7Ci0rc3RhdGljIHN0cnVjdCBibG9jayAqZ2VuX2dhdGV3YXkoY29tcGlsZXJfc3RhdGVfdCAqLCBjb25zdCB1X2NoYXIgKiwgYnBmX3VfaW50MzIgKiosIGludCwgaW50KTsKLSAjZW5kaWYKLSBzdGF0aWMgc3RydWN0IGJsb2NrICpnZW5faXBmcmFnKGNvbXBpbGVyX3N0YXRlX3QgKik7Ci0gc3RhdGljIHN0cnVjdCBibG9jayAqZ2VuX3BvcnRhdG9tKGNvbXBpbGVyX3N0YXRlX3QgKiwgaW50LCBicGZfaW50MzIpOwotQEAgLTQ5MDQsMTEgKzQ5MDQsMTIgQEAgZ2VuX2hvc3Q2KGNvbXBpbGVyX3N0YXRlX3QgKmNzdGF0ZSwgc3RydWN0IGluNl9hZGRyICphZGRyLAotIAotICNpZm5kZWYgSU5FVDYKLSBzdGF0aWMgc3RydWN0IGJsb2NrICoKLS1nZW5fZ2F0ZXdheShlYWRkciwgYWxpc3QsIHByb3RvLCBkaXIpCi0tCWNvbnN0IHVfY2hhciAqZWFkZHI7Ci0tCWJwZl91X2ludDMyICoqYWxpc3Q7Ci0tCWludCBwcm90bzsKLS0JaW50IGRpcjsKLStnZW5fZ2F0ZXdheShjc3RhdGUsIGVhZGRyLCBhbGlzdCwgcHJvdG8sIGRpcikKLSsgICAgY29tcGlsZXJfc3RhdGVfdCAqY3N0YXRlOwotKyAgICBjb25zdCB1X2NoYXIgKmVhZGRyOwotKyAgICBicGZfdV9pbnQzMiAqKmFsaXN0OwotKyAgICBpbnQgcHJvdG87Ci0rICAgIGludCBkaXI7Ci0gewotIAlzdHJ1Y3QgYmxvY2sgKmIwLCAqYjEsICp0bXA7Ci0gCi1AQCAtNjQ3Miw3ICs2NDczLDcgQEAgZ2VuX3Njb2RlKGNvbXBpbGVyX3N0YXRlX3QgKmNzdGF0ZSwgY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IHF1YWwgcSkKLSAJCWFsaXN0ID0gcGNhcF9uYW1ldG9hZGRyKG5hbWUpOwotIAkJaWYgKGFsaXN0ID09IE5VTEwgfHwgKmFsaXN0ID09IE5VTEwpCi0gCQkJYnBmX2Vycm9yKGNzdGF0ZSwgInVua25vd24gaG9zdCAnJXMnIiwgbmFtZSk7Ci0tCQliID0gZ2VuX2dhdGV3YXkoZWFkZHIsIGFsaXN0LCBwcm90bywgZGlyKTsKLSsJCWIgPSBnZW5fZ2F0ZXdheShjc3RhdGUsIGVhZGRyLCBhbGlzdCwgcHJvdG8sIGRpcik7Ci0gCQlmcmVlKGVhZGRyKTsKLSAJCXJldHVybiBiOwotICNlbHNlCi0tLSAKLTIuMS40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJwY2FwL2xpYnBjYXAvZGlzYWJsZS1yZW1vdGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicGNhcC9saWJwY2FwL2Rpc2FibGUtcmVtb3RlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZTFlZWE2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJwY2FwL2xpYnBjYXAvZGlzYWJsZS1yZW1vdGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1EaXNhYmxlIGJpdHMgb2YgcmVtb3RlIGNhcHR1cmUgc3VwcG9ydCBpbmhlcml0ZWQgZnJvbSB0aGUgV2luUENBUCBtZXJnZQotd2hpY2ggY2F1c2UgYXBwbGljYXRpb25zIHRvIEZUQkZTIGlmIHRoZXkgZGVmaW5lIEhBVkVfUkVNT1RFLgotCi1QYXRjaCBmcm9tOgotaHR0cHM6Ly9hbm9uc2NtLmRlYmlhbi5vcmcvY2dpdC91c2Vycy9yZnJhbmNvaXNlL2xpYnBjYXAuZ2l0L2NvbW1pdC8/Ci1pZD1mMzU5NDk5NjkyNjlkZmRjYzM1NDliMTJmYWRlNjA0NzU1ZTFlMzI2Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0tLS0gYS9wY2FwL3BjYXAuaAotKysrIGIvcGNhcC9wY2FwLmgKLUBAIC01MDYsNiArNTA2LDExIEBACi0gICAjZGVmaW5lIE1PREVfU1RBVCAxCi0gICAjZGVmaW5lIE1PREVfTU9OIDIKLSAKLSsjaWZkZWYgSEFWRV9SRU1PVEUKLSsgIC8qIEluY2x1ZGVzIG1vc3Qgb2YgdGhlIHB1YmxpYyBzdHVmZiB0aGF0IGlzIG5lZWRlZCBmb3IgdGhlIHJlbW90ZSBjYXB0dXJlICovCi0rICAjaW5jbHVkZSA8cmVtb3RlLWV4dC5oPgotKyNlbmRpZgkgLyogSEFWRV9SRU1PVEUgKi8KLSsKLSAjZWxpZiBkZWZpbmVkKE1TRE9TKQotIAotICAgLyoKLUBAIC01MjYsMTEgKzUzMSw2IEBACi0gCi0gI2VuZGlmIC8qIF9XSU4zMi9NU0RPUy9VTipYICovCi0gCi0tI2lmZGVmIEhBVkVfUkVNT1RFCi0tICAvKiBJbmNsdWRlcyBtb3N0IG9mIHRoZSBwdWJsaWMgc3R1ZmYgdGhhdCBpcyBuZWVkZWQgZm9yIHRoZSByZW1vdGUgY2FwdHVyZSAqLwotLSAgI2luY2x1ZGUgPHJlbW90ZS1leHQuaD4KLS0jZW5kaWYJIC8qIEhBVkVfUkVNT1RFICovCi0tCi0gI2lmZGVmIF9fY3BsdXNwbHVzCi0gfQotICNlbmRpZgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicGNhcC9saWJwY2FwL2ZpeC1ncmFtbWFyLWRlcHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicGNhcC9saWJwY2FwL2ZpeC1ncmFtbWFyLWRlcHMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY0MGU2NTUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcC9maXgtZ3JhbW1hci1kZXBzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotRml4IGEgbWlzc2luZyBkZXBlbmRlbmN5IHRoYXQgY2FuIHJlc3VsdCBpbjoKLQotLi4vbGlicGNhcC0xLjguMS9ncmFtbWFyLnk6Nzg6MTA6IGZhdGFsIGVycm9yOiBzY2FubmVyLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotRnJvbSAwZGQ5MGE2YmRiY2U0ZGNhMTQxMDY4NTllZWU2M2VmNjQzYTEwNmUyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxmcmVkbyBBbHZhcmV6IEZlcm5hbmRleiA8YWxmcmVkb2FsdmFyZXplcm5hbmRlekBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDIxIEZlYiAyMDE3IDExOjQxOjQzICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIE1ha2VmaWxlLmluOiBGaXggbWlzc2luZyBkZXBlbmRlbmN5Ci0KLS0tLQotIE1ha2VmaWxlLmluIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvTWFrZWZpbGUuaW4gYi9NYWtlZmlsZS5pbgotaW5kZXggNzA0NGYwNDMuLmY1ZDQ0M2FlIDEwMDY0NAotLS0tIGEvTWFrZWZpbGUuaW4KLSsrKyBiL01ha2VmaWxlLmluCi1AQCAtNDY1LDcgKzQ2NSw3IEBAIGdyYW1tYXIuaDogZ3JhbW1hci5jCi0gCQkkKE1BS0UpICQoTUFLRUZMQUdTKSBncmFtbWFyLmM7IFwKLSAJZmkKLSAKLS1ncmFtbWFyLm86IGdyYW1tYXIuYwotK2dyYW1tYXIubzogZ3JhbW1hci5jIHNjYW5uZXIuaAotIAkkKENDKSAkKEZVTExfQ0ZMQUdTKSAtYyBncmFtbWFyLmMKLSAKLSBnZW5jb2RlLm86ICQoc3JjZGlyKS9nZW5jb2RlLmMgZ3JhbW1hci5oIHNjYW5uZXIuaApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcC9saWJwY2FwLXBrZ2NvbmZpZy1zdXBwb3J0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcC9saWJwY2FwLXBrZ2NvbmZpZy1zdXBwb3J0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZmFhM2JlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJwY2FwL2xpYnBjYXAvbGlicGNhcC1wa2djb25maWctc3VwcG9ydC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDczICswLDAgQEAKLUZyb20gMjc5NjEyOWFmNTI5MDFkZDY4NTk1ZTVlODhhNjM5MzA4NTQxZGVmOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZhYmlvIEJlcnRvbiA8ZmFiaW8uYmVydG9uQG9zc3lzdGVtcy5jb20uYnI+Ci1EYXRlOiBUaHUsIDMgTm92IDIwMTYgMTc6NTY6MjkgLTAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gbGlicGNhcDogcGtnY29uZmlnIHN1cHBvcnQKLU9yZ2FuaXphdGlvbjogTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIExUREEuCi0KLUFkZGluZyBiYXNpYyBzdHJ1Y3R1cmUgdG8gc3VwcG9ydCBwa2ctY29uZmlnLgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBKb2UgTWFjRG9uYWxkIDxqb2VfbWFjZG9uYWxkQG1lbnRvci5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBGYWJpbyBCZXJ0b24gPGZhYmlvLmJlcnRvbkBvc3N5c3RlbXMuY29tLmJyPgotLS0tCi0gTWFrZWZpbGUuaW4gICB8ICA1ICsrKysrCi0gY29uZmlndXJlLmFjICB8ICAxICsKLSBsaWJwY2FwLnBjLmluIHwgMTAgKysrKysrKysrKwotIDMgZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWJwY2FwLnBjLmluCi0KLWRpZmYgLS1naXQgYS9NYWtlZmlsZS5pbiBiL01ha2VmaWxlLmluCi1pbmRleCBlNzFkOTczLi5kNzAwNGVkIDEwMDY0NAotLS0tIGEvTWFrZWZpbGUuaW4KLSsrKyBiL01ha2VmaWxlLmluCi1AQCAtNjEsNiArNjEsMTAgQEAgVl9SUEFUSF9PUFQgPSBAVl9SUEFUSF9PUFRACi0gREVQRU5ERU5DWV9DRkxBRyA9IEBERVBFTkRFTkNZX0NGTEFHQAotIFBST0c9bGlicGNhcAotIAotKyMgcGtnY29uZmlnIHN1cHBvcnQKLStwa2djb25maWdkaXIgPSAkKGxpYmRpcikvcGtnY29uZmlnCi0rcGtnY29uZmlnX0RBVEEgPSBsaWJwY2FwLnBjCi0rCi0gIyBTdGFuZGFyZCBDRkxBR1MKLSBGVUxMX0NGTEFHUyA9ICQoQ0NPUFQpICQoSU5DTFMpICQoREVGUykgJChDRkxBR1MpCi0gCi1AQCAtMjg2LDYgKzI5MCw3IEBAIEVYVFJBX0RJU1QgPSBcCi0gCWxibC9vcy1zb2xhcmlzMi5oIFwKLSAJbGJsL29zLXN1bm9zNC5oIFwKLSAJbGJsL29zLXVsdHJpeDQuaCBcCi0rCWxpYnBjYXAucGMgXAotIAltaXNzaW5nL2dldG9wdC5jIFwKLSAJbWlzc2luZy9nZXRvcHQuaCBcCi0gCW1pc3Npbmcvc25wcmludGYuYyBcCi1kaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCBkYTJmOTQwLi40ZmM2N2JmIDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmFjCi0rKysgYi9jb25maWd1cmUuYWMKLUBAIC0xODA1LDYgKzE4MDUsNyBAQCBmaQotIEFDX1BST0dfSU5TVEFMTAotIAotIEFDX0NPTkZJR19IRUFERVIoY29uZmlnLmgpCi0rQUNfQ09ORklHX0ZJTEVTKFtsaWJwY2FwLnBjXSkKLSAKLSBBQ19PVVRQVVRfQ09NTUFORFMoW2lmIHRlc3QgLWYgLmRldmVsOyB0aGVuCi0gCWVjaG8gdGltZXN0YW1wID4gc3RhbXAtaAotZGlmZiAtLWdpdCBhL2xpYnBjYXAucGMuaW4gYi9saWJwY2FwLnBjLmluCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uNGY3OGFkOAotLS0tIC9kZXYvbnVsbAotKysrIGIvbGlicGNhcC5wYy5pbgotQEAgLTAsMCArMSwxMCBAQAotK3ByZWZpeD1AcHJlZml4QAotK2V4ZWNfcHJlZml4PUBleGVjX3ByZWZpeEAKLStsaWJkaXI9QGxpYmRpckAKLStpbmNsdWRlZGlyPUBpbmNsdWRlZGlyQAotKwotK05hbWU6IGxpYnBjYXAKLStEZXNjcmlwdGlvbjogU3lzdGVtLWluZGVwZW5kZW50IGludGVyZmFjZSBmb3IgdXNlci1sZXZlbCBwYWNrZXQgY2FwdHVyZS4KLStWZXJzaW9uOiBAVkVSU0lPTkAKLStMaWJzOiAtTCR7bGliZGlyfSAtbHBjYXAKLStDZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfQotLS0gCi0yLjEuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicGNhcC9saWJwY2FwXzEuOC4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcF8xLjguMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTNkZmJkNi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicGNhcC9saWJwY2FwXzEuOC4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotcmVxdWlyZSBsaWJwY2FwLmluYwotCi1TUkNfVVJJICs9ICIgXAotICAgIGZpbGU6Ly9saWJwY2FwLXBrZ2NvbmZpZy1zdXBwb3J0LnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMS1GaXgtY29tcGlsZXJfc3RhdGVfdC5haS11c2FnZS13aGVuLUlORVQ2LWlzLW5vdC1kZWZpLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMi1BZGQtbWlzc2luZy1jb21waWxlcl9zdGF0ZV90LXBhcmFtZXRlci5wYXRjaCBcCi0gICAgZmlsZTovL2Rpc2FibGUtcmVtb3RlLnBhdGNoIFwKLSAgICBmaWxlOi8vZml4LWdyYW1tYXItZGVwcy5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIzZDQ4ZjljZDE3MWZmMTJiMGVmZDkxMzRiNTJmMTQ0NyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI2NzNkYmM2OWZkYzNmNWE4NmZiNTc1OWFiMTk4OTkwMzlhOGU1ZTZjNjMxNzQ5ZTQ4ZGNkOWM2ZjBjODM1NDFlIgotCi0jCi0jIG1ha2UgaW5zdGFsbCBkb2Vzbid0IGNvdmVyIHRoZSBzaGFyZWQgbGliCi0jIG1ha2UgaW5zdGFsbC1zaGFyZWQgaXMganVzdCBicm9rZW4gKG5vIHN5bWxpbmtzKQotIwotCi1kb19jb25maWd1cmVfcHJlcGVuZCAoKSB7Ci0gICAgI3JlbW92ZSBoYXJkY29kZWQgcmVmZXJlbmNlcyB0byAvdXNyL2luY2x1ZGUKLSAgICBzZWQgJ3N8XChbICJeJ1wnJ0ldXCtcKS91c3IvaW5jbHVkZS98XDEke1NUQUdJTkdfSU5DRElSfS98ZycgLWkgJHtTfS9jb25maWd1cmUuYWMKLX0KLQotZG9faW5zdGFsbF9wcmVwZW5kICgpIHsKLSAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0KLSAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KLSAgICBvZV9ydW5tYWtlIGluc3RhbGwtc2hhcmVkIERFU1RESVI9JHtEfQotICAgIG9lX2xpYmluc3RhbGwgLWEgLXNvIGxpYnBjYXAgJHtEfSR7bGliZGlyfQotICAgIHNlZCAic3xAVkVSU0lPTkB8JHtQVn18IiAtaSAke0J9L2xpYnBjYXAucGMKLSAgICBpbnN0YWxsIC1EIC1tIDA2NDQgbGlicGNhcC5wYyAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy9saWJwY2FwLnBjCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicGNhcC9saWJwY2FwXzEuOS4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcF8xLjkuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ODM2MTU2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcF8xLjkuMC5iYgpAQCAtMCwwICsxLDQ1IEBACitTVU1NQVJZID0gIkludGVyZmFjZSBmb3IgdXNlci1sZXZlbCBuZXR3b3JrIHBhY2tldCBjYXB0dXJlIgorREVTQ1JJUFRJT04gPSAiTGlicGNhcCBwcm92aWRlcyBhIHBvcnRhYmxlIGZyYW1ld29yayBmb3IgbG93LWxldmVsIG5ldHdvcmsgXAorbW9uaXRvcmluZy4gIExpYnBjYXAgY2FuIHByb3ZpZGUgbmV0d29yayBzdGF0aXN0aWNzIGNvbGxlY3Rpb24sIFwKK3NlY3VyaXR5IG1vbml0b3JpbmcgYW5kIG5ldHdvcmsgZGVidWdnaW5nLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cudGNwZHVtcC5vcmcvIgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vc291cmNlZm9yZ2UubmV0L3RyYWNrZXIvP2dyb3VwX2lkPTUzMDY3JmF0aWQ9NDY5NTc3IgorU0VDVElPTiA9ICJsaWJzL25ldHdvcmsiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTVlYjI4OTIxN2MxNjBlMjkyMGQyZTM1YmRkYzM2NDUzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3BjYXAuaDtiZWdpbmxpbmU9MTtlbmRsaW5lPTMyO21kNT0zOWFmMzUxMGUwMTFmMzRiODg3MmYxMjBiMWRjMzFkMiIKK0RFUEVORFMgPSAiZmxleC1uYXRpdmUgYmlzb24tbmF0aXZlIgorCitTUkNfVVJJID0gImh0dHBzOi8vd3d3LnRjcGR1bXAub3JnL3JlbGVhc2UvJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtcGNhcC11c2ItbGludXguYy1hZGQtbWlzc2luZy1saW1pdHMuaC1mb3ItbXVzbC1zeXN0ZS5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICJkZmZkNjVjYjE0NDA2YWI5ODQxZjQyMTczMmViMGYzMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyZWRiODg4MDhlNTkxM2ZkYWE4ZTljMWZjYWYyNzJlMTliMjQ4NTMzODc0MmI1MDc0YjlmZTQ0ZDY4ZjM3MDE5IgorCitpbmhlcml0IGF1dG90b29scyBiaW5jb25maWctZGlzYWJsZWQgcGtnY29uZmlnIGJsdWV0b290aAorCitCSU5DT05GSUcgPSAiJHtiaW5kaXJ9L3BjYXAtY29uZmlnIgorCisjIEV4cGxpY2l0bHkgZGlzYWJsZSBkYWcgc3VwcG9ydC4gV2UgZG9uJ3QgaGF2ZSByZWNpcGUgZm9yIGl0IGFuZCBpZiBlbmFibGVkIGhlcmUsCisjIGNvbmZpZ3VyZSBzY3JpcHQgcG9pc29ucyB0aGUgaW5jbHVkZSBkaXJzIHdpdGggL3Vzci9sb2NhbC9pbmNsdWRlIGV2ZW4gd2hlbiB0aGUKKyMgc3VwcG9ydCBoYXNuJ3QgYmVlbiBkZXRlY3RlZC4KK0VYVFJBX09FQ09ORiA9ICIgXAorICAgICAgICAgICAgICAgICAtLXdpdGgtcGNhcD1saW51eCBcCisgICAgICAgICAgICAgICAgIC0td2l0aG91dC1kYWcgXAorICAgICAgICAgICAgICAgICAiCitFWFRSQV9BVVRPUkVDT05GICs9ICItLWV4Y2x1ZGU9YWNsb2NhbCIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYmx1ZXRvb3RoJywgJyR7QkxVRVp9JywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsIGQpfSBcCisiCitQQUNLQUdFQ09ORklHW2JsdWV6NV0gPSAiLS1lbmFibGUtYmx1ZXRvb3RoLC0tZGlzYWJsZS1ibHVldG9vdGgsYmx1ZXo1IgorUEFDS0FHRUNPTkZJR1tkYnVzXSA9ICItLWVuYWJsZS1kYnVzLC0tZGlzYWJsZS1kYnVzLGRidXMiCitQQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYsIgorUEFDS0FHRUNPTkZJR1tsaWJubF0gPSAiLS13aXRoLWxpYm5sLC0td2l0aG91dC1saWJubCxsaWJubCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgICNyZW1vdmUgaGFyZGNvZGVkIHJlZmVyZW5jZXMgdG8gL3Vzci9pbmNsdWRlCisgICAgc2VkICdzfFwoWyAiXidcJydJXVwrXCkvdXNyL2luY2x1ZGUvfFwxJHtTVEFHSU5HX0lOQ0RJUn0vfGcnIC1pICR7U30vY29uZmlndXJlLmFjCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vYmlsZS1icm9hZGJhbmQtcHJvdmlkZXItaW5mby9tb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm8vbXVsdGlsaWJmaXgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9iaWxlLWJyb2FkYmFuZC1wcm92aWRlci1pbmZvL21vYmlsZS1icm9hZGJhbmQtcHJvdmlkZXItaW5mby9tdWx0aWxpYmZpeC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2U5N2U4ZS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9iaWxlLWJyb2FkYmFuZC1wcm92aWRlci1pbmZvL21vYmlsZS1icm9hZGJhbmQtcHJvdmlkZXItaW5mby9tdWx0aWxpYmZpeC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLVRoZSBtb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm8ucGMgZmlsZSBpcyBpbnN0YWxsZWQgaW50byBhIG5vbi1hcmNoIGRpcmVjdG9yeQoteWV0IGNvbnRhaW5zIGxpYmRpciB3aGljaCBjYW4gdmFyeSBkZXBlbmRpbmcgb24gd2hpY2ggbXVsdGlsaWIgaXMgY29uZmlndXJlZC4KLVRoZSAucGMgZmlsZSBkb2VzIG5vdCByZXF1aXJlIGxpYmRpciBzbyByZW1vdmUgdGhpcyB0byBmaXggbXVsdGlsaWIgYnVpbGRzLgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFs4MTA5ZmNkM2M3Mjk5ZmFlODU5ZmI4OTFmZjQxNjkyNzU4MWE5OTU1XQotU2lnbmVkLW9mZi1ieTogWmhpeGlvbmcgQ2hpIDx6aGl4aW9uZy5jaGlAd2luZHJpdmVyLmNvbT4KLQotSW5kZXg6IGdpdC9tb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm8ucGMuaW4KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnaXQub3JpZy9tb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm8ucGMuaW4JMjAxOC0wOC0wNyAxMzowOTozMS44MTEzNjQwNjMgKzA4MDAKLSsrKyBnaXQvbW9iaWxlLWJyb2FkYmFuZC1wcm92aWRlci1pbmZvLnBjLmluCTIwMTgtMDgtMTAgMTc6NDk6MjUuNjQ1Mjg4MzIwICswODAwCi1AQCAtMSw2ICsxLDUgQEAKLSBwcmVmaXg9QHByZWZpeEAKLSBleGVjX3ByZWZpeD1AZXhlY19wcmVmaXhACi0tbGliZGlyPUBsaWJkaXJACi0gZGF0YXJvb3RkaXIgPSBAZGF0YXJvb3RkaXJACi0gcGtnZGF0YWRpcj0ke2RhdGFyb290ZGlyfS9AUEFDS0FHRUAKLSBpbmNsdWRlZGlyPUBpbmNsdWRlZGlyQApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vYmlsZS1icm9hZGJhbmQtcHJvdmlkZXItaW5mby9tb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm9fZ2l0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vYmlsZS1icm9hZGJhbmQtcHJvdmlkZXItaW5mby9tb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm9fZ2l0LmJiCmluZGV4IDdmMWRkNzguLjc3YWRjZWIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm8vbW9iaWxlLWJyb2FkYmFuZC1wcm92aWRlci1pbmZvX2dpdC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9iaWxlLWJyb2FkYmFuZC1wcm92aWRlci1pbmZvL21vYmlsZS1icm9hZGJhbmQtcHJvdmlkZXItaW5mb19naXQuYmIKQEAgLTMsMTMgKzMsMTEgQEAKIFNFQ1RJT04gPSAibmV0d29yayIKIExJQ0VOU0UgPSAiUEQiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT04Nzk2NDU3OWIyYThlY2U0YmM2NzQ0ZDJkYzlhOGIwNCIKLVNSQ1JFViA9ICJiZWZjYmJjOTg2N2U3NDJhYzE2NDE1NjYwYjBiNzUyMTIxOGE1MzBjIgotUFYgPSAiMjAxNzAzMTAiCitTUkNSRVYgPSAiYzdkZWY2MGJhNTBkOWNjMzBhOTBmNjlmODlkN2U4MjI0MzUwMWU4NiIKK1BWID0gIjIwMTkwMTE2IgogUEUgPSAiMSIKIAotU1JDX1VSSSA9ICJnaXQ6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL21vYmlsZS1icm9hZGJhbmQtcHJvdmlkZXItaW5mby5naXQ7cHJvdG9jb2w9aHR0cHMgXAotICAgICAgICAgICBmaWxlOi8vbXVsdGlsaWJmaXgucGF0Y2ggXAotIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL21vYmlsZS1icm9hZGJhbmQtcHJvdmlkZXItaW5mby5naXQ7cHJvdG9jb2w9aHR0cHMiCiBTID0gIiR7V09SS0RJUn0vZ2l0IgogCiBpbmhlcml0IGF1dG90b29scwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvMDAwMS1Eby1ub3QtcGFzcy1udWxsLXBvaW50ZXItdG8tZnJlZWFkZHJpbmZvLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvMDAwMS1Eby1ub3QtcGFzcy1udWxsLXBvaW50ZXItdG8tZnJlZWFkZHJpbmZvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0NGQxYmYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmZzLXV0aWxzL25mcy11dGlscy8wMDAxLURvLW5vdC1wYXNzLW51bGwtcG9pbnRlci10by1mcmVlYWRkcmluZm8ucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorRnJvbSA0ZjExNWZjMzE0NjQ2NTAwZjdiNDE3OGQ3MjQ4YTAyNjU0YzdjZDEwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMzAgTm92IDIwMTggMTY6NDc6NTcgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gRG8gbm90IHBhc3MgbnVsbCBwb2ludGVyIHRvIGZyZWVhZGRyaW5mbygpCisKK1Bhc3NpbmcgbnVsbCBwb2ludGVyIGFzIGlucHV0IHBhcmFtZXRlciB0byBmcmVlYWRkcmluZm8oKSBpcyB1bmRlZmluZWQKK2JlaGF2aW91ciwgc29tZSBsaWJjcyBlLmcuIGdsaWJjIG1pZ2h0IGp1c3QgY2FsbCBmcmVlKCkgd2hpY2ggZG9lcworYWNjZXB0IG51bGwgcG9pbnRlciBidXQgb3RoZXIgbGliY3MgZS5nLiBtdXNsIG1pZ2h0IG5vdCBhbmQgaW5zdGVhZAorY2F1c2UgdGhlIHByb2dyYW0gdG8gc2VnZmF1bHQuIFRoZXJlZm9yZSBkbyBub3QgcmVseSBvbiB1bmRlZmluZWQKK2JlaGF2aW91ciBpbnN0ZWFkIG1ha2UgaXQgZGV0ZXJtaW5pc3RpYworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIHN1cHBvcnQvZXhwb3J0L2NsaWVudC5jIHwgMyArKy0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK0luZGV4OiBuZnMtdXRpbHMtMi4zLjIvc3VwcG9ydC9leHBvcnQvY2xpZW50LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBuZnMtdXRpbHMtMi4zLjIub3JpZy9zdXBwb3J0L2V4cG9ydC9jbGllbnQuYworKysrIG5mcy11dGlscy0yLjMuMi9zdXBwb3J0L2V4cG9ydC9jbGllbnQuYworQEAgLTMwOSw3ICszMDksOCBAQCBjbGllbnRfbG9va3VwKGNoYXIgKmhuYW1lLCBpbnQgY2Fub25pY2FsCisgCQlpbml0X2FkZHJsaXN0KGNscCwgYWkpOworIAorIG91dDoKKy0JZnJlZWFkZHJpbmZvKGFpKTsKKysJaWYgKGFpKQorKwkJZnJlZWFkZHJpbmZvKGFpKTsKKyAJcmV0dXJuIGNscDsKKyB9CisgCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmZzLXV0aWxzL25mcy11dGlscy8wMDAxLURvbi10LWJ1aWxkLXRvb2xzLXdpdGgtQ0NfRk9SX0JVSUxELnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvMDAwMS1Eb24tdC1idWlsZC10b29scy13aXRoLUNDX0ZPUl9CVUlMRC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yM2JjM2VhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvMDAwMS1Eb24tdC1idWlsZC10b29scy13aXRoLUNDX0ZPUl9CVUlMRC5wYXRjaApAQCAtMCwwICsxLDQwIEBACitGcm9tIDc5MDE5ZDk3NjU4NGM1OThmOGQwYTlkOGRlNDNjOTg5OTQ2Zjk3NGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBQYXNjYWwgQmFjaCA8cGFzY2FsLmJhY2hAc2llbWVucy5jb20+CitEYXRlOiBXZWQsIDEzIEZlYiAyMDE5IDA5OjI4OjA3ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIERvbid0IGJ1aWxkIHRvb2xzIHdpdGggQ0NfRk9SX0JVSUxECisKK1RoZSB0b29scyBhcmUgaW50ZW5kZWQgZm9yIHRoZSB0YXJnZXQgbm90IGZvciB0aGUgaG9zdC4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFBhc2NhbCBCYWNoIDxwYXNjYWwuYmFjaEBzaWVtZW5zLmNvbT4KKy0tLQorIHRvb2xzL2xvY2t0ZXN0L01ha2VmaWxlLmFtIHwgMSAtCisgdG9vbHMvcnBjZ2VuL01ha2VmaWxlLmFtICAgfCAxIC0KKyAyIGZpbGVzIGNoYW5nZWQsIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS90b29scy9sb2NrdGVzdC9NYWtlZmlsZS5hbSBiL3Rvb2xzL2xvY2t0ZXN0L01ha2VmaWxlLmFtCitpbmRleCAzMTU2ODE1Li44N2QwYmFjIDEwMDY0NAorLS0tIGEvdG9vbHMvbG9ja3Rlc3QvTWFrZWZpbGUuYW0KKysrKyBiL3Rvb2xzL2xvY2t0ZXN0L01ha2VmaWxlLmFtCitAQCAtMSw2ICsxLDUgQEAKKyAjIyBQcm9jZXNzIHRoaXMgZmlsZSB3aXRoIGF1dG9tYWtlIHRvIHByb2R1Y2UgTWFrZWZpbGUuaW4KKyAKKy1DQz0kKENDX0ZPUl9CVUlMRCkKKyBMSUJUT09MID0gQExJQlRPT0xAIC0tdGFnPUNDCisgCisgbm9pbnN0X1BST0dSQU1TID0gdGVzdGxrCitkaWZmIC0tZ2l0IGEvdG9vbHMvcnBjZ2VuL01ha2VmaWxlLmFtIGIvdG9vbHMvcnBjZ2VuL01ha2VmaWxlLmFtCitpbmRleCA4YTllYzg5Li4zZTA5MmM5IDEwMDY0NAorLS0tIGEvdG9vbHMvcnBjZ2VuL01ha2VmaWxlLmFtCisrKysgYi90b29scy9ycGNnZW4vTWFrZWZpbGUuYW0KK0BAIC0xLDYgKzEsNSBAQAorICMjIFByb2Nlc3MgdGhpcyBmaWxlIHdpdGggYXV0b21ha2UgdG8gcHJvZHVjZSBNYWtlZmlsZS5pbgorIAorLUNDPSQoQ0NfRk9SX0JVSUxEKQorIExJQlRPT0wgPSBATElCVE9PTEAgLS10YWc9Q0MKKyAKKyBub2luc3RfUFJPR1JBTVMgPSBycGNnZW4KKy0tIAorMi4xMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzLzAwMDEtTWFrZWZpbGUuYW0tZml4LXVuZGVmaW5lZC1mdW5jdGlvbi1mb3ItbGlibnNtLmEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmZzLXV0aWxzL25mcy11dGlscy8wMDAxLU1ha2VmaWxlLmFtLWZpeC11bmRlZmluZWQtZnVuY3Rpb24tZm9yLWxpYm5zbS5hLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhNTUxZWIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmZzLXV0aWxzL25mcy11dGlscy8wMDAxLU1ha2VmaWxlLmFtLWZpeC11bmRlZmluZWQtZnVuY3Rpb24tZm9yLWxpYm5zbS5hLnBhdGNoCkBAIC0wLDAgKzEsMjk1IEBACitGcm9tIDY5MGE5MGE1Yjc3ODZlNDBiNTQ0N2FkN2M1ZjE5YTc2NTdkMjc0MDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaW5nbGkgWXUgPE1pbmdsaS5ZdUB3aW5kcml2ZXIuY29tPgorRGF0ZTogRnJpLCAxNCBEZWMgMjAxOCAxNzo0NDozMiArMDgwMAorU3ViamVjdDogW1BBVENIXSBNYWtlZmlsZS5hbTogZml4IHVuZGVmaW5lZCBmdW5jdGlvbiBmb3IgbGlibnNtLmEKKworVGhlIHNvdXJjZSBmaWxlIG9mIGxpYm5zbS5hIHVzZXMgc29tZSBmdW5jdGlvbgoraW4gLi4vc3VwcG9ydC9taXNjL2ZpbGUuYywgYWRkIC4uL3N1cHBvcnQvbWlzYy9maWxlLmMKK3RvIGxpYm5zbV9hX1NPVVJDRVMgdG8gZml4IGJ1aWxkIGVycm9yIHdoZW4gcnVuCisibWFrZSAtQyB0ZXN0cyBzdGF0ZGJfZHVtcCI6Cit8IC4uL3N1cHBvcnQvbnNtL2xpYm5zbS5hKGZpbGUubyk6IEluIGZ1bmN0aW9uIGBuc21fbWFrZV9wYXRobmFtZSc6Cit8IC91c3Ivc3JjL2RlYnVnL25mcy11dGlscy8yLjMuMy1yMC9uZnMtdXRpbHMtMi4zLjMvc3VwcG9ydC9uc20vZmlsZS5jOjE3NTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgZ2VuZXJpY19tYWtlX3BhdGhuYW1lJworfCAvdXNyL3NyYy9kZWJ1Zy9uZnMtdXRpbHMvMi4zLjMtcjAvbmZzLXV0aWxzLTIuMy4zL3N1cHBvcnQvbnNtL2ZpbGUuYzoxNzU6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGdlbmVyaWNfbWFrZV9wYXRobmFtZScKK3wgL3Vzci9zcmMvZGVidWcvbmZzLXV0aWxzLzIuMy4zLXIwL25mcy11dGlscy0yLjMuMy9zdXBwb3J0L25zbS9maWxlLmM6MTc1OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBnZW5lcmljX21ha2VfcGF0aG5hbWUnCit8IC4uL3N1cHBvcnQvbnNtL2xpYm5zbS5hKGZpbGUubyk6IEluIGZ1bmN0aW9uIGBuc21fc2V0dXBfcGF0aG5hbWVzJzoKK3wgL3Vzci9zcmMvZGVidWcvbmZzLXV0aWxzLzIuMy4zLXIwL25mcy11dGlscy0yLjMuMy9zdXBwb3J0L25zbS9maWxlLmM6MjgwOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBnZW5lcmljX3NldHVwX2Jhc2VkaXInCit8IGNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cworCitBcyB0aGVyZSBpcyBhbHJlYWR5IG9uZSBzb3VyY2UgZmlsZSBuYW1lZCBmaWxlLmMKK2FzIHN1cHBvcnQvbnNtL2ZpbGUuYyBpbiBzdXBwb3J0L25zbS9NYWtlZmlsZS5hbSwKK3NvIHJlbmFtZSAuLi9zdXBwb3J0L21pc2MvZmlsZS5jIHRvIC4uL3N1cHBvcnQvbWlzYy9taXNjLmMuCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkW2h0dHBzOi8vbWFyYy5pbmZvLz9sPWxpbnV4LW5mcyZtPTE1NDUwMjc4MDQyMzA1OCZ3PTJdCisKK1NpZ25lZC1vZmYtYnk6IE1pbmdsaSBZdSA8TWluZ2xpLll1QHdpbmRyaXZlci5jb20+CistLS0KKyBzdXBwb3J0L21pc2MvTWFrZWZpbGUuYW0gfCAgIDIgKy0KKyBzdXBwb3J0L21pc2MvZmlsZS5jICAgICAgfCAxMTEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBzdXBwb3J0L21pc2MvbWlzYy5jICAgICAgfCAxMTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyBzdXBwb3J0L25zbS9NYWtlZmlsZS5hbSAgfCAgIDIgKy0KKyA0IGZpbGVzIGNoYW5nZWQsIDExMyBpbnNlcnRpb25zKCspLCAxMTMgZGVsZXRpb25zKC0pCisgZGVsZXRlIG1vZGUgMTAwNjQ0IHN1cHBvcnQvbWlzYy9maWxlLmMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgc3VwcG9ydC9taXNjL21pc2MuYworCitkaWZmIC0tZ2l0IGEvc3VwcG9ydC9taXNjL01ha2VmaWxlLmFtIGIvc3VwcG9ydC9taXNjL01ha2VmaWxlLmFtCitpbmRleCA4OTM2YjBkLi5kNGMxZjc2IDEwMDY0NAorLS0tIGEvc3VwcG9ydC9taXNjL01ha2VmaWxlLmFtCisrKysgYi9zdXBwb3J0L21pc2MvTWFrZWZpbGUuYW0KK0BAIC0xLDYgKzEsNiBAQAorICMjIFByb2Nlc3MgdGhpcyBmaWxlIHdpdGggYXV0b21ha2UgdG8gcHJvZHVjZSBNYWtlZmlsZS5pbgorIAorIG5vaW5zdF9MSUJSQVJJRVMgPSBsaWJtaXNjLmEKKy1saWJtaXNjX2FfU09VUkNFUyA9IHRjcHdyYXBwZXIuYyBmcm9tX2xvY2FsLmMgbW91bnRwb2ludC5jIGZpbGUuYworK2xpYm1pc2NfYV9TT1VSQ0VTID0gdGNwd3JhcHBlci5jIGZyb21fbG9jYWwuYyBtb3VudHBvaW50LmMgbWlzYy5jCisgCisgTUFJTlRBSU5FUkNMRUFORklMRVMgPSBNYWtlZmlsZS5pbgorZGlmZiAtLWdpdCBhL3N1cHBvcnQvbWlzYy9maWxlLmMgYi9zdXBwb3J0L21pc2MvZmlsZS5jCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IGU3YzM4MTkuLjAwMDAwMDAKKy0tLSBhL3N1cHBvcnQvbWlzYy9maWxlLmMKKysrKyAvZGV2L251bGwKK0BAIC0xLDExMSArMCwwIEBACistLyoKKy0gKiBDb3B5cmlnaHQgMjAwOSBPcmFjbGUuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorLSAqIENvcHlyaWdodCAyMDE3IFJlZCBIYXQsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCistICoKKy0gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBuZnMtdXRpbHMuCistICoKKy0gKiBuZnMtdXRpbHMgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CistICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKy0gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorLSAqCistICogbmZzLXV0aWxzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCistICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKy0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCistICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKy0gKgorLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCistICogYWxvbmcgd2l0aCBuZnMtdXRpbHMuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCistICovCistCistI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CistCistI2luY2x1ZGUgPHN0cmluZy5oPgorLSNpbmNsdWRlIDxsaWJnZW4uaD4KKy0jaW5jbHVkZSA8c3RkaW8uaD4KKy0jaW5jbHVkZSA8ZXJybm8uaD4KKy0jaW5jbHVkZSA8ZGlyZW50Lmg+CistI2luY2x1ZGUgPHN0ZGxpYi5oPgorLSNpbmNsdWRlIDxzdGRib29sLmg+CistI2luY2x1ZGUgPGxpbWl0cy5oPgorLQorLSNpbmNsdWRlICJ4bG9nLmgiCistI2luY2x1ZGUgIm1pc2MuaCIKKy0KKy0vKgorLSAqIFJldHVybnMgYSBkeW5hbWljYWxseSBhbGxvY2F0ZWQsICdcMCctdGVybWluYXRlZCBidWZmZXIKKy0gKiBjb250YWluaW5nIGFuIGFwcHJvcHJpYXRlIHBhdGhuYW1lLCBvciBOVUxMIGlmIGFuIGVycm9yCistICogb2NjdXJzLiAgQ2FsbGVyIG11c3QgZnJlZSB0aGUgcmV0dXJuZWQgcmVzdWx0IHdpdGggZnJlZSgzKS4KKy0gKi8KKy1fX2F0dHJpYnV0ZV9fKChfX21hbGxvY19fKSkKKy1jaGFyICoKKy1nZW5lcmljX21ha2VfcGF0aG5hbWUoY29uc3QgY2hhciAqYmFzZSwgY29uc3QgY2hhciAqbGVhZikKKy17CistCXNpemVfdCBzaXplOworLQljaGFyICpwYXRoOworLQlpbnQgbGVuOworLQorLQlzaXplID0gc3RybGVuKGJhc2UpICsgc3RybGVuKGxlYWYpICsgMjsKKy0JaWYgKHNpemUgPiBQQVRIX01BWCkKKy0JCXJldHVybiBOVUxMOworLQorLQlwYXRoID0gbWFsbG9jKHNpemUpOworLQlpZiAocGF0aCA9PSBOVUxMKQorLQkJcmV0dXJuIE5VTEw7CistCistCWxlbiA9IHNucHJpbnRmKHBhdGgsIHNpemUsICIlcy8lcyIsIGJhc2UsIGxlYWYpOworLQlpZiAoKGxlbiA8IDApIHx8ICgoc2l6ZV90KWxlbiA+PSBzaXplKSkgeworLQkJZnJlZShwYXRoKTsKKy0JCXJldHVybiBOVUxMOworLQl9CistCistCXJldHVybiBwYXRoOworLX0KKy0KKy0KKy0vKioKKy0gKiBnZW5lcmljX3NldHVwX2Jhc2VkaXIgLSBzZXQgdXAgYmFzZWRpcgorLSAqIEBwcm9nbmFtZTogQyBzdHJpbmcgY29udGFpbmluZyBuYW1lIG9mIHByb2dyYW0sIGZvciBlcnJvciBtZXNzYWdlcworLSAqIEBwYXJlbnRkaXI6IEMgc3RyaW5nIGNvbnRhaW5pbmcgcGF0aG5hbWUgdG8gb24tZGlzayBzdGF0ZSwgb3IgTlVMTAorLSAqIEBiYXNlOiBjaGFyYWN0ZXIgYnVmZmVyIHRvIGNvbnRhaW4gdGhlIGJhc2VkaXIgdGhhdCBpcyBzZXQgdXAKKy0gKiBAYmFzZWxlbjogc2l6ZSBvZiBAYmFzZSBpbiBieXRlcworLSAqCistICogVGhpcyBydW5zIGJlZm9yZSBsb2dnaW5nIGlzIHNldCB1cCwgc28gZXJyb3IgbWVzc2FnZXMgYXJlIGRpcmVjdGVkCistICogdG8gc3RkZXJyLgorLSAqCistICogUmV0dXJucyB0cnVlIGFuZCBzZXRzIHVwIG91ciBiYXNlZGlyLCBpZiBAcGFyZW50ZGlyIHdhcyB2YWxpZAorLSAqIGFuZCB1c2FibGU7IG90aGVyd2lzZSBmYWxzZSBpcyByZXR1cm5lZC4KKy0gKi8KKy1fQm9vbAorLWdlbmVyaWNfc2V0dXBfYmFzZWRpcihjb25zdCBjaGFyICpwcm9nbmFtZSwgY29uc3QgY2hhciAqcGFyZW50ZGlyLCBjaGFyICpiYXNlLAorLQkJICAgICAgY29uc3Qgc2l6ZV90IGJhc2VsZW4pCisteworLQlzdGF0aWMgY2hhciBidWZbUEFUSF9NQVhdOworLQlzdHJ1Y3Qgc3RhdCBzdDsKKy0JY2hhciAqcGF0aDsKKy0KKy0JLyogRmlyc3Q6IHRlc3QgbGVuZ3RoIG9mIG5hbWUgYW5kIHdoZXRoZXIgaXQgZXhpc3RzICovCistCWlmICgoc3RybGVuKHBhcmVudGRpcikgPj0gYmFzZWxlbikgfHwgKHN0cmxlbihwYXJlbnRkaXIpID49IFBBVEhfTUFYKSkgeworLQkJKHZvaWQpZnByaW50ZihzdGRlcnIsICIlczogRGlyZWN0b3J5IG5hbWUgdG9vIGxvbmc6ICVzIiwKKy0JCQkJcHJvZ25hbWUsIHBhcmVudGRpcik7CistCQlyZXR1cm4gZmFsc2U7CistCX0KKy0JaWYgKGxzdGF0KHBhcmVudGRpciwgJnN0KSA9PSAtMSkgeworLQkJKHZvaWQpZnByaW50ZihzdGRlcnIsICIlczogRmFpbGVkIHRvIHN0YXQgJXM6ICVzIiwKKy0JCQkJcHJvZ25hbWUsIHBhcmVudGRpciwgc3RyZXJyb3IoZXJybm8pKTsKKy0JCXJldHVybiBmYWxzZTsKKy0JfQorLQorLQkvKiBFbnN1cmUgd2UgaGF2ZSBhIGNsZWFuIGRpcmVjdG9yeSBwYXRobmFtZSAqLworLQlzdHJuY3B5KGJ1ZiwgcGFyZW50ZGlyLCBzaXplb2YoYnVmKS0xKTsKKy0JcGF0aCA9IGRpcm5hbWUoYnVmKTsKKy0JaWYgKCpwYXRoID09ICcuJykgeworLQkJKHZvaWQpZnByaW50ZihzdGRlcnIsICIlczogVW51c2FibGUgZGlyZWN0b3J5ICVzIiwKKy0JCQkJcHJvZ25hbWUsIHBhcmVudGRpcik7CistCQlyZXR1cm4gZmFsc2U7CistCX0KKy0KKy0JeGxvZyhEX0NBTEwsICJVc2luZyAlcyBhcyB0aGUgc3RhdGUgZGlyZWN0b3J5IiwgcGFyZW50ZGlyKTsKKy0Jc3RyY3B5KGJhc2UsIHBhcmVudGRpcik7CistCXJldHVybiB0cnVlOworLX0KK2RpZmYgLS1naXQgYS9zdXBwb3J0L21pc2MvbWlzYy5jIGIvc3VwcG9ydC9taXNjL21pc2MuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmU3YzM4MTkKKy0tLSAvZGV2L251bGwKKysrKyBiL3N1cHBvcnQvbWlzYy9taXNjLmMKK0BAIC0wLDAgKzEsMTExIEBACisrLyoKKysgKiBDb3B5cmlnaHQgMjAwOSBPcmFjbGUuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKyAqIENvcHlyaWdodCAyMDE3IFJlZCBIYXQsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrICoKKysgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBuZnMtdXRpbHMuCisrICoKKysgKiBuZnMtdXRpbHMgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKysgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyAqCisrICogbmZzLXV0aWxzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysgKgorKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrICogYWxvbmcgd2l0aCBuZnMtdXRpbHMuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrICovCisrCisrI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisrCisrI2luY2x1ZGUgPHN0cmluZy5oPgorKyNpbmNsdWRlIDxsaWJnZW4uaD4KKysjaW5jbHVkZSA8c3RkaW8uaD4KKysjaW5jbHVkZSA8ZXJybm8uaD4KKysjaW5jbHVkZSA8ZGlyZW50Lmg+CisrI2luY2x1ZGUgPHN0ZGxpYi5oPgorKyNpbmNsdWRlIDxzdGRib29sLmg+CisrI2luY2x1ZGUgPGxpbWl0cy5oPgorKworKyNpbmNsdWRlICJ4bG9nLmgiCisrI2luY2x1ZGUgIm1pc2MuaCIKKysKKysvKgorKyAqIFJldHVybnMgYSBkeW5hbWljYWxseSBhbGxvY2F0ZWQsICdcMCctdGVybWluYXRlZCBidWZmZXIKKysgKiBjb250YWluaW5nIGFuIGFwcHJvcHJpYXRlIHBhdGhuYW1lLCBvciBOVUxMIGlmIGFuIGVycm9yCisrICogb2NjdXJzLiAgQ2FsbGVyIG11c3QgZnJlZSB0aGUgcmV0dXJuZWQgcmVzdWx0IHdpdGggZnJlZSgzKS4KKysgKi8KKytfX2F0dHJpYnV0ZV9fKChfX21hbGxvY19fKSkKKytjaGFyICoKKytnZW5lcmljX21ha2VfcGF0aG5hbWUoY29uc3QgY2hhciAqYmFzZSwgY29uc3QgY2hhciAqbGVhZikKKyt7CisrCXNpemVfdCBzaXplOworKwljaGFyICpwYXRoOworKwlpbnQgbGVuOworKworKwlzaXplID0gc3RybGVuKGJhc2UpICsgc3RybGVuKGxlYWYpICsgMjsKKysJaWYgKHNpemUgPiBQQVRIX01BWCkKKysJCXJldHVybiBOVUxMOworKworKwlwYXRoID0gbWFsbG9jKHNpemUpOworKwlpZiAocGF0aCA9PSBOVUxMKQorKwkJcmV0dXJuIE5VTEw7CisrCisrCWxlbiA9IHNucHJpbnRmKHBhdGgsIHNpemUsICIlcy8lcyIsIGJhc2UsIGxlYWYpOworKwlpZiAoKGxlbiA8IDApIHx8ICgoc2l6ZV90KWxlbiA+PSBzaXplKSkgeworKwkJZnJlZShwYXRoKTsKKysJCXJldHVybiBOVUxMOworKwl9CisrCisrCXJldHVybiBwYXRoOworK30KKysKKysKKysvKioKKysgKiBnZW5lcmljX3NldHVwX2Jhc2VkaXIgLSBzZXQgdXAgYmFzZWRpcgorKyAqIEBwcm9nbmFtZTogQyBzdHJpbmcgY29udGFpbmluZyBuYW1lIG9mIHByb2dyYW0sIGZvciBlcnJvciBtZXNzYWdlcworKyAqIEBwYXJlbnRkaXI6IEMgc3RyaW5nIGNvbnRhaW5pbmcgcGF0aG5hbWUgdG8gb24tZGlzayBzdGF0ZSwgb3IgTlVMTAorKyAqIEBiYXNlOiBjaGFyYWN0ZXIgYnVmZmVyIHRvIGNvbnRhaW4gdGhlIGJhc2VkaXIgdGhhdCBpcyBzZXQgdXAKKysgKiBAYmFzZWxlbjogc2l6ZSBvZiBAYmFzZSBpbiBieXRlcworKyAqCisrICogVGhpcyBydW5zIGJlZm9yZSBsb2dnaW5nIGlzIHNldCB1cCwgc28gZXJyb3IgbWVzc2FnZXMgYXJlIGRpcmVjdGVkCisrICogdG8gc3RkZXJyLgorKyAqCisrICogUmV0dXJucyB0cnVlIGFuZCBzZXRzIHVwIG91ciBiYXNlZGlyLCBpZiBAcGFyZW50ZGlyIHdhcyB2YWxpZAorKyAqIGFuZCB1c2FibGU7IG90aGVyd2lzZSBmYWxzZSBpcyByZXR1cm5lZC4KKysgKi8KKytfQm9vbAorK2dlbmVyaWNfc2V0dXBfYmFzZWRpcihjb25zdCBjaGFyICpwcm9nbmFtZSwgY29uc3QgY2hhciAqcGFyZW50ZGlyLCBjaGFyICpiYXNlLAorKwkJICAgICAgY29uc3Qgc2l6ZV90IGJhc2VsZW4pCisreworKwlzdGF0aWMgY2hhciBidWZbUEFUSF9NQVhdOworKwlzdHJ1Y3Qgc3RhdCBzdDsKKysJY2hhciAqcGF0aDsKKysKKysJLyogRmlyc3Q6IHRlc3QgbGVuZ3RoIG9mIG5hbWUgYW5kIHdoZXRoZXIgaXQgZXhpc3RzICovCisrCWlmICgoc3RybGVuKHBhcmVudGRpcikgPj0gYmFzZWxlbikgfHwgKHN0cmxlbihwYXJlbnRkaXIpID49IFBBVEhfTUFYKSkgeworKwkJKHZvaWQpZnByaW50ZihzdGRlcnIsICIlczogRGlyZWN0b3J5IG5hbWUgdG9vIGxvbmc6ICVzIiwKKysJCQkJcHJvZ25hbWUsIHBhcmVudGRpcik7CisrCQlyZXR1cm4gZmFsc2U7CisrCX0KKysJaWYgKGxzdGF0KHBhcmVudGRpciwgJnN0KSA9PSAtMSkgeworKwkJKHZvaWQpZnByaW50ZihzdGRlcnIsICIlczogRmFpbGVkIHRvIHN0YXQgJXM6ICVzIiwKKysJCQkJcHJvZ25hbWUsIHBhcmVudGRpciwgc3RyZXJyb3IoZXJybm8pKTsKKysJCXJldHVybiBmYWxzZTsKKysJfQorKworKwkvKiBFbnN1cmUgd2UgaGF2ZSBhIGNsZWFuIGRpcmVjdG9yeSBwYXRobmFtZSAqLworKwlzdHJuY3B5KGJ1ZiwgcGFyZW50ZGlyLCBzaXplb2YoYnVmKS0xKTsKKysJcGF0aCA9IGRpcm5hbWUoYnVmKTsKKysJaWYgKCpwYXRoID09ICcuJykgeworKwkJKHZvaWQpZnByaW50ZihzdGRlcnIsICIlczogVW51c2FibGUgZGlyZWN0b3J5ICVzIiwKKysJCQkJcHJvZ25hbWUsIHBhcmVudGRpcik7CisrCQlyZXR1cm4gZmFsc2U7CisrCX0KKysKKysJeGxvZyhEX0NBTEwsICJVc2luZyAlcyBhcyB0aGUgc3RhdGUgZGlyZWN0b3J5IiwgcGFyZW50ZGlyKTsKKysJc3RyY3B5KGJhc2UsIHBhcmVudGRpcik7CisrCXJldHVybiB0cnVlOworK30KK2RpZmYgLS1naXQgYS9zdXBwb3J0L25zbS9NYWtlZmlsZS5hbSBiL3N1cHBvcnQvbnNtL01ha2VmaWxlLmFtCitpbmRleCA4ZjU4NzRlLi42OGYxYTQ2IDEwMDY0NAorLS0tIGEvc3VwcG9ydC9uc20vTWFrZWZpbGUuYW0KKysrKyBiL3N1cHBvcnQvbnNtL01ha2VmaWxlLmFtCitAQCAtMTAsNyArMTAsNyBAQCBHRU5GSUxFUwk9ICQoR0VORklMRVNfQ0xOVCkgJChHRU5GSUxFU19TVkMpICQoR0VORklMRVNfWERSKSAkKEdFTkZJTEVTX0gpCisgRVhUUkFfRElTVAk9IHNtX2ludGVyLngKKyAKKyBub2luc3RfTElCUkFSSUVTID0gbGlibnNtLmEKKy1saWJuc21fYV9TT1VSQ0VTID0gJChHRU5GSUxFUykgZmlsZS5jIHJwYy5jCisrbGlibnNtX2FfU09VUkNFUyA9ICQoR0VORklMRVMpIC4uL21pc2MvbWlzYy5jIGZpbGUuYyBycGMuYworIAorIEJVSUxUX1NPVVJDRVMgPSAkKEdFTkZJTEVTKQorIAorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmZzLXV0aWxzL25mcy11dGlscy8wMDAxLU1ha2VmaWxlLmFtLXVwZGF0ZS10aGUtcGF0aC1vZi1saWJuZnMuYS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzLzAwMDEtTWFrZWZpbGUuYW0tdXBkYXRlLXRoZS1wYXRoLW9mLWxpYm5mcy5hLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwNmFjMGYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmZzLXV0aWxzL25mcy11dGlscy8wMDAxLU1ha2VmaWxlLmFtLXVwZGF0ZS10aGUtcGF0aC1vZi1saWJuZnMuYS5wYXRjaApAQCAtMCwwICsxLDUwIEBACitGcm9tIGZjZWNlNjVkMWI3MTNlYWVlZjQxNzA2ODk4NDQwMzAyZjhjZTkyZDkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaW5nbGkgWXUgPE1pbmdsaS5ZdUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVGh1LCAxMiBKdWwgMjAxOCAxNToxOTo0MSArMDgwMAorU3ViamVjdDogW1BBVENIXSBNYWtlZmlsZS5hbTogdXBkYXRlIHRoZSBwYXRoIG9mIGxpYm5mcy5hCisKK1RoZSBsaWJuZnMuYSBpcyB1bmRlciAuLi9zdXBwb3J0L25mcy8ubGlicy8gbm93LAordXBkYXRlIHRoZSByZWZlcmVuY2UgcGF0aCBhY2NvcmRpbmdseSB0byBmaXggYmVsb3cKK2J1aWxkIGVycm9yIHdoZW4gcnVuICJtYWtlIC1DIHRlc3RzIHN0YXRkYl9kdW1wIjoKK3wgbWFrZTogKioqIE5vIHJ1bGUgdG8gbWFrZSB0YXJnZXQgJy4uL3N1cHBvcnQvbmZzL2xpYm5mcy5hJywgbmVlZGVkIGJ5ICdzdGF0ZGJfZHVtcCcuICBTdG9wLgorCitBbmQgYmVsb3cgZXJyb3Igd2hlbiBydW4gIm1ha2UgLUMgdGVzdHMvbnNtX2NsaWVudCBuc21fY2xpZW50IgorfCBtYWtlOiAqKiogTm8gcnVsZSB0byBtYWtlIHRhcmdldCAnLi4vLi4vc3VwcG9ydC9uZnMvbGlibmZzLmEnLCBuZWVkZWQgYnkgJ25zbV9jbGllbnQnLiAgU3RvcC4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWRbaHR0cHM6Ly9tYXJjLmluZm8vP2w9bGludXgtbmZzJm09MTU0NTAyNjM2NTIyNzQ1Jnc9Ml0KKworU2lnbmVkLW9mZi1ieTogTWluZ2xpIFl1IDxNaW5nbGkuWXVAd2luZHJpdmVyLmNvbT4KKy0tLQorIHRlc3RzL01ha2VmaWxlLmFtICAgICAgICAgICAgfCAyICstCisgdGVzdHMvbnNtX2NsaWVudC9NYWtlZmlsZS5hbSB8IDIgKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rlc3RzL01ha2VmaWxlLmFtIGIvdGVzdHMvTWFrZWZpbGUuYW0KK2luZGV4IDFmOTYyNjQuLjc0YWE2MjkgMTAwNjQ0CistLS0gYS90ZXN0cy9NYWtlZmlsZS5hbQorKysrIGIvdGVzdHMvTWFrZWZpbGUuYW0KK0BAIC0zLDcgKzMsNyBAQAorIGNoZWNrX1BST0dSQU1TID0gc3RhdGRiX2R1bXAKKyBzdGF0ZGJfZHVtcF9TT1VSQ0VTID0gc3RhdGRiX2R1bXAuYworIAorLXN0YXRkYl9kdW1wX0xEQUREID0gLi4vc3VwcG9ydC9uZnMvbGlibmZzLmEgXAorK3N0YXRkYl9kdW1wX0xEQUREID0gLi4vc3VwcG9ydC9uZnMvLmxpYnMvbGlibmZzLmEgXAorIAkJICAgIC4uL3N1cHBvcnQvbnNtL2xpYm5zbS5hICQoTElCQ0FQKQorIAorIFNVQkRJUlMgPSBuc21fY2xpZW50CitkaWZmIC0tZ2l0IGEvdGVzdHMvbnNtX2NsaWVudC9NYWtlZmlsZS5hbSBiL3Rlc3RzL25zbV9jbGllbnQvTWFrZWZpbGUuYW0KK2luZGV4IGE4ZmMxMzEuLjQzZGI5YzIgMTAwNjQ0CistLS0gYS90ZXN0cy9uc21fY2xpZW50L01ha2VmaWxlLmFtCisrKysgYi90ZXN0cy9uc21fY2xpZW50L01ha2VmaWxlLmFtCitAQCAtMTMsNyArMTMsNyBAQCBjaGVja19QUk9HUkFNUwk9IG5zbV9jbGllbnQKKyBuc21fY2xpZW50X1NPVVJDRVMgPSAkKEdFTkZJTEVTKSBuc21fY2xpZW50LmMKKyAKKyBCVUlMVF9TT1VSQ0VTID0gJChHRU5GSUxFUykKKy1uc21fY2xpZW50X0xEQUREID0gLi4vLi4vc3VwcG9ydC9uZnMvbGlibmZzLmEgXAorK25zbV9jbGllbnRfTERBREQgPSAuLi8uLi9zdXBwb3J0L25mcy8ubGlicy9saWJuZnMuYSBcCisgCQkgICAuLi8uLi9zdXBwb3J0L25zbS9saWJuc20uYSAkKExJQkNBUCkgJChMSUJUSVJQQykKKyAKKyBpZiBDT05GSUdfUlBDR0VOCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzLzAwMDEtY2FjaGVpby11c2UtaW50bWF4X3QtZm9yLWZvcm1hdHRlZC1JTy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzLzAwMDEtY2FjaGVpby11c2UtaW50bWF4X3QtZm9yLWZvcm1hdHRlZC1JTy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYWZmZjViCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvMDAwMS1jYWNoZWlvLXVzZS1pbnRtYXhfdC1mb3ItZm9ybWF0dGVkLUlPLnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK0Zyb20gYWMzMmI4MTNmNWQ2ZjlhMmRlOTQ0MDE1Y2Y5YmI5OGQ2OGUwMjAzYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBTYXQsIDEgRGVjIDIwMTggMTA6MDI6MTIgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gY2FjaGVpbzogdXNlIGludG1heF90IGZvciBmb3JtYXR0ZWQgSU8KKwordGltZV90IGlzIG5vdCBzYW1lIHNpemUgb24geDMyIEFCSSAoSUxQMzIpCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgc3VwcG9ydC9uZnMvY2FjaGVpby5jIHwgMyArKy0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zdXBwb3J0L25mcy9jYWNoZWlvLmMgYi9zdXBwb3J0L25mcy9jYWNoZWlvLmMKK2luZGV4IDlkYzRjZjEuLjIwODZhOTUgMTAwNjQ0CistLS0gYS9zdXBwb3J0L25mcy9jYWNoZWlvLmMKKysrKyBiL3N1cHBvcnQvbmZzL2NhY2hlaW8uYworQEAgLTE3LDYgKzE3LDcgQEAKKyAKKyAjaW5jbHVkZSA8bmZzbGliLmg+CisgI2luY2x1ZGUgPHN0ZGlvLmg+CisrI2luY2x1ZGUgPGludHR5cGVzLmg+CisgI2luY2x1ZGUgPHN0ZGlvX2V4dC5oPgorICNpbmNsdWRlIDxzdHJpbmcuaD4KKyAjaW5jbHVkZSA8Y3R5cGUuaD4KK0BAIC0yMzQsNyArMjM1LDcgQEAgY2FjaGVfZmx1c2goaW50IGZvcmNlKQorIAkgICAgc3RiLnN0X210aW1lID4gbm93KQorIAkJc3RiLnN0X210aW1lID0gdGltZSgwKTsKKyAJCistCXNwcmludGYoc3RpbWUsICIlbGRcbiIsIHN0Yi5zdF9tdGltZSk7CisrCXNwcmludGYoc3RpbWUsICIlamRcbiIsIChpbnRtYXhfdClzdGIuc3RfbXRpbWUpOworIAlmb3IgKGM9MDsgY2FjaGVsaXN0W2NdOyBjKyspIHsKKyAJCWludCBmZDsKKyAJCXNwcmludGYocGF0aCwgIi9wcm9jL25ldC9ycGMvJXMvZmx1c2giLCBjYWNoZWxpc3RbY10pOworLS0gCisyLjE5LjIKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvMDAwMS1jb25maWd1cmUuYWMtRG8tbm90LWZhdGFsaXplLVdtaXNzaW5nLXByb3RvdHlwZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmZzLXV0aWxzL25mcy11dGlscy8wMDAxLWNvbmZpZ3VyZS5hYy1Eby1ub3QtZmF0YWxpemUtV21pc3NpbmctcHJvdG90eXBlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xN2FhYmI5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvMDAwMS1jb25maWd1cmUuYWMtRG8tbm90LWZhdGFsaXplLVdtaXNzaW5nLXByb3RvdHlwZXMucGF0Y2gKQEAgLTAsMCArMSw0MyBAQAorRnJvbSA2NjQ3MWZiZjcxMDY5MTdkYTdhMTUzNmIxOGEwYTc3ZDA3NDc5Nzc5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWluZ2xpIFl1IDxNaW5nbGkuWXVAd2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMTcgRGVjIDIwMTggMTU6Mjk6NDcgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlLmFjOiBEbyBub3QgZmF0YWxpemUgLVdtaXNzaW5nLXByb3RvdHlwZXMKKworVGhlcmUgY29tZXMgYmVsb3cgZXJyb3Igd2hlbiBydW4gIm1ha2UgLUMgdGVzdHMvbnNtX2NsaWVudCBuc21fY2xpZW50IgorfCBubG1fc21faW50ZXJfc3ZjLmM6MjA6MTogZXJyb3I6IG5vIHByZXZpb3VzIHByb3RvdHlwZSBmb3IgJ25sbV9zbV9wcm9nXzMnIFstV2Vycm9yPW1pc3NpbmctcHJvdG90eXBlc10KKworSXQgaXMgYmVjYXVzZSBycGNnZW4gZG9lc24ndCBnZW5lcmF0ZSAtV21pc3NpbmctcHJvdG90eXBlcworZnJlZSBjb2RlIGZvciBubG1fc21faW50ZXJfc3ZjLmMgd2l0aCBiZWxvdyBsb2dpYworaW4gdGVzdHMvbnNtX2NsaWVudC9NYWtlZmlsZS5hbQorW3NuaXBdCitHRU5GSUxFU19TVkMgICAgPSBubG1fc21faW50ZXJfc3ZjLmMKK1tzbmlwXQorJChHRU5GSUxFU19TVkMpOiAlX3N2Yy5jOiAlLnggJChSUENHRU4pCisgICAgICAgIHRlc3QgLWYgJEAgJiYgcm0gLXJmICRAIHx8IHRydWUKKyAgICAgICAgJChSUENHRU4pIC1tIC1vICRAICQ8CisKK1NvIGFkZCB0aGUgbG9naWMgbm90IHRvIGZhdGFsaXplIC1XbWlzc2luZy1wcm90b3R5cGVzLgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZFtodHRwczovL21hcmMuaW5mby8/bD1saW51eC1uZnMmbT0xNTQ1MDMyNjAzMjM5MzYmdz0yXQorCitTaWduZWQtb2ZmLWJ5OiBNaW5nbGkgWXUgPE1pbmdsaS5ZdUB3aW5kcml2ZXIuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCBlODJmZjE0Li5kMGNjNWQ1IDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC01NDgsNyArNTQ4LDcgQEAgbXlfYW1fY2ZsYWdzPSJcCisgIC1XYWxsIFwKKyAgLVdleHRyYSBcCisgIC1XZXJyb3I9c3RyaWN0LXByb3RvdHlwZXMgXAorLSAtV2Vycm9yPW1pc3NpbmctcHJvdG90eXBlcyBcCisrIC1XbWlzc2luZy1wcm90b3R5cGVzIFwKKyAgLVdlcnJvcj1taXNzaW5nLWRlY2xhcmF0aW9ucyBcCisgIC1XZXJyb3I9Zm9ybWF0PTIgXAorICAtV2Vycm9yPXVuZGVmIFwKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvY2xhbmctZm9ybWF0LXN0cmluZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzL2NsYW5nLWZvcm1hdC1zdHJpbmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWQ2OTNlNAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzL2NsYW5nLWZvcm1hdC1zdHJpbmcucGF0Y2gKQEAgLTAsMCArMSwxODMgQEAKK0NsYW5nIGNvbWVzIHVwIHdpdGggbW9yZSBwcmludGYgZm9ybWF0IHdhcm5pbmdzCitDb3JyZWN0aW5nIOKAnGZvcm1hdCBzdHJpbmcgaXMgbm90IGEgc3RyaW5nIGxpdGVyYWzigJ0gd2FybmluZworcmVxdWlyZXMgdXMgdG8gZGVjbGFyZSB0aGF0IHBhcmFtZXRlciBpcyBhIHByaW50ZiBzdHlsZSAKK2Zvcm1hdCB1c2luZyB0aGUgYXR0cmlidXRlIGZsYWcKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK0luZGV4OiBuZnMtdXRpbHMtMi4zLjMvc3VwcG9ydC9pbmNsdWRlL3hjb21tb24uaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIG5mcy11dGlscy0yLjMuMy5vcmlnL3N1cHBvcnQvaW5jbHVkZS94Y29tbW9uLmgKKysrKyBuZnMtdXRpbHMtMi4zLjMvc3VwcG9ydC9pbmNsdWRlL3hjb21tb24uaAorQEAgLTI3LDcgKzI3LDcgQEAKKyAKKyAvKiBGdW5jdGlvbnMgaW4gc3VuZHJpZXMuYyB0aGF0IGFyZSB1c2VkIGluIG1vdW50LmMgYW5kIHVtb3VudC5jICAqLyAKKyBjaGFyICpjYW5vbmljYWxpemUgKGNvbnN0IGNoYXIgKnBhdGgpOworLXZvaWQgbmZzX2Vycm9yIChjb25zdCBjaGFyICpmbXQsIC4uLik7Cisrdm9pZCBuZnNfZXJyb3IgKGNvbnN0IGNoYXIgKmZtdCwgLi4uKSBfX2F0dHJpYnV0ZV9fKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCAxLCAyKSkpOworIHZvaWQgKnhtYWxsb2MgKHNpemVfdCBzaXplKTsKKyB2b2lkICp4cmVhbGxvYyh2b2lkICpwLCBzaXplX3Qgc2l6ZSk7Cisgdm9pZCB4ZnJlZSh2b2lkICopOworQEAgLTM2LDkgKzM2LDkgQEAgY2hhciAqeHN0cm5kdXAgKGNvbnN0IGNoYXIgKnMsIGludCBuKTsKKyBjaGFyICp4c3RyY29uY2F0MiAoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOworIGNoYXIgKnhzdHJjb25jYXQzIChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKKyBjaGFyICp4c3RyY29uY2F0NCAoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKKy12b2lkIGRpZSAoaW50IGVycmNvZGUsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKKyt2b2lkIGRpZSAoaW50IGVycmNvZGUsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKSBfX2F0dHJpYnV0ZV9fKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCAyLCAzKSkpOworIAorLWV4dGVybiB2b2lkIGRpZShpbnQgZXJyLCBjb25zdCBjaGFyICpmbXQsIC4uLik7CisrZXh0ZXJuIHZvaWQgZGllKGludCBlcnIsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKSBfX2F0dHJpYnV0ZV9fKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCAyLCAzKSkpOworIGV4dGVybiB2b2lkICgqYXRfZGllKSh2b2lkKTsKKyAKKyAvKiBleGl0IHN0YXR1cyAtIGJpdHMgYmVsb3cgYXJlIE9SZWQgKi8KK0luZGV4OiBuZnMtdXRpbHMtMi4zLjMvc3VwcG9ydC9pbmNsdWRlL3hsb2cuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIG5mcy11dGlscy0yLjMuMy5vcmlnL3N1cHBvcnQvaW5jbHVkZS94bG9nLmgKKysrKyBuZnMtdXRpbHMtMi4zLjMvc3VwcG9ydC9pbmNsdWRlL3hsb2cuaAorQEAgLTQzLDEwICs0MywxMCBAQCB2b2lkCQkJeGxvZ19jb25maWcoaW50IGZhYywgaW50IG9uKTsKKyB2b2lkCQkJeGxvZ19zY29uZmlnKGNoYXIgKiwgaW50IG9uKTsKKyB2b2lkCQkJeGxvZ19mcm9tX2NvbmZmaWxlKGNoYXIgKik7CisgaW50CQkJeGxvZ19lbmFibGVkKGludCBmYWMpOworLXZvaWQJCQl4bG9nKGludCBmYWMsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKKy12b2lkCQkJeGxvZ193YXJuKGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKKy12b2lkCQkJeGxvZ19lcnIoY29uc3QgY2hhciAqZm10LCAuLi4pOworLXZvaWQJCQl4bG9nX2Vycm5vKGludCBlcnIsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKKy12b2lkCQkJeGxvZ19iYWNrZW5kKGludCBmYWMsIGNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdCBhcmdzKTsKKyt2b2lkCQkJeGxvZyhpbnQgZmFjLCBjb25zdCBjaGFyICpmbXQsIC4uLikgX19hdHRyaWJ1dGVfXygoX19mb3JtYXRfXyAoX19wcmludGZfXywgMiwgMykpKTsKKyt2b2lkCQkJeGxvZ193YXJuKGNvbnN0IGNoYXIgKmZtdCwgLi4uKSBfX2F0dHJpYnV0ZV9fKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCAxLCAyKSkpOworK3ZvaWQJCQl4bG9nX2Vycihjb25zdCBjaGFyICpmbXQsIC4uLikgX19hdHRyaWJ1dGVfXygoX19mb3JtYXRfXyAoX19wcmludGZfXywgMSwgMikpKTsKKyt2b2lkCQkJeGxvZ19lcnJubyhpbnQgZXJyLCBjb25zdCBjaGFyICpmbXQsIC4uLikgX19hdHRyaWJ1dGVfXygoX19mb3JtYXRfXyAoX19wcmludGZfXywgMiwgMykpKTsKKyt2b2lkCQkJeGxvZ19iYWNrZW5kKGludCBmYWMsIGNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdCBhcmdzKSBfX2F0dHJpYnV0ZV9fKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCAyLCAwKSkpOworIAorICNlbmRpZiAvKiBYTE9HX0ggKi8KK0luZGV4OiBuZnMtdXRpbHMtMi4zLjMvc3VwcG9ydC9uZnMveGNvbW1vbi5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbmZzLXV0aWxzLTIuMy4zLm9yaWcvc3VwcG9ydC9uZnMveGNvbW1vbi5jCisrKysgbmZzLXV0aWxzLTIuMy4zL3N1cHBvcnQvbmZzL3hjb21tb24uYworQEAgLTkzLDcgKzkzLDEwIEBAIG5mc19lcnJvciAoY29uc3QgY2hhciAqZm10LCAuLi4pIHsKKyAKKyAgICAgIGZtdDIgPSB4c3RyY29uY2F0MiAoZm10LCAiXG4iKTsKKyAgICAgIHZhX3N0YXJ0IChhcmdzLCBmbXQpOworKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCisrI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XZm9ybWF0LW5vbmxpdGVyYWwiCisgICAgICB2ZnByaW50ZiAoc3RkZXJyLCBmbXQyLCBhcmdzKTsKKysjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCisgICAgICB2YV9lbmQgKGFyZ3MpOworICAgICAgZnJlZSAoZm10Mik7CisgfQorSW5kZXg6IG5mcy11dGlscy0yLjMuMy91dGlscy9leHBvcnRmcy9leHBvcnRmcy5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbmZzLXV0aWxzLTIuMy4zLm9yaWcvdXRpbHMvZXhwb3J0ZnMvZXhwb3J0ZnMuYworKysrIG5mcy11dGlscy0yLjMuMy91dGlscy9leHBvcnRmcy9leHBvcnRmcy5jCitAQCAtNjQ0LDYgKzY0NCw3IEBAIG91dDoKKyAJcmV0dXJuIHJlc3VsdDsKKyB9CisgCisrX19hdHRyaWJ1dGVfXygoX19mb3JtYXRfXyAoX19wcmludGZfXywgMiwgMykpKQorIHN0YXRpYyBjaGFyCisgZHVtcG9wdChjaGFyIGMsIGNoYXIgKmZtdCwgLi4uKQorIHsKK0luZGV4OiBuZnMtdXRpbHMtMi4zLjMvdXRpbHMvc3RhdGQvc3RhdGQuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIG5mcy11dGlscy0yLjMuMy5vcmlnL3V0aWxzL3N0YXRkL3N0YXRkLmMKKysrKyBuZnMtdXRpbHMtMi4zLjMvdXRpbHMvc3RhdGQvc3RhdGQuYworQEAgLTEzNiw3ICsxMzYsNyBAQCBzdGF0aWMgdm9pZCBsb2dfbW9kZXModm9pZCkKKyAJc3RyY2F0KGJ1ZiwgIlRJLVJQQyAiKTsKKyAjZW5kaWYKKyAKKy0JeGxvZ193YXJuKGJ1Zik7CisrCXhsb2dfd2FybigiJXMiLCBidWYpOworIH0KKyAKKyAvKgorSW5kZXg6IG5mcy11dGlscy0yLjMuMy9zdXBwb3J0L25mcy9zdmNfY3JlYXRlLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBuZnMtdXRpbHMtMi4zLjMub3JpZy9zdXBwb3J0L25mcy9zdmNfY3JlYXRlLmMKKysrKyBuZnMtdXRpbHMtMi4zLjMvc3VwcG9ydC9uZnMvc3ZjX2NyZWF0ZS5jCitAQCAtMTg0LDcgKzE4NCw3IEBAIHN2Y19jcmVhdGVfc29jayhjb25zdCBzdHJ1Y3Qgc29ja2FkZHIgKnMKKyAJCXR5cGUgPSBTT0NLX1NUUkVBTTsKKyAJCWJyZWFrOworIAlkZWZhdWx0OgorLQkJeGxvZyhEX0dFTkVSQUwsICIlczogVW5yZWNvZ25pemVkIGJpbmQgYWRkcmVzcyBzZW1hbnRpY3M6ICV1IiwKKysJCXhsb2coRF9HRU5FUkFMLCAiJXM6IFVucmVjb2duaXplZCBiaW5kIGFkZHJlc3Mgc2VtYW50aWNzOiAlbHUiLAorIAkJCV9fZnVuY19fLCBuY29uZi0+bmNfc2VtYW50aWNzKTsKKyAJCXJldHVybiAtMTsKKyAJfQorSW5kZXg6IG5mcy11dGlscy0yLjMuMy9zdXBwb3J0L25zbS9ycGMuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIG5mcy11dGlscy0yLjMuMy5vcmlnL3N1cHBvcnQvbnNtL3JwYy5jCisrKysgbmZzLXV0aWxzLTIuMy4zL3N1cHBvcnQvbnNtL3JwYy5jCitAQCAtMTgyLDcgKzE4Miw3IEBAIG5zbV94bWl0X2dldHBvcnQoY29uc3QgaW50IHNvY2ssIGNvbnN0IHMKKyAJdWludDMyX3QgeGlkOworIAlYRFIgeGRyOworIAorLQl4bG9nKERfQ0FMTCwgIlNlbmRpbmcgUE1BUF9HRVRQT1JUIGZvciAldSwgJXUsIHVkcCIsIHByb2dyYW0sIHZlcnNpb24pOworKwl4bG9nKERfQ0FMTCwgIlNlbmRpbmcgUE1BUF9HRVRQT1JUIGZvciAlbHUsICVsdSwgdWRwIiwgcHJvZ3JhbSwgdmVyc2lvbik7CisgCisgCW5zbV9pbml0X3hkcm1lbShtc2didWYsIE5TTV9NQVhNU0dTSVpFLCAmeGRyKTsKKyAJeGlkID0gbnNtX2luaXRfcnBjX2hlYWRlcihQTUFQUFJPRywgUE1BUFZFUlMsCitJbmRleDogbmZzLXV0aWxzLTIuMy4zL3V0aWxzL21vdW50ZC9jYWNoZS5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbmZzLXV0aWxzLTIuMy4zLm9yaWcvdXRpbHMvbW91bnRkL2NhY2hlLmMKKysrKyBuZnMtdXRpbHMtMi4zLjMvdXRpbHMvbW91bnRkL2NhY2hlLmMKK0BAIC05NjgsOCArOTY4LDcgQEAgbG9va3VwX2V4cG9ydChjaGFyICpkb20sIGNoYXIgKnBhdGgsIHN0cgorIAkJCX0gZWxzZSBpZiAoZm91bmRfdHlwZSA9PSBpICYmIGZvdW5kLT5tX3dhcm5lZCA9PSAwKSB7CisgCQkJCXhsb2coTF9XQVJOSU5HLCAiJXMgZXhwb3J0ZWQgdG8gYm90aCAlcyBhbmQgJXMsICIKKyAJCQkJICAgICAiYXJiaXRyYXJpbHkgY2hvb3Npbmcgb3B0aW9ucyBmcm9tIGZpcnN0IiwKKy0JCQkJICAgICBwYXRoLCBmb3VuZC0+bV9jbGllbnQtPm1faG9zdG5hbWUsIGV4cC0+bV9jbGllbnQtPm1faG9zdG5hbWUsCistCQkJCSAgICAgZG9tKTsKKysJCQkJICAgICBwYXRoLCBmb3VuZC0+bV9jbGllbnQtPm1faG9zdG5hbWUsIGV4cC0+bV9jbGllbnQtPm1faG9zdG5hbWUpOworIAkJCQlmb3VuZC0+bV93YXJuZWQgPSAxOworIAkJCX0KKyAJCX0KK0luZGV4OiBuZnMtdXRpbHMtMi4zLjMvdXRpbHMvbW91bnRkL21vdW50ZC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbmZzLXV0aWxzLTIuMy4zLm9yaWcvdXRpbHMvbW91bnRkL21vdW50ZC5jCisrKysgbmZzLXV0aWxzLTIuMy4zL3V0aWxzL21vdW50ZC9tb3VudGQuYworQEAgLTIxMyw3ICsyMTMsNyBAQCBzdGF0aWMgdm9pZAorIHNpZ19odXAgKGludCBzaWcpCisgeworIAkvKiBkb24ndCBleGl0IG9uIFNJR0hVUCAqLworLQl4bG9nIChMX05PVElDRSwgIlJlY2VpdmVkIFNJR0hVUC4uLiBJZ25vcmluZy5cbiIsIHNpZyk7CisrCXhsb2cgKExfTk9USUNFLCAiUmVjZWl2ZWQgU0lHSFVQKCVkKS4uLiBJZ25vcmluZy5cbiIsIHNpZyk7CisgCXJldHVybjsKKyB9CisgCitJbmRleDogbmZzLXV0aWxzLTIuMy4zL3V0aWxzL3N0YXRkL3JtdGNhbGwuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIG5mcy11dGlscy0yLjMuMy5vcmlnL3V0aWxzL3N0YXRkL3JtdGNhbGwuYworKysrIG5mcy11dGlscy0yLjMuMy91dGlscy9zdGF0ZC9ybXRjYWxsLmMKK0BAIC0yNDcsNyArMjQ3LDcgQEAgcHJvY2Vzc19yZXBseShGRF9TRVRfVFlQRSAqcmZkcykKKyAJCXhsb2dfd2FybigiJXM6IHNlcnZpY2UgJWQgbm90IHJlZ2lzdGVyZWQgb24gbG9jYWxob3N0IiwKKyAJCQlfX2Z1bmNfXywgTkxfTVlfUFJPRyhscCkpOworIAl9IGVsc2UgeworLQkJeGxvZyhEX0dFTkVSQUwsICIlczogQ2FsbGJhY2sgdG8gJXMgKGZvciAlZCkgc3VjY2VlZGVkIiwKKysJCXhsb2coRF9HRU5FUkFMLCAiJXM6IENhbGxiYWNrIHRvICVzIChmb3IgJXMpIHN1Y2NlZWRlZCIsCisgCQkJX19mdW5jX18sIE5MX01ZX05BTUUobHApLCBOTF9NT05fTkFNRShscCkpOworIAl9CisgCW5saXN0X2ZyZWUoJm5vdGlmeSwgbHApOworSW5kZXg6IG5mcy11dGlscy0yLjMuMy91dGlscy9zdGF0ZC9zdmNfcnVuLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBuZnMtdXRpbHMtMi4zLjMub3JpZy91dGlscy9zdGF0ZC9zdmNfcnVuLmMKKysrKyBuZnMtdXRpbHMtMi4zLjMvdXRpbHMvc3RhdGQvc3ZjX3J1bi5jCitAQCAtNTMsNiArNTMsNyBAQAorIAorICNpbmNsdWRlIDxlcnJuby5oPgorICNpbmNsdWRlIDx0aW1lLmg+CisrI2luY2x1ZGUgPGludHR5cGVzLmg+CisgI2luY2x1ZGUgInN0YXRkLmgiCisgI2luY2x1ZGUgIm5vdGxpc3QuaCIKKyAKK0BAIC0xMDQsOCArMTA1LDggQEAgbXlfc3ZjX3J1bihpbnQgc29ja2ZkKQorIAorIAkJCXR2LnR2X3NlYyAgPSBOTF9XSEVOKG5vdGlmeSkgLSBub3c7CisgCQkJdHYudHZfdXNlYyA9IDA7CistCQkJeGxvZyhEX0dFTkVSQUwsICJXYWl0aW5nIGZvciByZXBseS4uLiAodGltZW8gJWQpIiwKKy0JCQkJCQkJdHYudHZfc2VjKTsKKysJCQl4bG9nKERfR0VORVJBTCwgIldhaXRpbmcgZm9yIHJlcGx5Li4uICh0aW1lbyAlamQpIiwKKysJCQkJCQkJKGludG1heF90KXR2LnR2X3NlYyk7CisgCQkJc2VscmV0ID0gc2VsZWN0KEZEX1NFVFNJWkUsICZyZWFkZmRzLAorIAkJCQkodm9pZCAqKSAwLCAodm9pZCAqKSAwLCAmdHYpOworIAkJfSBlbHNlIHsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzL25mcy11dGlscy1Eby1ub3QtcGFzcy1DRkxBR1MtdG8tZ2NjLXdoaWxlLWJ1aWxkaW5nLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvbmZzLXV0aWxzLURvLW5vdC1wYXNzLUNGTEFHUy10by1nY2Mtd2hpbGUtYnVpbGRpbmcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk5M2YxZTUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvbmZzLXV0aWxzLURvLW5vdC1wYXNzLUNGTEFHUy10by1nY2Mtd2hpbGUtYnVpbGRpbmcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi1uZnMtdXRpbHM6IERvIG5vdCBwYXNzIENGTEFHUyB0byBnY2Mgd2hpbGUgYnVpbGRpbmcKLQotRG8gbm90IHBhc3MgQ0ZMQUdTL0xERkxBR1MgdG8gZ2NjIHdoaWxlIGJ1aWxkaW5nLCBUaGUgbmVlZGVkIGZsYWdzIGhhcwotYmVlbiBwYXNzZWQgYnkgeHh4X0NGTEFHUz0kKENGTEFHU19GT1JfQlVJTEQpLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogQ2hvbmcgTHUgPENob25nLkx1QHdpbmRyaXZlci5jb20+Ci0tLS0KLSB0b29scy9sb2NrdGVzdC9NYWtlZmlsZS5hbSB8ICAgIDIgKysKLSB0b29scy9ycGNnZW4vTWFrZWZpbGUuYW0gICB8ICAgIDIgKysKLSAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvdG9vbHMvbG9ja3Rlc3QvTWFrZWZpbGUuYW0gYi90b29scy9sb2NrdGVzdC9NYWtlZmlsZS5hbQotaW5kZXggMzE1NjgxNS4uMTcyOWZkMSAxMDA2NDQKLS0tLSBhL3Rvb2xzL2xvY2t0ZXN0L01ha2VmaWxlLmFtCi0rKysgYi90b29scy9sb2NrdGVzdC9NYWtlZmlsZS5hbQotQEAgLTEsNiArMSw4IEBACi0gIyMgUHJvY2VzcyB0aGlzIGZpbGUgd2l0aCBhdXRvbWFrZSB0byBwcm9kdWNlIE1ha2VmaWxlLmluCi0gCi0gQ0M9JChDQ19GT1JfQlVJTEQpCi0rQ0ZMQUdTPQotK0xERkxBR1M9Ci0gTElCVE9PTCA9IEBMSUJUT09MQCAtLXRhZz1DQwotIAotIG5vaW5zdF9QUk9HUkFNUyA9IHRlc3RsawotZGlmZiAtLWdpdCBhL3Rvb2xzL3JwY2dlbi9NYWtlZmlsZS5hbSBiL3Rvb2xzL3JwY2dlbi9NYWtlZmlsZS5hbQotaW5kZXggOGE5ZWM4OS4uOGJhY2RhYSAxMDA2NDQKLS0tLSBhL3Rvb2xzL3JwY2dlbi9NYWtlZmlsZS5hbQotKysrIGIvdG9vbHMvcnBjZ2VuL01ha2VmaWxlLmFtCi1AQCAtMSw2ICsxLDggQEAKLSAjIyBQcm9jZXNzIHRoaXMgZmlsZSB3aXRoIGF1dG9tYWtlIHRvIHByb2R1Y2UgTWFrZWZpbGUuaW4KLSAKLSBDQz0kKENDX0ZPUl9CVUlMRCkKLStDRkxBR1M9Ci0rTERGTEFHUz0KLSBMSUJUT09MID0gQExJQlRPT0xAIC0tdGFnPUNDCi0gCi0gbm9pbnN0X1BST0dSQU1TID0gcnBjZ2VuCi0tLSAKLTEuNy45LjUKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvbmZzLXV0aWxzLW11c2wtcmVzX3F1ZXJ5ZG9tYWluLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvbmZzLXV0aWxzLW11c2wtcmVzX3F1ZXJ5ZG9tYWluLnBhdGNoCmluZGV4IGExNjllNmEuLjIyMDAyZmEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzL25mcy11dGlscy1tdXNsLXJlc19xdWVyeWRvbWFpbi5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmZzLXV0aWxzL25mcy11dGlscy9uZnMtdXRpbHMtbXVzbC1yZXNfcXVlcnlkb21haW4ucGF0Y2gKQEAgLTEsMTcgKzEsMjQgQEAKK0Zyb20gY2FhMTkyMzExOTZkNzM1NDE0NDU3MjhlNjgxM2M4ZmE3MDM0NWFjYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAyNiBKdW4gMjAxOCAxNTo1OTowMCArMDgwMAorU3ViamVjdDogW1BBVENIXSBuZnMtdXRpbHM6IDIuMS4xIC0+IDIuMy4xCisKIEZpeGVkOgogY29uZmlndXJlOiBlcnJvcjogcmVzX3F1ZXJ5ZG9tYWluIG5lZWRlZAogCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcgW2h0dHBzOi8vZ2l0LmFscGluZWxpbnV4Lm9yZy9jZ2l0L2Fwb3J0cy90cmVlL21haW4vbmZzLXV0aWxzL211c2wtcmVzX3F1ZXJ5ZG9tYWluLnBhdGNoP2lkPWY2NzM0YTc3ZDNjYWVlNzMzMjVmOGNjMWY3N2QxYjUxMTdhNzUwOTZdCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcgW2h0dHBzOi8vZ2l0aHViLmNvbS9hbHBpbmVsaW51eC9hcG9ydHMvYmxvYi9tYXN0ZXIvbWFpbi9uZnMtdXRpbHMvbXVzbC1jb25maWd1cmVfYWMucGF0Y2hdCiAKIFNpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgorCiAtLS0KLSBjb25maWd1cmUuYWMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisgY29uZmlndXJlLmFjIHwgMTMgKysrKysrLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDI3NmRlYzMuLjc2MDIzOGIgMTAwNjQ0CiAtLS0gYS9jb25maWd1cmUuYWMKICsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTQwMSw3ICs0MDEsNyBAQCBpZiB0ZXN0ICIkZW5hYmxlX2dzcyIgPSB5ZXM7IHRoZW4KK0BAIC00MDgsNyArNDA4LDcgQEAgaWYgdGVzdCAiJGVuYWJsZV9nc3MiID0geWVzOyB0aGVuCiAgZmkKICAKICBkbmwgbGliZG5zaWRtYXAgc3BlY2lmaWMgY2hlY2tzCkBAIC0yMCwzICsyNywzMSBAQAogIAogIEFDX0FSR19FTkFCTEUoW2xkYXBdLAogIAlbQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1sZGFwXSxbRGlzYWJsZSBzdXBwb3J0IGZvciBMREFQIEA8OmRlZmF1bHQ9ZGV0ZWN0QDo+QF0pXSkKK0BAIC01NDcsMTEgKzU0NywxMSBAQCBteV9hbV9jZmxhZ3M9IlwKKyAgLXBpcGUgXAorICAtV2FsbCBcCisgIC1XZXh0cmEgXAorLSAtV2Vycm9yPXN0cmljdC1wcm90b3R5cGVzIFwKKy0gLVdlcnJvcj1taXNzaW5nLXByb3RvdHlwZXMgXAorLSAtV2Vycm9yPW1pc3NpbmctZGVjbGFyYXRpb25zIFwKKysgLVdzdHJpY3QtcHJvdG90eXBlcyBcCisrIC1XbWlzc2luZy1wcm90b3R5cGVzIFwKKysgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyBcCisgIC1XZXJyb3I9Zm9ybWF0PTIgXAorLSAtV2Vycm9yPXVuZGVmIFwKKysgLVd1bmRlZiBcCisgIC1XZXJyb3I9bWlzc2luZy1pbmNsdWRlLWRpcnMgXAorICAtV2Vycm9yPXN0cmljdC1hbGlhc2luZz0yIFwKKyAgLVdlcnJvcj1pbml0LXNlbGYgXAorQEAgLTU3OSwxMCArNTc5LDkgQEAgQUNfREVGVU4oW0NIRUNLX0NDU1VQUE9SVF0sIFsKKyAKKyBDSEVDS19DQ1NVUFBPUlQoWy1XZXJyb3I9Zm9ybWF0LW92ZXJmbG93PTJdLCBbZmxnMV0pCisgQ0hFQ0tfQ0NTVVBQT1JUKFstV2Vycm9yPWludC1jb252ZXJzaW9uXSwgW2ZsZzJdKQorLUNIRUNLX0NDU1VQUE9SVChbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10sIFtmbGczXSkKKyBDSEVDS19DQ1NVUFBPUlQoWy1XZXJyb3I9bWlzbGVhZGluZy1pbmRlbnRhdGlvbl0sIFtmbGc0XSkKKyAKKy1BQ19TVUJTVChbQU1fQ0ZMQUdTXSwgWyIkbXlfYW1fY2ZsYWdzICRmbGcxICRmbGcyICRmbGczICRmbGc0Il0pCisrQUNfU1VCU1QoW0FNX0NGTEFHU10sIFsiJG15X2FtX2NmbGFncyAkZmxnMSAkZmxnMiAkZmxnNCJdKQorIAorICMgTWFrZSBzdXJlIHRoYXQgJEFDTE9DQUxfRkxBR1MgYXJlIHVzZWQgZHVyaW5nIGEgcmVidWlsZAorIEFDX1NVQlNUKFtBQ0xPQ0FMX0FNRkxBR1NdLCBbIi1JICRhY19tYWNyb19kaXIgXCQoQUNMT0NBTF9GTEFHUykiXSkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzXzIuMy4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHNfMi4zLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkNDUwYzcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHNfMi4zLjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNTEgKzAsMCBAQAotU1VNTUFSWSA9ICJ1c2Vyc3BhY2UgdXRpbGl0aWVzIGZvciBrZXJuZWwgbmZzIgotREVTQ1JJUFRJT04gPSAiVGhlIG5mcy11dGlscyBwYWNrYWdlIHByb3ZpZGVzIGEgZGFlbW9uIGZvciB0aGUga2VybmVsIFwKLU5GUyBzZXJ2ZXIgYW5kIHJlbGF0ZWQgdG9vbHMuIgotSE9NRVBBR0UgPSAiaHR0cDovL25mcy5zb3VyY2Vmb3JnZS5uZXQvIgotU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCi0KLUxJQ0VOU0UgPSAiTUlUICYgR1BMdjIrICYgQlNEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTVmM2E5M2E1YzNjNzg4OGRlNjIzYjQ2ZWEwODVhODQiCi0KLSMgdXRpbC1saW51eCBmb3IgbGliYmxraWQKLURFUEVORFMgPSAibGliY2FwIGxpYmV2ZW50IHV0aWwtbGludXggc3FsaXRlMyBsaWJ0aXJwYyIKLVJERVBFTkRTXyR7UE59ID0gIiR7UE59LWNsaWVudCBiYXNoIgotUlJFQ09NTUVORFNfJHtQTn0gPSAia2VybmVsLW1vZHVsZS1uZnNkIgotCi1pbmhlcml0IHVzZXJhZGQKLQotVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfS1jbGllbnQiCi1VU0VSQUREX1BBUkFNXyR7UE59LWNsaWVudCA9ICItLXN5c3RlbSAgLS1ob21lLWRpciAvdmFyL2xpYi9uZnMgXAotCQkJICAgICAgLS1zaGVsbCAvYmluL2ZhbHNlIC0tdXNlci1ncm91cCBycGN1c2VyIgotCi1TUkNfVVJJID0gIiR7S0VSTkVMT1JHX01JUlJPUn0vbGludXgvdXRpbHMvbmZzLXV0aWxzLyR7UFZ9L25mcy11dGlscy0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vbmZzc2VydmVyIFwKLSAgICAgICAgICAgZmlsZTovL25mc2NvbW1vbiBcCi0gICAgICAgICAgIGZpbGU6Ly9uZnMtdXRpbHMuY29uZiBcCi0gICAgICAgICAgIGZpbGU6Ly9uZnMtc2VydmVyLnNlcnZpY2UgXAotICAgICAgICAgICBmaWxlOi8vbmZzLW1vdW50ZC5zZXJ2aWNlIFwKLSAgICAgICAgICAgZmlsZTovL25mcy1zdGF0ZC5zZXJ2aWNlIFwKLSAgICAgICAgICAgZmlsZTovL3Byb2MtZnMtbmZzZC5tb3VudCBcCi0gICAgICAgICAgIGZpbGU6Ly9uZnMtdXRpbHMtRG8tbm90LXBhc3MtQ0ZMQUdTLXRvLWdjYy13aGlsZS1idWlsZGluZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9uZnMtdXRpbHMtZGViaWFuaXplLXN0YXJ0LXN0YXRkLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2J1Z2ZpeC1hZGp1c3Qtc3RhdGQtc2VydmljZS1uYW1lLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL25mcy11dGlscy1tdXNsLWxpbWl0cy5wYXRjaCBcCi0iCi0KLVNSQ19VUklfYXBwZW5kX2xpYmMtbXVzbCA9ICIgZmlsZTovL25mcy11dGlscy1tdXNsLXJlc19xdWVyeWRvbWFpbi5wYXRjaCIKLQotU1JDX1VSSVttZDVzdW1dID0gImQ3N2IxODJhOWVlMzk2YWE2MjIxYWMyNDAxYWQ3MDQ2IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk2ZDA2YjVhODZiMTg1ODE1NzYwZDhmMDRjMzRmZGZhY2U4ZmE4Yjk5NDlmZjI1NmFjMDVjM2ViYzA4MzM1YTUiCi0KLSMgT25seSBrZXJuZWwtbW9kdWxlLW5mc2QgaXMgcmVxdWlyZWQgaGVyZSAoYnV0IGNhbiBiZSBidWlsdC1pbikgIC0gdGhlIG5mc2QgbW9kdWxlIHdpbGwKLSMgcHVsbCBpbiB0aGUgcmVtYWluZGVyIG9mIHRoZSBkZXBlbmRlbmNpZXMuCi0KLUlOSVRTQ1JJUFRfUEFDS0FHRVMgPSAiJHtQTn0gJHtQTn0tY2xpZW50IgotSU5JVFNDUklQVF9OQU1FID0gIm5mc3NlcnZlciIKLUlOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIgotSU5JVFNDUklQVF9OQU1FXyR7UE59LWNsaWVudCA9ICJuZnNjb21tb24iCi1JTklUU0NSSVBUX1BBUkFNU18ke1BOfS1jbGllbnQgPSAiZGVmYXVsdHMgMTkgMjEiCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCB1cGRhdGUtcmMuZCBzeXN0ZW1kIHBrZ2NvbmZpZwotCi1TWVNURU1EX1BBQ0tBR0VTID0gIiR7UE59ICR7UE59LWNsaWVudCIKLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJuZnMtc2VydmVyLnNlcnZpY2UgbmZzLW1vdW50ZC5zZXJ2aWNlIgotU1lTVEVNRF9TRVJWSUNFXyR7UE59LWNsaWVudCA9ICJuZnMtc3RhdGQuc2VydmljZSIKLQotIyAtLWVuYWJsZS11dWlkIGlzIG5lZWQgZm9yIGNyb3NzLWNvbXBpbGluZwotRVhUUkFfT0VDT05GID0gIi0td2l0aC1zdGF0ZHVzZXI9cnBjdXNlciBcCi0gICAgICAgICAgICAgICAgLS1lbmFibGUtbW91bnRjb25maWcgXAotICAgICAgICAgICAgICAgIC0tZW5hYmxlLWxpYm1vdW50LW1vdW50IFwKLSAgICAgICAgICAgICAgICAtLWVuYWJsZS11dWlkIFwKLSAgICAgICAgICAgICAgICAtLWRpc2FibGUtZ3NzIFwKLSAgICAgICAgICAgICAgICAtLWRpc2FibGUtbmZzZGNsdHJhY2sgXAotICAgICAgICAgICAgICAgIC0td2l0aC1zdGF0ZHBhdGg9L3Zhci9saWIvbmZzL3N0YXRkIFwKLSAgICAgICAgICAgICAgICIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gInRjcC13cmFwcGVycyBcCi0gICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsIGQpfSBcCi0iCi1QQUNLQUdFQ09ORklHX3JlbW92ZV9saWJjLW11c2wgPSAidGNwLXdyYXBwZXJzIgotUEFDS0FHRUNPTkZJR1t0Y3Atd3JhcHBlcnNdID0gIi0td2l0aC10Y3Atd3JhcHBlcnMsLS13aXRob3V0LXRjcC13cmFwcGVycyx0Y3Atd3JhcHBlcnMiCi1QQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYsIgotIyBsaWJkZXZtYXBwZXIgaXMgYXZhaWxhYmxlIGluIG1ldGEtb2UKLVBBQ0tBR0VDT05GSUdbbmZzdjQxXSA9ICItLWVuYWJsZS1uZnN2NDEsLS1kaXNhYmxlLW5mc3Y0MSxsaWJkZXZtYXBwZXIiCi0jIGtleXV0aWxzIGlzIGF2YWlsYWJsZSBpbiBtZXRhLXNlY3VyaXR5Ci1QQUNLQUdFQ09ORklHW25mc3Y0XSA9ICItLWVuYWJsZS1uZnN2NCwtLWRpc2FibGUtbmZzdjQsa2V5dXRpbHMiCi0KLVBBQ0tBR0VTID0rICIke1BOfS1jbGllbnQgJHtQTn0tbW91bnQgJHtQTn0tc3RhdHMiCi0KLUNPTkZGSUxFU18ke1BOfS1jbGllbnQgKz0gIiR7bG9jYWxzdGF0ZWRpcn0vbGliL25mcy9ldGFiIFwKLQkJCSAgICR7bG9jYWxzdGF0ZWRpcn0vbGliL25mcy9ybXRhYiBcCi0JCQkgICAke2xvY2Fsc3RhdGVkaXJ9L2xpYi9uZnMveHRhYiBcCi0JCQkgICAke2xvY2Fsc3RhdGVkaXJ9L2xpYi9uZnMvc3RhdGQvc3RhdGUgXAotCQkJICAgJHtzeXNjb25mZGlyfS9uZnNtb3VudC5jb25mIgotCi1GSUxFU18ke1BOfS1jbGllbnQgPSAiJHtzYmluZGlyfS8qc3RhdGQgXAotCQkgICAgICAke3NiaW5kaXJ9L3JwYy5pZG1hcGQgJHtzYmluZGlyfS9zbS1ub3RpZnkgXAotCQkgICAgICAke3NiaW5kaXJ9L3Nob3dtb3VudCAke3NiaW5kaXJ9L25mc3N0YXQgXAotCQkgICAgICAke2xvY2Fsc3RhdGVkaXJ9L2xpYi9uZnMgXAotCQkgICAgICAke3N5c2NvbmZkaXJ9L25mcy11dGlscy5jb25mIFwKLQkJICAgICAgJHtzeXNjb25mZGlyfS9uZnNtb3VudC5jb25mIFwKLQkJICAgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvbmZzY29tbW9uIFwKLQkJICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9uZnMtc3RhdGQuc2VydmljZSIKLVJERVBFTkRTXyR7UE59LWNsaWVudCA9ICIke1BOfS1tb3VudCBycGNiaW5kIgotCi1GSUxFU18ke1BOfS1tb3VudCA9ICIke2Jhc2Vfc2JpbmRpcn0vKm1vdW50Lm5mcyoiCi0KLUZJTEVTXyR7UE59LXN0YXRzID0gIiR7c2JpbmRpcn0vbW91bnRzdGF0cyAke3NiaW5kaXJ9L25mc2lvc3RhdCIKLVJERVBFTkRTXyR7UE59LXN0YXRzID0gInB5dGhvbjMtY29yZSIKLQotRklMRVNfJHtQTn0gKz0gIiR7c3lzdGVtZF91bml0ZGlyfSIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7Ci0gICAgICAgIHNlZCAtaSAtZSAncyxzYmluZGlyID0gL3NiaW4sc2JpbmRpciA9ICR7YmFzZV9zYmluZGlyfSxnJyBcCi0gICAgICAgICAgICAke1N9L3V0aWxzL21vdW50L01ha2VmaWxlLmFtCi0KLSAgICAgICAgc2VkIC1pIC1lICdzLHNiaW5kaXIgPSAvc2JpbixzYmluZGlyID0gJHtiYXNlX3NiaW5kaXJ9LGcnIFwKLSAgICAgICAgICAgICR7U30vdXRpbHMvb3NkX2xvZ2luL01ha2VmaWxlLmFtCi19Ci0KLSMgTWFrZSBjbGVhbiBuZWVkZWQgYmVjYXVzZSB0aGUgcGFja2FnZSBjb21lcyB3aXRoCi0jIHByZWNvbXBpbGVkIDY0LWJpdCBvYmplY3RzIHRoYXQgYnJlYWsgdGhlIGJ1aWxkCi1kb19jb21waWxlX3ByZXBlbmQoKSB7Ci0JbWFrZSBjbGVhbgotfQotCi1kb19pbnN0YWxsX2FwcGVuZCAoKSB7Ci0JaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKLQlpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9uZnNzZXJ2ZXIgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL25mc3NlcnZlcgotCWluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L25mc2NvbW1vbiAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbmZzY29tbW9uCi0KLQlpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9uZnMtdXRpbHMuY29uZiAke0R9JHtzeXNjb25mZGlyfQotCWluc3RhbGwgLW0gMDc1NSAke1N9L3V0aWxzL21vdW50L25mc21vdW50LmNvbmYgJHtEfSR7c3lzY29uZmRpcn0KLQotCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLQlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9uZnMtc2VydmVyLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCi0JaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbmZzLW1vdW50ZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLwotCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L25mcy1zdGF0ZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLwotCXNlZCAtaSAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyBcCi0JCS1lICdzLEBTWVNDT05GRElSQCwke3N5c2NvbmZkaXJ9LGcnIFwKLQkJJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vKi5zZXJ2aWNlCi0JaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgotCSAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9wcm9jLWZzLW5mc2QubW91bnQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCi0JICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc3lzaW5pdC50YXJnZXQud2FudHMvCi0JICAgIGxuIC1zZiAuLi9wcm9jLWZzLW5mc2QubW91bnQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc3lzaW5pdC50YXJnZXQud2FudHMvcHJvYy1mcy1uZnNkLm1vdW50Ci0JZmkKLQotCSMga2VybmVsIGNvZGUgYXMgb2YgMy44IGhhcmQtY29kZXMgdGhpcyBwYXRoIGFzIGEgZGVmYXVsdAotCWluc3RhbGwgLWQgJHtEfS92YXIvbGliL25mcy92NHJlY292ZXJ5Ci0KLQkjIGNob3duIHRoZSBkaXJlY3RvcmllcyBhbmQgZmlsZXMKLQljaG93biAtUiBycGN1c2VyOnJwY3VzZXIgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliL25mcy9zdGF0ZAotCWNobW9kIDA2NDQgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliL25mcy9zdGF0ZC9zdGF0ZQotCi0JIyB0aGUgZm9sbG93aW5nIGFyZSBidWlsdCBieSBDQ19GT1JfQlVJTEQKLQlybSAtZiAke0R9JHtzYmluZGlyfS9ycGNkZWJ1ZwotCXJtIC1mICR7RH0ke3NiaW5kaXJ9L3JwY2dlbgotCXJtIC1mICR7RH0ke3NiaW5kaXJ9L2xvY2t0ZXN0Ci0KLSAgICAgICAgIyBNYWtlIHB5dGhvbiB0b29scyB1c2UgcHl0aG9uIDMKLSAgICAgICAgc2VkIC1pIC1lICcxcywjIS4qcHl0aG9uLiosIyEke2JpbmRpcn0vcHl0aG9uMywnICR7RH0ke3NiaW5kaXJ9L21vdW50c3RhdHMgJHtEfSR7c2JpbmRpcn0vbmZzaW9zdGF0Ci0KLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzXzIuMy4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHNfMi4zLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWM0NDM3YgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzXzIuMy4zLmJiCkBAIC0wLDAgKzEsMTUzIEBACitTVU1NQVJZID0gInVzZXJzcGFjZSB1dGlsaXRpZXMgZm9yIGtlcm5lbCBuZnMiCitERVNDUklQVElPTiA9ICJUaGUgbmZzLXV0aWxzIHBhY2thZ2UgcHJvdmlkZXMgYSBkYWVtb24gZm9yIHRoZSBrZXJuZWwgXAorTkZTIHNlcnZlciBhbmQgcmVsYXRlZCB0b29scy4iCitIT01FUEFHRSA9ICJodHRwOi8vbmZzLnNvdXJjZWZvcmdlLm5ldC8iCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKKworTElDRU5TRSA9ICJNSVQgJiBHUEx2MisgJiBCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NWYzYTkzYTVjM2M3ODg4ZGU2MjNiNDZlYTA4NWE4NCIKKworIyB1dGlsLWxpbnV4IGZvciBsaWJibGtpZAorREVQRU5EUyA9ICJsaWJjYXAgbGliZXZlbnQgdXRpbC1saW51eCBzcWxpdGUzIGxpYnRpcnBjIgorUkRFUEVORFNfJHtQTn0gPSAiJHtQTn0tY2xpZW50IGJhc2giCitSUkVDT01NRU5EU18ke1BOfSA9ICJrZXJuZWwtbW9kdWxlLW5mc2QiCisKK2luaGVyaXQgdXNlcmFkZAorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59LWNsaWVudCIKK1VTRVJBRERfUEFSQU1fJHtQTn0tY2xpZW50ID0gIi0tc3lzdGVtICAtLWhvbWUtZGlyIC92YXIvbGliL25mcyBcCisJCQkgICAgICAtLXNoZWxsIC9iaW4vZmFsc2UgLS11c2VyLWdyb3VwIHJwY3VzZXIiCisKK1NSQ19VUkkgPSAiJHtLRVJORUxPUkdfTUlSUk9SfS9saW51eC91dGlscy9uZnMtdXRpbHMvJHtQVn0vbmZzLXV0aWxzLSR7UFZ9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly9uZnNzZXJ2ZXIgXAorICAgICAgICAgICBmaWxlOi8vbmZzY29tbW9uIFwKKyAgICAgICAgICAgZmlsZTovL25mcy11dGlscy5jb25mIFwKKyAgICAgICAgICAgZmlsZTovL25mcy1zZXJ2ZXIuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9uZnMtbW91bnRkLnNlcnZpY2UgXAorICAgICAgICAgICBmaWxlOi8vbmZzLXN0YXRkLnNlcnZpY2UgXAorICAgICAgICAgICBmaWxlOi8vcHJvYy1mcy1uZnNkLm1vdW50IFwKKyAgICAgICAgICAgZmlsZTovL25mcy11dGlscy1kZWJpYW5pemUtc3RhcnQtc3RhdGQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYnVnZml4LWFkanVzdC1zdGF0ZC1zZXJ2aWNlLW5hbWUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbmZzLXV0aWxzLW11c2wtbGltaXRzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtY2FjaGVpby11c2UtaW50bWF4X3QtZm9yLWZvcm1hdHRlZC1JTy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC1wYXNzLW51bGwtcG9pbnRlci10by1mcmVlYWRkcmluZm8ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vY2xhbmctZm9ybWF0LXN0cmluZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLU1ha2VmaWxlLmFtLXVwZGF0ZS10aGUtcGF0aC1vZi1saWJuZnMuYS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLU1ha2VmaWxlLmFtLWZpeC11bmRlZmluZWQtZnVuY3Rpb24tZm9yLWxpYm5zbS5hLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRG9uLXQtYnVpbGQtdG9vbHMtd2l0aC1DQ19GT1JfQlVJTEQucGF0Y2ggXAorIgorU1JDX1VSSV9hcHBlbmRfbGliYy1nbGliYyA9ICIgZmlsZTovLzAwMDEtY29uZmlndXJlLmFjLURvLW5vdC1mYXRhbGl6ZS1XbWlzc2luZy1wcm90b3R5cGVzLnBhdGNoIgorU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsID0gIiBmaWxlOi8vbmZzLXV0aWxzLW11c2wtcmVzX3F1ZXJ5ZG9tYWluLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYjZjOWMwMzI5OTVhZjFjMDhmZWE5ZmJjYzFjZTMzZTkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjY4YjM0NzkzODMxYjA1ZjFmZDU3NjBkNmJkZWM5Mjc3MmM3Njg0MTc3NTg2YTk5YTYxZTdiNDQ0ZjMzNjMyMiIKKworIyBPbmx5IGtlcm5lbC1tb2R1bGUtbmZzZCBpcyByZXF1aXJlZCBoZXJlIChidXQgY2FuIGJlIGJ1aWx0LWluKSAgLSB0aGUgbmZzZCBtb2R1bGUgd2lsbAorIyBwdWxsIGluIHRoZSByZW1haW5kZXIgb2YgdGhlIGRlcGVuZGVuY2llcy4KKworSU5JVFNDUklQVF9QQUNLQUdFUyA9ICIke1BOfSAke1BOfS1jbGllbnQiCitJTklUU0NSSVBUX05BTUUgPSAibmZzc2VydmVyIgorSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMiCitJTklUU0NSSVBUX05BTUVfJHtQTn0tY2xpZW50ID0gIm5mc2NvbW1vbiIKK0lOSVRTQ1JJUFRfUEFSQU1TXyR7UE59LWNsaWVudCA9ICJkZWZhdWx0cyAxOSAyMSIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHVwZGF0ZS1yYy5kIHN5c3RlbWQgcGtnY29uZmlnCisKK1NZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0gJHtQTn0tY2xpZW50IgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIm5mcy1zZXJ2ZXIuc2VydmljZSBuZnMtbW91bnRkLnNlcnZpY2UiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0tY2xpZW50ID0gIm5mcy1zdGF0ZC5zZXJ2aWNlIgorCisjIC0tZW5hYmxlLXV1aWQgaXMgbmVlZCBmb3IgY3Jvc3MtY29tcGlsaW5nCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLXN0YXRkdXNlcj1ycGN1c2VyIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1tb3VudGNvbmZpZyBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtbGlibW91bnQtbW91bnQgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLXV1aWQgXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1nc3MgXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1uZnNkY2x0cmFjayBcCisgICAgICAgICAgICAgICAgLS13aXRoLXN0YXRkcGF0aD0vdmFyL2xpYi9uZnMvc3RhdGQgXAorICAgICAgICAgICAgICAgIgorCitDRkxBR1MgKz0gIi1Xbm8tZXJyb3I9Zm9ybWF0LW92ZXJmbG93IgorCitQQUNLQUdFQ09ORklHID8/PSAidGNwLXdyYXBwZXJzIFwKKyAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgZCl9IFwKKyIKK1BBQ0tBR0VDT05GSUdfcmVtb3ZlX2xpYmMtbXVzbCA9ICJ0Y3Atd3JhcHBlcnMiCitQQUNLQUdFQ09ORklHW3RjcC13cmFwcGVyc10gPSAiLS13aXRoLXRjcC13cmFwcGVycywtLXdpdGhvdXQtdGNwLXdyYXBwZXJzLHRjcC13cmFwcGVycyIKK1BBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiwiCisjIGxpYmRldm1hcHBlciBpcyBhdmFpbGFibGUgaW4gbWV0YS1vZQorUEFDS0FHRUNPTkZJR1tuZnN2NDFdID0gIi0tZW5hYmxlLW5mc3Y0MSwtLWRpc2FibGUtbmZzdjQxLGxpYmRldm1hcHBlciIKKyMga2V5dXRpbHMgaXMgYXZhaWxhYmxlIGluIG1ldGEtc2VjdXJpdHkKK1BBQ0tBR0VDT05GSUdbbmZzdjRdID0gIi0tZW5hYmxlLW5mc3Y0LC0tZGlzYWJsZS1uZnN2NCxrZXl1dGlscyIKKworUEFDS0FHRVMgPSsgIiR7UE59LWNsaWVudCAke1BOfS1tb3VudCAke1BOfS1zdGF0cyIKKworQ09ORkZJTEVTXyR7UE59LWNsaWVudCArPSAiJHtsb2NhbHN0YXRlZGlyfS9saWIvbmZzL2V0YWIgXAorCQkJICAgJHtsb2NhbHN0YXRlZGlyfS9saWIvbmZzL3JtdGFiIFwKKwkJCSAgICR7bG9jYWxzdGF0ZWRpcn0vbGliL25mcy94dGFiIFwKKwkJCSAgICR7bG9jYWxzdGF0ZWRpcn0vbGliL25mcy9zdGF0ZC9zdGF0ZSBcCisJCQkgICAke3N5c2NvbmZkaXJ9L25mc21vdW50LmNvbmYiCisKK0ZJTEVTXyR7UE59LWNsaWVudCA9ICIke3NiaW5kaXJ9LypzdGF0ZCBcCisJCSAgICAgICR7c2JpbmRpcn0vcnBjLmlkbWFwZCAke3NiaW5kaXJ9L3NtLW5vdGlmeSBcCisJCSAgICAgICR7c2JpbmRpcn0vc2hvd21vdW50ICR7c2JpbmRpcn0vbmZzc3RhdCBcCisJCSAgICAgICR7bG9jYWxzdGF0ZWRpcn0vbGliL25mcyBcCisJCSAgICAgICR7c3lzY29uZmRpcn0vbmZzLXV0aWxzLmNvbmYgXAorCQkgICAgICAke3N5c2NvbmZkaXJ9L25mc21vdW50LmNvbmYgXAorCQkgICAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9uZnNjb21tb24gXAorCQkgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL25mcy1zdGF0ZC5zZXJ2aWNlIgorUkRFUEVORFNfJHtQTn0tY2xpZW50ID0gIiR7UE59LW1vdW50IHJwY2JpbmQiCisKK0ZJTEVTXyR7UE59LW1vdW50ID0gIiR7YmFzZV9zYmluZGlyfS8qbW91bnQubmZzKiIKKworRklMRVNfJHtQTn0tc3RhdHMgPSAiJHtzYmluZGlyfS9tb3VudHN0YXRzICR7c2JpbmRpcn0vbmZzaW9zdGF0IgorUkRFUEVORFNfJHtQTn0tc3RhdHMgPSAicHl0aG9uMy1jb3JlIgorCitGSUxFU18ke1BOfSArPSAiJHtzeXN0ZW1kX3VuaXRkaXJ9IgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAgICAgc2VkIC1pIC1lICdzLHNiaW5kaXIgPSAvc2JpbixzYmluZGlyID0gJHtiYXNlX3NiaW5kaXJ9LGcnIFwKKyAgICAgICAgICAgICR7U30vdXRpbHMvbW91bnQvTWFrZWZpbGUuYW0KKworICAgICAgICBzZWQgLWkgLWUgJ3Msc2JpbmRpciA9IC9zYmluLHNiaW5kaXIgPSAke2Jhc2Vfc2JpbmRpcn0sZycgXAorICAgICAgICAgICAgJHtTfS91dGlscy9vc2RfbG9naW4vTWFrZWZpbGUuYW0KK30KKworIyBNYWtlIGNsZWFuIG5lZWRlZCBiZWNhdXNlIHRoZSBwYWNrYWdlIGNvbWVzIHdpdGgKKyMgcHJlY29tcGlsZWQgNjQtYml0IG9iamVjdHMgdGhhdCBicmVhayB0aGUgYnVpbGQKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKwltYWtlIGNsZWFuCit9CisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorCWluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L25mc3NlcnZlciAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbmZzc2VydmVyCisJaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vbmZzY29tbW9uICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9uZnNjb21tb24KKworCWluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L25mcy11dGlscy5jb25mICR7RH0ke3N5c2NvbmZkaXJ9CisJaW5zdGFsbCAtbSAwNzU1ICR7U30vdXRpbHMvbW91bnQvbmZzbW91bnQuY29uZiAke0R9JHtzeXNjb25mZGlyfQorCisJaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L25mcy1zZXJ2ZXIuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKwlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9uZnMtbW91bnRkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCisJaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbmZzLXN0YXRkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCisJc2VkIC1pIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnIFwKKwkJLWUgJ3MsQFNZU0NPTkZESVJALCR7c3lzY29uZmRpcn0sZycgXAorCQkke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8qLnNlcnZpY2UKKwlpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3RydWUnLCdmYWxzZScsZCl9OyB0aGVuCisJICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3Byb2MtZnMtbmZzZC5tb3VudCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKwkgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXNpbml0LnRhcmdldC53YW50cy8KKwkgICAgbG4gLXNmIC4uL3Byb2MtZnMtbmZzZC5tb3VudCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXNpbml0LnRhcmdldC53YW50cy9wcm9jLWZzLW5mc2QubW91bnQKKwlmaQorCisJIyBrZXJuZWwgY29kZSBhcyBvZiAzLjggaGFyZC1jb2RlcyB0aGlzIHBhdGggYXMgYSBkZWZhdWx0CisJaW5zdGFsbCAtZCAke0R9L3Zhci9saWIvbmZzL3Y0cmVjb3ZlcnkKKworCSMgY2hvd24gdGhlIGRpcmVjdG9yaWVzIGFuZCBmaWxlcworCWNob3duIC1SIHJwY3VzZXI6cnBjdXNlciAke0R9JHtsb2NhbHN0YXRlZGlyfS9saWIvbmZzL3N0YXRkCisJY2htb2QgMDY0NCAke0R9JHtsb2NhbHN0YXRlZGlyfS9saWIvbmZzL3N0YXRkL3N0YXRlCisKKyAgICAgICAgIyBNYWtlIHB5dGhvbiB0b29scyB1c2UgcHl0aG9uIDMKKyAgICAgICAgc2VkIC1pIC1lICcxcywjIS4qcHl0aG9uLiosIyEke2JpbmRpcn0vcHl0aG9uMywnICR7RH0ke3NiaW5kaXJ9L21vdW50c3RhdHMgJHtEfSR7c2JpbmRpcn0vbmZzaW9zdGF0CisKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vZm9uby9vZm9ub18xLjI0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29mb25vL29mb25vXzEuMjQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJlN2Q5ZWEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29mb25vL29mb25vXzEuMjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLXJlcXVpcmUgb2Zvbm8uaW5jCi0KLVNSQ19VUkkgID0gIlwKLSAgJHtLRVJORUxPUkdfTUlSUk9SfS9saW51eC9uZXR3b3JrLyR7QlBOfS8ke0JQfS50YXIueHogXAotICBmaWxlOi8vb2Zvbm8gXAotICBmaWxlOi8vdXNlLXB5dGhvbjMucGF0Y2ggXAotIgotU1JDX1VSSVttZDVzdW1dID0gImJlMjRlODBmNjU1MWY0NmZlYTBjNWI1ODc5OTY0ZDZjIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjljOGUzNTFiNzY1OGY0YjQzZjlhNDM4MGI3MzFjNDdkMmQ3NTQ0YTg5OTg3YzQ4YzNmMjI3ZTczNjM2Yzg3YWUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb2Zvbm8vb2Zvbm9fMS4yNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vZm9uby9vZm9ub18xLjI1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2ODhiOWQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb2Zvbm8vb2Zvbm9fMS4yNS5iYgpAQCAtMCwwICsxLDkgQEAKK3JlcXVpcmUgb2Zvbm8uaW5jCisKK1NSQ19VUkkgID0gIlwKKyAgJHtLRVJORUxPUkdfTUlSUk9SfS9saW51eC9uZXR3b3JrLyR7QlBOfS8ke0JQfS50YXIueHogXAorICBmaWxlOi8vb2Zvbm8gXAorICBmaWxlOi8vdXNlLXB5dGhvbjMucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjMxNDUwY2FiZGQ4ZGJiZjNmODA4ZWEyZjJmMDY2ODYzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImViMDExZmNkMzA4MGU5M2YzYTU2Zjk2YmU2MDM1MGI2NTk1YThiNWYzNmI2MTY0NjMxMmJhNDFiMGJjYjBkNzUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzaC9vcGVuc3NoXzcuOHAxK2dpdC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NoL29wZW5zc2hfNy44cDErZ2l0LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNTRkZmI1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NoL29wZW5zc2hfNy44cDErZ2l0LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTY0ICswLDAgQEAKLVNVTU1BUlkgPSAiQSBzdWl0ZSBvZiBzZWN1cml0eS1yZWxhdGVkIG5ldHdvcmsgdXRpbGl0aWVzIGJhc2VkIG9uIFwKLXRoZSBTU0ggcHJvdG9jb2wgaW5jbHVkaW5nIHRoZSBzc2ggY2xpZW50IGFuZCBzc2hkIHNlcnZlciIKLURFU0NSSVBUSU9OID0gIlNlY3VyZSBybG9naW4vcnNoL3JjcC90ZWxuZXQgcmVwbGFjZW1lbnQgKE9wZW5TU0gpIFwKLVNzaCAoU2VjdXJlIFNoZWxsKSBpcyBhIHByb2dyYW0gZm9yIGxvZ2dpbmcgaW50byBhIHJlbW90ZSBtYWNoaW5lIFwKLWFuZCBmb3IgZXhlY3V0aW5nIGNvbW1hbmRzIG9uIGEgcmVtb3RlIG1hY2hpbmUuIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5vcGVuc3NoLmNvbS8iCi1TRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKLUxJQ0VOU0UgPSAiQlNEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5DRTttZDU9NDI5NjU4YzY2MTJmM2E5YjEyOTM3ODIzNjZhYjI5ZDgiCi0KLURFUEVORFMgPSAiemxpYiBvcGVuc3NsIgotREVQRU5EUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnbGlicGFtJywgJycsIGQpfSIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL29wZW5zc2gvb3BlbnNzaC1wb3J0YWJsZTticmFuY2g9bWFzdGVyIFwKLSAgICAgICAgICAgZmlsZTovL3NzaGRfY29uZmlnIFwKLSAgICAgICAgICAgZmlsZTovL3NzaF9jb25maWcgXAotICAgICAgICAgICBmaWxlOi8vaW5pdCBcCi0gICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJyR7UEFNX1NSQ19VUkl9JywgJycsIGQpfSBcCi0gICAgICAgICAgIGZpbGU6Ly9zc2hkLnNvY2tldCBcCi0gICAgICAgICAgIGZpbGU6Ly9zc2hkQC5zZXJ2aWNlIFwKLSAgICAgICAgICAgZmlsZTovL3NzaGRnZW5rZXlzLnNlcnZpY2UgXAotICAgICAgICAgICBmaWxlOi8vdm9sYXRpbGVzLjk5X3NzaGQgXAotICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgZmlsZTovL2ZpeC1wb3RlbnRpYWwtc2lnbmVkLW92ZXJmbG93LWluLXBvaW50ZXItYXJpdGhtYXRpYy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9zc2hkX2NoZWNrX2tleXMgXAotICAgICAgICAgICBmaWxlOi8vYWRkLXRlc3Qtc3VwcG9ydC1mb3ItYnVzeWJveC5wYXRjaCBcCi0gICAgICAgICAgICIKLQotUEFNX1NSQ19VUkkgPSAiZmlsZTovL3NzaGQiCi0KLVNSQ1JFViA9ICJjY2U4Y2JlMGVkN2QxYmEzYTU3NTMxMGUwYjYzYzE5MzMyNmFlNjE2IgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1pbmhlcml0IHVzZXJhZGQgdXBkYXRlLXJjLmQgdXBkYXRlLWFsdGVybmF0aXZlcyBzeXN0ZW1kCi0KLVVTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0tc3NoZCIKLVVTRVJBRERfUEFSQU1fJHtQTn0tc3NoZCA9ICItLXN5c3RlbSAtLW5vLWNyZWF0ZS1ob21lIC0taG9tZS1kaXIgL3Zhci9ydW4vc3NoZCAtLXNoZWxsIC9iaW4vZmFsc2UgLS11c2VyLWdyb3VwIHNzaGQiCi1JTklUU0NSSVBUX1BBQ0tBR0VTID0gIiR7UE59LXNzaGQiCi1JTklUU0NSSVBUX05BTUVfJHtQTn0tc3NoZCA9ICJzc2hkIgotSU5JVFNDUklQVF9QQVJBTVNfJHtQTn0tc3NoZCA9ICJkZWZhdWx0cyA5IgotCi1TWVNURU1EX1BBQ0tBR0VTID0gIiR7UE59LXNzaGQiCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0tc3NoZCA9ICJzc2hkLnNvY2tldCIKLQotaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHB0ZXN0Ci0KLUVYVFJBX0FVVE9SRUNPTkYgKz0gIi0tZXhjbHVkZT1hY2xvY2FsIgotCi0jIGxvZ2luIHBhdGggaXMgaGFyZGNvZGVkIGluIHNzaGQKLUVYVFJBX09FQ09ORiA9ICInTE9HSU5fUFJPR1JBTT0ke2Jhc2VfYmluZGlyfS9sb2dpbicgXAotICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJy0td2l0aC1wYW0nLCAnLS13aXRob3V0LXBhbScsIGQpfSBcCi0gICAgICAgICAgICAgICAgLS13aXRob3V0LXpsaWItdmVyc2lvbi1jaGVjayBcCi0gICAgICAgICAgICAgICAgLS13aXRoLXByaXZzZXAtcGF0aD0ke2xvY2Fsc3RhdGVkaXJ9L3J1bi9zc2hkIFwKLSAgICAgICAgICAgICAgICAtLXN5c2NvbmZkaXI9JHtzeXNjb25mZGlyfS9zc2ggXAotICAgICAgICAgICAgICAgIC0td2l0aC14YXV0aD0ke2JpbmRpcn0veGF1dGggXAotICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1zdHJpcCBcCi0gICAgICAgICAgICAgICAgIgotCi0jIG11c2wgZG9lc24ndCBpbXBsZW1lbnQgd3RtcC91dG1wCi1FWFRSQV9PRUNPTkZfYXBwZW5kX2xpYmMtbXVzbCA9ICIgLS1kaXNhYmxlLXd0bXAiCi0KLSMgU2luY2Ugd2UgZG8gbm90IGRlcGVuZCBvbiBsaWJic2QsIHdlIGRvIG5vdCB3YW50IGNvbmZpZ3VyZSB0byB1c2UgaXQKLSMganVzdCBiZWNhdXNlIGl0IGZpbmRzIGxpYnV0aWwuaC4gIEJ1dCwgc3BlY2lmeWluZyAtLWRpc2FibGUtbGlidXRpbAotIyBjYXVzZXMgY29tcGlsZSBlcnJvcnMsIHNvLi4uCi1DQUNIRURfQ09ORklHVVJFVkFSUyArPSAiYWNfY3ZfaGVhZGVyX2JzZF9saWJ1dGlsX2g9bm8gYWNfY3ZfaGVhZGVyX2xpYnV0aWxfaD1ubyIKLQotIyBwYXNzd2QgcGF0aCBpcyBoYXJkY29kZWQgaW4gc3NoZAotQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImFjX2N2X3BhdGhfUEFUSF9QQVNTV0RfUFJPRz0ke2JpbmRpcn0vcGFzc3dkIgotCi0jIFdlIGRvbid0IHdhbnQgdG8gZGVwZW5kIG9uIGxpYmJsb2NrZmlsZQotQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImFjX2N2X2hlYWRlcl9tYWlsbG9ja19oPW5vIgotCi1kb19jb25maWd1cmVfcHJlcGVuZCAoKSB7Ci0JZXhwb3J0IExEPSIke0NDfSIKLQlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9zc2hkX2NvbmZpZyAke0J9LwotCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3NzaF9jb25maWcgJHtCfS8KLX0KLQotZG9fY29tcGlsZV9wdGVzdCgpIHsKLSAgICAgICAgIyBza2lwIHJlZ3Jlc3MvdW5pdHRlc3RzLyBiaW5hcmllczogdGhpcyB3aWxsIHNpbGVudGx5IHNraXAKLSAgICAgICAgIyB1bml0dGVzdHMgaW4gcnVuLXB0ZXN0cyB3aGljaCBpcyBnb29kIGJlY2F1c2UgdGhleSBhcmUgc28gc2xvdy4KLSAgICAgICAgb2VfcnVubWFrZSByZWdyZXNzL21vZHBpcGUgcmVncmVzcy9zZXR1aWQtYWxsb3dlZCByZWdyZXNzL25ldGNhdCBcCi0gICAgICAgICAgICAgICAgICAgcmVncmVzcy9jaGVjay1wZXJtIHJlZ3Jlc3MvbWtkdGVtcAotfQotCi1kb19pbnN0YWxsX2FwcGVuZCAoKSB7Ci0JaWYgWyAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgZCl9IiBdOyB0aGVuCi0JCWluc3RhbGwgLUQgLW0gMDY0NCAke1dPUktESVJ9L3NzaGQgJHtEfSR7c3lzY29uZmRpcn0vcGFtLmQvc3NoZAotCQlzZWQgLWkgLWUgJ3M6I1VzZVBBTSBubzpVc2VQQU0geWVzOicgJHtEfSR7c3lzY29uZmRpcn0vc3NoL3NzaGRfY29uZmlnCi0JZmkKLQotCWlmIFsgIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsIGQpfSIgXTsgdGhlbgotCQlzZWQgLWkgLWUgJ3M6I1gxMUZvcndhcmRpbmcgbm86WDExRm9yd2FyZGluZyB5ZXM6JyAke0R9JHtzeXNjb25mZGlyfS9zc2gvc3NoZF9jb25maWcKLQlmaQotCi0JaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKLQlpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9zc2hkCi0Jcm0gLWYgJHtEfSR7YmluZGlyfS9zbG9naW4gJHtEfSR7ZGF0YWRpcn0vU3NoLmJpbgotCXJtZGlyICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bi9zc2hkICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1biAke0R9JHtsb2NhbHN0YXRlZGlyfQotCWluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzCi0JaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS92b2xhdGlsZXMuOTlfc3NoZCAke0R9LyR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvOTlfc3NoZAotCWluc3RhbGwgLW0gMDc1NSAke1N9L2NvbnRyaWIvc3NoLWNvcHktaWQgJHtEfSR7YmluZGlyfQotCi0JIyBDcmVhdGUgY29uZmlnIGZpbGVzIGZvciByZWFkLW9ubHkgcm9vdGZzCi0JaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9zc2gKLQlpbnN0YWxsIC1tIDY0NCAke0R9JHtzeXNjb25mZGlyfS9zc2gvc3NoZF9jb25maWcgJHtEfSR7c3lzY29uZmRpcn0vc3NoL3NzaGRfY29uZmlnX3JlYWRvbmx5Ci0Jc2VkIC1pICcvSG9zdEtleS9kJyAke0R9JHtzeXNjb25mZGlyfS9zc2gvc3NoZF9jb25maWdfcmVhZG9ubHkKLQllY2hvICJIb3N0S2V5IC92YXIvcnVuL3NzaC9zc2hfaG9zdF9yc2Ffa2V5IiA+PiAke0R9JHtzeXNjb25mZGlyfS9zc2gvc3NoZF9jb25maWdfcmVhZG9ubHkKLQllY2hvICJIb3N0S2V5IC92YXIvcnVuL3NzaC9zc2hfaG9zdF9lY2RzYV9rZXkiID4+ICR7RH0ke3N5c2NvbmZkaXJ9L3NzaC9zc2hkX2NvbmZpZ19yZWFkb25seQotCWVjaG8gIkhvc3RLZXkgL3Zhci9ydW4vc3NoL3NzaF9ob3N0X2VkMjU1MTlfa2V5IiA+PiAke0R9JHtzeXNjb25mZGlyfS9zc2gvc3NoZF9jb25maWdfcmVhZG9ubHkKLQotCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLQlpbnN0YWxsIC1jIC1tIDA2NDQgJHtXT1JLRElSfS9zc2hkLnNvY2tldCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotCWluc3RhbGwgLWMgLW0gMDY0NCAke1dPUktESVJ9L3NzaGRALnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLQlpbnN0YWxsIC1jIC1tIDA2NDQgJHtXT1JLRElSfS9zc2hkZ2Vua2V5cy5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0Jc2VkIC1pIC1lICdzLEBCQVNFX0JJTkRJUkAsJHtiYXNlX2JpbmRpcn0sZycgXAotCQktZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyBcCi0JCS1lICdzLEBCSU5ESVJALCR7YmluZGlyfSxnJyBcCi0JCS1lICdzLEBMSUJFWEVDRElSQCwke2xpYmV4ZWNkaXJ9LyR7QlBOfSxnJyBcCi0JCSR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3NzaGQuc29ja2V0ICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLyouc2VydmljZQotCi0Jc2VkIC1pIC1lICdzLEBMSUJFWEVDRElSQCwke2xpYmV4ZWNkaXJ9LyR7QlBOfSxnJyBcCi0JCSR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9zc2hkCi0KLQlpbnN0YWxsIC1EIC1tIDA3NTUgJHtXT1JLRElSfS9zc2hkX2NoZWNrX2tleXMgJHtEfSR7bGliZXhlY2Rpcn0vJHtCUE59L3NzaGRfY2hlY2tfa2V5cwotfQotCi1kb19pbnN0YWxsX3B0ZXN0ICgpIHsKLQlzZWQgLWkgLWUgInN8XlNGVFBTRVJWRVI9Lip8U0ZUUFNFUlZFUj0ke2xpYmV4ZWNkaXJ9L3NmdHAtc2VydmVyfCIgcmVncmVzcy90ZXN0LWV4ZWMuc2gKLQljcCAtciByZWdyZXNzICR7RH0ke1BURVNUX1BBVEh9Ci19Ci0KLUFMTE9XX0VNUFRZXyR7UE59ID0gIjEiCi0KLVBBQ0tBR0VTID0rICIke1BOfS1rZXlnZW4gJHtQTn0tc2NwICR7UE59LXNzaCAke1BOfS1zc2hkICR7UE59LXNmdHAgJHtQTn0tbWlzYyAke1BOfS1zZnRwLXNlcnZlciIKLUZJTEVTXyR7UE59LXNjcCA9ICIke2JpbmRpcn0vc2NwLiR7QlBOfSIKLUZJTEVTXyR7UE59LXNzaCA9ICIke2JpbmRpcn0vc3NoLiR7QlBOfSAke3N5c2NvbmZkaXJ9L3NzaC9zc2hfY29uZmlnIgotRklMRVNfJHtQTn0tc3NoZCA9ICIke3NiaW5kaXJ9L3NzaGQgJHtzeXNjb25mZGlyfS9pbml0LmQvc3NoZCAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtIgotRklMRVNfJHtQTn0tc3NoZCArPSAiJHtzeXNjb25mZGlyfS9zc2gvbW9kdWxpICR7c3lzY29uZmRpcn0vc3NoL3NzaGRfY29uZmlnICR7c3lzY29uZmRpcn0vc3NoL3NzaGRfY29uZmlnX3JlYWRvbmx5ICR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvOTlfc3NoZCAke3N5c2NvbmZkaXJ9L3BhbS5kL3NzaGQiCi1GSUxFU18ke1BOfS1zc2hkICs9ICIke2xpYmV4ZWNkaXJ9LyR7QlBOfS9zc2hkX2NoZWNrX2tleXMiCi1GSUxFU18ke1BOfS1zZnRwID0gIiR7YmluZGlyfS9zZnRwIgotRklMRVNfJHtQTn0tc2Z0cC1zZXJ2ZXIgPSAiJHtsaWJleGVjZGlyfS9zZnRwLXNlcnZlciIKLUZJTEVTXyR7UE59LW1pc2MgPSAiJHtiaW5kaXJ9L3NzaCogJHtsaWJleGVjZGlyfS9zc2gqIgotRklMRVNfJHtQTn0ta2V5Z2VuID0gIiR7YmluZGlyfS9zc2gta2V5Z2VuIgotCi1SREVQRU5EU18ke1BOfSArPSAiJHtQTn0tc2NwICR7UE59LXNzaCAke1BOfS1zc2hkICR7UE59LWtleWdlbiIKLVJERVBFTkRTXyR7UE59LXNzaGQgKz0gIiR7UE59LWtleWdlbiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdwYW0tcGx1Z2luLWtleWluaXQgcGFtLXBsdWdpbi1sb2dpbnVpZCcsICcnLCBkKX0iCi1SREVQRU5EU18ke1BOfS1wdGVzdCArPSAiJHtQTn0tc2Z0cCAke1BOfS1taXNjICR7UE59LXNmdHAtc2VydmVyIG1ha2UiCi0KLVJQUk9WSURFU18ke1BOfS1zc2ggPSAic3NoIgotUlBST1ZJREVTXyR7UE59LXNzaGQgPSAic3NoZCIKLQotUkNPTkZMSUNUU18ke1BOfSA9ICJkcm9wYmVhciIKLVJDT05GTElDVFNfJHtQTn0tc3NoZCA9ICJkcm9wYmVhciIKLQotQ09ORkZJTEVTXyR7UE59LXNzaGQgPSAiJHtzeXNjb25mZGlyfS9zc2gvc3NoZF9jb25maWciCi1DT05GRklMRVNfJHtQTn0tc3NoID0gIiR7c3lzY29uZmRpcn0vc3NoL3NzaF9jb25maWciCi0KLUFMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjkwIgotQUxURVJOQVRJVkVfJHtQTn0tc2NwID0gInNjcCIKLUFMVEVSTkFUSVZFXyR7UE59LXNzaCA9ICJzc2giCi0KLUJCQ0xBU1NFWFRFTkQgKz0gIm5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NoL29wZW5zc2hfNy45cDEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzaC9vcGVuc3NoXzcuOXAxLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhMjNmNjQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzaC9vcGVuc3NoXzcuOXAxLmJiCkBAIC0wLDAgKzEsMTYyIEBACitTVU1NQVJZID0gIkEgc3VpdGUgb2Ygc2VjdXJpdHktcmVsYXRlZCBuZXR3b3JrIHV0aWxpdGllcyBiYXNlZCBvbiBcCit0aGUgU1NIIHByb3RvY29sIGluY2x1ZGluZyB0aGUgc3NoIGNsaWVudCBhbmQgc3NoZCBzZXJ2ZXIiCitERVNDUklQVElPTiA9ICJTZWN1cmUgcmxvZ2luL3JzaC9yY3AvdGVsbmV0IHJlcGxhY2VtZW50IChPcGVuU1NIKSBcCitTc2ggKFNlY3VyZSBTaGVsbCkgaXMgYSBwcm9ncmFtIGZvciBsb2dnaW5nIGludG8gYSByZW1vdGUgbWFjaGluZSBcCithbmQgZm9yIGV4ZWN1dGluZyBjb21tYW5kcyBvbiBhIHJlbW90ZSBtYWNoaW5lLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cub3BlbnNzaC5jb20vIgorU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOQ0U7bWQ1PTQyOTY1OGM2NjEyZjNhOWIxMjkzNzgyMzY2YWIyOWQ4IgorCitERVBFTkRTID0gInpsaWIgb3BlbnNzbCIKK0RFUEVORFMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ2xpYnBhbScsICcnLCBkKX0iCisKK1NSQ19VUkkgPSAiaHR0cDovL2Z0cC5vcGVuYnNkLm9yZy9wdWIvT3BlbkJTRC9PcGVuU1NIL3BvcnRhYmxlL29wZW5zc2gtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3NzaGRfY29uZmlnIFwKKyAgICAgICAgICAgZmlsZTovL3NzaF9jb25maWcgXAorICAgICAgICAgICBmaWxlOi8vaW5pdCBcCisgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJyR7UEFNX1NSQ19VUkl9JywgJycsIGQpfSBcCisgICAgICAgICAgIGZpbGU6Ly9zc2hkLnNvY2tldCBcCisgICAgICAgICAgIGZpbGU6Ly9zc2hkQC5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL3NzaGRnZW5rZXlzLnNlcnZpY2UgXAorICAgICAgICAgICBmaWxlOi8vdm9sYXRpbGVzLjk5X3NzaGQgXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC1wb3RlbnRpYWwtc2lnbmVkLW92ZXJmbG93LWluLXBvaW50ZXItYXJpdGhtYXRpYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zc2hkX2NoZWNrX2tleXMgXAorICAgICAgICAgICBmaWxlOi8vYWRkLXRlc3Qtc3VwcG9ydC1mb3ItYnVzeWJveC5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICJjNmFmNTBiN2E0NzRkMDQ3MjZhNWFhNzQ3YTVkY2U4ZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2YjRiM2JhMjI1M2Q4NGVkMzc3MWM4MDUwNzI4ZDU5N2M5MWNmY2U4OTg3MTNiZWI3YjY0YTMwNWI2ZjExYWFkIgorCitQQU1fU1JDX1VSSSA9ICJmaWxlOi8vc3NoZCIKKworaW5oZXJpdCB1c2VyYWRkIHVwZGF0ZS1yYy5kIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgc3lzdGVtZAorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59LXNzaGQiCitVU0VSQUREX1BBUkFNXyR7UE59LXNzaGQgPSAiLS1zeXN0ZW0gLS1uby1jcmVhdGUtaG9tZSAtLWhvbWUtZGlyIC92YXIvcnVuL3NzaGQgLS1zaGVsbCAvYmluL2ZhbHNlIC0tdXNlci1ncm91cCBzc2hkIgorSU5JVFNDUklQVF9QQUNLQUdFUyA9ICIke1BOfS1zc2hkIgorSU5JVFNDUklQVF9OQU1FXyR7UE59LXNzaGQgPSAic3NoZCIKK0lOSVRTQ1JJUFRfUEFSQU1TXyR7UE59LXNzaGQgPSAiZGVmYXVsdHMgOSIKKworU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfS1zc2hkIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59LXNzaGQgPSAic3NoZC5zb2NrZXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwdGVzdAorCitFWFRSQV9BVVRPUkVDT05GICs9ICItLWV4Y2x1ZGU9YWNsb2NhbCIKKworIyBsb2dpbiBwYXRoIGlzIGhhcmRjb2RlZCBpbiBzc2hkCitFWFRSQV9PRUNPTkYgPSAiJ0xPR0lOX1BST0dSQU09JHtiYXNlX2JpbmRpcn0vbG9naW4nIFwKKyAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICctLXdpdGgtcGFtJywgJy0td2l0aG91dC1wYW0nLCBkKX0gXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC16bGliLXZlcnNpb24tY2hlY2sgXAorICAgICAgICAgICAgICAgIC0td2l0aC1wcml2c2VwLXBhdGg9JHtsb2NhbHN0YXRlZGlyfS9ydW4vc3NoZCBcCisgICAgICAgICAgICAgICAgLS1zeXNjb25mZGlyPSR7c3lzY29uZmRpcn0vc3NoIFwKKyAgICAgICAgICAgICAgICAtLXdpdGgteGF1dGg9JHtiaW5kaXJ9L3hhdXRoIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtc3RyaXAgXAorICAgICAgICAgICAgICAgICIKKworIyBtdXNsIGRvZXNuJ3QgaW1wbGVtZW50IHd0bXAvdXRtcAorRVhUUkFfT0VDT05GX2FwcGVuZF9saWJjLW11c2wgPSAiIC0tZGlzYWJsZS13dG1wIgorCisjIFNpbmNlIHdlIGRvIG5vdCBkZXBlbmQgb24gbGliYnNkLCB3ZSBkbyBub3Qgd2FudCBjb25maWd1cmUgdG8gdXNlIGl0CisjIGp1c3QgYmVjYXVzZSBpdCBmaW5kcyBsaWJ1dGlsLmguICBCdXQsIHNwZWNpZnlpbmcgLS1kaXNhYmxlLWxpYnV0aWwKKyMgY2F1c2VzIGNvbXBpbGUgZXJyb3JzLCBzby4uLgorQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImFjX2N2X2hlYWRlcl9ic2RfbGlidXRpbF9oPW5vIGFjX2N2X2hlYWRlcl9saWJ1dGlsX2g9bm8iCisKKyMgcGFzc3dkIHBhdGggaXMgaGFyZGNvZGVkIGluIHNzaGQKK0NBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJhY19jdl9wYXRoX1BBVEhfUEFTU1dEX1BST0c9JHtiaW5kaXJ9L3Bhc3N3ZCIKKworIyBXZSBkb24ndCB3YW50IHRvIGRlcGVuZCBvbiBsaWJibG9ja2ZpbGUKK0NBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJhY19jdl9oZWFkZXJfbWFpbGxvY2tfaD1ubyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworCWV4cG9ydCBMRD0iJHtDQ30iCisJaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vc3NoZF9jb25maWcgJHtCfS8KKwlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9zc2hfY29uZmlnICR7Qn0vCit9CisKK2RvX2NvbXBpbGVfcHRlc3QoKSB7CisgICAgICAgICMgc2tpcCByZWdyZXNzL3VuaXR0ZXN0cy8gYmluYXJpZXM6IHRoaXMgd2lsbCBzaWxlbnRseSBza2lwCisgICAgICAgICMgdW5pdHRlc3RzIGluIHJ1bi1wdGVzdHMgd2hpY2ggaXMgZ29vZCBiZWNhdXNlIHRoZXkgYXJlIHNvIHNsb3cuCisgICAgICAgIG9lX3J1bm1ha2UgcmVncmVzcy9tb2RwaXBlIHJlZ3Jlc3Mvc2V0dWlkLWFsbG93ZWQgcmVncmVzcy9uZXRjYXQgXAorICAgICAgICAgICAgICAgICAgIHJlZ3Jlc3MvY2hlY2stcGVybSByZWdyZXNzL21rZHRlbXAKK30KKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworCWlmIFsgIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsIGQpfSIgXTsgdGhlbgorCQlpbnN0YWxsIC1EIC1tIDA2NDQgJHtXT1JLRElSfS9zc2hkICR7RH0ke3N5c2NvbmZkaXJ9L3BhbS5kL3NzaGQKKwkJc2VkIC1pIC1lICdzOiNVc2VQQU0gbm86VXNlUEFNIHllczonICR7RH0ke3N5c2NvbmZkaXJ9L3NzaC9zc2hkX2NvbmZpZworCWZpCisKKwlpZiBbICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCBkKX0iIF07IHRoZW4KKwkJc2VkIC1pIC1lICdzOiNYMTFGb3J3YXJkaW5nIG5vOlgxMUZvcndhcmRpbmcgeWVzOicgJHtEfSR7c3lzY29uZmRpcn0vc3NoL3NzaGRfY29uZmlnCisJZmkKKworCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisJaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvc3NoZAorCXJtIC1mICR7RH0ke2JpbmRpcn0vc2xvZ2luICR7RH0ke2RhdGFkaXJ9L1NzaC5iaW4KKwlybWRpciAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4vc3NoZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4gJHtEfSR7bG9jYWxzdGF0ZWRpcn0KKwlpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcworCWluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vdm9sYXRpbGVzLjk5X3NzaGQgJHtEfS8ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzLzk5X3NzaGQKKwlpbnN0YWxsIC1tIDA3NTUgJHtTfS9jb250cmliL3NzaC1jb3B5LWlkICR7RH0ke2JpbmRpcn0KKworCSMgQ3JlYXRlIGNvbmZpZyBmaWxlcyBmb3IgcmVhZC1vbmx5IHJvb3RmcworCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vc3NoCisJaW5zdGFsbCAtbSA2NDQgJHtEfSR7c3lzY29uZmRpcn0vc3NoL3NzaGRfY29uZmlnICR7RH0ke3N5c2NvbmZkaXJ9L3NzaC9zc2hkX2NvbmZpZ19yZWFkb25seQorCXNlZCAtaSAnL0hvc3RLZXkvZCcgJHtEfSR7c3lzY29uZmRpcn0vc3NoL3NzaGRfY29uZmlnX3JlYWRvbmx5CisJZWNobyAiSG9zdEtleSAvdmFyL3J1bi9zc2gvc3NoX2hvc3RfcnNhX2tleSIgPj4gJHtEfSR7c3lzY29uZmRpcn0vc3NoL3NzaGRfY29uZmlnX3JlYWRvbmx5CisJZWNobyAiSG9zdEtleSAvdmFyL3J1bi9zc2gvc3NoX2hvc3RfZWNkc2Ffa2V5IiA+PiAke0R9JHtzeXNjb25mZGlyfS9zc2gvc3NoZF9jb25maWdfcmVhZG9ubHkKKwllY2hvICJIb3N0S2V5IC92YXIvcnVuL3NzaC9zc2hfaG9zdF9lZDI1NTE5X2tleSIgPj4gJHtEfSR7c3lzY29uZmRpcn0vc3NoL3NzaGRfY29uZmlnX3JlYWRvbmx5CisKKwlpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisJaW5zdGFsbCAtYyAtbSAwNjQ0ICR7V09SS0RJUn0vc3NoZC5zb2NrZXQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKwlpbnN0YWxsIC1jIC1tIDA2NDQgJHtXT1JLRElSfS9zc2hkQC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisJaW5zdGFsbCAtYyAtbSAwNjQ0ICR7V09SS0RJUn0vc3NoZGdlbmtleXMuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCXNlZCAtaSAtZSAncyxAQkFTRV9CSU5ESVJALCR7YmFzZV9iaW5kaXJ9LGcnIFwKKwkJLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgXAorCQktZSAncyxAQklORElSQCwke2JpbmRpcn0sZycgXAorCQktZSAncyxATElCRVhFQ0RJUkAsJHtsaWJleGVjZGlyfS8ke0JQTn0sZycgXAorCQkke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zc2hkLnNvY2tldCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8qLnNlcnZpY2UKKworCXNlZCAtaSAtZSAncyxATElCRVhFQ0RJUkAsJHtsaWJleGVjZGlyfS8ke0JQTn0sZycgXAorCQkke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvc3NoZAorCisJaW5zdGFsbCAtRCAtbSAwNzU1ICR7V09SS0RJUn0vc3NoZF9jaGVja19rZXlzICR7RH0ke2xpYmV4ZWNkaXJ9LyR7QlBOfS9zc2hkX2NoZWNrX2tleXMKK30KKworZG9faW5zdGFsbF9wdGVzdCAoKSB7CisJc2VkIC1pIC1lICJzfF5TRlRQU0VSVkVSPS4qfFNGVFBTRVJWRVI9JHtsaWJleGVjZGlyfS9zZnRwLXNlcnZlcnwiIHJlZ3Jlc3MvdGVzdC1leGVjLnNoCisJY3AgLXIgcmVncmVzcyAke0R9JHtQVEVTVF9QQVRIfQorfQorCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorCitQQUNLQUdFUyA9KyAiJHtQTn0ta2V5Z2VuICR7UE59LXNjcCAke1BOfS1zc2ggJHtQTn0tc3NoZCAke1BOfS1zZnRwICR7UE59LW1pc2MgJHtQTn0tc2Z0cC1zZXJ2ZXIiCitGSUxFU18ke1BOfS1zY3AgPSAiJHtiaW5kaXJ9L3NjcC4ke0JQTn0iCitGSUxFU18ke1BOfS1zc2ggPSAiJHtiaW5kaXJ9L3NzaC4ke0JQTn0gJHtzeXNjb25mZGlyfS9zc2gvc3NoX2NvbmZpZyIKK0ZJTEVTXyR7UE59LXNzaGQgPSAiJHtzYmluZGlyfS9zc2hkICR7c3lzY29uZmRpcn0vaW5pdC5kL3NzaGQgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbSIKK0ZJTEVTXyR7UE59LXNzaGQgKz0gIiR7c3lzY29uZmRpcn0vc3NoL21vZHVsaSAke3N5c2NvbmZkaXJ9L3NzaC9zc2hkX2NvbmZpZyAke3N5c2NvbmZkaXJ9L3NzaC9zc2hkX2NvbmZpZ19yZWFkb25seSAke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzLzk5X3NzaGQgJHtzeXNjb25mZGlyfS9wYW0uZC9zc2hkIgorRklMRVNfJHtQTn0tc3NoZCArPSAiJHtsaWJleGVjZGlyfS8ke0JQTn0vc3NoZF9jaGVja19rZXlzIgorRklMRVNfJHtQTn0tc2Z0cCA9ICIke2JpbmRpcn0vc2Z0cCIKK0ZJTEVTXyR7UE59LXNmdHAtc2VydmVyID0gIiR7bGliZXhlY2Rpcn0vc2Z0cC1zZXJ2ZXIiCitGSUxFU18ke1BOfS1taXNjID0gIiR7YmluZGlyfS9zc2gqICR7bGliZXhlY2Rpcn0vc3NoKiIKK0ZJTEVTXyR7UE59LWtleWdlbiA9ICIke2JpbmRpcn0vc3NoLWtleWdlbiIKKworUkRFUEVORFNfJHtQTn0gKz0gIiR7UE59LXNjcCAke1BOfS1zc2ggJHtQTn0tc3NoZCAke1BOfS1rZXlnZW4iCitSREVQRU5EU18ke1BOfS1zc2hkICs9ICIke1BOfS1rZXlnZW4gJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAncGFtLXBsdWdpbi1rZXlpbml0IHBhbS1wbHVnaW4tbG9naW51aWQnLCAnJywgZCl9IgorUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIiR7UE59LXNmdHAgJHtQTn0tbWlzYyAke1BOfS1zZnRwLXNlcnZlciBtYWtlIgorCitSUFJPVklERVNfJHtQTn0tc3NoID0gInNzaCIKK1JQUk9WSURFU18ke1BOfS1zc2hkID0gInNzaGQiCisKK1JDT05GTElDVFNfJHtQTn0gPSAiZHJvcGJlYXIiCitSQ09ORkxJQ1RTXyR7UE59LXNzaGQgPSAiZHJvcGJlYXIiCisKK0NPTkZGSUxFU18ke1BOfS1zc2hkID0gIiR7c3lzY29uZmRpcn0vc3NoL3NzaGRfY29uZmlnIgorQ09ORkZJTEVTXyR7UE59LXNzaCA9ICIke3N5c2NvbmZkaXJ9L3NzaC9zc2hfY29uZmlnIgorCitBTFRFUk5BVElWRV9QUklPUklUWSA9ICI5MCIKK0FMVEVSTkFUSVZFXyR7UE59LXNjcCA9ICJzY3AiCitBTFRFUk5BVElWRV8ke1BOfS1zc2ggPSAic3NoIgorCitCQkNMQVNTRVhURU5EICs9ICJuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzbC9vcGVuc3NsLzAwMDEtYnVpbGRpbmZvLXN0cmlwLXN5c3Jvb3QtYW5kLWRlYnVnLXByZWZpeC1tYXAtZnJvbS1jby5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NsL29wZW5zc2wvMDAwMS1idWlsZGluZm8tc3RyaXAtc3lzcm9vdC1hbmQtZGVidWctcHJlZml4LW1hcC1mcm9tLWNvLnBhdGNoCmluZGV4IDgwYjYyYWIuLjk0OWM3ODggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NsL29wZW5zc2wvMDAwMS1idWlsZGluZm8tc3RyaXAtc3lzcm9vdC1hbmQtZGVidWctcHJlZml4LW1hcC1mcm9tLWNvLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NsL29wZW5zc2wvMDAwMS1idWlsZGluZm8tc3RyaXAtc3lzcm9vdC1hbmQtZGVidWctcHJlZml4LW1hcC1mcm9tLWNvLnBhdGNoCkBAIC0yMCw2ICsyMCwxMSBAQAogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIHNwZWNpZmljXQogU2lnbmVkLW9mZi1ieTogTWFydGluIEh1bmRlYsO4bGwgPG1hcnRpbkBnZWFuaXguY29tPgorCisKK1VwZGF0ZSB0byBmaXggYnVpbGRwYXRocyBxYSBpc3N1ZSBmb3IgJy1mbWFjcm8tcHJlZml4LW1hcCcuCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgogLS0tCiAgQ29uZmlndXJhdGlvbnMvdW5peC1NYWtlZmlsZS50bXBsIHwgMTAgKysrKysrKysrLQogIGNyeXB0by9idWlsZC5pbmZvICAgICAgICAgICAgICAgICB8ICAyICstCkBAIC0yOSw3ICszNCw3IEBACiBpbmRleCAxNmFmNGQyMDg3Li41NGMxNjI3ODRjIDEwMDY0NAogLS0tIGEvQ29uZmlndXJhdGlvbnMvdW5peC1NYWtlZmlsZS50bXBsCiArKysgYi9Db25maWd1cmF0aW9ucy91bml4LU1ha2VmaWxlLnRtcGwKLUBAIC0zMTcsMTMgKzMxNywyMSBAQCBCSU5fTERGTEFHUz17LSBqb2luKCcgJywgJHRhcmdldHtiaW5fbGZsYWdzfSB8fCAoKSwKK0BAIC0zMTcsMTMgKzMxNywyMiBAQCBCSU5fTERGTEFHUz17LSBqb2luKCcgJywgJHRhcmdldHtiaW5fbGZsYWdzfSB8fCAoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgJyQoQ05GX0xERkxBR1MpJywgJyQoTERGTEFHUyknKSAtfQogIEJJTl9FWF9MSUJTPSQoQ05GX0VYX0xJQlMpICQoRVhfTElCUykKICAKQEAgLTQzLDYgKzQ4LDcgQEAKICAKICtDRkxBR1NfUT17LSBmb3IgKEB7JGNvbmZpZ3tDRkxBR1N9fSkgewogKyAgICAgICAgICAgICAgc3wtZmRlYnVnLXByZWZpeC1tYXA9W14gXSt8LWZkZWJ1Zy1wcmVmaXgtbWFwPXxnOworKyAgICAgICAgICAgICAgc3wtZm1hY3JvLXByZWZpeC1tYXA9W14gXSt8LWZtYWNyby1wcmVmaXgtbWFwPXxnOwogKyAgICAgICAgICAgIH0KICsgICAgICAgICAgICBqb2luKCcgJywgQHskY29uZmlne0NGTEFHU319KSAtfQogKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2wvb3BlbnNzbC9DVkUtMjAxOS0xNTQzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2wvb3BlbnNzbC9DVkUtMjAxOS0xNTQzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwMGVmOTcKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzbC9vcGVuc3NsL0NWRS0yMDE5LTE1NDMucGF0Y2gKQEAgLTAsMCArMSw2OSBAQAorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXRodWIuY29tL29wZW5zc2wvb3BlbnNzbC9jb21taXQvZjQyNjYyNWI2YWU5YTc4MzEwMTA3NTA0OTBhNWYwYWQ2ODljNWJhM10KK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK0Zyb20gZjQyNjYyNWI2YWU5YTc4MzEwMTA3NTA0OTBhNWYwYWQ2ODljNWJhMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hdHQgQ2Fzd2VsbCA8bWF0dEBvcGVuc3NsLm9yZz4KK0RhdGU6IFR1ZSwgNSBNYXIgMjAxOSAxNDozOToxNSArMDAwMAorU3ViamVjdDogW1BBVENIXSBQcmV2ZW50IG92ZXIgbG9uZyBub25jZXMgaW4gQ2hhQ2hhMjAtUG9seTEzMDUKKworQ2hhQ2hhMjAtUG9seTEzMDUgaXMgYW4gQUVBRCBjaXBoZXIsIGFuZCByZXF1aXJlcyBhIHVuaXF1ZSBub25jZSBpbnB1dCBmb3IKK2V2ZXJ5IGVuY3J5cHRpb24gb3BlcmF0aW9uLiBSRkMgNzUzOSBzcGVjaWZpZXMgdGhhdCB0aGUgbm9uY2UgdmFsdWUgKElWKQorc2hvdWxkIGJlIDk2IGJpdHMgKDEyIGJ5dGVzKS4gT3BlblNTTCBhbGxvd3MgYSB2YXJpYWJsZSBub25jZSBsZW5ndGggYW5kCitmcm9udCBwYWRzIHRoZSBub25jZSB3aXRoIDAgYnl0ZXMgaWYgaXQgaXMgbGVzcyB0aGFuIDEyIGJ5dGVzLiBIb3dldmVyIGl0CithbHNvIGluY29ycmVjdGx5IGFsbG93cyBhIG5vbmNlIHRvIGJlIHNldCBvZiB1cCB0byAxNiBieXRlcy4gSW4gdGhpcyBjYXNlCitvbmx5IHRoZSBsYXN0IDEyIGJ5dGVzIGFyZSBzaWduaWZpY2FudCBhbmQgYW55IGFkZGl0aW9uYWwgbGVhZGluZyBieXRlcyBhcmUKK2lnbm9yZWQuCisKK0l0IGlzIGEgcmVxdWlyZW1lbnQgb2YgdXNpbmcgdGhpcyBjaXBoZXIgdGhhdCBub25jZSB2YWx1ZXMgYXJlIHVuaXF1ZS4KK01lc3NhZ2VzIGVuY3J5cHRlZCB1c2luZyBhIHJldXNlZCBub25jZSB2YWx1ZSBhcmUgc3VzY2VwdGlibGUgdG8gc2VyaW91cworY29uZmlkZW50aWFsaXR5IGFuZCBpbnRlZ3JpdHkgYXR0YWNrcy4gSWYgYW4gYXBwbGljYXRpb24gY2hhbmdlcyB0aGUKK2RlZmF1bHQgbm9uY2UgbGVuZ3RoIHRvIGJlIGxvbmdlciB0aGFuIDEyIGJ5dGVzIGFuZCB0aGVuIG1ha2VzIGEgY2hhbmdlIHRvCit0aGUgbGVhZGluZyBieXRlcyBvZiB0aGUgbm9uY2UgZXhwZWN0aW5nIHRoZSBuZXcgdmFsdWUgdG8gYmUgYSBuZXcgdW5pcXVlCitub25jZSB0aGVuIHN1Y2ggYW4gYXBwbGljYXRpb24gY291bGQgaW5hZHZlcnRlbnRseSBlbmNyeXB0IG1lc3NhZ2VzIHdpdGggYQorcmV1c2VkIG5vbmNlLgorCitBZGRpdGlvbmFsbHkgdGhlIGlnbm9yZWQgYnl0ZXMgaW4gYSBsb25nIG5vbmNlIGFyZSBub3QgY292ZXJlZCBieSB0aGUKK2ludGVncml0eSBndWFyYW50ZWUgb2YgdGhpcyBjaXBoZXIuIEFueSBhcHBsaWNhdGlvbiB0aGF0IHJlbGllcyBvbiB0aGUKK2ludGVncml0eSBvZiB0aGVzZSBpZ25vcmVkIGxlYWRpbmcgYnl0ZXMgb2YgYSBsb25nIG5vbmNlIG1heSBiZSBmdXJ0aGVyCithZmZlY3RlZC4KKworQW55IE9wZW5TU0wgaW50ZXJuYWwgdXNlIG9mIHRoaXMgY2lwaGVyLCBpbmNsdWRpbmcgaW4gU1NML1RMUywgaXMgc2FmZQorYmVjYXVzZSBubyBzdWNoIHVzZSBzZXRzIHN1Y2ggYSBsb25nIG5vbmNlIHZhbHVlLiBIb3dldmVyIHVzZXIKK2FwcGxpY2F0aW9ucyB0aGF0IHVzZSB0aGlzIGNpcGhlciBkaXJlY3RseSBhbmQgc2V0IGEgbm9uLWRlZmF1bHQgbm9uY2UKK2xlbmd0aCB0byBiZSBsb25nZXIgdGhhbiAxMiBieXRlcyBtYXkgYmUgdnVsbmVyYWJsZS4KKworQ1ZFOiBDVkUtMjAxOS0xNTQzCisKK0ZpeGVzICM4MzQ1CisKK1Jldmlld2VkLWJ5OiBQYXVsIERhbGUgPHBhdWwuZGFsZUBvcmFjbGUuY29tPgorUmV2aWV3ZWQtYnk6IFJpY2hhcmQgTGV2aXR0ZSA8bGV2aXR0ZUBvcGVuc3NsLm9yZz4KKyhNZXJnZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vb3BlbnNzbC9vcGVuc3NsL3B1bGwvODQwNikKKworKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMmEzZDBlZTlkNTkxNTZjNDg5NzM1OTIzMzE0MDQ0NzFhY2E4ODZkNikKKy0tLQorIGNyeXB0by9ldnAvZV9jaGFjaGEyMF9wb2x5MTMwNS5jIHwgNCArKystCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvY3J5cHRvL2V2cC9lX2NoYWNoYTIwX3BvbHkxMzA1LmMgYi9jcnlwdG8vZXZwL2VfY2hhY2hhMjBfcG9seTEzMDUuYworaW5kZXggYzE5MTdiYjg2YTYuLmQzZTJjNjIyYTFiIDEwMDY0NAorLS0tIGEvY3J5cHRvL2V2cC9lX2NoYWNoYTIwX3BvbHkxMzA1LmMKKysrKyBiL2NyeXB0by9ldnAvZV9jaGFjaGEyMF9wb2x5MTMwNS5jCitAQCAtMzAsNiArMzAsOCBAQCB0eXBlZGVmIHN0cnVjdCB7CisgCisgI2RlZmluZSBkYXRhKGN0eCkgICAoKEVWUF9DSEFDSEFfS0VZICopKGN0eCktPmNpcGhlcl9kYXRhKQorIAorKyNkZWZpbmUgQ0hBQ0hBMjBfUE9MWTEzMDVfTUFYX0lWTEVOICAgICAxMgorKworIHN0YXRpYyBpbnQgY2hhY2hhX2luaXRfa2V5KEVWUF9DSVBIRVJfQ1RYICpjdHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciB1c2VyX2tleVtDSEFDSEFfS0VZX1NJWkVdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgaXZbQ0hBQ0hBX0NUUl9TSVpFXSwgaW50IGVuYykKK0BAIC01MzMsNyArNTM1LDcgQEAgc3RhdGljIGludCBjaGFjaGEyMF9wb2x5MTMwNV9jdHJsKEVWUF9DSVBIRVJfQ1RYICpjdHgsIGludCB0eXBlLCBpbnQgYXJnLAorICAgICAgICAgcmV0dXJuIDE7CisgCisgICAgIGNhc2UgRVZQX0NUUkxfQUVBRF9TRVRfSVZMRU46CistICAgICAgICBpZiAoYXJnIDw9IDAgfHwgYXJnID4gQ0hBQ0hBX0NUUl9TSVpFKQorKyAgICAgICAgaWYgKGFyZyA8PSAwIHx8IGFyZyA+IENIQUNIQTIwX1BPTFkxMzA1X01BWF9JVkxFTikKKyAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgIGFjdHgtPm5vbmNlX2xlbiA9IGFyZzsKKyAgICAgICAgIHJldHVybiAxOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2wvb3BlbnNzbC9hZmFsZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NsL29wZW5zc2wvYWZhbGcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2M0YjA4NAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NsL29wZW5zc2wvYWZhbGcucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRG9uJ3QgcmVmdXNlIHRvIGJ1aWxkIGFmYWxnZW5nIGlmIGNyb3NzLWNvbXBpbGluZyBvciB0aGUgaG9zdCBrZXJuZWwgaXMgdG9vIG9sZC4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2hodHRwczovL2dpdGh1Yi5jb20vb3BlbnNzbC9vcGVuc3NsL3B1bGwvNzY4OF0KK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK2RpZmYgLS1naXQgYS9Db25maWd1cmUgYi9Db25maWd1cmUKK2luZGV4IDNiYWE4Y2UuLjllZjUyZWQgMTAwNzU1CistLS0gYS9Db25maWd1cmUKKysrKyBiL0NvbmZpZ3VyZQorQEAgLTE1NTAsMjAgKzE1NTAsNyBAQCB1bmxlc3MgKCRkaXNhYmxlZHsiY3J5cHRvLW1kZWJ1Zy1iYWNrdHJhY2UifSkKKyB1bmxlc3MgKCRkaXNhYmxlZHthZmFsZ2VuZ30pIHsKKyAgICAgJGNvbmZpZ3thZmFsZ2VuZ309IiI7CisgICAgIGlmIChncmVwIHsgJF8gZXEgJ2FmYWxnZW5nJyB9IEB7JHRhcmdldHtlbmFibGV9fSkgeworLSAgICAgICAgbXkgJG1pbnZlciA9IDQqMTAwMDAgKyAxKjEwMCArIDA7CistICAgICAgICBpZiAoJGNvbmZpZ3tDUk9TU19DT01QSUxFfSBlcSAiIikgeworLSAgICAgICAgICAgIG15ICR2ZXJzdHIgPSBgdW5hbWUgLXJgOworLSAgICAgICAgICAgIG15ICgkbWEsICRtaTEsICRtaTIpID0gc3BsaXQoIlxcLiIsICR2ZXJzdHIpOworLSAgICAgICAgICAgICgkbWkyKSA9ICRtaTIgPX4gLyhcZCspLzsKKy0gICAgICAgICAgICBteSAkdmVyID0gJG1hKjEwMDAwICsgJG1pMSoxMDAgKyAkbWkyOworLSAgICAgICAgICAgIGlmICgkdmVyIDwgJG1pbnZlcikgeworLSAgICAgICAgICAgICAgICAkZGlzYWJsZWR7YWZhbGdlbmd9ID0gInRvby1vbGQta2VybmVsIjsKKy0gICAgICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgICAgICBwdXNoIEB7JGNvbmZpZ3tlbmdkaXJzfX0sICJhZmFsZyI7CistICAgICAgICAgICAgfQorLSAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAkZGlzYWJsZWR7YWZhbGdlbmd9ID0gImNyb3NzLWNvbXBpbGluZyI7CistICAgICAgICB9CisrICAgICAgICBwdXNoIEB7JGNvbmZpZ3tlbmdkaXJzfX0sICJhZmFsZyI7CisgICAgIH0gZWxzZSB7CisgICAgICAgICAkZGlzYWJsZWR7YWZhbGdlbmd9ICA9ICJub3QtbGludXgiOworICAgICB9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzbC9vcGVuc3NsL29wZW5zc2wtY19yZWhhc2guc2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzbC9vcGVuc3NsL29wZW5zc2wtY19yZWhhc2guc2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY2MjBmZGMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2wvb3BlbnNzbC9vcGVuc3NsLWNfcmVoYXNoLnNoCisrKyAvZGV2L251bGwKQEAgLTEsMjIyICswLDAgQEAKLSMhL2Jpbi9zaAotIwotIyBCZW4gU2VjcmVzdCA8YmxzZWNyZXNAZ21haWwuY29tPgotIwotIyBzaCBjX3JlaGFzaCBzY3JpcHQsIHNjYW4gYWxsIGZpbGVzIGluIGEgZGlyZWN0b3J5Ci0jIGFuZCBhZGQgc3ltYm9saWMgbGlua3MgdG8gdGhlaXIgaGFzaCB2YWx1ZXMuCi0jCi0jIGJhc2VkIG9uIHRoZSBjX3JlaGFzaCBwZXJsIHNjcmlwdCBkaXN0cmlidXRlZCB3aXRoIG9wZW5zc2wKLSMKLSMgTElDRU5TRTogU2VlIE9wZW5TU0wgbGljZW5zZQotIyBeXmFjY2VwdGFibGU/Xl4KLSMKLQotIyBkZWZhdWx0IGNlcnRpZmljYXRlIGxvY2F0aW9uCi1ESVI9L2V0Yy9vcGVuc3NsCi0KLSMgZm9yIGZpbGV0eXBlIGJpdGZpZWxkCi1JU19DRVJUPSQoKCAxIDw8IDAgKSkKLUlTX0NSTD0kKCggMSA8PCAxICkpCi0KLQotIyBjaGVjayB0byBzZWUgaWYgYSBmaWxlIGlzIGEgY2VydGlmaWNhdGUgZmlsZSBvciBhIENSTCBmaWxlCi0jIGFyZ3VtZW50czoKLSMgICAgICAgMS4gdGhlIGZpbGVuYW1lIHRvIGJlIHNjYW5uZWQKLSMgcmV0dXJuczoKLSMgICAgICAgYml0ZmllbGQgb2YgZmlsZSB0eXBlOyB1c2VzICR7SVNfQ0VSVH0gYW5kICR7SVNfQ1JMfQotIwotY2hlY2tfZmlsZSgpCi17Ci0gICAgbG9jYWwgSVNfVFlQRT0wCi0KLSAgICAjIG1ha2UgSUZTIGEgbmV3bGluZSBzbyB3ZSBjYW4gcHJvY2VzcyBncmVwIG91dHB1dCBsaW5lIGJ5IGxpbmUKLSAgICBsb2NhbCBPTERJRlM9JHtJRlN9Ci0gICAgSUZTPSQoIHByaW50ZiAiXG4iICkKLQotICAgICMgWFhYOiBjb3VsZCBiZSBtb3JlIGVmZmljaWVudCB0byBoYXZlIHR3byAnZ3JlcCAtbScgYnV0IGlzIC1tIHBvcnRhYmxlPwotICAgIGZvciBMSU5FIGluICQoIGdyZXAgJ14tLS0tLUJFR0lOIC4qLS0tLS0nICR7MX0gKQotICAgIGRvCi0JaWYgZWNobyAke0xJTkV9IFwKLQkgICAgfCBncmVwIC1xIC1FICdeLS0tLS1CRUdJTiAoWDUwOSB8VFJVU1RFRCApP0NFUlRJRklDQVRFLS0tLS0nCi0JdGhlbgotCSAgICBJU19UWVBFPSQoKCAke0lTX1RZUEV9IHwgJHtJU19DRVJUfSApKQotCi0JICAgIGlmIFsgJCgoICR7SVNfVFlQRX0gJiAke0lTX0NSTH0gKSkgLW5lIDAgXQotCSAgICB0aGVuCi0JICAgIAlicmVhawotCSAgICBmaQotCWVsaWYgZWNobyAke0xJTkV9IHwgZ3JlcCAtcSAnXi0tLS0tQkVHSU4gWDUwOSBDUkwtLS0tLScKLQl0aGVuCi0JICAgIElTX1RZUEU9JCgoICR7SVNfVFlQRX0gfCAke0lTX0NSTH0gKSkKLQotCSAgICBpZiBbICQoKCAke0lTX1RZUEV9ICYgJHtJU19DRVJUfSApKSAtbmUgMCBdCi0JICAgIHRoZW4KLQkgICAgCWJyZWFrCi0JICAgIGZpCi0JZmkKLSAgICBkb25lCi0KLSAgICAjIHJlc3RvcmUgSUZTCi0gICAgSUZTPSR7T0xESUZTfQotCi0gICAgcmV0dXJuICR7SVNfVFlQRX0KLX0KLQotCi0jCi0jIHVzZSBvcGVuc3NsIHRvIGZpbmdlcnByaW50IGEgZmlsZQotIyAgICBhcmd1bWVudHM6Ci0jCTEuIHRoZSBmaWxlbmFtZSB0byBmaW5nZXJwcmludAotIwkyLiB0aGUgbWV0aG9kIHRvIHVzZSAoeDUwOSwgY3JsKQotIyAgICByZXR1cm5zOgotIwlub25lCi0jICAgIGFzc3VtcHRpb25zOgotIwl1c2VyIHdpbGwgY2FwdHVyZSBvdXRwdXQgZnJvbSBsYXN0IHN0YWdlIG9mIHBpcGVsaW5lCi0jCi1maW5nZXJwcmludCgpCi17Ci0gICAgJHtTU0xfQ01EfSAkezJ9IC1maW5nZXJwcmludCAtbm9vdXQgLWluICR7MX0gfCBzZWQgJ3MvXi4qPS8vJyB8IHRyIC1kICc6JwotfQotCi0KLSMKLSMgbGlua19oYXNoIC0gY3JlYXRlIGxpbmtzIHRvIGNlcnRpZmljYXRlIGZpbGVzCi0jICAgIGFyZ3VtZW50czoKLSMgICAgICAgMS4gdGhlIGZpbGVuYW1lIHRvIGNyZWF0ZSBhIGxpbmsgZm9yCi0jCTIuIHRoZSB0eXBlIG9mIGNlcnRpZmljYXRlIGJlaW5nIGxpbmtlZCAoeDUwOSwgY3JsKQotIyAgICByZXR1cm5zOgotIwkwIG9uIHN1Y2Nlc3MsIDEgb3RoZXJ3aXNlCi0jCi1saW5rX2hhc2goKQotewotICAgIGxvY2FsIEZJTkdFUlBSSU5UPSQoIGZpbmdlcnByaW50ICR7MX0gJHsyfSApCi0gICAgbG9jYWwgSEFTSD0kKCAke1NTTF9DTUR9ICR7Mn0gLWhhc2ggLW5vb3V0IC1pbiAkezF9ICkKLSAgICBsb2NhbCBTVUZGSVg9MAotICAgIGxvY2FsIExJTktGSUxFPScnCi0gICAgbG9jYWwgVEFHPScnCi0KLSAgICBpZiBbICR7Mn0gPSAiY3JsIiBdCi0gICAgdGhlbgotICAgIAlUQUc9J3InCi0gICAgZmkKLQotICAgIExJTktGSUxFPSR7SEFTSH0uJHtUQUd9JHtTVUZGSVh9Ci0KLSAgICB3aGlsZSBbIC1mICR7TElOS0ZJTEV9IF0KLSAgICBkbwotCWlmIFsgJHtGSU5HRVJQUklOVH0gPSAkKCBmaW5nZXJwcmludCAke0xJTktGSUxFfSAkezJ9ICkgXQotCXRoZW4KLQkgICAgZWNobyAiTk9URTogU2tpcHBpbmcgZHVwbGljYXRlIGZpbGUgJHsxfSIgPiYyCi0JICAgIHJldHVybiAxCi0JZmkJCi0KLQlTVUZGSVg9JCgoICR7U1VGRklYfSArIDEgKSkKLQlMSU5LRklMRT0ke0hBU0h9LiR7VEFHfSR7U1VGRklYfQotICAgIGRvbmUKLQotICAgIGVjaG8gIiR7M30gPT4gJHtMSU5LRklMRX0iCi0KLSAgICAjIGFzc3VtZSBhbnkgc3lzdGVtIHdpdGggYSBQT1NJWCBzaGVsbCB3aWxsIGVpdGhlciBzdXBwb3J0IHN5bWxpbmtzIG9yCi0gICAgIyBkbyBzb21ldGhpbmcgdG8gaGFuZGxlIHRoaXMgZ3JhY2VmdWxseQotICAgIGxuIC1zICR7M30gJHtMSU5LRklMRX0KLQotICAgIHJldHVybiAwCi19Ci0KLQotIyBoYXNoX2RpciBjcmVhdGUgaGFzaCBsaW5rcyBpbiBhIGdpdmVuIGRpcmVjdG9yeQotaGFzaF9kaXIoKQotewotICAgIGVjaG8gIkRvaW5nICR7MX0iCi0KLSAgICBjZCAkezF9Ci0KLSAgICBscyAtMSAqIDI+L2Rldi9udWxsIHwgd2hpbGUgcmVhZCBGSUxFCi0gICAgZG8KLSAgICAgICAgaWYgZWNobyAke0ZJTEV9IHwgZ3JlcCAtcSAtRSAnXltbOnhkaWdpdDpdXXs4fVwucj9bWzpkaWdpdDpdXSskJyBcCi0JICAgIAkmJiBbIC1oICIke0ZJTEV9IiBdCi0gICAgICAgIHRoZW4KLSAgICAgICAgICAgIHJtICR7RklMRX0KLSAgICAgICAgZmkKLSAgICBkb25lCi0KLSAgICBscyAtMSAqLnBlbSAqLmNlciAqLmNydCAqLmNybCAyPi9kZXYvbnVsbCB8IHdoaWxlIHJlYWQgRklMRQotICAgIGRvCi0JUkVBTF9GSUxFPSR7RklMRX0KLQkjIGlmIHdlIHJ1biBvbiBidWlsZCBob3N0IHRoZW4gZ2V0IHRvIHRoZSByZWFsIGZpbGVzIGluIHJvb3RmcwotCWlmIFsgLW4gIiR7U1lTUk9PVH0iIC1hIC1oICR7RklMRX0gXQotCXRoZW4KLQkgICAgRklMRT0kKCByZWFkbGluayAke0ZJTEV9ICkKLQkgICAgIyBjaGVjayB0aGUgc3ltbGluayBpcyBhYnNvbHV0ZSAob3IgZGFuZ2xpbmcgaW4gb3RoZXIgd29yZCkKLQkgICAgaWYgWyAieC8iID0gIngkKCBlY2hvICR7RklMRX0gfCBjdXQgLWMxIC0pIiBdCi0JICAgIHRoZW4KLQkJUkVBTF9GSUxFPSR7U1lTUk9PVH0vJHtGSUxFfQotCSAgICBmaQotCWZpCi0KLQljaGVja19maWxlICR7UkVBTF9GSUxFfQotICAgICAgICBsb2NhbCBGSUxFX1RZUEU9JHs/fQotCWxvY2FsIFRZUEVfU1RSPScnCi0KLSAgICAgICAgaWYgWyAkKCggJHtGSUxFX1RZUEV9ICYgJHtJU19DRVJUfSApKSAtbmUgMCBdCi0gICAgICAgIHRoZW4KLSAgICAgICAgICAgIFRZUEVfU1RSPSd4NTA5JwotICAgICAgICBlbGlmIFsgJCgoICR7RklMRV9UWVBFfSAmICR7SVNfQ1JMfSApKSAtbmUgMCBdCi0gICAgICAgIHRoZW4KLSAgICAgICAgICAgIFRZUEVfU1RSPSdjcmwnCi0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGVjaG8gIk5PVEU6ICR7RklMRX0gZG9lcyBub3QgY29udGFpbiBhIGNlcnRpZmljYXRlIG9yIENSTDogc2tpcHBpbmciID4mMgotCSAgICBjb250aW51ZQotICAgICAgICBmaQotCi0JbGlua19oYXNoICR7UkVBTF9GSUxFfSAke1RZUEVfU1RSfSAke0ZJTEV9Ci0gICAgZG9uZQotfQotCi0KLSMgY2hvb3NlIHRoZSBuYW1lIG9mIGFuIHNzbCBhcHBsaWNhdGlvbgotaWYgWyAtbiAiJHtPUEVOU1NMfSIgXQotdGhlbgotICAgIFNTTF9DTUQ9JCh3aGljaCAke09QRU5TU0x9IDI+L2Rldi9udWxsKQotZWxzZQotICAgIFNTTF9DTUQ9L3Vzci9iaW4vb3BlbnNzbAotICAgIE9QRU5TU0w9JHtTU0xfQ01EfQotICAgIGV4cG9ydCBPUEVOU1NMCi1maQotCi0jIGZpeCBwYXRocwotUEFUSD0ke1BBVEh9OiR7RElSfS9iaW4KLWV4cG9ydCBQQVRICi0KLSMgY29uZmlybSBleGlzdGFuY2UvZXhlY3V0YWJpbGl0eSBvZiBzc2wgY29tbWFuZAotaWYgISBbIC14ICR7U1NMX0NNRH0gXQotdGhlbgotICAgIGVjaG8gIiR7MH06IHJlaGFzaGluZyBza2lwcGVkICgnb3BlbnNzbCcgcHJvZ3JhbSBub3QgYXZhaWxhYmxlKSIgPiYyCi0gICAgZXhpdCAwCi1maQotCi0jIGRldGVybWluZSB3aGljaCBkaXJlY3RvcmllcyB0byBwcm9jZXNzCi1vbGRfSUZTPSRJRlMKLWlmIFsgJHsjfSAtZ3QgMCBdCi10aGVuCi0gICAgSUZTPSc6JwotICAgIERJUkxJU1Q9JHsqfQotZWxpZiBbIC1uICIke1NTTF9DRVJUX0RJUn0iIF0KLXRoZW4KLSAgICBESVJMSVNUPSRTU0xfQ0VSVF9ESVIKLWVsc2UKLSAgICBESVJMSVNUPSR7RElSfS9jZXJ0cwotZmkKLQotSUZTPSc6JwotCi0jIHByb2Nlc3MgZGlyZWN0b3JpZXMKLWZvciBDRVJUX0RJUiBpbiAke0RJUkxJU1R9Ci1kbwotICAgIGlmIFsgLWQgJHtDRVJUX0RJUn0gLWEgLXcgJHtDRVJUX0RJUn0gXQotICAgIHRoZW4KLSAgICAgICAgSUZTPSRvbGRfSUZTCi0gICAgICAgIGhhc2hfZGlyICR7Q0VSVF9ESVJ9Ci0gICAgICAgIElGUz0nOicKLSAgICBmaQotZG9uZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2wvb3BlbnNzbC9ydW4tcHRlc3QgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzbC9vcGVuc3NsL3J1bi1wdGVzdAppbmRleCAwYTYyMGRlLi4zZmIyMjQ3IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzbC9vcGVuc3NsL3J1bi1wdGVzdAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzbC9vcGVuc3NsL3J1bi1wdGVzdApAQCAtOSw0ICs5LDQgQEAKICMgT1BFTlNTTF9FTkdJTkVTIGlzIHJlbGF0aXZlIGZyb20gdGhlIHRlc3QgYmluYXJpZXMKIGV4cG9ydCBPUEVOU1NMX0VOR0lORVM9Li4vZW5naW5lcwogCi1wZXJsIC4vdGVzdC9ydW5fdGVzdHMucGwgJCoKK3BlcmwgLi90ZXN0L3J1bl90ZXN0cy5wbCAkKiB8IHBlcmwgLTBwZSAncyMoLiopIFwuKi5vayNQQVNTOiBcMSNnOyBzIyguKikgXC4qLnNraXBwZWQ6ICguKikjU0tJUDogXDEgKFwyKSNnOyBzIyguKikgXC4qLlxuRHViaW91cyNGQUlMOiBcMSM7JwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2wvb3BlbnNzbDEwXzEuMC4ycS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NsL29wZW5zc2wxMF8xLjAuMnEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU0YWYxMDAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2wvb3BlbnNzbDEwXzEuMC4ycS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDM2MyArMCwwIEBACi1TVU1NQVJZID0gIlNlY3VyZSBTb2NrZXQgTGF5ZXIiCi1ERVNDUklQVElPTiA9ICJTZWN1cmUgU29ja2V0IExheWVyIChTU0wpIGJpbmFyeSBhbmQgcmVsYXRlZCBjcnlwdG9ncmFwaGljIHRvb2xzLiIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cub3BlbnNzbC5vcmcvIgotQlVHVFJBQ0tFUiA9ICJodHRwOi8vd3d3Lm9wZW5zc2wub3JnL25ld3MvdnVsbmVyYWJpbGl0aWVzLmh0bWwiCi1TRUNUSU9OID0gImxpYnMvbmV0d29yayIKLQotIyAib3BlbnNzbCB8IFNTTGVheSIgZHVhbCBsaWNlbnNlCi1MSUNFTlNFID0gIm9wZW5zc2wiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1mNDc1MzY4OTI0ODI3ZDA2ZDRiNDE2MTExYzhiZGI3NyIKLQotREVQRU5EUyA9ICJob3N0cGVybC1ydW50aW1lLW5hdGl2ZSIKLURFUEVORFNfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgb3BlbnNzbC1uYXRpdmUiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5vcGVuc3NsLm9yZy9zb3VyY2Uvb3BlbnNzbC0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgZmlsZTovL29wZW5zc2wtY19yZWhhc2guc2ggXAotICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLXRhcmdldHMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vc2hhcmVkLWxpYnMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vb2UtbGRmbGFncy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9lbmdpbmVzLWluc3RhbGwtaW4tbGliZGlyLXNzbC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWJpYW4xLjAuMi9ibG9ja19kaWdpbm90YXIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuMS4wLjIvYmxvY2tfZGlnaWNlcnRfbWFsYXlzaWEucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuL2NfcmVoYXNoLWNvbXBhdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vZGViaWFuLXRhcmdldHMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuL21hbi1kaXIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuL21hbi1zZWN0aW9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2RlYmlhbi9uby1ycGF0aC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vbm8tc3ltYm9saWMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuL3BpYy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWJpYW4xLjAuMi92ZXJzaW9uLXNjcmlwdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWJpYW4xLjAuMi9zb25hbWUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vb3BlbnNzbF9maXhfZm9yX3gzMi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9vcGVuc3NsLWZpeC1kZXMucG9kLWVycm9yLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL01ha2VmaWxlcy1wdGVzdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9wdGVzdC1kZXBzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3B0ZXN0X21ha2VmaWxlX2RlcHMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLW11c2wtdGFyZ2V0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3BhcmFsbGVsLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL1VzZS1TSEEyNTYtbm90LU1ENS1hcy1kZWZhdWx0LWRpZ2VzdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1idWlsZC13aXRoLWNsYW5nLXVzaW5nLWV4dGVybmFsLWFzc2VtYmxlci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLW9wZW5zc2wtZm9yY2Utc29mdC1saW5rLXRvLWF2b2lkLXJhcmUtcmFjZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWFsbG93LW1hbnBhZ2VzLXRvLWJlLWRpc2FibGVkLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LUJOX0xMT05HLWJyZWFrYWdlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LURFU19MT05HLWJyZWFrYWdlLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIFwKLSAgICAgICAgICAgZmlsZTovL3JlcHJvZHVjaWJsZS1jZmxhZ3MucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcmVwcm9kdWNpYmxlLW1rYnVpbGRpbmYucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgXAotICAgICAgICAgICBmaWxlOi8vZW52aXJvbm1lbnQuZC1vcGVuc3NsLnNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNzU2M2UxY2UwNDZjYjIxOTQ4ZWViNmJhMWEwZWI3MWMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTc0NGNmY2JjZWMyYjFiNDg2MjlmNzM1NDIwM2JjMWU1ZTliNTQ2Njk5OGJiY2NjNWI1ZmNkZTNiMThlYjY4NCIKLQotUyA9ICIke1dPUktESVJ9L29wZW5zc2wtJHtQVn0iCi0KLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gIm9wZW5zc2wtKD9QPHB2ZXI+MVwuMC4rKVwudGFyIgotCi1pbmhlcml0IHBrZ2NvbmZpZyBzaXRlaW5mbyBtdWx0aWxpYl9oZWFkZXIgcHRlc3QgbWFucGFnZXMKLQotUEFDS0FHRUNPTkZJRyA/PSAiY3J5cHRvZGV2LWxpbnV4IgotUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmUgPSAiIgotUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmVzZGsgPSAiIgotCi1QQUNLQUdFQ09ORklHW2NyeXB0b2Rldi1saW51eF0gPSAiLURIQVZFX0NSWVBUT0RFViAtRFVTRV9DUllQVE9ERVZfRElHRVNUUywsY3J5cHRvZGV2LWxpbnV4IgotUEFDS0FHRUNPTkZJR1ttYW5wYWdlc10gPSAiLCwsIgotUEFDS0FHRUNPTkZJR1twZXJsXSA9ICIsLCwiCi0KLSMgUmVtb3ZlIHRoaXMgdG8gZW5hYmxlIFNTTHYzLiBTU0x2MyBpcyBkZWZhdWx0ZWQgdG8gZGlzYWJsZWQgZHVlIHRvIHRoZSBQT09ETEUKLSMgdnVsbmVyYWJpbGl0eQotRVhUUkFfT0VDT05GID0gIm5vLXNzbDMiCi0KLUVYVFJBX09FTUFLRSA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdtYW5wYWdlcycsICcnLCAnT0VfRElTQUJMRV9NQU5QQUdFUz0xJywgZCl9IgotCi1leHBvcnQgT0VfTERGTEFHUyA9ICIke0xERkxBR1N9IgotCi0jIG9wZW5zc2wgZmFpbHMgd2l0aCBjY2FjaGU6IGh0dHBzOi8vYnVnemlsbGEueW9jdG9wcm9qZWN0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4MTAKLUNDQUNIRSA9ICIiCi0KLVRFUk1JTyA/PSAiLURURVJNSU8iCi1URVJNSU9fbGliYy1tdXNsID0gIi1EVEVSTUlPUyIKLUVYVFJBX09FQ09ORl9hcHBlbmRfbGliYy1tdXNsX3Bvd2VycGM2NCA9ICIgbm8tYXNtIgotCi1DRkxBRyA9ICIke0BvZS51dGlscy5jb25kaXRpb25hbCgnU0lURUlORk9fRU5ESUFOTkVTUycsICdsZScsICctRExfRU5ESUFOJywgJy1EQl9FTkRJQU4nLCBkKX0gXAotICAgICAgICAgJHtURVJNSU99ICR7Q0ZMQUdTfSAtV2FsbCIKLQotIyBBdm9pZCBiaW5hcmllcyBiZWluZyBtYXJrZWQgYXMgcmVxdWlyaW5nIGFuIGV4ZWN1dGFibGUgc3RhY2sgc2luY2UgdGhleSBkb24ndAotIyAoYW5kIGl0IGNhdXNlcyBpc3N1ZXMgd2l0aCBTRUxpbnV4KQotQ0ZMQUcgKz0gIi1XYSwtLW5vZXhlY3N0YWNrIgotCi1DRkxBR19hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiAtZlBJQyIKLQotZG9fY29uZmlndXJlICgpIHsKLQkjIFRoZSBjcnlwdG9fdXNlX2JpZ2ludCBwYXRjaCBtZWFucyB0aGF0IHBlcmwncyBiaWdudW0gbW9kdWxlIG5lZWRzIHRvIGJlCi0JIyBpbnN0YWxsZWQsIGJ1dCBzb21lIGRpc3RyaWJ1dGlvbnMgKGZvciBleGFtcGxlIEZlZG9yYSAyMykgZG9uJ3Qgc2hpcCBpdCBieQotCSMgZGVmYXVsdC4gIEFzIHRoZSByZXN1bHRpbmcgZXJyb3IgaXMgdmVyeSBtaXNsZWFkaW5nIGNoZWNrIGZvciBiaWdudW0gYmVmb3JlCi0JIyBidWlsZGluZy4KLQlpZiAhIHBlcmwgLU1iaWdpbnQgLWUgdHJ1ZTsgdGhlbgotCQliYmZhdGFsICJUaGUgcGVybCBtb2R1bGUgJ2JpZ251bScgd2FzIG5vdCBmb3VuZCBidXQgdGhpcyBpcyByZXF1aXJlZCB0byBidWlsZCBvcGVuc3NsLiAgUGxlYXNlIGluc3RhbGwgdGhpcyBtb2R1bGUgKG9mdGVuIHBhY2thZ2VkIGFzIHBlcmwtYmlnbnVtKSBhbmQgcmUtcnVuIGJpdGJha2UuIgotCWZpCi0KLQlsbiAtc2YgYXBwcy9vcGVuc3NsLnBvZCBjcnlwdG8vY3J5cHRvLnBvZCBzc2wvc3NsLnBvZCBkb2MvCi0KLQlvcz0ke0hPU1RfT1N9Ci0JY2FzZSAkb3MgaW4KLQlsaW51eC1nbnVlYWJpIHxcCi0JbGludXgtZ251c3BlIHxcCi0JbGludXgtbXVzbGVhYmkgfFwKLQlsaW51eC1tdXNsc3BlIHxcCi0JbGludXgtbXVzbCApCi0JCW9zPWxpbnV4Ci0JCTs7Ci0JKikKLQkJOzsKLQllc2FjCi0JdGFyZ2V0PSIkb3MtJHtIT1NUX0FSQ0h9IgotCWNhc2UgJHRhcmdldCBpbgotCWxpbnV4LWFybSkKLQkJdGFyZ2V0PWxpbnV4LWFybXY0Ci0JCTs7Ci0JbGludXgtYXJtZWIpCi0JCXRhcmdldD1saW51eC1lbGYtYXJtZWIKLQkJOzsKLQlsaW51eC1hYXJjaDY0KikKLQkJdGFyZ2V0PWxpbnV4LWFhcmNoNjQKLQkJOzsKLQlsaW51eC1zaDMpCi0JCXRhcmdldD1kZWJpYW4tc2gzCi0JCTs7Ci0JbGludXgtc2g0KQotCQl0YXJnZXQ9ZGViaWFuLXNoNAotCQk7OwotCWxpbnV4LWk0ODYpCi0JCXRhcmdldD1kZWJpYW4taTM4Ni1pNDg2Ci0JCTs7Ci0JbGludXgtaTU4NiB8IGxpbnV4LXZpYWMzKQotCQl0YXJnZXQ9ZGViaWFuLWkzODYtaTU4NgotCQk7OwotCWxpbnV4LWk2ODYpCi0JCXRhcmdldD1kZWJpYW4taTM4Ni1pNjg2L2Ntb3YKLQkJOzsKLQlsaW51eC1nbnV4MzIteDg2XzY0IHwgbGludXgtbXVzbHgzMi14ODZfNjQgKQotCQl0YXJnZXQ9bGludXgteDMyCi0JCTs7Ci0JbGludXgtZ251NjQteDg2XzY0KQotCQl0YXJnZXQ9bGludXgteDg2XzY0Ci0JCTs7Ci0JbGludXgtZ251bjMyLW1pcHMqZWwpCi0JCXRhcmdldD1kZWJpYW4tbWlwc24zMmVsCi0JCTs7Ci0JbGludXgtZ251bjMyLW1pcHMqKQotCQl0YXJnZXQ9ZGViaWFuLW1pcHNuMzIKLQkJOzsKLQlsaW51eC1taXBzKjY0KmVsKQotCQl0YXJnZXQ9ZGViaWFuLW1pcHM2NGVsCi0JCTs7Ci0JbGludXgtbWlwcyo2NCopCi0JCXRhcmdldD1kZWJpYW4tbWlwczY0Ci0JCTs7Ci0JbGludXgtbWlwcyplbCkKLQkJdGFyZ2V0PWRlYmlhbi1taXBzZWwKLQkJOzsKLQlsaW51eC1taXBzKikKLQkJdGFyZ2V0PWRlYmlhbi1taXBzCi0JCTs7Ci0JbGludXgtbWljcm9ibGF6ZSogfCBsaW51eC1uaW9zMiogfCBsaW51eC1nbnUqaWxwMzIqKiB8IGxpbnV4LWFyYyopCi0JCXRhcmdldD1saW51eC1nZW5lcmljMzIKLQkJOzsKLQlsaW51eC1wb3dlcnBjKQotCQl0YXJnZXQ9bGludXgtcHBjCi0JCTs7Ci0JbGludXgtcG93ZXJwYzY0KQotCQl0YXJnZXQ9bGludXgtcHBjNjQKLQkJOzsKLQlsaW51eC1yaXNjdjMyKQotCQl0YXJnZXQ9bGludXgtZ2VuZXJpYzMyCi0JCTs7Ci0JbGludXgtcmlzY3Y2NCkKLQkJdGFyZ2V0PWxpbnV4LWdlbmVyaWM2NAotCQk7OwotCWxpbnV4LXNwYXJjIHwgbGludXgtc3VwZXJzcGFyYykKLQkJdGFyZ2V0PWxpbnV4LXNwYXJjdjgKLQkJOzsKLQllc2FjCi0KLQkjIGluamVjdCBtYWNoaW5lLXNwZWNpZmljIGZsYWdzCi0Jc2VkIC1pIC1lICJzfF5cKFwiJHRhcmdldFwiLFxzKlwiW146XVwrXCk6XChbXjpdXCtcKXxcMToke0NGTEFHfXxnIiBDb25maWd1cmUKLQotCXVzZXByZWZpeD0ke3ByZWZpeH0KLQlpZiBbICJ4JHVzZXByZWZpeCIgPSAieCIgXTsgdGhlbgotCQl1c2VwcmVmaXg9LwotCWZpCi0JbGliZGlybGVhZj0iJCggZWNobyAiJHtsaWJkaXJ9IiB8IHNlZCAiczpeJHVzZXByZWZpeC8qOjoiICkiCi0JcGVybCAuL0NvbmZpZ3VyZSAke0VYVFJBX09FQ09ORn0gJHtQQUNLQUdFQ09ORklHX0NPTkZBUkdTfSBzaGFyZWQgLS1wcmVmaXg9JHVzZXByZWZpeCAtLW9wZW5zc2xkaXI9JHtsaWJkaXJ9L3NzbCAtLWxpYmRpcj0kbGliZGlybGVhZiAkdGFyZ2V0Ci19Ci0KLWRvX2NvbXBpbGUgKCkgewotCW9lX3J1bm1ha2UgZGVwZW5kCi0Jb2VfcnVubWFrZQotfQotCi1kb19jb21waWxlX2NsYXNzLXRhcmdldCAoKSB7Ci0Jc2VkIC1pICdzL1woKE9QRU5TU0w9XCkiLioiL1wxIm9wZW5zc2wiLycgTWFrZWZpbGUKLQlvZV9ydW5tYWtlIGRlcGVuZAotCWNjX3Nhbml0aXplZD0kKGVjaG8gIiR7Q0N9ICR7Q0ZMQUd9IiB8IHNlZCAtZSAncywtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9UQVJHRVR9LCxnJyAtZSAnc3wke0RFQlVHX1BSRUZJWF9NQVB9fHxnJyAtZSAncy9bIFx0XVwrLyAvZycpCi0Jb2VfcnVubWFrZSBDQ19JTkZPPSIkY2Nfc2FuaXRpemVkIgotfQotCi1kb19jb21waWxlX3B0ZXN0ICgpIHsKLQlvZV9ydW5tYWtlIGJ1aWxkdGVzdAotfQotCi1kb19pbnN0YWxsICgpIHsKLQkjIENyZWF0ZSAke0R9LyR7cHJlZml4fSB0byBmaXggcGFyYWxsZWwgaXNzdWVzCi0JbWtkaXIgLXAgJHtEfS8ke3ByZWZpeH0vCi0KLQlvZV9ydW5tYWtlIElOU1RBTExfUFJFRklYPSIke0R9IiBNQU5ESVI9IiR7bWFuZGlyfSIgaW5zdGFsbAotCi0Jb2VfbGliaW5zdGFsbCAtc28gbGliY3J5cHRvICR7RH0ke2xpYmRpcn0KLQlvZV9saWJpbnN0YWxsIC1zbyBsaWJzc2wgJHtEfSR7bGliZGlyfQotCi0JaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfQotCWNwIC0tZGVyZWZlcmVuY2UgLVIgaW5jbHVkZS9vcGVuc3NsICR7RH0ke2luY2x1ZGVkaXJ9Ci0KLQlvZV9tdWx0aWxpYl9oZWFkZXIgb3BlbnNzbC9vcGVuc3NsY29uZi5oCi0KLQlpbnN0YWxsIC1EbSAwNzU1ICR7V09SS0RJUn0vb3BlbnNzbC1jX3JlaGFzaC5zaCAke0R9JHtiaW5kaXJ9L2NfcmVoYXNoCi0Jc2VkIC1pIC1lICdzLC9ldGMvb3BlbnNzbCwke3N5c2NvbmZkaXJ9L3NzbCxnJyAke0R9JHtiaW5kaXJ9L2NfcmVoYXNoCi0KLQlpZiBbICIke0BiYi51dGlscy5maWx0ZXIoJ1BBQ0tBR0VDT05GSUcnLCAncGVybCcsIGQpfSIgXTsgdGhlbgotCQlzZWQgLWkgLWUgJzFzLC4qLCMhJHtiaW5kaXJ9L2VudiBwZXJsLCcgJHtEfSR7bGliZGlyfS9zc2wvbWlzYy9DQS5wbAotCQlzZWQgLWkgLWUgJzFzLC4qLCMhJHtiaW5kaXJ9L2VudiBwZXJsLCcgJHtEfSR7bGliZGlyfS9zc2wvbWlzYy90c2dldAotCWVsc2UKLQkJcm0gLWYgJHtEfSR7bGliZGlyfS9zc2wvbWlzYy9DQS5wbCAke0R9JHtsaWJkaXJ9L3NzbC9taXNjL3RzZ2V0Ci0JZmkKLQotCSMgQ3JlYXRlIFNTTCBzdHJ1Y3R1cmUgZm9yIHBhY2thZ2VzIHN1Y2ggYXMgY2EtY2VydGlmaWNhdGVzIHdoaWNoCi0JIyBjb250YWluIGhhcmQtY29kZWQgcGF0aHMgdG8gL2V0Yy9zc2wuIERlYmlhbiBkb2VzIHRoZSBzYW1lLgotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vc3NsCi0JbXYgJHtEfSR7bGliZGlyfS9zc2wvY2VydHMgXAotCSAgICR7RH0ke2xpYmRpcn0vc3NsL3ByaXZhdGUgXAotCSAgICR7RH0ke2xpYmRpcn0vc3NsL29wZW5zc2wuY25mIFwKLQkgICAke0R9JHtzeXNjb25mZGlyfS9zc2wvCi0KLQkjIEFsdGhvdWdoIGFic29sdXRlIHN5bWxpbmtzIHdvdWxkIGJlIE9LIGZvciB0aGUgdGFyZ2V0LCB0aGV5IGJlY29tZQotCSMgaW52YWxpZCBpZiBuYXRpdmUgb3IgbmF0aXZlc2RrIGFyZSByZWxvY2F0ZWQgZnJvbSBzc3RhdGUuCi0JbG4gLXNmICR7QG9lLnBhdGgucmVsYXRpdmUoJyR7bGliZGlyfS9zc2wnLCAnJHtzeXNjb25mZGlyfS9zc2wvY2VydHMnKX0gJHtEfSR7bGliZGlyfS9zc2wvY2VydHMKLQlsbiAtc2YgJHtAb2UucGF0aC5yZWxhdGl2ZSgnJHtsaWJkaXJ9L3NzbCcsICcke3N5c2NvbmZkaXJ9L3NzbC9wcml2YXRlJyl9ICR7RH0ke2xpYmRpcn0vc3NsL3ByaXZhdGUKLQlsbiAtc2YgJHtAb2UucGF0aC5yZWxhdGl2ZSgnJHtsaWJkaXJ9L3NzbCcsICcke3N5c2NvbmZkaXJ9L3NzbC9vcGVuc3NsLmNuZicpfSAke0R9JHtsaWJkaXJ9L3NzbC9vcGVuc3NsLmNuZgotCi0JIyBSZW5hbWUgbWFuIHBhZ2VzIHRvIHByZWZpeCBvcGVuc3NsMTAtKgotCWZvciBmIGluIGBmaW5kICR7RH0ke21hbmRpcn0gLXR5cGUgZmA7IGRvCi0JICAgIG12ICRmICQoZGlybmFtZSAkZikvb3BlbnNzbDEwLSQoYmFzZW5hbWUgJGYpCi0JZG9uZQotCWZvciBmIGluIGBmaW5kICR7RH0ke21hbmRpcn0gLXR5cGUgbGA7IGRvCi0JICAgIGxuX2Y9YHJlYWRsaW5rICRmYAotCSAgICBybSAtZiAkZgotCSAgICBsbiAtcyBvcGVuc3NsMTAtJGxuX2YgJChkaXJuYW1lICRmKS9vcGVuc3NsMTAtJChiYXNlbmFtZSAkZikKLQlkb25lCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7Ci0JY3JlYXRlX3dyYXBwZXIgJHtEfSR7YmluZGlyfS9vcGVuc3NsIFwKLQkgICAgT1BFTlNTTF9DT05GPSR7bGliZGlyfS9zc2wvb3BlbnNzbC5jbmYgXAotCSAgICBTU0xfQ0VSVF9ESVI9JHtsaWJkaXJ9L3NzbC9jZXJ0cyBcCi0JICAgIFNTTF9DRVJUX0ZJTEU9JHtsaWJkaXJ9L3NzbC9jZXJ0LnBlbSBcCi0JICAgIE9QRU5TU0xfRU5HSU5FUz0ke2xpYmRpcn0vc3NsL2VuZ2luZXMKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrICgpIHsKLQlta2RpciAtcCAke0R9JHtTREtQQVRITkFUSVZFfS9lbnZpcm9ubWVudC1zZXR1cC5kCi0JaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9lbnZpcm9ubWVudC5kLW9wZW5zc2wuc2ggJHtEfSR7U0RLUEFUSE5BVElWRX0vZW52aXJvbm1lbnQtc2V0dXAuZC9vcGVuc3NsLnNoCi19Ci0KLWRvX2luc3RhbGxfcHRlc3QgKCkgewotCWNwIC1yIC1MIE1ha2VmaWxlLm9yZyBNYWtlZmlsZSB0ZXN0ICR7RH0ke1BURVNUX1BBVEh9Ci0KLQkjIFJlcGxhY2UgdGhlIHBhdGggdG8gbmF0aXZlIHBlcmwgd2l0aCB0aGUgcGF0aCB0byB0YXJnZXQgcGVybAotCXNlZCAtaSAncyxeUEVSTD0uKixQRVJMPSR7YmluZGlyfS9wZXJsLCcgJHtEfSR7UFRFU1RfUEFUSH0vTWFrZWZpbGUKLQotCWNwIENvbmZpZ3VyZSBjb25maWcgZV9vcy5oICR7RH0ke1BURVNUX1BBVEh9Ci0JY3AgLXIgLUwgaW5jbHVkZSAke0R9JHtQVEVTVF9QQVRIfQotCWxuIC1zZiAke2xpYmRpcn0vbGliY3J5cHRvLmEgJHtEfSR7UFRFU1RfUEFUSH0KLQlsbiAtc2YgJHtsaWJkaXJ9L2xpYnNzbC5hICR7RH0ke1BURVNUX1BBVEh9Ci0JbWtkaXIgLXAgJHtEfSR7UFRFU1RfUEFUSH0vY3J5cHRvCi0JY3AgY3J5cHRvL2NvbnN0YW50X3RpbWVfbG9jbC5oICR7RH0ke1BURVNUX1BBVEh9L2NyeXB0bwotCWNwIC1yIGNlcnRzICR7RH0ke1BURVNUX1BBVEh9Ci0JbWtkaXIgLXAgJHtEfSR7UFRFU1RfUEFUSH0vYXBwcwotCWxuIC1zZiAke2xpYmRpcn0vc3NsL21pc2MvQ0Euc2ggICR7RH0ke1BURVNUX1BBVEh9L2FwcHMKLQlsbiAtc2YgJHtzeXNjb25mZGlyfS9zc2wvb3BlbnNzbC5jbmYgJHtEfSR7UFRFU1RfUEFUSH0vYXBwcwotCWxuIC1zZiAke2JpbmRpcn0vb3BlbnNzbCAgICAgICAgICR7RH0ke1BURVNUX1BBVEh9L2FwcHMKLQljcCBhcHBzL3NlcnZlci5wZW0gICAgICAgICAgICAgICR7RH0ke1BURVNUX1BBVEh9L2FwcHMKLQljcCBhcHBzL3NlcnZlcjIucGVtICAgICAgICAgICAgICR7RH0ke1BURVNUX1BBVEh9L2FwcHMKLQlta2RpciAtcCAke0R9JHtQVEVTVF9QQVRIfS91dGlsCi0JaW5zdGFsbCB1dGlsL29wZW5zc2x3cmFwLnNoICAgICR7RH0ke1BURVNUX1BBVEh9L3V0aWwKLQlpbnN0YWxsIHV0aWwvc2hsaWJfd3JhcC5zaCAgICAgJHtEfSR7UFRFU1RfUEFUSH0vdXRpbAotCSMgVGltZSBzdGFtcHMgYXJlIHJlbGV2YW50IGZvciAibWFrZSBhbGx0ZXN0cyIsIG90aGVyd2lzZQotCSMgbWFrZSBtYXkgdHJ5IHRvIHJlY29tcGlsZSBiaW5hcmllcy4gTm90IG9ubHkgbXVzdCB0aGUKLQkjIGJpbmFyeSBmaWxlcyBiZSBuZXdlciB0aGFuIHRoZSBzb3VyY2VzLCB0aGV5IGFsc28gbXVzdAotCSMgYmUgbW9yZSByZWNlbnQgdGhhbiB0aGUgaGVhZGVyIGZpbGVzIGluIC91c3IvaW5jbHVkZS4KLQkjCi0JIyBVc2luZyAiY3AgLWEiIGlzIG5vdCBzdWZmaWNpZW50LCBiZWNhdXNlIGRvX2luc3RhbGwKLQkjIGRvZXMgbm90IHByZXNlcnZlIHRoZSBvcmlnaW5hbCB0aW1lIHN0YW1wcy4KLQkjCi0JIyBTbyBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBvcmlnaW5hbCBmaWxlIHN0YW1wcywgd2Ugc2V0Ci0JIyB0aGUgY3VycmVudCB0aW1lIGZvciBhbGwgZmlsZXMuIEJpbmFyaWVzIHdpbGwgZ2V0Ci0JIyBtb2RpZmllZCBhZ2FpbiBsYXRlciB3aGVuIHN0cmlwcGluZyB0aGVtLCBidXQgdGhhdCdzIG9rYXkuCi0JdG91Y2ggJHtEfSR7UFRFU1RfUEFUSH0KLQlmaW5kICR7RH0ke1BURVNUX1BBVEh9IC10eXBlIGYgLXByaW50MCB8IHhhcmdzIC0tdmVyYm9zZSAtMCB0b3VjaCAtciAke0R9JHtQVEVTVF9QQVRIfQotCi0JIyBleGNsdWRlIGJpbmFyeSBmaWxlcyBvciB0aGUgcGFja2FnZSB3b24ndCBpbnN0YWxsCi0JZm9yIGQgaW4gc3NsdGVzdF9vbGQgdjNleHQgeDUwOWF1eDsgZG8KLQkJcm0gLXJmICR7RH0ke2xpYmRpcn0vJHtCUE59L3B0ZXN0L3Rlc3QvJGQKLQlkb25lCi0KLQkjIFJlbW92ZSBidWlsZCBob3N0IHJlZmVyZW5jZXMKLQlzZWQgLWkgXAotCS1lICdzLC0tc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH0sLGcnIFwKLQktZSAnc3wke0RFQlVHX1BSRUZJWF9NQVB9fHxnJyBcCi0JJHtEfSR7UFRFU1RfUEFUSH0vTWFrZWZpbGUgJHtEfSR7UFRFU1RfUEFUSH0vQ29uZmlndXJlCi19Ci0KLSMgQWRkIHRoZSBvcGVuc3NsLmNuZiBmaWxlIHRvIHRoZSBvcGVuc3NsLWNvbmYgcGFja2FnZS4gTWFrZSB0aGUgbGliY3J5cHRvCi0jIHBhY2thZ2UgUlJFQ09NTUVORFMgb24gdGhpcyBwYWNrYWdlLiBUaGlzIHdpbGwgZW5hYmxlIHRoZSBjb25maWd1cmF0aW9uCi0jIGZpbGUgdG8gYmUgaW5zdGFsbGVkIGZvciBib3RoIHRoZSBiYXNlIG9wZW5zc2wgcGFja2FnZSBhbmQgdGhlIGxpYmNyeXB0bwotIyBwYWNrYWdlIHNpbmNlIHRoZSBiYXNlIG9wZW5zc2wgcGFja2FnZSBkZXBlbmRzIG9uIHRoZSBsaWJjcnlwdG8gcGFja2FnZS4KLQotUEFDS0FHRVMgPSsgImxpYmNyeXB0bzEwIGxpYnNzbDEwIG9wZW5zc2wxMC1jb25mICR7UE59LWVuZ2luZXMgJHtQTn0tbWlzYyIKLQotRklMRVNfbGliY3J5cHRvMTAgPSAiJHtsaWJkaXJ9L2xpYmNyeXB0byR7U09MSUJTfSIKLUZJTEVTX2xpYnNzbDEwID0gIiR7bGliZGlyfS9saWJzc2wke1NPTElCU30iCi1GSUxFU19vcGVuc3NsMTAtY29uZiA9ICIke3N5c2NvbmZkaXJ9L3NzbC9vcGVuc3NsLmNuZiIKLUZJTEVTXyR7UE59LWVuZ2luZXMgPSAiJHtsaWJkaXJ9L3NzbC9lbmdpbmVzLyouc28gJHtsaWJkaXJ9L2VuZ2luZXMiCi1GSUxFU18ke1BOfS1taXNjID0gIiR7bGliZGlyfS9zc2wvbWlzYyIKLUZJTEVTXyR7UE59ID0rICIke2xpYmRpcn0vc3NsLyoiCi1GSUxFU18ke1BOfV9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiAke1NES1BBVEhOQVRJVkV9L2Vudmlyb25tZW50LXNldHVwLmQvb3BlbnNzbC5zaCIKLQotQ09ORkZJTEVTX29wZW5zc2wxMC1jb25mID0gIiR7c3lzY29uZmRpcn0vc3NsL29wZW5zc2wuY25mIgotCi1SUkVDT01NRU5EU19saWJjcnlwdG8xMCArPSAib3BlbnNzbDEwLWNvbmYiCi1SREVQRU5EU18ke1BOfS1taXNjID0gIiR7QGJiLnV0aWxzLmZpbHRlcignUEFDS0FHRUNPTkZJRycsICdwZXJsJywgZCl9IgotUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIiR7UE59LW1pc2MgbWFrZSBwZXJsIHBlcmwtbW9kdWxlLWZpbGVoYW5kbGUgYmMiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKLVBBQ0tBR0VfUFJFUFJPQ0VTU19GVU5DUyArPSAib3BlbnNzbF9wYWNrYWdlX3ByZXByb2Nlc3MiCi0KLSMgb3BlbnNzbCAxLjAgZGV2ZWxvcG1lbnQgZmlsZXMgYW5kIGV4ZWN1dGFibGUgYmluYXJpZXMgY2xhc2ggd2l0aCBvcGVuc3NsIDEuMQotIyBmaWxlcyB3aGVuIGluc3RhbGxlZCBpbnRvIHRhcmdldCByb290ZnMuIFNvIHdlIGRvbid0IHB1dCB0aGVtIGludG8KLSMgcGFja2FnZXMsIGJ1dCB0aGV5IGNvbnRpbnVlIHRvIGJlIHByb3ZpZGVkIHZpYSB0YXJnZXQgc3lzcm9vdCBmb3IKLSMgY3Jvc3MtY29tcGlsYXRpb24gb24gdGhlIGhvc3QsIGlmIHNvbWUgc29mdHdhcmUgc3RpbGwgZGVwZW5kcyBvbiBvcGVuc3NsIDEuMC4KLW9wZW5zc2xfcGFja2FnZV9wcmVwcm9jZXNzICgpIHsKLSAgICAgICAgZm9yIGZpbGUgaW4gYGZpbmQgJHtQS0dEfSAtbmFtZSAqLmggLW8gLW5hbWUgKi5wYyAtbyAtbmFtZSAqLnNvYDsgZG8KLSAgICAgICAgICAgICAgICBybSAkZmlsZQotICAgICAgICBkb25lCi0gICAgICAgIHJtICR7UEtHRH0ke2JpbmRpcn0vb3BlbnNzbAotICAgICAgICBybSAke1BLR0R9JHtiaW5kaXJ9L2NfcmVoYXNoCi0gICAgICAgIHJtZGlyICR7UEtHRH0ke2JpbmRpcn0KLQotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2wvb3BlbnNzbDEwXzEuMC4yci5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NsL29wZW5zc2wxMF8xLjAuMnIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODdkZjRmNQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NsL29wZW5zc2wxMF8xLjAuMnIuYmIKQEAgLTAsMCArMSwzNjAgQEAKK1NVTU1BUlkgPSAiU2VjdXJlIFNvY2tldCBMYXllciIKK0RFU0NSSVBUSU9OID0gIlNlY3VyZSBTb2NrZXQgTGF5ZXIgKFNTTCkgYmluYXJ5IGFuZCByZWxhdGVkIGNyeXB0b2dyYXBoaWMgdG9vbHMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5vcGVuc3NsLm9yZy8iCitCVUdUUkFDS0VSID0gImh0dHA6Ly93d3cub3BlbnNzbC5vcmcvbmV3cy92dWxuZXJhYmlsaXRpZXMuaHRtbCIKK1NFQ1RJT04gPSAibGlicy9uZXR3b3JrIgorCisjICJvcGVuc3NsIHwgU1NMZWF5IiBkdWFsIGxpY2Vuc2UKK0xJQ0VOU0UgPSAib3BlbnNzbCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWY0NzUzNjg5MjQ4MjdkMDZkNGI0MTYxMTFjOGJkYjc3IgorCitERVBFTkRTID0gImhvc3RwZXJsLXJ1bnRpbWUtbmF0aXZlIgorREVQRU5EU19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBvcGVuc3NsLW5hdGl2ZSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3Lm9wZW5zc2wub3JnL3NvdXJjZS9vcGVuc3NsLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorICAgICAgICAgICBmaWxlOi8vb3BlbnNzbC1jX3JlaGFzaC5zaCBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUtdGFyZ2V0cy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zaGFyZWQtbGlicy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9vZS1sZGZsYWdzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2VuZ2luZXMtaW5zdGFsbC1pbi1saWJkaXItc3NsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2RlYmlhbjEuMC4yL2Jsb2NrX2RpZ2lub3Rhci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4xLjAuMi9ibG9ja19kaWdpY2VydF9tYWxheXNpYS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vY19yZWhhc2gtY29tcGF0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2RlYmlhbi9kZWJpYW4tdGFyZ2V0cy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vbWFuLWRpci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vbWFuLXNlY3Rpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZGViaWFuL25vLXJwYXRoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2RlYmlhbi9uby1zeW1ib2xpYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vcGljLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2RlYmlhbjEuMC4yL3ZlcnNpb24tc2NyaXB0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2RlYmlhbjEuMC4yL3NvbmFtZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9vcGVuc3NsX2ZpeF9mb3JfeDMyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL29wZW5zc2wtZml4LWRlcy5wb2QtZXJyb3IucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vTWFrZWZpbGVzLXB0ZXN0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3B0ZXN0LWRlcHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcHRlc3RfbWFrZWZpbGVfZGVwcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUtbXVzbC10YXJnZXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcGFyYWxsZWwucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vVXNlLVNIQTI1Ni1ub3QtTUQ1LWFzLWRlZmF1bHQtZGlnZXN0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWJ1aWxkLXdpdGgtY2xhbmctdXNpbmctZXh0ZXJuYWwtYXNzZW1ibGVyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtb3BlbnNzbC1mb3JjZS1zb2Z0LWxpbmstdG8tYXZvaWQtcmFyZS1yYWNlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtYWxsb3ctbWFucGFnZXMtdG8tYmUtZGlzYWJsZWQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtQk5fTExPTkctYnJlYWthZ2UucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtREVTX0xPTkctYnJlYWthZ2UucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgXAorICAgICAgICAgICBmaWxlOi8vcmVwcm9kdWNpYmxlLWNmbGFncy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9yZXByb2R1Y2libGUtbWtidWlsZGluZi5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiBcCisgICAgICAgICAgIGZpbGU6Ly9lbnZpcm9ubWVudC5kLW9wZW5zc2wuc2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwZDJiYWFmMDRjNTZkNTQyZjZjYzc1N2I5YzJhMmFhYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhZTUxZDA4YmJhOGE4Mzk1OGU4OTQ5NDZmMTUzMDNmZjg5NGQ3NWMyYjhiYmQ0NGE4NTJiNjRlM2ZlMTFkMGQ2IgorCitTID0gIiR7V09SS0RJUn0vb3BlbnNzbC0ke1BWfSIKKworVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAib3BlbnNzbC0oP1A8cHZlcj4xXC4wLispXC50YXIiCisKK2luaGVyaXQgcGtnY29uZmlnIHNpdGVpbmZvIG11bHRpbGliX2hlYWRlciBwdGVzdCBtYW5wYWdlcworCitQQUNLQUdFQ09ORklHID89ICJjcnlwdG9kZXYtbGludXgiCitQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZSA9ICIiCitQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZXNkayA9ICIiCisKK1BBQ0tBR0VDT05GSUdbY3J5cHRvZGV2LWxpbnV4XSA9ICItREhBVkVfQ1JZUFRPREVWIC1EVVNFX0NSWVBUT0RFVl9ESUdFU1RTLCxjcnlwdG9kZXYtbGludXgiCitQQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICIsLCwiCitQQUNLQUdFQ09ORklHW3BlcmxdID0gIiwsLCIKKworIyBSZW1vdmUgdGhpcyB0byBlbmFibGUgU1NMdjMuIFNTTHYzIGlzIGRlZmF1bHRlZCB0byBkaXNhYmxlZCBkdWUgdG8gdGhlIFBPT0RMRQorIyB2dWxuZXJhYmlsaXR5CitFWFRSQV9PRUNPTkYgPSAibm8tc3NsMyIKKworRVhUUkFfT0VNQUtFID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ21hbnBhZ2VzJywgJycsICdPRV9ESVNBQkxFX01BTlBBR0VTPTEnLCBkKX0iCisKK2V4cG9ydCBPRV9MREZMQUdTID0gIiR7TERGTEFHU30iCisKK1RFUk1JTyA/PSAiLURURVJNSU8iCitURVJNSU9fbGliYy1tdXNsID0gIi1EVEVSTUlPUyIKK0VYVFJBX09FQ09ORl9hcHBlbmRfbGliYy1tdXNsX3Bvd2VycGM2NCA9ICIgbm8tYXNtIgorCitDRkxBRyA9ICIke0BvZS51dGlscy5jb25kaXRpb25hbCgnU0lURUlORk9fRU5ESUFOTkVTUycsICdsZScsICctRExfRU5ESUFOJywgJy1EQl9FTkRJQU4nLCBkKX0gXAorICAgICAgICAgJHtURVJNSU99ICR7Q0ZMQUdTfSAtV2FsbCIKKworIyBBdm9pZCBiaW5hcmllcyBiZWluZyBtYXJrZWQgYXMgcmVxdWlyaW5nIGFuIGV4ZWN1dGFibGUgc3RhY2sgc2luY2UgdGhleSBkb24ndAorIyAoYW5kIGl0IGNhdXNlcyBpc3N1ZXMgd2l0aCBTRUxpbnV4KQorQ0ZMQUcgKz0gIi1XYSwtLW5vZXhlY3N0YWNrIgorCitDRkxBR19hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiAtZlBJQyIKKworZG9fY29uZmlndXJlICgpIHsKKwkjIFRoZSBjcnlwdG9fdXNlX2JpZ2ludCBwYXRjaCBtZWFucyB0aGF0IHBlcmwncyBiaWdudW0gbW9kdWxlIG5lZWRzIHRvIGJlCisJIyBpbnN0YWxsZWQsIGJ1dCBzb21lIGRpc3RyaWJ1dGlvbnMgKGZvciBleGFtcGxlIEZlZG9yYSAyMykgZG9uJ3Qgc2hpcCBpdCBieQorCSMgZGVmYXVsdC4gIEFzIHRoZSByZXN1bHRpbmcgZXJyb3IgaXMgdmVyeSBtaXNsZWFkaW5nIGNoZWNrIGZvciBiaWdudW0gYmVmb3JlCisJIyBidWlsZGluZy4KKwlpZiAhIHBlcmwgLU1iaWdpbnQgLWUgdHJ1ZTsgdGhlbgorCQliYmZhdGFsICJUaGUgcGVybCBtb2R1bGUgJ2JpZ251bScgd2FzIG5vdCBmb3VuZCBidXQgdGhpcyBpcyByZXF1aXJlZCB0byBidWlsZCBvcGVuc3NsLiAgUGxlYXNlIGluc3RhbGwgdGhpcyBtb2R1bGUgKG9mdGVuIHBhY2thZ2VkIGFzIHBlcmwtYmlnbnVtKSBhbmQgcmUtcnVuIGJpdGJha2UuIgorCWZpCisKKwlsbiAtc2YgYXBwcy9vcGVuc3NsLnBvZCBjcnlwdG8vY3J5cHRvLnBvZCBzc2wvc3NsLnBvZCBkb2MvCisKKwlvcz0ke0hPU1RfT1N9CisJY2FzZSAkb3MgaW4KKwlsaW51eC1nbnVlYWJpIHxcCisJbGludXgtZ251c3BlIHxcCisJbGludXgtbXVzbGVhYmkgfFwKKwlsaW51eC1tdXNsc3BlIHxcCisJbGludXgtbXVzbCApCisJCW9zPWxpbnV4CisJCTs7CisJKikKKwkJOzsKKwllc2FjCisJdGFyZ2V0PSIkb3MtJHtIT1NUX0FSQ0h9IgorCWNhc2UgJHRhcmdldCBpbgorCWxpbnV4LWFybSkKKwkJdGFyZ2V0PWxpbnV4LWFybXY0CisJCTs7CisJbGludXgtYXJtZWIpCisJCXRhcmdldD1saW51eC1lbGYtYXJtZWIKKwkJOzsKKwlsaW51eC1hYXJjaDY0KikKKwkJdGFyZ2V0PWxpbnV4LWFhcmNoNjQKKwkJOzsKKwlsaW51eC1zaDMpCisJCXRhcmdldD1kZWJpYW4tc2gzCisJCTs7CisJbGludXgtc2g0KQorCQl0YXJnZXQ9ZGViaWFuLXNoNAorCQk7OworCWxpbnV4LWk0ODYpCisJCXRhcmdldD1kZWJpYW4taTM4Ni1pNDg2CisJCTs7CisJbGludXgtaTU4NiB8IGxpbnV4LXZpYWMzKQorCQl0YXJnZXQ9ZGViaWFuLWkzODYtaTU4NgorCQk7OworCWxpbnV4LWk2ODYpCisJCXRhcmdldD1kZWJpYW4taTM4Ni1pNjg2L2Ntb3YKKwkJOzsKKwlsaW51eC1nbnV4MzIteDg2XzY0IHwgbGludXgtbXVzbHgzMi14ODZfNjQgKQorCQl0YXJnZXQ9bGludXgteDMyCisJCTs7CisJbGludXgtZ251NjQteDg2XzY0KQorCQl0YXJnZXQ9bGludXgteDg2XzY0CisJCTs7CisJbGludXgtZ251bjMyLW1pcHMqZWwpCisJCXRhcmdldD1kZWJpYW4tbWlwc24zMmVsCisJCTs7CisJbGludXgtZ251bjMyLW1pcHMqKQorCQl0YXJnZXQ9ZGViaWFuLW1pcHNuMzIKKwkJOzsKKwlsaW51eC1taXBzKjY0KmVsKQorCQl0YXJnZXQ9ZGViaWFuLW1pcHM2NGVsCisJCTs7CisJbGludXgtbWlwcyo2NCopCisJCXRhcmdldD1kZWJpYW4tbWlwczY0CisJCTs7CisJbGludXgtbWlwcyplbCkKKwkJdGFyZ2V0PWRlYmlhbi1taXBzZWwKKwkJOzsKKwlsaW51eC1taXBzKikKKwkJdGFyZ2V0PWRlYmlhbi1taXBzCisJCTs7CisJbGludXgtbWljcm9ibGF6ZSogfCBsaW51eC1uaW9zMiogfCBsaW51eC1nbnUqaWxwMzIqKiB8IGxpbnV4LWFyYyopCisJCXRhcmdldD1saW51eC1nZW5lcmljMzIKKwkJOzsKKwlsaW51eC1wb3dlcnBjKQorCQl0YXJnZXQ9bGludXgtcHBjCisJCTs7CisJbGludXgtcG93ZXJwYzY0KQorCQl0YXJnZXQ9bGludXgtcHBjNjQKKwkJOzsKKwlsaW51eC1yaXNjdjMyKQorCQl0YXJnZXQ9bGludXgtZ2VuZXJpYzMyCisJCTs7CisJbGludXgtcmlzY3Y2NCkKKwkJdGFyZ2V0PWxpbnV4LWdlbmVyaWM2NAorCQk7OworCWxpbnV4LXNwYXJjIHwgbGludXgtc3VwZXJzcGFyYykKKwkJdGFyZ2V0PWxpbnV4LXNwYXJjdjgKKwkJOzsKKwllc2FjCisKKwkjIGluamVjdCBtYWNoaW5lLXNwZWNpZmljIGZsYWdzCisJc2VkIC1pIC1lICJzfF5cKFwiJHRhcmdldFwiLFxzKlwiW146XVwrXCk6XChbXjpdXCtcKXxcMToke0NGTEFHfXxnIiBDb25maWd1cmUKKworCXVzZXByZWZpeD0ke3ByZWZpeH0KKwlpZiBbICJ4JHVzZXByZWZpeCIgPSAieCIgXTsgdGhlbgorCQl1c2VwcmVmaXg9LworCWZpCisJbGliZGlybGVhZj0iJCggZWNobyAiJHtsaWJkaXJ9IiB8IHNlZCAiczpeJHVzZXByZWZpeC8qOjoiICkiCisJcGVybCAuL0NvbmZpZ3VyZSAke0VYVFJBX09FQ09ORn0gJHtQQUNLQUdFQ09ORklHX0NPTkZBUkdTfSBzaGFyZWQgLS1wcmVmaXg9JHVzZXByZWZpeCAtLW9wZW5zc2xkaXI9JHtsaWJkaXJ9L3NzbCAtLWxpYmRpcj0kbGliZGlybGVhZiAkdGFyZ2V0Cit9CisKK2RvX2NvbXBpbGUgKCkgeworCW9lX3J1bm1ha2UgZGVwZW5kCisJb2VfcnVubWFrZQorfQorCitkb19jb21waWxlX2NsYXNzLXRhcmdldCAoKSB7CisJc2VkIC1pICdzL1woKE9QRU5TU0w9XCkiLioiL1wxIm9wZW5zc2wiLycgTWFrZWZpbGUKKwlvZV9ydW5tYWtlIGRlcGVuZAorCWNjX3Nhbml0aXplZD0kKGVjaG8gIiR7Q0N9ICR7Q0ZMQUd9IiB8IHNlZCAtZSAncywtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9UQVJHRVR9LCxnJyAtZSAnc3wke0RFQlVHX1BSRUZJWF9NQVB9fHxnJyAtZSAncy9bIFx0XVwrLyAvZycpCisJb2VfcnVubWFrZSBDQ19JTkZPPSIkY2Nfc2FuaXRpemVkIgorfQorCitkb19jb21waWxlX3B0ZXN0ICgpIHsKKwlvZV9ydW5tYWtlIGJ1aWxkdGVzdAorfQorCitkb19pbnN0YWxsICgpIHsKKwkjIENyZWF0ZSAke0R9LyR7cHJlZml4fSB0byBmaXggcGFyYWxsZWwgaXNzdWVzCisJbWtkaXIgLXAgJHtEfS8ke3ByZWZpeH0vCisKKwlvZV9ydW5tYWtlIElOU1RBTExfUFJFRklYPSIke0R9IiBNQU5ESVI9IiR7bWFuZGlyfSIgaW5zdGFsbAorCisJb2VfbGliaW5zdGFsbCAtc28gbGliY3J5cHRvICR7RH0ke2xpYmRpcn0KKwlvZV9saWJpbnN0YWxsIC1zbyBsaWJzc2wgJHtEfSR7bGliZGlyfQorCisJaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfQorCWNwIC0tZGVyZWZlcmVuY2UgLVIgaW5jbHVkZS9vcGVuc3NsICR7RH0ke2luY2x1ZGVkaXJ9CisKKwlvZV9tdWx0aWxpYl9oZWFkZXIgb3BlbnNzbC9vcGVuc3NsY29uZi5oCisKKwlpbnN0YWxsIC1EbSAwNzU1ICR7V09SS0RJUn0vb3BlbnNzbC1jX3JlaGFzaC5zaCAke0R9JHtiaW5kaXJ9L2NfcmVoYXNoCisJc2VkIC1pIC1lICdzLC9ldGMvb3BlbnNzbCwke3N5c2NvbmZkaXJ9L3NzbCxnJyAke0R9JHtiaW5kaXJ9L2NfcmVoYXNoCisKKwlpZiBbICIke0BiYi51dGlscy5maWx0ZXIoJ1BBQ0tBR0VDT05GSUcnLCAncGVybCcsIGQpfSIgXTsgdGhlbgorCQlzZWQgLWkgLWUgJzFzLC4qLCMhJHtiaW5kaXJ9L2VudiBwZXJsLCcgJHtEfSR7bGliZGlyfS9zc2wvbWlzYy9DQS5wbAorCQlzZWQgLWkgLWUgJzFzLC4qLCMhJHtiaW5kaXJ9L2VudiBwZXJsLCcgJHtEfSR7bGliZGlyfS9zc2wvbWlzYy90c2dldAorCWVsc2UKKwkJcm0gLWYgJHtEfSR7bGliZGlyfS9zc2wvbWlzYy9DQS5wbCAke0R9JHtsaWJkaXJ9L3NzbC9taXNjL3RzZ2V0CisJZmkKKworCSMgQ3JlYXRlIFNTTCBzdHJ1Y3R1cmUgZm9yIHBhY2thZ2VzIHN1Y2ggYXMgY2EtY2VydGlmaWNhdGVzIHdoaWNoCisJIyBjb250YWluIGhhcmQtY29kZWQgcGF0aHMgdG8gL2V0Yy9zc2wuIERlYmlhbiBkb2VzIHRoZSBzYW1lLgorCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vc3NsCisJbXYgJHtEfSR7bGliZGlyfS9zc2wvY2VydHMgXAorCSAgICR7RH0ke2xpYmRpcn0vc3NsL3ByaXZhdGUgXAorCSAgICR7RH0ke2xpYmRpcn0vc3NsL29wZW5zc2wuY25mIFwKKwkgICAke0R9JHtzeXNjb25mZGlyfS9zc2wvCisKKwkjIEFsdGhvdWdoIGFic29sdXRlIHN5bWxpbmtzIHdvdWxkIGJlIE9LIGZvciB0aGUgdGFyZ2V0LCB0aGV5IGJlY29tZQorCSMgaW52YWxpZCBpZiBuYXRpdmUgb3IgbmF0aXZlc2RrIGFyZSByZWxvY2F0ZWQgZnJvbSBzc3RhdGUuCisJbG4gLXNmICR7QG9lLnBhdGgucmVsYXRpdmUoJyR7bGliZGlyfS9zc2wnLCAnJHtzeXNjb25mZGlyfS9zc2wvY2VydHMnKX0gJHtEfSR7bGliZGlyfS9zc2wvY2VydHMKKwlsbiAtc2YgJHtAb2UucGF0aC5yZWxhdGl2ZSgnJHtsaWJkaXJ9L3NzbCcsICcke3N5c2NvbmZkaXJ9L3NzbC9wcml2YXRlJyl9ICR7RH0ke2xpYmRpcn0vc3NsL3ByaXZhdGUKKwlsbiAtc2YgJHtAb2UucGF0aC5yZWxhdGl2ZSgnJHtsaWJkaXJ9L3NzbCcsICcke3N5c2NvbmZkaXJ9L3NzbC9vcGVuc3NsLmNuZicpfSAke0R9JHtsaWJkaXJ9L3NzbC9vcGVuc3NsLmNuZgorCisJIyBSZW5hbWUgbWFuIHBhZ2VzIHRvIHByZWZpeCBvcGVuc3NsMTAtKgorCWZvciBmIGluIGBmaW5kICR7RH0ke21hbmRpcn0gLXR5cGUgZmA7IGRvCisJICAgIG12ICRmICQoZGlybmFtZSAkZikvb3BlbnNzbDEwLSQoYmFzZW5hbWUgJGYpCisJZG9uZQorCWZvciBmIGluIGBmaW5kICR7RH0ke21hbmRpcn0gLXR5cGUgbGA7IGRvCisJICAgIGxuX2Y9YHJlYWRsaW5rICRmYAorCSAgICBybSAtZiAkZgorCSAgICBsbiAtcyBvcGVuc3NsMTAtJGxuX2YgJChkaXJuYW1lICRmKS9vcGVuc3NsMTAtJChiYXNlbmFtZSAkZikKKwlkb25lCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7CisJY3JlYXRlX3dyYXBwZXIgJHtEfSR7YmluZGlyfS9vcGVuc3NsIFwKKwkgICAgT1BFTlNTTF9DT05GPSR7bGliZGlyfS9zc2wvb3BlbnNzbC5jbmYgXAorCSAgICBTU0xfQ0VSVF9ESVI9JHtsaWJkaXJ9L3NzbC9jZXJ0cyBcCisJICAgIFNTTF9DRVJUX0ZJTEU9JHtsaWJkaXJ9L3NzbC9jZXJ0LnBlbSBcCisJICAgIE9QRU5TU0xfRU5HSU5FUz0ke2xpYmRpcn0vc3NsL2VuZ2luZXMKK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrICgpIHsKKwlta2RpciAtcCAke0R9JHtTREtQQVRITkFUSVZFfS9lbnZpcm9ubWVudC1zZXR1cC5kCisJaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9lbnZpcm9ubWVudC5kLW9wZW5zc2wuc2ggJHtEfSR7U0RLUEFUSE5BVElWRX0vZW52aXJvbm1lbnQtc2V0dXAuZC9vcGVuc3NsLnNoCit9CisKK2RvX2luc3RhbGxfcHRlc3QgKCkgeworCWNwIC1yIC1MIE1ha2VmaWxlLm9yZyBNYWtlZmlsZSB0ZXN0ICR7RH0ke1BURVNUX1BBVEh9CisKKwkjIFJlcGxhY2UgdGhlIHBhdGggdG8gbmF0aXZlIHBlcmwgd2l0aCB0aGUgcGF0aCB0byB0YXJnZXQgcGVybAorCXNlZCAtaSAncyxeUEVSTD0uKixQRVJMPSR7YmluZGlyfS9wZXJsLCcgJHtEfSR7UFRFU1RfUEFUSH0vTWFrZWZpbGUKKworCWNwIENvbmZpZ3VyZSBjb25maWcgZV9vcy5oICR7RH0ke1BURVNUX1BBVEh9CisJY3AgLXIgLUwgaW5jbHVkZSAke0R9JHtQVEVTVF9QQVRIfQorCWxuIC1zZiAke2xpYmRpcn0vbGliY3J5cHRvLmEgJHtEfSR7UFRFU1RfUEFUSH0KKwlsbiAtc2YgJHtsaWJkaXJ9L2xpYnNzbC5hICR7RH0ke1BURVNUX1BBVEh9CisJbWtkaXIgLXAgJHtEfSR7UFRFU1RfUEFUSH0vY3J5cHRvCisJY3AgY3J5cHRvL2NvbnN0YW50X3RpbWVfbG9jbC5oICR7RH0ke1BURVNUX1BBVEh9L2NyeXB0bworCWNwIC1yIGNlcnRzICR7RH0ke1BURVNUX1BBVEh9CisJbWtkaXIgLXAgJHtEfSR7UFRFU1RfUEFUSH0vYXBwcworCWxuIC1zZiAke2xpYmRpcn0vc3NsL21pc2MvQ0Euc2ggICR7RH0ke1BURVNUX1BBVEh9L2FwcHMKKwlsbiAtc2YgJHtzeXNjb25mZGlyfS9zc2wvb3BlbnNzbC5jbmYgJHtEfSR7UFRFU1RfUEFUSH0vYXBwcworCWxuIC1zZiAke2JpbmRpcn0vb3BlbnNzbCAgICAgICAgICR7RH0ke1BURVNUX1BBVEh9L2FwcHMKKwljcCBhcHBzL3NlcnZlci5wZW0gICAgICAgICAgICAgICR7RH0ke1BURVNUX1BBVEh9L2FwcHMKKwljcCBhcHBzL3NlcnZlcjIucGVtICAgICAgICAgICAgICR7RH0ke1BURVNUX1BBVEh9L2FwcHMKKwlta2RpciAtcCAke0R9JHtQVEVTVF9QQVRIfS91dGlsCisJaW5zdGFsbCB1dGlsL29wZW5zc2x3cmFwLnNoICAgICR7RH0ke1BURVNUX1BBVEh9L3V0aWwKKwlpbnN0YWxsIHV0aWwvc2hsaWJfd3JhcC5zaCAgICAgJHtEfSR7UFRFU1RfUEFUSH0vdXRpbAorCSMgVGltZSBzdGFtcHMgYXJlIHJlbGV2YW50IGZvciAibWFrZSBhbGx0ZXN0cyIsIG90aGVyd2lzZQorCSMgbWFrZSBtYXkgdHJ5IHRvIHJlY29tcGlsZSBiaW5hcmllcy4gTm90IG9ubHkgbXVzdCB0aGUKKwkjIGJpbmFyeSBmaWxlcyBiZSBuZXdlciB0aGFuIHRoZSBzb3VyY2VzLCB0aGV5IGFsc28gbXVzdAorCSMgYmUgbW9yZSByZWNlbnQgdGhhbiB0aGUgaGVhZGVyIGZpbGVzIGluIC91c3IvaW5jbHVkZS4KKwkjCisJIyBVc2luZyAiY3AgLWEiIGlzIG5vdCBzdWZmaWNpZW50LCBiZWNhdXNlIGRvX2luc3RhbGwKKwkjIGRvZXMgbm90IHByZXNlcnZlIHRoZSBvcmlnaW5hbCB0aW1lIHN0YW1wcy4KKwkjCisJIyBTbyBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBvcmlnaW5hbCBmaWxlIHN0YW1wcywgd2Ugc2V0CisJIyB0aGUgY3VycmVudCB0aW1lIGZvciBhbGwgZmlsZXMuIEJpbmFyaWVzIHdpbGwgZ2V0CisJIyBtb2RpZmllZCBhZ2FpbiBsYXRlciB3aGVuIHN0cmlwcGluZyB0aGVtLCBidXQgdGhhdCdzIG9rYXkuCisJdG91Y2ggJHtEfSR7UFRFU1RfUEFUSH0KKwlmaW5kICR7RH0ke1BURVNUX1BBVEh9IC10eXBlIGYgLXByaW50MCB8IHhhcmdzIC0tdmVyYm9zZSAtMCB0b3VjaCAtciAke0R9JHtQVEVTVF9QQVRIfQorCisJIyBleGNsdWRlIGJpbmFyeSBmaWxlcyBvciB0aGUgcGFja2FnZSB3b24ndCBpbnN0YWxsCisJZm9yIGQgaW4gc3NsdGVzdF9vbGQgdjNleHQgeDUwOWF1eDsgZG8KKwkJcm0gLXJmICR7RH0ke2xpYmRpcn0vJHtCUE59L3B0ZXN0L3Rlc3QvJGQKKwlkb25lCisKKwkjIFJlbW92ZSBidWlsZCBob3N0IHJlZmVyZW5jZXMKKwlzZWQgLWkgXAorCS1lICdzLC0tc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH0sLGcnIFwKKwktZSAnc3wke0RFQlVHX1BSRUZJWF9NQVB9fHxnJyBcCisJJHtEfSR7UFRFU1RfUEFUSH0vTWFrZWZpbGUgJHtEfSR7UFRFU1RfUEFUSH0vQ29uZmlndXJlCit9CisKKyMgQWRkIHRoZSBvcGVuc3NsLmNuZiBmaWxlIHRvIHRoZSBvcGVuc3NsLWNvbmYgcGFja2FnZS4gTWFrZSB0aGUgbGliY3J5cHRvCisjIHBhY2thZ2UgUlJFQ09NTUVORFMgb24gdGhpcyBwYWNrYWdlLiBUaGlzIHdpbGwgZW5hYmxlIHRoZSBjb25maWd1cmF0aW9uCisjIGZpbGUgdG8gYmUgaW5zdGFsbGVkIGZvciBib3RoIHRoZSBiYXNlIG9wZW5zc2wgcGFja2FnZSBhbmQgdGhlIGxpYmNyeXB0bworIyBwYWNrYWdlIHNpbmNlIHRoZSBiYXNlIG9wZW5zc2wgcGFja2FnZSBkZXBlbmRzIG9uIHRoZSBsaWJjcnlwdG8gcGFja2FnZS4KKworUEFDS0FHRVMgPSsgImxpYmNyeXB0bzEwIGxpYnNzbDEwIG9wZW5zc2wxMC1jb25mICR7UE59LWVuZ2luZXMgJHtQTn0tbWlzYyIKKworRklMRVNfbGliY3J5cHRvMTAgPSAiJHtsaWJkaXJ9L2xpYmNyeXB0byR7U09MSUJTfSIKK0ZJTEVTX2xpYnNzbDEwID0gIiR7bGliZGlyfS9saWJzc2wke1NPTElCU30iCitGSUxFU19vcGVuc3NsMTAtY29uZiA9ICIke3N5c2NvbmZkaXJ9L3NzbC9vcGVuc3NsLmNuZiIKK0ZJTEVTXyR7UE59LWVuZ2luZXMgPSAiJHtsaWJkaXJ9L3NzbC9lbmdpbmVzLyouc28gJHtsaWJkaXJ9L2VuZ2luZXMiCitGSUxFU18ke1BOfS1taXNjID0gIiR7bGliZGlyfS9zc2wvbWlzYyIKK0ZJTEVTXyR7UE59ID0rICIke2xpYmRpcn0vc3NsLyoiCitGSUxFU18ke1BOfV9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiAke1NES1BBVEhOQVRJVkV9L2Vudmlyb25tZW50LXNldHVwLmQvb3BlbnNzbC5zaCIKKworQ09ORkZJTEVTX29wZW5zc2wxMC1jb25mID0gIiR7c3lzY29uZmRpcn0vc3NsL29wZW5zc2wuY25mIgorCitSUkVDT01NRU5EU19saWJjcnlwdG8xMCArPSAib3BlbnNzbDEwLWNvbmYiCitSREVQRU5EU18ke1BOfS1taXNjID0gIiR7QGJiLnV0aWxzLmZpbHRlcignUEFDS0FHRUNPTkZJRycsICdwZXJsJywgZCl9IgorUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIiR7UE59LW1pc2MgbWFrZSBwZXJsIHBlcmwtbW9kdWxlLWZpbGVoYW5kbGUgYmMiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKK1BBQ0tBR0VfUFJFUFJPQ0VTU19GVU5DUyArPSAib3BlbnNzbF9wYWNrYWdlX3ByZXByb2Nlc3MiCisKKyMgb3BlbnNzbCAxLjAgZGV2ZWxvcG1lbnQgZmlsZXMgYW5kIGV4ZWN1dGFibGUgYmluYXJpZXMgY2xhc2ggd2l0aCBvcGVuc3NsIDEuMQorIyBmaWxlcyB3aGVuIGluc3RhbGxlZCBpbnRvIHRhcmdldCByb290ZnMuIFNvIHdlIGRvbid0IHB1dCB0aGVtIGludG8KKyMgcGFja2FnZXMsIGJ1dCB0aGV5IGNvbnRpbnVlIHRvIGJlIHByb3ZpZGVkIHZpYSB0YXJnZXQgc3lzcm9vdCBmb3IKKyMgY3Jvc3MtY29tcGlsYXRpb24gb24gdGhlIGhvc3QsIGlmIHNvbWUgc29mdHdhcmUgc3RpbGwgZGVwZW5kcyBvbiBvcGVuc3NsIDEuMC4KK29wZW5zc2xfcGFja2FnZV9wcmVwcm9jZXNzICgpIHsKKyAgICAgICAgZm9yIGZpbGUgaW4gYGZpbmQgJHtQS0dEfSAtbmFtZSAqLmggLW8gLW5hbWUgKi5wYyAtbyAtbmFtZSAqLnNvYDsgZG8KKyAgICAgICAgICAgICAgICBybSAkZmlsZQorICAgICAgICBkb25lCisgICAgICAgIHJtICR7UEtHRH0ke2JpbmRpcn0vb3BlbnNzbAorICAgICAgICBybSAke1BLR0R9JHtiaW5kaXJ9L2NfcmVoYXNoCisgICAgICAgIHJtZGlyICR7UEtHRH0ke2JpbmRpcn0KKworfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2wvb3BlbnNzbF8xLjEuMWEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzbC9vcGVuc3NsXzEuMS4xYS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTllOWZhYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzbC9vcGVuc3NsXzEuMS4xYS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIxMCArMCwwIEBACi1TVU1NQVJZID0gIlNlY3VyZSBTb2NrZXQgTGF5ZXIiCi1ERVNDUklQVElPTiA9ICJTZWN1cmUgU29ja2V0IExheWVyIChTU0wpIGJpbmFyeSBhbmQgcmVsYXRlZCBjcnlwdG9ncmFwaGljIHRvb2xzLiIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cub3BlbnNzbC5vcmcvIgotQlVHVFJBQ0tFUiA9ICJodHRwOi8vd3d3Lm9wZW5zc2wub3JnL25ld3MvdnVsbmVyYWJpbGl0aWVzLmh0bWwiCi1TRUNUSU9OID0gImxpYnMvbmV0d29yayIKLQotIyAib3BlbnNzbCIgaGVyZSBhY3R1YWxseSBtZWFucyBib3RoIE9wZW5TU0wgYW5kIFNTTGVheSBsaWNlbnNlcyBhcHBseQotIyAoc2VlIG1ldGEvZmlsZXMvY29tbW9uLWxpY2Vuc2VzL09wZW5TU0wgdG8gd2hpY2ggIm9wZW5zc2wiIGlzIFNQRFhMSUNFTlNFTUFQcGVkKQotTElDRU5TRSA9ICJvcGVuc3NsIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZDU3ZDUxMTAzMGM5ZDY2ZWY1ZjU5NjZiZWU1YTdlZmYiCi0KLURFUEVORFMgPSAiaG9zdHBlcmwtcnVudGltZS1uYXRpdmUiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5vcGVuc3NsLm9yZy9zb3VyY2Uvb3BlbnNzbC0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgZmlsZTovL29wZW5zc2wtY19yZWhhc2guc2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1za2lwLXRlc3Rfc3ltYm9sX3ByZXNlbmNlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtYnVpbGRpbmZvLXN0cmlwLXN5c3Jvb3QtYW5kLWRlYnVnLXByZWZpeC1tYXAtZnJvbS1jby5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiBcCi0gICAgICAgICAgIGZpbGU6Ly9lbnZpcm9ubWVudC5kLW9wZW5zc2wuc2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI5NjNkZWIyMjcyZDZiZTdkNGMyNDU4YWZkMjUxN2I3MyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJmYzIwMTMwZjhiN2NiZDJmYjkxOGIyZjE0ZTJmNDI5ZTEwOWMzMWRkZDBmYjM4ZmM1ZDcxZDlmZmVkM2Y5ZjQxIgotCi1pbmhlcml0IGxpYl9wYWNrYWdlIG11bHRpbGliX2hlYWRlciBwdGVzdAotCi1CID0gIiR7V09SS0RJUn0vYnVpbGQiCi1kb19jb25maWd1cmVbY2xlYW5kaXJzXSA9ICIke0J9IgotCi0jfCAuL2xpYmNyeXB0by5zbzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgZ2V0Y29udGV4dCcKLSN8IC4vbGliY3J5cHRvLnNvOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBzZXRjb250ZXh0JwotI3wgLi9saWJjcnlwdG8uc286IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYG1ha2Vjb250ZXh0JwotRVhUUkFfT0VDT05GX2FwcGVuZF9saWJjLW11c2wgPSAiIG5vLWFzeW5jIgotRVhUUkFfT0VDT05GX2FwcGVuZF9saWJjLW11c2xfcG93ZXJwYzY0ID0gIiBuby1hc20iCi0KLSMgVGhpcyBwcmV2ZW50cyBvcGVuc3NsIGZyb20gdXNpbmcgZ2V0cmFuZG9tKCkgd2hpY2ggaXMgbm90IGF2YWlsYWJsZSBvbiBvbGRlciBnbGliYyB2ZXJzaW9ucwotIyAobmF0aXZlIHZlcnNpb25zIGNhbiBiZSBidWlsdCB3aXRoIG5ld2VyIGdsaWJjLCBidXQgdGhlbiByZWxvY2F0ZWQgb250byBhIHN5c3RlbSB3aXRoIG9sZGVyIGdsaWJjKQotRVhUUkFfT0VDT05GX2NsYXNzLW5hdGl2ZSA9ICItLXdpdGgtcmFuZC1zZWVkPWRldnJhbmRvbSIKLUVYVFJBX09FQ09ORl9jbGFzcy1uYXRpdmVzZGsgPSAiLS13aXRoLXJhbmQtc2VlZD1kZXZyYW5kb20iCi0KLSMgUmVseWluZyBvbiBoYXJkY29kZWQgYnVpbHQtaW4gcGF0aHMgY2F1c2VzIG9wZW5zc2wtbmF0aXZlIHRvIG5vdCBiZSByZWxvY2F0ZWFibGUgZnJvbSBzc3RhdGUuCi1DRkxBR1NfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgLURPUEVOU1NMRElSPS9ub3QvYnVpbHRpbiAtREVOR0lORVNESVI9L25vdC9idWlsdGluIgotQ0ZMQUdTX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiIC1ET1BFTlNTTERJUj0vbm90L2J1aWx0aW4gLURFTkdJTkVTRElSPS9ub3QvYnVpbHRpbiIKLQotZG9fY29uZmlndXJlICgpIHsKLQlvcz0ke0hPU1RfT1N9Ci0JY2FzZSAkb3MgaW4KLQlsaW51eC1nbnVlYWJpIHxcCi0JbGludXgtZ251c3BlIHxcCi0JbGludXgtbXVzbGVhYmkgfFwKLQlsaW51eC1tdXNsc3BlIHxcCi0JbGludXgtbXVzbCApCi0JCW9zPWxpbnV4Ci0JCTs7Ci0JKikKLQkJOzsKLQllc2FjCi0JdGFyZ2V0PSIkb3MtJHtIT1NUX0FSQ0h9IgotCWNhc2UgJHRhcmdldCBpbgotCWxpbnV4LWFybSopCi0JCXRhcmdldD1saW51eC1hcm12NAotCQk7OwotCWxpbnV4LWFhcmNoNjQqKQotCQl0YXJnZXQ9bGludXgtYWFyY2g2NAotCQk7OwotCWxpbnV4LWk/ODYgfCBsaW51eC12aWFjMykKLQkJdGFyZ2V0PWxpbnV4LXg4NgotCQk7OwotCWxpbnV4LWdudXgzMi14ODZfNjQgfCBsaW51eC1tdXNseDMyLXg4Nl82NCApCi0JCXRhcmdldD1saW51eC14MzIKLQkJOzsKLQlsaW51eC1nbnU2NC14ODZfNjQpCi0JCXRhcmdldD1saW51eC14ODZfNjQKLQkJOzsKLQlsaW51eC1taXBzIHwgbGludXgtbWlwc2VsKQotCQkjIHNwZWNpZnlpbmcgVEFSR0VUX0NDX0FSQ0ggcHJldmVudHMgb3BlbnNzbCBmcm9tIChpbmNvcnJlY3RseSkgYWRkaW5nIHRhcmdldCBhcmNoaXRlY3R1cmUgZmxhZ3MKLQkJdGFyZ2V0PSJsaW51eC1taXBzMzIgJHtUQVJHRVRfQ0NfQVJDSH0iCi0JCTs7Ci0JbGludXgtZ251bjMyLW1pcHMqKQotCQl0YXJnZXQ9bGludXgtbWlwczY0Ci0JCTs7Ci0JbGludXgtKi1taXBzNjQgfCBsaW51eC1taXBzNjQgfCBsaW51eC0qLW1pcHM2NGVsIHwgbGludXgtbWlwczY0ZWwpCi0JCXRhcmdldD1saW51eDY0LW1pcHM2NAotCQk7OwotCWxpbnV4LW1pY3JvYmxhemUqIHwgbGludXgtbmlvczIqIHwgbGludXgtc2gzIHwgbGludXgtc2g0IHwgbGludXgtYXJjKikKLQkJdGFyZ2V0PWxpbnV4LWdlbmVyaWMzMgotCQk7OwotCWxpbnV4LXBvd2VycGMpCi0JCXRhcmdldD1saW51eC1wcGMKLQkJOzsKLQlsaW51eC1wb3dlcnBjNjQpCi0JCXRhcmdldD1saW51eC1wcGM2NAotCQk7OwotCWxpbnV4LXJpc2N2MzIpCi0JCXRhcmdldD1saW51eC1nZW5lcmljMzIKLQkJOzsKLQlsaW51eC1yaXNjdjY0KQotCQl0YXJnZXQ9bGludXgtZ2VuZXJpYzY0Ci0JCTs7Ci0JbGludXgtc3BhcmMgfCBsaW51eC1zdXBlcnNwYXJjKQotCQl0YXJnZXQ9bGludXgtc3BhcmN2OQotCQk7OwotCWVzYWMKLQotCXVzZXByZWZpeD0ke3ByZWZpeH0KLQlpZiBbICJ4JHVzZXByZWZpeCIgPSAieCIgXTsgdGhlbgotCQl1c2VwcmVmaXg9LwotCWZpCi0JIyBXQVJOSU5HOiBkbyBub3Qgc2V0IGNvbXBpbGVyL2xpbmtlciBmbGFncyAoLUkvLUQgZXRjLikgaW4gRVhUUkFfT0VDT05GLCBhcyB0aGV5IHdpbGwgZnVsbHkgcmVwbGFjZSB0aGUKLQkjIGVudmlyb25tZW50IHZhcmlhYmxlcyBzZXQgYnkgYml0YmFrZS4gQWRqdXN0IHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgaW5zdGVhZC4KLQlQRVJMNUxJQj0iJHtTfS9leHRlcm5hbC9wZXJsL1RleHQtVGVtcGxhdGUtMS40Ni9saWIvIiBcCi0JcGVybCAke1N9L0NvbmZpZ3VyZSAke0VYVFJBX09FQ09ORn0gJHtQQUNLQUdFQ09ORklHX0NPTkZBUkdTfSAtLXByZWZpeD0kdXNlcHJlZml4IC0tb3BlbnNzbGRpcj0ke2xpYmRpcn0vc3NsLTEuMSAtLWxpYmRpcj0ke2xpYmRpcn0gJHRhcmdldAotfQotCi1kb19pbnN0YWxsICgpIHsKLQlvZV9ydW5tYWtlIERFU1RESVI9IiR7RH0iIE1BTkRJUj0iJHttYW5kaXJ9IiBNQU5TVUZGSVg9c3NsIGluc3RhbGwKLQotCW9lX211bHRpbGliX2hlYWRlciBvcGVuc3NsL29wZW5zc2xjb25mLmgKLQotCSMgQ3JlYXRlIFNTTCBzdHJ1Y3R1cmUgZm9yIHBhY2thZ2VzIHN1Y2ggYXMgY2EtY2VydGlmaWNhdGVzIHdoaWNoCi0JIyBjb250YWluIGhhcmQtY29kZWQgcGF0aHMgdG8gL2V0Yy9zc2wuIERlYmlhbiBkb2VzIHRoZSBzYW1lLgotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vc3NsCi0JbXYgJHtEfSR7bGliZGlyfS9zc2wtMS4xL2NlcnRzIFwKLQkgICAke0R9JHtsaWJkaXJ9L3NzbC0xLjEvcHJpdmF0ZSBcCi0JICAgJHtEfSR7bGliZGlyfS9zc2wtMS4xL29wZW5zc2wuY25mIFwKLQkgICAke0R9JHtzeXNjb25mZGlyfS9zc2wvCi0KLQkjIEFsdGhvdWdoIGFic29sdXRlIHN5bWxpbmtzIHdvdWxkIGJlIE9LIGZvciB0aGUgdGFyZ2V0LCB0aGV5IGJlY29tZQotCSMgaW52YWxpZCBpZiBuYXRpdmUgb3IgbmF0aXZlc2RrIGFyZSByZWxvY2F0ZWQgZnJvbSBzc3RhdGUuCi0JbG4gLXNmICR7QG9lLnBhdGgucmVsYXRpdmUoJyR7bGliZGlyfS9zc2wtMS4xJywgJyR7c3lzY29uZmRpcn0vc3NsL2NlcnRzJyl9ICR7RH0ke2xpYmRpcn0vc3NsLTEuMS9jZXJ0cwotCWxuIC1zZiAke0BvZS5wYXRoLnJlbGF0aXZlKCcke2xpYmRpcn0vc3NsLTEuMScsICcke3N5c2NvbmZkaXJ9L3NzbC9wcml2YXRlJyl9ICR7RH0ke2xpYmRpcn0vc3NsLTEuMS9wcml2YXRlCi0JbG4gLXNmICR7QG9lLnBhdGgucmVsYXRpdmUoJyR7bGliZGlyfS9zc2wtMS4xJywgJyR7c3lzY29uZmRpcn0vc3NsL29wZW5zc2wuY25mJyl9ICR7RH0ke2xpYmRpcn0vc3NsLTEuMS9vcGVuc3NsLmNuZgotfQotCi1kb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUgKCkgewotCWNyZWF0ZV93cmFwcGVyICR7RH0ke2JpbmRpcn0vb3BlbnNzbCBcCi0JICAgIE9QRU5TU0xfQ09ORj0ke2xpYmRpcn0vc3NsLTEuMS9vcGVuc3NsLmNuZiBcCi0JICAgIFNTTF9DRVJUX0RJUj0ke2xpYmRpcn0vc3NsLTEuMS9jZXJ0cyBcCi0JICAgIFNTTF9DRVJUX0ZJTEU9JHtsaWJkaXJ9L3NzbC0xLjEvY2VydC5wZW0gXAotCSAgICBPUEVOU1NMX0VOR0lORVM9JHtsaWJkaXJ9L3NzbC0xLjEvZW5naW5lcwotCi0JIyBJbnN0YWxsIGEgY3VzdG9tIHZlcnNpb24gb2YgY19yZWhhc2ggdGhhdCBjYW4gaGFuZGxlIHN5c3Jvb3RzIHByb3Blcmx5LgotCSMgVGhpcyB2ZXJzaW9uIGlzIHVzZWQgZm9yIGV4YW1wbGUgd2hlbiBpbnN0YWxsaW5nIGNhLWNlcnRpZmljYXRlcyBkdXJpbmcKLQkjIGltYWdlIGNyZWF0aW9uLgotCWluc3RhbGwgLURtIDA3NTUgJHtXT1JLRElSfS9vcGVuc3NsLWNfcmVoYXNoLnNoICR7RH0ke2JpbmRpcn0vY19yZWhhc2gKLQlzZWQgLWkgLWUgJ3MsL2V0Yy9vcGVuc3NsLCR7c3lzY29uZmRpcn0vc3NsLGcnICR7RH0ke2JpbmRpcn0vY19yZWhhc2gKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrICgpIHsKLQlta2RpciAtcCAke0R9JHtTREtQQVRITkFUSVZFfS9lbnZpcm9ubWVudC1zZXR1cC5kCi0JaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9lbnZpcm9ubWVudC5kLW9wZW5zc2wuc2ggJHtEfSR7U0RLUEFUSE5BVElWRX0vZW52aXJvbm1lbnQtc2V0dXAuZC9vcGVuc3NsLnNoCi0Jc2VkICdzfC91c3IvbGliL3NzbC98L3Vzci9saWIvc3NsLTEuMS98ZycgLWkgJHtEfSR7U0RLUEFUSE5BVElWRX0vZW52aXJvbm1lbnQtc2V0dXAuZC9vcGVuc3NsLnNoCi19Ci0KLVBURVNUX0JVSUxEX0hPU1RfRklMRVMgKz0gImNvbmZpZ2RhdGEucG0iCi1QVEVTVF9CVUlMRF9IT1NUX1BBVFRFUk4gPSAicGVybF92ZXJzaW9uID0iCi1kb19pbnN0YWxsX3B0ZXN0ICgpIHsKLQkjIFBydW5lIHRoZSBidWlsZCB0cmVlCi0Jcm0gLWYgJHtCfS9mdXp6LyouKiAke0J9L3Rlc3QvKi4qCi0KLQljcCAke1N9L0NvbmZpZ3VyZSAke0J9L2NvbmZpZ2RhdGEucG0gJHtEfSR7UFRFU1RfUEFUSH0KLQljcCAtciAke1N9L2V4dGVybmFsICR7Qn0vdGVzdCAke1N9L3Rlc3QgJHtCfS9mdXp6ICR7U30vdXRpbCAke0J9L3V0aWwgJHtEfSR7UFRFU1RfUEFUSH0KLQotCSMgRm9yIHRlc3Rfc2hsaWJsb2FkCi0JbG4gLXMgJHtsaWJkaXJ9L2xpYmNyeXB0by5zby4xLjEgJHtEfSR7UFRFU1RfUEFUSH0vbGliY3J5cHRvLnNvCi0JbG4gLXMgJHtsaWJkaXJ9L2xpYnNzbC5zby4xLjEgJHtEfSR7UFRFU1RfUEFUSH0vbGlic3NsLnNvCi0KLQlpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L2FwcHMKLQlsbiAtcyAke2JpbmRpcn0vb3BlbnNzbCAke0R9JHtQVEVTVF9QQVRIfS9hcHBzCi0JaW5zdGFsbCAtbTY0NCAke1N9L2FwcHMvKi5wZW0gJHtTfS9hcHBzLyouc3JsICR7U30vYXBwcy9vcGVuc3NsLmNuZiAke0R9JHtQVEVTVF9QQVRIfS9hcHBzCi0JaW5zdGFsbCAtbTc1NSAke0J9L2FwcHMvQ0EucGwgJHtEfSR7UFRFU1RfUEFUSH0vYXBwcwotCi0JaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS9lbmdpbmVzCi0JaW5zdGFsbCAtbTc1NSAke0J9L2VuZ2luZXMvb3NzbHRlc3Quc28gJHtEfSR7UFRFU1RfUEFUSH0vZW5naW5lcwotfQotCi0jIEFkZCB0aGUgb3BlbnNzbC5jbmYgZmlsZSB0byB0aGUgb3BlbnNzbC1jb25mIHBhY2thZ2UuIE1ha2UgdGhlIGxpYmNyeXB0bwotIyBwYWNrYWdlIFJSRUNPTU1FTkRTIG9uIHRoaXMgcGFja2FnZS4gVGhpcyB3aWxsIGVuYWJsZSB0aGUgY29uZmlndXJhdGlvbgotIyBmaWxlIHRvIGJlIGluc3RhbGxlZCBmb3IgYm90aCB0aGUgb3BlbnNzbC1iaW4gcGFja2FnZSBhbmQgdGhlIGxpYmNyeXB0bwotIyBwYWNrYWdlIHNpbmNlIHRoZSBvcGVuc3NsLWJpbiBwYWNrYWdlIGRlcGVuZHMgb24gdGhlIGxpYmNyeXB0byBwYWNrYWdlLgotCi1QQUNLQUdFUyA9KyAibGliY3J5cHRvIGxpYnNzbCBvcGVuc3NsLWNvbmYgJHtQTn0tZW5naW5lcyAke1BOfS1taXNjIgotCi1GSUxFU19saWJjcnlwdG8gPSAiJHtsaWJkaXJ9L2xpYmNyeXB0byR7U09MSUJTfSIKLUZJTEVTX2xpYnNzbCA9ICIke2xpYmRpcn0vbGlic3NsJHtTT0xJQlN9IgotRklMRVNfb3BlbnNzbC1jb25mID0gIiR7c3lzY29uZmRpcn0vc3NsL29wZW5zc2wuY25mIgotRklMRVNfJHtQTn0tZW5naW5lcyA9ICIke2xpYmRpcn0vZW5naW5lcy0xLjEiCi1GSUxFU18ke1BOfS1taXNjID0gIiR7bGliZGlyfS9zc2wtMS4xL21pc2MiCi1GSUxFU18ke1BOfSA9KyAiJHtsaWJkaXJ9L3NzbC0xLjEvKiIKLUZJTEVTXyR7UE59X2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiICR7U0RLUEFUSE5BVElWRX0vZW52aXJvbm1lbnQtc2V0dXAuZC9vcGVuc3NsLnNoIgotCi1DT05GRklMRVNfb3BlbnNzbC1jb25mID0gIiR7c3lzY29uZmRpcn0vc3NsL29wZW5zc2wuY25mIgotCi1SUkVDT01NRU5EU19saWJjcnlwdG8gKz0gIm9wZW5zc2wtY29uZiIKLVJERVBFTkRTXyR7UE59LWJpbiA9ICJwZXJsIgotUkRFUEVORFNfJHtQTn0tbWlzYyA9ICJwZXJsIgotUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIm9wZW5zc2wtYmluIHBlcmwgcGVybC1tb2R1bGVzIGJhc2ggcHl0aG9uIgotCi1SUFJPVklERVNfb3BlbnNzbC1jb25mID0gIm9wZW5zc2wxMC1jb25mIgotUlJFUExBQ0VTX29wZW5zc2wtY29uZiA9ICJvcGVuc3NsMTAtY29uZiIKLVJDT05GTElDVFNfb3BlbnNzbC1jb25mID0gIm9wZW5zc2wxMC1jb25mIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KLWluaGVyaXQgbXVsdGlsaWJfc2NyaXB0Ci0KLU1VTFRJTElCX1NDUklQVFMgPSAiJHtQTn0tYmluOiR7YmluZGlyfS9jX3JlaGFzaCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NsL29wZW5zc2xfMS4xLjFiLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2wvb3BlbnNzbF8xLjEuMWIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDM0MDRkMgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NsL29wZW5zc2xfMS4xLjFiLmJiCkBAIC0wLDAgKzEsMjA2IEBACitTVU1NQVJZID0gIlNlY3VyZSBTb2NrZXQgTGF5ZXIiCitERVNDUklQVElPTiA9ICJTZWN1cmUgU29ja2V0IExheWVyIChTU0wpIGJpbmFyeSBhbmQgcmVsYXRlZCBjcnlwdG9ncmFwaGljIHRvb2xzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cub3BlbnNzbC5vcmcvIgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vd3d3Lm9wZW5zc2wub3JnL25ld3MvdnVsbmVyYWJpbGl0aWVzLmh0bWwiCitTRUNUSU9OID0gImxpYnMvbmV0d29yayIKKworIyAib3BlbnNzbCIgaGVyZSBhY3R1YWxseSBtZWFucyBib3RoIE9wZW5TU0wgYW5kIFNTTGVheSBsaWNlbnNlcyBhcHBseQorIyAoc2VlIG1ldGEvZmlsZXMvY29tbW9uLWxpY2Vuc2VzL09wZW5TU0wgdG8gd2hpY2ggIm9wZW5zc2wiIGlzIFNQRFhMSUNFTlNFTUFQcGVkKQorTElDRU5TRSA9ICJvcGVuc3NsIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZDM0M2U2MmZjOWM4MzM3MTBiYmJlZDI1ZjI3MzY0YzgiCisKK0RFUEVORFMgPSAiaG9zdHBlcmwtcnVudGltZS1uYXRpdmUiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5vcGVuc3NsLm9yZy9zb3VyY2Uvb3BlbnNzbC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtc2tpcC10ZXN0X3N5bWJvbF9wcmVzZW5jZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWJ1aWxkaW5mby1zdHJpcC1zeXNyb290LWFuZC1kZWJ1Zy1wcmVmaXgtbWFwLWZyb20tY28ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYWZhbGcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTktMTU0My5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiBcCisgICAgICAgICAgIGZpbGU6Ly9lbnZpcm9ubWVudC5kLW9wZW5zc2wuc2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0NTMyNzEyZTdiY2M5NDE0ZjViY2U5OTVlNGUxMzkzMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1YzU1N2IwMjMyMzA0MTNkZmIwNzU2ZjMxMzdhMTNlNmQ3MjY4MzhjY2QxNDMwODg4YWQxNWJmYjJiNDNlYTRiIgorCitpbmhlcml0IGxpYl9wYWNrYWdlIG11bHRpbGliX2hlYWRlciBwdGVzdAorCitQQUNLQUdFQ09ORklHID89ICIiCitQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZSA9ICIiCitQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZXNkayA9ICIiCisKK1BBQ0tBR0VDT05GSUdbY3J5cHRvZGV2LWxpbnV4XSA9ICJlbmFibGUtZGV2Y3J5cHRvZW5nLGRpc2FibGUtZGV2Y3J5cHRvZW5nLGNyeXB0b2Rldi1saW51eCIKKworQiA9ICIke1dPUktESVJ9L2J1aWxkIgorZG9fY29uZmlndXJlW2NsZWFuZGlyc10gPSAiJHtCfSIKKworI3wgLi9saWJjcnlwdG8uc286IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGdldGNvbnRleHQnCisjfCAuL2xpYmNyeXB0by5zbzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgc2V0Y29udGV4dCcKKyN8IC4vbGliY3J5cHRvLnNvOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBtYWtlY29udGV4dCcKK0VYVFJBX09FQ09ORl9hcHBlbmRfbGliYy1tdXNsID0gIiBuby1hc3luYyIKK0VYVFJBX09FQ09ORl9hcHBlbmRfbGliYy1tdXNsX3Bvd2VycGM2NCA9ICIgbm8tYXNtIgorCisjIFRoaXMgcHJldmVudHMgb3BlbnNzbCBmcm9tIHVzaW5nIGdldHJhbmRvbSgpIHdoaWNoIGlzIG5vdCBhdmFpbGFibGUgb24gb2xkZXIgZ2xpYmMgdmVyc2lvbnMKKyMgKG5hdGl2ZSB2ZXJzaW9ucyBjYW4gYmUgYnVpbHQgd2l0aCBuZXdlciBnbGliYywgYnV0IHRoZW4gcmVsb2NhdGVkIG9udG8gYSBzeXN0ZW0gd2l0aCBvbGRlciBnbGliYykKK0VYVFJBX09FQ09ORl9jbGFzcy1uYXRpdmUgPSAiLS13aXRoLXJhbmQtc2VlZD1kZXZyYW5kb20iCitFWFRSQV9PRUNPTkZfY2xhc3MtbmF0aXZlc2RrID0gIi0td2l0aC1yYW5kLXNlZWQ9ZGV2cmFuZG9tIgorCisjIFJlbHlpbmcgb24gaGFyZGNvZGVkIGJ1aWx0LWluIHBhdGhzIGNhdXNlcyBvcGVuc3NsLW5hdGl2ZSB0byBub3QgYmUgcmVsb2NhdGVhYmxlIGZyb20gc3N0YXRlLgorQ0ZMQUdTX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIC1ET1BFTlNTTERJUj0vbm90L2J1aWx0aW4gLURFTkdJTkVTRElSPS9ub3QvYnVpbHRpbiIKK0NGTEFHU19hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiAtRE9QRU5TU0xESVI9L25vdC9idWlsdGluIC1ERU5HSU5FU0RJUj0vbm90L2J1aWx0aW4iCisKK2RvX2NvbmZpZ3VyZSAoKSB7CisJb3M9JHtIT1NUX09TfQorCWNhc2UgJG9zIGluCisJbGludXgtZ251ZWFiaSB8XAorCWxpbnV4LWdudXNwZSB8XAorCWxpbnV4LW11c2xlYWJpIHxcCisJbGludXgtbXVzbHNwZSB8XAorCWxpbnV4LW11c2wgKQorCQlvcz1saW51eAorCQk7OworCSopCisJCTs7CisJZXNhYworCXRhcmdldD0iJG9zLSR7SE9TVF9BUkNIfSIKKwljYXNlICR0YXJnZXQgaW4KKwlsaW51eC1hcm0qKQorCQl0YXJnZXQ9bGludXgtYXJtdjQKKwkJOzsKKwlsaW51eC1hYXJjaDY0KikKKwkJdGFyZ2V0PWxpbnV4LWFhcmNoNjQKKwkJOzsKKwlsaW51eC1pPzg2IHwgbGludXgtdmlhYzMpCisJCXRhcmdldD1saW51eC14ODYKKwkJOzsKKwlsaW51eC1nbnV4MzIteDg2XzY0IHwgbGludXgtbXVzbHgzMi14ODZfNjQgKQorCQl0YXJnZXQ9bGludXgteDMyCisJCTs7CisJbGludXgtZ251NjQteDg2XzY0KQorCQl0YXJnZXQ9bGludXgteDg2XzY0CisJCTs7CisJbGludXgtbWlwcyB8IGxpbnV4LW1pcHNlbCkKKwkJIyBzcGVjaWZ5aW5nIFRBUkdFVF9DQ19BUkNIIHByZXZlbnRzIG9wZW5zc2wgZnJvbSAoaW5jb3JyZWN0bHkpIGFkZGluZyB0YXJnZXQgYXJjaGl0ZWN0dXJlIGZsYWdzCisJCXRhcmdldD0ibGludXgtbWlwczMyICR7VEFSR0VUX0NDX0FSQ0h9IgorCQk7OworCWxpbnV4LWdudW4zMi1taXBzKikKKwkJdGFyZ2V0PWxpbnV4LW1pcHM2NAorCQk7OworCWxpbnV4LSotbWlwczY0IHwgbGludXgtbWlwczY0IHwgbGludXgtKi1taXBzNjRlbCB8IGxpbnV4LW1pcHM2NGVsKQorCQl0YXJnZXQ9bGludXg2NC1taXBzNjQKKwkJOzsKKwlsaW51eC1taWNyb2JsYXplKiB8IGxpbnV4LW5pb3MyKiB8IGxpbnV4LXNoMyB8IGxpbnV4LXNoNCB8IGxpbnV4LWFyYyopCisJCXRhcmdldD1saW51eC1nZW5lcmljMzIKKwkJOzsKKwlsaW51eC1wb3dlcnBjKQorCQl0YXJnZXQ9bGludXgtcHBjCisJCTs7CisJbGludXgtcG93ZXJwYzY0KQorCQl0YXJnZXQ9bGludXgtcHBjNjQKKwkJOzsKKwlsaW51eC1yaXNjdjMyKQorCQl0YXJnZXQ9bGludXgtZ2VuZXJpYzMyCisJCTs7CisJbGludXgtcmlzY3Y2NCkKKwkJdGFyZ2V0PWxpbnV4LWdlbmVyaWM2NAorCQk7OworCWxpbnV4LXNwYXJjIHwgbGludXgtc3VwZXJzcGFyYykKKwkJdGFyZ2V0PWxpbnV4LXNwYXJjdjkKKwkJOzsKKwllc2FjCisKKwl1c2VwcmVmaXg9JHtwcmVmaXh9CisJaWYgWyAieCR1c2VwcmVmaXgiID0gIngiIF07IHRoZW4KKwkJdXNlcHJlZml4PS8KKwlmaQorCSMgV0FSTklORzogZG8gbm90IHNldCBjb21waWxlci9saW5rZXIgZmxhZ3MgKC1JLy1EIGV0Yy4pIGluIEVYVFJBX09FQ09ORiwgYXMgdGhleSB3aWxsIGZ1bGx5IHJlcGxhY2UgdGhlCisJIyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgc2V0IGJ5IGJpdGJha2UuIEFkanVzdCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIGluc3RlYWQuCisJUEVSTDVMSUI9IiR7U30vZXh0ZXJuYWwvcGVybC9UZXh0LVRlbXBsYXRlLTEuNDYvbGliLyIgXAorCXBlcmwgJHtTfS9Db25maWd1cmUgJHtFWFRSQV9PRUNPTkZ9ICR7UEFDS0FHRUNPTkZJR19DT05GQVJHU30gLS1wcmVmaXg9JHVzZXByZWZpeCAtLW9wZW5zc2xkaXI9JHtsaWJkaXJ9L3NzbC0xLjEgLS1saWJkaXI9JHtsaWJkaXJ9ICR0YXJnZXQKKwlwZXJsICR7Qn0vY29uZmlnZGF0YS5wbSAtLWR1bXAKK30KKworZG9faW5zdGFsbCAoKSB7CisJb2VfcnVubWFrZSBERVNURElSPSIke0R9IiBNQU5ESVI9IiR7bWFuZGlyfSIgTUFOU1VGRklYPXNzbCBpbnN0YWxsCisKKwlvZV9tdWx0aWxpYl9oZWFkZXIgb3BlbnNzbC9vcGVuc3NsY29uZi5oCisKKwkjIENyZWF0ZSBTU0wgc3RydWN0dXJlIGZvciBwYWNrYWdlcyBzdWNoIGFzIGNhLWNlcnRpZmljYXRlcyB3aGljaAorCSMgY29udGFpbiBoYXJkLWNvZGVkIHBhdGhzIHRvIC9ldGMvc3NsLiBEZWJpYW4gZG9lcyB0aGUgc2FtZS4KKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3NzbAorCW12ICR7RH0ke2xpYmRpcn0vc3NsLTEuMS9jZXJ0cyBcCisJICAgJHtEfSR7bGliZGlyfS9zc2wtMS4xL3ByaXZhdGUgXAorCSAgICR7RH0ke2xpYmRpcn0vc3NsLTEuMS9vcGVuc3NsLmNuZiBcCisJICAgJHtEfSR7c3lzY29uZmRpcn0vc3NsLworCisJIyBBbHRob3VnaCBhYnNvbHV0ZSBzeW1saW5rcyB3b3VsZCBiZSBPSyBmb3IgdGhlIHRhcmdldCwgdGhleSBiZWNvbWUKKwkjIGludmFsaWQgaWYgbmF0aXZlIG9yIG5hdGl2ZXNkayBhcmUgcmVsb2NhdGVkIGZyb20gc3N0YXRlLgorCWxuIC1zZiAke0BvZS5wYXRoLnJlbGF0aXZlKCcke2xpYmRpcn0vc3NsLTEuMScsICcke3N5c2NvbmZkaXJ9L3NzbC9jZXJ0cycpfSAke0R9JHtsaWJkaXJ9L3NzbC0xLjEvY2VydHMKKwlsbiAtc2YgJHtAb2UucGF0aC5yZWxhdGl2ZSgnJHtsaWJkaXJ9L3NzbC0xLjEnLCAnJHtzeXNjb25mZGlyfS9zc2wvcHJpdmF0ZScpfSAke0R9JHtsaWJkaXJ9L3NzbC0xLjEvcHJpdmF0ZQorCWxuIC1zZiAke0BvZS5wYXRoLnJlbGF0aXZlKCcke2xpYmRpcn0vc3NsLTEuMScsICcke3N5c2NvbmZkaXJ9L3NzbC9vcGVuc3NsLmNuZicpfSAke0R9JHtsaWJkaXJ9L3NzbC0xLjEvb3BlbnNzbC5jbmYKK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlICgpIHsKKwljcmVhdGVfd3JhcHBlciAke0R9JHtiaW5kaXJ9L29wZW5zc2wgXAorCSAgICBPUEVOU1NMX0NPTkY9JHtsaWJkaXJ9L3NzbC0xLjEvb3BlbnNzbC5jbmYgXAorCSAgICBTU0xfQ0VSVF9ESVI9JHtsaWJkaXJ9L3NzbC0xLjEvY2VydHMgXAorCSAgICBTU0xfQ0VSVF9GSUxFPSR7bGliZGlyfS9zc2wtMS4xL2NlcnQucGVtIFwKKwkgICAgT1BFTlNTTF9FTkdJTkVTPSR7bGliZGlyfS9zc2wtMS4xL2VuZ2luZXMKK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrICgpIHsKKwlta2RpciAtcCAke0R9JHtTREtQQVRITkFUSVZFfS9lbnZpcm9ubWVudC1zZXR1cC5kCisJaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9lbnZpcm9ubWVudC5kLW9wZW5zc2wuc2ggJHtEfSR7U0RLUEFUSE5BVElWRX0vZW52aXJvbm1lbnQtc2V0dXAuZC9vcGVuc3NsLnNoCisJc2VkICdzfC91c3IvbGliL3NzbC98L3Vzci9saWIvc3NsLTEuMS98ZycgLWkgJHtEfSR7U0RLUEFUSE5BVElWRX0vZW52aXJvbm1lbnQtc2V0dXAuZC9vcGVuc3NsLnNoCit9CisKK1BURVNUX0JVSUxEX0hPU1RfRklMRVMgKz0gImNvbmZpZ2RhdGEucG0iCitQVEVTVF9CVUlMRF9IT1NUX1BBVFRFUk4gPSAicGVybF92ZXJzaW9uID0iCitkb19pbnN0YWxsX3B0ZXN0ICgpIHsKKwkjIFBydW5lIHRoZSBidWlsZCB0cmVlCisJcm0gLWYgJHtCfS9mdXp6LyouKiAke0J9L3Rlc3QvKi4qCisKKwljcCAke1N9L0NvbmZpZ3VyZSAke0J9L2NvbmZpZ2RhdGEucG0gJHtEfSR7UFRFU1RfUEFUSH0KKwljcCAtciAke1N9L2V4dGVybmFsICR7Qn0vdGVzdCAke1N9L3Rlc3QgJHtCfS9mdXp6ICR7U30vdXRpbCAke0J9L3V0aWwgJHtEfSR7UFRFU1RfUEFUSH0KKworCSMgRm9yIHRlc3Rfc2hsaWJsb2FkCisJbG4gLXMgJHtsaWJkaXJ9L2xpYmNyeXB0by5zby4xLjEgJHtEfSR7UFRFU1RfUEFUSH0vbGliY3J5cHRvLnNvCisJbG4gLXMgJHtsaWJkaXJ9L2xpYnNzbC5zby4xLjEgJHtEfSR7UFRFU1RfUEFUSH0vbGlic3NsLnNvCisKKwlpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L2FwcHMKKwlsbiAtcyAke2JpbmRpcn0vb3BlbnNzbCAke0R9JHtQVEVTVF9QQVRIfS9hcHBzCisJaW5zdGFsbCAtbTY0NCAke1N9L2FwcHMvKi5wZW0gJHtTfS9hcHBzLyouc3JsICR7U30vYXBwcy9vcGVuc3NsLmNuZiAke0R9JHtQVEVTVF9QQVRIfS9hcHBzCisJaW5zdGFsbCAtbTc1NSAke0J9L2FwcHMvQ0EucGwgJHtEfSR7UFRFU1RfUEFUSH0vYXBwcworCisJaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS9lbmdpbmVzCisJaW5zdGFsbCAtbTc1NSAke0J9L2VuZ2luZXMvb3NzbHRlc3Quc28gJHtEfSR7UFRFU1RfUEFUSH0vZW5naW5lcworfQorCisjIEFkZCB0aGUgb3BlbnNzbC5jbmYgZmlsZSB0byB0aGUgb3BlbnNzbC1jb25mIHBhY2thZ2UuIE1ha2UgdGhlIGxpYmNyeXB0bworIyBwYWNrYWdlIFJSRUNPTU1FTkRTIG9uIHRoaXMgcGFja2FnZS4gVGhpcyB3aWxsIGVuYWJsZSB0aGUgY29uZmlndXJhdGlvbgorIyBmaWxlIHRvIGJlIGluc3RhbGxlZCBmb3IgYm90aCB0aGUgb3BlbnNzbC1iaW4gcGFja2FnZSBhbmQgdGhlIGxpYmNyeXB0bworIyBwYWNrYWdlIHNpbmNlIHRoZSBvcGVuc3NsLWJpbiBwYWNrYWdlIGRlcGVuZHMgb24gdGhlIGxpYmNyeXB0byBwYWNrYWdlLgorCitQQUNLQUdFUyA9KyAibGliY3J5cHRvIGxpYnNzbCBvcGVuc3NsLWNvbmYgJHtQTn0tZW5naW5lcyAke1BOfS1taXNjIgorCitGSUxFU19saWJjcnlwdG8gPSAiJHtsaWJkaXJ9L2xpYmNyeXB0byR7U09MSUJTfSIKK0ZJTEVTX2xpYnNzbCA9ICIke2xpYmRpcn0vbGlic3NsJHtTT0xJQlN9IgorRklMRVNfb3BlbnNzbC1jb25mID0gIiR7c3lzY29uZmRpcn0vc3NsL29wZW5zc2wuY25mIgorRklMRVNfJHtQTn0tZW5naW5lcyA9ICIke2xpYmRpcn0vZW5naW5lcy0xLjEiCitGSUxFU18ke1BOfS1taXNjID0gIiR7bGliZGlyfS9zc2wtMS4xL21pc2MiCitGSUxFU18ke1BOfSA9KyAiJHtsaWJkaXJ9L3NzbC0xLjEvKiIKK0ZJTEVTXyR7UE59X2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiICR7U0RLUEFUSE5BVElWRX0vZW52aXJvbm1lbnQtc2V0dXAuZC9vcGVuc3NsLnNoIgorCitDT05GRklMRVNfb3BlbnNzbC1jb25mID0gIiR7c3lzY29uZmRpcn0vc3NsL29wZW5zc2wuY25mIgorCitSUkVDT01NRU5EU19saWJjcnlwdG8gKz0gIm9wZW5zc2wtY29uZiIKK1JERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICJvcGVuc3NsLWJpbiBwZXJsIHBlcmwtbW9kdWxlcyBiYXNoIgorCitSUFJPVklERVNfb3BlbnNzbC1jb25mID0gIm9wZW5zc2wxMC1jb25mIgorUlJFUExBQ0VTX29wZW5zc2wtY29uZiA9ICJvcGVuc3NsMTAtY29uZiIKK1JDT05GTElDVFNfb3BlbnNzbC1jb25mID0gIm9wZW5zc2wxMC1jb25mIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQvMDAwMS1yZXBsYWNlLXN5c3RlbWQtaW5zdGFsbC1BbGlhcy13aXRoLVdhbnRlZEJ5LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50LzAwMDEtcmVwbGFjZS1zeXN0ZW1kLWluc3RhbGwtQWxpYXMtd2l0aC1XYW50ZWRCeS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDc2Y2YwCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50LzAwMDEtcmVwbGFjZS1zeXN0ZW1kLWluc3RhbGwtQWxpYXMtd2l0aC1XYW50ZWRCeS5wYXRjaApAQCAtMCwwICsxLDUyIEBACitGcm9tIDk0YzQwMTczM2E1YTNkMjk0Y2M0MTI2NzExNjZlNmFkZmI0MDlmNTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb3NodWEgRGVXZWVzZSA8amRld2Vlc2VAaGVubnlwZW5ueS5jb20+CitEYXRlOiBXZWQsIDMwIEphbiAyMDE5IDE2OjE5OjQ3IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIHJlcGxhY2Ugc3lzdGVtZCBpbnN0YWxsIEFsaWFzIHdpdGggV2FudGVkQnkKKworQWNjb3JkaW5nIHRvIHRoZSBzeXN0ZW1kIGRvY3VtZW50YXRpb24gIldhbnRlZEJ5PWZvby5zZXJ2aWNlIGluIGEKK3NlcnZpY2UgYmFyLnNlcnZpY2UgaXMgbW9zdGx5IGVxdWl2YWxlbnQgdG8KK0FsaWFzPWZvby5zZXJ2aWNlLndhbnRzL2Jhci5zZXJ2aWNlIGluIHRoZSBzYW1lIGZpbGUuIiBIb3dldmVyLAordGhpcyBpcyBub3QgcmVhbGx5IHRoZSBpbnRlbmRlZCBwdXJwb3NlIG9mIGluc3RhbGwgQWxpYXNlcy4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2hvc3RhcEBsaXN0cy5pbmZyYWRlYWQub3JnXQorCitTaWduZWQtb2ZmLWJ5OiBKb3NodWEgRGVXZWVzZSA8amRld2Vlc2VAaGVubnlwZW5ueS5jb20+CistLS0KKyB3cGFfc3VwcGxpY2FudC9zeXN0ZW1kL3dwYV9zdXBwbGljYW50LW5sODAyMTEuc2VydmljZS5hcmcuaW4gfCAyICstCisgd3BhX3N1cHBsaWNhbnQvc3lzdGVtZC93cGFfc3VwcGxpY2FudC13aXJlZC5zZXJ2aWNlLmFyZy5pbiAgIHwgMiArLQorIHdwYV9zdXBwbGljYW50L3N5c3RlbWQvd3BhX3N1cHBsaWNhbnQuc2VydmljZS5hcmcuaW4gICAgICAgICB8IDIgKy0KKyAzIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3dwYV9zdXBwbGljYW50L3N5c3RlbWQvd3BhX3N1cHBsaWNhbnQtbmw4MDIxMS5zZXJ2aWNlLmFyZy5pbiBiL3dwYV9zdXBwbGljYW50L3N5c3RlbWQvd3BhX3N1cHBsaWNhbnQtbmw4MDIxMS5zZXJ2aWNlLmFyZy5pbgoraW5kZXggMDNhYzUwNy4uZGE2OWE4NyAxMDA2NDQKKy0tLSBhL3dwYV9zdXBwbGljYW50L3N5c3RlbWQvd3BhX3N1cHBsaWNhbnQtbmw4MDIxMS5zZXJ2aWNlLmFyZy5pbgorKysrIGIvd3BhX3N1cHBsaWNhbnQvc3lzdGVtZC93cGFfc3VwcGxpY2FudC1ubDgwMjExLnNlcnZpY2UuYXJnLmluCitAQCAtMTIsNCArMTIsNCBAQCBUeXBlPXNpbXBsZQorIEV4ZWNTdGFydD1AQklORElSQC93cGFfc3VwcGxpY2FudCAtYy9ldGMvd3BhX3N1cHBsaWNhbnQvd3BhX3N1cHBsaWNhbnQtbmw4MDIxMS0lSS5jb25mIC1Ebmw4MDIxMSAtaSVJCisgCisgW0luc3RhbGxdCistQWxpYXM9bXVsdGktdXNlci50YXJnZXQud2FudHMvd3BhX3N1cHBsaWNhbnQtbmw4MDIxMUAlaS5zZXJ2aWNlCisrV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKK2RpZmYgLS1naXQgYS93cGFfc3VwcGxpY2FudC9zeXN0ZW1kL3dwYV9zdXBwbGljYW50LXdpcmVkLnNlcnZpY2UuYXJnLmluIGIvd3BhX3N1cHBsaWNhbnQvc3lzdGVtZC93cGFfc3VwcGxpY2FudC13aXJlZC5zZXJ2aWNlLmFyZy5pbgoraW5kZXggYzhhNzQ0ZC4uY2EzMDU0YiAxMDA2NDQKKy0tLSBhL3dwYV9zdXBwbGljYW50L3N5c3RlbWQvd3BhX3N1cHBsaWNhbnQtd2lyZWQuc2VydmljZS5hcmcuaW4KKysrKyBiL3dwYV9zdXBwbGljYW50L3N5c3RlbWQvd3BhX3N1cHBsaWNhbnQtd2lyZWQuc2VydmljZS5hcmcuaW4KK0BAIC0xMiw0ICsxMiw0IEBAIFR5cGU9c2ltcGxlCisgRXhlY1N0YXJ0PUBCSU5ESVJAL3dwYV9zdXBwbGljYW50IC1jL2V0Yy93cGFfc3VwcGxpY2FudC93cGFfc3VwcGxpY2FudC13aXJlZC0lSS5jb25mIC1Ed2lyZWQgLWklSQorIAorIFtJbnN0YWxsXQorLUFsaWFzPW11bHRpLXVzZXIudGFyZ2V0LndhbnRzL3dwYV9zdXBwbGljYW50LXdpcmVkQCVpLnNlcnZpY2UKKytXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldAorZGlmZiAtLWdpdCBhL3dwYV9zdXBwbGljYW50L3N5c3RlbWQvd3BhX3N1cHBsaWNhbnQuc2VydmljZS5hcmcuaW4gYi93cGFfc3VwcGxpY2FudC9zeXN0ZW1kL3dwYV9zdXBwbGljYW50LnNlcnZpY2UuYXJnLmluCitpbmRleCA3Nzg4YjM4Li41NWQyYjljIDEwMDY0NAorLS0tIGEvd3BhX3N1cHBsaWNhbnQvc3lzdGVtZC93cGFfc3VwcGxpY2FudC5zZXJ2aWNlLmFyZy5pbgorKysrIGIvd3BhX3N1cHBsaWNhbnQvc3lzdGVtZC93cGFfc3VwcGxpY2FudC5zZXJ2aWNlLmFyZy5pbgorQEAgLTEyLDQgKzEyLDQgQEAgVHlwZT1zaW1wbGUKKyBFeGVjU3RhcnQ9QEJJTkRJUkAvd3BhX3N1cHBsaWNhbnQgLWMvZXRjL3dwYV9zdXBwbGljYW50L3dwYV9zdXBwbGljYW50LSVJLmNvbmYgLWklSQorIAorIFtJbnN0YWxsXQorLUFsaWFzPW11bHRpLXVzZXIudGFyZ2V0LndhbnRzL3dwYV9zdXBwbGljYW50QCVpLnNlcnZpY2UKKytXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldAorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQva2V5LXJlcGxheS1jdmUtbXVsdGlwbGUxLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50L2tleS1yZXBsYXktY3ZlLW11bHRpcGxlMS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDRkNDllNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQva2V5LXJlcGxheS1jdmUtbXVsdGlwbGUxLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTkxICswLDAgQEAKLVRoZSBXUEEyIGZvdXItd2F5IGhhbmRzaGFrZSBwcm90b2NvbCBpcyB2dWxuZXJhYmxlIHRvIHJlcGxheSBhdHRhY2tzIHdoaWNoIGNhbgotcmVzdWx0IGluIHVuYXV0aGVudGljYXRlZCBjbGllbnRzIGdhaW5pbmcgYWNjZXNzIHRvIHRoZSBuZXR3b3JrLgotCi1CYWNrcG9ydCBhIG51bWJlciBvZiBwYXRjaGVzIGZyb20gdXBzdHJlYW0gdG8gZml4IHRoaXMuCi0KLUNWRTogQ1ZFLTIwMTctMTMwNzcKLUNWRTogQ1ZFLTIwMTctMTMwNzgKLUNWRTogQ1ZFLTIwMTctMTMwNzkKLUNWRTogQ1ZFLTIwMTctMTMwODAKLUNWRTogQ1ZFLTIwMTctMTMwODEKLUNWRTogQ1ZFLTIwMTctMTMwODIKLUNWRTogQ1ZFLTIwMTctMTMwODYKLUNWRTogQ1ZFLTIwMTctMTMwODcKLUNWRTogQ1ZFLTIwMTctMTMwODgKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotRnJvbSBjZjRjYWI4MDRjN2FmZDVjNDU1MDU1MjhhOGQxNmU0NjE2MzI0M2EyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWF0aHkgVmFuaG9lZiA8TWF0aHkuVmFuaG9lZkBjcy5rdWxldXZlbi5iZT4KLURhdGU6IEZyaSwgMTQgSnVsIDIwMTcgMTU6MTU6MzUgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAxLzhdIGhvc3RhcGQ6IEF2b2lkIGtleSByZWluc3RhbGxhdGlvbiBpbiBGVCBoYW5kc2hha2UKLQotRG8gbm90IHJlaW5zdGFsbCBUSyB0byB0aGUgZHJpdmVyIGR1cmluZyBSZWFzc29jaWF0aW9uIFJlc3BvbnNlIGZyYW1lCi1wcm9jZXNzaW5nIGlmIHRoZSBmaXJzdCBhdHRlbXB0IG9mIHNldHRpbmcgdGhlIFRLIHN1Y2NlZWRlZC4gVGhpcyBhdm9pZHMKLWlzc3VlcyByZWxhdGVkIHRvIGNsZWFyaW5nIHRoZSBUWC9SWCBQTiB0aGF0IGNvdWxkIHJlc3VsdCBpbiByZXVzaW5nCi1zYW1lIFBOIHZhbHVlcyBmb3IgdHJhbnNtaXR0ZWQgZnJhbWVzIChlLmcuLCBkdWUgdG8gQ0NNIG5vbmNlIHJldXNlIGFuZAotYWxzbyBoaXR0aW5nIHJlcGxheSBwcm90ZWN0aW9uIG9uIHRoZSByZWNlaXZlcikgYW5kIGFjY2VwdGluZyByZXBsYXllZAotZnJhbWVzIG9uIFJYIHNpZGUuCi0KLVRoaXMgaXNzdWUgd2FzIGludHJvZHVjZWQgYnkgdGhlIGNvbW1pdAotMGU4NGMyNTQzNGU2YTFmMjgzYzdiNGU2MmU0ODM3MjkwODViNzhkMiAoJ0ZUOiBGaXggUFRLIGNvbmZpZ3VyYXRpb24gaW4KLWF1dGhlbnRpY2F0b3InKSB3aGljaCBhbGxvd2VkIHdwYV9mdF9pbnN0YWxsX3B0aygpIHRvIGJlIGNhbGxlZCBtdWx0aXBsZQotdGltZXMgd2l0aCB0aGUgc2FtZSBQVEsuIFdoaWxlIHRoZSBzZWNvbmQgY29uZmlndXJhdGlvbiBhdHRlbXB0IGlzCi1uZWVkZWQgd2l0aCBzb21lIGRyaXZlcnMsIGl0IG11c3QgYmUgZG9uZSBvbmx5IGlmIHRoZSBmaXJzdCBhdHRlbXB0Ci1mYWlsZWQuCi0KLVNpZ25lZC1vZmYtYnk6IE1hdGh5IFZhbmhvZWYgPE1hdGh5LlZhbmhvZWZAY3Mua3VsZXV2ZW4uYmU+Ci0tLS0KLSBzcmMvYXAvaWVlZTgwMl8xMS5jICB8IDE2ICsrKysrKysrKysrKystLS0KLSBzcmMvYXAvd3BhX2F1dGguYyAgICB8IDExICsrKysrKysrKysrCi0gc3JjL2FwL3dwYV9hdXRoLmggICAgfCAgMyArKy0KLSBzcmMvYXAvd3BhX2F1dGhfZnQuYyB8IDEwICsrKysrKysrKysKLSBzcmMvYXAvd3BhX2F1dGhfaS5oICB8ICAxICsKLSA1IGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvYXAvaWVlZTgwMl8xMS5jIGIvc3JjL2FwL2llZWU4MDJfMTEuYwotaW5kZXggNGUwNDE2OS4uMzMzMDM1ZiAxMDA2NDQKLS0tLSBhL3NyYy9hcC9pZWVlODAyXzExLmMKLSsrKyBiL3NyYy9hcC9pZWVlODAyXzExLmMKLUBAIC0xODQxLDYgKzE4NDEsNyBAQCBzdGF0aWMgaW50IGFkZF9hc3NvY2lhdGVkX3N0YShzdHJ1Y3QgaG9zdGFwZF9kYXRhICpoYXBkLAotIHsKLSAJc3RydWN0IGllZWU4MDIxMV9odF9jYXBhYmlsaXRpZXMgaHRfY2FwOwotIAlzdHJ1Y3QgaWVlZTgwMjExX3ZodF9jYXBhYmlsaXRpZXMgdmh0X2NhcDsKLSsJaW50IHNldCA9IDE7Ci0gCi0gCS8qCi0gCSAqIFJlbW92ZSB0aGUgU1RBIGVudHJ5IHRvIGVuc3VyZSB0aGUgU1RBIFBTIHN0YXRlIGdldHMgY2xlYXJlZCBhbmQKLUBAIC0xODQ4LDkgKzE4NDksMTggQEAgc3RhdGljIGludCBhZGRfYXNzb2NpYXRlZF9zdGEoc3RydWN0IGhvc3RhcGRfZGF0YSAqaGFwZCwKLSAJICogRlQtb3Zlci10aGUtRFMsIHdoZXJlIGEgc3RhdGlvbiByZS1hc3NvY2lhdGVzIGJhY2sgdG8gdGhlIHNhbWUgQVAgYnV0Ci0gCSAqIHNraXBzIHRoZSBhdXRoZW50aWNhdGlvbiBmbG93LCBvciBpZiB3b3JraW5nIHdpdGggYSBkcml2ZXIgdGhhdAotIAkgKiBkb2VzIG5vdCBzdXBwb3J0IGZ1bGwgQVAgY2xpZW50IHN0YXRlLgotKwkgKgotKwkgKiBTa2lwIHRoaXMgaWYgdGhlIFNUQSBoYXMgYWxyZWFkeSBjb21wbGV0ZWQgRlQgcmVhc3NvY2lhdGlvbiBhbmQgdGhlCi0rCSAqIFRLIGhhcyBiZWVuIGNvbmZpZ3VyZWQgc2luY2UgdGhlIFRYL1JYIFBOIG11c3Qgbm90IGJlIHJlc2V0IHRvIDAgZm9yCi0rCSAqIHRoZSBzYW1lIGtleS4KLSAJICovCi0tCWlmICghc3RhLT5hZGRlZF91bmFzc29jKQotKwlpZiAoIXN0YS0+YWRkZWRfdW5hc3NvYyAmJgotKwkgICAgKCEoc3RhLT5mbGFncyAmIFdMQU5fU1RBX0FVVEhPUklaRUQpIHx8Ci0rCSAgICAgIXdwYV9hdXRoX3N0YV9mdF90a19hbHJlYWR5X3NldChzdGEtPndwYV9zbSkpKSB7Ci0gCQlob3N0YXBkX2Rydl9zdGFfcmVtb3ZlKGhhcGQsIHN0YS0+YWRkcik7Ci0rCQl3cGFfYXV0aF9zbV9ldmVudChzdGEtPndwYV9zbSwgV1BBX0RSVl9TVEFfUkVNT1ZFRCk7Ci0rCQlzZXQgPSAwOwotKwl9Ci0gCi0gI2lmZGVmIENPTkZJR19JRUVFODAyMTFOCi0gCWlmIChzdGEtPmZsYWdzICYgV0xBTl9TVEFfSFQpCi1AQCAtMTg3MywxMSArMTg4MywxMSBAQCBzdGF0aWMgaW50IGFkZF9hc3NvY2lhdGVkX3N0YShzdHJ1Y3QgaG9zdGFwZF9kYXRhICpoYXBkLAotIAkJCSAgICBzdGEtPmZsYWdzICYgV0xBTl9TVEFfVkhUID8gJnZodF9jYXAgOiBOVUxMLAotIAkJCSAgICBzdGEtPmZsYWdzIHwgV0xBTl9TVEFfQVNTT0MsIHN0YS0+cW9zaW5mbywKLSAJCQkgICAgc3RhLT52aHRfb3Btb2RlLCBzdGEtPnAycF9pZSA/IDEgOiAwLAotLQkJCSAgICBzdGEtPmFkZGVkX3VuYXNzb2MpKSB7Ci0rCQkJICAgIHNldCkpIHsKLSAJCWhvc3RhcGRfbG9nZ2VyKGhhcGQsIHN0YS0+YWRkciwKLSAJCQkgICAgICAgSE9TVEFQRF9NT0RVTEVfSUVFRTgwMjExLCBIT1NUQVBEX0xFVkVMX05PVElDRSwKLSAJCQkgICAgICAgIkNvdWxkIG5vdCAlcyBTVEEgdG8ga2VybmVsIGRyaXZlciIsCi0tCQkJICAgICAgIHN0YS0+YWRkZWRfdW5hc3NvYyA/ICJzZXQiIDogImFkZCIpOwotKwkJCSAgICAgICBzZXQgPyAic2V0IiA6ICJhZGQiKTsKLSAKLSAJCWlmIChzdGEtPmFkZGVkX3VuYXNzb2MpIHsKLSAJCQlob3N0YXBkX2Rydl9zdGFfcmVtb3ZlKGhhcGQsIHN0YS0+YWRkcik7Ci1kaWZmIC0tZ2l0IGEvc3JjL2FwL3dwYV9hdXRoLmMgYi9zcmMvYXAvd3BhX2F1dGguYwotaW5kZXggMzU4NzA4Ni4uNzA3OTcxZCAxMDA2NDQKLS0tLSBhL3NyYy9hcC93cGFfYXV0aC5jCi0rKysgYi9zcmMvYXAvd3BhX2F1dGguYwotQEAgLTE3NDUsNiArMTc0NSw5IEBAIGludCB3cGFfYXV0aF9zbV9ldmVudChzdHJ1Y3Qgd3BhX3N0YXRlX21hY2hpbmUgKnNtLCBlbnVtIHdwYV9ldmVudCBldmVudCkKLSAjZWxzZSAvKiBDT05GSUdfSUVFRTgwMjExUiAqLwotIAkJYnJlYWs7Ci0gI2VuZGlmIC8qIENPTkZJR19JRUVFODAyMTFSICovCi0rCWNhc2UgV1BBX0RSVl9TVEFfUkVNT1ZFRDoKLSsJCXNtLT50a19hbHJlYWR5X3NldCA9IEZBTFNFOwotKwkJcmV0dXJuIDA7Ci0gCX0KLSAKLSAjaWZkZWYgQ09ORklHX0lFRUU4MDIxMVIKLUBAIC0zMjUwLDYgKzMyNTMsMTQgQEAgaW50IHdwYV9hdXRoX3N0YV93cGFfdmVyc2lvbihzdHJ1Y3Qgd3BhX3N0YXRlX21hY2hpbmUgKnNtKQotIH0KLSAKLSAKLStpbnQgd3BhX2F1dGhfc3RhX2Z0X3RrX2FscmVhZHlfc2V0KHN0cnVjdCB3cGFfc3RhdGVfbWFjaGluZSAqc20pCi0rewotKwlpZiAoIXNtIHx8ICF3cGFfa2V5X21nbXRfZnQoc20tPndwYV9rZXlfbWdtdCkpCi0rCQlyZXR1cm4gMDsKLSsJcmV0dXJuIHNtLT50a19hbHJlYWR5X3NldDsKLSt9Ci0rCi0rCi0gaW50IHdwYV9hdXRoX3N0YV9jbGVhcl9wbWtzYShzdHJ1Y3Qgd3BhX3N0YXRlX21hY2hpbmUgKnNtLAotIAkJCSAgICAgc3RydWN0IHJzbl9wbWtzYV9jYWNoZV9lbnRyeSAqZW50cnkpCi0gewotZGlmZiAtLWdpdCBhL3NyYy9hcC93cGFfYXV0aC5oIGIvc3JjL2FwL3dwYV9hdXRoLmgKLWluZGV4IDBkZThkOTcuLjk3NDYxYjAgMTAwNjQ0Ci0tLS0gYS9zcmMvYXAvd3BhX2F1dGguaAotKysrIGIvc3JjL2FwL3dwYV9hdXRoLmgKLUBAIC0yNjcsNyArMjY3LDcgQEAgdm9pZCB3cGFfcmVjZWl2ZShzdHJ1Y3Qgd3BhX2F1dGhlbnRpY2F0b3IgKndwYV9hdXRoLAotIAkJIHU4ICpkYXRhLCBzaXplX3QgZGF0YV9sZW4pOwotIGVudW0gd3BhX2V2ZW50IHsKLSAJV1BBX0FVVEgsIFdQQV9BU1NPQywgV1BBX0RJU0FTU09DLCBXUEFfREVBVVRILCBXUEFfUkVBVVRILAotLQlXUEFfUkVBVVRIX0VBUE9MLCBXUEFfQVNTT0NfRlQKLSsJV1BBX1JFQVVUSF9FQVBPTCwgV1BBX0FTU09DX0ZULCBXUEFfRFJWX1NUQV9SRU1PVkVECi0gfTsKLSB2b2lkIHdwYV9yZW1vdmVfcHRrKHN0cnVjdCB3cGFfc3RhdGVfbWFjaGluZSAqc20pOwotIGludCB3cGFfYXV0aF9zbV9ldmVudChzdHJ1Y3Qgd3BhX3N0YXRlX21hY2hpbmUgKnNtLCBlbnVtIHdwYV9ldmVudCBldmVudCk7Ci1AQCAtMjgwLDYgKzI4MCw3IEBAIGludCB3cGFfYXV0aF9wYWlyd2lzZV9zZXQoc3RydWN0IHdwYV9zdGF0ZV9tYWNoaW5lICpzbSk7Ci0gaW50IHdwYV9hdXRoX2dldF9wYWlyd2lzZShzdHJ1Y3Qgd3BhX3N0YXRlX21hY2hpbmUgKnNtKTsKLSBpbnQgd3BhX2F1dGhfc3RhX2tleV9tZ210KHN0cnVjdCB3cGFfc3RhdGVfbWFjaGluZSAqc20pOwotIGludCB3cGFfYXV0aF9zdGFfd3BhX3ZlcnNpb24oc3RydWN0IHdwYV9zdGF0ZV9tYWNoaW5lICpzbSk7Ci0raW50IHdwYV9hdXRoX3N0YV9mdF90a19hbHJlYWR5X3NldChzdHJ1Y3Qgd3BhX3N0YXRlX21hY2hpbmUgKnNtKTsKLSBpbnQgd3BhX2F1dGhfc3RhX2NsZWFyX3Bta3NhKHN0cnVjdCB3cGFfc3RhdGVfbWFjaGluZSAqc20sCi0gCQkJICAgICBzdHJ1Y3QgcnNuX3Bta3NhX2NhY2hlX2VudHJ5ICplbnRyeSk7Ci0gc3RydWN0IHJzbl9wbWtzYV9jYWNoZV9lbnRyeSAqCi1kaWZmIC0tZ2l0IGEvc3JjL2FwL3dwYV9hdXRoX2Z0LmMgYi9zcmMvYXAvd3BhX2F1dGhfZnQuYwotaW5kZXggNDIyNDJhNS4uZTYzYjk5YSAxMDA2NDQKLS0tLSBhL3NyYy9hcC93cGFfYXV0aF9mdC5jCi0rKysgYi9zcmMvYXAvd3BhX2F1dGhfZnQuYwotQEAgLTc4MCw2ICs3ODAsMTQgQEAgdm9pZCB3cGFfZnRfaW5zdGFsbF9wdGsoc3RydWN0IHdwYV9zdGF0ZV9tYWNoaW5lICpzbSkKLSAJCXJldHVybjsKLSAJfQotIAotKwlpZiAoc20tPnRrX2FscmVhZHlfc2V0KSB7Ci0rCQkvKiBNdXN0IGF2b2lkIFRLIHJlY29uZmlndXJhdGlvbiB0byBwcmV2ZW50IGNsZWFyaW5nIG9mIFRYL1JYCi0rCQkgKiBQTiBpbiB0aGUgZHJpdmVyICovCi0rCQl3cGFfcHJpbnRmKE1TR19ERUJVRywKLSsJCQkgICAiRlQ6IERvIG5vdCByZS1pbnN0YWxsIHNhbWUgUFRLIHRvIHRoZSBkcml2ZXIiKTsKLSsJCXJldHVybjsKLSsJfQotKwotIAkvKiBGSVg6IGFkZCBTVEEgZW50cnkgdG8ga2VybmVsL2RyaXZlciBoZXJlPyBUaGUgc2V0X2tleSB3aWxsIGZhaWwKLSAJICogbW9zdCBsaWtlbHkgd2l0aG91dCB0aGlzLi4gQXQgdGhlIG1vbWVudCwgU1RBIGVudHJ5IGlzIGFkZGVkIG9ubHkKLSAJICogYWZ0ZXIgYXNzb2NpYXRpb24gaGFzIGJlZW4gY29tcGxldGVkLiBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkCi1AQCAtNzkyLDYgKzgwMCw3IEBAIHZvaWQgd3BhX2Z0X2luc3RhbGxfcHRrKHN0cnVjdCB3cGFfc3RhdGVfbWFjaGluZSAqc20pCi0gCi0gCS8qIEZJWDogTUxNRS1TZXRQcm90ZWN0aW9uLlJlcXVlc3QoVEEsIFR4X1J4KSAqLwotIAlzbS0+cGFpcndpc2Vfc2V0ID0gVFJVRTsKLSsJc20tPnRrX2FscmVhZHlfc2V0ID0gVFJVRTsKLSB9Ci0gCi0gCi1AQCAtODk4LDYgKzkwNyw3IEBAIHN0YXRpYyBpbnQgd3BhX2Z0X3Byb2Nlc3NfYXV0aF9yZXEoc3RydWN0IHdwYV9zdGF0ZV9tYWNoaW5lICpzbSwKLSAKLSAJc20tPnBhaXJ3aXNlID0gcGFpcndpc2U7Ci0gCXNtLT5QVEtfdmFsaWQgPSBUUlVFOwotKwlzbS0+dGtfYWxyZWFkeV9zZXQgPSBGQUxTRTsKLSAJd3BhX2Z0X2luc3RhbGxfcHRrKHNtKTsKLSAKLSAJYnVmbGVuID0gMiArIHNpemVvZihzdHJ1Y3QgcnNuX21kaWUpICsgMiArIHNpemVvZihzdHJ1Y3QgcnNuX2Z0aWUpICsKLWRpZmYgLS1naXQgYS9zcmMvYXAvd3BhX2F1dGhfaS5oIGIvc3JjL2FwL3dwYV9hdXRoX2kuaAotaW5kZXggNzJiN2ViMy4uN2ZkOGYwNSAxMDA2NDQKLS0tLSBhL3NyYy9hcC93cGFfYXV0aF9pLmgKLSsrKyBiL3NyYy9hcC93cGFfYXV0aF9pLmgKLUBAIC02NSw2ICs2NSw3IEBAIHN0cnVjdCB3cGFfc3RhdGVfbWFjaGluZSB7Ci0gCXN0cnVjdCB3cGFfcHRrIFBUSzsKLSAJQm9vbGVhbiBQVEtfdmFsaWQ7Ci0gCUJvb2xlYW4gcGFpcndpc2Vfc2V0OwotKwlCb29sZWFuIHRrX2FscmVhZHlfc2V0OwotIAlpbnQga2V5Y291bnQ7Ci0gCUJvb2xlYW4gUGFpcjsKLSAJc3RydWN0IHdwYV9rZXlfcmVwbGF5X2NvdW50ZXIgewotLS0gCi0yLjcuNApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudC9rZXktcmVwbGF5LWN2ZS1tdWx0aXBsZTIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQva2V5LXJlcGxheS1jdmUtbXVsdGlwbGUyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MDFiYjRiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudC9rZXktcmVwbGF5LWN2ZS1tdWx0aXBsZTIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNjcgKzAsMCBAQAotVGhlIFdQQTIgZm91ci13YXkgaGFuZHNoYWtlIHByb3RvY29sIGlzIHZ1bG5lcmFibGUgdG8gcmVwbGF5IGF0dGFja3Mgd2hpY2ggY2FuCi1yZXN1bHQgaW4gdW5hdXRoZW50aWNhdGVkIGNsaWVudHMgZ2FpbmluZyBhY2Nlc3MgdG8gdGhlIG5ldHdvcmsuCi0KLUJhY2twb3J0IGEgbnVtYmVyIG9mIHBhdGNoZXMgZnJvbSB1cHN0cmVhbSB0byBmaXggdGhpcy4KLQotQ1ZFOiBDVkUtMjAxNy0xMzA3NwotQ1ZFOiBDVkUtMjAxNy0xMzA3OAotQ1ZFOiBDVkUtMjAxNy0xMzA3OQotQ1ZFOiBDVkUtMjAxNy0xMzA4MAotQ1ZFOiBDVkUtMjAxNy0xMzA4MQotQ1ZFOiBDVkUtMjAxNy0xMzA4MgotQ1ZFOiBDVkUtMjAxNy0xMzA4NgotQ1ZFOiBDVkUtMjAxNy0xMzA4NwotQ1ZFOiBDVkUtMjAxNy0xMzA4OAotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1TaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotCi1Gcm9tIDkyN2Y4OTEwMDdjNDAyZmVmZDFmZjM4NDY0NWIzZjA3NTk3YzNlZGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXRoeSBWYW5ob2VmIDxNYXRoeS5WYW5ob2VmQGNzLmt1bGV1dmVuLmJlPgotRGF0ZTogV2VkLCAxMiBKdWwgMjAxNyAxNjowMzoyNCArMDIwMAotU3ViamVjdDogW1BBVENIIDIvOF0gUHJldmVudCByZWluc3RhbGxhdGlvbiBvZiBhbiBhbHJlYWR5IGluLXVzZSBncm91cCBrZXkKLQotVHJhY2sgdGhlIGN1cnJlbnQgR1RLIGFuZCBJR1RLIHRoYXQgaXMgaW4gdXNlIGFuZCB3aGVuIHJlY2VpdmluZyBhCi0ocG9zc2libHkgcmV0cmFuc21pdHRlZCkgR3JvdXAgTWVzc2FnZSAxIG9yIFdOTS1TbGVlcCBNb2RlIFJlc3BvbnNlLCBkbwotbm90IGluc3RhbGwgdGhlIGdpdmVuIGtleSBpZiBpdCBpcyBhbHJlYWR5IGluIHVzZS4gVGhpcyBwcmV2ZW50cyBhbgotYXR0YWNrZXIgZnJvbSB0cnlpbmcgdG8gdHJpY2sgdGhlIGNsaWVudCBpbnRvIHJlc2V0dGluZyBvciBsb3dlcmluZyB0aGUKLXNlcXVlbmNlIGNvdW50ZXIgYXNzb2NpYXRlZCB0byB0aGUgZ3JvdXAga2V5LgotCi1TaWduZWQtb2ZmLWJ5OiBNYXRoeSBWYW5ob2VmIDxNYXRoeS5WYW5ob2VmQGNzLmt1bGV1dmVuLmJlPgotLS0tCi0gc3JjL2NvbW1vbi93cGFfY29tbW9uLmggfCAgMTEgKysrKysKLSBzcmMvcnNuX3N1cHAvd3BhLmMgICAgICB8IDExNiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KLSBzcmMvcnNuX3N1cHAvd3BhX2kuaCAgICB8ICAgNCArKwotIDMgZmlsZXMgY2hhbmdlZCwgODcgaW5zZXJ0aW9ucygrKSwgNDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvY29tbW9uL3dwYV9jb21tb24uaCBiL3NyYy9jb21tb24vd3BhX2NvbW1vbi5oCi1pbmRleCBhZjFkMGYwLi5kMjAwMjg1IDEwMDY0NAotLS0tIGEvc3JjL2NvbW1vbi93cGFfY29tbW9uLmgKLSsrKyBiL3NyYy9jb21tb24vd3BhX2NvbW1vbi5oCi1AQCAtMjE3LDYgKzIxNywxNyBAQCBzdHJ1Y3Qgd3BhX3B0ayB7Ci0gCXNpemVfdCB0a19sZW47Ci0gfTsKLSAKLStzdHJ1Y3Qgd3BhX2d0ayB7Ci0rCXU4IGd0a1tXUEFfR1RLX01BWF9MRU5dOwotKwlzaXplX3QgZ3RrX2xlbjsKLSt9OwotKwotKyNpZmRlZiBDT05GSUdfSUVFRTgwMjExVwotK3N0cnVjdCB3cGFfaWd0ayB7Ci0rCXU4IGlndGtbV1BBX0lHVEtfTUFYX0xFTl07Ci0rCXNpemVfdCBpZ3RrX2xlbjsKLSt9OwotKyNlbmRpZiAvKiBDT05GSUdfSUVFRTgwMjExVyAqLwotIAotIC8qIFdQQSBJRSB2ZXJzaW9uIDEKLSAgKiAwMC01MC1mMjoxIChPVUk6T1VJIHR5cGUpCi1kaWZmIC0tZ2l0IGEvc3JjL3Jzbl9zdXBwL3dwYS5jIGIvc3JjL3Jzbl9zdXBwL3dwYS5jCi1pbmRleCAzYzQ3ODc5Li45NWJkN2JlIDEwMDY0NAotLS0tIGEvc3JjL3Jzbl9zdXBwL3dwYS5jCi0rKysgYi9zcmMvcnNuX3N1cHAvd3BhLmMKLUBAIC03MTQsNiArNzE0LDE1IEBAIHN0YXRpYyBpbnQgd3BhX3N1cHBsaWNhbnRfaW5zdGFsbF9ndGsoc3RydWN0IHdwYV9zbSAqc20sCi0gCWNvbnN0IHU4ICpfZ3RrID0gZ2QtPmd0azsKLSAJdTggZ3RrX2J1ZlszMl07Ci0gCi0rCS8qIERldGVjdCBwb3NzaWJsZSBrZXkgcmVpbnN0YWxsYXRpb24gKi8KLSsJaWYgKHNtLT5ndGsuZ3RrX2xlbiA9PSAoc2l6ZV90KSBnZC0+Z3RrX2xlbiAmJgotKwkgICAgb3NfbWVtY21wKHNtLT5ndGsuZ3RrLCBnZC0+Z3RrLCBzbS0+Z3RrLmd0a19sZW4pID09IDApIHsKLSsJCXdwYV9kYmcoc20tPmN0eC0+bXNnX2N0eCwgTVNHX0RFQlVHLAotKwkJCSJXUEE6IE5vdCByZWluc3RhbGxpbmcgYWxyZWFkeSBpbi11c2UgR1RLIHRvIHRoZSBkcml2ZXIgKGtleWlkeD0lZCB0eD0lZCBsZW49JWQpIiwKLSsJCQlnZC0+a2V5aWR4LCBnZC0+dHgsIGdkLT5ndGtfbGVuKTsKLSsJCXJldHVybiAwOwotKwl9Ci0rCi0gCXdwYV9oZXhkdW1wX2tleShNU0dfREVCVUcsICJXUEE6IEdyb3VwIEtleSIsIGdkLT5ndGssIGdkLT5ndGtfbGVuKTsKLSAJd3BhX2RiZyhzbS0+Y3R4LT5tc2dfY3R4LCBNU0dfREVCVUcsCi0gCQkiV1BBOiBJbnN0YWxsaW5nIEdUSyB0byB0aGUgZHJpdmVyIChrZXlpZHg9JWQgdHg9JWQgbGVuPSVkKSIsCi1AQCAtNzQ4LDYgKzc1Nyw5IEBAIHN0YXRpYyBpbnQgd3BhX3N1cHBsaWNhbnRfaW5zdGFsbF9ndGsoc3RydWN0IHdwYV9zbSAqc20sCi0gCX0KLSAJb3NfbWVtc2V0KGd0a19idWYsIDAsIHNpemVvZihndGtfYnVmKSk7Ci0gCi0rCXNtLT5ndGsuZ3RrX2xlbiA9IGdkLT5ndGtfbGVuOwotKwlvc19tZW1jcHkoc20tPmd0ay5ndGssIGdkLT5ndGssIHNtLT5ndGsuZ3RrX2xlbik7Ci0rCi0gCXJldHVybiAwOwotIH0KLSAKLUBAIC04NTQsNiArODY2LDQ4IEBAIHN0YXRpYyBpbnQgd3BhX3N1cHBsaWNhbnRfcGFpcndpc2VfZ3RrKHN0cnVjdCB3cGFfc20gKnNtLAotIH0KLSAKLSAKLSsjaWZkZWYgQ09ORklHX0lFRUU4MDIxMVcKLStzdGF0aWMgaW50IHdwYV9zdXBwbGljYW50X2luc3RhbGxfaWd0ayhzdHJ1Y3Qgd3BhX3NtICpzbSwKLSsJCQkJICAgICAgIGNvbnN0IHN0cnVjdCB3cGFfaWd0a19rZGUgKmlndGspCi0rewotKwlzaXplX3QgbGVuID0gd3BhX2NpcGhlcl9rZXlfbGVuKHNtLT5tZ210X2dyb3VwX2NpcGhlcik7Ci0rCXUxNiBrZXlpZHggPSBXUEFfR0VUX0xFMTYoaWd0ay0+a2V5aWQpOwotKwotKwkvKiBEZXRlY3QgcG9zc2libGUga2V5IHJlaW5zdGFsbGF0aW9uICovCi0rCWlmIChzbS0+aWd0ay5pZ3RrX2xlbiA9PSBsZW4gJiYKLSsJICAgIG9zX21lbWNtcChzbS0+aWd0ay5pZ3RrLCBpZ3RrLT5pZ3RrLCBzbS0+aWd0ay5pZ3RrX2xlbikgPT0gMCkgewotKwkJd3BhX2RiZyhzbS0+Y3R4LT5tc2dfY3R4LCBNU0dfREVCVUcsCi0rCQkJIldQQTogTm90IHJlaW5zdGFsbGluZyBhbHJlYWR5IGluLXVzZSBJR1RLIHRvIHRoZSBkcml2ZXIgKGtleWlkeD0lZCkiLAotKwkJCWtleWlkeCk7Ci0rCQlyZXR1cm4gIDA7Ci0rCX0KLSsKLSsJd3BhX2RiZyhzbS0+Y3R4LT5tc2dfY3R4LCBNU0dfREVCVUcsCi0rCQkiV1BBOiBJR1RLIGtleWlkICVkIHBuICUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCIsCi0rCQlrZXlpZHgsIE1BQzJTVFIoaWd0ay0+cG4pKTsKLSsJd3BhX2hleGR1bXBfa2V5KE1TR19ERUJVRywgIldQQTogSUdUSyIsIGlndGstPmlndGssIGxlbik7Ci0rCWlmIChrZXlpZHggPiA0MDk1KSB7Ci0rCQl3cGFfbXNnKHNtLT5jdHgtPm1zZ19jdHgsIE1TR19XQVJOSU5HLAotKwkJCSJXUEE6IEludmFsaWQgSUdUSyBLZXlJRCAlZCIsIGtleWlkeCk7Ci0rCQlyZXR1cm4gLTE7Ci0rCX0KLSsJaWYgKHdwYV9zbV9zZXRfa2V5KHNtLCB3cGFfY2lwaGVyX3RvX2FsZyhzbS0+bWdtdF9ncm91cF9jaXBoZXIpLAotKwkJCSAgIGJyb2FkY2FzdF9ldGhlcl9hZGRyLAotKwkJCSAgIGtleWlkeCwgMCwgaWd0ay0+cG4sIHNpemVvZihpZ3RrLT5wbiksCi0rCQkJICAgaWd0ay0+aWd0aywgbGVuKSA8IDApIHsKLSsJCXdwYV9tc2coc20tPmN0eC0+bXNnX2N0eCwgTVNHX1dBUk5JTkcsCi0rCQkJIldQQTogRmFpbGVkIHRvIGNvbmZpZ3VyZSBJR1RLIHRvIHRoZSBkcml2ZXIiKTsKLSsJCXJldHVybiAtMTsKLSsJfQotKwotKwlzbS0+aWd0ay5pZ3RrX2xlbiA9IGxlbjsKLSsJb3NfbWVtY3B5KHNtLT5pZ3RrLmlndGssIGlndGstPmlndGssIHNtLT5pZ3RrLmlndGtfbGVuKTsKLSsKLSsJcmV0dXJuIDA7Ci0rfQotKyNlbmRpZiAvKiBDT05GSUdfSUVFRTgwMjExVyAqLwotKwotKwotIHN0YXRpYyBpbnQgaWVlZTgwMjExd19zZXRfa2V5cyhzdHJ1Y3Qgd3BhX3NtICpzbSwKLSAJCQkgICAgICAgc3RydWN0IHdwYV9lYXBvbF9pZV9wYXJzZSAqaWUpCi0gewotQEAgLTg2NCwzMCArOTE4LDE0IEBAIHN0YXRpYyBpbnQgaWVlZTgwMjExd19zZXRfa2V5cyhzdHJ1Y3Qgd3BhX3NtICpzbSwKLSAJaWYgKGllLT5pZ3RrKSB7Ci0gCQlzaXplX3QgbGVuOwotIAkJY29uc3Qgc3RydWN0IHdwYV9pZ3RrX2tkZSAqaWd0azsKLS0JCXUxNiBrZXlpZHg7Ci0rCi0gCQlsZW4gPSB3cGFfY2lwaGVyX2tleV9sZW4oc20tPm1nbXRfZ3JvdXBfY2lwaGVyKTsKLSAJCWlmIChpZS0+aWd0a19sZW4gIT0gV1BBX0lHVEtfS0RFX1BSRUZJWF9MRU4gKyBsZW4pCi0gCQkJcmV0dXJuIC0xOwotKwotIAkJaWd0ayA9IChjb25zdCBzdHJ1Y3Qgd3BhX2lndGtfa2RlICopIGllLT5pZ3RrOwotLQkJa2V5aWR4ID0gV1BBX0dFVF9MRTE2KGlndGstPmtleWlkKTsKLS0JCXdwYV9kYmcoc20tPmN0eC0+bXNnX2N0eCwgTVNHX0RFQlVHLCAiV1BBOiBJR1RLIGtleWlkICVkICIKLS0JCQkicG4gJTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4IiwKLS0JCQlrZXlpZHgsIE1BQzJTVFIoaWd0ay0+cG4pKTsKLS0JCXdwYV9oZXhkdW1wX2tleShNU0dfREVCVUcsICJXUEE6IElHVEsiLAotLQkJCQlpZ3RrLT5pZ3RrLCBsZW4pOwotLQkJaWYgKGtleWlkeCA+IDQwOTUpIHsKLS0JCQl3cGFfbXNnKHNtLT5jdHgtPm1zZ19jdHgsIE1TR19XQVJOSU5HLAotLQkJCQkiV1BBOiBJbnZhbGlkIElHVEsgS2V5SUQgJWQiLCBrZXlpZHgpOwotLQkJCXJldHVybiAtMTsKLS0JCX0KLS0JCWlmICh3cGFfc21fc2V0X2tleShzbSwgd3BhX2NpcGhlcl90b19hbGcoc20tPm1nbXRfZ3JvdXBfY2lwaGVyKSwKLS0JCQkJICAgYnJvYWRjYXN0X2V0aGVyX2FkZHIsCi0tCQkJCSAgIGtleWlkeCwgMCwgaWd0ay0+cG4sIHNpemVvZihpZ3RrLT5wbiksCi0tCQkJCSAgIGlndGstPmlndGssIGxlbikgPCAwKSB7Ci0tCQkJd3BhX21zZyhzbS0+Y3R4LT5tc2dfY3R4LCBNU0dfV0FSTklORywKLS0JCQkJIldQQTogRmFpbGVkIHRvIGNvbmZpZ3VyZSBJR1RLIHRvIHRoZSBkcml2ZXIiKTsKLSsJCWlmICh3cGFfc3VwcGxpY2FudF9pbnN0YWxsX2lndGsoc20sIGlndGspIDwgMCkKLSAJCQlyZXR1cm4gLTE7Ci0tCQl9Ci0gCX0KLSAKLSAJcmV0dXJuIDA7Ci1AQCAtMjMwNyw3ICsyMzQ1LDcgQEAgdm9pZCB3cGFfc21fZGVpbml0KHN0cnVjdCB3cGFfc20gKnNtKQotICAqLwotIHZvaWQgd3BhX3NtX25vdGlmeV9hc3NvYyhzdHJ1Y3Qgd3BhX3NtICpzbSwgY29uc3QgdTggKmJzc2lkKQotIHsKLS0JaW50IGNsZWFyX3B0ayA9IDE7Ci0rCWludCBjbGVhcl9rZXlzID0gMTsKLSAKLSAJaWYgKHNtID09IE5VTEwpCi0gCQlyZXR1cm47Ci1AQCAtMjMzMywxMSArMjM3MSwxMSBAQCB2b2lkIHdwYV9zbV9ub3RpZnlfYXNzb2Moc3RydWN0IHdwYV9zbSAqc20sIGNvbnN0IHU4ICpic3NpZCkKLSAJCS8qIFByZXBhcmUgZm9yIHRoZSBuZXh0IHRyYW5zaXRpb24gKi8KLSAJCXdwYV9mdF9wcmVwYXJlX2F1dGhfcmVxdWVzdChzbSwgTlVMTCk7Ci0gCi0tCQljbGVhcl9wdGsgPSAwOwotKwkJY2xlYXJfa2V5cyA9IDA7Ci0gCX0KLSAjZW5kaWYgLyogQ09ORklHX0lFRUU4MDIxMVIgKi8KLSAKLS0JaWYgKGNsZWFyX3B0aykgewotKwlpZiAoY2xlYXJfa2V5cykgewotIAkJLyoKLSAJCSAqIElFRUUgODAyLjExLCA4LjQuMTA6IERlbGV0ZSBQVEsgU0Egb24gKHJlKWFzc29jaWF0aW9uIGlmCi0gCQkgKiB0aGlzIGlzIG5vdCBwYXJ0IG9mIGEgRmFzdCBCU1MgVHJhbnNpdGlvbi4KLUBAIC0yMzQ3LDYgKzIzODUsMTAgQEAgdm9pZCB3cGFfc21fbm90aWZ5X2Fzc29jKHN0cnVjdCB3cGFfc20gKnNtLCBjb25zdCB1OCAqYnNzaWQpCi0gCQlvc19tZW1zZXQoJnNtLT5wdGssIDAsIHNpemVvZihzbS0+cHRrKSk7Ci0gCQlzbS0+dHB0a19zZXQgPSAwOwotIAkJb3NfbWVtc2V0KCZzbS0+dHB0aywgMCwgc2l6ZW9mKHNtLT50cHRrKSk7Ci0rCQlvc19tZW1zZXQoJnNtLT5ndGssIDAsIHNpemVvZihzbS0+Z3RrKSk7Ci0rI2lmZGVmIENPTkZJR19JRUVFODAyMTFXCi0rCQlvc19tZW1zZXQoJnNtLT5pZ3RrLCAwLCBzaXplb2Yoc20tPmlndGspKTsKLSsjZW5kaWYgLyogQ09ORklHX0lFRUU4MDIxMVcgKi8KLSAJfQotIAotICNpZmRlZiBDT05GSUdfVERMUwotQEAgLTI4NzcsNiArMjkxOSwxMCBAQCB2b2lkIHdwYV9zbV9kcm9wX3NhKHN0cnVjdCB3cGFfc20gKnNtKQotIAlvc19tZW1zZXQoc20tPnBtaywgMCwgc2l6ZW9mKHNtLT5wbWspKTsKLSAJb3NfbWVtc2V0KCZzbS0+cHRrLCAwLCBzaXplb2Yoc20tPnB0aykpOwotIAlvc19tZW1zZXQoJnNtLT50cHRrLCAwLCBzaXplb2Yoc20tPnRwdGspKTsKLSsJb3NfbWVtc2V0KCZzbS0+Z3RrLCAwLCBzaXplb2Yoc20tPmd0aykpOwotKyNpZmRlZiBDT05GSUdfSUVFRTgwMjExVwotKwlvc19tZW1zZXQoJnNtLT5pZ3RrLCAwLCBzaXplb2Yoc20tPmlndGspKTsKLSsjZW5kaWYgLyogQ09ORklHX0lFRUU4MDIxMVcgKi8KLSAjaWZkZWYgQ09ORklHX0lFRUU4MDIxMVIKLSAJb3NfbWVtc2V0KHNtLT54eGtleSwgMCwgc2l6ZW9mKHNtLT54eGtleSkpOwotIAlvc19tZW1zZXQoc20tPnBta19yMCwgMCwgc2l6ZW9mKHNtLT5wbWtfcjApKTsKLUBAIC0yOTQ5LDI5ICsyOTk1LDExIEBAIGludCB3cGFfd25tc2xlZXBfaW5zdGFsbF9rZXkoc3RydWN0IHdwYV9zbSAqc20sIHU4IHN1YmVsZW1faWQsIHU4ICpidWYpCi0gCQlvc19tZW1zZXQoJmdkLCAwLCBzaXplb2YoZ2QpKTsKLSAjaWZkZWYgQ09ORklHX0lFRUU4MDIxMVcKLSAJfSBlbHNlIGlmIChzdWJlbGVtX2lkID09IFdOTV9TTEVFUF9TVUJFTEVNX0lHVEspIHsKLS0JCXN0cnVjdCB3cGFfaWd0a19rZGUgaWdkOwotLQkJdTE2IGtleWlkeDsKLS0KLS0JCW9zX21lbXNldCgmaWdkLCAwLCBzaXplb2YoaWdkKSk7Ci0tCQlrZXlsZW4gPSB3cGFfY2lwaGVyX2tleV9sZW4oc20tPm1nbXRfZ3JvdXBfY2lwaGVyKTsKLS0JCW9zX21lbWNweShpZ2Qua2V5aWQsIGJ1ZiArIDIsIDIpOwotLQkJb3NfbWVtY3B5KGlnZC5wbiwgYnVmICsgNCwgNik7Ci0tCi0tCQlrZXlpZHggPSBXUEFfR0VUX0xFMTYoaWdkLmtleWlkKTsKLS0JCW9zX21lbWNweShpZ2QuaWd0aywgYnVmICsgMTAsIGtleWxlbik7Ci0tCi0tCQl3cGFfaGV4ZHVtcF9rZXkoTVNHX0RFQlVHLCAiSW5zdGFsbCBJR1RLIChXTk0gU0xFRVApIiwKLS0JCQkJaWdkLmlndGssIGtleWxlbik7Ci0tCQlpZiAod3BhX3NtX3NldF9rZXkoc20sIHdwYV9jaXBoZXJfdG9fYWxnKHNtLT5tZ210X2dyb3VwX2NpcGhlciksCi0tCQkJCSAgIGJyb2FkY2FzdF9ldGhlcl9hZGRyLAotLQkJCQkgICBrZXlpZHgsIDAsIGlnZC5wbiwgc2l6ZW9mKGlnZC5wbiksCi0tCQkJCSAgIGlnZC5pZ3RrLCBrZXlsZW4pIDwgMCkgewotLQkJCXdwYV9wcmludGYoTVNHX0RFQlVHLCAiRmFpbGVkIHRvIGluc3RhbGwgdGhlIElHVEsgaW4gIgotLQkJCQkgICAiV05NIG1vZGUiKTsKLS0JCQlvc19tZW1zZXQoJmlnZCwgMCwgc2l6ZW9mKGlnZCkpOwotKwkJY29uc3Qgc3RydWN0IHdwYV9pZ3RrX2tkZSAqaWd0azsKLSsKLSsJCWlndGsgPSAoY29uc3Qgc3RydWN0IHdwYV9pZ3RrX2tkZSAqKSAoYnVmICsgMik7Ci0rCQlpZiAod3BhX3N1cHBsaWNhbnRfaW5zdGFsbF9pZ3RrKHNtLCBpZ3RrKSA8IDApCi0gCQkJcmV0dXJuIC0xOwotLQkJfQotLQkJb3NfbWVtc2V0KCZpZ2QsIDAsIHNpemVvZihpZ2QpKTsKLSAjZW5kaWYgLyogQ09ORklHX0lFRUU4MDIxMVcgKi8KLSAJfSBlbHNlIHsKLSAJCXdwYV9wcmludGYoTVNHX0RFQlVHLCAiVW5rbm93biBlbGVtZW50IGlkIik7Ci1kaWZmIC0tZ2l0IGEvc3JjL3Jzbl9zdXBwL3dwYV9pLmggYi9zcmMvcnNuX3N1cHAvd3BhX2kuaAotaW5kZXggZjY1M2JhNi4uYWZjOWUzNyAxMDA2NDQKLS0tLSBhL3NyYy9yc25fc3VwcC93cGFfaS5oCi0rKysgYi9zcmMvcnNuX3N1cHAvd3BhX2kuaAotQEAgLTMxLDYgKzMxLDEwIEBAIHN0cnVjdCB3cGFfc20gewotIAl1OCByeF9yZXBsYXlfY291bnRlcltXUEFfUkVQTEFZX0NPVU5URVJfTEVOXTsKLSAJaW50IHJ4X3JlcGxheV9jb3VudGVyX3NldDsKLSAJdTggcmVxdWVzdF9jb3VudGVyW1dQQV9SRVBMQVlfQ09VTlRFUl9MRU5dOwotKwlzdHJ1Y3Qgd3BhX2d0ayBndGs7Ci0rI2lmZGVmIENPTkZJR19JRUVFODAyMTFXCi0rCXN0cnVjdCB3cGFfaWd0ayBpZ3RrOwotKyNlbmRpZiAvKiBDT05GSUdfSUVFRTgwMjExVyAqLwotIAotIAlzdHJ1Y3QgZWFwb2xfc20gKmVhcG9sOyAvKiBFQVBPTCBzdGF0ZSBtYWNoaW5lIGZyb20gdXBwZXIgbGV2ZWwgY29kZSAqLwotIAotLS0gCi0yLjcuNApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudC9rZXktcmVwbGF5LWN2ZS1tdWx0aXBsZTMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQva2V5LXJlcGxheS1jdmUtbXVsdGlwbGUzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZTIyNjU1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudC9rZXktcmVwbGF5LWN2ZS1tdWx0aXBsZTMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMDEgKzAsMCBAQAotVGhlIFdQQTIgZm91ci13YXkgaGFuZHNoYWtlIHByb3RvY29sIGlzIHZ1bG5lcmFibGUgdG8gcmVwbGF5IGF0dGFja3Mgd2hpY2ggY2FuCi1yZXN1bHQgaW4gdW5hdXRoZW50aWNhdGVkIGNsaWVudHMgZ2FpbmluZyBhY2Nlc3MgdG8gdGhlIG5ldHdvcmsuCi0KLUJhY2twb3J0IGEgbnVtYmVyIG9mIHBhdGNoZXMgZnJvbSB1cHN0cmVhbSB0byBmaXggdGhpcy4KLQotQ1ZFOiBDVkUtMjAxNy0xMzA3NwotQ1ZFOiBDVkUtMjAxNy0xMzA3OAotQ1ZFOiBDVkUtMjAxNy0xMzA3OQotQ1ZFOiBDVkUtMjAxNy0xMzA4MAotQ1ZFOiBDVkUtMjAxNy0xMzA4MQotQ1ZFOiBDVkUtMjAxNy0xMzA4MgotQ1ZFOiBDVkUtMjAxNy0xMzA4NgotQ1ZFOiBDVkUtMjAxNy0xMzA4NwotQ1ZFOiBDVkUtMjAxNy0xMzA4OAotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1TaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotCi1Gcm9tIDgyODAyOTRlNzQ4NDZlYTM0MjM4OWEwY2QxNzIxNTA1MGZhNWFmZTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKb3VuaSBNYWxpbmVuIDxqQHcxLmZpPgotRGF0ZTogU3VuLCAxIE9jdCAyMDE3IDEyOjEyOjI0ICswMzAwCi1TdWJqZWN0OiBbUEFUQ0ggMy84XSBFeHRlbmQgcHJvdGVjdGlvbiBvZiBHVEsvSUdUSyByZWluc3RhbGxhdGlvbiBvZiBXTk0tU2xlZXAKLSBNb2RlIGNhc2VzCi0KLVRoaXMgZXh0ZW5kcyB0aGUgcHJvdGVjdGlvbiB0byB0cmFjayBsYXN0IGNvbmZpZ3VyZWQgR1RLL0lHVEsgdmFsdWUKLXNlcGFyYXRlbHkgZnJvbSBFQVBPTC1LZXkgZnJhbWVzIGFuZCBXTk0tU2xlZXAgTW9kZSBmcmFtZXMgdG8gY292ZXIgYQotY29ybmVyIGNhc2Ugd2hlcmUgdGhlc2UgdHdvIGRpZmZlcmVudCBtZWNoYW5pc21zIG1heSBnZXQgdXNlZCB3aGVuIHRoZQotR1RLL0lHVEsgaGFzIGNoYW5nZWQgYW5kIHRyYWNraW5nIGEgc2luZ2xlIHZhbHVlIGlzIG5vdCBzdWZmaWNpZW50IHRvCi1kZXRlY3QgYSBwb3NzaWJsZSBrZXkgcmVjb25maWd1cmF0aW9uLgotCi1TaWduZWQtb2ZmLWJ5OiBKb3VuaSBNYWxpbmVuIDxqQHcxLmZpPgotLS0tCi0gc3JjL3Jzbl9zdXBwL3dwYS5jICAgfCA1MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCi0gc3JjL3Jzbl9zdXBwL3dwYV9pLmggfCAgMiArKwotIDIgZmlsZXMgY2hhbmdlZCwgNDAgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvcnNuX3N1cHAvd3BhLmMgYi9zcmMvcnNuX3N1cHAvd3BhLmMKLWluZGV4IDk1YmQ3YmUuLjdhMmM2OGQgMTAwNjQ0Ci0tLS0gYS9zcmMvcnNuX3N1cHAvd3BhLmMKLSsrKyBiL3NyYy9yc25fc3VwcC93cGEuYwotQEAgLTcwOSwxNCArNzA5LDE3IEBAIHN0cnVjdCB3cGFfZ3RrX2RhdGEgewotIAotIHN0YXRpYyBpbnQgd3BhX3N1cHBsaWNhbnRfaW5zdGFsbF9ndGsoc3RydWN0IHdwYV9zbSAqc20sCi0gCQkJCSAgICAgIGNvbnN0IHN0cnVjdCB3cGFfZ3RrX2RhdGEgKmdkLAotLQkJCQkgICAgICBjb25zdCB1OCAqa2V5X3JzYykKLSsJCQkJICAgICAgY29uc3QgdTggKmtleV9yc2MsIGludCB3bm1fc2xlZXApCi0gewotIAljb25zdCB1OCAqX2d0ayA9IGdkLT5ndGs7Ci0gCXU4IGd0a19idWZbMzJdOwotIAotIAkvKiBEZXRlY3QgcG9zc2libGUga2V5IHJlaW5zdGFsbGF0aW9uICovCi0tCWlmIChzbS0+Z3RrLmd0a19sZW4gPT0gKHNpemVfdCkgZ2QtPmd0a19sZW4gJiYKLS0JICAgIG9zX21lbWNtcChzbS0+Z3RrLmd0aywgZ2QtPmd0aywgc20tPmd0ay5ndGtfbGVuKSA9PSAwKSB7Ci0rCWlmICgoc20tPmd0ay5ndGtfbGVuID09IChzaXplX3QpIGdkLT5ndGtfbGVuICYmCi0rCSAgICAgb3NfbWVtY21wKHNtLT5ndGsuZ3RrLCBnZC0+Z3RrLCBzbS0+Z3RrLmd0a19sZW4pID09IDApIHx8Ci0rCSAgICAoc20tPmd0a193bm1fc2xlZXAuZ3RrX2xlbiA9PSAoc2l6ZV90KSBnZC0+Z3RrX2xlbiAmJgotKwkgICAgIG9zX21lbWNtcChzbS0+Z3RrX3dubV9zbGVlcC5ndGssIGdkLT5ndGssCi0rCQkgICAgICAgc20tPmd0a193bm1fc2xlZXAuZ3RrX2xlbikgPT0gMCkpIHsKLSAJCXdwYV9kYmcoc20tPmN0eC0+bXNnX2N0eCwgTVNHX0RFQlVHLAotIAkJCSJXUEE6IE5vdCByZWluc3RhbGxpbmcgYWxyZWFkeSBpbi11c2UgR1RLIHRvIHRoZSBkcml2ZXIgKGtleWlkeD0lZCB0eD0lZCBsZW49JWQpIiwKLSAJCQlnZC0+a2V5aWR4LCBnZC0+dHgsIGdkLT5ndGtfbGVuKTsKLUBAIC03NTcsOCArNzYwLDE0IEBAIHN0YXRpYyBpbnQgd3BhX3N1cHBsaWNhbnRfaW5zdGFsbF9ndGsoc3RydWN0IHdwYV9zbSAqc20sCi0gCX0KLSAJb3NfbWVtc2V0KGd0a19idWYsIDAsIHNpemVvZihndGtfYnVmKSk7Ci0gCi0tCXNtLT5ndGsuZ3RrX2xlbiA9IGdkLT5ndGtfbGVuOwotLQlvc19tZW1jcHkoc20tPmd0ay5ndGssIGdkLT5ndGssIHNtLT5ndGsuZ3RrX2xlbik7Ci0rCWlmICh3bm1fc2xlZXApIHsKLSsJCXNtLT5ndGtfd25tX3NsZWVwLmd0a19sZW4gPSBnZC0+Z3RrX2xlbjsKLSsJCW9zX21lbWNweShzbS0+Z3RrX3dubV9zbGVlcC5ndGssIGdkLT5ndGssCi0rCQkJICBzbS0+Z3RrX3dubV9zbGVlcC5ndGtfbGVuKTsKLSsJfSBlbHNlIHsKLSsJCXNtLT5ndGsuZ3RrX2xlbiA9IGdkLT5ndGtfbGVuOwotKwkJb3NfbWVtY3B5KHNtLT5ndGsuZ3RrLCBnZC0+Z3RrLCBzbS0+Z3RrLmd0a19sZW4pOwotKwl9Ci0gCi0gCXJldHVybiAwOwotIH0KLUBAIC04NTIsNyArODYxLDcgQEAgc3RhdGljIGludCB3cGFfc3VwcGxpY2FudF9wYWlyd2lzZV9ndGsoc3RydWN0IHdwYV9zbSAqc20sCi0gCSAgICAod3BhX3N1cHBsaWNhbnRfY2hlY2tfZ3JvdXBfY2lwaGVyKHNtLCBzbS0+Z3JvdXBfY2lwaGVyLAotIAkJCQkJICAgICAgIGd0a19sZW4sIGd0a19sZW4sCi0gCQkJCQkgICAgICAgJmdkLmtleV9yc2NfbGVuLCAmZ2QuYWxnKSB8fAotLQkgICAgIHdwYV9zdXBwbGljYW50X2luc3RhbGxfZ3RrKHNtLCAmZ2QsIGtleV9yc2MpKSkgewotKwkgICAgIHdwYV9zdXBwbGljYW50X2luc3RhbGxfZ3RrKHNtLCAmZ2QsIGtleV9yc2MsIDApKSkgewotIAkJd3BhX2RiZyhzbS0+Y3R4LT5tc2dfY3R4LCBNU0dfREVCVUcsCi0gCQkJIlJTTjogRmFpbGVkIHRvIGluc3RhbGwgR1RLIik7Ci0gCQlvc19tZW1zZXQoJmdkLCAwLCBzaXplb2YoZ2QpKTsKLUBAIC04NjgsMTQgKzg3NywxOCBAQCBzdGF0aWMgaW50IHdwYV9zdXBwbGljYW50X3BhaXJ3aXNlX2d0ayhzdHJ1Y3Qgd3BhX3NtICpzbSwKLSAKLSAjaWZkZWYgQ09ORklHX0lFRUU4MDIxMVcKLSBzdGF0aWMgaW50IHdwYV9zdXBwbGljYW50X2luc3RhbGxfaWd0ayhzdHJ1Y3Qgd3BhX3NtICpzbSwKLS0JCQkJICAgICAgIGNvbnN0IHN0cnVjdCB3cGFfaWd0a19rZGUgKmlndGspCi0rCQkJCSAgICAgICBjb25zdCBzdHJ1Y3Qgd3BhX2lndGtfa2RlICppZ3RrLAotKwkJCQkgICAgICAgaW50IHdubV9zbGVlcCkKLSB7Ci0gCXNpemVfdCBsZW4gPSB3cGFfY2lwaGVyX2tleV9sZW4oc20tPm1nbXRfZ3JvdXBfY2lwaGVyKTsKLSAJdTE2IGtleWlkeCA9IFdQQV9HRVRfTEUxNihpZ3RrLT5rZXlpZCk7Ci0gCi0gCS8qIERldGVjdCBwb3NzaWJsZSBrZXkgcmVpbnN0YWxsYXRpb24gKi8KLS0JaWYgKHNtLT5pZ3RrLmlndGtfbGVuID09IGxlbiAmJgotLQkgICAgb3NfbWVtY21wKHNtLT5pZ3RrLmlndGssIGlndGstPmlndGssIHNtLT5pZ3RrLmlndGtfbGVuKSA9PSAwKSB7Ci0rCWlmICgoc20tPmlndGsuaWd0a19sZW4gPT0gbGVuICYmCi0rCSAgICAgb3NfbWVtY21wKHNtLT5pZ3RrLmlndGssIGlndGstPmlndGssIHNtLT5pZ3RrLmlndGtfbGVuKSA9PSAwKSB8fAotKwkgICAgKHNtLT5pZ3RrX3dubV9zbGVlcC5pZ3RrX2xlbiA9PSBsZW4gJiYKLSsJICAgICBvc19tZW1jbXAoc20tPmlndGtfd25tX3NsZWVwLmlndGssIGlndGstPmlndGssCi0rCQkgICAgICAgc20tPmlndGtfd25tX3NsZWVwLmlndGtfbGVuKSA9PSAwKSkgewotIAkJd3BhX2RiZyhzbS0+Y3R4LT5tc2dfY3R4LCBNU0dfREVCVUcsCi0gCQkJIldQQTogTm90IHJlaW5zdGFsbGluZyBhbHJlYWR5IGluLXVzZSBJR1RLIHRvIHRoZSBkcml2ZXIgKGtleWlkeD0lZCkiLAotIAkJCWtleWlkeCk7Ci1AQCAtOTAwLDggKzkxMywxNCBAQCBzdGF0aWMgaW50IHdwYV9zdXBwbGljYW50X2luc3RhbGxfaWd0ayhzdHJ1Y3Qgd3BhX3NtICpzbSwKLSAJCXJldHVybiAtMTsKLSAJfQotIAotLQlzbS0+aWd0ay5pZ3RrX2xlbiA9IGxlbjsKLS0Jb3NfbWVtY3B5KHNtLT5pZ3RrLmlndGssIGlndGstPmlndGssIHNtLT5pZ3RrLmlndGtfbGVuKTsKLSsJaWYgKHdubV9zbGVlcCkgewotKwkJc20tPmlndGtfd25tX3NsZWVwLmlndGtfbGVuID0gbGVuOwotKwkJb3NfbWVtY3B5KHNtLT5pZ3RrX3dubV9zbGVlcC5pZ3RrLCBpZ3RrLT5pZ3RrLAotKwkJCSAgc20tPmlndGtfd25tX3NsZWVwLmlndGtfbGVuKTsKLSsJfSBlbHNlIHsKLSsJCXNtLT5pZ3RrLmlndGtfbGVuID0gbGVuOwotKwkJb3NfbWVtY3B5KHNtLT5pZ3RrLmlndGssIGlndGstPmlndGssIHNtLT5pZ3RrLmlndGtfbGVuKTsKLSsJfQotIAotIAlyZXR1cm4gMDsKLSB9Ci1AQCAtOTI0LDcgKzk0Myw3IEBAIHN0YXRpYyBpbnQgaWVlZTgwMjExd19zZXRfa2V5cyhzdHJ1Y3Qgd3BhX3NtICpzbSwKLSAJCQlyZXR1cm4gLTE7Ci0gCi0gCQlpZ3RrID0gKGNvbnN0IHN0cnVjdCB3cGFfaWd0a19rZGUgKikgaWUtPmlndGs7Ci0tCQlpZiAod3BhX3N1cHBsaWNhbnRfaW5zdGFsbF9pZ3RrKHNtLCBpZ3RrKSA8IDApCi0rCQlpZiAod3BhX3N1cHBsaWNhbnRfaW5zdGFsbF9pZ3RrKHNtLCBpZ3RrLCAwKSA8IDApCi0gCQkJcmV0dXJuIC0xOwotIAl9Ci0gCi1AQCAtMTU3NCw3ICsxNTkzLDcgQEAgc3RhdGljIHZvaWQgd3BhX3N1cHBsaWNhbnRfcHJvY2Vzc18xX29mXzIoc3RydWN0IHdwYV9zbSAqc20sCi0gCWlmICh3cGFfc3VwcGxpY2FudF9yc2NfcmVsYXhhdGlvbihzbSwga2V5LT5rZXlfcnNjKSkKLSAJCWtleV9yc2MgPSBudWxsX3JzYzsKLSAKLS0JaWYgKHdwYV9zdXBwbGljYW50X2luc3RhbGxfZ3RrKHNtLCAmZ2QsIGtleV9yc2MpIHx8Ci0rCWlmICh3cGFfc3VwcGxpY2FudF9pbnN0YWxsX2d0ayhzbSwgJmdkLCBrZXlfcnNjLCAwKSB8fAotIAkgICAgd3BhX3N1cHBsaWNhbnRfc2VuZF8yX29mXzIoc20sIGtleSwgdmVyLCBrZXlfaW5mbykgPCAwKQotIAkJZ290byBmYWlsZWQ7Ci0gCW9zX21lbXNldCgmZ2QsIDAsIHNpemVvZihnZCkpOwotQEAgLTIzODYsOCArMjQwNSwxMCBAQCB2b2lkIHdwYV9zbV9ub3RpZnlfYXNzb2Moc3RydWN0IHdwYV9zbSAqc20sIGNvbnN0IHU4ICpic3NpZCkKLSAJCXNtLT50cHRrX3NldCA9IDA7Ci0gCQlvc19tZW1zZXQoJnNtLT50cHRrLCAwLCBzaXplb2Yoc20tPnRwdGspKTsKLSAJCW9zX21lbXNldCgmc20tPmd0aywgMCwgc2l6ZW9mKHNtLT5ndGspKTsKLSsJCW9zX21lbXNldCgmc20tPmd0a193bm1fc2xlZXAsIDAsIHNpemVvZihzbS0+Z3RrX3dubV9zbGVlcCkpOwotICNpZmRlZiBDT05GSUdfSUVFRTgwMjExVwotIAkJb3NfbWVtc2V0KCZzbS0+aWd0aywgMCwgc2l6ZW9mKHNtLT5pZ3RrKSk7Ci0rCQlvc19tZW1zZXQoJnNtLT5pZ3RrX3dubV9zbGVlcCwgMCwgc2l6ZW9mKHNtLT5pZ3RrX3dubV9zbGVlcCkpOwotICNlbmRpZiAvKiBDT05GSUdfSUVFRTgwMjExVyAqLwotIAl9Ci0gCi1AQCAtMjkyMCw4ICsyOTQxLDEwIEBAIHZvaWQgd3BhX3NtX2Ryb3Bfc2Eoc3RydWN0IHdwYV9zbSAqc20pCi0gCW9zX21lbXNldCgmc20tPnB0aywgMCwgc2l6ZW9mKHNtLT5wdGspKTsKLSAJb3NfbWVtc2V0KCZzbS0+dHB0aywgMCwgc2l6ZW9mKHNtLT50cHRrKSk7Ci0gCW9zX21lbXNldCgmc20tPmd0aywgMCwgc2l6ZW9mKHNtLT5ndGspKTsKLSsJb3NfbWVtc2V0KCZzbS0+Z3RrX3dubV9zbGVlcCwgMCwgc2l6ZW9mKHNtLT5ndGtfd25tX3NsZWVwKSk7Ci0gI2lmZGVmIENPTkZJR19JRUVFODAyMTFXCi0gCW9zX21lbXNldCgmc20tPmlndGssIDAsIHNpemVvZihzbS0+aWd0aykpOwotKwlvc19tZW1zZXQoJnNtLT5pZ3RrX3dubV9zbGVlcCwgMCwgc2l6ZW9mKHNtLT5pZ3RrX3dubV9zbGVlcCkpOwotICNlbmRpZiAvKiBDT05GSUdfSUVFRTgwMjExVyAqLwotICNpZmRlZiBDT05GSUdfSUVFRTgwMjExUgotIAlvc19tZW1zZXQoc20tPnh4a2V5LCAwLCBzaXplb2Yoc20tPnh4a2V5KSk7Ci1AQCAtMjk4Niw3ICszMDA5LDcgQEAgaW50IHdwYV93bm1zbGVlcF9pbnN0YWxsX2tleShzdHJ1Y3Qgd3BhX3NtICpzbSwgdTggc3ViZWxlbV9pZCwgdTggKmJ1ZikKLSAKLSAJCXdwYV9oZXhkdW1wX2tleShNU0dfREVCVUcsICJJbnN0YWxsIEdUSyAoV05NIFNMRUVQKSIsCi0gCQkJCWdkLmd0aywgZ2QuZ3RrX2xlbik7Ci0tCQlpZiAod3BhX3N1cHBsaWNhbnRfaW5zdGFsbF9ndGsoc20sICZnZCwga2V5X3JzYykpIHsKLSsJCWlmICh3cGFfc3VwcGxpY2FudF9pbnN0YWxsX2d0ayhzbSwgJmdkLCBrZXlfcnNjLCAxKSkgewotIAkJCW9zX21lbXNldCgmZ2QsIDAsIHNpemVvZihnZCkpOwotIAkJCXdwYV9wcmludGYoTVNHX0RFQlVHLCAiRmFpbGVkIHRvIGluc3RhbGwgdGhlIEdUSyBpbiAiCi0gCQkJCSAgICJXTk0gbW9kZSIpOwotQEAgLTI5OTgsNyArMzAyMSw3IEBAIGludCB3cGFfd25tc2xlZXBfaW5zdGFsbF9rZXkoc3RydWN0IHdwYV9zbSAqc20sIHU4IHN1YmVsZW1faWQsIHU4ICpidWYpCi0gCQljb25zdCBzdHJ1Y3Qgd3BhX2lndGtfa2RlICppZ3RrOwotIAotIAkJaWd0ayA9IChjb25zdCBzdHJ1Y3Qgd3BhX2lndGtfa2RlICopIChidWYgKyAyKTsKLS0JCWlmICh3cGFfc3VwcGxpY2FudF9pbnN0YWxsX2lndGsoc20sIGlndGspIDwgMCkKLSsJCWlmICh3cGFfc3VwcGxpY2FudF9pbnN0YWxsX2lndGsoc20sIGlndGssIDEpIDwgMCkKLSAJCQlyZXR1cm4gLTE7Ci0gI2VuZGlmIC8qIENPTkZJR19JRUVFODAyMTFXICovCi0gCX0gZWxzZSB7Ci1kaWZmIC0tZ2l0IGEvc3JjL3Jzbl9zdXBwL3dwYV9pLmggYi9zcmMvcnNuX3N1cHAvd3BhX2kuaAotaW5kZXggYWZjOWUzNy4uOWE1NDYzMSAxMDA2NDQKLS0tLSBhL3NyYy9yc25fc3VwcC93cGFfaS5oCi0rKysgYi9zcmMvcnNuX3N1cHAvd3BhX2kuaAotQEAgLTMyLDggKzMyLDEwIEBAIHN0cnVjdCB3cGFfc20gewotIAlpbnQgcnhfcmVwbGF5X2NvdW50ZXJfc2V0OwotIAl1OCByZXF1ZXN0X2NvdW50ZXJbV1BBX1JFUExBWV9DT1VOVEVSX0xFTl07Ci0gCXN0cnVjdCB3cGFfZ3RrIGd0azsKLSsJc3RydWN0IHdwYV9ndGsgZ3RrX3dubV9zbGVlcDsKLSAjaWZkZWYgQ09ORklHX0lFRUU4MDIxMVcKLSAJc3RydWN0IHdwYV9pZ3RrIGlndGs7Ci0rCXN0cnVjdCB3cGFfaWd0ayBpZ3RrX3dubV9zbGVlcDsKLSAjZW5kaWYgLyogQ09ORklHX0lFRUU4MDIxMVcgKi8KLSAKLSAJc3RydWN0IGVhcG9sX3NtICplYXBvbDsgLyogRUFQT0wgc3RhdGUgbWFjaGluZSBmcm9tIHVwcGVyIGxldmVsIGNvZGUgKi8KLS0tIAotMi43LjQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQva2V5LXJlcGxheS1jdmUtbXVsdGlwbGU0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50L2tleS1yZXBsYXktY3ZlLW11bHRpcGxlNC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmMxOTQ4Ni4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQva2V5LXJlcGxheS1jdmUtbXVsdGlwbGU0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTYgKzAsMCBAQAotVGhlIFdQQTIgZm91ci13YXkgaGFuZHNoYWtlIHByb3RvY29sIGlzIHZ1bG5lcmFibGUgdG8gcmVwbGF5IGF0dGFja3Mgd2hpY2ggY2FuCi1yZXN1bHQgaW4gdW5hdXRoZW50aWNhdGVkIGNsaWVudHMgZ2FpbmluZyBhY2Nlc3MgdG8gdGhlIG5ldHdvcmsuCi0KLUJhY2twb3J0IGEgbnVtYmVyIG9mIHBhdGNoZXMgZnJvbSB1cHN0cmVhbSB0byBmaXggdGhpcy4KLQotQ1ZFOiBDVkUtMjAxNy0xMzA3NwotQ1ZFOiBDVkUtMjAxNy0xMzA3OAotQ1ZFOiBDVkUtMjAxNy0xMzA3OQotQ1ZFOiBDVkUtMjAxNy0xMzA4MAotQ1ZFOiBDVkUtMjAxNy0xMzA4MQotQ1ZFOiBDVkUtMjAxNy0xMzA4MgotQ1ZFOiBDVkUtMjAxNy0xMzA4NgotQ1ZFOiBDVkUtMjAxNy0xMzA4NwotQ1ZFOiBDVkUtMjAxNy0xMzA4OAotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1TaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotCi1Gcm9tIDhmODJiYzk0ZTg2OTdhOWQ0N2ZhODc3NGRmZGFhZWRlMTA4NDkxMmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXRoeSBWYW5ob2VmIDxNYXRoeS5WYW5ob2VmQGNzLmt1bGV1dmVuLmJlPgotRGF0ZTogRnJpLCAyOSBTZXAgMjAxNyAwNDoyMjo1MSArMDIwMAotU3ViamVjdDogW1BBVENIIDQvOF0gUHJldmVudCBpbnN0YWxsYXRpb24gb2YgYW4gYWxsLXplcm8gVEsKLQotUHJvcGVybHkgdHJhY2sgd2hldGhlciBhIFBUSyBoYXMgYWxyZWFkeSBiZWVuIGluc3RhbGxlZCB0byB0aGUgZHJpdmVyCi1hbmQgdGhlIFRLIHBhcnQgY2xlYXJlZCBmcm9tIG1lbW9yeS4gVGhpcyBwcmV2ZW50cyBhbiBhdHRhY2tlciBmcm9tCi10cnlpbmcgdG8gdHJpY2sgdGhlIGNsaWVudCBpbnRvIGluc3RhbGxpbmcgYW4gYWxsLXplcm8gVEsuCi0KLVRoaXMgZml4ZXMgdGhlIGVhcmxpZXIgZml4IGluIGNvbW1pdAotYWQwMGQ2NGU3ZDg4MjdiM2NlYmQ2NjVhMGNlYjA4YWRhYmYxNWUxZSAoJ0ZpeCBUSyBjb25maWd1cmF0aW9uIHRvIHRoZQotZHJpdmVyIGluIEVBUE9MLUtleSAzLzQgcmV0cnkgY2FzZScpIHdoaWNoIGRpZCBub3QgdGFrZSBpbnRvIGFjY291bnQKLXBvc3NpYmlsaXR5IG9mIGFuIGV4dHJhIG1lc3NhZ2UgMS80IHNob3dpbmcgdXAgYmV0d2VlbiByZXRyaWVzIG9mCi1tZXNzYWdlIDMvNC4KLQotU2lnbmVkLW9mZi1ieTogTWF0aHkgVmFuaG9lZiA8TWF0aHkuVmFuaG9lZkBjcy5rdWxldXZlbi5iZT4KLS0tLQotIHNyYy9jb21tb24vd3BhX2NvbW1vbi5oIHwgMSArCi0gc3JjL3Jzbl9zdXBwL3dwYS5jICAgICAgfCA1ICsrLS0tCi0gc3JjL3Jzbl9zdXBwL3dwYV9pLmggICAgfCAxIC0KLSAzIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9jb21tb24vd3BhX2NvbW1vbi5oIGIvc3JjL2NvbW1vbi93cGFfY29tbW9uLmgKLWluZGV4IGQyMDAyODUuLjEwMjFjY2IgMTAwNjQ0Ci0tLS0gYS9zcmMvY29tbW9uL3dwYV9jb21tb24uaAotKysrIGIvc3JjL2NvbW1vbi93cGFfY29tbW9uLmgKLUBAIC0yMTUsNiArMjE1LDcgQEAgc3RydWN0IHdwYV9wdGsgewotIAlzaXplX3Qga2NrX2xlbjsKLSAJc2l6ZV90IGtla19sZW47Ci0gCXNpemVfdCB0a19sZW47Ci0rCWludCBpbnN0YWxsZWQ7IC8qIDEgaWYga2V5IGhhcyBhbHJlYWR5IGJlZW4gaW5zdGFsbGVkIHRvIGRyaXZlciAqLwotIH07Ci0gCi0gc3RydWN0IHdwYV9ndGsgewotZGlmZiAtLWdpdCBhL3NyYy9yc25fc3VwcC93cGEuYyBiL3NyYy9yc25fc3VwcC93cGEuYwotaW5kZXggN2EyYzY4ZC4uMDU1MGE0MSAxMDA2NDQKLS0tLSBhL3NyYy9yc25fc3VwcC93cGEuYwotKysrIGIvc3JjL3Jzbl9zdXBwL3dwYS5jCi1AQCAtNTEwLDcgKzUxMCw2IEBAIHN0YXRpYyB2b2lkIHdwYV9zdXBwbGljYW50X3Byb2Nlc3NfMV9vZl80KHN0cnVjdCB3cGFfc20gKnNtLAotIAkJb3NfbWVtc2V0KGJ1ZiwgMCwgc2l6ZW9mKGJ1ZikpOwotIAl9Ci0gCXNtLT50cHRrX3NldCA9IDE7Ci0tCXNtLT50a190b19zZXQgPSAxOwotIAotIAlrZGUgPSBzbS0+YXNzb2Nfd3BhX2llOwotIAlrZGVfbGVuID0gc20tPmFzc29jX3dwYV9pZV9sZW47Ci1AQCAtNjE1LDcgKzYxNCw3IEBAIHN0YXRpYyBpbnQgd3BhX3N1cHBsaWNhbnRfaW5zdGFsbF9wdGsoc3RydWN0IHdwYV9zbSAqc20sCi0gCWVudW0gd3BhX2FsZyBhbGc7Ci0gCWNvbnN0IHU4ICprZXlfcnNjOwotIAotLQlpZiAoIXNtLT50a190b19zZXQpIHsKLSsJaWYgKHNtLT5wdGsuaW5zdGFsbGVkKSB7Ci0gCQl3cGFfZGJnKHNtLT5jdHgtPm1zZ19jdHgsIE1TR19ERUJVRywKLSAJCQkiV1BBOiBEbyBub3QgcmUtaW5zdGFsbCBzYW1lIFBUSyB0byB0aGUgZHJpdmVyIik7Ci0gCQlyZXR1cm4gMDsKLUBAIC02NTksNyArNjU4LDcgQEAgc3RhdGljIGludCB3cGFfc3VwcGxpY2FudF9pbnN0YWxsX3B0ayhzdHJ1Y3Qgd3BhX3NtICpzbSwKLSAKLSAJLyogVEsgaXMgbm90IG5lZWRlZCBhbnltb3JlIGluIHN1cHBsaWNhbnQgKi8KLSAJb3NfbWVtc2V0KHNtLT5wdGsudGssIDAsIFdQQV9US19NQVhfTEVOKTsKLS0Jc20tPnRrX3RvX3NldCA9IDA7Ci0rCXNtLT5wdGsuaW5zdGFsbGVkID0gMTsKLSAKLSAJaWYgKHNtLT53cGFfcHRrX3Jla2V5KSB7Ci0gCQllbG9vcF9jYW5jZWxfdGltZW91dCh3cGFfc21fcmVrZXlfcHRrLCBzbSwgTlVMTCk7Ci1kaWZmIC0tZ2l0IGEvc3JjL3Jzbl9zdXBwL3dwYV9pLmggYi9zcmMvcnNuX3N1cHAvd3BhX2kuaAotaW5kZXggOWE1NDYzMS4uNDFmMzcxZiAxMDA2NDQKLS0tLSBhL3NyYy9yc25fc3VwcC93cGFfaS5oCi0rKysgYi9zcmMvcnNuX3N1cHAvd3BhX2kuaAotQEAgLTI0LDcgKzI0LDYgQEAgc3RydWN0IHdwYV9zbSB7Ci0gCXN0cnVjdCB3cGFfcHRrIHB0aywgdHB0azsKLSAJaW50IHB0a19zZXQsIHRwdGtfc2V0OwotIAl1bnNpZ25lZCBpbnQgbXNnXzNfb2ZfNF9vazoxOwotLQl1bnNpZ25lZCBpbnQgdGtfdG9fc2V0OjE7Ci0gCXU4IHNub25jZVtXUEFfTk9OQ0VfTEVOXTsKLSAJdTggYW5vbmNlW1dQQV9OT05DRV9MRU5dOyAvKiBBTm9uY2UgZnJvbSB0aGUgbGFzdCAxLzQgbXNnICovCi0gCWludCByZW5ld19zbm9uY2U7Ci0tLSAKLTIuNy40ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50L2tleS1yZXBsYXktY3ZlLW11bHRpcGxlNS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudC9rZXktcmVwbGF5LWN2ZS1tdWx0aXBsZTUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIyNjJkY2EuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50L2tleS1yZXBsYXktY3ZlLW11bHRpcGxlNS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDgxICswLDAgQEAKLVRoZSBXUEEyIGZvdXItd2F5IGhhbmRzaGFrZSBwcm90b2NvbCBpcyB2dWxuZXJhYmxlIHRvIHJlcGxheSBhdHRhY2tzIHdoaWNoIGNhbgotcmVzdWx0IGluIHVuYXV0aGVudGljYXRlZCBjbGllbnRzIGdhaW5pbmcgYWNjZXNzIHRvIHRoZSBuZXR3b3JrLgotCi1CYWNrcG9ydCBhIG51bWJlciBvZiBwYXRjaGVzIGZyb20gdXBzdHJlYW0gdG8gZml4IHRoaXMuCi0KLUNWRTogQ1ZFLTIwMTctMTMwNzcKLUNWRTogQ1ZFLTIwMTctMTMwNzgKLUNWRTogQ1ZFLTIwMTctMTMwNzkKLUNWRTogQ1ZFLTIwMTctMTMwODAKLUNWRTogQ1ZFLTIwMTctMTMwODEKLUNWRTogQ1ZFLTIwMTctMTMwODIKLUNWRTogQ1ZFLTIwMTctMTMwODYKLUNWRTogQ1ZFLTIwMTctMTMwODcKLUNWRTogQ1ZFLTIwMTctMTMwODgKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotRnJvbSAxMmZhYzA5YjQzN2ExZGM4YTBmMjUzZTI2NTkzNGE4YWFmNGQyZjhiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSm91bmkgTWFsaW5lbiA8akB3MS5maT4KLURhdGU6IFN1biwgMSBPY3QgMjAxNyAxMjozMjo1NyArMDMwMAotU3ViamVjdDogW1BBVENIIDUvOF0gRml4IFBUSyByZWtleWluZyB0byBnZW5lcmF0ZSBhIG5ldyBBTm9uY2UKLQotVGhlIEF1dGhlbnRpY2F0b3Igc3RhdGUgbWFjaGluZSBwYXRoIGZvciBQVEsgcmVrZXlpbmcgZW5kZWQgdXAgYnlwYXNzaW5nCi10aGUgQVVUSEVOVElDQVRJT04yIHN0YXRlIHdoZXJlIGEgbmV3IEFOb25jZSBpcyBnZW5lcmF0ZWQgd2hlbiBnb2luZwotZGlyZWN0bHkgdG8gdGhlIFBUS1NUQVJUIHN0YXRlIHNpbmNlIHRoZXJlIGlzIG5vIG5lZWQgdG8gdHJ5IHRvCi1kZXRlcm1pbmUgdGhlIFBNSyBhZ2FpbiBpbiBzdWNoIGEgY2FzZS4gVGhpcyBpcyBmYXIgZnJvbSBpZGVhbCBzaW5jZSB0aGUKLW5ldyBQVEsgd291bGQgZGVwZW5kIG9uIGEgbmV3IG5vbmNlIG9ubHkgZnJvbSB0aGUgc3VwcGxpY2FudC4KLQotRml4IHRoaXMgYnkgZ2VuZXJhdGluZyBhIG5ldyBBTm9uY2Ugd2hlbiBtb3ZpbmcgdG8gdGhlIFBUS1NUQVJUIHN0YXRlCi1mb3IgdGhlIHB1cnBvc2Ugb2Ygc3RhcnRpbmcgbmV3IDQtd2F5IGhhbmRzaGFrZSB0byByZWtleSBQVEsuCi0KLVNpZ25lZC1vZmYtYnk6IEpvdW5pIE1hbGluZW4gPGpAdzEuZmk+Ci0tLS0KLSBzcmMvYXAvd3BhX2F1dGguYyB8IDI0ICsrKysrKysrKysrKysrKysrKysrKy0tLQotIDEgZmlsZSBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2FwL3dwYV9hdXRoLmMgYi9zcmMvYXAvd3BhX2F1dGguYwotaW5kZXggNzA3OTcxZC4uYmYxMGNjMSAxMDA2NDQKLS0tLSBhL3NyYy9hcC93cGFfYXV0aC5jCi0rKysgYi9zcmMvYXAvd3BhX2F1dGguYwotQEAgLTE5MDEsNiArMTkwMSwyMSBAQCBTTV9TVEFURShXUEFfUFRLLCBBVVRIRU5USUNBVElPTjIpCi0gfQotIAotIAotK3N0YXRpYyBpbnQgd3BhX2F1dGhfc21fcHRrX3VwZGF0ZShzdHJ1Y3Qgd3BhX3N0YXRlX21hY2hpbmUgKnNtKQotK3sKLSsJaWYgKHJhbmRvbV9nZXRfYnl0ZXMoc20tPkFOb25jZSwgV1BBX05PTkNFX0xFTikpIHsKLSsJCXdwYV9wcmludGYoTVNHX0VSUk9SLAotKwkJCSAgICJXUEE6IEZhaWxlZCB0byBnZXQgcmFuZG9tIGRhdGEgZm9yIEFOb25jZSIpOwotKwkJc20tPkRpc2Nvbm5lY3QgPSBUUlVFOwotKwkJcmV0dXJuIC0xOwotKwl9Ci0rCXdwYV9oZXhkdW1wKE1TR19ERUJVRywgIldQQTogQXNzaWduIG5ldyBBTm9uY2UiLCBzbS0+QU5vbmNlLAotKwkJICAgIFdQQV9OT05DRV9MRU4pOwotKwlzbS0+VGltZW91dEN0ciA9IDA7Ci0rCXJldHVybiAwOwotK30KLSsKLSsKLSBTTV9TVEFURShXUEFfUFRLLCBJTklUUE1LKQotIHsKLSAJdTggbXNrWzIgKiBQTUtfTEVOXTsKLUBAIC0yNDU4LDkgKzI0NzMsMTIgQEAgU01fU1RFUChXUEFfUFRLKQotIAkJU01fRU5URVIoV1BBX1BUSywgQVVUSEVOVElDQVRJT04pOwotIAllbHNlIGlmIChzbS0+UmVBdXRoZW50aWNhdGlvblJlcXVlc3QpCi0gCQlTTV9FTlRFUihXUEFfUFRLLCBBVVRIRU5USUNBVElPTjIpOwotLQllbHNlIGlmIChzbS0+UFRLUmVxdWVzdCkKLS0JCVNNX0VOVEVSKFdQQV9QVEssIFBUS1NUQVJUKTsKLS0JZWxzZSBzd2l0Y2ggKHNtLT53cGFfcHRrX3N0YXRlKSB7Ci0rCWVsc2UgaWYgKHNtLT5QVEtSZXF1ZXN0KSB7Ci0rCQlpZiAod3BhX2F1dGhfc21fcHRrX3VwZGF0ZShzbSkgPCAwKQotKwkJCVNNX0VOVEVSKFdQQV9QVEssIERJU0NPTk5FQ1RFRCk7Ci0rCQllbHNlCi0rCQkJU01fRU5URVIoV1BBX1BUSywgUFRLU1RBUlQpOwotKwl9IGVsc2Ugc3dpdGNoIChzbS0+d3BhX3B0a19zdGF0ZSkgewotIAljYXNlIFdQQV9QVEtfSU5JVElBTElaRToKLSAJCWJyZWFrOwotIAljYXNlIFdQQV9QVEtfRElTQ09OTkVDVDoKLS0tIAotMi43LjQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQva2V5LXJlcGxheS1jdmUtbXVsdGlwbGU2LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50L2tleS1yZXBsYXktY3ZlLW11bHRpcGxlNi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTUxODNmNC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQva2V5LXJlcGxheS1jdmUtbXVsdGlwbGU2LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTQ5ICswLDAgQEAKLVRoZSBXUEEyIGZvdXItd2F5IGhhbmRzaGFrZSBwcm90b2NvbCBpcyB2dWxuZXJhYmxlIHRvIHJlcGxheSBhdHRhY2tzIHdoaWNoIGNhbgotcmVzdWx0IGluIHVuYXV0aGVudGljYXRlZCBjbGllbnRzIGdhaW5pbmcgYWNjZXNzIHRvIHRoZSBuZXR3b3JrLgotCi1CYWNrcG9ydCBhIG51bWJlciBvZiBwYXRjaGVzIGZyb20gdXBzdHJlYW0gdG8gZml4IHRoaXMuCi0KLUNWRTogQ1ZFLTIwMTctMTMwNzcKLUNWRTogQ1ZFLTIwMTctMTMwNzgKLUNWRTogQ1ZFLTIwMTctMTMwNzkKLUNWRTogQ1ZFLTIwMTctMTMwODAKLUNWRTogQ1ZFLTIwMTctMTMwODEKLUNWRTogQ1ZFLTIwMTctMTMwODIKLUNWRTogQ1ZFLTIwMTctMTMwODYKLUNWRTogQ1ZFLTIwMTctMTMwODcKLUNWRTogQ1ZFLTIwMTctMTMwODgKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotRnJvbSA2YzRiZWQ0ZjQ3ZDE5NjBlYzA0OTgxYTlkNTBlNTA3NmFlYTUyMjNkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSm91bmkgTWFsaW5lbiA8akB3MS5maT4KLURhdGU6IEZyaSwgMjIgU2VwIDIwMTcgMTE6MDM6MTUgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSCA2LzhdIFRETFM6IFJlamVjdCBUUEstVEsgcmVjb25maWd1cmF0aW9uCi0KLURvIG5vdCB0cnkgdG8gcmVjb25maWd1cmUgdGhlIHNhbWUgVFBLLVRLIHRvIHRoZSBkcml2ZXIgYWZ0ZXIgaXQgaGFzCi1iZWVuIHN1Y2Nlc3NmdWxseSBjb25maWd1cmVkLiBUaGlzIGlzIGFuIGV4cGxpY2l0IGNoZWNrIHRvIGF2b2lkIGlzc3VlcwotcmVsYXRlZCB0byByZXNldHRpbmcgdGhlIFRYL1JYIHBhY2tldCBudW1iZXIuIFRoZXJlIHdhcyBhbHJlYWR5IGEgY2hlY2sKLWZvciB0aGlzIGZvciBUUEsgTTIgKHJldHJpZXMgb2YgdGhhdCBtZXNzYWdlIGFyZSBpZ25vcmVkIGNvbXBsZXRlbHkpLCBzbwotdGhhdCBiZWhhdmlvciBkb2VzIG5vdCBnZXQgbW9kaWZpZWQuCi0KLUZvciBUUEsgTTMsIHRoZSBUUEstVEsgY291bGQgaGF2ZSBiZWVuIHJlY29uZmlndXJlZCwgYnV0IHRoYXQgd2FzCi1mb2xsb3dlZCBieSBpbW1lZGlhdGUgdGVhcmRvd24gb2YgdGhlIGxpbmsgZHVlIHRvIGFuIGlzc3VlIGluIHVwZGF0aW5nCi10aGUgU1RBIGVudHJ5LiBGdXJ0aGVybW9yZSwgZm9yIFRETFMgd2l0aCBhbnkgcmVhbCBzZWN1cml0eSAoaS5lLiwKLWlnbm9yaW5nIG9wZW4vV0VQKSwgdGhlIFRQSyBtZXNzYWdlIGV4Y2hhbmdlIGlzIHByb3RlY3RlZCBvbiB0aGUgQVAgcGF0aAotYW5kIHNpbXBsZSByZXBsYXkgYXR0YWNrcyBhcmUgbm90IGZlYXNpYmxlLgotCi1BcyBhbiBhZGRpdGlvbmFsIGNvcm5lciBjYXNlLCBtYWtlIHN1cmUgdGhlIGxvY2FsIG5vbmNlIGdldHMgdXBkYXRlZCBpZgotdGhlIHBlZXIgdXNlcyBhIHZlcnkgdW5saWtlbHkgInJhbmRvbSBub25jZSIgb2YgYWxsIHplcm9zLgotCi1TaWduZWQtb2ZmLWJ5OiBKb3VuaSBNYWxpbmVuIDxqQHcxLmZpPgotLS0tCi0gc3JjL3Jzbl9zdXBwL3RkbHMuYyB8IDM4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvcnNuX3N1cHAvdGRscy5jIGIvc3JjL3Jzbl9zdXBwL3RkbHMuYwotaW5kZXggZTQyNDE2OC4uOWViOTczOCAxMDA2NDQKLS0tLSBhL3NyYy9yc25fc3VwcC90ZGxzLmMKLSsrKyBiL3NyYy9yc25fc3VwcC90ZGxzLmMKLUBAIC0xMTIsNiArMTEyLDcgQEAgc3RydWN0IHdwYV90ZGxzX3BlZXIgewotIAkJdTggdGtbMTZdOyAvKiBUUEstVEs7IGFzc3VtaW5nIG9ubHkgQ0NNUCB3aWxsIGJlIHVzZWQgKi8KLSAJfSB0cGs7Ci0gCWludCB0cGtfc2V0OwotKwlpbnQgdGtfc2V0OyAvKiBUUEstVEsgY29uZmlndXJlZCB0byB0aGUgZHJpdmVyICovCi0gCWludCB0cGtfc3VjY2VzczsKLSAJaW50IHRwa19pbl9wcm9ncmVzczsKLSAKLUBAIC0xOTIsNiArMTkzLDIwIEBAIHN0YXRpYyBpbnQgd3BhX3RkbHNfc2V0X2tleShzdHJ1Y3Qgd3BhX3NtICpzbSwgc3RydWN0IHdwYV90ZGxzX3BlZXIgKnBlZXIpCi0gCXU4IHJzY1s2XTsKLSAJZW51bSB3cGFfYWxnIGFsZzsKLSAKLSsJaWYgKHBlZXItPnRrX3NldCkgewotKwkJLyoKLSsJCSAqIFRoaXMgc2FtZSBUUEstVEsgaGFzIGFscmVhZHkgYmVlbiBjb25maWd1cmVkIHRvIHRoZSBkcml2ZXIKLSsJCSAqIGFuZCB0aGlzIG5ldyBjb25maWd1cmF0aW9uIGF0dGVtcHQgKGxpa2VseSBkdWUgdG8gYW4KLSsJCSAqIHVuZXhwZWN0ZWQgcmV0cmFuc21pdHRlZCBmcmFtZSkgd291bGQgcmVzdWx0IGluIGNsZWFyaW5nCi0rCQkgKiB0aGUgVFgvUlggc2VxdWVuY2UgbnVtYmVyIHdoaWNoIGNhbiBicmVhayBzZWN1cml0eSwgc28gbXVzdAotKwkJICogbm90IGFsbG93IHRoYXQgdG8gaGFwcGVuLgotKwkJICovCi0rCQl3cGFfcHJpbnRmKE1TR19JTkZPLCAiVERMUzogVFBLLVRLIGZvciB0aGUgcGVlciAiIE1BQ1NUUgotKwkJCSAgICIgaGFzIGFscmVhZHkgYmVlbiBjb25maWd1cmVkIHRvIHRoZSBkcml2ZXIgLSBkbyBub3QgcmVjb25maWd1cmUiLAotKwkJCSAgIE1BQzJTVFIocGVlci0+YWRkcikpOwotKwkJcmV0dXJuIC0xOwotKwl9Ci0rCi0gCW9zX21lbXNldChyc2MsIDAsIDYpOwotIAotIAlzd2l0Y2ggKHBlZXItPmNpcGhlcikgewotQEAgLTIwOSwxMiArMjI0LDE1IEBAIHN0YXRpYyBpbnQgd3BhX3RkbHNfc2V0X2tleShzdHJ1Y3Qgd3BhX3NtICpzbSwgc3RydWN0IHdwYV90ZGxzX3BlZXIgKnBlZXIpCi0gCQlyZXR1cm4gLTE7Ci0gCX0KLSAKLSsJd3BhX3ByaW50ZihNU0dfREVCVUcsICJURExTOiBDb25maWd1cmUgcGFpcndpc2Uga2V5IGZvciBwZWVyICIgTUFDU1RSLAotKwkJICAgTUFDMlNUUihwZWVyLT5hZGRyKSk7Ci0gCWlmICh3cGFfc21fc2V0X2tleShzbSwgYWxnLCBwZWVyLT5hZGRyLCAtMSwgMSwKLSAJCQkgICByc2MsIHNpemVvZihyc2MpLCBwZWVyLT50cGsudGssIGtleV9sZW4pIDwgMCkgewotIAkJd3BhX3ByaW50ZihNU0dfV0FSTklORywgIlRETFM6IEZhaWxlZCB0byBzZXQgVFBLIHRvIHRoZSAiCi0gCQkJICAgImRyaXZlciIpOwotIAkJcmV0dXJuIC0xOwotIAl9Ci0rCXBlZXItPnRrX3NldCA9IDE7Ci0gCXJldHVybiAwOwotIH0KLSAKLUBAIC02OTYsNyArNzE0LDcgQEAgc3RhdGljIHZvaWQgd3BhX3RkbHNfcGVlcl9jbGVhcihzdHJ1Y3Qgd3BhX3NtICpzbSwgc3RydWN0IHdwYV90ZGxzX3BlZXIgKnBlZXIpCi0gCXBlZXItPmNpcGhlciA9IDA7Ci0gCXBlZXItPnFvc19pbmZvID0gMDsKLSAJcGVlci0+d21tX2NhcGFibGUgPSAwOwotLQlwZWVyLT50cGtfc2V0ID0gcGVlci0+dHBrX3N1Y2Nlc3MgPSAwOwotKwlwZWVyLT50a19zZXQgPSBwZWVyLT50cGtfc2V0ID0gcGVlci0+dHBrX3N1Y2Nlc3MgPSAwOwotIAlwZWVyLT5jaGFuX3N3aXRjaF9lbmFibGVkID0gMDsKLSAJb3NfbWVtc2V0KCZwZWVyLT50cGssIDAsIHNpemVvZihwZWVyLT50cGspKTsKLSAJb3NfbWVtc2V0KHBlZXItPmlub25jZSwgMCwgV1BBX05PTkNFX0xFTik7Ci1AQCAtMTE1OSw2ICsxMTc3LDcgQEAgc2tpcF9yc25pZToKLSAJCXdwYV90ZGxzX3BlZXJfZnJlZShzbSwgcGVlcik7Ci0gCQlyZXR1cm4gLTE7Ci0gCX0KLSsJcGVlci0+dGtfc2V0ID0gMDsgLyogQSBuZXcgbm9uY2UgcmVzdWx0cyBpbiBhIG5ldyBUSyAqLwotIAl3cGFfaGV4ZHVtcChNU0dfREVCVUcsICJURExTOiBJbml0aWF0b3IgTm9uY2UgZm9yIFRQSyBoYW5kc2hha2UiLAotIAkJICAgIHBlZXItPmlub25jZSwgV1BBX05PTkNFX0xFTik7Ci0gCW9zX21lbWNweShmdGllLT5Tbm9uY2UsIHBlZXItPmlub25jZSwgV1BBX05PTkNFX0xFTik7Ci1AQCAtMTc1MSw2ICsxNzcwLDE5IEBAIHN0YXRpYyBpbnQgd3BhX3RkbHNfYWRkc2V0X3BlZXIoc3RydWN0IHdwYV9zbSAqc20sIHN0cnVjdCB3cGFfdGRsc19wZWVyICpwZWVyLAotIH0KLSAKLSAKLStzdGF0aWMgaW50IHRkbHNfbm9uY2Vfc2V0KGNvbnN0IHU4ICpub25jZSkKLSt7Ci0rCWludCBpOwotKwotKwlmb3IgKGkgPSAwOyBpIDwgV1BBX05PTkNFX0xFTjsgaSsrKSB7Ci0rCQlpZiAobm9uY2VbaV0pCi0rCQkJcmV0dXJuIDE7Ci0rCX0KLSsKLSsJcmV0dXJuIDA7Ci0rfQotKwotKwotIHN0YXRpYyBpbnQgd3BhX3RkbHNfcHJvY2Vzc190cGtfbTEoc3RydWN0IHdwYV9zbSAqc20sIGNvbnN0IHU4ICpzcmNfYWRkciwKLSAJCQkJICAgY29uc3QgdTggKmJ1Ziwgc2l6ZV90IGxlbikKLSB7Ci1AQCAtMjAwNCw3ICsyMDM2LDggQEAgc2tpcF9yc246Ci0gCXBlZXItPnJzbmllX2lfbGVuID0ga2RlLnJzbl9pZV9sZW47Ci0gCXBlZXItPmNpcGhlciA9IGNpcGhlcjsKLSAKLS0JaWYgKG9zX21lbWNtcChwZWVyLT5pbm9uY2UsIGZ0aWUtPlNub25jZSwgV1BBX05PTkNFX0xFTikgIT0gMCkgewotKwlpZiAob3NfbWVtY21wKHBlZXItPmlub25jZSwgZnRpZS0+U25vbmNlLCBXUEFfTk9OQ0VfTEVOKSAhPSAwIHx8Ci0rCSAgICAhdGRsc19ub25jZV9zZXQocGVlci0+aW5vbmNlKSkgewotIAkJLyoKLSAJCSAqIFRoZXJlIGlzIG5vIHBvaW50IGluIHVwZGF0aW5nIHRoZSBSTm9uY2UgZm9yIGV2ZXJ5IG9idGFpbmVkCi0gCQkgKiBUUEsgTTEgZnJhbWUgKGUuZy4sIHJldHJhbnNtaXNzaW9uIGR1ZSB0byB0aW1lb3V0KSB3aXRoIHRoZQotQEAgLTIwMjAsNiArMjA1Myw3IEBAIHNraXBfcnNuOgotIAkJCQkiVERMUzogRmFpbGVkIHRvIGdldCByYW5kb20gZGF0YSBmb3IgcmVzcG9uZGVyIG5vbmNlIik7Ci0gCQkJZ290byBlcnJvcjsKLSAJCX0KLSsJCXBlZXItPnRrX3NldCA9IDA7IC8qIEEgbmV3IG5vbmNlIHJlc3VsdHMgaW4gYSBuZXcgVEsgKi8KLSAJfQotIAotICNpZiAwCi0tLSAKLTIuNy40ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50L2tleS1yZXBsYXktY3ZlLW11bHRpcGxlNy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudC9rZXktcmVwbGF5LWN2ZS1tdWx0aXBsZTcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJlMTJiYzcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50L2tleS1yZXBsYXktY3ZlLW11bHRpcGxlNy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDYwICswLDAgQEAKLVRoZSBXUEEyIGZvdXItd2F5IGhhbmRzaGFrZSBwcm90b2NvbCBpcyB2dWxuZXJhYmxlIHRvIHJlcGxheSBhdHRhY2tzIHdoaWNoIGNhbgotcmVzdWx0IGluIHVuYXV0aGVudGljYXRlZCBjbGllbnRzIGdhaW5pbmcgYWNjZXNzIHRvIHRoZSBuZXR3b3JrLgotCi1CYWNrcG9ydCBhIG51bWJlciBvZiBwYXRjaGVzIGZyb20gdXBzdHJlYW0gdG8gZml4IHRoaXMuCi0KLUNWRTogQ1ZFLTIwMTctMTMwNzcKLUNWRTogQ1ZFLTIwMTctMTMwNzgKLUNWRTogQ1ZFLTIwMTctMTMwNzkKLUNWRTogQ1ZFLTIwMTctMTMwODAKLUNWRTogQ1ZFLTIwMTctMTMwODEKLUNWRTogQ1ZFLTIwMTctMTMwODIKLUNWRTogQ1ZFLTIwMTctMTMwODYKLUNWRTogQ1ZFLTIwMTctMTMwODcKLUNWRTogQ1ZFLTIwMTctMTMwODgKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotRnJvbSA1M2M1ZWI1OGU5NTAwNGY4NmU2NWVlOWZiZmNjYmMyOTFiMTM5MDU3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSm91bmkgTWFsaW5lbiA8akB3MS5maT4KLURhdGU6IEZyaSwgMjIgU2VwIDIwMTcgMTE6MjU6MDIgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSCA3LzhdIFdOTTogSWdub3JlIFdOTS1TbGVlcCBNb2RlIFJlc3BvbnNlIHdpdGhvdXQgcGVuZGluZwotIHJlcXVlc3QKLQotQ29tbWl0IDAzZWQwYTUyMzkzNzEwYmU2YmRhZTY1N2QxYjM2ZWZhMTQ2NTIwZTUgKCdXTk06IElnbm9yZSBXTk0tU2xlZXAKLU1vZGUgUmVzcG9uc2UgaWYgV05NLVNsZWVwIE1vZGUgaGFzIG5vdCBiZWVuIHVzZWQnKSBzdGFydGVkIGlnbm9yaW5nIHRoZQotcmVzcG9uc2Ugd2hlbiBubyBXTk0tU2xlZXAgTW9kZSBSZXF1ZXN0IGhhZCBiZWVuIHVzZWQgZHVyaW5nIHRoZQotYXNzb2NpYXRpb24uIFRoaXMgY2FuIGJlIG1hZGUgdGlnaHRlciBieSBjbGVhcmluZyB0aGUgdXNlZCBmbGFnIHdoZW4KLXN1Y2Nlc3NmdWxseSBwcm9jZXNzaW5nIGEgcmVzcG9uc2UuIFRoaXMgYWRkcyBhbiBhZGRpdGlvbmFsIGxheWVyIG9mCi1wcm90ZWN0aW9uIGFnYWluc3QgdW5leHBlY3RlZCByZXRyYW5zbWlzc2lvbnMgb2YgdGhlIHJlc3BvbnNlIGZyYW1lLgotCi1TaWduZWQtb2ZmLWJ5OiBKb3VuaSBNYWxpbmVuIDxqQHcxLmZpPgotLS0tCi0gd3BhX3N1cHBsaWNhbnQvd25tX3N0YS5jIHwgNCArKystCi0gMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvd3BhX3N1cHBsaWNhbnQvd25tX3N0YS5jIGIvd3BhX3N1cHBsaWNhbnQvd25tX3N0YS5jCi1pbmRleCAxYjM0MDljLi42N2EwN2ZmIDEwMDY0NAotLS0tIGEvd3BhX3N1cHBsaWNhbnQvd25tX3N0YS5jCi0rKysgYi93cGFfc3VwcGxpY2FudC93bm1fc3RhLmMKLUBAIC0yNjAsNyArMjYwLDcgQEAgc3RhdGljIHZvaWQgaWVlZTgwMl8xMV9yeF93bm1zbGVlcF9yZXNwKHN0cnVjdCB3cGFfc3VwcGxpY2FudCAqd3BhX3MsCi0gCi0gCWlmICghd3BhX3MtPndubXNsZWVwX3VzZWQpIHsKLSAJCXdwYV9wcmludGYoTVNHX0RFQlVHLAotLQkJCSAgICJXTk06IElnbm9yZSBXTk0tU2xlZXAgTW9kZSBSZXNwb25zZSBmcmFtZSBzaW5jZSBXTk0tU2xlZXAgTW9kZSBoYXMgbm90IGJlZW4gdXNlZCBpbiB0aGlzIGFzc29jaWF0aW9uIik7Ci0rCQkJICAgIldOTTogSWdub3JlIFdOTS1TbGVlcCBNb2RlIFJlc3BvbnNlIGZyYW1lIHNpbmNlIFdOTS1TbGVlcCBNb2RlIG9wZXJhdGlvbiBoYXMgbm90IGJlZW4gcmVxdWVzdGVkIik7Ci0gCQlyZXR1cm47Ci0gCX0KLSAKLUBAIC0yOTksNiArMjk5LDggQEAgc3RhdGljIHZvaWQgaWVlZTgwMl8xMV9yeF93bm1zbGVlcF9yZXNwKHN0cnVjdCB3cGFfc3VwcGxpY2FudCAqd3BhX3MsCi0gCQlyZXR1cm47Ci0gCX0KLSAKLSsJd3BhX3MtPndubXNsZWVwX3VzZWQgPSAwOwotKwotIAlpZiAod25tc2xlZXBfaWUtPnN0YXR1cyA9PSBXTk1fU1RBVFVTX1NMRUVQX0FDQ0VQVCB8fAotIAkgICAgd25tc2xlZXBfaWUtPnN0YXR1cyA9PSBXTk1fU1RBVFVTX1NMRUVQX0VYSVRfQUNDRVBUX0dUS19VUERBVEUpIHsKLSAJCXdwYV9wcmludGYoTVNHX0RFQlVHLCAiU3VjY2Vzc2Z1bGx5IHJlY3YgV05NLVNsZWVwIFJlc3BvbnNlICIKLS0tIAotMi43LjQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQva2V5LXJlcGxheS1jdmUtbXVsdGlwbGU4LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50L2tleS1yZXBsYXktY3ZlLW11bHRpcGxlOC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2Y1MzkwYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQva2V5LXJlcGxheS1jdmUtbXVsdGlwbGU4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTkgKzAsMCBAQAotVGhlIFdQQTIgZm91ci13YXkgaGFuZHNoYWtlIHByb3RvY29sIGlzIHZ1bG5lcmFibGUgdG8gcmVwbGF5IGF0dGFja3Mgd2hpY2ggY2FuCi1yZXN1bHQgaW4gdW5hdXRoZW50aWNhdGVkIGNsaWVudHMgZ2FpbmluZyBhY2Nlc3MgdG8gdGhlIG5ldHdvcmsuCi0KLUJhY2twb3J0IGEgbnVtYmVyIG9mIHBhdGNoZXMgZnJvbSB1cHN0cmVhbSB0byBmaXggdGhpcy4KLQotQ1ZFOiBDVkUtMjAxNy0xMzA3NwotQ1ZFOiBDVkUtMjAxNy0xMzA3OAotQ1ZFOiBDVkUtMjAxNy0xMzA3OQotQ1ZFOiBDVkUtMjAxNy0xMzA4MAotQ1ZFOiBDVkUtMjAxNy0xMzA4MQotQ1ZFOiBDVkUtMjAxNy0xMzA4MgotQ1ZFOiBDVkUtMjAxNy0xMzA4NgotQ1ZFOiBDVkUtMjAxNy0xMzA4NwotQ1ZFOiBDVkUtMjAxNy0xMzA4OAotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1TaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotCi1Gcm9tIGIzNzJhYjBiN2RhZWE3MTk3NDkxOTRkYzU1NGIyNmU2MzY3NjAzZjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKb3VuaSBNYWxpbmVuIDxqQHcxLmZpPgotRGF0ZTogRnJpLCAyMiBTZXAgMjAxNyAxMjowNjozNyArMDMwMAotU3ViamVjdDogW1BBVENIIDgvOF0gRlQ6IERvIG5vdCBhbGxvdyBtdWx0aXBsZSBSZWFzc29jaWF0aW9uIFJlc3BvbnNlIGZyYW1lcwotCi1UaGUgZHJpdmVyIGlzIGV4cGVjdGVkIHRvIG5vdCByZXBvcnQgYSBzZWNvbmQgYXNzb2NpYXRpb24gZXZlbnQgd2l0aG91dAotdGhlIHN0YXRpb24gaGF2aW5nIGV4cGxpY2l0bHkgcmVxdWVzdCBhIG5ldyBhc3NvY2lhdGlvbi4gQXMgc3VjaCwgdGhpcwotY2FzZSBzaG91bGQgbm90IGJlIHJlYWNoYWJsZS4gSG93ZXZlciwgc2luY2UgcmVjb25maWd1cmluZyB0aGUgc2FtZQotcGFpcndpc2Ugb3IgZ3JvdXAga2V5cyB0byB0aGUgZHJpdmVyIGNvdWxkIHJlc3VsdCBpbiBub25jZSByZXVzZSBpc3N1ZXMsCi1iZSBleHRyYSBjYXJlZnVsIGhlcmUgYW5kIGRvIGFuIGFkZGl0aW9uYWwgc3RhdGUgY2hlY2sgdG8gYXZvaWQgdGhpcwotZXZlbiBpZiB0aGUgbG9jYWwgZHJpdmVyIGVuZHMgdXAgc29tZWhvdyBhY2NlcHRpbmcgYW4gdW5leHBlY3RlZAotUmVhc3NvY2lhdGlvbiBSZXNwb25zZSBmcmFtZS4KLQotU2lnbmVkLW9mZi1ieTogSm91bmkgTWFsaW5lbiA8akB3MS5maT4KLS0tLQotIHNyYy9yc25fc3VwcC93cGEuYyAgICB8IDMgKysrCi0gc3JjL3Jzbl9zdXBwL3dwYV9mdC5jIHwgOCArKysrKysrKwotIHNyYy9yc25fc3VwcC93cGFfaS5oICB8IDEgKwotIDMgZmlsZXMgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3Jzbl9zdXBwL3dwYS5jIGIvc3JjL3Jzbl9zdXBwL3dwYS5jCi1pbmRleCAwNTUwYTQxLi4yYTUzYzZmIDEwMDY0NAotLS0tIGEvc3JjL3Jzbl9zdXBwL3dwYS5jCi0rKysgYi9zcmMvcnNuX3N1cHAvd3BhLmMKLUBAIC0yNDQwLDYgKzI0NDAsOSBAQCB2b2lkIHdwYV9zbV9ub3RpZnlfZGlzYXNzb2Moc3RydWN0IHdwYV9zbSAqc20pCi0gI2lmZGVmIENPTkZJR19URExTCi0gCXdwYV90ZGxzX2Rpc2Fzc29jKHNtKTsKLSAjZW5kaWYgLyogQ09ORklHX1RETFMgKi8KLSsjaWZkZWYgQ09ORklHX0lFRUU4MDIxMVIKLSsJc20tPmZ0X3JlYXNzb2NfY29tcGxldGVkID0gMDsKLSsjZW5kaWYgLyogQ09ORklHX0lFRUU4MDIxMVIgKi8KLSAKLSAJLyogS2V5cyBhcmUgbm90IG5lZWRlZCBpbiB0aGUgV1BBIHN0YXRlIG1hY2hpbmUgYW55bW9yZSAqLwotIAl3cGFfc21fZHJvcF9zYShzbSk7Ci1kaWZmIC0tZ2l0IGEvc3JjL3Jzbl9zdXBwL3dwYV9mdC5jIGIvc3JjL3Jzbl9zdXBwL3dwYV9mdC5jCi1pbmRleCAyMDU3OTNlLi5kNDViYjQ1IDEwMDY0NAotLS0tIGEvc3JjL3Jzbl9zdXBwL3dwYV9mdC5jCi0rKysgYi9zcmMvcnNuX3N1cHAvd3BhX2Z0LmMKLUBAIC0xNTMsNiArMTUzLDcgQEAgc3RhdGljIHU4ICogd3BhX2Z0X2dlbl9yZXFfaWVzKHN0cnVjdCB3cGFfc20gKnNtLCBzaXplX3QgKmxlbiwKLSAJdTE2IGNhcGFiOwotIAotIAlzbS0+ZnRfY29tcGxldGVkID0gMDsKLSsJc20tPmZ0X3JlYXNzb2NfY29tcGxldGVkID0gMDsKLSAKLSAJYnVmX2xlbiA9IDIgKyBzaXplb2Yoc3RydWN0IHJzbl9tZGllKSArIDIgKyBzaXplb2Yoc3RydWN0IHJzbl9mdGllKSArCi0gCQkyICsgc20tPnIwa2hfaWRfbGVuICsgcmljX2llc19sZW4gKyAxMDA7Ci1AQCAtNjgxLDYgKzY4MiwxMSBAQCBpbnQgd3BhX2Z0X3ZhbGlkYXRlX3JlYXNzb2NfcmVzcChzdHJ1Y3Qgd3BhX3NtICpzbSwgY29uc3QgdTggKmllcywKLSAJCXJldHVybiAtMTsKLSAJfQotIAotKwlpZiAoc20tPmZ0X3JlYXNzb2NfY29tcGxldGVkKSB7Ci0rCQl3cGFfcHJpbnRmKE1TR19ERUJVRywgIkZUOiBSZWFzc29jaWF0aW9uIGhhcyBhbHJlYWR5IGJlZW4gY29tcGxldGVkIGZvciB0aGlzIEZUIHByb3RvY29sIGluc3RhbmNlIC0gaWdub3JlIHVuZXhwZWN0ZWQgcmV0cmFuc21pc3Npb24iKTsKLSsJCXJldHVybiAwOwotKwl9Ci0rCi0gCWlmICh3cGFfZnRfcGFyc2VfaWVzKGllcywgaWVzX2xlbiwgJnBhcnNlKSA8IDApIHsKLSAJCXdwYV9wcmludGYoTVNHX0RFQlVHLCAiRlQ6IEZhaWxlZCB0byBwYXJzZSBJRXMiKTsKLSAJCXJldHVybiAtMTsKLUBAIC03ODEsNiArNzg3LDggQEAgaW50IHdwYV9mdF92YWxpZGF0ZV9yZWFzc29jX3Jlc3Aoc3RydWN0IHdwYV9zbSAqc20sIGNvbnN0IHU4ICppZXMsCi0gCQlyZXR1cm4gLTE7Ci0gCX0KLSAKLSsJc20tPmZ0X3JlYXNzb2NfY29tcGxldGVkID0gMTsKLSsKLSAJaWYgKHdwYV9mdF9wcm9jZXNzX2d0a19zdWJlbGVtKHNtLCBwYXJzZS5ndGssIHBhcnNlLmd0a19sZW4pIDwgMCkKLSAJCXJldHVybiAtMTsKLSAKLWRpZmYgLS1naXQgYS9zcmMvcnNuX3N1cHAvd3BhX2kuaCBiL3NyYy9yc25fc3VwcC93cGFfaS5oCi1pbmRleCA0MWYzNzFmLi41NmY4OGRjIDEwMDY0NAotLS0tIGEvc3JjL3Jzbl9zdXBwL3dwYV9pLmgKLSsrKyBiL3NyYy9yc25fc3VwcC93cGFfaS5oCi1AQCAtMTI4LDYgKzEyOCw3IEBAIHN0cnVjdCB3cGFfc20gewotIAlzaXplX3QgcjBraF9pZF9sZW47Ci0gCXU4IHIxa2hfaWRbRlRfUjFLSF9JRF9MRU5dOwotIAlpbnQgZnRfY29tcGxldGVkOwotKwlpbnQgZnRfcmVhc3NvY19jb21wbGV0ZWQ7Ci0gCWludCBvdmVyX3RoZV9kc19pbl9wcm9ncmVzczsKLSAJdTggdGFyZ2V0X2FwW0VUSF9BTEVOXTsgLyogb3Zlci10aGUtRFMgdGFyZ2V0IEFQICovCi0gCWludCBzZXRfcHRrX2FmdGVyX2Fzc29jOwotLS0gCi0yLjcuNApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudC93cGFfc3VwcGxpY2FudC1DVkUtMjAxOC0xNDUyNi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudC93cGFfc3VwcGxpY2FudC1DVkUtMjAxOC0xNDUyNi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTgwMGE0MS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQvd3BhX3N1cHBsaWNhbnQtQ1ZFLTIwMTgtMTQ1MjYucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NCArMCwwIEBACi13cGFfc3VwcGxpY2FudC0yLjY6IEZpeCBDVkUtMjAxOC0xNDUyNgotCi1bTm8gdXBzdHJlYW0gdHJhY2tpbmddIC0tIGh0dHBzOi8vdzEuZmkvc2VjdXJpdHkvMjAxOC0xL3VuYXV0aGVudGljYXRlZC1lYXBvbC1rZXktZGVjcnlwdGlvbi50eHQKLQotd3BhOiBJZ25vcmUgdW5hdXRoZW50aWNhdGVkIGVuY3J5cHRlZCBFQVBPTC1LZXkgZGF0YQotCi1JZ25vcmUgdW5hdXRoZW50aWNhdGVkIGVuY3J5cHRlZCBFQVBPTC1LZXkgZGF0YSBpbiBzdXBwbGljYW50Ci1wcm9jZXNzaW5nLiBXaGVuIHVzaW5nIFdQQTIsIHRoZXNlIGFyZSBmcmFtZXMgdGhhdCBoYXZlIHRoZSBFbmNyeXB0ZWQKLWZsYWcgc2V0LCBidXQgbm90IHRoZSBNSUMgZmxhZy4KLQotV2hlbiB1c2luZyBXUEEyLCBFQVBPTC1LZXkgZnJhbWVzIHRoYXQgaGFkIHRoZSBFbmNyeXB0ZWQgZmxhZyBzZXQgYnV0Ci1ub3QgdGhlIE1JQyBmbGFnLCBoYWQgdGhlaXIgZGF0YSBmaWVsZCBkZWNyeXB0ZWQgd2l0aG91dCBmaXJzdCB2ZXJpZnlpbmcKLXRoZSBNSUMuIEluIGNhc2UgdGhlIGRhdGEgZmllbGQgd2FzIGVuY3J5cHRlZCB1c2luZyBSQzQgKGkuZS4sIHdoZW4KLW5lZ290aWF0aW5nIFRLSVAgYXMgdGhlIHBhaXJ3aXNlIGNpcGhlciksIHRoaXMgbWVhbnQgdGhhdAotdW5hdXRoZW50aWNhdGVkIGJ1dCBkZWNyeXB0ZWQgZGF0YSB3b3VsZCB0aGVuIGJlIHByb2Nlc3NlZC4gQW4gYWR2ZXJzYXJ5Ci1jb3VsZCBhYnVzZSB0aGlzIGFzIGEgZGVjcnlwdGlvbiBvcmFjbGUgdG8gcmVjb3ZlciBzZW5zaXRpdmUgaW5mb3JtYXRpb24KLWluIHRoZSBkYXRhIGZpZWxkIG9mIEVBUE9MLUtleSBtZXNzYWdlcyAoZS5nLiwgdGhlIGdyb3VwIGtleSkuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vdzEuZmkvY2dpdC9ob3N0YXAvY29tbWl0L3NyYy9yc25fc3VwcC93cGEuYz9pZD0zZTM0Y2ZkZmY2YjE5MmZlMzM3YzZmYjNmNDg3ZjczZTk2NTgyOTYxXQotQ1ZFOiBDVkUtMjAxOC0xNDUyNgotU2lnbmVkLW9mZi1ieTogQW5kcmVqIFZhbGVrIDxhbmRyZWoudmFsZWtAc2llbWVucy5jb20+Ci0KLWRpZmYgLS1naXQgYS9zcmMvcnNuX3N1cHAvd3BhLmMgYi9zcmMvcnNuX3N1cHAvd3BhLmMKLWluZGV4IDNjNDc4NzkuLjZiZGY5MjMgMTAwNjQ0Ci0tLS0gYS9zcmMvcnNuX3N1cHAvd3BhLmMKLSsrKyBiL3NyYy9yc25fc3VwcC93cGEuYwotQEAgLTIwMTYsNiArMjAxNiwxNyBAQCBpbnQgd3BhX3NtX3J4X2VhcG9sKHN0cnVjdCB3cGFfc20gKnNtLCBjb25zdCB1OCAqc3JjX2FkZHIsCi0KLSAJaWYgKChzbS0+cHJvdG8gPT0gV1BBX1BST1RPX1JTTiB8fCBzbS0+cHJvdG8gPT0gV1BBX1BST1RPX09TRU4pICYmCi0gCSAgICAoa2V5X2luZm8gJiBXUEFfS0VZX0lORk9fRU5DUl9LRVlfREFUQSkpIHsKLSsJCS8qCi0rCQkgKiBPbmx5IGRlY3J5cHQgdGhlIEtleSBEYXRhIGZpZWxkIGlmIHRoZSBmcmFtZSdzIGF1dGhlbnRpY2l0eQotKwkJICogd2FzIHZlcmlmaWVkLiBXaGVuIHVzaW5nIEFFUy1TSVYgKEZJTFMpLCB0aGUgTUlDIGZsYWcgaXMgbm90Ci0rCQkgKiBzZXQsIHNvIHRoaXMgY2hlY2sgc2hvdWxkIG9ubHkgYmUgcGVyZm9ybWVkIGlmIG1pY19sZW4gIT0gMAotKwkJICogd2hpY2ggaXMgdGhlIGNhc2UgaW4gdGhpcyBjb2RlIGJyYW5jaC4KLSsJCSAqLwotKwkJaWYgKCEoa2V5X2luZm8gJiBXUEFfS0VZX0lORk9fTUlDKSkgewotKwkJCXdwYV9tc2coc20tPmN0eC0+bXNnX2N0eCwgTVNHX1dBUk5JTkcsCi0rCQkJCSJXUEE6IElnbm9yZSBFQVBPTC1LZXkgd2l0aCBlbmNyeXB0ZWQgYnV0IHVuYXV0aGVudGljYXRlZCBkYXRhIik7Ci0rCQkJZ290byBvdXQ7Ci0rCQl9Ci0gCQlpZiAod3BhX3N1cHBsaWNhbnRfZGVjcnlwdF9rZXlfZGF0YShzbSwga2V5LCB2ZXIsIGtleV9kYXRhLAotIAkJCQkJCSAgICAma2V5X2RhdGFfbGVuKSkKLSAJCQlnb3RvIG91dDsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudF8yLjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnRfMi42LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYTRjNGMyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudF8yLjYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMTkgKzAsMCBAQAotU1VNTUFSWSA9ICJDbGllbnQgZm9yIFdpLUZpIFByb3RlY3RlZCBBY2Nlc3MgKFdQQSkiCi1IT01FUEFHRSA9ICJodHRwOi8vdzEuZmkvd3BhX3N1cHBsaWNhbnQvIgotQlVHVFJBQ0tFUiA9ICJodHRwOi8vdzEuZmkvc2VjdXJpdHkvIgotU0VDVElPTiA9ICJuZXR3b3JrIgotTElDRU5TRSA9ICJCU0QiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yOTJlZWNlM2YyZWJiYWEyNTYwOGVlZDg0NjQwMThhMyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTE7ZW5kbGluZT01NjttZDU9M2YwMWQ3NzhiZThmOTUzOTYyMzg4MzA3ZWUzOGVkMmIgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vd3BhX3N1cHBsaWNhbnQvd3BhX3N1cHBsaWNhbnQuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTEyO21kNT00MDYxNjEyZmM1NzE1Njk2MTM0ZTNiYWY5MzNlOGFiYSIKLURFUEVORFMgPSAiZGJ1cyBsaWJubCIKLVJSRUNPTU1FTkRTXyR7UE59ID0gIndwYS1zdXBwbGljYW50LXBhc3NwaHJhc2Ugd3BhLXN1cHBsaWNhbnQtY2xpIgotCi1QQUNLQUdFQ09ORklHID8/PSAiZ251dGxzIgotUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIiwsZ251dGxzIGxpYmdjcnlwdCIKLVBBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLCxvcGVuc3NsIgotCi1pbmhlcml0IHBrZ2NvbmZpZyBzeXN0ZW1kCi0KLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJ3cGFfc3VwcGxpY2FudC5zZXJ2aWNlIHdwYV9zdXBwbGljYW50LW5sODAyMTFALnNlcnZpY2Ugd3BhX3N1cHBsaWNhbnQtd2lyZWRALnNlcnZpY2UiCi1TWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3cxLmZpL3JlbGVhc2VzL3dwYV9zdXBwbGljYW50LSR7UFZ9LnRhci5neiAgXAotICAgICAgICAgICBmaWxlOi8vZGVmY29uZmlnIFwKLSAgICAgICAgICAgZmlsZTovL3dwYS1zdXBwbGljYW50LnNoIFwKLSAgICAgICAgICAgZmlsZTovL3dwYV9zdXBwbGljYW50LmNvbmYgXAotICAgICAgICAgICBmaWxlOi8vd3BhX3N1cHBsaWNhbnQuY29uZi1zYW5lIFwKLSAgICAgICAgICAgZmlsZTovLzk5X3dwYV9zdXBwbGljYW50IFwKLSAgICAgICAgICAgZmlsZTovL2tleS1yZXBsYXktY3ZlLW11bHRpcGxlMS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9rZXktcmVwbGF5LWN2ZS1tdWx0aXBsZTIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8va2V5LXJlcGxheS1jdmUtbXVsdGlwbGUzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2tleS1yZXBsYXktY3ZlLW11bHRpcGxlNC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9rZXktcmVwbGF5LWN2ZS1tdWx0aXBsZTUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8va2V5LXJlcGxheS1jdmUtbXVsdGlwbGU2LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2tleS1yZXBsYXktY3ZlLW11bHRpcGxlNy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9rZXktcmVwbGF5LWN2ZS1tdWx0aXBsZTgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vd3BhX3N1cHBsaWNhbnQtQ1ZFLTIwMTgtMTQ1MjYucGF0Y2ggXAotICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICIwOTE1NjllYjQ0NDBiN2Q3ZjJiNDI3NmRiZmMwM2MzYyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJiNDkzNmQzNGM0ZTZjZGQ0NDk1NGJlYmE3NDI5NmQ5NjRiYzJjOTY2OGVjYWE1MjU1ZTQ5OTYzNmZlMmIxNDUwIgotCi1DVkVfUFJPRFVDVCA9ICJ3cGFfc3VwcGxpY2FudCIKLQotUyA9ICIke1dPUktESVJ9L3dwYV9zdXBwbGljYW50LSR7UFZ9IgotCi1QQUNLQUdFU19wcmVwZW5kID0gIndwYS1zdXBwbGljYW50LXBhc3NwaHJhc2Ugd3BhLXN1cHBsaWNhbnQtY2xpICIKLUZJTEVTX3dwYS1zdXBwbGljYW50LXBhc3NwaHJhc2UgPSAiJHtiaW5kaXJ9L3dwYV9wYXNzcGhyYXNlIgotRklMRVNfd3BhLXN1cHBsaWNhbnQtY2xpID0gIiR7c2JpbmRpcn0vd3BhX2NsaSIKLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0tc2VydmljZXMvKiIKLUNPTkZGSUxFU18ke1BOfSArPSAiJHtzeXNjb25mZGlyfS93cGFfc3VwcGxpY2FudC5jb25mIgotCi1kb19jb25maWd1cmUgKCkgewotCSR7TUFLRX0gLUMgd3BhX3N1cHBsaWNhbnQgY2xlYW4KLQlpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9kZWZjb25maWcgd3BhX3N1cHBsaWNhbnQvLmNvbmZpZwotCWVjaG8gIkNGTEFHUyArPVwiLUkke1NUQUdJTkdfSU5DRElSfS9saWJubDNcIiIgPj4gd3BhX3N1cHBsaWNhbnQvLmNvbmZpZwotCWVjaG8gIkRSVl9DRkxBR1MgKz1cIi1JJHtTVEFHSU5HX0lOQ0RJUn0vbGlibmwzXCIiID4+IHdwYV9zdXBwbGljYW50Ly5jb25maWcKLQkKLQlpZiBlY2hvICIke1BBQ0tBR0VDT05GSUd9IiB8IGdyZXAgLXF3ICJvcGVuc3NsIjsgdGhlbgotICAgICAgICAJc3NsPW9wZW5zc2wKLQllbGlmIGVjaG8gIiR7UEFDS0FHRUNPTkZJR30iIHwgZ3JlcCAtcXcgImdudXRscyI7IHRoZW4KLSAgICAgICAgCXNzbD1nbnV0bHMKLQlmaQotCWlmIFsgLW4gIiRzc2wiIF07IHRoZW4KLSAgICAgICAgCXNlZCAtaSAicy8lc3NsJS8kc3NsLyIgd3BhX3N1cHBsaWNhbnQvLmNvbmZpZwotCWZpCi0KLQkjIEZvciByZWJ1aWxkCi0Jcm0gLWYgd3BhX3N1cHBsaWNhbnQvKi5kIHdwYV9zdXBwbGljYW50L2RidXMvKi5kCi19Ci0KLWV4cG9ydCBFWFRSQV9DRkxBR1MgPSAiJHtDRkxBR1N9IgotZXhwb3J0IEJJTkRJUiA9ICIke3NiaW5kaXJ9IgotCi1kb19jb21waWxlICgpIHsKLQl1bnNldCBDRkxBR1MgQ1BQRkxBR1MgQ1hYRkxBR1MKLQlzZWQgLWUgInM6Q0ZMQUdTXCA9Lio6JiBcJChFWFRSQV9DRkxBR1MpOmciIC1pICR7U30vc3JjL2xpYi5ydWxlcwotCW9lX3J1bm1ha2UgLUMgd3BhX3N1cHBsaWNhbnQKLX0KLQotZG9faW5zdGFsbCAoKSB7Ci0JaW5zdGFsbCAtZCAke0R9JHtzYmluZGlyfQotCWluc3RhbGwgLW0gNzU1IHdwYV9zdXBwbGljYW50L3dwYV9zdXBwbGljYW50ICR7RH0ke3NiaW5kaXJ9Ci0JaW5zdGFsbCAtbSA3NTUgd3BhX3N1cHBsaWNhbnQvd3BhX2NsaSAgICAgICAgJHtEfSR7c2JpbmRpcn0KLQotCWluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQotCWluc3RhbGwgLW0gNzU1IHdwYV9zdXBwbGljYW50L3dwYV9wYXNzcGhyYXNlICR7RH0ke2JpbmRpcn0KLQotCWluc3RhbGwgLWQgJHtEfSR7ZG9jZGlyfS93cGFfc3VwcGxpY2FudAotCWluc3RhbGwgLW0gNjQ0IHdwYV9zdXBwbGljYW50L1JFQURNRSAke1dPUktESVJ9L3dwYV9zdXBwbGljYW50LmNvbmYgJHtEfSR7ZG9jZGlyfS93cGFfc3VwcGxpY2FudAotCi0JaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfQotCWluc3RhbGwgLW0gNjAwICR7V09SS0RJUn0vd3BhX3N1cHBsaWNhbnQuY29uZi1zYW5lICR7RH0ke3N5c2NvbmZkaXJ9L3dwYV9zdXBwbGljYW50LmNvbmYKLQotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vbmV0d29yay9pZi1wcmUtdXAuZC8KLQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L25ldHdvcmsvaWYtcG9zdC1kb3duLmQvCi0JaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9uZXR3b3JrL2lmLWRvd24uZC8KLQlpbnN0YWxsIC1tIDc1NSAke1dPUktESVJ9L3dwYS1zdXBwbGljYW50LnNoICR7RH0ke3N5c2NvbmZkaXJ9L25ldHdvcmsvaWYtcHJlLXVwLmQvd3BhLXN1cHBsaWNhbnQKLQljZCAke0R9JHtzeXNjb25mZGlyfS9uZXR3b3JrLyAmJiBcCi0JbG4gLXNmIC4uL2lmLXByZS11cC5kL3dwYS1zdXBwbGljYW50IGlmLXBvc3QtZG93bi5kL3dwYS1zdXBwbGljYW50Ci0KLQlpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9kYnVzLTEvc3lzdGVtLmQKLQlpbnN0YWxsIC1tIDY0NCAke1N9L3dwYV9zdXBwbGljYW50L2RidXMvZGJ1cy13cGFfc3VwcGxpY2FudC5jb25mICR7RH0vJHtzeXNjb25mZGlyfS9kYnVzLTEvc3lzdGVtLmQKLQlpbnN0YWxsIC1kICR7RH0vJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLXNlcnZpY2VzCi0JaW5zdGFsbCAtbSA2NDQgJHtTfS93cGFfc3VwcGxpY2FudC9kYnVzLyouc2VydmljZSAke0R9LyR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS1zZXJ2aWNlcwotCi0JaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgotCQlpbnN0YWxsIC1kICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotCQlpbnN0YWxsIC1tIDY0NCAke1N9L3dwYV9zdXBwbGljYW50L3N5c3RlbWQvKi5zZXJ2aWNlICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotCWZpCi0KLQlpbnN0YWxsIC1kICR7RH0vZXRjL2RlZmF1bHQvdm9sYXRpbGVzCi0JaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vOTlfd3BhX3N1cHBsaWNhbnQgJHtEfS9ldGMvZGVmYXVsdC92b2xhdGlsZXMKLX0KLQotcGtnX3Bvc3RpbnN0X3dwYS1zdXBwbGljYW50ICgpIHsKLQkjIElmIHdlJ3JlIG9mZmxpbmUsIHdlIGRvbid0IG5lZWQgdG8gZG8gdGhpcy4KLQlpZiBbICJ4JEQiID0gIngiIF07IHRoZW4KLQkJa2lsbGFsbCAtcSAtSFVQIGRidXMtZGFlbW9uIHx8IHRydWUKLQlmaQotCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnRfMi43LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50XzIuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZTVmYTJiCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50XzIuNy5iYgpAQCAtMCwwICsxLDEwOSBAQAorU1VNTUFSWSA9ICJDbGllbnQgZm9yIFdpLUZpIFByb3RlY3RlZCBBY2Nlc3MgKFdQQSkiCitIT01FUEFHRSA9ICJodHRwOi8vdzEuZmkvd3BhX3N1cHBsaWNhbnQvIgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vdzEuZmkvc2VjdXJpdHkvIgorU0VDVElPTiA9ICJuZXR3b3JrIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hMzc5MWMyNzBhZDZiYjAyNjcwN2QxN2JmNzUwZTVlZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTE7ZW5kbGluZT01NjttZDU9NDk1Y2JjZTYwMDgyNTNkZTRiNGQ4ZjRjZGZhZTlmNGYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vd3BhX3N1cHBsaWNhbnQvd3BhX3N1cHBsaWNhbnQuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTEyO21kNT1hNTY4NzkwM2EzMWI4Njc5ZTZhMDZiM2FmYTVjODE5ZSIKK0RFUEVORFMgPSAiZGJ1cyBsaWJubCIKK1JSRUNPTU1FTkRTXyR7UE59ID0gIndwYS1zdXBwbGljYW50LXBhc3NwaHJhc2Ugd3BhLXN1cHBsaWNhbnQtY2xpIgorCitQQUNLQUdFQ09ORklHID8/PSAiZ251dGxzIgorUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIiwsZ251dGxzIGxpYmdjcnlwdCIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLCxvcGVuc3NsIgorCitpbmhlcml0IHBrZ2NvbmZpZyBzeXN0ZW1kCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJ3cGFfc3VwcGxpY2FudC5zZXJ2aWNlIHdwYV9zdXBwbGljYW50LW5sODAyMTFALnNlcnZpY2Ugd3BhX3N1cHBsaWNhbnQtd2lyZWRALnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCisKK1NSQ19VUkkgPSAiaHR0cDovL3cxLmZpL3JlbGVhc2VzL3dwYV9zdXBwbGljYW50LSR7UFZ9LnRhci5neiAgXAorICAgICAgICAgICBmaWxlOi8vZGVmY29uZmlnIFwKKyAgICAgICAgICAgZmlsZTovL3dwYS1zdXBwbGljYW50LnNoIFwKKyAgICAgICAgICAgZmlsZTovL3dwYV9zdXBwbGljYW50LmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vd3BhX3N1cHBsaWNhbnQuY29uZi1zYW5lIFwKKyAgICAgICAgICAgZmlsZTovLzk5X3dwYV9zdXBwbGljYW50IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtcmVwbGFjZS1zeXN0ZW1kLWluc3RhbGwtQWxpYXMtd2l0aC1XYW50ZWRCeS5wYXRjaCBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImE2ODUzOGZiNjI3NjZmNDBmODkwMTI1MDI2YzQyYzEwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc2ZWE2YjA2YjdhMmVhOGU2ZDllYjFhOTE2NjE2NmYxNjU2ZTZkNDhjNzUwODkxNGY1OTIxMDBjOTVjNzMwNzQiCisKK0NWRV9QUk9EVUNUID0gIndwYV9zdXBwbGljYW50IgorCitTID0gIiR7V09SS0RJUn0vd3BhX3N1cHBsaWNhbnQtJHtQVn0iCisKK1BBQ0tBR0VTX3ByZXBlbmQgPSAid3BhLXN1cHBsaWNhbnQtcGFzc3BocmFzZSB3cGEtc3VwcGxpY2FudC1jbGkgIgorRklMRVNfd3BhLXN1cHBsaWNhbnQtcGFzc3BocmFzZSA9ICIke2JpbmRpcn0vd3BhX3Bhc3NwaHJhc2UiCitGSUxFU193cGEtc3VwcGxpY2FudC1jbGkgPSAiJHtzYmluZGlyfS93cGFfY2xpIgorRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS1zZXJ2aWNlcy8qIgorQ09ORkZJTEVTXyR7UE59ICs9ICIke3N5c2NvbmZkaXJ9L3dwYV9zdXBwbGljYW50LmNvbmYiCisKK2RvX2NvbmZpZ3VyZSAoKSB7CisJJHtNQUtFfSAtQyB3cGFfc3VwcGxpY2FudCBjbGVhbgorCWluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2RlZmNvbmZpZyB3cGFfc3VwcGxpY2FudC8uY29uZmlnCisJCisJaWYgZWNobyAiJHtQQUNLQUdFQ09ORklHfSIgfCBncmVwIC1xdyAib3BlbnNzbCI7IHRoZW4KKyAgICAgICAgCXNzbD1vcGVuc3NsCisJZWxpZiBlY2hvICIke1BBQ0tBR0VDT05GSUd9IiB8IGdyZXAgLXF3ICJnbnV0bHMiOyB0aGVuCisgICAgICAgIAlzc2w9Z251dGxzCisJZmkKKwlpZiBbIC1uICIkc3NsIiBdOyB0aGVuCisgICAgICAgIAlzZWQgLWkgInMvJXNzbCUvJHNzbC8iIHdwYV9zdXBwbGljYW50Ly5jb25maWcKKwlmaQorCisJIyBGb3IgcmVidWlsZAorCXJtIC1mIHdwYV9zdXBwbGljYW50LyouZCB3cGFfc3VwcGxpY2FudC9kYnVzLyouZAorfQorCitleHBvcnQgRVhUUkFfQ0ZMQUdTID0gIiR7Q0ZMQUdTfSIKK2V4cG9ydCBCSU5ESVIgPSAiJHtzYmluZGlyfSIKKworZG9fY29tcGlsZSAoKSB7CisJdW5zZXQgQ0ZMQUdTIENQUEZMQUdTIENYWEZMQUdTCisJc2VkIC1lICJzOkNGTEFHU1wgPS4qOiYgXCQoRVhUUkFfQ0ZMQUdTKTpnIiAtaSAke1N9L3NyYy9saWIucnVsZXMKKwlvZV9ydW5tYWtlIC1DIHdwYV9zdXBwbGljYW50Cit9CisKK2RvX2luc3RhbGwgKCkgeworCWluc3RhbGwgLWQgJHtEfSR7c2JpbmRpcn0KKwlpbnN0YWxsIC1tIDc1NSB3cGFfc3VwcGxpY2FudC93cGFfc3VwcGxpY2FudCAke0R9JHtzYmluZGlyfQorCWluc3RhbGwgLW0gNzU1IHdwYV9zdXBwbGljYW50L3dwYV9jbGkgICAgICAgICR7RH0ke3NiaW5kaXJ9CisKKwlpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKwlpbnN0YWxsIC1tIDc1NSB3cGFfc3VwcGxpY2FudC93cGFfcGFzc3BocmFzZSAke0R9JHtiaW5kaXJ9CisKKwlpbnN0YWxsIC1kICR7RH0ke2RvY2Rpcn0vd3BhX3N1cHBsaWNhbnQKKwlpbnN0YWxsIC1tIDY0NCB3cGFfc3VwcGxpY2FudC9SRUFETUUgJHtXT1JLRElSfS93cGFfc3VwcGxpY2FudC5jb25mICR7RH0ke2RvY2Rpcn0vd3BhX3N1cHBsaWNhbnQKKworCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0KKwlpbnN0YWxsIC1tIDYwMCAke1dPUktESVJ9L3dwYV9zdXBwbGljYW50LmNvbmYtc2FuZSAke0R9JHtzeXNjb25mZGlyfS93cGFfc3VwcGxpY2FudC5jb25mCisKKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L25ldHdvcmsvaWYtcHJlLXVwLmQvCisJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9uZXR3b3JrL2lmLXBvc3QtZG93bi5kLworCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vbmV0d29yay9pZi1kb3duLmQvCisJaW5zdGFsbCAtbSA3NTUgJHtXT1JLRElSfS93cGEtc3VwcGxpY2FudC5zaCAke0R9JHtzeXNjb25mZGlyfS9uZXR3b3JrL2lmLXByZS11cC5kL3dwYS1zdXBwbGljYW50CisJY2QgJHtEfSR7c3lzY29uZmRpcn0vbmV0d29yay8gJiYgXAorCWxuIC1zZiAuLi9pZi1wcmUtdXAuZC93cGEtc3VwcGxpY2FudCBpZi1wb3N0LWRvd24uZC93cGEtc3VwcGxpY2FudAorCisJaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vZGJ1cy0xL3N5c3RlbS5kCisJaW5zdGFsbCAtbSA2NDQgJHtTfS93cGFfc3VwcGxpY2FudC9kYnVzL2RidXMtd3BhX3N1cHBsaWNhbnQuY29uZiAke0R9LyR7c3lzY29uZmRpcn0vZGJ1cy0xL3N5c3RlbS5kCisJaW5zdGFsbCAtZCAke0R9LyR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS1zZXJ2aWNlcworCWluc3RhbGwgLW0gNjQ0ICR7U30vd3BhX3N1cHBsaWNhbnQvZGJ1cy8qLnNlcnZpY2UgJHtEfS8ke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0tc2VydmljZXMKKworCWlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KKwkJaW5zdGFsbCAtZCAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKwkJaW5zdGFsbCAtbSA2NDQgJHtTfS93cGFfc3VwcGxpY2FudC9zeXN0ZW1kLyouc2VydmljZSAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKwlmaQorCisJaW5zdGFsbCAtZCAke0R9L2V0Yy9kZWZhdWx0L3ZvbGF0aWxlcworCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9Lzk5X3dwYV9zdXBwbGljYW50ICR7RH0vZXRjL2RlZmF1bHQvdm9sYXRpbGVzCit9CisKK3BrZ19wb3N0aW5zdF93cGEtc3VwcGxpY2FudCAoKSB7CisJIyBJZiB3ZSdyZSBvZmZsaW5lLCB3ZSBkb24ndCBuZWVkIHRvIGRvIHRoaXMuCisJaWYgWyAieCREIiA9ICJ4IiBdOyB0aGVuCisJCWtpbGxhbGwgLXEgLUhVUCBkYnVzLWRhZW1vbiB8fCB0cnVlCisJZmkKKworfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9iYXNlLWZpbGVzL2Jhc2UtZmlsZXMvZmlsZXN5c3RlbXMgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Jhc2UtZmlsZXMvYmFzZS1maWxlcy9maWxlc3lzdGVtcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2U2YzQxYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Jhc2UtZmlsZXMvYmFzZS1maWxlcy9maWxlc3lzdGVtcworKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotZXh0NAotZXh0MwotZXh0MgotdmZhdAotZmF0Ci1idHJmcwotbWluaXgKLSoKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmV0YmFzZS9uZXRiYXNlL2hvc3RzIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9iYXNlLWZpbGVzL2Jhc2UtZmlsZXMvaG9zdHMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmV0YmFzZS9uZXRiYXNlL2hvc3RzCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Jhc2UtZmlsZXMvYmFzZS1maWxlcy9ob3N0cwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9iYXNlLWZpbGVzL2Jhc2UtZmlsZXNfMy4wLjE0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9iYXNlLWZpbGVzL2Jhc2UtZmlsZXNfMy4wLjE0LmJiCmluZGV4IDZlNzU2NTIuLmExNjM5ZGIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYmFzZS1maWxlcy9iYXNlLWZpbGVzXzMuMC4xNC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Jhc2UtZmlsZXMvYmFzZS1maWxlc18zLjAuMTQuYmIKQEAgLTEzLDExICsxMywxMSBAQAogU1JDX1VSSSA9ICJmaWxlOi8vcm90YXRpb24gXAogICAgICAgICAgICBmaWxlOi8vbnNzd2l0Y2guY29uZiBcCiAgICAgICAgICAgIGZpbGU6Ly9tb3RkIFwKKyAgICAgICAgICAgZmlsZTovL2hvc3RzIFwKICAgICAgICAgICAgZmlsZTovL2hvc3QuY29uZiBcCiAgICAgICAgICAgIGZpbGU6Ly9wcm9maWxlIFwKICAgICAgICAgICAgZmlsZTovL3NoZWxscyBcCiAgICAgICAgICAgIGZpbGU6Ly9mc3RhYiBcCi0gICAgICAgICAgIGZpbGU6Ly9maWxlc3lzdGVtcyBcCiAgICAgICAgICAgIGZpbGU6Ly9pc3N1ZS5uZXQgXAogICAgICAgICAgICBmaWxlOi8vaXNzdWUgXAogICAgICAgICAgICBmaWxlOi8vdXNiZCBcCkBAIC0xMTMsNiArMTEzLDcgQEAKIAlsbiAtc25mIC4uL3J1biAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4KIAlsbiAtc25mIC4uL3J1bi9sb2NrICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xvY2sKIAorCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2hvc3RzICR7RH0ke3N5c2NvbmZkaXJ9L2hvc3RzCiAJJHtCQVNFRklMRVNJU1NVRUlOU1RBTEx9CiAKIAlyb3RhdGlvbj1gY2F0ICR7V09SS0RJUn0vcm90YXRpb25gCkBAIC0xMjEsNyArMTIyLDYgQEAKIAlmaQogCiAJaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZnN0YWIgJHtEfSR7c3lzY29uZmRpcn0vZnN0YWIKLQlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9maWxlc3lzdGVtcyAke0R9JHtzeXNjb25mZGlyfS9maWxlc3lzdGVtcwogCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3VzYmQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC91c2JkCiAJaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vcHJvZmlsZSAke0R9JHtzeXNjb25mZGlyfS9wcm9maWxlCiAJc2VkIC1pICdzI1JPT1RIT01FIyR7Uk9PVF9IT01FfSMnICR7RH0ke3N5c2NvbmZkaXJ9L3Byb2ZpbGUKQEAgLTE0MCw2ICsxNDAsNyBAQAogZG9faW5zdGFsbF9iYXNlZmlsZXNpc3N1ZSAoKSB7CiAJaWYgWyAiJHtob3N0bmFtZX0iIF07IHRoZW4KIAkJZWNobyAke2hvc3RuYW1lfSA+ICR7RH0ke3N5c2NvbmZkaXJ9L2hvc3RuYW1lCisJCWVjaG8gIjEyNy4wLjEuMSAke2hvc3RuYW1lfSIgPj4gJHtEfSR7c3lzY29uZmRpcn0vaG9zdHMKIAlmaQogCiAJaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9pc3N1ZSogICR7RH0ke3N5c2NvbmZkaXJ9CkBAIC0xNDcsNyArMTQ4LDcgQEAKIAkJcHJpbnRmICIke0RJU1RST19OQU1FfSAiID4+ICR7RH0ke3N5c2NvbmZkaXJ9L2lzc3VlCiAJCXByaW50ZiAiJHtESVNUUk9fTkFNRX0gIiA+PiAke0R9JHtzeXNjb25mZGlyfS9pc3N1ZS5uZXQKIAkJaWYgWyAtbiAiJHtESVNUUk9fVkVSU0lPTn0iIF07IHRoZW4KLQkJCWRpc3Ryb192ZXJzaW9uX25vZGF0ZT0ke0AnJHtESVNUUk9fVkVSU0lPTn0nLnJlcGxhY2UoJ3NuYXBzaG90LSR7REFURX0nLCdzbmFwc2hvdCcpLnJlcGxhY2UoJyR7REFURX0nLCcnKX0KKwkJCWRpc3Ryb192ZXJzaW9uX25vZGF0ZT0iJHtAZC5nZXRWYXIoJ0RJU1RST19WRVJTSU9OJykucmVwbGFjZSgnc25hcHNob3QtJHtEQVRFfScsJ3NuYXBzaG90JykucmVwbGFjZSgnJHtEQVRFfScsJycpfSIKIAkJCXByaW50ZiAiJXMgIiAkZGlzdHJvX3ZlcnNpb25fbm9kYXRlID4+ICR7RH0ke3N5c2NvbmZkaXJ9L2lzc3VlCiAJCQlwcmludGYgIiVzICIgJGRpc3Ryb192ZXJzaW9uX25vZGF0ZSA+PiAke0R9JHtzeXNjb25mZGlyfS9pc3N1ZS5uZXQKIAkJZmkKQEAgLTE3Nyw1ICsxNzgsNSBAQAogCiBQQUNLQUdFX0FSQ0ggPSAiJHtNQUNISU5FX0FSQ0h9IgogCi1DT05GRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfS9mc3RhYiAke0BbJycsICcke3N5c2NvbmZkaXJ9L2hvc3RuYW1lJ11bKGQuZ2V0VmFyKCdob3N0bmFtZScpICE9ICcnKV19ICR7c3lzY29uZmRpcn0vc2hlbGxzIgorQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vZnN0YWIgJHtAWycnLCAnJHtzeXNjb25mZGlyfS9ob3N0bmFtZSAke3N5c2NvbmZkaXJ9L2hvc3RzJ11bKGQuZ2V0VmFyKCdob3N0bmFtZScpICE9ICcnKV19ICR7c3lzY29uZmRpcn0vc2hlbGxzIgogQ09ORkZJTEVTXyR7UE59ICs9ICIke3N5c2NvbmZkaXJ9L21vdGQgJHtzeXNjb25mZGlyfS9uc3N3aXRjaC5jb25mICR7c3lzY29uZmRpcn0vcHJvZmlsZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9idXN5Ym94LWluaXR0YWJfMS4yOS4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9idXN5Ym94L2J1c3lib3gtaW5pdHRhYl8xLjMwLjEuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9idXN5Ym94LWluaXR0YWJfMS4yOS4zLmJiCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvYnVzeWJveC1pbml0dGFiXzEuMzAuMS5iYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9idXN5Ym94L2J1c3lib3guaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9idXN5Ym94L2J1c3lib3guaW5jCmluZGV4IDBjMGQyNmUuLmM5ZDI1ZmYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9idXN5Ym94LmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvYnVzeWJveC5pbmMKQEAgLTUzLDYgKzUzLDkgQEAKIAogaW5oZXJpdCBjbWwxIHN5c3RlbWQgdXBkYXRlLXJjLmQgcHRlc3QKIAorIyBidXN5Ym94J3MgdW56aXAgdGVzdCBjYXNlIG5lZWRzIHppcCBjb21tYW5kLCB3aGljaCBidXN5Ym94IGl0c2VsZiBkb2VzIG5vdCBwcm92aWRlCitSREVQRU5EU18ke1BOfS1wdGVzdCA9ICJ6aXAiCisKICMgaW50ZXJuYWwgaGVscGVyCiBkZWYgYnVzeWJveF9jZmcoZmVhdHVyZSwgdG9rZW5zLCBjbmYsIHJlbSk6CiAgICAgaWYgdHlwZSh0b2tlbnMpID09IHR5cGUoIiIpOgpAQCAtNzIsOCArNzUsNyBAQAogICAgIGJ1c3lib3hfY2ZnKGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbmxzJywgVHJ1ZSwgRmFsc2UsIGQpLCAnQ09ORklHX0xPQ0FMRV9TVVBQT1JUJywgY25mLCByZW0pCiAgICAgYnVzeWJveF9jZmcoYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdpcHY0JywgVHJ1ZSwgRmFsc2UsIGQpLCAnQ09ORklHX0ZFQVRVUkVfSUZVUERPV05fSVBWNCcsIGNuZiwgcmVtKQogICAgIGJ1c3lib3hfY2ZnKGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsIFRydWUsIEZhbHNlLCBkKSwgJ0NPTkZJR19GRUFUVVJFX0lGVVBET1dOX0lQVjYnLCBjbmYsIHJlbSkKLSAgICBidXN5Ym94X2NmZyhiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3dpZmknLCBUcnVlLCBGYWxzZSwgZCksICdDT05GSUdfUkZLSUxMJywgY25mLCByZW0pCi0gICAgYnVzeWJveF9jZmcoYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdibHVldG9vdGgnLCBUcnVlLCBGYWxzZSwgZCksICdDT05GSUdfUkZLSUxMJywgY25mLCByZW0pCisgICAgYnVzeWJveF9jZmcoYmIudXRpbHMuY29udGFpbnNfYW55KCdESVNUUk9fRkVBVFVSRVMnLCAnYmx1ZXRvb3RoIHdpZmknLCBUcnVlLCBGYWxzZSwgZCksICdDT05GSUdfUkZLSUxMJywgY25mLCByZW0pCiAgICAgcmV0dXJuICJcbiIuam9pbihjbmYpLCAiXG4iLmpvaW4ocmVtKQogCiAjIFgsIFkgPSAke0BmZWF0dXJlc190b19idXN5Ym94X3NldHRpbmdzKGQpfQpAQCAtMzQ5LDYgKzM1MSwyMCBAQAogCWNwIC1yICR7Qn0vdGVzdHN1aXRlICR7RH0ke1BURVNUX1BBVEh9LwogCWNwICR7Qn0vLmNvbmZpZyAgICAgICR7RH0ke1BURVNUX1BBVEh9LwogCWxuIC1zIC9iaW4vYnVzeWJveCAgICR7RH0ke1BURVNUX1BBVEh9L2J1c3lib3gKKworCW1rZGlyICR7RH0ke1BURVNUX1BBVEh9L2JpbgorCWlmIFsgIiR7QlVTWUJPWF9TUExJVF9TVUlEfSIgPSAiMSIgXTsgdGhlbgorCQl3aGlsZSByZWFkIGxpbms7IGRvCisJCQlsbiAtcyAke2Jhc2VfYmluZGlyfS9idXN5Ym94LnN1aWQgJHtEfSR7UFRFU1RfUEFUSH0vYmluLyQoYmFzZW5hbWUgJGxpbmspCisJCWRvbmUgPCR7RH0ke3N5c2NvbmZkaXJ9L2J1c3lib3gubGlua3Muc3VpZAorCQl3aGlsZSByZWFkIGxpbms7IGRvCisJCQlsbiAtcyAke2Jhc2VfYmluZGlyfS9idXN5Ym94Lm5vc3VpZCAke0R9JHtQVEVTVF9QQVRIfS9iaW4vJChiYXNlbmFtZSAkbGluaykKKwkJZG9uZSA8JHtEfSR7c3lzY29uZmRpcn0vYnVzeWJveC5saW5rcy5ub3N1aWQKKwllbHNlCisJCXdoaWxlIHJlYWQgbGluazsgZG8KKwkJCWxuIC1zICR7YmFzZV9iaW5kaXJ9L2J1c3lib3ggJHtEfSR7UFRFU1RfUEFUSH0vYmluLyQoYmFzZW5hbWUgJGxpbmspCisJCWRvbmUgPCR7RH0ke3N5c2NvbmZkaXJ9L2J1c3lib3gubGlua3MKKwlmaQogfQogCiBpbmhlcml0IHVwZGF0ZS1hbHRlcm5hdGl2ZXMKQEAgLTQ1NSw0ICs0NzEsNCBAQAogCWZpCiB9CiAKLVJQUk9WSURFU18ke1BOfSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd1c3JtZXJnZScsICcvYmluL3NoJywgJycsIGQpfSIKK1JQUk9WSURFU18ke1BOfSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd1c3JtZXJnZScsICcvYmluL3NoIC9iaW4vYXNoJywgJycsIGQpfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9idXN5Ym94LzAwMDEtZHUtbC13b3Jrcy1maXgtdG8tdXNlLTE0NS1pbnN0ZWFkLW9mLTE0NC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9idXN5Ym94LzAwMDEtZHUtbC13b3Jrcy1maXgtdG8tdXNlLTE0NS1pbnN0ZWFkLW9mLTE0NC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjVmNzUzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9idXN5Ym94L2J1c3lib3gvMDAwMS1kdS1sLXdvcmtzLWZpeC10by11c2UtMTQ1LWluc3RlYWQtb2YtMTQ0LnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK0Zyb20gYzY5ZmViMmZkYjc1NWQ2ZGIzNGQwZWIwYTllOTk5NDM4NmMxNWUzYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IFdlZCwgMTQgTm92IDIwMTggMTU6MTk6NTcgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gZHUtbC13b3JrczogZml4IHRvIHVzZSAxNDUgaW5zdGVhZCBvZiAxNDQKKworNjQgKyA2NCArIDE2ID0gMTQ0CisxNDQgKyBzaXplX29mX2RpcmVjdG9yeSA+PSAxNDUKK1NvIGZpeCB0byB1c2UgMTQ1IGluc3RlYWQgb2YgMTQ0LgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cDovL2xpc3RzLmJ1c3lib3gubmV0L3BpcGVybWFpbC9idXN5Ym94LzIwMTgtTm92ZW1iZXIvMDg2ODM2Lmh0bWxdCisKK1NpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KKy0tLQorIHRlc3RzdWl0ZS9kdS9kdS1sLXdvcmtzIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvdGVzdHN1aXRlL2R1L2R1LWwtd29ya3MgYi90ZXN0c3VpdGUvZHUvZHUtbC13b3JrcworaW5kZXggYWY4NzM0NS4uNTc1MDY0YSAxMDA2NDQKKy0tLSBhL3Rlc3RzdWl0ZS9kdS9kdS1sLXdvcmtzCisrKysgYi90ZXN0c3VpdGUvZHUvZHUtbC13b3JrcworQEAgLTUsNyArNSw3IEBAIGNkIGR1LnRlc3RkaXIKKyBkZCBpZj0vZGV2L3plcm8gb2Y9ZmlsZTEgYnM9MWsgY291bnQ9NjQgMj4vZGV2L251bGwKKyBsbiBmaWxlMSBmaWxlMS4xCisgZGQgaWY9L2Rldi96ZXJvIG9mPWZpbGUyIGJzPTFrIGNvdW50PTE2IDI+L2Rldi9udWxsCistdGVzdCB4ImBidXN5Ym94IGR1IC1sIC5gIiA9IHgiMTQ0CS4iIFwKKyt0ZXN0IHgiYGJ1c3lib3ggZHUgLWwgLmAiID0geCIxNDUJLiIgXAorICAgLW8geCJgYnVzeWJveCBkdSAtbCAuYCIgPSB4IjE0NgkuIiBcCisgICAtbyB4ImBidXN5Ym94IGR1IC1sIC5gIiA9IHgiMTQ4CS4iIFwKKyAgIC1vIHgiYGJ1c3lib3ggZHUgLWwgLmAiID0geCIxNTIJLiIgXAorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvYnVzeWJveC8wMDAxLXRlc3RzdWl0ZS1jaGVjay11dWRlY29kZS1iZWZvcmUtdXNpbmctaXQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvYnVzeWJveC8wMDAxLXRlc3RzdWl0ZS1jaGVjay11dWRlY29kZS1iZWZvcmUtdXNpbmctaXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjU0NzJmMAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9idXN5Ym94LzAwMDEtdGVzdHN1aXRlLWNoZWNrLXV1ZGVjb2RlLWJlZm9yZS11c2luZy1pdC5wYXRjaApAQCAtMCwwICsxLDQ1IEBACitGcm9tIDg1ZjE2NGVjNDI3ZmVjYmFlMjQxNDBiM2M5M2FjYmJlMmJhMWM4MTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDEzIE5vdiAyMDE4IDExOjI3OjAxICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIHRlc3RzdWl0ZTogY2hlY2sgdXVkZWNvZGUgYmVmb3JlIHVzaW5nIGl0CisKK1RoZSB1bnppcCBhbmQgdGFyIHRlc3QgY2FzZXMgdXNlIHV1ZGVjb2RlIGNvbW1hbmQsIHNvIGFsc28KK2NoZWNrIGl0IHZpYSBvcHRpb25hbCBmdW5jdGlvbi4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHA6Ly9saXN0cy5idXN5Ym94Lm5ldC9waXBlcm1haWwvYnVzeWJveC8yMDE4LU5vdmVtYmVyLzA4NjgzMy5odG1sXQorCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyB0ZXN0c3VpdGUvdGFyLnRlc3RzICAgfCAyICstCisgdGVzdHN1aXRlL3VuemlwLnRlc3RzIHwgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdGVzdHN1aXRlL3Rhci50ZXN0cyBiL3Rlc3RzdWl0ZS90YXIudGVzdHMKK2luZGV4IGQ3MWEzNDkuLjhjODg1NjcgMTAwNzU1CistLS0gYS90ZXN0c3VpdGUvdGFyLnRlc3RzCisrKysgYi90ZXN0c3VpdGUvdGFyLnRlc3RzCitAQCAtMzM2LDcgKzMzNiw3IEBAIFNLSVA9CisgY2QgLi4gfHwgZXhpdCAxOyBybSAtcmYgdGFyLnRlbXBkaXIgMj4vZGV2L251bGwKKyAKKyBta2RpciB0YXIudGVtcGRpciAmJiBjZCB0YXIudGVtcGRpciB8fCBleGl0IDEKKy1vcHRpb25hbCBGRUFUVVJFX1NFQU1MRVNTX0JaMiBGRUFUVVJFX1RBUl9BVVRPREVURUNUIExTCisrb3B0aW9uYWwgRkVBVFVSRV9TRUFNTEVTU19CWjIgRkVBVFVSRV9UQVJfQVVUT0RFVEVDVCBMUyBVVURFQ09ERQorIHRlc3RpbmcgIlN5bWxpbmsgYXR0YWNrOiBjcmVhdGUgc3ltbGluayBhbmQgdGhlbiB3cml0ZSB0aHJvdWdoIGl0IiAnXAorIGV4ZWMgMj4mMQorIHV1ZGVjb2RlIC1vIGlucHV0ICYmIHRhciB4dmYgaW5wdXQ7IGVjaG8gJD8KK2RpZmYgLS1naXQgYS90ZXN0c3VpdGUvdW56aXAudGVzdHMgYi90ZXN0c3VpdGUvdW56aXAudGVzdHMKK2luZGV4IGFmNTNkZTkuLjNiNDVlY2UgMTAwNzU1CistLS0gYS90ZXN0c3VpdGUvdW56aXAudGVzdHMKKysrKyBiL3Rlc3RzdWl0ZS91bnppcC50ZXN0cworQEAgLTMxLDcgKzMxLDcgQEAgcm1kaXIgZm9vCisgcm0gZm9vLnppcAorIAorICMgRmlsZSBjb250YWluaW5nIHNvbWUgZGFtYWdlZCBlbmNyeXB0ZWQgc3RyZWFtCistb3B0aW9uYWwgRkVBVFVSRV9VTlpJUF9DREYgQ09ORklHX1VOSUNPREVfU1VQUE9SVAorK29wdGlvbmFsIEZFQVRVUkVfVU5aSVBfQ0RGIENPTkZJR19VTklDT0RFX1NVUFBPUlQgVVVERUNPREUKKyB0ZXN0aW5nICJ1bnppcCAoYmFkIGFyY2hpdmUpIiAidXVkZWNvZGU7IHVuemlwIGJhZC56aXAgMj4mMTsgZWNobyBcJD8iIFwKKyAiQXJjaGl2ZTogIGJhZC56aXAKKyAgIGluZmxhdGluZzogXTNqwr1ywqtJPz9LLSVJeAorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvYnVzeWJveC8wMDAxLXRlc3RzdWl0ZS11c2Utd3d3LmV4YW1wbGUub3JnLWZvci13Z2V0LXRlc3QtY2FzZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvYnVzeWJveC8wMDAxLXRlc3RzdWl0ZS11c2Utd3d3LmV4YW1wbGUub3JnLWZvci13Z2V0LXRlc3QtY2FzZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2JhMGY3NwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9idXN5Ym94LzAwMDEtdGVzdHN1aXRlLXVzZS13d3cuZXhhbXBsZS5vcmctZm9yLXdnZXQtdGVzdC1jYXNlcy5wYXRjaApAQCAtMCwwICsxLDYyIEBACitGcm9tIDAzYWNmNDYwOTkwZGZjZjZlNTJiMjk4MzAxYjM0OGI5NTA0NDYwYTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDEzIE5vdiAyMDE4IDEzOjUxOjQyICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIHRlc3RzdWl0ZTogdXNlIHd3dy5leGFtcGxlLm9yZyBmb3Igd2dldCB0ZXN0IGNhc2VzCisKK1VzZSBleGFtcGxlLm9yZyBpbnN0ZWFkIG9mIGdvb2dsZS5jb20gdG8gbWFrZSBzdXJlIGl0J3MKK2Fsd2F5cyByZWFjaGlibGUuCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwOi8vbGlzdHMuYnVzeWJveC5uZXQvcGlwZXJtYWlsL2J1c3lib3gvMjAxOC1Ob3ZlbWJlci8wODY4MzUuaHRtbF0KKworU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgdGVzdHN1aXRlL3dnZXQvd2dldC0tTy1vdmVycmlkZXMtLVAgICAgICAgIHwgMiArLQorIHRlc3RzdWl0ZS93Z2V0L3dnZXQtaGFuZGxlcy1lbXB0eS1wYXRoICAgICB8IDIgKy0KKyB0ZXN0c3VpdGUvd2dldC93Z2V0LXJldHJpZXZlcy1nb29nbGUtaW5kZXggfCAyICstCisgdGVzdHN1aXRlL3dnZXQvd2dldC1zdXBwb3J0cy0tUCAgICAgICAgICAgIHwgMiArLQorIDQgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdGVzdHN1aXRlL3dnZXQvd2dldC0tTy1vdmVycmlkZXMtLVAgYi90ZXN0c3VpdGUvd2dldC93Z2V0LS1PLW92ZXJyaWRlcy0tUAoraW5kZXggNDBhM2E5Ni4uNDkwZDc0MyAxMDA2NDQKKy0tLSBhL3Rlc3RzdWl0ZS93Z2V0L3dnZXQtLU8tb3ZlcnJpZGVzLS1QCisrKysgYi90ZXN0c3VpdGUvd2dldC93Z2V0LS1PLW92ZXJyaWRlcy0tUAorQEAgLTEsNSArMSw1IEBACisgdGVzdCB4IiRTS0lQX0lOVEVSTkVUX1RFU1RTIiAhPSB4IiIgJiYgZXhpdAorIAorIG1rZGlyIGZvbworLWJ1c3lib3ggd2dldCAtcSAtTyBpbmRleC5odG1sIC1QIGZvbyBodHRwOi8vd3d3Lmdvb2dsZS5jb20vCisrYnVzeWJveCB3Z2V0IC1xIC1PIGluZGV4Lmh0bWwgLVAgZm9vIGh0dHA6Ly93d3cuZXhhbXBsZS5vcmcvCisgdGVzdCAtcyBpbmRleC5odG1sCitkaWZmIC0tZ2l0IGEvdGVzdHN1aXRlL3dnZXQvd2dldC1oYW5kbGVzLWVtcHR5LXBhdGggYi90ZXN0c3VpdGUvd2dldC93Z2V0LWhhbmRsZXMtZW1wdHktcGF0aAoraW5kZXggMDFkNjBiZC4uMTgwMmRiNiAxMDA2NDQKKy0tLSBhL3Rlc3RzdWl0ZS93Z2V0L3dnZXQtaGFuZGxlcy1lbXB0eS1wYXRoCisrKysgYi90ZXN0c3VpdGUvd2dldC93Z2V0LWhhbmRsZXMtZW1wdHktcGF0aAorQEAgLTEsMyArMSwzIEBACisgdGVzdCB4IiRTS0lQX0lOVEVSTkVUX1RFU1RTIiAhPSB4IiIgJiYgZXhpdAorIAorLWJ1c3lib3ggd2dldCBodHRwOi8vd3d3Lmdvb2dsZS5jb20KKytidXN5Ym94IHdnZXQgaHR0cDovL3d3dy5leGFtcGxlLm9yZworZGlmZiAtLWdpdCBhL3Rlc3RzdWl0ZS93Z2V0L3dnZXQtcmV0cmlldmVzLWdvb2dsZS1pbmRleCBiL3Rlc3RzdWl0ZS93Z2V0L3dnZXQtcmV0cmlldmVzLWdvb2dsZS1pbmRleAoraW5kZXggZjlkYmI4Yi4uZmM4MDFkNCAxMDA2NDQKKy0tLSBhL3Rlc3RzdWl0ZS93Z2V0L3dnZXQtcmV0cmlldmVzLWdvb2dsZS1pbmRleAorKysrIGIvdGVzdHN1aXRlL3dnZXQvd2dldC1yZXRyaWV2ZXMtZ29vZ2xlLWluZGV4CitAQCAtMSw0ICsxLDQgQEAKKyB0ZXN0IHgiJFNLSVBfSU5URVJORVRfVEVTVFMiICE9IHgiIiAmJiBleGl0CisgCistYnVzeWJveCB3Z2V0IC1xIC1PIGZvbyBodHRwOi8vd3d3Lmdvb2dsZS5jb20vCisrYnVzeWJveCB3Z2V0IC1xIC1PIGZvbyBodHRwOi8vd3d3LmV4YW1wbGUub3JnLworIHRlc3QgLXMgZm9vCitkaWZmIC0tZ2l0IGEvdGVzdHN1aXRlL3dnZXQvd2dldC1zdXBwb3J0cy0tUCBiL3Rlc3RzdWl0ZS93Z2V0L3dnZXQtc3VwcG9ydHMtLVAKK2luZGV4IGJmZTRhYzQuLjRmZjJmZTAgMTAwNjQ0CistLS0gYS90ZXN0c3VpdGUvd2dldC93Z2V0LXN1cHBvcnRzLS1QCisrKysgYi90ZXN0c3VpdGUvd2dldC93Z2V0LXN1cHBvcnRzLS1QCitAQCAtMSw1ICsxLDUgQEAKKyB0ZXN0IHgiJFNLSVBfSU5URVJORVRfVEVTVFMiICE9IHgiIiAmJiBleGl0CisgCisgbWtkaXIgZm9vCistYnVzeWJveCB3Z2V0IC1xIC1QIGZvbyBodHRwOi8vd3d3Lmdvb2dsZS5jb20vCisrYnVzeWJveCB3Z2V0IC1xIC1QIGZvbyBodHRwOi8vd3d3LmV4YW1wbGUub3JnLworIHRlc3QgLXMgZm9vL2luZGV4Lmh0bWwKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9idXN5Ym94L2J1c3lib3gvZGVmY29uZmlnIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9idXN5Ym94L2J1c3lib3gvZGVmY29uZmlnCmluZGV4IDMyMjEzYzAuLjQ5M2RiMjggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9idXN5Ym94L2RlZmNvbmZpZworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvYnVzeWJveC9kZWZjb25maWcKQEAgLTEsNyArMSw3IEBACiAjCiAjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0Ci0jIEJ1c3lib3ggdmVyc2lvbjogMS4yOS4xCi0jIFRodSBKdWwgMTkgMTE6MDk6NDYgMjAxOAorIyBCdXN5Ym94IHZlcnNpb246IDEuMzAuMQorIyBTdW4gRmViIDE3IDE4OjEyOjI3IDIwMTkKICMKIENPTkZJR19IQVZFX0RPVF9DT05GSUc9eQogCkBAIC0xMiwyOSArMTIsMjkgQEAKICMgQ09ORklHX0VYVFJBX0NPTVBBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19GRURPUkFfQ09NUEFUIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOQ0xVREVfU1VTdjIgaXMgbm90IHNldAotIyBDT05GSUdfVVNFX1BPUlRBQkxFX0NPREUgaXMgbm90IHNldAorQ09ORklHX0xPTkdfT1BUUz15CiBDT05GSUdfU0hPV19VU0FHRT15CiAjIENPTkZJR19GRUFUVVJFX1ZFUkJPU0VfVVNBR0UgaXMgbm90IHNldAogQ09ORklHX0ZFQVRVUkVfQ09NUFJFU1NfVVNBR0U9eQotQ09ORklHX0JVU1lCT1g9eQotIyBDT05GSUdfRkVBVFVSRV9JTlNUQUxMRVIgaXMgbm90IHNldAotIyBDT05GSUdfSU5TVEFMTF9OT19VU1IgaXMgbm90IHNldAorQ09ORklHX0xGUz15CiAjIENPTkZJR19QQU0gaXMgbm90IHNldAotQ09ORklHX0xPTkdfT1BUUz15CiBDT05GSUdfRkVBVFVSRV9ERVZQVFM9eQotIyBDT05GSUdfRkVBVFVSRV9DTEVBTl9VUCBpcyBub3Qgc2V0CiBDT05GSUdfRkVBVFVSRV9VVE1QPXkKICMgQ09ORklHX0ZFQVRVUkVfV1RNUCBpcyBub3Qgc2V0CiBDT05GSUdfRkVBVFVSRV9QSURGSUxFPXkKIENPTkZJR19QSURfRklMRV9QQVRIPSIvdmFyL3J1biIKK0NPTkZJR19CVVNZQk9YPXkKKyMgQ09ORklHX0ZFQVRVUkVfU0hPV19TQ1JJUFQgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9JTlNUQUxMRVIgaXMgbm90IHNldAorIyBDT05GSUdfSU5TVEFMTF9OT19VU1IgaXMgbm90IHNldAogQ09ORklHX0ZFQVRVUkVfU1VJRD15CiBDT05GSUdfRkVBVFVSRV9TVUlEX0NPTkZJRz15CiBDT05GSUdfRkVBVFVSRV9TVUlEX0NPTkZJR19RVUlFVD15Ci0jIENPTkZJR19TRUxJTlVYIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfUFJFRkVSX0FQUExFVFMgaXMgbm90IHNldAogQ09ORklHX0JVU1lCT1hfRVhFQ19QQVRIPSIvcHJvYy9zZWxmL2V4ZSIKKyMgQ09ORklHX1NFTElOVVggaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9DTEVBTl9VUCBpcyBub3Qgc2V0CiBDT05GSUdfRkVBVFVSRV9TWVNMT0c9eQotIyBDT05GSUdfRkVBVFVSRV9IQVZFX1JQQyBpcyBub3Qgc2V0CiBDT05GSUdfUExBVEZPUk1fTElOVVg9eQogCiAjCkBAIC00NCwxNCArNDQsMTYgQEAKICMgQ09ORklHX1BJRSBpcyBub3Qgc2V0CiAjIENPTkZJR19OT01NVSBpcyBub3Qgc2V0CiAjIENPTkZJR19CVUlMRF9MSUJCVVNZQk9YIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfTElCQlVTWUJPWF9TVEFUSUMgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9JTkRJVklEVUFMIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfU0hBUkVEX0JVU1lCT1ggaXMgbm90IHNldAotQ09ORklHX0xGUz15CiBDT05GSUdfQ1JPU1NfQ09NUElMRVJfUFJFRklYPSIiCiBDT05GSUdfU1lTUk9PVD0iIgogQ09ORklHX0VYVFJBX0NGTEFHUz0iIgogQ09ORklHX0VYVFJBX0xERkxBR1M9IiIKIENPTkZJR19FWFRSQV9MRExJQlM9IiIKKyMgQ09ORklHX1VTRV9QT1JUQUJMRV9DT0RFIGlzIG5vdCBzZXQKK0NPTkZJR19TVEFDS19PUFRJTUlaQVRJT05fMzg2PXkKIAogIwogIyBJbnN0YWxsYXRpb24gT3B0aW9ucyAoIm1ha2UgaW5zdGFsbCIgYmVoYXZpb3IpCkBAIC04MSw3ICs4Myw5IEBACiAjIExpYnJhcnkgVHVuaW5nCiAjCiAjIENPTkZJR19GRUFUVVJFX1VTRV9CU1NfVEFJTCBpcyBub3Qgc2V0CitDT05GSUdfRkxPQVRfRFVSQVRJT049eQogQ09ORklHX0ZFQVRVUkVfUlRNSU5NQVg9eQorIyBDT05GSUdfRkVBVFVSRV9SVE1JTk1BWF9VU0VfTElCQ19ERUZJTklUSU9OUyBpcyBub3Qgc2V0CiBDT05GSUdfRkVBVFVSRV9CVUZGRVJTX1VTRV9NQUxMT0M9eQogIyBDT05GSUdfRkVBVFVSRV9CVUZGRVJTX0dPX09OX1NUQUNLIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfQlVGRkVSU19HT19JTl9CU1MgaXMgbm90IHNldApAQCAtMTAxLDYgKzEwNSw3IEBACiBDT05GSUdfRkVBVFVSRV9UQUJfQ09NUExFVElPTj15CiBDT05GSUdfRkVBVFVSRV9VU0VSTkFNRV9DT01QTEVUSU9OPXkKIENPTkZJR19GRUFUVVJFX0VESVRJTkdfRkFOQ1lfUFJPTVBUPXkKKyMgQ09ORklHX0ZFQVRVUkVfRURJVElOR19XSU5DSCBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFUVVJFX0VESVRJTkdfQVNLX1RFUk1JTkFMIGlzIG5vdCBzZXQKICMgQ09ORklHX0xPQ0FMRV9TVVBQT1JUIGlzIG5vdCBzZXQKICMgQ09ORklHX1VOSUNPREVfU1VQUE9SVCBpcyBub3Qgc2V0CkBAIC0xNDYsMTEgKzE1MSwxMCBAQAogIyBDT05GSUdfVU5MWk1BIGlzIG5vdCBzZXQKIENPTkZJR19MWkNBVD15CiAjIENPTkZJR19MWk1BIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfTFpNQV9GQVNUIGlzIG5vdCBzZXQKICMgQ09ORklHX1VOWFogaXMgbm90IHNldAogQ09ORklHX1haQ0FUPXkKICMgQ09ORklHX1haIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JaSVAyIGlzIG5vdCBzZXQKK0NPTkZJR19CWklQMj15CiBDT05GSUdfRkVBVFVSRV9CWklQMl9ERUNPTVBSRVNTPXkKIENPTkZJR19DUElPPXkKICMgQ09ORklHX0ZFQVRVUkVfQ1BJT19PIGlzIG5vdCBzZXQKQEAgLTE4NSwxMiArMTg5LDE0IEBACiAjIENPTkZJR19GRUFUVVJFX1VOWklQX0JaSVAyIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfVU5aSVBfTFpNQSBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFUVVJFX1VOWklQX1haIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfTFpNQV9GQVNUIGlzIG5vdCBzZXQKIAogIwogIyBDb3JldXRpbHMKICMKIENPTkZJR19CQVNFTkFNRT15CiBDT05GSUdfQ0FUPXkKK0NPTkZJR19GRUFUVVJFX0NBVE49eQogIyBDT05GSUdfRkVBVFVSRV9DQVRWIGlzIG5vdCBzZXQKIENPTkZJR19DSEdSUD15CiBDT05GSUdfQ0hNT0Q9eQpAQCAtMjAxLDYgKzIwNyw3IEBACiAjIENPTkZJR19DT01NIGlzIG5vdCBzZXQKIENPTkZJR19DUD15CiAjIENPTkZJR19GRUFUVVJFX0NQX0xPTkdfT1BUSU9OUyBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX0NQX1JFRkxJTksgaXMgbm90IHNldAogQ09ORklHX0NVVD15CiBDT05GSUdfREFURT15CiAjIENPTkZJR19GRUFUVVJFX0RBVEVfSVNPRk1UIGlzIG5vdCBzZXQKQEAgLTIyMSwxMSArMjI4LDggQEAKIENPTkZJR19FQ0hPPXkKIENPTkZJR19GRUFUVVJFX0ZBTkNZX0VDSE89eQogQ09ORklHX0VOVj15Ci1DT05GSUdfRkVBVFVSRV9FTlZfTE9OR19PUFRJT05TPXkKICMgQ09ORklHX0VYUEFORCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRUFUVVJFX0VYUEFORF9MT05HX09QVElPTlMgaXMgbm90IHNldAogIyBDT05GSUdfVU5FWFBBTkQgaXMgbm90IHNldAotIyBDT05GSUdfRkVBVFVSRV9VTkVYUEFORF9MT05HX09QVElPTlMgaXMgbm90IHNldAogQ09ORklHX0VYUFI9eQogQ09ORklHX0VYUFJfTUFUSF9TVVBQT1JUXzY0PXkKICMgQ09ORklHX0ZBQ1RPUiBpcyBub3Qgc2V0CkBAIC0yNjMsMTIgKzI2NywxMCBAQAogIwogQ09ORklHX0ZFQVRVUkVfTUQ1X1NIQTFfU1VNX0NIRUNLPXkKIENPTkZJR19NS0RJUj15Ci1DT05GSUdfRkVBVFVSRV9NS0RJUl9MT05HX09QVElPTlM9eQogQ09ORklHX01LRklGTz15CiBDT05GSUdfTUtOT0Q9eQogQ09ORklHX01LVEVNUD15CiBDT05GSUdfTVY9eQotIyBDT05GSUdfRkVBVFVSRV9NVl9MT05HX09QVElPTlMgaXMgbm90IHNldAogIyBDT05GSUdfTklDRSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTCBpcyBub3Qgc2V0CiBDT05GSUdfTk9IVVA9eQpAQCAtMjgzLDE1ICsyODUsMTQgQEAKIENPTkZJR19SRUFMUEFUSD15CiBDT05GSUdfUk09eQogQ09ORklHX1JNRElSPXkKLSMgQ09ORklHX0ZFQVRVUkVfUk1ESVJfTE9OR19PUFRJT05TIGlzIG5vdCBzZXQKIENPTkZJR19TRVE9eQogIyBDT05GSUdfU0hSRUQgaXMgbm90IHNldAogQ09ORklHX1NIVUY9eQogQ09ORklHX1NMRUVQPXkKIENPTkZJR19GRUFUVVJFX0ZBTkNZX1NMRUVQPXkKLUNPTkZJR19GRUFUVVJFX0ZMT0FUX1NMRUVQPXkKIENPTkZJR19TT1JUPXkKIENPTkZJR19GRUFUVVJFX1NPUlRfQklHPXkKKyMgQ09ORklHX0ZFQVRVUkVfU09SVF9PUFRJTUlaRV9NRU1PUlkgaXMgbm90IHNldAogIyBDT05GSUdfU1BMSVQgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9TUExJVF9GQU5DWSBpcyBub3Qgc2V0CiBDT05GSUdfU1RBVD15CkBAIC0zMzEsMTAgKzMzMiwxMCBAQAogIyBDT05GSUdfVVVFTkNPREUgaXMgbm90IHNldAogQ09ORklHX1dDPXkKICMgQ09ORklHX0ZFQVRVUkVfV0NfTEFSR0UgaXMgbm90IHNldAorQ09ORklHX1dIT0FNST15CiBDT05GSUdfV0hPPXkKICMgQ09ORklHX1cgaXMgbm90IHNldAogQ09ORklHX1VTRVJTPXkKLUNPTkZJR19XSE9BTUk9eQogQ09ORklHX1lFUz15CiAKICMKQEAgLTQ0Myw2ICs0NDQsNyBAQAogQ09ORklHX0ZFQVRVUkVfRklORF9NTUlOPXkKIENPTkZJR19GRUFUVVJFX0ZJTkRfUEVSTT15CiBDT05GSUdfRkVBVFVSRV9GSU5EX1RZUEU9eQorQ09ORklHX0ZFQVRVUkVfRklORF9FWEVDVVRBQkxFPXkKIENPTkZJR19GRUFUVVJFX0ZJTkRfWERFVj15CiBDT05GSUdfRkVBVFVSRV9GSU5EX01BWERFUFRIPXkKIENPTkZJR19GRUFUVVJFX0ZJTkRfTkVXRVI9eQpAQCAtNDU2LDYgKzQ1OCw3IEBACiBDT05GSUdfRkVBVFVSRV9GSU5EX1BBUkVOPXkKIENPTkZJR19GRUFUVVJFX0ZJTkRfU0laRT15CiBDT05GSUdfRkVBVFVSRV9GSU5EX1BSVU5FPXkKK0NPTkZJR19GRUFUVVJFX0ZJTkRfUVVJVD15CiAjIENPTkZJR19GRUFUVVJFX0ZJTkRfREVMRVRFIGlzIG5vdCBzZXQKIENPTkZJR19GRUFUVVJFX0ZJTkRfUEFUSD15CiBDT05GSUdfRkVBVFVSRV9GSU5EX1JFR0VYPXkKQEAgLTQ3MSw2ICs0NzQsOCBAQAogIyBDT05GSUdfRkVBVFVSRV9YQVJHU19TVVBQT1JUX1RFUk1PUFQgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9YQVJHU19TVVBQT1JUX1pFUk9fVEVSTSBpcyBub3Qgc2V0CiBDT05GSUdfRkVBVFVSRV9YQVJHU19TVVBQT1JUX1JFUExfU1RSPXkKKyMgQ09ORklHX0ZFQVRVUkVfWEFSR1NfU1VQUE9SVF9QQVJBTExFTCBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX1hBUkdTX1NVUFBPUlRfQVJHU19GSUxFIGlzIG5vdCBzZXQKIAogIwogIyBJbml0IFV0aWxpdGllcwpAQCAtNDgxLDYgKzQ4Niw3IEBACiAjIENPTkZJR19IQUxUIGlzIG5vdCBzZXQKICMgQ09ORklHX1BPV0VST0ZGIGlzIG5vdCBzZXQKIENPTkZJR19SRUJPT1Q9eQorIyBDT05GSUdfRkVBVFVSRV9XQUlUX0ZPUl9JTklUIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfQ0FMTF9URUxJTklUIGlzIG5vdCBzZXQKICMgQ09ORklHX1RFTElOSVRfUEFUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTklUIGlzIG5vdCBzZXQKQEAgLTUwMywxMyArNTA5LDExIEBACiAjIENPTkZJR19VU0VfQkJfU0hBRE9XIGlzIG5vdCBzZXQKIENPTkZJR19VU0VfQkJfQ1JZUFQ9eQogIyBDT05GSUdfVVNFX0JCX0NSWVBUX1NIQSBpcyBub3Qgc2V0CisjIENPTkZJR19BRERHUk9VUCBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX0FERFVTRVJfVE9fR1JPVVAgaXMgbm90IHNldAogIyBDT05GSUdfQUREX1NIRUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX1JFTU9WRV9TSEVMTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19BRERHUk9VUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRUFUVVJFX0FEREdST1VQX0xPTkdfT1BUSU9OUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRUFUVVJFX0FERFVTRVJfVE9fR1JPVVAgaXMgbm90IHNldAogIyBDT05GSUdfQUREVVNFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRUFUVVJFX0FERFVTRVJfTE9OR19PUFRJT05TIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfQ0hFQ0tfTkFNRVMgaXMgbm90IHNldAogQ09ORklHX0xBU1RfSUQ9NjAwMDAKIENPTkZJR19GSVJTVF9TWVNURU1fSUQ9MTAwCkBAIC01ODUsOCArNTg5LDExIEBACiAjIENPTkZJR19GRUFUVVJFX0JMS0lEX1RZUEUgaXMgbm90IHNldAogIyBDT05GSUdfQkxPQ0tERVYgaXMgbm90IHNldAogIyBDT05GSUdfQ0FMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NIUlQgaXMgbm90IHNldAogQ09ORklHX0RNRVNHPXkKIENPTkZJR19GRUFUVVJFX0RNRVNHX1BSRVRUWT15CisjIENPTkZJR19FSkVDVCBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX0VKRUNUX1NDU0kgaXMgbm90IHNldAogIyBDT05GSUdfRkFMTE9DQVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZBVEFUVFIgaXMgbm90IHNldAogQ09ORklHX0ZCU0VUPXkKQEAgLTYxNiw4ICs2MjMsOCBAQAogIyBDT05GSUdfSEQgaXMgbm90IHNldAogIyBDT05GSUdfWFhEIGlzIG5vdCBzZXQKIENPTkZJR19IV0NMT0NLPXkKLUNPTkZJR19GRUFUVVJFX0hXQ0xPQ0tfTE9OR19PUFRJT05TPXkKIENPTkZJR19GRUFUVVJFX0hXQ0xPQ0tfQURKVElNRV9GSFM9eQorIyBDT05GSUdfSU9OSUNFIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQQ1JNIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQQ1MgaXMgbm90IHNldAogIyBDT05GSUdfTEFTVCBpcyBub3Qgc2V0CkBAIC02NTMsOCArNjYwLDEwIEBACiBDT05GSUdfRkVBVFVSRV9NT1VOVF9GTEFHUz15CiBDT05GSUdfRkVBVFVSRV9NT1VOVF9GU1RBQj15CiAjIENPTkZJR19GRUFUVVJFX01PVU5UX09USEVSVEFCIGlzIG5vdCBzZXQKK0NPTkZJR19NT1VOVFBPSU5UPXkKKyMgQ09ORklHX05PTE9HSU4gaXMgbm90IHNldAorIyBDT05GSUdfTk9MT0dJTl9ERVBFTkRFTkNJRVMgaXMgbm90IHNldAogIyBDT05GSUdfTlNFTlRFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRUFUVVJFX05TRU5URVJfTE9OR19PUFRTIGlzIG5vdCBzZXQKIENPTkZJR19QSVZPVF9ST09UPXkKIENPTkZJR19SREFURT15CiAjIENPTkZJR19SREVWIGlzIG5vdCBzZXQKQEAgLTY2OCwxMCArNjc3LDE1IEBACiAjIENPTkZJR19MSU5VWDMyIGlzIG5vdCBzZXQKICMgQ09ORklHX0xJTlVYNjQgaXMgbm90IHNldAogIyBDT05GSUdfU0VUUFJJViBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX1NFVFBSSVZfRFVNUCBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX1NFVFBSSVZfQ0FQQUJJTElUSUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfU0VUUFJJVl9DQVBBQklMSVRZX05BTUVTIGlzIG5vdCBzZXQKK0NPTkZJR19TRVRTSUQ9eQogQ09ORklHX1NXQVBPTj15CiBDT05GSUdfRkVBVFVSRV9TV0FQT05fRElTQ0FSRD15CiBDT05GSUdfRkVBVFVSRV9TV0FQT05fUFJJPXkKIENPTkZJR19TV0FQT0ZGPXkKKyMgQ09ORklHX0ZFQVRVUkVfU1dBUE9OT0ZGX0xBQkVMIGlzIG5vdCBzZXQKIENPTkZJR19TV0lUQ0hfUk9PVD15CiAjIENPTkZJR19UQVNLU0VUIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfVEFTS1NFVF9GQU5DWSBpcyBub3Qgc2V0CkBAIC03MDIsOSArNzE2LDExIEBACiAjIENPTkZJR19GRUFUVVJFX1ZPTFVNRUlEX0hGUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFUVVJFX1ZPTFVNRUlEX0lTTzk2NjAgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9WT0xVTUVJRF9KRlMgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9WT0xVTUVJRF9MRlMgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9WT0xVTUVJRF9MSU5VWFJBSUQgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9WT0xVTUVJRF9MSU5VWFNXQVAgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9WT0xVTUVJRF9MVUtTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfVk9MVU1FSURfTUlOSVggaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9WT0xVTUVJRF9OSUxGUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFUVVJFX1ZPTFVNRUlEX05URlMgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9WT0xVTUVJRF9PQ0ZTMiBpcyBub3Qgc2V0CkBAIC03MTksMTkgKzczNSw0NCBAQAogIwogIyBNaXNjZWxsYW5lb3VzIFV0aWxpdGllcwogIworIyBDT05GSUdfQURKVElNRVggaXMgbm90IHNldAorIyBDT05GSUdfQkJDT05GSUcgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9DT01QUkVTU19CQkNPTkZJRyBpcyBub3Qgc2V0CisjIENPTkZJR19CQyBpcyBub3Qgc2V0CitDT05GSUdfREM9eQorIyBDT05GSUdfRkVBVFVSRV9EQ19CSUcgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9EQ19MSUJNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfQkNfSU5URVJBQ1RJVkUgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9CQ19MT05HX09QVElPTlMgaXMgbm90IHNldAogIyBDT05GSUdfQkVFUCBpcyBub3Qgc2V0CiBDT05GSUdfRkVBVFVSRV9CRUVQX0ZSRVE9MAogQ09ORklHX0ZFQVRVUkVfQkVFUF9MRU5HVEhfTVM9MAorIyBDT05GSUdfQ0hBVCBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX0NIQVRfTk9GQUlMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfQ0hBVF9UVFlfSElGSSBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX0NIQVRfSU1QTElDSVRfQ1IgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9DSEFUX1NXQUxMT1dfT1BUUyBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX0NIQVRfU0VORF9FU0NBUEVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfQ0hBVF9WQVJfQUJPUlRfTEVOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfQ0hBVF9DTFJfQUJPUlQgaXMgbm90IHNldAogIyBDT05GSUdfQ09OU1BZIGlzIG5vdCBzZXQKICMgQ09ORklHX0NST05EIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfQ1JPTkRfRCBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFUVVJFX0NST05EX0NBTExfU0VORE1BSUwgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9DUk9ORF9TUEVDSUFMX1RJTUVTIGlzIG5vdCBzZXQKIENPTkZJR19GRUFUVVJFX0NST05EX0RJUj0iIgorIyBDT05GSUdfQ1JPTlRBQiBpcyBub3Qgc2V0CiAjIENPTkZJR19ERVZGU0QgaXMgbm90IHNldAogIyBDT05GSUdfREVWRlNEX01PRExPQUQgaXMgbm90IHNldAogIyBDT05GSUdfREVWRlNEX0ZHX05QIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFVkZTRF9WRVJCT1NFIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfREVWRlMgaXMgbm90IHNldAorIyBDT05GSUdfREVWTUVNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCU1BMQVNIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZMQVNIQ1AgaXMgbm90IHNldAorIyBDT05GSUdfRkxBU0hfRVJBU0VBTEwgaXMgbm90IHNldAorIyBDT05GSUdfRkxBU0hfTE9DSyBpcyBub3Qgc2V0CisjIENPTkZJR19GTEFTSF9VTkxPQ0sgaXMgbm90IHNldAogIyBDT05GSUdfSERQQVJNIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfSERQQVJNX0dFVF9JREVOVElUWSBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFUVVJFX0hEUEFSTV9IRElPX1NDQU5fSFdJRiBpcyBub3Qgc2V0CkBAIC03NDQsNiArNzg1LDcgQEAKICMgQ09ORklHX0kyQ1NFVCBpcyBub3Qgc2V0CiAjIENPTkZJR19JMkNEVU1QIGlzIG5vdCBzZXQKICMgQ09ORklHX0kyQ0RFVEVDVCBpcyBub3Qgc2V0CisjIENPTkZJR19JTk9USUZZRCBpcyBub3Qgc2V0CiBDT05GSUdfTEVTUz15CiBDT05GSUdfRkVBVFVSRV9MRVNTX01BWExJTkVTPTk5OTk5OTkKIENPTkZJR19GRUFUVVJFX0xFU1NfQlJBQ0tFVFM9eQpAQCAtNzU1LDc4ICs3OTcsMzUgQEAKICMgQ09ORklHX0ZFQVRVUkVfTEVTU19BU0tfVEVSTUlOQUwgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9MRVNTX0RBU0hDTUQgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9MRVNTX0xJTkVOVU1TIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfTEVTU19SQVcgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9MRVNTX0VOViBpcyBub3Qgc2V0CiAjIENPTkZJR19MU1NDU0kgaXMgbm90IHNldAorIyBDT05GSUdfTUFLRURFVlMgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9NQUtFREVWU19MRUFGIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfTUFLRURFVlNfVEFCTEUgaXMgbm90IHNldAorIyBDT05GSUdfTUFOIGlzIG5vdCBzZXQKK0NPTkZJR19NSUNST0NPTT15CisjIENPTkZJR19NVCBpcyBub3Qgc2V0CiAjIENPTkZJR19OQU5EV1JJVEUgaXMgbm90IHNldAogIyBDT05GSUdfTkFORERVTVAgaXMgbm90IHNldAogIyBDT05GSUdfUEFSVFBST0JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JBSURBVVRPUlVOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JFQURBSEVBRCBpcyBub3Qgc2V0CiBDT05GSUdfUkZLSUxMPXkKKyMgQ09ORklHX1JVTkxFVkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFVEZBVFRSIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFVFNFUklBTCBpcyBub3Qgc2V0CitDT05GSUdfU1RSSU5HUz15CitDT05GSUdfVElNRT15CisjIENPTkZJR19UVFlTSVpFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VCSVJFTkFNRSBpcyBub3Qgc2V0CiAjIENPTkZJR19VQklBVFRBQ0ggaXMgbm90IHNldAogIyBDT05GSUdfVUJJREVUQUNIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VCSU1LVk9MIGlzIG5vdCBzZXQKICMgQ09ORklHX1VCSVJNVk9MIGlzIG5vdCBzZXQKICMgQ09ORklHX1VCSVJTVk9MIGlzIG5vdCBzZXQKICMgQ09ORklHX1VCSVVQREFURVZPTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VQklSRU5BTUUgaXMgbm90IHNldAotIyBDT05GSUdfQURKVElNRVggaXMgbm90IHNldAotIyBDT05GSUdfQkJDT05GSUcgaXMgbm90IHNldAotIyBDT05GSUdfRkVBVFVSRV9DT01QUkVTU19CQkNPTkZJRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19CRUVQIGlzIG5vdCBzZXQKLUNPTkZJR19GRUFUVVJFX0JFRVBfRlJFUT0wCi1DT05GSUdfRkVBVFVSRV9CRUVQX0xFTkdUSF9NUz0wCi0jIENPTkZJR19DSEFUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfQ0hBVF9OT0ZBSUwgaXMgbm90IHNldAotIyBDT05GSUdfRkVBVFVSRV9DSEFUX1RUWV9ISUZJIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfQ0hBVF9JTVBMSUNJVF9DUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRUFUVVJFX0NIQVRfU1dBTExPV19PUFRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfQ0hBVF9TRU5EX0VTQ0FQRVMgaXMgbm90IHNldAotIyBDT05GSUdfRkVBVFVSRV9DSEFUX1ZBUl9BQk9SVF9MRU4gaXMgbm90IHNldAotIyBDT05GSUdfRkVBVFVSRV9DSEFUX0NMUl9BQk9SVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DSFJUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NST05UQUIgaXMgbm90IHNldAotQ09ORklHX0RDPXkKLSMgQ09ORklHX0ZFQVRVUkVfRENfTElCTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERVZGU0QgaXMgbm90IHNldAotIyBDT05GSUdfREVWRlNEX01PRExPQUQgaXMgbm90IHNldAotIyBDT05GSUdfREVWRlNEX0ZHX05QIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFVkZTRF9WRVJCT1NFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfREVWRlMgaXMgbm90IHNldAotIyBDT05GSUdfREVWTUVNIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VKRUNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfRUpFQ1RfU0NTSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQlNQTEFTSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GTEFTSENQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZMQVNIX0xPQ0sgaXMgbm90IHNldAotIyBDT05GSUdfRkxBU0hfVU5MT0NLIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZMQVNIX0VSQVNFQUxMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lPTklDRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTk9USUZZRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19MQVNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfTEFTVF9GQU5DWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19IRFBBUk0gaXMgbm90IHNldAotIyBDT05GSUdfRkVBVFVSRV9IRFBBUk1fR0VUX0lERU5USVRZIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfSERQQVJNX0hESU9fU0NBTl9IV0lGIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfSERQQVJNX0hESU9fVU5SRUdJU1RFUl9IV0lGIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfSERQQVJNX0hESU9fRFJJVkVfUkVTRVQgaXMgbm90IHNldAotIyBDT05GSUdfRkVBVFVSRV9IRFBBUk1fSERJT19UUklTVEFURV9IV0lGIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfSERQQVJNX0hESU9fR0VUU0VUX0RNQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUtFREVWUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRUFUVVJFX01BS0VERVZTX0xFQUYgaXMgbm90IHNldAotIyBDT05GSUdfRkVBVFVSRV9NQUtFREVWU19UQUJMRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQU4gaXMgbm90IHNldAotQ09ORklHX01JQ1JPQ09NPXkKLSMgQ09ORklHX01PVU5UUE9JTlQgaXMgbm90IHNldAotIyBDT05GSUdfTVQgaXMgbm90IHNldAotIyBDT05GSUdfUkFJREFVVE9SVU4gaXMgbm90IHNldAotIyBDT05GSUdfUkVBREFIRUFEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JVTkxFVkVMIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JYIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFVFNJRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRVRGQVRUUiBpcyBub3Qgc2V0Ci1DT05GSUdfU1RSSU5HUz15Ci1DT05GSUdfVElNRT15Ci0jIENPTkZJR19USU1FT1VUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RUWVNJWkUgaXMgbm90IHNldAogIyBDT05GSUdfVk9MTkFNRSBpcyBub3Qgc2V0CiAjIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0CiAKQEAgLTgzNyw2ICs4MzYsNyBAQAogIyBDT05GSUdfRkVBVFVSRV9VTklYX0xPQ0FMIGlzIG5vdCBzZXQKIENPTkZJR19GRUFUVVJFX1BSRUZFUl9JUFY0X0FERFJFU1M9eQogIyBDT05GSUdfVkVSQk9TRV9SRVNPTFVUSU9OX0VSUk9SUyBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX1RMU19TSEExIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSUCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUlBJTkcgaXMgbm90IHNldAogIyBDT05GSUdfQlJDVEwgaXMgbm90IHNldApAQCAtOTExLDYgKzkxMSw3IEBACiAjIENPTkZJR19GRUFUVVJFX05BTUVJRl9FWFRFTkRFRCBpcyBub3Qgc2V0CiAjIENPTkZJR19OQkRDTElFTlQgaXMgbm90IHNldAogQ09ORklHX05DPXkKKyMgQ09ORklHX05FVENBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19OQ19TRVJWRVIgaXMgbm90IHNldAogIyBDT05GSUdfTkNfRVhUUkEgaXMgbm90IHNldAogIyBDT05GSUdfTkNfMTEwX0NPTVBBVCBpcyBub3Qgc2V0CkBAIC05MTgsOSArOTE5LDEyIEBACiAjIENPTkZJR19GRUFUVVJFX05FVFNUQVRfV0lERSBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFUVVJFX05FVFNUQVRfUFJHIGlzIG5vdCBzZXQKIENPTkZJR19OU0xPT0tVUD15CisjIENPTkZJR19GRUFUVVJFX05TTE9PS1VQX0JJRyBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX05TTE9PS1VQX0xPTkdfT1BUSU9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19OVFBEIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfTlRQRF9TRVJWRVIgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9OVFBEX0NPTkYgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9OVFBfQVVUSCBpcyBub3Qgc2V0CiBDT05GSUdfUElORz15CiBDT05GSUdfUElORzY9eQogQ09ORklHX0ZFQVRVUkVfRkFOQ1lfUElORz15CkBAIC05NDAsMTUgKzk0NCwxMSBAQAogIyBDT05GSUdfRkVBVFVSRV9URUxORVREX1NUQU5EQUxPTkUgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9URUxORVREX0lORVREX1dBSVQgaXMgbm90IHNldAogQ09ORklHX1RGVFA9eQorIyBDT05GSUdfRkVBVFVSRV9URlRQX1BST0dSRVNTX0JBUiBpcyBub3Qgc2V0CiAjIENPTkZJR19URlRQRCBpcyBub3Qgc2V0Ci0KLSMKLSMgQ29tbW9uIG9wdGlvbnMgZm9yIHRmdHAvdGZ0cGQKLSMKIENPTkZJR19GRUFUVVJFX1RGVFBfR0VUPXkKIENPTkZJR19GRUFUVVJFX1RGVFBfUFVUPXkKICMgQ09ORklHX0ZFQVRVUkVfVEZUUF9CTE9DS1NJWkUgaXMgbm90IHNldAotIyBDT05GSUdfRkVBVFVSRV9URlRQX1BST0dSRVNTX0JBUiBpcyBub3Qgc2V0CiAjIENPTkZJR19URlRQX0RFQlVHIGlzIG5vdCBzZXQKIENPTkZJR19UTFM9eQogQ09ORklHX1RSQUNFUk9VVEU9eQpAQCAtOTg4LDkgKzk4OCw5IEBACiAjCiAjIENPTkZJR19GRUFUVVJFX1VESENQX1BPUlQgaXMgbm90IHNldAogQ09ORklHX1VESENQX0RFQlVHPTAKK0NPTkZJR19VREhDUENfU0xBQ0tfRk9SX0JVR0dZX1NFUlZFUlM9ODAKICMgQ09ORklHX0ZFQVRVUkVfVURIQ1BfUkZDMzM5NyBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFUVVJFX1VESENQXzgwMjFRIGlzIG5vdCBzZXQKLUNPTkZJR19VREhDUENfU0xBQ0tfRk9SX0JVR0dZX1NFUlZFUlM9ODAKIENPTkZJR19JRlVQRE9XTl9VREhDUENfQ01EX09QVElPTlM9Ii1SIC1iIgogCiAjCkBAIC0xMDcxLDEzICsxMDcxLDExIEBACiAjIENPTkZJR19TVk9LIGlzIG5vdCBzZXQKICMgQ09ORklHX1NWTE9HRCBpcyBub3Qgc2V0CiAjIENPTkZJR19DSENPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRUFUVVJFX0NIQ09OX0xPTkdfT1BUSU9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19HRVRFTkZPUkNFIGlzIG5vdCBzZXQKICMgQ09ORklHX0dFVFNFQk9PTCBpcyBub3Qgc2V0CiAjIENPTkZJR19MT0FEX1BPTElDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19NQVRDSFBBVEhDT04gaXMgbm90IHNldAogIyBDT05GSUdfUlVOQ09OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfUlVOQ09OX0xPTkdfT1BUSU9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TRUxJTlVYRU5BQkxFRCBpcyBub3Qgc2V0CiAjIENPTkZJR19TRVNUQVRVUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TRVRFTkZPUkNFIGlzIG5vdCBzZXQKQEAgLTEwOTksNiArMTA5Nyw4IEBACiBDT05GSUdfQVNIX09QVElNSVpFX0ZPUl9TSVpFPXkKIENPTkZJR19BU0hfSU5URVJOQUxfR0xPQj15CiBDT05GSUdfQVNIX0JBU0hfQ09NUEFUPXkKKyMgQ09ORklHX0FTSF9CQVNIX1NPVVJDRV9DVVJESVIgaXMgbm90IHNldAorQ09ORklHX0FTSF9CQVNIX05PVF9GT1VORF9IT09LPXkKIENPTkZJR19BU0hfSk9CX0NPTlRST0w9eQogQ09ORklHX0FTSF9BTElBUz15CiAjIENPTkZJR19BU0hfUkFORE9NX1NVUFBPUlQgaXMgbm90IHNldApAQCAtMTExNSw2ICsxMTE1LDggQEAKICMgQ09ORklHX0hVU0ggaXMgbm90IHNldAogIyBDT05GSUdfSFVTSF9CQVNIX0NPTVBBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19IVVNIX0JSQUNFX0VYUEFOU0lPTiBpcyBub3Qgc2V0CisjIENPTkZJR19IVVNIX0xJTkVOT19WQVIgaXMgbm90IHNldAorIyBDT05GSUdfSFVTSF9CQVNIX1NPVVJDRV9DVVJESVIgaXMgbm90IHNldAogIyBDT05GSUdfSFVTSF9JTlRFUkFDVElWRSBpcyBub3Qgc2V0CiAjIENPTkZJR19IVVNIX1NBVkVISVNUT1JZIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVU0hfSk9CIGlzIG5vdCBzZXQKQEAgLTExMzIsMTcgKzExMzQsMjAgQEAKICMgQ09ORklHX0hVU0hfSEVMUCBpcyBub3Qgc2V0CiAjIENPTkZJR19IVVNIX0VYUE9SVCBpcyBub3Qgc2V0CiAjIENPTkZJR19IVVNIX0VYUE9SVF9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hVU0hfUkVBRE9OTFkgaXMgbm90IHNldAogIyBDT05GSUdfSFVTSF9LSUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVU0hfV0FJVCBpcyBub3Qgc2V0CisjIENPTkZJR19IVVNIX0NPTU1BTkQgaXMgbm90IHNldAogIyBDT05GSUdfSFVTSF9UUkFQIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVU0hfVFlQRSBpcyBub3Qgc2V0CisjIENPTkZJR19IVVNIX1RJTUVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVU0hfUkVBRCBpcyBub3Qgc2V0CiAjIENPTkZJR19IVVNIX1NFVCBpcyBub3Qgc2V0CiAjIENPTkZJR19IVVNIX1VOU0VUIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVU0hfVUxJTUlUIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVU0hfVU1BU0sgaXMgbm90IHNldAorIyBDT05GSUdfSFVTSF9HRVRPUFRTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVU0hfTUVNTEVBSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NU0ggaXMgbm90IHNldAogCiAjCiAjIE9wdGlvbnMgY29tbW9uIHRvIGFsbCBzaGVsbHMKQEAgLTExNTIsNyArMTE1Nyw5IEBACiBDT05GSUdfRkVBVFVSRV9TSF9FWFRSQV9RVUlFVD15CiAjIENPTkZJR19GRUFUVVJFX1NIX1NUQU5EQUxPTkUgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9TSF9OT0ZPUksgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9TSF9SRUFEX0ZSQUMgaXMgbm90IHNldAogQ09ORklHX0ZFQVRVUkVfU0hfSElTVEZJTEVTSVpFPXkKKyMgQ09ORklHX0ZFQVRVUkVfU0hfRU1CRURERURfU0NSSVBUUyBpcyBub3Qgc2V0CiAKICMKICMgU3lzdGVtIExvZ2dpbmcgVXRpbGl0aWVzCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvYnVzeWJveF8xLjI5LjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvYnVzeWJveF8xLjI5LjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYwNjRlOWYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9idXN5Ym94L2J1c3lib3hfMS4yOS4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotcmVxdWlyZSBidXN5Ym94LmluYwotCi1TUkNfVVJJID0gImh0dHA6Ly93d3cuYnVzeWJveC5uZXQvZG93bmxvYWRzL2J1c3lib3gtJHtQVn0udGFyLmJ6MjtuYW1lPXRhcmJhbGwgXAotICAgICAgICAgICBmaWxlOi8vYnVzeWJveC11ZGhjcGMtbm9fZGVjb25maWcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZmluZC10b3VjaHNjcmVlbi5zaCBcCi0gICAgICAgICAgIGZpbGU6Ly9idXN5Ym94LWNyb24gXAotICAgICAgICAgICBmaWxlOi8vYnVzeWJveC1odHRwZCBcCi0gICAgICAgICAgIGZpbGU6Ly9idXN5Ym94LXVkaGNwZCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWZhdWx0LnNjcmlwdCBcCi0gICAgICAgICAgIGZpbGU6Ly9zaW1wbGUuc2NyaXB0IFwKLSAgICAgICAgICAgZmlsZTovL2h3Y2xvY2suc2ggXAotICAgICAgICAgICBmaWxlOi8vbW91bnQuYnVzeWJveCBcCi0gICAgICAgICAgIGZpbGU6Ly9zeXNsb2cgXAotICAgICAgICAgICBmaWxlOi8vc3lzbG9nLXN0YXJ0dXAuY29uZiBcCi0gICAgICAgICAgIGZpbGU6Ly9zeXNsb2cuY29uZiBcCi0gICAgICAgICAgIGZpbGU6Ly9idXN5Ym94LXN5c2xvZy5kZWZhdWx0IFwKLSAgICAgICAgICAgZmlsZTovL21kZXYgXAotICAgICAgICAgICBmaWxlOi8vbWRldi5jb25mIFwKLSAgICAgICAgICAgZmlsZTovL21kZXYtbW91bnQuc2ggXAotICAgICAgICAgICBmaWxlOi8vdW1vdW50LmJ1c3lib3ggXAotICAgICAgICAgICBmaWxlOi8vZGVmY29uZmlnIFwKLSAgICAgICAgICAgZmlsZTovL2J1c3lib3gtc3lzbG9nLnNlcnZpY2UuaW4gXAotICAgICAgICAgICBmaWxlOi8vYnVzeWJveC1rbG9nZC5zZXJ2aWNlLmluIFwKLSAgICAgICAgICAgZmlsZTovL2ZhaWxfb25fbm9fbWVkaWEucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgZmlsZTovL2luZXRkLmNvbmYgXAotICAgICAgICAgICBmaWxlOi8vaW5ldGQgXAotICAgICAgICAgICBmaWxlOi8vbG9naW4tdXRpbGl0aWVzLmNmZyBcCi0gICAgICAgICAgIGZpbGU6Ly9yZWNvZ25pemVfY29ubm1hbmQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vYnVzeWJveC1jcm9zcy1tZW51Y29uZmlnLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtVXNlLUNDLXdoZW4tbGlua2luZy1pbnN0ZWFkLW9mLUxELWFuZC11c2UtQ0ZMQUdTLWFuZC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9tb3VudC12aWEtbGFiZWwuY2ZnIFwKLSAgICAgICAgICAgZmlsZTovL3NoYTFzdW0uY2ZnIFwKLSAgICAgICAgICAgZmlsZTovL3NoYTI1NnN1bS5jZmcgXAotICAgICAgICAgICBmaWxlOi8vZ2V0b3B0cy5jZmcgXAotICAgICAgICAgICBmaWxlOi8vcmVzaXplLmNmZyBcCi0gICAgICAgICAgICR7QFsiIiwgImZpbGU6Ly9pbml0LmNmZyJdWyhkLmdldFZhcignVklSVFVBTC1SVU5USU1FX2luaXRfbWFuYWdlcicpID09ICdidXN5Ym94JyldfSBcCi0gICAgICAgICAgICR7QFsiIiwgImZpbGU6Ly9tZGV2LmNmZyJdWyhkLmdldFZhcignVklSVFVBTC1SVU5USU1FX2Rldl9tYW5hZ2VyJykgPT0gJ2J1c3lib3gtbWRldicpXX0gXAotICAgICAgICAgICBmaWxlOi8vc3lzbG9nLmNmZyBcCi0gICAgICAgICAgIGZpbGU6Ly9pbml0dGFiIFwKLSAgICAgICAgICAgZmlsZTovL3JjUyBcCi0gICAgICAgICAgIGZpbGU6Ly9yY0sgXAotICAgICAgICAgICBmaWxlOi8vbWFrZWZpbGUtbGliYmItcmFjZS5wYXRjaCBcCi0iCi1TUkNfVVJJX2FwcGVuZF9saWJjLW11c2wgPSAiIGZpbGU6Ly9tdXNsLmNmZyAiCi0KLVNSQ19VUklbdGFyYmFsbC5tZDVzdW1dID0gIjBhMzY3ZTE5Y2RmZDE1N2U4MjU4ZDg3Zjg5M2VlNTE2IgotU1JDX1VSSVt0YXJiYWxsLnNoYTI1NnN1bV0gPSAiOTc2NDg2MzZlNTc5NDYyMjk2NDc4ZTAyMThlNjVlNGJjMWU5Y2Q2OTA4OWEzYjFhZWI4MTBiZmY3NjIxZWZiNyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9idXN5Ym94XzEuMzAuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9idXN5Ym94XzEuMzAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNjRmM2FiCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9idXN5Ym94L2J1c3lib3hfMS4zMC4xLmJiCkBAIC0wLDAgKzEsNTEgQEAKK3JlcXVpcmUgYnVzeWJveC5pbmMKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmJ1c3lib3gubmV0L2Rvd25sb2Fkcy9idXN5Ym94LSR7UFZ9LnRhci5iejI7bmFtZT10YXJiYWxsIFwKKyAgICAgICAgICAgZmlsZTovL2J1c3lib3gtdWRoY3BjLW5vX2RlY29uZmlnLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZpbmQtdG91Y2hzY3JlZW4uc2ggXAorICAgICAgICAgICBmaWxlOi8vYnVzeWJveC1jcm9uIFwKKyAgICAgICAgICAgZmlsZTovL2J1c3lib3gtaHR0cGQgXAorICAgICAgICAgICBmaWxlOi8vYnVzeWJveC11ZGhjcGQgXAorICAgICAgICAgICBmaWxlOi8vZGVmYXVsdC5zY3JpcHQgXAorICAgICAgICAgICBmaWxlOi8vc2ltcGxlLnNjcmlwdCBcCisgICAgICAgICAgIGZpbGU6Ly9od2Nsb2NrLnNoIFwKKyAgICAgICAgICAgZmlsZTovL21vdW50LmJ1c3lib3ggXAorICAgICAgICAgICBmaWxlOi8vc3lzbG9nIFwKKyAgICAgICAgICAgZmlsZTovL3N5c2xvZy1zdGFydHVwLmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vc3lzbG9nLmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vYnVzeWJveC1zeXNsb2cuZGVmYXVsdCBcCisgICAgICAgICAgIGZpbGU6Ly9tZGV2IFwKKyAgICAgICAgICAgZmlsZTovL21kZXYuY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly9tZGV2LW1vdW50LnNoIFwKKyAgICAgICAgICAgZmlsZTovL3Vtb3VudC5idXN5Ym94IFwKKyAgICAgICAgICAgZmlsZTovL2RlZmNvbmZpZyBcCisgICAgICAgICAgIGZpbGU6Ly9idXN5Ym94LXN5c2xvZy5zZXJ2aWNlLmluIFwKKyAgICAgICAgICAgZmlsZTovL2J1c3lib3gta2xvZ2Quc2VydmljZS5pbiBcCisgICAgICAgICAgIGZpbGU6Ly9mYWlsX29uX25vX21lZGlhLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIGZpbGU6Ly9pbmV0ZC5jb25mIFwKKyAgICAgICAgICAgZmlsZTovL2luZXRkIFwKKyAgICAgICAgICAgZmlsZTovL2xvZ2luLXV0aWxpdGllcy5jZmcgXAorICAgICAgICAgICBmaWxlOi8vcmVjb2duaXplX2Nvbm5tYW5kLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2J1c3lib3gtY3Jvc3MtbWVudWNvbmZpZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVVzZS1DQy13aGVuLWxpbmtpbmctaW5zdGVhZC1vZi1MRC1hbmQtdXNlLUNGTEFHUy1hbmQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbW91bnQtdmlhLWxhYmVsLmNmZyBcCisgICAgICAgICAgIGZpbGU6Ly9zaGExc3VtLmNmZyBcCisgICAgICAgICAgIGZpbGU6Ly9zaGEyNTZzdW0uY2ZnIFwKKyAgICAgICAgICAgZmlsZTovL2dldG9wdHMuY2ZnIFwKKyAgICAgICAgICAgZmlsZTovL3Jlc2l6ZS5jZmcgXAorICAgICAgICAgICAke0BbIiIsICJmaWxlOi8vaW5pdC5jZmciXVsoZC5nZXRWYXIoJ1ZJUlRVQUwtUlVOVElNRV9pbml0X21hbmFnZXInKSA9PSAnYnVzeWJveCcpXX0gXAorICAgICAgICAgICAke0BbIiIsICJmaWxlOi8vbWRldi5jZmciXVsoZC5nZXRWYXIoJ1ZJUlRVQUwtUlVOVElNRV9kZXZfbWFuYWdlcicpID09ICdidXN5Ym94LW1kZXYnKV19IFwKKyAgICAgICAgICAgZmlsZTovL3N5c2xvZy5jZmcgXAorICAgICAgICAgICBmaWxlOi8vaW5pdHRhYiBcCisgICAgICAgICAgIGZpbGU6Ly9yY1MgXAorICAgICAgICAgICBmaWxlOi8vcmNLIFwKKyAgICAgICAgICAgZmlsZTovL21ha2VmaWxlLWxpYmJiLXJhY2UucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS10ZXN0c3VpdGUtY2hlY2stdXVkZWNvZGUtYmVmb3JlLXVzaW5nLWl0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtdGVzdHN1aXRlLXVzZS13d3cuZXhhbXBsZS5vcmctZm9yLXdnZXQtdGVzdC1jYXNlcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWR1LWwtd29ya3MtZml4LXRvLXVzZS0xNDUtaW5zdGVhZC1vZi0xNDQucGF0Y2ggXAorIgorU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsID0gIiBmaWxlOi8vbXVzbC5jZmcgIgorCitTUkNfVVJJW3RhcmJhbGwubWQ1c3VtXSA9ICI0ZjcyZmM2YWJkNzM2ZDVmNDc0MWZjNGEyNDg1NTQ3YSIKK1NSQ19VUklbdGFyYmFsbC5zaGEyNTZzdW1dID0gIjNkMWQwNGE0ZGJkMzQwNDhmNDc5NDgxNWE1YzQ4ZWJiOWViNTNjNTI3N2UwOWZmZmZjMDYwMzIzYjk1ZGZiZGMiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvZmlsZXMvcnVuLXB0ZXN0IGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9idXN5Ym94L2ZpbGVzL3J1bi1wdGVzdAppbmRleCAzNjA4YThlLi5iMTllNWI1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvZmlsZXMvcnVuLXB0ZXN0CisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9maWxlcy9ydW4tcHRlc3QKQEAgLTEsNyArMSw5IEBACiAjIS9iaW4vc2gKIAotY3VycmVudF9kaXI9JChyZWFkbGluayAtZiAkMCkKLWV4cG9ydCBiaW5kaXI9JChkaXJuYW1lICRjdXJyZW50X2RpcikKK2N1cnJlbnRfcGF0aD0kKHJlYWRsaW5rIC1mICQwKQorZXhwb3J0IGJpbmRpcj0kKGRpcm5hbWUgJGN1cnJlbnRfcGF0aCkKK2V4cG9ydCBQQVRIPSRiaW5kaXIvYmluOiRQQVRICitleHBvcnQgU0tJUF9LTk9XTl9CVUdTPTEKIAogY2QgdGVzdHN1aXRlIHx8IGV4aXQgMQogLi9ydW50ZXN0IC12IHwgc2VkIC1yICdzL14oU0tJUFBFRHxVTlRFU1RFRCk6L1NLSVA6LycKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZGJ1cy9kYnVzLXRlc3RfMS4xMi4xMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZGJ1cy9kYnVzLXRlc3RfMS4xMi4xMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjViOTM5NS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2RidXMvZGJ1cy10ZXN0XzEuMTIuMTAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw4MyArMCwwIEBACi1TVU1NQVJZID0gIkQtQnVzIHRlc3QgcGFja2FnZSAoZm9yIEQtYnVzIGZ1bmN0aW9uYWxpdHkgdGVzdGluZyBvbmx5KSIKLUhPTUVQQUdFID0gImh0dHA6Ly9kYnVzLmZyZWVkZXNrdG9wLm9yZyIKLVNFQ1RJT04gPSAiYmFzZSIKLUxJQ0VOU0UgPSAiQUZMLTIgfCBHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xMGRkZWQzYjU4MTQ4ZjNmMWZkODA0YjI2MzU0YWYzZSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kYnVzL2RidXMuaDtiZWdpbmxpbmU9NjtlbmRsaW5lPTIwO21kNT03NzU1YzlkN2FiY2NkNWRiZDI1YTZhOTc0NTM4YmIzYyIKLQotREVQRU5EUyA9ICJkYnVzIGdsaWItMi4wIgotCi1SREVQRU5EU18ke1BOfSArPSAibWFrZSIKLVJERVBFTkRTXyR7UE59LWRldiA9ICIiCi0KLVNSQ19VUkkgPSAiaHR0cDovL2RidXMuZnJlZWRlc2t0b3Aub3JnL3JlbGVhc2VzL2RidXMvZGJ1cy0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vdG1wZGlyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCi0gICAgICAgICAgIGZpbGU6Ly9weXRob24tY29uZmlnLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2NsZWFyLWd1aWRfZnJvbV9zZXJ2ZXItaWYtc2VuZF9uZWdvdGlhdGVfdW5peF9mLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiYzNlMTJiNDIwNmUyYTdkYTM5ZDdjYzQyNTY3NzkwZWYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGI2OTNkMjQ5NzYyNThjM2YyZmE5Y2MzM2FkOTI4OGM1ZmJmYTdhMTY0ODFkYmQ5YThhNDI5ZjdhYThjZGNmNyIKLQotUz0iJHtXT1JLRElSfS9kYnVzLSR7UFZ9IgotRklMRVNFWFRSQVBBVEhTID0uICIke0ZJTEVfRElSTkFNRX0vZGJ1czoiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0IHB0ZXN0IHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbgotCi1FWFRSQV9PRUNPTkZfWCA9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICctLXdpdGgteCcsICctLXdpdGhvdXQteCcsIGQpfSIKLUVYVFJBX09FQ09ORl9YX2NsYXNzLW5hdGl2ZSA9ICItLXdpdGhvdXQteCIKLQotRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLXRlc3RzIFwKLSAgICAgICAgICAgICAgICAtLWVuYWJsZS1tb2R1bGFyLXRlc3RzIFwKLSAgICAgICAgICAgICAgICAtLWVuYWJsZS1pbnN0YWxsZWQtdGVzdHMgXAotICAgICAgICAgICAgICAgIC0tZW5hYmxlLWNoZWNrcyBcCi0gICAgICAgICAgICAgICAgLS1lbmFibGUtYXNzZXJ0cyBcCi0gICAgICAgICAgICAgICAgLS1lbmFibGUtdmVyYm9zZS1tb2RlIFwKLSAgICAgICAgICAgICAgICAtLWVuYWJsZS1sYXJnZWZpbGUgXAotICAgICAgICAgICAgICAgIC0tZGlzYWJsZS14bWwtZG9jcyBcCi0gICAgICAgICAgICAgICAgLS1kaXNhYmxlLWRveHlnZW4tZG9jcyBcCi0gICAgICAgICAgICAgICAgLS1kaXNhYmxlLWxpYmF1ZGl0IFwKLSAgICAgICAgICAgICAgICAtLXdpdGgtZGJ1cy10ZXN0LWRpcj0ke1BURVNUX1BBVEh9IFwKLSAgICAgICAgICAgICAgICAke0VYVFJBX09FQ09ORl9YfSIKLQotRVhUUkFfT0VDT05GX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIFNZU1RFTUNUTD0ke2Jhc2VfYmluZGlyfS9zeXN0ZW1jdGwiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kIHgxMScsIGQpfSIKLVBBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlID0gIiIKLVBBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlc2RrID0gIiIKLQotUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLWVuYWJsZS1zeXN0ZW1kIC0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9LC0tZGlzYWJsZS1zeXN0ZW1kIC0td2l0aG91dC1zeXN0ZW1kc3lzdGVtdW5pdGRpcixzeXN0ZW1kIgotUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0td2l0aC14IC0tZW5hYmxlLXgxMS1hdXRvbGF1bmNoLC0td2l0aG91dC14IC0tZGlzYWJsZS14MTEtYXV0b2xhdW5jaCwgdmlydHVhbC9saWJ4MTEgbGlic20iCi1QQUNLQUdFQ09ORklHW3VzZXItc2Vzc2lvbl0gPSAiLS1lbmFibGUtdXNlci1zZXNzaW9uIC0td2l0aC1zeXN0ZW1kdXNlcnVuaXRkaXI9JHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0sLS1kaXNhYmxlLXVzZXItc2Vzc2lvbiIKLQotZG9faW5zdGFsbCgpIHsKLSAgICA6Ci19Ci0KLWRvX2luc3RhbGxfcHRlc3QoKSB7Ci0JaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS90ZXN0Ci0JbD0ic2hlbGwgcHJpbnRmIHJlZnMgc3lzbG9nIG1hcnNoYWwgc3ludGF4IGNvcnJ1cHQgZGJ1cy1kYWVtb24gZGJ1cy1kYWVtb24tZWF2ZXNkcm9wIGxvb3BiYWNrIHJlbGF5IFwKLQkgICB2YXJpYW50IHVpZC1wZXJtaXNzaW9ucyBzeW50YXggc3Bhd24gc2QtYWN0aXZhdGlvbiBuYW1lcyBtb25pdG9yIG1lc3NhZ2UgZmRwYXNzICIKLQlmb3IgaSBpbiAkbDsgZG8gaW5zdGFsbCAke0J9L3Rlc3QvLmxpYnMvdGVzdC0kaSAke0R9JHtQVEVTVF9QQVRIfS90ZXN0OyBkb25lCi0KLQlsPSJidXMgYnVzLXN5c3RlbSBidXMtbGF1bmNoLWhlbHBlciIKLQlmb3IgaSBpbiAkbDsgZG8gaW5zdGFsbCAke0J9L2J1cy8ubGlicy90ZXN0LSRpICR7RH0ke1BURVNUX1BBVEh9L3Rlc3Q7IGRvbmUKLQotCWNwIC1yICR7Qn0vdGVzdC9kYXRhICR7RH0ke1BURVNUX1BBVEh9L3Rlc3QKLQlpbnN0YWxsICR7Qn0vZGJ1cy8ubGlicy90ZXN0LWRidXMgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdAotCi0JaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS90ZXN0Ly5saWJzCi0JY3AgLWEgJHtCfS9kYnVzLy5saWJzLyouc28qICR7RH0ke1BURVNUX1BBVEh9L3Rlc3QvLmxpYnMKLQotCSMgUmVtb3ZlIGJ1aWxkIGhvc3QgcmVmZXJlbmNlcy4uLgotCWZpbmQgIiR7RH0ke1BURVNUX1BBVEh9L3Rlc3QvZGF0YSIgXCggLW5hbWUgKi5zZXJ2aWNlIC1vIC1uYW1lICouY29uZiAtbyAtbmFtZSAiKi5hYXByb2ZpbGUiIFwpIC10eXBlIGYgLWV4ZWMgXAotCQlzZWQgLWkgXAotCQkgLWUgJ3M6JHtCfToke1BURVNUX1BBVEh9OmcnIFwKLQkJIHt9ICsKLSAgICAgICAgc2VkIC1pIC1lICdzO0BQVEVTVF9QQVRIQDske1BURVNUX1BBVEh9O2cnICAke0R9JHtQVEVTVF9QQVRIfS9ydW4tcHRlc3QKLX0KLQotUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gImJhc2giCi0KLVBSSVZBVEVfTElCU18ke1BOfS1wdGVzdCA9ICJsaWJkYnVzLTEuc28uMyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZGJ1cy9kYnVzLXRlc3RfMS4xMi4xMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZGJ1cy9kYnVzLXRlc3RfMS4xMi4xMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDEzMTkyCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9kYnVzL2RidXMtdGVzdF8xLjEyLjEyLmJiCkBAIC0wLDAgKzEsODMgQEAKK1NVTU1BUlkgPSAiRC1CdXMgdGVzdCBwYWNrYWdlIChmb3IgRC1idXMgZnVuY3Rpb25hbGl0eSB0ZXN0aW5nIG9ubHkpIgorSE9NRVBBR0UgPSAiaHR0cDovL2RidXMuZnJlZWRlc2t0b3Aub3JnIgorU0VDVElPTiA9ICJiYXNlIgorTElDRU5TRSA9ICJBRkwtMiB8IEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTEwZGRlZDNiNTgxNDhmM2YxZmQ4MDRiMjYzNTRhZjNlIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2RidXMvZGJ1cy5oO2JlZ2lubGluZT02O2VuZGxpbmU9MjA7bWQ1PTc3NTVjOWQ3YWJjY2Q1ZGJkMjVhNmE5NzQ1MzhiYjNjIgorCitERVBFTkRTID0gImRidXMgZ2xpYi0yLjAiCisKK1JERVBFTkRTXyR7UE59ICs9ICJtYWtlIgorUkRFUEVORFNfJHtQTn0tZGV2ID0gIiIKKworU1JDX1VSSSA9ICJodHRwOi8vZGJ1cy5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvZGJ1cy9kYnVzLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly90bXBkaXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAgZmlsZTovL3B5dGhvbi1jb25maWcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vY2xlYXItZ3VpZF9mcm9tX3NlcnZlci1pZi1zZW5kX25lZ290aWF0ZV91bml4X2YucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlYTExMDY5NTIxYmVlZWU0ZTQ3ZjAwODY1OTZhNDNjOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5NTQ2ZjIyNjAxMWExZTVkOWQ3NzI0NWZlNTU0OWVmMjVhZjQ2OTQwNTMxODlkNjI0ZDBkNmFjMTI3ZWNmNWY4IgorCitTPSIke1dPUktESVJ9L2RidXMtJHtQVn0iCitGSUxFU0VYVFJBUEFUSFMgPS4gIiR7RklMRV9ESVJOQU1FfS9kYnVzOiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdldHRleHQgcHRlc3QgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuCisKK0VYVFJBX09FQ09ORl9YID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJy0td2l0aC14JywgJy0td2l0aG91dC14JywgZCl9IgorRVhUUkFfT0VDT05GX1hfY2xhc3MtbmF0aXZlID0gIi0td2l0aG91dC14IgorCitFWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtdGVzdHMgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLW1vZHVsYXItdGVzdHMgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWluc3RhbGxlZC10ZXN0cyBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtY2hlY2tzIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1hc3NlcnRzIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS12ZXJib3NlLW1vZGUgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWxhcmdlZmlsZSBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXhtbC1kb2NzIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtZG94eWdlbi1kb2NzIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtbGliYXVkaXQgXAorICAgICAgICAgICAgICAgIC0td2l0aC1kYnVzLXRlc3QtZGlyPSR7UFRFU1RfUEFUSH0gXAorICAgICAgICAgICAgICAgICR7RVhUUkFfT0VDT05GX1h9IgorCitFWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgU1lTVEVNQ1RMPSR7YmFzZV9iaW5kaXJ9L3N5c3RlbWN0bCIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQgeDExJywgZCl9IgorUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmUgPSAiIgorUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmVzZGsgPSAiIgorCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0tZW5hYmxlLXN5c3RlbWQgLS13aXRoLXN5c3RlbWRzeXN0ZW11bml0ZGlyPSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0sLS1kaXNhYmxlLXN5c3RlbWQgLS13aXRob3V0LXN5c3RlbWRzeXN0ZW11bml0ZGlyLHN5c3RlbWQiCitQQUNLQUdFQ09ORklHW3gxMV0gPSAiLS13aXRoLXggLS1lbmFibGUteDExLWF1dG9sYXVuY2gsLS13aXRob3V0LXggLS1kaXNhYmxlLXgxMS1hdXRvbGF1bmNoLCB2aXJ0dWFsL2xpYngxMSBsaWJzbSIKK1BBQ0tBR0VDT05GSUdbdXNlci1zZXNzaW9uXSA9ICItLWVuYWJsZS11c2VyLXNlc3Npb24gLS13aXRoLXN5c3RlbWR1c2VydW5pdGRpcj0ke3N5c3RlbWRfdXNlcl91bml0ZGlyfSwtLWRpc2FibGUtdXNlci1zZXNzaW9uIgorCitkb19pbnN0YWxsKCkgeworICAgIDoKK30KKworZG9faW5zdGFsbF9wdGVzdCgpIHsKKwlpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L3Rlc3QKKwlsPSJzaGVsbCBwcmludGYgcmVmcyBzeXNsb2cgbWFyc2hhbCBzeW50YXggY29ycnVwdCBkYnVzLWRhZW1vbiBkYnVzLWRhZW1vbi1lYXZlc2Ryb3AgbG9vcGJhY2sgcmVsYXkgXAorCSAgIHZhcmlhbnQgdWlkLXBlcm1pc3Npb25zIHN5bnRheCBzcGF3biBzZC1hY3RpdmF0aW9uIG5hbWVzIG1vbml0b3IgbWVzc2FnZSBmZHBhc3MgIgorCWZvciBpIGluICRsOyBkbyBpbnN0YWxsICR7Qn0vdGVzdC8ubGlicy90ZXN0LSRpICR7RH0ke1BURVNUX1BBVEh9L3Rlc3Q7IGRvbmUKKworCWw9ImJ1cyBidXMtc3lzdGVtIGJ1cy1sYXVuY2gtaGVscGVyIgorCWZvciBpIGluICRsOyBkbyBpbnN0YWxsICR7Qn0vYnVzLy5saWJzL3Rlc3QtJGkgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdDsgZG9uZQorCisJY3AgLXIgJHtCfS90ZXN0L2RhdGEgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdAorCWluc3RhbGwgJHtCfS9kYnVzLy5saWJzL3Rlc3QtZGJ1cyAke0R9JHtQVEVTVF9QQVRIfS90ZXN0CisKKwlpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L3Rlc3QvLmxpYnMKKwljcCAtYSAke0J9L2RidXMvLmxpYnMvKi5zbyogJHtEfSR7UFRFU1RfUEFUSH0vdGVzdC8ubGlicworCisJIyBSZW1vdmUgYnVpbGQgaG9zdCByZWZlcmVuY2VzLi4uCisJZmluZCAiJHtEfSR7UFRFU1RfUEFUSH0vdGVzdC9kYXRhIiBcKCAtbmFtZSAqLnNlcnZpY2UgLW8gLW5hbWUgKi5jb25mIC1vIC1uYW1lICIqLmFhcHJvZmlsZSIgXCkgLXR5cGUgZiAtZXhlYyBcCisJCXNlZCAtaSBcCisJCSAtZSAnczoke0J9OiR7UFRFU1RfUEFUSH06ZycgXAorCQkge30gKworICAgICAgICBzZWQgLWkgLWUgJ3M7QFBURVNUX1BBVEhAOyR7UFRFU1RfUEFUSH07ZycgICR7RH0ke1BURVNUX1BBVEh9L3J1bi1wdGVzdAorfQorCitSREVQRU5EU18ke1BOfS1wdGVzdCArPSAiYmFzaCIKKworUFJJVkFURV9MSUJTXyR7UE59LXB0ZXN0ID0gImxpYmRidXMtMS5zby4zIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9kYnVzL2RidXNfMS4xMi4xMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZGJ1cy9kYnVzXzEuMTIuMTAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ3MWY3ZjcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9kYnVzL2RidXNfMS4xMi4xMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE3NiArMCwwIEBACi1TVU1NQVJZID0gIkQtQnVzIG1lc3NhZ2UgYnVzIgotREVTQ1JJUFRJT04gPSAiRC1CdXMgaXMgYSBtZXNzYWdlIGJ1cyBzeXN0ZW0sIGEgc2ltcGxlIHdheSBmb3IgYXBwbGljYXRpb25zIHRvIHRhbGsgdG8gb25lIGFub3RoZXIuIEluIGFkZGl0aW9uIHRvIGludGVycHJvY2VzcyBjb21tdW5pY2F0aW9uLCBELUJ1cyBoZWxwcyBjb29yZGluYXRlIHByb2Nlc3MgbGlmZWN5Y2xlOyBpdCBtYWtlcyBpdCBzaW1wbGUgYW5kIHJlbGlhYmxlIHRvIGNvZGUgYSBcInNpbmdsZSBpbnN0YW5jZVwiIGFwcGxpY2F0aW9uIG9yIGRhZW1vbiwgYW5kIHRvIGxhdW5jaCBhcHBsaWNhdGlvbnMgYW5kIGRhZW1vbnMgb24gZGVtYW5kIHdoZW4gdGhlaXIgc2VydmljZXMgYXJlIG5lZWRlZC4iCi1IT01FUEFHRSA9ICJodHRwOi8vZGJ1cy5mcmVlZGVza3RvcC5vcmciCi1TRUNUSU9OID0gImJhc2UiCi1MSUNFTlNFID0gIkFGTC0yIHwgR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MTBkZGVkM2I1ODE0OGYzZjFmZDgwNGIyNjM1NGFmM2UgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZGJ1cy9kYnVzLmg7YmVnaW5saW5lPTY7ZW5kbGluZT0yMDttZDU9Nzc1NWM5ZDdhYmNjZDVkYmQyNWE2YTk3NDUzOGJiM2MiCi1ERVBFTkRTID0gImV4cGF0IHZpcnR1YWwvbGliaW50bCBhdXRvY29uZi1hcmNoaXZlIgotUkRFUEVORFNfZGJ1c19jbGFzcy1uYXRpdmUgPSAiIgotUkRFUEVORFNfZGJ1c19jbGFzcy1uYXRpdmVzZGsgPSAiIgotUEFDS0FHRVMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncHRlc3QnLCAnJHtQTn0tcHRlc3QnLCAnJywgZCl9IgotQUxMT1dfRU1QVFlfZGJ1cy1wdGVzdCA9ICIxIgotUkRFUEVORFNfZGJ1cy1wdGVzdF9jbGFzcy10YXJnZXQgPSAiZGJ1cy10ZXN0LXB0ZXN0IgotCi1TUkNfVVJJID0gImh0dHA6Ly9kYnVzLmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy9kYnVzL2RidXMtJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL3RtcGRpci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kYnVzLTEuaW5pdCBcCi0gICAgICAgICAgIGZpbGU6Ly9jbGVhci1ndWlkX2Zyb21fc2VydmVyLWlmLXNlbmRfbmVnb3RpYXRlX3VuaXhfZi5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJjM2UxMmI0MjA2ZTJhN2RhMzlkN2NjNDI1Njc3OTBlZiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI0YjY5M2QyNDk3NjI1OGMzZjJmYTljYzMzYWQ5Mjg4YzVmYmZhN2ExNjQ4MWRiZDlhOGE0MjlmN2FhOGNkY2Y3IgotCi1pbmhlcml0IHVzZXJhZGQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0IHVwZGF0ZS1yYy5kIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbgotCi1JTklUU0NSSVBUX05BTUUgPSAiZGJ1cy0xIgotSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgMDIgNSAzIDIgLiBzdG9wIDIwIDAgMSA2IC4iCi0KLXB5dGhvbiBfX2Fub255bW91cygpIHsKLSAgICBpZiBub3QgYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsIFRydWUsIEZhbHNlLCBkKToKLSAgICAgICAgZC5zZXRWYXIoIklOSElCSVRfVVBEQVRFUkNEX0JCQ0xBU1MiLCAiMSIpCi19Ci0KLVVTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCi1HUk9VUEFERF9QQVJBTV8ke1BOfSA9ICItciBuZXRkZXYiCi1VU0VSQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIC0taG9tZSAke2xvY2Fsc3RhdGVkaXJ9L2xpYi9kYnVzIFwKLSAgICAgICAgICAgICAgICAgICAgICAgLS1uby1jcmVhdGUtaG9tZSAtLXNoZWxsIC9iaW4vZmFsc2UgXAotICAgICAgICAgICAgICAgICAgICAgICAtLXVzZXItZ3JvdXAgbWVzc2FnZWJ1cyIKLQotQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vZGJ1cy0xL3N5c3RlbS5jb25mICR7c3lzY29uZmRpcn0vZGJ1cy0xL3Nlc3Npb24uY29uZiIKLQotREVCSUFOTkFNRV8ke1BOfSA9ICJkYnVzLTEiCi0KLVBBQ0tBR0VTID0rICIke1BOfS1saWIiCi0KLU9MRFBLR05BTUUgPSAiZGJ1cy14MTEiCi1PTERQS0dOQU1FX2NsYXNzLW5hdGl2ZXNkayA9ICIiCi0KLSMgZm9yIGNvbXBhdGliaWxpdHkKLVJQUk9WSURFU18ke1BOfSA9ICIke09MRFBLR05BTUV9IgotUlJFUExBQ0VTXyR7UE59ICs9ICIke09MRFBLR05BTUV9IgotCi1GSUxFU18ke1BOfSA9ICIke2JpbmRpcn0vZGJ1cy1kYWVtb24qIFwKLSAgICAgICAgICAgICAgICR7YmluZGlyfS9kYnVzLXV1aWRnZW4gXAotICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2RidXMtY2xlYW51cC1zb2NrZXRzIFwKLSAgICAgICAgICAgICAgICR7YmluZGlyfS9kYnVzLXNlbmQgXAotICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2RidXMtbW9uaXRvciBcCi0gICAgICAgICAgICAgICAke2JpbmRpcn0vZGJ1cy1sYXVuY2ggXAotICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2RidXMtcnVuLXNlc3Npb24gXAotICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2RidXMtdXBkYXRlLWFjdGl2YXRpb24tZW52aXJvbm1lbnQgXAotICAgICAgICAgICAgICAgJHtsaWJleGVjZGlyfS9kYnVzKiBcCi0gICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9IFwKLSAgICAgICAgICAgICAgICR7bG9jYWxzdGF0ZWRpcn0gXAotICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc2VydmljZXMgXAotICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLXNlcnZpY2VzIFwKLSAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3Nlc3Npb24uZCBcCi0gICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zZXNzaW9uLmNvbmYgXAotICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmQgXAotICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmNvbmYgXAotICAgICAgICAgICAgICAgJHtkYXRhZGlyfS94bWwvZGJ1cy0xIFwKLSAgICAgICAgICAgICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0gXAotICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0gXAotICAgICAgICAgICAgICAgJHtub25hcmNoX2xpYmRpcn0vc3lzdXNlcnMuZC9kYnVzLmNvbmYgXAotICAgICAgICAgICAgICAgJHtub25hcmNoX2xpYmRpcn0vdG1wZmlsZXMuZC9kYnVzLmNvbmYgXAotIgotRklMRVNfJHtQTn0tbGliID0gIiR7bGliZGlyfS9saWIqLnNvLioiCi1SUkVDT01NRU5EU18ke1BOfS1saWIgPSAiJHtQTn0iCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9kYnVzLTEuMC9pbmNsdWRlICR7bGliZGlyfS9jbWFrZS9EQnVzMSAke2JpbmRpcn0vZGJ1cy10ZXN0LXRvb2wiCi0KLVBBQ0tBR0VfV1JJVEVfREVQUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQgc3lzdmluaXQnLCdzeXN0ZW1kLXN5c3RlbWN0bC1uYXRpdmUnLCcnLGQpfSIKLXBrZ19wb3N0aW5zdF9kYnVzKCkgewotCSMgSWYgYm90aCBzeXN0ZW1kIGFuZCBzeXN2aW5pdCBhcmUgZW5hYmxlZCwgbWFzayB0aGUgZGJ1cy0xIGluaXQgc2NyaXB0Ci0gICAgICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kIHN5c3Zpbml0JywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KLQkJaWYgWyAtbiAiJEQiIF07IHRoZW4KLQkJCU9QVFM9Ii0tcm9vdD0kRCIKLQkJZmkKLQkJc3lzdGVtY3RsICRPUFRTIG1hc2sgZGJ1cy0xLnNlcnZpY2UKLQlmaQotCi0JaWYgWyAteiAiJEQiIF0gJiYgWyAtZSAvZXRjL2luaXQuZC9wb3B1bGF0ZS12b2xhdGlsZS5zaCBdIDsgdGhlbgotCQkvZXRjL2luaXQuZC9wb3B1bGF0ZS12b2xhdGlsZS5zaCB1cGRhdGUKLQlmaQotfQotCi1FWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXRlc3RzIFwKLSAgICAgICAgICAgICAgICAtLWRpc2FibGUteG1sLWRvY3MgXAotICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1kb3h5Z2VuLWRvY3MgXAotICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1saWJhdWRpdCBcCi0gICAgICAgICAgICAgICAgLS1lbmFibGUtbGFyZ2VmaWxlIFwKLSAgICAgICAgICAgICAgICAiCi0KLUVYVFJBX09FQ09ORl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBTWVNURU1DVEw9JHtiYXNlX2JpbmRpcn0vc3lzdGVtY3RsIgotRVhUUkFfT0VDT05GX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIC0tZGlzYWJsZS1zZWxpbnV4IgotCi1QQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCB4MTEnLCBkKX0gXAotICAgICAgICAgICAgICAgICAgIHVzZXItc2Vzc2lvbiBcCi0gICAgICAgICAgICAgICAgICAiCi0KLVBBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlID0gIiIKLVBBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlc2RrID0gIiIKLQotUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLWVuYWJsZS1zeXN0ZW1kIC0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9LC0tZGlzYWJsZS1zeXN0ZW1kIC0td2l0aG91dC1zeXN0ZW1kc3lzdGVtdW5pdGRpcixzeXN0ZW1kIgotUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0td2l0aC14IC0tZW5hYmxlLXgxMS1hdXRvbGF1bmNoLC0td2l0aG91dC14IC0tZGlzYWJsZS14MTEtYXV0b2xhdW5jaCwgdmlydHVhbC9saWJ4MTEgbGlic20iCi1QQUNLQUdFQ09ORklHW3VzZXItc2Vzc2lvbl0gPSAiLS1lbmFibGUtdXNlci1zZXNzaW9uIC0td2l0aC1zeXN0ZW1kdXNlcnVuaXRkaXI9JHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0sLS1kaXNhYmxlLXVzZXItc2Vzc2lvbiIKLQotZG9faW5zdGFsbCgpIHsKLQlhdXRvdG9vbHNfZG9faW5zdGFsbAotCi0JaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0JCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCi0JCXNlZCAnczpAYmluZGlyQDoke2JpbmRpcn06JyA8ICR7V09SS0RJUn0vZGJ1cy0xLmluaXQgPiR7V09SS0RJUn0vZGJ1cy0xLmluaXQuc2gKLQkJaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vZGJ1cy0xLmluaXQuc2ggJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2RidXMtMQotCWZpCi0KLQlpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgotCQlmb3IgaSBpbiBkYnVzLnRhcmdldC53YW50cyBzb2NrZXRzLnRhcmdldC53YW50cyBtdWx0aS11c2VyLnRhcmdldC53YW50czsgZG8gXAotCQkJaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS8kaTsgZG9uZQotCQlpbnN0YWxsIC1tIDA2NDQgJHtCfS9idXMvZGJ1cy5zZXJ2aWNlICR7Qn0vYnVzL2RidXMuc29ja2V0ICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9LwotCQlsbiAtZnMgLi4vZGJ1cy5zb2NrZXQgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vZGJ1cy50YXJnZXQud2FudHMvZGJ1cy5zb2NrZXQKLQkJbG4gLWZzIC4uL2RidXMuc29ja2V0ICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3NvY2tldHMudGFyZ2V0LndhbnRzL2RidXMuc29ja2V0Ci0JCWxuIC1mcyAuLi9kYnVzLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vbXVsdGktdXNlci50YXJnZXQud2FudHMvZGJ1cy5zZXJ2aWNlCi0JZmkKLQotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMKLQllY2hvICJkIG1lc3NhZ2VidXMgbWVzc2FnZWJ1cyAwNzU1ICR7bG9jYWxzdGF0ZWRpcn0vcnVuL2RidXMgbm9uZSIgXAotCSAgICAgPiAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcy85OV9kYnVzCi0KLQotCW1rZGlyIC1wICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9kYnVzCi0KLQljaG93biBtZXNzYWdlYnVzOm1lc3NhZ2VidXMgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliL2RidXMKLQotCWNob3duIHJvb3Q6bWVzc2FnZWJ1cyAke0R9JHtsaWJleGVjZGlyfS9kYnVzLWRhZW1vbi1sYXVuY2gtaGVscGVyCi0JY2htb2QgNDc1NSAke0R9JHtsaWJleGVjZGlyfS9kYnVzLWRhZW1vbi1sYXVuY2gtaGVscGVyCi0KLQkjIFJlbW92ZSBSZWQgSGF0IGluaXRzY3JpcHQKLQlybSAtcmYgJHtEfSR7c3lzY29uZmRpcn0vcmMuZAotCi0JIyBSZW1vdmUgZW1wdHkgdGVzdGV4ZWMgZGlyZWN0b3J5IGFzIHdlIGRvbid0IGJ1aWxkIHRlc3RzCi0Jcm0gLXJmICR7RH0ke2xpYmRpcn0vZGJ1cy0xLjAvdGVzdAotCi0JIyBSZW1vdmUgL3Zhci9ydW4gYXMgaXQgaXMgY3JlYXRlZCBvbiBzdGFydHVwCi0Jcm0gLXJmICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bgotfQotCi1kb19pbnN0YWxsX2NsYXNzLW5hdGl2ZSgpIHsKLQlhdXRvdG9vbHNfZG9faW5zdGFsbAotCi0JIyBkYnVzLWxhdW5jaCBoYXMgbm8gWCBzdXBwb3J0IHNvIGxldHMgbm90IGluc3RhbGwgaXQgaW4gY2FzZSB0aGUgaG9zdAotCSMgaGFzIGEgbW9yZSBmZWF0dXJlZCBhbmQgdXNlZnVsIHZlcnNpb24KLQlybSAtZiAke0R9JHtiaW5kaXJ9L2RidXMtbGF1bmNoCi19Ci0KLWRvX2luc3RhbGxfY2xhc3MtbmF0aXZlc2RrKCkgewotCWF1dG90b29sc19kb19pbnN0YWxsCi0KLQkjIGRidXMtbGF1bmNoIGhhcyBubyBYIHN1cHBvcnQgc28gbGV0cyBub3QgaW5zdGFsbCBpdCBpbiBjYXNlIHRoZSBob3N0Ci0JIyBoYXMgYSBtb3JlIGZlYXR1cmVkIGFuZCB1c2VmdWwgdmVyc2lvbgotCXJtIC1mICR7RH0ke2JpbmRpcn0vZGJ1cy1sYXVuY2gKLQotCSMgUmVtb3ZlIC92YXIvcnVuIHRvIGF2b2lkIFFBIGVycm9yCi0Jcm0gLXJmICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bgotfQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgotCi1JTlNBTkVfU0tJUF8ke1BOfS1wdGVzdCArPSAiYnVpbGQtZGVwcyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZGJ1cy9kYnVzXzEuMTIuMTIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2RidXMvZGJ1c18xLjEyLjEyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlOWJlNzkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2RidXMvZGJ1c18xLjEyLjEyLmJiCkBAIC0wLDAgKzEsMTc1IEBACitTVU1NQVJZID0gIkQtQnVzIG1lc3NhZ2UgYnVzIgorREVTQ1JJUFRJT04gPSAiRC1CdXMgaXMgYSBtZXNzYWdlIGJ1cyBzeXN0ZW0sIGEgc2ltcGxlIHdheSBmb3IgYXBwbGljYXRpb25zIHRvIHRhbGsgdG8gb25lIGFub3RoZXIuIEluIGFkZGl0aW9uIHRvIGludGVycHJvY2VzcyBjb21tdW5pY2F0aW9uLCBELUJ1cyBoZWxwcyBjb29yZGluYXRlIHByb2Nlc3MgbGlmZWN5Y2xlOyBpdCBtYWtlcyBpdCBzaW1wbGUgYW5kIHJlbGlhYmxlIHRvIGNvZGUgYSBcInNpbmdsZSBpbnN0YW5jZVwiIGFwcGxpY2F0aW9uIG9yIGRhZW1vbiwgYW5kIHRvIGxhdW5jaCBhcHBsaWNhdGlvbnMgYW5kIGRhZW1vbnMgb24gZGVtYW5kIHdoZW4gdGhlaXIgc2VydmljZXMgYXJlIG5lZWRlZC4iCitIT01FUEFHRSA9ICJodHRwOi8vZGJ1cy5mcmVlZGVza3RvcC5vcmciCitTRUNUSU9OID0gImJhc2UiCitMSUNFTlNFID0gIkFGTC0yIHwgR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MTBkZGVkM2I1ODE0OGYzZjFmZDgwNGIyNjM1NGFmM2UgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZGJ1cy9kYnVzLmg7YmVnaW5saW5lPTY7ZW5kbGluZT0yMDttZDU9Nzc1NWM5ZDdhYmNjZDVkYmQyNWE2YTk3NDUzOGJiM2MiCitERVBFTkRTID0gImV4cGF0IHZpcnR1YWwvbGliaW50bCBhdXRvY29uZi1hcmNoaXZlIgorUkRFUEVORFNfZGJ1c19jbGFzcy1uYXRpdmUgPSAiIgorUkRFUEVORFNfZGJ1c19jbGFzcy1uYXRpdmVzZGsgPSAiIgorUEFDS0FHRVMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncHRlc3QnLCAnJHtQTn0tcHRlc3QnLCAnJywgZCl9IgorQUxMT1dfRU1QVFlfZGJ1cy1wdGVzdCA9ICIxIgorUkRFUEVORFNfZGJ1cy1wdGVzdF9jbGFzcy10YXJnZXQgPSAiZGJ1cy10ZXN0LXB0ZXN0IgorCitTUkNfVVJJID0gImh0dHA6Ly9kYnVzLmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy9kYnVzL2RidXMtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3RtcGRpci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kYnVzLTEuaW5pdCBcCisgICAgICAgICAgIGZpbGU6Ly9jbGVhci1ndWlkX2Zyb21fc2VydmVyLWlmLXNlbmRfbmVnb3RpYXRlX3VuaXhfZi5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlYTExMDY5NTIxYmVlZWU0ZTQ3ZjAwODY1OTZhNDNjOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5NTQ2ZjIyNjAxMWExZTVkOWQ3NzI0NWZlNTU0OWVmMjVhZjQ2OTQwNTMxODlkNjI0ZDBkNmFjMTI3ZWNmNWY4IgorCitpbmhlcml0IHVzZXJhZGQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0IHVwZGF0ZS1yYy5kIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbgorCitJTklUU0NSSVBUX05BTUUgPSAiZGJ1cy0xIgorSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgMDIgNSAzIDIgLiBzdG9wIDIwIDAgMSA2IC4iCisKK3B5dGhvbiBfX2Fub255bW91cygpIHsKKyAgICBpZiBub3QgYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsIFRydWUsIEZhbHNlLCBkKToKKyAgICAgICAgZC5zZXRWYXIoIklOSElCSVRfVVBEQVRFUkNEX0JCQ0xBU1MiLCAiMSIpCit9CisKK1VTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCitHUk9VUEFERF9QQVJBTV8ke1BOfSA9ICItciBuZXRkZXYiCitVU0VSQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIC0taG9tZSAke2xvY2Fsc3RhdGVkaXJ9L2xpYi9kYnVzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgLS1uby1jcmVhdGUtaG9tZSAtLXNoZWxsIC9iaW4vZmFsc2UgXAorICAgICAgICAgICAgICAgICAgICAgICAtLXVzZXItZ3JvdXAgbWVzc2FnZWJ1cyIKKworQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vZGJ1cy0xL3N5c3RlbS5jb25mICR7c3lzY29uZmRpcn0vZGJ1cy0xL3Nlc3Npb24uY29uZiIKKworREVCSUFOTkFNRV8ke1BOfSA9ICJkYnVzLTEiCisKK1BBQ0tBR0VTID0rICIke1BOfS1saWIiCisKK09MRFBLR05BTUUgPSAiZGJ1cy14MTEiCitPTERQS0dOQU1FX2NsYXNzLW5hdGl2ZXNkayA9ICIiCisKKyMgZm9yIGNvbXBhdGliaWxpdHkKK1JQUk9WSURFU18ke1BOfSA9ICIke09MRFBLR05BTUV9IgorUlJFUExBQ0VTXyR7UE59ICs9ICIke09MRFBLR05BTUV9IgorCitGSUxFU18ke1BOfSA9ICIke2JpbmRpcn0vZGJ1cy1kYWVtb24qIFwKKyAgICAgICAgICAgICAgICR7YmluZGlyfS9kYnVzLXV1aWRnZW4gXAorICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2RidXMtY2xlYW51cC1zb2NrZXRzIFwKKyAgICAgICAgICAgICAgICR7YmluZGlyfS9kYnVzLXNlbmQgXAorICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2RidXMtbW9uaXRvciBcCisgICAgICAgICAgICAgICAke2JpbmRpcn0vZGJ1cy1sYXVuY2ggXAorICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2RidXMtcnVuLXNlc3Npb24gXAorICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2RidXMtdXBkYXRlLWFjdGl2YXRpb24tZW52aXJvbm1lbnQgXAorICAgICAgICAgICAgICAgJHtsaWJleGVjZGlyfS9kYnVzKiBcCisgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9IFwKKyAgICAgICAgICAgICAgICR7bG9jYWxzdGF0ZWRpcn0gXAorICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc2VydmljZXMgXAorICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLXNlcnZpY2VzIFwKKyAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3Nlc3Npb24uZCBcCisgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zZXNzaW9uLmNvbmYgXAorICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmQgXAorICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmNvbmYgXAorICAgICAgICAgICAgICAgJHtkYXRhZGlyfS94bWwvZGJ1cy0xIFwKKyAgICAgICAgICAgICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0gXAorICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0gXAorICAgICAgICAgICAgICAgJHtub25hcmNoX2xpYmRpcn0vc3lzdXNlcnMuZC9kYnVzLmNvbmYgXAorICAgICAgICAgICAgICAgJHtub25hcmNoX2xpYmRpcn0vdG1wZmlsZXMuZC9kYnVzLmNvbmYgXAorIgorRklMRVNfJHtQTn0tbGliID0gIiR7bGliZGlyfS9saWIqLnNvLioiCitSUkVDT01NRU5EU18ke1BOfS1saWIgPSAiJHtQTn0iCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9kYnVzLTEuMC9pbmNsdWRlICR7bGliZGlyfS9jbWFrZS9EQnVzMSAke2JpbmRpcn0vZGJ1cy10ZXN0LXRvb2wiCisKK1BBQ0tBR0VfV1JJVEVfREVQUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQgc3lzdmluaXQnLCdzeXN0ZW1kLXN5c3RlbWN0bC1uYXRpdmUnLCcnLGQpfSIKK3BrZ19wb3N0aW5zdF9kYnVzKCkgeworCSMgSWYgYm90aCBzeXN0ZW1kIGFuZCBzeXN2aW5pdCBhcmUgZW5hYmxlZCwgbWFzayB0aGUgZGJ1cy0xIGluaXQgc2NyaXB0CisgICAgICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kIHN5c3Zpbml0JywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KKwkJaWYgWyAtbiAiJEQiIF07IHRoZW4KKwkJCU9QVFM9Ii0tcm9vdD0kRCIKKwkJZmkKKwkJc3lzdGVtY3RsICRPUFRTIG1hc2sgZGJ1cy0xLnNlcnZpY2UKKwlmaQorCisJaWYgWyAteiAiJEQiIF0gJiYgWyAtZSAvZXRjL2luaXQuZC9wb3B1bGF0ZS12b2xhdGlsZS5zaCBdIDsgdGhlbgorCQkvZXRjL2luaXQuZC9wb3B1bGF0ZS12b2xhdGlsZS5zaCB1cGRhdGUKKwlmaQorfQorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXRlc3RzIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUteG1sLWRvY3MgXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1kb3h5Z2VuLWRvY3MgXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1saWJhdWRpdCBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtbGFyZ2VmaWxlIFwKKyAgICAgICAgICAgICAgICAiCisKK0VYVFJBX09FQ09ORl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBTWVNURU1DVEw9JHtiYXNlX2JpbmRpcn0vc3lzdGVtY3RsIgorRVhUUkFfT0VDT05GX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIC0tZGlzYWJsZS1zZWxpbnV4IgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCB4MTEnLCBkKX0gXAorICAgICAgICAgICAgICAgICAgIHVzZXItc2Vzc2lvbiBcCisgICAgICAgICAgICAgICAgICAiCisKK1BBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlID0gIiIKK1BBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlc2RrID0gIiIKKworUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLWVuYWJsZS1zeXN0ZW1kIC0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9LC0tZGlzYWJsZS1zeXN0ZW1kIC0td2l0aG91dC1zeXN0ZW1kc3lzdGVtdW5pdGRpcixzeXN0ZW1kIgorUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0td2l0aC14IC0tZW5hYmxlLXgxMS1hdXRvbGF1bmNoLC0td2l0aG91dC14IC0tZGlzYWJsZS14MTEtYXV0b2xhdW5jaCwgdmlydHVhbC9saWJ4MTEgbGlic20iCitQQUNLQUdFQ09ORklHW3VzZXItc2Vzc2lvbl0gPSAiLS1lbmFibGUtdXNlci1zZXNzaW9uIC0td2l0aC1zeXN0ZW1kdXNlcnVuaXRkaXI9JHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0sLS1kaXNhYmxlLXVzZXItc2Vzc2lvbiIKKworZG9faW5zdGFsbCgpIHsKKwlhdXRvdG9vbHNfZG9faW5zdGFsbAorCisJaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisJCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisJCXNlZCAnczpAYmluZGlyQDoke2JpbmRpcn06JyA8ICR7V09SS0RJUn0vZGJ1cy0xLmluaXQgPiR7V09SS0RJUn0vZGJ1cy0xLmluaXQuc2gKKwkJaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vZGJ1cy0xLmluaXQuc2ggJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2RidXMtMQorCQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzCisJCWVjaG8gImQgbWVzc2FnZWJ1cyBtZXNzYWdlYnVzIDA3NTUgJHtsb2NhbHN0YXRlZGlyfS9ydW4vZGJ1cyBub25lIiBcCisJCSAgICAgPiAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcy85OV9kYnVzCisJZmkKKworCWlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisJCWZvciBpIGluIGRidXMudGFyZ2V0LndhbnRzIHNvY2tldHMudGFyZ2V0LndhbnRzIG11bHRpLXVzZXIudGFyZ2V0LndhbnRzOyBkbyBcCisJCQlpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9LyRpOyBkb25lCisJCWluc3RhbGwgLW0gMDY0NCAke0J9L2J1cy9kYnVzLnNlcnZpY2UgJHtCfS9idXMvZGJ1cy5zb2NrZXQgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vCisJCWxuIC1mcyAuLi9kYnVzLnNvY2tldCAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9kYnVzLnRhcmdldC53YW50cy9kYnVzLnNvY2tldAorCQlsbiAtZnMgLi4vZGJ1cy5zb2NrZXQgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vc29ja2V0cy50YXJnZXQud2FudHMvZGJ1cy5zb2NrZXQKKwkJbG4gLWZzIC4uL2RidXMuc2VydmljZSAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9tdWx0aS11c2VyLnRhcmdldC53YW50cy9kYnVzLnNlcnZpY2UKKwlmaQorCisKKwlta2RpciAtcCAke0R9JHtsb2NhbHN0YXRlZGlyfS9saWIvZGJ1cworCisJY2hvd24gbWVzc2FnZWJ1czptZXNzYWdlYnVzICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9kYnVzCisKKwljaG93biByb290Om1lc3NhZ2VidXMgJHtEfSR7bGliZXhlY2Rpcn0vZGJ1cy1kYWVtb24tbGF1bmNoLWhlbHBlcgorCWNobW9kIDQ3NTUgJHtEfSR7bGliZXhlY2Rpcn0vZGJ1cy1kYWVtb24tbGF1bmNoLWhlbHBlcgorCisJIyBSZW1vdmUgUmVkIEhhdCBpbml0c2NyaXB0CisJcm0gLXJmICR7RH0ke3N5c2NvbmZkaXJ9L3JjLmQKKworCSMgUmVtb3ZlIGVtcHR5IHRlc3RleGVjIGRpcmVjdG9yeSBhcyB3ZSBkb24ndCBidWlsZCB0ZXN0cworCXJtIC1yZiAke0R9JHtsaWJkaXJ9L2RidXMtMS4wL3Rlc3QKKworCSMgUmVtb3ZlIC92YXIvcnVuIGFzIGl0IGlzIGNyZWF0ZWQgb24gc3RhcnR1cAorCXJtIC1yZiAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4KK30KKworZG9faW5zdGFsbF9jbGFzcy1uYXRpdmUoKSB7CisJYXV0b3Rvb2xzX2RvX2luc3RhbGwKKworCSMgZGJ1cy1sYXVuY2ggaGFzIG5vIFggc3VwcG9ydCBzbyBsZXRzIG5vdCBpbnN0YWxsIGl0IGluIGNhc2UgdGhlIGhvc3QKKwkjIGhhcyBhIG1vcmUgZmVhdHVyZWQgYW5kIHVzZWZ1bCB2ZXJzaW9uCisJcm0gLWYgJHtEfSR7YmluZGlyfS9kYnVzLWxhdW5jaAorfQorCitkb19pbnN0YWxsX2NsYXNzLW5hdGl2ZXNkaygpIHsKKwlhdXRvdG9vbHNfZG9faW5zdGFsbAorCisJIyBkYnVzLWxhdW5jaCBoYXMgbm8gWCBzdXBwb3J0IHNvIGxldHMgbm90IGluc3RhbGwgaXQgaW4gY2FzZSB0aGUgaG9zdAorCSMgaGFzIGEgbW9yZSBmZWF0dXJlZCBhbmQgdXNlZnVsIHZlcnNpb24KKwlybSAtZiAke0R9JHtiaW5kaXJ9L2RidXMtbGF1bmNoCisKKwkjIFJlbW92ZSAvdmFyL3J1biB0byBhdm9pZCBRQSBlcnJvcgorCXJtIC1yZiAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4KK30KK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworSU5TQU5FX1NLSVBfJHtQTn0tcHRlc3QgKz0gImJ1aWxkLWRlcHMiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Ryb3BiZWFyL2Ryb3BiZWFyLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZHJvcGJlYXIvZHJvcGJlYXIuaW5jCmluZGV4IGQ5MmEyZjMuLjNmYmRiNWUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZHJvcGJlYXIvZHJvcGJlYXIuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZHJvcGJlYXIvZHJvcGJlYXIuaW5jCkBAIC0xMyw3ICsxMyw2IEBACiBERVBFTkRTICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdsaWJwYW0nLCAnJywgZCl9IgogCiBTUkNfVVJJID0gImh0dHA6Ly9tYXR0LnVjYy5hc24uYXUvZHJvcGJlYXIvcmVsZWFzZXMvZHJvcGJlYXItJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOC0xNTU5OS5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLXVyYW5kb20teGF1dGgtY2hhbmdlcy10by1vcHRpb25zLmgucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vaW5pdCBcCiAgICAgICAgICAgIGZpbGU6Ly9kcm9wYmVhcmtleS5zZXJ2aWNlIFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZHJvcGJlYXIvZHJvcGJlYXIvQ1ZFLTIwMTgtMTU1OTkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Ryb3BiZWFyL2Ryb3BiZWFyL0NWRS0yMDE4LTE1NTk5LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MTI1NDVjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZHJvcGJlYXIvZHJvcGJlYXIvQ1ZFLTIwMTgtMTU1OTkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMzYgKzAsMCBAQAotRnJvbSAyNTZlMmFiYjgxNTBmOWZlYTMzY2QwMjY1OTdkYmU3MGYwMzc5Mjk2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWF0dCBKb2huc3RvbiA8bWF0dEB1Y2MuYXNuLmF1PgotRGF0ZTogVGh1LCAyMyBBdWcgMjAxOCAyMzo0MzoxMiArMDgwMAotU3ViamVjdDogW1BBVENIXSBXYWl0IHRvIGZhaWwgaW52YWxpZCB1c2VybmFtZXMKLQotV2FpdCB0byBmYWlsIGludmFsaWQgdXNlcm5hbWVzCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vc2VjdXJlLnVjYy5hc24uYXUvaGcvZHJvcGJlYXIvcmV2LzVkMmQxMDIxY2EwMF0KLUNWRTogQ1ZFLTIwMTgtMTU1OTkKLVNpZ25lZC1vZmYtYnk6IE1pbmdsaSBZdSA8TWluZ2xpLll1QHdpbmRyaXZlci5jb20+Ci0tLS0KLSBhdXRoLmggICAgICAgICAgIHwgIDYgKysrLS0tCi0gc3ZyLWF1dGguYyAgICAgICB8IDE5ICsrKysrLS0tLS0tLS0tLS0tLS0KLSBzdnItYXV0aHBhbS5jICAgIHwgMjYgKysrKysrKysrKysrKysrKysrKysrKy0tLS0KLSBzdnItYXV0aHBhc3N3ZC5jIHwgMjcgKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCi0gc3ZyLWF1dGhwdWJrZXkuYyB8IDExICsrKysrKysrKystCi0gNSBmaWxlcyBjaGFuZ2VkLCA1NCBpbnNlcnRpb25zKCspLCAzNSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2F1dGguaCBiL2F1dGguaAotaW5kZXggZGE0OThmNS4uOThmNTQ2OCAxMDA2NDQKLS0tLSBhL2F1dGguaAotKysrIGIvYXV0aC5oCi1AQCAtMzcsOSArMzcsOSBAQCB2b2lkIHJlY3ZfbXNnX3VzZXJhdXRoX3JlcXVlc3Qodm9pZCk7Ci0gdm9pZCBzZW5kX21zZ191c2VyYXV0aF9mYWlsdXJlKGludCBwYXJ0aWFsLCBpbnQgaW5jcmZhaWwpOwotIHZvaWQgc2VuZF9tc2dfdXNlcmF1dGhfc3VjY2Vzcyh2b2lkKTsKLSB2b2lkIHNlbmRfbXNnX3VzZXJhdXRoX2Jhbm5lcihjb25zdCBidWZmZXIgKm1zZyk7Ci0tdm9pZCBzdnJfYXV0aF9wYXNzd29yZCh2b2lkKTsKLS12b2lkIHN2cl9hdXRoX3B1YmtleSh2b2lkKTsKLS12b2lkIHN2cl9hdXRoX3BhbSh2b2lkKTsKLSt2b2lkIHN2cl9hdXRoX3Bhc3N3b3JkKGludCB2YWxpZF91c2VyKTsKLSt2b2lkIHN2cl9hdXRoX3B1YmtleShpbnQgdmFsaWRfdXNlcik7Ci0rdm9pZCBzdnJfYXV0aF9wYW0oaW50IHZhbGlkX3VzZXIpOwotIAotICNpZiBEUk9QQkVBUl9TVlJfUFVCS0VZX09QVElPTlNfQlVJTFQKLSBpbnQgc3ZyX3B1YmtleV9hbGxvd3NfYWdlbnRmd2Qodm9pZCk7Ci1kaWZmIC0tZ2l0IGEvc3ZyLWF1dGguYyBiL3N2ci1hdXRoLmMKLWluZGV4IDY0ZDk3YWEuLjFmMzY0Y2EgMTAwNjQ0Ci0tLS0gYS9zdnItYXV0aC5jCi0rKysgYi9zdnItYXV0aC5jCi1AQCAtMTQ5LDEwICsxNDksOCBAQCB2b2lkIHJlY3ZfbXNnX3VzZXJhdXRoX3JlcXVlc3QoKSB7Ci0gCQlpZiAobWV0aG9kbGVuID09IEFVVEhfTUVUSE9EX1BBU1NXT1JEX0xFTiAmJgotIAkJCQlzdHJuY21wKG1ldGhvZG5hbWUsIEFVVEhfTUVUSE9EX1BBU1NXT1JELAotIAkJCQkJQVVUSF9NRVRIT0RfUEFTU1dPUkRfTEVOKSA9PSAwKSB7Ci0tCQkJaWYgKHZhbGlkX3VzZXIpIHsKLS0JCQkJc3ZyX2F1dGhfcGFzc3dvcmQoKTsKLS0JCQkJZ290byBvdXQ7Ci0tCQkJfQotKwkJCXN2cl9hdXRoX3Bhc3N3b3JkKHZhbGlkX3VzZXIpOwotKwkJCWdvdG8gb3V0OwotIAkJfQotIAl9Ci0gI2VuZGlmCi1AQCAtMTY0LDEwICsxNjIsOCBAQCB2b2lkIHJlY3ZfbXNnX3VzZXJhdXRoX3JlcXVlc3QoKSB7Ci0gCQlpZiAobWV0aG9kbGVuID09IEFVVEhfTUVUSE9EX1BBU1NXT1JEX0xFTiAmJgotIAkJCQlzdHJuY21wKG1ldGhvZG5hbWUsIEFVVEhfTUVUSE9EX1BBU1NXT1JELAotIAkJCQkJQVVUSF9NRVRIT0RfUEFTU1dPUkRfTEVOKSA9PSAwKSB7Ci0tCQkJaWYgKHZhbGlkX3VzZXIpIHsKLS0JCQkJc3ZyX2F1dGhfcGFtKCk7Ci0tCQkJCWdvdG8gb3V0OwotLQkJCX0KLSsJCQlzdnJfYXV0aF9wYW0odmFsaWRfdXNlcik7Ci0rCQkJZ290byBvdXQ7Ci0gCQl9Ci0gCX0KLSAjZW5kaWYKLUBAIC0xNzcsMTIgKzE3Myw3IEBAIHZvaWQgcmVjdl9tc2dfdXNlcmF1dGhfcmVxdWVzdCgpIHsKLSAJaWYgKG1ldGhvZGxlbiA9PSBBVVRIX01FVEhPRF9QVUJLRVlfTEVOICYmCi0gCQkJc3RybmNtcChtZXRob2RuYW1lLCBBVVRIX01FVEhPRF9QVUJLRVksCi0gCQkJCUFVVEhfTUVUSE9EX1BVQktFWV9MRU4pID09IDApIHsKLS0JCWlmICh2YWxpZF91c2VyKSB7Ci0tCQkJc3ZyX2F1dGhfcHVia2V5KCk7Ci0tCQl9IGVsc2UgewotLQkJCS8qIHB1YmtleSBoYXMgbm8gZmFpbHVyZSBkZWxheSAqLwotLQkJCXNlbmRfbXNnX3VzZXJhdXRoX2ZhaWx1cmUoMCwgMCk7Ci0tCQl9Ci0rCQlzdnJfYXV0aF9wdWJrZXkodmFsaWRfdXNlcik7Ci0gCQlnb3RvIG91dDsKLSAJfQotICNlbmRpZgotZGlmZiAtLWdpdCBhL3N2ci1hdXRocGFtLmMgYi9zdnItYXV0aHBhbS5jCi1pbmRleCAwNWU0ZjNlLi5kMjAxYmM5IDEwMDY0NAotLS0tIGEvc3ZyLWF1dGhwYW0uYwotKysrIGIvc3ZyLWF1dGhwYW0uYwotQEAgLTE3OCwxMyArMTc4LDE0IEBAIHBhbUNvbnZGdW5jKGludCBudW1fbXNnLAotICAqIEtleWJvYXJkIGludGVyYWN0aXZlIHdvdWxkIGJlIGEgbG90IG5pY2VyLCBidXQgc2luY2UgUEFNIGlzIHN5bmNocm9ub3VzLCBpdAotICAqIGdldHMgdmVyeSBtZXNzeSB0cnlpbmcgdG8gc2VuZCB0aGUgaW50ZXJhY3RpdmUgY2hhbGxlbmdlcywgYW5kIHJlYWQgdGhlCi0gICogaW50ZXJhY3RpdmUgcmVzcG9uc2VzLCBvdmVyIHRoZSBuZXR3b3JrLiAqLwotLXZvaWQgc3ZyX2F1dGhfcGFtKCkgewotK3ZvaWQgc3ZyX2F1dGhfcGFtKGludCB2YWxpZF91c2VyKSB7Ci0gCi0gCXN0cnVjdCBVc2VyRGF0YVMgdXNlckRhdGEgPSB7TlVMTCwgTlVMTH07Ci0gCXN0cnVjdCBwYW1fY29udiBwYW1Db252ID0gewotIAkJcGFtQ29udkZ1bmMsCi0gCQkmdXNlckRhdGEgLyogc3VibWl0dGVkIHRvIHBhbXZDb252RnVuYyBhcyBhcHBkYXRhX3B0ciAqLyAKLSAJfTsKLSsJY29uc3QgY2hhciogcHJpbnRhYmxlX3VzZXIgPSBOVUxMOwotIAotIAlwYW1faGFuZGxlX3QqIHBhbUhhbmRsZXAgPSBOVUxMOwotIAotQEAgLTIwNCwxMiArMjA1LDIzIEBAIHZvaWQgc3ZyX2F1dGhfcGFtKCkgewotIAotIAlwYXNzd29yZCA9IGJ1Zl9nZXRzdHJpbmcoc2VzLnBheWxvYWQsICZwYXNzd29yZGxlbik7Ci0gCi0rCS8qIFdlIHJ1biB0aGUgUEFNIGNvbnZlcnNhdGlvbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIHVzZXJuYW1lIGlzIHZhbGlkCi0rCWluIGNhc2UgdGhlIGNvbnZlcnNhdGlvbiBmdW5jdGlvbiBoYXMgYW4gaW5oZXJlbnQgZGVsYXkuCi0rCVVzZSBzZXMuYXV0aHN0YXRlLnVzZXJuYW1lIHJhdGhlciB0aGFuIHNlcy5hdXRoc3RhdGUucHdfbmFtZS4KLSsJQWZ0ZXIgUEFNIHN1Y2NlZWRzIHdlIHRoZW4gY2hlY2sgdGhlIHZhbGlkX3VzZXIgZmxhZyB0b28gKi8KLSsKLSAJLyogdXNlZCB0byBwYXNzIGRhdGEgdG8gdGhlIFBBTSBjb252ZXJzYXRpb24gZnVuY3Rpb24gLSBkb24ndCBib3RoZXIgd2l0aAotIAkgKiBzdHJkdXAoKSBldGMgc2luY2UgdGhlc2UgYXJlIHRvdWNoZWQgb25seSBieSBvdXIgb3duIGNvbnZlcnNhdGlvbgotIAkgKiBmdW5jdGlvbiAoYWJvdmUpIHdoaWNoIHRha2VzIGNhcmUgb2YgaXQgKi8KLS0JdXNlckRhdGEudXNlciA9IHNlcy5hdXRoc3RhdGUucHdfbmFtZTsKLSsJdXNlckRhdGEudXNlciA9IHNlcy5hdXRoc3RhdGUudXNlcm5hbWU7Ci0gCXVzZXJEYXRhLnBhc3N3ZCA9IHBhc3N3b3JkOwotIAotKwlpZiAoc2VzLmF1dGhzdGF0ZS5wd19uYW1lKSB7Ci0rCQlwcmludGFibGVfdXNlciA9IHNlcy5hdXRoc3RhdGUucHdfbmFtZTsKLSsJfSBlbHNlIHsKLSsJCXByaW50YWJsZV91c2VyID0gIjxpbnZhbGlkIHVzZXJuYW1lPiI7Ci0rCX0KLSsKLSAJLyogSW5pdCBwYW0gKi8KLSAJaWYgKChyYyA9IHBhbV9zdGFydCgic3NoZCIsIE5VTEwsICZwYW1Db252LCAmcGFtSGFuZGxlcCkpICE9IFBBTV9TVUNDRVNTKSB7Ci0gCQlkcm9wYmVhcl9sb2coTE9HX1dBUk5JTkcsICJwYW1fc3RhcnQoKSBmYWlsZWQsIHJjPSVkLCAlcyIsIAotQEAgLTI0Miw3ICsyNTQsNyBAQCB2b2lkIHN2cl9hdXRoX3BhbSgpIHsKLSAJCQkJcmMsIHBhbV9zdHJlcnJvcihwYW1IYW5kbGVwLCByYykpOwotIAkJZHJvcGJlYXJfbG9nKExPR19XQVJOSU5HLAotIAkJCQkiQmFkIFBBTSBwYXNzd29yZCBhdHRlbXB0IGZvciAnJXMnIGZyb20gJXMiLAotLQkJCQlzZXMuYXV0aHN0YXRlLnB3X25hbWUsCi0rCQkJCXByaW50YWJsZV91c2VyLAotIAkJCQlzdnJfc2VzLmFkZHJzdHJpbmcpOwotIAkJc2VuZF9tc2dfdXNlcmF1dGhfZmFpbHVyZSgwLCAxKTsKLSAJCWdvdG8gY2xlYW51cDsKLUBAIC0yNTMsMTIgKzI2NSwxOCBAQCB2b2lkIHN2cl9hdXRoX3BhbSgpIHsKLSAJCQkJcmMsIHBhbV9zdHJlcnJvcihwYW1IYW5kbGVwLCByYykpOwotIAkJZHJvcGJlYXJfbG9nKExPR19XQVJOSU5HLAotIAkJCQkiQmFkIFBBTSBwYXNzd29yZCBhdHRlbXB0IGZvciAnJXMnIGZyb20gJXMiLAotLQkJCQlzZXMuYXV0aHN0YXRlLnB3X25hbWUsCi0rCQkJCXByaW50YWJsZV91c2VyLAotIAkJCQlzdnJfc2VzLmFkZHJzdHJpbmcpOwotIAkJc2VuZF9tc2dfdXNlcmF1dGhfZmFpbHVyZSgwLCAxKTsKLSAJCWdvdG8gY2xlYW51cDsKLSAJfQotIAotKwlpZiAoIXZhbGlkX3VzZXIpIHsKLSsJCS8qIFBBTSBhdXRoIHN1Y2NlZWRlZCBidXQgdGhlIHVzZXJuYW1lIGlzbid0IGFsbG93ZWQgaW4gZm9yIGFub3RoZXIgcmVhc29uCi0rCQkoY2hlY2t1c2VybmFtZSgpIGZhaWxlZCkgKi8KLSsJCXNlbmRfbXNnX3VzZXJhdXRoX2ZhaWx1cmUoMCwgMSk7Ci0rCX0KLSsKLSAJLyogc3VjY2Vzc2Z1bCBhdXRoZW50aWNhdGlvbiAqLwotIAlkcm9wYmVhcl9sb2coTE9HX05PVElDRSwgIlBBTSBwYXNzd29yZCBhdXRoIHN1Y2NlZWRlZCBmb3IgJyVzJyBmcm9tICVzIiwKLSAJCQlzZXMuYXV0aHN0YXRlLnB3X25hbWUsCi1kaWZmIC0tZ2l0IGEvc3ZyLWF1dGhwYXNzd2QuYyBiL3N2ci1hdXRocGFzc3dkLmMKLWluZGV4IGJkZWUyYWEuLjY5YzdkOGEgMTAwNjQ0Ci0tLS0gYS9zdnItYXV0aHBhc3N3ZC5jCi0rKysgYi9zdnItYXV0aHBhc3N3ZC5jCi1AQCAtNDgsMjIgKzQ4LDE0IEBAIHN0YXRpYyBpbnQgY29uc3RhbnRfdGltZV9zdHJjbXAoY29uc3QgY2hhciogYSwgY29uc3QgY2hhciogYikgewotIAotIC8qIFByb2Nlc3MgYSBwYXNzd29yZCBhdXRoIHJlcXVlc3QsIHNlbmRpbmcgc3VjY2VzcyBvciBmYWlsdXJlIG1lc3NhZ2VzIGFzCi0gICogYXBwcm9wcmlhdGUgKi8KLS12b2lkIHN2cl9hdXRoX3Bhc3N3b3JkKCkgewotK3ZvaWQgc3ZyX2F1dGhfcGFzc3dvcmQoaW50IHZhbGlkX3VzZXIpIHsKLSAJCi0gCWNoYXIgKiBwYXNzd2RjcnlwdCA9IE5VTEw7IC8qIHRoZSBjcnlwdCBmcm9tIC9ldGMvcGFzc3dkIG9yIC9ldGMvc2hhZG93ICovCi0gCWNoYXIgKiB0ZXN0Y3J5cHQgPSBOVUxMOyAvKiBjcnlwdCBnZW5lcmF0ZWQgZnJvbSB0aGUgdXNlcidzIHBhc3N3b3JkIHNlbnQgKi8KLS0JY2hhciAqIHBhc3N3b3JkOwotKwljaGFyICogcGFzc3dvcmQgPSBOVUxMOwotIAl1bnNpZ25lZCBpbnQgcGFzc3dvcmRsZW47Ci0tCi0gCXVuc2lnbmVkIGludCBjaGFuZ2VwdzsKLSAKLS0JcGFzc3dkY3J5cHQgPSBzZXMuYXV0aHN0YXRlLnB3X3Bhc3N3ZDsKLS0KLS0jaWZkZWYgREVCVUdfSEFDS0NSWVBUCi0tCS8qIGRlYnVnZ2luZyBjcnlwdCBmb3Igbm9uLXJvb3QgdGVzdGluZyB3aXRoIHNoYWRvd3MgKi8KLS0JcGFzc3dkY3J5cHQgPSBERUJVR19IQUNLQ1JZUFQ7Ci0tI2VuZGlmCi0tCi0gCS8qIGNoZWNrIGlmIGNsaWVudCB3YW50cyB0byBjaGFuZ2UgcGFzc3dvcmQgKi8KLSAJY2hhbmdlcHcgPSBidWZfZ2V0Ym9vbChzZXMucGF5bG9hZCk7Ci0gCWlmIChjaGFuZ2VwdykgewotQEAgLTczLDEyICs2NSwyMSBAQCB2b2lkIHN2cl9hdXRoX3Bhc3N3b3JkKCkgewotIAl9Ci0gCi0gCXBhc3N3b3JkID0gYnVmX2dldHN0cmluZyhzZXMucGF5bG9hZCwgJnBhc3N3b3JkbGVuKTsKLS0KLS0JLyogdGhlIGZpcnN0IGJ5dGVzIG9mIHBhc3N3ZGNyeXB0IGFyZSB0aGUgc2FsdCAqLwotLQl0ZXN0Y3J5cHQgPSBjcnlwdChwYXNzd29yZCwgcGFzc3dkY3J5cHQpOwotKwlpZiAodmFsaWRfdXNlcikgewotKwkJLyogdGhlIGZpcnN0IGJ5dGVzIG9mIHBhc3N3ZGNyeXB0IGFyZSB0aGUgc2FsdCAqLwotKwkJcGFzc3dkY3J5cHQgPSBzZXMuYXV0aHN0YXRlLnB3X3Bhc3N3ZDsKLSsJCXRlc3RjcnlwdCA9IGNyeXB0KHBhc3N3b3JkLCBwYXNzd2RjcnlwdCk7Ci0rCX0KLSAJbV9idXJuKHBhc3N3b3JkLCBwYXNzd29yZGxlbik7Ci0gCW1fZnJlZShwYXNzd29yZCk7Ci0gCi0rCS8qIEFmdGVyIHdlIGhhdmUgZ290IHRoZSBwYXlsb2FkIGNvbnRlbnRzIHdlIGNhbiBleGl0IGlmIHRoZSB1c2VybmFtZQotKwlpcyBpbnZhbGlkLiBJbnZhbGlkIHVzZXJzIGhhdmUgYWxyZWFkeSBiZWVuIGxvZ2dlZC4gKi8KLSsJaWYgKCF2YWxpZF91c2VyKSB7Ci0rCQlzZW5kX21zZ191c2VyYXV0aF9mYWlsdXJlKDAsIDEpOwotKwkJcmV0dXJuOwotKwl9Ci0rCi0gCWlmICh0ZXN0Y3J5cHQgPT0gTlVMTCkgewotIAkJLyogY3J5cHQoKSB3aXRoIGFuIGludmFsaWQgc2FsdCBsaWtlICIhISIgKi8KLSAJCWRyb3BiZWFyX2xvZyhMT0dfV0FSTklORywgIlVzZXIgYWNjb3VudCAnJXMnIGlzIGxvY2tlZCIsCi1kaWZmIC0tZ2l0IGEvc3ZyLWF1dGhwdWJrZXkuYyBiL3N2ci1hdXRocHVia2V5LmMKLWluZGV4IGFhNjA4N2MuLmZmNDgxYzggMTAwNjQ0Ci0tLS0gYS9zdnItYXV0aHB1YmtleS5jCi0rKysgYi9zdnItYXV0aHB1YmtleS5jCi1AQCAtNzksNyArNzksNyBAQCBzdGF0aWMgaW50IGNoZWNrZmlsZXBlcm0oY2hhciAqIGZpbGVuYW1lKTsKLSAKLSAvKiBwcm9jZXNzIGEgcHVia2V5IGF1dGggcmVxdWVzdCwgc2VuZGluZyBzdWNjZXNzIG9yIGZhaWx1cmUgbWVzc2FnZSBhcwotICAqIGFwcHJvcHJpYXRlICovCi0tdm9pZCBzdnJfYXV0aF9wdWJrZXkoKSB7Ci0rdm9pZCBzdnJfYXV0aF9wdWJrZXkoaW50IHZhbGlkX3VzZXIpIHsKLSAKLSAJdW5zaWduZWQgY2hhciB0ZXN0a2V5OyAvKiB3aGV0aGVyIHdlJ3JlIGp1c3QgY2hlY2tpbmcgaWYgYSBrZXkgaXMgdXNhYmxlICovCi0gCWNoYXIqIGFsZ28gPSBOVUxMOyAvKiBwdWJrZXkgYWxnbyAqLwotQEAgLTEwMiw2ICsxMDIsMTUgQEAgdm9pZCBzdnJfYXV0aF9wdWJrZXkoKSB7Ci0gCWtleWJsb2JsZW4gPSBidWZfZ2V0aW50KHNlcy5wYXlsb2FkKTsKLSAJa2V5YmxvYiA9IGJ1Zl9nZXRwdHIoc2VzLnBheWxvYWQsIGtleWJsb2JsZW4pOwotIAotKwlpZiAoIXZhbGlkX3VzZXIpIHsKLSsJCS8qIFJldHVybiBmYWlsdXJlIG9uY2Ugd2UgaGF2ZSByZWFkIHRoZSBjb250ZW50cyBvZiB0aGUgcGFja2V0Ci0rCQlyZXF1aXJlZCB0byB2YWxpZGF0ZSBhIHB1YmxpYyBrZXkuIAotKwkJQXZvaWRzIGJsaW5kIHVzZXIgZW51bWVyYXRpb24gdGhvdWdoIGl0IGlzbid0IHBvc3NpYmxlIHRvIHByZXZlbnQKLSsJCXRlc3RpbmcgZm9yIHVzZXIgZXhpc3RlbmNlIGlmIHRoZSBwdWJsaWMga2V5IGlzIGtub3duICovCi0rCQlzZW5kX21zZ191c2VyYXV0aF9mYWlsdXJlKDAsIDApOwotKwkJZ290byBvdXQ7Ci0rCX0KLSsKLSAJLyogY2hlY2sgaWYgdGhlIGtleSBpcyB2YWxpZCAqLwotIAlpZiAoY2hlY2twdWJrZXkoYWxnbywgYWxnb2xlbiwga2V5YmxvYiwga2V5YmxvYmxlbikgPT0gRFJPUEJFQVJfRkFJTFVSRSkgewotIAkJc2VuZF9tc2dfdXNlcmF1dGhfZmFpbHVyZSgwLCAwKTsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZHJvcGJlYXIvZHJvcGJlYXJfMjAxOC43Ni5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZHJvcGJlYXIvZHJvcGJlYXJfMjAxOC43Ni5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzZhNThkNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Ryb3BiZWFyL2Ryb3BiZWFyXzIwMTguNzYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLXJlcXVpcmUgZHJvcGJlYXIuaW5jCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJjMzkxMmY3ZmNkY2M1N2M5OTkzN2U0YTc5NDgwZDJjMiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJmMmZiOTE2N2VjYThjZjkzNDU2YTVmYzFkNGZhZjcwOTkwMmEzYWI3MGRkNDRlMzUyZjNhY2JjM2ZmZGFlYTY1IgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Ryb3BiZWFyL2Ryb3BiZWFyXzIwMTkuNzcuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Ryb3BiZWFyL2Ryb3BiZWFyXzIwMTkuNzcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDJhNzFiYQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZHJvcGJlYXIvZHJvcGJlYXJfMjAxOS43Ny5iYgpAQCAtMCwwICsxLDQgQEAKK3JlcXVpcmUgZHJvcGJlYXIuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1ZDRmMDI1NmM1ZDEzODIwYjBhM2VhYWRiMWEwYmMxYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkOTFmNzhlYmU2MzNiZTFkMDcxZmQxYjdlNTUzNWI5NjkzNzk0MDQ4YjAxOWU5ZjRiZWEyNTdlMTk5MmI0NThkIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9mdHMvZnRzLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9mdHMvZnRzLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMmY1NDA4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZnRzL2Z0cy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDE1IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0jIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIENPUFlJTkcuTUlUIGZvciB0aGUgdGVybXMpCi0KLVNVTU1BUlkgPSAiUE9TSVggZmlsZSB0cmVlIHN0cmVhbSBvcGVyYXRpb25zIGxpYnJhcnkiCi1IT01FUEFHRSA9ICJodHRwczovL3NpdGVzLmdvb2dsZS5jb20vYS9ib3N0aWMuY29tL2tlaXRoYm9zdGljIgotTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01ZmZlMzU4MTc0YWFkMzgzZjFiNjljZTNiNTNkYTk4MiIKLVNFQ1RJT04gPSAibGlicyIKLQotU1JDUkVWID0gIjk0NDMzM2FlZDlkYzI0Y2ZhNzZjYzY0YmZlNzBjNzVkMjU2NTI3NTMiCi1QViA9ICIxLjIrZ2l0JHtTUkNQVn0iCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS92b2lkbGludXgvbXVzbC1mdHMgXAotIgotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCi0jCi0jIFdlIHdpbGwgc2tpcCBwYXJzaW5nIGZvciBub24tbXVzbCBzeXN0ZW1zCi0jCi1DT01QQVRJQkxFX0hPU1QgPSAiLiotbXVzbC4qIgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Z0cy9mdHNfMS4yLjcuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Z0cy9mdHNfMS4yLjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTg5YWUwZQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZnRzL2Z0c18xLjIuNy5iYgpAQCAtMCwwICsxLDIxIEBACisjIENvcHlyaWdodCAoQykgMjAxNSBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBDT1BZSU5HLk1JVCBmb3IgdGhlIHRlcm1zKQorCitTVU1NQVJZID0gIkltcGxlbWVudGF0aW9uIG9mIGZ0c2ZvciBtdXNsIGxpYmMgcGFja2FnZXMiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vcHVsbG1vbGwvbXVzbC1mdHMiCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTVmZmUzNTgxNzRhYWQzODNmMWI2OWNlM2I1M2RhOTgyIgorU0VDVElPTiA9ICJsaWJzIgorCitTUkNSRVYgPSAiMGJkZTUyZGY1ODhlODk2OTg3OWEyY2FlNTFjM2E0Nzc0ZWM2MjQ3MiIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3B1bGxtb2xsL211c2wtZnRzLmdpdCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisjCisjIFdlIHdpbGwgc2tpcCBwYXJzaW5nIGZvciBub24tbXVzbCBzeXN0ZW1zCisjCitDT01QQVRJQkxFX0hPU1QgPSAiLiotbXVzbC4qIgorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dldHRleHQvZ2V0dGV4dC0wLjE5LjguMS9maXgtQ1ZFLTIwMTgtMTg3NTEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dldHRleHQvZ2V0dGV4dC0wLjE5LjguMS9maXgtQ1ZFLTIwMTgtMTg3NTEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmRmZTIwMAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2V0dGV4dC9nZXR0ZXh0LTAuMTkuOC4xL2ZpeC1DVkUtMjAxOC0xODc1MS5wYXRjaApAQCAtMCwwICsxLDE0MSBAQAorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXQuc2F2YW5uYWguZ251Lm9yZy9naXR3ZWIvP3A9Z2V0dGV4dC5naXQ7YT1jb21taXQ7aD1kY2UzYTE2XQorQ1ZFOiBDVkUtMjAxOC0xODc1MQorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKworRnJvbSBkY2UzYTE2ZTVlOTM2ODI0NTczNWUyOWJmNDk4ZGNkNWUzZTQ3NGE0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRGFpa2kgVWVubyA8dWVub0BnbnUub3JnPgorRGF0ZTogVGh1LCAxNSBTZXAgMjAxNiAxMzo1NzoyNCArMDIwMAorU3ViamVjdDogW1BBVENIXSB4Z2V0dGV4dDogRml4IGNyYXNoIHdpdGggKi5wbyBmaWxlIGlucHV0CisKK1doZW4geGdldHRleHQgd2FzIGdpdmVuIHR3byAqLnBvIGZpbGVzIHdpdGggdGhlIHNhbWUgbXNnaWRfcGx1cmFsLCBpdAorY3Jhc2hlZCB3aXRoIGRvdWJsZS1mcmVlLiAgUHJvYmxlbSByZXBvcnRlZCBieSBEYXZsZXQgUGFuZWNoIGluOgoraHR0cDovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2J1Zy1nZXR0ZXh0LzIwMTYtMDkvbXNnMDAwMDEuaHRtbAorKiBnZXR0ZXh0LXRvb2xzL3NyYy9wby1ncmFtLWdlbi55OiBEb24ndCBmcmVlIG1zZ2lkX3BsdXJhbGZvcm0gYWZ0ZXIKK2NhbGxpbmcgZG9fY2FsbGJhY2tfbWVzc2FnZSwgYXNzdW1pbmcgdGhhdCBpdCB0YWtlcyBvd25lcnNoaXAuCisqIGdldHRleHQtdG9vbHMvc3JjL3JlYWQtY2F0YWxvZy5jIChkZWZhdWx0X2FkZF9tZXNzYWdlKTogRnJlZQorbXNnaWRfcGx1cmFsIGFmdGVyIGNhbGxpbmcgbWVzc2FnZV9hbGxvYy4KKyogZ2V0dGV4dC10b29scy90ZXN0cy94Z2V0dGV4dC1wby0yOiBOZXcgZmlsZS4KKyogZ2V0dGV4dC10b29scy90ZXN0cy9NYWtlZmlsZS5hbSAoVEVTVFMpOiBBZGQgbmV3IHRlc3QuCistLS0KKyBnZXR0ZXh0LXRvb2xzL3NyYy9wby1ncmFtLWdlbi55ICAgfCAxMyArKysrLS0tLS0KKyBnZXR0ZXh0LXRvb2xzL3NyYy9yZWFkLWNhdGFsb2cuYyAgfCAgMiArKworIGdldHRleHQtdG9vbHMvdGVzdHMvTWFrZWZpbGUuYW0gICB8ICAyICstCisgZ2V0dGV4dC10b29scy90ZXN0cy94Z2V0dGV4dC1wby0yIHwgNTUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgNCBmaWxlcyBjaGFuZ2VkLCA2MyBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDc1NSBnZXR0ZXh0LXRvb2xzL3Rlc3RzL3hnZXR0ZXh0LXBvLTIKKworZGlmZiAtLWdpdCBhL2dldHRleHQtdG9vbHMvc3JjL3BvLWdyYW0tZ2VuLnkgYi9nZXR0ZXh0LXRvb2xzL3NyYy9wby1ncmFtLWdlbi55CitpbmRleCBiZWNmNWU2Li40NDI4ZTc3IDEwMDY0NAorLS0tIGEvZ2V0dGV4dC10b29scy9zcmMvcG8tZ3JhbS1nZW4ueQorKysrIGIvZ2V0dGV4dC10b29scy9zcmMvcG8tZ3JhbS1nZW4ueQorQEAgLTIyMSwxNCArMjIxLDExIEBAIG1lc3NhZ2UKKyAgICAgICAgICAgICAgICAgICBjaGVja19vYnNvbGV0ZSAoJDEsICQzKTsKKyAgICAgICAgICAgICAgICAgICBjaGVja19vYnNvbGV0ZSAoJDEsICQ0KTsKKyAgICAgICAgICAgICAgICAgICBpZiAoISQxLm9ic29sZXRlIHx8IHBhc3Nfb2Jzb2xldGVfZW50cmllcykKKy0gICAgICAgICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgICAgICAgZG9fY2FsbGJhY2tfbWVzc2FnZSAoJDEuY3R4dCwgc3RyaW5nMiwgJiQxLnBvcywgJDMuc3RyaW5nLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkNC5yaHMubXNnc3RyLCAkNC5yaHMubXNnc3RyX2xlbiwgJiQ0LnBvcywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJDEucHJldl9jdHh0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkMS5wcmV2X2lkLCAkMS5wcmV2X2lkX3BsdXJhbCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJDEub2Jzb2xldGUpOworLSAgICAgICAgICAgICAgICAgICAgICBmcmVlICgkMy5zdHJpbmcpOworLSAgICAgICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgICAgICAgICAgZG9fY2FsbGJhY2tfbWVzc2FnZSAoJDEuY3R4dCwgc3RyaW5nMiwgJiQxLnBvcywgJDMuc3RyaW5nLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJDQucmhzLm1zZ3N0ciwgJDQucmhzLm1zZ3N0cl9sZW4sICYkNC5wb3MsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkMS5wcmV2X2N0eHQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkMS5wcmV2X2lkLCAkMS5wcmV2X2lkX3BsdXJhbCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQxLm9ic29sZXRlKTsKKyAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgIGZyZWVfbWVzc2FnZV9pbnRybyAoJDEpOworZGlmZiAtLWdpdCBhL2dldHRleHQtdG9vbHMvc3JjL3JlYWQtY2F0YWxvZy5jIGIvZ2V0dGV4dC10b29scy9zcmMvcmVhZC1jYXRhbG9nLmMKK2luZGV4IDU3MWQxOGUuLjZhZjZkMjAgMTAwNjQ0CistLS0gYS9nZXR0ZXh0LXRvb2xzL3NyYy9yZWFkLWNhdGFsb2cuYworKysrIGIvZ2V0dGV4dC10b29scy9zcmMvcmVhZC1jYXRhbG9nLmMKK0BAIC0zOTcsNiArMzk3LDggQEAgZGVmYXVsdF9hZGRfbWVzc2FnZSAoZGVmYXVsdF9jYXRhbG9nX3JlYWRlcl90eSAqdGhpcywKKyAgICAgICAgICBhcHByb3ByaWF0ZS4gICovCisgICAgICAgbXAgPSBtZXNzYWdlX2FsbG9jIChtc2djdHh0LCBtc2dpZCwgbXNnaWRfcGx1cmFsLCBtc2dzdHIsIG1zZ3N0cl9sZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2dzdHJfcG9zKTsKKysgICAgICBpZiAobXNnaWRfcGx1cmFsICE9IE5VTEwpCisrICAgICAgICBmcmVlIChtc2dpZF9wbHVyYWwpOworICAgICAgIG1wLT5wcmV2X21zZ2N0eHQgPSBwcmV2X21zZ2N0eHQ7CisgICAgICAgbXAtPnByZXZfbXNnaWQgPSBwcmV2X21zZ2lkOworICAgICAgIG1wLT5wcmV2X21zZ2lkX3BsdXJhbCA9IHByZXZfbXNnaWRfcGx1cmFsOworZGlmZiAtLWdpdCBhL2dldHRleHQtdG9vbHMvdGVzdHMvTWFrZWZpbGUuYW0gYi9nZXR0ZXh0LXRvb2xzL3Rlc3RzL01ha2VmaWxlLmFtCitpbmRleCAyM2IwOWIxLi4wZGZiNGQ4IDEwMDY0NAorLS0tIGEvZ2V0dGV4dC10b29scy90ZXN0cy9NYWtlZmlsZS5hbQorKysrIGIvZ2V0dGV4dC10b29scy90ZXN0cy9NYWtlZmlsZS5hbQorQEAgLTk1LDcgKzk1LDcgQEAgVEVTVFMgPSBnZXR0ZXh0LTEgZ2V0dGV4dC0yIGdldHRleHQtMyBnZXR0ZXh0LTQgZ2V0dGV4dC01IGdldHRleHQtNiBnZXR0ZXh0LTcgXAorIAl4Z2V0dGV4dC1wZXJsLTEgeGdldHRleHQtcGVybC0yIHhnZXR0ZXh0LXBlcmwtMyB4Z2V0dGV4dC1wZXJsLTQgXAorIAl4Z2V0dGV4dC1wZXJsLTUgeGdldHRleHQtcGVybC02IHhnZXR0ZXh0LXBlcmwtNyB4Z2V0dGV4dC1wZXJsLTggXAorIAl4Z2V0dGV4dC1waHAtMSB4Z2V0dGV4dC1waHAtMiB4Z2V0dGV4dC1waHAtMyB4Z2V0dGV4dC1waHAtNCBcCistCXhnZXR0ZXh0LXBvLTEgXAorKwl4Z2V0dGV4dC1wby0xIHhnZXR0ZXh0LXBvLTIgXAorIAl4Z2V0dGV4dC1wcm9wZXJ0aWVzLTEgXAorIAl4Z2V0dGV4dC1weXRob24tMSB4Z2V0dGV4dC1weXRob24tMiB4Z2V0dGV4dC1weXRob24tMyBcCisgCXhnZXR0ZXh0LXB5dGhvbi00IFwKK2RpZmYgLS1naXQgYS9nZXR0ZXh0LXRvb2xzL3Rlc3RzL3hnZXR0ZXh0LXBvLTIgYi9nZXR0ZXh0LXRvb2xzL3Rlc3RzL3hnZXR0ZXh0LXBvLTIKK25ldyBmaWxlIG1vZGUgMTAwNzU1CitpbmRleCAwMDAwMDAwLi5jNGJkOWQwCistLS0gL2Rldi9udWxsCisrKysgYi9nZXR0ZXh0LXRvb2xzL3Rlc3RzL3hnZXR0ZXh0LXBvLTIKK0BAIC0wLDAgKzEsNTUgQEAKKysjISAvYmluL3NoCisrLiAiJHtzcmNkaXI9Ln0vaW5pdC5zaCI7IHBhdGhfcHJlcGVuZF8gLiAuLi9zcmMKKysKKysjIFRlc3QgUE8gZXh0cmFjdG9ycyB3aXRoIG11bHRpcGxlIGlucHV0IGZpbGVzLgorKworK2NhdCA8PEVPRiA+IHhnLXBvLTItMS5wbworK21zZ2lkICJmaXJzdCBtc2dpZCIKKyttc2dpZF9wbHVyYWwgImZpcnN0IG1zZ2lkIChwbHVyYWwpIgorK21zZ3N0clswXSAiIgorK21zZ3N0clsxXSAiIgorKworK21zZ2lkICJzZWNvbmQgbXNnaWQiCisrbXNnaWRfcGx1cmFsICJzZWNvbmQgbXNnaWQgKHBsdXJhbCkiCisrbXNnc3RyWzBdICIiCisrbXNnc3RyWzFdICIiCisrRU9GCisrCisrY2F0IDw8RU9GID4geGctcG8tMi0yLnBvCisrbXNnaWQgInRoaXJkIG1zZ2lkIgorK21zZ2lkX3BsdXJhbCAidGhpcmQgbXNnaWQgKHBsdXJhbCkiCisrbXNnc3RyWzBdICIiCisrbXNnc3RyWzFdICIiCisrCisrbXNnaWQgInNlY29uZCBtc2dpZCIKKyttc2dpZF9wbHVyYWwgInNlY29uZCBtc2dpZCAocGx1cmFsKSIKKyttc2dzdHJbMF0gIiIKKyttc2dzdHJbMV0gIiIKKytFT0YKKysKKys6ICR7WEdFVFRFWFQ9eGdldHRleHR9CisrJHtYR0VUVEVYVH0gLS1vbWl0LWhlYWRlciB4Zy1wby0yLTEucG8geGctcG8tMi0yLnBvIC1vIHhnLXBvLTIudG1wLnBvIHx8IEV4aXQgMQorK0xDX0FMTD1DIHRyIC1kICdccicgPCB4Zy1wby0yLnRtcC5wbyA+IHhnLXBvLTIucG8gfHwgRXhpdCAxCisrCisrY2F0IDw8RU9GID4geGctcG8tMi5vaworK21zZ2lkICJmaXJzdCBtc2dpZCIKKyttc2dpZF9wbHVyYWwgImZpcnN0IG1zZ2lkIChwbHVyYWwpIgorK21zZ3N0clswXSAiIgorK21zZ3N0clsxXSAiIgorKworK21zZ2lkICJzZWNvbmQgbXNnaWQiCisrbXNnaWRfcGx1cmFsICJzZWNvbmQgbXNnaWQgKHBsdXJhbCkiCisrbXNnc3RyWzBdICIiCisrbXNnc3RyWzFdICIiCisrCisrbXNnaWQgInRoaXJkIG1zZ2lkIgorK21zZ2lkX3BsdXJhbCAidGhpcmQgbXNnaWQgKHBsdXJhbCkiCisrbXNnc3RyWzBdICIiCisrbXNnc3RyWzFdICIiCisrRU9GCisrCisrOiAke0RJRkY9ZGlmZn0KKyske0RJRkZ9IHhnLXBvLTIub2sgeGctcG8tMi5wbworK3Jlc3VsdD0kPworKworK2V4aXQgJHJlc3VsdAorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dldHRleHQvZ2V0dGV4dF8wLjE5LjguMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2V0dGV4dC9nZXR0ZXh0XzAuMTkuOC4xLmJiCmluZGV4IDY4ZjVjYzMuLjQwNDk3MjQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2V0dGV4dC9nZXR0ZXh0XzAuMTkuOC4xLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2V0dGV4dC9nZXR0ZXh0XzAuMTkuOC4xLmJiCkBAIC04LDggKzgsMTEgQEAKIExJQ0VOU0UgPSAiR1BMdjMrICYgTEdQTC0yLjErIgogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCiAKLURFUEVORFMgPSAiZ2V0dGV4dC1uYXRpdmUgdmlydHVhbC9saWJpY29udiIKLURFUEVORFNfY2xhc3MtbmF0aXZlID0gImdldHRleHQtbWluaW1hbC1uYXRpdmUiCisjIEJlY2F1c2UgcG8tZ3JhbS1nZW4ueSBoYXMgYmVlbiBtb2RpZmllZCBieSBmaXgtQ1ZFLTIwMTgtMTg3NTEucGF0Y2gsCisjIGl0IHJlcXVpcmVzIHlhY2Mgd2hpY2ggcHJvdmlkZWQgYnkgYmlzb24tbmF0aXZlCisjIFBsZWFzZSByZW1vdmUgYmlzb24tbmF0aXZlIGZyb20gREVQRU5EUyogd2hlbiBuZXh0IHVwZ3JhZGUKK0RFUEVORFMgPSAiYmlzb24tbmF0aXZlIGdldHRleHQtbmF0aXZlIHZpcnR1YWwvbGliaWNvbnYiCitERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICJiaXNvbi1uYXRpdmUgZ2V0dGV4dC1taW5pbWFsLW5hdGl2ZSIKIFBST1ZJREVTID0gInZpcnR1YWwvbGliaW50bCB2aXJ0dWFsL2dldHRleHQiCiBQUk9WSURFU19jbGFzcy1uYXRpdmUgPSAidmlydHVhbC9nZXR0ZXh0LW5hdGl2ZSIKIFJDT05GTElDVFNfJHtQTn0gPSAicHJveHktbGliaW50bCIKQEAgLTE4LDYgKzIxLDcgQEAKIAkgICBmaWxlOi8vYWRkLXdpdGgtYmlzb25sb2NhbGVkaXIucGF0Y2ggXAogCSAgIGZpbGU6Ly9jci1zdGF0ZW1lbnQuYy10aW1zb3J0LmgtZml4LWZvcm1hdHRpbmctaXNzdWVzLnBhdGNoIFwKIAkgICBmaWxlOi8vdXNlLXBrZ2NvbmZpZy5wYXRjaCBcCisJICAgZmlsZTovL2ZpeC1DVkUtMjAxOC0xODc1MS5wYXRjaCBcCiAiCiAKIFNSQ19VUklbbWQ1c3VtXSA9ICI5N2UwMzRjZjhjZTViYTczYTI4ZmY2YzNjMDYzODA5MiIKQEAgLTM1LDYgKzM5LDcgQEAKICAgICAgICAgICAgICAgICAgLS13aXRob3V0LWVtYWNzIFwKICAgICAgICAgICAgICAgICAgLS13aXRob3V0LWN2cyBcCiAgICAgICAgICAgICAgICAgIC0td2l0aG91dC1naXQgXAorICAgICAgICAgICAgICAgICAtLWNhY2hlLWZpbGU9JHtCfS9jb25maWcuY2FjaGUgXAogICAgICAgICAgICAgICAgICIKIEVYVFJBX09FQ09ORl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBcCiAgICAgICAgICAgICAgICAgIC0td2l0aC1iaXNvbmxvY2FsZWRpcj0ke2RhdGFkaXJ9L2xvY2FsZSBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wLzAwMDEtRG8tbm90LXdyaXRlLWJpbmRpci1pbnRvLXBrZy1jb25maWctZmlsZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wLzAwMDEtRG8tbm90LXdyaXRlLWJpbmRpci1pbnRvLXBrZy1jb25maWctZmlsZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWRlMjljOQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvMDAwMS1Eby1ub3Qtd3JpdGUtYmluZGlyLWludG8tcGtnLWNvbmZpZy1maWxlcy5wYXRjaApAQCAtMCwwICsxLDUwIEBACitGcm9tIDQ3NGU1OWFiZWM4OGRlMGM0NTU4MzZjMWY1MzE1MmJmMmFhMjZjMzQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMTUgRmViIDIwMTkgMTE6MTc6MjcgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRG8gbm90IHdyaXRlICRiaW5kaXIgaW50byBwa2ctY29uZmlnIGZpbGVzCisKK1RoaXMgd291bGQgb3RoZXJ3aXNlIGJyZWFrIHdoZW4gdXNpbmcgdGhlIGZpbGVzIHRvIGJ1aWxkIG90aGVyIHRhcmdldAorY29tcG9uZW50cyAod2UgbmVlZCB0byByZWx5IG9uIFBBVEggY29udGFpbmluZyB0aGUgcGF0aHMgdG8gdXRpbGl0aWVzLAorcmF0aGVyIHRoYW4gdXNlIHRhcmdldCBwYXRocykuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbdXBzdHJlYW0gd2FudHMgdGhlIHBhdGhzIGluIC5wYyBmaWxlc10KK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorLS0tCisgZ2lvL21lc29uLmJ1aWxkICB8IDYgKysrLS0tCisgZ2xpYi9tZXNvbi5idWlsZCB8IDYgKysrLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9naW8vbWVzb24uYnVpbGQgYi9naW8vbWVzb24uYnVpbGQKK2luZGV4IDg1ZDhiMTQuLjY1NzcyMGEgMTAwNjQ0CistLS0gYS9naW8vbWVzb24uYnVpbGQKKysrKyBiL2dpby9tZXNvbi5idWlsZAorQEAgLTgxMyw5ICs4MTMsOSBAQCBwa2cuZ2VuZXJhdGUobGlicmFyaWVzIDogbGliZ2lvLAorICAgICAgICAgICAgICAgICdzY2hlbWFzZGlyPScgKyBqb2luX3BhdGhzKCcke2RhdGFkaXJ9Jywgc2NoZW1hc19zdWJkaXIpLAorICAgICAgICAgICAgICAgICdiaW5kaXI9JyArIGpvaW5fcGF0aHMoJyR7cHJlZml4fScsIGdldF9vcHRpb24oJ2JpbmRpcicpKSwKKyAgICAgICAgICAgICAgICAnZ2lvbW9kdWxlZGlyPScgKyBnaW9tb2R1bGVzZGlyLAorLSAgICAgICAgICAgICAgICdnbGliX2NvbXBpbGVfc2NoZW1hcz0nICsgam9pbl9wYXRocygnJHtiaW5kaXJ9JywgJ2dsaWItY29tcGlsZS1zY2hlbWFzJyksCistICAgICAgICAgICAgICAgJ2dsaWJfY29tcGlsZV9yZXNvdXJjZXM9JyArIGpvaW5fcGF0aHMoJyR7YmluZGlyfScsICdnbGliLWNvbXBpbGUtcmVzb3VyY2VzJyksCistICAgICAgICAgICAgICAgJ2dkYnVzX2NvZGVnZW49JyArIGpvaW5fcGF0aHMoJyR7YmluZGlyfScsICdnZGJ1cy1jb2RlZ2VuJyldLAorKyAgICAgICAgICAgICAgICdnbGliX2NvbXBpbGVfc2NoZW1hcz1nbGliLWNvbXBpbGUtc2NoZW1hcycsCisrICAgICAgICAgICAgICAgJ2dsaWJfY29tcGlsZV9yZXNvdXJjZXM9Z2xpYi1jb21waWxlLXJlc291cmNlcycsCisrICAgICAgICAgICAgICAgJ2dkYnVzX2NvZGVnZW49Z2RidXMtY29kZWdlbiddLAorICAgdmVyc2lvbiA6IGdsaWJfdmVyc2lvbiwKKyAgIGluc3RhbGxfZGlyIDogZ2xpYl9wa2djb25maWdyZWxkaXIsCisgICBmaWxlYmFzZSA6ICdnaW8tMi4wJywKK2RpZmYgLS1naXQgYS9nbGliL21lc29uLmJ1aWxkIGIvZ2xpYi9tZXNvbi5idWlsZAoraW5kZXggYzA1YzY5NC4uNDM0ZThiMSAxMDA2NDQKKy0tLSBhL2dsaWIvbWVzb24uYnVpbGQKKysrKyBiL2dsaWIvbWVzb24uYnVpbGQKK0BAIC0yNjEsOSArMjYxLDkgQEAgcGtnLmdlbmVyYXRlKGxpYnJhcmllcyA6IFtsaWJnbGliLCBsaWJpbnRsXSwKKyAgIHN1YmRpcnMgOiBbJ2dsaWItMi4wJ10sCisgICBleHRyYV9jZmxhZ3MgOiBbJy1JJHtsaWJkaXJ9L2dsaWItMi4wL2luY2x1ZGUnXSArIHdpbjMyX2NmbGFncywKKyAgIHZhcmlhYmxlcyA6IFsnYmluZGlyPScgKyBqb2luX3BhdGhzKCcke3ByZWZpeH0nLCBnZXRfb3B0aW9uKCdiaW5kaXInKSksCistICAgICAgICAgICAgICAgJ2dsaWJfZ2VubWFyc2hhbD0nICsgam9pbl9wYXRocygnJHtiaW5kaXJ9JywgJ2dsaWItZ2VubWFyc2hhbCcpLAorLSAgICAgICAgICAgICAgICdnb2JqZWN0X3F1ZXJ5PScgKyBqb2luX3BhdGhzKCcke2JpbmRpcn0nLCAnZ29iamVjdC1xdWVyeScpLAorLSAgICAgICAgICAgICAgICdnbGliX21rZW51bXM9JyArIGpvaW5fcGF0aHMoJyR7YmluZGlyfScsICdnbGliLW1rZW51bXMnKV0sCisrICAgICAgICAgICAgICAgJ2dsaWJfZ2VubWFyc2hhbD1nbGliLWdlbm1hcnNoYWwnLAorKyAgICAgICAgICAgICAgICdnb2JqZWN0X3F1ZXJ5PWdvYmplY3QtcXVlcnknLAorKyAgICAgICAgICAgICAgICdnbGliX21rZW51bXM9Z2xpYi1ta2VudW1zJ10sCisgICB2ZXJzaW9uIDogZ2xpYl92ZXJzaW9uLAorICAgaW5zdGFsbF9kaXIgOiBnbGliX3BrZ2NvbmZpZ3JlbGRpciwKKyAgIGZpbGViYXNlIDogJ2dsaWItMi4wJywKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvMDAwMS1JbnN0YWxsLWdpby1xdWVyeW1vZHVsZXMtYXMtbGliZXhlY19QUk9HUkFNLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC8wMDAxLUluc3RhbGwtZ2lvLXF1ZXJ5bW9kdWxlcy1hcy1saWJleGVjX1BST0dSQU0ucGF0Y2gKaW5kZXggOTdkMGFmZi4uZjI0NjI1NCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC8wMDAxLUluc3RhbGwtZ2lvLXF1ZXJ5bW9kdWxlcy1hcy1saWJleGVjX1BST0dSQU0ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC8wMDAxLUluc3RhbGwtZ2lvLXF1ZXJ5bW9kdWxlcy1hcy1saWJleGVjX1BST0dSQU0ucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDg1NjA0NTkyN2I5YWIzOTExNjVjMGViYWJmNDAxODM1Zjg0MzllYWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDE3ZmM5MjMwZmI5MzI0MzJkOGZhYWFhYmY4YzU2ZmRjNDg0NTQ5NWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBKdXNzaSBLdWtrb25lbiA8anVzc2kua3Vra29uZW5AaW50ZWwuY29tPgogRGF0ZTogVHVlLCAyMiBNYXIgMjAxNiAxNToxNDo1OCArMDIwMAogU3ViamVjdDogW1BBVENIXSBJbnN0YWxsIGdpby1xdWVyeW1vZHVsZXMgYXMgbGliZXhlY19QUk9HUkFNCkBAIC0xMSw3ICsxMSw4IEBACiAKIC0tLQogIGdpby9NYWtlZmlsZS5hbSB8IDMgKystCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorIGdpby9tZXNvbi5idWlsZCB8IDEgKworIDIgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9naW8vTWFrZWZpbGUuYW0gYi9naW8vTWFrZWZpbGUuYW0KIGluZGV4IGUxNGNhZDIuLmJmMmJjYzcgMTAwNjQ0CkBAIC0yNywzICsyOCwxNSBAQAogIAogIGdsaWJfY29tcGlsZV9yZXNvdXJjZXNfTERBREQgPSBsaWJnaW8tMi4wLmxhIAkJXAogIAkkKHRvcF9idWlsZGRpcikvZ29iamVjdC9saWJnb2JqZWN0LTIuMC5sYQlcCitkaWZmIC0tZ2l0IGEvZ2lvL21lc29uLmJ1aWxkIGIvZ2lvL21lc29uLmJ1aWxkCitpbmRleCBiODNkOGY1Li44NWQ4YjE0IDEwMDY0NAorLS0tIGEvZ2lvL21lc29uLmJ1aWxkCisrKysgYi9naW8vbWVzb24uYnVpbGQKK0BAIC05MjUsNiArOTI1LDcgQEAgZ2lvX3F1ZXJ5bW9kdWxlcyA9IGV4ZWN1dGFibGUoJ2dpby1xdWVyeW1vZHVsZXMnLCAnZ2lvLXF1ZXJ5bW9kdWxlcy5jJywgJ2dpb21vZHUKKyAgIGNfYXJncyA6IGdpb19jX2FyZ3MsCisgICAjIGludGwubGliIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggU0FGRVNFSAorICAgbGlua19hcmdzIDogbm9zZWhfbGlua19hcmdzLAorKyAgaW5zdGFsbF9kaXI6IGdsaWJfbGliZXhlY2RpciwKKyAgIGRlcGVuZGVuY2llcyA6IFtsaWJnaW9fZGVwLCBsaWJnb2JqZWN0X2RlcCwgbGliZ21vZHVsZV9kZXAsIGxpYmdsaWJfZGVwXSkKKyAKKyBnbGliX2NvbXBpbGVfc2NoZW1hcyA9IGV4ZWN1dGFibGUoJ2dsaWItY29tcGlsZS1zY2hlbWFzJywKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvMDAwMS1SZXZlcnQtVXNlLWFic29sdXRlLXBhdGhzLWluLXBrZy1jb25maWctZmlsZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wLzAwMDEtUmV2ZXJ0LVVzZS1hYnNvbHV0ZS1wYXRocy1pbi1wa2ctY29uZmlnLWZpbGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwYzVkODQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wLzAwMDEtUmV2ZXJ0LVVzZS1hYnNvbHV0ZS1wYXRocy1pbi1wa2ctY29uZmlnLWZpbGVzLnBhdGNoCkBAIC0wLDAgKzEsNjQgQEAKK0Zyb20gYWJjMjZhZWQ3YTI4Njc4ZGZjYzIwYjIxNzI2YTk3YzdjMDJlYTczYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+CitEYXRlOiBUaHUsIDE0IEZlYiAyMDE5IDE0OjU1OjE1ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIFJldmVydCAiVXNlIGFic29sdXRlIHBhdGhzIGluIHBrZy1jb25maWcgZmlsZXMiCisKK1RoaXMgcmV2ZXJ0cyBjb21taXQgZTdhN2M5Yjk3Nzc2ZmEyYTYzOGQxOGVhM2E5MzFiYTg0ZTc3OGY4MC4KKworVGhlIGdsaWIgcGtnY29uZmlnIGZpbGVzIG5vdyBjb250YWluIGFic29sdXRlIHBhdGhzLCBidXQgdGhleSdyZQordGFyZ2V0IHBhdGhzIHNvIHdoZW4gd2UgdXNlZCB0aGVtIGZyb20gYSBzeXNyb290IGl0IGZhaWxzLiAgVXBzdHJlYW0KK3RoaW5rcyB0aGF0IHdlIHNob3VsZCBiZSBzZXR0aW5nCitHTElCX01LRU5VTVM9L3BhdGgvdG8vc3lzcm9vdC91c3IvYmluL2dsaWItbWtlbnVtcyBidXQgdGhhdCByZWFsbHkKK2RvZXNuJ3Qgc2NhbGUuCisKK0ZvciBub3csIHdlIGp1c3QgcmV2ZXJ0IHRoZSBjaGFuZ2UgdG8gcHV0IGFic29sdXRlIHBhdGhzIGludG8KK3RoZSBzeXNyb290LiBUaGlzIHNob3VsZCBiZSByZS1ldmFsdWF0ZWQgd2hlbiB3ZSBtb3ZlIHRoZSByZWNpcGUgdG8gdXNlCittZXNvbi4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtSZXZlcnQgb2YgYW4gdXBzdHJlYW0gY29tbWl0XQorU2lnbmVkLW9mZi1ieTogQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4KKy0tLQorIGdpby0yLjAucGMuaW4gIHwgNyArKystLS0tCisgZ2xpYi0yLjAucGMuaW4gfCA3ICsrKy0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2dpby0yLjAucGMuaW4gYi9naW8tMi4wLnBjLmluCitpbmRleCBkNjdlODA4MzkuLjUyNmYwZGFhMCAxMDA2NDQKKy0tLSBhL2dpby0yLjAucGMuaW4KKysrKyBiL2dpby0yLjAucGMuaW4KK0BAIC01LDExICs1LDEwIEBAIGluY2x1ZGVkaXI9QGluY2x1ZGVkaXJACisgCisgZGF0YWRpcj1AZGF0YWRpckAKKyBzY2hlbWFzZGlyPSR7ZGF0YWRpcn0vZ2xpYi0yLjAvc2NoZW1hcworLWJpbmRpcj1AYmluZGlyQAorIGdpb21vZHVsZWRpcj1AR0lPX01PRFVMRV9ESVJACistZ2xpYl9jb21waWxlX3NjaGVtYXM9JHtiaW5kaXJ9L2dsaWItY29tcGlsZS1zY2hlbWFzCistZ2xpYl9jb21waWxlX3Jlc291cmNlcz0ke2JpbmRpcn0vZ2xpYi1jb21waWxlLXJlc291cmNlcworLWdkYnVzX2NvZGVnZW49JHtiaW5kaXJ9L2dkYnVzLWNvZGVnZW4KKytnbGliX2NvbXBpbGVfc2NoZW1hcz1nbGliLWNvbXBpbGUtc2NoZW1hcworK2dsaWJfY29tcGlsZV9yZXNvdXJjZXM9Z2xpYi1jb21waWxlLXJlc291cmNlcworK2dkYnVzX2NvZGVnZW49Z2RidXMtY29kZWdlbgorIAorIE5hbWU6IEdJTworIERlc2NyaXB0aW9uOiBnbGliIEkvTyBsaWJyYXJ5CitkaWZmIC0tZ2l0IGEvZ2xpYi0yLjAucGMuaW4gYi9nbGliLTIuMC5wYy5pbgoraW5kZXggM2M1ZWE4MWRjLi4yNzVmYzAxNjMgMTAwNjQ0CistLS0gYS9nbGliLTIuMC5wYy5pbgorKysrIGIvZ2xpYi0yLjAucGMuaW4KK0BAIC0zLDEwICszLDkgQEAgZXhlY19wcmVmaXg9QGV4ZWNfcHJlZml4QAorIGxpYmRpcj1AbGliZGlyQAorIGluY2x1ZGVkaXI9QGluY2x1ZGVkaXJACisgCistYmluZGlyPUBiaW5kaXJACistZ2xpYl9nZW5tYXJzaGFsPSR7YmluZGlyfS9nbGliLWdlbm1hcnNoYWwKKy1nb2JqZWN0X3F1ZXJ5PSR7YmluZGlyfS9nb2JqZWN0LXF1ZXJ5CistZ2xpYl9ta2VudW1zPSR7YmluZGlyfS9nbGliLW1rZW51bXMKKytnbGliX2dlbm1hcnNoYWw9Z2xpYi1nZW5tYXJzaGFsCisrZ29iamVjdF9xdWVyeT1nb2JqZWN0LXF1ZXJ5CisrZ2xpYl9ta2VudW1zPWdsaWItbWtlbnVtcworIAorIE5hbWU6IEdMaWIKKyBEZXNjcmlwdGlvbjogQyBVdGlsaXR5IExpYnJhcnkKKy0tIAorMi4xNy4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvMDAwMS1TZXQtaG9zdF9tYWNoaW5lLWNvcnJlY3RseS13aGVuLWJ1aWxkaW5nLXdpdGgtbWluZ3czLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC8wMDAxLVNldC1ob3N0X21hY2hpbmUtY29ycmVjdGx5LXdoZW4tYnVpbGRpbmctd2l0aC1taW5ndzMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmI3ZmFiNwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvMDAwMS1TZXQtaG9zdF9tYWNoaW5lLWNvcnJlY3RseS13aGVuLWJ1aWxkaW5nLXdpdGgtbWluZ3czLnBhdGNoCkBAIC0wLDAgKzEsMTA0IEBACitGcm9tIDQxNjlmMTFiZWVkYWNmYmI4Yzc5MzRhNGM5OTE4OWQ0NDkzNWE2YjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMTMgRmViIDIwMTkgMTU6MzI6MDUgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gU2V0IGhvc3RfbWFjaGluZSBjb3JyZWN0bHkgd2hlbiBidWlsZGluZyB3aXRoIG1pbmd3MzIKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZS1jb3JlIHNwZWNpZmljXQorU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CisKKy0tLQorIGdpby90ZXN0cy9tZXNvbi5idWlsZCAgfCA4ICsrKystLS0tCisgZ2xpYi90ZXN0cy9tZXNvbi5idWlsZCB8IDQgKystLQorIG1lc29uLmJ1aWxkICAgICAgICAgICAgfCAzICsrKworIHRlc3RzL21lc29uLmJ1aWxkICAgICAgfCAyICstCisgNCBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZ2lvL3Rlc3RzL21lc29uLmJ1aWxkIGIvZ2lvL3Rlc3RzL21lc29uLmJ1aWxkCitpbmRleCAxODFmNWM3Li4xMWExZjEyIDEwMDY0NAorLS0tIGEvZ2lvL3Rlc3RzL21lc29uLmJ1aWxkCisrKysgYi9naW8vdGVzdHMvbWVzb24uYnVpbGQKK0BAIC0xMiw3ICsxMiw3IEBAIHRlc3RfY19hcmdzID0gWworICAgJy1ER0xJQl9DT01QSUxFX1NDSEVNQVM9IkAwQCInLmZvcm1hdChnbGliX2NvbXBpbGVfc2NoZW1hcy5mdWxsX3BhdGgoKSksCisgXQorIAorLWlmIGhvc3RfbWFjaGluZS5zeXN0ZW0oKSA9PSAnd2luZG93cycKKytpZiBob3N0X3N5c3RlbSA9PSAnd2luZG93cycKKyAgIGNvbW1vbl9naW9fdGVzdHNfZGVwcyArPSBbaXBobHBhcGlfZGVwLCB3aW5zb2NrMiwgY2MuZmluZF9saWJyYXJ5ICgnc2VjdXIzMicpXQorIGVuZGlmCisgCitAQCAtMTIyLDcgKzEyMiw3IEBAIGlmIGRidXMxX2RlcC5mb3VuZCgpCisgZW5kaWYKKyAKKyAjICBUZXN0IHByb2dyYW1zIGJ1aWxkYWJsZSBvbiBVTklYIG9ubHkKKy1pZiBob3N0X21hY2hpbmUuc3lzdGVtKCkgIT0gJ3dpbmRvd3MnCisraWYgaG9zdF9zeXN0ZW0gIT0gJ3dpbmRvd3MnCisgICBnaW9fdGVzdHMgKz0gW3sKKyAgICAgJ2ZpbGUnIDoge30sCisgICAgICdnZGJ1cy1wZWVyJyA6IHsKK0BAIC0zMTQsNyArMzE0LDcgQEAgaWYgaG9zdF9tYWNoaW5lLnN5c3RlbSgpICE9ICd3aW5kb3dzJworIGVuZGlmICMgdW5peAorIAorICMgIFRlc3QgcHJvZ3JhbXMgYnVpbGRhYmxlIG9uIFdpbmRvd3Mgb25seQorLWlmIGhvc3RfbWFjaGluZS5zeXN0ZW0oKSA9PSAnd2luZG93cycKKytpZiBob3N0X3N5c3RlbSA9PSAnd2luZG93cycKKyAgIGdpb190ZXN0cyArPSBbeyd3aW4zMi1zdHJlYW1zJyA6IHt9fV0KKyBlbmRpZgorIAorQEAgLTM3OSw3ICszNzksNyBAQCBpZiBjYy5nZXRfaWQoKSAhPSAnbXN2YycKKyAgIH1dCisgZW5kaWYKKyAKKy1pZiBob3N0X21hY2hpbmUuc3lzdGVtKCkgIT0gJ3dpbmRvd3MnCisraWYgaG9zdF9zeXN0ZW0gIT0gJ3dpbmRvd3MnCisgICB0ZXN0X2V4dHJhX3Byb2dyYW1zICs9IFt7CisgICAgICdnZGJ1cy1leGFtcGxlLXVuaXgtZmQtY2xpZW50JyA6IHsKKyAgICAgICAnaW5zdGFsbCcgOiBmYWxzZSwKK2RpZmYgLS1naXQgYS9nbGliL3Rlc3RzL21lc29uLmJ1aWxkIGIvZ2xpYi90ZXN0cy9tZXNvbi5idWlsZAoraW5kZXggZDdiNmE3YS4uNjY3OGEwOCAxMDA2NDQKKy0tLSBhL2dsaWIvdGVzdHMvbWVzb24uYnVpbGQKKysrKyBiL2dsaWIvdGVzdHMvbWVzb24uYnVpbGQKK0BAIC00NSw3ICs0NSw3IEBAIGdsaWJfdGVzdHMgPSB7CisgICAnaG9vaycgOiB7fSwKKyAgICdob3N0dXRpbHMnIDoge30sCisgICAnaW5jbHVkZScgOiB7CistICAgICdza2lwJyA6IGhvc3RfbWFjaGluZS5zeXN0ZW0oKSA9PSAnd2luZG93cycsCisrICAgICdza2lwJyA6IGhvc3Rfc3lzdGVtID09ICd3aW5kb3dzJywKKyAgIH0sCisgICAna2V5ZmlsZScgOiB7fSwKKyAgICdsaXN0JyA6IHt9LAorQEAgLTExMiw3ICsxMTIsNyBAQCBnbGliX3Rlc3RzID0geworICAgJ3V0aWxzJyA6IHt9LAorICAgJ3VuaWNvZGUnIDoge30sCisgICAndW5peCcgOiB7CistICAgICdza2lwJyA6IGhvc3RfbWFjaGluZS5zeXN0ZW0oKSA9PSAnd2luZG93cycsCisrICAgICdza2lwJyA6IGhvc3Rfc3lzdGVtID09ICd3aW5kb3dzJywKKyAgIH0sCisgICAndXJpJyA6IHt9LAorICAgJzFiaXQtbXV0ZXgnIDoge30sCitkaWZmIC0tZ2l0IGEvbWVzb24uYnVpbGQgYi9tZXNvbi5idWlsZAoraW5kZXggZjc0MDVhMi4uNDM0OGYyMCAxMDA2NDQKKy0tLSBhL21lc29uLmJ1aWxkCisrKysgYi9tZXNvbi5idWlsZAorQEAgLTMxLDYgKzMxLDkgQEAgZWxzZQorIGVuZGlmCisgCisgaG9zdF9zeXN0ZW0gPSBob3N0X21hY2hpbmUuc3lzdGVtKCkKKytpZiBob3N0X3N5c3RlbSA9PSAnbWluZ3czMicKKysgIGhvc3Rfc3lzdGVtID0gJ3dpbmRvd3MnCisrZW5kaWYKKyAKKyBnbGliX3ZlcnNpb24gPSBtZXNvbi5wcm9qZWN0X3ZlcnNpb24oKQorIGdsaWJfYXBpX3ZlcnNpb24gPSAnMi4wJworZGlmZiAtLWdpdCBhL3Rlc3RzL21lc29uLmJ1aWxkIGIvdGVzdHMvbWVzb24uYnVpbGQKK2luZGV4IDgwZTQ1ZDcuLjlmMzg2OWYgMTAwNjQ0CistLS0gYS90ZXN0cy9tZXNvbi5idWlsZAorKysrIGIvdGVzdHMvbWVzb24uYnVpbGQKK0BAIC02Nyw3ICs2Nyw3IEBAIHRlc3RfZXh0cmFfcHJvZ3JhbXMgPSB7CisgICAndW5pY29kZS1jb2xsYXRlJyA6IHt9LAorIH0KKyAKKy1pZiBob3N0X21hY2hpbmUuc3lzdGVtKCkgIT0gJ3dpbmRvd3MnCisraWYgaG9zdF9zeXN0ZW0gIT0gJ3dpbmRvd3MnCisgICB0ZXN0cyArPSBbeworICAgICAndGltZWxvb3AnIDoge30sCisgICAgICdzcGF3bi10ZXN0JyA6IHt9LApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC8wMDAxLW1lc29uLWRvLWEtYnVpbGQtdGltZS1jaGVjay1mb3Itc3RybGNweS1iZWZvcmUtYXR0ZW0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wLzAwMDEtbWVzb24tZG8tYS1idWlsZC10aW1lLWNoZWNrLWZvci1zdHJsY3B5LWJlZm9yZS1hdHRlbS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMWVkMDI4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC8wMDAxLW1lc29uLWRvLWEtYnVpbGQtdGltZS1jaGVjay1mb3Itc3RybGNweS1iZWZvcmUtYXR0ZW0ucGF0Y2gKQEAgLTAsMCArMSw2MiBAQAorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbZmM4OGU1NmJmYzJiMDlhOGZiMmIzNTBlNzZmNjQyNWFiMGEwNTZkN10KK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK0Zyb20gMTQxYWNmNmEyZjNiMjFkNjNjOWNmZTYyMGI4ZTIwYTUwNmU3ODQ5MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CitEYXRlOiBXZWQsIDEzIE1hciAyMDE5IDE2OjIyOjA5ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIG1lc29uOiBkbyBhIGJ1aWxkLXRpbWUgY2hlY2sgZm9yIHN0cmxjcHkgYmVmb3JlIGF0dGVtcHRpbmcKKyBydW50aW1lIGNoZWNrCisKK0luIGNyb3NzLWNvbXBpbGF0aW9uIGVudmlyb25tZW50cyB0aGUgcnVudGltZSBjaGVjayBpc24ndCBwb3NzaWJsZSBzbyBpdCBpcyB1cAordG8gdGhlIGJ1aWxkZXIgdG8gc2VlZCB0aGUgY3Jvc3MgZmlsZSwgYnV0IHdlIGNhbiBkZWZpbml0ZWx5IHN0YXRlIHRoYXQgc3RybGNweQorZG9lc24ndCBleGlzdCB3aXRoIGEgYnVpbGQgdGVzdC4KKy0tLQorIG1lc29uLmJ1aWxkIHwgMzAgKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbWVzb24uYnVpbGQgYi9tZXNvbi5idWlsZAoraW5kZXggMTUwMzllNDQ4Li40MTRmMmQ5YjEgMTAwNjQ0CistLS0gYS9tZXNvbi5idWlsZAorKysrIGIvbWVzb24uYnVpbGQKK0BAIC0xODYwLDIyICsxODYwLDI0IEBAIGVuZGlmCisgCisgIyBUZXN0IGlmIHdlIGhhdmUgc3RybGNweS9zdHJsY2F0IHdpdGggYSBjb21wYXRpYmxlIGltcGxlbWVudGF0aW9uOgorICMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTUzOTMzCistaWYgY2NfY2FuX3J1bgorLSAgcnJlcyA9IGNjLnJ1bignJycjaW5jbHVkZSA8c3RkbGliLmg+CistICAgICAgICAgICAgICAgICAgICNpbmNsdWRlIDxzdHJpbmcuaD4KKy0gICAgICAgICAgICAgICAgICAgaW50IG1haW4oKSB7CistICAgICAgICAgICAgICAgICAgICAgY2hhciBwWzEwXTsKKy0gICAgICAgICAgICAgICAgICAgICAodm9pZCkgc3RybGNweSAocCwgImhpIiwgMTApOworLSAgICAgICAgICAgICAgICAgICAgIGlmIChzdHJsY2F0IChwLCAiYnllIiwgMCkgIT0gMykKKy0gICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOworLSAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOworLSAgICAgICAgICAgICAgICAgICB9JycnLAorLSAgICAgICAgICAgICAgICBuYW1lIDogJ09wZW5CU0Qgc3RybGNweS9zdHJsY2F0JykKKy0gIGlmIHJyZXMuY29tcGlsZWQoKSBhbmQgcnJlcy5yZXR1cm5jb2RlKCkgPT0gMAorK2lmIGNjLmhhc19mdW5jdGlvbignc3RybGNweScpCisrICBpZiBjY19jYW5fcnVuCisrICAgIHJyZXMgPSBjYy5ydW4oJycnI2luY2x1ZGUgPHN0ZGxpYi5oPgorKyAgICAgICAgICAgICAgICAgICAgI2luY2x1ZGUgPHN0cmluZy5oPgorKyAgICAgICAgICAgICAgICAgICAgaW50IG1haW4oKSB7CisrICAgICAgICAgICAgICAgICAgICAgIGNoYXIgcFsxMF07CisrICAgICAgICAgICAgICAgICAgICAgICh2b2lkKSBzdHJsY3B5IChwLCAiaGkiLCAxMCk7CisrICAgICAgICAgICAgICAgICAgICAgIGlmIChzdHJsY2F0IChwLCAiYnllIiwgMCkgIT0gMykKKysgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsKKysgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisrICAgICAgICAgICAgICAgICAgICB9JycnLAorKyAgICAgICAgICAgICAgICAgIG5hbWUgOiAnT3BlbkJTRCBzdHJsY3B5L3N0cmxjYXQnKQorKyAgICBpZiBycmVzLmNvbXBpbGVkKCkgYW5kIHJyZXMucmV0dXJuY29kZSgpID09IDAKKysgICAgICBnbGliX2NvbmYuc2V0KCdIQVZFX1NUUkxDUFknLCAxKQorKyAgICBlbmRpZgorKyAgZWxpZiBtZXNvbi5nZXRfY3Jvc3NfcHJvcGVydHkoJ2hhdmVfc3RybGNweScsIGZhbHNlKQorICAgICBnbGliX2NvbmYuc2V0KCdIQVZFX1NUUkxDUFknLCAxKQorICAgZW5kaWYKKy1lbGlmIG1lc29uLmdldF9jcm9zc19wcm9wZXJ0eSgnaGF2ZV9zdHJsY3B5JywgZmFsc2UpCistICBnbGliX2NvbmYuc2V0KCdIQVZFX1NUUkxDUFknLCAxKQorIGVuZGlmCisgCisgcHl0aG9uID0gaW1wb3J0KCdweXRob24nKS5maW5kX2luc3RhbGxhdGlvbigncHl0aG9uMycpCistLSAKKzIuMTEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wLzAwMDEtbWVzb24uYnVpbGQtZG8tbm90LWhhcmRjb2RlLWxpbnV4LWFzLXRoZS1ob3N0LXN5c3RlbS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvMDAwMS1tZXNvbi5idWlsZC1kby1ub3QtaGFyZGNvZGUtbGludXgtYXMtdGhlLWhvc3Qtc3lzdGVtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhMWE1ODkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wLzAwMDEtbWVzb24uYnVpbGQtZG8tbm90LWhhcmRjb2RlLWxpbnV4LWFzLXRoZS1ob3N0LXN5c3RlbS5wYXRjaApAQCAtMCwwICsxLDI3IEBACitGcm9tIDYzNWZlMjZhZjUxZjIwMTk0YzhiMjA4ZTdkMDEzMDNiZTEwODZkNjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMTkgRmViIDIwMTkgMTA6MzE6MTEgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gbWVzb24uYnVpbGQ6IGRvIG5vdCBoYXJkY29kZSAnbGludXgnIGFzIHRoZSBob3N0IHN5c3RlbQorCitPRSBidWlsZCBzeXN0ZW0gY2FuIHNldCB0aGlzIHRvIG90aGVyIHZhbHVlcyB0aGF0IGluY2x1ZGUgJ2xpbnV4JywKK2UuZy4gJ2xpbnV4LWdudWVhYmknCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyBtZXNvbi5idWlsZCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL21lc29uLmJ1aWxkIGIvbWVzb24uYnVpbGQKK2luZGV4IDQzNDhmMjAuLmFmNWVkNjMgMTAwNjQ0CistLS0gYS9tZXNvbi5idWlsZAorKysrIGIvbWVzb24uYnVpbGQKK0BAIC0xNTc0LDcgKzE1NzQsNyBAQCBhdG9taWNkZWZpbmUgPSAnJycKKyAjIFdlIGtub3cgdGhhdCB3ZSBjYW4gYWx3YXlzIHVzZSByZWFsICgibG9jayBmcmVlIikgYXRvbWljIG9wZXJhdGlvbnMgd2l0aCBNU1ZDCisgaWYgY2MuZ2V0X2lkKCkgPT0gJ21zdmMnIG9yIGNjLmxpbmtzKGF0b21pY3Rlc3QsIG5hbWUgOiAnYXRvbWljIG9wcycpCisgICBoYXZlX2F0b21pY19sb2NrX2ZyZWUgPSB0cnVlCistICBpZiAoaG9zdF9zeXN0ZW0gPT0gJ2FuZHJvaWQnIG9yIGhvc3Rfc3lzdGVtID09ICdsaW51eCcpIGFuZCBub3QgY2MuY29tcGlsZXMoYXRvbWljZGVmaW5lLCBuYW1lIDogJ2F0b21pYyBvcHMgZGVmaW5lJykKKysgIGlmIChob3N0X3N5c3RlbSA9PSAnYW5kcm9pZCcgb3IgaG9zdF9zeXN0ZW0uY29udGFpbnMoJ2xpbnV4JykpIGFuZCBub3QgY2MuY29tcGlsZXMoYXRvbWljZGVmaW5lLCBuYW1lIDogJ2F0b21pYyBvcHMgZGVmaW5lJykKKyAgICAgIyBXaGVuIGJ1aWxkaW5nIGZvciBhcm12NSBvbiBMaW51eCwgZ2NjIHByb3ZpZGVzCisgICAgICMgX19zeW5jX2Jvb2xfY29tcGFyZV9hbmRfc3dhcCBidXQgZG9lc24ndCBkZWZpbmUKKyAgICAgIyBfX0dDQ19IQVZFX1NZTkNfQ09NUEFSRV9BTkRfU1dBUF80CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wLzAwMTAtRG8tbm90LWhhcmRjb2RlLXB5dGhvbi1wYXRoLWludG8tdmFyaW91cy10b29scy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvMDAxMC1Eby1ub3QtaGFyZGNvZGUtcHl0aG9uLXBhdGgtaW50by12YXJpb3VzLXRvb2xzLnBhdGNoCmluZGV4IDY5N2Q2M2QuLjg3MjM0MGQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvMDAxMC1Eby1ub3QtaGFyZGNvZGUtcHl0aG9uLXBhdGgtaW50by12YXJpb3VzLXRvb2xzLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvMDAxMC1Eby1ub3QtaGFyZGNvZGUtcHl0aG9uLXBhdGgtaW50by12YXJpb3VzLXRvb2xzLnBhdGNoCkBAIC0xMiw3ICsxMiw3IEBACiAgMyBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9naW8vZ2RidXMtMi4wL2NvZGVnZW4vZ2RidXMtY29kZWdlbi5pbiBiL2dpby9nZGJ1cy0yLjAvY29kZWdlbi9nZGJ1cy1jb2RlZ2VuLmluCi1pbmRleCA4MDUwOTgxLi5lNjkzZWYzIDEwMDY0NAoraW5kZXggODA1MDk4MS4uZTY5M2VmMyAxMDA3NTUKIC0tLSBhL2dpby9nZGJ1cy0yLjAvY29kZWdlbi9nZGJ1cy1jb2RlZ2VuLmluCiArKysgYi9naW8vZ2RidXMtMi4wL2NvZGVnZW4vZ2RidXMtY29kZWdlbi5pbgogQEAgLTEsNCArMSw0IEBACmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wL0VuYWJsZS1tb3JlLXRlc3RzLXdoaWxlLWNyb3NzLWNvbXBpbGluZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvRW5hYmxlLW1vcmUtdGVzdHMtd2hpbGUtY3Jvc3MtY29tcGlsaW5nLnBhdGNoCmluZGV4IDUwNzgxZTcuLjVjY2QzMjAgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvRW5hYmxlLW1vcmUtdGVzdHMtd2hpbGUtY3Jvc3MtY29tcGlsaW5nLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvRW5hYmxlLW1vcmUtdGVzdHMtd2hpbGUtY3Jvc3MtY29tcGlsaW5nLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA0YjFhNmQyNDdjNzgxMjUwOTZhNmVhNWFiM2NhYjhhMWYwMDBkYzIzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAxNDgxYzZkNWYwOGY5ZGJiZTEwYWJjODdiMzcyYTFmNjFkYjM2NDc2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSnVzc2kgS3Vra29uZW4gPGp1c3NpLmt1a2tvbmVuQGludGVsLmNvbT4KIERhdGU6IE1vbiwgOSBOb3YgMjAxNSAxMTowNzoyNyArMDIwMAogU3ViamVjdDogW1BBVENIXSBFbmFibGUgbW9yZSB0ZXN0cyB3aGlsZSBjcm9zcy1jb21waWxpbmcKQEAgLTksMTcgKzksMTcgQEAKIAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KIFNpZ25lZC1vZmYtYnk6IEp1c3NpIEt1a2tvbmVuIDxqdXNzaS5rdWtrb25lbkBpbnRlbC5jb20+Ci0KIC0tLQogIGdpby90ZXN0cy9NYWtlZmlsZS5hbSAgICAgfCAxMCArKysrKystLS0tCi0gdGVzdHMvZ29iamVjdC9NYWtlZmlsZS5hbSB8ICA4ICsrKysrLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQorIGdpby90ZXN0cy9tZXNvbi5idWlsZCAgICAgfCAxNSArKysrKysrKy0tLS0tLS0KKyB0ZXN0cy9nb2JqZWN0L01ha2VmaWxlLmFtIHwgIDYgKysrKysrCisgMyBmaWxlcyBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2dpby90ZXN0cy9NYWtlZmlsZS5hbSBiL2dpby90ZXN0cy9NYWtlZmlsZS5hbQotaW5kZXggMWYwYmVkNy4uODI5NWRlYiAxMDA2NDQKK2luZGV4IGM0ZTdhOTIuLjYzM2U4NWMgMTAwNjQ0CiAtLS0gYS9naW8vdGVzdHMvTWFrZWZpbGUuYW0KICsrKyBiL2dpby90ZXN0cy9NYWtlZmlsZS5hbQotQEAgLTU1MCwxMCArNTUwLDkgQEAgdGVzdF9wcm9ncmFtcyArPSBcCitAQCAtNTgzLDEwICs1ODMsOSBAQCB0ZXN0X3Byb2dyYW1zICs9IFwKICBlbmRpZgogIAogICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTMyLDcgKzMyLDcgQEAKICB0ZXN0X3Byb2dyYW1zICs9IHJlc291cmNlcwogIHJlc291cmNlc19TT1VSQ0VTID0gcmVzb3VyY2VzLmMKICBub2Rpc3RfcmVzb3VyY2VzX1NPVVJDRVMgPSB0ZXN0X3Jlc291cmNlcy5jIHRlc3RfcmVzb3VyY2VzMi5jIHRlc3RfcmVzb3VyY2VzMi5oCi1AQCAtNTc4LDcgKzU3NywxMSBAQCBpZiAhRU5BQkxFX0lOU1RBTExFRF9URVNUUworQEAgLTYxMSw3ICs2MTAsMTEgQEAgaWYgIUVOQUJMRV9JTlNUQUxMRURfVEVTVFMKICBsaWJyZXNvdXJjZXBsdWdpbl9sYV9MREZMQUdTICs9IC1ycGF0aCAvCiAgZW5kaWYKICAKQEAgLTQ0LDcgKzQ0LDcgQEAKICAKICB0ZXN0LWdlbmVyYXRlZC50eHQ6IHRlc3QxLnR4dAogIAkkKEFNX1ZfR0VOKSBlY2hvICJHZW5lcmF0ZWQiID4gJEAgJiYgXAotQEAgLTU5OSw3ICs2MDIsNiBAQCB0ZXN0LmdyZXNvdXJjZTogdGVzdC5ncmVzb3VyY2UueG1sIE1ha2VmaWxlICQoc2hlbGwgJChnbGliX2NvbXBpbGVfcmVzb3VyY2VzKSAtLQorQEAgLTYzMiw3ICs2MzUsNiBAQCB0ZXN0LmdyZXNvdXJjZTogdGVzdC5ncmVzb3VyY2UueG1sIE1ha2VmaWxlICQoc2hlbGwgJChnbGliX2NvbXBpbGVfcmVzb3VyY2VzKSAtLQogIAogIEVYVFJBX0RJU1QgKz0gdGVzdC5ncmVzb3VyY2UueG1sIHRlc3QxLnR4dCB0ZXN0Mi5ncmVzb3VyY2UueG1sIHRlc3QyLnR4dCB0ZXN0My5ncmVzb3VyY2UueG1sIHRlc3QzLnR4dCB0ZXN0NC5ncmVzb3VyY2UueG1sCiAgQ0xFQU5GSUxFUyArPSB0ZXN0LWdlbmVyYXRlZC50eHQgdGVzdF9yZXNvdXJjZXMuYyB0ZXN0X3Jlc291cmNlczIuW2NoXSBwbHVnaW5fcmVzb3VyY2VzLmMgdGVzdC5ncmVzb3VyY2UKQEAgLTUyLDE5ICs1Miw4MiBAQAogIAogIEJVSUxUX1NPVVJDRVMgKz0gZ2lvdHlwZWZ1bmNzLmluYwogIAorZGlmZiAtLWdpdCBhL2dpby90ZXN0cy9tZXNvbi5idWlsZCBiL2dpby90ZXN0cy9tZXNvbi5idWlsZAoraW5kZXggZGNhMzNiZC4uMTgxZjVjNyAxMDA2NDQKKy0tLSBhL2dpby90ZXN0cy9tZXNvbi5idWlsZAorKysrIGIvZ2lvL3Rlc3RzL21lc29uLmJ1aWxkCitAQCAtMTczLDcgKzE3Myw3IEBAIGlmIGhvc3RfbWFjaGluZS5zeXN0ZW0oKSAhPSAnd2luZG93cycKKyAKKyAgICMgIFRlc3QgcHJvZ3JhbXMgdGhhdCBuZWVkIHRvIGJyaW5nIHVwIGEgc2Vzc2lvbiBidXMgKHJlcXVpcmVzIGRidXMtZGFlbW9uKQorICAgaGF2ZV9kYnVzX2RhZW1vbiA9IGZpbmRfcHJvZ3JhbSgnZGJ1cy1kYWVtb24nLCByZXF1aXJlZCA6IGZhbHNlKS5mb3VuZCgpCistICBpZiBoYXZlX2RidXNfZGFlbW9uCisrICBpZiB0cnVlCisgICAgIGFubm90YXRlX2FyZ3MgPSBbCisgICAgICAgJy0tYW5ub3RhdGUnLCAnb3JnLnByb2plY3QuQmFyJywgJ0tleTEnLCAnVmFsdWUxJywKKyAgICAgICAnLS1hbm5vdGF0ZScsICdvcmcucHJvamVjdC5CYXInLCAnb3JnLmd0ay5HREJ1cy5JbnRlcm5hbCcsICdWYWx1ZTInLAorQEAgLTQwNiwxMiArNDA2LDEzIEBAIGlmIGluc3RhbGxlZF90ZXN0c19lbmFibGVkCisgICBpbnN0YWxsX3N1YmRpcignY2VydC10ZXN0cycsIGluc3RhbGxfZGlyIDogaW5zdGFsbGVkX3Rlc3RzX2V4ZWNkaXIpCisgZW5kaWYKKyAKKy1pZiBub3QgbWVzb24uaXNfY3Jvc3NfYnVpbGQoKSBvciBtZXNvbi5oYXNfZXhlX3dyYXBwZXIoKQorKyNpZiBub3QgbWVzb24uaXNfY3Jvc3NfYnVpbGQoKSBvciBtZXNvbi5oYXNfZXhlX3dyYXBwZXIoKQorK2lmIG1lc29uLmlzX2Nyb3NzX2J1aWxkKCkKKyAKKyAgIHBsdWdpbl9yZXNvdXJjZXNfYyA9IGN1c3RvbV90YXJnZXQoJ3BsdWdpbi1yZXNvdXJjZXMuYycsCisgICAgIGlucHV0IDogJ3Rlc3Q0LmdyZXNvdXJjZS54bWwnLAorICAgICBvdXRwdXQgOiAncGx1Z2luLXJlc291cmNlcy5jJywKKy0gICAgY29tbWFuZCA6IFtnbGliX2NvbXBpbGVfcmVzb3VyY2VzLAorKyAgICBjb21tYW5kIDogWydnbGliLWNvbXBpbGUtcmVzb3VyY2VzJywKKyAgICAgICAgICAgICAgICAnLS10YXJnZXQ9QE9VVFBVVEAnLAorICAgICAgICAgICAgICAgICctLXNvdXJjZWRpcj0nICsgbWVzb24uY3VycmVudF9zb3VyY2VfZGlyKCksCisgICAgICAgICAgICAgICAgJy0tZ2VuZXJhdGUtc291cmNlJywKK0BAIC00MjgsNyArNDI5LDcgQEAgaWYgbm90IG1lc29uLmlzX2Nyb3NzX2J1aWxkKCkgb3IgbWVzb24uaGFzX2V4ZV93cmFwcGVyKCkKKyAgIHRlc3RfZ3Jlc291cmNlID0gY3VzdG9tX3RhcmdldCgndGVzdC5ncmVzb3VyY2UnLAorICAgICBpbnB1dCA6ICd0ZXN0LmdyZXNvdXJjZS54bWwnLAorICAgICBvdXRwdXQgOiAndGVzdC5ncmVzb3VyY2UnLAorLSAgICBjb21tYW5kIDogW2dsaWJfY29tcGlsZV9yZXNvdXJjZXMsCisrICAgIGNvbW1hbmQgOiBbJ2dsaWItY29tcGlsZS1yZXNvdXJjZXMnLAorICAgICAgICAgICAgICAgICctLXRhcmdldD1AT1VUUFVUQCcsCisgICAgICAgICAgICAgICAgJy0tc291cmNlZGlyPScgKyBtZXNvbi5jdXJyZW50X3NvdXJjZV9kaXIoKSwKKyAgICAgICAgICAgICAgICAnLS1zb3VyY2VkaXI9JyArIG1lc29uLmN1cnJlbnRfYnVpbGRfZGlyKCksCitAQCAtNDM5LDcgKzQ0MCw3IEBAIGlmIG5vdCBtZXNvbi5pc19jcm9zc19idWlsZCgpIG9yIG1lc29uLmhhc19leGVfd3JhcHBlcigpCisgICB0ZXN0X3Jlc291cmNlczJfYyA9IGN1c3RvbV90YXJnZXQoJ3Rlc3RfcmVzb3VyY2VzMi5jJywKKyAgICAgaW5wdXQgOiAndGVzdDMuZ3Jlc291cmNlLnhtbCcsCisgICAgIG91dHB1dCA6ICd0ZXN0X3Jlc291cmNlczIuYycsCistICAgIGNvbW1hbmQgOiBbZ2xpYl9jb21waWxlX3Jlc291cmNlcywKKysgICAgY29tbWFuZCA6IFsnZ2xpYi1jb21waWxlLXJlc291cmNlcycsCisgICAgICAgICAgICAgICAgJy0tdGFyZ2V0PUBPVVRQVVRAJywKKyAgICAgICAgICAgICAgICAnLS1zb3VyY2VkaXI9JyArIG1lc29uLmN1cnJlbnRfc291cmNlX2RpcigpLAorICAgICAgICAgICAgICAgICctLWdlbmVyYXRlJywKK0BAIC00NTAsNyArNDUxLDcgQEAgaWYgbm90IG1lc29uLmlzX2Nyb3NzX2J1aWxkKCkgb3IgbWVzb24uaGFzX2V4ZV93cmFwcGVyKCkKKyAgIHRlc3RfcmVzb3VyY2VzMl9oID0gY3VzdG9tX3RhcmdldCgndGVzdF9yZXNvdXJjZXMyLmgnLAorICAgICBpbnB1dCA6ICd0ZXN0My5ncmVzb3VyY2UueG1sJywKKyAgICAgb3V0cHV0IDogJ3Rlc3RfcmVzb3VyY2VzMi5oJywKKy0gICAgY29tbWFuZCA6IFtnbGliX2NvbXBpbGVfcmVzb3VyY2VzLAorKyAgICBjb21tYW5kIDogWydnbGliLWNvbXBpbGUtcmVzb3VyY2VzJywKKyAgICAgICAgICAgICAgICAnLS10YXJnZXQ9QE9VVFBVVEAnLAorICAgICAgICAgICAgICAgICctLXNvdXJjZWRpcj0nICsgbWVzb24uY3VycmVudF9zb3VyY2VfZGlyKCksCisgICAgICAgICAgICAgICAgJy0tZ2VuZXJhdGUnLAorQEAgLTQ2MSw3ICs0NjIsNyBAQCBpZiBub3QgbWVzb24uaXNfY3Jvc3NfYnVpbGQoKSBvciBtZXNvbi5oYXNfZXhlX3dyYXBwZXIoKQorICAgdGVzdF9yZXNvdXJjZXNfYyA9IGN1c3RvbV90YXJnZXQoJ3Rlc3RfcmVzb3VyY2VzLmMnLAorICAgICBpbnB1dCA6ICd0ZXN0Mi5ncmVzb3VyY2UueG1sJywKKyAgICAgb3V0cHV0IDogJ3Rlc3RfcmVzb3VyY2VzLmMnLAorLSAgICBjb21tYW5kIDogW2dsaWJfY29tcGlsZV9yZXNvdXJjZXMsCisrICAgIGNvbW1hbmQgOiBbJ2dsaWItY29tcGlsZS1yZXNvdXJjZXMnLAorICAgICAgICAgICAgICAgICctLXRhcmdldD1AT1VUUFVUQCcsCisgICAgICAgICAgICAgICAgJy0tc291cmNlZGlyPScgKyBtZXNvbi5jdXJyZW50X3NvdXJjZV9kaXIoKSwKKyAgICAgICAgICAgICAgICAnLS1nZW5lcmF0ZS1zb3VyY2UnLAogZGlmZiAtLWdpdCBhL3Rlc3RzL2dvYmplY3QvTWFrZWZpbGUuYW0gYi90ZXN0cy9nb2JqZWN0L01ha2VmaWxlLmFtCi1pbmRleCAwZTYwOTg3Li45MjdkMTNhIDEwMDY0NAoraW5kZXggMWJjZWZiZS4uNzdlNjQ2YSAxMDA2NDQKIC0tLSBhL3Rlc3RzL2dvYmplY3QvTWFrZWZpbGUuYW0KICsrKyBiL3Rlc3RzL2dvYmplY3QvTWFrZWZpbGUuYW0KLUBAIC01MSwxMCArNTEsMTMgQEAgaWYgRU5BQkxFX1RJTUVMT09QCitAQCAtNTEsNyArNTEsMTMgQEAgaWYgRU5BQkxFX1RJTUVMT09QCiAgaW5zdGFsbGVkX3Rlc3RfcHJvZ3JhbXMgKz0gdGltZWxvb3AtY2xvc3VyZQogIGVuZGlmCiAgCi0tIyBUaGUgbWFyc2hhbCB0ZXN0IHJlcXVpcmVzIHJ1bm5pbmcgYSBiaW5hcnksIHdoaWNoIG1lYW5zIHdlIGNhbm5vdAotLSMgYnVpbGQgaXQgd2hlbiBjcm9zcy1jb21waWxpbmcKICsjIFRoZSBtYXJzaGFsIHRlc3QgcmVxdWlyZXMgcnVubmluZyBhIGJpbmFyeSwgd2hpY2ggbWVhbnMgd2UgcmVxdWlyZQogKyMgZ2xpYi1uYXRpdmUgd2hlbiBjcm9zcy1jb21waWxpbmcKLSBpZiAhQ1JPU1NfQ09NUElMSU5HCisraWYgIUNST1NTX0NPTVBJTElORwogIGdsaWJfZ2VubWFyc2hhbD0kKHRvcF9idWlsZGRpcikvZ29iamVjdC9nbGliLWdlbm1hcnNoYWwKICtlbHNlCiArZ2xpYl9nZW5tYXJzaGFsPSQoc2hlbGwgd2hpY2ggZ2xpYi1nZW5tYXJzaGFsKQpAQCAtNzIsOSArMTM1LDMgQEAKICAKICB0ZXN0bWFyc2hhbC5oOiBzdGFtcC10ZXN0bWFyc2hhbC5oCiAgCUB0cnVlCi1AQCAtNzEsNCArNzQsMyBAQCB0ZXN0bWFyc2hhbC5jOiB0ZXN0bWFyc2hhbC5oIHRlc3RtYXJzaGFsLmxpc3QgJChnbGliX2dlbm1hcnNoYWwpCi0gQlVJTFRfU09VUkNFUyArPSB0ZXN0bWFyc2hhbC5oIHRlc3RtYXJzaGFsLmMKLSBDTEVBTkZJTEVTICs9IHN0YW1wLXRlc3RtYXJzaGFsLmggdGVzdG1hcnNoYWwuaCB0ZXN0bWFyc2hhbC5jCi0gRVhUUkFfRElTVCArPSB0ZXN0Y29tbW9uLmggdGVzdG1hcnNoYWwubGlzdAotLWVuZGlmICMgIUNST1NTX0NPTVBJTElORwotXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wL2NvbmZpZ3VyZS1saWJ0b29sLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC9jb25maWd1cmUtbGlidG9vbC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTliODkxMy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wL2NvbmZpZ3VyZS1saWJ0b29sLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotRnJvbSAxZGQxZTZkZGNhNWRlYWRhMDQ5YmFjMmUxZWUxZmU0ZWNjNTM0MmM1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgotRGF0ZTogU2F0LCAyOCBBcHIgMjAxMiAxODoyNDo1MCArMDIwMAotU3ViamVjdDogW1BBVENIIDAxLzEwXSBjb25maWd1cmU6IHVzZSAkaG9zdF9hbGlhcy1saWJ0b29sIGluc3RlYWQgb2YgbGlidG9vbAotIGRpcmVjdGx5Ci0KLVBva3kgcmVuYW1lcyBsaWJ0b29sIHRvICRob3N0X2FsaWFzLWxpYnRvb2wuCi0uLyRob3N0X2FsaWFzLWxpYnRvb2wgaXNuJ3QgY3JlYXRlZCB1bnRpbCBhZnRlciBjb25maWd1cmUgcnVucyB3aXRoCi1saWJ0b29sID49IDIuMi4yCi1zbyB3ZSBjYW4ndCBjYWxsICMgaXQgYXQgdGhpcyBwb2ludC4gV2UgY2FuIHNhZmVseSBhc3N1bWUgYSB2ZXJzaW9uIGlzCi1hdmFpbGFibGUKLWZyb20gUEFUSCB0aG91Z2gKLQotUmViYXNlZCB0byBnbGliLTIuMjcuMyBieSBEb25neGlhbyBYdSA8ZG9uZ3hpYW8ueHVAaW50ZWwuY29tPgotUmViYXNlZCB0byBnbGliLTIuMzIuMSBieSBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+Ci1SZWJhc2VkIHRvIGdsaWItMi4zMS4yMCsgYnkgQW5kcmUgTWNDdXJkeSA8YXJtY2N1cmR5QGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQotCi1TaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+Ci0KLS0tLQotIGNvbmZpZ3VyZS5hYyB8IDQgKystLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDZmYTZlYjAuLmI2Zjc4YTYgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuYWMKLSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTE0MjgsOSArMTQyOCw5IEBAIEFTX0lGKFsgdGVzdCAiJEdfTU9EVUxFX0lNUEwiID0gIkdfTU9EVUxFX0lNUExfREwiIF0sIFsKLSAJTERGTEFHUz0iJExERkxBR1MgJEdfTU9EVUxFX0xERkxBR1MiCi0gZG5sICoqKiBjaGVjayBmb3IgT1NGMS81LjAgUlRMRF9HTE9CQUwgYnJva2VubmVzcwotIAllY2hvICJ2b2lkIGdsaWJfcGx1Z2luX3Rlc3Qodm9pZCkgeyB9IiA+IHBsdWdpbi5jCi0tCSR7U0hFTEx9IC4vbGlidG9vbCAtLW1vZGU9Y29tcGlsZSAtLXRhZz1DQyAke0NDfSAke0NGTEFHU30gXAotKwkke1NIRUxMfSAuLyRob3N0X2FsaWFzLWxpYnRvb2wgLS1tb2RlPWNvbXBpbGUgLS10YWc9Q0MgJHtDQ30gJHtDRkxBR1N9IFwKLSAJCSR7Q1BQRkxBR1N9IC1jIC1vIHBsdWdpbi5sbyBwbHVnaW4uYyA+L2Rldi9udWxsIDI+JjEKLS0JJHtTSEVMTH0gLi9saWJ0b29sIC0tbW9kZT1saW5rIC0tdGFnPUNDICR7Q0N9ICR7Q0ZMQUdTfSBcCi0rCSR7U0hFTEx9IC4vJGhvc3RfYWxpYXMtbGlidG9vbCAtLW1vZGU9bGluayAtLXRhZz1DQyAke0NDfSAke0NGTEFHU30gXAotIAkJJHtMREZMQUdTfSAtbW9kdWxlIC1vIHBsdWdpbi5sYSAtZXhwb3J0LWR5bmFtaWMgXAotIAkJLXNocmV4dCAiLm8iIC1hdm9pZC12ZXJzaW9uIHBsdWdpbi5sbyBcCi0gCQktcnBhdGggL2RvbnQvY2FyZSA+L2Rldi9udWxsIDI+JjEKLS0tIAotMi4xNC4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvZGF0ZS1sdC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvZGF0ZS1sdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGQwYWZmNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wL2RhdGUtbHQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi1VcGRhdGUgTGl0aHVhbmlhbiBtb250aCBuYW1lcyBpbiB0aGUgdGVzdCBzdWl0ZSBhcyBnbGliYyBjaGFuZ2VkIHRoZSB0cmFuc2xhdGlvbnMuCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ2xpYi9tZXJnZV9yZXF1ZXN0cy8zNzNdCi1TaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotCi1kaWZmIC0tZ2l0IGEvZ2xpYi90ZXN0cy9kYXRlLmMgYi9nbGliL3Rlc3RzL2RhdGUuYwotaW5kZXggYjgwMWNhNzA0Li42NjQ2YzIyN2MgMTAwNjQ0Ci0tLS0gYS9nbGliL3Rlc3RzL2RhdGUuYwotKysrIGIvZ2xpYi90ZXN0cy9kYXRlLmMKLUBAIC0zNjUsOCArMzY1LDggQEAgdGVzdF9tb250aF9uYW1lcyAodm9pZCkKLSAgICAgICBURVNUX0RBVEUgKCAxLCAgNCwgMjAxOCwgICAgICAiJVkgbS4gJU9CIiwgICAgICAiMjAxOCBtLiBiYWxhbmRpcyIpOwotICAgICAgIFRFU1RfREFURSAoIDEsICA1LCAyMDE4LCAgICAgICIlWSBtLiAlT0IiLCAgICAgICAgIjIwMTggbS4gZ2VndcW+xJciKTsKLSAgICAgICBURVNUX0RBVEUgKCAxLCAgNiwgMjAxOCwgICAgICAiJVkgbS4gJU9CIiwgICAgICAiMjAxOCBtLiBiaXLFvmVsaXMiKTsKLS0gICAgICBURVNUX0RBVEUgKDE3LCAgNywgMjAxOCwgIiVZIG0uICViICVlIGQuIiwgICAgICIyMDE4IG0uIExpZSAxNyBkLiIpOwotLSAgICAgIFRFU1RfREFURSAoIDEsICA4LCAyMDE4LCAgICAgICIlWSBtLiAlT2IiLCAgICAgICAgICAgIjIwMTggbS4gUmdwIik7Ci0rICAgICAgVEVTVF9EQVRFICgxNywgIDcsIDIwMTgsICIlWSBtLiAlYiAlZSBkLiIsICAgIjIwMTggbS4gTGllcC4gMTcgZC4iKTsKLSsgICAgICBURVNUX0RBVEUgKCAxLCAgOCwgMjAxOCwgICAgICAiJVkgbS4gJU9iIiwgICAgICAgICAiMjAxOCBtLiBydWdwLiIpOwotICAgICB9Ci0gICBlbHNlCi0gICAgIGdfdGVzdF9za2lwICgibG9jYWxlIGx0X0xUIG5vdCBhdmFpbGFibGUsIHNraXBwaW5nIExpdGh1YW5pYW4gbW9udGggbmFtZXMgdGVzdCIpOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC9nbGliLW1lc29uLmNyb3NzIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC9nbGliLW1lc29uLmNyb3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0MjBmOTgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wL2dsaWItbWVzb24uY3Jvc3MKQEAgLTAsMCArMSw2IEBACitbcHJvcGVydGllc10KK2hhdmVfYzk5X3ZzbnByaW50ZiA9IHRydWUKK2hhdmVfYzk5X3NucHJpbnRmID0gdHJ1ZQoraGF2ZV91bml4OThfcHJpbnRmID0gdHJ1ZQordmFfdmFsX2NvcHkgPSB0cnVlCitncm93aW5nX3N0YWNrID0gZmFsc2UKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvcmVsb2NhdGUtbW9kdWxlcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvcmVsb2NhdGUtbW9kdWxlcy5wYXRjaAppbmRleCBmOTc5NGQzLi5hNGUwYzkyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wL3JlbG9jYXRlLW1vZHVsZXMucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC9yZWxvY2F0ZS1tb2R1bGVzLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA4MzI2OTYxODQxZjRkMTZjNzIzOWU3NDdkZTExZTM4MTdjMzVjZmQyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA5ZDk4NTgwM2M1MGNmYjk5MjUzYzc1NzkzNDk4NWY5MzdkYTM0ODIyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KIERhdGU6IEZyaSwgMTEgTWFyIDIwMTYgMTU6MzU6NTUgKzAwMDAKIFN1YmplY3Q6IFtQQVRDSF0gZ2xpYi0yLjA6IHJlbG9jYXRlIHRoZSBHSU8gbW9kdWxlIGRpcmVjdG9yeSBmb3IgbmF0aXZlIGJ1aWxkcwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC9ydW4tcHRlc3QgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wL3J1bi1wdGVzdAppbmRleCA1Yjg1ZThmLi44ZjA4MmQzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wL3J1bi1wdGVzdAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wL3J1bi1wdGVzdApAQCAtMSw1ICsxLDYgQEAKICMhIC9iaW4vc2gKIAorc2V0IC1ldXgKIHVzZXJhZGQgZ2xpYjItdGVzdAogc3UgZ2xpYjItdGVzdCAtYyBnbm9tZS1kZXNrdG9wLXRlc3RpbmctcnVubmVyIGdsaWIKIHVzZXJkZWwgZ2xpYjItdGVzdApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMF8yLjU4LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wXzIuNTguMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTI3MWE3Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wXzIuNTguMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLXJlcXVpcmUgZ2xpYi5pbmMKLQotUEUgPSAiMSIKLQotU0hSVF9WRVIgPSAiJHtAb2UudXRpbHMudHJpbV92ZXJzaW9uKCIke1BWfSIsIDIpfSIKLQotU1JDX1VSSSA9ICIke0dOT01FX01JUlJPUn0vZ2xpYi8ke1NIUlRfVkVSfS9nbGliLSR7UFZ9LnRhci54eiBcCi0gICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUtbGlidG9vbC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAotICAgICAgICAgICBmaWxlOi8vdWNsaWJjX211c2xfdHJhbnNsYXRpb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1SZW1vdmUtdGhlLXdhcm5pbmctYWJvdXQtZGVwcmVjYXRlZC1wYXRocy1pbi1zY2hlbWFzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0VuYWJsZS1tb3JlLXRlc3RzLXdoaWxlLWNyb3NzLWNvbXBpbGluZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUluc3RhbGwtZ2lvLXF1ZXJ5bW9kdWxlcy1hcy1saWJleGVjX1BST0dSQU0ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3QtaWdub3JlLXJldHVybi12YWx1ZS1vZi13cml0ZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDEwLURvLW5vdC1oYXJkY29kZS1weXRob24tcGF0aC1pbnRvLXZhcmlvdXMtdG9vbHMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGF0ZS1sdC5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBmaWxlOi8vcmVsb2NhdGUtbW9kdWxlcy5wYXRjaCIKLQotU1JDX1VSSVttZDVzdW1dID0gIjliNWQyMWM4MDJmNTViZjM3MTcxYzRmYmZlN2QzMmQxIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImMwZjRjZTA3MzBiNGY5NWM0N2I3MTE2MTNiNTQwNmE4ODdjMmVlMTNlYTZkMjU5MzBkNzJhNGZhN2ZkYjc3ZjYiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wXzIuNTguMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjBfMi41OC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczM2EyZDQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wXzIuNTguMy5iYgpAQCAtMCwwICsxLDI2IEBACityZXF1aXJlIGdsaWIuaW5jCisKK1BFID0gIjEiCisKK1NIUlRfVkVSID0gIiR7QG9lLnV0aWxzLnRyaW1fdmVyc2lvbigiJHtQVn0iLCAyKX0iCisKK1NSQ19VUkkgPSAiJHtHTk9NRV9NSVJST1J9L2dsaWIvJHtTSFJUX1ZFUn0vZ2xpYi0ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAgZmlsZTovL3VjbGliY19tdXNsX3RyYW5zbGF0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL0VuYWJsZS1tb3JlLXRlc3RzLXdoaWxlLWNyb3NzLWNvbXBpbGluZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVJlbW92ZS10aGUtd2FybmluZy1hYm91dC1kZXByZWNhdGVkLXBhdGhzLWluLXNjaGVtYXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1JbnN0YWxsLWdpby1xdWVyeW1vZHVsZXMtYXMtbGliZXhlY19QUk9HUkFNLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LWlnbm9yZS1yZXR1cm4tdmFsdWUtb2Ytd3JpdGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxMC1Eby1ub3QtaGFyZGNvZGUtcHl0aG9uLXBhdGgtaW50by12YXJpb3VzLXRvb2xzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtUmV2ZXJ0LVVzZS1hYnNvbHV0ZS1wYXRocy1pbi1wa2ctY29uZmlnLWZpbGVzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtU2V0LWhvc3RfbWFjaGluZS1jb3JyZWN0bHktd2hlbi1idWlsZGluZy13aXRoLW1pbmd3My5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC13cml0ZS1iaW5kaXItaW50by1wa2ctY29uZmlnLWZpbGVzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbWVzb24uYnVpbGQtZG8tbm90LWhhcmRjb2RlLWxpbnV4LWFzLXRoZS1ob3N0LXN5c3RlbS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW1lc29uLWRvLWEtYnVpbGQtdGltZS1jaGVjay1mb3Itc3RybGNweS1iZWZvcmUtYXR0ZW0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZ2xpYi1tZXNvbi5jcm9zcyBcCisgICAgICAgICAgICIKKworU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBmaWxlOi8vcmVsb2NhdGUtbW9kdWxlcy5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gIjgwNThjN2JkZTg0NmRjZmZlNWZhNDUzZWNhMzY2ZDczIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhmNDNjMzE3NjdlODhhMjVkYTcyYjUyYTQwZjMzMDFmZWZjNDlhNjY1YjU2ZGMxMGVlN2NjOTU2NWNiZTc0ODEiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWIuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLmluYwppbmRleCBlODIxNWRhLi41NzRiYjM4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWIuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi5pbmMKQEAgLTIyLDM0ICsyMiwzOCBAQAogICAgICAgICAgICB2aXJ0dWFsL2xpYmludGwgXAogICAgICAgICAgICB2aXJ0dWFsL2xpYmljb252IFwKICAgICAgICAgICAgbGliZmZpIFwKLSAgICAgICAgICAgemxpYiBcCi0gICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQVEVTVF9FTkFCTEVEJywgJzEnLCAnZGJ1cycsICcnLCBkKX0iCisgICAgICAgICAgIHpsaWIiCiAKIFBBQ0tBR0VTICs9ICIke1BOfS1jb2RlZ2VuICR7UE59LXV0aWxzIgogCiBMRUFEX1NPTkFNRSA9ICJsaWJnbGliLTIuMC4qIgogCi1pbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IGd0ay1kb2MgcGtnY29uZmlnIHB0ZXN0LWdub21lIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbiBiYXNoLWNvbXBsZXRpb24gZ2lvLW1vZHVsZS1jYWNoZSBtYW5wYWdlcworaW5oZXJpdCBtZXNvbiBnZXR0ZXh0IGd0ay1kb2MgcGtnY29uZmlnIHB0ZXN0LWdub21lIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbiBiYXNoLWNvbXBsZXRpb24gZ2lvLW1vZHVsZS1jYWNoZSBtYW5wYWdlcyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworR1RLRE9DX0VOQUJMRV9GTEFHID0gIi1EZ3RrX2RvYz10cnVlIgorR1RLRE9DX0RJU0FCTEVfRkxBRyA9ICItRGd0a19kb2M9ZmFsc2UiCisKK0VYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0dUS0RPQ19FTkFCTEVEJywgJ1RydWUnLCAnJHtHVEtET0NfRU5BQkxFX0ZMQUd9JywgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcke0dUS0RPQ19ESVNBQkxFX0ZMQUd9JywgZCl9ICIKKworIyBUaGlzIGF2b2lkcyB0aGUgbmVlZCB0byBkZXBlbmQgb24gdGFyZ2V0IHB5dGhvbjMsIHdoaWNoIGluIGNhc2Ugb2YgbWluZ3cgaXMgbm90IGV2ZW4gcG9zc2libGUuCisjIG1lc29uJ3MgcHl0aG9uIGNvbmZpZ3VyYXRpb24gcG9rZXMgaW50byBweXRob24zIGNvbmZpZ3VyYXRpb24sIHNvIHRoaXMgcHJvdmlkZXMgdGhlIG5hdGl2ZSBjb25maWcgdG8gaXQuCit1bnNldCBfUFlUSE9OX1NZU0NPTkZJR0RBVEFfTkFNRQogCiBTID0gIiR7V09SS0RJUn0vZ2xpYi0ke1BWfSIKIAotUEFDS0FHRUNPTkZJRyA/Pz0gInN5c3RlbS1wY3JlIGxpYm1vdW50IgorUEFDS0FHRUNPTkZJRyA/Pz0gInN5c3RlbS1wY3JlIGxpYm1vdW50IFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnUFRFU1RfRU5BQkxFRCcsICcxJywgJ3Rlc3RzJywgJycsIGQpfSIKICMgVG8gdXNlIHRoZSBzeXN0ZW0gcGNyZSBpdCBtdXN0IGJlIGNvbmZpZ3VyZWQgd2l0aCAtLWVuYWJsZS11bmljb2RlLXByb3BlcnRpZXMKLVBBQ0tBR0VDT05GSUdbc3lzdGVtLXBjcmVdID0gIi0td2l0aC1wY3JlPXN5c3RlbSwtLXdpdGgtcGNyZT1pbnRlcm5hbCxsaWJwY3JlIgotUEFDS0FHRUNPTkZJR1tsaWJtb3VudF0gPSAiLS1lbmFibGUtbGlibW91bnQsLS1kaXNhYmxlLWxpYm1vdW50LHV0aWwtbGludXgiCi1QQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICItLWVuYWJsZS1tYW4gLS13aXRoLXhtbC1jYXRhbG9nPSR7U1RBR0lOR19FVENESVJfTkFUSVZFfS94bWwvY2F0YWxvZy54bWwsIC0tZGlzYWJsZS1tYW4sIGxpYnhzbHQtbmF0aXZlIHhtbHRvLW5hdGl2ZSIKLVBBQ0tBR0VDT05GSUdbbGliZWxmXSA9ICItLWVuYWJsZS1saWJlbGYsLS1kaXNhYmxlLWxpYmVsZixlbGZ1dGlscyIKK1BBQ0tBR0VDT05GSUdbc3lzdGVtLXBjcmVdID0gIi1EaW50ZXJuYWxfcGNyZT1mYWxzZSwtRGludGVybmFsX3BjcmU9dHJ1ZSxsaWJwY3JlIgorUEFDS0FHRUNPTkZJR1tsaWJtb3VudF0gPSAiLURsaWJtb3VudD10cnVlLC1EbGlibW91bnQ9ZmFsc2UsdXRpbC1saW51eCIKK1BBQ0tBR0VDT05GSUdbbWFucGFnZXNdID0gIi1EbWFuPXRydWUsIC1EbWFuPWZhbHNlLCBsaWJ4c2x0LW5hdGl2ZSB4bWx0by1uYXRpdmUiCisjIGxpYmVsZiBpcyBhdXRvLWRldGVjdGVkIHdpdGhvdXQgYSBjb25maWd1cmF0aW9uIG9wdGlvbgorUEFDS0FHRUNPTkZJR1tsaWJlbGZdID0gIiwsZWxmdXRpbHMiCitQQUNLQUdFQ09ORklHW3Rlc3RzXSA9ICItRGluc3RhbGxlZF90ZXN0cz10cnVlLC1EaW5zdGFsbGVkX3Rlc3RzPWZhbHNlLGRidXMiCiAKLUNPUkVDT05GID0gIi0tZGlzYWJsZS1kdHJhY2UgLS1kaXNhYmxlLWZhbSAtLWRpc2FibGUtc3lzdGVtdGFwIgotCi1QUklOVEYgPSAiLS1lbmFibGUtaW5jbHVkZWQtcHJpbnRmPW5vIgotUFJJTlRGX2RhcndpbiA9ICItLWVuYWJsZS1pbmNsdWRlZC1wcmludGY9eWVzIgotUFJJTlRGX21pbmd3MzIgPSAiLS1lbmFibGUtaW5jbHVkZWQtcHJpbnRmPXllcyIKLUVYVFJBX09FQ09ORiA9ICIke1BSSU5URn0gJHtDT1JFQ09ORn0iCi1FWFRSQV9PRUNPTkZfY2xhc3MtbmF0aXZlID0gIiR7Q09SRUNPTkZ9IC0tZGlzYWJsZS1zZWxpbnV4IgotCi0jIFRlbGwgY29uZmlndXJlIHRoYXQgd2UnbGwgaGF2ZSBkYnVzLWRhZW1vbiBvbiB0aGUgdGFyZ2V0IGZvciB0aGUgdGVzdHMKLUVYVFJBX09FQ09ORl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygnUFRFU1RfRU5BQkxFRCcsICcxJywgJyBhY19jdl9wcm9nX0RCVVNfREFFTU9OPWRidXMtZGFlbW9uJywgJycsIGQpfSIKK0VYVFJBX09FTUVTT04gPSAiLURkdHJhY2U9ZmFsc2UgLURmYW09ZmFsc2UgLURzeXN0ZW10YXA9ZmFsc2UgLURzZWxpbnV4PWZhbHNlIgorRVhUUkFfT0VNRVNPTl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAtLWNyb3NzLWZpbGUgJHtXT1JLRElSfS9nbGliLW1lc29uLmNyb3NzIgogCiBkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKIAlzZWQgLWkgLWUgJzFzLCMhLiosIyEke1VTUkJJTlBBVEh9L2VudiBweXRob24zLCcgJHtTfS9naW8vZ2RidXMtMi4wL2NvZGVnZW4vZ2RidXMtY29kZWdlbi5pbgpAQCAtNzUsOSArNzksMTIgQEAKICAgICAgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2dkYnVzLWNvZGVnZW4iCiBGSUxFU18ke1BOfS11dGlscyA9ICIke2JpbmRpcn0vKiIKIAotUlJFQ09NTUVORFNfJHtQTn0gKz0gInNoYXJlZC1taW1lLWluZm8iCitTSEFSRURNSU1FREVQID0gInNoYXJlZC1taW1lLWluZm8iCitTSEFSRURNSU1FREVQX2NsYXNzLW5hdGl2ZSA9ICIiCiAjIFdoZW4gY3Jvc3MgY29tcGlsaW5nIGZvciBXaW5kb3dzIHdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGlzCi1SUkVDT01NRU5EU18ke1BOfV9yZW1vdmVfbWluZ3czMiA9ICJzaGFyZWQtbWltZS1pbmZvIgorU0hBUkVETUlNRURFUF9taW5ndzMyID0gIiIKKworUlJFQ09NTUVORFNfJHtQTn0gKz0gIiR7U0hBUkVETUlNRURFUH0iCiAKIEFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjQgPSAiYXJtIgogQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NSA9ICJhcm0iCkBAIC0xMTIsNiArMTE5LDggQEAKICAgICAgICAgaWYgdGVzdCAieCR7TUxQUkVGSVh9IiAhPSAieCI7IHRoZW4KICAgICAgICAgICAgICAgICBtdiAke0R9JHtsaWJleGVjZGlyfS9naW8tcXVlcnltb2R1bGVzJHtFWEVFWFR9ICR7RH0ke2xpYmV4ZWNkaXJ9LyR7TUxQUkVGSVh9Z2lvLXF1ZXJ5bW9kdWxlcyR7RVhFRVhUfQogICAgICAgICBmaQorICAgICAgICAjIEF1dG90b29scyBkb2VzIHRoaXMsIG1lc29uIGRvZXMgbm90CisgICAgICAgIG1rZGlyIC1wICR7RH0ke2xpYmRpcn0vZ2lvL21vZHVsZXMKIH0KIAogZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0ICgpIHsKQEAgLTEyNCw2ICsxMzMsMTEgQEAKIAlmaQogfQogCisjIEFzIHdlIGRvIG5vdCBidWlsZCBweXRob24zIGZvciB3aW5kb3dzLCBtYWtlcyBubyBzZW5zZSB0byBzaGlwIHRoZSBzY3JpcHQgdGhhdCdzIHVzaW5nIGl0Citkb19pbnN0YWxsX2FwcGVuZF9taW5ndzMyKCkgeworICAgICAgICBybSAtZiAke0R9JHtiaW5kaXJ9L2d0ZXN0ZXItcmVwb3J0Cit9CisKIENPREVHRU5fUFlUSE9OX1JERVBFTkRTID0gInB5dGhvbjMgcHl0aG9uMy1kaXN0dXRpbHMgcHl0aG9uMy14bWwiCiBDT0RFR0VOX1BZVEhPTl9SREVQRU5EU19taW5ndzMyID0gIiIKIApAQCAtMTQwLDggKzE1NCw2IEBACiAgICAgICAgICAgICBzaGFyZWQtbWltZS1pbmZvIFwKICAgICAgICAgICAgIgogCi0jIFdoZW4gaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dsaWIvaXNzdWVzLzEzNDMgaXMKLSMgZml4ZWQgYWRkIGxvY2FsZS1iYXNlLXBsLXBsCiBSREVQRU5EU18ke1BOfS1wdGVzdF9hcHBlbmRfbGliYy1nbGliYyA9ICJcCiAgICAgICAgICAgICBnbGliYy1nY29udi11dGYtMTYgXAogICAgICAgICAgICAgZ2xpYmMtY2hhcm1hcC11dGYtOCBcCkBAIC0xNjUsNiArMTc3LDUgQEAKICAgICAgICAgICAgIGxvY2FsZS1iYXNlLWZyLWZyIFwKICAgICAgICAgICAgIGxvY2FsZS1iYXNlLWVzLWVzIFwKICAgICAgICAgICAgIGxvY2FsZS1iYXNlLWVuLWdiIFwKKyAgICAgICAgICAgIGxvY2FsZS1iYXNlLXBsLXBsIFwKICAgICAgICAgICAgIgotCi1JTlNBTkVfU0tJUF8ke1BOfS1wdGVzdCArPSAibGliZGlyIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLW5ldHdvcmtpbmcvZ2xpYi1uZXR3b3JraW5nXzIuNTQuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi1uZXR3b3JraW5nL2dsaWItbmV0d29ya2luZ18yLjU0LjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVkMTdhODIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLW5ldHdvcmtpbmcvZ2xpYi1uZXR3b3JraW5nXzIuNTQuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLVNVTU1BUlkgPSAiR0xpYiBuZXR3b3JraW5nIGV4dGVuc2lvbnMiCi1ERVNDUklQVElPTiA9ICJnbGliLW5ldHdvcmtpbmcgY29udGFpbnMgdGhlIGltcGxlbWVudGF0aW9ucyBvZiBjZXJ0YWluIEdMaWIgbmV0d29ya2luZyBmZWF0dXJlcyB0aGF0IGNhbm5vdCBiZSBpbXBsZW1lbnRlZCBkaXJlY3RseSBpbiBHTGliIGl0c2VsZiBiZWNhdXNlIG9mIHRoZWlyIGRlcGVuZGVuY2llcy4iCi1IT01FUEFHRSA9ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ2xpYi1uZXR3b3JraW5nLyIKLUJVR1RSQUNLRVIgPSAiaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZyIKLQotTElDRU5TRSA9ICJMR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01ZjMwZjA3MTZkZmRkMGQ5MWViNDM5ZWJlYzUyMmVjMiIKLQotU0VDVElPTiA9ICJsaWJzIgotREVQRU5EUyA9ICJnbGliLTIuMCIKLQotU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiOTk4Njc0NjNmMTgyYzI3NjdiY2UwYzc0YmM5Y2M5ODEiCi1TUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJlYWE3ODdiNjUzMDE1YTBkZTMxYzkyOGU5YTE3ZWI1N2I0Y2UyM2M4Y2Y2ZjI3N2FmYWVjMGQ2ODUzMzUwMTJmIgotCi1QQUNLQUdFQ09ORklHID8/PSAiY2EtY2VydGlmaWNhdGVzIGdudXRscyIKLQotIyBObyBleHBsaWNpdCBkZXBlbmRlbmN5IGFzIGl0IHdvcmtzIHdpdGhvdXQgY2EtY2VydGlmaWNhdGVzIGluc3RhbGxlZAotUEFDS0FHRUNPTkZJR1tjYS1jZXJ0aWZpY2F0ZXNdID0gIi0td2l0aC1jYS1jZXJ0aWZpY2F0ZXM9JHtzeXNjb25mZGlyfS9zc2wvY2VydHMvY2EtY2VydGlmaWNhdGVzLmNydCwtLXdpdGhvdXQtY2EtY2VydGlmaWNhdGVzIgotUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIi0td2l0aC1nbnV0bHMsLS13aXRob3V0LWdudXRscyxnbnV0bHMiCi1QQUNLQUdFQ09ORklHW2xpYnByb3h5XSA9ICItLXdpdGgtbGlicHJveHksLS13aXRob3V0LWxpYnByb3h5LGxpYnByb3h5IgotUEFDS0FHRUNPTkZJR1twa2NzMTFdID0gIi0td2l0aC1wa2NzMTEsLS13aXRob3V0LXBrY3MxMSxwMTEta2l0IgotCi1FWFRSQV9PRUNPTkYgPSAiLS13aXRob3V0LWdub21lLXByb3h5IgotCi1pbmhlcml0IGdub21lYmFzZSBnZXR0ZXh0IHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbiBnaW8tbW9kdWxlLWNhY2hlCi0KLUZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vZ2lvL21vZHVsZXMvbGliZ2lvKi5zbyAke2RhdGFkaXJ9L2RidXMtMS9zZXJ2aWNlcy8iCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9naW8vbW9kdWxlcy9saWJnaW8qLmxhIgotRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xpYmRpcn0vZ2lvL21vZHVsZXMvbGliZ2lvKi5hIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLW5ldHdvcmtpbmcvZ2xpYi1uZXR3b3JraW5nXzIuNTguMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi1uZXR3b3JraW5nL2dsaWItbmV0d29ya2luZ18yLjU4LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjMxOTBlMQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi1uZXR3b3JraW5nL2dsaWItbmV0d29ya2luZ18yLjU4LjAuYmIKQEAgLTAsMCArMSwzMSBAQAorU1VNTUFSWSA9ICJHTGliIG5ldHdvcmtpbmcgZXh0ZW5zaW9ucyIKK0RFU0NSSVBUSU9OID0gImdsaWItbmV0d29ya2luZyBjb250YWlucyB0aGUgaW1wbGVtZW50YXRpb25zIG9mIGNlcnRhaW4gR0xpYiBuZXR3b3JraW5nIGZlYXR1cmVzIHRoYXQgY2Fubm90IGJlIGltcGxlbWVudGVkIGRpcmVjdGx5IGluIEdMaWIgaXRzZWxmIGJlY2F1c2Ugb2YgdGhlaXIgZGVwZW5kZW5jaWVzLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbGliLW5ldHdvcmtpbmcvIgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCisKK1NFQ1RJT04gPSAibGlicyIKK0RFUEVORFMgPSAiZ2xpYi0yLjAiCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjc1YjE0YjdlNzNhNjc3NTNiZTljZTMwNzc1MWM2NjFkIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiYmRmYTAyNTVlMDMxYjhlZTAwM2NjMjgzMDAyNTM2Yjc3ZWU3NjQ1MDEwNWYxZGM2YWIwNjZiOWJmNDMzMDA2OCIKKworUEFDS0FHRUNPTkZJRyA/Pz0gImdudXRscyIKKworUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIi1EZ251dGxzPXRydWUsLURnbnV0bHM9ZmFsc2UsZ251dGxzIgorUEFDS0FHRUNPTkZJR1tsaWJwcm94eV0gPSAiLURsaWJwcm94eV9zdXBwb3J0PXRydWUsLURsaWJwcm94eV9zdXBwb3J0PWZhbHNlLGxpYnByb3h5IgorCitFWFRSQV9PRU1FU09OID0gIi1EZ25vbWVfcHJveHlfc3VwcG9ydD1mYWxzZSIKKworR05PTUVCQVNFQlVJTERDTEFTUyA9ICJtZXNvbiIKK2luaGVyaXQgZ25vbWViYXNlIGdldHRleHQgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuIGdpby1tb2R1bGUtY2FjaGUKKworRklMRVNfJHtQTn0gKz0gIlwKKyAgICAgICAgICAgICAgICAke2xpYmRpcn0vZ2lvL21vZHVsZXMvbGliZ2lvKi5zbyBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc2VydmljZXMvIFwKKyAgICAgICAgICAgICAgICAke3N5c3RlbWRfdXNlcl91bml0ZGlyfSBcCisgICAgICAgICAgICAgICAgIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vZ2lvL21vZHVsZXMvbGliZ2lvKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L2dpby9tb2R1bGVzL2xpYmdpbyouYSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvY3Jvc3MtbG9jYWxlZGVmLW5hdGl2ZV8yLjI4LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9jcm9zcy1sb2NhbGVkZWYtbmF0aXZlXzIuMjguYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEwNWI5NGUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9jcm9zcy1sb2NhbGVkZWYtbmF0aXZlXzIuMjguYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1MSArMCwwIEBACi1TVU1NQVJZID0gIkNyb3NzIGxvY2FsZSBnZW5lcmF0aW9uIHRvb2wgZm9yIGdsaWJjIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2xpYmMvbGliYy5odG1sIgotU0VDVElPTiA9ICJsaWJzIgotTElDRU5TRSA9ICJMR1BMLTIuMSIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRVM7bWQ1PWNmYzBlZDc3YTlmNjJmYTYyZWRlZDA0MmViZTMxZDcyIFwKLSAgICAgIGZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCi0gICAgICBmaWxlOi8vcG9zaXgvcnhzcGVuY2VyL0NPUFlSSUdIVDttZDU9ZGM1NDg1YmIzOTRhMTNiMjMzMmVjMWM3ODVmNWQ4M2EgXAotICAgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyIKLQotIyBUZWxsIGF1dG90b29scyB0aGF0IHdlJ3JlIHdvcmtpbmcgaW4gdGhlIGxvY2FsZWRlZiBkaXJlY3RvcnkKLSMKLUFVVE9UT09MU19TQ1JJUFRfUEFUSCA9ICIke1N9L2xvY2FsZWRlZiIKLQotaW5oZXJpdCBuYXRpdmUKLWluaGVyaXQgYXV0b3Rvb2xzCi0KLUZJTEVTRVhUUkFQQVRIUyA9LiAiJHtGSUxFX0RJUk5BTUV9LyR7UE59OiR7RklMRV9ESVJOQU1FfS9nbGliYzoiCi0KLVNSQ0JSQU5DSCA/PSAicmVsZWFzZS8ke1BWfS9tYXN0ZXIiCi1HTElCQ19HSVRfVVJJID89ICJnaXQ6Ly9zb3VyY2V3YXJlLm9yZy9naXQvZ2xpYmMuZ2l0IgotVVBTVFJFQU1fQ0hFQ0tfR0lUVEFHUkVHRVggPSAiKD9QPHB2ZXI+XGQrXC5cZCsoXC4oPyE5MClcZCspKikiCi0KLVNSQ1JFVl9nbGliYyA/PSAiM2MwM2JhY2EzN2ZkY2I1MmMzODgxZTY1M2NhMzkyYmJhN2E5OWMyYiIKLVNSQ1JFVl9sb2NhbGVkZWYgPz0gImMzMjg3NzcyMTljY2M0ODBiZTMxMTJjZjgwNzIxN2NhNmI1NzBiNjQiCi0KLVNSQ19VUkkgPSAiJHtHTElCQ19HSVRfVVJJfTticmFuY2g9JHtTUkNCUkFOQ0h9O25hbWU9Z2xpYmMgXAotICAgICAgICAgICBnaXQ6Ly9naXRodWIuY29tL2tyYWovbG9jYWxlZGVmO2JyYW5jaD1tYXN0ZXI7bmFtZT1sb2NhbGVkZWY7ZGVzdHN1ZmZpeD1naXQvbG9jYWxlZGVmIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTYtdGltZXpvbmUtcmUtd3JpdHRlbi10enNlbGVjdC1hcy1wb3NpeC1zaC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDE3LVJlbW92ZS1iYXNoLWRlcGVuZGVuY3ktZm9yLW5zY2QtaW5pdC1zY3JpcHQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxOC1lZ2xpYmMtQ3Jvc3MtYnVpbGRpbmctYW5kLXRlc3RpbmctaW5zdHJ1Y3Rpb25zLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTktZWdsaWJjLUhlbHAtYm9vdHN0cmFwLWNyb3NzLXRvb2xjaGFpbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDIwLWVnbGliYy1DbGVhci1jYWNoZS1saW5lcy1vbi1wcGM4eHgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMS1lZ2xpYmMtUmVzb2x2ZS1fX2Zwc2NyX3ZhbHVlcy1vbi1TSDQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMi1lZ2xpYmMtRm9yd2FyZC1wb3J0LWNyb3NzLWxvY2FsZS1nZW5lcmF0aW9uLXN1cHBvcnQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMy1EZWZpbmUtRFVNTVlfTE9DQUxFX1QtaWYtbm90LWRlZmluZWQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyOS1sb2NhbGVkZWYtYWRkLXRvLWFyY2hpdmUtdXNlcy1hLWhhcmQtY29kZWQtbG9jYWxlLXBhLnBhdGNoIFwKLSIKLSMgTWFrZXMgZm9yIGEgcmF0aGVyIGxvbmcgcmV2ICgyMiBjaGFyYWN0ZXJzKSwgYnV0Li4uCi0jCi1TUkNSRVZfRk9STUFUID0gImdsaWJjX2xvY2FsZWRlZiIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotRVhUUkFfT0VDT05GID0gIi0td2l0aC1nbGliYz0ke1N9IgotQ0ZMQUdTICs9ICItZmdudTg5LWlubGluZSAtc3RkPWdudTk5IC1ESVNfSU5cKHhcKT0nMCciCi0KLWRvX2luc3RhbGwoKSB7Ci0JaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9Ci0JaW5zdGFsbCAtbSAwNzU1ICR7Qn0vbG9jYWxlZGVmICR7RH0ke2JpbmRpcn0vY3Jvc3MtbG9jYWxlZGVmCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2Nyb3NzLWxvY2FsZWRlZi1uYXRpdmVfMi4yOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvY3Jvc3MtbG9jYWxlZGVmLW5hdGl2ZV8yLjI5LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiYzdjZDYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2Nyb3NzLWxvY2FsZWRlZi1uYXRpdmVfMi4yOS5iYgpAQCAtMCwwICsxLDUzIEBACitTVU1NQVJZID0gIkNyb3NzIGxvY2FsZSBnZW5lcmF0aW9uIHRvb2wgZm9yIGdsaWJjIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2xpYmMvbGliYy5odG1sIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJMR1BMLTIuMSIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRVM7bWQ1PWNmYzBlZDc3YTlmNjJmYTYyZWRlZDA0MmViZTMxZDcyIFwKKyAgICAgIGZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgICBmaWxlOi8vcG9zaXgvcnhzcGVuY2VyL0NPUFlSSUdIVDttZDU9ZGM1NDg1YmIzOTRhMTNiMjMzMmVjMWM3ODVmNWQ4M2EgXAorICAgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyIKKworIyBUZWxsIGF1dG90b29scyB0aGF0IHdlJ3JlIHdvcmtpbmcgaW4gdGhlIGxvY2FsZWRlZiBkaXJlY3RvcnkKKyMKK0FVVE9UT09MU19TQ1JJUFRfUEFUSCA9ICIke1N9L2xvY2FsZWRlZiIKKworaW5oZXJpdCBuYXRpdmUKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0ZJTEVTRVhUUkFQQVRIUyA9LiAiJHtGSUxFX0RJUk5BTUV9LyR7UE59OiR7RklMRV9ESVJOQU1FfS9nbGliYzoiCisKK1NSQ0JSQU5DSCA/PSAicmVsZWFzZS8ke1BWfS9tYXN0ZXIiCitHTElCQ19HSVRfVVJJID89ICJnaXQ6Ly9zb3VyY2V3YXJlLm9yZy9naXQvZ2xpYmMuZ2l0IgorVVBTVFJFQU1fQ0hFQ0tfR0lUVEFHUkVHRVggPSAiKD9QPHB2ZXI+XGQrXC5cZCsoXC4oPyE5MClcZCspKikiCisKK1BWID0gIjIuMjkiCisKK1NSQ1JFVl9nbGliYyA/PSAiODYwMTNlZjVjZWEzMjJiOGY0YjljMjJmMjMwYzIyY2NlMzY5ZTk0NyIKK1NSQ1JFVl9sb2NhbGVkZWYgPz0gImNkOWY5NThjNGM5NGE2MzhmYTdiMmI0ZTIxNjI3MzY0ZjFhMWE2NTUiCisKK1NSQ19VUkkgPSAiJHtHTElCQ19HSVRfVVJJfTticmFuY2g9JHtTUkNCUkFOQ0h9O25hbWU9Z2xpYmMgXAorICAgICAgICAgICBnaXQ6Ly9naXRodWIuY29tL2tyYWovbG9jYWxlZGVmO2JyYW5jaD1tYXN0ZXI7bmFtZT1sb2NhbGVkZWY7ZGVzdHN1ZmZpeD1naXQvbG9jYWxlZGVmIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTYtdGltZXpvbmUtcmUtd3JpdHRlbi10enNlbGVjdC1hcy1wb3NpeC1zaC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDE3LVJlbW92ZS1iYXNoLWRlcGVuZGVuY3ktZm9yLW5zY2QtaW5pdC1zY3JpcHQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxOC1lZ2xpYmMtQ3Jvc3MtYnVpbGRpbmctYW5kLXRlc3RpbmctaW5zdHJ1Y3Rpb25zLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTktZWdsaWJjLUhlbHAtYm9vdHN0cmFwLWNyb3NzLXRvb2xjaGFpbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDIwLWVnbGliYy1DbGVhci1jYWNoZS1saW5lcy1vbi1wcGM4eHgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyMS1lZ2xpYmMtUmVzb2x2ZS1fX2Zwc2NyX3ZhbHVlcy1vbi1TSDQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyMi1lZ2xpYmMtRm9yd2FyZC1wb3J0LWNyb3NzLWxvY2FsZS1nZW5lcmF0aW9uLXN1cHBvcnQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyMy1EZWZpbmUtRFVNTVlfTE9DQUxFX1QtaWYtbm90LWRlZmluZWQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyNC1sb2NhbGVkZWYtYWRkLXRvLWFyY2hpdmUtdXNlcy1hLWhhcmQtY29kZWQtbG9jYWxlLXBhLnBhdGNoIFwKKyIKKyMgTWFrZXMgZm9yIGEgcmF0aGVyIGxvbmcgcmV2ICgyMiBjaGFyYWN0ZXJzKSwgYnV0Li4uCisjCitTUkNSRVZfRk9STUFUID0gImdsaWJjX2xvY2FsZWRlZiIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aC1nbGliYz0ke1N9IgorQ0ZMQUdTICs9ICItZmdudTg5LWlubGluZSAtc3RkPWdudTk5IC1ESVNfSU5cKHhcKT0nMCciCisKK2RvX2luc3RhbGwoKSB7CisJaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisJaW5zdGFsbCAtbSAwNzU1ICR7Qn0vbG9jYWxlZGVmICR7RH0ke2JpbmRpcn0vY3Jvc3MtbG9jYWxlZGVmCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLWNvbGxhdGVyYWwuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1jb2xsYXRlcmFsLmluYwppbmRleCA1MzZlZGZiLi41Mjg4MDc5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLWNvbGxhdGVyYWwuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtY29sbGF0ZXJhbC5pbmMKQEAgLTEsMTUgKzEsNyBAQAotSU5ISUJJVF9ERUZBVUxUX0RFUFMgPSAiMSIKLUxJQ0VOU0UgPSAiR1BMdjIgJiBMR1BMdjIuMSIKLUxJQ19GSUxFU19DSEtTVU0gPz0gImZpbGU6Ly8ke0NPTU1PTl9MSUNFTlNFX0RJUn0vR1BMLTIuMDttZDU9ODAxZjgwOTgwZDE3MWRkNjQyNTYxMDgzM2EyMmRiZTYgXAotICAgICAgICAgICAgICAgICAgICAgZmlsZTovLyR7Q09NTU9OX0xJQ0VOU0VfRElSfS9MR1BMLTIuMTttZDU9MWE2ZDI2OGZkMjE4Njc1ZmZlYThiZTU1Njc4OGI3ODAiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvbGliYy9pbmRleC5odG1sIgorcmVxdWlyZSBnbGliYy1jb21tb24uaW5jCiAKLSMgVGhpcyBuZWVkcyB0byBtYXRjaCB3aXRoIGdsaWJjLmluYywgb3RoZXJ3aXNlIGdsaWJjLXNjcmlwdHMgYW5kIGdsaWJjLWxvY2FsZQotIyB3aWxsIGZhaWwgdG8gZmluZCBtYWluIGdsaWJjLCBmb3IgZGV0YWlscyBzZWUKLSMgaHR0cDovL2xpc3RzLm9wZW5lbWJlZGRlZC5vcmcvcGlwZXJtYWlsL29wZW5lbWJlZGRlZC1jb3JlLzIwMTUtSmFudWFyeS8xMDA2NzkuaHRtbAotQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NCA9ICJhcm0iCi1BUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY1ID0gImFybSIKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjYgPSAiYXJtIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT01NT05fTElDRU5TRV9ESVJ9L0dQTC0yLjA7bWQ1PTgwMWY4MDk4MGQxNzFkZDY0MjU2MTA4MzNhMjJkYmU2IFwKKyAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly8ke0NPTU1PTl9MSUNFTlNFX0RJUn0vTEdQTC0yLjE7bWQ1PTFhNmQyNjhmZDIxODY3NWZmZWE4YmU1NTY3ODhiNzgwIgogCiBkZWx0YXNrIGRvX2ZldGNoCiBkZWx0YXNrIGRvX3VucGFjawpAQCAtMTgsNiArMTAsMyBAQAogZG9fY29tcGlsZVtub2V4ZWNdID0gIjEiCiAKIGRvX2luc3RhbGxbZGVwZW5kc10gKz0gInZpcnR1YWwvJHtNTFBSRUZJWH1saWJjOmRvX3N0YXNoX2xvY2FsZSIKLQotQ09NUEFUSUJMRV9IT1NUX2xpYmMtbXVzbF9jbGFzcy10YXJnZXQgPSAibnVsbCIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1jb21tb24uaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1jb21tb24uaW5jCmluZGV4IGIwNWUxNjIuLmNkZWQzODQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtY29tbW9uLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLWNvbW1vbi5pbmMKQEAgLTcsNCArNywxOCBAQAogICAgICAgZmlsZTovL0NPUFlJTkc7bWQ1PTM5M2E1Y2E0NDVmNjk2NTg3M2VjYTAyNTlhMTdmODMzIFwKICAgICAgIGZpbGU6Ly9wb3NpeC9yeHNwZW5jZXIvQ09QWVJJR0hUO21kNT1kYzU0ODViYjM5NGExM2IyMzMyZWMxYzc4NWY1ZDgzYSBcCiAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PWJiYjQ2MTIxMWEzM2IxMzRkNDJlZDVlZTgwMmIzN2ZmICIKKwogQ1ZFX1BST0RVQ1QgPSAiZ2xpYmMiCisKK0lOSElCSVRfREVGQVVMVF9ERVBTID0gIjEiCisKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjQgPSAiYXJtIgorQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NSA9ICJhcm0iCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY2ID0gImFybSIKKyMKKyMgV2Ugd2lsbCBza2lwIHBhcnNpbmcgZ2xpYmMgd2hlbiB0YXJnZXQgc3lzdGVtIEMgbGlicmFyeSBzZWxlY3Rpb24gaXMgbm90IGdsaWJjCisjIHRoaXMgaGVscHMgaW4gZWFzaW5nIG91dCBwYXJzaW5nIGZvciBub24tZ2xpYmMgc3lzdGVtIGxpYnJhcmllcworIworQ09NUEFUSUJMRV9IT1NUX2xpYmMtbXVzbF9jbGFzcy10YXJnZXQgPSAibnVsbCIKKworUFYgPSAiMi4yOSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtaW5pdGlhbC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLWluaXRpYWwuaW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhY2QwZDZiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtaW5pdGlhbC5pbmMKKysrIC9kZXYvbnVsbApAQCAtMSw1NyArMCwwIEBACi1ERVBFTkRTID0gImxpbnV4LWxpYmMtaGVhZGVycyB2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nY2MtaW5pdGlhbCBsaWJnY2MtaW5pdGlhbCBtYWtlLW5hdGl2ZSBiaXNvbi1uYXRpdmUiCi1QUk9WSURFUyA9ICJ2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1saWJjLWluaXRpYWwiCi0KLVBBQ0tBR0VTID0gIiIKLVBBQ0tBR0VTX0RZTkFNSUMgPSAiIgotCi1TVEFHSU5HQ0MgPSAiZ2NjLWNyb3NzLWluaXRpYWwtJHtUQVJHRVRfQVJDSH0iCi1TVEFHSU5HQ0NfY2xhc3MtbmF0aXZlc2RrID0gImdjYy1jcm9zc3Nkay1pbml0aWFsLSR7U0RLX1NZU30iCi0KLWRvX2NvbmZpZ3VyZSAoKSB7Ci0JKGNkICR7U30gJiYgZ251LWNvbmZpZ2l6ZSkgfHwgZGllICJmYWlsdXJlIGluIHJ1bm5pbmcgZ251LWNvbmZpZ2l6ZSIKLQlmaW5kICR7U30gLW5hbWUgImNvbmZpZ3VyZSIgfCB4YXJncyB0b3VjaAotCWNmZ3NjcmlwdD1gcHl0aG9uMyAtYyAiaW1wb3J0IG9zOyBwcmludChvcy5wYXRoLnJlbHBhdGgoJyR7U30nLCAnLicpKSJgL2NvbmZpZ3VyZQotCSRjZmdzY3JpcHQgLS1ob3N0PSR7VEFSR0VUX1NZU30gLS1idWlsZD0ke0JVSUxEX1NZU30gXAotCQktLXByZWZpeD0vdXNyIFwKLQkJLS1kaXNhYmxlLXNhbml0eS1jaGVja3MgXAotCQktLXdpdGgtaGVhZGVycz0ke1NUQUdJTkdfRElSX1RBUkdFVH0ke2luY2x1ZGVkaXJ9IFwKLQkJLS1lbmFibGUtaGFja2VyLW1vZGUKLX0KLQotZG9fY29tcGlsZSAoKSB7Ci0JOgotfQotCi1kb19pbnN0YWxsICgpIHsKLQlvZV9ydW5tYWtlIGNyb3NzLWNvbXBpbGluZz15ZXMgaW5zdGFsbF9yb290PSR7RH0gXAotCWluY2x1ZGVkaXI9JyR7aW5jbHVkZWRpcn0nIHByZWZpeD0nJHtwcmVmaXh9JyBcCi0JaW5zdGFsbC1ib290c3RyYXAtaGVhZGVycz15ZXMgaW5zdGFsbC1oZWFkZXJzCi0KLQlvZV9ydW5tYWtlIGNzdS9zdWJkaXJfbGliCi0JbWtkaXIgLXAgJHtEfSR7bGliZGlyfS8KLQlpbnN0YWxsIC1tIDY0NCBjc3UvY3J0WzFpbl0ubyAke0R9JHtsaWJkaXJ9Ci0KLQkjIFR3byBoZWFkZXJzIC0tIHN0dWJzLmggYW5kIGZlYXR1cmVzLmggLS0gYXJlbid0IGluc3RhbGxlZCBieSBpbnN0YWxsLWhlYWRlcnMsCi0JIyBzbyBkbyB0aGVtIGJ5IGhhbmQuICBXZSBjYW4gdG9sZXJhdGUgYW4gZW1wdHkgc3R1YnMuaCBmb3IgdGhlIG1vbWVudC4KLQkjIFNlZSBlLmcuIGh0dHA6Ly9nY2MuZ251Lm9yZy9tbC9nY2MvMjAwMi0wMS9tc2cwMDkwMC5odG1sCi0JbWtkaXIgLXAgJHtEfSR7aW5jbHVkZWRpcn0vZ251LwotCXRvdWNoICR7RH0ke2luY2x1ZGVkaXJ9L2dudS9zdHVicy5oCi0JY3AgJHtTfS9pbmNsdWRlL2ZlYXR1cmVzLmggJHtEfSR7aW5jbHVkZWRpcn0vZmVhdHVyZXMuaAotCi0JaWYgWyAtZSAke0J9L2JpdHMvc3RkaW9fbGltLmggXTsgdGhlbgotCQljcCAke0J9L2JpdHMvc3RkaW9fbGltLmggICR7RH0ke2luY2x1ZGVkaXJ9L2JpdHMvCi0JZmkKLX0KLQotZG9fc3Rhc2hfbG9jYWxlKCkgewotCToKLX0KLQotZG9fc2l0ZWNvbmZpZyAoKSB7Ci0JOgotfQotCi1pbmhlcml0IG5vcGFja2FnZXMKLQotIyBXZSByZWFsbHkgb25seSB3YW50IHRoaXMgYnVpbHQgYnkgdGhpbmdzIHRoYXQgbmVlZCBpdCwgbm90IGFueSByZWNyZGVwdGFzawotZGVsdGFzayBkb19idWlsZApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1pbml0aWFsXzIuMjguYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLWluaXRpYWxfMi4yOC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTg2NzcwZS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLWluaXRpYWxfMi4yOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotcmVxdWlyZSBnbGliY18ke1BWfS5iYgotcmVxdWlyZSBnbGliYy1pbml0aWFsLmluYwotCi0jIG1haW4gZ2xpYmMgcmVjaXBlcyBtdWNrIHdpdGggVEFSR0VUX0NQUEZMQUdTIHRvIHBvaW50IGludG8KLSMgZmluYWwgdGFyZ2V0IHN5c3Jvb3QgYnV0IHdlCi0jIGFyZSBub3QgdGhlcmUgd2hlbiBidWlsZGluZyBnbGliYy1pbml0aWFsCi0jIHNvIHJlc2V0IGl0IGhlcmUKLQotVEFSR0VUX0NQUEZMQUdTID0gIiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtbGQuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1sZC5pbmMKaW5kZXggYmIxNjdiMy4uMDQxZmZiYiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1sZC5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1sZC5pbmMKQEAgLTEwLDggKzEwLDggQEAKICAgICAgICAgaW5mb3NbJ2xkY29uZmlnJ10uYWRkKCd7IicgKyBsb2FkZXIgKyAnIiwnICsgIkZMQUdfRUxGX0xJQkM2IiArICcgfScpCiAgICAgICAgIGluZm9zWydsZGRyZXdyaXRlJ10uYWRkKGxvYWRlcikKIAotICAgIGluZm9zWydsZGNvbmZpZyddID0gJywnLmpvaW4oaW5mb3NbJ2xkY29uZmlnJ10pCi0gICAgaW5mb3NbJ2xkZHJld3JpdGUnXSA9ICcgJy5qb2luKGluZm9zWydsZGRyZXdyaXRlJ10pCisgICAgaW5mb3NbJ2xkY29uZmlnJ10gPSAnLCcuam9pbihzb3J0ZWQoaW5mb3NbJ2xkY29uZmlnJ10pKQorICAgIGluZm9zWydsZGRyZXdyaXRlJ10gPSAnICcuam9pbihzb3J0ZWQoaW5mb3NbJ2xkZHJld3JpdGUnXSkpCiAgICAgcmV0dXJuIGluZm9zCiAKIEVHTElCQ19LTk9XTl9JTlRFUlBSRVRFUl9OQU1FUyA9ICIke0BnbGliY19kbF9pbmZvKGQpWydsZGNvbmZpZyddfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtbG9jYWxlLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtbG9jYWxlLmluYwppbmRleCAxYjY3NmRjLi5hOTg1ZDI2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLWxvY2FsZS5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1sb2NhbGUuaW5jCkBAIC0yNyw3ICsyNyw3IEBACiAKICNlbmFibGUgbG9jYWxlIGdlbmVyYXRpb24gb24gdGhlc2UgYXJjaGVzCiAjIEJJTkFSWV9MT0NBTEVfQVJDSEVTIGlzIGEgc3BhY2Ugc2VwYXJhdGVkIGxpc3Qgb2YgcmVndWxhciBleHByZXNzaW9ucwotQklOQVJZX0xPQ0FMRV9BUkNIRVMgPz0gImFybS4qIGFhcmNoNjQgaVszLTZdODYgeDg2XzY0IHBvd2VycGMgbWlwcyBtaXBzNjQgcmlzY3YzMiByaXNjdjY0IgorQklOQVJZX0xPQ0FMRV9BUkNIRVMgPz0gImFyYyBhcm0uKiBhYXJjaDY0IGlbMy02XTg2IHg4Nl82NCBwb3dlcnBjIG1pcHMgbWlwczY0IHJpc2N2MzIgcmlzY3Y2NCIKIAogIyBzZXQgIjEiIHRvIHVzZSBjcm9zcy1sb2NhbGVkZWYgZm9yIGxvY2FsZSBnZW5lcmF0aW9uCiAjIHNldCAiMCIgZm9yIHFlbXUgZW11bGF0aW9uIG9mIG5hdGl2ZSBsb2NhbGVkZWYgZm9yIGxvY2FsZSBnZW5lcmF0aW9uCkBAIC03MSwyNSArNzEsMjcgQEAKIAogTE9DQUxFVFJFRVNSQyA9ICIke0NPTVBPTkVOVFNfRElSfS8ke1BBQ0tBR0VfQVJDSH0vZ2xpYmMtc3Rhc2gtbG9jYWxlIgogCi1kb19pbnN0YWxsICgpIHsKLQlta2RpciAtcCAke0R9JHtiaW5kaXJ9ICR7RH0ke2RhdGFkaXJ9ICR7RH0ke2xpYmRpcn0KLQlpZiBbIC1uICIkKGxzICR7TE9DQUxFVFJFRVNSQ30vJHtiaW5kaXJ9KSIgXTsgdGhlbgotCQljcCAtUiAtLW5vLWRlcmVmZXJlbmNlIC0tcHJlc2VydmU9bW9kZSxsaW5rcyAke0xPQ0FMRVRSRUVTUkN9LyR7YmluZGlyfS8qICR7RH0ke2JpbmRpcn0KK2NvcHlfbG9jYWxlX2ZpbGVzKCkgeworCWxvY2FsIGRpcj0kMSBtb2RlPSQyCisKKwlbIC1lICIke0xPQ0FMRVRSRUVTUkN9JGRpciIgXSB8fCByZXR1cm4gMAorCisJZm9yIGQgaW4gLiAkKGZpbmQgIiR7TE9DQUxFVFJFRVNSQ30kZGlyIiAtdHlwZSBkIC1wcmludGYgJyVQICcpOyBkbworCQlpbnN0YWxsIC1kICR7RH0kZGlyLyRkCisJCWZpbmQgIiR7TE9DQUxFVFJFRVNSQ30kZGlyLyRkIiAtbWF4ZGVwdGggMSAtdHlwZSBmIFwKKwkJCS1leGVjIGluc3RhbGwgLW0gJG1vZGUgLXQgIiR7RH0kZGlyLyRkIiB7fSBcOworCWRvbmUKK30KKworZG9faW5zdGFsbCgpIHsKKwljb3B5X2xvY2FsZV9maWxlcyAke2JpbmRpcn0gMDc1NQorCWNvcHlfbG9jYWxlX2ZpbGVzICR7bG9jYWxlZGlyfSAwNjQ0CisJaWYgWyAke1BBQ0tBR0VfTk9fR0NPTlZ9IC1lcSAwIF07IHRoZW4KKwkJY29weV9sb2NhbGVfZmlsZXMgJHtsaWJkaXJ9L2djb252IDA3NTUKKwkJY29weV9sb2NhbGVfZmlsZXMgJHtkYXRhZGlyfS9pMThuIDA2NDQKIAlmaQotCWlmIFsgLW4gIiQobHMgJHtMT0NBTEVUUkVFU1JDfS8ke2xvY2FsZWRpcn0pIiBdOyB0aGVuCi0JCW1rZGlyIC1wICR7RH0ke2xvY2FsZWRpcn0KLQkJY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgJHtMT0NBTEVUUkVFU1JDfS8ke2xvY2FsZWRpcn0vKiAke0R9JHtsb2NhbGVkaXJ9Ci0JZmkKLQlpZiBbIC1lICR7TE9DQUxFVFJFRVNSQ30vJHtsaWJkaXJ9L2djb252IF07IHRoZW4KLQkJY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgJHtMT0NBTEVUUkVFU1JDfS8ke2xpYmRpcn0vZ2NvbnYgJHtEfSR7bGliZGlyfQotCWZpCi0JaWYgWyAtZSAke0xPQ0FMRVRSRUVTUkN9LyR7ZGF0YWRpcn0vaTE4biBdOyB0aGVuCi0JCWNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzICR7TE9DQUxFVFJFRVNSQ30vJHtkYXRhZGlyfS9pMThuICR7RH0ke2RhdGFkaXJ9Ci0JZmkKLQlpZiBbIC1lICR7TE9DQUxFVFJFRVNSQ30vJHtkYXRhZGlyfS9sb2NhbGUgXTsgdGhlbgotCQljcCAtUiAtLW5vLWRlcmVmZXJlbmNlIC0tcHJlc2VydmU9bW9kZSxsaW5rcyAke0xPQ0FMRVRSRUVTUkN9LyR7ZGF0YWRpcn0vbG9jYWxlICR7RH0ke2RhdGFkaXJ9Ci0JZmkKLQljcCAtUiAtLW5vLWRlcmVmZXJlbmNlIC0tcHJlc2VydmU9bW9kZSxsaW5rcyAke0xPQ0FMRVRSRUVTUkN9L1NVUFBPUlRFRCAke1dPUktESVJ9CisJY29weV9sb2NhbGVfZmlsZXMgJHtkYXRhZGlyfS9sb2NhbGUgMDY0NAorCWluc3RhbGwgLW0gMDY0NCAke0xPQ0FMRVRSRUVTUkN9L1NVUFBPUlRFRCAke1dPUktESVJ9L1NVUFBPUlRFRAogfQogCiBpbmhlcml0IGxpYmMtcGFja2FnZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1sb2NhbGVfMi4yOC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtbG9jYWxlXzIuMjkuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtbG9jYWxlXzIuMjguYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtbG9jYWxlXzIuMjkuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtbXRyYWNlXzIuMjguYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLW10cmFjZV8yLjI5LmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLW10cmFjZV8yLjI4LmJiCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLW10cmFjZV8yLjI5LmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLXBhY2thZ2UuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1wYWNrYWdlLmluYwppbmRleCBhOThhZTFhLi5iN2M2NGEwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLXBhY2thZ2UuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtcGFja2FnZS5pbmMKQEAgLTE1LDcgKzE1LDEyIEBACiBSUFJPVklERVNfJHtQTn0tcGNwcm9maWxlID0gImVnbGliYy1wY3Byb2ZpbGUiCiBSUFJPVklERVNfJHtQTn0tZGJnID0gImVnbGliYy1kYmciCiBsaWJjX2Jhc2VsaWJzID0gIiR7YmFzZV9saWJkaXJ9L2xpYmMuc28uKiAke2Jhc2VfbGliZGlyfS9saWJjLSouc28gJHtiYXNlX2xpYmRpcn0vbGlibSouc28uKiAke2Jhc2VfbGliZGlyfS9saWJtLSouc28gJHtiYXNlX2xpYmRpcn0vbGlibXZlYy0qLnNvICR7YmFzZV9saWJkaXJ9L2xkKi5zby4qICR7YmFzZV9saWJkaXJ9L2xkLSouc28gJHtiYXNlX2xpYmRpcn0vbGlicHRocmVhZCouc28uKiAke2Jhc2VfbGliZGlyfS9saWJwdGhyZWFkLSouc28gJHtiYXNlX2xpYmRpcn0vbGlicmVzb2x2Ki5zby4qICR7YmFzZV9saWJkaXJ9L2xpYnJlc29sdi0qLnNvICR7YmFzZV9saWJkaXJ9L2xpYnJ0Ki5zby4qICR7YmFzZV9saWJkaXJ9L2xpYnJ0LSouc28gJHtiYXNlX2xpYmRpcn0vbGlidXRpbCouc28uKiAke2Jhc2VfbGliZGlyfS9saWJ1dGlsLSouc28gJHtiYXNlX2xpYmRpcn0vbGlibnNsKi5zby4qICR7YmFzZV9saWJkaXJ9L2xpYm5zbC0qLnNvICR7YmFzZV9saWJkaXJ9L2xpYm5zc19maWxlcyouc28uKiAke2Jhc2VfbGliZGlyfS9saWJuc3NfZmlsZXMtKi5zbyAke2Jhc2VfbGliZGlyfS9saWJuc3NfY29tcGF0Ki5zby4qICR7YmFzZV9saWJkaXJ9L2xpYm5zc19jb21wYXQtKi5zbyAke2Jhc2VfbGliZGlyfS9saWJuc3NfZG5zKi5zby4qICR7YmFzZV9saWJkaXJ9L2xpYm5zc19kbnMtKi5zbyAke2Jhc2VfbGliZGlyfS9saWJkbCouc28uKiAke2Jhc2VfbGliZGlyfS9saWJkbC0qLnNvICR7YmFzZV9saWJkaXJ9L2xpYmFubCouc28uKiAke2Jhc2VfbGliZGlyfS9saWJhbmwtKi5zbyAke2Jhc2VfbGliZGlyfS9saWJCcm9rZW5Mb2NhbGUqLnNvLiogJHtiYXNlX2xpYmRpcn0vbGliQnJva2VuTG9jYWxlLSouc28iCi1saWJjX2Jhc2VsaWJzX2FwcGVuZF9hYXJjaDY0ID0gIiAvbGliL2xkLWxpbnV4LWFhcmNoNjQqLnNvLjEiCitBUkNIX0RZTkFNSUNfTE9BREVSID0gIiIKKyMgVGhlIGFhcmNoNjQgQUJJIHNheXMgdGhlIGR5bmFtaWMgbGlua2VyIC1tdXN0LSBiZQorIyAvbGliL2xkLWxpbnV4LWFhcmNoNjR7LF9iZX0uc28uMS4gV2l0aCB1c3JtZXJnZSwgdGhhdCBtYXkgbWVhbiB0aGF0CisjIHdlIG5lZWQgdG8gaW5zdGFsbCBpdCBpbiAvdXNyL2xpYi4KK0FSQ0hfRFlOQU1JQ19MT0FERVJfYWFyY2g2NCA9ICJsZC1saW51eC0ke1RBUkdFVF9BUkNIfS5zby4xIgorbGliY19iYXNlbGlic19hcHBlbmQgPSAiICR7QG9lLnV0aWxzLmNvbmRpdGlvbmFsKCdBUkNIX0RZTkFNSUNfTE9BREVSJywgJycsICcnLCAnJHtyb290X3ByZWZpeH0vbGliLyR7QVJDSF9EWU5BTUlDX0xPQURFUn0nLCBkKX0iCiBJTlNBTkVfU0tJUF8ke1BOfV9hcHBlbmRfYWFyY2g2NCA9ICIgbGliZGlyIgogCiBGSUxFU18ke1BOfSA9ICIke2xpYmNfYmFzZWxpYnN9ICR7bGliZXhlY2Rpcn0vKiAke2Jhc2Vfc2JpbmRpcn0vbGRjb25maWcgJHtzeXNjb25mZGlyfS9sZC5zby5jb25mIgpAQCAtMTA3LDI1ICsxMTIsMjcgQEAKIAkJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kCiAJCWVjaG8gImQgL3J1bi9uc2NkIDc1NSByb290IHJvb3QgLSIgXAogCQkJPiAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kL25zY2QuY29uZgotCWVsc2UKKwlmaQorCisJaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCiAJCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMKIAkJZWNobyAiZCByb290IHJvb3QgMDc1NSAvdmFyL3J1bi9uc2NkIG5vbmUiIFwKIAkJCT4gJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvOThfbnNjZAogCWZpCisKKwkjIFRoZSBkeW5hbWljIGxvYWRlciB3aWxsIGhhdmUgYmVlbiBpbnN0YWxsZWQgaW50bworCSMgJHtiYXNlX2xpYmRpcn0uIEhvd2V2ZXIsIGlmIHRoYXQgaXNuJ3QgZ29pbmcgdG8gZW5kIHVwIGJlaW5nCisJIyBhdmFpbGFibGUgaW4gdGhlIEFCSS1tYW5kYXRlZCBsb2NhdGlvbiwgdGhlbiBhIHN5bWxpbmsgbXVzdAorICAgICAgICAjIGJlIGNyZWF0ZWQuCisKKwlpZiBbIC1uICIke0FSQ0hfRFlOQU1JQ19MT0FERVJ9IiAtYSAhIC1lICIke0R9JHtyb290X3ByZWZpeH0vbGliLyR7QVJDSF9EWU5BTUlDX0xPQURFUn0iIF07IHRoZW4KKwkJaW5zdGFsbCAtZCAke0R9JHtyb290X3ByZWZpeH0vbGliCisJCWxuIC1zICR7QG9lLnBhdGgucmVsYXRpdmUoJyR7cm9vdF9wcmVmaXh9L2xpYicsICcke2Jhc2VfbGliZGlyfScpfS8ke0FSQ0hfRFlOQU1JQ19MT0FERVJ9IFwKKwkJCQkke0R9JHtyb290X3ByZWZpeH0vbGliLyR7QVJDSF9EWU5BTUlDX0xPQURFUn0KKwlmaQogfQogCiBkb19pbnN0YWxsX2FwcGVuZF9hYXJjaDY0ICgpIHsKLQlpZiBbICIke2Jhc2VfbGliZGlyfSIgIT0gIiR7bm9uYXJjaF9iYXNlX2xpYmRpcn0iIF07IHRoZW4KLQkJIyBUaGUgYWFyY2g2NCBBQkkgc2F5cyB0aGUgZHluYW1pYyBsaW5rZXIgLW11c3QtIGJlIC9saWIvbGQtbGludXgtYWFyY2g2NFtfYmVdLnNvLjEKLQkJaW5zdGFsbCAtZCAke0R9JHtub25hcmNoX2Jhc2VfbGliZGlyfQotCQlpZiBbIC1lICR7RH0ke2Jhc2VfbGliZGlyfS9sZC1saW51eC1hYXJjaDY0LnNvLjEgXTsgdGhlbgotCQkJbG4gLXMgJHtAb2UucGF0aC5yZWxhdGl2ZSgnJHtub25hcmNoX2Jhc2VfbGliZGlyfScsICcke2Jhc2VfbGliZGlyfScpfS9sZC1saW51eC1hYXJjaDY0LnNvLjEgXAotCQkJCSR7RH0ke25vbmFyY2hfYmFzZV9saWJkaXJ9L2xkLWxpbnV4LWFhcmNoNjQuc28uMQotCQllbGlmIFsgLWUgJHtEfSR7YmFzZV9saWJkaXJ9L2xkLWxpbnV4LWFhcmNoNjRfYmUuc28uMSBdOyB0aGVuCi0JCQlsbiAtcyAke0BvZS5wYXRoLnJlbGF0aXZlKCcke25vbmFyY2hfYmFzZV9saWJkaXJ9JywgJyR7YmFzZV9saWJkaXJ9Jyl9L2xkLWxpbnV4LWFhcmNoNjRfYmUuc28uMSBcCi0JCQkJJHtEfSR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vbGQtbGludXgtYWFyY2g2NF9iZS5zby4xCi0JCWZpCi0JZmkKIAlkb19pbnN0YWxsX2FybW11bHRpbGliCiB9CiAKQEAgLTE0MSw2ICsxNDgsNyBAQAogCW9lX211bHRpbGliX2hlYWRlciBiaXRzL2VuZGlhbi5oIGJpdHMvZmNudGwuaCBiaXRzL2ZlbnYuaCBiaXRzL2ZwLWZhc3QuaCBiaXRzL2h3Y2FwLmggYml0cy9pcGMuaCBiaXRzL2xpbmsuaCBiaXRzL3dvcmRzaXplLmgKIAlvZV9tdWx0aWxpYl9oZWFkZXIgYml0cy9sb2NhbF9saW0uaCBiaXRzL21tYW4uaCBiaXRzL21zcS5oIGJpdHMvcHRocmVhZHR5cGVzLmggYml0cy9wdGhyZWFkdHlwZXMtYXJjaC5oICBiaXRzL3NlbS5oICBiaXRzL3NlbWFwaG9yZS5oIGJpdHMvc2V0am1wLmgKIAlvZV9tdWx0aWxpYl9oZWFkZXIgYml0cy9zaG0uaCBiaXRzL3NpZ3N0YWNrLmggYml0cy9zdGF0LmggYml0cy9zdGF0ZnMuaCBiaXRzL3R5cGVzaXplcy5oCisJb2VfbXVsdGlsaWJfaGVhZGVyIGJpdHMvcHJvY2ZzLWlkLmggYml0cy9wcm9jZnMuaCBiaXRzL3NobWxiYS5oCiAKIAlvZV9tdWx0aWxpYl9oZWFkZXIgZnB1X2NvbnRyb2wuaCBnbnUvbGliLW5hbWVzLmggZ251L3N0dWJzLmggaWVlZTc1NC5oCiAKQEAgLTIwNywxMiArMjE1LDE1IEBACiAJcm0gLXJmICR7RH0vJHtsb2NhbGVkaXJ9CiAJcm0gLXJmICR7RH0ke2RhdGFkaXJ9L2xvY2FsZQogCWlmIFsgIiR7bGliZGlyfSIgIT0gIiR7ZXhlY19wcmVmaXh9L2xpYiIgXTsgdGhlbgotCQlpZiBbIC1kICR7RH0ke2V4ZWNfcHJlZml4fS9saWIgXTsgdGhlbgorCSAgICBpZiBbIC1kICIke0R9JHtleGVjX3ByZWZpeH0vbGliIiBdOyB0aGVuCisJCWlmIFsgLXogIiR7QVJDSF9EWU5BTUlDX0xPQURFUn0iIC1vIFwKKwkJICAgICAhIC1lICIke0R9JHtleGVjX3ByZWZpeH0vbGliLyR7QVJDSF9EWU5BTUlDX0xPQURFUn0iIF07IHRoZW4KIAkJCSMgZXJyb3Igb3V0IGlmIGRpcmVjdG9yeSBpc24ndCBlbXB0eQogCQkJIyB0aGlzIGRpciBzaG91bGQgb25seSBjb250YWluIGxvY2FsZSBkaXIKIAkJCSMgd2hpY2ggaGFzIGJlZW4gZGVsZXRlZCBpbiB0aGUgcHJldmlvdXMgc3RlcAogCQkJcm1kaXIgJHtEfSR7ZXhlY19wcmVmaXh9L2xpYgogCQlmaQorCSAgICBmaQogCWZpCiB9CiBhZGR0YXNrIGRvX3Bvc3RzdGFzaF9pbnN0YWxsX2NsZWFudXAgYWZ0ZXIgZG9fc3Rhc2hfbG9jYWxlIGRvX2luc3RhbGwgYmVmb3JlIGRvX3BvcHVsYXRlX3N5c3Jvb3QgZG9fcGFja2FnZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1zY3JpcHRzXzIuMjguYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLXNjcmlwdHNfMi4yOS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1zY3JpcHRzXzIuMjguYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtc2NyaXB0c18yLjI5LmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMuaW5jCmluZGV4IDk5YzkyY2UuLjI1MmZkNTYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMuaW5jCkBAIC0yLDM2ICsyLDkgQEAKIHJlcXVpcmUgZ2xpYmMtbGQuaW5jCiByZXF1aXJlIGdsaWJjLXRlc3RpbmcuaW5jCiAKLVNUQUdJTkdDQyA9ICJnY2MtY3Jvc3MtaW5pdGlhbC0ke1RBUkdFVF9BUkNIfSIKLVNUQUdJTkdDQ19jbGFzcy1uYXRpdmVzZGsgPSAiZ2NjLWNyb3Nzc2RrLWluaXRpYWwtJHtTREtfU1lTfSIKLVBBVEhfcHJlcGVuZCA9ICIke1NUQUdJTkdfQklORElSX1RPT0xDSEFJTn0uJHtTVEFHSU5HQ0N9OiIKK0RFUEVORFMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjIGxpYmdjYy1pbml0aWFsIGxpbnV4LWxpYmMtaGVhZGVycyIKIAotcHl0aG9uICgpIHsKLSAgICBvcHRfZWZmZWN0aXZlID0gIi1PIgotICAgIGZvciBvcHQgaW4gZC5nZXRWYXIoJ1NFTEVDVEVEX09QVElNSVpBVElPTicpLnNwbGl0KCk6Ci0gICAgICAgIGlmIG9wdCBpbiAoIi1PMCIsICItTyIsICItTzEiLCAiLU8yIiwgIi1PMyIsICItT3MiKToKLSAgICAgICAgICAgIG9wdF9lZmZlY3RpdmUgPSBvcHQKLSAgICBpZiBvcHRfZWZmZWN0aXZlID09ICItTzAiOgotICAgICAgICBiYi5mYXRhbCgiJXMgY2FuJ3QgYmUgYnVpbHQgd2l0aCAlcywgdHJ5IC1PMSBpbnN0ZWFkIiAlIChkLmdldFZhcignUE4nKSwgb3B0X2VmZmVjdGl2ZSkpCi19Ci0KLSMgc2l0ZWNvbmZpZy5iYmNsYXNzIHJ1bnMgY29uZmlndXJlIHdoaWNoIG5lZWRzIGEgd29ya2luZyBjb21waWxlcgotIyBGb3IgdGhlIGNvbXBpbGVyIHRvIHdvcmsgd2UgbmVlZCBhIHdvcmtpbmcgbGliYyB5ZXQgbGliYyBpc24ndAotIyBpbiB0aGUgc3lzcm9vdHMgZGlyZWN0b3J5IGF0IHRoaXMgcG9pbnQuIFRoaXMgbWVhbnMgdGhlIGxpYmMuc28KLSMgbGlua2VyIHNjcmlwdCB3b24ndCB3b3JrIGFzIHRoZSAtLXN5c3Jvb3Qgc2V0dGluZyBpc24ndCBjb3JyZWN0LgotIyBIZXJlIHdlIGNyZWF0ZSBhIGhhY2tlZCB1cCBsaWJjIGxpbmtlciBzY3JpcHQgYW5kIHBhc3MgaW4gdGhlIHJpZ2h0Ci0jIGZsYWdzIHRvIGxldCBjb25maWd1cmUgd29yay4gVWdseS4KLUVYVFJBU0lURUNPTkZJRyA9ICJDRkxBR1M9JyR7Q0ZMQUdTfSAtV2wsLUwke1dPUktESVJ9L3NpdGVfY29uZmlnX2xpYmMgLUwke1dPUktESVJ9L3NpdGVfY29uZmlnX2xpYmMgLUwke1NZU1JPT1RfREVTVERJUn0ke2xpYmRpcn0gLUwke1NZU1JPT1RfREVTVERJUn0ke2Jhc2VfbGliZGlyfSAtV2wsLUwke1NZU1JPT1RfREVTVERJUn0ke2xpYmRpcn0gLVdsLC1MJHtTWVNST09UX0RFU1RESVJ9JHtiYXNlX2xpYmRpcn0nIgotc2l0ZWNvbmZpZ19kb19zaXRlY29uZmlnX2dlbmNhY2hlX3ByZXBlbmQgPSAiIFwKLQlta2RpciAtcCAke1dPUktESVJ9L3NpdGVfY29uZmlnX2xpYmM7IFwKLQljcCAke1NZU1JPT1RfREVTVERJUn0ke2xpYmRpcn0vbGliYy5zbyAke1dPUktESVJ9L3NpdGVfY29uZmlnX2xpYmM7IFwKLQlzZWQgLWkgLWUgJ3MjICR7YmFzZV9saWJkaXJ9IyAke1NZU1JPT1RfREVTVERJUn0ke2Jhc2VfbGliZGlyfSNnJyAtZSAncyMgJHtsaWJkaXJ9IyAke1NZU1JPT1RfREVTVERJUn0ke2xpYmRpcn0jZycgJHtXT1JLRElSfS9zaXRlX2NvbmZpZ19saWJjL2xpYmMuc287IFwKLSIKLQotIyBucHRsIG5lZWRzIHVud2luZCBzdXBwb3J0IGluIGdjYywgd2hpY2ggY2FuJ3QgYmUgYnVpbHQgd2l0aG91dCBnbGliYy4KLURFUEVORFMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjLWluaXRpYWwgbGliZ2NjLWluaXRpYWwgbGludXgtbGliYy1oZWFkZXJzIHZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWxpYmMtaW5pdGlhbCIKLQotUFJPVklERVMgPSAidmlydHVhbC9saWJjIHZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWxpYmMtZm9yLWdjYyIKK1BST1ZJREVTID0gInZpcnR1YWwvbGliYyIKIFBST1ZJREVTICs9ICJ2aXJ0dWFsL2xpYmludGwgdmlydHVhbC9saWJpY29udiIKIGluaGVyaXQgYXV0b3Rvb2xzIHRleGluZm8gZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIHN5c3RlbWQKIApAQCAtNDcsMTYgKzIwLDExIEBACiAgIGxpYmNfY3Zfc3NwPW5vIFwKICIKIAorIyBpZnVuYyBkb2Vzbid0IGFwcGVhciB0byB3b3JrIG9uIG1pcHMsIGNhc3VzZXMgbGliYmZkIGFzc2VydGlvbiBmYWlsdXJlcworQ0FDSEVEX0NPTkZJR1VSRVZBUlNfYXBwZW5kX21pcHNhcmNoID0gIiBsaWJjX2N2X2xkX2dudV9pbmRpcmVjdF9mdW5jdGlvbj1ubyIKKwogR0xJQkNfRVhUUkFfT0VDT05GID89ICIiCiBHTElCQ19FWFRSQV9PRUNPTkZfY2xhc3MtbmF0aXZlc2RrID0gIiIKLUlOSElCSVRfREVGQVVMVF9ERVBTID0gIjEiCi0KLSMgVGhpcyBuZWVkcyB0byBtYXRjaCB3aXRoIGdsaWJjLWNvbGxhdGVyYWwuaW5jLCBvdGhlcndpc2UgZ2xpYmMtc2NyaXB0cyBhbmQgZ2xpYmMtbG9jYWxlCi0jIHdpbGwgZmFpbCB0byBmaW5kIG1haW4gZ2xpYmMsIGZvciBkZXRhaWxzIHNlZQotIyBodHRwOi8vbGlzdHMub3BlbmVtYmVkZGVkLm9yZy9waXBlcm1haWwvb3BlbmVtYmVkZGVkLWNvcmUvMjAxNS1KYW51YXJ5LzEwMDY3OS5odG1sCi1BUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY0ID0gImFybSIKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgotQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NiA9ICJhcm0iCiAKICMgZ2xpYmMgdXNlcyBQQVJBTExFTE1GTEFHUyB2YXJpYWJsZSB0byBwYXNzIHBhcmFsbGVsIGJ1aWxkIGluZm8gc28gdHJhbnNmZXIKICMgUEFSQUxMRUxfTUFLRSBpbnRvIFBBUkFMTEVMTUZMQUdTIGFuZCBlbXB0eSBvdXQgUEFSQUxMRUxfTUFLRQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDAxLW5hdGl2ZXNkay1nbGliYy1Mb29rLWZvci1ob3N0LXN5c3RlbS1sZC5zby5jYWNoZS1hcy0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDEtbmF0aXZlc2RrLWdsaWJjLUxvb2stZm9yLWhvc3Qtc3lzdGVtLWxkLnNvLmNhY2hlLWFzLS5wYXRjaAppbmRleCA1ZGYyNmE4Li44NmFkOWVhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDEtbmF0aXZlc2RrLWdsaWJjLUxvb2stZm9yLWhvc3Qtc3lzdGVtLWxkLnNvLmNhY2hlLWFzLS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDEtbmF0aXZlc2RrLWdsaWJjLUxvb2stZm9yLWhvc3Qtc3lzdGVtLWxkLnNvLmNhY2hlLWFzLS5wYXRjaApAQCAtMSw3ICsxLDggQEAKLUZyb20gYmQ1MWIzYWRkODlhNWNiMmQ4ZjQ0MDI5YTEwMjdjNzgwYjJhZmZmNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMGNhYzc0OTMzNjY1ODZlOGY4N2U4NDU5MzU5YzE1ZjcwMmVmOGM4MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBXZWQsIDE4IE1hciAyMDE1IDAxOjQ4OjI0ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIG5hdGl2ZXNkay1nbGliYzogTG9vayBmb3IgaG9zdCBzeXN0ZW0gbGQuc28uY2FjaGUgYXMgd2VsbAorU3ViamVjdDogW1BBVENIIDAxLzMwXSBuYXRpdmVzZGstZ2xpYmM6IExvb2sgZm9yIGhvc3Qgc3lzdGVtIGxkLnNvLmNhY2hlIGFzCisgd2VsbAogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQogCkBAIC0zMCw3ICszMSw3IEBACiAgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2VsZi9kbC1sb2FkLmMgYi9lbGYvZGwtbG9hZC5jCi1pbmRleCBjNTFlNGIzNzE4Li40NGJiYjY5ZGM0IDEwMDY0NAoraW5kZXggZjk3MjUyNDQyMS4uZTUzYzNhMWI3YiAxMDA2NDQKIC0tLSBhL2VsZi9kbC1sb2FkLmMKICsrKyBiL2VsZi9kbC1sb2FkLmMKIEBAIC0yMDg1LDYgKzIwODUsMTQgQEAgX2RsX21hcF9vYmplY3QgKHN0cnVjdCBsaW5rX21hcCAqbG9hZGVyLCBjb25zdCBjaGFyICpuYW1lLApAQCAtNjMsMyArNjQsNiBAQAogICAgICAgIC8qIEFkZCBhbm90aGVyIG5ld2xpbmUgd2hlbiB3ZSBhcmUgdHJhY2luZyB0aGUgbGlicmFyeSBsb2FkaW5nLiAgKi8KICAgICAgICBpZiAoX19nbGliY191bmxpa2VseSAoR0xSTyhkbF9kZWJ1Z19tYXNrKSAmIERMX0RFQlVHX0xJQlMpKQogIAlfZGxfZGVidWdfcHJpbnRmICgiXG4iKTsKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAwMS14ODYtNjQtbWVtY21wLVVzZS11bnNpZ25lZC1KY2MtaW5zdHJ1Y3Rpb25zLW9uLXNpemUtLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDAxLXg4Ni02NC1tZW1jbXAtVXNlLXVuc2lnbmVkLUpjYy1pbnN0cnVjdGlvbnMtb24tc2l6ZS0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWEzNDMxNAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAwMS14ODYtNjQtbWVtY21wLVVzZS11bnNpZ25lZC1KY2MtaW5zdHJ1Y3Rpb25zLW9uLXNpemUtLnBhdGNoCkBAIC0wLDAgKzEsMjA0IEBACitGcm9tIDNmNjM1ZmI0MzM4OWI1NGY2ODJmYzllZDJhY2MwYjJhYWY0YTkyM2QgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiAiSC5KLiBMdSIgPGhqbC50b29sc0BnbWFpbC5jb20+CitEYXRlOiBNb24sIDQgRmViIDIwMTkgMDY6MzE6MDEgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0geDg2LTY0IG1lbWNtcDogVXNlIHVuc2lnbmVkIEpjYyBpbnN0cnVjdGlvbnMgb24gc2l6ZSBbQloKKyAjMjQxNTVdCisKK1NpbmNlIHRoZSBzaXplIGFyZ3VtZW50IGlzIHVuc2lnbmVkLiB3ZSBzaG91bGQgdXNlIHVuc2lnbmVkIEpjYworaW5zdHJ1Y3Rpb25zLCBpbnN0ZWFkIG9mIHNpZ25lZCwgdG8gY2hlY2sgc2l6ZS4KKworVGVzdGVkIG9uIHg4Ni02NCBhbmQgeDMyLCB3aXRoIGFuZCB3aXRob3V0IC0tZGlzYWJsZS1tdWx0aS1hcmNoLgorCisJW0JaICMyNDE1NV0KKwlDVkUtMjAxOS03MzA5CisJKiBORVdTOiBVcGRhdGVkIGZvciBDVkUtMjAxOS03MzA5LgorCSogc3lzZGVwcy94ODZfNjQvbWVtY21wLlM6IFVzZSBSRFhfTFAgZm9yIHNpemUuICBDbGVhciB0aGUKKwl1cHBlciAzMiBiaXRzIG9mIFJEWCByZWdpc3RlciBmb3IgeDMyLiAgVXNlIHVuc2lnbmVkIEpjYworCWluc3RydWN0aW9ucywgaW5zdGVhZCBvZiBzaWduZWQuCisJKiBzeXNkZXBzL3g4Nl82NC94MzIvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1zaXplX3QtbWVtY21wLTIuCisJKiBzeXNkZXBzL3g4Nl82NC94MzIvdHN0LXNpemVfdC1tZW1jbXAtMi5jOiBOZXcgdGVzdC4KKworQ1ZFOiBDVkUtMjAxOS03MzA5CitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBaaGl4aW9uZyBDaGkgPHpoaXhpb25nLmNoaUB3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogQWxpc3RhaXIgRnJhbmNpcyA8YWxpc3RhaXIuZnJhbmNpc0B3ZGMuY29tPgorLS0tCisgc3lzZGVwcy94ODZfNjQvbWVtY21wLlMgICAgICAgICAgICAgICAgICB8IDIwICsrKy0tLQorIHN5c2RlcHMveDg2XzY0L3gzMi9NYWtlZmlsZSAgICAgICAgICAgICAgfCAgMyArLQorIHN5c2RlcHMveDg2XzY0L3gzMi90c3Qtc2l6ZV90LW1lbWNtcC0yLmMgfCA3OSArKysrKysrKysrKysrKysrKysrKysrKysKKyA1IGZpbGVzIGNoYW5nZWQsIDExMSBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgc3lzZGVwcy94ODZfNjQveDMyL3RzdC1zaXplX3QtbWVtY21wLTIuYworCitkaWZmIC0tZ2l0IGEvc3lzZGVwcy94ODZfNjQvbWVtY21wLlMgYi9zeXNkZXBzL3g4Nl82NC9tZW1jbXAuUworaW5kZXggMWZjNDg3Y2FhNS4uMTMyMmJiM2I5MiAxMDA2NDQKKy0tLSBhL3N5c2RlcHMveDg2XzY0L21lbWNtcC5TCisrKysgYi9zeXNkZXBzL3g4Nl82NC9tZW1jbXAuUworQEAgLTIxLDE0ICsyMSwxOCBAQAorIAorIAkudGV4dAorIEVOVFJZIChtZW1jbXApCistCXRlc3QJJXJkeCwgJXJkeAorKyNpZmRlZiBfX0lMUDMyX18KKysJLyogQ2xlYXIgdGhlIHVwcGVyIDMyIGJpdHMuICAqLworKwltb3ZsCSVlZHgsICVlZHgKKysjZW5kaWYKKysJdGVzdAklUkRYX0xQLCAlUkRYX0xQCisgCWp6CUwoZmlueikKKyAJY21wcQkkMSwgJXJkeAorLQlqbGUJTChmaW5yMWIpCisrCWpiZQlMKGZpbnIxYikKKyAJc3VicQklcmRpLCAlcnNpCisgCW1vdnEJJXJkeCwgJXIxMAorIAljbXBxCSQzMiwgJXIxMAorLQlqZ2UJTChndDMyKQorKwlqYWUJTChndDMyKQorIAkvKiBIYW5kbGUgc21hbGwgY2h1bmtzIGFuZCBsYXN0IGJsb2NrIG9mIGxlc3MgdGhhbiAzMiBieXRlcy4gICovCisgTChzbWFsbCk6CisgCXRlc3RxCSQxLCAlcjEwCitAQCAtMTU2LDcgKzE2MCw3IEBAIEwoQTMyKToKKyAJbW92cQklcjExLCAlcjEwCisgCWFuZHEJJC0zMiwgJXIxMAorIAljbXBxCSVyMTAsICVyZGkKKy0gICAgICAgIGpnZQlMKG10MTYpCisrICAgICAgICBqYWUJTChtdDE2KQorIAkvKiBQcmUtdW5yb2xsIHRvIGJlIHJlYWR5IGZvciB1bnJvbGxlZCA2NEIgbG9vcC4gICovCisgCXRlc3RxCSQzMiwgJXJkaQorIAlqeglMKEE2NCkKK0BAIC0xNzgsNyArMTgyLDcgQEAgTChBNjQpOgorIAltb3ZxCSVyMTEsICVyMTAKKyAJYW5kcQkkLTY0LCAlcjEwCisgCWNtcHEJJXIxMCwgJXJkaQorLSAgICAgICAgamdlCUwobXQzMikKKysgICAgICAgIGphZQlMKG10MzIpCisgCisgTChBNjRtYWluKToKKyAJbW92ZHF1ICAgICglcmRpLCVyc2kpLCAleG1tMAorQEAgLTIxNiw3ICsyMjAsNyBAQCBMKG10MzIpOgorIAltb3ZxCSVyMTEsICVyMTAKKyAJYW5kcQkkLTMyLCAlcjEwCisgCWNtcHEJJXIxMCwgJXJkaQorLSAgICAgICAgamdlCUwobXQxNikKKysgICAgICAgIGphZQlMKG10MTYpCisgCisgTChBMzJtYWluKToKKyAJbW92ZHF1ICAgICglcmRpLCVyc2kpLCAleG1tMAorQEAgLTI1NCw3ICsyNTgsNyBAQCBMKEFUUik6CisgCW1vdnEJJXIxMSwgJXIxMAorIAlhbmRxCSQtMzIsICVyMTAKKyAJY21wcQklcjEwLCAlcmRpCistICAgICAgICBqZ2UJTChtdDE2KQorKyAgICAgICAgamFlCUwobXQxNikKKyAJdGVzdHEJJDE2LCAlcmRpCisgCWp6CUwoQVRSMzIpCisgCitAQCAtMzI1LDcgKzMyOSw3IEBAIEwoQVRSNjRtYWluKToKKyAJbW92cQklcjExLCAlcjEwCisgCWFuZHEJJC0zMiwgJXIxMAorIAljbXBxCSVyMTAsICVyZGkKKy0gICAgICAgIGpnZQlMKG10MTYpCisrICAgICAgICBqYWUJTChtdDE2KQorIAorIEwoQVRSMzJyZXMpOgorIAltb3ZkcWEgICAgKCVyZGksJXJzaSksICV4bW0wCitkaWZmIC0tZ2l0IGEvc3lzZGVwcy94ODZfNjQveDMyL01ha2VmaWxlIGIvc3lzZGVwcy94ODZfNjQveDMyL01ha2VmaWxlCitpbmRleCAxNTU3NzI0YjBjLi44NzQ4OTU2NTYzIDEwMDY0NAorLS0tIGEvc3lzZGVwcy94ODZfNjQveDMyL01ha2VmaWxlCisrKysgYi9zeXNkZXBzL3g4Nl82NC94MzIvTWFrZWZpbGUKK0BAIC04LDcgKzgsOCBAQCBlbmRpZgorIGlmZXEgKCQoc3ViZGlyKSxzdHJpbmcpCisgdGVzdHMgKz0gdHN0LXNpemVfdC1tZW1jaHIgdHN0LXNpemVfdC1tZW1jbXAgdHN0LXNpemVfdC1tZW1jcHkgXAorIAkgdHN0LXNpemVfdC1tZW1yY2hyIHRzdC1zaXplX3QtbWVtc2V0IHRzdC1zaXplX3Qtc3RybmNhc2VjbXAgXAorLQkgdHN0LXNpemVfdC1zdHJuY21wIHRzdC1zaXplX3Qtc3RybmNweSB0c3Qtc2l6ZV90LXN0cm5sZW4KKysJIHRzdC1zaXplX3Qtc3RybmNtcCB0c3Qtc2l6ZV90LXN0cm5jcHkgdHN0LXNpemVfdC1zdHJubGVuIFwKKysJIHRzdC1zaXplX3QtbWVtY21wLTIKKyBlbmRpZgorIAorIGlmZXEgKCQoc3ViZGlyKSx3Y3NtYnMpCitkaWZmIC0tZ2l0IGEvc3lzZGVwcy94ODZfNjQveDMyL3RzdC1zaXplX3QtbWVtY21wLTIuYyBiL3N5c2RlcHMveDg2XzY0L3gzMi90c3Qtc2l6ZV90LW1lbWNtcC0yLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5kOGFlMWEwODEzCistLS0gL2Rldi9udWxsCisrKysgYi9zeXNkZXBzL3g4Nl82NC94MzIvdHN0LXNpemVfdC1tZW1jbXAtMi5jCitAQCAtMCwwICsxLDc5IEBACisrLyogVGVzdCBtZW1jbXAgd2l0aCBzaXplX3QgaW4gdGhlIGxvd2VyIDMyIGJpdHMgb2YgNjQtYml0IHJlZ2lzdGVyLgorKyAgIENvcHlyaWdodCAoQykgMjAxOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05VIEMgTGlicmFyeS4KKysKKysgICBUaGUgR05VIEMgTGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKysgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisrICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisrICAgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrCisrICAgVGhlIEdOVSBDIExpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisrICAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysKKysgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisrICAgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBHTlUgQyBMaWJyYXJ5OyBpZiBub3QsIHNlZQorKyAgIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisrCisrI2RlZmluZSBURVNUX01BSU4KKysjaWZkZWYgV0lERQorKyMgZGVmaW5lIFRFU1RfTkFNRSAid21lbWNtcCIKKysjZWxzZQorKyMgZGVmaW5lIFRFU1RfTkFNRSAibWVtY21wIgorKyNlbmRpZgorKworKyNpbmNsdWRlICJ0ZXN0LXNpemVfdC5oIgorKworKyNpZmRlZiBXSURFCisrIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgorKyMgaW5jbHVkZSA8d2NoYXIuaD4KKysKKysjIGRlZmluZSBNRU1DTVAgd21lbWNtcAorKyMgZGVmaW5lIENIQVIgd2NoYXJfdAorKyNlbHNlCisrIyBkZWZpbmUgTUVNQ01QIG1lbWNtcAorKyMgZGVmaW5lIENIQVIgY2hhcgorKyNlbmRpZgorKworK0lNUEwgKE1FTUNNUCwgMSkKKysKKyt0eXBlZGVmIGludCAoKnByb3RvX3QpIChjb25zdCBDSEFSICosIGNvbnN0IENIQVIgKiwgc2l6ZV90KTsKKysKKytzdGF0aWMgaW50CisrX19hdHRyaWJ1dGVfXyAoKG5vaW5saW5lLCBub2Nsb25lKSkKKytkb19tZW1jbXAgKHBhcmFtZXRlcl90IGEsIHBhcmFtZXRlcl90IGIpCisreworKyAgcmV0dXJuIENBTEwgKCZiLCBhLnAsIGIucCwgYS5sZW4pOworK30KKysKKytzdGF0aWMgaW50CisrdGVzdF9tYWluICh2b2lkKQorK3sKKysgIHRlc3RfaW5pdCAoKTsKKysKKysgIHBhcmFtZXRlcl90IGRlc3QgPSB7IHsgcGFnZV9zaXplIC8gc2l6ZW9mIChDSEFSKSB9LCBidWYxIH07CisrICBwYXJhbWV0ZXJfdCBzcmMgPSB7IHsgMCB9LCBidWYyIH07CisrCisrICBtZW1jcHkgKGJ1ZjEsIGJ1ZjIsIHBhZ2Vfc2l6ZSk7CisrCisrICBDSEFSICpwID0gKENIQVIgKikgYnVmMTsKKysgIHBbcGFnZV9zaXplIC8gc2l6ZW9mIChDSEFSKSAtIDFdID0gKENIQVIpIDE7CisrCisrICBpbnQgcmV0ID0gMDsKKysgIEZPUl9FQUNIX0lNUEwgKGltcGwsIDApCisrICAgIHsKKysgICAgICBzcmMuZm4gPSBpbXBsLT5mbjsKKysgICAgICBpbnQgcmVzID0gZG9fbWVtY21wIChkZXN0LCBzcmMpOworKyAgICAgIGlmIChyZXMgPj0gMCkKKysJeworKwkgIGVycm9yICgwLCAwLCAiV3JvbmcgcmVzdWx0IGluIGZ1bmN0aW9uICVzOiAlaSA+PSAwIiwKKysJCSBpbXBsLT5uYW1lLCByZXMpOworKwkgIHJldCA9IDE7CisrCX0KKysgICAgfQorKworKyAgcmV0dXJuIHJldCA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUzsKKyt9CisrCisrI2luY2x1ZGUgPHN1cHBvcnQvdGVzdC1kcml2ZXIuYz4KKy0tIAorMi4xNy4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAwMi1uYXRpdmVzZGstZ2xpYmMtRml4LWJ1ZmZlci1vdmVycnVuLXdpdGgtYS1yZWxvY2F0ZWQtLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDAyLW5hdGl2ZXNkay1nbGliYy1GaXgtYnVmZmVyLW92ZXJydW4td2l0aC1hLXJlbG9jYXRlZC0ucGF0Y2gKaW5kZXggZGFhZGVjNy4uZjY2M2UxOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDAyLW5hdGl2ZXNkay1nbGliYy1GaXgtYnVmZmVyLW92ZXJydW4td2l0aC1hLXJlbG9jYXRlZC0ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDAyLW5hdGl2ZXNkay1nbGliYy1GaXgtYnVmZmVyLW92ZXJydW4td2l0aC1hLXJlbG9jYXRlZC0ucGF0Y2gKQEAgLTEsNyArMSw4IEBACi1Gcm9tIGZkYzhhMzNhYzJjODFhMDIzN2I4YTZkOGIxYWFjN2YxY2RiYjQ2YWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGYyNzVjMDRlMjYzZmMyZWJmMmVhYWQ2YWMxYWIzYzgzODY0N2JiMTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogV2VkLCAxOCBNYXIgMjAxNSAwMTo1MDowMCArMDAwMAotU3ViamVjdDogW1BBVENIXSBuYXRpdmVzZGstZ2xpYmM6IEZpeCBidWZmZXIgb3ZlcnJ1biB3aXRoIGEgcmVsb2NhdGVkIFNESworU3ViamVjdDogW1BBVENIIDAyLzMwXSBuYXRpdmVzZGstZ2xpYmM6IEZpeCBidWZmZXIgb3ZlcnJ1biB3aXRoIGEgcmVsb2NhdGVkCisgU0RLCiAKIFdoZW4gbGQtbGludXgtKi5zby4yIGlzIHJlbG9jYXRlZCB0byBhIHBhdGggdGhhdCBpcyBsb25nZXIgdGhhbiB0aGUKIG9yaWdpbmFsIGZpeGVkIGxvY2F0aW9uLCB0aGUgZHluYW1pYyBsb2FkZXIgd2lsbCBjcmFzaCBpbiBvcGVuX3BhdGgKQEAgLTIxLDcgKzIyLDcgQEAKICAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKQogCiBkaWZmIC0tZ2l0IGEvZWxmL2RsLWxvYWQuYyBiL2VsZi9kbC1sb2FkLmMKLWluZGV4IDQ0YmJiNjlkYzQuLjc0ZTJlNWU5NjIgMTAwNjQ0CitpbmRleCBlNTNjM2ExYjdiLi4yYmQ5YmMyN2YyIDEwMDY0NAogLS0tIGEvZWxmL2RsLWxvYWQuYwogKysrIGIvZWxmL2RsLWxvYWQuYwogQEAgLTE3ODUsNyArMTc4NSwxOSBAQCBvcGVuX3BhdGggKGNvbnN0IGNoYXIgKm5hbWUsIHNpemVfdCBuYW1lbGVuLCBpbnQgbW9kZSwKQEAgLTQ0LDMgKzQ1LDYgQEAKICAgIGRvCiAgICAgIHsKICAgICAgICBzdHJ1Y3Qgcl9zZWFyY2hfcGF0aF9lbGVtICp0aGlzX2RpciA9ICpkaXJzOworLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDAzLW5hdGl2ZXNkay1nbGliYy1SYWlzZS10aGUtc2l6ZS1vZi1hcnJheXMtY29udGFpbmluZy0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDMtbmF0aXZlc2RrLWdsaWJjLVJhaXNlLXRoZS1zaXplLW9mLWFycmF5cy1jb250YWluaW5nLS5wYXRjaAppbmRleCBlMDgyNTQwLi5mZDkwOWY2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDMtbmF0aXZlc2RrLWdsaWJjLVJhaXNlLXRoZS1zaXplLW9mLWFycmF5cy1jb250YWluaW5nLS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDMtbmF0aXZlc2RrLWdsaWJjLVJhaXNlLXRoZS1zaXplLW9mLWFycmF5cy1jb250YWluaW5nLS5wYXRjaApAQCAtMSw3ICsxLDggQEAKLUZyb20gMDU1ZGQ0NmI3OTMxNjhmYjA4ZTQ0OTEzMTUzMDEwYjA4ODAxMWJhMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gOTJkZjU2NzNkZTE4Nzc5YjYxMjYwOWFmYTRmNjg3ZTMzZTVlY2I2ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBXZWQsIDE4IE1hciAyMDE1IDAxOjUxOjM4ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIG5hdGl2ZXNkay1nbGliYzogUmFpc2UgdGhlIHNpemUgb2YgYXJyYXlzIGNvbnRhaW5pbmcgZGwgcGF0aHMKK1N1YmplY3Q6IFtQQVRDSCAwMy8zMF0gbmF0aXZlc2RrLWdsaWJjOiBSYWlzZSB0aGUgc2l6ZSBvZiBhcnJheXMgY29udGFpbmluZyBkbAorIHBhdGhzCiAKIFRoaXMgcGF0Y2ggcHV0cyB0aGUgZHluYW1pYyBsb2FkZXIgcGF0aCBpbiB0aGUgYmluYXJpZXMsIFNZU1RFTV9ESVJTIHN0cmluZ3MKIGFuZCBsZW5ndGhzIGFzIHdlbGwgYXMgbGQuc28uY2FjaGUgcGF0aCBpbiB0aGUgZHluYW1pYyBsb2FkZXIgdG8gc3BlY2lmaWMKQEAgLTI1LDcgKzI2LDcgQEAKICA3IGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvZWxmL2RsLWNhY2hlLmMgYi9lbGYvZGwtY2FjaGUuYwotaW5kZXggNmVlNTE1M2ZmOS4uMzdhNWY3MDFmYSAxMDA2NDQKK2luZGV4IGQ4ZDFlMjM0NGUuLmQyMjQ3YmZjNGYgMTAwNjQ0CiAtLS0gYS9lbGYvZGwtY2FjaGUuYwogKysrIGIvZWxmL2RsLWNhY2hlLmMKIEBAIC0xMzMsNiArMTMzLDEwIEBAIGRvCQkJCQkJCQkJICAgICAgXApAQCAtNDAsNyArNDEsNyBAQAogIF9kbF9jYWNoZV9saWJjbXAgKGNvbnN0IGNoYXIgKnAxLCBjb25zdCBjaGFyICpwMikKICB7CiBkaWZmIC0tZ2l0IGEvZWxmL2RsLWxvYWQuYyBiL2VsZi9kbC1sb2FkLmMKLWluZGV4IDc0ZTJlNWU5NjIuLjhmMTkxODZlMWMgMTAwNjQ0CitpbmRleCAyYmQ5YmMyN2YyLi40MTcwY2MxYTA5IDEwMDY0NAogLS0tIGEvZWxmL2RsLWxvYWQuYwogKysrIGIvZWxmL2RsLWxvYWQuYwogQEAgLTExMCw4ICsxMTAsOCBAQCBzdGF0aWMgc2l6ZV90IG1heF9jYXBzdHJsZW4gYXR0cmlidXRlX3JlbHJvOwpAQCAtNTUsNyArNTYsNyBAQAogICAgU1lTVEVNX0RJUlNfTEVOCiAgfTsKIGRpZmYgLS1naXQgYS9lbGYvaW50ZXJwLmMgYi9lbGYvaW50ZXJwLmMKLWluZGV4IDljZDUwYzcyOTEuLmZjMmYzOWQ3M2MgMTAwNjQ0CitpbmRleCAyNDM4MjlmNWY3Li4wZTc0MjQxNzAzIDEwMDY0NAogLS0tIGEvZWxmL2ludGVycC5jCiArKysgYi9lbGYvaW50ZXJwLmMKIEBAIC0xOCw1ICsxOCw1IEBACkBAIC02Niw3ICs2Nyw3IEBACiArY29uc3QgY2hhciBfX2ludm9rZV9keW5hbWljX2xpbmtlcl9fWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmludGVycCIpKSkKICAgID0gUlVOVElNRV9MSU5LRVI7CiBkaWZmIC0tZ2l0IGEvZWxmL2xkY29uZmlnLmMgYi9lbGYvbGRjb25maWcuYwotaW5kZXggZmJkZDgxNGVkZi4uOWY0ZDhkNjliMSAxMDA2NDQKK2luZGV4IDIwNmNkNTFkZjYuLjJmZDRmYjU0YWUgMTAwNjQ0CiAtLS0gYS9lbGYvbGRjb25maWcuYwogKysrIGIvZWxmL2xkY29uZmlnLmMKIEBAIC0xNjgsNiArMTY4LDkgQEAgc3RhdGljIHN0cnVjdCBhcmdwIGFyZ3AgPQpAQCAtODAsNyArODEsNyBAQAogICAgIGEgcGxhdGZvcm0uICAqLwogIHN0YXRpYyBpbnQKIGRpZmYgLS1naXQgYS9lbGYvcnRsZC5jIGIvZWxmL3J0bGQuYwotaW5kZXggMWIwYzc0NzM5Zi4uYTcwYTYyZDMxZSAxMDA2NDQKK2luZGV4IDVkOTdmNDFiN2IuLjI2YzVmZWY5MjkgMTAwNjQ0CiAtLS0gYS9lbGYvcnRsZC5jCiArKysgYi9lbGYvcnRsZC5jCiBAQCAtMTMwLDYgKzEzMCw3IEBAIGRzb19uYW1lX3ZhbGlkX2Zvcl9zdWlkIChjb25zdCBjaGFyICpwKQpAQCAtMTA3LDcgKzEwOCw3IEBACiAgICAgICAgKytfZGxfc2tpcF9hcmdzOwogICAgICAgIC0tX2RsX2FyZ2M7CiBkaWZmIC0tZ2l0IGEvaWNvbnYvZ2NvbnZfY29uZi5jIGIvaWNvbnYvZ2NvbnZfY29uZi5jCi1pbmRleCBmMTczY2RlNzFiLi41YzMyMDUwMjZmIDEwMDY0NAoraW5kZXggYWU4OTM3Y2JhMC4uZjMyMWVlNDE5ZSAxMDA2NDQKIC0tLSBhL2ljb252L2djb252X2NvbmYuYwogKysrIGIvaWNvbnYvZ2NvbnZfY29uZi5jCiBAQCAtMzYsNyArMzYsNyBAQApAQCAtMTE3LDEwICsxMTgsMTAgQEAKIC1zdGF0aWMgY29uc3QgY2hhciBkZWZhdWx0X2djb252X3BhdGhbXSA9IEdDT05WX1BBVEg7CiArc3RhdGljIGNoYXIgZGVmYXVsdF9nY29udl9wYXRoWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IEdDT05WX1BBVEg7CiAgCi0gLyogVGhlIHBhdGggZWxlbWVudHMsIGFzIGRldGVybWluZWQgYnkgdGhlIF9fZ2NvbnZfZ2V0X3BhdGggZnVuY3Rpb24uCi0gICAgQWxsIHBhdGggZWxlbWVudHMgZW5kIGluIGEgc2xhc2guICAqLworIC8qIFR5cGUgdG8gcmVwcmVzZW50IHNlYXJjaCBwYXRoLiAgKi8KKyBzdHJ1Y3QgcGF0aF9lbGVtCiBkaWZmIC0tZ2l0IGEvc3lzZGVwcy9nZW5lcmljL2RsLWNhY2hlLmggYi9zeXNkZXBzL2dlbmVyaWMvZGwtY2FjaGUuaAotaW5kZXggY2Y0M2YxY2YzYi4uN2YwN2FkZGU1MyAxMDA2NDQKK2luZGV4IGJjOGI0MDMzMWQuLmIwZmRkMjE0NGIgMTAwNjQ0CiAtLS0gYS9zeXNkZXBzL2dlbmVyaWMvZGwtY2FjaGUuaAogKysrIGIvc3lzZGVwcy9nZW5lcmljL2RsLWNhY2hlLmgKIEBAIC0yNywxMCArMjcsNiBAQApAQCAtMTM0LDMgKzEzNSw2IEBACiAgI2lmbmRlZiBhZGRfc3lzdGVtX2RpcgogICMgZGVmaW5lIGFkZF9zeXN0ZW1fZGlyKGRpcikgYWRkX2RpciAoZGlyKQogICNlbmRpZgorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDA0LW5hdGl2ZXNkay1nbGliYy1BbGxvdy02NC1iaXQtYXRvbWljcy1mb3IteDg2LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDA0LW5hdGl2ZXNkay1nbGliYy1BbGxvdy02NC1iaXQtYXRvbWljcy1mb3IteDg2LnBhdGNoCmluZGV4IDFhZTJlMzMuLmQ2YzlhYWMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAwNC1uYXRpdmVzZGstZ2xpYmMtQWxsb3ctNjQtYml0LWF0b21pY3MtZm9yLXg4Ni5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDQtbmF0aXZlc2RrLWdsaWJjLUFsbG93LTY0LWJpdC1hdG9taWNzLWZvci14ODYucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIGEyMzc1NTNjY2QxNTI3NjQ2MmJlMjAyMzA1N2EwMTdmYThlZTVkN2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGZmMGY0NzU2ZjFhOTgyMDI3MjZjNjU3NDVhY2EzODM1NDg2NGUwMzMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogVGh1LCAzMSBEZWMgMjAxNSAxNDozNTozNSAtMDgwMAotU3ViamVjdDogW1BBVENIXSBuYXRpdmVzZGstZ2xpYmM6IEFsbG93IDY0IGJpdCBhdG9taWNzIGZvciB4ODYKK1N1YmplY3Q6IFtQQVRDSCAwNC8zMF0gbmF0aXZlc2RrLWdsaWJjOiBBbGxvdyA2NCBiaXQgYXRvbWljcyBmb3IgeDg2CiAKIFRoZSBmaXggY29uc2lzdCBvZiBhbGxvd2luZyA2NGJpdCBhdG9taWMgb3BzIGZvciB4ODYuCiBUaGlzIHNob3VsZCBiZSBzYWZlIGZvciBpNTg2IGFuZCBuZXdlciBDUFVzLgpAQCAtMTMsMTkgKzEzLDMwIEBACiBTaWduZWQtb2ZmLWJ5OiBSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4KIFNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiAtLS0KLSBzeXNkZXBzL2kzODYvYXRvbWljLW1hY2hpbmUuaCB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKyBzeXNkZXBzL3g4Ni9hdG9taWMtbWFjaGluZS5oIHwgMyArLS0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDIgZGVsZXRpb25zKC0pCiAKLWRpZmYgLS1naXQgYS9zeXNkZXBzL2kzODYvYXRvbWljLW1hY2hpbmUuaCBiL3N5c2RlcHMvaTM4Ni9hdG9taWMtbWFjaGluZS5oCi1pbmRleCAyNzJkYTVkZDhmLi40MDljNzU5ZjE0IDEwMDY0NAotLS0tIGEvc3lzZGVwcy9pMzg2L2F0b21pYy1tYWNoaW5lLmgKLSsrKyBiL3N5c2RlcHMvaTM4Ni9hdG9taWMtbWFjaGluZS5oCi1AQCAtNTQsNyArNTQsNyBAQCB0eXBlZGVmIHVpbnRtYXhfdCB1YXRvbWljX21heF90OwotICMgZW5kaWYKK2RpZmYgLS1naXQgYS9zeXNkZXBzL3g4Ni9hdG9taWMtbWFjaGluZS5oIGIvc3lzZGVwcy94ODYvYXRvbWljLW1hY2hpbmUuaAoraW5kZXggYWE2MGNhNGNkNi4uM2U0MmUwMDE4MyAxMDA2NDQKKy0tLSBhL3N5c2RlcHMveDg2L2F0b21pYy1tYWNoaW5lLmgKKysrKyBiL3N5c2RlcHMveDg2L2F0b21pYy1tYWNoaW5lLmgKK0BAIC01OCwxNSArNTgsMTQgQEAgdHlwZWRlZiB1aW50bWF4X3QgdWF0b21pY19tYXhfdDsKICAjZW5kaWYKICAKLS0jZGVmaW5lIF9fSEFWRV82NEJfQVRPTUlDUyAwCi0rI2RlZmluZSBfX0hBVkVfNjRCX0FUT01JQ1MgMQotICNkZWZpbmUgVVNFX0FUT01JQ19DT01QSUxFUl9CVUlMVElOUyAwCi0gI2RlZmluZSBBVE9NSUNfRVhDSEFOR0VfVVNFU19DQVMgMAorICNkZWZpbmUgVVNFX0FUT01JQ19DT01QSUxFUl9CVUlMVElOUwkxCisrIyBkZWZpbmUgX19IQVZFXzY0Ql9BVE9NSUNTCQkxCiAgCisgI2lmZGVmIF9feDg2XzY0X18KKy0jIGRlZmluZSBfX0hBVkVfNjRCX0FUT01JQ1MJCTEKKyAjIGRlZmluZSBTUF9SRUcJCQkJInJzcCIKKyAjIGRlZmluZSBTRUdfUkVHCQkJImZzIgorICMgZGVmaW5lIEJSX0NPTlNUUkFJTlQJCQkicSIKKyAjIGRlZmluZSBJQlJfQ09OU1RSQUlOVAkJCSJpcSIKKyAjZWxzZQorLSMgZGVmaW5lIF9fSEFWRV82NEJfQVRPTUlDUwkJMAorICMgZGVmaW5lIFNQX1JFRwkJCQkiZXNwIgorICMgZGVmaW5lIFNFR19SRUcJCQkiZ3MiCisgIyBkZWZpbmUgQlJfQ09OU1RSQUlOVAkJCSJyIgorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDA1LW5hdGl2ZXNkay1nbGliYy1NYWtlLXJlbG9jYXRhYmxlLWluc3RhbGwtZm9yLWxvY2FsZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDUtbmF0aXZlc2RrLWdsaWJjLU1ha2UtcmVsb2NhdGFibGUtaW5zdGFsbC1mb3ItbG9jYWxlcy5wYXRjaAppbmRleCBiNTNmMmVmLi45ZjlmNTAzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDUtbmF0aXZlc2RrLWdsaWJjLU1ha2UtcmVsb2NhdGFibGUtaW5zdGFsbC1mb3ItbG9jYWxlcy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDUtbmF0aXZlc2RrLWdsaWJjLU1ha2UtcmVsb2NhdGFibGUtaW5zdGFsbC1mb3ItbG9jYWxlcy5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gZTFkYzg1YWYxODAwYWZhNGZiZjRlYjVhNTljYzQxMDI1NDk1YWY1NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYjJlYzExMWRjM2E0MmQ5ZGNlNzFjOTAzNTI0NzI0YWU4MmZmMjJkOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBGcmksIDMgQXVnIDIwMTggMDk6NTU6MTIgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gbmF0aXZlc2RrLWdsaWJjOiBNYWtlIHJlbG9jYXRhYmxlIGluc3RhbGwgZm9yIGxvY2FsZXMKK1N1YmplY3Q6IFtQQVRDSCAwNS8zMF0gbmF0aXZlc2RrLWdsaWJjOiBNYWtlIHJlbG9jYXRhYmxlIGluc3RhbGwgZm9yIGxvY2FsZXMKIAogVGhlIGdsaWJjIGxvY2FsZSBwYXRoIGlzIGhhcmQtY29kZWQgdG8gdGhlIGluc3RhbGwgcHJlZml4LCBidXQgaW4gU0RLcyB3ZSBuZWVkCiB0byBiZSBhYmxlIHRvIHJlbG9jYXRlIHRoZSBiaW5hcmllcy4gIEV4cGFuZCB0aGUgc3RyaW5ncyB0byA0SyBhbmQgcHV0IHRoZW0gaW4gYQpAQCAtMTgsNyArMTgsNyBAQAogIDMgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvbG9jYWxlL2ZpbmRsb2NhbGUuYyBiL2xvY2FsZS9maW5kbG9jYWxlLmMKLWluZGV4IDg3MmNhZGI1YjkuLmRkNjUxZTA3ZjUgMTAwNjQ0CitpbmRleCA5YWY2MDViZDY0Li5iMmIwYTNmOTNiIDEwMDY0NAogLS0tIGEvbG9jYWxlL2ZpbmRsb2NhbGUuYwogKysrIGIvbG9jYWxlL2ZpbmRsb2NhbGUuYwogQEAgLTU2LDcgKzU2LDcgQEAgc3RydWN0IF9fbG9jYWxlX2RhdGEgKmNvbnN0IF9ubF9DW10gYXR0cmlidXRlX2hpZGRlbiA9CkBAIC00MCw3ICs0MCw3IEBACiAgICBlbHNlCiAgICAgIC8qIFdlIHJlYWxseSBoYXZlIHRvIGxvYWQgc29tZSBkYXRhLiAgRmlyc3Qgc2VlIHdoZXRoZXIgdGhlIG5hbWUgaXMKIGRpZmYgLS1naXQgYS9sb2NhbGUvbG9hZGFyY2hpdmUuYyBiL2xvY2FsZS9sb2FkYXJjaGl2ZS5jCi1pbmRleCA1MTZkMzBkOGQxLi45YmZiZTFhNWRkIDEwMDY0NAoraW5kZXggODAzYzFjZjJhNC4uOTAyM2Y0NzViOCAxMDA2NDQKIC0tLSBhL2xvY2FsZS9sb2FkYXJjaGl2ZS5jCiArKysgYi9sb2NhbGUvbG9hZGFyY2hpdmUuYwogQEAgLTQyLDcgKzQyLDcgQEAKQEAgLTUzLDcgKzUzLDcgQEAKICAvKiBTaXplIG9mIGluaXRpYWwgbWFwcGluZyB3aW5kb3csIG9wdGltYWwgaWYgbGFyZ2UgZW5vdWdoIHRvCiAgICAgY292ZXIgdGhlIGhlYWRlciBwbHVzIHRoZSBpbml0aWFsIGxvY2FsZS4gICovCiBkaWZmIC0tZ2l0IGEvbG9jYWxlL2xvY2FsZWluZm8uaCBiL2xvY2FsZS9sb2NhbGVpbmZvLmgKLWluZGV4IDY4ODIyYTYzMTkuLjUzN2JjMzUxNDkgMTAwNjQ0CitpbmRleCA3YzFjYzNlZWNiLi41M2NiOGJmYzU5IDEwMDY0NAogLS0tIGEvbG9jYWxlL2xvY2FsZWluZm8uaAogKysrIGIvbG9jYWxlL2xvY2FsZWluZm8uaAogQEAgLTMyNSw3ICszMjUsNyBAQCBfbmxfbG9va3VwX3dvcmQgKGxvY2FsZV90IGwsIGludCBjYXRlZ29yeSwgaW50IGl0ZW0pCkBAIC02NSwzICs2NSw2IEBACiAgCiAgLyogTG9hZCB0aGUgbG9jYWxlIGRhdGEgZm9yIENBVEVHT1JZIGZyb20gdGhlIGZpbGUgc3BlY2lmaWVkIGJ5ICpOQU1FLgogICAgIElmICpOQU1FIGlzICIiLCB1c2UgZW52aXJvbm1lbnQgdmFyaWFibGVzIGFzIHNwZWNpZmllZCBieSBQT1NJWCwgYW5kCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDYtZnNsLWU1MDAtZTU1MDAtZTY1MDAtNjAzZS1mc3FydC1pbXBsZW1lbnRhdGlvbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAwNi1mc2wtZTUwMC1lNTUwMC1lNjUwMC02MDNlLWZzcXJ0LWltcGxlbWVudGF0aW9uLnBhdGNoCmluZGV4IDk3MTcwMGEuLmE2ZGRkZWIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAwNi1mc2wtZTUwMC1lNTUwMC1lNjUwMC02MDNlLWZzcXJ0LWltcGxlbWVudGF0aW9uLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAwNi1mc2wtZTUwMC1lNTUwMC1lNjUwMC02MDNlLWZzcXJ0LWltcGxlbWVudGF0aW9uLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSBkMjNjNTc3YjBiNzBiMzQzMzU5NzFhYmFmM2Y1MGU2MTdkZGE2MTVlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA0ZGM0YjRmNjNkZDc5NzM0MDc4ZmE1NDQ0NmVkYjdmZTJkOWM3NGZhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFdlZCwgMTggTWFyIDIwMTUgMDA6MDE6NTAgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gZnNsIGU1MDAvZTU1MDAvZTY1MDAvNjAzZSBmc3FydCBpbXBsZW1lbnRhdGlvbgorU3ViamVjdDogW1BBVENIIDA2LzMwXSBmc2wgZTUwMC9lNTUwMC9lNjUwMC82MDNlIGZzcXJ0IGltcGxlbWVudGF0aW9uCiAKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZwogU2lnbmVkLW9mZi1ieTogRWRtYXIgV2llbnNrb3NraSA8ZWRtYXJAZnJlZXNjYWxlLmNvbT4KQEAgLTE1NzksMyArMTU3OSw2IEBACiArKysgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGM2NC9lNjUwMC9mcHUvSW1wbGllcwogQEAgLTAsMCArMSBAQAogK3Bvd2VycGMvcG93ZXJwYzY0L2U2NTAwL2ZwdQorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDA3LXJlYWRsaWItQWRkLU9FQ09SRV9LTk9XTl9JTlRFUlBSRVRFUl9OQU1FUy10by1rbm93bi0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDctcmVhZGxpYi1BZGQtT0VDT1JFX0tOT1dOX0lOVEVSUFJFVEVSX05BTUVTLXRvLWtub3duLS5wYXRjaAppbmRleCA0ODcxMzQ2Li4xN2ZmYzZmIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDctcmVhZGxpYi1BZGQtT0VDT1JFX0tOT1dOX0lOVEVSUFJFVEVSX05BTUVTLXRvLWtub3duLS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDctcmVhZGxpYi1BZGQtT0VDT1JFX0tOT1dOX0lOVEVSUFJFVEVSX05BTUVTLXRvLWtub3duLS5wYXRjaApAQCAtMSw3ICsxLDggQEAKLUZyb20gZDY1ZjZlZTIxNGQ3ZDkxNDQ1ZmNlYWJjNmE1ZDZiZjU1YjBlOGQ0YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNTUwNjI5NmVmNTVhNmU0OTE2ZmViYWI2MzgwNWRkZjJkNWE1MjkzYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBXZWQsIDE4IE1hciAyMDE1IDAwOjExOjIyICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIHJlYWRsaWI6IEFkZCBPRUNPUkVfS05PV05fSU5URVJQUkVURVJfTkFNRVMgdG8ga25vd24gbmFtZXMKK1N1YmplY3Q6IFtQQVRDSCAwNy8zMF0gcmVhZGxpYjogQWRkIE9FQ09SRV9LTk9XTl9JTlRFUlBSRVRFUl9OQU1FUyB0byBrbm93bgorIG5hbWVzCiAKIFRoaXMgYm9sdHMgaW4gYSBob29rIGZvciBPRSB0byBwYXNzIGl0cyBvd24gdmVyc2lvbiBvZiBpbnRlcnByZXRlcgogbmFtZXMgaW50byBnbGliYyBlc3BlY2lhbGx5IGZvciBtdWx0aWxpYiBjYXNlLCB3aGVyZSBpdCBkaWZmZXJzIGZyb20gYW55CkBAIC0xNiw3ICsxNyw3IEBACiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCiAKIGRpZmYgLS1naXQgYS9lbGYvcmVhZGxpYi5jIGIvZWxmL3JlYWRsaWIuYwotaW5kZXggNTczYzAxNDc2Yy4uZDhjNzQxMjI4NyAxMDA2NDQKK2luZGV4IGM5NzQzZTY2OTIuLjYzMDdmOTE4ZmMgMTAwNjQ0CiAtLS0gYS9lbGYvcmVhZGxpYi5jCiArKysgYi9lbGYvcmVhZGxpYi5jCiBAQCAtNTEsNiArNTEsNyBAQCBzdGF0aWMgc3RydWN0IGtub3duX25hbWVzIGludGVycHJldGVyc1tdID0KQEAgLTI3LDMgKzI4LDYgQEAKICB9OwogIAogIHN0YXRpYyBzdHJ1Y3Qga25vd25fbmFtZXMga25vd25fbGlic1tdID0KKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAwOC1wcGMtc3FydC1GaXgtdW5kZWZpbmVkLXJlZmVyZW5jZS10by1fX3NxcnRfZmluaXRlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDA4LXBwYy1zcXJ0LUZpeC11bmRlZmluZWQtcmVmZXJlbmNlLXRvLV9fc3FydF9maW5pdGUucGF0Y2gKaW5kZXggYzBkOTZlYi4uYWFjYzlmMiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDA4LXBwYy1zcXJ0LUZpeC11bmRlZmluZWQtcmVmZXJlbmNlLXRvLV9fc3FydF9maW5pdGUucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDA4LXBwYy1zcXJ0LUZpeC11bmRlZmluZWQtcmVmZXJlbmNlLXRvLV9fc3FydF9maW5pdGUucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIGVlM2FhMTQ2NGY0MGM5MTZjNjJjZjMyNmJmNGMxOGY4YjcxYTIyOWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGVhOTY5ZDc3Njc0MjhkNzM4MjNjOTFhZDk5NTU4MjliZDY2YjllNTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogV2VkLCAxOCBNYXIgMjAxNSAwMDoxNTowNyArMDAwMAotU3ViamVjdDogW1BBVENIXSBwcGMvc3FydDogRml4IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fc3FydF9maW5pdGUnCitTdWJqZWN0OiBbUEFUQ0ggMDgvMzBdIHBwYy9zcXJ0OiBGaXggdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19zcXJ0X2Zpbml0ZScKIAogb24gcHBjIGZpeGVzIHRoZSBlcnJvcnMgbGlrZSBiZWxvdwogfCAuLy5saWJzL2xpYnB1bHNlY29yZS0xLjEuc286IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fc3FydF9maW5pdGUnCkBAIC0yMDMsMyArMjAzLDYgQEAKICAgIHJldHVybiBmX3dhc2hmIChiKTsKICB9CiArc3Ryb25nX2FsaWFzIChfX2llZWU3NTRfc3FydGYsIF9fc3FydGZfZmluaXRlKQorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDA5LV9faWVlZTc1NF9zcXJ0LWYtYXJlLW5vdy1pbmxpbmUtZnVuY3Rpb25zLWFuZC1jYWxsLW8ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDktX19pZWVlNzU0X3NxcnQtZi1hcmUtbm93LWlubGluZS1mdW5jdGlvbnMtYW5kLWNhbGwtby5wYXRjaAppbmRleCBkMGI0N2NkLi5iMWQ0NDEzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDktX19pZWVlNzU0X3NxcnQtZi1hcmUtbm93LWlubGluZS1mdW5jdGlvbnMtYW5kLWNhbGwtby5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDktX19pZWVlNzU0X3NxcnQtZi1hcmUtbm93LWlubGluZS1mdW5jdGlvbnMtYW5kLWNhbGwtby5wYXRjaApAQCAtMSw4ICsxLDggQEAKLUZyb20gMTdlODJkNTk0YjJkOGQzYTY5OThmYWNlOTUzMzgyZjlkMTRmYjA0NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYTllNmNhNDVjZGFmMTNlZTU5NTA4OWE1YTU4MGQwMGE5NWEwNmJmMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBXZWQsIDE4IE1hciAyMDE1IDAwOjE2OjM4ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIF9faWVlZTc1NF9zcXJ0eyxmfSBhcmUgbm93IGlubGluZSBmdW5jdGlvbnMgYW5kIGNhbGwgb3V0Ci0gX19zbG93IHZlcnNpb25zCitTdWJqZWN0OiBbUEFUQ0ggMDkvMzBdIF9faWVlZTc1NF9zcXJ0eyxmfSBhcmUgbm93IGlubGluZSBmdW5jdGlvbnMgYW5kIGNhbGwKKyBvdXQgX19zbG93IHZlcnNpb25zCiAKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZwogCkBAIC0zODIsMyArMzgyLDYgQEAKICt9CiArCiAgc3Ryb25nX2FsaWFzIChfX2llZWU3NTRfc3FydGYsIF9fc3FydGZfZmluaXRlKQorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDEwLVF1b3RlLWZyb20tYnVnLTE0NDMtd2hpY2gtZXhwbGFpbnMtd2hhdC10aGUtcGF0Y2gtZG8ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTAtUXVvdGUtZnJvbS1idWctMTQ0My13aGljaC1leHBsYWlucy13aGF0LXRoZS1wYXRjaC1kby5wYXRjaAppbmRleCA4NmVmM2ExLi40NmQyMDU4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTAtUXVvdGUtZnJvbS1idWctMTQ0My13aGljaC1leHBsYWlucy13aGF0LXRoZS1wYXRjaC1kby5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTAtUXVvdGUtZnJvbS1idWctMTQ0My13aGljaC1leHBsYWlucy13aGF0LXRoZS1wYXRjaC1kby5wYXRjaApAQCAtMSw3ICsxLDggQEAKLUZyb20gZmU4ZDliNzZlN2M4ODFjYzBhMGI3MjhlYTJiZDYzN2ZhZmNhMDk3OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNTBhZDAwNDAxZWIxNmJiODhjNTdkOTViYzkyN2RlZWVjNDAzM2UwMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBXZWQsIDE4IE1hciAyMDE1IDAwOjIwOjA5ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIFF1b3RlIGZyb20gYnVnIDE0NDMgd2hpY2ggZXhwbGFpbnMgd2hhdCB0aGUgcGF0Y2ggZG9lcyA6CitTdWJqZWN0OiBbUEFUQ0ggMTAvMzBdIFF1b3RlIGZyb20gYnVnIDE0NDMgd2hpY2ggZXhwbGFpbnMgd2hhdCB0aGUgcGF0Y2ggZG9lcworIDoKIAogICBXZSBidWlsZCBzb21lIHJhbmRvbSBwcm9ncmFtIGFuZCBsaW5rIGl0IHdpdGggLWx1c3QuICBXaGVuIHdlIHJ1biBpdCwKICAgaXQgZGllcyB3aXRoIGEgU0lHU0VHViBiZWZvcmUgcmVhY2hpbmcgbWFpbigpLgpAQCAtNDQsNyArNDUsNyBAQAogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvc3lzZGVwcy9hcm0vZGwtbWFjaGluZS5oIGIvc3lzZGVwcy9hcm0vZGwtbWFjaGluZS5oCi1pbmRleCAxYTRmZDNmMTdiLi5hMDJjNDc1NzFhIDEwMDY0NAoraW5kZXggN2EyZjlkOWI3OC4uMzZhMWRkMTg4OCAxMDA2NDQKIC0tLSBhL3N5c2RlcHMvYXJtL2RsLW1hY2hpbmUuaAogKysrIGIvc3lzZGVwcy9hcm0vZGwtbWFjaGluZS5oCiBAQCAtNTEwLDcgKzUxMCw3IEBAIGVsZl9tYWNoaW5lX3JlbCAoc3RydWN0IGxpbmtfbWFwICptYXAsIGNvbnN0IEVsZjMyX1JlbCAqcmVsb2MsCkBAIC01NiwzICs1Nyw2IEBACiAgCSAgYnJlYWs7CiAgCiAgCWNhc2UgUl9BUk1fVExTX1RQT0ZGMzI6CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTEtZWdsaWJjLXJ1bi1saWJtLWVyci10YWIucGwtd2l0aC1zcGVjaWZpYy1kaXJzLWluLVMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTEtZWdsaWJjLXJ1bi1saWJtLWVyci10YWIucGwtd2l0aC1zcGVjaWZpYy1kaXJzLWluLVMucGF0Y2gKaW5kZXggMzJhYWU1Yy4uMjkzYjcyZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDExLWVnbGliYy1ydW4tbGlibS1lcnItdGFiLnBsLXdpdGgtc3BlY2lmaWMtZGlycy1pbi1TLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxMS1lZ2xpYmMtcnVuLWxpYm0tZXJyLXRhYi5wbC13aXRoLXNwZWNpZmljLWRpcnMtaW4tUy5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gMzAxMmNiODM5YTY0ZTdkNWM2MjFlZmE3OWI2NDNkMTY5MjkwZTZlOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYTI5YTcxODg5MGEzZjMyZTcxMzVmNmI2NGIxYTgwYzc0ZjJkMTQ1NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFRpbmcgTGl1IDxiMjg0OTVAZnJlZXNjYWxlLmNvbT4KIERhdGU6IFdlZCwgMTkgRGVjIDIwMTIgMDQ6Mzk6NTcgLTA2MDAKLVN1YmplY3Q6IFtQQVRDSF0gZWdsaWJjOiBydW4gbGlibS1lcnItdGFiLnBsIHdpdGggc3BlY2lmaWMgZGlycyBpbiAke1N9CitTdWJqZWN0OiBbUEFUQ0ggMTEvMzBdIGVnbGliYzogcnVuIGxpYm0tZXJyLXRhYi5wbCB3aXRoIHNwZWNpZmljIGRpcnMgaW4gJHtTfQogCiBsaWJtLWVyci10YWIucGwgd2lsbCBwYXJzZSBhbGwgdGhlIGZpbGVzIG5hbWVkICJsaWJtLXRlc3QtdWxwcyIKIGluIHRoZSBnaXZlbiBkaXIgcmVjdXJzaXZlbHkuIFRvIGF2b2lkIHBhcnNpbmcgdGhlIG9uZSBpbgpAQCAtMTgsMTYgKzE4LDE5IEBACiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvbWFudWFsL01ha2VmaWxlIGIvbWFudWFsL01ha2VmaWxlCi1pbmRleCBjMjc1NjY0MGE3Li4xYjViYjE2YTk2IDEwMDY0NAoraW5kZXggNGY3NmVlODVkMi4uMDRiOGM4YzMyMCAxMDA2NDQKIC0tLSBhL21hbnVhbC9NYWtlZmlsZQogKysrIGIvbWFudWFsL01ha2VmaWxlCi1AQCAtMTAyLDcgKzEwMiw4IEBAICQob2JqcGZ4KWxpYm0tZXJyLnRleGk6ICQob2JqcGZ4KXN0YW1wLWxpYm0tZXJyCi0gJChvYmpwZngpc3RhbXAtbGlibS1lcnI6IGxpYm0tZXJyLXRhYi5wbCAkKHdpbGRjYXJkICQoZm9yZWFjaCBkaXIsJChzeXNkaXJzKSxcCi0gCQkJCQkJICAgICAkKGRpcikvbGlibS10ZXN0LXVscHMpKQorQEAgLTEwMyw3ICsxMDMsOCBAQCAkKG9ianBmeClzdGFtcC1saWJtLWVycjogJCguLiltYXRoL2dlbi1saWJtLXRlc3QucHkgXAorIAkJCSAkKHdpbGRjYXJkICQoZm9yZWFjaCBkaXIsJChzeXNkaXJzKSxcCisgCQkJCQkJICAkKGRpcikvbGlibS10ZXN0LXVscHMpKQogIAlwd2Q9YHB3ZGA7IFwKLS0JJChQRVJMKSAkPCAkJHB3ZC8uLiA+ICQob2JqcGZ4KWxpYm0tZXJyLXRtcAotKwkkKFBFUkwpICQ8ICQkcHdkLy4uL3BvcnRzID4gJChvYmpwZngpbGlibS1lcnItdG1wCi0rCSQoUEVSTCkgJDwgJCRwd2QvLi4vc3lzZGVwcyA+PiAkKG9ianBmeClsaWJtLWVyci10bXAKKy0JJChQWVRIT04pICQ8IC1zICQkcHdkLy4uIC1tICQob2JqcGZ4KWxpYm0tZXJyLXRtcAorKwkkKFBZVEhPTikgJDwgLXMgJCRwd2QvLi4vcG9ydHMgLW0gJChvYmpwZngpbGlibS1lcnItdG1wCisrCSQoUFlUSE9OKSAkPCAtcyAkJHB3ZC8uLi9zeXNkZXBzIC1tICQob2JqcGZ4KWxpYm0tZXJyLXRtcAogIAkkKG1vdmUtaWYtY2hhbmdlKSAkKG9ianBmeClsaWJtLWVyci10bXAgJChvYmpwZngpbGlibS1lcnIudGV4aQogIAl0b3VjaCAkQAogIAorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDEyLV9faWVlZTc1NF9zcXJ0LWYtYXJlLW5vdy1pbmxpbmUtZnVuY3Rpb25zLWFuZC1jYWxsLW8ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTItX19pZWVlNzU0X3NxcnQtZi1hcmUtbm93LWlubGluZS1mdW5jdGlvbnMtYW5kLWNhbGwtby5wYXRjaAppbmRleCA5MzM5NWMzLi42ZTE3NWI2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTItX19pZWVlNzU0X3NxcnQtZi1hcmUtbm93LWlubGluZS1mdW5jdGlvbnMtYW5kLWNhbGwtby5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTItX19pZWVlNzU0X3NxcnQtZi1hcmUtbm93LWlubGluZS1mdW5jdGlvbnMtYW5kLWNhbGwtby5wYXRjaApAQCAtMSw4ICsxLDggQEAKLUZyb20gOTNhYjY5YWU0Yzk4MzAzOTI5YmE5NDkyMTMwYTAyMWZhNGEyMTViZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNzc3ZGE4OGE4MTk3Mzg2ODNlNDM4OTU4MGNmYmZkZWQyYTgzZTg3ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBXZWQsIDE4IE1hciAyMDE1IDAwOjI0OjQ2ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIF9faWVlZTc1NF9zcXJ0eyxmfSBhcmUgbm93IGlubGluZSBmdW5jdGlvbnMgYW5kIGNhbGwgb3V0Ci0gX19zbG93IHZlcnNpb25zCitTdWJqZWN0OiBbUEFUQ0ggMTIvMzBdIF9faWVlZTc1NF9zcXJ0eyxmfSBhcmUgbm93IGlubGluZSBmdW5jdGlvbnMgYW5kIGNhbGwKKyBvdXQgX19zbG93IHZlcnNpb25zCiAKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZwogCkBAIC01NiwzICs1Niw2IEBACiAgICAgICBmbG9hdCBiOwogICNlbmRpZgogIHsKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxMy1zeXNkZXBzLWdudS1jb25maWd1cmUuYWMtaGFuZGxlLWNvcnJlY3RseS1saWJjX2N2X3JvLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDEzLXN5c2RlcHMtZ251LWNvbmZpZ3VyZS5hYy1oYW5kbGUtY29ycmVjdGx5LWxpYmNfY3Zfcm8ucGF0Y2gKaW5kZXggOTk5ODY5MS4uYjVhZGVjYiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDEzLXN5c2RlcHMtZ251LWNvbmZpZ3VyZS5hYy1oYW5kbGUtY29ycmVjdGx5LWxpYmNfY3Zfcm8ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDEzLXN5c2RlcHMtZ251LWNvbmZpZ3VyZS5hYy1oYW5kbGUtY29ycmVjdGx5LWxpYmNfY3Zfcm8ucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIGE3YmQ4YWE2NWYzZjI3NTVkNmRiZDBkNWFkYmZkMjY5YzFmYjAwOTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGY5OGIxYjllNmI1NjlhYmQzNTk0YjQ5MjNhY2UwYzk2NmM5ZGFlY2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogV2VkLCAxOCBNYXIgMjAxNSAwMDoyNzoxMCArMDAwMAotU3ViamVjdDogW1BBVENIXSBzeXNkZXBzL2dudS9jb25maWd1cmUuYWM6IGhhbmRsZSBjb3JyZWN0bHkKK1N1YmplY3Q6IFtQQVRDSCAxMy8zMF0gc3lzZGVwcy9nbnUvY29uZmlndXJlLmFjOiBoYW5kbGUgY29ycmVjdGx5CiAgJGxpYmNfY3Zfcm9vdHNiaW5kaXIKIAogVXBzdHJlYW0tU3RhdHVzOlBlbmRpbmcKQEAgLTM3LDMgKzM3LDYgQEAKICsgIHRlc3QgLW4gIiRsaWJjX2N2X3Jvb3RzYmluZGlyIiB8fCBsaWJjX2N2X3Jvb3RzYmluZGlyPS9zYmluCiAgICA7OwogIGVzYWMKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxNC1BZGQtdW51c2VkLWF0dHJpYnV0ZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxNC1BZGQtdW51c2VkLWF0dHJpYnV0ZS5wYXRjaAppbmRleCA5ZDZhYjMwLi4xY2Q5MTQ3IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTQtQWRkLXVudXNlZC1hdHRyaWJ1dGUucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDE0LUFkZC11bnVzZWQtYXR0cmlidXRlLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSAyY2U1YmM2ZGEyM2RjYjQwMmFmZGViOTY3ZmE0NGMzOWVlY2Y2ZDM3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBiOWNkOTkyMDUyNTUwZDRiMmJiYTk1NDA5OWUyMjE2NzdhNjY1MmU3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFdlZCwgMTggTWFyIDIwMTUgMDA6Mjg6NDEgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gQWRkIHVudXNlZCBhdHRyaWJ1dGUKK1N1YmplY3Q6IFtQQVRDSCAxNC8zMF0gQWRkIHVudXNlZCBhdHRyaWJ1dGUKIAogSGVscHMgaW4gYXZvaWRpbmcgZ2NjIHdhcm5pbmcgd2hlbiBoZWFkZXIgaXMgaXMgaW5jbHVkZWQgaW4KIGEgc291cmNlIGZpbGUgd2hpY2ggZG9lcyBub3QgdXNlIGJvdGggZnVuY3Rpb25zCkBAIC0xNyw3ICsxNyw3IEBACiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9pY29udi9nY29udl9jaGFyc2V0LmggYi9pY29udi9nY29udl9jaGFyc2V0LmgKLWluZGV4IDEyM2UyYTYyY2UuLjYzY2M4M2VjODQgMTAwNjQ0CitpbmRleCA5MWUwYWQzMTQxLi4yZTk1NDlmZTQ5IDEwMDY0NAogLS0tIGEvaWNvbnYvZ2NvbnZfY2hhcnNldC5oCiArKysgYi9pY29udi9nY29udl9jaGFyc2V0LmgKIEBAIC0yMSw3ICsyMSw3IEBACkBAIC0yOSwzICsyOSw2IEBACiAgc3RyaXAgKGNoYXIgKndwLCBjb25zdCBjaGFyICpzKQogIHsKICAgIGludCBzbGFzaF9jb3VudCA9IDA7CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTUteWVzLXdpdGhpbi10aGUtcGF0aC1zZXRzLXdyb25nLWNvbmZpZy12YXJpYWJsZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTUteWVzLXdpdGhpbi10aGUtcGF0aC1zZXRzLXdyb25nLWNvbmZpZy12YXJpYWJsZXMucGF0Y2gKaW5kZXggMDI2N2U3YS4uZjJlMTgwMiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDE1LXllcy13aXRoaW4tdGhlLXBhdGgtc2V0cy13cm9uZy1jb25maWctdmFyaWFibGVzLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxNS15ZXMtd2l0aGluLXRoZS1wYXRoLXNldHMtd3JvbmctY29uZmlnLXZhcmlhYmxlcy5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gYjM4MjEzOGM0MWNjZjYwNzliNDQ1OTJmMWU3NGYxODNjYTgyODFiYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZThhODhmYjNiYjZmZmNjNDM4NzFhN2NhZjdhZDljNTliZDE4M2U1MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBXZWQsIDE4IE1hciAyMDE1IDAwOjMxOjA2ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdICd5ZXMnIHdpdGhpbiB0aGUgcGF0aCBzZXRzIHdyb25nIGNvbmZpZyB2YXJpYWJsZXMKK1N1YmplY3Q6IFtQQVRDSCAxNS8zMF0gJ3llcycgd2l0aGluIHRoZSBwYXRoIHNldHMgd3JvbmcgY29uZmlnIHZhcmlhYmxlcwogCiBJdCBzZWVtcyB0aGF0IHRoZSAnQUNfRUdSRVBfQ1BQKHllcy4uLicgZXhhbXBsZSBpcyBxdWl0ZSBwb3B1bGFyCiBidXQgYmVpbmcgc3VjaCBhIHNob3J0IHdvcmQgdG8gZ3JlcCBpdCBpcyBsaWtlbHkgdG8gcHJvZHVjZQpAQCAtMjU4LDMgKzI1OCw2IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAjZW5kaWYKICAgICAgXSwgbGliY19jdl9wcGM2NF9kZWZfY2FsbF9lbGY9eWVzLCBsaWJjX2N2X3BwYzY0X2RlZl9jYWxsX2VsZj1ubyldKQogICAgaWYgdGVzdCAkbGliY19jdl9wcGM2NF9kZWZfY2FsbF9lbGYgPSBubzsgdGhlbgorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDE2LXRpbWV6b25lLXJlLXdyaXR0ZW4tdHpzZWxlY3QtYXMtcG9zaXgtc2gucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTYtdGltZXpvbmUtcmUtd3JpdHRlbi10enNlbGVjdC1hcy1wb3NpeC1zaC5wYXRjaAppbmRleCAxNTQ1M2VjLi44YTlmYTQ5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTYtdGltZXpvbmUtcmUtd3JpdHRlbi10enNlbGVjdC1hcy1wb3NpeC1zaC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTYtdGltZXpvbmUtcmUtd3JpdHRlbi10enNlbGVjdC1hcy1wb3NpeC1zaC5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gMDRmYjdiOTNkYzQwYzFmOTZlYmMwNWQyOWEyZjAyZjllNGYwZDU3MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMTBmNDcwNDc2ZGM5NDdkN2I5NTBkNmE2NmY3YzA2ZjUwMGM5NmM2MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBXZWQsIDE4IE1hciAyMDE1IDAwOjMzOjAzICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIHRpbWV6b25lOiByZS13cml0dGVuIHR6c2VsZWN0IGFzIHBvc2l4IHNoCitTdWJqZWN0OiBbUEFUQ0ggMTYvMzBdIHRpbWV6b25lOiByZS13cml0dGVuIHR6c2VsZWN0IGFzIHBvc2l4IHNoCiAKIFRvIGF2b2lkIHRoZSBiYXNoIGRlcGVuZGVuY3kuCiAKQEAgLTE1LDcgKzE1LDcgQEAKICAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL3RpbWV6b25lL01ha2VmaWxlIGIvdGltZXpvbmUvTWFrZWZpbGUKLWluZGV4IDAxOTRhYmE0YTEuLjU4ZTU0MDVhMDUgMTAwNjQ0CitpbmRleCA0OTNkZWNhNzkwLi4zNmU1NTllMTZjIDEwMDY0NAogLS0tIGEvdGltZXpvbmUvTWFrZWZpbGUKICsrKyBiL3RpbWV6b25lL01ha2VmaWxlCiBAQCAtMTIyLDcgKzEyMiw3IEBAICQodGVzdGRhdGEpL1hUJTogdGVzdGRhdGEvWFQlCkBAIC0yOCwxMCArMjgsMTAgQEAKICAJICAgIC1lICcvVFpWRVJTSU9OPS9zfHNlZV9NYWtlZmlsZXwiJCh2ZXJzaW9uKSJ8JyBcCiAgCSAgICAtZSAnL1BLR1ZFUlNJT049L3N8PS4qfD0iJChQS0dWRVJTSU9OKSJ8JyBcCiBkaWZmIC0tZ2l0IGEvdGltZXpvbmUvdHpzZWxlY3Qua3NoIGIvdGltZXpvbmUvdHpzZWxlY3Qua3NoCi1pbmRleCBkMmMzYTZkMWRkLi4wODk2NzlmMzA2IDEwMDc1NQoraW5kZXggMThmY2UyN2UyNC4uNzA3NDVmOWQzNiAxMDA3NTUKIC0tLSBhL3RpbWV6b25lL3R6c2VsZWN0LmtzaAogKysrIGIvdGltZXpvbmUvdHpzZWxlY3Qua3NoCi1AQCAtMzUsNyArMzUsNyBAQCBSRVBPUlRfQlVHU19UTz10ekBpYW5hLm9yZworQEAgLTM0LDcgKzM0LDcgQEAgUkVQT1JUX0JVR1NfVE89dHpAaWFuYS5vcmcKICAKICAjIFNwZWNpZnkgZGVmYXVsdCB2YWx1ZXMgZm9yIGVudmlyb25tZW50IHZhcmlhYmxlcyBpZiB0aGV5IGFyZSB1bnNldC4KICA6ICR7QVdLPWF3a30KQEAgLTQwLDMgKzQwLDYgQEAKICAKICAjIE91dHB1dCBvbmUgYXJndW1lbnQgYXMtaXMgdG8gc3RhbmRhcmQgb3V0cHV0LgogICMgU2FmZXIgdGhhbiAnZWNobycsIHdoaWNoIGNhbiBtaXNoYW5kbGUgJ1wnIG9yIGxlYWRpbmcgJy0nLgorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDE3LVJlbW92ZS1iYXNoLWRlcGVuZGVuY3ktZm9yLW5zY2QtaW5pdC1zY3JpcHQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTctUmVtb3ZlLWJhc2gtZGVwZW5kZW5jeS1mb3ItbnNjZC1pbml0LXNjcmlwdC5wYXRjaAppbmRleCAwNmQyY2QxLi5hMjc3NTlhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTctUmVtb3ZlLWJhc2gtZGVwZW5kZW5jeS1mb3ItbnNjZC1pbml0LXNjcmlwdC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTctUmVtb3ZlLWJhc2gtZGVwZW5kZW5jeS1mb3ItbnNjZC1pbml0LXNjcmlwdC5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gN2EyZjI0NGMwOTgwYTU0ZWQ3NGY5NTQ0YWI0NGE3MjY5ZWYxMmJjZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gODA5MzkyZDIwZmE5YTlmODE1OTI0MjQ1MWY5OTY5ZTY1YTY1ODgzNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBUaHUsIDMxIERlYyAyMDE1IDE0OjMzOjAyIC0wODAwCi1TdWJqZWN0OiBbUEFUQ0hdIFJlbW92ZSBiYXNoIGRlcGVuZGVuY3kgZm9yIG5zY2QgaW5pdCBzY3JpcHQKK1N1YmplY3Q6IFtQQVRDSCAxNy8zMF0gUmVtb3ZlIGJhc2ggZGVwZW5kZW5jeSBmb3IgbnNjZCBpbml0IHNjcmlwdAogCiBUaGUgbnNjZCBpbml0IHNjcmlwdCB1c2VzICMhIC9iaW4vYmFzaCBidXQgb25seSByZWFsbHkgdXNlcyBvbmUgYmFzaGlzbQogKHRyYW5zbGF0ZWQgc3RyaW5ncyksIHNvIHJlbW92ZSB0aGVtIGFuZCBzd2l0Y2ggdGhlIHNoZWxsIHRvICMhL2Jpbi9zaC4KQEAgLTcwLDMgKzcwLDYgQEAKICAJUkVUVkFMPTEKICAJOzsKICBlc2FjCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTgtZWdsaWJjLUNyb3NzLWJ1aWxkaW5nLWFuZC10ZXN0aW5nLWluc3RydWN0aW9ucy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxOC1lZ2xpYmMtQ3Jvc3MtYnVpbGRpbmctYW5kLXRlc3RpbmctaW5zdHJ1Y3Rpb25zLnBhdGNoCmluZGV4IDI5MTA5YTIuLmY4MGEzZWUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxOC1lZ2xpYmMtQ3Jvc3MtYnVpbGRpbmctYW5kLXRlc3RpbmctaW5zdHJ1Y3Rpb25zLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxOC1lZ2xpYmMtQ3Jvc3MtYnVpbGRpbmctYW5kLXRlc3RpbmctaW5zdHJ1Y3Rpb25zLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSA0NGE1Yzc5ZWZlYTA5ZjViOTkwZTUyNGVjNDJhYmRlZWY0NDQwNTZhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAwMTZkNjk4NzYwMGQ0OWQzZjQ1ODc0MDk2ZTk0M2I5N2QxNjY3NTM5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFdlZCwgMTggTWFyIDIwMTUgMDA6NDI6NTggKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gZWdsaWJjOiBDcm9zcyBidWlsZGluZyBhbmQgdGVzdGluZyBpbnN0cnVjdGlvbnMKK1N1YmplY3Q6IFtQQVRDSCAxOC8zMF0gZWdsaWJjOiBDcm9zcyBidWlsZGluZyBhbmQgdGVzdGluZyBpbnN0cnVjdGlvbnMKIAogUG9ydGVkIGZyb20gZWdsaWJjCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKQEAgLTYxNCwzICs2MTQsNiBAQAogKy0gU29tZSB0ZXN0cyByZXF1aXJlIGFjY2VzcyB0byBsaWJzdGRjKysuc28uNiBhbmQgbGliZ2NjX3Muc28uMTsgd2UKICsgIHNpbXBseSBwbGFjZSBjb3BpZXMgb2YgdGhlc2UgbGlicmFyaWVzIGluIHRoZSB0b3AgR0xJQkMgYnVpbGQKICsgIGRpcmVjdG9yeS4KKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxOS1lZ2xpYmMtSGVscC1ib290c3RyYXAtY3Jvc3MtdG9vbGNoYWluLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDE5LWVnbGliYy1IZWxwLWJvb3RzdHJhcC1jcm9zcy10b29sY2hhaW4ucGF0Y2gKaW5kZXggNzFjMmFiOS4uNjAzYmYyMSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDE5LWVnbGliYy1IZWxwLWJvb3RzdHJhcC1jcm9zcy10b29sY2hhaW4ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDE5LWVnbGliYy1IZWxwLWJvb3RzdHJhcC1jcm9zcy10b29sY2hhaW4ucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIGY0ZWM1NTI3ZDU2MmQzODUyM2FiYjg1ODdhNmM3NTMyZTlkMjFmOGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDdlNDQyMzUyOGQzNjJjZjYyNjhiMTkwMmE4ZTMwZDcxMDQzMWYzMzMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogV2VkLCAxOCBNYXIgMjAxNSAwMDo0OToyOCArMDAwMAotU3ViamVjdDogW1BBVENIXSBlZ2xpYmM6IEhlbHAgYm9vdHN0cmFwIGNyb3NzIHRvb2xjaGFpbgorU3ViamVjdDogW1BBVENIIDE5LzMwXSBlZ2xpYmM6IEhlbHAgYm9vdHN0cmFwIGNyb3NzIHRvb2xjaGFpbgogCiBUYWtlbiBmcm9tIEVHTElCQywgcjE0ODQgKyByMTUyNQogCkBAIC0yOSw3ICsyOSw3IEBACiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvc3R1YnMtYm9vdHN0cmFwLmgKIAogZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKLWluZGV4IGQzZjI1YTUyNWEuLmFiMzgzODY3ZTIgMTAwNjQ0CitpbmRleCA0YTAxNGQ2ZWZmLi4zYTFmNDE5YmMzIDEwMDY0NAogLS0tIGEvTWFrZWZpbGUKICsrKyBiL01ha2VmaWxlCiBAQCAtNzAsOSArNzAsMTggQEAgc3ViZGlyLWRpcnMgPSBpbmNsdWRlCkBAIC05NSwzICs5NSw2IEBACiArICAgZGlmZmljdWx0IGhlYWRlcnMuICBUaGUgPGdudS9zdHVicy5oPiBoZWFkZXIgZGVwZW5kcywgdmlhIHRoZQogKyAgIEVHTElCQyBzdWJkaXIgJ3N0dWJzJyBtYWtlIHRhcmdldHMsIG9uIGV2ZXJ5IC5vIGZpbGUgaW4gRUdMSUJDLCBidXQKICsgICBhbiBlbXB0eSBzdHVicy5oIGxpa2UgdGhpcyB3aWxsIGRvIGZpbmUgZm9yIEdDQy4gICovCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjAtZWdsaWJjLUNsZWFyLWNhY2hlLWxpbmVzLW9uLXBwYzh4eC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyMC1lZ2xpYmMtQ2xlYXItY2FjaGUtbGluZXMtb24tcHBjOHh4LnBhdGNoCmluZGV4IDZlNDc1YTcuLjk4NWIxN2IgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyMC1lZ2xpYmMtQ2xlYXItY2FjaGUtbGluZXMtb24tcHBjOHh4LnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyMC1lZ2xpYmMtQ2xlYXItY2FjaGUtbGluZXMtb24tcHBjOHh4LnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSA2YzIzNjYwZDAzNWU3MWRlMGUyMGI0MDQ2MGFkMzA1MGJkMDU3NjY1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA4YzRkN2Q3MGE4NGE2OWZlNWU4ZDY5NTM5MzY4YWExMWY4ZmUyMGFhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFRodSwgMzEgRGVjIDIwMTUgMTU6MTU6MDkgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gZWdsaWJjOiBDbGVhciBjYWNoZSBsaW5lcyBvbiBwcGM4eHgKK1N1YmplY3Q6IFtQQVRDSCAyMC8zMF0gZWdsaWJjOiBDbGVhciBjYWNoZSBsaW5lcyBvbiBwcGM4eHgKIAogMjAwNy0wNi0xMyAgTmF0aGFuIFNpZHdlbGwgIDxuYXRoYW5AY29kZXNvdXJjZXJ5LmNvbT4KICAgICAgICAgICAgIE1hcmsgU2hpbndlbGwgIDxzaGlud2VsbEBjb2Rlc291cmNlcnkuY29tPgpAQCAtMjEsNyArMjEsNyBAQAogIDIgZmlsZXMgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvZGwtc3lzZGVwLmMgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2RsLXN5c2RlcC5jCi1pbmRleCA3ODA1MWJjN2JjLi5lMjRmNDQyMzIwIDEwMDY0NAoraW5kZXggYjA0ZWNjNGE0Yy4uNzViZGE5NzI0MSAxMDA2NDQKIC0tLSBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvZGwtc3lzZGVwLmMKICsrKyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvZGwtc3lzZGVwLmMKIEBAIC0yNCw5ICsyNCwyMSBAQCBpbnQgX19jYWNoZV9saW5lX3NpemUgYXR0cmlidXRlX2hpZGRlbjsKQEAgLTQ4LDcgKzQ4LDcgQEAKICAJYnJlYWs7CiAgCiBkaWZmIC0tZ2l0IGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9saWJjLXN0YXJ0LmMgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2xpYmMtc3RhcnQuYwotaW5kZXggZjJhZDBjMzU1ZC4uM2U2NzczNzk1ZSAxMDA2NDQKK2luZGV4IDRmZDVmNzA3MDAuLjFhMjFlNDY3NWMgMTAwNjQ0CiAtLS0gYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2xpYmMtc3RhcnQuYwogKysrIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9saWJjLXN0YXJ0LmMKIEBAIC03MywxMSArNzMsMjUgQEAgX19saWJjX3N0YXJ0X21haW4gKGludCBhcmdjLCBjaGFyICoqYXJndiwKQEAgLTc4LDMgKzc4LDYgQEAKICAJX19jYWNoZV9saW5lX3NpemUgPSBhdi0+YV91bi5hX3ZhbDsKICAJYnJlYWs7CiAgI2lmbmRlZiBTSEFSRUQKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyMS1lZ2xpYmMtUmVzb2x2ZS1fX2Zwc2NyX3ZhbHVlcy1vbi1TSDQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjEtZWdsaWJjLVJlc29sdmUtX19mcHNjcl92YWx1ZXMtb24tU0g0LnBhdGNoCmluZGV4IDhhZWNmMjYuLmZiMWI0M2IgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyMS1lZ2xpYmMtUmVzb2x2ZS1fX2Zwc2NyX3ZhbHVlcy1vbi1TSDQucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDIxLWVnbGliYy1SZXNvbHZlLV9fZnBzY3JfdmFsdWVzLW9uLVNINC5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gNTU1MzFlZjU3ZDA0MDA2YzVhMWUzYjMyYThlMDQxMDM3MmY4NjAwNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMTlmMDQxMjE1NjczZDQ0OTllZTliMjM4MDVkNWMyMjRjNDA2MzY4OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBXZWQsIDE4IE1hciAyMDE1IDAwOjU1OjUzICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGVnbGliYzogUmVzb2x2ZSBfX2Zwc2NyX3ZhbHVlcyBvbiBTSDQKK1N1YmplY3Q6IFtQQVRDSCAyMS8zMF0gZWdsaWJjOiBSZXNvbHZlIF9fZnBzY3JfdmFsdWVzIG9uIFNINAogCiAyMDEwLTA5LTI5ICBOb2J1aGlybyBJd2FtYXRzdSAgPGl3YW1hdHN1QG5pZ2F1cmkub3JnPgogICAgICAgICAgICAgQW5kcmV3IFN0dWJicyAgPGFtc0Bjb2Rlc291cmNlcnkuY29tPgpAQCAtMzMsNyArMzMsNyBAQAogICAgICAjIGEqCiAgICAgIGFscGhhc29ydDY0OwogZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3N5c2RlcC5TIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvc3lzZGVwLlMKLWluZGV4IGM0ZTI4ZmZiOTguLjY0OGJhZTAzZDUgMTAwNjQ0CitpbmRleCA2Y2UzNmQ2ZGQ1Li40MjU4MTFjYzc3IDEwMDY0NAogLS0tIGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvc3lzZGVwLlMKICsrKyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3N5c2RlcC5TCiBAQCAtMzAsMyArMzAsMTQgQEAgRU5UUlkgKF9fc3lzY2FsbF9lcnJvcikKQEAgLTUxLDMgKzUxLDYgQEAKICsgICAgICAgLmxvbmcgMHg4MDAwMAogK3dlYWtfYWxpYXMgKF9fX2Zwc2NyX3ZhbHVlcywgX19mcHNjcl92YWx1ZXMpCiArCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjItZWdsaWJjLUZvcndhcmQtcG9ydC1jcm9zcy1sb2NhbGUtZ2VuZXJhdGlvbi1zdXBwb3J0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDIyLWVnbGliYy1Gb3J3YXJkLXBvcnQtY3Jvc3MtbG9jYWxlLWdlbmVyYXRpb24tc3VwcG9ydC5wYXRjaAppbmRleCBhYTYyYzYzLi5hMmQzNWQ0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjItZWdsaWJjLUZvcndhcmQtcG9ydC1jcm9zcy1sb2NhbGUtZ2VuZXJhdGlvbi1zdXBwb3J0LnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyMi1lZ2xpYmMtRm9yd2FyZC1wb3J0LWNyb3NzLWxvY2FsZS1nZW5lcmF0aW9uLXN1cHBvcnQucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDRiYjIzZmJiMDc5ODRiOTNmZDE0ZjM1M2ZkOTMyNWQ5MjdiMGNkOTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDFhZTE1ZjYwYTg0ZjE2MTg3ZTA2YTA1OTA2ZjQ0YTY2NThiYWU0ODcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogV2VkLCAxOCBNYXIgMjAxNSAwMTozMzo0OSArMDAwMAotU3ViamVjdDogW1BBVENIXSBlZ2xpYmM6IEZvcndhcmQgcG9ydCBjcm9zcyBsb2NhbGUgZ2VuZXJhdGlvbiBzdXBwb3J0CitTdWJqZWN0OiBbUEFUQ0ggMjIvMzBdIGVnbGliYzogRm9yd2FyZCBwb3J0IGNyb3NzIGxvY2FsZSBnZW5lcmF0aW9uIHN1cHBvcnQKIAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCiAKQEAgLTIzLDcgKzIzLDcgQEAKICBjcmVhdGUgbW9kZSAxMDA2NDQgbG9jYWxlL2NhdG5hbWVzLmMKIAogZGlmZiAtLWdpdCBhL2xvY2FsZS9NYWtlZmlsZSBiL2xvY2FsZS9NYWtlZmlsZQotaW5kZXggZmQ5OTcyMjc5Yi4uMTc2YjM5NDZkZSAxMDA2NDQKK2luZGV4IDc2NGU3NTFjMzYuLjg2Njk1N2ZlZmEgMTAwNjQ0CiAtLS0gYS9sb2NhbGUvTWFrZWZpbGUKICsrKyBiL2xvY2FsZS9NYWtlZmlsZQogQEAgLTI2LDcgKzI2LDggQEAgaGVhZGVycwkJPSBsYW5naW5mby5oIGxvY2FsZS5oIGJpdHMvbG9jYWxlLmggXApAQCAtOTEsNyArOTEsNyBAQAogKyAgICBbTENfQUxMXSA9IHNpemVvZiAoIkxDX0FMTCIpIC0gMQogKyAgfTsKIGRpZmYgLS1naXQgYS9sb2NhbGUvbG9jYWxlaW5mby5oIGIvbG9jYWxlL2xvY2FsZWluZm8uaAotaW5kZXggNTM3YmMzNTE0OS4uNzNiYTIwZDY5NSAxMDA2NDQKK2luZGV4IDUzY2I4YmZjNTkuLjkyYzQ2NjIwMGMgMTAwNjQ0CiAtLS0gYS9sb2NhbGUvbG9jYWxlaW5mby5oCiArKysgYi9sb2NhbGUvbG9jYWxlaW5mby5oCiBAQCAtMjI0LDcgKzIyNCw3IEBAIF9fbGliY190c2RfZGVmaW5lIChleHRlcm4sIGxvY2FsZV90LCBMT0NBTEUpCkBAIC0xMDQsNyArMTA0LDcgQEAKICAjIGRlZmluZSBOTF9DVVJSRU5UX0lORElSRUNUCTEKICAjZW5kaWYKIGRpZmYgLS1naXQgYS9sb2NhbGUvcHJvZ3JhbXMvY2hhcm1hcC1kaXIuYyBiL2xvY2FsZS9wcm9ncmFtcy9jaGFybWFwLWRpci5jCi1pbmRleCAzNGE4ZDMyYzkyLi5jYmI5NDM2Y2QxIDEwMDY0NAoraW5kZXggOTRjMTIyZGY2OC4uODBlNTNlMTJjOCAxMDA2NDQKIC0tLSBhL2xvY2FsZS9wcm9ncmFtcy9jaGFybWFwLWRpci5jCiArKysgYi9sb2NhbGUvcHJvZ3JhbXMvY2hhcm1hcC1kaXIuYwogQEAgLTE4LDcgKzE4LDkgQEAKQEAgLTE1MCw3ICsxNTAsNyBAQAogICAgcmV0dXJuIE5VTEw7CiAgfQogZGlmZiAtLWdpdCBhL2xvY2FsZS9wcm9ncmFtcy9sZC1jb2xsYXRlLmMgYi9sb2NhbGUvcHJvZ3JhbXMvbGQtY29sbGF0ZS5jCi1pbmRleCBkMmVlYmNmZGJiLi5jMzcxOGQ2NTg5IDEwMDY0NAoraW5kZXggYmI0ZTJjNTM5ZC4uOWQwOGQ0MjJjNCAxMDA2NDQKIC0tLSBhL2xvY2FsZS9wcm9ncmFtcy9sZC1jb2xsYXRlLmMKICsrKyBiL2xvY2FsZS9wcm9ncmFtcy9sZC1jb2xsYXRlLmMKIEBAIC0zNDksNyArMzQ5LDcgQEAgbmV3X2VsZW1lbnQgKHN0cnVjdCBsb2NhbGVfY29sbGF0ZV90ICpjb2xsYXRlLCBjb25zdCBjaGFyICptYnMsIHNpemVfdCBtYnNsZW4sCkBAIC0xOTksNyArMTk5LDcgQEAKICAJCQkgPT0gcnVucC0+d2NuZXh0LT53Y3NbcnVucC0+bndjcyAtIDFdICsgMSkpOwogIAogZGlmZiAtLWdpdCBhL2xvY2FsZS9wcm9ncmFtcy9sZC1jdHlwZS5jIGIvbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmMKLWluZGV4IGY3OTFlNmI3ZTkuLmQ4MDlkNmRiN2YgMTAwNjQ0CitpbmRleCAzNmZkMDhiYTgwLi4wODE1NWEyN2Q2IDEwMDY0NAogLS0tIGEvbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmMKICsrKyBiL2xvY2FsZS9wcm9ncmFtcy9sZC1jdHlwZS5jCiBAQCAtOTE1LDcgKzkxNSw3IEBAIGN0eXBlX291dHB1dCAoc3RydWN0IGxvY2FsZWRlZl90ICpsb2NhbGUsIGNvbnN0IHN0cnVjdCBjaGFybWFwX3QgKmNoYXJtYXAsCkBAIC0yODEsNyArMjgxLDcgQEAKICAJICAgICAgc3J1bnAgPSBzcnVucC0+bmV4dDsKICAJICAgIH0KIGRpZmYgLS1naXQgYS9sb2NhbGUvcHJvZ3JhbXMvbGQtdGltZS5jIGIvbG9jYWxlL3Byb2dyYW1zL2xkLXRpbWUuYwotaW5kZXggYTc1NTc5MjM2My4uZThiMmY4NTUyMiAxMDA2NDQKK2luZGV4IDhlOTg0OWZkYmEuLjAyOGQzZWZhOWYgMTAwNjQ0CiAtLS0gYS9sb2NhbGUvcHJvZ3JhbXMvbGQtdGltZS5jCiArKysgYi9sb2NhbGUvcHJvZ3JhbXMvbGQtdGltZS5jCiBAQCAtMjIwLDggKzIyMCwxMCBAQCBObyBkZWZpbml0aW9uIGZvciAlcyBjYXRlZ29yeSBmb3VuZCIpLCAiTENfVElNRSIpOwpAQCAtMzUwLDcgKzM1MCw3IEBACiAgCiAgCiBkaWZmIC0tZ2l0IGEvbG9jYWxlL3Byb2dyYW1zL2xpbmVyZWFkZXIuYyBiL2xvY2FsZS9wcm9ncmFtcy9saW5lcmVhZGVyLmMKLWluZGV4IDM1MjVjOGE0M2QuLmY4YTdmZDljMjQgMTAwNjQ0CitpbmRleCBlZDNhOTczMWQwLi4zMTc4ZWEwNTdhIDEwMDY0NAogLS0tIGEvbG9jYWxlL3Byb2dyYW1zL2xpbmVyZWFkZXIuYwogKysrIGIvbG9jYWxlL3Byb2dyYW1zL2xpbmVyZWFkZXIuYwogQEAgLTU5NSw3ICs1OTUsNyBAQCBnZXRfc3RyaW5nIChzdHJ1Y3QgbGluZXJlYWRlciAqbHIsIGNvbnN0IHN0cnVjdCBjaGFybWFwX3QgKmNoYXJtYXAsCkBAIC0zNjMsMTggKzM2MywxOCBAQAogICAgc2l6ZV90IGJ1Zm1heCA9IDU2OwogIAogZGlmZiAtLWdpdCBhL2xvY2FsZS9wcm9ncmFtcy9sb2NhbGVkZWYuYyBiL2xvY2FsZS9wcm9ncmFtcy9sb2NhbGVkZWYuYwotaW5kZXggZDcxOGQyZTlmNC4uZTBhM2FkNWE4MyAxMDA2NDQKK2luZGV4IGI3YmNlZjgyNDguLmVmZWNlZDFlMGYgMTAwNjQ0CiAtLS0gYS9sb2NhbGUvcHJvZ3JhbXMvbG9jYWxlZGVmLmMKICsrKyBiL2xvY2FsZS9wcm9ncmFtcy9sb2NhbGVkZWYuYwotQEAgLTEwNSw2ICsxMDUsNyBAQCB2b2lkICgqYXJncF9wcm9ncmFtX3ZlcnNpb25faG9vaykgKEZJTEUgKiwgc3RydWN0IGFyZ3Bfc3RhdGUgKikgPSBwcmludF92ZXJzaW9uOwotICNkZWZpbmUgT1BUX0JJR19FTkRJQU4gNDAxCitAQCAtMTA5LDYgKzEwOSw3IEBAIHZvaWQgKCphcmdwX3Byb2dyYW1fdmVyc2lvbl9ob29rKSAoRklMRSAqLCBzdHJ1Y3QgYXJncF9zdGF0ZSAqKSA9IHByaW50X3ZlcnNpb247CiAgI2RlZmluZSBPUFRfTk9fV0FSTiA0MDIKICAjZGVmaW5lIE9QVF9XQVJOIDQwMwotKyNkZWZpbmUgT1BUX1VJTlQzMl9BTElHTiA0MDQKKyAjZGVmaW5lIE9QVF9OT19IQVJEX0xJTktTIDQwNAorKyNkZWZpbmUgT1BUX1VJTlQzMl9BTElHTiA0MDUKICAKICAvKiBEZWZpbml0aW9ucyBvZiBhcmd1bWVudHMgZm9yIGFyZ3AgZnVuY3Rpb25zLiAgKi8KICBzdGF0aWMgY29uc3Qgc3RydWN0IGFyZ3Bfb3B0aW9uIG9wdGlvbnNbXSA9Ci1AQCAtMTQ3LDYgKzE0OCw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYXJncF9vcHRpb24gb3B0aW9uc1tdID0KK0BAIC0xNTMsNiArMTU0LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBhcmdwX29wdGlvbiBvcHRpb25zW10gPQogICAgICBOXygiR2VuZXJhdGUgbGl0dGxlLWVuZGlhbiBvdXRwdXQiKSB9LAogICAgeyAiYmlnLWVuZGlhbiIsIE9QVF9CSUdfRU5ESUFOLCBOVUxMLCAwLAogICAgICBOXygiR2VuZXJhdGUgYmlnLWVuZGlhbiBvdXRwdXQiKSB9LApAQCAtMzgzLDcgKzM4Myw3IEBACiAgICB7IE5VTEwsIDAsIE5VTEwsIDAsIE5VTEwgfQogIH07CiAgCi1AQCAtMjM2LDEyICsyMzksMTQgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK0BAIC0yNDIsMTIgKzI0NSwxNCBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgICAgY3R5cGUgbG9jYWxlLiAgKFAxMDAzLjIgNC4zNS41LjIpICAqLwogICAgc2V0bG9jYWxlIChMQ19DVFlQRSwgIlBPU0lYIik7CiAgCkBAIC0zOTgsOSArMzk4LDkgQEAKICAKICAgIC8qIFByb2Nlc3MgY2hhcm1hcCBmaWxlLiAgKi8KICAgIGNoYXJtYXAgPSBjaGFybWFwX3JlYWQgKGNoYXJtYXBfZmlsZSwgdmVyYm9zZSwgMSwgYmVfcXVpZXQsIDEpOwotQEAgLTM4OSw2ICszOTQsOSBAQCBwYXJzZV9vcHQgKGludCBrZXksIGNoYXIgKmFyZywgc3RydWN0IGFyZ3Bfc3RhdGUgKnN0YXRlKQotICAgICAgIC8qIEVuYWJsZSB0aGUgd2FybmluZ3MuICAqLwotICAgICAgIHNldF93YXJuaW5ncyAoYXJnLCB0cnVlKTsKK0BAIC0zOTksNiArNDA0LDkgQEAgcGFyc2Vfb3B0IChpbnQga2V5LCBjaGFyICphcmcsIHN0cnVjdCBhcmdwX3N0YXRlICpzdGF0ZSkKKyAgICAgICAvKiBEbyBub3QgaGFyZCBsaW5rIHRvIG90aGVyIGxvY2FsZXMuICAqLworICAgICAgIGhhcmRfbGlua3MgPSBmYWxzZTsKICAgICAgICBicmVhazsKICsgICAgY2FzZSBPUFRfVUlOVDMyX0FMSUdOOgogKyAgICAgIHVpbnQzMl9hbGlnbl9tYXNrID0gc3RydG9sIChhcmcsIE5VTEwsIDApIC0gMTsKQEAgLTQwOSw3ICs0MDksNyBAQAogICAgICAgIGZvcmNlX291dHB1dCA9IDE7CiAgICAgICAgYnJlYWs7CiBkaWZmIC0tZ2l0IGEvbG9jYWxlL3Byb2dyYW1zL2xvY2ZpbGUuYyBiL2xvY2FsZS9wcm9ncmFtcy9sb2NmaWxlLmMKLWluZGV4IDMyZTVmNzYxZjIuLmI0MWU3N2JkOGQgMTAwNjQ0CitpbmRleCBlNGJhNDhlOTY4Li5lN2IwZWZlODg3IDEwMDY0NAogLS0tIGEvbG9jYWxlL3Byb2dyYW1zL2xvY2ZpbGUuYwogKysrIGIvbG9jYWxlL3Byb2dyYW1zL2xvY2ZpbGUuYwogQEAgLTU0NCw2ICs1NDQsOSBAQCBjb21wYXJlX2ZpbGVzIChjb25zdCBjaGFyICpmaWxlbmFtZTEsIGNvbnN0IGNoYXIgKmZpbGVuYW1lMiwgc2l6ZV90IHNpemUsCkBAIC00MzIsNyArNDMyLDcgQEAKICAKICAvKiBSZWNvcmQgdGhhdCBGSUxFJ3MgbmV4dCBlbGVtZW50IGlzIHRoZSAzMi1iaXQgaW50ZWdlciBWQUxVRS4gICovCiBkaWZmIC0tZ2l0IGEvbG9jYWxlL3Byb2dyYW1zL2xvY2ZpbGUuaCBiL2xvY2FsZS9wcm9ncmFtcy9sb2NmaWxlLmgKLWluZGV4IDg5YjM0N2M3MmQuLmE2MzZmYzI5NjAgMTAwNjQ0CitpbmRleCBjMDYzZmMwOTdkLi40ZTc0NjVlNTVhIDEwMDY0NAogLS0tIGEvbG9jYWxlL3Byb2dyYW1zL2xvY2ZpbGUuaAogKysrIGIvbG9jYWxlL3Byb2dyYW1zL2xvY2ZpbGUuaAogQEAgLTcxLDYgKzcxLDggQEAgZXh0ZXJuIHZvaWQgd3JpdGVfYWxsX2NhdGVnb3JpZXMgKHN0cnVjdCBsb2NhbGVkZWZfdCAqZGVmaW5pdGlvbnMsCkBAIC01MjEsNyArNTIxLDcgQEAKICsKICAjZW5kaWYgLyogbG9jZmlsZS5oICovCiBkaWZmIC0tZ2l0IGEvbG9jYWxlL3NldGxvY2FsZS5jIGIvbG9jYWxlL3NldGxvY2FsZS5jCi1pbmRleCBlNGRlOTA3ZTFmLi5iNWQ4ZjVjMTdkIDEwMDY0NAoraW5kZXggOTQyN2E1YWQyOC4uOGY0MTQwZDY4NCAxMDA2NDQKIC0tLSBhL2xvY2FsZS9zZXRsb2NhbGUuYwogKysrIGIvbG9jYWxlL3NldGxvY2FsZS5jCiBAQCAtNjQsMzYgKzY0LDYgQEAgc3RhdGljIGNoYXIgKmNvbnN0IF9ubF9jdXJyZW50X3VzZWRbXSA9CkBAIC01NjEsMyArNTYxLDYgQEAKICAjaWZkZWYgTkxfQ1VSUkVOVF9JTkRJUkVDVAogICMgZGVmaW5lIFdFQUtfUE9TVExPQUQocG9zdGxvYWQpIHdlYWtfZXh0ZXJuIChwb3N0bG9hZCkKICAjZWxzZQorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDIzLURlZmluZS1EVU1NWV9MT0NBTEVfVC1pZi1ub3QtZGVmaW5lZC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyMy1EZWZpbmUtRFVNTVlfTE9DQUxFX1QtaWYtbm90LWRlZmluZWQucGF0Y2gKaW5kZXggNjhmYWQ5Ni4uMGY3YzVmZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDIzLURlZmluZS1EVU1NWV9MT0NBTEVfVC1pZi1ub3QtZGVmaW5lZC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjMtRGVmaW5lLURVTU1ZX0xPQ0FMRV9ULWlmLW5vdC1kZWZpbmVkLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSAxYjJjZWI2YzI0MTRlM2M5OGM3YmNkMDI5NTgzMjg3Y2VkOWYzMTU5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA4MDljNzliN2Q1NTRhNGVjODM5MjFkZjlkODc3M2M5OWEwM2RjODFjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFdlZCwgMjAgQXByIDIwMTYgMjE6MTE6MDAgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gRGVmaW5lIERVTU1ZX0xPQ0FMRV9UIGlmIG5vdCBkZWZpbmVkCitTdWJqZWN0OiBbUEFUQ0ggMjMvMzBdIERlZmluZSBEVU1NWV9MT0NBTEVfVCBpZiBub3QgZGVmaW5lZAogCiBUaGlzIGlzIGEgaGFjayB0byBmaXggYnVpbGRpbmcgdGhlIGxvY2FsZSBiaXRzIG9uIGFuIG9sZGVyCiBDZW50T3MgNS5YIG1hY2hpbmUKQEAgLTE0LDcgKzE0LDcgQEAKICAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCiAKIGRpZmYgLS1naXQgYS9sb2NhbGUvcHJvZ3JhbXMvY29uZmlnLmggYi9sb2NhbGUvcHJvZ3JhbXMvY29uZmlnLmgKLWluZGV4IDk5NTZjZDg0NDYuLjA0MzQyZjM2NDQgMTAwNjQ0CitpbmRleCBhMWU2ZTBlYzNjLi43Zjc1NTI4ZWFlIDEwMDY0NAogLS0tIGEvbG9jYWxlL3Byb2dyYW1zL2NvbmZpZy5oCiArKysgYi9sb2NhbGUvcHJvZ3JhbXMvY29uZmlnLmgKIEBAIC0xOSw2ICsxOSw5IEBACkBAIC0yNywzICsyNyw2IEBACiAgLyogVXNlIHRoZSBpbnRlcm5hbCB0ZXh0ZG9tYWluIHVzZWQgZm9yIGxpYmMgbWVzc2FnZXMuICAqLwogICNkZWZpbmUgUEFDS0FHRSBfbGliY19pbnRsX2RvbWFpbm5hbWUKICAjaWZuZGVmIFZFUlNJT04KKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyNC1lbGYtZGwtZGVwcy5jLU1ha2UtX2RsX2J1aWxkX2xvY2FsX3Njb3BlLWJyZWFkdGgtZmlyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI0LWVsZi1kbC1kZXBzLmMtTWFrZS1fZGxfYnVpbGRfbG9jYWxfc2NvcGUtYnJlYWR0aC1maXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4Y2ZmMmIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI0LWVsZi1kbC1kZXBzLmMtTWFrZS1fZGxfYnVpbGRfbG9jYWxfc2NvcGUtYnJlYWR0aC1maXIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi1Gcm9tIGE2MTU5Yzk0ODY3NDU2NjRhNWYxMTZlZTljYzQ1ODM3MDIxYjc2MjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXJrIEhhdGxlIDxtYXJrLmhhdGxlQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDE4IEF1ZyAyMDE2IDE0OjA3OjU4IC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0hdIGVsZi9kbC1kZXBzLmM6IE1ha2UgX2RsX2J1aWxkX2xvY2FsX3Njb3BlIGJyZWFkdGggZmlyc3QKLQotQWNjb3JkaW5nIHRvIHRoZSBFTEYgc3BlY2lmaWNhdGlvbjoKLQotV2hlbiByZXNvbHZpbmcgc3ltYm9saWMgcmVmZXJlbmNlcywgdGhlIGR5bmFtaWMgbGlua2VyIGV4YW1pbmVzIHRoZSBzeW1ib2wKLXRhYmxlcyB3aXRoIGEgYnJlYWR0aC1maXJzdCBzZWFyY2guCi0KLVRoaXMgZnVuY3Rpb24gd2FzIHVzaW5nIGEgZGVwdGggZmlyc3Qgc2VhcmNoLiAgQnkgZG9pbmcgc28gdGhlIGNvbmZsaWN0Ci1yZXNvbHV0aW9uIHJlcG9ydGVkIHRvIHRoZSBwcmVsaW5rZXIgKHdoZW4gTERfVFJBQ0VfUFJFTElOS0lORz0xIGlzIHNldCkKLXdhcyBpbmNvcnJlY3QuICBUaGlzIGNhdXNlZCBwcm9ibGVtcyB3aGVuIHRoZWlyIHdlcmUgdmFyaW91cyBjaXJjdWxhcgotZGVwZW5kZW5jaWVzIGJldHdlZW4gbGlicmFyaWVzLiAgVGhlIHByb2JsZW0gdXN1YWxseSBtYW5pZmVzdGVkIGl0c2VsZiBieQotdGhlIHdyb25nIElGVU5DIGJlaW5nIGV4ZWN1dGVkLgotCi1bQlojIDIwNDg4XQotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbbGliYy1hbHBoYV0KLQotU2lnbmVkLW9mZi1ieTogTWFyayBIYXRsZSA8bWFyay5oYXRsZUB3aW5kcml2ZXIuY29tPgotLS0tCi0gZWxmL2RsLWRlcHMuYyB8IDE0ICsrKysrKysrKystLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9lbGYvZGwtZGVwcy5jIGIvZWxmL2RsLWRlcHMuYwotaW5kZXggOWQ5YjFiYTdmMi4uODQxNDAyOGM1OCAxMDA2NDQKLS0tLSBhL2VsZi9kbC1kZXBzLmMKLSsrKyBiL2VsZi9kbC1kZXBzLmMKLUBAIC03MywxMyArNzMsMTkgQEAgX2RsX2J1aWxkX2xvY2FsX3Njb3BlIChzdHJ1Y3QgbGlua19tYXAgKipsaXN0LCBzdHJ1Y3QgbGlua19tYXAgKm1hcCkKLSB7Ci0gICBzdHJ1Y3QgbGlua19tYXAgKipwID0gbGlzdDsKLSAgIHN0cnVjdCBsaW5rX21hcCAqKnE7Ci0rICBzdHJ1Y3QgbGlua19tYXAgKipyOwotIAotICAgKnArKyA9IG1hcDsKLSAgIG1hcC0+bF9yZXNlcnZlZCA9IDE7Ci0tICBpZiAobWFwLT5sX2luaXRmaW5pKQotLSAgICBmb3IgKHEgPSBtYXAtPmxfaW5pdGZpbmkgKyAxOyAqcTsgKytxKQotLSAgICAgIGlmICghICgqcSktPmxfcmVzZXJ2ZWQpCi0tCXAgKz0gX2RsX2J1aWxkX2xvY2FsX3Njb3BlIChwLCAqcSk7Ci0rCi0rICBmb3IgKHIgPSBsaXN0OyByIDwgcDsgKytyKQotKyAgICBpZiAoKCpyKS0+bF9pbml0ZmluaSkKLSsgICAgICBmb3IgKHEgPSAoKnIpLT5sX2luaXRmaW5pICsgMTsgKnE7ICsrcSkKLSsJaWYgKCEgKCpxKS0+bF9yZXNlcnZlZCkKLSsJICB7Ci0rCSAgICAqcCsrID0gKnE7Ci0rCSAgICAoKnEpLT5sX3Jlc2VydmVkID0gMTsKLSsJICB9Ci0gICByZXR1cm4gcCAtIGxpc3Q7Ci0gfQotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI0LWxvY2FsZWRlZi1hZGQtdG8tYXJjaGl2ZS11c2VzLWEtaGFyZC1jb2RlZC1sb2NhbGUtcGEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjQtbG9jYWxlZGVmLWFkZC10by1hcmNoaXZlLXVzZXMtYS1oYXJkLWNvZGVkLWxvY2FsZS1wYS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMjg5ZTU0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI0LWxvY2FsZWRlZi1hZGQtdG8tYXJjaGl2ZS11c2VzLWEtaGFyZC1jb2RlZC1sb2NhbGUtcGEucGF0Y2gKQEAgLTAsMCArMSw4NCBAQAorRnJvbSBiMmQxYzliNDE1OWJmZDY2MWE0OTk2NTg4ZDA2ZDkyMjQ5MWRmZWNiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMyBBdWcgMjAxOCAwOTo0MjowNiAtMDcwMAorU3ViamVjdDogW1BBVENIIDI0LzMwXSBsb2NhbGVkZWYgLS1hZGQtdG8tYXJjaGl2ZSB1c2VzIGEgaGFyZC1jb2RlZCBsb2NhbGUKKyBwYXRoCisKK2l0IGRvZXNuJ3QgZXhpc3QgaW4gbm9ybWFsIHVzZSwgYW5kIHRoZXJlJ3Mgbm8gd2F5IHRvIHBhc3MgYW4KK2FsdGVybmF0aXZlIGZpbGVuYW1lLgorCitBZGQgYSBmYWxsYmFjayBvZiAkTE9DQUxFQVJDSElWRSBmcm9tIHRoZSBlbnZpcm9ubWVudCwgYW5kIGFsbG93CitjcmVhdGlvbiBvZiBuZXcgbG9jYWxlIGFyY2hpdmVzIHRoYXQgYXJlIG5vdCB0aGUgc3lzdGVtIGFyY2hpdmUuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSAoT0Utc3BlY2lmaWMpCisKK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgbG9jYWxlL3Byb2dyYW1zL2xvY2FyY2hpdmUuYyB8IDM1ICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbG9jYWxlL3Byb2dyYW1zL2xvY2FyY2hpdmUuYyBiL2xvY2FsZS9wcm9ncmFtcy9sb2NhcmNoaXZlLmMKK2luZGV4IGU2MzEwYjE4YmUuLmY1NGE3NmVhZGUgMTAwNjQ0CistLS0gYS9sb2NhbGUvcHJvZ3JhbXMvbG9jYXJjaGl2ZS5jCisrKysgYi9sb2NhbGUvcHJvZ3JhbXMvbG9jYXJjaGl2ZS5jCitAQCAtMzQwLDEyICszNDAsMjQgQEAgZW5sYXJnZV9hcmNoaXZlIChzdHJ1Y3QgbG9jYXJoYW5kbGUgKmFoLCBjb25zdCBzdHJ1Y3QgbG9jYXJoZWFkICpoZWFkKQorICAgc3RydWN0IG5hbWVoYXNoZW50ICpvbGRuYW1laGFzaHRhYjsKKyAgIHN0cnVjdCBsb2NhcmhhbmRsZSBuZXdfYWg7CisgICBzaXplX3QgcHJlZml4X2xlbiA9IG91dHB1dF9wcmVmaXggPyBzdHJsZW4gKG91dHB1dF9wcmVmaXgpIDogMDsKKy0gIGNoYXIgYXJjaGl2ZWZuYW1lW3ByZWZpeF9sZW4gKyBzaXplb2YgKEFSQ0hJVkVfTkFNRSldOworLSAgY2hhciBmbmFtZVtwcmVmaXhfbGVuICsgc2l6ZW9mIChBUkNISVZFX05BTUUpICsgc2l6ZW9mICgiLlhYWFhYWCIpIC0gMV07CisrICBjaGFyICphcmNoaXZlZm5hbWU7CisrICBjaGFyICpmbmFtZTsKKysgIGNoYXIgKmVudmFyY2hpdmUgPSBnZXRlbnYoIkxPQ0FMRUFSQ0hJVkUiKTsKKyAKKy0gIGlmIChvdXRwdXRfcHJlZml4KQorLSAgICBtZW1jcHkgKGFyY2hpdmVmbmFtZSwgb3V0cHV0X3ByZWZpeCwgcHJlZml4X2xlbik7CistICBzdHJjcHkgKGFyY2hpdmVmbmFtZSArIHByZWZpeF9sZW4sIEFSQ0hJVkVfTkFNRSk7CisrICBpZiAoZW52YXJjaGl2ZSAhPSBOVUxMKQorKyAgICB7CisrICAgICAgYXJjaGl2ZWZuYW1lID0geG1hbGxvYyhzdHJsZW4oZW52YXJjaGl2ZSkgKyAxKTsKKysgICAgICBmbmFtZSA9IHhtYWxsb2Moc3RybGVuKGVudmFyY2hpdmUpICsgc2l6ZW9mICgiLlhYWFhYWCIpKTsKKysgICAgICBzdHJjcHkgKGFyY2hpdmVmbmFtZSwgZW52YXJjaGl2ZSk7CisrICAgIH0KKysgIGVsc2UKKysgICAgeworKyAgICAgIGFyY2hpdmVmbmFtZSA9IHhtYWxsb2MocHJlZml4X2xlbiArIHNpemVvZiAoQVJDSElWRV9OQU1FKSk7CisrICAgICAgZm5hbWUgPSB4bWFsbG9jKHByZWZpeF9sZW4gKyBzaXplb2YgKEFSQ0hJVkVfTkFNRSkgKyBzaXplb2YgKCIuWFhYWFhYIikgLSAxKTsKKysgICAgICBpZiAob3V0cHV0X3ByZWZpeCkKKysgICAgICAgIG1lbWNweSAoYXJjaGl2ZWZuYW1lLCBvdXRwdXRfcHJlZml4LCBwcmVmaXhfbGVuKTsKKysgICAgICBzdHJjcHkgKGFyY2hpdmVmbmFtZSArIHByZWZpeF9sZW4sIEFSQ0hJVkVfTkFNRSk7CisrICAgIH0KKyAgIHN0cmNweSAoc3RwY3B5IChmbmFtZSwgYXJjaGl2ZWZuYW1lKSwgIi5YWFhYWFgiKTsKKyAKKyAgIC8qIE5vdCBhbGwgb2YgdGhlIG9sZCBmaWxlIGhhcyB0byBiZSBtYXBwZWQuICBDaGFuZ2UgdGhpcyBub3cgdGhpcworQEAgLTU2OSwxMCArNTgxLDEzIEBAIG9wZW5fYXJjaGl2ZSAoc3RydWN0IGxvY2FyaGFuZGxlICphaCwgYm9vbCByZWFkb25seSkKKyAgIC8qIElmIGFoIGhhcyBhIG5vbi1OVUxMIGZuYW1lIG9wZW4gdGhhdCBvdGhlcndpc2Ugb3BlbiB0aGUgZGVmYXVsdC4gICovCisgICBpZiAoYXJjaGl2ZWZuYW1lID09IE5VTEwpCisgICAgIHsKKy0gICAgICBhcmNoaXZlZm5hbWUgPSBkZWZhdWx0X2ZuYW1lOworLSAgICAgIGlmIChvdXRwdXRfcHJlZml4KQorLSAgICAgICAgbWVtY3B5IChkZWZhdWx0X2ZuYW1lLCBvdXRwdXRfcHJlZml4LCBwcmVmaXhfbGVuKTsKKy0gICAgICBzdHJjcHkgKGRlZmF1bHRfZm5hbWUgKyBwcmVmaXhfbGVuLCBBUkNISVZFX05BTUUpOworKyAgICAgIGFyY2hpdmVmbmFtZSA9IGdldGVudigiTE9DQUxFQVJDSElWRSIpOworKyAgICAgIGlmIChhcmNoaXZlZm5hbWUgPT0gTlVMTCkgeworKyAgICAgICAgICAgICAgYXJjaGl2ZWZuYW1lID0gZGVmYXVsdF9mbmFtZTsKKysgICAgICAgICAgICAgIGlmIChvdXRwdXRfcHJlZml4KQorKyAgICAgICAgICAgICAgICBtZW1jcHkgKGRlZmF1bHRfZm5hbWUsIG91dHB1dF9wcmVmaXgsIHByZWZpeF9sZW4pOworKyAgICAgICAgICAgICAgc3RyY3B5IChkZWZhdWx0X2ZuYW1lICsgcHJlZml4X2xlbiwgQVJDSElWRV9OQU1FKTsKKysgICAgICB9CisgICAgIH0KKyAKKyAgIHdoaWxlICgxKQorQEAgLTU4NSw3ICs2MDAsNyBAQCBvcGVuX2FyY2hpdmUgKHN0cnVjdCBsb2NhcmhhbmRsZSAqYWgsIGJvb2wgcmVhZG9ubHkpCisgCSAgICAgdGhlIGRlZmF1bHQgbG9jYWxlIGFyY2hpdmUgd2UgaWdub3JlIHRoZSBmYWlsdXJlIGFuZAorIAkgICAgIGxpc3QgYW4gZW1wdHkgYXJjaGl2ZSwgb3RoZXJ3aXNlIHdlIHByaW50IGFuIGVycm9yCisgCSAgICAgYW5kIGV4aXQuICAqLworLQkgIGlmIChlcnJubyA9PSBFTk9FTlQgJiYgYXJjaGl2ZWZuYW1lID09IGRlZmF1bHRfZm5hbWUpCisrCSAgaWYgKGVycm5vID09IEVOT0VOVCkKKyAJICAgIHsKKyAJICAgICAgaWYgKHJlYWRvbmx5KQorIAkJeworLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI1LWVsZi1kbC1kZXBzLmMtTWFrZS1fZGxfYnVpbGRfbG9jYWxfc2NvcGUtYnJlYWR0aC1maXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjUtZWxmLWRsLWRlcHMuYy1NYWtlLV9kbF9idWlsZF9sb2NhbF9zY29wZS1icmVhZHRoLWZpci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZGRkMmU1Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI1LWVsZi1kbC1kZXBzLmMtTWFrZS1fZGxfYnVpbGRfbG9jYWxfc2NvcGUtYnJlYWR0aC1maXIucGF0Y2gKQEAgLTAsMCArMSw1NiBAQAorRnJvbSA4MDRiMDVhMDM0YmZhZjRlMzQyNzI0M2U2YmFmNzM2MDg2ODIyY2QwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFyayBIYXRsZSA8bWFyay5oYXRsZUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVGh1LCAxOCBBdWcgMjAxNiAxNDowNzo1OCAtMDUwMAorU3ViamVjdDogW1BBVENIIDI1LzMwXSBlbGYvZGwtZGVwcy5jOiBNYWtlIF9kbF9idWlsZF9sb2NhbF9zY29wZSBicmVhZHRoIGZpcnN0CisKK0FjY29yZGluZyB0byB0aGUgRUxGIHNwZWNpZmljYXRpb246CisKK1doZW4gcmVzb2x2aW5nIHN5bWJvbGljIHJlZmVyZW5jZXMsIHRoZSBkeW5hbWljIGxpbmtlciBleGFtaW5lcyB0aGUgc3ltYm9sCit0YWJsZXMgd2l0aCBhIGJyZWFkdGgtZmlyc3Qgc2VhcmNoLgorCitUaGlzIGZ1bmN0aW9uIHdhcyB1c2luZyBhIGRlcHRoIGZpcnN0IHNlYXJjaC4gIEJ5IGRvaW5nIHNvIHRoZSBjb25mbGljdAorcmVzb2x1dGlvbiByZXBvcnRlZCB0byB0aGUgcHJlbGlua2VyICh3aGVuIExEX1RSQUNFX1BSRUxJTktJTkc9MSBpcyBzZXQpCit3YXMgaW5jb3JyZWN0LiAgVGhpcyBjYXVzZWQgcHJvYmxlbXMgd2hlbiB0aGVpciB3ZXJlIHZhcmlvdXMgY2lyY3VsYXIKK2RlcGVuZGVuY2llcyBiZXR3ZWVuIGxpYnJhcmllcy4gIFRoZSBwcm9ibGVtIHVzdWFsbHkgbWFuaWZlc3RlZCBpdHNlbGYgYnkKK3RoZSB3cm9uZyBJRlVOQyBiZWluZyBleGVjdXRlZC4KKworW0JaIyAyMDQ4OF0KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2xpYmMtYWxwaGFdCisKK1NpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KKy0tLQorIGVsZi9kbC1kZXBzLmMgfCAxNCArKysrKysrKysrLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZWxmL2RsLWRlcHMuYyBiL2VsZi9kbC1kZXBzLmMKK2luZGV4IGUxMmMzNTMxNTguLjkyMzRkYWFjMDUgMTAwNjQ0CistLS0gYS9lbGYvZGwtZGVwcy5jCisrKysgYi9lbGYvZGwtZGVwcy5jCitAQCAtNzMsMTMgKzczLDE5IEBAIF9kbF9idWlsZF9sb2NhbF9zY29wZSAoc3RydWN0IGxpbmtfbWFwICoqbGlzdCwgc3RydWN0IGxpbmtfbWFwICptYXApCisgeworICAgc3RydWN0IGxpbmtfbWFwICoqcCA9IGxpc3Q7CisgICBzdHJ1Y3QgbGlua19tYXAgKipxOworKyAgc3RydWN0IGxpbmtfbWFwICoqcjsKKyAKKyAgICpwKysgPSBtYXA7CisgICBtYXAtPmxfcmVzZXJ2ZWQgPSAxOworLSAgaWYgKG1hcC0+bF9pbml0ZmluaSkKKy0gICAgZm9yIChxID0gbWFwLT5sX2luaXRmaW5pICsgMTsgKnE7ICsrcSkKKy0gICAgICBpZiAoISAoKnEpLT5sX3Jlc2VydmVkKQorLQlwICs9IF9kbF9idWlsZF9sb2NhbF9zY29wZSAocCwgKnEpOworKworKyAgZm9yIChyID0gbGlzdDsgciA8IHA7ICsrcikKKysgICAgaWYgKCgqciktPmxfaW5pdGZpbmkpCisrICAgICAgZm9yIChxID0gKCpyKS0+bF9pbml0ZmluaSArIDE7ICpxOyArK3EpCisrCWlmICghICgqcSktPmxfcmVzZXJ2ZWQpCisrCSAgeworKwkgICAgKnArKyA9ICpxOworKwkgICAgKCpxKS0+bF9yZXNlcnZlZCA9IDE7CisrCSAgfQorICAgcmV0dXJuIHAgLSBsaXN0OworIH0KKyAKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyNS1sb2NhbGUtZml4LWhhcmQtY29kZWQtcmVmZXJlbmNlLXRvLWdjYy1FLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI1LWxvY2FsZS1maXgtaGFyZC1jb2RlZC1yZWZlcmVuY2UtdG8tZ2NjLUUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRhNzkxOWYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI1LWxvY2FsZS1maXgtaGFyZC1jb2RlZC1yZWZlcmVuY2UtdG8tZ2NjLUUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1Gcm9tIDZjNmFlY2JhMTliM2U3OTQ3MTAwNjIzNTMyYTQxYjZmMTY3MzRhY2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/Sj1DMz1BOXI9QzM9QTlteT0yMFJvc2VuPz0gPGplcmVteS5yb3NlbkBzbWlsZS5mcj4KLURhdGU6IE1vbiwgMjIgQXVnIDIwMTYgMTY6MDk6MjUgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gbG9jYWxlOiBmaXggaGFyZC1jb2RlZCByZWZlcmVuY2UgdG8gZ2NjIC1FCi0KLVdoZW4gbmV3IHZlcnNpb24gb2YgY29tcGlsZXJzIGFyZSBwdWJsaXNoZWQsIHRoZXkgbWF5IG5vdCBiZSBjb21wYXRpYmxlIHdpdGgKLW9sZGVyIHZlcnNpb25zIG9mIHNvZnR3YXJlLiBUaGlzIGlzIHBhcnRpY3VsYXJseSBjb21tb24gd2hlbiBzb2Z0d2FyZSBpcyBidWlsdAotd2l0aCAtV2Vycm9yLgotCi1BdXRvdG9vbHMgcHJvdmlkZXMgYSB3YXkgZm9yIGEgdXNlciB0byBzcGVjaWZ5IHRoZSBuYW1lIG9mIGhpcyBjb21waWxlciB1c2luZyBhCi1zZXQgb2YgdmFyaWFibGVzICgkQ0MgJENYWCAkQ1BQIGV0Yy4pLiBUaG9zZSB2YXJpYWJsZXMgYXJlIHVzZWQgY29ycmVjdGx5IHdoZW4KLWNvbXBpbGluZyBnbGliYyBidXQgdGhlIHNjcmlwdCB1c2VkIHRvIGdlbmVyYXRlIHRyYW5zbGl0ZXJhdGlvbnMgaW4gdGhlIGxvY2FsZS8KLXN1YmRpcmVjdG9yeSBkaXJlY3RseSBjYWxscyB0aGUgZ2NjIGJpbmFyeSB0byBnZXQgdGhlIG91dHB1dCBvZiB0aGUKLXByZXByb2Nlc3NvciBpbnN0ZWFkIG9mIHVzaW5nIHRoZSAkQ1BQIHZhcmlhYmxlIHByb3ZpZGVkIGJ5IHRoZSBidWlsZAotZW52aXJvbm1lbnQuCi0KLVRoaXMgcGF0Y2ggcmVwbGFjZXMgdGhlIGhhcmQtY29kZWQgcmVmZXJlbmNlIHRvIHRoZSBnY2MgYmluYXJ5IHdpdGggdGhlIHByb3BlcgotZW52aXJvbm1lbnQgdmFyaWFibGUsIHRodXMgYWxsb3dpbmcgYSB1c2VyIHRvIG92ZXJyaWRlIGl0LgotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9tbC9saWJjLWFscGhhLzIwMTYtMDgvbXNnMDA3NDYuaHRtbF0KLS0tLQotIGxvY2FsZS9nZW4tdHJhbnNsaXQucGwgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9sb2NhbGUvZ2VuLXRyYW5zbGl0LnBsIGIvbG9jYWxlL2dlbi10cmFuc2xpdC5wbAotaW5kZXggMzBkM2YyZjE5NS4uZTk3NjUzMDE3YyAxMDA2NDQKLS0tLSBhL2xvY2FsZS9nZW4tdHJhbnNsaXQucGwKLSsrKyBiL2xvY2FsZS9nZW4tdHJhbnNsaXQucGwKLUBAIC0xLDUgKzEsNSBAQAotICMhL3Vzci9iaW4vcGVybCAtdwotLW9wZW4gRiwgImNhdCBDLXRyYW5zbGl0LmguaW4gfCBnY2MgLUUgLSB8IiB8fCBkaWUgIkNhbm5vdCBwcmVwcm9jZXNzIGlucHV0IGZpbGUiOwotK29wZW4gRiwgJ2NhdCBDLXRyYW5zbGl0LmguaW4gfCAke0NQUDotZ2NjIC1FfSAtIHwnIHx8IGRpZSAiQ2Fubm90IHByZXByb2Nlc3MgaW5wdXQgZmlsZSI7Ci0gCi0gCi0gc3ViIGNzdHJsZW4gewpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI2LXJlc2V0LWRsX2xvYWRfd3JpdGVfbG9jay1hZnRlci1mb3JraW5nLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI2LXJlc2V0LWRsX2xvYWRfd3JpdGVfbG9jay1hZnRlci1mb3JraW5nLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MWRkYzEyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyNi1yZXNldC1kbF9sb2FkX3dyaXRlX2xvY2stYWZ0ZXItZm9ya2luZy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLUZyb20gZWZiMGZjYTdkYjc0MmY0MTk1ZTE3NzFkOGJhNGM3ZmJhNDkzODgxOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBTYXQsIDI3IEphbiAyMDE4IDEwOjA1OjA3IC0wODAwCi1TdWJqZWN0OiBbUEFUQ0hdIHJlc2V0IGRsX2xvYWRfd3JpdGVfbG9jayBhZnRlciBmb3JraW5nCi0KLVRoZSBwYXRjaCBpbiB0aGlzIEJ1Z3ppbGxhIGVudHJ5IHdhcyByZXF1ZXN0ZWQgYnkgYSBjdXN0b21lcjoKLQotICBodHRwczovL3d3dy5zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTkyODIKLQotVGhlIF9fbGliY19mb3JrKCkgY29kZSByZXNldCBkbF9sb2FkX2xvY2ssIGJ1dCBpdCBhbHNvIG5lZWRlZCB0byByZXNldAotZGxfbG9hZF93cml0ZV9sb2NrLiAgVGhlIHBhdGNoIGhhcyBub3QgeWV0IGJlZW4gaW50ZWdyYXRlZCB1cHN0cmVhbS4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nIFsgTm8gQXV0aG9yIFNlZSBidWd6aWxsYV0KLQotU2lnbmVkLW9mZi1ieTogRGFtb2RhciBTb25vbmUgPGRhbW9kYXIuc29ub25lQGtwaXQuY29tPgotU2lnbmVkLW9mZi1ieTogWXVhbmppZSBIdWFuZyA8eXVhbmppZS5odWFuZ0B3aW5kcml2ZXIuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIHN5c2RlcHMvbnB0bC9mb3JrLmMgfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3lzZGVwcy9ucHRsL2ZvcmsuYyBiL3N5c2RlcHMvbnB0bC9mb3JrLmMKLWluZGV4IGVjNTZhODI3ZWIuLjBmNDg5MzNmZjEgMTAwNjQ0Ci0tLS0gYS9zeXNkZXBzL25wdGwvZm9yay5jCi0rKysgYi9zeXNkZXBzL25wdGwvZm9yay5jCi1AQCAtMTMwLDkgKzEzMCw5IEBAIF9fbGliY19mb3JrICh2b2lkKQotIAkgIF9JT19saXN0X3Jlc2V0bG9jayAoKTsKLSAJfQotIAotLSAgICAgIC8qIFJlc2V0IHRoZSBsb2NrIHRoZSBkeW5hbWljIGxvYWRlciB1c2VzIHRvIHByb3RlY3QgaXRzIGRhdGEuICAqLwotKyAgICAgIC8qIFJlc2V0IHRoZSBsb2NrcyB0aGUgZHluYW1pYyBsb2FkZXIgdXNlcyB0byBwcm90ZWN0IGl0cyBkYXRhLiAgKi8KLSAgICAgICBfX3J0bGRfbG9ja19pbml0aWFsaXplIChHTChkbF9sb2FkX2xvY2spKTsKLS0KLSsgICAgICBfX3J0bGRfbG9ja19pbml0aWFsaXplIChHTChkbF9sb2FkX3dyaXRlX2xvY2spKTsKLSAgICAgICAvKiBSdW4gdGhlIGhhbmRsZXJzIHJlZ2lzdGVyZWQgZm9yIHRoZSBjaGlsZC4gICovCi0gICAgICAgX19ydW5fZm9ya19oYW5kbGVycyAoYXRmb3JrX3J1bl9jaGlsZCk7Ci0gICAgIH0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyNy1BY3F1aXJlLWxkLnNvLWxvY2stYmVmb3JlLXN3aXRjaGluZy10by1tYWxsb2NfYXRmb3JrLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI3LUFjcXVpcmUtbGQuc28tbG9jay1iZWZvcmUtc3dpdGNoaW5nLXRvLW1hbGxvY19hdGZvcmsucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRkMzdmMmMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI3LUFjcXVpcmUtbGQuc28tbG9jay1iZWZvcmUtc3dpdGNoaW5nLXRvLW1hbGxvY19hdGZvcmsucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCwwIEBACi1Gcm9tIDZlYTk2MmUwOTQ2ZGE3NTY0YTc3NGIwOGRkM2VkYTI4ZDY0ZTllNTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU2F0LCAyNyBKYW4gMjAxOCAxMDowODowNCAtMDgwMAotU3ViamVjdDogW1BBVENIXSBBY3F1aXJlIGxkLnNvIGxvY2sgYmVmb3JlIHN3aXRjaGluZyB0byBtYWxsb2NfYXRmb3JrCi0KLVRoZSBwYXRjaCBpcyBmcm9tCi0gIGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTQ1NzgKLQotSWYgYSB0aHJlYWQgaGFwcGVucyB0byBob2xkIGRsX2xvYWRfbG9jayBhbmQgaGF2ZSByX3N0YXRlIHNldCB0byBSVF9BREQgb3IKLVJUX0RFTEVURSBhdCB0aGUgdGltZSBhbm90aGVyIHRocmVhZCBjYWxscyBmb3JrKCksIHRoZW4gdGhlIGNoaWxkIGV4aXQgY29kZQotZnJvbSBmb3JrIChpbiBucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2ZvcmsuYyBpbiBvdXIgY2FzZSkgcmUtaW5pdGlhbGl6ZXMKLWRsX2xvYWRfbG9jayBidXQgZG9lcyBub3QgcmVzdG9yZSByX3N0YXRlIHRvIFJUX0NPTlNJU1RFTlQuIElmIHRoZSBjaGlsZAotc3Vic2VxdWVudGx5IHJlcXVpcmVzIGxkLnNvIGZ1bmN0aW9uYWxpdHkgYmVmb3JlIGNhbGxpbmcgZXhlYygpLCB0aGVuIHRoZQotYXNzZXJ0aW9uIHdpbGwgZmlyZS4KLQotVGhlIHBhdGNoIGFjcXVpcmVzIGRsX2xvYWRfbG9jayBvbiBlbnRyeSB0byBmb3JrKCkgYW5kIHJlbGVhc2VzIGl0IG9uIGV4aXQKLWZyb20gdGhlIHBhcmVudCBwYXRoLiAgVGhlIGNoaWxkIHBhdGggaXMgaW5pdGlhbGl6ZWQgYXMgY3VycmVudGx5IGRvbmUuCi1UaGlzIGlzIGVzc2VudGlhbGx5IHB0aHJlYWRzX2F0Zm9yaywgYnV0IGZvcmNlZCB0byBiZSBmaXJzdCBiZWNhdXNlIHRoZQotYWNxdWlzaXRpb24gb2YgZGxfbG9hZF9sb2NrIG11c3QgaGFwcGVuIGJlZm9yZSBtYWxsb2NfYXRmb3JrIGlzIGFjdGl2ZQotdG8gYXZvaWQgYSBkZWFkbG9jay4KLQotVGhlIHBhdGNoIGhhcyBub3QgeWV0IGJlZW4gaW50ZWdyYXRlZCB1cHN0cmVhbS4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nIFsgTm90IEF1dGhvciBTZWUgYnVnemlsbGFdCi0KLVNpZ25lZC1vZmYtYnk6IFJhZ2h1bmF0aCBMb2x1ciA8UmFnaHVuYXRoLkxvbHVyQGtwaXQuY29tPgotU2lnbmVkLW9mZi1ieTogWXVhbmppZSBIdWFuZyA8eXVhbmppZS5odWFuZ0B3aW5kcml2ZXIuY29tPgotU2lnbmVkLW9mZi1ieTogWmhpeGlvbmcgQ2hpIDx6aGl4aW9uZy5jaGlAd2luZHJpdmVyLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBzeXNkZXBzL25wdGwvZm9yay5jIHwgNyArKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3lzZGVwcy9ucHRsL2ZvcmsuYyBiL3N5c2RlcHMvbnB0bC9mb3JrLmMKLWluZGV4IDBmNDg5MzNmZjEuLmVlZjNmOTY2OWIgMTAwNjQ0Ci0tLS0gYS9zeXNkZXBzL25wdGwvZm9yay5jCi0rKysgYi9zeXNkZXBzL25wdGwvZm9yay5jCi1AQCAtMjUsNiArMjUsNyBAQAotICNpbmNsdWRlIDx0bHMuaD4KLSAjaW5jbHVkZSA8aHAtdGltaW5nLmg+Ci0gI2luY2x1ZGUgPGxkc29kZWZzLmg+Ci0rI2luY2x1ZGUgPGxpYmMtbG9jay5oPgotICNpbmNsdWRlIDxzdGRpby1sb2NrLmg+Ci0gI2luY2x1ZGUgPGF0b21pYy5oPgotICNpbmNsdWRlIDxucHRsL3B0aHJlYWRQLmg+Ci1AQCAtNTYsNiArNTcsOSBAQCBfX2xpYmNfZm9yayAodm9pZCkKLSAgIGJvb2wgbXVsdGlwbGVfdGhyZWFkcyA9IFRIUkVBRF9HRVRNRU0gKFRIUkVBRF9TRUxGLCBoZWFkZXIubXVsdGlwbGVfdGhyZWFkcyk7Ci0gCi0gICBfX3J1bl9mb3JrX2hhbmRsZXJzIChhdGZvcmtfcnVuX3ByZXBhcmUpOwotKyAgLyogZ3JhYiBsZC5zbyBsb2NrIEJFRk9SRSBzd2l0Y2hpbmcgdG8gbWFsbG9jX2F0Zm9yayAqLwotKyAgX19ydGxkX2xvY2tfbG9ja19yZWN1cnNpdmUgKEdMKGRsX2xvYWRfbG9jaykpOwotKyAgX19ydGxkX2xvY2tfbG9ja19yZWN1cnNpdmUgKEdMKGRsX2xvYWRfd3JpdGVfbG9jaykpOwotIAotICAgLyogSWYgd2UgYXJlIG5vdCBydW5uaW5nIG11bHRpcGxlIHRocmVhZHMsIHdlIGRvIG5vdCBoYXZlIHRvCi0gICAgICBwcmVzZXJ2ZSBsb2NrIHN0YXRlLiAgSWYgZm9yayBydW5zIGZyb20gYSBzaWduYWwgaGFuZGxlciwgb25seQotQEAgLTE1MCw2ICsxNTQsOSBAQCBfX2xpYmNfZm9yayAodm9pZCkKLSAKLSAgICAgICAvKiBSdW4gdGhlIGhhbmRsZXJzIHJlZ2lzdGVyZWQgZm9yIHRoZSBwYXJlbnQuICAqLwotICAgICAgIF9fcnVuX2ZvcmtfaGFuZGxlcnMgKGF0Zm9ya19ydW5fcGFyZW50KTsKLSsgICAgICAvKiB1bmxvY2sgbGQuc28gbGFzdCwgYmVjYXVzZSB3ZSBsb2NrZWQgaXQgZmlyc3QgKi8KLSsgICAgICBfX3J0bGRfbG9ja191bmxvY2tfcmVjdXJzaXZlIChHTChkbF9sb2FkX3dyaXRlX2xvY2spKTsKLSsgICAgICBfX3J0bGRfbG9ja191bmxvY2tfcmVjdXJzaXZlIChHTChkbF9sb2FkX2xvY2spKTsKLSAgICAgfQotIAotICAgcmV0dXJuIHBpZDsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyOC1iaXRzLXNpZ2luZm8tY29uc3RzLmgtZW51bS1kZWZpbml0aW9uLWZvci1UUkFQX0hXQktQLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI4LWJpdHMtc2lnaW5mby1jb25zdHMuaC1lbnVtLWRlZmluaXRpb24tZm9yLVRSQVBfSFdCS1AucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZhZThkMDAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI4LWJpdHMtc2lnaW5mby1jb25zdHMuaC1lbnVtLWRlZmluaXRpb24tZm9yLVRSQVBfSFdCS1AucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2NiArMCwwIEBACi1Gcm9tIDM4ZmFkM2U1YWIzYjQ1YzU2ODEwYWJkMzVmYTExYTcyZmExMGI4ZjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBQcmF0eXVzaCBBbmFuZCA8cGFuYW5kQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDIyIE1hciAyMDE3IDE3OjAyOjM4ICswNTMwCi1TdWJqZWN0OiBbUEFUQ0hdIGJpdHMvc2lnaW5mby1jb25zdHMuaDogZW51bSBkZWZpbml0aW9uIGZvciBUUkFQX0hXQktQVCBpcwotIG1pc3NpbmcKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotQ29tcGlsZSBmb2xsb3dpbmcgbGludXgga2VybmVsIHRlc3QgY29kZSB3aXRoIGxhdGVzdCBnbGliYzoKLQotaHR0cHM6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvdG9ydmFsZHMvbGludXguZ2l0L3RyZWUvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnJlYWtwb2ludHMvYnJlYWtwb2ludF90ZXN0X2FybTY0LmMKLQotYW5kIHdlIGdldCBmb2xsb3dpbmcgZXJyb3I6Ci1icmVha3BvaW50X3Rlc3RfYXJtNjQuYzogSW4gZnVuY3Rpb24g4oCYcnVuX3Rlc3TigJk6Ci1icmVha3BvaW50X3Rlc3RfYXJtNjQuYzoxNzE6MjU6IGVycm9yOiDigJhUUkFQX0hXQktQVOKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKLSAgaWYgKHNpZ2luZm8uc2lfY29kZSAhPSBUUkFQX0hXQktQVCkgewotICAgICAgICAgICAgICAgICAgICAgICAgIF4KLUkgY2FuIGNvbXBpbGUgdGVzdCBjb2RlIGJ5IG1vZGlmeWluZyBteSBsb2NhbAotL3Vzci9pbmNsdWRlL2JpdHMvc2lnaW5mby5oIGFuZCB0ZXN0IHdvcmtzIGdyZWF0LiBUaGVyZWZvcmUsIHRoaXMgcGF0Y2gKLXdpbGwgYmUgbmVlZGVkIGluIHVwc3RyZWFtIGdsaWJjIHNvIHRoYXQgaXNzdWUgaXMgZml4ZWQgdGhlcmUgYXMgd2VsbC4KLQotU2lnbmVkLW9mZi1ieTogUHJhdHl1c2ggQW5hbmQgPHBhbmFuZEByZWRoYXQuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MjEyODZdCi0tLS0KLSBiaXRzL3NpZ2luZm8tY29uc3RzLmggICAgICAgICAgICAgICAgICAgICAgICAgfCA2ICsrKysrLQotIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvc2lnaW5mby1jb25zdHMuaCB8IDYgKysrKystCi0gMiBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvYml0cy9zaWdpbmZvLWNvbnN0cy5oIGIvYml0cy9zaWdpbmZvLWNvbnN0cy5oCi1pbmRleCA3NDY0YzE4ODJiLi4yOTgzMTQ1MjdhIDEwMDY0NAotLS0tIGEvYml0cy9zaWdpbmZvLWNvbnN0cy5oCi0rKysgYi9iaXRzL3NpZ2luZm8tY29uc3RzLmgKLUBAIC0xMDYsOCArMTA2LDEyIEBAIGVudW0KLSB7Ci0gICBUUkFQX0JSS1BUID0gMSwJCS8qIFByb2Nlc3MgYnJlYWtwb2ludC4gICovCi0gIyAgZGVmaW5lIFRSQVBfQlJLUFQJVFJBUF9CUktQVAotLSAgVFJBUF9UUkFDRQkJCS8qIFByb2Nlc3MgdHJhY2UgdHJhcC4gICovCi0rICBUUkFQX1RSQUNFLAkJCS8qIFByb2Nlc3MgdHJhY2UgdHJhcC4gICovCi0gIyAgZGVmaW5lIFRSQVBfVFJBQ0UJVFJBUF9UUkFDRQotKyAgVFJBUF9CUkFOQ0gsCQkJLyogUHJvY2VzcyBicmFuY2ggdHJhcC4gKi8KLSsjIGRlZmluZSBUUkFQX0JSQU5DSAlUUkFQX0JSQU5DSAotKyAgVFJBUF9IV0JLUFQJCQkvKiBoYXJkd2FyZSBicmVha3BvaW50L3dhdGNocG9pbnQgICovCi0rIyBkZWZpbmUgVFJBUF9IV0JLUFQJVFJBUF9IV0JLUFQKLSB9OwotICMgZW5kaWYKLSAKLWRpZmYgLS1naXQgYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3NpZ2luZm8tY29uc3RzLmggYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3NpZ2luZm8tY29uc3RzLmgKLWluZGV4IDE5M2JkOWM0NzEuLjNmZTg1MmJjNWYgMTAwNjQ0Ci0tLS0gYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3NpZ2luZm8tY29uc3RzLmgKLSsrKyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvc2lnaW5mby1jb25zdHMuaAotQEAgLTE0MSw4ICsxNDEsMTIgQEAgZW51bQotIHsKLSAgIFRSQVBfQlJLUFQgPSAxLAkJLyogUHJvY2VzcyBicmVha3BvaW50LiAgKi8KLSAjICBkZWZpbmUgVFJBUF9CUktQVAlUUkFQX0JSS1BUCi0tICBUUkFQX1RSQUNFCQkJLyogUHJvY2VzcyB0cmFjZSB0cmFwLiAgKi8KLSsgIFRSQVBfVFJBQ0UsCQkJLyogUHJvY2VzcyB0cmFjZSB0cmFwLiAgKi8KLSAjICBkZWZpbmUgVFJBUF9UUkFDRQlUUkFQX1RSQUNFCi0rICBUUkFQX0JSQU5DSCwJCQkvKiBQcm9jZXNzIGJyYW5jaCB0cmFwLiAqLwotKyMgZGVmaW5lIFRSQVBfQlJBTkNICVRSQVBfQlJBTkNICi0rICBUUkFQX0hXQktQVAkJCS8qIGhhcmR3YXJlIGJyZWFrcG9pbnQvd2F0Y2hwb2ludCAgKi8KLSsjIGRlZmluZSBUUkFQX0hXQktQVAlUUkFQX0hXQktQVAotIH07Ci0gIyBlbmRpZgotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI4LWludGwtRW1pdC1uby1saW5lcy1pbi1iaXNvbi1nZW5lcmF0ZWQtZmlsZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjgtaW50bC1FbWl0LW5vLWxpbmVzLWluLWJpc29uLWdlbmVyYXRlZC1maWxlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZWIwMDZmCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI4LWludGwtRW1pdC1uby1saW5lcy1pbi1iaXNvbi1nZW5lcmF0ZWQtZmlsZXMucGF0Y2gKQEAgLTAsMCArMSwzNCBAQAorRnJvbSAzOWY5MTBhNGI4MTk1ZDA1Mzg0MjVhYWQ3ZjBlYmRjMjMyYjdhNTgyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMyBBdWcgMjAxOCAwOTo0NDowMCAtMDcwMAorU3ViamVjdDogW1BBVENIIDI4LzMwXSBpbnRsOiBFbWl0IG5vIGxpbmVzIGluIGJpc29uIGdlbmVyYXRlZCBmaWxlcworCitJbXByb3ZlIHJlcHJvZHVjaWJpbGl0eToKK0RvIG5vdCBwdXQgYW55ICNsaW5lIHByZXByb2Nlc3NvciBjb21tYW5kcyBpbiBiaXNvbiBnZW5lcmF0ZWQgZmlsZXMuCitUaGVzZSBsaW5lcyBjb250YWluIGFic29sdXRlIHBhdGhzIGNvbnRhaW5pbmcgZmlsZSBsb2NhdGlvbnMgb24KK3RoZSBob3N0IGJ1aWxkIG1hY2hpbmUuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBKdXJvIEJ5c3RyaWNreSA8anVyby5ieXN0cmlja3lAaW50ZWwuY29tPgorU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGludGwvTWFrZWZpbGUgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9pbnRsL01ha2VmaWxlIGIvaW50bC9NYWtlZmlsZQoraW5kZXggOWVlYThkNTdlMy4uNjI3ZGNlNGNmMSAxMDA2NDQKKy0tLSBhL2ludGwvTWFrZWZpbGUKKysrKyBiL2ludGwvTWFrZWZpbGUKK0BAIC0xNTUsNyArMTU1LDcgQEAgJChvYmpwZngpdHN0LWdldHRleHQ2Lm91dDogJChvYmpwZngpdHN0LWdldHRleHQub3V0CisgCisgQ1BQRkxBR1MgKz0gLUQnTE9DQUxFRElSPSIkKGxvY2FsZWRpcikiJyBcCisgCSAgICAtRCdMT0NBTEVfQUxJQVNfUEFUSD0iJChsb2NhbGVkaXIpIicKKy1CSVNPTkZMQUdTID0gLS15YWNjIC0tbmFtZS1wcmVmaXg9X19nZXR0ZXh0IC0tb3V0cHV0CisrQklTT05GTEFHUyA9IC0teWFjYyAtLW5vLWxpbmVzIC0tbmFtZS1wcmVmaXg9X19nZXR0ZXh0IC0tb3V0cHV0CisgCisgJChpbnN0X2xvY2FsZWRpcikvbG9jYWxlLmFsaWFzOiBsb2NhbGUuYWxpYXMgJCgrZm9yY2UpCisgCSQoZG8taW5zdGFsbCkKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyOS1pbmplY3QtZmlsZS1hc3NlbWJseS1kaXJlY3RpdmVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI5LWluamVjdC1maWxlLWFzc2VtYmx5LWRpcmVjdGl2ZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjg3NGZiNQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyOS1pbmplY3QtZmlsZS1hc3NlbWJseS1kaXJlY3RpdmVzLnBhdGNoCkBAIC0wLDAgKzEsMzA0IEBACitGcm9tIDY0OWJmYjM5OTI2NWViNDhhOWZlOGRiMWMyYjVhMzE2MzNjNTUxNTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVGh1LCAyOSBOb3YgMjAxOCAxNzoyOTozNSAtMDgwMAorU3ViamVjdDogW1BBVENIIDI5LzMwXSBpbmplY3QgZmlsZSBhc3NlbWJseSBkaXJlY3RpdmVzCisKK0N1cnJlbnRseSwgbm9uLUlBIGJ1aWxkcyBhcmUgbm90IHJlcHJvZHVjaWJpbGUgc2luY2UgYnVpbGQgcGF0aHMgYXJlCitiZWluZyBpbmplY3RlZCBpbnRvIHRoZSBkZWJ1ZyBzeW1ib2xzLiBUaGVzZSBhcmUgY29taW5nIGZyb20gdGhlIHVzZSBvZgorLlMgYXNzZW1ibGVyIGZpbGVzIGR1cmluZyB0aGUgZ2xpYmMgYnVpbGQuIE5vIFNUVF9GSUxFIHNlY3Rpb24gaXMgYWRkZWQKK2R1cmluZyB0aGUgYXNzZW1ibHkgYnV0IHdoZW4gbGlua2luZywgbGQgZGVjaWRlcyB0byBhZGQgb25lIHRvIGFpZAorZGVidWdnaW5nIGFuZCBlbnN1cmUgcmVmZXJlbmNlcyBiZXR3ZWVuIHRoZSBkaWZmZXJlbnQgb2JqZWN0IGZpbGVzIGl0cworbGlua2luZyByZW1haW4gY2xlYXIuCisKK1dlIGNhbiBhdm9pZCB0aGlzIGJ5IGluamVjdGluZyBhIGZpbGUgaGVhZGVyIGludG8gdGhlIGFzc2VtYmxlciBmaWxlcworYWhlYWQgb2YgdGltZSwgY2hvb3NpbmcgYSBmaWxlbmFtZSB3aGljaCBkb2VzIG5vdCBjb250YWluIGJ1aWxkIHN5c3RlbQorcGF0aHMuCisKK1RoaXMgaXMgYSBiaXQgb2YgYSB3b3JrYXJvdW5kL2hhY2sgYnV0IGRvZXMgc2lnbmlmaWNhbnRseSByZWR1Y2UgdGhlCitidWlsZCBzeXN0ZW0gcmVmZXJlbmNlcyBpbiB0YXJnZXQgYmluYXJpZXMgZm9yIHRoZSBub24tSUEgYXJjaGl0ZWN0dXJlcword2hpY2ggdXNlIC5TIGZpbGVzLgorCitSUAorMjAxOC8xMC8zCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgY3N1L2FiaS1ub3RlLlMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMiArKworIHN5c2RlcHMvYWFyY2g2NC9jcnRpLlMgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKysKKyBzeXNkZXBzL2FhcmNoNjQvY3J0bi5TICAgICAgICAgICAgICAgICAgICAgICAgfCAyICsrCisgc3lzZGVwcy9hYXJjaDY0L2RsLXRsc2Rlc2MuUyAgICAgICAgICAgICAgICAgIHwgMiArKworIHN5c2RlcHMvYWFyY2g2NC9kbC10cmFtcG9saW5lLlMgICAgICAgICAgICAgICB8IDIgKysKKyBzeXNkZXBzL2FhcmNoNjQvc3RhcnQuUyAgICAgICAgICAgICAgICAgICAgICAgfCAyICsrCisgc3lzZGVwcy9hcm0vYWJpLW5vdGUuUyAgICAgICAgICAgICAgICAgICAgICAgIHwgMiArKworIHN5c2RlcHMvYXJtL2NydGkuUyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKysKKyBzeXNkZXBzL2FybS9jcnRuLlMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyICsrCisgc3lzZGVwcy9hcm0vZGwtdGxzZGVzYy5TICAgICAgICAgICAgICAgICAgICAgIHwgMiArKworIHN5c2RlcHMvYXJtL2RsLXRyYW1wb2xpbmUuUyAgICAgICAgICAgICAgICAgICB8IDIgKysKKyBzeXNkZXBzL2FybS9zdGFydC5TICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyICsrCisgc3lzZGVwcy9taXBzL3N0YXJ0LlMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMiArKworIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvZGwtc3RhcnQuUyAgICAgICAgICB8IDIgKysKKyBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL3N0YXJ0LlMgICAgICAgICAgICAgfCAyICsrCisgc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9zdGFydC5TICAgICAgICAgICAgIHwgMiArKworIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FhcmNoNjQvX19yZWFkX3RwLlMgICB8IDIgKysKKyBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vYWVhYmlfcmVhZF90cC5TICAgfCAyICsrCisgc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2xpYmMtZG8tc3lzY2FsbC5TIHwgMiArKworIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvZGwtYnJrLlMgICAgICB8IDIgKysKKyAyMCBmaWxlcyBjaGFuZ2VkLCA0MCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9jc3UvYWJpLW5vdGUuUyBiL2NzdS9hYmktbm90ZS5TCitpbmRleCBmYTFmMDE0YTg4Li4wOTg3MzEzNjJhIDEwMDY0NAorLS0tIGEvY3N1L2FiaS1ub3RlLlMKKysrKyBiL2NzdS9hYmktbm90ZS5TCitAQCAtNTYsNiArNTYsOCBAQCBvZmZzZXQJbGVuZ3RoCWNvbnRlbnRzCisgI2luY2x1ZGUgPGNvbmZpZy5oPgorICNpbmNsdWRlIDxhYmktdGFnLmg+CQkvKiBPUy1zcGVjaWZpYyBBQkkgdGFnIHZhbHVlICovCisgCisrCS5maWxlICJhYmktbm90ZS5TIgorKworIC8qIFRoZSBsaW5rZXIgKEdOVSBsZCAyLjggYW5kIGxhdGVyKSByZWNvZ25pemVzIGFuIGFsbG9jYXRlZCBzZWN0aW9uIHdob3NlCisgICAgbmFtZSBiZWdpbnMgd2l0aCBgLm5vdGUnIGFuZCBjcmVhdGVzIGEgUFRfTk9URSBwcm9ncmFtIGhlYWRlciBlbnRyeQorICAgIHBvaW50aW5nIGF0IGl0LiAqLworZGlmZiAtLWdpdCBhL3N5c2RlcHMvYWFyY2g2NC9jcnRpLlMgYi9zeXNkZXBzL2FhcmNoNjQvY3J0aS5TCitpbmRleCBkNGU3ZGZjZjVjLi5lMDIxOGRmMzBjIDEwMDY0NAorLS0tIGEvc3lzZGVwcy9hYXJjaDY0L2NydGkuUworKysrIGIvc3lzZGVwcy9hYXJjaDY0L2NydGkuUworQEAgLTUwLDYgKzUwLDggQEAKKyAjIGRlZmluZSBQUkVJTklUX0ZVTkNUSU9OX1dFQUsgMQorICNlbmRpZgorIAorKyAgICAuZmlsZSAiY3J0aS5TIgorKworICNpZiBQUkVJTklUX0ZVTkNUSU9OX1dFQUsKKyAJd2Vha19leHRlcm4gKFBSRUlOSVRfRlVOQ1RJT04pCisgI2Vsc2UKK2RpZmYgLS1naXQgYS9zeXNkZXBzL2FhcmNoNjQvY3J0bi5TIGIvc3lzZGVwcy9hYXJjaDY0L2NydG4uUworaW5kZXggMzYzZjc1MjQ2MC4uMmZiMDZmYmE2MiAxMDA2NDQKKy0tLSBhL3N5c2RlcHMvYWFyY2g2NC9jcnRuLlMKKysrKyBiL3N5c2RlcHMvYWFyY2g2NC9jcnRuLlMKK0BAIC0zNyw2ICszNyw4IEBACisgLyogY3J0bi5TIHB1dHMgZnVuY3Rpb24gZXBpbG9ndWVzIGluIHRoZSAuaW5pdCBhbmQgLmZpbmkgc2VjdGlvbnMKKyAgICBjb3JyZXNwb25kaW5nIHRvIHRoZSBwcm9sb2d1ZXMgaW4gY3J0aS5TLiAqLworIAorKwkuZmlsZSAiY3J0bi5TIgorKworIAkuc2VjdGlvbiAuaW5pdCwiYXgiLCVwcm9nYml0cworIAlsZHAJeDI5LCB4MzAsIFtzcF0sIDE2CisgCVJFVAorZGlmZiAtLWdpdCBhL3N5c2RlcHMvYWFyY2g2NC9kbC10bHNkZXNjLlMgYi9zeXNkZXBzL2FhcmNoNjQvZGwtdGxzZGVzYy5TCitpbmRleCA0YWJlNmI4MmEzLi44YzQ0YjJmZjhhIDEwMDY0NAorLS0tIGEvc3lzZGVwcy9hYXJjaDY0L2RsLXRsc2Rlc2MuUworKysrIGIvc3lzZGVwcy9hYXJjaDY0L2RsLXRsc2Rlc2MuUworQEAgLTIyLDYgKzIyLDggQEAKKyAjaW5jbHVkZSA8dGxzLmg+CisgI2luY2x1ZGUgInRsc2Rlc2MuaCIKKyAKKysJLmZpbGUgImRsLXRsc2Rlc2MuUyIKKysKKyAjZGVmaW5lIE5TQVZFRFFSRUdQQUlSUwkxNgorICNkZWZpbmUgU0FWRV9RX1JFR0lTVEVSUwkJCQlcCisgCXN0cAlxMCwgcTEsCVtzcCwgIy0zMipOU0FWRURRUkVHUEFJUlNdITsJXAorZGlmZiAtLWdpdCBhL3N5c2RlcHMvYWFyY2g2NC9kbC10cmFtcG9saW5lLlMgYi9zeXNkZXBzL2FhcmNoNjQvZGwtdHJhbXBvbGluZS5TCitpbmRleCAxOWIxMTdlOGY5Li4zOGM3OGI1NDA5IDEwMDY0NAorLS0tIGEvc3lzZGVwcy9hYXJjaDY0L2RsLXRyYW1wb2xpbmUuUworKysrIGIvc3lzZGVwcy9hYXJjaDY0L2RsLXRyYW1wb2xpbmUuUworQEAgLTIxLDYgKzIxLDggQEAKKyAKKyAjaW5jbHVkZSAiZGwtbGluay5oIgorIAorKwkuZmlsZSAiZGwtdHJhbXBvbGluZS5TIgorKworICNkZWZpbmUgaXAwIHgxNgorICNkZWZpbmUgaXAwbCBQVFJfUkVHICgxNikKKyAjZGVmaW5lIGlwMSB4MTcKK2RpZmYgLS1naXQgYS9zeXNkZXBzL2FhcmNoNjQvc3RhcnQuUyBiL3N5c2RlcHMvYWFyY2g2NC9zdGFydC5TCitpbmRleCBmNWU5YjljMjIzLi5hZTNlMjJhNmE1IDEwMDY0NAorLS0tIGEvc3lzZGVwcy9hYXJjaDY0L3N0YXJ0LlMKKysrKyBiL3N5c2RlcHMvYWFyY2g2NC9zdGFydC5TCitAQCAtMTgsNiArMTgsOCBAQAorIAorICNpbmNsdWRlIDxzeXNkZXAuaD4KKyAKKysJLmZpbGUgInN0YXJ0LlMiCisrCisgLyogVGhpcyBpcyB0aGUgY2Fub25pY2FsIGVudHJ5IHBvaW50LCB1c3VhbGx5IHRoZSBmaXJzdCB0aGluZyBpbiB0aGUgdGV4dAorICAgIHNlZ21lbnQuCisgCitkaWZmIC0tZ2l0IGEvc3lzZGVwcy9hcm0vYWJpLW5vdGUuUyBiL3N5c2RlcHMvYXJtL2FiaS1ub3RlLlMKK2luZGV4IDA3YmQ0YzQ2MTkuLjcyMTNiMTZmMjcgMTAwNjQ0CistLS0gYS9zeXNkZXBzL2FybS9hYmktbm90ZS5TCisrKysgYi9zeXNkZXBzL2FybS9hYmktbm90ZS5TCitAQCAtMSwzICsxLDUgQEAKKysJLmZpbGUgImFiaS1ub3RlLlMiCisrCisgLyogVGFnX0FCSV9hbGlnbjhfcHJlc2VydmVkOiBUaGlzIGNvZGUgcHJlc2VydmVzIDgtYnl0ZQorICAgIGFsaWdubWVudCBpbiBhbnkgY2FsbGVlLiAgKi8KKyAJLmVhYmlfYXR0cmlidXRlIDI1LCAxCitkaWZmIC0tZ2l0IGEvc3lzZGVwcy9hcm0vY3J0aS5TIGIvc3lzZGVwcy9hcm0vY3J0aS5TCitpbmRleCAyNmRiYmE2NmEzLi5kZDg0ZWNkNTY2IDEwMDY0NAorLS0tIGEvc3lzZGVwcy9hcm0vY3J0aS5TCisrKysgYi9zeXNkZXBzL2FybS9jcnRpLlMKK0BAIC01Nyw2ICs1Nyw4IEBACisgCS5oaWRkZW4gUFJFSU5JVF9GVU5DVElPTgorICNlbmRpZgorIAorKyAgICAuZmlsZSAiY3J0aS5TIgorKworICNpZiBQUkVJTklUX0ZVTkNUSU9OX1dFQUsKKyAJLnAyYWxpZ24gMgorIAkudHlwZSBjYWxsX3dlYWtfZm4sICVmdW5jdGlvbgorZGlmZiAtLWdpdCBhL3N5c2RlcHMvYXJtL2NydG4uUyBiL3N5c2RlcHMvYXJtL2NydG4uUworaW5kZXggOGY5MWM4ZDg4Yi4uYTg3ZmU0OWUwNyAxMDA2NDQKKy0tLSBhL3N5c2RlcHMvYXJtL2NydG4uUworKysrIGIvc3lzZGVwcy9hcm0vY3J0bi5TCitAQCAtMzcsNiArMzcsOCBAQAorICNkZWZpbmUgTk9fVEhVTUIKKyAjaW5jbHVkZSA8c3lzZGVwLmg+CisgCisrICAgIC5maWxlICJjcnRuLlMiCisrCisgLyogY3J0bi5TIHB1dHMgZnVuY3Rpb24gZXBpbG9ndWVzIGluIHRoZSAuaW5pdCBhbmQgLmZpbmkgc2VjdGlvbnMKKyAgICBjb3JyZXNwb25kaW5nIHRvIHRoZSBwcm9sb2d1ZXMgaW4gY3J0aS5TLiAqLworIAorZGlmZiAtLWdpdCBhL3N5c2RlcHMvYXJtL2RsLXRsc2Rlc2MuUyBiL3N5c2RlcHMvYXJtL2RsLXRsc2Rlc2MuUworaW5kZXggYTkyOTM0MGI0Mi4uYjcyNGM5Nzc2ZCAxMDA2NDQKKy0tLSBhL3N5c2RlcHMvYXJtL2RsLXRsc2Rlc2MuUworKysrIGIvc3lzZGVwcy9hcm0vZGwtdGxzZGVzYy5TCitAQCAtMjEsNiArMjEsOCBAQAorICNpbmNsdWRlIDx0bHMuaD4KKyAjaW5jbHVkZSAidGxzZGVzYy5oIgorIAorKwkuZmlsZSAiZGwtdGxzZGVzYy5TIgorKworIAkudGV4dAorIAlAIGVtaXQgZGVidWcgaW5mb3JtYXRpb24gd2l0aCBjZmkKKyAJQCB1c2UgYXJtLXNwZWNpZmljIHBzZXVkb3MgZm9yIHVud2luZGluZyBpdHNlbGYKK2RpZmYgLS1naXQgYS9zeXNkZXBzL2FybS9kbC10cmFtcG9saW5lLlMgYi9zeXNkZXBzL2FybS9kbC10cmFtcG9saW5lLlMKK2luZGV4IDMyNWNmY2QyY2UuLjRiZmRjYmNlNTEgMTAwNjQ0CistLS0gYS9zeXNkZXBzL2FybS9kbC10cmFtcG9saW5lLlMKKysrKyBiL3N5c2RlcHMvYXJtL2RsLXRyYW1wb2xpbmUuUworQEAgLTIxLDYgKzIxLDggQEAKKyAjaW5jbHVkZSA8c3lzZGVwLmg+CisgI2luY2x1ZGUgPGxpYmMtc3ltYm9scy5oPgorIAorKwkuZmlsZSAiZGwtdHJhbXBvbGluZS5TIgorKworIAkudGV4dAorIAkuZ2xvYmwgX2RsX3J1bnRpbWVfcmVzb2x2ZQorIAkudHlwZSBfZGxfcnVudGltZV9yZXNvbHZlLCAjZnVuY3Rpb24KK2RpZmYgLS1naXQgYS9zeXNkZXBzL2FybS9zdGFydC5TIGIvc3lzZGVwcy9hcm0vc3RhcnQuUworaW5kZXggYTA1ZjhhNDY1MS4uMmY0Mzc0ZmNhYSAxMDA2NDQKKy0tLSBhL3N5c2RlcHMvYXJtL3N0YXJ0LlMKKysrKyBiL3N5c2RlcHMvYXJtL3N0YXJ0LlMKK0BAIC01Nyw2ICs1Nyw4IEBACisgCQkJCQlOVUxMCisgKi8KKyAKKysJLmZpbGUgInN0YXJ0LlMiCisrCisgLyogVGFnX0FCSV9hbGlnbjhfcHJlc2VydmVkOiBUaGlzIGNvZGUgcHJlc2VydmVzIDgtYnl0ZQorICAgIGFsaWdubWVudCBpbiBhbnkgY2FsbGVlLiAgKi8KKyAJLmVhYmlfYXR0cmlidXRlIDI1LCAxCitkaWZmIC0tZ2l0IGEvc3lzZGVwcy9taXBzL3N0YXJ0LlMgYi9zeXNkZXBzL21pcHMvc3RhcnQuUworaW5kZXggODYzOGU1YjU0NS4uOTNmNjU2NGFlYyAxMDA2NDQKKy0tLSBhL3N5c2RlcHMvbWlwcy9zdGFydC5TCisrKysgYi9zeXNkZXBzL21pcHMvc3RhcnQuUworQEAgLTM4LDYgKzM4LDggQEAKKyAjaW5jbHVkZSA8c2dpZGVmcy5oPgorICNpbmNsdWRlIDxzeXMvYXNtLmg+CisgCisrCS5maWxlICJzdGFydC5TIgorKworICNpZm5kZWYgRU5UUllfUE9JTlQKKyAjZXJyb3IgRU5UUllfUE9JTlQgbmVlZHMgdG8gYmUgZGVmaW5lZCBmb3Igc3RhcnQuUyBvbiBNSVBTL0VMRi4KKyAjZW5kaWYKK2RpZmYgLS1naXQgYS9zeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2RsLXN0YXJ0LlMgYi9zeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2RsLXN0YXJ0LlMKK2luZGV4IDk5YTEwZDY0M2EuLmU0N2ZjMGQyNDUgMTAwNjQ0CistLS0gYS9zeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2RsLXN0YXJ0LlMKKysrKyBiL3N5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvZGwtc3RhcnQuUworQEAgLTE4LDYgKzE4LDggQEAKKyAKKyAjaW5jbHVkZSA8c3lzZGVwLmg+CisgCisrCS5maWxlICJkbC1zdGFydC5TIgorKworIC8qIEluaXRpYWwgZW50cnkgcG9pbnQgY29kZSBmb3IgdGhlIGR5bmFtaWMgbGlua2VyLgorICAgIFRoZSBDIGZ1bmN0aW9uIGBfZGxfc3RhcnQnIGlzIHRoZSByZWFsIGVudHJ5IHBvaW50OworICAgIGl0cyByZXR1cm4gdmFsdWUgaXMgdGhlIHVzZXIgcHJvZ3JhbSdzIGVudHJ5IHBvaW50LgkqLworZGlmZiAtLWdpdCBhL3N5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvc3RhcnQuUyBiL3N5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvc3RhcnQuUworaW5kZXggMTcyZmI1YTU2Yi4uZWYxNDcxYjg2MSAxMDA2NDQKKy0tLSBhL3N5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvc3RhcnQuUworKysrIGIvc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9zdGFydC5TCitAQCAtMzUsNiArMzUsOCBAQAorIAorICNpbmNsdWRlIDxzeXNkZXAuaD4KKyAKKysJLmZpbGUgInN0YXJ0LlMiCisrCisgLyogV2UgZG8gbm90IHdhbnQgLmVoX2ZyYW1lIGluZm8gZm9yIGNydDEubyBzaW5jZSBjcnQxLm8gaXMgbGlua2VkCisgICAgYmVmb3JlIGNydGJlZ2luLm8sIHRoZSBmaWxlIGRlZmluaW5nIF9fRUhfRlJBTUVfQkVHSU5fXy4gICovCisgI3VuZGVmIGNmaV9zdGFydHByb2MKK2RpZmYgLS1naXQgYS9zeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L3N0YXJ0LlMgYi9zeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L3N0YXJ0LlMKK2luZGV4IDU1ZmFlNjhhZDYuLjBjYjYwOGZlMGYgMTAwNjQ0CistLS0gYS9zeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L3N0YXJ0LlMKKysrKyBiL3N5c2RlcHMvcG93ZXJwYy9wb3dlcnBjNjQvc3RhcnQuUworQEAgLTM1LDYgKzM1LDggQEAKKyAKKyAjaW5jbHVkZSA8c3lzZGVwLmg+CisgCisrCS5maWxlICJzdGFydC5TIgorKworIC8qIFdlIGRvIG5vdCB3YW50IC5laF9mcmFtZSBpbmZvIGZvciBjcnQxLm8gc2luY2UgY3J0MS5vIGlzIGxpbmtlZAorICAgIGJlZm9yZSBjcnRiZWdpbi5vLCB0aGUgZmlsZSBkZWZpbmluZyBfX0VIX0ZSQU1FX0JFR0lOX18uICAqLworICN1bmRlZiBjZmlfc3RhcnRwcm9jCitkaWZmIC0tZ2l0IGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWFyY2g2NC9fX3JlYWRfdHAuUyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FhcmNoNjQvX19yZWFkX3RwLlMKK2luZGV4IDMwYTI5YjlmYjAuLjA3ODkyYjM4M2YgMTAwNjQ0CistLS0gYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0L19fcmVhZF90cC5TCisrKysgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0L19fcmVhZF90cC5TCitAQCAtMTgsNiArMTgsOCBAQAorIAorICNpbmNsdWRlIDxzeXNkZXAuaD4KKyAKKysJLmZpbGUgIl9fcmVhZF90cC5TIgorKworIAkuaGlkZGVuIF9fcmVhZF90cAorIEVOVFJZIChfX3JlYWRfdHApCisgCW1ycwl4MCwgdHBpZHJfZWwwCitkaWZmIC0tZ2l0IGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2FlYWJpX3JlYWRfdHAuUyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9hZWFiaV9yZWFkX3RwLlMKK2luZGV4IGY2NGM0ZmZlOGEuLjJkYTMxNWFiMDggMTAwNjQ0CistLS0gYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vYWVhYmlfcmVhZF90cC5TCisrKysgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vYWVhYmlfcmVhZF90cC5TCitAQCAtMzksNiArMzksOCBAQAorICAgIGEgbm9ybWFsIGZ1bmN0aW9uIGNhbGwpIGluIGEgaGlnaCBwYWdlIG9mIG1lbW9yeTsgdGFpbCBjYWxsIHRvIHRoZQorICAgIGhlbHBlci4gICovCisgCisrCS5maWxlICJhZWFiaV9yZWFkX3RwLlMiCisrCisgCS5oaWRkZW4gX19hZWFiaV9yZWFkX3RwCisgRU5UUlkgKF9fYWVhYmlfcmVhZF90cCkKKyAjaWZkZWYgQVJDSF9IQVNfSEFSRF9UUAorZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9saWJjLWRvLXN5c2NhbGwuUyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9saWJjLWRvLXN5c2NhbGwuUworaW5kZXggMGI2MjM3YWM1NS4uOGNkYTQ5MWMyOCAxMDA2NDQKKy0tLSBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9saWJjLWRvLXN5c2NhbGwuUworKysrIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2xpYmMtZG8tc3lzY2FsbC5TCitAQCAtMjcsNiArMjcsOCBAQAorICAgIEFSTSB1bndpbmQgdGFibGVzIGZvciByZWdpc3RlciB0byByZWdpc3RlciBtb3ZlcywgdGhlIGFjdHVhbCBvcGNvZGVzCisgICAgYXJlIG5vdCBkZWZpbmVkLiAgKi8KKyAKKysgICAgICAuZmlsZSAibGliYy1kby1zeXNjYWxsLlMiCisrCisgI2lmIGRlZmluZWQoX190aHVtYl9fKQorIAkudGh1bWIKKyAJLnN5bnRheCB1bmlmaWVkCitkaWZmIC0tZ2l0IGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9kbC1icmsuUyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvZGwtYnJrLlMKK2luZGV4IGVlYjk2NTQ0ZTMuLmRhMTgyYjI4ZjggMTAwNjQ0CistLS0gYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2RsLWJyay5TCisrKysgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2RsLWJyay5TCitAQCAtMSArMSwzIEBACisrCS5maWxlICJkbC1icmsuUyIKKysKKyAjaW5jbHVkZSA8YnJrLlM+CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjktbG9jYWxlZGVmLWFkZC10by1hcmNoaXZlLXVzZXMtYS1oYXJkLWNvZGVkLWxvY2FsZS1wYS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyOS1sb2NhbGVkZWYtYWRkLXRvLWFyY2hpdmUtdXNlcy1hLWhhcmQtY29kZWQtbG9jYWxlLXBhLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMTdmNmFhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyOS1sb2NhbGVkZWYtYWRkLXRvLWFyY2hpdmUtdXNlcy1hLWhhcmQtY29kZWQtbG9jYWxlLXBhLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODkgKzAsMCBAQAotRnJvbSA4NjU2NTFkMjQ5NmE5MGY3YWU4ZTdjYzE5YTJlNTRiNmYxN2E4YWQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMyBBdWcgMjAxOCAwOTo0MjowNiAtMDcwMAotU3ViamVjdDogW1BBVENIXSBsb2NhbGVkZWYgLS1hZGQtdG8tYXJjaGl2ZSB1c2VzIGEgaGFyZC1jb2RlZCBsb2NhbGUgcGF0aAotCi1pdCBkb2Vzbid0IGV4aXN0IGluIG5vcm1hbCB1c2UsIGFuZCB0aGVyZSdzIG5vIHdheSB0byBwYXNzIGFuCi1hbHRlcm5hdGl2ZSBmaWxlbmFtZS4KLQotQWRkIGEgZmFsbGJhY2sgb2YgJExPQ0FMRUFSQ0hJVkUgZnJvbSB0aGUgZW52aXJvbm1lbnQsIGFuZCBhbGxvdwotY3JlYXRpb24gb2YgbmV3IGxvY2FsZSBhcmNoaXZlcyB0aGF0IGFyZSBub3QgdGhlIHN5c3RlbSBhcmNoaXZlLgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgKE9FLXNwZWNpZmljKQotCi1TaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGxvY2FsZS9wcm9ncmFtcy9sb2NhcmNoaXZlLmMgfCAzNyArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMjcgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9sb2NhbGUvcHJvZ3JhbXMvbG9jYXJjaGl2ZS5jIGIvbG9jYWxlL3Byb2dyYW1zL2xvY2FyY2hpdmUuYwotaW5kZXggY2EzMzJhMzQ1Zi4uOTFmNjJkYTY2MiAxMDA2NDQKLS0tLSBhL2xvY2FsZS9wcm9ncmFtcy9sb2NhcmNoaXZlLmMKLSsrKyBiL2xvY2FsZS9wcm9ncmFtcy9sb2NhcmNoaXZlLmMKLUBAIC0zNDAsMTIgKzM0MCwyNCBAQCBlbmxhcmdlX2FyY2hpdmUgKHN0cnVjdCBsb2NhcmhhbmRsZSAqYWgsIGNvbnN0IHN0cnVjdCBsb2NhcmhlYWQgKmhlYWQpCi0gICBzdHJ1Y3QgbmFtZWhhc2hlbnQgKm9sZG5hbWVoYXNodGFiOwotICAgc3RydWN0IGxvY2FyaGFuZGxlIG5ld19haDsKLSAgIHNpemVfdCBwcmVmaXhfbGVuID0gb3V0cHV0X3ByZWZpeCA/IHN0cmxlbiAob3V0cHV0X3ByZWZpeCkgOiAwOwotLSAgY2hhciBhcmNoaXZlZm5hbWVbcHJlZml4X2xlbiArIHNpemVvZiAoQVJDSElWRV9OQU1FKV07Ci0tICBjaGFyIGZuYW1lW3ByZWZpeF9sZW4gKyBzaXplb2YgKEFSQ0hJVkVfTkFNRSkgKyBzaXplb2YgKCIuWFhYWFhYIikgLSAxXTsKLSsgIGNoYXIgKmFyY2hpdmVmbmFtZTsKLSsgIGNoYXIgKmZuYW1lOwotKyAgY2hhciAqZW52YXJjaGl2ZSA9IGdldGVudigiTE9DQUxFQVJDSElWRSIpOwotIAotLSAgaWYgKG91dHB1dF9wcmVmaXgpCi0tICAgIG1lbWNweSAoYXJjaGl2ZWZuYW1lLCBvdXRwdXRfcHJlZml4LCBwcmVmaXhfbGVuKTsKLS0gIHN0cmNweSAoYXJjaGl2ZWZuYW1lICsgcHJlZml4X2xlbiwgQVJDSElWRV9OQU1FKTsKLSsgIGlmIChlbnZhcmNoaXZlICE9IE5VTEwpIAotKyAgICB7Ci0rICAgICAgYXJjaGl2ZWZuYW1lID0geG1hbGxvYyhzdHJsZW4oZW52YXJjaGl2ZSkgKyAxKTsKLSsgICAgICBmbmFtZSA9IHhtYWxsb2Moc3RybGVuKGVudmFyY2hpdmUpICsgc2l6ZW9mICgiLlhYWFhYWCIpKTsKLSsgICAgICBzdHJjcHkgKGFyY2hpdmVmbmFtZSwgZW52YXJjaGl2ZSk7Ci0rICAgIH0KLSsgIGVsc2UKLSsgICAgewotKyAgICAgIGFyY2hpdmVmbmFtZSA9IHhtYWxsb2MocHJlZml4X2xlbiArIHNpemVvZiAoQVJDSElWRV9OQU1FKSk7Ci0rICAgICAgZm5hbWUgPSB4bWFsbG9jKHByZWZpeF9sZW4gKyBzaXplb2YgKEFSQ0hJVkVfTkFNRSkgKyBzaXplb2YgKCIuWFhYWFhYIikgLSAxKTsKLSsgICAgICBpZiAob3V0cHV0X3ByZWZpeCkKLSsgICAgICAgIG1lbWNweSAoYXJjaGl2ZWZuYW1lLCBvdXRwdXRfcHJlZml4LCBwcmVmaXhfbGVuKTsKLSsgICAgICBzdHJjcHkgKGFyY2hpdmVmbmFtZSArIHByZWZpeF9sZW4sIEFSQ0hJVkVfTkFNRSk7Ci0rICAgIH0KLSAgIHN0cmNweSAoc3RwY3B5IChmbmFtZSwgYXJjaGl2ZWZuYW1lKSwgIi5YWFhYWFgiKTsKLSAKLSAgIC8qIE5vdCBhbGwgb2YgdGhlIG9sZCBmaWxlIGhhcyB0byBiZSBtYXBwZWQuICBDaGFuZ2UgdGhpcyBub3cgdGhpcwotQEAgLTU1MSw2ICs1NjMsOCBAQCBlbmxhcmdlX2FyY2hpdmUgKHN0cnVjdCBsb2NhcmhhbmRsZSAqYWgsIGNvbnN0IHN0cnVjdCBsb2NhcmhlYWQgKmhlYWQpCi0gCi0gICAvKiBBZGQgdGhlIGluZm9ybWF0aW9uIGZvciB0aGUgbmV3IG9uZS4gICovCi0gICAqYWggPSBuZXdfYWg7Ci0rICBmcmVlKGFyY2hpdmVmbmFtZSk7Ci0rICBmcmVlKGZuYW1lKTsKLSB9Ci0gCi0gCi1AQCAtNTY5LDEwICs1ODMsMTMgQEAgb3Blbl9hcmNoaXZlIChzdHJ1Y3QgbG9jYXJoYW5kbGUgKmFoLCBib29sIHJlYWRvbmx5KQotICAgLyogSWYgYWggaGFzIGEgbm9uLU5VTEwgZm5hbWUgb3BlbiB0aGF0IG90aGVyd2lzZSBvcGVuIHRoZSBkZWZhdWx0LiAgKi8KLSAgIGlmIChhcmNoaXZlZm5hbWUgPT0gTlVMTCkKLSAgICAgewotLSAgICAgIGFyY2hpdmVmbmFtZSA9IGRlZmF1bHRfZm5hbWU7Ci0tICAgICAgaWYgKG91dHB1dF9wcmVmaXgpCi0tICAgICAgICBtZW1jcHkgKGRlZmF1bHRfZm5hbWUsIG91dHB1dF9wcmVmaXgsIHByZWZpeF9sZW4pOwotLSAgICAgIHN0cmNweSAoZGVmYXVsdF9mbmFtZSArIHByZWZpeF9sZW4sIEFSQ0hJVkVfTkFNRSk7Ci0rICAgICAgYXJjaGl2ZWZuYW1lID0gZ2V0ZW52KCJMT0NBTEVBUkNISVZFIik7Ci0rICAgICAgaWYgKGFyY2hpdmVmbmFtZSA9PSBOVUxMKSB7Ci0rICAgICAgICAgICAgICBhcmNoaXZlZm5hbWUgPSBkZWZhdWx0X2ZuYW1lOwotKyAgICAgICAgICAgICAgaWYgKG91dHB1dF9wcmVmaXgpCi0rICAgICAgICAgICAgICAgIG1lbWNweSAoZGVmYXVsdF9mbmFtZSwgb3V0cHV0X3ByZWZpeCwgcHJlZml4X2xlbik7Ci0rICAgICAgICAgICAgICBzdHJjcHkgKGRlZmF1bHRfZm5hbWUgKyBwcmVmaXhfbGVuLCBBUkNISVZFX05BTUUpOwotKyAgICAgIH0KLSAgICAgfQotIAotICAgd2hpbGUgKDEpCi1AQCAtNTg1LDcgKzYwMiw3IEBAIG9wZW5fYXJjaGl2ZSAoc3RydWN0IGxvY2FyaGFuZGxlICphaCwgYm9vbCByZWFkb25seSkKLSAJICAgICB0aGUgZGVmYXVsdCBsb2NhbGUgYXJjaGl2ZSB3ZSBpZ25vcmUgdGhlIGZhaWx1cmUgYW5kCi0gCSAgICAgbGlzdCBhbiBlbXB0eSBhcmNoaXZlLCBvdGhlcndpc2Ugd2UgcHJpbnQgYW4gZXJyb3IKLSAJICAgICBhbmQgZXhpdC4gICovCi0tCSAgaWYgKGVycm5vID09IEVOT0VOVCAmJiBhcmNoaXZlZm5hbWUgPT0gZGVmYXVsdF9mbmFtZSkKLSsJICBpZiAoZXJybm8gPT0gRU5PRU5UKQotIAkgICAgewotIAkgICAgICBpZiAocmVhZG9ubHkpCi0gCQl7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMzAtaW50bC1FbWl0LW5vLWxpbmVzLWluLWJpc29uLWdlbmVyYXRlZC1maWxlcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAzMC1pbnRsLUVtaXQtbm8tbGluZXMtaW4tYmlzb24tZ2VuZXJhdGVkLWZpbGVzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYjk3ZDkxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAzMC1pbnRsLUVtaXQtbm8tbGluZXMtaW4tYmlzb24tZ2VuZXJhdGVkLWZpbGVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotRnJvbSBhNTRjMTVkMDU2N2Q1NDcxMzcwNjZmNDFiMWIyMmViYTQ4NzVjMjdiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMyBBdWcgMjAxOCAwOTo0NDowMCAtMDcwMAotU3ViamVjdDogW1BBVENIXSBpbnRsOiBFbWl0IG5vIGxpbmVzIGluIGJpc29uIGdlbmVyYXRlZCBmaWxlcwotCi1JbXByb3ZlIHJlcHJvZHVjaWJpbGl0eToKLURvIG5vdCBwdXQgYW55ICNsaW5lIHByZXByb2Nlc3NvciBjb21tYW5kcyBpbiBiaXNvbiBnZW5lcmF0ZWQgZmlsZXMuCi1UaGVzZSBsaW5lcyBjb250YWluIGFic29sdXRlIHBhdGhzIGNvbnRhaW5pbmcgZmlsZSBsb2NhdGlvbnMgb24KLXRoZSBob3N0IGJ1aWxkIG1hY2hpbmUuCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBKdXJvIEJ5c3RyaWNreSA8anVyby5ieXN0cmlja3lAaW50ZWwuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGludGwvTWFrZWZpbGUgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9pbnRsL01ha2VmaWxlIGIvaW50bC9NYWtlZmlsZQotaW5kZXggNjcyZWRmMWIzOC4uZDMxODg4ZDAxMyAxMDA2NDQKLS0tLSBhL2ludGwvTWFrZWZpbGUKLSsrKyBiL2ludGwvTWFrZWZpbGUKLUBAIC0xNTUsNyArMTU1LDcgQEAgJChvYmpwZngpdHN0LWdldHRleHQ2Lm91dDogJChvYmpwZngpdHN0LWdldHRleHQub3V0Ci0gCi0gQ1BQRkxBR1MgKz0gLUQnTE9DQUxFRElSPSIkKGxvY2FsZWRpcikiJyBcCi0gCSAgICAtRCdMT0NBTEVfQUxJQVNfUEFUSD0iJChsb2NhbGVkaXIpIicKLS1CSVNPTkZMQUdTID0gLS15YWNjIC0tbmFtZS1wcmVmaXg9X19nZXR0ZXh0IC0tb3V0cHV0Ci0rQklTT05GTEFHUyA9IC0teWFjYyAtLW5vLWxpbmVzIC0tbmFtZS1wcmVmaXg9X19nZXR0ZXh0IC0tb3V0cHV0Ci0gCi0gJChpbnN0X2xvY2FsZWRpcikvbG9jYWxlLmFsaWFzOiBsb2NhbGUuYWxpYXMgJCgrZm9yY2UpCi0gCSQoZG8taW5zdGFsbCkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAzMC1sb2NhbGUtcHJldmVudC1tYXliZS11bmluaXRpYWxpemVkLWVycm9ycy13aXRoLU9zLUJaLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDMwLWxvY2FsZS1wcmV2ZW50LW1heWJlLXVuaW5pdGlhbGl6ZWQtZXJyb3JzLXdpdGgtT3MtQloucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWRjMjQyNAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAzMC1sb2NhbGUtcHJldmVudC1tYXliZS11bmluaXRpYWxpemVkLWVycm9ycy13aXRoLU9zLUJaLnBhdGNoCkBAIC0wLDAgKzEsNTYgQEAKK0Zyb20gNmRkYWI5Yzg2OTJlNmE3NzdjMmUyZTdhNmNhMjZhNjVkZjdkMmM1ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8bWFydGluLmphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMTcgRGVjIDIwMTggMjE6MzY6MTggKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCAzMC8zMF0gbG9jYWxlOiBwcmV2ZW50IG1heWJlLXVuaW5pdGlhbGl6ZWQgZXJyb3JzIHdpdGggLU9zIFtCWgorICMxOTQ0NF0KKworRml4ZXMgZm9sbG93aW5nIGVycm9yIHdoZW4gYnVpbGRpbmcgZm9yIGFhcmNoNjQgd2l0aCAtT3M6Cit8IEluIGZpbGUgaW5jbHVkZWQgZnJvbSBzdHJjb2xsX2wuYzo0MzoKK3wgc3RyY29sbF9sLmM6IEluIGZ1bmN0aW9uICdfX3N0cmNvbGxfbCc6Cit8IC4uL2xvY2FsZS93ZWlnaHQuaDozMToyNjogZXJyb3I6ICdzZXEyLmJhY2tfdXMnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVkXQorfCAgICBpbnRfZmFzdDMyX3QgaSA9IHRhYmxlWyooKmNwcCkrK107Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+Cit8IHN0cmNvbGxfbC5jOjMwNDoxODogbm90ZTogJ3NlcTIuYmFja191cycgd2FzIGRlY2xhcmVkIGhlcmUKK3wgICAgY29sbF9zZXEgc2VxMSwgc2VxMjsKK3wgICAgICAgICAgICAgICAgICAgXn5+fgorfCBJbiBmaWxlIGluY2x1ZGVkIGZyb20gc3RyY29sbF9sLmM6NDM6Cit8IC4uL2xvY2FsZS93ZWlnaHQuaDozMToyNjogZXJyb3I6ICdzZXExLmJhY2tfdXMnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVkXQorfCAgICBpbnRfZmFzdDMyX3QgaSA9IHRhYmxlWyooKmNwcCkrK107Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+Cit8IHN0cmNvbGxfbC5jOjMwNDoxMjogbm90ZTogJ3NlcTEuYmFja191cycgd2FzIGRlY2xhcmVkIGhlcmUKK3wgICAgY29sbF9zZXEgc2VxMSwgc2VxMjsKK3wgICAgICAgICAgICAgXn5+fgorCisgICAgICAgIFBhcnRpYWwgZml4IGZvciBbQlogIzE5NDQ0XQorICAgICAgICAqIGxvY2FsZS93ZWlnaHQuaDogRml4IGJ1aWxkIHdpdGggLU9zLgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9wYXRjaHdvcmsub3psYWJzLm9yZy9wYXRjaC8xMDE0NzY2XQorCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgbG9jYWxlL3dlaWdodC5oIHwgNyArKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvbG9jYWxlL3dlaWdodC5oIGIvbG9jYWxlL3dlaWdodC5oCitpbmRleCA3Y2E4MTQ5OGIyLi5kNjA4Y2E3MGJiIDEwMDY0NAorLS0tIGEvbG9jYWxlL3dlaWdodC5oCisrKysgYi9sb2NhbGUvd2VpZ2h0LmgKK0BAIC0yOCw3ICsyOCwxNCBAQCBmaW5kaWR4IChjb25zdCBpbnQzMl90ICp0YWJsZSwKKyAJIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmV4dHJhLAorIAkgY29uc3QgdW5zaWduZWQgY2hhciAqKmNwcCwgc2l6ZV90IGxlbikKKyB7CisrICAvKiBXaXRoIEdDQyA4IHdoZW4gY29tcGlsaW5nIHdpdGggLU9zIHRoZSBjb21waWxlciB3YXJucyB0aGF0CisrICAgICBzZXExLmJhY2tfdXMgYW5kIHNlcTIuYmFja191cyBtaWdodCBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQuCisrICAgICBUaGlzIHVuaW5pdGlhbGl6ZWQgdXNlIGlzIGltcG9zc2libGUgZm9yIHRoZSBzYW1lIHJlYXNvbgorKyAgICAgYXMgZGVzY3JpYmVkIGluIGNvbW1lbnRzIGluIGxvY2FsZS93ZWlnaHR3Yy5oLiAgKi8KKysgIERJQUdfUFVTSF9ORUVEU19DT01NRU5UOworKyAgRElBR19JR05PUkVfT3NfTkVFRFNfQ09NTUVOVCAoOCwgIi1XbWF5YmUtdW5pbml0aWFsaXplZCIpOworICAgaW50X2Zhc3QzMl90IGkgPSB0YWJsZVsqKCpjcHApKytdOworKyAgRElBR19QT1BfTkVFRFNfQ09NTUVOVDsKKyAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNwOworICAgY29uc3QgdW5zaWduZWQgY2hhciAqdXNyYzsKKyAKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAzMS1zeXNkZXBzLWllZWU3NTQtcHJldmVudC1tYXliZS11bmluaXRpYWxpemVkLWVycm9ycy13LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDMxLXN5c2RlcHMtaWVlZTc1NC1wcmV2ZW50LW1heWJlLXVuaW5pdGlhbGl6ZWQtZXJyb3JzLXcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYxZjU1ZDQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDMxLXN5c2RlcHMtaWVlZTc1NC1wcmV2ZW50LW1heWJlLXVuaW5pdGlhbGl6ZWQtZXJyb3JzLXcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNTggKzAsMCBAQAotRnJvbSA1NDZiNDZjMzA5YTUyZWQ3NGRjOTA2MTE0YjFlOTg0YmI5NzAzZDc0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgotRGF0ZTogRnJpLCAxNCBTZXAgMjAxOCAyMzoyMzowMyArMDAwMAotU3ViamVjdDogW1BBVENIXSBzeXNkZXBzL2llZWU3NTQ6IHByZXZlbnQgbWF5YmUtdW5pbml0aWFsaXplZCBlcnJvcnMgd2l0aCAtTwotIFtCWiAjMTk0NDRdCi0KLVdpdGggLU8gaW5jbHVkZWQgaW4gQ0ZMQUdTIGl0IGZhaWxzIHRvIGJ1aWxkIHdpdGg6Ci0KLS4uL3N5c2RlcHMvaWVlZTc1NC9sZGJsLTk2L2Vfam5sLmM6IEluIGZ1bmN0aW9uICdfX2llZWU3NTRfam5sJzoKLS4uL3N5c2RlcHMvaWVlZTc1NC9sZGJsLTk2L2Vfam5sLmM6MTQ2OjIwOiBlcnJvcjogJ3RlbXAnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVkXQotICAgICAgYiA9IGludnNxcnRwaSAqIHRlbXAgLyBzcXJ0bCAoeCk7Ci0gICAgICAgICAgfn5+fn5+fn5+fl5+fn5+fgotLi4vc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYvZV9qbmwuYzogSW4gZnVuY3Rpb24gJ19faWVlZTc1NF95bmwnOgotLi4vc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYvZV9qbmwuYzozNzU6MTY6IGVycm9yOiAndGVtcCcgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWRdCi0gIGIgPSBpbnZzcXJ0cGkgKiB0ZW1wIC8gc3FydGwgKHgpOwotICAgICAgfn5+fn5+fn5+fl5+fn5+fgotLi4vc3lzZGVwcy9pZWVlNzU0L2RibC02NC9lX2puLmM6IEluIGZ1bmN0aW9uICdfX2llZWU3NTRfam4nOgotLi4vc3lzZGVwcy9pZWVlNzU0L2RibC02NC9lX2puLmM6MTEzOjIwOiBlcnJvcjogJ3RlbXAnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVkXQotICAgICAgYiA9IGludnNxcnRwaSAqIHRlbXAgLyBzcXJ0ICh4KTsKLSAgICAgICAgICB+fn5+fn5+fn5+Xn5+fn5+Ci0uLi9zeXNkZXBzL2llZWU3NTQvZGJsLTY0L2Vfam4uYzogSW4gZnVuY3Rpb24gJ19faWVlZTc1NF95bic6Ci0uLi9zeXNkZXBzL2llZWU3NTQvZGJsLTY0L2Vfam4uYzozMjA6MTY6IGVycm9yOiAndGVtcCcgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWRdCi0gIGIgPSBpbnZzcXJ0cGkgKiB0ZW1wIC8gc3FydCAoeCk7Ci0gICAgICB+fn5+fn5+fn5+Xn5+fn5+Ci0KLUJ1aWxkIHRlc3RlZCB3aXRoIFlvY3RvIGZvciBBUk0sIEFBUkNINjQsIFg4NiwgWDg2XzY0LCBQUEMsIE1JUFMsIE1JUFM2NAotd2l0aCAtTywgLU8xLCAtT3MuCi1Gb3Igc29mdC1mcCBBUk0gaXQgbmVlZHMgb25lIG1vcmUgZml4IGZvciAtTzE6Ci1odHRwczovL3NvdXJjZXdhcmUub3JnL21sL2xpYmMtYWxwaGEvMjAxOC0wOS9tc2cwMDMwMC5odG1sCi1Gb3IgQUFSQ0g2NCBpdCBuZWVkcyBvbmUgbW9yZSBmaXggaW4gbG9jYWxlIGZvciAtT3MuCi0KLSAgICAgICAgW0JaICMyMzcxNl0KLSAgICAgICAgKiBzeXNkZXBzL2llZWU3NTQvZGJsLTk2L2Vfam5sLmM6IEZpeCBidWlsZCB3aXRoIC1PCi0gICAgICAgICogc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYvZV9qbmwuYzogTGlrZXdpc2UuCi0gICAgICAgICogc3lzZGVwcy9pZWVlNzU0L2xkYmwtMTI4L2Vfam5sLmM6IExpa2V3aXNlLgotICAgICAgICAqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOGlibS9lX2pubC5jOiBMaWtld2lzZS4KLQotV29yayBhcm91bmQgdGhlIGlzc3VlIGluc3RlYWQgb2YgcmVtb3ZpbmcgLU8gbGlrZSB3ZSBkbyB3aXRoCi1TRUxFQ1RFRF9PUFRJTUlaQVRJT04KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vd3d3LnNvdXJjZXdhcmUub3JnL21sL2xpYmMtYWxwaGEvMjAxOC0wOS9tc2cwMDI5OS5odG1sXQotCi1TaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+Ci0tLS0KLSBDaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA3ICsrKysrKysKLSBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L2Vfam4uYyAgICAgICB8IDIxICsrKysrKysrKysrKysrKysrKysrKwotIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOC9lX2pubC5jICAgIHwgMjEgKysrKysrKysrKysrKysrKysrKysrCi0gc3lzZGVwcy9pZWVlNzU0L2xkYmwtMTI4aWJtL2Vfam5sLmMgfCAyMSArKysrKysrKysrKysrKysrKysrKysKLSBzeXNkZXBzL2llZWU3NTQvbGRibC05Ni9lX2pubC5jICAgICB8IDIxICsrKysrKysrKysrKysrKysrKysrKwotIDUgZmlsZXMgY2hhbmdlZCwgOTEgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCi1pbmRleCAxMWE5YjhkOThlLi45MjJlOTE2ZjJjIDEwMDY0NAotLS0tIGEvQ2hhbmdlTG9nCi0rKysgYi9DaGFuZ2VMb2cKLUBAIC0xLDMgKzEsMTAgQEAKLSsyMDE4LTA5LTI5ICBNYXJ0aW4gSmFuc2EgIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgotKwlQYXJ0aWFsIGZpeCBmb3IgW0JaICMyMzcxNl0KLSsJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTk2L2Vfam5sLmM6IEZpeCBidWlsZCB3aXRoIC1PCi0rCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYvZV9qbmwuYzogTGlrZXdpc2UuCi0rCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtMTI4L2Vfam5sLmM6IExpa2V3aXNlLgotKwkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOGlibS9lX2pubC5jOiBMaWtld2lzZS4KLSsKLSAyMDE4LTA5LTI4ICBBZGhlbWVydmFsIFphbmVsbGEgIDxhZGhlbWVydmFsLnphbmVsbGFAbGluYXJvLm9yZz4KLSAKLSAJW0JaICMyMzU3OV0KLWRpZmYgLS1naXQgYS9zeXNkZXBzL2llZWU3NTQvZGJsLTY0L2Vfam4uYyBiL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQvZV9qbi5jCi1pbmRleCA5MTgxYjIyYmI4Li45ZmY1MmM3MzdmIDEwMDY0NAotLS0tIGEvc3lzZGVwcy9pZWVlNzU0L2RibC02NC9lX2puLmMKLSsrKyBiL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQvZV9qbi5jCi1AQCAtNDIsNiArNDIsNyBAQAotICNpbmNsdWRlIDxtYXRoLW5hcnJvdy1ldmFsLmg+Ci0gI2luY2x1ZGUgPG1hdGhfcHJpdmF0ZS5oPgotICNpbmNsdWRlIDxtYXRoLXVuZGVyZmxvdy5oPgotKyNpbmNsdWRlIDxsaWJjLWRpYWcuaD4KLSAKLSBzdGF0aWMgY29uc3QgZG91YmxlCi0gICBpbnZzcXJ0cGkgPSA1LjY0MTg5NTgzNTQ3NzU2Mjc5MjgwZS0wMSwgLyogMHgzRkUyMERENywgMHg1MDQyOUI2RCAqLwotQEAgLTEwOSw3ICsxMTAsMTcgQEAgX19pZWVlNzU0X2puIChpbnQgbiwgZG91YmxlIHgpCi0gCSAgICAgIGNhc2UgMjogdGVtcCA9IC1jIC0gczsgYnJlYWs7Ci0gCSAgICAgIGNhc2UgMzogdGVtcCA9IGMgLSBzOyBicmVhazsKLSAJICAgICAgfQotKwkgICAgLyogV2l0aCBHQ0MgOCAoYW5kIG9sZGVyKSB3aGVuIGNvbXBpbGluZyB3aXRoIC1PIHRoZSBjb21waWxlcgotKwkgICAgICAgd2FybnMgdGhhdCB0aGUgdmFyaWFibGUgJ3RlbXAnLCBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkLgotKwkgICAgICAgVGhlIHN3aXRjaCBhYm92ZSBjb3ZlcnMgYWxsIHBvc3NpYmxlIHZhbHVlcyBvZiBuICYgMwotKwkgICAgICAgYnV0IEdDQyB3aXRob3V0IFZSUCBlbmFibGVkIGlzbid0IGFibGUgdG8gZmlndXJlIG91dCB0aGUKLSsJICAgICAgIHJhbmdlIG9mIHBvc3NpYmxlIHZhbHVlcyBpcyBbMCwzXSBhcyBleHBsYWluZWQgaW46Ci0rCSAgICAgICBodHRwczovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD02OTIzMAotKwkgICAgICAgc28gaXQncyBmYWxzZSBwb3NzaXRpdmUgd2l0aCAtTzEgYW5kIGxvd2VyLiAqLwotKwkgICAgRElBR19QVVNIX05FRURTX0NPTU1FTlQ7Ci0rCSAgICBESUFHX0lHTk9SRV9ORUVEU19DT01NRU5UICg4LCAiLVdtYXliZS11bmluaXRpYWxpemVkIik7Ci0gCSAgICBiID0gaW52c3FydHBpICogdGVtcCAvIHNxcnQgKHgpOwotKwkgICAgRElBR19QT1BfTkVFRFNfQ09NTUVOVDsKLSAJICB9Ci0gCWVsc2UKLSAJICB7Ci1AQCAtMzE2LDcgKzMyNywxNyBAQCBfX2llZWU3NTRfeW4gKGludCBuLCBkb3VibGUgeCkKLSAJICBjYXNlIDI6IHRlbXAgPSAtcyArIGM7IGJyZWFrOwotIAkgIGNhc2UgMzogdGVtcCA9IHMgKyBjOyBicmVhazsKLSAJICB9Ci0rCS8qIFdpdGggR0NDIDggKGFuZCBvbGRlcikgd2hlbiBjb21waWxpbmcgd2l0aCAtTyB0aGUgY29tcGlsZXIKLSsJICAgd2FybnMgdGhhdCB0aGUgdmFyaWFibGUgJ3RlbXAnLCBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkLgotKwkgICBUaGUgc3dpdGNoIGFib3ZlIGNvdmVycyBhbGwgcG9zc2libGUgdmFsdWVzIG9mIG4gJiAzCi0rCSAgIGJ1dCBHQ0Mgd2l0aG91dCBWUlAgZW5hYmxlZCBpc24ndCBhYmxlIHRvIGZpZ3VyZSBvdXQgdGhlCi0rCSAgIHJhbmdlIG9mIHBvc3NpYmxlIHZhbHVlcyBpcyBbMCwzXSBhcyBleHBsYWluZWQgaW46Ci0rCSAgIGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTY5MjMwCi0rCSAgIHNvIGl0J3MgZmFsc2UgcG9zc2l0aXZlIHdpdGggLU8xIGFuZCBsb3dlci4gKi8KLSsJRElBR19QVVNIX05FRURTX0NPTU1FTlQ7Ci0rCURJQUdfSUdOT1JFX05FRURTX0NPTU1FTlQgKDgsICItV21heWJlLXVuaW5pdGlhbGl6ZWQiKTsKLSAJYiA9IGludnNxcnRwaSAqIHRlbXAgLyBzcXJ0ICh4KTsKLSsJRElBR19QT1BfTkVFRFNfQ09NTUVOVDsKLSAgICAgICB9Ci0gICAgIGVsc2UKLSAgICAgICB7Ci1kaWZmIC0tZ2l0IGEvc3lzZGVwcy9pZWVlNzU0L2xkYmwtMTI4L2Vfam5sLmMgYi9zeXNkZXBzL2llZWU3NTQvbGRibC0xMjgvZV9qbmwuYwotaW5kZXggNzczOWVlYzI5MS4uODcwNmExMTU3NSAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOC9lX2pubC5jCi0rKysgYi9zeXNkZXBzL2llZWU3NTQvbGRibC0xMjgvZV9qbmwuYwotQEAgLTYxLDYgKzYxLDcgQEAKLSAjaW5jbHVkZSA8bWF0aC5oPgotICNpbmNsdWRlIDxtYXRoX3ByaXZhdGUuaD4KLSAjaW5jbHVkZSA8bWF0aC11bmRlcmZsb3cuaD4KLSsjaW5jbHVkZSA8bGliYy1kaWFnLmg+Ci0gCi0gc3RhdGljIGNvbnN0IF9GbG9hdDEyOAotICAgaW52c3FydHBpID0gTCg1LjY0MTg5NTgzNTQ3NzU2Mjg2OTQ4MDc5NDUxNTYwNzcyNTg1ODQ0MDVFLTEpLAotQEAgLTE1MCw3ICsxNTEsMTcgQEAgX19pZWVlNzU0X2pubCAoaW50IG4sIF9GbG9hdDEyOCB4KQotIAkJdGVtcCA9IGMgLSBzOwotIAkJYnJlYWs7Ci0gCSAgICAgIH0KLSsJICAgIC8qIFdpdGggR0NDIDggKGFuZCBvbGRlcikgd2hlbiBjb21waWxpbmcgd2l0aCAtTyB0aGUgY29tcGlsZXIKLSsJICAgICAgIHdhcm5zIHRoYXQgdGhlIHZhcmlhYmxlICd0ZW1wJywgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZC4KLSsJICAgICAgIFRoZSBzd2l0Y2ggYWJvdmUgY292ZXJzIGFsbCBwb3NzaWJsZSB2YWx1ZXMgb2YgbiAmIDMKLSsJICAgICAgIGJ1dCBHQ0Mgd2l0aG91dCBWUlAgZW5hYmxlZCBpc24ndCBhYmxlIHRvIGZpZ3VyZSBvdXQgdGhlCi0rCSAgICAgICByYW5nZSBvZiBwb3NzaWJsZSB2YWx1ZXMgaXMgWzAsM10gYXMgZXhwbGFpbmVkIGluOgotKwkgICAgICAgaHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NjkyMzAKLSsJICAgICAgIHNvIGl0J3MgZmFsc2UgcG9zc2l0aXZlIHdpdGggLU8xIGFuZCBsb3dlci4gKi8KLSsJICAgIERJQUdfUFVTSF9ORUVEU19DT01NRU5UOwotKwkgICAgRElBR19JR05PUkVfTkVFRFNfQ09NTUVOVCAoOCwgIi1XbWF5YmUtdW5pbml0aWFsaXplZCIpOwotIAkgICAgYiA9IGludnNxcnRwaSAqIHRlbXAgLyBzcXJ0bCAoeCk7Ci0rCSAgICBESUFHX1BPUF9ORUVEU19DT01NRU5UOwotIAkgIH0KLSAJZWxzZQotIAkgIHsKLUBAIC0zODYsNyArMzk3LDE3IEBAIF9faWVlZTc1NF95bmwgKGludCBuLCBfRmxvYXQxMjggeCkKLSAJICAgIHRlbXAgPSBzICsgYzsKLSAJICAgIGJyZWFrOwotIAkgIH0KLSsJLyogV2l0aCBHQ0MgOCAoYW5kIG9sZGVyKSB3aGVuIGNvbXBpbGluZyB3aXRoIC1PIHRoZSBjb21waWxlcgotKwkgICB3YXJucyB0aGF0IHRoZSB2YXJpYWJsZSAndGVtcCcsIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQuCi0rCSAgIFRoZSBzd2l0Y2ggYWJvdmUgY292ZXJzIGFsbCBwb3NzaWJsZSB2YWx1ZXMgb2YgbiAmIDMKLSsJICAgYnV0IEdDQyB3aXRob3V0IFZSUCBlbmFibGVkIGlzbid0IGFibGUgdG8gZmlndXJlIG91dCB0aGUKLSsJICAgcmFuZ2Ugb2YgcG9zc2libGUgdmFsdWVzIGlzIFswLDNdIGFzIGV4cGxhaW5lZCBpbjoKLSsJICAgaHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NjkyMzAKLSsJICAgc28gaXQncyBmYWxzZSBwb3NzaXRpdmUgd2l0aCAtTzEgYW5kIGxvd2VyLiAqLwotKwlESUFHX1BVU0hfTkVFRFNfQ09NTUVOVDsKLSsJRElBR19JR05PUkVfTkVFRFNfQ09NTUVOVCAoOCwgIi1XbWF5YmUtdW5pbml0aWFsaXplZCIpOwotIAliID0gaW52c3FydHBpICogdGVtcCAvIHNxcnRsICh4KTsKLSsJRElBR19QT1BfTkVFRFNfQ09NTUVOVDsKLSAgICAgICB9Ci0gICAgIGVsc2UKLSAgICAgICB7Ci1kaWZmIC0tZ2l0IGEvc3lzZGVwcy9pZWVlNzU0L2xkYmwtMTI4aWJtL2Vfam5sLmMgYi9zeXNkZXBzL2llZWU3NTQvbGRibC0xMjhpYm0vZV9qbmwuYwotaW5kZXggNzFiM2FkZGZiYS4uMzIyNmQwMjMwOSAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOGlibS9lX2pubC5jCi0rKysgYi9zeXNkZXBzL2llZWU3NTQvbGRibC0xMjhpYm0vZV9qbmwuYwotQEAgLTYxLDYgKzYxLDcgQEAKLSAjaW5jbHVkZSA8bWF0aC5oPgotICNpbmNsdWRlIDxtYXRoX3ByaXZhdGUuaD4KLSAjaW5jbHVkZSA8bWF0aC11bmRlcmZsb3cuaD4KLSsjaW5jbHVkZSA8bGliYy1kaWFnLmg+Ci0gCi0gc3RhdGljIGNvbnN0IGxvbmcgZG91YmxlCi0gICBpbnZzcXJ0cGkgPSA1LjY0MTg5NTgzNTQ3NzU2Mjg2OTQ4MDc5NDUxNTYwNzcyNTg1ODQ0MDVFLTFMLAotQEAgLTE1MCw3ICsxNTEsMTcgQEAgX19pZWVlNzU0X2pubCAoaW50IG4sIGxvbmcgZG91YmxlIHgpCi0gCQl0ZW1wID0gYyAtIHM7Ci0gCQlicmVhazsKLSAJICAgICAgfQotKwkgICAgLyogV2l0aCBHQ0MgOCAoYW5kIG9sZGVyKSB3aGVuIGNvbXBpbGluZyB3aXRoIC1PIHRoZSBjb21waWxlcgotKwkgICAgICAgd2FybnMgdGhhdCB0aGUgdmFyaWFibGUgJ3RlbXAnLCBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkLgotKwkgICAgICAgVGhlIHN3aXRjaCBhYm92ZSBjb3ZlcnMgYWxsIHBvc3NpYmxlIHZhbHVlcyBvZiBuICYgMwotKwkgICAgICAgYnV0IEdDQyB3aXRob3V0IFZSUCBlbmFibGVkIGlzbid0IGFibGUgdG8gZmlndXJlIG91dCB0aGUKLSsJICAgICAgIHJhbmdlIG9mIHBvc3NpYmxlIHZhbHVlcyBpcyBbMCwzXSBhcyBleHBsYWluZWQgaW46Ci0rCSAgICAgICBodHRwczovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD02OTIzMAotKwkgICAgICAgc28gaXQncyBmYWxzZSBwb3NzaXRpdmUgd2l0aCAtTzEgYW5kIGxvd2VyLiAqLwotKwkgICAgRElBR19QVVNIX05FRURTX0NPTU1FTlQ7Ci0rCSAgICBESUFHX0lHTk9SRV9ORUVEU19DT01NRU5UICg4LCAiLVdtYXliZS11bmluaXRpYWxpemVkIik7Ci0gCSAgICBiID0gaW52c3FydHBpICogdGVtcCAvIHNxcnRsICh4KTsKLSsJICAgIERJQUdfUE9QX05FRURTX0NPTU1FTlQ7Ci0gCSAgfQotIAllbHNlCi0gCSAgewotQEAgLTM4Niw3ICszOTcsMTcgQEAgX19pZWVlNzU0X3lubCAoaW50IG4sIGxvbmcgZG91YmxlIHgpCi0gCSAgICB0ZW1wID0gcyArIGM7Ci0gCSAgICBicmVhazsKLSAJICB9Ci0rCS8qIFdpdGggR0NDIDggKGFuZCBvbGRlcikgd2hlbiBjb21waWxpbmcgd2l0aCAtTyB0aGUgY29tcGlsZXIKLSsJICAgd2FybnMgdGhhdCB0aGUgdmFyaWFibGUgJ3RlbXAnLCBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkLgotKwkgICBUaGUgc3dpdGNoIGFib3ZlIGNvdmVycyBhbGwgcG9zc2libGUgdmFsdWVzIG9mIG4gJiAzCi0rCSAgIGJ1dCBHQ0Mgd2l0aG91dCBWUlAgZW5hYmxlZCBpc24ndCBhYmxlIHRvIGZpZ3VyZSBvdXQgdGhlCi0rCSAgIHJhbmdlIG9mIHBvc3NpYmxlIHZhbHVlcyBpcyBbMCwzXSBhcyBleHBsYWluZWQgaW46Ci0rCSAgIGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTY5MjMwCi0rCSAgIHNvIGl0J3MgZmFsc2UgcG9zc2l0aXZlIHdpdGggLU8xIGFuZCBsb3dlci4gKi8KLSsJRElBR19QVVNIX05FRURTX0NPTU1FTlQ7Ci0rCURJQUdfSUdOT1JFX05FRURTX0NPTU1FTlQgKDgsICItV21heWJlLXVuaW5pdGlhbGl6ZWQiKTsKLSAJYiA9IGludnNxcnRwaSAqIHRlbXAgLyBzcXJ0bCAoeCk7Ci0rCURJQUdfUE9QX05FRURTX0NPTU1FTlQ7Ci0gICAgICAgfQotICAgICBlbHNlCi0gICAgICAgewotZGlmZiAtLWdpdCBhL3N5c2RlcHMvaWVlZTc1NC9sZGJsLTk2L2Vfam5sLmMgYi9zeXNkZXBzL2llZWU3NTQvbGRibC05Ni9lX2pubC5jCi1pbmRleCAzOTQ5MjFmNTY0Li5kYTVjMmNjOTNlIDEwMDY0NAotLS0tIGEvc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYvZV9qbmwuYwotKysrIGIvc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYvZV9qbmwuYwotQEAgLTYxLDYgKzYxLDcgQEAKLSAjaW5jbHVkZSA8bWF0aC5oPgotICNpbmNsdWRlIDxtYXRoX3ByaXZhdGUuaD4KLSAjaW5jbHVkZSA8bWF0aC11bmRlcmZsb3cuaD4KLSsjaW5jbHVkZSA8bGliYy1kaWFnLmg+Ci0gCi0gc3RhdGljIGNvbnN0IGxvbmcgZG91YmxlCi0gICBpbnZzcXJ0cGkgPSA1LjY0MTg5NTgzNTQ3NzU2Mjg2OTQ4MDc5ZS0xTCwgdHdvID0gMi4wZTBMLCBvbmUgPSAxLjBlMEw7Ci1AQCAtMTQzLDcgKzE0NCwxNyBAQCBfX2llZWU3NTRfam5sIChpbnQgbiwgbG9uZyBkb3VibGUgeCkKLSAJCXRlbXAgPSBjIC0gczsKLSAJCWJyZWFrOwotIAkgICAgICB9Ci0rCSAgICAvKiBXaXRoIEdDQyA4IChhbmQgb2xkZXIpIHdoZW4gY29tcGlsaW5nIHdpdGggLU8gdGhlIGNvbXBpbGVyCi0rCSAgICAgICB3YXJucyB0aGF0IHRoZSB2YXJpYWJsZSAndGVtcCcsIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQuCi0rCSAgICAgICBUaGUgc3dpdGNoIGFib3ZlIGNvdmVycyBhbGwgcG9zc2libGUgdmFsdWVzIG9mIG4gJiAzCi0rCSAgICAgICBidXQgR0NDIHdpdGhvdXQgVlJQIGVuYWJsZWQgaXNuJ3QgYWJsZSB0byBmaWd1cmUgb3V0IHRoZQotKwkgICAgICAgcmFuZ2Ugb2YgcG9zc2libGUgdmFsdWVzIGlzIFswLDNdIGFzIGV4cGxhaW5lZCBpbjoKLSsJICAgICAgIGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTY5MjMwCi0rCSAgICAgICBzbyBpdCdzIGZhbHNlIHBvc3NpdGl2ZSB3aXRoIC1PMSBhbmQgbG93ZXIuICovCi0rCSAgICBESUFHX1BVU0hfTkVFRFNfQ09NTUVOVDsKLSsJICAgIERJQUdfSUdOT1JFX05FRURTX0NPTU1FTlQgKDgsICItV21heWJlLXVuaW5pdGlhbGl6ZWQiKTsKLSAJICAgIGIgPSBpbnZzcXJ0cGkgKiB0ZW1wIC8gc3FydGwgKHgpOwotKwkgICAgRElBR19QT1BfTkVFRFNfQ09NTUVOVDsKLSAJICB9Ci0gCWVsc2UKLSAJICB7Ci1AQCAtMzcyLDcgKzM4MywxNyBAQCBfX2llZWU3NTRfeW5sIChpbnQgbiwgbG9uZyBkb3VibGUgeCkKLSAJICAgIHRlbXAgPSBzICsgYzsKLSAJICAgIGJyZWFrOwotIAkgIH0KLSsJLyogV2l0aCBHQ0MgOCAoYW5kIG9sZGVyKSB3aGVuIGNvbXBpbGluZyB3aXRoIC1PIHRoZSBjb21waWxlcgotKwkgICB3YXJucyB0aGF0IHRoZSB2YXJpYWJsZSAndGVtcCcsIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQuCi0rCSAgIFRoZSBzd2l0Y2ggYWJvdmUgY292ZXJzIGFsbCBwb3NzaWJsZSB2YWx1ZXMgb2YgbiAmIDMKLSsJICAgYnV0IEdDQyB3aXRob3V0IFZSUCBlbmFibGVkIGlzbid0IGFibGUgdG8gZmlndXJlIG91dCB0aGUKLSsJICAgcmFuZ2Ugb2YgcG9zc2libGUgdmFsdWVzIGlzIFswLDNdIGFzIGV4cGxhaW5lZCBpbjoKLSsJICAgaHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NjkyMzAKLSsJICAgc28gaXQncyBmYWxzZSBwb3NzaXRpdmUgd2l0aCAtTzEgYW5kIGxvd2VyLiAqLwotKwlESUFHX1BVU0hfTkVFRFNfQ09NTUVOVDsKLSsJRElBR19JR05PUkVfTkVFRFNfQ09NTUVOVCAoOCwgIi1XbWF5YmUtdW5pbml0aWFsaXplZCIpOwotIAliID0gaW52c3FydHBpICogdGVtcCAvIHNxcnRsICh4KTsKLSsJRElBR19QT1BfTkVFRFNfQ09NTUVOVDsKLSAgICAgICB9Ci0gICAgIGVsc2UKLSAgICAgICB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMzItc3lzZGVwcy1pZWVlNzU0LXNvZnQtZnAtaWdub3JlLW1heWJlLXVuaW5pdGlhbGl6ZWQtdy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAzMi1zeXNkZXBzLWllZWU3NTQtc29mdC1mcC1pZ25vcmUtbWF5YmUtdW5pbml0aWFsaXplZC13LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OWNkMjUwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAzMi1zeXNkZXBzLWllZWU3NTQtc29mdC1mcC1pZ25vcmUtbWF5YmUtdW5pbml0aWFsaXplZC13LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTAwICswLDAgQEAKLUZyb20gNjE4NjY4NTQwZTI2M2MwOWIwZWIyODEzMWRkZTdiNDUwMDE1OGZkNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KLURhdGU6IFN1biwgMTYgU2VwIDIwMTggMTI6Mzk6MjIgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gc3lzZGVwcy9pZWVlNzU0L3NvZnQtZnA6IGlnbm9yZSBtYXliZS11bmluaXRpYWxpemVkIHdpdGggLU8KLSBbQlogIzE5NDQ0XQotCi0qIHdpdGggLU8sIC1PMSwgLU9zIGl0IGZhaWxzIHdpdGg6Ci0KLUluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zb2Z0LWZwL3NvZnQtZnAuaDozMTgsCi0gICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy9pZWVlNzU0L3NvZnQtZnAvc19mZGl2LmM6Mjg6Ci0uLi9zeXNkZXBzL2llZWU3NTQvc29mdC1mcC9zX2ZkaXYuYzogSW4gZnVuY3Rpb24gJ19fZmRpdic6Ci0uLi9zb2Z0LWZwL29wLTIuaDo5ODoyNTogZXJyb3I6ICdSX2YxJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZF0KLSAgICAgICAgWCMjX2YwID0gKFgjI19mMSA8PCAoX0ZQX1dfVFlQRV9TSVpFIC0gKE4pKSB8IFgjI19mMCA+PiAoTikgXAotICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci0uLi9zeXNkZXBzL2llZWU3NTQvc29mdC1mcC9zX2ZkaXYuYzozODoxNDogbm90ZTogJ1JfZjEnIHdhcyBkZWNsYXJlZCBoZXJlCi0gICBGUF9ERUNMX0QgKFIpOwotICAgICAgICAgICAgICBeCi0uLi9zb2Z0LWZwL29wLTIuaDozNzozNjogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyAnX0ZQX0ZSQUNfREVDTF8yJwotICAgX0ZQX1dfVFlQRSBYIyNfZjAgX0ZQX1pFUk9fSU5JVCwgWCMjX2YxIF9GUF9aRVJPX0lOSVQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLS4uL3NvZnQtZnAvZG91YmxlLmg6OTU6MjQ6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnX0ZQX0RFQ0wnCi0gIyBkZWZpbmUgRlBfREVDTF9EKFgpICBfRlBfREVDTCAoMiwgWCkKLSAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+Ci0uLi9zeXNkZXBzL2llZWU3NTQvc29mdC1mcC9zX2ZkaXYuYzozODozOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0ZQX0RFQ0xfRCcKLSAgIEZQX0RFQ0xfRCAoUik7Ci0gICBefn5+fn5+fn4KLS4uL3NvZnQtZnAvb3AtMi5oOjEwMToxNzogZXJyb3I6ICdSX2YwJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZF0KLSAgICAgICA6IChYIyNfZjAgPDwgKF9GUF9XX1RZUEVfU0laRSAtIChOKSkpICE9IDApKTsgXAotICAgICAgICAgICAgICAgICBefgotLi4vc3lzZGVwcy9pZWVlNzU0L3NvZnQtZnAvc19mZGl2LmM6Mzg6MTQ6IG5vdGU6ICdSX2YwJyB3YXMgZGVjbGFyZWQgaGVyZQotICAgRlBfREVDTF9EIChSKTsKLSAgICAgICAgICAgICAgXgotLi4vc29mdC1mcC9vcC0yLmg6Mzc6MTQ6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ19GUF9GUkFDX0RFQ0xfMicKLSAgIF9GUF9XX1RZUEUgWCMjX2YwIF9GUF9aRVJPX0lOSVQsIFgjI19mMSBfRlBfWkVST19JTklUCi0gICAgICAgICAgICAgIF4KLS4uL3NvZnQtZnAvZG91YmxlLmg6OTU6MjQ6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnX0ZQX0RFQ0wnCi0gIyBkZWZpbmUgRlBfREVDTF9EKFgpICBfRlBfREVDTCAoMiwgWCkKLSAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+Ci0uLi9zeXNkZXBzL2llZWU3NTQvc29mdC1mcC9zX2ZkaXYuYzozODozOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0ZQX0RFQ0xfRCcKLSAgIEZQX0RFQ0xfRCAoUik7Ci0gICBefn5+fn5+fn4KLQotQnVpbGQgdGVzdGVkIHdpdGggWW9jdG8gZm9yIEFSTSwgQUFSQ0g2NCwgWDg2LCBYODZfNjQsIFBQQywgTUlQUywgTUlQUzY0Ci13aXRoIC1PLCAtTzEsIC1Pcy4KLUZvciBBQVJDSDY0IGl0IG5lZWRzIG9uZSBtb3JlIGZpeCBpbiBsb2NhbGUgZm9yIC1Pcy4KLQotCVBhcnRpYWwgZml4IGZvciBbQlogIzIzNzE2XQotCSogc3lzZGVwcy9pZWVlNzU0L3NvZnQtZnAvc19mZGl2LmM6IEZpeCBidWlsZCB3aXRoIC1PCi0KLVdvcmsgYXJvdW5kIHRoZSBpc3N1ZSBpbnN0ZWFkIG9mIHJlbW92aW5nIC1PIGxpa2Ugd2UgZG8gd2l0aAotU0VMRUNURURfT1BUSU1JWkFUSU9OCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL3d3dy5zb3VyY2V3YXJlLm9yZy9tbC9saWJjLWFscGhhLzIwMTgtMDkvbXNnMDAzMDAuaHRtbF0KLQotU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgotLS0tCi0gQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKysrCi0gc3lzZGVwcy9pZWVlNzU0L3NvZnQtZnAvc19mZGl2LmMgfCAxMiArKysrKysrKysrKysKLSAyIGZpbGVzIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwotaW5kZXggOTIyZTkxNmYyYy4uMjE2MzM2ZWRjOSAxMDA2NDQKLS0tLSBhL0NoYW5nZUxvZwotKysrIGIvQ2hhbmdlTG9nCi1AQCAtMSwzICsxLDcgQEAKLSsyMDE4LTA5LTMwICBNYXJ0aW4gSmFuc2EgIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgotKwlQYXJ0aWFsIGZpeCBmb3IgW0JaICMyMzcxNl0KLSsJKiBzeXNkZXBzL2llZWU3NTQvc29mdC1mcC9zX2ZkaXYuYzogRml4IGJ1aWxkIHdpdGggLU8uCi0rCi0gMjAxOC0wOS0yOSAgTWFydGluIEphbnNhICA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KLSAJUGFydGlhbCBmaXggZm9yIFtCWiAjMjM3MTZdCi0gCSogc3lzZGVwcy9pZWVlNzU0L2RibC05Ni9lX2pubC5jOiBGaXggYnVpbGQgd2l0aCAtTwotZGlmZiAtLWdpdCBhL3N5c2RlcHMvaWVlZTc1NC9zb2Z0LWZwL3NfZmRpdi5jIGIvc3lzZGVwcy9pZWVlNzU0L3NvZnQtZnAvc19mZGl2LmMKLWluZGV4IDM0MTMzOWY1ZWQuLjE0NjU1Yjc3ZGEgMTAwNjQ0Ci0tLS0gYS9zeXNkZXBzL2llZWU3NTQvc29mdC1mcC9zX2ZkaXYuYwotKysrIGIvc3lzZGVwcy9pZWVlNzU0L3NvZnQtZnAvc19mZGl2LmMKLUBAIC0yNSw2ICsyNSwxNiBAQAotICN1bmRlZiBmZGl2bAotIAotICNpbmNsdWRlIDxtYXRoLW5hcnJvdy5oPgotKwotKyNpbmNsdWRlIDxsaWJjLWRpYWcuaD4KLSsvKiBSX2ZbMDFdIGFyZSBub3Qgc2V0IGluIGNhc2VzIHdoZXJlIGl0IGlzIG5vdCB1c2VkIGluIHBhY2tpbmcsIGJ1dCB0aGUKLSsgICBjb21waWxlciBkb2VzIG5vdCBzZWUgdGhhdCBpdCBpcyBzZXQgaW4gYWxsIGNhc2VzIHdoZXJlIGl0IGlzCi0rICAgdXNlZCwgcmVzdWx0aW5nIGluIHdhcm5pbmdzIHRoYXQgaXQgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZC4KLSsgICBUaGUgbG9jYXRpb24gb2YgdGhlIHdhcm5pbmcgZGlmZmVycyBpbiBkaWZmZXJlbnQgdmVyc2lvbnMgb2YgR0NDLAotKyAgIGl0IG1heSBiZSB3aGVyZSBSIGlzIGRlZmluZWQgdXNpbmcgYSBtYWNybyBvciBpdCBtYXkgYmUgd2hlcmUgdGhlCi0rICAgbWFjcm8gaXMgZGVmaW5lZC4gICovCi0rRElBR19QVVNIX05FRURTX0NPTU1FTlQ7Ci0rRElBR19JR05PUkVfTkVFRFNfQ09NTUVOVCAoOCwgIi1XbWF5YmUtdW5pbml0aWFsaXplZCIpOwotICNpbmNsdWRlIDxzb2Z0LWZwLmg+Ci0gI2luY2x1ZGUgPHNpbmdsZS5oPgotICNpbmNsdWRlIDxkb3VibGUuaD4KLUBAIC01Myw0ICs2Myw2IEBAIF9fZmRpdiAoZG91YmxlIHgsIGRvdWJsZSB5KQotICAgQ0hFQ0tfTkFSUk9XX0RJViAocmV0LCB4LCB5KTsKLSAgIHJldHVybiByZXQ7Ci0gfQotK0RJQUdfUE9QX05FRURTX0NPTU1FTlQ7Ci0rCi0gbGlibV9hbGlhc19mbG9hdF9kb3VibGUgKGRpdikKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAzMy1sb2NhbGUtcHJldmVudC1tYXliZS11bmluaXRpYWxpemVkLWVycm9ycy13aXRoLU9zLUJaLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDMzLWxvY2FsZS1wcmV2ZW50LW1heWJlLXVuaW5pdGlhbGl6ZWQtZXJyb3JzLXdpdGgtT3MtQloucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMxMDU4Y2EuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDMzLWxvY2FsZS1wcmV2ZW50LW1heWJlLXVuaW5pdGlhbGl6ZWQtZXJyb3JzLXdpdGgtT3MtQloucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2OCArMCwwIEBACi1Gcm9tIGNiYWRhMWExYjIxOGMxZWY2MWQwZWI0MzYzZmFkNzU5OGU2NTA5ZDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+Ci1EYXRlOiBTdW4sIDMwIFNlcCAyMDE4IDA5OjE2OjQ4ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGxvY2FsZTogcHJldmVudCBtYXliZS11bmluaXRpYWxpemVkIGVycm9ycyB3aXRoIC1PcyBbQloKLSAjMTk0NDRdCi0KLUZpeGVzIGZvbGxvd2luZyBlcnJvciB3aGVuIGJ1aWxkaW5nIGZvciBhYXJjaDY0IHdpdGggLU9zOgotfCBJbiBmaWxlIGluY2x1ZGVkIGZyb20gc3RyY29sbF9sLmM6NDM6Ci18IHN0cmNvbGxfbC5jOiBJbiBmdW5jdGlvbiAnX19zdHJjb2xsX2wnOgotfCAuLi9sb2NhbGUvd2VpZ2h0Lmg6MzE6MjY6IGVycm9yOiAnc2VxMi5iYWNrX3VzJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZF0KLXwgICAgaW50X2Zhc3QzMl90IGkgPSB0YWJsZVsqKCpjcHApKytdOwotfCAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fgotfCBzdHJjb2xsX2wuYzozMDQ6MTg6IG5vdGU6ICdzZXEyLmJhY2tfdXMnIHdhcyBkZWNsYXJlZCBoZXJlCi18ICAgIGNvbGxfc2VxIHNlcTEsIHNlcTI7Ci18ICAgICAgICAgICAgICAgICAgIF5+fn4KLXwgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIHN0cmNvbGxfbC5jOjQzOgotfCAuLi9sb2NhbGUvd2VpZ2h0Lmg6MzE6MjY6IGVycm9yOiAnc2VxMS5iYWNrX3VzJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZF0KLXwgICAgaW50X2Zhc3QzMl90IGkgPSB0YWJsZVsqKCpjcHApKytdOwotfCAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fgotfCBzdHJjb2xsX2wuYzozMDQ6MTI6IG5vdGU6ICdzZXExLmJhY2tfdXMnIHdhcyBkZWNsYXJlZCBoZXJlCi18ICAgIGNvbGxfc2VxIHNlcTEsIHNlcTI7Ci18ICAgICAgICAgICAgIF5+fn4KLQotICAgICAgICBQYXJ0aWFsIGZpeCBmb3IgW0JaICMyMzcxNl0KLSAgICAgICAgKiBsb2NhbGUvd2VpZ2h0Lmg6IEZpeCBidWlsZCB3aXRoIC1Pcy4KLQotV29yayBhcm91bmQgdGhlIGlzc3VlIGluc3RlYWQgb2YgcmVtb3ZpbmcgLU8gbGlrZSB3ZSBkbyB3aXRoCi1TRUxFQ1RFRF9PUFRJTUlaQVRJT04KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vd3d3LnNvdXJjZXdhcmUub3JnL21sL2xpYmMtYWxwaGEvMjAxOC0wOS9tc2cwMDUzOS5odG1sXQotCi1TaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+Ci0tLS0KLSBDaGFuZ2VMb2cgICAgICAgfCA0ICsrKysKLSBsb2NhbGUvd2VpZ2h0LmggfCA3ICsrKysrKysKLSAyIGZpbGVzIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwotaW5kZXggMjE2MzM2ZWRjOS4uODRmYmJmNDdlZCAxMDA2NDQKLS0tLSBhL0NoYW5nZUxvZwotKysrIGIvQ2hhbmdlTG9nCi1AQCAtMSwzICsxLDcgQEAKLSsyMDE4LTA5LTMwICBNYXJ0aW4gSmFuc2EgIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgotKwlQYXJ0aWFsIGZpeCBmb3IgW0JaICMyMzcxNl0KLSsJKiBsb2NhbGUvd2VpZ2h0Lmg6IEZpeCBidWlsZCB3aXRoIC1Pcy4KLSsKLSAyMDE4LTA5LTMwICBNYXJ0aW4gSmFuc2EgIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgotIAlQYXJ0aWFsIGZpeCBmb3IgW0JaICMyMzcxNl0KLSAJKiBzeXNkZXBzL2llZWU3NTQvc29mdC1mcC9zX2ZkaXYuYzogRml4IGJ1aWxkIHdpdGggLU8uCi1kaWZmIC0tZ2l0IGEvbG9jYWxlL3dlaWdodC5oIGIvbG9jYWxlL3dlaWdodC5oCi1pbmRleCA2MDI4ZDM1OTVlLi4xMGJjZWEyNWU1IDEwMDY0NAotLS0tIGEvbG9jYWxlL3dlaWdodC5oCi0rKysgYi9sb2NhbGUvd2VpZ2h0LmgKLUBAIC0yOCw3ICsyOCwxNCBAQCBmaW5kaWR4IChjb25zdCBpbnQzMl90ICp0YWJsZSwKLSAJIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmV4dHJhLAotIAkgY29uc3QgdW5zaWduZWQgY2hhciAqKmNwcCwgc2l6ZV90IGxlbikKLSB7Ci0rICAvKiBXaXRoIEdDQyA4IHdoZW4gY29tcGlsaW5nIHdpdGggLU9zIHRoZSBjb21waWxlciB3YXJucyB0aGF0Ci0rICAgICBzZXExLmJhY2tfdXMgYW5kIHNlcTIuYmFja191cyBtaWdodCBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQuCi0rICAgICBUaGlzIHVuaW5pdGlhbGl6ZWQgdXNlIGlzIGltcG9zc2libGUgZm9yIHRoZSBzYW1lIHJlYXNvbgotKyAgICAgYXMgZGVzY3JpYmVkIGluIGNvbW1lbnRzIGluIGxvY2FsZS93ZWlnaHR3Yy5oLiAgKi8KLSsgIERJQUdfUFVTSF9ORUVEU19DT01NRU5UOwotKyAgRElBR19JR05PUkVfT3NfTkVFRFNfQ09NTUVOVCAoOCwgIi1XbWF5YmUtdW5pbml0aWFsaXplZCIpOwotICAgaW50X2Zhc3QzMl90IGkgPSB0YWJsZVsqKCpjcHApKytdOwotKyAgRElBR19QT1BfTkVFRFNfQ09NTUVOVDsKLSAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNwOwotICAgY29uc3QgdW5zaWduZWQgY2hhciAqdXNyYzsKLSAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAzNC1pbmplY3QtZmlsZS1hc3NlbWJseS1kaXJlY3RpdmVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDM0LWluamVjdC1maWxlLWFzc2VtYmx5LWRpcmVjdGl2ZXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU1ZWJhMmQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDM0LWluamVjdC1maWxlLWFzc2VtYmx5LWRpcmVjdGl2ZXMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNzIgKzAsMCBAQAotQ3VycmVudGx5LCBub24tSUEgYnVpbGRzIGFyZSBub3QgcmVwcm9kdWNpYmlsZSBzaW5jZSBidWlsZCBwYXRocyBhcmUgCi1iZWluZyBpbmplY3RlZCBpbnRvIHRoZSBkZWJ1ZyBzeW1ib2xzLiBUaGVzZSBhcmUgY29taW5nIGZyb20gdGhlIHVzZSBvZgotLlMgYXNzZW1ibGVyIGZpbGVzIGR1cmluZyB0aGUgZ2xpYmMgYnVpbGQuIE5vIFNUVF9GSUxFIHNlY3Rpb24gaXMgYWRkZWQKLWR1cmluZyB0aGUgYXNzZW1ibHkgYnV0IHdoZW4gbGlua2luZywgbGQgZGVjaWRlcyB0byBhZGQgb25lIHRvIGFpZCAKLWRlYnVnZ2luZyBhbmQgZW5zdXJlIHJlZmVyZW5jZXMgYmV0d2VlbiB0aGUgZGlmZmVyZW50IG9iamVjdCBmaWxlcyBpdHMKLWxpbmtpbmcgcmVtYWluIGNsZWFyLgotCi1XZSBjYW4gYXZvaWQgdGhpcyBieSBpbmplY3RpbmcgYSBmaWxlIGhlYWRlciBpbnRvIHRoZSBhc3NlbWJsZXIgZmlsZXMKLWFoZWFkIG9mIHRpbWUsIGNob29zaW5nIGEgZmlsZW5hbWUgd2hpY2ggZG9lcyBub3QgY29udGFpbiBidWlsZCBzeXN0ZW0KLXBhdGhzLgotCi1UaGlzIGlzIGEgYml0IG9mIGEgd29ya2Fyb3VuZC9oYWNrIGJ1dCBkb2VzIHNpZ25pZmljYW50bHkgcmVkdWNlIHRoZQotYnVpbGQgc3lzdGVtIHJlZmVyZW5jZXMgaW4gdGFyZ2V0IGJpbmFyaWVzIGZvciB0aGUgbm9uLUlBIGFyY2hpdGVjdHVyZXMKLXdoaWNoIHVzZSAuUyBmaWxlcy4KLQotUlAKLTIwMTgvMTAvMwotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotZGlmZiAtLWdpdCBhL2NzdS9hYmktbm90ZS5TIGIvY3N1L2FiaS1ub3RlLlMKLWluZGV4IDVkMGNhNzgwM2QuLjhjZTQxNTgxYjEgMTAwNjQ0Ci0tLS0gYS9jc3UvYWJpLW5vdGUuUwotKysrIGIvY3N1L2FiaS1ub3RlLlMKLUBAIC01Niw2ICs1Niw4IEBAIG9mZnNldAlsZW5ndGgJY29udGVudHMKLSAjaW5jbHVkZSA8Y29uZmlnLmg+Ci0gI2luY2x1ZGUgPGFiaS10YWcuaD4JCS8qIE9TLXNwZWNpZmljIEFCSSB0YWcgdmFsdWUgKi8KLSAKLSsJLmZpbGUgImFiaS1ub3RlLlMiCi0rCi0gLyogVGhlIGxpbmtlciAoR05VIGxkIDIuOCBhbmQgbGF0ZXIpIHJlY29nbml6ZXMgYW4gYWxsb2NhdGVkIHNlY3Rpb24gd2hvc2UKLSAgICBuYW1lIGJlZ2lucyB3aXRoIGAubm90ZScgYW5kIGNyZWF0ZXMgYSBQVF9OT1RFIHByb2dyYW0gaGVhZGVyIGVudHJ5Ci0gICAgcG9pbnRpbmcgYXQgaXQuICovCi1kaWZmIC0tZ2l0IGEvc3lzZGVwcy9hYXJjaDY0L2NydGkuUyBiL3N5c2RlcHMvYWFyY2g2NC9jcnRpLlMKLWluZGV4IDJiMjEzNzU4YjIuLjczNmYzM2UzMTQgMTAwNjQ0Ci0tLS0gYS9zeXNkZXBzL2FhcmNoNjQvY3J0aS5TCi0rKysgYi9zeXNkZXBzL2FhcmNoNjQvY3J0aS5TCi1AQCAtNTAsNiArNTAsOCBAQAotICMgZGVmaW5lIFBSRUlOSVRfRlVOQ1RJT05fV0VBSyAxCi0gI2VuZGlmCi0gCi0rICAgIC5maWxlICJjcnRpLlMiCi0rCi0gI2lmIFBSRUlOSVRfRlVOQ1RJT05fV0VBSwotIAl3ZWFrX2V4dGVybiAoUFJFSU5JVF9GVU5DVElPTikKLSAjZWxzZQotZGlmZiAtLWdpdCBhL3N5c2RlcHMvYWFyY2g2NC9jcnRuLlMgYi9zeXNkZXBzL2FhcmNoNjQvY3J0bi5TCi1pbmRleCBkNzIzMDBhZjgwLi5jYjI0OWJmM2NhIDEwMDY0NAotLS0tIGEvc3lzZGVwcy9hYXJjaDY0L2NydG4uUwotKysrIGIvc3lzZGVwcy9hYXJjaDY0L2NydG4uUwotQEAgLTM3LDYgKzM3LDggQEAKLSAvKiBjcnRuLlMgcHV0cyBmdW5jdGlvbiBlcGlsb2d1ZXMgaW4gdGhlIC5pbml0IGFuZCAuZmluaSBzZWN0aW9ucwotICAgIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHByb2xvZ3VlcyBpbiBjcnRpLlMuICovCi0gCi0rCS5maWxlICJjcnRuLlMiCi0rCi0gCS5zZWN0aW9uIC5pbml0LCJheCIsJXByb2diaXRzCi0gCWxkcAl4MjksIHgzMCwgW3NwXSwgMTYKLSAJUkVUCi1kaWZmIC0tZ2l0IGEvc3lzZGVwcy9hYXJjaDY0L3N0YXJ0LlMgYi9zeXNkZXBzL2FhcmNoNjQvc3RhcnQuUwotaW5kZXggYmFkMDAwZjU1NS4uNTk1N2MwMjhjZCAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvYWFyY2g2NC9zdGFydC5TCi0rKysgYi9zeXNkZXBzL2FhcmNoNjQvc3RhcnQuUwotQEAgLTE4LDYgKzE4LDggQEAKLSAKLSAjaW5jbHVkZSA8c3lzZGVwLmg+Ci0gCi0rCS5maWxlICJzdGFydC5TIgotKwotIC8qIFRoaXMgaXMgdGhlIGNhbm9uaWNhbCBlbnRyeSBwb2ludCwgdXN1YWxseSB0aGUgZmlyc3QgdGhpbmcgaW4gdGhlIHRleHQKLSAgICBzZWdtZW50LgotIAotZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FhcmNoNjQvX19yZWFkX3RwLlMgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0L19fcmVhZF90cC5TCi1pbmRleCA5MmZjMDE5MWE1Li43MTViZmNiOWU0IDEwMDY0NAotLS0tIGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWFyY2g2NC9fX3JlYWRfdHAuUwotKysrIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWFyY2g2NC9fX3JlYWRfdHAuUwotQEAgLTE4LDYgKzE4LDggQEAKLSAKLSAjaW5jbHVkZSA8c3lzZGVwLmg+Ci0gCi0rCS5maWxlICJfX3JlYWRfdHAuUyIKLSsKLSAJLmhpZGRlbiBfX3JlYWRfdHAKLSBFTlRSWSAoX19yZWFkX3RwKQotIAltcnMJeDAsIHRwaWRyX2VsMAotZGlmZiAtLWdpdCBhL3N5c2RlcHMvYWFyY2g2NC9kbC10bHNkZXNjLlMgYi9zeXNkZXBzL2FhcmNoNjQvZGwtdGxzZGVzYy5TCi1pbmRleCA0M2E2MmVmMzA3Li40MmY4NWNkZGU5IDEwMDY0NAotLS0tIGEvc3lzZGVwcy9hYXJjaDY0L2RsLXRsc2Rlc2MuUwotKysrIGIvc3lzZGVwcy9hYXJjaDY0L2RsLXRsc2Rlc2MuUwotQEAgLTIyLDYgKzIyLDggQEAKLSAjaW5jbHVkZSA8dGxzLmg+Ci0gI2luY2x1ZGUgInRsc2Rlc2MuaCIKLSAKLSsJLmZpbGUgImRsLXRsc2Rlc2MuUyIKLSsKLSAjZGVmaW5lIE5TQVZFRFFSRUdQQUlSUwkxNgotICNkZWZpbmUgU0FWRV9RX1JFR0lTVEVSUwkJCQlcCi0gCXN0cAlxMCwgcTEsCVtzcCwgIy0zMipOU0FWRURRUkVHUEFJUlNdITsJXAotZGlmZiAtLWdpdCBhL3N5c2RlcHMvYWFyY2g2NC9kbC10cmFtcG9saW5lLlMgYi9zeXNkZXBzL2FhcmNoNjQvZGwtdHJhbXBvbGluZS5TCi1pbmRleCBhODZkMDcyMmQ0Li45MmVkYWIxZDAxIDEwMDY0NAotLS0tIGEvc3lzZGVwcy9hYXJjaDY0L2RsLXRyYW1wb2xpbmUuUwotKysrIGIvc3lzZGVwcy9hYXJjaDY0L2RsLXRyYW1wb2xpbmUuUwotQEAgLTIxLDYgKzIxLDggQEAKLSAKLSAjaW5jbHVkZSAiZGwtbGluay5oIgotIAotKwkuZmlsZSAiZGwtdHJhbXBvbGluZS5TIgotKwotICNkZWZpbmUgaXAwIHgxNgotICNkZWZpbmUgaXAwbCBQVFJfUkVHICgxNikKLSAjZGVmaW5lIGlwMSB4MTcKLWRpZmYgLS1naXQgYS9zeXNkZXBzL2FybS9hYmktbm90ZS5TIGIvc3lzZGVwcy9hcm0vYWJpLW5vdGUuUwotaW5kZXggMDdiZDRjNDYxOS4uNzIxM2IxNmYyNyAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvYXJtL2FiaS1ub3RlLlMKLSsrKyBiL3N5c2RlcHMvYXJtL2FiaS1ub3RlLlMKLUBAIC0xLDMgKzEsNSBAQAotKwkuZmlsZSAiYWJpLW5vdGUuUyIKLSsKLSAvKiBUYWdfQUJJX2FsaWduOF9wcmVzZXJ2ZWQ6IFRoaXMgY29kZSBwcmVzZXJ2ZXMgOC1ieXRlCi0gICAgYWxpZ25tZW50IGluIGFueSBjYWxsZWUuICAqLwotIAkuZWFiaV9hdHRyaWJ1dGUgMjUsIDEKLWRpZmYgLS1naXQgYS9zeXNkZXBzL2FybS9jcnRpLlMgYi9zeXNkZXBzL2FybS9jcnRpLlMKLWluZGV4IGExNDI0ZDAzMzMuLmJjYTFkYWIyNTYgMTAwNjQ0Ci0tLS0gYS9zeXNkZXBzL2FybS9jcnRpLlMKLSsrKyBiL3N5c2RlcHMvYXJtL2NydGkuUwotQEAgLTU3LDYgKzU3LDggQEAKLSAJLmhpZGRlbiBQUkVJTklUX0ZVTkNUSU9OCi0gI2VuZGlmCi0gCi0rICAgIC5maWxlICJjcnRpLlMiCi0rCi0gI2lmIFBSRUlOSVRfRlVOQ1RJT05fV0VBSwotIAkucDJhbGlnbiAyCi0gCS50eXBlIGNhbGxfd2Vha19mbiwgJWZ1bmN0aW9uCi1kaWZmIC0tZ2l0IGEvc3lzZGVwcy9hcm0vY3J0bi5TIGIvc3lzZGVwcy9hcm0vY3J0bi5TCi1pbmRleCAyNjAyNzY5M2NlLi42NWEwNTAyODI2IDEwMDY0NAotLS0tIGEvc3lzZGVwcy9hcm0vY3J0bi5TCi0rKysgYi9zeXNkZXBzL2FybS9jcnRuLlMKLUBAIC0zNyw2ICszNyw4IEBACi0gI2RlZmluZSBOT19USFVNQgotICNpbmNsdWRlIDxzeXNkZXAuaD4KLSAKLSsgICAgLmZpbGUgImNydG4uUyIKLSsKLSAvKiBjcnRuLlMgcHV0cyBmdW5jdGlvbiBlcGlsb2d1ZXMgaW4gdGhlIC5pbml0IGFuZCAuZmluaSBzZWN0aW9ucwotICAgIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHByb2xvZ3VlcyBpbiBjcnRpLlMuICovCi0gCi1kaWZmIC0tZ2l0IGEvc3lzZGVwcy9hcm0vZGwtdGxzZGVzYy5TIGIvc3lzZGVwcy9hcm0vZGwtdGxzZGVzYy5TCi1pbmRleCAwNTZlMTdkNTJkLi5hOThjNjhkZmI5IDEwMDY0NAotLS0tIGEvc3lzZGVwcy9hcm0vZGwtdGxzZGVzYy5TCi0rKysgYi9zeXNkZXBzL2FybS9kbC10bHNkZXNjLlMKLUBAIC0yMSw2ICsyMSw4IEBACi0gI2luY2x1ZGUgPHRscy5oPgotICNpbmNsdWRlICJ0bHNkZXNjLmgiCi0gCi0rCS5maWxlICJkbC10bHNkZXNjLlMiCi0rCi0gCS50ZXh0Ci0gCUAgZW1pdCBkZWJ1ZyBpbmZvcm1hdGlvbiB3aXRoIGNmaQotIAlAIHVzZSBhcm0tc3BlY2lmaWMgcHNldWRvcyBmb3IgdW53aW5kaW5nIGl0c2VsZgotZGlmZiAtLWdpdCBhL3N5c2RlcHMvYXJtL2RsLXRyYW1wb2xpbmUuUyBiL3N5c2RlcHMvYXJtL2RsLXRyYW1wb2xpbmUuUwotaW5kZXggYzczMWIwMTI4Ni4uNGIzN2IyNTM0NCAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvYXJtL2RsLXRyYW1wb2xpbmUuUwotKysrIGIvc3lzZGVwcy9hcm0vZGwtdHJhbXBvbGluZS5TCi1AQCAtMjEsNiArMjEsOCBAQAotICNpbmNsdWRlIDxzeXNkZXAuaD4KLSAjaW5jbHVkZSA8bGliYy1zeW1ib2xzLmg+Ci0gCi0rCS5maWxlICJkbC10cmFtcG9saW5lLlMiCi0rCi0gCS50ZXh0Ci0gCS5nbG9ibCBfZGxfcnVudGltZV9yZXNvbHZlCi0gCS50eXBlIF9kbF9ydW50aW1lX3Jlc29sdmUsICNmdW5jdGlvbgotZGlmZiAtLWdpdCBhL3N5c2RlcHMvYXJtL3N0YXJ0LlMgYi9zeXNkZXBzL2FybS9zdGFydC5TCi1pbmRleCBhZGVmMDkwNzE3Li5kMjJlNDEyOGUwIDEwMDY0NAotLS0tIGEvc3lzZGVwcy9hcm0vc3RhcnQuUwotKysrIGIvc3lzZGVwcy9hcm0vc3RhcnQuUwotQEAgLTU3LDYgKzU3LDggQEAKLSAJCQkJCU5VTEwKLSAqLwotIAotKwkuZmlsZSAic3RhcnQuUyIKLSsKLSAvKiBUYWdfQUJJX2FsaWduOF9wcmVzZXJ2ZWQ6IFRoaXMgY29kZSBwcmVzZXJ2ZXMgOC1ieXRlCi0gICAgYWxpZ25tZW50IGluIGFueSBjYWxsZWUuICAqLwotIAkuZWFiaV9hdHRyaWJ1dGUgMjUsIDEKLWRpZmYgLS1naXQgYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vYWVhYmlfcmVhZF90cC5TIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2FlYWJpX3JlYWRfdHAuUwotaW5kZXggODcxNzAyMzE3YS4uMjBhOTQyZGJhYyAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9hZWFiaV9yZWFkX3RwLlMKLSsrKyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9hZWFiaV9yZWFkX3RwLlMKLUBAIC0zOSw2ICszOSw4IEBACi0gICAgYSBub3JtYWwgZnVuY3Rpb24gY2FsbCkgaW4gYSBoaWdoIHBhZ2Ugb2YgbWVtb3J5OyB0YWlsIGNhbGwgdG8gdGhlCi0gICAgaGVscGVyLiAgKi8KLSAKLSsJLmZpbGUgImFlYWJpX3JlYWRfdHAuUyIKLSsKLSAJLmhpZGRlbiBfX2FlYWJpX3JlYWRfdHAKLSBFTlRSWSAoX19hZWFiaV9yZWFkX3RwKQotICNpZmRlZiBBUkNIX0hBU19IQVJEX1RQCi1kaWZmIC0tZ2l0IGEvc3lzZGVwcy9taXBzL3N0YXJ0LlMgYi9zeXNkZXBzL21pcHMvc3RhcnQuUwotaW5kZXggYTRjNGVmMGZhZS4uZDAwZmZmMzFhOCAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvbWlwcy9zdGFydC5TCi0rKysgYi9zeXNkZXBzL21pcHMvc3RhcnQuUwotQEAgLTM4LDYgKzM4LDggQEAKLSAjaW5jbHVkZSA8c2dpZGVmcy5oPgotICNpbmNsdWRlIDxzeXMvYXNtLmg+Ci0gCi0rCS5maWxlICJzdGFydC5TIgotKwotICNpZm5kZWYgRU5UUllfUE9JTlQKLSAjZXJyb3IgRU5UUllfUE9JTlQgbmVlZHMgdG8gYmUgZGVmaW5lZCBmb3Igc3RhcnQuUyBvbiBNSVBTL0VMRi4KLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2RsLWJyay5TIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9kbC1icmsuUwotaW5kZXggZWViOTY1NDRlMy4uZGExODJiMjhmOCAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvZGwtYnJrLlMKLSsrKyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvZGwtYnJrLlMKLUBAIC0xICsxLDMgQEAKLSsJLmZpbGUgImRsLWJyay5TIgotKwotICNpbmNsdWRlIDxicmsuUz4KLWRpZmYgLS1naXQgYS9zeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL3N0YXJ0LlMgYi9zeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL3N0YXJ0LlMKLWluZGV4IDVjMTBhMjJmOGEuLjJiNTI2MjdmMjcgMTAwNjQ0Ci0tLS0gYS9zeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL3N0YXJ0LlMKLSsrKyBiL3N5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvc3RhcnQuUwotQEAgLTM1LDYgKzM1LDggQEAKLSAKLSAjaW5jbHVkZSA8c3lzZGVwLmg+Ci0gCi0rCS5maWxlICJzdGFydC5TIgotKwotIC8qIFdlIGRvIG5vdCB3YW50IC5laF9mcmFtZSBpbmZvIGZvciBjcnQxLm8gc2luY2UgY3J0MS5vIGlzIGxpbmtlZAotICAgIGJlZm9yZSBjcnRiZWdpbi5vLCB0aGUgZmlsZSBkZWZpbmluZyBfX0VIX0ZSQU1FX0JFR0lOX18uICAqLwotICN1bmRlZiBjZmlfc3RhcnRwcm9jCi1kaWZmIC0tZ2l0IGEvc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9zdGFydC5TIGIvc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9zdGFydC5TCi1pbmRleCBiZDcxODkzMTBjLi4yZTIyYjg0NzJkIDEwMDY0NAotLS0tIGEvc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9zdGFydC5TCi0rKysgYi9zeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L3N0YXJ0LlMKLUBAIC0zNSw2ICszNSw4IEBACi0gCi0gI2luY2x1ZGUgPHN5c2RlcC5oPgotIAotKwkuZmlsZSAic3RhcnQuUyIKLSsKLSAvKiBXZSBkbyBub3Qgd2FudCAuZWhfZnJhbWUgaW5mbyBmb3IgY3J0MS5vIHNpbmNlIGNydDEubyBpcyBsaW5rZWQKLSAgICBiZWZvcmUgY3J0YmVnaW4ubywgdGhlIGZpbGUgZGVmaW5pbmcgX19FSF9GUkFNRV9CRUdJTl9fLiAgKi8KLSAjdW5kZWYgY2ZpX3N0YXJ0cHJvYwotZGlmZiAtLWdpdCBhL3N5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvZGwtc3RhcnQuUyBiL3N5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvZGwtc3RhcnQuUwotaW5kZXggMjQ0ZDg3ZmI2ZC4uMTRkM2UyY2UxNCAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvZGwtc3RhcnQuUwotKysrIGIvc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9kbC1zdGFydC5TCi1AQCAtMTgsNiArMTgsOCBAQAotIAotICNpbmNsdWRlIDxzeXNkZXAuaD4KLSAKLSsJLmZpbGUgImRsLXN0YXJ0LlMiCi0rCi0gLyogSW5pdGlhbCBlbnRyeSBwb2ludCBjb2RlIGZvciB0aGUgZHluYW1pYyBsaW5rZXIuCi0gICAgVGhlIEMgZnVuY3Rpb24gYF9kbF9zdGFydCcgaXMgdGhlIHJlYWwgZW50cnkgcG9pbnQ7Ci0gICAgaXRzIHJldHVybiB2YWx1ZSBpcyB0aGUgdXNlciBwcm9ncmFtJ3MgZW50cnkgcG9pbnQuCSovCi1kaWZmIC0tZ2l0IGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2xpYmMtZG8tc3lzY2FsbC5TIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2xpYmMtZG8tc3lzY2FsbC5TCi1pbmRleCBkMjZhZDFmOGQzLi5hMGRlMTBiZjgxIDEwMDY0NAotLS0tIGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2xpYmMtZG8tc3lzY2FsbC5TCi0rKysgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vbGliYy1kby1zeXNjYWxsLlMKLUBAIC0yNyw2ICsyNyw4IEBACi0gICAgQVJNIHVud2luZCB0YWJsZXMgZm9yIHJlZ2lzdGVyIHRvIHJlZ2lzdGVyIG1vdmVzLCB0aGUgYWN0dWFsIG9wY29kZXMKLSAgICBhcmUgbm90IGRlZmluZWQuICAqLwotIAotKyAgICAgIC5maWxlICJsaWJjLWRvLXN5c2NhbGwuUyIKLSsKLSAjaWYgZGVmaW5lZChfX3RodW1iX18pCi0gCS50aHVtYgotIAkuc3ludGF4IHVuaWZpZWQKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvQ1ZFLTIwMTktOTE2OS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvQ1ZFLTIwMTktOTE2OS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYzQwMzYxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy9DVkUtMjAxOS05MTY5LnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0NWRTogQ1ZFLTIwMTktOTE2OQorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworRnJvbSA1ODNkZDg2MGQ1YjgzMzAzNzE3NTI0NzIzMGEzMjhmMDA1MGRiZmU5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGF1bCBFZ2dlcnQgPGVnZ2VydEBjcy51Y2xhLmVkdT4KK0RhdGU6IE1vbiwgMjEgSmFuIDIwMTkgMTE6MDg6MTMgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gcmVnZXg6IGZpeCByZWFkIG92ZXJydW4gW0JaICMyNDExNF0KKworUHJvYmxlbSBmb3VuZCBieSBBZGRyZXNzU2FuaXRpemVyLCByZXBvcnRlZCBieSBIb25neHUgQ2hlbiBpbjoKK2h0dHBzOi8vZGViYnVncy5nbnUub3JnLzM0MTQwCisqIHBvc2l4L3JlZ2V4ZWMuYyAocHJvY2VlZF9uZXh0X25vZGUpOgorRG8gbm90IHJlYWQgcGFzdCBlbmQgb2YgaW5wdXQgYnVmZmVyLgorLS0tCisgcG9zaXgvcmVnZXhlYy5jIHwgIDYgKysrKy0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvcG9zaXgvcmVnZXhlYy5jIGIvcG9zaXgvcmVnZXhlYy5jCitpbmRleCA5MWQ1YTc5Li4wODRiMTIyIDEwMDY0NAorLS0tIGEvcG9zaXgvcmVnZXhlYy5jCisrKysgYi9wb3NpeC9yZWdleGVjLmMKK0BAIC0xMjkzLDggKzEyOTMsMTAgQEAgcHJvY2VlZF9uZXh0X25vZGUgKGNvbnN0IHJlX21hdGNoX2NvbnRleHRfdCAqbWN0eCwgSWR4IG5yZWdzLCByZWdtYXRjaF90ICpyZWdzLAorIAkgICAgICBlbHNlIGlmIChuYWNjZXB0ZWQpCisgCQl7CisgCQkgIGNoYXIgKmJ1ZiA9IChjaGFyICopIHJlX3N0cmluZ19nZXRfYnVmZmVyICgmbWN0eC0+aW5wdXQpOworLQkJICBpZiAobWVtY21wIChidWYgKyByZWdzW3N1YmV4cF9pZHhdLnJtX3NvLCBidWYgKyAqcGlkeCwKKy0JCQkgICAgICBuYWNjZXB0ZWQpICE9IDApCisrCQkgIGlmIChtY3R4LT5pbnB1dC52YWxpZF9sZW4gLSAqcGlkeCA8IG5hY2NlcHRlZAorKwkJICAgICAgfHwgKG1lbWNtcCAoYnVmICsgcmVnc1tzdWJleHBfaWR4XS5ybV9zbywgYnVmICsgKnBpZHgsCisrCQkJCSAgbmFjY2VwdGVkKQorKwkJCSAgIT0gMCkpCisgCQkgICAgcmV0dXJuIC0xOworIAkJfQorIAkgICAgfQorLS0gCisyLjkuMwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliY18yLjI4LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliY18yLjI4LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMDcyOTM5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmNfMi4yOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEzNSArMCwwIEBACi1yZXF1aXJlIGdsaWJjLmluYwotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFUzttZDU9Y2ZjMGVkNzdhOWY2MmZhNjJlZGVkMDQyZWJlMzFkNzIgXAotICAgICAgZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKLSAgICAgIGZpbGU6Ly9wb3NpeC9yeHNwZW5jZXIvQ09QWVJJR0hUO21kNT1kYzU0ODViYjM5NGExM2IyMzMyZWMxYzc4NWY1ZDgzYSBcCi0gICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIgotCi1ERVBFTkRTICs9ICJncGVyZi1uYXRpdmUgYmlzb24tbmF0aXZlIG1ha2UtbmF0aXZlIgotCi1TUkNSRVYgPz0gIjA0NGM5NmYwZDU1OTVhZWIwYmI0ZTc5MzU1MDgxYzVhN2Y0ZmFjYTUiCi0KLVNSQ0JSQU5DSCA/PSAicmVsZWFzZS8ke1BWfS9tYXN0ZXIiCi0KLUdMSUJDX0dJVF9VUkkgPz0gImdpdDovL3NvdXJjZXdhcmUub3JnL2dpdC9nbGliYy5naXQiCi1VUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICIoP1A8cHZlcj5cZCtcLlxkKyhcLig/ITkwKVxkKykqKSIKLQotU1JDX1VSSSA9ICIke0dMSUJDX0dJVF9VUkl9O2JyYW5jaD0ke1NSQ0JSQU5DSH07bmFtZT1nbGliYyBcCi0gICAgICAgICAgIGZpbGU6Ly9ldGMvbGQuc28uY29uZiBcCi0gICAgICAgICAgIGZpbGU6Ly9nZW5lcmF0ZS1zdXBwb3J0ZWQubWsgXAotICAgICAgICAgICBmaWxlOi8vbWFrZWRicy5zaCBcCi0gICAgICAgICAgIFwKLSAgICAgICAgICAgJHtOQVRJVkVTREtGSVhFU30gXAotICAgICAgICAgICBmaWxlOi8vMDAwNi1mc2wtZTUwMC1lNTUwMC1lNjUwMC02MDNlLWZzcXJ0LWltcGxlbWVudGF0aW9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDctcmVhZGxpYi1BZGQtT0VDT1JFX0tOT1dOX0lOVEVSUFJFVEVSX05BTUVTLXRvLWtub3duLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA4LXBwYy1zcXJ0LUZpeC11bmRlZmluZWQtcmVmZXJlbmNlLXRvLV9fc3FydF9maW5pdGUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwOS1fX2llZWU3NTRfc3FydC1mLWFyZS1ub3ctaW5saW5lLWZ1bmN0aW9ucy1hbmQtY2FsbC1vLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTAtUXVvdGUtZnJvbS1idWctMTQ0My13aGljaC1leHBsYWlucy13aGF0LXRoZS1wYXRjaC1kby5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDExLWVnbGliYy1ydW4tbGlibS1lcnItdGFiLnBsLXdpdGgtc3BlY2lmaWMtZGlycy1pbi1TLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTItX19pZWVlNzU0X3NxcnQtZi1hcmUtbm93LWlubGluZS1mdW5jdGlvbnMtYW5kLWNhbGwtby5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDEzLXN5c2RlcHMtZ251LWNvbmZpZ3VyZS5hYy1oYW5kbGUtY29ycmVjdGx5LWxpYmNfY3Zfcm8ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxNC1BZGQtdW51c2VkLWF0dHJpYnV0ZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDE1LXllcy13aXRoaW4tdGhlLXBhdGgtc2V0cy13cm9uZy1jb25maWctdmFyaWFibGVzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTYtdGltZXpvbmUtcmUtd3JpdHRlbi10enNlbGVjdC1hcy1wb3NpeC1zaC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDE3LVJlbW92ZS1iYXNoLWRlcGVuZGVuY3ktZm9yLW5zY2QtaW5pdC1zY3JpcHQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxOC1lZ2xpYmMtQ3Jvc3MtYnVpbGRpbmctYW5kLXRlc3RpbmctaW5zdHJ1Y3Rpb25zLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTktZWdsaWJjLUhlbHAtYm9vdHN0cmFwLWNyb3NzLXRvb2xjaGFpbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDIwLWVnbGliYy1DbGVhci1jYWNoZS1saW5lcy1vbi1wcGM4eHgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMS1lZ2xpYmMtUmVzb2x2ZS1fX2Zwc2NyX3ZhbHVlcy1vbi1TSDQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMi1lZ2xpYmMtRm9yd2FyZC1wb3J0LWNyb3NzLWxvY2FsZS1nZW5lcmF0aW9uLXN1cHBvcnQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMy1EZWZpbmUtRFVNTVlfTE9DQUxFX1QtaWYtbm90LWRlZmluZWQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyNC1lbGYtZGwtZGVwcy5jLU1ha2UtX2RsX2J1aWxkX2xvY2FsX3Njb3BlLWJyZWFkdGgtZmlyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjUtbG9jYWxlLWZpeC1oYXJkLWNvZGVkLXJlZmVyZW5jZS10by1nY2MtRS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI2LXJlc2V0LWRsX2xvYWRfd3JpdGVfbG9jay1hZnRlci1mb3JraW5nLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjctQWNxdWlyZS1sZC5zby1sb2NrLWJlZm9yZS1zd2l0Y2hpbmctdG8tbWFsbG9jX2F0Zm9yay5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI4LWJpdHMtc2lnaW5mby1jb25zdHMuaC1lbnVtLWRlZmluaXRpb24tZm9yLVRSQVBfSFdCS1AucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyOS1sb2NhbGVkZWYtYWRkLXRvLWFyY2hpdmUtdXNlcy1hLWhhcmQtY29kZWQtbG9jYWxlLXBhLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMzAtaW50bC1FbWl0LW5vLWxpbmVzLWluLWJpc29uLWdlbmVyYXRlZC1maWxlcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDMxLXN5c2RlcHMtaWVlZTc1NC1wcmV2ZW50LW1heWJlLXVuaW5pdGlhbGl6ZWQtZXJyb3JzLXcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzMi1zeXNkZXBzLWllZWU3NTQtc29mdC1mcC1pZ25vcmUtbWF5YmUtdW5pbml0aWFsaXplZC13LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMzMtbG9jYWxlLXByZXZlbnQtbWF5YmUtdW5pbml0aWFsaXplZC1lcnJvcnMtd2l0aC1Pcy1CWi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDM0LWluamVjdC1maWxlLWFzc2VtYmx5LWRpcmVjdGl2ZXMucGF0Y2ggXAotIgotCi1OQVRJVkVTREtGSVhFUyA/PSAiIgotTkFUSVZFU0RLRklYRVNfY2xhc3MtbmF0aXZlc2RrID0gIlwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtbmF0aXZlc2RrLWdsaWJjLUxvb2stZm9yLWhvc3Qtc3lzdGVtLWxkLnNvLmNhY2hlLWFzLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLW5hdGl2ZXNkay1nbGliYy1GaXgtYnVmZmVyLW92ZXJydW4td2l0aC1hLXJlbG9jYXRlZC0ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMy1uYXRpdmVzZGstZ2xpYmMtUmFpc2UtdGhlLXNpemUtb2YtYXJyYXlzLWNvbnRhaW5pbmctLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDQtbmF0aXZlc2RrLWdsaWJjLUFsbG93LTY0LWJpdC1hdG9taWNzLWZvci14ODYucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNS1uYXRpdmVzZGstZ2xpYmMtTWFrZS1yZWxvY2F0YWJsZS1pbnN0YWxsLWZvci1sb2NhbGVzLnBhdGNoIFwKLSIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLUIgPSAiJHtXT1JLRElSfS9idWlsZC0ke1RBUkdFVF9TWVN9IgotCi1QQUNLQUdFU19EWU5BTUlDID0gIiIKLQotIyB0aGUgLWlzeXN0ZW0gaW4gYml0YmFrZS5jb25mIHNjcmV3cyB1cCBnbGliYyBkb19zdGFnZQotQlVJTERfQ1BQRkxBR1MgPSAiLUkke1NUQUdJTkdfSU5DRElSX05BVElWRX0iCi1UQVJHRVRfQ1BQRkxBR1MgPSAiLUkke1NUQUdJTkdfRElSX1RBUkdFVH0ke2luY2x1ZGVkaXJ9IgotCi1HTElCQ19CUk9LRU5fTE9DQUxFUyA9ICIiCi0jCi0jIFdlIHdpbGwgc2tpcCBwYXJzaW5nIGdsaWJjIHdoZW4gdGFyZ2V0IHN5c3RlbSBDIGxpYnJhcnkgc2VsZWN0aW9uIGlzIG5vdCBnbGliYwotIyB0aGlzIGhlbHBzIGluIGVhc2luZyBvdXQgcGFyc2luZyBmb3Igbm9uLWdsaWJjIHN5c3RlbSBsaWJyYXJpZXMKLSMKLUNPTVBBVElCTEVfSE9TVF9saWJjLW11c2xfY2xhc3MtdGFyZ2V0ID0gIm51bGwiCi0KLUdMSUJDUElFID8/PSAiIgotCi1FWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUta2VybmVsPSR7T0xERVNUX0tFUk5FTH0gXAotICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1wcm9maWxlIFwKLSAgICAgICAgICAgICAgICAtLWRpc2FibGUtZGVidWcgLS13aXRob3V0LWdkIFwKLSAgICAgICAgICAgICAgICAtLWVuYWJsZS1jbG9jYWxlPWdudSBcCi0gICAgICAgICAgICAgICAgLS13aXRoLWhlYWRlcnM9JHtTVEFHSU5HX0lOQ0RJUn0gXAotICAgICAgICAgICAgICAgIC0td2l0aG91dC1zZWxpbnV4IFwKLSAgICAgICAgICAgICAgICAtLWVuYWJsZS10dW5hYmxlcyBcCi0gICAgICAgICAgICAgICAgLS1lbmFibGUtYmluZC1ub3cgXAotICAgICAgICAgICAgICAgIC0tZW5hYmxlLXN0YWNrLXByb3RlY3Rvcj1zdHJvbmcgXAotICAgICAgICAgICAgICAgIC0tZW5hYmxlLXN0YWNrZ3VhcmQtcmFuZG9taXphdGlvbiBcCi0gICAgICAgICAgICAgICAgLS1kaXNhYmxlLWNyeXB0IFwKLSAgICAgICAgICAgICAgICAke0dMSUJDUElFfSBcCi0gICAgICAgICAgICAgICAgJHtHTElCQ19FWFRSQV9PRUNPTkZ9IgotCi1FWFRSQV9PRUNPTkYgKz0gIiR7QGdldF9saWJjX2ZwdV9zZXR0aW5nKGJiLCBkKX0iCi1FWFRSQV9PRUNPTkYgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGliYy1pbmV0LWFubCcsICctLWVuYWJsZS1uc2NkJywgJy0tZGlzYWJsZS1uc2NkJywgZCl9IgotCi0KLWRvX3BhdGNoX2FwcGVuZCgpIHsKLSAgICBiYi5idWlsZC5leGVjX2Z1bmMoJ2RvX2ZpeF9yZWFkbGliX2MnLCBkKQotfQotCi1kb19maXhfcmVhZGxpYl9jICgpIHsKLQlzZWQgLWkgLWUgJ3MjT0VDT1JFX0tOT1dOX0lOVEVSUFJFVEVSX05BTUVTIyR7RUdMSUJDX0tOT1dOX0lOVEVSUFJFVEVSX05BTUVTfSMnICR7U30vZWxmL3JlYWRsaWIuYwotfQotCi1kb19jb25maWd1cmUgKCkgewotIyBvdmVycmlkZSB0aGlzIGZ1bmN0aW9uIHRvIGF2b2lkIHRoZSBhdXRvY29uZi9hdXRvbWFrZS9hY2xvY2FsL2F1dG9oZWFkZXIKLSMgY2FsbHMgZm9yIG5vdwotIyBkb24ndCBwYXNzIENQUEZMQUdTIGludG8gY29uZmlndXJlLCBzaW5jZSBpdCB1cHNldHMgdGhlIGtlcm5lbC1oZWFkZXJzCi0jIHZlcnNpb24gY2hlY2sgYW5kIGRvZXNuJ3QgcmVhbGx5IGhlbHAgd2l0aCBhbnl0aGluZwotICAgICAgICAoY2QgJHtTfSAmJiBnbnUtY29uZmlnaXplKSB8fCBkaWUgImZhaWx1cmUgaW4gcnVubmluZyBnbnUtY29uZmlnaXplIgotICAgICAgICBmaW5kICR7U30gLW5hbWUgImNvbmZpZ3VyZSIgfCB4YXJncyB0b3VjaAotICAgICAgICBDUFBGTEFHUz0iIiBvZV9ydW5jb25mCi19Ci0KLWRvX2NvbXBpbGUgKCkgewotCSMgLVdsLC1ycGF0aC1saW5rIDxzdGFnaW5nPi9saWIgaW4gTERGTEFHUyBjYW4gY2F1c2UgYnJlYWthZ2UgaWYgYW5vdGhlciBnbGliYyBpcyBpbiBzdGFnaW5nCi0JdW5zZXQgTERGTEFHUwotCWJhc2VfZG9fY29tcGlsZQotCWVjaG8gIkFkanVzdCBsZGQgc2NyaXB0IgotCWlmIFsgLW4gIiR7UlRMRExJU1R9IiBdCi0JdGhlbgotCQlwcmV2cnRsZD1gY2F0ICR7Qn0vZWxmL2xkZCB8IGdyZXAgIl5SVExETElTVD0iIHwgc2VkICdzI15SVExETElTVD0iXD9cKFteIl0qXCkiXD8kI1wxIydgCi0JCWlmIFsgIiR7cHJldnJ0bGR9IiAhPSAiJHtSVExETElTVH0iIF0KLQkJdGhlbgotCQkJc2VkIC1pICR7Qn0vZWxmL2xkZCAtZSAicyNeUlRMRExJU1Q9LipcJCNSVExETElTVD1cIiR7cHJldnJ0bGR9ICR7UlRMRExJU1R9XCIjIgotCQlmaQotCWZpCi0KLX0KLQotcmVxdWlyZSBnbGliYy1wYWNrYWdlLmluYwotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmNfMi4yOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmNfMi4yOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MTg0YzU5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliY18yLjI5LmJiCkBAIC0wLDAgKzEsMTI5IEBACityZXF1aXJlIGdsaWJjLmluYworCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFUzttZDU9Y2ZjMGVkNzdhOWY2MmZhNjJlZGVkMDQyZWJlMzFkNzIgXAorICAgICAgZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKKyAgICAgIGZpbGU6Ly9wb3NpeC9yeHNwZW5jZXIvQ09QWVJJR0hUO21kNT1kYzU0ODViYjM5NGExM2IyMzMyZWMxYzc4NWY1ZDgzYSBcCisgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIgorCitERVBFTkRTICs9ICJncGVyZi1uYXRpdmUgYmlzb24tbmF0aXZlIG1ha2UtbmF0aXZlIgorCitQViA9ICIyLjI5IgorCitTUkNSRVYgPz0gIjg2MDEzZWY1Y2VhMzIyYjhmNGI5YzIyZjIzMGMyMmNjZTM2OWU5NDciCisKK1NSQ0JSQU5DSCA/PSAicmVsZWFzZS8ke1BWfS9tYXN0ZXIiCisKK0dMSUJDX0dJVF9VUkkgPz0gImdpdDovL3NvdXJjZXdhcmUub3JnL2dpdC9nbGliYy5naXQiCitVUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICIoP1A8cHZlcj5cZCtcLlxkKyhcLig/ITkwKVxkKykqKSIKKworTkFUSVZFU0RLRklYRVMgPz0gIiIKK05BVElWRVNES0ZJWEVTX2NsYXNzLW5hdGl2ZXNkayA9ICJcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW5hdGl2ZXNkay1nbGliYy1Mb29rLWZvci1ob3N0LXN5c3RlbS1sZC5zby5jYWNoZS1hcy0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1uYXRpdmVzZGstZ2xpYmMtRml4LWJ1ZmZlci1vdmVycnVuLXdpdGgtYS1yZWxvY2F0ZWQtLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtbmF0aXZlc2RrLWdsaWJjLVJhaXNlLXRoZS1zaXplLW9mLWFycmF5cy1jb250YWluaW5nLS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA0LW5hdGl2ZXNkay1nbGliYy1BbGxvdy02NC1iaXQtYXRvbWljcy1mb3IteDg2LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDUtbmF0aXZlc2RrLWdsaWJjLU1ha2UtcmVsb2NhdGFibGUtaW5zdGFsbC1mb3ItbG9jYWxlcy5wYXRjaCBcCisiCisKK1NSQ19VUkkgPSAiJHtHTElCQ19HSVRfVVJJfTticmFuY2g9JHtTUkNCUkFOQ0h9O25hbWU9Z2xpYmMgXAorICAgICAgICAgICBmaWxlOi8vZXRjL2xkLnNvLmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vZ2VuZXJhdGUtc3VwcG9ydGVkLm1rIFwKKyAgICAgICAgICAgZmlsZTovL21ha2VkYnMuc2ggXAorICAgICAgICAgICBcCisgICAgICAgICAgICR7TkFUSVZFU0RLRklYRVN9IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDYtZnNsLWU1MDAtZTU1MDAtZTY1MDAtNjAzZS1mc3FydC1pbXBsZW1lbnRhdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA3LXJlYWRsaWItQWRkLU9FQ09SRV9LTk9XTl9JTlRFUlBSRVRFUl9OQU1FUy10by1rbm93bi0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwOC1wcGMtc3FydC1GaXgtdW5kZWZpbmVkLXJlZmVyZW5jZS10by1fX3NxcnRfZmluaXRlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDktX19pZWVlNzU0X3NxcnQtZi1hcmUtbm93LWlubGluZS1mdW5jdGlvbnMtYW5kLWNhbGwtby5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDEwLVF1b3RlLWZyb20tYnVnLTE0NDMtd2hpY2gtZXhwbGFpbnMtd2hhdC10aGUtcGF0Y2gtZG8ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxMS1lZ2xpYmMtcnVuLWxpYm0tZXJyLXRhYi5wbC13aXRoLXNwZWNpZmljLWRpcnMtaW4tUy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDEyLV9faWVlZTc1NF9zcXJ0LWYtYXJlLW5vdy1pbmxpbmUtZnVuY3Rpb25zLWFuZC1jYWxsLW8ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxMy1zeXNkZXBzLWdudS1jb25maWd1cmUuYWMtaGFuZGxlLWNvcnJlY3RseS1saWJjX2N2X3JvLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTQtQWRkLXVudXNlZC1hdHRyaWJ1dGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxNS15ZXMtd2l0aGluLXRoZS1wYXRoLXNldHMtd3JvbmctY29uZmlnLXZhcmlhYmxlcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDE2LXRpbWV6b25lLXJlLXdyaXR0ZW4tdHpzZWxlY3QtYXMtcG9zaXgtc2gucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxNy1SZW1vdmUtYmFzaC1kZXBlbmRlbmN5LWZvci1uc2NkLWluaXQtc2NyaXB0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTgtZWdsaWJjLUNyb3NzLWJ1aWxkaW5nLWFuZC10ZXN0aW5nLWluc3RydWN0aW9ucy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDE5LWVnbGliYy1IZWxwLWJvb3RzdHJhcC1jcm9zcy10b29sY2hhaW4ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyMC1lZ2xpYmMtQ2xlYXItY2FjaGUtbGluZXMtb24tcHBjOHh4LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjEtZWdsaWJjLVJlc29sdmUtX19mcHNjcl92YWx1ZXMtb24tU0g0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjItZWdsaWJjLUZvcndhcmQtcG9ydC1jcm9zcy1sb2NhbGUtZ2VuZXJhdGlvbi1zdXBwb3J0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjMtRGVmaW5lLURVTU1ZX0xPQ0FMRV9ULWlmLW5vdC1kZWZpbmVkLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjQtbG9jYWxlZGVmLWFkZC10by1hcmNoaXZlLXVzZXMtYS1oYXJkLWNvZGVkLWxvY2FsZS1wYS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDI1LWVsZi1kbC1kZXBzLmMtTWFrZS1fZGxfYnVpbGRfbG9jYWxfc2NvcGUtYnJlYWR0aC1maXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyOC1pbnRsLUVtaXQtbm8tbGluZXMtaW4tYmlzb24tZ2VuZXJhdGVkLWZpbGVzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjktaW5qZWN0LWZpbGUtYXNzZW1ibHktZGlyZWN0aXZlcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDMwLWxvY2FsZS1wcmV2ZW50LW1heWJlLXVuaW5pdGlhbGl6ZWQtZXJyb3JzLXdpdGgtT3MtQloucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS14ODYtNjQtbWVtY21wLVVzZS11bnNpZ25lZC1KY2MtaW5zdHJ1Y3Rpb25zLW9uLXNpemUtLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL0NWRS0yMDE5LTkxNjkucGF0Y2ggXAorIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorQiA9ICIke1dPUktESVJ9L2J1aWxkLSR7VEFSR0VUX1NZU30iCisKK1BBQ0tBR0VTX0RZTkFNSUMgPSAiIgorCisjIHRoZSAtaXN5c3RlbSBpbiBiaXRiYWtlLmNvbmYgc2NyZXdzIHVwIGdsaWJjIGRvX3N0YWdlCitCVUlMRF9DUFBGTEFHUyA9ICItSSR7U1RBR0lOR19JTkNESVJfTkFUSVZFfSIKK1RBUkdFVF9DUFBGTEFHUyA9ICItSSR7U1RBR0lOR19ESVJfVEFSR0VUfSR7aW5jbHVkZWRpcn0iCisKK0dMSUJDX0JST0tFTl9MT0NBTEVTID0gIiIKKworR0xJQkNQSUUgPz89ICIiCisKK0VYVFJBX09FQ09ORiA9ICItLWVuYWJsZS1rZXJuZWw9JHtPTERFU1RfS0VSTkVMfSBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXByb2ZpbGUgXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1kZWJ1ZyAtLXdpdGhvdXQtZ2QgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWNsb2NhbGU9Z251IFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtaGVhZGVycz0ke1NUQUdJTkdfSU5DRElSfSBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LXNlbGludXggXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLXR1bmFibGVzIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1iaW5kLW5vdyBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtc3RhY2stcHJvdGVjdG9yPXN0cm9uZyBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtc3RhY2tndWFyZC1yYW5kb21pemF0aW9uIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtY3J5cHQgXAorICAgICAgICAgICAgICAgIC0td2l0aC1kZWZhdWx0LWxpbmsgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLW5zY2QgXAorICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zX2FueSgnU0VMRUNURURfT1BUSU1JWkFUSU9OJywgJy1PMCAtT2cnLCAnLS1kaXNhYmxlLXdlcnJvcicsICcnLCBkKX0gXAorICAgICAgICAgICAgICAgICR7R0xJQkNQSUV9IFwKKyAgICAgICAgICAgICAgICAke0dMSUJDX0VYVFJBX09FQ09ORn0iCisKK0VYVFJBX09FQ09ORiArPSAiJHtAZ2V0X2xpYmNfZnB1X3NldHRpbmcoYmIsIGQpfSIKKworZG9fcGF0Y2hfYXBwZW5kKCkgeworICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygnZG9fZml4X3JlYWRsaWJfYycsIGQpCit9CisKK2RvX2ZpeF9yZWFkbGliX2MgKCkgeworCXNlZCAtaSAtZSAncyNPRUNPUkVfS05PV05fSU5URVJQUkVURVJfTkFNRVMjJHtFR0xJQkNfS05PV05fSU5URVJQUkVURVJfTkFNRVN9IycgJHtTfS9lbGYvcmVhZGxpYi5jCit9CisKK2RvX2NvbmZpZ3VyZSAoKSB7CisjIG92ZXJyaWRlIHRoaXMgZnVuY3Rpb24gdG8gYXZvaWQgdGhlIGF1dG9jb25mL2F1dG9tYWtlL2FjbG9jYWwvYXV0b2hlYWRlcgorIyBjYWxscyBmb3Igbm93CisjIGRvbid0IHBhc3MgQ1BQRkxBR1MgaW50byBjb25maWd1cmUsIHNpbmNlIGl0IHVwc2V0cyB0aGUga2VybmVsLWhlYWRlcnMKKyMgdmVyc2lvbiBjaGVjayBhbmQgZG9lc24ndCByZWFsbHkgaGVscCB3aXRoIGFueXRoaW5nCisgICAgICAgIChjZCAke1N9ICYmIGdudS1jb25maWdpemUpIHx8IGRpZSAiZmFpbHVyZSBpbiBydW5uaW5nIGdudS1jb25maWdpemUiCisgICAgICAgIGZpbmQgJHtTfSAtbmFtZSAiY29uZmlndXJlIiB8IHhhcmdzIHRvdWNoCisgICAgICAgIENQUEZMQUdTPSIiIG9lX3J1bmNvbmYKK30KKworZG9fY29tcGlsZSAoKSB7CisJIyAtV2wsLXJwYXRoLWxpbmsgPHN0YWdpbmc+L2xpYiBpbiBMREZMQUdTIGNhbiBjYXVzZSBicmVha2FnZSBpZiBhbm90aGVyIGdsaWJjIGlzIGluIHN0YWdpbmcKKwl1bnNldCBMREZMQUdTCisJYmFzZV9kb19jb21waWxlCisJZWNobyAiQWRqdXN0IGxkZCBzY3JpcHQiCisJaWYgWyAtbiAiJHtSVExETElTVH0iIF0KKwl0aGVuCisJCXByZXZydGxkPWBjYXQgJHtCfS9lbGYvbGRkIHwgZ3JlcCAiXlJUTERMSVNUPSIgfCBzZWQgJ3MjXlJUTERMSVNUPSJcP1woW14iXSpcKSJcPyQjXDEjJ2AKKwkJIyByZW1vdmUgZHVwbGljYXRlIGVudHJpZXMKKwkJbmV3cnRsZD1gZWNobyAkKHByaW50ZiAnJXNcbicgJHtwcmV2cnRsZH0gJHtSVExETElTVH0gfCBMQ19BTEw9QyBzb3J0IC11KWAKKwkJZWNobyAibGRkIFwiJHtwcmV2cnRsZH0gJHtSVExETElTVH1cIiAtPiBcIiR7bmV3cnRsZH1cIiIKKwkJc2VkIC1pICR7Qn0vZWxmL2xkZCAtZSAicyNeUlRMRExJU1Q9LipcJCNSVExETElTVD1cIiR7bmV3cnRsZH1cIiMiCisJZmkKKworfQorCityZXF1aXJlIGdsaWJjLXBhY2thZ2UuaW5jCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9zaXRlX2NvbmZpZy9mdW5jcyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvc2l0ZV9jb25maWcvZnVuY3MKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNjYzg1MzkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9zaXRlX2NvbmZpZy9mdW5jcworKysgL2Rldi9udWxsCkBAIC0xLDQ3NCArMCwwIEBACi1hNjRsCi1hYnMKLWFjY2VzcwotX19hZGp0aW1leAotYWxhcm0KLWFscGhhc29ydAotYXJnel9hcHBlbmQKLV9fYXJnel9jb3VudAotYXJnel9jcmVhdGVfc2VwCi1hcmd6X2luc2VydAotX19hcmd6X25leHQKLWFyZ3pfbmV4dAotX19hcmd6X3N0cmluZ2lmeQotYXJnel9zdHJpbmdpZnkKLWFzcHJpbnRmCi1hdGV4aXQKLWF0b2YKLWF0b2kKLWJjbXAKLWJjb3B5Ci1iaW5kcmVzdnBvcnQKLWJpbmRfdGV4dGRvbWFpbl9jb2Rlc2V0Ci1idG93YwotYnplcm8KLWNhbGxvYwotY2Fub25pY2FsaXplX2ZpbGVfbmFtZQotY2F0Z2V0cwotY2ZnZXRvc3BlZWQKLWNmc2V0aXNwZWVkCi1jZnNldHNwZWVkCi1jaG1vZAotY2hvd24KLWNocm9vdAotY2xvY2sKLWNsb3NlCi1jbG9zZWRpcgotY2xvc2Vsb2cKLWNvbmZzdHIKLWNvbm5lY3QKLWRhZW1vbgotZGNnZXR0ZXh0Ci1kaWZmdGltZQotZGlyZmQKLWRpcm5hbWUKLWRuZ2V0dGV4dAotZHVwMgotZWN2dAotZW5kZ3JlbnQKLWVuZG1udGVudAotZW5kcHdlbnQKLWVuZHV0ZW50Ci1lbmR1dHhlbnQKLWVwb2xsX2N0bAotZXJyCi1ldGhlcl9ob3N0dG9uCi1ldGhlcl9udG9ob3N0Ci1ldWlkYWNjZXNzCi1leGVjdgotZmNoZGlyCi1mY2htb2QKLWZjaG1vZGF0Ci1mY2hvd24KLWZjaG93bmF0Ci1mY250bAotZmN2dAotZmRhdGFzeW5jCi1mZG9wZW5kaXIKLWZlb2ZfdW5sb2NrZWQKLWZnZXRzX3VubG9ja2VkCi1mZ2V0eGF0dHIKLWZpbml0ZQotZmxpc3R4YXR0cgotZmxvY2sKLWZsb2NrZmlsZQotZm5tYXRjaAotZm9yawotZnBhdGhjb25mCi1fX2ZwZW5kaW5nCi1mcHJpbnRmCi1mcmVlCi1mcmVlYWRkcmluZm8KLWZyZWVpZmFkZHJzCi1mc2Vla28KLV9fZnNldGxvY2tpbmcKLWZzZXR4YXR0cgotZnN0YXQ2NAotZnN0YXQKLWZzdGF0ZnMKLWZzeW5jCi1mdGVsbG8KLWZ0aW1lCi1mdHJ1bmNhdGUKLWZ1bmxvY2tmaWxlCi1mdXRpbWVzCi1mdXRpbWVzYXQKLWdhaV9zdHJlcnJvcgotZ2N2dAotZ2V0YWRkcmluZm8KLWdldGNfdW5sb2NrZWQKLWdldGN3ZAotZ2V0ZGVsaW0KLWdldGRvbWFpbm5hbWUKLWdldGR0YWJsZXNpemUKLWdldGVnaWQKLWdldGVudgotZ2V0ZXVpZAotZ2V0Z2lkCi1nZXRncmVudAotZ2V0Z3JlbnRfcgotZ2V0Z3JnaWRfcgotZ2V0Z3JuYW0KLWdldGdybmFtX3IKLWdldGdyb3VwbGlzdAotZ2V0Z3JvdXBzCi1nZXRob3N0YnlhZGRyX3IKLWdldGhvc3RieW5hbWUyCi1nZXRob3N0YnluYW1lCi1nZXRob3N0YnluYW1lX3IKLWdldGhvc3RlbnQKLWdldGhvc3RpZAotZ2V0aG9zdG5hbWUKLWdldGlmYWRkcnMKLWdldGxpbmUKLWdldGxvYWRhdmcKLWdldG1udGVudAotZ2V0bXNnCi1nZXRuYW1laW5mbwotZ2V0bmV0YnlhZGRyX3IKLWdldG5ldGdyZW50X3IKLWdldG9wdAotZ2V0b3B0X2xvbmcKLWdldG9wdF9sb25nX29ubHkKLWdldHBhZ2VzaXplCi1nZXRwYXNzCi1nZXRwZWVybmFtZQotZ2V0cGdycAotZ2V0cGlkCi1nZXRwcGlkCi1nZXRwcm90b2VudF9yCi1nZXRwd2VudAotZ2V0cHdlbnRfcgotZ2V0cHduYW0KLWdldHB3bmFtX3IKLWdldHB3dWlkCi1nZXRwd3VpZF9yCi1nZXRyZXN1aWQKLWdldHJsaW1pdAotZ2V0cnVzYWdlCi1nZXRzZXJ2YnluYW1lCi1nZXRzZXJ2YnluYW1lX3IKLWdldHNlcnZieXBvcnRfcgotZ2V0c2VydmVudAotZ2V0c2VydmVudF9yCi1nZXRzcG5hbQotZ2V0c3BuYW1fcgotZ2V0dGltZW9mZGF5Ci1nZXR0dHllbnQKLWdldHR0eW5hbQotZ2V0dWlkCi1nZXR1c2Vyc2hlbGwKLWdldHV0ZW50Ci1nZXR1dGlkCi1nZXR1dGxpbmUKLWdldHV0bXAKLWdldHV0bXB4Ci1nZXR1dHhlbnQKLWdldHV0eGlkCi1nZXR1dHhsaW5lCi1nZXR3ZAotZ2V0eGF0dHIKLWdsb2IKLWdtdGltZQotZ210aW1lX3IKLWdyYW50cHQKLWdyb3VwX21lbWJlcgotaGVycm9yCi1oc3RyZXJyb3IKLWljb252Ci1pY29udl9vcGVuCi1pZl9mcmVlbmFtZWluZGV4Ci1pZl9pbmRleHRvbmFtZQotaWZfbmFtZWluZGV4Ci1pZl9uYW1ldG9pbmRleAotaW5kZXgKLWluZXRfYWRkcgotaW5ldF9hdG9uCi1pbmV0X250b2EKLWluZXRfbnRvcAotaW5ldF9wdG9uCi1pbml0Z3JvdXBzCi1pbm5ldGdyCi1pcnVzZXJvawotaXNhc2NpaQotaXNhdHR5Ci1pc2JsYW5rCi1pc2dyYXBoCi1pc2luZgotaXNuYW4KLWlzcHJpbnQKLWlzc3BhY2UKLWlzd2FsbnVtCi1pc3djbnRybAotaXN3Y3R5cGUKLWlzd3ByaW50Ci1pc3dzcGFjZQotaXN3dXBwZXIKLWlzeGRpZ2l0Ci1raWxsCi1raWxscGcKLWxjaG93bgotbGNrcHdkZgotbGdldHhhdHRyCi1saW5rCi1saXN0eGF0dHIKLWxsaXN0eGF0dHIKLWxvY2FsdGltZQotbG9jYWx0aW1lX3IKLWxvY2tmCi1scmFuZDQ4Ci1sc2VhcmNoCi1sc2VlazY0Ci1sc2V0eGF0dHIKLWxzdGF0Ci1tYWxsaW5mbwotbWFsbG9jCi1tYmxlbgotbWJybGVuCi1tYnJ0b3djCi1tYnNpbml0Ci1tYnNydG93Y3MKLW1idG93YwotbWVtYWxpZ24KLW1lbWNocgotbWVtY21wCi1tZW1jcHkKLW1lbW1vdmUKLW1lbXBjcHkKLW1lbXJjaHIKLW1lbXNldAotbWtkaXIKLW1rZGlyYXQKLW1rZHRlbXAKLW1rZmlmbwotbWtub2QKLW1rc3RlbXA2NAotbWtzdGVtcAotbWt0aW1lCi1tbG9jawotbW1hcAotbXRyYWNlCi1tdW5sb2NrCi1tdW5tYXAKLW5hbm9zbGVlcAotbmljZQotbmxfbGFuZ2luZm8KLW50cF9hZGp0aW1lCi1udHBfZ2V0dGltZQotX29ic3RhY2tfZnJlZQotb25fZXhpdAotb3BlbjY0Ci1vcGVuCi1vcGVuYXQKLW9wZW5kaXIKLW9wZW5sb2cKLXBhdGhjb25mCi1waXBlCi1wb2xsCi1wb3BlbgotcG9zaXhfbWVtYWxpZ24KLXByY3RsCi1wcmVhZAotcHJpbnRmCi1fX3Byb2duYW1lCi1wc2VsZWN0Ci1wdGhyZWFkX211dGV4X2xvY2sKLXB0c25hbWUKLXB1dGVudgotcHV0Z3JlbnQKLXB1dHB3ZW50Ci1wdXRzcGVudAotcHV0dXRsaW5lCi1wdXR1dHhsaW5lCi1wdXR3YwotcHdyaXRlCi1xc29ydAotcmFpc2UKLXJhbmQKLXJhbmRvbQotcmFuZF9yCi1yZWFkCi1yZWFkZGlyCi1yZWFkZGlyX3IKLXJlYWRsaW5rCi1yZWFsbG9jCi1yZWFscGF0aAotcmVfY29tcAotcmVjdm1zZwotcmVfZXhlYwotcmVnY29tcAotcmVnZXhlYwotcmVtb3ZlCi1yZW5hbWUKLXJlX3NlYXJjaAotcm1kaXIKLXJwbWF0Y2gKLXJyZXN2cG9ydF9hZgotcnVzZXJvawotcnVzZXJva19hZgotc2Jyawotc2NhbmRpcgotc2NoZWRfc2V0c2NoZWR1bGVyCi1zY2hlZF95aWVsZAotX19zZWN1cmVfZ2V0ZW52Ci1zZWxlY3QKLXNlbWN0bAotc2VtZ2V0Ci1zZW5kbXNnCi1zZXRidWYKLXNldGJ1ZmZlcgotc2V0ZWdpZAotc2V0ZW52Ci1zZXRldWlkCi1zZXRnaWQKLXNldGdyb3Vwcwotc2V0aG9zdG5hbWUKLXNldGl0aW1lcgotX3NldGptcAotc2V0am1wCi1zZXRsaW5lYnVmCi1zZXRsb2NhbGUKLXNldG1udGVudAotc2V0cGdpZAotc2V0cGdycAotc2V0cHJpb3JpdHkKLXNldHJlZ2lkCi1zZXRyZXNnaWQKLXNldHJlc3VpZAotc2V0cmV1aWQKLXNldHJsaW1pdAotc2V0c2lkCi1zZXRzb2Nrb3B0Ci1zZXR0aW1lb2ZkYXkKLXNldHVpZAotc2V0dXRlbnQKLXNldHV0eGVudAotc2V0dmJ1Zgotc2V0eGF0dHIKLXNnZXRzcGVudAotc2htYXQKLXNobWN0bAotc2htZHQKLXNobWdldAotc2h1dGRvd24KLXNpZ2FjdGlvbgotc2lnYWRkc2V0Ci1zaWdhbHRzdGFjawotc2lnYmxvY2sKLXNpZ2VtcHR5c2V0Ci1zaWdob2xkCi1zaWdpbnRlcnJ1cHQKLXNpZ25hbAotc2lncHJvY21hc2sKLXNpZ3NldAotc2lnc2V0bWFzawotc2lnc3RhY2sKLXNpZ3N1c3BlbmQKLXNpZ3ZlYwotc25wcmludGYKLXNvY2tldAotc29ja2V0cGFpcgotc3ByaW50Zgotc3JhbmQ0OAotc3JhbmQKLXNyYW5kb20KLXNzY2FuZgotc3RhdAotc3RhdGZzCi1zdGF0dmZzCi1zdGltZQotc3RwY3B5Ci1zdHJjYXNlY21wCi1zdHJjYXNlc3RyCi1zdHJjaHIKLXN0cmNocm51bAotc3RyY21wCi1zdHJjc3BuCi1zdHJkdXAKLXN0cmVycm9yCi1zdHJlcnJvcl9yCi1zdHJmdGltZQotc3RybGVuCi1zdHJuY2FzZWNtcAotc3RybmNtcAotc3RybmR1cAotc3Rybmxlbgotc3RycGJyawotc3RycHRpbWUKLXN0cnJjaHIKLXN0cnNlcAotc3Ryc2lnbmFsCi1zdHJzcG4KLXN0cnN0cgotc3RydG9kCi1zdHJ0b2ltYXgKLXN0cnRva19yCi1zdHJ0b2wKLXN0cnRvbGwKLXN0cnRvdWwKLXN0cnRvdWxsCi1zdHJ0b3VtYXgKLXN0cnZlcnNjbXAKLXN0cnhmcm0KLXN5bWxpbmsKLXN5bmMKLXN5c2NvbmYKLXN5c2N0bAotc3lzaW5mbwotc3lzbG9nCi1fc3lzX3NpZ2xpc3QKLXN5c19zaWdsaXN0Ci1zeXN0ZW0KLXRjZ2V0YXR0cgotdGNnZXRwZ3JwCi10Y3NldGF0dHIKLXRjc2V0cGdycAotdGltZQotdGltZWdtCi10aW1lcwotdGltZXpvbmUKLXRtcG5hbQotdG93bG93ZXIKLXRvd3VwcGVyCi10cnVuY2F0ZQotdHNlYXJjaAotdHR5bmFtZQotdHpzZXQKLXVsaW1pdAotdW1hc2sKLXVuYW1lCi11bmxpbmsKLXVuc2V0ZW52Ci11bnNoYXJlCi11cGR3dG1wCi11cGR3dG1weAotdXNsZWVwCi11c3RhdAotdXRpbWUKLXV0aW1lcwotdXRtcG5hbWUKLXV0bXB4bmFtZQotdmFsbG9jCi12YXNwcmludGYKLXZlcnJ4Ci12Zm9yawotdmZwcmludGYKLXZmc2NhbmYKLXZoYW5ndXAKLXZwcmludGYKLXZzbnByaW50ZgotdnNwcmludGYKLXdhaXQzCi13YWl0NAotd2FpdHBpZAotd2NydG9tYgotd2NzY29sbAotd2NzZHVwCi13Y3NsZW4KLXdjdG9iCi13Y3RvbWIKLXdjdHlwZQotd2N3aWR0aAotd21lbWNocgotd21lbWNweQotd21lbXBjcHkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvc2l0ZV9jb25maWcvaGVhZGVycyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvc2l0ZV9jb25maWcvaGVhZGVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjlmZWRlYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL3NpdGVfY29uZmlnL2hlYWRlcnMKKysrIC9kZXYvbnVsbApAQCAtMSwxNTUgKzAsMCBAQAotYWlvLmgKLWFsbG9jYS5oCi1hcmd6LmgKLWFycGEvaW5ldC5oCi1hcnBhL25hbWVzZXIuaAotYXNtL2J5dGVvcmRlci5oCi1hc20vaW9jdGxzLmgKLWFzbS9wYWdlLmgKLWFzbS90eXBlcy5oCi1hc3NlcnQuaAotYnl0ZXN3YXAuaAotY3R5cGUuaAotZGlyZW50LmgKLWRsZmNuLmgKLWVsZi5oCi1lbmRpYW4uaAotZXJyLmgKLWVycm5vLmgKLWV4ZWNpbmZvLmgKLWZjbnRsLmgKLWZlYXR1cmVzLmgKLWZsb2F0LmgKLWZzdGFiLmgKLWZ0dy5oCi1nZXRvcHQuaAotZ2xvYi5oCi1ncnAuaAotaWNvbnYuaAotaWZhZGRycy5oCi1pbnR0eXBlcy5oCi1sYW5naW5mby5oCi1sYXN0bG9nLmgKLWxpYmdlbi5oCi1saWJpbnRsLmgKLWxpbWl0cy5oCi1saW51eC9jYXBhYmlsaXR5LmgKLWxpbnV4L2ZkLmgKLWxpbnV4L2ZzLmgKLWxpbnV4L2hheWVzZXNwLmgKLWxpbnV4L2hkcmVnLmgKLWxpbnV4L2ljbXAuaAotbGludXgvaW42LmgKLWxpbnV4L2pveXN0aWNrLmgKLWxpbnV4L3B0cmFjZS5oCi1saW51eC9zZXJpYWwuaAotbGludXgvc29ueXBpLmgKLWxpbnV4L3VuaXN0ZC5oCi1saW51eC91dHNuYW1lLmgKLWxpbnV4L3ZlcnNpb24uaAotbG9jYWxlLmgKLW1hbGxvYy5oCi1tYXRoLmgKLW1jaGVjay5oCi1tZW1vcnkuaAotbW50ZW50LmgKLW1xdWV1ZS5oCi1uZXRkYi5oCi1uZXQvaWYuaAotbmV0aW5ldC9ldGhlci5oCi1uZXRpbmV0L2luLmgKLW5ldGluZXQvaXA2LmgKLW5ldGluZXQvaXAuaAotbmV0aW5ldC90Y3AuaAotbmV0aW5ldC91ZHAuaAotbmV0aXB4L2lweC5oCi1uZXQvcm91dGUuaAotcGF0aHMuaAotcG9sbC5oCi1wdGhyZWFkLmgKLXB0eS5oCi1wd2QuaAotcmVnZXguaAotcmVzb2x2LmgKLXJwYy9ycGMuaAotcnBjL3R5cGVzLmgKLXNjaGVkLmgKLXNjc2kvc2NzaS5oCi1zZWFyY2guaAotc2VtYXBob3JlLmgKLXNldGptcC5oCi1zZ3R0eS5oCi1zaGFkb3cuaAotc2lnbmFsLmgKLXN0ZGFyZy5oCi1zdGRib29sLmgKLXN0ZGMKLXN0ZGRlZi5oCi1zdGRpbnQuaAotc3RkaW8uaAotc3RkbGliLmgKLXN0cmluZy5oCi1zdHJpbmdzLmgKLXN0cm9wdHMuaAotc3lzL2JpdHlwZXMuaAotc3lzL2NkZWZzLmgKLXN5cy9kaXIuaAotc3lzL2Vwb2xsLmgKLXN5c2V4aXRzLmgKLXN5cy9mY250bC5oCi1zeXMvZmlsZS5oCi1zeXMvZnN1aWQuaAotc3lzL2lvY3RsLmgKLXN5cy9pcGMuaAotc3lzbG9nLmgKLXN5cy9tbWFuLmgKLXN5cy9tb3VudC5oCi1zeXMvbXRpby5oCi1zeXMvcGFyYW0uaAotc3lzL3BvbGwuaAotc3lzL3ByY3RsLmgKLXN5cy9wdHJhY2UuaAotc3lzL3F1ZXVlLmgKLXN5cy9yZWcuaAotc3lzL3Jlc291cmNlLmgKLXN5cy9zZWxlY3QuaAotc3lzL3NlbS5oCi1zeXMvc2htLmgKLXN5cy9zaWduYWwuaAotc3lzL3NvY2tldC5oCi1zeXMvc29ja2V0dmFyLmgKLXN5cy9zb3VuZGNhcmQuaAotc3lzL3N0YXRmcy5oCi1zeXMvc3RhdC5oCi1zeXMvc3RhdHZmcy5oCi1zeXMvc3Ryb3B0cy5oCi1zeXMvc3dhcC5oCi1zeXMvc3lzY3RsLmgKLXN5cy9zeXNpbmZvLmgKLXN5cy9zeXNtYWNyb3MuaAotc3lzL3Rlcm1pb3MuaAotc3lzL3RpbWViLmgKLXN5cy90aW1lLmgKLXN5cy90aW1lcy5oCi1zeXMvdGltZXguaAotc3lzL3R5cGVzLmgKLXN5cy91aW8uaAotc3lzL3VuLmgKLXN5cy91bmlzdGQuaAotc3lzL3VzZXIuaAotc3lzL3V0c25hbWUuaAotc3lzL3Zmcy5oCi1zeXMvd2FpdC5oCi10ZXJtaW8uaAotdGVybWlvcy5oCi10aW1lLmgKLXR0eWVudC5oCi11bGltaXQuaAotdW5pc3RkLmgKLXVzdGF0LmgKLXV0aW1lLmgKLXV0bXAuaAotdXRtcHguaAotdmFsdWVzLmgKLXdjaGFyLmgKLXdjdHlwZS5oCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL3NpdGVfY29uZmlnL3R5cGVzIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9zaXRlX2NvbmZpZy90eXBlcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTc4YmQ4NS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL3NpdGVfY29uZmlnL3R5cGVzCisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotY2hhcgotY2hhciAqCi1kb3VibGUKLWZsb2F0Ci1pbnQKLWxvbmcKLWxvbmcgZG91YmxlCi1sb25nIGludAotbG9uZyBsb25nCi1sb25nIGxvbmcgaW50Ci1zaG9ydAotc2hvcnQgaW50Ci1zaWduZWQgY2hhcgotdW5zaWduZWQgY2hhcgotdW5zaWduZWQgaW50Ci11bnNpZ25lZCBsb25nCi11bnNpZ25lZCBsb25nIGludAotdW5zaWduZWQgbG9uZyBsb25nIGludAotdW5zaWduZWQgc2hvcnQKLXVuc2lnbmVkIHNob3J0IGludAotdm9pZCAqCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2ltYWdlcy9idWlsZC1hcHBsaWFuY2UtaW1hZ2VfMTUuMC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9pbWFnZXMvYnVpbGQtYXBwbGlhbmNlLWltYWdlXzE1LjAuMC5iYgppbmRleCBkOWQ2YzFlLi5hNTkzMzRmIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2ltYWdlcy9idWlsZC1hcHBsaWFuY2UtaW1hZ2VfMTUuMC4wLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW1hZ2VzL2J1aWxkLWFwcGxpYW5jZS1pbWFnZV8xNS4wLjAuYmIKQEAgLTIyLDEzICsyMiwxNCBAQAogCiBpbmhlcml0IGNvcmUtaW1hZ2UgbW9kdWxlLWJhc2Ugc2V0dXB0b29sczMKIAotU1JDUkVWID89ICI5ZGZlYmRhZjdhZjExYjY5MDA2OTk2ZjMyNTNlNDM1YmNlMGRmYmZiIgotU1JDX1VSSSA9ICJnaXQ6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy9wb2t5O2JyYW5jaD10aHVkIFwKK1NSQ1JFViA/PSAiYzk2ZDhkZTM1MmYyNDJmNzBmZjljMTY2NTA4YzNkMGU1MDE5OTg3NCIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvcG9reSBcCiAgICAgICAgICAgIGZpbGU6Ly9Zb2N0b19CdWlsZF9BcHBsaWFuY2Uudm14IFwKICAgICAgICAgICAgZmlsZTovL1lvY3RvX0J1aWxkX0FwcGxpYW5jZS52bXhmIFwKICAgICAgICAgICAgZmlsZTovL1JFQURNRV9WaXJ0dWFsQm94X0d1ZXN0X0FkZGl0aW9ucy50eHQgXAogICAgICAgICAgICBmaWxlOi8vUkVBRE1FX1ZpcnR1YWxCb3hfVG9hc3Rlci50eHQgXAogICAgICAgICAgICIKK1JFQ0lQRV9OT19VUERBVEVfUkVBU09OID0gIlJlY2lwZSBpcyByZWN1cnNpdmUgYW5kIGhhbmRsZWQgYXMgcGFydCBvZiB0aGUgcmVsZWFzZSBwcm9jZXNzIgogQkFfSU5DTFVERV9TT1VSQ0VTID8/PSAiMCIKIAogSU1BR0VfQ01EX2V4dDRfYXBwZW5kICgpIHsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHJkc2NyaXB0cy9maWxlcy9pbml0LWluc3RhbGwtZWZpLXRlc3Rmcy5zaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHJkc2NyaXB0cy9maWxlcy9pbml0LWluc3RhbGwtZWZpLXRlc3Rmcy5zaAppbmRleCA5YzRiMjYzLi5iMzUxOTg1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRyZHNjcmlwdHMvZmlsZXMvaW5pdC1pbnN0YWxsLWVmaS10ZXN0ZnMuc2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9pbml0cmRzY3JpcHRzL2ZpbGVzL2luaXQtaW5zdGFsbC1lZmktdGVzdGZzLnNoCkBAIC0yNyw3ICsyNyw3IEBACiAgICAgICAgICAgICAgICAgIyBUcnkgc2xlZXBpbmcgaGVyZSB0byBhdm9pZCBnZXR0aW5nIGtlcm5lbCBtZXNzYWdlcwogICAgICAgICAgICAgICAgICMgb2JzY3VyaW5nL2NvbmZ1c2luZyB1c2VyCiAgICAgICAgICAgICAgICAgc2xlZXAgNQotICAgICAgICAgICAgICAgIGVjaG8gIkZvdW5kIGRyaXZlIGF0IC9kZXYvJHtkZXZpY2V9LiBEbyB5b3Ugd2FudCB0byBpbnN0YWxsIHRoaXMgaW1hZ2UgdGhlcmUgPyBbeS9uXSIKKyAgICAgICAgICAgICAgICBlY2hvICJGb3VuZCBkcml2ZSBhdCAvZGV2LyR7ZGV2aWNlfS4gRG8geW91IHdhbnQgdG8gaW5zdGFsbCB0aGlzIGltYWdlIHRoZXJlPyBbeS9uXSIKICAgICAgICAgICAgICAgICByZWFkIGFuc3dlcgogICAgICAgICAgICAgICAgIGlmIFsgIiRhbnN3ZXIiID0gInkiIF0gOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRyZHNjcmlwdHMvaW5pdHJhbWZzLWJvb3RfMS4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9pbml0cmRzY3JpcHRzL2luaXRyYW1mcy1ib290XzEuMC5iYgppbmRleCA3YWU3OTY5Li4yOWVjNWVjIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRyZHNjcmlwdHMvaW5pdHJhbWZzLWJvb3RfMS4wLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHJkc2NyaXB0cy9pbml0cmFtZnMtYm9vdF8xLjAuYmIKQEAgLTksOCArOSwxMyBAQAogCiBkb19pbnN0YWxsKCkgewogICAgICAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9pbml0LWJvb3Quc2ggJHtEfS9pbml0CisKKyAgICAgICAgIyBDcmVhdGUgZGV2aWNlIG5vZGVzIGV4cGVjdGVkIGJ5IHNvbWUga2VybmVscyBpbiBpbml0cmFtZnMKKyAgICAgICAgIyBiZWZvcmUgZXZlbiBleGVjdXRpbmcgL2luaXQuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfS9kZXYKKyAgICAgICAgbWtub2QgLW0gNjIyICR7RH0vZGV2L2NvbnNvbGUgYyA1IDEKIH0KIAogaW5oZXJpdCBhbGxhcmNoCiAKLUZJTEVTXyR7UE59ICs9ICIgL2luaXQgIgorRklMRVNfJHtQTn0gKz0gIi9pbml0IC9kZXYvY29uc29sZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHJkc2NyaXB0cy9pbml0cmFtZnMtZnJhbWV3b3JrL2luaXQgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRyZHNjcmlwdHMvaW5pdHJhbWZzLWZyYW1ld29yay9pbml0CmluZGV4IDNjN2UwOTQuLmM3MWNlMGMgMTAwNzU1Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHJkc2NyaXB0cy9pbml0cmFtZnMtZnJhbWV3b3JrL2luaXQKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9pbml0cmRzY3JpcHRzL2luaXRyYW1mcy1mcmFtZXdvcmsvaW5pdApAQCAtNzIsNiArNzIsNyBAQAogTU9EVUxFX1BSRV9IT09LUz0iIiAgIyBmdW5jdGlvbnMgdG8gY2FsbCBiZWZvcmUgcnVubmluZyBlYWNoIG1vZHVsZQogTU9EVUxFX1BPU1RfSE9PS1M9IiIgIyBmdW5jdGlvbnMgdG8gY2FsbCBhZnRlciBydW5uaW5nIGVhY2ggbW9kdWxlCiBNT0RVTEVTX0RJUj0vaW5pdC5kICAjIHBsYWNlIHRvIGxvb2sgZm9yIG1vZHVsZXMKK0VGSV9ESVI9L3N5cy9maXJtd2FyZS9lZmkgICMgcGxhY2UgdG8gc3RvcmUgZGV2aWNlIGZpcm13YXJlIGluZm9ybWF0aW9uCiAKICMgbWFrZSBtb3VudCBzdG9wIGNvbXBsYWluaW5nIGFib3V0IG1pc3NpbmcgL2V0Yy9mc3RhYgogdG91Y2ggL2V0Yy9mc3RhYgpAQCAtODEsNiArODIsMTAgQEAKIG1vdW50IC10IHByb2MgcHJvYyAvcHJvYwogbW91bnQgLXQgc3lzZnMgc3lzZnMgL3N5cwogCitpZiBbIC1kICRFRklfRElSIF07dGhlbgorCW1vdW50IC10IGVmaXZhcmZzIG5vbmUgL3N5cy9maXJtd2FyZS9lZmkvZWZpdmFycworZmkKKwogIyBwb3B1bGF0ZSBib290cGFyYW0gZW52aXJvbm1lbnQKIGZvciBwIGluIGBjYXQgL3Byb2MvY21kbGluZWA7IGRvCiAJb3B0PWBlY2hvICRwIHwgY3V0IC1kJz0nIC1mMWAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHJkc2NyaXB0cy9pbml0cmFtZnMtZnJhbWV3b3JrL2x2bSBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHJkc2NyaXB0cy9pbml0cmFtZnMtZnJhbWV3b3JrL2x2bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZGVlY2NiCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9pbml0cmRzY3JpcHRzL2luaXRyYW1mcy1mcmFtZXdvcmsvbHZtCkBAIC0wLDAgKzEsMTMgQEAKKyMhL2Jpbi9zaAorCitsdm1fZW5hYmxlZCgpIHsKKwlpZiAhIGx2c2NhbiB8Z3JlcCAtaSAtdyAiaW5hY3RpdmUiICY+L2Rldi9udWxsO3RoZW4KKwkJcmV0dXJuIDEKKwlmaQorCXJldHVybiAwCit9CisKK2x2bV9ydW4oKSB7CisJbHZtIHB2c2NhbiAtLWNhY2hlIC0tYWN0aXZhdGUgYXkKKwl1ZGV2YWRtIHRyaWdnZXIgLS1hY3Rpb249YWRkCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRyZHNjcmlwdHMvaW5pdHJhbWZzLWZyYW1ld29ya18xLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRyZHNjcmlwdHMvaW5pdHJhbWZzLWZyYW1ld29ya18xLjAuYmIKaW5kZXggNjYwMzQzZS4uYzUzYTBjMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9pbml0cmRzY3JpcHRzL2luaXRyYW1mcy1mcmFtZXdvcmtfMS4wLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHJkc2NyaXB0cy9pbml0cmFtZnMtZnJhbWV3b3JrXzEuMC5iYgpAQCAtMTcsNiArMTcsNyBAQAogICAgICAgICAgICBmaWxlOi8vdWRldiBcCiAgICAgICAgICAgIGZpbGU6Ly9lMmZzIFwKICAgICAgICAgICAgZmlsZTovL2RlYnVnIFwKKyAgICAgICAgICAgZmlsZTovL2x2bSBcCiAgICAgICAgICAgIgogCiBTID0gIiR7V09SS0RJUn0iCkBAIC00NSw2ICs0Niw5IEBACiAgICAgIyBkZWJ1ZwogICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2RlYnVnICR7RH0vaW5pdC5kLzAwLWRlYnVnCiAKKyAgICAjIGx2bQorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2x2bSAke0R9L2luaXQuZC8wOS1sdm0KKwogICAgICMgQ3JlYXRlIGRldmljZSBub2RlcyBleHBlY3RlZCBieSBzb21lIGtlcm5lbHMgaW4gaW5pdHJhbWZzCiAgICAgIyBiZWZvcmUgZXZlbiBleGVjdXRpbmcgL2luaXQuCiAgICAgaW5zdGFsbCAtZCAke0R9L2RldgpAQCAtNTksNiArNjMsNyBAQAogICAgICAgICAgICAgaW5pdHJhbWZzLW1vZHVsZS1uZnNyb290ZnMgXAogICAgICAgICAgICAgaW5pdHJhbWZzLW1vZHVsZS1yb290ZnMgXAogICAgICAgICAgICAgaW5pdHJhbWZzLW1vZHVsZS1kZWJ1ZyBcCisgICAgICAgICAgICBpbml0cmFtZnMtbW9kdWxlLWx2bSBcCiAgICAgICAgICAgICIKIAogRklMRVNfJHtQTn0tYmFzZSA9ICIvaW5pdCAvaW5pdC5kLzk5LWZpbmlzaCAvZGV2IgpAQCAtOTgsMyArMTAzLDcgQEAKIFNVTU1BUllfaW5pdHJhbWZzLW1vZHVsZS1kZWJ1ZyA9ICJpbml0cmFtZnMgZHluYW1pYyBkZWJ1ZyBzdXBwb3J0IgogUkRFUEVORFNfaW5pdHJhbWZzLW1vZHVsZS1kZWJ1ZyA9ICIke1BOfS1iYXNlIgogRklMRVNfaW5pdHJhbWZzLW1vZHVsZS1kZWJ1ZyA9ICIvaW5pdC5kLzAwLWRlYnVnIgorCitTVU1NQVJZX2luaXRyYW1mcy1tb2R1bGUtbHZtID0gImluaXRyYW1mcyBsdm0gcm9vdGZzIHN1cHBvcnQiCitSREVQRU5EU19pbml0cmFtZnMtbW9kdWxlLWx2bSA9ICIke1BOfS1iYXNlIgorRklMRVNfaW5pdHJhbWZzLW1vZHVsZS1sdm0gPSAiL2luaXQuZC8wOS1sdm0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRzY3JpcHRzL2luaXRzY3JpcHRzLTEuMC9ib290bWlzYy5zaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHNjcmlwdHMvaW5pdHNjcmlwdHMtMS4wL2Jvb3RtaXNjLnNoCmluZGV4IGRmNTUzYmMuLjU5MTU5MWYgMTAwNzU1Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHNjcmlwdHMvaW5pdHNjcmlwdHMtMS4wL2Jvb3RtaXNjLnNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHNjcmlwdHMvaW5pdHNjcmlwdHMtMS4wL2Jvb3RtaXNjLnNoCkBAIC04LDcgKzgsMTAgQEAKICMgU2hvcnQtRGVzY3JpcHRpb246IE1pc2MgYW5kIG90aGVyLgogIyMjIEVORCBJTklUIElORk8KIAorVElNRVNUQU1QX0ZJTEU9L2V0Yy90aW1lc3RhbXAKKwogLiAvZXRjL2RlZmF1bHQvcmNTCitbIC1mIC9ldGMvZGVmYXVsdC90aW1lc3RhbXAgXSAmJiAuIC9ldGMvZGVmYXVsdC90aW1lc3RhbXAKICMKICMgUHV0IGEgbm9sb2dpbiBmaWxlIGluIC9ldGMgdG8gcHJldmVudCBwZW9wbGUgZnJvbSBsb2dnaW5nIGluIGJlZm9yZQogIyBzeXN0ZW0gc3RhcnR1cCBpcyBjb21wbGV0ZS4KQEAgLTY0LDEwICs2NywxMCBAQAogIyBJZiB0aGUgdGltZXN0YW1wIGlzIG1vcmUgcmVjZW50IHRoYW4gdGhlIGN1cnJlbnQgdGltZSwKICMgdXNlIHRoZSB0aW1lc3RhbXAgaW5zdGVhZC4KIHRlc3QgLXggL2V0Yy9pbml0LmQvaHdjbG9jay5zaCAmJiAvZXRjL2luaXQuZC9od2Nsb2NrLnNoIHN0YXJ0Ci1pZiB0ZXN0IC1lIC9ldGMvdGltZXN0YW1wCitpZiB0ZXN0IC1lICIkVElNRVNUQU1QX0ZJTEUiCiB0aGVuCiAJU1lTVEVNREFURT1gZGF0ZSAtdSArJTRZJTJtJTJkJTJIJTJNJTJTYAotCXJlYWQgVElNRVNUQU1QIDwgL2V0Yy90aW1lc3RhbXAKKwlyZWFkIFRJTUVTVEFNUCA8ICIkVElNRVNUQU1QX0ZJTEUiCiAJaWYgWyAke1RJTUVTVEFNUH0gLWd0ICRTWVNURU1EQVRFIF07IHRoZW4KIAkJIyBmb3JtYXQgdGhlIHRpbWVzdGFtcCBhcyBkYXRlIGV4cGVjdHMgaXQgKDJtMmQySDJNNFkuMlMpCiAJCVRTX1lSPSR7VElNRVNUQU1QJT8/Pz8/Pz8/Pz99CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRzY3JpcHRzL2luaXRzY3JpcHRzLTEuMC9zYXZlLXJ0Yy5zaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHNjcmlwdHMvaW5pdHNjcmlwdHMtMS4wL3NhdmUtcnRjLnNoCmluZGV4IDE2MzJhNWYuLmZmYTFlZWUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHNjcmlwdHMvaW5pdHNjcmlwdHMtMS4wL3NhdmUtcnRjLnNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHNjcmlwdHMvaW5pdHNjcmlwdHMtMS4wL3NhdmUtcnRjLnNoCkBAIC05LDUgKzksOSBAQAogIyBEZXNjcmlwdGlvbjogICAgICAgCiAjIyMgRU5EIElOSVQgSU5GTwogCitUSU1FU1RBTVBfRklMRT0vZXRjL3RpbWVzdGFtcAorCitbIC1mIC9ldGMvZGVmYXVsdC90aW1lc3RhbXAgXSAmJiAuIC9ldGMvZGVmYXVsdC90aW1lc3RhbXAKKwogIyBVcGRhdGUgdGhlIHRpbWVzdGFtcAotZGF0ZSAtdSArJTRZJTJtJTJkJTJIJTJNJTJTIDI+L2Rldi9udWxsID4gL2V0Yy90aW1lc3RhbXAKK2RhdGUgLXUgKyU0WSUybSUyZCUySCUyTSUyUyAyPi9kZXYvbnVsbCA+ICIkVElNRVNUQU1QX0ZJTEUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRzY3JpcHRzL2luaXRzY3JpcHRzLTEuMC92b2xhdGlsZXMgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRzY3JpcHRzL2luaXRzY3JpcHRzLTEuMC92b2xhdGlsZXMKaW5kZXggMjAxMTA2Ni4uY2Q4YTRiZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9pbml0c2NyaXB0cy9pbml0c2NyaXB0cy0xLjAvdm9sYXRpbGVzCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHNjcmlwdHMvaW5pdHNjcmlwdHMtMS4wL3ZvbGF0aWxlcwpAQCAtOCw3ICs4LDcgQEAKICMgVGhlICMgY2hhcmFjdGVyIGludHJvZHVjZXMgYSBjb21tZW50IGxhc3RpbmcgdW50aWwgZW5kIG9mIGxpbmUuCiAjIEJsYW5rIGxpbmVzIGFyZSBpZ25vcmVkLgogIwotIyA8dHlwZT4gOiBkfGZ8bCA6IChkKWlyZWN0b3J5fChmKWlsZXwobClpbmsKKyMgPHR5cGU+IDogZHxmfGx8YiA6IChkKWlyZWN0b3J5fChmKWlsZXwobClpbmt8KGIpaW5kCiAjCiAjIEEgbGlua2luZyBleGFtcGxlOgogIyBsIHJvb3Qgcm9vdCAwNzc3IC92YXIvdGVzdCAvdG1wL3Rlc3RmaWxlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2xpYnhjcnlwdC9saWJ4Y3J5cHQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2xpYnhjcnlwdC9saWJ4Y3J5cHQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2I5YWY2ZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbGlieGNyeXB0L2xpYnhjcnlwdC5iYgpAQCAtMCwwICsxLDMwIEBACitTVU1NQVJZID0gIkV4dGVuZGVkIGNyeXB0b2dyYXBoaWMgbGlicmFyeSAoZnJvbSBnbGliYykiCitERVNDUklQVElPTiA9ICJGb3JrZWQgY29kZSBmcm9tIGdsaWJjIGxpYmFyeSB0byBleHRyYWN0IG9ubHkgY3J5cHRvIHBhcnQuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2Jlc3NlcjgyL2xpYnhjcnlwdCIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID89ICJmaWxlOi8vTElDRU5TSU5HO21kNT1iZTI3NWJjN2Y5MTY0MmVmZTc3MDlhOGFlN2ExNDMzYiBcCisgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIFwKKyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1BWID0gIjQuNC4yIgorIyB2NC40LjIKK1NSQ1JFViA/PSAiY2Y2YWJmMTgwODM1NjZlYzE2MTJhZjI3OTgyYTUxNjBjOWUwZjEzNyIKK1NSQ0JSQU5DSCA/PSAiZGV2ZWxvcCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2Jlc3NlcjgyL2xpYnhjcnlwdC5naXQ7YnJhbmNoPSR7U1JDQlJBTkNIfSBcCisgICAgICAgICAgICIKKworUFJPVklERVMgPSAidmlydHVhbC9jcnlwdCIKKworRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYmNyeXB0Ki5zby4qICR7bGliZGlyfS9saWJjcnlwdC0qLnNvICR7bGliZGlyfS9saWJvd2NyeXB0Ki5zby4qICR7bGliZGlyfS9saWJvd2NyeXB0LSouc28iCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0JVSUxEX0NQUEZMQUdTID0gIi1JJHtTVEFHSU5HX0lOQ0RJUl9OQVRJVkV9IC1zdGQ9Z251OTkiCitUQVJHRVRfQ1BQRkxBR1MgPSAiLUkke1NUQUdJTkdfRElSX1RBUkdFVH0ke2luY2x1ZGVkaXJ9IC1Xbm8tZXJyb3I9bWlzc2luZy1hdHRyaWJ1dGVzIgorQ1BQRkxBR1NfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgLVduby1lcnJvcj1taXNzaW5nLWF0dHJpYnV0ZXMiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9saWJ4Y3J5cHQvbGlieGNyeXB0XzQuMS4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9saWJ4Y3J5cHQvbGlieGNyeXB0XzQuMS4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NjVhYTk2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbGlieGNyeXB0L2xpYnhjcnlwdF80LjEuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLVNVTU1BUlkgPSAiRXh0ZW5kZWQgY3J5cHRvZ3JhcGhpYyBsaWJyYXJ5IChmcm9tIGdsaWJjKSIKLURFU0NSSVBUSU9OID0gIkZvcmtlZCBjb2RlIGZyb20gZ2xpYmMgbGliYXJ5IHRvIGV4dHJhY3Qgb25seSBjcnlwdG8gcGFydC4iCi1IT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vYmVzc2VyODIvbGlieGNyeXB0IgotU0VDVElPTiA9ICJsaWJzIgotTElDRU5TRSA9ICJMR1BMdjIuMSIKLUxJQ19GSUxFU19DSEtTVU0gPz0gImZpbGU6Ly9MSUNFTlNJTkc7bWQ1PWNiM2NhNGNhYmQyNDQ3YTM3YmYxODZmYWQ2Zjc5ODUyIFwKLSAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMgXAotIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcKLQotU1JDUkVWID89ICIyMWI0NTViNjhiYWFkMjc5ZTZhMzkzNmZhY2VkMTZjNWU1NjM0Mzc2IgotU1JDQlJBTkNIID89ICJkZXZlbG9wIgotCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vYmVzc2VyODIvbGlieGNyeXB0LmdpdDticmFuY2g9JHtTUkNCUkFOQ0h9IFwKLSAgICAgICAgICAgIgotCi1QUk9WSURFUyA9ICJ2aXJ0dWFsL2NyeXB0IgotCi1GSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vbGliY3J5cHQqLnNvLiogJHtsaWJkaXJ9L2xpYmNyeXB0LSouc28gJHtsaWJkaXJ9L2xpYm93Y3J5cHQqLnNvLiogJHtsaWJkaXJ9L2xpYm93Y3J5cHQtKi5zbyIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotQlVJTERfQ1BQRkxBR1MgPSAiLUkke1NUQUdJTkdfSU5DRElSX05BVElWRX0gLXN0ZD1nbnU5OSIKLVRBUkdFVF9DUFBGTEFHUyA9ICItSSR7U1RBR0lOR19ESVJfVEFSR0VUfSR7aW5jbHVkZWRpcn0iCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9saWJ4bWwvbGlieG1sMl8yLjkuOC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbGlieG1sL2xpYnhtbDJfMi45LjguYmIKaW5kZXggNzQwYmY1Ni4uNjI2NDNiYyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9saWJ4bWwvbGlieG1sMl8yLjkuOC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2xpYnhtbC9saWJ4bWwyXzIuOS44LmJiCkBAIC0zOCw3ICszOCw3IEBACiBQQUNLQUdFQ09ORklHW3B5dGhvbl0gPSAiLS13aXRoLXB5dGhvbj0ke1BZVEhPTn0sLS13aXRob3V0LXB5dGhvbixweXRob24zIgogUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2LCIKIAotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGJpbmNvbmZpZy1kaXNhYmxlZCBwdGVzdAoraW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGJpbmNvbmZpZy1kaXNhYmxlZCBwdGVzdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKIAogaW5oZXJpdCAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24nLCAncHl0aG9uM25hdGl2ZScsICcnLCBkKX0KIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL3RhcmdldC1zZGstcHJvdmlkZXMtZHVtbXkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvdGFyZ2V0LXNkay1wcm92aWRlcy1kdW1teS5iYgppbmRleCAwMTYwY2I4Li44NTQ3MmE4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvdGFyZ2V0LXNkay1wcm92aWRlcy1kdW1teS5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvdGFyZ2V0LXNkay1wcm92aWRlcy1kdW1teS5iYgpAQCAtMjAsNiArMjAsNyBAQAogICAgIGxpYnhtbC1wYXJzZXItcGVybCBcCiAgICAgcGVybC1tb2R1bGUtYnl0ZXMgXAogICAgIHBlcmwtbW9kdWxlLWNhcnAgXAorICAgIHBlcmwtbW9kdWxlLWNvbmZpZyBcCiAgICAgcGVybC1tb2R1bGUtY29uc3RhbnQgXAogICAgIHBlcmwtbW9kdWxlLWRhdGEtZHVtcGVyIFwKICAgICBwZXJsLW1vZHVsZS1lcnJubyBcCkBAIC0zNSwxMSArMzYsMTIgQEAKICAgICBwZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyBcCiAgICAgcGVybC1tb2R1bGUtaW8tZmlsZSBcCiAgICAgcGVybC1tb2R1bGUtb3ZlcmxvYWQgXAorICAgIHBlcmwtbW9kdWxlLW92ZXJsb2FkaW5nIFwKICAgICBwZXJsLW1vZHVsZS1wb3NpeCBcCi0gICAgcGVybC1tb2R1bGUtb3ZlcmxvYWQgXAogICAgIHBlcmwtbW9kdWxlLXRocmVhZC1xdWV1ZSBcCiAgICAgcGVybC1tb2R1bGUtdGhyZWFkcyBcCiAgICAgcGVybC1tb2R1bGUtd2FybmluZ3MgXAorICAgIHBlcmwtbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIFwKICAgICAvYmluL3NoIFwKICAgICAvYmluL2Jhc2ggXAogICAgIC91c3IvYmluL2VudiBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL211c2wvbGlic3NwLW5vbnNoYXJlZC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbXVzbC9saWJzc3Atbm9uc2hhcmVkLmJiCmluZGV4IDQ1OGVhZmUuLmJhZThjODEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbXVzbC9saWJzc3Atbm9uc2hhcmVkLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbXVzbC9saWJzc3Atbm9uc2hhcmVkLmJiCkBAIC04LDE1ICs4LDEwIEBACiAKIFNSQ19VUkkgPSAiZmlsZTovL3NzcC1sb2NhbC5jIgogCi1QQVRIX3ByZXBlbmQgPSAiJHtTVEFHSU5HX0JJTkRJUl9UT09MQ0hBSU59LiR7U1RBR0lOR0NDfToiCi0KIElOSElCSVRfREVGQVVMVF9ERVBTID0gIjEiCiAKLVNUQUdJTkdDQyA9ICJnY2MtY3Jvc3MtaW5pdGlhbC0ke1RBUkdFVF9BUkNIfSIKLVNUQUdJTkdDQ19jbGFzcy1uYXRpdmVzZGsgPSAiZ2NjLWNyb3Nzc2RrLWluaXRpYWwtJHtTREtfU1lTfSIKLQogREVQRU5EUyA9ICJ2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1iaW51dGlscyBcCi0gICAgICAgICAgIHZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYy1pbml0aWFsIFwKKyAgICAgICAgICAgdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjIFwKICIKIAogZG9fY29uZmlndXJlW25vZXhlY10gPSAiMSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbXVzbC9tdXNsLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbXVzbC9tdXNsLmluYwppbmRleCAzMTk3MDliLi44NDA4YzVkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL211c2wvbXVzbC5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9tdXNsL211c2wuaW5jCkBAIC0xMSwxNCArMTEsOCBAQAogU0VDVElPTiA9ICJsaWJzIgogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWVJJR0hUO21kNT04YTRiYjI4Zjc3MWM4MTdmZTU3ZDNhN2M0MjQwZTNhYSIKIAotUEFUSF9wcmVwZW5kID0gIiR7U1RBR0lOR19CSU5ESVJfVE9PTENIQUlOfS4ke1NUQUdJTkdDQ306IgotCiBJTkhJQklUX0RFRkFVTFRfREVQUyA9ICIxIgogCi1TVEFHSU5HQ0MgPSAiZ2NjLWNyb3NzLWluaXRpYWwtJHtUQVJHRVRfQVJDSH0iCi1TVEFHSU5HQ0NfY2xhc3MtbmF0aXZlc2RrID0gImdjYy1jcm9zc3Nkay1pbml0aWFsLSR7U0RLX1NZU30iCi0KLQogRklMRVNfU09MSUJTREVWID0gIiIKIEZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vbGliKiR7U09MSUJTREVWfSIKIElOU0FORV9TS0lQXyR7UE59ID0gImRldi1zbyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbXVzbC9tdXNsLzAwMDItbGRzby1Vc2Utc3lzbGliZGlyLWFuZC1saWJkaXItYXMtZGVmYXVsdC1wYXRoZXMtdG8tbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbXVzbC9tdXNsLzAwMDItbGRzby1Vc2Utc3lzbGliZGlyLWFuZC1saWJkaXItYXMtZGVmYXVsdC1wYXRoZXMtdG8tbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTg3NWE3Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9tdXNsL211c2wvMDAwMi1sZHNvLVVzZS1zeXNsaWJkaXItYW5kLWxpYmRpci1hcy1kZWZhdWx0LXBhdGhlcy10by1sLnBhdGNoCkBAIC0wLDAgKzEsNjEgQEAKK0Zyb20gNWEyODg2ZjgxZGJjYTNmMmVkMjhlZWJlN2QyN2Q0NzFkYTI3OGRiOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFNlcmhleSBQb3BvdnljaCA8c2VyaGUucG9wb3Z5Y2hAZ21haWwuY29tPgorRGF0ZTogVHVlLCAxMSBEZWMgMjAxOCAwNTo0NDoyMCAtMDUwMAorU3ViamVjdDogW1BBVENIXSBsZHNvOiBVc2Ugc3lzbGliZGlyIGFuZCBsaWJkaXIgYXMgZGVmYXVsdCBwYXRoZXMgdG8gbGliZGlycworCitJbiBhYnNlbmNlIG9mIC9ldGMvbGQtbXVzbC0kKEFSQ0gpLnBhdGggbGRzbyB1c2VzIGRlZmF1bHQgcGF0aCB0byBzZWFyY2gKK2xpYnJhcmllcyAvbGliOi91c3IvbG9jYWwvbGliOi91c3IvbGliLgorCitIb3dldmVyIHRoaXMgcGF0aCBpc24ndCByZWxldmFudCBpbiBjYXNlIHdoZW4gbGlicmFyeSBpcyBwdXQgaW4gZGlycworbGlrZSBsaWI2NCBvciBsaWJ4MzIuCisKK0FkanVzdCBDRkxBR1NfQUxMIHRvIHBhc3Mgc3lzbGliZGlyIGFzIFNZU0xJQkRJUiBhbmQgbGliZGlyIGFzIExJQkRJUgorcHJlcHJvY2Vzc29yIG1hY3Jvc2VzIHRvIGNvbnN0cnVjdCBkZWZhdWx0IGxkc28gbGlicmFyeSBzZWFyY2ggcGF0aAoraW4gbGRzby9keW5saW5rLmM6OlNZU19QQVRIX0RGTFQuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogU2VyaGV5IFBvcG92eWNoIDxzZXJoZS5wb3BvdnljaEBnbWFpbC5jb20+CistLS0KKyBNYWtlZmlsZSAgICAgICB8IDMgKystCisgbGRzby9keW5saW5rLmMgfCA0ICsrKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKK2luZGV4IGI0NmY4Y2E0Li5jMDdlNGFlOCAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTQ2LDcgKzQ2LDggQEAgQ0ZMQUdTX0FVVE8gPSAtT3MgLXBpcGUKKyBDRkxBR1NfQzk5RlNFID0gLXN0ZD1jOTkgLWZmcmVlc3RhbmRpbmcgLW5vc3RkaW5jIAorIAorIENGTEFHU19BTEwgPSAkKENGTEFHU19DOTlGU0UpCistQ0ZMQUdTX0FMTCArPSAtRF9YT1BFTl9TT1VSQ0U9NzAwIC1JJChzcmNkaXIpL2FyY2gvJChBUkNIKSAtSSQoc3JjZGlyKS9hcmNoL2dlbmVyaWMgLUlvYmovc3JjL2ludGVybmFsIC1JJChzcmNkaXIpL3NyYy9pbmNsdWRlIC1JJChzcmNkaXIpL3NyYy9pbnRlcm5hbCAtSW9iai9pbmNsdWRlIC1JJChzcmNkaXIpL2luY2x1ZGUKKytDRkxBR1NfQUxMICs9IC1EX1hPUEVOX1NPVVJDRT03MDAgLURTWVNMSUJESVI9JyIkKHN5c2xpYmRpcikiJyAtRExJQkRJUj0nIiQobGliZGlyKSInCisrQ0ZMQUdTX0FMTCArPSAtSSQoc3JjZGlyKS9hcmNoLyQoQVJDSCkgLUkkKHNyY2RpcikvYXJjaC9nZW5lcmljIC1Jb2JqL3NyYy9pbnRlcm5hbCAtSSQoc3JjZGlyKS9zcmMvaW5jbHVkZSAtSSQoc3JjZGlyKS9zcmMvaW50ZXJuYWwgLUlvYmovaW5jbHVkZSAtSSQoc3JjZGlyKS9pbmNsdWRlCisgQ0ZMQUdTX0FMTCArPSAkKENQUEZMQUdTKSAkKENGTEFHU19BVVRPKSAkKENGTEFHUykKKyAKKyBMREZMQUdTX0FMTCA9ICQoTERGTEFHU19BVVRPKSAkKExERkxBR1MpCitkaWZmIC0tZ2l0IGEvbGRzby9keW5saW5rLmMgYi9sZHNvL2R5bmxpbmsuYworaW5kZXggZWM5MjFkZmQuLjdjMTE5YzU1IDEwMDY0NAorLS0tIGEvbGRzby9keW5saW5rLmMKKysrKyBiL2xkc28vZHlubGluay5jCitAQCAtMjIsNiArMjIsOCBAQAorICNpbmNsdWRlICJkeW5saW5rLmgiCisgI2luY2x1ZGUgIm1hbGxvY19pbXBsLmgiCisgCisrI2RlZmluZSBTWVNfUEFUSF9ERkxUIFNZU0xJQkRJUiAiOiIgTElCRElSCisrCisgc3RhdGljIHZvaWQgZXJyb3IoY29uc3QgY2hhciAqLCAuLi4pOworIAorICNkZWZpbmUgTUFYUDIoYSxiKSAoLSgtKGEpJi0oYikpKQorQEAgLTEwMzgsNyArMTA0MCw3IEBAIHN0YXRpYyBzdHJ1Y3QgZHNvICpsb2FkX2xpYnJhcnkoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IGRzbyAqbmVlZGVkX2J5KQorIAkJCQkJc3lzX3BhdGggPSAiIjsKKyAJCQkJfQorIAkJCX0KKy0JCQlpZiAoIXN5c19wYXRoKSBzeXNfcGF0aCA9ICIvbGliOi91c3IvbG9jYWwvbGliOi91c3IvbGliIjsKKysJCQlpZiAoIXN5c19wYXRoKSBzeXNfcGF0aCA9IFNZU19QQVRIX0RGTFQ7CisgCQkJZmQgPSBwYXRoX29wZW4obmFtZSwgc3lzX3BhdGgsIGJ1Ziwgc2l6ZW9mIGJ1Zik7CisgCQl9CisgCQlwYXRobmFtZSA9IGJ1ZjsKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9tdXNsL211c2xfZ2l0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9tdXNsL211c2xfZ2l0LmJiCmluZGV4IDBkOGY4ZWIuLjJkOGRhYjkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbXVzbC9tdXNsX2dpdC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL211c2wvbXVzbF9naXQuYmIKQEAgLTQsMjIgKzQsMjUgQEAKIHJlcXVpcmUgbXVzbC5pbmMKIGluaGVyaXQgbGludXhsb2FkZXIKIAotU1JDUkVWID0gImM1MDk4NWQ1YzhlMzE2YzVjNDY0ZjM1MmU3OWVlZWJmZWQxMTIxYTkiCitTUkNSRVYgPSAiNDNlN2VmYjQ2NTU1ZjEzYTU1NmQ5Mjk0NGFjMDVjMTliODkyOWI2MCIKIAotUFYgPSAiMS4xLjIwK2dpdCR7U1JDUFZ9IgorQkFTRVZFUiA9ICIxLjEuMjEiCisKK1BWID0gIiR7QkFTRVZFUn0rZ2l0JHtTUkNQVn0iCiAKICMgbWlycm9yIGlzIGF0IGdpdDovL2dpdGh1Yi5jb20va3Jhai9tdXNsLmdpdAogCiBTUkNfVVJJID0gImdpdDovL2dpdC5tdXNsLWxpYmMub3JnL211c2wgXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1NYWtlLWR5bmFtaWMtbGlua2VyLWEtcmVsYXRpdmUtc3ltbGluay10by1saWJjLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItbGRzby1Vc2Utc3lzbGliZGlyLWFuZC1saWJkaXItYXMtZGVmYXVsdC1wYXRoZXMtdG8tbC5wYXRjaCBcCiAgICAgICAgICAgIgogCiBTID0gIiR7V09SS0RJUn0vZ2l0IgogCi1QUk9WSURFUyArPSAidmlydHVhbC9saWJjIHZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWxpYmMtZm9yLWdjYyB2aXJ0dWFsL2xpYmljb252IHZpcnR1YWwvbGliaW50bCB2aXJ0dWFsL2NyeXB0IgorUFJPVklERVMgKz0gInZpcnR1YWwvbGliYyB2aXJ0dWFsL2xpYmljb252IHZpcnR1YWwvbGliaW50bCB2aXJ0dWFsL2NyeXB0IgogCiBERVBFTkRTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWJpbnV0aWxzIFwKLSAgICAgICAgICAgdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjLWluaXRpYWwgXAorICAgICAgICAgICB2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nY2MgXAogICAgICAgICAgICBsaWJnY2MtaW5pdGlhbCBcCiAgICAgICAgICAgIGxpbnV4LWxpYmMtaGVhZGVycyBcCiAgICAgICAgICAgIGJzZC1oZWFkZXJzIFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmN1cnNlcy9uY3Vyc2VzLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmN1cnNlcy9uY3Vyc2VzLmluYwppbmRleCA5OWZjNDc4Li41ZjJjYzM1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL25jdXJzZXMvbmN1cnNlcy5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9uY3Vyc2VzL25jdXJzZXMuaW5jCkBAIC0yNjAsOSArMjYwLDkgQEAKICAgICBsaWJkaXIgPSBkLmV4cGFuZCgiJHtsaWJkaXJ9IikKICAgICBiYXNlX2xpYmRpciA9IGQuZXhwYW5kKCIke2Jhc2VfbGliZGlyfSIpCiAgICAgcG5iYXNlID0gZC5leHBhbmQoIiR7UE59LWxpYiVzIikKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBsaWJkaXIsICdebGliKC4qKVwuc29cLi4qJywgcG5iYXNlLCAnbmN1cnNlcyAlcyBsaWJyYXJ5JywgcHJlcGVuZD1UcnVlLCBleHRyYV9kZXBlbmRzID0gJycsIGFsbG93X2xpbmtzPVRydWUpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgbGliZGlyLCByJ15saWIoLiopXC5zb1wuLionLCBwbmJhc2UsICduY3Vyc2VzICVzIGxpYnJhcnknLCBwcmVwZW5kPVRydWUsIGV4dHJhX2RlcGVuZHMgPSAnJywgYWxsb3dfbGlua3M9VHJ1ZSkKICAgICBpZiBsaWJkaXIgaXMgbm90IGJhc2VfbGliZGlyOgotICAgICAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBiYXNlX2xpYmRpciwgJ15saWIoLiopXC5zb1wuLionLCBwbmJhc2UsICduY3Vyc2VzICVzIGxpYnJhcnknLCBwcmVwZW5kPVRydWUsIGV4dHJhX2RlcGVuZHMgPSAnJywgYWxsb3dfbGlua3M9VHJ1ZSkKKyAgICAgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgYmFzZV9saWJkaXIsIHInXmxpYiguKilcLnNvXC4uKicsIHBuYmFzZSwgJ25jdXJzZXMgJXMgbGlicmFyeScsIHByZXBlbmQ9VHJ1ZSwgZXh0cmFfZGVwZW5kcyA9ICcnLCBhbGxvd19saW5rcz1UcnVlKQogfQogCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmN1cnNlcy9uY3Vyc2VzXzYuMSsyMDE4MDYzMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmN1cnNlcy9uY3Vyc2VzXzYuMSsyMDE4MDYzMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzhmYWY3YS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL25jdXJzZXMvbmN1cnNlc182LjErMjAxODA2MzAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1yZXF1aXJlIG5jdXJzZXMuaW5jCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLXRpYy1oYW5nLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAyLWNvbmZpZ3VyZS1yZXByb2R1Y2libGUucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL2NvbmZpZy5jYWNoZSBcCi0iCi0jIGNvbW1pdCBpZCBjb3JyZXNwb25kcyB0byB0aGUgcmV2aXNpb24gaW4gcGFja2FnZSB2ZXJzaW9uCi1TUkNSRVYgPSAiZDNiMjkxODBhZTQzNjBkN2FiN2E0MWExNWU5NjMyOTlmZGI3MmUzMyIKLVMgPSAiJHtXT1JLRElSfS9naXQiCi1FWFRSQV9PRUNPTkYgKz0gIi0td2l0aC1hYmktdmVyc2lvbj01IgotVVBTVFJFQU1fQ0hFQ0tfR0lUVEFHUkVHRVggPSAiKD9QPHB2ZXI+XGQrKFwuXGQrKSsoXCtcZCspKikiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL25jdXJzZXMvbmN1cnNlc182LjErMjAxODEwMTMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL25jdXJzZXMvbmN1cnNlc182LjErMjAxODEwMTMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWY2Y2E5OAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmN1cnNlcy9uY3Vyc2VzXzYuMSsyMDE4MTAxMy5iYgpAQCAtMCwwICsxLDExIEBACityZXF1aXJlIG5jdXJzZXMuaW5jCisKK1NSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLXRpYy1oYW5nLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAyLWNvbmZpZ3VyZS1yZXByb2R1Y2libGUucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL2NvbmZpZy5jYWNoZSBcCisiCisjIGNvbW1pdCBpZCBjb3JyZXNwb25kcyB0byB0aGUgcmV2aXNpb24gaW4gcGFja2FnZSB2ZXJzaW9uCitTUkNSRVYgPSAiN2E5N2E3ZjkzNzc2MmJhMzQyZDViMmZkN2NkMDkwODg1YTgwOTgzNSIKK1MgPSAiJHtXT1JLRElSfS9naXQiCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aC1hYmktdmVyc2lvbj01IC0tY2FjaGUtZmlsZT0ke0J9L2NvbmZpZy5jYWNoZSIKK1VQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gIig/UDxwdmVyPlxkKyhcLlxkKykrKFwrXGQrKSopIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9uZXRiYXNlL25ldGJhc2UvbmV0YmFzZS1hZGQtcnBjYmluZC1hcy1hbi1hbGlhcy10by1zdW5ycGMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL25ldGJhc2UvbmV0YmFzZS9uZXRiYXNlLWFkZC1ycGNiaW5kLWFzLWFuLWFsaWFzLXRvLXN1bnJwYy5wYXRjaAppbmRleCA1NmM4ZDViLi4yN2JhMmY2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL25ldGJhc2UvbmV0YmFzZS9uZXRiYXNlLWFkZC1ycGNiaW5kLWFzLWFuLWFsaWFzLXRvLXN1bnJwYy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL25ldGJhc2UvbmV0YmFzZS9uZXRiYXNlLWFkZC1ycGNiaW5kLWFzLWFuLWFsaWFzLXRvLXN1bnJwYy5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNzY5ODkyMDVhMTQxMWYxNmQ3YWIwOWZmOWQyNzk1MzlhNzNkYzI1OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNTJkNDZjNGQxZmJkNGM4OGQ2OWMyZmNmNzgzN2IyZjJiYTdlZjZmMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206ICJNYXhpbiBCLiBKb2huIiA8bWF4aW4uam9obkBpbnRlbC5jb20+CiBEYXRlOiBUaHUsIDEyIEphbiAyMDE3IDE2OjUwOjU4ICswMjAwCiBTdWJqZWN0OiBbUEFUQ0hdIG5ldGJhc2U6IGFkZCBycGNiaW5kIGFzIGFuIGFsaWFzIHRvIHN1bnJwYwpAQCAtMTAsNiArMTAsNyBAQAogCiBTaWduZWQtb2ZmLWJ5OiBMaSBXYW5nIDxsaS53YW5nQHdpbmRyaXZlci5jb20+CiBTaWduZWQtb2ZmLWJ5OiBNYXhpbiBCLiBKb2huIDxtYXhpbi5qb2huQGludGVsLmNvbT4KKwogLS0tCiAgZXRjLXJwYyAgICAgIHwgMiArLQogIGV0Yy1zZXJ2aWNlcyB8IDQgKystLQpAQCAtMjksMTIgKzMwLDEyIEBACiAgcnVzZXJzZAkJMTAwMDAyCXJ1c2VycwogIG5mcwkJMTAwMDAzCW5mc3Byb2cKIGRpZmYgLS1naXQgYS9ldGMtc2VydmljZXMgYi9ldGMtc2VydmljZXMKLWluZGV4IGUzMjAyZWMuLmEwMzlkN2UgMTAwNjQ0CitpbmRleCBmYTdhZTI0Li4xMGJhMmJjIDEwMDY0NAogLS0tIGEvZXRjLXNlcnZpY2VzCiArKysgYi9ldGMtc2VydmljZXMKLUBAIC02NCw4ICs2NCw4IEBAIGNzbmV0LW5zCTEwNS91ZHAJCWNzby1ucwotIHJ0ZWxuZXQJCTEwNy90Y3AJCQkJIyBSZW1vdGUgVGVsbmV0Ci0gcnRlbG5ldAkJMTA3L3VkcAorQEAgLTUxLDggKzUxLDggQEAga2VyYmVyb3MJODgvdWRwCQlrZXJiZXJvczUga3JiNSBrZXJiZXJvcy1zZWMJIyBLZXJiZXJvcyB2NQorIGlzby10c2FwCTEwMi90Y3AJCXRzYXAJCSMgcGFydCBvZiBJU09ERQorIGFjci1uZW1hCTEwNC90Y3AJCWRpY29tCQkjIERpZ2l0YWwgSW1hZy4gJiBDb21tLiAzMDAKICBwb3AzCQkxMTAvdGNwCQlwb3AtMwkJIyBQT1AgdmVyc2lvbiAzCiAtc3VucnBjCQkxMTEvdGNwCQlwb3J0bWFwcGVyCSMgUlBDIDQuMCBwb3J0bWFwcGVyCiAtc3VucnBjCQkxMTEvdWRwCQlwb3J0bWFwcGVyCkBAIC00Myw2ICs0NCwzIEBACiAgYXV0aAkJMTEzL3RjcAkJYXV0aGVudGljYXRpb24gdGFwIGlkZW50CiAgc2Z0cAkJMTE1L3RjcAogIG5udHAJCTExOS90Y3AJCXJlYWRuZXdzIHVudHAJIyBVU0VORVQgTmV3cyBUcmFuc2ZlciBQcm90b2NvbAotLS0gCi0yLjQuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL25ldGJhc2UvbmV0YmFzZV81LjQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL25ldGJhc2UvbmV0YmFzZV81LjQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhYjBjNTguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9uZXRiYXNlL25ldGJhc2VfNS40LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotU1VNTUFSWSA9ICJCYXNpYyBUQ1AvSVAgbmV0d29ya2luZyBzdXBwb3J0IgotREVTQ1JJUFRJT04gPSAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIHRoZSBuZWNlc3NhcnkgaW5mcmFzdHJ1Y3R1cmUgZm9yIGJhc2ljIFRDUC9JUCBiYXNlZCBuZXR3b3JraW5nIgotSE9NRVBBR0UgPSAiaHR0cDovL3BhY2thZ2VzLmRlYmlhbi5vcmcvbmV0YmFzZSIKLVNFQ1RJT04gPSAiYmFzZSIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kZWJpYW4vY29weXJpZ2h0O21kNT0zZGQ2MTkyZDMwNmY1ODJkZWU3Njg3ZGEzZDg3NDhhYiIKLVBFID0gIjEiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3NuYXBzaG90LmRlYmlhbi5vcmcvYXJjaGl2ZS9kZWJpYW4vMjAxNzAxMTJUMDkzODEyWi9wb29sL21haW4vbi8ke0JQTn0vJHtCUE59XyR7UFZ9LnRhci54eiBcCi0gICAgICAgICAgIGZpbGU6Ly9uZXRiYXNlLWFkZC1ycGNiaW5kLWFzLWFuLWFsaWFzLXRvLXN1bnJwYy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9ob3N0cyIKLQotU1JDX1VSSVttZDVzdW1dID0gIjExN2NiNzBjNTVlZjNjMWMwMDJmMTI3ODEyYjExNGMxIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY2ZmY3M2QyZDE2MmUyZDQ5ZGI0Mzk4OGQ4YjhjZDMyOGNmN2ZmZmNhMDQyZGI3MzM5N2YxNGM3MTgyNWU4MGQiCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vbi9uZXRiYXNlLyIKLWRvX2luc3RhbGwgKCkgewotCWluc3RhbGwgLWQgJHtEfS8ke21hbmRpcn0vbWFuOCAke0R9JHtzeXNjb25mZGlyfQotCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2hvc3RzICR7RH0ke3N5c2NvbmZkaXJ9L2hvc3RzCi0JaW5zdGFsbCAtbSAwNjQ0IGV0Yy1ycGMgJHtEfSR7c3lzY29uZmRpcn0vcnBjCi0JaW5zdGFsbCAtbSAwNjQ0IGV0Yy1wcm90b2NvbHMgJHtEfSR7c3lzY29uZmRpcn0vcHJvdG9jb2xzCi0JaW5zdGFsbCAtbSAwNjQ0IGV0Yy1zZXJ2aWNlcyAke0R9JHtzeXNjb25mZGlyfS9zZXJ2aWNlcwotfQotCi1DT05GRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfS9ob3N0cyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmV0YmFzZS9uZXRiYXNlXzUuNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmV0YmFzZS9uZXRiYXNlXzUuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYWE0OTcxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9uZXRiYXNlL25ldGJhc2VfNS42LmJiCkBAIC0wLDAgKzEsMjEgQEAKK1NVTU1BUlkgPSAiQmFzaWMgVENQL0lQIG5ldHdvcmtpbmcgc3VwcG9ydCIKK0RFU0NSSVBUSU9OID0gIlRoaXMgcGFja2FnZSBwcm92aWRlcyB0aGUgbmVjZXNzYXJ5IGluZnJhc3RydWN0dXJlIGZvciBiYXNpYyBUQ1AvSVAgYmFzZWQgbmV0d29ya2luZyIKK0hPTUVQQUdFID0gImh0dHA6Ly9wYWNrYWdlcy5kZWJpYW4ub3JnL25ldGJhc2UiCitTRUNUSU9OID0gImJhc2UiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZGViaWFuL2NvcHlyaWdodDttZDU9M2RkNjE5MmQzMDZmNTgyZGVlNzY4N2RhM2Q4NzQ4YWIiCitQRSA9ICIxIgorCitTUkNfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9uLyR7QlBOfS8ke0JQTn1fJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovL25ldGJhc2UtYWRkLXJwY2JpbmQtYXMtYW4tYWxpYXMtdG8tc3VucnBjLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiN2FkMTU2MjcyYzVhNDJmNDljNzMzODZmZjM5Yzg2MjQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWQ5M2EwOTlkZWIyODg2OWI3MzA2ZTkxNDcwMGZhZmJkMjkzYjU1YmRiNWRmMDVhNWFhNmVmZmQwYWY1OTMwYyIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9uL25ldGJhc2UvIgorZG9faW5zdGFsbCAoKSB7CisJaW5zdGFsbCAtZCAke0R9LyR7bWFuZGlyfS9tYW44ICR7RH0ke3N5c2NvbmZkaXJ9CisJaW5zdGFsbCAtbSAwNjQ0IGV0Yy1ycGMgJHtEfSR7c3lzY29uZmRpcn0vcnBjCisJaW5zdGFsbCAtbSAwNjQ0IGV0Yy1wcm90b2NvbHMgJHtEfSR7c3lzY29uZmRpcn0vcHJvdG9jb2xzCisJaW5zdGFsbCAtbSAwNjQ0IGV0Yy1zZXJ2aWNlcyAke0R9JHtzeXNjb25mZGlyfS9zZXJ2aWNlcworfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9uZXdsaWIvbmV3bGliLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmV3bGliL25ld2xpYi5pbmMKaW5kZXggYzk3YzdjMi4uZjUwZTVmZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9uZXdsaWIvbmV3bGliLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL25ld2xpYi9uZXdsaWIuaW5jCkBAIC0yMCwxMSArMjAsNyBAQAogU1JDX1VSSVtzaGEyNTZzdW1dID0gImM4NTY2MzM1ZWU3NGU1ZmNhZWI4NTk1YjRlYmQwNDAwYzRiMDQzZDZhY2IzMjYzZWNiMTMxNGY4ZjU1MDEzMzIiCiAKIElOSElCSVRfREVGQVVMVF9ERVBTID0gIjEiCi1ERVBFTkRTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYy1pbml0aWFsIgotCi1QQVRIX3ByZXBlbmQgPSAiJHtTVEFHSU5HX0JJTkRJUl9UT09MQ0hBSU59LiR7U1RBR0lOR0NDfToiCi1TVEFHSU5HQ0MgPSAiZ2NjLWNyb3NzLWluaXRpYWwtJHtUQVJHRVRfQVJDSH0iCi1TVEFHSU5HQ0NfY2xhc3MtbmF0aXZlc2RrID0gImdjYy1jcm9zc3Nkay1pbml0aWFsLSR7U0RLX1NZU30iCitERVBFTkRTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYyIKIAogUyA9ICIke1dPUktESVJ9L25ld2xpYi0ke1BWfSIKIEIgPSAiJHtXT1JLRElSfS9idWlsZCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmV3bGliL25ld2xpYl8zLjAuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmV3bGliL25ld2xpYl8zLjAuMC5iYgppbmRleCAwOTIzOGZlLi5kYjEzNzI0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL25ld2xpYi9uZXdsaWJfMy4wLjAuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9uZXdsaWIvbmV3bGliXzMuMC4wLmJiCkBAIC0xLDYgKzEsNiBAQAogcmVxdWlyZSBuZXdsaWIuaW5jCiAKLVBST1ZJREVTICs9ICJ2aXJ0dWFsL2xpYmMgdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9bGliYy1mb3ItZ2NjIHZpcnR1YWwvbGliaWNvbnYgdmlydHVhbC9saWJpbnRsIgorUFJPVklERVMgKz0gInZpcnR1YWwvbGliYyB2aXJ0dWFsL2xpYmljb252IHZpcnR1YWwvbGliaW50bCIKIAogZG9fY29uZmlndXJlKCkgewogCSR7U30vY29uZmlndXJlICR7RVhUUkFfT0VDT05GfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9vcy1yZWxlYXNlL29zLXJlbGVhc2UuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL29zLXJlbGVhc2Uvb3MtcmVsZWFzZS5iYgppbmRleCA3ZjNkOWNiLi5kNTc5M2M2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL29zLXJlbGVhc2Uvb3MtcmVsZWFzZS5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL29zLXJlbGVhc2Uvb3MtcmVsZWFzZS5iYgpAQCAtMzAsNyArMzAsNiBAQAogICAgIHJldHVybiByZXQubG93ZXIoKQogCiBweXRob24gZG9fY29tcGlsZSAoKSB7Ci0gICAgaW1wb3J0IHNodXRpbAogICAgIHdpdGggb3BlbihkLmV4cGFuZCgnJHtCfS9vcy1yZWxlYXNlJyksICd3JykgYXMgZjoKICAgICAgICAgZm9yIGZpZWxkIGluIGQuZ2V0VmFyKCdPU19SRUxFQVNFX0ZJRUxEUycpLnNwbGl0KCk6CiAgICAgICAgICAgICB2YWx1ZSA9IGQuZ2V0VmFyKGZpZWxkKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9vdm1mL292bWZfZ2l0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9vdm1mL292bWZfZ2l0LmJiCmluZGV4IGQyZWNiNjEuLjcxODI4ZDggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvb3ZtZi9vdm1mX2dpdC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL292bWYvb3ZtZl9naXQuYmIKQEAgLTQzLDggKzQzLDcgQEAKIAogUyA9ICIke1dPUktESVJ9L2dpdCIKIAotREVQRU5EU19jbGFzcy1uYXRpdmU9InV0aWwtbGludXgtbmF0aXZlIGlhc2wtbmF0aXZlIHFlbXUtbmF0aXZlIgotCitERVBFTkRTX2NsYXNzLW5hdGl2ZT0idXRpbC1saW51eC1uYXRpdmUgaWFzbC1uYXRpdmUiCiBERVBFTkRTX2NsYXNzLXRhcmdldD0ib3ZtZi1uYXRpdmUiCiAKIERFUEVORFNfYXBwZW5kID0gIiBuYXNtLW5hdGl2ZSIKQEAgLTIzMiw2ICsyMzEsMTAgQEAKICAgICBlZmkvIFwKICIKIAorREVQTE9ZREVQID0gIiIKK0RFUExPWURFUF9jbGFzcy10YXJnZXQgPSAicWVtdS1zeXN0ZW0tbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QiCitkb19kZXBsb3lbZGVwZW5kc10gKz0gIiR7REVQTE9ZREVQfSIKKwogZG9fZGVwbG95KCkgewogfQogZG9fZGVwbG95W2NsZWFuZGlyc10gPSAiJHtERVBMT1lESVJ9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL25hdGl2ZXNkay1wYWNrYWdlZ3JvdXAtc2RrLWhvc3QuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvbmF0aXZlc2RrLXBhY2thZ2Vncm91cC1zZGstaG9zdC5iYgppbmRleCA0YmYwYWMwLi5hZTk4OTAxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvbmF0aXZlc2RrLXBhY2thZ2Vncm91cC1zZGstaG9zdC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvbmF0aXZlc2RrLXBhY2thZ2Vncm91cC1zZGstaG9zdC5iYgpAQCAtMjIsNiArMjIsNyBAQAogICAgIG5hdGl2ZXNkay1zaGFkb3cgXAogICAgIG5hdGl2ZXNkay1tYWtlZGV2cyBcCiAgICAgbmF0aXZlc2RrLWNtYWtlIFwKKyAgICBuYXRpdmVzZGstbWVzb24gXAogICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnd2F5bGFuZCcsICduYXRpdmVzZGstd2F5bGFuZCcsICcnLCBkKX0gXAogICAgIG5hdGl2ZXNkay1zZGstcHJvdmlkZXMtZHVtbXkgXAogICAgIG5hdGl2ZXNkay1iaXNvbiBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWNvcmUtc2RrLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1jb3JlLXNkay5iYgppbmRleCA0NWU4YzEzLi4xNWQwOTg5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWNvcmUtc2RrLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtY29yZS1zZGsuYmIKQEAgLTI3LDYgKzI3LDcgQEAKICAgICB0Y2wiCiAKIFNBTklUSVpFUlMgPSAibGliYXNhbi1kZXYgbGlidWJzYW4tZGV2IgorU0FOSVRJWkVSU19hcmMgPSAiIgogU0FOSVRJWkVSU19taWNyb2JsYXplID0gIiIKIFNBTklUSVpFUlNfbWlwc2FyY2ggPSAiIgogU0FOSVRJWkVSU19uaW9zMiA9ICIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWNvcmUtdG9vbHMtcHJvZmlsZS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtY29yZS10b29scy1wcm9maWxlLmJiCmluZGV4IDMzZDljMDkuLjNmZDQyM2MgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtY29yZS10b29scy1wcm9maWxlLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtY29yZS10b29scy1wcm9maWxlLmJiCkBAIC0zNywxNSArMzcsMTMgQEAKIAogIyBsdHRuZy11c3QgdXNlcyBzY2hlZF9nZXRjcHUoKSB3aGljaCBpcyBub3QgdGhlcmUgb24gZm9yIHNvbWUgcGxhdGZvcm1zLgogTFRUTkdVU1QgPSAibHR0bmctdXN0IgotTFRUTkdVU1RfbGliYy1tdXNsID0gIiIKLUxUVE5HVVNUX3Jpc2N2NjQgPSAiIgorTFRUTkdVU1RfYXJjID0gIiIKIAogTFRUTkdUT09MUyA9ICJsdHRuZy10b29scyIKLUxUVE5HVE9PTFNfbGliYy1tdXNsID0gIiIKLUxUVE5HVE9PTFNfcmlzY3Y2NCA9ICIiCitMVFROR1RPT0xTX2FyYyA9ICIiCiAKIExUVE5HTU9EVUxFUyA9ICJsdHRuZy1tb2R1bGVzIgotTFRUTkdNT0RVTEVTX3Jpc2N2NjQgPSAiIgorTFRUTkdNT0RVTEVTX2FyYyA9ICIiCiAKIEJBQkVMVFJBQ0UgPSAiYmFiZWx0cmFjZSIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1jb3JlLXRvb2xzLXRlc3RhcHBzLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1jb3JlLXRvb2xzLXRlc3RhcHBzLmJiCmluZGV4IDY0MzIxOTguLmE1ZmMxNTIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtY29yZS10b29scy10ZXN0YXBwcy5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWNvcmUtdG9vbHMtdGVzdGFwcHMuYmIKQEAgLTM0LDEyICszNCwxMCBAQAogICAgIHhyZXN0b3AgXAogICAgIHh3aW5pbmZvIFwKICAgICB4cHJvcCBcCi0gICAgeHZpZGVvLXRlc3RzIFwKICAgICAiCiAKIFJERVBFTkRTXyR7UE59ID0gIlwKICAgICBibGt0b29sIFwKLSAgICBscnpzeiBcCiAgICAgJHtLRVhFQ1RPT0xTfSBcCiAgICAgYWxzYS11dGlscy1hbWl4ZXIgXAogICAgIGFsc2EtdXRpbHMtYXBsYXkgXApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1zZWxmLWhvc3RlZC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtc2VsZi1ob3N0ZWQuYmIKaW5kZXggOWE2NzIxYy4uYjI5NmRiNSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1zZWxmLWhvc3RlZC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLXNlbGYtaG9zdGVkLmJiCkBAIC0xMjgsNyArMTI4LDYgQEAKICAgICBsaWJhaW8gXAogICAgIGxpYnVzYjEgXAogICAgIGxpYnhtbDIgXAotICAgIGxyenN6IFwKICAgICBsc29mIFwKICAgICBsem8gXAogICAgIG1hbiBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3BzcGxhc2gvcHNwbGFzaF9naXQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3BzcGxhc2gvcHNwbGFzaF9naXQuYmIKaW5kZXggM2FkMWVmNC4uMzE2MWE1ZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9wc3BsYXNoL3BzcGxhc2hfZ2l0LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcHNwbGFzaC9wc3BsYXNoX2dpdC5iYgpAQCAtNzQsNyArNzQsNiBAQAogcHl0aG9uIGRvX2NvbXBpbGUgKCkgewogICAgIGltcG9ydCBzaHV0aWwKICAgICBpbXBvcnQgc3VicHJvY2VzcwotICAgIGltcG9ydCBzaGxleAogCiAgICAgIyBCdWlsZCBhIHNlcGFyYXRlIGV4ZWN1dGFibGUgZm9yIGVhY2ggc3BsYXNoIGltYWdlCiAgICAgd29ya2RpciA9IGQuZ2V0VmFyKCdXT1JLRElSJykKQEAgLTg0LDkgKzgzLDEwIEBACiAgICAgb3V0cHV0ZmlsZXMgPSBkLmdldFZhcignU1BMQVNIX0lOU1RBTEwnKS5zcGxpdCgpCiAgICAgZm9yIGxvY2FsZmlsZSwgb3V0cHV0ZmlsZSBpbiB6aXAobG9jYWxmaWxlcywgb3V0cHV0ZmlsZXMpOgogICAgICAgICBpZiBsb2NhbGZpbGUuZW5kc3dpdGgoIi5wbmciKToKLSAgICAgICAgICAgIHN1YnByb2Nlc3MuY2FsbChzaGxleC5zcGxpdCgnJXMgJXMgUE9LWScgJSAoY29udmVydHNjcmlwdCwgb3MucGF0aC5qb2luKHdvcmtkaXIsIGxvY2FsZmlsZSkpKSkKKyAgICAgICAgICAgIGlmIHN1YnByb2Nlc3MuY2FsbChbIGNvbnZlcnRzY3JpcHQsIG9zLnBhdGguam9pbih3b3JrZGlyLCBsb2NhbGZpbGUpLCAnUE9LWScgXSwgY3dkPXdvcmtkaXIpOgorICAgICAgICAgICAgICAgIGJiLmZhdGFsKCJFcnJvciBjYWxsaW5nIGNvbnZlcnQgc2NyaXB0ICclcyciICUgKGNvbnZlcnRzY3JpcHQpKQogICAgICAgICAgICAgZmJhc2UgPSBvcy5wYXRoLnNwbGl0ZXh0KGxvY2FsZmlsZSlbMF0KLSAgICAgICAgICAgIHNodXRpbC5jb3B5ZmlsZSgiJXMtaW1nLmgiICUgZmJhc2UsIGRlc3RmaWxlKQorICAgICAgICAgICAgc2h1dGlsLmNvcHlmaWxlKG9zLnBhdGguam9pbih3b3JrZGlyLCAiJXMtaW1nLmgiICUgZmJhc2UpLCBkZXN0ZmlsZSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNodXRpbC5jb3B5ZmlsZShvcy5wYXRoLmpvaW4od29ya2RpciwgbG9jYWxmaWxlKSwgZGVzdGZpbGUpCiAgICAgICAgICMgRm9yIHNvbWUgcmVhc29uIGp1c3QgdXBkYXRpbmcgdGhlIGhlYWRlciBpcyBub3QgZW5vdWdoLCB3ZSBoYXZlIHRvIHRvdWNoIHRoZSAuYwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9yZWFkbGluZS9yZWFkbGluZS03LjAvY29uZmlndXJlLWZpeC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcmVhZGxpbmUvcmVhZGxpbmUtOC4wL2NvbmZpZ3VyZS1maXgucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWNvcmUvcmVhZGxpbmUvcmVhZGxpbmUtNy4wL2NvbmZpZ3VyZS1maXgucGF0Y2gKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWNvcmUvcmVhZGxpbmUvcmVhZGxpbmUtOC4wL2NvbmZpZ3VyZS1maXgucGF0Y2gKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcmVhZGxpbmUvcmVhZGxpbmUtNy4wL25vcnBhdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3JlYWRsaW5lL3JlYWRsaW5lLTguMC9ub3JwYXRoLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1jb3JlL3JlYWRsaW5lL3JlYWRsaW5lLTcuMC9ub3JwYXRoLnBhdGNoCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1jb3JlL3JlYWRsaW5lL3JlYWRsaW5lLTguMC9ub3JwYXRoLnBhdGNoCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3JlYWRsaW5lL3JlYWRsaW5lXzcuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcmVhZGxpbmUvcmVhZGxpbmVfNy4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NWRmYWE2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcmVhZGxpbmUvcmVhZGxpbmVfNy4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi1yZXF1aXJlIHJlYWRsaW5lLmluYwotCi1TUkNfVVJJICs9ICJmaWxlOi8vY29uZmlndXJlLWZpeC5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vbm9ycGF0aC5wYXRjaCIKLQotU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiMjA1YjAzYTg3ZmM4M2RhYjY1M2I2MjhjNTliOWZjOTEiCi1TUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI3NTBkNDM3MTg1Mjg2ZjQwYTM2OWUxZTRmNDc2NGVkYTkzMmI5NDU5YjVlYzlhNzMxNjI4MzkzZGQzZDMyMzM0IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9yZWFkbGluZS9yZWFkbGluZV84LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3JlYWRsaW5lL3JlYWRsaW5lXzguMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OWQwMjJhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9yZWFkbGluZS9yZWFkbGluZV84LjAuYmIKQEAgLTAsMCArMSw3IEBACityZXF1aXJlIHJlYWRsaW5lLmluYworCitTUkNfVVJJICs9ICJmaWxlOi8vY29uZmlndXJlLWZpeC5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vbm9ycGF0aC5wYXRjaCIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiN2U2YzFmMTZhZWUzMjQ0YTY5YWJhNmU0MzgyOTVjYTMiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJlMzM5ZjUxOTcxNDc4ZDM2OWY4YTA1M2EzMzBhMTkwNzgxYWNiOTg2NGNmNGM1NDEwNjBmMTIwNzg5NDhlNDYxIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQtYm9vdF8yMzkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC1ib290XzIzOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjQ1MGQ1Mi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC1ib290XzIzOS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDcwICswLDAgQEAKLXJlcXVpcmUgc3lzdGVtZC5pbmMKLUZJTEVTRVhUUkFQQVRIUyA9LiAiJHtGSUxFX0RJUk5BTUV9L3N5c3RlbWQ6IgotCi1ERVBFTkRTID0gImludGx0b29sLW5hdGl2ZSBsaWJjYXAgdXRpbC1saW51eCBnbnUtZWZpIGdwZXJmLW5hdGl2ZSIKLQotU1JDX1VSSSArPSAiZmlsZTovLzAwMDItdXNlLWxuci13cmFwcGVyLWluc3RlYWQtb2YtbG9va2luZy1mb3ItcmVsYXRpdmUtb3B0aS5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwNi1yZW1vdmUtbm9ib2R5LXVzZXItZ3JvdXAtY2hlY2tpbmcucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LXRvLXJ1bi1lZmlfY2MtYW5kLWVmaV9sZC1jb3JyZWN0bHktd2hlbi1jcm9zcy1jby5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1tZXNvbi1yZW5hbWUtRGRlYnVnLXRvLURkZWJ1Zy1leHRyYS5wYXRjaCBcCi0gICAgICAgICAgICAiCi0KLWluaGVyaXQgbWVzb24gcGtnY29uZmlnIGdldHRleHQKLWluaGVyaXQgZGVwbG95Ci0KLUVGSV9DQyA/PSAiJHtDQ30iCi1FWFRSQV9PRU1FU09OICs9ICItRGVmaT10cnVlIFwKLSAgICAgICAgICAgICAgICAgIC1EZ251LWVmaT10cnVlIFwKLSAgICAgICAgICAgICAgICAgIC1EZWZpLWluY2x1ZGVkaXI9JHtTVEFHSU5HX0lOQ0RJUn0vZWZpIFwKLSAgICAgICAgICAgICAgICAgIC1EZWZpLWxkc2Rpcj0ke1NUQUdJTkdfTElCRElSfSBcCi0gICAgICAgICAgICAgICAgICAtRGVmaS1saWJkaXI9JHtTVEFHSU5HX0xJQkRJUn0gXAotICAgICAgICAgICAgICAgICAgLURtYW49ZmFsc2UgXAotICAgICAgICAgICAgICAgICAgLURlZmktY2M9JyR7RUZJX0NDfScgXAotICAgICAgICAgICAgICAgICAgLURlZmktbGQ9JyR7TER9JyBcCi0gICAgICAgICAgICAgICAgICAiCi0KLSMgaW5zdGFsbCB0byB0aGUgaW1hZ2UgYXMgYm9vdCouZWZpIGlmIGl0cyB0aGUgRUZJX1BST1ZJREVSLAotIyBvdGhlcndpc2UgaW5zdGFsbCBhcyB0aGUgZnVsbCBuYW1lLgotIyBUaGlzIGFsbG93cyBtdWx0aXBsZSBib290bG9hZGVycyB0byBjb2V4aXN0IGluIGEgc2luZ2xlIGltYWdlLgotcHl0aG9uIF9fYW5vbnltb3VzICgpIHsKLSAgICBpbXBvcnQgcmUKLSAgICB0YXJnZXQgPSBkLmdldFZhcignVEFSR0VUX0FSQ0gnKQotICAgIHByZWZpeCA9ICIiIGlmIGQuZ2V0VmFyKCdFRklfUFJPVklERVInKSA9PSAic3lzdGVtZC1ib290IiBlbHNlICJzeXN0ZW1kLSIKLSAgICBpZiB0YXJnZXQgPT0gIng4Nl82NCI6Ci0gICAgICAgIHN5c3RlbWRpbWFnZSA9IHByZWZpeCArICJib290eDY0LmVmaSIKLSAgICBlbHNlOgotICAgICAgICBzeXN0ZW1kaW1hZ2UgPSBwcmVmaXggKyAiYm9vdGlhMzIuZWZpIgotICAgIGQuc2V0VmFyKCJTWVNURU1EX0JPT1RfSU1BR0UiLCBzeXN0ZW1kaW1hZ2UpCi0gICAgcHJlZml4ID0gInN5c3RlbWQtIiBpZiBwcmVmaXggPT0gIiIgZWxzZSAiIgotICAgIGQuc2V0VmFyKCJTWVNURU1EX0JPT1RfSU1BR0VfUFJFRklYIiwgcHJlZml4KQotfQotCi1GSUxFU18ke1BOfSA9ICIvYm9vdC9FRkkvQk9PVC8ke1NZU1RFTURfQk9PVF9JTUFHRX0iCi0KLVJERVBFTkRTXyR7UE59ICs9ICJ2aXJ0dWFsL3N5c3RlbWQtYm9vdGNvbmYiCi0KLSMgSW1wb3J0ZWQgZnJvbSB0aGUgb2xkIGd1bW1pYm9vdCByZWNpcGUKLVRVTkVfQ0NBUkdTX3JlbW92ZSA9ICItbWZwbWF0aD1zc2UiCi1DT01QQVRJQkxFX0hPU1QgPSAiKHg4Nl82NC4qfGkuODYuKiktbGludXgiCi1DT01QQVRJQkxFX0hPU1RfeDg2LXgzMiA9ICJudWxsIgotCi1kb19jb21waWxlKCkgewotCVNZU1RFTURfQk9PVF9FRklfQVJDSD0iaWEzMiIKLQlpZiBbICIke1RBUkdFVF9BUkNIfSIgPSAieDg2XzY0IiBdOyB0aGVuCi0JCVNZU1RFTURfQk9PVF9FRklfQVJDSD0ieDY0IgotCWZpCi0KLQluaW5qYSBzcmMvYm9vdC9lZmkvJHtTWVNURU1EX0JPT1RfSU1BR0VfUFJFRklYfSR7U1lTVEVNRF9CT09UX0lNQUdFfQotfQotCi1kb19pbnN0YWxsKCkgewotCWluc3RhbGwgLWQgJHtEfS9ib290Ci0JaW5zdGFsbCAtZCAke0R9L2Jvb3QvRUZJCi0JaW5zdGFsbCAtZCAke0R9L2Jvb3QvRUZJL0JPT1QKLQlpbnN0YWxsICR7Qn0vc3JjL2Jvb3QvZWZpL3N5c3RlbWQtYm9vdCouZWZpICR7RH0vYm9vdC9FRkkvQk9PVC8ke1NZU1RFTURfQk9PVF9JTUFHRX0KLX0KLQotZG9fZGVwbG95ICgpIHsKLQlpbnN0YWxsICR7Qn0vc3JjL2Jvb3QvZWZpL3N5c3RlbWQtYm9vdCouZWZpICR7REVQTE9ZRElSfQotfQotYWRkdGFzayBkZXBsb3kgYmVmb3JlIGRvX2J1aWxkIGFmdGVyIGRvX2NvbXBpbGUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLWJvb3RfMjQxLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQtYm9vdF8yNDEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTZlNjhhMwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLWJvb3RfMjQxLmJiCkBAIC0wLDAgKzEsNzEgQEAKK3JlcXVpcmUgc3lzdGVtZC5pbmMKK0ZJTEVTRVhUUkFQQVRIUyA9LiAiJHtGSUxFX0RJUk5BTUV9L3N5c3RlbWQ6IgorCitERVBFTkRTID0gImludGx0b29sLW5hdGl2ZSBsaWJjYXAgdXRpbC1saW51eCBnbnUtZWZpIGdwZXJmLW5hdGl2ZSIKKworIyBOT1RFOiBUaGVzZSB0aHJlZSBwYXRjaGVzIGFyZSBpbiB0aGVvcnkgbm90IG5lZWRlZCwgYnV0IHdlIGhhdmVuJ3QKKyMgICAgICAgZmlndXJlZCBvdXQgaG93IHRvIGNvcnJlY3RseSBwYXNzIGVmaS1jYyBwYXJhbWV0ZXIgaWYgaXQncyBhbiBhcnJheS4KK1NSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLVJldmVydC1tZXNvbi11c2UtYW4tYXJyYXktb3B0aW9uLWZvci1lZmktY2MucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtUmV2ZXJ0LW1lc29uLXByaW50LUVGSS1DQy1jb25maWd1cmF0aW9uLW5pY2VseS5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtdG8tcnVuLWVmaV9jYy1hbmQtZWZpX2xkLWNvcnJlY3RseS13aGVuLWNyb3NzLWNvLnBhdGNoIFwKKyAgICAgICAgICAgICIKKworaW5oZXJpdCBtZXNvbiBwa2djb25maWcgZ2V0dGV4dAoraW5oZXJpdCBkZXBsb3kKKworRUZJX0NDID89ICIke0NDfSIKK0VYVFJBX09FTUVTT04gKz0gIi1EZWZpPXRydWUgXAorICAgICAgICAgICAgICAgICAgLURnbnUtZWZpPXRydWUgXAorICAgICAgICAgICAgICAgICAgLURlZmktaW5jbHVkZWRpcj0ke1NUQUdJTkdfSU5DRElSfS9lZmkgXAorICAgICAgICAgICAgICAgICAgLURlZmktbGRzZGlyPSR7U1RBR0lOR19MSUJESVJ9IFwKKyAgICAgICAgICAgICAgICAgIC1EZWZpLWxpYmRpcj0ke1NUQUdJTkdfTElCRElSfSBcCisgICAgICAgICAgICAgICAgICAtRG1hbj1mYWxzZSBcCisgICAgICAgICAgICAgICAgICAtRGVmaS1jYz0nJHtFRklfQ0N9JyBcCisgICAgICAgICAgICAgICAgICAtRGVmaS1sZD0nJHtMRH0nIFwKKyAgICAgICAgICAgICAgICAgICIKKworIyBpbnN0YWxsIHRvIHRoZSBpbWFnZSBhcyBib290Ki5lZmkgaWYgaXRzIHRoZSBFRklfUFJPVklERVIsCisjIG90aGVyd2lzZSBpbnN0YWxsIGFzIHRoZSBmdWxsIG5hbWUuCisjIFRoaXMgYWxsb3dzIG11bHRpcGxlIGJvb3Rsb2FkZXJzIHRvIGNvZXhpc3QgaW4gYSBzaW5nbGUgaW1hZ2UuCitweXRob24gX19hbm9ueW1vdXMgKCkgeworICAgIGltcG9ydCByZQorICAgIHRhcmdldCA9IGQuZ2V0VmFyKCdUQVJHRVRfQVJDSCcpCisgICAgcHJlZml4ID0gIiIgaWYgZC5nZXRWYXIoJ0VGSV9QUk9WSURFUicpID09ICJzeXN0ZW1kLWJvb3QiIGVsc2UgInN5c3RlbWQtIgorICAgIGlmIHRhcmdldCA9PSAieDg2XzY0IjoKKyAgICAgICAgc3lzdGVtZGltYWdlID0gcHJlZml4ICsgImJvb3R4NjQuZWZpIgorICAgIGVsc2U6CisgICAgICAgIHN5c3RlbWRpbWFnZSA9IHByZWZpeCArICJib290aWEzMi5lZmkiCisgICAgZC5zZXRWYXIoIlNZU1RFTURfQk9PVF9JTUFHRSIsIHN5c3RlbWRpbWFnZSkKKyAgICBwcmVmaXggPSAic3lzdGVtZC0iIGlmIHByZWZpeCA9PSAiIiBlbHNlICIiCisgICAgZC5zZXRWYXIoIlNZU1RFTURfQk9PVF9JTUFHRV9QUkVGSVgiLCBwcmVmaXgpCit9CisKK0ZJTEVTXyR7UE59ID0gIi9ib290L0VGSS9CT09ULyR7U1lTVEVNRF9CT09UX0lNQUdFfSIKKworUkRFUEVORFNfJHtQTn0gKz0gInZpcnR1YWwvc3lzdGVtZC1ib290Y29uZiIKKworIyBJbXBvcnRlZCBmcm9tIHRoZSBvbGQgZ3VtbWlib290IHJlY2lwZQorVFVORV9DQ0FSR1NfcmVtb3ZlID0gIi1tZnBtYXRoPXNzZSIKK0NPTVBBVElCTEVfSE9TVCA9ICIoeDg2XzY0Lip8aS44Ni4qKS1saW51eCIKK0NPTVBBVElCTEVfSE9TVF94ODYteDMyID0gIm51bGwiCisKK2RvX2NvbXBpbGUoKSB7CisJU1lTVEVNRF9CT09UX0VGSV9BUkNIPSJpYTMyIgorCWlmIFsgIiR7VEFSR0VUX0FSQ0h9IiA9ICJ4ODZfNjQiIF07IHRoZW4KKwkJU1lTVEVNRF9CT09UX0VGSV9BUkNIPSJ4NjQiCisJZmkKKworCW5pbmphIHNyYy9ib290L2VmaS8ke1NZU1RFTURfQk9PVF9JTUFHRV9QUkVGSVh9JHtTWVNURU1EX0JPT1RfSU1BR0V9Cit9CisKK2RvX2luc3RhbGwoKSB7CisJaW5zdGFsbCAtZCAke0R9L2Jvb3QKKwlpbnN0YWxsIC1kICR7RH0vYm9vdC9FRkkKKwlpbnN0YWxsIC1kICR7RH0vYm9vdC9FRkkvQk9PVAorCWluc3RhbGwgJHtCfS9zcmMvYm9vdC9lZmkvc3lzdGVtZC1ib290Ki5lZmkgJHtEfS9ib290L0VGSS9CT09ULyR7U1lTVEVNRF9CT09UX0lNQUdFfQorfQorCitkb19kZXBsb3kgKCkgeworCWluc3RhbGwgJHtCfS9zcmMvYm9vdC9lZmkvc3lzdGVtZC1ib290Ki5lZmkgJHtERVBMT1lESVJ9Cit9CithZGR0YXNrIGRlcGxveSBiZWZvcmUgZG9fYnVpbGQgYWZ0ZXIgZG9fY29tcGlsZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQtY29uZi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLWNvbmZfMjQxLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC1jb25mLmJiCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC1jb25mXzI0MS5iYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQuaW5jCmluZGV4IDczNmUwYTAuLjViZDg4ZWQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC5pbmMKQEAgLTE0LDggKzE0LDEwIEBACiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLkdQTDI7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIFwKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0UuTEdQTDIuMTttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCiAKLVNSQ1JFViA9ICJkZTc0MzZiMDJiYWRjODIyMDBkYzEyN2ZmMTkwYjgxNTU3NjliOGU3IgotCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vc3lzdGVtZC9zeXN0ZW1kLmdpdDtwcm90b2NvbD1naXQiCitTUkNSRVYgPSAiYzFmOGZmOGQwZGU3ZTMwM2I4MDA0YjAyYTBhNDdkNGNjMTAzYTdmOCIKK1NSQ0JSQU5DSCA9ICJ2MjQxLXN0YWJsZSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9zeXN0ZW1kL3N5c3RlbWQtc3RhYmxlLmdpdDtwcm90b2NvbD1naXQ7YnJhbmNoPSR7U1JDQlJBTkNIfSIKIAogUyA9ICIke1dPUktESVJ9L2dpdCIKKworUFZfYXBwZW5kID0gIiske1NSQ1BWfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtUmVtb3ZlLWZzdGFjay1wcm90ZWN0b3ItZmxhZ3MtdG8td29ya2Fyb3VuZC1tdXNsLWJ1aS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtUmVtb3ZlLWZzdGFjay1wcm90ZWN0b3ItZmxhZ3MtdG8td29ya2Fyb3VuZC1tdXNsLWJ1aS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDc0NTgwMC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLVJlbW92ZS1mc3RhY2stcHJvdGVjdG9yLWZsYWdzLXRvLXdvcmthcm91bmQtbXVzbC1idWkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi1Gcm9tIDllMzgxNmJjYWEzNmUxYTExNjQ3Y2EwY2Y0ZjgwNDQ0NDljNzdmZTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBNb24sIDIgSnVsIDIwMTggMTU6Mjg6MjIgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gUmVtb3ZlIGZzdGFjay1wcm90ZWN0b3IgZmxhZ3MgdG8gd29ya2Fyb3VuZCBtdXNsIGJ1aWxkCi0KLVJlbW92ZSBmc3RhY2stcHJvdGVjdG9yIGFuZCBmc3RhY2stcHJvdGVjdG9yLXN0cm9uZyBmbGFncyB0byBmaXgKLXRoZSBmb2xsb3dpbmcgYnVpbGQgZmFpbHVyZSBmb3IgcWVtdXg4NiBhbmQgcWVtdXBwYyB3aXRoIG11c2wuCi0KLSAgdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19zdGFja19jaGtfZmFpbF9sb2NhbCcKLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIFNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBtZXNvbi5idWlsZCB8IDIgLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL21lc29uLmJ1aWxkIGIvbWVzb24uYnVpbGQKLWluZGV4IGY0MzJlYTA3Mi4uYTczNGEyOTVjIDEwMDY0NAotLS0tIGEvbWVzb24uYnVpbGQKLSsrKyBiL21lc29uLmJ1aWxkCi1AQCAtMzMzLDggKzMzMyw2IEBAIHBvc3NpYmxlX2NjX2ZsYWdzID0gWwotICAgICAgICAgJy1mZGlhZ25vc3RpY3Mtc2hvdy1vcHRpb24nLAotICAgICAgICAgJy1mbm8tc3RyaWN0LWFsaWFzaW5nJywKLSAgICAgICAgICctZnZpc2liaWxpdHk9aGlkZGVuJywKLS0gICAgICAgICctZnN0YWNrLXByb3RlY3RvcicsCi0tICAgICAgICAnLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nJywKLSAgICAgICAgICctLXBhcmFtPXNzcC1idWZmZXItc2l6ZT00JywKLSBdCi0gCi0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLVJldmVydC1tZXNvbi1wcmludC1FRkktQ0MtY29uZmlndXJhdGlvbi1uaWNlbHkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLVJldmVydC1tZXNvbi1wcmludC1FRkktQ0MtY29uZmlndXJhdGlvbi1uaWNlbHkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWQxNGUyNQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtUmV2ZXJ0LW1lc29uLXByaW50LUVGSS1DQy1jb25maWd1cmF0aW9uLW5pY2VseS5wYXRjaApAQCAtMCwwICsxLDMzIEBACitGcm9tIDBiZjUzMGFhYzE1MjYzMDUwMDkzOWRiMzFmOThkOTMzMTU4ZmRhYmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDI2IEZlYiAyMDE5IDE0OjI3OjQ5ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIFJldmVydCAibWVzb246IHByaW50IEVGSSBDQyBjb25maWd1cmF0aW9uIG5pY2VseSIKKworVGhpcyByZXZlcnRzIGNvbW1pdCBjNTEyZGZiOWFjOTQ4ZGRiMWNlZDBkYWIwN2I5ZGFjODhiMTk4MjkzLgorCitUaGlzIHBhdGNoIGlzIGhlcmUgYmVjYXVzZSB3ZSBoYXZlbid0IGZpZ3VyZWQgb3V0IGhvdyB0byBwYXNzCitwYXJhbWV0ZXIgdG8gZWZpLWNjIGlmIGl0J3MgYW4gYXJyYXkgaW4gc3lzdGVtZC1ib290IHJlY2lwZS4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgbWVzb24uYnVpbGQgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCitpbmRleCA3MGZiMjE4Li4zMGRmODM0IDEwMDY0NAorLS0tIGEvbWVzb24uYnVpbGQKKysrKyBiL21lc29uLmJ1aWxkCitAQCAtMzEzOCw3ICszMTM4LDcgQEAgaWYgY29uZi5nZXQoJ0VOQUJMRV9FRkknKSA9PSAxCisgICAgICAgICBpZiBoYXZlX2dudV9lZmkKKyAgICAgICAgICAgICAgICAgc3RhdHVzICs9IFsKKyAgICAgICAgICAgICAgICAgICAgICAgICAnRUZJIG1hY2hpbmUgdHlwZTogICAgICAgICAgICAgICAgICBAMEAnLmZvcm1hdChFRklfTUFDSElORV9UWVBFX05BTUUpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICdFRkkgQ0MgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAwQCcuZm9ybWF0KCcgJy5qb2luKGVmaV9jYykpLAorKyAgICAgICAgICAgICAgICAgICAgICAgICdFRkkgQ0MgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAwQCcuZm9ybWF0KGVmaV9jYyksCisgICAgICAgICAgICAgICAgICAgICAgICAgJ0VGSSBsaWIgZGlyZWN0b3J5OiAgICAgICAgICAgICAgICAgQDBAJy5mb3JtYXQoZWZpX2xpYmRpciksCisgICAgICAgICAgICAgICAgICAgICAgICAgJ0VGSSBsZHMgZGlyZWN0b3J5OiAgICAgICAgICAgICAgICAgQDBAJy5mb3JtYXQoZWZpX2xkc2RpciksCisgICAgICAgICAgICAgICAgICAgICAgICAgJ0VGSSBpbmNsdWRlIGRpcmVjdG9yeTogICAgICAgICAgICAgQDBAJy5mb3JtYXQoZWZpX2luY2RpcildCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtUmV2ZXJ0LW1lc29uLXVzZS1hbi1hcnJheS1vcHRpb24tZm9yLWVmaS1jYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtUmV2ZXJ0LW1lc29uLXVzZS1hbi1hcnJheS1vcHRpb24tZm9yLWVmaS1jYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZDJlYmY2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1SZXZlcnQtbWVzb24tdXNlLWFuLWFycmF5LW9wdGlvbi1mb3ItZWZpLWNjLnBhdGNoCkBAIC0wLDAgKzEsNzcgQEAKK0Zyb20gMDAzMGRjYmFjMWE5MTc3ZWY3YTI4YWYyMDlhYzY3MTQ5Yjg5OWY1ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgMjYgRmViIDIwMTkgMTQ6MTc6MjUgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gUmV2ZXJ0ICJtZXNvbjogdXNlIGFuIGFycmF5IG9wdGlvbiBmb3IgZWZpLWNjIgorCitUaGlzIHJldmVydHMgY29tbWl0IDU5NTM0M2ZiNGM5OWMyNjc5ZDM0N2VmN2MxOWRlYmZiZmVkNjM0MmUuCisKK1RoaXMgcGF0Y2ggaXMgaGVyZSBiZWNhdXNlIHdlIGhhdmVuJ3QgZmlndXJlZCBvdXQgaG93IHRvIHBhc3MKK3BhcmFtZXRlciB0byBlZmktY2MgaWYgaXQncyBhbiBhcnJheSBpbiBzeXN0ZW1kLWJvb3QgcmVjaXBlLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBtZXNvbl9vcHRpb25zLnR4dCAgICAgICAgfCAgMiArLQorIHNyYy9ib290L2VmaS9tZXNvbi5idWlsZCB8IDExICsrKysrKy0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9tZXNvbl9vcHRpb25zLnR4dCBiL21lc29uX29wdGlvbnMudHh0CitpbmRleCAwNDRiYjc5Li4zZDI4YmZkIDEwMDY0NAorLS0tIGEvbWVzb25fb3B0aW9ucy50eHQKKysrKyBiL21lc29uX29wdGlvbnMudHh0CitAQCAtMjkyLDcgKzI5Miw3IEBAIG9wdGlvbignZGJ1cycsIHR5cGUgOiAnY29tYm8nLCBjaG9pY2VzIDogWydhdXRvJywgJ3RydWUnLCAnZmFsc2UnXSwKKyAKKyBvcHRpb24oJ2dudS1lZmknLCB0eXBlIDogJ2NvbWJvJywgY2hvaWNlcyA6IFsnYXV0bycsICd0cnVlJywgJ2ZhbHNlJ10sCisgICAgICAgIGRlc2NyaXB0aW9uIDogJ2dudS1lZmkgc3VwcG9ydCBmb3Igc2QtYm9vdCcpCistb3B0aW9uKCdlZmktY2MnLCB0eXBlIDogJ2FycmF5JywKKytvcHRpb24oJ2VmaS1jYycsIHR5cGUgOiAnc3RyaW5nJywKKyAgICAgICAgZGVzY3JpcHRpb24gOiAndGhlIGNvbXBpbGVyIHRvIHVzZSBmb3IgRUZJIG1vZHVsZXMnKQorIG9wdGlvbignZWZpLWxkJywgdHlwZSA6ICdzdHJpbmcnLAorICAgICAgICBkZXNjcmlwdGlvbiA6ICd0aGUgbGlua2VyIHRvIHVzZSBmb3IgRUZJIG1vZHVsZXMnKQorZGlmZiAtLWdpdCBhL3NyYy9ib290L2VmaS9tZXNvbi5idWlsZCBiL3NyYy9ib290L2VmaS9tZXNvbi5idWlsZAoraW5kZXggMjE0MDE1MS4uZDhkYjNhMSAxMDA2NDQKKy0tLSBhL3NyYy9ib290L2VmaS9tZXNvbi5idWlsZAorKysrIGIvc3JjL2Jvb3QvZWZpL21lc29uLmJ1aWxkCitAQCAtMzQsOCArMzQsOCBAQCBzdHViX3NvdXJjZXMgPSAnJycKKyAKKyBpZiBjb25mLmdldCgnRU5BQkxFX0VGSScpID09IDEgYW5kIGdldF9vcHRpb24oJ2dudS1lZmknKSAhPSAnZmFsc2UnCisgICAgICAgICBlZmlfY2MgPSBnZXRfb3B0aW9uKCdlZmktY2MnKQorLSAgICAgICAgaWYgZWZpX2NjLmxlbmd0aCgpID09IDAKKy0gICAgICAgICAgICAgICAgZWZpX2NjID0gY2MuY21kX2FycmF5KCkKKysgICAgICAgIGlmIGVmaV9jYyA9PSAnJworKyAgICAgICAgICAgICAgICBlZmlfY2MgPSAnICcuam9pbihjYy5jbWRfYXJyYXkoKSkKKyAgICAgICAgIGVuZGlmCisgICAgICAgICBlZmlfbGQgPSBnZXRfb3B0aW9uKCdlZmktbGQnKQorICAgICAgICAgaWYgZWZpX2xkID09ICcnCitAQCAtNTcsNyArNTcsOCBAQCBpZiBjb25mLmdldCgnRU5BQkxFX0VGSScpID09IDEgYW5kIGdldF9vcHRpb24oJ2dudS1lZmknKSAhPSAnZmFsc2UnCisgCisgICAgICAgICBlZmlfbGliZGlyID0gZ2V0X29wdGlvbignZWZpLWxpYmRpcicpCisgICAgICAgICBpZiBlZmlfbGliZGlyID09ICcnCistICAgICAgICAgICAgICAgIHJldCA9IHJ1bl9jb21tYW5kKGVmaV9jYyArIFsnLXByaW50LW11bHRpLW9zLWRpcmVjdG9yeSddKQorKyAgICAgICAgICAgICAgICBjbWQgPSAnY2QgL3Vzci9saWIvJChAMEAgLXByaW50LW11bHRpLW9zLWRpcmVjdG9yeSkgJiYgcHdkJy5mb3JtYXQoZWZpX2NjKQorKyAgICAgICAgICAgICAgICByZXQgPSBydW5fY29tbWFuZCgnc2gnLCAnLWMnLCBjbWQpCisgICAgICAgICAgICAgICAgIGlmIHJldC5yZXR1cm5jb2RlKCkgPT0gMAorICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGggPSBqb2luX3BhdGhzKCcvdXNyL2xpYicsIHJldC5zdGRvdXQoKS5zdHJpcCgpKQorICAgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IHJ1bl9jb21tYW5kKCdyZWFscGF0aCcsICctZScsIHBhdGgpCitAQCAtMTUyLDcgKzE1Myw3IEBAIGlmIGhhdmVfZ251X2VmaQorICAgICAgICAgICAgICAgICBvX2ZpbGUgPSBjdXN0b21fdGFyZ2V0KGZpbGUgKyAnLm8nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0IDogZmlsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXQgOiBmaWxlICsgJy5vJywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kIDogZWZpX2NjICsgWyctYycsICdASU5QVVRAJywgJy1vJywgJ0BPVVRQVVRAJ10KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kIDogW2VmaV9jYywgJy1jJywgJ0BJTlBVVEAnLCAnLW8nLCAnQE9VVFBVVEAnXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArIGNvbXBpbGVfYXJncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRfZmlsZXMgOiBlZmlfaGVhZGVycykKKyAgICAgICAgICAgICAgICAgaWYgKGNvbW1vbl9zb3VyY2VzICsgc3lzdGVtZF9ib290X3NvdXJjZXMpLmNvbnRhaW5zKGZpbGUpCitAQCAtMTYzLDcgKzE2NCw3IEBAIGlmIGhhdmVfZ251X2VmaQorICAgICAgICAgICAgICAgICBlbmRpZgorICAgICAgICAgZW5kZm9yZWFjaAorIAorLSAgICAgICAgbGliZ2NjX2ZpbGVfbmFtZSA9IHJ1bl9jb21tYW5kKGVmaV9jYyArIFsnLXByaW50LWxpYmdjYy1maWxlLW5hbWUnXSkuc3Rkb3V0KCkuc3RyaXAoKQorKyAgICAgICAgbGliZ2NjX2ZpbGVfbmFtZSA9IHJ1bl9jb21tYW5kKGVmaV9jYywgJy1wcmludC1saWJnY2MtZmlsZS1uYW1lJykuc3Rkb3V0KCkuc3RyaXAoKQorICAgICAgICAgc3lzdGVtZF9ib290X2VmaV9uYW1lID0gJ3N5c3RlbWQtYm9vdEAwQC5lZmknLmZvcm1hdChFRklfTUFDSElORV9UWVBFX05BTUUpCisgICAgICAgICBzdHViX2VmaV9uYW1lID0gJ2xpbnV4QDBALmVmaS5zdHViJy5mb3JtYXQoRUZJX01BQ0hJTkVfVFlQRV9OQU1FKQorICAgICAgICAgbm9fdW5kZWZpbmVkX3N5bWJvbHMgPSBmaW5kX3Byb2dyYW0oJ25vLXVuZGVmaW5lZC1zeW1ib2xzLnNoJykKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1SZXZlcnQtc3lzY3RsLmQtcmVxdWVzdC1FQ04tb24tYm90aC1pbi1hbmQtb3V0Z29pbmctLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1SZXZlcnQtc3lzY3RsLmQtcmVxdWVzdC1FQ04tb24tYm90aC1pbi1hbmQtb3V0Z29pbmctLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZmQ2ZDAxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtUmV2ZXJ0LXN5c2N0bC5kLXJlcXVlc3QtRUNOLW9uLWJvdGgtaW4tYW5kLW91dGdvaW5nLS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLUZyb20gMWUxOTBkZmQ1YmI5NTAzNmY5MzdlZjFkYzQ2ZjQzZWIwYTE0NjYxMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFRob21hcyBIaW5kb2UgUGFhYm9lbCBBbmRlcnNlbiA8cGhvbWVzQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMTcgQXVnIDIwMTggMjE6MzE6MDUgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gUmV2ZXJ0ICJzeXNjdGwuZDogcmVxdWVzdCBFQ04gb24gYm90aCBpbiBhbmQgb3V0Z29pbmcKLSBjb25uZWN0aW9ucyIKLQotVHVybmluZyBvbiBFQ04gc3RpbGwgY2F1c2VzIHNsb3cgb3IgYnJva2VuIG5ldHdvcmsgb24gbGludXguIE91ciB0Y3AKLWlzIG5vdCB5ZXQgcmVhZHkgZm9yIHdpZGUgc3ByZWFkIHVzZSBvZiBFQ04uCi0KLVRoaXMgcmV2ZXJ0cyBjb21taXQgOTE5NDcyNzQxZGJhNmFkMGEzZjZjMmI3NmQzOTBhMDJkMGUyZmRjMy4KLQotaHR0cHM6Ly9naXRodWIuY29tL3N5c3RlbWQvc3lzdGVtZC9pc3N1ZXMvOTc0OAotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1TaWduZWQtb2ZmLWJ5OiBBbGV4IEtpZXJuYW4gPGFsZXgua2llcm5hbkBnbWFpbC5jb20+Ci0tLS0KLSBzeXNjdGwuZC81MC1kZWZhdWx0LmNvbmYgfCAzIC0tLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3lzY3RsLmQvNTAtZGVmYXVsdC5jb25mIGIvc3lzY3RsLmQvNTAtZGVmYXVsdC5jb25mCi1pbmRleCBiNjdhZTg3Y2E2YjcuLmUyNjNjZjA2Mjg0YSAxMDA2NDQKLS0tLSBhL3N5c2N0bC5kLzUwLWRlZmF1bHQuY29uZgotKysrIGIvc3lzY3RsLmQvNTAtZGVmYXVsdC5jb25mCi1AQCAtMzMsOSArMzMsNiBAQCBuZXQuaXB2NC5jb25mLmFsbC5wcm9tb3RlX3NlY29uZGFyaWVzID0gMQotICMgRmFpciBRdWV1ZSBDb0RlbCBwYWNrZXQgc2NoZWR1bGVyIHRvIGZpZ2h0IGJ1ZmZlcmJsb2F0Ci0gbmV0LmNvcmUuZGVmYXVsdF9xZGlzYyA9IGZxX2NvZGVsCi0gCi0tIyBSZXF1ZXN0IEV4cGxpY2l0IENvbmdlc3Rpb24gTm90aWZpY2F0aW9uIChFQ04pIG9uIGJvdGggaW4gYW5kIG91dGdvaW5nIGNvbm5lY3Rpb25zCi0tbmV0LmlwdjQudGNwX2VjbiA9IDEKLS0KLSAjIEVuYWJsZSBoYXJkIGFuZCBzb2Z0IGxpbmsgcHJvdGVjdGlvbgotIGZzLnByb3RlY3RlZF9oYXJkbGlua3MgPSAxCi0gZnMucHJvdGVjdGVkX3N5bWxpbmtzID0gMQotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLVVzZS1nZXRlbnYtd2hlbi1zZWN1cmUtdmVyc2lvbnMtYXJlLW5vdC1hdmFpbGFibGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLVVzZS1nZXRlbnYtd2hlbi1zZWN1cmUtdmVyc2lvbnMtYXJlLW5vdC1hdmFpbGFibGUucGF0Y2gKaW5kZXggMDNmNmVhZC4uMzc5Nzk3NSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1Vc2UtZ2V0ZW52LXdoZW4tc2VjdXJlLXZlcnNpb25zLWFyZS1ub3QtYXZhaWxhYmxlLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtVXNlLWdldGVudi13aGVuLXNlY3VyZS12ZXJzaW9ucy1hcmUtbm90LWF2YWlsYWJsZS5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gNmRkMTM2NTEyODk2OTc5ZmViNjg4M2ExNjIyNmQ2NDBhN2U1Y2E3NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYjgwNTVhNjFiNWRmNmI0M2I4ZDMxMTc5MzY1ODdiODc0YjBhMzM5YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLURhdGU6IEZyaSwgMjMgRmViIDIwMTggMTA6MDQ6NDggKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCAwMS8xOV0gVXNlIGdldGVudiB3aGVuIHNlY3VyZSB2ZXJzaW9ucyBhcmUgbm90IGF2YWlsYWJsZQorRGF0ZTogTW9uLCAyNSBGZWIgMjAxOSAxMTowMToxOCArMDgwMAorU3ViamVjdDogW1BBVENIIDAxLzI0XSBVc2UgZ2V0ZW52IHdoZW4gc2VjdXJlIHZlcnNpb25zIGFyZSBub3QgYXZhaWxhYmxlCiAKIG11c2wgZG9lc250IGltcGxlbWVudCBzZWN1cmUgdmVyc2lvbiwgc28gd2UgZGVmYXVsdAogdG8gaXQgaWYgY29uZmlndXJlIGRvZXMgbm90IGRldGVjdCBhIHNlY3VyZSBpbXBsZW1lbnRhdGlvbgpAQCAtMTIsMTQgKzEyLDE0IEBACiAKIFNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KIC0tLQotIHNyYy9iYXNpYy9taXNzaW5nLmggfCAyICstCisgc3JjL2Jhc2ljL21pc3Npbmdfc3RkbGliLmggfCAyICstCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvbWlzc2luZy5oIGIvc3JjL2Jhc2ljL21pc3NpbmcuaAotaW5kZXggNzFhMDdkMDU3Li4wZTMzYWJiOWYgMTAwNjQ0Ci0tLS0gYS9zcmMvYmFzaWMvbWlzc2luZy5oCi0rKysgYi9zcmMvYmFzaWMvbWlzc2luZy5oCi1AQCAtNTkyLDcgKzU5Miw3IEBAIHN0cnVjdCBidHJmc19pb2N0bF9xdW90YV9jdGxfYXJncyB7CitkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL21pc3Npbmdfc3RkbGliLmggYi9zcmMvYmFzaWMvbWlzc2luZ19zdGRsaWIuaAoraW5kZXggMTg4YThkNC4uYzBmZmU4NiAxMDA2NDQKKy0tLSBhL3NyYy9iYXNpYy9taXNzaW5nX3N0ZGxpYi5oCisrKysgYi9zcmMvYmFzaWMvbWlzc2luZ19zdGRsaWIuaAorQEAgLTgsNiArOCw2IEBACiAgIyAgaWYgSEFWRV9fX1NFQ1VSRV9HRVRFTlYKICAjICAgIGRlZmluZSBzZWN1cmVfZ2V0ZW52IF9fc2VjdXJlX2dldGVudgogICMgIGVsc2UKQEAgLTI3LDcgKzI3LDYgQEAKICsjICAgIGRlZmluZSBzZWN1cmVfZ2V0ZW52IGdldGVudgogICMgIGVuZGlmCiAgI2VuZGlmCi0gCiAtLSAKLTIuMTEuMAorMi43LjQKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1iaW5mbXQtRG9uLXQtaW5zdGFsbC1kZXBlbmRlbmN5LWxpbmtzLWF0LWluc3RhbGwtdGltLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1iaW5mbXQtRG9uLXQtaW5zdGFsbC1kZXBlbmRlbmN5LWxpbmtzLWF0LWluc3RhbGwtdGltLnBhdGNoCmluZGV4IGUyNGU3ZjguLjAwNjcwY2EgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtYmluZm10LURvbi10LWluc3RhbGwtZGVwZW5kZW5jeS1saW5rcy1hdC1pbnN0YWxsLXRpbS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLWJpbmZtdC1Eb24tdC1pbnN0YWxsLWRlcGVuZGVuY3ktbGlua3MtYXQtaW5zdGFsbC10aW0ucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDg3ZGQ2MWJlMmUyOGU3OGNlNGY5ZjE3Mzc5NDgxMmU2YzJkOTA0ZDEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDk4MjU0ZTQ3OThlNzlkNTJhYzZiNTYyNjE2Y2QyNDQxMjBmNmUyMzkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBXZWQsIDI3IEp1biAyMDE4IDE2OjAxOjIyICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggMS85XSBiaW5mbXQ6IERvbid0IGluc3RhbGwgZGVwZW5kZW5jeSBsaW5rcyBhdCBpbnN0YWxsIHRpbWUgCitEYXRlOiBUaHUsIDIxIEZlYiAyMDE5IDE2OjIzOjI0ICswODAwCitTdWJqZWN0OiBbUEFUQ0ggMS81XSBiaW5mbXQ6IERvbid0IGluc3RhbGwgZGVwZW5kZW5jeSBsaW5rcyBhdCBpbnN0YWxsIHRpbWUgCiAgZm9yIHRoZSBiaW5mbXQgc2VydmljZXMKIAogdXNlIFtJbnN0YWxsXSBibG9ja3Mgc28gdGhhdCB0aGV5IGdldCBjcmVhdGVkIHdoZW4gdGhlIHNlcnZpY2UgaXMgZW5hYmxlZApAQCAtMjMsMTAgKzIzLDEwIEBACiAgMyBmaWxlcyBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS91bml0cy9tZXNvbi5idWlsZCBiL3VuaXRzL21lc29uLmJ1aWxkCi1pbmRleCBlNGFjNmNlZDYuLjY5ODczNGU0NCAxMDA2NDQKK2luZGV4IGQ2OTUwODQuLjdiMWYxNGEgMTAwNjQ0CiAtLS0gYS91bml0cy9tZXNvbi5idWlsZAogKysrIGIvdW5pdHMvbWVzb24uYnVpbGQKLUBAIC00Niw4ICs0Niw3IEBAIHVuaXRzID0gWworQEAgLTQ3LDggKzQ3LDcgQEAgdW5pdHMgPSBbCiAgICAgICAgICBbJ3Bvd2Vyb2ZmLnRhcmdldCcsICAgICAgICAgICAgICAgICAgICAgJycsCiAgICAgICAgICAgJ3J1bmxldmVsMC50YXJnZXQnXSwKICAgICAgICAgIFsncHJpbnRlci50YXJnZXQnLCAgICAgICAgICAgICAgICAgICAgICAnJ10sCkBAIC0zNiwxOCArMzYsMTggQEAKICAgICAgICAgIFsncHJvYy1zeXMtZnMtYmluZm10X21pc2MubW91bnQnLCAgICAgICAnRU5BQkxFX0JJTkZNVCddLAogICAgICAgICAgWydyZWJvb3QudGFyZ2V0JywgICAgICAgICAgICAgICAgICAgICAgICcnLAogICAgICAgICAgICdydW5sZXZlbDYudGFyZ2V0IGN0cmwtYWx0LWRlbC50YXJnZXQnXSwKLUBAIC0xMzAsOCArMTI5LDcgQEAgaW5fdW5pdHMgPSBbCitAQCAtMTM0LDggKzEzMyw3IEBAIGluX3VuaXRzID0gWwogICAgICAgICAgWydzeXN0ZW1kLWFzay1wYXNzd29yZC1jb25zb2xlLnNlcnZpY2UnLCAnJ10sCiAgICAgICAgICBbJ3N5c3RlbWQtYXNrLXBhc3N3b3JkLXdhbGwuc2VydmljZScsICAgICcnXSwKICAgICAgICAgIFsnc3lzdGVtZC1iYWNrbGlnaHRALnNlcnZpY2UnLCAgICAgICAgICAgJ0VOQUJMRV9CQUNLTElHSFQnXSwKIC0gICAgICAgIFsnc3lzdGVtZC1iaW5mbXQuc2VydmljZScsICAgICAgICAgICAgICAgJ0VOQUJMRV9CSU5GTVQnLAogLSAgICAgICAgICdzeXNpbml0LnRhcmdldC53YW50cy8nXSwKICsgICAgICAgIFsnc3lzdGVtZC1iaW5mbXQuc2VydmljZScsICAgICAgICAgICAgICAgJ0VOQUJMRV9CSU5GTVQnXSwKKyAgICAgICAgIFsnc3lzdGVtZC1ibGVzcy1ib290LnNlcnZpY2UnLCAgICAgICAgICAgJ0VOQUJMRV9FRkkgSEFWRV9CTEtJRCddLAorICAgICAgICAgWydzeXN0ZW1kLWJvb3QtY2hlY2stbm8tZmFpbHVyZXMuc2VydmljZScsICcnXSwKICAgICAgICAgIFsnc3lzdGVtZC1jb3JlZHVtcEAuc2VydmljZScsICAgICAgICAgICAgJ0VOQUJMRV9DT1JFRFVNUCddLAotICAgICAgICAgWydzeXN0ZW1kLWV4aXQuc2VydmljZScsICAgICAgICAgICAgICAgICAnJ10sCi0gICAgICAgICBbJ3N5c3RlbWQtZmlyc3Rib290LnNlcnZpY2UnLCAgICAgICAgICAgICdFTkFCTEVfRklSU1RCT09UJywKIGRpZmYgLS1naXQgYS91bml0cy9wcm9jLXN5cy1mcy1iaW5mbXRfbWlzYy5hdXRvbW91bnQgYi91bml0cy9wcm9jLXN5cy1mcy1iaW5mbXRfbWlzYy5hdXRvbW91bnQKLWluZGV4IDMwYTZiYzk5MS4uNDIzMWYzYjcwIDEwMDY0NAoraW5kZXggMzBhNmJjOS4uNDIzMWYzYiAxMDA2NDQKIC0tLSBhL3VuaXRzL3Byb2Mtc3lzLWZzLWJpbmZtdF9taXNjLmF1dG9tb3VudAogKysrIGIvdW5pdHMvcHJvYy1zeXMtZnMtYmluZm10X21pc2MuYXV0b21vdW50CiBAQCAtMTgsMyArMTgsNiBAQCBDb25kaXRpb25QYXRoSXNSZWFkV3JpdGU9L3Byb2Mvc3lzLwpAQCAtNTgsNyArNTgsNyBAQAogK1tJbnN0YWxsXQogK1dhbnRlZEJ5PXN5c2luaXQudGFyZ2V0CiBkaWZmIC0tZ2l0IGEvdW5pdHMvc3lzdGVtZC1iaW5mbXQuc2VydmljZS5pbiBiL3VuaXRzL3N5c3RlbWQtYmluZm10LnNlcnZpY2UuaW4KLWluZGV4IGU5NDBjN2M5YS4uNmJlN2Y1Y2M5IDEwMDY0NAoraW5kZXggZTk0MGM3Yy4uNmJlN2Y1YyAxMDA2NDQKIC0tLSBhL3VuaXRzL3N5c3RlbWQtYmluZm10LnNlcnZpY2UuaW4KICsrKyBiL3VuaXRzL3N5c3RlbWQtYmluZm10LnNlcnZpY2UuaW4KIEBAIC0xNCw2ICsxNCw3IEBAIERvY3VtZW50YXRpb249aHR0cHM6Ly93d3cua2VybmVsLm9yZy9kb2MvaHRtbC9sYXRlc3QvYWRtaW4tZ3VpZGUvYmluZm10LW1pc2MuaHRtCkBAIC03Nyw1ICs3Nyw1IEBACiArW0luc3RhbGxdCiArV2FudGVkQnk9c3lzaW5pdC50YXJnZXQKIC0tIAotMi4xMS4wCisyLjcuNAogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLWNob3duLXJlY3Vyc2l2ZS1sZXQtcy1yZXdvcmstdGhlLXJlY3Vyc2l2ZS1sb2dpYy10by0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLWNob3duLXJlY3Vyc2l2ZS1sZXQtcy1yZXdvcmstdGhlLXJlY3Vyc2l2ZS1sb2dpYy10by0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlkMzUwZWIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1jaG93bi1yZWN1cnNpdmUtbGV0LXMtcmV3b3JrLXRoZS1yZWN1cnNpdmUtbG9naWMtdG8tLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjE5ICswLDAgQEAKLUZyb20gMmRhOGJhM2Y1MDczNDVkMDQwMWVhOWQ3MTkxZmExNmZmYTU2MGViYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KLURhdGU6IEZyaSwgMTkgT2N0IDIwMTggMTE6MjY6NTkgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gY2hvd24tcmVjdXJzaXZlOiBsZXQncyByZXdvcmsgdGhlIHJlY3Vyc2l2ZSBsb2dpYyB0byB1c2UKLSBPX1BBVEgKLQotVGhhdCB3YXkgd2UgY2FuIHBpbiBhIHNwZWNpZmljIGlub2RlIGFuZCBhbmFseXplIGl0IGFuZCBtYW5pcHVsYXRlIGl0Ci13aXRob3V0IGl0IGJlaW5nIHN3YXBwZWQgb3V0IGJlbmVhdGggb3VyIGhhbmRzLgotCi1GaXhlcyBhIHZ1bG5lcmFiaWxpdHkgb3JpZ2luYWxseSBmb3VuZCBieSBKYW5uIEhvcm4gZnJvbSBHb29nbGUuCi0KLUNWRS0yMDE4LTE1Njg3Ci1MUDogIzE3OTY2OTIKLWh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTYzOTA3NgotCi0oY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA1ZGU2Y2NlNThiM2U4Yjc5MjM5YjZlODM2NTM0NTlkOTFhZjZlNTdjKQotCi1DVkU6IENWRS0yMDE4LTE1Njg3Ci1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy9jb3JlL2Nob3duLXJlY3Vyc2l2ZS5jIHwgMTQ2ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA3MCBpbnNlcnRpb25zKCspLCA3NiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2Nob3duLXJlY3Vyc2l2ZS5jIGIvc3JjL2NvcmUvY2hvd24tcmVjdXJzaXZlLmMKLWluZGV4IGM0Nzk0NTAuLjI3YzY0NDggMTAwNjQ0Ci0tLS0gYS9zcmMvY29yZS9jaG93bi1yZWN1cnNpdmUuYwotKysrIGIvc3JjL2NvcmUvY2hvd24tcmVjdXJzaXZlLmMKLUBAIC0xLDE3ICsxLDE5IEBACi0gLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IExHUEwtMi4xKyAqLwotIAotLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLS0jaW5jbHVkZSA8c3lzL3N0YXQuaD4KLSAjaW5jbHVkZSA8ZmNudGwuaD4KLSsjaW5jbHVkZSA8c3lzL3N0YXQuaD4KLSsjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0gCi0tI2luY2x1ZGUgInVzZXItdXRpbC5oIgotLSNpbmNsdWRlICJtYWNyby5oIgotLSNpbmNsdWRlICJmZC11dGlsLmgiCi0tI2luY2x1ZGUgImRpcmVudC11dGlsLmgiCi0gI2luY2x1ZGUgImNob3duLXJlY3Vyc2l2ZS5oIgotKyNpbmNsdWRlICJkaXJlbnQtdXRpbC5oIgotKyNpbmNsdWRlICJmZC11dGlsLmgiCi0rI2luY2x1ZGUgIm1hY3JvLmgiCi0rI2luY2x1ZGUgInN0ZGlvLXV0aWwuaCIKLSsjaW5jbHVkZSAic3Rydi5oIgotKyNpbmNsdWRlICJ1c2VyLXV0aWwuaCIKLSAKLS1zdGF0aWMgaW50IGNob3duX29uZShpbnQgZmQsIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IHN0cnVjdCBzdGF0ICpzdCwgdWlkX3QgdWlkLCBnaWRfdCBnaWQpIHsKLS0gICAgICAgIGludCByOwotK3N0YXRpYyBpbnQgY2hvd25fb25lKGludCBmZCwgY29uc3Qgc3RydWN0IHN0YXQgKnN0LCB1aWRfdCB1aWQsIGdpZF90IGdpZCkgewotKyAgICAgICAgY2hhciBwcm9jZnNfcGF0aFtTVFJMRU4oIi9wcm9jL3NlbGYvZmQvIikgKyBERUNJTUFMX1NUUl9NQVgoaW50KSArIDFdOwotIAotICAgICAgICAgYXNzZXJ0KGZkID49IDApOwotICAgICAgICAgYXNzZXJ0KHN0KTsKLUBAIC0yMCw5MCArMjIsODIgQEAgc3RhdGljIGludCBjaG93bl9vbmUoaW50IGZkLCBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBzdHJ1Y3Qgc3RhdCAqc3QsIHVpZF90IHVpZCwKLSAgICAgICAgICAgICAoIWdpZF9pc192YWxpZChnaWQpIHx8IHN0LT5zdF9naWQgPT0gZ2lkKSkKLSAgICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0gCi0tICAgICAgICBpZiAobmFtZSkKLS0gICAgICAgICAgICAgICAgciA9IGZjaG93bmF0KGZkLCBuYW1lLCB1aWQsIGdpZCwgQVRfU1lNTElOS19OT0ZPTExPVyk7Ci0tICAgICAgICBlbHNlCi0tICAgICAgICAgICAgICAgIHIgPSBmY2hvd24oZmQsIHVpZCwgZ2lkKTsKLS0gICAgICAgIGlmIChyIDwgMCkKLS0gICAgICAgICAgICAgICAgcmV0dXJuIC1lcnJubzsKLSsgICAgICAgIC8qIFdlIGNoYW5nZSBvd25lcnNoaXAgdGhyb3VnaCB0aGUgL3Byb2Mvc2VsZi9mZC8laSBwYXRoLCBzbyB0aGF0IHdlIGhhdmUgYSBzdGFibGUgcmVmZXJlbmNlIHRoYXQgd29ya3Mgd2l0aAotKyAgICAgICAgICogT19QQVRILiAoTm90ZTogZmNob3duKCkgYW5kIGZjaG1vZCgpIGRvIG5vdCB3b3JrIHdpdGggT19QQVRILCB0aGUga2VybmVsIHJlZnVzZXMgdGhhdC4gKi8KLSsgICAgICAgIHhzcHJpbnRmKHByb2Nmc19wYXRoLCAiL3Byb2Mvc2VsZi9mZC8laSIsIGZkKTsKLSAKLS0gICAgICAgIC8qIFRoZSBsaW51eCBrZXJuZWwgYWx0ZXJzIHRoZSBtb2RlIGluIHNvbWUgY2FzZXMgb2YgY2hvd24oKS4gTGV0J3MgdW5kbyB0aGlzLiAqLwotLSAgICAgICAgaWYgKG5hbWUpIHsKLS0gICAgICAgICAgICAgICAgaWYgKCFTX0lTTE5LKHN0LT5zdF9tb2RlKSkKLS0gICAgICAgICAgICAgICAgICAgICAgICByID0gZmNobW9kYXQoZmQsIG5hbWUsIHN0LT5zdF9tb2RlLCAwKTsKLS0gICAgICAgICAgICAgICAgZWxzZSAvKiBUaGVyZSdzIGN1cnJlbnRseSBubyBBVF9TWU1MSU5LX05PRk9MTE9XIGZvciBmY2htb2RhdCgpICovCi0tICAgICAgICAgICAgICAgICAgICAgICAgciA9IDA7Ci0tICAgICAgICB9IGVsc2UKLS0gICAgICAgICAgICAgICAgciA9IGZjaG1vZChmZCwgc3QtPnN0X21vZGUpOwotLSAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgaWYgKGNob3duKHByb2Nmc19wYXRoLCB1aWQsIGdpZCkgPCAwKQotICAgICAgICAgICAgICAgICByZXR1cm4gLWVycm5vOwotIAotKyAgICAgICAgLyogVGhlIGxpbnV4IGtlcm5lbCBhbHRlcnMgdGhlIG1vZGUgaW4gc29tZSBjYXNlcyBvZiBjaG93bigpLiBMZXQncyB1bmRvIHRoaXMuIFdlIGRvIHRoaXMgb25seSBmb3Igbm9uLXN5bWxpbmtzCi0rICAgICAgICAgKiBob3dldmVyLiBUaGF0J3MgYmVjYXVzZSBmb3Igc3ltbGlua3MgdGhlIGFjY2VzcyBtb2RlIGlzIGlnbm9yZWQgYW55d2F5IGFuZCBiZWNhdXNlIG9uIHNvbWUga2VybmVscy9maWxlCi0rICAgICAgICAgKiBzeXN0ZW1zIHRyeWluZyB0byBjaGFuZ2UgdGhlIGFjY2VzcyBtb2RlIHdpbGwgc3VjY2VlZCBidXQgaGFzIG5vIGVmZmVjdCB3aGlsZSBvbiBvdGhlcnMgaXQgYWN0aXZlbHkKLSsgICAgICAgICAqIGZhaWxzLiAqLwotKyAgICAgICAgaWYgKCFTX0lTTE5LKHN0LT5zdF9tb2RlKSkKLSsgICAgICAgICAgICAgICAgaWYgKGNobW9kKHByb2Nmc19wYXRoLCBzdC0+c3RfbW9kZSAmIDA3Nzc3KSA8IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1lcnJubzsKLSsKLSAgICAgICAgIHJldHVybiAxOwotIH0KLSAKLSBzdGF0aWMgaW50IGNob3duX3JlY3Vyc2l2ZV9pbnRlcm5hbChpbnQgZmQsIGNvbnN0IHN0cnVjdCBzdGF0ICpzdCwgdWlkX3QgdWlkLCBnaWRfdCBnaWQpIHsKLSsgICAgICAgIF9jbGVhbnVwX2Nsb3NlZGlyXyBESVIgKmQgPSBOVUxMOwotICAgICAgICAgYm9vbCBjaGFuZ2VkID0gZmFsc2U7Ci0rICAgICAgICBzdHJ1Y3QgZGlyZW50ICpkZTsKLSAgICAgICAgIGludCByOwotIAotICAgICAgICAgYXNzZXJ0KGZkID49IDApOwotICAgICAgICAgYXNzZXJ0KHN0KTsKLSAKLS0gICAgICAgIGlmIChTX0lTRElSKHN0LT5zdF9tb2RlKSkgewotLSAgICAgICAgICAgICAgICBfY2xlYW51cF9jbG9zZWRpcl8gRElSICpkID0gTlVMTDsKLS0gICAgICAgICAgICAgICAgc3RydWN0IGRpcmVudCAqZGU7Ci0tCi0tICAgICAgICAgICAgICAgIGQgPSBmZG9wZW5kaXIoZmQpOwotLSAgICAgICAgICAgICAgICBpZiAoIWQpIHsKLS0gICAgICAgICAgICAgICAgICAgICAgICByID0gLWVycm5vOwotLSAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmluaXNoOwotLSAgICAgICAgICAgICAgICB9Ci0tICAgICAgICAgICAgICAgIGZkID0gLTE7Ci0tCi0tICAgICAgICAgICAgICAgIEZPUkVBQ0hfRElSRU5UX0FMTChkZSwgZCwgciA9IC1lcnJubzsgZ290byBmaW5pc2gpIHsKLS0gICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc3RhdCBmc3Q7Ci0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRvdF9vcl9kb3RfZG90KGRlLT5kX25hbWUpKQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZzdGF0YXQoZGlyZmQoZCksIGRlLT5kX25hbWUsICZmc3QsIEFUX1NZTUxJTktfTk9GT0xMT1cpIDwgMCkgewotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IC1lcnJubzsKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmluaXNoOwotLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoU19JU0RJUihmc3Quc3RfbW9kZSkpIHsKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdWJkaXJfZmQ7Ci0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJkaXJfZmQgPSBvcGVuYXQoZGlyZmQoZCksIGRlLT5kX25hbWUsIE9fUkRPTkxZfE9fTk9OQkxPQ0t8T19ESVJFQ1RPUll8T19DTE9FWEVDfE9fTk9GT0xMT1d8T19OT0FUSU1FKTsKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdWJkaXJfZmQgPCAwKSB7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIgPSAtZXJybm87Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmluaXNoOwotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IGNob3duX3JlY3Vyc2l2ZV9pbnRlcm5hbChzdWJkaXJfZmQsICZmc3QsIHVpZCwgZ2lkKTsKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyIDwgMCkKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmaW5pc2g7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAociA+IDApCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZWQgPSB0cnVlOwotLSAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByID0gY2hvd25fb25lKGRpcmZkKGQpLCBkZS0+ZF9uYW1lLCAmZnN0LCB1aWQsIGdpZCk7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAociA8IDApCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmluaXNoOwotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHIgPiAwKQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTsKLS0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0rICAgICAgICBkID0gZmRvcGVuZGlyKGZkKTsKLSsgICAgICAgIGlmICghZCkgewotKyAgICAgICAgICAgICAgICBzYWZlX2Nsb3NlKGZkKTsKLSsgICAgICAgICAgICAgICAgcmV0dXJuIC1lcnJubzsKLSsgICAgICAgIH0KLSsKLSsgICAgICAgIEZPUkVBQ0hfRElSRU5UX0FMTChkZSwgZCwgcmV0dXJuIC1lcnJubykgewotKyAgICAgICAgICAgICAgICBfY2xlYW51cF9jbG9zZV8gaW50IHBhdGhfZmQgPSAtMTsKLSsgICAgICAgICAgICAgICAgc3RydWN0IHN0YXQgZnN0OwotKwotKyAgICAgICAgICAgICAgICBpZiAoZG90X29yX2RvdF9kb3QoZGUtPmRfbmFtZSkpCi0rICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0rCi0rICAgICAgICAgICAgICAgIC8qIExldCdzIHBpbiB0aGUgY2hpbGQgaW5vZGUgd2Ugd2FudCB0byBmaXggbm93IHdpdGggYW4gT19QQVRIIGZkLCBzbyB0aGF0IGl0IGNhbm5vdCBiZSBzd2FwcGVkIG91dAotKyAgICAgICAgICAgICAgICAgKiB3aGlsZSB3ZSBtYW5pcHVsYXRlIGl0LiAqLwotKyAgICAgICAgICAgICAgICBwYXRoX2ZkID0gb3BlbmF0KGRpcmZkKGQpLCBkZS0+ZF9uYW1lLCBPX1BBVEh8T19DTE9FWEVDfE9fTk9GT0xMT1cpOwotKyAgICAgICAgICAgICAgICBpZiAocGF0aF9mZCA8IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1lcnJubzsKLSsKLSsgICAgICAgICAgICAgICAgaWYgKGZzdGF0KHBhdGhfZmQsICZmc3QpIDwgMCkKLSsgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLWVycm5vOwotKwotKyAgICAgICAgICAgICAgICBpZiAoU19JU0RJUihmc3Quc3RfbW9kZSkpIHsKLSsgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3ViZGlyX2ZkOwotKwotKyAgICAgICAgICAgICAgICAgICAgICAgIC8qIENvbnZlcnQgaXQgdG8gYSAicmVhbCIgKGkuZS4gbm9uLU9fUEFUSCkgZmQgbm93ICovCi0rICAgICAgICAgICAgICAgICAgICAgICAgc3ViZGlyX2ZkID0gZmRfcmVvcGVuKHBhdGhfZmQsIE9fUkRPTkxZfE9fQ0xPRVhFQ3xPX05PQVRJTUUpOwotKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdWJkaXJfZmQgPCAwKQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN1YmRpcl9mZDsKLSsKLSsgICAgICAgICAgICAgICAgICAgICAgICByID0gY2hvd25fcmVjdXJzaXZlX2ludGVybmFsKHN1YmRpcl9mZCwgJmZzdCwgdWlkLCBnaWQpOyAvKiB0YWtlcyBwb3NzZXNzaW9uIG9mIHN1YmRpcl9mZCBldmVuIG9uIGZhaWx1cmUgKi8KLSsgICAgICAgICAgICAgICAgICAgICAgICBpZiAociA8IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcjsKLSsgICAgICAgICAgICAgICAgICAgICAgICBpZiAociA+IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTsKLSsgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSsgICAgICAgICAgICAgICAgICAgICAgICByID0gY2hvd25fb25lKHBhdGhfZmQsICZmc3QsIHVpZCwgZ2lkKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBpZiAociA8IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcjsKLSsgICAgICAgICAgICAgICAgICAgICAgICBpZiAociA+IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgfQotKyAgICAgICAgfQotIAotLSAgICAgICAgICAgICAgICByID0gY2hvd25fb25lKGRpcmZkKGQpLCBOVUxMLCBzdCwgdWlkLCBnaWQpOwotLSAgICAgICAgfSBlbHNlCi0tICAgICAgICAgICAgICAgIHIgPSBjaG93bl9vbmUoZmQsIE5VTEwsIHN0LCB1aWQsIGdpZCk7Ci0rICAgICAgICByID0gY2hvd25fb25lKGRpcmZkKGQpLCBzdCwgdWlkLCBnaWQpOwotICAgICAgICAgaWYgKHIgPCAwKQotLSAgICAgICAgICAgICAgICBnb3RvIGZpbmlzaDsKLSsgICAgICAgICAgICAgICAgcmV0dXJuIHI7Ci0gCi0tICAgICAgICByID0gciA+IDAgfHwgY2hhbmdlZDsKLS0KLS1maW5pc2g6Ci0tICAgICAgICBzYWZlX2Nsb3NlKGZkKTsKLS0gICAgICAgIHJldHVybiByOwotKyAgICAgICAgcmV0dXJuIHIgPiAwIHx8IGNoYW5nZWQ7Ci0gfQotIAotIGludCBwYXRoX2Nob3duX3JlY3Vyc2l2ZShjb25zdCBjaGFyICpwYXRoLCB1aWRfdCB1aWQsIGdpZF90IGdpZCkgewotQEAgLTExMSw3ICsxMDUsNyBAQCBpbnQgcGF0aF9jaG93bl9yZWN1cnNpdmUoY29uc3QgY2hhciAqcGF0aCwgdWlkX3QgdWlkLCBnaWRfdCBnaWQpIHsKLSAgICAgICAgIHN0cnVjdCBzdGF0IHN0OwotICAgICAgICAgaW50IHI7Ci0gCi0tICAgICAgICBmZCA9IG9wZW4ocGF0aCwgT19SRE9OTFl8T19OT05CTE9DS3xPX0RJUkVDVE9SWXxPX0NMT0VYRUN8T19OT0ZPTExPV3xPX05PQVRJTUUpOwotKyAgICAgICAgZmQgPSBvcGVuKHBhdGgsIE9fUkRPTkxZfE9fRElSRUNUT1JZfE9fQ0xPRVhFQ3xPX05PRk9MTE9XfE9fTk9BVElNRSk7Ci0gICAgICAgICBpZiAoZmQgPCAwKQotICAgICAgICAgICAgICAgICByZXR1cm4gLWVycm5vOwotIAotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLWNvcmUtd2hlbi1kZXNlcmlhbGl6aW5nLXN0YXRlLWFsd2F5cy11c2UtcmVhZF9saW5lLUwucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLWNvcmUtd2hlbi1kZXNlcmlhbGl6aW5nLXN0YXRlLWFsd2F5cy11c2UtcmVhZF9saW5lLUwucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIxNWQ2ODAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1jb3JlLXdoZW4tZGVzZXJpYWxpemluZy1zdGF0ZS1hbHdheXMtdXNlLXJlYWRfbGluZS1MLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjUwICswLDAgQEAKLUZyb20gMWEwNWZmNDk0OGQ3NzgyODBlYzE1NWE5YWJlNjlkMzM2MGJmZGRkOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KLURhdGU6IFdlZCwgMTcgT2N0IDIwMTggMTg6MzY6MjQgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gPT9VVEYtOD9xP2NvcmU6PTIwd2hlbj0yMGRlc2VyaWFsaXppbmc9MjBzdGF0ZT0yMGFsd2F5cz89Ci0gPT9VVEYtOD9xPz0yMHVzZT0yMHJlYWQ9NUZsaW5lKD1FMj04MD1BNiw9MjBMT05HPTVGTElORT01Rk1BWCw9MjA/PQotID0/VVRGLTg/cT89RTI9ODA9QTYpPz0KLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotVGhpcyBzaG91bGQgYmUgbXVjaCBiZXR0ZXIgdGhhbiBmZ2V0cygpLCBhcyB3ZSBjYW4gcmVhZCBzdWJzdGFudGlhbGx5Ci1sb25nZXIgbGluZXMgYW5kIG92ZXJseSBsb25nIGxpbmVzIHJlc3VsdCBpbiBwcm9wZXIgZXJyb3JzLgotCi1GaXhlcyBhIHZ1bG5lcmFiaWxpdHkgZGlzY292ZXJlZCBieSBKYW5uIEhvcm4gYXQgR29vZ2xlLgotCi1DVkUtMjAxOC0xNTY4NgotTFA6ICMxNzk2NDAyCi1odHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTE2MzkwNzEKLQotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgODk0OGIzNDE1ZDc2MjI0NWViZjVlMTlkODBiOTdkNGQ4Y2MyMDhjMSkKLQotQ1ZFOiBDVkUtMjAxOC0xNTY4NgotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotCi1TaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBzcmMvY29yZS9qb2IuYyAgICAgfCAxOSArKysrKysrKysrKy0tLS0tLS0tCi0gc3JjL2NvcmUvbWFuYWdlci5jIHwgNDQgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBzcmMvY29yZS91bml0LmMgICAgfCAzNCArKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tCi0gc3JjL2NvcmUvdW5pdC5oICAgIHwgIDIgKy0KLSA0IGZpbGVzIGNoYW5nZWQsIDUwIGluc2VydGlvbnMoKyksIDQ5IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2NvcmUvam9iLmMgYi9zcmMvY29yZS9qb2IuYwotaW5kZXggNzM0NzU2Yi4uODU1MmZmYiAxMDA2NDQKLS0tLSBhL3NyYy9jb3JlL2pvYi5jCi0rKysgYi9zcmMvY29yZS9qb2IuYwotQEAgLTEwLDYgKzEwLDcgQEAKLSAjaW5jbHVkZSAiZGJ1cy1qb2IuaCIKLSAjaW5jbHVkZSAiZGJ1cy5oIgotICNpbmNsdWRlICJlc2NhcGUuaCIKLSsjaW5jbHVkZSAiZmlsZWlvLmgiCi0gI2luY2x1ZGUgImpvYi5oIgotICNpbmNsdWRlICJsb2cuaCIKLSAjaW5jbHVkZSAibWFjcm8uaCIKLUBAIC0xMDkxLDI0ICsxMDkyLDI2IEBAIGludCBqb2Jfc2VyaWFsaXplKEpvYiAqaiwgRklMRSAqZikgewotIH0KLSAKLSBpbnQgam9iX2Rlc2VyaWFsaXplKEpvYiAqaiwgRklMRSAqZikgewotKyAgICAgICAgaW50IHI7Ci0rCi0gICAgICAgICBhc3NlcnQoaik7Ci0gICAgICAgICBhc3NlcnQoZik7Ci0gCi0gICAgICAgICBmb3IgKDs7KSB7Ci0tICAgICAgICAgICAgICAgIGNoYXIgbGluZVtMSU5FX01BWF0sICpsLCAqdjsKLSsgICAgICAgICAgICAgICAgX2NsZWFudXBfZnJlZV8gY2hhciAqbGluZSA9IE5VTEw7Ci0rICAgICAgICAgICAgICAgIGNoYXIgKmwsICp2OwotICAgICAgICAgICAgICAgICBzaXplX3QgazsKLSAKLS0gICAgICAgICAgICAgICAgaWYgKCFmZ2V0cyhsaW5lLCBzaXplb2YobGluZSksIGYpKSB7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZlb2YoZikpCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLS0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLWVycm5vOwotLSAgICAgICAgICAgICAgICB9Ci0rICAgICAgICAgICAgICAgIHIgPSByZWFkX2xpbmUoZiwgTE9OR19MSU5FX01BWCwgJmxpbmUpOwotKyAgICAgICAgICAgICAgICBpZiAociA8IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19lcnJvcl9lcnJubyhyLCAiRmFpbGVkIHRvIHJlYWQgc2VyaWFsaXphdGlvbiBsaW5lOiAlbSIpOwotKyAgICAgICAgICAgICAgICBpZiAociA9PSAwKQotKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOwotIAotLSAgICAgICAgICAgICAgICBjaGFyX2FycmF5XzAobGluZSk7Ci0gICAgICAgICAgICAgICAgIGwgPSBzdHJzdHJpcChsaW5lKTsKLSAKLSAgICAgICAgICAgICAgICAgLyogRW5kIG1hcmtlciAqLwotLSAgICAgICAgICAgICAgICBpZiAobFswXSA9PSAwKQotKyAgICAgICAgICAgICAgICBpZiAoaXNlbXB0eShsKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSAKLSAgICAgICAgICAgICAgICAgayA9IHN0cmNzcG4obCwgIj0iKTsKLWRpZmYgLS1naXQgYS9zcmMvY29yZS9tYW5hZ2VyLmMgYi9zcmMvY29yZS9tYW5hZ2VyLmMKLWluZGV4IDNhN2YwYzQuLmE1NzgwYzkgMTAwNjQ0Ci0tLS0gYS9zcmMvY29yZS9tYW5hZ2VyLmMKLSsrKyBiL3NyYy9jb3JlL21hbmFnZXIuYwotQEAgLTMxNzEsMjIgKzMxNzEsMTkgQEAgaW50IG1hbmFnZXJfZGVzZXJpYWxpemUoTWFuYWdlciAqbSwgRklMRSAqZiwgRkRTZXQgKmZkcykgewotICAgICAgICAgbS0+bl9yZWxvYWRpbmcrKzsKLSAKLSAgICAgICAgIGZvciAoOzspIHsKLS0gICAgICAgICAgICAgICAgY2hhciBsaW5lW0xJTkVfTUFYXTsKLSsgICAgICAgICAgICAgICAgX2NsZWFudXBfZnJlZV8gY2hhciAqbGluZSA9IE5VTEw7Ci0gICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnZhbCwgKmw7Ci0gCi0tICAgICAgICAgICAgICAgIGlmICghZmdldHMobGluZSwgc2l6ZW9mKGxpbmUpLCBmKSkgewotLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmZW9mKGYpKQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IDA7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IC1lcnJubzsKLS0KLSsgICAgICAgICAgICAgICAgciA9IHJlYWRfbGluZShmLCBMT05HX0xJTkVfTUFYLCAmbGluZSk7Ci0rICAgICAgICAgICAgICAgIGlmIChyIDwgMCkgewotKyAgICAgICAgICAgICAgICAgICAgICAgIGxvZ19lcnJvcl9lcnJubyhyLCAiRmFpbGVkIHRvIHJlYWQgc2VyaWFsaXphdGlvbiBsaW5lOiAlbSIpOwotICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmluaXNoOwotICAgICAgICAgICAgICAgICB9Ci0rICAgICAgICAgICAgICAgIGlmIChyID09IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gCi0tICAgICAgICAgICAgICAgIGNoYXJfYXJyYXlfMChsaW5lKTsKLSAgICAgICAgICAgICAgICAgbCA9IHN0cnN0cmlwKGxpbmUpOwotLQotLSAgICAgICAgICAgICAgICBpZiAobFswXSA9PSAwKQotKyAgICAgICAgICAgICAgICBpZiAoaXNlbXB0eShsKSkgLyogZW5kIG1hcmtlciAqLwotICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotIAotICAgICAgICAgICAgICAgICBpZiAoKHZhbCA9IHN0YXJ0c3dpdGgobCwgImN1cnJlbnQtam9iLWlkPSIpKSkgewotQEAgLTMzNTMsMjkgKzMzNTAsMzEgQEAgaW50IG1hbmFnZXJfZGVzZXJpYWxpemUoTWFuYWdlciAqbSwgRklMRSAqZiwgRkRTZXQgKmZkcykgewotICAgICAgICAgfQotIAotICAgICAgICAgZm9yICg7OykgewotLSAgICAgICAgICAgICAgICBVbml0ICp1OwotLSAgICAgICAgICAgICAgICBjaGFyIG5hbWVbVU5JVF9OQU1FX01BWCsyXTsKLSsgICAgICAgICAgICAgICAgX2NsZWFudXBfZnJlZV8gY2hhciAqbGluZSA9IE5VTEw7Ci0gICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIHVuaXRfbmFtZTsKLSsgICAgICAgICAgICAgICAgVW5pdCAqdTsKLSAKLSAgICAgICAgICAgICAgICAgLyogU3RhcnQgbWFya2VyICovCi0tICAgICAgICAgICAgICAgIGlmICghZmdldHMobmFtZSwgc2l6ZW9mKG5hbWUpLCBmKSkgewotLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmZW9mKGYpKQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IDA7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IC1lcnJubzsKLS0KLSsgICAgICAgICAgICAgICAgciA9IHJlYWRfbGluZShmLCBMT05HX0xJTkVfTUFYLCAmbGluZSk7Ci0rICAgICAgICAgICAgICAgIGlmIChyIDwgMCkgewotKyAgICAgICAgICAgICAgICAgICAgICAgIGxvZ19lcnJvcl9lcnJubyhyLCAiRmFpbGVkIHRvIHJlYWQgc2VyaWFsaXphdGlvbiBsaW5lOiAlbSIpOwotICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmluaXNoOwotICAgICAgICAgICAgICAgICB9Ci0rICAgICAgICAgICAgICAgIGlmIChyID09IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gCi0tICAgICAgICAgICAgICAgIGNoYXJfYXJyYXlfMChuYW1lKTsKLS0gICAgICAgICAgICAgICAgdW5pdF9uYW1lID0gc3Ryc3RyaXAobmFtZSk7Ci0rICAgICAgICAgICAgICAgIHVuaXRfbmFtZSA9IHN0cnN0cmlwKGxpbmUpOwotIAotICAgICAgICAgICAgICAgICByID0gbWFuYWdlcl9sb2FkX3VuaXQobSwgdW5pdF9uYW1lLCBOVUxMLCBOVUxMLCAmdSk7Ci0gICAgICAgICAgICAgICAgIGlmIChyIDwgMCkgewotICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ19ub3RpY2VfZXJybm8ociwgIkZhaWxlZCB0byBsb2FkIHVuaXQgXCIlc1wiLCBza2lwcGluZyBkZXNlcmlhbGl6YXRpb246ICVtIiwgdW5pdF9uYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICBpZiAociA9PSAtRU5PTUVNKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmaW5pc2g7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgdW5pdF9kZXNlcmlhbGl6ZV9za2lwKGYpOwotKwotKyAgICAgICAgICAgICAgICAgICAgICAgIHIgPSB1bml0X2Rlc2VyaWFsaXplX3NraXAoZik7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmaW5pc2g7Ci0rCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgIH0KLSAKLUBAIC0zMzg4LDkgKzMzODcsNiBAQCBpbnQgbWFuYWdlcl9kZXNlcmlhbGl6ZShNYW5hZ2VyICptLCBGSUxFICpmLCBGRFNldCAqZmRzKSB7Ci0gICAgICAgICB9Ci0gCi0gZmluaXNoOgotLSAgICAgICAgaWYgKGZlcnJvcihmKSkKLS0gICAgICAgICAgICAgICAgciA9IC1FSU87Ci0tCi0gICAgICAgICBhc3NlcnQobS0+bl9yZWxvYWRpbmcgPiAwKTsKLSAgICAgICAgIG0tPm5fcmVsb2FkaW5nLS07Ci0gCi1kaWZmIC0tZ2l0IGEvc3JjL2NvcmUvdW5pdC5jIGIvc3JjL2NvcmUvdW5pdC5jCi1pbmRleCA3ZGE5NjNhLi5lOThjOWM0IDEwMDY0NAotLS0tIGEvc3JjL2NvcmUvdW5pdC5jCi0rKysgYi9zcmMvY29yZS91bml0LmMKLUBAIC0zMzgwLDIxICszMzgwLDE5IEBAIGludCB1bml0X2Rlc2VyaWFsaXplKFVuaXQgKnUsIEZJTEUgKmYsIEZEU2V0ICpmZHMpIHsKLSAgICAgICAgIGFzc2VydChmZHMpOwotIAotICAgICAgICAgZm9yICg7OykgewotLSAgICAgICAgICAgICAgICBjaGFyIGxpbmVbTElORV9NQVhdLCAqbCwgKnY7Ci0rICAgICAgICAgICAgICAgIF9jbGVhbnVwX2ZyZWVfIGNoYXIgKmxpbmUgPSBOVUxMOwotICAgICAgICAgICAgICAgICBDR3JvdXBJUEFjY291bnRpbmdNZXRyaWMgbTsKLSsgICAgICAgICAgICAgICAgY2hhciAqbCwgKnY7Ci0gICAgICAgICAgICAgICAgIHNpemVfdCBrOwotIAotLSAgICAgICAgICAgICAgICBpZiAoIWZnZXRzKGxpbmUsIHNpemVvZihsaW5lKSwgZikpIHsKLS0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmVvZihmKSkKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOwotLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtZXJybm87Ci0tICAgICAgICAgICAgICAgIH0KLSsgICAgICAgICAgICAgICAgciA9IHJlYWRfbGluZShmLCBMT05HX0xJTkVfTUFYLCAmbGluZSk7Ci0rICAgICAgICAgICAgICAgIGlmIChyIDwgMCkKLSsgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2Vycm9yX2Vycm5vKHIsICJGYWlsZWQgdG8gcmVhZCBzZXJpYWxpemF0aW9uIGxpbmU6ICVtIik7Ci0rICAgICAgICAgICAgICAgIGlmIChyID09IDApIC8qIGVvZiAqLwotKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotIAotLSAgICAgICAgICAgICAgICBjaGFyX2FycmF5XzAobGluZSk7Ci0gICAgICAgICAgICAgICAgIGwgPSBzdHJzdHJpcChsaW5lKTsKLS0KLS0gICAgICAgICAgICAgICAgLyogRW5kIG1hcmtlciAqLwotLSAgICAgICAgICAgICAgICBpZiAoaXNlbXB0eShsKSkKLSsgICAgICAgICAgICAgICAgaWYgKGlzZW1wdHkobCkpIC8qIEVuZCBtYXJrZXIgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAKLSAgICAgICAgICAgICAgICAgayA9IHN0cmNzcG4obCwgIj0iKTsKLUBAIC0zNjcxLDIzICszNjY5LDI3IEBAIGludCB1bml0X2Rlc2VyaWFsaXplKFVuaXQgKnUsIEZJTEUgKmYsIEZEU2V0ICpmZHMpIHsKLSAgICAgICAgIHJldHVybiAwOwotIH0KLSAKLS12b2lkIHVuaXRfZGVzZXJpYWxpemVfc2tpcChGSUxFICpmKSB7Ci0raW50IHVuaXRfZGVzZXJpYWxpemVfc2tpcChGSUxFICpmKSB7Ci0rICAgICAgICBpbnQgcjsKLSAgICAgICAgIGFzc2VydChmKTsKLSAKLSAgICAgICAgIC8qIFNraXAgc2VyaWFsaXplZCBkYXRhIGZvciB0aGlzIHVuaXQuIFdlIGRvbid0IGtub3cgd2hhdCBpdCBpcy4gKi8KLSAKLSAgICAgICAgIGZvciAoOzspIHsKLS0gICAgICAgICAgICAgICAgY2hhciBsaW5lW0xJTkVfTUFYXSwgKmw7Ci0rICAgICAgICAgICAgICAgIF9jbGVhbnVwX2ZyZWVfIGNoYXIgKmxpbmUgPSBOVUxMOwotKyAgICAgICAgICAgICAgICBjaGFyICpsOwotIAotLSAgICAgICAgICAgICAgICBpZiAoIWZnZXRzKGxpbmUsIHNpemVvZiBsaW5lLCBmKSkKLS0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0rICAgICAgICAgICAgICAgIHIgPSByZWFkX2xpbmUoZiwgTE9OR19MSU5FX01BWCwgJmxpbmUpOwotKyAgICAgICAgICAgICAgICBpZiAociA8IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19lcnJvcl9lcnJubyhyLCAiRmFpbGVkIHRvIHJlYWQgc2VyaWFsaXphdGlvbiBsaW5lOiAlbSIpOwotKyAgICAgICAgICAgICAgICBpZiAociA9PSAwKQotKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOwotIAotLSAgICAgICAgICAgICAgICBjaGFyX2FycmF5XzAobGluZSk7Ci0gICAgICAgICAgICAgICAgIGwgPSBzdHJzdHJpcChsaW5lKTsKLSAKLSAgICAgICAgICAgICAgICAgLyogRW5kIG1hcmtlciAqLwotICAgICAgICAgICAgICAgICBpZiAoaXNlbXB0eShsKSkKLS0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7Ci0gICAgICAgICB9Ci0gfQotIAotZGlmZiAtLWdpdCBhL3NyYy9jb3JlL3VuaXQuaCBiL3NyYy9jb3JlL3VuaXQuaAotaW5kZXggMDYzMjFiYi4uNTFjN2FhYSAxMDA2NDQKLS0tLSBhL3NyYy9jb3JlL3VuaXQuaAotKysrIGIvc3JjL2NvcmUvdW5pdC5oCi1AQCAtNjg0LDcgKzY4NCw3IEBAIGJvb2wgdW5pdF9jYW5fc2VyaWFsaXplKFVuaXQgKnUpIF9wdXJlXzsKLSAKLSBpbnQgdW5pdF9zZXJpYWxpemUoVW5pdCAqdSwgRklMRSAqZiwgRkRTZXQgKmZkcywgYm9vbCBzZXJpYWxpemVfam9icyk7Ci0gaW50IHVuaXRfZGVzZXJpYWxpemUoVW5pdCAqdSwgRklMRSAqZiwgRkRTZXQgKmZkcyk7Ci0tdm9pZCB1bml0X2Rlc2VyaWFsaXplX3NraXAoRklMRSAqZik7Ci0raW50IHVuaXRfZGVzZXJpYWxpemVfc2tpcChGSUxFICpmKTsKLSAKLSBpbnQgdW5pdF9zZXJpYWxpemVfaXRlbShVbml0ICp1LCBGSUxFICpmLCBjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKnZhbHVlKTsKLSBpbnQgdW5pdF9zZXJpYWxpemVfaXRlbV9lc2NhcGVkKFVuaXQgKnUsIEZJTEUgKmYsIGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqdmFsdWUpOwotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLWRoY3A2LW1ha2Utc3VyZS13ZS1oYXZlLWVub3VnaC1zcGFjZS1mb3ItdGhlLURIQ1A2LW8ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLWRoY3A2LW1ha2Utc3VyZS13ZS1oYXZlLWVub3VnaC1zcGFjZS1mb3ItdGhlLURIQ1A2LW8ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBjOTEyZjIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1kaGNwNi1tYWtlLXN1cmUtd2UtaGF2ZS1lbm91Z2gtc3BhY2UtZm9yLXRoZS1ESENQNi1vLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotRnJvbSBhMjYyMmI4Mzk4YmEwMjZmYWY0ODFmNWVkZGViNTMyMzFkOWRlNGE3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0QHBvZXR0ZXJpbmcubmV0PgotRGF0ZTogRnJpLCAxOSBPY3QgMjAxOCAxMjoxMjozMyArMDIwMAotU3ViamVjdDogW1BBVENIXSBkaGNwNjogbWFrZSBzdXJlIHdlIGhhdmUgZW5vdWdoIHNwYWNlIGZvciB0aGUgREhDUDYgb3B0aW9uCi0gaGVhZGVyCi0KLUZpeGVzIGEgdnVsbmVyYWJpbGl0eSBvcmlnaW5hbGx5IGRpc2NvdmVyZWQgYnkgRmVsaXggV2lsaGVsbSBmcm9tCi1Hb29nbGUuCi0KLUNWRS0yMDE4LTE1Njg4Ci1MUDogIzE3OTU5MjEKLWh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTYzOTA2NwotCi0oY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA0ZGFjNWVhYmE0ZTQxOWIyOWM5N2RhMzhhOGIxZjgyMzM2YzJjODkyKQotCi1DVkU6IENWRS0yMDE4LTE1Njg4Ci1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy9saWJzeXN0ZW1kLW5ldHdvcmsvZGhjcDYtb3B0aW9uLmMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvbGlic3lzdGVtZC1uZXR3b3JrL2RoY3A2LW9wdGlvbi5jIGIvc3JjL2xpYnN5c3RlbWQtbmV0d29yay9kaGNwNi1vcHRpb24uYwotaW5kZXggYzRiNDAyYi4uZGNiYWFkMCAxMDA2NDQKLS0tLSBhL3NyYy9saWJzeXN0ZW1kLW5ldHdvcmsvZGhjcDYtb3B0aW9uLmMKLSsrKyBiL3NyYy9saWJzeXN0ZW1kLW5ldHdvcmsvZGhjcDYtb3B0aW9uLmMKLUBAIC0xMDMsNyArMTAzLDcgQEAgaW50IGRoY3A2X29wdGlvbl9hcHBlbmRfaWEodWludDhfdCAqKmJ1Ziwgc2l6ZV90ICpidWZsZW4sIERIQ1A2SUEgKmlhKSB7Ci0gICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwotICAgICAgICAgfQotIAotLSAgICAgICAgaWYgKCpidWZsZW4gPCBsZW4pCi0rICAgICAgICBpZiAoKmJ1ZmxlbiA8IG9mZnNldG9mKERIQ1A2T3B0aW9uLCBkYXRhKSArIGxlbikKLSAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9CVUZTOwotIAotICAgICAgICAgaWFfaGRyID0gKmJ1ZjsKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1kby1ub3QtZGlzYWJsZS1idWZmZXItaW4td3JpdGluZy1maWxlcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtZG8tbm90LWRpc2FibGUtYnVmZmVyLWluLXdyaXRpbmctZmlsZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTY4NTdiMQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtZG8tbm90LWRpc2FibGUtYnVmZmVyLWluLXdyaXRpbmctZmlsZXMucGF0Y2gKQEAgLTAsMCArMSw1MjMgQEAKK0Zyb20gODVlM2MzMDQ2NTYyZWMyNGZjMmYwOWViZmQwOGJmOWYxNjgwOTFkNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IEZyaSwgMSBNYXIgMjAxOSAxNToyMjoxNSArMDgwMAorU3ViamVjdDogW1BBVENIXSBkbyBub3QgZGlzYWJsZSBidWZmZXIgaW4gd3JpdGluZyBmaWxlcworCitEbyBub3QgZGlzYWJsZSBidWZmZXIgaW4gd3JpdGluZyBmaWxlcywgb3RoZXJ3aXNlIHdlIGdldAorZmFpbHVyZSBhdCBib290IGZvciBtdXNsIGxpa2UgYmVsb3cuCisKKyAgWyEhISEhIV0gRmFpbGVkIHRvIGFsbG9jYXRlIG1hbmFnZXIgb2JqZWN0LgorCitBbmQgdGhlcmUgd2lsbCBiZSBvdGhlciBmYWlsdXJlcywgY3JpdGljYWwgb3Igbm90IGNyaXRpY2FsLgorVGhpcyBpcyBzcGVjaWZpYyB0byBtdXNsLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2xdCisKK1NpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KKy0tLQorIHNyYy9iYXNpYy9jZ3JvdXAtdXRpbC5jICAgICAgICAgICAgICAgICB8IDE0ICsrKysrKystLS0tLS0tCisgc3JjL2Jhc2ljL3Byb2Nmcy11dGlsLmMgICAgICAgICAgICAgICAgIHwgIDQgKystLQorIHNyYy9iYXNpYy9zbWFjay11dGlsLmMgICAgICAgICAgICAgICAgICB8ICAyICstCisgc3JjL2Jhc2ljL3V0aWwuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KKyBzcmMvYmluZm10L2JpbmZtdC5jICAgICAgICAgICAgICAgICAgICAgfCAgNiArKystLS0KKyBzcmMvY29yZS9tYWluLmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCisgc3JjL2NvcmUvc21hY2stc2V0dXAuYyAgICAgICAgICAgICAgICAgIHwgIDggKysrKy0tLS0KKyBzcmMvaGliZXJuYXRlLXJlc3VtZS9oaWJlcm5hdGUtcmVzdW1lLmMgfCAgMiArLQorIHNyYy9saWJzeXN0ZW1kL3NkLWRldmljZS9zZC1kZXZpY2UuYyAgICB8ICAyICstCisgc3JjL2xvZ2luL2xvZ2luZC1kYnVzLmMgICAgICAgICAgICAgICAgIHwgIDIgKy0KKyBzcmMvbmV0d29yay9uZXR3b3JrZC1pcHY2LXByb3h5LW5kcC5jICAgfCAgMiArLQorIHNyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuYyAgICAgICAgICAgICB8IDE4ICsrKysrKysrKy0tLS0tLS0tLQorIHNyYy9uc3Bhd24vbnNwYXduLWNncm91cC5jICAgICAgICAgICAgICB8ICAyICstCisgc3JjL25zcGF3bi9uc3Bhd24uYyAgICAgICAgICAgICAgICAgICAgIHwgIDYgKysrLS0tCisgc3JjL3NsZWVwL3NsZWVwLmMgICAgICAgICAgICAgICAgICAgICAgIHwgMTIgKysrKysrLS0tLS0tCisgc3JjL3VkZXYvdWRldmFkbS10cmlnZ2VyLmMgICAgICAgICAgICAgIHwgIDIgKy0KKyBzcmMvdWRldi91ZGV2ZC5jICAgICAgICAgICAgICAgICAgICAgICAgfCAgNiArKystLS0KKyBzcmMvdmNvbnNvbGUvdmNvbnNvbGUtc2V0dXAuYyAgICAgICAgICAgfCAgMiArLQorIDE4IGZpbGVzIGNoYW5nZWQsIDQ4IGluc2VydGlvbnMoKyksIDQ4IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL2Nncm91cC11dGlsLmMgYi9zcmMvYmFzaWMvY2dyb3VwLXV0aWwuYworaW5kZXggOGNlN2NjYi4uYjYzMzIyNiAxMDA2NDQKKy0tLSBhL3NyYy9iYXNpYy9jZ3JvdXAtdXRpbC5jCisrKysgYi9zcmMvYmFzaWMvY2dyb3VwLXV0aWwuYworQEAgLTgxOCw3ICs4MTgsNyBAQCBpbnQgY2dfYXR0YWNoKGNvbnN0IGNoYXIgKmNvbnRyb2xsZXIsIGNvbnN0IGNoYXIgKnBhdGgsIHBpZF90IHBpZCkgeworIAorICAgICAgICAgeHNwcmludGYoYywgUElEX0ZNVCAiXG4iLCBwaWQpOworIAorLSAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKGZzLCBjLCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoZnMsIGMsIDApOworICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICByZXR1cm4gcjsKKyAKK0BAIC0xMTAwLDcgKzExMDAsNyBAQCBpbnQgY2dfaW5zdGFsbF9yZWxlYXNlX2FnZW50KGNvbnN0IGNoYXIgKmNvbnRyb2xsZXIsIGNvbnN0IGNoYXIgKmFnZW50KSB7CisgCisgICAgICAgICBzYyA9IHN0cnN0cmlwKGNvbnRlbnRzKTsKKyAgICAgICAgIGlmIChpc2VtcHR5KHNjKSkgeworLSAgICAgICAgICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoZnMsIGFnZW50LCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICAgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShmcywgYWdlbnQsIDApOworICAgICAgICAgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHI7CisgICAgICAgICB9IGVsc2UgaWYgKCFwYXRoX2VxdWFsKHNjLCBhZ2VudCkpCitAQCAtMTExOCw3ICsxMTE4LDcgQEAgaW50IGNnX2luc3RhbGxfcmVsZWFzZV9hZ2VudChjb25zdCBjaGFyICpjb250cm9sbGVyLCBjb25zdCBjaGFyICphZ2VudCkgeworIAorICAgICAgICAgc2MgPSBzdHJzdHJpcChjb250ZW50cyk7CisgICAgICAgICBpZiAoc3RyZXEoc2MsICIwIikpIHsKKy0gICAgICAgICAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKGZzLCAiMSIsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgICAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKGZzLCAiMSIsIDApOworICAgICAgICAgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHI7CisgCitAQCAtMTE0NSw3ICsxMTQ1LDcgQEAgaW50IGNnX3VuaW5zdGFsbF9yZWxlYXNlX2FnZW50KGNvbnN0IGNoYXIgKmNvbnRyb2xsZXIpIHsKKyAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgcmV0dXJuIHI7CisgCistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoZnMsICIwIiwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKGZzLCAiMCIsIDApOworICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICByZXR1cm4gcjsKKyAKK0BAIC0xMTU1LDcgKzExNTUsNyBAQCBpbnQgY2dfdW5pbnN0YWxsX3JlbGVhc2VfYWdlbnQoY29uc3QgY2hhciAqY29udHJvbGxlcikgeworICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICByZXR1cm4gcjsKKyAKKy0gICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShmcywgIiIsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShmcywgIiIsIDApOworICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICByZXR1cm4gcjsKKyAKK0BAIC0yMDEyLDcgKzIwMTIsNyBAQCBpbnQgY2dfc2V0X2F0dHJpYnV0ZShjb25zdCBjaGFyICpjb250cm9sbGVyLCBjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICphdHRyaQorICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICByZXR1cm4gcjsKKyAKKy0gICAgICAgIHJldHVybiB3cml0ZV9zdHJpbmdfZmlsZShwLCB2YWx1ZSwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgcmV0dXJuIHdyaXRlX3N0cmluZ19maWxlKHAsIHZhbHVlLCAwKTsKKyB9CisgCisgaW50IGNnX2dldF9hdHRyaWJ1dGUoY29uc3QgY2hhciAqY29udHJvbGxlciwgY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqYXR0cmlidXRlLCBjaGFyICoqcmV0KSB7CitAQCAtMjY2MCw3ICsyNjYwLDcgQEAgaW50IGNnX2VuYWJsZV9ldmVyeXdoZXJlKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2RlYnVnX2Vycm5vKGVycm5vLCAiRmFpbGVkIHRvIG9wZW4gY2dyb3VwLnN1YnRyZWVfY29udHJvbCBmaWxlIG9mICVzOiAlbSIsIHApOworICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAKKy0gICAgICAgICAgICAgICAgICAgICAgICByID0gd3JpdGVfc3RyaW5nX3N0cmVhbShmLCBzLCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICAgICAgICAgICAgICAgICAgciA9IHdyaXRlX3N0cmluZ19zdHJlYW0oZiwgcywgMCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHIgPCAwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dfZGVidWdfZXJybm8ociwgIkZhaWxlZCB0byAlcyBjb250cm9sbGVyICVzIGZvciAlcyAoJXMpOiAlbSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkxBR1NfU0VUKG1hc2ssIGJpdCkgPyAiZW5hYmxlIiA6ICJkaXNhYmxlIiwgbiwgcCwgZnMpOworZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9wcm9jZnMtdXRpbC5jIGIvc3JjL2Jhc2ljL3Byb2Nmcy11dGlsLmMKK2luZGV4IDQyY2U1M2QuLjU3NTEyNTMgMTAwNjQ0CistLS0gYS9zcmMvYmFzaWMvcHJvY2ZzLXV0aWwuYworKysrIGIvc3JjL2Jhc2ljL3Byb2Nmcy11dGlsLmMKK0BAIC04NiwxMyArODYsMTMgQEAgaW50IHByb2Nmc190YXNrc19zZXRfbGltaXQodWludDY0X3QgbGltaXQpIHsKKyAgICAgICAgICAqIGRlY3JlYXNlIGl0LCBhcyB0aHJlYWRzLW1heCBpcyB0aGUgbXVjaCBtb3JlIHJlbGV2YW50IHN5c2N0bC4gKi8KKyAgICAgICAgIGlmIChsaW1pdCA+IHBpZF9tYXgtMSkgeworICAgICAgICAgICAgICAgICBzcHJpbnRmKGJ1ZmZlciwgIiUiIFBSSXU2NCwgbGltaXQrMSk7IC8qIEFkZCBvbmUsIHNpbmNlIFBJRCAwIGlzIG5vdCBhIHZhbGlkIFBJRCAqLworLSAgICAgICAgICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9wcm9jL3N5cy9rZXJuZWwvcGlkX21heCIsIGJ1ZmZlciwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9wcm9jL3N5cy9rZXJuZWwvcGlkX21heCIsIGJ1ZmZlciwgMCk7CisgICAgICAgICAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcjsKKyAgICAgICAgIH0KKyAKKyAgICAgICAgIHNwcmludGYoYnVmZmVyLCAiJSIgUFJJdTY0LCBsaW1pdCk7CistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9wcm9jL3N5cy9rZXJuZWwvdGhyZWFkcy1tYXgiLCBidWZmZXIsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3Byb2Mvc3lzL2tlcm5lbC90aHJlYWRzLW1heCIsIGJ1ZmZlciwgMCk7CisgICAgICAgICBpZiAociA8IDApIHsKKyAgICAgICAgICAgICAgICAgdWludDY0X3QgdGhyZWFkc19tYXg7CisgCitkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL3NtYWNrLXV0aWwuYyBiL3NyYy9iYXNpYy9zbWFjay11dGlsLmMKK2luZGV4IDEyM2QwMGUuLmU3ZWE3OGYgMTAwNjQ0CistLS0gYS9zcmMvYmFzaWMvc21hY2stdXRpbC5jCisrKysgYi9zcmMvYmFzaWMvc21hY2stdXRpbC5jCitAQCAtMTE1LDcgKzExNSw3IEBAIGludCBtYWNfc21hY2tfYXBwbHlfcGlkKHBpZF90IHBpZCwgY29uc3QgY2hhciAqbGFiZWwpIHsKKyAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgCisgICAgICAgICBwID0gcHJvY2ZzX2ZpbGVfYWxsb2NhKHBpZCwgImF0dHIvY3VycmVudCIpOworLSAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKHAsIGxhYmVsLCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUocCwgbGFiZWwsIDApOworICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICByZXR1cm4gcjsKKyAKK2RpZmYgLS1naXQgYS9zcmMvYmFzaWMvdXRpbC5jIGIvc3JjL2Jhc2ljL3V0aWwuYworaW5kZXggZTU3N2M5My4uM2M2NGY5MSAxMDA2NDQKKy0tLSBhL3NyYy9iYXNpYy91dGlsLmMKKysrKyBiL3NyYy9iYXNpYy91dGlsLmMKK0BAIC02MzEsNyArNjMxLDcgQEAgdm9pZCBkaXNhYmxlX2NvcmVkdW1wcyh2b2lkKSB7CisgICAgICAgICBpZiAoZGV0ZWN0X2NvbnRhaW5lcigpID4gMCkKKyAgICAgICAgICAgICAgICAgcmV0dXJuOworIAorLSAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKCIvcHJvYy9zeXMva2VybmVsL2NvcmVfcGF0dGVybiIsICJ8L2Jpbi9mYWxzZSIsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3Byb2Mvc3lzL2tlcm5lbC9jb3JlX3BhdHRlcm4iLCAifC9iaW4vZmFsc2UiLCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgbG9nX2RlYnVnX2Vycm5vKHIsICJGYWlsZWQgdG8gdHVybiBvZmYgY29yZWR1bXBzLCBpZ25vcmluZzogJW0iKTsKKyB9CitkaWZmIC0tZ2l0IGEvc3JjL2JpbmZtdC9iaW5mbXQuYyBiL3NyYy9iaW5mbXQvYmluZm10LmMKK2luZGV4IGFmMzFmMDkuLmVlYzU3MzggMTAwNjQ0CistLS0gYS9zcmMvYmluZm10L2JpbmZtdC5jCisrKysgYi9zcmMvYmluZm10L2JpbmZtdC5jCitAQCAtNDcsNyArNDcsNyBAQCBzdGF0aWMgaW50IGRlbGV0ZV9ydWxlKGNvbnN0IGNoYXIgKnJ1bGUpIHsKKyAgICAgICAgIGlmICghZm4pCisgICAgICAgICAgICAgICAgIHJldHVybiBsb2dfb29tKCk7CisgCistICAgICAgICByZXR1cm4gd3JpdGVfc3RyaW5nX2ZpbGUoZm4sICItMSIsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHJldHVybiB3cml0ZV9zdHJpbmdfZmlsZShmbiwgIi0xIiwgMCk7CisgfQorIAorIHN0YXRpYyBpbnQgYXBwbHlfcnVsZShjb25zdCBjaGFyICpydWxlKSB7CitAQCAtNTUsNyArNTUsNyBAQCBzdGF0aWMgaW50IGFwcGx5X3J1bGUoY29uc3QgY2hhciAqcnVsZSkgeworIAorICAgICAgICAgKHZvaWQpIGRlbGV0ZV9ydWxlKHJ1bGUpOworIAorLSAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKCIvcHJvYy9zeXMvZnMvYmluZm10X21pc2MvcmVnaXN0ZXIiLCBydWxlLCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9wcm9jL3N5cy9mcy9iaW5mbXRfbWlzYy9yZWdpc3RlciIsIHJ1bGUsIDApOworICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2Vycm9yX2Vycm5vKHIsICJGYWlsZWQgdG8gYWRkIGJpbmFyeSBmb3JtYXQ6ICVtIik7CisgCitAQCAtMjEyLDcgKzIxMiw3IEBAIHN0YXRpYyBpbnQgcnVuKGludCBhcmdjLCBjaGFyICphcmd2W10pIHsKKyAgICAgICAgICAgICAgICAgfQorIAorICAgICAgICAgICAgICAgICAvKiBGbHVzaCBvdXQgYWxsIHJ1bGVzICovCistICAgICAgICAgICAgICAgIHdyaXRlX3N0cmluZ19maWxlKCIvcHJvYy9zeXMvZnMvYmluZm10X21pc2Mvc3RhdHVzIiwgIi0xIiwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgICAgICAgICB3cml0ZV9zdHJpbmdfZmlsZSgiL3Byb2Mvc3lzL2ZzL2JpbmZtdF9taXNjL3N0YXR1cyIsICItMSIsIDApOworIAorICAgICAgICAgICAgICAgICBTVFJWX0ZPUkVBQ0goZiwgZmlsZXMpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICBrID0gYXBwbHlfZmlsZSgqZiwgdHJ1ZSk7CitkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvbWFpbi5jIGIvc3JjL2NvcmUvbWFpbi5jCitpbmRleCA1NjFmOTU2Li5kYjZmMTEzIDEwMDY0NAorLS0tIGEvc3JjL2NvcmUvbWFpbi5jCisrKysgYi9zcmMvY29yZS9tYWluLmMKK0BAIC0xNDY4LDcgKzE0NjgsNyBAQCBzdGF0aWMgaW50IGJ1bXBfdW5peF9tYXhfZGdyYW1fcWxlbih2b2lkKSB7CisgICAgICAgICBpZiAodiA+PSBERUZBVUxUX1VOSVhfTUFYX0RHUkFNX1FMRU4pCisgICAgICAgICAgICAgICAgIHJldHVybiAwOworIAorLSAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlZigiL3Byb2Mvc3lzL25ldC91bml4L21heF9kZ3JhbV9xbGVuIiwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIsICIlbHUiLCBERUZBVUxUX1VOSVhfTUFYX0RHUkFNX1FMRU4pOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlZigiL3Byb2Mvc3lzL25ldC91bml4L21heF9kZ3JhbV9xbGVuIiwgMCwgIiVsdSIsIERFRkFVTFRfVU5JWF9NQVhfREdSQU1fUUxFTik7CisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIHJldHVybiBsb2dfZnVsbF9lcnJubyhJTl9TRVQociwgLUVST0ZTLCAtRVBFUk0sIC1FQUNDRVMpID8gTE9HX0RFQlVHIDogTE9HX1dBUk5JTkcsIHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRmFpbGVkIHRvIGJ1bXAgQUZfVU5JWCBkYXRhZ3JhbSBxdWV1ZSBsZW5ndGgsIGlnbm9yaW5nOiAlbSIpOworQEAgLTE2ODMsNyArMTY4Myw3IEBAIHN0YXRpYyB2b2lkIGluaXRpYWxpemVfY29yZV9wYXR0ZXJuKGJvb2wgc2tpcF9zZXR1cCkgeworICAgICAgICAgaWYgKGdldHBpZF9jYWNoZWQoKSAhPSAxKQorICAgICAgICAgICAgICAgICByZXR1cm47CisgCistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9wcm9jL3N5cy9rZXJuZWwvY29yZV9wYXR0ZXJuIiwgYXJnX2Vhcmx5X2NvcmVfcGF0dGVybiwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKCIvcHJvYy9zeXMva2VybmVsL2NvcmVfcGF0dGVybiIsIGFyZ19lYXJseV9jb3JlX3BhdHRlcm4sIDApOworICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICBsb2dfd2FybmluZ19lcnJubyhyLCAiRmFpbGVkIHRvIHdyaXRlICclcycgdG8gL3Byb2Mvc3lzL2tlcm5lbC9jb3JlX3BhdHRlcm4sIGlnbm9yaW5nOiAlbSIsIGFyZ19lYXJseV9jb3JlX3BhdHRlcm4pOworIH0KK2RpZmYgLS1naXQgYS9zcmMvY29yZS9zbWFjay1zZXR1cC5jIGIvc3JjL2NvcmUvc21hY2stc2V0dXAuYworaW5kZXggNDliMzdhZS4uYzk2ZWVkYyAxMDA2NDQKKy0tLSBhL3NyYy9jb3JlL3NtYWNrLXNldHVwLmMKKysrKyBiL3NyYy9jb3JlL3NtYWNrLXNldHVwLmMKK0BAIC0zNTAsMTcgKzM1MCwxNyBAQCBpbnQgbWFjX3NtYWNrX3NldHVwKGJvb2wgKmxvYWRlZF9wb2xpY3kpIHsKKyAgICAgICAgIH0KKyAKKyAjaWZkZWYgU01BQ0tfUlVOX0xBQkVMCistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9wcm9jL3NlbGYvYXR0ci9jdXJyZW50IiwgU01BQ0tfUlVOX0xBQkVMLCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9wcm9jL3NlbGYvYXR0ci9jdXJyZW50IiwgU01BQ0tfUlVOX0xBQkVMLCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgbG9nX3dhcm5pbmdfZXJybm8ociwgIkZhaWxlZCB0byBzZXQgU01BQ0sgbGFiZWwgXCIiIFNNQUNLX1JVTl9MQUJFTCAiXCIgb24gc2VsZjogJW0iKTsKKy0gICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3N5cy9mcy9zbWFja2ZzL2FtYmllbnQiLCBTTUFDS19SVU5fTEFCRUwsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3N5cy9mcy9zbWFja2ZzL2FtYmllbnQiLCBTTUFDS19SVU5fTEFCRUwsIDApOworICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICBsb2dfd2FybmluZ19lcnJubyhyLCAiRmFpbGVkIHRvIHNldCBTTUFDSyBhbWJpZW50IGxhYmVsIFwiIiBTTUFDS19SVU5fTEFCRUwgIlwiOiAlbSIpOworICAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKCIvc3lzL2ZzL3NtYWNrZnMvbmV0bGFiZWwiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIwLjAuMC4wLzAgIiBTTUFDS19SVU5fTEFCRUwsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMC4wLjAuMC8wICIgU01BQ0tfUlVOX0xBQkVMLCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgbG9nX3dhcm5pbmdfZXJybm8ociwgIkZhaWxlZCB0byBzZXQgU01BQ0sgbmV0bGFiZWwgcnVsZSBcIjAuMC4wLjAvMCAiIFNNQUNLX1JVTl9MQUJFTCAiXCI6ICVtIik7CistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9zeXMvZnMvc21hY2tmcy9uZXRsYWJlbCIsICIxMjcuMC4wLjEgLUNJUFNPIiwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKCIvc3lzL2ZzL3NtYWNrZnMvbmV0bGFiZWwiLCAiMTI3LjAuMC4xIC1DSVBTTyIsIDApOworICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICBsb2dfd2FybmluZ19lcnJubyhyLCAiRmFpbGVkIHRvIHNldCBTTUFDSyBuZXRsYWJlbCBydWxlIFwiMTI3LjAuMC4xIC1DSVBTT1wiOiAlbSIpOworICNlbmRpZgorZGlmZiAtLWdpdCBhL3NyYy9oaWJlcm5hdGUtcmVzdW1lL2hpYmVybmF0ZS1yZXN1bWUuYyBiL3NyYy9oaWJlcm5hdGUtcmVzdW1lL2hpYmVybmF0ZS1yZXN1bWUuYworaW5kZXggMTdlN2NkMS4uODdhNzY2NyAxMDA2NDQKKy0tLSBhL3NyYy9oaWJlcm5hdGUtcmVzdW1lL2hpYmVybmF0ZS1yZXN1bWUuYworKysrIGIvc3JjL2hpYmVybmF0ZS1yZXN1bWUvaGliZXJuYXRlLXJlc3VtZS5jCitAQCAtNDUsNyArNDUsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKSB7CisgICAgICAgICAgICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7CisgICAgICAgICB9CisgCistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9zeXMvcG93ZXIvcmVzdW1lIiwgbWFqb3JfbWlub3IsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3N5cy9wb3dlci9yZXN1bWUiLCBtYWpvcl9taW5vciwgMCk7CisgICAgICAgICBpZiAociA8IDApIHsKKyAgICAgICAgICAgICAgICAgbG9nX2Vycm9yX2Vycm5vKHIsICJGYWlsZWQgdG8gd3JpdGUgJyVzJyB0byAvc3lzL3Bvd2VyL3Jlc3VtZTogJW0iLCBtYWpvcl9taW5vcik7CisgICAgICAgICAgICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7CitkaWZmIC0tZ2l0IGEvc3JjL2xpYnN5c3RlbWQvc2QtZGV2aWNlL3NkLWRldmljZS5jIGIvc3JjL2xpYnN5c3RlbWQvc2QtZGV2aWNlL3NkLWRldmljZS5jCitpbmRleCAyYTY5ZjJlLi45ZDU1MzQwIDEwMDY0NAorLS0tIGEvc3JjL2xpYnN5c3RlbWQvc2QtZGV2aWNlL3NkLWRldmljZS5jCisrKysgYi9zcmMvbGlic3lzdGVtZC9zZC1kZXZpY2Uvc2QtZGV2aWNlLmMKK0BAIC0xODM2LDcgKzE4MzYsNyBAQCBfcHVibGljXyBpbnQgc2RfZGV2aWNlX3NldF9zeXNhdHRyX3ZhbHVlKHNkX2RldmljZSAqZGV2aWNlLCBjb25zdCBjaGFyICpzeXNhdHRyLAorICAgICAgICAgaWYgKCF2YWx1ZSkKKyAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07CisgCistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUocGF0aCwgdmFsdWUsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSIHwgV1JJVEVfU1RSSU5HX0ZJTEVfTk9GT0xMT1cpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKHBhdGgsIHZhbHVlLCAwIHwgV1JJVEVfU1RSSU5HX0ZJTEVfTk9GT0xMT1cpOworICAgICAgICAgaWYgKHIgPCAwKSB7CisgICAgICAgICAgICAgICAgIGlmIChyID09IC1FTE9PUCkKKyAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKK2RpZmYgLS1naXQgYS9zcmMvbG9naW4vbG9naW5kLWRidXMuYyBiL3NyYy9sb2dpbi9sb2dpbmQtZGJ1cy5jCitpbmRleCA4YWI0OThmLi5kMjdlZjljIDEwMDY0NAorLS0tIGEvc3JjL2xvZ2luL2xvZ2luZC1kYnVzLmMKKysrKyBiL3NyYy9sb2dpbi9sb2dpbmQtZGJ1cy5jCitAQCAtMTIzMSw3ICsxMjMxLDcgQEAgc3RhdGljIGludCB0cmlnZ2VyX2RldmljZShNYW5hZ2VyICptLCBzZF9kZXZpY2UgKmQpIHsKKyAgICAgICAgICAgICAgICAgaWYgKCF0KQorICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOworIAorLSAgICAgICAgICAgICAgICAodm9pZCkgd3JpdGVfc3RyaW5nX2ZpbGUodCwgImNoYW5nZSIsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgICAgICAgICAgKHZvaWQpIHdyaXRlX3N0cmluZ19maWxlKHQsICJjaGFuZ2UiLCAwKTsKKyAgICAgICAgIH0KKyAKKyAgICAgICAgIHJldHVybiAwOworZGlmZiAtLWdpdCBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLWlwdjYtcHJveHktbmRwLmMgYi9zcmMvbmV0d29yay9uZXR3b3JrZC1pcHY2LXByb3h5LW5kcC5jCitpbmRleCBmNTk0YjI3Li5jMjgzY2MzIDEwMDY0NAorLS0tIGEvc3JjL25ldHdvcmsvbmV0d29ya2QtaXB2Ni1wcm94eS1uZHAuYworKysrIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtaXB2Ni1wcm94eS1uZHAuYworQEAgLTQzLDcgKzQzLDcgQEAgc3RhdGljIGludCBpcHY2X3Byb3h5X25kcF9zZXQoTGluayAqbGluaykgeworICAgICAgICAgdiA9IGlwdjZfcHJveHlfbmRwX2lzX25lZWRlZChsaW5rKTsKKyAgICAgICAgIHAgPSBzdHJqb2luYSgiL3Byb2Mvc3lzL25ldC9pcHY2L2NvbmYvIiwgbGluay0+aWZuYW1lLCAiL3Byb3h5X25kcCIpOworIAorLSAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKHAsIG9uZV96ZXJvKHYpLCBXUklURV9TVFJJTkdfRklMRV9WRVJJRllfT05fRkFJTFVSRSB8IFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShwLCBvbmVfemVybyh2KSwgV1JJVEVfU1RSSU5HX0ZJTEVfVkVSSUZZX09OX0ZBSUxVUkUgfCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgbG9nX2xpbmtfd2FybmluZ19lcnJubyhsaW5rLCByLCAiQ2Fubm90IGNvbmZpZ3VyZSBwcm94eSBORFAgZm9yIGludGVyZmFjZTogJW0iKTsKKyAKK2RpZmYgLS1naXQgYS9zcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmMgYi9zcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmMKK2luZGV4IDIyMzkyZDcuLmUwZWQ1NTEgMTAwNjQ0CistLS0gYS9zcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmMKKysrKyBiL3NyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuYworQEAgLTI3NCw3ICsyNzQsNyBAQCBzdGF0aWMgaW50IGxpbmtfZW5hYmxlX2lwdjYoTGluayAqbGluaykgeworIAorICAgICAgICAgcCA9IHN0cmpvaW5hKCIvcHJvYy9zeXMvbmV0L2lwdjYvY29uZi8iLCBsaW5rLT5pZm5hbWUsICIvZGlzYWJsZV9pcHY2Iik7CisgCistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUocCwgb25lX3plcm8oZGlzYWJsZWQpLCBXUklURV9TVFJJTkdfRklMRV9WRVJJRllfT05fRkFJTFVSRSB8IFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShwLCBvbmVfemVybyhkaXNhYmxlZCksIFdSSVRFX1NUUklOR19GSUxFX1ZFUklGWV9PTl9GQUlMVVJFIHwgMCk7CisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIGxvZ19saW5rX3dhcm5pbmdfZXJybm8obGluaywgciwgIkNhbm5vdCAlcyBJUHY2IGZvciBpbnRlcmZhY2UgJXM6ICVtIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVfZGlzYWJsZSghZGlzYWJsZWQpLCBsaW5rLT5pZm5hbWUpOworQEAgLTEyNzIsNyArMTI3Miw3IEBAIHN0YXRpYyBpbnQgbGlua19zZXRfcHJveHlfYXJwKExpbmsgKmxpbmspIHsKKyAKKyAgICAgICAgIHAgPSBzdHJqb2luYSgiL3Byb2Mvc3lzL25ldC9pcHY0L2NvbmYvIiwgbGluay0+aWZuYW1lLCAiL3Byb3h5X2FycCIpOworIAorLSAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKHAsIG9uZV96ZXJvKGxpbmstPm5ldHdvcmstPnByb3h5X2FycCksIFdSSVRFX1NUUklOR19GSUxFX1ZFUklGWV9PTl9GQUlMVVJFIHwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKHAsIG9uZV96ZXJvKGxpbmstPm5ldHdvcmstPnByb3h5X2FycCksIFdSSVRFX1NUUklOR19GSUxFX1ZFUklGWV9PTl9GQUlMVVJFIHwgMCk7CisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIGxvZ19saW5rX3dhcm5pbmdfZXJybm8obGluaywgciwgIkNhbm5vdCBjb25maWd1cmUgcHJveHkgQVJQIGZvciBpbnRlcmZhY2U6ICVtIik7CisgCitAQCAtMjU0MSw3ICsyNTQxLDcgQEAgc3RhdGljIGludCBsaW5rX3NldF9pcHY0X2ZvcndhcmQoTGluayAqbGluaykgeworICAgICAgICAgICogcHJpbWFyaWx5IHRvIGtlZXAgSVB2NCBhbmQgSVB2NiBwYWNrZXQgZm9yd2FyZGluZyBiZWhhdmlvdXIKKyAgICAgICAgICAqIHNvbWV3aGF0IGluIHN5bmMgKHNlZSBiZWxvdykuICovCisgCistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9wcm9jL3N5cy9uZXQvaXB2NC9pcF9mb3J3YXJkIiwgIjEiLCBXUklURV9TVFJJTkdfRklMRV9WRVJJRllfT05fRkFJTFVSRSB8IFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3Byb2Mvc3lzL25ldC9pcHY0L2lwX2ZvcndhcmQiLCAiMSIsIFdSSVRFX1NUUklOR19GSUxFX1ZFUklGWV9PTl9GQUlMVVJFIHwgMCk7CisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIGxvZ19saW5rX3dhcm5pbmdfZXJybm8obGluaywgciwgIkNhbm5vdCB0dXJuIG9uIElQdjQgcGFja2V0IGZvcndhcmRpbmcsIGlnbm9yaW5nOiAlbSIpOworIAorQEAgLTI1NjMsNyArMjU2Myw3IEBAIHN0YXRpYyBpbnQgbGlua19zZXRfaXB2Nl9mb3J3YXJkKExpbmsgKmxpbmspIHsKKyAgICAgICAgICAqIHNhbWUgYmVoYXZpb3VyIHRoZXJlIGFuZCBhbHNvIHByb3BhZ2F0ZSB0aGUgc2V0dGluZyBmcm9tCisgICAgICAgICAgKiBvbmUgdG8gYWxsLCB0byBrZWVwIHRoaW5ncyBzaW1wbGUgKHNlZSBhYm92ZSkuICovCisgCistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9wcm9jL3N5cy9uZXQvaXB2Ni9jb25mL2FsbC9mb3J3YXJkaW5nIiwgIjEiLCBXUklURV9TVFJJTkdfRklMRV9WRVJJRllfT05fRkFJTFVSRSB8IFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3Byb2Mvc3lzL25ldC9pcHY2L2NvbmYvYWxsL2ZvcndhcmRpbmciLCAiMSIsIFdSSVRFX1NUUklOR19GSUxFX1ZFUklGWV9PTl9GQUlMVVJFIHwgMCk7CisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIGxvZ19saW5rX3dhcm5pbmdfZXJybm8obGluaywgciwgIkNhbm5vdCBjb25maWd1cmUgSVB2NiBwYWNrZXQgZm9yd2FyZGluZywgaWdub3Jpbmc6ICVtIik7CisgCitAQCAtMjU4Myw3ICsyNTgzLDcgQEAgc3RhdGljIGludCBsaW5rX3NldF9pcHY2X3ByaXZhY3lfZXh0ZW5zaW9ucyhMaW5rICpsaW5rKSB7CisgICAgICAgICBwID0gc3Ryam9pbmEoIi9wcm9jL3N5cy9uZXQvaXB2Ni9jb25mLyIsIGxpbmstPmlmbmFtZSwgIi91c2VfdGVtcGFkZHIiKTsKKyAgICAgICAgIHhzcHJpbnRmKGJ1ZiwgIiV1IiwgKHVuc2lnbmVkKSBsaW5rLT5uZXR3b3JrLT5pcHY2X3ByaXZhY3lfZXh0ZW5zaW9ucyk7CisgCistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUocCwgYnVmLCBXUklURV9TVFJJTkdfRklMRV9WRVJJRllfT05fRkFJTFVSRSB8IFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShwLCBidWYsIFdSSVRFX1NUUklOR19GSUxFX1ZFUklGWV9PTl9GQUlMVVJFIHwgMCk7CisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIGxvZ19saW5rX3dhcm5pbmdfZXJybm8obGluaywgciwgIkNhbm5vdCBjb25maWd1cmUgSVB2NiBwcml2YWN5IGV4dGVuc2lvbiBmb3IgaW50ZXJmYWNlOiAlbSIpOworIAorQEAgLTI2MDcsNyArMjYwNyw3IEBAIHN0YXRpYyBpbnQgbGlua19zZXRfaXB2Nl9hY2NlcHRfcmEoTGluayAqbGluaykgeworICAgICAgICAgcCA9IHN0cmpvaW5hKCIvcHJvYy9zeXMvbmV0L2lwdjYvY29uZi8iLCBsaW5rLT5pZm5hbWUsICIvYWNjZXB0X3JhIik7CisgCisgICAgICAgICAvKiBXZSBoYW5kbGUgcm91dGVyIGFkdmVydGlzZW1lbnRzIG91cnNlbHZlcywgdGVsbCB0aGUga2VybmVsIHRvIEdURk8gKi8KKy0gICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShwLCAiMCIsIFdSSVRFX1NUUklOR19GSUxFX1ZFUklGWV9PTl9GQUlMVVJFIHwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKHAsICIwIiwgV1JJVEVfU1RSSU5HX0ZJTEVfVkVSSUZZX09OX0ZBSUxVUkUgfCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgbG9nX2xpbmtfd2FybmluZ19lcnJubyhsaW5rLCByLCAiQ2Fubm90IGRpc2FibGUga2VybmVsIElQdjYgYWNjZXB0X3JhIGZvciBpbnRlcmZhY2U6ICVtIik7CisgCitAQCAtMjYzNSw3ICsyNjM1LDcgQEAgc3RhdGljIGludCBsaW5rX3NldF9pcHY2X2RhZF90cmFuc21pdHMoTGluayAqbGluaykgeworICAgICAgICAgcCA9IHN0cmpvaW5hKCIvcHJvYy9zeXMvbmV0L2lwdjYvY29uZi8iLCBsaW5rLT5pZm5hbWUsICIvZGFkX3RyYW5zbWl0cyIpOworICAgICAgICAgeHNwcmludGYoYnVmLCAiJWkiLCBsaW5rLT5uZXR3b3JrLT5pcHY2X2RhZF90cmFuc21pdHMpOworIAorLSAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKHAsIGJ1ZiwgV1JJVEVfU1RSSU5HX0ZJTEVfVkVSSUZZX09OX0ZBSUxVUkUgfCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUocCwgYnVmLCBXUklURV9TVFJJTkdfRklMRV9WRVJJRllfT05fRkFJTFVSRSB8IDApOworICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICBsb2dfbGlua193YXJuaW5nX2Vycm5vKGxpbmssIHIsICJDYW5ub3Qgc2V0IElQdjYgZGFkIHRyYW5zbWl0cyBmb3IgaW50ZXJmYWNlOiAlbSIpOworIAorQEAgLTI2NjMsNyArMjY2Myw3IEBAIHN0YXRpYyBpbnQgbGlua19zZXRfaXB2Nl9ob3BfbGltaXQoTGluayAqbGluaykgeworICAgICAgICAgcCA9IHN0cmpvaW5hKCIvcHJvYy9zeXMvbmV0L2lwdjYvY29uZi8iLCBsaW5rLT5pZm5hbWUsICIvaG9wX2xpbWl0Iik7CisgICAgICAgICB4c3ByaW50ZihidWYsICIlaSIsIGxpbmstPm5ldHdvcmstPmlwdjZfaG9wX2xpbWl0KTsKKyAKKy0gICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShwLCBidWYsIFdSSVRFX1NUUklOR19GSUxFX1ZFUklGWV9PTl9GQUlMVVJFIHwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKHAsIGJ1ZiwgV1JJVEVfU1RSSU5HX0ZJTEVfVkVSSUZZX09OX0ZBSUxVUkUgfCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgbG9nX2xpbmtfd2FybmluZ19lcnJubyhsaW5rLCByLCAiQ2Fubm90IHNldCBJUHY2IGhvcCBsaW1pdCBmb3IgaW50ZXJmYWNlOiAlbSIpOworIAorQEAgLTI2ODksNyArMjY4OSw3IEBAIHN0YXRpYyBpbnQgbGlua19zZXRfaXB2Nl9tdHUoTGluayAqbGluaykgeworIAorICAgICAgICAgeHNwcmludGYoYnVmLCAiJSIgUFJJdTMyLCBsaW5rLT5uZXR3b3JrLT5pcHY2X210dSk7CisgCistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUocCwgYnVmLCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUocCwgYnVmLCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgbG9nX2xpbmtfd2FybmluZ19lcnJubyhsaW5rLCByLCAiQ2Fubm90IHNldCBJUHY2IE1UVSBmb3IgaW50ZXJmYWNlOiAlbSIpOworIAorZGlmZiAtLWdpdCBhL3NyYy9uc3Bhd24vbnNwYXduLWNncm91cC5jIGIvc3JjL25zcGF3bi9uc3Bhd24tY2dyb3VwLmMKK2luZGV4IDk3ZmEwOTIuLmI4NDFmNTEgMTAwNjQ0CistLS0gYS9zcmMvbnNwYXduL25zcGF3bi1jZ3JvdXAuYworKysrIGIvc3JjL25zcGF3bi9uc3Bhd24tY2dyb3VwLmMKK0BAIC0xMjMsNyArMTIzLDcgQEAgaW50IHN5bmNfY2dyb3VwKHBpZF90IHBpZCwgQ0dyb3VwVW5pZmllZCB1bmlmaWVkX3JlcXVlc3RlZCwgdWlkX3QgdWlkX3NoaWZ0KSB7CisgICAgICAgICAodm9pZCkgbWtkaXJfcGFyZW50cyhmbiwgMDc1NSk7CisgCisgICAgICAgICBzcHJpbnRmKHBpZF9zdHJpbmcsIFBJRF9GTVQsIHBpZCk7CistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoZm4sIHBpZF9zdHJpbmcsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShmbiwgcGlkX3N0cmluZywgMCk7CisgICAgICAgICBpZiAociA8IDApIHsKKyAgICAgICAgICAgICAgICAgbG9nX2Vycm9yX2Vycm5vKHIsICJGYWlsZWQgdG8gbW92ZSBwcm9jZXNzOiAlbSIpOworICAgICAgICAgICAgICAgICBnb3RvIGZpbmlzaDsKK2RpZmYgLS1naXQgYS9zcmMvbnNwYXduL25zcGF3bi5jIGIvc3JjL25zcGF3bi9uc3Bhd24uYworaW5kZXggZTBjMmQ3MS4uMjEzNzkwYyAxMDA2NDQKKy0tLSBhL3NyYy9uc3Bhd24vbnNwYXduLmMKKysrKyBiL3NyYy9uc3Bhd24vbnNwYXduLmMKK0BAIC0yMTE3LDcgKzIxMTcsNyBAQCBzdGF0aWMgaW50IHJlc2V0X2F1ZGl0X2xvZ2ludWlkKHZvaWQpIHsKKyAgICAgICAgIGlmIChzdHJlcShwLCAiNDI5NDk2NzI5NSIpKQorICAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAKKy0gICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3Byb2Mvc2VsZi9sb2dpbnVpZCIsICI0Mjk0OTY3Mjk1IiwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKCIvcHJvYy9zZWxmL2xvZ2ludWlkIiwgIjQyOTQ5NjcyOTUiLCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkgeworICAgICAgICAgICAgICAgICBsb2dfZXJyb3JfZXJybm8ociwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJGYWlsZWQgdG8gcmVzZXQgYXVkaXQgbG9naW4gVUlELiBUaGlzIHByb2JhYmx5IG1lYW5zIHRoYXQgeW91ciBrZXJuZWwgaXMgdG9vXG4iCitAQCAtMzE5NSwxMyArMzE5NSwxMyBAQCBzdGF0aWMgaW50IHNldHVwX3VpZF9tYXAocGlkX3QgcGlkKSB7CisgCisgICAgICAgICB4c3ByaW50Zih1aWRfbWFwLCAiL3Byb2MvIiBQSURfRk1UICIvdWlkX21hcCIsIHBpZCk7CisgICAgICAgICB4c3ByaW50ZihsaW5lLCBVSURfRk1UICIgIiBVSURfRk1UICIgIiBVSURfRk1UICJcbiIsIDAsIGFyZ191aWRfc2hpZnQsIGFyZ191aWRfcmFuZ2UpOworLSAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKHVpZF9tYXAsIGxpbmUsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSh1aWRfbWFwLCBsaW5lLCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19lcnJvcl9lcnJubyhyLCAiRmFpbGVkIHRvIHdyaXRlIFVJRCBtYXA6ICVtIik7CisgCisgICAgICAgICAvKiBXZSBhbHdheXMgYXNzaWduIHRoZSBzYW1lIFVJRCBhbmQgR0lEIHJhbmdlcyAqLworICAgICAgICAgeHNwcmludGYodWlkX21hcCwgIi9wcm9jLyIgUElEX0ZNVCAiL2dpZF9tYXAiLCBwaWQpOworLSAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKHVpZF9tYXAsIGxpbmUsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSh1aWRfbWFwLCBsaW5lLCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19lcnJvcl9lcnJubyhyLCAiRmFpbGVkIHRvIHdyaXRlIEdJRCBtYXA6ICVtIik7CisgCitkaWZmIC0tZ2l0IGEvc3JjL3NsZWVwL3NsZWVwLmMgYi9zcmMvc2xlZXAvc2xlZXAuYworaW5kZXggNWI3OTg0YS4uYmY4MThhYSAxMDA2NDQKKy0tLSBhL3NyYy9zbGVlcC9zbGVlcC5jCisrKysgYi9zcmMvc2xlZXAvc2xlZXAuYworQEAgLTQzLDcgKzQzLDcgQEAgc3RhdGljIGludCB3cml0ZV9oaWJlcm5hdGVfbG9jYXRpb25faW5mbyh2b2lkKSB7CisgCisgICAgICAgICAvKiBpZiBpdCdzIGEgc3dhcCBwYXJ0aXRpb24sIHdlIGp1c3Qgd3JpdGUgdGhlIGRpc2sgdG8gL3N5cy9wb3dlci9yZXN1bWUgKi8KKyAgICAgICAgIGlmIChzdHJlcSh0eXBlLCAicGFydGl0aW9uIikpIHsKKy0gICAgICAgICAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKCIvc3lzL3Bvd2VyL3Jlc3VtZSIsIGRldmljZSwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9zeXMvcG93ZXIvcmVzdW1lIiwgZGV2aWNlLCAwKTsKKyAgICAgICAgICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBsb2dfZGVidWdfZXJybm8ociwgIkZhaWxlZWQgdG8gd3JpdGUgcGFydGl0b2luIGRldmljZSB0byAvc3lzL3Bvd2VyL3Jlc3VtZTogJW0iKTsKKyAKK0BAIC03OSwxMiArNzksMTIgQEAgc3RhdGljIGludCB3cml0ZV9oaWJlcm5hdGVfbG9jYXRpb25faW5mbyh2b2lkKSB7CisgCisgICAgICAgICBvZmZzZXQgPSBmaWVtYXAtPmZtX2V4dGVudHNbMF0uZmVfcGh5c2ljYWwgLyBwYWdlX3NpemUoKTsKKyAgICAgICAgIHhzcHJpbnRmKG9mZnNldF9zdHIsICIlIiBQUkl1NjQsIG9mZnNldCk7CistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9zeXMvcG93ZXIvcmVzdW1lX29mZnNldCIsIG9mZnNldF9zdHIsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3N5cy9wb3dlci9yZXN1bWVfb2Zmc2V0Iiwgb2Zmc2V0X3N0ciwgMCk7CisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIHJldHVybiBsb2dfZGVidWdfZXJybm8ociwgIkZhaWxlZCB0byB3cml0ZSBvZmZzZXQgJyVzJzogJW0iLCBvZmZzZXRfc3RyKTsKKyAKKyAgICAgICAgIHhzcHJpbnRmKGRldmljZV9zdHIsICIlbHgiLCAodW5zaWduZWQgbG9uZylzdGIuc3RfZGV2KTsKKy0gICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3N5cy9wb3dlci9yZXN1bWUiLCBkZXZpY2Vfc3RyLCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9zeXMvcG93ZXIvcmVzdW1lIiwgZGV2aWNlX3N0ciwgMCk7CisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIHJldHVybiBsb2dfZGVidWdfZXJybm8ociwgIkZhaWxlZCB0byB3cml0ZSBkZXZpY2UgJyVzJzogJW0iLCBkZXZpY2Vfc3RyKTsKKyAKK0BAIC05OCw3ICs5OCw3IEBAIHN0YXRpYyBpbnQgd3JpdGVfbW9kZShjaGFyICoqbW9kZXMpIHsKKyAgICAgICAgIFNUUlZfRk9SRUFDSChtb2RlLCBtb2RlcykgeworICAgICAgICAgICAgICAgICBpbnQgazsKKyAKKy0gICAgICAgICAgICAgICAgayA9IHdyaXRlX3N0cmluZ19maWxlKCIvc3lzL3Bvd2VyL2Rpc2siLCAqbW9kZSwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgICAgICAgICBrID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9zeXMvcG93ZXIvZGlzayIsICptb2RlLCAwKTsKKyAgICAgICAgICAgICAgICAgaWYgKGsgPj0gMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAKK0BAIC0xMTcsNyArMTE3LDcgQEAgc3RhdGljIGludCB3cml0ZV9zdGF0ZShGSUxFICoqZiwgY2hhciAqKnN0YXRlcykgeworICAgICAgICAgU1RSVl9GT1JFQUNIKHN0YXRlLCBzdGF0ZXMpIHsKKyAgICAgICAgICAgICAgICAgaW50IGs7CisgCistICAgICAgICAgICAgICAgIGsgPSB3cml0ZV9zdHJpbmdfc3RyZWFtKCpmLCAqc3RhdGUsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgICAgICAgICAgayA9IHdyaXRlX3N0cmluZ19zdHJlYW0oKmYsICpzdGF0ZSwgMCk7CisgICAgICAgICAgICAgICAgIGlmIChrID49IDApCisgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICAgICAgIGxvZ19kZWJ1Z19lcnJubyhrLCAiRmFpbGVkIHRvIHdyaXRlICclcycgdG8gL3N5cy9wb3dlci9zdGF0ZTogJW0iLCAqc3RhdGUpOworQEAgLTIxMiw3ICsyMTIsNyBAQCBzdGF0aWMgaW50IHJ0Y193cml0ZV93YWtlX2FsYXJtKHVpbnQ2NF90IHNlYykgeworIAorICAgICAgICAgeHNwcmludGYoYnVmLCAiJSIgUFJJdTY0LCBzZWMpOworIAorLSAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKCIvc3lzL2NsYXNzL3J0Yy9ydGMwL3dha2VhbGFybSIsIGJ1ZiwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKCIvc3lzL2NsYXNzL3J0Yy9ydGMwL3dha2VhbGFybSIsIGJ1ZiwgMCk7CisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIHJldHVybiBsb2dfZXJyb3JfZXJybm8ociwgIkZhaWxlZCB0byB3cml0ZSAnJXMnIHRvIC9zeXMvY2xhc3MvcnRjL3J0YzAvd2FrZWFsYXJtOiAlbSIsIGJ1Zik7CisgCitkaWZmIC0tZ2l0IGEvc3JjL3VkZXYvdWRldmFkbS10cmlnZ2VyLmMgYi9zcmMvdWRldi91ZGV2YWRtLXRyaWdnZXIuYworaW5kZXggOTUzMjk0Ni4uMmU1NzZiYiAxMDA2NDQKKy0tLSBhL3NyYy91ZGV2L3VkZXZhZG0tdHJpZ2dlci5jCisrKysgYi9zcmMvdWRldi91ZGV2YWRtLXRyaWdnZXIuYworQEAgLTQyLDcgKzQyLDcgQEAgc3RhdGljIGludCBleGVjX2xpc3Qoc2RfZGV2aWNlX2VudW1lcmF0b3IgKmUsIGNvbnN0IGNoYXIgKmFjdGlvbiwgU2V0ICpzZXR0bGVfc2UKKyAgICAgICAgICAgICAgICAgaWYgKCFmaWxlbmFtZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbG9nX29vbSgpOworIAorLSAgICAgICAgICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoZmlsZW5hbWUsIGFjdGlvbiwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoZmlsZW5hbWUsIGFjdGlvbiwgMCk7CisgICAgICAgICAgICAgICAgIGlmIChyIDwgMCkgeworICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ19kZWJ1Z19lcnJubyhyLCAiRmFpbGVkIHRvIHdyaXRlICclcycgdG8gJyVzJywgaWdub3Jpbmc6ICVtIiwgYWN0aW9uLCBmaWxlbmFtZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CitkaWZmIC0tZ2l0IGEvc3JjL3VkZXYvdWRldmQuYyBiL3NyYy91ZGV2L3VkZXZkLmMKK2luZGV4IDAzMDNmMzYuLjY4N2QwMDkgMTAwNjQ0CistLS0gYS9zcmMvdWRldi91ZGV2ZC5jCisrKysgYi9zcmMvdWRldi91ZGV2ZC5jCitAQCAtMTIxOCw3ICsxMjE4LDcgQEAgc3RhdGljIGludCBzeW50aGVzaXplX2NoYW5nZShzZF9kZXZpY2UgKmRldikgeworICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgbG9nX2RlYnVnKCJEZXZpY2UgJyVzJyBpcyBjbG9zZWQsIHN5bnRoZXNpc2luZyAnY2hhbmdlJyIsIGRldm5hbWUpOworICAgICAgICAgICAgICAgICBzdHJzY3B5bChmaWxlbmFtZSwgc2l6ZW9mKGZpbGVuYW1lKSwgc3lzcGF0aCwgIi91ZXZlbnQiLCBOVUxMKTsKKy0gICAgICAgICAgICAgICAgd3JpdGVfc3RyaW5nX2ZpbGUoZmlsZW5hbWUsICJjaGFuZ2UiLCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICAgICAgICAgIHdyaXRlX3N0cmluZ19maWxlKGZpbGVuYW1lLCAiY2hhbmdlIiwgMCk7CisgCisgICAgICAgICAgICAgICAgIEZPUkVBQ0hfREVWSUNFKGUsIGQpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICp0LCAqbiwgKnM7CitAQCAtMTIzMyw3ICsxMjMzLDcgQEAgc3RhdGljIGludCBzeW50aGVzaXplX2NoYW5nZShzZF9kZXZpY2UgKmRldikgeworIAorICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ19kZWJ1ZygiRGV2aWNlICclcycgaXMgY2xvc2VkLCBzeW50aGVzaXNpbmcgcGFydGl0aW9uICclcycgJ2NoYW5nZSciLCBkZXZuYW1lLCBuKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICBzdHJzY3B5bChmaWxlbmFtZSwgc2l6ZW9mKGZpbGVuYW1lKSwgcywgIi91ZXZlbnQiLCBOVUxMKTsKKy0gICAgICAgICAgICAgICAgICAgICAgICB3cml0ZV9zdHJpbmdfZmlsZShmaWxlbmFtZSwgImNoYW5nZSIsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZV9zdHJpbmdfZmlsZShmaWxlbmFtZSwgImNoYW5nZSIsIDApOworICAgICAgICAgICAgICAgICB9CisgCisgICAgICAgICAgICAgICAgIHJldHVybiAwOworQEAgLTEyNDEsNyArMTI0MSw3IEBAIHN0YXRpYyBpbnQgc3ludGhlc2l6ZV9jaGFuZ2Uoc2RfZGV2aWNlICpkZXYpIHsKKyAKKyAgICAgICAgIGxvZ19kZWJ1ZygiRGV2aWNlICVzIGlzIGNsb3NlZCwgc3ludGhlc2lzaW5nICdjaGFuZ2UnIiwgZGV2bmFtZSk7CisgICAgICAgICBzdHJzY3B5bChmaWxlbmFtZSwgc2l6ZW9mKGZpbGVuYW1lKSwgc3lzcGF0aCwgIi91ZXZlbnQiLCBOVUxMKTsKKy0gICAgICAgIHdyaXRlX3N0cmluZ19maWxlKGZpbGVuYW1lLCAiY2hhbmdlIiwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgd3JpdGVfc3RyaW5nX2ZpbGUoZmlsZW5hbWUsICJjaGFuZ2UiLCAwKTsKKyAKKyAgICAgICAgIHJldHVybiAwOworIH0KK2RpZmYgLS1naXQgYS9zcmMvdmNvbnNvbGUvdmNvbnNvbGUtc2V0dXAuYyBiL3NyYy92Y29uc29sZS92Y29uc29sZS1zZXR1cC5jCitpbmRleCBlYmRlYmEzLi5hYTg3OWU2IDEwMDY0NAorLS0tIGEvc3JjL3Zjb25zb2xlL3Zjb25zb2xlLXNldHVwLmMKKysrKyBiL3NyYy92Y29uc29sZS92Y29uc29sZS1zZXR1cC5jCitAQCAtMTE0LDcgKzExNCw3IEBAIHN0YXRpYyBpbnQgdG9nZ2xlX3V0ZjgoY29uc3QgY2hhciAqbmFtZSwgaW50IGZkLCBib29sIHV0ZjgpIHsKKyBzdGF0aWMgaW50IHRvZ2dsZV91dGY4X3N5c2ZzKGJvb2wgdXRmOCkgeworICAgICAgICAgaW50IHI7CisgCistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9zeXMvbW9kdWxlL3Z0L3BhcmFtZXRlcnMvZGVmYXVsdF91dGY4Iiwgb25lX3plcm8odXRmOCksIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3N5cy9tb2R1bGUvdnQvcGFyYW1ldGVycy9kZWZhdWx0X3V0ZjgiLCBvbmVfemVybyh1dGY4KSwgMCk7CisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIHJldHVybiBsb2dfd2FybmluZ19lcnJubyhyLCAiRmFpbGVkIHRvICVzIHN5c2ZzIFVURi04IGZsYWc6ICVtIiwgZW5hYmxlX2Rpc2FibGUodXRmOCkpOworIAorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLWxvZ2luLXVzZS1wYXJzZV91aWQtd2hlbi11bm1vdW50aW5nLXVzZXItcnVudGltZS1kaXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLWxvZ2luLXVzZS1wYXJzZV91aWQtd2hlbi11bm1vdW50aW5nLXVzZXItcnVudGltZS1kaXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJhMDhlMzQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1sb2dpbi11c2UtcGFyc2VfdWlkLXdoZW4tdW5tb3VudGluZy11c2VyLXJ1bnRpbWUtZGlyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTEwICswLDAgQEAKLUZyb20gODZkMThmM2IwOWVjOTg0ZWYzNzMyNTY3YWY5OTJhZGIyZGM3N2E4YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFl1IFdhdGFuYWJlIDx3YXRhbmFiZS55dStnaXRodWJAZ21haWwuY29tPgotRGF0ZTogTW9uLCA5IEp1bCAyMDE4IDE0OjA1OjIwICswOTAwCi1TdWJqZWN0OiBbUEFUQ0hdIGxvZ2luOiB1c2UgcGFyc2VfdWlkKCkgd2hlbiB1bm1vdW50aW5nIHVzZXIgcnVudGltZSBkaXJlY3RvcnkKLQotV2hlbiB1bm1vdW50aW5nIHVzZXIgcnVudGltZSBkaXJlY3RvcnksIG9ubHkgVUlEIGlzIG5lY2Vzc2FyeSwKLWFuZCB0aGUgY29ycmVzcG9uZGluZyB1c2VyIG1heSBub3QgZXhpc3QgYW55bW9yZS4KLVRoaXMgbWFrZXMgZmlyc3QgdHJ5IHRvIHBhcnNlIHRoZSBpbnB1dCBieSBwYXJzZV91aWQoKSwgYW5kIG9ubHkgaWYgaXQKLWZhaWxzLCBwcmFzZSB0aGUgaW5wdXQgYnkgZ2V0X3VzZXJfY3JlZHMoKS4KLQotRml4ZXMgIzk1NDEuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLS0tLQotIHNyYy9sb2dpbi91c2VyLXJ1bnRpbWUtZGlyLmMgfCA1NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9sb2dpbi91c2VyLXJ1bnRpbWUtZGlyLmMgYi9zcmMvbG9naW4vdXNlci1ydW50aW1lLWRpci5jCi1pbmRleCAxYmIyNmM5OWUuLmRlNDA2MWM3NSAxMDA2NDQKLS0tLSBhL3NyYy9sb2dpbi91c2VyLXJ1bnRpbWUtZGlyLmMKLSsrKyBiL3NyYy9sb2dpbi91c2VyLXJ1bnRpbWUtZGlyLmMKLUBAIC0xMTEsOCArMTExLDIyIEBAIHN0YXRpYyBpbnQgdXNlcl9yZW1vdmVfcnVudGltZV9wYXRoKGNvbnN0IGNoYXIgKnJ1bnRpbWVfcGF0aCkgewotICAgICAgICAgcmV0dXJuIHI7Ci0gfQotIAotLXN0YXRpYyBpbnQgZG9fbW91bnQoY29uc3QgY2hhciAqcnVudGltZV9wYXRoLCB1aWRfdCB1aWQsIGdpZF90IGdpZCkgewotK3N0YXRpYyBpbnQgZG9fbW91bnQoY29uc3QgY2hhciAqdXNlcikgewotKyAgICAgICAgY2hhciBydW50aW1lX3BhdGhbc2l6ZW9mKCIvcnVuL3VzZXIiKSArIERFQ0lNQUxfU1RSX01BWCh1aWRfdCldOwotICAgICAgICAgc2l6ZV90IHJ1bnRpbWVfZGlyX3NpemU7Ci0rICAgICAgICB1aWRfdCB1aWQ7Ci0rICAgICAgICBnaWRfdCBnaWQ7Ci0rICAgICAgICBpbnQgcjsKLSsKLSsgICAgICAgIHIgPSBnZXRfdXNlcl9jcmVkcygmdXNlciwgJnVpZCwgJmdpZCwgTlVMTCwgTlVMTCk7Ci0rICAgICAgICBpZiAociA8IDApCi0rICAgICAgICAgICAgICAgIHJldHVybiBsb2dfZXJyb3JfZXJybm8ociwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByID09IC1FU1JDSCA/ICJObyBzdWNoIHVzZXIgXCIlc1wiIiA6Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9PSAtRU5PTVNHID8gIlVJRCBcIiVzXCIgaXMgaW52YWxpZCBvciBoYXMgYW4gaW52YWxpZCBtYWluIGdyb3VwIgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICJGYWlsZWQgdG8gbG9vayB1cCB1c2VyIFwiJXNcIjogJW0iLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXIpOwotKwotKyAgICAgICAgeHNwcmludGYocnVudGltZV9wYXRoLCAiL3J1bi91c2VyLyIgVUlEX0ZNVCwgdWlkKTsKLSAKLSAgICAgICAgIGFzc2VydF9zZShnYXRoZXJfY29uZmlndXJhdGlvbigmcnVudGltZV9kaXJfc2l6ZSkgPT0gMCk7Ci0gCi1AQCAtMTIwLDE2ICsxMzQsMzAgQEAgc3RhdGljIGludCBkb19tb3VudChjb25zdCBjaGFyICpydW50aW1lX3BhdGgsIHVpZF90IHVpZCwgZ2lkX3QgZ2lkKSB7Ci0gICAgICAgICByZXR1cm4gdXNlcl9ta2Rpcl9ydW50aW1lX3BhdGgocnVudGltZV9wYXRoLCB1aWQsIGdpZCwgcnVudGltZV9kaXJfc2l6ZSk7Ci0gfQotIAotLXN0YXRpYyBpbnQgZG9fdW1vdW50KGNvbnN0IGNoYXIgKnJ1bnRpbWVfcGF0aCkgewotK3N0YXRpYyBpbnQgZG9fdW1vdW50KGNvbnN0IGNoYXIgKnVzZXIpIHsKLSsgICAgICAgIGNoYXIgcnVudGltZV9wYXRoW3NpemVvZigiL3J1bi91c2VyIikgKyBERUNJTUFMX1NUUl9NQVgodWlkX3QpXTsKLSsgICAgICAgIHVpZF90IHVpZDsKLSsgICAgICAgIGludCByOwotKwotKyAgICAgICAgLyogVGhlIHVzZXIgbWF5IGJlIGFscmVhZHkgcmVtb3ZlZC4gU28sIGZpcnN0IHRyeSB0byBwYXJzZSB0aGUgc3RyaW5nIGJ5IHBhcnNlX3VpZCgpLAotKyAgICAgICAgICogYW5kIGlmIGl0IGZhaWxzLCBmYWxsYmFjayB0byBnZXRfdXNlcl9jcmVkcygpLiovCi0rICAgICAgICBpZiAocGFyc2VfdWlkKHVzZXIsICZ1aWQpIDwgMCkgewotKyAgICAgICAgICAgICAgICByID0gZ2V0X3VzZXJfY3JlZHMoJnVzZXIsICZ1aWQsIE5VTEwsIE5VTEwsIE5VTEwpOwotKyAgICAgICAgICAgICAgICBpZiAociA8IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19lcnJvcl9lcnJubyhyLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9PSAtRVNSQ0ggPyAiTm8gc3VjaCB1c2VyIFwiJXNcIiIgOgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9PSAtRU5PTVNHID8gIlVJRCBcIiVzXCIgaXMgaW52YWxpZCBvciBoYXMgYW4gaW52YWxpZCBtYWluIGdyb3VwIgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIkZhaWxlZCB0byBsb29rIHVwIHVzZXIgXCIlc1wiOiAlbSIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyKTsKLSsgICAgICAgIH0KLSsKLSsgICAgICAgIHhzcHJpbnRmKHJ1bnRpbWVfcGF0aCwgIi9ydW4vdXNlci8iIFVJRF9GTVQsIHVpZCk7Ci0rCi0gICAgICAgICBsb2dfZGVidWcoIldpbGwgcmVtb3ZlICVzIiwgcnVudGltZV9wYXRoKTsKLSAgICAgICAgIHJldHVybiB1c2VyX3JlbW92ZV9ydW50aW1lX3BhdGgocnVudGltZV9wYXRoKTsKLSB9Ci0gCi0gaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkgewotLSAgICAgICAgY29uc3QgY2hhciAqdXNlcjsKLS0gICAgICAgIHVpZF90IHVpZDsKLS0gICAgICAgIGdpZF90IGdpZDsKLS0gICAgICAgIGNoYXIgcnVudGltZV9wYXRoW3NpemVvZigiL3J1bi91c2VyIikgKyBERUNJTUFMX1NUUl9NQVgodWlkX3QpXTsKLSAgICAgICAgIGludCByOwotIAotICAgICAgICAgbG9nX3BhcnNlX2Vudmlyb25tZW50KCk7Ci1AQCAtMTQ2LDIzICsxNzQsMTAgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkgewotIAotICAgICAgICAgdW1hc2soMDAyMik7Ci0gCi0tICAgICAgICB1c2VyID0gYXJndlsyXTsKLS0gICAgICAgIHIgPSBnZXRfdXNlcl9jcmVkcygmdXNlciwgJnVpZCwgJmdpZCwgTlVMTCwgTlVMTCk7Ci0tICAgICAgICBpZiAociA8IDApIHsKLS0gICAgICAgICAgICAgICAgbG9nX2Vycm9yX2Vycm5vKHIsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByID09IC1FU1JDSCA/ICJObyBzdWNoIHVzZXIgXCIlc1wiIiA6Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByID09IC1FTk9NU0cgPyAiVUlEIFwiJXNcIiBpcyBpbnZhbGlkIG9yIGhhcyBhbiBpbnZhbGlkIG1haW4gZ3JvdXAiCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAiRmFpbGVkIHRvIGxvb2sgdXAgdXNlciBcIiVzXCI6ICVtIiwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXIpOwotLSAgICAgICAgICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJFOwotLSAgICAgICAgfQotLQotLSAgICAgICAgeHNwcmludGYocnVudGltZV9wYXRoLCAiL3J1bi91c2VyLyIgVUlEX0ZNVCwgdWlkKTsKLS0KLSAgICAgICAgIGlmIChzdHJlcShhcmd2WzFdLCAic3RhcnQiKSkKLS0gICAgICAgICAgICAgICAgciA9IGRvX21vdW50KHJ1bnRpbWVfcGF0aCwgdWlkLCBnaWQpOwotKyAgICAgICAgICAgICAgICByID0gZG9fbW91bnQoYXJndlsyXSk7Ci0gICAgICAgICBlbHNlIGlmIChzdHJlcShhcmd2WzFdLCAic3RvcCIpKQotLSAgICAgICAgICAgICAgICByID0gZG9fdW1vdW50KHJ1bnRpbWVfcGF0aCk7Ci0rICAgICAgICAgICAgICAgIHIgPSBkb191bW91bnQoYXJndlsyXSk7Ci0gICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgIGFzc2VydF9ub3RfcmVhY2hlZCgiVW5rbm93biB2ZXJiISIpOwotIAotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1tZXNvbi1kZWNsYXJlLXZlcnNpb24uaC1hcy1kZXAtZm9yLXZhcmlvdXMtdGFyZ2V0cy10LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1tZXNvbi1kZWNsYXJlLXZlcnNpb24uaC1hcy1kZXAtZm9yLXZhcmlvdXMtdGFyZ2V0cy10LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAxOTM2ZjIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLW1lc29uLWRlY2xhcmUtdmVyc2lvbi5oLWFzLWRlcC1mb3ItdmFyaW91cy10YXJnZXRzLXQucGF0Y2gKQEAgLTAsMCArMSwxMTggQEAKK0Zyb20gOWY4NmQ4NzY5YWI4MzBhNzI0Yzg0Zjg0OTk3NWI1NTk1ZTI2YjQ3YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9aYmlnbmlldz0yMEo9QzQ9OTlkcnplamV3c2tpLVN6bWVrPz0gPHpieXN6ZWtAaW4ud2F3LnBsPgorRGF0ZTogU3VuLCAyNCBGZWIgMjAxOSAyMjo0OTozOCArMDEwMAorU3ViamVjdDogW1BBVENIXSBtZXNvbjogZGVjbGFyZSB2ZXJzaW9uLmggYXMgZGVwIGZvciB2YXJpb3VzIHRhcmdldHMgdGhhdAorIGluY2x1ZGUgYnVpbGQuaAorCitTaG91bGQgZml4ICMxMTU2NS4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBtZXNvbi5idWlsZCAgICAgICAgICB8IDE5ICsrKysrKysrKysrKystLS0tLS0KKyBzcmMvY29yZS9tZXNvbi5idWlsZCB8ICAzICsrLQorIHNyYy91ZGV2L21lc29uLmJ1aWxkIHwgIDEgKworIDMgZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL21lc29uLmJ1aWxkIGIvbWVzb24uYnVpbGQKK2luZGV4IDMwZGY4MzQuLjIzMmYzZTEgMTAwNjQ0CistLS0gYS9tZXNvbi5idWlsZAorKysrIGIvbWVzb24uYnVpbGQKK0BAIC0xNjM3LDcgKzE2MzcsOCBAQCBleGUgPSBleGVjdXRhYmxlKCdzeXN0ZW1kLWFuYWx5emUnLAorICAgICAgICAgICAgICAgICAgaW5jbHVkZV9kaXJlY3RvcmllcyA6IGluY2x1ZGVzLAorICAgICAgICAgICAgICAgICAgbGlua193aXRoIDogW2xpYmNvcmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlic2hhcmVkXSwKKy0gICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llcyA6IFt0aHJlYWRzLAorKyAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzIDogW3ZlcnNpb25kZXAsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyZWFkcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJzZWNjb21wLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnNlbGludXgsCitAQCAtMjE4Myw3ICsyMTg0LDggQEAgaWYgY29uZi5nZXQoJ0VOQUJMRV9JTVBPUlREJykgPT0gMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeXN0ZW1kX3B1bGxfc291cmNlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZV9kaXJlY3RvcmllcyA6IGluY2x1ZGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rX3dpdGggOiBbbGlic2hhcmVkXSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzIDogW2xpYmN1cmwsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llcyA6IFt2ZXJzaW9uZGVwLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGliY3VybCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnosCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJiemlwMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnh6LAorQEAgLTIyMzIsNyArMjIzNCw4IEBAIGlmIGNvbmYuZ2V0KCdFTkFCTEVfUkVNT1RFJykgPT0gMSBhbmQgY29uZi5nZXQoJ0hBVkVfTElCQ1VSTCcpID09IDEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzdGVtZF9qb3VybmFsX3VwbG9hZF9zb3VyY2VzLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlX2RpcmVjdG9yaWVzIDogaW5jbHVkZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtfd2l0aCA6IFtsaWJzaGFyZWRdLAorLSAgICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMgOiBbdGhyZWFkcywKKysgICAgICAgICAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzIDogW3ZlcnNpb25kZXAsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJlYWRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGliY3VybCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYmdudXRscywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnh6LAorQEAgLTI1NTgsNiArMjU2MSw3IEBAIGV4ZSA9IGV4ZWN1dGFibGUoJ3N5c3RlbWQtc3RkaW8tYnJpZGdlJywKKyAgICAgICAgICAgICAgICAgICdzcmMvc3RkaW8tYnJpZGdlL3N0ZGlvLWJyaWRnZS5jJywKKyAgICAgICAgICAgICAgICAgIGluY2x1ZGVfZGlyZWN0b3JpZXMgOiBpbmNsdWRlcywKKyAgICAgICAgICAgICAgICAgIGxpbmtfd2l0aCA6IFtsaWJzaGFyZWRdLAorKyAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzIDogW3ZlcnNpb25kZXBdLAorICAgICAgICAgICAgICAgICAgaW5zdGFsbF9ycGF0aCA6IHJvb3RsaWJleGVjZGlyLAorICAgICAgICAgICAgICAgICAgaW5zdGFsbCA6IHRydWUpCisgcHVibGljX3Byb2dyYW1zICs9IGV4ZQorQEAgLTI2NDEsNyArMjY0NSw4IEBAIGV4ZSA9IGV4ZWN1dGFibGUoJ3N5c3RlbWQtdWRldmQnLAorICAgICAgICAgICAgICAgICAgbGlua193aXRoIDogW2xpYnVkZXZfY29yZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJzeXN0ZW1kX25ldHdvcmssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlidWRldl9zdGF0aWNdLAorLSAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzIDogW3RocmVhZHMsCisrICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMgOiBbdmVyc2lvbmRlcCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJlYWRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYmttb2QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGliaWRuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYmFjbCwKK0BAIC0yNjU4LDcgKzI2NjMsOCBAQCBleGUgPSBleGVjdXRhYmxlKCd1ZGV2YWRtJywKKyAgICAgICAgICAgICAgICAgIGxpbmtfd2l0aCA6IFtsaWJ1ZGV2X2NvcmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlic3lzdGVtZF9uZXR3b3JrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnVkZXZfc3RhdGljXSwKKy0gICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llcyA6IFt0aHJlYWRzLAorKyAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzIDogW3ZlcnNpb25kZXAsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyZWFkcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJrbW9kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYmlkbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJhY2wsCitAQCAtMjc5OCw3ICsyODA0LDggQEAgZm9yZWFjaCB0dXBsZSA6IHRlc3RzCisgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlX2RpcmVjdG9yaWVzIDogaW5jcywKKyAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rX3dpdGggOiBsaW5rX3dpdGgsCistICAgICAgICAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzIDogZGVwZW5kZW5jaWVzLAorKyAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llcyA6IFt2ZXJzaW9uZGVwLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXNdLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNfYXJncyA6IGRlZnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRfYnlfZGVmYXVsdCA6IHdhbnRfdGVzdHMgIT0gJ2ZhbHNlJywKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0YWxsX3JwYXRoIDogcm9vdGxpYmV4ZWNkaXIsCitkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvbWVzb24uYnVpbGQgYi9zcmMvY29yZS9tZXNvbi5idWlsZAoraW5kZXggODUwMjFiZC4uODhmYjA5MyAxMDA2NDQKKy0tLSBhL3NyYy9jb3JlL21lc29uLmJ1aWxkCisrKysgYi9zcmMvY29yZS9tZXNvbi5idWlsZAorQEAgLTE1MCw3ICsxNTAsOCBAQCBsaWJjb3JlID0gc3RhdGljX2xpYnJhcnkoCisgICAgICAgICBsb2FkX2ZyYWdtZW50X2dwZXJmX2MsCisgICAgICAgICBsb2FkX2ZyYWdtZW50X2dwZXJmX251bHN0cl9jLAorICAgICAgICAgaW5jbHVkZV9kaXJlY3RvcmllcyA6IGluY2x1ZGVzLAorLSAgICAgICAgZGVwZW5kZW5jaWVzIDogW3RocmVhZHMsCisrICAgICAgICBkZXBlbmRlbmNpZXMgOiBbdmVyc2lvbmRlcCwKKysgICAgICAgICAgICAgICAgICAgICAgICB0aHJlYWRzLAorICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnJ0LAorICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnNlY2NvbXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgbGlicGFtLAorZGlmZiAtLWdpdCBhL3NyYy91ZGV2L21lc29uLmJ1aWxkIGIvc3JjL3VkZXYvbWVzb24uYnVpbGQKK2luZGV4IDlkM2Y2ZDEuLjk3M2E3NWUgMTAwNjQ0CistLS0gYS9zcmMvdWRldi9tZXNvbi5idWlsZAorKysrIGIvc3JjL3VkZXYvbWVzb24uYnVpbGQKK0BAIC0xODAsNiArMTgwLDcgQEAgZm9yZWFjaCBwcm9nIDogW1snYXRhX2lkL2F0YV9pZC5jJ10sCisgICAgICAgICAgICAgICAgICAgIHByb2csCisgICAgICAgICAgICAgICAgICAgIGluY2x1ZGVfZGlyZWN0b3JpZXMgOiBpbmNsdWRlcywKKyAgICAgICAgICAgICAgICAgICAgY19hcmdzIDogWyctRExPR19SRUFMTT1MT0dfUkVBTE1fVURFViddLAorKyAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMgOiBbdmVyc2lvbmRlcF0sCisgICAgICAgICAgICAgICAgICAgIGxpbmtfd2l0aCA6IFtsaWJ1ZGV2X3N0YXRpY10sCisgICAgICAgICAgICAgICAgICAgIGluc3RhbGxfcnBhdGggOiB1ZGV2X3JwYXRoLAorICAgICAgICAgICAgICAgICAgICBpbnN0YWxsIDogdHJ1ZSwKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1tZXNvbi1kZWNsYXJlLXZlcnNpb24uaC1hcy1kZXBlbmRlbmN5LWZvci1zeXN0ZW1kLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1tZXNvbi1kZWNsYXJlLXZlcnNpb24uaC1hcy1kZXBlbmRlbmN5LWZvci1zeXN0ZW1kLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4NzRkZmYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLW1lc29uLWRlY2xhcmUtdmVyc2lvbi5oLWFzLWRlcGVuZGVuY3ktZm9yLXN5c3RlbWQucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorRnJvbSBlMTRkNzI0YTkzMmEyNTVlZWM0ZDYwYjA4ZTEyODUxOWMzM2U4OGVlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CitEYXRlOiBNb24sIDI1IEZlYiAyMDE5IDExOjU5OjIzICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIG1lc29uOiBkZWNsYXJlIHZlcnNpb24uaCBhcyBkZXBlbmRlbmN5IGZvciBzeXN0ZW1kCisKK1RoaXMgaXMgYSBmb2xsb3d1cCB0byAjMTE4MTUgYW5kIGFkZHMgdGhlIGxhc3QgbWlzc2luZyBkZXBlbmRlbmN5LgorV2l0aCB0aGlzICMxMTU2NSBpcyBob3BlZnVsbHkgcmVhbGx5IGZpeGVkLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK1NpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KKy0tLQorIG1lc29uLmJ1aWxkIHwgMyArKy0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCitpbmRleCAyMzJmM2UxLi43MDE0OGJlIDEwMDY0NAorLS0tIGEvbWVzb24uYnVpbGQKKysrKyBiL21lc29uLmJ1aWxkCitAQCAtMTYxOCw3ICsxNjE4LDggQEAgZXhlY3V0YWJsZSgnc3lzdGVtZCcsCisgICAgICAgICAgICBpbmNsdWRlX2RpcmVjdG9yaWVzIDogaW5jbHVkZXMsCisgICAgICAgICAgICBsaW5rX3dpdGggOiBbbGliY29yZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBsaWJzaGFyZWRdLAorLSAgICAgICAgICAgZGVwZW5kZW5jaWVzIDogW3RocmVhZHMsCisrICAgICAgICAgICBkZXBlbmRlbmNpZXMgOiBbdmVyc2lvbmRlcCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJlYWRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnJ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnNlY2NvbXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlic2VsaW51eCwKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1tZXNvbi1yZW5hbWUtRGRlYnVnLXRvLURkZWJ1Zy1leHRyYS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtbWVzb24tcmVuYW1lLURkZWJ1Zy10by1EZGVidWctZXh0cmEucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ2ZDMwNWMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1tZXNvbi1yZW5hbWUtRGRlYnVnLXRvLURkZWJ1Zy1leHRyYS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ1ICswLDAgQEAKLUZyb20gOGY2YjQ0MmE3OGQwYjQ4NWYwNDQ3NDJhZDkwYjJlODI3MWI0ZTY4ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9aYmlnbmlldz0yMEo9QzQ9OTlkcnplamV3c2tpLVN6bWVrPz0gPHpieXN6ZWtAaW4ud2F3LnBsPgotRGF0ZTogU3VuLCAxOSBBdWcgMjAxOCAxOToxMTozMCArMDIwMAotU3ViamVjdDogW1BBVENIXSBtZXNvbjogcmVuYW1lIC1EZGVidWcgdG8gLURkZWJ1Zy1leHRyYQotCi1NZXNvbiBhZGRlZCAtRG9wdGltaXphdGlvbiBhbmQgLURkZWJ1ZyBvcHRpb25zLCB3aGljaCBvYnZpb3VzbHkgY2F1c2VzCi1hIGNvbmZsaWN0IHdpdGggb3VyIC1EZGVidWcgb3B0aW9ucy4gTGV0J3MgcmVuYW1lIGl0LgotCi1GaXhlcyAjOTg4My4KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgotLS0tCi0gbWVzb24uYnVpbGQgICAgICAgfCAyICstCi0gbWVzb25fb3B0aW9ucy50eHQgfCAyICstCi0gMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCi1pbmRleCBmNzlhYzRiMTIuLjIyMDljOTM1YSAxMDA2NDQKLS0tLSBhL21lc29uLmJ1aWxkCi0rKysgYi9tZXNvbi5idWlsZAotQEAgLTc2Myw3ICs3NjMsNyBAQCBzdWJzdHMuc2V0KCdERUJVR1RUWScsIGdldF9vcHRpb24oJ2RlYnVnLXR0eScpKQotIAotIGVuYWJsZV9kZWJ1Z19oYXNobWFwID0gZmFsc2UKLSBlbmFibGVfZGVidWdfbW1hcF9jYWNoZSA9IGZhbHNlCi0tZm9yZWFjaCBuYW1lIDogZ2V0X29wdGlvbignZGVidWcnKQotK2ZvcmVhY2ggbmFtZSA6IGdldF9vcHRpb24oJ2RlYnVnLWV4dHJhJykKLSAgICAgICAgIGlmIG5hbWUgPT0gJ2hhc2htYXAnCi0gICAgICAgICAgICAgICAgIGVuYWJsZV9kZWJ1Z19oYXNobWFwID0gdHJ1ZQotICAgICAgICAgZWxpZiBuYW1lID09ICdtbWFwLWNhY2hlJwotZGlmZiAtLWdpdCBhL21lc29uX29wdGlvbnMudHh0IGIvbWVzb25fb3B0aW9ucy50eHQKLWluZGV4IGUzMTQwYzhjMS4uN2IxZjYxYmY0IDEwMDY0NAotLS0tIGEvbWVzb25fb3B0aW9ucy50eHQKLSsrKyBiL21lc29uX29wdGlvbnMudHh0Ci1AQCAtNDUsNyArNDUsNyBAQCBvcHRpb24oJ2RlYnVnLXNoZWxsJywgdHlwZSA6ICdzdHJpbmcnLCB2YWx1ZSA6ICcvYmluL3NoJywKLSAgICAgICAgZGVzY3JpcHRpb24gOiAncGF0aCB0byBkZWJ1ZyBzaGVsbCBiaW5hcnknKQotIG9wdGlvbignZGVidWctdHR5JywgdHlwZSA6ICdzdHJpbmcnLCB2YWx1ZSA6ICcvZGV2L3R0eTknLAotICAgICAgICBkZXNjcmlwdGlvbiA6ICdzcGVjaWZ5IHRoZSB0dHkgZGV2aWNlIGZvciBkZWJ1ZyBzaGVsbCcpCi0tb3B0aW9uKCdkZWJ1ZycsIHR5cGUgOiAnYXJyYXknLCBjaG9pY2VzIDogWydoYXNobWFwJywgJ21tYXAtY2FjaGUnXSwgdmFsdWUgOiBbXSwKLStvcHRpb24oJ2RlYnVnLWV4dHJhJywgdHlwZSA6ICdhcnJheScsIGNob2ljZXMgOiBbJ2hhc2htYXAnLCAnbW1hcC1jYWNoZSddLCB2YWx1ZSA6IFtdLAotICAgICAgICBkZXNjcmlwdGlvbiA6ICdlbmFibGUgZXh0cmEgZGVidWdnaW5nJykKLSBvcHRpb24oJ21lbW9yeS1hY2NvdW50aW5nLWRlZmF1bHQnLCB0eXBlIDogJ2Jvb2xlYW4nLAotICAgICAgICBkZXNjcmlwdGlvbiA6ICdlbmFibGUgTWVtb3J5QWNjb3VudGluZz0gYnkgZGVmYXVsdCcpCi0tLSAKLTIuMTcuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLXNkLWJ1cy1tYWtlLUJVU19ERUZBVUxUX1RJTUVPVVQtY29uZmlndXJhYmxlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1zZC1idXMtbWFrZS1CVVNfREVGQVVMVF9USU1FT1VULWNvbmZpZ3VyYWJsZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDVjOWI1Yi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLXNkLWJ1cy1tYWtlLUJVU19ERUZBVUxUX1RJTUVPVVQtY29uZmlndXJhYmxlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTc1ICswLDAgQEAKLUZyb20gNWI3NWE3MmVlOTY4Yzk2NjZiNWYyZWEzMTM3MjBiNmMzODNjYjRjMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFl1IFdhdGFuYWJlIDx3YXRhbmFiZS55dStnaXRodWJAZ21haWwuY29tPgotRGF0ZTogRnJpLCAxMyBKdWwgMjAxOCAxNzozODo0NyArMDkwMAotU3ViamVjdDogW1BBVENIXSBzZC1idXM6IG1ha2UgQlVTX0RFRkFVTFRfVElNRU9VVCBjb25maWd1cmFibGUKLQotVGhpcyBhZGRzIHNkX2J1c197Z2V0LHNldH1fbWV0aG9kX2NhbGxfdGltZW91dCgpLgotSWYgdGhlIHRpbWVvdXQgaXMgbm90IHNldCBvciBzZXQgdG8gMCwgdGhlbiB0aGUgdGltZW91dCB2YWx1ZSBpcwotcGFyc2VkIGZyb20gJFNZU1RFTURfQlVTX1RJTUVPVVQ9IGVudmlyb25tZW50IHZhcmlhYmxlLiBJZiB0aGUKLWVudmlyb25tZW50IHZhcmlhYmxlIGlzIG5vdCBzZXQsIHRoZW4gYnVpbHQtaW4gdGltZW91dCBpcyB1c2VkLgotLS0tCi0gZG9jL0VOVklST05NRU5ULm1kICAgICAgICAgICAgICAgICAgIHwgIDUgKysrKysKLSBzcmMvbGlic3lzdGVtZC9saWJzeXN0ZW1kLnN5bSAgICAgICAgfCAgNSArKysrKwotIHNyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtaW50ZXJuYWwuaCB8ICA5ICsrKystLS0tCi0gc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1tZXNzYWdlLmMgIHwgIDcgKysrKystLQotIHNyYy9saWJzeXN0ZW1kL3NkLWJ1cy9zZC1idXMuYyAgICAgICB8IDQwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQotIHNyYy9zeXN0ZW1kL3NkLWJ1cy5oICAgICAgICAgICAgICAgICB8ICAzICsrKwotIDYgZmlsZXMgY2hhbmdlZCwgNjEgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotCi1TaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci0KLWRpZmYgLS1naXQgYS9kb2MvRU5WSVJPTk1FTlQubWQgYi9kb2MvRU5WSVJPTk1FTlQubWQKLWluZGV4IDg1ZDI2ZmUyOGMuLjY0MWEwM2Q1ZDcgMTAwNjQ0Ci0tLS0gYS9kb2MvRU5WSVJPTk1FTlQubWQKLSsrKyBiL2RvYy9FTlZJUk9OTUVOVC5tZAotQEAgLTM3LDYgKzM3LDExIEBAIEFsbCB0b29sczoKLSAgIHVzZWZ1bCBmb3IgZGVidWdnaW5nLCBpbiBvcmRlciB0byB0ZXN0IGdlbmVyYXRvcnMgYW5kIG90aGVyIGNvZGUgYWdhaW5zdAotICAgc3BlY2lmaWMga2VybmVsIGNvbW1hbmQgbGluZXMuCi0gCi0rKiBgJFNZU1RFTURfQlVTX1RJTUVPVVQ9U0VDU2Ag4oCUIHNwZWNpZmllcyB0aGUgbWF4aW11bSB0aW1lIHRvIHdhaXQgZm9yIG1ldGhvZCBjYWxsCi0rICBjb21wbGV0aW9uLiBJZiBubyB0aW1lIHVuaXQgaXMgc3BlY2lmaWVkLCBhc3N1bWVzIHNlY29uZHMuIFRoZSB1c3VhbCBvdGhlciB1bml0cwotKyAgYXJlIHVuZGVyc3Rvb2QsIHRvbyAodXMsIG1zLCBzLCBtaW4sIGgsIGQsIHcsIG1vbnRoLCB5KS4gSWYgaXQgaXMgbm90IHNldCBvciBzZXQKLSsgIHRvIDAsIHRoZW4gdGhlIGJ1aWx0LWluIGRlZmF1bHQgaXMgdXNlZC4KLSsKLSBzeXN0ZW1jdGw6Ci0gCi0gKiBgJFNZU1RFTUNUTF9GT1JDRV9CVVM9MWAg4oCUIGlmIHNldCwgZG8gbm90IGNvbm5lY3QgdG8gUElEMSdzIHByaXZhdGUgRC1CdXMKLWRpZmYgLS1naXQgYS9zcmMvbGlic3lzdGVtZC9saWJzeXN0ZW1kLnN5bSBiL3NyYy9saWJzeXN0ZW1kL2xpYnN5c3RlbWQuc3ltCi1pbmRleCAxZWVjMTdkYjUwLi4wMDZkYmM5YzNmIDEwMDY0NAotLS0tIGEvc3JjL2xpYnN5c3RlbWQvbGlic3lzdGVtZC5zeW0KLSsrKyBiL3NyYy9saWJzeXN0ZW1kL2xpYnN5c3RlbWQuc3ltCi1AQCAtNTcwLDMgKzU3MCw4IEBAIGdsb2JhbDoKLSAgICAgICAgIHNkX2V2ZW50X3NvdXJjZV9zZXRfZGVzdHJveV9jYWxsYmFjazsKLSAgICAgICAgIHNkX2V2ZW50X3NvdXJjZV9nZXRfZGVzdHJveV9jYWxsYmFjazsKLSB9IExJQlNZU1RFTURfMjM4OwotKwotK0xJQlNZU1RFTURfMjQwIHsKLSsgICAgICAgIHNkX2J1c19zZXRfbWV0aG9kX2NhbGxfdGltZW91dDsKLSsgICAgICAgIHNkX2J1c19nZXRfbWV0aG9kX2NhbGxfdGltZW91dDsKLSt9IExJQlNZU1RFTURfMjM5OwotZGlmZiAtLWdpdCBhL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtaW50ZXJuYWwuaCBiL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtaW50ZXJuYWwuaAotaW5kZXggMjA4N2VmOGVlYi4uNDg2NGIxZTkxMSAxMDA2NDQKLS0tLSBhL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtaW50ZXJuYWwuaAotKysrIGIvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1pbnRlcm5hbC5oCi1AQCAtMzE5LDYgKzMxOSw5IEBAIHN0cnVjdCBzZF9idXMgewotIAotICAgICAgICAgaW50ICppbm90aWZ5X3dhdGNoZXM7Ci0gICAgICAgICBzaXplX3Qgbl9pbm90aWZ5X3dhdGNoZXM7Ci0rCi0rICAgICAgICAvKiB6ZXJvIG1lYW5zIHVzZSB2YWx1ZSBzcGVjaWZpZWQgYnkgJFNZU1RFTURfQlVTX1RJTUVPVVQ9IGVudmlyb25tZW50IHZhcmlhYmxlIG9yIGJ1aWx0LWluIGRlZmF1bHQgKi8KLSsgICAgICAgIHVzZWNfdCBtZXRob2RfY2FsbF90aW1lb3V0OwotIH07Ci0gCi0gLyogRm9yIG1ldGhvZCBjYWxscyB3ZSB0aW1lLW91dCBhdCAyNXMsIGxpa2UgaW4gdGhlIEQtQnVzIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiAqLwotQEAgLTMzNiw4ICszMzksNyBAQCBzdHJ1Y3Qgc2RfYnVzIHsKLSAKLSAjZGVmaW5lIEJVU19DT05UQUlORVJfREVQVEggMTI4Ci0gCi0tLyogRGVmaW5lZCBieSB0aGUgc3BlY2lmaWNhdGlvbiBhcyBtYXhpbXVtIHNpemUgb2YgYW4gYXJyYXkgaW4KLS0gKiBieXRlcyAqLwotKy8qIERlZmluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gYXMgbWF4aW11bSBzaXplIG9mIGFuIGFycmF5IGluIGJ5dGVzICovCi0gI2RlZmluZSBCVVNfQVJSQVlfTUFYX1NJWkUgNjcxMDg4NjQKLSAKLSAjZGVmaW5lIEJVU19GRFNfTUFYIDEwMjQKLUBAIC0zODgsOCArMzkwLDcgQEAgdm9pZCBidXNfY2xvc2VfaW9fZmRzKHNkX2J1cyAqYik7Ci0gICAgICAgICAgICAgIF9zbGFzaCA9IHN0cmVxKChwcmVmaXgpLCAiLyIpID8gTlVMTCA6IHN0cnJjaHIoKHByZWZpeCksICcvJykpCi0gCi0gLyogSWYgd2UgYXJlIGludm9raW5nIGNhbGxiYWNrcyBvZiBhIGJ1cyBvYmplY3QsIGVuc3VyZSB1bnJlZmZpbmcgdGhlCi0tICogYnVzIGZyb20gdGhlIGNhbGxiYWNrIGRvZXNuJ3QgZGVzdHJveSB0aGUgb2JqZWN0IHdlIGFyZSB3b3JraW5nCi0tICogb24gKi8KLSsgKiBidXMgZnJvbSB0aGUgY2FsbGJhY2sgZG9lc24ndCBkZXN0cm95IHRoZSBvYmplY3Qgd2UgYXJlIHdvcmtpbmcgb24gKi8KLSAjZGVmaW5lIEJVU19ET05UX0RFU1RST1koYnVzKSBcCi0gICAgICAgICBfY2xlYW51cF8oc2RfYnVzX3VucmVmcCkgX3VudXNlZF8gc2RfYnVzICpfZG9udF9kZXN0cm95XyMjYnVzID0gc2RfYnVzX3JlZihidXMpCi0gCi1kaWZmIC0tZ2l0IGEvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1tZXNzYWdlLmMgYi9zcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLW1lc3NhZ2UuYwotaW5kZXggOGQ5MmJjMjAwMi4uZGZmZTcwYTY2NSAxMDA2NDQKLS0tLSBhL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtbWVzc2FnZS5jCi0rKysgYi9zcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLW1lc3NhZ2UuYwotQEAgLTU4MDksOCArNTgwOSwxMSBAQCBpbnQgYnVzX21lc3NhZ2VfcmVtYXJzaGFsKHNkX2J1cyAqYnVzLCBzZF9idXNfbWVzc2FnZSAqKm0pIHsKLSAgICAgICAgICAgICAgICAgcmV0dXJuIHI7Ci0gCi0gICAgICAgICB0aW1lb3V0ID0gKCptKS0+dGltZW91dDsKLS0gICAgICAgIGlmICh0aW1lb3V0ID09IDAgJiYgISgoKm0pLT5oZWFkZXItPmZsYWdzICYgQlVTX01FU1NBR0VfTk9fUkVQTFlfRVhQRUNURUQpKQotLSAgICAgICAgICAgICAgICB0aW1lb3V0ID0gQlVTX0RFRkFVTFRfVElNRU9VVDsKLSsgICAgICAgIGlmICh0aW1lb3V0ID09IDAgJiYgISgoKm0pLT5oZWFkZXItPmZsYWdzICYgQlVTX01FU1NBR0VfTk9fUkVQTFlfRVhQRUNURUQpKSB7Ci0rICAgICAgICAgICAgICAgIHIgPSBzZF9idXNfZ2V0X21ldGhvZF9jYWxsX3RpbWVvdXQoYnVzLCAmdGltZW91dCk7Ci0rICAgICAgICAgICAgICAgIGlmIChyIDwgMCkKLSsgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcjsKLSsgICAgICAgIH0KLSAKLSAgICAgICAgIHIgPSBzZF9idXNfbWVzc2FnZV9zZWFsKG4sIEJVU19NRVNTQUdFX0NPT0tJRSgqbSksIHRpbWVvdXQpOwotICAgICAgICAgaWYgKHIgPCAwKQotZGlmZiAtLWdpdCBhL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9zZC1idXMuYyBiL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9zZC1idXMuYwotaW5kZXggMDg5YjUxYTZkOS4uOTQ1NDkwZWJmNyAxMDA2NDQKLS0tLSBhL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9zZC1idXMuYwotKysrIGIvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL3NkLWJ1cy5jCi1AQCAtMTYxMSw4ICsxNjExLDExIEBAIHN0YXRpYyBpbnQgYnVzX3NlYWxfbWVzc2FnZShzZF9idXMgKmIsIHNkX2J1c19tZXNzYWdlICptLCB1c2VjX3QgdGltZW91dCkgewotICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgIH0KLSAKLS0gICAgICAgIGlmICh0aW1lb3V0ID09IDApCi0tICAgICAgICAgICAgICAgIHRpbWVvdXQgPSBCVVNfREVGQVVMVF9USU1FT1VUOwotKyAgICAgICAgaWYgKHRpbWVvdXQgPT0gMCkgewotKyAgICAgICAgICAgICAgICByID0gc2RfYnVzX2dldF9tZXRob2RfY2FsbF90aW1lb3V0KGIsICZ0aW1lb3V0KTsKLSsgICAgICAgICAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByOwotKyAgICAgICAgfQotIAotICAgICAgICAgaWYgKCFtLT5zZW5kZXIgJiYgYi0+cGF0Y2hfc2VuZGVyKSB7Ci0gICAgICAgICAgICAgICAgIHIgPSBzZF9idXNfbWVzc2FnZV9zZXRfc2VuZGVyKG0sIGItPnBhdGNoX3NlbmRlcik7Ci1AQCAtNDA3NSwzICs0MDc4LDM2IEBAIF9wdWJsaWNfIGludCBzZF9idXNfZ2V0X25fcXVldWVkX3dyaXRlKHNkX2J1cyAqYnVzLCB1aW50NjRfdCAqcmV0KSB7Ci0gICAgICAgICAqcmV0ID0gYnVzLT53cXVldWVfc2l6ZTsKLSAgICAgICAgIHJldHVybiAwOwotIH0KLSsKLStfcHVibGljXyBpbnQgc2RfYnVzX3NldF9tZXRob2RfY2FsbF90aW1lb3V0KHNkX2J1cyAqYnVzLCB1aW50NjRfdCB1c2VjKSB7Ci0rICAgICAgICBhc3NlcnRfcmV0dXJuKGJ1cywgLUVJTlZBTCk7Ci0rICAgICAgICBhc3NlcnRfcmV0dXJuKGJ1cyA9IGJ1c19yZXNvbHZlKGJ1cyksIC1FTk9QS0cpOwotKwotKyAgICAgICAgYnVzLT5tZXRob2RfY2FsbF90aW1lb3V0ID0gdXNlYzsKLSsgICAgICAgIHJldHVybiAwOwotK30KLSsKLStfcHVibGljXyBpbnQgc2RfYnVzX2dldF9tZXRob2RfY2FsbF90aW1lb3V0KHNkX2J1cyAqYnVzLCB1aW50NjRfdCAqcmV0KSB7Ci0rICAgICAgICBjb25zdCBjaGFyICplOwotKyAgICAgICAgdXNlY190IHVzZWM7Ci0rCi0rICAgICAgICBhc3NlcnRfcmV0dXJuKGJ1cywgLUVJTlZBTCk7Ci0rICAgICAgICBhc3NlcnRfcmV0dXJuKGJ1cyA9IGJ1c19yZXNvbHZlKGJ1cyksIC1FTk9QS0cpOwotKyAgICAgICAgYXNzZXJ0X3JldHVybihyZXQsIC1FSU5WQUwpOwotKwotKyAgICAgICAgaWYgKGJ1cy0+bWV0aG9kX2NhbGxfdGltZW91dCAhPSAwKSB7Ci0rICAgICAgICAgICAgICAgICpyZXQgPSBidXMtPm1ldGhvZF9jYWxsX3RpbWVvdXQ7Ci0rICAgICAgICAgICAgICAgIHJldHVybiAwOwotKyAgICAgICAgfQotKwotKyAgICAgICAgZSA9IHNlY3VyZV9nZXRlbnYoIlNZU1RFTURfQlVTX1RJTUVPVVQiKTsKLSsgICAgICAgIGlmIChlICYmIHBhcnNlX3NlYyhlLCAmdXNlYykgPj0gMCAmJiB1c2VjICE9IDApIHsKLSsgICAgICAgICAgICAgICAgLyogU2F2ZSB0aGUgcGFyc2VkIHZhbHVlIHRvIGF2b2lkIG11bHRpcGxlIHBhcnNpbmcuIFRvIGNoYW5nZSB0aGUgdGltZW91dCB2YWx1ZSwKLSsgICAgICAgICAgICAgICAgICogdXNlIHNkX2J1c19zZXRfbWV0aG9kX2NhbGxfdGltZW91dCgpIGluc3RlYWQgb2Ygc2V0ZW52KCkuICovCi0rICAgICAgICAgICAgICAgICpyZXQgPSBidXMtPm1ldGhvZF9jYWxsX3RpbWVvdXQgPSB1c2VjOwotKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSsgICAgICAgIH0KLSsKLSsgICAgICAgICpyZXQgPSBidXMtPm1ldGhvZF9jYWxsX3RpbWVvdXQgPSBCVVNfREVGQVVMVF9USU1FT1VUOwotKyAgICAgICAgcmV0dXJuIDA7Ci0rfQotZGlmZiAtLWdpdCBhL3NyYy9zeXN0ZW1kL3NkLWJ1cy5oIGIvc3JjL3N5c3RlbWQvc2QtYnVzLmgKLWluZGV4IDU0YzRiMWNhODMuLmM5ZmQyNTQ4MzQgMTAwNjQ0Ci0tLS0gYS9zcmMvc3lzdGVtZC9zZC1idXMuaAotKysrIGIvc3JjL3N5c3RlbWQvc2QtYnVzLmgKLUBAIC0yMDYsNiArMjA2LDkgQEAgc2RfZXZlbnQgKnNkX2J1c19nZXRfZXZlbnQoc2RfYnVzICpidXMpOwotIGludCBzZF9idXNfZ2V0X25fcXVldWVkX3JlYWQoc2RfYnVzICpidXMsIHVpbnQ2NF90ICpyZXQpOwotIGludCBzZF9idXNfZ2V0X25fcXVldWVkX3dyaXRlKHNkX2J1cyAqYnVzLCB1aW50NjRfdCAqcmV0KTsKLSAKLStpbnQgc2RfYnVzX3NldF9tZXRob2RfY2FsbF90aW1lb3V0KHNkX2J1cyAqYnVzLCB1aW50NjRfdCB1c2VjKTsKLStpbnQgc2RfYnVzX2dldF9tZXRob2RfY2FsbF90aW1lb3V0KHNkX2J1cyAqYnVzLCB1aW50NjRfdCAqcmV0KTsKLSsKLSBpbnQgc2RfYnVzX2FkZF9maWx0ZXIoc2RfYnVzICpidXMsIHNkX2J1c19zbG90ICoqc2xvdCwgc2RfYnVzX21lc3NhZ2VfaGFuZGxlcl90IGNhbGxiYWNrLCB2b2lkICp1c2VyZGF0YSk7Ci0gaW50IHNkX2J1c19hZGRfbWF0Y2goc2RfYnVzICpidXMsIHNkX2J1c19zbG90ICoqc2xvdCwgY29uc3QgY2hhciAqbWF0Y2gsIHNkX2J1c19tZXNzYWdlX2hhbmRsZXJfdCBjYWxsYmFjaywgdm9pZCAqdXNlcmRhdGEpOwotIGludCBzZF9idXNfYWRkX21hdGNoX2FzeW5jKHNkX2J1cyAqYnVzLCBzZF9idXNfc2xvdCAqKnNsb3QsIGNvbnN0IGNoYXIgKm1hdGNoLCBzZF9idXNfbWVzc2FnZV9oYW5kbGVyX3QgY2FsbGJhY2ssIHNkX2J1c19tZXNzYWdlX2hhbmRsZXJfdCBpbnN0YWxsX2NhbGxiYWNrLCB2b2lkICp1c2VyZGF0YSk7Ci0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLXN5c2N0bC1Eb24tdC1wYXNzLW51bGwtZGlyZWN0aXZlLWFyZ3VtZW50LXRvLXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLXN5c2N0bC1Eb24tdC1wYXNzLW51bGwtZGlyZWN0aXZlLWFyZ3VtZW50LXRvLXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA1MzhjN2IuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1zeXNjdGwtRG9uLXQtcGFzcy1udWxsLWRpcmVjdGl2ZS1hcmd1bWVudC10by1zLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotRnJvbSBiZmM0MTgzZWE5OTVmMWMyMTEzODVkMDY2Y2RiMWZlOWNlODlmNjIxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFN1biwgMTYgRGVjIDIwMTggMjA6NTM6MzggLTA4MDAKLVN1YmplY3Q6IFtQQVRDSCAxLzJdIHN5c2N0bDogRG9uJ3QgcGFzcyBudWxsIGRpcmVjdGl2ZSBhcmd1bWVudCB0byAnJXMnCi0KLXZhbHVlIHBvaW50ZXIgaGVyZSBpcyBhbHdheXMgTlVMTCBidXQgIHN1YnNlcXVlbnQgdXNlIG9mIHRoYXQgcG9pbnRlcgotd2l0aCBhICVzIGZvcm1hdCB3aWxsIGFsd2F5cyBiZSBOVUxMLCBwcmludGluZyBwIGluc3RlYWQgd291bGQgYmUgYQotdmFsaWQgc3RyaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vc3lzdGVtZC9zeXN0ZW1kL3B1bGwvMTExNzldCi0gc3JjL3N5c2N0bC9zeXNjdGwuYyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9zeXNjdGwvc3lzY3RsLmMgYi9zcmMvc3lzY3RsL3N5c2N0bC5jCi1pbmRleCAxY2ZlNTEwMTguLmM2N2Q3OTAzMiAxMDA2NDQKLS0tLSBhL3NyYy9zeXNjdGwvc3lzY3RsLmMKLSsrKyBiL3NyYy9zeXNjdGwvc3lzY3RsLmMKLUBAIC0xMTUsNyArMTE1LDcgQEAgc3RhdGljIGludCBwYXJzZV9maWxlKE9yZGVyZWRIYXNobWFwICpzeXNjdGxfb3B0aW9ucywgY29uc3QgY2hhciAqcGF0aCwgYm9vbCBpZ24KLSAKLSAgICAgICAgICAgICAgICAgdmFsdWUgPSBzdHJjaHIocCwgJz0nKTsKLSAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgewotLSAgICAgICAgICAgICAgICAgICAgICAgIGxvZ19lcnJvcigiTGluZSBpcyBub3QgYW4gYXNzaWdubWVudCBhdCAnJXM6JXUnOiAlcyIsIHBhdGgsIGMsIHZhbHVlKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBsb2dfZXJyb3IoIkxpbmUgaXMgbm90IGFuIGFzc2lnbm1lbnQgYXQgJyVzOiV1JzogJXMiLCBwYXRoLCBjLCBwKTsKLSAKLSAgICAgICAgICAgICAgICAgICAgICAgICBpZiAociA9PSAwKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IC1FSU5WQUw7Ci0tLSAKLTIuMjAuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLXRpbWVzeW5jLWNoYW5nZXMtdHlwZS1vZi1kcmlmdF9mcmVxLXRvLWludDY0X3QucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLXRpbWVzeW5jLWNoYW5nZXMtdHlwZS1vZi1kcmlmdF9mcmVxLXRvLWludDY0X3QucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhkMzk1YzIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS10aW1lc3luYy1jaGFuZ2VzLXR5cGUtb2YtZHJpZnRfZnJlcS10by1pbnQ2NF90LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDkgKzAsMCBAQAotQmFja3BvcnQgcGF0Y2ggdG8gZml4IHN5c3RlbWQgYnVpbGQgZmFpbHVyZSBvbiB4MzIuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0aHViLmNvbS9zeXN0ZW1kL3N5c3RlbWQvY29tbWl0Lzc1Y2ExNjJdCi0KLVNpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgotCi1Gcm9tIDc1Y2ExNjIxZGI0NjQ3YTRkNjJkNzg3M2NkNjcxNWUyOGZlMGY5ZmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBZdSBXYXRhbmFiZSA8d2F0YW5hYmUueXUrZ2l0aHViQGdtYWlsLmNvbT4KLURhdGU6IFNhdCwgMjMgSnVuIDIwMTggMDk6NDE6NTUgKzA5MDAKLVN1YmplY3Q6IFtQQVRDSF0gdGltZXN5bmM6IGNoYW5nZXMgdHlwZSBvZiBkcmlmdF9mcmVxIHRvIGludDY0X3QKLQotZHJpZnRfZnJlcSBpcyB1c2VkIGZvciBzdG9yaW5nIHRpbWV4LmZyZXEsIGFuZCBpcyBhIDY0Yml0IGludGVnZXIuCi1UbyBzdXBwb3J0IHgzMiBBQkksIHRoaXMgY2hhbmdlcyB0aGUgdHlwZSBvZiBkcmlmdF9mcmVxIHRvIGludDY0X3QuCi0KLUZpeGVzICM5Mzg3LgotLS0tCi0gc3JjL3RpbWVzeW5jL3RpbWVzeW5jZC1tYW5hZ2VyLmMgfCAyICstCi0gc3JjL3RpbWVzeW5jL3RpbWVzeW5jZC1tYW5hZ2VyLmggfCAyICstCi0gMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvdGltZXN5bmMvdGltZXN5bmNkLW1hbmFnZXIuYyBiL3NyYy90aW1lc3luYy90aW1lc3luY2QtbWFuYWdlci5jCi1pbmRleCAyYjczMWFmOWUuLjQwNGEyYjE4OSAxMDA2NDQKLS0tLSBhL3NyYy90aW1lc3luYy90aW1lc3luY2QtbWFuYWdlci5jCi0rKysgYi9zcmMvdGltZXN5bmMvdGltZXN5bmNkLW1hbmFnZXIuYwotQEAgLTYwNCw3ICs2MDQsNyBAQCBzdGF0aWMgaW50IG1hbmFnZXJfcmVjZWl2ZV9yZXNwb25zZShzZF9ldmVudF9zb3VyY2UgKnNvdXJjZSwgaW50IGZkLCB1aW50MzJfdCByZQotICAgICAgICAgbS0+ZGVzdF90aW1lID0gKnJlY3ZfdGltZTsKLSAgICAgICAgIG0tPnNwaWtlID0gc3Bpa2U7Ci0gCi0tICAgICAgICBsb2dfZGVidWcoImludGVydmFsL2RlbHRhL2RlbGF5L2ppdHRlci9kcmlmdCAiIFVTRUNfRk1UICJzLyUrLjNmcy8lLjNmcy8lLjNmcy8lKyJQUklfVElNRVgicHBtJXMiLAotKyAgICAgICAgbG9nX2RlYnVnKCJpbnRlcnZhbC9kZWx0YS9kZWxheS9qaXR0ZXIvZHJpZnQgIiBVU0VDX0ZNVCAicy8lKy4zZnMvJS4zZnMvJS4zZnMvJSsiUFJJaTY0InBwbSVzIiwKLSAgICAgICAgICAgICAgICAgICBtLT5wb2xsX2ludGVydmFsX3VzZWMgLyBVU0VDX1BFUl9TRUMsIG9mZnNldCwgZGVsYXksIG0tPnNhbXBsZXNfaml0dGVyLCBtLT5kcmlmdF9mcmVxIC8gNjU1MzYsCi0gICAgICAgICAgICAgICAgICAgc3Bpa2UgPyAiIChpZ25vcmVkKSIgOiAiIik7Ci0gCi1kaWZmIC0tZ2l0IGEvc3JjL3RpbWVzeW5jL3RpbWVzeW5jZC1tYW5hZ2VyLmggYi9zcmMvdGltZXN5bmMvdGltZXN5bmNkLW1hbmFnZXIuaAotaW5kZXggZDhkOTdjYzFlLi4xODM0NzQxNmQgMTAwNjQ0Ci0tLS0gYS9zcmMvdGltZXN5bmMvdGltZXN5bmNkLW1hbmFnZXIuaAotKysrIGIvc3JjL3RpbWVzeW5jL3RpbWVzeW5jZC1tYW5hZ2VyLmgKLUBAIC03OSw3ICs3OSw3IEBAIHN0cnVjdCBNYW5hZ2VyIHsKLSAgICAgICAgIC8qIGxhc3QgY2hhbmdlICovCi0gICAgICAgICBib29sIGp1bXBlZDsKLSAgICAgICAgIGJvb2wgc3luYzsKLS0gICAgICAgIGxvbmcgZHJpZnRfZnJlcTsKLSsgICAgICAgIGludDY0X3QgZHJpZnRfZnJlcTsKLSAKLSAgICAgICAgIC8qIHdhdGNoIGZvciB0aW1lIGNoYW5nZXMgKi8KLSAgICAgICAgIHNkX2V2ZW50X3NvdXJjZSAqZXZlbnRfY2xvY2tfd2F0Y2g7Ci0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAyLWNvcmUtRml4LXVzZS1hZnRlci1mcmVlLWNhc2UtaW4tbG9hZF9mcm9tX3BhdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAyLWNvcmUtRml4LXVzZS1hZnRlci1mcmVlLWNhc2UtaW4tbG9hZF9mcm9tX3BhdGgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRkYTk2ZTIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMi1jb3JlLUZpeC11c2UtYWZ0ZXItZnJlZS1jYXNlLWluLWxvYWRfZnJvbV9wYXRoLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotRnJvbSBjYjY3YWViZDYzZDlmMDA3N2NiZjNlNzY5ZjBiMjIzYzViYmEyMGFjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFN1biwgMTYgRGVjIDIwMTggMjA6NTg6MzUgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSCAyLzJdIGNvcmU6IEZpeCB1c2UgYWZ0ZXIgZnJlZSBjYXNlIGluIGxvYWRfZnJvbV9wYXRoKCkKLQotZW5zdXJlIHRoYXQgbWZyZWUoKSBvbiBmaWxlbmFtZSBpcyBjYWxsZWQgYWZ0ZXIgdGhlIGxvZ2dpbmcgZnVuY3Rpb24KLXdoaWNoIHVzZXMgdGhlIHN0cmluZyBwb2ludGVkIGJ5IGZpbGVuYW1lCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vc3lzdGVtZC9zeXN0ZW1kL3B1bGwvMTExNzldCi0gc3JjL2NvcmUvbG9hZC1mcmFnbWVudC5jIHwgNiArKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2NvcmUvbG9hZC1mcmFnbWVudC5jIGIvc3JjL2NvcmUvbG9hZC1mcmFnbWVudC5jCi1pbmRleCBmYzU2NDRmNDguLmRhNTg1Nzg2ZSAxMDA2NDQKLS0tLSBhL3NyYy9jb3JlL2xvYWQtZnJhZ21lbnQuYwotKysrIGIvc3JjL2NvcmUvbG9hZC1mcmFnbWVudC5jCi1AQCAtNDUzMSw3ICs0NTMxLDYgQEAgc3RhdGljIGludCBsb2FkX2Zyb21fcGF0aChVbml0ICp1LCBjb25zdCBjaGFyICpwYXRoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByID0gb3Blbl9mb2xsb3coJmZpbGVuYW1lLCAmZiwgc3ltbGlua19uYW1lcywgJmlkKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICBpZiAociA+PSAwKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgZmlsZW5hbWUgPSBtZnJlZShmaWxlbmFtZSk7Ci0gCi0gICAgICAgICAgICAgICAgICAgICAgICAgLyogRU5PRU5UIG1lYW5zIHRoYXQgdGhlIGZpbGUgaXMgbWlzc2luZyBvciBpcyBhIGRhbmdsaW5nIHN5bWxpbmsuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICogRU5PVERJUiBtZWFucyB0aGF0IG9uZSBvZiBwYXRocyB3ZSBleHBlY3QgdG8gYmUgaXMgYSBkaXJlY3RvcnkKLUBAIC00NTQwLDkgKzQ1MzksMTIgQEAgc3RhdGljIGludCBsb2FkX2Zyb21fcGF0aChVbml0ICp1LCBjb25zdCBjaGFyICpwYXRoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHIgPT0gLUVBQ0NFUykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ19kZWJ1Z19lcnJubyhyLCAiQ2Fubm90IGFjY2VzcyBcIiVzXCI6ICVtIiwgZmlsZW5hbWUpOwotLSAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFJTl9TRVQociwgLUVOT0VOVCwgLUVOT1RESVIpKQotKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFJTl9TRVQociwgLUVOT0VOVCwgLUVOT1RESVIpKSB7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlbmFtZSA9IG1mcmVlKGZpbGVuYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByOwotKyAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAKLSsgICAgICAgICAgICAgICAgICAgICAgICBmaWxlbmFtZSA9IG1mcmVlKGZpbGVuYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAvKiBFbXB0eSB0aGUgc3ltbGluayBuYW1lcyBmb3IgdGhlIG5leHQgcnVuICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgc2V0X2NsZWFyX2ZyZWUoc3ltbGlua19uYW1lcyk7Ci0gICAgICAgICAgICAgICAgIH0KLS0tIAotMi4yMC4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDItZG9uLXQtdXNlLWdsaWJjLXNwZWNpZmljLXFzb3J0X3IucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAyLWRvbi10LXVzZS1nbGliYy1zcGVjaWZpYy1xc29ydF9yLnBhdGNoCmluZGV4IDhlMGQ2NjkuLjM2ZTA2OTkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDItZG9uLXQtdXNlLWdsaWJjLXNwZWNpZmljLXFzb3J0X3IucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMi1kb24tdC11c2UtZ2xpYmMtc3BlY2lmaWMtcXNvcnRfci5wYXRjaApAQCAtMSwzMSArMSwxMDAgQEAKLUZyb20gZDc0YTRkZTZkYWVhNWE1MTFjMmI1NjM2YmJiNTUyYzE1YjNhNGFkOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEVtaWwgUmVubmVyIEJlcnRoaW5nIDxzeXN0ZW1kQGVzbWlsLmRrPgotRGF0ZTogVGh1LCAxOCBTZXAgMjAxNCAxNToyNDo1NiArMDIwMAotU3ViamVjdDogW1BBVENIXSBkb24ndCB1c2UgZ2xpYmMtc3BlY2lmaWMgcXNvcnRfcgorRnJvbSAxZWI4NDUzNGRlYTA1ZDQxYWZlZDFkODk4Y2JhMjEyYWQ3ZDMxMGRkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyNSBGZWIgMjAxOSAxMzo0MTo0MSArMDgwMAorU3ViamVjdDogW1BBVENIIDAyLzI0XSBkb24ndCB1c2UgZ2xpYmMtc3BlY2lmaWMgcXNvcnRfcgogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCiAKIFNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitbUmViYXNlZCBmb3IgdjI0MV0KK1NpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KIC0tLQotIHNyYy9iYXNpYy9mb3JtYXQtdGFibGUuYyB8IDI3ICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLQotIHNyYy9iYXNpYy91dGlsLmggICAgICAgICB8ICA3IC0tLS0tLS0KLSBzcmMvaHdkYi9od2RiLmMgICAgICAgICAgfCAxOCArKysrKysrKysrKy0tLS0tLS0KLSBzcmMvdWRldi91ZGV2YWRtLWh3ZGIuYyAgfCAxNiArKysrKysrKysrLS0tLS0tCi0gNCBmaWxlcyBjaGFuZ2VkLCAzNyBpbnNlcnRpb25zKCspLCAzMSBkZWxldGlvbnMoLSkKKyBzcmMvYmFzaWMvdXRpbC5oICAgICAgICAgICAgICAgICAgIHwgMTQgLS0tLS0tLS0tLS0tLS0KKyBzcmMvbGlic3lzdGVtZC9zZC1od2RiL2h3ZGItdXRpbC5jIHwgMTkgKysrKysrKysrKysrKystLS0tLQorIHNyYy9zaGFyZWQvZm9ybWF0LXRhYmxlLmMgICAgICAgICAgfCAzNiArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KKyAzIGZpbGVzIGNoYW5nZWQsIDM4IGluc2VydGlvbnMoKyksIDMxIGRlbGV0aW9ucygtKQogCi1kaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL2Zvcm1hdC10YWJsZS5jIGIvc3JjL2Jhc2ljL2Zvcm1hdC10YWJsZS5jCi1pbmRleCA5NGU3OTZkMWNhLi45YjNmMzVjMjlhIDEwMDY0NAotLS0tIGEvc3JjL2Jhc2ljL2Zvcm1hdC10YWJsZS5jCi0rKysgYi9zcmMvYmFzaWMvZm9ybWF0LXRhYmxlLmMKLUBAIC03NDUsMjkgKzc0NSwyOSBAQCBzdGF0aWMgaW50IGNlbGxfZGF0YV9jb21wYXJlKFRhYmxlRGF0YSAqYSwgc2l6ZV90IGluZGV4X2EsIFRhYmxlRGF0YSAqYiwgc2l6ZV90CitkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL3V0aWwuaCBiL3NyYy9iYXNpYy91dGlsLmgKK2luZGV4IGRjMzNkNjYuLjlmNmE2Y2UgMTAwNjQ0CistLS0gYS9zcmMvYmFzaWMvdXRpbC5oCisrKysgYi9zcmMvYmFzaWMvdXRpbC5oCitAQCAtMTE2LDIwICsxMTYsNiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgcXNvcnRfc2FmZSh2b2lkICpiYXNlLCBzaXplX3Qgbm1lbWIsIHNpemVfdCBzaXplLCBfX2NvbXBhcl9mbgorICAgICAgICAgICAgICAgICBxc29ydF9zYWZlKChwKSwgKG4pLCBzaXplb2YoKHApWzBdKSwgKF9fY29tcGFyX2ZuX3QpIF9mdW5jXyk7IFwKKyAgICAgICAgIH0pCisgCistc3RhdGljIGlubGluZSB2b2lkIHFzb3J0X3Jfc2FmZSh2b2lkICpiYXNlLCBzaXplX3Qgbm1lbWIsIHNpemVfdCBzaXplLCBfX2NvbXBhcl9kX2ZuX3QgY29tcGFyLCB2b2lkICp1c2VyZGF0YSkgeworLSAgICAgICAgaWYgKG5tZW1iIDw9IDEpCistICAgICAgICAgICAgICAgIHJldHVybjsKKy0KKy0gICAgICAgIGFzc2VydChiYXNlKTsKKy0gICAgICAgIHFzb3J0X3IoYmFzZSwgbm1lbWIsIHNpemUsIGNvbXBhciwgdXNlcmRhdGEpOworLX0KKy0KKy0jZGVmaW5lIHR5cGVzYWZlX3Fzb3J0X3IocCwgbiwgZnVuYywgdXNlcmRhdGEpICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgICAgICAoeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICAgICAgICAgICAgICBpbnQgKCpfZnVuY18pKGNvbnN0IHR5cGVvZihwWzBdKSosIGNvbnN0IHR5cGVvZihwWzBdKSosIHR5cGVvZih1c2VyZGF0YSkpID0gZnVuYzsgXAorLSAgICAgICAgICAgICAgICBxc29ydF9yX3NhZmUoKHApLCAobiksIHNpemVvZigocClbMF0pLCAoX19jb21wYXJfZF9mbl90KSBfZnVuY18sIHVzZXJkYXRhKTsgXAorLSAgICAgICAgfSkKKy0KKyAvKiBOb3JtYWwgbWVtY3B5IHJlcXVpcmVzIHNyYyB0byBiZSBub25udWxsLiBXZSBkbyBub3RoaW5nIGlmIG4gaXMgMC4gKi8KKyBzdGF0aWMgaW5saW5lIHZvaWQgbWVtY3B5X3NhZmUodm9pZCAqZHN0LCBjb25zdCB2b2lkICpzcmMsIHNpemVfdCBuKSB7CisgICAgICAgICBpZiAobiA9PSAwKQorZGlmZiAtLWdpdCBhL3NyYy9saWJzeXN0ZW1kL3NkLWh3ZGIvaHdkYi11dGlsLmMgYi9zcmMvbGlic3lzdGVtZC9zZC1od2RiL2h3ZGItdXRpbC5jCitpbmRleCBmODUyOTY3Li5iNTcwY2UxIDEwMDY0NAorLS0tIGEvc3JjL2xpYnN5c3RlbWQvc2QtaHdkYi9od2RiLXV0aWwuYworKysrIGIvc3JjL2xpYnN5c3RlbWQvc2QtaHdkYi9od2RiLXV0aWwuYworQEAgLTEyNiw5ICsxMjYsMTMgQEAgc3RhdGljIHZvaWQgdHJpZV9mcmVlKHN0cnVjdCB0cmllICp0cmllKSB7CisgCisgREVGSU5FX1RSSVZJQUxfQ0xFQU5VUF9GVU5DKHN0cnVjdCB0cmllKiwgdHJpZV9mcmVlKTsKKyAKKy1zdGF0aWMgaW50IHRyaWVfdmFsdWVzX2NtcChjb25zdCBzdHJ1Y3QgdHJpZV92YWx1ZV9lbnRyeSAqYSwgY29uc3Qgc3RydWN0IHRyaWVfdmFsdWVfZW50cnkgKmIsIHN0cnVjdCB0cmllICp0cmllKSB7CistICAgICAgICByZXR1cm4gc3RyY21wKHRyaWUtPnN0cmluZ3MtPmJ1ZiArIGEtPmtleV9vZmYsCistICAgICAgICAgICAgICAgICAgICAgIHRyaWUtPnN0cmluZ3MtPmJ1ZiArIGItPmtleV9vZmYpOworK3N0YXRpYyBzdHJ1Y3QgdHJpZSAqdHJpZV9ub2RlX2FkZF92YWx1ZV90cmllOworK3N0YXRpYyBpbnQgdHJpZV92YWx1ZXNfY21wKGNvbnN0IHZvaWQgKnYxLCBjb25zdCB2b2lkICp2MikgeworKyAgICAgICAgY29uc3Qgc3RydWN0IHRyaWVfdmFsdWVfZW50cnkgKmEgPSB2MTsKKysgICAgICAgIGNvbnN0IHN0cnVjdCB0cmllX3ZhbHVlX2VudHJ5ICpiID0gdjI7CisrCisrICAgICAgICByZXR1cm4gc3RyY21wKHRyaWVfbm9kZV9hZGRfdmFsdWVfdHJpZS0+c3RyaW5ncy0+YnVmICsgYS0+a2V5X29mZiwKKysgICAgICAgICAgICAgICAgICAgICAgdHJpZV9ub2RlX2FkZF92YWx1ZV90cmllLT5zdHJpbmdzLT5idWYgKyBiLT5rZXlfb2ZmKTsKKyB9CisgCisgc3RhdGljIGludCB0cmllX25vZGVfYWRkX3ZhbHVlKHN0cnVjdCB0cmllICp0cmllLCBzdHJ1Y3QgdHJpZV9ub2RlICpub2RlLAorQEAgLTE1Niw3ICsxNjAsMTAgQEAgc3RhdGljIGludCB0cmllX25vZGVfYWRkX3ZhbHVlKHN0cnVjdCB0cmllICp0cmllLCBzdHJ1Y3QgdHJpZV9ub2RlICpub2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgIC52YWx1ZV9vZmYgPSB2LAorICAgICAgICAgICAgICAgICB9OworIAorLSAgICAgICAgICAgICAgICB2YWwgPSB0eXBlc2FmZV9ic2VhcmNoX3IoJnNlYXJjaCwgbm9kZS0+dmFsdWVzLCBub2RlLT52YWx1ZXNfY291bnQsIHRyaWVfdmFsdWVzX2NtcCwgdHJpZSk7CisrICAgICAgICAgICAgICAgIHRyaWVfbm9kZV9hZGRfdmFsdWVfdHJpZSA9IHRyaWU7CisrICAgICAgICAgICAgICAgIHZhbCA9IGJzZWFyY2goJnNlYXJjaCwgbm9kZS0+dmFsdWVzLCBub2RlLT52YWx1ZXNfY291bnQsIHNpemVvZihzdHJ1Y3QgdHJpZV92YWx1ZV9lbnRyeSksIHRyaWVfdmFsdWVzX2NtcCk7CisrICAgICAgICAgICAgICAgIHRyaWVfbm9kZV9hZGRfdmFsdWVfdHJpZSA9IE5VTEw7CisrCisgICAgICAgICAgICAgICAgIGlmICh2YWwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAvKiBBdCB0aGlzIHBvaW50IHdlIGhhdmUgMiBpZGVudGljYWwgcHJvcGVydGllcyBvbiB0aGUgc2FtZSBtYXRjaC1zdHJpbmcuCisgICAgICAgICAgICAgICAgICAgICAgICAgICogU2luY2Ugd2UgcHJvY2VzcyBmaWxlcyBpbiBvcmRlciwgd2UganVzdCByZXBsYWNlIHRoZSBwcmV2aW91cyB2YWx1ZS4gKi8KK0BAIC0xODIsNyArMTg5LDkgQEAgc3RhdGljIGludCB0cmllX25vZGVfYWRkX3ZhbHVlKHN0cnVjdCB0cmllICp0cmllLCBzdHJ1Y3QgdHJpZV9ub2RlICpub2RlLAorICAgICAgICAgICAgICAgICAubGluZV9udW1iZXIgPSBsaW5lX251bWJlciwKKyAgICAgICAgIH07CisgICAgICAgICBub2RlLT52YWx1ZXNfY291bnQrKzsKKy0gICAgICAgIHR5cGVzYWZlX3Fzb3J0X3Iobm9kZS0+dmFsdWVzLCBub2RlLT52YWx1ZXNfY291bnQsIHRyaWVfdmFsdWVzX2NtcCwgdHJpZSk7CisrICAgICAgICB0cmllX25vZGVfYWRkX3ZhbHVlX3RyaWUgPSB0cmllOworKyAgICAgICAgcXNvcnQobm9kZS0+dmFsdWVzLCBub2RlLT52YWx1ZXNfY291bnQsIHNpemVvZihzdHJ1Y3QgdHJpZV92YWx1ZV9lbnRyeSksIHRyaWVfdmFsdWVzX2NtcCk7CisrICAgICAgICB0cmllX25vZGVfYWRkX3ZhbHVlX3RyaWUgPSBOVUxMOwogICAgICAgICAgcmV0dXJuIDA7CiAgfQogIAotLXN0YXRpYyBpbnQgdGFibGVfZGF0YV9jb21wYXJlKGNvbnN0IHZvaWQgKngsIGNvbnN0IHZvaWQgKnksIHZvaWQgKnVzZXJkYXRhKSB7CitkaWZmIC0tZ2l0IGEvc3JjL3NoYXJlZC9mb3JtYXQtdGFibGUuYyBiL3NyYy9zaGFyZWQvZm9ybWF0LXRhYmxlLmMKK2luZGV4IDdkNTI5ODAuLjc1ZGJmZTEgMTAwNjQ0CistLS0gYS9zcmMvc2hhcmVkL2Zvcm1hdC10YWJsZS5jCisrKysgYi9zcmMvc2hhcmVkL2Zvcm1hdC10YWJsZS5jCitAQCAtODQ4LDMxICs4NDgsMzMgQEAgc3RhdGljIGludCBjZWxsX2RhdGFfY29tcGFyZShUYWJsZURhdGEgKmEsIHNpemVfdCBpbmRleF9hLCBUYWJsZURhdGEgKmIsIHNpemVfdAorICAgICAgICAgcmV0dXJuIENNUChpbmRleF9hLCBpbmRleF9iKTsKKyB9CisgCistc3RhdGljIGludCB0YWJsZV9kYXRhX2NvbXBhcmUoY29uc3Qgc2l6ZV90ICphLCBjb25zdCBzaXplX3QgKmIsIFRhYmxlICp0KSB7CiArc3RhdGljIFRhYmxlICp1c2VyX3RhYmxlOwogK3N0YXRpYyBpbnQgdGFibGVfZGF0YV9jb21wYXJlKGNvbnN0IHZvaWQgKngsIGNvbnN0IHZvaWQgKnkpIHsKLSAgICAgICAgIGNvbnN0IHNpemVfdCAqYSA9IHgsICpiID0geTsKLS0gICAgICAgIFRhYmxlICp0ID0gdXNlcmRhdGE7CisrICAgICAgICBjb25zdCBzaXplX3QgKmEgPSB4LCAqYj15OwogICAgICAgICAgc2l6ZV90IGk7CiAgICAgICAgICBpbnQgcjsKICAKQEAgLTU3LDExICsxMjYsMTYgQEAKICAKICAgICAgICAgICAgICAgICAgciA9IGNlbGxfZGF0YV9jb21wYXJlKGQsICphLCBkZCwgKmIpOwogICAgICAgICAgICAgICAgICBpZiAociAhPSAwKQotQEAgLTk2MCw3ICs5NjAsMTIgQEAgaW50IHRhYmxlX3ByaW50KFRhYmxlICp0LCBGSUxFICpmKSB7CistICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHQtPnJldmVyc2VfbWFwICYmIHQtPnJldmVyc2VfbWFwW3QtPnNvcnRfbWFwW2ldXSA/IC1yIDogcjsKKysgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdXNlcl90YWJsZS0+cmV2ZXJzZV9tYXAgJiYgdXNlcl90YWJsZS0+cmV2ZXJzZV9tYXBbdXNlcl90YWJsZS0+c29ydF9tYXBbaV1dID8gLXIgOiByOworICAgICAgICAgfQorIAorICAgICAgICAgLyogT3JkZXIgaWRlbnRpY2FsIGxpbmVzIGJ5IHRoZSBvcmRlciB0aGVyZSB3ZXJlIG9yaWdpbmFsbHkgYWRkZWQgaW4gKi8KK0BAIC0xMTA1LDcgKzExMDcsMTIgQEAgaW50IHRhYmxlX3ByaW50KFRhYmxlICp0LCBGSUxFICpmKSB7CiAgICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBuX3Jvd3M7IGkrKykKICAgICAgICAgICAgICAgICAgICAgICAgICBzb3J0ZWRbaV0gPSBpICogdC0+bl9jb2x1bW5zOwogIAotLSAgICAgICAgICAgICAgICBxc29ydF9yX3NhZmUoc29ydGVkLCBuX3Jvd3MsIHNpemVvZihzaXplX3QpLCB0YWJsZV9kYXRhX2NvbXBhcmUsIHQpOworLSAgICAgICAgICAgICAgICB0eXBlc2FmZV9xc29ydF9yKHNvcnRlZCwgbl9yb3dzLCB0YWJsZV9kYXRhX2NvbXBhcmUsIHQpOwogKyAgICAgICAgICAgICAgICBpZiAobl9yb3dzIDw9IDEpCiArICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiArICAgICAgICAgICAgICAgIGFzc2VydChzb3J0ZWQpOwpAQCAtNzEsMTEzICsxNDUsMjAgQEAKICAgICAgICAgIH0KICAKICAgICAgICAgIGlmICh0LT5kaXNwbGF5X21hcCkKLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvdXRpbC5oIGIvc3JjL2Jhc2ljL3V0aWwuaAotaW5kZXggOTY5OWQyMjhmOS4uNDBlYWY1MThjYiAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy91dGlsLmgKLSsrKyBiL3NyYy9iYXNpYy91dGlsLmgKLUBAIC0xMDUsMTMgKzEwNSw2IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBxc29ydF9zYWZlKHZvaWQgKmJhc2UsIHNpemVfdCBubWVtYiwgc2l6ZV90IHNpemUsIGNvbXBhcmlzb25fCi0gICAgICAgICAgICAgICAgIHFzb3J0X3NhZmUoKHApLCAobiksIHNpemVvZigocClbMF0pLCAoX19jb21wYXJfZm5fdCkgX2Z1bmNfKTsgXAotICAgICAgICAgfSkKK0BAIC0xNTMyLDcgKzE1MzksMTIgQEAgaW50IHRhYmxlX3RvX2pzb24oVGFibGUgKnQsIEpzb25WYXJpYW50ICoqcmV0KSB7CisgICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBuX3Jvd3M7IGkrKykKKyAgICAgICAgICAgICAgICAgICAgICAgICBzb3J0ZWRbaV0gPSBpICogdC0+bl9jb2x1bW5zOwogIAotLXN0YXRpYyBpbmxpbmUgdm9pZCBxc29ydF9yX3NhZmUodm9pZCAqYmFzZSwgc2l6ZV90IG5tZW1iLCBzaXplX3Qgc2l6ZSwgaW50ICgqY29tcGFyKShjb25zdCB2b2lkKiwgY29uc3Qgdm9pZCosIHZvaWQqKSwgdm9pZCAqdXNlcmRhdGEpIHsKLS0gICAgICAgIGlmIChubWVtYiA8PSAxKQotLSAgICAgICAgICAgICAgICByZXR1cm47Ci0tCi0tICAgICAgICBhc3NlcnQoYmFzZSk7Ci0tICAgICAgICBxc29ydF9yKGJhc2UsIG5tZW1iLCBzaXplLCBjb21wYXIsIHVzZXJkYXRhKTsKLS19CistICAgICAgICAgICAgICAgIHR5cGVzYWZlX3Fzb3J0X3Ioc29ydGVkLCBuX3Jvd3MsIHRhYmxlX2RhdGFfY29tcGFyZSwgdCk7CisrICAgICAgICAgICAgICAgIGlmIChuX3Jvd3MgPD0gMSkKKysgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKKysgICAgICAgICAgICAgICAgYXNzZXJ0KHNvcnRlZCk7CisrICAgICAgICAgICAgICAgIHVzZXJfdGFibGUgPSB0OworKyAgICAgICAgICAgICAgICBxc29ydChzb3J0ZWQsIG5fcm93cywgc2l6ZW9mKHNpemVfdCksIHRhYmxlX2RhdGFfY29tcGFyZSk7CisrICAgICAgICAgICAgICAgIHVzZXJfdGFibGUgPSBOVUxMOworICAgICAgICAgfQogIAotIC8qKgotICAqIE5vcm1hbCBtZW1jcHkgcmVxdWlyZXMgc3JjIHRvIGJlIG5vbm51bGwuIFdlIGRvIG5vdGhpbmcgaWYgbiBpcyAwLgotZGlmZiAtLWdpdCBhL3NyYy9od2RiL2h3ZGIuYyBiL3NyYy9od2RiL2h3ZGIuYwotaW5kZXggMzE3Y2FkOGE2Ny4uNzAxZDU5YTFlYiAxMDA2NDQKLS0tLSBhL3NyYy9od2RiL2h3ZGIuYwotKysrIGIvc3JjL2h3ZGIvaHdkYi5jCi1AQCAtMTM1LDEzICsxMzUsMTIgQEAgc3RhdGljIHZvaWQgdHJpZV9mcmVlKHN0cnVjdCB0cmllICp0cmllKSB7Ci0gCi0gREVGSU5FX1RSSVZJQUxfQ0xFQU5VUF9GVU5DKHN0cnVjdCB0cmllKiwgdHJpZV9mcmVlKTsKLSAKLS1zdGF0aWMgaW50IHRyaWVfdmFsdWVzX2NtcChjb25zdCB2b2lkICp2MSwgY29uc3Qgdm9pZCAqdjIsIHZvaWQgKmFyZykgewotK3N0YXRpYyBzdHJ1Y3QgdHJpZSAqdHJpZV9ub2RlX2FkZF92YWx1ZV90cmllOwotK3N0YXRpYyBpbnQgdHJpZV92YWx1ZXNfY21wKGNvbnN0IHZvaWQgKnYxLCBjb25zdCB2b2lkICp2MikgewotICAgICAgICAgY29uc3Qgc3RydWN0IHRyaWVfdmFsdWVfZW50cnkgKnZhbDEgPSB2MTsKLSAgICAgICAgIGNvbnN0IHN0cnVjdCB0cmllX3ZhbHVlX2VudHJ5ICp2YWwyID0gdjI7Ci0tICAgICAgICBzdHJ1Y3QgdHJpZSAqdHJpZSA9IGFyZzsKLS0KLS0gICAgICAgIHJldHVybiBzdHJjbXAodHJpZS0+c3RyaW5ncy0+YnVmICsgdmFsMS0+a2V5X29mZiwKLS0gICAgICAgICAgICAgICAgICAgICAgdHJpZS0+c3RyaW5ncy0+YnVmICsgdmFsMi0+a2V5X29mZik7Ci0rICAgICAgICByZXR1cm4gc3RyY21wKHRyaWVfbm9kZV9hZGRfdmFsdWVfdHJpZS0+c3RyaW5ncy0+YnVmICsgdmFsMS0+a2V5X29mZiwKLSsgICAgICAgICAgICAgICAgICAgICAgdHJpZV9ub2RlX2FkZF92YWx1ZV90cmllLT5zdHJpbmdzLT5idWYgKyB2YWwyLT5rZXlfb2ZmKTsKLSB9Ci0gCi0gc3RhdGljIGludCB0cmllX25vZGVfYWRkX3ZhbHVlKHN0cnVjdCB0cmllICp0cmllLCBzdHJ1Y3QgdHJpZV9ub2RlICpub2RlLAotQEAgLTE2Niw3ICsxNjUsMTAgQEAgc3RhdGljIGludCB0cmllX25vZGVfYWRkX3ZhbHVlKHN0cnVjdCB0cmllICp0cmllLCBzdHJ1Y3QgdHJpZV9ub2RlICpub2RlLAotICAgICAgICAgICAgICAgICAgICAgICAgIC52YWx1ZV9vZmYgPSB2LAotICAgICAgICAgICAgICAgICB9OwotIAotLSAgICAgICAgICAgICAgICB2YWwgPSB4YnNlYXJjaF9yKCZzZWFyY2gsIG5vZGUtPnZhbHVlcywgbm9kZS0+dmFsdWVzX2NvdW50LCBzaXplb2Yoc3RydWN0IHRyaWVfdmFsdWVfZW50cnkpLCB0cmllX3ZhbHVlc19jbXAsIHRyaWUpOwotKyAgICAgICAgICAgICAgICB0cmllX25vZGVfYWRkX3ZhbHVlX3RyaWUgPSB0cmllOwotKyAgICAgICAgICAgICAgICB2YWwgPSBic2VhcmNoKCZzZWFyY2gsIG5vZGUtPnZhbHVlcywgbm9kZS0+dmFsdWVzX2NvdW50LCBzaXplb2Yoc3RydWN0IHRyaWVfdmFsdWVfZW50cnkpLCB0cmllX3ZhbHVlc19jbXApOwotKyAgICAgICAgICAgICAgICB0cmllX25vZGVfYWRkX3ZhbHVlX3RyaWUgPSBOVUxMOwotKwotICAgICAgICAgICAgICAgICBpZiAodmFsKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgLyogQXQgdGhpcyBwb2ludCB3ZSBoYXZlIDIgaWRlbnRpY2FsIHByb3BlcnRpZXMgb24gdGhlIHNhbWUgbWF0Y2gtc3RyaW5nLgotICAgICAgICAgICAgICAgICAgICAgICAgICAqIFNpbmNlIHdlIHByb2Nlc3MgZmlsZXMgaW4gb3JkZXIsIHdlIGp1c3QgcmVwbGFjZSB0aGUgcHJldmlvdXMgdmFsdWUuCi1AQCAtMTkxLDcgKzE5Myw5IEBAIHN0YXRpYyBpbnQgdHJpZV9ub2RlX2FkZF92YWx1ZShzdHJ1Y3QgdHJpZSAqdHJpZSwgc3RydWN0IHRyaWVfbm9kZSAqbm9kZSwKLSAgICAgICAgIG5vZGUtPnZhbHVlc1tub2RlLT52YWx1ZXNfY291bnRdLmZpbGVfcHJpb3JpdHkgPSBmaWxlX3ByaW9yaXR5OwotICAgICAgICAgbm9kZS0+dmFsdWVzW25vZGUtPnZhbHVlc19jb3VudF0ubGluZV9udW1iZXIgPSBsaW5lX251bWJlcjsKLSAgICAgICAgIG5vZGUtPnZhbHVlc19jb3VudCsrOwotLSAgICAgICAgcXNvcnRfcihub2RlLT52YWx1ZXMsIG5vZGUtPnZhbHVlc19jb3VudCwgc2l6ZW9mKHN0cnVjdCB0cmllX3ZhbHVlX2VudHJ5KSwgdHJpZV92YWx1ZXNfY21wLCB0cmllKTsKLSsgICAgICAgIHRyaWVfbm9kZV9hZGRfdmFsdWVfdHJpZSA9IHRyaWU7Ci0rICAgICAgICBxc29ydChub2RlLT52YWx1ZXMsIG5vZGUtPnZhbHVlc19jb3VudCwgc2l6ZW9mKHN0cnVjdCB0cmllX3ZhbHVlX2VudHJ5KSwgdHJpZV92YWx1ZXNfY21wKTsKLSsgICAgICAgIHRyaWVfbm9kZV9hZGRfdmFsdWVfdHJpZSA9IE5VTEw7Ci0gICAgICAgICByZXR1cm4gMDsKLSB9Ci0gCi1kaWZmIC0tZ2l0IGEvc3JjL3VkZXYvdWRldmFkbS1od2RiLmMgYi9zcmMvdWRldi91ZGV2YWRtLWh3ZGIuYwotaW5kZXggMDI0MDhhNDI4NS4uNDkxZDM2N2QxMiAxMDA2NDQKLS0tLSBhL3NyYy91ZGV2L3VkZXZhZG0taHdkYi5jCi0rKysgYi9zcmMvdWRldi91ZGV2YWRtLWh3ZGIuYwotQEAgLTExNCwxMyArMTE0LDEzIEBAIHN0YXRpYyB2b2lkIHRyaWVfbm9kZV9jbGVhbnVwKHN0cnVjdCB0cmllX25vZGUgKm5vZGUpIHsKLSAgICAgICAgIGZyZWUobm9kZSk7Ci0gfQotIAotLXN0YXRpYyBpbnQgdHJpZV92YWx1ZXNfY21wKGNvbnN0IHZvaWQgKnYxLCBjb25zdCB2b2lkICp2Miwgdm9pZCAqYXJnKSB7Ci0rc3RhdGljIHN0cnVjdCB0cmllICp0cmllX25vZGVfYWRkX3ZhbHVlX3RyaWU7Ci0rc3RhdGljIGludCB0cmllX3ZhbHVlc19jbXAoY29uc3Qgdm9pZCAqdjEsIGNvbnN0IHZvaWQgKnYyKSB7Ci0gICAgICAgICBjb25zdCBzdHJ1Y3QgdHJpZV92YWx1ZV9lbnRyeSAqdmFsMSA9IHYxOwotICAgICAgICAgY29uc3Qgc3RydWN0IHRyaWVfdmFsdWVfZW50cnkgKnZhbDIgPSB2MjsKLS0gICAgICAgIHN0cnVjdCB0cmllICp0cmllID0gYXJnOwotIAotLSAgICAgICAgcmV0dXJuIHN0cmNtcCh0cmllLT5zdHJpbmdzLT5idWYgKyB2YWwxLT5rZXlfb2ZmLAotLSAgICAgICAgICAgICAgICAgICAgICB0cmllLT5zdHJpbmdzLT5idWYgKyB2YWwyLT5rZXlfb2ZmKTsKLSsgICAgICAgIHJldHVybiBzdHJjbXAodHJpZV9ub2RlX2FkZF92YWx1ZV90cmllLT5zdHJpbmdzLT5idWYgKyB2YWwxLT5rZXlfb2ZmLAotKyAgICAgICAgICAgICAgICAgICAgICB0cmllX25vZGVfYWRkX3ZhbHVlX3RyaWUtPnN0cmluZ3MtPmJ1ZiArIHZhbDItPmtleV9vZmYpOwotIH0KLSAKLSBzdGF0aWMgaW50IHRyaWVfbm9kZV9hZGRfdmFsdWUoc3RydWN0IHRyaWUgKnRyaWUsIHN0cnVjdCB0cmllX25vZGUgKm5vZGUsCi1AQCAtMTQxLDcgKzE0MSw5IEBAIHN0YXRpYyBpbnQgdHJpZV9ub2RlX2FkZF92YWx1ZShzdHJ1Y3QgdHJpZSAqdHJpZSwgc3RydWN0IHRyaWVfbm9kZSAqbm9kZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAudmFsdWVfb2ZmID0gdiwKLSAgICAgICAgICAgICAgICAgfTsKLSAKLS0gICAgICAgICAgICAgICAgdmFsID0geGJzZWFyY2hfcigmc2VhcmNoLCBub2RlLT52YWx1ZXMsIG5vZGUtPnZhbHVlc19jb3VudCwgc2l6ZW9mKHN0cnVjdCB0cmllX3ZhbHVlX2VudHJ5KSwgdHJpZV92YWx1ZXNfY21wLCB0cmllKTsKLSsgICAgICAgICAgICAgICAgdHJpZV9ub2RlX2FkZF92YWx1ZV90cmllID0gdHJpZTsKLSsgICAgICAgICAgICAgICAgdmFsID0gYnNlYXJjaCgmc2VhcmNoLCBub2RlLT52YWx1ZXMsIG5vZGUtPnZhbHVlc19jb3VudCwgc2l6ZW9mKHN0cnVjdCB0cmllX3ZhbHVlX2VudHJ5KSwgdHJpZV92YWx1ZXNfY21wKTsKLSsgICAgICAgICAgICAgICAgdHJpZV9ub2RlX2FkZF92YWx1ZV90cmllID0gTlVMTDsKLSAgICAgICAgICAgICAgICAgaWYgKHZhbCkgewotICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHJlcGxhY2UgZXhpc3RpbmcgZWFybGllciBrZXkgd2l0aCBuZXcgdmFsdWUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICB2YWwtPnZhbHVlX29mZiA9IHY7Ci1AQCAtMTU4LDcgKzE2MCw5IEBAIHN0YXRpYyBpbnQgdHJpZV9ub2RlX2FkZF92YWx1ZShzdHJ1Y3QgdHJpZSAqdHJpZSwgc3RydWN0IHRyaWVfbm9kZSAqbm9kZSwKLSAgICAgICAgIG5vZGUtPnZhbHVlc1tub2RlLT52YWx1ZXNfY291bnRdLmtleV9vZmYgPSBrOwotICAgICAgICAgbm9kZS0+dmFsdWVzW25vZGUtPnZhbHVlc19jb3VudF0udmFsdWVfb2ZmID0gdjsKLSAgICAgICAgIG5vZGUtPnZhbHVlc19jb3VudCsrOwotLSAgICAgICAgcXNvcnRfcihub2RlLT52YWx1ZXMsIG5vZGUtPnZhbHVlc19jb3VudCwgc2l6ZW9mKHN0cnVjdCB0cmllX3ZhbHVlX2VudHJ5KSwgdHJpZV92YWx1ZXNfY21wLCB0cmllKTsKLSsgICAgICAgIHRyaWVfbm9kZV9hZGRfdmFsdWVfdHJpZSA9IHRyaWU7Ci0rICAgICAgICBxc29ydChub2RlLT52YWx1ZXMsIG5vZGUtPnZhbHVlc19jb3VudCwgc2l6ZW9mKHN0cnVjdCB0cmllX3ZhbHVlX2VudHJ5KSwgdHJpZV92YWx1ZXNfY21wKTsKLSsgICAgICAgIHRyaWVfbm9kZV9hZGRfdmFsdWVfdHJpZSA9IE5VTEw7Ci0gICAgICAgICByZXR1cm4gMDsKLSB9Ci0gCisgICAgICAgICBpZiAodC0+ZGlzcGxheV9tYXApCiAtLSAKLTIuMTguMAorMi43LjQKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMi11c2UtbG5yLXdyYXBwZXItaW5zdGVhZC1vZi1sb29raW5nLWZvci1yZWxhdGl2ZS1vcHRpLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMi11c2UtbG5yLXdyYXBwZXItaW5zdGVhZC1vZi1sb29raW5nLWZvci1yZWxhdGl2ZS1vcHRpLnBhdGNoCmluZGV4IDFkN2Y1MjMuLmRmNTUwNmMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDItdXNlLWxuci13cmFwcGVyLWluc3RlYWQtb2YtbG9va2luZy1mb3ItcmVsYXRpdmUtb3B0aS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAyLXVzZS1sbnItd3JhcHBlci1pbnN0ZWFkLW9mLWxvb2tpbmctZm9yLXJlbGF0aXZlLW9wdGkucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDZlNjJiZTg3YTI3MjJmYmU1MzEzMTBhMWIwNTJjMTMwMWJkZjA2ZmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGJkYmFmZTE4YzNiZjk5YjNiNjkxY2Q1MmI5Y2NmZjYwZjMxMzg5MmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CiBEYXRlOiBXZWQsIDI3IEp1biAyMDE4IDE2OjA5OjI0ICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggMi85XSB1c2UgbG5yIHdyYXBwZXIgaW5zdGVhZCBvZiBsb29raW5nIGZvciAtLXJlbGF0aXZlIG9wdGlvbgorU3ViamVjdDogW1BBVENIIDIvNV0gdXNlIGxuciB3cmFwcGVyIGluc3RlYWQgb2YgbG9va2luZyBmb3IgLS1yZWxhdGl2ZSBvcHRpb24KICBmb3IgbG4KIAogUmVtb3ZlIGZpbGUgbWFudWFsbHkgdG8gYXZvaWQgdGhlICdGaWxlIEV4aXN0cycgZXJyb3Igd2hlbiBjcmVhdGluZwpAQCAtMTgsMTAgKzE4LDEwIEBACiAgMyBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCi1pbmRleCAwNDMzMWRkNDEuLjZkNWVkY2I0ZSAxMDA2NDQKK2luZGV4IDU2Yzk4YjkuLjMzODY1NDYgMTAwNjQ0CiAtLS0gYS9tZXNvbi5idWlsZAogKysrIGIvbWVzb24uYnVpbGQKLUBAIC01NTgsMTAgKzU1OCw2IEBAIGVuZGZvcmVhY2gKK0BAIC02MzAsMTAgKzYzMCw2IEBAIGVuZGZvcmVhY2gKICAKICBjb25mLnNldF9xdW90ZWQoJ1RFTElOSVQnLCBnZXRfb3B0aW9uKCd0ZWxpbml0LXBhdGgnKSkKICAKQEAgLTMzLDcgKzMzLDcgQEAKICAKICBncGVyZiA9IGZpbmRfcHJvZ3JhbSgnZ3BlcmYnKQogZGlmZiAtLWdpdCBhL3Rvb2xzL21lc29uLW1ha2Utc3ltbGluay5zaCBiL3Rvb2xzL21lc29uLW1ha2Utc3ltbGluay5zaAotaW5kZXggNTAxY2Q0M2Q0Li5mNGU0YWM5YWMgMTAwNzU1CitpbmRleCA1MDFjZDQzLi5mNGU0YWM5IDEwMDc1NQogLS0tIGEvdG9vbHMvbWVzb24tbWFrZS1zeW1saW5rLnNoCiArKysgYi90b29scy9tZXNvbi1tYWtlLXN5bWxpbmsuc2gKIEBAIC04LDUgKzgsNiBAQCBta2RpciAtdnAgIiQoZGlybmFtZSAiJHtERVNURElSOi19JDIiKSIKQEAgLTQ1LDcgKzQ1LDcgQEAKICsgICAgICAgIGxuciAiJHtERVNURElSOi19JDEiICIke0RFU1RESVI6LX0kMiIKICBmaQogZGlmZiAtLWdpdCBhL3VuaXRzL21lc29uLWFkZC13YW50cy5zaCBiL3VuaXRzL21lc29uLWFkZC13YW50cy5zaAotaW5kZXggNzBmNzE3MmFlLi5hNDI2NjZhYWMgMTAwNzU1CitpbmRleCBlMmIyNjAzLi4yMTBkNjA0IDEwMDc1NQogLS0tIGEvdW5pdHMvbWVzb24tYWRkLXdhbnRzLnNoCiArKysgYi91bml0cy9tZXNvbi1hZGQtd2FudHMuc2gKIEBAIC0yNSw0ICsyNSw5IEBAIGNhc2UgIiR0YXJnZXQiIGluCkBAIC02MCw1ICs2MCw1IEBACiArICAgICAgICBsbnIgIiR1bml0cGF0aCIgIiRkaXIiCiArZmkKIC0tIAotMi4xMS4wCisyLjcuNAogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAzLWNvbXBhcmlzb25fZm5fdC1pcy1nbGliYy1zcGVjaWZpYy11c2UtcmF3LXNpZ25hdHVyZS0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAzLWNvbXBhcmlzb25fZm5fdC1pcy1nbGliYy1zcGVjaWZpYy11c2UtcmF3LXNpZ25hdHVyZS0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDExNWZiMzMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMy1jb21wYXJpc29uX2ZuX3QtaXMtZ2xpYmMtc3BlY2lmaWMtdXNlLXJhdy1zaWduYXR1cmUtLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotRnJvbSBlOTY1ZTc0OGM3MDMwZGYwNzA5ZTYzMTI4ZGIyZjAyMzU0MGEwNmJhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFNhdCwgMTIgU2VwIDIwMTUgMTg6NTM6MzEgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAwMy8xOV0gY29tcGFyaXNvbl9mbl90IGlzIGdsaWJjIHNwZWNpZmljLCB1c2UgcmF3IHNpZ25hdHVyZSBpbgotIGZ1bmN0aW9uIHBvaW50ZXIKLQotbWFrZSBpdCB3b3JrIHdpdGggbXVzbCB3aGVyZSBjb21wYXJpc29uX2ZuX3QgaXMgbm90IHByb3ZpZGVkCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIHNyYy9iYXNpYy91dGlsLmggfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL3V0aWwuaCBiL3NyYy9iYXNpYy91dGlsLmgKLWluZGV4IDQwZWFmNTE4Yy4uYzU4MzkyMzk3IDEwMDY0NAotLS0tIGEvc3JjL2Jhc2ljL3V0aWwuaAotKysrIGIvc3JjL2Jhc2ljL3V0aWwuaAotQEAgLTc3LDcgKzc3LDcgQEAgdm9pZCAqeGJzZWFyY2hfcihjb25zdCB2b2lkICprZXksIGNvbnN0IHZvaWQgKmJhc2UsIHNpemVfdCBubWVtYiwgc2l6ZV90IHNpemUsCi0gICogdGhhdCBvbmx5IGlmIG5tZW1iID4gMC4KLSAgKi8KLSBzdGF0aWMgaW5saW5lIHZvaWQqIGJzZWFyY2hfc2FmZShjb25zdCB2b2lkICprZXksIGNvbnN0IHZvaWQgKmJhc2UsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IG5tZW1iLCBzaXplX3Qgc2l6ZSwgY29tcGFyaXNvbl9mbl90IGNvbXBhcikgewotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBubWVtYiwgc2l6ZV90IHNpemUsIGludCAoKmNvbXBhcikoY29uc3Qgdm9pZCAqLCBjb25zdCB2b2lkICopKSB7Ci0gICAgICAgICBpZiAobm1lbWIgPD0gMCkKLSAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gCi1AQCAtODksNyArODksNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQqIGJzZWFyY2hfc2FmZShjb25zdCB2b2lkICprZXksIGNvbnN0IHZvaWQgKmJhc2UsCi0gICogTm9ybWFsIHFzb3J0IHJlcXVpcmVzIGJhc2UgdG8gYmUgbm9ubnVsbC4gSGVyZSB3ZXJlIHJlcXVpcmUKLSAgKiB0aGF0IG9ubHkgaWYgbm1lbWIgPiAwLgotICAqLwotLXN0YXRpYyBpbmxpbmUgdm9pZCBxc29ydF9zYWZlKHZvaWQgKmJhc2UsIHNpemVfdCBubWVtYiwgc2l6ZV90IHNpemUsIGNvbXBhcmlzb25fZm5fdCBjb21wYXIpIHsKLStzdGF0aWMgaW5saW5lIHZvaWQgcXNvcnRfc2FmZSh2b2lkICpiYXNlLCBzaXplX3Qgbm1lbWIsIHNpemVfdCBzaXplLCBpbnQgKCpjb21wYXIpKGNvbnN0IHZvaWQgKiwgY29uc3Qgdm9pZCAqKSkgewotICAgICAgICAgaWYgKG5tZW1iIDw9IDEpCi0gICAgICAgICAgICAgICAgIHJldHVybjsKLSAKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDMtaW1wbG1lbnQtc3lzdGVtZC1zeXN2LWluc3RhbGwtZm9yLU9FLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMy1pbXBsbWVudC1zeXN0ZW1kLXN5c3YtaW5zdGFsbC1mb3ItT0UucGF0Y2gKaW5kZXggNmM1OTVhZS4uNjY5NWQ1NiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMy1pbXBsbWVudC1zeXN0ZW1kLXN5c3YtaW5zdGFsbC1mb3ItT0UucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMy1pbXBsbWVudC1zeXN0ZW1kLXN5c3YtaW5zdGFsbC1mb3ItT0UucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDBmY2I2ZTY0NjQwMTIwNWUxN2NjNmMxMjk0NDFhNDkwMjNjNjJjZWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDQ3ODY0OTg5Mzg4YmNkMDRkNjQ3ZWNmNjE4YWQ3ZTI2MDM5OWRiYjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogU2F0LCA1IFNlcCAyMDE1IDA2OjMxOjQ3ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMy85XSBpbXBsbWVudCBzeXN0ZW1kLXN5c3YtaW5zdGFsbCBmb3IgT0UKK1N1YmplY3Q6IFtQQVRDSCAzLzVdIGltcGxtZW50IHN5c3RlbWQtc3lzdi1pbnN0YWxsIGZvciBPRQogCiBVc2UgdXBkYXRlLXJjLmQgZm9yIGVuYWJsaW5nL2Rpc2FibGluZyBhbmQgc3RhdHVzIGNvbW1hbmQKIHRvIGNoZWNrIHRoZSBzdGF0dXMgb2YgdGhlIHN5c3Ygc2VydmljZQpAQCAtMTQsNyArMTQsNyBAQAogIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9zcmMvc3lzdGVtY3RsL3N5c3RlbWQtc3lzdi1pbnN0YWxsLlNLRUxFVE9OIGIvc3JjL3N5c3RlbWN0bC9zeXN0ZW1kLXN5c3YtaW5zdGFsbC5TS0VMRVRPTgotaW5kZXggOGMxNmNmOTk5Li45ZjA3OGExMjEgMTAwNzU1CitpbmRleCA4YzE2Y2Y5Li45ZjA3OGExIDEwMDc1NQogLS0tIGEvc3JjL3N5c3RlbWN0bC9zeXN0ZW1kLXN5c3YtaW5zdGFsbC5TS0VMRVRPTgogKysrIGIvc3JjL3N5c3RlbWN0bC9zeXN0ZW1kLXN5c3YtaW5zdGFsbC5TS0VMRVRPTgogQEAgLTMyLDE3ICszMiwxNyBAQCBjYXNlICIkMSIgaW4KQEAgLTM5LDUgKzM5LDUgQEAKICAgICAgKikKICAgICAgICAgIHVzYWdlIDs7CiAtLSAKLTIuMTEuMAorMi43LjQKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMy1taXNzaW5nX3R5cGUuaC1hZGQtX19jb21wYXJlX2ZuX3QtYW5kLWNvbXBhcmlzb25fZm5fLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMy1taXNzaW5nX3R5cGUuaC1hZGQtX19jb21wYXJlX2ZuX3QtYW5kLWNvbXBhcmlzb25fZm5fLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyNDZiNGIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAzLW1pc3NpbmdfdHlwZS5oLWFkZC1fX2NvbXBhcmVfZm5fdC1hbmQtY29tcGFyaXNvbl9mbl8ucGF0Y2gKQEAgLTAsMCArMSw2MSBAQAorRnJvbSBhOTQyMWQ1NTEwMmZjODRmNzdmN2MyMWEyNDc5ZmNkMDA2NTJiODk2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyNSBGZWIgMjAxOSAxMzo1NToxMiArMDgwMAorU3ViamVjdDogW1BBVENIIDAzLzI0XSBtaXNzaW5nX3R5cGUuaDogYWRkIF9fY29tcGFyZV9mbl90IGFuZCBjb21wYXJpc29uX2ZuX3QKKworTWFrZSBpdCB3b3JrIHdpdGggbXVzbCB3aGVyZSBjb21wYXJpc29uX2ZuX3QgYW5kIF9fY29tcGFyZV9mbl90CitpcyBub3QgcHJvdmlkZWQuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2Jhc2ljL21pc3NpbmdfdHlwZS5oIHwgOSArKysrKysrKysKKyBzcmMvYmFzaWMvdXRpbC5oICAgICAgICAgfCAxICsKKyBzcmMvam91cm5hbC9jYXRhbG9nLmMgICAgfCAxICsKKyAzIGZpbGVzIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9taXNzaW5nX3R5cGUuaCBiL3NyYy9iYXNpYy9taXNzaW5nX3R5cGUuaAoraW5kZXggYmY4YTZjYS4uYzQ4N2U2NSAxMDA2NDQKKy0tLSBhL3NyYy9iYXNpYy9taXNzaW5nX3R5cGUuaAorKysrIGIvc3JjL2Jhc2ljL21pc3NpbmdfdHlwZS5oCitAQCAtMTAsMyArMTAsMTIgQEAKKyAjaWYgIUhBVkVfQ0hBUjE2X1QKKyAjZGVmaW5lIGNoYXIxNl90IHVpbnQxNl90CisgI2VuZGlmCisrCisrI2lmbmRlZiBfX0dMSUJDX18KKyt0eXBlZGVmIGludCAoKmNvbXBhcmlzb25fZm5fdCkoY29uc3Qgdm9pZCAqLCBjb25zdCB2b2lkICopOworKyNlbmRpZgorKworKyNpZm5kZWYgX19DT01QQVJfRk5fVAorKyNkZWZpbmUgX19DT01QQVJfRk5fVAorK3R5cGVkZWYgaW50ICgqX19jb21wYXJfZm5fdCkoY29uc3Qgdm9pZCAqLCBjb25zdCB2b2lkICopOworKyNlbmRpZgorZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy91dGlsLmggYi9zcmMvYmFzaWMvdXRpbC5oCitpbmRleCA5ZjZhNmNlLi4yYzVkYzMyIDEwMDY0NAorLS0tIGEvc3JjL2Jhc2ljL3V0aWwuaAorKysrIGIvc3JjL2Jhc2ljL3V0aWwuaAorQEAgLTI2LDYgKzI2LDcgQEAKKyAjaW5jbHVkZSAiZm9ybWF0LXV0aWwuaCIKKyAjaW5jbHVkZSAibWFjcm8uaCIKKyAjaW5jbHVkZSAidGltZS11dGlsLmgiCisrI2luY2x1ZGUgIm1pc3NpbmcuaCIKKyAKKyBzaXplX3QgcGFnZV9zaXplKHZvaWQpIF9wdXJlXzsKKyAjZGVmaW5lIFBBR0VfQUxJR04obCkgQUxJR05fVE8oKGwpLCBwYWdlX3NpemUoKSkKK2RpZmYgLS1naXQgYS9zcmMvam91cm5hbC9jYXRhbG9nLmMgYi9zcmMvam91cm5hbC9jYXRhbG9nLmMKK2luZGV4IDQwNjJmMTIuLjAzNGUwMGMgMTAwNjQ0CistLS0gYS9zcmMvam91cm5hbC9jYXRhbG9nLmMKKysrKyBiL3NyYy9qb3VybmFsL2NhdGFsb2cuYworQEAgLTI2LDYgKzI2LDcgQEAKKyAjaW5jbHVkZSAic3Rydi5oIgorICNpbmNsdWRlICJ0bXBmaWxlLXV0aWwuaCIKKyAjaW5jbHVkZSAidXRpbC5oIgorKyNpbmNsdWRlICJtaXNzaW5nLmgiCisgCisgY29uc3QgY2hhciAqIGNvbnN0IGNhdGFsb2dfZmlsZV9kaXJzW10gPSB7CisgICAgICAgICAiL3Vzci9sb2NhbC9saWIvc3lzdGVtZC9jYXRhbG9nLyIsCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDQtYWRkLWZhbGxiYWNrLXBhcnNlX3ByaW50Zl9mb3JtYXQtaW1wbGVtZW50YXRpb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA0LWFkZC1mYWxsYmFjay1wYXJzZV9wcmludGZfZm9ybWF0LWltcGxlbWVudGF0aW9uLnBhdGNoCmluZGV4IDc2NTJhMmQuLmJiNzM4ZTIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDQtYWRkLWZhbGxiYWNrLXBhcnNlX3ByaW50Zl9mb3JtYXQtaW1wbGVtZW50YXRpb24ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNC1hZGQtZmFsbGJhY2stcGFyc2VfcHJpbnRmX2Zvcm1hdC1pbXBsZW1lbnRhdGlvbi5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gNTgyYWY3ZWMxMzEzMWRmY2M2MjBlZDgxZGU3YjIxMTkxNGM0Y2IwMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gN2JjZjNiMTY2Njk0MDkwNDk3YTBhY2QyYzUyOTllNGUwNGZjYzliNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLURhdGU6IEZyaSwgMjkgSnVuIDIwMTggMTM6NDM6NDkgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCAwNC8xOV0gYWRkIGZhbGxiYWNrIHBhcnNlX3ByaW50Zl9mb3JtYXQgaW1wbGVtZW50YXRpb24KK0RhdGU6IE1vbiwgMjUgRmViIDIwMTkgMTQ6MDQ6MjEgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAwNC8yNF0gYWRkIGZhbGxiYWNrIHBhcnNlX3ByaW50Zl9mb3JtYXQgaW1wbGVtZW50YXRpb24KIAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQogCkBAIC0yMCwyNSArMjAsMjUgQEAKICBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2Jhc2ljL3BhcnNlLXByaW50Zi1mb3JtYXQuaAogCiBkaWZmIC0tZ2l0IGEvbWVzb24uYnVpbGQgYi9tZXNvbi5idWlsZAotaW5kZXggZTA0NWI5MjI0Li44YzE2YmM5NzkgMTAwNjQ0CitpbmRleCAzMzg2NTQ2Li40NGIyNGVlIDEwMDY0NAogLS0tIGEvbWVzb24uYnVpbGQKICsrKyBiL21lc29uLmJ1aWxkCi1AQCAtNTk4LDYgKzU5OCw3IEBAIGZvcmVhY2ggaGVhZGVyIDogWydjcnlwdC5oJywKLSAgICAgICAgICAgICAgICAgICAnbGludXgvYnRyZnMuaCcsCitAQCAtNjY3LDYgKzY2Nyw3IEBAIGZvcmVhY2ggaGVhZGVyIDogWydjcnlwdC5oJywKICAgICAgICAgICAgICAgICAgICAnbGludXgvbWVtZmQuaCcsCiAgICAgICAgICAgICAgICAgICAgJ2xpbnV4L3ZtX3NvY2tldHMuaCcsCisgICAgICAgICAgICAgICAgICAgJ2xpbnV4L2Nhbi92eGNhbi5oJywKICsgICAgICAgICAgICAgICAgICAncHJpbnRmLmgnLAogICAgICAgICAgICAgICAgICAgICdzeXMvYXV4di5oJywKICAgICAgICAgICAgICAgICAgICAndmFsZ3JpbmQvbWVtY2hlY2suaCcsCiAgICAgICAgICAgICAgICAgICAgJ3ZhbGdyaW5kL3ZhbGdyaW5kLmgnLAogZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9tZXNvbi5idWlsZCBiL3NyYy9iYXNpYy9tZXNvbi5idWlsZAotaW5kZXggMzE2MjViMTc4Li4wYzI3NTI4ZTcgMTAwNjQ0CitpbmRleCBlNTg1MmYzLi4yMTkyYTBjIDEwMDY0NAogLS0tIGEvc3JjL2Jhc2ljL21lc29uLmJ1aWxkCiArKysgYi9zcmMvYmFzaWMvbWVzb24uYnVpbGQKLUBAIC0zMDIsNiArMzAyLDExIEBAIGZvcmVhY2ggaXRlbSA6IFtbJ2FmJywgICAgIGFmX2xpc3RfdHh0LCAgICAgJ2FmJywgICAgICAgICAnJ10sCitAQCAtMjg0LDYgKzI4NCwxMSBAQCBmb3JlYWNoIGl0ZW0gOiBbWydhZicsICAgICBhZl9saXN0X3R4dCwgICAgICdhZicsICAgICAgICAgJyddLAogIGVuZGZvcmVhY2gKICAKLSBiYXNpY19zb3VyY2VzICs9IFttaXNzaW5nX2hdICsgZ2VuZXJhdGVkX2dwZXJmX2hlYWRlcnMKKyBiYXNpY19zb3VyY2VzICs9IGdlbmVyYXRlZF9ncGVyZl9oZWFkZXJzCiArCiAraWYgY29uZi5nZXQoJ0hBVkVfUFJJTlRGX0gnKSAhPSAxCiArICAgICAgICBiYXNpY19zb3VyY2VzICs9IFtmaWxlcygncGFyc2UtcHJpbnRmLWZvcm1hdC5jJyldCkBAIC00OSw3ICs0OSw3IEBACiAgICAgICAgICAnZ2NyeXB0LXV0aWwuaCcpCiBkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL3BhcnNlLXByaW50Zi1mb3JtYXQuYyBiL3NyYy9iYXNpYy9wYXJzZS1wcmludGYtZm9ybWF0LmMKIG5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAuLjQ5NDM3ZTU0NAoraW5kZXggMDAwMDAwMC4uNDk0MzdlNQogLS0tIC9kZXYvbnVsbAogKysrIGIvc3JjL2Jhc2ljL3BhcnNlLXByaW50Zi1mb3JtYXQuYwogQEAgLTAsMCArMSwyNzMgQEAKQEAgLTMyOCw3ICszMjgsNyBAQAogK30KIGRpZmYgLS1naXQgYS9zcmMvYmFzaWMvcGFyc2UtcHJpbnRmLWZvcm1hdC5oIGIvc3JjL2Jhc2ljL3BhcnNlLXByaW50Zi1mb3JtYXQuaAogbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMC4uNDdiZTc1MjJkCitpbmRleCAwMDAwMDAwLi40N2JlNzUyCiAtLS0gL2Rldi9udWxsCiArKysgYi9zcmMvYmFzaWMvcGFyc2UtcHJpbnRmLWZvcm1hdC5oCiBAQCAtMCwwICsxLDU3IEBACkBAIC0zOTAsMTAgKzM5MCwxMCBAQAogKwogKyNlbmRpZiAvKiBIQVZFX1BSSU5URl9IICovCiBkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL3N0ZGlvLXV0aWwuaCBiL3NyYy9iYXNpYy9zdGRpby11dGlsLmgKLWluZGV4IDczYzAzMjc0Yy4uMzAxOTJjZDcxIDEwMDY0NAoraW5kZXggZGM2N2I2ZS4uY2Y4ZDUxNCAxMDA2NDQKIC0tLSBhL3NyYy9iYXNpYy9zdGRpby11dGlsLmgKICsrKyBiL3NyYy9iYXNpYy9zdGRpby11dGlsLmgKLUBAIC0xLDEyICsxLDEyIEBACitAQCAtMSwxMyArMSwxMyBAQAogIC8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBMR1BMLTIuMSsgKi8KICAjcHJhZ21hIG9uY2UKICAKQEAgLTQwMywxMiArNDAzLDEzIEBACiAgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgogIAogICNpbmNsdWRlICJtYWNyby5oIgorICNpbmNsdWRlICJ1dGlsLmgiCiArI2luY2x1ZGUgInBhcnNlLXByaW50Zi1mb3JtYXQuaCIKICAKICAjZGVmaW5lIHNucHJpbnRmX29rKGJ1ZiwgbGVuLCBmbXQsIC4uLikgXAogICAgICAgICAgKChzaXplX3QpIHNucHJpbnRmKGJ1ZiwgbGVuLCBmbXQsIF9fVkFfQVJHU19fKSA8IChsZW4pKQogZGlmZiAtLWdpdCBhL3NyYy9qb3VybmFsL2pvdXJuYWwtc2VuZC5jIGIvc3JjL2pvdXJuYWwvam91cm5hbC1zZW5kLmMKLWluZGV4IGEwNjIxNTI0YS4uNjViY2JjZDJlIDEwMDY0NAoraW5kZXggODYxODQ1NC4uM2ZlYTkxMiAxMDA2NDQKIC0tLSBhL3NyYy9qb3VybmFsL2pvdXJuYWwtc2VuZC5jCiArKysgYi9zcmMvam91cm5hbC9qb3VybmFsLXNlbmQuYwogQEAgLTIsNyArMiw2IEBACkBAIC00MjAsMTMgKzQyMSwxMyBAQAogICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CiAgI2luY2x1ZGUgPHN5cy91bi5oPgogQEAgLTIxLDYgKzIwLDcgQEAKLSAjaW5jbHVkZSAic3RkaW8tdXRpbC5oIgogICNpbmNsdWRlICJzdHJpbmctdXRpbC5oIgorICNpbmNsdWRlICJ0bXBmaWxlLXV0aWwuaCIKICAjaW5jbHVkZSAidXRpbC5oIgogKyNpbmNsdWRlICJwYXJzZS1wcmludGYtZm9ybWF0LmgiCiAgCiAgI2RlZmluZSBTTkRCVUZfU0laRSAoOCoxMDI0KjEwMjQpCiAgCiAtLSAKLTIuMTEuMAorMi43LjQKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNC1ydWxlcy13aGl0ZWxpc3QtaGQtZGV2aWNlcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDQtcnVsZXMtd2hpdGVsaXN0LWhkLWRldmljZXMucGF0Y2gKaW5kZXggN2UzN2NiYy4uNzM4ZjhlYiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNC1ydWxlcy13aGl0ZWxpc3QtaGQtZGV2aWNlcy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA0LXJ1bGVzLXdoaXRlbGlzdC1oZC1kZXZpY2VzLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSA1ZDgxMjhmMzgzMmZkMTFmZDA0NmQxZDFhZDg2YzRlZTdiYzFkZmYwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFdlZCwgOSBOb3YgMjAxNiAxOTo0MToxMyAtMDgwMAotU3ViamVjdDogW1BBVENIIDQvOV0gcnVsZXM6IHdoaXRlbGlzdCBoZCogZGV2aWNlcworRnJvbSBkYzBhNmE5ZmU0ZGE5NzM4ZWZhYmE5NDIyMzNhZDM5ZGE2MjVhOTE4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogVGh1LCAyMSBGZWIgMjAxOSAxNjoyODoyMSArMDgwMAorU3ViamVjdDogW1BBVENIIDQvNV0gcnVsZXM6IHdoaXRlbGlzdCBoZCogZGV2aWNlcwogCiBxZW11IGJ5IGRlZmF1bHQgZW11bGF0ZXMgSURFIGFuZCB0aGUgbGludXgteW9jdG8ga2VybmVsKHMpIHVzZQogQ09ORklHX0lERSBpbnN0ZWFkIG9mIHRoZSBtb3JlIG1vZGVybiBsaWJzYXRhLCBzbyBkaXNrcyBhcHBlYXIgYXMKQEAgLTExLDIzICsxMSwyNSBAQAogCiBTaWduZWQtb2ZmLWJ5OiBQYXRyaWNrIE9obHkgPHBhdHJpY2sub2hseUBpbnRlbC5jb20+CiBTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorW3JlYmFzZWQgZm9yIHN5c3RlbWQgMjQxXQorU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgogLS0tCiAgcnVsZXMvNjAtcGVyc2lzdGVudC1zdG9yYWdlLnJ1bGVzIHwgMiArLQogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvcnVsZXMvNjAtcGVyc2lzdGVudC1zdG9yYWdlLnJ1bGVzIGIvcnVsZXMvNjAtcGVyc2lzdGVudC1zdG9yYWdlLnJ1bGVzCi1pbmRleCA4ZGRiNzU3N2MuLjgxMWU5NDhhZCAxMDA2NDQKK2luZGV4IDFkODg4MGUuLmU1M2M4ZWEgMTAwNjQ0CiAtLS0gYS9ydWxlcy82MC1wZXJzaXN0ZW50LXN0b3JhZ2UucnVsZXMKICsrKyBiL3J1bGVzLzYwLXBlcnNpc3RlbnQtc3RvcmFnZS5ydWxlcwogQEAgLTcsNyArNyw3IEBAIEFDVElPTj09InJlbW92ZSIsIEdPVE89InBlcnNpc3RlbnRfc3RvcmFnZV9lbmQiCiAgRU5We1VERVZfRElTQUJMRV9QRVJTSVNURU5UX1NUT1JBR0VfUlVMRVNfRkxBR309PSIxIiwgR09UTz0icGVyc2lzdGVudF9zdG9yYWdlX2VuZCIKICAKICBTVUJTWVNURU0hPSJibG9jayIsIEdPVE89InBlcnNpc3RlbnRfc3RvcmFnZV9lbmQiCi0tS0VSTkVMIT0ibG9vcCp8bW1jYmxrKlswLTldfG1zYmxrKlswLTldfG1zcGJsaypbMC05XXxudm1lKnxzZCp8c3IqfHZkKnx4dmQqfGJjYWNoZSp8Y2Npc3MqfGRhc2QqfHViZCp8c2NtKnxwbWVtKnxuYmQqIiwgR09UTz0icGVyc2lzdGVudF9zdG9yYWdlX2VuZCIKLStLRVJORUwhPSJsb29wKnxtbWNibGsqWzAtOV18bXNibGsqWzAtOV18bXNwYmxrKlswLTldfG52bWUqfHNkKnxzcip8dmQqfHh2ZCp8YmNhY2hlKnxjY2lzcyp8ZGFzZCp8dWJkKnxzY20qfHBtZW0qfG5iZCp8aGQqIiwgR09UTz0icGVyc2lzdGVudF9zdG9yYWdlX2VuZCIKKy1LRVJORUwhPSJsb29wKnxtbWNibGsqWzAtOV18bXNibGsqWzAtOV18bXNwYmxrKlswLTldfG52bWUqfHNkKnxzcip8dmQqfHh2ZCp8YmNhY2hlKnxjY2lzcyp8ZGFzZCp8dWJkKnxzY20qfHBtZW0qfG5iZCp8emQqIiwgR09UTz0icGVyc2lzdGVudF9zdG9yYWdlX2VuZCIKKytLRVJORUwhPSJsb29wKnxtbWNibGsqWzAtOV18bXNibGsqWzAtOV18bXNwYmxrKlswLTldfG52bWUqfHNkKnxzcip8dmQqfHh2ZCp8YmNhY2hlKnxjY2lzcyp8ZGFzZCp8dWJkKnxzY20qfHBtZW0qfG5iZCp8emQqfGhkKiIsIEdPVE89InBlcnNpc3RlbnRfc3RvcmFnZV9lbmQiCiAgCiAgIyBpZ25vcmUgcGFydGl0aW9ucyB0aGF0IHNwYW4gdGhlIGVudGlyZSBkaXNrCiAgVEVTVD09Indob2xlX2Rpc2siLCBHT1RPPSJwZXJzaXN0ZW50X3N0b3JhZ2VfZW5kIgogLS0gCi0yLjExLjAKKzIuNy40CiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDUtTWFrZS1yb290LXMtaG9tZS1kaXJlY3RvcnktY29uZmlndXJhYmxlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNS1NYWtlLXJvb3Qtcy1ob21lLWRpcmVjdG9yeS1jb25maWd1cmFibGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMxMzcwODcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNS1NYWtlLXJvb3Qtcy1ob21lLWRpcmVjdG9yeS1jb25maWd1cmFibGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3MCArMCwwIEBACi1Gcm9tIDhiODI2NjNhZWVlZGY5Y2E1OGUzYjk3MTE2YjRjNGRhNTIyOWUwZjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBXZWQsIDI3IEp1biAyMDE4IDE2OjQ2OjQ1ICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggNS85XSBNYWtlIHJvb3QncyBob21lIGRpcmVjdG9yeSBjb25maWd1cmFibGUKLQotT3BlbkVtYmVkZGVkIGhhcyBhIGNvbmZpZ3VyYWJsZSBob21lIGRpcmVjdG9yeSBmb3Igcm9vdC4gQWxsb3cKLXN5c3RlbWQgdG8gYmUgYnVpbHQgdXNpbmcgaXRzIGlkZWEgb2Ygd2hhdCByb290J3MgaG9tZSBkaXJlY3RvcnkKLXNob3VsZCBiZS4KLQotVXBzdHJlYW0tU3RhdHVzOiBEZW5pZWQKLVVwc3RyZWFtIHdhbnRzIHRvIGhhdmUgYSB1bmlmaWVkIGhpZXJhcmNoeSB3aGVyZSBldmVyeW9uZSBpcwotdXNpbmcgdGhlIHNhbWUgcm9vdCBmb2xkZXIuCi1odHRwczovL2dpdGh1Yi5jb20vc3lzdGVtZC9zeXN0ZW1kL2lzc3Vlcy81NDEKLQotU2lnbmVkLW9mZi1ieTogRGFuIE1jR3JlZ29yIDxkYW4ubWNncmVnb3JAdXNhc2suY2E+Ci1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotLS0tCi0gbWVzb24uYnVpbGQgICAgICAgfCA3ICsrKysrKysKLSBtZXNvbl9vcHRpb25zLnR4dCB8IDIgKysKLSAyIGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvbWVzb24uYnVpbGQgYi9tZXNvbi5idWlsZAotaW5kZXggNmQ1ZWRjYjRlLi4zMjMxNDZmZTEgMTAwNjQ0Ci0tLS0gYS9tZXNvbi5idWlsZAotKysrIGIvbWVzb24uYnVpbGQKLUBAIC04OSw2ICs4OSwxMSBAQCBpZiByb290bGliZGlyID09ICcnCi0gICAgICAgICByb290bGliZGlyID0gam9pbl9wYXRocyhyb290cHJlZml4ZGlyLCBsaWJkaXIuc3BsaXQoJy8nKVstMV0pCi0gZW5kaWYKLSAKLStyb290aG9tZWRpciA9IGdldF9vcHRpb24oJ3Jvb3Rob21lZGlyJykKLStpZiByb290aG9tZWRpciA9PSAnJwotKyAgICAgICAgcm9vdGhvbWVkaXIgPSAnL3Jvb3QnCi0rZW5kaWYKLSsKLSAjIERpcnMgb2YgZXh0ZXJuYWwgcGFja2FnZXMKLSBwa2djb25maWdkYXRhZGlyID0gam9pbl9wYXRocyhkYXRhZGlyLCAncGtnY29uZmlnJykKLSBwa2djb25maWdsaWJkaXIgPSBqb2luX3BhdGhzKGxpYmRpciwgJ3BrZ2NvbmZpZycpCi1AQCAtMjEwLDYgKzIxNSw3IEBAIGNvbmYuc2V0X3F1b3RlZCgnVURFVkxJQkVYRUNESVInLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWRldmxpYmV4ZWNkaXIpCi0gY29uZi5zZXRfcXVvdGVkKCdQT0xLSVRfQUdFTlRfQklOQVJZX1BBVEgnLCAgICAgICAgICAgICAgICAgICBqb2luX3BhdGhzKGJpbmRpciwgJ3BrdHR5YWdlbnQnKSkKLSBjb25mLnNldF9xdW90ZWQoJ0xJQkRJUicsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYmRpcikKLSBjb25mLnNldF9xdW90ZWQoJ1JPT1RMSUJESVInLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvb3RsaWJkaXIpCi0rY29uZi5zZXRfcXVvdGVkKCdST09USE9NRURJUicsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb290aG9tZWRpcikKLSBjb25mLnNldF9xdW90ZWQoJ1JPT1RMSUJFWEVDRElSJywgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvb3RsaWJleGVjZGlyKQotIGNvbmYuc2V0X3F1b3RlZCgnQk9PVExJQkRJUicsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vdGxpYmRpcikKLSBjb25mLnNldF9xdW90ZWQoJ1NZU1RFTURfUFVMTF9QQVRIJywgICAgICAgICAgICAgICAgICAgICAgICAgIGpvaW5fcGF0aHMocm9vdGxpYmV4ZWNkaXIsICdzeXN0ZW1kLXB1bGwnKSkKLUBAIC0yMjgsNiArMjM0LDcgQEAgc3Vic3RzLnNldCgncHJlZml4JywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVmaXhkaXIpCi0gc3Vic3RzLnNldCgnZXhlY19wcmVmaXgnLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVmaXhkaXIpCi0gc3Vic3RzLnNldCgnbGliZGlyJywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJkaXIpCi0gc3Vic3RzLnNldCgncm9vdGxpYmRpcicsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb290bGliZGlyKQotK3N1YnN0cy5zZXQoJ3Jvb3Rob21lZGlyJywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9vdGhvbWVkaXIpCi0gc3Vic3RzLnNldCgnaW5jbHVkZWRpcicsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlZGlyKQotIHN1YnN0cy5zZXQoJ3BrZ3N5c2NvbmZkaXInLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGtnc3lzY29uZmRpcikKLSBzdWJzdHMuc2V0KCdiaW5kaXInLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbmRpcikKLWRpZmYgLS1naXQgYS9tZXNvbl9vcHRpb25zLnR4dCBiL21lc29uX29wdGlvbnMudHh0Ci1pbmRleCAxNmMxZjJiMmYuLmFhOWEzMzM2OCAxMDA2NDQKLS0tLSBhL21lc29uX29wdGlvbnMudHh0Ci0rKysgYi9tZXNvbl9vcHRpb25zLnR4dAotQEAgLTksNiArOSw4IEBAIG9wdGlvbigncm9vdGxpYmRpcicsIHR5cGUgOiAnc3RyaW5nJywKLSAgICAgICAgZGVzY3JpcHRpb24gOiAnJydbL3Vzcl0vbGliL3g4Nl82NC1saW51eC1nbnUgb3Igc3VjaCcnJykKLSBvcHRpb24oJ3Jvb3RwcmVmaXgnLCB0eXBlIDogJ3N0cmluZycsCi0gICAgICAgIGRlc2NyaXB0aW9uIDogJycnb3ZlcnJpZGUgdGhlIHJvb3QgcHJlZml4JycnKQotK29wdGlvbigncm9vdGhvbWVkaXInLCB0eXBlIDogJ3N0cmluZycsCi0rICAgICAgIGRlc2NyaXB0aW9uIDogJycnb3ZlcnJpZGUgdGhlIHJvb3QgaG9tZSBkaXJlY3RvcnknJycpCi0gb3B0aW9uKCdsaW5rLXVkZXYtc2hhcmVkJywgdHlwZSA6ICdib29sZWFuJywKLSAgICAgICAgZGVzY3JpcHRpb24gOiAnbGluayBzeXN0ZW1kLXVkZXYgYW5kIGl0cyBoZWxwZXJzIHRvIGxpYnN5c3RlbWQtc2hhcmVkLnNvJykKLSBvcHRpb24oJ2xpbmstc3lzdGVtY3RsLXNoYXJlZCcsIHR5cGU6ICdib29sZWFuJywKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDUtaW5jbHVkZS1nc2hhZG93LW9ubHktaWYtRU5BQkxFX0dTSEFET1ctaXMtMS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDUtaW5jbHVkZS1nc2hhZG93LW9ubHktaWYtRU5BQkxFX0dTSEFET1ctaXMtMS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmQ1ZmFmNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA1LWluY2x1ZGUtZ3NoYWRvdy1vbmx5LWlmLUVOQUJMRV9HU0hBRE9XLWlzLTEucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1Gcm9tIGEyYzRkNDY5NDQ4OTIxNzQ5MzAxMzU2NzI1MDgzODlhMDRlMTkxZjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBGcmksIDI5IEp1biAyMDE4IDEzOjUzOjI5ICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggMDUvMTldIGluY2x1ZGUgZ3NoYWRvdyBvbmx5IGlmIEVOQUJMRV9HU0hBRE9XIGlzIDEKLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsXQotCi1TaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBzcmMvYmFzaWMvdXNlci11dGlsLmggfCAyICsrCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL3VzZXItdXRpbC5oIGIvc3JjL2Jhc2ljL3VzZXItdXRpbC5oCi1pbmRleCBiNzRmMTY4ODUuLmY5YzFlMjljNCAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy91c2VyLXV0aWwuaAotKysrIGIvc3JjL2Jhc2ljL3VzZXItdXRpbC5oCi1AQCAtMiw3ICsyLDkgQEAKLSAjcHJhZ21hIG9uY2UKLSAKLSAjaW5jbHVkZSA8Z3JwLmg+Ci0rI2lmIEVOQUJMRV9HU0hBRE9XCi0gI2luY2x1ZGUgPGdzaGFkb3cuaD4KLSsjZW5kaWYKLSAjaW5jbHVkZSA8cHdkLmg+Ci0gI2luY2x1ZGUgPHNoYWRvdy5oPgotICNpbmNsdWRlIDxzdGRib29sLmg+Ci0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA1LXJ1bGVzLXdhdGNoLW1ldGFkYXRhLWNoYW5nZXMtaW4taWRlLWRldmljZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA1LXJ1bGVzLXdhdGNoLW1ldGFkYXRhLWNoYW5nZXMtaW4taWRlLWRldmljZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjEyMzA1MgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDUtcnVsZXMtd2F0Y2gtbWV0YWRhdGEtY2hhbmdlcy1pbi1pZGUtZGV2aWNlcy5wYXRjaApAQCAtMCwwICsxLDQ1IEBACitGcm9tIGQxYmNjYzcyMWRkOGY0M2ZlZTI5YzVkZjBlOWI3ODM0NWU2OWY0YjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBUaHUsIDIxIEZlYiAyMDE5IDE2OjM4OjM4ICswODAwCitTdWJqZWN0OiBbUEFUQ0ggNS81XSBydWxlczogd2F0Y2ggbWV0YWRhdGEgY2hhbmdlcyBpbiBpZGUgZGV2aWNlcworCitGb3JtYXR0aW5nIElERSBzdG9yYWdlIGRvZXMgbm90IHRyaWdnZXIgImNoYW5nZSIgdWV2ZW50cy4gQXMgYSByZXN1bHQKK2NsaWVudHMgdXNpbmcgdWRldiBBUEkgZG9uJ3QgZ2V0IGFueSB1cGRhdGVzIGFmdGVyd2FyZHMgYW5kIGdldCBvdXRkYXRlZAoraW5mb3JtYXRpb24gYWJvdXQgdGhlIGRldmljZS4KKy4uLgorcm9vdEBxZW11eDg2LTY0On4jIG1rZnMuZXh0NCAtRiAvZGV2L2hkYTEKK0NyZWF0aW5nIGZpbGVzeXN0ZW0gd2l0aCAyNjIxNDQgNGsgYmxvY2tzIGFuZCA2NTUzNiBpbm9kZXMKK0ZpbGVzeXN0ZW0gVVVJRDogOTg3OTFlYjItMmJmMy00N2FkLWI0ZDgtNGNmN2U5MTRlZWUyCisKK3Jvb3RAcWVtdXg4Ni02NDp+IyBscyAvZGV2L2Rpc2svYnktdXVpZC85ODc5MWViMi0yYmYzLTQ3YWQtYjRkOC00Y2Y3ZTkxNGVlZTIKK2xzOiBjYW5ub3QgYWNjZXNzICcvZGV2L2Rpc2svYnktdXVpZC85ODc5MWViMi0yYmYzLTQ3YWQtYjRkOC00Y2Y3ZTkxNGVlZTInOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CisuLi4KK0luY2x1ZGUgaGQqIGluIGEgbWF0Y2ggZm9yIHdhdGNoIG9wdGlvbiBhc3NpZ25tZW50LgorCitVcHN0cmVhbS1TdGF0dXM6IERlbmllZAorCitxZW11IGJ5IGRlZmF1bHQgZW11bGF0ZXMgSURFIGFuZCB0aGUgbGludXgteW9jdG8ga2VybmVsKHMpIHVzZQorQ09ORklHX0lERSBpbnN0ZWFkIG9mIHRoZSBtb3JlIG1vZGVybiBsaWJzYXRhLCBzbyBkaXNrcyBhcHBlYXIgYXMKKy9kZXYvaGQqLiBBIHNpbWlsYXIgcGF0Y2ggcmVqZWN0ZWQgYnkgdXBzdHJlYW0gYmVjYXVzZSBDT05GSUdfSURFCitpcyBkZXByZWNhdGVkLgorCitTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitbcmViYXNlZCBmb3Igc3lzdGVtZCAyNDFdCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBydWxlcy82MC1ibG9jay5ydWxlcyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3J1bGVzLzYwLWJsb2NrLnJ1bGVzIGIvcnVsZXMvNjAtYmxvY2sucnVsZXMKK2luZGV4IGExNDU4ZTkuLjNiYTRiNmI0IDEwMDY0NAorLS0tIGEvcnVsZXMvNjAtYmxvY2sucnVsZXMKKysrKyBiL3J1bGVzLzYwLWJsb2NrLnJ1bGVzCitAQCAtOCw0ICs4LDQgQEAgQUNUSU9OPT0iYWRkIiwgU1VCU1lTVEVNPT0ibW9kdWxlIiwgS0VSTkVMPT0iYmxvY2siLCBBVFRSe3BhcmFtZXRlcnMvZXZlbnRzX2RmbF8KKyBBQ1RJT049PSJjaGFuZ2UiLCBTVUJTWVNURU09PSJzY3NpIiwgRU5We0RFVlRZUEV9PT0ic2NzaV9kZXZpY2UiLCBURVNUPT0iYmxvY2siLCBBVFRSe2Jsb2NrLyovdWV2ZW50fT0iY2hhbmdlIgorIAorICMgd2F0Y2ggbWV0YWRhdGEgY2hhbmdlcywgY2F1c2VkIGJ5IHRvb2xzIGNsb3NpbmcgdGhlIGRldmljZSBub2RlIHdoaWNoIHdhcyBvcGVuZWQgZm9yIHdyaXRpbmcKKy1BQ1RJT04hPSJyZW1vdmUiLCBTVUJTWVNURU09PSJibG9jayIsIEtFUk5FTD09Imxvb3AqfG52bWUqfHNkKnx2ZCp8eHZkKnxwbWVtKnxtbWNibGsqfGRhc2QqIiwgT1BUSU9OUys9IndhdGNoIgorK0FDVElPTiE9InJlbW92ZSIsIFNVQlNZU1RFTT09ImJsb2NrIiwgS0VSTkVMPT0ibG9vcCp8bnZtZSp8c2QqfHZkKnx4dmQqfHBtZW0qfG1tY2Jsayp8ZGFzZCp8aGQqIiwgT1BUSU9OUys9IndhdGNoIgorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA1LXNyYy1iYXNpYy1taXNzaW5nLmgtY2hlY2stZm9yLW1pc3Npbmctc3RybmR1cGEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA1LXNyYy1iYXNpYy1taXNzaW5nLmgtY2hlY2stZm9yLW1pc3Npbmctc3RybmR1cGEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjIwODk3YgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDUtc3JjLWJhc2ljLW1pc3NpbmcuaC1jaGVjay1mb3ItbWlzc2luZy1zdHJuZHVwYS5wYXRjaApAQCAtMCwwICsxLDExNiBAQAorRnJvbSAzOTlmZDNlZGEzMDQ1NjM2YTcwZGE0MzhhMGZkMTQwNmNjMzMyZWQxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyNSBGZWIgMjAxOSAxNDoxODoyMSArMDgwMAorU3ViamVjdDogW1BBVENIIDA1LzI0XSBzcmMvYmFzaWMvbWlzc2luZy5oOiBjaGVjayBmb3IgbWlzc2luZyBzdHJuZHVwYQorCitpbmNsdWRlIG1pc3NpbmcuaCAgZm9yIGRlZmluaXRpb24gb2Ygc3RybmR1cGEKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgbWVzb24uYnVpbGQgICAgICAgICAgICAgICAgfCAgMSArCisgc3JjL2Jhc2ljL21pc3Npbmdfc3RkbGliLmggfCAxMiArKysrKysrKysrKysKKyBzcmMvYmFzaWMvbWtkaXIuYyAgICAgICAgICB8ICAxICsKKyBzcmMvYmFzaWMvcGFyc2UtdXRpbC5jICAgICB8ICAxICsKKyBzcmMvYmFzaWMvcHJvY2ZzLXV0aWwuYyAgICB8ICAxICsKKyBzcmMvc2hhcmVkL3BhZ2VyLmMgICAgICAgICB8ICAxICsKKyBzcmMvc2hhcmVkL3VpZC1yYW5nZS5jICAgICB8ICAxICsKKyA3IGZpbGVzIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL21lc29uLmJ1aWxkIGIvbWVzb24uYnVpbGQKK2luZGV4IDQ0YjI0ZWUuLjcwZmIyMTggMTAwNjQ0CistLS0gYS9tZXNvbi5idWlsZAorKysrIGIvbWVzb24uYnVpbGQKK0BAIC01NTgsNiArNTU4LDcgQEAgZm9yZWFjaCBpZGVudCA6IFsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjaW5jbHVkZSA8dW5pc3RkLmg+JycnXSwKKyAgICAgICAgIFsnZXhwbGljaXRfYnplcm8nICwgICAnJycjaW5jbHVkZSA8c3RyaW5nLmg+JycnXSwKKyAgICAgICAgIFsncmVhbGxvY2FycmF5JywgICAgICAnJycjaW5jbHVkZSA8bWFsbG9jLmg+JycnXSwKKysgICAgICAgIFsnc3RybmR1cGEnICwgICAgICAgICAnJycjaW5jbHVkZSA8c3RyaW5nLmg+JycnXSwKKyBdCisgCisgICAgICAgICBoYXZlID0gY2MuaGFzX2Z1bmN0aW9uKGlkZW50WzBdLCBwcmVmaXggOiBpZGVudFsxXSwgYXJncyA6ICctRF9HTlVfU09VUkNFJykKK2RpZmYgLS1naXQgYS9zcmMvYmFzaWMvbWlzc2luZ19zdGRsaWIuaCBiL3NyYy9iYXNpYy9taXNzaW5nX3N0ZGxpYi5oCitpbmRleCBjMGZmZTg2Li5kNTAyNzRiIDEwMDY0NAorLS0tIGEvc3JjL2Jhc2ljL21pc3Npbmdfc3RkbGliLmgKKysrKyBiL3NyYy9iYXNpYy9taXNzaW5nX3N0ZGxpYi5oCitAQCAtMTEsMyArMTEsMTUgQEAKKyAjICAgIGRlZmluZSBzZWN1cmVfZ2V0ZW52IGdldGVudgorICMgIGVuZGlmCisgI2VuZGlmCisrCisrLyogc3RyaW5nLmggKi8KKysjaWYgISBIQVZFX1NUUk5EVVBBCisrI2RlZmluZSBzdHJuZHVwYShzLCBuKSBcCisrICAoeyBcCisrICAgIGNvbnN0IGNoYXIgKl9fb2xkID0gKHMpOyBcCisrICAgIHNpemVfdCBfX2xlbiA9IHN0cm5sZW4oX19vbGQsIChuKSk7IFwKKysgICAgY2hhciAqX19uZXcgPSAoY2hhciAqKWFsbG9jYShfX2xlbiArIDEpOyBcCisrICAgIF9fbmV3W19fbGVuXSA9ICdcMCc7IFwKKysgICAgKGNoYXIgKiltZW1jcHkoX19uZXcsIF9fb2xkLCBfX2xlbik7IFwKKysgIH0pCisrI2VuZGlmCitkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL21rZGlyLmMgYi9zcmMvYmFzaWMvbWtkaXIuYworaW5kZXggNGJiNjVkNS4uMzAzOGFiOSAxMDA2NDQKKy0tLSBhL3NyYy9iYXNpYy9ta2Rpci5jCisrKysgYi9zcmMvYmFzaWMvbWtkaXIuYworQEAgLTEzLDYgKzEzLDcgQEAKKyAjaW5jbHVkZSAic3RhdC11dGlsLmgiCisgI2luY2x1ZGUgInN0ZGlvLXV0aWwuaCIKKyAjaW5jbHVkZSAidXNlci11dGlsLmgiCisrI2luY2x1ZGUgIm1pc3NpbmcuaCIKKyAKKyBpbnQgbWtkaXJfc2FmZV9pbnRlcm5hbChjb25zdCBjaGFyICpwYXRoLCBtb2RlX3QgbW9kZSwgdWlkX3QgdWlkLCBnaWRfdCBnaWQsIE1rZGlyRmxhZ3MgZmxhZ3MsIG1rZGlyX2Z1bmNfdCBfbWtkaXIpIHsKKyAgICAgICAgIHN0cnVjdCBzdGF0IHN0OworZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9wYXJzZS11dGlsLmMgYi9zcmMvYmFzaWMvcGFyc2UtdXRpbC5jCitpbmRleCA4NzcyNGFmLi5kOWM1M2JjIDEwMDY0NAorLS0tIGEvc3JjL2Jhc2ljL3BhcnNlLXV0aWwuYworKysrIGIvc3JjL2Jhc2ljL3BhcnNlLXV0aWwuYworQEAgLTE5LDYgKzE5LDcgQEAKKyAjaW5jbHVkZSAicHJvY2Vzcy11dGlsLmgiCisgI2luY2x1ZGUgInN0YXQtdXRpbC5oIgorICNpbmNsdWRlICJzdHJpbmctdXRpbC5oIgorKyNpbmNsdWRlICJtaXNzaW5nLmgiCisgCisgaW50IHBhcnNlX2Jvb2xlYW4oY29uc3QgY2hhciAqdikgeworICAgICAgICAgaWYgKCF2KQorZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9wcm9jZnMtdXRpbC5jIGIvc3JjL2Jhc2ljL3Byb2Nmcy11dGlsLmMKK2luZGV4IDdhYWY5NWIuLjQyY2U1M2QgMTAwNjQ0CistLS0gYS9zcmMvYmFzaWMvcHJvY2ZzLXV0aWwuYworKysrIGIvc3JjL2Jhc2ljL3Byb2Nmcy11dGlsLmMKK0BAIC0xMSw2ICsxMSw3IEBACisgI2luY2x1ZGUgInByb2Nmcy11dGlsLmgiCisgI2luY2x1ZGUgInN0ZGlvLXV0aWwuaCIKKyAjaW5jbHVkZSAic3RyaW5nLXV0aWwuaCIKKysjaW5jbHVkZSAibWlzc2luZy5oIgorIAorIGludCBwcm9jZnNfdGFza3NfZ2V0X2xpbWl0KHVpbnQ2NF90ICpyZXQpIHsKKyAgICAgICAgIF9jbGVhbnVwX2ZyZWVfIGNoYXIgKnZhbHVlID0gTlVMTDsKK2RpZmYgLS1naXQgYS9zcmMvc2hhcmVkL3BhZ2VyLmMgYi9zcmMvc2hhcmVkL3BhZ2VyLmMKK2luZGV4IGJmMjU5N2UuLmZhOWUzMjEgMTAwNjQ0CistLS0gYS9zcmMvc2hhcmVkL3BhZ2VyLmMKKysrKyBiL3NyYy9zaGFyZWQvcGFnZXIuYworQEAgLTI0LDYgKzI0LDcgQEAKKyAjaW5jbHVkZSAic3RyaW5nLXV0aWwuaCIKKyAjaW5jbHVkZSAic3Rydi5oIgorICNpbmNsdWRlICJ0ZXJtaW5hbC11dGlsLmgiCisrI2luY2x1ZGUgIm1pc3NpbmcuaCIKKyAKKyBzdGF0aWMgcGlkX3QgcGFnZXJfcGlkID0gMDsKKyAKK2RpZmYgLS1naXQgYS9zcmMvc2hhcmVkL3VpZC1yYW5nZS5jIGIvc3JjL3NoYXJlZC91aWQtcmFuZ2UuYworaW5kZXggNWZhN2JkMi4uOWM2M2I5ZSAxMDA2NDQKKy0tLSBhL3NyYy9zaGFyZWQvdWlkLXJhbmdlLmMKKysrKyBiL3NyYy9zaGFyZWQvdWlkLXJhbmdlLmMKK0BAIC05LDYgKzksNyBAQAorICNpbmNsdWRlICJ1aWQtcmFuZ2UuaCIKKyAjaW5jbHVkZSAidXNlci11dGlsLmgiCisgI2luY2x1ZGUgInV0aWwuaCIKKysjaW5jbHVkZSAibWlzc2luZy5oIgorIAorIHN0YXRpYyBib29sIHVpZF9yYW5nZV9pbnRlcnNlY3QoVWlkUmFuZ2UgKnJhbmdlLCB1aWRfdCBzdGFydCwgdWlkX3QgbnIpIHsKKyAgICAgICAgIGFzc2VydChyYW5nZSk7CistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDYtSW5jbHVkZS1uZXRpbmV0LWlmX2V0aGVyLmgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA2LUluY2x1ZGUtbmV0aW5ldC1pZl9ldGhlci5oLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0MWY2YzcKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA2LUluY2x1ZGUtbmV0aW5ldC1pZl9ldGhlci5oLnBhdGNoCkBAIC0wLDAgKzEsOTYgQEAKK0Zyb20gNjdhOTg4YWU4MmM3NzZkMTFiZTc2ZGU3MTgwZDUwZWEwMjdhYzQ0MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMjUgRmViIDIwMTkgMTQ6MjQ6MjAgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAwNi8yNF0gSW5jbHVkZSBuZXRpbmV0L2lmX2V0aGVyLmgKKworRml4ZXMKKy9wYXRoL3RvL3N5c3RlbWQvcmVjaXBlLXN5c3Jvb3QvdXNyL2luY2x1ZGUvbmV0aW5ldC9pZl9ldGhlci5oOjEwMTo4OiBlcnJvcjogcmVkZWZpbml0aW9uIG9mICdzdHJ1Y3QgZXRoaGRyJworIHN0cnVjdCBldGhoZHIgeworICAgICAgICBefn5+fn4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2xpYnN5c3RlbWQvc2QtbmV0bGluay9uZXRsaW5rLXR5cGVzLmMgfCAxICsKKyBzcmMvbmV0d29yay9uZXRkZXYvdHVudGFwLmMgICAgICAgICAgICAgICB8IDEgKworIHNyYy9uZXR3b3JrL25ldHdvcmtkLWJydmxhbi5jICAgICAgICAgICAgIHwgMSArCisgc3JjL3VkZXYvbmV0L2V0aHRvb2wtdXRpbC5jICAgICAgICAgICAgICAgfCAxICsKKyBzcmMvdWRldi9uZXQvZXRodG9vbC11dGlsLmggICAgICAgICAgICAgICB8IDEgKworIHNyYy91ZGV2L3VkZXYtYnVpbHRpbi1uZXRfc2V0dXBfbGluay5jICAgIHwgMSArCisgNiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3NyYy9saWJzeXN0ZW1kL3NkLW5ldGxpbmsvbmV0bGluay10eXBlcy5jIGIvc3JjL2xpYnN5c3RlbWQvc2QtbmV0bGluay9uZXRsaW5rLXR5cGVzLmMKK2luZGV4IDlkY2QzZjIuLmUyM2ZmNGMgMTAwNjQ0CistLS0gYS9zcmMvbGlic3lzdGVtZC9zZC1uZXRsaW5rL25ldGxpbmstdHlwZXMuYworKysrIGIvc3JjL2xpYnN5c3RlbWQvc2QtbmV0bGluay9uZXRsaW5rLXR5cGVzLmMKK0BAIC0zLDYgKzMsNyBAQAorICNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CisgI2luY2x1ZGUgPHN0ZGludC5oPgorICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CisrI2luY2x1ZGUgPG5ldGluZXQvaWZfZXRoZXIuaD4KKyAjaW5jbHVkZSA8bGludXgvbmV0bGluay5oPgorICNpbmNsdWRlIDxsaW51eC9ydG5ldGxpbmsuaD4KKyAjaW5jbHVkZSA8bGludXgvZ2VuZXRsaW5rLmg+CitkaWZmIC0tZ2l0IGEvc3JjL25ldHdvcmsvbmV0ZGV2L3R1bnRhcC5jIGIvc3JjL25ldHdvcmsvbmV0ZGV2L3R1bnRhcC5jCitpbmRleCA5NTExMzhkLi4xYWQ0OTlkIDEwMDY0NAorLS0tIGEvc3JjL25ldHdvcmsvbmV0ZGV2L3R1bnRhcC5jCisrKysgYi9zcmMvbmV0d29yay9uZXRkZXYvdHVudGFwLmMKK0BAIC0yLDYgKzIsNyBAQAorIAorICNpbmNsdWRlIDxlcnJuby5oPgorICNpbmNsdWRlIDxmY250bC5oPgorKyNpbmNsdWRlIDxuZXRpbmV0L2lmX2V0aGVyLmg+CisgI2luY2x1ZGUgPGxpbnV4L2lmX3R1bi5oPgorICNpbmNsdWRlIDxuZXQvaWYuaD4KKyAjaW5jbHVkZSA8bmV0aW5ldC9pZl9ldGhlci5oPgorZGlmZiAtLWdpdCBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLWJydmxhbi5jIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtYnJ2bGFuLmMKK2luZGV4IDgzNzc2MjMuLjEzMmFmNjAgMTAwNjQ0CistLS0gYS9zcmMvbmV0d29yay9uZXR3b3JrZC1icnZsYW4uYworKysrIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtYnJ2bGFuLmMKK0BAIC00LDYgKzQsNyBAQAorICoqKi8KKyAKKyAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgorKyNpbmNsdWRlIDxuZXRpbmV0L2lmX2V0aGVyLmg+CisgI2luY2x1ZGUgPGxpbnV4L2lmX2JyaWRnZS5oPgorICNpbmNsdWRlIDxzdGRib29sLmg+CisgCitkaWZmIC0tZ2l0IGEvc3JjL3VkZXYvbmV0L2V0aHRvb2wtdXRpbC5jIGIvc3JjL3VkZXYvbmV0L2V0aHRvb2wtdXRpbC5jCitpbmRleCAwZGNlYzAzLi4zNjk1YjEwIDEwMDY0NAorLS0tIGEvc3JjL3VkZXYvbmV0L2V0aHRvb2wtdXRpbC5jCisrKysgYi9zcmMvdWRldi9uZXQvZXRodG9vbC11dGlsLmMKK0BAIC0xLDUgKzEsNiBAQAorIC8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBMR1BMLTIuMSsgKi8KKyAKKysjaW5jbHVkZSA8bmV0aW5ldC9pZl9ldGhlci5oPgorICNpbmNsdWRlIDxuZXQvaWYuaD4KKyAjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisgI2luY2x1ZGUgPGxpbnV4L2V0aHRvb2wuaD4KK2RpZmYgLS1naXQgYS9zcmMvdWRldi9uZXQvZXRodG9vbC11dGlsLmggYi9zcmMvdWRldi9uZXQvZXRodG9vbC11dGlsLmgKK2luZGV4IDYxOGIyNmIuLmViZmU4MmEgMTAwNjQ0CistLS0gYS9zcmMvdWRldi9uZXQvZXRodG9vbC11dGlsLmgKKysrKyBiL3NyYy91ZGV2L25ldC9ldGh0b29sLXV0aWwuaAorQEAgLTIsNiArMiw3IEBACisgI3ByYWdtYSBvbmNlCisgCisgI2luY2x1ZGUgPG1hY3JvLmg+CisrI2luY2x1ZGUgPG5ldGluZXQvaWZfZXRoZXIuaD4KKyAjaW5jbHVkZSA8bGludXgvZXRodG9vbC5oPgorIAorICNpbmNsdWRlICJjb25mLXBhcnNlci5oIgorZGlmZiAtLWdpdCBhL3NyYy91ZGV2L3VkZXYtYnVpbHRpbi1uZXRfc2V0dXBfbGluay5jIGIvc3JjL3VkZXYvdWRldi1idWlsdGluLW5ldF9zZXR1cF9saW5rLmMKK2luZGV4IGE4NDVkZmEuLjE3NzI4OWEgMTAwNjQ0CistLS0gYS9zcmMvdWRldi91ZGV2LWJ1aWx0aW4tbmV0X3NldHVwX2xpbmsuYworKysrIGIvc3JjL3VkZXYvdWRldi1idWlsdGluLW5ldF9zZXR1cF9saW5rLmMKK0BAIC0xLDUgKzEsNiBAQAorIC8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBMR1BMLTIuMSsgKi8KKyAKKysjaW5jbHVkZSA8bmV0aW5ldC9pZl9ldGhlci5oPgorICNpbmNsdWRlICJkZXZpY2UtdXRpbC5oIgorICNpbmNsdWRlICJhbGxvYy11dGlsLmgiCisgI2luY2x1ZGUgImxpbmstY29uZmlnLmgiCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDYtcmVtb3ZlLW5vYm9keS11c2VyLWdyb3VwLWNoZWNraW5nLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNi1yZW1vdmUtbm9ib2R5LXVzZXItZ3JvdXAtY2hlY2tpbmcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGViNmViOGIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNi1yZW1vdmUtbm9ib2R5LXVzZXItZ3JvdXAtY2hlY2tpbmcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MyArMCwwIEBACi1Gcm9tIDUxOTlhZTVkZWM5YjhhOWM5ZTIwNDc3ZDUwOTBmMTczMjczNWZiZTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDI4IEp1biAyMDE4IDA5OjM4OjEyICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggNi85XSByZW1vdmUgbm9ib2R5IHVzZXIvZ3JvdXAgY2hlY2tpbmcKLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBTcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotLS0tCi0gbWVzb24uYnVpbGQgfCAzNyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDM3IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbWVzb24uYnVpbGQgYi9tZXNvbi5idWlsZAotaW5kZXggMzIzMTQ2ZmUxLi4zYmIwODdmZWYgMTAwNjQ0Ci0tLS0gYS9tZXNvbi5idWlsZAotKysrIGIvbWVzb24uYnVpbGQKLUBAIC02ODEsNDMgKzY4MSw2IEBAIHN1YnN0cy5zZXQoJ2NvbnRhaW5lcnVpZGJhc2VtYXgnLCBjb250YWluZXJfdWlkX2Jhc2VfbWF4KQotIG5vYm9keV91c2VyID0gZ2V0X29wdGlvbignbm9ib2R5LXVzZXInKQotIG5vYm9keV9ncm91cCA9IGdldF9vcHRpb24oJ25vYm9keS1ncm91cCcpCi0gCi0tZ2V0ZW50X3Jlc3VsdCA9IHJ1bl9jb21tYW5kKCdnZXRlbnQnLCAncGFzc3dkJywgJzY1NTM0JykKLS1pZiBnZXRlbnRfcmVzdWx0LnJldHVybmNvZGUoKSA9PSAwCi0tICAgICAgICBuYW1lID0gZ2V0ZW50X3Jlc3VsdC5zdGRvdXQoKS5zcGxpdCgnOicpWzBdCi0tICAgICAgICBpZiBuYW1lICE9IG5vYm9keV91c2VyCi0tICAgICAgICAgICAgICAgIHdhcm5pbmcoJ1xuJyArCi0tICAgICAgICAgICAgICAgICAgICAgICAgJ1RoZSBsb2NhbCB1c2VyIHdpdGggdGhlIFVJRCA2NTUzNCBkb2VzIG5vdCBtYXRjaCB0aGUgY29uZmlndXJlZCB1c2VyIG5hbWUgIkAwQCIgb2YgdGhlIG5vYm9keSB1c2VyIChpdHMgbmFtZSBpcyBAMUApLlxuJy5mb3JtYXQobm9ib2R5X3VzZXIsIG5hbWUpICsKLS0gICAgICAgICAgICAgICAgICAgICAgICAnWW91ciBidWlsZCB3aWxsIHJlc3VsdCBpbiBhbiB1c2VyIHRhYmxlIHNldHVwIHRoYXQgaXMgaW5jb21wYXRpYmxlIHdpdGggdGhlIGxvY2FsIHN5c3RlbS4nKQotLSAgICAgICAgZW5kaWYKLS1lbmRpZgotLWlkX3Jlc3VsdCA9IHJ1bl9jb21tYW5kKCdpZCcsICctdScsIG5vYm9keV91c2VyKQotLWlmIGlkX3Jlc3VsdC5yZXR1cm5jb2RlKCkgPT0gMAotLSAgICAgICAgaWQgPSBpZF9yZXN1bHQuc3Rkb3V0KCkudG9faW50KCkKLS0gICAgICAgIGlmIGlkICE9IDY1NTM0Ci0tICAgICAgICAgICAgICAgIHdhcm5pbmcoJ1xuJyArCi0tICAgICAgICAgICAgICAgICAgICAgICAgJ1RoZSBsb2NhbCB1c2VyIHdpdGggdGhlIGNvbmZpZ3VyZWQgdXNlciBuYW1lICJAMEAiIG9mIHRoZSBub2JvZHkgdXNlciBkb2VzIG5vdCBoYXZlIFVJRCA2NTUzNCAoaXQgaGFzIEAxQCkuXG4nLmZvcm1hdChub2JvZHlfdXNlciwgaWQpICsKLS0gICAgICAgICAgICAgICAgICAgICAgICAnWW91ciBidWlsZCB3aWxsIHJlc3VsdCBpbiBhbiB1c2VyIHRhYmxlIHNldHVwIHRoYXQgaXMgaW5jb21wYXRpYmxlIHdpdGggdGhlIGxvY2FsIHN5c3RlbS4nKQotLSAgICAgICAgZW5kaWYKLS1lbmRpZgotLQotLWdldGVudF9yZXN1bHQgPSBydW5fY29tbWFuZCgnZ2V0ZW50JywgJ2dyb3VwJywgJzY1NTM0JykKLS1pZiBnZXRlbnRfcmVzdWx0LnJldHVybmNvZGUoKSA9PSAwCi0tICAgICAgICBuYW1lID0gZ2V0ZW50X3Jlc3VsdC5zdGRvdXQoKS5zcGxpdCgnOicpWzBdCi0tICAgICAgICBpZiBuYW1lICE9IG5vYm9keV9ncm91cAotLSAgICAgICAgICAgICAgICB3YXJuaW5nKCdcbicgKwotLSAgICAgICAgICAgICAgICAgICAgICAgICdUaGUgbG9jYWwgZ3JvdXAgd2l0aCB0aGUgR0lEIDY1NTM0IGRvZXMgbm90IG1hdGNoIHRoZSBjb25maWd1cmVkIGdyb3VwIG5hbWUgIkAwQCIgb2YgdGhlIG5vYm9keSBncm91cCAoaXRzIG5hbWUgaXMgQDFAKS5cbicuZm9ybWF0KG5vYm9keV9ncm91cCwgbmFtZSkgKwotLSAgICAgICAgICAgICAgICAgICAgICAgICdZb3VyIGJ1aWxkIHdpbGwgcmVzdWx0IGluIGFuIGdyb3VwIHRhYmxlIHNldHVwIHRoYXQgaXMgaW5jb21wYXRpYmxlIHdpdGggdGhlIGxvY2FsIHN5c3RlbS4nKQotLSAgICAgICAgZW5kaWYKLS1lbmRpZgotLWlkX3Jlc3VsdCA9IHJ1bl9jb21tYW5kKCdpZCcsICctZycsIG5vYm9keV9ncm91cCkKLS1pZiBpZF9yZXN1bHQucmV0dXJuY29kZSgpID09IDAKLS0gICAgICAgIGlkID0gaWRfcmVzdWx0LnN0ZG91dCgpLnRvX2ludCgpCi0tICAgICAgICBpZiBpZCAhPSA2NTUzNAotLSAgICAgICAgICAgICAgICB3YXJuaW5nKCdcbicgKwotLSAgICAgICAgICAgICAgICAgICAgICAgICdUaGUgbG9jYWwgZ3JvdXAgd2l0aCB0aGUgY29uZmlndXJlZCBncm91cCBuYW1lICJAMEAiIG9mIHRoZSBub2JvZHkgZ3JvdXAgZG9lcyBub3QgaGF2ZSBVSUQgNjU1MzQgKGl0IGhhcyBAMUApLlxuJy5mb3JtYXQobm9ib2R5X2dyb3VwLCBpZCkgKwotLSAgICAgICAgICAgICAgICAgICAgICAgICdZb3VyIGJ1aWxkIHdpbGwgcmVzdWx0IGluIGFuIGdyb3VwIHRhYmxlIHNldHVwIHRoYXQgaXMgaW5jb21wYXRpYmxlIHdpdGggdGhlIGxvY2FsIHN5c3RlbS4nKQotLSAgICAgICAgZW5kaWYKLS1lbmRpZgotIGlmIG5vYm9keV91c2VyICE9IG5vYm9keV9ncm91cCBhbmQgbm90IChub2JvZHlfdXNlciA9PSAnbm9ib2R5JyBhbmQgbm9ib2R5X2dyb3VwID09ICdub2dyb3VwJykKLSAgICAgICAgIHdhcm5pbmcoJ1xuJyArCi0gICAgICAgICAgICAgICAgICdUaGUgY29uZmlndXJlZCB1c2VyIG5hbWUgIkAwQCIgYW5kIGdyb3VwIG5hbWUgIkAwQCIgb2YgdGhlIG5vYm9keSB1c2VyL2dyb3VwIGFyZSBub3QgZXF1aXZhbGVudC5cbicuZm9ybWF0KG5vYm9keV91c2VyLCBub2JvZHlfZ3JvdXApICsKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDYtc3JjLWJhc2ljLW1pc3NpbmcuaC1jaGVjay1mb3ItbWlzc2luZy1zdHJuZHVwYS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDYtc3JjLWJhc2ljLW1pc3NpbmcuaC1jaGVjay1mb3ItbWlzc2luZy1zdHJuZHVwYS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTA3YTc5NC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA2LXNyYy1iYXNpYy1taXNzaW5nLmgtY2hlY2stZm9yLW1pc3Npbmctc3RybmR1cGEucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMTggKzAsMCBAQAotRnJvbSAwM2ZkMTlmYzg3NTczMjc2ZTBkMzU5MjYwYzhmZTU5MWY1ZjAyMTZhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotRGF0ZTogRnJpLCAyOSBKdW4gMjAxOCAxNjozNDo1MCArMDgwMAotU3ViamVjdDogW1BBVENIIDA2LzE5XSBzcmMvYmFzaWMvbWlzc2luZy5oOiBjaGVjayBmb3IgbWlzc2luZyBzdHJuZHVwYQotCi1pbmNsdWRlIG1pc3NpbmcuaCAgZm9yIGRlZmluaXRpb24gb2Ygc3RybmR1cGEKLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotLS0tCi0gbWVzb24uYnVpbGQgICAgICAgICAgICAgfCAgMSArCi0gc3JjL2Jhc2ljL21pc3NpbmcuaCAgICAgfCAxMSArKysrKysrKysrKwotIHNyYy9iYXNpYy9ta2Rpci5jICAgICAgIHwgIDEgKwotIHNyYy9iYXNpYy9wYWdlci5jICAgICAgIHwgIDEgKwotIHNyYy9iYXNpYy9wYXJzZS11dGlsLmMgIHwgIDEgKwotIHNyYy9iYXNpYy9wcm9jZnMtdXRpbC5jIHwgIDEgKwotIHNyYy9zaGFyZWQvdWlkLXJhbmdlLmMgIHwgIDEgKwotIDcgZmlsZXMgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvbWVzb24uYnVpbGQgYi9tZXNvbi5idWlsZAotaW5kZXggOGMxNmJjOTc5Li5hNzM0YTI5NWMgMTAwNjQ0Ci0tLS0gYS9tZXNvbi5idWlsZAotKysrIGIvbWVzb24uYnVpbGQKLUBAIC01MDMsNiArNTAzLDcgQEAgZm9yZWFjaCBpZGVudCA6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjaW5jbHVkZSA8dW5pc3RkLmg+JycnXSwKLSAgICAgICAgIFsnZXhwbGljaXRfYnplcm8nICwgICAnJycjaW5jbHVkZSA8c3RyaW5nLmg+JycnXSwKLSAgICAgICAgIFsncmVhbGxvY2FycmF5JywgICAgICAnJycjaW5jbHVkZSA8bWFsbG9jLmg+JycnXSwKLSsgICAgICAgIFsnc3RybmR1cGEnICwgICAgICAgICAnJycjaW5jbHVkZSA8c3RyaW5nLmg+JycnXSwKLSBdCi0gCi0gICAgICAgICBoYXZlID0gY2MuaGFzX2Z1bmN0aW9uKGlkZW50WzBdLCBwcmVmaXggOiBpZGVudFsxXSwgYXJncyA6ICctRF9HTlVfU09VUkNFJykKLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvbWlzc2luZy5oIGIvc3JjL2Jhc2ljL21pc3NpbmcuaAotaW5kZXggMGUzM2FiYjlmLi4wMjM5N2YxYjYgMTAwNjQ0Ci0tLS0gYS9zcmMvYmFzaWMvbWlzc2luZy5oCi0rKysgYi9zcmMvYmFzaWMvbWlzc2luZy5oCi1AQCAtMTE4NCw2ICsxMTg0LDE3IEBAIHN0cnVjdCBpbnB1dF9tYXNrIHsKLSB0eXBlZGVmIGludDMyX3Qga2V5X3NlcmlhbF90OwotICNlbmRpZgotIAotKyNpZiAhIEhBVkVfU1RSTkRVUEEKLSsjZGVmaW5lIHN0cm5kdXBhKHMsIG4pIFwKLSsgICh7IFwKLSsgICAgY29uc3QgY2hhciAqX19vbGQgPSAocyk7IFwKLSsgICAgc2l6ZV90IF9fbGVuID0gc3RybmxlbihfX29sZCwgKG4pKTsgXAotKyAgICBjaGFyICpfX25ldyA9IChjaGFyICopYWxsb2NhKF9fbGVuICsgMSk7IFwKLSsgICAgX19uZXdbX19sZW5dID0gJ1wwJzsgXAotKyAgICAoY2hhciAqKW1lbWNweShfX25ldywgX19vbGQsIF9fbGVuKTsgXAotKyAgfSkKLSsjZW5kaWYKLSsKLSAjaWZuZGVmIEtFWUNUTF9KT0lOX1NFU1NJT05fS0VZUklORwotICNkZWZpbmUgS0VZQ1RMX0pPSU5fU0VTU0lPTl9LRVlSSU5HIDEKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvbWtkaXIuYyBiL3NyYy9iYXNpYy9ta2Rpci5jCi1pbmRleCA2YWIxYjQ0MjIuLjc3YzNlMDg2MyAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy9ta2Rpci5jCi0rKysgYi9zcmMvYmFzaWMvbWtkaXIuYwotQEAgLTEzLDYgKzEzLDcgQEAKLSAjaW5jbHVkZSAic3RhdC11dGlsLmgiCi0gI2luY2x1ZGUgInN0ZGlvLXV0aWwuaCIKLSAjaW5jbHVkZSAidXNlci11dGlsLmgiCi0rI2luY2x1ZGUgIm1pc3NpbmcuaCIKLSAKLSBpbnQgbWtkaXJfc2FmZV9pbnRlcm5hbChjb25zdCBjaGFyICpwYXRoLCBtb2RlX3QgbW9kZSwgdWlkX3QgdWlkLCBnaWRfdCBnaWQsIE1rZGlyRmxhZ3MgZmxhZ3MsIG1rZGlyX2Z1bmNfdCBfbWtkaXIpIHsKLSAgICAgICAgIHN0cnVjdCBzdGF0IHN0OwotZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9wYWdlci5jIGIvc3JjL2Jhc2ljL3BhZ2VyLmMKLWluZGV4IGYyNDEyNjExMS4uODIyM2JmZjAyIDEwMDY0NAotLS0tIGEvc3JjL2Jhc2ljL3BhZ2VyLmMKLSsrKyBiL3NyYy9iYXNpYy9wYWdlci5jCi1AQCAtMjEsNiArMjEsNyBAQAotICNpbmNsdWRlICJzdHJpbmctdXRpbC5oIgotICNpbmNsdWRlICJzdHJ2LmgiCi0gI2luY2x1ZGUgInRlcm1pbmFsLXV0aWwuaCIKLSsjaW5jbHVkZSAibWlzc2luZy5oIgotIAotIHN0YXRpYyBwaWRfdCBwYWdlcl9waWQgPSAwOwotIAotZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9wYXJzZS11dGlsLmMgYi9zcmMvYmFzaWMvcGFyc2UtdXRpbC5jCi1pbmRleCA2YmVjZjg1ODcuLjUyNTc2ZjUzNiAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy9wYXJzZS11dGlsLmMKLSsrKyBiL3NyYy9iYXNpYy9wYXJzZS11dGlsLmMKLUBAIC0xNyw2ICsxNyw3IEBACi0gI2luY2x1ZGUgInBhcnNlLXV0aWwuaCIKLSAjaW5jbHVkZSAicHJvY2Vzcy11dGlsLmgiCi0gI2luY2x1ZGUgInN0cmluZy11dGlsLmgiCi0rI2luY2x1ZGUgIm1pc3NpbmcuaCIKLSAKLSBpbnQgcGFyc2VfYm9vbGVhbihjb25zdCBjaGFyICp2KSB7Ci0gICAgICAgICBhc3NlcnQodik7Ci1kaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL3Byb2Nmcy11dGlsLmMgYi9zcmMvYmFzaWMvcHJvY2ZzLXV0aWwuYwotaW5kZXggYTE1OWUzNDRiLi5lYmM0MjdkNmIgMTAwNjQ0Ci0tLS0gYS9zcmMvYmFzaWMvcHJvY2ZzLXV0aWwuYwotKysrIGIvc3JjL2Jhc2ljL3Byb2Nmcy11dGlsLmMKLUBAIC0xMSw2ICsxMSw3IEBACi0gI2luY2x1ZGUgInByb2Nmcy11dGlsLmgiCi0gI2luY2x1ZGUgInN0ZGlvLXV0aWwuaCIKLSAjaW5jbHVkZSAic3RyaW5nLXV0aWwuaCIKLSsjaW5jbHVkZSAibWlzc2luZy5oIgotIAotIGludCBwcm9jZnNfdGFza3NfZ2V0X2xpbWl0KHVpbnQ2NF90ICpyZXQpIHsKLSAgICAgICAgIF9jbGVhbnVwX2ZyZWVfIGNoYXIgKnZhbHVlID0gTlVMTDsKLWRpZmYgLS1naXQgYS9zcmMvc2hhcmVkL3VpZC1yYW5nZS5jIGIvc3JjL3NoYXJlZC91aWQtcmFuZ2UuYwotaW5kZXggNDM0Y2U2ZmY0Li4zNzA5M2FiN2IgMTAwNjQ0Ci0tLS0gYS9zcmMvc2hhcmVkL3VpZC1yYW5nZS5jCi0rKysgYi9zcmMvc2hhcmVkL3VpZC1yYW5nZS5jCi1AQCAtOCw2ICs4LDcgQEAKLSAjaW5jbHVkZSAibWFjcm8uaCIKLSAjaW5jbHVkZSAidWlkLXJhbmdlLmgiCi0gI2luY2x1ZGUgInVzZXItdXRpbC5oIgotKyNpbmNsdWRlICJtaXNzaW5nLmgiCi0gCi0gc3RhdGljIGJvb2wgdWlkX3JhbmdlX2ludGVyc2VjdChVaWRSYW5nZSAqcmFuZ2UsIHVpZF90IHN0YXJ0LCB1aWRfdCBucikgewotICAgICAgICAgYXNzZXJ0KHJhbmdlKTsKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDctSW5jbHVkZS1uZXRpbmV0LWlmX2V0aGVyLmgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA3LUluY2x1ZGUtbmV0aW5ldC1pZl9ldGhlci5oLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZGY4Y2Y5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDctSW5jbHVkZS1uZXRpbmV0LWlmX2V0aGVyLmgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5NiArMCwwIEBACi1Gcm9tIGFhYjkwZDBkZmE5MzRkMzM4NzllYWVjMWE4NzhlOTNiMjAxZDMzZjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBGcmksIDI5IEp1biAyMDE4IDE2OjQ0OjQzICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggMDcvMTldIEluY2x1ZGUgbmV0aW5ldC9pZl9ldGhlci5oCi0KLUZpeGVzCi0vcGF0aC90by9zeXN0ZW1kL3JlY2lwZS1zeXNyb290L3Vzci9pbmNsdWRlL25ldGluZXQvaWZfZXRoZXIuaDoxMDE6ODogZXJyb3I6IHJlZGVmaW5pdGlvbiBvZiAnc3RydWN0IGV0aGhkcicKLSBzdHJ1Y3QgZXRoaGRyIHsKLSAgICAgICAgXn5+fn5+Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy9saWJzeXN0ZW1kL3NkLW5ldGxpbmsvbmV0bGluay10eXBlcy5jIHwgMSArCi0gc3JjL25ldHdvcmsvbmV0ZGV2L3R1bnRhcC5jICAgICAgICAgICAgICAgfCAxICsKLSBzcmMvbmV0d29yay9uZXR3b3JrZC1icnZsYW4uYyAgICAgICAgICAgICB8IDEgKwotIHNyYy91ZGV2L25ldC9ldGh0b29sLXV0aWwuYyAgICAgICAgICAgICAgIHwgMSArCi0gc3JjL3VkZXYvbmV0L2V0aHRvb2wtdXRpbC5oICAgICAgICAgICAgICAgfCAxICsKLSBzcmMvdWRldi91ZGV2LWJ1aWx0aW4tbmV0X3NldHVwX2xpbmsuYyAgICB8IDEgKwotIDYgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvbGlic3lzdGVtZC9zZC1uZXRsaW5rL25ldGxpbmstdHlwZXMuYyBiL3NyYy9saWJzeXN0ZW1kL3NkLW5ldGxpbmsvbmV0bGluay10eXBlcy5jCi1pbmRleCBjOTNmZTljYjQuLjIwMTNkMDZlMSAxMDA2NDQKLS0tLSBhL3NyYy9saWJzeXN0ZW1kL3NkLW5ldGxpbmsvbmV0bGluay10eXBlcy5jCi0rKysgYi9zcmMvbGlic3lzdGVtZC9zZC1uZXRsaW5rL25ldGxpbmstdHlwZXMuYwotQEAgLTMsNiArMyw3IEBACi0gI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KLSAjaW5jbHVkZSA8c3RkaW50Lmg+Ci0gI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KLSsjaW5jbHVkZSA8bmV0aW5ldC9pZl9ldGhlci5oPgotICNpbmNsdWRlIDxsaW51eC9uZXRsaW5rLmg+Ci0gI2luY2x1ZGUgPGxpbnV4L3J0bmV0bGluay5oPgotICNpbmNsdWRlIDxsaW51eC9nZW5ldGxpbmsuaD4KLWRpZmYgLS1naXQgYS9zcmMvbmV0d29yay9uZXRkZXYvdHVudGFwLmMgYi9zcmMvbmV0d29yay9uZXRkZXYvdHVudGFwLmMKLWluZGV4IDIxZmI3YWIwNi4uMGFmZTUxNzBjIDEwMDY0NAotLS0tIGEvc3JjL25ldHdvcmsvbmV0ZGV2L3R1bnRhcC5jCi0rKysgYi9zcmMvbmV0d29yay9uZXRkZXYvdHVudGFwLmMKLUBAIC0yLDYgKzIsNyBAQAotIAotICNpbmNsdWRlIDxlcnJuby5oPgotICNpbmNsdWRlIDxmY250bC5oPgotKyNpbmNsdWRlIDxuZXRpbmV0L2lmX2V0aGVyLmg+Ci0gI2luY2x1ZGUgPGxpbnV4L2lmX3R1bi5oPgotICNpbmNsdWRlIDxuZXQvaWYuaD4KLSAjaW5jbHVkZSA8bmV0aW5ldC9pZl9ldGhlci5oPgotZGlmZiAtLWdpdCBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLWJydmxhbi5jIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtYnJ2bGFuLmMKLWluZGV4IDhlOGE2MThlMi4uNTJkNTIzYTY3IDEwMDY0NAotLS0tIGEvc3JjL25ldHdvcmsvbmV0d29ya2QtYnJ2bGFuLmMKLSsrKyBiL3NyYy9uZXR3b3JrL25ldHdvcmtkLWJydmxhbi5jCi1AQCAtNCw2ICs0LDcgQEAKLSAqKiovCi0gCi0gI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KLSsjaW5jbHVkZSA8bmV0aW5ldC9pZl9ldGhlci5oPgotICNpbmNsdWRlIDxsaW51eC9pZl9icmlkZ2UuaD4KLSAjaW5jbHVkZSA8c3RkYm9vbC5oPgotIAotZGlmZiAtLWdpdCBhL3NyYy91ZGV2L25ldC9ldGh0b29sLXV0aWwuYyBiL3NyYy91ZGV2L25ldC9ldGh0b29sLXV0aWwuYwotaW5kZXggNGJiNDIxNmFjLi41ZjczODM0ODMgMTAwNjQ0Ci0tLS0gYS9zcmMvdWRldi9uZXQvZXRodG9vbC11dGlsLmMKLSsrKyBiL3NyYy91ZGV2L25ldC9ldGh0b29sLXV0aWwuYwotQEAgLTEsNSArMSw2IEBACi0gLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IExHUEwtMi4xKyAqLwotIAotKyNpbmNsdWRlIDxuZXRpbmV0L2lmX2V0aGVyLmg+Ci0gI2luY2x1ZGUgPG5ldC9pZi5oPgotICNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KLSAjaW5jbHVkZSA8bGludXgvZXRodG9vbC5oPgotZGlmZiAtLWdpdCBhL3NyYy91ZGV2L25ldC9ldGh0b29sLXV0aWwuaCBiL3NyYy91ZGV2L25ldC9ldGh0b29sLXV0aWwuaAotaW5kZXggMDY0YmY0ZDJiLi5lZTBkNGZiMmEgMTAwNjQ0Ci0tLS0gYS9zcmMvdWRldi9uZXQvZXRodG9vbC11dGlsLmgKLSsrKyBiL3NyYy91ZGV2L25ldC9ldGh0b29sLXV0aWwuaAotQEAgLTMsNiArMyw3IEBACi0gCi0gCi0gI2luY2x1ZGUgPG1hY3JvLmg+Ci0rI2luY2x1ZGUgPG5ldGluZXQvaWZfZXRoZXIuaD4KLSAjaW5jbHVkZSA8bGludXgvZXRodG9vbC5oPgotIAotICNpbmNsdWRlICJtaXNzaW5nLmgiCi1kaWZmIC0tZ2l0IGEvc3JjL3VkZXYvdWRldi1idWlsdGluLW5ldF9zZXR1cF9saW5rLmMgYi9zcmMvdWRldi91ZGV2LWJ1aWx0aW4tbmV0X3NldHVwX2xpbmsuYwotaW5kZXggOGJlZDYzOTlhLi5hM2E5Njk1OWIgMTAwNjQ0Ci0tLS0gYS9zcmMvdWRldi91ZGV2LWJ1aWx0aW4tbmV0X3NldHVwX2xpbmsuYwotKysrIGIvc3JjL3VkZXYvdWRldi1idWlsdGluLW5ldF9zZXR1cF9saW5rLmMKLUBAIC0xLDUgKzEsNiBAQAotIC8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBMR1BMLTIuMSsgKi8KLSAKLSsjaW5jbHVkZSA8bmV0aW5ldC9pZl9ldGhlci5oPgotICNpbmNsdWRlICJhbGxvYy11dGlsLmgiCi0gI2luY2x1ZGUgImxpbmstY29uZmlnLmgiCi0gI2luY2x1ZGUgImxvZy5oIgotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNy1kb24tdC1mYWlsLWlmLUdMT0JfQlJBQ0UtYW5kLUdMT0JfQUxURElSRlVOQy1pcy1ub3QucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA3LWRvbi10LWZhaWwtaWYtR0xPQl9CUkFDRS1hbmQtR0xPQl9BTFRESVJGVU5DLWlzLW5vdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NjVlNDc2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNy1kb24tdC1mYWlsLWlmLUdMT0JfQlJBQ0UtYW5kLUdMT0JfQUxURElSRlVOQy1pcy1ub3QucGF0Y2gKQEAgLTAsMCArMSwxNTQgQEAKK0Zyb20gZjhhMjM5YjE4MjE1OGNhMGE1MzdiYTA1M2NiMGU2YmFkOWMzYTJmYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMjUgRmViIDIwMTkgMTQ6NTY6MjEgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAwNy8yNF0gZG9uJ3QgZmFpbCBpZiBHTE9CX0JSQUNFIGFuZCBHTE9CX0FMVERJUkZVTkMgaXMgbm90IAorIGRlZmluZWQKKworSWYgdGhlIHN0YW5kYXJkIGxpYnJhcnkgZG9lc24ndCBwcm92aWRlIGJyYWNlCitleHBhbnNpb24gdXNlcnMganVzdCB3b24ndCBnZXQgaXQuCisKK0RvbnQgdXNlIEdOVSBHTE9CIGV4dGVudGlvbnMgb24gbm9uLWdsaWJjIHN5c3RlbXMKKworQ29uZGl0aW9uYWxpemUgdXNlIG9mIEdMT0JfQUxURElSRlVOQworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvYmFzaWMvZ2xvYi11dGlsLmMgICAgIHwgMTIgKysrKysrKysrKystCisgc3JjL3Rlc3QvdGVzdC1nbG9iLXV0aWwuYyB8IDE3ICsrKysrKysrKysrKysrKy0tCisgc3JjL3RtcGZpbGVzL3RtcGZpbGVzLmMgICB8ICA5ICsrKysrKysrKworIDMgZmlsZXMgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9nbG9iLXV0aWwuYyBiL3NyYy9iYXNpYy9nbG9iLXV0aWwuYworaW5kZXggOWZhYzY3Ni4uOTYyZDhiOSAxMDA2NDQKKy0tLSBhL3NyYy9iYXNpYy9nbG9iLXV0aWwuYworKysrIGIvc3JjL2Jhc2ljL2dsb2ItdXRpbC5jCitAQCAtMTAsNiArMTAsMTEgQEAKKyAjaW5jbHVkZSAibWFjcm8uaCIKKyAjaW5jbHVkZSAicGF0aC11dGlsLmgiCisgI2luY2x1ZGUgInN0cnYuaCIKKysvKiBEb24ndCBmYWlsIGlmIHRoZSBzdGFuZGFyZCBsaWJyYXJ5CisrICogZG9lc24ndCBwcm92aWRlIGJyYWNlIGV4cGFuc2lvbiAqLworKyNpZm5kZWYgR0xPQl9CUkFDRQorKyNkZWZpbmUgR0xPQl9CUkFDRSAwCisrI2VuZGlmCisgCisgc3RhdGljIHZvaWQgY2xvc2VkaXJfd3JhcHBlcih2b2lkKiB2KSB7CisgICAgICAgICAodm9pZCkgY2xvc2VkaXIodik7CitAQCAtMTgsNiArMjMsNyBAQCBzdGF0aWMgdm9pZCBjbG9zZWRpcl93cmFwcGVyKHZvaWQqIHYpIHsKKyBpbnQgc2FmZV9nbG9iKGNvbnN0IGNoYXIgKnBhdGgsIGludCBmbGFncywgZ2xvYl90ICpwZ2xvYikgeworICAgICAgICAgaW50IGs7CisgCisrI2lmZGVmIEdMT0JfQUxURElSRlVOQworICAgICAgICAgLyogV2Ugd2FudCB0byBzZXQgR0xPQl9BTFRESVJGVU5DIG91cnNlbHZlcywgZG9uJ3QgYWxsb3cgaXQgdG8gYmUgc2V0LiAqLworICAgICAgICAgYXNzZXJ0KCEoZmxhZ3MgJiBHTE9CX0FMVERJUkZVTkMpKTsKKyAKK0BAIC0zMSwxMCArMzcsMTQgQEAgaW50IHNhZmVfZ2xvYihjb25zdCBjaGFyICpwYXRoLCBpbnQgZmxhZ3MsIGdsb2JfdCAqcGdsb2IpIHsKKyAgICAgICAgICAgICAgICAgcGdsb2ItPmdsX2xzdGF0ID0gbHN0YXQ7CisgICAgICAgICBpZiAoIXBnbG9iLT5nbF9zdGF0KQorICAgICAgICAgICAgICAgICBwZ2xvYi0+Z2xfc3RhdCA9IHN0YXQ7CisrI2VuZGlmCisgCisgICAgICAgICBlcnJubyA9IDA7CisrI2lmZGVmIEdMT0JfQUxURElSRlVOQworICAgICAgICAgayA9IGdsb2IocGF0aCwgZmxhZ3MgfCBHTE9CX0FMVERJUkZVTkMsIE5VTEwsIHBnbG9iKTsKKy0KKysjZWxzZQorKyAgICAgICAgayA9IGdsb2IocGF0aCwgZmxhZ3MsIE5VTEwsIHBnbG9iKTsKKysjZW5kaWYKKyAgICAgICAgIGlmIChrID09IEdMT0JfTk9NQVRDSCkKKyAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9FTlQ7CisgICAgICAgICBpZiAoayA9PSBHTE9CX05PU1BBQ0UpCitkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvdGVzdC1nbG9iLXV0aWwuYyBiL3NyYy90ZXN0L3Rlc3QtZ2xvYi11dGlsLmMKK2luZGV4IGI0ZjQxNDQuLjk1NWIzYmEgMTAwNjQ0CistLS0gYS9zcmMvdGVzdC90ZXN0LWdsb2ItdXRpbC5jCisrKysgYi9zcmMvdGVzdC90ZXN0LWdsb2ItdXRpbC5jCitAQCAtMTIsNiArMTIsMTEgQEAKKyAjaW5jbHVkZSAibWFjcm8uaCIKKyAjaW5jbHVkZSAicm0tcmYuaCIKKyAjaW5jbHVkZSAidG1wZmlsZS11dGlsLmgiCisrLyogRG9uJ3QgZmFpbCBpZiB0aGUgc3RhbmRhcmQgbGlicmFyeQorKyAqIGRvZXNuJ3QgcHJvdmlkZSBicmFjZSBleHBhbnNpb24gKi8KKysjaWZuZGVmIEdMT0JfQlJBQ0UKKysjZGVmaW5lIEdMT0JfQlJBQ0UgMAorKyNlbmRpZgorIAorIHN0YXRpYyB2b2lkIHRlc3RfZ2xvYl9leGlzdHModm9pZCkgeworICAgICAgICAgY2hhciBuYW1lW10gPSAiL3RtcC90ZXN0LWdsb2JfZXhpc3RzLlhYWFhYWCI7CitAQCAtMzgsMjUgKzQzLDMzIEBAIHN0YXRpYyB2b2lkIGNsb3NlZGlyX3dyYXBwZXIodm9pZCogdikgeworIHN0YXRpYyB2b2lkIHRlc3RfZ2xvYl9ub19kb3Qodm9pZCkgeworICAgICAgICAgY2hhciB0ZW1wbGF0ZVtdID0gIi90bXAvdGVzdC1nbG9iLXV0aWwuWFhYWFhYWCI7CisgICAgICAgICBjb25zdCBjaGFyICpmbjsKKy0KKyAgICAgICAgIF9jbGVhbnVwX2dsb2JmcmVlXyBnbG9iX3QgZyA9IHsKKysjaWZkZWYgR0xPQl9BTFRESVJGVU5DCisgICAgICAgICAgICAgICAgIC5nbF9jbG9zZWRpciA9IGNsb3NlZGlyX3dyYXBwZXIsCisgICAgICAgICAgICAgICAgIC5nbF9yZWFkZGlyID0gKHN0cnVjdCBkaXJlbnQgKigqKSh2b2lkICopKSByZWFkZGlyX25vX2RvdCwKKyAgICAgICAgICAgICAgICAgLmdsX29wZW5kaXIgPSAodm9pZCAqKCopKGNvbnN0IGNoYXIgKikpIG9wZW5kaXIsCisgICAgICAgICAgICAgICAgIC5nbF9sc3RhdCA9IGxzdGF0LAorICAgICAgICAgICAgICAgICAuZ2xfc3RhdCA9IHN0YXQsCisrI2VuZGlmCisgICAgICAgICB9OworLQorICAgICAgICAgaW50IHI7CisgCisgICAgICAgICBhc3NlcnRfc2UobWtkdGVtcCh0ZW1wbGF0ZSkpOworIAorICAgICAgICAgZm4gPSBzdHJqb2luYSh0ZW1wbGF0ZSwgIi8qIik7CisrI2lmZGVmIEdMT0JfQUxURElSRlVOQworICAgICAgICAgciA9IGdsb2IoZm4sIEdMT0JfTk9TT1JUfEdMT0JfQlJBQ0V8R0xPQl9BTFRESVJGVU5DLCBOVUxMLCAmZyk7CisrI2Vsc2UKKysgICAgICAgIHIgPSBnbG9iKGZuLCBHTE9CX05PU09SVHxHTE9CX0JSQUNFLCBOVUxMLCAmZyk7CisrI2VuZGlmCisgICAgICAgICBhc3NlcnRfc2UociA9PSBHTE9CX05PTUFUQ0gpOworIAorICAgICAgICAgZm4gPSBzdHJqb2luYSh0ZW1wbGF0ZSwgIi8uKiIpOworKyNpZmRlZiBHTE9CX0FMVERJUkZVTkMKKyAgICAgICAgIHIgPSBnbG9iKGZuLCBHTE9CX05PU09SVHxHTE9CX0JSQUNFfEdMT0JfQUxURElSRlVOQywgTlVMTCwgJmcpOworKyNlbHNlCisrICAgICAgICByID0gZ2xvYihmbiwgR0xPQl9OT1NPUlR8R0xPQl9CUkFDRSwgTlVMTCwgJmcpOworKyNlbmRpZgorICAgICAgICAgYXNzZXJ0X3NlKHIgPT0gR0xPQl9OT01BVENIKTsKKyAKKyAgICAgICAgICh2b2lkKSBybV9yZih0ZW1wbGF0ZSwgUkVNT1ZFX1JPT1R8UkVNT1ZFX1BIWVNJQ0FMKTsKK2RpZmYgLS1naXQgYS9zcmMvdG1wZmlsZXMvdG1wZmlsZXMuYyBiL3NyYy90bXBmaWxlcy90bXBmaWxlcy5jCitpbmRleCBiNjY3NjViLi4xMWRiYmY0IDEwMDY0NAorLS0tIGEvc3JjL3RtcGZpbGVzL3RtcGZpbGVzLmMKKysrKyBiL3NyYy90bXBmaWxlcy90bXBmaWxlcy5jCitAQCAtNjAsNiArNjAsMTEgQEAKKyAjaW5jbHVkZSAidW1hc2stdXRpbC5oIgorICNpbmNsdWRlICJ1c2VyLXV0aWwuaCIKKyAjaW5jbHVkZSAidXRpbC5oIgorKy8qIERvbid0IGZhaWwgaWYgdGhlIHN0YW5kYXJkIGxpYnJhcnkKKysgKiBkb2Vzbid0IHByb3ZpZGUgYnJhY2UgZXhwYW5zaW9uICovCisrI2lmbmRlZiBHTE9CX0JSQUNFCisrI2RlZmluZSBHTE9CX0JSQUNFIDAKKysjZW5kaWYKKyAKKyAvKiBUaGlzIHJlYWRzIGFsbCBmaWxlcyBsaXN0ZWQgaW4gL2V0Yy90bXBmaWxlcy5kLz8qLmNvbmYgYW5kIGNyZWF0ZXMKKyAgKiB0aGVtIGluIHRoZSBmaWxlIHN5c3RlbS4gVGhpcyBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIHRvIGNyZWF0ZQorQEAgLTE4NTMsNyArMTg1OCw5IEBAIGZpbmlzaDoKKyAKKyBzdGF0aWMgaW50IGdsb2JfaXRlbShJdGVtICppLCBhY3Rpb25fdCBhY3Rpb24pIHsKKyAgICAgICAgIF9jbGVhbnVwX2dsb2JmcmVlXyBnbG9iX3QgZyA9IHsKKysjaWZkZWYgR0xPQl9BTFRESVJGVU5DCisgICAgICAgICAgICAgICAgIC5nbF9vcGVuZGlyID0gKHZvaWQgKigqKShjb25zdCBjaGFyICopKSBvcGVuZGlyX25vbW9kLAorKyNlbmRpZgorICAgICAgICAgfTsKKyAgICAgICAgIGludCByID0gMCwgazsKKyAgICAgICAgIGNoYXIgKipmbjsKK0BAIC0xODczLDcgKzE4ODAsOSBAQCBzdGF0aWMgaW50IGdsb2JfaXRlbShJdGVtICppLCBhY3Rpb25fdCBhY3Rpb24pIHsKKyAKKyBzdGF0aWMgaW50IGdsb2JfaXRlbV9yZWN1cnNpdmVseShJdGVtICppLCBmZGFjdGlvbl90IGFjdGlvbikgeworICAgICAgICAgX2NsZWFudXBfZ2xvYmZyZWVfIGdsb2JfdCBnID0geworKyNpZmRlZiBHTE9CX0FMVERJUkZVTkMKKyAgICAgICAgICAgICAgICAgLmdsX29wZW5kaXIgPSAodm9pZCAqKCopKGNvbnN0IGNoYXIgKikpIG9wZW5kaXJfbm9tb2QsCisrI2VuZGlmCisgICAgICAgICB9OworICAgICAgICAgaW50IHIgPSAwLCBrOworICAgICAgICAgY2hhciAqKmZuOworLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA3LXJ1bGVzLXdhdGNoLW1ldGFkYXRhLWNoYW5nZXMtaW4taWRlLWRldmljZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA3LXJ1bGVzLXdhdGNoLW1ldGFkYXRhLWNoYW5nZXMtaW4taWRlLWRldmljZXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE1ZjY1ZTYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNy1ydWxlcy13YXRjaC1tZXRhZGF0YS1jaGFuZ2VzLWluLWlkZS1kZXZpY2VzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotRnJvbSA5MzAyYjcyZTVlNjk1MTJhYWE3MTA2MTk3YjAwYzU1YmFlYjM1YjNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotRGF0ZTogRnJpLCAxNyBOb3YgMjAxNyAwOTo0NjowMCArMDgwMAotU3ViamVjdDogW1BBVENIIDcvOV0gcnVsZXM6IHdhdGNoIG1ldGFkYXRhIGNoYW5nZXMgaW4gaWRlIGRldmljZXMKLQotRm9ybWF0dGluZyBJREUgc3RvcmFnZSBkb2VzIG5vdCB0cmlnZ2VyICJjaGFuZ2UiIHVldmVudHMuIEFzIGEgcmVzdWx0Ci1jbGllbnRzIHVzaW5nIHVkZXYgQVBJIGRvbid0IGdldCBhbnkgdXBkYXRlcyBhZnRlcndhcmRzIGFuZCBnZXQgb3V0ZGF0ZWQKLWluZm9ybWF0aW9uIGFib3V0IHRoZSBkZXZpY2UuCi0uLi4KLXJvb3RAcWVtdXg4Ni02NDp+IyBta2ZzLmV4dDQgLUYgL2Rldi9oZGExCi1DcmVhdGluZyBmaWxlc3lzdGVtIHdpdGggMjYyMTQ0IDRrIGJsb2NrcyBhbmQgNjU1MzYgaW5vZGVzCi1GaWxlc3lzdGVtIFVVSUQ6IDk4NzkxZWIyLTJiZjMtNDdhZC1iNGQ4LTRjZjdlOTE0ZWVlMgotCi1yb290QHFlbXV4ODYtNjQ6fiMgbHMgL2Rldi9kaXNrL2J5LXV1aWQvOTg3OTFlYjItMmJmMy00N2FkLWI0ZDgtNGNmN2U5MTRlZWUyCi1sczogY2Fubm90IGFjY2VzcyAnL2Rldi9kaXNrL2J5LXV1aWQvOTg3OTFlYjItMmJmMy00N2FkLWI0ZDgtNGNmN2U5MTRlZWUyJzogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQotLi4uCi1JbmNsdWRlIGhkKiBpbiBhIG1hdGNoIGZvciB3YXRjaCBvcHRpb24gYXNzaWdubWVudC4KLQotVXBzdHJlYW0tU3RhdHVzOiBEZW5pZWQKLQotcWVtdSBieSBkZWZhdWx0IGVtdWxhdGVzIElERSBhbmQgdGhlIGxpbnV4LXlvY3RvIGtlcm5lbChzKSB1c2UKLUNPTkZJR19JREUgaW5zdGVhZCBvZiB0aGUgbW9yZSBtb2Rlcm4gbGlic2F0YSwgc28gZGlza3MgYXBwZWFyIGFzCi0vZGV2L2hkKi4gQSBzaW1pbGFyIHBhdGNoIHJlamVjdGVkIGJ5IHVwc3RyZWFtIGJlY2F1c2UgQ09ORklHX0lERQotaXMgZGVwcmVjYXRlZC4KLQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gcnVsZXMvNjAtYmxvY2sucnVsZXMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9ydWxlcy82MC1ibG9jay5ydWxlcyBiL3J1bGVzLzYwLWJsb2NrLnJ1bGVzCi1pbmRleCAzNDNmYzA2ZjguLmI1MjM3ZGFjNCAxMDA2NDQKLS0tLSBhL3J1bGVzLzYwLWJsb2NrLnJ1bGVzCi0rKysgYi9ydWxlcy82MC1ibG9jay5ydWxlcwotQEAgLTgsNCArOCw0IEBAIEFDVElPTj09ImFkZCIsIFNVQlNZU1RFTT09Im1vZHVsZSIsIEtFUk5FTD09ImJsb2NrIiwgQVRUUntwYXJhbWV0ZXJzL2V2ZW50c19kZmxfCi0gQUNUSU9OPT0iY2hhbmdlIiwgU1VCU1lTVEVNPT0ic2NzaSIsIEVOVntERVZUWVBFfT09InNjc2lfZGV2aWNlIiwgVEVTVD09ImJsb2NrIiwgQVRUUntibG9jay8qL3VldmVudH09ImNoYW5nZSIKLSAKLSAjIHdhdGNoIG1ldGFkYXRhIGNoYW5nZXMsIGNhdXNlZCBieSB0b29scyBjbG9zaW5nIHRoZSBkZXZpY2Ugbm9kZSB3aGljaCB3YXMgb3BlbmVkIGZvciB3cml0aW5nCi0tQUNUSU9OIT0icmVtb3ZlIiwgU1VCU1lTVEVNPT0iYmxvY2siLCBLRVJORUw9PSJsb29wKnxudm1lKnxzZCp8dmQqfHh2ZCp8cG1lbSp8bW1jYmxrKiIsIE9QVElPTlMrPSJ3YXRjaCIKLStBQ1RJT04hPSJyZW1vdmUiLCBTVUJTWVNURU09PSJibG9jayIsIEtFUk5FTD09Imxvb3AqfG52bWUqfHNkKnx2ZCp8eHZkKnxwbWVtKnxtbWNibGsqfGhkKiIsIE9QVElPTlMrPSJ3YXRjaCIKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDgtRG8tbm90LWVuYWJsZS1uc3MtdGVzdHMtaWYtbnNzLXN5c3RlbWQtaXMtbm90LWVuYWJsZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDgtRG8tbm90LWVuYWJsZS1uc3MtdGVzdHMtaWYtbnNzLXN5c3RlbWQtaXMtbm90LWVuYWJsZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWJlY2RjNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA4LURvLW5vdC1lbmFibGUtbnNzLXRlc3RzLWlmLW5zcy1zeXN0ZW1kLWlzLW5vdC1lbmFibGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1Gcm9tIGI2YmE1OTZmZDEzMTNhMTYyY2RjMmViODgxNjFkY2YyNGQxOWVkZTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDI4IEp1biAyMDE4IDEwOjEwOjAyICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggOC85XSBEbyBub3QgZW5hYmxlIG5zcyB0ZXN0cyBpZiBuc3Mtc3lzdGVtZCBpcyBub3QgZW5hYmxlZAotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy90ZXN0L21lc29uLmJ1aWxkIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbWVzb24uYnVpbGQgYi9zcmMvdGVzdC9tZXNvbi5idWlsZAotaW5kZXggN2RhN2UzYTIyLi43YjdjMjU3ZmYgMTAwNjQ0Ci0tLS0gYS9zcmMvdGVzdC9tZXNvbi5idWlsZAotKysrIGIvc3JjL3Rlc3QvbWVzb24uYnVpbGQKLUBAIC02NDUsNyArNjQ1LDcgQEAgdGVzdHMgKz0gWwotICAgICAgICAgW1snc3JjL3Rlc3QvdGVzdC1uc3MuYyddLAotICAgICAgICAgIFtdLAotICAgICAgICAgIFtsaWJkbF0sCi0tICAgICAgICAgJycsICdtYW51YWwnXSwKLSsgICAgICAgICAnRU5BQkxFX05TU19TWVNURU1EJywgJ21hbnVhbCddLAotIAotICAgICAgICAgW1snc3JjL3Rlc3QvdGVzdC11bW91bnQuYycsCi0gICAgICAgICAgICdzcmMvY29yZS9tb3VudC1zZXR1cC5jJywKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDgtYWRkLW1pc3NpbmctRlRXXy1tYWNyb3MtZm9yLW11c2wucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA4LWFkZC1taXNzaW5nLUZUV18tbWFjcm9zLWZvci1tdXNsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1ZjIzNDkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA4LWFkZC1taXNzaW5nLUZUV18tbWFjcm9zLWZvci1tdXNsLnBhdGNoCkBAIC0wLDAgKzEsNDcgQEAKK0Zyb20gNmNkMTdjNzUzZDJjMGE5MGZjNzkxZjY5YmJjNjk0Y2JjODU1NmE0ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMjUgRmViIDIwMTkgMTU6MDA6MDYgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAwOC8yNF0gYWRkIG1pc3NpbmcgRlRXXyBtYWNyb3MgZm9yIG11c2wKKworVGhpcyBpcyB0byBhdm9pZCBidWlsZCBmYWlsdXJlcyBsaWtlIGJlbG93IGZvciBtdXNsLgorCisgIGxvY2FsZS11dGlsLmM6Mjk2OjI0OiBlcnJvcjogJ0ZUV19TVE9QJyB1bmRlY2xhcmVkCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2Jhc2ljL21pc3NpbmdfdHlwZS5oIHwgMjAgKysrKysrKysrKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL21pc3NpbmdfdHlwZS5oIGIvc3JjL2Jhc2ljL21pc3NpbmdfdHlwZS5oCitpbmRleCBjNDg3ZTY1Li4yMzYwMmViIDEwMDY0NAorLS0tIGEvc3JjL2Jhc2ljL21pc3NpbmdfdHlwZS5oCisrKysgYi9zcmMvYmFzaWMvbWlzc2luZ190eXBlLmgKK0BAIC0xOSwzICsxOSwyMyBAQCB0eXBlZGVmIGludCAoKmNvbXBhcmlzb25fZm5fdCkoY29uc3Qgdm9pZCAqLCBjb25zdCB2b2lkICopOworICNkZWZpbmUgX19DT01QQVJfRk5fVAorIHR5cGVkZWYgaW50ICgqX19jb21wYXJfZm5fdCkoY29uc3Qgdm9pZCAqLCBjb25zdCB2b2lkICopOworICNlbmRpZgorKworKyNpZm5kZWYgRlRXX0FDVElPTlJFVFZBTAorKyNkZWZpbmUgRlRXX0FDVElPTlJFVFZBTCAxNgorKyNlbmRpZgorKworKyNpZm5kZWYgRlRXX0NPTlRJTlVFCisrI2RlZmluZSBGVFdfQ09OVElOVUUgMAorKyNlbmRpZgorKworKyNpZm5kZWYgRlRXX1NUT1AKKysjZGVmaW5lIEZUV19TVE9QIDEKKysjZW5kaWYKKysKKysjaWZuZGVmIEZUV19TS0lQX1NVQlRSRUUKKysjZGVmaW5lIEZUV19TS0lQX1NVQlRSRUUgMgorKyNlbmRpZgorKworKyNpZm5kZWYgRlRXX1NLSVBfU0lCTElOR1MKKysjZGVmaW5lIEZUV19TS0lQX1NJQkxJTkdTIDMKKysjZW5kaWYKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwOC1kb24tdC1mYWlsLWlmLUdMT0JfQlJBQ0UtYW5kLUdMT0JfQUxURElSRlVOQy1pcy1ub3QtLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwOC1kb24tdC1mYWlsLWlmLUdMT0JfQlJBQ0UtYW5kLUdMT0JfQUxURElSRlVOQy1pcy1ub3QtLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZWU1ZmI2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDgtZG9uLXQtZmFpbC1pZi1HTE9CX0JSQUNFLWFuZC1HTE9CX0FMVERJUkZVTkMtaXMtbm90LS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE1MyArMCwwIEBACi1Gcm9tIDg0OGU3MTFkNzE5YTZkOTg3YmM3ZDE0MTgzZTFjN2IxZjFjOTFjNTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBGcmksIDI5IEp1biAyMDE4IDE3OjEwOjI5ICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggMDgvMTldIGRvbid0IGZhaWwgaWYgR0xPQl9CUkFDRSBhbmQgR0xPQl9BTFRESVJGVU5DIGlzIG5vdAotIGRlZmluZWQKLQotSWYgdGhlIHN0YW5kYXJkIGxpYnJhcnkgZG9lc24ndCBwcm92aWRlIGJyYWNlCi1leHBhbnNpb24gdXNlcnMganVzdCB3b24ndCBnZXQgaXQuCi0KLURvbnQgdXNlIEdOVSBHTE9CIGV4dGVudGlvbnMgb24gbm9uLWdsaWJjIHN5c3RlbXMKLQotQ29uZGl0aW9uYWxpemUgdXNlIG9mIEdMT0JfQUxURElSRlVOQwotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBzcmMvYmFzaWMvZ2xvYi11dGlsLmMgICAgIHwgMTMgKysrKysrKysrKystLQotIHNyYy90ZXN0L3Rlc3QtZ2xvYi11dGlsLmMgfCAxNSArKysrKysrKysrKysrKysKLSBzcmMvdG1wZmlsZXMvdG1wZmlsZXMuYyAgIHwgMTAgKysrKysrKysrKwotIDMgZmlsZXMgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9nbG9iLXV0aWwuYyBiL3NyYy9iYXNpYy9nbG9iLXV0aWwuYwotaW5kZXggOWZhYzY3NmYyLi44YWRiOTU1OWUgMTAwNjQ0Ci0tLS0gYS9zcmMvYmFzaWMvZ2xvYi11dGlsLmMKLSsrKyBiL3NyYy9iYXNpYy9nbG9iLXV0aWwuYwotQEAgLTEwLDYgKzEwLDExIEBACi0gI2luY2x1ZGUgIm1hY3JvLmgiCi0gI2luY2x1ZGUgInBhdGgtdXRpbC5oIgotICNpbmNsdWRlICJzdHJ2LmgiCi0rLyogRG9uJ3QgZmFpbCBpZiB0aGUgc3RhbmRhcmQgbGlicmFyeQotKyAqIGRvZXNuJ3QgcHJvdmlkZSBicmFjZSBleHBhbnNpb24gKi8KLSsjaWZuZGVmIEdMT0JfQlJBQ0UKLSsjZGVmaW5lIEdMT0JfQlJBQ0UgMAotKyNlbmRpZgotIAotIHN0YXRpYyB2b2lkIGNsb3NlZGlyX3dyYXBwZXIodm9pZCogdikgewotICAgICAgICAgKHZvaWQpIGNsb3NlZGlyKHYpOwotQEAgLTE4LDYgKzIzLDcgQEAgc3RhdGljIHZvaWQgY2xvc2VkaXJfd3JhcHBlcih2b2lkKiB2KSB7Ci0gaW50IHNhZmVfZ2xvYihjb25zdCBjaGFyICpwYXRoLCBpbnQgZmxhZ3MsIGdsb2JfdCAqcGdsb2IpIHsKLSAgICAgICAgIGludCBrOwotIAotKyNpZmRlZiBHTE9CX0FMVERJUkZVTkMKLSAgICAgICAgIC8qIFdlIHdhbnQgdG8gc2V0IEdMT0JfQUxURElSRlVOQyBvdXJzZWx2ZXMsIGRvbid0IGFsbG93IGl0IHRvIGJlIHNldC4gKi8KLSAgICAgICAgIGFzc2VydCghKGZsYWdzICYgR0xPQl9BTFRESVJGVU5DKSk7Ci0gCi1AQCAtMzEsMTAgKzM3LDEzIEBAIGludCBzYWZlX2dsb2IoY29uc3QgY2hhciAqcGF0aCwgaW50IGZsYWdzLCBnbG9iX3QgKnBnbG9iKSB7Ci0gICAgICAgICAgICAgICAgIHBnbG9iLT5nbF9sc3RhdCA9IGxzdGF0OwotICAgICAgICAgaWYgKCFwZ2xvYi0+Z2xfc3RhdCkKLSAgICAgICAgICAgICAgICAgcGdsb2ItPmdsX3N0YXQgPSBzdGF0OwotLQotKyNlbmRpZgotICAgICAgICAgZXJybm8gPSAwOwotKyNpZmRlZiBHTE9CX0FMVERJUkZVTkMKLSAgICAgICAgIGsgPSBnbG9iKHBhdGgsIGZsYWdzIHwgR0xPQl9BTFRESVJGVU5DLCBOVUxMLCBwZ2xvYik7Ci0tCi0rI2Vsc2UKLSsgICAgICAgIGsgPSBnbG9iKHBhdGgsIGZsYWdzLCBOVUxMLCBwZ2xvYik7Ci0rI2VuZGlmCi0gICAgICAgICBpZiAoayA9PSBHTE9CX05PTUFUQ0gpCi0gICAgICAgICAgICAgICAgIHJldHVybiAtRU5PRU5UOwotICAgICAgICAgaWYgKGsgPT0gR0xPQl9OT1NQQUNFKQotZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3Rlc3QtZ2xvYi11dGlsLmMgYi9zcmMvdGVzdC90ZXN0LWdsb2ItdXRpbC5jCi1pbmRleCBkNzhkNjIyM2MuLmY1OTQzYjI2ZCAxMDA2NDQKLS0tLSBhL3NyYy90ZXN0L3Rlc3QtZ2xvYi11dGlsLmMKLSsrKyBiL3NyYy90ZXN0L3Rlc3QtZ2xvYi11dGlsLmMKLUBAIC0xMiw2ICsxMiwxMSBAQAotICNpbmNsdWRlICJnbG9iLXV0aWwuaCIKLSAjaW5jbHVkZSAibWFjcm8uaCIKLSAjaW5jbHVkZSAicm0tcmYuaCIKLSsvKiBEb24ndCBmYWlsIGlmIHRoZSBzdGFuZGFyZCBsaWJyYXJ5Ci0rICogZG9lc24ndCBwcm92aWRlIGJyYWNlIGV4cGFuc2lvbiAqLwotKyNpZm5kZWYgR0xPQl9CUkFDRQotKyNkZWZpbmUgR0xPQl9CUkFDRSAwCi0rI2VuZGlmCi0gCi0gc3RhdGljIHZvaWQgdGVzdF9nbG9iX2V4aXN0cyh2b2lkKSB7Ci0gICAgICAgICBjaGFyIG5hbWVbXSA9ICIvdG1wL3Rlc3QtZ2xvYl9leGlzdHMuWFhYWFhYIjsKLUBAIC00MCwxMSArNDUsMTMgQEAgc3RhdGljIHZvaWQgdGVzdF9nbG9iX25vX2RvdCh2b2lkKSB7Ci0gICAgICAgICBjb25zdCBjaGFyICpmbjsKLSAKLSAgICAgICAgIF9jbGVhbnVwX2dsb2JmcmVlXyBnbG9iX3QgZyA9IHsKLSsjaWZkZWYgR0xPQl9BTFRESVJGVU5DCi0gICAgICAgICAgICAgICAgIC5nbF9jbG9zZWRpciA9IGNsb3NlZGlyX3dyYXBwZXIsCi0gICAgICAgICAgICAgICAgIC5nbF9yZWFkZGlyID0gKHN0cnVjdCBkaXJlbnQgKigqKSh2b2lkICopKSByZWFkZGlyX25vX2RvdCwKLSAgICAgICAgICAgICAgICAgLmdsX29wZW5kaXIgPSAodm9pZCAqKCopKGNvbnN0IGNoYXIgKikpIG9wZW5kaXIsCi0gICAgICAgICAgICAgICAgIC5nbF9sc3RhdCA9IGxzdGF0LAotICAgICAgICAgICAgICAgICAuZ2xfc3RhdCA9IHN0YXQsCi0rI2VuZGlmCi0gICAgICAgICB9OwotIAotICAgICAgICAgaW50IHI7Ci1AQCAtNTIsMTEgKzU5LDE5IEBAIHN0YXRpYyB2b2lkIHRlc3RfZ2xvYl9ub19kb3Qodm9pZCkgewotICAgICAgICAgYXNzZXJ0X3NlKG1rZHRlbXAodGVtcGxhdGUpKTsKLSAKLSAgICAgICAgIGZuID0gc3Ryam9pbmEodGVtcGxhdGUsICIvKiIpOwotKyNpZmRlZiBHTE9CX0FMVERJUkZVTkMKLSAgICAgICAgIHIgPSBnbG9iKGZuLCBHTE9CX05PU09SVHxHTE9CX0JSQUNFfEdMT0JfQUxURElSRlVOQywgTlVMTCwgJmcpOwotKyNlbHNlCi0rICAgICAgICByID0gZ2xvYihmbiwgR0xPQl9OT1NPUlR8R0xPQl9CUkFDRSwgTlVMTCwgJmcpOwotKyNlbmRpZgotICAgICAgICAgYXNzZXJ0X3NlKHIgPT0gR0xPQl9OT01BVENIKTsKLSAKLSAgICAgICAgIGZuID0gc3Ryam9pbmEodGVtcGxhdGUsICIvLioiKTsKLSsjaWZkZWYgR0xPQl9BTFRESVJGVU5DCi0gICAgICAgICByID0gZ2xvYihmbiwgR0xPQl9OT1NPUlR8R0xPQl9CUkFDRXxHTE9CX0FMVERJUkZVTkMsIE5VTEwsICZnKTsKLSsjZWxzZQotKyAgICAgICAgciA9IGdsb2IoZm4sIEdMT0JfTk9TT1JUfEdMT0JfQlJBQ0UsIE5VTEwsICZnKTsKLSsjZW5kaWYKLSAgICAgICAgIGFzc2VydF9zZShyID09IEdMT0JfTk9NQVRDSCk7Ci0gCi0gICAgICAgICAodm9pZCkgcm1fcmYodGVtcGxhdGUsIFJFTU9WRV9ST09UfFJFTU9WRV9QSFlTSUNBTCk7Ci1kaWZmIC0tZ2l0IGEvc3JjL3RtcGZpbGVzL3RtcGZpbGVzLmMgYi9zcmMvdG1wZmlsZXMvdG1wZmlsZXMuYwotaW5kZXggOTI3ZGUzNWYzLi41ZjAyODNkYTUgMTAwNjQ0Ci0tLS0gYS9zcmMvdG1wZmlsZXMvdG1wZmlsZXMuYwotKysrIGIvc3JjL3RtcGZpbGVzL3RtcGZpbGVzLmMKLUBAIC02MCw2ICs2MCwxMiBAQAotICNpbmNsdWRlICJ1c2VyLXV0aWwuaCIKLSAjaW5jbHVkZSAidXRpbC5oIgotIAotKy8qIERvbid0IGZhaWwgaWYgdGhlIHN0YW5kYXJkIGxpYnJhcnkKLSsgKiBkb2Vzbid0IHByb3ZpZGUgYnJhY2UgZXhwYW5zaW9uICovCi0rI2lmbmRlZiBHTE9CX0JSQUNFCi0rI2RlZmluZSBHTE9CX0JSQUNFIDAKLSsjZW5kaWYKLSsKLSAvKiBUaGlzIHJlYWRzIGFsbCBmaWxlcyBsaXN0ZWQgaW4gL2V0Yy90bXBmaWxlcy5kLz8qLmNvbmYgYW5kIGNyZWF0ZXMKLSAgKiB0aGVtIGluIHRoZSBmaWxlIHN5c3RlbS4gVGhpcyBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIHRvIGNyZWF0ZQotICAqIHByb3Blcmx5IG93bmVkIGRpcmVjdG9yaWVzIGJlbmVhdGggL3RtcCwgL3Zhci90bXAsIC9ydW4sIHdoaWNoIGFyZQotQEAgLTEzNDUsNyArMTM1MSw5IEBAIGZpbmlzaDoKLSAKLSBzdGF0aWMgaW50IGdsb2JfaXRlbShJdGVtICppLCBhY3Rpb25fdCBhY3Rpb24pIHsKLSAgICAgICAgIF9jbGVhbnVwX2dsb2JmcmVlXyBnbG9iX3QgZyA9IHsKLSsjaWZkZWYgR0xPQl9BTFRESVJGVU5DCi0gICAgICAgICAgICAgICAgIC5nbF9vcGVuZGlyID0gKHZvaWQgKigqKShjb25zdCBjaGFyICopKSBvcGVuZGlyX25vbW9kLAotKyNlbmRpZgotICAgICAgICAgfTsKLSAgICAgICAgIGludCByID0gMCwgazsKLSAgICAgICAgIGNoYXIgKipmbjsKLUBAIC0xMzY1LDcgKzEzNzMsOSBAQCBzdGF0aWMgaW50IGdsb2JfaXRlbShJdGVtICppLCBhY3Rpb25fdCBhY3Rpb24pIHsKLSAKLSBzdGF0aWMgaW50IGdsb2JfaXRlbV9yZWN1cnNpdmVseShJdGVtICppLCBmZGFjdGlvbl90IGFjdGlvbikgewotICAgICAgICAgX2NsZWFudXBfZ2xvYmZyZWVfIGdsb2JfdCBnID0gewotKyNpZmRlZiBHTE9CX0FMVERJUkZVTkMKLSAgICAgICAgICAgICAgICAgLmdsX29wZW5kaXIgPSAodm9pZCAqKCopKGNvbnN0IGNoYXIgKikpIG9wZW5kaXJfbm9tb2QsCi0rI2VuZGlmCi0gICAgICAgICB9OwotICAgICAgICAgaW50IHIgPSAwLCBrOwotICAgICAgICAgY2hhciAqKmZuOwotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwOS1hZGQtbWlzc2luZy1GVFdfLW1hY3Jvcy1mb3ItbXVzbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDktYWRkLW1pc3NpbmctRlRXXy1tYWNyb3MtZm9yLW11c2wucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk1Mjg3Y2NlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDktYWRkLW1pc3NpbmctRlRXXy1tYWNyb3MtZm9yLW11c2wucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi1Gcm9tIGFjYzJjMDgwODI3OTU4MDIwMTFlM2M1Zjg2MjZkNjMyMTAwMjE0ODkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBXZWQsIDI4IEZlYiAyMDE4IDIxOjM2OjMyIC0wODAwCi1TdWJqZWN0OiBbUEFUQ0ggMDkvMTldIGFkZCBtaXNzaW5nIEZUV18gbWFjcm9zIGZvciBtdXNsCi0KLVRoaXMgaXMgdG8gYXZvaWQgYnVpbGQgZmFpbHVyZXMgbGlrZSBiZWxvdyBmb3IgbXVzbC4KLQotICBsb2NhbGUtdXRpbC5jOjI5NjoyNDogZXJyb3I6ICdGVFdfU1RPUCcgdW5kZWNsYXJlZAotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy9iYXNpYy9taXNzaW5nLmggfCAyMCArKysrKysrKysrKysrKysrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvbWlzc2luZy5oIGIvc3JjL2Jhc2ljL21pc3NpbmcuaAotaW5kZXggMDIzOTdmMWI2Li42ZGM3NTBlYmEgMTAwNjQ0Ci0tLS0gYS9zcmMvYmFzaWMvbWlzc2luZy5oCi0rKysgYi9zcmMvYmFzaWMvbWlzc2luZy5oCi1AQCAtMTg5LDYgKzE4OSwyNiBAQCBzdHJ1Y3Qgc29ja2FkZHJfdm0gewotICNkZWZpbmUgQlRSRlNfUUdST1VQX0xFVkVMX1NISUZUIDQ4Ci0gI2VuZGlmCi0gCi0rI2lmbmRlZiBGVFdfQUNUSU9OUkVUVkFMCi0rI2RlZmluZSBGVFdfQUNUSU9OUkVUVkFMIDE2Ci0rI2VuZGlmCi0rCi0rI2lmbmRlZiBGVFdfQ09OVElOVUUKLSsjZGVmaW5lIEZUV19DT05USU5VRSAwCi0rI2VuZGlmCi0rCi0rI2lmbmRlZiBGVFdfU1RPUAotKyNkZWZpbmUgRlRXX1NUT1AgMQotKyNlbmRpZgotKwotKyNpZm5kZWYgRlRXX1NLSVBfU1VCVFJFRQotKyNkZWZpbmUgRlRXX1NLSVBfU1VCVFJFRSAyCi0rI2VuZGlmCi0rCi0rI2lmbmRlZiBGVFdfU0tJUF9TSUJMSU5HUwotKyNkZWZpbmUgRlRXX1NLSVBfU0lCTElOR1MgMwotKyNlbmRpZgotKwotICNpZiAhIEhBVkVfTElOVVhfQlRSRlNfSAotICNkZWZpbmUgQlRSRlNfSU9DX1FHUk9VUF9BU1NJR04gX0lPVyhCVFJGU19JT0NUTF9NQUdJQywgNDEsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGJ0cmZzX2lvY3RsX3Fncm91cF9hc3NpZ25fYXJncykKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDktbnNzLW15bWFjaGluZXMtQnVpbGQtY29uZGl0aW9uYWxseS13aGVuLUVOQUJMRV9NWUhPUy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDktbnNzLW15bWFjaGluZXMtQnVpbGQtY29uZGl0aW9uYWxseS13aGVuLUVOQUJMRV9NWUhPUy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTYzNWZhOS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA5LW5zcy1teW1hY2hpbmVzLUJ1aWxkLWNvbmRpdGlvbmFsbHktd2hlbi1FTkFCTEVfTVlIT1MucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi1Gcm9tIGY5NjI1YjVmM2ZkNWRhYzNmMzU5MWRiZWViMjRkYzlkNmZkYTc5MGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUdWUsIDI3IEZlYiAyMDE4IDEyOjU2OjIxICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggOS85XSBuc3MtbXltYWNoaW5lczogQnVpbGQgY29uZGl0aW9uYWxseSB3aGVuCi0gRU5BQkxFX01ZSE9TVE5BTUUgaXMgc2V0Ci0KLUZpeGVzIGJ1aWxkIGZhaWx1cmVzIHdoZW4gYnVpbGRpbmcgd2l0aCAtLWRpc2FibGUtbXlob3N0bmFtZQotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIG1lc29uLmJ1aWxkIHwgMTEgKysrKysrKy0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbWVzb24uYnVpbGQgYi9tZXNvbi5idWlsZAotaW5kZXggM2JiMDg3ZmVmLi43M2JkNzBiMGIgMTAwNjQ0Ci0tLS0gYS9tZXNvbi5idWlsZAotKysrIGIvbWVzb24uYnVpbGQKLUBAIC0xMzcxLDEyICsxMzcxLDE1IEBAIHRlc3RfZGxvcGVuID0gZXhlY3V0YWJsZSgKLSAgICAgICAgIGxpbmtfd2l0aCA6IFtsaWJiYXNpY10sCi0gICAgICAgICBkZXBlbmRlbmNpZXMgOiBbbGliZGxdKQotIAotLWZvcmVhY2ggdHVwbGUgOiBbWydteWhvc3RuYW1lJywgJ0VOQUJMRV9NWUhPU1ROQU1FJ10sCi0tICAgICAgICAgICAgICAgICBbJ3N5c3RlbWQnLCAgICAnRU5BQkxFX05TU19TWVNURU1EJ10sCi0tICAgICAgICAgICAgICAgICBbJ215bWFjaGluZXMnLCAnRU5BQkxFX01BQ0hJTkVEJ10sCi0tICAgICAgICAgICAgICAgICBbJ3Jlc29sdmUnLCAgICAnRU5BQkxFX1JFU09MVkUnXV0KLStmb3JlYWNoIHR1cGxlIDogW1snbXlob3N0bmFtZScsICdFTkFCTEVfTVlIT1NUTkFNRScsICAnJ10sCi0rICAgICAgICAgICAgICAgICBbJ3N5c3RlbWQnLCAgICAnRU5BQkxFX05TU19TWVNURU1EJywgJyddLAotKyAgICAgICAgICAgICAgICAgWydteW1hY2hpbmVzJywgJ0VOQUJMRV9NQUNISU5FRCcsICAgICdFTkFCTEVfTVlIT1NUTkFNRSddLAotKyAgICAgICAgICAgICAgICAgWydyZXNvbHZlJywgICAgJ0VOQUJMRV9SRVNPTFZFJywgICAgICcnXV0KLSAKLSAgICAgICAgIGNvbmRpdGlvbiA9IHR1cGxlWzFdID09ICcnIG9yIGNvbmYuZ2V0KHR1cGxlWzFdKSA9PSAxCi0rICAgICAgICBpZiB0dXBsZVsyXSAhPSAnJyBhbmQgY29uZGl0aW9uCi0rICAgICAgICAgICAgICAgIGNvbmRpdGlvbiA9IGNvbmYuZ2V0KHR1cGxlWzJdKSA9PSAxCi0rICAgICAgICBlbmRpZgotICAgICAgICAgaWYgY29uZGl0aW9uCi0gICAgICAgICAgICAgICAgIG1vZHVsZSA9IHR1cGxlWzBdCi0gCi0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA5LXNvY2tldC11dGlsLWRvbi10LWZhaWwtaWYtbGliYy1kb2Vzbi10LXN1cHBvcnQtSUROLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwOS1zb2NrZXQtdXRpbC1kb24tdC1mYWlsLWlmLWxpYmMtZG9lc24tdC1zdXBwb3J0LUlETi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41N2NiNWYzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwOS1zb2NrZXQtdXRpbC1kb24tdC1mYWlsLWlmLWxpYmMtZG9lc24tdC1zdXBwb3J0LUlETi5wYXRjaApAQCAtMCwwICsxLDM4IEBACitGcm9tIDZhMmNhZGQ2YjcwY2I0MGFjNzRmYzBkMGY4NTU3YjkxNGJkMzhhYzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDIgSnVsIDIwMTggMTM6MjI6NDEgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAwOS8yNF0gc29ja2V0LXV0aWw6IGRvbid0IGZhaWwgaWYgbGliYyBkb2Vzbid0IHN1cHBvcnQgSUROCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogRW1pbCBSZW5uZXIgQmVydGhpbmcgPHN5c3RlbWRAZXNtaWwuZGs+CitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2Jhc2ljL3NvY2tldC11dGlsLmMgfCAxMCArKysrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9zb2NrZXQtdXRpbC5jIGIvc3JjL2Jhc2ljL3NvY2tldC11dGlsLmMKK2luZGV4IDkxYmY4MDEuLmM0NDVmZWEgMTAwNjQ0CistLS0gYS9zcmMvYmFzaWMvc29ja2V0LXV0aWwuYworKysrIGIvc3JjL2Jhc2ljL3NvY2tldC11dGlsLmMKK0BAIC0zMyw2ICszMywxNiBAQAorICNpbmNsdWRlICJ1dGY4LmgiCisgI2luY2x1ZGUgInV0aWwuaCIKKyAKKysvKiBEb24ndCBmYWlsIGlmIHRoZSBzdGFuZGFyZCBsaWJyYXJ5CisrICogZG9lc24ndCBzdXBwb3J0IElETiAqLworKyNpZm5kZWYgTklfSUROCisrI2RlZmluZSBOSV9JRE4gMAorKyNlbmRpZgorKworKyNpZm5kZWYgTklfSUROX1VTRV9TVEQzX0FTQ0lJX1JVTEVTCisrI2RlZmluZSBOSV9JRE5fVVNFX1NURDNfQVNDSUlfUlVMRVMgMAorKyNlbmRpZgorKworICNpZiBFTkFCTEVfSUROCisgIyAgZGVmaW5lIElETl9GTEFHUyBOSV9JRE4KKyAjZWxzZQorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDEwLWZpeC1taXNzaW5nLW9mLV9fcmVnaXN0ZXJfYXRmb3JrLWZvci1ub24tZ2xpYmMtYnVpbGQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDEwLWZpeC1taXNzaW5nLW9mLV9fcmVnaXN0ZXJfYXRmb3JrLWZvci1ub24tZ2xpYmMtYnVpbGQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGJhY2QwMgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTAtZml4LW1pc3Npbmctb2YtX19yZWdpc3Rlcl9hdGZvcmstZm9yLW5vbi1nbGliYy1idWlsZC5wYXRjaApAQCAtMCwwICsxLDQ1IEBACitGcm9tIGYxZjRiNGY5Njg0ZmVkMTg1YmZhOGI5ZWQ0MDljZGYyNDE2NTdlOTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDI1IEZlYiAyMDE5IDE1OjAzOjQ3ICswODAwCitTdWJqZWN0OiBbUEFUQ0ggMTAvMjRdIGZpeCBtaXNzaW5nIG9mIF9fcmVnaXN0ZXJfYXRmb3JrIGZvciBub24tZ2xpYmMgYnVpbGRzCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jIHwgNyArKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jIGIvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jCitpbmRleCA3OGNlNDNiLi5hZWMyZGFmIDEwMDY0NAorLS0tIGEvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jCisrKysgYi9zcmMvYmFzaWMvcHJvY2Vzcy11dGlsLmMKK0BAIC0yMiw2ICsyMiw5IEBACisgI2lmIEhBVkVfVkFMR1JJTkRfVkFMR1JJTkRfSAorICNpbmNsdWRlIDx2YWxncmluZC92YWxncmluZC5oPgorICNlbmRpZgorKyNpZm5kZWYgX19HTElCQ19fCisrI2luY2x1ZGUgPHB0aHJlYWQuaD4KKysjZW5kaWYKKyAKKyAjaW5jbHVkZSAiYWxsb2MtdXRpbC5oIgorICNpbmNsdWRlICJhcmNoaXRlY3R1cmUuaCIKK0BAIC0xMTYwLDExICsxMTYzLDE1IEBAIHZvaWQgcmVzZXRfY2FjaGVkX3BpZCh2b2lkKSB7CisgICAgICAgICBjYWNoZWRfcGlkID0gQ0FDSEVEX1BJRF9VTlNFVDsKKyB9CisgCisrI2lmZGVmIF9fR0xJQkNfXworIC8qIFdlIHVzZSBnbGliYyBfX3JlZ2lzdGVyX2F0Zm9yaygpICsgX19kc29faGFuZGxlIGRpcmVjdGx5IGhlcmUsIGFzIHRoZXkgYXJlIG5vdCBpbmNsdWRlZCBpbiB0aGUgZ2xpYmMKKyAgKiBoZWFkZXJzLiBfX3JlZ2lzdGVyX2F0Zm9yaygpIGlzIG1vc3RseSBlcXVpdmFsZW50IHRvIHB0aHJlYWRfYXRmb3JrKCksIGJ1dCBkb2Vzbid0IHJlcXVpcmUgdXMgdG8gbGluayBhZ2FpbnN0CisgICogbGlicHRocmVhZCwgYXMgaXQgaXMgcGFydCBvZiBnbGliYyBhbnl3YXkuICovCisgZXh0ZXJuIGludCBfX3JlZ2lzdGVyX2F0Zm9yayh2b2lkICgqcHJlcGFyZSkgKHZvaWQpLCB2b2lkICgqcGFyZW50KSAodm9pZCksIHZvaWQgKCpjaGlsZCkgKHZvaWQpLCB2b2lkICpkc29faGFuZGxlKTsKKyBleHRlcm4gdm9pZCogX19kc29faGFuZGxlIF93ZWFrXzsKKysjZWxzZQorKyNkZWZpbmUgX19yZWdpc3Rlcl9hdGZvcmsocHJlcGFyZSxwYXJlbnQsY2hpbGQsZHNvKSBwdGhyZWFkX2F0Zm9yayhwcmVwYXJlLHBhcmVudCxjaGlsZCkKKysjZW5kaWYKKyAKKyBwaWRfdCBnZXRwaWRfY2FjaGVkKHZvaWQpIHsKKyAgICAgICAgIHN0YXRpYyBib29sIGluc3RhbGxlZCA9IGZhbHNlOworLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDEwLXNvY2tldC11dGlsLWRvbi10LWZhaWwtaWYtbGliYy1kb2Vzbi10LXN1cHBvcnQtSUROLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxMC1zb2NrZXQtdXRpbC1kb24tdC1mYWlsLWlmLWxpYmMtZG9lc24tdC1zdXBwb3J0LUlETi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTY1NDc5OC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDEwLXNvY2tldC11dGlsLWRvbi10LWZhaWwtaWYtbGliYy1kb2Vzbi10LXN1cHBvcnQtSUROLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotRnJvbSBhMGJkNTg3MzAwNzQ0ZGJiOGU5Y2ZiYjA0MzIzMzY3MGNlNzgxYzk4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotRGF0ZTogTW9uLCAyIEp1bCAyMDE4IDEzOjIyOjQxICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggMTAvMTldIHNvY2tldC11dGlsOiBkb24ndCBmYWlsIGlmIGxpYmMgZG9lc24ndCBzdXBwb3J0IElETgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IEVtaWwgUmVubmVyIEJlcnRoaW5nIDxzeXN0ZW1kQGVzbWlsLmRrPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy9iYXNpYy9zb2NrZXQtdXRpbC5jIHwgMTAgKysrKysrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvc29ja2V0LXV0aWwuYyBiL3NyYy9iYXNpYy9zb2NrZXQtdXRpbC5jCi1pbmRleCBhOTEzMTAyZTEuLjBkMDE1NDgwNSAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy9zb2NrZXQtdXRpbC5jCi0rKysgYi9zcmMvYmFzaWMvc29ja2V0LXV0aWwuYwotQEAgLTMyLDYgKzMyLDE2IEBACi0gI2luY2x1ZGUgInV0ZjguaCIKLSAjaW5jbHVkZSAidXRpbC5oIgotIAotKy8qIERvbid0IGZhaWwgaWYgdGhlIHN0YW5kYXJkIGxpYnJhcnkKLSsgKiBkb2Vzbid0IHN1cHBvcnQgSUROICovCi0rI2lmbmRlZiBOSV9JRE4KLSsjZGVmaW5lIE5JX0lETiAwCi0rI2VuZGlmCi0rCi0rI2lmbmRlZiBOSV9JRE5fVVNFX1NURDNfQVNDSUlfUlVMRVMKLSsjZGVmaW5lIE5JX0lETl9VU0VfU1REM19BU0NJSV9SVUxFUyAwCi0rI2VuZGlmCi0rCi0gI2lmIEVOQUJMRV9JRE4KLSAjICBkZWZpbmUgSUROX0ZMQUdTIE5JX0lETgotICNlbHNlCi0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDExLVVzZS11aW50bWF4X3QtZm9yLWhhbmRsaW5nLXJsaW1fdC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTEtVXNlLXVpbnRtYXhfdC1mb3ItaGFuZGxpbmctcmxpbV90LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2ZWRhOWMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDExLVVzZS11aW50bWF4X3QtZm9yLWhhbmRsaW5nLXJsaW1fdC5wYXRjaApAQCAtMCwwICsxLDk3IEBACitGcm9tIGUzZjg0N2JkMDMzOGQyN2FmZjMzMzViNDI2NjFkOGE0YjY2Yjk2NWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDI1IEZlYiAyMDE5IDE1OjEyOjQxICswODAwCitTdWJqZWN0OiBbUEFUQ0ggMTEvMjRdIFVzZSB1aW50bWF4X3QgZm9yIGhhbmRsaW5nIHJsaW1fdAorCitQUkl1ezMyLDY0fSBpcyBub3QgcmlnaHQgZm9ybWF0IHRvIHJlcHJlc2VudCBybGltX3QgdHlwZQordGhlcmVmb3JlIHVzZSAlanUgYW5kIHR5cGVjYXN0IHRoZSBybGltX3QgdmFyaWFibGVzIHRvCit1aW50bWF4X3QuCisKK0ZpeGVzIHBvcnRhYmxpbGl0eSBlcnJvcnMgbGlrZQorCitleGVjdXRlLmM6MzQ0NjozNjogZXJyb3I6IGZvcm1hdCAnJWx1JyBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUgJ2xvbmcgdW5zaWduZWQgaW50JywgYnV0IGFyZ3VtZW50IDUgaGFzIHR5cGUgJ3JsaW1fdCB7YWthIGxvbmcgbG9uZyB1bnNpZ25lZCBpbnR9JyBbLVdlcnJvcj1mb3JtYXQ9XQorfCAgICAgICAgICAgICAgICAgICAgICAgICAgZnByaW50ZihmLCAiJXMlczogIiBSTElNX0ZNVCAiXG4iLAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fgorfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVmaXgsIHJsaW1pdF90b19zdHJpbmcoaSksIGMtPnJsaW1pdFtpXS0+cmxpbV9tYXgpOworfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKworVXBzdHJlYW0tU3RhdHVzOiBEZW5pZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9zeXN0ZW1kL3N5c3RlbWQvcHVsbC83MTk5XQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorW1JlYmFzZWQgZm9yIHYyNDFdCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvYmFzaWMvZm9ybWF0LXV0aWwuaCB8ICA4ICstLS0tLS0tCisgc3JjL2Jhc2ljL3JsaW1pdC11dGlsLmMgfCAxMCArKysrKy0tLS0tCisgc3JjL2NvcmUvZXhlY3V0ZS5jICAgICAgfCAgNCArKy0tCisgMyBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL2Zvcm1hdC11dGlsLmggYi9zcmMvYmFzaWMvZm9ybWF0LXV0aWwuaAoraW5kZXggZGVjZTVkMy4uZGJiODdiYyAxMDA2NDQKKy0tLSBhL3NyYy9iYXNpYy9mb3JtYXQtdXRpbC5oCisrKysgYi9zcmMvYmFzaWMvZm9ybWF0LXV0aWwuaAorQEAgLTQyLDEzICs0Miw3IEBACisgIyAgZGVmaW5lIFBSSV9USU1FWCAibGkiCisgI2VuZGlmCisgCistI2lmIFNJWkVPRl9STElNX1QgPT0gOAorLSMgIGRlZmluZSBSTElNX0ZNVCAiJSIgUFJJdTY0CistI2VsaWYgU0laRU9GX1JMSU1fVCA9PSA0CistIyAgZGVmaW5lIFJMSU1fRk1UICIlIiBQUkl1MzIKKy0jZWxzZQorLSMgIGVycm9yIFVua25vd24gcmxpbV90IHNpemUKKy0jZW5kaWYKKysjZGVmaW5lIFJMSU1fRk1UICIlanUiCisgCisgI2lmIFNJWkVPRl9ERVZfVCA9PSA4CisgIyAgZGVmaW5lIERFVl9GTVQgIiUiIFBSSXU2NAorZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9ybGltaXQtdXRpbC5jIGIvc3JjL2Jhc2ljL3JsaW1pdC11dGlsLmMKK2luZGV4IDc0YjNhMDIuLmIwMmMwM2MgMTAwNjQ0CistLS0gYS9zcmMvYmFzaWMvcmxpbWl0LXV0aWwuYworKysrIGIvc3JjL2Jhc2ljL3JsaW1pdC11dGlsLmMKK0BAIC0zMDcsMTMgKzMwNywxMyBAQCBpbnQgcmxpbWl0X2Zvcm1hdChjb25zdCBzdHJ1Y3QgcmxpbWl0ICpybCwgY2hhciAqKnJldCkgeworICAgICAgICAgaWYgKHJsLT5ybGltX2N1ciA+PSBSTElNX0lORklOSVRZICYmIHJsLT5ybGltX21heCA+PSBSTElNX0lORklOSVRZKQorICAgICAgICAgICAgICAgICBzID0gc3RyZHVwKCJpbmZpbml0eSIpOworICAgICAgICAgZWxzZSBpZiAocmwtPnJsaW1fY3VyID49IFJMSU1fSU5GSU5JVFkpCistICAgICAgICAgICAgICAgICh2b2lkKSBhc3ByaW50ZigmcywgImluZmluaXR5OiIgUkxJTV9GTVQsIHJsLT5ybGltX21heCk7CisrICAgICAgICAgICAgICAgICh2b2lkKSBhc3ByaW50ZigmcywgImluZmluaXR5OiIgUkxJTV9GTVQsICh1aW50bWF4X3QpcmwtPnJsaW1fbWF4KTsKKyAgICAgICAgIGVsc2UgaWYgKHJsLT5ybGltX21heCA+PSBSTElNX0lORklOSVRZKQorLSAgICAgICAgICAgICAgICAodm9pZCkgYXNwcmludGYoJnMsIFJMSU1fRk1UICI6aW5maW5pdHkiLCBybC0+cmxpbV9jdXIpOworKyAgICAgICAgICAgICAgICAodm9pZCkgYXNwcmludGYoJnMsIFJMSU1fRk1UICI6aW5maW5pdHkiLCAodWludG1heF90KXJsLT5ybGltX2N1cik7CisgICAgICAgICBlbHNlIGlmIChybC0+cmxpbV9jdXIgPT0gcmwtPnJsaW1fbWF4KQorLSAgICAgICAgICAgICAgICAodm9pZCkgYXNwcmludGYoJnMsIFJMSU1fRk1ULCBybC0+cmxpbV9jdXIpOworKyAgICAgICAgICAgICAgICAodm9pZCkgYXNwcmludGYoJnMsIFJMSU1fRk1ULCAodWludG1heF90KXJsLT5ybGltX2N1cik7CisgICAgICAgICBlbHNlCistICAgICAgICAgICAgICAgICh2b2lkKSBhc3ByaW50ZigmcywgUkxJTV9GTVQgIjoiIFJMSU1fRk1ULCBybC0+cmxpbV9jdXIsIHJsLT5ybGltX21heCk7CisrICAgICAgICAgICAgICAgICh2b2lkKSBhc3ByaW50ZigmcywgUkxJTV9GTVQgIjoiIFJMSU1fRk1ULCAodWludG1heF90KXJsLT5ybGltX2N1ciwgKHVpbnRtYXhfdClybC0+cmxpbV9tYXgpOworIAorICAgICAgICAgaWYgKCFzKQorICAgICAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKK0BAIC00MDQsNyArNDA0LDcgQEAgaW50IHJsaW1pdF9ub2ZpbGVfc2FmZSh2b2lkKSB7CisgCisgICAgICAgICBybC5ybGltX2N1ciA9IEZEX1NFVFNJWkU7CisgICAgICAgICBpZiAoc2V0cmxpbWl0KFJMSU1JVF9OT0ZJTEUsICZybCkgPCAwKQorLSAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2RlYnVnX2Vycm5vKGVycm5vLCAiRmFpbGVkIHRvIGxvd2VyIFJMSU1JVF9OT0ZJTEUncyBzb2Z0IGxpbWl0IHRvICIgUkxJTV9GTVQgIjogJW0iLCBybC5ybGltX2N1cik7CisrICAgICAgICAgICAgICAgIHJldHVybiBsb2dfZGVidWdfZXJybm8oZXJybm8sICJGYWlsZWQgdG8gbG93ZXIgUkxJTUlUX05PRklMRSdzIHNvZnQgbGltaXQgdG8gIiBSTElNX0ZNVCAiOiAlbSIsICh1aW50bWF4X3QpcmwucmxpbV9jdXIpOworIAorICAgICAgICAgcmV0dXJuIDE7CisgfQorZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2V4ZWN1dGUuYyBiL3NyYy9jb3JlL2V4ZWN1dGUuYworaW5kZXggYTcwODIzMS4uZTJiODc0OCAxMDA2NDQKKy0tLSBhL3NyYy9jb3JlL2V4ZWN1dGUuYworKysrIGIvc3JjL2NvcmUvZXhlY3V0ZS5jCitAQCAtNDIyMCw5ICs0MjIwLDkgQEAgdm9pZCBleGVjX2NvbnRleHRfZHVtcChjb25zdCBFeGVjQ29udGV4dCAqYywgRklMRSogZiwgY29uc3QgY2hhciAqcHJlZml4KSB7CisgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgUkxJTV9OTElNSVRTOyBpKyspCisgICAgICAgICAgICAgICAgIGlmIChjLT5ybGltaXRbaV0pIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKGYsICIlc0xpbWl0JXM6ICIgUkxJTV9GTVQgIlxuIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeCwgcmxpbWl0X3RvX3N0cmluZyhpKSwgYy0+cmxpbWl0W2ldLT5ybGltX21heCk7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVmaXgsIHJsaW1pdF90b19zdHJpbmcoaSksICh1aW50bWF4X3QpYy0+cmxpbWl0W2ldLT5ybGltX21heCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgZnByaW50ZihmLCAiJXNMaW1pdCVzU29mdDogIiBSTElNX0ZNVCAiXG4iLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlZml4LCBybGltaXRfdG9fc3RyaW5nKGkpLCBjLT5ybGltaXRbaV0tPnJsaW1fY3VyKTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeCwgcmxpbWl0X3RvX3N0cmluZyhpKSwgKHVpbnRtYXhfdCljLT5ybGltaXRbaV0tPnJsaW1fY3VyKTsKKyAgICAgICAgICAgICAgICAgfQorIAorICAgICAgICAgaWYgKGMtPmlvcHJpb19zZXQpIHsKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxMS1zcmMtYmFzaWMtbWlzc2luZy5oLWNoZWNrLWZvci1taXNzaW5nLV9fY29tcGFyX2ZuX3QtLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxMS1zcmMtYmFzaWMtbWlzc2luZy5oLWNoZWNrLWZvci1taXNzaW5nLV9fY29tcGFyX2ZuX3QtLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYTIyZmZkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTEtc3JjLWJhc2ljLW1pc3NpbmcuaC1jaGVjay1mb3ItbWlzc2luZy1fX2NvbXBhcl9mbl90LS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLUZyb20gMDQ1ZjIwNWZkMjFlNWUzODBlZGY4MTNkZTA0ZmNmYmY1YTQ4NzIxOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLURhdGU6IE1vbiwgMiBKdWwgMjAxOCAxMzoyODoyNSArMDgwMAotU3ViamVjdDogW1BBVENIIDExLzE5XSBzcmMvYmFzaWMvbWlzc2luZy5oOiBjaGVjayBmb3IgbWlzc2luZyBfX2NvbXBhcl9mbl90Ci0gdHlwZWRlZgotCi1pbmNsdWRlIG1pc3NpbmcuaCBmb3IgbWlzc2luZyBfX2NvbXBhcl9mbl90Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy9iYXNpYy9taXNzaW5nLmggfCA1ICsrKysrCi0gc3JjL2Jhc2ljL3N0cmJ1Zi5jICB8IDEgKwotIDIgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvbWlzc2luZy5oIGIvc3JjL2Jhc2ljL21pc3NpbmcuaAotaW5kZXggNmRjNzUwZWJhLi5jZDFjYzEwOWYgMTAwNjQ0Ci0tLS0gYS9zcmMvYmFzaWMvbWlzc2luZy5oCi0rKysgYi9zcmMvYmFzaWMvbWlzc2luZy5oCi1AQCAtMTE3OSw2ICsxMTc5LDExIEBAIHN0cnVjdCBpbnB1dF9tYXNrIHsKLSAjZGVmaW5lIFJFTkFNRV9OT1JFUExBQ0UgKDEgPDwgMCkKLSAjZW5kaWYKLSAKLSsjaWZuZGVmIF9fQ09NUEFSX0ZOX1QKLSsjZGVmaW5lIF9fQ09NUEFSX0ZOX1QKLSt0eXBlZGVmIGludCAoKl9fY29tcGFyX2ZuX3QpKGNvbnN0IHZvaWQgKiwgY29uc3Qgdm9pZCAqKTsKLSsjZW5kaWYKLSsKLSAjaWZuZGVmIEtDTVBfRklMRQotICNkZWZpbmUgS0NNUF9GSUxFIDAKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvc3RyYnVmLmMgYi9zcmMvYmFzaWMvc3RyYnVmLmMKLWluZGV4IGUyZWQ3NzZhMC4uNGQzZWJlYzRjIDEwMDY0NAotLS0tIGEvc3JjL2Jhc2ljL3N0cmJ1Zi5jCi0rKysgYi9zcmMvYmFzaWMvc3RyYnVmLmMKLUBAIC03LDYgKzcsNyBAQAotICNpbmNsdWRlICJhbGxvYy11dGlsLmgiCi0gI2luY2x1ZGUgInN0cmJ1Zi5oIgotICNpbmNsdWRlICJ1dGlsLmgiCi0rI2luY2x1ZGUgIm1pc3NpbmcuaCIKLSAKLSAvKgotICAqIFN0cmJ1ZiBzdG9yZXMgZ2l2ZW4gc3RyaW5ncyBpbiBhIHNpbmdsZSBjb250aW51b3VzIGFsbG9jYXRlZCBtZW1vcnkKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTItZml4LW1pc3NpbmctVUxPTkdfTE9OR19NQVgtZGVmaW5pdGlvbi1pbi1jYXNlLW9mLW11cy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTItZml4LW1pc3NpbmctVUxPTkdfTE9OR19NQVgtZGVmaW5pdGlvbi1pbi1jYXNlLW9mLW11cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYmFhZTRmCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxMi1maXgtbWlzc2luZy1VTE9OR19MT05HX01BWC1kZWZpbml0aW9uLWluLWNhc2Utb2YtbXVzLnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK0Zyb20gYWE2Y2QxOWFlNDI4NzY5YTM4ZmU3ZDk1Zjk4ZGIwYTljMTlhZTkwYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMjUgRmViIDIwMTkgMTU6MTQ6NDkgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAxMi8yNF0gZml4IG1pc3NpbmcgVUxPTkdfTE9OR19NQVggZGVmaW5pdGlvbiBpbiBjYXNlIG9mIG11c2wKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsXQorCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvYmFzaWMvbWlzc2luZ190eXBlLmggfCA0ICsrKysKKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvYmFzaWMvbWlzc2luZ190eXBlLmggYi9zcmMvYmFzaWMvbWlzc2luZ190eXBlLmgKK2luZGV4IDIzNjAyZWIuLjdkN2MxZTQgMTAwNjQ0CistLS0gYS9zcmMvYmFzaWMvbWlzc2luZ190eXBlLmgKKysrKyBiL3NyYy9iYXNpYy9taXNzaW5nX3R5cGUuaAorQEAgLTM5LDMgKzM5LDcgQEAgdHlwZWRlZiBpbnQgKCpfX2NvbXBhcl9mbl90KShjb25zdCB2b2lkICosIGNvbnN0IHZvaWQgKik7CisgI2lmbmRlZiBGVFdfU0tJUF9TSUJMSU5HUworICNkZWZpbmUgRlRXX1NLSVBfU0lCTElOR1MgMworICNlbmRpZgorKworKyNpZm5kZWYgVUxPTkdfTE9OR19NQVgKKysjZGVmaW5lIFVMT05HX0xPTkdfTUFYIFVMTE9OR19NQVgKKysjZW5kaWYKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxMi1maXgtbWlzc2luZy1vZi1fX3JlZ2lzdGVyX2F0Zm9yay1mb3Itbm9uLWdsaWJjLWJ1aWxkLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxMi1maXgtbWlzc2luZy1vZi1fX3JlZ2lzdGVyX2F0Zm9yay1mb3Itbm9uLWdsaWJjLWJ1aWxkLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNDFiYzRhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTItZml4LW1pc3Npbmctb2YtX19yZWdpc3Rlcl9hdGZvcmstZm9yLW5vbi1nbGliYy1idWlsZC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ1ICswLDAgQEAKLUZyb20gMWZhZGY4MDVjYjM5MWUzYmNiZDlhMDI4NmE5ZTRiN2FkYjllNzQyNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLURhdGU6IE1vbiwgMiBKdWwgMjAxOCAxMzozNDowOSArMDgwMAotU3ViamVjdDogW1BBVENIIDEyLzE5XSBmaXggbWlzc2luZyBvZiBfX3JlZ2lzdGVyX2F0Zm9yayBmb3Igbm9uLWdsaWJjIGJ1aWxkcwotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy9iYXNpYy9wcm9jZXNzLXV0aWwuYyB8IDcgKysrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9wcm9jZXNzLXV0aWwuYyBiL3NyYy9iYXNpYy9wcm9jZXNzLXV0aWwuYwotaW5kZXggMGE0ZjkxN2NiLi4zNTQzYmMwNDUgMTAwNjQ0Ci0tLS0gYS9zcmMvYmFzaWMvcHJvY2Vzcy11dGlsLmMKLSsrKyBiL3NyYy9iYXNpYy9wcm9jZXNzLXV0aWwuYwotQEAgLTIyLDYgKzIyLDkgQEAKLSAjaWYgSEFWRV9WQUxHUklORF9WQUxHUklORF9ICi0gI2luY2x1ZGUgPHZhbGdyaW5kL3ZhbGdyaW5kLmg+Ci0gI2VuZGlmCi0rI2lmbmRlZiBfX0dMSUJDX18KLSsjaW5jbHVkZSA8cHRocmVhZC5oPgotKyNlbmRpZgotIAotICNpbmNsdWRlICJhbGxvYy11dGlsLmgiCi0gI2luY2x1ZGUgImFyY2hpdGVjdHVyZS5oIgotQEAgLTExNTAsMTEgKzExNTMsMTUgQEAgdm9pZCByZXNldF9jYWNoZWRfcGlkKHZvaWQpIHsKLSAgICAgICAgIGNhY2hlZF9waWQgPSBDQUNIRURfUElEX1VOU0VUOwotIH0KLSAKLSsjaWZkZWYgX19HTElCQ19fCi0gLyogV2UgdXNlIGdsaWJjIF9fcmVnaXN0ZXJfYXRmb3JrKCkgKyBfX2Rzb19oYW5kbGUgZGlyZWN0bHkgaGVyZSwgYXMgdGhleSBhcmUgbm90IGluY2x1ZGVkIGluIHRoZSBnbGliYwotICAqIGhlYWRlcnMuIF9fcmVnaXN0ZXJfYXRmb3JrKCkgaXMgbW9zdGx5IGVxdWl2YWxlbnQgdG8gcHRocmVhZF9hdGZvcmsoKSwgYnV0IGRvZXNuJ3QgcmVxdWlyZSB1cyB0byBsaW5rIGFnYWluc3QKLSAgKiBsaWJwdGhyZWFkLCBhcyBpdCBpcyBwYXJ0IG9mIGdsaWJjIGFueXdheS4gKi8KLSBleHRlcm4gaW50IF9fcmVnaXN0ZXJfYXRmb3JrKHZvaWQgKCpwcmVwYXJlKSAodm9pZCksIHZvaWQgKCpwYXJlbnQpICh2b2lkKSwgdm9pZCAoKmNoaWxkKSAodm9pZCksIHZvaWQgKiBfX2Rzb19oYW5kbGUpOwotIGV4dGVybiB2b2lkKiBfX2Rzb19oYW5kbGUgX19hdHRyaWJ1dGVfXyAoKF9fd2Vha19fKSk7Ci0rI2Vsc2UKLSsjZGVmaW5lIF9fcmVnaXN0ZXJfYXRmb3JrKHByZXBhcmUscGFyZW50LGNoaWxkLGRzbykgcHRocmVhZF9hdGZvcmsocHJlcGFyZSxwYXJlbnQsY2hpbGQpCi0rI2VuZGlmCi0gCi0gcGlkX3QgZ2V0cGlkX2NhY2hlZCh2b2lkKSB7Ci0gICAgICAgICBzdGF0aWMgYm9vbCBpbnN0YWxsZWQgPSBmYWxzZTsKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTMtVXNlLXVpbnRtYXhfdC1mb3ItaGFuZGxpbmctcmxpbV90LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxMy1Vc2UtdWludG1heF90LWZvci1oYW5kbGluZy1ybGltX3QucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY5YjNjMTUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxMy1Vc2UtdWludG1heF90LWZvci1oYW5kbGluZy1ybGltX3QucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5MCArMCwwIEBACi1Gcm9tIGEwYWMwY2ZkOTBhZjY0MzFjNjRkMWIyNzZmNDIyYTIwOTJkNTY5YjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBNb24sIDIgSnVsIDIwMTggMTM6NDQ6MjEgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCAxMy8xOV0gVXNlIHVpbnRtYXhfdCBmb3IgaGFuZGxpbmcgcmxpbV90Ci0KLVBSSXV7MzIsNjR9IGlzIG5vdCByaWdodCBmb3JtYXQgdG8gcmVwcmVzZW50IHJsaW1fdCB0eXBlCi10aGVyZWZvcmUgdXNlICVqdSBhbmQgdHlwZWNhc3QgdGhlIHJsaW1fdCB2YXJpYWJsZXMgdG8KLXVpbnRtYXhfdC4KLQotRml4ZXMgcG9ydGFibGlsaXR5IGVycm9ycyBsaWtlCi0KLWV4ZWN1dGUuYzozNDQ2OjM2OiBlcnJvcjogZm9ybWF0ICclbHUnIGV4cGVjdHMgYXJndW1lbnQgb2YgdHlwZSAnbG9uZyB1bnNpZ25lZCBpbnQnLCBidXQgYXJndW1lbnQgNSBoYXMgdHlwZSAncmxpbV90IHtha2EgbG9uZyBsb25nIHVuc2lnbmVkIGludH0nIFstV2Vycm9yPWZvcm1hdD1dCi18ICAgICAgICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKGYsICIlcyVzOiAiIFJMSU1fRk1UICJcbiIsCi18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeCwgcmxpbWl0X3RvX3N0cmluZyhpKSwgYy0+cmxpbWl0W2ldLT5ybGltX21heCk7Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCi1VcHN0cmVhbS1TdGF0dXM6IERlbmllZCBbaHR0cHM6Ly9naXRodWIuY29tL3N5c3RlbWQvc3lzdGVtZC9wdWxsLzcxOTldCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBzcmMvYmFzaWMvZm9ybWF0LXV0aWwuaCB8IDggLS0tLS0tLS0KLSBzcmMvYmFzaWMvcmxpbWl0LXV0aWwuYyB8IDggKysrKy0tLS0KLSBzcmMvY29yZS9leGVjdXRlLmMgICAgICB8IDggKysrKy0tLS0KLSAzIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvZm9ybWF0LXV0aWwuaCBiL3NyYy9iYXNpYy9mb3JtYXQtdXRpbC5oCi1pbmRleCAxNjA1NTBjZDYuLjYxMjQ1ZDFlMyAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy9mb3JtYXQtdXRpbC5oCi0rKysgYi9zcmMvYmFzaWMvZm9ybWF0LXV0aWwuaAotQEAgLTQzLDE0ICs0Myw2IEBACi0gIyAgZGVmaW5lIFBSSV9USU1FWCAibGkiCi0gI2VuZGlmCi0gCi0tI2lmIFNJWkVPRl9STElNX1QgPT0gOAotLSMgIGRlZmluZSBSTElNX0ZNVCAiJSIgUFJJdTY0Ci0tI2VsaWYgU0laRU9GX1JMSU1fVCA9PSA0Ci0tIyAgZGVmaW5lIFJMSU1fRk1UICIlIiBQUkl1MzIKLS0jZWxzZQotLSMgIGVycm9yIFVua25vd24gcmxpbV90IHNpemUKLS0jZW5kaWYKLS0KLSAjaWYgU0laRU9GX0RFVl9UID09IDgKLSAjICBkZWZpbmUgREVWX0ZNVCAiJSIgUFJJdTY0Ci0gI2VsaWYgU0laRU9GX0RFVl9UID09IDQKLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvcmxpbWl0LXV0aWwuYyBiL3NyYy9iYXNpYy9ybGltaXQtdXRpbC5jCi1pbmRleCBiZTFiYTYxNWUuLmUzMjhjZTQ5OSAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy9ybGltaXQtdXRpbC5jCi0rKysgYi9zcmMvYmFzaWMvcmxpbWl0LXV0aWwuYwotQEAgLTI5OSwxMyArMjk5LDEzIEBAIGludCBybGltaXRfZm9ybWF0KGNvbnN0IHN0cnVjdCBybGltaXQgKnJsLCBjaGFyICoqcmV0KSB7Ci0gICAgICAgICBpZiAocmwtPnJsaW1fY3VyID49IFJMSU1fSU5GSU5JVFkgJiYgcmwtPnJsaW1fbWF4ID49IFJMSU1fSU5GSU5JVFkpCi0gICAgICAgICAgICAgICAgIHMgPSBzdHJkdXAoImluZmluaXR5Iik7Ci0gICAgICAgICBlbHNlIGlmIChybC0+cmxpbV9jdXIgPj0gUkxJTV9JTkZJTklUWSkKLS0gICAgICAgICAgICAgICAgKHZvaWQpIGFzcHJpbnRmKCZzLCAiaW5maW5pdHk6IiBSTElNX0ZNVCwgcmwtPnJsaW1fbWF4KTsKLSsgICAgICAgICAgICAgICAgKHZvaWQpIGFzcHJpbnRmKCZzLCAiaW5maW5pdHk6JWp1IiwgKHVpbnRtYXhfdClybC0+cmxpbV9tYXgpOwotICAgICAgICAgZWxzZSBpZiAocmwtPnJsaW1fbWF4ID49IFJMSU1fSU5GSU5JVFkpCi0tICAgICAgICAgICAgICAgICh2b2lkKSBhc3ByaW50ZigmcywgUkxJTV9GTVQgIjppbmZpbml0eSIsIHJsLT5ybGltX2N1cik7Ci0rICAgICAgICAgICAgICAgICh2b2lkKSBhc3ByaW50ZigmcywgIiVqdTppbmZpbml0eSIsICh1aW50bWF4X3QpcmwtPnJsaW1fY3VyKTsKLSAgICAgICAgIGVsc2UgaWYgKHJsLT5ybGltX2N1ciA9PSBybC0+cmxpbV9tYXgpCi0tICAgICAgICAgICAgICAgICh2b2lkKSBhc3ByaW50ZigmcywgUkxJTV9GTVQsIHJsLT5ybGltX2N1cik7Ci0rICAgICAgICAgICAgICAgICh2b2lkKSBhc3ByaW50ZigmcywgIiVqdSIsICh1aW50bWF4X3QpcmwtPnJsaW1fY3VyKTsKLSAgICAgICAgIGVsc2UKLS0gICAgICAgICAgICAgICAgKHZvaWQpIGFzcHJpbnRmKCZzLCBSTElNX0ZNVCAiOiIgUkxJTV9GTVQsIHJsLT5ybGltX2N1ciwgcmwtPnJsaW1fbWF4KTsKLSsgICAgICAgICAgICAgICAgKHZvaWQpIGFzcHJpbnRmKCZzLCAiJWp1OiVqdSIsICh1aW50bWF4X3QpcmwtPnJsaW1fY3VyLCAodWludG1heF90KXJsLT5ybGltX21heCk7Ci0gCi0gICAgICAgICBpZiAoIXMpCi0gICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwotZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2V4ZWN1dGUuYyBiL3NyYy9jb3JlL2V4ZWN1dGUuYwotaW5kZXggOGFjNjlkMWEwLi5lZmVkZjM4NDIgMTAwNjQ0Ci0tLS0gYS9zcmMvY29yZS9leGVjdXRlLmMKLSsrKyBiL3NyYy9jb3JlL2V4ZWN1dGUuYwotQEAgLTM5NzYsMTAgKzM5NzYsMTAgQEAgdm9pZCBleGVjX2NvbnRleHRfZHVtcChjb25zdCBFeGVjQ29udGV4dCAqYywgRklMRSogZiwgY29uc3QgY2hhciAqcHJlZml4KSB7Ci0gCi0gICAgICAgICBmb3IgKGkgPSAwOyBpIDwgUkxJTV9OTElNSVRTOyBpKyspCi0gICAgICAgICAgICAgICAgIGlmIChjLT5ybGltaXRbaV0pIHsKLS0gICAgICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKGYsICJMaW1pdCVzJXM6ICIgUkxJTV9GTVQgIlxuIiwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeCwgcmxpbWl0X3RvX3N0cmluZyhpKSwgYy0+cmxpbWl0W2ldLT5ybGltX21heCk7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgZnByaW50ZihmLCAiTGltaXQlcyVzU29mdDogIiBSTElNX0ZNVCAiXG4iLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlZml4LCBybGltaXRfdG9fc3RyaW5nKGkpLCBjLT5ybGltaXRbaV0tPnJsaW1fY3VyKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKGYsICJMaW1pdCVzJXM6ICVqdVxuIiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeCwgcmxpbWl0X3RvX3N0cmluZyhpKSwgKHVpbnRtYXhfdCljLT5ybGltaXRbaV0tPnJsaW1fbWF4KTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKGYsICJMaW1pdCVzJXNTb2Z0OiAlanVcbiIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVmaXgsIHJsaW1pdF90b19zdHJpbmcoaSksICh1aW50bWF4X3QpYy0+cmxpbWl0W2ldLT5ybGltX2N1cik7Ci0gICAgICAgICAgICAgICAgIH0KLSAKLSAgICAgICAgIGlmIChjLT5pb3ByaW9fc2V0KSB7Ci0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDEzLXRlc3QtaGV4ZGVjb2N0LmMtSW5jbHVkZS1taXNzaW5nLmgtZm9yLXN0cm5kdXBhLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxMy10ZXN0LWhleGRlY29jdC5jLUluY2x1ZGUtbWlzc2luZy5oLWZvci1zdHJuZHVwYS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NzRjMTdjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxMy10ZXN0LWhleGRlY29jdC5jLUluY2x1ZGUtbWlzc2luZy5oLWZvci1zdHJuZHVwYS5wYXRjaApAQCAtMCwwICsxLDI4IEBACitGcm9tIGU1YTQ4Zjg0ZGI1OGZmYjkxMjgzODNlYWVmYzEyM2I1ODI5NTIzZTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogTW9uLCAyMyBPY3QgMjAxNyAxMjozMzoyMiAtMDcwMAorU3ViamVjdDogW1BBVENIIDEzLzI0XSB0ZXN0LWhleGRlY29jdC5jOiBJbmNsdWRlIG1pc3NpbmcuaCBmb3Igc3RybmR1cGEKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL3Rlc3QvdGVzdC1oZXhkZWNvY3QuYyB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvdGVzdC1oZXhkZWNvY3QuYyBiL3NyYy90ZXN0L3Rlc3QtaGV4ZGVjb2N0LmMKK2luZGV4IDUyMjE3NDIuLmEwNWU3NzggMTAwNjQ0CistLS0gYS9zcmMvdGVzdC90ZXN0LWhleGRlY29jdC5jCisrKysgYi9zcmMvdGVzdC90ZXN0LWhleGRlY29jdC5jCitAQCAtNiw2ICs2LDcgQEAKKyAjaW5jbHVkZSAiaGV4ZGVjb2N0LmgiCisgI2luY2x1ZGUgIm1hY3JvLmgiCisgI2luY2x1ZGUgInN0cmluZy11dGlsLmgiCisrI2luY2x1ZGUgIm1pc3NpbmcuaCIKKyAKKyBzdGF0aWMgdm9pZCB0ZXN0X2hleGNoYXIodm9pZCkgeworICAgICAgICAgYXNzZXJ0X3NlKGhleGNoYXIoMHhhKSA9PSAnYScpOworLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE0LWZpeC1taXNzaW5nLVVMT05HX0xPTkdfTUFYLWRlZmluaXRpb24taW4tY2FzZS1vZi1tdXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE0LWZpeC1taXNzaW5nLVVMT05HX0xPTkdfTUFYLWRlZmluaXRpb24taW4tY2FzZS1vZi1tdXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1OGE2MzEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxNC1maXgtbWlzc2luZy1VTE9OR19MT05HX01BWC1kZWZpbml0aW9uLWluLWNhc2Utb2YtbXVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotRnJvbSBjYjU5YjNhZjU0ZmIzYmJkNGQ4MjY0ZmVmOTE5ODEwYWY4ZDA4ZDE2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotRGF0ZTogVHVlLCAyNyBGZWIgMjAxOCAxNDowMTozMCArMDgwMAotU3ViamVjdDogW1BBVENIIDE0LzE5XSBmaXggbWlzc2luZyBVTE9OR19MT05HX01BWCBkZWZpbml0aW9uIGluIGNhc2Ugb2YgbXVzbAotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2xdCi0KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy9iYXNpYy9taXNzaW5nLmggfCA0ICsrKysKLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvbWlzc2luZy5oIGIvc3JjL2Jhc2ljL21pc3NpbmcuaAotaW5kZXggY2QxY2MxMDlmLi4xNDQwNThhMWEgMTAwNjQ0Ci0tLS0gYS9zcmMvYmFzaWMvbWlzc2luZy5oCi0rKysgYi9zcmMvYmFzaWMvbWlzc2luZy5oCi1AQCAtNTQsNiArNTQsMTAgQEAgc3RydWN0IHNvY2thZGRyX3ZtIHsKLSB9OwotICNlbmRpZiAvKiAhSEFWRV9MSU5VWF9WTV9TT0NLRVRTX0ggKi8KLSAKLSsjaWZuZGVmIFVMT05HX0xPTkdfTUFYCi0rI2RlZmluZSBVTE9OR19MT05HX01BWCBVTExPTkdfTUFYCi0rI2VuZGlmCi0rCi0gI2lmbmRlZiBSTElNSVRfUlRUSU1FCi0gI2RlZmluZSBSTElNSVRfUlRUSU1FIDE1Ci0gI2VuZGlmCi0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE0LXRlc3Qtc2l6ZW9mLmMtRGlzYWJsZS10ZXN0cy1mb3ItbWlzc2luZy10eXBlZGVmcy1pbi0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE0LXRlc3Qtc2l6ZW9mLmMtRGlzYWJsZS10ZXN0cy1mb3ItbWlzc2luZy10eXBlZGVmcy1pbi0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTE0NTg5ZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTQtdGVzdC1zaXplb2YuYy1EaXNhYmxlLXRlc3RzLWZvci1taXNzaW5nLXR5cGVkZWZzLWluLS5wYXRjaApAQCAtMCwwICsxLDQyIEBACitGcm9tIGQzZDY1ZDQwMzY2NzBjYmQ1MTI5ZmU1NWMwOWNhMzkxMjg2ZWY0YjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBXZWQsIDI4IEZlYiAyMDE4IDIxOjI1OjIyIC0wODAwCitTdWJqZWN0OiBbUEFUQ0ggMTQvMjRdIHRlc3Qtc2l6ZW9mLmM6IERpc2FibGUgdGVzdHMgZm9yIG1pc3NpbmcgdHlwZWRlZnMgaW4KKyBtdXNsCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KKy0tLQorIHNyYy90ZXN0L3Rlc3Qtc2l6ZW9mLmMgfCA0ICsrKysKKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvdGVzdC90ZXN0LXNpemVvZi5jIGIvc3JjL3Rlc3QvdGVzdC1zaXplb2YuYworaW5kZXggMzViMDg3Ni4uZTc4ZTdjYSAxMDA2NDQKKy0tLSBhL3NyYy90ZXN0L3Rlc3Qtc2l6ZW9mLmMKKysrKyBiL3NyYy90ZXN0L3Rlc3Qtc2l6ZW9mLmMKK0BAIC00MSw4ICs0MSwxMCBAQCBpbnQgbWFpbih2b2lkKSB7CisgICAgICAgICBpbmZvKHVuc2lnbmVkKTsKKyAgICAgICAgIGluZm8obG9uZyB1bnNpZ25lZCk7CisgICAgICAgICBpbmZvKGxvbmcgbG9uZyB1bnNpZ25lZCk7CisrI2lmZGVmIF9fR0xJQkNfXworICAgICAgICAgaW5mbyhfX3N5c2NhbGxfdWxvbmdfdCk7CisgICAgICAgICBpbmZvKF9fc3lzY2FsbF9zbG9uZ190KTsKKysjZW5kaWYKKyAKKyAgICAgICAgIGluZm8oZmxvYXQpOworICAgICAgICAgaW5mbyhkb3VibGUpOworQEAgLTYwLDcgKzYyLDkgQEAgaW50IG1haW4odm9pZCkgeworICAgICAgICAgaW5mbyhzc2l6ZV90KTsKKyAgICAgICAgIGluZm8odGltZV90KTsKKyAgICAgICAgIGluZm8odXNlY190KTsKKysjaWZkZWYgX19HTElCQ19fCisgICAgICAgICBpbmZvKF9fdGltZV90KTsKKysjZW5kaWYKKyAgICAgICAgIGluZm8ocGlkX3QpOworICAgICAgICAgaW5mbyh1aWRfdCk7CisgICAgICAgICBpbmZvKGdpZF90KTsKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxNS1kb24tdC1wYXNzLUFUX1NZTUxJTktfTk9GT0xMT1ctZmxhZy10by1mYWNjZXNzYXQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE1LWRvbi10LXBhc3MtQVRfU1lNTElOS19OT0ZPTExPVy1mbGFnLXRvLWZhY2Nlc3NhdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZDQwN2Y2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxNS1kb24tdC1wYXNzLUFUX1NZTUxJTktfTk9GT0xMT1ctZmxhZy10by1mYWNjZXNzYXQucGF0Y2gKQEAgLTAsMCArMSw5OSBAQAorRnJvbSA0OGM2MjhmNTMyZjYwMjVjMmQxNjQ2YjY4MTljZDgxZWI3ODlkN2ZiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQW5kcmUgTWNDdXJkeSA8YXJtY2N1cmR5QGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMTAgT2N0IDIwMTcgMTQ6MzM6MzAgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSCAxNS8yNF0gZG9uJ3QgcGFzcyBBVF9TWU1MSU5LX05PRk9MTE9XIGZsYWcgdG8gZmFjY2Vzc2F0KCkKKworQXZvaWQgdXNpbmcgQVRfU1lNTElOS19OT0ZPTExPVyBmbGFnLiBJdCBkb2Vzbid0IHNlZW0gbGlrZSB0aGUgcmlnaHQKK3RoaW5nIHRvIGRvIGFuZCBpdCdzIG5vdCBwb3J0YWJsZSAobm90IHN1cHBvcnRlZCBieSBtdXNsKS4gU2VlOgorCisgIGh0dHA6Ly9saXN0cy5sYW5kbGV5Lm5ldC9waXBlcm1haWwvdG95Ym94LWxhbmRsZXkubmV0LzIwMTQtU2VwdGVtYmVyLzAwMzYxMC5odG1sCisgIGh0dHA6Ly93d3cub3BlbndhbGwuY29tL2xpc3RzL211c2wvMjAxNS8wMi8wNS8yCisKK05vdGUgdGhhdCBsYWNjZXNzKCkgaXMgbmV2ZXIgcGFzc2luZyBBVF9FQUNDRVNTIHNvIGEgbG90IG9mIHRoZQorZGlzY3Vzc2lvbiBpbiB0aGUgbGlua3MgYWJvdmUgZG9lc24ndCBhcHBseS4gTm90ZSBhbHNvIHRoYXQKKyhjdXJyZW50bHkpIGFsbCBzeXN0ZW1kIGNhbGxlcnMgb2YgbGFjY2VzcygpIHBhc3MgbW9kZSBhcyBGX09LLCBzbworb25seSBjaGVjayBmb3IgZXhpc3RlbmNlIG9mIGEgZmlsZSwgbm90IGFjY2VzcyBwZXJtaXNzaW9ucy4KK1RoZXJlZm9yZSwgaW4gdGhpcyBjYXNlLCB0aGUgb25seSBkaXN0aWN0aW9uIGJldHdlZW4gZmFjY2Vzc2F0KCkKK3dpdGggKGZsYWcgPT0gMCkgYW5kIChmbGFnID09IEFUX1NZTUxJTktfTk9GT0xMT1cpIGlzIHRoZSBiZWhhdmlvdXIKK2ZvciBicm9rZW4gc3ltbGlua3M7IGxhY2Nlc3MoKSBvbiBhIGJyb2tlbiBzeW1saW5rIHdpbGwgc3VjY2VlZCB3aXRoCisoZmxhZyA9PSBBVF9TWU1MSU5LX05PRk9MTE9XKSBhbmQgZmFpbCAoZmxhZyA9PSAwKS4KKworVGhlIGxhY2Nlc3MoKSBtYWNyb3Mgd2FzIGFkZGVkIHRvIHN5c3RlbWQgc29tZSB0aW1lIGFnbyBhbmQgaXQncyBub3QKK2NsZWFyIGlmIG9yIHdoeSBpdCBuZWVkcyB0byByZXR1cm4gc3VjY2VzcyBmb3IgYnJva2VuIHN5bWxpbmtzLiBNYXliZQoranVzdCBoaXN0b3JpY2FsIGFuZCBub3QgYWN0dWFsbHkgbmVjZXNzYXJ5IG9yIGRlc2lyZWQgYmVoYXZpb3VyPworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlIE1jQ3VyZHkgPGFybWNjdXJkeUBnbWFpbC5jb20+CistLS0KKyBzcmMvYmFzaWMvZnMtdXRpbC5oICAgICAgICAgIHwgMjIgKysrKysrKysrKysrKysrKysrKysrLQorIHNyYy9zaGFyZWQvYmFzZS1maWxlc3lzdGVtLmMgfCAgNiArKystLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDI0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvYmFzaWMvZnMtdXRpbC5oIGIvc3JjL2Jhc2ljL2ZzLXV0aWwuaAoraW5kZXggN2FkMDMwYi4uZDRjYjFlOSAxMDA2NDQKKy0tLSBhL3NyYy9iYXNpYy9mcy11dGlsLmgKKysrKyBiL3NyYy9iYXNpYy9mcy11dGlsLmgKK0BAIC0zMiw3ICszMiwyNyBAQCBpbnQgZmNobW9kX29wYXRoKGludCBmZCwgbW9kZV90IG0pOworIAorIGludCBmZF93YXJuX3Blcm1pc3Npb25zKGNvbnN0IGNoYXIgKnBhdGgsIGludCBmZCk7CisgCistI2RlZmluZSBsYWNjZXNzKHBhdGgsIG1vZGUpIGZhY2Nlc3NhdChBVF9GRENXRCwgKHBhdGgpLCAobW9kZSksIEFUX1NZTUxJTktfTk9GT0xMT1cpCisrLyoKKysgICBBdm9pZCB1c2luZyBBVF9TWU1MSU5LX05PRk9MTE9XIGZsYWcuIEl0IGRvZXNuJ3Qgc2VlbSBsaWtlIHRoZSByaWdodCB0aGluZyB0bworKyAgIGRvIGFuZCBpdCdzIG5vdCBwb3J0YWJsZSAobm90IHN1cHBvcnRlZCBieSBtdXNsKS4gU2VlOgorKworKyAgICAgaHR0cDovL2xpc3RzLmxhbmRsZXkubmV0L3BpcGVybWFpbC90b3lib3gtbGFuZGxleS5uZXQvMjAxNC1TZXB0ZW1iZXIvMDAzNjEwLmh0bWwKKysgICAgIGh0dHA6Ly93d3cub3BlbndhbGwuY29tL2xpc3RzL211c2wvMjAxNS8wMi8wNS8yCisrCisrICAgTm90ZSB0aGF0IGxhY2Nlc3MoKSBpcyBuZXZlciBwYXNzaW5nIEFUX0VBQ0NFU1Mgc28gYSBsb3Qgb2YgdGhlIGRpc2N1c3Npb24gaW4KKysgICB0aGUgbGlua3MgYWJvdmUgZG9lc24ndCBhcHBseS4gTm90ZSBhbHNvIHRoYXQgKGN1cnJlbnRseSkgYWxsIHN5c3RlbWQgY2FsbGVycworKyAgIG9mIGxhY2Nlc3MoKSBwYXNzIG1vZGUgYXMgRl9PSywgc28gb25seSBjaGVjayBmb3IgZXhpc3RlbmNlIG9mIGEgZmlsZSwgbm90CisrICAgYWNjZXNzIHBlcm1pc3Npb25zLiBUaGVyZWZvcmUsIGluIHRoaXMgY2FzZSwgdGhlIG9ubHkgZGlzdGljdGlvbiBiZXR3ZWVuCisrICAgZmFjY2Vzc2F0KCkgd2l0aCAoZmxhZyA9PSAwKSBhbmQgKGZsYWcgPT0gQVRfU1lNTElOS19OT0ZPTExPVykgaXMgdGhlCisrICAgYmVoYXZpb3VyIGZvciBicm9rZW4gc3ltbGlua3M7IGxhY2Nlc3MoKSBvbiBhIGJyb2tlbiBzeW1saW5rIHdpbGwgc3VjY2VlZAorKyAgIHdpdGggKGZsYWcgPT0gQVRfU1lNTElOS19OT0ZPTExPVykgYW5kIGZhaWwgKGZsYWcgPT0gMCkuCisrCisrICAgVGhlIGxhY2Nlc3MoKSBtYWNyb3Mgd2FzIGFkZGVkIHRvIHN5c3RlbWQgc29tZSB0aW1lIGFnbyBhbmQgaXQncyBub3QgY2xlYXIgaWYKKysgICBvciB3aHkgaXQgbmVlZHMgdG8gcmV0dXJuIHN1Y2Nlc3MgZm9yIGJyb2tlbiBzeW1saW5rcy4gTWF5YmUganVzdCBoaXN0b3JpY2FsCisrICAgYW5kIG5vdCBhY3R1YWxseSBuZWNlc3Nhcnkgb3IgZGVzaXJlZCBiZWhhdmlvdXI/CisrKi8KKysKKysjZGVmaW5lIGxhY2Nlc3MocGF0aCwgbW9kZSkgZmFjY2Vzc2F0KEFUX0ZEQ1dELCAocGF0aCksIChtb2RlKSwgMCkKKyAKKyBpbnQgdG91Y2hfZmlsZShjb25zdCBjaGFyICpwYXRoLCBib29sIHBhcmVudHMsIHVzZWNfdCBzdGFtcCwgdWlkX3QgdWlkLCBnaWRfdCBnaWQsIG1vZGVfdCBtb2RlKTsKKyBpbnQgdG91Y2goY29uc3QgY2hhciAqcGF0aCk7CitkaWZmIC0tZ2l0IGEvc3JjL3NoYXJlZC9iYXNlLWZpbGVzeXN0ZW0uYyBiL3NyYy9zaGFyZWQvYmFzZS1maWxlc3lzdGVtLmMKK2luZGV4IDg5ZDdhN2QuLjM0YjRhZDUgMTAwNjQ0CistLS0gYS9zcmMvc2hhcmVkL2Jhc2UtZmlsZXN5c3RlbS5jCisrKysgYi9zcmMvc2hhcmVkL2Jhc2UtZmlsZXN5c3RlbS5jCitAQCAtNTMsNyArNTMsNyBAQCBpbnQgYmFzZV9maWxlc3lzdGVtX2NyZWF0ZShjb25zdCBjaGFyICpyb290LCB1aWRfdCB1aWQsIGdpZF90IGdpZCkgeworICAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2Vycm9yX2Vycm5vKGVycm5vLCAiRmFpbGVkIHRvIG9wZW4gcm9vdCBmaWxlIHN5c3RlbTogJW0iKTsKKyAKKyAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBFTEVNRU5UU09GKHRhYmxlKTsgaSArKykgeworLSAgICAgICAgICAgICAgICBpZiAoZmFjY2Vzc2F0KGZkLCB0YWJsZVtpXS5kaXIsIEZfT0ssIEFUX1NZTUxJTktfTk9GT0xMT1cpID49IDApCisrICAgICAgICAgICAgICAgIGlmIChmYWNjZXNzYXQoZmQsIHRhYmxlW2ldLmRpciwgRl9PSywgMCkgPj0gMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAKKyAgICAgICAgICAgICAgICAgaWYgKHRhYmxlW2ldLnRhcmdldCkgeworQEAgLTYxLDcgKzYxLDcgQEAgaW50IGJhc2VfZmlsZXN5c3RlbV9jcmVhdGUoY29uc3QgY2hhciAqcm9vdCwgdWlkX3QgdWlkLCBnaWRfdCBnaWQpIHsKKyAKKyAgICAgICAgICAgICAgICAgICAgICAgICAvKiBjaGVjayBpZiBvbmUgb2YgdGhlIHRhcmdldHMgZXhpc3RzICovCisgICAgICAgICAgICAgICAgICAgICAgICAgTlVMU1RSX0ZPUkVBQ0gocywgdGFibGVbaV0udGFyZ2V0KSB7CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmFjY2Vzc2F0KGZkLCBzLCBGX09LLCBBVF9TWU1MSU5LX05PRk9MTE9XKSA8IDApCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmFjY2Vzc2F0KGZkLCBzLCBGX09LLCAwKSA8IDApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogY2hlY2sgaWYgYSBzcGVjaWZpYyBmaWxlIGV4aXN0cyBhdCB0aGUgdGFyZ2V0IHBhdGggKi8KK0BAIC03Miw3ICs3Miw3IEBAIGludCBiYXNlX2ZpbGVzeXN0ZW1fY3JlYXRlKGNvbnN0IGNoYXIgKnJvb3QsIHVpZF90IHVpZCwgZ2lkX3QgZ2lkKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbG9nX29vbSgpOworIAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmFjY2Vzc2F0KGZkLCBwLCBGX09LLCBBVF9TWU1MSU5LX05PRk9MTE9XKSA8IDApCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmYWNjZXNzYXQoZmQsIHAsIEZfT0ssIDApIDwgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxNS10ZXN0LWhleGRlY29jdC5jLUluY2x1ZGUtbWlzc2luZy5oLWZvci1zdHJuZHVwYS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTUtdGVzdC1oZXhkZWNvY3QuYy1JbmNsdWRlLW1pc3NpbmcuaC1mb3Itc3RybmR1cGEucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM3Y2E5Y2QuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxNS10ZXN0LWhleGRlY29jdC5jLUluY2x1ZGUtbWlzc2luZy5oLWZvci1zdHJuZHVwYS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLUZyb20gYjExMTA5ZWNjNDExMTBjNTE4YTk4YjZhYzM5NjExZmY4NjQ3NzAyMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDIzIE9jdCAyMDE3IDEyOjMzOjIyIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggMTUvMTldIHRlc3QtaGV4ZGVjb2N0LmM6IEluY2x1ZGUgbWlzc2luZy5oIGZvciBzdHJuZHVwYQotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBzcmMvdGVzdC90ZXN0LWhleGRlY29jdC5jIHwgMSArCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvdGVzdC90ZXN0LWhleGRlY29jdC5jIGIvc3JjL3Rlc3QvdGVzdC1oZXhkZWNvY3QuYwotaW5kZXggZGE5ZjMwMDhiLi43ZmYyZGZlMGMgMTAwNjQ0Ci0tLS0gYS9zcmMvdGVzdC90ZXN0LWhleGRlY29jdC5jCi0rKysgYi9zcmMvdGVzdC90ZXN0LWhleGRlY29jdC5jCi1AQCAtNiw2ICs2LDcgQEAKLSAjaW5jbHVkZSAiaGV4ZGVjb2N0LmgiCi0gI2luY2x1ZGUgIm1hY3JvLmgiCi0gI2luY2x1ZGUgInN0cmluZy11dGlsLmgiCi0rI2luY2x1ZGUgIm1pc3NpbmcuaCIKLSAKLSBzdGF0aWMgdm9pZCB0ZXN0X2hleGNoYXIodm9pZCkgewotICAgICAgICAgYXNzZXJ0X3NlKGhleGNoYXIoMHhhKSA9PSAnYScpOwotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxNi1EZWZpbmUtZ2xpYmMtY29tcGF0aWJsZS1iYXNlbmFtZS1mb3Itbm9uLWdsaWJjLXN5c3RlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxNi1EZWZpbmUtZ2xpYmMtY29tcGF0aWJsZS1iYXNlbmFtZS1mb3Itbm9uLWdsaWJjLXN5c3RlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1NTY1NjkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE2LURlZmluZS1nbGliYy1jb21wYXRpYmxlLWJhc2VuYW1lLWZvci1ub24tZ2xpYmMtc3lzdGUucGF0Y2gKQEAgLTAsMCArMSwzNCBAQAorRnJvbSBhZjc2Yzk3M2U0MTkyOTM2MGE2ZTAyMWYyZmY5YTdmYzFkNzk5NGU5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFN1biwgMjcgTWF5IDIwMTggMDg6MzY6NDQgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSCAxNi8yNF0gRGVmaW5lIGdsaWJjIGNvbXBhdGlibGUgYmFzZW5hbWUoKSBmb3Igbm9uLWdsaWJjCisgc3lzdGVtcworCitGaXhlcyBidWlsZHMgd2l0aCBtdXNsLCBldmVuIHRob3VnaCBzeXN0ZW1kIGlzIGFkYW1hbnQgYWJvdXQKK3VzaW5nIG5vbi1wb3NpeCBiYXNlbmFtZSBpbXBsZW1lbnRhdGlvbiwgd2UgaGF2ZSBhIHdheSBvdXQKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgc3JjL21hY2hpbmUvbWFjaGluZS1kYnVzLmMgfCA0ICsrKysKKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvbWFjaGluZS9tYWNoaW5lLWRidXMuYyBiL3NyYy9tYWNoaW5lL21hY2hpbmUtZGJ1cy5jCitpbmRleCA3YTU1OGRmLi5lY2E3ZDRiIDEwMDY0NAorLS0tIGEvc3JjL21hY2hpbmUvbWFjaGluZS1kYnVzLmMKKysrKyBiL3NyYy9tYWNoaW5lL21hY2hpbmUtZGJ1cy5jCitAQCAtMTEsNiArMTEsMTAgQEAKKyAjaW5jbHVkZSA8bGliZ2VuLmg+CisgI3VuZGVmIGJhc2VuYW1lCisgCisrI2lmICFkZWZpbmVkKF9fR0xJQkNfXykKKysjZGVmaW5lIGJhc2VuYW1lKHNyYykgKHN0cnJjaHIoc3JjLCcvJykgPyBzdHJyY2hyKHNyYywnLycpKzEgOiBzcmMpCisrI2VuZGlmCisrCisgI2luY2x1ZGUgImFsbG9jLXV0aWwuaCIKKyAjaW5jbHVkZSAiYnVzLWNvbW1vbi1lcnJvcnMuaCIKKyAjaW5jbHVkZSAiYnVzLWludGVybmFsLmgiCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTYtdGVzdC1zaXplb2YuYy1EaXNhYmxlLXRlc3RzLWZvci1taXNzaW5nLXR5cGVkZWZzLWluLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTYtdGVzdC1zaXplb2YuYy1EaXNhYmxlLXRlc3RzLWZvci1taXNzaW5nLXR5cGVkZWZzLWluLS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzA2YTM3MC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE2LXRlc3Qtc2l6ZW9mLmMtRGlzYWJsZS10ZXN0cy1mb3ItbWlzc2luZy10eXBlZGVmcy1pbi0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi1Gcm9tIGM0YmJmM2VmZWZmZmUwYTRlZmFkYmY0ZTNmMGFkYjU0ZDc2ZmUwZTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBXZWQsIDI4IEZlYiAyMDE4IDIxOjI1OjIyIC0wODAwCi1TdWJqZWN0OiBbUEFUQ0ggMTYvMTldIHRlc3Qtc2l6ZW9mLmM6IERpc2FibGUgdGVzdHMgZm9yIG1pc3NpbmcgdHlwZWRlZnMgaW4KLSBtdXNsCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy90ZXN0L3Rlc3Qtc2l6ZW9mLmMgfCA0ICsrKysKLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvdGVzdC90ZXN0LXNpemVvZi5jIGIvc3JjL3Rlc3QvdGVzdC1zaXplb2YuYwotaW5kZXggN2ExZTQ5NmVkLi4zODZiMzE0ZDUgMTAwNjQ0Ci0tLS0gYS9zcmMvdGVzdC90ZXN0LXNpemVvZi5jCi0rKysgYi9zcmMvdGVzdC90ZXN0LXNpemVvZi5jCi1AQCAtNDAsOCArNDAsMTAgQEAgaW50IG1haW4odm9pZCkgewotICAgICAgICAgaW5mbyh1bnNpZ25lZCk7Ci0gICAgICAgICBpbmZvKGxvbmcgdW5zaWduZWQpOwotICAgICAgICAgaW5mbyhsb25nIGxvbmcgdW5zaWduZWQpOwotKyNpZmRlZiBfX0dMSUJDX18KLSAgICAgICAgIGluZm8oX19zeXNjYWxsX3Vsb25nX3QpOwotICAgICAgICAgaW5mbyhfX3N5c2NhbGxfc2xvbmdfdCk7Ci0rI2VuZGlmCi0gCi0gICAgICAgICBpbmZvKGZsb2F0KTsKLSAgICAgICAgIGluZm8oZG91YmxlKTsKLUBAIC01OSw3ICs2MSw5IEBAIGludCBtYWluKHZvaWQpIHsKLSAgICAgICAgIGluZm8oc3NpemVfdCk7Ci0gICAgICAgICBpbmZvKHRpbWVfdCk7Ci0gICAgICAgICBpbmZvKHVzZWNfdCk7Ci0rI2lmZGVmIF9fR0xJQkNfXwotICAgICAgICAgaW5mbyhfX3RpbWVfdCk7Ci0rI2VuZGlmCi0gICAgICAgICBpbmZvKHBpZF90KTsKLSAgICAgICAgIGluZm8odWlkX3QpOwotICAgICAgICAgaW5mbyhnaWRfdCk7Ci0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE3LURvLW5vdC1kaXNhYmxlLWJ1ZmZlcmluZy13aGVuLXdyaXRpbmctdG8tb29tX3Njb3JlX2EucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE3LURvLW5vdC1kaXNhYmxlLWJ1ZmZlcmluZy13aGVuLXdyaXRpbmctdG8tb29tX3Njb3JlX2EucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDVlNmRlZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTctRG8tbm90LWRpc2FibGUtYnVmZmVyaW5nLXdoZW4td3JpdGluZy10by1vb21fc2NvcmVfYS5wYXRjaApAQCAtMCwwICsxLDM5IEBACitGcm9tIGM3YTRlZmI4YmNjYjUyZTE3MTRjMTUxOTI5YzIzZTEyYmRlNTliODIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBXZWQsIDQgSnVsIDIwMTggMTU6MDA6NDQgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAxNy8yNF0gRG8gbm90IGRpc2FibGUgYnVmZmVyaW5nIHdoZW4gd3JpdGluZyB0byBvb21fc2NvcmVfYWRqCisKK09uIG11c2wsIGRpc2FibGluZyBidWZmZXJpbmcgd2hlbiB3cml0aW5nIHRvIG9vbV9zY29yZV9hZGogd2lsbAorY2F1c2UgdGhlIGZvbGxvd2luZyBlcnJvci4KKworICBGYWlsZWQgdG8gYWRqdXN0IE9PTSBzZXR0aW5nOiBJbnZhbGlkIGFyZ3VtZW50CisKK1RoaXMgZXJyb3IgYXBwZWFycyBmb3Igc3lzdGVtZC11ZGV2ZC5zZXJ2aWNlIGFuZCBkYnVzLnNlcnZpY2UuCitUaGlzIGlzIGJlY2F1c2Uga2VybmVsIHJlY2VpdmVzICctJyBpbnN0ZWFkIG9mIHRoZSB3aG9sZSAnLTkwMCcKK2lmIGJ1ZmZlcmluZyBpcyBkaXNhYmxlZC4KKworVGhpcyBpcyBsaWJjIGltcGxlbWVudGF0aW9uIHNwZWNpZmljLCBhcyBnbGliYyBkb2VzIG5vdCBoYXZlIHRoaXMgaXNzdWUuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jIGIvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jCitpbmRleCBhZWMyZGFmLi43YjRhYWJmIDEwMDY0NAorLS0tIGEvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jCisrKysgYi9zcmMvYmFzaWMvcHJvY2Vzcy11dGlsLmMKK0BAIC0xNTM4LDcgKzE1MzgsNyBAQCBpbnQgc2V0X29vbV9zY29yZV9hZGp1c3QoaW50IHZhbHVlKSB7CisgICAgICAgICBzcHJpbnRmKHQsICIlaSIsIHZhbHVlKTsKKyAKKyAgICAgICAgIHJldHVybiB3cml0ZV9zdHJpbmdfZmlsZSgiL3Byb2Mvc2VsZi9vb21fc2NvcmVfYWRqIiwgdCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXUklURV9TVFJJTkdfRklMRV9WRVJJRllfT05fRkFJTFVSRXxXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV1JJVEVfU1RSSU5HX0ZJTEVfVkVSSUZZX09OX0ZBSUxVUkUpOworIH0KKyAKKyBzdGF0aWMgY29uc3QgY2hhciAqY29uc3QgaW9wcmlvX2NsYXNzX3RhYmxlW10gPSB7CistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTctZG9uLXQtcGFzcy1BVF9TWU1MSU5LX05PRk9MTE9XLWZsYWctdG8tZmFjY2Vzc2F0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxNy1kb24tdC1wYXNzLUFUX1NZTUxJTktfTk9GT0xMT1ctZmxhZy10by1mYWNjZXNzYXQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhlNDdjNmYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxNy1kb24tdC1wYXNzLUFUX1NZTUxJTktfTk9GT0xMT1ctZmxhZy10by1mYWNjZXNzYXQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5OSArMCwwIEBACi1Gcm9tIDkxYmI0ZjVjOWMxMTQ2NDQ2OGU4ZDNmYTQ3NDZkOThkNTk5OTcyNjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbmRyZSBNY0N1cmR5IDxhcm1jY3VyZHlAZ21haWwuY29tPgotRGF0ZTogVHVlLCAxMCBPY3QgMjAxNyAxNDozMzozMCAtMDcwMAotU3ViamVjdDogW1BBVENIIDE3LzE5XSBkb24ndCBwYXNzIEFUX1NZTUxJTktfTk9GT0xMT1cgZmxhZyB0byBmYWNjZXNzYXQoKQotCi1Bdm9pZCB1c2luZyBBVF9TWU1MSU5LX05PRk9MTE9XIGZsYWcuIEl0IGRvZXNuJ3Qgc2VlbSBsaWtlIHRoZSByaWdodAotdGhpbmcgdG8gZG8gYW5kIGl0J3Mgbm90IHBvcnRhYmxlIChub3Qgc3VwcG9ydGVkIGJ5IG11c2wpLiBTZWU6Ci0KLSAgaHR0cDovL2xpc3RzLmxhbmRsZXkubmV0L3BpcGVybWFpbC90b3lib3gtbGFuZGxleS5uZXQvMjAxNC1TZXB0ZW1iZXIvMDAzNjEwLmh0bWwKLSAgaHR0cDovL3d3dy5vcGVud2FsbC5jb20vbGlzdHMvbXVzbC8yMDE1LzAyLzA1LzIKLQotTm90ZSB0aGF0IGxhY2Nlc3MoKSBpcyBuZXZlciBwYXNzaW5nIEFUX0VBQ0NFU1Mgc28gYSBsb3Qgb2YgdGhlCi1kaXNjdXNzaW9uIGluIHRoZSBsaW5rcyBhYm92ZSBkb2Vzbid0IGFwcGx5LiBOb3RlIGFsc28gdGhhdAotKGN1cnJlbnRseSkgYWxsIHN5c3RlbWQgY2FsbGVycyBvZiBsYWNjZXNzKCkgcGFzcyBtb2RlIGFzIEZfT0ssIHNvCi1vbmx5IGNoZWNrIGZvciBleGlzdGVuY2Ugb2YgYSBmaWxlLCBub3QgYWNjZXNzIHBlcm1pc3Npb25zLgotVGhlcmVmb3JlLCBpbiB0aGlzIGNhc2UsIHRoZSBvbmx5IGRpc3RpY3Rpb24gYmV0d2VlbiBmYWNjZXNzYXQoKQotd2l0aCAoZmxhZyA9PSAwKSBhbmQgKGZsYWcgPT0gQVRfU1lNTElOS19OT0ZPTExPVykgaXMgdGhlIGJlaGF2aW91cgotZm9yIGJyb2tlbiBzeW1saW5rczsgbGFjY2VzcygpIG9uIGEgYnJva2VuIHN5bWxpbmsgd2lsbCBzdWNjZWVkIHdpdGgKLShmbGFnID09IEFUX1NZTUxJTktfTk9GT0xMT1cpIGFuZCBmYWlsIChmbGFnID09IDApLgotCi1UaGUgbGFjY2VzcygpIG1hY3JvcyB3YXMgYWRkZWQgdG8gc3lzdGVtZCBzb21lIHRpbWUgYWdvIGFuZCBpdCdzIG5vdAotY2xlYXIgaWYgb3Igd2h5IGl0IG5lZWRzIHRvIHJldHVybiBzdWNjZXNzIGZvciBicm9rZW4gc3ltbGlua3MuIE1heWJlCi1qdXN0IGhpc3RvcmljYWwgYW5kIG5vdCBhY3R1YWxseSBuZWNlc3Nhcnkgb3IgZGVzaXJlZCBiZWhhdmlvdXI/Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogQW5kcmUgTWNDdXJkeSA8YXJtY2N1cmR5QGdtYWlsLmNvbT4KLS0tLQotIHNyYy9iYXNpYy9mcy11dGlsLmggICAgICAgICAgfCAyMiArKysrKysrKysrKysrKysrKysrKystCi0gc3JjL3NoYXJlZC9iYXNlLWZpbGVzeXN0ZW0uYyB8ICA2ICsrKy0tLQotIDIgZmlsZXMgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9mcy11dGlsLmggYi9zcmMvYmFzaWMvZnMtdXRpbC5oCi1pbmRleCAyODU2Njc3M2MuLjE0Yjg2NGNjNSAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy9mcy11dGlsLmgKLSsrKyBiL3NyYy9iYXNpYy9mcy11dGlsLmgKLUBAIC0zMiw3ICszMiwyNyBAQCBpbnQgZmNobW9kX29wYXRoKGludCBmZCwgbW9kZV90IG0pOwotIAotIGludCBmZF93YXJuX3Blcm1pc3Npb25zKGNvbnN0IGNoYXIgKnBhdGgsIGludCBmZCk7Ci0gCi0tI2RlZmluZSBsYWNjZXNzKHBhdGgsIG1vZGUpIGZhY2Nlc3NhdChBVF9GRENXRCwgKHBhdGgpLCAobW9kZSksIEFUX1NZTUxJTktfTk9GT0xMT1cpCi0rLyoKLSsgICBBdm9pZCB1c2luZyBBVF9TWU1MSU5LX05PRk9MTE9XIGZsYWcuIEl0IGRvZXNuJ3Qgc2VlbSBsaWtlIHRoZSByaWdodCB0aGluZyB0bwotKyAgIGRvIGFuZCBpdCdzIG5vdCBwb3J0YWJsZSAobm90IHN1cHBvcnRlZCBieSBtdXNsKS4gU2VlOgotKwotKyAgICAgaHR0cDovL2xpc3RzLmxhbmRsZXkubmV0L3BpcGVybWFpbC90b3lib3gtbGFuZGxleS5uZXQvMjAxNC1TZXB0ZW1iZXIvMDAzNjEwLmh0bWwKLSsgICAgIGh0dHA6Ly93d3cub3BlbndhbGwuY29tL2xpc3RzL211c2wvMjAxNS8wMi8wNS8yCi0rCi0rICAgTm90ZSB0aGF0IGxhY2Nlc3MoKSBpcyBuZXZlciBwYXNzaW5nIEFUX0VBQ0NFU1Mgc28gYSBsb3Qgb2YgdGhlIGRpc2N1c3Npb24gaW4KLSsgICB0aGUgbGlua3MgYWJvdmUgZG9lc24ndCBhcHBseS4gTm90ZSBhbHNvIHRoYXQgKGN1cnJlbnRseSkgYWxsIHN5c3RlbWQgY2FsbGVycwotKyAgIG9mIGxhY2Nlc3MoKSBwYXNzIG1vZGUgYXMgRl9PSywgc28gb25seSBjaGVjayBmb3IgZXhpc3RlbmNlIG9mIGEgZmlsZSwgbm90Ci0rICAgYWNjZXNzIHBlcm1pc3Npb25zLiBUaGVyZWZvcmUsIGluIHRoaXMgY2FzZSwgdGhlIG9ubHkgZGlzdGljdGlvbiBiZXR3ZWVuCi0rICAgZmFjY2Vzc2F0KCkgd2l0aCAoZmxhZyA9PSAwKSBhbmQgKGZsYWcgPT0gQVRfU1lNTElOS19OT0ZPTExPVykgaXMgdGhlCi0rICAgYmVoYXZpb3VyIGZvciBicm9rZW4gc3ltbGlua3M7IGxhY2Nlc3MoKSBvbiBhIGJyb2tlbiBzeW1saW5rIHdpbGwgc3VjY2VlZAotKyAgIHdpdGggKGZsYWcgPT0gQVRfU1lNTElOS19OT0ZPTExPVykgYW5kIGZhaWwgKGZsYWcgPT0gMCkuCi0rCi0rICAgVGhlIGxhY2Nlc3MoKSBtYWNyb3Mgd2FzIGFkZGVkIHRvIHN5c3RlbWQgc29tZSB0aW1lIGFnbyBhbmQgaXQncyBub3QgY2xlYXIgaWYKLSsgICBvciB3aHkgaXQgbmVlZHMgdG8gcmV0dXJuIHN1Y2Nlc3MgZm9yIGJyb2tlbiBzeW1saW5rcy4gTWF5YmUganVzdCBoaXN0b3JpY2FsCi0rICAgYW5kIG5vdCBhY3R1YWxseSBuZWNlc3Nhcnkgb3IgZGVzaXJlZCBiZWhhdmlvdXI/Ci0rKi8KLSsKLSsjZGVmaW5lIGxhY2Nlc3MocGF0aCwgbW9kZSkgZmFjY2Vzc2F0KEFUX0ZEQ1dELCAocGF0aCksIChtb2RlKSwgMCkKLSAKLSBpbnQgdG91Y2hfZmlsZShjb25zdCBjaGFyICpwYXRoLCBib29sIHBhcmVudHMsIHVzZWNfdCBzdGFtcCwgdWlkX3QgdWlkLCBnaWRfdCBnaWQsIG1vZGVfdCBtb2RlKTsKLSBpbnQgdG91Y2goY29uc3QgY2hhciAqcGF0aCk7Ci1kaWZmIC0tZ2l0IGEvc3JjL3NoYXJlZC9iYXNlLWZpbGVzeXN0ZW0uYyBiL3NyYy9zaGFyZWQvYmFzZS1maWxlc3lzdGVtLmMKLWluZGV4IDg5ZDdhN2Q1OS4uMzRiNGFkNTNhIDEwMDY0NAotLS0tIGEvc3JjL3NoYXJlZC9iYXNlLWZpbGVzeXN0ZW0uYwotKysrIGIvc3JjL3NoYXJlZC9iYXNlLWZpbGVzeXN0ZW0uYwotQEAgLTUzLDcgKzUzLDcgQEAgaW50IGJhc2VfZmlsZXN5c3RlbV9jcmVhdGUoY29uc3QgY2hhciAqcm9vdCwgdWlkX3QgdWlkLCBnaWRfdCBnaWQpIHsKLSAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19lcnJvcl9lcnJubyhlcnJubywgIkZhaWxlZCB0byBvcGVuIHJvb3QgZmlsZSBzeXN0ZW06ICVtIik7Ci0gCi0gICAgICAgICBmb3IgKGkgPSAwOyBpIDwgRUxFTUVOVFNPRih0YWJsZSk7IGkgKyspIHsKLS0gICAgICAgICAgICAgICAgaWYgKGZhY2Nlc3NhdChmZCwgdGFibGVbaV0uZGlyLCBGX09LLCBBVF9TWU1MSU5LX05PRk9MTE9XKSA+PSAwKQotKyAgICAgICAgICAgICAgICBpZiAoZmFjY2Vzc2F0KGZkLCB0YWJsZVtpXS5kaXIsIEZfT0ssIDApID49IDApCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gCi0gICAgICAgICAgICAgICAgIGlmICh0YWJsZVtpXS50YXJnZXQpIHsKLUBAIC02MSw3ICs2MSw3IEBAIGludCBiYXNlX2ZpbGVzeXN0ZW1fY3JlYXRlKGNvbnN0IGNoYXIgKnJvb3QsIHVpZF90IHVpZCwgZ2lkX3QgZ2lkKSB7Ci0gCi0gICAgICAgICAgICAgICAgICAgICAgICAgLyogY2hlY2sgaWYgb25lIG9mIHRoZSB0YXJnZXRzIGV4aXN0cyAqLwotICAgICAgICAgICAgICAgICAgICAgICAgIE5VTFNUUl9GT1JFQUNIKHMsIHRhYmxlW2ldLnRhcmdldCkgewotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZhY2Nlc3NhdChmZCwgcywgRl9PSywgQVRfU1lNTElOS19OT0ZPTExPVykgPCAwKQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZhY2Nlc3NhdChmZCwgcywgRl9PSywgMCkgPCAwKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGNoZWNrIGlmIGEgc3BlY2lmaWMgZmlsZSBleGlzdHMgYXQgdGhlIHRhcmdldCBwYXRoICovCi1AQCAtNzIsNyArNzIsNyBAQCBpbnQgYmFzZV9maWxlc3lzdGVtX2NyZWF0ZShjb25zdCBjaGFyICpyb290LCB1aWRfdCB1aWQsIGdpZF90IGdpZCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXApCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19vb20oKTsKLSAKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZhY2Nlc3NhdChmZCwgcCwgRl9PSywgQVRfU1lNTElOS19OT0ZPTExPVykgPCAwKQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmFjY2Vzc2F0KGZkLCBwLCBGX09LLCAwKSA8IDApCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gCi0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE4LURlZmluZS1nbGliYy1jb21wYXRpYmxlLWJhc2VuYW1lLWZvci1ub24tZ2xpYmMtc3lzdGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE4LURlZmluZS1nbGliYy1jb21wYXRpYmxlLWJhc2VuYW1lLWZvci1ub24tZ2xpYmMtc3lzdGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFiZDBkNjAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxOC1EZWZpbmUtZ2xpYmMtY29tcGF0aWJsZS1iYXNlbmFtZS1mb3Itbm9uLWdsaWJjLXN5c3RlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotRnJvbSA5N2ZlZDA3MTMyNTMzYTFiMmJjZTljNjBlMzA1YTVkMDlhZWUyZTliIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFN1biwgMjcgTWF5IDIwMTggMDg6MzY6NDQgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSCAxOC8xOV0gRGVmaW5lIGdsaWJjIGNvbXBhdGlibGUgYmFzZW5hbWUoKSBmb3Igbm9uLWdsaWJjCi0gc3lzdGVtcwotCi1GaXhlcyBidWlsZHMgd2l0aCBtdXNsLCBldmVuIHRob3VnaCBzeXN0ZW1kIGlzIGFkYW1hbnQgYWJvdXQKLXVzaW5nIG5vbi1wb3NpeCBiYXNlbmFtZSBpbXBsZW1lbnRhdGlvbiwgd2UgaGF2ZSBhIHdheSBvdXQKLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gc3JjL21hY2hpbmUvbWFjaGluZS1kYnVzLmMgfCA0ICsrKysKLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvbWFjaGluZS9tYWNoaW5lLWRidXMuYyBiL3NyYy9tYWNoaW5lL21hY2hpbmUtZGJ1cy5jCi1pbmRleCA3ZjQxNDY1Y2MuLmNlZThhNWQ0MyAxMDA2NDQKLS0tLSBhL3NyYy9tYWNoaW5lL21hY2hpbmUtZGJ1cy5jCi0rKysgYi9zcmMvbWFjaGluZS9tYWNoaW5lLWRidXMuYwotQEAgLTExLDYgKzExLDEwIEBACi0gI2luY2x1ZGUgPGxpYmdlbi5oPgotICN1bmRlZiBiYXNlbmFtZQotIAotKyNpZiAhZGVmaW5lZChfX0dMSUJDX18pCi0rI2RlZmluZSBiYXNlbmFtZShzcmMpIChzdHJyY2hyKHNyYywnLycpID8gc3RycmNocihzcmMsJy8nKSsxIDogc3JjKQotKyNlbmRpZgotKwotICNpbmNsdWRlICJhbGxvYy11dGlsLmgiCi0gI2luY2x1ZGUgImJ1cy1jb21tb24tZXJyb3JzLmgiCi0gI2luY2x1ZGUgImJ1cy1pbnRlcm5hbC5oIgotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxOC1kaXN0aW5ndWlzaC1YU0ktY29tcGxpYW50LXN0cmVycm9yX3ItZnJvbS1HTlUtc3BlY2lmLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxOC1kaXN0aW5ndWlzaC1YU0ktY29tcGxpYW50LXN0cmVycm9yX3ItZnJvbS1HTlUtc3BlY2lmLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5MDE3NzIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE4LWRpc3Rpbmd1aXNoLVhTSS1jb21wbGlhbnQtc3RyZXJyb3Jfci1mcm9tLUdOVS1zcGVjaWYucGF0Y2gKQEAgLTAsMCArMSw2MiBAQAorRnJvbSBmZmZiMjgxMDYxMWI0YTI2ZjVjNmMwOTU4MDkzYjViM2I3ZDRjZDk5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAxMCBKdWwgMjAxOCAxNTo0MDoxNyArMDgwMAorU3ViamVjdDogW1BBVENIIDE4LzI0XSBkaXN0aW5ndWlzaCBYU0ktY29tcGxpYW50IHN0cmVycm9yX3IgZnJvbSBHTlUtc3BlY2lmaQorIHN0cmVycm9yX3IKKworWFNJLWNvbXBsaWFudCBzdHJlcnJvcl9yIGFuZCBHTlUtc3BlY2lmaSBzdHJlcnJvcl9yIGFyZSBkaWZmZXJlbnQuCisKKyAgICAgICBpbnQgc3RyZXJyb3JfcihpbnQgZXJybnVtLCBjaGFyICpidWYsIHNpemVfdCBidWZsZW4pOworICAgICAgICAgICAgICAgICAgIC8qIFhTSS1jb21wbGlhbnQgKi8KKworICAgICAgIGNoYXIgKnN0cmVycm9yX3IoaW50IGVycm51bSwgY2hhciAqYnVmLCBzaXplX3QgYnVmbGVuKTsKKyAgICAgICAgICAgICAgICAgICAvKiBHTlUtc3BlY2lmaWMgKi8KKworV2UgbmVlZCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRoZW0uIE90aGVyd2lzZSwgd2UnbGwgZ2V0IGFuIGludCB2YWx1ZQorYXNzaWduZWQgdG8gKGNoYXIgKikgdmFyaWFibGUsIHJlc3VsdGluZyBpbiBzZWdtZW50IGZhdWx0LgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KKy0tLQorIHNyYy9qb3VybmFsL2pvdXJuYWwtc2VuZC5jICAgICAgICB8IDUgKysrKysKKyBzcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLWVycm9yLmMgfCA1ICsrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvam91cm5hbC9qb3VybmFsLXNlbmQuYyBiL3NyYy9qb3VybmFsL2pvdXJuYWwtc2VuZC5jCitpbmRleCAzZmVhOTEyLi40ZjFlNTkyIDEwMDY0NAorLS0tIGEvc3JjL2pvdXJuYWwvam91cm5hbC1zZW5kLmMKKysrKyBiL3NyYy9qb3VybmFsL2pvdXJuYWwtc2VuZC5jCitAQCAtMzM3LDcgKzMzNywxMiBAQCBzdGF0aWMgaW50IGZpbGxfaW92ZWNfcGVycm9yX2FuZF9zZW5kKGNvbnN0IGNoYXIgKm1lc3NhZ2UsIGludCBza2lwLCBzdHJ1Y3QgaW92ZQorICAgICAgICAgICAgICAgICBjaGFyKiBqOworIAorICAgICAgICAgICAgICAgICBlcnJubyA9IDA7CisrI2lmbmRlZiBfX0dMSUJDX18KKysgICAgICAgICAgICAgICAgc3RyZXJyb3Jfcihfc2F2ZWRfZXJybm9fLCBidWZmZXIgKyA4ICsgaywgbiAtIDggLSBrKTsKKysgICAgICAgICAgICAgICAgaiA9IGJ1ZmZlciArIDggKyBrOworKyNlbHNlCisgICAgICAgICAgICAgICAgIGogPSBzdHJlcnJvcl9yKF9zYXZlZF9lcnJub18sIGJ1ZmZlciArIDggKyBrLCBuIC0gOCAtIGspOworKyNlbmRpZgorICAgICAgICAgICAgICAgICBpZiAoZXJybm8gPT0gMCkgeworICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgZXJyb3JbU1RSTEVOKCJFUlJOTz0iKSArIERFQ0lNQUxfU1RSX01BWChpbnQpICsgMV07CisgCitkaWZmIC0tZ2l0IGEvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1lcnJvci5jIGIvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1lcnJvci5jCitpbmRleCBkYzk1MjM3Li5iZGRhMzBmIDEwMDY0NAorLS0tIGEvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1lcnJvci5jCisrKysgYi9zcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLWVycm9yLmMKK0BAIC0zNzksNyArMzc5LDEyIEBAIHN0YXRpYyB2b2lkIGJ1c19lcnJvcl9zdHJlcnJvcihzZF9idXNfZXJyb3IgKmUsIGludCBlcnJvcikgeworICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAKKyAgICAgICAgICAgICAgICAgZXJybm8gPSAwOworKyNpZm5kZWYgX19HTElCQ19fCisrICAgICAgICAgICAgICAgIHN0cmVycm9yX3IoZXJyb3IsIG0sIGspOworKyAgICAgICAgICAgICAgICB4ID0gbTsKKysjZWxzZQorICAgICAgICAgICAgICAgICB4ID0gc3RyZXJyb3JfcihlcnJvciwgbSwgayk7CisrI2VuZGlmCisgICAgICAgICAgICAgICAgIGlmIChlcnJubyA9PSBFUkFOR0UgfHwgc3RybGVuKHgpID49IGsgLSAxKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgZnJlZShtKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICBrICo9IDI7CistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTktRG8tbm90LWRpc2FibGUtYnVmZmVyaW5nLXdoZW4td3JpdGluZy10by1vb21fc2NvcmVfYS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTktRG8tbm90LWRpc2FibGUtYnVmZmVyaW5nLXdoZW4td3JpdGluZy10by1vb21fc2NvcmVfYS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTQyZjRjMC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE5LURvLW5vdC1kaXNhYmxlLWJ1ZmZlcmluZy13aGVuLXdyaXRpbmctdG8tb29tX3Njb3JlX2EucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi1Gcm9tIDg0NDAzNDhiY2FjMzQyNDljZGY2YWMyZGNhZTlhYzY2ZDNjNzI3ZGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBXZWQsIDQgSnVsIDIwMTggMTU6MDA6NDQgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCAxOS8xOV0gRG8gbm90IGRpc2FibGUgYnVmZmVyaW5nIHdoZW4gd3JpdGluZyB0byBvb21fc2NvcmVfYWRqCi0KLU9uIG11c2wsIGRpc2FibGluZyBidWZmZXJpbmcgd2hlbiB3cml0aW5nIHRvIG9vbV9zY29yZV9hZGogd2lsbAotY2F1c2UgdGhlIGZvbGxvd2luZyBlcnJvci4KLQotICBGYWlsZWQgdG8gYWRqdXN0IE9PTSBzZXR0aW5nOiBJbnZhbGlkIGFyZ3VtZW50Ci0KLVRoaXMgZXJyb3IgYXBwZWFycyBmb3Igc3lzdGVtZC11ZGV2ZC5zZXJ2aWNlIGFuZCBkYnVzLnNlcnZpY2UuCi1UaGlzIGlzIGJlY2F1c2Uga2VybmVsIHJlY2VpdmVzICctJyBpbnN0ZWFkIG9mIHRoZSB3aG9sZSAnLTkwMCcKLWlmIGJ1ZmZlcmluZyBpcyBkaXNhYmxlZC4KLQotVGhpcyBpcyBsaWJjIGltcGxlbWVudGF0aW9uIHNwZWNpZmljLCBhcyBnbGliYyBkb2VzIG5vdCBoYXZlIHRoaXMgaXNzdWUuCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotLS0tCi0gc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jIGIvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jCi1pbmRleCAzNTQzYmMwNDUuLmQwNTcyZTAzNCAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy9wcm9jZXNzLXV0aWwuYwotKysrIGIvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jCi1AQCAtMTQ3Myw3ICsxNDczLDcgQEAgaW50IHNldF9vb21fc2NvcmVfYWRqdXN0KGludCB2YWx1ZSkgewotICAgICAgICAgc3ByaW50Zih0LCAiJWkiLCB2YWx1ZSk7Ci0gCi0gICAgICAgICByZXR1cm4gd3JpdGVfc3RyaW5nX2ZpbGUoIi9wcm9jL3NlbGYvb29tX3Njb3JlX2FkaiIsIHQsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV1JJVEVfU1RSSU5HX0ZJTEVfVkVSSUZZX09OX0ZBSUxVUkV8V1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOwotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdSSVRFX1NUUklOR19GSUxFX1ZFUklGWV9PTl9GQUlMVVJFKTsKLSB9Ci0gCi0gc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IGlvcHJpb19jbGFzc190YWJsZVtdID0gewotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxOS1IaWRlLV9fc3RhcnRfQlVTX0VSUk9SX01BUC1hbmQtX19zdG9wX0JVU19FUlJPUl9NQVAucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE5LUhpZGUtX19zdGFydF9CVVNfRVJST1JfTUFQLWFuZC1fX3N0b3BfQlVTX0VSUk9SX01BUC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNWNjNjZmCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxOS1IaWRlLV9fc3RhcnRfQlVTX0VSUk9SX01BUC1hbmQtX19zdG9wX0JVU19FUlJPUl9NQVAucGF0Y2gKQEAgLTAsMCArMSwzNSBAQAorRnJvbSA5NjlhYjllNjgyNDlmZDM4M2Y0YjUxM2IxYzkzMDZiZGFjNGFlOWIyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyNSBGZWIgMjAxOSAxNToxODowMCArMDgwMAorU3ViamVjdDogW1BBVENIIDE5LzI0XSBIaWRlIF9fc3RhcnRfQlVTX0VSUk9SX01BUCBhbmQgX19zdG9wX0JVU19FUlJPUl9NQVAKKworZm9yIGN1cnJlbnRseSB1bmtub3duIHJlYXNvbnMgdGhleSBnZXQgZXhwb3J0ZWQgdG8gdGhlIHNoYXJlZCBsaWJyaWVzCitldmVuIHdpdGhvdXQgYmVpbmcgbGlzdGVkIGluIHRoZSBzeW0gZmlsZQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK1tSZWJhc2VkIGZvciB2MjQxXQorU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1lcnJvci5jIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtZXJyb3IuYyBiL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtZXJyb3IuYworaW5kZXggYmRkYTMwZi4uZTIxODUzYyAxMDA2NDQKKy0tLSBhL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtZXJyb3IuYworKysrIGIvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1lcnJvci5jCitAQCAtNTQsOCArNTQsOCBAQCBCVVNfRVJST1JfTUFQX0VMRl9SRUdJU1RFUiBjb25zdCBzZF9idXNfZXJyb3JfbWFwIGJ1c19zdGFuZGFyZF9lcnJvcnNbXSA9IHsKKyB9OworIAorIC8qIEdDQyBtYXBzIHRoaXMgbWFnaWNhbGx5IHRvIHRoZSBiZWdpbm5pbmcgYW5kIGVuZCBvZiB0aGUgQlVTX0VSUk9SX01BUCBzZWN0aW9uICovCistZXh0ZXJuIGNvbnN0IHNkX2J1c19lcnJvcl9tYXAgX19zdGFydF9TWVNURU1EX0JVU19FUlJPUl9NQVBbXTsKKy1leHRlcm4gY29uc3Qgc2RfYnVzX2Vycm9yX21hcCBfX3N0b3BfU1lTVEVNRF9CVVNfRVJST1JfTUFQW107CisrZXh0ZXJuIGNvbnN0IHNkX2J1c19lcnJvcl9tYXAgX19zdGFydF9TWVNURU1EX0JVU19FUlJPUl9NQVBbXSBfaGlkZGVuXzsKKytleHRlcm4gY29uc3Qgc2RfYnVzX2Vycm9yX21hcCBfX3N0b3BfU1lTVEVNRF9CVVNfRVJST1JfTUFQW10gX2hpZGRlbl87CisgCisgLyogQWRkaXRpb25hbCBtYXBzIHJlZ2lzdGVyZWQgd2l0aCBzZF9idXNfZXJyb3JfYWRkX21hcCgpIGFyZSBpbiB0aGlzCisgICogTlVMTCB0ZXJtaW5hdGVkIGFycmF5ICovCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjAtZGlzdGluZ3Vpc2gtWFNJLWNvbXBsaWFudC1zdHJlcnJvcl9yLWZyb20tR05VLXNwZWNpZi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjAtZGlzdGluZ3Vpc2gtWFNJLWNvbXBsaWFudC1zdHJlcnJvcl9yLWZyb20tR05VLXNwZWNpZi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWM3OGNhYi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDIwLWRpc3Rpbmd1aXNoLVhTSS1jb21wbGlhbnQtc3RyZXJyb3Jfci1mcm9tLUdOVS1zcGVjaWYucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MiArMCwwIEBACi1Gcm9tIGRkNTNkYzliOTU0MmNiZDJjMzlhMzkwOTY5NDFkZmVkNzBkMDY1MDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUdWUsIDEwIEp1bCAyMDE4IDE1OjQwOjE3ICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggMjAvMjBdIGRpc3Rpbmd1aXNoIFhTSS1jb21wbGlhbnQgc3RyZXJyb3JfciBmcm9tIEdOVS1zcGVjaWZpCi0gc3RyZXJyb3JfcgotCi1YU0ktY29tcGxpYW50IHN0cmVycm9yX3IgYW5kIEdOVS1zcGVjaWZpIHN0cmVycm9yX3IgYXJlIGRpZmZlcmVudC4KLQotICAgICAgIGludCBzdHJlcnJvcl9yKGludCBlcnJudW0sIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1Zmxlbik7Ci0gICAgICAgICAgICAgICAgICAgLyogWFNJLWNvbXBsaWFudCAqLwotCi0gICAgICAgY2hhciAqc3RyZXJyb3JfcihpbnQgZXJybnVtLCBjaGFyICpidWYsIHNpemVfdCBidWZsZW4pOwotICAgICAgICAgICAgICAgICAgIC8qIEdOVS1zcGVjaWZpYyAqLwotCi1XZSBuZWVkIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlbS4gT3RoZXJ3aXNlLCB3ZSdsbCBnZXQgYW4gaW50IHZhbHVlCi1hc3NpZ25lZCB0byAoY2hhciAqKSB2YXJpYWJsZSwgcmVzdWx0aW5nIGluIHNlZ21lbnQgZmF1bHQuCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotLS0tCi0gc3JjL2pvdXJuYWwvam91cm5hbC1zZW5kLmMgICAgICAgIHwgNSArKysrKwotIHNyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtZXJyb3IuYyB8IDUgKysrKysKLSAyIGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy9qb3VybmFsL2pvdXJuYWwtc2VuZC5jIGIvc3JjL2pvdXJuYWwvam91cm5hbC1zZW5kLmMKLWluZGV4IDY1YmNiY2QyZS4uYWVmODBkZDhmIDEwMDY0NAotLS0tIGEvc3JjL2pvdXJuYWwvam91cm5hbC1zZW5kLmMKLSsrKyBiL3NyYy9qb3VybmFsL2pvdXJuYWwtc2VuZC5jCi1AQCAtMzM3LDcgKzMzNywxMiBAQCBzdGF0aWMgaW50IGZpbGxfaW92ZWNfcGVycm9yX2FuZF9zZW5kKGNvbnN0IGNoYXIgKm1lc3NhZ2UsIGludCBza2lwLCBzdHJ1Y3QgaW92ZQotICAgICAgICAgICAgICAgICBjaGFyKiBqOwotIAotICAgICAgICAgICAgICAgICBlcnJubyA9IDA7Ci0rI2lmbmRlZiBfX0dMSUJDX18KLSsgICAgICAgICAgICAgICAgc3RyZXJyb3Jfcihfc2F2ZWRfZXJybm9fLCBidWZmZXIgKyA4ICsgaywgbiAtIDggLSBrKTsKLSsgICAgICAgICAgICAgICAgaiA9IGJ1ZmZlciArIDggKyBrOwotKyNlbHNlCi0gICAgICAgICAgICAgICAgIGogPSBzdHJlcnJvcl9yKF9zYXZlZF9lcnJub18sIGJ1ZmZlciArIDggKyBrLCBuIC0gOCAtIGspOwotKyNlbmRpZgotICAgICAgICAgICAgICAgICBpZiAoZXJybm8gPT0gMCkgewotICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgZXJyb3JbU1RSTEVOKCJFUlJOTz0iKSArIERFQ0lNQUxfU1RSX01BWChpbnQpICsgMV07Ci0gCi1kaWZmIC0tZ2l0IGEvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1lcnJvci5jIGIvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1lcnJvci5jCi1pbmRleCBlYzM1OWFjMTMuLmQyYWE4NmNlYSAxMDA2NDQKLS0tLSBhL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtZXJyb3IuYwotKysrIGIvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1lcnJvci5jCi1AQCAtMzYyLDcgKzM2MiwxMiBAQCBzdGF0aWMgdm9pZCBidXNfZXJyb3Jfc3RyZXJyb3Ioc2RfYnVzX2Vycm9yICplLCBpbnQgZXJyb3IpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gCi0gICAgICAgICAgICAgICAgIGVycm5vID0gMDsKLSsjaWZuZGVmIF9fR0xJQkNfXwotKyAgICAgICAgICAgICAgICBzdHJlcnJvcl9yKGVycm9yLCBtLCBrKTsKLSsgICAgICAgICAgICAgICAgeCA9IG07Ci0rI2Vsc2UKLSAgICAgICAgICAgICAgICAgeCA9IHN0cmVycm9yX3IoZXJyb3IsIG0sIGspOwotKyNlbmRpZgotICAgICAgICAgICAgICAgICBpZiAoZXJybm8gPT0gRVJBTkdFIHx8IHN0cmxlbih4KSA+PSBrIC0gMSkgewotICAgICAgICAgICAgICAgICAgICAgICAgIGZyZWUobSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgayAqPSAyOwotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyMC1taXNzaW5nX3R5cGUuaC1hZGQtX19jb21wYXJfZF9mbl90LWRlZmluaXRpb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDIwLW1pc3NpbmdfdHlwZS5oLWFkZC1fX2NvbXBhcl9kX2ZuX3QtZGVmaW5pdGlvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTNkNTExCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyMC1taXNzaW5nX3R5cGUuaC1hZGQtX19jb21wYXJfZF9mbl90LWRlZmluaXRpb24ucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorRnJvbSA3NWMwNmUzZTJhNDc2MGIzNmZmZmQ5NWNkZjU1MzViOGFkNzNjNDgxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyNSBGZWIgMjAxOSAxNToyNzo1NCArMDgwMAorU3ViamVjdDogW1BBVENIIDIwLzI0XSBtaXNzaW5nX3R5cGUuaDogYWRkIF9fY29tcGFyX2RfZm5fdCBkZWZpbml0aW9uCisKK0ZpeCB0aGUgZm9sbG93aW5nIGNvbXBpbGUgZmFpbHVyZToKK3NyYy9iYXNpYy91dGlsLmg6NzE6MTg6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnX19jb21wYXJfZF9mbl90JzsgZGlkIHlvdSBtZWFuICdfX2NvbXBhcl9mbl90Jz8KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvYmFzaWMvbWlzc2luZ190eXBlLmggfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9taXNzaW5nX3R5cGUuaCBiL3NyYy9iYXNpYy9taXNzaW5nX3R5cGUuaAoraW5kZXggN2Q3YzFlNC4uODU5MDJhYiAxMDA2NDQKKy0tLSBhL3NyYy9iYXNpYy9taXNzaW5nX3R5cGUuaAorKysrIGIvc3JjL2Jhc2ljL21pc3NpbmdfdHlwZS5oCitAQCAtMTMsNiArMTMsNyBAQAorIAorICNpZm5kZWYgX19HTElCQ19fCisgdHlwZWRlZiBpbnQgKCpjb21wYXJpc29uX2ZuX3QpKGNvbnN0IHZvaWQgKiwgY29uc3Qgdm9pZCAqKTsKKyt0eXBlZGVmIGludCAoKl9fY29tcGFyX2RfZm5fdCkgKGNvbnN0IHZvaWQgKiwgY29uc3Qgdm9pZCAqLCB2b2lkICopOworICNlbmRpZgorIAorICNpZm5kZWYgX19DT01QQVJfRk5fVAorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDIxLUhpZGUtX19zdGFydF9CVVNfRVJST1JfTUFQLWFuZC1fX3N0b3BfQlVTX0VSUk9SX01BUC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjEtSGlkZS1fX3N0YXJ0X0JVU19FUlJPUl9NQVAtYW5kLV9fc3RvcF9CVVNfRVJST1JfTUFQLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NjhmMjczLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjEtSGlkZS1fX3N0YXJ0X0JVU19FUlJPUl9NQVAtYW5kLV9fc3RvcF9CVVNfRVJST1JfTUFQLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotRnJvbSA2ODdhNWFmOGRjNWQzOGY5MThhNmNlMDhmZWQ1Mjk3MjM0YmY4MzQ2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMiBNYXIgMjAxOCAxODowMDoxNyAtMDgwMAotU3ViamVjdDogW1BBVENIXSBIaWRlIF9fc3RhcnRfQlVTX0VSUk9SX01BUCBhbmQgX19zdG9wX0JVU19FUlJPUl9NQVAKLQotZm9yIGN1cnJlbnRseSB1bmtub3duIHJlYXNvbnMgdGhleSBnZXQgZXhwb3J0ZWQgdG8gdGhlIHNoYXJlZCBsaWJyaWVzCi1ldmVuIHdpdGhvdXQgYmVpbmcgbGlzdGVkIGluIHRoZSBzeW0gZmlsZQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZyBbIENvbmRpdGlvbmFsIG9uIG1hc3RlciBuZWVkaW5nIHRoaXMsIDIzOSBkb2VzIG5lZWQgaXQgXQotCi0gc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1lcnJvci5jIHwgNCArKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtZXJyb3IuYyBiL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtZXJyb3IuYwotaW5kZXggMzc4ZjdhMzc3Li40OWQ3OTdhYmQgMTAwNjQ0Ci0tLS0gYS9zcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLWVycm9yLmMKLSsrKyBiL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtZXJyb3IuYwotQEAgLTcxLDggKzcxLDggQEAgQlVTX0VSUk9SX01BUF9FTEZfUkVHSVNURVIgY29uc3Qgc2RfYnVzX2Vycm9yX21hcCBidXNfc3RhbmRhcmRfZXJyb3JzW10gPSB7Ci0gfTsKLSAKLSAvKiBHQ0MgbWFwcyB0aGlzIG1hZ2ljYWxseSB0byB0aGUgYmVnaW5uaW5nIGFuZCBlbmQgb2YgdGhlIEJVU19FUlJPUl9NQVAgc2VjdGlvbiAqLwotLWV4dGVybiBjb25zdCBzZF9idXNfZXJyb3JfbWFwIF9fc3RhcnRfQlVTX0VSUk9SX01BUFtdOwotLWV4dGVybiBjb25zdCBzZF9idXNfZXJyb3JfbWFwIF9fc3RvcF9CVVNfRVJST1JfTUFQW107Ci0rZXh0ZXJuIGNvbnN0IHNkX2J1c19lcnJvcl9tYXAgX19zdGFydF9CVVNfRVJST1JfTUFQW10gX2hpZGRlbl87Ci0rZXh0ZXJuIGNvbnN0IHNkX2J1c19lcnJvcl9tYXAgX19zdG9wX0JVU19FUlJPUl9NQVBbXSBfaGlkZGVuXzsKLSAKLSAvKiBBZGRpdGlvbmFsIG1hcHMgcmVnaXN0ZXJlZCB3aXRoIHNkX2J1c19lcnJvcl9hZGRfbWFwKCkgYXJlIGluIHRoaXMKLSAgKiBOVUxMIHRlcm1pbmF0ZWQgYXJyYXkgKi8KLS0tIAotMi4xNi4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjEtYXZvaWQtcmVkZWZpbml0aW9uLW9mLXByY3RsX21tX21hcC1zdHJ1Y3R1cmUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDIxLWF2b2lkLXJlZGVmaW5pdGlvbi1vZi1wcmN0bF9tbV9tYXAtc3RydWN0dXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE4YzUzYzkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDIxLWF2b2lkLXJlZGVmaW5pdGlvbi1vZi1wcmN0bF9tbV9tYXAtc3RydWN0dXJlLnBhdGNoCkBAIC0wLDAgKzEsNDcgQEAKK0Zyb20gM2ZiZjYxZDU0YjgyZmM5YmYyMWQ4MDM5YmZkODlkYzllZmM1YmJjZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMjUgRmViIDIwMTkgMTU6NDQ6NTQgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAyMS8yNF0gYXZvaWQgcmVkZWZpbml0aW9uIG9mIHByY3RsX21tX21hcCBzdHJ1Y3R1cmUKKworRml4IHRoZSBmb2xsb3dpbmcgY29tcGlsZSBmYWlsdXJlOgorZXJyb3I6IHJlZGVmaW5pdGlvbiBvZiAnc3RydWN0IHByY3RsX21tX21hcCcKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvYmFzaWMvbWlzc2luZ19wcmN0bC5oIHwgMiArKworIHNyYy9iYXNpYy91dGlsLmggICAgICAgICAgfCAzICsrLQorIDIgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvYmFzaWMvbWlzc2luZ19wcmN0bC5oIGIvc3JjL2Jhc2ljL21pc3NpbmdfcHJjdGwuaAoraW5kZXggZjgwY2QxNy4uNDdlNDg5MyAxMDA2NDQKKy0tLSBhL3NyYy9iYXNpYy9taXNzaW5nX3ByY3RsLmgKKysrKyBiL3NyYy9iYXNpYy9taXNzaW5nX3ByY3RsLmgKK0BAIC0xLDcgKzEsOSBAQAorIC8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBMR1BMLTIuMSsgKi8KKyAjcHJhZ21hIG9uY2UKKyAKKysjaWZkZWYgX19HTElCQ19fCisgI2luY2x1ZGUgPGxpbnV4L3ByY3RsLmg+CisrI2VuZGlmCisgCisgLyogNTgzMTkwNTdiNzg0NzY2N2YwYzk1ODViOWRlMGU4OTMyYjBmZGIwOCAoNC4zKSAqLworICNpZm5kZWYgUFJfQ0FQX0FNQklFTlQKK2RpZmYgLS1naXQgYS9zcmMvYmFzaWMvdXRpbC5oIGIvc3JjL2Jhc2ljL3V0aWwuaAoraW5kZXggMmM1ZGMzMi4uZjcyMTE4NCAxMDA2NDQKKy0tLSBhL3NyYy9iYXNpYy91dGlsLmgKKysrKyBiL3NyYy9iYXNpYy91dGlsLmgKK0BAIC0yNiw3ICsyNiw4IEBACisgI2luY2x1ZGUgImZvcm1hdC11dGlsLmgiCisgI2luY2x1ZGUgIm1hY3JvLmgiCisgI2luY2x1ZGUgInRpbWUtdXRpbC5oIgorLSNpbmNsdWRlICJtaXNzaW5nLmgiCisrI2luY2x1ZGUgIm1pc3Npbmdfc3RkbGliLmgiCisrI2luY2x1ZGUgIm1pc3NpbmdfdHlwZS5oIgorIAorIHNpemVfdCBwYWdlX3NpemUodm9pZCkgX3B1cmVfOworICNkZWZpbmUgUEFHRV9BTElHTihsKSBBTElHTl9UTygobCksIHBhZ2Vfc2l6ZSgpKQorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDIyLWJ1aWxkLXN5cy1EZXRlY3Qtd2hldGhlci1zdHJ1Y3Qtc3RhdHgtaXMtZGVmaW5lZC1pbi0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDIyLWJ1aWxkLXN5cy1EZXRlY3Qtd2hldGhlci1zdHJ1Y3Qtc3RhdHgtaXMtZGVmaW5lZC1pbi0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk2MjQ2M2YuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyMi1idWlsZC1zeXMtRGV0ZWN0LXdoZXRoZXItc3RydWN0LXN0YXR4LWlzLWRlZmluZWQtaW4tLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTA5ICswLDAgQEAKLUZyb20gNzU3MjBiZmY2MmE4NDg5NmU5YTA2NTRhZmM3Y2Y5NDA4Y2Y4OWEzOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZpbGlwZSBCcmFuZGVuYnVyZ2VyIDxmaWxicmFuZGVuQGdvb2dsZS5jb20+Ci1EYXRlOiBTdW4sIDE1IEp1bCAyMDE4IDIyOjQzOjM1IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIGJ1aWxkLXN5czogRGV0ZWN0IHdoZXRoZXIgc3RydWN0IHN0YXR4IGlzIGRlZmluZWQgaW4KLSBzeXMvc3RhdC5oCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLVN0YXJ0aW5nIHdpdGggZ2xpYmMgMi4yNy45MDAwLTM2LmZjMjksIGluY2x1ZGUgZmlsZSBzeXMvc3RhdC5oIHdpbGwgaGF2ZSBhCi1kZWZpbml0aW9uIGZvciBzdHJ1Y3Qgc3RhdHgsIGluIHdoaWNoIGNhc2UgaW5jbHVkZSBmaWxlIGxpbnV4L3N0YXQuaCBzaG91bGQgYmUKLWF2b2lkZWQsIGluIG9yZGVyIHRvIHByZXZlbnQgYSBkdXBsaWNhdGUgZGVmaW5pdGlvbi4KLQotICAgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zcmMvYmFzaWMvbWlzc2luZy5oOjE4LAotCQkgICAgIGZyb20gLi4vc3JjL2Jhc2ljL3V0aWwuaDoyOCwKLQkJICAgICBmcm9tIC4uL3NyYy9iYXNpYy9oYXNobWFwLmg6MTAsCi0JCSAgICAgZnJvbSAuLi9zcmMvc2hhcmVkL2J1cy11dGlsLmg6MTIsCi0JCSAgICAgZnJvbSAuLi9zcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLWNyZWRzLmM6MTE6Ci0gICAgL3Vzci9pbmNsdWRlL2xpbnV4L3N0YXQuaDo5OTo4OiBlcnJvcjogcmVkZWZpbml0aW9uIG9mIOKAmHN0cnVjdCBzdGF0eOKAmQotICAgICBzdHJ1Y3Qgc3RhdHggewotCSAgICBefn5+fgotICAgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSAvdXNyL2luY2x1ZGUvc3lzL3N0YXQuaDo0NDYsCi0JCSAgICAgZnJvbSAuLi9zcmMvYmFzaWMvdXRpbC5oOjE5LAotCQkgICAgIGZyb20gLi4vc3JjL2Jhc2ljL2hhc2htYXAuaDoxMCwKLQkJICAgICBmcm9tIC4uL3NyYy9zaGFyZWQvYnVzLXV0aWwuaDoxMiwKLQkJICAgICBmcm9tIC4uL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtY3JlZHMuYzoxMToKLSAgICAvdXNyL2luY2x1ZGUvYml0cy9zdGF0eC5oOjM2Ojg6IG5vdGU6IG9yaWdpbmFsbHkgZGVmaW5lZCBoZXJlCi0gICAgIHN0cnVjdCBzdGF0eAotCSAgICBefn5+fgotCi1FeHRlbmQgb3VyIG1lc29uLmJ1aWxkIHRvIGxvb2sgZm9yIHN0cnVjdCBzdGF0eCB3aGVuIG9ubHkgc3lzL3N0YXQuaCBpcwotaW5jbHVkZWQgYW5kLCBpbiB0aGF0IGNhc2UsIGRvIG5vdCBpbmNsdWRlIGxpbnV4L3N0YXQuaCBhbnltb3JlLgotCi1UZXN0ZWQgdGhhdCBzeXN0ZW1kIGJ1aWxkcyBjb3JyZWN0bHkgd2hlbiB1c2luZyBhIGdsaWJjIHZlcnNpb24gdGhhdCBpbmNsdWRlcyBhCi1kZWZpbml0aW9uIGZvciBzdHJ1Y3Qgc3RhdHguCi0KLWdsaWJjIEZlZG9yYSBSUE0gdXBkYXRlOgotaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9nbGliYy9jLzI4Y2I1ZDMxZmMxZTU4ODc5MTIyODNjODg5Njg5YzQ3MDc2Mjc4YWUKLQotZ2xpYmMgdXBzdHJlYW0gY29tbWl0OgotaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9naXQvP3A9Z2xpYmMuZ2l0O2E9Y29tbWl0ZGlmZjtoPWZkNzBhZjQ1NTI4ZDU5YTAwZWIzMTkwZWY2NzA2Y2IyOTk0ODhmY2QKLS0tLQotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLSBtZXNvbi5idWlsZCAgICAgICAgICAgIHwgNSArKysrKwotIHNyYy9iYXNpYy9taXNzaW5nLmggICAgfCA1ICsrKystCi0gc3JjL2Jhc2ljL3hhdHRyLXV0aWwuYyB8IDEgLQotIDMgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1JbmRleDogZ2l0L21lc29uLmJ1aWxkCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvbWVzb24uYnVpbGQKLSsrKyBnaXQvbWVzb24uYnVpbGQKLUBAIC00MzIsNiArNDMyLDcgQEAgZGVjbF9oZWFkZXJzID0gJycnCi0gI2luY2x1ZGUgPHN5cy9zdGF0Lmg+Ci0gJycnCi0gIyBGSVhNRToga2V5X3NlcmlhbF90IGlzIG9ubHkgZGVmaW5lZCBpbiBrZXl1dGlscy5oLCB0aGlzIGlzIGJvdW5kIHRvIGZhaWwKLSsjIEZJWE1FOiB0aGVzZSBzaG91bGQgdXNlIC1EX0dOVV9TT1VSQ0UsIHNpbmNlIHRoYXQgaXMgZGVmaW5lZCBhdCBidWlsZCB0aW1lCi0gCi0gZm9yZWFjaCBkZWNsIDogWydjaGFyMTZfdCcsCi0gICAgICAgICAgICAgICAgICdjaGFyMzJfdCcsCi1AQCAtNDQ2LDYgKzQ0NywxMCBAQCBmb3JlYWNoIGRlY2wgOiBbJ2NoYXIxNl90JywKLSAgICAgICAgIGNvbmYuc2V0MTAoJ0hBVkVfJyArIGRlY2wudW5kZXJzY29yaWZ5KCkudG9fdXBwZXIoKSwgaGF2ZSkKLSBlbmRmb3JlYWNoCi0gCi0rY29uZi5zZXQxMCgnSEFWRV9TVFJVQ1RfU1RBVFhfSU5fU1lTX1NUQVRfSCcsIGNjLnNpemVvZignc3RydWN0IHN0YXR4JywgcHJlZml4IDogJycnCi0rI2luY2x1ZGUgPHN5cy9zdGF0Lmg+Ci0rJycnLCBhcmdzIDogJy1EX0dOVV9TT1VSQ0UnKSA+IDApCi0rCi0gZm9yZWFjaCBkZWNsIDogW1snSUZMQV9JTkVUNl9BRERSX0dFTl9NT0RFJywgICAgICAgICAnbGludXgvaWZfbGluay5oJ10sCi0gICAgICAgICAgICAgICAgIFsnSU42X0FERFJfR0VOX01PREVfU1RBQkxFX1BSSVZBQ1knLCAnbGludXgvaWZfbGluay5oJ10sCi0gICAgICAgICAgICAgICAgIFsnSUZMQV9WUkZfVEFCTEUnLCAgICAgICAgICAgICAgICAgICAnbGludXgvaWZfbGluay5oJ10sCi1JbmRleDogZ2l0L3NyYy9iYXNpYy9taXNzaW5nLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnaXQub3JpZy9zcmMvYmFzaWMvbWlzc2luZy5oCi0rKysgZ2l0L3NyYy9iYXNpYy9taXNzaW5nLmgKLUBAIC0xNSw3ICsxNSw2IEBACi0gI2luY2x1ZGUgPGxpbnV4L25laWdoYm91ci5oPgotICNpbmNsdWRlIDxsaW51eC9vb20uaD4KLSAjaW5jbHVkZSA8bGludXgvcnRuZXRsaW5rLmg+Ci0tI2luY2x1ZGUgPGxpbnV4L3N0YXQuaD4KLSAjaW5jbHVkZSA8bmV0L2V0aGVybmV0Lmg+Ci0gI2luY2x1ZGUgPHN0ZGxpYi5oPgotICNpbmNsdWRlIDxzeXMvcmVzb3VyY2UuaD4KLUBAIC0yNSw2ICsyNCwxMCBAQAotICNpbmNsdWRlIDx1Y2hhci5oPgotICNpbmNsdWRlIDx1bmlzdGQuaD4KLSAKLSsjaWYgIUhBVkVfU1RSVUNUX1NUQVRYX0lOX1NZU19TVEFUX0gKLSsjaW5jbHVkZSA8bGludXgvc3RhdC5oPgotKyNlbmRpZgotKwotICNpZiBIQVZFX0FVRElUCi0gI2luY2x1ZGUgPGxpYmF1ZGl0Lmg+Ci0gI2VuZGlmCi1JbmRleDogZ2l0L3NyYy9iYXNpYy94YXR0ci11dGlsLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnaXQub3JpZy9zcmMvYmFzaWMveGF0dHItdXRpbC5jCi0rKysgZ2l0L3NyYy9iYXNpYy94YXR0ci11dGlsLmMKLUBAIC0yLDcgKzIsNiBAQAotIAotICNpbmNsdWRlIDxlcnJuby5oPgotICNpbmNsdWRlIDxmY250bC5oPgotLSNpbmNsdWRlIDxsaW51eC9zdGF0Lmg+Ci0gI2luY2x1ZGUgPHN0ZGludC5oPgotICNpbmNsdWRlIDxzdGRsaWIuaD4KLSAjaW5jbHVkZSA8c3RyaW5nLmg+CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDIyLWluY2x1ZGUtc3lzLXdhaXQuaC10by1hdm9pZC1jb21waWxlLWZhaWx1cmUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDIyLWluY2x1ZGUtc3lzLXdhaXQuaC10by1hdm9pZC1jb21waWxlLWZhaWx1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDcyMTJiYwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjItaW5jbHVkZS1zeXMtd2FpdC5oLXRvLWF2b2lkLWNvbXBpbGUtZmFpbHVyZS5wYXRjaApAQCAtMCwwICsxLDMzIEBACitGcm9tIDZjNTM2NDczNmY1YWZkMTEwNmFjMjQwZjAzODA2YWY1Mzk3OWNjNjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDI1IEZlYiAyMDE5IDE1OjU2OjUwICswODAwCitTdWJqZWN0OiBbUEFUQ0ggMjIvMjRdIGluY2x1ZGUgc3lzL3dhaXQuaCB0byBhdm9pZCBjb21waWxlIGZhaWx1cmUKKworRml4IHRoZSBmb2xsb3dpbmcgZXJyb3I6CitzcmMvdWRldi91ZGV2LWV2ZW50LmM6NTgxOjUzOiBlcnJvcjogJ1dFWElURUQnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdXSUZFWElURUQnPworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KKy0tLQorIHNyYy91ZGV2L3VkZXYtZXZlbnQuYyB8IDQgKysrLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy91ZGV2L3VkZXYtZXZlbnQuYyBiL3NyYy91ZGV2L3VkZXYtZXZlbnQuYworaW5kZXggMDdiNzM2NS4uZTUzMmJiNyAxMDA2NDQKKy0tLSBhL3NyYy91ZGV2L3VkZXYtZXZlbnQuYworKysrIGIvc3JjL3VkZXYvdWRldi1ldmVudC5jCitAQCAtOCw3ICs4LDkgQEAKKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSA8c3RkbGliLmg+CisgI2luY2x1ZGUgPHVuaXN0ZC5oPgorLQorKyNpZm5kZWYgX19HTElCQ19fCisrI2luY2x1ZGUgPHN5cy93YWl0Lmg+CisrI2VuZGlmCisgI2luY2x1ZGUgInNkLWV2ZW50LmgiCisgCisgI2luY2x1ZGUgImFsbG9jLXV0aWwuaCIKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyMy1yZXNvbHZjb25mLWZpeGVzLWZvci10aGUtY29tcGF0aWJpbGl0eS1pbnRlcmZhY2UucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDIzLXJlc29sdmNvbmYtZml4ZXMtZm9yLXRoZS1jb21wYXRpYmlsaXR5LWludGVyZmFjZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmYzZTc3Ni4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDIzLXJlc29sdmNvbmYtZml4ZXMtZm9yLXRoZS1jb21wYXRpYmlsaXR5LWludGVyZmFjZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU4ICswLDAgQEAKLXN5c3RlbWQtMjM5OiBmaXhlcyBmb3IgdGhlIGNvbXBhdGliaWxpdHkgaW50ZXJmYWNlCi0KLVtObyB1cHN0cmVhbSB0cmFja2luZ10gLS0gaHR0cHM6Ly9naXRodWIuY29tL3N5c3RlbWQvc3lzdGVtZC9pc3N1ZXMvOTQyMwotCi1yZXNvbHZjb25mLWNvbXBhdDogdXNlIGNvbXBhdF9tYWluKCkgd2hlbiBjYWxsZWQgYXMgYHJlc29sdmNvbmZgLAotc2luY2UgdGhlIGludGVyZmFjZSBpcyBjbG9zZXIgdG8gdGhhdCBvZiBgc3lzdGVtZC1yZXNvbHZlYC4KLQotVXNlIGEgaGVhcCBhbGxvY2F0ZWQgc3RyaW5nIHRvIHNldCBhcmdfaWZuYW1lLCBzaW5jZSBhIHN0YWNrIGFsbG9jYXRlZAotb25lIHdvdWxkIGJlIGxvc3QgYWZ0ZXIgdGhlIGZ1bmN0aW9uIHJldHVybnMuIChUaGlzIGxhc3Qgb25lIGJyb2tlIHRoZQotY2FzZSB3aGVyZSBhbiBpbnRlcmZhY2UgbmFtZSB3YXMgc3VmZml4ZWQgd2l0aCBhIGRvdCwgc3VjaCBhcyBpbgotYHJlc29sdmNvbmYgLWEgdGFwMC5kaGNwYC4pCi0KLVRlc3RlZDoKLSAgJCBidWlsZC9yZXNvbHZjb25mIC1hIG5vbmV4aXN0ZW50LmFiYyA8L2V0Yy9yZXNvbHYuY29uZgotICBVbmtub3duIGludGVyZmFjZSAnbm9uZXhpc3RlbnQnOiBObyBzdWNoIGRldmljZQotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGh1Yi5jb20vc3lzdGVtZC9zeXN0ZW1kL2NvbW1pdC81YTAxYjNmMzVkN2I2MTgyYzc4YjY5NzNkYjhkOTliZGFiZDRmOWMzXQotYnVnOiA5NDIzCi1TaWduZWQtb2ZmLWJ5OiBTaW1vbiBBdXNzZXJsZWNobmVyIDxzaW1vbi5hdXNzZXJsZWNobmVyQHNpZW1lbnMuY29tPgotCi1kaWZmIC0tZ2l0IGEvc3JjL3Jlc29sdmUvcmVzb2x2Y29uZi1jb21wYXQuYyBiL3NyYy9yZXNvbHZlL3Jlc29sdmNvbmYtY29tcGF0LmMKLWluZGV4IGQ3ZTY4MDAzZS4uMDcyMzQ1ODk0IDEwMDY0NAotLS0tIGEvc3JjL3Jlc29sdmUvcmVzb2x2Y29uZi1jb21wYXQuYwotKysrIGIvc3JjL3Jlc29sdmUvcmVzb2x2Y29uZi1jb21wYXQuYwotQEAgLTUzLDYgKzUzLDggQEAgc3RhdGljIGludCBwYXJzZV9uYW1lc2VydmVyKGNvbnN0IGNoYXIgKnN0cmluZykgewotIAotICAgICAgICAgICAgICAgICBpZiAoc3Rydl9wdXNoKCZhcmdfc2V0X2Rucywgd29yZCkgPCAwKQotICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBsb2dfb29tKCk7Ci0rCi0rICAgICAgICAgICAgICAgIHdvcmQgPSBOVUxMOwotICAgICAgICAgfQotIAotICAgICAgICAgcmV0dXJuIDA7Ci1AQCAtMjAyLDcgKzIwNCw3IEBAIGludCByZXNvbHZjb25mX3BhcnNlX2FyZ3YoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkgewotIAotICAgICAgICAgZG90ID0gc3RyY2hyKGFyZ3Zbb3B0aW5kXSwgJy4nKTsKLSAgICAgICAgIGlmIChkb3QpIHsKLS0gICAgICAgICAgICAgICAgaWZhY2UgPSBzdHJuZHVwYShhcmd2W29wdGluZF0sIGRvdCAtIGFyZ3Zbb3B0aW5kXSk7Ci0rICAgICAgICAgICAgICAgIGlmYWNlID0gc3RybmR1cChhcmd2W29wdGluZF0sIGRvdCAtIGFyZ3Zbb3B0aW5kXSk7Ci0gICAgICAgICAgICAgICAgIGxvZ19kZWJ1ZygiSWdub3JpbmcgcHJvdG9jb2wgc3BlY2lmaWVyICclcycuIiwgZG90ICsgMSk7Ci0gICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICAgaWZhY2UgPSBhcmd2W29wdGluZF07Ci1kaWZmIC0tZ2l0IGEvc3JjL3Jlc29sdmUvcmVzb2x2ZWN0bC5jIGIvc3JjL3Jlc29sdmUvcmVzb2x2ZWN0bC5jCi1pbmRleCBlOTZjMTNmZWEuLmU5ZTM5NWUzZSAxMDA2NDQKLS0tLSBhL3NyYy9yZXNvbHZlL3Jlc29sdmVjdGwuYwotKysrIGIvc3JjL3Jlc29sdmUvcmVzb2x2ZWN0bC5jCi1AQCAtMzA5Miw3ICszMDkyLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7Ci0gICAgICAgICAgICAgICAgIGdvdG8gZmluaXNoOwotICAgICAgICAgfQotIAotLSAgICAgICAgaWYgKHN0cmVxKHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lLCAic3lzdGVtZC1yZXNvbHZlIikpCi0rICAgICAgICBpZiAoU1RSX0lOX1NFVChwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSwgInN5c3RlbWQtcmVzb2x2ZSIsICJyZXNvbHZjb25mIikpCi0gICAgICAgICAgICAgICAgIHIgPSBjb21wYXRfbWFpbihhcmdjLCBhcmd2LCBidXMpOwotICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICByID0gbmF0aXZlX21haW4oYXJnYywgYXJndiwgYnVzKTsKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjMtc29ja2V0LXV0aWwuaC1pbmNsdWRlLXN0cmluZy5oLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyMy1zb2NrZXQtdXRpbC5oLWluY2x1ZGUtc3RyaW5nLmgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjIxODZiOAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjMtc29ja2V0LXV0aWwuaC1pbmNsdWRlLXN0cmluZy5oLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKK0Zyb20gOTNlNmI4MWI3MjFkOWViOTY2YTI1N2JmZGY3ZGY2ZTgyODBiODg1YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMjUgRmViIDIwMTkgMTY6Mzc6MTkgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAyMy8yNF0gc29ja2V0LXV0aWwuaDogaW5jbHVkZSBzdHJpbmcuaAorCitGaXggdGhlIGZvbGxvd2luZyBjb21waWxlIGVycm9yOgorc3JjL2Jhc2ljL3NvY2tldC11dGlsLmg6MTg3OjMwOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ3N0cm5sZW4nOyBkaWQgeW91IG1lYW4gJ3N0cmxlbic/IFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2Jhc2ljL3NvY2tldC11dGlsLmggfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9zb2NrZXQtdXRpbC5oIGIvc3JjL2Jhc2ljL3NvY2tldC11dGlsLmgKK2luZGV4IDU3NGQyYjcuLjA5N2FhNGQgMTAwNjQ0CistLS0gYS9zcmMvYmFzaWMvc29ja2V0LXV0aWwuaAorKysrIGIvc3JjL2Jhc2ljL3NvY2tldC11dGlsLmgKK0BAIC0xMiw2ICsxMiw3IEBACisgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgI2luY2x1ZGUgPHN5cy91bi5oPgorKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyAKKyAjaW5jbHVkZSAibWFjcm8uaCIKKyAjaW5jbHVkZSAibWlzc2luZ19zb2NrZXQuaCIKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyNC1qb3VybmFsZC1kby1ub3Qtc3RvcmUtdGhlLWlvdmVjLWVudHJ5LWZvci1wcm9jZXNzLWNvLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyNC1qb3VybmFsZC1kby1ub3Qtc3RvcmUtdGhlLWlvdmVjLWVudHJ5LWZvci1wcm9jZXNzLWNvLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMmY3OGJlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjQtam91cm5hbGQtZG8tbm90LXN0b3JlLXRoZS1pb3ZlYy1lbnRyeS1mb3ItcHJvY2Vzcy1jby5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIwOCArMCwwIEBACi1Gcm9tIDljYjA3ZTdkODJjN2M0ZjI4YmJhYTE0NzhlMTM4N2U4ZWEzZDAzZGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/WmJpZ25pZXc9MjBKPUM0PTk5ZHJ6ZWpld3NraS1Tem1laz89IDx6YnlzemVrQGluLndhdy5wbD4KLURhdGU6IFdlZCwgNSBEZWMgMjAxOCAxODozODozOSArMDEwMAotU3ViamVjdDogW1BBVENIXSBqb3VybmFsZDogZG8gbm90IHN0b3JlIHRoZSBpb3ZlYyBlbnRyeSBmb3IgcHJvY2VzcwotIGNvbW1hbmRsaW5lIG9uIHN0YWNrCi0KLVRoaXMgZml4ZXMgYSBjcmFzaCB3aGVyZSB3ZSB3b3VsZCByZWFkIHRoZSBjb21tYW5kbGluZSwgd2hvc2UgbGVuZ3RoIGlzIHVuZGVyCi1jb250cm9sIG9mIHRoZSBzZW5kaW5nIHByb2dyYW0sIGFuZCB0aGVuIGNyYXNoIHdoZW4gdHJ5aW5nIHRvIGNyZWF0ZSBhIHN0YWNrCi1hbGxvY2F0aW9uIGZvciBpdC4KLQotQ1ZFLTIwMTgtMTY4NjQKLWh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTY1Mzg1NQotCi1UaGUgbWVzc2FnZSBhY3R1YWxseSBkb2Vzbid0IGdldCB3cml0dGVuIHRvIGRpc2ssIGJlY2F1c2UKLWpvdXJuYWxfZmlsZV9hcHBlbmRfZW50cnkoKSByZXR1cm5zIC1FMkJJRy4KLQotUGF0Y2ggYmFja3BvcnRlZCBmcm9tIHN5c3RlbWQgbWFzdGVyIGF0Ci0wODRlZWI4NjVjYTYzODg3MDk4ZTA5NDVmYjRlOTNjODUyYjkxYjBmLgotCi1DVkU6IENWRS0yMDE4LTE2ODY0Ci1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1TaWduZWQtb2ZmLWJ5OiBNYXJjdXMgQ29vcGVyIDxtYXJjdXNjQGF4aXMuY29tPgotLS0tCi0gc3JjL2Jhc2ljL2lvLXV0aWwuYyAgICAgICAgICAgfCAxMCArKysrKysrKysrCi0gc3JjL2Jhc2ljL2lvLXV0aWwuaCAgICAgICAgICAgfCAgMiArKwotIHNyYy9jb3JlZHVtcC9jb3JlZHVtcC5jICAgICAgIHwgMzEgKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLQotIHNyYy9qb3VybmFsL2pvdXJuYWxkLXNlcnZlci5jIHwgMjUgKysrKysrKysrKysrKysrLS0tLS0tLS0tLQotIDQgZmlsZXMgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgMzAgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvaW8tdXRpbC5jIGIvc3JjL2Jhc2ljL2lvLXV0aWwuYwotaW5kZXggMWY2NGNjOTMzYi4uNTc1Mzk4ZmJlNiAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy9pby11dGlsLmMKLSsrKyBiL3NyYy9iYXNpYy9pby11dGlsLmMKLUBAIC04LDYgKzgsNyBAQAotICNpbmNsdWRlIDx1bmlzdGQuaD4KLSAKLSAjaW5jbHVkZSAiaW8tdXRpbC5oIgotKyNpbmNsdWRlICJzdHJpbmctdXRpbC5oIgotICNpbmNsdWRlICJ0aW1lLXV0aWwuaCIKLSAKLSBpbnQgZmx1c2hfZmQoaW50IGZkKSB7Ci1AQCAtMjUyLDMgKzI1MywxMiBAQCBzc2l6ZV90IHNwYXJzZV93cml0ZShpbnQgZmQsIGNvbnN0IHZvaWQgKnAsIHNpemVfdCBzeiwgc2l6ZV90IHJ1bl9sZW5ndGgpIHsKLSAKLSAgICAgICAgIHJldHVybiBxIC0gKGNvbnN0IHVpbnQ4X3QqKSBwOwotIH0KLSsKLStjaGFyKiBzZXRfaW92ZWNfc3RyaW5nX2ZpZWxkKHN0cnVjdCBpb3ZlYyAqaW92ZWMsIHNpemVfdCAqbl9pb3ZlYywgY29uc3QgY2hhciAqZmllbGQsIGNvbnN0IGNoYXIgKnZhbHVlKSB7Ci0rICAgICAgICBjaGFyICp4OwotKwotKyAgICAgICAgeCA9IHN0cmFwcGVuZChmaWVsZCwgdmFsdWUpOwotKyAgICAgICAgaWYgKHgpCi0rICAgICAgICAgICAgICAgIGlvdmVjWygqbl9pb3ZlYykrK10gPSBJT1ZFQ19NQUtFX1NUUklORyh4KTsKLSsgICAgICAgIHJldHVybiB4OwotK30KLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvaW8tdXRpbC5oIGIvc3JjL2Jhc2ljL2lvLXV0aWwuaAotaW5kZXggZWQxODliNTgyMC4uNzkyYTY0YWQ1ZSAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy9pby11dGlsLmgKLSsrKyBiL3NyYy9iYXNpYy9pby11dGlsLmgKLUBAIC03MSwzICs3MSw1IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBGSUxFX1NJWkVfVkFMSURfT1JfSU5GSU5JVFkodWludDY0X3QgbCkgewotICNkZWZpbmUgSU9WRUNfTUFLRShiYXNlLCBsZW4pIChzdHJ1Y3QgaW92ZWMpIElPVkVDX0lOSVQoYmFzZSwgbGVuKQotICNkZWZpbmUgSU9WRUNfSU5JVF9TVFJJTkcoc3RyaW5nKSBJT1ZFQ19JTklUKChjaGFyKikgc3RyaW5nLCBzdHJsZW4oc3RyaW5nKSkKLSAjZGVmaW5lIElPVkVDX01BS0VfU1RSSU5HKHN0cmluZykgKHN0cnVjdCBpb3ZlYykgSU9WRUNfSU5JVF9TVFJJTkcoc3RyaW5nKQotKwotK2NoYXIqIHNldF9pb3ZlY19zdHJpbmdfZmllbGQoc3RydWN0IGlvdmVjICppb3ZlYywgc2l6ZV90ICpuX2lvdmVjLCBjb25zdCBjaGFyICpmaWVsZCwgY29uc3QgY2hhciAqdmFsdWUpOwotZGlmZiAtLWdpdCBhL3NyYy9jb3JlZHVtcC9jb3JlZHVtcC5jIGIvc3JjL2NvcmVkdW1wL2NvcmVkdW1wLmMKLWluZGV4IDIwYTFjYmRkNDUuLjE4ZTRmNjFkNzIgMTAwNjQ0Ci0tLS0gYS9zcmMvY29yZWR1bXAvY29yZWR1bXAuYwotKysrIGIvc3JjL2NvcmVkdW1wL2NvcmVkdW1wLmMKLUBAIC0xMDUzLDE5ICsxMDUzLDEwIEBAIHN0YXRpYyBpbnQgc2VuZF9pb3ZlYyhjb25zdCBzdHJ1Y3QgaW92ZWMgaW92ZWNbXSwgc2l6ZV90IG5faW92ZWMsIGludCBpbnB1dF9mZCkKLSAgICAgICAgIHJldHVybiAwOwotIH0KLSAKLS1zdGF0aWMgY2hhciogc2V0X2lvdmVjX2ZpZWxkKHN0cnVjdCBpb3ZlYyAqaW92ZWMsIHNpemVfdCAqbl9pb3ZlYywgY29uc3QgY2hhciAqZmllbGQsIGNvbnN0IGNoYXIgKnZhbHVlKSB7Ci0tICAgICAgICBjaGFyICp4OwotLQotLSAgICAgICAgeCA9IHN0cmFwcGVuZChmaWVsZCwgdmFsdWUpOwotLSAgICAgICAgaWYgKHgpCi0tICAgICAgICAgICAgICAgIGlvdmVjWygqbl9pb3ZlYykrK10gPSBJT1ZFQ19NQUtFX1NUUklORyh4KTsKLS0gICAgICAgIHJldHVybiB4OwotLX0KLS0KLSBzdGF0aWMgY2hhciogc2V0X2lvdmVjX2ZpZWxkX2ZyZWUoc3RydWN0IGlvdmVjICppb3ZlYywgc2l6ZV90ICpuX2lvdmVjLCBjb25zdCBjaGFyICpmaWVsZCwgY2hhciAqdmFsdWUpIHsKLSAgICAgICAgIGNoYXIgKng7Ci0gCi0tICAgICAgICB4ID0gc2V0X2lvdmVjX2ZpZWxkKGlvdmVjLCBuX2lvdmVjLCBmaWVsZCwgdmFsdWUpOwotKyAgICAgICAgeCA9IHNldF9pb3ZlY19zdHJpbmdfZmllbGQoaW92ZWMsIG5faW92ZWMsIGZpZWxkLCB2YWx1ZSk7Ci0gICAgICAgICBmcmVlKHZhbHVlKTsKLSAgICAgICAgIHJldHVybiB4OwotIH0KLUBAIC0xMTE1LDM2ICsxMTA2LDM2IEBAIHN0YXRpYyBpbnQgZ2F0aGVyX3BpZF9tZXRhZGF0YSgKLSAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlX2NvcmVkdW1wcygpOwotICAgICAgICAgICAgICAgICB9Ci0gCi0tICAgICAgICAgICAgICAgIHNldF9pb3ZlY19maWVsZChpb3ZlYywgbl9pb3ZlYywgIkNPUkVEVU1QX1VOSVQ9IiwgY29udGV4dFtDT05URVhUX1VOSVRdKTsKLSsgICAgICAgICAgICAgICAgc2V0X2lvdmVjX3N0cmluZ19maWVsZChpb3ZlYywgbl9pb3ZlYywgIkNPUkVEVU1QX1VOSVQ9IiwgY29udGV4dFtDT05URVhUX1VOSVRdKTsKLSAgICAgICAgIH0KLSAKLSAgICAgICAgIGlmIChjZ19waWRfZ2V0X3VzZXJfdW5pdChwaWQsICZ0KSA+PSAwKQotICAgICAgICAgICAgICAgICBzZXRfaW92ZWNfZmllbGRfZnJlZShpb3ZlYywgbl9pb3ZlYywgIkNPUkVEVU1QX1VTRVJfVU5JVD0iLCB0KTsKLSAKLSAgICAgICAgIC8qIFRoZSBuZXh0IGZldyBhcmUgbWFuZGF0b3J5ICovCi0tICAgICAgICBpZiAoIXNldF9pb3ZlY19maWVsZChpb3ZlYywgbl9pb3ZlYywgIkNPUkVEVU1QX1BJRD0iLCBjb250ZXh0W0NPTlRFWFRfUElEXSkpCi0rICAgICAgICBpZiAoIXNldF9pb3ZlY19zdHJpbmdfZmllbGQoaW92ZWMsIG5faW92ZWMsICJDT1JFRFVNUF9QSUQ9IiwgY29udGV4dFtDT05URVhUX1BJRF0pKQotICAgICAgICAgICAgICAgICByZXR1cm4gbG9nX29vbSgpOwotIAotLSAgICAgICAgaWYgKCFzZXRfaW92ZWNfZmllbGQoaW92ZWMsIG5faW92ZWMsICJDT1JFRFVNUF9VSUQ9IiwgY29udGV4dFtDT05URVhUX1VJRF0pKQotKyAgICAgICAgaWYgKCFzZXRfaW92ZWNfc3RyaW5nX2ZpZWxkKGlvdmVjLCBuX2lvdmVjLCAiQ09SRURVTVBfVUlEPSIsIGNvbnRleHRbQ09OVEVYVF9VSURdKSkKLSAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19vb20oKTsKLSAKLS0gICAgICAgIGlmICghc2V0X2lvdmVjX2ZpZWxkKGlvdmVjLCBuX2lvdmVjLCAiQ09SRURVTVBfR0lEPSIsIGNvbnRleHRbQ09OVEVYVF9HSURdKSkKLSsgICAgICAgIGlmICghc2V0X2lvdmVjX3N0cmluZ19maWVsZChpb3ZlYywgbl9pb3ZlYywgIkNPUkVEVU1QX0dJRD0iLCBjb250ZXh0W0NPTlRFWFRfR0lEXSkpCi0gICAgICAgICAgICAgICAgIHJldHVybiBsb2dfb29tKCk7Ci0gCi0tICAgICAgICBpZiAoIXNldF9pb3ZlY19maWVsZChpb3ZlYywgbl9pb3ZlYywgIkNPUkVEVU1QX1NJR05BTD0iLCBjb250ZXh0W0NPTlRFWFRfU0lHTkFMXSkpCi0rICAgICAgICBpZiAoIXNldF9pb3ZlY19zdHJpbmdfZmllbGQoaW92ZWMsIG5faW92ZWMsICJDT1JFRFVNUF9TSUdOQUw9IiwgY29udGV4dFtDT05URVhUX1NJR05BTF0pKQotICAgICAgICAgICAgICAgICByZXR1cm4gbG9nX29vbSgpOwotIAotLSAgICAgICAgaWYgKCFzZXRfaW92ZWNfZmllbGQoaW92ZWMsIG5faW92ZWMsICJDT1JFRFVNUF9STElNSVQ9IiwgY29udGV4dFtDT05URVhUX1JMSU1JVF0pKQotKyAgICAgICAgaWYgKCFzZXRfaW92ZWNfc3RyaW5nX2ZpZWxkKGlvdmVjLCBuX2lvdmVjLCAiQ09SRURVTVBfUkxJTUlUPSIsIGNvbnRleHRbQ09OVEVYVF9STElNSVRdKSkKLSAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19vb20oKTsKLSAKLS0gICAgICAgIGlmICghc2V0X2lvdmVjX2ZpZWxkKGlvdmVjLCBuX2lvdmVjLCAiQ09SRURVTVBfSE9TVE5BTUU9IiwgY29udGV4dFtDT05URVhUX0hPU1ROQU1FXSkpCi0rICAgICAgICBpZiAoIXNldF9pb3ZlY19zdHJpbmdfZmllbGQoaW92ZWMsIG5faW92ZWMsICJDT1JFRFVNUF9IT1NUTkFNRT0iLCBjb250ZXh0W0NPTlRFWFRfSE9TVE5BTUVdKSkKLSAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19vb20oKTsKLSAKLS0gICAgICAgIGlmICghc2V0X2lvdmVjX2ZpZWxkKGlvdmVjLCBuX2lvdmVjLCAiQ09SRURVTVBfQ09NTT0iLCBjb250ZXh0W0NPTlRFWFRfQ09NTV0pKQotKyAgICAgICAgaWYgKCFzZXRfaW92ZWNfc3RyaW5nX2ZpZWxkKGlvdmVjLCBuX2lvdmVjLCAiQ09SRURVTVBfQ09NTT0iLCBjb250ZXh0W0NPTlRFWFRfQ09NTV0pKQotICAgICAgICAgICAgICAgICByZXR1cm4gbG9nX29vbSgpOwotIAotICAgICAgICAgaWYgKGNvbnRleHRbQ09OVEVYVF9FWEVdICYmCi0tICAgICAgICAgICAgIXNldF9pb3ZlY19maWVsZChpb3ZlYywgbl9pb3ZlYywgIkNPUkVEVU1QX0VYRT0iLCBjb250ZXh0W0NPTlRFWFRfRVhFXSkpCi0rICAgICAgICAgICAgIXNldF9pb3ZlY19zdHJpbmdfZmllbGQoaW92ZWMsIG5faW92ZWMsICJDT1JFRFVNUF9FWEU9IiwgY29udGV4dFtDT05URVhUX0VYRV0pKQotICAgICAgICAgICAgICAgICByZXR1cm4gbG9nX29vbSgpOwotIAotICAgICAgICAgaWYgKHNkX3BpZF9nZXRfc2Vzc2lvbihwaWQsICZ0KSA+PSAwKQotQEAgLTEyMTIsNyArMTIwMyw3IEBAIHN0YXRpYyBpbnQgZ2F0aGVyX3BpZF9tZXRhZGF0YSgKLSAgICAgICAgICAgICAgICAgaW92ZWNbKCpuX2lvdmVjKSsrXSA9IElPVkVDX01BS0VfU1RSSU5HKHQpOwotIAotICAgICAgICAgaWYgKHNhZmVfYXRvaShjb250ZXh0W0NPTlRFWFRfU0lHTkFMXSwgJnNpZ25vKSA+PSAwICYmIFNJR05BTF9WQUxJRChzaWdubykpCi0tICAgICAgICAgICAgICAgIHNldF9pb3ZlY19maWVsZChpb3ZlYywgbl9pb3ZlYywgIkNPUkVEVU1QX1NJR05BTF9OQU1FPVNJRyIsIHNpZ25hbF90b19zdHJpbmcoc2lnbm8pKTsKLSsgICAgICAgICAgICAgICAgc2V0X2lvdmVjX3N0cmluZ19maWVsZChpb3ZlYywgbl9pb3ZlYywgIkNPUkVEVU1QX1NJR05BTF9OQU1FPVNJRyIsIHNpZ25hbF90b19zdHJpbmcoc2lnbm8pKTsKLSAKLSAgICAgICAgIHJldHVybiAwOyAvKiB3ZSBzdWNjZXNzZnVsbHkgYWNxdWlyZWQgYWxsIG1ldGFkYXRhICovCi0gfQotZGlmZiAtLWdpdCBhL3NyYy9qb3VybmFsL2pvdXJuYWxkLXNlcnZlci5jIGIvc3JjL2pvdXJuYWwvam91cm5hbGQtc2VydmVyLmMKLWluZGV4IDRmMTU1MGVjNWIuLjMxYmUwODVjNmIgMTAwNjQ0Ci0tLS0gYS9zcmMvam91cm5hbC9qb3VybmFsZC1zZXJ2ZXIuYwotKysrIGIvc3JjL2pvdXJuYWwvam91cm5hbGQtc2VydmVyLmMKLUBAIC03NTMsNiArNzUzLDcgQEAgc3RhdGljIHZvaWQgZGlzcGF0Y2hfbWVzc2FnZV9yZWFsKAotICAgICAgICAgICAgICAgICBwaWRfdCBvYmplY3RfcGlkKSB7Ci0gCi0gICAgICAgICBjaGFyIHNvdXJjZV90aW1lW3NpemVvZigiX1NPVVJDRV9SRUFMVElNRV9USU1FU1RBTVA9IikgKyBERUNJTUFMX1NUUl9NQVgodXNlY190KV07Ci0rICAgICAgICBfY2xlYW51cF9mcmVlXyBjaGFyICpjbWRsaW5lMSA9IE5VTEwsICpjbWRsaW5lMiA9IE5VTEw7Ci0gICAgICAgICB1aWRfdCBqb3VybmFsX3VpZDsKLSAgICAgICAgIENsaWVudENvbnRleHQgKm87Ci0gCi1AQCAtNzY5LDIwICs3NzAsMjMgQEAgc3RhdGljIHZvaWQgZGlzcGF0Y2hfbWVzc2FnZV9yZWFsKAotICAgICAgICAgICAgICAgICBJT1ZFQ19BRERfTlVNRVJJQ19GSUVMRChpb3ZlYywgbiwgYy0+dWlkLCB1aWRfdCwgdWlkX2lzX3ZhbGlkLCBVSURfRk1ULCAiX1VJRCIpOwotICAgICAgICAgICAgICAgICBJT1ZFQ19BRERfTlVNRVJJQ19GSUVMRChpb3ZlYywgbiwgYy0+Z2lkLCBnaWRfdCwgZ2lkX2lzX3ZhbGlkLCBHSURfRk1ULCAiX0dJRCIpOwotIAotLSAgICAgICAgICAgICAgICBJT1ZFQ19BRERfU1RSSU5HX0ZJRUxEKGlvdmVjLCBuLCBjLT5jb21tLCAiX0NPTU0iKTsKLS0gICAgICAgICAgICAgICAgSU9WRUNfQUREX1NUUklOR19GSUVMRChpb3ZlYywgbiwgYy0+ZXhlLCAiX0VYRSIpOwotLSAgICAgICAgICAgICAgICBJT1ZFQ19BRERfU1RSSU5HX0ZJRUxEKGlvdmVjLCBuLCBjLT5jbWRsaW5lLCAiX0NNRExJTkUiKTsKLS0gICAgICAgICAgICAgICAgSU9WRUNfQUREX1NUUklOR19GSUVMRChpb3ZlYywgbiwgYy0+Y2FwZWZmLCAiX0NBUF9FRkZFQ1RJVkUiKTsKLSsgICAgICAgICAgICAgICAgSU9WRUNfQUREX1NUUklOR19GSUVMRChpb3ZlYywgbiwgYy0+Y29tbSwgIl9DT01NIik7IC8qIEF0IG1vc3QgVEFTS19DT01NX0xFTkdUSCAoMTYgYnl0ZXMpICovCi0rICAgICAgICAgICAgICAgIElPVkVDX0FERF9TVFJJTkdfRklFTEQoaW92ZWMsIG4sIGMtPmV4ZSwgIl9FWEUiKTsgLyogQSBwYXRoLCBzbyBhdCBtb3N0IFBBVEhfTUFYICg0MDk2IGJ5dGVzKSAqLwotIAotLSAgICAgICAgICAgICAgICBJT1ZFQ19BRERfU0laRURfRklFTEQoaW92ZWMsIG4sIGMtPmxhYmVsLCBjLT5sYWJlbF9zaXplLCAiX1NFTElOVVhfQ09OVEVYVCIpOwotKyAgICAgICAgICAgICAgICBpZiAoYy0+Y21kbGluZSkKLSsgICAgICAgICAgICAgICAgICAgICAgICAvKiBBdCBtb3N0IF9TQ19BUkdfTUFYICgyTUIgdXN1YWxseSksIHdoaWNoIGlzIHRvbyBtdWNoIHRvIHB1dCBvbiBzdGFjay4KLSsgICAgICAgICAgICAgICAgICAgICAgICAgKiBMZXQncyB1c2UgYSBoZWFwIGFsbG9jYXRpb24gZm9yIHRoaXMgb25lLiAqLwotKyAgICAgICAgICAgICAgICAgICAgICAgIGNtZGxpbmUxID0gc2V0X2lvdmVjX3N0cmluZ19maWVsZChpb3ZlYywgJm4sICJfQ01ETElORT0iLCBjLT5jbWRsaW5lKTsKLSAKLSsgICAgICAgICAgICAgICAgSU9WRUNfQUREX1NUUklOR19GSUVMRChpb3ZlYywgbiwgYy0+Y2FwZWZmLCAiX0NBUF9FRkZFQ1RJVkUiKTsgLyogUmVhZCBmcm9tIC9wcm9jLy4uLi9zdGF0dXMgKi8KLSsgICAgICAgICAgICAgICAgSU9WRUNfQUREX1NJWkVEX0ZJRUxEKGlvdmVjLCBuLCBjLT5sYWJlbCwgYy0+bGFiZWxfc2l6ZSwgIl9TRUxJTlVYX0NPTlRFWFQiKTsKLSAgICAgICAgICAgICAgICAgSU9WRUNfQUREX05VTUVSSUNfRklFTEQoaW92ZWMsIG4sIGMtPmF1ZGl0aWQsIHVpbnQzMl90LCBhdWRpdF9zZXNzaW9uX2lzX3ZhbGlkLCAiJSIgUFJJdTMyLCAiX0FVRElUX1NFU1NJT04iKTsKLSAgICAgICAgICAgICAgICAgSU9WRUNfQUREX05VTUVSSUNfRklFTEQoaW92ZWMsIG4sIGMtPmxvZ2ludWlkLCB1aWRfdCwgdWlkX2lzX3ZhbGlkLCBVSURfRk1ULCAiX0FVRElUX0xPR0lOVUlEIik7Ci0gCi0tICAgICAgICAgICAgICAgIElPVkVDX0FERF9TVFJJTkdfRklFTEQoaW92ZWMsIG4sIGMtPmNncm91cCwgIl9TWVNURU1EX0NHUk9VUCIpOwotKyAgICAgICAgICAgICAgICBJT1ZFQ19BRERfU1RSSU5HX0ZJRUxEKGlvdmVjLCBuLCBjLT5jZ3JvdXAsICJfU1lTVEVNRF9DR1JPVVAiKTsgLyogQSBwYXRoICovCi0gICAgICAgICAgICAgICAgIElPVkVDX0FERF9TVFJJTkdfRklFTEQoaW92ZWMsIG4sIGMtPnNlc3Npb24sICJfU1lTVEVNRF9TRVNTSU9OIik7Ci0gICAgICAgICAgICAgICAgIElPVkVDX0FERF9OVU1FUklDX0ZJRUxEKGlvdmVjLCBuLCBjLT5vd25lcl91aWQsIHVpZF90LCB1aWRfaXNfdmFsaWQsIFVJRF9GTVQsICJfU1lTVEVNRF9PV05FUl9VSUQiKTsKLS0gICAgICAgICAgICAgICAgSU9WRUNfQUREX1NUUklOR19GSUVMRChpb3ZlYywgbiwgYy0+dW5pdCwgIl9TWVNURU1EX1VOSVQiKTsKLSsgICAgICAgICAgICAgICAgSU9WRUNfQUREX1NUUklOR19GSUVMRChpb3ZlYywgbiwgYy0+dW5pdCwgIl9TWVNURU1EX1VOSVQiKTsgLyogVW5pdCBuYW1lcyBhcmUgYm91bmRlZCBieSBVTklUX05BTUVfTUFYICovCi0gICAgICAgICAgICAgICAgIElPVkVDX0FERF9TVFJJTkdfRklFTEQoaW92ZWMsIG4sIGMtPnVzZXJfdW5pdCwgIl9TWVNURU1EX1VTRVJfVU5JVCIpOwotICAgICAgICAgICAgICAgICBJT1ZFQ19BRERfU1RSSU5HX0ZJRUxEKGlvdmVjLCBuLCBjLT5zbGljZSwgIl9TWVNURU1EX1NMSUNFIik7Ci0gICAgICAgICAgICAgICAgIElPVkVDX0FERF9TVFJJTkdfRklFTEQoaW92ZWMsIG4sIGMtPnVzZXJfc2xpY2UsICJfU1lTVEVNRF9VU0VSX1NMSUNFIik7Ci1AQCAtODAzLDEzICs4MDcsMTQgQEAgc3RhdGljIHZvaWQgZGlzcGF0Y2hfbWVzc2FnZV9yZWFsKAotICAgICAgICAgICAgICAgICBJT1ZFQ19BRERfTlVNRVJJQ19GSUVMRChpb3ZlYywgbiwgby0+dWlkLCB1aWRfdCwgdWlkX2lzX3ZhbGlkLCBVSURfRk1ULCAiT0JKRUNUX1VJRCIpOwotICAgICAgICAgICAgICAgICBJT1ZFQ19BRERfTlVNRVJJQ19GSUVMRChpb3ZlYywgbiwgby0+Z2lkLCBnaWRfdCwgZ2lkX2lzX3ZhbGlkLCBHSURfRk1ULCAiT0JKRUNUX0dJRCIpOwotIAotKyAgICAgICAgICAgICAgICAvKiBTZWUgYWJvdmUgZm9yIHNpemUgbGltaXRzLCBvbmx5IC0+Y21kbGluZSBtYXkgYmUgbGFyZ2UsIHNvIHVzZSBhIGhlYXAgYWxsb2NhdGlvbiBmb3IgaXQuICovCi0gICAgICAgICAgICAgICAgIElPVkVDX0FERF9TVFJJTkdfRklFTEQoaW92ZWMsIG4sIG8tPmNvbW0sICJPQkpFQ1RfQ09NTSIpOwotICAgICAgICAgICAgICAgICBJT1ZFQ19BRERfU1RSSU5HX0ZJRUxEKGlvdmVjLCBuLCBvLT5leGUsICJPQkpFQ1RfRVhFIik7Ci0tICAgICAgICAgICAgICAgIElPVkVDX0FERF9TVFJJTkdfRklFTEQoaW92ZWMsIG4sIG8tPmNtZGxpbmUsICJPQkpFQ1RfQ01ETElORSIpOwotLSAgICAgICAgICAgICAgICBJT1ZFQ19BRERfU1RSSU5HX0ZJRUxEKGlvdmVjLCBuLCBvLT5jYXBlZmYsICJPQkpFQ1RfQ0FQX0VGRkVDVElWRSIpOwotKyAgICAgICAgICAgICAgICBpZiAoby0+Y21kbGluZSkKLSsgICAgICAgICAgICAgICAgICAgICAgICBjbWRsaW5lMiA9IHNldF9pb3ZlY19zdHJpbmdfZmllbGQoaW92ZWMsICZuLCAiT0JKRUNUX0NNRExJTkU9Iiwgby0+Y21kbGluZSk7Ci0gCi0rICAgICAgICAgICAgICAgIElPVkVDX0FERF9TVFJJTkdfRklFTEQoaW92ZWMsIG4sIG8tPmNhcGVmZiwgIk9CSkVDVF9DQVBfRUZGRUNUSVZFIik7Ci0gICAgICAgICAgICAgICAgIElPVkVDX0FERF9TSVpFRF9GSUVMRChpb3ZlYywgbiwgby0+bGFiZWwsIG8tPmxhYmVsX3NpemUsICJPQkpFQ1RfU0VMSU5VWF9DT05URVhUIik7Ci0tCi0gICAgICAgICAgICAgICAgIElPVkVDX0FERF9OVU1FUklDX0ZJRUxEKGlvdmVjLCBuLCBvLT5hdWRpdGlkLCB1aW50MzJfdCwgYXVkaXRfc2Vzc2lvbl9pc192YWxpZCwgIiUiIFBSSXUzMiwgIk9CSkVDVF9BVURJVF9TRVNTSU9OIik7Ci0gICAgICAgICAgICAgICAgIElPVkVDX0FERF9OVU1FUklDX0ZJRUxEKGlvdmVjLCBuLCBvLT5sb2dpbnVpZCwgdWlkX3QsIHVpZF9pc192YWxpZCwgVUlEX0ZNVCwgIk9CSkVDVF9BVURJVF9MT0dJTlVJRCIpOwotIAotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyNC10ZXN0LWpzb24uYy1kZWZpbmUtTV9QSWwucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDI0LXRlc3QtanNvbi5jLWRlZmluZS1NX1BJbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMmFlMmJiCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyNC10ZXN0LWpzb24uYy1kZWZpbmUtTV9QSWwucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorRnJvbSA5MDI0MTJjMjcxZTBjNWQ5Y2I5M2IxMGVjMGZiNWIxMTliMzkzNDc0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyNSBGZWIgMjAxOSAxNjo1MzowNiArMDgwMAorU3ViamVjdDogW1BBVENIIDI0LzI0XSB0ZXN0LWpzb24uYzogZGVmaW5lIE1fUElsCisKK0ZpeCB0aGUgZm9sbG93aW5nIGNvbXBpbGUgZmFpbHVyZToKK3NyYy90ZXN0L3Rlc3QtanNvbi5jOjMwNTo1MDogZXJyb3I6ICdNX1BJbCcgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4gJ01fUEknPworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KKy0tLQorIHNyYy90ZXN0L3Rlc3QtanNvbi5jIHwgNCArKysrCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvdGVzdC1qc29uLmMgYi9zcmMvdGVzdC90ZXN0LWpzb24uYworaW5kZXggZmRmMWI0Zi4uZmE1NDFmOCAxMDA2NDQKKy0tLSBhL3NyYy90ZXN0L3Rlc3QtanNvbi5jCisrKysgYi9zcmMvdGVzdC90ZXN0LWpzb24uYworQEAgLTEwLDYgKzEwLDEwIEBACisgI2luY2x1ZGUgInN0cnYuaCIKKyAjaW5jbHVkZSAidXRpbC5oIgorIAorKyNpZm5kZWYgTV9QSWwKKysjZGVmaW5lIE1fUElsIDMuMTQxNTkyNjUzNTg5NzkzMjM4NDYyNjQzMzgzMjc5NTAyODg0TAorKyNlbmRpZgorKworIHN0YXRpYyB2b2lkIHRlc3RfdG9rZW5pemVyKGNvbnN0IGNoYXIgKmRhdGEsIC4uLikgeworICAgICAgICAgdW5zaWduZWQgbGluZSA9IDAsIGNvbHVtbiA9IDA7CisgICAgICAgICB2b2lkICpzdGF0ZSA9IE5VTEw7CistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjUtam91cm5hbGQtc2V0LWEtbGltaXQtb24tdGhlLW51bWJlci1vZi1maWVsZHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDI1LWpvdXJuYWxkLXNldC1hLWxpbWl0LW9uLXRoZS1udW1iZXItb2YtZmllbGRzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZTllZjVkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjUtam91cm5hbGQtc2V0LWEtbGltaXQtb24tdGhlLW51bWJlci1vZi1maWVsZHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMzkgKzAsMCBAQAotRnJvbSA3Y2FkMDQ0YjcyNDA2Y2JhZGYwNDhkYTQzMmMyOWFmZWE3NGMzYzEwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP1piaWduaWV3PTIwSj1DND05OWRyemVqZXdza2ktU3ptZWs/PSA8emJ5c3pla0Bpbi53YXcucGw+Ci1EYXRlOiBXZWQsIDUgRGVjIDIwMTggMjI6NDU6MDIgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gam91cm5hbGQ6IHNldCBhIGxpbWl0IG9uIHRoZSBudW1iZXIgb2YgZmllbGRzCi0KLVRoZSBmaXggZm9yIENWRS0yMDE4LTE2ODY1IGlzIHBsdWNrZWQgZnJvbSB0d28gY29tbWl0cyB0aGF0IGhhdmUKLWJlZW4gcHVzaGVkIHRvIHN5c3RlbWQgbWFzdGVyLgotCi1qb3VybmFsZDogc2V0IGEgbGltaXQgb24gdGhlIG51bWJlciBvZiBmaWVsZHMgKDFrKQotCi1XZSBhbGxvY2F0ZSBhIGlvdmVjIGVudHJ5IGZvciBlYWNoIGZpZWxkLCBzbyB3aXRoIG1hbnkgc2hvcnQgZW50cmllcywKLW91ciBtZW1vcnkgdXNhZ2UgYW5kIHByb2Nlc3NpbmcgdGltZSBjYW4gYmUgbGFyZ2UsIGV2ZW4gd2l0aCBhIHJlbGF0aXZlbHkKLXNtYWxsIG1lc3NhZ2Ugc2l6ZS4gTGV0J3MgcmVmdXNlIG92ZXJseSBsb25nIGVudHJpZXMuCi0KLUNWRS0yMDE4LTE2ODY1Ci1odHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTE2NTM4NjEKLQotV2hhdCBmcm9tIEkgY2FuIHNlZSwgdGhlIHByb2JsZW0gaXMgbm90IGZyb20gYW4gYWxsb2NhLCBkZXNwaXRlIHdoYXQgdGhlIENWRQotZGVzY3JpcHRpb24gc2F5cywgYnV0IGZyb20gdGhlIGF0dGFjayBtdWx0aXBsaWNhdGlvbiB0aGF0IGNvbWVzIGZyb20gY3JlYXRpbmcKLW1hbnkgdmVyeSBzbWFsbCBpb3ZlY3M6ICh2b2lkKiArIHNpemVfdCkgZm9yIGVhY2ggdGhyZWUgYnl0ZXMgb2YgaW5wdXQgbWVzc2FnZS4KLQotUGF0Y2ggYmFja3BvcnRlZCBmcm9tIHN5c3RlbWQgbWFzdGVyIGF0Ci0wNTJjNTdmMTMyZjA0YTNjZjQxNDhmODc1NjE2MThkYTFhNjkwOGI0LgotCi1qb3VybmFsLXJlbW90ZTogc2V0IGEgbGltaXQgb24gdGhlIG51bWJlciBvZiBmaWVsZHMgaW4gYSBtZXNzYWdlCi0KLUV4aXN0aW5nIHVzZSBvZiBFMkJJRyBpcyByZXBsYWNlZCB3aXRoIEVOT0JVRlMgKGVudHJ5IHRvbyBsb25nKSwgYW5kIEUyQklHIGlzCi1yZXVzZWQgZm9yIHRoZSBuZXcgZXJyb3IgY29uZGl0aW9uICh0b28gbWFueSBmaWVsZHMpLgotCi1UaGlzIG1hdGNoZXMgdGhlIGNoYW5nZSBkb25lIGZvciBzeXN0ZW1kLWpvdXJuYWxkLCBoZW5jZSBmb3JtaW5nIHRoZSBzZWNvbmQKLXBhcnQgb2YgdGhlIGZpeCBmb3IgQ1ZFLTIwMTgtMTY4NjUKLShodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTE2NTM4NjEpLgotCi1QYXRjaCBiYWNrcG9ydGVkIGZyb20gc3lzdGVtZCBtYXN0ZXIgYXQKLWVmNGQ2YWJlN2M3ZmFiNmNiZmY5NzViMzJlNzZiMDlmZWVlNTYwNzQuCi13aXRoIHRoZSBjaGFuZ2VzIGFwcGxpZWQgYnkgN2ZkYjIzN2Y1NDczY2I4ZmMyMTI5ZTU3ZThhMDAzOTUyNmRjYjRmZAotcmVtb3ZlZC4KLQotQ1ZFOiBDVkUtMjAxOC0xNjg2NQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogTWFyY3VzIENvb3BlciA8bWFyY3VzY0BheGlzLmNvbT4KLS0tLQotIHNyYy9iYXNpYy9qb3VybmFsLWltcG9ydGVyLmMgICAgICAgICAgICAgfCA1ICsrKystCi0gc3JjL2Jhc2ljL2pvdXJuYWwtaW1wb3J0ZXIuaCAgICAgICAgICAgICB8IDMgKysrCi0gc3JjL2pvdXJuYWwtcmVtb3RlL2pvdXJuYWwtcmVtb3RlLW1haW4uYyB8IDcgKysrKysrLQotIHNyYy9qb3VybmFsLXJlbW90ZS9qb3VybmFsLXJlbW90ZS5jICAgICAgfCA1ICsrKystCi0gc3JjL2pvdXJuYWwvam91cm5hbGQtbmF0aXZlLmMgICAgICAgICAgICB8IDUgKysrKysKLSA1IGZpbGVzIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvam91cm5hbC1pbXBvcnRlci5jIGIvc3JjL2Jhc2ljL2pvdXJuYWwtaW1wb3J0ZXIuYwotaW5kZXggY2EyMDNiYmJmYy4uM2FjNTVhNjZkOSAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy9qb3VybmFsLWltcG9ydGVyLmMKLSsrKyBiL3NyYy9iYXNpYy9qb3VybmFsLWltcG9ydGVyLmMKLUBAIC0yMyw2ICsyMyw5IEBAIGVudW0gewotIH07Ci0gCi0gc3RhdGljIGludCBpb3Z3X3B1dChzdHJ1Y3QgaW92ZWNfd3JhcHBlciAqaW92dywgdm9pZCogZGF0YSwgc2l6ZV90IGxlbikgewotKyAgICAgICAgaWYgKGlvdnctPmNvdW50ID49IEVOVFJZX0ZJRUxEX0NPVU5UX01BWCkKLSsgICAgICAgICAgICAgICAgcmV0dXJuIC1FMkJJRzsKLSsKLSAgICAgICAgIGlmICghR1JFRURZX1JFQUxMT0MoaW92dy0+aW92ZWMsIGlvdnctPnNpemVfYnl0ZXMsIGlvdnctPmNvdW50ICsgMSkpCi0gICAgICAgICAgICAgICAgIHJldHVybiBsb2dfb29tKCk7Ci0gCi1AQCAtOTgsNyArMTAxLDcgQEAgc3RhdGljIGludCBnZXRfbGluZShKb3VybmFsSW1wb3J0ZXIgKmltcCwgY2hhciAqKmxpbmUsIHNpemVfdCAqc2l6ZSkgewotICAgICAgICAgICAgICAgICBpbXAtPnNjYW5uZWQgPSBpbXAtPmZpbGxlZDsKLSAgICAgICAgICAgICAgICAgaWYgKGltcC0+c2Nhbm5lZCA+PSBEQVRBX1NJWkVfTUFYKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgbG9nX2Vycm9yKCJFbnRyeSBpcyBiaWdnZXIgdGhhbiAldSBieXRlcy4iLCBEQVRBX1NJWkVfTUFYKTsKLS0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLUUyQklHOwotKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtRU5PQlVGUzsKLSAgICAgICAgICAgICAgICAgfQotIAotICAgICAgICAgICAgICAgICBpZiAoaW1wLT5wYXNzaXZlX2ZkKQotZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9qb3VybmFsLWltcG9ydGVyLmggYi9zcmMvYmFzaWMvam91cm5hbC1pbXBvcnRlci5oCi1pbmRleCBmNDljZTczNGExLi5jNGFlNDVkMzJkIDEwMDY0NAotLS0tIGEvc3JjL2Jhc2ljL2pvdXJuYWwtaW1wb3J0ZXIuaAotKysrIGIvc3JjL2Jhc2ljL2pvdXJuYWwtaW1wb3J0ZXIuaAotQEAgLTE2LDYgKzE2LDkgQEAKLSAjZGVmaW5lIERBVEFfU0laRV9NQVggKDEwMjQqMTAyNCo3Njh1KQotICNkZWZpbmUgTElORV9DSFVOSyA4KjEwMjR1Ci0gCi0rLyogVGhlIG1heGltdW0gbnVtYmVyIG9mIGZpZWxkcyBpbiBhbiBlbnRyeSAqLwotKyNkZWZpbmUgRU5UUllfRklFTERfQ09VTlRfTUFYIDEwMjQKLSsKLSBzdHJ1Y3QgaW92ZWNfd3JhcHBlciB7Ci0gICAgICAgICBzdHJ1Y3QgaW92ZWMgKmlvdmVjOwotICAgICAgICAgc2l6ZV90IHNpemVfYnl0ZXM7Ci1kaWZmIC0tZ2l0IGEvc3JjL2pvdXJuYWwtcmVtb3RlL2pvdXJuYWwtcmVtb3RlLW1haW4uYyBiL3NyYy9qb3VybmFsLXJlbW90ZS9qb3VybmFsLXJlbW90ZS1tYWluLmMKLWluZGV4IDhmZGE5ZDE0OTkuLjNhMDFmZWY2NDYgMTAwNjQ0Ci0tLS0gYS9zcmMvam91cm5hbC1yZW1vdGUvam91cm5hbC1yZW1vdGUtbWFpbi5jCi0rKysgYi9zcmMvam91cm5hbC1yZW1vdGUvam91cm5hbC1yZW1vdGUtbWFpbi5jCi1AQCAtMjEyLDcgKzIxMiwxMiBAQCBzdGF0aWMgaW50IHByb2Nlc3NfaHR0cF91cGxvYWQoCi0gICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgIGVsc2UgaWYgKHIgPCAwKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgbG9nX3dhcm5pbmcoIkZhaWxlZCB0byBwcm9jZXNzIGRhdGEgZm9yIGNvbm5lY3Rpb24gJXAiLCBjb25uZWN0aW9uKTsKLS0gICAgICAgICAgICAgICAgICAgICAgICBpZiAociA9PSAtRTJCSUcpCi0rICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHIgPT0gLUVOT0JVRlMpCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWhkX3Jlc3BvbmRmKGNvbm5lY3Rpb24sCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIsIE1IRF9IVFRQX1BBWUxPQURfVE9PX0xBUkdFLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRW50cnkgaXMgYWJvdmUgdGhlIG1heGltdW0gb2YgJXUsIGFib3J0aW5nIGNvbm5lY3Rpb24gJXAuIiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREFUQV9TSVpFX01BWCwgY29ubmVjdGlvbik7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAociA9PSAtRTJCSUcpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWhkX3Jlc3BvbmRmKGNvbm5lY3Rpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIsIE1IRF9IVFRQX1BBWUxPQURfVE9PX0xBUkdFLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRW50cnkgaXMgdG9vIGxhcmdlLCBtYXhpbXVtIGlzICIgU1RSSU5HSUZZKERBVEFfU0laRV9NQVgpICIgYnl0ZXMuIik7Ci1kaWZmIC0tZ2l0IGEvc3JjL2pvdXJuYWwtcmVtb3RlL2pvdXJuYWwtcmVtb3RlLmMgYi9zcmMvam91cm5hbC1yZW1vdGUvam91cm5hbC1yZW1vdGUuYwotaW5kZXggYmViNzVhMWNiNC4uNjdlM2E3MGMwNiAxMDA2NDQKLS0tLSBhL3NyYy9qb3VybmFsLXJlbW90ZS9qb3VybmFsLXJlbW90ZS5jCi0rKysgYi9zcmMvam91cm5hbC1yZW1vdGUvam91cm5hbC1yZW1vdGUuYwotQEAgLTQwOCw3ICs0MDgsMTAgQEAgaW50IGpvdXJuYWxfcmVtb3RlX2hhbmRsZV9yYXdfc291cmNlKAotICAgICAgICAgICAgICAgICBsb2dfZGVidWcoIiV6dSBhY3RpdmUgc291cmNlcyByZW1haW5pbmciLCBzLT5hY3RpdmUpOwotICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgIH0gZWxzZSBpZiAociA9PSAtRTJCSUcpIHsKLS0gICAgICAgICAgICAgICAgbG9nX25vdGljZV9lcnJubyhFMkJJRywgIkVudHJ5IHRvbyBiaWcsIHNraXBwZWQiKTsKLSsgICAgICAgICAgICAgICAgbG9nX25vdGljZSgiRW50cnkgd2l0aCB0b28gbWFueSBmaWVsZHMsIHNraXBwZWQiKTsKLSsgICAgICAgICAgICAgICAgcmV0dXJuIDE7Ci0rICAgICAgICB9IGVsc2UgaWYgKHIgPT0gLUVOT0JVRlMpIHsKLSsgICAgICAgICAgICAgICAgbG9nX25vdGljZSgiRW50cnkgdG9vIGJpZywgc2tpcHBlZCIpOwotICAgICAgICAgICAgICAgICByZXR1cm4gMTsKLSAgICAgICAgIH0gZWxzZSBpZiAociA9PSAtRUFHQUlOKSB7Ci0gICAgICAgICAgICAgICAgIHJldHVybiAwOwotZGlmZiAtLWdpdCBhL3NyYy9qb3VybmFsL2pvdXJuYWxkLW5hdGl2ZS5jIGIvc3JjL2pvdXJuYWwvam91cm5hbGQtbmF0aXZlLmMKLWluZGV4IDVmZjIyYTEwYWYuLjk1MWQwOTIwNTMgMTAwNjQ0Ci0tLS0gYS9zcmMvam91cm5hbC9qb3VybmFsZC1uYXRpdmUuYwotKysrIGIvc3JjL2pvdXJuYWwvam91cm5hbGQtbmF0aXZlLmMKLUBAIC0xNDAsNiArMTQwLDExIEBAIHN0YXRpYyBpbnQgc2VydmVyX3Byb2Nlc3NfZW50cnkoCi0gICAgICAgICAgICAgICAgIH0KLSAKLSAgICAgICAgICAgICAgICAgLyogQSBwcm9wZXJ0eSBmb2xsb3dzICovCi0rICAgICAgICAgICAgICAgIGlmIChuID4gRU5UUllfRklFTERfQ09VTlRfTUFYKSB7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgbG9nX2RlYnVnKCJSZWNlaXZlZCBhbiBlbnRyeSB0aGF0IGhhcyBtb3JlIHRoYW4gIiBTVFJJTkdJRlkoRU5UUllfRklFTERfQ09VTlRfTUFYKSAiIGZpZWxkcywgaWdub3JpbmcgZW50cnkuIik7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgciA9IDE7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmaW5pc2g7Ci0rICAgICAgICAgICAgICAgIH0KLSAKLSAgICAgICAgICAgICAgICAgLyogbiBleGlzdGluZyBwcm9wZXJ0aWVzLCAxIG5ldywgKzEgZm9yIF9UUkFOU1BPUlQgKi8KLSAgICAgICAgICAgICAgICAgaWYgKCFHUkVFRFlfUkVBTExPQyhpb3ZlYywgbSwKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjYtam91cm5hbC1maXgtb3V0LW9mLWJvdW5kcy1yZWFkLUNWRS0yMDE4LTE2ODY2LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyNi1qb3VybmFsLWZpeC1vdXQtb2YtYm91bmRzLXJlYWQtQ1ZFLTIwMTgtMTY4NjYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM5MjVhNGEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyNi1qb3VybmFsLWZpeC1vdXQtb2YtYm91bmRzLXJlYWQtQ1ZFLTIwMTgtMTY4NjYucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi1Gcm9tIGViZDA2YzM3ZDQzMTFkYjk4NTFmNGQzZmRkMDIzZGUzZGQ1OTBkZTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGaWxpcGUgQnJhbmRlbmJ1cmdlciA8ZmlsYnJhbmRlbkBnb29nbGUuY29tPgotRGF0ZTogVGh1LCAxMCBKYW4gMjAxOSAxNDo1MzozMyAtMDgwMAotU3ViamVjdDogW1BBVENIXSBqb3VybmFsOiBmaXggb3V0LW9mLWJvdW5kcyByZWFkIENWRS0yMDE4LTE2ODY2Ci0KLVRoZSBvcmlnaW5hbCBjb2RlIGRpZG4ndCBhY2NvdW50IGZvciB0aGUgZmFjdCB0aGF0IHN0cmNocigpIHdvdWxkIG1hdGNoIG9uIHRoZQotJ1wwJyBjaGFyYWN0ZXIsIG1ha2luZyBpdCByZWFkIHBhc3QgdGhlIGVuZCBvZiB0aGUgYnVmZmVyIGlmIG5vIG5vbi13aGl0ZXNwYWNlCi1jaGFyYWN0ZXIgd2FzIHByZXNlbnQuCi0KLVRoaXMgYnVnIHdhcyBpbnRyb2R1Y2VkIGluIGNvbW1pdCBlYzVmZjQ0NDVjY2E2YSB3aGljaCB3YXMgZmlyc3QgcmVsZWFzZWQgaW4KLXN5c3RlbWQgdjIyMSBhbmQgbGF0ZXIgZml4ZWQgaW4gY29tbWl0IDg1OTUxMDJkM2RkZGU2IHdoaWNoIHdhcyByZWxlYXNlZCBpbgotdjI0MCwgc28gdmVyc2lvbnMgaW4gdGhlIHJhbmdlIFt2MjIxLCB2MjQwKSBhcmUgYWZmZWN0ZWQuCi0KLVBhdGNoIGJhY2twb3J0ZWQgZnJvbSBzeXN0ZW1kLXN0YWJsZSBhdCBmMDA1ZTczZDM3MjNkNjJhMzliZTY2MTkzMWZjYjYzNDcxMTliNTJiCi1hbHNvIGluY2x1ZGVzIGEgY2hhbmdlIGZyb20gc3lzdGVtZCBtYXN0ZXIgd2hpY2ggcmVtb3ZlcyBhIGhlYXAgYnVmZmVyIG92ZXJmbG93Ci1hNmFhZGY0YWUwYmFlMTg1ZGM0YzQxNGQ0OTJhNGE3ODFjODBmZmU1LgotCi1DVkU6IENWRS0yMDE4LTE2ODY2Ci1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1TaWduZWQtb2ZmLWJ5OiBNYXJjdXMgQ29vcGVyIDxtYXJjdXNjQGF4aXMuY29tPgotLS0tCi0gc3JjL2pvdXJuYWwvam91cm5hbGQtc3lzbG9nLmMgfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2pvdXJuYWwvam91cm5hbGQtc3lzbG9nLmMgYi9zcmMvam91cm5hbC9qb3VybmFsZC1zeXNsb2cuYwotaW5kZXggOWRlYTExNjcyMi4uODA5YjMxOGMwNiAxMDA2NDQKLS0tLSBhL3NyYy9qb3VybmFsL2pvdXJuYWxkLXN5c2xvZy5jCi0rKysgYi9zcmMvam91cm5hbC9qb3VybmFsZC1zeXNsb2cuYwotQEAgLTE5NCw3ICsxOTQsNyBAQCBzaXplX3Qgc3lzbG9nX3BhcnNlX2lkZW50aWZpZXIoY29uc3QgY2hhciAqKmJ1ZiwgY2hhciAqKmlkZW50aWZpZXIsIGNoYXIgKipwaWQpCi0gICAgICAgICBlID0gbDsKLSAgICAgICAgIGwtLTsKLSAKLS0gICAgICAgIGlmIChwW2wtMV0gPT0gJ10nKSB7Ci0rICAgICAgICBpZiAobCA+IDAgJiYgcFtsLTFdID09ICddJykgewotICAgICAgICAgICAgICAgICBzaXplX3QgayA9IGwtMTsKLSAKLSAgICAgICAgICAgICAgICAgZm9yICg7OykgewotQEAgLTIxOSw3ICsyMTksNyBAQCBzaXplX3Qgc3lzbG9nX3BhcnNlX2lkZW50aWZpZXIoY29uc3QgY2hhciAqKmJ1ZiwgY2hhciAqKmlkZW50aWZpZXIsIGNoYXIgKipwaWQpCi0gICAgICAgICBpZiAodCkKLSAgICAgICAgICAgICAgICAgKmlkZW50aWZpZXIgPSB0OwotIAotLSAgICAgICAgaWYgKHN0cmNocihXSElURVNQQUNFLCBwW2VdKSkKLSsgICAgICAgIGlmIChwW2VdICE9ICdcMCcgJiYgc3RyY2hyKFdISVRFU1BBQ0UsIHBbZV0pKQotICAgICAgICAgICAgICAgICBlKys7Ci0gICAgICAgICAqYnVmID0gcCArIGU7Ci0gICAgICAgICByZXR1cm4gZTsKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kL0NWRS0yMDE5LTY0NTQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC9DVkUtMjAxOS02NDU0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MDE3MGRhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kL0NWRS0yMDE5LTY0NTQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMTAgKzAsMCBAQAotRGVzY3JpcHRpb246IHNkLWJ1czogZW5mb3JjZSBhIHNpemUgbGltaXQgZm9yIGRidXMgcGF0aHMsIGFuZCBkb24ndCBhbGxvY2F0ZQotIHRoZW0gb24gdGhlIHN0YWNrYQotRm9yd2FyZGVkOiBubwotCi1QYXRjaCBmcm9tOiBzeXN0ZW1kXzIzOS03dWJ1bnR1MTAuOAotCi1Gb3IgaW5mb3JtYXRpb24gc2VlOgotaHR0cHM6Ly91c24udWJ1bnR1LmNvbS8zODkxLTEvCi1odHRwczovL2dpdC5sYXVuY2hwYWQubmV0L3VidW50dS8rc291cmNlL3N5c3RlbWQvY29tbWl0Lz9pZD1mOGU3NWQ1NjM0OTA0YzhlNjcyNjU4ODU2NTA4YzNhMDJmMzQ5YWRiCi0KLUNWRTogQ1ZFLTIwMTktNjQ1NAotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotCi1TaWduZWQtb2ZmLWJ5OiBHZW9yZ2UgTWNDb2xsaXN0ZXIgPGdlb3JnZS5tY2NvbGxpc3RlckBnbWFpbC5jb20+Ci0KLS0tLSBhL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtaW50ZXJuYWwuYwotKysrIGIvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1pbnRlcm5hbC5jCi1AQCAtNDUsNyArNDUsNyBAQAotICAgICAgICAgaWYgKHNsYXNoKQotICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLS0gICAgICAgIHJldHVybiB0cnVlOwotKyAgICAgICAgcmV0dXJuIChxIC0gcCkgPD0gQlVTX1BBVEhfU0laRV9NQVg7Ci0gfQotCi0gY2hhciogb2JqZWN0X3BhdGhfc3RhcnRzd2l0aChjb25zdCBjaGFyICphLCBjb25zdCBjaGFyICpiKSB7Ci0tLS0gYS9zcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLWludGVybmFsLmgKLSsrKyBiL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtaW50ZXJuYWwuaAotQEAgLTMzMyw2ICszMzMsMTAgQEAKLQotICNkZWZpbmUgQlVTX01FU1NBR0VfU0laRV9NQVggKDEyOCoxMDI0KjEwMjQpCi0gI2RlZmluZSBCVVNfQVVUSF9TSVpFX01BWCAoNjQqMTAyNCkKLSsvKiBOb3RlIHRoYXQgdGhlIEQtQnVzIHNwZWNpZmljYXRpb24gc3RhdGVzIHRoYXQgYnVzIHBhdGhzIHNoYWxsIGhhdmUgbm8gc2l6ZSBsaW1pdC4gV2UgZW5mb3JjZSBoZXJlIG9uZQotKyAqIGFueXdheSwgc2luY2UgdHJ1bHkgdW5ib3VuZGVkIHN0cmluZ3MgYXJlIGEgc2VjdXJpdHkgcHJvYmxlbS4gVGhlIGxpbWl0IHdlIHBpY2sgaXMgcmVsYXRpdmVseSBsYXJnZSBob3dldmVyLAotKyAqIHRvIG5vdCBjbGFzaCB1bm5lY2Vzc2FyaWx5IHdpdGggcmVhbC1saWZlIGFwcGxpY2F0aW9ucy4gKi8KLSsjZGVmaW5lIEJVU19QQVRIX1NJWkVfTUFYICg2NCoxMDI0KQotCi0gI2RlZmluZSBCVVNfQ09OVEFJTkVSX0RFUFRIIDEyOAotCi0tLS0gYS9zcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLW9iamVjdHMuYwotKysrIGIvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1vYmplY3RzLmMKLUBAIC0xMTM0LDcgKzExMzQsOCBAQAotICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpwYXRoLAotICAgICAgICAgICAgICAgICBzZF9idXNfZXJyb3IgKmVycm9yKSB7Ci0KLS0gICAgICAgIGNoYXIgKnByZWZpeDsKLSsgICAgICAgIF9jbGVhbnVwX2ZyZWVfIGNoYXIgKnByZWZpeCA9IE5VTEw7Ci0rICAgICAgICBzaXplX3QgcGw7Ci0gICAgICAgICBpbnQgcjsKLQotICAgICAgICAgYXNzZXJ0KGJ1cyk7Ci1AQCAtMTE1MCw3ICsxMTUxLDEyIEBACi0gICAgICAgICAgICAgICAgIHJldHVybiAwOwotCi0gICAgICAgICAvKiBTZWNvbmQsIGFkZCBmYWxsYmFjayB2dGFibGVzIHJlZ2lzdGVyZWQgZm9yIGFueSBvZiB0aGUgcHJlZml4ZXMgKi8KLS0gICAgICAgIHByZWZpeCA9IGFsbG9jYShzdHJsZW4ocGF0aCkgKyAxKTsKLSsgICAgICAgIHBsID0gc3RybGVuKHBhdGgpOwotKyAgICAgICAgYXNzZXJ0KHBsIDw9IEJVU19QQVRIX1NJWkVfTUFYKTsKLSsgICAgICAgIHByZWZpeCA9IG5ldyhjaGFyLCBwbCArIDEpOwotKyAgICAgICAgaWYgKCFwcmVmaXgpCi0rICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwotKwotICAgICAgICAgT0JKRUNUX1BBVEhfRk9SRUFDSF9QUkVGSVgocHJlZml4LCBwYXRoKSB7Ci0gICAgICAgICAgICAgICAgIHIgPSBvYmplY3RfbWFuYWdlcl9zZXJpYWxpemVfcGF0aChidXMsIHJlcGx5LCBwcmVmaXgsIHBhdGgsIHRydWUsIGVycm9yKTsKLSAgICAgICAgICAgICAgICAgaWYgKHIgPCAwKQotQEAgLTEzNDYsNiArMTM1Miw3IEBACi0gfQotCi0gaW50IGJ1c19wcm9jZXNzX29iamVjdChzZF9idXMgKmJ1cywgc2RfYnVzX21lc3NhZ2UgKm0pIHsKLSsgICAgICAgIF9jbGVhbnVwX2ZyZWVfIGNoYXIgKnByZWZpeCA9IE5VTEw7Ci0gICAgICAgICBpbnQgcjsKLSAgICAgICAgIHNpemVfdCBwbDsKLSAgICAgICAgIGJvb2wgZm91bmRfb2JqZWN0ID0gZmFsc2U7Ci1AQCAtMTM3MCw5ICsxMzc3LDEyIEBACi0gICAgICAgICBhc3NlcnQobS0+bWVtYmVyKTsKLQotICAgICAgICAgcGwgPSBzdHJsZW4obS0+cGF0aCk7Ci0tICAgICAgICBkbyB7Ci0tICAgICAgICAgICAgICAgIGNoYXIgcHJlZml4W3BsKzFdOwotKyAgICAgICAgYXNzZXJ0KHBsIDw9IEJVU19QQVRIX1NJWkVfTUFYKTsKLSsgICAgICAgIHByZWZpeCA9IG5ldyhjaGFyLCBwbCArIDEpOwotKyAgICAgICAgaWYgKCFwcmVmaXgpCi0rICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwotCi0rICAgICAgICBkbyB7Ci0gICAgICAgICAgICAgICAgIGJ1cy0+bm9kZXNfbW9kaWZpZWQgPSBmYWxzZTsKLQotICAgICAgICAgICAgICAgICByID0gb2JqZWN0X2ZpbmRfYW5kX3J1bihidXMsIG0sIG0tPnBhdGgsIGZhbHNlLCAmZm91bmRfb2JqZWN0KTsKLUBAIC0xNDk5LDkgKzE1MDksMTUgQEAKLQotICAgICAgICAgbiA9IGhhc2htYXBfZ2V0KGJ1cy0+bm9kZXMsIHBhdGgpOwotICAgICAgICAgaWYgKCFuKSB7Ci0tICAgICAgICAgICAgICAgIGNoYXIgKnByZWZpeDsKLSsgICAgICAgICAgICAgICAgX2NsZWFudXBfZnJlZV8gY2hhciAqcHJlZml4ID0gTlVMTDsKLSsgICAgICAgICAgICAgICAgc2l6ZV90IHBsOwotKwotKyAgICAgICAgICAgICAgICBwbCA9IHN0cmxlbihwYXRoKTsKLSsgICAgICAgICAgICAgICAgYXNzZXJ0KHBsIDw9IEJVU19QQVRIX1NJWkVfTUFYKTsKLSsgICAgICAgICAgICAgICAgcHJlZml4ID0gbmV3KGNoYXIsIHBsICsgMSk7Ci0rICAgICAgICAgICAgICAgIGlmICghcHJlZml4KQotKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwotCi0tICAgICAgICAgICAgICAgIHByZWZpeCA9IGFsbG9jYShzdHJsZW4ocGF0aCkgKyAxKTsKLSAgICAgICAgICAgICAgICAgT0JKRUNUX1BBVEhfRk9SRUFDSF9QUkVGSVgocHJlZml4LCBwYXRoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgbiA9IGhhc2htYXBfZ2V0KGJ1cy0+bm9kZXMsIHByZWZpeCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG4pCi1AQCAtMjA5MSw4ICsyMTA3LDkgQEAKLSAgICAgICAgICAgICAgICAgY2hhciAqKm5hbWVzKSB7Ci0KLSAgICAgICAgIEJVU19ET05UX0RFU1RST1koYnVzKTsKLSsgICAgICAgIF9jbGVhbnVwX2ZyZWVfIGNoYXIgKnByZWZpeCA9IE5VTEw7Ci0gICAgICAgICBib29sIGZvdW5kX2ludGVyZmFjZSA9IGZhbHNlOwotLSAgICAgICAgY2hhciAqcHJlZml4OwotKyAgICAgICAgc2l6ZV90IHBsOwotICAgICAgICAgaW50IHI7Ci0KLSAgICAgICAgIGFzc2VydF9yZXR1cm4oYnVzLCAtRUlOVkFMKTsKLUBAIC0yMTExLDYgKzIxMjgsMTIgQEAKLSAgICAgICAgIGlmIChuYW1lcyAmJiBuYW1lc1swXSA9PSBOVUxMKQotICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLQotKyAgICAgICAgcGwgPSBzdHJsZW4ocGF0aCk7Ci0rICAgICAgICBhc3NlcnQocGwgPD0gQlVTX1BBVEhfU0laRV9NQVgpOwotKyAgICAgICAgcHJlZml4ID0gbmV3KGNoYXIsIHBsICsgMSk7Ci0rICAgICAgICBpZiAoIXByZWZpeCkKLSsgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07Ci0rCi0gICAgICAgICBkbyB7Ci0gICAgICAgICAgICAgICAgIGJ1cy0+bm9kZXNfbW9kaWZpZWQgPSBmYWxzZTsKLQotQEAgLTIxMjAsNyArMjE0Myw2IEBACi0gICAgICAgICAgICAgICAgIGlmIChidXMtPm5vZGVzX21vZGlmaWVkKQotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotCi0tICAgICAgICAgICAgICAgIHByZWZpeCA9IGFsbG9jYShzdHJsZW4ocGF0aCkgKyAxKTsKLSAgICAgICAgICAgICAgICAgT0JKRUNUX1BBVEhfRk9SRUFDSF9QUkVGSVgocHJlZml4LCBwYXRoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgciA9IGVtaXRfcHJvcGVydGllc19jaGFuZ2VkX29uX2ludGVyZmFjZShidXMsIHByZWZpeCwgcGF0aCwgaW50ZXJmYWNlLCB0cnVlLCAmZm91bmRfaW50ZXJmYWNlLCBuYW1lcyk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHIgIT0gMCkKLUBAIC0yMjUyLDcgKzIyNzQsOCBAQAotCi0gc3RhdGljIGludCBvYmplY3RfYWRkZWRfYXBwZW5kX2FsbChzZF9idXMgKmJ1cywgc2RfYnVzX21lc3NhZ2UgKm0sIGNvbnN0IGNoYXIgKnBhdGgpIHsKLSAgICAgICAgIF9jbGVhbnVwX3NldF9mcmVlXyBTZXQgKnMgPSBOVUxMOwotLSAgICAgICAgY2hhciAqcHJlZml4OwotKyAgICAgICAgX2NsZWFudXBfZnJlZV8gY2hhciAqcHJlZml4ID0gTlVMTDsKLSsgICAgICAgIHNpemVfdCBwbDsKLSAgICAgICAgIGludCByOwotCi0gICAgICAgICBhc3NlcnQoYnVzKTsKLUBAIC0yMjk3LDcgKzIzMjAsMTIgQEAKLSAgICAgICAgIGlmIChidXMtPm5vZGVzX21vZGlmaWVkKQotICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLQotLSAgICAgICAgcHJlZml4ID0gYWxsb2NhKHN0cmxlbihwYXRoKSArIDEpOwotKyAgICAgICAgcGwgPSBzdHJsZW4ocGF0aCk7Ci0rICAgICAgICBhc3NlcnQocGwgPD0gQlVTX1BBVEhfU0laRV9NQVgpOwotKyAgICAgICAgcHJlZml4ID0gbmV3KGNoYXIsIHBsICsgMSk7Ci0rICAgICAgICBpZiAoIXByZWZpeCkKLSsgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07Ci0rCi0gICAgICAgICBPQkpFQ1RfUEFUSF9GT1JFQUNIX1BSRUZJWChwcmVmaXgsIHBhdGgpIHsKLSAgICAgICAgICAgICAgICAgciA9IG9iamVjdF9hZGRlZF9hcHBlbmRfYWxsX3ByZWZpeChidXMsIG0sIHMsIHByZWZpeCwgcGF0aCwgdHJ1ZSk7Ci0gICAgICAgICAgICAgICAgIGlmIChyIDwgMCkKLUBAIC0yNDM2LDcgKzI0NjQsOCBAQAotCi0gc3RhdGljIGludCBvYmplY3RfcmVtb3ZlZF9hcHBlbmRfYWxsKHNkX2J1cyAqYnVzLCBzZF9idXNfbWVzc2FnZSAqbSwgY29uc3QgY2hhciAqcGF0aCkgewotICAgICAgICAgX2NsZWFudXBfc2V0X2ZyZWVfIFNldCAqcyA9IE5VTEw7Ci0tICAgICAgICBjaGFyICpwcmVmaXg7Ci0rICAgICAgICBfY2xlYW51cF9mcmVlXyBjaGFyICpwcmVmaXggPSBOVUxMOwotKyAgICAgICAgc2l6ZV90IHBsOwotICAgICAgICAgaW50IHI7Ci0KLSAgICAgICAgIGFzc2VydChidXMpOwotQEAgLTI0NjgsNyArMjQ5NywxMiBAQAotICAgICAgICAgaWYgKGJ1cy0+bm9kZXNfbW9kaWZpZWQpCi0gICAgICAgICAgICAgICAgIHJldHVybiAwOwotCi0tICAgICAgICBwcmVmaXggPSBhbGxvY2Eoc3RybGVuKHBhdGgpICsgMSk7Ci0rICAgICAgICBwbCA9IHN0cmxlbihwYXRoKTsKLSsgICAgICAgIGFzc2VydChwbCA8PSBCVVNfUEFUSF9TSVpFX01BWCk7Ci0rICAgICAgICBwcmVmaXggPSBuZXcoY2hhciwgcGwgKyAxKTsKLSsgICAgICAgIGlmICghcHJlZml4KQotKyAgICAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKLSsKLSAgICAgICAgIE9CSkVDVF9QQVRIX0ZPUkVBQ0hfUFJFRklYKHByZWZpeCwgcGF0aCkgewotICAgICAgICAgICAgICAgICByID0gb2JqZWN0X3JlbW92ZWRfYXBwZW5kX2FsbF9wcmVmaXgoYnVzLCBtLCBzLCBwcmVmaXgsIHBhdGgsIHRydWUpOwotICAgICAgICAgICAgICAgICBpZiAociA8IDApCi1AQCAtMjYxOCw3ICsyNjUyLDggQEAKLSAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcGF0aCwKLSAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqaW50ZXJmYWNlKSB7Ci0KLS0gICAgICAgIGNoYXIgKnByZWZpeDsKLSsgICAgICAgIF9jbGVhbnVwX2ZyZWVfIGNoYXIgKnByZWZpeCA9IE5VTEw7Ci0rICAgICAgICBzaXplX3QgcGw7Ci0gICAgICAgICBpbnQgcjsKLQotICAgICAgICAgYXNzZXJ0KGJ1cyk7Ci1AQCAtMjYzMiw3ICsyNjY3LDEyIEBACi0gICAgICAgICBpZiAoYnVzLT5ub2Rlc19tb2RpZmllZCkKLSAgICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0KLS0gICAgICAgIHByZWZpeCA9IGFsbG9jYShzdHJsZW4ocGF0aCkgKyAxKTsKLSsgICAgICAgIHBsID0gc3RybGVuKHBhdGgpOwotKyAgICAgICAgYXNzZXJ0KHBsIDw9IEJVU19QQVRIX1NJWkVfTUFYKTsKLSsgICAgICAgIHByZWZpeCA9IG5ldyhjaGFyLCBwbCArIDEpOwotKyAgICAgICAgaWYgKCFwcmVmaXgpCi0rICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwotKwotICAgICAgICAgT0JKRUNUX1BBVEhfRk9SRUFDSF9QUkVGSVgocHJlZml4LCBwYXRoKSB7Ci0gICAgICAgICAgICAgICAgIHIgPSBpbnRlcmZhY2VzX2FkZGVkX2FwcGVuZF9vbmVfcHJlZml4KGJ1cywgbSwgcHJlZml4LCBwYXRoLCBpbnRlcmZhY2UsIHRydWUpOwotICAgICAgICAgICAgICAgICBpZiAociAhPSAwKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvc2QtYnVzLWlmLXdlLXJlY2VpdmUtYW4taW52YWxpZC1kYnVzLW1lc3NhZ2UtaWdub3JlLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kL3NkLWJ1cy1pZi13ZS1yZWNlaXZlLWFuLWludmFsaWQtZGJ1cy1tZXNzYWdlLWlnbm9yZS0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU3MzExZmEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvc2QtYnVzLWlmLXdlLXJlY2VpdmUtYW4taW52YWxpZC1kYnVzLW1lc3NhZ2UtaWdub3JlLS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDYxICswLDAgQEAKLURlc2NyaXB0aW9uOiBzZC1idXM6IGlmIHdlIHJlY2VpdmUgYW4gaW52YWxpZCBkYnVzIG1lc3NhZ2UsIGlnbm9yZSBhbmQKLSBwcm9jZWVlZAotIC4KLSBkYnVzLWRhZW1vbiBtaWdodCBoYXZlIGEgc2xpZ2h0bHkgZGlmZmVyZW50IGlkZWEgb2Ygd2hhdCBhIHZhbGlkIG1zZyBpcwotIHRoYW4gdXMgKGZvciBleGFtcGxlIHJlZ2FyZGluZyB2YWxpZCBtc2cgYW5kIGZpZWxkIHNpemVzKS4gTGV0J3MgaGVuY2UKLSB0cnkgdG8gcHJvY2VlZCBpZiB3ZSBjYW4gYW5kIHRodXMgZHJvcCBtZXNzYWdlcyByYXRoZXIgdGhhbiBmYWlsIHRoZQotIGNvbm5lY3Rpb24gaWYgd2UgZmFpbCB0byB2YWxpZGF0ZSBhIG1lc3NhZ2UuCi0gLgotIEhvcGVmdWxseSB0aGUgZGlmZmVyZW5jZXMgaW4gd2hhdCBpcyBjb25zaWRlcmVkIHZhbGlkIGFyZSBub3QgdmlzaWJsZQotIGZvciByZWFsLWxpZmUgdXNlY2FzZXMsIGJ1dCBhcmUgc3BlY2lmaWMgdG8gZXhwbG9pdCBhdHRlbXB0cyBvbmx5LgotQXV0aG9yOiBMZW5uYXJ0IFBvZXR0ZXJpbmcgPGxlbm5hcnRAcG9ldHRlcmluZy5uZXQ+Ci1Gb3J3YXJkZWQ6IG90aGVyLGh0dHBzOi8vZ2l0aHViLmNvbS9zeXN0ZW1kL3N5c3RlbWQvcHVsbC8xMTcwOC8KLQotUGF0Y2ggZnJvbTogc3lzdGVtZF8yMzktN3VidW50dTEwLjgKLQotRm9yIGluZm9ybWF0aW9uIHNlZToKLWh0dHBzOi8vdXNuLnVidW50dS5jb20vMzg5MS0xLwotaHR0cHM6Ly9naXQubGF1bmNocGFkLm5ldC91YnVudHUvK3NvdXJjZS9zeXN0ZW1kL2NvbW1pdC8/aWQ9ZjhlNzVkNTYzNDkwNGM4ZTY3MjY1ODg1NjUwOGMzYTAyZjM0OWFkYgotCi1DVkU6IENWRS0yMDE5LTY0NTQKLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotU2lnbmVkLW9mZi1ieTogR2VvcmdlIE1jQ29sbGlzdGVyIDxnZW9yZ2UubWNjb2xsaXN0ZXJAZ21haWwuY29tPgotCi1kaWZmIC0tZ2l0IGEvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1zb2NrZXQuYyBiL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtc29ja2V0LmMKLWluZGV4IDMwZDY0NTViNmYuLjQ0MWI0YTgxNmYgMTAwNjQ0Ci0tLS0gYS9zcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLXNvY2tldC5jCi0rKysgYi9zcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLXNvY2tldC5jCi1AQCAtMTA3Miw3ICsxMDcyLDcgQEAgc3RhdGljIGludCBidXNfc29ja2V0X3JlYWRfbWVzc2FnZV9uZWVkKHNkX2J1cyAqYnVzLCBzaXplX3QgKm5lZWQpIHsKLSB9Ci0KLSBzdGF0aWMgaW50IGJ1c19zb2NrZXRfbWFrZV9tZXNzYWdlKHNkX2J1cyAqYnVzLCBzaXplX3Qgc2l6ZSkgewotLSAgICAgICAgc2RfYnVzX21lc3NhZ2UgKnQ7Ci0rICAgICAgICBzZF9idXNfbWVzc2FnZSAqdCA9IE5VTEw7Ci0gICAgICAgICB2b2lkICpiOwotICAgICAgICAgaW50IHI7Ci0KLUBAIC0xMDk3LDcgKzEwOTcsOSBAQCBzdGF0aWMgaW50IGJ1c19zb2NrZXRfbWFrZV9tZXNzYWdlKHNkX2J1cyAqYnVzLCBzaXplX3Qgc2l6ZSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1cy0+ZmRzLCBidXMtPm5fZmRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnQpOwotLSAgICAgICAgaWYgKHIgPCAwKSB7Ci0rICAgICAgICBpZiAociA9PSAtRUJBRE1TRykKLSsgICAgICAgICAgICAgICAgbG9nX2RlYnVnX2Vycm5vKHIsICJSZWNlaXZlZCBpbnZhbGlkIG1lc3NhZ2UgZnJvbSBjb25uZWN0aW9uICVzLCBkcm9wcGluZy4iLCBzdHJuYShidXMtPmRlc2NyaXB0aW9uKSk7Ci0rICAgICAgICBlbHNlIGlmIChyIDwgMCkgewotICAgICAgICAgICAgICAgICBmcmVlKGIpOwotICAgICAgICAgICAgICAgICByZXR1cm4gcjsKLSAgICAgICAgIH0KLUBAIC0xMTA4LDcgKzExMTAsOCBAQCBzdGF0aWMgaW50IGJ1c19zb2NrZXRfbWFrZV9tZXNzYWdlKHNkX2J1cyAqYnVzLCBzaXplX3Qgc2l6ZSkgewotICAgICAgICAgYnVzLT5mZHMgPSBOVUxMOwotICAgICAgICAgYnVzLT5uX2ZkcyA9IDA7Ci0KLS0gICAgICAgIGJ1cy0+cnF1ZXVlW2J1cy0+cnF1ZXVlX3NpemUrK10gPSB0OwotKyAgICAgICAgaWYgKHQpCi0rICAgICAgICAgICAgICAgIGJ1cy0+cnF1ZXVlW2J1cy0+cnF1ZXVlX3NpemUrK10gPSB0OwotCi0gICAgICAgICByZXR1cm4gMTsKLSB9Ci0tLQotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kXzIzOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kXzIzOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2ZiZDY0Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZF8yMzkuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw2NjYgKzAsMCBAQAotcmVxdWlyZSBzeXN0ZW1kLmluYwotCi1QUk9WSURFUyA9ICJ1ZGV2IgotCi1QRSA9ICIxIgotCi1ERVBFTkRTID0gImludGx0b29sLW5hdGl2ZSBncGVyZi1uYXRpdmUgbGliY2FwIHV0aWwtbGludXgiCi0KLVNFQ1RJT04gPSAiYmFzZS9zaGVsbCIKLQotaW5oZXJpdCB1c2VyYWRkIHBrZ2NvbmZpZyBtZXNvbiBwZXJsbmF0aXZlIHVwZGF0ZS1yYy5kIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgcWVtdSBzeXN0ZW1kIGdldHRleHQgYmFzaC1jb21wbGV0aW9uIG1hbnBhZ2VzIGRpc3Ryb19mZWF0dXJlc19jaGVjawotCi0jIEFzIHRoaXMgcmVjaXBlIGJ1aWxkcyB1ZGV2LCByZXNwZWN0IHN5c3RlbWQgYmVpbmcgaW4gRElTVFJPX0ZFQVRVUkVTIHNvCi0jIHRoYXQgd2UgZG9uJ3QgYnVpbGQgYm90aCB1ZGV2IGFuZCBzeXN0ZW1kIGluIHdvcmxkIGJ1aWxkcy4KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJzeXN0ZW1kIgotCi1TUkNfVVJJICs9ICJmaWxlOi8vdG91Y2hzY3JlZW4ucnVsZXMgXAotICAgICAgICAgICBmaWxlOi8vMDAtY3JlYXRlLXZvbGF0aWxlLmNvbmYgXAotICAgICAgICAgICBmaWxlOi8vaW5pdCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWJpbmZtdC1Eb24tdC1pbnN0YWxsLWRlcGVuZGVuY3ktbGlua3MtYXQtaW5zdGFsbC10aW0ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi11c2UtbG5yLXdyYXBwZXItaW5zdGVhZC1vZi1sb29raW5nLWZvci1yZWxhdGl2ZS1vcHRpLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtaW1wbG1lbnQtc3lzdGVtZC1zeXN2LWluc3RhbGwtZm9yLU9FLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDQtcnVsZXMtd2hpdGVsaXN0LWhkLWRldmljZXMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNS1NYWtlLXJvb3Qtcy1ob21lLWRpcmVjdG9yeS1jb25maWd1cmFibGUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNi1yZW1vdmUtbm9ib2R5LXVzZXItZ3JvdXAtY2hlY2tpbmcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNy1ydWxlcy13YXRjaC1tZXRhZGF0YS1jaGFuZ2VzLWluLWlkZS1kZXZpY2VzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDgtRG8tbm90LWVuYWJsZS1uc3MtdGVzdHMtaWYtbnNzLXN5c3RlbWQtaXMtbm90LWVuYWJsZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA5LW5zcy1teW1hY2hpbmVzLUJ1aWxkLWNvbmRpdGlvbmFsbHktd2hlbi1FTkFCTEVfTVlIT1MucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1sb2dpbi11c2UtcGFyc2VfdWlkLXdoZW4tdW5tb3VudGluZy11c2VyLXJ1bnRpbWUtZGlyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtc2QtYnVzLW1ha2UtQlVTX0RFRkFVTFRfVElNRU9VVC1jb25maWd1cmFibGUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMi1idWlsZC1zeXMtRGV0ZWN0LXdoZXRoZXItc3RydWN0LXN0YXR4LWlzLWRlZmluZWQtaW4tLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjMtcmVzb2x2Y29uZi1maXhlcy1mb3ItdGhlLWNvbXBhdGliaWxpdHktaW50ZXJmYWNlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtY29yZS13aGVuLWRlc2VyaWFsaXppbmctc3RhdGUtYWx3YXlzLXVzZS1yZWFkX2xpbmUtTC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWNob3duLXJlY3Vyc2l2ZS1sZXQtcy1yZXdvcmstdGhlLXJlY3Vyc2l2ZS1sb2dpYy10by0ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1kaGNwNi1tYWtlLXN1cmUtd2UtaGF2ZS1lbm91Z2gtc3BhY2UtZm9yLXRoZS1ESENQNi1vLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtUmV2ZXJ0LXN5c2N0bC5kLXJlcXVlc3QtRUNOLW9uLWJvdGgtaW4tYW5kLW91dGdvaW5nLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXRpbWVzeW5jLWNoYW5nZXMtdHlwZS1vZi1kcmlmdF9mcmVxLXRvLWludDY0X3QucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1zeXNjdGwtRG9uLXQtcGFzcy1udWxsLWRpcmVjdGl2ZS1hcmd1bWVudC10by1zLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItY29yZS1GaXgtdXNlLWFmdGVyLWZyZWUtY2FzZS1pbi1sb2FkX2Zyb21fcGF0aC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLW1lc29uLXJlbmFtZS1EZGVidWctdG8tRGRlYnVnLWV4dHJhLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjQtam91cm5hbGQtZG8tbm90LXN0b3JlLXRoZS1pb3ZlYy1lbnRyeS1mb3ItcHJvY2Vzcy1jby5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI1LWpvdXJuYWxkLXNldC1hLWxpbWl0LW9uLXRoZS1udW1iZXItb2YtZmllbGRzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjYtam91cm5hbC1maXgtb3V0LW9mLWJvdW5kcy1yZWFkLUNWRS0yMDE4LTE2ODY2LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE5LTY0NTQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vc2QtYnVzLWlmLXdlLXJlY2VpdmUtYW4taW52YWxpZC1kYnVzLW1lc3NhZ2UtaWdub3JlLS5wYXRjaCBcCi0gICAgICAgICAgICIKLQotIyBwYXRjaGVzIG1hZGUgZm9yIG11c2wgYXJlIG9ubHkgYXBwbGllZCBvbiBUQ0xJQkMgaXMgbXVzbAotU1JDX1VSSSArPSAiJHtTUkNfVVJJX01VU0x9IgotU1JDX1VSSV9NVVNMID0gImZpbGU6Ly8wMDAxLVVzZS1nZXRlbnYtd2hlbi1zZWN1cmUtdmVyc2lvbnMtYXJlLW5vdC1hdmFpbGFibGUucGF0Y2ggXAotICAgICAgICAgICAgICAgZmlsZTovLzAwMDItZG9uLXQtdXNlLWdsaWJjLXNwZWNpZmljLXFzb3J0X3IucGF0Y2ggXAotICAgICAgICAgICAgICAgZmlsZTovLzAwMDMtY29tcGFyaXNvbl9mbl90LWlzLWdsaWJjLXNwZWNpZmljLXVzZS1yYXctc2lnbmF0dXJlLS5wYXRjaCBcCi0gICAgICAgICAgICAgICBmaWxlOi8vMDAwNC1hZGQtZmFsbGJhY2stcGFyc2VfcHJpbnRmX2Zvcm1hdC1pbXBsZW1lbnRhdGlvbi5wYXRjaCBcCi0gICAgICAgICAgICAgICBmaWxlOi8vMDAwNS1pbmNsdWRlLWdzaGFkb3ctb25seS1pZi1FTkFCTEVfR1NIQURPVy1pcy0xLnBhdGNoIFwKLSAgICAgICAgICAgICAgIGZpbGU6Ly8wMDA2LXNyYy1iYXNpYy1taXNzaW5nLmgtY2hlY2stZm9yLW1pc3Npbmctc3RybmR1cGEucGF0Y2ggXAotICAgICAgICAgICAgICAgZmlsZTovLzAwMDctSW5jbHVkZS1uZXRpbmV0LWlmX2V0aGVyLmgucGF0Y2ggXAotICAgICAgICAgICAgICAgZmlsZTovLzAwMDgtZG9uLXQtZmFpbC1pZi1HTE9CX0JSQUNFLWFuZC1HTE9CX0FMVERJUkZVTkMtaXMtbm90LS5wYXRjaCBcCi0gICAgICAgICAgICAgICBmaWxlOi8vMDAwOS1hZGQtbWlzc2luZy1GVFdfLW1hY3Jvcy1mb3ItbXVzbC5wYXRjaCBcCi0gICAgICAgICAgICAgICBmaWxlOi8vMDAxMC1zb2NrZXQtdXRpbC1kb24tdC1mYWlsLWlmLWxpYmMtZG9lc24tdC1zdXBwb3J0LUlETi5wYXRjaCBcCi0gICAgICAgICAgICAgICBmaWxlOi8vMDAxMS1zcmMtYmFzaWMtbWlzc2luZy5oLWNoZWNrLWZvci1taXNzaW5nLV9fY29tcGFyX2ZuX3QtLnBhdGNoIFwKLSAgICAgICAgICAgICAgIGZpbGU6Ly8wMDEyLWZpeC1taXNzaW5nLW9mLV9fcmVnaXN0ZXJfYXRmb3JrLWZvci1ub24tZ2xpYmMtYnVpbGQucGF0Y2ggXAotICAgICAgICAgICAgICAgZmlsZTovLzAwMTMtVXNlLXVpbnRtYXhfdC1mb3ItaGFuZGxpbmctcmxpbV90LnBhdGNoIFwKLSAgICAgICAgICAgICAgIGZpbGU6Ly8wMDE0LWZpeC1taXNzaW5nLVVMT05HX0xPTkdfTUFYLWRlZmluaXRpb24taW4tY2FzZS1vZi1tdXMucGF0Y2ggXAotICAgICAgICAgICAgICAgZmlsZTovLzAwMTUtdGVzdC1oZXhkZWNvY3QuYy1JbmNsdWRlLW1pc3NpbmcuaC1mb3Itc3RybmR1cGEucGF0Y2ggXAotICAgICAgICAgICAgICAgZmlsZTovLzAwMTYtdGVzdC1zaXplb2YuYy1EaXNhYmxlLXRlc3RzLWZvci1taXNzaW5nLXR5cGVkZWZzLWluLS5wYXRjaCBcCi0gICAgICAgICAgICAgICBmaWxlOi8vMDAxNy1kb24tdC1wYXNzLUFUX1NZTUxJTktfTk9GT0xMT1ctZmxhZy10by1mYWNjZXNzYXQucGF0Y2ggXAotICAgICAgICAgICAgICAgZmlsZTovLzAwMTgtRGVmaW5lLWdsaWJjLWNvbXBhdGlibGUtYmFzZW5hbWUtZm9yLW5vbi1nbGliYy1zeXN0ZS5wYXRjaCBcCi0gICAgICAgICAgICAgICBmaWxlOi8vMDAxOS1Eby1ub3QtZGlzYWJsZS1idWZmZXJpbmctd2hlbi13cml0aW5nLXRvLW9vbV9zY29yZV9hLnBhdGNoIFwKLSAgICAgICAgICAgICAgIGZpbGU6Ly8wMDIwLWRpc3Rpbmd1aXNoLVhTSS1jb21wbGlhbnQtc3RyZXJyb3Jfci1mcm9tLUdOVS1zcGVjaWYucGF0Y2ggXAotICAgICAgICAgICAgICAgZmlsZTovLzAwMjEtSGlkZS1fX3N0YXJ0X0JVU19FUlJPUl9NQVAtYW5kLV9fc3RvcF9CVVNfRVJST1JfTUFQLnBhdGNoIFwKLSAgICAgICAgICAgICAgICIKLQotIyBXb3JrYXJvdW5kIHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fc3RhY2tfY2hrX2ZhaWxfbG9jYWwnIG9uIHFlbXV4ODYgYW5kIHFlbXVwcGMgZm9yIG11c2wKLVNSQ19VUklfYXBwZW5kX2xpYmMtbXVzbF9xZW11eDg2ID0gIiBmaWxlOi8vMDAwMS1SZW1vdmUtZnN0YWNrLXByb3RlY3Rvci1mbGFncy10by13b3JrYXJvdW5kLW11c2wtYnVpLnBhdGNoIgotU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsX3FlbXVwcGMgPSAiIGZpbGU6Ly8wMDAxLVJlbW92ZS1mc3RhY2stcHJvdGVjdG9yLWZsYWdzLXRvLXdvcmthcm91bmQtbXVzbC1idWkucGF0Y2giCi0KLVBBTV9QTFVHSU5TID0gIiBcCi0gICAgcGFtLXBsdWdpbi11bml4IFwKLSAgICBwYW0tcGx1Z2luLWxvZ2ludWlkIFwKLSAgICBwYW0tcGx1Z2luLWtleWluaXQgXAotIgotCi1QQUNLQUdFQ09ORklHID8/PSAiIFwKLSAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdlZmkgbGRjb25maWcgcGFtIHNlbGludXggdXNybWVyZ2UnLCBkKX0gXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnd2lmaScsICdyZmtpbGwnLCAnJywgZCl9IFwKLSAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICd4a2Jjb21tb24nLCAnJywgZCl9IFwKLSAgICBhY2wgXAotICAgIGJhY2tsaWdodCBcCi0gICAgYmluZm10IFwKLSAgICBmaXJzdGJvb3QgXAotICAgIGdzaGFkb3cgXAotICAgIGhpYmVybmF0ZSBcCi0gICAgaG9zdG5hbWVkIFwKLSAgICBpbWEgXAotICAgIGttb2QgXAotICAgIGxvY2FsZWQgXAotICAgIGxvZ2luZCBcCi0gICAgbWFjaGluZWQgXAotICAgIG15aG9zdG5hbWUgXAotICAgIG5ldHdvcmtkIFwKLSAgICBuc3MgXAotICAgIHBvbGtpdCBcCi0gICAgcXVvdGFjaGVjayBcCi0gICAgcmFuZG9tc2VlZCBcCi0gICAgcmVzb2x2ZWQgXAotICAgIHNtYWNrIFwKLSAgICBzeXN1c2VycyBcCi0gICAgdGltZWRhdGVkIFwKLSAgICB0aW1lc3luY2QgXAotICAgIHV0bXAgXAotICAgIHZjb25zb2xlIFwKLSAgICB4eiBcCi0iCi0KLVBBQ0tBR0VDT05GSUdfcmVtb3ZlX2xpYmMtbXVzbCA9ICIgXAotICAgIGdzaGFkb3cgXAotICAgIGxvY2FsZWQgXAotICAgIG15aG9zdG5hbWUgXAotICAgIG5zcyBcCi0gICAgcmVzb2x2ZWQgXAotICAgIHNlbGludXggXAotICAgIHNtYWNrIFwKLSAgICBzeXN1c2VycyBcCi0gICAgdXRtcCBcCi0iCi0KLSMgVXNlIHRoZSB1cHN0cmVhbSBzeXN0ZW1kIHNlcmlhbC1nZXR0eUAuc2VydmljZSBhbmQgcmVseSBvbgotIyBzeXN0ZW1kLWdldHR5LWdlbmVyYXRvciBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBPRS1jb3JlIHNwZWNpZmljCi0jIHN5c3RlbWQtc2VyaWFsZ2V0dHkuYmIgLSBub3QgZW5hYmxlZCBieSBkZWZhdWx0LgotUEFDS0FHRUNPTkZJR1tzZXJpYWwtZ2V0dHktZ2VuZXJhdG9yXSA9ICIiCi0KLVBBQ0tBR0VDT05GSUdbYWNsXSA9ICItRGFjbD10cnVlLC1EYWNsPWZhbHNlLGFjbCIKLVBBQ0tBR0VDT05GSUdbYXVkaXRdID0gIi1EYXVkaXQ9dHJ1ZSwtRGF1ZGl0PWZhbHNlLGF1ZGl0IgotUEFDS0FHRUNPTkZJR1tiYWNrbGlnaHRdID0gIi1EYmFja2xpZ2h0PXRydWUsLURiYWNrbGlnaHQ9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW2JpbmZtdF0gPSAiLURiaW5mbXQ9dHJ1ZSwtRGJpbmZtdD1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbYnppcDJdID0gIi1EYnppcDI9dHJ1ZSwtRGJ6aXAyPWZhbHNlLGJ6aXAyIgotUEFDS0FHRUNPTkZJR1tjb3JlZHVtcF0gPSAiLURjb3JlZHVtcD10cnVlLC1EY29yZWR1bXA9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW2NyeXB0c2V0dXBdID0gIi1EbGliY3J5cHRzZXR1cD10cnVlLC1EbGliY3J5cHRzZXR1cD1mYWxzZSxjcnlwdHNldHVwIgotUEFDS0FHRUNPTkZJR1tkYnVzXSA9ICItRGRidXM9dHJ1ZSwtRGRidXM9ZmFsc2UsZGJ1cyIKLVBBQ0tBR0VDT05GSUdbZWZpXSA9ICItRGVmaT10cnVlLC1EZWZpPWZhbHNlIgotUEFDS0FHRUNPTkZJR1tlbGZ1dGlsc10gPSAiLURlbGZ1dGlscz10cnVlLC1EZWxmdXRpbHM9ZmFsc2UsZWxmdXRpbHMiCi1QQUNLQUdFQ09ORklHW2ZpcnN0Ym9vdF0gPSAiLURmaXJzdGJvb3Q9dHJ1ZSwtRGZpcnN0Ym9vdD1mYWxzZSIKLSMgU2lnbiB0aGUgam91cm5hbCBmb3IgYW50aS10YW1wZXJpbmcKLVBBQ0tBR0VDT05GSUdbZ2NyeXB0XSA9ICItRGdjcnlwdD10cnVlLC1EZ2NyeXB0PWZhbHNlLGxpYmdjcnlwdCIKLVBBQ0tBR0VDT05GSUdbZ251dGxzXSA9ICItRGdudXRscz10cnVlLC1EZ251dGxzPWZhbHNlLGdudXRscyIKLVBBQ0tBR0VDT05GSUdbZ3NoYWRvd10gPSAiLURnc2hhZG93PXRydWUsLURnc2hhZG93PWZhbHNlIgotUEFDS0FHRUNPTkZJR1toaWJlcm5hdGVdID0gIi1EaGliZXJuYXRlPXRydWUsLURoaWJlcm5hdGU9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW2hvc3RuYW1lZF0gPSAiLURob3N0bmFtZWQ9dHJ1ZSwtRGhvc3RuYW1lZD1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbaW1hXSA9ICItRGltYT10cnVlLC1EaW1hPWZhbHNlIgotIyBpbXBvcnRkIHJlcXVpcmVzIGN1cmwveHovemxpYi9iemlwMi9nY3J5cHQKLVBBQ0tBR0VDT05GSUdbaW1wb3J0ZF0gPSAiLURpbXBvcnRkPXRydWUsLURpbXBvcnRkPWZhbHNlIgotIyBVcGRhdGUgTkFUIGZpcmV3YWxsIHJ1bGVzCi1QQUNLQUdFQ09ORklHW2lwdGNdID0gIi1EbGliaXB0Yz10cnVlLC1EbGliaXB0Yz1mYWxzZSxpcHRhYmxlcyIKLVBBQ0tBR0VDT05GSUdbam91cm5hbC11cGxvYWRdID0gIi1EbGliY3VybD10cnVlLC1EbGliY3VybD1mYWxzZSxjdXJsIgotUEFDS0FHRUNPTkZJR1trbW9kXSA9ICItRGttb2Q9dHJ1ZSwtRGttb2Q9ZmFsc2Usa21vZCIKLVBBQ0tBR0VDT05GSUdbbGRjb25maWddID0gIi1EbGRjb25maWc9dHJ1ZSwtRGxkY29uZmlnPWZhbHNlIgotUEFDS0FHRUNPTkZJR1tsaWJpZG5dID0gIi1EbGliaWRuPXRydWUsLURsaWJpZG49ZmFsc2UsbGliaWRuIgotUEFDS0FHRUNPTkZJR1tsb2NhbGVkXSA9ICItRGxvY2FsZWQ9dHJ1ZSwtRGxvY2FsZWQ9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW2xvZ2luZF0gPSAiLURsb2dpbmQ9dHJ1ZSwtRGxvZ2luZD1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbbHo0XSA9ICItRGx6ND10cnVlLC1EbHo0PWZhbHNlLGx6NCIKLVBBQ0tBR0VDT05GSUdbbWFjaGluZWRdID0gIi1EbWFjaGluZWQ9dHJ1ZSwtRG1hY2hpbmVkPWZhbHNlIgotUEFDS0FHRUNPTkZJR1ttYW5wYWdlc10gPSAiLURtYW49dHJ1ZSwtRG1hbj1mYWxzZSxsaWJ4c2x0LW5hdGl2ZSB4bWx0by1uYXRpdmUgZG9jYm9vay14bWwtZHRkNC1uYXRpdmUgZG9jYm9vay14c2wtc3R5bGVzaGVldHMtbmF0aXZlIgotUEFDS0FHRUNPTkZJR1ttaWNyb2h0dHBkXSA9ICItRG1pY3JvaHR0cGQ9dHJ1ZSwtRG1pY3JvaHR0cGQ9ZmFsc2UsbGlibWljcm9odHRwZCIKLVBBQ0tBR0VDT05GSUdbbXlob3N0bmFtZV0gPSAiLURteWhvc3RuYW1lPXRydWUsLURteWhvc3RuYW1lPWZhbHNlIgotUEFDS0FHRUNPTkZJR1tuZXR3b3JrZF0gPSAiLURuZXR3b3JrZD10cnVlLC1EbmV0d29ya2Q9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW25zc10gPSAiLURuc3Mtc3lzdGVtZD10cnVlLC1EbnNzLXN5c3RlbWQ9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW3BhbV0gPSAiLURwYW09dHJ1ZSwtRHBhbT1mYWxzZSxsaWJwYW0sJHtQQU1fUExVR0lOU30iCi1QQUNLQUdFQ09ORklHW3BvbGtpdF0gPSAiLURwb2xraXQ9dHJ1ZSwtRHBvbGtpdD1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbcG9ydGFibGVkXSA9ICItRHBvcnRhYmxlZD10cnVlLC1EcG9ydGFibGVkPWZhbHNlIgotUEFDS0FHRUNPTkZJR1txcmVuY29kZV0gPSAiLURxcmVuY29kZT10cnVlLC1EcXJlbmNvZGU9ZmFsc2UscXJlbmNvZGUiCi1QQUNLQUdFQ09ORklHW3F1b3RhY2hlY2tdID0gIi1EcXVvdGFjaGVjaz10cnVlLC1EcXVvdGFjaGVjaz1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbcmFuZG9tc2VlZF0gPSAiLURyYW5kb21zZWVkPXRydWUsLURyYW5kb21zZWVkPWZhbHNlIgotUEFDS0FHRUNPTkZJR1tyZXNvbHZlZF0gPSAiLURyZXNvbHZlPXRydWUsLURyZXNvbHZlPWZhbHNlIgotUEFDS0FHRUNPTkZJR1tyZmtpbGxdID0gIi1EcmZraWxsPXRydWUsLURyZmtpbGw9ZmFsc2UiCi0jIGxpYnNlY2NvbXAgaXMgZm91bmQgaW4gbWV0YS1zZWN1cml0eQotUEFDS0FHRUNPTkZJR1tzZWNjb21wXSA9ICItRHNlY2NvbXA9dHJ1ZSwtRHNlY2NvbXA9ZmFsc2UsbGlic2VjY29tcCIKLVBBQ0tBR0VDT05GSUdbc2VsaW51eF0gPSAiLURzZWxpbnV4PXRydWUsLURzZWxpbnV4PWZhbHNlLGxpYnNlbGludXgsaW5pdHNjcmlwdHMtc3VzaGVsbCIKLVBBQ0tBR0VDT05GSUdbc21hY2tdID0gIi1Ec21hY2s9dHJ1ZSwtRHNtYWNrPWZhbHNlIgotUEFDS0FHRUNPTkZJR1tzeXN1c2Vyc10gPSAiLURzeXN1c2Vycz10cnVlLC1Ec3lzdXNlcnM9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW3RpbWUtZXBvY2hdID0gIi1EdGltZS1lcG9jaD0wLCwiCi1QQUNLQUdFQ09ORklHW3RpbWVkYXRlZF0gPSAiLUR0aW1lZGF0ZWQ9dHJ1ZSwtRHRpbWVkYXRlZD1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbdGltZXN5bmNkXSA9ICItRHRpbWVzeW5jZD10cnVlLC1EdGltZXN5bmNkPWZhbHNlIgotUEFDS0FHRUNPTkZJR1t1c3JtZXJnZV0gPSAiLURzcGxpdC11c3I9ZmFsc2UsLURzcGxpdC11c3I9dHJ1ZSIKLVBBQ0tBR0VDT05GSUdbc2Jpbm1lcmdlXSA9ICItRHNwbGl0LWJpbj1mYWxzZSwtRHNwbGl0LWJpbj10cnVlIgotUEFDS0FHRUNPTkZJR1t1dG1wXSA9ICItRHV0bXA9dHJ1ZSwtRHV0bXA9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW3ZhbGdyaW5kXSA9ICItRFZBTEdSSU5EPTEsLHZhbGdyaW5kIgotUEFDS0FHRUNPTkZJR1t2Y29uc29sZV0gPSAiLUR2Y29uc29sZT10cnVlLC1EdmNvbnNvbGU9ZmFsc2UsLCR7UE59LXZjb25zb2xlLXNldHVwIgotIyBWZXJpZnkga2V5bWFwcyBvbiBsb2NhbGUgY2hhbmdlCi1QQUNLQUdFQ09ORklHW3hrYmNvbW1vbl0gPSAiLUR4a2Jjb21tb249dHJ1ZSwtRHhrYmNvbW1vbj1mYWxzZSxsaWJ4a2Jjb21tb24iCi1QQUNLQUdFQ09ORklHW3h6XSA9ICItRHh6PXRydWUsLUR4ej1mYWxzZSx4eiIKLVBBQ0tBR0VDT05GSUdbemxpYl0gPSAiLUR6bGliPXRydWUsLUR6bGliPWZhbHNlLHpsaWIiCi0KLSMgSGVscGVyIHZhcmlhYmxlcyB0byBjbGFyaWZ5IGxvY2F0aW9ucy4gIFRoaXMgbWlycm9ycyB0aGUgbG9naWMgaW4gc3lzdGVtZCdzCi0jIGJ1aWxkIHN5c3RlbS4KLXJvb3RwcmVmaXggPz0gIiR7cm9vdF9wcmVmaXh9Igotcm9vdGxpYmRpciA/PSAiJHtiYXNlX2xpYmRpcn0iCi1yb290bGliZXhlY2RpciA9ICIke3Jvb3RwcmVmaXh9L2xpYiIKLQotIyBUaGlzIGxpbmtzIHVkZXYgc3RhdGljYWxseSB3aXRoIHN5c3RlbWQgaGVscGVyIGxpYnJhcnkuCi0jIE90aGVyd2lzZSB1ZGV2IHBhY2thZ2Ugd291bGQgZGVwZW5kIG9uIHN5c3RlbWQgcGFja2FnZSAod2hpY2ggaGFzIHRoZSBuZWVkZWQgc2hhcmVkIGxpYnJhcnkpLAotIyBhbmQgYWx3YXlzIHB1bGwgaXQgaW50byBpbWFnZXMuCi1FWFRSQV9PRU1FU09OICs9ICItRGxpbmstdWRldi1zaGFyZWQ9ZmFsc2UiCi0KLUVYVFJBX09FTUVTT04gKz0gIi1Ebm9ib2R5LXVzZXI9bm9ib2R5IFwKLSAgICAgICAgICAgICAgICAgIC1Ebm9ib2R5LWdyb3VwPW5vYm9keSBcCi0gICAgICAgICAgICAgICAgICAtRHJvb3Rob21lZGlyPSR7Uk9PVF9IT01FfSBcCi0gICAgICAgICAgICAgICAgICAtRHJvb3RsaWJkaXI9JHtyb290bGliZGlyfSBcCi0gICAgICAgICAgICAgICAgICAtRHJvb3RwcmVmaXg9JHtyb290cHJlZml4fSBcCi0gICAgICAgICAgICAgICAgICAtRHN5c3ZyY25kLXBhdGg9JHtzeXNjb25mZGlyfSBcCi0gICAgICAgICAgICAgICAgICAiCi0KLSMgSGFyZGNvZGUgdGFyZ2V0IGJpbmFyeSBwYXRocyB0byBhdm9pZCB1c2luZyBwYXRocyBmcm9tIHN5c3Jvb3QKLUVYVFJBX09FTUVTT04gKz0gIi1Ea2V4ZWMtcGF0aD0ke3NiaW5kaXJ9L2tleGVjIFwKLSAgICAgICAgICAgICAgICAgIC1Ea2lsbC1wYXRoPSR7YmFzZV9iaW5kaXJ9L2tpbGwgXAotICAgICAgICAgICAgICAgICAgLURrbW9kLXBhdGg9JHtiYXNlX2JpbmRpcn0va21vZCBcCi0gICAgICAgICAgICAgICAgICAtRG1vdW50LXBhdGg9JHtiYXNlX2JpbmRpcn0vbW91bnQgXAotICAgICAgICAgICAgICAgICAgLURxdW90YWNoZWNrLXBhdGg9JHtzYmluZGlyfS9xdW90YWNoZWNrIFwKLSAgICAgICAgICAgICAgICAgIC1EcXVvdGFvbi1wYXRoPSR7c2JpbmRpcn0vcXVvdGFvbiBcCi0gICAgICAgICAgICAgICAgICAtRHN1bG9naW4tcGF0aD0ke2Jhc2Vfc2JpbmRpcn0vc3Vsb2dpbiBcCi0gICAgICAgICAgICAgICAgICAtRHVtb3VudC1wYXRoPSR7YmFzZV9iaW5kaXJ9L3Vtb3VudCIKLQotZG9faW5zdGFsbCgpIHsKLQltZXNvbl9kb19pbnN0YWxsCi0JaW5zdGFsbCAtZCAke0R9LyR7YmFzZV9zYmluZGlyfQotCWlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3NlcmlhbC1nZXR0eS1nZW5lcmF0b3InLCAnZmFsc2UnLCAndHJ1ZScsIGQpfTsgdGhlbgotCQkjIFByb3ZpZGVkIGJ5IGEgc2VwYXJhdGUgcmVjaXBlCi0JCXJtICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3NlcmlhbC1nZXR0eSogLWYKLQlmaQotCi0JIyBQcm92aWRlIHN1cHBvcnQgZm9yIGluaXRyYW1mcwotCVsgISAtZSAke0R9L2luaXQgXSAmJiBsbiAtcyAke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQgJHtEfS9pbml0Ci0JWyAhIC1lICR7RH0vJHtiYXNlX3NiaW5kaXJ9L3VkZXZkIF0gJiYgbG4gLXMgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLXVkZXZkICR7RH0vJHtiYXNlX3NiaW5kaXJ9L3VkZXZkCi0KLQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3VkZXYvcnVsZXMuZC8KLQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQKLQlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS8qLnJ1bGVzICR7RH0ke3N5c2NvbmZkaXJ9L3VkZXYvcnVsZXMuZC8KLQlpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnCi0JaW5zdGFsbCAtbSAwNjQ0ICR7Qn0vc3JjL3VkZXYvdWRldi5wYyAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy8KLQotCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9LzAwLWNyZWF0ZS12b2xhdGlsZS5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvCi0KLQlpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdmluaXQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgotCQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAotCQlpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9zeXN0ZW1kLXVkZXZkCi0JCXNlZCAtaSBzJUBVREVWREAlJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLXVkZXZkJSAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvc3lzdGVtZC11ZGV2ZAotCWZpCi0KLQljaG93biByb290OnN5c3RlbWQtam91cm5hbCAke0R9LyR7bG9jYWxzdGF0ZWRpcn0vbG9nL2pvdXJuYWwKLQotCSMgRGVsZXRlIGpvdXJuYWwgUkVBRE1FLCBhcyBsb2cgY2FuIGJlIHN5bWxpbmtlZCBpbnNpZGUgdm9sYXRpbGUuCi0Jcm0gLWYgJHtEfS8ke2xvY2Fsc3RhdGVkaXJ9L2xvZy9SRUFETUUKLQotCSMgam91cm5hbC1yZW1vdGUgY3JlYXRlcyB0aGlzIGF0IHN0YXJ0Ci0Jcm0gLXJmICR7RH0vJHtsb2NhbHN0YXRlZGlyfS9sb2cvam91cm5hbC9yZW1vdGUKLQotCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vZ3JhcGhpY2FsLnRhcmdldC53YW50cwotCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vbXVsdGktdXNlci50YXJnZXQud2FudHMKLQlpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3Bvd2Vyb2ZmLnRhcmdldC53YW50cwotCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcmVib290LnRhcmdldC53YW50cwotCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcmVzY3VlLnRhcmdldC53YW50cwotCi0JIyBDcmVhdGUgc3ltbGlua3MgZm9yIHN5c3RlbWQtdXBkYXRlLXV0bXAtcnVubGV2ZWwuc2VydmljZQotCWlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3V0bXAnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgotCQlsbiAtc2YgLi4vc3lzdGVtZC11cGRhdGUtdXRtcC1ydW5sZXZlbC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2dyYXBoaWNhbC50YXJnZXQud2FudHMvc3lzdGVtZC11cGRhdGUtdXRtcC1ydW5sZXZlbC5zZXJ2aWNlCi0JCWxuIC1zZiAuLi9zeXN0ZW1kLXVwZGF0ZS11dG1wLXJ1bmxldmVsLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vbXVsdGktdXNlci50YXJnZXQud2FudHMvc3lzdGVtZC11cGRhdGUtdXRtcC1ydW5sZXZlbC5zZXJ2aWNlCi0JCWxuIC1zZiAuLi9zeXN0ZW1kLXVwZGF0ZS11dG1wLXJ1bmxldmVsLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcG93ZXJvZmYudGFyZ2V0LndhbnRzL3N5c3RlbWQtdXBkYXRlLXV0bXAtcnVubGV2ZWwuc2VydmljZQotCQlsbiAtc2YgLi4vc3lzdGVtZC11cGRhdGUtdXRtcC1ydW5sZXZlbC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3JlYm9vdC50YXJnZXQud2FudHMvc3lzdGVtZC11cGRhdGUtdXRtcC1ydW5sZXZlbC5zZXJ2aWNlCi0JCWxuIC1zZiAuLi9zeXN0ZW1kLXVwZGF0ZS11dG1wLXJ1bmxldmVsLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcmVzY3VlLnRhcmdldC53YW50cy9zeXN0ZW1kLXVwZGF0ZS11dG1wLXJ1bmxldmVsLnNlcnZpY2UKLQlmaQotCi0JIyB0aGlzIGZpbGUgaXMgbmVlZGVkIHRvIGV4aXN0IGlmIG5ldHdvcmtkIGlzIGRpc2FibGVkIGJ1dCB0aW1lc3luY2QgaXMgc3RpbGwgaW4gdXNlIHNpbmNlIHRpbWVzeW5jZCBjaGVja3MgaXQKLQkjIGZvciBleGlzdGVuY2UgZWxzZSBpdCBmYWlscwotCWlmIFsgLXMgJHtEfSR7ZXhlY19wcmVmaXh9L2xpYi90bXBmaWxlcy5kL3N5c3RlbWQuY29uZiBdOyB0aGVuCi0JCSR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ25ldHdvcmtkJywgJzonLCAnc2VkIC1pIC1lICJcJGFkIC9ydW4vc3lzdGVtZC9uZXRpZi9saW5rcyAwNzU1IHJvb3Qgcm9vdCAtIiAke0R9JHtleGVjX3ByZWZpeH0vbGliL3RtcGZpbGVzLmQvc3lzdGVtZC5jb25mJywgZCl9Ci0JZmkKLQlpZiAhICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3Jlc29sdmVkJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KLQkJZWNobyAnTCEgJHtzeXNjb25mZGlyfS9yZXNvbHYuY29uZiAtIC0gLSAtIC4uL3J1bi9zeXN0ZW1kL3Jlc29sdmUvcmVzb2x2LmNvbmYnID4+JHtEfSR7ZXhlY19wcmVmaXh9L2xpYi90bXBmaWxlcy5kL2V0Yy5jb25mCi0JCWVjaG8gJ2QgL3J1bi9zeXN0ZW1kL3Jlc29sdmUgMDc1NSByb290IHJvb3QgLScgPj4ke0R9JHtleGVjX3ByZWZpeH0vbGliL3RtcGZpbGVzLmQvc3lzdGVtZC5jb25mCi0JCWVjaG8gJ2YgL3J1bi9zeXN0ZW1kL3Jlc29sdmUvcmVzb2x2LmNvbmYgMDY0NCByb290IHJvb3QnID4+JHtEfSR7ZXhlY19wcmVmaXh9L2xpYi90bXBmaWxlcy5kL3N5c3RlbWQuY29uZgotCQlsbiAtcyAuLi9ydW4vc3lzdGVtZC9yZXNvbHZlL3Jlc29sdi5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L3Jlc29sdi1jb25mLnN5c3RlbWQKLQllbHNlCi0JCXNlZCAtaSAtZSAicyVeTCEgL2V0Yy9yZXNvbHYuY29uZi4qJCVMISAvZXRjL3Jlc29sdi5jb25mIC0gLSAtIC0gLi4vcnVuL3N5c3RlbWQvcmVzb2x2ZS9yZXNvbHYuY29uZiVnIiAke0R9JHtleGVjX3ByZWZpeH0vbGliL3RtcGZpbGVzLmQvZXRjLmNvbmYKLQkJbG4gLXMgLi4vcnVuL3N5c3RlbWQvcmVzb2x2ZS9yZXNvbHYuY29uZiAke0R9JHtzeXNjb25mZGlyfS9yZXNvbHYtY29uZi5zeXN0ZW1kCi0JZmkKLQlpbnN0YWxsIC1EbSAwNzU1ICR7U30vc3JjL3N5c3RlbWN0bC9zeXN0ZW1kLXN5c3YtaW5zdGFsbC5TS0VMRVRPTiAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbWQtc3lzdi1pbnN0YWxsCi0KLQkjIElmIHBvbGtpdCBpcyBzZXR1cCBmaXh1cCBwZXJtaXNzaW9ucyBhbmQgb3duZXJzaGlwCi0JaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncG9sa2l0JywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KLQkJaWYgWyAtZCAke0R9JHtkYXRhZGlyfS9wb2xraXQtMS9ydWxlcy5kIF07IHRoZW4KLQkJCWNobW9kIDcwMCAke0R9JHtkYXRhZGlyfS9wb2xraXQtMS9ydWxlcy5kCi0JCQljaG93biBwb2xraXRkOnJvb3QgJHtEfSR7ZGF0YWRpcn0vcG9sa2l0LTEvcnVsZXMuZAotCQlmaQotCWZpCi0KLQkjIGNvbmYgZmlsZXMgYXJlIGhhbmRsZWQgYnkgc3lzdGVtZC1jb25mCi0Jcm0gLWYgJHtEfSR7c3lzY29uZmRpcn0vbWFjaGluZS1pZAotCXJtIC1mICR7RH0ke3N5c2NvbmZkaXJ9L3N5c3RlbWQvY29yZWR1bXAuY29uZgotCXJtIC1mICR7RH0ke3N5c2NvbmZkaXJ9L3N5c3RlbWQvam91cm5hbGQuY29uZgotCXJtIC1mICR7RH0ke3N5c2NvbmZkaXJ9L3N5c3RlbWQvbG9naW5kLmNvbmYKLQlybSAtZiAke0R9JHtzeXNjb25mZGlyfS9zeXN0ZW1kL3N5c3RlbS5jb25mCi0Jcm0gLWYgJHtEfSR7c3lzY29uZmRpcn0vc3lzdGVtZC91c2VyLmNvbmYKLQotCSMgZHVwbGljYXRlIHVkZXZhZG0gZm9yIHBvc3RpbnN0IHNjcmlwdAotCWluc3RhbGwgLWQgJHtEfSR7bGliZXhlY2Rpcn0KLQlsbiAke0R9JHtiYXNlX2JpbmRpcn0vdWRldmFkbSAke0R9JHtsaWJleGVjZGlyfS8ke01MUFJFRklYfXVkZXZhZG0KLX0KLQotCi1weXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKXsKLSAgICBzeXN0ZW1kbGliZGlyID0gZC5nZXRWYXIoInJvb3RsaWJkaXIiKQotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHN5c3RlbWRsaWJkaXIsICdebGliKC4qKVwuc29cLionLCAnbGliJXMnLCAnU3lzdGVtZCAlcyBsaWJyYXJ5JywgZXh0cmFfZGVwZW5kcz0nJywgYWxsb3dfbGlua3M9VHJ1ZSkKLX0KLVBBQ0tBR0VTX0RZTkFNSUMgKz0gIl5saWIodWRldnxzeXN0ZW1kfG5zcykuKiIKLQotUEFDS0FHRVMgPSsgIlwKLSAgICAke1BOfS1ndWkgXAotICAgICR7UE59LXZjb25zb2xlLXNldHVwIFwKLSAgICAke1BOfS1pbml0cmFtZnMgXAotICAgICR7UE59LWFuYWx5emUgXAotICAgICR7UE59LWtlcm5lbC1pbnN0YWxsIFwKLSAgICAke1BOfS1ycG0tbWFjcm9zIFwKLSAgICAke1BOfS1iaW5mbXQgXAotICAgICR7UE59LXpzaC1jb21wbGV0aW9uIFwKLSAgICAke1BOfS14b3JnLXhpbml0cmMgXAotICAgICR7UE59LWNvbnRhaW5lciBcCi0gICAgJHtQTn0tam91cm5hbC1nYXRld2F5ZCBcCi0gICAgJHtQTn0tam91cm5hbC11cGxvYWQgXAotICAgICR7UE59LWpvdXJuYWwtcmVtb3RlIFwKLSAgICAke1BOfS1leHRyYS11dGlscyBcCi0iCi0KLVNVTU1BUllfJHtQTn0tY29udGFpbmVyID0gIlRvb2xzIGZvciBjb250YWluZXJzIGFuZCBWTXMiCi1ERVNDUklQVElPTl8ke1BOfS1jb250YWluZXIgPSAiU3lzdGVtZCB0b29scyB0byBzcGF3biBhbmQgbWFuYWdlIGNvbnRhaW5lcnMgYW5kIHZpcnR1YWwgbWFjaGluZXMuIgotCi1TVU1NQVJZXyR7UE59LWpvdXJuYWwtZ2F0ZXdheWQgPSAiSFRUUCBzZXJ2ZXIgZm9yIGpvdXJuYWwgZXZlbnRzIgotREVTQ1JJUFRJT05fJHtQTn0tam91cm5hbC1nYXRld2F5ZCA9ICJzeXN0ZW1kLWpvdXJuYWwtZ2F0ZXdheWQgc2VydmVzIGpvdXJuYWwgZXZlbnRzIG92ZXIgdGhlIG5ldHdvcmsuIENsaWVudHMgbXVzdCBjb25uZWN0IHVzaW5nIEhUVFAuIFRoZSBzZXJ2ZXIgbGlzdGVucyBvbiBwb3J0IDE5NTMxIGJ5IGRlZmF1bHQuIgotCi1TVU1NQVJZXyR7UE59LWpvdXJuYWwtdXBsb2FkID0gIlNlbmQgam91cm5hbCBtZXNzYWdlcyBvdmVyIHRoZSBuZXR3b3JrIgotREVTQ1JJUFRJT05fJHtQTn0tam91cm5hbC11cGxvYWQgPSAic3lzdGVtZC1qb3VybmFsLXVwbG9hZCB1cGxvYWRzIGpvdXJuYWwgZW50cmllcyB0byBhIHNwZWNpZmllZCBVUkwuIgotCi1TVU1NQVJZXyR7UE59LWpvdXJuYWwtcmVtb3RlID0gIlJlY2VpdmUgam91cm5hbCBtZXNzYWdlcyBvdmVyIHRoZSBuZXR3b3JrIgotREVTQ1JJUFRJT05fJHtQTn0tam91cm5hbC1yZW1vdGUgPSAic3lzdGVtZC1qb3VybmFsLXJlbW90ZSBpcyBhIGNvbW1hbmQgdG8gcmVjZWl2ZSBzZXJpYWxpemVkIGpvdXJuYWwgZXZlbnRzIGFuZCBzdG9yZSB0aGVtIHRvIGpvdXJuYWwgZmlsZXMuIgotCi1TWVNURU1EX1BBQ0tBR0VTID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2JpbmZtdCcsICcke1BOfS1iaW5mbXQnLCAnJywgZCl9IFwKLSAgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnbWljcm9odHRwZCcsICcke1BOfS1qb3VybmFsLWdhdGV3YXlkJywgJycsIGQpfSBcCi0gICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ21pY3JvaHR0cGQnLCAnJHtQTn0tam91cm5hbC1yZW1vdGUnLCAnJywgZCl9IFwKLSAgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnam91cm5hbC11cGxvYWQnLCAnJHtQTn0tam91cm5hbC11cGxvYWQnLCAnJywgZCl9IFwKLSIKLVNZU1RFTURfU0VSVklDRV8ke1BOfS1iaW5mbXQgPSAic3lzdGVtZC1iaW5mbXQuc2VydmljZSIKLQotVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSAke1BOfS1leHRyYS11dGlscyBcCi0gICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ21pY3JvaHR0cGQnLCAnJHtQTn0tam91cm5hbC1nYXRld2F5JywgJycsIGQpfSBcCi0gICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ21pY3JvaHR0cGQnLCAnJHtQTn0tam91cm5hbC1yZW1vdGUnLCAnJywgZCl9IFwKLSAgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnam91cm5hbC11cGxvYWQnLCAnJHtQTn0tam91cm5hbC11cGxvYWQnLCAnJywgZCl9IFwKLSIKLUdST1VQQUREX1BBUkFNXyR7UE59ID0gIi1yIHN5c3RlbWQtam91cm5hbCIKLVVTRVJBRERfUEFSQU1fJHtQTn0gKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2NvcmVkdW1wJywgJy0tc3lzdGVtIC1kIC8gLU0gLS1zaGVsbCAvYmluL25vbG9naW4gc3lzdGVtZC1jb3JlZHVtcDsnLCAnJywgZCl9IgotVVNFUkFERF9QQVJBTV8ke1BOfSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnbmV0d29ya2QnLCAnLS1zeXN0ZW0gLWQgLyAtTSAtLXNoZWxsIC9iaW4vbm9sb2dpbiBzeXN0ZW1kLW5ldHdvcms7JywgJycsIGQpfSIKLVVTRVJBRERfUEFSQU1fJHtQTn0gKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3BvbGtpdCcsICctLXN5c3RlbSAtLW5vLWNyZWF0ZS1ob21lIC0tdXNlci1ncm91cCAtLWhvbWUtZGlyICR7c3lzY29uZmRpcn0vcG9sa2l0LTEgcG9sa2l0ZDsnLCAnJywgZCl9IgotVVNFUkFERF9QQVJBTV8ke1BOfSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncmVzb2x2ZWQnLCAnLS1zeXN0ZW0gLWQgLyAtTSAtLXNoZWxsIC9iaW4vbm9sb2dpbiBzeXN0ZW1kLXJlc29sdmU7JywgJycsIGQpfSIKLVVTRVJBRERfUEFSQU1fJHtQTn0gKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3RpbWVzeW5jZCcsICctLXN5c3RlbSAtZCAvIC1NIC0tc2hlbGwgL2Jpbi9ub2xvZ2luIHN5c3RlbWQtdGltZXN5bmM7JywgJycsIGQpfSIKLVVTRVJBRERfUEFSQU1fJHtQTn0tZXh0cmEtdXRpbHMgPSAiLS1zeXN0ZW0gLWQgLyAtTSAtLXNoZWxsIC9iaW4vbm9sb2dpbiBzeXN0ZW1kLWJ1cy1wcm94eSIKLVVTRVJBRERfUEFSQU1fJHtQTn0tam91cm5hbC1nYXRld2F5ID0gIi0tc3lzdGVtIC1kIC8gLU0gLS1zaGVsbCAvYmluL25vbG9naW4gc3lzdGVtZC1qb3VybmFsLWdhdGV3YXkiCi1VU0VSQUREX1BBUkFNXyR7UE59LWpvdXJuYWwtcmVtb3RlID0gIi0tc3lzdGVtIC1kIC8gLU0gLS1zaGVsbCAvYmluL25vbG9naW4gc3lzdGVtZC1qb3VybmFsLXJlbW90ZSIKLVVTRVJBRERfUEFSQU1fJHtQTn0tam91cm5hbC11cGxvYWQgPSAiLS1zeXN0ZW0gLWQgLyAtTSAtLXNoZWxsIC9iaW4vbm9sb2dpbiBzeXN0ZW1kLWpvdXJuYWwtdXBsb2FkIgotCi1GSUxFU18ke1BOfS1hbmFseXplID0gIiR7YmluZGlyfS9zeXN0ZW1kLWFuYWx5emUiCi0KLUZJTEVTXyR7UE59LWluaXRyYW1mcyA9ICIvaW5pdCIKLVJERVBFTkRTXyR7UE59LWluaXRyYW1mcyA9ICIke1BOfSIKLQotRklMRVNfJHtQTn0tZ3VpID0gIiR7YmluZGlyfS9zeXN0ZW1hZG0iCi0KLUZJTEVTXyR7UE59LXZjb25zb2xlLXNldHVwID0gIiR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC12Y29uc29sZS1zZXR1cCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c3RlbWQtdmNvbnNvbGUtc2V0dXAuc2VydmljZSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c2luaXQudGFyZ2V0LndhbnRzL3N5c3RlbWQtdmNvbnNvbGUtc2V0dXAuc2VydmljZSIKLQotUkRFUEVORFNfJHtQTn0ta2VybmVsLWluc3RhbGwgKz0gImJhc2giCi1GSUxFU18ke1BOfS1rZXJuZWwtaW5zdGFsbCA9ICIke2JpbmRpcn0va2VybmVsLWluc3RhbGwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9rZXJuZWwvIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7ZXhlY19wcmVmaXh9L2xpYi9rZXJuZWwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCi1GSUxFU18ke1BOfS1ycG0tbWFjcm9zID0gIiR7ZXhlY19wcmVmaXh9L2xpYi9ycG0gXAotICAgICAgICAgICAgICAgICAgICAgICAgICIKLQotRklMRVNfJHtQTn0teG9yZy14aW5pdHJjID0gIiR7c3lzY29uZmRpcn0vWDExL3hpbml0L3hpbml0cmMuZC8qIgotCi1GSUxFU18ke1BOfS16c2gtY29tcGxldGlvbiA9ICIke2RhdGFkaXJ9L3pzaC9zaXRlLWZ1bmN0aW9ucyIKLQotRklMRVNfJHtQTn0tYmluZm10ID0gIiR7c3lzY29uZmRpcn0vYmluZm10LmQvIFwKLSAgICAgICAgICAgICAgICAgICAgICAke2V4ZWNfcHJlZml4fS9saWIvYmluZm10LmQgXAotICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1iaW5mbXQgXAotICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcHJvYy1zeXMtZnMtYmluZm10X21pc2MuKiBcCi0gICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWJpbmZtdC5zZXJ2aWNlIgotUlJFQ09NTUVORFNfJHtQTn0tYmluZm10ID0gImtlcm5lbC1tb2R1bGUtYmluZm10LW1pc2MiCi0KLVJSRUNPTU1FTkRTXyR7UE59LXZjb25zb2xlLXNldHVwID0gImtiZCBrYmQtY29uc29sZWZvbnRzIGtiZC1rZXltYXBzIgotCi0KLUZJTEVTXyR7UE59LWpvdXJuYWwtZ2F0ZXdheWQgPSAiJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLWpvdXJuYWwtZ2F0ZXdheWQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3N5c3RlbWQtam91cm5hbC1nYXRld2F5ZC5zZXJ2aWNlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9zeXN0ZW1kLWpvdXJuYWwtZ2F0ZXdheWQuc29ja2V0IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9zb2NrZXRzLnRhcmdldC53YW50cy9zeXN0ZW1kLWpvdXJuYWwtZ2F0ZXdheWQuc29ja2V0IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9zeXN0ZW1kL2dhdGV3YXlkL2Jyb3dzZS5odG1sIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0tam91cm5hbC1nYXRld2F5ZCA9ICJzeXN0ZW1kLWpvdXJuYWwtZ2F0ZXdheWQuc29ja2V0IgotCi1GSUxFU18ke1BOfS1qb3VybmFsLXVwbG9hZCA9ICIke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQtam91cm5hbC11cGxvYWQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9zeXN0ZW1kLWpvdXJuYWwtdXBsb2FkLnNlcnZpY2UgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9zeXN0ZW1kL2pvdXJuYWwtdXBsb2FkLmNvbmYgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0tam91cm5hbC11cGxvYWQgPSAic3lzdGVtZC1qb3VybmFsLXVwbG9hZC5zZXJ2aWNlIgotCi1GSUxFU18ke1BOfS1qb3VybmFsLXJlbW90ZSA9ICIke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQtam91cm5hbC1yZW1vdGUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9zeXN0ZW1kL2pvdXJuYWwtcmVtb3RlLmNvbmYgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9zeXN0ZW1kLWpvdXJuYWwtcmVtb3RlLnNlcnZpY2UgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9zeXN0ZW1kLWpvdXJuYWwtcmVtb3RlLnNvY2tldCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKLVNZU1RFTURfU0VSVklDRV8ke1BOfS1yZW1vdGUgPSAic3lzdGVtZC1qb3VybmFsLXJlbW90ZS5zb2NrZXQiCi0KLQotRklMRVNfJHtQTn0tY29udGFpbmVyID0gIiR7c3lzY29uZmRpcn0vZGJ1cy0xL3N5c3RlbS5kL29yZy5mcmVlZGVza3RvcC5pbXBvcnQxLmNvbmYgXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vZGJ1cy0xL3N5c3RlbS5kL29yZy5mcmVlZGVza3RvcC5tYWNoaW5lMS5jb25mIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke2Jhc2VfYmluZGlyfS9tYWNoaW5lY3RsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vc3lzdGVtZC1uc3Bhd24gXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7bm9uYXJjaF9saWJkaXJ9L3N5c3RlbWQvaW1wb3J0LXB1YnJpbmcuZ3BnIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2J1c25hbWVzLnRhcmdldC53YW50cy9vcmcuZnJlZWRlc2t0b3AuaW1wb3J0MS5idXNuYW1lIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2J1c25hbWVzLnRhcmdldC53YW50cy9vcmcuZnJlZWRlc2t0b3AubWFjaGluZTEuYnVzbmFtZSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9sb2NhbC1mcy50YXJnZXQud2FudHMvdmFyLWxpYi1tYWNoaW5lcy5tb3VudCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9tYWNoaW5lLnNsaWNlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L21hY2hpbmVzLnRhcmdldCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9vcmcuZnJlZWRlc2t0b3AuaW1wb3J0MS5idXNuYW1lIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L29yZy5mcmVlZGVza3RvcC5tYWNoaW5lMS5idXNuYW1lIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3N5c3RlbWQtaW1wb3J0ZC5zZXJ2aWNlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3N5c3RlbWQtbWFjaGluZWQuc2VydmljZSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9kYnVzLW9yZy5mcmVlZGVza3RvcC5tYWNoaW5lMS5zZXJ2aWNlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3Zhci1saWItbWFjaGluZXMubW91bnQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1pbXBvcnQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1pbXBvcnRkIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQtbWFjaGluZWQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1wdWxsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke2V4ZWNfcHJlZml4fS9saWIvdG1wZmlsZXMuZC9zeXN0ZW1kLW5zcGF3bi5jb25mIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3N5c3RlbWQtbnNwYXduQC5zZXJ2aWNlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlibnNzX215bWFjaGluZXMuc28uMiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLXNlcnZpY2VzL29yZy5mcmVlZGVza3RvcC5pbXBvcnQxLnNlcnZpY2UgXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS1zZXJ2aWNlcy9vcmcuZnJlZWRlc2t0b3AubWFjaGluZTEuc2VydmljZSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmQvb3JnLmZyZWVkZXNrdG9wLmltcG9ydDEuY29uZiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmQvb3JnLmZyZWVkZXNrdG9wLm1hY2hpbmUxLmNvbmYgXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vcG9sa2l0LTEvYWN0aW9ucy9vcmcuZnJlZWRlc2t0b3AuaW1wb3J0MS5wb2xpY3kgXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vcG9sa2l0LTEvYWN0aW9ucy9vcmcuZnJlZWRlc2t0b3AubWFjaGluZTEucG9saWN5IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICIKLQotUlJFQ09NTUVORFNfJHtQTn0tY29udGFpbmVyICs9ICJcCi0gICAgICAgICAgICAgICAgICAgICAgICAgJHtQTn0tam91cm5hbC11cGxvYWQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7UE59LWpvdXJuYWwtcmVtb3RlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke1BOfS1qb3VybmFsLWdhdGV3YXlkIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICIKLQotRklMRVNfJHtQTn0tZXh0cmEtdXRpbHMgPSAiXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtiYXNlX2JpbmRpcn0vc3lzdGVtZC1lc2NhcGUgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtiYXNlX2JpbmRpcn0vc3lzdGVtZC1pbmhpYml0IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9zeXN0ZW1kLWRldGVjdC12aXJ0IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9zeXN0ZW1kLXBhdGggXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3N5c3RlbWQtcnVuIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9zeXN0ZW1kLWNhdCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vc3lzdGVtZC1kZWx0YSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vc3lzdGVtZC1jZ2xzIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9zeXN0ZW1kLWNndG9wIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9zeXN0ZW1kLXN0ZGlvLWJyaWRnZSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke2Jhc2VfYmluZGlyfS9zeXN0ZW1kLWFzay1wYXNzd29yZCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke2Jhc2VfYmluZGlyfS9zeXN0ZW1kLXR0eS1hc2stcGFzc3dvcmQtYWdlbnQgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWFzay1wYXNzd29yZC1jb25zb2xlLnBhdGggXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWFzay1wYXNzd29yZC1jb25zb2xlLnNlcnZpY2UgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWFzay1wYXNzd29yZC13YWxsLnBhdGggXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWFzay1wYXNzd29yZC13YWxsLnNlcnZpY2UgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXNpbml0LnRhcmdldC53YW50cy9zeXN0ZW1kLWFzay1wYXNzd29yZC1jb25zb2xlLnBhdGggXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXNpbml0LnRhcmdldC53YW50cy9zeXN0ZW1kLWFzay1wYXNzd29yZC13YWxsLnBhdGggXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9tdWx0aS11c2VyLnRhcmdldC53YW50cy9zeXN0ZW1kLWFzay1wYXNzd29yZC13YWxsLnBhdGggXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLXJlc29sdmUtaG9zdCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQtYWMtcG93ZXIgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLWFjdGl2YXRlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1idXMtcHJveHlkIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc3lzdGVtZC1idXMtcHJveHlkLnNlcnZpY2UgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWJ1cy1wcm94eWQuc29ja2V0IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1zb2NrZXQtcHJveHlkIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1yZXBseS1wYXNzd29yZCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQtc2xlZXAgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW0tc2xlZXAgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWhpYmVybmF0ZS5zZXJ2aWNlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc3lzdGVtZC1oeWJyaWQtc2xlZXAuc2VydmljZSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c3RlbWQtc3VzcGVuZC5zZXJ2aWNlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc2xlZXAudGFyZ2V0IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1pbml0Y3RsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc3lzdGVtZC1pbml0Y3RsLnNlcnZpY2UgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWluaXRjdGwuc29ja2V0IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc29ja2V0cy50YXJnZXQud2FudHMvc3lzdGVtZC1pbml0Y3RsLnNvY2tldCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbS1nZW5lcmF0b3JzL3N5c3RlbWQtZ3B0LWF1dG8tZ2VuZXJhdG9yIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1jZ3JvdXBzLWFnZW50IFwKLSIKLQotRklMRVNfJHtQTn0gPSAiICR7YmFzZV9iaW5kaXJ9LyogXAotICAgICAgICAgICAgICAgICR7YmFzZV9zYmluZGlyfS9zaHV0ZG93biBcCi0gICAgICAgICAgICAgICAgJHtiYXNlX3NiaW5kaXJ9L2hhbHQgXAotICAgICAgICAgICAgICAgICR7YmFzZV9zYmluZGlyfS9wb3dlcm9mZiBcCi0gICAgICAgICAgICAgICAgJHtiYXNlX3NiaW5kaXJ9L3J1bmxldmVsIFwKLSAgICAgICAgICAgICAgICAke2Jhc2Vfc2JpbmRpcn0vdGVsaW5pdCBcCi0gICAgICAgICAgICAgICAgJHtiYXNlX3NiaW5kaXJ9L3Jlc29sdmNvbmYgXAotICAgICAgICAgICAgICAgICR7YmFzZV9zYmluZGlyfS9yZWJvb3QgXAotICAgICAgICAgICAgICAgICR7YmFzZV9zYmluZGlyfS9pbml0IFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zZXJ2aWNlcyBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLXNlcnZpY2VzIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3BvbGtpdC0xIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9LyR7QlBOfSBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9mYWN0b3J5IFwKLSAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2RidXMtMS8gXAotICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vbW9kdWxlcy1sb2FkLmQvIFwKLSAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3BhbS5kLyBcCi0gICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9zeXNjdGwuZC8gXAotICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vc3lzdGVtZC8gXAotICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC8gXAotICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0veGRnLyBcCi0gICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvUkVBRE1FIFwKLSAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3Jlc29sdi1jb25mLnN5c3RlbWQgXAotICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvKiBcCi0gICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9LyogXAotICAgICAgICAgICAgICAgICR7YmFzZV9saWJkaXJ9L3NlY3VyaXR5Lyouc28gXAotICAgICAgICAgICAgICAgIC9jZ3JvdXAgXAotICAgICAgICAgICAgICAgICR7YmluZGlyfS9zeXN0ZW1kKiBcCi0gICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2J1c2N0bCBcCi0gICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2NvcmVkdW1wY3RsIFwKLSAgICAgICAgICAgICAgICAke2JpbmRpcn0vbG9jYWxlY3RsIFwKLSAgICAgICAgICAgICAgICAke2JpbmRpcn0vaG9zdG5hbWVjdGwgXAotICAgICAgICAgICAgICAgICR7YmluZGlyfS9yZXNvbHZlY3RsIFwKLSAgICAgICAgICAgICAgICAke2JpbmRpcn0vdGltZWRhdGVjdGwgXAotICAgICAgICAgICAgICAgICR7YmluZGlyfS9ib290Y3RsIFwKLSAgICAgICAgICAgICAgICAke2JpbmRpcn0va2VybmVsLWluc3RhbGwgXAotICAgICAgICAgICAgICAgICR7ZXhlY19wcmVmaXh9L2xpYi90bXBmaWxlcy5kLyouY29uZiBcCi0gICAgICAgICAgICAgICAgJHtleGVjX3ByZWZpeH0vbGliL3N5c3RlbWQgXAotICAgICAgICAgICAgICAgICR7ZXhlY19wcmVmaXh9L2xpYi9tb2R1bGVzLWxvYWQuZCBcCi0gICAgICAgICAgICAgICAgJHtleGVjX3ByZWZpeH0vbGliL3N5c2N0bC5kIFwKLSAgICAgICAgICAgICAgICAke2V4ZWNfcHJlZml4fS9saWIvc3lzdXNlcnMuZCBcCi0gICAgICAgICAgICAgICAgJHtleGVjX3ByZWZpeH0vbGliL2Vudmlyb25tZW50LmQgXAotICAgICAgICAgICAgICAgICR7bG9jYWxzdGF0ZWRpcn0gXAotICAgICAgICAgICAgICAgICR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldi9ydWxlcy5kLzcwLXVhY2Nlc3MucnVsZXMgXAotICAgICAgICAgICAgICAgICR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldi9ydWxlcy5kLzcxLXNlYXQucnVsZXMgXAotICAgICAgICAgICAgICAgICR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldi9ydWxlcy5kLzczLXNlYXQtbGF0ZS5ydWxlcyBcCi0gICAgICAgICAgICAgICAgJHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2L3J1bGVzLmQvOTktc3lzdGVtZC5ydWxlcyBcCi0gICAgICAgICAgICAgICAgJHtub25hcmNoX2Jhc2VfbGliZGlyfS9tb2Rwcm9iZS5kL3N5c3RlbWQuY29uZiBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmQvb3JnLmZyZWVkZXNrdG9wLnRpbWVkYXRlMS5jb25mIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0uZC9vcmcuZnJlZWRlc2t0b3AubG9jYWxlMS5jb25mIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0uZC9vcmcuZnJlZWRlc2t0b3AubmV0d29yazEuY29uZiBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmQvb3JnLmZyZWVkZXNrdG9wLnJlc29sdmUxLmNvbmYgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS5kL29yZy5mcmVlZGVza3RvcC5zeXN0ZW1kMS5jb25mIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0uZC9vcmcuZnJlZWRlc2t0b3AuaG9zdG5hbWUxLmNvbmYgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS5kL29yZy5mcmVlZGVza3RvcC5sb2dpbjEuY29uZiBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmQvb3JnLmZyZWVkZXNrdG9wLnRpbWVzeW5jMS5jb25mIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0uZC9vcmcuZnJlZWRlc2t0b3AucG9ydGFibGUxLmNvbmYgXAotICAgICAgICAgICAgICAgIgotCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7YmFzZV9saWJkaXJ9L3NlY3VyaXR5LyoubGEgJHtkYXRhZGlyfS9kYnVzLTEvaW50ZXJmYWNlcy8gJHtzeXNjb25mZGlyfS9ycG0vbWFjcm9zLnN5c3RlbWQiCi0KLVJERVBFTkRTXyR7UE59ICs9ICJrbW9kIGRidXMgdXRpbC1saW51eC1tb3VudCB1dGlsLWxpbnV4LXVtb3VudCB1ZGV2ICg9ICR7RVhURU5EUEtHVn0pIHV0aWwtbGludXgtYWdldHR5IHV0aWwtbGludXgtZnNjayIKLVJERVBFTkRTXyR7UE59ICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdzZXJpYWwtZ2V0dHktZ2VuZXJhdG9yJywgJycsICdzeXN0ZW1kLXNlcmlhbGdldHR5JywgZCl9IgotUkRFUEVORFNfJHtQTn0gKz0gInZvbGF0aWxlLWJpbmRzIHVwZGF0ZS1yYy5kIHN5c3RlbWQtY29uZiIKLQotUlJFQ09NTUVORFNfJHtQTn0gKz0gInN5c3RlbWQtZXh0cmEtdXRpbHMgXAotICAgICAgICAgICAgICAgICAgICAgIHN5c3RlbWQtY29tcGF0LXVuaXRzIHVkZXYtaHdkYiBcCi0gICAgICAgICAgICAgICAgICAgICAgZTJmc3Byb2dzLWUyZnNjayBcCi0gICAgICAgICAgICAgICAgICAgICAga2VybmVsLW1vZHVsZS1hdXRvZnM0IGtlcm5lbC1tb2R1bGUtdW5peCBrZXJuZWwtbW9kdWxlLWlwdjYgXAotICAgICAgICAgICAgICAgICAgICAgIG9zLXJlbGVhc2UgXAotIgotCi1JTlNBTkVfU0tJUF8ke1BOfSArPSAiZGV2LXNvIGxpYmRpciIKLUlOU0FORV9TS0lQXyR7UE59LWRiZyArPSAibGliZGlyIgotSU5TQU5FX1NLSVBfJHtQTn0tZG9jICs9ICIgbGliZGlyIgotCi1QQUNLQUdFUyA9KyAidWRldiB1ZGV2LWh3ZGIiCi0KLVJQUk9WSURFU191ZGV2ID0gImhvdHBsdWciCi0KLVJERVBFTkRTX3VkZXYtaHdkYiArPSAidWRldiIKLQotRklMRVNfdWRldiArPSAiJHtiYXNlX3NiaW5kaXJ9L3VkZXZkIFwKLSAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC11ZGV2ZCBcCi0gICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS91ZGV2L2FjY2VsZXJvbWV0ZXIgXAotICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vdWRldi9hdGFfaWQgXAotICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vdWRldi9jZHJvbV9pZCBcCi0gICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS91ZGV2L2NvbGxlY3QgXAotICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vdWRldi9maW5ka2V5Ym9hcmRzIFwKLSAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3VkZXYva2V5Ym9hcmQtZm9yY2UtcmVsZWFzZS5zaCBcCi0gICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS91ZGV2L2tleW1hcCBcCi0gICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS91ZGV2L210ZF9wcm9iZSBcCi0gICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS91ZGV2L3Njc2lfaWQgXAotICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vdWRldi92NGxfaWQgXAotICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vdWRldi9rZXltYXBzIFwKLSAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3VkZXYvcnVsZXMuZC8qLnJ1bGVzIFwKLSAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vdWRldiBcCi0gICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9zeXN0ZW1kLXVkZXZkIFwKLSAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vKnVkZXYqIFwKLSAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vKi53YW50cy8qdWRldiogXAotICAgICAgICAgICAgICAgJHtiYXNlX2JpbmRpcn0vdWRldmFkbSBcCi0gICAgICAgICAgICAgICAke2xpYmV4ZWNkaXJ9LyR7TUxQUkVGSVh9dWRldmFkbSBcCi0gICAgICAgICAgICAgICAke2RhdGFkaXJ9L2Jhc2gtY29tcGxldGlvbi9jb21wbGV0aW9ucy91ZGV2YWRtIFwKLSAgICAgICAgICAgICAgIgotCi1GSUxFU191ZGV2LWh3ZGIgPSAiJHtyb290bGliZXhlY2Rpcn0vdWRldi9od2RiLmQiCi0KLUlOSVRTQ1JJUFRfUEFDS0FHRVMgPSAidWRldiIKLUlOSVRTQ1JJUFRfTkFNRV91ZGV2ID0gInN5c3RlbWQtdWRldmQiCi1JTklUU0NSSVBUX1BBUkFNU191ZGV2ID0gInN0YXJ0IDAzIFMgLiIKLQotcHl0aG9uIF9fYW5vbnltb3VzKCkgewotICAgIGlmIG5vdCBiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3Zpbml0JywgVHJ1ZSwgRmFsc2UsIGQpOgotICAgICAgICBkLnNldFZhcigiSU5ISUJJVF9VUERBVEVSQ0RfQkJDTEFTUyIsICIxIikKLX0KLQotQUxURVJOQVRJVkVfJHtQTn0gPSAiaGFsdCByZWJvb3Qgc2h1dGRvd24gcG93ZXJvZmYgcnVubGV2ZWwgcmVzb2x2LWNvbmYiCi0KLUFMVEVSTkFUSVZFX1RBUkdFVFtyZXNvbHYtY29uZl0gPSAiJHtzeXNjb25mZGlyfS9yZXNvbHYtY29uZi5zeXN0ZW1kIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3Jlc29sdi1jb25mXSA9ICIke3N5c2NvbmZkaXJ9L3Jlc29sdi5jb25mIgotQUxURVJOQVRJVkVfUFJJT1JJVFlbcmVzb2x2LWNvbmZdID89ICI1MCIKLQotQUxURVJOQVRJVkVfVEFSR0VUW2hhbHRdID0gIiR7YmFzZV9iaW5kaXJ9L3N5c3RlbWN0bCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtoYWx0XSA9ICIke2Jhc2Vfc2JpbmRpcn0vaGFsdCIKLUFMVEVSTkFUSVZFX1BSSU9SSVRZW2hhbHRdID89ICIzMDAiCi0KLUFMVEVSTkFUSVZFX1RBUkdFVFtyZWJvb3RdID0gIiR7YmFzZV9iaW5kaXJ9L3N5c3RlbWN0bCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtyZWJvb3RdID0gIiR7YmFzZV9zYmluZGlyfS9yZWJvb3QiCi1BTFRFUk5BVElWRV9QUklPUklUWVtyZWJvb3RdID89ICIzMDAiCi0KLUFMVEVSTkFUSVZFX1RBUkdFVFtzaHV0ZG93bl0gPSAiJHtiYXNlX2JpbmRpcn0vc3lzdGVtY3RsIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3NodXRkb3duXSA9ICIke2Jhc2Vfc2JpbmRpcn0vc2h1dGRvd24iCi1BTFRFUk5BVElWRV9QUklPUklUWVtzaHV0ZG93bl0gPz0gIjMwMCIKLQotQUxURVJOQVRJVkVfVEFSR0VUW3Bvd2Vyb2ZmXSA9ICIke2Jhc2VfYmluZGlyfS9zeXN0ZW1jdGwiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbcG93ZXJvZmZdID0gIiR7YmFzZV9zYmluZGlyfS9wb3dlcm9mZiIKLUFMVEVSTkFUSVZFX1BSSU9SSVRZW3Bvd2Vyb2ZmXSA/PSAiMzAwIgotCi1BTFRFUk5BVElWRV9UQVJHRVRbcnVubGV2ZWxdID0gIiR7YmFzZV9iaW5kaXJ9L3N5c3RlbWN0bCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtydW5sZXZlbF0gPSAiJHtiYXNlX3NiaW5kaXJ9L3J1bmxldmVsIgotQUxURVJOQVRJVkVfUFJJT1JJVFlbcnVubGV2ZWxdID89ICIzMDAiCi0KLXBrZ19wb3N0aW5zdF8ke1BOfSAoKSB7Ci0Jc2VkIC1lICcvXmhvc3RzOi9zL1xzKlw8bXlob3N0bmFtZVw+Ly8nIFwKLQkJLWUgJ3MvXCheaG9zdHM6LipcKVwoXDxmaWxlc1w+XClcKC4qXClcKFw8ZG5zXD5cKVwoLipcKS9cMVwyIG15aG9zdG5hbWUgXDNcNFw1LycgXAotCQktaSAkRCR7c3lzY29uZmRpcn0vbnNzd2l0Y2guY29uZgotfQotCi1wa2dfcHJlcm1fJHtQTn0gKCkgewotCXNlZCAtZSAnL15ob3N0czovcy9ccypcPG15aG9zdG5hbWVcPi8vJyBcCi0JCS1lICcvXmhvc3RzOi9zL1xzKm15aG9zdG5hbWUvLycgXAotCQktaSAkRCR7c3lzY29uZmRpcn0vbnNzd2l0Y2guY29uZgotfQotCi1QQUNLQUdFX1dSSVRFX0RFUFMgKz0gInFlbXUtbmF0aXZlIgotcGtnX3Bvc3RpbnN0X3VkZXYtaHdkYiAoKSB7Ci0JaWYgdGVzdCAtbiAiJEQiOyB0aGVuCi0JCSRJTlRFUkNFUFRfRElSL3Bvc3RpbnN0X2ludGVyY2VwdCB1cGRhdGVfdWRldl9od2RiICR7UEtHfSBtbHByZWZpeD0ke01MUFJFRklYfSBiaW5wcmVmaXg9JHtNTFBSRUZJWH0KLQllbHNlCi0JCXVkZXZhZG0gaHdkYiAtLXVwZGF0ZQotCWZpCi19Ci0KLXBrZ19wcmVybV91ZGV2LWh3ZGIgKCkgewotCXJtIC1mICREJHtzeXNjb25mZGlyfS91ZGV2L2h3ZGIuYmluCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZF8yNDEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZF8yNDEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmZiZmM4MQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kXzI0MS5iYgpAQCAtMCwwICsxLDY1MSBAQAorcmVxdWlyZSBzeXN0ZW1kLmluYworCitQUk9WSURFUyA9ICJ1ZGV2IgorCitQRSA9ICIxIgorCitERVBFTkRTID0gImludGx0b29sLW5hdGl2ZSBncGVyZi1uYXRpdmUgbGliY2FwIHV0aWwtbGludXgiCisKK1NFQ1RJT04gPSAiYmFzZS9zaGVsbCIKKworaW5oZXJpdCB1c2VyYWRkIHBrZ2NvbmZpZyBtZXNvbiBwZXJsbmF0aXZlIHVwZGF0ZS1yYy5kIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgcWVtdSBzeXN0ZW1kIGdldHRleHQgYmFzaC1jb21wbGV0aW9uIG1hbnBhZ2VzIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCisjIEFzIHRoaXMgcmVjaXBlIGJ1aWxkcyB1ZGV2LCByZXNwZWN0IHN5c3RlbWQgYmVpbmcgaW4gRElTVFJPX0ZFQVRVUkVTIHNvCisjIHRoYXQgd2UgZG9uJ3QgYnVpbGQgYm90aCB1ZGV2IGFuZCBzeXN0ZW1kIGluIHdvcmxkIGJ1aWxkcy4KK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJzeXN0ZW1kIgorCitTUkNfVVJJICs9ICJmaWxlOi8vdG91Y2hzY3JlZW4ucnVsZXMgXAorICAgICAgICAgICBmaWxlOi8vMDAtY3JlYXRlLXZvbGF0aWxlLmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vaW5pdCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWJpbmZtdC1Eb24tdC1pbnN0YWxsLWRlcGVuZGVuY3ktbGlua3MtYXQtaW5zdGFsbC10aW0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi11c2UtbG5yLXdyYXBwZXItaW5zdGVhZC1vZi1sb29raW5nLWZvci1yZWxhdGl2ZS1vcHRpLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtaW1wbG1lbnQtc3lzdGVtZC1zeXN2LWluc3RhbGwtZm9yLU9FLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDQtcnVsZXMtd2hpdGVsaXN0LWhkLWRldmljZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNS1ydWxlcy13YXRjaC1tZXRhZGF0YS1jaGFuZ2VzLWluLWlkZS1kZXZpY2VzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbWVzb24tZGVjbGFyZS12ZXJzaW9uLmgtYXMtZGVwLWZvci12YXJpb3VzLXRhcmdldHMtdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW1lc29uLWRlY2xhcmUtdmVyc2lvbi5oLWFzLWRlcGVuZGVuY3ktZm9yLXN5c3RlbWQucGF0Y2ggXAorICAgICAgICAgICAiCisKKyMgcGF0Y2hlcyBuZWVkZWQgYnkgbXVzbAorU1JDX1VSSSArPSAiJHtTUkNfVVJJX01VU0x9IgorU1JDX1VSSV9NVVNMID0gImZpbGU6Ly8wMDAxLVVzZS1nZXRlbnYtd2hlbi1zZWN1cmUtdmVyc2lvbnMtYXJlLW5vdC1hdmFpbGFibGUucGF0Y2ggXAorICAgICAgICAgICAgICAgZmlsZTovLzAwMDItZG9uLXQtdXNlLWdsaWJjLXNwZWNpZmljLXFzb3J0X3IucGF0Y2ggXAorICAgICAgICAgICAgICAgZmlsZTovLzAwMDMtbWlzc2luZ190eXBlLmgtYWRkLV9fY29tcGFyZV9mbl90LWFuZC1jb21wYXJpc29uX2ZuXy5wYXRjaCBcCisgICAgICAgICAgICAgICBmaWxlOi8vMDAwNC1hZGQtZmFsbGJhY2stcGFyc2VfcHJpbnRmX2Zvcm1hdC1pbXBsZW1lbnRhdGlvbi5wYXRjaCBcCisgICAgICAgICAgICAgICBmaWxlOi8vMDAwNS1zcmMtYmFzaWMtbWlzc2luZy5oLWNoZWNrLWZvci1taXNzaW5nLXN0cm5kdXBhLnBhdGNoIFwKKyAgICAgICAgICAgICAgIGZpbGU6Ly8wMDA2LUluY2x1ZGUtbmV0aW5ldC1pZl9ldGhlci5oLnBhdGNoIFwKKyAgICAgICAgICAgICAgIGZpbGU6Ly8wMDA3LWRvbi10LWZhaWwtaWYtR0xPQl9CUkFDRS1hbmQtR0xPQl9BTFRESVJGVU5DLWlzLW5vdC5wYXRjaCBcCisgICAgICAgICAgICAgICBmaWxlOi8vMDAwOC1hZGQtbWlzc2luZy1GVFdfLW1hY3Jvcy1mb3ItbXVzbC5wYXRjaCBcCisgICAgICAgICAgICAgICBmaWxlOi8vMDAwOS1zb2NrZXQtdXRpbC1kb24tdC1mYWlsLWlmLWxpYmMtZG9lc24tdC1zdXBwb3J0LUlETi5wYXRjaCBcCisgICAgICAgICAgICAgICBmaWxlOi8vMDAxMC1maXgtbWlzc2luZy1vZi1fX3JlZ2lzdGVyX2F0Zm9yay1mb3Itbm9uLWdsaWJjLWJ1aWxkLnBhdGNoIFwKKyAgICAgICAgICAgICAgIGZpbGU6Ly8wMDExLVVzZS11aW50bWF4X3QtZm9yLWhhbmRsaW5nLXJsaW1fdC5wYXRjaCBcCisgICAgICAgICAgICAgICBmaWxlOi8vMDAxMi1maXgtbWlzc2luZy1VTE9OR19MT05HX01BWC1kZWZpbml0aW9uLWluLWNhc2Utb2YtbXVzLnBhdGNoIFwKKyAgICAgICAgICAgICAgIGZpbGU6Ly8wMDEzLXRlc3QtaGV4ZGVjb2N0LmMtSW5jbHVkZS1taXNzaW5nLmgtZm9yLXN0cm5kdXBhLnBhdGNoIFwKKyAgICAgICAgICAgICAgIGZpbGU6Ly8wMDE0LXRlc3Qtc2l6ZW9mLmMtRGlzYWJsZS10ZXN0cy1mb3ItbWlzc2luZy10eXBlZGVmcy1pbi0ucGF0Y2ggXAorICAgICAgICAgICAgICAgZmlsZTovLzAwMTUtZG9uLXQtcGFzcy1BVF9TWU1MSU5LX05PRk9MTE9XLWZsYWctdG8tZmFjY2Vzc2F0LnBhdGNoIFwKKyAgICAgICAgICAgICAgIGZpbGU6Ly8wMDE2LURlZmluZS1nbGliYy1jb21wYXRpYmxlLWJhc2VuYW1lLWZvci1ub24tZ2xpYmMtc3lzdGUucGF0Y2ggXAorICAgICAgICAgICAgICAgZmlsZTovLzAwMTctRG8tbm90LWRpc2FibGUtYnVmZmVyaW5nLXdoZW4td3JpdGluZy10by1vb21fc2NvcmVfYS5wYXRjaCBcCisgICAgICAgICAgICAgICBmaWxlOi8vMDAxOC1kaXN0aW5ndWlzaC1YU0ktY29tcGxpYW50LXN0cmVycm9yX3ItZnJvbS1HTlUtc3BlY2lmLnBhdGNoIFwKKyAgICAgICAgICAgICAgIGZpbGU6Ly8wMDE5LUhpZGUtX19zdGFydF9CVVNfRVJST1JfTUFQLWFuZC1fX3N0b3BfQlVTX0VSUk9SX01BUC5wYXRjaCBcCisgICAgICAgICAgICAgICBmaWxlOi8vMDAyMC1taXNzaW5nX3R5cGUuaC1hZGQtX19jb21wYXJfZF9mbl90LWRlZmluaXRpb24ucGF0Y2ggXAorICAgICAgICAgICAgICAgZmlsZTovLzAwMjEtYXZvaWQtcmVkZWZpbml0aW9uLW9mLXByY3RsX21tX21hcC1zdHJ1Y3R1cmUucGF0Y2ggXAorICAgICAgICAgICAgICAgZmlsZTovLzAwMjItaW5jbHVkZS1zeXMtd2FpdC5oLXRvLWF2b2lkLWNvbXBpbGUtZmFpbHVyZS5wYXRjaCBcCisgICAgICAgICAgICAgICBmaWxlOi8vMDAyMy1zb2NrZXQtdXRpbC5oLWluY2x1ZGUtc3RyaW5nLmgucGF0Y2ggXAorICAgICAgICAgICAgICAgZmlsZTovLzAwMjQtdGVzdC1qc29uLmMtZGVmaW5lLU1fUElsLnBhdGNoIFwKKyAgICAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWRvLW5vdC1kaXNhYmxlLWJ1ZmZlci1pbi13cml0aW5nLWZpbGVzLnBhdGNoIFwKKyAgICAgICAgICAgICAgICIKKworUEFNX1BMVUdJTlMgPSAiIFwKKyAgICBwYW0tcGx1Z2luLXVuaXggXAorICAgIHBhbS1wbHVnaW4tbG9naW51aWQgXAorICAgIHBhbS1wbHVnaW4ta2V5aW5pdCBcCisiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIgXAorICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2VmaSBsZGNvbmZpZyBwYW0gc2VsaW51eCB1c3JtZXJnZSBwb2xraXQnLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnd2lmaScsICdyZmtpbGwnLCAnJywgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICd4a2Jjb21tb24nLCAnJywgZCl9IFwKKyAgICBhY2wgXAorICAgIGJhY2tsaWdodCBcCisgICAgYmluZm10IFwKKyAgICBmaXJzdGJvb3QgXAorICAgIGdzaGFkb3cgXAorICAgIGhpYmVybmF0ZSBcCisgICAgaG9zdG5hbWVkIFwKKyAgICBpbWEgXAorICAgIGttb2QgXAorICAgIGxvY2FsZWQgXAorICAgIGxvZ2luZCBcCisgICAgbWFjaGluZWQgXAorICAgIG15aG9zdG5hbWUgXAorICAgIG5ldHdvcmtkIFwKKyAgICBuc3MgXAorICAgIG5zcy1teW1hY2hpbmVzIFwKKyAgICBuc3MtcmVzb2x2ZSBcCisgICAgcXVvdGFjaGVjayBcCisgICAgcmFuZG9tc2VlZCBcCisgICAgcmVzb2x2ZWQgXAorICAgIHNtYWNrIFwKKyAgICBzeXN1c2VycyBcCisgICAgdGltZWRhdGVkIFwKKyAgICB0aW1lc3luY2QgXAorICAgIHV0bXAgXAorICAgIHZjb25zb2xlIFwKKyAgICB4eiBcCisiCisKK1BBQ0tBR0VDT05GSUdfcmVtb3ZlX2xpYmMtbXVzbCA9ICIgXAorICAgIGdzaGFkb3cgXAorICAgIGxvY2FsZWQgXAorICAgIG15aG9zdG5hbWUgXAorICAgIG5zcyBcCisgICAgbnNzLW15bWFjaGluZXMgXAorICAgIG5zcy1yZXNvbHZlIFwKKyAgICByZXNvbHZlZCBcCisgICAgc21hY2sgXAorICAgIHN5c3VzZXJzIFwKKyAgICB1dG1wIFwKKyIKKworIyBVc2UgdGhlIHVwc3RyZWFtIHN5c3RlbWQgc2VyaWFsLWdldHR5QC5zZXJ2aWNlIGFuZCByZWx5IG9uCisjIHN5c3RlbWQtZ2V0dHktZ2VuZXJhdG9yIGluc3RlYWQgb2YgdXNpbmcgdGhlIE9FLWNvcmUgc3BlY2lmaWMKKyMgc3lzdGVtZC1zZXJpYWxnZXR0eS5iYiAtIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQuCitQQUNLQUdFQ09ORklHW3NlcmlhbC1nZXR0eS1nZW5lcmF0b3JdID0gIiIKKworUEFDS0FHRUNPTkZJR1thY2xdID0gIi1EYWNsPXRydWUsLURhY2w9ZmFsc2UsYWNsIgorUEFDS0FHRUNPTkZJR1thdWRpdF0gPSAiLURhdWRpdD10cnVlLC1EYXVkaXQ9ZmFsc2UsYXVkaXQiCitQQUNLQUdFQ09ORklHW2JhY2tsaWdodF0gPSAiLURiYWNrbGlnaHQ9dHJ1ZSwtRGJhY2tsaWdodD1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbYmluZm10XSA9ICItRGJpbmZtdD10cnVlLC1EYmluZm10PWZhbHNlIgorUEFDS0FHRUNPTkZJR1tiemlwMl0gPSAiLURiemlwMj10cnVlLC1EYnppcDI9ZmFsc2UsYnppcDIiCitQQUNLQUdFQ09ORklHW2NvcmVkdW1wXSA9ICItRGNvcmVkdW1wPXRydWUsLURjb3JlZHVtcD1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbY3J5cHRzZXR1cF0gPSAiLURsaWJjcnlwdHNldHVwPXRydWUsLURsaWJjcnlwdHNldHVwPWZhbHNlLGNyeXB0c2V0dXAiCitQQUNLQUdFQ09ORklHW2RidXNdID0gIi1EZGJ1cz10cnVlLC1EZGJ1cz1mYWxzZSxkYnVzIgorUEFDS0FHRUNPTkZJR1tlZmldID0gIi1EZWZpPXRydWUsLURlZmk9ZmFsc2UiCitQQUNLQUdFQ09ORklHW2VsZnV0aWxzXSA9ICItRGVsZnV0aWxzPXRydWUsLURlbGZ1dGlscz1mYWxzZSxlbGZ1dGlscyIKK1BBQ0tBR0VDT05GSUdbZmlyc3Rib290XSA9ICItRGZpcnN0Ym9vdD10cnVlLC1EZmlyc3Rib290PWZhbHNlIgorIyBTaWduIHRoZSBqb3VybmFsIGZvciBhbnRpLXRhbXBlcmluZworUEFDS0FHRUNPTkZJR1tnY3J5cHRdID0gIi1EZ2NyeXB0PXRydWUsLURnY3J5cHQ9ZmFsc2UsbGliZ2NyeXB0IgorUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIi1EZ251dGxzPXRydWUsLURnbnV0bHM9ZmFsc2UsZ251dGxzIgorUEFDS0FHRUNPTkZJR1tnc2hhZG93XSA9ICItRGdzaGFkb3c9dHJ1ZSwtRGdzaGFkb3c9ZmFsc2UiCitQQUNLQUdFQ09ORklHW2hpYmVybmF0ZV0gPSAiLURoaWJlcm5hdGU9dHJ1ZSwtRGhpYmVybmF0ZT1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbaG9zdG5hbWVkXSA9ICItRGhvc3RuYW1lZD10cnVlLC1EaG9zdG5hbWVkPWZhbHNlIgorUEFDS0FHRUNPTkZJR1tpbWFdID0gIi1EaW1hPXRydWUsLURpbWE9ZmFsc2UiCisjIGltcG9ydGQgcmVxdWlyZXMgY3VybC94ei96bGliL2J6aXAyL2djcnlwdAorUEFDS0FHRUNPTkZJR1tpbXBvcnRkXSA9ICItRGltcG9ydGQ9dHJ1ZSwtRGltcG9ydGQ9ZmFsc2UiCisjIFVwZGF0ZSBOQVQgZmlyZXdhbGwgcnVsZXMKK1BBQ0tBR0VDT05GSUdbaXB0Y10gPSAiLURsaWJpcHRjPXRydWUsLURsaWJpcHRjPWZhbHNlLGlwdGFibGVzIgorUEFDS0FHRUNPTkZJR1tqb3VybmFsLXVwbG9hZF0gPSAiLURsaWJjdXJsPXRydWUsLURsaWJjdXJsPWZhbHNlLGN1cmwiCitQQUNLQUdFQ09ORklHW2ttb2RdID0gIi1Ea21vZD10cnVlLC1Ea21vZD1mYWxzZSxrbW9kIgorUEFDS0FHRUNPTkZJR1tsZGNvbmZpZ10gPSAiLURsZGNvbmZpZz10cnVlLC1EbGRjb25maWc9ZmFsc2UiCitQQUNLQUdFQ09ORklHW2xpYmlkbl0gPSAiLURsaWJpZG49dHJ1ZSwtRGxpYmlkbj1mYWxzZSxsaWJpZG4iCitQQUNLQUdFQ09ORklHW2xvY2FsZWRdID0gIi1EbG9jYWxlZD10cnVlLC1EbG9jYWxlZD1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbbG9naW5kXSA9ICItRGxvZ2luZD10cnVlLC1EbG9naW5kPWZhbHNlIgorUEFDS0FHRUNPTkZJR1tsejRdID0gIi1EbHo0PXRydWUsLURsejQ9ZmFsc2UsbHo0IgorUEFDS0FHRUNPTkZJR1ttYWNoaW5lZF0gPSAiLURtYWNoaW5lZD10cnVlLC1EbWFjaGluZWQ9ZmFsc2UiCitQQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICItRG1hbj10cnVlLC1EbWFuPWZhbHNlLGxpYnhzbHQtbmF0aXZlIHhtbHRvLW5hdGl2ZSBkb2Nib29rLXhtbC1kdGQ0LW5hdGl2ZSBkb2Nib29rLXhzbC1zdHlsZXNoZWV0cy1uYXRpdmUiCitQQUNLQUdFQ09ORklHW21pY3JvaHR0cGRdID0gIi1EbWljcm9odHRwZD10cnVlLC1EbWljcm9odHRwZD1mYWxzZSxsaWJtaWNyb2h0dHBkIgorUEFDS0FHRUNPTkZJR1tteWhvc3RuYW1lXSA9ICItRG5zcy1teWhvc3RuYW1lPXRydWUsLURuc3MtbXlob3N0bmFtZT1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbbmV0d29ya2RdID0gIi1EbmV0d29ya2Q9dHJ1ZSwtRG5ldHdvcmtkPWZhbHNlIgorUEFDS0FHRUNPTkZJR1tuc3NdID0gIi1EbnNzLXN5c3RlbWQ9dHJ1ZSwtRG5zcy1zeXN0ZW1kPWZhbHNlIgorUEFDS0FHRUNPTkZJR1tuc3MtbXltYWNoaW5lc10gPSAiLURuc3MtbXltYWNoaW5lcz10cnVlLC1EbnNzLW15bWFjaGluZXM9ZmFsc2UiCitQQUNLQUdFQ09ORklHW25zcy1yZXNvbHZlXSA9ICItRG5zcy1yZXNvbHZlPXRydWUsLURuc3MtcmVzb2x2ZT1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLURvcGVuc3NsPXRydWUsLURvcGVuc3NsPWZhbHNlLG9wZW5zc2wiCitQQUNLQUdFQ09ORklHW3BhbV0gPSAiLURwYW09dHJ1ZSwtRHBhbT1mYWxzZSxsaWJwYW0sJHtQQU1fUExVR0lOU30iCitQQUNLQUdFQ09ORklHW3BjcmUyXSA9ICItRHBjcmUyPXRydWUsLURwY3JlMj1mYWxzZSxsaWJwY3JlMiIKK1BBQ0tBR0VDT05GSUdbcG9sa2l0XSA9ICItRHBvbGtpdD10cnVlLC1EcG9sa2l0PWZhbHNlIgorUEFDS0FHRUNPTkZJR1twb3J0YWJsZWRdID0gIi1EcG9ydGFibGVkPXRydWUsLURwb3J0YWJsZWQ9ZmFsc2UiCitQQUNLQUdFQ09ORklHW3FyZW5jb2RlXSA9ICItRHFyZW5jb2RlPXRydWUsLURxcmVuY29kZT1mYWxzZSxxcmVuY29kZSIKK1BBQ0tBR0VDT05GSUdbcXVvdGFjaGVja10gPSAiLURxdW90YWNoZWNrPXRydWUsLURxdW90YWNoZWNrPWZhbHNlIgorUEFDS0FHRUNPTkZJR1tyYW5kb21zZWVkXSA9ICItRHJhbmRvbXNlZWQ9dHJ1ZSwtRHJhbmRvbXNlZWQ9ZmFsc2UiCitQQUNLQUdFQ09ORklHW3Jlc29sdmVkXSA9ICItRHJlc29sdmU9dHJ1ZSwtRHJlc29sdmU9ZmFsc2UiCitQQUNLQUdFQ09ORklHW3Jma2lsbF0gPSAiLURyZmtpbGw9dHJ1ZSwtRHJma2lsbD1mYWxzZSIKKyMgbGlic2VjY29tcCBpcyBmb3VuZCBpbiBtZXRhLXNlY3VyaXR5CitQQUNLQUdFQ09ORklHW3NlY2NvbXBdID0gIi1Ec2VjY29tcD10cnVlLC1Ec2VjY29tcD1mYWxzZSxsaWJzZWNjb21wIgorUEFDS0FHRUNPTkZJR1tzZWxpbnV4XSA9ICItRHNlbGludXg9dHJ1ZSwtRHNlbGludXg9ZmFsc2UsbGlic2VsaW51eCxpbml0c2NyaXB0cy1zdXNoZWxsIgorUEFDS0FHRUNPTkZJR1tzbWFja10gPSAiLURzbWFjaz10cnVlLC1Ec21hY2s9ZmFsc2UiCitQQUNLQUdFQ09ORklHW3N5c3VzZXJzXSA9ICItRHN5c3VzZXJzPXRydWUsLURzeXN1c2Vycz1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbdGltZS1lcG9jaF0gPSAiLUR0aW1lLWVwb2NoPTAsLCIKK1BBQ0tBR0VDT05GSUdbdGltZWRhdGVkXSA9ICItRHRpbWVkYXRlZD10cnVlLC1EdGltZWRhdGVkPWZhbHNlIgorUEFDS0FHRUNPTkZJR1t0aW1lc3luY2RdID0gIi1EdGltZXN5bmNkPXRydWUsLUR0aW1lc3luY2Q9ZmFsc2UiCitQQUNLQUdFQ09ORklHW3Vzcm1lcmdlXSA9ICItRHNwbGl0LXVzcj1mYWxzZSwtRHNwbGl0LXVzcj10cnVlIgorUEFDS0FHRUNPTkZJR1tzYmlubWVyZ2VdID0gIi1Ec3BsaXQtYmluPWZhbHNlLC1Ec3BsaXQtYmluPXRydWUiCitQQUNLQUdFQ09ORklHW3V0bXBdID0gIi1EdXRtcD10cnVlLC1EdXRtcD1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbdmFsZ3JpbmRdID0gIi1EVkFMR1JJTkQ9MSwsdmFsZ3JpbmQiCitQQUNLQUdFQ09ORklHW3Zjb25zb2xlXSA9ICItRHZjb25zb2xlPXRydWUsLUR2Y29uc29sZT1mYWxzZSwsJHtQTn0tdmNvbnNvbGUtc2V0dXAiCisjIFZlcmlmeSBrZXltYXBzIG9uIGxvY2FsZSBjaGFuZ2UKK1BBQ0tBR0VDT05GSUdbeGtiY29tbW9uXSA9ICItRHhrYmNvbW1vbj10cnVlLC1EeGtiY29tbW9uPWZhbHNlLGxpYnhrYmNvbW1vbiIKK1BBQ0tBR0VDT05GSUdbeHpdID0gIi1EeHo9dHJ1ZSwtRHh6PWZhbHNlLHh6IgorUEFDS0FHRUNPTkZJR1t6bGliXSA9ICItRHpsaWI9dHJ1ZSwtRHpsaWI9ZmFsc2UsemxpYiIKKworIyBIZWxwZXIgdmFyaWFibGVzIHRvIGNsYXJpZnkgbG9jYXRpb25zLiAgVGhpcyBtaXJyb3JzIHRoZSBsb2dpYyBpbiBzeXN0ZW1kJ3MKKyMgYnVpbGQgc3lzdGVtLgorcm9vdHByZWZpeCA/PSAiJHtyb290X3ByZWZpeH0iCityb290bGliZGlyID89ICIke2Jhc2VfbGliZGlyfSIKK3Jvb3RsaWJleGVjZGlyID0gIiR7cm9vdHByZWZpeH0vbGliIgorCisjIFRoaXMgbGlua3MgdWRldiBzdGF0aWNhbGx5IHdpdGggc3lzdGVtZCBoZWxwZXIgbGlicmFyeS4KKyMgT3RoZXJ3aXNlIHVkZXYgcGFja2FnZSB3b3VsZCBkZXBlbmQgb24gc3lzdGVtZCBwYWNrYWdlICh3aGljaCBoYXMgdGhlIG5lZWRlZCBzaGFyZWQgbGlicmFyeSksCisjIGFuZCBhbHdheXMgcHVsbCBpdCBpbnRvIGltYWdlcy4KK0VYVFJBX09FTUVTT04gKz0gIi1EbGluay11ZGV2LXNoYXJlZD1mYWxzZSIKKworRVhUUkFfT0VNRVNPTiArPSAiLURub2JvZHktdXNlcj1ub2JvZHkgXAorICAgICAgICAgICAgICAgICAgLURub2JvZHktZ3JvdXA9bm9ib2R5IFwKKyAgICAgICAgICAgICAgICAgIC1Ecm9vdGxpYmRpcj0ke3Jvb3RsaWJkaXJ9IFwKKyAgICAgICAgICAgICAgICAgIC1Ecm9vdHByZWZpeD0ke3Jvb3RwcmVmaXh9IFwKKyAgICAgICAgICAgICAgICAgIC1Ec3lzdnJjbmQtcGF0aD0ke3N5c2NvbmZkaXJ9IFwKKyAgICAgICAgICAgICAgICAgICIKKworIyBIYXJkY29kZSB0YXJnZXQgYmluYXJ5IHBhdGhzIHRvIGF2b2lkIHVzaW5nIHBhdGhzIGZyb20gc3lzcm9vdAorRVhUUkFfT0VNRVNPTiArPSAiLURrZXhlYy1wYXRoPSR7c2JpbmRpcn0va2V4ZWMgXAorICAgICAgICAgICAgICAgICAgLURrbW9kLXBhdGg9JHtiYXNlX2JpbmRpcn0va21vZCBcCisgICAgICAgICAgICAgICAgICAtRG1vdW50LXBhdGg9JHtiYXNlX2JpbmRpcn0vbW91bnQgXAorICAgICAgICAgICAgICAgICAgLURxdW90YWNoZWNrLXBhdGg9JHtzYmluZGlyfS9xdW90YWNoZWNrIFwKKyAgICAgICAgICAgICAgICAgIC1EcXVvdGFvbi1wYXRoPSR7c2JpbmRpcn0vcXVvdGFvbiBcCisgICAgICAgICAgICAgICAgICAtRHN1bG9naW4tcGF0aD0ke2Jhc2Vfc2JpbmRpcn0vc3Vsb2dpbiBcCisgICAgICAgICAgICAgICAgICAtRHVtb3VudC1wYXRoPSR7YmFzZV9iaW5kaXJ9L3Vtb3VudCIKKworZG9faW5zdGFsbCgpIHsKKwltZXNvbl9kb19pbnN0YWxsCisJaW5zdGFsbCAtZCAke0R9LyR7YmFzZV9zYmluZGlyfQorCWlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3NlcmlhbC1nZXR0eS1nZW5lcmF0b3InLCAnZmFsc2UnLCAndHJ1ZScsIGQpfTsgdGhlbgorCQkjIFByb3ZpZGVkIGJ5IGEgc2VwYXJhdGUgcmVjaXBlCisJCXJtICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3NlcmlhbC1nZXR0eSogLWYKKwlmaQorCisJIyBQcm92aWRlIHN1cHBvcnQgZm9yIGluaXRyYW1mcworCVsgISAtZSAke0R9L2luaXQgXSAmJiBsbiAtcyAke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQgJHtEfS9pbml0CisJWyAhIC1lICR7RH0vJHtiYXNlX3NiaW5kaXJ9L3VkZXZkIF0gJiYgbG4gLXMgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLXVkZXZkICR7RH0vJHtiYXNlX3NiaW5kaXJ9L3VkZXZkCisKKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3VkZXYvcnVsZXMuZC8KKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQKKwlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS8qLnJ1bGVzICR7RH0ke3N5c2NvbmZkaXJ9L3VkZXYvcnVsZXMuZC8KKwlpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnCisJaW5zdGFsbCAtbSAwNjQ0ICR7Qn0vc3JjL3VkZXYvdWRldi5wYyAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy8KKworCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9LzAwLWNyZWF0ZS12b2xhdGlsZS5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvCisKKwlpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdmluaXQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgorCQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorCQlpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9zeXN0ZW1kLXVkZXZkCisJCXNlZCAtaSBzJUBVREVWREAlJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLXVkZXZkJSAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvc3lzdGVtZC11ZGV2ZAorCWZpCisKKwljaG93biByb290OnN5c3RlbWQtam91cm5hbCAke0R9LyR7bG9jYWxzdGF0ZWRpcn0vbG9nL2pvdXJuYWwKKworCSMgRGVsZXRlIGpvdXJuYWwgUkVBRE1FLCBhcyBsb2cgY2FuIGJlIHN5bWxpbmtlZCBpbnNpZGUgdm9sYXRpbGUuCisJcm0gLWYgJHtEfS8ke2xvY2Fsc3RhdGVkaXJ9L2xvZy9SRUFETUUKKworCSMgam91cm5hbC1yZW1vdGUgY3JlYXRlcyB0aGlzIGF0IHN0YXJ0CisJcm0gLXJmICR7RH0vJHtsb2NhbHN0YXRlZGlyfS9sb2cvam91cm5hbC9yZW1vdGUKKworCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vZ3JhcGhpY2FsLnRhcmdldC53YW50cworCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vbXVsdGktdXNlci50YXJnZXQud2FudHMKKwlpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3Bvd2Vyb2ZmLnRhcmdldC53YW50cworCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcmVib290LnRhcmdldC53YW50cworCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcmVzY3VlLnRhcmdldC53YW50cworCisJIyBDcmVhdGUgc3ltbGlua3MgZm9yIHN5c3RlbWQtdXBkYXRlLXV0bXAtcnVubGV2ZWwuc2VydmljZQorCWlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3V0bXAnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorCQlsbiAtc2YgLi4vc3lzdGVtZC11cGRhdGUtdXRtcC1ydW5sZXZlbC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2dyYXBoaWNhbC50YXJnZXQud2FudHMvc3lzdGVtZC11cGRhdGUtdXRtcC1ydW5sZXZlbC5zZXJ2aWNlCisJCWxuIC1zZiAuLi9zeXN0ZW1kLXVwZGF0ZS11dG1wLXJ1bmxldmVsLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vbXVsdGktdXNlci50YXJnZXQud2FudHMvc3lzdGVtZC11cGRhdGUtdXRtcC1ydW5sZXZlbC5zZXJ2aWNlCisJCWxuIC1zZiAuLi9zeXN0ZW1kLXVwZGF0ZS11dG1wLXJ1bmxldmVsLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcG93ZXJvZmYudGFyZ2V0LndhbnRzL3N5c3RlbWQtdXBkYXRlLXV0bXAtcnVubGV2ZWwuc2VydmljZQorCQlsbiAtc2YgLi4vc3lzdGVtZC11cGRhdGUtdXRtcC1ydW5sZXZlbC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3JlYm9vdC50YXJnZXQud2FudHMvc3lzdGVtZC11cGRhdGUtdXRtcC1ydW5sZXZlbC5zZXJ2aWNlCisJCWxuIC1zZiAuLi9zeXN0ZW1kLXVwZGF0ZS11dG1wLXJ1bmxldmVsLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcmVzY3VlLnRhcmdldC53YW50cy9zeXN0ZW1kLXVwZGF0ZS11dG1wLXJ1bmxldmVsLnNlcnZpY2UKKwlmaQorCisJIyB0aGlzIGZpbGUgaXMgbmVlZGVkIHRvIGV4aXN0IGlmIG5ldHdvcmtkIGlzIGRpc2FibGVkIGJ1dCB0aW1lc3luY2QgaXMgc3RpbGwgaW4gdXNlIHNpbmNlIHRpbWVzeW5jZCBjaGVja3MgaXQKKwkjIGZvciBleGlzdGVuY2UgZWxzZSBpdCBmYWlscworCWlmIFsgLXMgJHtEfSR7ZXhlY19wcmVmaXh9L2xpYi90bXBmaWxlcy5kL3N5c3RlbWQuY29uZiBdOyB0aGVuCisJCSR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ25ldHdvcmtkJywgJzonLCAnc2VkIC1pIC1lICJcJGFkIC9ydW4vc3lzdGVtZC9uZXRpZi9saW5rcyAwNzU1IHJvb3Qgcm9vdCAtIiAke0R9JHtleGVjX3ByZWZpeH0vbGliL3RtcGZpbGVzLmQvc3lzdGVtZC5jb25mJywgZCl9CisJZmkKKwlpZiAhICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3Jlc29sdmVkJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKwkJZWNobyAnTCEgJHtzeXNjb25mZGlyfS9yZXNvbHYuY29uZiAtIC0gLSAtIC4uL3J1bi9zeXN0ZW1kL3Jlc29sdmUvcmVzb2x2LmNvbmYnID4+JHtEfSR7ZXhlY19wcmVmaXh9L2xpYi90bXBmaWxlcy5kL2V0Yy5jb25mCisJCWVjaG8gJ2QgL3J1bi9zeXN0ZW1kL3Jlc29sdmUgMDc1NSByb290IHJvb3QgLScgPj4ke0R9JHtleGVjX3ByZWZpeH0vbGliL3RtcGZpbGVzLmQvc3lzdGVtZC5jb25mCisJCWVjaG8gJ2YgL3J1bi9zeXN0ZW1kL3Jlc29sdmUvcmVzb2x2LmNvbmYgMDY0NCByb290IHJvb3QnID4+JHtEfSR7ZXhlY19wcmVmaXh9L2xpYi90bXBmaWxlcy5kL3N5c3RlbWQuY29uZgorCQlsbiAtcyAuLi9ydW4vc3lzdGVtZC9yZXNvbHZlL3Jlc29sdi5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L3Jlc29sdi1jb25mLnN5c3RlbWQKKwllbHNlCisJCXNlZCAtaSAtZSAicyVeTCEgL2V0Yy9yZXNvbHYuY29uZi4qJCVMISAvZXRjL3Jlc29sdi5jb25mIC0gLSAtIC0gLi4vcnVuL3N5c3RlbWQvcmVzb2x2ZS9yZXNvbHYuY29uZiVnIiAke0R9JHtleGVjX3ByZWZpeH0vbGliL3RtcGZpbGVzLmQvZXRjLmNvbmYKKwkJbG4gLXMgLi4vcnVuL3N5c3RlbWQvcmVzb2x2ZS9yZXNvbHYuY29uZiAke0R9JHtzeXNjb25mZGlyfS9yZXNvbHYtY29uZi5zeXN0ZW1kCisJZmkKKwlpbnN0YWxsIC1EbSAwNzU1ICR7U30vc3JjL3N5c3RlbWN0bC9zeXN0ZW1kLXN5c3YtaW5zdGFsbC5TS0VMRVRPTiAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbWQtc3lzdi1pbnN0YWxsCisKKwkjIElmIHBvbGtpdCBpcyBzZXR1cCBmaXh1cCBwZXJtaXNzaW9ucyBhbmQgb3duZXJzaGlwCisJaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncG9sa2l0JywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKwkJaWYgWyAtZCAke0R9JHtkYXRhZGlyfS9wb2xraXQtMS9ydWxlcy5kIF07IHRoZW4KKwkJCWNobW9kIDcwMCAke0R9JHtkYXRhZGlyfS9wb2xraXQtMS9ydWxlcy5kCisJCQljaG93biBwb2xraXRkOnJvb3QgJHtEfSR7ZGF0YWRpcn0vcG9sa2l0LTEvcnVsZXMuZAorCQlmaQorCWZpCisKKwkjIGNvbmYgZmlsZXMgYXJlIGhhbmRsZWQgYnkgc3lzdGVtZC1jb25mCisJcm0gLWYgJHtEfSR7c3lzY29uZmRpcn0vbWFjaGluZS1pZAorCXJtIC1mICR7RH0ke3N5c2NvbmZkaXJ9L3N5c3RlbWQvY29yZWR1bXAuY29uZgorCXJtIC1mICR7RH0ke3N5c2NvbmZkaXJ9L3N5c3RlbWQvam91cm5hbGQuY29uZgorCXJtIC1mICR7RH0ke3N5c2NvbmZkaXJ9L3N5c3RlbWQvbG9naW5kLmNvbmYKKwlybSAtZiAke0R9JHtzeXNjb25mZGlyfS9zeXN0ZW1kL3N5c3RlbS5jb25mCisJcm0gLWYgJHtEfSR7c3lzY29uZmRpcn0vc3lzdGVtZC91c2VyLmNvbmYKKworCSMgZHVwbGljYXRlIHVkZXZhZG0gZm9yIHBvc3RpbnN0IHNjcmlwdAorCWluc3RhbGwgLWQgJHtEfSR7bGliZXhlY2Rpcn0KKwlsbiAke0R9JHtiYXNlX2JpbmRpcn0vdWRldmFkbSAke0R9JHtsaWJleGVjZGlyfS8ke01MUFJFRklYfXVkZXZhZG0KK30KKworCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKXsKKyAgICBzeXN0ZW1kbGliZGlyID0gZC5nZXRWYXIoInJvb3RsaWJkaXIiKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHN5c3RlbWRsaWJkaXIsICdebGliKC4qKVwuc29cLionLCAnbGliJXMnLCAnU3lzdGVtZCAlcyBsaWJyYXJ5JywgZXh0cmFfZGVwZW5kcz0nJywgYWxsb3dfbGlua3M9VHJ1ZSkKK30KK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl5saWIodWRldnxzeXN0ZW1kfG5zcykuKiIKKworUEFDS0FHRVMgPSsgIlwKKyAgICAke1BOfS1ndWkgXAorICAgICR7UE59LXZjb25zb2xlLXNldHVwIFwKKyAgICAke1BOfS1pbml0cmFtZnMgXAorICAgICR7UE59LWFuYWx5emUgXAorICAgICR7UE59LWtlcm5lbC1pbnN0YWxsIFwKKyAgICAke1BOfS1ycG0tbWFjcm9zIFwKKyAgICAke1BOfS1iaW5mbXQgXAorICAgICR7UE59LXpzaC1jb21wbGV0aW9uIFwKKyAgICAke1BOfS14b3JnLXhpbml0cmMgXAorICAgICR7UE59LWNvbnRhaW5lciBcCisgICAgJHtQTn0tam91cm5hbC1nYXRld2F5ZCBcCisgICAgJHtQTn0tam91cm5hbC11cGxvYWQgXAorICAgICR7UE59LWpvdXJuYWwtcmVtb3RlIFwKKyAgICAke1BOfS1leHRyYS11dGlscyBcCisiCisKK1NVTU1BUllfJHtQTn0tY29udGFpbmVyID0gIlRvb2xzIGZvciBjb250YWluZXJzIGFuZCBWTXMiCitERVNDUklQVElPTl8ke1BOfS1jb250YWluZXIgPSAiU3lzdGVtZCB0b29scyB0byBzcGF3biBhbmQgbWFuYWdlIGNvbnRhaW5lcnMgYW5kIHZpcnR1YWwgbWFjaGluZXMuIgorCitTVU1NQVJZXyR7UE59LWpvdXJuYWwtZ2F0ZXdheWQgPSAiSFRUUCBzZXJ2ZXIgZm9yIGpvdXJuYWwgZXZlbnRzIgorREVTQ1JJUFRJT05fJHtQTn0tam91cm5hbC1nYXRld2F5ZCA9ICJzeXN0ZW1kLWpvdXJuYWwtZ2F0ZXdheWQgc2VydmVzIGpvdXJuYWwgZXZlbnRzIG92ZXIgdGhlIG5ldHdvcmsuIENsaWVudHMgbXVzdCBjb25uZWN0IHVzaW5nIEhUVFAuIFRoZSBzZXJ2ZXIgbGlzdGVucyBvbiBwb3J0IDE5NTMxIGJ5IGRlZmF1bHQuIgorCitTVU1NQVJZXyR7UE59LWpvdXJuYWwtdXBsb2FkID0gIlNlbmQgam91cm5hbCBtZXNzYWdlcyBvdmVyIHRoZSBuZXR3b3JrIgorREVTQ1JJUFRJT05fJHtQTn0tam91cm5hbC11cGxvYWQgPSAic3lzdGVtZC1qb3VybmFsLXVwbG9hZCB1cGxvYWRzIGpvdXJuYWwgZW50cmllcyB0byBhIHNwZWNpZmllZCBVUkwuIgorCitTVU1NQVJZXyR7UE59LWpvdXJuYWwtcmVtb3RlID0gIlJlY2VpdmUgam91cm5hbCBtZXNzYWdlcyBvdmVyIHRoZSBuZXR3b3JrIgorREVTQ1JJUFRJT05fJHtQTn0tam91cm5hbC1yZW1vdGUgPSAic3lzdGVtZC1qb3VybmFsLXJlbW90ZSBpcyBhIGNvbW1hbmQgdG8gcmVjZWl2ZSBzZXJpYWxpemVkIGpvdXJuYWwgZXZlbnRzIGFuZCBzdG9yZSB0aGVtIHRvIGpvdXJuYWwgZmlsZXMuIgorCitTWVNURU1EX1BBQ0tBR0VTID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2JpbmZtdCcsICcke1BOfS1iaW5mbXQnLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnbWljcm9odHRwZCcsICcke1BOfS1qb3VybmFsLWdhdGV3YXlkJywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ21pY3JvaHR0cGQnLCAnJHtQTn0tam91cm5hbC1yZW1vdGUnLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnam91cm5hbC11cGxvYWQnLCAnJHtQTn0tam91cm5hbC11cGxvYWQnLCAnJywgZCl9IFwKKyIKK1NZU1RFTURfU0VSVklDRV8ke1BOfS1iaW5mbXQgPSAic3lzdGVtZC1iaW5mbXQuc2VydmljZSIKKworVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSAke1BOfS1leHRyYS11dGlscyBcCisgICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ21pY3JvaHR0cGQnLCAnJHtQTn0tam91cm5hbC1nYXRld2F5JywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ21pY3JvaHR0cGQnLCAnJHtQTn0tam91cm5hbC1yZW1vdGUnLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnam91cm5hbC11cGxvYWQnLCAnJHtQTn0tam91cm5hbC11cGxvYWQnLCAnJywgZCl9IFwKKyIKK0dST1VQQUREX1BBUkFNXyR7UE59ID0gIi1yIHN5c3RlbWQtam91cm5hbCIKK1VTRVJBRERfUEFSQU1fJHtQTn0gKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2NvcmVkdW1wJywgJy0tc3lzdGVtIC1kIC8gLU0gLS1zaGVsbCAvYmluL25vbG9naW4gc3lzdGVtZC1jb3JlZHVtcDsnLCAnJywgZCl9IgorVVNFUkFERF9QQVJBTV8ke1BOfSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnbmV0d29ya2QnLCAnLS1zeXN0ZW0gLWQgLyAtTSAtLXNoZWxsIC9iaW4vbm9sb2dpbiBzeXN0ZW1kLW5ldHdvcms7JywgJycsIGQpfSIKK1VTRVJBRERfUEFSQU1fJHtQTn0gKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3BvbGtpdCcsICctLXN5c3RlbSAtLW5vLWNyZWF0ZS1ob21lIC0tdXNlci1ncm91cCAtLWhvbWUtZGlyICR7c3lzY29uZmRpcn0vcG9sa2l0LTEgcG9sa2l0ZDsnLCAnJywgZCl9IgorVVNFUkFERF9QQVJBTV8ke1BOfSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncmVzb2x2ZWQnLCAnLS1zeXN0ZW0gLWQgLyAtTSAtLXNoZWxsIC9iaW4vbm9sb2dpbiBzeXN0ZW1kLXJlc29sdmU7JywgJycsIGQpfSIKK1VTRVJBRERfUEFSQU1fJHtQTn0gKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3RpbWVzeW5jZCcsICctLXN5c3RlbSAtZCAvIC1NIC0tc2hlbGwgL2Jpbi9ub2xvZ2luIHN5c3RlbWQtdGltZXN5bmM7JywgJycsIGQpfSIKK1VTRVJBRERfUEFSQU1fJHtQTn0tZXh0cmEtdXRpbHMgPSAiLS1zeXN0ZW0gLWQgLyAtTSAtLXNoZWxsIC9iaW4vbm9sb2dpbiBzeXN0ZW1kLWJ1cy1wcm94eSIKK1VTRVJBRERfUEFSQU1fJHtQTn0tam91cm5hbC1nYXRld2F5ID0gIi0tc3lzdGVtIC1kIC8gLU0gLS1zaGVsbCAvYmluL25vbG9naW4gc3lzdGVtZC1qb3VybmFsLWdhdGV3YXkiCitVU0VSQUREX1BBUkFNXyR7UE59LWpvdXJuYWwtcmVtb3RlID0gIi0tc3lzdGVtIC1kIC8gLU0gLS1zaGVsbCAvYmluL25vbG9naW4gc3lzdGVtZC1qb3VybmFsLXJlbW90ZSIKK1VTRVJBRERfUEFSQU1fJHtQTn0tam91cm5hbC11cGxvYWQgPSAiLS1zeXN0ZW0gLWQgLyAtTSAtLXNoZWxsIC9iaW4vbm9sb2dpbiBzeXN0ZW1kLWpvdXJuYWwtdXBsb2FkIgorCitGSUxFU18ke1BOfS1hbmFseXplID0gIiR7YmluZGlyfS9zeXN0ZW1kLWFuYWx5emUiCisKK0ZJTEVTXyR7UE59LWluaXRyYW1mcyA9ICIvaW5pdCIKK1JERVBFTkRTXyR7UE59LWluaXRyYW1mcyA9ICIke1BOfSIKKworRklMRVNfJHtQTn0tZ3VpID0gIiR7YmluZGlyfS9zeXN0ZW1hZG0iCisKK0ZJTEVTXyR7UE59LXZjb25zb2xlLXNldHVwID0gIiR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC12Y29uc29sZS1zZXR1cCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c3RlbWQtdmNvbnNvbGUtc2V0dXAuc2VydmljZSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c2luaXQudGFyZ2V0LndhbnRzL3N5c3RlbWQtdmNvbnNvbGUtc2V0dXAuc2VydmljZSIKKworUkRFUEVORFNfJHtQTn0ta2VybmVsLWluc3RhbGwgKz0gImJhc2giCitGSUxFU18ke1BOfS1rZXJuZWwtaW5zdGFsbCA9ICIke2JpbmRpcn0va2VybmVsLWluc3RhbGwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9rZXJuZWwvIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7ZXhlY19wcmVmaXh9L2xpYi9rZXJuZWwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCitGSUxFU18ke1BOfS1ycG0tbWFjcm9zID0gIiR7ZXhlY19wcmVmaXh9L2xpYi9ycG0gXAorICAgICAgICAgICAgICAgICAgICAgICAgICIKKworRklMRVNfJHtQTn0teG9yZy14aW5pdHJjID0gIiR7c3lzY29uZmRpcn0vWDExL3hpbml0L3hpbml0cmMuZC8qIgorCitGSUxFU18ke1BOfS16c2gtY29tcGxldGlvbiA9ICIke2RhdGFkaXJ9L3pzaC9zaXRlLWZ1bmN0aW9ucyIKKworRklMRVNfJHtQTn0tYmluZm10ID0gIiR7c3lzY29uZmRpcn0vYmluZm10LmQvIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2V4ZWNfcHJlZml4fS9saWIvYmluZm10LmQgXAorICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1iaW5mbXQgXAorICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcHJvYy1zeXMtZnMtYmluZm10X21pc2MuKiBcCisgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWJpbmZtdC5zZXJ2aWNlIgorUlJFQ09NTUVORFNfJHtQTn0tYmluZm10ID0gImtlcm5lbC1tb2R1bGUtYmluZm10LW1pc2MiCisKK1JSRUNPTU1FTkRTXyR7UE59LXZjb25zb2xlLXNldHVwID0gImtiZCBrYmQtY29uc29sZWZvbnRzIGtiZC1rZXltYXBzIgorCisKK0ZJTEVTXyR7UE59LWpvdXJuYWwtZ2F0ZXdheWQgPSAiJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLWpvdXJuYWwtZ2F0ZXdheWQgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3N5c3RlbWQtam91cm5hbC1nYXRld2F5ZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9zeXN0ZW1kLWpvdXJuYWwtZ2F0ZXdheWQuc29ja2V0IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9zb2NrZXRzLnRhcmdldC53YW50cy9zeXN0ZW1kLWpvdXJuYWwtZ2F0ZXdheWQuc29ja2V0IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9zeXN0ZW1kL2dhdGV3YXlkL2Jyb3dzZS5odG1sIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0tam91cm5hbC1nYXRld2F5ZCA9ICJzeXN0ZW1kLWpvdXJuYWwtZ2F0ZXdheWQuc29ja2V0IgorCitGSUxFU18ke1BOfS1qb3VybmFsLXVwbG9hZCA9ICIke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQtam91cm5hbC11cGxvYWQgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9zeXN0ZW1kLWpvdXJuYWwtdXBsb2FkLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9zeXN0ZW1kL2pvdXJuYWwtdXBsb2FkLmNvbmYgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0tam91cm5hbC11cGxvYWQgPSAic3lzdGVtZC1qb3VybmFsLXVwbG9hZC5zZXJ2aWNlIgorCitGSUxFU18ke1BOfS1qb3VybmFsLXJlbW90ZSA9ICIke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQtam91cm5hbC1yZW1vdGUgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9zeXN0ZW1kL2pvdXJuYWwtcmVtb3RlLmNvbmYgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9zeXN0ZW1kLWpvdXJuYWwtcmVtb3RlLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9zeXN0ZW1kLWpvdXJuYWwtcmVtb3RlLnNvY2tldCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKK1NZU1RFTURfU0VSVklDRV8ke1BOfS1yZW1vdGUgPSAic3lzdGVtZC1qb3VybmFsLXJlbW90ZS5zb2NrZXQiCisKKworRklMRVNfJHtQTn0tY29udGFpbmVyID0gIiR7c3lzY29uZmRpcn0vZGJ1cy0xL3N5c3RlbS5kL29yZy5mcmVlZGVza3RvcC5pbXBvcnQxLmNvbmYgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vZGJ1cy0xL3N5c3RlbS5kL29yZy5mcmVlZGVza3RvcC5tYWNoaW5lMS5jb25mIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke2Jhc2VfYmluZGlyfS9tYWNoaW5lY3RsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vc3lzdGVtZC1uc3Bhd24gXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7bm9uYXJjaF9saWJkaXJ9L3N5c3RlbWQvaW1wb3J0LXB1YnJpbmcuZ3BnIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2J1c25hbWVzLnRhcmdldC53YW50cy9vcmcuZnJlZWRlc2t0b3AuaW1wb3J0MS5idXNuYW1lIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2J1c25hbWVzLnRhcmdldC53YW50cy9vcmcuZnJlZWRlc2t0b3AubWFjaGluZTEuYnVzbmFtZSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9sb2NhbC1mcy50YXJnZXQud2FudHMvdmFyLWxpYi1tYWNoaW5lcy5tb3VudCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9tYWNoaW5lLnNsaWNlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L21hY2hpbmVzLnRhcmdldCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9vcmcuZnJlZWRlc2t0b3AuaW1wb3J0MS5idXNuYW1lIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L29yZy5mcmVlZGVza3RvcC5tYWNoaW5lMS5idXNuYW1lIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3N5c3RlbWQtaW1wb3J0ZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3N5c3RlbWQtbWFjaGluZWQuc2VydmljZSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9kYnVzLW9yZy5mcmVlZGVza3RvcC5tYWNoaW5lMS5zZXJ2aWNlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3Zhci1saWItbWFjaGluZXMubW91bnQgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1pbXBvcnQgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1pbXBvcnRkIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQtbWFjaGluZWQgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1wdWxsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke2V4ZWNfcHJlZml4fS9saWIvdG1wZmlsZXMuZC9zeXN0ZW1kLW5zcGF3bi5jb25mIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3N5c3RlbWQtbnNwYXduQC5zZXJ2aWNlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlibnNzX215bWFjaGluZXMuc28uMiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLXNlcnZpY2VzL29yZy5mcmVlZGVza3RvcC5pbXBvcnQxLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS1zZXJ2aWNlcy9vcmcuZnJlZWRlc2t0b3AubWFjaGluZTEuc2VydmljZSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmQvb3JnLmZyZWVkZXNrdG9wLmltcG9ydDEuY29uZiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmQvb3JnLmZyZWVkZXNrdG9wLm1hY2hpbmUxLmNvbmYgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vcG9sa2l0LTEvYWN0aW9ucy9vcmcuZnJlZWRlc2t0b3AuaW1wb3J0MS5wb2xpY3kgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vcG9sa2l0LTEvYWN0aW9ucy9vcmcuZnJlZWRlc2t0b3AubWFjaGluZTEucG9saWN5IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICIKKworUlJFQ09NTUVORFNfJHtQTn0tY29udGFpbmVyICs9ICJcCisgICAgICAgICAgICAgICAgICAgICAgICAgJHtQTn0tam91cm5hbC11cGxvYWQgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7UE59LWpvdXJuYWwtcmVtb3RlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke1BOfS1qb3VybmFsLWdhdGV3YXlkIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICIKKworRklMRVNfJHtQTn0tZXh0cmEtdXRpbHMgPSAiXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtiYXNlX2JpbmRpcn0vc3lzdGVtZC1lc2NhcGUgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtiYXNlX2JpbmRpcn0vc3lzdGVtZC1pbmhpYml0IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9zeXN0ZW1kLWRldGVjdC12aXJ0IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9zeXN0ZW1kLXBhdGggXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3N5c3RlbWQtcnVuIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9zeXN0ZW1kLWNhdCBcCisgICAgICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vc3lzdGVtZC1kZWx0YSBcCisgICAgICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vc3lzdGVtZC1jZ2xzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9zeXN0ZW1kLWNndG9wIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9zeXN0ZW1kLXN0ZGlvLWJyaWRnZSBcCisgICAgICAgICAgICAgICAgICAgICAgICAke2Jhc2VfYmluZGlyfS9zeXN0ZW1kLWFzay1wYXNzd29yZCBcCisgICAgICAgICAgICAgICAgICAgICAgICAke2Jhc2VfYmluZGlyfS9zeXN0ZW1kLXR0eS1hc2stcGFzc3dvcmQtYWdlbnQgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWFzay1wYXNzd29yZC1jb25zb2xlLnBhdGggXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWFzay1wYXNzd29yZC1jb25zb2xlLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWFzay1wYXNzd29yZC13YWxsLnBhdGggXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWFzay1wYXNzd29yZC13YWxsLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXNpbml0LnRhcmdldC53YW50cy9zeXN0ZW1kLWFzay1wYXNzd29yZC1jb25zb2xlLnBhdGggXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXNpbml0LnRhcmdldC53YW50cy9zeXN0ZW1kLWFzay1wYXNzd29yZC13YWxsLnBhdGggXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9tdWx0aS11c2VyLnRhcmdldC53YW50cy9zeXN0ZW1kLWFzay1wYXNzd29yZC13YWxsLnBhdGggXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLXJlc29sdmUtaG9zdCBcCisgICAgICAgICAgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQtYWMtcG93ZXIgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLWFjdGl2YXRlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1idXMtcHJveHlkIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc3lzdGVtZC1idXMtcHJveHlkLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWJ1cy1wcm94eWQuc29ja2V0IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1zb2NrZXQtcHJveHlkIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1yZXBseS1wYXNzd29yZCBcCisgICAgICAgICAgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQtc2xlZXAgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW0tc2xlZXAgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWhpYmVybmF0ZS5zZXJ2aWNlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc3lzdGVtZC1oeWJyaWQtc2xlZXAuc2VydmljZSBcCisgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c3RlbWQtc3VzcGVuZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc2xlZXAudGFyZ2V0IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1pbml0Y3RsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc3lzdGVtZC1pbml0Y3RsLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWluaXRjdGwuc29ja2V0IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc29ja2V0cy50YXJnZXQud2FudHMvc3lzdGVtZC1pbml0Y3RsLnNvY2tldCBcCisgICAgICAgICAgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbS1nZW5lcmF0b3JzL3N5c3RlbWQtZ3B0LWF1dG8tZ2VuZXJhdG9yIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1jZ3JvdXBzLWFnZW50IFwKKyIKKworRklMRVNfJHtQTn0gPSAiICR7YmFzZV9iaW5kaXJ9LyogXAorICAgICAgICAgICAgICAgICR7YmFzZV9zYmluZGlyfS9zaHV0ZG93biBcCisgICAgICAgICAgICAgICAgJHtiYXNlX3NiaW5kaXJ9L2hhbHQgXAorICAgICAgICAgICAgICAgICR7YmFzZV9zYmluZGlyfS9wb3dlcm9mZiBcCisgICAgICAgICAgICAgICAgJHtiYXNlX3NiaW5kaXJ9L3J1bmxldmVsIFwKKyAgICAgICAgICAgICAgICAke2Jhc2Vfc2JpbmRpcn0vdGVsaW5pdCBcCisgICAgICAgICAgICAgICAgJHtiYXNlX3NiaW5kaXJ9L3Jlc29sdmNvbmYgXAorICAgICAgICAgICAgICAgICR7YmFzZV9zYmluZGlyfS9yZWJvb3QgXAorICAgICAgICAgICAgICAgICR7YmFzZV9zYmluZGlyfS9pbml0IFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zZXJ2aWNlcyBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLXNlcnZpY2VzIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3BvbGtpdC0xIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9LyR7QlBOfSBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9mYWN0b3J5IFwKKyAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2RidXMtMS8gXAorICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vbW9kdWxlcy1sb2FkLmQvIFwKKyAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3BhbS5kLyBcCisgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9zeXNjdGwuZC8gXAorICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vc3lzdGVtZC8gXAorICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC8gXAorICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0veGRnLyBcCisgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvUkVBRE1FIFwKKyAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3Jlc29sdi1jb25mLnN5c3RlbWQgXAorICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvKiBcCisgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9LyogXAorICAgICAgICAgICAgICAgICR7YmFzZV9saWJkaXJ9L3NlY3VyaXR5Lyouc28gXAorICAgICAgICAgICAgICAgIC9jZ3JvdXAgXAorICAgICAgICAgICAgICAgICR7YmluZGlyfS9zeXN0ZW1kKiBcCisgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2J1c2N0bCBcCisgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2NvcmVkdW1wY3RsIFwKKyAgICAgICAgICAgICAgICAke2JpbmRpcn0vbG9jYWxlY3RsIFwKKyAgICAgICAgICAgICAgICAke2JpbmRpcn0vaG9zdG5hbWVjdGwgXAorICAgICAgICAgICAgICAgICR7YmluZGlyfS9yZXNvbHZlY3RsIFwKKyAgICAgICAgICAgICAgICAke2JpbmRpcn0vdGltZWRhdGVjdGwgXAorICAgICAgICAgICAgICAgICR7YmluZGlyfS9ib290Y3RsIFwKKyAgICAgICAgICAgICAgICAke2JpbmRpcn0va2VybmVsLWluc3RhbGwgXAorICAgICAgICAgICAgICAgICR7ZXhlY19wcmVmaXh9L2xpYi90bXBmaWxlcy5kLyouY29uZiBcCisgICAgICAgICAgICAgICAgJHtleGVjX3ByZWZpeH0vbGliL3N5c3RlbWQgXAorICAgICAgICAgICAgICAgICR7ZXhlY19wcmVmaXh9L2xpYi9tb2R1bGVzLWxvYWQuZCBcCisgICAgICAgICAgICAgICAgJHtleGVjX3ByZWZpeH0vbGliL3N5c2N0bC5kIFwKKyAgICAgICAgICAgICAgICAke2V4ZWNfcHJlZml4fS9saWIvc3lzdXNlcnMuZCBcCisgICAgICAgICAgICAgICAgJHtleGVjX3ByZWZpeH0vbGliL2Vudmlyb25tZW50LmQgXAorICAgICAgICAgICAgICAgICR7bG9jYWxzdGF0ZWRpcn0gXAorICAgICAgICAgICAgICAgICR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldi9ydWxlcy5kLzcwLXVhY2Nlc3MucnVsZXMgXAorICAgICAgICAgICAgICAgICR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldi9ydWxlcy5kLzcxLXNlYXQucnVsZXMgXAorICAgICAgICAgICAgICAgICR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldi9ydWxlcy5kLzczLXNlYXQtbGF0ZS5ydWxlcyBcCisgICAgICAgICAgICAgICAgJHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2L3J1bGVzLmQvOTktc3lzdGVtZC5ydWxlcyBcCisgICAgICAgICAgICAgICAgJHtub25hcmNoX2Jhc2VfbGliZGlyfS9tb2Rwcm9iZS5kL3N5c3RlbWQuY29uZiBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmQvb3JnLmZyZWVkZXNrdG9wLnRpbWVkYXRlMS5jb25mIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0uZC9vcmcuZnJlZWRlc2t0b3AubG9jYWxlMS5jb25mIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0uZC9vcmcuZnJlZWRlc2t0b3AubmV0d29yazEuY29uZiBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmQvb3JnLmZyZWVkZXNrdG9wLnJlc29sdmUxLmNvbmYgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS5kL29yZy5mcmVlZGVza3RvcC5zeXN0ZW1kMS5jb25mIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0uZC9vcmcuZnJlZWRlc2t0b3AuaG9zdG5hbWUxLmNvbmYgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS5kL29yZy5mcmVlZGVza3RvcC5sb2dpbjEuY29uZiBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmQvb3JnLmZyZWVkZXNrdG9wLnRpbWVzeW5jMS5jb25mIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0uZC9vcmcuZnJlZWRlc2t0b3AucG9ydGFibGUxLmNvbmYgXAorICAgICAgICAgICAgICAgIgorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7YmFzZV9saWJkaXJ9L3NlY3VyaXR5LyoubGEgJHtkYXRhZGlyfS9kYnVzLTEvaW50ZXJmYWNlcy8gJHtzeXNjb25mZGlyfS9ycG0vbWFjcm9zLnN5c3RlbWQiCisKK1JERVBFTkRTXyR7UE59ICs9ICJrbW9kIGRidXMgdXRpbC1saW51eC1tb3VudCB1dGlsLWxpbnV4LXVtb3VudCB1ZGV2ICg9ICR7RVhURU5EUEtHVn0pIHV0aWwtbGludXgtYWdldHR5IHV0aWwtbGludXgtZnNjayIKK1JERVBFTkRTXyR7UE59ICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdzZXJpYWwtZ2V0dHktZ2VuZXJhdG9yJywgJycsICdzeXN0ZW1kLXNlcmlhbGdldHR5JywgZCl9IgorUkRFUEVORFNfJHtQTn0gKz0gInZvbGF0aWxlLWJpbmRzIHVwZGF0ZS1yYy5kIHN5c3RlbWQtY29uZiIKKworUlJFQ09NTUVORFNfJHtQTn0gKz0gInN5c3RlbWQtZXh0cmEtdXRpbHMgXAorICAgICAgICAgICAgICAgICAgICAgIHN5c3RlbWQtY29tcGF0LXVuaXRzIHVkZXYtaHdkYiBcCisgICAgICAgICAgICAgICAgICAgICAgZTJmc3Byb2dzLWUyZnNjayBcCisgICAgICAgICAgICAgICAgICAgICAga2VybmVsLW1vZHVsZS1hdXRvZnM0IGtlcm5lbC1tb2R1bGUtdW5peCBrZXJuZWwtbW9kdWxlLWlwdjYgXAorICAgICAgICAgICAgICAgICAgICAgIG9zLXJlbGVhc2UgXAorIgorCitJTlNBTkVfU0tJUF8ke1BOfSArPSAiZGV2LXNvIGxpYmRpciIKK0lOU0FORV9TS0lQXyR7UE59LWRiZyArPSAibGliZGlyIgorSU5TQU5FX1NLSVBfJHtQTn0tZG9jICs9ICIgbGliZGlyIgorCitQQUNLQUdFUyA9KyAidWRldiB1ZGV2LWh3ZGIiCisKK1JQUk9WSURFU191ZGV2ID0gImhvdHBsdWciCisKK1JERVBFTkRTX3VkZXYtaHdkYiArPSAidWRldiIKKworRklMRVNfdWRldiArPSAiJHtiYXNlX3NiaW5kaXJ9L3VkZXZkIFwKKyAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC11ZGV2ZCBcCisgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS91ZGV2L2FjY2VsZXJvbWV0ZXIgXAorICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vdWRldi9hdGFfaWQgXAorICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vdWRldi9jZHJvbV9pZCBcCisgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS91ZGV2L2NvbGxlY3QgXAorICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vdWRldi9maW5ka2V5Ym9hcmRzIFwKKyAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3VkZXYva2V5Ym9hcmQtZm9yY2UtcmVsZWFzZS5zaCBcCisgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS91ZGV2L2tleW1hcCBcCisgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS91ZGV2L210ZF9wcm9iZSBcCisgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS91ZGV2L3Njc2lfaWQgXAorICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vdWRldi92NGxfaWQgXAorICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vdWRldi9rZXltYXBzIFwKKyAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3VkZXYvcnVsZXMuZC8qLnJ1bGVzIFwKKyAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vdWRldiBcCisgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9zeXN0ZW1kLXVkZXZkIFwKKyAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vKnVkZXYqIFwKKyAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vKi53YW50cy8qdWRldiogXAorICAgICAgICAgICAgICAgJHtiYXNlX2JpbmRpcn0vdWRldmFkbSBcCisgICAgICAgICAgICAgICAke2xpYmV4ZWNkaXJ9LyR7TUxQUkVGSVh9dWRldmFkbSBcCisgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2Jhc2gtY29tcGxldGlvbi9jb21wbGV0aW9ucy91ZGV2YWRtIFwKKyAgICAgICAgICAgICAgIgorCitGSUxFU191ZGV2LWh3ZGIgPSAiJHtyb290bGliZXhlY2Rpcn0vdWRldi9od2RiLmQiCisKK0lOSVRTQ1JJUFRfUEFDS0FHRVMgPSAidWRldiIKK0lOSVRTQ1JJUFRfTkFNRV91ZGV2ID0gInN5c3RlbWQtdWRldmQiCitJTklUU0NSSVBUX1BBUkFNU191ZGV2ID0gInN0YXJ0IDAzIFMgLiIKKworcHl0aG9uIF9fYW5vbnltb3VzKCkgeworICAgIGlmIG5vdCBiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3Zpbml0JywgVHJ1ZSwgRmFsc2UsIGQpOgorICAgICAgICBkLnNldFZhcigiSU5ISUJJVF9VUERBVEVSQ0RfQkJDTEFTUyIsICIxIikKK30KKworQUxURVJOQVRJVkVfJHtQTn0gPSAiaGFsdCByZWJvb3Qgc2h1dGRvd24gcG93ZXJvZmYgcnVubGV2ZWwgcmVzb2x2LWNvbmYiCisKK0FMVEVSTkFUSVZFX1RBUkdFVFtyZXNvbHYtY29uZl0gPSAiJHtzeXNjb25mZGlyfS9yZXNvbHYtY29uZi5zeXN0ZW1kIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3Jlc29sdi1jb25mXSA9ICIke3N5c2NvbmZkaXJ9L3Jlc29sdi5jb25mIgorQUxURVJOQVRJVkVfUFJJT1JJVFlbcmVzb2x2LWNvbmZdID89ICI1MCIKKworQUxURVJOQVRJVkVfVEFSR0VUW2hhbHRdID0gIiR7YmFzZV9iaW5kaXJ9L3N5c3RlbWN0bCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtoYWx0XSA9ICIke2Jhc2Vfc2JpbmRpcn0vaGFsdCIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZW2hhbHRdID89ICIzMDAiCisKK0FMVEVSTkFUSVZFX1RBUkdFVFtyZWJvb3RdID0gIiR7YmFzZV9iaW5kaXJ9L3N5c3RlbWN0bCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtyZWJvb3RdID0gIiR7YmFzZV9zYmluZGlyfS9yZWJvb3QiCitBTFRFUk5BVElWRV9QUklPUklUWVtyZWJvb3RdID89ICIzMDAiCisKK0FMVEVSTkFUSVZFX1RBUkdFVFtzaHV0ZG93bl0gPSAiJHtiYXNlX2JpbmRpcn0vc3lzdGVtY3RsIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3NodXRkb3duXSA9ICIke2Jhc2Vfc2JpbmRpcn0vc2h1dGRvd24iCitBTFRFUk5BVElWRV9QUklPUklUWVtzaHV0ZG93bl0gPz0gIjMwMCIKKworQUxURVJOQVRJVkVfVEFSR0VUW3Bvd2Vyb2ZmXSA9ICIke2Jhc2VfYmluZGlyfS9zeXN0ZW1jdGwiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbcG93ZXJvZmZdID0gIiR7YmFzZV9zYmluZGlyfS9wb3dlcm9mZiIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZW3Bvd2Vyb2ZmXSA/PSAiMzAwIgorCitBTFRFUk5BVElWRV9UQVJHRVRbcnVubGV2ZWxdID0gIiR7YmFzZV9iaW5kaXJ9L3N5c3RlbWN0bCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtydW5sZXZlbF0gPSAiJHtiYXNlX3NiaW5kaXJ9L3J1bmxldmVsIgorQUxURVJOQVRJVkVfUFJJT1JJVFlbcnVubGV2ZWxdID89ICIzMDAiCisKK3BrZ19wb3N0aW5zdF8ke1BOfSAoKSB7CisJc2VkIC1lICcvXmhvc3RzOi9zL1xzKlw8bXlob3N0bmFtZVw+Ly8nIFwKKwkJLWUgJ3MvXCheaG9zdHM6LipcKVwoXDxmaWxlc1w+XClcKC4qXClcKFw8ZG5zXD5cKVwoLipcKS9cMVwyIG15aG9zdG5hbWUgXDNcNFw1LycgXAorCQktaSAkRCR7c3lzY29uZmRpcn0vbnNzd2l0Y2guY29uZgorfQorCitwa2dfcHJlcm1fJHtQTn0gKCkgeworCXNlZCAtZSAnL15ob3N0czovcy9ccypcPG15aG9zdG5hbWVcPi8vJyBcCisJCS1lICcvXmhvc3RzOi9zL1xzKm15aG9zdG5hbWUvLycgXAorCQktaSAkRCR7c3lzY29uZmRpcn0vbnNzd2l0Y2guY29uZgorfQorCitQQUNLQUdFX1dSSVRFX0RFUFMgKz0gInFlbXUtbmF0aXZlIgorcGtnX3Bvc3RpbnN0X3VkZXYtaHdkYiAoKSB7CisJaWYgdGVzdCAtbiAiJEQiOyB0aGVuCisJCSRJTlRFUkNFUFRfRElSL3Bvc3RpbnN0X2ludGVyY2VwdCB1cGRhdGVfdWRldl9od2RiICR7UEtHfSBtbHByZWZpeD0ke01MUFJFRklYfSBiaW5wcmVmaXg9JHtNTFBSRUZJWH0KKwllbHNlCisJCXVkZXZhZG0gaHdkYiAtLXVwZGF0ZQorCWZpCit9CisKK3BrZ19wcmVybV91ZGV2LWh3ZGIgKCkgeworCXJtIC1mICREJHtzeXNjb25mZGlyfS91ZGV2L2h3ZGIuYmluCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3Zpbml0L3N5c3Zpbml0LWluaXR0YWIvc3RhcnRfZ2V0dHkgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3Zpbml0L3N5c3Zpbml0LWluaXR0YWIvc3RhcnRfZ2V0dHkKaW5kZXggZTE1YWUzNS4uOTZmZDZjZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN2aW5pdC9zeXN2aW5pdC1pbml0dGFiL3N0YXJ0X2dldHR5CisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdmluaXQvc3lzdmluaXQtaW5pdHRhYi9zdGFydF9nZXR0eQpAQCAtMTMsNiArMTMsMTggQEAKICMgUmVwaHJhc2UgaW5wdXQgcGFyYW1ldGVyIGZyb20gdHR5UyB0YXJnZXQgaW5kZXggKHR0eVMxLCB0dHlTMiwgdHR5QU1BMCwgZXRjKS4KIHJ1bnRpbWVfdHR5PSQoZWNobyAkMiB8IGdyZXAgLW9oICdbMC05XScpCiAKKyMgYnVzeWJveCcgZ2V0dHkgZG9lcyB0aGlzIGl0c2VsZiwgdXRpbC1saW51eCcgYWdldHR5IG5lZWRzIGV4dHJhIGhlbHAKK2dldHR5PSIvc2Jpbi9nZXR0eSIKK2Nhc2UgJChyZWFkbGluayAtZiAiJHtnZXR0eX0iKSBpbgorICAgICovYnVzeWJveCopCisgICAgICAgIDs7CisgICAgKikKKyAgICAgICAgaWYgWyAteCAiL3Vzci9iaW4vc2V0c2lkIiBdIDsgdGhlbgorICAgICAgICAgICAgc2V0c2lkPSIvdXNyL2Jpbi9zZXRzaWQiCisgICAgICAgIGZpCisgICAgICAgIDs7Citlc2FjCisKICMgQmFja3VwICRJRlMuCiBERUZBVUxUX0lGUz0kSUZTCiAjIEN1c3RvbWl6ZSBJbnRlcm5hbCBGaWVsZCBTZXBhcmF0b3IuCkBAIC0zMSw3ICs0Myw3IEBACiAJCQl0aGVuCiAJCQkJaWYgWyAtYyAvZGV2LyQyIF0KIAkJCQl0aGVuCi0JCQkJICAgIC9zYmluL2dldHR5IC1MICQxICQyICQzCisJCQkJICAgICR7c2V0c2lkOi19ICR7Z2V0dHl9IC1MICQxICQyICQzCiAJCQkJZmkKIAkJCQlicmVhawogCQkJZmkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdmluaXQvc3lzdmluaXQtaW5pdHRhYl8yLjg4ZHNmLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN2aW5pdC9zeXN2aW5pdC1pbml0dGFiXzIuODhkc2YuYmIKaW5kZXggODU4NWE0MS4uYmZkODkwZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN2aW5pdC9zeXN2aW5pdC1pbml0dGFiXzIuODhkc2YuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN2aW5pdC9zeXN2aW5pdC1pbml0dGFiXzIuODhkc2YuYmIKQEAgLTIwLDYgKzIwLDcgQEAKICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9pbml0dGFiICR7RH0ke3N5c2NvbmZkaXJ9L2luaXR0YWIKICAgICBpbnN0YWxsIC1kICR7RH0ke2Jhc2VfYmluZGlyfQogICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3N0YXJ0X2dldHR5ICR7RH0ke2Jhc2VfYmluZGlyfS9zdGFydF9nZXR0eQorICAgIHNlZCAtZSAncywvdXNyL2Jpbiwke2JpbmRpcn0sZycgLWkgJHtEfSR7YmFzZV9iaW5kaXJ9L3N0YXJ0X2dldHR5CiAKICAgICBzZXQgLXgKICAgICB0bXA9IiR7U0VSSUFMX0NPTlNPTEVTfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdmluaXQvc3lzdmluaXQtMi44OGRzZi8wMDAxLWluY2x1ZGUtc3lzLXN5c21hY3Jvcy5oLWZvci1tYWpvci1taW5vci1kZWZpbmVzLWluLWcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3Zpbml0L3N5c3Zpbml0LzAwMDEtaW5jbHVkZS1zeXMtc3lzbWFjcm9zLmgtZm9yLW1ham9yLW1pbm9yLWRlZmluZXMtaW4tZy5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN2aW5pdC9zeXN2aW5pdC0yLjg4ZHNmLzAwMDEtaW5jbHVkZS1zeXMtc3lzbWFjcm9zLmgtZm9yLW1ham9yLW1pbm9yLWRlZmluZXMtaW4tZy5wYXRjaApyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN2aW5pdC9zeXN2aW5pdC8wMDAxLWluY2x1ZGUtc3lzLXN5c21hY3Jvcy5oLWZvci1tYWpvci1taW5vci1kZWZpbmVzLWluLWcucGF0Y2gKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdmluaXQvc3lzdmluaXQtMi44OGRzZi9jcnlwdC1saWIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3Zpbml0L3N5c3Zpbml0L2NyeXB0LWxpYi5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN2aW5pdC9zeXN2aW5pdC0yLjg4ZHNmL2NyeXB0LWxpYi5wYXRjaApyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN2aW5pdC9zeXN2aW5pdC9jcnlwdC1saWIucGF0Y2gKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdmluaXQvc3lzdmluaXQtMi44OGRzZi9pbnN0YWxsLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN2aW5pdC9zeXN2aW5pdC9pbnN0YWxsLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3Zpbml0L3N5c3Zpbml0LTIuODhkc2YvaW5zdGFsbC5wYXRjaApyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN2aW5pdC9zeXN2aW5pdC9pbnN0YWxsLnBhdGNoCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3Zpbml0L3N5c3Zpbml0LTIuODhkc2YvcGlkb2YtYWRkLW0tb3B0aW9uLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN2aW5pdC9zeXN2aW5pdC9waWRvZi1hZGQtbS1vcHRpb24ucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdmluaXQvc3lzdmluaXQtMi44OGRzZi9waWRvZi1hZGQtbS1vcHRpb24ucGF0Y2gKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdmluaXQvc3lzdmluaXQvcGlkb2YtYWRkLW0tb3B0aW9uLnBhdGNoCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3V0aWwtbGludXgvdXRpbC1saW51eC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3V0aWwtbGludXgvdXRpbC1saW51eC5pbmMKaW5kZXggYTA1YzFjYS4uMThjM2FmMiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS91dGlsLWxpbnV4L3V0aWwtbGludXguaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvdXRpbC1saW51eC91dGlsLWxpbnV4LmluYwpAQCAtMTksMTIxICsxOSwxMzIgQEAKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYmJsa2lkL0NPUFlJTkc7bWQ1PWZiOTNmMDFkNDM2MTA2OWM1NjE2MzI3NzA1MzczYjE2IgogCiAjZ3RrLWRvYyBpcyBub3QgZW5hYmxlZCBhcyBpdCByZXF1aXJlcyB4bWx0byB3aGljaCByZXF1aXJlcyB1dGlsLWxpbnV4Ci1pbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBrZ2NvbmZpZyBzeXN0ZW1kIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgcHl0aG9uMy1kaXIgYmFzaC1jb21wbGV0aW9uIHB0ZXN0Citpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IG1hbnBhZ2VzIHBrZ2NvbmZpZyBzeXN0ZW1kIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgcHl0aG9uMy1kaXIgYmFzaC1jb21wbGV0aW9uIHB0ZXN0CiBERVBFTkRTID0gInpsaWIgbmN1cnNlcyB2aXJ0dWFsL2NyeXB0IgotREVQRU5EU19hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBsem8tbmF0aXZlIgotREVQRU5EU19hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiBsem8tbmF0aXZlIgogCi1TUkNfVVJJID0gIiR7S0VSTkVMT1JHX01JUlJPUn0vbGludXgvdXRpbHMvdXRpbC1saW51eC92JHtNQUpPUl9WRVJTSU9OfS91dGlsLWxpbnV4LSR7UFZ9LnRhci54eiBcCitNQUpPUl9WRVJTSU9OID0gIiR7QCcuJy5qb2luKGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMDoyXSl9IgorU1JDX1VSSSA9ICIke0tFUk5FTE9SR19NSVJST1J9L2xpbnV4L3V0aWxzLyR7QlBOfS92JHtNQUpPUl9WRVJTSU9OfS8ke0JQfS50YXIueHogXAogICAgICAgICAgICAiCiAKLVBBQ0tBR0VTID0rICJ1dGlsLWxpbnV4LWFnZXR0eSB1dGlsLWxpbnV4LWZkaXNrIHV0aWwtbGludXgtY2ZkaXNrIHV0aWwtbGludXgtc2ZkaXNrIFwKLSAgICAgICAgICAgICB1dGlsLWxpbnV4LXN3YXBvbm9mZiB1dGlsLWxpbnV4LWxvc2V0dXAgdXRpbC1saW51eC11bW91bnQgXAotICAgICAgICAgICAgIHV0aWwtbGludXgtbW91bnQgdXRpbC1saW51eC1yZWFkcHJvZmlsZSB1dGlsLWxpbnV4LXV1aWRkIFwKLSAgICAgICAgICAgICB1dGlsLWxpbnV4LXV1aWRnZW4gdXRpbC1saW51eC1sc2NwdSB1dGlsLWxpbnV4LWZzY2suY3JhbWZzIHV0aWwtbGludXgtZnNjayBcCi0gICAgICAgICAgICAgdXRpbC1saW51eC1ibGtpZCB1dGlsLWxpbnV4LW1rZnMgdXRpbC1saW51eC1tY29va2llIHV0aWwtbGludXgtcmZraWxsIFwKLSAgICAgICAgICAgICB1dGlsLWxpbnV4LWxzYmxrIHV0aWwtbGludXgtbWtmcy5jcmFtZnMgdXRpbC1saW51eC1mc3RyaW0gXAotICAgICAgICAgICAgIHV0aWwtbGludXgtcGFydHggdXRpbC1saW51eC1od2Nsb2NrIHV0aWwtbGludXgtbW91bnRwb2ludCBcCi0gICAgICAgICAgICAgdXRpbC1saW51eC1maW5kZnMgdXRpbC1saW51eC1nZXRvcHQgdXRpbC1saW51eC1zdWxvZ2luIHV0aWwtbGludXgtcHJsaW1pdCBcCi0gICAgICAgICAgICAgdXRpbC1saW51eC1pb25pY2UgdXRpbC1saW51eC1zd2l0Y2gtcm9vdCB1dGlsLWxpbnV4LXVuc2hhcmUiCi1QQUNLQUdFUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHlsaWJtb3VudCcsICd1dGlsLWxpbnV4LXB5bGlibW91bnQnLCAnJywgZCl9IgotUEFDS0FHRVMgPSsgIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ3V0aWwtbGludXgtcnVudXNlciB1dGlsLWxpbnV4LXN1JywgJycsIGQpfSIKK1BBQ0tBR0VTID0rICIke1BOfS1zd2Fwb25vZmYiCitQQUNLQUdFUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHlsaWJtb3VudCcsICcke1BOfS1weWxpYm1vdW50JywgJycsIGQpfSIKIAotUEFDS0FHRVNfRFlOQU1JQyA9ICJedXRpbC1saW51eC1saWIuKiIKK3B5dGhvbiB1dGlsX2xpbnV4X2JpbnBhY2thZ2VzICgpIHsKKyAgICBkZWYgcGtnX2hvb2soZiwgcGtnLCBmaWxlX3JlZ2V4LCBvdXRwdXRfcGF0dGVybiwgbW9kdWxlbmFtZSk6CisgICAgICAgIHBuID0gZC5nZXRWYXIoJ1BOJykKKyAgICAgICAgZC5hcHBlbmRWYXIoJ1JSRUNPTU1FTkRTXyVzJyAlIHBuLCAnICVzJyAlIHBrZykKIAotU0hBUkVEX0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtdXNlLXR0eS1ncm91cCBcCi0gICAgICAgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1tYWtlaW5zdGFsbC1jaG93biBcCi0gICAgICAgICAgICAgICAgICAgICAgIC0tZW5hYmxlLWtpbGwgLS1lbmFibGUtbGFzdCAtLWVuYWJsZS1tZXNnIC0tZW5hYmxlLXBhcnR4IFwKLSAgICAgICAgICAgICAgICAgICAgICAgLS1lbmFibGUtcmF3IC0tZW5hYmxlLXJma2lsbCAtLWRpc2FibGUtbG9naW4gXAotICAgICAgICAgICAgICAgICAgICAgICAtLWRpc2FibGUtdmlwdyAtLWRpc2FibGUtbmV3Z3JwIC0tZGlzYWJsZS1jaGZuLWNoc2ggXAotICAgICAgICAgICAgICAgICAgICAgICAtLWVuYWJsZS13cml0ZSAtLWVuYWJsZS1tb3VudCAtLWVuYWJsZS11bnNoYXJlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgLS1lbmFibGUtbGlidXVpZCAtLWVuYWJsZS1saWJibGtpZCAtLWVuYWJsZS1mc2NrIFwKLSAgICAgICAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLW1pbml4IC0tZGlzYWJsZS1iZnMgLS13aXRob3V0LXVkZXYgXAotICAgICAgICAgICAgICAgICAgICAgICB1c3JzYmluX2V4ZWNkaXI9JyR7c2JpbmRpcn0nIFwKKyAgICAgICAgaWYgZC5nZXRWYXIoJ0FMVEVSTkFUSVZFXycgKyBwa2cpOgorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGlmIGQuZ2V0VmFyRmxhZygnQUxURVJOQVRJVkVfTElOS19OQU1FJywgbW9kdWxlbmFtZSk6CisgICAgICAgICAgICBkLnNldFZhcignQUxURVJOQVRJVkVfJyArIHBrZywgbW9kdWxlbmFtZSkKKworICAgIGJpbmRpcnMgPSBzb3J0ZWQobGlzdChzZXQoZC5leHBhbmQoIiR7YmFzZV9zYmluZGlyfSAke2Jhc2VfYmluZGlyfSAke3NiaW5kaXJ9ICR7YmluZGlyfSIpLnNwbGl0KCkpKSkKKyAgICBmb3IgZGlyIGluIGJpbmRpcnM6CisgICAgICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHJvb3Q9ZGlyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlX3JlZ2V4PXInKC4qKScsIG91dHB1dF9wYXR0ZXJuPScke1BOfS0lcycsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uPScke1BOfSAlcycsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGhvb2s9cGtnX2hvb2ssIGV4dHJhX2RlcGVuZHM9JycpCisKKyAgICAjIFRoZXJlIGFyZSBzb21lIHN5bWxpbmtzIGZvciBzb21lIGJpbmFyaWVzIHdoaWNoIHdlIGhhdmUgaWdub3JlZAorICAgICMgYWJvdmUuIEFkZCB0aGVtIHRvIHRoZSBwYWNrYWdlIG93bmluZyB0aGUgYmluYXJ5IHRoZXkgYXJlCisgICAgIyBwb2ludGluZyB0bworICAgIGV4dHJhcyA9IHt9CisgICAgZHZhciA9IGQuZ2V0VmFyKCdQS0dEJykKKyAgICBmb3Igcm9vdCBpbiBiaW5kaXJzOgorICAgICAgICBmb3Igd2Fsa3Jvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGsoZHZhciArIHJvb3QpOgorICAgICAgICAgICAgZm9yIGYgaW4gZmlsZXM6CisgICAgICAgICAgICAgICAgZmlsZSA9IG9zLnBhdGguam9pbih3YWxrcm9vdCwgZikKKyAgICAgICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2xpbmsoZmlsZSk6CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAgICAgICAgICAgICBwa2cgPSBvcy5wYXRoLmJhc2VuYW1lKG9zLnJlYWRsaW5rKGZpbGUpKQorICAgICAgICAgICAgICAgIGV4dHJhc1twa2ddID0gZXh0cmFzLmdldChwa2csICcnKSArICcgJyArIGZpbGUucmVwbGFjZShkdmFyLCAnJywgMSkKKworICAgIHBuID0gZC5nZXRWYXIoJ1BOJykKKyAgICBmb3IgcGtnLCBsaW5rcyBpbiBleHRyYXMuaXRlbXMoKToKKyAgICAgICAgb2YgPSBkLmdldFZhcignRklMRVNfJyArIHBuICsgJy0nICsgcGtnKQorICAgICAgICBsaW5rcyA9IG9mICsgbGlua3MKKyAgICAgICAgZC5zZXRWYXIoJ0ZJTEVTXycgKyBwbiArICctJyArIHBrZywgbGlua3MpCit9CisKKyMgd2UgbXVzdCBleGVjdXRlIGJlZm9yZSB1cGRhdGUtYWx0ZXJuYXRpdmVzIFBBQ0tBR0VfUFJFUFJPQ0VTU19GVU5DUworUEFDS0FHRV9QUkVQUk9DRVNTX0ZVTkNTID0rICJ1dGlsX2xpbnV4X2JpbnBhY2thZ2VzICIKKworcHl0aG9uIHV0aWxfbGludXhfbGlicGFja2FnZXMoKSB7CisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcm9vdD1kLmdldFZhcignVVRJTF9MSU5VWF9MSUJESVInKSwgZmlsZV9yZWdleD1yJ15saWIoLiopXC5zb1wuLiokJywKKyAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRfcGF0dGVybj0nJHtQTn0tbGliJXMnLAorICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uPScke1BOfSBsaWIlcycsCisgICAgICAgICAgICAgICAgICAgICAgZXh0cmFfZGVwZW5kcz0nJywgcHJlcGVuZD1UcnVlLCBhbGxvd19saW5rcz1UcnVlKQorfQorCitQQUNLQUdFU1BMSVRGVU5DUyA9KyAidXRpbF9saW51eF9saWJwYWNrYWdlcyIKKworUEFDS0FHRVNfRFlOQU1JQyA9ICJeJHtQTn0tLioiCisKK0NBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJzY2FuZl9jdl9hbGxvY19tb2RpZmllcj1tcyIKK1VUSUxfTElOVVhfTElCRElSID0gIiR7bGliZGlyfSIKK1VUSUxfTElOVVhfTElCRElSX2NsYXNzLXRhcmdldCA9ICIke2Jhc2VfbGliZGlyfSIKK0VYVFJBX09FQ09ORiA9ICJcCisgICAgLS1lbmFibGUtbGlidXVpZCAtLWVuYWJsZS1saWJibGtpZCBcCisgICAgXAorICAgIC0tZW5hYmxlLWZzY2sgLS1lbmFibGUta2lsbCAtLWVuYWJsZS1sYXN0IC0tZW5hYmxlLW1lc2cgXAorICAgIC0tZW5hYmxlLW1vdW50IC0tZW5hYmxlLXBhcnR4IC0tZW5hYmxlLXJhdyAtLWVuYWJsZS1yZmtpbGwgXAorICAgIC0tZW5hYmxlLXVuc2hhcmUgLS1lbmFibGUtd3JpdGUgXAorICAgIFwKKyAgICAtLWRpc2FibGUtYmZzIC0tZGlzYWJsZS1jaGZuLWNoc2ggLS1kaXNhYmxlLWxvZ2luIFwKKyAgICAtLWRpc2FibGUtbWFrZWluc3RhbGwtY2hvd24gLS1kaXNhYmxlLW1pbml4IC0tZGlzYWJsZS1uZXdncnAgXAorICAgIC0tZGlzYWJsZS11c2UtdHR5LWdyb3VwIC0tZGlzYWJsZS12aXB3IFwKKyAgICBcCisgICAgLS13aXRob3V0LXVkZXYgXAorICAgIFwKKyAgICB1c3JzYmluX2V4ZWNkaXI9JyR7c2JpbmRpcn0nIFwKKyAgICAtLWxpYmRpcj0nJHtVVElMX0xJTlVYX0xJQkRJUn0nIFwKICIKIAotRVhUUkFfT0VDT05GID0gIiR7U0hBUkVEX0VYVFJBX09FQ09ORn0gLS1saWJkaXI9JHtiYXNlX2xpYmRpcn0iCi0KIFBBQ0tBR0VDT05GSUdfY2xhc3MtdGFyZ2V0ID89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCBkKX0iCisjIGluaGVyaXQgbWFucGFnZXMgcmVxdWlyZXMgdGhpcyB0byBiZSBwcmVzZW50LCBob3dldmVyIHV0aWwtbGludXggZG9lcyBub3QgaGF2ZSAKKyMgY29uZmlndXJhdGlvbiBvcHRpb25zLCBhbmQgaW5zdGFsbHMgbWFucGFnZXMgYWx3YXlzCitQQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICIiCiBQQUNLQUdFQ09ORklHW3BhbV0gPSAiLS1lbmFibGUtc3UgLS1lbmFibGUtcnVudXNlciwtLWRpc2FibGUtc3UgLS1kaXNhYmxlLXJ1bnVzZXIsIGxpYnBhbSwiCi0KICMgUmVzcGVjdCB0aGUgc3lzdGVtZCBmZWF0dXJlIGZvciB1dWlkZAotUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLXdpdGgtc3lzdGVtZCAtLXdpdGgtc3lzdGVtZHN5c3RlbXVuaXRkaXI9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8sIC0td2l0aG91dC1zeXN0ZW1kIC0td2l0aG91dC1zeXN0ZW1kc3lzdGVtdW5pdGRpcixzeXN0ZW1kIgotCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0td2l0aC1zeXN0ZW1kIC0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9LCAtLXdpdGhvdXQtc3lzdGVtZCAtLXdpdGhvdXQtc3lzdGVtZHN5c3RlbXVuaXRkaXIsc3lzdGVtZCIKICMgQnVpbGQgc2V0cHJpdiByZXF1aXJlcyBsaWJjYXAtbmcKIFBBQ0tBR0VDT05GSUdbbGliY2FwLW5nXSA9ICItLWVuYWJsZS1zZXRwcml2LC0tZGlzYWJsZS1zZXRwcml2LGxpYmNhcC1uZywiCi0KICMgQnVpbGQgcHl0aG9uIGJpbmRpbmdzIGZvciBsaWJtb3VudAogUEFDS0FHRUNPTkZJR1tweWxpYm1vdW50XSA9ICItLXdpdGgtcHl0aG9uPTMgLS1lbmFibGUtcHlsaWJtb3VudCwtLXdpdGhvdXQtcHl0aG9uIC0tZGlzYWJsZS1weWxpYm1vdW50LHB5dGhvbjMiCi0KICMgUmVhZGxpbmUgc3VwcG9ydAogUEFDS0FHRUNPTkZJR1tyZWFkbGluZV0gPSAiLS13aXRoLXJlYWRsaW5lLC0td2l0aG91dC1yZWFkbGluZSxyZWFkbGluZSIKIAorRVhUUkFfT0VNQUtFID0gIkFSQ0g9JHtUQVJHRVRfQVJDSH0gQ1BVPSBDUFVPUFQ9ICdPUFQ9JHtDRkxBR1N9JyIKKworQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKK0ZJTEVTXyR7UE59ID0gIiIKIEZJTEVTXyR7UE59LWRvYyArPSAiJHtkYXRhZGlyfS9nZXRvcHQvZ2V0b3B0LSouKiIKLQogRklMRVNfJHtQTn0tZGV2ICs9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS9saWJtb3VudC9weWxpYm1vdW50LmxhIgotCi1GSUxFU191dGlsLWxpbnV4LWFnZXR0eSA9ICIke2Jhc2Vfc2JpbmRpcn0vYWdldHR5IgotRklMRVNfdXRpbC1saW51eC1mZGlzayA9ICIke2Jhc2Vfc2JpbmRpcn0vZmRpc2suJHtCUE59IgotRklMRVNfdXRpbC1saW51eC1mc3RyaW0gPSAiJHtiYXNlX3NiaW5kaXJ9L2ZzdHJpbS4ke0JQTn0iCi1GSUxFU191dGlsLWxpbnV4LWNmZGlzayA9ICIke2Jhc2Vfc2JpbmRpcn0vY2ZkaXNrIgotRklMRVNfdXRpbC1saW51eC1zZmRpc2sgPSAiJHtzYmluZGlyfS9zZmRpc2siCi1GSUxFU191dGlsLWxpbnV4LXN3YXBvbm9mZiA9ICIke2Jhc2Vfc2JpbmRpcn0vc3dhcG9uLiR7QlBOfSAke2Jhc2Vfc2JpbmRpcn0vc3dhcG9mZi4ke0JQTn0iCi1GSUxFU191dGlsLWxpbnV4LWxvc2V0dXAgPSAiJHtiYXNlX3NiaW5kaXJ9L2xvc2V0dXAuJHtCUE59IgotRklMRVNfdXRpbC1saW51eC1tb3VudCA9ICIke2Jhc2VfYmluZGlyfS9tb3VudC4ke0JQTn0iCi1GSUxFU191dGlsLWxpbnV4LW1jb29raWUgPSAiJHtiaW5kaXJ9L21jb29raWUiCi1GSUxFU191dGlsLWxpbnV4LXVtb3VudCA9ICIke2Jhc2VfYmluZGlyfS91bW91bnQuJHtCUE59IgotRklMRVNfdXRpbC1saW51eC1yZWFkcHJvZmlsZSA9ICIke3NiaW5kaXJ9L3JlYWRwcm9maWxlLiR7QlBOfSIKLUZJTEVTX3V0aWwtbGludXgtdXVpZGdlbiA9ICIke2JpbmRpcn0vdXVpZGdlbiIKLUZJTEVTX3V0aWwtbGludXgtdXVpZGQgPSAiJHtzYmluZGlyfS91dWlkZCIKLUZJTEVTX3V0aWwtbGludXgtcmZraWxsID0gIiR7c2JpbmRpcn0vcmZraWxsKiIKLUZJTEVTX3V0aWwtbGludXgtcGFydHggPSAiJHtzYmluZGlyfS9wYXJ0eCIKLUZJTEVTX3V0aWwtbGludXgtaHdjbG9jayA9ICIke2Jhc2Vfc2JpbmRpcn0vaHdjbG9jay4ke0JQTn0iCi1GSUxFU191dGlsLWxpbnV4LWZpbmRmcyA9ICIke3NiaW5kaXJ9L2ZpbmRmcyIKLUZJTEVTX3V0aWwtbGludXgtZ2V0b3B0ID0gIiR7YmFzZV9iaW5kaXJ9L2dldG9wdC4ke0JQTn0iCi1GSUxFU191dGlsLWxpbnV4LXJ1bnVzZXIgPSAiJHtzYmluZGlyfS9ydW51c2VyIgotRklMRVNfdXRpbC1saW51eC1wcmxpbWl0ID0gIiR7YmluZGlyfS9wcmxpbWl0IgotRklMRVNfdXRpbC1saW51eC1pb25pY2UgPSAiJHtiaW5kaXJ9L2lvbmljZS4ke0JQTn0iCi1GSUxFU191dGlsLWxpbnV4LXN1ID0gIiR7YmluZGlyfS9zdS51dGlsLWxpbnV4ICR7c3lzY29uZmRpcn0vcGFtLmQvc3UtbCIKLUNPTkZGSUxFU191dGlsLWxpbnV4LXN1ID0gIiR7c3lzY29uZmRpcn0vcGFtLmQvc3UtbCIKLQotRklMRVNfdXRpbC1saW51eC1weWxpYm1vdW50ID0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9L2xpYm1vdW50L3B5bGlibW91bnQuc28gXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9L2xpYm1vdW50L19faW5pdF9fLiogXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9L2xpYm1vdW50L19fcHljYWNoZV9fLyoiCi1GSUxFU191dGlsLWxpbnV4LWxzYmxrID0gIiR7YmluZGlyfS9sc2JsayIKLUZJTEVTX3V0aWwtbGludXgtbHNjcHUgPSAiJHtiaW5kaXJ9L2xzY3B1IgotCi1GSUxFU191dGlsLWxpbnV4LWZzY2sgPSAiJHtiYXNlX3NiaW5kaXJ9L2ZzY2sqIgotRklMRVNfdXRpbC1saW51eC1ta2ZzID0gIiR7c2JpbmRpcn0vbWtmcyIKLQotRklMRVNfdXRpbC1saW51eC1mc2NrLmNyYW1mcyA9ICIke3NiaW5kaXJ9L2ZzY2suY3JhbWZzIgotRklMRVNfdXRpbC1saW51eC1ta2ZzLmNyYW1mcyA9ICIke3NiaW5kaXJ9L21rZnMuY3JhbWZzIgotCi1GSUxFU191dGlsLWxpbnV4LXN1bG9naW4gPSAiJHtiYXNlX3NiaW5kaXJ9L3N1bG9naW4qIgotRklMRVNfdXRpbC1saW51eC1tb3VudHBvaW50ID0gIiR7YmFzZV9iaW5kaXJ9L21vdW50cG9pbnQuJHtCUE59IgotCi1GSUxFU191dGlsLWxpbnV4LXN3aXRjaC1yb290ID0gIiR7YmFzZV9zYmluZGlyfS9zd2l0Y2hfcm9vdC4ke0JQTn0iCi1GSUxFU191dGlsLWxpbnV4LXVuc2hhcmUgPSAiJHtiaW5kaXJ9L3Vuc2hhcmUuJHtCUE59IgorRklMRVNfJHtQTn0tbW91bnQgPSAiJHtzeXNjb25mZGlyfS9kZWZhdWx0L21vdW50YWxsIgorRklMRVNfJHtQTn0tcnVudXNlciA9ICIke3N5c2NvbmZkaXJ9L3BhbS5kL3J1bnVzZXIqIgorRklMRVNfJHtQTn0tc3UgPSAiJHtzeXNjb25mZGlyfS9wYW0uZC9zdS1sIgorQ09ORkZJTEVTXyR7UE59LXN1ID0gIiR7c3lzY29uZmRpcn0vcGFtLmQvc3UtbCIKK0ZJTEVTXyR7UE59LXB5bGlibW91bnQgPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vbGlibW91bnQvcHlsaWJtb3VudC5zbyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9L2xpYm1vdW50L19faW5pdF9fLiogXAorICAgICAgICAgICAgICAgICAgICAgICAgICAke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS9saWJtb3VudC9fX3B5Y2FjaGVfXy8qIgogCiAjIFV0aWwtbGludXgnIGJsa2lkIHJlcGxhY2VzIHRoZSBlMmZzcHJvZ3Mgb25lCi1GSUxFU191dGlsLWxpbnV4LWJsa2lkID0gIiR7YmFzZV9zYmluZGlyfS9ibGtpZCoiCi1SQ09ORkxJQ1RTX3V0aWwtbGludXgtYmxraWQgPSAiZTJmc3Byb2dzLWJsa2lkIgotUlJFUExBQ0VTX3V0aWwtbGludXgtYmxraWQgPSAiZTJmc3Byb2dzLWJsa2lkIgotCi1SREVQRU5EU191dGlsLWxpbnV4LXJ1bnVzZXIgKz0gImxpYnBhbSIKLVJERVBFTkRTX3V0aWwtbGludXgtc3UgKz0gImxpYnBhbSIKLQotUkRFUEVORFNfJHtQTn0gPSAidXRpbC1saW51eC11bW91bnQgdXRpbC1saW51eC1zd2Fwb25vZmYgdXRpbC1saW51eC1sb3NldHVwIHV0aWwtbGludXgtc3Vsb2dpbiB1dGlsLWxpbnV4LWxzYmxrIgotUkRFUEVORFNfJHtQTn0gKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ3V0aWwtbGludXgtcnVudXNlciB1dGlsLWxpbnV4LXN1JywgJycsIGQpfSIKLQotUlJFQ09NTUVORFNfJHtQTn0gPSAidXRpbC1saW51eC1mZGlzayB1dGlsLWxpbnV4LWNmZGlzayB1dGlsLWxpbnV4LXNmZGlzayB1dGlsLWxpbnV4LW1vdW50IHV0aWwtbGludXgtcmVhZHByb2ZpbGUgdXRpbC1saW51eC1ta2ZzIHV0aWwtbGludXgtbW91bnRwb2ludCB1dGlsLWxpbnV4LXBybGltaXQgdXRpbC1saW51eC1pb25pY2UgdXRpbC1saW51eC1zd2l0Y2gtcm9vdCIKK1JDT05GTElDVFNfJHtQTn0tYmxraWQgPSAiJHtNTFBSRUZJWH1lMmZzcHJvZ3MtYmxraWQiCitSUkVQTEFDRVNfJHtQTn0tYmxraWQgPSAiJHtNTFBSRUZJWH1lMmZzcHJvZ3MtYmxraWQiCiAKIFJSRUNPTU1FTkRTXyR7UE59X2NsYXNzLW5hdGl2ZSA9ICIiCiBSUkVDT01NRU5EU18ke1BOfV9jbGFzcy1uYXRpdmVzZGsgPSAiIgogUkRFUEVORFNfJHtQTn1fY2xhc3MtbmF0aXZlID0gIiIKIFJERVBFTkRTXyR7UE59X2NsYXNzLW5hdGl2ZXNkayA9ICIiCiAKLVJQUk9WSURFU18ke1BOfS1kZXYgPSAidXRpbC1saW51eC1saWJibGtpZC1kZXYgdXRpbC1saW51eC1saWJtb3VudC1kZXYgdXRpbC1saW51eC1saWJ1dWlkLWRldiIKK1JQUk9WSURFU18ke1BOfS1kZXYgPSAiJHtQTn0tbGliYmxraWQtZGV2ICR7UE59LWxpYm1vdW50LWRldiAke1BOfS1saWJ1dWlkLWRldiIKKworUkRFUEVORFNfJHtQTn0tYmFzaC1jb21wbGV0aW9uICs9ICIke1BOfS1sc2JsayIKK1JERVBFTkRTXyR7UE59LXB0ZXN0ID0gImJhc2ggZ3JlcCBjb3JldXRpbHMgd2hpY2ggYnRyZnMtdG9vbHMgJHtQTn0iCitSREVQRU5EU18ke1BOfS1zd2Fwb25vZmYgPSAiJHtQTn0tc3dhcG9uICR7UE59LXN3YXBvZmYiCitBTExPV19FTVBUWV8ke1BOfS1zd2Fwb25vZmYgPSAiMSIKIAogI1NZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0tdXVpZGQgJHtQTn0tZnN0cmltIgogU1lTVEVNRF9TRVJWSUNFXyR7UE59LXV1aWRkID0gInV1aWRkLnNvY2tldCB1dWlkZC5zZXJ2aWNlIgpAQCAtMTQxLDIzICsxNTIsMTcgQEAKIFNZU1RFTURfU0VSVklDRV8ke1BOfS1mc3RyaW0gPSAiZnN0cmltLnRpbWVyIGZzdHJpbS5zZXJ2aWNlIgogU1lTVEVNRF9BVVRPX0VOQUJMRV8ke1BOfS1mc3RyaW0gPSAiZGlzYWJsZSIKIAotZG9fY29tcGlsZSAoKSB7Ci0Jc2V0IC1lCi0Jb2VfcnVubWFrZSBBUkNIPSR7VEFSR0VUX0FSQ0h9IENQVT0gQ1BVT1BUPSAnT1BUPSR7Q0ZMQUdTfScKLX0KLQogZG9faW5zdGFsbCAoKSB7CiAJIyB3aXRoIGNjYWNoZSB0aGUgdGltZXN0YW1wcyBvbiBjb21waWxlZCBmaWxlcyBtYXkKIAkjIGVuZCB1cCBlYXJsaWVyIHRoYW4gb24gdGhlaXIgaW5wdXRzLCB0aGlzIGFsbG93cwogCSMgZm9yIHRoZSByZXN1bHRhbnQgY29tcGlsYXRpb24gaW4gdGhlIGluc3RhbGwgc3RlcC4KLQlvZV9ydW5tYWtlIEFSQ0g9JHtUQVJHRVRfQVJDSH0gQ1BVPSBDUFVPUFQ9IFwKLQkJJ09QVD0ke0NGTEFHU30nICdDQz0ke0NDfScgJ0xEPSR7TER9JyBcCisJb2VfcnVubWFrZSAnQ0M9JHtDQ30nICdMRD0ke0xEfScgXAogCQknTERGTEFHUz0ke0xERkxBR1N9JyAnREVTVERJUj0ke0R9JyBpbnN0YWxsCiAKIAlta2RpciAtcCAke0R9JHtiYXNlX2JpbmRpcn0KIAogICAgICAgICBzYmlucHJvZ3M9ImFnZXR0eSBjdHJsYWx0ZGVsIGNmZGlzayB2aXB3IHZpZ3IiCi0gICAgICAgIHNiaW5wcm9nc19hPSJwaXZvdF9yb290IGh3Y2xvY2sgbWtzd2FwIG1rZnMubWluaXggZnNjay5taW5peCBsb3NldHVwIHN3YXBvbiBzd2Fwb2ZmIGZkaXNrIGZzY2sgYmxraWQgYmxvY2tkZXYgZnN0cmltIHN1bG9naW4gc3dpdGNoX3Jvb3Qgbm9sb2dpbiIKKyAgICAgICAgc2JpbnByb2dzX2E9InBpdm90X3Jvb3QgaHdjbG9jayBta3N3YXAgbG9zZXR1cCBzd2Fwb24gc3dhcG9mZiBmZGlzayBmc2NrIGJsa2lkIGJsb2NrZGV2IGZzdHJpbSBzdWxvZ2luIHN3aXRjaF9yb290IG5vbG9naW4iCiAgICAgICAgIGJpbnByb2dzX2E9ImRtZXNnIGdldG9wdCBraWxsIG1vcmUgdW1vdW50IG1vdW50IGxvZ2luIHN1IG1vdW50cG9pbnQiCiAKICAgICAgICAgaWYgWyAiJHtiYXNlX3NiaW5kaXJ9IiAhPSAiJHtzYmluZGlyfSIgXTsgdGhlbgpAQCAtMjA1LDEyMyArMjEwLDgwIEBACiAKIEFMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjgwIgogCi1BTFRFUk5BVElWRV8ke1BOfSAgPSAiIFwKLSAgICBkbWVzZyBraWxsIG1vcmUgbWtzd2FwIGJsb2NrZGV2IHBpdm90X3Jvb3QgXAotICAgIGhleGR1bXAgbGFzdCBsYXN0YiBsb2dnZXIgbWVzZyByZW5pY2Ugd2FsbCBcCi0gICAgc2V0c2lkIGNocnQgZmxvY2sgdXRtcGR1bXAgZWplY3Qgbm9sb2dpbiB0YXNrc2V0IGZhbGxvY2F0ZSBcCi0gICAgZnNmcmVlemUgbnNlbnRlciBjYWwgcmV2IFwKLSIKLQotQUxURVJOQVRJVkVfTElOS19OQU1FW2RtZXNnXSA9ICIke2Jhc2VfYmluZGlyfS9kbWVzZyIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtraWxsXSA9ICIke2Jhc2VfYmluZGlyfS9raWxsIgotQUxURVJOQVRJVkVfTElOS19OQU1FW21vcmVdID0gIiR7YmFzZV9iaW5kaXJ9L21vcmUiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbbWtzd2FwXSA9ICIke2Jhc2Vfc2JpbmRpcn0vbWtzd2FwIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2Jsa2lkXSA9ICIke2Jhc2Vfc2JpbmRpcn0vYmxraWQiCiBBTFRFUk5BVElWRV9MSU5LX05BTUVbYmxvY2tkZXZdID0gIiR7YmFzZV9zYmluZGlyfS9ibG9ja2RldiIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtwaXZvdF9yb290XSA9ICIke2Jhc2Vfc2JpbmRpcn0vcGl2b3Rfcm9vdCIKIEFMVEVSTkFUSVZFX0xJTktfTkFNRVtjYWxdID0gIiR7YmluZGlyfS9jYWwiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbY2hydF0gPSAiJHtiaW5kaXJ9L2NocnQiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbZG1lc2ddID0gIiR7YmFzZV9iaW5kaXJ9L2RtZXNnIgogQUxURVJOQVRJVkVfTElOS19OQU1FW2VqZWN0XSA9ICIke2JpbmRpcn0vZWplY3QiCiBBTFRFUk5BVElWRV9MSU5LX05BTUVbZmFsbG9jYXRlXSA9ICIke2JpbmRpcn0vZmFsbG9jYXRlIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3Jldl0gPSAiJHtiaW5kaXJ9L3JldiIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtmZGlza10gPSAiJHtiYXNlX3NiaW5kaXJ9L2ZkaXNrIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2Zsb2NrXSA9ICIke2JpbmRpcn0vZmxvY2siCitBTFRFUk5BVElWRV9MSU5LX05BTUVbZnNja10gPSAiJHtiYXNlX3NiaW5kaXJ9L2ZzY2siCiBBTFRFUk5BVElWRV9MSU5LX05BTUVbZnNmcmVlemVdID0gIiR7c2JpbmRpcn0vZnNmcmVlemUiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbZnN0cmltXSA9ICIke2Jhc2Vfc2JpbmRpcn0vZnN0cmltIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2dldG9wdF0gPSAiJHtiYXNlX2JpbmRpcn0vZ2V0b3B0IgorQUxURVJOQVRJVkVfJHtQTn0tYWdldHR5ID0gImdldHR5IgorQUxURVJOQVRJVkVfTElOS19OQU1FW2dldHR5XSA9ICIke2Jhc2Vfc2JpbmRpcn0vZ2V0dHkiCitBTFRFUk5BVElWRV9UQVJHRVRbZ2V0dHldID0gIiR7YmFzZV9zYmluZGlyfS9hZ2V0dHkiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbaGV4ZHVtcF0gPSAiJHtiaW5kaXJ9L2hleGR1bXAiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbaHdjbG9ja10gPSAiJHtiYXNlX3NiaW5kaXJ9L2h3Y2xvY2siCitBTFRFUk5BVElWRV9MSU5LX05BTUVbaW9uaWNlXSA9ICIke2JpbmRpcn0vaW9uaWNlIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2tpbGxdID0gIiR7YmFzZV9iaW5kaXJ9L2tpbGwiCitBTFRFUk5BVElWRV8ke1BOfS1sYXN0ID0gImxhc3QgbGFzdGIiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbbGFzdF0gPSAiJHtiaW5kaXJ9L2xhc3QiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbbGFzdGJdID0gIiR7YmluZGlyfS9sYXN0YiIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtsb2dnZXJdID0gIiR7YmluZGlyfS9sb2dnZXIiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbbG9zZXR1cF0gPSAiJHtiYXNlX3NiaW5kaXJ9L2xvc2V0dXAiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbbWVzZ10gPSAiJHtiaW5kaXJ9L21lc2ciCitBTFRFUk5BVElWRV9MSU5LX05BTUVbbWtzd2FwXSA9ICIke2Jhc2Vfc2JpbmRpcn0vbWtzd2FwIgorQUxURVJOQVRJVkVfTElOS19OQU1FW21vcmVdID0gIiR7YmFzZV9iaW5kaXJ9L21vcmUiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbbW91bnRdID0gIiR7YmFzZV9iaW5kaXJ9L21vdW50IgorQUxURVJOQVRJVkVfTElOS19OQU1FW21vdW50cG9pbnRdID0gIiR7YmFzZV9iaW5kaXJ9L21vdW50cG9pbnQiCiBBTFRFUk5BVElWRV9MSU5LX05BTUVbbm9sb2dpbl0gPSAiJHtiYXNlX3NiaW5kaXJ9L25vbG9naW4iCitBTFRFUk5BVElWRV9MSU5LX05BTUVbbnNlbnRlcl0gPSAiJHtiaW5kaXJ9L25zZW50ZXIiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbcGl2b3Rfcm9vdF0gPSAiJHtiYXNlX3NiaW5kaXJ9L3Bpdm90X3Jvb3QiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbcmVhZHByb2ZpbGVdID0gIiR7c2JpbmRpcn0vcmVhZHByb2ZpbGUiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbcmVuaWNlXSA9ICIke2JpbmRpcn0vcmVuaWNlIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3Jldl0gPSAiJHtiaW5kaXJ9L3JldiIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtyZmtpbGxdID0gIiR7c2JpbmRpcn0vcmZraWxsIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3NldHNpZF0gPSAiJHtiaW5kaXJ9L3NldHNpZCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtzdV0gPSAiJHtiYXNlX2JpbmRpcn0vc3UiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbc3Vsb2dpbl0gPSAiJHtiYXNlX3NiaW5kaXJ9L3N1bG9naW4iCitBTFRFUk5BVElWRV9MSU5LX05BTUVbc3dhcG9mZl0gPSAiJHtiYXNlX3NiaW5kaXJ9L3N3YXBvZmYiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbc3dhcG9uXSA9ICIke2Jhc2Vfc2JpbmRpcn0vc3dhcG9uIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3N3aXRjaF9yb290XSA9ICIke2Jhc2Vfc2JpbmRpcn0vc3dpdGNoX3Jvb3QiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbdGFza3NldF0gPSAiJHtiaW5kaXJ9L3Rhc2tzZXQiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbdW1vdW50XSA9ICIke2Jhc2VfYmluZGlyfS91bW91bnQiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbdW5zaGFyZV0gPSAiJHtiaW5kaXJ9L3Vuc2hhcmUiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbdXRtcGR1bXBdID0gIiR7YmluZGlyfS91dG1wZHVtcCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt3YWxsXSA9ICIke2JpbmRpcn0vd2FsbCIKIAotQUxURVJOQVRJVkVfJHtQTn0tZG9jID0gIm1vdW50cG9pbnQuMSBsYXN0LjEgbGFzdGIuMSBtZXNnLjEgd2FsbC4xIG5vbG9naW4uOCBzdWxvZ2luLjggdXRtcGR1bXAuMSByZmtpbGwuOCBraWxsLjEgbGliYmxraWQuMyBibGtpZC44IGZpbmRmcy44IGZzY2suOCB1dWlkLjMgZWplY3QuMSBsb2dnZXIuMSIKK0FMVEVSTkFUSVZFXyR7UE59LWRvYyA9ICJibGtpZC44IGVqZWN0LjEgZmluZGZzLjggZnNjay44IGtpbGwuMSBsYXN0LjEgbGFzdGIuMSBsaWJibGtpZC4zIGxvZ2dlci4xIG1lc2cuMSBtb3VudHBvaW50LjEgbm9sb2dpbi44IHJma2lsbC44IHN1bG9naW4uOCB1dG1wZHVtcC4xIHV1aWQuMyB3YWxsLjEiCitBTFRFUk5BVElWRV8ke1BOfS1kb2MgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3BhbScsICdzdS4xJywgJycsIGQpfSIKIAorQUxURVJOQVRJVkVfTElOS19OQU1FW2Jsa2lkLjhdID0gIiR7bWFuZGlyfS9tYW44L2Jsa2lkLjgiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbZWplY3QuMV0gPSAiJHttYW5kaXJ9L21hbjEvZWplY3QuMSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtmaW5kZnMuOF0gPSAiJHttYW5kaXJ9L21hbjgvZmluZGZzLjgiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbZnNjay44XSA9ICIke21hbmRpcn0vbWFuOC9mc2NrLjgiCitBTFRFUk5BVElWRV9MSU5LX05BTUVba2lsbC4xXSA9ICIke21hbmRpcn0vbWFuMS9raWxsLjEiCiBBTFRFUk5BVElWRV9MSU5LX05BTUVbbGFzdC4xXSA9ICIke21hbmRpcn0vbWFuMS9sYXN0LjEiCiBBTFRFUk5BVElWRV9MSU5LX05BTUVbbGFzdGIuMV0gPSAiJHttYW5kaXJ9L21hbjEvbGFzdGIuMSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtsaWJibGtpZC4zXSA9ICIke21hbmRpcn0vbWFuMy9saWJibGtpZC4zIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2xvZ2dlci4xXSA9ICIke21hbmRpcn0vbWFuMS9sb2dnZXIuMSIKIEFMVEVSTkFUSVZFX0xJTktfTkFNRVttZXNnLjFdID0gIiR7bWFuZGlyfS9tYW4xL21lc2cuMSIKIEFMVEVSTkFUSVZFX0xJTktfTkFNRVttb3VudHBvaW50LjFdID0gIiR7bWFuZGlyfS9tYW4xL21vdW50cG9pbnQuMSIKIEFMVEVSTkFUSVZFX0xJTktfTkFNRVtub2xvZ2luLjhdID0gIiR7bWFuZGlyfS9tYW44L25vbG9naW4uOCIKIEFMVEVSTkFUSVZFX0xJTktfTkFNRVtyZmtpbGwuOF0gPSAiJHttYW5kaXJ9L21hbjgvcmZraWxsLjgiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbc3UuMV0gPSAiJHttYW5kaXJ9L21hbjEvc3UuMSIKIEFMVEVSTkFUSVZFX0xJTktfTkFNRVtzdWxvZ2luLjhdID0gIiR7bWFuZGlyfS9tYW44L3N1bG9naW4uOCIKIEFMVEVSTkFUSVZFX0xJTktfTkFNRVt1dG1wZHVtcC4xXSA9ICIke21hbmRpcn0vbWFuMS91dG1wZHVtcC4xIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3dhbGwuMV0gPSAiJHttYW5kaXJ9L21hbjEvd2FsbC4xIgotQUxURVJOQVRJVkVfTElOS19OQU1FW2tpbGwuMV0gPSAiJHttYW5kaXJ9L21hbjEva2lsbC4xIgotQUxURVJOQVRJVkVfTElOS19OQU1FW2xpYmJsa2lkLjNdID0gIiR7bWFuZGlyfS9tYW4zL2xpYmJsa2lkLjMiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbYmxraWQuOF0gPSAiJHttYW5kaXJ9L21hbjgvYmxraWQuOCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtmaW5kZnMuOF0gPSAiJHttYW5kaXJ9L21hbjgvZmluZGZzLjgiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbZnNjay44XSA9ICIke21hbmRpcn0vbWFuOC9mc2NrLjgiCiBBTFRFUk5BVElWRV9MSU5LX05BTUVbdXVpZC4zXSA9ICIke21hbmRpcn0vbWFuMy91dWlkLjMiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbZWplY3QuMV0gPSAiJHttYW5kaXJ9L21hbjEvZWplY3QuMSIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtsb2dnZXIuMV0gPSAiJHttYW5kaXJ9L21hbjEvbG9nZ2VyLjEiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbd2FsbC4xXSA9ICIke21hbmRpcn0vbWFuMS93YWxsLjEiCiAKLUFMVEVSTkFUSVZFX3V0aWwtbGludXgtaHdjbG9jayA9ICJod2Nsb2NrIgotQUxURVJOQVRJVkVfTElOS19OQU1FW2h3Y2xvY2tdID0gIiR7YmFzZV9zYmluZGlyfS9od2Nsb2NrIgotCi1BTFRFUk5BVElWRV91dGlsLWxpbnV4LWZkaXNrID0gImZkaXNrIgotQUxURVJOQVRJVkVfTElOS19OQU1FW2ZkaXNrXSA9ICIke2Jhc2Vfc2JpbmRpcn0vZmRpc2siCi0KLUFMVEVSTkFUSVZFX3V0aWwtbGludXgtZnN0cmltID0gImZzdHJpbSIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtmc3RyaW1dID0gIiR7YmFzZV9zYmluZGlyfS9mc3RyaW0iCi0KLUFMVEVSTkFUSVZFX3V0aWwtbGludXgtYWdldHR5ID0gImdldHR5IgotQUxURVJOQVRJVkVfTElOS19OQU1FW2dldHR5XSA9ICIke2Jhc2Vfc2JpbmRpcn0vZ2V0dHkiCi1BTFRFUk5BVElWRV9UQVJHRVRbZ2V0dHldID0gIiR7YmFzZV9zYmluZGlyfS9hZ2V0dHkiCi0KLUFMVEVSTkFUSVZFX3V0aWwtbGludXgtbW91bnQgPSAibW91bnQiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbbW91bnRdID0gIiR7YmFzZV9iaW5kaXJ9L21vdW50IgotCi1BTFRFUk5BVElWRV91dGlsLWxpbnV4LXVtb3VudCA9ICJ1bW91bnQiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbdW1vdW50XSA9ICIke2Jhc2VfYmluZGlyfS91bW91bnQiCi0KLUFMVEVSTkFUSVZFX3V0aWwtbGludXgtcmVhZHByb2ZpbGUgPSAicmVhZHByb2ZpbGUiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbcmVhZHByb2ZpbGVdID0gIiR7c2JpbmRpcn0vcmVhZHByb2ZpbGUiCi0KLUFMVEVSTkFUSVZFX3V0aWwtbGludXgtbG9zZXR1cCA9ICJsb3NldHVwIgotQUxURVJOQVRJVkVfTElOS19OQU1FW2xvc2V0dXBdID0gIiR7YmFzZV9zYmluZGlyfS9sb3NldHVwIgotCi1BTFRFUk5BVElWRV91dGlsLWxpbnV4LXN3YXBvbm9mZiA9ICJzd2Fwb2ZmIHN3YXBvbiIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtzd2Fwb2ZmXSA9ICIke2Jhc2Vfc2JpbmRpcn0vc3dhcG9mZiIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtzd2Fwb25dID0gIiR7YmFzZV9zYmluZGlyfS9zd2Fwb24iCi0KLUFMVEVSTkFUSVZFX3V0aWwtbGludXgtZnNjayA9ICJmc2NrIgotQUxURVJOQVRJVkVfTElOS19OQU1FW2ZzY2tdID0gIiR7YmFzZV9zYmluZGlyfS9mc2NrIgotCi1BTFRFUk5BVElWRV91dGlsLWxpbnV4LWJsa2lkID0gImJsa2lkIgotQUxURVJOQVRJVkVfTElOS19OQU1FW2Jsa2lkXSA9ICIke2Jhc2Vfc2JpbmRpcn0vYmxraWQiCi0KLUFMVEVSTkFUSVZFX3V0aWwtbGludXgtcmZraWxsID0gInJma2lsbCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtyZmtpbGxdID0gIiR7c2JpbmRpcn0vcmZraWxsIgotCi1BTFRFUk5BVElWRV91dGlsLWxpbnV4LWdldG9wdCA9ICJnZXRvcHQiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbZ2V0b3B0XSA9ICIke2Jhc2VfYmluZGlyfS9nZXRvcHQiCi0KLUFMVEVSTkFUSVZFX3V0aWwtbGludXgtc3Vsb2dpbiA9ICJzdWxvZ2luIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3N1bG9naW5dID0gIiR7YmFzZV9zYmluZGlyfS9zdWxvZ2luIgotCi1BTFRFUk5BVElWRV91dGlsLWxpbnV4LW1vdW50cG9pbnQgPSAibW91bnRwb2ludCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVttb3VudHBvaW50XSA9ICIke2Jhc2VfYmluZGlyfS9tb3VudHBvaW50IgotCi1BTFRFUk5BVElWRV91dGlsLWxpbnV4LXVuc2hhcmUgPSAidW5zaGFyZSIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVt1bnNoYXJlXSA9ICIke2JpbmRpcn0vdW5zaGFyZSIKLQotQUxURVJOQVRJVkVfdXRpbC1saW51eC1pb25pY2UgPSAiaW9uaWNlIgotQUxURVJOQVRJVkVfTElOS19OQU1FW2lvbmljZV0gPSAiJHtiaW5kaXJ9L2lvbmljZSIKLQotQUxURVJOQVRJVkVfdXRpbC1saW51eC1zd2l0Y2gtcm9vdCA9ICJzd2l0Y2hfcm9vdCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtzd2l0Y2hfcm9vdF0gPSAiJHtiYXNlX3NiaW5kaXJ9L3N3aXRjaF9yb290IgogCiBCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCiAKLXB5dGhvbiBkb19wYWNrYWdlX3ByZXBlbmQgKCkgewotICAgIGlmICctLWVuYWJsZS1zdScgaW4gZC5nZXRWYXIoJ0VYVFJBX09FQ09ORicpLnNwbGl0KCk6Ci0gICAgICAgIGQuYXBwZW5kVmFyKGQuZXhwYW5kKCdBTFRFUk5BVElWRV8ke1BOfScpLCAnIHN1JykKLSAgICAgICAgZC5hcHBlbmRWYXIoZC5leHBhbmQoJ0FMVEVSTkFUSVZFXyR7UE59LWRvYycpLCAnIHN1LjEnKQotCi0gICAgICAgIGQuc2V0VmFyRmxhZygnQUxURVJOQVRJVkVfTElOS19OQU1FJywgInN1IiwgZC5leHBhbmQoJyR7YmFzZV9iaW5kaXJ9L3N1JykpCi0gICAgICAgIGQuc2V0VmFyRmxhZygnQUxURVJOQVRJVkVfTElOS19OQU1FJywgInN1LjEiLCBkLmV4cGFuZCgnJHttYW5kaXJ9L21hbjEvc3UuMScpKQotfQotCi1weXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCgpIHsKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCAnJHtiYXNlX2xpYmRpcn0nLCAnXmxpYiguKilcLnNvXC4uKiQnLAotICAgICAgICAgICAgICAgICAgICAgIG91dHB1dF9wYXR0ZXJuPSd1dGlsLWxpbnV4LWxpYiVzJywKLSAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbj0ndXRpbC1saW51eCBsaWIlcycsCi0gICAgICAgICAgICAgICAgICAgICAgZXh0cmFfZGVwZW5kcz0nJywgcHJlcGVuZD1UcnVlLCBhbGxvd19saW5rcz1UcnVlKQotfQotCi1SREVQRU5EU18ke1BOfS1iYXNoLWNvbXBsZXRpb24gKz0gInV0aWwtbGludXgtbHNibGsiCi1SREVQRU5EU18ke1BOfS1wdGVzdCA9ICJiYXNoIGdyZXAgY29yZXV0aWxzIHdoaWNoIHV0aWwtbGludXgtYmxraWQgdXRpbC1saW51eC1mc2NrIGJ0cmZzLXRvb2xzIgotCiBkb19jb21waWxlX3B0ZXN0KCkgewogICAgIG9lX3J1bm1ha2UgYnVpbGR0ZXN0LVRFU1RTCiB9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3V0aWwtbGludXgvdXRpbC1saW51eC9jaGVjay1mb3ItX0hBVkVfU1RSVUNUX1RFUk1JT1NfQ19PU1BFRUQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3V0aWwtbGludXgvdXRpbC1saW51eC9jaGVjay1mb3ItX0hBVkVfU1RSVUNUX1RFUk1JT1NfQ19PU1BFRUQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzkyYzI3NgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvdXRpbC1saW51eC91dGlsLWxpbnV4L2NoZWNrLWZvci1fSEFWRV9TVFJVQ1RfVEVSTUlPU19DX09TUEVFRC5wYXRjaApAQCAtMCwwICsxLDE2IEBACitDaGVja2luZyBmb3IgZXhpdGVuY2Ugb2YgdGhlIGRlZmluZSBpcyBub3QgZW5vdWdoIHNpbmNlCitpdCB3aWxsIGJlIGRlZmluZWQgd2l0aCAwIG9yIDEgdmFsdWUKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tIGEvc3lzLXV0aWxzL2xkYXR0YWNoLmMKKysrKyBiL3N5cy11dGlscy9sZGF0dGFjaC5jCitAQCAtMjQyLDcgKzI0Miw3IEBAIHN0YXRpYyBpbnQgbXlfY2ZzZXRzcGVlZChzdHJ1Y3QgdGVybWlvcworIAkgKiAtLSB3ZSBoYXZlIHRvIGJ5cGFzcyBnbGliYyBhbmQgc2V0IHRoZSBzcGVlZCBtYW51YWxseSAoYmVjYXVzZSBnbGliYworIAkgKiAgICBjaGVja3MgZm9yIHNwZWVkIGFuZCBzdXBwb3J0cyBCeHh4IGJpdCByYXRlcyBvbmx5KS4uLgorIAkgKi8KKy0jaWZkZWYgX0hBVkVfU1RSVUNUX1RFUk1JT1NfQ19JU1BFRUQKKysjaWYgX0hBVkVfU1RSVUNUX1RFUk1JT1NfQ19JU1BFRUQKKyAjIGRlZmluZSBCT1RIRVIgMDAxMDAwMAkJLyogbm9uIHN0YW5kYXJkIHJhdGUgKi8KKyAJZGJnKCJ1c2luZyBub24tc3RhbmRhcmQgc3BlZWRzIik7CisgCXRzLT5jX29zcGVlZCA9IHRzLT5jX2lzcGVlZCA9IHNwZWVkOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS91dGlsLWxpbnV4L3V0aWwtbGludXgvdXRpbC1saW51eC1uYXRpdmUtcXNvcnQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3V0aWwtbGludXgvdXRpbC1saW51eC91dGlsLWxpbnV4LW5hdGl2ZS1xc29ydC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjhiZjIyZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3V0aWwtbGludXgvdXRpbC1saW51eC91dGlsLWxpbnV4LW5hdGl2ZS1xc29ydC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLUZyb20gZjIyMGQ4MDliZTFiYWE2NTQ1MDNiZjZmZjUyZjM2MzBiMGQ3MDE1YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotRGF0ZTogV2VkLCAyNiBNYXIgMjAxNCAwMTozMDoyOSArMDAwMAotU3ViamVjdDogW1BBVENIXSBzdW4uYzogdXNlIHFzb3J0KCkgdG8gaW5zdGVhZCBvZiBxc29ydF9yKCkKLQotcXNvcnRfcigpIHdhcyBhZGRlZCB0byBnbGliYyBpbiB2ZXJzaW9uIDIuOCwgc28gdGhlcmUgaXMgbm8gcXNvcnRfcigpIG9uCi10aGUgaG9zdCBsaWtlIENlbnRPUyA1LnguCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT3RoZXJdCi0KLVNpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotLS0tCi0gbGliZmRpc2svc3JjL3N1bi5jIHwgNSArKy0tLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLUluZGV4OiB1dGlsLWxpbnV4LTIuMjQuMi9saWJmZGlzay9zcmMvc3VuLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSB1dGlsLWxpbnV4LTIuMjQuMi5vcmlnL2xpYmZkaXNrL3NyYy9zdW4uYwotKysrIHV0aWwtbGludXgtMi4yNC4yL2xpYmZkaXNrL3NyYy9zdW4uYwotQEAgLTQzMSwxMCArNDMxLDkgQEAgc3RhdGljIGludCBzdW5fdmVyaWZ5X2Rpc2tsYWJlbChzdHJ1Y3QgZgotICAgICB9Ci0gICAgIHZlcmlmeV9zdW5fc3RhcnRzID0gc3RhcnRzOwotIAotLSAgICBxc29ydF9yKGFycmF5LEFSUkFZX1NJWkUoYXJyYXkpLHNpemVvZihhcnJheVswXSksCi0tCSAgKGludCAoKikoY29uc3Qgdm9pZCAqLGNvbnN0IHZvaWQgKix2b2lkICopKSB2ZXJpZnlfc3VuX2NtcCwKLS0JICB2ZXJpZnlfc3VuX3N0YXJ0cyk7Ci0tCi0rICAgIHFzb3J0KGFycmF5LEFSUkFZX1NJWkUoYXJyYXkpLHNpemVvZihhcnJheVswXSksCi0rICAgICAgICAgKGludCAoKikoY29uc3Qgdm9pZCAqLGNvbnN0IHZvaWQgKikpIHZlcmlmeV9zdW5fY21wKTsKLSsgCi0gICAgIGlmIChhcnJheVswXSA9PSAtMSkgewotIAlmZGlza19pbmZvKGN4dCwgXygiTm8gcGFydGl0aW9ucyBkZWZpbmVkLiIpKTsKLSAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3V0aWwtbGludXgvdXRpbC1saW51eF8yLjMyLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3V0aWwtbGludXgvdXRpbC1saW51eF8yLjMyLjEuYmIKaW5kZXggYTYxNmQ4NS4uZTBiZDM4MyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS91dGlsLWxpbnV4L3V0aWwtbGludXhfMi4zMi4xLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvdXRpbC1saW51eC91dGlsLWxpbnV4XzIuMzIuMS5iYgpAQCAtMSwyOCArMSwxMyBAQAotTUFKT1JfVkVSU0lPTiA9ICIyLjMyIgogcmVxdWlyZSB1dGlsLWxpbnV4LmluYwogCi0jIFRvIHN1cHBvcnQgb2xkZXIgaG9zdHMsIHdlIG5lZWQgdG8gcGF0Y2ggYW5kL29yIHJldmVydAotIyBzb21lIHVwc3RyZWFtIGNoYW5nZXMuICBPbmx5IGRvIHRoaXMgZm9yIG5hdGl2ZSBwYWNrYWdlcy4KLU9MREhPU1QgPSAiIgotT0xESE9TVF9jbGFzcy1uYXRpdmUgPSAiZmlsZTovL3V0aWwtbGludXgtbmF0aXZlLXFzb3J0LnBhdGNoIgotCiBTUkNfVVJJICs9ICJmaWxlOi8vY29uZmlndXJlLXNiaW5kaXIucGF0Y2ggXAogICAgICAgICAgICAgZmlsZTovL3J1bnVzZXIucGFtZCBcCiAgICAgICAgICAgICBmaWxlOi8vcnVudXNlci1sLnBhbWQgXAotICAgICAgICAgICAgJHtPTERIT1NUfSBcCiAgICAgICAgICAgICBmaWxlOi8vcHRlc3QucGF0Y2ggXAogICAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCiAgICAgICAgICAgICBmaWxlOi8vZGlzcGxheV90ZXN0bmFtZV9mb3Jfc3VidGVzdC5wYXRjaCBcCiAgICAgICAgICAgICBmaWxlOi8vYXZvaWRfcGFyYWxsZWxfdGVzdHMucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL2NoZWNrLWZvci1fSEFWRV9TVFJVQ1RfVEVSTUlPU19DX09TUEVFRC5wYXRjaCBcCiAiCiBTUkNfVVJJW21kNXN1bV0gPSAiOWU1YjFiOGMxZGM5OTQ1NWJkYjZiNDYyY2Y5NDM2ZDkiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODZlNjcwN2EzNzljN2ZmNTQ4OWMyMThjZmFmMWUzNDY0YjBiOTVhY2Y3ODE3ZGIwYmM1ZjE3OWUzNTZhNjdiMiIKLQotQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gInNjYW5mX2N2X2FsbG9jX21vZGlmaWVyPW1zIgotCi1FWFRSQV9PRUNPTkZfY2xhc3MtbmF0aXZlID0gIiR7U0hBUkVEX0VYVFJBX09FQ09ORn0gXAotCQkJICAgICAtLWRpc2FibGUtdXNlLXR0eS1ncm91cCBcCi0iCi1FWFRSQV9PRUNPTkZfY2xhc3MtbmF0aXZlc2RrID0gIiR7U0hBUkVEX0VYVFJBX09FQ09ORn0gXAotCQkJCS0tZGlzYWJsZS11c2UtdHR5LWdyb3VwIFwKLSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvemxpYi96bGliLTEuMi4xMS9NYWtlZmlsZS1ydW50ZXN0cy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvemxpYi96bGliLTEuMi4xMS9NYWtlZmlsZS1ydW50ZXN0cy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjFlZWE4Mi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3psaWIvemxpYi0xLjIuMTEvTWFrZWZpbGUtcnVudGVzdHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi1BZGQgJ3B0ZXN0JyB0YXJnZXQgdG8gTWFrZWZpbGUsIHRvIHJ1biB0ZXN0cyB3aXRob3V0IGNoZWNraW5nIGRlcGVuZGVuY2llcy4KLQotU2lnbmVkLW9mZi1ieTogQW5kZXJzIFJveGVsbCA8YW5kZXJzLnJveGVsbEBlbmVhLmNvbT4KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi1kaWZmIC11TnIgYS9NYWtlZmlsZS5pbiBiL01ha2VmaWxlLmluCi0tLS0gYS9NYWtlZmlsZS5pbgkyMDEzLTA2LTEwIDEzOjQ4OjE0LjMyMTk1OTE2MiArMDIwMAotKysrIGIvTWFrZWZpbGUuaW4JMjAxMy0wNi0xMCAxMzo0OTozNi42ODY0NzY0NDggKzAyMDAKLUBAIC04Myw2ICs4Myw5IEBACi0gdGVzdDogYWxsIHRlc3RzdGF0aWMgdGVzdHNoYXJlZAotIAotIHRlc3RzdGF0aWM6IHN0YXRpYwotKwlAbWFrZSBydW50ZXN0c3RhdGljCi0rCi0rcnVudGVzdHN0YXRpYzoKLSAJQFRNUFNUPXRtcHN0XyQkOyBcCi0gCWlmIGVjaG8gaGVsbG8gd29ybGQgfCAuL21pbmlnemlwIHwgLi9taW5pZ3ppcCAtZCAmJiAuL2V4YW1wbGUgJCRUTVBTVCA7IHRoZW4gXAotIAkgIGVjaG8gJwkJKioqIHpsaWIgdGVzdCBPSyAqKionOyBcCi1AQCAtOTIsNiArOTUsOSBAQAotIAlybSAtZiAkJFRNUFNUCi0gCi0gdGVzdHNoYXJlZDogc2hhcmVkCi0rCUBtYWtlIHJ1bnRlc3RzaGFyZWQKLSsKLStydW50ZXN0c2hhcmVkOgotIAlATERfTElCUkFSWV9QQVRIPWBwd2RgOiQoTERfTElCUkFSWV9QQVRIKSA7IGV4cG9ydCBMRF9MSUJSQVJZX1BBVEg7IFwKLSAJTERfTElCUkFSWU4zMl9QQVRIPWBwd2RgOiQoTERfTElCUkFSWU4zMl9QQVRIKSA7IGV4cG9ydCBMRF9MSUJSQVJZTjMyX1BBVEg7IFwKLSAJRFlMRF9MSUJSQVJZX1BBVEg9YHB3ZGA6JChEWUxEX0xJQlJBUllfUEFUSCkgOyBleHBvcnQgRFlMRF9MSUJSQVJZX1BBVEg7IFwKLUBAIC0xMDUsNiArMTExLDkgQEAKLSAJcm0gLWYgJCRUTVBTSAotIAotIHRlc3Q2NDogYWxsNjQKLSsJQG1ha2UgcnVudGVzdGFsbDY0Ci0rCi0rcnVudGVzdGFsbDY0OgotIAlAVE1QNjQ9dG1wNjRfJCQ7IFwKLSAJaWYgZWNobyBoZWxsbyB3b3JsZCB8IC4vbWluaWd6aXA2NCB8IC4vbWluaWd6aXA2NCAtZCAmJiAuL2V4YW1wbGU2NCAkJFRNUDY0OyB0aGVuIFwKLSAJICBlY2hvICcJCSoqKiB6bGliIDY0LWJpdCB0ZXN0IE9LICoqKic7IFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvemxpYi96bGliLTEuMi4xMS9sZGZsYWdzLXRlc3RzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS96bGliL3psaWItMS4yLjExL2xkZmxhZ3MtdGVzdHMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE5YzQwYjcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS96bGliL3psaWItMS4yLjExL2xkZmxhZ3MtdGVzdHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi1PYmV5IExERkxBR1MgZm9yIHRlc3RzCi0KLVNpZ25lZC1vZmYtYnk6IENocmlzdG9waGVyIExhcnNvbiA8Y2hyaXNfbGFyc29uQG1lbnRvci5jb20+Ci1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotLS0tIHpsaWItMS4yLjgub3JpZy9NYWtlZmlsZS5pbgotKysrIHpsaWItMS4yLjgvTWFrZWZpbGUuaW4KLUBAIC0yNiw3ICsyNiw3IEBAIENGTEFHUz0tTwotCi0gU0ZMQUdTPS1PCi0gTERGTEFHUz0KLS1URVNUX0xERkxBR1M9LUwuIGxpYnouYQotK1RFU1RfTERGTEFHUz0tTC4gJChMREZMQUdTKQotIExEU0hBUkVEPSQoQ0MpCi0gQ1BQPSQoQ0MpIC1FCi0KLUBAIC0xNzYsMjIgKzE3NiwyMiBAQCBwbGFjZWJvICQoU0hBUkVETElCVik6ICQoUElDX09CSlMpIGxpYnouCi0JLUBybWRpciBvYmpzCi0KLSBleGFtcGxlJChFWEUpOiBleGFtcGxlLm8gJChTVEFUSUNMSUIpCi0tCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBleGFtcGxlLm8gJChURVNUX0xERkxBR1MpCi0rCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBleGFtcGxlLm8gJChURVNUX0xERkxBR1MpICQoU1RBVElDTElCKQotCi0gbWluaWd6aXAkKEVYRSk6IG1pbmlnemlwLm8gJChTVEFUSUNMSUIpCi0tCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBtaW5pZ3ppcC5vICQoVEVTVF9MREZMQUdTKQotKwkkKENDKSAkKENGTEFHUykgLW8gJEAgbWluaWd6aXAubyAkKFRFU1RfTERGTEFHUykgJChTVEFUSUNMSUIpCi0KLSBleGFtcGxlc2gkKEVYRSk6IGV4YW1wbGUubyAkKFNIQVJFRExJQlYpCi0tCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBleGFtcGxlLm8gLUwuICQoU0hBUkVETElCVikKLSsJJChDQykgJChDRkxBR1MpIC1vICRAIGV4YW1wbGUubyAkKFRFU1RfTERGTEFHUykgJChTSEFSRURMSUJWKQotCi0gbWluaWd6aXBzaCQoRVhFKTogbWluaWd6aXAubyAkKFNIQVJFRExJQlYpCi0tCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBtaW5pZ3ppcC5vIC1MLiAkKFNIQVJFRExJQlYpCi0rCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBtaW5pZ3ppcC5vICQoVEVTVF9MREZMQUdTKSAkKFNIQVJFRExJQlYpCi0KLSBleGFtcGxlNjQkKEVYRSk6IGV4YW1wbGU2NC5vICQoU1RBVElDTElCKQotLQkkKENDKSAkKENGTEFHUykgLW8gJEAgZXhhbXBsZTY0Lm8gJChURVNUX0xERkxBR1MpCi0rCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBleGFtcGxlNjQubyAkKFRFU1RfTERGTEFHUykgJChTVEFUSUNMSUIpCi0KLSBtaW5pZ3ppcDY0JChFWEUpOiBtaW5pZ3ppcDY0Lm8gJChTVEFUSUNMSUIpCi0tCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBtaW5pZ3ppcDY0Lm8gJChURVNUX0xERkxBR1MpCi0rCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBtaW5pZ3ppcDY0Lm8gJChURVNUX0xERkxBR1MpICQoU1RBVElDTElCKQotCi0gaW5zdGFsbC1saWJzOiAkKExJQlMpCi0JLUBpZiBbICEgLWQgJChERVNURElSKSQoZXhlY19wcmVmaXgpICBdOyB0aGVuIG1rZGlyIC1wICQoREVTVERJUikkKGV4ZWNfcHJlZml4KTsgZmkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvemxpYi96bGliLTEuMi4xMS9yZW1vdmUubGRjb25maWcuY2FsbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvemxpYi96bGliLTEuMi4xMS9yZW1vdmUubGRjb25maWcuY2FsbC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2NjYmUxZi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3psaWIvemxpYi0xLjIuMTEvcmVtb3ZlLmxkY29uZmlnLmNhbGwucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi0KLVdoZW4gL2V0Yy9sZC5zby5jYWNoZSBpcyB3cml0ZWFibGUgYnkgdXNlciBydW5uaW5nIGJpdGJha2UgdGhlbiBpdCBjcmVhdGVzIGludmFsaWQgY2FjaGUgCi0oaW4gbXkgY2FzZSBsaWJzdGRjKysuc28gY2Fubm90IGJlIGZvdW5kIGFmdGVyIGJ1aWxkaW5nIHpsaWIoLW5hdGl2ZSkgYW5kIEkgaGF2ZSB0byBjYWxsIAotdG91Y2ggKi9saWJzdGRjKysuc28gJiYgL3NiaW4vbGRjb25maWcgdG8gZml4IGl0LgotCi1TbyByZW1vdmUgbGRjb25maWcgY2FsbCBmcm9tIG1ha2UgaW5zdGFsbC1saWJzCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZGlzYWJsZSBmZWF0dXJlXQotCi1JbmRleDogemxpYi0xLjIuMTEvTWFrZWZpbGUuaW4KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSB6bGliLTEuMi4xMS5vcmlnL01ha2VmaWxlLmluCi0rKysgemxpYi0xLjIuMTEvTWFrZWZpbGUuaW4KLUBAIC0zMjIsNyArMzIyLDYgQEAgaW5zdGFsbC1saWJzOiAkKExJQlMpCi0gCSAgcm0gLWYgJChERVNURElSKSQoc2hhcmVkbGliZGlyKS8kKFNIQVJFRExJQikgJChERVNURElSKSQoc2hhcmVkbGliZGlyKS8kKFNIQVJFRExJQk0pOyBcCi0gCSAgbG4gLXMgJChTSEFSRURMSUJWKSAkKERFU1RESVIpJChzaGFyZWRsaWJkaXIpLyQoU0hBUkVETElCKTsgXAotIAkgIGxuIC1zICQoU0hBUkVETElCVikgJChERVNURElSKSQoc2hhcmVkbGliZGlyKS8kKFNIQVJFRExJQk0pOyBcCi0tCSAgKCQoTERDT05GSUcpIHx8IHRydWUpICA+L2Rldi9udWxsIDI+JjE7IFwKLSAJZmkKLSAJcm0gLWYgJChERVNURElSKSQobWFuM2RpcikvemxpYi4zCi0gCWNwICQoU1JDRElSKXpsaWIuMyAkKERFU1RESVIpJChtYW4zZGlyKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS96bGliL3psaWItMS4yLjExL3J1bi1wdGVzdCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvemxpYi96bGliLTEuMi4xMS9ydW4tcHRlc3QKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg4NGQ5ZGMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS96bGliL3psaWItMS4yLjExL3J1bi1wdGVzdAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotIyEvYmluL3NoCi1tYWtlIC1rIHJ1bnRlc3RzdGF0aWMgcnVudGVzdHNoYXJlZCB8IHNlZCAtciAtZSAncy9eKFxzK1wqKyAoLis/KSB0ZXN0IE9LIFwqKykvXDFcblBBU1M6IFwyLycgLWUgJ3MvXihccytcKisgKC4rPykgdGVzdCBGQUlMRUQgXCorKS9cMVxuRkFJTDogXDIvJwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS96bGliL3psaWIvbGRmbGFncy10ZXN0cy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvemxpYi96bGliL2xkZmxhZ3MtdGVzdHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjg2MzkwNgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvemxpYi96bGliL2xkZmxhZ3MtdGVzdHMucGF0Y2gKQEAgLTAsMCArMSw0NSBAQAorT2JleSBMREZMQUdTIGZvciB0ZXN0cworCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL21hZGxlci96bGliL3B1bGwvNDA5XQorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworLS0tIHpsaWItMS4yLjgub3JpZy9NYWtlZmlsZS5pbgorKysrIHpsaWItMS4yLjgvTWFrZWZpbGUuaW4KK0BAIC0yNiw3ICsyNiw3IEBAIENGTEFHUz0tTworCisgU0ZMQUdTPS1PCisgTERGTEFHUz0KKy1URVNUX0xERkxBR1M9LUwuIGxpYnouYQorK1RFU1RfTERGTEFHUz0tTC4gJChMREZMQUdTKQorIExEU0hBUkVEPSQoQ0MpCisgQ1BQPSQoQ0MpIC1FCisKK0BAIC0xNzYsMjIgKzE3NiwyMiBAQCBwbGFjZWJvICQoU0hBUkVETElCVik6ICQoUElDX09CSlMpIGxpYnouCisJLUBybWRpciBvYmpzCisKKyBleGFtcGxlJChFWEUpOiBleGFtcGxlLm8gJChTVEFUSUNMSUIpCistCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBleGFtcGxlLm8gJChURVNUX0xERkxBR1MpCisrCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBleGFtcGxlLm8gJChURVNUX0xERkxBR1MpICQoU1RBVElDTElCKQorCisgbWluaWd6aXAkKEVYRSk6IG1pbmlnemlwLm8gJChTVEFUSUNMSUIpCistCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBtaW5pZ3ppcC5vICQoVEVTVF9MREZMQUdTKQorKwkkKENDKSAkKENGTEFHUykgLW8gJEAgbWluaWd6aXAubyAkKFRFU1RfTERGTEFHUykgJChTVEFUSUNMSUIpCisKKyBleGFtcGxlc2gkKEVYRSk6IGV4YW1wbGUubyAkKFNIQVJFRExJQlYpCistCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBleGFtcGxlLm8gLUwuICQoU0hBUkVETElCVikKKysJJChDQykgJChDRkxBR1MpIC1vICRAIGV4YW1wbGUubyAkKFRFU1RfTERGTEFHUykgJChTSEFSRURMSUJWKQorCisgbWluaWd6aXBzaCQoRVhFKTogbWluaWd6aXAubyAkKFNIQVJFRExJQlYpCistCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBtaW5pZ3ppcC5vIC1MLiAkKFNIQVJFRExJQlYpCisrCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBtaW5pZ3ppcC5vICQoVEVTVF9MREZMQUdTKSAkKFNIQVJFRExJQlYpCisKKyBleGFtcGxlNjQkKEVYRSk6IGV4YW1wbGU2NC5vICQoU1RBVElDTElCKQorLQkkKENDKSAkKENGTEFHUykgLW8gJEAgZXhhbXBsZTY0Lm8gJChURVNUX0xERkxBR1MpCisrCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBleGFtcGxlNjQubyAkKFRFU1RfTERGTEFHUykgJChTVEFUSUNMSUIpCisKKyBtaW5pZ3ppcDY0JChFWEUpOiBtaW5pZ3ppcDY0Lm8gJChTVEFUSUNMSUIpCistCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBtaW5pZ3ppcDY0Lm8gJChURVNUX0xERkxBR1MpCisrCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBtaW5pZ3ppcDY0Lm8gJChURVNUX0xERkxBR1MpICQoU1RBVElDTElCKQorCisgaW5zdGFsbC1saWJzOiAkKExJQlMpCisJLUBpZiBbICEgLWQgJChERVNURElSKSQoZXhlY19wcmVmaXgpICBdOyB0aGVuIG1rZGlyIC1wICQoREVTVERJUikkKGV4ZWNfcHJlZml4KTsgZmkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvemxpYi96bGliL3J1bi1wdGVzdCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvemxpYi96bGliL3J1bi1wdGVzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjU4NjNlCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS96bGliL3psaWIvcnVuLXB0ZXN0CkBAIC0wLDAgKzEsNyBAQAorIyEvYmluL3NoCisKK2lmIC4vZXhhbXBsZXNoIDsgdGhlbgorICAgIGVjaG8gIlBBU1M6IHpsaWIiCitlbHNlCisgICAgZWNobyAiRkFJTDogemxpYiIKK2ZpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3psaWIvemxpYl8xLjIuMTEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3psaWIvemxpYl8xLjIuMTEuYmIKaW5kZXggNjQxMDUxOS4uZWY5NDMxYSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS96bGliL3psaWJfMS4yLjExLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvemxpYi96bGliXzEuMi4xMS5iYgpAQCAtNyw4ICs3LDYgQEAKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3psaWIuaDtiZWdpbmxpbmU9NjtlbmRsaW5lPTIzO21kNT01Mzc3MjMyMjY4ZTk1MmU5ZWY2M2JjNTU1ZjdhYTZjMCIKIAogU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vbGlicG5nLyR7QlBOfS8ke1BWfS8ke0JQTn0tJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovL3JlbW92ZS5sZGNvbmZpZy5jYWxsLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL01ha2VmaWxlLXJ1bnRlc3RzLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL2xkZmxhZ3MtdGVzdHMucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKICAgICAgICAgICAgIgpAQCAtMjQsMzIgKzIyLDE5IEBACiBpbmhlcml0IHB0ZXN0CiAKIGRvX2NvbmZpZ3VyZSgpIHsKLQl1bmFtZT1HTlUgLi9jb25maWd1cmUgLS1wcmVmaXg9JHtwcmVmaXh9IC0tc2hhcmVkIC0tbGliZGlyPSR7bGliZGlyfQorCUxEQ09ORklHPXRydWUgLi9jb25maWd1cmUgLS1wcmVmaXg9JHtwcmVmaXh9IC0tc2hhcmVkIC0tbGliZGlyPSR7bGliZGlyfSAtLXVuYW1lPUdOVQogfQogCiBkb19jb21waWxlKCkgewogCW9lX3J1bm1ha2Ugc2hhcmVkCiB9CiAKLWRvX2NvbXBpbGVfcHRlc3QoKSB7Ci0Jb2VfcnVubWFrZSB0ZXN0Ci19Ci0KIGRvX2luc3RhbGwoKSB7CiAJb2VfcnVubWFrZSBERVNURElSPSR7RH0gaW5zdGFsbAogfQogCiBkb19pbnN0YWxsX3B0ZXN0KCkgewotCWluc3RhbGwgJHtCfS9NYWtlZmlsZSAgICR7RH0ke1BURVNUX1BBVEh9Ci0JaW5zdGFsbCAke0J9L2V4YW1wbGUgICAgJHtEfSR7UFRFU1RfUEFUSH0KLQlpbnN0YWxsICR7Qn0vbWluaWd6aXAgICAke0R9JHtQVEVTVF9QQVRIfQotCWluc3RhbGwgJHtCfS9leGFtcGxlc2ggICR7RH0ke1BURVNUX1BBVEh9Ci0JaW5zdGFsbCAke0J9L21pbmlnemlwc2ggJHtEfSR7UFRFU1RfUEFUSH0KLQotCSMgUmVtb3ZlIGJ1aWxkaG9zdCByZWZlcmVuY2VzLi4uCi0Jc2VkIC1pIC1lICJzLC0tc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH0sLGciIFwKLQkJLWUgJ3N8JHtERUJVR19QUkVGSVhfTUFQfXx8ZycgXAotCSAke0R9JHtQVEVTVF9QQVRIfS9NYWtlZmlsZQorCWluc3RhbGwgJHtCfS9leGFtcGxlc2ggJHtEfSR7UFRFU1RfUEFUSH0KIH0KIAogIyBNb3ZlIHpsaWIgc2hhcmVkIGxpYnJhcmllcyBmb3IgdGFyZ2V0IGJ1aWxkcyB0byAkYmFzZV9saWJkaXIgc28gdGhlIGxpYnJhcnkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2FwdC9hcHQuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYXB0L2FwdC5pbmMKaW5kZXggNTBmMjJjOC4uODQyYzMwMiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYXB0L2FwdC5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYXB0L2FwdC5pbmMKQEAgLTIsNyArMiw3IEBACiBMSUNFTlNFID0gIkdQTHYyLjArIgogU0VDVElPTiA9ICJiYXNlIgogCi1TUkNfVVJJID0gImh0dHBzOi8vbGF1bmNocGFkLm5ldC91YnVudHUvK2FyY2hpdmUvcHJpbWFyeS8rc291cmNlZmlsZXMvYXB0LzEuMi4yNC8ke0JQTn1fJHtQVn0udGFyLnh6IFwKK1NSQ19VUkkgPSAiaHR0cHM6Ly9sYXVuY2hwYWQubmV0L3VidW50dS8rYXJjaGl2ZS9wcmltYXJ5Lytzb3VyY2VmaWxlcy8ke0JQTn0vJHtQVn0vJHtCUE59XyR7UFZ9LnRhci54eiBcCiAgICAgICAgICAgIGZpbGU6Ly91c2UtaG9zdC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9tYWtlcmFjZS5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9uby1ubHMtZHBrZy5wYXRjaCBcCkBAIC0xMyw2ICsxMyw3IEBACiAgICAgICAgICAgIGZpbGU6Ly9kaXNhYmxlLXRlc3QucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1lbnZpcm9ubWVudC5tYWstbXVzbC1iYXNlZC1zeXN0ZW1zLWNhbi1nZW5lcmF0ZS1zaGFyLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtYXB0LTEuMi4xMi1GaXgtbXVzbC1idWlsZC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUluY2x1ZGUtYXJyYXkuaC1mb3Itc3RkLWFycmF5LnBhdGNoIFwKICAgICAgICAgICAgIgogU1JDX1VSSVttZDVzdW1dID0gImNlOGY5YWIxMWY0ZmQwYTA4ZWM3M2VhZmZkNzVjOGYwIgogU1JDX1VSSVtzaGEyNTZzdW1dID0gImZhMTMxMWE5Y2UwMGU3MjM3OWEwYTNiYzZkMjQwYmEzMGMwOTY4Y2ZiYmIzNDcyODU5ZTUwYjk5ZTI0ZTk1OTgiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9hcHQvYXB0LzAwMDEtSW5jbHVkZS1hcnJheS5oLWZvci1zdGQtYXJyYXkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9hcHQvYXB0LzAwMDEtSW5jbHVkZS1hcnJheS5oLWZvci1zdGQtYXJyYXkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTRhOGZhYQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2FwdC9hcHQvMDAwMS1JbmNsdWRlLWFycmF5LmgtZm9yLXN0ZC1hcnJheS5wYXRjaApAQCAtMCwwICsxLDM1IEBACitGcm9tIDRkNjRlYzg0MzE4NWJmNmZkMWI4NWMzYTZhNGM0ZTNjOTY4YzhhYjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogU3VuLCAyMCBKYW4gMjAxOSAxODo1Njo1OCAtMDgwMAorU3ViamVjdDogW1BBVENIXSBJbmNsdWRlIDxhcnJheS5oPiBmb3Igc3RkOjphcnJheQorCitXaGVuIGNvbXBpbGluZyB1c2luZyBjbGFuZy9saWJjKysgaXQgZmFpbHMgdG8gYnVpbGQgYmVjYXVzZSB0aGlzIGhlYWRlcgoraXMgbm90IGluY2x1ZGVkLCB3aXRoIGxpYnN0ZGMrKyB0aGlzIHNlZW1zIHRvIGJlIHB1bGxlZCBpbgorYXV0b21hdGljYWxseS4KKworRml4ZXMgYmVsb3cgZXJyb3IKKworYXB0LXBrZy9jb250cmliL3N0cnV0bC5jYzo5NDk6Mzg6IGVycm9yOiBpbXBsaWNpdCBpbnN0YW50aWF0aW9uIG9mIHVuZGVmaW5lZCB0ZW1wbGF0ZSAnc3RkOjpfXzE6OmFycmF5PGNvbnN0IGNoYXIgKmNvbnN0LCA3PicKKyAgIHN0ZDo6YXJyYXk8Y2hhciBjb25zdCAqIGNvbnN0LCA3PiBjX3dlZWtkYXlzID0ge3sgInN1biIsICJtb24iLCAidHVlIiwgIndlZCIsICJ0aHUiLCAiZnJpIiwgInNhdCIgfX07CisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGh1Yi5jb20vRGViaWFuL2FwdC9jb21taXQvMjRhNTljNjJlZmFmYmRiODM4N2IyZDNjNTYxNmIwNGI5ZmQyMTMwNl0KKy0tLQorIGFwdC1wa2cvY29udHJpYi9zdHJ1dGwuY2MgfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL2FwdC1wa2cvY29udHJpYi9zdHJ1dGwuY2MgYi9hcHQtcGtnL2NvbnRyaWIvc3RydXRsLmNjCitpbmRleCA2MGQwY2E4Li5jMmJmY2JjIDEwMDY0NAorLS0tIGEvYXB0LXBrZy9jb250cmliL3N0cnV0bC5jYworKysrIGIvYXB0LXBrZy9jb250cmliL3N0cnV0bC5jYworQEAgLTIxLDYgKzIxLDcgQEAKKyAjaW5jbHVkZSA8YXB0LXBrZy9maWxldXRsLmg+CisgI2luY2x1ZGUgPGFwdC1wa2cvZXJyb3IuaD4KKyAKKysjaW5jbHVkZSA8YXJyYXk+CisgI2luY2x1ZGUgPGFsZ29yaXRobT4KKyAjaW5jbHVkZSA8aW9tYW5pcD4KKyAjaW5jbHVkZSA8bG9jYWxlPgorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYXV0b2NvbmYvYXV0b2NvbmYvQUNfSEVBREVSX01BSk9SLXBvcnQtdG8tZ2xpYmMtMi4yNS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2F1dG9jb25mL2F1dG9jb25mL0FDX0hFQURFUl9NQUpPUi1wb3J0LXRvLWdsaWJjLTIuMjUucGF0Y2gKaW5kZXggZmMzNzIzNi4uYjJkN2RjMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYXV0b2NvbmYvYXV0b2NvbmYvQUNfSEVBREVSX01BSk9SLXBvcnQtdG8tZ2xpYmMtMi4yNS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9hdXRvY29uZi9hdXRvY29uZi9BQ19IRUFERVJfTUFKT1ItcG9ydC10by1nbGliYy0yLjI1LnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBlMTdhMzBlOTg3ZDdlZTY5NWZiNDI5NGE4MmQ5ODdlYzNkYzliOTc0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBiODU5YWIxYjIxMWQzNDhiNDZlY2E5MTU4Yjc3NDJmMDUwYzgxMTVlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRXJpYyBCbGFrZSA8ZWJsYWtlQHJlZGhhdC5jb20+CiBEYXRlOiBXZWQsIDE0IFNlcCAyMDE2IDA4OjE3OjA2IC0wNTAwCiBTdWJqZWN0OiBbUEFUQ0hdIEFDX0hFQURFUl9NQUpPUjogcG9ydCB0byBnbGliYyAyLjI1CkBAIC0zNSw4NSArMzUsMjEgQEAKICogbGliL2F1dG9jb25mL2hlYWRlcnMubTQgKEFDX0hFQURFUl9NQUpPUik6IERyb3AgY2hlY2sgZm9yCiBtYWpvciB3aXRoaW4gc3lzL3R5cGVzLmg7IGl0IGludGVyZmVyZXMgd2l0aCB0aGUgbmVlZCB0byBjaGVjawogc3lzbWFjcm9zLmggZmlyc3QuCi0qIGRvYy9hdXRvY29uZi50ZXhpIChQYXJ0aWN1bGFyIEhlYWRlcnMpIDxBQ19IRUFERVJfTUFKT1I+OiBFeHBhbmQKLWRldGFpbHMgb24gdXNhZ2UsIGFuZCBvbiB3b3JrYXJvdW5kcyBmb3Igbm9uLXVwZGF0ZWQgcHJvamVjdHMuCiAKIFNpZ25lZC1vZmYtYnk6IEVyaWMgQmxha2UgPGVibGFrZUByZWRoYXQuY29tPgotLS0tCisKK1JlbW92ZSB0aGUgZG9jdW1lbnRhdGlvbiBjaGFuZ2UgZnJvbSB0aGUgcGF0Y2gKIFVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKIAotIGRvYy9hdXRvY29uZi50ZXhpICAgICAgIHwgICAzNSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQotIGxpYi9hdXRvY29uZi9oZWFkZXJzLm00IHwgICAzMCArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDQ1IGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQorU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorLS0tCisgbGliL2F1dG9jb25mL2hlYWRlcnMubTQgfCAzMCArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBhdXRvY29uZi0yLjY5L2RvYy9hdXRvY29uZi50ZXhpCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gYXV0b2NvbmYtMi42OS5vcmlnL2RvYy9hdXRvY29uZi50ZXhpCi0rKysgYXV0b2NvbmYtMi42OS9kb2MvYXV0b2NvbmYudGV4aQotQEAgLTE1LDcgKzE1LDcgQEAKLSBAYyBUaGUgQVJHIGlzIGFuIG9wdGlvbmFsIGFyZ3VtZW50LiAgVG8gYmUgdXNlZCBmb3IgbWFjcm8gYXJndW1lbnRzIGluCi0gQGMgdGhlaXIgZG9jdW1lbnRhdGlvbiAoQGRlZm1hYykuCi0gQG1hY3JvIG92YXJ7dmFybmFtZX0KLS1AcntbfUB2YXJ7XHZhcm5hbWVcfUBye119QGMKLStAcntbfUB2YXJ7XHZhcm5hbWVcfUBye119Ci0gQGVuZCBtYWNybwotIAotIEBjIEBkdmFyKEFSRywgREVGQVVMVCkKLUBAIC0yMyw3ICsyMyw3IEBACi0gQGMgVGhlIEFSRyBpcyBhbiBvcHRpb25hbCBhcmd1bWVudCwgZGVmYXVsdGluZyB0byBERUZBVUxULiAgVG8gYmUgdXNlZAotIEBjIGZvciBtYWNybyBhcmd1bWVudHMgaW4gdGhlaXIgZG9jdW1lbnRhdGlvbiAoQGRlZm1hYykuCi0gQG1hY3JvIGR2YXJ7dmFybmFtZSwgZGVmYXVsdH0KLS1AcntbfUB2YXJ7XHZhcm5hbWVcfSA9IEBzYW1we1xkZWZhdWx0XH1AcntdfUBjCi0rQHJ7W31AdmFye1x2YXJuYW1lXH0gPSBAc2FtcHtcZGVmYXVsdFx9QHJ7XX0KLSBAZW5kIG1hY3JvCi0gCi0gQGMgSGFuZGxpbmcgdGhlIGluZGV4ZXMgd2l0aCBUZXhpbmZvIHlpZWxkcyBzZXZlcmFsIGRpZmZlcmVudCBwcm9ibGVtcy4KLUBAIC01OTI2LDEwICs1OTI2LDM3IEBAIEFsc28gc2VlIEBjb2Rle0FDX1NUUlVDVF9ESVJFTlRfRF9JTk99IGEKLSBAY3ZpbmRleCBNQUpPUl9JTl9TWVNNQUNST1MKLSBAaGRyaW5kZXh7c3lzL21rZGV2Lmh9Ci0gQGhkcmluZGV4e3N5cy9zeXNtYWNyb3MuaH0KLS1JZiBAZmlsZXtzeXMvdHlwZXMuaH0gZG9lcyBub3QgZGVmaW5lIEBjb2Rle21ham9yfSwgQGNvZGV7bWlub3J9LCBhbmQKLS1AY29kZXttYWtlZGV2fSwgYnV0IEBmaWxle3N5cy9ta2Rldi5ofSBkb2VzLCBkZWZpbmUKLS1AY29kZXtNQUpPUl9JTl9NS0RFVn07IG90aGVyd2lzZSwgaWYgQGZpbGV7c3lzL3N5c21hY3Jvcy5ofSBkb2VzLCBkZWZpbmUKLS1AY29kZXtNQUpPUl9JTl9TWVNNQUNST1N9LgotK0RldGVjdCB0aGUgaGVhZGVycyByZXF1aXJlZCB0byB1c2UgQGNvZGV7bWFrZWRldn0sIEBjb2Rle21ham9yfSwgYW5kCi0rQGNvZGV7bWlub3J9LiAgVGhlc2UgZnVuY3Rpb25zIG1heSBiZSBkZWZpbmVkIGJ5IEBmaWxle3N5cy9ta2Rldi5ofSwKLStAY29kZXtzeXMvc3lzbWFjcm9zLmh9LCBvciBAZmlsZXtzeXMvdHlwZXMuaH0uCi0rCi0rQGNvZGV7QUNfSEVBREVSX01BSk9SfSBkZWZpbmVzIEBjb2Rle01BSk9SX0lOX01LREVWfSBpZiB0aGV5IGFyZSBpbgotK0BmaWxle3N5cy9ta2Rldi5ofSwgb3IgQGNvZGV7TUFKT1JfSU5fU1lTTUFDUk9TfSBpZiB0aGV5IGFyZSBpbgotK0BmaWxle3N5cy9zeXNtYWNyb3MuaH0uICBJZiBuZWl0aGVyIG1hY3JvIGlzIGRlZmluZWQsIHRoZXkgYXJlIGVpdGhlciBpbgotK0BmaWxle3N5cy90eXBlcy5ofSBvciB1bmF2YWlsYWJsZS4KLSsKLStUbyBwcm9wZXJseSB1c2UgdGhlc2UgZnVuY3Rpb25zLCB5b3VyIGNvZGUgc2hvdWxkIGNvbnRhaW4gc29tZXRoaW5nCi0rbGlrZToKLSsKLStAdmVyYmF0aW0KLSsjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0rI2lmZGVmIE1BSk9SX0lOX01LREVWCi0rIyBpbmNsdWRlIDxzeXMvbWtkZXYuaD4KLSsjZWxpZiBkZWZpbmVkIE1BSk9SX0lOX1NZU01BQ1JPUwotKyMgaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgotKyNlbmRpZgotK0BlbmQgdmVyYmF0aW0KLSsKLStOb3RlOiBDb25maWd1cmUgc2NyaXB0cyBidWlsdCB3aXRoIEF1dG9jb25mIDIuNjkgb3IgZWFybGllciB3aWxsIG5vdAotK2RldGVjdCBhIHByb2JsZW0gaWYgQGZpbGV7c3lzL3R5cGVzLmh9IGNvbnRhaW5zIGRlZmluaXRpb25zIG9mCi0rQGNvZGV7bWFqb3J9LCBAY29kZXttaW5vcn0sIGFuZC9vciBAY29kZXttYWtlZGV2fSB0aGF0IHRyaWdnZXIgY29tcGlsZXIKLSt3YXJuaW5ncyB1cG9uIHVzZS4gIFRoaXMgaXMga25vd24gdG8gb2NjdXIgd2l0aCBHTlUgbGliYyAyLjI1LCB3aGVyZQotK3Rob3NlIGRlZmluaXRpb25zIGFyZSBiZWluZyBkZXByZWNhdGVkIHRvIHJlZHVjZSBuYW1lc3BhY2UgcG9sbHV0aW9uLgotK0lmIGl0IGlzIG5vdCBwcmFjdGljYWwgdG8gdXNlIEF1dG9jb25mIDIuNzAgdG8gcmVnZW5lcmF0ZSB0aGUgY29uZmlndXJlCi0rc2NyaXB0IG9mIGFmZmVjdGVkIHNvZnR3YXJlLCB5b3UgY2FuIHdvcmsgYXJvdW5kIHRoZSBwcm9ibGVtIGJ5IHNldHRpbmcKLStAc2FtcHthY19jdl9oZWFkZXJfc3lzX3R5cGVzX2hfbWFrZWRldj1ub30sIGFzIGFuIGFyZ3VtZW50IHRvCi0rQGNvbW1hbmR7Y29uZmlndXJlfSBvciBhcyBwYXJ0IG9mIGEgQGZpbGV7Y29uZmlnLnNpdGV9IHNpdGUgZGVmYXVsdCBmaWxlCi0rKEBweHJlZntTaXRlIERlZmF1bHRzfSkuCi0gQGVuZCBkZWZtYWMKLSAKLSBAZGVmbWFjIEFDX0hFQURFUl9SRVNPTFYKLUluZGV4OiBhdXRvY29uZi0yLjY5L2xpYi9hdXRvY29uZi9oZWFkZXJzLm00Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gYXV0b2NvbmYtMi42OS5vcmlnL2xpYi9hdXRvY29uZi9oZWFkZXJzLm00Ci0rKysgYXV0b2NvbmYtMi42OS9saWIvYXV0b2NvbmYvaGVhZGVycy5tNAorZGlmZiAtLWdpdCBhL2xpYi9hdXRvY29uZi9oZWFkZXJzLm00IGIvbGliL2F1dG9jb25mL2hlYWRlcnMubTQKK2luZGV4IDgxYTdmYTIuLmE1N2QwZDMgMTAwNjQ0CistLS0gYS9saWIvYXV0b2NvbmYvaGVhZGVycy5tNAorKysrIGIvbGliL2F1dG9jb25mL2hlYWRlcnMubTQKIEBAIC01MDIsMzEgKzUwMiwyOSBAQCBmaQogIAogICMgQUNfSEVBREVSX01BSk9SCkBAIC0xNjAsMyArOTYsNiBAQAogIGZpCiAgXSkjIEFDX0hFQURFUl9NQUpPUgogIAorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy0yLjMxLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLTIuMzEuaW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MmFjZWM1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLTIuMzEuaW5jCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotTElDX0ZJTEVTX0NIS1NVTT0iXAotICAgIGZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MlwKLSAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTlmNjA0ZDhhNGY4ZTc0ZjRmNTE0MDg0NWEyMWI2Njc0XAotICAgIGZpbGU6Ly9DT1BZSU5HMzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDRcCi0gICAgZmlsZTovL0NPUFlJTkczLkxJQjttZDU9NmE2YThlMDIwODM4YjIzNDA2YzgxYjE5YzFkNDZkZjZcCi0gICAgZmlsZTovL2dhcy9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNFwKLSAgICBmaWxlOi8vaW5jbHVkZS9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MlwKLSAgICBmaWxlOi8vaW5jbHVkZS9DT1BZSU5HMzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDRcCi0gICAgZmlsZTovL2xpYmliZXJ0eS9DT1BZSU5HLkxJQjttZDU9YTkxNjQ2N2I5MTA3NmU2MzFkZDhlZGI3NDI0NzY5YzdcCi0gICAgZmlsZTovL2JmZC9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNFwKLSAgICAiCi0KLWRlZiBiaW51dGlsc19icmFuY2hfdmVyc2lvbihkKToKLSAgICBwdnNwbGl0ID0gZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKQotICAgIHJldHVybiBwdnNwbGl0WzBdICsgIl8iICsgcHZzcGxpdFsxXQotCi1CSU5VUFYgPSAiJHtAYmludXRpbHNfYnJhbmNoX3ZlcnNpb24oZCl9IgotUFYgLj0gIi4xIgotCi1VUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICJiaW51dGlscy0oP1A8cHZlcj5cZCtfKFxkXz8pKikiCi0KLVNSQ1JFViA/PSAiYzkwOWU3YWZkYzQ3MTA4NTFhNTNlODZlYmVkOGNlYTM4NzliMjZlNSIKLUJJTlVUSUxTX0dJVF9VUkkgPz0gImdpdDovL3NvdXJjZXdhcmUub3JnL2dpdC9iaW51dGlscy1nZGIuZ2l0O2JyYW5jaD1iaW51dGlscy0ke0JJTlVQVn0tYnJhbmNoO3Byb3RvY29sPWdpdCIKLVNSQ19VUkkgPSAiXAotICAgICAke0JJTlVUSUxTX0dJVF9VUkl9IFwKLSAgICAgZmlsZTovLzAwMDMtY29uZmlndXJlLXdpZGVuLXRoZS1yZWdleHAtZm9yLVNILWFyY2hpdGVjdHVyZXMucGF0Y2ggXAotICAgICBmaWxlOi8vMDAwNC1Qb2ludC1zY3JpcHRzLWxvY2F0aW9uLXRvLWxpYmRpci5wYXRjaCBcCi0gICAgIGZpbGU6Ly8wMDA1LU9ubHktZ2VuZXJhdGUtYW4tUlBBVEgtZW50cnktaWYtTERfUlVOX1BBVEgtaXMtbm90LWUucGF0Y2ggXAotICAgICBmaWxlOi8vMDAwNi1Vc2UtbGlidG9vbC0yLjQucGF0Y2ggXAotICAgICBmaWxlOi8vMDAwNy1BZGQtdGhlLWFybXY1ZS1hcmNoaXRlY3R1cmUtdG8tYmludXRpbHMucGF0Y2ggXAotICAgICBmaWxlOi8vMDAwOC1kb24tdC1sZXQtdGhlLWRpc3Ryby1jb21waWxlci1wb2ludC10by10aGUtd3JvbmctaW5zLnBhdGNoIFwKLSAgICAgZmlsZTovLzAwMDktd2Fybi1mb3ItdXNlcy1vZi1zeXN0ZW0tZGlyZWN0b3JpZXMtd2hlbi1jcm9zcy1saW5raS5wYXRjaCBcCi0gICAgIGZpbGU6Ly8wMDEwLUZpeC1ycGF0aC1pbi1saWJ0b29sLXdoZW4tc3lzcm9vdC1pcy1lbmFibGVkLnBhdGNoIFwKLSAgICAgZmlsZTovLzAwMTEtQ2hhbmdlLWRlZmF1bHQtZW11bGF0aW9uLWZvci1taXBzNjQtbGludXgucGF0Y2ggXAotICAgICBmaWxlOi8vMDAxMi1BZGQtc3VwcG9ydC1mb3ItTmV0bG9naWMtWExQLnBhdGNoIFwKLSAgICAgZmlsZTovLzAwMTMtZml4LXRoZS1pbmNvcnJlY3QtYXNzZW1ibGluZy1mb3ItcHBjLXdhaXQtbW5lbW9uaWMucGF0Y2ggXAotICAgICBmaWxlOi8vMDAxNC1EZXRlY3QtNjQtYml0LU1JUFMtdGFyZ2V0cy5wYXRjaCBcCi0gICAgIGZpbGU6Ly8wMDE1LXN5bmMtd2l0aC1PRS1saWJ0b29sLWNoYW5nZXMucGF0Y2ggXAotICAgICBmaWxlOi8vMDAxNi1hZGQtaTM4NnBlcC1lbXVsYXRpb24tZm9yLXg4Nl82NC5wYXRjaCBcCi0gICAgIGZpbGU6Ly8wMDIyLUhhbmRsZS1FTEYtY29tcHJlc3NlZC1oZWFkZXItYWxpZ25tZW50LWNvcnJlY3RseS1ieS0ucGF0Y2ggXAotICAgICBmaWxlOi8vMDAyMy1nb2xkLUdldC1hbGlnbm1lbnQtb2YtdW5jb21wcmVzc2VkLXNlY3Rpb24tZnJvbS1jaF9hLnBhdGNoIFwKLSAgICAgZmlsZTovL2NsYW5nLWJmZC1maXgucGF0Y2ggXAotICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTczNTgucGF0Y2ggXAotICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTczNjAucGF0Y2ggXAotICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTgzMDkucGF0Y2ggXAotICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTg2MDUucGF0Y2ggXAotICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTg2MDYucGF0Y2ggXAotICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTg2MDcucGF0Y2ggXAotIgotUyAgPSAiJHtXT1JLRElSfS9naXQiCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKLSAgICAgICAgcm0gLXJmICR7U30vZ2RiICR7U30vbGliZGVjbnVtYmVyICR7U30vcmVhZGxpbmUgJHtTfS9zaW0KLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLTIuMzIuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMtMi4zMi5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWQwYzE2YgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLTIuMzIuaW5jCkBAIC0wLDAgKzEsNTIgQEAKK0xJQ19GSUxFU19DSEtTVU09IlwKKyAgICBmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTJcCisgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT05ZjYwNGQ4YTRmOGU3NGY0ZjUxNDA4NDVhMjFiNjY3NFwKKyAgICBmaWxlOi8vQ09QWUlORzM7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0XAorICAgIGZpbGU6Ly9DT1BZSU5HMy5MSUI7bWQ1PTZhNmE4ZTAyMDgzOGIyMzQwNmM4MWIxOWMxZDQ2ZGY2XAorICAgIGZpbGU6Ly9nYXMvQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDRcCisgICAgZmlsZTovL2luY2x1ZGUvQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTJcCisgICAgZmlsZTovL2luY2x1ZGUvQ09QWUlORzM7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0XAorICAgIGZpbGU6Ly9saWJpYmVydHkvQ09QWUlORy5MSUI7bWQ1PWE5MTY0NjdiOTEwNzZlNjMxZGQ4ZWRiNzQyNDc2OWM3XAorICAgIGZpbGU6Ly9iZmQvQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDRcCisgICAgIgorCitkZWYgYmludXRpbHNfYnJhbmNoX3ZlcnNpb24oZCk6CisgICAgcHZzcGxpdCA9IGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJykKKyAgICByZXR1cm4gcHZzcGxpdFswXSArICJfIiArIHB2c3BsaXRbMV0KKworIyBBY3R1YWwgdXBzdHJlYW0gdmVyc2lvbiBpcyAyLjMyICh3aXRob3V0IHRoZSAuMCksIHNvIHdlIGhhdmUgdG8gc2V0CisjIFVQU1RSRUFNX1ZFUlNJT05fVU5LTk9XTiB0byBhdm9pZCB0aGUgdmVyc2lvbiBjaGVjayBmYWlsdXJlLiBUaGUgbGluZSBjYW4KKyMgYmUgcmVtb3ZlZCB3aGVuIGEgbmV3IHZlcnNpb24gb2YgYmludXRpbHMgaXMgcmVsZWFzZWQgKGlmIHRoZSBQViBpcyB0aGVuCisjIGNvcnJlY3RseSBzZXQgdG8gbWF0Y2ggdGhlIHVwc3RyZWFtIHZlcnNpb24gdGFnKS4KK1VQU1RSRUFNX1ZFUlNJT05fVU5LTk9XTiA9ICIxIgorUFYgPSAiMi4zMi4wIgorQ1ZFX1ZFUlNJT04gPSAiMi4zMiIKK0JJTlVQViA9ICIke0BiaW51dGlsc19icmFuY2hfdmVyc2lvbihkKX0iCisjQlJBTkNIID0gImJpbnV0aWxzLSR7QklOVVBWfS1icmFuY2giCitCUkFOQ0ggPz0gImJpbnV0aWxzLTJfMzItYnJhbmNoIgorCitVUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICJiaW51dGlscy0oP1A8cHZlcj5cZCtfKFxkXz8pKikiCisKK1NSQ1JFViA/PSAiYjhjMWY2MDhkYjllZjNlZGQ0ODNkMjFhOTIxZDFmYmVkYzcxZGY2ZiIKK0JJTlVUSUxTX0dJVF9VUkkgPz0gImdpdDovL3NvdXJjZXdhcmUub3JnL2dpdC9iaW51dGlscy1nZGIuZ2l0O2JyYW5jaD0ke0JSQU5DSH07cHJvdG9jb2w9Z2l0IgorU1JDX1VSSSA9ICJcCisgICAgICR7QklOVVRJTFNfR0lUX1VSSX0gXAorICAgICBmaWxlOi8vMDAwMy1jb25maWd1cmUtd2lkZW4tdGhlLXJlZ2V4cC1mb3ItU0gtYXJjaGl0ZWN0dXJlcy5wYXRjaCBcCisgICAgIGZpbGU6Ly8wMDA0LVBvaW50LXNjcmlwdHMtbG9jYXRpb24tdG8tbGliZGlyLnBhdGNoIFwKKyAgICAgZmlsZTovLzAwMDUtT25seS1nZW5lcmF0ZS1hbi1SUEFUSC1lbnRyeS1pZi1MRF9SVU5fUEFUSC1pcy1ub3QtZS5wYXRjaCBcCisgICAgIGZpbGU6Ly8wMDA2LVVzZS1saWJ0b29sLTIuNC5wYXRjaCBcCisgICAgIGZpbGU6Ly8wMDA3LWRvbi10LWxldC10aGUtZGlzdHJvLWNvbXBpbGVyLXBvaW50LXRvLXRoZS13cm9uZy1pbnMucGF0Y2ggXAorICAgICBmaWxlOi8vMDAwOC13YXJuLWZvci11c2VzLW9mLXN5c3RlbS1kaXJlY3Rvcmllcy13aGVuLWNyb3NzLWxpbmtpLnBhdGNoIFwKKyAgICAgZmlsZTovLzAwMDktRml4LXJwYXRoLWluLWxpYnRvb2wtd2hlbi1zeXNyb290LWlzLWVuYWJsZWQucGF0Y2ggXAorICAgICBmaWxlOi8vMDAxMC1DaGFuZ2UtZGVmYXVsdC1lbXVsYXRpb24tZm9yLW1pcHM2NC1saW51eC5wYXRjaCBcCisgICAgIGZpbGU6Ly8wMDExLUFkZC1zdXBwb3J0LWZvci1OZXRsb2dpYy1YTFAucGF0Y2ggXAorICAgICBmaWxlOi8vMDAxMi1maXgtdGhlLWluY29ycmVjdC1hc3NlbWJsaW5nLWZvci1wcGMtd2FpdC1tbmVtb25pYy5wYXRjaCBcCisgICAgIGZpbGU6Ly8wMDEzLURldGVjdC02NC1iaXQtTUlQUy10YXJnZXRzLnBhdGNoIFwKKyAgICAgZmlsZTovLzAwMTQtc3luYy13aXRoLU9FLWxpYnRvb2wtY2hhbmdlcy5wYXRjaCBcCisgICAgIGZpbGU6Ly8wMDE1LWJpbnV0aWxzLWVuYWJsZS14ODZfNjQtcGVwLWZvci1wcm9kdWNpbmctRUZJLWJpbmFyaWUucGF0Y2ggXAorIgorUyAgPSAiJHtXT1JLRElSfS9naXQiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKyAgICAgICAgcm0gLXJmICR7U30vZ2RiICR7U30vbGliZGVjbnVtYmVyICR7U30vcmVhZGxpbmUgJHtTfS9zaW0KK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLWNyb3NzLWNhbmFkaWFuXzIuMzEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy1jcm9zcy1jYW5hZGlhbl8yLjMyLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy1jcm9zcy1jYW5hZGlhbl8yLjMxLmJiCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy1jcm9zcy1jYW5hZGlhbl8yLjMyLmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy1jcm9zc18yLjMxLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMtY3Jvc3NfMi4zMi5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMtY3Jvc3NfMi4zMS5iYgpyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMtY3Jvc3NfMi4zMi5iYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMtY3Jvc3NzZGtfMi4zMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLWNyb3Nzc2RrXzIuMzIuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLWNyb3Nzc2RrXzIuMzEuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLWNyb3Nzc2RrXzIuMzIuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDEtYmludXRpbHMtY3Jvc3NzZGstR2VuZXJhdGUtcmVsb2NhdGFibGUtU0RLcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDEtYmludXRpbHMtY3Jvc3NzZGstR2VuZXJhdGUtcmVsb2NhdGFibGUtU0RLcy5wYXRjaAppbmRleCA2YmRiNDA3Li42NTgxYmFkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDAxLWJpbnV0aWxzLWNyb3Nzc2RrLUdlbmVyYXRlLXJlbG9jYXRhYmxlLVNES3MucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwMS1iaW51dGlscy1jcm9zc3Nkay1HZW5lcmF0ZS1yZWxvY2F0YWJsZS1TREtzLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA0YTk5ZjA1ODAzMGM4Njc5NGJiOTZiNTgyYTdkYmQ2MzFmOTYzYjA2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA1YmNkODg0ZjhhZjUxMDZkMGZhMzgwYzQyY2ZmZTA3ZjNjOTkzZWQyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IE1vbiwgMiBNYXIgMjAxNSAwMTo1ODo1NCArMDAwMAogU3ViamVjdDogW1BBVENIIDAxLzE1XSBiaW51dGlscy1jcm9zc3NkazogR2VuZXJhdGUgcmVsb2NhdGFibGUgU0RLcwpAQCAtMTgsMTAgKzE4LDEwIEBACiAgMiBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9sZC9nZW5zY3JpcHRzLnNoIGIvbGQvZ2Vuc2NyaXB0cy5zaAotaW5kZXggMzcwYjIyMjY5ZC4uYTVjMzY3YWE4ZiAxMDA3NTUKK2luZGV4IDc3ZGRiYmM4ZjguLmQ3ODllNzc5NDMgMTAwNzU1CiAtLS0gYS9sZC9nZW5zY3JpcHRzLnNoCiArKysgYi9sZC9nZW5zY3JpcHRzLnNoCi1AQCAtMjc5LDYgKzI3OSw3IEBAIERBVEFfQUxJR05NRU5UX3U9IiR7REFUQV9BTElHTk1FTlRfdS0ke0RBVEFfQUxJR05NRU5UX3J9fSIKK0BAIC0zMTAsNiArMzEwLDcgQEAgREFUQV9BTElHTk1FTlRfdT0iJHtEQVRBX0FMSUdOTUVOVF91LSR7REFUQV9BTElHTk1FTlRfcn19IgogIExEX0ZMQUc9cgogIERBVEFfQUxJR05NRU5UPSR7REFUQV9BTElHTk1FTlRfcn0KICBERUZBVUxUX0RBVEFfQUxJR05NRU5UPSJBTElHTigke1NFR01FTlRfU0laRX0pIgpAQCAtMjksNyArMjksNyBAQAogICggZWNobyAiLyogU2NyaXB0IGZvciBsZCAtcjogbGluayB3aXRob3V0IHJlbG9jYXRpb24gKi8iCiAgICAuICR7Q1VTVE9NSVpFUl9TQ1JJUFR9CiAgICAuICR7c3JjZGlyfS9zY3JpcHR0ZW1wbC8ke1NDUklQVF9OQU1FfS5zYwotQEAgLTI4NywxMCArMjg4LDEyIEBAIERFRkFVTFRfREFUQV9BTElHTk1FTlQ9IkFMSUdOKCR7U0VHTUVOVF9TSVpFfSkiCitAQCAtMzE4LDEwICszMTksMTIgQEAgREVGQVVMVF9EQVRBX0FMSUdOTUVOVD0iQUxJR04oJHtTRUdNRU5UX1NJWkV9KSIKICBMRF9GTEFHPXUKICBEQVRBX0FMSUdOTUVOVD0ke0RBVEFfQUxJR05NRU5UX3V9CiAgQ09OU1RSVUNUSU5HPSIgIgpAQCAtNDMsNyArNDMsNyBAQAogIERBVEFfQUxJR05NRU5UPSR7REFUQV9BTElHTk1FTlRffQogIFJFTE9DQVRJTkc9IiAiCiBkaWZmIC0tZ2l0IGEvbGQvc2NyaXB0dGVtcGwvZWxmLnNjIGIvbGQvc2NyaXB0dGVtcGwvZWxmLnNjCi1pbmRleCA0NDRhZWYyOTQyLi5hZmE5OWY3MzZkIDEwMDY0NAoraW5kZXggYmQ3NTg0MTIwZS4uOGJiZTA1MmQ0YiAxMDA2NDQKIC0tLSBhL2xkL3NjcmlwdHRlbXBsL2VsZi5zYwogKysrIGIvbGQvc2NyaXB0dGVtcGwvZWxmLnNjCiBAQCAtMTM5LDggKzEzOSw4IEBAIGlmIHRlc3QgLXogIiREQVRBX1NFR01FTlRfQUxJR04iOyB0aGVuCkBAIC01OCw1ICs1OCw1IEBACiAgaWYgdGVzdCAteiAiJFBMVCI7IHRoZW4KICAgIElQTFQ9Ii5pcGx0ICAgICAgICAgJHtSRUxPQ0FUSU5HLTB9IDogeyAqKC5pcGx0KSB9IgogLS0gCi0yLjE4LjAKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDAyLWJpbnV0aWxzLWNyb3NzLURvLW5vdC1nZW5lcmF0ZS1saW5rZXItc2NyaXB0LWRpcmVjdG8ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDAyLWJpbnV0aWxzLWNyb3NzLURvLW5vdC1nZW5lcmF0ZS1saW5rZXItc2NyaXB0LWRpcmVjdG8ucGF0Y2gKaW5kZXggMDIwODIxMy4uMzI1MzdkNCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwMi1iaW51dGlscy1jcm9zcy1Eby1ub3QtZ2VuZXJhdGUtbGlua2VyLXNjcmlwdC1kaXJlY3RvLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDItYmludXRpbHMtY3Jvc3MtRG8tbm90LWdlbmVyYXRlLWxpbmtlci1zY3JpcHQtZGlyZWN0by5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNmU3OGIxYzg4YzA0MGE3NDJiN2FmODI1NDJhYzdlYjkyZWRkZGEzZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMTE5Mjc5MTM1NjBmYzVhNWQ1MWFmM2JjNWViOGFkNjJhODZjOTg0MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBNb24sIDYgTWFyIDIwMTcgMjM6Mzc6MDUgLTA4MDAKIFN1YmplY3Q6IFtQQVRDSCAwMi8xNV0gYmludXRpbHMtY3Jvc3M6IERvIG5vdCBnZW5lcmF0ZSBsaW5rZXIgc2NyaXB0CkBAIC0yMywxMCArMjMsMTAgQEAKICAxIGZpbGUgY2hhbmdlZCwgMjUgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9sZC9nZW5zY3JpcHRzLnNoIGIvbGQvZ2Vuc2NyaXB0cy5zaAotaW5kZXggYTVjMzY3YWE4Zi4uNmNjOWVlZDk3NiAxMDA3NTUKK2luZGV4IGQ3ODllNzc5NDMuLjE0NGUyZTg3MzYgMTAwNzU1CiAtLS0gYS9sZC9nZW5zY3JpcHRzLnNoCiArKysgYi9sZC9nZW5zY3JpcHRzLnNoCi1AQCAtMTg5LDMxICsxODksNiBAQCBhcHBlbmRfdG9fbGliX3BhdGgoKQorQEAgLTIyMCwzMSArMjIwLDYgQEAgYXBwZW5kX3RvX2xpYl9wYXRoKCkKICAgIGZpCiAgfQogIApAQCAtNTksNSArNTksNSBAQAogICAgbGlicz0ke05BVElWRV9MSUJfRElSU30KICAgIGlmIFsgIngke05BVElWRX0iID0gInh5ZXMiIF0gOyB0aGVuCiAtLSAKLTIuMTguMAorMi4yMC4xCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDMtY29uZmlndXJlLXdpZGVuLXRoZS1yZWdleHAtZm9yLVNILWFyY2hpdGVjdHVyZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDAzLWNvbmZpZ3VyZS13aWRlbi10aGUtcmVnZXhwLWZvci1TSC1hcmNoaXRlY3R1cmVzLnBhdGNoCmluZGV4IDE1MTkzYzEuLmEzMDEzODIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDMtY29uZmlndXJlLXdpZGVuLXRoZS1yZWdleHAtZm9yLVNILWFyY2hpdGVjdHVyZXMucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwMy1jb25maWd1cmUtd2lkZW4tdGhlLXJlZ2V4cC1mb3ItU0gtYXJjaGl0ZWN0dXJlcy5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNGM2ZmQ4ZjVlYjliYzdjMGQwMmYxYTk4YWQ4NmUzOTVkNGQyYWIzYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZGEzOTM5ZGU2ZmIzNmRhMmM2NDg0ZjE0ZjA4YTM3YmUxOTVkOWRjMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBNb24sIDIgTWFyIDIwMTUgMDE6MDc6MzMgKzAwMDAKIFN1YmplY3Q6IFtQQVRDSCAwMy8xNV0gY29uZmlndXJlOiB3aWRlbiB0aGUgcmVnZXhwIGZvciBTSCBhcmNoaXRlY3R1cmVzCkBAIC0xNCwxMCArMTQsMTAgQEAKICAyIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvY29uZmlndXJlIGIvY29uZmlndXJlCi1pbmRleCAwOGRkMzVjM2VhLi44MTVlNzRkZGI3IDEwMDc1NQoraW5kZXggMzc0NzY0NTk2MS4uNzhiNTI0MDEwMSAxMDA3NTUKIC0tLSBhL2NvbmZpZ3VyZQogKysrIGIvY29uZmlndXJlCi1AQCAtMzg1NSw3ICszODU1LDcgQEAgY2FzZSAiJHt0YXJnZXR9IiBpbgorQEAgLTM4NjEsNyArMzg2MSw3IEBAIGNhc2UgIiR7dGFyZ2V0fSIgaW4KICAgIG52cHR4Ki0qLSopCiAgICAgIG5vY29uZmlnZGlycz0iJG5vY29uZmlnZGlycyB0YXJnZXQtbGlic3NwIHRhcmdldC1saWJzdGRjKystdjMgdGFyZ2V0LWxpYm9iamMiCiAgICAgIDs7CkBAIC0yNyw3ICsyNyw3IEBACiAgICAgICAgc2gqLSotZWxmKQogICAgICAgICAgIDs7CiBkaWZmIC0tZ2l0IGEvZ3Byb2YvY29uZmlndXJlIGIvZ3Byb2YvY29uZmlndXJlCi1pbmRleCA0NDdjZWE3ODg0Li5hNzMwZTIwNTA5IDEwMDc1NQoraW5kZXggZjg0ZWZhYmEyMC4uYWIzMmJhYjJiNiAxMDA3NTUKIC0tLSBhL2dwcm9mL2NvbmZpZ3VyZQogKysrIGIvZ3Byb2YvY29uZmlndXJlCiBAQCAtNjE2Miw2ICs2MTYyLDExIEBAIGxpbnV4KiB8IGsqYnNkKi1nbnUgfCBrb3BlbnNvbGFyaXMqLWdudSkKQEAgLTQzLDUgKzQzLDUgQEAKICAgIGlmIGVjaG8gX19FTEZfXyB8ICRDQyAtRSAtIHwgJEdSRVAgX19FTEZfXyA+IC9kZXYvbnVsbDsgdGhlbgogICAgICBsdF9jdl9kZXBsaWJzX2NoZWNrX21ldGhvZD0nbWF0Y2hfcGF0dGVybiAvbGliW14vXSsoXC5zb1wuWzAtOV0rXC5bMC05XSt8X3BpY1wuYSkkJwogLS0gCi0yLjE4LjAKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDA0LVBvaW50LXNjcmlwdHMtbG9jYXRpb24tdG8tbGliZGlyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwNC1Qb2ludC1zY3JpcHRzLWxvY2F0aW9uLXRvLWxpYmRpci5wYXRjaAppbmRleCBiZjFjMWJlLi5mOGUzNTIyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDA0LVBvaW50LXNjcmlwdHMtbG9jYXRpb24tdG8tbGliZGlyLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDQtUG9pbnQtc2NyaXB0cy1sb2NhdGlvbi10by1saWJkaXIucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDQ4YWQ1MjkyYjEwNDA4ZDRlNWQ1NzM5MDIyNzUzYTcxODNhMWNiYjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGZjMWZmODYwZmQ4OGZhMmQwNTg0YmQxOTE4MWM4ODBhNzYzMzFhOGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogTW9uLCAyIE1hciAyMDE1IDAxOjA5OjU4ICswMDAwCiBTdWJqZWN0OiBbUEFUQ0ggMDQvMTVdIFBvaW50IHNjcmlwdHMgbG9jYXRpb24gdG8gbGliZGlyCkBAIC0xMiw3ICsxMiw3IEBACiAgMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9sZC9NYWtlZmlsZS5hbSBiL2xkL01ha2VmaWxlLmFtCi1pbmRleCBkODZhZDA5NDBjLi5jOTViMGVmMDI1IDEwMDY0NAoraW5kZXggYzJjNzk4YjRmZS4uZDdmYWYxOTI3MSAxMDA2NDQKIC0tLSBhL2xkL01ha2VmaWxlLmFtCiArKysgYi9sZC9NYWtlZmlsZS5hbQogQEAgLTU3LDcgKzU3LDcgQEAgZW5kaWYKQEAgLTI1LDcgKzI1LDcgQEAKICBFTVVMID0gQEVNVUxACiAgRU1VTEFUSU9OX09GSUxFUyA9IEBFTVVMQVRJT05fT0ZJTEVTQAogZGlmZiAtLWdpdCBhL2xkL01ha2VmaWxlLmluIGIvbGQvTWFrZWZpbGUuaW4KLWluZGV4IDQ3OTJiMmIwMTMuLjc4OWRmMmQwMWIgMTAwNjQ0CitpbmRleCBmYzY4N2ZjNTE2Li44YjE0ZjUyMzZjIDEwMDY0NAogLS0tIGEvbGQvTWFrZWZpbGUuaW4KICsrKyBiL2xkL01ha2VmaWxlLmluCiBAQCAtNTYzLDcgKzU2Myw3IEBAIEFNX0NGTEFHUyA9ICQoV0FSTl9DRkxBR1MpICQoRUxGX0NMRkFHUykKQEAgLTM4LDUgKzM4LDUgQEAKICBCRkRESVIgPSAkKEJBU0VESVIpL2JmZAogIElOQ0RJUiA9ICQoQkFTRURJUikvaW5jbHVkZQogLS0gCi0yLjE4LjAKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDA1LU9ubHktZ2VuZXJhdGUtYW4tUlBBVEgtZW50cnktaWYtTERfUlVOX1BBVEgtaXMtbm90LWUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDA1LU9ubHktZ2VuZXJhdGUtYW4tUlBBVEgtZW50cnktaWYtTERfUlVOX1BBVEgtaXMtbm90LWUucGF0Y2gKaW5kZXggMWY1ODk3MS4uMWJhZDUzMSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwNS1Pbmx5LWdlbmVyYXRlLWFuLVJQQVRILWVudHJ5LWlmLUxEX1JVTl9QQVRILWlzLW5vdC1lLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDUtT25seS1nZW5lcmF0ZS1hbi1SUEFUSC1lbnRyeS1pZi1MRF9SVU5fUEFUSC1pcy1ub3QtZS5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNzllNTM1MTBiMWY5ZTE2YTIxZGIzMTI2OThmYjFjMWM0NDI0ODFlNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNjY4NjFiZmYzODk0MzRlMzQ1NGM3NjUwZWUyOWZhZGU3YTFjYzVlZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBNb24sIDIgTWFyIDIwMTUgMDE6Mjc6MTcgKzAwMDAKIFN1YmplY3Q6IFtQQVRDSCAwNS8xNV0gT25seSBnZW5lcmF0ZSBhbiBSUEFUSCBlbnRyeSBpZiBMRF9SVU5fUEFUSCBpcyBub3QKQEAgLTE1LDcgKzE1LDcgQEAKICAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCiAKIGRpZmYgLS1naXQgYS9sZC9lbXVsdGVtcGwvZWxmMzIuZW0gYi9sZC9lbXVsdGVtcGwvZWxmMzIuZW0KLWluZGV4IDFhZDlkNmI2ZmEuLjZhMDI1YTQ1YjQgMTAwNjQ0CitpbmRleCBmNGY3YWQ2YjRlLi5jZmQ3ODdmZjI4IDEwMDY0NAogLS0tIGEvbGQvZW11bHRlbXBsL2VsZjMyLmVtCiArKysgYi9sZC9lbXVsdGVtcGwvZWxmMzIuZW0KIEBAIC0xNDcxLDYgKzE0NzEsOCBAQCBmcmFnbWVudCA8PEVPRgpAQCAtMjcsNyArMjcsNyBAQAogIAkgICAgICBpZiAocGF0aAogIAkJICAmJiBnbGQke0VNVUxBVElPTl9OQU1FfV9zZWFyY2hfbmVlZGVkIChwYXRoLCAmbiwgZm9yY2UpKQogIAkJYnJlYWs7Ci1AQCAtMTc1MSw2ICsxNzUzLDggQEAgZ2xkJHtFTVVMQVRJT05fTkFNRX1fYmVmb3JlX2FsbG9jYXRpb24gKHZvaWQpCitAQCAtMTc0Niw2ICsxNzQ4LDggQEAgZ2xkJHtFTVVMQVRJT05fTkFNRX1fYmVmb3JlX2FsbG9jYXRpb24gKHZvaWQpCiAgICBycGF0aCA9IGNvbW1hbmRfbGluZS5ycGF0aDsKICAgIGlmIChycGF0aCA9PSBOVUxMKQogICAgICBycGF0aCA9IChjb25zdCBjaGFyICopIGdldGVudiAoIkxEX1JVTl9QQVRIIik7CkBAIC0zNyw1ICszNyw1IEBACiAgICBmb3IgKGFiZmQgPSBsaW5rX2luZm8uaW5wdXRfYmZkczsgYWJmZDsgYWJmZCA9IGFiZmQtPmxpbmsubmV4dCkKICAgICAgaWYgKGJmZF9nZXRfZmxhdm91ciAoYWJmZCkgPT0gYmZkX3RhcmdldF9lbGZfZmxhdm91cikKIC0tIAotMi4xOC4wCisyLjIwLjEKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwNi1Vc2UtbGlidG9vbC0yLjQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDA2LVVzZS1saWJ0b29sLTIuNC5wYXRjaAppbmRleCA4NTUwZGYwLi5mMGM0ZDI1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDA2LVVzZS1saWJ0b29sLTIuNC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDA2LVVzZS1saWJ0b29sLTIuNC5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gMTFmNmQyODg5NzI1YWQ1OTJhYjc4OTUzNGNhOWI4NTgwNzNkZjRkMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNDE4NTI3YTI5NzFkNGU3N2E4NzA4NTQwMDM5NzA5MGQ4OWZjNWM5NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBTdW4sIDE0IEZlYiAyMDE2IDE3OjA0OjA3ICswMDAwCiBTdWJqZWN0OiBbUEFUQ0ggMDYvMTVdIFVzZSBsaWJ0b29sIDIuNApAQCAtMTMsNyArMTMsNyBAQAogIGJmZC9jb25maWd1cmUuYWMgICAgIHwgICAgMiArLQogIGJpbnV0aWxzL2NvbmZpZ3VyZSAgIHwgMTMyMCArKysrKysrKysrKysrKy0tLS0tCiAgZ2FzL2NvbmZpZ3VyZSAgICAgICAgfCAxMzIwICsrKysrKysrKysrKysrLS0tLS0KLSBncHJvZi9jb25maWd1cmUgICAgICB8IDEzMjcgKysrKysrKysrKysrKystLS0tLQorIGdwcm9mL2NvbmZpZ3VyZSAgICAgIHwgMTMyMSArKysrKysrKysrKysrKy0tLS0tCiAgbGQvY29uZmlndXJlICAgICAgICAgfCAxNjk1ICsrKysrKysrKysrKysrKysrKy0tLS0tLQogIGxpYnRvb2wubTQgICAgICAgICAgIHwgMTA4MCArKysrKysrKysrKy0tLS0tCiAgbHRtYWluLnNoICAgICAgICAgICAgfCAyOTI1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQpAQCAtMjMsMTIgKzIzLDEyIEBACiAgb3Bjb2Rlcy9jb25maWd1cmUgICAgfCAxMzIyICsrKysrKysrKysrKysrLS0tLS0KICBvcGNvZGVzL2NvbmZpZ3VyZS5hYyB8ICAgIDIgKy0KICB6bGliL2NvbmZpZ3VyZSAgICAgICB8IDEzMjAgKysrKysrKysrKysrKystLS0tLQotIDE0IGZpbGVzIGNoYW5nZWQsIDk5NDggaW5zZXJ0aW9ucygrKSwgMzcwMyBkZWxldGlvbnMoLSkKKyAxNCBmaWxlcyBjaGFuZ2VkLCA5OTQwIGluc2VydGlvbnMoKyksIDM3MDUgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBnaXQvYmZkL2NvbmZpZ3VyZQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdpdC5vcmlnL2JmZC9jb25maWd1cmUKLSsrKyBnaXQvYmZkL2NvbmZpZ3VyZQorZGlmZiAtLWdpdCBhL2JmZC9jb25maWd1cmUgYi9iZmQvY29uZmlndXJlCitpbmRleCAxNzk2MDY4NGY4Li45MjVmYjQwMWYyIDEwMDc1NQorLS0tIGEvYmZkL2NvbmZpZ3VyZQorKysrIGIvYmZkL2NvbmZpZ3VyZQogQEAgLTcwNCw2ICs3MDQsOSBAQCBPVE9PTAogIExJUE8KICBOTUVESVQKQEAgLTc2LDcgKzc2LDcgQEAKICAgICB0ZXN0ICJYYHByaW50IC1yIC0tICRFQ0hPIDI+L2Rldi9udWxsYCIgPSAiWCRFQ0hPIjsgdGhlbgogICAgRUNITz0ncHJpbnQgLXIgLS0nCiAgZWxpZiB0ZXN0ICJYYHByaW50ZiAlcyAkRUNITyAyPi9kZXYvbnVsbGAiID0gIlgkRUNITyI7IHRoZW4KLUBAIC02NDIwLDggKzY0MjYsOCBAQCAkYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyIHRoZSBzaGVsbCB1CitAQCAtNjQyMCw4ICs2NDI2LDggQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgc2hlbGwgdW5kZXJzdGFuZHMgc29tZSBYU0kgY29uc3RydWN0cy4uLiAiID4mNjsKICAjIFRyeSBzb21lIFhTSSBmZWF0dXJlcwogIHhzaV9zaGVsbD1ubwogICggX2x0X2R1bW15PSJhL2IvYyIKQEAgLTIxMiw3ICsyMTIsNyBAQAogIGZpbGVfbWFnaWNfY21kPSRsdF9jdl9maWxlX21hZ2ljX2NtZAogIGRlcGxpYnNfY2hlY2tfbWV0aG9kPSRsdF9jdl9kZXBsaWJzX2NoZWNrX21ldGhvZAogIHRlc3QgLXogIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIgJiYgZGVwbGlic19jaGVja19tZXRob2Q9dW5rbm93bgotQEAgLTY4MjMsOSArNjkyNCwxNjIgQEAgdGVzdCAteiAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAmJiBkZXBsaQorQEAgLTY4MjEsMTEgKzY5MjIsMTY0IEBAIHRlc3QgLXogIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIgJiYgZGVwbGlic19jaGVja19tZXRob2Q9dW5rbm93bgogIAogIAogIApAQCAtMjI2LDYgKzIyNiw4IEBACiArCiArCiArCisgCisgCiAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgogLSAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fWFyIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KIC1zZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1hcjsgYWNfd29yZD0kMgpAQCAtNDQ3LDcgKzQ0OSw3IEBACiArCiArCiArCi0gCisrCiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgYXJjaGl2ZXIgQEZJTEUgc3VwcG9ydCIgPiY1CiArJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGFyY2hpdmVyIEBGSUxFIHN1cHBvcnQuLi4gIiA+JjY7IH0KICtpZiAke2x0X2N2X2FyX2F0X2ZpbGUrOn0gZmFsc2U7IHRoZW4gOgpAQCAtNDU2LDcgKzQ1OCw3IEBACiArICBsdF9jdl9hcl9hdF9maWxlPW5vCiArICAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAogKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KLSAKKysKICtpbnQKICttYWluICgpCiArewpAQCAtNDg5LDExICs0OTEsMTEgQEAKICAKICtmaQogK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAotKworIAogK2ZpCiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRsdF9jdl9hcl9hdF9maWxlIiA+JjUKICskYXNfZWNobyAiJGx0X2N2X2FyX2F0X2ZpbGUiID4mNjsgfQotKworIAogK2lmIHRlc3QgIngkbHRfY3ZfYXJfYXRfZmlsZSIgPSB4bm87IHRoZW4KICsgIGFyY2hpdmVyX2xpc3Rfc3BlYz0KICtlbHNlCkBAIC01NDksNyArNTUxLDcgQEAKICAgIGNvbnN0IGNoYXIgKm5hbWU7CiAgICB2b2lkICAgICAgICphZGRyZXNzOwogIH0KLUBAIC03Mzc3LDggKzc3MDgsOCBAQCBzdGF0aWMgY29uc3Qgdm9pZCAqbHRfcHJlbG9hZGVkX3NldHVwKCkKK0BAIC03Mzc3LDggKzc3MDgsOCBAQCBzdGF0aWMgY29uc3Qgdm9pZCAqbHRfcHJlbG9hZGVkX3NldHVwKCkgewogIF9MVF9FT0YKICAJICAjIE5vdyB0cnkgbGlua2luZyB0aGUgdHdvIGZpbGVzLgogIAkgIG12IGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRzdG0uJGFjX29iamV4dApAQCAtNTcxLDcgKzU3Myw3IEBACiAgCWVsc2UKICAJICBlY2hvICJjYW5ub3QgZmluZCBubV90ZXN0X2Z1bmMgaW4gJG5saXN0IiA+JjUKICAJZmkKLUBAIC03NDI2LDYgKzc3NTcsMjAgQEAgZWxzZQorQEAgLTc0MjYsNiArNzc1NywxNiBAQCBlbHNlCiAgJGFzX2VjaG8gIm9rIiA+JjY7IH0KICBmaQogIApAQCAtNTg1LDE3ICs1ODcsMjAgQEAKICsKICsKICsKKyAKKyAKKyAKK0BAIC03NDQyLDYgKzc3ODMsNDUgQEAgZmkKKyAKKyAKKyAKICsKICsKICsKICsKLSAKLSAKLSAKLUBAIC03NDQ1LDYgKzc3OTAsNDEgQEAgZmkKLSAKLSAKLSAKKysKKysKKysKICt7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBzeXNyb290IiA+JjUKICskYXNfZWNob19uICJjaGVja2luZyBmb3Igc3lzcm9vdC4uLiAiID4mNjsgfQogKwpAQCAtNjI4LDEyICs2MzMsOSBAQAogKwogKyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJHtsdF9zeXNyb290Oi1ub30iID4mNQogKyRhc19lY2hvICIke2x0X3N5c3Jvb3Q6LW5vfSIgPiY2OyB9Ci0rCi0rCi0rCiAgCiAgCi0gIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWxpYnRvb2wtbG9jayB3YXMgZ2l2ZW4uCisgCiBAQCAtNzY1Myw2ICs4MDMzLDEyMyBAQCBlc2FjCiAgCiAgbmVlZF9sb2Nrcz0iJGVuYWJsZV9saWJ0b29sX2xvY2siCkBAIC03OTUsNyArNzk3LDcgQEAKICAKICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgICAgIGx0X3Byb2dfY29tcGlsZXJfd2w9Jy1XbCwnCi1AQCAtODkzNCw2ICs5NDMyLDEyIEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW8KK0BAIC04OTM0LDYgKzk0MzIsMTIgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpb24gdG8gcHJvZHVjZSBQSUMuLi4gIiA+JjY7IH0KICAJbHRfcHJvZ19jb21waWxlcl9waWM9Jy0tc2hhcmVkJwogIAlsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0nLS1zdGF0aWMnCiAgCTs7CkBAIC04MDgsNyArODEwLDcgQEAKICAgICAgICBwZ2NjKiB8IHBnZjc3KiB8IHBnZjkwKiB8IHBnZjk1KiB8IHBnZm9ydHJhbiopCiAgICAgICAgICAjIFBvcnRsYW5kIEdyb3VwIGNvbXBpbGVycyAoKm5vdCogdGhlIFBlbnRpdW0gZ2NjIGNvbXBpbGVyLAogIAkjIHdoaWNoIGxvb2tzIHRvIGJlIGEgZGVhZCBwcm9qZWN0KQotQEAgLTg5OTYsNyArOTUwMCw3IEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW8KK0BAIC04OTk2LDcgKzk1MDAsNyBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvbiB0byBwcm9kdWNlIFBJQy4uLiAiID4mNjsgfQogICAgICAgIGx0X3Byb2dfY29tcGlsZXJfcGljPSctS1BJQycKICAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0nLUJzdGF0aWMnCiAgICAgICAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KQEAgLTk2OSw3ICs5NzEsNyBAQAogIAogICAgICAgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nJHt3bH0tYmxpYnBhdGg6JGxpYmRpcjonIiRhaXhfbGlicGF0aCIKICAgICAgICAgIGFyY2hpdmVfZXhwc3ltX2NtZHM9JyRDQyAtbyAkb3V0cHV0X29iamRpci8kc29uYW1lICRsaWJvYmpzICRkZXBsaWJzICciXCR7d2x9JG5vX2VudHJ5X2ZsYWciJyAkY29tcGlsZXJfZmxhZ3MgYGlmIHRlc3QgIngke2FsbG93X3VuZGVmaW5lZF9mbGFnfSIgIT0gIngiOyB0aGVuIGZ1bmNfZWNob19hbGwgIiR7d2x9JHthbGxvd191bmRlZmluZWRfZmxhZ30iOyBlbHNlIDo7IGZpYCAnIlwke3dsfSRleHBfc3ltX2ZsYWc6XCRleHBvcnRfc3ltYm9scyAkc2hhcmVkX2ZsYWciCi1AQCAtOTgyNSw3ICsxMDM1MiwxMyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtOTgyNSw3ICsxMDM1MiwxMyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAJZWxzZQogIAkgIyBEZXRlcm1pbmUgdGhlIGRlZmF1bHQgbGlicGF0aCBmcm9tIHRoZSB2YWx1ZSBlbmNvZGVkIGluIGFuCiAgCSAjIGVtcHR5IGV4ZWN1dGFibGUuCkBAIC0xMDI3LDcgKzEwMjksNyBAQAogIAogIAkgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nJHt3bH0tYmxpYnBhdGg6JGxpYmRpcjonIiRhaXhfbGlicGF0aCIKICAJICAjIFdhcm5pbmcgLSB3aXRob3V0IHVzaW5nIHRoZSBvdGhlciBydW4gdGltZSBsb2FkaW5nIGZsYWdzLAotQEAgLTk4OTgsMjAgKzEwNDM4LDYzIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05ODk4LDIwICsxMDQzOCw2MyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAgICAgICAjIE1pY3Jvc29mdCBWaXN1YWwgQysrLgogICAgICAgICMgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYyBpcyBhY3R1YWxseSBtZWFuaW5nbGVzcywgYXMgdGhlcmUgaXMKICAgICAgICAjIG5vIHNlYXJjaCBwYXRoIGZvciBETExzLgpAQCAtMTEwNSw3ICsxMTA3LDcgQEAKICAgICAgICA7OwogIAogICAgICBkYXJ3aW4qIHwgcmhhcHNvZHkqKQotQEAgLTk5NzIsNyArMTA1NTUsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtOTk3Miw3ICsxMDU1NSw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAogICAgICAjIEZyZWVCU0QgMyBhbmQgZ3JlYXRlciB1c2VzIGdjYyAtc2hhcmVkIHRvIGRvIHNoYXJlZCBsaWJyYXJpZXMuCiAgICAgIGZyZWVic2QqIHwgZHJhZ29uZmx5KikKQEAgLTExMTQsNyArMTExNiw3IEBACiAgICAgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nLVIkbGliZGlyJwogICAgICAgIGhhcmRjb2RlX2RpcmVjdD15ZXMKICAgICAgICBoYXJkY29kZV9zaGxpYnBhdGhfdmFyPW5vCi1AQCAtOTk4MCw3ICsxMDU2Myw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05OTgwLDcgKzEwNTYzLDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCiAgICAgIGhwdXg5KikKICAgICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgpAQCAtMTEyMyw3ICsxMTI1LDcgQEAKICAgICAgICBlbHNlCiAgCWFyY2hpdmVfY21kcz0nJFJNICRvdXRwdXRfb2JqZGlyLyRzb25hbWV+JExEIC1iICtiICRpbnN0YWxsX2xpYmRpciAtbyAkb3V0cHV0X29iamRpci8kc29uYW1lICRsaWJvYmpzICRkZXBsaWJzICRsaW5rZXJfZmxhZ3N+dGVzdCAkb3V0cHV0X29iamRpci8kc29uYW1lID0gJGxpYiB8fCBtdiAkb3V0cHV0X29iamRpci8kc29uYW1lICRsaWInCiAgICAgICAgZmkKLUBAIC05OTk2LDcgKzEwNTc5LDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTk5OTYsNyArMTA1NzksNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAKICAgICAgaHB1eDEwKikKICAgICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllcyAmJiB0ZXN0ICIkd2l0aF9nbnVfbGQiID0gbm87IHRoZW4KQEAgLTExMzIsNyArMTEzNCw3IEBACiAgICAgICAgZWxzZQogIAlhcmNoaXZlX2NtZHM9JyRMRCAtYiAraCAkc29uYW1lICtiICRpbnN0YWxsX2xpYmRpciAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRsaW5rZXJfZmxhZ3MnCiAgICAgICAgZmkKLUBAIC0xMDAyMCwxMCArMTA2MDMsMTAgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTEwMDIwLDEwICsxMDYwMywxMCBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAJICBhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkICR7d2x9K2ggJHt3bH0kc29uYW1lIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzJwogIAkgIDs7CiAgCWlhNjQqKQpAQCAtMTE5MCw3ICsxMTkyLDcgQEAKICAgICAgICBlbHNlCiAgCWFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1zb25hbWUgJHNvbmFtZSBgdGVzdCAtbiAiJHZlcnN0cmluZyIgJiYgZnVuY19lY2hvX2FsbCAiLXNldF92ZXJzaW9uICR2ZXJzdHJpbmciYCAtdXBkYXRlX3JlZ2lzdHJ5ICR7b3V0cHV0X29iamRpcn0vc29fbG9jYXRpb25zIC1vICRsaWInCiAgCWFyY2hpdmVfZXhwc3ltX2NtZHM9JyRDQyAtc2hhcmVkICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtc29uYW1lICRzb25hbWUgYHRlc3QgLW4gIiR2ZXJzdHJpbmciICYmIGZ1bmNfZWNob19hbGwgIi1zZXRfdmVyc2lvbiAkdmVyc3RyaW5nImAgLXVwZGF0ZV9yZWdpc3RyeSAke291dHB1dF9vYmpkaXJ9L3NvX2xvY2F0aW9ucyAtZXhwb3J0c19maWxlICRleHBvcnRfc3ltYm9scyAtbyAkbGliJwotQEAgLTEwMjAzLDcgKzEwNzk5LDcgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iagorQEAgLTEwMjAzLDcgKzEwNzk5LDcgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCiAgICAgIG9zZjQqIHwgb3NmNSopCSMgYXMgb3NmMyogd2l0aCB0aGUgYWRkaXRpb24gb2YgLW1zeW0gZmxhZwogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgCWFsbG93X3VuZGVmaW5lZF9mbGFnPScgJHt3bH0tZXhwZWN0X3VucmVzb2x2ZWQgJHt3bH1cKicKQEAgLTExOTksNyArMTIwMSw3IEBACiAgCWhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LXJwYXRoICR7d2x9JGxpYmRpcicKICAgICAgICBlbHNlCiAgCWFsbG93X3VuZGVmaW5lZF9mbGFnPScgLWV4cGVjdF91bnJlc29sdmVkIFwqJwotQEAgLTEwMjIyLDkgKzEwODE4LDkgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iagorQEAgLTEwMjIyLDkgKzEwODE4LDkgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCiAgICAgICAgbm9fdW5kZWZpbmVkX2ZsYWc9JyAteiBkZWZzJwogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgCXdsYXJjPScke3dsfScKQEAgLTEzNTgsNyArMTM2MCw3IEBACiAgICBmaQogIAogICMgTW9yZSBoYWNrcyB0byBidWlsZCBETExzIG9uIFdpbmRvd3MuCi1AQCAtMTcxMzksMTMgKzE3Nzk0LDIwIEBAIGV4ZWV4dD0nYCRFQ0hPICIkZXhlZXh0IiB8ICRTRUQgIiRkZWxheV8KK0BAIC0xNzE0MiwxMyArMTc3OTcsMjAgQEAgZXhlZXh0PSdgJEVDSE8gIiRleGVleHQiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X3Vuc2V0PSdgJEVDSE8gIiRsdF91bnNldCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfU1AyTkw9J2AkRUNITyAiJGx0X1NQMk5MIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9OTDJTUD0nYCRFQ0hPICIkbHRfTkwyU1AiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtMTM3OSw3ICsxMzgxLDcgQEAKICBTVFJJUD0nYCRFQ0hPICIkU1RSSVAiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIFJBTkxJQj0nYCRFQ0hPICIkUkFOTElCIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBvbGRfcG9zdGluc3RhbGxfY21kcz0nYCRFQ0hPICIkb2xkX3Bvc3RpbnN0YWxsX2NtZHMiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwotQEAgLTE3MTYwLDE0ICsxNzgyMiwxNyBAQCBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlPSdgJEVDSE8gIiRsCitAQCAtMTcxNjMsMTQgKzE3ODI1LDE3IEBAIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGU9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGUiIHwgJFNFRCAiJGRlCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2w9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXg9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXgiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtMTM5OCw3ICsxNDAwLDcgQEAKICBEU1lNVVRJTD0nYCRFQ0hPICIkRFNZTVVUSUwiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIE5NRURJVD0nYCRFQ0hPICIkTk1FRElUIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBMSVBPPSdgJEVDSE8gIiRMSVBPIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKLUBAIC0xNzIwMCwxMiArMTc4NjUsMTIgQEAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj0nYCRFQ0hPICIkaGFyZGNvZAorQEAgLTE3MjAzLDEyICsxNzg2OCwxMiBAQCBoYXJkY29kZV9zaGxpYnBhdGhfdmFyPSdgJEVDSE8gIiRoYXJkY29kZV9zaGxpYnBhdGhfdmFyIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcQogIGhhcmRjb2RlX2F1dG9tYXRpYz0nYCRFQ0hPICIkaGFyZGNvZGVfYXV0b21hdGljIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBpbmhlcml0X3JwYXRoPSdgJEVDSE8gIiRpbmhlcml0X3JwYXRoIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsaW5rX2FsbF9kZXBsaWJzPSdgJEVDSE8gIiRsaW5rX2FsbF9kZXBsaWJzIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKQEAgLTE0MTIsNyArMTQxNCw3IEBACiAgZmlsZV9saXN0X3NwZWM9J2AkRUNITyAiJGZpbGVfbGlzdF9zcGVjIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICB2YXJpYWJsZXNfc2F2ZWRfZm9yX3JlbGluaz0nYCRFQ0hPICIkdmFyaWFibGVzX3NhdmVkX2Zvcl9yZWxpbmsiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIG5lZWRfbGliX3ByZWZpeD0nYCRFQ0hPICIkbmVlZF9saWJfcHJlZml4IiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKLUBAIC0xNzI2MCw4ICsxNzkyNSwxMyBAQCByZWxvYWRfZmxhZyBcCitAQCAtMTcyNjMsOCArMTc5MjgsMTMgQEAgcmVsb2FkX2ZsYWcgXAogIE9CSkRVTVAgXAogIGRlcGxpYnNfY2hlY2tfbWV0aG9kIFwKICBmaWxlX21hZ2ljX2NtZCBcCkBAIC0xNDI2LDcgKzE0MjgsNyBAQAogIFNUUklQIFwKICBSQU5MSUIgXAogIENDIFwKLUBAIC0xNzI3MSwxMiArMTc5NDEsMTQgQEAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZSBcCitAQCAtMTcyNzQsMTIgKzE3OTQ0LDE0IEBAIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGUgXAogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsIFwKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcyBcCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeCBcCkBAIC0xNDQyLDcgKzE0NDQsNyBAQAogIERTWU1VVElMIFwKICBOTUVESVQgXAogIExJUE8gXAotQEAgLTE3MjkyLDcgKzE3OTY0LDYgQEAgbm9fdW5kZWZpbmVkX2ZsYWcgXAorQEAgLTE3Mjk1LDcgKzE3OTY3LDYgQEAgbm9fdW5kZWZpbmVkX2ZsYWcgXAogIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMgXAogIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNfbGQgXAogIGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IgXApAQCAtMTQ1MCw3ICsxNDUyLDcgQEAKICBleGNsdWRlX2V4cHN5bXMgXAogIGluY2x1ZGVfZXhwc3ltcyBcCiAgZmlsZV9saXN0X3NwZWMgXAotQEAgLTE3MzI4LDYgKzE3OTk5LDcgQEAgbW9kdWxlX2NtZHMgXAorQEAgLTE3MzMxLDYgKzE4MDAyLDcgQEAgbW9kdWxlX2NtZHMgXAogIG1vZHVsZV9leHBzeW1fY21kcyBcCiAgZXhwb3J0X3N5bWJvbHNfY21kcyBcCiAgcHJlbGlua19jbWRzIFwKQEAgLTE0NTgsNyArMTQ2MCw3IEBACiAgcG9zdGluc3RhbGxfY21kcyBcCiAgcG9zdHVuaW5zdGFsbF9jbWRzIFwKICBmaW5pc2hfY21kcyBcCi1AQCAtMTgxMTYsNyArMTg3ODgsOCBAQCAkYXNfZWNobyBYIiRmaWxlIiB8CitAQCAtMTgxMTksNyArMTg3OTEsOCBAQCAkYXNfZWNobyBYIiRmaWxlIiB8CiAgIyBOT1RFOiBDaGFuZ2VzIG1hZGUgdG8gdGhpcyBmaWxlIHdpbGwgYmUgbG9zdDogbG9vayBhdCBsdG1haW4uc2guCiAgIwogICMgICBDb3B5cmlnaHQgKEMpIDE5OTYsIDE5OTcsIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDMsIDIwMDQsIDIwMDUsCkBAIC0xNDY4LDcgKzE0NzAsNyBAQAogICMgICBXcml0dGVuIGJ5IEdvcmRvbiBNYXR6aWdrZWl0LCAxOTk2CiAgIwogICMgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgTGlidG9vbC4KLUBAIC0xODIxOSwxOSArMTg4OTIsNDIgQEAgU1AyTkw9JGx0X2x0X1NQMk5MCitAQCAtMTgyMjIsMTkgKzE4ODk1LDQyIEBAIFNQMk5MPSRsdF9sdF9TUDJOTAogICMgdHVybiBuZXdsaW5lcyBpbnRvIHNwYWNlcy4KICBOTDJTUD0kbHRfbHRfTkwyU1AKICAKQEAgLTE1MTIsNyArMTUxNCw3IEBACiAgIyBBIHN5bWJvbCBzdHJpcHBpbmcgcHJvZ3JhbS4KICBTVFJJUD0kbHRfU1RSSVAKICAKLUBAIC0xODI2MSw2ICsxODk1NywxMiBAQCBnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSRsdF9sdF9jCitAQCAtMTgyNjQsNiArMTg5NjAsMTIgQEAgZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0kbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MKICAjIFRyYW5zZm9ybSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgQyBuYW1lIGFkZHJlc3MgcGFpciB3aGVuIGxpYiBwcmVmaXggaXMgbmVlZGVkLgogIGdsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeD0kbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeAogIApAQCAtMTUyNSw3ICsxNTI3LDcgQEAKICAjIFRoZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkgdGhhdCBjb250YWlucyB0ZW1wb3JhcnkgbGlidG9vbCBmaWxlcy4KICBvYmpkaXI9JG9iamRpcgogIAotQEAgLTE4MjcwLDYgKzE4OTcyLDkgQEAgTUFHSUNfQ01EPSRNQUdJQ19DTUQKK0BAIC0xODI3Myw2ICsxODk3NSw5IEBAIE1BR0lDX0NNRD0kTUFHSUNfQ01ECiAgIyBNdXN0IHdlIGxvY2sgZmlsZXMgd2hlbiBkb2luZyBjb21waWxhdGlvbj8KICBuZWVkX2xvY2tzPSRsdF9uZWVkX2xvY2tzCiAgCkBAIC0xNTM1LDcgKzE1MzcsNyBAQAogICMgVG9vbCB0byBtYW5pcHVsYXRlIGFyY2hpdmVkIERXQVJGIGRlYnVnIHN5bWJvbCBmaWxlcyBvbiBNYWMgT1MgWC4KICBEU1lNVVRJTD0kbHRfRFNZTVVUSUwKICAKLUBAIC0xODM4NCwxMiArMTkwODksMTIgQEAgd2l0aF9nY2M9JEdDQworQEAgLTE4Mzg3LDEyICsxOTA5MiwxMiBAQCB3aXRoX2djYz0kR0NDCiAgIyBDb21waWxlciBmbGFnIHRvIHR1cm4gb2ZmIGJ1aWx0aW4gZnVuY3Rpb25zLgogIG5vX2J1aWx0aW5fZmxhZz0kbHRfbHRfcHJvZ19jb21waWxlcl9ub19idWlsdGluX2ZsYWcKICAKQEAgLTE1NTEsNyArMTU1Myw3IEBACiAgIyBDb21waWxlciBmbGFnIHRvIHByZXZlbnQgZHluYW1pYyBsaW5raW5nLgogIGxpbmtfc3RhdGljX2ZsYWc9JGx0X2x0X3Byb2dfY29tcGlsZXJfc3RhdGljCiAgCi1AQCAtMTg0NzYsOSArMTkxODEsNiBAQCBpbmhlcml0X3JwYXRoPSRpbmhlcml0X3JwYXRoCitAQCAtMTg0NzksOSArMTkxODQsNiBAQCBpbmhlcml0X3JwYXRoPSRpbmhlcml0X3JwYXRoCiAgIyBXaGV0aGVyIGxpYnRvb2wgbXVzdCBsaW5rIGEgcHJvZ3JhbSBhZ2FpbnN0IGFsbCBpdHMgZGVwZW5kZW5jeSBsaWJyYXJpZXMuCiAgbGlua19hbGxfZGVwbGlicz0kbGlua19hbGxfZGVwbGlicwogIApAQCAtMTU2MSw3ICsxNTYzLDcgQEAKICAjIFNldCB0byAieWVzIiBpZiBleHBvcnRlZCBzeW1ib2xzIGFyZSByZXF1aXJlZC4KICBhbHdheXNfZXhwb3J0X3N5bWJvbHM9JGFsd2F5c19leHBvcnRfc3ltYm9scwogIAotQEAgLTE4NDk0LDYgKzE5MTk2LDkgQEAgaW5jbHVkZV9leHBzeW1zPSRsdF9pbmNsdWRlX2V4cHN5bXMKK0BAIC0xODQ5Nyw2ICsxOTE5OSw5IEBAIGluY2x1ZGVfZXhwc3ltcz0kbHRfaW5jbHVkZV9leHBzeW1zCiAgIyBDb21tYW5kcyBuZWNlc3NhcnkgZm9yIGxpbmtpbmcgcHJvZ3JhbXMgKGFnYWluc3QgbGlicmFyaWVzKSB3aXRoIHRlbXBsYXRlcy4KICBwcmVsaW5rX2NtZHM9JGx0X3ByZWxpbmtfY21kcwogIApAQCAtMTU3MSw3ICsxNTczLDcgQEAKICAjIFNwZWNpZnkgZmlsZW5hbWUgY29udGFpbmluZyBpbnB1dCBmaWxlcy4KICBmaWxlX2xpc3Rfc3BlYz0kbHRfZmlsZV9saXN0X3NwZWMKICAKLUBAIC0xODUyNiwyMTAgKzE5MjMxLDE2OSBAQCBsdG1haW49IiRhY19hdXhfZGlyL2x0bWFpbi5zaCIKK0BAIC0xODUyOSwyMTAgKzE5MjM0LDE2OSBAQCBsdG1haW49IiRhY19hdXhfZGlyL2x0bWFpbi5zaCIKICAgICMgaWYgZmluZHMgbWl4ZWQgQ1IvTEYgYW5kIExGLW9ubHkgbGluZXMuICBTaW5jZSBzZWQgb3BlcmF0ZXMgaW4KICAgICMgdGV4dCBtb2RlLCBpdCBwcm9wZXJseSBjb252ZXJ0cyBsaW5lcyB0byBDUi9MRi4gIFRoaXMgYmFzaCBwcm9ibGVtCiAgICAjIGlzIHJlcG9ydGVkbHkgZml4ZWQsIGJ1dCB3aHkgbm90IHJ1biBvbiBvbGQgdmVyc2lvbnMgdG9vPwpAQCAtMTc3Myw5ICsxNzc1LDE1IEBACiAtX0xUX0VPRgogLSAgICA7OwogLSAgZXNhYworLQorLQorLSAgc2VkIC1uICcvXiMgR2VuZXJhdGVkIHNoZWxsIGZ1bmN0aW9ucyBpbnNlcnRlZCBoZXJlLywkcCcgIiRsdG1haW4iID4+ICIkY2ZnZmlsZSIgXAorLSAgICB8fCAocm0gLWYgIiRjZmdmaWxlIjsgZXhpdCAxKQorLQorLSAgbXYgLWYgIiRjZmdmaWxlIiAiJG9maWxlIiB8fAogKyAgc2VkICckcScgIiRsdG1haW4iID4+ICIkY2ZnZmlsZSIgXAogKyAgICAgfHwgKHJtIC1mICIkY2ZnZmlsZSI7IGV4aXQgMSkKLSAKKysKICsgIGlmIHRlc3QgeCIkeHNpX3NoZWxsIiA9IHh5ZXM7IHRoZW4KICsgIHNlZCAtZSAnL15mdW5jX2Rpcm5hbWUgKCkkLywvXn0gIyBmdW5jX2Rpcm5hbWUgL2NcCiArZnVuY19kaXJuYW1lICgpXApAQCAtMTkzMywxOSArMTk0MSwxNiBAQAogKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiBVbmFibGUgdG8gc3Vic3RpdHV0ZSBleHRlbmRlZCBzaGVsbCBmdW5jdGlvbnMgaW4gJG9maWxlIiA+JjUKICskYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiBVbmFibGUgdG8gc3Vic3RpdHV0ZSBleHRlbmRlZCBzaGVsbCBmdW5jdGlvbnMgaW4gJG9maWxlIiA+JjI7fQogK2ZpCi0gCi0tICBzZWQgLW4gJy9eIyBHZW5lcmF0ZWQgc2hlbGwgZnVuY3Rpb25zIGluc2VydGVkIGhlcmUvLCRwJyAiJGx0bWFpbiIgPj4gIiRjZmdmaWxlIiBcCi0tICAgIHx8IChybSAtZiAiJGNmZ2ZpbGUiOyBleGl0IDEpCi0gCi0tICBtdiAtZiAiJGNmZ2ZpbGUiICIkb2ZpbGUiIHx8CisrCisrCiArICAgbXYgLWYgIiRjZmdmaWxlIiAiJG9maWxlIiB8fAogICAgICAocm0gLWYgIiRvZmlsZSIgJiYgY3AgIiRjZmdmaWxlIiAiJG9maWxlIiAmJiBybSAtZiAiJGNmZ2ZpbGUiKQogICAgY2htb2QgK3ggIiRvZmlsZSIKICAKLUluZGV4OiBnaXQvYmZkL2NvbmZpZ3VyZS5hYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdpdC5vcmlnL2JmZC9jb25maWd1cmUuYWMKLSsrKyBnaXQvYmZkL2NvbmZpZ3VyZS5hYworZGlmZiAtLWdpdCBhL2JmZC9jb25maWd1cmUuYWMgYi9iZmQvY29uZmlndXJlLmFjCitpbmRleCBlZGEzOGVhMDg2Li43Y2RmOWM4MTQ2IDEwMDY0NAorLS0tIGEvYmZkL2NvbmZpZ3VyZS5hYworKysrIGIvYmZkL2NvbmZpZ3VyZS5hYwogQEAgLTI5Myw3ICsyOTMsNyBAQCBjaGFuZ2VxdW90ZSgsKWRubAogICAgeD1gc2VkIC1uIC1lICdzL15bIAldKlBJQ0ZMQUdbIAldKj1bIAldKi8vcCcgPCAuLi9saWJpYmVydHkvTWFrZWZpbGUgfCBzZWQgLW4gJyRwJ2AKICBjaGFuZ2VxdW90ZShbLF0pZG5sCkBAIC0xOTU1LDExICsxOTYwLDExIEBACiAgICBmaQogIAogICMgTW9yZSBoYWNrcyB0byBidWlsZCBETExzIG9uIFdpbmRvd3MuCi1JbmRleDogZ2l0L2JpbnV0aWxzL2NvbmZpZ3VyZQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdpdC5vcmlnL2JpbnV0aWxzL2NvbmZpZ3VyZQotKysrIGdpdC9iaW51dGlscy9jb25maWd1cmUKLUBAIC02ODgsOCArNjg4LDExIEBAIE9UT09MCitkaWZmIC0tZ2l0IGEvYmludXRpbHMvY29uZmlndXJlIGIvYmludXRpbHMvY29uZmlndXJlCitpbmRleCAzODEyOGUxNDZkLi5jNzRmNzk3OTk2IDEwMDc1NQorLS0tIGEvYmludXRpbHMvY29uZmlndXJlCisrKysgYi9iaW51dGlscy9jb25maWd1cmUKK0BAIC02ODksOCArNjg5LDExIEBAIE9UT09MCiAgTElQTwogIE5NRURJVAogIERTWU1VVElMCkBAIC0xOTcxLDcgKzE5NzYsNyBAQAogIE9CSkRVTVAKICBMTl9TCiAgTk0KLUBAIC04MDYsNiArODA5LDcgQEAgZW5hYmxlX3N0YXRpYworQEAgLTgwNyw2ICs4MTAsNyBAQCBlbmFibGVfc3RhdGljCiAgd2l0aF9waWMKICBlbmFibGVfZmFzdF9pbnN0YWxsCiAgd2l0aF9nbnVfbGQKQEAgLTE5NzksNyArMTk4NCw3IEBACiAgZW5hYmxlX2xpYnRvb2xfbG9jawogIGVuYWJsZV9wbHVnaW5zCiAgZW5hYmxlX2xhcmdlZmlsZQotQEAgLTE0ODIsNiArMTQ4Niw4IEBAIE9wdGlvbmFsIFBhY2thZ2VzOgorQEAgLTE0ODMsNiArMTQ4Nyw4IEBAIE9wdGlvbmFsIFBhY2thZ2VzOgogICAgLS13aXRoLXBpYyAgICAgICAgICAgICAgdHJ5IHRvIHVzZSBvbmx5IFBJQy9ub24tUElDIG9iamVjdHMgW2RlZmF1bHQ9dXNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3RoXQogICAgLS13aXRoLWdudS1sZCAgICAgICAgICAgYXNzdW1lIHRoZSBDIGNvbXBpbGVyIHVzZXMgR05VIGxkIFtkZWZhdWx0PW5vXQpAQCAtMTk4OCw3ICsxOTkzLDcgQEAKICAgIC0td2l0aC1zeXN0ZW0temxpYiAgICAgIHVzZSBpbnN0YWxsZWQgbGliegogICAgLS13aXRoLWdudS1sZCAgICAgICAgICAgYXNzdW1lIHRoZSBDIGNvbXBpbGVyIHVzZXMgR05VIGxkIGRlZmF1bHQ9bm8KICAgIC0td2l0aC1saWJpY29udi1wcmVmaXhbPURJUl0gIHNlYXJjaCBmb3IgbGliaWNvbnYgaW4gRElSL2luY2x1ZGUgYW5kIERJUi9saWIKLUBAIC01NDUzLDggKzU0NTksOCBAQCBlc2FjCitAQCAtNTQ1Nyw4ICs1NDYzLDggQEAgZXNhYwogIAogIAogIApAQCAtMTk5OSw3ICsyMDA0LDcgQEAKICAKICAKICAKLUBAIC01NDk0LDcgKzU1MDAsNyBAQCBFQ0hPPSRFQ0hPJEVDSE8kRUNITyRFQ0hPJEVDSE8kRUNITworQEAgLTU0OTgsNyArNTUwNCw3IEBAIEVDSE89JEVDSE8kRUNITyRFQ0hPJEVDSE8kRUNITyRFQ0hPCiAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBob3cgdG8gcHJpbnQgc3RyaW5ncyIgPiY1CiAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgaG93IHRvIHByaW50IHN0cmluZ3MuLi4gIiA+JjY7IH0KICAjIFRlc3QgcHJpbnQgZmlyc3QsIGJlY2F1c2UgaXQgd2lsbCBiZSBhIGJ1aWx0aW4gaWYgcHJlc2VudC4KQEAgLTIwMDgsNyArMjAxMyw3IEBACiAgICAgdGVzdCAiWGBwcmludCAtciAtLSAkRUNITyAyPi9kZXYvbnVsbGAiID0gIlgkRUNITyI7IHRoZW4KICAgIEVDSE89J3ByaW50IC1yIC0tJwogIGVsaWYgdGVzdCAiWGBwcmludGYgJXMgJEVDSE8gMj4vZGV2L251bGxgIiA9ICJYJEVDSE8iOyB0aGVuCi1AQCAtNjE4MCw4ICs2MTg2LDggQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgc2hlbGwgdQorQEAgLTYxODQsOCArNjE5MCw4IEBAICRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgdGhlIHNoZWxsIHVuZGVyc3RhbmRzIHNvbWUgWFNJIGNvbnN0cnVjdHMuLi4gIiA+JjY7CiAgIyBUcnkgc29tZSBYU0kgZmVhdHVyZXMKICB4c2lfc2hlbGw9bm8KICAoIF9sdF9kdW1teT0iYS9iL2MiCkBAIC0yMDE5LDcgKzIwMjQsNyBAQAogICAgICAmJiBldmFsICd0ZXN0ICQoKCAxICsgMSApKSAtZXEgMiBcCiAgICAgICYmIHRlc3QgIiR7I19sdF9kdW1teX0iIC1lcSA1JyApID4vZGV2L251bGwgMj4mMSBcCiAgICAmJiB4c2lfc2hlbGw9eWVzCi1AQCAtNjIzMCw2ICs2MjM2LDgwIEBAIGVzYWMKK0BAIC02MjM0LDYgKzYyNDAsODAgQEAgZXNhYwogIAogIAogIApAQCAtMjEwMCw3ICsyMTA1LDcgQEAKICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkTEQgb3B0aW9uIHRvIHJlbG9hZCBvYmplY3QgZmlsZXMiID4mNQogICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkTEQgb3B0aW9uIHRvIHJlbG9hZCBvYmplY3QgZmlsZXMuLi4gIiA+JjY7IH0KICBpZiAke2x0X2N2X2xkX3JlbG9hZF9mbGFnKzp9IGZhbHNlOyB0aGVuIDoKLUBAIC02MjQ2LDYgKzYzMjYsMTEgQEAgY2FzZSAkcmVsb2FkX2ZsYWcgaW4KK0BAIC02MjUwLDYgKzYzMzAsMTEgQEAgY2FzZSAkcmVsb2FkX2ZsYWcgaW4KICBlc2FjCiAgcmVsb2FkX2NtZHM9JyRMRCRyZWxvYWRfZmxhZyAtbyAkb3V0cHV0JHJlbG9hZF9vYmpzJwogIGNhc2UgJGhvc3Rfb3MgaW4KQEAgLTIxMTIsNyArMjExNyw3IEBACiAgICBkYXJ3aW4qKQogICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgogICAgICAgIHJlbG9hZF9jbWRzPSckTFRDQyAkTFRDRkxBR1MgLW5vc3RkbGliICR7d2x9LXIgLW8gJG91dHB1dCRyZWxvYWRfb2JqcycKLUBAIC02NDE0LDcgKzY0OTksOCBAQCBtaW5ndyogfCBwdzMyKikKK0BAIC02NDE4LDcgKzY1MDMsOCBAQCBtaW5ndyogfCBwdzMyKikKICAgICAgbHRfY3ZfZGVwbGlic19jaGVja19tZXRob2Q9J2ZpbGVfbWFnaWMgXng4NiBhcmNoaXZlIGltcG9ydHxeeDg2IERMTCcKICAgICAgbHRfY3ZfZmlsZV9tYWdpY19jbWQ9J2Z1bmNfd2luMzJfbGliaWQnCiAgICBlbHNlCkBAIC0yMTIyLDcgKzIxMjcsNyBAQAogICAgICBsdF9jdl9maWxlX21hZ2ljX2NtZD0nJE9CSkRVTVAgLWYnCiAgICBmaQogICAgOzsKLUBAIC02NTY4LDYgKzY2NTQsMjEgQEAgZXNhYworQEAgLTY1NzIsNiArNjY1OCwyMSBAQCBlc2FjCiAgZmkKICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGx0X2N2X2RlcGxpYnNfY2hlY2tfbWV0aG9kIiA+JjUKICAkYXNfZWNobyAiJGx0X2N2X2RlcGxpYnNfY2hlY2tfbWV0aG9kIiA+JjY7IH0KQEAgLTIxNDQsNyArMjE0OSw3IEBACiAgZmlsZV9tYWdpY19jbWQ9JGx0X2N2X2ZpbGVfbWFnaWNfY21kCiAgZGVwbGlic19jaGVja19tZXRob2Q9JGx0X2N2X2RlcGxpYnNfY2hlY2tfbWV0aG9kCiAgdGVzdCAteiAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAmJiBkZXBsaWJzX2NoZWNrX21ldGhvZD11bmtub3duCi1AQCAtNjU4Myw5ICs2Njg0LDE2MiBAQCB0ZXN0IC16ICIkZGVwbGlic19jaGVja19tZXRob2QiICYmIGRlcGxpCitAQCAtNjU4Nyw5ICs2Njg4LDE2MiBAQCB0ZXN0IC16ICIkZGVwbGlic19jaGVja19tZXRob2QiICYmIGRlcGxpYnNfY2hlY2tfbWV0aG9kPXVua25vd24KICAKICAKICAKQEAgLTIzMDksNyArMjMxNCw3IEBACiAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQogICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQogIGlmICR7YWNfY3ZfcHJvZ19BUis6fSBmYWxzZTsgdGhlbiA6Ci1AQCAtNjYwMSw3ICs2ODU1LDcgQEAgZG8KK0BAIC02NjA1LDcgKzY4NTksNyBAQCBkbwogICAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KICAgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCiAgICBpZiBhc19mbl9leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCkBAIC0yMzE4LDcgKzIzMjMsNyBAQAogICAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKICAgICAgYnJlYWsgMgogICAgZmkKLUBAIC02NjIxLDExICs2ODc1LDE1IEBAICRhc19lY2hvICJubyIgPiY2OyB9CitAQCAtNjYyNSwxMSArNjg3OSwxNSBAQCAkYXNfZWNobyAibm8iID4mNjsgfQogIGZpCiAgCiAgCkBAIC0yMzM3LDcgKzIzNDIsNyBAQAogIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKICAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KICBpZiAke2FjX2N2X3Byb2dfYWNfY3RfQVIrOn0gZmFsc2U7IHRoZW4gOgotQEAgLTY2NDEsNyArNjg5OSw3IEBAIGRvCitAQCAtNjY0NSw3ICs2OTAzLDcgQEAgZG8KICAgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCiAgICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbwogICAgaWYgYXNfZm5fZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgpAQCAtMjM0Niw3ICsyMzUxLDcgQEAKICAgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CiAgICAgIGJyZWFrIDIKICAgIGZpCi1AQCAtNjY2MCw2ICs2OTE4LDEwIEBAIGVsc2UKK0BAIC02NjY0LDYgKzY5MjIsMTAgQEAgZWxzZQogICRhc19lY2hvICJubyIgPiY2OyB9CiAgZmkKICAKQEAgLTIzNTcsNyArMjM2Miw3IEBACiAgICBpZiB0ZXN0ICJ4JGFjX2N0X0FSIiA9IHg7IHRoZW4KICAgICAgQVI9ImZhbHNlIgogICAgZWxzZQotQEAgLTY2NzEsMTIgKzY5MzMsMTAgQEAgYWNfdG9vbF93YXJuZWQ9eWVzIDs7CitAQCAtNjY3NSwxMiArNjkzNywxMCBAQCBhY190b29sX3dhcm5lZD15ZXMgOzsKICBlc2FjCiAgICAgIEFSPSRhY19jdF9BUgogICAgZmkKQEAgLTIzNzIsNyArMjM3Nyw3IEBACiAgCiAgCiAgCi1AQCAtNjY4OCw2ICs2OTQ4LDY0IEBAIHRlc3QgLXogIiRBUl9GTEFHUyIgJiYgQVJfRkxBR1M9Y3J1CitAQCAtNjY5Miw2ICs2OTUyLDY0IEBAIHRlc3QgLXogIiRBUl9GTEFHUyIgJiYgQVJfRkxBR1M9Y3J1CiAgCiAgCiAgCkBAIC0yNDM3LDcgKzI0NDIsNyBAQAogIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KICAgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1zdHJpcCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCiAgc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9c3RyaXA7IGFjX3dvcmQ9JDIKLUBAIC03MDIyLDggKzczNDAsOCBAQCBlc2FjCitAQCAtNzAyNiw4ICs3MzQ0LDggQEAgZXNhYwogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsPSJzZWQgLW4gLWUgJ3MvXlQgLiogXCguKlwpJC9leHRlcm4gaW50IFwxKCk7L3AnIC1lICdzL14kc3ltY29kZSogLiogXCguKlwpJC9leHRlcm4gY2hhciBcMTsvcCciCiAgCiAgIyBUcmFuc2Zvcm0gYW4gZXh0cmFjdGVkIHN5bWJvbCBsaW5lIGludG8gc3ltYm9sIG5hbWUgYW5kIHN5bWJvbCBhZGRyZXNzCkBAIC0yNDQ4LDcgKzI0NTMsNyBAQAogIAogICMgSGFuZGxlIENSTEYgaW4gbWluZ3cgdG9vbCBjaGFpbgogIG9wdF9jcj0KLUBAIC03MDU5LDYgKzczNzcsNyBAQCBmb3IgYWNfc3ltcHJmeCBpbiAiIiAiXyI7IGRvCitAQCAtNzA2Myw2ICs3MzgxLDcgQEAgZm9yIGFjX3N5bXByZnggaW4gIiIgIl8iOyBkbwogICAgZWxzZQogICAgICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlPSJzZWQgLW4gLWUgJ3MvXi4qWwkgXVwoJHN5bWNvZGUkc3ltY29kZSpcKVsJIF1bCSBdKiRhY19zeW1wcmZ4JHN5bXBhdCRvcHRfY3IkLyRzeW14ZnJtL3AnIgogICAgZmkKQEAgLTI0NTYsNyArMjQ2MSw3IEBACiAgCiAgICAjIENoZWNrIHRvIHNlZSB0aGF0IHRoZSBwaXBlIHdvcmtzIGNvcnJlY3RseS4KICAgIHBpcGVfd29ya3M9bm8KLUBAIC03MTAwLDYgKzc0MTksMTggQEAgX0xUX0VPRgorQEAgLTcxMDQsNiArNzQyMywxOCBAQCBfTFRfRU9GCiAgICAgICAgaWYgJEdSRVAgJyBubV90ZXN0X3ZhciQnICIkbmxpc3QiID4vZGV2L251bGw7IHRoZW4KICAJaWYgJEdSRVAgJyBubV90ZXN0X2Z1bmMkJyAiJG5saXN0IiA+L2Rldi9udWxsOyB0aGVuCiAgCSAgY2F0IDw8X0xUX0VPRiA+IGNvbmZ0ZXN0LiRhY19leHQKQEAgLTI0NzUsNyArMjQ4MCw3IEBACiAgI2lmZGVmIF9fY3BsdXNwbHVzCiAgZXh0ZXJuICJDIiB7CiAgI2VuZGlmCi1AQCAtNzExMSw3ICs3NDQyLDcgQEAgX0xUX0VPRgorQEAgLTcxMTUsNyArNzQ0Niw3IEBAIF9MVF9FT0YKICAJICBjYXQgPDxfTFRfRU9GID4+IGNvbmZ0ZXN0LiRhY19leHQKICAKICAvKiBUaGUgbWFwcGluZyBiZXR3ZWVuIHN5bWJvbCBuYW1lcyBhbmQgc3ltYm9scy4gICovCkBAIC0yNDg0LDcgKzI0ODksNyBAQAogICAgY29uc3QgY2hhciAqbmFtZTsKICAgIHZvaWQgICAgICAgKmFkZHJlc3M7CiAgfQotQEAgLTcxMzcsOCArNzQ2OCw4IEBAIHN0YXRpYyBjb25zdCB2b2lkICpsdF9wcmVsb2FkZWRfc2V0dXAoKQorQEAgLTcxNDEsOCArNzQ3Miw4IEBAIHN0YXRpYyBjb25zdCB2b2lkICpsdF9wcmVsb2FkZWRfc2V0dXAoKSB7CiAgX0xUX0VPRgogIAkgICMgTm93IHRyeSBsaW5raW5nIHRoZSB0d28gZmlsZXMuCiAgCSAgbXYgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdHN0bS4kYWNfb2JqZXh0CkBAIC0yNDk1LDcgKzI1MDAsNyBAQAogIAkgIExJQlM9ImNvbmZ0c3RtLiRhY19vYmpleHQiCiAgCSAgQ0ZMQUdTPSIkQ0ZMQUdTJGx0X3Byb2dfY29tcGlsZXJfbm9fYnVpbHRpbl9mbGFnIgogIAkgIGlmIHsgeyBldmFsIGVjaG8gIlwiXCRhc19tZVwiOiR7YXNfbGluZW5vLSRMSU5FTk99OiBcIiRhY19saW5rXCIiOyB9ID4mNQotQEAgLTcxNDgsOCArNzQ3OSw4IEBAIF9MVF9FT0YKK0BAIC03MTUyLDggKzc0ODMsOCBAQCBfTFRfRU9GCiAgICB0ZXN0ICRhY19zdGF0dXMgPSAwOyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KICAJICAgIHBpcGVfd29ya3M9eWVzCiAgCSAgZmkKQEAgLTI1MDYsNyArMjUxMSw3IEBACiAgCWVsc2UKICAJICBlY2hvICJjYW5ub3QgZmluZCBubV90ZXN0X2Z1bmMgaW4gJG5saXN0IiA+JjUKICAJZmkKLUBAIC03MTg2LDYgKzc1MTcsMTggQEAgZWxzZQorQEAgLTcxOTAsNiArNzUyMSwyMSBAQCBlbHNlCiAgJGFzX2VjaG8gIm9rIiA+JjY7IH0KICBmaQogIApAQCAtMjUyMiwxMyArMjUyNywxOCBAQAogKwogKwogKworKworKworKwogIAogIAogIAotQEAgLTcyMDcsNiArNzU1MCw0MyBAQCBmaQorQEAgLTcyMDYsNiArNzU1Miw0MCBAQCBmaQogIAogIAogIAorKworKwogK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIHN5c3Jvb3QiID4mNQogKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBzeXNyb290Li4uICIgPiY2OyB9CiArCkBAIC0yNTYxLDE1ICsyNTcxLDEwIEBACiArCiArIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAke2x0X3N5c3Jvb3Q6LW5vfSIgPiY1CiArJGFzX2VjaG8gIiR7bHRfc3lzcm9vdDotbm99IiA+JjY7IH0KLSsKLSsKLSsKLSsKLSsKLSAjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtbGlidG9vbC1sb2NrIHdhcyBnaXZlbi4KLSBpZiB0ZXN0ICIke2VuYWJsZV9saWJ0b29sX2xvY2src2V0fSIgPSBzZXQ7IHRoZW4gOgotICAgZW5hYmxldmFsPSRlbmFibGVfbGlidG9vbF9sb2NrOwotQEAgLTc0MTMsNiArNzc5MywxMjMgQEAgZXNhYworIAorIAorIAorQEAgLTc0MTcsNiArNzc5NywxMjMgQEAgZXNhYwogIAogIG5lZWRfbG9ja3M9IiRlbmFibGVfbGlidG9vbF9sb2NrIgogIApAQCAtMjY5Myw3ICsyNjk4LDcgQEAKICAKICAgIGNhc2UgJGhvc3Rfb3MgaW4KICAgICAgcmhhcHNvZHkqIHwgZGFyd2luKikKLUBAIC03OTc2LDYgKzg0NzMsOCBAQCBfTFRfRU9GCitAQCAtNzk4MCw2ICs4NDc3LDggQEAgX0xUX0VPRgogICAgICAgICRMVENDICRMVENGTEFHUyAtYyAtbyBjb25mdGVzdC5vIGNvbmZ0ZXN0LmMgMj4mNQogICAgICAgIGVjaG8gIiRBUiBjcnUgbGliY29uZnRlc3QuYSBjb25mdGVzdC5vIiA+JjUKICAgICAgICAkQVIgY3J1IGxpYmNvbmZ0ZXN0LmEgY29uZnRlc3QubyAyPiY1CkBAIC0yNzAyLDcgKzI3MDcsNyBAQAogICAgICAgIGNhdCA+IGNvbmZ0ZXN0LmMgPDwgX0xUX0VPRgogIGludCBtYWluKCkgeyByZXR1cm4gMDt9CiAgX0xUX0VPRgotQEAgLTgxNzEsNyArODY3MCw4IEBAIGZpCitAQCAtODE3NSw3ICs4Njc0LDggQEAgZmkKICBMSUJUT09MX0RFUFM9IiRsdG1haW4iCiAgCiAgIyBBbHdheXMgdXNlIG91ciBvd24gbGlidG9vbC4KQEAgLTI3MTIsNyArMjcxNyw3IEBACiAgCiAgCiAgCi1AQCAtODI2MCw3ICs4NzYwLDcgQEAgYWl4MyopCitAQCAtODI2NCw3ICs4NzY0LDcgQEAgYWl4MyopCiAgZXNhYwogIAogICMgR2xvYmFsIHZhcmlhYmxlczoKQEAgLTI3MjEsNyArMjcyNiw3IEBACiAgY2FuX2J1aWxkX3NoYXJlZD15ZXMKICAKICAjIEFsbCBrbm93biBsaW5rZXJzIHJlcXVpcmUgYSBgLmEnIGFyY2hpdmUgZm9yIHN0YXRpYyBsaW5raW5nIChleGNlcHQgTVNWQywKLUBAIC04NTU4LDggKzkwNTgsNiBAQCBmaQorQEAgLTg1NjIsOCArOTA2Miw2IEBAIGZpCiAgbHRfcHJvZ19jb21waWxlcl9waWM9CiAgbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9CiAgCkBAIC0yNzMwLDcgKzI3MzUsNyBAQAogIAogICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KICAgICAgbHRfcHJvZ19jb21waWxlcl93bD0nLVdsLCcKLUBAIC04NzI1LDYgKzkyMjMsMTIgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpbworQEAgLTg3MjksNiArOTIyNywxMiBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvbiB0byBwcm9kdWNlIFBJQy4uLiAiID4mNjsgfQogIAlsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLS1zaGFyZWQnCiAgCWx0X3Byb2dfY29tcGlsZXJfc3RhdGljPSctLXN0YXRpYycKICAJOzsKQEAgLTI3NDMsNyArMjc0OCw3IEBACiAgICAgICAgcGdjYyogfCBwZ2Y3NyogfCBwZ2Y5MCogfCBwZ2Y5NSogfCBwZ2ZvcnRyYW4qKQogICAgICAgICAgIyBQb3J0bGFuZCBHcm91cCBjb21waWxlcnMgKCpub3QqIHRoZSBQZW50aXVtIGdjYyBjb21waWxlciwKICAJIyB3aGljaCBsb29rcyB0byBiZSBhIGRlYWQgcHJvamVjdCkKLUBAIC04Nzg3LDcgKzkyOTEsNyBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvCitAQCAtODc5MSw3ICs5Mjk1LDcgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpb24gdG8gcHJvZHVjZSBQSUMuLi4gIiA+JjY7IH0KICAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLUtQSUMnCiAgICAgICAgbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9Jy1Cc3RhdGljJwogICAgICAgIGNhc2UgJGNjX2Jhc2VuYW1lIGluCkBAIC0yNzUyLDcgKzI3NTcsNyBAQAogIAlsdF9wcm9nX2NvbXBpbGVyX3dsPSctUW9wdGlvbiBsZCAnOzsKICAgICAgICAqKQogIAlsdF9wcm9nX2NvbXBpbGVyX3dsPSctV2wsJzs7Ci1AQCAtODg0NCwxMyArOTM0OCwxNyBAQCBjYXNlICRob3N0X29zIGluCitAQCAtODg0OCwxMyArOTM1MiwxNyBAQCBjYXNlICRob3N0X29zIGluCiAgICAgIGx0X3Byb2dfY29tcGlsZXJfcGljPSIkbHRfcHJvZ19jb21waWxlcl9waWMgLURQSUMiCiAgICAgIDs7CiAgZXNhYwpAQCAtMjc3Niw3ICsyNzgxLDcgQEAKICAKICAjCiAgIyBDaGVjayB0byBtYWtlIHN1cmUgdGhlIFBJQyBmbGFnIGFjdHVhbGx5IHdvcmtzLgotQEAgLTg5MTEsNiArOTQxOSwxMSBAQCBmaQorQEAgLTg5MTUsNiArOTQyMywxMSBAQCBmaQogIAogIAogIApAQCAtMjc4OCw3ICsyNzkzLDcgQEAKICAjCiAgIyBDaGVjayB0byBtYWtlIHN1cmUgdGhlIHN0YXRpYyBmbGFnIGFjdHVhbGx5IHdvcmtzLgogICMKLUBAIC05MjYxLDcgKzk3NzQsOCBAQCBfTFRfRU9GCitAQCAtOTI2NSw3ICs5Nzc4LDggQEAgX0xUX0VPRgogICAgICAgIGFsbG93X3VuZGVmaW5lZF9mbGFnPXVuc3VwcG9ydGVkCiAgICAgICAgYWx3YXlzX2V4cG9ydF9zeW1ib2xzPW5vCiAgICAgICAgZW5hYmxlX3NoYXJlZF93aXRoX3N0YXRpY19ydW50aW1lcz15ZXMKQEAgLTI3OTgsNyArMjgwMyw3IEBACiAgCiAgICAgICAgaWYgJExEIC0taGVscCAyPiYxIHwgJEdSRVAgJ2F1dG8taW1wb3J0JyA+IC9kZXYvbnVsbDsgdGhlbgogICAgICAgICAgYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgLW8gJG91dHB1dF9vYmpkaXIvJHNvbmFtZSAke3dsfS0tZW5hYmxlLWF1dG8taW1hZ2UtYmFzZSAtWGxpbmtlciAtLW91dC1pbXBsaWIgLVhsaW5rZXIgJGxpYicKLUBAIC05MzYwLDEyICs5ODc0LDEyIEBAIF9MVF9FT0YKK0BAIC05MzY0LDEyICs5ODc4LDEyIEBAIF9MVF9FT0YKICAJICB3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYz0nLS13aG9sZS1hcmNoaXZlJGNvbnZlbmllbmNlIC0tbm8td2hvbGUtYXJjaGl2ZScKICAJICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPQogIAkgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNfbGQ9Jy1ycGF0aCAkbGliZGlyJwpAQCAtMjgxMyw3ICsyODE4LDcgQEAKICAJICBmaQogIAkgIDs7CiAgCWVzYWMKLUBAIC05Mzc5LDggKzk4OTMsOCBAQCBfTFRfRU9GCitAQCAtOTM4Myw4ICs5ODk3LDggQEAgX0xUX0VPRgogIAlhcmNoaXZlX2NtZHM9JyRMRCAtQnNoYXJlYWJsZSAkbGlib2JqcyAkZGVwbGlicyAkbGlua2VyX2ZsYWdzIC1vICRsaWInCiAgCXdsYXJjPQogICAgICAgIGVsc2UKQEAgLTI4MjQsNyArMjgyOSw3IEBACiAgICAgICAgZmkKICAgICAgICA7OwogIAotQEAgLTkzOTgsOCArOTkxMiw4IEBAIF9MVF9FT0YKK0BAIC05NDAyLDggKzk5MTYsOCBAQCBfTFRfRU9GCiAgCiAgX0xUX0VPRgogICAgICAgIGVsaWYgJExEIC0taGVscCAyPiYxIHwgJEdSRVAgJzogc3VwcG9ydGVkIHRhcmdldHM6LiogZWxmJyA+IC9kZXYvbnVsbDsgdGhlbgpAQCAtMjgzNSw3ICsyODQwLDcgQEAKICAgICAgICBlbHNlCiAgCWxkX3NobGlicz1ubwogICAgICAgIGZpCi1AQCAtOTQ0NSw4ICs5OTU5LDggQEAgX0xUX0VPRgorQEAgLTk0NDksOCArOTk2Myw4IEBAIF9MVF9FT0YKICAKICAgICAgKikKICAgICAgICBpZiAkTEQgLS1oZWxwIDI+JjEgfCAkR1JFUCAnOiBzdXBwb3J0ZWQgdGFyZ2V0czouKiBlbGYnID4gL2Rldi9udWxsOyB0aGVuCkBAIC0yODQ2LDcgKzI4NTEsNyBAQAogICAgICAgIGVsc2UKICAJbGRfc2hsaWJzPW5vCiAgICAgICAgZmkKLUBAIC05NTc2LDcgKzEwMDkwLDEzIEBAIF9MVF9FT0YKK0BAIC05NTgwLDcgKzEwMDk0LDEzIEBAIF9MVF9FT0YKICAJYWxsb3dfdW5kZWZpbmVkX2ZsYWc9Jy1iZXJvaycKICAgICAgICAgICMgRGV0ZXJtaW5lIHRoZSBkZWZhdWx0IGxpYnBhdGggZnJvbSB0aGUgdmFsdWUgZW5jb2RlZCBpbiBhbgogICAgICAgICAgIyBlbXB0eSBleGVjdXRhYmxlLgpAQCAtMjg2MSw3ICsyODY2LDcgQEAKICAvKiBlbmQgY29uZmRlZnMuaC4gICovCiAgCiAgaW50Ci1AQCAtOTU4OSwyMiArMTAxMDksMjkgQEAgbWFpbiAoKQorQEAgLTk1OTMsMjIgKzEwMTEzLDI5IEBAIG1haW4gKCkKICBfQUNFT0YKICBpZiBhY19mbl9jX3RyeV9saW5rICIkTElORU5PIjsgdGhlbiA6CiAgCkBAIC0yOTA0LDcgKzI5MDksNyBAQAogIAogICAgICAgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nJHt3bH0tYmxpYnBhdGg6JGxpYmRpcjonIiRhaXhfbGlicGF0aCIKICAgICAgICAgIGFyY2hpdmVfZXhwc3ltX2NtZHM9JyRDQyAtbyAkb3V0cHV0X29iamRpci8kc29uYW1lICRsaWJvYmpzICRkZXBsaWJzICciXCR7d2x9JG5vX2VudHJ5X2ZsYWciJyAkY29tcGlsZXJfZmxhZ3MgYGlmIHRlc3QgIngke2FsbG93X3VuZGVmaW5lZF9mbGFnfSIgIT0gIngiOyB0aGVuIGZ1bmNfZWNob19hbGwgIiR7d2x9JHthbGxvd191bmRlZmluZWRfZmxhZ30iOyBlbHNlIDo7IGZpYCAnIlwke3dsfSRleHBfc3ltX2ZsYWc6XCRleHBvcnRfc3ltYm9scyAkc2hhcmVkX2ZsYWciCi1AQCAtOTYxNiw3ICsxMDE0MywxMyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtOTYyMCw3ICsxMDE0NywxMyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAJZWxzZQogIAkgIyBEZXRlcm1pbmUgdGhlIGRlZmF1bHQgbGlicGF0aCBmcm9tIHRoZSB2YWx1ZSBlbmNvZGVkIGluIGFuCiAgCSAjIGVtcHR5IGV4ZWN1dGFibGUuCkBAIC0yOTE5LDcgKzI5MjQsNyBAQAogIC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KICAKICBpbnQKLUBAIC05NjI5LDIyICsxMDE2MiwyOSBAQCBtYWluICgpCitAQCAtOTYzMywyMiArMTAxNjYsMjkgQEAgbWFpbiAoKQogIF9BQ0VPRgogIGlmIGFjX2ZuX2NfdHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoKICAKQEAgLTI5NjIsNyArMjk2Nyw3IEBACiAgCiAgCSBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPScke3dsfS1ibGlicGF0aDokbGliZGlyOiciJGFpeF9saWJwYXRoIgogIAkgICMgV2FybmluZyAtIHdpdGhvdXQgdXNpbmcgdGhlIG90aGVyIHJ1biB0aW1lIGxvYWRpbmcgZmxhZ3MsCi1AQCAtOTY4OSwyMCArMTAyMjksNjMgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTk2OTMsMjAgKzEwMjMzLDYzIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogICAgICAgICMgTWljcm9zb2Z0IFZpc3VhbCBDKysuCiAgICAgICAgIyBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjIGlzIGFjdHVhbGx5IG1lYW5pbmdsZXNzLCBhcyB0aGVyZSBpcwogICAgICAgICMgbm8gc2VhcmNoIHBhdGggZm9yIERMTHMuCkBAIC0zMDQwLDcgKzMwNDUsNyBAQAogICAgICAgIDs7CiAgCiAgICAgIGRhcndpbiogfCByaGFwc29keSopCi1AQCAtOTc2Myw3ICsxMDM0Niw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05NzY3LDcgKzEwMzUwLDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCiAgICAgICMgRnJlZUJTRCAzIGFuZCBncmVhdGVyIHVzZXMgZ2NjIC1zaGFyZWQgdG8gZG8gc2hhcmVkIGxpYnJhcmllcy4KICAgICAgZnJlZWJzZCogfCBkcmFnb25mbHkqKQpAQCAtMzA0OSw3ICszMDU0LDcgQEAKICAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctUiRsaWJkaXInCiAgICAgICAgaGFyZGNvZGVfZGlyZWN0PXllcwogICAgICAgIGhhcmRjb2RlX3NobGlicGF0aF92YXI9bm8KLUBAIC05NzcxLDcgKzEwMzU0LDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTk3NzUsNyArMTAzNTgsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAKICAgICAgaHB1eDkqKQogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCkBAIC0zMDU4LDcgKzMwNjMsNyBAQAogICAgICAgIGVsc2UKICAJYXJjaGl2ZV9jbWRzPSckUk0gJG91dHB1dF9vYmpkaXIvJHNvbmFtZX4kTEQgLWIgK2IgJGluc3RhbGxfbGliZGlyIC1vICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtlcl9mbGFnc350ZXN0ICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgPSAkbGliIHx8IG12ICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgJGxpYicKICAgICAgICBmaQotQEAgLTk3ODcsNyArMTAzNzAsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtOTc5MSw3ICsxMDM3NCw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAogICAgICBocHV4MTAqKQogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzICYmIHRlc3QgIiR3aXRoX2dudV9sZCIgPSBubzsgdGhlbgpAQCAtMzA2Nyw3ICszMDcyLDcgQEAKICAgICAgICBlbHNlCiAgCWFyY2hpdmVfY21kcz0nJExEIC1iICtoICRzb25hbWUgK2IgJGluc3RhbGxfbGliZGlyIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtlcl9mbGFncycKICAgICAgICBmaQotQEAgLTk4MTEsMTAgKzEwMzk0LDEwIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05ODE1LDEwICsxMDM5OCwxMCBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAJICBhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkICR7d2x9K2ggJHt3bH0kc29uYW1lIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzJwogIAkgIDs7CiAgCWlhNjQqKQpAQCAtMzA4MCw3ICszMDg1LDcgQEAKICAJICA7OwogIAllc2FjCiAgICAgICAgZWxzZQotQEAgLTk4OTMsMjMgKzEwNDc2LDM2IEBAIGZpCitAQCAtOTg5NywyMyArMTA0ODAsMzYgQEAgZmkKICAKICAgICAgaXJpeDUqIHwgaXJpeDYqIHwgbm9uc3RvcHV4KikKICAgICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgpAQCAtMzEyNSw3ICszMTMwLDcgQEAKICAgICAgICBlbHNlCiAgCWFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1zb25hbWUgJHNvbmFtZSBgdGVzdCAtbiAiJHZlcnN0cmluZyIgJiYgZnVuY19lY2hvX2FsbCAiLXNldF92ZXJzaW9uICR2ZXJzdHJpbmciYCAtdXBkYXRlX3JlZ2lzdHJ5ICR7b3V0cHV0X29iamRpcn0vc29fbG9jYXRpb25zIC1vICRsaWInCiAgCWFyY2hpdmVfZXhwc3ltX2NtZHM9JyRDQyAtc2hhcmVkICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtc29uYW1lICRzb25hbWUgYHRlc3QgLW4gIiR2ZXJzdHJpbmciICYmIGZ1bmNfZWNob19hbGwgIi1zZXRfdmVyc2lvbiAkdmVyc3RyaW5nImAgLXVwZGF0ZV9yZWdpc3RyeSAke291dHB1dF9vYmpkaXJ9L3NvX2xvY2F0aW9ucyAtZXhwb3J0c19maWxlICRleHBvcnRfc3ltYm9scyAtbyAkbGliJwotQEAgLTk5OTQsNyArMTA1OTAsNyBAQCBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqCitAQCAtOTk5OCw3ICsxMDU5NCw3IEBAIHJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAogICAgICBvc2Y0KiB8IG9zZjUqKQkjIGFzIG9zZjMqIHdpdGggdGhlIGFkZGl0aW9uIG9mIC1tc3ltIGZsYWcKICAgICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgogIAlhbGxvd191bmRlZmluZWRfZmxhZz0nICR7d2x9LWV4cGVjdF91bnJlc29sdmVkICR7d2x9XConCkBAIC0zMTM0LDcgKzMxMzksNyBAQAogIAloYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPScke3dsfS1ycGF0aCAke3dsfSRsaWJkaXInCiAgICAgICAgZWxzZQogIAlhbGxvd191bmRlZmluZWRfZmxhZz0nIC1leHBlY3RfdW5yZXNvbHZlZCBcKicKLUBAIC0xMDAxMyw5ICsxMDYwOSw5IEBAIHJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmoKK0BAIC0xMDAxNyw5ICsxMDYxMyw5IEBAIHJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAogICAgICAgIG5vX3VuZGVmaW5lZF9mbGFnPScgLXogZGVmcycKICAgICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgogIAl3bGFyYz0nJHt3bH0nCkBAIC0zMTQ2LDcgKzMxNTEsNyBAQAogICAgICAgIGVsc2UKICAJY2FzZSBgJENDIC1WIDI+JjFgIGluCiAgCSoiQ29tcGlsZXJzIDUuMCIqKQotQEAgLTEwNTkxLDggKzExMTg3LDkgQEAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKQorQEAgLTEwNTk1LDggKzExMTkxLDkgQEAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKQogICAgbmVlZF92ZXJzaW9uPW5vCiAgICBuZWVkX2xpYl9wcmVmaXg9bm8KICAKQEAgLTMxNTgsNyArMzE2Myw3IEBACiAgICAgIGxpYnJhcnlfbmFtZXNfc3BlYz0nJGxpYm5hbWUuZGxsLmEnCiAgICAgICMgRExMIGlzIGluc3RhbGxlZCB0byAkKGxpYmRpcikvLi4vYmluIGJ5IHBvc3RpbnN0YWxsX2NtZHMKICAgICAgcG9zdGluc3RhbGxfY21kcz0nYmFzZV9maWxlPWBiYXNlbmFtZSBcJHtmaWxlfWB+Ci1AQCAtMTA2MjUsMTMgKzExMjIyLDcxIEBAIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKK0BAIC0xMDYyOSwxMyArMTEyMjYsNzEgQEAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKQogICAgICAgIGxpYnJhcnlfbmFtZXNfc3BlYz0nYGVjaG8gJHtsaWJuYW1lfSB8IHNlZCAtZSAncy9ebGliL3B3LydgYGVjaG8gJHtyZWxlYXNlfSB8ICRTRUQgLWUgJ3MvWy5dLy0vZydgJHt2ZXJzdWZmaXh9JHtzaGFyZWRfZXh0fScKICAgICAgICA7OwogICAgICBlc2FjCkBAIC0zMjMxLDcgKzMyMzYsNyBAQAogICAgIyBGSVhNRTogZmlyc3Qgd2Ugc2hvdWxkIHNlYXJjaCAuIGFuZCB0aGUgZGlyZWN0b3J5IHRoZSBleGVjdXRhYmxlIGlzIGluCiAgICBzaGxpYnBhdGhfdmFyPVBBVEgKICAgIDs7Ci1AQCAtMTA3MjMsNyArMTEzNzgsNyBAQCBoYWlrdSopCitAQCAtMTA3MjcsNyArMTEzODIsNyBAQCBoYWlrdSopCiAgICBzb25hbWVfc3BlYz0nJHtsaWJuYW1lfSR7cmVsZWFzZX0ke3NoYXJlZF9leHR9JG1ham9yJwogICAgc2hsaWJwYXRoX3Zhcj1MSUJSQVJZX1BBVEgKICAgIHNobGlicGF0aF9vdmVycmlkZXNfcnVucGF0aD15ZXMKQEAgLTMyNDAsMTYgKzMyNDUsMTYgQEAKICAgIGhhcmRjb2RlX2ludG9fbGlicz15ZXMKICAgIDs7CiAgCi1AQCAtMTE1MTksNyArMTIxNzQsNyBAQCBlbHNlCitAQCAtMTE1MjMsNyArMTIxNzgsNyBAQCBlbHNlCiAgICBsdF9kbHVua25vd249MDsgbHRfZGxub191c2NvcmU9MTsgbHRfZGxuZWVkX3VzY29yZT0yCiAgICBsdF9zdGF0dXM9JGx0X2RsdW5rbm93bgogICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PF9MVF9FT0YKLS0jbGluZSAxMTUyMiAiY29uZmlndXJlIgorLSNsaW5lIDExNTI2ICJjb25maWd1cmUiCiArI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgogICNpbmNsdWRlICJjb25mZGVmcy5oIgogIAogICNpZiBIQVZFX0RMRkNOX0gKLUBAIC0xMTU2MywxMCArMTIyMTgsMTAgQEAgZWxzZQorQEAgLTExNTY3LDEwICsxMjIyMiwxMCBAQCBlbHNlCiAgLyogV2hlbiAtZnZpc2JpbGl0eT1oaWRkZW4gaXMgdXNlZCwgYXNzdW1lIHRoZSBjb2RlIGhhcyBiZWVuIGFubm90YXRlZAogICAgIGNvcnJlc3BvbmRpbmdseSBmb3IgdGhlIHN5bWJvbHMgbmVlZGVkLiAgKi8KICAjaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgKCgoX19HTlVDX18gPT0gMykgJiYgKF9fR05VQ19NSU5PUl9fID49IDMpKSB8fCAoX19HTlVDX18gPiAzKSkKQEAgLTMyNjIsMTYgKzMyNjcsMTYgQEAKICBpbnQgbWFpbiAoKQogIHsKICAgIHZvaWQgKnNlbGYgPSBkbG9wZW4gKDAsIExUX0RMR0xPQkFMfExUX0RMTEFaWV9PUl9OT1cpOwotQEAgLTExNjI1LDcgKzEyMjgwLDcgQEAgZWxzZQorQEAgLTExNjI5LDcgKzEyMjg0LDcgQEAgZWxzZQogICAgbHRfZGx1bmtub3duPTA7IGx0X2Rsbm9fdXNjb3JlPTE7IGx0X2RsbmVlZF91c2NvcmU9MgogICAgbHRfc3RhdHVzPSRsdF9kbHVua25vd24KICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxfTFRfRU9GCi0tI2xpbmUgMTE2MjggImNvbmZpZ3VyZSIKKy0jbGluZSAxMTYzMiAiY29uZmlndXJlIgogKyNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKICAjaW5jbHVkZSAiY29uZmRlZnMuaCIKICAKICAjaWYgSEFWRV9ETEZDTl9ICi1AQCAtMTE2NjksMTAgKzEyMzI0LDEwIEBAIGVsc2UKK0BAIC0xMTY3MywxMCArMTIzMjgsMTAgQEAgZWxzZQogIC8qIFdoZW4gLWZ2aXNiaWxpdHk9aGlkZGVuIGlzIHVzZWQsIGFzc3VtZSB0aGUgY29kZSBoYXMgYmVlbiBhbm5vdGF0ZWQKICAgICBjb3JyZXNwb25kaW5nbHkgZm9yIHRoZSBzeW1ib2xzIG5lZWRlZC4gICovCiAgI2lmIGRlZmluZWQoX19HTlVDX18pICYmICgoKF9fR05VQ19fID09IDMpICYmIChfX0dOVUNfTUlOT1JfXyA+PSAzKSkgfHwgKF9fR05VQ19fID4gMykpCkBAIC0zMjg0LDcgKzMyODksNyBAQAogIGludCBtYWluICgpCiAgewogICAgdm9pZCAqc2VsZiA9IGRsb3BlbiAoMCwgTFRfRExHTE9CQUx8TFRfRExMQVpZX09SX05PVyk7Ci1AQCAtMTU3MzEsMTMgKzE2Mzg2LDIwIEBAIGV4ZWV4dD0nYCRFQ0hPICIkZXhlZXh0IiB8ICRTRUQgIiRkZWxheV8KK0BAIC0xNTkzNiwxMyArMTY1OTEsMjAgQEAgZXhlZXh0PSdgJEVDSE8gIiRleGVleHQiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X3Vuc2V0PSdgJEVDSE8gIiRsdF91bnNldCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfU1AyTkw9J2AkRUNITyAiJGx0X1NQMk5MIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9OTDJTUD0nYCRFQ0hPICIkbHRfTkwyU1AiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtMzMwNSw3ICszMzEwLDcgQEAKICBTVFJJUD0nYCRFQ0hPICIkU1RSSVAiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIFJBTkxJQj0nYCRFQ0hPICIkUkFOTElCIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBvbGRfcG9zdGluc3RhbGxfY21kcz0nYCRFQ0hPICIkb2xkX3Bvc3RpbnN0YWxsX2NtZHMiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwotQEAgLTE1NzUyLDE0ICsxNjQxNCwxNyBAQCBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlPSdgJEVDSE8gIiRsCitAQCAtMTU5NTcsMTQgKzE2NjE5LDE3IEBAIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGU9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGUiIHwgJFNFRCAiJGRlCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2w9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXg9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXgiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtMzMyNCw3ICszMzI5LDcgQEAKICBEU1lNVVRJTD0nYCRFQ0hPICIkRFNZTVVUSUwiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIE5NRURJVD0nYCRFQ0hPICIkTk1FRElUIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBMSVBPPSdgJEVDSE8gIiRMSVBPIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKLUBAIC0xNTc5MiwxMiArMTY0NTcsMTIgQEAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj0nYCRFQ0hPICIkaGFyZGNvZAorQEAgLTE1OTk3LDEyICsxNjY2MiwxMiBAQCBoYXJkY29kZV9zaGxpYnBhdGhfdmFyPSdgJEVDSE8gIiRoYXJkY29kZV9zaGxpYnBhdGhfdmFyIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcQogIGhhcmRjb2RlX2F1dG9tYXRpYz0nYCRFQ0hPICIkaGFyZGNvZGVfYXV0b21hdGljIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBpbmhlcml0X3JwYXRoPSdgJEVDSE8gIiRpbmhlcml0X3JwYXRoIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsaW5rX2FsbF9kZXBsaWJzPSdgJEVDSE8gIiRsaW5rX2FsbF9kZXBsaWJzIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKQEAgLTMzMzgsNyArMzM0Myw3IEBACiAgZmlsZV9saXN0X3NwZWM9J2AkRUNITyAiJGZpbGVfbGlzdF9zcGVjIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICB2YXJpYWJsZXNfc2F2ZWRfZm9yX3JlbGluaz0nYCRFQ0hPICIkdmFyaWFibGVzX3NhdmVkX2Zvcl9yZWxpbmsiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIG5lZWRfbGliX3ByZWZpeD0nYCRFQ0hPICIkbmVlZF9saWJfcHJlZml4IiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKLUBAIC0xNTg1Miw4ICsxNjUxNywxMyBAQCByZWxvYWRfZmxhZyBcCitAQCAtMTYwNTcsOCArMTY3MjIsMTMgQEAgcmVsb2FkX2ZsYWcgXAogIE9CSkRVTVAgXAogIGRlcGxpYnNfY2hlY2tfbWV0aG9kIFwKICBmaWxlX21hZ2ljX2NtZCBcCkBAIC0zMzUyLDcgKzMzNTcsNyBAQAogIFNUUklQIFwKICBSQU5MSUIgXAogIENDIFwKLUBAIC0xNTg2MywxMiArMTY1MzMsMTQgQEAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZSBcCitAQCAtMTYwNjgsMTIgKzE2NzM4LDE0IEBAIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGUgXAogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsIFwKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcyBcCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeCBcCkBAIC0zMzY4LDcgKzMzNzMsNyBAQAogIERTWU1VVElMIFwKICBOTUVESVQgXAogIExJUE8gXAotQEAgLTE1ODg0LDcgKzE2NTU2LDYgQEAgbm9fdW5kZWZpbmVkX2ZsYWcgXAorQEAgLTE2MDg5LDcgKzE2NzYxLDYgQEAgbm9fdW5kZWZpbmVkX2ZsYWcgXAogIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMgXAogIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNfbGQgXAogIGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IgXApAQCAtMzM3Niw3ICszMzgxLDcgQEAKICBleGNsdWRlX2V4cHN5bXMgXAogIGluY2x1ZGVfZXhwc3ltcyBcCiAgZmlsZV9saXN0X3NwZWMgXAotQEAgLTE1OTIwLDYgKzE2NTkxLDcgQEAgbW9kdWxlX2NtZHMgXAorQEAgLTE2MTI1LDYgKzE2Nzk2LDcgQEAgbW9kdWxlX2NtZHMgXAogIG1vZHVsZV9leHBzeW1fY21kcyBcCiAgZXhwb3J0X3N5bWJvbHNfY21kcyBcCiAgcHJlbGlua19jbWRzIFwKQEAgLTMzODQsNyArMzM4OSw3IEBACiAgcG9zdGluc3RhbGxfY21kcyBcCiAgcG9zdHVuaW5zdGFsbF9jbWRzIFwKICBmaW5pc2hfY21kcyBcCi1AQCAtMTY2ODYsNyArMTczNTgsOCBAQCAkYXNfZWNobyBYIiRmaWxlIiB8CitAQCAtMTY4OTEsNyArMTc1NjMsOCBAQCAkYXNfZWNobyBYIiRmaWxlIiB8CiAgIyBOT1RFOiBDaGFuZ2VzIG1hZGUgdG8gdGhpcyBmaWxlIHdpbGwgYmUgbG9zdDogbG9vayBhdCBsdG1haW4uc2guCiAgIwogICMgICBDb3B5cmlnaHQgKEMpIDE5OTYsIDE5OTcsIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDMsIDIwMDQsIDIwMDUsCkBAIC0zMzk0LDcgKzMzOTksNyBAQAogICMgICBXcml0dGVuIGJ5IEdvcmRvbiBNYXR6aWdrZWl0LCAxOTk2CiAgIwogICMgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgTGlidG9vbC4KLUBAIC0xNjc4OSwxOSArMTc0NjIsNDIgQEAgU1AyTkw9JGx0X2x0X1NQMk5MCitAQCAtMTY5OTQsMTkgKzE3NjY3LDQyIEBAIFNQMk5MPSRsdF9sdF9TUDJOTAogICMgdHVybiBuZXdsaW5lcyBpbnRvIHNwYWNlcy4KICBOTDJTUD0kbHRfbHRfTkwyU1AKICAKQEAgLTM0MzgsNyArMzQ0Myw3IEBACiAgIyBBIHN5bWJvbCBzdHJpcHBpbmcgcHJvZ3JhbS4KICBTVFJJUD0kbHRfU1RSSVAKICAKLUBAIC0xNjgzMSw2ICsxNzUyNywxMiBAQCBnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSRsdF9sdF9jCitAQCAtMTcwMzYsNiArMTc3MzIsMTIgQEAgZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0kbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MKICAjIFRyYW5zZm9ybSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgQyBuYW1lIGFkZHJlc3MgcGFpciB3aGVuIGxpYiBwcmVmaXggaXMgbmVlZGVkLgogIGdsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeD0kbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeAogIApAQCAtMzQ1MSw3ICszNDU2LDcgQEAKICAjIFRoZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkgdGhhdCBjb250YWlucyB0ZW1wb3JhcnkgbGlidG9vbCBmaWxlcy4KICBvYmpkaXI9JG9iamRpcgogIAotQEAgLTE2ODQwLDYgKzE3NTQyLDkgQEAgTUFHSUNfQ01EPSRNQUdJQ19DTUQKK0BAIC0xNzA0NSw2ICsxNzc0Nyw5IEBAIE1BR0lDX0NNRD0kTUFHSUNfQ01ECiAgIyBNdXN0IHdlIGxvY2sgZmlsZXMgd2hlbiBkb2luZyBjb21waWxhdGlvbj8KICBuZWVkX2xvY2tzPSRsdF9uZWVkX2xvY2tzCiAgCkBAIC0zNDYxLDcgKzM0NjYsNyBAQAogICMgVG9vbCB0byBtYW5pcHVsYXRlIGFyY2hpdmVkIERXQVJGIGRlYnVnIHN5bWJvbCBmaWxlcyBvbiBNYWMgT1MgWC4KICBEU1lNVVRJTD0kbHRfRFNZTVVUSUwKICAKLUBAIC0xNjk1NCwxMiArMTc2NTksMTIgQEAgd2l0aF9nY2M9JEdDQworQEAgLTE3MTU5LDEyICsxNzg2NCwxMiBAQCB3aXRoX2djYz0kR0NDCiAgIyBDb21waWxlciBmbGFnIHRvIHR1cm4gb2ZmIGJ1aWx0aW4gZnVuY3Rpb25zLgogIG5vX2J1aWx0aW5fZmxhZz0kbHRfbHRfcHJvZ19jb21waWxlcl9ub19idWlsdGluX2ZsYWcKICAKQEAgLTM0NzcsNyArMzQ4Miw3IEBACiAgIyBDb21waWxlciBmbGFnIHRvIHByZXZlbnQgZHluYW1pYyBsaW5raW5nLgogIGxpbmtfc3RhdGljX2ZsYWc9JGx0X2x0X3Byb2dfY29tcGlsZXJfc3RhdGljCiAgCi1AQCAtMTcwNDYsOSArMTc3NTEsNiBAQCBpbmhlcml0X3JwYXRoPSRpbmhlcml0X3JwYXRoCitAQCAtMTcyNTEsOSArMTc5NTYsNiBAQCBpbmhlcml0X3JwYXRoPSRpbmhlcml0X3JwYXRoCiAgIyBXaGV0aGVyIGxpYnRvb2wgbXVzdCBsaW5rIGEgcHJvZ3JhbSBhZ2FpbnN0IGFsbCBpdHMgZGVwZW5kZW5jeSBsaWJyYXJpZXMuCiAgbGlua19hbGxfZGVwbGlicz0kbGlua19hbGxfZGVwbGlicwogIApAQCAtMzQ4Nyw3ICszNDkyLDcgQEAKICAjIFNldCB0byAieWVzIiBpZiBleHBvcnRlZCBzeW1ib2xzIGFyZSByZXF1aXJlZC4KICBhbHdheXNfZXhwb3J0X3N5bWJvbHM9JGFsd2F5c19leHBvcnRfc3ltYm9scwogIAotQEAgLTE3MDY0LDYgKzE3NzY2LDkgQEAgaW5jbHVkZV9leHBzeW1zPSRsdF9pbmNsdWRlX2V4cHN5bXMKK0BAIC0xNzI2OSw2ICsxNzk3MSw5IEBAIGluY2x1ZGVfZXhwc3ltcz0kbHRfaW5jbHVkZV9leHBzeW1zCiAgIyBDb21tYW5kcyBuZWNlc3NhcnkgZm9yIGxpbmtpbmcgcHJvZ3JhbXMgKGFnYWluc3QgbGlicmFyaWVzKSB3aXRoIHRlbXBsYXRlcy4KICBwcmVsaW5rX2NtZHM9JGx0X3ByZWxpbmtfY21kcwogIApAQCAtMzQ5Nyw3ICszNTAyLDcgQEAKICAjIFNwZWNpZnkgZmlsZW5hbWUgY29udGFpbmluZyBpbnB1dCBmaWxlcy4KICBmaWxlX2xpc3Rfc3BlYz0kbHRfZmlsZV9saXN0X3NwZWMKICAKLUBAIC0xNzA5NiwyMTAgKzE3ODAxLDE2OSBAQCBsdG1haW49IiRhY19hdXhfZGlyL2x0bWFpbi5zaCIKK0BAIC0xNzMwMSwyMTAgKzE4MDA2LDE2OSBAQCBsdG1haW49IiRhY19hdXhfZGlyL2x0bWFpbi5zaCIKICAgICMgaWYgZmluZHMgbWl4ZWQgQ1IvTEYgYW5kIExGLW9ubHkgbGluZXMuICBTaW5jZSBzZWQgb3BlcmF0ZXMgaW4KICAgICMgdGV4dCBtb2RlLCBpdCBwcm9wZXJseSBjb252ZXJ0cyBsaW5lcyB0byBDUi9MRi4gIFRoaXMgYmFzaCBwcm9ibGVtCiAgICAjIGlzIHJlcG9ydGVkbHkgZml4ZWQsIGJ1dCB3aHkgbm90IHJ1biBvbiBvbGQgdmVyc2lvbnMgdG9vPwpAQCAtMzY5OSw5ICszNzA0LDE1IEBACiAtX0xUX0VPRgogLSAgICA7OwogLSAgZXNhYworLQorLQorLSAgc2VkIC1uICcvXiMgR2VuZXJhdGVkIHNoZWxsIGZ1bmN0aW9ucyBpbnNlcnRlZCBoZXJlLywkcCcgIiRsdG1haW4iID4+ICIkY2ZnZmlsZSIgXAorLSAgICB8fCAocm0gLWYgIiRjZmdmaWxlIjsgZXhpdCAxKQorLQorLSAgbXYgLWYgIiRjZmdmaWxlIiAiJG9maWxlIiB8fAogKyAgc2VkICckcScgIiRsdG1haW4iID4+ICIkY2ZnZmlsZSIgXAogKyAgICAgfHwgKHJtIC1mICIkY2ZnZmlsZSI7IGV4aXQgMSkKLSAKKysKICsgIGlmIHRlc3QgeCIkeHNpX3NoZWxsIiA9IHh5ZXM7IHRoZW4KICsgIHNlZCAtZSAnL15mdW5jX2Rpcm5hbWUgKCkkLywvXn0gIyBmdW5jX2Rpcm5hbWUgL2NcCiArZnVuY19kaXJuYW1lICgpXApAQCAtMzg1OSwxOSArMzg3MCwxNiBAQAogKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiBVbmFibGUgdG8gc3Vic3RpdHV0ZSBleHRlbmRlZCBzaGVsbCBmdW5jdGlvbnMgaW4gJG9maWxlIiA+JjUKICskYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiBVbmFibGUgdG8gc3Vic3RpdHV0ZSBleHRlbmRlZCBzaGVsbCBmdW5jdGlvbnMgaW4gJG9maWxlIiA+JjI7fQogK2ZpCi0gCi0tICBzZWQgLW4gJy9eIyBHZW5lcmF0ZWQgc2hlbGwgZnVuY3Rpb25zIGluc2VydGVkIGhlcmUvLCRwJyAiJGx0bWFpbiIgPj4gIiRjZmdmaWxlIiBcCi0tICAgIHx8IChybSAtZiAiJGNmZ2ZpbGUiOyBleGl0IDEpCi0gCi0tICBtdiAtZiAiJGNmZ2ZpbGUiICIkb2ZpbGUiIHx8CisrCisrCiArICAgbXYgLWYgIiRjZmdmaWxlIiAiJG9maWxlIiB8fAogICAgICAocm0gLWYgIiRvZmlsZSIgJiYgY3AgIiRjZmdmaWxlIiAiJG9maWxlIiAmJiBybSAtZiAiJGNmZ2ZpbGUiKQogICAgY2htb2QgK3ggIiRvZmlsZSIKICAKLUluZGV4OiBnaXQvZ2FzL2NvbmZpZ3VyZQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdpdC5vcmlnL2dhcy9jb25maWd1cmUKLSsrKyBnaXQvZ2FzL2NvbmZpZ3VyZQorZGlmZiAtLWdpdCBhL2dhcy9jb25maWd1cmUgYi9nYXMvY29uZmlndXJlCitpbmRleCA2NGRlOWYxOWRhLi5hODJmZGU3ZmE4IDEwMDc1NQorLS0tIGEvZ2FzL2NvbmZpZ3VyZQorKysrIGIvZ2FzL2NvbmZpZ3VyZQogQEAgLTY4MSw4ICs2ODEsMTEgQEAgT1RPT0wKICBMSVBPCiAgTk1FRElUCkBAIC0zODkyLDcgKzM5MDAsNyBAQAogIGVuYWJsZV9saWJ0b29sX2xvY2sKICBlbmFibGVfcGx1Z2lucwogIGVuYWJsZV9sYXJnZWZpbGUKLUBAIC0xNDgyLDYgKzE0ODYsOCBAQCBPcHRpb25hbCBQYWNrYWdlczoKK0BAIC0xNDg3LDYgKzE0OTEsOCBAQCBPcHRpb25hbCBQYWNrYWdlczoKICAgIC0td2l0aC1waWMgICAgICAgICAgICAgIHRyeSB0byB1c2Ugb25seSBQSUMvbm9uLVBJQyBvYmplY3RzIFtkZWZhdWx0PXVzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90aF0KICAgIC0td2l0aC1nbnUtbGQgICAgICAgICAgIGFzc3VtZSB0aGUgQyBjb21waWxlciB1c2VzIEdOVSBsZCBbZGVmYXVsdD1ub10KQEAgLTM5MDEsNyArMzkwOSw3IEBACiAgICAtLXdpdGgtY3B1PUNQVSAgICAgICAgICBkZWZhdWx0IGNwdSB2YXJpYW50IGlzIENQVSAoY3VycmVudGx5IG9ubHkgc3VwcG9ydGVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiBBUkMpCiAgICAtLXdpdGgtc3lzdGVtLXpsaWIgICAgICB1c2UgaW5zdGFsbGVkIGxpYnoKLUBAIC01MjY5LDggKzUyNzUsOCBAQCBlc2FjCitAQCAtNTI3NCw4ICs1MjgwLDggQEAgZXNhYwogIAogIAogIApAQCAtMzkxMiw3ICszOTIwLDcgQEAKICAKICAKICAKLUBAIC01MzEwLDcgKzUzMTYsNyBAQCBFQ0hPPSRFQ0hPJEVDSE8kRUNITyRFQ0hPJEVDSE8kRUNITworQEAgLTUzMTUsNyArNTMyMSw3IEBAIEVDSE89JEVDSE8kRUNITyRFQ0hPJEVDSE8kRUNITyRFQ0hPCiAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBob3cgdG8gcHJpbnQgc3RyaW5ncyIgPiY1CiAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgaG93IHRvIHByaW50IHN0cmluZ3MuLi4gIiA+JjY7IH0KICAjIFRlc3QgcHJpbnQgZmlyc3QsIGJlY2F1c2UgaXQgd2lsbCBiZSBhIGJ1aWx0aW4gaWYgcHJlc2VudC4KQEAgLTM5MjEsNyArMzkyOSw3IEBACiAgICAgdGVzdCAiWGBwcmludCAtciAtLSAkRUNITyAyPi9kZXYvbnVsbGAiID0gIlgkRUNITyI7IHRoZW4KICAgIEVDSE89J3ByaW50IC1yIC0tJwogIGVsaWYgdGVzdCAiWGBwcmludGYgJXMgJEVDSE8gMj4vZGV2L251bGxgIiA9ICJYJEVDSE8iOyB0aGVuCi1AQCAtNTk5Niw4ICs2MDAyLDggQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgc2hlbGwgdQorQEAgLTYwMDEsOCArNjAwNyw4IEBAICRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgdGhlIHNoZWxsIHVuZGVyc3RhbmRzIHNvbWUgWFNJIGNvbnN0cnVjdHMuLi4gIiA+JjY7CiAgIyBUcnkgc29tZSBYU0kgZmVhdHVyZXMKICB4c2lfc2hlbGw9bm8KICAoIF9sdF9kdW1teT0iYS9iL2MiCkBAIC0zOTMyLDcgKzM5NDAsNyBAQAogICAgICAmJiBldmFsICd0ZXN0ICQoKCAxICsgMSApKSAtZXEgMiBcCiAgICAgICYmIHRlc3QgIiR7I19sdF9kdW1teX0iIC1lcSA1JyApID4vZGV2L251bGwgMj4mMSBcCiAgICAmJiB4c2lfc2hlbGw9eWVzCi1AQCAtNjA0Niw2ICs2MDUyLDgwIEBAIGVzYWMKK0BAIC02MDUxLDYgKzYwNTcsODAgQEAgZXNhYwogIAogIAogIApAQCAtNDAxMyw3ICs0MDIxLDcgQEAKICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkTEQgb3B0aW9uIHRvIHJlbG9hZCBvYmplY3QgZmlsZXMiID4mNQogICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkTEQgb3B0aW9uIHRvIHJlbG9hZCBvYmplY3QgZmlsZXMuLi4gIiA+JjY7IH0KICBpZiAke2x0X2N2X2xkX3JlbG9hZF9mbGFnKzp9IGZhbHNlOyB0aGVuIDoKLUBAIC02MDYyLDYgKzYxNDIsMTEgQEAgY2FzZSAkcmVsb2FkX2ZsYWcgaW4KK0BAIC02MDY3LDYgKzYxNDcsMTEgQEAgY2FzZSAkcmVsb2FkX2ZsYWcgaW4KICBlc2FjCiAgcmVsb2FkX2NtZHM9JyRMRCRyZWxvYWRfZmxhZyAtbyAkb3V0cHV0JHJlbG9hZF9vYmpzJwogIGNhc2UgJGhvc3Rfb3MgaW4KQEAgLTQwMjUsNyArNDAzMyw3IEBACiAgICBkYXJ3aW4qKQogICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgogICAgICAgIHJlbG9hZF9jbWRzPSckTFRDQyAkTFRDRkxBR1MgLW5vc3RkbGliICR7d2x9LXIgLW8gJG91dHB1dCRyZWxvYWRfb2JqcycKLUBAIC02MjMwLDcgKzYzMTUsOCBAQCBtaW5ndyogfCBwdzMyKikKK0BAIC02MjM1LDcgKzYzMjAsOCBAQCBtaW5ndyogfCBwdzMyKikKICAgICAgbHRfY3ZfZGVwbGlic19jaGVja19tZXRob2Q9J2ZpbGVfbWFnaWMgXng4NiBhcmNoaXZlIGltcG9ydHxeeDg2IERMTCcKICAgICAgbHRfY3ZfZmlsZV9tYWdpY19jbWQ9J2Z1bmNfd2luMzJfbGliaWQnCiAgICBlbHNlCkBAIC00MDM1LDcgKzQwNDMsNyBAQAogICAgICBsdF9jdl9maWxlX21hZ2ljX2NtZD0nJE9CSkRVTVAgLWYnCiAgICBmaQogICAgOzsKLUBAIC02Mzg0LDYgKzY0NzAsMjEgQEAgZXNhYworQEAgLTYzODksNiArNjQ3NSwyMSBAQCBlc2FjCiAgZmkKICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGx0X2N2X2RlcGxpYnNfY2hlY2tfbWV0aG9kIiA+JjUKICAkYXNfZWNobyAiJGx0X2N2X2RlcGxpYnNfY2hlY2tfbWV0aG9kIiA+JjY7IH0KQEAgLTQwNTcsNyArNDA2NSw3IEBACiAgZmlsZV9tYWdpY19jbWQ9JGx0X2N2X2ZpbGVfbWFnaWNfY21kCiAgZGVwbGlic19jaGVja19tZXRob2Q9JGx0X2N2X2RlcGxpYnNfY2hlY2tfbWV0aG9kCiAgdGVzdCAteiAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAmJiBkZXBsaWJzX2NoZWNrX21ldGhvZD11bmtub3duCi1AQCAtNjM5OSw5ICs2NTAwLDE2MiBAQCB0ZXN0IC16ICIkZGVwbGlic19jaGVja19tZXRob2QiICYmIGRlcGxpCitAQCAtNjQwNCw5ICs2NTA1LDE2MiBAQCB0ZXN0IC16ICIkZGVwbGlic19jaGVja19tZXRob2QiICYmIGRlcGxpYnNfY2hlY2tfbWV0aG9kPXVua25vd24KICAKICAKICAKQEAgLTQwNzEsOSArNDA3OSw3IEBACiArCiArCiArCi0gaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgotLSAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fWFyIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KLS1zZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1hcjsgYWNfd29yZD0kMgorK2lmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KICsgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1kbGx0b29sIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KICtzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1kbGx0b29sOyBhY193b3JkPSQyCiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQpAQCAtNDIxNCw3ICs0MjIwLDkgQEAKICsKICsKICsKLStpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCisgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgorLSAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fWFyIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KKy1zZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1hcjsgYWNfd29yZD0kMgogKyAgZm9yIGFjX3Byb2cgaW4gYXIKICsgIGRvCiArICAgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJGFjX3Rvb2xfcHJlZml4JGFjX3Byb2ciLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgpAQCAtNDIyMiw3ICs0MjMwLDcgQEAKICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9CiAgaWYgJHthY19jdl9wcm9nX0FSKzp9IGZhbHNlOyB0aGVuIDoKLUBAIC02NDE3LDcgKzY2NzEsNyBAQCBkbworQEAgLTY0MjIsNyArNjY3Niw3IEBAIGRvCiAgICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgogICAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KICAgIGlmIGFzX2ZuX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KQEAgLTQyMzEsNyArNDIzOSw3IEBACiAgICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQogICAgICBicmVhayAyCiAgICBmaQotQEAgLTY0MzcsMTEgKzY2OTEsMTUgQEAgJGFzX2VjaG8gIm5vIiA+JjY7IH0KK0BAIC02NDQyLDExICs2Njk2LDE1IEBAICRhc19lY2hvICJubyIgPiY2OyB9CiAgZmkKICAKICAKQEAgLTQyNTAsNyArNDI1OCw3IEBACiAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQogICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQogIGlmICR7YWNfY3ZfcHJvZ19hY19jdF9BUis6fSBmYWxzZTsgdGhlbiA6Ci1AQCAtNjQ1Nyw3ICs2NzE1LDcgQEAgZG8KK0BAIC02NDYyLDcgKzY3MjAsNyBAQCBkbwogICAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KICAgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCiAgICBpZiBhc19mbl9leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCkBAIC00MjU5LDcgKzQyNjcsNyBAQAogICAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKICAgICAgYnJlYWsgMgogICAgZmkKLUBAIC02NDc2LDYgKzY3MzQsMTAgQEAgZWxzZQorQEAgLTY0ODEsNiArNjczOSwxMCBAQCBlbHNlCiAgJGFzX2VjaG8gIm5vIiA+JjY7IH0KICBmaQogIApAQCAtNDI3MCw3ICs0Mjc4LDcgQEAKICAgIGlmIHRlc3QgIngkYWNfY3RfQVIiID0geDsgdGhlbgogICAgICBBUj0iZmFsc2UiCiAgICBlbHNlCi1AQCAtNjQ4NywxMiArNjc0OSwxMCBAQCBhY190b29sX3dhcm5lZD15ZXMgOzsKK0BAIC02NDkyLDEyICs2NzU0LDEwIEBAIGFjX3Rvb2xfd2FybmVkPXllcyA7OwogIGVzYWMKICAgICAgQVI9JGFjX2N0X0FSCiAgICBmaQpAQCAtNDI4NSw3ICs0MjkzLDcgQEAKICAKICAKICAKLUBAIC02NTA0LDYgKzY3NjQsNjQgQEAgdGVzdCAteiAiJEFSX0ZMQUdTIiAmJiBBUl9GTEFHUz1jcnUKK0BAIC02NTA5LDYgKzY3NjksNjQgQEAgdGVzdCAteiAiJEFSX0ZMQUdTIiAmJiBBUl9GTEFHUz1jcnUKICAKICAKICAKQEAgLTQzNTAsNyArNDM1OCw3IEBACiAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgogICAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fXN0cmlwIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KICBzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1zdHJpcDsgYWNfd29yZD0kMgotQEAgLTY4MzgsOCArNzE1Niw4IEBAIGVzYWMKK0BAIC02ODQzLDggKzcxNjEsOCBAQCBlc2FjCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2w9InNlZCAtbiAtZSAncy9eVCAuKiBcKC4qXCkkL2V4dGVybiBpbnQgXDEoKTsvcCcgLWUgJ3MvXiRzeW1jb2RlKiAuKiBcKC4qXCkkL2V4dGVybiBjaGFyIFwxOy9wJyIKICAKICAjIFRyYW5zZm9ybSBhbiBleHRyYWN0ZWQgc3ltYm9sIGxpbmUgaW50byBzeW1ib2wgbmFtZSBhbmQgc3ltYm9sIGFkZHJlc3MKQEAgLTQzNjEsNyArNDM2OSw3IEBACiAgCiAgIyBIYW5kbGUgQ1JMRiBpbiBtaW5ndyB0b29sIGNoYWluCiAgb3B0X2NyPQotQEAgLTY4NzUsNiArNzE5Myw3IEBAIGZvciBhY19zeW1wcmZ4IGluICIiICJfIjsgZG8KK0BAIC02ODgwLDYgKzcxOTgsNyBAQCBmb3IgYWNfc3ltcHJmeCBpbiAiIiAiXyI7IGRvCiAgICBlbHNlCiAgICAgIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGU9InNlZCAtbiAtZSAncy9eLipbCSBdXCgkc3ltY29kZSRzeW1jb2RlKlwpWwkgXVsJIF0qJGFjX3N5bXByZngkc3ltcGF0JG9wdF9jciQvJHN5bXhmcm0vcCciCiAgICBmaQpAQCAtNDM2OSw3ICs0Mzc3LDcgQEAKICAKICAgICMgQ2hlY2sgdG8gc2VlIHRoYXQgdGhlIHBpcGUgd29ya3MgY29ycmVjdGx5LgogICAgcGlwZV93b3Jrcz1ubwotQEAgLTY5MTYsNiArNzIzNSwxOCBAQCBfTFRfRU9GCitAQCAtNjkyMSw2ICs3MjQwLDE4IEBAIF9MVF9FT0YKICAgICAgICBpZiAkR1JFUCAnIG5tX3Rlc3RfdmFyJCcgIiRubGlzdCIgPi9kZXYvbnVsbDsgdGhlbgogIAlpZiAkR1JFUCAnIG5tX3Rlc3RfZnVuYyQnICIkbmxpc3QiID4vZGV2L251bGw7IHRoZW4KICAJICBjYXQgPDxfTFRfRU9GID4gY29uZnRlc3QuJGFjX2V4dApAQCAtNDM4OCw3ICs0Mzk2LDcgQEAKICAjaWZkZWYgX19jcGx1c3BsdXMKICBleHRlcm4gIkMiIHsKICAjZW5kaWYKLUBAIC02OTI3LDcgKzcyNTgsNyBAQCBfTFRfRU9GCitAQCAtNjkzMiw3ICs3MjYzLDcgQEAgX0xUX0VPRgogIAkgIGNhdCA8PF9MVF9FT0YgPj4gY29uZnRlc3QuJGFjX2V4dAogIAogIC8qIFRoZSBtYXBwaW5nIGJldHdlZW4gc3ltYm9sIG5hbWVzIGFuZCBzeW1ib2xzLiAgKi8KQEAgLTQzOTcsNyArNDQwNSw3IEBACiAgICBjb25zdCBjaGFyICpuYW1lOwogICAgdm9pZCAgICAgICAqYWRkcmVzczsKICB9Ci1AQCAtNjk1Myw4ICs3Mjg0LDggQEAgc3RhdGljIGNvbnN0IHZvaWQgKmx0X3ByZWxvYWRlZF9zZXR1cCgpCitAQCAtNjk1OCw4ICs3Mjg5LDggQEAgc3RhdGljIGNvbnN0IHZvaWQgKmx0X3ByZWxvYWRlZF9zZXR1cCgpIHsKICBfTFRfRU9GCiAgCSAgIyBOb3cgdHJ5IGxpbmtpbmcgdGhlIHR3byBmaWxlcy4KICAJICBtdiBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0c3RtLiRhY19vYmpleHQKQEAgLTQ0MDgsNyArNDQxNiw3IEBACiAgCSAgTElCUz0iY29uZnRzdG0uJGFjX29iamV4dCIKICAJICBDRkxBR1M9IiRDRkxBR1MkbHRfcHJvZ19jb21waWxlcl9ub19idWlsdGluX2ZsYWciCiAgCSAgaWYgeyB7IGV2YWwgZWNobyAiXCJcJGFzX21lXCI6JHthc19saW5lbm8tJExJTkVOT306IFwiJGFjX2xpbmtcIiI7IH0gPiY1Ci1AQCAtNjk2NCw4ICs3Mjk1LDggQEAgX0xUX0VPRgorQEAgLTY5NjksOCArNzMwMCw4IEBAIF9MVF9FT0YKICAgIHRlc3QgJGFjX3N0YXR1cyA9IDA7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgogIAkgICAgcGlwZV93b3Jrcz15ZXMKICAJICBmaQpAQCAtNDQxOSw3ICs0NDI3LDcgQEAKICAJZWxzZQogIAkgIGVjaG8gImNhbm5vdCBmaW5kIG5tX3Rlc3RfZnVuYyBpbiAkbmxpc3QiID4mNQogIAlmaQotQEAgLTcwMDIsNiArNzMzMywxOSBAQCBlbHNlCitAQCAtNzAwNyw2ICs3MzM4LDIxIEBAIGVsc2UKICAkYXNfZWNobyAib2siID4mNjsgfQogIGZpCiAgCkBAIC00NDM2LDEzICs0NDQ0LDE3IEBACiArCiArCiArCisrCisrCiAgCiAgCiAgCi1AQCAtNzAyMiw2ICs3MzY2LDQyIEBAIGZpCitAQCAtNzAyMyw2ICs3MzY5LDQwIEBAIGZpCiAgCiAgCiAgCisrCisrCiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3Igc3lzcm9vdCIgPiY1CiArJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIHN5c3Jvb3QuLi4gIiA+JjY7IH0KICsKQEAgLTQ0NzUsMTQgKzQ0ODcsMTAgQEAKICsKICsgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICR7bHRfc3lzcm9vdDotbm99IiA+JjUKICskYXNfZWNobyAiJHtsdF9zeXNyb290Oi1ub30iID4mNjsgfQotKwotKwotKwotKwogIAotICMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1saWJ0b29sLWxvY2sgd2FzIGdpdmVuLgotIGlmIHRlc3QgIiR7ZW5hYmxlX2xpYnRvb2xfbG9jaytzZXR9IiA9IHNldDsgdGhlbiA6Ci1AQCAtNzIyOSw2ICs3NjA5LDEyMyBAQCBlc2FjCisgCisgCitAQCAtNzIzNCw2ICs3NjE0LDEyMyBAQCBlc2FjCiAgCiAgbmVlZF9sb2Nrcz0iJGVuYWJsZV9saWJ0b29sX2xvY2siCiAgCkBAIC00NjA2LDcgKzQ2MTQsNyBAQAogIAogICAgY2FzZSAkaG9zdF9vcyBpbgogICAgICByaGFwc29keSogfCBkYXJ3aW4qKQotQEAgLTc3OTIsNiArODI4OSw4IEBAIF9MVF9FT0YKK0BAIC03Nzk3LDYgKzgyOTQsOCBAQCBfTFRfRU9GCiAgICAgICAgJExUQ0MgJExUQ0ZMQUdTIC1jIC1vIGNvbmZ0ZXN0Lm8gY29uZnRlc3QuYyAyPiY1CiAgICAgICAgZWNobyAiJEFSIGNydSBsaWJjb25mdGVzdC5hIGNvbmZ0ZXN0Lm8iID4mNQogICAgICAgICRBUiBjcnUgbGliY29uZnRlc3QuYSBjb25mdGVzdC5vIDI+JjUKQEAgLTQ2MTUsNyArNDYyMyw3IEBACiAgICAgICAgY2F0ID4gY29uZnRlc3QuYyA8PCBfTFRfRU9GCiAgaW50IG1haW4oKSB7IHJldHVybiAwO30KICBfTFRfRU9GCi1AQCAtNzk4Nyw3ICs4NDg2LDggQEAgZmkKK0BAIC03OTkyLDcgKzg0OTEsOCBAQCBmaQogIExJQlRPT0xfREVQUz0iJGx0bWFpbiIKICAKICAjIEFsd2F5cyB1c2Ugb3VyIG93biBsaWJ0b29sLgpAQCAtNDYyNSw3ICs0NjMzLDcgQEAKICAKICAKICAKLUBAIC04MDc2LDcgKzg1NzYsNyBAQCBhaXgzKikKK0BAIC04MDgxLDcgKzg1ODEsNyBAQCBhaXgzKikKICBlc2FjCiAgCiAgIyBHbG9iYWwgdmFyaWFibGVzOgpAQCAtNDYzNCw3ICs0NjQyLDcgQEAKICBjYW5fYnVpbGRfc2hhcmVkPXllcwogIAogICMgQWxsIGtub3duIGxpbmtlcnMgcmVxdWlyZSBhIGAuYScgYXJjaGl2ZSBmb3Igc3RhdGljIGxpbmtpbmcgKGV4Y2VwdCBNU1ZDLAotQEAgLTgzNzQsOCArODg3NCw2IEBAIGZpCitAQCAtODM3OSw4ICs4ODc5LDYgQEAgZmkKICBsdF9wcm9nX2NvbXBpbGVyX3BpYz0KICBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0KICAKQEAgLTQ2NDMsNyArNDY1MSw3IEBACiAgCiAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgogICAgICBsdF9wcm9nX2NvbXBpbGVyX3dsPSctV2wsJwotQEAgLTg1NDEsNiArOTAzOSwxMiBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvCitAQCAtODU0Niw2ICs5MDQ0LDEyIEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW9uIHRvIHByb2R1Y2UgUElDLi4uICIgPiY2OyB9CiAgCWx0X3Byb2dfY29tcGlsZXJfcGljPSctLXNoYXJlZCcKICAJbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9Jy0tc3RhdGljJwogIAk7OwpAQCAtNDY1Niw3ICs0NjY0LDcgQEAKICAgICAgICBwZ2NjKiB8IHBnZjc3KiB8IHBnZjkwKiB8IHBnZjk1KiB8IHBnZm9ydHJhbiopCiAgICAgICAgICAjIFBvcnRsYW5kIEdyb3VwIGNvbXBpbGVycyAoKm5vdCogdGhlIFBlbnRpdW0gZ2NjIGNvbXBpbGVyLAogIAkjIHdoaWNoIGxvb2tzIHRvIGJlIGEgZGVhZCBwcm9qZWN0KQotQEAgLTg2MDMsNyArOTEwNyw3IEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW8KK0BAIC04NjA4LDcgKzkxMTIsNyBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvbiB0byBwcm9kdWNlIFBJQy4uLiAiID4mNjsgfQogICAgICAgIGx0X3Byb2dfY29tcGlsZXJfcGljPSctS1BJQycKICAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0nLUJzdGF0aWMnCiAgICAgICAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KQEAgLTQ2NjUsNyArNDY3Myw3IEBACiAgCWx0X3Byb2dfY29tcGlsZXJfd2w9Jy1Rb3B0aW9uIGxkICc7OwogICAgICAgICopCiAgCWx0X3Byb2dfY29tcGlsZXJfd2w9Jy1XbCwnOzsKLUBAIC04NjYwLDEzICs5MTY0LDE3IEBAIGNhc2UgJGhvc3Rfb3MgaW4KK0BAIC04NjY1LDEzICs5MTY5LDE3IEBAIGNhc2UgJGhvc3Rfb3MgaW4KICAgICAgbHRfcHJvZ19jb21waWxlcl9waWM9IiRsdF9wcm9nX2NvbXBpbGVyX3BpYyAtRFBJQyIKICAgICAgOzsKICBlc2FjCkBAIC00Njg5LDcgKzQ2OTcsNyBAQAogIAogICMKICAjIENoZWNrIHRvIG1ha2Ugc3VyZSB0aGUgUElDIGZsYWcgYWN0dWFsbHkgd29ya3MuCi1AQCAtODcyNyw2ICs5MjM1LDExIEBAIGZpCitAQCAtODczMiw2ICs5MjQwLDExIEBAIGZpCiAgCiAgCiAgCkBAIC00NzAxLDcgKzQ3MDksNyBAQAogICMKICAjIENoZWNrIHRvIG1ha2Ugc3VyZSB0aGUgc3RhdGljIGZsYWcgYWN0dWFsbHkgd29ya3MuCiAgIwotQEAgLTkwNzcsNyArOTU5MCw4IEBAIF9MVF9FT0YKK0BAIC05MDgyLDcgKzk1OTUsOCBAQCBfTFRfRU9GCiAgICAgICAgYWxsb3dfdW5kZWZpbmVkX2ZsYWc9dW5zdXBwb3J0ZWQKICAgICAgICBhbHdheXNfZXhwb3J0X3N5bWJvbHM9bm8KICAgICAgICBlbmFibGVfc2hhcmVkX3dpdGhfc3RhdGljX3J1bnRpbWVzPXllcwpAQCAtNDcxMSw3ICs0NzE5LDcgQEAKICAKICAgICAgICBpZiAkTEQgLS1oZWxwIDI+JjEgfCAkR1JFUCAnYXV0by1pbXBvcnQnID4gL2Rldi9udWxsOyB0aGVuCiAgICAgICAgICBhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtbyAkb3V0cHV0X29iamRpci8kc29uYW1lICR7d2x9LS1lbmFibGUtYXV0by1pbWFnZS1iYXNlIC1YbGlua2VyIC0tb3V0LWltcGxpYiAtWGxpbmtlciAkbGliJwotQEAgLTkxNzYsMTIgKzk2OTAsMTIgQEAgX0xUX0VPRgorQEAgLTkxODEsMTIgKzk2OTUsMTIgQEAgX0xUX0VPRgogIAkgIHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjPSctLXdob2xlLWFyY2hpdmUkY29udmVuaWVuY2UgLS1uby13aG9sZS1hcmNoaXZlJwogIAkgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9CiAgCSAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY19sZD0nLXJwYXRoICRsaWJkaXInCkBAIC00NzI2LDcgKzQ3MzQsNyBAQAogIAkgIGZpCiAgCSAgOzsKICAJZXNhYwotQEAgLTkxOTUsOCArOTcwOSw4IEBAIF9MVF9FT0YKK0BAIC05MjAwLDggKzk3MTQsOCBAQCBfTFRfRU9GCiAgCWFyY2hpdmVfY21kcz0nJExEIC1Cc2hhcmVhYmxlICRsaWJvYmpzICRkZXBsaWJzICRsaW5rZXJfZmxhZ3MgLW8gJGxpYicKICAJd2xhcmM9CiAgICAgICAgZWxzZQpAQCAtNDczNyw3ICs0NzQ1LDcgQEAKICAgICAgICBmaQogICAgICAgIDs7CiAgCi1AQCAtOTIxNCw4ICs5NzI4LDggQEAgX0xUX0VPRgorQEAgLTkyMTksOCArOTczMyw4IEBAIF9MVF9FT0YKICAKICBfTFRfRU9GCiAgICAgICAgZWxpZiAkTEQgLS1oZWxwIDI+JjEgfCAkR1JFUCAnOiBzdXBwb3J0ZWQgdGFyZ2V0czouKiBlbGYnID4gL2Rldi9udWxsOyB0aGVuCkBAIC00NzQ4LDcgKzQ3NTYsNyBAQAogICAgICAgIGVsc2UKICAJbGRfc2hsaWJzPW5vCiAgICAgICAgZmkKLUBAIC05MjYxLDggKzk3NzUsOCBAQCBfTFRfRU9GCitAQCAtOTI2Niw4ICs5NzgwLDggQEAgX0xUX0VPRgogIAogICAgICAqKQogICAgICAgIGlmICRMRCAtLWhlbHAgMj4mMSB8ICRHUkVQICc6IHN1cHBvcnRlZCB0YXJnZXRzOi4qIGVsZicgPiAvZGV2L251bGw7IHRoZW4KQEAgLTQ3NTksNyArNDc2Nyw3IEBACiAgICAgICAgZWxzZQogIAlsZF9zaGxpYnM9bm8KICAgICAgICBmaQotQEAgLTkzOTIsNyArOTkwNiwxMyBAQCBfTFRfRU9GCitAQCAtOTM5Nyw3ICs5OTExLDEzIEBAIF9MVF9FT0YKICAJYWxsb3dfdW5kZWZpbmVkX2ZsYWc9Jy1iZXJvaycKICAgICAgICAgICMgRGV0ZXJtaW5lIHRoZSBkZWZhdWx0IGxpYnBhdGggZnJvbSB0aGUgdmFsdWUgZW5jb2RlZCBpbiBhbgogICAgICAgICAgIyBlbXB0eSBleGVjdXRhYmxlLgpAQCAtNDc3NCw3ICs0NzgyLDcgQEAKICAvKiBlbmQgY29uZmRlZnMuaC4gICovCiAgCiAgaW50Ci1AQCAtOTQwNSwyMiArOTkyNSwyOSBAQCBtYWluICgpCitAQCAtOTQxMCwyMiArOTkzMCwyOSBAQCBtYWluICgpCiAgX0FDRU9GCiAgaWYgYWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgogIApAQCAtNDgxNyw3ICs0ODI1LDcgQEAKICAKICAgICAgICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LWJsaWJwYXRoOiRsaWJkaXI6JyIkYWl4X2xpYnBhdGgiCiAgICAgICAgICBhcmNoaXZlX2V4cHN5bV9jbWRzPSckQ0MgLW8gJG91dHB1dF9vYmpkaXIvJHNvbmFtZSAkbGlib2JqcyAkZGVwbGlicyAnIlwke3dsfSRub19lbnRyeV9mbGFnIicgJGNvbXBpbGVyX2ZsYWdzIGBpZiB0ZXN0ICJ4JHthbGxvd191bmRlZmluZWRfZmxhZ30iICE9ICJ4IjsgdGhlbiBmdW5jX2VjaG9fYWxsICIke3dsfSR7YWxsb3dfdW5kZWZpbmVkX2ZsYWd9IjsgZWxzZSA6OyBmaWAgJyJcJHt3bH0kZXhwX3N5bV9mbGFnOlwkZXhwb3J0X3N5bWJvbHMgJHNoYXJlZF9mbGFnIgotQEAgLTk0MzIsNyArOTk1OSwxMyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtOTQzNyw3ICs5OTY0LDEzIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAllbHNlCiAgCSAjIERldGVybWluZSB0aGUgZGVmYXVsdCBsaWJwYXRoIGZyb20gdGhlIHZhbHVlIGVuY29kZWQgaW4gYW4KICAJICMgZW1wdHkgZXhlY3V0YWJsZS4KQEAgLTQ4MzIsNyArNDg0MCw3IEBACiAgLyogZW5kIGNvbmZkZWZzLmguICAqLwogIAogIGludAotQEAgLTk0NDUsMjIgKzk5NzgsMjkgQEAgbWFpbiAoKQorQEAgLTk0NTAsMjIgKzk5ODMsMjkgQEAgbWFpbiAoKQogIF9BQ0VPRgogIGlmIGFjX2ZuX2NfdHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoKICAKQEAgLTQ4NzUsNyArNDg4Myw3IEBACiAgCiAgCSBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPScke3dsfS1ibGlicGF0aDokbGliZGlyOiciJGFpeF9saWJwYXRoIgogIAkgICMgV2FybmluZyAtIHdpdGhvdXQgdXNpbmcgdGhlIG90aGVyIHJ1biB0aW1lIGxvYWRpbmcgZmxhZ3MsCi1AQCAtOTUwNSwyMCArMTAwNDUsNjMgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTk1MTAsMjAgKzEwMDUwLDYzIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogICAgICAgICMgTWljcm9zb2Z0IFZpc3VhbCBDKysuCiAgICAgICAgIyBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjIGlzIGFjdHVhbGx5IG1lYW5pbmdsZXNzLCBhcyB0aGVyZSBpcwogICAgICAgICMgbm8gc2VhcmNoIHBhdGggZm9yIERMTHMuCkBAIC00OTUzLDcgKzQ5NjEsNyBAQAogICAgICAgIDs7CiAgCiAgICAgIGRhcndpbiogfCByaGFwc29keSopCi1AQCAtOTU3OSw3ICsxMDE2Miw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05NTg0LDcgKzEwMTY3LDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCiAgICAgICMgRnJlZUJTRCAzIGFuZCBncmVhdGVyIHVzZXMgZ2NjIC1zaGFyZWQgdG8gZG8gc2hhcmVkIGxpYnJhcmllcy4KICAgICAgZnJlZWJzZCogfCBkcmFnb25mbHkqKQpAQCAtNDk2Miw3ICs0OTcwLDcgQEAKICAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctUiRsaWJkaXInCiAgICAgICAgaGFyZGNvZGVfZGlyZWN0PXllcwogICAgICAgIGhhcmRjb2RlX3NobGlicGF0aF92YXI9bm8KLUBAIC05NTg3LDcgKzEwMTcwLDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTk1OTIsNyArMTAxNzUsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAKICAgICAgaHB1eDkqKQogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCkBAIC00OTcxLDcgKzQ5NzksNyBAQAogICAgICAgIGVsc2UKICAJYXJjaGl2ZV9jbWRzPSckUk0gJG91dHB1dF9vYmpkaXIvJHNvbmFtZX4kTEQgLWIgK2IgJGluc3RhbGxfbGliZGlyIC1vICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtlcl9mbGFnc350ZXN0ICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgPSAkbGliIHx8IG12ICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgJGxpYicKICAgICAgICBmaQotQEAgLTk2MDMsNyArMTAxODYsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtOTYwOCw3ICsxMDE5MSw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAogICAgICBocHV4MTAqKQogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzICYmIHRlc3QgIiR3aXRoX2dudV9sZCIgPSBubzsgdGhlbgpAQCAtNDk4MCw3ICs0OTg4LDcgQEAKICAgICAgICBlbHNlCiAgCWFyY2hpdmVfY21kcz0nJExEIC1iICtoICRzb25hbWUgK2IgJGluc3RhbGxfbGliZGlyIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtlcl9mbGFncycKICAgICAgICBmaQotQEAgLTk2MjcsMTAgKzEwMjEwLDEwIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05NjMyLDEwICsxMDIxNSwxMCBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAJICBhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkICR7d2x9K2ggJHt3bH0kc29uYW1lIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzJwogIAkgIDs7CiAgCWlhNjQqKQpAQCAtNDk5Myw3ICs1MDAxLDcgQEAKICAJICA7OwogIAllc2FjCiAgICAgICAgZWxzZQotQEAgLTk3MDksMjMgKzEwMjkyLDM2IEBAIGZpCitAQCAtOTcxNCwyMyArMTAyOTcsMzYgQEAgZmkKICAKICAgICAgaXJpeDUqIHwgaXJpeDYqIHwgbm9uc3RvcHV4KikKICAgICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgpAQCAtNTAzOCw3ICs1MDQ2LDcgQEAKICAgICAgICBlbHNlCiAgCWFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1zb25hbWUgJHNvbmFtZSBgdGVzdCAtbiAiJHZlcnN0cmluZyIgJiYgZnVuY19lY2hvX2FsbCAiLXNldF92ZXJzaW9uICR2ZXJzdHJpbmciYCAtdXBkYXRlX3JlZ2lzdHJ5ICR7b3V0cHV0X29iamRpcn0vc29fbG9jYXRpb25zIC1vICRsaWInCiAgCWFyY2hpdmVfZXhwc3ltX2NtZHM9JyRDQyAtc2hhcmVkICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtc29uYW1lICRzb25hbWUgYHRlc3QgLW4gIiR2ZXJzdHJpbmciICYmIGZ1bmNfZWNob19hbGwgIi1zZXRfdmVyc2lvbiAkdmVyc3RyaW5nImAgLXVwZGF0ZV9yZWdpc3RyeSAke291dHB1dF9vYmpkaXJ9L3NvX2xvY2F0aW9ucyAtZXhwb3J0c19maWxlICRleHBvcnRfc3ltYm9scyAtbyAkbGliJwotQEAgLTk4MTAsNyArMTA0MDYsNyBAQCBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqCitAQCAtOTgxNSw3ICsxMDQxMSw3IEBAIHJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAogICAgICBvc2Y0KiB8IG9zZjUqKQkjIGFzIG9zZjMqIHdpdGggdGhlIGFkZGl0aW9uIG9mIC1tc3ltIGZsYWcKICAgICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgogIAlhbGxvd191bmRlZmluZWRfZmxhZz0nICR7d2x9LWV4cGVjdF91bnJlc29sdmVkICR7d2x9XConCkBAIC01MDQ3LDcgKzUwNTUsNyBAQAogIAloYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPScke3dsfS1ycGF0aCAke3dsfSRsaWJkaXInCiAgICAgICAgZWxzZQogIAlhbGxvd191bmRlZmluZWRfZmxhZz0nIC1leHBlY3RfdW5yZXNvbHZlZCBcKicKLUBAIC05ODI5LDkgKzEwNDI1LDkgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iagorQEAgLTk4MzQsOSArMTA0MzAsOSBAQCBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKICAgICAgICBub191bmRlZmluZWRfZmxhZz0nIC16IGRlZnMnCiAgICAgICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KICAJd2xhcmM9JyR7d2x9JwpAQCAtNTA1OSw3ICs1MDY3LDcgQEAKICAgICAgICBlbHNlCiAgCWNhc2UgYCRDQyAtViAyPiYxYCBpbgogIAkqIkNvbXBpbGVycyA1LjAiKikKLUBAIC0xMDQwNyw4ICsxMTAwMyw5IEBAIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKK0BAIC0xMDQxMiw4ICsxMTAwOCw5IEBAIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKICAgIG5lZWRfdmVyc2lvbj1ubwogICAgbmVlZF9saWJfcHJlZml4PW5vCiAgCkBAIC01MDcxLDcgKzUwNzksNyBAQAogICAgICBsaWJyYXJ5X25hbWVzX3NwZWM9JyRsaWJuYW1lLmRsbC5hJwogICAgICAjIERMTCBpcyBpbnN0YWxsZWQgdG8gJChsaWJkaXIpLy4uL2JpbiBieSBwb3N0aW5zdGFsbF9jbWRzCiAgICAgIHBvc3RpbnN0YWxsX2NtZHM9J2Jhc2VfZmlsZT1gYmFzZW5hbWUgXCR7ZmlsZX1gfgotQEAgLTEwNDQxLDEzICsxMTAzOCw3MSBAQCBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBjZWdjYyopCitAQCAtMTA0NDYsMTMgKzExMDQzLDcxIEBAIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKICAgICAgICBsaWJyYXJ5X25hbWVzX3NwZWM9J2BlY2hvICR7bGlibmFtZX0gfCBzZWQgLWUgJ3MvXmxpYi9wdy8nYGBlY2hvICR7cmVsZWFzZX0gfCAkU0VEIC1lICdzL1suXS8tL2cnYCR7dmVyc3VmZml4fSR7c2hhcmVkX2V4dH0nCiAgICAgICAgOzsKICAgICAgZXNhYwpAQCAtNTE0NCw3ICs1MTUyLDcgQEAKICAgICMgRklYTUU6IGZpcnN0IHdlIHNob3VsZCBzZWFyY2ggLiBhbmQgdGhlIGRpcmVjdG9yeSB0aGUgZXhlY3V0YWJsZSBpcyBpbgogICAgc2hsaWJwYXRoX3Zhcj1QQVRICiAgICA7OwotQEAgLTEwNTM5LDcgKzExMTk0LDcgQEAgaGFpa3UqKQorQEAgLTEwNTQ0LDcgKzExMTk5LDcgQEAgaGFpa3UqKQogICAgc29uYW1lX3NwZWM9JyR7bGlibmFtZX0ke3JlbGVhc2V9JHtzaGFyZWRfZXh0fSRtYWpvcicKICAgIHNobGlicGF0aF92YXI9TElCUkFSWV9QQVRICiAgICBzaGxpYnBhdGhfb3ZlcnJpZGVzX3J1bnBhdGg9eWVzCkBAIC01MTUzLDE2ICs1MTYxLDE2IEBACiAgICBoYXJkY29kZV9pbnRvX2xpYnM9eWVzCiAgICA7OwogIAotQEAgLTExMzM1LDcgKzExOTkwLDcgQEAgZWxzZQorQEAgLTExMzQwLDcgKzExOTk1LDcgQEAgZWxzZQogICAgbHRfZGx1bmtub3duPTA7IGx0X2Rsbm9fdXNjb3JlPTE7IGx0X2RsbmVlZF91c2NvcmU9MgogICAgbHRfc3RhdHVzPSRsdF9kbHVua25vd24KICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxfTFRfRU9GCi0tI2xpbmUgMTEzMzggImNvbmZpZ3VyZSIKKy0jbGluZSAxMTM0MyAiY29uZmlndXJlIgogKyNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKICAjaW5jbHVkZSAiY29uZmRlZnMuaCIKICAKICAjaWYgSEFWRV9ETEZDTl9ICi1AQCAtMTEzNzksMTAgKzEyMDM0LDEwIEBAIGVsc2UKK0BAIC0xMTM4NCwxMCArMTIwMzksMTAgQEAgZWxzZQogIC8qIFdoZW4gLWZ2aXNiaWxpdHk9aGlkZGVuIGlzIHVzZWQsIGFzc3VtZSB0aGUgY29kZSBoYXMgYmVlbiBhbm5vdGF0ZWQKICAgICBjb3JyZXNwb25kaW5nbHkgZm9yIHRoZSBzeW1ib2xzIG5lZWRlZC4gICovCiAgI2lmIGRlZmluZWQoX19HTlVDX18pICYmICgoKF9fR05VQ19fID09IDMpICYmIChfX0dOVUNfTUlOT1JfXyA+PSAzKSkgfHwgKF9fR05VQ19fID4gMykpCkBAIC01MTc1LDE2ICs1MTgzLDE2IEBACiAgaW50IG1haW4gKCkKICB7CiAgICB2b2lkICpzZWxmID0gZGxvcGVuICgwLCBMVF9ETEdMT0JBTHxMVF9ETExBWllfT1JfTk9XKTsKLUBAIC0xMTQ0MSw3ICsxMjA5Niw3IEBAIGVsc2UKK0BAIC0xMTQ0Niw3ICsxMjEwMSw3IEBAIGVsc2UKICAgIGx0X2RsdW5rbm93bj0wOyBsdF9kbG5vX3VzY29yZT0xOyBsdF9kbG5lZWRfdXNjb3JlPTIKICAgIGx0X3N0YXR1cz0kbHRfZGx1bmtub3duCiAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8X0xUX0VPRgotLSNsaW5lIDExNDQ0ICJjb25maWd1cmUiCistI2xpbmUgMTE0NDkgImNvbmZpZ3VyZSIKICsjbGluZSAkTElORU5PICJjb25maWd1cmUiCiAgI2luY2x1ZGUgImNvbmZkZWZzLmgiCiAgCiAgI2lmIEhBVkVfRExGQ05fSAotQEAgLTExNDg1LDEwICsxMjE0MCwxMCBAQCBlbHNlCitAQCAtMTE0OTAsMTAgKzEyMTQ1LDEwIEBAIGVsc2UKICAvKiBXaGVuIC1mdmlzYmlsaXR5PWhpZGRlbiBpcyB1c2VkLCBhc3N1bWUgdGhlIGNvZGUgaGFzIGJlZW4gYW5ub3RhdGVkCiAgICAgY29ycmVzcG9uZGluZ2x5IGZvciB0aGUgc3ltYm9scyBuZWVkZWQuICAqLwogICNpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiAoKChfX0dOVUNfXyA9PSAzKSAmJiAoX19HTlVDX01JTk9SX18gPj0gMykpIHx8IChfX0dOVUNfXyA+IDMpKQpAQCAtNTE5Nyw3ICs1MjA1LDcgQEAKICBpbnQgbWFpbiAoKQogIHsKICAgIHZvaWQgKnNlbGYgPSBkbG9wZW4gKDAsIExUX0RMR0xPQkFMfExUX0RMTEFaWV9PUl9OT1cpOwotQEAgLTE1ODAzLDEzICsxNjQ1OCwyMCBAQCBleGVleHQ9J2AkRUNITyAiJGV4ZWV4dCIgfCAkU0VEICIkZGVsYXlfCitAQCAtMTU4OTYsMTMgKzE2NTUxLDIwIEBAIGV4ZWV4dD0nYCRFQ0hPICIkZXhlZXh0IiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF91bnNldD0nYCRFQ0hPICIkbHRfdW5zZXQiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X1NQMk5MPSdgJEVDSE8gIiRsdF9TUDJOTCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfTkwyU1A9J2AkRUNITyAiJGx0X05MMlNQIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKQEAgLTUyMTgsNyArNTIyNiw3IEBACiAgU1RSSVA9J2AkRUNITyAiJFNUUklQIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBSQU5MSUI9J2AkRUNITyAiJFJBTkxJQiIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgb2xkX3Bvc3RpbnN0YWxsX2NtZHM9J2AkRUNITyAiJG9sZF9wb3N0aW5zdGFsbF9jbWRzIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKLUBAIC0xNTgyNCwxNCArMTY0ODYsMTcgQEAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZT0nYCRFQ0hPICIkbAorQEAgLTE1OTE3LDE0ICsxNjU3OSwxNyBAQCBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlPSdgJEVDSE8gIiRsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlIiB8ICRTRUQgIiRkZQogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsPSdgJEVDSE8gIiRsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jZGVjbCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3M9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4PSdgJEVDSE8gIiRsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4IiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKQEAgLTUyMzcsNyArNTI0NSw3IEBACiAgRFNZTVVUSUw9J2AkRUNITyAiJERTWU1VVElMIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBOTUVESVQ9J2AkRUNITyAiJE5NRURJVCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgTElQTz0nYCRFQ0hPICIkTElQTyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCi1AQCAtMTU4NjQsMTIgKzE2NTI5LDEyIEBAIGhhcmRjb2RlX3NobGlicGF0aF92YXI9J2AkRUNITyAiJGhhcmRjb2QKK0BAIC0xNTk1NywxMiArMTY2MjIsMTIgQEAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj0nYCRFQ0hPICIkaGFyZGNvZGVfc2hsaWJwYXRoX3ZhciIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3EKICBoYXJkY29kZV9hdXRvbWF0aWM9J2AkRUNITyAiJGhhcmRjb2RlX2F1dG9tYXRpYyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgaW5oZXJpdF9ycGF0aD0nYCRFQ0hPICIkaW5oZXJpdF9ycGF0aCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbGlua19hbGxfZGVwbGlicz0nYCRFQ0hPICIkbGlua19hbGxfZGVwbGlicyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCkBAIC01MjUxLDcgKzUyNTksNyBAQAogIGZpbGVfbGlzdF9zcGVjPSdgJEVDSE8gIiRmaWxlX2xpc3Rfc3BlYyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgdmFyaWFibGVzX3NhdmVkX2Zvcl9yZWxpbms9J2AkRUNITyAiJHZhcmlhYmxlc19zYXZlZF9mb3JfcmVsaW5rIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBuZWVkX2xpYl9wcmVmaXg9J2AkRUNITyAiJG5lZWRfbGliX3ByZWZpeCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCi1AQCAtMTU5MjQsOCArMTY1ODksMTMgQEAgcmVsb2FkX2ZsYWcgXAorQEAgLTE2MDE3LDggKzE2NjgyLDEzIEBAIHJlbG9hZF9mbGFnIFwKICBPQkpEVU1QIFwKICBkZXBsaWJzX2NoZWNrX21ldGhvZCBcCiAgZmlsZV9tYWdpY19jbWQgXApAQCAtNTI2NSw3ICs1MjczLDcgQEAKICBTVFJJUCBcCiAgUkFOTElCIFwKICBDQyBcCi1AQCAtMTU5MzUsMTIgKzE2NjA1LDE0IEBAIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGUgXAorQEAgLTE2MDI4LDEyICsxNjY5OCwxNCBAQCBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlIFwKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jZGVjbCBcCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MgXAogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXggXApAQCAtNTI4MSw3ICs1Mjg5LDcgQEAKICBEU1lNVVRJTCBcCiAgTk1FRElUIFwKICBMSVBPIFwKLUBAIC0xNTk1Niw3ICsxNjYyOCw2IEBAIG5vX3VuZGVmaW5lZF9mbGFnIFwKK0BAIC0xNjA0OSw3ICsxNjcyMSw2IEBAIG5vX3VuZGVmaW5lZF9mbGFnIFwKICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjIFwKICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjX2xkIFwKICBoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yIFwKQEAgLTUyODksNyArNTI5Nyw3IEBACiAgZXhjbHVkZV9leHBzeW1zIFwKICBpbmNsdWRlX2V4cHN5bXMgXAogIGZpbGVfbGlzdF9zcGVjIFwKLUBAIC0xNTk5Miw2ICsxNjY2Myw3IEBAIG1vZHVsZV9jbWRzIFwKK0BAIC0xNjA4NSw2ICsxNjc1Niw3IEBAIG1vZHVsZV9jbWRzIFwKICBtb2R1bGVfZXhwc3ltX2NtZHMgXAogIGV4cG9ydF9zeW1ib2xzX2NtZHMgXAogIHByZWxpbmtfY21kcyBcCkBAIC01Mjk3LDcgKzUzMDUsNyBAQAogIHBvc3RpbnN0YWxsX2NtZHMgXAogIHBvc3R1bmluc3RhbGxfY21kcyBcCiAgZmluaXNoX2NtZHMgXAotQEAgLTE2NzY1LDcgKzE3NDM3LDggQEAgJGFzX2VjaG8gWCIkZmlsZSIgfAorQEAgLTE2ODU4LDcgKzE3NTMwLDggQEAgJGFzX2VjaG8gWCIkZmlsZSIgfAogICMgTk9URTogQ2hhbmdlcyBtYWRlIHRvIHRoaXMgZmlsZSB3aWxsIGJlIGxvc3Q6IGxvb2sgYXQgbHRtYWluLnNoLgogICMKICAjICAgQ29weXJpZ2h0IChDKSAxOTk2LCAxOTk3LCAxOTk4LCAxOTk5LCAyMDAwLCAyMDAxLCAyMDAzLCAyMDA0LCAyMDA1LApAQCAtNTMwNyw3ICs1MzE1LDcgQEAKICAjICAgV3JpdHRlbiBieSBHb3Jkb24gTWF0emlna2VpdCwgMTk5NgogICMKICAjICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIExpYnRvb2wuCi1AQCAtMTY4NjgsMTkgKzE3NTQxLDQyIEBAIFNQMk5MPSRsdF9sdF9TUDJOTAorQEAgLTE2OTYxLDE5ICsxNzYzNCw0MiBAQCBTUDJOTD0kbHRfbHRfU1AyTkwKICAjIHR1cm4gbmV3bGluZXMgaW50byBzcGFjZXMuCiAgTkwyU1A9JGx0X2x0X05MMlNQCiAgCkBAIC01MzUxLDcgKzUzNTksNyBAQAogICMgQSBzeW1ib2wgc3RyaXBwaW5nIHByb2dyYW0uCiAgU1RSSVA9JGx0X1NUUklQCiAgCi1AQCAtMTY5MTAsNiArMTc2MDYsMTIgQEAgZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0kbHRfbHRfYworQEAgLTE3MDAzLDYgKzE3Njk5LDEyIEBAIGdsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3M9JGx0X2x0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzCiAgIyBUcmFuc2Zvcm0gdGhlIG91dHB1dCBvZiBubSBpbiBhIEMgbmFtZSBhZGRyZXNzIHBhaXIgd2hlbiBsaWIgcHJlZml4IGlzIG5lZWRlZC4KICBnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXg9JGx0X2x0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXgKICAKQEAgLTUzNjQsNyArNTM3Miw3IEBACiAgIyBUaGUgbmFtZSBvZiB0aGUgZGlyZWN0b3J5IHRoYXQgY29udGFpbnMgdGVtcG9yYXJ5IGxpYnRvb2wgZmlsZXMuCiAgb2JqZGlyPSRvYmpkaXIKICAKLUBAIC0xNjkxOSw2ICsxNzYyMSw5IEBAIE1BR0lDX0NNRD0kTUFHSUNfQ01ECitAQCAtMTcwMTIsNiArMTc3MTQsOSBAQCBNQUdJQ19DTUQ9JE1BR0lDX0NNRAogICMgTXVzdCB3ZSBsb2NrIGZpbGVzIHdoZW4gZG9pbmcgY29tcGlsYXRpb24/CiAgbmVlZF9sb2Nrcz0kbHRfbmVlZF9sb2NrcwogIApAQCAtNTM3NCw3ICs1MzgyLDcgQEAKICAjIFRvb2wgdG8gbWFuaXB1bGF0ZSBhcmNoaXZlZCBEV0FSRiBkZWJ1ZyBzeW1ib2wgZmlsZXMgb24gTWFjIE9TIFguCiAgRFNZTVVUSUw9JGx0X0RTWU1VVElMCiAgCi1AQCAtMTcwMzMsMTIgKzE3NzM4LDEyIEBAIHdpdGhfZ2NjPSRHQ0MKK0BAIC0xNzEyNiwxMiArMTc4MzEsMTIgQEAgd2l0aF9nY2M9JEdDQwogICMgQ29tcGlsZXIgZmxhZyB0byB0dXJuIG9mZiBidWlsdGluIGZ1bmN0aW9ucy4KICBub19idWlsdGluX2ZsYWc9JGx0X2x0X3Byb2dfY29tcGlsZXJfbm9fYnVpbHRpbl9mbGFnCiAgCkBAIC01MzkwLDcgKzUzOTgsNyBAQAogICMgQ29tcGlsZXIgZmxhZyB0byBwcmV2ZW50IGR5bmFtaWMgbGlua2luZy4KICBsaW5rX3N0YXRpY19mbGFnPSRsdF9sdF9wcm9nX2NvbXBpbGVyX3N0YXRpYwogIAotQEAgLTE3MTI1LDkgKzE3ODMwLDYgQEAgaW5oZXJpdF9ycGF0aD0kaW5oZXJpdF9ycGF0aAorQEAgLTE3MjE4LDkgKzE3OTIzLDYgQEAgaW5oZXJpdF9ycGF0aD0kaW5oZXJpdF9ycGF0aAogICMgV2hldGhlciBsaWJ0b29sIG11c3QgbGluayBhIHByb2dyYW0gYWdhaW5zdCBhbGwgaXRzIGRlcGVuZGVuY3kgbGlicmFyaWVzLgogIGxpbmtfYWxsX2RlcGxpYnM9JGxpbmtfYWxsX2RlcGxpYnMKICAKQEAgLTU0MDAsNyArNTQwOCw3IEBACiAgIyBTZXQgdG8gInllcyIgaWYgZXhwb3J0ZWQgc3ltYm9scyBhcmUgcmVxdWlyZWQuCiAgYWx3YXlzX2V4cG9ydF9zeW1ib2xzPSRhbHdheXNfZXhwb3J0X3N5bWJvbHMKICAKLUBAIC0xNzE0Myw2ICsxNzg0NSw5IEBAIGluY2x1ZGVfZXhwc3ltcz0kbHRfaW5jbHVkZV9leHBzeW1zCitAQCAtMTcyMzYsNiArMTc5MzgsOSBAQCBpbmNsdWRlX2V4cHN5bXM9JGx0X2luY2x1ZGVfZXhwc3ltcwogICMgQ29tbWFuZHMgbmVjZXNzYXJ5IGZvciBsaW5raW5nIHByb2dyYW1zIChhZ2FpbnN0IGxpYnJhcmllcykgd2l0aCB0ZW1wbGF0ZXMuCiAgcHJlbGlua19jbWRzPSRsdF9wcmVsaW5rX2NtZHMKICAKQEAgLTU0MTAsNyArNTQxOCw3IEBACiAgIyBTcGVjaWZ5IGZpbGVuYW1lIGNvbnRhaW5pbmcgaW5wdXQgZmlsZXMuCiAgZmlsZV9saXN0X3NwZWM9JGx0X2ZpbGVfbGlzdF9zcGVjCiAgCi1AQCAtMTcxNzUsMjEwICsxNzg4MCwxNjkgQEAgbHRtYWluPSIkYWNfYXV4X2Rpci9sdG1haW4uc2giCitAQCAtMTcyNjgsMjEwICsxNzk3MywxNjkgQEAgbHRtYWluPSIkYWNfYXV4X2Rpci9sdG1haW4uc2giCiAgICAjIGlmIGZpbmRzIG1peGVkIENSL0xGIGFuZCBMRi1vbmx5IGxpbmVzLiAgU2luY2Ugc2VkIG9wZXJhdGVzIGluCiAgICAjIHRleHQgbW9kZSwgaXQgcHJvcGVybHkgY29udmVydHMgbGluZXMgdG8gQ1IvTEYuICBUaGlzIGJhc2ggcHJvYmxlbQogICAgIyBpcyByZXBvcnRlZGx5IGZpeGVkLCBidXQgd2h5IG5vdCBydW4gb24gb2xkIHZlcnNpb25zIHRvbz8KQEAgLTU2MTIsOSArNTYyMCwxNSBAQAogLV9MVF9FT0YKIC0gICAgOzsKIC0gIGVzYWMKKy0KKy0KKy0gIHNlZCAtbiAnL14jIEdlbmVyYXRlZCBzaGVsbCBmdW5jdGlvbnMgaW5zZXJ0ZWQgaGVyZS8sJHAnICIkbHRtYWluIiA+PiAiJGNmZ2ZpbGUiIFwKKy0gICAgfHwgKHJtIC1mICIkY2ZnZmlsZSI7IGV4aXQgMSkKKy0KKy0gIG12IC1mICIkY2ZnZmlsZSIgIiRvZmlsZSIgfHwKICsgIHNlZCAnJHEnICIkbHRtYWluIiA+PiAiJGNmZ2ZpbGUiIFwKICsgICAgIHx8IChybSAtZiAiJGNmZ2ZpbGUiOyBleGl0IDEpCi0gCisrCiArICBpZiB0ZXN0IHgiJHhzaV9zaGVsbCIgPSB4eWVzOyB0aGVuCiArICBzZWQgLWUgJy9eZnVuY19kaXJuYW1lICgpJC8sL159ICMgZnVuY19kaXJuYW1lIC9jXAogK2Z1bmNfZGlybmFtZSAoKVwKQEAgLTU3NzIsMTkgKzU3ODYsMTYgQEAKICsgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogV0FSTklORzogVW5hYmxlIHRvIHN1YnN0aXR1dGUgZXh0ZW5kZWQgc2hlbGwgZnVuY3Rpb25zIGluICRvZmlsZSIgPiY1CiArJGFzX2VjaG8gIiRhc19tZTogV0FSTklORzogVW5hYmxlIHRvIHN1YnN0aXR1dGUgZXh0ZW5kZWQgc2hlbGwgZnVuY3Rpb25zIGluICRvZmlsZSIgPiYyO30KICtmaQotIAotLSAgc2VkIC1uICcvXiMgR2VuZXJhdGVkIHNoZWxsIGZ1bmN0aW9ucyBpbnNlcnRlZCBoZXJlLywkcCcgIiRsdG1haW4iID4+ICIkY2ZnZmlsZSIgXAotLSAgICB8fCAocm0gLWYgIiRjZmdmaWxlIjsgZXhpdCAxKQotIAotLSAgbXYgLWYgIiRjZmdmaWxlIiAiJG9maWxlIiB8fAorKworKwogKyAgIG12IC1mICIkY2ZnZmlsZSIgIiRvZmlsZSIgfHwKICAgICAgKHJtIC1mICIkb2ZpbGUiICYmIGNwICIkY2ZnZmlsZSIgIiRvZmlsZSIgJiYgcm0gLWYgIiRjZmdmaWxlIikKICAgIGNobW9kICt4ICIkb2ZpbGUiCiAgCi1JbmRleDogZ2l0L2dwcm9mL2NvbmZpZ3VyZQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdpdC5vcmlnL2dwcm9mL2NvbmZpZ3VyZQotKysrIGdpdC9ncHJvZi9jb25maWd1cmUKK2RpZmYgLS1naXQgYS9ncHJvZi9jb25maWd1cmUgYi9ncHJvZi9jb25maWd1cmUKK2luZGV4IGFiMzJiYWIyYjYuLjUxMTljNjAxOWYgMTAwNzU1CistLS0gYS9ncHJvZi9jb25maWd1cmUKKysrKyBiL2dwcm9mL2NvbmZpZ3VyZQogQEAgLTY2Miw4ICs2NjIsMTEgQEAgT1RPT0wKICBMSVBPCiAgTk1FRElUCkBAIC01ODM0LDcgKzU4NDUsNyBAQAogICAgIHRlc3QgIlhgcHJpbnQgLXIgLS0gJEVDSE8gMj4vZGV2L251bGxgIiA9ICJYJEVDSE8iOyB0aGVuCiAgICBFQ0hPPSdwcmludCAtciAtLScKICBlbGlmIHRlc3QgIlhgcHJpbnRmICVzICRFQ0hPIDI+L2Rldi9udWxsYCIgPSAiWCRFQ0hPIjsgdGhlbgotQEAgLTU4NTEsOCArNTg1Nyw4IEBAICRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgdGhlIHNoZWxsIHUKK0BAIC01ODUxLDggKzU4NTcsOCBAQCAkYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyIHRoZSBzaGVsbCB1bmRlcnN0YW5kcyBzb21lIFhTSSBjb25zdHJ1Y3RzLi4uICIgPiY2OwogICMgVHJ5IHNvbWUgWFNJIGZlYXR1cmVzCiAgeHNpX3NoZWxsPW5vCiAgKCBfbHRfZHVtbXk9ImEvYi9jIgpAQCAtNTg1MSw3ICs1ODYyLDcgQEAKICAKICt7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGhvdyB0byBjb252ZXJ0ICRidWlsZCBmaWxlIG5hbWVzIHRvICRob3N0IGZvcm1hdCIgPiY1CiArJGFzX2VjaG9fbiAiY2hlY2tpbmcgaG93IHRvIGNvbnZlcnQgJGJ1aWxkIGZpbGUgbmFtZXMgdG8gJGhvc3QgZm9ybWF0Li4uICIgPiY2OyB9Ci0raWYgJHtsdF9jdl90b19ob3N0X2ZpbGVfY21kKzp9IGZhbHNlOyB0aGVuIDoKKytpZiB0ZXN0ICIke2x0X2N2X3RvX2hvc3RfZmlsZV9jbWQrc2V0fSIgPSBzZXQ7IHRoZW4gOgogKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKICtlbHNlCiArICBjYXNlICRob3N0IGluCkBAIC01ODk4LDcgKzU5MDksNyBAQAogKwogK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgaG93IHRvIGNvbnZlcnQgJGJ1aWxkIGZpbGUgbmFtZXMgdG8gdG9vbGNoYWluIGZvcm1hdCIgPiY1CiArJGFzX2VjaG9fbiAiY2hlY2tpbmcgaG93IHRvIGNvbnZlcnQgJGJ1aWxkIGZpbGUgbmFtZXMgdG8gdG9vbGNoYWluIGZvcm1hdC4uLiAiID4mNjsgfQotK2lmICR7bHRfY3ZfdG9fdG9vbF9maWxlX2NtZCs6fSBmYWxzZTsgdGhlbiA6CisraWYgdGVzdCAiJHtsdF9jdl90b190b29sX2ZpbGVfY21kK3NldH0iID0gc2V0OyB0aGVuIDoKICsgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiArZWxzZQogKyAgI2Fzc3VtZSBvcmRpbmFyeSBjcm9zcyB0b29scywgb3IgbmF0aXZlIGJ1aWxkLgpAQCAtNTk4Miw3ICs1OTkzLDcgQEAKICBmaWxlX21hZ2ljX2NtZD0kbHRfY3ZfZmlsZV9tYWdpY19jbWQKICBkZXBsaWJzX2NoZWNrX21ldGhvZD0kbHRfY3ZfZGVwbGlic19jaGVja19tZXRob2QKICB0ZXN0IC16ICIkZGVwbGlic19jaGVja19tZXRob2QiICYmIGRlcGxpYnNfY2hlY2tfbWV0aG9kPXVua25vd24KLUBAIC02MjU5LDkgKzYzNTUsMTYyIEBAIHRlc3QgLXogIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIgJiYgZGVwbGkKK0BAIC02MjU3LDExICs2MzUzLDE2NCBAQCB0ZXN0IC16ICIkZGVwbGlic19jaGVja19tZXRob2QiICYmIGRlcGxpYnNfY2hlY2tfbWV0aG9kPXVua25vd24KICAKICAKICAKQEAgLTU5OTYsNiArNjAwNyw4IEBACiArCiArCiArCisgCisgCiAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgogLSAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fWFyIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KIC1zZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1hcjsgYWNfd29yZD0kMgpAQCAtNjAwMyw3ICs2MDE2LDcgQEAKICtzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1kbGx0b29sOyBhY193b3JkPSQyCiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQogKyRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQotK2lmICR7YWNfY3ZfcHJvZ19ETExUT09MKzp9IGZhbHNlOyB0aGVuIDoKKytpZiB0ZXN0ICIke2FjX2N2X3Byb2dfRExMVE9PTCtzZXR9IiA9IHNldDsgdGhlbiA6CiArICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogK2Vsc2UKICsgIGlmIHRlc3QgLW4gIiRETExUT09MIjsgdGhlbgpAQCAtNjAxNSw3ICs2MDI4LDcgQEAKICsgIElGUz0kYXNfc2F2ZV9JRlMKICsgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCiArICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbwotKyAgaWYgYXNfZm5fZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorKyAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgogKyAgICBhY19jdl9wcm9nX0RMTFRPT0w9IiR7YWNfdG9vbF9wcmVmaXh9ZGxsdG9vbCIKICsgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CiArICAgIGJyZWFrIDIKQEAgLTYwNDMsNyArNjA1Niw3IEBACiArc2V0IGR1bW15IGRsbHRvb2w7IGFjX3dvcmQ9JDIKICt7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiArJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9Ci0raWYgJHthY19jdl9wcm9nX2FjX2N0X0RMTFRPT0wrOn0gZmFsc2U7IHRoZW4gOgorK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9ETExUT09MK3NldH0iID0gc2V0OyB0aGVuIDoKICsgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiArZWxzZQogKyAgaWYgdGVzdCAtbiAiJGFjX2N0X0RMTFRPT0wiOyB0aGVuCkBAIC02MDU1LDcgKzYwNjgsNyBAQAogKyAgSUZTPSRhc19zYXZlX0lGUwogKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KICsgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCi0rICBpZiBhc19mbl9leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisrICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCiArICAgIGFjX2N2X3Byb2dfYWNfY3RfRExMVE9PTD0iZGxsdG9vbCIKICsgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CiArICAgIGJyZWFrIDIKQEAgLTYxMDMsNyArNjExNiw3IEBACiArCiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBob3cgdG8gYXNzb2NpYXRlIHJ1bnRpbWUgYW5kIGxpbmsgbGlicmFyaWVzIiA+JjUKICskYXNfZWNob19uICJjaGVja2luZyBob3cgdG8gYXNzb2NpYXRlIHJ1bnRpbWUgYW5kIGxpbmsgbGlicmFyaWVzLi4uICIgPiY2OyB9Ci0raWYgJHtsdF9jdl9zaGFyZWRsaWJfZnJvbV9saW5rbGliX2NtZCs6fSBmYWxzZTsgdGhlbiA6CisraWYgdGVzdCAiJHtsdF9jdl9zaGFyZWRsaWJfZnJvbV9saW5rbGliX2NtZCtzZXR9IiA9IHNldDsgdGhlbiA6CiArICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogK2Vsc2UKICsgIGx0X2N2X3NoYXJlZGxpYl9mcm9tX2xpbmtsaWJfY21kPSd1bmtub3duJwpAQCAtNjE0NywxMSArNjE2MCwxMyBAQAogIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKICAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KICBpZiAke2FjX2N2X3Byb2dfQVIrOn0gZmFsc2U7IHRoZW4gOgotQEAgLTYyNzcsNyArNjUyNiw3IEBAIGRvCitAQCAtNjI3Niw4ICs2NTI1LDggQEAgZG8KKyAgIElGUz0kYXNfc2F2ZV9JRlMKICAgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCiAgICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbwotICAgaWYgYXNfZm5fZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorLSAgaWYgYXNfZm5fZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgogLSAgICBhY19jdl9wcm9nX0FSPSIke2FjX3Rvb2xfcHJlZml4fWFyIgorKyAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgogKyAgICBhY19jdl9wcm9nX0FSPSIkYWNfdG9vbF9wcmVmaXgkYWNfcHJvZyIKICAgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CiAgICAgIGJyZWFrIDIKQEAgLTYxNzUsMTUgKzYxOTAsNiBAQAogIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKICAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KICBpZiAke2FjX2N2X3Byb2dfYWNfY3RfQVIrOn0gZmFsc2U7IHRoZW4gOgotQEAgLTYzMTcsNyArNjU3MCw3IEBAIGRvCi0gICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgotICAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KLSAgIGlmIGFzX2ZuX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KLS0gICAgYWNfY3ZfcHJvZ19hY19jdF9BUj0iYXIiCi0rICAgIGFjX2N2X3Byb2dfYWNfY3RfQVI9IiRhY19wcm9nIgotICAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKLSAgICAgYnJlYWsgMgotICAgZmkKIEBAIC02MzM2LDYgKzY1ODksMTAgQEAgZWxzZQogICRhc19lY2hvICJubyIgPiY2OyB9CiAgZmkKQEAgLTYyMjAsNyArNjIyNiw3IEBACiArCiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgYXJjaGl2ZXIgQEZJTEUgc3VwcG9ydCIgPiY1CiArJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGFyY2hpdmVyIEBGSUxFIHN1cHBvcnQuLi4gIiA+JjY7IH0KLStpZiAke2x0X2N2X2FyX2F0X2ZpbGUrOn0gZmFsc2U7IHRoZW4gOgorK2lmIHRlc3QgIiR7bHRfY3ZfYXJfYXRfZmlsZStzZXR9IiA9IHNldDsgdGhlbiA6CiArICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogK2Vsc2UKICsgIGx0X2N2X2FyX2F0X2ZpbGU9bm8KQEAgLTYzMTksNyArNjMyNSw3IEBACiAgICBjb25zdCBjaGFyICpuYW1lOwogICAgdm9pZCAgICAgICAqYWRkcmVzczsKICB9Ci1AQCAtNjgxMyw4ICs3MTM5LDggQEAgc3RhdGljIGNvbnN0IHZvaWQgKmx0X3ByZWxvYWRlZF9zZXR1cCgpCitAQCAtNjgxMyw4ICs3MTM5LDggQEAgc3RhdGljIGNvbnN0IHZvaWQgKmx0X3ByZWxvYWRlZF9zZXR1cCgpIHsKICBfTFRfRU9GCiAgCSAgIyBOb3cgdHJ5IGxpbmtpbmcgdGhlIHR3byBmaWxlcy4KICAJICBtdiBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0c3RtLiRhY19vYmpleHQKQEAgLTYzNDEsNyArNjM0Nyw3IEBACiAgCWVsc2UKICAJICBlY2hvICJjYW5ub3QgZmluZCBubV90ZXN0X2Z1bmMgaW4gJG5saXN0IiA+JjUKICAJZmkKLUBAIC02ODYyLDYgKzcxODgsMTcgQEAgZWxzZQorQEAgLTY4NjIsNiArNzE4OCwxOCBAQCBlbHNlCiAgJGFzX2VjaG8gIm9rIiA+JjY7IH0KICBmaQogIApAQCAtNjM1NiwxNCArNjM2MiwxOSBAQAogKwogKwogKworKwogIAogIAogIAotQEAgLTY4ODMsNiArNzIyMCw0NCBAQCBmaQorQEAgLTY4NzgsNiArNzIxNiw0MyBAQCBmaQogIAogIAogIAogKworKworKworKworKwogK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIHN5c3Jvb3QiID4mNQogKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBzeXNyb290Li4uICIgPiY2OyB9CiArCkBAIC02MzkwLDIwICs2NDAxLDE1IEBACiArICopCiArICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICR7d2l0aF9saWJ0b29sX3N5c3Jvb3R9IiA+JjUKICskYXNfZWNobyAiJHt3aXRoX2xpYnRvb2xfc3lzcm9vdH0iID4mNjsgfQotKyAgIGFzX2ZuX2Vycm9yICQ/ICJUaGUgc3lzcm9vdCBtdXN0IGJlIGFuIGFic29sdXRlIHBhdGguIiAiJExJTkVOTyIgNQorKyAgIGFzX2ZuX2Vycm9yICJUaGUgc3lzcm9vdCBtdXN0IGJlIGFuIGFic29sdXRlIHBhdGguIiAiJExJTkVOTyIgNQogKyAgIDs7CiArZXNhYwogKwogKyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJHtsdF9zeXNyb290Oi1ub30iID4mNQogKyRhc19lY2hvICIke2x0X3N5c3Jvb3Q6LW5vfSIgPiY2OyB9Ci0rCi0rCi0rCi0rCi0rCi0gIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWxpYnRvb2wtbG9jayB3YXMgZ2l2ZW4uCi0gaWYgdGVzdCAiJHtlbmFibGVfbGlidG9vbF9sb2NrK3NldH0iID0gc2V0OyB0aGVuIDoKLSAgIGVuYWJsZXZhbD0kZW5hYmxlX2xpYnRvb2xfbG9jazsKKyAKKyAKKyAKIEBAIC03MDg5LDYgKzc0NjQsMTIzIEBAIGVzYWMKICAKICBuZWVkX2xvY2tzPSIkZW5hYmxlX2xpYnRvb2xfbG9jayIKQEAgLTY0MTMsNyArNjQxOSw3IEBACiArc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9bXQ7IGFjX3dvcmQ9JDIKICt7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiArJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9Ci0raWYgJHthY19jdl9wcm9nX01BTklGRVNUX1RPT0wrOn0gZmFsc2U7IHRoZW4gOgorK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19NQU5JRkVTVF9UT09MK3NldH0iID0gc2V0OyB0aGVuIDoKICsgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiArZWxzZQogKyAgaWYgdGVzdCAtbiAiJE1BTklGRVNUX1RPT0wiOyB0aGVuCkBAIC02NDI1LDcgKzY0MzEsNyBAQAogKyAgSUZTPSRhc19zYXZlX0lGUwogKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KICsgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCi0rICBpZiBhc19mbl9leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisrICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCiArICAgIGFjX2N2X3Byb2dfTUFOSUZFU1RfVE9PTD0iJHthY190b29sX3ByZWZpeH1tdCIKICsgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CiArICAgIGJyZWFrIDIKQEAgLTY0NTMsNyArNjQ1OSw3IEBACiArc2V0IGR1bW15IG10OyBhY193b3JkPSQyCiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQogKyRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQotK2lmICR7YWNfY3ZfcHJvZ19hY19jdF9NQU5JRkVTVF9UT09MKzp9IGZhbHNlOyB0aGVuIDoKKytpZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfTUFOSUZFU1RfVE9PTCtzZXR9IiA9IHNldDsgdGhlbiA6CiArICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogK2Vsc2UKICsgIGlmIHRlc3QgLW4gIiRhY19jdF9NQU5JRkVTVF9UT09MIjsgdGhlbgpAQCAtNjQ2NSw3ICs2NDcxLDcgQEAKICsgIElGUz0kYXNfc2F2ZV9JRlMKICsgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCiArICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbwotKyAgaWYgYXNfZm5fZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorKyAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgogKyAgICBhY19jdl9wcm9nX2FjX2N0X01BTklGRVNUX1RPT0w9Im10IgogKyAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKICsgICAgYnJlYWsgMgpAQCAtNjUwMyw3ICs2NTA5LDcgQEAKICt0ZXN0IC16ICIkTUFOSUZFU1RfVE9PTCIgJiYgTUFOSUZFU1RfVE9PTD1tdAogK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgaWYgJE1BTklGRVNUX1RPT0wgaXMgYSBtYW5pZmVzdCB0b29sIiA+JjUKICskYXNfZWNob19uICJjaGVja2luZyBpZiAkTUFOSUZFU1RfVE9PTCBpcyBhIG1hbmlmZXN0IHRvb2wuLi4gIiA+JjY7IH0KLStpZiAke2x0X2N2X3BhdGhfbWFpbmZlc3RfdG9vbCs6fSBmYWxzZTsgdGhlbiA6CisraWYgdGVzdCAiJHtsdF9jdl9wYXRoX21haW5mZXN0X3Rvb2wrc2V0fSIgPSBzZXQ7IHRoZW4gOgogKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKICtlbHNlCiArICBsdF9jdl9wYXRoX21haW5mZXN0X3Rvb2w9bm8KQEAgLTY1NjUsNyArNjU3MSw3IEBACiAgCiAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgogICAgICBsdF9wcm9nX2NvbXBpbGVyX3dsPSctV2wsJwotQEAgLTg0MDEsNiArODg5NCwxMiBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvCitAQCAtODQwMSw2ICs4ODk0LDEyIEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW9uIHRvIHByb2R1Y2UgUElDLi4uICIgPiY2OyB9CiAgCWx0X3Byb2dfY29tcGlsZXJfcGljPSctLXNoYXJlZCcKICAJbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9Jy0tc3RhdGljJwogIAk7OwpAQCAtNjU3OCw3ICs2NTg0LDcgQEAKICAgICAgICBwZ2NjKiB8IHBnZjc3KiB8IHBnZjkwKiB8IHBnZjk1KiB8IHBnZm9ydHJhbiopCiAgICAgICAgICAjIFBvcnRsYW5kIEdyb3VwIGNvbXBpbGVycyAoKm5vdCogdGhlIFBlbnRpdW0gZ2NjIGNvbXBpbGVyLAogIAkjIHdoaWNoIGxvb2tzIHRvIGJlIGEgZGVhZCBwcm9qZWN0KQotQEAgLTg0NjMsNyArODk2Miw3IEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW8KK0BAIC04NDYzLDcgKzg5NjIsNyBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvbiB0byBwcm9kdWNlIFBJQy4uLiAiID4mNjsgfQogICAgICAgIGx0X3Byb2dfY29tcGlsZXJfcGljPSctS1BJQycKICAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0nLUJzdGF0aWMnCiAgICAgICAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KQEAgLTY2MDAsNyArNjYwNiw3IEBACiAgCiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvbiB0byBwcm9kdWNlIFBJQyIgPiY1CiArJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpb24gdG8gcHJvZHVjZSBQSUMuLi4gIiA+JjY7IH0KLStpZiAke2x0X2N2X3Byb2dfY29tcGlsZXJfcGljKzp9IGZhbHNlOyB0aGVuIDoKKytpZiB0ZXN0ICIke2x0X2N2X3Byb2dfY29tcGlsZXJfcGljK3NldH0iID0gc2V0OyB0aGVuIDoKICsgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiArZWxzZQogKyAgbHRfY3ZfcHJvZ19jb21waWxlcl9waWM9JGx0X3Byb2dfY29tcGlsZXJfcGljCkBAIC02Njg5LDcgKzY2OTUsNyBAQAogKyAgICAgICAgaWYgdGVzdCAiJHtsdF9jdl9haXhfbGlicGF0aCtzZXR9IiA9IHNldDsgdGhlbgogKyAgYWl4X2xpYnBhdGg9JGx0X2N2X2FpeF9saWJwYXRoCiArZWxzZQotKyAgaWYgJHtsdF9jdl9haXhfbGlicGF0aF8rOn0gZmFsc2U7IHRoZW4gOgorKyAgaWYgdGVzdCAiJHtsdF9jdl9haXhfbGlicGF0aF8rc2V0fSIgPSBzZXQ7IHRoZW4gOgogKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKICtlbHNlCiArICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CkBAIC02NzM5LDcgKzY3NDUsNyBAQAogIAogICAgICAgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nJHt3bH0tYmxpYnBhdGg6JGxpYmRpcjonIiRhaXhfbGlicGF0aCIKICAgICAgICAgIGFyY2hpdmVfZXhwc3ltX2NtZHM9JyRDQyAtbyAkb3V0cHV0X29iamRpci8kc29uYW1lICRsaWJvYmpzICRkZXBsaWJzICciXCR7d2x9JG5vX2VudHJ5X2ZsYWciJyAkY29tcGlsZXJfZmxhZ3MgYGlmIHRlc3QgIngke2FsbG93X3VuZGVmaW5lZF9mbGFnfSIgIT0gIngiOyB0aGVuIGZ1bmNfZWNob19hbGwgIiR7d2x9JHthbGxvd191bmRlZmluZWRfZmxhZ30iOyBlbHNlIDo7IGZpYCAnIlwke3dsfSRleHBfc3ltX2ZsYWc6XCRleHBvcnRfc3ltYm9scyAkc2hhcmVkX2ZsYWciCi1AQCAtOTI5Miw3ICs5ODE0LDEzIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05MjkyLDcgKzk4MTQsMTMgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCWVsc2UKICAJICMgRGV0ZXJtaW5lIHRoZSBkZWZhdWx0IGxpYnBhdGggZnJvbSB0aGUgdmFsdWUgZW5jb2RlZCBpbiBhbgogIAkgIyBlbXB0eSBleGVjdXRhYmxlLgpAQCAtNjc0Nyw3ICs2NzUzLDcgQEAKICsJIGlmIHRlc3QgIiR7bHRfY3ZfYWl4X2xpYnBhdGgrc2V0fSIgPSBzZXQ7IHRoZW4KICsgIGFpeF9saWJwYXRoPSRsdF9jdl9haXhfbGlicGF0aAogK2Vsc2UKLSsgIGlmICR7bHRfY3ZfYWl4X2xpYnBhdGhfKzp9IGZhbHNlOyB0aGVuIDoKKysgIGlmIHRlc3QgIiR7bHRfY3ZfYWl4X2xpYnBhdGhfK3NldH0iID0gc2V0OyB0aGVuIDoKICsgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiArZWxzZQogKyAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dApAQCAtNjc5Nyw3ICs2ODAzLDcgQEAKICAKICAJIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LWJsaWJwYXRoOiRsaWJkaXI6JyIkYWl4X2xpYnBhdGgiCiAgCSAgIyBXYXJuaW5nIC0gd2l0aG91dCB1c2luZyB0aGUgb3RoZXIgcnVuIHRpbWUgbG9hZGluZyBmbGFncywKLUBAIC05MzY1LDIwICs5OTAwLDYzIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05MzY1LDIwICs5OTAwLDYzIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogICAgICAgICMgTWljcm9zb2Z0IFZpc3VhbCBDKysuCiAgICAgICAgIyBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjIGlzIGFjdHVhbGx5IG1lYW5pbmdsZXNzLCBhcyB0aGVyZSBpcwogICAgICAgICMgbm8gc2VhcmNoIHBhdGggZm9yIERMTHMuCkBAIC02ODc1LDcgKzY4ODEsNyBAQAogICAgICAgIDs7CiAgCiAgICAgIGRhcndpbiogfCByaGFwc29keSopCi1AQCAtOTQzOSw3ICsxMDAxNyw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05NDM5LDcgKzEwMDE3LDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCiAgICAgICMgRnJlZUJTRCAzIGFuZCBncmVhdGVyIHVzZXMgZ2NjIC1zaGFyZWQgdG8gZG8gc2hhcmVkIGxpYnJhcmllcy4KICAgICAgZnJlZWJzZCogfCBkcmFnb25mbHkqKQpAQCAtNjg4NCw3ICs2ODkwLDcgQEAKICAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctUiRsaWJkaXInCiAgICAgICAgaGFyZGNvZGVfZGlyZWN0PXllcwogICAgICAgIGhhcmRjb2RlX3NobGlicGF0aF92YXI9bm8KLUBAIC05NDQ3LDcgKzEwMDI1LDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTk0NDcsNyArMTAwMjUsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAKICAgICAgaHB1eDkqKQogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCkBAIC02ODkzLDcgKzY4OTksNyBAQAogICAgICAgIGVsc2UKICAJYXJjaGl2ZV9jbWRzPSckUk0gJG91dHB1dF9vYmpkaXIvJHNvbmFtZX4kTEQgLWIgK2IgJGluc3RhbGxfbGliZGlyIC1vICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtlcl9mbGFnc350ZXN0ICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgPSAkbGliIHx8IG12ICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgJGxpYicKICAgICAgICBmaQotQEAgLTk0NjMsNyArMTAwNDEsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtOTQ2Myw3ICsxMDA0MSw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAogICAgICBocHV4MTAqKQogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzICYmIHRlc3QgIiR3aXRoX2dudV9sZCIgPSBubzsgdGhlbgpAQCAtNjkwMiw3ICs2OTA4LDcgQEAKICAgICAgICBlbHNlCiAgCWFyY2hpdmVfY21kcz0nJExEIC1iICtoICRzb25hbWUgK2IgJGluc3RhbGxfbGliZGlyIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtlcl9mbGFncycKICAgICAgICBmaQotQEAgLTk0ODcsMTAgKzEwMDY1LDEwIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05NDg3LDEwICsxMDA2NSwxMCBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAJICBhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkICR7d2x9K2ggJHt3bH0kc29uYW1lIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzJwogIAkgIDs7CiAgCWlhNjQqKQpAQCAtNjkzMCw3ICs2OTM2LDcgQEAKICsJIyBUaGlzIHNob3VsZCBiZSB0aGUgc2FtZSBmb3IgYWxsIGxhbmd1YWdlcywgc28gbm8gcGVyLXRhZyBjYWNoZSB2YXJpYWJsZS4KICsJeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyB3aGV0aGVyIHRoZSAkaG9zdF9vcyBsaW5rZXIgYWNjZXB0cyAtZXhwb3J0ZWRfc3ltYm9sIiA+JjUKICskYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyIHRoZSAkaG9zdF9vcyBsaW5rZXIgYWNjZXB0cyAtZXhwb3J0ZWRfc3ltYm9sLi4uICIgPiY2OyB9Ci0raWYgJHtsdF9jdl9pcml4X2V4cG9ydGVkX3N5bWJvbCs6fSBmYWxzZTsgdGhlbiA6CisraWYgdGVzdCAiJHtsdF9jdl9pcml4X2V4cG9ydGVkX3N5bWJvbCtzZXR9IiA9IHNldDsgdGhlbiA6CiArICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogK2Vsc2UKICsgIHNhdmVfTERGTEFHUz0iJExERkxBR1MiCkBAIC02OTYwLDcgKzY5NjYsNyBAQAogICAgICAgIGVsc2UKICAJYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgLXNvbmFtZSAkc29uYW1lIGB0ZXN0IC1uICIkdmVyc3RyaW5nIiAmJiBmdW5jX2VjaG9fYWxsICItc2V0X3ZlcnNpb24gJHZlcnN0cmluZyJgIC11cGRhdGVfcmVnaXN0cnkgJHtvdXRwdXRfb2JqZGlyfS9zb19sb2NhdGlvbnMgLW8gJGxpYicKICAJYXJjaGl2ZV9leHBzeW1fY21kcz0nJENDIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1zb25hbWUgJHNvbmFtZSBgdGVzdCAtbiAiJHZlcnN0cmluZyIgJiYgZnVuY19lY2hvX2FsbCAiLXNldF92ZXJzaW9uICR2ZXJzdHJpbmciYCAtdXBkYXRlX3JlZ2lzdHJ5ICR7b3V0cHV0X29iamRpcn0vc29fbG9jYXRpb25zIC1leHBvcnRzX2ZpbGUgJGV4cG9ydF9zeW1ib2xzIC1vICRsaWInCi1AQCAtOTY3MCw3ICsxMDI2MSw3IEBAIHJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmoKK0BAIC05NjcwLDcgKzEwMjYxLDcgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCiAgICAgIG9zZjQqIHwgb3NmNSopCSMgYXMgb3NmMyogd2l0aCB0aGUgYWRkaXRpb24gb2YgLW1zeW0gZmxhZwogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgCWFsbG93X3VuZGVmaW5lZF9mbGFnPScgJHt3bH0tZXhwZWN0X3VucmVzb2x2ZWQgJHt3bH1cKicKQEAgLTY5NjksNyArNjk3NSw3IEBACiAgCWhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LXJwYXRoICR7d2x9JGxpYmRpcicKICAgICAgICBlbHNlCiAgCWFsbG93X3VuZGVmaW5lZF9mbGFnPScgLWV4cGVjdF91bnJlc29sdmVkIFwqJwotQEAgLTk2ODksOSArMTAyODAsOSBAQCBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqCitAQCAtOTY4OSw5ICsxMDI4MCw5IEBAIHJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAogICAgICAgIG5vX3VuZGVmaW5lZF9mbGFnPScgLXogZGVmcycKICAgICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgogIAl3bGFyYz0nJHt3bH0nCkBAIC03MDc1LDE1ICs3MDgxLDYgQEAKICAgIGhhcmRjb2RlX2ludG9fbGlicz15ZXMKICAgIDs7CiAgCi1AQCAtMTExOTUsNyArMTE4NDUsNyBAQCBlbHNlCi0gICBsdF9kbHVua25vd249MDsgbHRfZGxub191c2NvcmU9MTsgbHRfZGxuZWVkX3VzY29yZT0yCi0gICBsdF9zdGF0dXM9JGx0X2RsdW5rbm93bgotICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PF9MVF9FT0YKLS0jbGluZSAxMTE5MyAiY29uZmlndXJlIgotKyNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKLSAjaW5jbHVkZSAiY29uZmRlZnMuaCIKLSAKLSAjaWYgSEFWRV9ETEZDTl9ICiBAQCAtMTEyMzksMTAgKzExODg5LDEwIEBAIGVsc2UKICAvKiBXaGVuIC1mdmlzYmlsaXR5PWhpZGRlbiBpcyB1c2VkLCBhc3N1bWUgdGhlIGNvZGUgaGFzIGJlZW4gYW5ub3RhdGVkCiAgICAgY29ycmVzcG9uZGluZ2x5IGZvciB0aGUgc3ltYm9scyBuZWVkZWQuICAqLwpAQCAtNzA5NywxNSArNzA5NCw2IEBACiAgaW50IG1haW4gKCkKICB7CiAgICB2b2lkICpzZWxmID0gZGxvcGVuICgwLCBMVF9ETEdMT0JBTHxMVF9ETExBWllfT1JfTk9XKTsKLUBAIC0xMTMwMSw3ICsxMTk1MSw3IEBAIGVsc2UKLSAgIGx0X2RsdW5rbm93bj0wOyBsdF9kbG5vX3VzY29yZT0xOyBsdF9kbG5lZWRfdXNjb3JlPTIKLSAgIGx0X3N0YXR1cz0kbHRfZGx1bmtub3duCi0gICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8X0xUX0VPRgotLSNsaW5lIDExMjk5ICJjb25maWd1cmUiCi0rI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgotICNpbmNsdWRlICJjb25mZGVmcy5oIgotIAotICNpZiBIQVZFX0RMRkNOX0gKIEBAIC0xMTM0NSwxMCArMTE5OTUsMTAgQEAgZWxzZQogIC8qIFdoZW4gLWZ2aXNiaWxpdHk9aGlkZGVuIGlzIHVzZWQsIGFzc3VtZSB0aGUgY29kZSBoYXMgYmVlbiBhbm5vdGF0ZWQKICAgICBjb3JyZXNwb25kaW5nbHkgZm9yIHRoZSBzeW1ib2xzIG5lZWRlZC4gICovCkBAIC03MTE5LDcgKzcxMDcsNyBAQAogIGludCBtYWluICgpCiAgewogICAgdm9pZCAqc2VsZiA9IGRsb3BlbiAoMCwgTFRfRExHTE9CQUx8TFRfRExMQVpZX09SX05PVyk7Ci1AQCAtMTMzMTQsMTMgKzEzOTY0LDIwIEBAIGV4ZWV4dD0nYCRFQ0hPICIkZXhlZXh0IiB8ICRTRUQgIiRkZWxheV8KK0BAIC0xMzMxNCwxMyArMTM5NjQsMjAgQEAgZXhlZXh0PSdgJEVDSE8gIiRleGVleHQiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X3Vuc2V0PSdgJEVDSE8gIiRsdF91bnNldCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfU1AyTkw9J2AkRUNITyAiJGx0X1NQMk5MIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9OTDJTUD0nYCRFQ0hPICIkbHRfTkwyU1AiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtNzE0MCw3ICs3MTI4LDcgQEAKICBTVFJJUD0nYCRFQ0hPICIkU1RSSVAiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIFJBTkxJQj0nYCRFQ0hPICIkUkFOTElCIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBvbGRfcG9zdGluc3RhbGxfY21kcz0nYCRFQ0hPICIkb2xkX3Bvc3RpbnN0YWxsX2NtZHMiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwotQEAgLTEzMzM1LDE0ICsxMzk5MiwxNyBAQCBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlPSdgJEVDSE8gIiRsCitAQCAtMTMzMzUsMTQgKzEzOTkyLDE3IEBAIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGU9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGUiIHwgJFNFRCAiJGRlCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2w9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXg9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXgiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtNzE1OSw3ICs3MTQ3LDcgQEAKICBEU1lNVVRJTD0nYCRFQ0hPICIkRFNZTVVUSUwiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIE5NRURJVD0nYCRFQ0hPICIkTk1FRElUIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBMSVBPPSdgJEVDSE8gIiRMSVBPIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKLUBAIC0xMzM3NSwxMiArMTQwMzUsMTIgQEAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj0nYCRFQ0hPICIkaGFyZGNvZAorQEAgLTEzMzc1LDEyICsxNDAzNSwxMiBAQCBoYXJkY29kZV9zaGxpYnBhdGhfdmFyPSdgJEVDSE8gIiRoYXJkY29kZV9zaGxpYnBhdGhfdmFyIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcQogIGhhcmRjb2RlX2F1dG9tYXRpYz0nYCRFQ0hPICIkaGFyZGNvZGVfYXV0b21hdGljIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBpbmhlcml0X3JwYXRoPSdgJEVDSE8gIiRpbmhlcml0X3JwYXRoIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsaW5rX2FsbF9kZXBsaWJzPSdgJEVDSE8gIiRsaW5rX2FsbF9kZXBsaWJzIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKQEAgLTcyNzMsNyArNzI2MSw3IEBACiAgIyBBIHN5bWJvbCBzdHJpcHBpbmcgcHJvZ3JhbS4KICBTVFJJUD0kbHRfU1RSSVAKICAKLUBAIC0xNDQxMyw2ICsxNTEwNCwxMiBAQCBnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSRsdF9sdF9jCitAQCAtMTQ0MTMsNiArMTUxMDQsMTIgQEAgZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0kbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MKICAjIFRyYW5zZm9ybSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgQyBuYW1lIGFkZHJlc3MgcGFpciB3aGVuIGxpYiBwcmVmaXggaXMgbmVlZGVkLgogIGdsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeD0kbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeAogIApAQCAtNzUzNCw5ICs3NTIyLDE1IEBACiAtX0xUX0VPRgogLSAgICA7OwogLSAgZXNhYworLQorLQorLSAgc2VkIC1uICcvXiMgR2VuZXJhdGVkIHNoZWxsIGZ1bmN0aW9ucyBpbnNlcnRlZCBoZXJlLywkcCcgIiRsdG1haW4iID4+ICIkY2ZnZmlsZSIgXAorLSAgICB8fCAocm0gLWYgIiRjZmdmaWxlIjsgZXhpdCAxKQorLQorLSAgbXYgLWYgIiRjZmdmaWxlIiAiJG9maWxlIiB8fAogKyAgc2VkICckcScgIiRsdG1haW4iID4+ICIkY2ZnZmlsZSIgXAogKyAgICAgfHwgKHJtIC1mICIkY2ZnZmlsZSI7IGV4aXQgMSkKLSAKKysKICsgIGlmIHRlc3QgeCIkeHNpX3NoZWxsIiA9IHh5ZXM7IHRoZW4KICsgIHNlZCAtZSAnL15mdW5jX2Rpcm5hbWUgKCkkLywvXn0gIyBmdW5jX2Rpcm5hbWUgL2NcCiArZnVuY19kaXJuYW1lICgpXApAQCAtNzY5NCwxOSArNzY4OCwxNiBAQAogKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiBVbmFibGUgdG8gc3Vic3RpdHV0ZSBleHRlbmRlZCBzaGVsbCBmdW5jdGlvbnMgaW4gJG9maWxlIiA+JjUKICskYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiBVbmFibGUgdG8gc3Vic3RpdHV0ZSBleHRlbmRlZCBzaGVsbCBmdW5jdGlvbnMgaW4gJG9maWxlIiA+JjI7fQogK2ZpCi0gCi0tICBzZWQgLW4gJy9eIyBHZW5lcmF0ZWQgc2hlbGwgZnVuY3Rpb25zIGluc2VydGVkIGhlcmUvLCRwJyAiJGx0bWFpbiIgPj4gIiRjZmdmaWxlIiBcCi0tICAgIHx8IChybSAtZiAiJGNmZ2ZpbGUiOyBleGl0IDEpCi0gCi0tICBtdiAtZiAiJGNmZ2ZpbGUiICIkb2ZpbGUiIHx8CisrCisrCiArICAgbXYgLWYgIiRjZmdmaWxlIiAiJG9maWxlIiB8fAogICAgICAocm0gLWYgIiRvZmlsZSIgJiYgY3AgIiRjZmdmaWxlIiAiJG9maWxlIiAmJiBybSAtZiAiJGNmZ2ZpbGUiKQogICAgY2htb2QgK3ggIiRvZmlsZSIKICAKLUluZGV4OiBnaXQvbGQvY29uZmlndXJlCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvbGQvY29uZmlndXJlCi0rKysgZ2l0L2xkL2NvbmZpZ3VyZQorZGlmZiAtLWdpdCBhL2xkL2NvbmZpZ3VyZSBiL2xkL2NvbmZpZ3VyZQoraW5kZXggYmMwOWU3ZWY4MS4uNDNjMzkxYzJiMyAxMDA3NTUKKy0tLSBhL2xkL2NvbmZpZ3VyZQorKysrIGIvbGQvY29uZmlndXJlCiBAQCAtNjg3LDggKzY4NywxMSBAQCBPVE9PTAogIExJUE8KICBOTUVESVQKQEAgLTc3NTYsNyArNzc0Nyw3IEBACiAgICAgdGVzdCAiWGBwcmludCAtciAtLSAkRUNITyAyPi9kZXYvbnVsbGAiID0gIlgkRUNITyI7IHRoZW4KICAgIEVDSE89J3ByaW50IC1yIC0tJwogIGVsaWYgdGVzdCAiWGBwcmludGYgJXMgJEVDSE8gMj4vZGV2L251bGxgIiA9ICJYJEVDSE8iOyB0aGVuCi1AQCAtNjY4Niw4ICs2NjkyLDggQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgc2hlbGwgdQorQEAgLTY2ODYsOCArNjY5Miw4IEBAICRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgdGhlIHNoZWxsIHVuZGVyc3RhbmRzIHNvbWUgWFNJIGNvbnN0cnVjdHMuLi4gIiA+JjY7CiAgIyBUcnkgc29tZSBYU0kgZmVhdHVyZXMKICB4c2lfc2hlbGw9bm8KICAoIF9sdF9kdW1teT0iYS9iL2MiCkBAIC03ODkyLDcgKzc4ODMsNyBAQAogIGZpbGVfbWFnaWNfY21kPSRsdF9jdl9maWxlX21hZ2ljX2NtZAogIGRlcGxpYnNfY2hlY2tfbWV0aG9kPSRsdF9jdl9kZXBsaWJzX2NoZWNrX21ldGhvZAogIHRlc3QgLXogIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIgJiYgZGVwbGlic19jaGVja19tZXRob2Q9dW5rbm93bgotQEAgLTcwODksOSArNzE5MCwxNjIgQEAgdGVzdCAteiAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAmJiBkZXBsaQorQEAgLTcwODksOSArNzE5MCwxNjIgQEAgdGVzdCAteiAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAmJiBkZXBsaWJzX2NoZWNrX21ldGhvZD11bmtub3duCiAgCiAgCiAgCkBAIC04MTA1LDcgKzgwOTYsNyBAQAogICAgaWYgdGVzdCAieCRhY19jdF9BUiIgPSB4OyB0aGVuCiAgICAgIEFSPSJmYWxzZSIKICAgIGVsc2UKLUBAIC03MTc3LDEyICs3NDM5LDExIEBAIGFjX3Rvb2xfd2FybmVkPXllcyA7OworQEAgLTcxNzcsMTIgKzc0MzksMTIgQEAgYWNfdG9vbF93YXJuZWQ9eWVzIDs7CiAgZXNhYwogICAgICBBUj0kYWNfY3RfQVIKICAgIGZpCkBAIC04MTE4LDEwICs4MTA5LDExIEBACiArOiAke0FSPWFyfQogKzogJHtBUl9GTEFHUz1jcnV9CiArCisrCiAgCiAgCiAgCi1AQCAtNzE5Myw2ICs3NDU0LDYzIEBAIHRlc3QgLXogIiRBUl9GTEFHUyIgJiYgQVJfRkxBR1M9Y3J1CitAQCAtNzE5Miw2ICs3NDU0LDYyIEBAIHRlc3QgLXogIiRBUl9GTEFHUyIgJiYgQVJfRkxBR1M9Y3J1CiAgCiAgCiAgCkBAIC04MTgxLDEwICs4MTczLDkgQEAKICsKICsKICsKLSsKKyAKICAKICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCi0gICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9c3RyaXAiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgogQEAgLTc1MjgsOCArNzg0Niw4IEBAIGVzYWMKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jZGVjbD0ic2VkIC1uIC1lICdzL15UIC4qIFwoLipcKSQvZXh0ZXJuIGludCBcMSgpOy9wJyAtZSAncy9eJHN5bWNvZGUqIC4qIFwoLipcKSQvZXh0ZXJuIGNoYXIgXDE7L3AnIgogIApAQCAtODIzMiw3ICs4MjIzLDcgQEAKICAgIGNvbnN0IGNoYXIgKm5hbWU7CiAgICB2b2lkICAgICAgICphZGRyZXNzOwogIH0KLUBAIC03NjQzLDggKzc5NzQsOCBAQCBzdGF0aWMgY29uc3Qgdm9pZCAqbHRfcHJlbG9hZGVkX3NldHVwKCkKK0BAIC03NjQzLDggKzc5NzQsOCBAQCBzdGF0aWMgY29uc3Qgdm9pZCAqbHRfcHJlbG9hZGVkX3NldHVwKCkgewogIF9MVF9FT0YKICAJICAjIE5vdyB0cnkgbGlua2luZyB0aGUgdHdvIGZpbGVzLgogIAkgIG12IGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRzdG0uJGFjX29iamV4dApAQCAtODI1NCw3ICs4MjQ1LDcgQEAKICAJZWxzZQogIAkgIGVjaG8gImNhbm5vdCBmaW5kIG5tX3Rlc3RfZnVuYyBpbiAkbmxpc3QiID4mNQogIAlmaQotQEAgLTc2OTIsNiArODAyMywxMyBAQCBlbHNlCitAQCAtNzY5Miw2ICs4MDIzLDE5IEBAIGVsc2UKICAkYXNfZWNobyAib2siID4mNjsgfQogIGZpCiAgCkBAIC04MjY1LDE4ICs4MjU2LDIzIEBACiArICBubV9maWxlX2xpc3Rfc3BlYz0nQCcKICtmaQogKwotIAotIAotIAotQEAgLTc3MTMsNiArODA1MSw0OCBAQCBmaQotIAotIAotIAogKwogKwogKwogKwogKworKworIAorIAorIAorQEAgLTc3MDgsNiArODA1Miw0MiBAQCBmaQorIAorIAorIAorKworKworKworKwogK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIHN5c3Jvb3QiID4mNQogKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBzeXNyb290Li4uICIgPiY2OyB9CiArCkBAIC04MzA5LDE0ICs4MzA1LDkgQEAKICsKICsgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICR7bHRfc3lzcm9vdDotbm99IiA+JjUKICskYXNfZWNobyAiJHtsdF9zeXNyb290Oi1ub30iID4mNjsgfQotKwotKwotKwotKwotKwotICMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1saWJ0b29sLWxvY2sgd2FzIGdpdmVuLgotIGlmIHRlc3QgIiR7ZW5hYmxlX2xpYnRvb2xfbG9jaytzZXR9IiA9IHNldDsgdGhlbiA6Ci0gICBlbmFibGV2YWw9JGVuYWJsZV9saWJ0b29sX2xvY2s7CisgCisgCisgCiBAQCAtNzkxOSw2ICs4Mjk5LDEyMyBAQCBlc2FjCiAgCiAgbmVlZF9sb2Nrcz0iJGVuYWJsZV9saWJ0b29sX2xvY2siCkBAIC04NDk1LDcgKzg0ODYsNyBAQAogIAogICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KICAgICAgbHRfcHJvZ19jb21waWxlcl93bD0nLVdsLCcKLUBAIC05MjMyLDYgKzk3NDAsMTIgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpbworQEAgLTkyMzIsNiArOTc0MCwxMiBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvbiB0byBwcm9kdWNlIFBJQy4uLiAiID4mNjsgfQogIAlsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLS1zaGFyZWQnCiAgCWx0X3Byb2dfY29tcGlsZXJfc3RhdGljPSctLXN0YXRpYycKICAJOzsKQEAgLTg1MDgsNyArODQ5OSw3IEBACiAgICAgICAgcGdjYyogfCBwZ2Y3NyogfCBwZ2Y5MCogfCBwZ2Y5NSogfCBwZ2ZvcnRyYW4qKQogICAgICAgICAgIyBQb3J0bGFuZCBHcm91cCBjb21waWxlcnMgKCpub3QqIHRoZSBQZW50aXVtIGdjYyBjb21waWxlciwKICAJIyB3aGljaCBsb29rcyB0byBiZSBhIGRlYWQgcHJvamVjdCkKLUBAIC05Mjk0LDcgKzk4MDgsNyBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvCitAQCAtOTI5NCw3ICs5ODA4LDcgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpb24gdG8gcHJvZHVjZSBQSUMuLi4gIiA+JjY7IH0KICAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLUtQSUMnCiAgICAgICAgbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9Jy1Cc3RhdGljJwogICAgICAgIGNhc2UgJGNjX2Jhc2VuYW1lIGluCkBAIC04NjY5LDcgKzg2NjAsNyBAQAogIAogICAgICAgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nJHt3bH0tYmxpYnBhdGg6JGxpYmRpcjonIiRhaXhfbGlicGF0aCIKICAgICAgICAgIGFyY2hpdmVfZXhwc3ltX2NtZHM9JyRDQyAtbyAkb3V0cHV0X29iamRpci8kc29uYW1lICRsaWJvYmpzICRkZXBsaWJzICciXCR7d2x9JG5vX2VudHJ5X2ZsYWciJyAkY29tcGlsZXJfZmxhZ3MgYGlmIHRlc3QgIngke2FsbG93X3VuZGVmaW5lZF9mbGFnfSIgIT0gIngiOyB0aGVuIGZ1bmNfZWNob19hbGwgIiR7d2x9JHthbGxvd191bmRlZmluZWRfZmxhZ30iOyBlbHNlIDo7IGZpYCAnIlwke3dsfSRleHBfc3ltX2ZsYWc6XCRleHBvcnRfc3ltYm9scyAkc2hhcmVkX2ZsYWciCi1AQCAtMTAxMjMsNyArMTA2NjAsMTMgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTEwMTIzLDcgKzEwNjYwLDEzIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAllbHNlCiAgCSAjIERldGVybWluZSB0aGUgZGVmYXVsdCBsaWJwYXRoIGZyb20gdGhlIHZhbHVlIGVuY29kZWQgaW4gYW4KICAJICMgZW1wdHkgZXhlY3V0YWJsZS4KQEAgLTg3MjcsMTAgKzg3MTgsMTEgQEAKICAKICAJIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LWJsaWJwYXRoOiRsaWJkaXI6JyIkYWl4X2xpYnBhdGgiCiAgCSAgIyBXYXJuaW5nIC0gd2l0aG91dCB1c2luZyB0aGUgb3RoZXIgcnVuIHRpbWUgbG9hZGluZyBmbGFncywKLUBAIC0xMDE5NiwyMCArMTA3NDYsNjMgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTEwMTk1LDIxICsxMDc0NSw2NCBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKKyAgICAgICAjIFdoZW4gbm90IHVzaW5nIGdjYywgd2UgY3VycmVudGx5IGFzc3VtZSB0aGF0IHdlIGFyZSB1c2luZwogICAgICAgICMgTWljcm9zb2Z0IFZpc3VhbCBDKysuCiAgICAgICAgIyBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjIGlzIGFjdHVhbGx5IG1lYW5pbmdsZXNzLCBhcyB0aGVyZSBpcwotICAgICAgICMgbm8gc2VhcmNoIHBhdGggZm9yIERMTHMuCistICAgICAgIyBubyBzZWFyY2ggcGF0aCBmb3IgRExMcy4KIC0gICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPScgJwogLSAgICAgIGFsbG93X3VuZGVmaW5lZF9mbGFnPXVuc3VwcG9ydGVkCiAtICAgICAgIyBUZWxsIGx0bWFpbiB0byBtYWtlIC5saWIgZmlsZXMsIG5vdCAuYSBmaWxlcy4KQEAgLTg3NDUsNiArODczNyw3IEBACiAtICAgICAgb2xkX2FyY2hpdmVfY21kcz0nbGliIC1PVVQ6JG9sZGxpYiRvbGRvYmpzJG9sZF9kZXBsaWJzJwogLSAgICAgIGZpeF9zcmNmaWxlX3BhdGg9J2BjeWdwYXRoIC13ICIkc3JjZmlsZSJgJwogLSAgICAgIGVuYWJsZV9zaGFyZWRfd2l0aF9zdGF0aWNfcnVudGltZXM9eWVzCisrICAgICAgIyBubyBzZWFyY2ggcGF0aCBmb3IgRExMcy4KICsgICAgICBjYXNlICRjY19iYXNlbmFtZSBpbgogKyAgICAgIGNsKikKICsJIyBOYXRpdmUgTVNWQwpAQCAtODgwNSw3ICs4Nzk4LDcgQEAKICAgICAgICA7OwogIAogICAgICBkYXJ3aW4qIHwgcmhhcHNvZHkqKQotQEAgLTEwMjcwLDcgKzEwODYzLDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTEwMjcwLDcgKzEwODYzLDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCiAgICAgICMgRnJlZUJTRCAzIGFuZCBncmVhdGVyIHVzZXMgZ2NjIC1zaGFyZWQgdG8gZG8gc2hhcmVkIGxpYnJhcmllcy4KICAgICAgZnJlZWJzZCogfCBkcmFnb25mbHkqKQpAQCAtODgxNCw3ICs4ODA3LDcgQEAKICAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctUiRsaWJkaXInCiAgICAgICAgaGFyZGNvZGVfZGlyZWN0PXllcwogICAgICAgIGhhcmRjb2RlX3NobGlicGF0aF92YXI9bm8KLUBAIC0xMDI3OCw3ICsxMDg3MSw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC0xMDI3OCw3ICsxMDg3MSw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAogICAgICBocHV4OSopCiAgICAgICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KQEAgLTg4MjMsNyArODgxNiw3IEBACiAgICAgICAgZWxzZQogIAlhcmNoaXZlX2NtZHM9JyRSTSAkb3V0cHV0X29iamRpci8kc29uYW1lfiRMRCAtYiArYiAkaW5zdGFsbF9saWJkaXIgLW8gJG91dHB1dF9vYmpkaXIvJHNvbmFtZSAkbGlib2JqcyAkZGVwbGlicyAkbGlua2VyX2ZsYWdzfnRlc3QgJG91dHB1dF9vYmpkaXIvJHNvbmFtZSA9ICRsaWIgfHwgbXYgJG91dHB1dF9vYmpkaXIvJHNvbmFtZSAkbGliJwogICAgICAgIGZpCi1AQCAtMTAyOTQsNyArMTA4ODcsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtMTAyOTQsNyArMTA4ODcsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAKICAgICAgaHB1eDEwKikKICAgICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllcyAmJiB0ZXN0ICIkd2l0aF9nbnVfbGQiID0gbm87IHRoZW4KQEAgLTg4MzIsNyArODgyNSw3IEBACiAgICAgICAgZWxzZQogIAlhcmNoaXZlX2NtZHM9JyRMRCAtYiAraCAkc29uYW1lICtiICRpbnN0YWxsX2xpYmRpciAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRsaW5rZXJfZmxhZ3MnCiAgICAgICAgZmkKLUBAIC0xMDMxOCwxMCArMTA5MTEsMTAgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTEwMzE4LDEwICsxMDkxMSwxMCBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAJICBhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkICR7d2x9K2ggJHt3bH0kc29uYW1lIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzJwogIAkgIDs7CiAgCWlhNjQqKQpAQCAtODg5MCw3ICs4ODgzLDcgQEAKICAgICAgICBlbHNlCiAgCWFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1zb25hbWUgJHNvbmFtZSBgdGVzdCAtbiAiJHZlcnN0cmluZyIgJiYgZnVuY19lY2hvX2FsbCAiLXNldF92ZXJzaW9uICR2ZXJzdHJpbmciYCAtdXBkYXRlX3JlZ2lzdHJ5ICR7b3V0cHV0X29iamRpcn0vc29fbG9jYXRpb25zIC1vICRsaWInCiAgCWFyY2hpdmVfZXhwc3ltX2NtZHM9JyRDQyAtc2hhcmVkICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtc29uYW1lICRzb25hbWUgYHRlc3QgLW4gIiR2ZXJzdHJpbmciICYmIGZ1bmNfZWNob19hbGwgIi1zZXRfdmVyc2lvbiAkdmVyc3RyaW5nImAgLXVwZGF0ZV9yZWdpc3RyeSAke291dHB1dF9vYmpkaXJ9L3NvX2xvY2F0aW9ucyAtZXhwb3J0c19maWxlICRleHBvcnRfc3ltYm9scyAtbyAkbGliJwotQEAgLTEwNTAxLDcgKzExMTA3LDcgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iagorQEAgLTEwNTAxLDcgKzExMTA3LDcgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCiAgICAgIG9zZjQqIHwgb3NmNSopCSMgYXMgb3NmMyogd2l0aCB0aGUgYWRkaXRpb24gb2YgLW1zeW0gZmxhZwogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgCWFsbG93X3VuZGVmaW5lZF9mbGFnPScgJHt3bH0tZXhwZWN0X3VucmVzb2x2ZWQgJHt3bH1cKicKQEAgLTg4OTksNyArODg5Miw3IEBACiAgCWhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LXJwYXRoICR7d2x9JGxpYmRpcicKICAgICAgICBlbHNlCiAgCWFsbG93X3VuZGVmaW5lZF9mbGFnPScgLWV4cGVjdF91bnJlc29sdmVkIFwqJwotQEAgLTEwNTIwLDkgKzExMTI2LDkgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iagorQEAgLTEwNTIwLDkgKzExMTI2LDkgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCiAgICAgICAgbm9fdW5kZWZpbmVkX2ZsYWc9JyAteiBkZWZzJwogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgCXdsYXJjPScke3dsfScKQEAgLTkwNjUsNyArOTA1OCw3IEBACiAgICBjb21waWxlcj0kQ0MKICAgIGNvbXBpbGVyX0NYWD0kQ0MKICAgIGZvciBjY190ZW1wIGluICRjb21waWxlciIiOyBkbwotQEAgLTEyODcwLDcgKzEzNTM3LDEzIEBAICRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgdGhlICRjb21waWwKK0BAIC0xMjg3MCw3ICsxMzUzNywxMyBAQCAkYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyIHRoZSAkY29tcGlsZXIgbGlua2VyICgkTEQpIHN1cHBvcnRzIHNoYXJlZCBsaWJyYXJpZQogICAgICAgICAgICBhbGxvd191bmRlZmluZWRfZmxhZ19DWFg9Jy1iZXJvaycKICAgICAgICAgICAgIyBEZXRlcm1pbmUgdGhlIGRlZmF1bHQgbGlicGF0aCBmcm9tIHRoZSB2YWx1ZSBlbmNvZGVkIGluIGFuIGVtcHR5CiAgICAgICAgICAgICMgZXhlY3V0YWJsZS4KQEAgLTkxMjMsNyArOTExNiw3IEBACiAgCiAgICAgICAgICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNfQ1hYPScke3dsfS1ibGlicGF0aDokbGliZGlyOiciJGFpeF9saWJwYXRoIgogIAotQEAgLTEyOTExLDcgKzEzNTkxLDEzIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC0xMjkxMSw3ICsxMzU5MSwxMyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAgICAgICAgICAgZWxzZQogIAkgICAgIyBEZXRlcm1pbmUgdGhlIGRlZmF1bHQgbGlicGF0aCBmcm9tIHRoZSB2YWx1ZSBlbmNvZGVkIGluIGFuCiAgCSAgICAjIGVtcHR5IGV4ZWN1dGFibGUuCkBAIC05MTgxLDcgKzkxNzQsNyBAQAogIAogIAkgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY19DWFg9JyR7d2x9LWJsaWJwYXRoOiRsaWJkaXI6JyIkYWl4X2xpYnBhdGgiCiAgCSAgICAjIFdhcm5pbmcgLSB3aXRob3V0IHVzaW5nIHRoZSBvdGhlciBydW4gdGltZSBsb2FkaW5nIGZsYWdzLAotQEAgLTEyOTgyLDI5ICsxMzY3NSw3NSBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtMTI5ODIsMjkgKzEzNjc1LDc1IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogICAgICAgICAgOzsKICAKICAgICAgICBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBjZWdjYyopCkBAIC05MjgwLDcgKzkyNzMsNyBAQAogICAgICAgIGRhcndpbiogfCByaGFwc29keSopCiAgCiAgCi1AQCAtMTMxMTAsNyArMTM4NDksNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtMTMxMTAsNyArMTM4NDksNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAgICAgICAgICAgICA7OwogICAgICAgICAgICAqKQogICAgICAgICAgICAgIGlmIHRlc3QgIiRHWFgiID0geWVzOyB0aGVuCkBAIC05Mjg5LDcgKzkyODIsNyBAQAogICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICMgRklYTUU6IGluc2VydCBwcm9wZXIgQysrIGxpYnJhcnkgc3VwcG9ydAogICAgICAgICAgICAgICAgbGRfc2hsaWJzX0NYWD1ubwotQEAgLTEzMTgxLDEwICsxMzkyMCwxMCBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtMTMxODEsMTAgKzEzOTIwLDEwIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAkgICAgICAgICAgICBhcmNoaXZlX2NtZHNfQ1hYPSckQ0MgLXNoYXJlZCAtbm9zdGRsaWIgLWZQSUMgJHt3bH0raCAke3dsfSRzb25hbWUgLW8gJGxpYiAkcHJlZGVwX29iamVjdHMgJGxpYm9ianMgJGRlcGxpYnMgJHBvc3RkZXBfb2JqZWN0cyAkY29tcGlsZXJfZmxhZ3MnCiAgCSAgICAgICAgICAgIDs7CiAgCSAgICAgICAgICBpYTY0KikKQEAgLTkzMDIsNyArOTI5NSw3IEBACiAgCSAgICAgICAgICAgIDs7CiAgCSAgICAgICAgZXNhYwogIAkgICAgICBmaQotQEAgLTEzMjI1LDkgKzEzOTY0LDkgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTEzMjI1LDkgKzEzOTY0LDkgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgICAgICAgICAgICopCiAgCSAgICBpZiB0ZXN0ICIkR1hYIiA9IHllczsgdGhlbgogIAkgICAgICBpZiB0ZXN0ICIkd2l0aF9nbnVfbGQiID0gbm87IHRoZW4KQEAgLTkzMTQsNyArOTMwNyw3IEBACiAgCSAgICAgIGZpCiAgCSAgICBmaQogIAkgICAgbGlua19hbGxfZGVwbGlic19DWFg9eWVzCi1AQCAtMTMyOTcsMjAgKzE0MDM2LDIwIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC0xMzI5NywyMCArMTQwMzYsMjAgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCSAgICAgIHByZWxpbmtfY21kc19DWFg9J3RwbGRpcj1UZW1wbGF0ZS5kaXJ+CiAgCQlybSAtcmYgJHRwbGRpcn4KICAJCSRDQyAtLXByZWxpbmtfb2JqZWN0cyAtLWluc3RhbnRpYXRpb25fZGlyICR0cGxkaXIgJG9ianMgJGxpYm9ianMgJGNvbXBpbGVfZGVwbGlic34KQEAgLTkzMzksNyArOTMzMiw3IEBACiAgCSAgICAgIDs7CiAgCSAgICAqKSAjIFZlcnNpb24gNiBhbmQgYWJvdmUgdXNlIHdlYWsgc3ltYm9scwogIAkgICAgICBhcmNoaXZlX2NtZHNfQ1hYPSckQ0MgLXNoYXJlZCAkcGljX2ZsYWcgJHByZWRlcF9vYmplY3RzICRsaWJvYmpzICRkZXBsaWJzICRwb3N0ZGVwX29iamVjdHMgJGNvbXBpbGVyX2ZsYWdzICR7d2x9LXNvbmFtZSAke3dsfSRzb25hbWUgLW8gJGxpYicKLUBAIC0xMzUwNSw3ICsxNDI0NCw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC0xMzUwNSw3ICsxNDI0NCw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAkgICAgICAgICAgYXJjaGl2ZV9jbWRzX0NYWD0nJENDIC1zaGFyZWQgLW5vc3RkbGliICR7YWxsb3dfdW5kZWZpbmVkX2ZsYWd9ICRwcmVkZXBfb2JqZWN0cyAkbGlib2JqcyAkZGVwbGlicyAkcG9zdGRlcF9vYmplY3RzICRjb21waWxlcl9mbGFncyAke3dsfS1zb25hbWUgJHt3bH0kc29uYW1lIGB0ZXN0IC1uICIkdmVyc3RyaW5nIiAmJiBmdW5jX2VjaG9fYWxsICIke3dsfS1zZXRfdmVyc2lvbiAke3dsfSR2ZXJzdHJpbmciYCAke3dsfS11cGRhdGVfcmVnaXN0cnkgJHt3bH0ke291dHB1dF9vYmpkaXJ9L3NvX2xvY2F0aW9ucyAtbyAkbGliJwogIAkJICA7OwogIAkgICAgICAgICopCkBAIC05MzQ4LDcgKzkzNDEsNyBAQAogIAkJICA7OwogIAkgICAgICBlc2FjCiAgCi1AQCAtMTM1NTEsNyArMTQyOTAsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtMTM1NTEsNyArMTQyOTAsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAKICAgICAgICBzb2xhcmlzKikKICAgICAgICAgIGNhc2UgJGNjX2Jhc2VuYW1lIGluCkBAIC05MzU3LDcgKzkzNTAsNyBAQAogIAkgICAgIyBTdW4gQysrIDQuMiwgNS54IGFuZCBDZW50ZXJsaW5lIEMrKwogICAgICAgICAgICAgIGFyY2hpdmVfY21kc19uZWVkX2xjX0NYWD15ZXMKICAJICAgIG5vX3VuZGVmaW5lZF9mbGFnX0NYWD0nIC16ZGVmcycKLUBAIC0xMzU5Miw5ICsxNDMzMSw5IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC0xMzU5Miw5ICsxNDMzMSw5IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAkgICAgaWYgdGVzdCAiJEdYWCIgPSB5ZXMgJiYgdGVzdCAiJHdpdGhfZ251X2xkIiA9IG5vOyB0aGVuCiAgCSAgICAgIG5vX3VuZGVmaW5lZF9mbGFnX0NYWD0nICR7d2x9LXogJHt3bH1kZWZzJwogIAkgICAgICBpZiAkQ0MgLS12ZXJzaW9uIHwgJEdSRVAgLXYgJ14yXC43JyA+IC9kZXYvbnVsbDsgdGhlbgpAQCAtOTM4Myw3ICs5Mzc2LDcgQEAKICBpZiB7IHsgZXZhbCBlY2hvICJcIlwkYXNfbWVcIjoke2FzX2xpbmVuby0kTElORU5PfTogXCIkYWNfY29tcGlsZVwiIjsgfSA+JjUKICAgIChldmFsICRhY19jb21waWxlKSAyPiY1CiAgICBhY19zdGF0dXM9JD8KLUBAIC0xMzc0Miw3ICsxNDQ4OCw3IEBAIGlmIHsgeyBldmFsIGVjaG8gIlwiXCRhc19tZVwiOiR7YXNfbGluZW4KK0BAIC0xMzc0Miw3ICsxNDQ4OCw3IEBAIGlmIHsgeyBldmFsIGVjaG8gIlwiXCRhc19tZVwiOiR7YXNfbGluZW5vLSRMSU5FTk99OiBcIiRhY19jb21waWxlXCIiOyB9ID4mNQogICAgcHJlX3Rlc3Rfb2JqZWN0X2RlcHNfZG9uZT1ubwogIAogICAgZm9yIHAgaW4gYGV2YWwgIiRvdXRwdXRfdmVyYm9zZV9saW5rX2NtZCJgOyBkbwpAQCAtOTM5Miw3ICs5Mzg1LDcgQEAKICAKICAgICAgLUwqIHwgLVIqIHwgLWwqKQogICAgICAgICAjIFNvbWUgY29tcGlsZXJzIHBsYWNlIHNwYWNlIGJldHdlZW4gIi17TCxSfSIgYW5kIHRoZSBwYXRoLgotQEAgLTEzNzUxLDEzICsxNDQ5NywyMiBAQCBpZiB7IHsgZXZhbCBlY2hvICJcIlwkYXNfbWVcIjoke2FzX2xpbmVuCitAQCAtMTM3NTEsMTMgKzE0NDk3LDIyIEBAIGlmIHsgeyBldmFsIGVjaG8gIlwiXCRhc19tZVwiOiR7YXNfbGluZW5vLSRMSU5FTk99OiBcIiRhY19jb21waWxlXCIiOyB9ID4mNQogICAgICAgICAgICB0ZXN0ICRwID0gIi1SIjsgdGhlbgogIAkgcHJldj0kcAogIAkgY29udGludWUKQEAgLTk0MTksNyArOTQxMiw3IEBACiAgCSAgICMgSW50ZXJuYWwgY29tcGlsZXIgbGlicmFyeSBwYXRocyBzaG91bGQgY29tZSBhZnRlciB0aG9zZQogIAkgICAjIHByb3ZpZGVkIHRoZSB1c2VyLiAgVGhlIHBvc3RkZXBzIGFscmVhZHkgY29tZSBhZnRlciB0aGUKICAJICAgIyB1c2VyIHN1cHBsaWVkIGxpYnMgc28gdGhlcmUgaXMgbm8gbmVlZCB0byBwcm9jZXNzIHRoZW0uCi1AQCAtMTM3NzcsOCArMTQ1MzIsMTAgQEAgaWYgeyB7IGV2YWwgZWNobyAiXCJcJGFzX21lXCI6JHthc19saW5lbgorQEAgLTEzNzc3LDggKzE0NTMyLDEwIEBAIGlmIHsgeyBldmFsIGVjaG8gIlwiXCRhc19tZVwiOiR7YXNfbGluZW5vLSRMSU5FTk99OiBcIiRhY19jb21waWxlXCIiOyB9ID4mNQogIAkgICBwb3N0ZGVwc19DWFg9IiR7cG9zdGRlcHNfQ1hYfSAke3ByZXZ9JHtwfSIKICAJIGZpCiAgICAgICAgIGZpCkBAIC05NDU2LDcgKzk0NDksNyBAQAogIAogICAgIyBDKysgc3BlY2lmaWMgY2FzZXMgZm9yIHBpYywgc3RhdGljLCB3bCwgZXRjLgogICAgaWYgdGVzdCAiJEdYWCIgPSB5ZXM7IHRoZW4KLUBAIC0xNDAyMCw2ICsxNDc3NiwxMSBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvCitAQCAtMTQwMjAsNiArMTQ3NzYsMTEgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpb24gdG8gcHJvZHVjZSBQSUMuLi4gIiA+JjY7IH0KICAJICA7OwogIAllc2FjCiAgCTs7CkBAIC05NDY4LDcgKzk0NjEsNyBAQAogICAgICAgIGRndXgqKQogIAljYXNlICRjY19iYXNlbmFtZSBpbgogIAkgIGVjKysqKQotQEAgLTE0MTcyLDcgKzE0OTMzLDcgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpbworQEAgLTE0MTcyLDcgKzE0OTMzLDcgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpb24gdG8gcHJvZHVjZSBQSUMuLi4gIiA+JjY7IH0KICAJOzsKICAgICAgICBzb2xhcmlzKikKICAJY2FzZSAkY2NfYmFzZW5hbWUgaW4KQEAgLTk1MTUsNyArOTUwOCw3IEBACiAgICBjYXNlICRob3N0X29zIGluCiAgICBhaXhbNC05XSopCiAgICAgICMgSWYgd2UncmUgdXNpbmcgR05VIG5tLCB0aGVuIHdlIGRvbid0IHdhbnQgdGhlICItQyIgb3B0aW9uLgotQEAgLTE0NDg5LDE1ICsxNTI2MCwyMCBAQCAkYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyIHRoZSAkY29tcGlsCitAQCAtMTQ0ODksMTUgKzE1MjYwLDIwIEBAICRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgdGhlICRjb21waWxlciBsaW5rZXIgKCRMRCkgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllCiAgICAgIDs7CiAgICBwdzMyKikKICAgICAgZXhwb3J0X3N5bWJvbHNfY21kc19DWFg9IiRsdGRsbF9jbWRzIgpAQCAtOTY0Myw3ICs5NjM2LDcgQEAKICAgIExEQ1hYPSRMRAogICAgTEQ9JGx0X3NhdmVfTEQKICAgIEdDQz0kbHRfc2F2ZV9HQ0MKLUBAIC0xODQ0NCwxMyArMTkyODAsMjAgQEAgZXhlZXh0PSdgJEVDSE8gIiRleGVleHQiIHwgJFNFRCAiJGRlbGF5XworQEAgLTE4NDQ0LDEzICsxOTI4MCwyMCBAQCBleGVleHQ9J2AkRUNITyAiJGV4ZWV4dCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfdW5zZXQ9J2AkRUNITyAiJGx0X3Vuc2V0IiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9TUDJOTD0nYCRFQ0hPICIkbHRfU1AyTkwiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X05MMlNQPSdgJEVDSE8gIiRsdF9OTDJTUCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCkBAIC05NjY0LDcgKzk2NTcsNyBAQAogIFNUUklQPSdgJEVDSE8gIiRTVFJJUCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgUkFOTElCPSdgJEVDSE8gIiRSQU5MSUIiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIG9sZF9wb3N0aW5zdGFsbF9jbWRzPSdgJEVDSE8gIiRvbGRfcG9zdGluc3RhbGxfY21kcyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCi1AQCAtMTg0NjUsMTQgKzE5MzA4LDE3IEBAIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGU9J2AkRUNITyAiJGwKK0BAIC0xODQ2NSwxNCArMTkzMDgsMTcgQEAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZT0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZSIgfCAkU0VEICIkZGUKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jZGVjbD0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2wiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSdgJEVDSE8gIiRsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeD0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCkBAIC05NjgzLDcgKzk2NzYsNyBAQAogIERTWU1VVElMPSdgJEVDSE8gIiREU1lNVVRJTCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgTk1FRElUPSdgJEVDSE8gIiROTUVESVQiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIExJUE89J2AkRUNITyAiJExJUE8iIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwotQEAgLTE4NTA1LDEyICsxOTM1MSwxMiBAQCBoYXJkY29kZV9zaGxpYnBhdGhfdmFyPSdgJEVDSE8gIiRoYXJkY29kCitAQCAtMTg1MDUsMTIgKzE5MzUxLDEyIEBAIGhhcmRjb2RlX3NobGlicGF0aF92YXI9J2AkRUNITyAiJGhhcmRjb2RlX3NobGlicGF0aF92YXIiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xCiAgaGFyZGNvZGVfYXV0b21hdGljPSdgJEVDSE8gIiRoYXJkY29kZV9hdXRvbWF0aWMiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGluaGVyaXRfcnBhdGg9J2AkRUNITyAiJGluaGVyaXRfcnBhdGgiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGxpbmtfYWxsX2RlcGxpYnM9J2AkRUNITyAiJGxpbmtfYWxsX2RlcGxpYnMiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtOTY5Nyw3ICs5NjkwLDcgQEAKICBmaWxlX2xpc3Rfc3BlYz0nYCRFQ0hPICIkZmlsZV9saXN0X3NwZWMiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIHZhcmlhYmxlc19zYXZlZF9mb3JfcmVsaW5rPSdgJEVDSE8gIiR2YXJpYWJsZXNfc2F2ZWRfZm9yX3JlbGluayIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbmVlZF9saWJfcHJlZml4PSdgJEVDSE8gIiRuZWVkX2xpYl9wcmVmaXgiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwotQEAgLTE4NTQ5LDggKzE5Mzk1LDggQEAgb2xkX2FyY2hpdmVfY21kc19DWFg9J2AkRUNITyAiJG9sZF9hcmNoaQorQEAgLTE4NTQ5LDggKzE5Mzk1LDggQEAgb2xkX2FyY2hpdmVfY21kc19DWFg9J2AkRUNITyAiJG9sZF9hcmNoaXZlX2NtZHNfQ1hYIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGUKICBjb21waWxlcl9DWFg9J2AkRUNITyAiJGNvbXBpbGVyX0NYWCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgR0NDX0NYWD0nYCRFQ0hPICIkR0NDX0NYWCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfcHJvZ19jb21waWxlcl9ub19idWlsdGluX2ZsYWdfQ1hYPSdgJEVDSE8gIiRsdF9wcm9nX2NvbXBpbGVyX25vX2J1aWx0aW5fZmxhZ19DWFgiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtOTcwNyw3ICs5NzAwLDcgQEAKICBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpY19DWFg9J2AkRUNITyAiJGx0X3Byb2dfY29tcGlsZXJfc3RhdGljX0NYWCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfY3ZfcHJvZ19jb21waWxlcl9jX29fQ1hYPSdgJEVDSE8gIiRsdF9jdl9wcm9nX2NvbXBpbGVyX2Nfb19DWFgiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGFyY2hpdmVfY21kc19uZWVkX2xjX0NYWD0nYCRFQ0hPICIkYXJjaGl2ZV9jbWRzX25lZWRfbGNfQ1hYIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKLUBAIC0xODU3NywxMiArMTk0MjMsMTIgQEAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcl9DWFg9J2AkRUNITyAiJGhhcgorQEAgLTE4NTc3LDEyICsxOTQyMywxMiBAQCBoYXJkY29kZV9zaGxpYnBhdGhfdmFyX0NYWD0nYCRFQ0hPICIkaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcl9DWFgiIHwgJFNFRCAiJGRlbGF5XwogIGhhcmRjb2RlX2F1dG9tYXRpY19DWFg9J2AkRUNITyAiJGhhcmRjb2RlX2F1dG9tYXRpY19DWFgiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGluaGVyaXRfcnBhdGhfQ1hYPSdgJEVDSE8gIiRpbmhlcml0X3JwYXRoX0NYWCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbGlua19hbGxfZGVwbGlic19DWFg9J2AkRUNITyAiJGxpbmtfYWxsX2RlcGxpYnNfQ1hYIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKQEAgLTk4NDksNyArOTg0Miw3IEBACiAgIyBBIHN5bWJvbCBzdHJpcHBpbmcgcHJvZ3JhbS4KICBTVFJJUD0kbHRfU1RSSVAKICAKLUBAIC0xOTY4NCw2ICsyMDU2MSwxMiBAQCBnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSRsdF9sdF9jCitAQCAtMTk2ODQsNiArMjA1NjEsMTIgQEAgZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0kbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MKICAjIFRyYW5zZm9ybSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgQyBuYW1lIGFkZHJlc3MgcGFpciB3aGVuIGxpYiBwcmVmaXggaXMgbmVlZGVkLgogIGdsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeD0kbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeAogIApAQCAtMTAxMTAsOSArMTAxMDMsMTUgQEAKIC1fTFRfRU9GCiAtICAgIDs7CiAtICBlc2FjCistCistCistICBzZWQgLW4gJy9eIyBHZW5lcmF0ZWQgc2hlbGwgZnVuY3Rpb25zIGluc2VydGVkIGhlcmUvLCRwJyAiJGx0bWFpbiIgPj4gIiRjZmdmaWxlIiBcCistICAgIHx8IChybSAtZiAiJGNmZ2ZpbGUiOyBleGl0IDEpCistCistICBtdiAtZiAiJGNmZ2ZpbGUiICIkb2ZpbGUiIHx8CiArICBzZWQgJyRxJyAiJGx0bWFpbiIgPj4gIiRjZmdmaWxlIiBcCiArICAgICB8fCAocm0gLWYgIiRjZmdmaWxlIjsgZXhpdCAxKQotIAorKwogKyAgaWYgdGVzdCB4IiR4c2lfc2hlbGwiID0geHllczsgdGhlbgogKyAgc2VkIC1lICcvXmZ1bmNfZGlybmFtZSAoKSQvLC9efSAjIGZ1bmNfZGlybmFtZSAvY1wKICtmdW5jX2Rpcm5hbWUgKClcCkBAIC0xMDI3MCwxMSArMTAyNjksOCBAQAogKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiBVbmFibGUgdG8gc3Vic3RpdHV0ZSBleHRlbmRlZCBzaGVsbCBmdW5jdGlvbnMgaW4gJG9maWxlIiA+JjUKICskYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiBVbmFibGUgdG8gc3Vic3RpdHV0ZSBleHRlbmRlZCBzaGVsbCBmdW5jdGlvbnMgaW4gJG9maWxlIiA+JjI7fQogK2ZpCi0gCi0tICBzZWQgLW4gJy9eIyBHZW5lcmF0ZWQgc2hlbGwgZnVuY3Rpb25zIGluc2VydGVkIGhlcmUvLCRwJyAiJGx0bWFpbiIgPj4gIiRjZmdmaWxlIiBcCi0tICAgIHx8IChybSAtZiAiJGNmZ2ZpbGUiOyBleGl0IDEpCi0gCi0tICBtdiAtZiAiJGNmZ2ZpbGUiICIkb2ZpbGUiIHx8CisrCisrCiArICAgbXYgLWYgIiRjZmdmaWxlIiAiJG9maWxlIiB8fAogICAgICAocm0gLWYgIiRvZmlsZSIgJiYgY3AgIiRjZmdmaWxlIiAiJG9maWxlIiAmJiBybSAtZiAiJGNmZ2ZpbGUiKQogICAgY2htb2QgK3ggIiRvZmlsZSIKQEAgLTEwMzE1LDEwICsxMDMxMSwxMCBAQAogICMgU3BlY2lmeSBmaWxlbmFtZSBjb250YWluaW5nIGlucHV0IGZpbGVzLgogIGZpbGVfbGlzdF9zcGVjPSRsdF9maWxlX2xpc3Rfc3BlY19DWFgKICAKLUluZGV4OiBnaXQvbGlidG9vbC5tNAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdpdC5vcmlnL2xpYnRvb2wubTQKLSsrKyBnaXQvbGlidG9vbC5tNAorZGlmZiAtLWdpdCBhL2xpYnRvb2wubTQgYi9saWJ0b29sLm00CitpbmRleCA0MzQ1MzAwNTlmLi5lNDVmZGM2OTk4IDEwMDY0NAorLS0tIGEvbGlidG9vbC5tNAorKysrIGIvbGlidG9vbC5tNAogQEAgLTEsNyArMSw4IEBACiAgIyBsaWJ0b29sLm00IC0gQ29uZmlndXJlIGxpYnRvb2wgZm9yIHRoZSBob3N0IHN5c3RlbS4gLSotQXV0b2NvbmYtKi0KICAjCkBAIC0xMDM1OCw3ICsxMDM1NCw3IEBACiAgQUNfU1VCU1QoTElCVE9PTClkbmwKICAKICBfTFRfU0VUVVAKLUBAIC0xNjYsMTAgKzE2OSwxMyBAQCBfTFRfREVDTChbXSwgW2V4ZWV4dF0sIFswXSwgW0V4ZWN1dGFibGUKK0BAIC0xNjYsMTAgKzE2OSwxMyBAQCBfTFRfREVDTChbXSwgW2V4ZWV4dF0sIFswXSwgW0V4ZWN1dGFibGUgZmlsZSBzdWZmaXggKG5vcm1hbGx5ICIiKV0pZG5sCiAgZG5sCiAgbTRfcmVxdWlyZShbX0xUX0ZJTEVVVElMU19ERUZBVUxUU10pZG5sCiAgbTRfcmVxdWlyZShbX0xUX0NIRUNLX1NIRUxMX0ZFQVRVUkVTXSlkbmwKQEAgLTEwMzgxLDcgKzEwMzc3LDcgQEAKICBjYW5fYnVpbGRfc2hhcmVkPXllcwogIAogICMgQWxsIGtub3duIGxpbmtlcnMgcmVxdWlyZSBhIGAuYScgYXJjaGl2ZSBmb3Igc3RhdGljIGxpbmtpbmcgKGV4Y2VwdCBNU1ZDLAotQEAgLTYzMiw3ICs2MzgsNyBAQCBtNF9pZnNldChbQUNfUEFDS0FHRV9OQU1FXSwgW0FDX1BBQ0tBR0VfCitAQCAtNjMyLDcgKzYzOCw3IEBAIG00X2lmc2V0KFtBQ19QQUNLQUdFX05BTUVdLCBbQUNfUEFDS0FHRV9OQU1FIF0pY29uZmlnLmx0W11kbmwKICBtNF9pZnNldChbQUNfUEFDS0FHRV9WRVJTSU9OXSwgWyBBQ19QQUNLQUdFX1ZFUlNJT05dKQogIGNvbmZpZ3VyZWQgYnkgJFswXSwgZ2VuZXJhdGVkIGJ5IG00X1BBQ0tBR0VfU1RSSU5HLgogIApAQCAtMTA0ODYsNyArMTA0ODIsNyBAQAogICAgIHRlc3QgIlhgcHJpbnQgLXIgLS0gJEVDSE8gMj4vZGV2L251bGxgIiA9ICJYJEVDSE8iOyB0aGVuCiAgICBFQ0hPPSdwcmludCAtciAtLScKICBlbGlmIHRlc3QgIlhgcHJpbnRmICVzICRFQ0hPIDI+L2Rldi9udWxsYCIgPSAiWCRFQ0hPIjsgdGhlbgotQEAgLTExNjEsNiArMTE3NywzOSBAQCBfTFRfREVDTChbXSwgW0VDSE9dLCBbMV0sIFtBbiBlY2hvIHByb2dyCitAQCAtMTE2MSw2ICsxMTc3LDM5IEBAIF9MVF9ERUNMKFtdLCBbRUNIT10sIFsxXSwgW0FuIGVjaG8gcHJvZ3JhbSB0aGF0IHByb3RlY3RzIGJhY2tzbGFzaGVzXSkKICBdKSMgX0xUX1BST0dfRUNIT19CQUNLU0xBU0gKICAKICAKQEAgLTEwNzM5LDcgKzEwNzM1LDcgQEAKICBmaWxlX21hZ2ljX2NtZD0kbHRfY3ZfZmlsZV9tYWdpY19jbWQKICBkZXBsaWJzX2NoZWNrX21ldGhvZD0kbHRfY3ZfZGVwbGlic19jaGVja19tZXRob2QKICB0ZXN0IC16ICIkZGVwbGlic19jaGVja19tZXRob2QiICYmIGRlcGxpYnNfY2hlY2tfbWV0aG9kPXVua25vd24KLUBAIC0zMTc0LDcgKzMzMzYsMTEgQEAgdGVzdCAteiAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAmJiBkZXBsaQorQEAgLTMxNzQsNyArMzMzNiwxMSBAQCB0ZXN0IC16ICIkZGVwbGlic19jaGVja19tZXRob2QiICYmIGRlcGxpYnNfY2hlY2tfbWV0aG9kPXVua25vd24KICBfTFRfREVDTChbXSwgW2RlcGxpYnNfY2hlY2tfbWV0aG9kXSwgWzFdLAogICAgICBbTWV0aG9kIHRvIGNoZWNrIHdoZXRoZXIgZGVwZW5kZW50IGxpYnJhcmllcyBhcmUgc2hhcmVkIG9iamVjdHNdKQogIF9MVF9ERUNMKFtdLCBbZmlsZV9tYWdpY19jbWRdLCBbMV0sCkBAIC0xMDg2Nyw3ICsxMDg2Myw3IEBACiAgICBjb25zdCBjaGFyICpuYW1lOwogICAgdm9pZCAgICAgICAqYWRkcmVzczsKICB9Ci1AQCAtMzUxMCwxNSArMzc1MCwxNSBAQCBzdGF0aWMgY29uc3Qgdm9pZCAqbHRfcHJlbG9hZGVkX3NldHVwKCkKK0BAIC0zNTEwLDE1ICszNzUwLDE1IEBAIHN0YXRpYyBjb25zdCB2b2lkICpsdF9wcmVsb2FkZWRfc2V0dXAoKSB7CiAgX0xUX0VPRgogIAkgICMgTm93IHRyeSBsaW5raW5nIHRoZSB0d28gZmlsZXMuCiAgCSAgbXYgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdHN0bS4kYWNfb2JqZXh0CkBAIC0xMDkwMSw3ICsxMDg5Nyw3IEBACiAgX0xUX0RFQ0woW2dsb2JhbF9zeW1ib2xfcGlwZV0sIFtsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlXSwgWzFdLAogICAgICBbVGFrZSB0aGUgb3V0cHV0IG9mIG5tIGFuZCBwcm9kdWNlIGEgbGlzdGluZyBvZiByYXcgc3ltYm9scyBhbmQgQyBuYW1lc10pCiAgX0xUX0RFQ0woW2dsb2JhbF9zeW1ib2xfdG9fY2RlY2xdLCBbbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2xdLCBbMV0sCi1AQCAtMzU2MSw2ICszODA4LDggQEAgX0xUX0RFQ0woW2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlcworQEAgLTM1NjEsNiArMzgwOCw4IEBAIF9MVF9ERUNMKFtnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzXSwKICBfTFRfREVDTChbZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4XSwKICAgICAgW2x0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXhdLCBbMV0sCiAgICAgIFtUcmFuc2Zvcm0gdGhlIG91dHB1dCBvZiBubSBpbiBhIEMgbmFtZSBhZGRyZXNzIHBhaXIgd2hlbiBsaWIgcHJlZml4IGlzIG5lZWRlZF0pCkBAIC0xMDk4Niw3ICsxMDk4Miw3IEBACiAgIwogICMgQ2hlY2sgdG8gbWFrZSBzdXJlIHRoZSBzdGF0aWMgZmxhZyBhY3R1YWxseSB3b3Jrcy4KICAjCi1AQCAtNDIxMyw2ICs0NDc3LDcgQEAgX0xUX1RBR0RFQ0woW2xpbmtfc3RhdGljX2ZsYWddLCBbbHRfcHJvZworQEAgLTQyMTMsNiArNDQ3Nyw3IEBAIF9MVF9UQUdERUNMKFtsaW5rX3N0YXRpY19mbGFnXSwgW2x0X3Byb2dfY29tcGlsZXJfc3RhdGljXSwgWzFdLAogIG00X2RlZnVuKFtfTFRfTElOS0VSX1NITElCU10sCiAgW0FDX1JFUVVJUkUoW0xUX1BBVEhfTERdKWRubAogIEFDX1JFUVVJUkUoW0xUX1BBVEhfTk1dKWRubApAQCAtMTEzMDgsNyArMTEzMDQsNyBAQAogIGlmIHRlc3QgLW4gIiRDWFgiICYmICggdGVzdCAiWCRDWFgiICE9ICJYbm8iICYmCiAgICAgICggKHRlc3QgIlgkQ1hYIiA9ICJYZysrIiAmJiBgZysrIC12ID4vZGV2L251bGwgMj4mMWAgKSB8fAogICAgICAodGVzdCAiWCRDWFgiICE9ICJYZysrIikpKSA7IHRoZW4KLUBAIC01NDg3LDYgKzU4MTgsNyBAQCBpZiB0ZXN0ICIkX2x0X2NhdWdodF9DWFhfZXJyb3IiICE9IHllczsKK0BAIC01NDg3LDYgKzU4MTgsNyBAQCBpZiB0ZXN0ICIkX2x0X2NhdWdodF9DWFhfZXJyb3IiICE9IHllczsgdGhlbgogIAogICAgIyBBbGxvdyBDQyB0byBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3VtZW50cy4KICAgIGx0X3NhdmVfQ0M9JENDCkBAIC0xMTMxNiw3ICsxMTMxMiw3IEBACiAgICBsdF9zYXZlX0xEPSRMRAogICAgbHRfc2F2ZV9HQ0M9JEdDQwogICAgR0NDPSRHWFgKLUBAIC01NTA0LDYgKzU4MzYsNyBAQCBpZiB0ZXN0ICIkX2x0X2NhdWdodF9DWFhfZXJyb3IiICE9IHllczsKK0BAIC01NTA0LDYgKzU4MzYsNyBAQCBpZiB0ZXN0ICIkX2x0X2NhdWdodF9DWFhfZXJyb3IiICE9IHllczsgdGhlbgogICAgZmkKICAgIHRlc3QgLXogIiR7TERDWFgrc2V0fSIgfHwgTEQ9JExEQ1hYCiAgICBDQz0ke0NYWC0iYysrIn0KQEAgLTExMzI0LDcgKzExMzIwLDcgQEAKICAgIGNvbXBpbGVyPSRDQwogICAgX0xUX1RBR1ZBUihjb21waWxlciwgJDEpPSRDQwogICAgX0xUX0NDX0JBU0VOQU1FKFskY29tcGlsZXJdKQotQEAgLTU2NjcsNyArNjAwMCw3IEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOworQEAgLTU2NjcsNyArNjAwMCw3IEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOyB0aGVuCiAgICAgICAgICAgIF9MVF9UQUdWQVIoYWxsb3dfdW5kZWZpbmVkX2ZsYWcsICQxKT0nLWJlcm9rJwogICAgICAgICAgICAjIERldGVybWluZSB0aGUgZGVmYXVsdCBsaWJwYXRoIGZyb20gdGhlIHZhbHVlIGVuY29kZWQgaW4gYW4gZW1wdHkKICAgICAgICAgICAgIyBleGVjdXRhYmxlLgpAQCAtMTEzMzMsNyArMTEzMjksNyBAQAogICAgICAgICAgICBfTFRfVEFHVkFSKGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMsICQxKT0nJHt3bH0tYmxpYnBhdGg6JGxpYmRpcjonIiRhaXhfbGlicGF0aCIKICAKICAgICAgICAgICAgX0xUX1RBR1ZBUihhcmNoaXZlX2V4cHN5bV9jbWRzLCAkMSk9JyRDQyAtbyAkb3V0cHV0X29iamRpci8kc29uYW1lICRsaWJvYmpzICRkZXBsaWJzICciXCR7d2x9JG5vX2VudHJ5X2ZsYWciJyAkY29tcGlsZXJfZmxhZ3MgYGlmIHRlc3QgIngke2FsbG93X3VuZGVmaW5lZF9mbGFnfSIgIT0gIngiOyB0aGVuIGZ1bmNfZWNob19hbGwgIiR7d2x9JHthbGxvd191bmRlZmluZWRfZmxhZ30iOyBlbHNlIDo7IGZpYCAnIlwke3dsfSRleHBfc3ltX2ZsYWc6XCRleHBvcnRfc3ltYm9scyAkc2hhcmVkX2ZsYWciCi1AQCAtNTY3OSw3ICs2MDEyLDcgQEAgaWYgdGVzdCAiJF9sdF9jYXVnaHRfQ1hYX2Vycm9yIiAhPSB5ZXM7CitAQCAtNTY3OSw3ICs2MDEyLDcgQEAgaWYgdGVzdCAiJF9sdF9jYXVnaHRfQ1hYX2Vycm9yIiAhPSB5ZXM7IHRoZW4KICAgICAgICAgICAgZWxzZQogIAkgICAgIyBEZXRlcm1pbmUgdGhlIGRlZmF1bHQgbGlicGF0aCBmcm9tIHRoZSB2YWx1ZSBlbmNvZGVkIGluIGFuCiAgCSAgICAjIGVtcHR5IGV4ZWN1dGFibGUuCkBAIC0xMTM0Miw3ICsxMTMzOCw3IEBACiAgCSAgICBfTFRfVEFHVkFSKGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMsICQxKT0nJHt3bH0tYmxpYnBhdGg6JGxpYmRpcjonIiRhaXhfbGlicGF0aCIKICAJICAgICMgV2FybmluZyAtIHdpdGhvdXQgdXNpbmcgdGhlIG90aGVyIHJ1biB0aW1lIGxvYWRpbmcgZmxhZ3MsCiAgCSAgICAjIC1iZXJvayB3aWxsIGxpbmsgd2l0aG91dCBlcnJvciwgYnV0IG1heSBwcm9kdWNlIGEgYnJva2VuIGxpYnJhcnkuCi1AQCAtNTcyMSwyOSArNjA1NCw3NSBAQCBpZiB0ZXN0ICIkX2x0X2NhdWdodF9DWFhfZXJyb3IiICE9IHllczsKK0BAIC01NzIxLDI5ICs2MDU0LDc1IEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOyB0aGVuCiAgICAgICAgICA7OwogIAogICAgICAgIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKQEAgLTExNDQxLDcgKzExNDM3LDcgQEAKICAgICAgICBkYXJ3aW4qIHwgcmhhcHNvZHkqKQogICAgICAgICAgX0xUX0RBUldJTl9MSU5LRVJfRkVBVFVSRVMoJDEpCiAgCTs7Ci1AQCAtNTgxOCw3ICs2MTk3LDcgQEAgaWYgdGVzdCAiJF9sdF9jYXVnaHRfQ1hYX2Vycm9yIiAhPSB5ZXM7CitAQCAtNTgxOCw3ICs2MTk3LDcgQEAgaWYgdGVzdCAiJF9sdF9jYXVnaHRfQ1hYX2Vycm9yIiAhPSB5ZXM7IHRoZW4KICAgICAgICAgICAgICA7OwogICAgICAgICAgICAqKQogICAgICAgICAgICAgIGlmIHRlc3QgIiRHWFgiID0geWVzOyB0aGVuCkBAIC0xMTQ1MCw3ICsxMTQ0Niw3IEBACiAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIyBGSVhNRTogaW5zZXJ0IHByb3BlciBDKysgbGlicmFyeSBzdXBwb3J0CiAgICAgICAgICAgICAgICBfTFRfVEFHVkFSKGxkX3NobGlicywgJDEpPW5vCi1AQCAtNTg4OSwxMCArNjI2OCwxMCBAQCBpZiB0ZXN0ICIkX2x0X2NhdWdodF9DWFhfZXJyb3IiICE9IHllczsKK0BAIC01ODg5LDEwICs2MjY4LDEwIEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOyB0aGVuCiAgCSAgICAgICAgICAgIF9MVF9UQUdWQVIoYXJjaGl2ZV9jbWRzLCAkMSk9JyRDQyAtc2hhcmVkIC1ub3N0ZGxpYiAtZlBJQyAke3dsfStoICR7d2x9JHNvbmFtZSAtbyAkbGliICRwcmVkZXBfb2JqZWN0cyAkbGlib2JqcyAkZGVwbGlicyAkcG9zdGRlcF9vYmplY3RzICRjb21waWxlcl9mbGFncycKICAJICAgICAgICAgICAgOzsKICAJICAgICAgICAgIGlhNjQqKQpAQCAtMTE0NjMsNyArMTE0NTksNyBAQAogIAkgICAgICAgICAgICA7OwogIAkgICAgICAgIGVzYWMKICAJICAgICAgZmkKLUBAIC01OTMzLDkgKzYzMTIsOSBAQCBpZiB0ZXN0ICIkX2x0X2NhdWdodF9DWFhfZXJyb3IiICE9IHllczsKK0BAIC01OTMzLDkgKzYzMTIsOSBAQCBpZiB0ZXN0ICIkX2x0X2NhdWdodF9DWFhfZXJyb3IiICE9IHllczsgdGhlbgogICAgICAgICAgICAqKQogIAkgICAgaWYgdGVzdCAiJEdYWCIgPSB5ZXM7IHRoZW4KICAJICAgICAgaWYgdGVzdCAiJHdpdGhfZ251X2xkIiA9IG5vOyB0aGVuCkBAIC0xMTQ3NSw3ICsxMTQ3MSw3IEBACiAgCSAgICAgIGZpCiAgCSAgICBmaQogIAkgICAgX0xUX1RBR1ZBUihsaW5rX2FsbF9kZXBsaWJzLCAkMSk9eWVzCi1AQCAtNjAwNSwyMCArNjM4NCwyMCBAQCBpZiB0ZXN0ICIkX2x0X2NhdWdodF9DWFhfZXJyb3IiICE9IHllczsKK0BAIC02MDA1LDIwICs2Mzg0LDIwIEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOyB0aGVuCiAgCSAgICAgIF9MVF9UQUdWQVIocHJlbGlua19jbWRzLCAkMSk9J3RwbGRpcj1UZW1wbGF0ZS5kaXJ+CiAgCQlybSAtcmYgJHRwbGRpcn4KICAJCSRDQyAtLXByZWxpbmtfb2JqZWN0cyAtLWluc3RhbnRpYXRpb25fZGlyICR0cGxkaXIgJG9ianMgJGxpYm9ianMgJGNvbXBpbGVfZGVwbGlic34KQEAgLTExNTAwLDcgKzExNDk2LDcgQEAKICAJICAgICAgOzsKICAJICAgICopICMgVmVyc2lvbiA2IGFuZCBhYm92ZSB1c2Ugd2VhayBzeW1ib2xzCiAgCSAgICAgIF9MVF9UQUdWQVIoYXJjaGl2ZV9jbWRzLCAkMSk9JyRDQyAtc2hhcmVkICRwaWNfZmxhZyAkcHJlZGVwX29iamVjdHMgJGxpYm9ianMgJGRlcGxpYnMgJHBvc3RkZXBfb2JqZWN0cyAkY29tcGlsZXJfZmxhZ3MgJHt3bH0tc29uYW1lICR7d2x9JHNvbmFtZSAtbyAkbGliJwotQEAgLTYyMTMsNyArNjU5Miw3IEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOworQEAgLTYyMTMsNyArNjU5Miw3IEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOyB0aGVuCiAgCSAgICAgICAgICBfTFRfVEFHVkFSKGFyY2hpdmVfY21kcywgJDEpPSckQ0MgLXNoYXJlZCAtbm9zdGRsaWIgJHthbGxvd191bmRlZmluZWRfZmxhZ30gJHByZWRlcF9vYmplY3RzICRsaWJvYmpzICRkZXBsaWJzICRwb3N0ZGVwX29iamVjdHMgJGNvbXBpbGVyX2ZsYWdzICR7d2x9LXNvbmFtZSAke3dsfSRzb25hbWUgYHRlc3QgLW4gIiR2ZXJzdHJpbmciICYmIGZ1bmNfZWNob19hbGwgIiR7d2x9LXNldF92ZXJzaW9uICR7d2x9JHZlcnN0cmluZyJgICR7d2x9LXVwZGF0ZV9yZWdpc3RyeSAke3dsfSR7b3V0cHV0X29iamRpcn0vc29fbG9jYXRpb25zIC1vICRsaWInCiAgCQkgIDs7CiAgCSAgICAgICAgKikKQEAgLTExNTA5LDcgKzExNTA1LDcgQEAKICAJCSAgOzsKICAJICAgICAgZXNhYwogIAotQEAgLTYyNTksNyArNjYzOCw3IEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOworQEAgLTYyNTksNyArNjYzOCw3IEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOyB0aGVuCiAgCiAgICAgICAgc29sYXJpcyopCiAgICAgICAgICBjYXNlICRjY19iYXNlbmFtZSBpbgpAQCAtMTE1MTgsNyArMTE1MTQsNyBAQAogIAkgICAgIyBTdW4gQysrIDQuMiwgNS54IGFuZCBDZW50ZXJsaW5lIEMrKwogICAgICAgICAgICAgIF9MVF9UQUdWQVIoYXJjaGl2ZV9jbWRzX25lZWRfbGMsJDEpPXllcwogIAkgICAgX0xUX1RBR1ZBUihub191bmRlZmluZWRfZmxhZywgJDEpPScgLXpkZWZzJwotQEAgLTYzMDAsOSArNjY3OSw5IEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOworQEAgLTYzMDAsOSArNjY3OSw5IEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOyB0aGVuCiAgCSAgICBpZiB0ZXN0ICIkR1hYIiA9IHllcyAmJiB0ZXN0ICIkd2l0aF9nbnVfbGQiID0gbm87IHRoZW4KICAJICAgICAgX0xUX1RBR1ZBUihub191bmRlZmluZWRfZmxhZywgJDEpPScgJHt3bH0teiAke3dsfWRlZnMnCiAgCSAgICAgIGlmICRDQyAtLXZlcnNpb24gfCAkR1JFUCAtdiAnXjJcLjcnID4gL2Rldi9udWxsOyB0aGVuCkBAIC0xMTUzMCw3ICsxMTUyNiw3IEBACiAgCiAgCSAgICAgICAgIyBDb21tYW5kcyB0byBtYWtlIGNvbXBpbGVyIHByb2R1Y2UgdmVyYm9zZSBvdXRwdXQgdGhhdCBsaXN0cwogIAkgICAgICAgICMgd2hhdCAiaGlkZGVuIiBsaWJyYXJpZXMsIG9iamVjdCBmaWxlcyBhbmQgZmxhZ3MgYXJlIHVzZWQgd2hlbgotQEAgLTY0MzEsNiArNjgxMCw3IEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOworQEAgLTY0MzEsNiArNjgxMCw3IEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOyB0aGVuCiAgICBmaSAjIHRlc3QgLW4gIiRjb21waWxlciIKICAKICAgIENDPSRsdF9zYXZlX0NDCkBAIC0xMTczOCw3ICsxMTczNCw3IEBACiAgXSkjIF9MVF9MQU5HX1JDX0NPTkZJRwogIAogIAotQEAgLTcxMDEsNiArNzUzNiwxNSBAQCBfTFRfREVDTChbXSwgW09CSkRVTVBdLCBbMV0sIFtBbiBvYmplY3QKK0BAIC03MTAxLDYgKzc1MzYsMTUgQEAgX0xUX0RFQ0woW10sIFtPQkpEVU1QXSwgWzFdLCBbQW4gb2JqZWN0IHN5bWJvbCBkdW1wZXJdKQogIEFDX1NVQlNUKFtPQkpEVU1QXSkKICBdKQogIApAQCAtMTE3NjUsNyArMTE3NjEsNyBAQAogICAgICAmJiBldmFsICd0ZXN0ICQoKCAxICsgMSApKSAtZXEgMiBcCiAgICAgICYmIHRlc3QgIiR7I19sdF9kdW1teX0iIC1lcSA1JyApID4vZGV2L251bGwgMj4mMSBcCiAgICAmJiB4c2lfc2hlbGw9eWVzCi1AQCAtNzIzNCwyMDYgKzc2NzgsMTYyIEBAIF9MVF9ERUNMKFtOTDJTUF0sIFtsdF9OTDJTUF0sIFsxXSwgW3R1cm4KK0BAIC03MjM0LDIwNiArNzY3OCwxNjIgQEAgX0xUX0RFQ0woW05MMlNQXSwgW2x0X05MMlNQXSwgWzFdLCBbdHVybiBuZXdsaW5lcyBpbnRvIHNwYWNlc10pZG5sCiAgXSkjIF9MVF9DSEVDS19TSEVMTF9GRUFUVVJFUwogIAogIApAQCAtMTE4NjMsMzEgKzExODU5LDYgQEAKIC17CiAtICBmdW5jX2xlbl9yZXN1bHQ9JHsjMX0KIC19Ci0tCi0tX0xUX0VPRgotLSAgICA7OwotLSAgKikgIyBCb3VybmUgY29tcGF0aWJsZSBmdW5jdGlvbnMuCi0tICAgIGNhdCA8PCBcX0xUX0VPRiA+PiAiJGNmZ2ZpbGUiCi0tCi0tIyBmdW5jX2Rpcm5hbWUgZmlsZSBhcHBlbmQgbm9uZGlyX3JlcGxhY2VtZW50Ci0tIyBDb21wdXRlIHRoZSBkaXJuYW1lIG9mIEZJTEUuICBJZiBub25lbXB0eSwgYWRkIEFQUEVORCB0byB0aGUgcmVzdWx0LAotLSMgb3RoZXJ3aXNlIHNldCByZXN1bHQgdG8gTk9ORElSX1JFUExBQ0VNRU5ULgotLWZ1bmNfZGlybmFtZSAoKQotLXsKLS0gICMgRXh0cmFjdCBzdWJkaXJlY3RvcnkgZnJvbSB0aGUgYXJndW1lbnQuCi0tICBmdW5jX2Rpcm5hbWVfcmVzdWx0PWAkRUNITyAiJHsxfSIgfCAkU0VEICIkZGlybmFtZSJgCi0tICBpZiB0ZXN0ICJYJGZ1bmNfZGlybmFtZV9yZXN1bHQiID0gIlgkezF9IjsgdGhlbgotLSAgICBmdW5jX2Rpcm5hbWVfcmVzdWx0PSIkezN9IgotLSAgZWxzZQotLSAgICBmdW5jX2Rpcm5hbWVfcmVzdWx0PSIkZnVuY19kaXJuYW1lX3Jlc3VsdCR7Mn0iCi0tICBmaQotLX0KLS0KLS0jIGZ1bmNfYmFzZW5hbWUgZmlsZQotLWZ1bmNfYmFzZW5hbWUgKCkKLS17Ci0tICBmdW5jX2Jhc2VuYW1lX3Jlc3VsdD1gJEVDSE8gIiR7MX0iIHwgJFNFRCAiJGJhc2VuYW1lImAKLS19CiArIyBfTFRfUFJPR19GVU5DVElPTl9SRVBMQUNFIChGVU5DTkFNRSwgUkVQTEFDRU1FTlQtQk9EWSkKICsjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogKyMgSW4gYCRjZmdmaWxlJywgbG9vayBmb3IgZnVuY3Rpb24gRlVOQ05BTUUgZGVsaW1pdGVkIGJ5IGBeRlVOQ05BTUUgKCkkJyBhbmQKQEAgLTExOTA0LDIyICsxMTg3NSwyMyBAQAogK3Rlc3QgMCAtZXEgJD8gfHwgX2x0X2Z1bmN0aW9uX3JlcGxhY2VfZmFpbD06CiArXSkKICAKLS1kbmwgZnVuY19kaXJuYW1lX2FuZF9iYXNlbmFtZQotLWRubCBBIHBvcnRhYmxlIHZlcnNpb24gb2YgdGhpcyBmdW5jdGlvbiBpcyBhbHJlYWR5IGRlZmluZWQgaW4gZ2VuZXJhbC5tNHNoCi0tZG5sIHNvIHRoZXJlIGlzIG5vIG5lZWQgZm9yIGl0IGhlcmUuCistX0xUX0VPRgorLSAgICA7OworLSAgKikgIyBCb3VybmUgY29tcGF0aWJsZSBmdW5jdGlvbnMuCistICAgIGNhdCA8PCBcX0xUX0VPRiA+PiAiJGNmZ2ZpbGUiCiAgCi0tIyBmdW5jX3N0cmlwbmFtZSBwcmVmaXggc3VmZml4IG5hbWUKLS0jIHN0cmlwIFBSRUZJWCBhbmQgU1VGRklYIG9mZiBvZiBOQU1FLgotLSMgUFJFRklYIGFuZCBTVUZGSVggbXVzdCBub3QgY29udGFpbiBnbG9iYmluZyBvciByZWdleCBzcGVjaWFsCi0tIyBjaGFyYWN0ZXJzLCBoYXNoZXMsIHBlcmNlbnQgc2lnbnMsIGJ1dCBTVUZGSVggbWF5IGNvbnRhaW4gYSBsZWFkaW5nCi0tIyBkb3QgKGluIHdoaWNoIGNhc2UgdGhhdCBtYXRjaGVzIG9ubHkgYSBkb3QpLgotLSMgZnVuY19zdHJpcF9zdWZmaXggcHJlZml4IG5hbWUKLS1mdW5jX3N0cmlwbmFtZSAoKQorLSMgZnVuY19kaXJuYW1lIGZpbGUgYXBwZW5kIG5vbmRpcl9yZXBsYWNlbWVudAorLSMgQ29tcHV0ZSB0aGUgZGlybmFtZSBvZiBGSUxFLiAgSWYgbm9uZW1wdHksIGFkZCBBUFBFTkQgdG8gdGhlIHJlc3VsdCwKKy0jIG90aGVyd2lzZSBzZXQgcmVzdWx0IHRvIE5PTkRJUl9SRVBMQUNFTUVOVC4KKy1mdW5jX2Rpcm5hbWUgKCkKIC17Ci0tICBjYXNlICR7Mn0gaW4KLS0gICAgLiopIGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdD1gJEVDSE8gIiR7M30iIHwgJFNFRCAicyVeJHsxfSUlOyBzJVxcXFwkezJ9XCQlJSJgOzsKLS0gICAgKikgIGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdD1gJEVDSE8gIiR7M30iIHwgJFNFRCAicyVeJHsxfSUlOyBzJSR7Mn1cJCUlImA7OwotLSAgZXNhYworLSAgIyBFeHRyYWN0IHN1YmRpcmVjdG9yeSBmcm9tIHRoZSBhcmd1bWVudC4KKy0gIGZ1bmNfZGlybmFtZV9yZXN1bHQ9YCRFQ0hPICIkezF9IiB8ICRTRUQgIiRkaXJuYW1lImAKKy0gIGlmIHRlc3QgIlgkZnVuY19kaXJuYW1lX3Jlc3VsdCIgPSAiWCR7MX0iOyB0aGVuCistICAgIGZ1bmNfZGlybmFtZV9yZXN1bHQ9IiR7M30iCistICBlbHNlCistICAgIGZ1bmNfZGlybmFtZV9yZXN1bHQ9IiRmdW5jX2Rpcm5hbWVfcmVzdWx0JHsyfSIKKy0gIGZpCiAtfQogKyMgX0xUX1BST0dfUkVQTEFDRV9TSEVMTEZOUwogKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMTE5NDMsMjQgKzExOTE1LDQ1IEBACiArICAgIGVzYWMKICsgICAgZnVuY19iYXNlbmFtZV9yZXN1bHQ9IiR7MSMjKi99Il0pCiAgCi0tIyBzZWQgc2NyaXB0czoKLS1teV9zZWRfbG9uZ19vcHQ9JzFzL15cKC1bW149XV0qXCk9LiovXDEvO3EnCi0tbXlfc2VkX2xvbmdfYXJnPScxcy9eLVtbXj1dXSo9Ly8nCistIyBmdW5jX2Jhc2VuYW1lIGZpbGUKKy1mdW5jX2Jhc2VuYW1lICgpCisteworLSAgZnVuY19iYXNlbmFtZV9yZXN1bHQ9YCRFQ0hPICIkezF9IiB8ICRTRUQgIiRiYXNlbmFtZSJgCistfQogKyAgX0xUX1BST0dfRlVOQ1RJT05fUkVQTEFDRShbZnVuY19zdHJpcG5hbWVdLCBbZG5sCiArICAgICMgcGRrc2ggNS4yLjE0IGRvZXMgbm90IGRvICR7WCUkWX0gY29ycmVjdGx5IGlmIGJvdGggWCBhbmQgWSBhcmUKICsgICAgIyBwb3NpdGlvbmFsIHBhcmFtZXRlcnMsIHNvIGFzc2lnbiBvbmUgdG8gb3JkaW5hcnkgcGFyYW1ldGVyIGZpcnN0LgogKyAgICBmdW5jX3N0cmlwbmFtZV9yZXN1bHQ9JHszfQogKyAgICBmdW5jX3N0cmlwbmFtZV9yZXN1bHQ9JHtmdW5jX3N0cmlwbmFtZV9yZXN1bHQjIiR7MX0ifQogKyAgICBmdW5jX3N0cmlwbmFtZV9yZXN1bHQ9JHtmdW5jX3N0cmlwbmFtZV9yZXN1bHQlIiR7Mn0ifV0pCi0rCisgCistZG5sIGZ1bmNfZGlybmFtZV9hbmRfYmFzZW5hbWUKKy1kbmwgQSBwb3J0YWJsZSB2ZXJzaW9uIG9mIHRoaXMgZnVuY3Rpb24gaXMgYWxyZWFkeSBkZWZpbmVkIGluIGdlbmVyYWwubTRzaAorLWRubCBzbyB0aGVyZSBpcyBubyBuZWVkIGZvciBpdCBoZXJlLgogKyAgX0xUX1BST0dfRlVOQ1RJT05fUkVQTEFDRShbZnVuY19zcGxpdF9sb25nX29wdF0sIFtkbmwKICsgICAgZnVuY19zcGxpdF9sb25nX29wdF9uYW1lPSR7MSUlPSp9CiArICAgIGZ1bmNfc3BsaXRfbG9uZ19vcHRfYXJnPSR7MSMqPX1dKQotKworIAorLSMgZnVuY19zdHJpcG5hbWUgcHJlZml4IHN1ZmZpeCBuYW1lCistIyBzdHJpcCBQUkVGSVggYW5kIFNVRkZJWCBvZmYgb2YgTkFNRS4KKy0jIFBSRUZJWCBhbmQgU1VGRklYIG11c3Qgbm90IGNvbnRhaW4gZ2xvYmJpbmcgb3IgcmVnZXggc3BlY2lhbAorLSMgY2hhcmFjdGVycywgaGFzaGVzLCBwZXJjZW50IHNpZ25zLCBidXQgU1VGRklYIG1heSBjb250YWluIGEgbGVhZGluZworLSMgZG90IChpbiB3aGljaCBjYXNlIHRoYXQgbWF0Y2hlcyBvbmx5IGEgZG90KS4KKy0jIGZ1bmNfc3RyaXBfc3VmZml4IHByZWZpeCBuYW1lCistZnVuY19zdHJpcG5hbWUgKCkKKy17CistICBjYXNlICR7Mn0gaW4KKy0gICAgLiopIGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdD1gJEVDSE8gIiR7M30iIHwgJFNFRCAicyVeJHsxfSUlOyBzJVxcXFwkezJ9XCQlJSJgOzsKKy0gICAgKikgIGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdD1gJEVDSE8gIiR7M30iIHwgJFNFRCAicyVeJHsxfSUlOyBzJSR7Mn1cJCUlImA7OworLSAgZXNhYworLX0KICsgIF9MVF9QUk9HX0ZVTkNUSU9OX1JFUExBQ0UoW2Z1bmNfc3BsaXRfc2hvcnRfb3B0XSwgW2RubAogKyAgICBmdW5jX3NwbGl0X3Nob3J0X29wdF9hcmc9JHsxIz8/fQogKyAgICBmdW5jX3NwbGl0X3Nob3J0X29wdF9uYW1lPSR7MSUiJGZ1bmNfc3BsaXRfc2hvcnRfb3B0X2FyZyJ9XSkKLSsKKyAKKy0jIHNlZCBzY3JpcHRzOgorLW15X3NlZF9sb25nX29wdD0nMXMvXlwoLVtbXj1dXSpcKT0uKi9cMS87cScKKy1teV9zZWRfbG9uZ19hcmc9JzFzL14tW1tePV1dKj0vLycKICsgIF9MVF9QUk9HX0ZVTkNUSU9OX1JFUExBQ0UoW2Z1bmNfbG8yb10sIFtkbmwKICsgICAgY2FzZSAkezF9IGluCiArICAgICAgKi5sbykgZnVuY19sbzJvX3Jlc3VsdD0kezElLmxvfS4ke29iamV4dH0gOzsKQEAgLTEyMDA4LDcgKzEyMDAxLDkgQEAKICsgICAgZnVuY19xdW90ZV9mb3JfZXZhbCAiJHsyfSIKICtkbmwgbTQgZXhwYW5zaW9uIHR1cm5zIFxcXFwgaW50byBcXCwgYW5kIHRoZW4gdGhlIHNoZWxsIGV2YWwgdHVybnMgdGhhdCBpbnRvIFwKICsgICAgZXZhbCAiJHsxfSs9XFxcXCBcXCRmdW5jX3F1b3RlX2Zvcl9ldmFsX3Jlc3VsdCJdKQotKworIAorLV9MVF9FT0YKKy1lc2FjCiArICAjIFNhdmUgYSBgZnVuY19hcHBlbmQnIGZ1bmN0aW9uIGNhbGwgd2hlcmUgcG9zc2libGUgYnkgZGlyZWN0IHVzZSBvZiAnKz0nCiArICBzZWQgLWUgJ3MlZnVuY19hcHBlbmQgXChbW2EtekEtWl9dXVx7MSxcfVwpICIlXDErPSIlZycgJGNmZ2ZpbGUgPiAkY2ZnZmlsZS50bXAgXAogKyAgICAmJiBtdiAtZiAiJGNmZ2ZpbGUudG1wIiAiJGNmZ2ZpbGUiIFwKQEAgLTEyMDIyLDE3ICsxMjAxNywxNCBAQAogKyAgdGVzdCAwIC1lcSAkPyB8fCBfbHRfZnVuY3Rpb25fcmVwbGFjZV9mYWlsPToKICtmaQogIAotLV9MVF9FT0YKLS1lc2FjCistY2FzZSAkbHRfc2hlbGxfYXBwZW5kIGluCistICB5ZXMpCistICAgIGNhdCA8PCBcX0xUX0VPRiA+PiAiJGNmZ2ZpbGUiCiAraWYgdGVzdCB4IiRfbHRfZnVuY3Rpb25fcmVwbGFjZV9mYWlsIiA9IHgiOiI7IHRoZW4KICsgIEFDX01TR19XQVJOKFtVbmFibGUgdG8gc3Vic3RpdHV0ZSBleHRlbmRlZCBzaGVsbCBmdW5jdGlvbnMgaW4gJG9maWxlXSkKICtmaQogK10pCiAgCi0tY2FzZSAkbHRfc2hlbGxfYXBwZW5kIGluCi0tICB5ZXMpCi0tICAgIGNhdCA8PCBcX0xUX0VPRiA+PiAiJGNmZ2ZpbGUiCi0tCiAtIyBmdW5jX2FwcGVuZCB2YXIgdmFsdWUKIC0jIEFwcGVuZCBWQUxVRSB0byB0aGUgZW5kIG9mIHNoZWxsIHZhcmlhYmxlIFZBUi4KIC1mdW5jX2FwcGVuZCAoKQpAQCAtMTIxMTgsMTAgKzEyMTEwLDEwIEBACiArX0xUX0RFQ0woW3RvX3Rvb2xfZmlsZV9jbWRdLCBbbHRfY3ZfdG9fdG9vbF9maWxlX2NtZF0sCiArICAgICAgICAgWzBdLCBbY29udmVydCAkYnVpbGQgZmlsZXMgdG8gdG9vbGNoYWluIGZvcm1hdF0pZG5sCiArXSkjIF9MVF9QQVRIX0NPTlZFUlNJT05fRlVOQ1RJT05TCi1JbmRleDogZ2l0L2x0bWFpbi5zaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdpdC5vcmlnL2x0bWFpbi5zaAotKysrIGdpdC9sdG1haW4uc2gKK2RpZmYgLS1naXQgYS9sdG1haW4uc2ggYi9sdG1haW4uc2gKK2luZGV4IDk1MDNlYzg1ZDcuLjcwZTg1NmUwNjUgMTAwNjQ0CistLS0gYS9sdG1haW4uc2gKKysrKyBiL2x0bWFpbi5zaAogQEAgLTEsMTAgKzEsOSBAQAogLSMgR2VuZXJhdGVkIGZyb20gbHRtYWluLm00c2guCiAgCkBAIC0xMjU1MSw3ICsxMjU0MywzMSBAQAogKyRwcm9nbmFtZTogb2YgJFBBQ0tBR0UgJFZFUlNJT04gYW5kIHJ1biBhdXRvY29uZiBhZ2Fpbi4KICtfTFRfRU9GCiArICAgIGZpCi0rCisgCistICAjIFNob3J0aGFuZCBmb3IgLS1tb2RlPWZvbywgb25seSB2YWxpZCBhcyB0aGUgZmlyc3QgYXJndW1lbnQKKy0gIGNhc2UgJDEgaW4KKy0gIGNsZWFufGNsZWF8Y2xlfGNsKQorLSAgICBzaGlmdDsgc2V0IGR1bW15IC0tbW9kZSBjbGVhbiAkezErIiRAIn07IHNoaWZ0CistICAgIDs7CistICBjb21waWxlfGNvbXBpbHxjb21waXxjb21wfGNvbXxjb3xjKQorLSAgICBzaGlmdDsgc2V0IGR1bW15IC0tbW9kZSBjb21waWxlICR7MSsiJEAifTsgc2hpZnQKKy0gICAgOzsKKy0gIGV4ZWN1dGV8ZXhlY3V0fGV4ZWN1fGV4ZWN8ZXhlfGV4fGUpCistICAgIHNoaWZ0OyBzZXQgZHVtbXkgLS1tb2RlIGV4ZWN1dGUgJHsxKyIkQCJ9OyBzaGlmdAorLSAgICA7OworLSAgZmluaXNofGZpbmlzfGZpbml8ZmlufGZpfGYpCistICAgIHNoaWZ0OyBzZXQgZHVtbXkgLS1tb2RlIGZpbmlzaCAkezErIiRAIn07IHNoaWZ0CistICAgIDs7CistICBpbnN0YWxsfGluc3RhbHxpbnN0YXxpbnN0fGluc3xpbnxpKQorLSAgICBzaGlmdDsgc2V0IGR1bW15IC0tbW9kZSBpbnN0YWxsICR7MSsiJEAifTsgc2hpZnQKKy0gICAgOzsKKy0gIGxpbmt8bGlufGxpfGwpCistICAgIHNoaWZ0OyBzZXQgZHVtbXkgLS1tb2RlIGxpbmsgJHsxKyIkQCJ9OyBzaGlmdAorLSAgICA7OworLSAgdW5pbnN0YWxsfHVuaW5zdGFsfHVuaW5zdGF8dW5pbnN0fHVuaW5zfHVuaW58dW5pfHVufHUpCistICAgIHNoaWZ0OyBzZXQgZHVtbXkgLS1tb2RlIHVuaW5zdGFsbCAkezErIiRAIn07IHNoaWZ0CistICAgIDs7CistICBlc2FjCiArICAgIGV4aXQgJEVYSVRfTUlTTUFUQ0gKICsgIGZpCiArfQpAQCAtMTI1ODEsNyArMTI1OTcsOSBAQAogKyAgc2hpZnQ7IHNldCBkdW1teSAtLW1vZGUgdW5pbnN0YWxsICR7MSsiJEAifTsgc2hpZnQKICsgIDs7CiArZXNhYwotKworIAorLSAgIyBQYXJzZSBub24tbW9kZSBzcGVjaWZpYyBhcmd1bWVudHM6CistICB3aGlsZSB0ZXN0ICIkIyIgLWd0IDA7IGRvCiArCiArCiArIyBPcHRpb24gZGVmYXVsdHM6CkBAIC0xMjU5NywzNCArMTI2MTUsOCBAQAogK29wdF92ZXJib3NlPToKICtvcHRfc2lsZW50PWZhbHNlCiArb3B0X3ZlcmJvc2U9ZmFsc2UKLSAKLS0gICMgU2hvcnRoYW5kIGZvciAtLW1vZGU9Zm9vLCBvbmx5IHZhbGlkIGFzIHRoZSBmaXJzdCBhcmd1bWVudAotLSAgY2FzZSAkMSBpbgotLSAgY2xlYW58Y2xlYXxjbGV8Y2wpCi0tICAgIHNoaWZ0OyBzZXQgZHVtbXkgLS1tb2RlIGNsZWFuICR7MSsiJEAifTsgc2hpZnQKLS0gICAgOzsKLS0gIGNvbXBpbGV8Y29tcGlsfGNvbXBpfGNvbXB8Y29tfGNvfGMpCi0tICAgIHNoaWZ0OyBzZXQgZHVtbXkgLS1tb2RlIGNvbXBpbGUgJHsxKyIkQCJ9OyBzaGlmdAotLSAgICA7OwotLSAgZXhlY3V0ZXxleGVjdXR8ZXhlY3V8ZXhlY3xleGV8ZXh8ZSkKLS0gICAgc2hpZnQ7IHNldCBkdW1teSAtLW1vZGUgZXhlY3V0ZSAkezErIiRAIn07IHNoaWZ0Ci0tICAgIDs7Ci0tICBmaW5pc2h8ZmluaXN8ZmluaXxmaW58Zml8ZikKLS0gICAgc2hpZnQ7IHNldCBkdW1teSAtLW1vZGUgZmluaXNoICR7MSsiJEAifTsgc2hpZnQKLS0gICAgOzsKLS0gIGluc3RhbGx8aW5zdGFsfGluc3RhfGluc3R8aW5zfGlufGkpCi0tICAgIHNoaWZ0OyBzZXQgZHVtbXkgLS1tb2RlIGluc3RhbGwgJHsxKyIkQCJ9OyBzaGlmdAotLSAgICA7OwotLSAgbGlua3xsaW58bGl8bCkKLS0gICAgc2hpZnQ7IHNldCBkdW1teSAtLW1vZGUgbGluayAkezErIiRAIn07IHNoaWZ0Ci0tICAgIDs7Ci0tICB1bmluc3RhbGx8dW5pbnN0YWx8dW5pbnN0YXx1bmluc3R8dW5pbnN8dW5pbnx1bml8dW58dSkKLS0gICAgc2hpZnQ7IHNldCBkdW1teSAtLW1vZGUgdW5pbnN0YWxsICR7MSsiJEAifTsgc2hpZnQKLS0gICAgOzsKLS0gIGVzYWMKLSAKLS0gICMgUGFyc2Ugbm9uLW1vZGUgc3BlY2lmaWMgYXJndW1lbnRzOgotLSAgd2hpbGUgdGVzdCAiJCMiIC1ndCAwOyBkbworKworKwogKyMgUGFyc2Ugb3B0aW9ucyBvbmNlLCB0aG9yb3VnaGx5LiAgVGhpcyBjb21lcyBhcyBzb29uIGFzIHBvc3NpYmxlIGluIHRoZQogKyMgc2NyaXB0IHRvIG1ha2UgdGhpbmdzIGxpa2UgYC0tdmVyc2lvbicgaGFwcGVuIGFzIHF1aWNrbHkgYXMgd2UgY2FuLgogK3sKQEAgLTEyODY4LDEzICsxMjg2MCwxMyBAQAogLSAgZmkKIC19CiAtCi0tCi0tIyMgLS0tLS0tLS0tLS0gIyMKLS0jIyAgICBNYWluLiAgICAjIwotLSMjIC0tLS0tLS0tLS0tICMjCiArICAgICMgRGFyd2luIHN1Y2tzCiArICAgIGV2YWwgc3RkX3NocmV4dD1cIiRzaHJleHRfY21kc1wiCiAgCistIyMgLS0tLS0tLS0tLS0gIyMKKy0jIyAgICBNYWluLiAgICAjIworLSMjIC0tLS0tLS0tLS0tICMjCistCiAtJG9wdF9oZWxwIHx8IHsKIC0gICMgU2FuaXR5IGNoZWNrcyBmaXJzdDoKIC0gIGZ1bmNfY2hlY2tfdmVyc2lvbl9tYXRjaApAQCAtMTM1OTUsNyArMTM1ODcsNyBAQAogICAgICAgICIiKQogICAgICAgICAgIyBHZW5lcmljIGhlbHAgaXMgZXh0cmFjdGVkIGZyb20gdGhlIHVzYWdlIGNvbW1lbnRzCiAgICAgICAgICAjIGF0IHRoZSBzdGFydCBvZiB0aGlzIGZpbGUuCi1AQCAtMTY1OSw4ICsyMzI3LDggQEAgVGhpcyBtb2RlIGFjY2VwdHMgdGhlIGZvbGxvd2luZyBhZGRpdGlvbgorQEAgLTE2NTksOCArMjMyNyw4IEBAIFRoaXMgbW9kZSBhY2NlcHRzIHRoZSBmb2xsb3dpbmcgYWRkaXRpb25hbCBvcHRpb25zOgogIAogICAgLW8gT1VUUFVULUZJTEUgICAgc2V0IHRoZSBvdXRwdXQgZmlsZSBuYW1lIHRvIE9VVFBVVC1GSUxFCiAgICAtbm8tc3VwcHJlc3MgICAgICBkbyBub3Qgc3VwcHJlc3MgY29tcGlsZXIgb3V0cHV0IGZvciBtdWx0aXBsZSBwYXNzZXMKQEAgLTEzNjA2LDcgKzEzNTk4LDcgQEAKICAgIC1zaGFyZWQgICAgICAgICAgIGRvIG5vdCBidWlsZCBhIFxgLm8nIGZpbGUgc3VpdGFibGUgZm9yIHN0YXRpYyBsaW5raW5nCiAgICAtc3RhdGljICAgICAgICAgICBvbmx5IGJ1aWxkIGEgXGAubycgZmlsZSBzdWl0YWJsZSBmb3Igc3RhdGljIGxpbmtpbmcKICAgIC1XYyxGTEFHICAgICAgICAgIHBhc3MgRkxBRyBkaXJlY3RseSB0byB0aGUgY29tcGlsZXIKLUBAIC0xODA0LDcgKzI0NzIsNyBAQCBPdGhlcndpc2UsIG9ubHkgRklMRSBpdHNlbGYgaXMgZGVsZXRlZCB1CitAQCAtMTgwNCw3ICsyNDcyLDcgQEAgT3RoZXJ3aXNlLCBvbmx5IEZJTEUgaXRzZWxmIGlzIGRlbGV0ZWQgdXNpbmcgUk0uIgogICAgICAgICAgOzsKICAKICAgICAgICAqKQpAQCAtMTM3MDgsNyArMTM3MDAsNyBAQAogKyAgICBkbwogKyAgICAgIGlmIHRlc3QgLWQgIiRvcHQiOyB0aGVuCiArCWZ1bmNfYXBwZW5kIGxpYmRpcnMgIiAkb3B0IgotKworIAogKyAgICAgIGVsaWYgdGVzdCAtZiAiJG9wdCI7IHRoZW4KICsJaWYgZnVuY19sYWxpYl91bnNhZmVfcCAiJG9wdCI7IHRoZW4KICsJICBmdW5jX2FwcGVuZCBsaWJzICIgJG9wdCIKQEAgLTEzNzI4LDcgKzEzNzIwLDcgQEAKICsgICAgICBlbHNlCiArICAgICAgICBzeXNyb290X2NtZD0KICsgICAgICBmaQotIAorKwogKyAgICAgICMgUmVtb3ZlIHN5c3Jvb3QgcmVmZXJlbmNlcwogKyAgICAgIGlmICRvcHRfZHJ5X3J1bjsgdGhlbgogKyAgICAgICAgZm9yIGxpYiBpbiAkbGliczsgZG8KQEAgLTE0MTQwLDcgKzE0MTMyLDcgQEAKICBsdF8ke215X3ByZWZpeH1fTFRYX3ByZWxvYWRlZF9zeW1ib2xzW10gPQogIHtcCiAgICB7IFwiJG15X29yaWdpbmF0b3JcIiwgKHZvaWQgKikgMCB9LCIKLUBAIC0yNzM2LDcgKzM0OTMsNyBAQCBzdGF0aWMgY29uc3Qgdm9pZCAqbHRfcHJlbG9hZGVkX3NldHVwKCkKK0BAIC0yNzM2LDcgKzM0OTMsNyBAQCBzdGF0aWMgY29uc3Qgdm9pZCAqbHRfcHJlbG9hZGVkX3NldHVwKCkgewogIAlmb3IgYXJnIGluICRMVENGTEFHUzsgZG8KICAJICBjYXNlICRhcmcgaW4KICAJICAtcGllIHwgLWZwaWUgfCAtZlBJRSkgOzsKQEAgLTE0NjY5LDcgKzE0NjYxLDcgQEAKICAqLwogIEVPRgogIAkgICAgY2F0IDw8IkVPRiIKLUBAIC0zNDYyLDIyICs0MjcyLDEzIEBAIGludCBzZXRlbnYgKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLAorQEAgLTM0NjIsMjIgKzQyNzIsMTMgQEAgaW50IHNldGVudiAoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGludCk7CiAgICBpZiAoc3RhbGUpIHsgZnJlZSAoKHZvaWQgKikgc3RhbGUpOyBzdGFsZSA9IDA7IH0gXAogIH0gd2hpbGUgKDApCiAgCkBAIC0xNDY5Niw3ICsxNDY4OCw3IEBACiAgCiAgdm9pZCAqeG1hbGxvYyAoc2l6ZV90IG51bSk7CiAgY2hhciAqeHN0cmR1cCAoY29uc3QgY2hhciAqc3RyaW5nKTsKLUBAIC0zNDg3LDcgKzQyODgsMTAgQEAgY2hhciAqY2hhc2Vfc3ltbGlua3MgKGNvbnN0IGNoYXIgKnBhdGhzcAorQEAgLTM0ODcsNyArNDI4OCwxMCBAQCBjaGFyICpjaGFzZV9zeW1saW5rcyAoY29uc3QgY2hhciAqcGF0aHNwZWMpOwogIGludCBtYWtlX2V4ZWN1dGFibGUgKGNvbnN0IGNoYXIgKnBhdGgpOwogIGludCBjaGVja19leGVjdXRhYmxlIChjb25zdCBjaGFyICpwYXRoKTsKICBjaGFyICpzdHJlbmR6YXAgKGNoYXIgKnN0ciwgY29uc3QgY2hhciAqcGF0KTsKQEAgLTE1MDI0LDcgKzE1MDE2LDcgQEAKICAgIHZmcHJpbnRmIChzdGRlcnIsIG1lc3NhZ2UsIGFwKTsKICAgIGZwcmludGYgKHN0ZGVyciwgIi5cbiIpOwogIAotQEAgLTM5ODgsMjAgKzQ4MzIsMzIgQEAgbHRfZXJyb3JfY29yZSAoaW50IGV4aXRfc3RhdHVzLCBjb25zdCBjaAorQEAgLTM5ODgsMjAgKzQ4MzIsMzIgQEAgbHRfZXJyb3JfY29yZSAoaW50IGV4aXRfc3RhdHVzLCBjb25zdCBjaGFyICptb2RlLAogIH0KICAKICB2b2lkCkBAIC0xNTA2Miw3ICsxNTA1NCw3IEBACiAgICB7CiAgI2lmZGVmIEhBVkVfU0VURU5WCiAgICAgIC8qIGFsd2F5cyBtYWtlIGEgY29weSwgZm9yIGNvbnNpc3RlbmN5IHdpdGggIUhBVkVfU0VURU5WICovCi1AQCAtNDA0OSw5ICs0OTA1LDkgQEAgbHRfZXh0ZW5kX3N0ciAoY29uc3QgY2hhciAqb3JpZ192YWx1ZSwgYworQEAgLTQwNDksOSArNDkwNSw5IEBAIGx0X2V4dGVuZF9zdHIgKGNvbnN0IGNoYXIgKm9yaWdfdmFsdWUsIGNvbnN0IGNoYXIgKmFkZCwgaW50IHRvX2VuZCkKICB2b2lkCiAgbHRfdXBkYXRlX2V4ZV9wYXRoIChjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICp2YWx1ZSkKICB7CkBAIC0xNTA3NSw3ICsxNTA2Nyw3IEBACiAgCiAgICBpZiAobmFtZSAmJiAqbmFtZSAmJiB2YWx1ZSAmJiAqdmFsdWUpCiAgICAgIHsKLUBAIC00MDcwLDkgKzQ5MjYsOSBAQCBsdF91cGRhdGVfZXhlX3BhdGggKGNvbnN0IGNoYXIgKm5hbWUsIGNvCitAQCAtNDA3MCw5ICs0OTI2LDkgQEAgbHRfdXBkYXRlX2V4ZV9wYXRoIChjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICp2YWx1ZSkKICB2b2lkCiAgbHRfdXBkYXRlX2xpYl9wYXRoIChjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICp2YWx1ZSkKICB7CkBAIC0xNzM0OCwxMCArMTczNDAsMTAgQEAKICAKICBpZiB0ZXN0IC1uICIkZXhlY19jbWQiOyB0aGVuCiAgICBldmFsIGV4ZWMgIiRleGVjX2NtZCIKLUluZGV4OiBnaXQvbHRvcHRpb25zLm00Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvbHRvcHRpb25zLm00Ci0rKysgZ2l0L2x0b3B0aW9ucy5tNAorZGlmZiAtLWdpdCBhL2x0b3B0aW9ucy5tNCBiL2x0b3B0aW9ucy5tNAoraW5kZXggNWVmMTJjZWQyYS4uMTdjZmQ1MWMwYiAxMDA2NDQKKy0tLSBhL2x0b3B0aW9ucy5tNAorKysrIGIvbHRvcHRpb25zLm00CiBAQCAtOCw3ICs4LDcgQEAKICAjIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsIHdpdGggb3Igd2l0aG91dAogICMgbW9kaWZpY2F0aW9ucywgYXMgbG9uZyBhcyB0aGlzIG5vdGljZSBpcyBwcmVzZXJ2ZWQuCkBAIC0xNzM2MSwxMCArMTczNTMsMTAgQEAKICAKICAjIFRoaXMgaXMgdG8gaGVscCBhY2xvY2FsIGZpbmQgdGhlc2UgbWFjcm9zLCBhcyBpdCBjYW4ndCBzZWUgbTRfZGVmaW5lLgogIEFDX0RFRlVOKFtMVE9QVElPTlNfVkVSU0lPTl0sIFttNF9pZihbMV0pXSkKLUluZGV4OiBnaXQvbHR2ZXJzaW9uLm00Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvbHR2ZXJzaW9uLm00Ci0rKysgZ2l0L2x0dmVyc2lvbi5tNAorZGlmZiAtLWdpdCBhL2x0dmVyc2lvbi5tNCBiL2x0dmVyc2lvbi5tNAoraW5kZXggYmY4N2Y3NzEzMi4uOWM3YjVkNDExOCAxMDA2NDQKKy0tLSBhL2x0dmVyc2lvbi5tNAorKysrIGIvbHR2ZXJzaW9uLm00CiBAQCAtNywxNyArNywxNyBAQAogICMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwgd2l0aCBvciB3aXRob3V0CiAgIyBtb2RpZmljYXRpb25zLCBhcyBsb25nIGFzIHRoaXMgbm90aWNlIGlzIHByZXNlcnZlZC4KQEAgLTE3Mzg5LDEwICsxNzM4MSwxMCBAQAogIF9MVF9ERUNMKCwgbWFjcm9fdmVyc2lvbiwgMCwgW1doaWNoIHJlbGVhc2Ugb2YgbGlidG9vbC5tNCB3YXMgdXNlZD9dKQogIF9MVF9ERUNMKCwgbWFjcm9fcmV2aXNpb24sIDApCiAgXSkKLUluZGV4OiBnaXQvbHR+b2Jzb2xldGUubTQKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnaXQub3JpZy9sdH5vYnNvbGV0ZS5tNAotKysrIGdpdC9sdH5vYnNvbGV0ZS5tNAorZGlmZiAtLWdpdCBhL2x0fm9ic29sZXRlLm00IGIvbHR+b2Jzb2xldGUubTQKK2luZGV4IGJmOTJiNWUwNzkuLmM1NzNkYTkwYzUgMTAwNjQ0CistLS0gYS9sdH5vYnNvbGV0ZS5tNAorKysrIGIvbHR+b2Jzb2xldGUubTQKIEBAIC03LDcgKzcsNyBAQAogICMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwgd2l0aCBvciB3aXRob3V0CiAgIyBtb2RpZmljYXRpb25zLCBhcyBsb25nIGFzIHRoaXMgbm90aWNlIGlzIHByZXNlcnZlZC4KQEAgLTE3NDAyLDExICsxNzM5NCwxMSBAQAogIAogICMgVGhlc2UgZXhpc3QgZW50aXJlbHkgdG8gZm9vbCBhY2xvY2FsIHdoZW4gYm9vdHN0cmFwcGluZyBsaWJ0b29sLgogICMKLUluZGV4OiBnaXQvb3Bjb2Rlcy9jb25maWd1cmUKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnaXQub3JpZy9vcGNvZGVzL2NvbmZpZ3VyZQotKysrIGdpdC9vcGNvZGVzL2NvbmZpZ3VyZQotQEAgLTY4MSw2ICs2ODEsOSBAQCBPVE9PTAorZGlmZiAtLWdpdCBhL29wY29kZXMvY29uZmlndXJlIGIvb3Bjb2Rlcy9jb25maWd1cmUKK2luZGV4IDg1Mzg0OWVlNTguLjVmNzRlY2Y3ZGEgMTAwNzU1CistLS0gYS9vcGNvZGVzL2NvbmZpZ3VyZQorKysrIGIvb3Bjb2Rlcy9jb25maWd1cmUKK0BAIC02ODAsNiArNjgwLDkgQEAgT1RPT0wKICBMSVBPCiAgTk1FRElUCiAgRFNZTVVUSUwKQEAgLTE3NDE2LDcgKzE3NDA4LDcgQEAKICBPQkpEVU1QCiAgTE5fUwogIE5NCi1AQCAtNzk5LDYgKzgwMiw3IEBAIGVuYWJsZV9zdGF0aWMKK0BAIC03OTgsNiArODAxLDcgQEAgZW5hYmxlX3N0YXRpYwogIHdpdGhfcGljCiAgZW5hYmxlX2Zhc3RfaW5zdGFsbAogIHdpdGhfZ251X2xkCkBAIC0xNzQyNCw3ICsxNzQxNiw3IEBACiAgZW5hYmxlX2xpYnRvb2xfbG9jawogIGVuYWJsZV90YXJnZXRzCiAgZW5hYmxlX3dlcnJvcgotQEAgLTE0NjMsNiArMTQ2Nyw4IEBAIE9wdGlvbmFsIFBhY2thZ2VzOgorQEAgLTE0NjIsNiArMTQ2Niw4IEBAIE9wdGlvbmFsIFBhY2thZ2VzOgogICAgLS13aXRoLXBpYyAgICAgICAgICAgICAgdHJ5IHRvIHVzZSBvbmx5IFBJQy9ub24tUElDIG9iamVjdHMgW2RlZmF1bHQ9dXNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3RoXQogICAgLS13aXRoLWdudS1sZCAgICAgICAgICAgYXNzdW1lIHRoZSBDIGNvbXBpbGVyIHVzZXMgR05VIGxkIFtkZWZhdWx0PW5vXQpAQCAtMTc0MzMsNyArMTc0MjUsNyBAQAogIAogIFNvbWUgaW5mbHVlbnRpYWwgZW52aXJvbm1lbnQgdmFyaWFibGVzOgogICAgQ0MgICAgICAgICAgQyBjb21waWxlciBjb21tYW5kCi1AQCAtNTQwNCw4ICs1NDEwLDggQEAgZXNhYworQEAgLTU0MDMsOCArNTQwOSw4IEBAIGVzYWMKICAKICAKICAKQEAgLTE3NDQ0LDcgKzE3NDM2LDcgQEAKICAKICAKICAKLUBAIC01NDQ1LDcgKzU0NTEsNyBAQCBFQ0hPPSRFQ0hPJEVDSE8kRUNITyRFQ0hPJEVDSE8kRUNITworQEAgLTU0NDQsNyArNTQ1MCw3IEBAIEVDSE89JEVDSE8kRUNITyRFQ0hPJEVDSE8kRUNITyRFQ0hPCiAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBob3cgdG8gcHJpbnQgc3RyaW5ncyIgPiY1CiAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgaG93IHRvIHByaW50IHN0cmluZ3MuLi4gIiA+JjY7IH0KICAjIFRlc3QgcHJpbnQgZmlyc3QsIGJlY2F1c2UgaXQgd2lsbCBiZSBhIGJ1aWx0aW4gaWYgcHJlc2VudC4KQEAgLTE3NDUzLDcgKzE3NDQ1LDcgQEAKICAgICB0ZXN0ICJYYHByaW50IC1yIC0tICRFQ0hPIDI+L2Rldi9udWxsYCIgPSAiWCRFQ0hPIjsgdGhlbgogICAgRUNITz0ncHJpbnQgLXIgLS0nCiAgZWxpZiB0ZXN0ICJYYHByaW50ZiAlcyAkRUNITyAyPi9kZXYvbnVsbGAiID0gIlgkRUNITyI7IHRoZW4KLUBAIC02MTMxLDggKzYxMzcsOCBAQCAkYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyIHRoZSBzaGVsbCB1CitAQCAtNjEzMCw4ICs2MTM2LDggQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgc2hlbGwgdW5kZXJzdGFuZHMgc29tZSBYU0kgY29uc3RydWN0cy4uLiAiID4mNjsKICAjIFRyeSBzb21lIFhTSSBmZWF0dXJlcwogIHhzaV9zaGVsbD1ubwogICggX2x0X2R1bW15PSJhL2IvYyIKQEAgLTE3NDY0LDcgKzE3NDU2LDcgQEAKICAgICAgJiYgZXZhbCAndGVzdCAkKCggMSArIDEgKSkgLWVxIDIgXAogICAgICAmJiB0ZXN0ICIkeyNfbHRfZHVtbXl9IiAtZXEgNScgKSA+L2Rldi9udWxsIDI+JjEgXAogICAgJiYgeHNpX3NoZWxsPXllcwotQEAgLTYxODEsNiArNjE4Nyw4MCBAQCBlc2FjCitAQCAtNjE4MCw2ICs2MTg2LDgwIEBAIGVzYWMKICAKICAKICAKQEAgLTE3NTQ1LDcgKzE3NTM3LDcgQEAKICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkTEQgb3B0aW9uIHRvIHJlbG9hZCBvYmplY3QgZmlsZXMiID4mNQogICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkTEQgb3B0aW9uIHRvIHJlbG9hZCBvYmplY3QgZmlsZXMuLi4gIiA+JjY7IH0KICBpZiAke2x0X2N2X2xkX3JlbG9hZF9mbGFnKzp9IGZhbHNlOyB0aGVuIDoKLUBAIC02MTk3LDYgKzYyNzcsMTEgQEAgY2FzZSAkcmVsb2FkX2ZsYWcgaW4KK0BAIC02MTk2LDYgKzYyNzYsMTEgQEAgY2FzZSAkcmVsb2FkX2ZsYWcgaW4KICBlc2FjCiAgcmVsb2FkX2NtZHM9JyRMRCRyZWxvYWRfZmxhZyAtbyAkb3V0cHV0JHJlbG9hZF9vYmpzJwogIGNhc2UgJGhvc3Rfb3MgaW4KQEAgLTE3NTU3LDcgKzE3NTQ5LDcgQEAKICAgIGRhcndpbiopCiAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgICAgICAgcmVsb2FkX2NtZHM9JyRMVENDICRMVENGTEFHUyAtbm9zdGRsaWIgJHt3bH0tciAtbyAkb3V0cHV0JHJlbG9hZF9vYmpzJwotQEAgLTYzNjUsNyArNjQ1MCw4IEBAIG1pbmd3KiB8IHB3MzIqKQorQEAgLTYzNjQsNyArNjQ0OSw4IEBAIG1pbmd3KiB8IHB3MzIqKQogICAgICBsdF9jdl9kZXBsaWJzX2NoZWNrX21ldGhvZD0nZmlsZV9tYWdpYyBeeDg2IGFyY2hpdmUgaW1wb3J0fF54ODYgRExMJwogICAgICBsdF9jdl9maWxlX21hZ2ljX2NtZD0nZnVuY193aW4zMl9saWJpZCcKICAgIGVsc2UKQEAgLTE3NTY3LDcgKzE3NTU5LDcgQEAKICAgICAgbHRfY3ZfZmlsZV9tYWdpY19jbWQ9JyRPQkpEVU1QIC1mJwogICAgZmkKICAgIDs7Ci1AQCAtNjUxOSw2ICs2NjA1LDIxIEBAIGVzYWMKK0BAIC02NTE4LDYgKzY2MDQsMjEgQEAgZXNhYwogIGZpCiAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRsdF9jdl9kZXBsaWJzX2NoZWNrX21ldGhvZCIgPiY1CiAgJGFzX2VjaG8gIiRsdF9jdl9kZXBsaWJzX2NoZWNrX21ldGhvZCIgPiY2OyB9CkBAIC0xNzU4OSw3ICsxNzU4MSw3IEBACiAgZmlsZV9tYWdpY19jbWQ9JGx0X2N2X2ZpbGVfbWFnaWNfY21kCiAgZGVwbGlic19jaGVja19tZXRob2Q9JGx0X2N2X2RlcGxpYnNfY2hlY2tfbWV0aG9kCiAgdGVzdCAteiAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAmJiBkZXBsaWJzX2NoZWNrX21ldGhvZD11bmtub3duCi1AQCAtNjUzNCw5ICs2NjM1LDE2MiBAQCB0ZXN0IC16ICIkZGVwbGlic19jaGVja19tZXRob2QiICYmIGRlcGxpCitAQCAtNjUzMSwxMSArNjYzMiwxNjQgQEAgdGVzdCAteiAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAmJiBkZXBsaWJzX2NoZWNrX21ldGhvZD11bmtub3duCiAgCiAgCiAgCkBAIC0xNzYwMyw2ICsxNzU5NSw4IEBACiArCiArCiArCisgCisgCiAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgogLSAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fWFyIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KIC1zZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1hcjsgYWNfd29yZD0kMgpAQCAtMTc3NTQsNyArMTc3NDgsNyBAQAogIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKICAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KICBpZiAke2FjX2N2X3Byb2dfQVIrOn0gZmFsc2U7IHRoZW4gOgotQEAgLTY1NTIsNyArNjgwNiw3IEBAIGRvCitAQCAtNjU1MSw3ICs2ODA1LDcgQEAgZG8KICAgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCiAgICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbwogICAgaWYgYXNfZm5fZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgpAQCAtMTc3NjMsNyArMTc3NTcsNyBAQAogICAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKICAgICAgYnJlYWsgMgogICAgZmkKLUBAIC02NTcyLDExICs2ODI2LDE1IEBAICRhc19lY2hvICJubyIgPiY2OyB9CitAQCAtNjU3MSwxMSArNjgyNSwxNSBAQCAkYXNfZWNobyAibm8iID4mNjsgfQogIGZpCiAgCiAgCkBAIC0xNzc4Miw3ICsxNzc3Niw3IEBACiAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQogICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQogIGlmICR7YWNfY3ZfcHJvZ19hY19jdF9BUis6fSBmYWxzZTsgdGhlbiA6Ci1AQCAtNjU5Miw3ICs2ODUwLDcgQEAgZG8KK0BAIC02NTkxLDcgKzY4NDksNyBAQCBkbwogICAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KICAgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCiAgICBpZiBhc19mbl9leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCkBAIC0xNzc5MSw3ICsxNzc4NSw3IEBACiAgICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQogICAgICBicmVhayAyCiAgICBmaQotQEAgLTY2MTEsNiArNjg2OSwxMCBAQCBlbHNlCitAQCAtNjYxMCw2ICs2ODY4LDEwIEBAIGVsc2UKICAkYXNfZWNobyAibm8iID4mNjsgfQogIGZpCiAgCkBAIC0xNzgwMiw3ICsxNzc5Niw3IEBACiAgICBpZiB0ZXN0ICJ4JGFjX2N0X0FSIiA9IHg7IHRoZW4KICAgICAgQVI9ImZhbHNlIgogICAgZWxzZQotQEAgLTY2MjIsMTIgKzY4ODQsMTEgQEAgYWNfdG9vbF93YXJuZWQ9eWVzIDs7CitAQCAtNjYyMSwxNiArNjg4Myw3MiBAQCBhY190b29sX3dhcm5lZD15ZXMgOzsKICBlc2FjCiAgICAgIEFSPSRhY19jdF9BUgogICAgZmkKQEAgLTE3ODE1LDEzICsxNzgwOSwxNiBAQAogKzogJHtBUj1hcn0KICs6ICR7QVJfRkxBR1M9Y3J1fQogKwotIAotIAotIAotQEAgLTY2MzgsNiArNjg5OSw2MyBAQCB0ZXN0IC16ICIkQVJfRkxBR1MiICYmIEFSX0ZMQUdTPWNydQotIAotIAotIAorKworKworKworKworKworKworKworKworKworKwogK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIGFyY2hpdmVyIEBGSUxFIHN1cHBvcnQiID4mNQogKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBhcmNoaXZlciBARklMRSBzdXBwb3J0Li4uICIgPiY2OyB9CiAraWYgJHtsdF9jdl9hcl9hdF9maWxlKzp9IGZhbHNlOyB0aGVuIDoKQEAgLTE3ODM0LDcgKzE3ODMxLDcgQEAKICtpbnQKICttYWluICgpCiArewotKworIAogKyAgOwogKyAgcmV0dXJuIDA7CiArfQpAQCAtMTc4NjAsMjkgKzE3ODU3LDIzIEBACiArICAgICAgICBmaQogKyAgICAgIGZpCiArICAgICAgcm0gLWYgY29uZnRlc3QuKiBsaWJjb25mdGVzdC5hCi0rCisgCiArZmkKICtybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKLSsKKyAKICtmaQogK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkbHRfY3ZfYXJfYXRfZmlsZSIgPiY1CiArJGFzX2VjaG8gIiRsdF9jdl9hcl9hdF9maWxlIiA+JjY7IH0KLSsKKyAKICtpZiB0ZXN0ICJ4JGx0X2N2X2FyX2F0X2ZpbGUiID0geG5vOyB0aGVuCiArICBhcmNoaXZlcl9saXN0X3NwZWM9CiArZWxzZQogKyAgYXJjaGl2ZXJfbGlzdF9zcGVjPSRsdF9jdl9hcl9hdF9maWxlCiArZmkKLSsKLSsKLSsKLSsKLSsKLSsKICAKLSBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCi0gICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9c3RyaXAiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotQEAgLTY5NzMsOCArNzI5MSw4IEBAIGVzYWMKKyAKKyAKK0BAIC02OTcyLDggKzcyOTAsOCBAQCBlc2FjCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2w9InNlZCAtbiAtZSAncy9eVCAuKiBcKC4qXCkkL2V4dGVybiBpbnQgXDEoKTsvcCcgLWUgJ3MvXiRzeW1jb2RlKiAuKiBcKC4qXCkkL2V4dGVybiBjaGFyIFwxOy9wJyIKICAKICAjIFRyYW5zZm9ybSBhbiBleHRyYWN0ZWQgc3ltYm9sIGxpbmUgaW50byBzeW1ib2wgbmFtZSBhbmQgc3ltYm9sIGFkZHJlc3MKQEAgLTE3ODkzLDcgKzE3ODg0LDcgQEAKICAKICAjIEhhbmRsZSBDUkxGIGluIG1pbmd3IHRvb2wgY2hhaW4KICBvcHRfY3I9Ci1AQCAtNzAxMCw2ICs3MzI4LDcgQEAgZm9yIGFjX3N5bXByZnggaW4gIiIgIl8iOyBkbworQEAgLTcwMDksNiArNzMyNyw3IEBAIGZvciBhY19zeW1wcmZ4IGluICIiICJfIjsgZG8KICAgIGVsc2UKICAgICAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZT0ic2VkIC1uIC1lICdzL14uKlsJIF1cKCRzeW1jb2RlJHN5bWNvZGUqXClbCSBdWwkgXSokYWNfc3ltcHJmeCRzeW1wYXQkb3B0X2NyJC8kc3lteGZybS9wJyIKICAgIGZpCkBAIC0xNzkwMSw3ICsxNzg5Miw3IEBACiAgCiAgICAjIENoZWNrIHRvIHNlZSB0aGF0IHRoZSBwaXBlIHdvcmtzIGNvcnJlY3RseS4KICAgIHBpcGVfd29ya3M9bm8KLUBAIC03MDUxLDYgKzczNzAsMTggQEAgX0xUX0VPRgorQEAgLTcwNTAsNiArNzM2OSwxOCBAQCBfTFRfRU9GCiAgICAgICAgaWYgJEdSRVAgJyBubV90ZXN0X3ZhciQnICIkbmxpc3QiID4vZGV2L251bGw7IHRoZW4KICAJaWYgJEdSRVAgJyBubV90ZXN0X2Z1bmMkJyAiJG5saXN0IiA+L2Rldi9udWxsOyB0aGVuCiAgCSAgY2F0IDw8X0xUX0VPRiA+IGNvbmZ0ZXN0LiRhY19leHQKQEAgLTE3OTIwLDcgKzE3OTExLDcgQEAKICAjaWZkZWYgX19jcGx1c3BsdXMKICBleHRlcm4gIkMiIHsKICAjZW5kaWYKLUBAIC03MDYyLDcgKzczOTMsNyBAQCBfTFRfRU9GCitAQCAtNzA2MSw3ICs3MzkyLDcgQEAgX0xUX0VPRgogIAkgIGNhdCA8PF9MVF9FT0YgPj4gY29uZnRlc3QuJGFjX2V4dAogIAogIC8qIFRoZSBtYXBwaW5nIGJldHdlZW4gc3ltYm9sIG5hbWVzIGFuZCBzeW1ib2xzLiAgKi8KQEAgLTE3OTI5LDcgKzE3OTIwLDcgQEAKICAgIGNvbnN0IGNoYXIgKm5hbWU7CiAgICB2b2lkICAgICAgICphZGRyZXNzOwogIH0KLUBAIC03MDg4LDggKzc0MTksOCBAQCBzdGF0aWMgY29uc3Qgdm9pZCAqbHRfcHJlbG9hZGVkX3NldHVwKCkKK0BAIC03MDg3LDggKzc0MTgsOCBAQCBzdGF0aWMgY29uc3Qgdm9pZCAqbHRfcHJlbG9hZGVkX3NldHVwKCkgewogIF9MVF9FT0YKICAJICAjIE5vdyB0cnkgbGlua2luZyB0aGUgdHdvIGZpbGVzLgogIAkgIG12IGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRzdG0uJGFjX29iamV4dApAQCAtMTc5NDAsNyArMTc5MzEsNyBAQAogIAkgIExJQlM9ImNvbmZ0c3RtLiRhY19vYmpleHQiCiAgCSAgQ0ZMQUdTPSIkQ0ZMQUdTJGx0X3Byb2dfY29tcGlsZXJfbm9fYnVpbHRpbl9mbGFnIgogIAkgIGlmIHsgeyBldmFsIGVjaG8gIlwiXCRhc19tZVwiOiR7YXNfbGluZW5vLSRMSU5FTk99OiBcIiRhY19saW5rXCIiOyB9ID4mNQotQEAgLTcwOTksOCArNzQzMCw4IEBAIF9MVF9FT0YKK0BAIC03MDk4LDggKzc0MjksOCBAQCBfTFRfRU9GCiAgICB0ZXN0ICRhY19zdGF0dXMgPSAwOyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KICAJICAgIHBpcGVfd29ya3M9eWVzCiAgCSAgZmkKQEAgLTE3OTUxLDcgKzE3OTQyLDcgQEAKICAJZWxzZQogIAkgIGVjaG8gImNhbm5vdCBmaW5kIG5tX3Rlc3RfZnVuYyBpbiAkbmxpc3QiID4mNQogIAlmaQotQEAgLTcxMzcsNiArNzQ2OCwxNCBAQCBlbHNlCitAQCAtNzEzNiw2ICs3NDY3LDE2IEBAIGVsc2UKICAkYXNfZWNobyAib2siID4mNjsgfQogIGZpCiAgCkBAIC0xNzk2MywxMCArMTc5NTQsMTIgQEAKICtmaQogKwogKworKworKwogIAogIAogIAotQEAgLTcxNTgsNiArNzQ5Nyw0NyBAQCBmaQorQEAgLTcxNTIsNiArNzQ5Myw0NSBAQCBmaQogIAogIAogIApAQCAtMTc5NzQsNiArMTc5NjcsOSBAQAogKwogKwogKworKworKworKwogK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIHN5c3Jvb3QiID4mNQogKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBzeXNyb290Li4uICIgPiY2OyB9CiArCkBAIC0xODAwNiwxNSArMTgwMDIsMTAgQEAKICsKICsgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICR7bHRfc3lzcm9vdDotbm99IiA+JjUKICskYXNfZWNobyAiJHtsdF9zeXNyb290Oi1ub30iID4mNjsgfQotKwotKwotKwotKwotKwotICMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1saWJ0b29sLWxvY2sgd2FzIGdpdmVuLgotIGlmIHRlc3QgIiR7ZW5hYmxlX2xpYnRvb2xfbG9jaytzZXR9IiA9IHNldDsgdGhlbiA6Ci0gICBlbmFibGV2YWw9JGVuYWJsZV9saWJ0b29sX2xvY2s7Ci1AQCAtNzM2NCw2ICs3NzQ0LDEyMyBAQCBlc2FjCisgCisgCisgCitAQCAtNzM2Myw2ICs3NzQzLDEyMyBAQCBlc2FjCiAgCiAgbmVlZF9sb2Nrcz0iJGVuYWJsZV9saWJ0b29sX2xvY2siCiAgCkBAIC0xODEzOCw3ICsxODEyOSw3IEBACiAgCiAgICBjYXNlICRob3N0X29zIGluCiAgICAgIHJoYXBzb2R5KiB8IGRhcndpbiopCi1AQCAtNzkyNyw2ICs4NDI0LDggQEAgX0xUX0VPRgorQEAgLTc5MjYsNiArODQyMyw4IEBAIF9MVF9FT0YKICAgICAgICAkTFRDQyAkTFRDRkxBR1MgLWMgLW8gY29uZnRlc3QubyBjb25mdGVzdC5jIDI+JjUKICAgICAgICBlY2hvICIkQVIgY3J1IGxpYmNvbmZ0ZXN0LmEgY29uZnRlc3QubyIgPiY1CiAgICAgICAgJEFSIGNydSBsaWJjb25mdGVzdC5hIGNvbmZ0ZXN0Lm8gMj4mNQpAQCAtMTgxNDcsNyArMTgxMzgsNyBAQAogICAgICAgIGNhdCA+IGNvbmZ0ZXN0LmMgPDwgX0xUX0VPRgogIGludCBtYWluKCkgeyByZXR1cm4gMDt9CiAgX0xUX0VPRgotQEAgLTgwOTIsNyArODU5MSw4IEBAIGZpCitAQCAtODA5MSw3ICs4NTkwLDggQEAgZmkKICBMSUJUT09MX0RFUFM9IiRsdG1haW4iCiAgCiAgIyBBbHdheXMgdXNlIG91ciBvd24gbGlidG9vbC4KQEAgLTE4MTU3LDcgKzE4MTQ4LDcgQEAKICAKICAKICAKLUBAIC04MTgxLDcgKzg2ODEsNyBAQCBhaXgzKikKK0BAIC04MTgwLDcgKzg2ODAsNyBAQCBhaXgzKikKICBlc2FjCiAgCiAgIyBHbG9iYWwgdmFyaWFibGVzOgpAQCAtMTgxNjYsNyArMTgxNTcsNyBAQAogIGNhbl9idWlsZF9zaGFyZWQ9eWVzCiAgCiAgIyBBbGwga25vd24gbGlua2VycyByZXF1aXJlIGEgYC5hJyBhcmNoaXZlIGZvciBzdGF0aWMgbGlua2luZyAoZXhjZXB0IE1TVkMsCi1AQCAtODQ3OSw4ICs4OTc5LDYgQEAgZmkKK0BAIC04NDc4LDggKzg5NzgsNiBAQCBmaQogIGx0X3Byb2dfY29tcGlsZXJfcGljPQogIGx0X3Byb2dfY29tcGlsZXJfc3RhdGljPQogIApAQCAtMTgxNzUsNyArMTgxNjYsNyBAQAogIAogICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KICAgICAgbHRfcHJvZ19jb21waWxlcl93bD0nLVdsLCcKLUBAIC04NjQ2LDYgKzkxNDQsMTIgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpbworQEAgLTg2NDUsNiArOTE0MywxMiBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvbiB0byBwcm9kdWNlIFBJQy4uLiAiID4mNjsgfQogIAlsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLS1zaGFyZWQnCiAgCWx0X3Byb2dfY29tcGlsZXJfc3RhdGljPSctLXN0YXRpYycKICAJOzsKQEAgLTE4MTg4LDcgKzE4MTc5LDcgQEAKICAgICAgICBwZ2NjKiB8IHBnZjc3KiB8IHBnZjkwKiB8IHBnZjk1KiB8IHBnZm9ydHJhbiopCiAgICAgICAgICAjIFBvcnRsYW5kIEdyb3VwIGNvbXBpbGVycyAoKm5vdCogdGhlIFBlbnRpdW0gZ2NjIGNvbXBpbGVyLAogIAkjIHdoaWNoIGxvb2tzIHRvIGJlIGEgZGVhZCBwcm9qZWN0KQotQEAgLTg3MDgsNyArOTIxMiw3IEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW8KK0BAIC04NzA3LDcgKzkyMTEsNyBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvbiB0byBwcm9kdWNlIFBJQy4uLiAiID4mNjsgfQogICAgICAgIGx0X3Byb2dfY29tcGlsZXJfcGljPSctS1BJQycKICAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0nLUJzdGF0aWMnCiAgICAgICAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KQEAgLTE4MTk3LDcgKzE4MTg4LDcgQEAKICAJbHRfcHJvZ19jb21waWxlcl93bD0nLVFvcHRpb24gbGQgJzs7CiAgICAgICAgKikKICAJbHRfcHJvZ19jb21waWxlcl93bD0nLVdsLCc7OwotQEAgLTg3NjUsMTMgKzkyNjksMTcgQEAgY2FzZSAkaG9zdF9vcyBpbgorQEAgLTg3NjQsMTMgKzkyNjgsMTcgQEAgY2FzZSAkaG9zdF9vcyBpbgogICAgICBsdF9wcm9nX2NvbXBpbGVyX3BpYz0iJGx0X3Byb2dfY29tcGlsZXJfcGljIC1EUElDIgogICAgICA7OwogIGVzYWMKQEAgLTE4MjIxLDcgKzE4MjEyLDcgQEAKICAKICAjCiAgIyBDaGVjayB0byBtYWtlIHN1cmUgdGhlIFBJQyBmbGFnIGFjdHVhbGx5IHdvcmtzLgotQEAgLTg4MzIsNiArOTM0MCwxMSBAQCBmaQorQEAgLTg4MzEsNiArOTMzOSwxMSBAQCBmaQogIAogIAogIApAQCAtMTgyMzMsNyArMTgyMjQsNyBAQAogICMKICAjIENoZWNrIHRvIG1ha2Ugc3VyZSB0aGUgc3RhdGljIGZsYWcgYWN0dWFsbHkgd29ya3MuCiAgIwotQEAgLTkxODIsNyArOTY5NSw4IEBAIF9MVF9FT0YKK0BAIC05MTgxLDcgKzk2OTQsOCBAQCBfTFRfRU9GCiAgICAgICAgYWxsb3dfdW5kZWZpbmVkX2ZsYWc9dW5zdXBwb3J0ZWQKICAgICAgICBhbHdheXNfZXhwb3J0X3N5bWJvbHM9bm8KICAgICAgICBlbmFibGVfc2hhcmVkX3dpdGhfc3RhdGljX3J1bnRpbWVzPXllcwpAQCAtMTgyNDMsNyArMTgyMzQsNyBAQAogIAogICAgICAgIGlmICRMRCAtLWhlbHAgMj4mMSB8ICRHUkVQICdhdXRvLWltcG9ydCcgPiAvZGV2L251bGw7IHRoZW4KICAgICAgICAgIGFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1vICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgJHt3bH0tLWVuYWJsZS1hdXRvLWltYWdlLWJhc2UgLVhsaW5rZXIgLS1vdXQtaW1wbGliIC1YbGlua2VyICRsaWInCi1AQCAtOTI4MSwxMiArOTc5NSwxMiBAQCBfTFRfRU9GCitAQCAtOTI4MCwxMiArOTc5NCwxMiBAQCBfTFRfRU9GCiAgCSAgd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWM9Jy0td2hvbGUtYXJjaGl2ZSRjb252ZW5pZW5jZSAtLW5vLXdob2xlLWFyY2hpdmUnCiAgCSAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0KICAJICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjX2xkPSctcnBhdGggJGxpYmRpcicKQEAgLTE4MjU4LDcgKzE4MjQ5LDcgQEAKICAJICBmaQogIAkgIDs7CiAgCWVzYWMKLUBAIC05MzAwLDggKzk4MTQsOCBAQCBfTFRfRU9GCitAQCAtOTI5OSw4ICs5ODEzLDggQEAgX0xUX0VPRgogIAlhcmNoaXZlX2NtZHM9JyRMRCAtQnNoYXJlYWJsZSAkbGlib2JqcyAkZGVwbGlicyAkbGlua2VyX2ZsYWdzIC1vICRsaWInCiAgCXdsYXJjPQogICAgICAgIGVsc2UKQEAgLTE4MjY5LDcgKzE4MjYwLDcgQEAKICAgICAgICBmaQogICAgICAgIDs7CiAgCi1AQCAtOTMxOSw4ICs5ODMzLDggQEAgX0xUX0VPRgorQEAgLTkzMTgsOCArOTgzMiw4IEBAIF9MVF9FT0YKICAKICBfTFRfRU9GCiAgICAgICAgZWxpZiAkTEQgLS1oZWxwIDI+JjEgfCAkR1JFUCAnOiBzdXBwb3J0ZWQgdGFyZ2V0czouKiBlbGYnID4gL2Rldi9udWxsOyB0aGVuCkBAIC0xODI4MCw3ICsxODI3MSw3IEBACiAgICAgICAgZWxzZQogIAlsZF9zaGxpYnM9bm8KICAgICAgICBmaQotQEAgLTkzNjYsOCArOTg4MCw4IEBAIF9MVF9FT0YKK0BAIC05MzY1LDggKzk4NzksOCBAQCBfTFRfRU9GCiAgCiAgICAgICopCiAgICAgICAgaWYgJExEIC0taGVscCAyPiYxIHwgJEdSRVAgJzogc3VwcG9ydGVkIHRhcmdldHM6LiogZWxmJyA+IC9kZXYvbnVsbDsgdGhlbgpAQCAtMTgyOTEsNyArMTgyODIsNyBAQAogICAgICAgIGVsc2UKICAJbGRfc2hsaWJzPW5vCiAgICAgICAgZmkKLUBAIC05NDk3LDcgKzEwMDExLDEzIEBAIF9MVF9FT0YKK0BAIC05NDk2LDcgKzEwMDEwLDEzIEBAIF9MVF9FT0YKICAJYWxsb3dfdW5kZWZpbmVkX2ZsYWc9Jy1iZXJvaycKICAgICAgICAgICMgRGV0ZXJtaW5lIHRoZSBkZWZhdWx0IGxpYnBhdGggZnJvbSB0aGUgdmFsdWUgZW5jb2RlZCBpbiBhbgogICAgICAgICAgIyBlbXB0eSBleGVjdXRhYmxlLgpAQCAtMTgzMDYsNyArMTgyOTcsNyBAQAogIC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KICAKICBpbnQKLUBAIC05NTEwLDIyICsxMDAzMCwyOSBAQCBtYWluICgpCitAQCAtOTUwOSwyMiArMTAwMjksMjkgQEAgbWFpbiAoKQogIF9BQ0VPRgogIGlmIGFjX2ZuX2NfdHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoKICAKQEAgLTE4MzQ5LDcgKzE4MzQwLDcgQEAKICAKICAgICAgICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LWJsaWJwYXRoOiRsaWJkaXI6JyIkYWl4X2xpYnBhdGgiCiAgICAgICAgICBhcmNoaXZlX2V4cHN5bV9jbWRzPSckQ0MgLW8gJG91dHB1dF9vYmpkaXIvJHNvbmFtZSAkbGlib2JqcyAkZGVwbGlicyAnIlwke3dsfSRub19lbnRyeV9mbGFnIicgJGNvbXBpbGVyX2ZsYWdzIGBpZiB0ZXN0ICJ4JHthbGxvd191bmRlZmluZWRfZmxhZ30iICE9ICJ4IjsgdGhlbiBmdW5jX2VjaG9fYWxsICIke3dsfSR7YWxsb3dfdW5kZWZpbmVkX2ZsYWd9IjsgZWxzZSA6OyBmaWAgJyJcJHt3bH0kZXhwX3N5bV9mbGFnOlwkZXhwb3J0X3N5bWJvbHMgJHNoYXJlZF9mbGFnIgotQEAgLTk1MzcsNyArMTAwNjQsMTMgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTk1MzYsNyArMTAwNjMsMTMgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCWVsc2UKICAJICMgRGV0ZXJtaW5lIHRoZSBkZWZhdWx0IGxpYnBhdGggZnJvbSB0aGUgdmFsdWUgZW5jb2RlZCBpbiBhbgogIAkgIyBlbXB0eSBleGVjdXRhYmxlLgpAQCAtMTgzNjQsNyArMTgzNTUsNyBAQAogIC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KICAKICBpbnQKLUBAIC05NTUwLDIyICsxMDA4MywyOSBAQCBtYWluICgpCitAQCAtOTU0OSwyMiArMTAwODIsMjkgQEAgbWFpbiAoKQogIF9BQ0VPRgogIGlmIGFjX2ZuX2NfdHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoKICAKQEAgLTE4NDA3LDcgKzE4Mzk4LDcgQEAKICAKICAJIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LWJsaWJwYXRoOiRsaWJkaXI6JyIkYWl4X2xpYnBhdGgiCiAgCSAgIyBXYXJuaW5nIC0gd2l0aG91dCB1c2luZyB0aGUgb3RoZXIgcnVuIHRpbWUgbG9hZGluZyBmbGFncywKLUBAIC05NjEwLDIwICsxMDE1MCw2MyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtOTYwOSwyMCArMTAxNDksNjMgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgICAgICAgIyBNaWNyb3NvZnQgVmlzdWFsIEMrKy4KICAgICAgICAjIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMgaXMgYWN0dWFsbHkgbWVhbmluZ2xlc3MsIGFzIHRoZXJlIGlzCiAgICAgICAgIyBubyBzZWFyY2ggcGF0aCBmb3IgRExMcy4KQEAgLTE4NDg1LDcgKzE4NDc2LDcgQEAKICAgICAgICA7OwogIAogICAgICBkYXJ3aW4qIHwgcmhhcHNvZHkqKQotQEAgLTk2ODQsNyArMTAyNjcsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtOTY4Myw3ICsxMDI2Niw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAogICAgICAjIEZyZWVCU0QgMyBhbmQgZ3JlYXRlciB1c2VzIGdjYyAtc2hhcmVkIHRvIGRvIHNoYXJlZCBsaWJyYXJpZXMuCiAgICAgIGZyZWVic2QqIHwgZHJhZ29uZmx5KikKQEAgLTE4NDk0LDcgKzE4NDg1LDcgQEAKICAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctUiRsaWJkaXInCiAgICAgICAgaGFyZGNvZGVfZGlyZWN0PXllcwogICAgICAgIGhhcmRjb2RlX3NobGlicGF0aF92YXI9bm8KLUBAIC05NjkyLDcgKzEwMjc1LDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTk2OTEsNyArMTAyNzQsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAKICAgICAgaHB1eDkqKQogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCkBAIC0xODUwMyw3ICsxODQ5NCw3IEBACiAgICAgICAgZWxzZQogIAlhcmNoaXZlX2NtZHM9JyRSTSAkb3V0cHV0X29iamRpci8kc29uYW1lfiRMRCAtYiArYiAkaW5zdGFsbF9saWJkaXIgLW8gJG91dHB1dF9vYmpkaXIvJHNvbmFtZSAkbGlib2JqcyAkZGVwbGlicyAkbGlua2VyX2ZsYWdzfnRlc3QgJG91dHB1dF9vYmpkaXIvJHNvbmFtZSA9ICRsaWIgfHwgbXYgJG91dHB1dF9vYmpkaXIvJHNvbmFtZSAkbGliJwogICAgICAgIGZpCi1AQCAtOTcwOCw3ICsxMDI5MSw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05NzA3LDcgKzEwMjkwLDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCiAgICAgIGhwdXgxMCopCiAgICAgICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXMgJiYgdGVzdCAiJHdpdGhfZ251X2xkIiA9IG5vOyB0aGVuCkBAIC0xODUxMiw3ICsxODUwMyw3IEBACiAgICAgICAgZWxzZQogIAlhcmNoaXZlX2NtZHM9JyRMRCAtYiAraCAkc29uYW1lICtiICRpbnN0YWxsX2xpYmRpciAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRsaW5rZXJfZmxhZ3MnCiAgICAgICAgZmkKLUBAIC05NzMyLDEwICsxMDMxNSwxMCBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtOTczMSwxMCArMTAzMTQsMTAgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCSAgYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAke3dsfStoICR7d2x9JHNvbmFtZSAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncycKICAJICA7OwogIAlpYTY0KikKQEAgLTE4NTI1LDcgKzE4NTE2LDcgQEAKICAJICA7OwogIAllc2FjCiAgICAgICAgZWxzZQotQEAgLTk4MTQsMjMgKzEwMzk3LDM2IEBAIGZpCitAQCAtOTgxMywyMyArMTAzOTYsMzYgQEAgZmkKICAKICAgICAgaXJpeDUqIHwgaXJpeDYqIHwgbm9uc3RvcHV4KikKICAgICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgpAQCAtMTg1NzAsNyArMTg1NjEsNyBAQAogICAgICAgIGVsc2UKICAJYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgLXNvbmFtZSAkc29uYW1lIGB0ZXN0IC1uICIkdmVyc3RyaW5nIiAmJiBmdW5jX2VjaG9fYWxsICItc2V0X3ZlcnNpb24gJHZlcnN0cmluZyJgIC11cGRhdGVfcmVnaXN0cnkgJHtvdXRwdXRfb2JqZGlyfS9zb19sb2NhdGlvbnMgLW8gJGxpYicKICAJYXJjaGl2ZV9leHBzeW1fY21kcz0nJENDIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1zb25hbWUgJHNvbmFtZSBgdGVzdCAtbiAiJHZlcnN0cmluZyIgJiYgZnVuY19lY2hvX2FsbCAiLXNldF92ZXJzaW9uICR2ZXJzdHJpbmciYCAtdXBkYXRlX3JlZ2lzdHJ5ICR7b3V0cHV0X29iamRpcn0vc29fbG9jYXRpb25zIC1leHBvcnRzX2ZpbGUgJGV4cG9ydF9zeW1ib2xzIC1vICRsaWInCi1AQCAtOTkxNSw3ICsxMDUxMSw3IEBAIHJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmoKK0BAIC05OTE0LDcgKzEwNTEwLDcgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCiAgICAgIG9zZjQqIHwgb3NmNSopCSMgYXMgb3NmMyogd2l0aCB0aGUgYWRkaXRpb24gb2YgLW1zeW0gZmxhZwogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgCWFsbG93X3VuZGVmaW5lZF9mbGFnPScgJHt3bH0tZXhwZWN0X3VucmVzb2x2ZWQgJHt3bH1cKicKQEAgLTE4NTc5LDcgKzE4NTcwLDcgQEAKICAJaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nJHt3bH0tcnBhdGggJHt3bH0kbGliZGlyJwogICAgICAgIGVsc2UKICAJYWxsb3dfdW5kZWZpbmVkX2ZsYWc9JyAtZXhwZWN0X3VucmVzb2x2ZWQgXConCi1AQCAtOTkzNCw5ICsxMDUzMCw5IEBAIHJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmoKK0BAIC05OTMzLDkgKzEwNTI5LDkgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCiAgICAgICAgbm9fdW5kZWZpbmVkX2ZsYWc9JyAteiBkZWZzJwogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgCXdsYXJjPScke3dsfScKQEAgLTE4NTkxLDcgKzE4NTgyLDcgQEAKICAgICAgICBlbHNlCiAgCWNhc2UgYCRDQyAtViAyPiYxYCBpbgogIAkqIkNvbXBpbGVycyA1LjAiKikKLUBAIC0xMDUxMiw4ICsxMTEwOCw5IEBAIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKK0BAIC0xMDUxMSw4ICsxMTEwNyw5IEBAIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKICAgIG5lZWRfdmVyc2lvbj1ubwogICAgbmVlZF9saWJfcHJlZml4PW5vCiAgCkBAIC0xODYwMyw3ICsxODU5NCw3IEBACiAgICAgIGxpYnJhcnlfbmFtZXNfc3BlYz0nJGxpYm5hbWUuZGxsLmEnCiAgICAgICMgRExMIGlzIGluc3RhbGxlZCB0byAkKGxpYmRpcikvLi4vYmluIGJ5IHBvc3RpbnN0YWxsX2NtZHMKICAgICAgcG9zdGluc3RhbGxfY21kcz0nYmFzZV9maWxlPWBiYXNlbmFtZSBcJHtmaWxlfWB+Ci1AQCAtMTA1NDYsMTMgKzExMTQzLDcxIEBAIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKK0BAIC0xMDU0NSwxMyArMTExNDIsNzEgQEAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKQogICAgICAgIGxpYnJhcnlfbmFtZXNfc3BlYz0nYGVjaG8gJHtsaWJuYW1lfSB8IHNlZCAtZSAncy9ebGliL3B3LydgYGVjaG8gJHtyZWxlYXNlfSB8ICRTRUQgLWUgJ3MvWy5dLy0vZydgJHt2ZXJzdWZmaXh9JHtzaGFyZWRfZXh0fScKICAgICAgICA7OwogICAgICBlc2FjCkBAIC0xODY3Niw3ICsxODY2Nyw3IEBACiAgICAjIEZJWE1FOiBmaXJzdCB3ZSBzaG91bGQgc2VhcmNoIC4gYW5kIHRoZSBkaXJlY3RvcnkgdGhlIGV4ZWN1dGFibGUgaXMgaW4KICAgIHNobGlicGF0aF92YXI9UEFUSAogICAgOzsKLUBAIC0xMDY0NCw3ICsxMTI5OSw3IEBAIGhhaWt1KikKK0BAIC0xMDY0Myw3ICsxMTI5OCw3IEBAIGhhaWt1KikKICAgIHNvbmFtZV9zcGVjPScke2xpYm5hbWV9JHtyZWxlYXNlfSR7c2hhcmVkX2V4dH0kbWFqb3InCiAgICBzaGxpYnBhdGhfdmFyPUxJQlJBUllfUEFUSAogICAgc2hsaWJwYXRoX292ZXJyaWRlc19ydW5wYXRoPXllcwpAQCAtMTg2ODUsMTYgKzE4Njc2LDE2IEBACiAgICBoYXJkY29kZV9pbnRvX2xpYnM9eWVzCiAgICA7OwogIAotQEAgLTExNDQwLDcgKzEyMDk1LDcgQEAgZWxzZQorQEAgLTExNDM5LDcgKzEyMDk0LDcgQEAgZWxzZQogICAgbHRfZGx1bmtub3duPTA7IGx0X2Rsbm9fdXNjb3JlPTE7IGx0X2RsbmVlZF91c2NvcmU9MgogICAgbHRfc3RhdHVzPSRsdF9kbHVua25vd24KICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxfTFRfRU9GCi0tI2xpbmUgMTE0NDMgImNvbmZpZ3VyZSIKKy0jbGluZSAxMTQ0MiAiY29uZmlndXJlIgogKyNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKICAjaW5jbHVkZSAiY29uZmRlZnMuaCIKICAKICAjaWYgSEFWRV9ETEZDTl9ICi1AQCAtMTE0ODQsMTAgKzEyMTM5LDEwIEBAIGVsc2UKK0BAIC0xMTQ4MywxMCArMTIxMzgsMTAgQEAgZWxzZQogIC8qIFdoZW4gLWZ2aXNiaWxpdHk9aGlkZGVuIGlzIHVzZWQsIGFzc3VtZSB0aGUgY29kZSBoYXMgYmVlbiBhbm5vdGF0ZWQKICAgICBjb3JyZXNwb25kaW5nbHkgZm9yIHRoZSBzeW1ib2xzIG5lZWRlZC4gICovCiAgI2lmIGRlZmluZWQoX19HTlVDX18pICYmICgoKF9fR05VQ19fID09IDMpICYmIChfX0dOVUNfTUlOT1JfXyA+PSAzKSkgfHwgKF9fR05VQ19fID4gMykpCkBAIC0xODcwNywxNiArMTg2OTgsMTYgQEAKICBpbnQgbWFpbiAoKQogIHsKICAgIHZvaWQgKnNlbGYgPSBkbG9wZW4gKDAsIExUX0RMR0xPQkFMfExUX0RMTEFaWV9PUl9OT1cpOwotQEAgLTExNTQ2LDcgKzEyMjAxLDcgQEAgZWxzZQorQEAgLTExNTQ1LDcgKzEyMjAwLDcgQEAgZWxzZQogICAgbHRfZGx1bmtub3duPTA7IGx0X2Rsbm9fdXNjb3JlPTE7IGx0X2RsbmVlZF91c2NvcmU9MgogICAgbHRfc3RhdHVzPSRsdF9kbHVua25vd24KICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxfTFRfRU9GCi0tI2xpbmUgMTE1NDkgImNvbmZpZ3VyZSIKKy0jbGluZSAxMTU0OCAiY29uZmlndXJlIgogKyNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKICAjaW5jbHVkZSAiY29uZmRlZnMuaCIKICAKICAjaWYgSEFWRV9ETEZDTl9ICi1AQCAtMTE1OTAsMTAgKzEyMjQ1LDEwIEBAIGVsc2UKK0BAIC0xMTU4OSwxMCArMTIyNDQsMTAgQEAgZWxzZQogIC8qIFdoZW4gLWZ2aXNiaWxpdHk9aGlkZGVuIGlzIHVzZWQsIGFzc3VtZSB0aGUgY29kZSBoYXMgYmVlbiBhbm5vdGF0ZWQKICAgICBjb3JyZXNwb25kaW5nbHkgZm9yIHRoZSBzeW1ib2xzIG5lZWRlZC4gICovCiAgI2lmIGRlZmluZWQoX19HTlVDX18pICYmICgoKF9fR05VQ19fID09IDMpICYmIChfX0dOVUNfTUlOT1JfXyA+PSAzKSkgfHwgKF9fR05VQ19fID4gMykpCkBAIC0xODcyOSw3ICsxODcyMCw3IEBACiAgaW50IG1haW4gKCkKICB7CiAgICB2b2lkICpzZWxmID0gZGxvcGVuICgwLCBMVF9ETEdMT0JBTHxMVF9ETExBWllfT1JfTk9XKTsKLUBAIC0xMjgzMSw3ICsxMzQ4Niw3IEBAIGlmIHRlc3QgIiRlbmFibGVfc2hhcmVkIiA9ICJ5ZXMiOyB0aGVuCitAQCAtMTI3NzksNyArMTM0MzQsNyBAQCBpZiB0ZXN0ICIkZW5hYmxlX3NoYXJlZCIgPSAieWVzIjsgdGhlbgogICMgc2luY2UgbGliYmZkIG1heSBub3QgcHVsbCBpbiB0aGUgZW50aXJldHkgb2YgbGliaWJlcnR5LgogICAgeD1gc2VkIC1uIC1lICdzL15bIAldKlBJQ0ZMQUdbIAldKj1bIAldKi8vcCcgPCAuLi9saWJpYmVydHkvTWFrZWZpbGUgfCBzZWQgLW4gJyRwJ2AKICAgIGlmIHRlc3QgLW4gIiR4IjsgdGhlbgpAQCAtMTg3MzgsNyArMTg3MjksNyBAQAogICAgZmkKICAKICAgIGNhc2UgIiR7aG9zdH0iIGluCi1AQCAtMTM4MDcsMTMgKzE0NDYyLDIwIEBAIGV4ZWV4dD0nYCRFQ0hPICIkZXhlZXh0IiB8ICRTRUQgIiRkZWxheV8KK0BAIC0xMzc1NiwxMyArMTQ0MTEsMjAgQEAgZXhlZXh0PSdgJEVDSE8gIiRleGVleHQiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X3Vuc2V0PSdgJEVDSE8gIiRsdF91bnNldCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfU1AyTkw9J2AkRUNITyAiJGx0X1NQMk5MIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9OTDJTUD0nYCRFQ0hPICIkbHRfTkwyU1AiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtMTg3NTksNyArMTg3NTAsNyBAQAogIFNUUklQPSdgJEVDSE8gIiRTVFJJUCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgUkFOTElCPSdgJEVDSE8gIiRSQU5MSUIiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIG9sZF9wb3N0aW5zdGFsbF9jbWRzPSdgJEVDSE8gIiRvbGRfcG9zdGluc3RhbGxfY21kcyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCi1AQCAtMTM4MjgsMTQgKzE0NDkwLDE3IEBAIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGU9J2AkRUNITyAiJGwKK0BAIC0xMzc3NywxNCArMTQ0MzksMTcgQEAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZT0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZSIgfCAkU0VEICIkZGUKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jZGVjbD0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2wiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSdgJEVDSE8gIiRsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeD0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCkBAIC0xODc3OCw3ICsxODc2OSw3IEBACiAgRFNZTVVUSUw9J2AkRUNITyAiJERTWU1VVElMIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBOTUVESVQ9J2AkRUNITyAiJE5NRURJVCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgTElQTz0nYCRFQ0hPICIkTElQTyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCi1AQCAtMTM4NjgsMTIgKzE0NTMzLDEyIEBAIGhhcmRjb2RlX3NobGlicGF0aF92YXI9J2AkRUNITyAiJGhhcmRjb2QKK0BAIC0xMzgxNywxMiArMTQ0ODIsMTIgQEAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj0nYCRFQ0hPICIkaGFyZGNvZGVfc2hsaWJwYXRoX3ZhciIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3EKICBoYXJkY29kZV9hdXRvbWF0aWM9J2AkRUNITyAiJGhhcmRjb2RlX2F1dG9tYXRpYyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgaW5oZXJpdF9ycGF0aD0nYCRFQ0hPICIkaW5oZXJpdF9ycGF0aCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbGlua19hbGxfZGVwbGlicz0nYCRFQ0hPICIkbGlua19hbGxfZGVwbGlicyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCkBAIC0xODc5Miw3ICsxODc4Myw3IEBACiAgZmlsZV9saXN0X3NwZWM9J2AkRUNITyAiJGZpbGVfbGlzdF9zcGVjIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICB2YXJpYWJsZXNfc2F2ZWRfZm9yX3JlbGluaz0nYCRFQ0hPICIkdmFyaWFibGVzX3NhdmVkX2Zvcl9yZWxpbmsiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIG5lZWRfbGliX3ByZWZpeD0nYCRFQ0hPICIkbmVlZF9saWJfcHJlZml4IiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKLUBAIC0xMzkyOCw4ICsxNDU5MywxMyBAQCByZWxvYWRfZmxhZyBcCitAQCAtMTM4NzcsOCArMTQ1NDIsMTMgQEAgcmVsb2FkX2ZsYWcgXAogIE9CSkRVTVAgXAogIGRlcGxpYnNfY2hlY2tfbWV0aG9kIFwKICBmaWxlX21hZ2ljX2NtZCBcCkBAIC0xODgwNiw3ICsxODc5Nyw3IEBACiAgU1RSSVAgXAogIFJBTkxJQiBcCiAgQ0MgXAotQEAgLTEzOTM5LDEyICsxNDYwOSwxNCBAQCBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlIFwKK0BAIC0xMzg4OCwxMiArMTQ1NTgsMTQgQEAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZSBcCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2wgXAogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzIFwKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4IFwKQEAgLTE4ODIyLDcgKzE4ODEzLDcgQEAKICBEU1lNVVRJTCBcCiAgTk1FRElUIFwKICBMSVBPIFwKLUBAIC0xMzk2MCw3ICsxNDYzMiw2IEBAIG5vX3VuZGVmaW5lZF9mbGFnIFwKK0BAIC0xMzkwOSw3ICsxNDU4MSw2IEBAIG5vX3VuZGVmaW5lZF9mbGFnIFwKICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjIFwKICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjX2xkIFwKICBoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yIFwKQEAgLTE4ODMwLDcgKzE4ODIxLDcgQEAKICBleGNsdWRlX2V4cHN5bXMgXAogIGluY2x1ZGVfZXhwc3ltcyBcCiAgZmlsZV9saXN0X3NwZWMgXAotQEAgLTEzOTk2LDYgKzE0NjY3LDcgQEAgbW9kdWxlX2NtZHMgXAorQEAgLTEzOTQ1LDYgKzE0NjE2LDcgQEAgbW9kdWxlX2NtZHMgXAogIG1vZHVsZV9leHBzeW1fY21kcyBcCiAgZXhwb3J0X3N5bWJvbHNfY21kcyBcCiAgcHJlbGlua19jbWRzIFwKQEAgLTE4ODM4LDcgKzE4ODI5LDcgQEAKICBwb3N0aW5zdGFsbF9jbWRzIFwKICBwb3N0dW5pbnN0YWxsX2NtZHMgXAogIGZpbmlzaF9jbWRzIFwKLUBAIC0xNDc2MSw3ICsxNTQzMyw4IEBAICRhc19lY2hvIFgiJGZpbGUiIHwKK0BAIC0xNDcxMCw3ICsxNTM4Miw4IEBAICRhc19lY2hvIFgiJGZpbGUiIHwKICAjIE5PVEU6IENoYW5nZXMgbWFkZSB0byB0aGlzIGZpbGUgd2lsbCBiZSBsb3N0OiBsb29rIGF0IGx0bWFpbi5zaC4KICAjCiAgIyAgIENvcHlyaWdodCAoQykgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMywgMjAwNCwgMjAwNSwKQEAgLTE4ODQ4LDcgKzE4ODM5LDcgQEAKICAjICAgV3JpdHRlbiBieSBHb3Jkb24gTWF0emlna2VpdCwgMTk5NgogICMKICAjICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIExpYnRvb2wuCi1AQCAtMTQ4NjQsMTkgKzE1NTM3LDQyIEBAIFNQMk5MPSRsdF9sdF9TUDJOTAorQEAgLTE0ODEzLDE5ICsxNTQ4Niw0MiBAQCBTUDJOTD0kbHRfbHRfU1AyTkwKICAjIHR1cm4gbmV3bGluZXMgaW50byBzcGFjZXMuCiAgTkwyU1A9JGx0X2x0X05MMlNQCiAgCkBAIC0xODg5Miw3ICsxODg4Myw3IEBACiAgIyBBIHN5bWJvbCBzdHJpcHBpbmcgcHJvZ3JhbS4KICBTVFJJUD0kbHRfU1RSSVAKICAKLUBAIC0xNDkwNiw2ICsxNTYwMiwxMiBAQCBnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSRsdF9sdF9jCitAQCAtMTQ4NTUsNiArMTU1NTEsMTIgQEAgZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0kbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MKICAjIFRyYW5zZm9ybSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgQyBuYW1lIGFkZHJlc3MgcGFpciB3aGVuIGxpYiBwcmVmaXggaXMgbmVlZGVkLgogIGdsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeD0kbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeAogIApAQCAtMTg5MDUsNyArMTg4OTYsNyBAQAogICMgVGhlIG5hbWUgb2YgdGhlIGRpcmVjdG9yeSB0aGF0IGNvbnRhaW5zIHRlbXBvcmFyeSBsaWJ0b29sIGZpbGVzLgogIG9iamRpcj0kb2JqZGlyCiAgCi1AQCAtMTQ5MTUsNiArMTU2MTcsOSBAQCBNQUdJQ19DTUQ9JE1BR0lDX0NNRAorQEAgLTE0ODY0LDYgKzE1NTY2LDkgQEAgTUFHSUNfQ01EPSRNQUdJQ19DTUQKICAjIE11c3Qgd2UgbG9jayBmaWxlcyB3aGVuIGRvaW5nIGNvbXBpbGF0aW9uPwogIG5lZWRfbG9ja3M9JGx0X25lZWRfbG9ja3MKICAKQEAgLTE4OTE1LDcgKzE4OTA2LDcgQEAKICAjIFRvb2wgdG8gbWFuaXB1bGF0ZSBhcmNoaXZlZCBEV0FSRiBkZWJ1ZyBzeW1ib2wgZmlsZXMgb24gTWFjIE9TIFguCiAgRFNZTVVUSUw9JGx0X0RTWU1VVElMCiAgCi1AQCAtMTUwMjksMTIgKzE1NzM0LDEyIEBAIHdpdGhfZ2NjPSRHQ0MKK0BAIC0xNDk3OCwxMiArMTU2ODMsMTIgQEAgd2l0aF9nY2M9JEdDQwogICMgQ29tcGlsZXIgZmxhZyB0byB0dXJuIG9mZiBidWlsdGluIGZ1bmN0aW9ucy4KICBub19idWlsdGluX2ZsYWc9JGx0X2x0X3Byb2dfY29tcGlsZXJfbm9fYnVpbHRpbl9mbGFnCiAgCkBAIC0xODkzMSw3ICsxODkyMiw3IEBACiAgIyBDb21waWxlciBmbGFnIHRvIHByZXZlbnQgZHluYW1pYyBsaW5raW5nLgogIGxpbmtfc3RhdGljX2ZsYWc9JGx0X2x0X3Byb2dfY29tcGlsZXJfc3RhdGljCiAgCi1AQCAtMTUxMjEsOSArMTU4MjYsNiBAQCBpbmhlcml0X3JwYXRoPSRpbmhlcml0X3JwYXRoCitAQCAtMTUwNzAsOSArMTU3NzUsNiBAQCBpbmhlcml0X3JwYXRoPSRpbmhlcml0X3JwYXRoCiAgIyBXaGV0aGVyIGxpYnRvb2wgbXVzdCBsaW5rIGEgcHJvZ3JhbSBhZ2FpbnN0IGFsbCBpdHMgZGVwZW5kZW5jeSBsaWJyYXJpZXMuCiAgbGlua19hbGxfZGVwbGlicz0kbGlua19hbGxfZGVwbGlicwogIApAQCAtMTg5NDEsNyArMTg5MzIsNyBAQAogICMgU2V0IHRvICJ5ZXMiIGlmIGV4cG9ydGVkIHN5bWJvbHMgYXJlIHJlcXVpcmVkLgogIGFsd2F5c19leHBvcnRfc3ltYm9scz0kYWx3YXlzX2V4cG9ydF9zeW1ib2xzCiAgCi1AQCAtMTUxMzksNiArMTU4NDEsOSBAQCBpbmNsdWRlX2V4cHN5bXM9JGx0X2luY2x1ZGVfZXhwc3ltcworQEAgLTE1MDg4LDYgKzE1NzkwLDkgQEAgaW5jbHVkZV9leHBzeW1zPSRsdF9pbmNsdWRlX2V4cHN5bXMKICAjIENvbW1hbmRzIG5lY2Vzc2FyeSBmb3IgbGlua2luZyBwcm9ncmFtcyAoYWdhaW5zdCBsaWJyYXJpZXMpIHdpdGggdGVtcGxhdGVzLgogIHByZWxpbmtfY21kcz0kbHRfcHJlbGlua19jbWRzCiAgCkBAIC0xODk1MSw3ICsxODk0Miw3IEBACiAgIyBTcGVjaWZ5IGZpbGVuYW1lIGNvbnRhaW5pbmcgaW5wdXQgZmlsZXMuCiAgZmlsZV9saXN0X3NwZWM9JGx0X2ZpbGVfbGlzdF9zcGVjCiAgCi1AQCAtMTUxNzEsMjEwICsxNTg3NiwxNjkgQEAgbHRtYWluPSIkYWNfYXV4X2Rpci9sdG1haW4uc2giCitAQCAtMTUxMjAsMjEwICsxNTgyNSwxNjkgQEAgbHRtYWluPSIkYWNfYXV4X2Rpci9sdG1haW4uc2giCiAgICAjIGlmIGZpbmRzIG1peGVkIENSL0xGIGFuZCBMRi1vbmx5IGxpbmVzLiAgU2luY2Ugc2VkIG9wZXJhdGVzIGluCiAgICAjIHRleHQgbW9kZSwgaXQgcHJvcGVybHkgY29udmVydHMgbGluZXMgdG8gQ1IvTEYuICBUaGlzIGJhc2ggcHJvYmxlbQogICAgIyBpcyByZXBvcnRlZGx5IGZpeGVkLCBidXQgd2h5IG5vdCBydW4gb24gb2xkIHZlcnNpb25zIHRvbz8KQEAgLTE5MTUzLDkgKzE5MTQ0LDE1IEBACiAtX0xUX0VPRgogLSAgICA7OwogLSAgZXNhYworLQorLQorLSAgc2VkIC1uICcvXiMgR2VuZXJhdGVkIHNoZWxsIGZ1bmN0aW9ucyBpbnNlcnRlZCBoZXJlLywkcCcgIiRsdG1haW4iID4+ICIkY2ZnZmlsZSIgXAorLSAgICB8fCAocm0gLWYgIiRjZmdmaWxlIjsgZXhpdCAxKQorLQorLSAgbXYgLWYgIiRjZmdmaWxlIiAiJG9maWxlIiB8fAogKyAgc2VkICckcScgIiRsdG1haW4iID4+ICIkY2ZnZmlsZSIgXAogKyAgICAgfHwgKHJtIC1mICIkY2ZnZmlsZSI7IGV4aXQgMSkKLSAKKysKICsgIGlmIHRlc3QgeCIkeHNpX3NoZWxsIiA9IHh5ZXM7IHRoZW4KICsgIHNlZCAtZSAnL15mdW5jX2Rpcm5hbWUgKCkkLywvXn0gIyBmdW5jX2Rpcm5hbWUgL2NcCiArZnVuY19kaXJuYW1lICgpXApAQCAtMTkzMTMsMjAgKzE5MzEwLDE3IEBACiArICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IFVuYWJsZSB0byBzdWJzdGl0dXRlIGV4dGVuZGVkIHNoZWxsIGZ1bmN0aW9ucyBpbiAkb2ZpbGUiID4mNQogKyRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IFVuYWJsZSB0byBzdWJzdGl0dXRlIGV4dGVuZGVkIHNoZWxsIGZ1bmN0aW9ucyBpbiAkb2ZpbGUiID4mMjt9CiArZmkKLSAKLS0gIHNlZCAtbiAnL14jIEdlbmVyYXRlZCBzaGVsbCBmdW5jdGlvbnMgaW5zZXJ0ZWQgaGVyZS8sJHAnICIkbHRtYWluIiA+PiAiJGNmZ2ZpbGUiIFwKLS0gICAgfHwgKHJtIC1mICIkY2ZnZmlsZSI7IGV4aXQgMSkKLSAKLS0gIG12IC1mICIkY2ZnZmlsZSIgIiRvZmlsZSIgfHwKKysKKysKICsgICBtdiAtZiAiJGNmZ2ZpbGUiICIkb2ZpbGUiIHx8CiAgICAgIChybSAtZiAiJG9maWxlIiAmJiBjcCAiJGNmZ2ZpbGUiICIkb2ZpbGUiICYmIHJtIC1mICIkY2ZnZmlsZSIpCiAgICBjaG1vZCAreCAiJG9maWxlIgogIAotSW5kZXg6IGdpdC9vcGNvZGVzL2NvbmZpZ3VyZS5hYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdpdC5vcmlnL29wY29kZXMvY29uZmlndXJlLmFjCi0rKysgZ2l0L29wY29kZXMvY29uZmlndXJlLmFjCi1AQCAtMTY2LDcgKzE2Niw3IEBAIGNoYW5nZXF1b3RlKCwpZG5sCitkaWZmIC0tZ2l0IGEvb3Bjb2Rlcy9jb25maWd1cmUuYWMgYi9vcGNvZGVzL2NvbmZpZ3VyZS5hYworaW5kZXggNGViMTkwMDVlOC4uMTlhNTc2MDhiOSAxMDA2NDQKKy0tLSBhL29wY29kZXMvY29uZmlndXJlLmFjCisrKysgYi9vcGNvZGVzL2NvbmZpZ3VyZS5hYworQEAgLTE3MCw3ICsxNzAsNyBAQCBjaGFuZ2VxdW90ZSgsKWRubAogICAgeD1gc2VkIC1uIC1lICdzL15bIAldKlBJQ0ZMQUdbIAldKj1bIAldKi8vcCcgPCAuLi9saWJpYmVydHkvTWFrZWZpbGUgfCBzZWQgLW4gJyRwJ2AKICBjaGFuZ2VxdW90ZShbLF0pZG5sCiAgICBpZiB0ZXN0IC1uICIkeCI7IHRoZW4KQEAgLTE5MzM1LDEwICsxOTMyOSwxMCBAQAogICAgZmkKICAKICAgIGNhc2UgIiR7aG9zdH0iIGluCi1JbmRleDogZ2l0L3psaWIvY29uZmlndXJlCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvemxpYi9jb25maWd1cmUKLSsrKyBnaXQvemxpYi9jb25maWd1cmUKK2RpZmYgLS1naXQgYS96bGliL2NvbmZpZ3VyZSBiL3psaWIvY29uZmlndXJlCitpbmRleCAwNDFjYmRiZjcxLi4xOWQ2MDVmYzg1IDEwMDc1NQorLS0tIGEvemxpYi9jb25maWd1cmUKKysrKyBiL3psaWIvY29uZmlndXJlCiBAQCAtNjQ2LDggKzY0NiwxMSBAQCBPVE9PTAogIExJUE8KICBOTUVESVQKQEAgLTE5Mzg4LDcgKzE5MzgyLDcgQEAKICAgICB0ZXN0ICJYYHByaW50IC1yIC0tICRFQ0hPIDI+L2Rldi9udWxsYCIgPSAiWCRFQ0hPIjsgdGhlbgogICAgRUNITz0ncHJpbnQgLXIgLS0nCiAgZWxpZiB0ZXN0ICJYYHByaW50ZiAlcyAkRUNITyAyPi9kZXYvbnVsbGAiID0gIlgkRUNITyI7IHRoZW4KLUBAIC01MDA0LDggKzUwMTAsOCBAQCAkYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyIHRoZSBzaGVsbCB1CitAQCAtNTAwNCw4ICs1MDEwLDggQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgc2hlbGwgdW5kZXJzdGFuZHMgc29tZSBYU0kgY29uc3RydWN0cy4uLiAiID4mNjsKICAjIFRyeSBzb21lIFhTSSBmZWF0dXJlcwogIHhzaV9zaGVsbD1ubwogICggX2x0X2R1bW15PSJhL2IvYyIKQEAgLTE5NTI0LDcgKzE5NTE4LDcgQEAKICBmaWxlX21hZ2ljX2NtZD0kbHRfY3ZfZmlsZV9tYWdpY19jbWQKICBkZXBsaWJzX2NoZWNrX21ldGhvZD0kbHRfY3ZfZGVwbGlic19jaGVja19tZXRob2QKICB0ZXN0IC16ICIkZGVwbGlic19jaGVja19tZXRob2QiICYmIGRlcGxpYnNfY2hlY2tfbWV0aG9kPXVua25vd24KLUBAIC01NDA3LDkgKzU1MDgsMTYzIEBAIHRlc3QgLXogIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIgJiYgZGVwbGkKK0BAIC01NDA1LDExICs1NTA2LDE2NSBAQCB0ZXN0IC16ICIkZGVwbGlic19jaGVja19tZXRob2QiICYmIGRlcGxpYnNfY2hlY2tfbWV0aG9kPXVua25vd24KICAKICAKICAKQEAgLTE5NTM4LDYgKzE5NTMyLDggQEAKICsKICsKICsKKyAKKyAKICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCiAtICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9YXIiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgogLXNldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fWFyOyBhY193b3JkPSQyCkBAIC0xOTczOCw3ICsxOTczNCw3IEBACiAgICBpZiB0ZXN0ICJ4JGFjX2N0X0FSIiA9IHg7IHRoZW4KICAgICAgQVI9ImZhbHNlIgogICAgZWxzZQotQEAgLTU0OTUsMTIgKzU3NTgsMTAgQEAgYWNfdG9vbF93YXJuZWQ9eWVzIDs7CitAQCAtNTQ5NSwxNiArNTc1OCw3MiBAQCBhY190b29sX3dhcm5lZD15ZXMgOzsKICBlc2FjCiAgICAgIEFSPSRhY19jdF9BUgogICAgZmkKQEAgLTE5NzUwLDEzICsxOTc0NiwxNyBAQAogLXRlc3QgLXogIiRBUl9GTEFHUyIgJiYgQVJfRkxBR1M9Y3J1CiArOiAke0FSPWFyfQogKzogJHtBUl9GTEFHUz1jcnV9Ci0gCi0gCi0gCi1AQCAtNTUxMiw2ICs1NzczLDY0IEBAIHRlc3QgLXogIiRBUl9GTEFHUyIgJiYgQVJfRkxBR1M9Y3J1Ci0gCi0gCi0gCisrCisrCisrCisrCisrCisrCisrCisrCisrCisrCisrCiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgYXJjaGl2ZXIgQEZJTEUgc3VwcG9ydCIgPiY1CiArJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGFyY2hpdmVyIEBGSUxFIHN1cHBvcnQuLi4gIiA+JjY7IH0KICtpZiAke2x0X2N2X2FyX2F0X2ZpbGUrOn0gZmFsc2U7IHRoZW4gOgpAQCAtMTk3NjksNyArMTk3NjksNyBAQAogK2ludAogK21haW4gKCkKICt7Ci0rCisgCiArICA7CiArICByZXR1cm4gMDsKICt9CkBAIC0xOTc5NSwyOSArMTk3OTUsMjIgQEAKICsgICAgICAgIGZpCiArICAgICAgZmkKICsgICAgICBybSAtZiBjb25mdGVzdC4qIGxpYmNvbmZ0ZXN0LmEKLSsKKyAKICtmaQogK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAotKworIAogK2ZpCiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRsdF9jdl9hcl9hdF9maWxlIiA+JjUKICskYXNfZWNobyAiJGx0X2N2X2FyX2F0X2ZpbGUiID4mNjsgfQotKworIAogK2lmIHRlc3QgIngkbHRfY3ZfYXJfYXRfZmlsZSIgPSB4bm87IHRoZW4KICsgIGFyY2hpdmVyX2xpc3Rfc3BlYz0KICtlbHNlCiArICBhcmNoaXZlcl9saXN0X3NwZWM9JGx0X2N2X2FyX2F0X2ZpbGUKICtmaQotKwotKwotKwotKwotKwotKwotKwotIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KLSAgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1zdHJpcCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCi0gc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9c3RyaXA7IGFjX3dvcmQ9JDIKKyAKKyAKKyAKIEBAIC01ODQ2LDggKzYxNjUsOCBAQCBlc2FjCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2w9InNlZCAtbiAtZSAncy9eVCAuKiBcKC4qXCkkL2V4dGVybiBpbnQgXDEoKTsvcCcgLWUgJ3MvXiRzeW1jb2RlKiAuKiBcKC4qXCkkL2V4dGVybiBjaGFyIFwxOy9wJyIKICAKQEAgLTE5ODY1LDcgKzE5ODU4LDcgQEAKICAgIGNvbnN0IGNoYXIgKm5hbWU7CiAgICB2b2lkICAgICAgICphZGRyZXNzOwogIH0KLUBAIC01OTYxLDggKzYyOTMsOCBAQCBzdGF0aWMgY29uc3Qgdm9pZCAqbHRfcHJlbG9hZGVkX3NldHVwKCkKK0BAIC01OTYxLDggKzYyOTMsOCBAQCBzdGF0aWMgY29uc3Qgdm9pZCAqbHRfcHJlbG9hZGVkX3NldHVwKCkgewogIF9MVF9FT0YKICAJICAjIE5vdyB0cnkgbGlua2luZyB0aGUgdHdvIGZpbGVzLgogIAkgIG12IGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRzdG0uJGFjX29iamV4dApAQCAtMTk4ODcsNyArMTk4ODAsNyBAQAogIAllbHNlCiAgCSAgZWNobyAiY2Fubm90IGZpbmQgbm1fdGVzdF9mdW5jIGluICRubGlzdCIgPiY1CiAgCWZpCi1AQCAtNjAxMCw2ICs2MzQyLDE4IEBAIGVsc2UKK0BAIC02MDEwLDYgKzYzNDIsMTkgQEAgZWxzZQogICRhc19lY2hvICJvayIgPiY2OyB9CiAgZmkKICAKQEAgLTE5OTAzLDEzICsxOTg5NiwxNyBAQAogKwogKwogKworKwogIAogIAogIAotQEAgLTYwMzEsNiArNjM3NSw0MiBAQCBmaQorQEAgLTYwMjcsNiArNjM3Miw0MSBAQCBmaQogIAogIAogIAorKworKworKwogK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIHN5c3Jvb3QiID4mNQogKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBzeXNyb290Li4uICIgPiY2OyB9CiArCkBAIC0xOTk0MiwxMyArMTk5MzksOSBAQAogKwogKyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJHtsdF9zeXNyb290Oi1ub30iID4mNQogKyRhc19lY2hvICIke2x0X3N5c3Jvb3Q6LW5vfSIgPiY2OyB9Ci0rCi0rCi0rCi0rCiAgCi0gIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWxpYnRvb2wtbG9jayB3YXMgZ2l2ZW4uCi0gaWYgdGVzdCAiJHtlbmFibGVfbGlidG9vbF9sb2NrK3NldH0iID0gc2V0OyB0aGVuIDoKKyAKKyAKIEBAIC02MjQxLDYgKzY2MjEsMTIzIEBAIGVzYWMKICAKICBuZWVkX2xvY2tzPSIkZW5hYmxlX2xpYnRvb2xfbG9jayIKQEAgLTIwMTEwLDcgKzIwMTAzLDcgQEAKICAKICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgICAgIGx0X3Byb2dfY29tcGlsZXJfd2w9Jy1XbCwnCi1AQCAtNzgyMyw2ICs4MzIxLDEyIEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW8KK0BAIC03ODIzLDYgKzgzMjEsMTIgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpb24gdG8gcHJvZHVjZSBQSUMuLi4gIiA+JjY7IH0KICAJbHRfcHJvZ19jb21waWxlcl9waWM9Jy0tc2hhcmVkJwogIAlsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0nLS1zdGF0aWMnCiAgCTs7CkBAIC0yMDEyMyw3ICsyMDExNiw3IEBACiAgICAgICAgcGdjYyogfCBwZ2Y3NyogfCBwZ2Y5MCogfCBwZ2Y5NSogfCBwZ2ZvcnRyYW4qKQogICAgICAgICAgIyBQb3J0bGFuZCBHcm91cCBjb21waWxlcnMgKCpub3QqIHRoZSBQZW50aXVtIGdjYyBjb21waWxlciwKICAJIyB3aGljaCBsb29rcyB0byBiZSBhIGRlYWQgcHJvamVjdCkKLUBAIC03ODg1LDcgKzgzODksNyBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvCitAQCAtNzg4NSw3ICs4Mzg5LDcgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpb24gdG8gcHJvZHVjZSBQSUMuLi4gIiA+JjY7IH0KICAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLUtQSUMnCiAgICAgICAgbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9Jy1Cc3RhdGljJwogICAgICAgIGNhc2UgJGNjX2Jhc2VuYW1lIGluCkBAIC0yMDI4NCw3ICsyMDI3Nyw3IEBACiAgCiAgICAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPScke3dsfS1ibGlicGF0aDokbGliZGlyOiciJGFpeF9saWJwYXRoIgogICAgICAgICAgYXJjaGl2ZV9leHBzeW1fY21kcz0nJENDIC1vICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgJGxpYm9ianMgJGRlcGxpYnMgJyJcJHt3bH0kbm9fZW50cnlfZmxhZyInICRjb21waWxlcl9mbGFncyBgaWYgdGVzdCAieCR7YWxsb3dfdW5kZWZpbmVkX2ZsYWd9IiAhPSAieCI7IHRoZW4gZnVuY19lY2hvX2FsbCAiJHt3bH0ke2FsbG93X3VuZGVmaW5lZF9mbGFnfSI7IGVsc2UgOjsgZmlgICciXCR7d2x9JGV4cF9zeW1fZmxhZzpcJGV4cG9ydF9zeW1ib2xzICRzaGFyZWRfZmxhZyIKLUBAIC04NzE3LDcgKzkyNDQsMTMgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTg3MTcsNyArOTI0NCwxMyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAJZWxzZQogIAkgIyBEZXRlcm1pbmUgdGhlIGRlZmF1bHQgbGlicGF0aCBmcm9tIHRoZSB2YWx1ZSBlbmNvZGVkIGluIGFuCiAgCSAjIGVtcHR5IGV4ZWN1dGFibGUuCkBAIC0yMDM0Miw3ICsyMDMzNSw3IEBACiAgCiAgCSBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPScke3dsfS1ibGlicGF0aDokbGliZGlyOiciJGFpeF9saWJwYXRoIgogIAkgICMgV2FybmluZyAtIHdpdGhvdXQgdXNpbmcgdGhlIG90aGVyIHJ1biB0aW1lIGxvYWRpbmcgZmxhZ3MsCi1AQCAtODc5MywyMCArOTMzMyw2MyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtODc5MywyMCArOTMzMyw2MyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAgICAgICAjIE1pY3Jvc29mdCBWaXN1YWwgQysrLgogICAgICAgICMgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYyBpcyBhY3R1YWxseSBtZWFuaW5nbGVzcywgYXMgdGhlcmUgaXMKICAgICAgICAjIG5vIHNlYXJjaCBwYXRoIGZvciBETExzLgpAQCAtMjA0MjAsNyArMjA0MTMsNyBAQAogICAgICAgIDs7CiAgCiAgICAgIGRhcndpbiogfCByaGFwc29keSopCi1AQCAtODg2Nyw3ICs5NDUwLDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTg4NjcsNyArOTQ1MCw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAogICAgICAjIEZyZWVCU0QgMyBhbmQgZ3JlYXRlciB1c2VzIGdjYyAtc2hhcmVkIHRvIGRvIHNoYXJlZCBsaWJyYXJpZXMuCiAgICAgIGZyZWVic2QqIHwgZHJhZ29uZmx5KikKQEAgLTIwNDI5LDcgKzIwNDIyLDcgQEAKICAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctUiRsaWJkaXInCiAgICAgICAgaGFyZGNvZGVfZGlyZWN0PXllcwogICAgICAgIGhhcmRjb2RlX3NobGlicGF0aF92YXI9bm8KLUBAIC04ODc1LDcgKzk0NTgsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtODg3NSw3ICs5NDU4LDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCiAgICAgIGhwdXg5KikKICAgICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgpAQCAtMjA0MzgsNyArMjA0MzEsNyBAQAogICAgICAgIGVsc2UKICAJYXJjaGl2ZV9jbWRzPSckUk0gJG91dHB1dF9vYmpkaXIvJHNvbmFtZX4kTEQgLWIgK2IgJGluc3RhbGxfbGliZGlyIC1vICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtlcl9mbGFnc350ZXN0ICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgPSAkbGliIHx8IG12ICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgJGxpYicKICAgICAgICBmaQotQEAgLTg4OTEsNyArOTQ3NCw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC04ODkxLDcgKzk0NzQsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAKICAgICAgaHB1eDEwKikKICAgICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllcyAmJiB0ZXN0ICIkd2l0aF9nbnVfbGQiID0gbm87IHRoZW4KQEAgLTIwNDQ3LDcgKzIwNDQwLDcgQEAKICAgICAgICBlbHNlCiAgCWFyY2hpdmVfY21kcz0nJExEIC1iICtoICRzb25hbWUgK2IgJGluc3RhbGxfbGliZGlyIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtlcl9mbGFncycKICAgICAgICBmaQotQEAgLTg5MTUsMTAgKzk0OTgsMTAgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTg5MTUsMTAgKzk0OTgsMTAgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCSAgYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAke3dsfStoICR7d2x9JHNvbmFtZSAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncycKICAJICA7OwogIAlpYTY0KikKQEAgLTIwNTA4LDcgKzIwNTAxLDcgQEAKICAgICAgICBlbHNlCiAgCWFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1zb25hbWUgJHNvbmFtZSBgdGVzdCAtbiAiJHZlcnN0cmluZyIgJiYgZnVuY19lY2hvX2FsbCAiLXNldF92ZXJzaW9uICR2ZXJzdHJpbmciYCAtdXBkYXRlX3JlZ2lzdHJ5ICR7b3V0cHV0X29iamRpcn0vc29fbG9jYXRpb25zIC1vICRsaWInCiAgCWFyY2hpdmVfZXhwc3ltX2NtZHM9JyRDQyAtc2hhcmVkICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtc29uYW1lICRzb25hbWUgYHRlc3QgLW4gIiR2ZXJzdHJpbmciICYmIGZ1bmNfZWNob19hbGwgIi1zZXRfdmVyc2lvbiAkdmVyc3RyaW5nImAgLXVwZGF0ZV9yZWdpc3RyeSAke291dHB1dF9vYmpkaXJ9L3NvX2xvY2F0aW9ucyAtZXhwb3J0c19maWxlICRleHBvcnRfc3ltYm9scyAtbyAkbGliJwotQEAgLTkxMDEsNyArOTY5Nyw3IEBAIHJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmoKK0BAIC05MTAxLDcgKzk2OTcsNyBAQCBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKICAgICAgb3NmNCogfCBvc2Y1KikJIyBhcyBvc2YzKiB3aXRoIHRoZSBhZGRpdGlvbiBvZiAtbXN5bSBmbGFnCiAgICAgICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KICAJYWxsb3dfdW5kZWZpbmVkX2ZsYWc9JyAke3dsfS1leHBlY3RfdW5yZXNvbHZlZCAke3dsfVwqJwpAQCAtMjA1MTcsNyArMjA1MTAsNyBAQAogIAloYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPScke3dsfS1ycGF0aCAke3dsfSRsaWJkaXInCiAgICAgICAgZWxzZQogIAlhbGxvd191bmRlZmluZWRfZmxhZz0nIC1leHBlY3RfdW5yZXNvbHZlZCBcKicKLUBAIC05MTIwLDkgKzk3MTYsOSBAQCBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqCitAQCAtOTEyMCw5ICs5NzE2LDkgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCiAgICAgICAgbm9fdW5kZWZpbmVkX2ZsYWc9JyAteiBkZWZzJwogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgCXdsYXJjPScke3dsfScKQEAgLTIwNjY3LDcgKzIwNjYwLDcgQEAKICBpbnQgbWFpbiAoKQogIHsKICAgIHZvaWQgKnNlbGYgPSBkbG9wZW4gKDAsIExUX0RMR0xPQkFMfExUX0RMTEFaWV9PUl9OT1cpOwotQEAgLTEyMjY2LDEzICsxMjkyMSwyMCBAQCBleGVleHQ9J2AkRUNITyAiJGV4ZWV4dCIgfCAkU0VEICIkZGVsYXlfCitAQCAtMTIyNjcsMTMgKzEyOTIyLDIwIEBAIGV4ZWV4dD0nYCRFQ0hPICIkZXhlZXh0IiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF91bnNldD0nYCRFQ0hPICIkbHRfdW5zZXQiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X1NQMk5MPSdgJEVDSE8gIiRsdF9TUDJOTCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfTkwyU1A9J2AkRUNITyAiJGx0X05MMlNQIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKQEAgLTIwNjg4LDcgKzIwNjgxLDcgQEAKICBTVFJJUD0nYCRFQ0hPICIkU1RSSVAiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIFJBTkxJQj0nYCRFQ0hPICIkUkFOTElCIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBvbGRfcG9zdGluc3RhbGxfY21kcz0nYCRFQ0hPICIkb2xkX3Bvc3RpbnN0YWxsX2NtZHMiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwotQEAgLTEyMjg3LDE0ICsxMjk0OSwxNyBAQCBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlPSdgJEVDSE8gIiRsCitAQCAtMTIyODgsMTQgKzEyOTUwLDE3IEBAIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGU9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGUiIHwgJFNFRCAiJGRlCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2w9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXg9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXgiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtMjA3MDcsNyArMjA3MDAsNyBAQAogIERTWU1VVElMPSdgJEVDSE8gIiREU1lNVVRJTCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgTk1FRElUPSdgJEVDSE8gIiROTUVESVQiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIExJUE89J2AkRUNITyAiJExJUE8iIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwotQEAgLTEyMzI3LDEyICsxMjk5MiwxMiBAQCBoYXJkY29kZV9zaGxpYnBhdGhfdmFyPSdgJEVDSE8gIiRoYXJkY29kCitAQCAtMTIzMjgsMTIgKzEyOTkzLDEyIEBAIGhhcmRjb2RlX3NobGlicGF0aF92YXI9J2AkRUNITyAiJGhhcmRjb2RlX3NobGlicGF0aF92YXIiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xCiAgaGFyZGNvZGVfYXV0b21hdGljPSdgJEVDSE8gIiRoYXJkY29kZV9hdXRvbWF0aWMiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGluaGVyaXRfcnBhdGg9J2AkRUNITyAiJGluaGVyaXRfcnBhdGgiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGxpbmtfYWxsX2RlcGxpYnM9J2AkRUNITyAiJGxpbmtfYWxsX2RlcGxpYnMiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtMjA3MjEsNyArMjA3MTQsNyBAQAogIGZpbGVfbGlzdF9zcGVjPSdgJEVDSE8gIiRmaWxlX2xpc3Rfc3BlYyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgdmFyaWFibGVzX3NhdmVkX2Zvcl9yZWxpbms9J2AkRUNITyAiJHZhcmlhYmxlc19zYXZlZF9mb3JfcmVsaW5rIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBuZWVkX2xpYl9wcmVmaXg9J2AkRUNITyAiJG5lZWRfbGliX3ByZWZpeCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCi1AQCAtMTIzODcsOCArMTMwNTIsMTMgQEAgcmVsb2FkX2ZsYWcgXAorQEAgLTEyMzg4LDggKzEzMDUzLDEzIEBAIHJlbG9hZF9mbGFnIFwKICBPQkpEVU1QIFwKICBkZXBsaWJzX2NoZWNrX21ldGhvZCBcCiAgZmlsZV9tYWdpY19jbWQgXApAQCAtMjA3MzUsNyArMjA3MjgsNyBAQAogIFNUUklQIFwKICBSQU5MSUIgXAogIENDIFwKLUBAIC0xMjM5OCwxMiArMTMwNjgsMTQgQEAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZSBcCitAQCAtMTIzOTksMTIgKzEzMDY5LDE0IEBAIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGUgXAogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsIFwKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcyBcCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeCBcCkBAIC0yMDc1MSw3ICsyMDc0NCw3IEBACiAgRFNZTVVUSUwgXAogIE5NRURJVCBcCiAgTElQTyBcCi1AQCAtMTI0MTksNyArMTMwOTEsNiBAQCBub191bmRlZmluZWRfZmxhZyBcCitAQCAtMTI0MjAsNyArMTMwOTIsNiBAQCBub191bmRlZmluZWRfZmxhZyBcCiAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYyBcCiAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY19sZCBcCiAgaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciBcCkBAIC0yMDc1OSw3ICsyMDc1Miw3IEBACiAgZXhjbHVkZV9leHBzeW1zIFwKICBpbmNsdWRlX2V4cHN5bXMgXAogIGZpbGVfbGlzdF9zcGVjIFwKLUBAIC0xMjQ1NSw2ICsxMzEyNiw3IEBAIG1vZHVsZV9jbWRzIFwKK0BAIC0xMjQ1Niw2ICsxMzEyNyw3IEBAIG1vZHVsZV9jbWRzIFwKICBtb2R1bGVfZXhwc3ltX2NtZHMgXAogIGV4cG9ydF9zeW1ib2xzX2NtZHMgXAogIHByZWxpbmtfY21kcyBcCkBAIC0yMDc2Nyw3ICsyMDc2MCw3IEBACiAgcG9zdGluc3RhbGxfY21kcyBcCiAgcG9zdHVuaW5zdGFsbF9jbWRzIFwKICBmaW5pc2hfY21kcyBcCi1AQCAtMTMwNTMsNyArMTM3MjUsOCBAQCAkYXNfZWNobyBYIiRmaWxlIiB8CitAQCAtMTMwNTQsNyArMTM3MjYsOCBAQCAkYXNfZWNobyBYIiRmaWxlIiB8CiAgIyBOT1RFOiBDaGFuZ2VzIG1hZGUgdG8gdGhpcyBmaWxlIHdpbGwgYmUgbG9zdDogbG9vayBhdCBsdG1haW4uc2guCiAgIwogICMgICBDb3B5cmlnaHQgKEMpIDE5OTYsIDE5OTcsIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDMsIDIwMDQsIDIwMDUsCkBAIC0yMDc3Nyw3ICsyMDc3MCw3IEBACiAgIyAgIFdyaXR0ZW4gYnkgR29yZG9uIE1hdHppZ2tlaXQsIDE5OTYKICAjCiAgIyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBMaWJ0b29sLgotQEAgLTEzMTU2LDE5ICsxMzgyOSw0MiBAQCBTUDJOTD0kbHRfbHRfU1AyTkwKK0BAIC0xMzE1NywxOSArMTM4MzAsNDIgQEAgU1AyTkw9JGx0X2x0X1NQMk5MCiAgIyB0dXJuIG5ld2xpbmVzIGludG8gc3BhY2VzLgogIE5MMlNQPSRsdF9sdF9OTDJTUAogIApAQCAtMjA4MjEsNyArMjA4MTQsNyBAQAogICMgQSBzeW1ib2wgc3RyaXBwaW5nIHByb2dyYW0uCiAgU1RSSVA9JGx0X1NUUklQCiAgCi1AQCAtMTMxOTgsNiArMTM4OTQsMTIgQEAgZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0kbHRfbHRfYworQEAgLTEzMTk5LDYgKzEzODk1LDEyIEBAIGdsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3M9JGx0X2x0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzCiAgIyBUcmFuc2Zvcm0gdGhlIG91dHB1dCBvZiBubSBpbiBhIEMgbmFtZSBhZGRyZXNzIHBhaXIgd2hlbiBsaWIgcHJlZml4IGlzIG5lZWRlZC4KICBnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXg9JGx0X2x0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXgKICAKQEAgLTIwODM0LDcgKzIwODI3LDcgQEAKICAjIFRoZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkgdGhhdCBjb250YWlucyB0ZW1wb3JhcnkgbGlidG9vbCBmaWxlcy4KICBvYmpkaXI9JG9iamRpcgogIAotQEAgLTEzMjA3LDYgKzEzOTA5LDkgQEAgTUFHSUNfQ01EPSRNQUdJQ19DTUQKK0BAIC0xMzIwOCw2ICsxMzkxMCw5IEBAIE1BR0lDX0NNRD0kTUFHSUNfQ01ECiAgIyBNdXN0IHdlIGxvY2sgZmlsZXMgd2hlbiBkb2luZyBjb21waWxhdGlvbj8KICBuZWVkX2xvY2tzPSRsdF9uZWVkX2xvY2tzCiAgCkBAIC0yMDg0NCw3ICsyMDgzNyw3IEBACiAgIyBUb29sIHRvIG1hbmlwdWxhdGUgYXJjaGl2ZWQgRFdBUkYgZGVidWcgc3ltYm9sIGZpbGVzIG9uIE1hYyBPUyBYLgogIERTWU1VVElMPSRsdF9EU1lNVVRJTAogIAotQEAgLTEzMzIxLDEyICsxNDAyNiwxMiBAQCB3aXRoX2djYz0kR0NDCitAQCAtMTMzMjIsMTIgKzE0MDI3LDEyIEBAIHdpdGhfZ2NjPSRHQ0MKICAjIENvbXBpbGVyIGZsYWcgdG8gdHVybiBvZmYgYnVpbHRpbiBmdW5jdGlvbnMuCiAgbm9fYnVpbHRpbl9mbGFnPSRsdF9sdF9wcm9nX2NvbXBpbGVyX25vX2J1aWx0aW5fZmxhZwogIApAQCAtMjA4NjAsNyArMjA4NTMsNyBAQAogICMgQ29tcGlsZXIgZmxhZyB0byBwcmV2ZW50IGR5bmFtaWMgbGlua2luZy4KICBsaW5rX3N0YXRpY19mbGFnPSRsdF9sdF9wcm9nX2NvbXBpbGVyX3N0YXRpYwogIAotQEAgLTEzNDEzLDkgKzE0MTE4LDYgQEAgaW5oZXJpdF9ycGF0aD0kaW5oZXJpdF9ycGF0aAorQEAgLTEzNDE0LDkgKzE0MTE5LDYgQEAgaW5oZXJpdF9ycGF0aD0kaW5oZXJpdF9ycGF0aAogICMgV2hldGhlciBsaWJ0b29sIG11c3QgbGluayBhIHByb2dyYW0gYWdhaW5zdCBhbGwgaXRzIGRlcGVuZGVuY3kgbGlicmFyaWVzLgogIGxpbmtfYWxsX2RlcGxpYnM9JGxpbmtfYWxsX2RlcGxpYnMKICAKQEAgLTIwODcwLDcgKzIwODYzLDcgQEAKICAjIFNldCB0byAieWVzIiBpZiBleHBvcnRlZCBzeW1ib2xzIGFyZSByZXF1aXJlZC4KICBhbHdheXNfZXhwb3J0X3N5bWJvbHM9JGFsd2F5c19leHBvcnRfc3ltYm9scwogIAotQEAgLTEzNDMxLDYgKzE0MTMzLDkgQEAgaW5jbHVkZV9leHBzeW1zPSRsdF9pbmNsdWRlX2V4cHN5bXMKK0BAIC0xMzQzMiw2ICsxNDEzNCw5IEBAIGluY2x1ZGVfZXhwc3ltcz0kbHRfaW5jbHVkZV9leHBzeW1zCiAgIyBDb21tYW5kcyBuZWNlc3NhcnkgZm9yIGxpbmtpbmcgcHJvZ3JhbXMgKGFnYWluc3QgbGlicmFyaWVzKSB3aXRoIHRlbXBsYXRlcy4KICBwcmVsaW5rX2NtZHM9JGx0X3ByZWxpbmtfY21kcwogIApAQCAtMjA4ODAsNyArMjA4NzMsNyBAQAogICMgU3BlY2lmeSBmaWxlbmFtZSBjb250YWluaW5nIGlucHV0IGZpbGVzLgogIGZpbGVfbGlzdF9zcGVjPSRsdF9maWxlX2xpc3Rfc3BlYwogIAotQEAgLTEzNDYzLDIxMCArMTQxNjgsMTY5IEBAIGx0bWFpbj0iJGFjX2F1eF9kaXIvbHRtYWluLnNoIgorQEAgLTEzNDY0LDIxMCArMTQxNjksMTY5IEBAIGx0bWFpbj0iJGFjX2F1eF9kaXIvbHRtYWluLnNoIgogICAgIyBpZiBmaW5kcyBtaXhlZCBDUi9MRiBhbmQgTEYtb25seSBsaW5lcy4gIFNpbmNlIHNlZCBvcGVyYXRlcyBpbgogICAgIyB0ZXh0IG1vZGUsIGl0IHByb3Blcmx5IGNvbnZlcnRzIGxpbmVzIHRvIENSL0xGLiAgVGhpcyBiYXNoIHByb2JsZW0KICAgICMgaXMgcmVwb3J0ZWRseSBmaXhlZCwgYnV0IHdoeSBub3QgcnVuIG9uIG9sZCB2ZXJzaW9ucyB0b28/CkBAIC0yMTA4Miw5ICsyMTA3NSwxNSBAQAogLV9MVF9FT0YKIC0gICAgOzsKIC0gIGVzYWMKKy0KKy0KKy0gIHNlZCAtbiAnL14jIEdlbmVyYXRlZCBzaGVsbCBmdW5jdGlvbnMgaW5zZXJ0ZWQgaGVyZS8sJHAnICIkbHRtYWluIiA+PiAiJGNmZ2ZpbGUiIFwKKy0gICAgfHwgKHJtIC1mICIkY2ZnZmlsZSI7IGV4aXQgMSkKKy0KKy0gIG12IC1mICIkY2ZnZmlsZSIgIiRvZmlsZSIgfHwKICsgIHNlZCAnJHEnICIkbHRtYWluIiA+PiAiJGNmZ2ZpbGUiIFwKICsgICAgIHx8IChybSAtZiAiJGNmZ2ZpbGUiOyBleGl0IDEpCi0gCisrCiArICBpZiB0ZXN0IHgiJHhzaV9zaGVsbCIgPSB4eWVzOyB0aGVuCiArICBzZWQgLWUgJy9eZnVuY19kaXJuYW1lICgpJC8sL159ICMgZnVuY19kaXJuYW1lIC9jXAogK2Z1bmNfZGlybmFtZSAoKVwKQEAgLTIxMjQyLDEyICsyMTI0MSwxMiBAQAogKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiBVbmFibGUgdG8gc3Vic3RpdHV0ZSBleHRlbmRlZCBzaGVsbCBmdW5jdGlvbnMgaW4gJG9maWxlIiA+JjUKICskYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiBVbmFibGUgdG8gc3Vic3RpdHV0ZSBleHRlbmRlZCBzaGVsbCBmdW5jdGlvbnMgaW4gJG9maWxlIiA+JjI7fQogK2ZpCi0gCi0tICBzZWQgLW4gJy9eIyBHZW5lcmF0ZWQgc2hlbGwgZnVuY3Rpb25zIGluc2VydGVkIGhlcmUvLCRwJyAiJGx0bWFpbiIgPj4gIiRjZmdmaWxlIiBcCi0tICAgIHx8IChybSAtZiAiJGNmZ2ZpbGUiOyBleGl0IDEpCi0gCi0tICBtdiAtZiAiJGNmZ2ZpbGUiICIkb2ZpbGUiIHx8CisrCisrCiArICAgbXYgLWYgIiRjZmdmaWxlIiAiJG9maWxlIiB8fAogICAgICAocm0gLWYgIiRvZmlsZSIgJiYgY3AgIiRjZmdmaWxlIiAiJG9maWxlIiAmJiBybSAtZiAiJGNmZ2ZpbGUiKQogICAgY2htb2QgK3ggIiRvZmlsZSIKICAKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDctQWRkLXRoZS1hcm12NWUtYXJjaGl0ZWN0dXJlLXRvLWJpbnV0aWxzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwNy1BZGQtdGhlLWFybXY1ZS1hcmNoaXRlY3R1cmUtdG8tYmludXRpbHMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE4ZWY2YmIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwNy1BZGQtdGhlLWFybXY1ZS1hcmNoaXRlY3R1cmUtdG8tYmludXRpbHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1Gcm9tIGVmNTBkODQ4ZDk4M2Y4MWU0YTg2ZGQzZWVmNDkzM2UzNTc5MzM2ZjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogTW9uLCAyIE1hciAyMDE1IDAxOjM3OjEwICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMDcvMTVdIEFkZCB0aGUgYXJtdjVlIGFyY2hpdGVjdHVyZSB0byBiaW51dGlscwotCi1CaW51dGlscyBoYXMgYSBjb21tZW50IHRoYXQgaW5kaWNhdGVzIGl0IGlzIHN1cHBvc2VkIHRvIG1hdGNoIGdjYyBmb3IKLWFsbCBvZiB0aGUgc3VwcG9ydCAiLW1hcmNoPSIgc2V0dGluZ3MsIGJ1dCBpdCB3YXMgbGFja2luZyB0aGUgYXJtdjVlIHNldHRpbmcuCi1UaGlzIHdhcyBhIHNpbXBsZSB3YXkgdG8gYWRkIGl0LCBhcyB0aHVtYiBpbnN0cnVjdGlvbnMgc2hvdWxkbid0IGJlIGdlbmVyYXRlZAotYnkgdGhlIGNvbXBpbGVyIGFueXdheS4KLQotVXBzdHJlYW0tU3RhdHVzOiBEZW5pZWQKLVVwc3RyZWFtIG1haW50YWluZXIgaW5kaWNhdGVkIHRoYXQgd2Ugc2hvdWxkIG5vdCBiZSB1c2luZyBhcm12NWUsIGV2ZW4KLXRob3VnaCBpdCBpcyBhIGxlZ2FsIGFyY2hpY3R1cmUgZGVmaW5lZCBieSBvdXIgZ2NjLgotCi1TaWduZWQtb2ZmLWJ5OiBNYXJrIEhhdGxlIDxtYXJrLmhhdGxlQHdpbmRyaXZlci5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gZ2FzL2NvbmZpZy90Yy1hcm0uYyB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1hcm0uYyBiL2dhcy9jb25maWcvdGMtYXJtLmMKLWluZGV4IDNmNTM4NGUxYzcuLjhkNWJjMTQ1YWYgMTAwNjQ0Ci0tLS0gYS9nYXMvY29uZmlnL3RjLWFybS5jCi0rKysgYi9nYXMvY29uZmlnL3RjLWFybS5jCi1AQCAtMjYyOTQsNiArMjYyOTQsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGFybV9hcmNoX29wdGlvbl90YWJsZSBhcm1fYXJjaHNbXSA9Ci0gICBBUk1fQVJDSF9PUFQgKCJhcm12NHQiLAlBUk1fQVJDSF9WNFQsCSBGUFVfQVJDSF9GUEEpLAotICAgQVJNX0FSQ0hfT1BUICgiYXJtdjR0eG0iLAlBUk1fQVJDSF9WNFR4TSwJIEZQVV9BUkNIX0ZQQSksCi0gICBBUk1fQVJDSF9PUFQgKCJhcm12NSIsCUFSTV9BUkNIX1Y1LAkgRlBVX0FSQ0hfVkZQKSwKLSsgIEFSTV9BUkNIX09QVCAoImFybXY1ZSIsCUFSTV9BUkNIX1Y1VEUsCSBGUFVfQVJDSF9WRlApLAotICAgQVJNX0FSQ0hfT1BUICgiYXJtdjV0IiwJQVJNX0FSQ0hfVjVULAkgRlBVX0FSQ0hfVkZQKSwKLSAgIEFSTV9BUkNIX09QVCAoImFybXY1dHhtIiwJQVJNX0FSQ0hfVjVUeE0sCSBGUFVfQVJDSF9WRlApLAotICAgQVJNX0FSQ0hfT1BUICgiYXJtdjV0ZSIsCUFSTV9BUkNIX1Y1VEUsCSBGUFVfQVJDSF9WRlApLAotLS0gCi0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwNy1kb24tdC1sZXQtdGhlLWRpc3Ryby1jb21waWxlci1wb2ludC10by10aGUtd3JvbmctaW5zLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwNy1kb24tdC1sZXQtdGhlLWRpc3Ryby1jb21waWxlci1wb2ludC10by10aGUtd3JvbmctaW5zLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyYzYzMTIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDA3LWRvbi10LWxldC10aGUtZGlzdHJvLWNvbXBpbGVyLXBvaW50LXRvLXRoZS13cm9uZy1pbnMucGF0Y2gKQEAgLTAsMCArMSwzNSBAQAorRnJvbSA4Y2IwMTMxMDZjMzc5ZTgxZmU0MGNmZGY0ODZkOTgwNWM5ZTI3NmFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMiBNYXIgMjAxNSAwMTozOTowMSArMDAwMAorU3ViamVjdDogW1BBVENIIDA3LzE1XSBkb24ndCBsZXQgdGhlIGRpc3RybyBjb21waWxlciBwb2ludCB0byB0aGUgd3JvbmcKKyBpbnN0YWxsYXRpb24gbG9jYXRpb24KKworVGhhbmtzIHRvIFJQIGZvciBoZWxwaW5nIGZpbmQgdGhlIHNvdXJjZSBjb2RlIGNhdXNpbmcgdGhlIGlzc3VlLgorCisyMDEwLzA4LzEzCitOaXRpbiBBIEthbWJsZSA8bml0aW4uYS5rYW1ibGVAaW50ZWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgbGliaWJlcnR5L01ha2VmaWxlLmluIHwgMyArKy0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9saWJpYmVydHkvTWFrZWZpbGUuaW4gYi9saWJpYmVydHkvTWFrZWZpbGUuaW4KK2luZGV4IDBiZTQ1YjRhZTguLjQ4MTc2MTZiYjIgMTAwNjQ0CistLS0gYS9saWJpYmVydHkvTWFrZWZpbGUuaW4KKysrKyBiL2xpYmliZXJ0eS9NYWtlZmlsZS5pbgorQEAgLTM2NCw3ICszNjQsOCBAQCBpbnN0YWxsLXN0cmlwOiBpbnN0YWxsCisgIyBtdWx0aWxpYi1zcGVjaWZpYyBmbGFncywgaXQncyBvdmVycmlkZGVuIGJ5IEZMQUdTX1RPX1BBU1MgZnJvbSB0aGUKKyAjIGRlZmF1bHQgbXVsdGlsaWIsIHNvIHdlIGhhdmUgdG8gdGFrZSBDRkxBR1MgaW50byBhY2NvdW50IGFzIHdlbGwsCisgIyBzaW5jZSBpdCB3aWxsIGJlIHBhc3NlZCB0aGUgbXVsdGlsaWIgZmxhZ3MuCistTVVMVElPU0RJUiA9IGAkKENDKSAkKENGTEFHUykgLXByaW50LW11bHRpLW9zLWRpcmVjdG9yeWAKKysjTVVMVElPU0RJUiA9IGAkKENDKSAkKENGTEFHUykgLXByaW50LW11bHRpLW9zLWRpcmVjdG9yeWAKKytNVUxUSU9TRElSID0gIiIKKyBpbnN0YWxsX3RvX2xpYmRpcjogYWxsCisgCWlmIHRlc3QgLW4gIiR7dGFyZ2V0X2hlYWRlcl9kaXJ9IjsgdGhlbiBcCisgCQkke21raW5zdGFsbGRpcnN9ICQoREVTVERJUikkKGxpYmRpcikvJChNVUxUSU9TRElSKTsgXAorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwOC1kb24tdC1sZXQtdGhlLWRpc3Ryby1jb21waWxlci1wb2ludC10by10aGUtd3JvbmctaW5zLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwOC1kb24tdC1sZXQtdGhlLWRpc3Ryby1jb21waWxlci1wb2ludC10by10aGUtd3JvbmctaW5zLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2OTk5ZWQ5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDgtZG9uLXQtbGV0LXRoZS1kaXN0cm8tY29tcGlsZXItcG9pbnQtdG8tdGhlLXdyb25nLWlucy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLUZyb20gY2EyNWQ1NWNlZjgzOThiYWQ1MDhjMmIyYmUyOWFlYTVhYTNjNGQyNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDIgTWFyIDIwMTUgMDE6Mzk6MDEgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAwOC8xNV0gZG9uJ3QgbGV0IHRoZSBkaXN0cm8gY29tcGlsZXIgcG9pbnQgdG8gdGhlIHdyb25nCi0gaW5zdGFsbGF0aW9uIGxvY2F0aW9uCi0KLVRoYW5rcyB0byBSUCBmb3IgaGVscGluZyBmaW5kIHRoZSBzb3VyY2UgY29kZSBjYXVzaW5nIHRoZSBpc3N1ZS4KLQotMjAxMC8wOC8xMwotTml0aW4gQSBLYW1ibGUgPG5pdGluLmEua2FtYmxlQGludGVsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGxpYmliZXJ0eS9NYWtlZmlsZS5pbiB8IDMgKystCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvbGliaWJlcnR5L01ha2VmaWxlLmluIGIvbGliaWJlcnR5L01ha2VmaWxlLmluCi1pbmRleCBlZDFiMzM0YzM2Li5kNGZmZDhiNTdiIDEwMDY0NAotLS0tIGEvbGliaWJlcnR5L01ha2VmaWxlLmluCi0rKysgYi9saWJpYmVydHkvTWFrZWZpbGUuaW4KLUBAIC0zNjQsNyArMzY0LDggQEAgaW5zdGFsbC1zdHJpcDogaW5zdGFsbAotICMgbXVsdGlsaWItc3BlY2lmaWMgZmxhZ3MsIGl0J3Mgb3ZlcnJpZGRlbiBieSBGTEFHU19UT19QQVNTIGZyb20gdGhlCi0gIyBkZWZhdWx0IG11bHRpbGliLCBzbyB3ZSBoYXZlIHRvIHRha2UgQ0ZMQUdTIGludG8gYWNjb3VudCBhcyB3ZWxsLAotICMgc2luY2UgaXQgd2lsbCBiZSBwYXNzZWQgdGhlIG11bHRpbGliIGZsYWdzLgotLU1VTFRJT1NESVIgPSBgJChDQykgJChDRkxBR1MpIC1wcmludC1tdWx0aS1vcy1kaXJlY3RvcnlgCi0rI01VTFRJT1NESVIgPSBgJChDQykgJChDRkxBR1MpIC1wcmludC1tdWx0aS1vcy1kaXJlY3RvcnlgCi0rTVVMVElPU0RJUiA9ICIiCi0gaW5zdGFsbF90b19saWJkaXI6IGFsbAotIAlpZiB0ZXN0IC1uICIke3RhcmdldF9oZWFkZXJfZGlyfSI7IHRoZW4gXAotIAkJJHtta2luc3RhbGxkaXJzfSAkKERFU1RESVIpJChsaWJkaXIpLyQoTVVMVElPU0RJUik7IFwKLS0tIAotMi4xOC4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDgtd2Fybi1mb3ItdXNlcy1vZi1zeXN0ZW0tZGlyZWN0b3JpZXMtd2hlbi1jcm9zcy1saW5raS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDgtd2Fybi1mb3ItdXNlcy1vZi1zeXN0ZW0tZGlyZWN0b3JpZXMtd2hlbi1jcm9zcy1saW5raS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NzI3ODIxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwOC13YXJuLWZvci11c2VzLW9mLXN5c3RlbS1kaXJlY3Rvcmllcy13aGVuLWNyb3NzLWxpbmtpLnBhdGNoCkBAIC0wLDAgKzEsMjczIEBACitGcm9tIDk4ZjY4YzA4OTJiYTRiYmQ1M2IwYTBhNGNiYmRmMGI3MTk3ZTAzMjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogRnJpLCAxNSBKYW4gMjAxNiAwNjozMTowOSArMDAwMAorU3ViamVjdDogW1BBVENIIDA4LzE1XSB3YXJuIGZvciB1c2VzIG9mIHN5c3RlbSBkaXJlY3RvcmllcyB3aGVuIGNyb3NzIGxpbmtpbmcKKworMjAwOC0wNy0wMiAgSm9zZXBoIE15ZXJzICA8am9zZXBoQGNvZGVzb3VyY2VyeS5jb20+CisKKyAgICBsZC8KKyAgICAqIGxkLmggKGFyZ3NfdHlwZSk6IEFkZCBlcnJvcl9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzLgorICAgICogbGQudGV4aW5mbyAoLS1lcnJvci1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzKTogRG9jdW1lbnQuCisgICAgKiBsZGZpbGUuYyAobGRmaWxlX2FkZF9saWJyYXJ5X3BhdGgpOiBDaGVjaworICAgIGNvbW1hbmRfbGluZS5lcnJvcl9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzLgorICAgICogbGRtYWluLmMgKG1haW4pOiBJbml0aWFsaXplCisgICAgY29tbWFuZF9saW5lLmVycm9yX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMuCisgICAgKiBsZXhzdXAuYyAoZW51bSBvcHRpb25fdmFsdWVzKTogQWRkCisgICAgT1BUSU9OX0VSUk9SX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVMuCisgICAgKGxkX29wdGlvbnMpOiBBZGQgLS1lcnJvci1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzLgorICAgIChwYXJzZV9hcmdzKTogSGFuZGxlIG5ldyBvcHRpb24uCisKKzIwMDctMDYtMTMgIEpvc2VwaCBNeWVycyAgPGpvc2VwaEBjb2Rlc291cmNlcnkuY29tPgorCisgICAgbGQvCisgICAgKiBjb25maWcuaW46IFJlZ2VuZXJhdGUuCisgICAgKiBsZC5oIChhcmdzX3R5cGUpOiBBZGQgcG9pc29uX3N5c3RlbV9kaXJlY3Rvcmllcy4KKyAgICAqIGxkLnRleGluZm8gKC0tbm8tcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllcyk6IERvY3VtZW50LgorICAgICogbGRmaWxlLmMgKGxkZmlsZV9hZGRfbGlicmFyeV9wYXRoKTogQ2hlY2sKKyAgICBjb21tYW5kX2xpbmUucG9pc29uX3N5c3RlbV9kaXJlY3Rvcmllcy4KKyAgICAqIGxkbWFpbi5jIChtYWluKTogSW5pdGlhbGl6ZQorICAgIGNvbW1hbmRfbGluZS5wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzLgorICAgICogbGV4c3VwLmMgKGVudW0gb3B0aW9uX3ZhbHVlcyk6IEFkZAorICAgIE9QVElPTl9OT19QT0lTT05fU1lTVEVNX0RJUkVDVE9SSUVTLgorICAgIChsZF9vcHRpb25zKTogQWRkIC0tbm8tcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllcy4KKyAgICAocGFyc2VfYXJncyk6IEhhbmRsZSBuZXcgb3B0aW9uLgorCisyMDA3LTA0LTIwICBKb3NlcGggTXllcnMgIDxqb3NlcGhAY29kZXNvdXJjZXJ5LmNvbT4KKworICAgIE1lcmdlIGZyb20gU291cmNlcnkgRysrIGJpbnV0aWxzIDIuMTc6CisKKyAgICAyMDA3LTAzLTIwICBKb3NlcGggTXllcnMgIDxqb3NlcGhAY29kZXNvdXJjZXJ5LmNvbT4KKyAgICBCYXNlZCBvbiBwYXRjaCBieSBNYXJrIEhhdGxlIDxtYXJrLmhhdGxlQHdpbmRyaXZlci5jb20+LgorICAgIGxkLworICAgICogY29uZmlndXJlLmluICgtLWVuYWJsZS1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzKTogTmV3IG9wdGlvbi4KKyAgICAqIGNvbmZpZ3VyZSwgY29uZmlnLmluOiBSZWdlbmVyYXRlLgorICAgICogbGRmaWxlLmMgKGxkZmlsZV9hZGRfbGlicmFyeV9wYXRoKTogSWYKKyAgICBFTkFCTEVfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUyBkZWZpbmVkLCB3YXJuIGZvciB1c2Ugb2YgL2xpYiwKKyAgICAvdXNyL2xpYiwgL3Vzci9sb2NhbC9saWIgb3IgL3Vzci9YMTFSNi9saWIuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBNYXJrIEhhdGxlIDxtYXJrLmhhdGxlQHdpbmRyaXZlci5jb20+CitTaWduZWQtb2ZmLWJ5OiBTY290dCBHYXJtYW4gPHNjb3R0LmEuZ2FybWFuQGludGVsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBsZC9jb25maWcuaW4gICAgfCAgMyArKysKKyBsZC9jb25maWd1cmUgICAgfCAxNiArKysrKysrKysrKysrKysrCisgbGQvY29uZmlndXJlLmFjIHwgMTAgKysrKysrKysrKworIGxkL2xkLmggICAgICAgICB8ICA4ICsrKysrKysrCisgbGQvbGQudGV4aSAgICAgIHwgMTIgKysrKysrKysrKysrCisgbGQvbGRmaWxlLmMgICAgIHwgMTcgKysrKysrKysrKysrKysrKysKKyBsZC9sZGxleC5oICAgICAgfCAgMiArKworIGxkL2xkbWFpbi5jICAgICB8ICAyICsrCisgbGQvbGV4c3VwLmMgICAgIHwgMTYgKysrKysrKysrKysrKysrKworIDkgZmlsZXMgY2hhbmdlZCwgODYgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvbGQvY29uZmlnLmluIGIvbGQvY29uZmlnLmluCitpbmRleCBkOTNjOWIwODMwLi41ZGEyNzQyYmVhIDEwMDY0NAorLS0tIGEvbGQvY29uZmlnLmluCisrKysgYi9sZC9jb25maWcuaW4KK0BAIC0zMSw2ICszMSw5IEBACisgICAgbGFuZ3VhZ2UgaXMgcmVxdWVzdGVkLiAqLworICN1bmRlZiBFTkFCTEVfTkxTCisgCisrLyogRGVmaW5lIHRvIHdhcm4gZm9yIHVzZSBvZiBuYXRpdmUgc3lzdGVtIGxpYnJhcnkgZGlyZWN0b3JpZXMgKi8KKysjdW5kZWYgRU5BQkxFX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVMKKysKKyAvKiBBZGRpdGlvbmFsIGV4dGVuc2lvbiBhIHNoYXJlZCBvYmplY3QgbWlnaHQgaGF2ZS4gKi8KKyAjdW5kZWYgRVhUUkFfU0hMSUJfRVhURU5TSU9OCisgCitkaWZmIC0tZ2l0IGEvbGQvY29uZmlndXJlIGIvbGQvY29uZmlndXJlCitpbmRleCA0M2MzOTFjMmIzLi5mZjlmNmIzYzAyIDEwMDc1NQorLS0tIGEvbGQvY29uZmlndXJlCisrKysgYi9sZC9jb25maWd1cmUKK0BAIC04MjYsNiArODI2LDcgQEAgd2l0aF9saWJfcGF0aAorIGVuYWJsZV90YXJnZXRzCisgZW5hYmxlXzY0X2JpdF9iZmQKKyB3aXRoX3N5c3Jvb3QKKytlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcworIGVuYWJsZV9nb2xkCisgZW5hYmxlX2dvdAorIGVuYWJsZV9jb21wcmVzc2VkX2RlYnVnX3NlY3Rpb25zCitAQCAtMTQ5MCw2ICsxNDkxLDggQEAgT3B0aW9uYWwgRmVhdHVyZXM6CisgICAtLWRpc2FibGUtbGFyZ2VmaWxlICAgICBvbWl0IHN1cHBvcnQgZm9yIGxhcmdlIGZpbGVzCisgICAtLWVuYWJsZS10YXJnZXRzICAgICAgICBhbHRlcm5hdGl2ZSB0YXJnZXQgY29uZmlndXJhdGlvbnMKKyAgIC0tZW5hYmxlLTY0LWJpdC1iZmQgICAgIDY0LWJpdCBzdXBwb3J0IChvbiBob3N0cyB3aXRoIG5hcnJvd2VyIHdvcmQgc2l6ZXMpCisrICAtLWVuYWJsZS1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCisrICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuIGZvciB1c2Ugb2YgbmF0aXZlIHN5c3RlbSBsaWJyYXJ5IGRpcmVjdG9yaWVzCisgICAtLWVuYWJsZS1nb2xkWz1BUkddICAgICBidWlsZCBnb2xkIFtBUkc9e2RlZmF1bHQseWVzLG5vfV0KKyAgIC0tZW5hYmxlLWdvdD08dHlwZT4gICAgIEdPVCBoYW5kbGluZyBzY2hlbWUgKHRhcmdldCwgc2luZ2xlLCBuZWdhdGl2ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpZ290KQorQEAgLTE2NjE4LDYgKzE2NjIxLDE5IEBAIGZpCisgCisgCisgCisrIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMgd2FzIGdpdmVuLgorK2lmIHRlc3QgIiR7ZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMrc2V0fSIgPSBzZXQ7IHRoZW4gOgorKyAgZW5hYmxldmFsPSRlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllczsKKytlbHNlCisrICBlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3Rvcmllcz1ubworK2ZpCisrCisraWYgdGVzdCAieCR7ZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXN9IiA9ICJ4eWVzIjsgdGhlbgorKworKyRhc19lY2hvICIjZGVmaW5lIEVOQUJMRV9QT0lTT05fU1lTVEVNX0RJUkVDVE9SSUVTIDEiID4+Y29uZmRlZnMuaAorKworK2ZpCisrCisgIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWdvbGQgd2FzIGdpdmVuLgorIGlmIHRlc3QgIiR7ZW5hYmxlX2dvbGQrc2V0fSIgPSBzZXQ7IHRoZW4gOgorICAgZW5hYmxldmFsPSRlbmFibGVfZ29sZDsgY2FzZSAiJHtlbmFibGV2YWx9IiBpbgorZGlmZiAtLWdpdCBhL2xkL2NvbmZpZ3VyZS5hYyBiL2xkL2NvbmZpZ3VyZS5hYworaW5kZXggZDMzNWYyMTA5MS4uN2Y2OTJkOTM4NyAxMDA2NDQKKy0tLSBhL2xkL2NvbmZpZ3VyZS5hYworKysrIGIvbGQvY29uZmlndXJlLmFjCitAQCAtOTQsNiArOTQsMTYgQEAgQUNfU1VCU1QodXNlX3N5c3Jvb3QpCisgQUNfU1VCU1QoVEFSR0VUX1NZU1RFTV9ST09UKQorIEFDX1NVQlNUKFRBUkdFVF9TWVNURU1fUk9PVF9ERUZJTkUpCisgCisrQUNfQVJHX0VOQUJMRShbcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllc10sCisrICAgICAgICAgQVNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXNdLAorKyAgICAgICAgICAgICAgICBbd2FybiBmb3IgdXNlIG9mIG5hdGl2ZSBzeXN0ZW0gbGlicmFyeSBkaXJlY3Rvcmllc10pLCwKKysgICAgICAgICBbZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXM9bm9dKQorK2lmIHRlc3QgIngke2VuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzfSIgPSAieHllcyI7IHRoZW4KKysgIEFDX0RFRklORShbRU5BQkxFX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVNdLAorKyAgICAgICBbMV0sCisrICAgICAgIFtEZWZpbmUgdG8gd2FybiBmb3IgdXNlIG9mIG5hdGl2ZSBzeXN0ZW0gbGlicmFyeSBkaXJlY3Rvcmllc10pCisrZmkKKysKKyBkbmwgVXNlIC0tZW5hYmxlLWdvbGQgdG8gZGVjaWRlIGlmIHRoaXMgbGlua2VyIHNob3VsZCBiZSB0aGUgZGVmYXVsdC4KKyBkbmwgImluc3RhbGxfYXNfZGVmYXVsdCIgaXMgc2V0IHRvIGZhbHNlIGlmIGdvbGQgaXMgdGhlIGRlZmF1bHQgbGlua2VyLgorIGRubCAiaW5zdGFsbGVkX2xpbmtlciIgaXMgdGhlIGluc3RhbGxlZCBCRkQgbGlua2VyIG5hbWUuCitkaWZmIC0tZ2l0IGEvbGQvbGQuaCBiL2xkL2xkLmgKK2luZGV4IGI5N2Q5NzdmMzcuLmYzYmJkMmQ1NWQgMTAwNjQ0CistLS0gYS9sZC9sZC5oCisrKysgYi9sZC9sZC5oCitAQCAtMTgwLDYgKzE4MCwxNCBAQCB0eXBlZGVmIHN0cnVjdAorICAgICAgaW4gdGhlIGxpbmtlciBzY3JpcHQuICAqLworICAgYmZkX2Jvb2xlYW4gZm9yY2VfZ3JvdXBfYWxsb2NhdGlvbjsKKyAKKysgIC8qIElmIFRSVUUgKHRoZSBkZWZhdWx0KSB3YXJuIGZvciB1c2VzIG9mIHN5c3RlbSBkaXJlY3RvcmllcyB3aGVuCisrICAgICBjcm9zcyBsaW5raW5nLiAgKi8KKysgIGJmZF9ib29sZWFuIHBvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXM7CisrCisrICAvKiBJZiBUUlVFIChkZWZhdWx0IEZBTFNFKSBnaXZlIGFuIGVycm9yIGZvciB1c2VzIG9mIHN5c3RlbQorKyAgICAgZGlyZWN0b3JpZXMgd2hlbiBjcm9zcyBsaW5raW5nIGluc3RlYWQgb2YgYSB3YXJuaW5nLiAgKi8KKysgIGJmZF9ib29sZWFuIGVycm9yX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXM7CisrCisgICAvKiBCaWcgb3IgbGl0dGxlIGVuZGlhbiBhcyBzZXQgb24gY29tbWFuZCBsaW5lLiAgKi8KKyAgIGVudW0gZW5kaWFuX2VudW0gZW5kaWFuOworIAorZGlmZiAtLWdpdCBhL2xkL2xkLnRleGkgYi9sZC9sZC50ZXhpCitpbmRleCA1MTc5YWYzZTBlLi5mNzhiZjc0NjgyIDEwMDY0NAorLS0tIGEvbGQvbGQudGV4aQorKysrIGIvbGQvbGQudGV4aQorQEAgLTI1MjQsNiArMjUyNCwxOCBAQCBzdHJpbmcgaWRlbnRpZnlpbmcgdGhlIG9yaWdpbmFsIGxpbmtlZCBmaWxlIGRvZXMgbm90IGNoYW5nZS4KKyAKKyBQYXNzaW5nIEBjb2Rle25vbmV9IGZvciBAdmFye3N0eWxlfSBkaXNhYmxlcyB0aGUgc2V0dGluZyBmcm9tIGFueQorIEBjb2Rley0tYnVpbGQtaWR9IG9wdGlvbnMgZWFybGllciBvbiB0aGUgY29tbWFuZCBsaW5lLgorKworK0BraW5kZXggLS1uby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCisrQGl0ZW0gLS1uby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCisrRG8gbm90IHdhcm4gZm9yIEBvcHRpb257LUx9IG9wdGlvbnMgdXNpbmcgc3lzdGVtIGRpcmVjdG9yaWVzIHN1Y2ggYXMKKytAZmlsZXsvdXNyL2xpYn0gd2hlbiBjcm9zcyBsaW5raW5nLiAgVGhpcyBvcHRpb24gaXMgaW50ZW5kZWQgZm9yIHVzZQorK2luIGNocm9vdCBlbnZpcm9ubWVudHMgd2hlbiBzdWNoIGRpcmVjdG9yaWVzIGNvbnRhaW4gdGhlIGNvcnJlY3QKKytsaWJyYXJpZXMgZm9yIHRoZSB0YXJnZXQgc3lzdGVtIHJhdGhlciB0aGFuIHRoZSBob3N0LgorKworK0BraW5kZXggLS1lcnJvci1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCisrQGl0ZW0gLS1lcnJvci1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCisrR2l2ZSBhbiBlcnJvciBpbnN0ZWFkIG9mIGEgd2FybmluZyBmb3IgQG9wdGlvbnstTH0gb3B0aW9ucyB1c2luZworK3N5c3RlbSBkaXJlY3RvcmllcyB3aGVuIGNyb3NzIGxpbmtpbmcuCisgQGVuZCB0YWJsZQorIAorIEBjIG1hbiBlbmQKK2RpZmYgLS1naXQgYS9sZC9sZGZpbGUuYyBiL2xkL2xkZmlsZS5jCitpbmRleCBmY2FkYzA4YzczLi42M2UyOTVjZThhIDEwMDY0NAorLS0tIGEvbGQvbGRmaWxlLmMKKysrKyBiL2xkL2xkZmlsZS5jCitAQCAtMTE2LDYgKzExNiwyMyBAQCBsZGZpbGVfYWRkX2xpYnJhcnlfcGF0aCAoY29uc3QgY2hhciAqbmFtZSwgYmZkX2Jvb2xlYW4gY21kbGluZSkKKyAgICAgbmV3X2RpcnMtPm5hbWUgPSBjb25jYXQgKGxkX3N5c3Jvb3QsIG5hbWUgKyBzdHJsZW4gKCIkU1lTUk9PVCIpLCAoY29uc3QgY2hhciAqKSBOVUxMKTsKKyAgIGVsc2UKKyAgICAgbmV3X2RpcnMtPm5hbWUgPSB4c3RyZHVwIChuYW1lKTsKKysKKysjaWZkZWYgRU5BQkxFX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVMKKysgIGlmIChjb21tYW5kX2xpbmUucG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcworKyAgJiYgKCghc3RybmNtcCAobmFtZSwgIi9saWIiLCA0KSkKKysgICAgICB8fCAoIXN0cm5jbXAgKG5hbWUsICIvdXNyL2xpYiIsIDgpKQorKyAgICAgIHx8ICghc3RybmNtcCAobmFtZSwgIi91c3IvbG9jYWwvbGliIiwgMTQpKQorKyAgICAgIHx8ICghc3RybmNtcCAobmFtZSwgIi91c3IvWDExUjYvbGliIiwgMTQpKSkpCisrICAgeworKyAgICAgaWYgKGNvbW1hbmRfbGluZS5lcnJvcl9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzKQorKyAgICAgICBlaW5mbyAoXygiJVglUDogZXJyb3I6IGxpYnJhcnkgc2VhcmNoIHBhdGggXCIlc1wiIGlzIHVuc2FmZSBmb3IgIgorKyAgICAgICAgICAgICJjcm9zcy1jb21waWxhdGlvblxuIiksIG5hbWUpOworKyAgICAgZWxzZQorKyAgICAgICBlaW5mbyAoXygiJVA6IHdhcm5pbmc6IGxpYnJhcnkgc2VhcmNoIHBhdGggXCIlc1wiIGlzIHVuc2FmZSBmb3IgIgorKyAgICAgICAgICAgICJjcm9zcy1jb21waWxhdGlvblxuIiksIG5hbWUpOworKyAgIH0KKysjZW5kaWYKKysKKyB9CisgCisgLyogVHJ5IHRvIG9wZW4gYSBCRkQgZm9yIGEgbGFuZ19pbnB1dF9zdGF0ZW1lbnQuICAqLworZGlmZiAtLWdpdCBhL2xkL2xkbGV4LmggYi9sZC9sZGxleC5oCitpbmRleCAzMjg1M2RlYmU0Li44MTM1MzYxYzQ5IDEwMDY0NAorLS0tIGEvbGQvbGRsZXguaAorKysrIGIvbGQvbGRsZXguaAorQEAgLTE0OCw2ICsxNDgsOCBAQCBlbnVtIG9wdGlvbl92YWx1ZXMKKyAgIE9QVElPTl9SRVFVSVJFX0RFRklORURfU1lNQk9MLAorICAgT1BUSU9OX09SUEhBTl9IQU5ETElORywKKyAgIE9QVElPTl9GT1JDRV9HUk9VUF9BTExPQ0FUSU9OLAorKyAgT1BUSU9OX05PX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVMsCisrICBPUFRJT05fRVJST1JfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUywKKyB9OworIAorIC8qIFRoZSBpbml0aWFsIHBhcnNlciBzdGF0ZXMuICAqLworZGlmZiAtLWdpdCBhL2xkL2xkbWFpbi5jIGIvbGQvbGRtYWluLmMKK2luZGV4IDc3Y2RiZDBkZDIuLjcyNTUxMmYxMjYgMTAwNjQ0CistLS0gYS9sZC9sZG1haW4uYworKysrIGIvbGQvbGRtYWluLmMKK0BAIC0yNjksNiArMjY5LDggQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorICAgY29tbWFuZF9saW5lLndhcm5fbWlzbWF0Y2ggPSBUUlVFOworICAgY29tbWFuZF9saW5lLndhcm5fc2VhcmNoX21pc21hdGNoID0gVFJVRTsKKyAgIGNvbW1hbmRfbGluZS5jaGVja19zZWN0aW9uX2FkZHJlc3NlcyA9IC0xOworKyAgY29tbWFuZF9saW5lLnBvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMgPSBUUlVFOworKyAgY29tbWFuZF9saW5lLmVycm9yX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMgPSBGQUxTRTsKKyAKKyAgIC8qIFdlIGluaXRpYWxpemUgREVNQU5HTElORyBiYXNlZCBvbiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUKKyAgICAgIENPTExFQ1RfTk9fREVNQU5HTEUuICBUaGUgZ2NjIGNvbGxlY3QyIHByb2dyYW0gd2lsbCBkZW1hbmdsZSB0aGUKK2RpZmYgLS1naXQgYS9sZC9sZXhzdXAuYyBiL2xkL2xleHN1cC5jCitpbmRleCA4OGU4NWM3M2Y0Li5lZWQxYjcxNDU2IDEwMDY0NAorLS0tIGEvbGQvbGV4c3VwLmMKKysrKyBiL2xkL2xleHN1cC5jCitAQCAtNTQzLDYgKzU0MywxNCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGxkX29wdGlvbiBsZF9vcHRpb25zW10gPQorICAgeyB7Im9ycGhhbi1oYW5kbGluZyIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRJT05fT1JQSEFOX0hBTkRMSU5HfSwKKyAgICAgJ1wwJywgTl8oIj1NT0RFIiksIE5fKCJDb250cm9sIGhvdyBvcnBoYW4gc2VjdGlvbnMgYXJlIGhhbmRsZWQuIiksCisgICAgIFRXT19EQVNIRVMgfSwKKysgIHsgeyJuby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzIiwgbm9fYXJndW1lbnQsIE5VTEwsCisrICAgICBPUFRJT05fTk9fUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFU30sCisrICAgICdcMCcsIE5VTEwsIE5fKCJEbyBub3Qgd2FybiBmb3IgLUwgb3B0aW9ucyB1c2luZyBzeXN0ZW0gZGlyZWN0b3JpZXMiKSwKKysgICAgVFdPX0RBU0hFUyB9LAorKyAgeyB7ImVycm9yLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMiLCBub19hcmd1bWVudCwgTlVMTCwKKysgICAgKyAgICAgT1BUSU9OX0VSUk9SX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVN9LAorKyAgICAnXDAnLCBOVUxMLCBOXygiR2l2ZSBhbiBlcnJvciBmb3IgLUwgb3B0aW9ucyB1c2luZyBzeXN0ZW0gZGlyZWN0b3JpZXMiKSwKKysgICAgVFdPX0RBU0hFUyB9LAorIH07CisgCisgI2RlZmluZSBPUFRJT05fQ09VTlQgQVJSQVlfU0laRSAobGRfb3B0aW9ucykKK0BAIC0xNTc3LDYgKzE1ODUsMTQgQEAgcGFyc2VfYXJncyAodW5zaWduZWQgYXJnYywgY2hhciAqKmFyZ3YpCisgCSAgICBlaW5mbyAoXygiJUYlUDogaW52YWxpZCBhcmd1bWVudCB0byBvcHRpb24iCisgCQkgICAgICIgXCItLW9ycGhhbi1oYW5kbGluZ1wiXG4iKSk7CisgCSAgYnJlYWs7CisrCisrCWNhc2UgT1BUSU9OX05PX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVM6CisrCSAgY29tbWFuZF9saW5lLnBvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMgPSBGQUxTRTsKKysJICBicmVhazsKKysKKysJY2FzZSBPUFRJT05fRVJST1JfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUzoKKysJICBjb21tYW5kX2xpbmUuZXJyb3JfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcyA9IFRSVUU7CisrCSAgYnJlYWs7CisgCX0KKyAgICAgfQorIAorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwOS1GaXgtcnBhdGgtaW4tbGlidG9vbC13aGVuLXN5c3Jvb3QtaXMtZW5hYmxlZC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDktRml4LXJwYXRoLWluLWxpYnRvb2wtd2hlbi1zeXNyb290LWlzLWVuYWJsZWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjZiMWU3YQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDktRml4LXJwYXRoLWluLWxpYnRvb2wtd2hlbi1zeXNyb290LWlzLWVuYWJsZWQucGF0Y2gKQEAgLTAsMCArMSw1MiBAQAorRnJvbSAyY2Q1NjEzYTg2Zjg3NzJmOWQ3ZjE4ODUzMjcxODM2MzY2OGVkOTlkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMiBNYXIgMjAxNSAwMTo0MjozOCArMDAwMAorU3ViamVjdDogW1BBVENIIDA5LzE1XSBGaXggcnBhdGggaW4gbGlidG9vbCB3aGVuIHN5c3Jvb3QgaXMgZW5hYmxlZAorCitFbmFibGluZyBzeXNyb290IHN1cHBvcnQgaW4gbGlidG9vbCBleHBvc2VkIGEgYnVnIHdoZXJlIHRoZSBmaW5hbAorbGlicmFyeSBoYWQgYW4gUlBBVEggZW5jb2RlZCBpbnRvIGl0IHdoaWNoIHN0aWxsIHBvaW50ZWQgdG8gdGhlCitzeXNyb290LiBUaGlzIHdvcmtzIGFyb3VuZCB0aGUgaXNzdWUgdW50aWwgaXQgZ2V0cyBzb3J0ZWQgb3V0Cit1cHN0cmVhbS4KKworRml4IHN1Z2dlc3RlZCBieSBSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogU2NvdHQgR2FybWFuIDxzY290dC5hLmdhcm1hbkBpbnRlbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgbHRtYWluLnNoIHwgMTAgKysrKysrKystLQorIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9sdG1haW4uc2ggYi9sdG1haW4uc2gKK2luZGV4IDcwZTg1NmUwNjUuLjExZWU2ODRjY2MgMTAwNjQ0CistLS0gYS9sdG1haW4uc2gKKysrKyBiL2x0bWFpbi5zaAorQEAgLTgwMzUsOSArODAzNSwxMSBAQCBFT0YKKyAJICB0ZXN0ICIkb3B0X21vZGUiICE9IHJlbGluayAmJiBycGF0aD0iJGNvbXBpbGVfcnBhdGgkcnBhdGgiCisgCSAgZm9yIGxpYmRpciBpbiAkcnBhdGg7IGRvCisgCSAgICBpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYyI7IHRoZW4KKysJCSAgZnVuY19yZXBsYWNlX3N5c3Jvb3QgIiRsaWJkaXIiCisrCQkgIGxpYmRpcj0kZnVuY19yZXBsYWNlX3N5c3Jvb3RfcmVzdWx0CisrCQkgIGZ1bmNfc3RyaXBuYW1lICc9JyAnJyAiJGxpYmRpciIKKysJCSAgbGliZGlyPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQKKyAJICAgICAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IiOyB0aGVuCistCQlmdW5jX3JlcGxhY2Vfc3lzcm9vdCAiJGxpYmRpciIKKy0JCWxpYmRpcj0kZnVuY19yZXBsYWNlX3N5c3Jvb3RfcmVzdWx0CisgCQlpZiB0ZXN0IC16ICIkaGFyZGNvZGVfbGliZGlycyI7IHRoZW4KKyAJCSAgaGFyZGNvZGVfbGliZGlycz0iJGxpYmRpciIKKyAJCWVsc2UKK0BAIC04NzcwLDYgKzg3NzIsMTAgQEAgRU9GCisgICAgICAgaGFyZGNvZGVfbGliZGlycz0KKyAgICAgICBmb3IgbGliZGlyIGluICRjb21waWxlX3JwYXRoICRmaW5hbGl6ZV9ycGF0aDsgZG8KKyAJaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMiOyB0aGVuCisrCSAgZnVuY19yZXBsYWNlX3N5c3Jvb3QgIiRsaWJkaXIiCisrCSAgbGliZGlyPSRmdW5jX3JlcGxhY2Vfc3lzcm9vdF9yZXN1bHQKKysJICBmdW5jX3N0cmlwbmFtZSAnPScgJycgIiRsaWJkaXIiCisrCSAgbGliZGlyPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQKKyAJICBpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciI7IHRoZW4KKyAJICAgIGlmIHRlc3QgLXogIiRoYXJkY29kZV9saWJkaXJzIjsgdGhlbgorIAkgICAgICBoYXJkY29kZV9saWJkaXJzPSIkbGliZGlyIgorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwOS13YXJuLWZvci11c2VzLW9mLXN5c3RlbS1kaXJlY3Rvcmllcy13aGVuLWNyb3NzLWxpbmtpLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwOS13YXJuLWZvci11c2VzLW9mLXN5c3RlbS1kaXJlY3Rvcmllcy13aGVuLWNyb3NzLWxpbmtpLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YTllMzE5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDktd2Fybi1mb3ItdXNlcy1vZi1zeXN0ZW0tZGlyZWN0b3JpZXMtd2hlbi1jcm9zcy1saW5raS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI3MyArMCwwIEBACi1Gcm9tIGEzNjY3MDU5ZmMwZDUyZDg5MGI1MDViZWQwZTUwNTBlYTNkNzAwMmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAxNSBKYW4gMjAxNiAwNjozMTowOSArMDAwMAotU3ViamVjdDogW1BBVENIIDA5LzE1XSB3YXJuIGZvciB1c2VzIG9mIHN5c3RlbSBkaXJlY3RvcmllcyB3aGVuIGNyb3NzIGxpbmtpbmcKLQotMjAwOC0wNy0wMiAgSm9zZXBoIE15ZXJzICA8am9zZXBoQGNvZGVzb3VyY2VyeS5jb20+Ci0KLSAgICBsZC8KLSAgICAqIGxkLmggKGFyZ3NfdHlwZSk6IEFkZCBlcnJvcl9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzLgotICAgICogbGQudGV4aW5mbyAoLS1lcnJvci1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzKTogRG9jdW1lbnQuCi0gICAgKiBsZGZpbGUuYyAobGRmaWxlX2FkZF9saWJyYXJ5X3BhdGgpOiBDaGVjawotICAgIGNvbW1hbmRfbGluZS5lcnJvcl9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzLgotICAgICogbGRtYWluLmMgKG1haW4pOiBJbml0aWFsaXplCi0gICAgY29tbWFuZF9saW5lLmVycm9yX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMuCi0gICAgKiBsZXhzdXAuYyAoZW51bSBvcHRpb25fdmFsdWVzKTogQWRkCi0gICAgT1BUSU9OX0VSUk9SX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVMuCi0gICAgKGxkX29wdGlvbnMpOiBBZGQgLS1lcnJvci1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzLgotICAgIChwYXJzZV9hcmdzKTogSGFuZGxlIG5ldyBvcHRpb24uCi0KLTIwMDctMDYtMTMgIEpvc2VwaCBNeWVycyAgPGpvc2VwaEBjb2Rlc291cmNlcnkuY29tPgotCi0gICAgbGQvCi0gICAgKiBjb25maWcuaW46IFJlZ2VuZXJhdGUuCi0gICAgKiBsZC5oIChhcmdzX3R5cGUpOiBBZGQgcG9pc29uX3N5c3RlbV9kaXJlY3Rvcmllcy4KLSAgICAqIGxkLnRleGluZm8gKC0tbm8tcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllcyk6IERvY3VtZW50LgotICAgICogbGRmaWxlLmMgKGxkZmlsZV9hZGRfbGlicmFyeV9wYXRoKTogQ2hlY2sKLSAgICBjb21tYW5kX2xpbmUucG9pc29uX3N5c3RlbV9kaXJlY3Rvcmllcy4KLSAgICAqIGxkbWFpbi5jIChtYWluKTogSW5pdGlhbGl6ZQotICAgIGNvbW1hbmRfbGluZS5wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzLgotICAgICogbGV4c3VwLmMgKGVudW0gb3B0aW9uX3ZhbHVlcyk6IEFkZAotICAgIE9QVElPTl9OT19QT0lTT05fU1lTVEVNX0RJUkVDVE9SSUVTLgotICAgIChsZF9vcHRpb25zKTogQWRkIC0tbm8tcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllcy4KLSAgICAocGFyc2VfYXJncyk6IEhhbmRsZSBuZXcgb3B0aW9uLgotCi0yMDA3LTA0LTIwICBKb3NlcGggTXllcnMgIDxqb3NlcGhAY29kZXNvdXJjZXJ5LmNvbT4KLQotICAgIE1lcmdlIGZyb20gU291cmNlcnkgRysrIGJpbnV0aWxzIDIuMTc6Ci0KLSAgICAyMDA3LTAzLTIwICBKb3NlcGggTXllcnMgIDxqb3NlcGhAY29kZXNvdXJjZXJ5LmNvbT4KLSAgICBCYXNlZCBvbiBwYXRjaCBieSBNYXJrIEhhdGxlIDxtYXJrLmhhdGxlQHdpbmRyaXZlci5jb20+LgotICAgIGxkLwotICAgICogY29uZmlndXJlLmluICgtLWVuYWJsZS1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzKTogTmV3IG9wdGlvbi4KLSAgICAqIGNvbmZpZ3VyZSwgY29uZmlnLmluOiBSZWdlbmVyYXRlLgotICAgICogbGRmaWxlLmMgKGxkZmlsZV9hZGRfbGlicmFyeV9wYXRoKTogSWYKLSAgICBFTkFCTEVfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUyBkZWZpbmVkLCB3YXJuIGZvciB1c2Ugb2YgL2xpYiwKLSAgICAvdXNyL2xpYiwgL3Vzci9sb2NhbC9saWIgb3IgL3Vzci9YMTFSNi9saWIuCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBNYXJrIEhhdGxlIDxtYXJrLmhhdGxlQHdpbmRyaXZlci5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBTY290dCBHYXJtYW4gPHNjb3R0LmEuZ2FybWFuQGludGVsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBsZC9jb25maWcuaW4gICAgfCAgMyArKysKLSBsZC9jb25maWd1cmUgICAgfCAxNiArKysrKysrKysrKysrKysrCi0gbGQvY29uZmlndXJlLmFjIHwgMTAgKysrKysrKysrKwotIGxkL2xkLmggICAgICAgICB8ICA4ICsrKysrKysrCi0gbGQvbGQudGV4aSAgICAgIHwgMTIgKysrKysrKysrKysrCi0gbGQvbGRmaWxlLmMgICAgIHwgMTcgKysrKysrKysrKysrKysrKysKLSBsZC9sZGxleC5oICAgICAgfCAgMiArKwotIGxkL2xkbWFpbi5jICAgICB8ICAyICsrCi0gbGQvbGV4c3VwLmMgICAgIHwgMTYgKysrKysrKysrKysrKysrKwotIDkgZmlsZXMgY2hhbmdlZCwgODYgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvbGQvY29uZmlnLmluIGIvbGQvY29uZmlnLmluCi1pbmRleCBkOTNjOWIwODMwLi41ZGEyNzQyYmVhIDEwMDY0NAotLS0tIGEvbGQvY29uZmlnLmluCi0rKysgYi9sZC9jb25maWcuaW4KLUBAIC0zMSw2ICszMSw5IEBACi0gICAgbGFuZ3VhZ2UgaXMgcmVxdWVzdGVkLiAqLwotICN1bmRlZiBFTkFCTEVfTkxTCi0gCi0rLyogRGVmaW5lIHRvIHdhcm4gZm9yIHVzZSBvZiBuYXRpdmUgc3lzdGVtIGxpYnJhcnkgZGlyZWN0b3JpZXMgKi8KLSsjdW5kZWYgRU5BQkxFX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVMKLSsKLSAvKiBBZGRpdGlvbmFsIGV4dGVuc2lvbiBhIHNoYXJlZCBvYmplY3QgbWlnaHQgaGF2ZS4gKi8KLSAjdW5kZWYgRVhUUkFfU0hMSUJfRVhURU5TSU9OCi0gCi1kaWZmIC0tZ2l0IGEvbGQvY29uZmlndXJlIGIvbGQvY29uZmlndXJlCi1pbmRleCAyYjI5MWYwZGE4Li5mYWNjMzg2NTYzIDEwMDc1NQotLS0tIGEvbGQvY29uZmlndXJlCi0rKysgYi9sZC9jb25maWd1cmUKLUBAIC04MjYsNiArODI2LDcgQEAgd2l0aF9saWJfcGF0aAotIGVuYWJsZV90YXJnZXRzCi0gZW5hYmxlXzY0X2JpdF9iZmQKLSB3aXRoX3N5c3Jvb3QKLStlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcwotIGVuYWJsZV9nb2xkCi0gZW5hYmxlX2dvdAotIGVuYWJsZV9jb21wcmVzc2VkX2RlYnVnX3NlY3Rpb25zCi1AQCAtMTQ5MCw2ICsxNDkxLDggQEAgT3B0aW9uYWwgRmVhdHVyZXM6Ci0gICAtLWRpc2FibGUtbGFyZ2VmaWxlICAgICBvbWl0IHN1cHBvcnQgZm9yIGxhcmdlIGZpbGVzCi0gICAtLWVuYWJsZS10YXJnZXRzICAgICAgICBhbHRlcm5hdGl2ZSB0YXJnZXQgY29uZmlndXJhdGlvbnMKLSAgIC0tZW5hYmxlLTY0LWJpdC1iZmQgICAgIDY0LWJpdCBzdXBwb3J0IChvbiBob3N0cyB3aXRoIG5hcnJvd2VyIHdvcmQgc2l6ZXMpCi0rICAtLWVuYWJsZS1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCi0rICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuIGZvciB1c2Ugb2YgbmF0aXZlIHN5c3RlbSBsaWJyYXJ5IGRpcmVjdG9yaWVzCi0gICAtLWVuYWJsZS1nb2xkWz1BUkddICAgICBidWlsZCBnb2xkIFtBUkc9e2RlZmF1bHQseWVzLG5vfV0KLSAgIC0tZW5hYmxlLWdvdD08dHlwZT4gICAgIEdPVCBoYW5kbGluZyBzY2hlbWUgKHRhcmdldCwgc2luZ2xlLCBuZWdhdGl2ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpZ290KQotQEAgLTE2NjE4LDYgKzE2NjIxLDE5IEBAIGZpCi0gCi0gCi0gCi0rIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMgd2FzIGdpdmVuLgotK2lmIHRlc3QgIiR7ZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMrc2V0fSIgPSBzZXQ7IHRoZW4gOgotKyAgZW5hYmxldmFsPSRlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllczsKLStlbHNlCi0rICBlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3Rvcmllcz1ubwotK2ZpCi0rCi0raWYgdGVzdCAieCR7ZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXN9IiA9ICJ4eWVzIjsgdGhlbgotKwotKyRhc19lY2hvICIjZGVmaW5lIEVOQUJMRV9QT0lTT05fU1lTVEVNX0RJUkVDVE9SSUVTIDEiID4+Y29uZmRlZnMuaAotKwotK2ZpCi0rCi0gIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWdvbGQgd2FzIGdpdmVuLgotIGlmIHRlc3QgIiR7ZW5hYmxlX2dvbGQrc2V0fSIgPSBzZXQ7IHRoZW4gOgotICAgZW5hYmxldmFsPSRlbmFibGVfZ29sZDsgY2FzZSAiJHtlbmFibGV2YWx9IiBpbgotZGlmZiAtLWdpdCBhL2xkL2NvbmZpZ3VyZS5hYyBiL2xkL2NvbmZpZ3VyZS5hYwotaW5kZXggZDEwYzU1MzY1MC4uOWYxYjU3YjEyMCAxMDA2NDQKLS0tLSBhL2xkL2NvbmZpZ3VyZS5hYwotKysrIGIvbGQvY29uZmlndXJlLmFjCi1AQCAtOTQsNiArOTQsMTYgQEAgQUNfU1VCU1QodXNlX3N5c3Jvb3QpCi0gQUNfU1VCU1QoVEFSR0VUX1NZU1RFTV9ST09UKQotIEFDX1NVQlNUKFRBUkdFVF9TWVNURU1fUk9PVF9ERUZJTkUpCi0gCi0rQUNfQVJHX0VOQUJMRShbcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllc10sCi0rICAgICAgICAgQVNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXNdLAotKyAgICAgICAgICAgICAgICBbd2FybiBmb3IgdXNlIG9mIG5hdGl2ZSBzeXN0ZW0gbGlicmFyeSBkaXJlY3Rvcmllc10pLCwKLSsgICAgICAgICBbZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXM9bm9dKQotK2lmIHRlc3QgIngke2VuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzfSIgPSAieHllcyI7IHRoZW4KLSsgIEFDX0RFRklORShbRU5BQkxFX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVNdLAotKyAgICAgICBbMV0sCi0rICAgICAgIFtEZWZpbmUgdG8gd2FybiBmb3IgdXNlIG9mIG5hdGl2ZSBzeXN0ZW0gbGlicmFyeSBkaXJlY3Rvcmllc10pCi0rZmkKLSsKLSBkbmwgVXNlIC0tZW5hYmxlLWdvbGQgdG8gZGVjaWRlIGlmIHRoaXMgbGlua2VyIHNob3VsZCBiZSB0aGUgZGVmYXVsdC4KLSBkbmwgImluc3RhbGxfYXNfZGVmYXVsdCIgaXMgc2V0IHRvIGZhbHNlIGlmIGdvbGQgaXMgdGhlIGRlZmF1bHQgbGlua2VyLgotIGRubCAiaW5zdGFsbGVkX2xpbmtlciIgaXMgdGhlIGluc3RhbGxlZCBCRkQgbGlua2VyIG5hbWUuCi1kaWZmIC0tZ2l0IGEvbGQvbGQuaCBiL2xkL2xkLmgKLWluZGV4IGJhOTE0YjkyMWUuLjlkZjE3ZGFiNmMgMTAwNjQ0Ci0tLS0gYS9sZC9sZC5oCi0rKysgYi9sZC9sZC5oCi1AQCAtMTgwLDYgKzE4MCwxNCBAQCB0eXBlZGVmIHN0cnVjdAotICAgICAgaW4gdGhlIGxpbmtlciBzY3JpcHQuICAqLwotICAgYmZkX2Jvb2xlYW4gZm9yY2VfZ3JvdXBfYWxsb2NhdGlvbjsKLSAKLSsgIC8qIElmIFRSVUUgKHRoZSBkZWZhdWx0KSB3YXJuIGZvciB1c2VzIG9mIHN5c3RlbSBkaXJlY3RvcmllcyB3aGVuCi0rICAgICBjcm9zcyBsaW5raW5nLiAgKi8KLSsgIGJmZF9ib29sZWFuIHBvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXM7Ci0rCi0rICAvKiBJZiBUUlVFIChkZWZhdWx0IEZBTFNFKSBnaXZlIGFuIGVycm9yIGZvciB1c2VzIG9mIHN5c3RlbQotKyAgICAgZGlyZWN0b3JpZXMgd2hlbiBjcm9zcyBsaW5raW5nIGluc3RlYWQgb2YgYSB3YXJuaW5nLiAgKi8KLSsgIGJmZF9ib29sZWFuIGVycm9yX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXM7Ci0rCi0gICAvKiBCaWcgb3IgbGl0dGxlIGVuZGlhbiBhcyBzZXQgb24gY29tbWFuZCBsaW5lLiAgKi8KLSAgIGVudW0gZW5kaWFuX2VudW0gZW5kaWFuOwotIAotZGlmZiAtLWdpdCBhL2xkL2xkLnRleGkgYi9sZC9sZC50ZXhpCi1pbmRleCBiOWZlMjMyNGRhLi40MzQ4NjYwNWUwIDEwMDY0NAotLS0tIGEvbGQvbGQudGV4aQotKysrIGIvbGQvbGQudGV4aQotQEAgLTI0NzksNiArMjQ3OSwxOCBAQCBzdHJpbmcgaWRlbnRpZnlpbmcgdGhlIG9yaWdpbmFsIGxpbmtlZCBmaWxlIGRvZXMgbm90IGNoYW5nZS4KLSAKLSBQYXNzaW5nIEBjb2Rle25vbmV9IGZvciBAdmFye3N0eWxlfSBkaXNhYmxlcyB0aGUgc2V0dGluZyBmcm9tIGFueQotIEBjb2Rley0tYnVpbGQtaWR9IG9wdGlvbnMgZWFybGllciBvbiB0aGUgY29tbWFuZCBsaW5lLgotKwotK0BraW5kZXggLS1uby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCi0rQGl0ZW0gLS1uby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCi0rRG8gbm90IHdhcm4gZm9yIEBvcHRpb257LUx9IG9wdGlvbnMgdXNpbmcgc3lzdGVtIGRpcmVjdG9yaWVzIHN1Y2ggYXMKLStAZmlsZXsvdXNyL2xpYn0gd2hlbiBjcm9zcyBsaW5raW5nLiAgVGhpcyBvcHRpb24gaXMgaW50ZW5kZWQgZm9yIHVzZQotK2luIGNocm9vdCBlbnZpcm9ubWVudHMgd2hlbiBzdWNoIGRpcmVjdG9yaWVzIGNvbnRhaW4gdGhlIGNvcnJlY3QKLStsaWJyYXJpZXMgZm9yIHRoZSB0YXJnZXQgc3lzdGVtIHJhdGhlciB0aGFuIHRoZSBob3N0LgotKwotK0BraW5kZXggLS1lcnJvci1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCi0rQGl0ZW0gLS1lcnJvci1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCi0rR2l2ZSBhbiBlcnJvciBpbnN0ZWFkIG9mIGEgd2FybmluZyBmb3IgQG9wdGlvbnstTH0gb3B0aW9ucyB1c2luZwotK3N5c3RlbSBkaXJlY3RvcmllcyB3aGVuIGNyb3NzIGxpbmtpbmcuCi0gQGVuZCB0YWJsZQotIAotIEBjIG1hbiBlbmQKLWRpZmYgLS1naXQgYS9sZC9sZGZpbGUuYyBiL2xkL2xkZmlsZS5jCi1pbmRleCBhNzJmZjEzNTI2Li5kYzUxNDhmNzQ4IDEwMDY0NAotLS0tIGEvbGQvbGRmaWxlLmMKLSsrKyBiL2xkL2xkZmlsZS5jCi1AQCAtMTE2LDYgKzExNiwyMyBAQCBsZGZpbGVfYWRkX2xpYnJhcnlfcGF0aCAoY29uc3QgY2hhciAqbmFtZSwgYmZkX2Jvb2xlYW4gY21kbGluZSkKLSAgICAgbmV3X2RpcnMtPm5hbWUgPSBjb25jYXQgKGxkX3N5c3Jvb3QsIG5hbWUgKyBzdHJsZW4gKCIkU1lTUk9PVCIpLCAoY29uc3QgY2hhciAqKSBOVUxMKTsKLSAgIGVsc2UKLSAgICAgbmV3X2RpcnMtPm5hbWUgPSB4c3RyZHVwIChuYW1lKTsKLSsKLSsjaWZkZWYgRU5BQkxFX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVMKLSsgIGlmIChjb21tYW5kX2xpbmUucG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcwotKyAgJiYgKCghc3RybmNtcCAobmFtZSwgIi9saWIiLCA0KSkKLSsgICAgICB8fCAoIXN0cm5jbXAgKG5hbWUsICIvdXNyL2xpYiIsIDgpKQotKyAgICAgIHx8ICghc3RybmNtcCAobmFtZSwgIi91c3IvbG9jYWwvbGliIiwgMTQpKQotKyAgICAgIHx8ICghc3RybmNtcCAobmFtZSwgIi91c3IvWDExUjYvbGliIiwgMTQpKSkpCi0rICAgewotKyAgICAgaWYgKGNvbW1hbmRfbGluZS5lcnJvcl9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzKQotKyAgICAgICBlaW5mbyAoXygiJVglUDogZXJyb3I6IGxpYnJhcnkgc2VhcmNoIHBhdGggXCIlc1wiIGlzIHVuc2FmZSBmb3IgIgotKyAgICAgICAgICAgICJjcm9zcy1jb21waWxhdGlvblxuIiksIG5hbWUpOwotKyAgICAgZWxzZQotKyAgICAgICBlaW5mbyAoXygiJVA6IHdhcm5pbmc6IGxpYnJhcnkgc2VhcmNoIHBhdGggXCIlc1wiIGlzIHVuc2FmZSBmb3IgIgotKyAgICAgICAgICAgICJjcm9zcy1jb21waWxhdGlvblxuIiksIG5hbWUpOwotKyAgIH0KLSsjZW5kaWYKLSsKLSB9Ci0gCi0gLyogVHJ5IHRvIG9wZW4gYSBCRkQgZm9yIGEgbGFuZ19pbnB1dF9zdGF0ZW1lbnQuICAqLwotZGlmZiAtLWdpdCBhL2xkL2xkbGV4LmggYi9sZC9sZGxleC5oCi1pbmRleCAwNGQ2ZmQ1Zjk2Li5kN2RmMDA1YmIyIDEwMDY0NAotLS0tIGEvbGQvbGRsZXguaAotKysrIGIvbGQvbGRsZXguaAotQEAgLTE0OCw2ICsxNDgsOCBAQCBlbnVtIG9wdGlvbl92YWx1ZXMKLSAgIE9QVElPTl9SRVFVSVJFX0RFRklORURfU1lNQk9MLAotICAgT1BUSU9OX09SUEhBTl9IQU5ETElORywKLSAgIE9QVElPTl9GT1JDRV9HUk9VUF9BTExPQ0FUSU9OLAotKyAgT1BUSU9OX05PX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVMsCi0rICBPUFRJT05fRVJST1JfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUywKLSB9OwotIAotIC8qIFRoZSBpbml0aWFsIHBhcnNlciBzdGF0ZXMuICAqLwotZGlmZiAtLWdpdCBhL2xkL2xkbWFpbi5jIGIvbGQvbGRtYWluLmMKLWluZGV4IGYzMWVlYjI5YzMuLjI1Zjg0OTc4ODggMTAwNjQ0Ci0tLS0gYS9sZC9sZG1haW4uYwotKysrIGIvbGQvbGRtYWluLmMKLUBAIC0yNjgsNiArMjY4LDggQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQotICAgY29tbWFuZF9saW5lLndhcm5fbWlzbWF0Y2ggPSBUUlVFOwotICAgY29tbWFuZF9saW5lLndhcm5fc2VhcmNoX21pc21hdGNoID0gVFJVRTsKLSAgIGNvbW1hbmRfbGluZS5jaGVja19zZWN0aW9uX2FkZHJlc3NlcyA9IC0xOwotKyAgY29tbWFuZF9saW5lLnBvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMgPSBUUlVFOwotKyAgY29tbWFuZF9saW5lLmVycm9yX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMgPSBGQUxTRTsKLSAKLSAgIC8qIFdlIGluaXRpYWxpemUgREVNQU5HTElORyBiYXNlZCBvbiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUKLSAgICAgIENPTExFQ1RfTk9fREVNQU5HTEUuICBUaGUgZ2NjIGNvbGxlY3QyIHByb2dyYW0gd2lsbCBkZW1hbmdsZSB0aGUKLWRpZmYgLS1naXQgYS9sZC9sZXhzdXAuYyBiL2xkL2xleHN1cC5jCi1pbmRleCA4NmEwMzNhMzgzLi40YTQwZDQ4MDIwIDEwMDY0NAotLS0tIGEvbGQvbGV4c3VwLmMKLSsrKyBiL2xkL2xleHN1cC5jCi1AQCAtNTQzLDYgKzU0MywxNCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGxkX29wdGlvbiBsZF9vcHRpb25zW10gPQotICAgeyB7Im9ycGhhbi1oYW5kbGluZyIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRJT05fT1JQSEFOX0hBTkRMSU5HfSwKLSAgICAgJ1wwJywgTl8oIj1NT0RFIiksIE5fKCJDb250cm9sIGhvdyBvcnBoYW4gc2VjdGlvbnMgYXJlIGhhbmRsZWQuIiksCi0gICAgIFRXT19EQVNIRVMgfSwKLSsgIHsgeyJuby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzIiwgbm9fYXJndW1lbnQsIE5VTEwsCi0rICAgICBPUFRJT05fTk9fUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFU30sCi0rICAgICdcMCcsIE5VTEwsIE5fKCJEbyBub3Qgd2FybiBmb3IgLUwgb3B0aW9ucyB1c2luZyBzeXN0ZW0gZGlyZWN0b3JpZXMiKSwKLSsgICAgVFdPX0RBU0hFUyB9LAotKyAgeyB7ImVycm9yLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMiLCBub19hcmd1bWVudCwgTlVMTCwKLSsgICAgKyAgICAgT1BUSU9OX0VSUk9SX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVN9LAotKyAgICAnXDAnLCBOVUxMLCBOXygiR2l2ZSBhbiBlcnJvciBmb3IgLUwgb3B0aW9ucyB1c2luZyBzeXN0ZW0gZGlyZWN0b3JpZXMiKSwKLSsgICAgVFdPX0RBU0hFUyB9LAotIH07Ci0gCi0gI2RlZmluZSBPUFRJT05fQ09VTlQgQVJSQVlfU0laRSAobGRfb3B0aW9ucykKLUBAIC0xNTc3LDYgKzE1ODUsMTQgQEAgcGFyc2VfYXJncyAodW5zaWduZWQgYXJnYywgY2hhciAqKmFyZ3YpCi0gCSAgICBlaW5mbyAoXygiJUYlUDogaW52YWxpZCBhcmd1bWVudCB0byBvcHRpb24iCi0gCQkgICAgICIgXCItLW9ycGhhbi1oYW5kbGluZ1wiXG4iKSk7Ci0gCSAgYnJlYWs7Ci0rCi0rCWNhc2UgT1BUSU9OX05PX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVM6Ci0rCSAgY29tbWFuZF9saW5lLnBvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMgPSBGQUxTRTsKLSsJICBicmVhazsKLSsKLSsJY2FzZSBPUFRJT05fRVJST1JfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUzoKLSsJICBjb21tYW5kX2xpbmUuZXJyb3JfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcyA9IFRSVUU7Ci0rCSAgYnJlYWs7Ci0gCX0KLSAgICAgfQotIAotLS0gCi0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxMC1DaGFuZ2UtZGVmYXVsdC1lbXVsYXRpb24tZm9yLW1pcHM2NC1saW51eC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTAtQ2hhbmdlLWRlZmF1bHQtZW11bGF0aW9uLWZvci1taXBzNjQtbGludXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmE1ZTRjMgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTAtQ2hhbmdlLWRlZmF1bHQtZW11bGF0aW9uLWZvci1taXBzNjQtbGludXgucGF0Y2gKQEAgLTAsMCArMSw1OSBAQAorRnJvbSBkNTQwZTk1ZDA1Y2Q3YzRiODkyNGFjN2IyNTdjMTRhZTAxMDVkMGFiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMiBNYXIgMjAxNSAwMTo0NDoxNCArMDAwMAorU3ViamVjdDogW1BBVENIIDEwLzE1XSBDaGFuZ2UgZGVmYXVsdCBlbXVsYXRpb24gZm9yIG1pcHM2NCotKi1saW51eAorCit3ZSBjaGFuZ2UgdGhlIGRlZmF1bHQgZW11bGF0aW9ucyB0byBiZSBONjQgaW5zdGVhZCBvZiBOMzIKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFsgT0UgY29uZmlndXJhdGlvbiBTcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGJmZC9jb25maWcuYmZkICAgfCA4ICsrKystLS0tCisgbGQvY29uZmlndXJlLnRndCB8IDggKysrKy0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2JmZC9jb25maWcuYmZkIGIvYmZkL2NvbmZpZy5iZmQKK2luZGV4IDBlMWRkYjY1OWMuLmNjNjU1NDc1ODggMTAwNjQ0CistLS0gYS9iZmQvY29uZmlnLmJmZAorKysrIGIvYmZkL2NvbmZpZy5iZmQKK0BAIC05MTksMTIgKzkxOSwxMiBAQCBjYXNlICIke3Rhcmd9IiBpbgorICAgICB0YXJnX3NlbHZlY3M9Im1pcHNfZWxmMzJfbGVfdmVjIG1pcHNfZWxmNjRfYmVfdmVjIG1pcHNfZWxmNjRfbGVfdmVjIG1pcHNfZWNvZmZfYmVfdmVjIG1pcHNfZWNvZmZfbGVfdmVjIgorICAgICA7OworICAgbWlwczY0KmVsLSotbGludXgqKQorLSAgICB0YXJnX2RlZnZlYz1taXBzX2VsZjMyX250cmFkX2xlX3ZlYworLSAgICB0YXJnX3NlbHZlY3M9Im1pcHNfZWxmMzJfbnRyYWRfYmVfdmVjIG1pcHNfZWxmMzJfdHJhZF9sZV92ZWMgbWlwc19lbGYzMl90cmFkX2JlX3ZlYyBtaXBzX2VsZjY0X3RyYWRfbGVfdmVjIG1pcHNfZWxmNjRfdHJhZF9iZV92ZWMiCisrICAgIHRhcmdfZGVmdmVjPW1pcHNfZWxmNjRfdHJhZF9sZV92ZWMKKysgICAgdGFyZ19zZWx2ZWNzPSJtaXBzX2VsZjMyX250cmFkX2JlX3ZlYyBtaXBzX2VsZjMyX250cmFkX2xlX3ZlYyBtaXBzX2VsZjMyX3RyYWRfbGVfdmVjIG1pcHNfZWxmMzJfdHJhZF9iZV92ZWMgbWlwc19lbGY2NF90cmFkX2JlX3ZlYyIKKyAgICAgOzsKKyAgIG1pcHM2NCotKi1saW51eCopCistICAgIHRhcmdfZGVmdmVjPW1pcHNfZWxmMzJfbnRyYWRfYmVfdmVjCistICAgIHRhcmdfc2VsdmVjcz0ibWlwc19lbGYzMl9udHJhZF9sZV92ZWMgbWlwc19lbGYzMl90cmFkX2JlX3ZlYyBtaXBzX2VsZjMyX3RyYWRfbGVfdmVjIG1pcHNfZWxmNjRfdHJhZF9iZV92ZWMgbWlwc19lbGY2NF90cmFkX2xlX3ZlYyIKKysgICAgdGFyZ19kZWZ2ZWM9bWlwc19lbGY2NF90cmFkX2JlX3ZlYworKyAgICB0YXJnX3NlbHZlY3M9Im1pcHNfZWxmMzJfbnRyYWRfYmVfdmVjIG1pcHNfZWxmMzJfbnRyYWRfYmVfdmVjIG1pcHNfZWxmMzJfdHJhZF9iZV92ZWMgbWlwc19lbGYzMl90cmFkX2xlX3ZlYyBtaXBzX2VsZjY0X3RyYWRfbGVfdmVjIgorICAgICA7OworICAgbWlwcyplbC0qLWxpbnV4KikKKyAgICAgdGFyZ19kZWZ2ZWM9bWlwc19lbGYzMl90cmFkX2xlX3ZlYworZGlmZiAtLWdpdCBhL2xkL2NvbmZpZ3VyZS50Z3QgYi9sZC9jb25maWd1cmUudGd0CitpbmRleCBiZWJhMTdlZjUxLi45MTdiZTZmOGViIDEwMDY0NAorLS0tIGEvbGQvY29uZmlndXJlLnRndAorKysrIGIvbGQvY29uZmlndXJlLnRndAorQEAgLTQ2OCwxMSArNDY4LDExIEBAIG1pcHMqZWwtKi12eHdvcmtzKikJdGFyZ19lbXVsPWVsZjMyZWxtaXB2eHdvcmtzCisgbWlwcyotKi12eHdvcmtzKikJdGFyZ19lbXVsPWVsZjMyZWJtaXB2eHdvcmtzCisgCQkJdGFyZ19leHRyYV9lbXVscz0iZWxmMzJlbG1pcHZ4d29ya3MiIDs7CisgbWlwcyotKi13aW5kaXNzKQl0YXJnX2VtdWw9ZWxmMzJtaXBzd2luZGlzcyA7OworLW1pcHM2NCplbC0qLWxpbnV4LSopCXRhcmdfZW11bD1lbGYzMmx0c21pcG4zMgorLQkJCXRhcmdfZXh0cmFfZW11bHM9ImVsZjMyYnRzbWlwbjMyIGVsZjMybHRzbWlwIGVsZjMyYnRzbWlwIGVsZjY0bHRzbWlwIGVsZjY0YnRzbWlwIgorK21pcHM2NCplbC0qLWxpbnV4LSopCXRhcmdfZW11bD1lbGY2NGx0c21pcAorKwkJCXRhcmdfZXh0cmFfZW11bHM9ImVsZjMyYnRzbWlwbjMyIGVsZjMybHRzbWlwbjMyIGVsZjMybHRzbWlwIGVsZjMyYnRzbWlwIGVsZjY0YnRzbWlwIgorIAkJCXRhcmdfZXh0cmFfbGlicGF0aD0kdGFyZ19leHRyYV9lbXVscyA7OworLW1pcHM2NCotKi1saW51eC0qKQl0YXJnX2VtdWw9ZWxmMzJidHNtaXBuMzIKKy0JCQl0YXJnX2V4dHJhX2VtdWxzPSJlbGYzMmx0c21pcG4zMiBlbGYzMmJ0c21pcCBlbGYzMmx0c21pcCBlbGY2NGJ0c21pcCBlbGY2NGx0c21pcCIKKyttaXBzNjQqLSotbGludXgtKikJdGFyZ19lbXVsPWVsZjY0YnRzbWlwCisrCQkJdGFyZ19leHRyYV9lbXVscz0iZWxmMzJidHNtaXBuMzIgZWxmMzJsdHNtaXBuMzIgZWxmMzJidHNtaXAgZWxmMzJsdHNtaXAgZWxmNjRsdHNtaXAiCisgCQkJdGFyZ19leHRyYV9saWJwYXRoPSR0YXJnX2V4dHJhX2VtdWxzIDs7CisgbWlwcyplbC0qLWxpbnV4LSopCXRhcmdfZW11bD1lbGYzMmx0c21pcAorIAkJCXRhcmdfZXh0cmFfZW11bHM9ImVsZjMyYnRzbWlwIGVsZjMybHRzbWlwbjMyIGVsZjY0bHRzbWlwIGVsZjMyYnRzbWlwbjMyIGVsZjY0YnRzbWlwIgorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxMC1GaXgtcnBhdGgtaW4tbGlidG9vbC13aGVuLXN5c3Jvb3QtaXMtZW5hYmxlZC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTAtRml4LXJwYXRoLWluLWxpYnRvb2wtd2hlbi1zeXNyb290LWlzLWVuYWJsZWQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhmYzAwZmYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxMC1GaXgtcnBhdGgtaW4tbGlidG9vbC13aGVuLXN5c3Jvb3QtaXMtZW5hYmxlZC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAKLUZyb20gOWUxZDhmOWE2NTdhOGJkNDgwNDhjMmVhNjQwN2NmNjBiNzIzYmQ2OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDIgTWFyIDIwMTUgMDE6NDI6MzggKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAxMC8xNV0gRml4IHJwYXRoIGluIGxpYnRvb2wgd2hlbiBzeXNyb290IGlzIGVuYWJsZWQKLQotRW5hYmxpbmcgc3lzcm9vdCBzdXBwb3J0IGluIGxpYnRvb2wgZXhwb3NlZCBhIGJ1ZyB3aGVyZSB0aGUgZmluYWwKLWxpYnJhcnkgaGFkIGFuIFJQQVRIIGVuY29kZWQgaW50byBpdCB3aGljaCBzdGlsbCBwb2ludGVkIHRvIHRoZQotc3lzcm9vdC4gVGhpcyB3b3JrcyBhcm91bmQgdGhlIGlzc3VlIHVudGlsIGl0IGdldHMgc29ydGVkIG91dAotdXBzdHJlYW0uCi0KLUZpeCBzdWdnZXN0ZWQgYnkgUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IFNjb3R0IEdhcm1hbiA8c2NvdHQuYS5nYXJtYW5AaW50ZWwuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGx0bWFpbi5zaCB8IDEwICsrKysrKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbHRtYWluLnNoIGIvbHRtYWluLnNoCi1pbmRleCA3MGU4NTZlMDY1Li4xMWVlNjg0Y2NjIDEwMDY0NAotLS0tIGEvbHRtYWluLnNoCi0rKysgYi9sdG1haW4uc2gKLUBAIC04MDM1LDkgKzgwMzUsMTEgQEAgRU9GCi0gCSAgdGVzdCAiJG9wdF9tb2RlIiAhPSByZWxpbmsgJiYgcnBhdGg9IiRjb21waWxlX3JwYXRoJHJwYXRoIgotIAkgIGZvciBsaWJkaXIgaW4gJHJwYXRoOyBkbwotIAkgICAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMiOyB0aGVuCi0rCQkgIGZ1bmNfcmVwbGFjZV9zeXNyb290ICIkbGliZGlyIgotKwkJICBsaWJkaXI9JGZ1bmNfcmVwbGFjZV9zeXNyb290X3Jlc3VsdAotKwkJICBmdW5jX3N0cmlwbmFtZSAnPScgJycgIiRsaWJkaXIiCi0rCQkgIGxpYmRpcj0kZnVuY19zdHJpcG5hbWVfcmVzdWx0Ci0gCSAgICAgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yIjsgdGhlbgotLQkJZnVuY19yZXBsYWNlX3N5c3Jvb3QgIiRsaWJkaXIiCi0tCQlsaWJkaXI9JGZ1bmNfcmVwbGFjZV9zeXNyb290X3Jlc3VsdAotIAkJaWYgdGVzdCAteiAiJGhhcmRjb2RlX2xpYmRpcnMiOyB0aGVuCi0gCQkgIGhhcmRjb2RlX2xpYmRpcnM9IiRsaWJkaXIiCi0gCQllbHNlCi1AQCAtODc3MCw2ICs4NzcyLDEwIEBAIEVPRgotICAgICAgIGhhcmRjb2RlX2xpYmRpcnM9Ci0gICAgICAgZm9yIGxpYmRpciBpbiAkY29tcGlsZV9ycGF0aCAkZmluYWxpemVfcnBhdGg7IGRvCi0gCWlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjIjsgdGhlbgotKwkgIGZ1bmNfcmVwbGFjZV9zeXNyb290ICIkbGliZGlyIgotKwkgIGxpYmRpcj0kZnVuY19yZXBsYWNlX3N5c3Jvb3RfcmVzdWx0Ci0rCSAgZnVuY19zdHJpcG5hbWUgJz0nICcnICIkbGliZGlyIgotKwkgIGxpYmRpcj0kZnVuY19zdHJpcG5hbWVfcmVzdWx0Ci0gCSAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IiOyB0aGVuCi0gCSAgICBpZiB0ZXN0IC16ICIkaGFyZGNvZGVfbGliZGlycyI7IHRoZW4KLSAJICAgICAgaGFyZGNvZGVfbGliZGlycz0iJGxpYmRpciIKLS0tIAotMi4xOC4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTEtQWRkLXN1cHBvcnQtZm9yLU5ldGxvZ2ljLVhMUC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTEtQWRkLXN1cHBvcnQtZm9yLU5ldGxvZ2ljLVhMUC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMGM1ZWQ2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxMS1BZGQtc3VwcG9ydC1mb3ItTmV0bG9naWMtWExQLnBhdGNoCkBAIC0wLDAgKzEsMzkzIEBACitGcm9tIGU0YTBjZDMwYzdlOTMzNGVkNTA3YzkzMDE0YThiMmQxMzE1ZmY5MzcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogU3VuLCAxNCBGZWIgMjAxNiAxNzowNjoxOSArMDAwMAorU3ViamVjdDogW1BBVENIIDExLzE1XSBBZGQgc3VwcG9ydCBmb3IgTmV0bG9naWMgWExQCisKK1BhdGNoIEZyb206IE5lYnUgUGhpbGlwcyA8bnBoaWxpcHNAbmV0bG9naWNtaWNyby5jb20+CisKK1VzaW5nIHRoZSBtaXBzaXNhNjRyMm5sbSB0YXJnZXQsIGFkZCBzdXBwb3J0IGZvciBYTFAgZnJvbQorTmV0bG9naWMuIEFsc28sIHVwZGF0ZSB2ZW5kb3IgbmFtZSB0byBOTE0gd2hlcmV2ZXIgYXBwbGljYWJsZS4KKworVXNlIDB4MDAwMDAwODAgZm9yIElOU05fWExQLCB0aGUgdmFsdWUgMHgwMDAwMDA0MCBoYXMgYWxyZWFkeSBiZWVuCithc3NpZ25lZCB0byBJTlNOX09DVEVPTjMKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBCYW9zaGFuIFBhbmcgPGJhb3NoYW4ucGFuZ0B3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogTWFyayBIYXRsZSA8bWFyay5oYXRsZUB3aW5kcml2ZXIuY29tPgorLS0tCisgYmZkL2FvdXR4LmggICAgICAgICAgIHwgIDEgKworIGJmZC9hcmNodXJlcy5jICAgICAgICB8ICAxICsKKyBiZmQvYmZkLWluMi5oICAgICAgICAgfCAgMSArCisgYmZkL2NvbmZpZy5iZmQgICAgICAgIHwgIDUgKysrKysKKyBiZmQvY3B1LW1pcHMuYyAgICAgICAgfCAgNiArKysrLS0KKyBiZmQvZWxmeHgtbWlwcy5jICAgICAgfCAgOCArKysrKysrKworIGJpbnV0aWxzL3JlYWRlbGYuYyAgICB8ICAxICsKKyBnYXMvY29uZmlnL3RjLW1pcHMuYyAgfCAgNCArKystCisgZ2FzL2NvbmZpZ3VyZSAgICAgICAgIHwgIDMgKysrCisgaW5jbHVkZS9lbGYvbWlwcy5oICAgIHwgIDEgKworIGluY2x1ZGUvb3Bjb2RlL21pcHMuaCB8ICA2ICsrKysrKworIGxkL2NvbmZpZ3VyZS50Z3QgICAgICB8ICAyICsrCisgb3Bjb2Rlcy9taXBzLWRpcy5jICAgIHwgMTIgKysrKystLS0tLS0tCisgb3Bjb2Rlcy9taXBzLW9wYy5jICAgIHwgMzEgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQorIDE0IGZpbGVzIGNoYW5nZWQsIDYxIGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYmZkL2FvdXR4LmggYi9iZmQvYW91dHguaAoraW5kZXggZTVkOGRjZjM5MC4uMmNjNzRhMmQ2MSAxMDA2NDQKKy0tLSBhL2JmZC9hb3V0eC5oCisrKysgYi9iZmQvYW91dHguaAorQEAgLTc5OSw2ICs3OTksNyBAQCBOQU1FIChhb3V0LCBtYWNoaW5lX3R5cGUpIChlbnVtIGJmZF9hcmNoaXRlY3R1cmUgYXJjaCwKKyAJY2FzZSBiZmRfbWFjaF9taXBzaXNhNjRyNjoKKyAJY2FzZSBiZmRfbWFjaF9taXBzX3NiMToKKyAJY2FzZSBiZmRfbWFjaF9taXBzX3hscjoKKysJY2FzZSBiZmRfbWFjaF9taXBzX3hscDoKKyAJICAvKiBGSVhNRTogVGhlc2Ugc2hvdWxkIGJlIE1JUFMzLCBNSVBTNCwgTUlQUzE2LCBNSVBTMzIsIGV0Yy4gICovCisgCSAgYXJjaF9mbGFncyA9IE1fTUlQUzI7CisgCSAgYnJlYWs7CitkaWZmIC0tZ2l0IGEvYmZkL2FyY2h1cmVzLmMgYi9iZmQvYXJjaHVyZXMuYworaW5kZXggNjQ3Y2YwZDhkNC4uN2UxZDBjODEwZiAxMDA2NDQKKy0tLSBhL2JmZC9hcmNodXJlcy5jCisrKysgYi9iZmQvYXJjaHVyZXMuYworQEAgLTE4NSw2ICsxODUsNyBAQCBERVNDUklQVElPTgorIC4jZGVmaW5lIGJmZF9tYWNoX21pcHNfb2N0ZW9uMwkJNjUwMworIC4jZGVmaW5lIGJmZF9tYWNoX21pcHNfeGxyCQk4ODc2ODIJIHsqIGRlY2ltYWwgJ1hMUicuICAqfQorIC4jZGVmaW5lIGJmZF9tYWNoX21pcHNfaW50ZXJhcHRpdl9tcjIJNzM2NTUwCSB7KiBkZWNpbWFsICdJQTInLiAgKn0KKysuI2RlZmluZSBiZmRfbWFjaF9taXBzX3hscCAgICAgICAgICAgICAgODg3NjgwICAgeyogZGVjaW1hbCAnWExQJy4gICp9CisgLiNkZWZpbmUgYmZkX21hY2hfbWlwc2lzYTMyCQkzMgorIC4jZGVmaW5lIGJmZF9tYWNoX21pcHNpc2EzMnIyCQkzMworIC4jZGVmaW5lIGJmZF9tYWNoX21pcHNpc2EzMnIzCQkzNAorZGlmZiAtLWdpdCBhL2JmZC9iZmQtaW4yLmggYi9iZmQvYmZkLWluMi5oCitpbmRleCBlMjVkYTUwYWFmLi5lMjUxZDdlN2FhIDEwMDY0NAorLS0tIGEvYmZkL2JmZC1pbjIuaAorKysrIGIvYmZkL2JmZC1pbjIuaAorQEAgLTIwODQsNiArMjA4NCw3IEBAIGVudW0gYmZkX2FyY2hpdGVjdHVyZQorICNkZWZpbmUgYmZkX21hY2hfbWlwc19vY3Rlb24zICAgICAgICAgIDY1MDMKKyAjZGVmaW5lIGJmZF9tYWNoX21pcHNfeGxyICAgICAgICAgICAgICA4ODc2ODIgICAvKiBkZWNpbWFsICdYTFInLiAgKi8KKyAjZGVmaW5lIGJmZF9tYWNoX21pcHNfaW50ZXJhcHRpdl9tcjIgICA3MzY1NTAgICAvKiBkZWNpbWFsICdJQTInLiAgKi8KKysjZGVmaW5lIGJmZF9tYWNoX21pcHNfeGxwICAgICAgICAgICAgICA4ODc2ODAgICAvKiBkZWNpbWFsICdYTFAnLiAgKi8KKyAjZGVmaW5lIGJmZF9tYWNoX21pcHNpc2EzMiAgICAgICAgICAgICAzMgorICNkZWZpbmUgYmZkX21hY2hfbWlwc2lzYTMycjIgICAgICAgICAgIDMzCisgI2RlZmluZSBiZmRfbWFjaF9taXBzaXNhMzJyMyAgICAgICAgICAgMzQKK2RpZmYgLS1naXQgYS9iZmQvY29uZmlnLmJmZCBiL2JmZC9jb25maWcuYmZkCitpbmRleCBjYzY1NTQ3NTg4Li4zNjE0ZmY3OWQ0IDEwMDY0NAorLS0tIGEvYmZkL2NvbmZpZy5iZmQKKysrKyBiL2JmZC9jb25maWcuYmZkCitAQCAtOTAyLDYgKzkwMiwxMSBAQCBjYXNlICIke3Rhcmd9IiBpbgorICAgICB0YXJnX2RlZnZlYz1taXBzX2VsZjMyX2xlX3ZlYworICAgICB0YXJnX3NlbHZlY3M9Im1pcHNfZWxmMzJfYmVfdmVjIG1pcHNfZWxmNjRfYmVfdmVjIG1pcHNfZWxmNjRfbGVfdmVjIgorICAgICA7OworKyAgbWlwc2lzYTY0Ki0qLWVsZiopCisrCXRhcmdfZGVmdmVjPW1pcHNfZWxmMzJfdHJhZF9iZV92ZWMKKysJdGFyZ19zZWx2ZWNzPSJtaXBzX2VsZjMyX3RyYWRfbGVfdmVjIG1pcHNfZWxmNjRfdHJhZF9iZV92ZWMgbWlwc19lbGY2NF90cmFkX2xlX3ZlYyIKKysJd2FudDY0PXRydWUKKysJOzsKKyAgIG1pcHMqLSotZWxmKiB8IG1pcHMqLSotcnRlbXMqIHwgbWlwcyotKi13aW5kaXNzIHwgbWlwcyotKi1ub25lKQorICAgICB0YXJnX2RlZnZlYz1taXBzX2VsZjMyX2JlX3ZlYworICAgICB0YXJnX3NlbHZlY3M9Im1pcHNfZWxmMzJfbGVfdmVjIG1pcHNfZWxmNjRfYmVfdmVjIG1pcHNfZWxmNjRfbGVfdmVjIgorZGlmZiAtLWdpdCBhL2JmZC9jcHUtbWlwcy5jIGIvYmZkL2NwdS1taXBzLmMKK2luZGV4IGIzNTk0OTEzMDUuLjYxYTNlN2FhY2EgMTAwNjQ0CistLS0gYS9iZmQvY3B1LW1pcHMuYworKysrIGIvYmZkL2NwdS1taXBzLmMKK0BAIC0xMDcsNyArMTA3LDggQEAgZW51bQorICAgSV9taXBzb2N0ZW9uMywKKyAgIElfeGxyLAorICAgSV9pbnRlcmFwdGl2X21yMiwKKy0gIElfbWljcm9taXBzCisrICBJX21pY3JvbWlwcywKKysgIElfeGxwCisgfTsKKyAKKyAjZGVmaW5lIE5OKGluZGV4KSAoJmFyY2hfaW5mb19zdHJ1Y3RbKGluZGV4KSArIDFdKQorQEAgLTE2Miw3ICsxNjMsOCBAQCBzdGF0aWMgY29uc3QgYmZkX2FyY2hfaW5mb190eXBlIGFyY2hfaW5mb19zdHJ1Y3RbXSA9CisgICBOICg2NCwgNjQsIGJmZF9tYWNoX21pcHNfeGxyLCAibWlwczp4bHIiLAkgIEZBTFNFLCBOTihJX3hscikpLAorICAgTiAoMzIsIDMyLCBiZmRfbWFjaF9taXBzX2ludGVyYXB0aXZfbXIyLCAibWlwczppbnRlcmFwdGl2LW1yMiIsIEZBTFNFLAorICAgICAgTk4oSV9pbnRlcmFwdGl2X21yMikpLAorLSAgTiAoNjQsIDY0LCBiZmRfbWFjaF9taXBzX21pY3JvbWlwcywibWlwczptaWNyb21pcHMiLEZBTFNFLDApCisrICBOICg2NCwgNjQsIGJmZF9tYWNoX21pcHNfbWljcm9taXBzLCJtaXBzOm1pY3JvbWlwcyIsRkFMU0UsTk4oSV9taWNyb21pcHMpKSwKKysgIE4gKDY0LCA2NCwgYmZkX21hY2hfbWlwc194bHAsICJtaXBzOnhscCIsICAgICAgRkFMU0UsIDApCisgfTsKKyAKKyAvKiBUaGUgZGVmYXVsdCBhcmNoaXRlY3R1cmUgaXMgbWlwczozMDAwLCBidXQgd2l0aCBhIG1hY2hpbmUgbnVtYmVyIG9mCitkaWZmIC0tZ2l0IGEvYmZkL2VsZnh4LW1pcHMuYyBiL2JmZC9lbGZ4eC1taXBzLmMKK2luZGV4IDU5OThiYzQzYTguLjBkNTc5NTIyMmIgMTAwNjQ0CistLS0gYS9iZmQvZWxmeHgtbWlwcy5jCisrKysgYi9iZmQvZWxmeHgtbWlwcy5jCitAQCAtNjkxOSw2ICs2OTE5LDkgQEAgX2JmZF9lbGZfbWlwc19tYWNoIChmbGFnd29yZCBmbGFncykKKyAgICAgY2FzZSBFX01JUFNfTUFDSF9JQU1SMjoKKyAgICAgICByZXR1cm4gYmZkX21hY2hfbWlwc19pbnRlcmFwdGl2X21yMjsKKyAKKysgICAgY2FzZSBFX01JUFNfTUFDSF9YTFA6CisrICAgICAgcmV0dXJuIGJmZF9tYWNoX21pcHNfeGxwOworKworICAgICBkZWZhdWx0OgorICAgICAgIHN3aXRjaCAoZmxhZ3MgJiBFRl9NSVBTX0FSQ0gpCisgCXsKK0BAIC0xMjE5OSw2ICsxMjIwMiwxMCBAQCBtaXBzX3NldF9pc2FfZmxhZ3MgKGJmZCAqYWJmZCkKKyAgICAgICB2YWwgPSBFX01JUFNfQVJDSF82NFIyIHwgRV9NSVBTX01BQ0hfT0NURU9OMjsKKyAgICAgICBicmVhazsKKyAKKysJY2FzZSBiZmRfbWFjaF9taXBzX3hscDoKKysJICB2YWwgPSBFX01JUFNfQVJDSF82NFIyIHwgRV9NSVBTX01BQ0hfWExQOworKwkgIGJyZWFrOworKworICAgICBjYXNlIGJmZF9tYWNoX21pcHNpc2EzMjoKKyAgICAgICB2YWwgPSBFX01JUFNfQVJDSF8zMjsKKyAgICAgICBicmVhazsKK0BAIC0xNDIxNCw2ICsxNDIyMSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbWlwc19tYWNoX2V4dGVuc2lvbiBtaXBzX21hY2hfZXh0ZW5zaW9uc1tdID0KKyAgIHsgYmZkX21hY2hfbWlwc19nczI2NGUsIGJmZF9tYWNoX21pcHNfZ3M0NjRlIH0sCisgICB7IGJmZF9tYWNoX21pcHNfZ3M0NjRlLCBiZmRfbWFjaF9taXBzX2dzNDY0IH0sCisgICB7IGJmZF9tYWNoX21pcHNfZ3M0NjQsIGJmZF9tYWNoX21pcHNpc2E2NHIyIH0sCisrICB7IGJmZF9tYWNoX21pcHNfeGxwLCBiZmRfbWFjaF9taXBzaXNhNjRyMiB9LAorIAorICAgLyogTUlQUzY0IGV4dGVuc2lvbnMuICAqLworICAgeyBiZmRfbWFjaF9taXBzaXNhNjRyMiwgYmZkX21hY2hfbWlwc2lzYTY0IH0sCitkaWZmIC0tZ2l0IGEvYmludXRpbHMvcmVhZGVsZi5jIGIvYmludXRpbHMvcmVhZGVsZi5jCitpbmRleCBiMTNlYjZhNDNiLi45ZGYzNzQyNjgyIDEwMDY0NAorLS0tIGEvYmludXRpbHMvcmVhZGVsZi5jCisrKysgYi9iaW51dGlscy9yZWFkZWxmLmMKK0BAIC0zNDEyLDYgKzM0MTIsNyBAQCBnZXRfbWFjaGluZV9mbGFncyAoRmlsZWRhdGEgKiBmaWxlZGF0YSwgdW5zaWduZWQgZV9mbGFncywgdW5zaWduZWQgZV9tYWNoaW5lKQorIAkgICAgY2FzZSBFX01JUFNfTUFDSF9PQ1RFT04zOiBzdHJjYXQgKGJ1ZiwgIiwgb2N0ZW9uMyIpOyBicmVhazsKKyAJICAgIGNhc2UgRV9NSVBTX01BQ0hfWExSOiAgc3RyY2F0IChidWYsICIsIHhsciIpOyBicmVhazsKKyAJICAgIGNhc2UgRV9NSVBTX01BQ0hfSUFNUjI6ICBzdHJjYXQgKGJ1ZiwgIiwgaW50ZXJhcHRpdi1tcjIiKTsgYnJlYWs7CisrCSAgICBjYXNlIEVfTUlQU19NQUNIX1hMUDogIHN0cmNhdCAoYnVmLCAiLCB4bHAiKTsgYnJlYWs7CisgCSAgICBjYXNlIDA6CisgCSAgICAvKiBXZSBzaW1wbHkgaWdub3JlIHRoZSBmaWVsZCBpbiB0aGlzIGNhc2UgdG8gYXZvaWQgY29uZnVzaW9uOgorIAkgICAgICAgTUlQUyBFTEYgZG9lcyBub3Qgc3BlY2lmeSBFRl9NSVBTX01BQ0gsIGl0IGlzIGEgR05VCitkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1taXBzLmMgYi9nYXMvY29uZmlnL3RjLW1pcHMuYworaW5kZXggYWU1NTkwNDIyOS4uZDY4ODI3MTJmNSAxMDA2NDQKKy0tLSBhL2dhcy9jb25maWcvdGMtbWlwcy5jCisrKysgYi9nYXMvY29uZmlnL3RjLW1pcHMuYworQEAgLTU1NCw2ICs1NTQsNyBAQCBzdGF0aWMgaW50IG1pcHNfMzJiaXRtb2RlID0gMDsKKyAgICB8fCBtaXBzX29wdHMuYXJjaCA9PSBDUFVfUk03MDAwICAgICAgICAgICAgICAgICAgICBcCisgICAgfHwgbWlwc19vcHRzLmFyY2ggPT0gQ1BVX1ZSNTUwMCAgICAgICAgICAgICAgICAgICAgXAorICAgIHx8IG1pcHNfb3B0cy5taWNyb21pcHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICB8fCBtaXBzX29wdHMuYXJjaCA9PSBDUFVfWExQICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgKQorIAorIC8qIFdoZXRoZXIgdGhlIHByb2Nlc3NvciB1c2VzIGhhcmR3YXJlIGludGVybG9ja3MgdG8gcHJvdGVjdCByZWFkcworQEAgLTU4Myw2ICs1ODQsNyBAQCBzdGF0aWMgaW50IG1pcHNfMzJiaXRtb2RlID0gMDsKKyAgICAgJiYgbWlwc19vcHRzLmlzYSAhPSBJU0FfTUlQUzMpICAgICAgICAgICAgICAgICAgICBcCisgICAgfHwgbWlwc19vcHRzLmFyY2ggPT0gQ1BVX1I0MzAwICAgICAgICAgICAgICAgICAgICAgXAorICAgIHx8IG1pcHNfb3B0cy5taWNyb21pcHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICB8fCBtaXBzX29wdHMuYXJjaCA9PSBDUFVfWExQICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgKQorIAorIC8qIFdoZXRoZXIgdGhlIHByb2Nlc3NvciB1c2VzIGhhcmR3YXJlIGludGVybG9ja3MgdG8gcHJvdGVjdCByZWFkcworQEAgLTE5ODY3LDcgKzE5ODY5LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBtaXBzX2NwdV9pbmZvIG1pcHNfY3B1X2luZm9fdGFibGVbXSA9CisgICAvKiBCcm9hZGNvbSBYTFAuCisgICAgICBYTFAgaXMgbW9zdGx5IGxpa2UgWExSLCB3aXRoIHRoZSBwcm9taW5lbnQgZXhjZXB0aW9uIHRoYXQgaXQgaXMKKyAgICAgIE1JUFM2NFIyIHJhdGhlciB0aGFuIE1JUFM2NC4gICovCistICB7ICJ4bHAiLAkgICAgICAwLCAwLAkJCUlTQV9NSVBTNjRSMiwgQ1BVX1hMUiB9LAorKyAgeyAieGxwIiwJICAgICAgMCwgMCwJCQlJU0FfTUlQUzY0UjIsIENQVV9YTFAgfSwKKyAKKyAgIC8qIE1JUFMgNjQgUmVsZWFzZSA2ICovCisgICB7ICJpNjQwMCIsCSAgICAgIDAsIEFTRV9NU0EsCQlJU0FfTUlQUzY0UjYsIENQVV9NSVBTNjRSNn0sCitkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZ3VyZSBiL2dhcy9jb25maWd1cmUKK2luZGV4IGE4MmZkZTdmYTguLmFmYzc3YzM0N2EgMTAwNzU1CistLS0gYS9nYXMvY29uZmlndXJlCisrKysgYi9nYXMvY29uZmlndXJlCitAQCAtMTMzNjQsNiArMTMzNjQsOSBAQCBfQUNFT0YKKyAJICBtaXBzaXNhNjRyNiB8IG1pcHNpc2E2NHI2ZWwpCisgCSAgICBtaXBzX2NwdT1taXBzNjRyNgorIAkgICAgOzsKKysJICBtaXBzaXNhNjRyMm5sbSB8IG1pcHNpc2E2NHIybmxtZWwpCisrCQltaXBzX2NwdT14bHAKKysJCTs7CisgCSAgbWlwc3R4MzkgfCBtaXBzdHgzOWVsKQorIAkgICAgbWlwc19jcHU9cjM5MDAKKyAJICAgIDs7CitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9lbGYvbWlwcy5oIGIvaW5jbHVkZS9lbGYvbWlwcy5oCitpbmRleCBiNzZkNDUwYWUyLi43Y2RkYjM2NWFkIDEwMDY0NAorLS0tIGEvaW5jbHVkZS9lbGYvbWlwcy5oCisrKysgYi9pbmNsdWRlL2VsZi9taXBzLmgKK0BAIC0yOTAsNiArMjkwLDcgQEAgRU5EX1JFTE9DX05VTUJFUlMgKFJfTUlQU19tYXhleHQpCisgI2RlZmluZSBFX01JUFNfTUFDSF9TQjEgICAgICAgICAweDAwOGEwMDAwCisgI2RlZmluZSBFX01JUFNfTUFDSF9PQ1RFT04JMHgwMDhiMDAwMAorICNkZWZpbmUgRV9NSVBTX01BQ0hfWExSICAgICAJMHgwMDhjMDAwMAorKyNkZWZpbmUgRV9NSVBTX01BQ0hfWExQICAgICAgICAgMHgwMDhmMDAwMAorICNkZWZpbmUgRV9NSVBTX01BQ0hfT0NURU9OMgkweDAwOGQwMDAwCisgI2RlZmluZSBFX01JUFNfTUFDSF9PQ1RFT04zCTB4MDA4ZTAwMDAKKyAjZGVmaW5lIEVfTUlQU19NQUNIXzU0MDAJMHgwMDkxMDAwMAorZGlmZiAtLWdpdCBhL2luY2x1ZGUvb3Bjb2RlL21pcHMuaCBiL2luY2x1ZGUvb3Bjb2RlL21pcHMuaAoraW5kZXggYWJkNTJjODk4MC4uNTNiNjc1MmExYyAxMDA2NDQKKy0tLSBhL2luY2x1ZGUvb3Bjb2RlL21pcHMuaAorKysrIGIvaW5jbHVkZS9vcGNvZGUvbWlwcy5oCitAQCAtMTI2MCw2ICsxMjYwLDggQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBtaXBzX2lzYV90YWJsZVtdID0geworICNkZWZpbmUgSU5TTl9YTFIgICAgICAgICAgICAgICAgIDB4MDAwMDAwMjAKKyAvKiBJbWFnaW5hdGlvbiBpbnRlckFwdGl2IE1SMi4gICovCisgI2RlZmluZSBJTlNOX0lOVEVSQVBUSVZfTVIyCSAgMHgwNDAwMDAwMAorKy8qIE5ldGxvZ2ljIFhsUCBpbnN0cnVjdGlvbiAqLworKyNkZWZpbmUgSU5TTl9YTFAJCTB4MDAwMDAwODAKKyAKKyAvKiBEU1AgQVNFICovCisgI2RlZmluZSBBU0VfRFNQCQkJMHgwMDAwMDAwMQorQEAgLTEzODEsNiArMTM4Myw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgbWlwc19pc2FfdGFibGVbXSA9IHsKKyAjZGVmaW5lIENQVV9PQ1RFT04zCTY1MDMKKyAjZGVmaW5lIENQVV9YTFIgICAgIAk4ODc2ODIgICAJLyogZGVjaW1hbCAnWExSJyAgICovCisgI2RlZmluZSBDUFVfSU5URVJBUFRJVl9NUjIgNzM2NTUwCS8qIGRlY2ltYWwgJ0lBMicgICovCisrI2RlZmluZSBDUFVfWExQICAgICAgICAgODg3NjgwICAgICAgLyogZGVjaW1hbCAnWExQJyAgICovCisgCisgLyogUmV0dXJuIHRydWUgaWYgdGhlIGdpdmVuIENQVSBpcyBpbmNsdWRlZCBpbiBJTlNOXyogbWFzayBNQVNLLiAgKi8KKyAKK0BAIC0xNDU4LDYgKzE0NjEsOSBAQCBjcHVfaXNfbWVtYmVyIChpbnQgY3B1LCB1bnNpZ25lZCBpbnQgbWFzaykKKyAgICAgICByZXR1cm4gKChtYXNrICYgSU5TTl9JU0FfTUFTSykgPT0gSU5TTl9JU0EzMlI2KQorIAkgICAgIHx8ICgobWFzayAmIElOU05fSVNBX01BU0spID09IElOU05fSVNBNjRSNik7CisgCisrICAgIGNhc2UgQ1BVX1hMUDoKKysgICAgICByZXR1cm4gKG1hc2sgJiBJTlNOX1hMUCkgIT0gMDsKKysKKyAgICAgZGVmYXVsdDoKKyAgICAgICByZXR1cm4gRkFMU0U7CisgICAgIH0KK2RpZmYgLS1naXQgYS9sZC9jb25maWd1cmUudGd0IGIvbGQvY29uZmlndXJlLnRndAoraW5kZXggOTE3YmU2ZjhlYi4uMzQ3ZGY2YzNmNiAxMDA2NDQKKy0tLSBhL2xkL2NvbmZpZ3VyZS50Z3QKKysrKyBiL2xkL2NvbmZpZ3VyZS50Z3QKK0BAIC00NTQsNiArNDU0LDggQEAgbWlwcyplbC1zZGUtZWxmKiB8IG1pcHMqZWwtbXRpLWVsZiogfCBtaXBzKmVsLWltZy1lbGYqKQorIG1pcHMqLXNkZS1lbGYqIHwgbWlwcyotbXRpLWVsZiogfCBtaXBzKi1pbWctZWxmKikKKyAJCQl0YXJnX2VtdWw9ZWxmMzJidHNtaXAKKyAJCQl0YXJnX2V4dHJhX2VtdWxzPSJlbGYzMmx0c21pcCBlbGYzMmJ0c21pcG4zMiBlbGY2NGJ0c21pcCBlbGYzMmx0c21pcG4zMiBlbGY2NGx0c21pcCIgOzsKKyttaXBzaXNhNjQqLSotZWxmKikJdGFyZ19lbXVsPWVsZjMyYnRzbWlwCisrCQkJdGFyZ19leHRyYV9lbXVscz0iZWxmMzJsdHNtaXAgZWxmNjRidHNtaXAgZWxmNjRsdHNtaXAiIDs7CisgbWlwczY0KmVsLXBzMi1lbGYqKQl0YXJnX2VtdWw9ZWxmMzJscjU5MDBuMzIKKyAJCQl0YXJnX2V4dHJhX2VtdWxzPSJlbGYzMmxyNTkwMCIKKyAJCQl0YXJnX2V4dHJhX2xpYnBhdGg9JHRhcmdfZXh0cmFfZW11bHMgOzsKK2RpZmYgLS1naXQgYS9vcGNvZGVzL21pcHMtZGlzLmMgYi9vcGNvZGVzL21pcHMtZGlzLmMKK2luZGV4IDBkZDg1ZTM3NzkuLjFlYTcwOGRkZTcgMTAwNjQ0CistLS0gYS9vcGNvZGVzL21pcHMtZGlzLmMKKysrKyBiL29wY29kZXMvbWlwcy1kaXMuYworQEAgLTY3MywxMyArNjczLDExIEBAIGNvbnN0IHN0cnVjdCBtaXBzX2FyY2hfY2hvaWNlIG1pcHNfYXJjaF9jaG9pY2VzW10gPQorICAgICBtaXBzX2NwMHNlbF9uYW1lc194bHIsIEFSUkFZX1NJWkUgKG1pcHNfY3Awc2VsX25hbWVzX3hsciksCisgICAgIG1pcHNfY3AxX25hbWVzX21pcHMzMjY0LCBtaXBzX2h3cl9uYW1lc19udW1lcmljIH0sCisgCistICAvKiBYTFAgaXMgbW9zdGx5IGxpa2UgWExSLCB3aXRoIHRoZSBwcm9taW5lbnQgZXhjZXB0aW9uIGl0IGlzIGJlaW5nCistICAgICBNSVBTNjRSMi4gICovCistICB7ICJ4bHAiLCAxLCBiZmRfbWFjaF9taXBzX3hsciwgQ1BVX1hMUiwKKy0gICAgSVNBX01JUFM2NFIyIHwgSU5TTl9YTFIsIDAsCistICAgIG1pcHNfY3AwX25hbWVzX3hsciwKKy0gICAgbWlwc19jcDBzZWxfbmFtZXNfeGxyLCBBUlJBWV9TSVpFIChtaXBzX2NwMHNlbF9uYW1lc194bHIpLAorLSAgICBtaXBzX2NwMV9uYW1lc19taXBzMzI2NCwgbWlwc19od3JfbmFtZXNfbnVtZXJpYyB9LAorKyAgeyAieGxwIiwgMSwgYmZkX21hY2hfbWlwc194bHAsIENQVV9YTFAsCisrICAgIElTQV9NSVBTNjRSMiB8IElOU05fWExQLCAwLAorKyAgICBtaXBzX2NwMF9uYW1lc19taXBzMzI2NHIyLAorKyAgICBtaXBzX2NwMHNlbF9uYW1lc19taXBzMzI2NHIyLCBBUlJBWV9TSVpFIChtaXBzX2NwMHNlbF9uYW1lc19taXBzMzI2NHIyKSwKKysgICAgbWlwc19jcDFfbmFtZXNfbWlwczMyNjQsIG1pcHNfaHdyX25hbWVzX21pcHMzMjY0cjIgfSwKKyAKKyAgIC8qIFRoaXMgZW50cnksIG1pcHMxNiwgaXMgaGVyZSBvbmx5IGZvciBJU0EvcHJvY2Vzc29yIHNlbGVjdGlvbjsgZG8KKyAgICAgIG5vdCBwcmludCBpdHMgbmFtZS4gICovCitkaWZmIC0tZ2l0IGEvb3Bjb2Rlcy9taXBzLW9wYy5jIGIvb3Bjb2Rlcy9taXBzLW9wYy5jCitpbmRleCA4MzdkYTZiZDk5Li5kM2VhNWI4ODc3IDEwMDY0NAorLS0tIGEvb3Bjb2Rlcy9taXBzLW9wYy5jCisrKysgYi9vcGNvZGVzL21pcHMtb3BjLmMKK0BAIC0zMjgsNiArMzI4LDcgQEAgZGVjb2RlX21pcHNfb3BlcmFuZCAoY29uc3QgY2hhciAqcCkKKyAjZGVmaW5lIElPQ1QzCUlOU05fT0NURU9OMworICNkZWZpbmUgWExSICAgICBJTlNOX1hMUgorICNkZWZpbmUgSUFNUjIJSU5TTl9JTlRFUkFQVElWX01SMgorKyNkZWZpbmUgWExQCUlOU05fWExQCisgI2RlZmluZSBJVklSVAlBU0VfVklSVAorICNkZWZpbmUgSVZJUlQ2NAlBU0VfVklSVDY0CisgCitAQCAtOTg5LDYgKzk5MCw3IEBAIGNvbnN0IHN0cnVjdCBtaXBzX29wY29kZSBtaXBzX2J1aWx0aW5fb3Bjb2Rlc1tdID0KKyB7ImNsbyIsCQkJIlUscyIsCQkweDcwMDAwMDIxLCAweGZjMDAwN2ZmLCBXUl8xfFJEXzIsCQkwLAkJSTMyfE41NSwJMCwJSTM3IH0sCisgeyJjbHoiLAkJCSJkLHMiLAkJMHgwMDAwMDA1MCwgMHhmYzFmMDdmZiwgV1JfMXxSRF8yLAkJMCwJCUkzNywJCTAsCTAgfSwKKyB7ImNseiIsCQkJIlUscyIsCQkweDcwMDAwMDIwLCAweGZjMDAwN2ZmLCBXUl8xfFJEXzIsCQkwLAkJSTMyfE41NSwJMCwJSTM3IH0sCisreyJjcmMiLAkJCSJkLHMsdCIsCTB4NzAwMDAwMWMsIDB4ZmMwMDA3ZmYsCVdSXzF8UkRfMnxSRF8zLAkwLAkJWExQLCAJCTAsCTAgfSwKKyAvKiBjdGMwIGlzIGF0IHRoZSBib3R0b20gb2YgdGhlIHRhYmxlLiAgKi8KKyB7ImN0YzEiLAkJInQsRyIsCQkweDQ0YzAwMDAwLCAweGZmZTAwN2ZmLAlSRF8xfFdSX0NDfENNLAkJMCwJCUkxLAkJMCwJMCB9LAorIHsiY3RjMSIsCQkidCxTIiwJCTB4NDRjMDAwMDAsIDB4ZmZlMDA3ZmYsCVJEXzF8V1JfQ0N8Q00sCQkwLAkJSTEsCQkwLAkwIH0sCitAQCAtMTAyMSwxMiArMTAyMywxMyBAQCBjb25zdCBzdHJ1Y3QgbWlwc19vcGNvZGUgbWlwc19idWlsdGluX29wY29kZXNbXSA9CisgeyJkYWRkaXUiLAkJInQscixqIiwJMHg2NDAwMDAwMCwgMHhmYzAwMDAwMCwgV1JfMXxSRF8yLAkJMCwJCUkzLAkJMCwJMCB9LAorIHsiZGFkZHUiLAkJImQsdix0IiwJMHgwMDAwMDAyZCwgMHhmYzAwMDdmZiwgV1JfMXxSRF8yfFJEXzMsCQkwLAkJSTMsCQkwLAkwIH0sCisgeyJkYWRkdSIsCQkidCxyLEkiLAkwLCAgICAoaW50KSBNX0RBRERVX0ksCUlOU05fTUFDUk8sCQkwLAkJSTMsCQkwLAkwIH0sCisteyJkYWRkd2MiLAkJImQscyx0IiwgCTB4NzAwMDAwMzgsIDB4ZmMwMDA3ZmYsIFdSXzF8UkRfMnxSRF8zfFdSX0MwfFJEX0MwLCAwLAkJWExSLAkJMCwJMCB9LAorK3siZGFkZHdjIiwJCSJkLHMsdCIsIAkweDcwMDAwMDM4LCAweGZjMDAwN2ZmLCBXUl8xfFJEXzJ8UkRfM3xXUl9DMHxSRF9DMCwgMCwJCVhMUnxYTFAsCTAsCTAgfSwKKyB7ImRicmVhayIsCQkiIiwJCTB4NzAwMDAwM2YsIDB4ZmZmZmZmZmYsCTAsCQkJMCwJCU41LAkJMCwJMCB9LAorIHsiZGNsbyIsCQkiZCxzIiwJCTB4MDAwMDAwNTMsIDB4ZmMxZjA3ZmYsIFdSXzF8UkRfMiwJCTAsCQlJNjksCQkwLAkwIH0sCisgeyJkY2xvIiwJCSJVLHMiLAkgCTB4NzAwMDAwMjUsIDB4ZmMwMDA3ZmYsIFdSXzF8UkRfMiwgCTAsCQlJNjR8TjU1LAkwLAlJNjkgfSwKKyB7ImRjbHoiLAkJImQscyIsCQkweDAwMDAwMDUyLCAweGZjMWYwN2ZmLCBXUl8xfFJEXzIsCQkwLAkJSTY5LAkJMCwJMCB9LAorIHsiZGNseiIsCQkiVSxzIiwJIAkweDcwMDAwMDI0LCAweGZjMDAwN2ZmLCBXUl8xfFJEXzIsIAkwLAkJSTY0fE41NSwJMCwJSTY5IH0sCisreyJkY3JjIiwJCSJkLHMsdCIsCTB4NzAwMDAwMWQsIDB4ZmMwMDA3ZmYsIFdSXzF8UkRfMnxSRF8zLAkwLAkJWExQLCAJCTAsCTAgfSwKKyAvKiBkY3RyIGFuZCBkY3R3IGFyZSB1c2VkIG9uIHRoZSByNTAwMC4gICovCisgeyJkY3RyIiwJCSJvKGIpIiwJIAkweGJjMDUwMDAwLCAweGZjMWYwMDAwLCBSRF8yLAkJCTAsCQlJMywJCTAsCTAgfSwKKyB7ImRjdHciLAkJIm8oYikiLAkJMHhiYzA5MDAwMCwgMHhmYzFmMDAwMCwgUkRfMiwJCQkwLAkJSTMsCQkwLAkwIH0sCitAQCAtMTA5OCw2ICsxMTAxLDcgQEAgY29uc3Qgc3RydWN0IG1pcHNfb3Bjb2RlIG1pcHNfYnVpbHRpbl9vcGNvZGVzW10gPQorIHsiZG1mYzAiLAkJInQsRyxIIiwJMHg0MDIwMDAwMCwgMHhmZmUwMDdmOCwJV1JfMXxSRF9DMHxMQywJCTAsCQlJNjQsCQkwLAkwIH0sCisgeyJkbWZnYzAiLAkJInQsRyIsCQkweDQwNjAwMTAwLCAweGZmZTAwN2ZmLCBXUl8xfFJEX0MwfExDLAkJMCwJCTAsCQlJVklSVDY0LCAwIH0sCisgeyJkbWZnYzAiLAkJInQsRyxIIiwJMHg0MDYwMDEwMCwgMHhmZmUwMDdmOCwgV1JfMXxSRF9DMHxMQywJCTAsCQkwLAkJSVZJUlQ2NCwgMCB9LAorK3siZG1mdXIiLAkJInQsZCIsCQkweDcwMDAwMDFlLCAweGZmZTAwN2ZmLCBXUl8xLAkJCTAsCQlYTFAsCQkwLAkwIH0sCisgeyJkbXQiLAkJCSIiLAkJMHg0MTYwMGJjMSwgMHhmZmZmZmZmZiwgVFJBUCwJCQkwLAkJMCwJCU1UMzIsCTAgfSwKKyB7ImRtdCIsCQkJInQiLAkJMHg0MTYwMGJjMSwgMHhmZmUwZmZmZiwgV1JfMXxUUkFQLAkJMCwJCTAsCQlNVDMyLAkwIH0sCisgeyJkbXRjMCIsCQkidCxHIiwJCTB4NDBhMDAwMDAsIDB4ZmZlMDA3ZmYsCVJEXzF8V1JfQzB8V1JfQ0N8Q00sCTAsCQlJMywJCTAsCUVFIH0sCitAQCAtMTExMyw2ICsxMTE3LDggQEAgY29uc3Qgc3RydWN0IG1pcHNfb3Bjb2RlIG1pcHNfYnVpbHRpbl9vcGNvZGVzW10gPQorIC8qIGRtZmMzIGlzIGF0IHRoZSBib3R0b20gb2YgdGhlIHRhYmxlLiAgKi8KKyAvKiBkbXRjMyBpcyBhdCB0aGUgYm90dG9tIG9mIHRoZSB0YWJsZS4gICovCisgeyJkbXVoIiwJCSJkLHMsdCIsCTB4MDAwMDAwZGMsIDB4ZmMwMDA3ZmYsIFdSXzF8UkRfMnxSRF8zLAkJMCwJCUk2OSwJCTAsCTAgfSwKKyt7ImRtdHVyIiwJCSJ0LGQiLAkJMHg3MDAwMDAxZiwgMHhmZmUwMDdmZiwJUkRfMSwJCQkwLAkJWExQLAkJMCwJMCB9LAorK3siZG11bCIsCQkiZCxzLHQiLAkweDcwMDAwMDA2LCAweGZjMDAwN2ZmLAlXUl8xfFJEXzJ8UkRfMywJCTAsCQlYTFAsCQkwLAkwIH0sCisgeyJkbXVsIiwJCSJkLHMsdCIsCTB4MDAwMDAwOWMsIDB4ZmMwMDA3ZmYsIFdSXzF8UkRfMnxSRF8zLAkJMCwJCUk2OSwJCTAsCTAgfSwKKyB7ImRtdWwiLAkJImQsdix0IiwJMHg3MDAwMDAwMywgMHhmYzAwMDdmZiwgV1JfMXxSRF8yfFJEXzN8V1JfSElMTywJMCwJCUlPQ1QsCQkwLAkwIH0sCisgeyJkbXVsIiwJCSJkLHYsdCIsCTAsICAgIChpbnQpIE1fRE1VTCwJSU5TTl9NQUNSTywJCTAsCQlJMywJCTAsCU0zMnxJNjkgfSwKK0BAIC0xMjY2LDkgKzEyNzIsOSBAQCBjb25zdCBzdHJ1Y3QgbWlwc19vcGNvZGUgbWlwc19idWlsdGluX29wY29kZXNbXSA9CisgeyJsZCIsCQkJInMsLWIoK1IpIiwJMHhlYzE4MDAwMCwgMHhmYzFjMDAwMCwgV1JfMSwJCQlSRF9wYywJCUk2OSwJCTAsCTAgfSwKKyB7ImxkIiwJCQkidCxBKGIpIiwJMCwgICAgKGludCkgTV9MRF9BQiwJSU5TTl9NQUNSTywJCTAsCQlJMSwJCTAsCTAgfSwKKyB7ImxkIiwJCQkidCxvKGIpIiwJMHhkYzAwMDAwMCwgMHhmYzAwMDAwMCwgV1JfMXxSRF8zfExNLAkJMCwJCUkzLAkJMCwJMCB9LAorLXsibGRhZGR3IiwJCSJ0LGIiLAkJMHg3MDAwMDAxMCwgMHhmYzAwZmZmZiwJTU9EXzF8UkRfMnxMTXxTTSwJMCwJCVhMUiwJCTAsCTAgfSwKKy17ImxkYWRkd3UiLAkJInQsYiIsCQkweDcwMDAwMDExLCAweGZjMDBmZmZmLAlNT0RfMXxSRF8yfExNfFNNLAkwLAkJWExSLAkJMCwJMCB9LAorLXsibGRhZGRkIiwJCSJ0LGIiLAkJMHg3MDAwMDAxMiwgMHhmYzAwZmZmZiwJTU9EXzF8UkRfMnxMTXxTTSwJMCwJCVhMUiwJCTAsCTAgfSwKKyt7ImxkYWRkdyIsCQkidCxiIiwJCTB4NzAwMDAwMTAsIDB4ZmMwMGZmZmYsCU1PRF8xfFJEXzJ8U00sCQkwLAkJWExSfFhMUCwJMCwJMCB9LAorK3sibGRhZGR3dSIsCQkidCxiIiwJCTB4NzAwMDAwMTEsIDB4ZmMwMGZmZmYsCU1PRF8xfFJEXzJ8U00sCQkwLAkJWExSfFhMUCwJMCwJMCB9LAorK3sibGRhZGRkIiwJCSJ0LGIiLAkJMHg3MDAwMDAxMiwgMHhmYzAwZmZmZiwJTU9EXzF8UkRfMnxTTSwJCTAsCQlYTFJ8WExQLAkwLAkwIH0sCisgeyJsZGMxIiwJCSJULG8oYikiLAkweGQ0MDAwMDAwLCAweGZjMDAwMDAwLCBXUl8xfFJEXzN8Q0xEfEZQX0QsCTAsCQlJMiwJCTAsCVNGIH0sCisgeyJsZGMxIiwJCSJFLG8oYikiLAkweGQ0MDAwMDAwLCAweGZjMDAwMDAwLCBXUl8xfFJEXzN8Q0xEfEZQX0QsCTAsCQlJMiwJCTAsCVNGIH0sCisgeyJsZGMxIiwJCSJULEEoYikiLAkwLCAgICAoaW50KSBNX0xEQzFfQUIsCUlOU05fTUFDUk8sCQlJTlNOMl9NX0ZQX0QsCUkyLAkJMCwJU0YgfSwKK0BAIC0xNDMzLDcgKzE0MzksNyBAQCBjb25zdCBzdHJ1Y3QgbWlwc19vcGNvZGUgbWlwc19idWlsdGluX29wY29kZXNbXSA9CisgeyJtZmxvIiwJCSJkLDkiLAkJMHgwMDAwMDAxMiwgMHhmZjlmMDdmZiwgV1JfMXxSRF9MTywJCTAsCQkwLAkJRDMyLAkwIH0sCisgeyJtZmxvMSIsCQkiZCIsCQkweDcwMDAwMDEyLCAweGZmZmYwN2ZmLAlXUl8xfFJEX0xPLAkJMCwJCUVFLAkJMCwJMCB9LAorIHsibWZsaHh1IiwJCSJkIiwJCTB4MDAwMDAwNTIsIDB4ZmZmZjA3ZmYsCVdSXzF8TU9EX0hJTE8sCQkwLAkJMCwJCVNNVCwJMCB9LAorLXsibWZjciIsCQkidCxzIiwJCTB4NzAwMDAwMTgsIDB4ZmMwMGZmZmYsIFdSXzF8UkRfMiwJCTAsCQlYTFIsCQkwLAkwIH0sCisreyJtZmNyIiwJCSJ0LHMiLAkJMHg3MDAwMDAxOCwgMHhmYzAwZmZmZiwgV1JfMSwJCQkwLAkJWExSfFhMUCwJMCwJMCB9LAorIHsibWZzYSIsCQkiZCIsCQkweDAwMDAwMDI4LCAweGZmZmYwN2ZmLAlXUl8xLAkJCTAsCQlFRSwJCTAsCTAgfSwKKyB7Im1pbi5vYiIsCQkiWCxZLFEiLAkweDc4MDAwMDA2LCAweGZjMjAwMDNmLAlXUl8xfFJEXzJ8UkRfM3xGUF9ELAkwLAkJU0IxLAkJTVgsCTAgfSwKKyB7Im1pbi5vYiIsCQkiRCxTLFEiLAkweDQ4MDAwMDA2LCAweGZjMjAwMDNmLAlXUl8xfFJEXzJ8UkRfM3xGUF9ELAkwLAkJTjU0LAkJMCwJMCB9LAorQEAgLTE0NzgsMTAgKzE0ODQsMTMgQEAgY29uc3Qgc3RydWN0IG1pcHNfb3Bjb2RlIG1pcHNfYnVpbHRpbl9vcGNvZGVzW10gPQorIC8qIG1vdmUgaXMgYXQgdGhlIHRvcCBvZiB0aGUgdGFibGUuICAqLworIHsibXNnbi5xaCIsCQkiWCxZLFEiLAkweDc4MjAwMDAwLCAweGZjMjAwMDNmLAlXUl8xfFJEXzJ8UkRfM3xGUF9ELAkwLAkJMCwJCU1YLAkwIH0sCisgeyJtc2dzbmQiLAkJInQiLAkJMCwgICAgKGludCkgTV9NU0dTTkQsCUlOU05fTUFDUk8sCQkwLAkJWExSLAkJMCwJMCB9LAorK3sibXNnc25kcyIsCQkiZCx0IiwJCTB4NGEwMDAwMDEsIDB4ZmZlMDA3ZmYsCVdSXzF8UkRfMnxSRF9DMHxXUl9DMCwJMCwJCVhMUCwJCTAsCTAgfSwKKyB7Im1zZ2xkIiwJCSIiLCAJCTAsICAgIChpbnQpIE1fTVNHTEQsCUlOU05fTUFDUk8sCQkwLAkJWExSLAkJMCwJMCB9LAorIHsibXNnbGQiLAkJInQiLAkJMCwgICAgKGludCkgTV9NU0dMRF9ULAlJTlNOX01BQ1JPLAkJMCwJCVhMUiwJCTAsCTAgfSwKKy17Im1zZ3dhaXQiLAkJIiIsIAkJMCwgICAgKGludCkgTV9NU0dXQUlULAlJTlNOX01BQ1JPLAkJMCwJCVhMUiwJCTAsCTAgfSwKKy17Im1zZ3dhaXQiLAkJInQiLAkJMCwgICAgKGludCkgTV9NU0dXQUlUX1QsSU5TTl9NQUNSTywJCTAsCQlYTFIsCQkwLAkwIH0sCisreyJtc2dsZHMiLAkJImQsdCIsCQkweDRhMDAwMDAyLCAweGZmZTAwN2ZmLAlXUl8xfFJEXzJ8UkRfQzB8V1JfQzAsCTAsCQlYTFAsCQkwLAkwIH0sCisreyJtc2d3YWl0IiwJCSIiLAkJMCwgICAgKGludCkgTV9NU0dXQUlULCAgSU5TTl9NQUNSTywJCTAsCQlYTFJ8WExQLAkwLAkwIH0sCisreyJtc2d3YWl0IiwJCSJ0IiwJCTAsICAgIChpbnQpIE1fTVNHV0FJVF9ULElOU05fTUFDUk8sCQkwLAkJWExSfFhMUCwJMCwJMCB9LAorK3sibXNnc3luYyIsCQkiIiwJCTB4NGEwMDAwMDQsIDB4ZmZmZmZmZmYsMCwJCQkwLAkJWExQLAkJMCwJMCB9LAorIHsibXN1Yi5kIiwJCSJELFIsUyxUIiwJMHg0YzAwMDAyOSwgMHhmYzAwMDAzZiwgV1JfMXxSRF8yfFJEXzN8UkRfNHxGUF9ELCAwLAkJSTRfMzMsCQkwLAlJMzcgfSwKKyB7Im1zdWIuZCIsCQkiRCxTLFQiLAkweDQ2MjAwMDE5LCAweGZmZTAwMDNmLAlXUl8xfFJEXzJ8UkRfM3xGUF9ELAkwLAkJSUwyRSwJCTAsCTAgfSwKKyB7Im1zdWIuZCIsCQkiRCxTLFQiLAkweDcyMjAwMDE5LCAweGZmZTAwMDNmLAlXUl8xfFJEXzJ8UkRfM3xGUF9ELAkwLAkJSUwyRiwJCTAsCTAgfSwKK0BAIC0xNTMxLDcgKzE1NDAsNyBAQCBjb25zdCBzdHJ1Y3QgbWlwc19vcGNvZGUgbWlwc19idWlsdGluX29wY29kZXNbXSA9CisgeyJtdGxvIiwJCSJzLDciLAkJMHgwMDAwMDAxMywgMHhmYzFmZTdmZiwgUkRfMXxXUl9MTywJCTAsCQkwLAkJRDMyLAkwIH0sCisgeyJtdGxvMSIsCQkicyIsCQkweDcwMDAwMDEzLCAweGZjMWZmZmZmLAlSRF8xfFdSX0xPLAkJMCwJCUVFLAkJMCwJMCB9LAorIHsibXRsaHgiLAkJInMiLAkJMHgwMDAwMDA1MywgMHhmYzFmZmZmZiwJUkRfMXxNT0RfSElMTywJCTAsCQkwLAkJU01ULAkwIH0sCisteyJtdGNyIiwJCSJ0LHMiLAkJMHg3MDAwMDAxOSwgMHhmYzAwZmZmZiwgUkRfMXxSRF8yLAkJMCwJCVhMUiwJCTAsCTAgfSwKKyt7Im10Y3IiLAkJInQscyIsCQkweDcwMDAwMDE5LCAweGZjMDBmZmZmLCBSRF8xLAkJCTAsCQlYTFJ8WExQLAkwLAkwIH0sCisgeyJtdG0wIiwJCSJzIiwJCTB4NzAwMDAwMDgsIDB4ZmMxZmZmZmYsIFJEXzEsCQkJMCwJCUlPQ1QsCQkwLAkwIH0sCisgeyJtdG0wIiwgICAgCQkicyx0IiwJCTB4NzAwMDAwMDgsIDB4ZmMwMGZmZmYsIFJEXzF8UkRfMiwJCTAsCQlJT0NUMywJCTAsCTAgfSwKKyB7Im10bTEiLAkJInMiLAkJMHg3MDAwMDAwYywgMHhmYzFmZmZmZiwgUkRfMSwJCQkwLAkJSU9DVCwJCTAsCTAgfSwKK0BAIC0xOTY4LDkgKzE5NzcsOSBAQCBjb25zdCBzdHJ1Y3QgbWlwc19vcGNvZGUgbWlwc19idWlsdGluX29wY29kZXNbXSA9CisgeyJzdXhjMSIsCQkiUyx0KGIpIiwJMHg0YzAwMDAwZCwgMHhmYzAwMDdmZiwgUkRfMXxSRF8yfFJEXzN8U018RlBfRCwJMCwJCUk1XzMzfE41NSwJMCwJSTM3fSwKKyB7InN3IiwJCQkidCxvKGIpIiwJMHhhYzAwMDAwMCwgMHhmYzAwMDAwMCwJUkRfMXxSRF8zfFNNLAkJMCwJCUkxLAkJMCwJMCB9LAorIHsic3ciLAkJCSJ0LEEoYikiLAkwLCAgICAoaW50KSBNX1NXX0FCLAlJTlNOX01BQ1JPLAkJMCwJCUkxLAkJMCwJMCB9LAorLXsic3dhcHciLAkJInQsYiIsCQkweDcwMDAwMDE0LCAweGZjMDBmZmZmLCBNT0RfMXxSRF8yfExNfFNNLAkwLAkJWExSLAkJMCwJMCB9LAorLXsic3dhcHd1IiwJCSJ0LGIiLAkJMHg3MDAwMDAxNSwgMHhmYzAwZmZmZiwgTU9EXzF8UkRfMnxMTXxTTSwJMCwJCVhMUiwJCTAsCTAgfSwKKy17InN3YXBkIiwJCSJ0LGIiLAkJMHg3MDAwMDAxNiwgMHhmYzAwZmZmZiwgTU9EXzF8UkRfMnxMTXxTTSwJMCwJCVhMUiwJCTAsCTAgfSwKKyt7InN3YXB3IiwJCSJ0LGIiLAkJMHg3MDAwMDAxNCwgMHhmYzAwZmZmZiwgTU9EXzF8UkRfMnxTTSwJCTAsCQlYTFJ8WExQLAkwLAkwIH0sCisreyJzd2Fwd3UiLAkJInQsYiIsCQkweDcwMDAwMDE1LCAweGZjMDBmZmZmLCBNT0RfMXxSRF8yfFNNLAkJMCwJCVhMUnxYTFAsCTAsCTAgfSwKKyt7InN3YXBkIiwJCSJ0LGIiLAkJMHg3MDAwMDAxNiwgMHhmYzAwZmZmZiwgTU9EXzF8UkRfMnxTTSwJCTAsCQlYTFJ8WExQLAkwLAkwIH0sCisgeyJzd2MwIiwJCSJFLG8oYikiLAkweGUwMDAwMDAwLCAweGZjMDAwMDAwLAlSRF8zfFJEX0MwfFNNLAkJMCwJCUkxLAkJMCwJSU9DVHxJT0NUUHxJT0NUMnxJMzcgfSwKKyB7InN3YzAiLAkJIkUsQShiKSIsCTAsICAgIChpbnQpIE1fU1dDMF9BQiwJSU5TTl9NQUNSTywJCTAsCQlJMSwJCTAsCUlPQ1R8SU9DVFB8SU9DVDJ8STM3IH0sCisgeyJzd2MxIiwJCSJULG8oYikiLAkweGU0MDAwMDAwLCAweGZjMDAwMDAwLAlSRF8xfFJEXzN8U018RlBfUywJMCwJCUkxLAkJMCwJMCB9LAorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxMS1DaGFuZ2UtZGVmYXVsdC1lbXVsYXRpb24tZm9yLW1pcHM2NC1saW51eC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTEtQ2hhbmdlLWRlZmF1bHQtZW11bGF0aW9uLWZvci1taXBzNjQtbGludXgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJlOTNiMTIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxMS1DaGFuZ2UtZGVmYXVsdC1lbXVsYXRpb24tZm9yLW1pcHM2NC1saW51eC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLUZyb20gMmQyZTJmY2RkOTY0Njg0OTcxNmVlOTlkOGQzZTVkNzJhZTg4ODliYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDIgTWFyIDIwMTUgMDE6NDQ6MTQgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAxMS8xNV0gQ2hhbmdlIGRlZmF1bHQgZW11bGF0aW9uIGZvciBtaXBzNjQqLSotbGludXgKLQotd2UgY2hhbmdlIHRoZSBkZWZhdWx0IGVtdWxhdGlvbnMgdG8gYmUgTjY0IGluc3RlYWQgb2YgTjMyCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbIE9FIGNvbmZpZ3VyYXRpb24gU3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBiZmQvY29uZmlnLmJmZCAgIHwgOCArKysrLS0tLQotIGxkL2NvbmZpZ3VyZS50Z3QgfCA4ICsrKystLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9iZmQvY29uZmlnLmJmZCBiL2JmZC9jb25maWcuYmZkCi1pbmRleCA2MzkxZjM1Njg0Li44YTExYzA2ODBhIDEwMDY0NAotLS0tIGEvYmZkL2NvbmZpZy5iZmQKLSsrKyBiL2JmZC9jb25maWcuYmZkCi1AQCAtOTEzLDEyICs5MTMsMTIgQEAgY2FzZSAiJHt0YXJnfSIgaW4KLSAgICAgdGFyZ19zZWx2ZWNzPSJtaXBzX2VsZjMyX2xlX3ZlYyBtaXBzX2VsZjY0X2JlX3ZlYyBtaXBzX2VsZjY0X2xlX3ZlYyBtaXBzX2Vjb2ZmX2JlX3ZlYyBtaXBzX2Vjb2ZmX2xlX3ZlYyIKLSAgICAgOzsKLSAgIG1pcHM2NCplbC0qLWxpbnV4KikKLS0gICAgdGFyZ19kZWZ2ZWM9bWlwc19lbGYzMl9udHJhZF9sZV92ZWMKLS0gICAgdGFyZ19zZWx2ZWNzPSJtaXBzX2VsZjMyX250cmFkX2JlX3ZlYyBtaXBzX2VsZjMyX3RyYWRfbGVfdmVjIG1pcHNfZWxmMzJfdHJhZF9iZV92ZWMgbWlwc19lbGY2NF90cmFkX2xlX3ZlYyBtaXBzX2VsZjY0X3RyYWRfYmVfdmVjIgotKyAgICB0YXJnX2RlZnZlYz1taXBzX2VsZjY0X3RyYWRfbGVfdmVjCi0rICAgIHRhcmdfc2VsdmVjcz0ibWlwc19lbGYzMl9udHJhZF9iZV92ZWMgbWlwc19lbGYzMl9udHJhZF9sZV92ZWMgbWlwc19lbGYzMl90cmFkX2xlX3ZlYyBtaXBzX2VsZjMyX3RyYWRfYmVfdmVjIG1pcHNfZWxmNjRfdHJhZF9iZV92ZWMiCi0gICAgIDs7Ci0gICBtaXBzNjQqLSotbGludXgqKQotLSAgICB0YXJnX2RlZnZlYz1taXBzX2VsZjMyX250cmFkX2JlX3ZlYwotLSAgICB0YXJnX3NlbHZlY3M9Im1pcHNfZWxmMzJfbnRyYWRfbGVfdmVjIG1pcHNfZWxmMzJfdHJhZF9iZV92ZWMgbWlwc19lbGYzMl90cmFkX2xlX3ZlYyBtaXBzX2VsZjY0X3RyYWRfYmVfdmVjIG1pcHNfZWxmNjRfdHJhZF9sZV92ZWMiCi0rICAgIHRhcmdfZGVmdmVjPW1pcHNfZWxmNjRfdHJhZF9iZV92ZWMKLSsgICAgdGFyZ19zZWx2ZWNzPSJtaXBzX2VsZjMyX250cmFkX2JlX3ZlYyBtaXBzX2VsZjMyX250cmFkX2JlX3ZlYyBtaXBzX2VsZjMyX3RyYWRfYmVfdmVjIG1pcHNfZWxmMzJfdHJhZF9sZV92ZWMgbWlwc19lbGY2NF90cmFkX2xlX3ZlYyIKLSAgICAgOzsKLSAgIG1pcHMqZWwtKi1saW51eCopCi0gICAgIHRhcmdfZGVmdmVjPW1pcHNfZWxmMzJfdHJhZF9sZV92ZWMKLWRpZmYgLS1naXQgYS9sZC9jb25maWd1cmUudGd0IGIvbGQvY29uZmlndXJlLnRndAotaW5kZXggZmFkOGIyZTVjOC4uN2ZiMjE2ODUwMyAxMDA2NDQKLS0tLSBhL2xkL2NvbmZpZ3VyZS50Z3QKLSsrKyBiL2xkL2NvbmZpZ3VyZS50Z3QKLUBAIC00NjQsMTEgKzQ2NCwxMSBAQCBtaXBzKmVsLSotdnh3b3JrcyopCXRhcmdfZW11bD1lbGYzMmVsbWlwdnh3b3JrcwotIG1pcHMqLSotdnh3b3JrcyopCXRhcmdfZW11bD1lbGYzMmVibWlwdnh3b3JrcwotIAkJCXRhcmdfZXh0cmFfZW11bHM9ImVsZjMyZWxtaXB2eHdvcmtzIiA7OwotIG1pcHMqLSotd2luZGlzcykJdGFyZ19lbXVsPWVsZjMybWlwc3dpbmRpc3MgOzsKLS1taXBzNjQqZWwtKi1saW51eC0qKQl0YXJnX2VtdWw9ZWxmMzJsdHNtaXBuMzIKLS0JCQl0YXJnX2V4dHJhX2VtdWxzPSJlbGYzMmJ0c21pcG4zMiBlbGYzMmx0c21pcCBlbGYzMmJ0c21pcCBlbGY2NGx0c21pcCBlbGY2NGJ0c21pcCIKLSttaXBzNjQqZWwtKi1saW51eC0qKQl0YXJnX2VtdWw9ZWxmNjRsdHNtaXAKLSsJCQl0YXJnX2V4dHJhX2VtdWxzPSJlbGYzMmJ0c21pcG4zMiBlbGYzMmx0c21pcG4zMiBlbGYzMmx0c21pcCBlbGYzMmJ0c21pcCBlbGY2NGJ0c21pcCIKLSAJCQl0YXJnX2V4dHJhX2xpYnBhdGg9JHRhcmdfZXh0cmFfZW11bHMgOzsKLS1taXBzNjQqLSotbGludXgtKikJdGFyZ19lbXVsPWVsZjMyYnRzbWlwbjMyCi0tCQkJdGFyZ19leHRyYV9lbXVscz0iZWxmMzJsdHNtaXBuMzIgZWxmMzJidHNtaXAgZWxmMzJsdHNtaXAgZWxmNjRidHNtaXAgZWxmNjRsdHNtaXAiCi0rbWlwczY0Ki0qLWxpbnV4LSopCXRhcmdfZW11bD1lbGY2NGJ0c21pcAotKwkJCXRhcmdfZXh0cmFfZW11bHM9ImVsZjMyYnRzbWlwbjMyIGVsZjMybHRzbWlwbjMyIGVsZjMyYnRzbWlwIGVsZjMybHRzbWlwIGVsZjY0bHRzbWlwIgotIAkJCXRhcmdfZXh0cmFfbGlicGF0aD0kdGFyZ19leHRyYV9lbXVscyA7OwotIG1pcHMqZWwtKi1saW51eC0qKQl0YXJnX2VtdWw9ZWxmMzJsdHNtaXAKLSAJCQl0YXJnX2V4dHJhX2VtdWxzPSJlbGYzMmJ0c21pcCBlbGYzMmx0c21pcG4zMiBlbGY2NGx0c21pcCBlbGYzMmJ0c21pcG4zMiBlbGY2NGJ0c21pcCIKLS0tIAotMi4xOC4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTItQWRkLXN1cHBvcnQtZm9yLU5ldGxvZ2ljLVhMUC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTItQWRkLXN1cHBvcnQtZm9yLU5ldGxvZ2ljLVhMUC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGQ2NGJkNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDEyLUFkZC1zdXBwb3J0LWZvci1OZXRsb2dpYy1YTFAucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOTMgKzAsMCBAQAotRnJvbSA5NmZmNzU3MGMyOWY3OTJjNDY2YTkzMzUyOWZlZmRhOWI4ZTk3OTk0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFN1biwgMTQgRmViIDIwMTYgMTc6MDY6MTkgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAxMi8xNV0gQWRkIHN1cHBvcnQgZm9yIE5ldGxvZ2ljIFhMUAotCi1QYXRjaCBGcm9tOiBOZWJ1IFBoaWxpcHMgPG5waGlsaXBzQG5ldGxvZ2ljbWljcm8uY29tPgotCi1Vc2luZyB0aGUgbWlwc2lzYTY0cjJubG0gdGFyZ2V0LCBhZGQgc3VwcG9ydCBmb3IgWExQIGZyb20KLU5ldGxvZ2ljLiBBbHNvLCB1cGRhdGUgdmVuZG9yIG5hbWUgdG8gTkxNIHdoZXJldmVyIGFwcGxpY2FibGUuCi0KLVVzZSAweDAwMDAwMDgwIGZvciBJTlNOX1hMUCwgdGhlIHZhbHVlIDB4MDAwMDAwNDAgaGFzIGFscmVhZHkgYmVlbgotYXNzaWduZWQgdG8gSU5TTl9PQ1RFT04zCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogQmFvc2hhbiBQYW5nIDxiYW9zaGFuLnBhbmdAd2luZHJpdmVyLmNvbT4KLVNpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KLS0tLQotIGJmZC9hb3V0eC5oICAgICAgICAgICB8ICAxICsKLSBiZmQvYXJjaHVyZXMuYyAgICAgICAgfCAgMSArCi0gYmZkL2JmZC1pbjIuaCAgICAgICAgIHwgIDEgKwotIGJmZC9jb25maWcuYmZkICAgICAgICB8ICA1ICsrKysrCi0gYmZkL2NwdS1taXBzLmMgICAgICAgIHwgIDYgKysrKy0tCi0gYmZkL2VsZnh4LW1pcHMuYyAgICAgIHwgIDggKysrKysrKysKLSBiaW51dGlscy9yZWFkZWxmLmMgICAgfCAgMSArCi0gZ2FzL2NvbmZpZy90Yy1taXBzLmMgIHwgIDQgKysrLQotIGdhcy9jb25maWd1cmUgICAgICAgICB8ICAzICsrKwotIGluY2x1ZGUvZWxmL21pcHMuaCAgICB8ICAxICsKLSBpbmNsdWRlL29wY29kZS9taXBzLmggfCAgNiArKysrKysKLSBsZC9jb25maWd1cmUudGd0ICAgICAgfCAgMiArKwotIG9wY29kZXMvbWlwcy1kaXMuYyAgICB8IDEyICsrKysrLS0tLS0tLQotIG9wY29kZXMvbWlwcy1vcGMuYyAgICB8IDMxICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KLSAxNCBmaWxlcyBjaGFuZ2VkLCA2MSBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2JmZC9hb3V0eC5oIGIvYmZkL2FvdXR4LmgKLWluZGV4IDAyMzg0M2IwYmUuLjQ2MjQ2ZmVjMmQgMTAwNjQ0Ci0tLS0gYS9iZmQvYW91dHguaAotKysrIGIvYmZkL2FvdXR4LmgKLUBAIC03OTgsNiArNzk4LDcgQEAgTkFNRSAoYW91dCwgbWFjaGluZV90eXBlKSAoZW51bSBiZmRfYXJjaGl0ZWN0dXJlIGFyY2gsCi0gCWNhc2UgYmZkX21hY2hfbWlwc2lzYTY0cjY6Ci0gCWNhc2UgYmZkX21hY2hfbWlwc19zYjE6Ci0gCWNhc2UgYmZkX21hY2hfbWlwc194bHI6Ci0rCWNhc2UgYmZkX21hY2hfbWlwc194bHA6Ci0gCSAgLyogRklYTUU6IFRoZXNlIHNob3VsZCBiZSBNSVBTMywgTUlQUzQsIE1JUFMxNiwgTUlQUzMyLCBldGMuICAqLwotIAkgIGFyY2hfZmxhZ3MgPSBNX01JUFMyOwotIAkgIGJyZWFrOwotZGlmZiAtLWdpdCBhL2JmZC9hcmNodXJlcy5jIGIvYmZkL2FyY2h1cmVzLmMKLWluZGV4IDI4MmU5ODMwODYuLmIzOGIwNWQxMzIgMTAwNjQ0Ci0tLS0gYS9iZmQvYXJjaHVyZXMuYwotKysrIGIvYmZkL2FyY2h1cmVzLmMKLUBAIC0xODMsNiArMTgzLDcgQEAgREVTQ1JJUFRJT04KLSAuI2RlZmluZSBiZmRfbWFjaF9taXBzX29jdGVvbjMJCTY1MDMKLSAuI2RlZmluZSBiZmRfbWFjaF9taXBzX3hscgkJODg3NjgyCSB7KiBkZWNpbWFsICdYTFInLiAgKn0KLSAuI2RlZmluZSBiZmRfbWFjaF9taXBzX2ludGVyYXB0aXZfbXIyCTczNjU1MAkgeyogZGVjaW1hbCAnSUEyJy4gICp9Ci0rLiNkZWZpbmUgYmZkX21hY2hfbWlwc194bHAgICAgICAgICAgICAgIDg4NzY4MCAgIHsqIGRlY2ltYWwgJ1hMUCcuICAqfQotIC4jZGVmaW5lIGJmZF9tYWNoX21pcHNpc2EzMgkJMzIKLSAuI2RlZmluZSBiZmRfbWFjaF9taXBzaXNhMzJyMgkJMzMKLSAuI2RlZmluZSBiZmRfbWFjaF9taXBzaXNhMzJyMwkJMzQKLWRpZmYgLS1naXQgYS9iZmQvYmZkLWluMi5oIGIvYmZkL2JmZC1pbjIuaAotaW5kZXggOTM3NDViZDNmZC4uMzI2ZTllNDllZCAxMDA2NDQKLS0tLSBhL2JmZC9iZmQtaW4yLmgKLSsrKyBiL2JmZC9iZmQtaW4yLmgKLUBAIC0yMDU0LDYgKzIwNTQsNyBAQCBlbnVtIGJmZF9hcmNoaXRlY3R1cmUKLSAjZGVmaW5lIGJmZF9tYWNoX21pcHNfb2N0ZW9uMyAgICAgICAgICA2NTAzCi0gI2RlZmluZSBiZmRfbWFjaF9taXBzX3hsciAgICAgICAgICAgICAgODg3NjgyICAgLyogZGVjaW1hbCAnWExSJy4gICovCi0gI2RlZmluZSBiZmRfbWFjaF9taXBzX2ludGVyYXB0aXZfbXIyICAgNzM2NTUwICAgLyogZGVjaW1hbCAnSUEyJy4gICovCi0rI2RlZmluZSBiZmRfbWFjaF9taXBzX3hscCAgICAgICAgICAgICAgODg3NjgwICAgLyogZGVjaW1hbCAnWExQJy4gICovCi0gI2RlZmluZSBiZmRfbWFjaF9taXBzaXNhMzIgICAgICAgICAgICAgMzIKLSAjZGVmaW5lIGJmZF9tYWNoX21pcHNpc2EzMnIyICAgICAgICAgICAzMwotICNkZWZpbmUgYmZkX21hY2hfbWlwc2lzYTMycjMgICAgICAgICAgIDM0Ci1kaWZmIC0tZ2l0IGEvYmZkL2NvbmZpZy5iZmQgYi9iZmQvY29uZmlnLmJmZAotaW5kZXggOGExMWMwNjgwYS4uYzg4MjQyMTM0MyAxMDA2NDQKLS0tLSBhL2JmZC9jb25maWcuYmZkCi0rKysgYi9iZmQvY29uZmlnLmJmZAotQEAgLTg5Niw2ICs4OTYsMTEgQEAgY2FzZSAiJHt0YXJnfSIgaW4KLSAgICAgdGFyZ19kZWZ2ZWM9bWlwc19lbGYzMl9sZV92ZWMKLSAgICAgdGFyZ19zZWx2ZWNzPSJtaXBzX2VsZjMyX2JlX3ZlYyBtaXBzX2VsZjY0X2JlX3ZlYyBtaXBzX2VsZjY0X2xlX3ZlYyIKLSAgICAgOzsKLSsgIG1pcHNpc2E2NCotKi1lbGYqKQotKwl0YXJnX2RlZnZlYz1taXBzX2VsZjMyX3RyYWRfYmVfdmVjCi0rCXRhcmdfc2VsdmVjcz0ibWlwc19lbGYzMl90cmFkX2xlX3ZlYyBtaXBzX2VsZjY0X3RyYWRfYmVfdmVjIG1pcHNfZWxmNjRfdHJhZF9sZV92ZWMiCi0rCXdhbnQ2ND10cnVlCi0rCTs7Ci0gICBtaXBzKi0qLWVsZiogfCBtaXBzKi0qLXJ0ZW1zKiB8IG1pcHMqLSotd2luZGlzcyB8IG1pcHMqLSotbm9uZSkKLSAgICAgdGFyZ19kZWZ2ZWM9bWlwc19lbGYzMl9iZV92ZWMKLSAgICAgdGFyZ19zZWx2ZWNzPSJtaXBzX2VsZjMyX2xlX3ZlYyBtaXBzX2VsZjY0X2JlX3ZlYyBtaXBzX2VsZjY0X2xlX3ZlYyIKLWRpZmYgLS1naXQgYS9iZmQvY3B1LW1pcHMuYyBiL2JmZC9jcHUtbWlwcy5jCi1pbmRleCBjYjUwYzY0MzcxLi4yYjlkMWQ2ZWNmIDEwMDY0NAotLS0tIGEvYmZkL2NwdS1taXBzLmMKLSsrKyBiL2JmZC9jcHUtbWlwcy5jCi1AQCAtMTA1LDcgKzEwNSw4IEBAIGVudW0KLSAgIElfbWlwc29jdGVvbjMsCi0gICBJX3hsciwKLSAgIElfaW50ZXJhcHRpdl9tcjIsCi0tICBJX21pY3JvbWlwcwotKyAgSV9taWNyb21pcHMsCi0rICBJX3hscAotIH07Ci0gCi0gI2RlZmluZSBOTihpbmRleCkgKCZhcmNoX2luZm9fc3RydWN0WyhpbmRleCkgKyAxXSkKLUBAIC0xNTgsNyArMTU5LDggQEAgc3RhdGljIGNvbnN0IGJmZF9hcmNoX2luZm9fdHlwZSBhcmNoX2luZm9fc3RydWN0W10gPQotICAgTiAoNjQsIDY0LCBiZmRfbWFjaF9taXBzX3hsciwgIm1pcHM6eGxyIiwJICBGQUxTRSwgTk4oSV94bHIpKSwKLSAgIE4gKDMyLCAzMiwgYmZkX21hY2hfbWlwc19pbnRlcmFwdGl2X21yMiwgIm1pcHM6aW50ZXJhcHRpdi1tcjIiLCBGQUxTRSwKLSAgICAgIE5OKElfaW50ZXJhcHRpdl9tcjIpKSwKLS0gIE4gKDY0LCA2NCwgYmZkX21hY2hfbWlwc19taWNyb21pcHMsIm1pcHM6bWljcm9taXBzIixGQUxTRSwwKQotKyAgTiAoNjQsIDY0LCBiZmRfbWFjaF9taXBzX21pY3JvbWlwcywibWlwczptaWNyb21pcHMiLEZBTFNFLE5OKElfbWljcm9taXBzKSksCi0rICBOICg2NCwgNjQsIGJmZF9tYWNoX21pcHNfeGxwLCAibWlwczp4bHAiLCAgICAgIEZBTFNFLCAwKQotIH07Ci0gCi0gLyogVGhlIGRlZmF1bHQgYXJjaGl0ZWN0dXJlIGlzIG1pcHM6MzAwMCwgYnV0IHdpdGggYSBtYWNoaW5lIG51bWJlciBvZgotZGlmZiAtLWdpdCBhL2JmZC9lbGZ4eC1taXBzLmMgYi9iZmQvZWxmeHgtbWlwcy5jCi1pbmRleCBkOTE5NDIzMDFjLi41ZDFiZDNmMGIxIDEwMDY0NAotLS0tIGEvYmZkL2VsZnh4LW1pcHMuYwotKysrIGIvYmZkL2VsZnh4LW1pcHMuYwotQEAgLTY4MDUsNiArNjgwNSw5IEBAIF9iZmRfZWxmX21pcHNfbWFjaCAoZmxhZ3dvcmQgZmxhZ3MpCi0gICAgIGNhc2UgRV9NSVBTX01BQ0hfSUFNUjI6Ci0gICAgICAgcmV0dXJuIGJmZF9tYWNoX21pcHNfaW50ZXJhcHRpdl9tcjI7Ci0gCi0rICAgIGNhc2UgRV9NSVBTX01BQ0hfWExQOgotKyAgICAgIHJldHVybiBiZmRfbWFjaF9taXBzX3hscDsKLSsKLSAgICAgZGVmYXVsdDoKLSAgICAgICBzd2l0Y2ggKGZsYWdzICYgRUZfTUlQU19BUkNIKQotIAl7Ci1AQCAtMTIwMDMsNiArMTIwMDYsMTAgQEAgbWlwc19zZXRfaXNhX2ZsYWdzIChiZmQgKmFiZmQpCi0gICAgICAgdmFsID0gRV9NSVBTX0FSQ0hfNjRSMiB8IEVfTUlQU19NQUNIX09DVEVPTjI7Ci0gICAgICAgYnJlYWs7Ci0gCi0rCWNhc2UgYmZkX21hY2hfbWlwc194bHA6Ci0rCSAgdmFsID0gRV9NSVBTX0FSQ0hfNjRSMiB8IEVfTUlQU19NQUNIX1hMUDsKLSsJICBicmVhazsKLSsKLSAgICAgY2FzZSBiZmRfbWFjaF9taXBzaXNhMzI6Ci0gICAgICAgdmFsID0gRV9NSVBTX0FSQ0hfMzI7Ci0gICAgICAgYnJlYWs7Ci1AQCAtMTM5OTIsNiArMTM5OTksNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG1pcHNfbWFjaF9leHRlbnNpb24gbWlwc19tYWNoX2V4dGVuc2lvbnNbXSA9Ci0gICB7IGJmZF9tYWNoX21pcHNfb2N0ZW9ucCwgYmZkX21hY2hfbWlwc19vY3Rlb24gfSwKLSAgIHsgYmZkX21hY2hfbWlwc19vY3Rlb24sIGJmZF9tYWNoX21pcHNpc2E2NHIyIH0sCi0gICB7IGJmZF9tYWNoX21pcHNfbG9vbmdzb25fM2EsIGJmZF9tYWNoX21pcHNpc2E2NHIyIH0sCi0rICB7IGJmZF9tYWNoX21pcHNfeGxwLCBiZmRfbWFjaF9taXBzaXNhNjRyMiB9LAotIAotICAgLyogTUlQUzY0IGV4dGVuc2lvbnMuICAqLwotICAgeyBiZmRfbWFjaF9taXBzaXNhNjRyMiwgYmZkX21hY2hfbWlwc2lzYTY0IH0sCi1kaWZmIC0tZ2l0IGEvYmludXRpbHMvcmVhZGVsZi5jIGIvYmludXRpbHMvcmVhZGVsZi5jCi1pbmRleCAyYjc4ZGIyMTliLi43YTcxNzg5MjVmIDEwMDY0NAotLS0tIGEvYmludXRpbHMvcmVhZGVsZi5jCi0rKysgYi9iaW51dGlscy9yZWFkZWxmLmMKLUBAIC0zNDAzLDYgKzM0MDMsNyBAQCBnZXRfbWFjaGluZV9mbGFncyAoRmlsZWRhdGEgKiBmaWxlZGF0YSwgdW5zaWduZWQgZV9mbGFncywgdW5zaWduZWQgZV9tYWNoaW5lKQotIAkgICAgY2FzZSBFX01JUFNfTUFDSF9PQ1RFT04zOiBzdHJjYXQgKGJ1ZiwgIiwgb2N0ZW9uMyIpOyBicmVhazsKLSAJICAgIGNhc2UgRV9NSVBTX01BQ0hfWExSOiAgc3RyY2F0IChidWYsICIsIHhsciIpOyBicmVhazsKLSAJICAgIGNhc2UgRV9NSVBTX01BQ0hfSUFNUjI6ICBzdHJjYXQgKGJ1ZiwgIiwgaW50ZXJhcHRpdi1tcjIiKTsgYnJlYWs7Ci0rCSAgICBjYXNlIEVfTUlQU19NQUNIX1hMUDogIHN0cmNhdCAoYnVmLCAiLCB4bHAiKTsgYnJlYWs7Ci0gCSAgICBjYXNlIDA6Ci0gCSAgICAvKiBXZSBzaW1wbHkgaWdub3JlIHRoZSBmaWVsZCBpbiB0aGlzIGNhc2UgdG8gYXZvaWQgY29uZnVzaW9uOgotIAkgICAgICAgTUlQUyBFTEYgZG9lcyBub3Qgc3BlY2lmeSBFRl9NSVBTX01BQ0gsIGl0IGlzIGEgR05VCi1kaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1taXBzLmMgYi9nYXMvY29uZmlnL3RjLW1pcHMuYwotaW5kZXggNTlkZjc4NzE1NS4uNDg1MzcyMjZjMCAxMDA2NDQKLS0tLSBhL2dhcy9jb25maWcvdGMtbWlwcy5jCi0rKysgYi9nYXMvY29uZmlnL3RjLW1pcHMuYwotQEAgLTU1Miw2ICs1NTIsNyBAQCBzdGF0aWMgaW50IG1pcHNfMzJiaXRtb2RlID0gMDsKLSAgICB8fCBtaXBzX29wdHMuYXJjaCA9PSBDUFVfUk03MDAwICAgICAgICAgICAgICAgICAgICBcCi0gICAgfHwgbWlwc19vcHRzLmFyY2ggPT0gQ1BVX1ZSNTUwMCAgICAgICAgICAgICAgICAgICAgXAotICAgIHx8IG1pcHNfb3B0cy5taWNyb21pcHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSsgICB8fCBtaXBzX29wdHMuYXJjaCA9PSBDUFVfWExQICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgKQotIAotIC8qIFdoZXRoZXIgdGhlIHByb2Nlc3NvciB1c2VzIGhhcmR3YXJlIGludGVybG9ja3MgdG8gcHJvdGVjdCByZWFkcwotQEAgLTU4MSw2ICs1ODIsNyBAQCBzdGF0aWMgaW50IG1pcHNfMzJiaXRtb2RlID0gMDsKLSAgICAgJiYgbWlwc19vcHRzLmlzYSAhPSBJU0FfTUlQUzMpICAgICAgICAgICAgICAgICAgICBcCi0gICAgfHwgbWlwc19vcHRzLmFyY2ggPT0gQ1BVX1I0MzAwICAgICAgICAgICAgICAgICAgICAgXAotICAgIHx8IG1pcHNfb3B0cy5taWNyb21pcHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSsgICB8fCBtaXBzX29wdHMuYXJjaCA9PSBDUFVfWExQICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgKQotIAotIC8qIFdoZXRoZXIgdGhlIHByb2Nlc3NvciB1c2VzIGhhcmR3YXJlIGludGVybG9ja3MgdG8gcHJvdGVjdCByZWFkcwotQEAgLTE5Nzc4LDcgKzE5NzgwLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBtaXBzX2NwdV9pbmZvIG1pcHNfY3B1X2luZm9fdGFibGVbXSA9Ci0gICAvKiBCcm9hZGNvbSBYTFAuCi0gICAgICBYTFAgaXMgbW9zdGx5IGxpa2UgWExSLCB3aXRoIHRoZSBwcm9taW5lbnQgZXhjZXB0aW9uIHRoYXQgaXQgaXMKLSAgICAgIE1JUFM2NFIyIHJhdGhlciB0aGFuIE1JUFM2NC4gICovCi0tICB7ICJ4bHAiLAkgICAgICAwLCAwLAkJCUlTQV9NSVBTNjRSMiwgQ1BVX1hMUiB9LAotKyAgeyAieGxwIiwJICAgICAgMCwgMCwJCQlJU0FfTUlQUzY0UjIsIENQVV9YTFAgfSwKLSAKLSAgIC8qIE1JUFMgNjQgUmVsZWFzZSA2ICovCi0gICB7ICJpNjQwMCIsCSAgICAgIDAsIEFTRV9NU0EsCQlJU0FfTUlQUzY0UjYsIENQVV9NSVBTNjRSNn0sCi1kaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZ3VyZSBiL2dhcy9jb25maWd1cmUKLWluZGV4IDEzNDI3OGZhMjUuLjJmZGNhMTQ3YTEgMTAwNzU1Ci0tLS0gYS9nYXMvY29uZmlndXJlCi0rKysgYi9nYXMvY29uZmlndXJlCi1AQCAtMTMzMzYsNiArMTMzMzYsOSBAQCBfQUNFT0YKLSAJICBtaXBzaXNhNjRyNiB8IG1pcHNpc2E2NHI2ZWwpCi0gCSAgICBtaXBzX2NwdT1taXBzNjRyNgotIAkgICAgOzsKLSsJICBtaXBzaXNhNjRyMm5sbSB8IG1pcHNpc2E2NHIybmxtZWwpCi0rCQltaXBzX2NwdT14bHAKLSsJCTs7Ci0gCSAgbWlwc3R4MzkgfCBtaXBzdHgzOWVsKQotIAkgICAgbWlwc19jcHU9cjM5MDAKLSAJICAgIDs7Ci1kaWZmIC0tZ2l0IGEvaW5jbHVkZS9lbGYvbWlwcy5oIGIvaW5jbHVkZS9lbGYvbWlwcy5oCi1pbmRleCA0ZTJjZGUzMjc5Li5jMzI5ZjM4OTI5IDEwMDY0NAotLS0tIGEvaW5jbHVkZS9lbGYvbWlwcy5oCi0rKysgYi9pbmNsdWRlL2VsZi9taXBzLmgKLUBAIC0yOTAsNiArMjkwLDcgQEAgRU5EX1JFTE9DX05VTUJFUlMgKFJfTUlQU19tYXhleHQpCi0gI2RlZmluZSBFX01JUFNfTUFDSF9TQjEgICAgICAgICAweDAwOGEwMDAwCi0gI2RlZmluZSBFX01JUFNfTUFDSF9PQ1RFT04JMHgwMDhiMDAwMAotICNkZWZpbmUgRV9NSVBTX01BQ0hfWExSICAgICAJMHgwMDhjMDAwMAotKyNkZWZpbmUgRV9NSVBTX01BQ0hfWExQICAgICAgICAgMHgwMDhmMDAwMAotICNkZWZpbmUgRV9NSVBTX01BQ0hfT0NURU9OMgkweDAwOGQwMDAwCi0gI2RlZmluZSBFX01JUFNfTUFDSF9PQ1RFT04zCTB4MDA4ZTAwMDAKLSAjZGVmaW5lIEVfTUlQU19NQUNIXzU0MDAJMHgwMDkxMDAwMAotZGlmZiAtLWdpdCBhL2luY2x1ZGUvb3Bjb2RlL21pcHMuaCBiL2luY2x1ZGUvb3Bjb2RlL21pcHMuaAotaW5kZXggMWFiMTc4MDU2Ny4uNzRmNDU3YjU3OSAxMDA2NDQKLS0tLSBhL2luY2x1ZGUvb3Bjb2RlL21pcHMuaAotKysrIGIvaW5jbHVkZS9vcGNvZGUvbWlwcy5oCi1AQCAtMTI2Miw2ICsxMjYyLDggQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBtaXBzX2lzYV90YWJsZVtdID0gewotICNkZWZpbmUgSU5TTl9YTFIgICAgICAgICAgICAgICAgIDB4MDAwMDAwMjAKLSAvKiBJbWFnaW5hdGlvbiBpbnRlckFwdGl2IE1SMi4gICovCi0gI2RlZmluZSBJTlNOX0lOVEVSQVBUSVZfTVIyCSAgMHgwNDAwMDAwMAotKy8qIE5ldGxvZ2ljIFhsUCBpbnN0cnVjdGlvbiAqLwotKyNkZWZpbmUgSU5TTl9YTFAJCTB4MDAwMDAwODAKLSAKLSAvKiBEU1AgQVNFICovCi0gI2RlZmluZSBBU0VfRFNQCQkJMHgwMDAwMDAwMQotQEAgLTEzNzMsNiArMTM3NSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgbWlwc19pc2FfdGFibGVbXSA9IHsKLSAjZGVmaW5lIENQVV9PQ1RFT04zCTY1MDMKLSAjZGVmaW5lIENQVV9YTFIgICAgIAk4ODc2ODIgICAJLyogZGVjaW1hbCAnWExSJyAgICovCi0gI2RlZmluZSBDUFVfSU5URVJBUFRJVl9NUjIgNzM2NTUwCS8qIGRlY2ltYWwgJ0lBMicgICovCi0rI2RlZmluZSBDUFVfWExQICAgICAgICAgODg3NjgwICAgICAgLyogZGVjaW1hbCAnWExQJyAgICovCi0gCi0gLyogUmV0dXJuIHRydWUgaWYgdGhlIGdpdmVuIENQVSBpcyBpbmNsdWRlZCBpbiBJTlNOXyogbWFzayBNQVNLLiAgKi8KLSAKLUBAIC0xNDUzLDYgKzE0NTYsOSBAQCBjcHVfaXNfbWVtYmVyIChpbnQgY3B1LCB1bnNpZ25lZCBpbnQgbWFzaykKLSAgICAgICByZXR1cm4gKChtYXNrICYgSU5TTl9JU0FfTUFTSykgPT0gSU5TTl9JU0EzMlI2KQotIAkgICAgIHx8ICgobWFzayAmIElOU05fSVNBX01BU0spID09IElOU05fSVNBNjRSNik7Ci0gCi0rICAgIGNhc2UgQ1BVX1hMUDoKLSsgICAgICByZXR1cm4gKG1hc2sgJiBJTlNOX1hMUCkgIT0gMDsKLSsKLSAgICAgZGVmYXVsdDoKLSAgICAgICByZXR1cm4gRkFMU0U7Ci0gICAgIH0KLWRpZmYgLS1naXQgYS9sZC9jb25maWd1cmUudGd0IGIvbGQvY29uZmlndXJlLnRndAotaW5kZXggN2ZiMjE2ODUwMy4uYTFkYjdhZGZlMiAxMDA2NDQKLS0tLSBhL2xkL2NvbmZpZ3VyZS50Z3QKLSsrKyBiL2xkL2NvbmZpZ3VyZS50Z3QKLUBAIC00NTAsNiArNDUwLDggQEAgbWlwcyplbC1zZGUtZWxmKiB8IG1pcHMqZWwtbXRpLWVsZiogfCBtaXBzKmVsLWltZy1lbGYqKQotIG1pcHMqLXNkZS1lbGYqIHwgbWlwcyotbXRpLWVsZiogfCBtaXBzKi1pbWctZWxmKikKLSAJCQl0YXJnX2VtdWw9ZWxmMzJidHNtaXAKLSAJCQl0YXJnX2V4dHJhX2VtdWxzPSJlbGYzMmx0c21pcCBlbGYzMmJ0c21pcG4zMiBlbGY2NGJ0c21pcCBlbGYzMmx0c21pcG4zMiBlbGY2NGx0c21pcCIgOzsKLSttaXBzaXNhNjQqLSotZWxmKikJdGFyZ19lbXVsPWVsZjMyYnRzbWlwCi0rCQkJdGFyZ19leHRyYV9lbXVscz0iZWxmMzJsdHNtaXAgZWxmNjRidHNtaXAgZWxmNjRsdHNtaXAiIDs7Ci0gbWlwczY0KmVsLXBzMi1lbGYqKQl0YXJnX2VtdWw9ZWxmMzJscjU5MDBuMzIKLSAJCQl0YXJnX2V4dHJhX2VtdWxzPSJlbGYzMmxyNTkwMCIKLSAJCQl0YXJnX2V4dHJhX2xpYnBhdGg9JHRhcmdfZXh0cmFfZW11bHMgOzsKLWRpZmYgLS1naXQgYS9vcGNvZGVzL21pcHMtZGlzLmMgYi9vcGNvZGVzL21pcHMtZGlzLmMKLWluZGV4IGJiZjIxMzI4ZTguLjM4ZTQ4N2MxNmYgMTAwNjQ0Ci0tLS0gYS9vcGNvZGVzL21pcHMtZGlzLmMKLSsrKyBiL29wY29kZXMvbWlwcy1kaXMuYwotQEAgLTY1NiwxMyArNjU2LDExIEBAIGNvbnN0IHN0cnVjdCBtaXBzX2FyY2hfY2hvaWNlIG1pcHNfYXJjaF9jaG9pY2VzW10gPQotICAgICBtaXBzX2NwMHNlbF9uYW1lc194bHIsIEFSUkFZX1NJWkUgKG1pcHNfY3Awc2VsX25hbWVzX3hsciksCi0gICAgIG1pcHNfY3AxX25hbWVzX21pcHMzMjY0LCBtaXBzX2h3cl9uYW1lc19udW1lcmljIH0sCi0gCi0tICAvKiBYTFAgaXMgbW9zdGx5IGxpa2UgWExSLCB3aXRoIHRoZSBwcm9taW5lbnQgZXhjZXB0aW9uIGl0IGlzIGJlaW5nCi0tICAgICBNSVBTNjRSMi4gICovCi0tICB7ICJ4bHAiLCAxLCBiZmRfbWFjaF9taXBzX3hsciwgQ1BVX1hMUiwKLS0gICAgSVNBX01JUFM2NFIyIHwgSU5TTl9YTFIsIDAsCi0tICAgIG1pcHNfY3AwX25hbWVzX3hsciwKLS0gICAgbWlwc19jcDBzZWxfbmFtZXNfeGxyLCBBUlJBWV9TSVpFIChtaXBzX2NwMHNlbF9uYW1lc194bHIpLAotLSAgICBtaXBzX2NwMV9uYW1lc19taXBzMzI2NCwgbWlwc19od3JfbmFtZXNfbnVtZXJpYyB9LAotKyAgeyAieGxwIiwgMSwgYmZkX21hY2hfbWlwc194bHAsIENQVV9YTFAsCi0rICAgIElTQV9NSVBTNjRSMiB8IElOU05fWExQLCAwLAotKyAgICBtaXBzX2NwMF9uYW1lc19taXBzMzI2NHIyLAotKyAgICBtaXBzX2NwMHNlbF9uYW1lc19taXBzMzI2NHIyLCBBUlJBWV9TSVpFIChtaXBzX2NwMHNlbF9uYW1lc19taXBzMzI2NHIyKSwKLSsgICAgbWlwc19jcDFfbmFtZXNfbWlwczMyNjQsIG1pcHNfaHdyX25hbWVzX21pcHMzMjY0cjIgfSwKLSAKLSAgIC8qIFRoaXMgZW50cnksIG1pcHMxNiwgaXMgaGVyZSBvbmx5IGZvciBJU0EvcHJvY2Vzc29yIHNlbGVjdGlvbjsgZG8KLSAgICAgIG5vdCBwcmludCBpdHMgbmFtZS4gICovCi1kaWZmIC0tZ2l0IGEvb3Bjb2Rlcy9taXBzLW9wYy5jIGIvb3Bjb2Rlcy9taXBzLW9wYy5jCi1pbmRleCAxY2JjYmM2YWJjLi5lMWZiZGM4OWRlIDEwMDY0NAotLS0tIGEvb3Bjb2Rlcy9taXBzLW9wYy5jCi0rKysgYi9vcGNvZGVzL21pcHMtb3BjLmMKLUBAIC0zMjksNiArMzI5LDcgQEAgZGVjb2RlX21pcHNfb3BlcmFuZCAoY29uc3QgY2hhciAqcCkKLSAjZGVmaW5lIElPQ1QzCUlOU05fT0NURU9OMwotICNkZWZpbmUgWExSICAgICBJTlNOX1hMUgotICNkZWZpbmUgSUFNUjIJSU5TTl9JTlRFUkFQVElWX01SMgotKyNkZWZpbmUgWExQCUlOU05fWExQCi0gI2RlZmluZSBJVklSVAlBU0VfVklSVAotICNkZWZpbmUgSVZJUlQ2NAlBU0VfVklSVDY0Ci0gCi1AQCAtOTc0LDYgKzk3NSw3IEBAIGNvbnN0IHN0cnVjdCBtaXBzX29wY29kZSBtaXBzX2J1aWx0aW5fb3Bjb2Rlc1tdID0KLSB7ImNsbyIsCQkJIlUscyIsCQkweDcwMDAwMDIxLCAweGZjMDAwN2ZmLCBXUl8xfFJEXzIsCQkwLAkJSTMyfE41NSwJMCwJSTM3IH0sCi0geyJjbHoiLAkJCSJkLHMiLAkJMHgwMDAwMDA1MCwgMHhmYzFmMDdmZiwgV1JfMXxSRF8yLAkJMCwJCUkzNywJCTAsCTAgfSwKLSB7ImNseiIsCQkJIlUscyIsCQkweDcwMDAwMDIwLCAweGZjMDAwN2ZmLCBXUl8xfFJEXzIsCQkwLAkJSTMyfE41NSwJMCwJSTM3IH0sCi0reyJjcmMiLAkJCSJkLHMsdCIsCTB4NzAwMDAwMWMsIDB4ZmMwMDA3ZmYsCVdSXzF8UkRfMnxSRF8zLAkwLAkJWExQLCAJCTAsCTAgfSwKLSAvKiBjdGMwIGlzIGF0IHRoZSBib3R0b20gb2YgdGhlIHRhYmxlLiAgKi8KLSB7ImN0YzEiLAkJInQsRyIsCQkweDQ0YzAwMDAwLCAweGZmZTAwN2ZmLAlSRF8xfFdSX0NDfENNLAkJMCwJCUkxLAkJMCwJMCB9LAotIHsiY3RjMSIsCQkidCxTIiwJCTB4NDRjMDAwMDAsIDB4ZmZlMDA3ZmYsCVJEXzF8V1JfQ0N8Q00sCQkwLAkJSTEsCQkwLAkwIH0sCi1AQCAtMTAwNiwxMiArMTAwOCwxMyBAQCBjb25zdCBzdHJ1Y3QgbWlwc19vcGNvZGUgbWlwc19idWlsdGluX29wY29kZXNbXSA9Ci0geyJkYWRkaXUiLAkJInQscixqIiwJMHg2NDAwMDAwMCwgMHhmYzAwMDAwMCwgV1JfMXxSRF8yLAkJMCwJCUkzLAkJMCwJMCB9LAotIHsiZGFkZHUiLAkJImQsdix0IiwJMHgwMDAwMDAyZCwgMHhmYzAwMDdmZiwgV1JfMXxSRF8yfFJEXzMsCQkwLAkJSTMsCQkwLAkwIH0sCi0geyJkYWRkdSIsCQkidCxyLEkiLAkwLCAgICAoaW50KSBNX0RBRERVX0ksCUlOU05fTUFDUk8sCQkwLAkJSTMsCQkwLAkwIH0sCi0teyJkYWRkd2MiLAkJImQscyx0IiwgCTB4NzAwMDAwMzgsIDB4ZmMwMDA3ZmYsIFdSXzF8UkRfMnxSRF8zfFdSX0MwfFJEX0MwLCAwLAkJWExSLAkJMCwJMCB9LAotK3siZGFkZHdjIiwJCSJkLHMsdCIsIAkweDcwMDAwMDM4LCAweGZjMDAwN2ZmLCBXUl8xfFJEXzJ8UkRfM3xXUl9DMHxSRF9DMCwgMCwJCVhMUnxYTFAsCTAsCTAgfSwKLSB7ImRicmVhayIsCQkiIiwJCTB4NzAwMDAwM2YsIDB4ZmZmZmZmZmYsCTAsCQkJMCwJCU41LAkJMCwJMCB9LAotIHsiZGNsbyIsCQkiZCxzIiwJCTB4MDAwMDAwNTMsIDB4ZmMxZjA3ZmYsIFdSXzF8UkRfMiwJCTAsCQlJNjksCQkwLAkwIH0sCi0geyJkY2xvIiwJCSJVLHMiLAkgCTB4NzAwMDAwMjUsIDB4ZmMwMDA3ZmYsIFdSXzF8UkRfMiwgCTAsCQlJNjR8TjU1LAkwLAlJNjkgfSwKLSB7ImRjbHoiLAkJImQscyIsCQkweDAwMDAwMDUyLCAweGZjMWYwN2ZmLCBXUl8xfFJEXzIsCQkwLAkJSTY5LAkJMCwJMCB9LAotIHsiZGNseiIsCQkiVSxzIiwJIAkweDcwMDAwMDI0LCAweGZjMDAwN2ZmLCBXUl8xfFJEXzIsIAkwLAkJSTY0fE41NSwJMCwJSTY5IH0sCi0reyJkY3JjIiwJCSJkLHMsdCIsCTB4NzAwMDAwMWQsIDB4ZmMwMDA3ZmYsIFdSXzF8UkRfMnxSRF8zLAkwLAkJWExQLCAJCTAsCTAgfSwKLSAvKiBkY3RyIGFuZCBkY3R3IGFyZSB1c2VkIG9uIHRoZSByNTAwMC4gICovCi0geyJkY3RyIiwJCSJvKGIpIiwJIAkweGJjMDUwMDAwLCAweGZjMWYwMDAwLCBSRF8yLAkJCTAsCQlJMywJCTAsCTAgfSwKLSB7ImRjdHciLAkJIm8oYikiLAkJMHhiYzA5MDAwMCwgMHhmYzFmMDAwMCwgUkRfMiwJCQkwLAkJSTMsCQkwLAkwIH0sCi1AQCAtMTA4Myw2ICsxMDg2LDcgQEAgY29uc3Qgc3RydWN0IG1pcHNfb3Bjb2RlIG1pcHNfYnVpbHRpbl9vcGNvZGVzW10gPQotIHsiZG1mYzAiLAkJInQsRyxIIiwJMHg0MDIwMDAwMCwgMHhmZmUwMDdmOCwJV1JfMXxSRF9DMHxMQywJCTAsCQlJNjQsCQkwLAkwIH0sCi0geyJkbWZnYzAiLAkJInQsRyIsCQkweDQwNjAwMTAwLCAweGZmZTAwN2ZmLCBXUl8xfFJEX0MwfExDLAkJMCwJCTAsCQlJVklSVDY0LCAwIH0sCi0geyJkbWZnYzAiLAkJInQsRyxIIiwJMHg0MDYwMDEwMCwgMHhmZmUwMDdmOCwgV1JfMXxSRF9DMHxMQywJCTAsCQkwLAkJSVZJUlQ2NCwgMCB9LAotK3siZG1mdXIiLAkJInQsZCIsCQkweDcwMDAwMDFlLCAweGZmZTAwN2ZmLCBXUl8xLAkJCTAsCQlYTFAsCQkwLAkwIH0sCi0geyJkbXQiLAkJCSIiLAkJMHg0MTYwMGJjMSwgMHhmZmZmZmZmZiwgVFJBUCwJCQkwLAkJMCwJCU1UMzIsCTAgfSwKLSB7ImRtdCIsCQkJInQiLAkJMHg0MTYwMGJjMSwgMHhmZmUwZmZmZiwgV1JfMXxUUkFQLAkJMCwJCTAsCQlNVDMyLAkwIH0sCi0geyJkbXRjMCIsCQkidCxHIiwJCTB4NDBhMDAwMDAsIDB4ZmZlMDA3ZmYsCVJEXzF8V1JfQzB8V1JfQ0N8Q00sCTAsCQlJMywJCTAsCUVFIH0sCi1AQCAtMTA5OCw2ICsxMTAyLDggQEAgY29uc3Qgc3RydWN0IG1pcHNfb3Bjb2RlIG1pcHNfYnVpbHRpbl9vcGNvZGVzW10gPQotIC8qIGRtZmMzIGlzIGF0IHRoZSBib3R0b20gb2YgdGhlIHRhYmxlLiAgKi8KLSAvKiBkbXRjMyBpcyBhdCB0aGUgYm90dG9tIG9mIHRoZSB0YWJsZS4gICovCi0geyJkbXVoIiwJCSJkLHMsdCIsCTB4MDAwMDAwZGMsIDB4ZmMwMDA3ZmYsIFdSXzF8UkRfMnxSRF8zLAkJMCwJCUk2OSwJCTAsCTAgfSwKLSt7ImRtdHVyIiwJCSJ0LGQiLAkJMHg3MDAwMDAxZiwgMHhmZmUwMDdmZiwJUkRfMSwJCQkwLAkJWExQLAkJMCwJMCB9LAotK3siZG11bCIsCQkiZCxzLHQiLAkweDcwMDAwMDA2LCAweGZjMDAwN2ZmLAlXUl8xfFJEXzJ8UkRfMywJCTAsCQlYTFAsCQkwLAkwIH0sCi0geyJkbXVsIiwJCSJkLHMsdCIsCTB4MDAwMDAwOWMsIDB4ZmMwMDA3ZmYsIFdSXzF8UkRfMnxSRF8zLAkJMCwJCUk2OSwJCTAsCTAgfSwKLSB7ImRtdWwiLAkJImQsdix0IiwJMHg3MDAwMDAwMywgMHhmYzAwMDdmZiwgV1JfMXxSRF8yfFJEXzN8V1JfSElMTywJMCwJCUlPQ1QsCQkwLAkwIH0sCi0geyJkbXVsIiwJCSJkLHYsdCIsCTAsICAgIChpbnQpIE1fRE1VTCwJSU5TTl9NQUNSTywJCTAsCQlJMywJCTAsCU0zMnxJNjkgfSwKLUBAIC0xMjUxLDkgKzEyNTcsOSBAQCBjb25zdCBzdHJ1Y3QgbWlwc19vcGNvZGUgbWlwc19idWlsdGluX29wY29kZXNbXSA9Ci0geyJsZCIsCQkJInMsLWIoK1IpIiwJMHhlYzE4MDAwMCwgMHhmYzFjMDAwMCwgV1JfMSwJCQlSRF9wYywJCUk2OSwJCTAsCTAgfSwKLSB7ImxkIiwJCQkidCxBKGIpIiwJMCwgICAgKGludCkgTV9MRF9BQiwJSU5TTl9NQUNSTywJCTAsCQlJMSwJCTAsCTAgfSwKLSB7ImxkIiwJCQkidCxvKGIpIiwJMHhkYzAwMDAwMCwgMHhmYzAwMDAwMCwgV1JfMXxSRF8zfExNLAkJMCwJCUkzLAkJMCwJMCB9LAotLXsibGRhZGR3IiwJCSJ0LGIiLAkJMHg3MDAwMDAxMCwgMHhmYzAwZmZmZiwJTU9EXzF8UkRfMnxMTXxTTSwJMCwJCVhMUiwJCTAsCTAgfSwKLS17ImxkYWRkd3UiLAkJInQsYiIsCQkweDcwMDAwMDExLCAweGZjMDBmZmZmLAlNT0RfMXxSRF8yfExNfFNNLAkwLAkJWExSLAkJMCwJMCB9LAotLXsibGRhZGRkIiwJCSJ0LGIiLAkJMHg3MDAwMDAxMiwgMHhmYzAwZmZmZiwJTU9EXzF8UkRfMnxMTXxTTSwJMCwJCVhMUiwJCTAsCTAgfSwKLSt7ImxkYWRkdyIsCQkidCxiIiwJCTB4NzAwMDAwMTAsIDB4ZmMwMGZmZmYsCU1PRF8xfFJEXzJ8U00sCQkwLAkJWExSfFhMUCwJMCwJMCB9LAotK3sibGRhZGR3dSIsCQkidCxiIiwJCTB4NzAwMDAwMTEsIDB4ZmMwMGZmZmYsCU1PRF8xfFJEXzJ8U00sCQkwLAkJWExSfFhMUCwJMCwJMCB9LAotK3sibGRhZGRkIiwJCSJ0LGIiLAkJMHg3MDAwMDAxMiwgMHhmYzAwZmZmZiwJTU9EXzF8UkRfMnxTTSwJCTAsCQlYTFJ8WExQLAkwLAkwIH0sCi0geyJsZGMxIiwJCSJULG8oYikiLAkweGQ0MDAwMDAwLCAweGZjMDAwMDAwLCBXUl8xfFJEXzN8Q0xEfEZQX0QsCTAsCQlJMiwJCTAsCVNGIH0sCi0geyJsZGMxIiwJCSJFLG8oYikiLAkweGQ0MDAwMDAwLCAweGZjMDAwMDAwLCBXUl8xfFJEXzN8Q0xEfEZQX0QsCTAsCQlJMiwJCTAsCVNGIH0sCi0geyJsZGMxIiwJCSJULEEoYikiLAkwLCAgICAoaW50KSBNX0xEQzFfQUIsCUlOU05fTUFDUk8sCQlJTlNOMl9NX0ZQX0QsCUkyLAkJMCwJU0YgfSwKLUBAIC0xNDE4LDcgKzE0MjQsNyBAQCBjb25zdCBzdHJ1Y3QgbWlwc19vcGNvZGUgbWlwc19idWlsdGluX29wY29kZXNbXSA9Ci0geyJtZmxvIiwJCSJkLDkiLAkJMHgwMDAwMDAxMiwgMHhmZjlmMDdmZiwgV1JfMXxSRF9MTywJCTAsCQkwLAkJRDMyLAkwIH0sCi0geyJtZmxvMSIsCQkiZCIsCQkweDcwMDAwMDEyLCAweGZmZmYwN2ZmLAlXUl8xfFJEX0xPLAkJMCwJCUVFLAkJMCwJMCB9LAotIHsibWZsaHh1IiwJCSJkIiwJCTB4MDAwMDAwNTIsIDB4ZmZmZjA3ZmYsCVdSXzF8TU9EX0hJTE8sCQkwLAkJMCwJCVNNVCwJMCB9LAotLXsibWZjciIsCQkidCxzIiwJCTB4NzAwMDAwMTgsIDB4ZmMwMGZmZmYsIFdSXzF8UkRfMiwJCTAsCQlYTFIsCQkwLAkwIH0sCi0reyJtZmNyIiwJCSJ0LHMiLAkJMHg3MDAwMDAxOCwgMHhmYzAwZmZmZiwgV1JfMSwJCQkwLAkJWExSfFhMUCwJMCwJMCB9LAotIHsibWZzYSIsCQkiZCIsCQkweDAwMDAwMDI4LCAweGZmZmYwN2ZmLAlXUl8xLAkJCTAsCQlFRSwJCTAsCTAgfSwKLSB7Im1pbi5vYiIsCQkiWCxZLFEiLAkweDc4MDAwMDA2LCAweGZjMjAwMDNmLAlXUl8xfFJEXzJ8UkRfM3xGUF9ELAkwLAkJU0IxLAkJTVgsCTAgfSwKLSB7Im1pbi5vYiIsCQkiRCxTLFEiLAkweDQ4MDAwMDA2LCAweGZjMjAwMDNmLAlXUl8xfFJEXzJ8UkRfM3xGUF9ELAkwLAkJTjU0LAkJMCwJMCB9LAotQEAgLTE0NjMsMTAgKzE0NjksMTMgQEAgY29uc3Qgc3RydWN0IG1pcHNfb3Bjb2RlIG1pcHNfYnVpbHRpbl9vcGNvZGVzW10gPQotIC8qIG1vdmUgaXMgYXQgdGhlIHRvcCBvZiB0aGUgdGFibGUuICAqLwotIHsibXNnbi5xaCIsCQkiWCxZLFEiLAkweDc4MjAwMDAwLCAweGZjMjAwMDNmLAlXUl8xfFJEXzJ8UkRfM3xGUF9ELAkwLAkJMCwJCU1YLAkwIH0sCi0geyJtc2dzbmQiLAkJInQiLAkJMCwgICAgKGludCkgTV9NU0dTTkQsCUlOU05fTUFDUk8sCQkwLAkJWExSLAkJMCwJMCB9LAotK3sibXNnc25kcyIsCQkiZCx0IiwJCTB4NGEwMDAwMDEsIDB4ZmZlMDA3ZmYsCVdSXzF8UkRfMnxSRF9DMHxXUl9DMCwJMCwJCVhMUCwJCTAsCTAgfSwKLSB7Im1zZ2xkIiwJCSIiLCAJCTAsICAgIChpbnQpIE1fTVNHTEQsCUlOU05fTUFDUk8sCQkwLAkJWExSLAkJMCwJMCB9LAotIHsibXNnbGQiLAkJInQiLAkJMCwgICAgKGludCkgTV9NU0dMRF9ULAlJTlNOX01BQ1JPLAkJMCwJCVhMUiwJCTAsCTAgfSwKLS17Im1zZ3dhaXQiLAkJIiIsIAkJMCwgICAgKGludCkgTV9NU0dXQUlULAlJTlNOX01BQ1JPLAkJMCwJCVhMUiwJCTAsCTAgfSwKLS17Im1zZ3dhaXQiLAkJInQiLAkJMCwgICAgKGludCkgTV9NU0dXQUlUX1QsSU5TTl9NQUNSTywJCTAsCQlYTFIsCQkwLAkwIH0sCi0reyJtc2dsZHMiLAkJImQsdCIsCQkweDRhMDAwMDAyLCAweGZmZTAwN2ZmLAlXUl8xfFJEXzJ8UkRfQzB8V1JfQzAsCTAsCQlYTFAsCQkwLAkwIH0sCi0reyJtc2d3YWl0IiwJCSIiLAkJMCwgICAgKGludCkgTV9NU0dXQUlULCAgSU5TTl9NQUNSTywJCTAsCQlYTFJ8WExQLAkwLAkwIH0sCi0reyJtc2d3YWl0IiwJCSJ0IiwJCTAsICAgIChpbnQpIE1fTVNHV0FJVF9ULElOU05fTUFDUk8sCQkwLAkJWExSfFhMUCwJMCwJMCB9LAotK3sibXNnc3luYyIsCQkiIiwJCTB4NGEwMDAwMDQsIDB4ZmZmZmZmZmYsMCwJCQkwLAkJWExQLAkJMCwJMCB9LAotIHsibXN1Yi5kIiwJCSJELFIsUyxUIiwJMHg0YzAwMDAyOSwgMHhmYzAwMDAzZiwgV1JfMXxSRF8yfFJEXzN8UkRfNHxGUF9ELCAwLAkJSTRfMzMsCQkwLAlJMzcgfSwKLSB7Im1zdWIuZCIsCQkiRCxTLFQiLAkweDQ2MjAwMDE5LCAweGZmZTAwMDNmLAlXUl8xfFJEXzJ8UkRfM3xGUF9ELAkwLAkJSUwyRSwJCTAsCTAgfSwKLSB7Im1zdWIuZCIsCQkiRCxTLFQiLAkweDcyMjAwMDE5LCAweGZmZTAwMDNmLAlXUl8xfFJEXzJ8UkRfM3xGUF9ELAkwLAkJSUwyRiwJCTAsCTAgfSwKLUBAIC0xNTE2LDcgKzE1MjUsNyBAQCBjb25zdCBzdHJ1Y3QgbWlwc19vcGNvZGUgbWlwc19idWlsdGluX29wY29kZXNbXSA9Ci0geyJtdGxvIiwJCSJzLDciLAkJMHgwMDAwMDAxMywgMHhmYzFmZTdmZiwgUkRfMXxXUl9MTywJCTAsCQkwLAkJRDMyLAkwIH0sCi0geyJtdGxvMSIsCQkicyIsCQkweDcwMDAwMDEzLCAweGZjMWZmZmZmLAlSRF8xfFdSX0xPLAkJMCwJCUVFLAkJMCwJMCB9LAotIHsibXRsaHgiLAkJInMiLAkJMHgwMDAwMDA1MywgMHhmYzFmZmZmZiwJUkRfMXxNT0RfSElMTywJCTAsCQkwLAkJU01ULAkwIH0sCi0teyJtdGNyIiwJCSJ0LHMiLAkJMHg3MDAwMDAxOSwgMHhmYzAwZmZmZiwgUkRfMXxSRF8yLAkJMCwJCVhMUiwJCTAsCTAgfSwKLSt7Im10Y3IiLAkJInQscyIsCQkweDcwMDAwMDE5LCAweGZjMDBmZmZmLCBSRF8xLAkJCTAsCQlYTFJ8WExQLAkwLAkwIH0sCi0geyJtdG0wIiwJCSJzIiwJCTB4NzAwMDAwMDgsIDB4ZmMxZmZmZmYsIFJEXzEsCQkJMCwJCUlPQ1QsCQkwLAkwIH0sCi0geyJtdG0wIiwgICAgCQkicyx0IiwJCTB4NzAwMDAwMDgsIDB4ZmMwMGZmZmYsIFJEXzF8UkRfMiwJCTAsCQlJT0NUMywJCTAsCTAgfSwKLSB7Im10bTEiLAkJInMiLAkJMHg3MDAwMDAwYywgMHhmYzFmZmZmZiwgUkRfMSwJCQkwLAkJSU9DVCwJCTAsCTAgfSwKLUBAIC0xOTUzLDkgKzE5NjIsOSBAQCBjb25zdCBzdHJ1Y3QgbWlwc19vcGNvZGUgbWlwc19idWlsdGluX29wY29kZXNbXSA9Ci0geyJzdXhjMSIsCQkiUyx0KGIpIiwJMHg0YzAwMDAwZCwgMHhmYzAwMDdmZiwgUkRfMXxSRF8yfFJEXzN8U018RlBfRCwJMCwJCUk1XzMzfE41NSwJMCwJSTM3fSwKLSB7InN3IiwJCQkidCxvKGIpIiwJMHhhYzAwMDAwMCwgMHhmYzAwMDAwMCwJUkRfMXxSRF8zfFNNLAkJMCwJCUkxLAkJMCwJMCB9LAotIHsic3ciLAkJCSJ0LEEoYikiLAkwLCAgICAoaW50KSBNX1NXX0FCLAlJTlNOX01BQ1JPLAkJMCwJCUkxLAkJMCwJMCB9LAotLXsic3dhcHciLAkJInQsYiIsCQkweDcwMDAwMDE0LCAweGZjMDBmZmZmLCBNT0RfMXxSRF8yfExNfFNNLAkwLAkJWExSLAkJMCwJMCB9LAotLXsic3dhcHd1IiwJCSJ0LGIiLAkJMHg3MDAwMDAxNSwgMHhmYzAwZmZmZiwgTU9EXzF8UkRfMnxMTXxTTSwJMCwJCVhMUiwJCTAsCTAgfSwKLS17InN3YXBkIiwJCSJ0LGIiLAkJMHg3MDAwMDAxNiwgMHhmYzAwZmZmZiwgTU9EXzF8UkRfMnxMTXxTTSwJMCwJCVhMUiwJCTAsCTAgfSwKLSt7InN3YXB3IiwJCSJ0LGIiLAkJMHg3MDAwMDAxNCwgMHhmYzAwZmZmZiwgTU9EXzF8UkRfMnxTTSwJCTAsCQlYTFJ8WExQLAkwLAkwIH0sCi0reyJzd2Fwd3UiLAkJInQsYiIsCQkweDcwMDAwMDE1LCAweGZjMDBmZmZmLCBNT0RfMXxSRF8yfFNNLAkJMCwJCVhMUnxYTFAsCTAsCTAgfSwKLSt7InN3YXBkIiwJCSJ0LGIiLAkJMHg3MDAwMDAxNiwgMHhmYzAwZmZmZiwgTU9EXzF8UkRfMnxTTSwJCTAsCQlYTFJ8WExQLAkwLAkwIH0sCi0geyJzd2MwIiwJCSJFLG8oYikiLAkweGUwMDAwMDAwLCAweGZjMDAwMDAwLAlSRF8zfFJEX0MwfFNNLAkJMCwJCUkxLAkJMCwJSU9DVHxJT0NUUHxJT0NUMnxJMzcgfSwKLSB7InN3YzAiLAkJIkUsQShiKSIsCTAsICAgIChpbnQpIE1fU1dDMF9BQiwJSU5TTl9NQUNSTywJCTAsCQlJMSwJCTAsCUlPQ1R8SU9DVFB8SU9DVDJ8STM3IH0sCi0geyJzd2MxIiwJCSJULG8oYikiLAkweGU0MDAwMDAwLCAweGZjMDAwMDAwLAlSRF8xfFJEXzN8U018RlBfUywJMCwJCUkxLAkJMCwJMCB9LAotLS0gCi0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxMi1maXgtdGhlLWluY29ycmVjdC1hc3NlbWJsaW5nLWZvci1wcGMtd2FpdC1tbmVtb25pYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTItZml4LXRoZS1pbmNvcnJlY3QtYXNzZW1ibGluZy1mb3ItcHBjLXdhaXQtbW5lbW9uaWMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmEzYjc4ZgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTItZml4LXRoZS1pbmNvcnJlY3QtYXNzZW1ibGluZy1mb3ItcHBjLXdhaXQtbW5lbW9uaWMucGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorRnJvbSBlNDg3NjdhMDI5OGU2Y2NmNTNkODNmZWNjOTNiYjZkMjZiNTk1ODk3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogWmhlbmh1YSBMdW8gPHpoZW5odWEubHVvQG54cC5jb20+CitEYXRlOiBTYXQsIDExIEp1biAyMDE2IDIyOjA4OjI5IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0ggMTIvMTVdIGZpeCB0aGUgaW5jb3JyZWN0IGFzc2VtYmxpbmcgZm9yIHBwYyB3YWl0IG1uZW1vbmljCisKK1NpZ25lZC1vZmYtYnk6IFpoZW5odWEgTHVvIDx6aGVuaHVhLmx1b0BueHAuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKy0tLQorIG9wY29kZXMvcHBjLW9wYy5jIHwgMyArLS0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9vcGNvZGVzL3BwYy1vcGMuYyBiL29wY29kZXMvcHBjLW9wYy5jCitpbmRleCAzMDMyNjMxZDRlLi4xNDJmMDk2ZWY0IDEwMDY0NAorLS0tIGEvb3Bjb2Rlcy9wcGMtb3BjLmMKKysrKyBiL29wY29kZXMvcHBjLW9wYy5jCitAQCAtNTMyNSw3ICs1MzI1LDYgQEAgY29uc3Qgc3RydWN0IHBvd2VycGNfb3Bjb2RlIHBvd2VycGNfb3Bjb2Rlc1tdID0geworIHsibGRlcHgiLAlYKDMxLDI5KSwJWF9NQVNLLAkgIEU1MDBNQ3xQUENBMiwgMCwJCXtSVCwgUkEwLCBSQn19LAorIAorIHsid2FpdGFzZWMiLAlYKDMxLDMwKSwgICAgICBYUlRSQVJCX01BU0ssIFBPV0VSOCwJUE9XRVI5LAkJezB9fSwKKy17IndhaXQiLAlYKDMxLDMwKSwJWFdDX01BU0ssICAgIFBPV0VSOSwJMCwJCXtXQ319LAorIAorIHsibHdlcHgiLAlYKDMxLDMxKSwJWF9NQVNLLAkgIEU1MDBNQ3xQUENBMiwgMCwJCXtSVCwgUkEwLCBSQn19LAorIAorQEAgLTUzNzksNyArNTM3OCw3IEBAIGNvbnN0IHN0cnVjdCBwb3dlcnBjX29wY29kZSBwb3dlcnBjX29wY29kZXNbXSA9IHsKKyAKKyB7IndhaXRyc3YiLAlYKDMxLDYyKXwoMTw8MjEpLCAweGZmZmZmZmZmLCBFNTAwTUN8UFBDQTIsIDAsCQl7MH19LAorIHsid2FpdGltcGwiLAlYKDMxLDYyKXwoMjw8MjEpLCAweGZmZmZmZmZmLCBFNTAwTUN8UFBDQTIsIDAsCQl7MH19LAorLXsid2FpdCIsCVgoMzEsNjIpLAlYV0NfTUFTSywgICAgRTUwME1DfFBQQ0EyLCAwLAkJe1dDfX0sCisreyJ3YWl0IiwJWCgzMSw2MiksCVhXQ19NQVNLLCAgICBFNTAwTUN8UFBDQTJ8UE9XRVI5LCAwLAl7V0N9fSwKKyAKKyB7ImRjYnN0ZXAiLAlYUlQoMzEsNjMsMCksCVhSVF9NQVNLLCAgICBFNTAwTUN8UFBDQTIsIDAsCQl7UkEwLCBSQn19LAorIAorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxMy1EZXRlY3QtNjQtYml0LU1JUFMtdGFyZ2V0cy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTMtRGV0ZWN0LTY0LWJpdC1NSVBTLXRhcmdldHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDkyOTE3OQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTMtRGV0ZWN0LTY0LWJpdC1NSVBTLXRhcmdldHMucGF0Y2gKQEAgLTAsMCArMSw1MCBAQAorRnJvbSA2NTg3ZTdiOGU3NzMwZGRhMjBkOGM0N2NhYmU5ZjdmODM5N2VmYTNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMzEgTWFyIDIwMTcgMTE6NDI6MDMgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSCAxMy8xNV0gRGV0ZWN0IDY0LWJpdCBNSVBTIHRhcmdldHMKKworQWRkIG1pcHM2NCB0YXJnZXQgdHJpcGxldHMgYW5kIGRlZmF1bHQgdG8gTjY0CisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkCitodHRwczovL3NvdXJjZXdhcmUub3JnL21sL2JpbnV0aWxzLzIwMTYtMDgvbXNnMDAwNDguaHRtbAorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgZ29sZC9jb25maWd1cmUudGd0IHwgMTQgKysrKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvZ29sZC9jb25maWd1cmUudGd0IGIvZ29sZC9jb25maWd1cmUudGd0CitpbmRleCAzZTA2NmVkYWE4Li5jYWYxMzBjZWRhIDEwMDY0NAorLS0tIGEvZ29sZC9jb25maWd1cmUudGd0CisrKysgYi9nb2xkL2NvbmZpZ3VyZS50Z3QKK0BAIC0xNTMsNiArMTUzLDEzIEBAIGFhcmNoNjQqLSopCisgIHRhcmdfYmlnX2VuZGlhbj1mYWxzZQorICB0YXJnX2V4dHJhX2JpZ19lbmRpYW49dHJ1ZQorICA7OworK21pcHMqNjQqZWwqLSotKnxtaXBzKjY0KmxlKi0qLSopCisrIHRhcmdfb2JqPW1pcHMKKysgdGFyZ19tYWNoaW5lPUVNX01JUFNfUlMzX0xFCisrIHRhcmdfc2l6ZT02NAorKyB0YXJnX2JpZ19lbmRpYW49ZmFsc2UKKysgdGFyZ19leHRyYV9iaWdfZW5kaWFuPXRydWUKKysgOzsKKyBtaXBzKmVsKi0qLSp8bWlwcypsZSotKi0qKQorICB0YXJnX29iaj1taXBzCisgIHRhcmdfbWFjaGluZT1FTV9NSVBTX1JTM19MRQorQEAgLTE2MCw2ICsxNjcsMTMgQEAgbWlwcyplbCotKi0qfG1pcHMqbGUqLSotKikKKyAgdGFyZ19iaWdfZW5kaWFuPWZhbHNlCisgIHRhcmdfZXh0cmFfYmlnX2VuZGlhbj10cnVlCisgIDs7CisrbWlwcyo2NCotKi0qKQorKyB0YXJnX29iaj1taXBzCisrIHRhcmdfbWFjaGluZT1FTV9NSVBTCisrIHRhcmdfc2l6ZT02NAorKyB0YXJnX2JpZ19lbmRpYW49dHJ1ZQorKyB0YXJnX2V4dHJhX2JpZ19lbmRpYW49ZmFsc2UKKysgOzsKKyBtaXBzKi0qLSopCisgIHRhcmdfb2JqPW1pcHMKKyAgdGFyZ19tYWNoaW5lPUVNX01JUFMKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTMtZml4LXRoZS1pbmNvcnJlY3QtYXNzZW1ibGluZy1mb3ItcHBjLXdhaXQtbW5lbW9uaWMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDEzLWZpeC10aGUtaW5jb3JyZWN0LWFzc2VtYmxpbmctZm9yLXBwYy13YWl0LW1uZW1vbmljLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOWZmZGFkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTMtZml4LXRoZS1pbmNvcnJlY3QtYXNzZW1ibGluZy1mb3ItcHBjLXdhaXQtbW5lbW9uaWMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1Gcm9tIGQ0NTQ1NWRiMzVkYjU2OTNjNWVmZTBlMWIzODQyOTVlNGMwZGI5OTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBaaGVuaHVhIEx1byA8emhlbmh1YS5sdW9AbnhwLmNvbT4KLURhdGU6IFNhdCwgMTEgSnVuIDIwMTYgMjI6MDg6MjkgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSCAxMy8xNV0gZml4IHRoZSBpbmNvcnJlY3QgYXNzZW1ibGluZyBmb3IgcHBjIHdhaXQgbW5lbW9uaWMKLQotU2lnbmVkLW9mZi1ieTogWmhlbmh1YSBMdW8gPHpoZW5odWEubHVvQG54cC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gb3Bjb2Rlcy9wcGMtb3BjLmMgfCAzICstLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL29wY29kZXMvcHBjLW9wYy5jIGIvb3Bjb2Rlcy9wcGMtb3BjLmMKLWluZGV4IDRhMGZjYTVmMGEuLjQ5ZjcyZmMzNWMgMTAwNjQ0Ci0tLS0gYS9vcGNvZGVzL3BwYy1vcGMuYwotKysrIGIvb3Bjb2Rlcy9wcGMtb3BjLmMKLUBAIC01MzUxLDcgKzUzNTEsNiBAQCBjb25zdCBzdHJ1Y3QgcG93ZXJwY19vcGNvZGUgcG93ZXJwY19vcGNvZGVzW10gPSB7Ci0geyJsZGVweCIsCVgoMzEsMjkpLAlYX01BU0ssCSAgRTUwME1DfFBQQ0EyLCAwLAkJe1JULCBSQTAsIFJCfX0sCi0gCi0geyJ3YWl0YXNlYyIsCVgoMzEsMzApLCAgICAgIFhSVFJBUkJfTUFTSywgUE9XRVI4LAlQT1dFUjksCQl7MH19LAotLXsid2FpdCIsCVgoMzEsMzApLAlYV0NfTUFTSywgICAgUE9XRVI5LAkwLAkJe1dDfX0sCi0gCi0geyJsd2VweCIsCVgoMzEsMzEpLAlYX01BU0ssCSAgRTUwME1DfFBQQ0EyLCAwLAkJe1JULCBSQTAsIFJCfX0sCi0gCi1AQCAtNTQwNSw3ICs1NDA0LDcgQEAgY29uc3Qgc3RydWN0IHBvd2VycGNfb3Bjb2RlIHBvd2VycGNfb3Bjb2Rlc1tdID0gewotIAotIHsid2FpdHJzdiIsCVgoMzEsNjIpfCgxPDwyMSksIDB4ZmZmZmZmZmYsIEU1MDBNQ3xQUENBMiwgMCwJCXswfX0sCi0geyJ3YWl0aW1wbCIsCVgoMzEsNjIpfCgyPDwyMSksIDB4ZmZmZmZmZmYsIEU1MDBNQ3xQUENBMiwgMCwJCXswfX0sCi0teyJ3YWl0IiwJWCgzMSw2MiksCVhXQ19NQVNLLCAgICBFNTAwTUN8UFBDQTIsIDAsCQl7V0N9fSwKLSt7IndhaXQiLAlYKDMxLDYyKSwJWFdDX01BU0ssICAgIEU1MDBNQ3xQUENBMnxQT1dFUjksIDAsCXtXQ319LAotIAotIHsiZGNic3RlcCIsCVhSVCgzMSw2MywwKSwJWFJUX01BU0ssICAgIEU1MDBNQ3xQUENBMiwgMCwJCXtSQTAsIFJCfX0sCi0gCi0tLSAKLTIuMTguMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDE0LURldGVjdC02NC1iaXQtTUlQUy10YXJnZXRzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxNC1EZXRlY3QtNjQtYml0LU1JUFMtdGFyZ2V0cy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjE5N2RmNi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDE0LURldGVjdC02NC1iaXQtTUlQUy10YXJnZXRzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotRnJvbSA5YWY5MGNmYzM1ZmYxZmU3ODc1NTU3ODg2MTQ3MzAzOTgzNmM0NjdhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMzEgTWFyIDIwMTcgMTE6NDI6MDMgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSCAxNC8xNV0gRGV0ZWN0IDY0LWJpdCBNSVBTIHRhcmdldHMKLQotQWRkIG1pcHM2NCB0YXJnZXQgdHJpcGxldHMgYW5kIGRlZmF1bHQgdG8gTjY0Ci0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkCi1odHRwczovL3NvdXJjZXdhcmUub3JnL21sL2JpbnV0aWxzLzIwMTYtMDgvbXNnMDAwNDguaHRtbAotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gZ29sZC9jb25maWd1cmUudGd0IHwgMTQgKysrKysrKysrKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvZ29sZC9jb25maWd1cmUudGd0IGIvZ29sZC9jb25maWd1cmUudGd0Ci1pbmRleCA4YWVmMjJhMzE4Li43MDMwMDI2ZmZhIDEwMDY0NAotLS0tIGEvZ29sZC9jb25maWd1cmUudGd0Ci0rKysgYi9nb2xkL2NvbmZpZ3VyZS50Z3QKLUBAIC0xNTMsNiArMTUzLDEzIEBAIGFhcmNoNjQqLSopCi0gIHRhcmdfYmlnX2VuZGlhbj1mYWxzZQotICB0YXJnX2V4dHJhX2JpZ19lbmRpYW49dHJ1ZQotICA7OwotK21pcHMqNjQqZWwqLSotKnxtaXBzKjY0KmxlKi0qLSopCi0rIHRhcmdfb2JqPW1pcHMKLSsgdGFyZ19tYWNoaW5lPUVNX01JUFNfUlMzX0xFCi0rIHRhcmdfc2l6ZT02NAotKyB0YXJnX2JpZ19lbmRpYW49ZmFsc2UKLSsgdGFyZ19leHRyYV9iaWdfZW5kaWFuPXRydWUKLSsgOzsKLSBtaXBzKmVsKi0qLSp8bWlwcypsZSotKi0qKQotICB0YXJnX29iaj1taXBzCi0gIHRhcmdfbWFjaGluZT1FTV9NSVBTX1JTM19MRQotQEAgLTE2MCw2ICsxNjcsMTMgQEAgbWlwcyplbCotKi0qfG1pcHMqbGUqLSotKikKLSAgdGFyZ19iaWdfZW5kaWFuPWZhbHNlCi0gIHRhcmdfZXh0cmFfYmlnX2VuZGlhbj10cnVlCi0gIDs7Ci0rbWlwcyo2NCotKi0qKQotKyB0YXJnX29iaj1taXBzCi0rIHRhcmdfbWFjaGluZT1FTV9NSVBTCi0rIHRhcmdfc2l6ZT02NAotKyB0YXJnX2JpZ19lbmRpYW49dHJ1ZQotKyB0YXJnX2V4dHJhX2JpZ19lbmRpYW49ZmFsc2UKLSsgOzsKLSBtaXBzKi0qLSopCi0gIHRhcmdfb2JqPW1pcHMKLSAgdGFyZ19tYWNoaW5lPUVNX01JUFMKLS0tIAotMi4xOC4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTQtc3luYy13aXRoLU9FLWxpYnRvb2wtY2hhbmdlcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTQtc3luYy13aXRoLU9FLWxpYnRvb2wtY2hhbmdlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NWJhMTBhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxNC1zeW5jLXdpdGgtT0UtbGlidG9vbC1jaGFuZ2VzLnBhdGNoCkBAIC0wLDAgKzEsODkgQEAKK0Zyb20gYjc3MjkzNDMyMDZmYTE5NmI5YTExNzQ3YTkyYjNjZjU2MzI3NzA1NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CitEYXRlOiBNb24sIDYgTWFyIDIwMTcgMjM6MzM6MjcgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSCAxNC8xNV0gc3luYyB3aXRoIE9FIGxpYnRvb2wgY2hhbmdlcworCitBcHBseSB0aGVzZSBwYXRjaGVzIGZyb20gb3VyIGxpYnRvb2wgcGF0Y2hlcyBhcyBub3Qgb25seSBhcmUgcmVkdW5kYW50IFJQQVRIcyBhCit3YXN0ZSBvZiBzcGFjZSBidXQgdGhleSBjYW4gY2F1c2UgaW5jb3JyZWN0IGxpbmtpbmcgd2hlbiBuYXRpdmUgcGFja2FnZXMgYXJlCityZXN0b3JlZCBmcm9tIHNzdGF0ZS4KKworZml4LXJwYXRoLnBhdGNoOgorV2UgZG9uJ3Qgd2FudCB0byBhZGQgUlBBVEhTIHdoaWNoIG1hdGNoIGRlZmF1bHQgbGlua2VyCitzZWFyY2ggcGF0aHMsIHRoZXkncmUgYSB3YXN0ZSBvZiBzcGFjZS4gVGhpcyBwYXRjaAorZmlsdGVycyBsaWJ0b29scyBsaXN0IGFuZCByZW1vdmVzIHRoZSBvbmVzIHdlIGRvbid0IG5lZWQuCisKK25vcm0tcnBhdGgucGF0Y2g6CitMaWJ0b29sIG1heSBiZSBwYXNzZWQgbGluayBwYXRocyBvZiB0aGUgZm9ybSAiL3Vzci9saWIvLi4vbGliIiwgd2hpY2gKK2Zvb2wgaXRzIGRldGVjdGlvbiBjb2RlIGludG8gdGhpbmtpbmcgaXQgc2hvdWxkIGJlIGluY2x1ZGVkIGFzIGFuCitSUEFUSCBpbiB0aGUgZ2VuZXJhdGVkIGJpbmFyeS4gIE5vcm1hbGl6ZSBiZWZvcmUgY29tcGFyaXNpb24uCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZQorCitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGx0bWFpbi5zaCB8IDM0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2x0bWFpbi5zaCBiL2x0bWFpbi5zaAoraW5kZXggMTFlZTY4NGNjYy4uM2IxOWFjMTUzMiAxMDA2NDQKKy0tLSBhL2x0bWFpbi5zaAorKysrIGIvbHRtYWluLnNoCitAQCAtODA1Myw4ICs4MDUzLDE2IEBAIEVPRgorIAkJICBlc2FjCisgCQlmaQorIAkgICAgICBlbHNlCistCQlldmFsIGZsYWc9XCIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY1wiCistCQlmdW5jX2FwcGVuZCBkZXBfcnBhdGggIiAkZmxhZyIKKysgICAgICAgICAgICAgICAgIyBXZSBvbmx5IHdhbnQgdG8gaGFyZGNvZGUgaW4gYW4gcnBhdGggaWYgaXQgaXNuJ3QgaW4gdGhlCisrICAgICAgICAgICAgICAgICMgZGVmYXVsdCBkbHNlYXJjaCBwYXRoLgorKyAgICAgICAgICAgICAgICBmdW5jX25vcm1hbF9hYnNwYXRoICIkbGliZGlyIgorKyAgICAgICAgICAgICAgICBsaWJkaXJfbm9ybT0kZnVuY19ub3JtYWxfYWJzcGF0aF9yZXN1bHQKKysJICAgICAgICBjYXNlICIgJHN5c19saWJfZGxzZWFyY2hfcGF0aCAiIGluCisrCSAgICAgICAgKiIgJGxpYmRpcl9ub3JtICIqKSA7OworKwkgICAgICAgICopIGV2YWwgZmxhZz1cIiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjXCIKKysgICAgICAgICAgICAgICAgICAgZnVuY19hcHBlbmQgZGVwX3JwYXRoICIgJGZsYWciCisrICAgICAgICAgICAgICAgICAgIDs7CisrCSAgICAgICAgZXNhYworIAkgICAgICBmaQorIAkgICAgZWxpZiB0ZXN0IC1uICIkcnVucGF0aF92YXIiOyB0aGVuCisgCSAgICAgIGNhc2UgIiRwZXJtX3JwYXRoICIgaW4KK0BAIC04NzkwLDggKzg3OTgsMTYgQEAgRU9GCisgCSAgICAgIGVzYWMKKyAJICAgIGZpCisgCSAgZWxzZQorLQkgICAgZXZhbCBmbGFnPVwiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNcIgorLQkgICAgZnVuY19hcHBlbmQgcnBhdGggIiAkZmxhZyIKKysgICAgICAgICAgICAjIFdlIG9ubHkgd2FudCB0byBoYXJkY29kZSBpbiBhbiBycGF0aCBpZiBpdCBpc24ndCBpbiB0aGUKKysgICAgICAgICAgICAjIGRlZmF1bHQgZGxzZWFyY2ggcGF0aC4KKysgICAgICAgICAgICBmdW5jX25vcm1hbF9hYnNwYXRoICIkbGliZGlyIgorKyAgICAgICAgICAgIGxpYmRpcl9ub3JtPSRmdW5jX25vcm1hbF9hYnNwYXRoX3Jlc3VsdAorKwkgICAgY2FzZSAiICRzeXNfbGliX2Rsc2VhcmNoX3BhdGggIiBpbgorKwkgICAgKiIgJGxpYmRpcl9ub3JtICIqKSA7OworKwkgICAgKikgZXZhbCBmbGFnPVwiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNcIgorKyAgICAgICAgICAgICAgIHJwYXRoKz0iICRmbGFnIgorKyAgICAgICAgICAgICAgIDs7CisrCSAgICBlc2FjCisgCSAgZmkKKyAJZWxpZiB0ZXN0IC1uICIkcnVucGF0aF92YXIiOyB0aGVuCisgCSAgY2FzZSAiJHBlcm1fcnBhdGggIiBpbgorQEAgLTg4NDEsOCArODg1NywxNCBAQCBFT0YKKyAJICAgICAgZXNhYworIAkgICAgZmkKKyAJICBlbHNlCistCSAgICBldmFsIGZsYWc9XCIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY1wiCistCSAgICBmdW5jX2FwcGVuZCBycGF0aCAiICRmbGFnIgorKyAgICAgICAgICAgICMgV2Ugb25seSB3YW50IHRvIGhhcmRjb2RlIGluIGFuIHJwYXRoIGlmIGl0IGlzbid0IGluIHRoZQorKyAgICAgICAgICAgICMgZGVmYXVsdCBkbHNlYXJjaCBwYXRoLgorKwkgICAgY2FzZSAiICRzeXNfbGliX2Rsc2VhcmNoX3BhdGggIiBpbgorKwkgICAgKiIgJGxpYmRpciAiKikgOzsKKysJICAgICopIGV2YWwgZmxhZz1cIiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjXCIKKysgICAgICAgICAgICAgICBmdW5jX2FwcGVuZCBycGF0aCAiICRmbGFnIgorKyAgICAgICAgICAgICAgIDs7CisrCSAgICBlc2FjCisgCSAgZmkKKyAJZWxpZiB0ZXN0IC1uICIkcnVucGF0aF92YXIiOyB0aGVuCisgCSAgY2FzZSAiJGZpbmFsaXplX3Blcm1fcnBhdGggIiBpbgorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxNS1iaW51dGlscy1lbmFibGUteDg2XzY0LXBlcC1mb3ItcHJvZHVjaW5nLUVGSS1iaW5hcmllLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxNS1iaW51dGlscy1lbmFibGUteDg2XzY0LXBlcC1mb3ItcHJvZHVjaW5nLUVGSS1iaW5hcmllLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJmZGU1NjEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDE1LWJpbnV0aWxzLWVuYWJsZS14ODZfNjQtcGVwLWZvci1wcm9kdWNpbmctRUZJLWJpbmFyaWUucGF0Y2gKQEAgLTAsMCArMSw1MyBAQAorRnJvbSBkNWQ3ODM5MDNlMzM1MzAyZTU2MmJhYzhkYTFhMDgzMzM4ZDc1YjI1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMjkgTm92IDIwMTggMTc6NDY6NDAgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSCAxNS8xNV0gYmludXRpbHMgOiBlbmFibGUgeDg2XzY0LXBlcCBmb3IgcHJvZHVjaW5nIEVGSSBiaW5hcmllcworIG9uIHg4Ni02NAorCitBZGQgeDg2XzY0LXBlcCBlbXVsYXRpb24gc3VwcG9ydCB0byB0aGUgc2V0IGVuYWJsZWQgZm9yIHg4Nl82NCB0YXJnZXRzCit0byBlbmFibGUgdGhlIGxpbmtlciB0byBwcm9kdWNlIFBvcnRhYmxlIEV4ZWN1dGFibGVzIGZvciBFRkkgYmluYXJpZXMuCisKK0VuYWJsZXMgYnVpbGRpbmcgdGhlIHg4Ni02NCBFRkkgdmFyaWFudCBvZiB0aGUgWGVuIGh5cGVydmlzb3IgZm9yCit0aGUgT3BlblhUIFByb2plY3QuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0UgY29uZmlndXJhdGlvbiBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQ2hyaXN0b3BoZXIgQ2xhcmsgPGNocmlzdG9waGVyLmNsYXJrNkBiYWVzeXN0ZW1zLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBiZmQvY29uZmlnLmJmZCAgIHwgMiArLQorIGxkL2NvbmZpZ3VyZS50Z3QgfCA1ICsrKy0tCisgMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9iZmQvY29uZmlnLmJmZCBiL2JmZC9jb25maWcuYmZkCitpbmRleCAzNjE0ZmY3OWQ0Li5hZWYxNDQ4MDNhIDEwMDY0NAorLS0tIGEvYmZkL2NvbmZpZy5iZmQKKysrKyBiL2JmZC9jb25maWcuYmZkCitAQCAtNjk0LDcgKzY5NCw3IEBAIGNhc2UgIiR7dGFyZ30iIGluCisgICAgIDs7CisgICB4ODZfNjQtKi1saW51eC0qKQorICAgICB0YXJnX2RlZnZlYz14ODZfNjRfZWxmNjRfdmVjCistICAgIHRhcmdfc2VsdmVjcz0iaTM4Nl9lbGYzMl92ZWMgaWFtY3VfZWxmMzJfdmVjIHg4Nl82NF9lbGYzMl92ZWMgaTM4Nl9wZWlfdmVjIHg4Nl82NF9wZWlfdmVjIGwxb21fZWxmNjRfdmVjIGsxb21fZWxmNjRfdmVjIgorKyAgICB0YXJnX3NlbHZlY3M9ImkzODZfZWxmMzJfdmVjIGlhbWN1X2VsZjMyX3ZlYyB4ODZfNjRfZWxmMzJfdmVjIGkzODZfcGVpX3ZlYyB4ODZfNjRfcGVpX3ZlYyBsMW9tX2VsZjY0X3ZlYyBrMW9tX2VsZjY0X3ZlYyB4ODZfNjRfcGVfdmVjIHg4Nl82NF9wZV9iZV92ZWMgaTM4Nl9wZV92ZWMiCisgICAgIHdhbnQ2ND10cnVlCisgICAgIDs7CisgICB4ODZfNjQtKi1uYWNsKikKK2RpZmYgLS1naXQgYS9sZC9jb25maWd1cmUudGd0IGIvbGQvY29uZmlndXJlLnRndAoraW5kZXggMzQ3ZGY2YzNmNi4uMWUzN2Q3NDdhOSAxMDA2NDQKKy0tLSBhL2xkL2NvbmZpZ3VyZS50Z3QKKysrKyBiL2xkL2NvbmZpZ3VyZS50Z3QKK0BAIC0yNTcsOCArMjU3LDkgQEAgeDg2XzY0LSotbGludXgtZ251eDMyKQl0YXJnX2VtdWw9ZWxmMzJfeDg2XzY0CisgCQkJdGRpcl9lbGZfaWFtY3U9YGVjaG8gJHt0YXJnX2FsaWFzfSB8IHNlZCAtZSAncy94ODZfNjQvaTM4Ni8nIC1lICdzLy1saW51eC1nbnV4MzIvLWxpbnV4LWdudS8nYAorIAkJCXRkaXJfZWxmX2kzODY9YGVjaG8gJHt0YXJnX2FsaWFzfSB8IHNlZCAtZSAncy94ODZfNjQvaTM4Ni8nIC1lICdzLy1saW51eC1nbnV4MzIvLWxpbnV4LWdudS8nYCA7OworIHg4Nl82NC0qLWxpbnV4LSopCXRhcmdfZW11bD1lbGZfeDg2XzY0CistCQkJdGFyZ19leHRyYV9lbXVscz0iZWxmMzJfeDg2XzY0IGVsZl9pMzg2IGVsZl9pYW1jdSBlbGZfbDFvbSBlbGZfazFvbSIKKy0JCQl0YXJnX2V4dHJhX2xpYnBhdGg9ImVsZl9pMzg2IGVsZjMyX3g4Nl82NCBlbGZfbDFvbSBlbGZfazFvbSIKKysJCQl0YXJnX2V4dHJhX2VtdWxzPSJlbGYzMl94ODZfNjQgZWxmX2kzODYgZWxmX2lhbWN1IGVsZl9sMW9tIGVsZl9rMW9tIGkzODZwZSBpMzg2cGVwIgorKwkJCXRhcmdfZXh0cmFfbGlicGF0aD0iZWxmX2kzODYgZWxmMzJfeDg2XzY0IGVsZl9sMW9tIGVsZl9rMW9tIGkzODZwZXAiCisrCQkJdGFyZ19leHRyYV9vZmlsZXM9ImRlZmZpbGVwLm8gcGVwLWRsbC5vIHBlLWRsbC5vIgorIAkJCXRkaXJfZWxmX2kzODY9YGVjaG8gJHt0YXJnX2FsaWFzfSB8IHNlZCAtZSAncy94ODZfNjQvaTM4Ni8nYCA7OworIGlbMy03XTg2LSotcmVkb3gqKQl0YXJnX2VtdWw9ZWxmX2kzODYKKyAJCQl0YXJnX2V4dHJhX2VtdWxzPWVsZl94ODZfNjQgOzsKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTUtc3luYy13aXRoLU9FLWxpYnRvb2wtY2hhbmdlcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTUtc3luYy13aXRoLU9FLWxpYnRvb2wtY2hhbmdlcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2RjOGJhOC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDE1LXN5bmMtd2l0aC1PRS1saWJ0b29sLWNoYW5nZXMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw4OSArMCwwIEBACi1Gcm9tIGY5ZTI2YmQyOWI1ZjAxN2VhMTMwN2I1MWI1MDM2MDYzYmZmNzg2MDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotRGF0ZTogTW9uLCA2IE1hciAyMDE3IDIzOjMzOjI3IC0wODAwCi1TdWJqZWN0OiBbUEFUQ0ggMTUvMTVdIHN5bmMgd2l0aCBPRSBsaWJ0b29sIGNoYW5nZXMKLQotQXBwbHkgdGhlc2UgcGF0Y2hlcyBmcm9tIG91ciBsaWJ0b29sIHBhdGNoZXMgYXMgbm90IG9ubHkgYXJlIHJlZHVuZGFudCBSUEFUSHMgYQotd2FzdGUgb2Ygc3BhY2UgYnV0IHRoZXkgY2FuIGNhdXNlIGluY29ycmVjdCBsaW5raW5nIHdoZW4gbmF0aXZlIHBhY2thZ2VzIGFyZQotcmVzdG9yZWQgZnJvbSBzc3RhdGUuCi0KLWZpeC1ycGF0aC5wYXRjaDoKLVdlIGRvbid0IHdhbnQgdG8gYWRkIFJQQVRIUyB3aGljaCBtYXRjaCBkZWZhdWx0IGxpbmtlcgotc2VhcmNoIHBhdGhzLCB0aGV5J3JlIGEgd2FzdGUgb2Ygc3BhY2UuIFRoaXMgcGF0Y2gKLWZpbHRlcnMgbGlidG9vbHMgbGlzdCBhbmQgcmVtb3ZlcyB0aGUgb25lcyB3ZSBkb24ndCBuZWVkLgotCi1ub3JtLXJwYXRoLnBhdGNoOgotTGlidG9vbCBtYXkgYmUgcGFzc2VkIGxpbmsgcGF0aHMgb2YgdGhlIGZvcm0gIi91c3IvbGliLy4uL2xpYiIsIHdoaWNoCi1mb29sIGl0cyBkZXRlY3Rpb24gY29kZSBpbnRvIHRoaW5raW5nIGl0IHNob3VsZCBiZSBpbmNsdWRlZCBhcyBhbgotUlBBVEggaW4gdGhlIGdlbmVyYXRlZCBiaW5hcnkuICBOb3JtYWxpemUgYmVmb3JlIGNvbXBhcmlzaW9uLgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUKLQotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBsdG1haW4uc2ggfCAzNCArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9sdG1haW4uc2ggYi9sdG1haW4uc2gKLWluZGV4IDExZWU2ODRjY2MuLjNiMTlhYzE1MzIgMTAwNjQ0Ci0tLS0gYS9sdG1haW4uc2gKLSsrKyBiL2x0bWFpbi5zaAotQEAgLTgwNTMsOCArODA1MywxNiBAQCBFT0YKLSAJCSAgZXNhYwotIAkJZmkKLSAJICAgICAgZWxzZQotLQkJZXZhbCBmbGFnPVwiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNcIgotLQkJZnVuY19hcHBlbmQgZGVwX3JwYXRoICIgJGZsYWciCi0rICAgICAgICAgICAgICAgICMgV2Ugb25seSB3YW50IHRvIGhhcmRjb2RlIGluIGFuIHJwYXRoIGlmIGl0IGlzbid0IGluIHRoZQotKyAgICAgICAgICAgICAgICAjIGRlZmF1bHQgZGxzZWFyY2ggcGF0aC4KLSsgICAgICAgICAgICAgICAgZnVuY19ub3JtYWxfYWJzcGF0aCAiJGxpYmRpciIKLSsgICAgICAgICAgICAgICAgbGliZGlyX25vcm09JGZ1bmNfbm9ybWFsX2Fic3BhdGhfcmVzdWx0Ci0rCSAgICAgICAgY2FzZSAiICRzeXNfbGliX2Rsc2VhcmNoX3BhdGggIiBpbgotKwkgICAgICAgICoiICRsaWJkaXJfbm9ybSAiKikgOzsKLSsJICAgICAgICAqKSBldmFsIGZsYWc9XCIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY1wiCi0rICAgICAgICAgICAgICAgICAgIGZ1bmNfYXBwZW5kIGRlcF9ycGF0aCAiICRmbGFnIgotKyAgICAgICAgICAgICAgICAgICA7OwotKwkgICAgICAgIGVzYWMKLSAJICAgICAgZmkKLSAJICAgIGVsaWYgdGVzdCAtbiAiJHJ1bnBhdGhfdmFyIjsgdGhlbgotIAkgICAgICBjYXNlICIkcGVybV9ycGF0aCAiIGluCi1AQCAtODc5MCw4ICs4Nzk4LDE2IEBAIEVPRgotIAkgICAgICBlc2FjCi0gCSAgICBmaQotIAkgIGVsc2UKLS0JICAgIGV2YWwgZmxhZz1cIiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjXCIKLS0JICAgIGZ1bmNfYXBwZW5kIHJwYXRoICIgJGZsYWciCi0rICAgICAgICAgICAgIyBXZSBvbmx5IHdhbnQgdG8gaGFyZGNvZGUgaW4gYW4gcnBhdGggaWYgaXQgaXNuJ3QgaW4gdGhlCi0rICAgICAgICAgICAgIyBkZWZhdWx0IGRsc2VhcmNoIHBhdGguCi0rICAgICAgICAgICAgZnVuY19ub3JtYWxfYWJzcGF0aCAiJGxpYmRpciIKLSsgICAgICAgICAgICBsaWJkaXJfbm9ybT0kZnVuY19ub3JtYWxfYWJzcGF0aF9yZXN1bHQKLSsJICAgIGNhc2UgIiAkc3lzX2xpYl9kbHNlYXJjaF9wYXRoICIgaW4KLSsJICAgICoiICRsaWJkaXJfbm9ybSAiKikgOzsKLSsJICAgICopIGV2YWwgZmxhZz1cIiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjXCIKLSsgICAgICAgICAgICAgICBycGF0aCs9IiAkZmxhZyIKLSsgICAgICAgICAgICAgICA7OwotKwkgICAgZXNhYwotIAkgIGZpCi0gCWVsaWYgdGVzdCAtbiAiJHJ1bnBhdGhfdmFyIjsgdGhlbgotIAkgIGNhc2UgIiRwZXJtX3JwYXRoICIgaW4KLUBAIC04ODQxLDggKzg4NTcsMTQgQEAgRU9GCi0gCSAgICAgIGVzYWMKLSAJICAgIGZpCi0gCSAgZWxzZQotLQkgICAgZXZhbCBmbGFnPVwiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNcIgotLQkgICAgZnVuY19hcHBlbmQgcnBhdGggIiAkZmxhZyIKLSsgICAgICAgICAgICAjIFdlIG9ubHkgd2FudCB0byBoYXJkY29kZSBpbiBhbiBycGF0aCBpZiBpdCBpc24ndCBpbiB0aGUKLSsgICAgICAgICAgICAjIGRlZmF1bHQgZGxzZWFyY2ggcGF0aC4KLSsJICAgIGNhc2UgIiAkc3lzX2xpYl9kbHNlYXJjaF9wYXRoICIgaW4KLSsJICAgICoiICRsaWJkaXIgIiopIDs7Ci0rCSAgICAqKSBldmFsIGZsYWc9XCIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY1wiCi0rICAgICAgICAgICAgICAgZnVuY19hcHBlbmQgcnBhdGggIiAkZmxhZyIKLSsgICAgICAgICAgICAgICA7OwotKwkgICAgZXNhYwotIAkgIGZpCi0gCWVsaWYgdGVzdCAtbiAiJHJ1bnBhdGhfdmFyIjsgdGhlbgotIAkgIGNhc2UgIiRmaW5hbGl6ZV9wZXJtX3JwYXRoICIgaW4KLS0tIAotMi4xOC4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTYtYWRkLWkzODZwZXAtZW11bGF0aW9uLWZvci14ODZfNjQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDE2LWFkZC1pMzg2cGVwLWVtdWxhdGlvbi1mb3IteDg2XzY0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZjIwNzg0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTYtYWRkLWkzODZwZXAtZW11bGF0aW9uLWZvci14ODZfNjQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1iaW51dGlscyA6IGVuYWJsZSB4ODZfNjQtcGVwIGZvciBwcm9kdWNpbmcgRUZJIGJpbmFyaWVzIG9uIHg4Ni02NAotCi1BZGQgeDg2XzY0LXBlcCBlbXVsYXRpb24gc3VwcG9ydCB0byB0aGUgc2V0IGVuYWJsZWQgZm9yIHg4Nl82NCB0YXJnZXRzCi10byBlbmFibGUgdGhlIGxpbmtlciB0byBwcm9kdWNlIFBvcnRhYmxlIEV4ZWN1dGFibGVzIGZvciBFRkkgYmluYXJpZXMuCi0KLUVuYWJsZXMgYnVpbGRpbmcgdGhlIHg4Ni02NCBFRkkgdmFyaWFudCBvZiB0aGUgWGVuIGh5cGVydmlzb3IgZm9yCi10aGUgT3BlblhUIFByb2plY3QuCi0KLVNpZ25lZC1vZmYtYnk6IENocmlzdG9waGVyIENsYXJrIDxjaHJpc3RvcGhlci5jbGFyazZAYmFlc3lzdGVtcy5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0UgY29uZmlndXJhdGlvbiBzcGVjaWZpY10KLS0tLQotZGlmZiAtLWdpdCBhL2JmZC9jb25maWcuYmZkIGIvYmZkL2NvbmZpZy5iZmQKLWluZGV4IGM4ODI0MjEuLmRjNzA1YjYgMTAwNjQ0Ci0tLS0gYS9iZmQvY29uZmlnLmJmZAotKysrIGIvYmZkL2NvbmZpZy5iZmQKLUBAIC02ODgsNyArNjg4LDcgQEAgY2FzZSAiJHt0YXJnfSIgaW4KLSAgICAgOzsKLSAgIHg4Nl82NC0qLWxpbnV4LSopCi0gICAgIHRhcmdfZGVmdmVjPXg4Nl82NF9lbGY2NF92ZWMKLS0gICAgdGFyZ19zZWx2ZWNzPSJpMzg2X2VsZjMyX3ZlYyBpYW1jdV9lbGYzMl92ZWMgeDg2XzY0X2VsZjMyX3ZlYyBpMzg2X3BlaV92ZWMgeDg2XzY0X3BlaV92ZWMgbDFvbV9lbGY2NF92ZWMgazFvbV9lbGY2NF92ZWMiCi0rICAgIHRhcmdfc2VsdmVjcz0iaTM4Nl9lbGYzMl92ZWMgaWFtY3VfZWxmMzJfdmVjIHg4Nl82NF9lbGYzMl92ZWMgaTM4Nl9wZWlfdmVjIHg4Nl82NF9wZWlfdmVjIGwxb21fZWxmNjRfdmVjIGsxb21fZWxmNjRfdmVjIHg4Nl82NF9wZV92ZWMgeDg2XzY0X3BlX2JlX3ZlYyBpMzg2X3BlX3ZlYyIKLSAgICAgd2FudDY0PXRydWUKLSAgICAgOzsKLSAgIHg4Nl82NC0qLW5hY2wqKQotZGlmZiAtLWdpdCBhL2xkL2NvbmZpZ3VyZS50Z3QgYi9sZC9jb25maWd1cmUudGd0Ci1pbmRleCBhMWRiN2FkLi42NWE5ODRhIDEwMDY0NAotLS0tIGEvbGQvY29uZmlndXJlLnRndAotKysrIGIvbGQvY29uZmlndXJlLnRndAotQEAgLTI1Myw4ICsyNTMsOSBAQCB4ODZfNjQtKi1saW51eC1nbnV4MzIpCXRhcmdfZW11bD1lbGYzMl94ODZfNjQKLSAJCQl0ZGlyX2VsZl9pYW1jdT1gZWNobyAke3RhcmdfYWxpYXN9IHwgc2VkIC1lICdzL3g4Nl82NC9pMzg2LycgLWUgJ3MvLWxpbnV4LWdudXgzMi8tbGludXgtZ251LydgCi0gCQkJdGRpcl9lbGZfaTM4Nj1gZWNobyAke3RhcmdfYWxpYXN9IHwgc2VkIC1lICdzL3g4Nl82NC9pMzg2LycgLWUgJ3MvLWxpbnV4LWdudXgzMi8tbGludXgtZ251LydgIDs7Ci0geDg2XzY0LSotbGludXgtKikJdGFyZ19lbXVsPWVsZl94ODZfNjQKLS0JCQl0YXJnX2V4dHJhX2VtdWxzPSJlbGYzMl94ODZfNjQgZWxmX2kzODYgZWxmX2lhbWN1IGVsZl9sMW9tIGVsZl9rMW9tIgotLQkJCXRhcmdfZXh0cmFfbGlicGF0aD0iZWxmX2kzODYgZWxmMzJfeDg2XzY0IGVsZl9sMW9tIGVsZl9rMW9tIgotKwkJCXRhcmdfZXh0cmFfZW11bHM9ImVsZjMyX3g4Nl82NCBlbGZfaTM4NiBlbGZfaWFtY3UgZWxmX2wxb20gZWxmX2sxb20gaTM4NnBlIGkzODZwZXAiCi0rCQkJdGFyZ19leHRyYV9saWJwYXRoPSJlbGZfaTM4NiBlbGYzMl94ODZfNjQgZWxmX2wxb20gZWxmX2sxb20gaTM4NnBlcCIKLSsJCQl0YXJnX2V4dHJhX29maWxlcz0iZGVmZmlsZXAubyBwZXAtZGxsLm8gcGUtZGxsLm8iCi0gCQkJdGRpcl9lbGZfaTM4Nj1gZWNobyAke3RhcmdfYWxpYXN9IHwgc2VkIC1lICdzL3g4Nl82NC9pMzg2LydgIDs7Ci0gaVszLTddODYtKi1yZWRveCopCXRhcmdfZW11bD1lbGZfaTM4NgotIAkJCXRhcmdfZXh0cmFfZW11bHM9ZWxmX3g4Nl82NCA7OwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAyMi1IYW5kbGUtRUxGLWNvbXByZXNzZWQtaGVhZGVyLWFsaWdubWVudC1jb3JyZWN0bHktYnktLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAyMi1IYW5kbGUtRUxGLWNvbXByZXNzZWQtaGVhZGVyLWFsaWdubWVudC1jb3JyZWN0bHktYnktLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NTBkZTliLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMjItSGFuZGxlLUVMRi1jb21wcmVzc2VkLWhlYWRlci1hbGlnbm1lbnQtY29ycmVjdGx5LWJ5LS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMzMiArMCwwIEBACi1Gcm9tIGJiOWM4Y2MzYzVmNGZmZDYwMTlhOGM1M2FkZWFkNDI5OTU0MTYyZTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXJrIFdpZWxhYXJkIDxtYXJrQGtsb21wLm9yZz4KLURhdGU6IFR1ZSwgMjcgTm92IDIwMTggMTE6NTk6MTAgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAxLzJdIEhhbmRsZSBFTEYgY29tcHJlc3NlZCBoZWFkZXIgYWxpZ25tZW50IGNvcnJlY3RseSBieQotIHNldHRpbmcgdXAgdGhlIHNlY3Rpb24gYWxpZ25tZW50IGNvcnJlY3RseSBmb3IgdGhlIEVsZjMyX0NoZHIgb3IgRWxmNjRfQ2hkcgotIHR5cGUgYW5kIHJlc3BlY3QgdGhlIGNoX2FkZHJhbGlnbiBmaWVsZCB3aGVuIGRlY29tcHJlc3NpbmcgdGhlIHNlY3Rpb24gZGF0YS4KLQotCVBSIGJpbnV0aWxzLzIzOTE5Ci1iaW51dGlscyogcmVhZGVsZi5jIChkdW1wX3NlY3Rpb25zX2FzX3N0cmluZ3MpOiBSZW1vdmUgYm9ndXMgYWRkcmFsaWduIGNoZWNrLgotCShkdW1wX3NlY3Rpb25zX2FzX2J5dGVzKTogTGlrZXdpc2UuCi0JKGxvYWRfc3BlY2lmaWNfZGVidWdfc2VjdGlvbnMpOiBMaWtld2lzZS4KLQkqIHRlc3RzdWl0ZS9iaW51dGlscy1hbGwvZHcyLTMuclM6IEFkanVzdCBhbGlnbm1lbnQuCi0JKiB0ZXN0c3VpdGUvYmludXRpbHMtYWxsL2R3Mi0zLnJ0OiBMaWtld2lzZS4KLQotYmZkCSogYmZkLmMgKGJmZF91cGRhdGVfY29tcHJlc3Npb25faGVhZGVyKTogRXhwbGljaXRseSBzZXQgYWxpZ25tZW50LgotCShiZmRfY2hlY2tfY29tcHJlc3Npb25faGVhZGVyKTogQWRkIHVuY29tcHJlc3NlZF9hbGlnbm1lbnRfcG93ZXIKLQlhcmd1bWVudC4gQ2hlY2sgY2hfYWRkcmFsaWduIGlzIGEgcG93ZXIgb2YgMi4KLQkqIGJmZC1pbjIuaDogUmVnZW5lcmF0ZWQuCi0JKiBjb21wcmVzcy5jIChiZmRfY29tcHJlc3Nfc2VjdGlvbl9jb250ZW50cyk6IEdldCBhbmQgc2V0Ci0Jb3JpZ191bmNvbXByZXNzZWRfYWxpZ25tZW50X3BvdyBpZiBzZWN0aW9uIGlzIGRlY29tcHJlc3NlZC4KLQkoYmZkX2lzX3NlY3Rpb25fY29tcHJlc3NlZF93aXRoX2hlYWRlcik6IEFkZCBhbmQgZ2V0Ci0JdW5jb21wcmVzc2VkX2FsaWduX3Bvd19wIGFyZ3VtZW50LgotCShiZmRfaXNfc2VjdGlvbl9jb21wcmVzc2VkKTogQWRkIHVuY29tcHJlc3NlZF9hbGlnbl9wb3dlciBhcmd1bWVudAotCXRvIGJmZF9pc19zZWN0aW9uX2NvbXByZXNzZWRfd2l0aF9oZWFkZXIgY2FsbC4KLQkoYmZkX2luaXRfc2VjdGlvbl9kZWNvbXByZXNzX3N0YXR1cyk6IEdldCBhbmQgc2V0Ci0JdW5jb21wcmVzc2VkX2FsaWdubWVudF9wb3dlci4KLQkqIGVsZi5jIChfYmZkX2VsZl9tYWtlX3NlY3Rpb25fZnJvbV9zaGRyKTogQWRkCi0JdW5jb21wcmVzc2VkX2FsaWduX3Bvd2VyIGFyZ3VtZW50IHRvCi0JYmZkX2lzX3NlY3Rpb25fY29tcHJlc3NlZF93aXRoX2hlYWRlciBjYWxsLgotLS0tCi0gYmZkL2JmZC1pbjIuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA2ICsrLS0KLSBiZmQvYmZkLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjAgKysrKysrKysrKy0tLS0KLSBiZmQvY29tcHJlc3MuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMzUgKysrKysrKysrKysrKysrKystLS0tLS0tCi0gYmZkL2VsZi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA1ICsrLS0KLSBiaW51dGlscy9yZWFkZWxmLmMgICAgICAgICAgICAgICAgICAgICAgIHwgMTggLS0tLS0tLS0tLS0tCi0gYmludXRpbHMvdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC9kdzItMy5yUyB8ICAyICstCi0gYmludXRpbHMvdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC9kdzItMy5ydCB8ICAyICstCi0gNyBmaWxlcyBjaGFuZ2VkLCA0OSBpbnNlcnRpb25zKCspLCAzOSBkZWxldGlvbnMoLSkKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9naXQvZ2l0d2ViLmNnaT9wPWJpbnV0aWxzLWdkYi5naXQ7aD00MjA3MTQyZDZhNWQyMzU5MTcwYzVmOWExNDBmYzFhMjM1MWZiZGE5XQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotZGlmZiAtLWdpdCBhL2JmZC9iZmQtaW4yLmggYi9iZmQvYmZkLWluMi5oCi1pbmRleCBmNTNkYmI1ZThjLi5kMGMyMTkwZDBiIDEwMDY0NAotLS0tIGEvYmZkL2JmZC1pbjIuaAotKysrIGIvYmZkL2JmZC1pbjIuaAotQEAgLTcyNzksNyArNzI3OSw4IEBAIHZvaWQgYmZkX3VwZGF0ZV9jb21wcmVzc2lvbl9oZWFkZXIKLSAKLSBiZmRfYm9vbGVhbiBiZmRfY2hlY2tfY29tcHJlc3Npb25faGVhZGVyCi0gICAgKGJmZCAqYWJmZCwgYmZkX2J5dGUgKmNvbnRlbnRzLCBhc2VjdGlvbiAqc2VjLAotLSAgICBiZmRfc2l6ZV90eXBlICp1bmNvbXByZXNzZWRfc2l6ZSk7Ci0rICAgIGJmZF9zaXplX3R5cGUgKnVuY29tcHJlc3NlZF9zaXplLAotKyAgICB1bnNpZ25lZCBpbnQgKnVuY29tcHJlc3NlZF9hbGlnbm1lbnRfcG93ZXIpOwotIAotIGludCBiZmRfZ2V0X2NvbXByZXNzaW9uX2hlYWRlcl9zaXplIChiZmQgKmFiZmQsIGFzZWN0aW9uICpzZWMpOwotIAotQEAgLTc4NTUsNyArNzg1Niw4IEBAIHZvaWQgYmZkX2NhY2hlX3NlY3Rpb25fY29udGVudHMKLSBiZmRfYm9vbGVhbiBiZmRfaXNfc2VjdGlvbl9jb21wcmVzc2VkX3dpdGhfaGVhZGVyCi0gICAgKGJmZCAqYWJmZCwgYXNlY3Rpb24gKnNlY3Rpb24sCi0gICAgIGludCAqY29tcHJlc3Npb25faGVhZGVyX3NpemVfcCwKLS0gICAgYmZkX3NpemVfdHlwZSAqdW5jb21wcmVzc2VkX3NpemVfcCk7Ci0rICAgIGJmZF9zaXplX3R5cGUgKnVuY29tcHJlc3NlZF9zaXplX3AsCi0rICAgIHVuc2lnbmVkIGludCAqdW5jb21wcmVzc2VkX2FsaWdubWVudF9wb3dlcl9wKTsKLSAKLSBiZmRfYm9vbGVhbiBiZmRfaXNfc2VjdGlvbl9jb21wcmVzc2VkCi0gICAgKGJmZCAqYWJmZCwgYXNlY3Rpb24gKnNlY3Rpb24pOwotZGlmZiAtLWdpdCBhL2JmZC9iZmQuYyBiL2JmZC9iZmQuYwotaW5kZXggODUxNzEwNDAxZS4uZWExMGQ3YjE4NSAxMDA2NDQKLS0tLSBhL2JmZC9iZmQuYwotKysrIGIvYmZkL2JmZC5jCi1AQCAtMjMzMiw2ICsyMzMyLDggQEAgYmZkX3VwZGF0ZV9jb21wcmVzc2lvbl9oZWFkZXIgKGJmZCAqYWJmZCwgYmZkX2J5dGUgKmNvbnRlbnRzLAotIAkJICBiZmRfcHV0XzMyIChhYmZkLCBzZWMtPnNpemUsICZlY2hkci0+Y2hfc2l6ZSk7Ci0gCQkgIGJmZF9wdXRfMzIgKGFiZmQsIDEgPDwgc2VjLT5hbGlnbm1lbnRfcG93ZXIsCi0gCQkJICAgICAgJmVjaGRyLT5jaF9hZGRyYWxpZ24pOwotKwkJICAvKiBiZmRfbG9nMiAoYWxpZ25vZiAoRWxmMzJfQ2hkcikpICovCi0rCQkgIGJmZF9zZXRfc2VjdGlvbl9hbGlnbm1lbnQgKGFiZmQsIHNlYywgMik7Ci0gCQl9Ci0gCSAgICAgIGVsc2UKLSAJCXsKLUBAIC0yMzQyLDYgKzIzNDQsOCBAQCBiZmRfdXBkYXRlX2NvbXByZXNzaW9uX2hlYWRlciAoYmZkICphYmZkLCBiZmRfYnl0ZSAqY29udGVudHMsCi0gCQkgIGJmZF9wdXRfNjQgKGFiZmQsIHNlYy0+c2l6ZSwgJmVjaGRyLT5jaF9zaXplKTsKLSAJCSAgYmZkX3B1dF82NCAoYWJmZCwgMSA8PCBzZWMtPmFsaWdubWVudF9wb3dlciwKLSAJCQkgICAgICAmZWNoZHItPmNoX2FkZHJhbGlnbik7Ci0rCQkgIC8qIGJmZF9sb2cyIChhbGlnbm9mIChFbGY2NF9DaGRyKSkgKi8KLSsJCSAgYmZkX3NldF9zZWN0aW9uX2FsaWdubWVudCAoYWJmZCwgc2VjLCAzKTsKLSAJCX0KLSAJICAgIH0KLSAJICBlbHNlCi1AQCAtMjM1NCw2ICsyMzU4LDggQEAgYmZkX3VwZGF0ZV9jb21wcmVzc2lvbl9oZWFkZXIgKGJmZCAqYWJmZCwgYmZkX2J5dGUgKmNvbnRlbnRzLAotIAkJIG9yZGVyLiAgKi8KLSAJICAgICAgbWVtY3B5IChjb250ZW50cywgIlpMSUIiLCA0KTsKLSAJICAgICAgYmZkX3B1dGI2NCAoc2VjLT5zaXplLCBjb250ZW50cyArIDQpOwotKwkgICAgICAvKiBObyB3YXkgdG8ga2VlcCB0aGUgb3JpZ2luYWwgYWxpZ25tZW50LCBqdXN0IHVzZSAxIGFsd2F5cy4gKi8KLSsJICAgICAgYmZkX3NldF9zZWN0aW9uX2FsaWdubWVudCAoYWJmZCwgc2VjLCAwKTsKLSAJICAgIH0KLSAJfQotICAgICB9Ci1AQCAtMjM2OCwxMiArMjM3NCwxNCBAQCBiZmRfdXBkYXRlX2NvbXByZXNzaW9uX2hlYWRlciAoYmZkICphYmZkLCBiZmRfYnl0ZSAqY29udGVudHMsCi0gICAgU1lOT1BTSVMKLSAJYmZkX2Jvb2xlYW4gYmZkX2NoZWNrX2NvbXByZXNzaW9uX2hlYWRlcgotIAkgIChiZmQgKmFiZmQsIGJmZF9ieXRlICpjb250ZW50cywgYXNlY3Rpb24gKnNlYywKLS0JICBiZmRfc2l6ZV90eXBlICp1bmNvbXByZXNzZWRfc2l6ZSk7Ci0rCSAgYmZkX3NpemVfdHlwZSAqdW5jb21wcmVzc2VkX3NpemUsCi0rCSAgdW5zaWduZWQgaW50ICp1bmNvbXByZXNzZWRfYWxpZ25tZW50X3Bvd2VyKTsKLSAKLSBERVNDUklQVElPTgotIAlDaGVjayB0aGUgY29tcHJlc3Npb24gaGVhZGVyIGF0IENPTlRFTlRTIG9mIFNFQyBpbiBBQkZEIGFuZAotLQlzdG9yZSB0aGUgdW5jb21wcmVzc2VkIHNpemUgaW4gVU5DT01QUkVTU0VEX1NJWkUgaWYgdGhlCi0tCWNvbXByZXNzaW9uIGhlYWRlciBpcyB2YWxpZC4KLSsJc3RvcmUgdGhlIHVuY29tcHJlc3NlZCBzaXplIGluIFVOQ09NUFJFU1NFRF9TSVpFIGFuZCB0aGUKLSsJdW5jb21wcmVzc2VkIGRhdGEgYWxpZ25tZW50IGluIFVOQ09NUFJFU1NFRF9BTElHTk1FTlRfUE9XRVIKLSsJaWYgdGhlIGNvbXByZXNzaW9uIGhlYWRlciBpcyB2YWxpZC4KLSAKLSBSRVRVUk5TCi0gCVJldHVybiBUUlVFIGlmIHRoZSBjb21wcmVzc2lvbiBoZWFkZXIgaXMgdmFsaWQuCi1AQCAtMjM4Miw3ICsyMzkwLDggQEAgUkVUVVJOUwotIGJmZF9ib29sZWFuCi0gYmZkX2NoZWNrX2NvbXByZXNzaW9uX2hlYWRlciAoYmZkICphYmZkLCBiZmRfYnl0ZSAqY29udGVudHMsCi0gCQkJICAgICAgYXNlY3Rpb24gKnNlYywKLS0JCQkgICAgICBiZmRfc2l6ZV90eXBlICp1bmNvbXByZXNzZWRfc2l6ZSkKLSsJCQkgICAgICBiZmRfc2l6ZV90eXBlICp1bmNvbXByZXNzZWRfc2l6ZSwKLSsJCQkgICAgICB1bnNpZ25lZCBpbnQgKnVuY29tcHJlc3NlZF9hbGlnbm1lbnRfcG93ZXIpCi0gewotICAgaWYgKGJmZF9nZXRfZmxhdm91ciAoYWJmZCkgPT0gYmZkX3RhcmdldF9lbGZfZmxhdm91cgotICAgICAgICYmIChlbGZfc2VjdGlvbl9mbGFncyAoc2VjKSAmIFNIRl9DT01QUkVTU0VEKSAhPSAwKQotQEAgLTI0MDQsOSArMjQxMywxMCBAQCBiZmRfY2hlY2tfY29tcHJlc3Npb25faGVhZGVyIChiZmQgKmFiZmQsIGJmZF9ieXRlICpjb250ZW50cywKLSAJICBjaGRyLmNoX2FkZHJhbGlnbiA9IGJmZF9nZXRfNjQgKGFiZmQsICZlY2hkci0+Y2hfYWRkcmFsaWduKTsKLSAJfQotICAgICAgIGlmIChjaGRyLmNoX3R5cGUgPT0gRUxGQ09NUFJFU1NfWkxJQgotLQkgICYmIGNoZHIuY2hfYWRkcmFsaWduID09IDFVIDw8IHNlYy0+YWxpZ25tZW50X3Bvd2VyKQotKwkgICYmIGNoZHIuY2hfYWRkcmFsaWduID09ICgxVSA8PCBiZmRfbG9nMiAoY2hkci5jaF9hZGRyYWxpZ24pKSkKLSAJewotIAkgICp1bmNvbXByZXNzZWRfc2l6ZSA9IGNoZHIuY2hfc2l6ZTsKLSsJICAqdW5jb21wcmVzc2VkX2FsaWdubWVudF9wb3dlciA9IGJmZF9sb2cyIChjaGRyLmNoX2FkZHJhbGlnbik7Ci0gCSAgcmV0dXJuIFRSVUU7Ci0gCX0KLSAgICAgfQotZGlmZiAtLWdpdCBhL2JmZC9jb21wcmVzcy5jIGIvYmZkL2NvbXByZXNzLmMKLWluZGV4IDUzZTU2NmU0OTguLjk3ZWE2MjRlYjggMTAwNjQ0Ci0tLS0gYS9iZmQvY29tcHJlc3MuYwotKysrIGIvYmZkL2NvbXByZXNzLmMKLUBAIC04NCwxMSArODQsMTMgQEAgYmZkX2NvbXByZXNzX3NlY3Rpb25fY29udGVudHMgKGJmZCAqYWJmZCwgc2VjX3B0ciBzZWMsCi0gICBpbnQgemxpYl9zaXplID0gMDsKLSAgIGludCBvcmlnX2NvbXByZXNzaW9uX2hlYWRlcl9zaXplOwotICAgYmZkX3NpemVfdHlwZSBvcmlnX3VuY29tcHJlc3NlZF9zaXplOwotKyAgdW5zaWduZWQgaW50IG9yaWdfdW5jb21wcmVzc2VkX2FsaWdubWVudF9wb3c7Ci0gICBpbnQgaGVhZGVyX3NpemUgPSBiZmRfZ2V0X2NvbXByZXNzaW9uX2hlYWRlcl9zaXplIChhYmZkLCBOVUxMKTsKLSAgIGJmZF9ib29sZWFuIGNvbXByZXNzZWQKLSAgICAgPSBiZmRfaXNfc2VjdGlvbl9jb21wcmVzc2VkX3dpdGhfaGVhZGVyIChhYmZkLCBzZWMsCi0gCQkJCQkgICAgICZvcmlnX2NvbXByZXNzaW9uX2hlYWRlcl9zaXplLAotLQkJCQkJICAgICAmb3JpZ191bmNvbXByZXNzZWRfc2l6ZSk7Ci0rCQkJCQkgICAgICZvcmlnX3VuY29tcHJlc3NlZF9zaXplLAotKwkJCQkJICAgICAmb3JpZ191bmNvbXByZXNzZWRfYWxpZ25tZW50X3Bvdyk7Ci0gCi0gICAvKiBFaXRoZXIgRUxGIGNvbXByZXNzaW9uIGhlYWRlciBvciB0aGUgMTItYnl0ZSwgIlpMSUIiICsgOC1ieXRlIHNpemUsCi0gICAgICBvdmVyaGVhZCBpbiAuemRlYnVnKiBzZWN0aW9uLiAgKi8KLUBAIC0xNTMsNiArMTU1LDkgQEAgYmZkX2NvbXByZXNzX3NlY3Rpb25fY29udGVudHMgKGJmZCAqYWJmZCwgc2VjX3B0ciBzZWMsCi0gCSAgICAgIHJldHVybiAwOwotIAkgICAgfQotIAkgIGZyZWUgKHVuY29tcHJlc3NlZF9idWZmZXIpOwotKwkgIGJmZF9zZXRfc2VjdGlvbl9hbGlnbm1lbnQgKGFiZmQsIHNlYywKLSsJCQkJICAgICBvcmlnX3VuY29tcHJlc3NlZF9hbGlnbm1lbnRfcG93KTsKLSsKLSAJICBzZWMtPmNvbnRlbnRzID0gYnVmZmVyOwotIAkgIHNlYy0+Y29tcHJlc3Nfc3RhdHVzID0gQ09NUFJFU1NfU0VDVElPTl9ET05FOwotIAkgIHJldHVybiBvcmlnX3VuY29tcHJlc3NlZF9zaXplOwotQEAgLTM2NCwyMCArMzY5LDI0IEBAIFNZTk9QU0lTCi0gCWJmZF9ib29sZWFuIGJmZF9pc19zZWN0aW9uX2NvbXByZXNzZWRfd2l0aF9oZWFkZXIKLSAJICAoYmZkICphYmZkLCBhc2VjdGlvbiAqc2VjdGlvbiwKLSAJICBpbnQgKmNvbXByZXNzaW9uX2hlYWRlcl9zaXplX3AsCi0tCSAgYmZkX3NpemVfdHlwZSAqdW5jb21wcmVzc2VkX3NpemVfcCk7Ci0rCSAgYmZkX3NpemVfdHlwZSAqdW5jb21wcmVzc2VkX3NpemVfcCwKLSsJICB1bnNpZ25lZCBpbnQgKnVuY29tcHJlc3NlZF9hbGlnbm1lbnRfcG93ZXJfcCk7Ci0gCi0gREVTQ1JJUFRJT04KLSAJUmV0dXJuIEBjb2Rle1RSVUV9IGlmIEB2YXJ7c2VjdGlvbn0gaXMgY29tcHJlc3NlZC4gIENvbXByZXNzaW9uCi0tCWhlYWRlciBzaXplIGlzIHJldHVybmVkIGluIEB2YXJ7Y29tcHJlc3Npb25faGVhZGVyX3NpemVfcH0gYW5kCi0tCXVuY29tcHJlc3NlZCBzaXplIGlzIHJldHVybmVkIGluIEB2YXJ7dW5jb21wcmVzc2VkX3NpemVfcH0uICBJZgotLQljb21wcmVzc2lvbiBpcyB1bnN1cHBvcnRlZCwgY29tcHJlc3Npb24gaGVhZGVyIHNpemUgaXMgcmV0dXJuZWQKLS0Jd2l0aCAtMSBhbmQgdW5jb21wcmVzc2VkIHNpemUgaXMgcmV0dXJuZWQgd2l0aCAwLgotKwloZWFkZXIgc2l6ZSBpcyByZXR1cm5lZCBpbiBAdmFye2NvbXByZXNzaW9uX2hlYWRlcl9zaXplX3B9LAotKwl1bmNvbXByZXNzZWQgc2l6ZSBpcyByZXR1cm5lZCBpbiBAdmFye3VuY29tcHJlc3NlZF9zaXplX3B9Ci0rCWFuZCB0aGUgdW5jb21wcmVzc2VkIGRhdGEgYWxpZ25lbWVudCBwb3dlciBpcyByZXR1cm5lZCBpbgotKwlAdmFye3VuY29tcHJlc3NlZF9hbGlnbl9wb3dfcH0uICBJZiBjb21wcmVzc2lvbiBpcwotKwl1bnN1cHBvcnRlZCwgY29tcHJlc3Npb24gaGVhZGVyIHNpemUgaXMgcmV0dXJuZWQgd2l0aCAtMQotKwlhbmQgdW5jb21wcmVzc2VkIHNpemUgaXMgcmV0dXJuZWQgd2l0aCAwLgotICovCi0gCi0gYmZkX2Jvb2xlYW4KLSBiZmRfaXNfc2VjdGlvbl9jb21wcmVzc2VkX3dpdGhfaGVhZGVyIChiZmQgKmFiZmQsIHNlY19wdHIgc2VjLAotIAkJCQkgICAgICAgaW50ICpjb21wcmVzc2lvbl9oZWFkZXJfc2l6ZV9wLAotLQkJCQkgICAgICAgYmZkX3NpemVfdHlwZSAqdW5jb21wcmVzc2VkX3NpemVfcCkKLSsJCQkJICAgICAgIGJmZF9zaXplX3R5cGUgKnVuY29tcHJlc3NlZF9zaXplX3AsCi0rCQkJCSAgICAgICB1bnNpZ25lZCBpbnQgKnVuY29tcHJlc3NlZF9hbGlnbl9wb3dfcCkKLSB7Ci0gICBiZmRfYnl0ZSBoZWFkZXJbTUFYX0NPTVBSRVNTSU9OX0hFQURFUl9TSVpFXTsKLSAgIGludCBjb21wcmVzc2lvbl9oZWFkZXJfc2l6ZTsKLUBAIC00MTIsNyArNDIxLDggQEAgYmZkX2lzX3NlY3Rpb25fY29tcHJlc3NlZF93aXRoX2hlYWRlciAoYmZkICphYmZkLCBzZWNfcHRyIHNlYywKLSAgICAgICBpZiAoY29tcHJlc3Npb25faGVhZGVyX3NpemUgIT0gMCkKLSAJewotIAkgIGlmICghYmZkX2NoZWNrX2NvbXByZXNzaW9uX2hlYWRlciAoYWJmZCwgaGVhZGVyLCBzZWMsCi0tCQkJCQkgICAgIHVuY29tcHJlc3NlZF9zaXplX3ApKQotKwkJCQkJICAgICB1bmNvbXByZXNzZWRfc2l6ZV9wLAotKwkJCQkJICAgICB1bmNvbXByZXNzZWRfYWxpZ25fcG93X3ApKQotIAkgICAgY29tcHJlc3Npb25faGVhZGVyX3NpemUgPSAtMTsKLSAJfQotICAgICAgIC8qIENoZWNrIGZvciB0aGUgcGF0aGFsb2dpY2FsIGNhc2Ugb2YgYSBkZWJ1ZyBzdHJpbmcgc2VjdGlvbiB0aGF0Ci1AQCAtNDQ5LDkgKzQ1OSwxMSBAQCBiZmRfaXNfc2VjdGlvbl9jb21wcmVzc2VkIChiZmQgKmFiZmQsIHNlY19wdHIgc2VjKQotIHsKLSAgIGludCBjb21wcmVzc2lvbl9oZWFkZXJfc2l6ZTsKLSAgIGJmZF9zaXplX3R5cGUgdW5jb21wcmVzc2VkX3NpemU7Ci0rICB1bnNpZ25lZCBpbnQgdW5jb21wcmVzc2VkX2FsaWduX3Bvd2VyOwotICAgcmV0dXJuIChiZmRfaXNfc2VjdGlvbl9jb21wcmVzc2VkX3dpdGhfaGVhZGVyIChhYmZkLCBzZWMsCi0gCQkJCQkJICZjb21wcmVzc2lvbl9oZWFkZXJfc2l6ZSwKLS0JCQkJCQkgJnVuY29tcHJlc3NlZF9zaXplKQotKwkJCQkJCSAmdW5jb21wcmVzc2VkX3NpemUsCi0rCQkJCQkJICZ1bmNvbXByZXNzZWRfYWxpZ25fcG93ZXIpCi0gCSAgJiYgY29tcHJlc3Npb25faGVhZGVyX3NpemUgPj0gMAotIAkgICYmIHVuY29tcHJlc3NlZF9zaXplID4gMCk7Ci0gfQotQEAgLTQ4MCw2ICs0OTIsNyBAQCBiZmRfaW5pdF9zZWN0aW9uX2RlY29tcHJlc3Nfc3RhdHVzIChiZmQgKmFiZmQsIHNlY19wdHIgc2VjKQotICAgaW50IGNvbXByZXNzaW9uX2hlYWRlcl9zaXplOwotICAgaW50IGhlYWRlcl9zaXplOwotICAgYmZkX3NpemVfdHlwZSB1bmNvbXByZXNzZWRfc2l6ZTsKLSsgIHVuc2lnbmVkIGludCB1bmNvbXByZXNzZWRfYWxpZ25tZW50X3Bvd2VyID0gMDsKLSAKLSAgIGNvbXByZXNzaW9uX2hlYWRlcl9zaXplID0gYmZkX2dldF9jb21wcmVzc2lvbl9oZWFkZXJfc2l6ZSAoYWJmZCwgc2VjKTsKLSAgIGlmIChjb21wcmVzc2lvbl9oZWFkZXJfc2l6ZSA+IE1BWF9DT01QUkVTU0lPTl9IRUFERVJfU0laRSkKLUBAIC01MDgsNyArNTIxLDggQEAgYmZkX2luaXRfc2VjdGlvbl9kZWNvbXByZXNzX3N0YXR1cyAoYmZkICphYmZkLCBzZWNfcHRyIHNlYykKLSAgICAgICB1bmNvbXByZXNzZWRfc2l6ZSA9IGJmZF9nZXRiNjQgKGhlYWRlciArIDQpOwotICAgICB9Ci0gICBlbHNlIGlmICghYmZkX2NoZWNrX2NvbXByZXNzaW9uX2hlYWRlciAoYWJmZCwgaGVhZGVyLCBzZWMsCi0tCQkJCQkgJnVuY29tcHJlc3NlZF9zaXplKSkKLSsJCQkJCSAgJnVuY29tcHJlc3NlZF9zaXplLAotKwkJCQkJICAmdW5jb21wcmVzc2VkX2FsaWdubWVudF9wb3dlcikpCi0gICAgIHsKLSAgICAgICBiZmRfc2V0X2Vycm9yIChiZmRfZXJyb3Jfd3JvbmdfZm9ybWF0KTsKLSAgICAgICByZXR1cm4gRkFMU0U7Ci1AQCAtNTE2LDYgKzUzMCw3IEBAIGJmZF9pbml0X3NlY3Rpb25fZGVjb21wcmVzc19zdGF0dXMgKGJmZCAqYWJmZCwgc2VjX3B0ciBzZWMpCi0gCi0gICBzZWMtPmNvbXByZXNzZWRfc2l6ZSA9IHNlYy0+c2l6ZTsKLSAgIHNlYy0+c2l6ZSA9IHVuY29tcHJlc3NlZF9zaXplOwotKyAgYmZkX3NldF9zZWN0aW9uX2FsaWdubWVudCAoYWJmZCwgc2VjLCB1bmNvbXByZXNzZWRfYWxpZ25tZW50X3Bvd2VyKTsKLSAgIHNlYy0+Y29tcHJlc3Nfc3RhdHVzID0gREVDT01QUkVTU19TRUNUSU9OX1NJWkVEOwotIAotICAgcmV0dXJuIFRSVUU7Ci1kaWZmIC0tZ2l0IGEvYmZkL2VsZi5jIGIvYmZkL2VsZi5jCi1pbmRleCA4MjgyNDFkNDhhLi5jNGYxMzFkZGNmIDEwMDY0NAotLS0tIGEvYmZkL2VsZi5jCi0rKysgYi9iZmQvZWxmLmMKLUBAIC0xMTc3LDExICsxMTc3LDEyIEBAIF9iZmRfZWxmX21ha2Vfc2VjdGlvbl9mcm9tX3NoZHIgKGJmZCAqYWJmZCwKLSAgICAgICBlbnVtIHsgbm90aGluZywgY29tcHJlc3MsIGRlY29tcHJlc3MgfSBhY3Rpb24gPSBub3RoaW5nOwotICAgICAgIGludCBjb21wcmVzc2lvbl9oZWFkZXJfc2l6ZTsKLSAgICAgICBiZmRfc2l6ZV90eXBlIHVuY29tcHJlc3NlZF9zaXplOwotKyAgICAgIHVuc2lnbmVkIGludCB1bmNvbXByZXNzZWRfYWxpZ25fcG93ZXI7Ci0gICAgICAgYmZkX2Jvb2xlYW4gY29tcHJlc3NlZAotIAk9IGJmZF9pc19zZWN0aW9uX2NvbXByZXNzZWRfd2l0aF9oZWFkZXIgKGFiZmQsIG5ld3NlY3QsCi0gCQkJCQkJICZjb21wcmVzc2lvbl9oZWFkZXJfc2l6ZSwKLS0JCQkJCQkgJnVuY29tcHJlc3NlZF9zaXplKTsKLS0KLSsJCQkJCQkgJnVuY29tcHJlc3NlZF9zaXplLAotKwkJCQkJCSAmdW5jb21wcmVzc2VkX2FsaWduX3Bvd2VyKTsKLSAgICAgICBpZiAoY29tcHJlc3NlZCkKLSAJewotIAkgIC8qIENvbXByZXNzZWQgc2VjdGlvbi4gIENoZWNrIGlmIHdlIHNob3VsZCBkZWNvbXByZXNzLiAgKi8KLWRpZmYgLS1naXQgYS9iaW51dGlscy9yZWFkZWxmLmMgYi9iaW51dGlscy9yZWFkZWxmLmMKLWluZGV4IGY0ZGY2OTdhN2QuLjRiMGVmYTg4NGYgMTAwNjQ0Ci0tLS0gYS9iaW51dGlscy9yZWFkZWxmLmMKLSsrKyBiL2JpbnV0aWxzL3JlYWRlbGYuYwotQEAgLTEzMzQ1LDEyICsxMzM0NSw2IEBAIGR1bXBfc2VjdGlvbl9hc19zdHJpbmdzIChFbGZfSW50ZXJuYWxfU2hkciAqIHNlY3Rpb24sIEZpbGVkYXRhICogZmlsZWRhdGEpCi0gCQkgICAgcHJpbnRhYmxlX3NlY3Rpb25fbmFtZSAoZmlsZWRhdGEsIHNlY3Rpb24pLCBjaGRyLmNoX3R5cGUpOwotIAkgICAgICByZXR1cm4gRkFMU0U7Ci0gCSAgICB9Ci0tCSAgZWxzZSBpZiAoY2hkci5jaF9hZGRyYWxpZ24gIT0gc2VjdGlvbi0+c2hfYWRkcmFsaWduKQotLQkgICAgewotLQkgICAgICB3YXJuIChfKCJjb21wcmVzc2VkIHNlY3Rpb24gJyVzJyBpcyBjb3JydXB0ZWRcbiIpLAotLQkJICAgIHByaW50YWJsZV9zZWN0aW9uX25hbWUgKGZpbGVkYXRhLCBzZWN0aW9uKSk7Ci0tCSAgICAgIHJldHVybiBGQUxTRTsKLS0JICAgIH0KLSAJICB1bmNvbXByZXNzZWRfc2l6ZSA9IGNoZHIuY2hfc2l6ZTsKLSAJICBzdGFydCArPSBjb21wcmVzc2lvbl9oZWFkZXJfc2l6ZTsKLSAJICBuZXdfc2l6ZSAtPSBjb21wcmVzc2lvbl9oZWFkZXJfc2l6ZTsKLUBAIC0xMzQ5MiwxMiArMTM0ODYsNiBAQCBkdW1wX3NlY3Rpb25fYXNfYnl0ZXMgKEVsZl9JbnRlcm5hbF9TaGRyICogIHNlY3Rpb24sCi0gCQkgICAgcHJpbnRhYmxlX3NlY3Rpb25fbmFtZSAoZmlsZWRhdGEsIHNlY3Rpb24pLCBjaGRyLmNoX3R5cGUpOwotIAkgICAgICByZXR1cm4gRkFMU0U7Ci0gCSAgICB9Ci0tCSAgZWxzZSBpZiAoY2hkci5jaF9hZGRyYWxpZ24gIT0gc2VjdGlvbi0+c2hfYWRkcmFsaWduKQotLQkgICAgewotLQkgICAgICB3YXJuIChfKCJjb21wcmVzc2VkIHNlY3Rpb24gJyVzJyBpcyBjb3JydXB0ZWRcbiIpLAotLQkJICAgIHByaW50YWJsZV9zZWN0aW9uX25hbWUgKGZpbGVkYXRhLCBzZWN0aW9uKSk7Ci0tCSAgICAgIHJldHVybiBGQUxTRTsKLS0JICAgIH0KLSAJICB1bmNvbXByZXNzZWRfc2l6ZSA9IGNoZHIuY2hfc2l6ZTsKLSAJICBzdGFydCArPSBjb21wcmVzc2lvbl9oZWFkZXJfc2l6ZTsKLSAJICBuZXdfc2l6ZSAtPSBjb21wcmVzc2lvbl9oZWFkZXJfc2l6ZTsKLUBAIC0xMzY2NywxMiArMTM2NTUsNiBAQCBsb2FkX3NwZWNpZmljX2RlYnVnX3NlY3Rpb24gKGVudW0gZHdhcmZfc2VjdGlvbl9kaXNwbGF5X2VudW0gIGRlYnVnLAotIAkJICAgIHNlY3Rpb24tPm5hbWUsIGNoZHIuY2hfdHlwZSk7Ci0gCSAgICAgIHJldHVybiBGQUxTRTsKLSAJICAgIH0KLS0JICBlbHNlIGlmIChjaGRyLmNoX2FkZHJhbGlnbiAhPSBzZWMtPnNoX2FkZHJhbGlnbikKLS0JICAgIHsKLS0JICAgICAgd2FybiAoXygiY29tcHJlc3NlZCBzZWN0aW9uICclcycgaXMgY29ycnVwdGVkXG4iKSwKLS0JCSAgICBzZWN0aW9uLT5uYW1lKTsKLS0JICAgICAgcmV0dXJuIEZBTFNFOwotLQkgICAgfQotIAkgIHVuY29tcHJlc3NlZF9zaXplID0gY2hkci5jaF9zaXplOwotIAkgIHN0YXJ0ICs9IGNvbXByZXNzaW9uX2hlYWRlcl9zaXplOwotIAkgIHNpemUgLT0gY29tcHJlc3Npb25faGVhZGVyX3NpemU7Ci1kaWZmIC0tZ2l0IGEvYmludXRpbHMvdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC9kdzItMy5yUyBiL2JpbnV0aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwvZHcyLTMuclMKLWluZGV4IGYxNjM3ZTkxNDkuLjg2YmM3M2Q5YTIgMTAwNjQ0Ci0tLS0gYS9iaW51dGlscy90ZXN0c3VpdGUvYmludXRpbHMtYWxsL2R3Mi0zLnJTCi0rKysgYi9iaW51dGlscy90ZXN0c3VpdGUvYmludXRpbHMtYWxsL2R3Mi0zLnJTCi1AQCAtMSwzICsxLDMgQEAKLSAjLi4uCi0tICtcW1sgMC05XStcXSAuZGVidWdfaW5mbyArKFBST0dCSVRTfE1JUFNfRFdBUkYpICswKyArWzAtOWEtZl0rICtbMC05YS1mXSsgWzAtOWEtZl0rICtDICswICswICsxCi0rICtcW1sgMC05XStcXSAuZGVidWdfaW5mbyArKFBST0dCSVRTfE1JUFNfRFdBUkYpICswKyArWzAtOWEtZl0rICtbMC05YS1mXSsgWzAtOWEtZl0rICtDICswICswICsoNHw4KQotICNwYXNzCi1kaWZmIC0tZ2l0IGEvYmludXRpbHMvdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC9kdzItMy5ydCBiL2JpbnV0aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwvZHcyLTMucnQKLWluZGV4IGY1OWNiYWEyMmIuLjc0ZTdmOGRlY2EgMTAwNjQ0Ci0tLS0gYS9iaW51dGlscy90ZXN0c3VpdGUvYmludXRpbHMtYWxsL2R3Mi0zLnJ0Ci0rKysgYi9iaW51dGlscy90ZXN0c3VpdGUvYmludXRpbHMtYWxsL2R3Mi0zLnJ0Ci1AQCAtMSw2ICsxLDYgQEAKLSAjLi4uCi0gICtcW1sgMC05XStcXSAuZGVidWdfaW5mbwotLSArKFBST0dCSVRTfE1JUFNfRFdBUkYpICswKyArWzAtOWEtZl0rICtbMC05YS1mXSsgK1swLTlhLWZdKyArMCArMCArMQotKyArKFBST0dCSVRTfE1JUFNfRFdBUkYpICswKyArWzAtOWEtZl0rICtbMC05YS1mXSsgK1swLTlhLWZdKyArMCArMCArKDR8OCkKLSAgK1xbMCs4MDBcXTogQ09NUFJFU1NFRAotICArWkxJQiwgMCs5ZCwgMQotICNwYXNzCi0tLSAKLTIuMjAuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDIzLWdvbGQtR2V0LWFsaWdubWVudC1vZi11bmNvbXByZXNzZWQtc2VjdGlvbi1mcm9tLWNoX2EucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDIzLWdvbGQtR2V0LWFsaWdubWVudC1vZi11bmNvbXByZXNzZWQtc2VjdGlvbi1mcm9tLWNoX2EucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFmMDcyYTYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAyMy1nb2xkLUdldC1hbGlnbm1lbnQtb2YtdW5jb21wcmVzc2VkLXNlY3Rpb24tZnJvbS1jaF9hLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjAwICswLDAgQEAKLUZyb20gMDI2MWVjNTExYWMwNzE3N2ZhNDg4MTMzZTBiYjNjMDM4NjA5NzdiMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ICJILkouIEx1IiA8aGpsLnRvb2xzQGdtYWlsLmNvbT4KLURhdGU6IFN1biwgMiBEZWMgMjAxOCAwNTo0MjozNiAtMDgwMAotU3ViamVjdDogW1BBVENIIDIvMl0gZ29sZDogR2V0IGFsaWdubWVudCBvZiB1bmNvbXByZXNzZWQgc2VjdGlvbiBmcm9tCi0gY2hfYWRkcmFsaWduCi0KLVRoZSBFTEYgY29tcHJlc3Npb24gaGVhZGVyIGhhcyBhIGZpZWxkIChjaF9hZGRyYWxpZ24pIHRoYXQgaXMgc2V0IHRvCi10aGUgYWxpZ25tZW50IG9mIHRoZSB1bmNvbXByZXNzZWQgc2VjdGlvbi4gVGhpcyB3YXkgdGhlIHNlY3Rpb24gaXRzZWxmCi1jYW4gaGF2ZSBhIGRpZmZlcmVudCBhbGlnbm1lbnQgdGhhbiB0aGUgZGVjb21wcmVzc2VkIHNlY3Rpb24uICBVcGRhdGUKLWRlY29tcHJlc3NfaW5wdXRfc2VjdGlvbiB0byBnZXQgYWxpZ25tZW50IG9mIHRoZSBkZWNvbXByZXNzZWQgc2VjdGlvbgotYW5kIHVzZSBpdCB3aGVuIG1lcmdpbmcgZGVjb21wcmVzc2VkIHN0cmluZ3MuCi0KLQlQUiBiaW51dGlscy8yMzkxOQotCSogbWVyZ2UuY2MgKE91dHB1dF9tZXJnZV9zdHJpbmc8Q2hhcl90eXBlPjo6ZG9fYWRkX2lucHV0X3NlY3Rpb24pOgotCUdldCBhZGRyYWxpZ24gZnJvbSBkZWNvbXByZXNzZWRfc2VjdGlvbl9jb250ZW50cy4KLQkqIG9iamVjdC5jYyAoYnVpbGRfY29tcHJlc3NlZF9zZWN0aW9uX21hcCk6IFNldCBpbmZvLmFkZHJhbGlnbi4KLQkoT2JqZWN0OjpkZWNvbXByZXNzZWRfc2VjdGlvbl9jb250ZW50cyk6IEFkZCBhIHBhbGlnbgotCWFyZ3VtZW50IGFuZCBzdG9yZSBwLT5zZWNvbmQuYWRkcmFsaWduIGluICpwYWxpZ24gaWYgaXQgaXNuJ3QKLQlOVUxMLgotCSogb2JqZWN0LmggKENvbXByZXNzZWRfc2VjdGlvbl9pbmZvKTogQWRkIGFkZHJhbGlnbi4KLQkoc2VjdGlvbl9pc19jb21wcmVzc2VkKTogQWRkIGEgcGFsaWduIGFyZ3VtZW50LCBkZWZhdWx0IGl0Ci0JdG8gTlVMTCwgc3RvcmUgcC0+c2Vjb25kLmFkZHJhbGlnbiBpbiAqcGFsaWduIGlmIGl0IGlzbid0IE5VTEwuCi0JKE9iamVjdDo6ZGVjb21wcmVzc2VkX3NlY3Rpb25fY29udGVudHMpOiBMaWtld2lzZS4KLQkqIG91dHB1dC5jYyAoT3V0cHV0X3NlY3Rpb246OmFkZF9pbnB1dF9zZWN0aW9uKTogR2V0IGFkZHJhbGlnbgotCWZyb20gc2VjdGlvbl9pc19jb21wcmVzc2VkLgotLS0tCi0gZ29sZC9tZXJnZS5jYyAgfCAgOCArKysrKy0tLQotIGdvbGQvb2JqZWN0LmNjIHwgMTEgKysrKysrKysrLS0KLSBnb2xkL29iamVjdC5oICB8ICA4ICsrKysrKy0tCi0gZ29sZC9vdXRwdXQuY2MgfCAxMSArKysrKystLS0tLQotIDQgZmlsZXMgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vc291cmNld2FyZS5vcmcvZ2l0L2dpdHdlYi5jZ2k/cD1iaW51dGlscy1nZGIuZ2l0O2g9NWY2YzIyYWVlNzRmMTczOTNiODI5MzRhNTY4MmQ5ODU2NzJlMDExYV0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLQotZGlmZiAtLWdpdCBhL2dvbGQvbWVyZ2UuY2MgYi9nb2xkL21lcmdlLmNjCi1pbmRleCBkZTAwZWU5YWU5Li5kN2RlMTE3ODlmIDEwMDY0NAotLS0tIGEvZ29sZC9tZXJnZS5jYwotKysrIGIvZ29sZC9tZXJnZS5jYwotQEAgLTQ0MCw5ICs0NDAsMTEgQEAgT3V0cHV0X21lcmdlX3N0cmluZzxDaGFyX3R5cGU+Ojpkb19hZGRfaW5wdXRfc2VjdGlvbihSZWxvYmoqIG9iamVjdCwKLSB7Ci0gICBzZWN0aW9uX3NpemVfdHlwZSBzZWNfbGVuOwotICAgYm9vbCBpc19uZXc7Ci0rICB1aW50NjRfdCBhZGRyYWxpZ24gPSB0aGlzLT5hZGRyYWxpZ24oKTsKLSAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIHBkYXRhID0gb2JqZWN0LT5kZWNvbXByZXNzZWRfc2VjdGlvbl9jb250ZW50cyhzaG5keCwKLSAJCQkJCQkJCSAgICAgJnNlY19sZW4sCi0tCQkJCQkJCQkgICAgICZpc19uZXcpOwotKwkJCQkJCQkJICAgICAmaXNfbmV3LAotKwkJCQkJCQkJICAgICAmYWRkcmFsaWduKTsKLSAKLSAgIGNvbnN0IENoYXJfdHlwZSogcCA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgQ2hhcl90eXBlKj4ocGRhdGEpOwotICAgY29uc3QgQ2hhcl90eXBlKiBwZW5kID0gcCArIHNlY19sZW4gLyBzaXplb2YoQ2hhcl90eXBlKTsKLUBAIC00OTQsNyArNDk2LDcgQEAgT3V0cHV0X21lcmdlX3N0cmluZzxDaGFyX3R5cGU+Ojpkb19hZGRfaW5wdXRfc2VjdGlvbihSZWxvYmoqIG9iamVjdCwKLSAgIC8vIGFsaWduZWQsIHNvIGVhY2ggc3RyaW5nIHdpdGhpbiB0aGUgc2VjdGlvbiBtdXN0IHJldGFpbiB0aGUgc2FtZQotICAgLy8gbW9kdWxvLgotICAgdWludHB0cl90IGluaXRfYWxpZ25fbW9kdWxvID0gKHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihwZGF0YSkKLS0JCQkJICYgKHRoaXMtPmFkZHJhbGlnbigpIC0gMSkpOwotKwkJCQkgJiAoYWRkcmFsaWduIC0gMSkpOwotICAgYm9vbCBoYXNfbWlzYWxpZ25lZF9zdHJpbmdzID0gZmFsc2U7Ci0gCi0gICB3aGlsZSAocCA8IHBlbmQpCi1AQCAtNTAzLDcgKzUwNSw3IEBAIE91dHB1dF9tZXJnZV9zdHJpbmc8Q2hhcl90eXBlPjo6ZG9fYWRkX2lucHV0X3NlY3Rpb24oUmVsb2JqKiBvYmplY3QsCi0gCi0gICAgICAgLy8gV2l0aGluIG1lcmdlIGlucHV0IHNlY3Rpb24gZWFjaCBzdHJpbmcgbXVzdCBiZSBhbGlnbmVkLgotICAgICAgIGlmIChsZW4gIT0gMAotLQkgICYmICgocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KHApICYgKHRoaXMtPmFkZHJhbGlnbigpIC0gMSkpCi0rCSAgJiYgKChyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ocCkgJiAoYWRkcmFsaWduIC0gMSkpCi0gCSAgICAgICE9IGluaXRfYWxpZ25fbW9kdWxvKSkKLSAJICBoYXNfbWlzYWxpZ25lZF9zdHJpbmdzID0gdHJ1ZTsKLSAKLWRpZmYgLS1naXQgYS9nb2xkL29iamVjdC5jYyBiL2dvbGQvb2JqZWN0LmNjCi1pbmRleCAzNzQzNDBmYTE2Li43MTE3OTNlNWU0IDEwMDY0NAotLS0tIGEvZ29sZC9vYmplY3QuY2MKLSsrKyBiL2dvbGQvb2JqZWN0LmNjCi1AQCAtNzUxLDExICs3NTEsMTMgQEAgYnVpbGRfY29tcHJlc3NlZF9zZWN0aW9uX21hcCgKLSAJICAgICAgY29uc3QgdW5zaWduZWQgY2hhciogY29udGVudHMgPQotIAkJICBvYmotPnNlY3Rpb25fY29udGVudHMoaSwgJmxlbiwgZmFsc2UpOwotIAkgICAgICB1aW50NjRfdCB1bmNvbXByZXNzZWRfc2l6ZTsKLSsJICAgICAgQ29tcHJlc3NlZF9zZWN0aW9uX2luZm8gaW5mbzsKLSAJICAgICAgaWYgKGlzX3pjb21wcmVzc2VkKQotIAkJewotIAkJICAvLyBTa2lwIG92ZXIgdGhlICIuemRlYnVnIiBwcmVmaXguCi0gCQkgIG5hbWUgKz0gNzsKLSAJCSAgdW5jb21wcmVzc2VkX3NpemUgPSBnZXRfdW5jb21wcmVzc2VkX3NpemUoY29udGVudHMsIGxlbik7Ci0rCQkgIGluZm8uYWRkcmFsaWduID0gc2hkci5nZXRfc2hfYWRkcmFsaWduKCk7Ci0gCQl9Ci0gCSAgICAgIGVsc2UKLSAJCXsKLUBAIC03NjMsOCArNzY1LDggQEAgYnVpbGRfY29tcHJlc3NlZF9zZWN0aW9uX21hcCgKLSAJCSAgbmFtZSArPSA2OwotIAkJICBlbGZjcHA6OkNoZHI8c2l6ZSwgYmlnX2VuZGlhbj4gY2hkcihjb250ZW50cyk7Ci0gCQkgIHVuY29tcHJlc3NlZF9zaXplID0gY2hkci5nZXRfY2hfc2l6ZSgpOwotKwkJICBpbmZvLmFkZHJhbGlnbiA9IGNoZHIuZ2V0X2NoX2FkZHJhbGlnbigpOwotIAkJfQotLQkgICAgICBDb21wcmVzc2VkX3NlY3Rpb25faW5mbyBpbmZvOwotIAkgICAgICBpbmZvLnNpemUgPSBjb252ZXJ0X3RvX3NlY3Rpb25fc2l6ZV90eXBlKHVuY29tcHJlc3NlZF9zaXplKTsKLSAJICAgICAgaW5mby5mbGFnID0gc2hkci5nZXRfc2hfZmxhZ3MoKTsKLSAJICAgICAgaW5mby5jb250ZW50cyA9IE5VTEw7Ci1AQCAtMzA2MCw3ICszMDYyLDggQEAgY29uc3QgdW5zaWduZWQgY2hhcioKLSBPYmplY3Q6OmRlY29tcHJlc3NlZF9zZWN0aW9uX2NvbnRlbnRzKAotICAgICB1bnNpZ25lZCBpbnQgc2huZHgsCi0gICAgIHNlY3Rpb25fc2l6ZV90eXBlKiBwbGVuLAotLSAgICBib29sKiBpc19uZXcpCi0rICAgIGJvb2wqIGlzX25ldywKLSsgICAgdWludDY0X3QqIHBhbGlnbikKLSB7Ci0gICBzZWN0aW9uX3NpemVfdHlwZSBidWZmZXJfc2l6ZTsKLSAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGJ1ZmZlciA9IHRoaXMtPmRvX3NlY3Rpb25fY29udGVudHMoc2huZHgsICZidWZmZXJfc2l6ZSwKLUBAIC0zMDg3LDYgKzMwOTAsOCBAQCBPYmplY3Q6OmRlY29tcHJlc3NlZF9zZWN0aW9uX2NvbnRlbnRzKAotICAgICB7Ci0gICAgICAgKnBsZW4gPSB1bmNvbXByZXNzZWRfc2l6ZTsKLSAgICAgICAqaXNfbmV3ID0gZmFsc2U7Ci0rICAgICAgaWYgKHBhbGlnbiAhPSBOVUxMKQotKwkqcGFsaWduID0gcC0+c2Vjb25kLmFkZHJhbGlnbjsKLSAgICAgICByZXR1cm4gcC0+c2Vjb25kLmNvbnRlbnRzOwotICAgICB9Ci0gCi1AQCAtMzEwOCw2ICszMTEzLDggQEAgT2JqZWN0OjpkZWNvbXByZXNzZWRfc2VjdGlvbl9jb250ZW50cygKLSAgIC8vIG9uY2UgaW4gdGhpcyBwYXNzLgotICAgKnBsZW4gPSB1bmNvbXByZXNzZWRfc2l6ZTsKLSAgICppc19uZXcgPSB0cnVlOwotKyAgaWYgKHBhbGlnbiAhPSBOVUxMKQotKyAgICAqcGFsaWduID0gcC0+c2Vjb25kLmFkZHJhbGlnbjsKLSAgIHJldHVybiB1bmNvbXByZXNzZWRfZGF0YTsKLSB9Ci0gCi1kaWZmIC0tZ2l0IGEvZ29sZC9vYmplY3QuaCBiL2dvbGQvb2JqZWN0LmgKLWluZGV4IDBiNzg2YTU0NzEuLmI5OTU0ODQ2M2QgMTAwNjQ0Ci0tLS0gYS9nb2xkL29iamVjdC5oCi0rKysgYi9nb2xkL29iamVjdC5oCi1AQCAtMzczLDYgKzM3Myw3IEBAIHN0cnVjdCBDb21wcmVzc2VkX3NlY3Rpb25faW5mbwotIHsKLSAgIHNlY3Rpb25fc2l6ZV90eXBlIHNpemU7Ci0gICBlbGZjcHA6OkVsZl9Yd29yZCBmbGFnOwotKyAgdWludDY0X3QgYWRkcmFsaWduOwotICAgY29uc3QgdW5zaWduZWQgY2hhciogY29udGVudHM7Ci0gfTsKLSB0eXBlZGVmIHN0ZDo6bWFwPHVuc2lnbmVkIGludCwgQ29tcHJlc3NlZF9zZWN0aW9uX2luZm8+IENvbXByZXNzZWRfc2VjdGlvbl9tYXA7Ci1AQCAtODA4LDcgKzgwOSw4IEBAIGNsYXNzIE9iamVjdAotIAotICAgYm9vbAotICAgc2VjdGlvbl9pc19jb21wcmVzc2VkKHVuc2lnbmVkIGludCBzaG5keCwKLS0JCQlzZWN0aW9uX3NpemVfdHlwZSogdW5jb21wcmVzc2VkX3NpemUpIGNvbnN0Ci0rCQkJc2VjdGlvbl9zaXplX3R5cGUqIHVuY29tcHJlc3NlZF9zaXplLAotKwkJCWVsZmNwcDo6RWxmX1h3b3JkKiBwYWxpZ24gPSBOVUxMKSBjb25zdAotICAgewotICAgICBpZiAodGhpcy0+Y29tcHJlc3NlZF9zZWN0aW9uc18gPT0gTlVMTCkKLSAgICAgICByZXR1cm4gZmFsc2U7Ci1AQCAtODE4LDYgKzgyMCw4IEBAIGNsYXNzIE9iamVjdAotICAgICAgIHsKLSAJaWYgKHVuY29tcHJlc3NlZF9zaXplICE9IE5VTEwpCi0gCSAgKnVuY29tcHJlc3NlZF9zaXplID0gcC0+c2Vjb25kLnNpemU7Ci0rCWlmIChwYWxpZ24gIT0gTlVMTCkKLSsJICAqcGFsaWduID0gcC0+c2Vjb25kLmFkZHJhbGlnbjsKLSAJcmV0dXJuIHRydWU7Ci0gICAgICAgfQotICAgICByZXR1cm4gZmFsc2U7Ci1AQCAtODI4LDcgKzgzMiw3IEBAIGNsYXNzIE9iamVjdAotICAgLy8gYnkgdGhlIGNhbGxlci4KLSAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqCi0gICBkZWNvbXByZXNzZWRfc2VjdGlvbl9jb250ZW50cyh1bnNpZ25lZCBpbnQgc2huZHgsIHNlY3Rpb25fc2l6ZV90eXBlKiBwbGVuLAotLQkJCQlib29sKiBpc19jYWNoZWQpOwotKwkJCQlib29sKiBpc19jYWNoZWQsIHVpbnQ2NF90KiBwYWxpZ24gPSBOVUxMKTsKLSAKLSAgIC8vIERpc2NhcmQgYW55IGJ1ZmZlcnMgb2YgZGVjb21wcmVzc2VkIHNlY3Rpb25zLiAgVGhpcyBpcyBkb25lCi0gICAvLyBhdCB0aGUgZW5kIG9mIHRoZSBBZGRfc3ltYm9scyB0YXNrLgotZGlmZiAtLWdpdCBhL2dvbGQvb3V0cHV0LmNjIGIvZ29sZC9vdXRwdXQuY2MKLWluZGV4IDE3MDFkYjFjOTkuLjc1YWMzYmNmOTcgMTAwNjQ0Ci0tLS0gYS9nb2xkL291dHB1dC5jYwotKysrIGIvZ29sZC9vdXRwdXQuY2MKLUBAIC0yNDQ4LDcgKzI0NDgsMTMgQEAgT3V0cHV0X3NlY3Rpb246OmFkZF9pbnB1dF9zZWN0aW9uKExheW91dCogbGF5b3V0LAotIAkJCQkgIHVuc2lnbmVkIGludCByZWxvY19zaG5keCwKLSAJCQkJICBib29sIGhhdmVfc2VjdGlvbnNfc2NyaXB0KQotIHsKLSsgIHNlY3Rpb25fc2l6ZV90eXBlIGlucHV0X3NlY3Rpb25fc2l6ZSA9IHNoZHIuZ2V0X3NoX3NpemUoKTsKLSsgIHNlY3Rpb25fc2l6ZV90eXBlIHVuY29tcHJlc3NlZF9zaXplOwotICAgZWxmY3BwOjpFbGZfWHdvcmQgYWRkcmFsaWduID0gc2hkci5nZXRfc2hfYWRkcmFsaWduKCk7Ci0rICBpZiAob2JqZWN0LT5zZWN0aW9uX2lzX2NvbXByZXNzZWQoc2huZHgsICZ1bmNvbXByZXNzZWRfc2l6ZSwKLSsJCQkJICAgICZhZGRyYWxpZ24pKQotKyAgICBpbnB1dF9zZWN0aW9uX3NpemUgPSB1bmNvbXByZXNzZWRfc2l6ZTsKLSsKLSAgIGlmICgoYWRkcmFsaWduICYgKGFkZHJhbGlnbiAtIDEpKSAhPSAwKQotICAgICB7Ci0gICAgICAgb2JqZWN0LT5lcnJvcihfKCJpbnZhbGlkIGFsaWdubWVudCAlbHUgZm9yIHNlY3Rpb24gXCIlc1wiIiksCi1AQCAtMjQ5OCwxMSArMjUwNCw2IEBAIE91dHB1dF9zZWN0aW9uOjphZGRfaW5wdXRfc2VjdGlvbihMYXlvdXQqIGxheW91dCwKLSAJfQotICAgICB9Ci0gCi0tICBzZWN0aW9uX3NpemVfdHlwZSBpbnB1dF9zZWN0aW9uX3NpemUgPSBzaGRyLmdldF9zaF9zaXplKCk7Ci0tICBzZWN0aW9uX3NpemVfdHlwZSB1bmNvbXByZXNzZWRfc2l6ZTsKLS0gIGlmIChvYmplY3QtPnNlY3Rpb25faXNfY29tcHJlc3NlZChzaG5keCwgJnVuY29tcHJlc3NlZF9zaXplKSkKLS0gICAgaW5wdXRfc2VjdGlvbl9zaXplID0gdW5jb21wcmVzc2VkX3NpemU7Ci0tCi0gICBvZmZfdCBvZmZzZXRfaW5fc2VjdGlvbjsKLSAKLSAgIGlmICh0aGlzLT5oYXNfZml4ZWRfbGF5b3V0KCkpCi0tLSAKLTIuMjAuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy9DVkUtMjAxOC0xNzM1OC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzL0NWRS0yMDE4LTE3MzU4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNWExZWExLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzL0NWRS0yMDE4LTE3MzU4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTIxICswLDAgQEAKLUZyb20gMzA4MzgxMzI5OTdlNmEzY2ZlM2VjMTFjNThiMzJiMjJmNmY2YjEwMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFsYW4gTW9kcmEgPGFtb2RyYUBnbWFpbC5jb20+Ci1EYXRlOiBUaHUsIDIwIFNlcCAyMDE4IDE1OjI5OjE3ICswOTMwCi1TdWJqZWN0OiBbUEFUQ0hdIEJ1ZyAyMzY4NiwgdHdvIHNlZ21lbnQgZmF1bHRzIGluIG5tCi0KLUZpeGVzIHRoZSBidWdzIGV4cG9zZWQgYnkgdGhlIHRlc3RjYXNlcyBpbiB0aGUgUFIsIHBsdXMgdHdvIG1vcmUgYnVncwotSSBub3RpY2VkIHdoZW4gbG9va2luZyBhdCBfYmZkX3N0YWJfc2VjdGlvbl9maW5kX25lYXJlc3RfbGluZS4KLQotCVBSIDIzNjg2Ci0JKiBkd2FyZjIuYyAocmVhZF9zZWN0aW9uKTogRXJyb3Igd2hlbiBhdHRlbXB0aW5nIHRvIG1hbGxvYwotCSIoYmZkX3NpemVfdHlwZSkgLTEiLgotCSogc3ltcy5jIChfYmZkX3N0YWJfc2VjdGlvbl9maW5kX25lYXJlc3RfbGluZSk6IEJvdW5kcyBjaGVjawotCWZ1bmN0aW9uX25hbWUuICBCb3VuZHMgY2hlY2sgcmVsb2MgYWRkcmVzcy4gIEZvcm1hdHRpbmcuICBFbnN1cmUKLQkuc3RhYnN0ciB6ZXJvIHRlcm1pbmF0ZWQuCi1DVkU6IENWRS0yMDE4LTE3MzU4IGFuZCBDVkUtMjAxOC0xNzM1OQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogWmhpeGlvbmcgQ2hpIDx6aGl4aW9uZy5jaGlAd2luZHJpdmVyLmNvbT4KLS0tLQotIGJmZC9DaGFuZ2VMb2cgfCAgOSArKysrKysrKysKLSBiZmQvZHdhcmYyLmMgIHwgIDkgKysrKysrKystCi0gYmZkL3N5bXMuYyAgICB8IDIyICsrKysrKysrKysrKysrKystLS0tLS0KLSAzIGZpbGVzIGNoYW5nZWQsIDMzIGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCi0KLS0tLSBhL2JmZC9kd2FyZjIuYwotKysrIGIvYmZkL2R3YXJmMi5jCi1AQCAtNTI3LDYgKzUyNyw3IEBAIHJlYWRfc2VjdGlvbiAoYmZkICoJICAgICAgYWJmZCwKLSAgIGFzZWN0aW9uICptc2VjOwotICAgY29uc3QgY2hhciAqc2VjdGlvbl9uYW1lID0gc2VjLT51bmNvbXByZXNzZWRfbmFtZTsKLSAgIGJmZF9ieXRlICpjb250ZW50cyA9ICpzZWN0aW9uX2J1ZmZlcjsKLSsgIGJmZF9zaXplX3R5cGUgYW10OwotIAotICAgLyogVGhlIHNlY3Rpb24gbWF5IGhhdmUgYWxyZWFkeSBiZWVuIHJlYWQuICAqLwotICAgaWYgKGNvbnRlbnRzID09IE5VTEwpCi1AQCAtNTQ5LDcgKzU1MCwxMyBAQCByZWFkX3NlY3Rpb24gKGJmZCAqCSAgICAgIGFiZmQsCi0gICAgICAgKnNlY3Rpb25fc2l6ZSA9IG1zZWMtPnJhd3NpemUgPyBtc2VjLT5yYXdzaXplIDogbXNlYy0+c2l6ZTsKLSAgICAgICAvKiBQYXJhbm9pYSAtIGFsbG9jIG9uZSBleHRyYSBzbyB0aGF0IHdlIGNhbiBtYWtlIHN1cmUgYSBzdHJpbmcKLSAJIHNlY3Rpb24gaXMgTlVMIHRlcm1pbmF0ZWQuICAqLwotLSAgICAgIGNvbnRlbnRzID0gKGJmZF9ieXRlICopIGJmZF9tYWxsb2MgKCpzZWN0aW9uX3NpemUgKyAxKTsKLSsgICAgICBhbXQgPSAqc2VjdGlvbl9zaXplICsgMTsKLSsgICAgICBpZiAoYW10ID09IDApCi0rCXsKLSsJICBiZmRfc2V0X2Vycm9yIChiZmRfZXJyb3Jfbm9fbWVtb3J5KTsKLSsJICByZXR1cm4gRkFMU0U7Ci0rCX0KLSsgICAgICBjb250ZW50cyA9IChiZmRfYnl0ZSAqKSBiZmRfbWFsbG9jIChhbXQpOwotICAgICAgIGlmIChjb250ZW50cyA9PSBOVUxMKQotIAlyZXR1cm4gRkFMU0U7Ci0gICAgICAgaWYgKHN5bXMKLS0tLSBhL2JmZC9zeW1zLmMKLSsrKyBiL2JmZC9zeW1zLmMKLUBAIC0xMDM1LDYgKzEwMzUsMTAgQEAgX2JmZF9zdGFiX3NlY3Rpb25fZmluZF9uZWFyZXN0X2xpbmUgKGJmZAotIAkJCQkJIDAsIHN0cnNpemUpKQotIAlyZXR1cm4gRkFMU0U7Ci0gCi0rICAgICAgLyogU3RhYiBzdHJpbmdzIG91Z2h0IHRvIGJlIG51bCB0ZXJtaW5hdGVkLiAgRW5zdXJlIHRoZSBsYXN0IG9uZQotKwkgaXMsIHRvIHByZXZlbnQgcnVubmluZyBvZmYgdGhlIGVuZCBvZiB0aGUgYnVmZmVyLiAgKi8KLSsgICAgICBpbmZvLT5zdHJzW3N0cnNpemUgLSAxXSA9IDA7Ci0rCi0gICAgICAgLyogSWYgdGhpcyBpcyBhIHJlbG9jYXRhYmxlIG9iamVjdCBmaWxlLCB3ZSBoYXZlIHRvIHJlbG9jYXRlCi0gCSB0aGUgZW50cmllcyBpbiAuc3RhYi4gIFRoaXMgc2hvdWxkIGFsd2F5cyBiZSBzaW1wbGUgMzIgYml0Ci0gCSByZWxvY2F0aW9ucyBhZ2FpbnN0IHN5bWJvbHMgZGVmaW5lZCBpbiB0aGlzIG9iamVjdCBmaWxlLCBzbwotQEAgLTEwNzMsNyArMTA3Nyw4IEBAIF9iZmRfc3RhYl9zZWN0aW9uX2ZpbmRfbmVhcmVzdF9saW5lIChiZmQKLSAJCSAgfHwgci0+aG93dG8tPmJpdHNpemUgIT0gMzIKLSAJCSAgfHwgci0+aG93dG8tPnBjX3JlbGF0aXZlCi0gCQkgIHx8IHItPmhvd3RvLT5iaXRwb3MgIT0gMAotLQkJICB8fCByLT5ob3d0by0+ZHN0X21hc2sgIT0gMHhmZmZmZmZmZikKLSsJCSAgfHwgci0+aG93dG8tPmRzdF9tYXNrICE9IDB4ZmZmZmZmZmYKLSsJCSAgfHwgci0+YWRkcmVzcyAqIGJmZF9vY3RldHNfcGVyX2J5dGUgKGFiZmQpICsgNCA+IHN0YWJzaXplKQotIAkJewotIAkJICBfYmZkX2Vycm9yX2hhbmRsZXIKLSAJCSAgICAoXygidW5zdXBwb3J0ZWQgLnN0YWIgcmVsb2NhdGlvbiIpKTsKLUBAIC0xMTk1LDcgKzEyMDAsOCBAQCBfYmZkX3N0YWJfc2VjdGlvbl9maW5kX25lYXJlc3RfbGluZSAoYmZkCi0gCQl7Ci0gCQkgIG51bF9mdW4gPSBzdGFiOwotIAkJICBudWxfc3RyID0gc3RyOwotLQkJICBpZiAoZmlsZV9uYW1lID49IChjaGFyICopIGluZm8tPnN0cnMgKyBzdHJzaXplIHx8IGZpbGVfbmFtZSA8IChjaGFyICopIHN0cikKLSsJCSAgaWYgKGZpbGVfbmFtZSA+PSAoY2hhciAqKSBpbmZvLT5zdHJzICsgc3Ryc2l6ZQotKwkJICAgICAgfHwgZmlsZV9uYW1lIDwgKGNoYXIgKikgc3RyKQotIAkJICAgIGZpbGVfbmFtZSA9IE5VTEw7Ci0gCQkgIGlmIChzdGFiICsgU1RBQlNJWkUgKyBUWVBFT0ZGIDwgaW5mby0+c3RhYnMgKyBzdGFic2l6ZQotIAkJICAgICAgJiYgKihzdGFiICsgU1RBQlNJWkUgKyBUWVBFT0ZGKSA9PSAoYmZkX2J5dGUpIE5fU08pCi1AQCAtMTIwNiw3ICsxMjEyLDggQEAgX2JmZF9zdGFiX3NlY3Rpb25fZmluZF9uZWFyZXN0X2xpbmUgKGJmZAotIAkJICAgICAgZGlyZWN0b3J5X25hbWUgPSBmaWxlX25hbWU7Ci0gCQkgICAgICBmaWxlX25hbWUgPSAoKGNoYXIgKikgc3RyCi0gCQkJCSAgICsgYmZkX2dldF8zMiAoYWJmZCwgc3RhYiArIFNUUkRYT0ZGKSk7Ci0tCQkgICAgICBpZiAoZmlsZV9uYW1lID49IChjaGFyICopIGluZm8tPnN0cnMgKyBzdHJzaXplIHx8IGZpbGVfbmFtZSA8IChjaGFyICopIHN0cikKLSsJCSAgICAgIGlmIChmaWxlX25hbWUgPj0gKGNoYXIgKikgaW5mby0+c3RycyArIHN0cnNpemUKLSsJCQkgIHx8IGZpbGVfbmFtZSA8IChjaGFyICopIHN0cikKLSAJCQlmaWxlX25hbWUgPSBOVUxMOwotIAkJICAgIH0KLSAJCX0KLUBAIC0xMjE3LDcgKzEyMjQsOCBAQCBfYmZkX3N0YWJfc2VjdGlvbl9maW5kX25lYXJlc3RfbGluZSAoYmZkCi0gCSAgICAgIGZpbGVfbmFtZSA9IChjaGFyICopIHN0ciArIGJmZF9nZXRfMzIgKGFiZmQsIHN0YWIgKyBTVFJEWE9GRik7Ci0gCSAgICAgIC8qIFBSIDE3NTEyOiBmaWxlOiAwYzY4MGExZi4gICovCi0gCSAgICAgIC8qIFBSIDE3NTEyOiBmaWxlOiA1ZGE4YWVjNC4gICovCi0tCSAgICAgIGlmIChmaWxlX25hbWUgPj0gKGNoYXIgKikgaW5mby0+c3RycyArIHN0cnNpemUgfHwgZmlsZV9uYW1lIDwgKGNoYXIgKikgc3RyKQotKwkgICAgICBpZiAoZmlsZV9uYW1lID49IChjaGFyICopIGluZm8tPnN0cnMgKyBzdHJzaXplCi0rCQkgIHx8IGZpbGVfbmFtZSA8IChjaGFyICopIHN0cikKLSAJCWZpbGVfbmFtZSA9IE5VTEw7Ci0gCSAgICAgIGJyZWFrOwotIAotQEAgLTEyMjYsNyArMTIzNCw4IEBAIF9iZmRfc3RhYl9zZWN0aW9uX2ZpbmRfbmVhcmVzdF9saW5lIChiZmQKLSAJICAgICAgZnVuY3Rpb25fbmFtZSA9IChjaGFyICopIHN0ciArIGJmZF9nZXRfMzIgKGFiZmQsIHN0YWIgKyBTVFJEWE9GRik7Ci0gCSAgICAgIGlmIChmdW5jdGlvbl9uYW1lID09IChjaGFyICopIHN0cikKLSAJCWNvbnRpbnVlOwotLQkgICAgICBpZiAoZnVuY3Rpb25fbmFtZSA+PSAoY2hhciAqKSBpbmZvLT5zdHJzICsgc3Ryc2l6ZSkKLSsJICAgICAgaWYgKGZ1bmN0aW9uX25hbWUgPj0gKGNoYXIgKikgaW5mby0+c3RycyArIHN0cnNpemUKLSsJCSAgfHwgZnVuY3Rpb25fbmFtZSA8IChjaGFyICopIHN0cikKLSAJCWZ1bmN0aW9uX25hbWUgPSBOVUxMOwotIAotIAkgICAgICBudWxfZnVuID0gTlVMTDsKLUBAIC0xMzM1LDcgKzEzNDQsOCBAQCBfYmZkX3N0YWJfc2VjdGlvbl9maW5kX25lYXJlc3RfbGluZSAoYmZkCi0gCSAgaWYgKHZhbCA8PSBvZmZzZXQpCi0gCSAgICB7Ci0gCSAgICAgIGZpbGVfbmFtZSA9IChjaGFyICopIHN0ciArIGJmZF9nZXRfMzIgKGFiZmQsIHN0YWIgKyBTVFJEWE9GRik7Ci0tCSAgICAgIGlmIChmaWxlX25hbWUgPj0gKGNoYXIgKikgaW5mby0+c3RycyArIHN0cnNpemUgfHwgZmlsZV9uYW1lIDwgKGNoYXIgKikgc3RyKQotKwkgICAgICBpZiAoZmlsZV9uYW1lID49IChjaGFyICopIGluZm8tPnN0cnMgKyBzdHJzaXplCi0rCQkgIHx8IGZpbGVfbmFtZSA8IChjaGFyICopIHN0cikKLSAJCWZpbGVfbmFtZSA9IE5VTEw7Ci0gCSAgICAgICpwbGluZSA9IDA7Ci0gCSAgICB9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy9DVkUtMjAxOC0xNzM2MC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzL0NWRS0yMDE4LTE3MzYwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NWM2Mzc5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzL0NWRS0yMDE4LTE3MzYwLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotRnJvbSBjZjkzZTljMmNmOGY4YjI1NjZmOGZjODZlOTYxNTkyYjUxYjU5ODBkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxhbiBNb2RyYSA8YW1vZHJhQGdtYWlsLmNvbT4KLURhdGU6IFRodSwgMjAgU2VwIDIwMTggMTg6MjM6MTcgKzA5MzAKLVN1YmplY3Q6IFtQQVRDSF0gUFIyMzY4NSwgYnVmZmVyIG92ZXJmbG93Ci0KLQlQUiAyMzY4NQotCSogcGVYWGlnZW4uYyAocGVfcHJpbnRfZWRhdGEpOiBDb3JyZWN0IGV4cG9ydCBhZGRyZXNzIHRhYmxlCi0Jb3ZlcmZsb3cgY2hlY2tzLiAgQ2hlY2sgZGF0YW9mZiBhZ2FpbnN0IHNlY3Rpb24gc2l6ZSB0b28uCi0KLUNWRTogQ1ZFLTIwMTgtMTczNjAKLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVNpZ25lZC1vZmYtYnk6IFpoaXhpb25nIENoaSA8emhpeGlvbmcuY2hpQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBiZmQvQ2hhbmdlTG9nICB8ICA2ICsrKysrKwotIGJmZC9wZVhYaWdlbi5jIHwgMTEgKysrKysrLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCi0KLS0tLSBhL2JmZC9wZVhYaWdlbi5jCi0rKysgYi9iZmQvcGVYWGlnZW4uYwotQEAgLTE2NjEsNyArMTY2MSw4IEBAIHBlX3ByaW50X2VkYXRhIChiZmQgKiBhYmZkLCB2b2lkICogdmZpbGUKLSAKLSAgICAgICBkYXRhb2ZmID0gYWRkciAtIHNlY3Rpb24tPnZtYTsKLSAgICAgICBkYXRhc2l6ZSA9IGV4dHJhLT5EYXRhRGlyZWN0b3J5W1BFX0VYUE9SVF9UQUJMRV0uU2l6ZTsKLS0gICAgICBpZiAoZGF0YXNpemUgPiBzZWN0aW9uLT5zaXplIC0gZGF0YW9mZikKLSsgICAgICBpZiAoZGF0YW9mZiA+IHNlY3Rpb24tPnNpemUKLSsJICB8fCBkYXRhc2l6ZSA+IHNlY3Rpb24tPnNpemUgLSBkYXRhb2ZmKQotIAl7Ci0gCSAgZnByaW50ZiAoZmlsZSwKLSAJCSAgIF8oIlxuVGhlcmUgaXMgYW4gZXhwb3J0IHRhYmxlIGluICVzLCBidXQgaXQgZG9lcyBub3QgZml0IGludG8gdGhhdCBzZWN0aW9uXG4iKSwKLUBAIC0xNzc4LDExICsxNzc5LDExIEBAIHBlX3ByaW50X2VkYXRhIChiZmQgKiBhYmZkLCB2b2lkICogdmZpbGUKLSAJICBlZHQuYmFzZSk7Ci0gCi0gICAvKiBQUiAxNzUxMjogSGFuZGxlIGNvcnJ1cHQgUEUgYmluYXJpZXMuICAqLwotLSAgaWYgKGVkdC5lYXRfYWRkciArIChlZHQubnVtX2Z1bmN0aW9ucyAqIDQpIC0gYWRqID49IGRhdGFzaXplCi0rICAvKiBQUiAxNzUxMiBmaWxlOiAxNDAtMTY1MDE4LTAuMDA0LiAgKi8KLSsgIGlmIChlZHQuZWF0X2FkZHIgLSBhZGogPj0gZGF0YXNpemUKLSAgICAgICAvKiBQUiAxNzUxMjogZmlsZTogMDkyYjE4MjkgKi8KLS0gICAgICB8fCAoZWR0Lm51bV9mdW5jdGlvbnMgKiA0KSA8IGVkdC5udW1fZnVuY3Rpb25zCi0tICAgICAgLyogUFIgMTc1MTIgZmlsZTogMTQwLTE2NTAxOC0wLjAwNC4gICovCi0tICAgICAgfHwgZGF0YSArIGVkdC5lYXRfYWRkciAtIGFkaiA8IGRhdGEpCi0rICAgICAgfHwgKGVkdC5udW1fZnVuY3Rpb25zICsgMSkgKiA0IDwgZWR0Lm51bV9mdW5jdGlvbnMKLSsgICAgICB8fCBlZHQuZWF0X2FkZHIgLSBhZGogKyAoZWR0Lm51bV9mdW5jdGlvbnMgKyAxKSAqIDQgPiBkYXRhc2l6ZSkKLSAgICAgZnByaW50ZiAoZmlsZSwgXygiXHRJbnZhbGlkIEV4cG9ydCBBZGRyZXNzIFRhYmxlIHJ2YSAoMHglbHgpIG9yIGVudHJ5IGNvdW50ICgweCVseClcbiIpLAotIAkgICAgIChsb25nKSBlZHQuZWF0X2FkZHIsCi0gCSAgICAgKGxvbmcpIGVkdC5udW1fZnVuY3Rpb25zKTsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzL0NWRS0yMDE4LTE4MzA5LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvQ1ZFLTIwMTgtMTgzMDkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxMGU2YjUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvQ1ZFLTIwMTgtMTgzMDkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNTEgKzAsMCBAQAotRnJvbSAwOTMwY2IzMDIxYjgwNzhiMzRjZjIxNmU3OWViODYwOGQwMTc4NjRmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxhbiBNb2RyYSA8YW1vZHJhQGdtYWlsLmNvbT4KLURhdGU6IFNhdCwgMTMgT2N0IDIwMTggMjI6MDM6MDIgKzEwMzAKLVN1YmplY3Q6IFtQQVRDSF0gX2JmZF9jbGVhcl9jb250ZW50cyBib3VuZHMgY2hlY2tpbmcKLQotVGhpcyBQUiBzaG93cyBhIGZ1enplZCBiaW5hcnkgdHJpZ2dlcmluZyBhIHNlZ2ZhdWx0IHZpYSBhIGJhZAotcmVsb2NhdGlvbiBpbiAuZGVidWdfbGluZS4gIEl0IHR1cm5zIG91dCB0aGF0IHVubGlrZSBub3JtYWwKLXJlbG9jYXRpb25zIGFwcGxpZWQgdG8gYSBzZWN0aW9uLCB0aGUgbGlua2VyIGFwcGxpZXMgdGhvc2Ugd2l0aAotc3ltYm9scyBmcm9tIGRpc2NhcmRlZCBzZWN0aW9ucyB2aWEgX2JmZF9jbGVhcl9jb250ZW50cyB3aXRob3V0Ci1jaGVja2luZyB0aGF0IHRoZSByZWxvY2F0aW9uIGlzIHdpdGhpbiB0aGUgc2VjdGlvbiBib3VuZHMuICBUaGUgc2FtZQotdGhpbmcgbm93IGhhcHBlbnMgd2hlbiByZWFkaW5nIGRlYnVnIHNlY3Rpb25zIHNpbmNlIGNvbW1pdAotYTRjZDk0N2FjYTIzLCB0aGUgUFIyMzQyNSBmaXguCi0KLQlQUiAyMzc3MAotCVBSIDIzNDI1Ci0JKiByZWxvYy5jIChfYmZkX2NsZWFyX2NvbnRlbnRzKTogUmVwbGFjZSAibG9jYXRpb24iIHBhcmFtIHdpdGgKLQkiYnVmIiBhbmQgIm9mZiIuICBCb3VuZHMgY2hlY2sgIm9mZiIuICBSZXR1cm4gc3RhdHVzLgotCSogY29mZmxpbmsuYyAoX2JmZF9jb2ZmX2dlbmVyaWNfcmVsb2NhdGVfc2VjdGlvbik6IFVwZGF0ZQotCV9iZmRfY2xlYXJfY29udGVudHMgY2FsbC4KLQkqIGVsZi1iZmQuaCAoUkVMT0NfQUdBSU5TVF9ESVNDQVJERURfU0VDVElPTik6IExpa2V3aXNlLgotCSogZWxmMzItYXJjLmMgKGVsZl9hcmNfcmVsb2NhdGVfc2VjdGlvbik6IExpa2V3aXNlLgotCSogZWxmMzItaTM4Ni5jIChlbGZfaTM4Nl9yZWxvY2F0ZV9zZWN0aW9uKTogTGlrZXdpc2UuCi0JKiBlbGYzMi1tZXRhZy5jIChtZXRhZ19maW5hbF9saW5rX3JlbG9jYXRlKTogTGlrZXdpc2UuCi0JKiBlbGYzMi1uZHMzMi5jIChuZHMzMl9lbGZfZ2V0X3JlbG9jYXRlZF9zZWN0aW9uX2NvbnRlbnRzKTogTGlrZXdpc2UuCi0JKiBlbGYzMi1wcGMuYyAocHBjX2VsZl9yZWxvY2F0ZV9zZWN0aW9uKTogTGlrZXdpc2UuCi0JKiBlbGYzMi12aXNpdW0uYyAodmlzaXVtX2VsZl9yZWxvY2F0ZV9zZWN0aW9uKTogTGlrZXdpc2UuCi0JKiBlbGY2NC1wcGMuYyAocHBjNjRfZWxmX3JlbG9jYXRlX3NlY3Rpb24pOiBMaWtld2lzZS4KLQkqIGVsZjY0LXg4Ni02NC5jICooZWxmX3g4Nl82NF9yZWxvY2F0ZV9zZWN0aW9uKTogTGlrZXdpc2UuCi0JKiBsaWJiZmQtaW4uaCAoX2JmZF9jbGVhcl9jb250ZW50cyk6IFVwZGF0ZSBwcm90b3R5cGUuCi0JKiBsaWJiZmQuaDogUmVnZW5lcmF0ZS4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotQ1ZFOiBDVkUtMjAxOC0xODYwNQotU2lnbmVkLW9mZi1ieTogWmhpeGlvbmcgQ2hpIDx6aGl4aW9uZy5jaGlAd2luZHJpdmVyLmNvbT4KLS0tLQotIGJmZC9DaGFuZ2VMb2cgICAgICB8IDIwICsrKysrKysrKysrKysrKysrKysrCi0gYmZkL2NvZmZsaW5rLmMgICAgIHwgIDIgKy0KLSBiZmQvZWxmLWJmZC5oICAgICAgfCAgMiArLQotIGJmZC9lbGYzMi1hcmMuYyAgICB8ICAyICstCi0gYmZkL2VsZjMyLWkzODYuYyAgIHwgIDIgKy0KLSBiZmQvZWxmMzItbWV0YWcuYyAgfCAgMiArLQotIGJmZC9lbGYzMi1uZHMzMi5jICB8ICA4ICsrKystLS0tCi0gYmZkL2VsZjMyLXBwYy5jICAgIHwgIDIgKy0KLSBiZmQvZWxmMzItdmlzaXVtLmMgfCAgMiArLQotIGJmZC9lbGY2NC1wcGMuYyAgICB8ICAyICstCi0gYmZkL2VsZjY0LXg4Ni02NC5jIHwgIDIgKy0KLSBiZmQvbGliYmZkLWluLmggICAgfCAgNCArKy0tCi0gYmZkL2xpYmJmZC5oICAgICAgIHwgIDQgKystLQotIGJmZC9yZWxvYy5jICAgICAgICB8IDE5ICsrKysrKysrKysrKystLS0tLS0KLSAxNCBmaWxlcyBjaGFuZ2VkLCA1MCBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKLQotLS0tIGEvYmZkL2NvZmZsaW5rLmMKLSsrKyBiL2JmZC9jb2ZmbGluay5jCi1AQCAtMzA4MCw3ICszMDgwLDcgQEAgX2JmZF9jb2ZmX2dlbmVyaWNfcmVsb2NhdGVfc2VjdGlvbiAoYmZkCi0gICAgICAgaWYgKHNlYyAhPSBOVUxMICYmIGRpc2NhcmRlZF9zZWN0aW9uIChzZWMpKQotIAl7Ci0gCSAgX2JmZF9jbGVhcl9jb250ZW50cyAoaG93dG8sIGlucHV0X2JmZCwgaW5wdXRfc2VjdGlvbiwKLS0JCQkgICAgICAgY29udGVudHMgKyAocmVsLT5yX3ZhZGRyIC0gaW5wdXRfc2VjdGlvbi0+dm1hKSk7Ci0rCQkJICAgICAgIGNvbnRlbnRzLCByZWwtPnJfdmFkZHIgLSBpbnB1dF9zZWN0aW9uLT52bWEpOwotIAkgIGNvbnRpbnVlOwotIAl9Ci0gCi0tLS0gYS9iZmQvZWxmLWJmZC5oCi0rKysgYi9iZmQvZWxmLWJmZC5oCi1AQCAtMjgxMSw3ICsyODExLDcgQEAgZXh0ZXJuIGFzZWN0aW9uIF9iZmRfZWxmX2xhcmdlX2NvbV9zZWN0aQotICAgewkJCQkJCQkJCVwKLSAgICAgaW50IGlfOwkJCQkJCQkJXAotICAgICBfYmZkX2NsZWFyX2NvbnRlbnRzIChob3d0bywgaW5wdXRfYmZkLCBpbnB1dF9zZWN0aW9uLAkJXAotLQkJCSBjb250ZW50cyArIHJlbFtpbmRleF0ucl9vZmZzZXQpOwkJXAotKwkJCSBjb250ZW50cywgcmVsW2luZGV4XS5yX29mZnNldCk7CQlcCi0gCQkJCQkJCQkJXAotICAgICBpZiAoYmZkX2xpbmtfcmVsb2NhdGFibGUgKGluZm8pCQkJCQlcCi0gCSYmIChpbnB1dF9zZWN0aW9uLT5mbGFncyAmIFNFQ19ERUJVR0dJTkcpKQkJCVwKLS0tLSBhL2JmZC9lbGYzMi1hcmMuYwotKysrIGIvYmZkL2VsZjMyLWFyYy5jCi1AQCAtMTU1Miw3ICsxNTUyLDcgQEAgZWxmX2FyY19yZWxvY2F0ZV9zZWN0aW9uIChiZmQgKgkJCSAgb3V0cAotICAgICAgIGlmIChzZWMgIT0gTlVMTCAmJiBkaXNjYXJkZWRfc2VjdGlvbiAoc2VjKSkKLSAJewotIAkgIF9iZmRfY2xlYXJfY29udGVudHMgKGhvd3RvLCBpbnB1dF9iZmQsIGlucHV0X3NlY3Rpb24sCi0tCQkJICAgICAgIGNvbnRlbnRzICsgcmVsLT5yX29mZnNldCk7Ci0rCQkJICAgICAgIGNvbnRlbnRzLCByZWwtPnJfb2Zmc2V0KTsKLSAJICByZWwtPnJfaW5mbyA9IDA7Ci0gCSAgcmVsLT5yX2FkZGVuZCA9IDA7Ci0gCi0tLS0gYS9iZmQvZWxmMzItaTM4Ni5jCi0rKysgYi9iZmQvZWxmMzItaTM4Ni5jCi1AQCAtMjE5Nyw3ICsyMTk3LDcgQEAgZWxmX2kzODZfcmVsb2NhdGVfc2VjdGlvbiAoYmZkICpvdXRwdXRfYgotICAgICAgIGlmIChzZWMgIT0gTlVMTCAmJiBkaXNjYXJkZWRfc2VjdGlvbiAoc2VjKSkKLSAJewotIAkgIF9iZmRfY2xlYXJfY29udGVudHMgKGhvd3RvLCBpbnB1dF9iZmQsIGlucHV0X3NlY3Rpb24sCi0tCQkJICAgICAgIGNvbnRlbnRzICsgcmVsLT5yX29mZnNldCk7Ci0rCQkJICAgICAgIGNvbnRlbnRzLCByZWwtPnJfb2Zmc2V0KTsKLSAJICB3cmVsLT5yX29mZnNldCA9IHJlbC0+cl9vZmZzZXQ7Ci0gCSAgd3JlbC0+cl9pbmZvID0gMDsKLSAJICB3cmVsLT5yX2FkZGVuZCA9IDA7Ci0tLS0gYS9iZmQvZWxmMzItbWV0YWcuYwotKysrIGIvYmZkL2VsZjMyLW1ldGFnLmMKLUBAIC0xMzk2LDcgKzEzOTYsNyBAQCBtZXRhZ19maW5hbF9saW5rX3JlbG9jYXRlIChyZWxvY19ob3d0b190Ci0gCQkJCQkgICAgICByZWwsIHJlbGVuZCwgaG93dG8sIGNvbnRlbnRzKSBcCi0gICB7CQkJCQkJCQkJXAotICAgICBfYmZkX2NsZWFyX2NvbnRlbnRzIChob3d0bywgaW5wdXRfYmZkLCBpbnB1dF9zZWN0aW9uLAkJXAotLQkJCSBjb250ZW50cyArIHJlbC0+cl9vZmZzZXQpOwkJCVwKLSsJCQkgY29udGVudHMsIHJlbC0+cl9vZmZzZXQpOwkJCVwKLSAJCQkJCQkJCQlcCi0gICAgIGlmIChiZmRfbGlua19yZWxvY2F0YWJsZSAoaW5mbykJCQkJCVwKLSAJJiYgKGlucHV0X3NlY3Rpb24tPmZsYWdzICYgU0VDX0RFQlVHR0lORykpCQkJXAotLS0tIGEvYmZkL2VsZjMyLW5kczMyLmMKLSsrKyBiL2JmZC9lbGYzMi1uZHMzMi5jCi1AQCAtMTI1ODIsMTQgKzEyNTgyLDE0IEBAIG5kczMyX2VsZl9nZXRfcmVsb2NhdGVkX3NlY3Rpb25fY29udGVudHMKLSAJICBzeW1ib2wgPSAqKCpwYXJlbnQpLT5zeW1fcHRyX3B0cjsKLSAJICBpZiAoc3ltYm9sLT5zZWN0aW9uICYmIGRpc2NhcmRlZF9zZWN0aW9uIChzeW1ib2wtPnNlY3Rpb24pKQotIAkgICAgewotLQkgICAgICBiZmRfYnl0ZSAqcDsKLSsJICAgICAgYmZkX3ZtYSBvZmY7Ci0gCSAgICAgIHN0YXRpYyByZWxvY19ob3d0b190eXBlIG5vbmVfaG93dG8KLSAJCT0gSE9XVE8gKDAsIDAsIDAsIDAsIEZBTFNFLCAwLCBjb21wbGFpbl9vdmVyZmxvd19kb250LCBOVUxMLAotIAkJCSAidW51c2VkIiwgRkFMU0UsIDAsIDAsIEZBTFNFKTsKLSAKLS0JICAgICAgcCA9IGRhdGEgKyAoKnBhcmVudCktPmFkZHJlc3MgKiBiZmRfb2N0ZXRzX3Blcl9ieXRlIChpbnB1dF9iZmQpOwotLQkgICAgICBfYmZkX2NsZWFyX2NvbnRlbnRzICgoKnBhcmVudCktPmhvd3RvLCBpbnB1dF9iZmQsIGlucHV0X3NlY3Rpb24sCi0tCQkJCSAgIHApOwotKwkgICAgICBvZmYgPSAoKnBhcmVudCktPmFkZHJlc3MgKiBiZmRfb2N0ZXRzX3Blcl9ieXRlIChpbnB1dF9iZmQpOwotKwkgICAgICBfYmZkX2NsZWFyX2NvbnRlbnRzICgoKnBhcmVudCktPmhvd3RvLCBpbnB1dF9iZmQsCi0rCQkJCSAgIGlucHV0X3NlY3Rpb24sIGRhdGEsIG9mZik7Ci0gCSAgICAgICgqcGFyZW50KS0+c3ltX3B0cl9wdHIgPSBiZmRfYWJzX3NlY3Rpb25fcHRyLT5zeW1ib2xfcHRyX3B0cjsKLSAJICAgICAgKCpwYXJlbnQpLT5hZGRlbmQgPSAwOwotIAkgICAgICAoKnBhcmVudCktPmhvd3RvID0gJm5vbmVfaG93dG87Ci0tLS0gYS9iZmQvZWxmMzItcHBjLmMKLSsrKyBiL2JmZC9lbGYzMi1wcGMuYwotQEAgLTgyMzIsNyArODIzMiw3IEBAIHBwY19lbGZfcmVsb2NhdGVfc2VjdGlvbiAoYmZkICpvdXRwdXRfYmYKLSAJICAgIGhvd3RvID0gcHBjX2VsZl9ob3d0b190YWJsZVtyX3R5cGVdOwotIAotIAkgIF9iZmRfY2xlYXJfY29udGVudHMgKGhvd3RvLCBpbnB1dF9iZmQsIGlucHV0X3NlY3Rpb24sCi0tCQkJICAgICAgIGNvbnRlbnRzICsgcmVsLT5yX29mZnNldCk7Ci0rCQkJICAgICAgIGNvbnRlbnRzLCByZWwtPnJfb2Zmc2V0KTsKLSAJICB3cmVsLT5yX29mZnNldCA9IHJlbC0+cl9vZmZzZXQ7Ci0gCSAgd3JlbC0+cl9pbmZvID0gMDsKLSAJICB3cmVsLT5yX2FkZGVuZCA9IDA7Ci0tLS0gYS9iZmQvZWxmMzItdmlzaXVtLmMKLSsrKyBiL2JmZC9lbGYzMi12aXNpdW0uYwotQEAgLTYyMSw3ICs2MjEsNyBAQCB2aXNpdW1fZWxmX3JlbG9jYXRlX3NlY3Rpb24gKGJmZCAqb3V0cHV0Ci0gCSAgICAgb3Igc2VjdGlvbnMgZGlzY2FyZGVkIGJ5IGEgbGlua2VyIHNjcmlwdCwgd2UganVzdCB3YW50IHRoZQotIAkgICAgIHNlY3Rpb24gY29udGVudHMgemVyb2VkLiAgQXZvaWQgYW55IHNwZWNpYWwgcHJvY2Vzc2luZy4gICovCi0gCSAgX2JmZF9jbGVhcl9jb250ZW50cyAoaG93dG8sIGlucHV0X2JmZCwgaW5wdXRfc2VjdGlvbiwKLS0JCQkgICAgICAgY29udGVudHMgKyByZWwtPnJfb2Zmc2V0KTsKLSsJCQkgICAgICAgY29udGVudHMsIHJlbC0+cl9vZmZzZXQpOwotIAotIAkgIHJlbC0+cl9pbmZvID0gMDsKLSAJICByZWwtPnJfYWRkZW5kID0gMDsKLS0tLSBhL2JmZC9lbGY2NC1wcGMuYwotKysrIGIvYmZkL2VsZjY0LXBwYy5jCi1AQCAtMTQwNzQsNyArMTQwNzQsNyBAQCBwcGM2NF9lbGZfcmVsb2NhdGVfc2VjdGlvbiAoYmZkICpvdXRwdXRfCi0gCXsKLSAJICBfYmZkX2NsZWFyX2NvbnRlbnRzIChwcGM2NF9lbGZfaG93dG9fdGFibGVbcl90eXBlXSwKLSAJCQkgICAgICAgaW5wdXRfYmZkLCBpbnB1dF9zZWN0aW9uLAotLQkJCSAgICAgICBjb250ZW50cyArIHJlbC0+cl9vZmZzZXQpOwotKwkJCSAgICAgICBjb250ZW50cywgcmVsLT5yX29mZnNldCk7Ci0gCSAgd3JlbC0+cl9vZmZzZXQgPSByZWwtPnJfb2Zmc2V0OwotIAkgIHdyZWwtPnJfaW5mbyA9IDA7Ci0gCSAgd3JlbC0+cl9hZGRlbmQgPSAwOwotLS0tIGEvYmZkL2VsZjY0LXg4Ni02NC5jCi0rKysgYi9iZmQvZWxmNjQteDg2LTY0LmMKLUBAIC0yNDkwLDcgKzI0OTAsNyBAQCBlbGZfeDg2XzY0X3JlbG9jYXRlX3NlY3Rpb24gKGJmZCAqb3V0cHV0Ci0gICAgICAgaWYgKHNlYyAhPSBOVUxMICYmIGRpc2NhcmRlZF9zZWN0aW9uIChzZWMpKQotIAl7Ci0gCSAgX2JmZF9jbGVhcl9jb250ZW50cyAoaG93dG8sIGlucHV0X2JmZCwgaW5wdXRfc2VjdGlvbiwKLS0JCQkgICAgICAgY29udGVudHMgKyByZWwtPnJfb2Zmc2V0KTsKLSsJCQkgICAgICAgY29udGVudHMsIHJlbC0+cl9vZmZzZXQpOwotIAkgIHdyZWwtPnJfb2Zmc2V0ID0gcmVsLT5yX29mZnNldDsKLSAJICB3cmVsLT5yX2luZm8gPSAwOwotIAkgIHdyZWwtPnJfYWRkZW5kID0gMDsKLS0tLSBhL2JmZC9saWJiZmQtaW4uaAotKysrIGIvYmZkL2xpYmJmZC1pbi5oCi1AQCAtNjk2LDggKzY5Niw4IEBAIGV4dGVybiBiZmRfcmVsb2Nfc3RhdHVzX3R5cGUgX2JmZF9yZWxvY2EKLSAgIChyZWxvY19ob3d0b190eXBlICosIGJmZCAqLCBiZmRfdm1hLCBiZmRfYnl0ZSAqKSBBVFRSSUJVVEVfSElEREVOOwotIAotIC8qIENsZWFyIGEgZ2l2ZW4gbG9jYXRpb24gdXNpbmcgYSBnaXZlbiBob3d0by4gICovCi0tZXh0ZXJuIHZvaWQgX2JmZF9jbGVhcl9jb250ZW50cwotLSAgKHJlbG9jX2hvd3RvX3R5cGUgKiwgYmZkICosIGFzZWN0aW9uICosIGJmZF9ieXRlICopIEFUVFJJQlVURV9ISURERU47Ci0rZXh0ZXJuIGJmZF9yZWxvY19zdGF0dXNfdHlwZSBfYmZkX2NsZWFyX2NvbnRlbnRzCi0rICAocmVsb2NfaG93dG9fdHlwZSAqLCBiZmQgKiwgYXNlY3Rpb24gKiwgYmZkX2J5dGUgKiwgYmZkX3ZtYSkgQVRUUklCVVRFX0hJRERFTjsKLSAKLSAvKiBMaW5rIHN0YWJzIGluIHNlY3Rpb25zIGluIHRoZSBmaXJzdCBwYXNzLiAgKi8KLSAKLS0tLSBhL2JmZC9saWJiZmQuaAotKysrIGIvYmZkL2xpYmJmZC5oCi1AQCAtNzAxLDggKzcwMSw4IEBAIGV4dGVybiBiZmRfcmVsb2Nfc3RhdHVzX3R5cGUgX2JmZF9yZWxvY2EKLSAgIChyZWxvY19ob3d0b190eXBlICosIGJmZCAqLCBiZmRfdm1hLCBiZmRfYnl0ZSAqKSBBVFRSSUJVVEVfSElEREVOOwotIAotIC8qIENsZWFyIGEgZ2l2ZW4gbG9jYXRpb24gdXNpbmcgYSBnaXZlbiBob3d0by4gICovCi0tZXh0ZXJuIHZvaWQgX2JmZF9jbGVhcl9jb250ZW50cwotLSAgKHJlbG9jX2hvd3RvX3R5cGUgKiwgYmZkICosIGFzZWN0aW9uICosIGJmZF9ieXRlICopIEFUVFJJQlVURV9ISURERU47Ci0rZXh0ZXJuIGJmZF9yZWxvY19zdGF0dXNfdHlwZSBfYmZkX2NsZWFyX2NvbnRlbnRzCi0rICAocmVsb2NfaG93dG9fdHlwZSAqLCBiZmQgKiwgYXNlY3Rpb24gKiwgYmZkX2J5dGUgKiwgYmZkX3ZtYSkgQVRUUklCVVRFX0hJRERFTjsKLSAKLSAvKiBMaW5rIHN0YWJzIGluIHNlY3Rpb25zIGluIHRoZSBmaXJzdCBwYXNzLiAgKi8KLSAKLS0tLSBhL2JmZC9yZWxvYy5jCi0rKysgYi9iZmQvcmVsb2MuYwotQEAgLTE2MTMsMTYgKzE2MTMsMjIgQEAgX2JmZF9yZWxvY2F0ZV9jb250ZW50cyAocmVsb2NfaG93dG9fdHlwZQotICAgIHJlbG9jYXRpb25zIGFnYWluc3QgZGlzY2FyZGVkIHN5bWJvbHMsIHRvIG1ha2UgaWdub3JhYmxlIGRlYnVnIG9yIHVud2luZAotICAgIGluZm9ybWF0aW9uIG1vcmUgb2J2aW91cy4gICovCi0gCi0tdm9pZAotK2JmZF9yZWxvY19zdGF0dXNfdHlwZQotIF9iZmRfY2xlYXJfY29udGVudHMgKHJlbG9jX2hvd3RvX3R5cGUgKmhvd3RvLAotIAkJICAgICBiZmQgKmlucHV0X2JmZCwKLSAJCSAgICAgYXNlY3Rpb24gKmlucHV0X3NlY3Rpb24sCi0tCQkgICAgIGJmZF9ieXRlICpsb2NhdGlvbikKLSsJCSAgICAgYmZkX2J5dGUgKmJ1ZiwKLSsJCSAgICAgYmZkX3ZtYSBvZmYpCi0gewotICAgaW50IHNpemU7Ci0gICBiZmRfdm1hIHggPSAwOwotKyAgYmZkX2J5dGUgKmxvY2F0aW9uOwotKwotKyAgaWYgKCFiZmRfcmVsb2Nfb2Zmc2V0X2luX3JhbmdlIChob3d0bywgaW5wdXRfYmZkLCBpbnB1dF9zZWN0aW9uLCBvZmYpKQotKyAgICByZXR1cm4gYmZkX3JlbG9jX291dG9mcmFuZ2U7Ci0gCi0gICAvKiBHZXQgdGhlIHZhbHVlIHdlIGFyZSBnb2luZyB0byByZWxvY2F0ZS4gICovCi0rICBsb2NhdGlvbiA9IGJ1ZiArIG9mZjsKLSAgIHNpemUgPSBiZmRfZ2V0X3JlbG9jX3NpemUgKGhvd3RvKTsKLSAgIHN3aXRjaCAoc2l6ZSkKLSAgICAgewotQEAgLTE2ODEsNiArMTY4Nyw3IEBAIF9iZmRfY2xlYXJfY29udGVudHMgKHJlbG9jX2hvd3RvX3R5cGUgKmgKLSAjZW5kaWYKLSAgICAgICBicmVhazsKLSAgICAgfQotKyAgcmV0dXJuIGJmZF9yZWxvY19vazsKLSB9Ci0gCi0gLyoKLUBAIC04MjY4LDE0ICs4Mjc1LDE0IEBAIGJmZF9nZW5lcmljX2dldF9yZWxvY2F0ZWRfc2VjdGlvbl9jb250ZW4KLSAKLSAJICBpZiAoc3ltYm9sLT5zZWN0aW9uICYmIGRpc2NhcmRlZF9zZWN0aW9uIChzeW1ib2wtPnNlY3Rpb24pKQotIAkgICAgewotLQkgICAgICBiZmRfYnl0ZSAqcDsKLSsJICAgICAgYmZkX3ZtYSBvZmY7Ci0gCSAgICAgIHN0YXRpYyByZWxvY19ob3d0b190eXBlIG5vbmVfaG93dG8KLSAJCT0gSE9XVE8gKDAsIDAsIDAsIDAsIEZBTFNFLCAwLCBjb21wbGFpbl9vdmVyZmxvd19kb250LCBOVUxMLAotIAkJCSAidW51c2VkIiwgRkFMU0UsIDAsIDAsIEZBTFNFKTsKLSAKLS0JICAgICAgcCA9IGRhdGEgKyAoKnBhcmVudCktPmFkZHJlc3MgKiBiZmRfb2N0ZXRzX3Blcl9ieXRlIChpbnB1dF9iZmQpOwotLQkgICAgICBfYmZkX2NsZWFyX2NvbnRlbnRzICgoKnBhcmVudCktPmhvd3RvLCBpbnB1dF9iZmQsIGlucHV0X3NlY3Rpb24sCi0tCQkJCSAgIHApOwotKwkgICAgICBvZmYgPSAoKnBhcmVudCktPmFkZHJlc3MgKiBiZmRfb2N0ZXRzX3Blcl9ieXRlIChpbnB1dF9iZmQpOwotKwkgICAgICBfYmZkX2NsZWFyX2NvbnRlbnRzICgoKnBhcmVudCktPmhvd3RvLCBpbnB1dF9iZmQsCi0rCQkJCSAgIGlucHV0X3NlY3Rpb24sIGRhdGEsIG9mZik7Ci0gCSAgICAgICgqcGFyZW50KS0+c3ltX3B0cl9wdHIgPSBiZmRfYWJzX3NlY3Rpb25fcHRyLT5zeW1ib2xfcHRyX3B0cjsKLSAJICAgICAgKCpwYXJlbnQpLT5hZGRlbmQgPSAwOwotIAkgICAgICAoKnBhcmVudCktPmhvd3RvID0gJm5vbmVfaG93dG87CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy9DVkUtMjAxOC0xODYwNS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzL0NWRS0yMDE4LTE4NjA1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMTE3Zjk1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzL0NWRS0yMDE4LTE4NjA1LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotRnJvbSBhYjQxOWRkYmIyY2RkMTdjYTgzNjE4OTkwZjJjYWNmOTA0Y2UxZDYxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxhbiBNb2RyYSA8YW1vZHJhQGdtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMjMgT2N0IDIwMTggMTg6Mjk6MjQgKzEwMzAKLVN1YmplY3Q6IFtQQVRDSF0gUFIyMzgwNCwgYnVmZmVyIG92ZXJmbG93IGluIHNlY19tZXJnZV9oYXNoX2xvb2t1cAotCi0JUFIgMjM4MDQKLQkqIG1lcmdlLmMgKF9iZmRfYWRkX21lcmdlX3NlY3Rpb24pOiBEb24ndCBhdHRlbXB0IHRvIG1lcmdlCi0Jc2VjdGlvbnMgd2hlcmUgc2l6ZSBpcyBub3QgYSBtdWx0aXBsZSBvZiBlbnRzaXplLgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1DVkU6IENWRS0yMDE4LTE4NjA1Ci1TaWduZWQtb2ZmLWJ5OiBaaGl4aW9uZyBDaGkgPHpoaXhpb25nLmNoaUB3aW5kcml2ZXIuY29tPgotLS0tCi0gYmZkL0NoYW5nZUxvZyB8IDYgKysrKysrCi0gYmZkL21lcmdlLmMgICB8IDMgKysrCi0gMiBmaWxlcyBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKykKLQotLS0tIGEvYmZkL21lcmdlLmMKLSsrKyBiL2JmZC9tZXJnZS5jCi1AQCAtMzc2LDYgKzM3Niw5IEBAIF9iZmRfYWRkX21lcmdlX3NlY3Rpb24gKGJmZCAqYWJmZCwgdm9pZAotICAgICAgIHx8IHNlYy0+ZW50c2l6ZSA9PSAwKQotICAgICByZXR1cm4gVFJVRTsKLSAKLSsgIGlmIChzZWMtPnNpemUgJSBzZWMtPmVudHNpemUgIT0gMCkKLSsgICAgcmV0dXJuIFRSVUU7Ci0rCi0gICBpZiAoKHNlYy0+ZmxhZ3MgJiBTRUNfUkVMT0MpICE9IDApCi0gICAgIHsKLSAgICAgICAvKiBXZSBhcmVuJ3QgcHJlcGFyZWQgdG8gaGFuZGxlIHJlbG9jYXRpb25zIGluIG1lcmdlZCBzZWN0aW9ucy4gICovCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy9DVkUtMjAxOC0xODYwNi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzL0NWRS0yMDE4LTE4NjA2LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMjVjMzM5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzL0NWRS0yMDE4LTE4NjA2LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotRnJvbSA0NWEwZWFmNzcwMjI5NjNkNjM5ZDZkMTk4NzFkYmFiN2I3OTcwM2ZjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxhbiBNb2RyYSA8YW1vZHJhQGdtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMjMgT2N0IDIwMTggMTk6MDI6MDYgKzEwMzAKLVN1YmplY3Q6IFtQQVRDSF0gUFIyMzgwNiwgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIGluIG1lcmdlX3N0cmluZ3MKLQotCVBSIDIzODA2Ci0JKiBtZXJnZS5jIChfYmZkX2FkZF9tZXJnZV9zZWN0aW9uKTogRG9uJ3QgYXR0ZW1wdCB0byBtZXJnZQotCXNlY3Rpb25zIHdpdGggcmlkaWN1bG91c2x5IGxhcmdlIGFsaWdubWVudHMuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLUNWRTogQ1ZFLTIwMTgtMTg2MDYKLVNpZ25lZC1vZmYtYnk6IFpoaXhpb25nIENoaSA8emhpeGlvbmcuY2hpQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBiZmQvQ2hhbmdlTG9nIHwgIDYgKysrKysrCi0gYmZkL21lcmdlLmMgICB8IDE1ICsrKysrKysrKysrLS0tLQotIDIgZmlsZXMgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotLS0tIGEvYmZkL21lcmdlLmMKLSsrKyBiL2JmZC9tZXJnZS5jCi1AQCAtMjQsNiArMjQsNyBAQAotICAgIGFzIHVzZWQgaW4gRUxGIFNIRl9NRVJHRS4gICovCi0gCi0gI2luY2x1ZGUgInN5c2RlcC5oIgotKyNpbmNsdWRlIDxsaW1pdHMuaD4KLSAjaW5jbHVkZSAiYmZkLmgiCi0gI2luY2x1ZGUgImVsZi1iZmQuaCIKLSAjaW5jbHVkZSAibGliYmZkLmgiCi1AQCAtMzg1LDEyICszODYsMTggQEAgX2JmZF9hZGRfbWVyZ2Vfc2VjdGlvbiAoYmZkICphYmZkLCB2b2lkCi0gICAgICAgcmV0dXJuIFRSVUU7Ci0gICAgIH0KLSAKLS0gIGFsaWduID0gc2VjLT5hbGlnbm1lbnRfcG93ZXI7Ci0tICBpZiAoKHNlYy0+ZW50c2l6ZSA8ICh1bnNpZ25lZCkgMSA8PCBhbGlnbgotKyNpZm5kZWYgQ0hBUl9CSVQKLSsjZGVmaW5lIENIQVJfQklUIDgKLSsjZW5kaWYKLSsgIGlmIChzZWMtPmFsaWdubWVudF9wb3dlciA+PSBzaXplb2YgKGFsaWduKSAqIENIQVJfQklUKQotKyAgICByZXR1cm4gVFJVRTsKLSsKLSsgIGFsaWduID0gMXUgPDwgc2VjLT5hbGlnbm1lbnRfcG93ZXI7Ci0rICBpZiAoKHNlYy0+ZW50c2l6ZSA8IGFsaWduCi0gICAgICAgICYmICgoc2VjLT5lbnRzaXplICYgKHNlYy0+ZW50c2l6ZSAtIDEpKQotIAkgICB8fCAhKHNlYy0+ZmxhZ3MgJiBTRUNfU1RSSU5HUykpKQotLSAgICAgIHx8IChzZWMtPmVudHNpemUgPiAodW5zaWduZWQpIDEgPDwgYWxpZ24KLS0JICAmJiAoc2VjLT5lbnRzaXplICYgKCgodW5zaWduZWQpIDEgPDwgYWxpZ24pIC0gMSkpKSkKLSsgICAgICB8fCAoc2VjLT5lbnRzaXplID4gYWxpZ24KLSsJICAmJiAoc2VjLT5lbnRzaXplICYgKGFsaWduIC0gMSkpKSkKLSAgICAgewotICAgICAgIC8qIFNhbml0eSBjaGVjay4gIElmIHN0cmluZyBjaGFyYWN0ZXIgc2l6ZSBpcyBzbWFsbGVyIHRoYW4KLSAJIGFsaWdubWVudCwgdGhlbiB3ZSByZXF1aXJlIGNoYXJhY3RlciBzaXplIHRvIGJlIGEgcG93ZXIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzL0NWRS0yMDE4LTE4NjA3LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvQ1ZFLTIwMTgtMTg2MDcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkwMmE5MGQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvQ1ZFLTIwMTgtMTg2MDcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi1Gcm9tIDEwMmRlZjRkYTgyNmIzZDllMTY5NzQxNDIxZTVlNjdlODczMTkwOWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbGFuIE1vZHJhIDxhbW9kcmFAZ21haWwuY29tPgotRGF0ZTogVHVlLCAyMyBPY3QgMjAxOCAxODozMDoyMiArMTAzMAotU3ViamVjdDogW1BBVENIXSBQUjIzODA1LCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgaW4gZWxmX2xpbmtfaW5wdXRfYmZkCi0KLQlQUiAyMzgwNQotCSogZWxmbGluay5jIChlbGZfbGlua19pbnB1dF9iZmQpOiBEb24ndCBzZWdmYXVsdCBvbiBmaW5kaW5nCi0JU1RUX1RMUyBzeW1ib2xzIHdpdGhvdXQgYW55IFRMUyBzZWN0aW9ucy4gIEluc3RlYWQsIGNoYW5nZSB0aGUKLQlzeW1ib2wgdHlwZSB0byBTVFRfTk9UWVBFLgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1DVkU6IENWRS0yMDE4LTE4NjA2Ci1TaWduZWQtb2ZmLWJ5OiBaaGl4aW9uZyBDaGkgPHpoaXhpb25nLmNoaUB3aW5kcml2ZXIuY29tPgotLS0tCi0gYmZkL0NoYW5nZUxvZyB8ICA3ICsrKysrKysKLSBiZmQvZWxmbGluay5jIHwgMjAgKysrKysrKysrKysrKystLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCi0KLS0tLSBhL2JmZC9lbGZsaW5rLmMKLSsrKyBiL2JmZC9lbGZsaW5rLmMKLUBAIC0xMDQ5Niw4ICsxMDQ5NiwxMSBAQCBlbGZfbGlua19pbnB1dF9iZmQgKHN0cnVjdCBlbGZfZmluYWxfbGluCi0gCSAgaWYgKEVMRl9TVF9UWVBFIChvc3ltLnN0X2luZm8pID09IFNUVF9UTFMpCi0gCSAgICB7Ci0gCSAgICAgIC8qIFNUVF9UTFMgc3ltYm9scyBhcmUgcmVsYXRpdmUgdG8gUFRfVExTIHNlZ21lbnQgYmFzZS4gICovCi0tCSAgICAgIEJGRF9BU1NFUlQgKGVsZl9oYXNoX3RhYmxlIChmbGluZm8tPmluZm8pLT50bHNfc2VjICE9IE5VTEwpOwotLQkgICAgICBvc3ltLnN0X3ZhbHVlIC09IGVsZl9oYXNoX3RhYmxlIChmbGluZm8tPmluZm8pLT50bHNfc2VjLT52bWE7Ci0rCSAgICAgIGlmIChlbGZfaGFzaF90YWJsZSAoZmxpbmZvLT5pbmZvKS0+dGxzX3NlYyAhPSBOVUxMKQotKwkJb3N5bS5zdF92YWx1ZSAtPSBlbGZfaGFzaF90YWJsZSAoZmxpbmZvLT5pbmZvKS0+dGxzX3NlYy0+dm1hOwotKwkgICAgICBlbHNlCi0rCQlvc3ltLnN0X2luZm8gPSBFTEZfU1RfSU5GTyAoRUxGX1NUX0JJTkQgKG9zeW0uc3RfaW5mbyksCi0rCQkJCQkgICAgU1RUX05PVFlQRSk7Ci0gCSAgICB9Ci0gCX0KLSAKLUBAIC0xMTA1MywxMiArMTEwNTYsMTcgQEAgZWxmX2xpbmtfaW5wdXRfYmZkIChzdHJ1Y3QgZWxmX2ZpbmFsX2xpbgotIAkJCSAgICAgIHN5bS5zdF92YWx1ZSArPSBvc2VjLT52bWE7Ci0gCQkJICAgICAgaWYgKEVMRl9TVF9UWVBFIChzeW0uc3RfaW5mbykgPT0gU1RUX1RMUykKLSAJCQkJewotKwkJCQkgIHN0cnVjdCBlbGZfbGlua19oYXNoX3RhYmxlICpodGFiCi0rCQkJCSAgICA9IGVsZl9oYXNoX3RhYmxlIChmbGluZm8tPmluZm8pOwotKwotIAkJCQkgIC8qIFNUVF9UTFMgc3ltYm9scyBhcmUgcmVsYXRpdmUgdG8gUFRfVExTCi0gCQkJCSAgICAgc2VnbWVudCBiYXNlLiAgKi8KLS0JCQkJICBCRkRfQVNTRVJUIChlbGZfaGFzaF90YWJsZSAoZmxpbmZvLT5pbmZvKQotLQkJCQkJICAgICAgLT50bHNfc2VjICE9IE5VTEwpOwotLQkJCQkgIHN5bS5zdF92YWx1ZSAtPSAoZWxmX2hhc2hfdGFibGUgKGZsaW5mby0+aW5mbykKLS0JCQkJCQkgICAtPnRsc19zZWMtPnZtYSk7Ci0rCQkJCSAgaWYgKGh0YWItPnRsc19zZWMgIT0gTlVMTCkKLSsJCQkJICAgIHN5bS5zdF92YWx1ZSAtPSBodGFiLT50bHNfc2VjLT52bWE7Ci0rCQkJCSAgZWxzZQotKwkJCQkgICAgc3ltLnN0X2luZm8KLSsJCQkJICAgICAgPSBFTEZfU1RfSU5GTyAoRUxGX1NUX0JJTkQgKHN5bS5zdF9pbmZvKSwKLSsJCQkJCQkgICAgIFNUVF9OT1RZUEUpOwotIAkJCQl9Ci0gCQkJICAgIH0KLSAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzL2NsYW5nLWJmZC1maXgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy9jbGFuZy1iZmQtZml4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyOWMwZDQ4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzL2NsYW5nLWJmZC1maXgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi1GaXggY29tcGlsZXIgZXJyb3Igc2VlbiB3aXRoIGNsYW5nLCBUaGUgcmV0dXJuIHZhbHVlIG9mIHRoaXMKLWZ1bmN0aW9uIGlzIG5vdCBjaGVja2VkIGFueXdoZXJlIHNvIGluIGEgd2F5IGl0cyB1c2VsZXNzIGJ1dAotc3RpbGwgdGVjaG5pY2FsbHkgY29ycmVjdCB0byByZXR1cm4gYSB2YWx1ZSBoZXJlCi0KLUZpeGVzCi0KLS4uLy4uL2JmZC9yZWxvYy5jOjE2Mzg6NzogZXJyb3I6IG5vbi12b2lkIGZ1bmN0aW9uICdfYmZkX2NsZWFyX2NvbnRlbnRzJyBzaG91bGQgcmV0dXJuIGEgdmFsdWUgWy1XcmV0dXJuLXR5cGVdCi0gICAgICByZXR1cm47Ci0gICAgICBeCi0xIGVycm9yIGdlbmVyYXRlZC4KLQotSXQgaGFzIGJlZW4gZml4ZWQgaW4gbWFzdGVyIGFsb25nIHdpdGggYSBsYXJnZXIgY2xlYW51cCBhbmQgZml4IGZvciByZWxvY2F0aW9ucwotCi1odHRwczovL3NvdXJjZXdhcmUub3JnL2dpdC9naXR3ZWIuY2dpP3A9YmludXRpbHMtZ2RiLmdpdDthPWNvbW1pdDtoPTFkYzllMmQ2M2UzNzgzOWZmMTc2ODM0NmIyZTNmNTJlMzM4YmFiYTUKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbRml4ZXMgZGlmZmVyZW50bHldCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLS0tLSBhL2JmZC9yZWxvYy5jCi0rKysgYi9iZmQvcmVsb2MuYwotQEAgLTE2MjksNyArMTYyOSw3IEBAIF9iZmRfY2xlYXJfY29udGVudHMgKHJlbG9jX2hvd3RvX3R5cGUgKmgKLSAgICAgZGVmYXVsdDoKLSAgICAgICBhYm9ydCAoKTsKLSAgICAgY2FzZSAwOgotLSAgICAgIHJldHVybjsKLSsgICAgICByZXR1cm4gMDsKLSAgICAgY2FzZSAxOgotICAgICAgIHggPSBiZmRfZ2V0XzggKGlucHV0X2JmZCwgbG9jYXRpb24pOwotICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHNfMi4zMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzXzIuMzIuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzXzIuMzEuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzXzIuMzIuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2J0cmZzLXRvb2xzL2J0cmZzLXRvb2xzLzAwMDEtTWFrZWZpbGUtYnVpbGQtbWt0YWJsZXMtdXNpbmctbmF0aXZlLWdjYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2J0cmZzLXRvb2xzL2J0cmZzLXRvb2xzLzAwMDEtTWFrZWZpbGUtYnVpbGQtbWt0YWJsZXMtdXNpbmctbmF0aXZlLWdjYy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDY3ZGUzMi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9idHJmcy10b29scy9idHJmcy10b29scy8wMDAxLU1ha2VmaWxlLWJ1aWxkLW1rdGFibGVzLXVzaW5nLW5hdGl2ZS1nY2MucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1Gcm9tIGU1ODM2OWY2ZDM2YmM1MWViNTlkNmFmYTM0YzFjYWUzZmYwODEwZWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KLURhdGU6IE1vbiwgNyBBdWcgMjAxNyAxNDoxMDozOCArMDMwMAotU3ViamVjdDogW1BBVENIXSBNYWtlZmlsZTogYnVpbGQgbWt0YWJsZXMgdXNpbmcgbmF0aXZlIGdjYwotCi1JdCdzIGEgdGhyb3dhd2F5IGhlbHBlciBiaW5hcnkgdXNlZCBkdXJpbmcgYnVpbGQsIGFuZCBzbyBpdCBuZWVkcyB0bwotYmUgbmF0aXZlLgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW29lIHNwZWNpZmljXQotU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+Ci0tLS0KLSBNYWtlZmlsZSB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotSW5kZXg6IGdpdC9NYWtlZmlsZQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdpdC5vcmlnL01ha2VmaWxlCi0rKysgZ2l0L01ha2VmaWxlCi1AQCAtMzQzLDcgKzM0Myw3IEBAIHZlcnNpb24uaDogdmVyc2lvbi5zaCB2ZXJzaW9uLmguaW4gY29uZmkKLSAKLSBta3RhYmxlczoga2VybmVsLWxpYi9ta3RhYmxlcy5jCi0gCUBlY2hvICIgICAgW0NDXSAgICAgJEAiCi0tCSQoUSkkKENDKSAkKENGTEFHUykgJDwgLW8gJEAKLSsJJChRKSQoQlVJTERfQ0MpICQoQlVJTERfQ0ZMQUdTKSAkPCAtbyAkQAotIAotICMgdGhlIHRhcmdldCBjYW4gYmUgcmVnZW5lcmF0ZWQgbWFudWFsbHkgdXNpbmcgbWt0YWJsZXMsIGJ1dCBhIGxvY2FsIGNvcHkgaXMKLSAjIGtlcHQgc28gdGhlIGJ1aWxkIHByb2Nlc3MgaXMgc2ltcGxlcgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYnRyZnMtdG9vbHMvYnRyZnMtdG9vbHNfNC4xNy4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYnRyZnMtdG9vbHMvYnRyZnMtdG9vbHNfNC4xNy4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YjUzZmJjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2J0cmZzLXRvb2xzL2J0cmZzLXRvb2xzXzQuMTcuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLVNVTU1BUlkgPSAiQ2hlY2tzdW1taW5nIENvcHkgb24gV3JpdGUgRmlsZXN5c3RlbSB1dGlsaXRpZXMiCi1ERVNDUklQVElPTiA9ICJCdHJmcyBpcyBhIG5ldyBjb3B5IG9uIHdyaXRlIGZpbGVzeXN0ZW0gZm9yIExpbnV4IGFpbWVkIGF0IFwKLWltcGxlbWVudGluZyBhZHZhbmNlZCBmZWF0dXJlcyB3aGlsZSBmb2N1c2luZyBvbiBmYXVsdCB0b2xlcmFuY2UsIHJlcGFpciBhbmQgXAotZWFzeSBhZG1pbmlzdHJhdGlvbi4gXAotVGhpcyBwYWNrYWdlIGNvbnRhaW5zIHV0aWxpdGllcyAobWtmcywgZnNjaywgYnRyZnNjdGwpIHVzZWQgdG8gd29yayB3aXRoIFwKLWJ0cmZzIGFuZCBhbiB1dGlsaXR5IChidHJmcy1jb252ZXJ0KSB0byBtYWtlIGEgYnRyZnMgZmlsZXN5c3RlbSBmcm9tIGFuIGV4dDMuIgotCi1IT01FUEFHRSA9ICJodHRwczovL2J0cmZzLndpa2kua2VybmVsLm9yZyIKLQotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZjYjAyZGM1NTJhMDQxZGVlMjdlNGI4NWM3Mzk2MDY3IgotU0VDVElPTiA9ICJiYXNlIgotREVQRU5EUyA9ICJ1dGlsLWxpbnV4IGF0dHIgZTJmc3Byb2dzIGx6byBhY2wgcHl0aG9uMy1zZXR1cHRvb2xzLW5hdGl2ZSIKLURFUEVORFNfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgdWRldiIKLVJERVBFTkRTXyR7UE59ID0gImxpYmdjYyIKLQotU1JDUkVWID0gIjdmYWFjYTBkOWY3OGY3MTYyYWU2MDMyMzFmNjkzZGQ4ZTFhZjJhNDEiCi1TUkNfVVJJID0gImdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgva2VybmVsL2dpdC9rZGF2ZS9idHJmcy1wcm9ncy5naXQgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1NYWtlZmlsZS1idWlsZC1ta3RhYmxlcy11c2luZy1uYXRpdmUtZ2NjLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtQWRkLUxERkxBR1Mtd2hlbi1idWlsZGluZy1saWJidHJmc3V0aWwuc28ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1BZGQtYS1wb3NzaWJpbGl0eS10by1zcGVjaWZ5LXdoZXJlLXB5dGhvbi1tb2R1bGVzLWFyLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1pbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnIG1hbnBhZ2VzIGRpc3R1dGlsczMtYmFzZQotCi1DTEVBTkJST0tFTiA9ICIxIgotCi1QQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICItLWVuYWJsZS1kb2N1bWVudGF0aW9uLCAtLWRpc2FibGUtZG9jdW1lbnRhdGlvbiwgYXNjaWlkb2MtbmF0aXZlIHhtbHRvLW5hdGl2ZSIKLUVYVFJBX09FQ09ORiA9ICIgLS1kaXNhYmxlLXpzdGQiCi1FWFRSQV9PRUNPTkZfYXBwZW5kX2xpYmMtbXVzbCA9ICIgLS1kaXNhYmxlLWJhY2t0cmFjZSAiCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotCSMgVXBzdHJlYW0gZG9lc24ndCBzaGlwIHRoaXMgYW5kIGF1dG9yZWNvbmYgd29uJ3QgaW5zdGFsbCBpdCBhcyBhdXRvbWFrZSBpc24ndCB1c2VkLgotCW1rZGlyIC1wICR7U30vY29uZmlnCi0JY3AgLWYgJChhdXRvbWFrZSAtLXByaW50LWxpYmRpcikvaW5zdGFsbC1zaCAke1N9L2NvbmZpZy8KLX0KLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyAnUFlUSE9OX1NJVEVQQUNLQUdFU19ESVI9JHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0nIGluc3RhbGxfcHl0aG9uCi19Ci0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYnRyZnMtdG9vbHMvYnRyZnMtdG9vbHNfNC4yMC4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYnRyZnMtdG9vbHMvYnRyZnMtdG9vbHNfNC4yMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2NDcyMzIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9idHJmcy10b29scy9idHJmcy10b29sc180LjIwLjEuYmIKQEAgLTAsMCArMSw0NCBAQAorU1VNTUFSWSA9ICJDaGVja3N1bW1pbmcgQ29weSBvbiBXcml0ZSBGaWxlc3lzdGVtIHV0aWxpdGllcyIKK0RFU0NSSVBUSU9OID0gIkJ0cmZzIGlzIGEgbmV3IGNvcHkgb24gd3JpdGUgZmlsZXN5c3RlbSBmb3IgTGludXggYWltZWQgYXQgXAoraW1wbGVtZW50aW5nIGFkdmFuY2VkIGZlYXR1cmVzIHdoaWxlIGZvY3VzaW5nIG9uIGZhdWx0IHRvbGVyYW5jZSwgcmVwYWlyIGFuZCBcCitlYXN5IGFkbWluaXN0cmF0aW9uLiBcCitUaGlzIHBhY2thZ2UgY29udGFpbnMgdXRpbGl0aWVzIChta2ZzLCBmc2NrLCBidHJmc2N0bCkgdXNlZCB0byB3b3JrIHdpdGggXAorYnRyZnMgYW5kIGFuIHV0aWxpdHkgKGJ0cmZzLWNvbnZlcnQpIHRvIG1ha2UgYSBidHJmcyBmaWxlc3lzdGVtIGZyb20gYW4gZXh0My4iCisKK0hPTUVQQUdFID0gImh0dHBzOi8vYnRyZnMud2lraS5rZXJuZWwub3JnIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZmNiMDJkYzU1MmEwNDFkZWUyN2U0Yjg1YzczOTYwNjciCitTRUNUSU9OID0gImJhc2UiCitERVBFTkRTID0gInV0aWwtbGludXggYXR0ciBlMmZzcHJvZ3MgbHpvIGFjbCBweXRob24zLXNldHVwdG9vbHMtbmF0aXZlIgorREVQRU5EU19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiB1ZGV2IgorUkRFUEVORFNfJHtQTn0gPSAibGliZ2NjIgorCitTUkNSRVYgPSAiNmMzMzgzMmI4YzdiZjJkN2I2NGQ2YWVkMDIzYzBiZGE0M2EwMzMxMSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0L2tkYXZlL2J0cmZzLXByb2dzLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUFkZC1MREZMQUdTLXdoZW4tYnVpbGRpbmctbGliYnRyZnN1dGlsLnNvLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtQWRkLWEtcG9zc2liaWxpdHktdG8tc3BlY2lmeS13aGVyZS1weXRob24tbW9kdWxlcy1hci5wYXRjaCBcCisgICAgICAgICAgICIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZyBtYW5wYWdlcyBkaXN0dXRpbHMzLWJhc2UKKworQ0xFQU5CUk9LRU4gPSAiMSIKKworUEFDS0FHRUNPTkZJR1ttYW5wYWdlc10gPSAiLS1lbmFibGUtZG9jdW1lbnRhdGlvbiwgLS1kaXNhYmxlLWRvY3VtZW50YXRpb24sIGFzY2lpZG9jLW5hdGl2ZSB4bWx0by1uYXRpdmUiCitFWFRSQV9PRUNPTkYgPSAiIC0tZGlzYWJsZS16c3RkIgorRVhUUkFfT0VDT05GX2FwcGVuZF9saWJjLW11c2wgPSAiIC0tZGlzYWJsZS1iYWNrdHJhY2UgIgorRVhUUkFfT0VNQUtFID0gIlY9MSIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisJIyBVcHN0cmVhbSBkb2Vzbid0IHNoaXAgdGhpcyBhbmQgYXV0b3JlY29uZiB3b24ndCBpbnN0YWxsIGl0IGFzIGF1dG9tYWtlIGlzbid0IHVzZWQuCisJbWtkaXIgLXAgJHtTfS9jb25maWcKKwljcCAtZiAkKGF1dG9tYWtlIC0tcHJpbnQtbGliZGlyKS9pbnN0YWxsLXNoICR7U30vY29uZmlnLworfQorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nICdQWVRIT05fU0lURVBBQ0tBR0VTX0RJUj0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfScgaW5zdGFsbF9weXRob24KK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jY2FjaGUvY2NhY2hlLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NjYWNoZS9jY2FjaGUuaW5jCmluZGV4IDY1NjYzMjguLjdmODAwNjUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NjYWNoZS9jY2FjaGUuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NjYWNoZS9jY2FjaGUuaW5jCkBAIC05LDggKzksMTkgQEAKIAogREVQRU5EUyA9ICJ6bGliIgogCi1TUkNfVVJJID0gImh0dHBzOi8vZG93bmxvYWQuc2FtYmEub3JnL3B1Yi8ke0JQTn0vJHtCUH0udGFyLnh6IgorU1JDX1VSSSA9ICJodHRwczovL2Rvd25sb2FkLnNhbWJhLm9yZy9wdWIvJHtCUE59LyR7QlB9LnRhci5neiIKIAogaW5oZXJpdCBhdXRvdG9vbHMKIAorIyBSZW1vdmUgY2NhY2hlLW5hdGl2ZSdzIGRlcGVuZGVuY2llcywgc28gdGhhdCBpdCBjYW4gYmUgdXNlZCB3aWRlbHkgYnkKKyMgb3RoZXIgbmF0aXZlIHJlY2lwZXMuCitERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICIiCitFWFRSQV9PRUNPTkZfY2xhc3MtbmF0aXZlID0gIi0td2l0aC1idW5kbGVkLXpsaWIiCitJTkhJQklUX0FVVE9UT09MU19ERVBTX2NsYXNzLW5hdGl2ZSA9ICIxIgorUEFUQ0hUT09MID0gInBhdGNoIgorCiBCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworZG9fY29uZmlndXJlX2NsYXNzLW5hdGl2ZSgpIHsKKyAgICBvZV9ydW5jb25mCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jY2FjaGUvY2NhY2hlXzMuNC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY2NhY2hlL2NjYWNoZV8zLjQuMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzIzMDkzNC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jY2FjaGUvY2NhY2hlXzMuNC4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotcmVxdWlyZSBjY2FjaGUuaW5jCi0KLUxJQ0VOU0UgPSAiR1BMdjMrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS5hZG9jO21kNT0yNzIyYWJlYWYxNzUwZGJmMTc1Yjk0OTExMTIzNzRlMSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjllMDQ4Zjg4ZjM4OTcxMjU4NjRmOWE1ZTFhYmZiNzJkIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjE4YThiMTQzNjdkNjNkM2QzN2ZiNmMzM2NiYTYwZTFiN2ZjZDdhNjNkNjA4ZGY5N2M5NzcxYWUwZDIzNGZlZTIiCi0KLVNSQ19VUkkgKz0gIiBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMi1kZXYubWsuaW4tZml4LWZpbGUtbmFtZS10b28tbG9uZy5wYXRjaCBcCi0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jY2FjaGUvY2NhY2hlXzMuNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NjYWNoZS9jY2FjaGVfMy42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwODA3YmUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jY2FjaGUvY2NhY2hlXzMuNi5iYgpAQCAtMCwwICsxLDEyIEBACityZXF1aXJlIGNjYWNoZS5pbmMKKworTElDRU5TRSA9ICJHUEx2MysiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLmFkb2M7bWQ1PTcwNzYyNTExZjljNTA5Y2MyYTRlNGJhMmVmNjg3YWUzIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYmQ2ZmQ2OWRiMjg0MjZiYWYyMmVjMGFjZGQ1YzRiMmEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTNmMmI5MWEyMzUzYjY1YTg2M2M1OTAxMjUxZWZlNDgwNjBlY2RlYmVjNDZiNWVhZWM4ZWE4ZTA5MmI5ZTg3MSIKKworU1JDX1VSSSArPSAiIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAyLWRldi5tay5pbi1maXgtZmlsZS1uYW1lLXRvby1sb25nLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAzLUZpeC1TZWdtZW50YXRpb24tZmF1bHQtZXJyb3Itd2hlbi1nY2Mtby1kZXYtbnVsbC5wYXRjaCBcCisiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jY2FjaGUvZmlsZXMvMDAwMi1kZXYubWsuaW4tZml4LWZpbGUtbmFtZS10b28tbG9uZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NjYWNoZS9maWxlcy8wMDAyLWRldi5tay5pbi1maXgtZmlsZS1uYW1lLXRvby1sb25nLnBhdGNoCmluZGV4IDY4YzIzNzEuLjE2YTZlOWQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NjYWNoZS9maWxlcy8wMDAyLWRldi5tay5pbi1maXgtZmlsZS1uYW1lLXRvby1sb25nLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NjYWNoZS9maWxlcy8wMDAyLWRldi5tay5pbi1maXgtZmlsZS1uYW1lLXRvby1sb25nLnBhdGNoCkBAIC0xLDEzICsxLDEzIEBACiBGcm9tIDdkYWIyOTk1ZWQ4ZWVjY2Q3YjBhY2Q3OTY2OGJjMjhmM2EyNDI3ZDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KIERhdGU6IFdlZCwgMTYgU2VwIDIwMTUgMTk6NDU6NDAgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gZGV2Lm1rLmluOiBmaXggZmlsZSBuYW1lIHRvbyBsb25nCitTdWJqZWN0OiBbUEFUQ0hdIGRldi5tay5pbjogZml4IGZpbGUgbmFtZSB0b28gbG9uZyBlcnJvcgogCi1UaGUgYWxsX2NwcGZsYWdzIGNoYW5nZSBwYXRocyB0byBmaWxlbmFtZSB3aGljaCBjYXVzZSBmaWxlIG5hbWUgdG9vIGxvbmcKK1RoZSBhbGxfY3BwZmxhZ3MgY2hhbmdlcyBwYXRoIHRvIGZpbGVuYW1lIHdoaWNoIGNhdXNlcyBmaWxlIG5hbWUgdG9vIGxvbmcKIGVycm9yIHdoZW4gdGhlIHBhdGggaXMgbG9uZ2VyIHRoYW4gTkFNRV9NQVggKHVzdWFsbHkgMjU1KS4gU3RyaXAgc3JjZGlyCiB0byBmaXggdGhlIHByb2JsZW0uCiAKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXRodWIuY29tL2NjYWNoZS9jY2FjaGUvY29tbWl0LzRkODZlODg0ZDA3YmExODUzYTBjNzA1MDdjYzRkMDQxMDdmNTdjMjldCiAKIFNpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgogCkBAIC0yMiw3ICsyMiw3IEBACiBAQCAtMSw3ICsxLDcgQEAKICAjIEdOVSBtYWtlIHN5bnRheCByZWlnbnMgaW4gdGhpcyBmaWxlLgogIAotIGFsbF9jZmxhZ3MgKz0gLVdlcnJvcgorIGFsbF9jZmxhZ3MgKz0gLVdlcnJvciBAbW9yZV93YXJuaW5nc0AKIC1hbGxfY3BwZmxhZ3MgKz0gLU1EIC1NUCAtTUYgLmRlcHMvJChzdWJzdCAuLl8sLCQoc3Vic3QgLyxfLCQ8KSkuZAogK2FsbF9jcHBmbGFncyArPSAtTUQgLU1QIC1NRiAuZGVwcy8kKHN1YnN0IC4uXywsJChzdWJzdCAvLF8sJChzdWJzdCAkKHNyY2RpcikvLCwkPCkpKS5kCiAgCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jY2FjaGUvZmlsZXMvMDAwMy1GaXgtU2VnbWVudGF0aW9uLWZhdWx0LWVycm9yLXdoZW4tZ2NjLW8tZGV2LW51bGwucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jY2FjaGUvZmlsZXMvMDAwMy1GaXgtU2VnbWVudGF0aW9uLWZhdWx0LWVycm9yLXdoZW4tZ2NjLW8tZGV2LW51bGwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjMwMTJiNwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NjYWNoZS9maWxlcy8wMDAzLUZpeC1TZWdtZW50YXRpb24tZmF1bHQtZXJyb3Itd2hlbi1nY2Mtby1kZXYtbnVsbC5wYXRjaApAQCAtMCwwICsxLDc5IEBACitGcm9tIGM1MWI2Mzc1OGU5NTI0N2UzYzFlMmYwNmU1ZjViZmI0OTg0OWU2NmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgMjIgSmFuIDIwMTkgMTY6MzA6NTIgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IFNlZ21lbnRhdGlvbiBmYXVsdCBlcnJvciB3aGVuIGdjYyAtbyAvZGV2L251bGwKKworRml4ZWQ6CiskIGV4cG9ydCBDQ0FDSEVfREVCVUc9MQorJCBjY2FjaGUgZ2NjIC1jIGhlbGxvLmMgLW8gL2Rldi9udWxsCisKK1NlZ21lbnRhdGlvbiBmYXVsdCAoY29yZSBkdW1wZWQpCisKK1RoaXMgaXMgYmVjYXVzZSBmYWlsZWQgdG8gb3BlbiAvZGV2L251bGwuZm9vIChQZXJtaXNzaW9uIGRlbmllZCksIGNoZWNrIGZpbGUKK3N0cmVhbSBiZWZvcmUgd3JpdGUgdG8gaXQgY2FuIGZpeCB0aGUgcHJvYmxlbS4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXRodWIuY29tL2NjYWNoZS9jY2FjaGUvY29tbWl0LzRkODZlODg0ZDA3YmExODUzYTBjNzA1MDdjYzRkMDQxMDdmNTdjMjldCisKK1NpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2NjYWNoZS5jIHwgMTUgKysrKysrKysrKysrLS0tCisgc3JjL3V0aWwuYyAgIHwgIDggKysrKysrLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvY2NhY2hlLmMgYi9zcmMvY2NhY2hlLmMKK2luZGV4IGI0Y2RiODYuLjhjMjI3ZGYgMTAwNjQ0CistLS0gYS9zcmMvY2NhY2hlLmMKKysrKyBiL3NyYy9jY2FjaGUuYworQEAgLTUyMSw5ICs1MjEsMTMgQEAgaW5pdF9oYXNoX2RlYnVnKHN0cnVjdCBoYXNoICpoYXNoLCBjb25zdCBjaGFyICpvYmpfcGF0aCwgY2hhciB0eXBlLAorIAorIAljaGFyICpwYXRoID0gZm9ybWF0KCIlcy5jY2FjaGUtaW5wdXQtJWMiLCBvYmpfcGF0aCwgdHlwZSk7CisgCUZJTEUgKmRlYnVnX2JpbmFyeV9maWxlID0gZm9wZW4ocGF0aCwgIndiIik7CistCWhhc2hfZW5hYmxlX2RlYnVnKGhhc2gsIHNlY3Rpb25fbmFtZSwgZGVidWdfYmluYXJ5X2ZpbGUsIGRlYnVnX3RleHRfZmlsZSk7CisrCWlmIChkZWJ1Z19iaW5hcnlfZmlsZSkgeworKwkJaGFzaF9lbmFibGVfZGVidWcoaGFzaCwgc2VjdGlvbl9uYW1lLCBkZWJ1Z19iaW5hcnlfZmlsZSwgZGVidWdfdGV4dF9maWxlKTsKKysJCWV4aXRmbl9hZGQoZmNsb3NlX2V4aXRmbiwgZGVidWdfYmluYXJ5X2ZpbGUpOworKwl9IGVsc2UgeworKwkJY2NfbG9nKCJGYWlsZWQgdG8gb3BlbiAlczogJXMiLCBwYXRoLCBzdHJlcnJvcihlcnJubykpOworKwl9CisgCWZyZWUocGF0aCk7CistCWV4aXRmbl9hZGQoZmNsb3NlX2V4aXRmbiwgZGVidWdfYmluYXJ5X2ZpbGUpOworIH0KKyAKKyBzdGF0aWMgZW51bSBndWVzc2VkX2NvbXBpbGVyCitAQCAtMzY3MCw4ICszNjc0LDEzIEBAIGNjYWNoZShpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAlpZiAoY29uZi0+ZGVidWcpIHsKKyAJCWNoYXIgKnBhdGggPSBmb3JtYXQoIiVzLmNjYWNoZS1pbnB1dC10ZXh0Iiwgb3V0cHV0X29iaik7CisgCQlkZWJ1Z190ZXh0X2ZpbGUgPSBmb3BlbihwYXRoLCAidyIpOworKwkJaWYgKGRlYnVnX3RleHRfZmlsZSkgeworKwkJCWV4aXRmbl9hZGQoZmNsb3NlX2V4aXRmbiwgZGVidWdfdGV4dF9maWxlKTsKKysJCX0KKysJCWVsc2UgeworKwkJCWNjX2xvZygiRmFpbGVkIHRvIG9wZW4gJXM6ICVzIiwgcGF0aCwgc3RyZXJyb3IoZXJybm8pKTsKKysJCX0KKyAJCWZyZWUocGF0aCk7CistCQlleGl0Zm5fYWRkKGZjbG9zZV9leGl0Zm4sIGRlYnVnX3RleHRfZmlsZSk7CisgCX0KKyAKKyAJc3RydWN0IGhhc2ggKmNvbW1vbl9oYXNoID0gaGFzaF9pbml0KCk7CitkaWZmIC0tZ2l0IGEvc3JjL3V0aWwuYyBiL3NyYy91dGlsLmMKK2luZGV4IGU0NDJjYzQuLmE0OWZiNGMgMTAwNjQ0CistLS0gYS9zcmMvdXRpbC5jCisrKysgYi9zcmMvdXRpbC5jCitAQCAtMjE5LDggKzIxOSwxMiBAQCB2b2lkCisgY2NfZHVtcF9sb2dfYnVmZmVyKGNvbnN0IGNoYXIgKnBhdGgpCisgeworIAlGSUxFICpmaWxlID0gZm9wZW4ocGF0aCwgInciKTsKKy0JKHZvaWQpIGZ3cml0ZShsb2didWZmZXIsIDEsIGxvZ3NpemUsIGZpbGUpOworLQlmY2xvc2UoZmlsZSk7CisrCWlmIChmaWxlKSB7CisrCQkodm9pZCkgZndyaXRlKGxvZ2J1ZmZlciwgMSwgbG9nc2l6ZSwgZmlsZSk7CisrCQlmY2xvc2UoZmlsZSk7CisrCX0gZWxzZSB7CisrCQljY19sb2coIkZhaWxlZCB0byBvcGVuICVzOiAlcyIsIHBhdGgsIHN0cmVycm9yKGVycm5vKSk7CisrCX0KKyB9CisgCisgLy8gU29tZXRoaW5nIHdlbnQgYmFkbHkgd3JvbmchCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlLW5hdGl2ZV8zLjEyLjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS1uYXRpdmVfMy4xMi4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YTEzOTBmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlLW5hdGl2ZV8zLjEyLjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi1yZXF1aXJlIGNtYWtlLmluYwotaW5oZXJpdCBuYXRpdmUKLQotREVQRU5EUyArPSAiYnppcDItcmVwbGFjZW1lbnQtbmF0aXZlIGV4cGF0LW5hdGl2ZSB4ei1uYXRpdmUgemxpYi1uYXRpdmUgY3VybC1uYXRpdmUiCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly9PRVRvb2xjaGFpbkNvbmZpZy5jbWFrZSBcCi0gICAgICAgICAgICBmaWxlOi8vZW52aXJvbm1lbnQuZC1jbWFrZS5zaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1DTWFrZURldGVybWluZVN5c3RlbS11c2Utb2UtZW52aXJvbm1lbnQtdmFycy10by1sb2FkLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDA1LURpc2FibGUtdXNlLW9mLWV4dDJmcy1leHQyX2ZzLmgtYnktY21ha2Utcy1pbnRlcm5hbC0ucGF0Y2ggXAotICAgICAgICAgICAgIgotCi0KLUIgPSAiJHtXT1JLRElSfS9idWlsZCIKLWRvX2NvbmZpZ3VyZVtjbGVhbmRpcnNdID0gIiR7Qn0iCi0KLSMgRGlzYWJsZSBjY21ha2Ugc2luY2Ugd2UgZG9uJ3QgZGVwZW5kIG9uIG5jdXJzZXMKLUNNQUtFX0VYVFJBQ09ORiA9ICJcCi0gICAgLURDTUFLRV9MSUJSQVJZX1BBVEg9JHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9IFwKLSAgICAtREJVSUxEX0N1cnNlc0RpYWxvZz0wIFwKLSAgICAtRENNQUtFX1VTRV9TWVNURU1fTElCUkFSSUVTPTEgXAotICAgIC1EQ01BS0VfVVNFX1NZU1RFTV9MSUJSQVJZX0pTT05DUFA9MCBcCi0gICAgLURDTUFLRV9VU0VfU1lTVEVNX0xJQlJBUllfTElCQVJDSElWRT0wIFwKLSAgICAtRENNQUtFX1VTRV9TWVNURU1fTElCUkFSWV9MSUJVVj0wIFwKLSAgICAtRENNQUtFX1VTRV9TWVNURU1fTElCUkFSWV9MSUJSSEFTSD0wIFwKLSAgICAtREVOQUJMRV9BQ0w9MCAtREhBVkVfQUNMX0xJQkFDTF9IPTAgXAotICAgIC1ESEFWRV9TWVNfQUNMX0g9MCBcCi0iCi0KLWRvX2NvbmZpZ3VyZSAoKSB7Ci0JJHtTfS9jb25maWd1cmUgLS12ZXJib3NlIC0tcHJlZml4PSR7cHJlZml4fSAtLSAke0NNQUtFX0VYVFJBQ09ORn0KLX0KLQotZG9fY29tcGlsZSgpIHsKLQlvZV9ydW5tYWtlCi19Ci0KLWRvX2luc3RhbGwoKSB7Ci0Jb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsCi0KLQkjIFRoZSBmb2xsb3dpbmcgY29kZXMgYXJlIGhlcmUgYmVjYXVzZSBlU0RLIG5lZWRzIHRvIHByb3ZpZGUgY29tcGF0aWJpbHR5Ci0JIyBmb3IgU0RLLiBUaGF0IGlzLCBlU0RLIGNvdWxkIGFsc28gYmUgdXNlZCBsaWtlIHRyYWRpdGlvbmFsIFNESy4KLQlta2RpciAtcCAke0R9JHtkYXRhZGlyfS9jbWFrZQotCWluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vT0VUb29sY2hhaW5Db25maWcuY21ha2UgJHtEfSR7ZGF0YWRpcn0vY21ha2UvCi0JbWtkaXIgLXAgJHtEfSR7YmFzZV9wcmVmaXh9L2Vudmlyb25tZW50LXNldHVwLmQKLQlpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L2Vudmlyb25tZW50LmQtY21ha2Uuc2ggJHtEfSR7YmFzZV9wcmVmaXh9L2Vudmlyb25tZW50LXNldHVwLmQvY21ha2Uuc2gKLX0KLQotZG9fY29tcGlsZVtwcm9ncmVzc10gPSAicGVyY2VudCIKLQotU1lTUk9PVF9ESVJTX05BVElWRSArPSAiJHtkYXRhZGlyfS9jbWFrZSAke2Jhc2VfcHJlZml4fS9lbnZpcm9ubWVudC1zZXR1cC5kIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UtbmF0aXZlXzMuMTQuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlLW5hdGl2ZV8zLjE0LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmVkY2YzZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlLW5hdGl2ZV8zLjE0LjEuYmIKQEAgLTAsMCArMSw1MyBAQAorcmVxdWlyZSBjbWFrZS5pbmMKK2luaGVyaXQgbmF0aXZlCisKK0RFUEVORFMgKz0gImJ6aXAyLXJlcGxhY2VtZW50LW5hdGl2ZSBleHBhdC1uYXRpdmUgeHotbmF0aXZlIHpsaWItbmF0aXZlIGN1cmwtbmF0aXZlIgorCitTUkNfVVJJICs9ICJmaWxlOi8vT0VUb29sY2hhaW5Db25maWcuY21ha2UgXAorICAgICAgICAgICAgZmlsZTovL2Vudmlyb25tZW50LmQtY21ha2Uuc2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtQ01ha2VEZXRlcm1pbmVTeXN0ZW0tdXNlLW9lLWVudmlyb25tZW50LXZhcnMtdG8tbG9hZC5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwNS1EaXNhYmxlLXVzZS1vZi1leHQyZnMtZXh0Ml9mcy5oLWJ5LWNtYWtlLXMtaW50ZXJuYWwtLnBhdGNoIFwKKyAgICAgICAgICAgICIKKworCitCID0gIiR7V09SS0RJUn0vYnVpbGQiCitkb19jb25maWd1cmVbY2xlYW5kaXJzXSA9ICIke0J9IgorCisjIERpc2FibGUgY2NtYWtlIHNpbmNlIHdlIGRvbid0IGRlcGVuZCBvbiBuY3Vyc2VzCitDTUFLRV9FWFRSQUNPTkYgPSAiXAorICAgIC1EQ01BS0VfTElCUkFSWV9QQVRIPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfSBcCisgICAgLURCVUlMRF9DdXJzZXNEaWFsb2c9MCBcCisgICAgLURDTUFLRV9VU0VfU1lTVEVNX0xJQlJBUklFUz0xIFwKKyAgICAtRENNQUtFX1VTRV9TWVNURU1fTElCUkFSWV9KU09OQ1BQPTAgXAorICAgIC1EQ01BS0VfVVNFX1NZU1RFTV9MSUJSQVJZX0xJQkFSQ0hJVkU9MCBcCisgICAgLURDTUFLRV9VU0VfU1lTVEVNX0xJQlJBUllfTElCVVY9MCBcCisgICAgLURDTUFLRV9VU0VfU1lTVEVNX0xJQlJBUllfTElCUkhBU0g9MCBcCisgICAgLURFTkFCTEVfQUNMPTAgLURIQVZFX0FDTF9MSUJBQ0xfSD0wIFwKKyAgICAtREhBVkVfU1lTX0FDTF9IPTAgXAorIgorCitkb19jb25maWd1cmUgKCkgeworCSR7U30vY29uZmlndXJlIC0tdmVyYm9zZSAtLXByZWZpeD0ke3ByZWZpeH0gXAorCQkke0BvZS51dGlscy5wYXJhbGxlbF9tYWtlX2FyZ3VtZW50KGQsICctLXBhcmFsbGVsPSVkJyl9IFwKKwkJJHtAYmIudXRpbHMuY29udGFpbnMoJ0NDQUNIRScsICdjY2FjaGUgJywgJy0tZW5hYmxlLWNjYWNoZScsICcnLCBkKX0gXAorCQktLSAke0NNQUtFX0VYVFJBQ09ORn0KK30KKworZG9fY29tcGlsZSgpIHsKKwlvZV9ydW5tYWtlCit9CisKK2RvX2luc3RhbGwoKSB7CisJb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsCisKKwkjIFRoZSBmb2xsb3dpbmcgY29kZXMgYXJlIGhlcmUgYmVjYXVzZSBlU0RLIG5lZWRzIHRvIHByb3ZpZGUgY29tcGF0aWJpbHR5CisJIyBmb3IgU0RLLiBUaGF0IGlzLCBlU0RLIGNvdWxkIGFsc28gYmUgdXNlZCBsaWtlIHRyYWRpdGlvbmFsIFNESy4KKwlta2RpciAtcCAke0R9JHtkYXRhZGlyfS9jbWFrZQorCWluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vT0VUb29sY2hhaW5Db25maWcuY21ha2UgJHtEfSR7ZGF0YWRpcn0vY21ha2UvCisJbWtkaXIgLXAgJHtEfSR7YmFzZV9wcmVmaXh9L2Vudmlyb25tZW50LXNldHVwLmQKKwlpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L2Vudmlyb25tZW50LmQtY21ha2Uuc2ggJHtEfSR7YmFzZV9wcmVmaXh9L2Vudmlyb25tZW50LXNldHVwLmQvY21ha2Uuc2gKK30KKworZG9fY29tcGlsZVtwcm9ncmVzc10gPSAicGVyY2VudCIKKworU1lTUk9PVF9ESVJTX05BVElWRSArPSAiJHtkYXRhZGlyfS9jbWFrZSAke2Jhc2VfcHJlZml4fS9lbnZpcm9ubWVudC1zZXR1cC5kIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UuaW5jCmluZGV4IDA5ZTI4YjcuLjViMGJjZTYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS5pbmMKQEAgLTYsNyArNiw3IEBACiBCVUdUUkFDS0VSID0gImh0dHA6Ly9wdWJsaWMua2l0d2FyZS5jb20vQnVnL215X3ZpZXdfcGFnZS5waHAiCiBTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCiBMSUNFTlNFID0gIkJTRCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NvcHlyaWdodC50eHQ7bWQ1PWY2MWY1Zjg1OWJjNWRkYmEyYjA1MGViMTAzMzVlMDEzIFwKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NvcHlyaWdodC50eHQ7bWQ1PTYyMjc0NzE0N2I0NmYyMmUxOTUzODc2YTdjYmEzMzIzIFwKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL1NvdXJjZS9jbWFrZS5oO21kNT00NDk0ZGVlMTg0MjEyZmM4OWM0NjljM2FjZDU1NWExNDtiZWdpbmxpbmU9MTtlbmRsaW5lPTMgXAogICAgICAgICAgICAgICAgICAgICAiCiAKQEAgLTE4LDcgKzE4LDcgQEAKICAgICAgICAgICAgZmlsZTovLzAwMDQtRmFpbC1zaWxlbnRseS1pZi1zeXN0ZW0tUXQtaW5zdGFsbGF0aW9uLWlzLWJyb2tlbi5wYXRjaCBcCiAiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICI2ZTdjNTUwY2ZhMWMyZTIxNmIzNTkwM2RjNzBkODBhZiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIwZjk3NDg1Nzk5ZTUxYTcwNzBjYzExNDk0ZjNlMDIzNDliMGZjM2EyNGNjMTJiMDgyZTczN2JmNjdhMDU4MWE0IgorU1JDX1VSSVttZDVzdW1dID0gIjdlZmU1Mzk0ZTg1YzMyOTJhZDAyMGI4YjcwZTU1NjY5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjczMjFiZTY0MDQwNjMzOGZjMTI1OTA2MDljNDJiMGZhZTdlYTEyOTgwODU1YzFiZTM2M2QyNWRjZDc2YmIyNWYiCiAKIFVQU1RSRUFNX0NIRUNLX1JFR0VYID0gImNtYWtlLSg/UDxwdmVyPlxkKyhcLlxkKykrKVwudGFyIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UvMDAwMS1DTWFrZURldGVybWluZVN5c3RlbS11c2Utb2UtZW52aXJvbm1lbnQtdmFycy10by1sb2FkLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UvMDAwMS1DTWFrZURldGVybWluZVN5c3RlbS11c2Utb2UtZW52aXJvbm1lbnQtdmFycy10by1sb2FkLnBhdGNoCmluZGV4IGY2OTA3MjAuLmNkZWVhNjQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlLzAwMDEtQ01ha2VEZXRlcm1pbmVTeXN0ZW0tdXNlLW9lLWVudmlyb25tZW50LXZhcnMtdG8tbG9hZC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS8wMDAxLUNNYWtlRGV0ZXJtaW5lU3lzdGVtLXVzZS1vZS1lbnZpcm9ubWVudC12YXJzLXRvLWxvYWQucGF0Y2gKQEAgLTI4LDcgKzI4LDcgQEAKIGluZGV4IDYwMGQ1NTgwZS4uMzJkN2YxOTQ1IDEwMDY0NAogLS0tIGEvTW9kdWxlcy9DTWFrZURldGVybWluZVN5c3RlbS5jbWFrZQogKysrIGIvTW9kdWxlcy9DTWFrZURldGVybWluZVN5c3RlbS5jbWFrZQotQEAgLTgyLDYgKzgyLDEzIEBAIGVsc2UoKQorQEAgLTgxLDYgKzgxLDEzIEBAIGVsc2UoKQogICAgZW5kaWYoKQogIGVuZGlmKCkKICAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlLzAwMDItY21ha2UtUHJldmVudC10aGUtZGV0ZWN0aW9uLW9mLVF0NS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlLzAwMDItY21ha2UtUHJldmVudC10aGUtZGV0ZWN0aW9uLW9mLVF0NS5wYXRjaAppbmRleCA2Zjc4OGFkLi44ZDJkYzEwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS8wMDAyLWNtYWtlLVByZXZlbnQtdGhlLWRldGVjdGlvbi1vZi1RdDUucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UvMDAwMi1jbWFrZS1QcmV2ZW50LXRoZS1kZXRlY3Rpb24tb2YtUXQ1LnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA3YTFmNGU3MjRmOWM2ODQ5OGY0MDEyNDRjMjkzOGU3ODRhMmU2ZmJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBiNGI2ZTliMWJlMzMyMTNlZGUzZjYxMmU4Nzg0MGMwMDQ1ODI0ZDllIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KIERhdGU6IFdlZCwgMTcgSmFuIDIwMTggMTA6MDI6MTQgLTAyMDAKIFN1YmplY3Q6IFtQQVRDSCAyLzVdIGNtYWtlOiBQcmV2ZW50IHRoZSBkZXRlY3Rpb24gb2YgUXQ1CkBAIC0xNiwxNCArMTYsMTQgQEAKICBTb3VyY2UvUXREaWFsb2cvQ01ha2VMaXN0cy50eHQgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KICBUZXN0cy9DTWFrZUxpc3RzLnR4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KICBUZXN0cy9RdDRBbmQ1QXV0b21vYy9DTWFrZUxpc3RzLnR4dCAgICAgICAgICAgICAgICB8IDQgKystLQotIFRlc3RzL1F0QXV0b2dlbi9BdXRvZ2VuVGVzdC5jbWFrZSAgICAgICAgICAgICAgICAgIHwgMiArLQorIFRlc3RzL1F0QXV0b2dlbi9BdXRvZ2VuR3VpVGVzdC5jbWFrZSAgICAgICAgICAgICAgIHwgMyArLS0KICBUZXN0cy9RdEF1dG9nZW4vTWFjT3NGVy9DTWFrZUxpc3RzLnR4dCAgICAgICAgICAgICB8IDIgKy0KICBUZXN0cy9SdW5DTWFrZS9DTWFrZUxpc3RzLnR4dCAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KICBUZXN0cy9SdW5DTWFrZS9JbmNvbXBhdGlibGVRdC9JbmNvbXBhdGlibGVRdC5jbWFrZSB8IDIgKy0KLSA3IGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKKyA3IGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL1NvdXJjZS9RdERpYWxvZy9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9RdERpYWxvZy9DTWFrZUxpc3RzLnR4dAotaW5kZXggMzMwYjc0NzI5Li5lNzcwOWRlZTYgMTAwNjQ0CitpbmRleCA5Y2UwMzIzODQ0Li4wNmM4NmQ2M2ViIDEwMDY0NAogLS0tIGEvU291cmNlL1F0RGlhbG9nL0NNYWtlTGlzdHMudHh0CiArKysgYi9Tb3VyY2UvUXREaWFsb2cvQ01ha2VMaXN0cy50eHQKIEBAIC02LDcgKzYsNyBAQCBpZihQT0xJQ1kgQ01QMDAyMCkKQEAgLTM2LDEwICszNiwxMCBAQAogICAgaW5jbHVkZV9kaXJlY3Rvcmllcygke1F0NVdpZGdldHNfSU5DTFVERV9ESVJTfSkKICAgIGFkZF9kZWZpbml0aW9ucygke1F0NVdpZGdldHNfREVGSU5JVE9OU30pCiBkaWZmIC0tZ2l0IGEvVGVzdHMvQ01ha2VMaXN0cy50eHQgYi9UZXN0cy9DTWFrZUxpc3RzLnR4dAotaW5kZXggYjhiNzI0ZWQ4Li42M2Y2YmI2ZDIgMTAwNjQ0CitpbmRleCBlZDk4ZDk3NGIwLi43YWRmYmMzMDFiIDEwMDY0NAogLS0tIGEvVGVzdHMvQ01ha2VMaXN0cy50eHQKICsrKyBiL1Rlc3RzL0NNYWtlTGlzdHMudHh0Ci1AQCAtMTMyMiw3ICsxMzIyLDcgQEAgJHtDTWFrZV9CSU5BUllfRElSfS9iaW4vY21ha2UgLURESVI9ZGV2IC1QICR7Q01ha2VfU09VUkNFX0RJUn0vVXRpbGl0aWVzL1JlbGVhc2UKK0BAIC0xMzQyLDcgKzEzNDIsNyBAQCAke0NNYWtlX0JJTkFSWV9ESVJ9L2Jpbi9jbWFrZSAtRERJUj1kZXYgLVAgJHtDTWFrZV9TT1VSQ0VfRElSfS9VdGlsaXRpZXMvUmVsZWFzZQogICAgICBzZXQoQ01ha2VfVEVTVF9RdDUgMSkKICAgIGVuZGlmKCkKICAgIGlmKENNYWtlX1RFU1RfUXQ1KQpAQCAtNDksNyArNDksNyBAQAogICAgaWYoQ01ha2VfVEVTVF9RdDUgQU5EIFF0NVdpZGdldHNfRk9VTkQpCiAgICAgIGFkZF9zdWJkaXJlY3RvcnkoUXQ1QXV0b2dlbikKIGRpZmYgLS1naXQgYS9UZXN0cy9RdDRBbmQ1QXV0b21vYy9DTWFrZUxpc3RzLnR4dCBiL1Rlc3RzL1F0NEFuZDVBdXRvbW9jL0NNYWtlTGlzdHMudHh0Ci1pbmRleCBhZDc0OTYxZDkuLmE5ZGQ3NGIxNSAxMDA2NDQKK2luZGV4IGFkNzQ5NjFkOWYuLmE5ZGQ3NGIxNTEgMTAwNjQ0CiAtLS0gYS9UZXN0cy9RdDRBbmQ1QXV0b21vYy9DTWFrZUxpc3RzLnR4dAogKysrIGIvVGVzdHMvUXQ0QW5kNUF1dG9tb2MvQ01ha2VMaXN0cy50eHQKIEBAIC0zLDExICszLDExIEBAIGNtYWtlX21pbmltdW1fcmVxdWlyZWQoVkVSU0lPTiAyLjguMTIpCkBAIC02NiwyNiArNjYsMjcgQEAKICBlbmRpZigpCiAgCiAgc2V0KENNQUtFX0FVVE9NT0MgT04pCi1kaWZmIC0tZ2l0IGEvVGVzdHMvUXRBdXRvZ2VuL0F1dG9nZW5UZXN0LmNtYWtlIGIvVGVzdHMvUXRBdXRvZ2VuL0F1dG9nZW5UZXN0LmNtYWtlCi1pbmRleCA4YzBhMTRmY2EuLmU5OTIzYjIxYSAxMDA2NDQKLS0tLSBhL1Rlc3RzL1F0QXV0b2dlbi9BdXRvZ2VuVGVzdC5jbWFrZQotKysrIGIvVGVzdHMvUXRBdXRvZ2VuL0F1dG9nZW5UZXN0LmNtYWtlCi1AQCAtMjIsNyArMjIsNyBAQCBpZiAoUVRfVEVTVF9WRVJTSU9OIFNUUkVRVUFMIDQpCitkaWZmIC0tZ2l0IGEvVGVzdHMvUXRBdXRvZ2VuL0F1dG9nZW5HdWlUZXN0LmNtYWtlIGIvVGVzdHMvUXRBdXRvZ2VuL0F1dG9nZW5HdWlUZXN0LmNtYWtlCitpbmRleCBiNzZkMzQxYTQ1Li5hNmUwYWNiYWZhIDEwMDY0NAorLS0tIGEvVGVzdHMvUXRBdXRvZ2VuL0F1dG9nZW5HdWlUZXN0LmNtYWtlCisrKysgYi9UZXN0cy9RdEF1dG9nZW4vQXV0b2dlbkd1aVRlc3QuY21ha2UKK0BAIC0yMiw4ICsyMiw3IEBAIGlmIChRVF9URVNUX1ZFUlNJT04gRVFVQUwgNCkKICAgIGVuZG1hY3JvKCkKICAKLSBlbHNlaWYoUVRfVEVTVF9WRVJTSU9OIFNUUkVRVUFMIDUpCisgZWxzZWlmKFFUX1RFU1RfVkVSU0lPTiBFUVVBTCA1KQorLQogLSAgZmluZF9wYWNrYWdlKFF0NVdpZGdldHMgUkVRVUlSRUQpCiArICAjZmluZF9wYWNrYWdlKFF0NVdpZGdldHMgUkVRVUlSRUQpCiAgCiAgICBzZXQoUVRfUVRDT1JFX1RBUkdFVCBRdDU6OkNvcmUpCi0gICBzZXQoUVRfUVRHVUlfVEFSR0VUIFF0NTo6V2lkZ2V0cykKKyAgIHNldChRVF9MSUJSQVJJRVMgUXQ1OjpXaWRnZXRzKQogZGlmZiAtLWdpdCBhL1Rlc3RzL1F0QXV0b2dlbi9NYWNPc0ZXL0NNYWtlTGlzdHMudHh0IGIvVGVzdHMvUXRBdXRvZ2VuL01hY09zRlcvQ01ha2VMaXN0cy50eHQKLWluZGV4IDI2ZDIwMTkyNi4uZTQ4ZTFjOGRlIDEwMDY0NAoraW5kZXggYzA4ZWZjNDdhMi4uODdlMjVkOTM5MSAxMDA2NDQKIC0tLSBhL1Rlc3RzL1F0QXV0b2dlbi9NYWNPc0ZXL0NNYWtlTGlzdHMudHh0CiArKysgYi9UZXN0cy9RdEF1dG9nZW4vTWFjT3NGVy9DTWFrZUxpc3RzLnR4dAogQEAgLTIsNyArMiw3IEBAIGNtYWtlX21pbmltdW1fcmVxdWlyZWQoVkVSU0lPTiAzLjEwKQogIHByb2plY3QoTWFjT3NGVykKLSBpbmNsdWRlKCIuLi9BdXRvZ2VuVGVzdC5jbWFrZSIpCisgaW5jbHVkZSgiLi4vQXV0b2dlbkd1aVRlc3QuY21ha2UiKQogIAogLWZpbmRfcGFja2FnZShRdDVUZXN0IFJFUVVJUkVEKQogKyNmaW5kX3BhY2thZ2UoUXQ1VGVzdCBSRVFVSVJFRCkKQEAgLTkzLDEwICs5NCwxMCBAQAogIHNldChDTUFLRV9DWFhfU1RBTkRBUkQgMTEpCiAgc2V0KENNQUtFX1JVTlRJTUVfT1VUUFVUX0RJUkVDVE9SWSAke0NNQUtFX0JJTkFSWV9ESVJ9L291dHB1dC9iaW4pCiBkaWZmIC0tZ2l0IGEvVGVzdHMvUnVuQ01ha2UvQ01ha2VMaXN0cy50eHQgYi9UZXN0cy9SdW5DTWFrZS9DTWFrZUxpc3RzLnR4dAotaW5kZXggNjM3YzVjMmNiLi5jMDM3NmVmZmMgMTAwNjQ0CitpbmRleCAxZjNlNWMzMDA2Li44ZWQ4ZDZhYzU0IDEwMDY0NAogLS0tIGEvVGVzdHMvUnVuQ01ha2UvQ01ha2VMaXN0cy50eHQKICsrKyBiL1Rlc3RzL1J1bkNNYWtlL0NNYWtlTGlzdHMudHh0Ci1AQCAtMjkxLDcgKzI5MSw3IEBAIGFkZF9SdW5DTWFrZV90ZXN0KGNvbmZpZ3VyZV9maWxlKQorQEAgLTMyNiw3ICszMjYsNyBAQCBhZGRfUnVuQ01ha2VfdGVzdChjb25maWd1cmVfZmlsZSkKICBhZGRfUnVuQ01ha2VfdGVzdChDVGVzdFRpbWVvdXRBZnRlck1hdGNoKQogIAogIGZpbmRfcGFja2FnZShRdDQgUVVJRVQpCkBAIC0xMDYsNyArMTA3LDcgQEAKICAgIGFkZF9SdW5DTWFrZV90ZXN0KEluY29tcGF0aWJsZVF0KQogIGVuZGlmKCkKIGRpZmYgLS1naXQgYS9UZXN0cy9SdW5DTWFrZS9JbmNvbXBhdGlibGVRdC9JbmNvbXBhdGlibGVRdC5jbWFrZSBiL1Rlc3RzL1J1bkNNYWtlL0luY29tcGF0aWJsZVF0L0luY29tcGF0aWJsZVF0LmNtYWtlCi1pbmRleCA0ZmNjZGM0MTguLmI3NmUxZTUzMSAxMDA2NDQKK2luZGV4IDRmY2NkYzQxOGYuLmI3NmUxZTUzMTMgMTAwNjQ0CiAtLS0gYS9UZXN0cy9SdW5DTWFrZS9JbmNvbXBhdGlibGVRdC9JbmNvbXBhdGlibGVRdC5jbWFrZQogKysrIGIvVGVzdHMvUnVuQ01ha2UvSW5jb21wYXRpYmxlUXQvSW5jb21wYXRpYmxlUXQuY21ha2UKIEBAIC0xLDYgKzEsNiBAQApAQCAtMTE4LDUgKzExOSw1IEBACiAgYWRkX2V4ZWN1dGFibGUobWFpbmV4ZSBtYWluLmNwcCkKICB0YXJnZXRfbGlua19saWJyYXJpZXMobWFpbmV4ZSBRdDQ6OlF0Q29yZSBRdDU6OkNvcmUpCiAtLSAKLTIuMTguMAorMi4xMS4wCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlLzAwMDMtY21ha2Utc3VwcG9ydC1PcGVuRW1iZWRkZWQtUXQ0LXRvb2wtYmluYXJ5LW5hbWVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UvMDAwMy1jbWFrZS1zdXBwb3J0LU9wZW5FbWJlZGRlZC1RdDQtdG9vbC1iaW5hcnktbmFtZXMucGF0Y2gKaW5kZXggNTVjZjQ3MS4uNGYyZTg0MyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UvMDAwMy1jbWFrZS1zdXBwb3J0LU9wZW5FbWJlZGRlZC1RdDQtdG9vbC1iaW5hcnktbmFtZXMucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UvMDAwMy1jbWFrZS1zdXBwb3J0LU9wZW5FbWJlZGRlZC1RdDQtdG9vbC1iaW5hcnktbmFtZXMucGF0Y2gKQEAgLTI4LDcgKzI4LDcgQEAKIGluZGV4IDg0N2E3OThhZi4uN2FkOTgxODc5IDEwMDY0NAogLS0tIGEvTW9kdWxlcy9GaW5kUXQ0LmNtYWtlCiArKysgYi9Nb2R1bGVzL0ZpbmRRdDQuY21ha2UKLUBAIC01MTcsNyArNTE3LDcgQEAgZW5kZnVuY3Rpb24oKQorQEAgLTUxOCw3ICs1MTgsNyBAQCBlbmRmdW5jdGlvbigpCiAgCiAgc2V0KFFUNF9JTlNUQUxMRURfVkVSU0lPTl9UT09fT0xEIEZBTFNFKQogIApAQCAtMzcsNyArMzcsNyBAQAogIF9xdDRfZmluZF9xbWFrZSgiJHtfUVQ0X1FNQUtFX05BTUVTfSIgUVRfUU1BS0VfRVhFQ1VUQUJMRSBRVFZFUlNJT04pCiAgCiAgaWYgKFFUX1FNQUtFX0VYRUNVVEFCTEUgQU5ECi1AQCAtMTEzNSwxMiArMTEzNSwxMiBAQCBpZiAoUVRfUU1BS0VfRVhFQ1VUQUJMRSBBTkQKK0BAIC0xMTM2LDEyICsxMTM2LDEyIEBAIGlmIChRVF9RTUFLRV9FWEVDVVRBQkxFIEFORAogICAgX2ZpbmRfcXQ0X3Byb2dyYW0oUVRfTU9DX0VYRUNVVEFCTEUgUXQ0Ojptb2MgbW9jLXF0NCBtb2M0IG1vYykKICAgIF9maW5kX3F0NF9wcm9ncmFtKFFUX1VJQ19FWEVDVVRBQkxFIFF0NDo6dWljIHVpYy1xdDQgdWljNCB1aWMpCiAgICBfZmluZF9xdDRfcHJvZ3JhbShRVF9VSUMzX0VYRUNVVEFCTEUgUXQ0Ojp1aWMzIHVpYzMpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS8wMDA0LUZhaWwtc2lsZW50bHktaWYtc3lzdGVtLVF0LWluc3RhbGxhdGlvbi1pcy1icm9rZW4ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS8wMDA0LUZhaWwtc2lsZW50bHktaWYtc3lzdGVtLVF0LWluc3RhbGxhdGlvbi1pcy1icm9rZW4ucGF0Y2gKaW5kZXggYTU5YzY4MC4uNmM2N2RjZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UvMDAwNC1GYWlsLXNpbGVudGx5LWlmLXN5c3RlbS1RdC1pbnN0YWxsYXRpb24taXMtYnJva2VuLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlLzAwMDQtRmFpbC1zaWxlbnRseS1pZi1zeXN0ZW0tUXQtaW5zdGFsbGF0aW9uLWlzLWJyb2tlbi5wYXRjaApAQCAtMzEsNyArMzEsNyBAQAogaW5kZXggN2FkOTgxODc5Li44YjZmNDNjZGEgMTAwNjQ0CiAtLS0gYS9Nb2R1bGVzL0ZpbmRRdDQuY21ha2UKICsrKyBiL01vZHVsZXMvRmluZFF0NC5jbWFrZQotQEAgLTk4NywyNSArOTg3LDI2IEBAIGlmIChRVF9RTUFLRV9FWEVDVVRBQkxFIEFORAorQEAgLTk4OCwyNSArOTg4LDI2IEBAIGlmIChRVF9RTUFLRV9FWEVDVVRBQkxFIEFORAogICAgICBlbmRpZigpCiAgICBlbmRtYWNybygpCiAgCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS8wMDA1LURpc2FibGUtdXNlLW9mLWV4dDJmcy1leHQyX2ZzLmgtYnktY21ha2Utcy1pbnRlcm5hbC0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS8wMDA1LURpc2FibGUtdXNlLW9mLWV4dDJmcy1leHQyX2ZzLmgtYnktY21ha2Utcy1pbnRlcm5hbC0ucGF0Y2gKaW5kZXggMjNjZThlOS4uYWQ0MmQ0MCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UvMDAwNS1EaXNhYmxlLXVzZS1vZi1leHQyZnMtZXh0Ml9mcy5oLWJ5LWNtYWtlLXMtaW50ZXJuYWwtLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlLzAwMDUtRGlzYWJsZS11c2Utb2YtZXh0MmZzLWV4dDJfZnMuaC1ieS1jbWFrZS1zLWludGVybmFsLS5wYXRjaApAQCAtMjAsNyArMjAsNyBAQAogaW5kZXggMjA2ZjNjNmE1Li42NDJmYjBkZDkgMTAwNjQ0CiAtLS0gYS9VdGlsaXRpZXMvY21saWJhcmNoaXZlL0NNYWtlTGlzdHMudHh0CiArKysgYi9VdGlsaXRpZXMvY21saWJhcmNoaXZlL0NNYWtlTGlzdHMudHh0Ci1AQCAtNDAwLDEyICs0MDAsOCBAQCBMQV9DSEVDS19JTkNMVURFX0ZJTEUoImNvcHlmaWxlLmgiIEhBVkVfQ09QWUZJTEVfSCkKK0BAIC00MzAsMTIgKzQzMCw4IEBAIExBX0NIRUNLX0lOQ0xVREVfRklMRSgiY29weWZpbGUuaCIgSEFWRV9DT1BZRklMRV9IKQogIExBX0NIRUNLX0lOQ0xVREVfRklMRSgiZGlyZWN0LmgiIEhBVkVfRElSRUNUX0gpCiAgTEFfQ0hFQ0tfSU5DTFVERV9GSUxFKCJkbGZjbi5oIiBIQVZFX0RMRkNOX0gpCiAgTEFfQ0hFQ0tfSU5DTFVERV9GSUxFKCJlcnJuby5oIiBIQVZFX0VSUk5PX0gpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS9PRVRvb2xjaGFpbkNvbmZpZy5jbWFrZSBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlL09FVG9vbGNoYWluQ29uZmlnLmNtYWtlCmluZGV4IDhhMGZiNGMuLjM5ODA2OWUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlL09FVG9vbGNoYWluQ29uZmlnLmNtYWtlCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlL09FVG9vbGNoYWluQ29uZmlnLmNtYWtlCkBAIC01LDcgKzUsNyBAQAogc2V0KCBDTUFLRV9MREZMQUdTX0ZMQUdTICR7Q01BS0VfQ1hYX0ZMQUdTfSBDQUNIRSBTVFJJTkcgIiIgRk9SQ0UgKQogc2V0KCBDTUFLRV9TWVNST09UICRFTlZ7T0VDT1JFX1RBUkdFVF9TWVNST09UfSApCiAKLXNldCggQ01BS0VfRklORF9ST09UX1BBVEggJEVOVntPRUNPUkVfVEFSR0VUX1NZU1JPT1R9ICRFTlZ7T0VDT1JFX05BVElWRV9TWVNST09UfSApCitzZXQoIENNQUtFX0ZJTkRfUk9PVF9QQVRIICRFTlZ7T0VDT1JFX1RBUkdFVF9TWVNST09UfSApCiBzZXQoIENNQUtFX0ZJTkRfUk9PVF9QQVRIX01PREVfUFJPR1JBTSBORVZFUiApCiBzZXQoIENNQUtFX0ZJTkRfUk9PVF9QQVRIX01PREVfTElCUkFSWSBPTkxZICkKIHNldCggQ01BS0VfRklORF9ST09UX1BBVEhfTU9ERV9JTkNMVURFIE9OTFkgKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2VfMy4xMi4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2VfMy4xNC4xLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZV8zLjEyLjIuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlXzMuMTQuMS5iYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY3JlYXRlcmVwby1jL2NyZWF0ZXJlcG8tYy8wMDAxLUNvcnJlY3RseS1pbnN0YWxsLXRoZS1zaGFyZWQtbGlicmFyeS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NyZWF0ZXJlcG8tYy9jcmVhdGVyZXBvLWMvMDAwMS1Db3JyZWN0bHktaW5zdGFsbC10aGUtc2hhcmVkLWxpYnJhcnkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNkNzIwODQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY3JlYXRlcmVwby1jL2NyZWF0ZXJlcG8tYy8wMDAxLUNvcnJlY3RseS1pbnN0YWxsLXRoZS1zaGFyZWQtbGlicmFyeS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLUZyb20gZmVmODM1ZTFmZGVkYzcyYzk3ZDljM2U1NzA0MzAyZTU2ZTFiZGVmMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgotRGF0ZTogTW9uLCAyIEphbiAyMDE3IDE3OjIzOjU5ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIENvcnJlY3RseSBpbnN0YWxsIHRoZSBzaGFyZWQgbGlicmFyeQotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL3JwbS1zb2Z0d2FyZS1tYW5hZ2VtZW50L2NyZWF0ZXJlcG9fYy9wdWxsLzc4XQotU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+Ci0tLS0KLSBzcmMvQ01ha2VMaXN0cy50eHQgfCAzICsrLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9DTWFrZUxpc3RzLnR4dCBiL3NyYy9DTWFrZUxpc3RzLnR4dAotaW5kZXggZjM2MzVlOC4uNDZkYzAzNyAxMDA2NDQKLS0tLSBhL3NyYy9DTWFrZUxpc3RzLnR4dAotKysrIGIvc3JjL0NNYWtlTGlzdHMudHh0Ci1AQCAtMTEwLDcgKzExMCw4IEBAIENPTkZJR1VSRV9GSUxFKCJkZWx0YXJwbXMuaC5pbiIgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9kZWx0YXJwbXMuaCIgQE9OTFkpCi0gSUYgKENNQUtFX1NJWkVPRl9WT0lEX1AgTUFUQ0hFUyAiOCIpCi0gICAgIFNFVCAoTElCX1NVRkZJWCAiNjQiKQotIEVORElGIChDTUFLRV9TSVpFT0ZfVk9JRF9QIE1BVENIRVMgIjgiKQotLVNFVCAoTElCX0lOU1RBTExfRElSICIke0NNQUtFX0lOU1RBTExfUFJFRklYfS9saWIke0xJQl9TVUZGSVh9IikKLSsjU0VUIChMSUJfSU5TVEFMTF9ESVIgIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9L2xpYiR7TElCX1NVRkZJWH0iKQotK1NFVCAoTElCX0lOU1RBTExfRElSICIke0NNQUtFX0lOU1RBTExfTElCRElSfSIpCi0gCi0gSU5TVEFMTChGSUxFUyAke2hlYWRlcnN9IERFU1RJTkFUSU9OICJpbmNsdWRlL2NyZWF0ZXJlcG9fYyIpCi0gSU5TVEFMTChGSUxFUyAiY3JlYXRlcmVwb19jLnBjIiBERVNUSU5BVElPTiAiJHtMSUJfSU5TVEFMTF9ESVJ9L3BrZ2NvbmZpZyIpCi0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jcmVhdGVyZXBvLWMvY3JlYXRlcmVwby1jLzAwMDEtRG8tbm90LXNldC1QWVRIT05fSU5TVEFMTF9ESVItYnktcnVubmluZy1weXRob24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jcmVhdGVyZXBvLWMvY3JlYXRlcmVwby1jLzAwMDEtRG8tbm90LXNldC1QWVRIT05fSU5TVEFMTF9ESVItYnktcnVubmluZy1weXRob24ucGF0Y2gKaW5kZXggOTUzMTA3MC4uYzBmMDdmZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY3JlYXRlcmVwby1jL2NyZWF0ZXJlcG8tYy8wMDAxLURvLW5vdC1zZXQtUFlUSE9OX0lOU1RBTExfRElSLWJ5LXJ1bm5pbmctcHl0aG9uLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NyZWF0ZXJlcG8tYy9jcmVhdGVyZXBvLWMvMDAwMS1Eby1ub3Qtc2V0LVBZVEhPTl9JTlNUQUxMX0RJUi1ieS1ydW5uaW5nLXB5dGhvbi5wYXRjaApAQCAtMSwyNyArMSwyNSBAQAotRnJvbSBiZWY0ODdiNWMyNTE1MDYyYzVkZDczYzIxMDgyY2U0MmY2OWFhNzE3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA0NjQ0ZDE4MTU3Mjk2MjU3Mjg0YmVkZDg1N2Y0NjEwZjEwMzdkNTBlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CiBEYXRlOiBGcmksIDMwIERlYyAyMDE2IDE4OjMxOjAyICswMjAwCiBTdWJqZWN0OiBbUEFUQ0hdIERvIG5vdCBzZXQgUFlUSE9OX0lOU1RBTExfRElSIGJ5IHJ1bm5pbmcgcHl0aG9uCiAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2UtY29yZSBzcGVjaWZpY10KIFNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorCiAtLS0KICBzcmMvcHl0aG9uL0NNYWtlTGlzdHMudHh0IHwgMiArLQogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvc3JjL3B5dGhvbi9DTWFrZUxpc3RzLnR4dCBiL3NyYy9weXRob24vQ01ha2VMaXN0cy50eHQKLWluZGV4IDlmMWFjNjQuLmVhZTBjYmIgMTAwNjQ0CitpbmRleCAzZDg3M2Y3Li5lOTc3YjJmIDEwMDY0NAogLS0tIGEvc3JjL3B5dGhvbi9DTWFrZUxpc3RzLnR4dAogKysrIGIvc3JjL3B5dGhvbi9DTWFrZUxpc3RzLnR4dAotQEAgLTE5LDcgKzE5LDcgQEAgZWxzZSgpCi0gICAgIEZJTkRfUEFDS0FHRShQeXRob25JbnRlcnAgMy4wIFJFUVVJUkVEKQotIGVuZGlmKCkKK0BAIC0yMSw3ICsyMSw3IEBAIGlmIChOT1QgU0tCVUlMRCkKKyAgICAgZW5kaWYgKCkKKyBlbmRpZiAoTk9UIFNLQlVJTEQpCiAgCiAtRVhFQ1VURV9QUk9DRVNTKENPTU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0gLWMgImZyb20gc3lzIGltcG9ydCBzdGRvdXQ7IGZyb20gZGlzdHV0aWxzIGltcG9ydCBzeXNjb25maWc7IHN0ZG91dC53cml0ZShzeXNjb25maWcuZ2V0X3B5dGhvbl9saWIoVHJ1ZSkpIiBPVVRQVVRfVkFSSUFCTEUgUFlUSE9OX0lOU1RBTExfRElSKQogKyNFWEVDVVRFX1BST0NFU1MoQ09NTUFORCAke1BZVEhPTl9FWEVDVVRBQkxFfSAtYyAiZnJvbSBzeXMgaW1wb3J0IHN0ZG91dDsgZnJvbSBkaXN0dXRpbHMgaW1wb3J0IHN5c2NvbmZpZzsgc3Rkb3V0LndyaXRlKHN5c2NvbmZpZy5nZXRfcHl0aG9uX2xpYihUcnVlKSkiIE9VVFBVVF9WQVJJQUJMRSBQWVRIT05fSU5TVEFMTF9ESVIpCiAgSU5DTFVERV9ESVJFQ1RPUklFUyAoJHtQWVRIT05fSU5DTFVERV9QQVRIfSkKICAKICBNRVNTQUdFKFNUQVRVUyAiUHl0aG9uIGluc3RhbGwgZGlyIGlzICR7UFlUSE9OX0lOU1RBTExfRElSfSIpCi0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jcmVhdGVyZXBvLWMvY3JlYXRlcmVwby1jLzAwMDEtRml4LXNldHVwLW9mLWxvZ2dpbmctbG9nLWRvbWFpbnMtUmhCdWctMTY0NTg5Ny5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NyZWF0ZXJlcG8tYy9jcmVhdGVyZXBvLWMvMDAwMS1GaXgtc2V0dXAtb2YtbG9nZ2luZy1sb2ctZG9tYWlucy1SaEJ1Zy0xNjQ1ODk3LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZGU5YzA1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NyZWF0ZXJlcG8tYy9jcmVhdGVyZXBvLWMvMDAwMS1GaXgtc2V0dXAtb2YtbG9nZ2luZy1sb2ctZG9tYWlucy1SaEJ1Zy0xNjQ1ODk3LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzMgKzAsMCBAQAotRnJvbSA4MDgxMGYwNGYyZGU2YmFlNmUzOTRmNTJhZDljZGQyMTg5ODYyZjc0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSmFyb3NsYXYgUm9oZWwgPGpyb2hlbEByZWRoYXQuY29tPgotRGF0ZTogRnJpLCA5IE5vdiAyMDE4IDA3OjM1OjEzICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIEZpeCBzZXR1cCBvZiBsb2dnaW5nIChsb2cgZG9tYWlucykgKFJoQnVnOjE2NDU4OTcpCi0KLU5ldyBkZWJ1ZyBtZXNzYWdlcyB3ZXJlIGFkZGVkIGludG8gR0xpYiBsaWJyYXJ5LiBUaGVzZSBtZXNzYWdlcyBjb21lCi1mcm9tIHRoZSAiR0xpYiIgbG9nIGRvbWFpbiBhbmQgd2VyZSBub3QgaGlkZGVuIGluIHRoZSBzdGFuZGFyZCBhbmQKLXF1aWV0IG1vZGUgb2YgdGhlIGFwcGxpY2F0aW9uLgotVGhpcyBmaXggaGlkZXMgbG9nIG1lc3NhZ2VzIHJlZ2FyZGxlc3Mgb24gc291cmNlIGxvZyBkb21haW4uCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotU2lnbmVkLW9mZi1ieTogWmhlbmcgUnVvcWluIDx6aGVuZ3JxLmZuc3RAY24uZnVqaXRzdS5jb20+Ci0tLS0KLSBzcmMvY3JlYXRlcmVwb19zaGFyZWQuYyB8IDE5ICsrKysrKy0tLS0tLS0tLS0tLS0KLSBzcmMvbWlzYy5jICAgICAgICAgICAgICB8ICA1ICsrKystCi0gMiBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9jcmVhdGVyZXBvX3NoYXJlZC5jIGIvc3JjL2NyZWF0ZXJlcG9fc2hhcmVkLmMKLWluZGV4IDhhMjY3ODcuLjdjYjhiYTggMTAwNjQ0Ci0tLS0gYS9zcmMvY3JlYXRlcmVwb19zaGFyZWQuYwotKysrIGIvc3JjL2NyZWF0ZXJlcG9fc2hhcmVkLmMKLUBAIC0yNzAsMjQgKzI3MCwxNyBAQCBjcl9sb2NrX3JlcG8oY29uc3QgZ2NoYXIgKnJlcG9fZGlyLAotIHZvaWQKLSBjcl9zZXR1cF9sb2dnaW5nKGdib29sZWFuIHF1aWV0LCBnYm9vbGVhbiB2ZXJib3NlKQotIHsKLS0gICAgZ19sb2dfc2V0X2RlZmF1bHRfaGFuZGxlciAoY3JfbG9nX2ZuLCBOVUxMKTsKLS0KLSAgICAgaWYgKHF1aWV0KSB7Ci0gICAgICAgICAvLyBRdWlldCBtb2RlCi0tICAgICAgICBHTG9nTGV2ZWxGbGFncyBsZXZlbHMgPSBHX0xPR19MRVZFTF9NRVNTQUdFIHwgR19MT0dfTEVWRUxfSU5GTyB8Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX0xPR19MRVZFTF9ERUJVRyB8IEdfTE9HX0xFVkVMX1dBUk5JTkc7Ci0tICAgICAgICBnX2xvZ19zZXRfaGFuZGxlcihOVUxMLCBsZXZlbHMsIGNyX251bGxfbG9nX2ZuLCBOVUxMKTsKLS0gICAgICAgIGdfbG9nX3NldF9oYW5kbGVyKCJDX0NSRUFURVJFUE9MSUIiLCBsZXZlbHMsIGNyX251bGxfbG9nX2ZuLCBOVUxMKTsKLSsgICAgICAgIEdMb2dMZXZlbEZsYWdzIGhpZGRlbl9sZXZlbHMgPSBHX0xPR19MRVZFTF9NRVNTQUdFIHwgR19MT0dfTEVWRUxfSU5GTyB8Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19MT0dfTEVWRUxfREVCVUcgfCBHX0xPR19MRVZFTF9XQVJOSU5HOwotKyAgICAgICAgZ19sb2dfc2V0X2RlZmF1bHRfaGFuZGxlciAoY3JfbG9nX2ZuLCBHSU5UX1RPX1BPSU5URVIoaGlkZGVuX2xldmVscykpOwotICAgICB9IGVsc2UgaWYgKHZlcmJvc2UpIHsKLSAgICAgICAgIC8vIFZlcmJvc2UgbW9kZQotLSAgICAgICAgR0xvZ0xldmVsRmxhZ3MgbGV2ZWxzID0gR19MT0dfTEVWRUxfTUVTU0FHRSB8IEdfTE9HX0xFVkVMX0lORk8gfAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19MT0dfTEVWRUxfREVCVUcgfCBHX0xPR19MRVZFTF9XQVJOSU5HOwotLSAgICAgICAgZ19sb2dfc2V0X2hhbmRsZXIoTlVMTCwgbGV2ZWxzLCBjcl9sb2dfZm4sIE5VTEwpOwotLSAgICAgICAgZ19sb2dfc2V0X2hhbmRsZXIoIkNfQ1JFQVRFUkVQT0xJQiIsIGxldmVscywgY3JfbG9nX2ZuLCBOVUxMKTsKLSsgICAgICAgIGdfbG9nX3NldF9kZWZhdWx0X2hhbmRsZXIgKGNyX2xvZ19mbiwgR0lOVF9UT19QT0lOVEVSKDApKTsKLSAgICAgfSBlbHNlIHsKLSAgICAgICAgIC8vIFN0YW5kYXJkIG1vZGUKLS0gICAgICAgIEdMb2dMZXZlbEZsYWdzIGxldmVscyA9IEdfTE9HX0xFVkVMX0RFQlVHOwotLSAgICAgICAgZ19sb2dfc2V0X2hhbmRsZXIoTlVMTCwgbGV2ZWxzLCBjcl9udWxsX2xvZ19mbiwgTlVMTCk7Ci0tICAgICAgICBnX2xvZ19zZXRfaGFuZGxlcigiQ19DUkVBVEVSRVBPTElCIiwgbGV2ZWxzLCBjcl9udWxsX2xvZ19mbiwgTlVMTCk7Ci0rICAgICAgICBHTG9nTGV2ZWxGbGFncyBoaWRkZW5fbGV2ZWxzID0gR19MT0dfTEVWRUxfREVCVUc7Ci0rICAgICAgICBnX2xvZ19zZXRfZGVmYXVsdF9oYW5kbGVyIChjcl9sb2dfZm4sIEdJTlRfVE9fUE9JTlRFUihoaWRkZW5fbGV2ZWxzKSk7Ci0gICAgIH0KLSB9Ci1kaWZmIC0tZ2l0IGEvc3JjL21pc2MuYyBiL3NyYy9taXNjLmMKLWluZGV4IDk5Mzc0ODAuLjk1NDlhNDQgMTAwNjQ0Ci0tLS0gYS9zcmMvbWlzYy5jCi0rKysgYi9zcmMvbWlzYy5jCi1AQCAtOTEyLDggKzkxMiwxMSBAQCB2b2lkCi0gY3JfbG9nX2ZuKGNvbnN0IGdjaGFyICpsb2dfZG9tYWluLAotICAgICAgICAgICBHTG9nTGV2ZWxGbGFncyBsb2dfbGV2ZWwsCi0gICAgICAgICAgIGNvbnN0IGdjaGFyICptZXNzYWdlLAotLSAgICAgICAgICBHX0dOVUNfVU5VU0VEIGdwb2ludGVyIHVzZXJfZGF0YSkKLSsgICAgICAgICAgZ3BvaW50ZXIgdXNlcl9kYXRhKQotIHsKLSsgICAgZ2ludCBoaWRkZW5fbG9nX2xldmVscyA9IEdQT0lOVEVSX1RPX0lOVCh1c2VyX2RhdGEpOwotKyAgICBpZiAobG9nX2xldmVsICYgaGlkZGVuX2xvZ19sZXZlbHMpCi0rICAgICAgICByZXR1cm47Ci0gICAgIHN3aXRjaChsb2dfbGV2ZWwpIHsKLSAgICAgICAgIGNhc2UgR19MT0dfTEVWRUxfRVJST1I6Ci0gICAgICAgICAgICAgaWYgKGxvZ19kb21haW4pIGdfcHJpbnRlcnIoIiVzOiAiLCBsb2dfZG9tYWluKTsKLS0tIAotMS44LjMuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jcmVhdGVyZXBvLWMvY3JlYXRlcmVwby1jX2dpdC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NyZWF0ZXJlcG8tYy9jcmVhdGVyZXBvLWNfZ2l0LmJiCmluZGV4IDA4NzY2YjMuLjlhYThkMmEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NyZWF0ZXJlcG8tYy9jcmVhdGVyZXBvLWNfZ2l0LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NyZWF0ZXJlcG8tYy9jcmVhdGVyZXBvLWNfZ2l0LmJiCkBAIC02LDEyICs2LDEwIEBACiAKIFNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9ycG0tc29mdHdhcmUtbWFuYWdlbWVudC9jcmVhdGVyZXBvX2MgXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3Qtc2V0LVBZVEhPTl9JTlNUQUxMX0RJUi1ieS1ydW5uaW5nLXB5dGhvbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUNvcnJlY3RseS1pbnN0YWxsLXRoZS1zaGFyZWQtbGlicmFyeS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1zZXR1cC1vZi1sb2dnaW5nLWxvZy1kb21haW5zLVJoQnVnLTE2NDU4OTcucGF0Y2ggXAogICAgICAgICAgICAiCiAKLVBWID0gIjAuMTEuMStnaXQke1NSQ1BWfSIKLVNSQ1JFViA9ICI0MzRhNDBiYWJkZGU1N2FiNDA1ZTlhMTA4NWEzMGU5NTc1ZWEwYzkyIgorUFYgPSAiMC4xMi4xIgorU1JDUkVWID0gIjc3NDQ1NTRkZGVmN2M1YmUyY2Q3ZmJjYWM0OWM4YjI0Y2U2MGVmODgiCiAKIFMgPSAiJHtXT1JLRElSfS9naXQiCiAKQEAgLTIwLDcgKzE4LDcgQEAKIAogaW5oZXJpdCBjbWFrZSBwa2djb25maWcgYmFzaC1jb21wbGV0aW9uIGRpc3R1dGlsczMtYmFzZQogCi1FWFRSQV9PRUNNQUtFID0gIiAtRFBZVEhPTl9JTlNUQUxMX0RJUj0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSAtRFBZVEhPTl9ERVNJUkVEPTMiCitFWFRSQV9PRUNNQUtFID0gIiAtRFBZVEhPTl9JTlNUQUxMX0RJUj0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSAtRFBZVEhPTl9ERVNJUkVEPTMgLURXSVRIX1pDSFVOSz1PRkYiCiAKIEJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZGlzdGNjL2Rpc3RjY18zLjMuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rpc3RjYy9kaXN0Y2NfMy4zLjIuYmIKaW5kZXggMGQwNjk2My4uYTkzNjA0YiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZGlzdGNjL2Rpc3RjY18zLjMuMi5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kaXN0Y2MvZGlzdGNjXzMuMy4yLmJiCkBAIC02OSwzICs2OSwyNyBAQAogCQkke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2Rpc3RjYy5zZXJ2aWNlIgogRklMRVNfZGlzdGNjLWRpc3Rtb24tZ25vbWUgPSAiICAke2JpbmRpcn0vZGlzdGNjbW9uLWdub21lIFwKIAkJCQkke2RhdGFkaXJ9L2Rpc3RjYyIKKworCisjCisjIGRpc3RjYyB1cHN0cmVhbSBkcm9wcGVkIHRoZSAzLjIgYnJhbmNoIHdoaWNoIHdlIHJlZmVyZW5jZSBpbiBvbGRlciBwcm9qZWN0IHJlbGVhc2VzCisjIHRoZSByZXZpc2lvbnMgYXJlIHRoZXJlLCBqdXN0IHRoZSBicmFuY2ggaXMgbm90LiBJbiBvcmRlciB0byBiZSBhYmxlIHRvIGNvbnRpbnVlCisjIHRvIGJ1aWxkIHRob3NlIG9sZCByZWxlYXNlcywgYWRqdXN0IGFueSBtaXJyb3IgdGFyYmFsbCB0byBjb250YWluIHRoZSBtaXNzaW5nIGJyYW5jaAorIworZml4dXBfZGlzdGNjX21pcnJvcl90YXJiYWxsICgpIHsKKwlUQkFMTD0ke0RMX0RJUn0vZ2l0Ml9naXRodWIuY29tLmRpc3RjYy5kaXN0Y2MuZ2l0LnRhci5negorCWlmIFsgLWYgJFRCQUxMIF07IHRoZW4KKwkJVERJUj1gbWt0ZW1wIC1kYAorCQljZCAkVERJUgorCQl0YXIgLXh6ZiAkVEJBTEwKKwkJc2V0ICtlCisJCWdpdCByZXYtcGFyc2UgLS12ZXJpZnkgMy4yCisJCWlmIFsgIiQ/IiAhPSAiMCIgXTsgdGhlbgorCQkJZ2l0IGJyYW5jaCAzLjIgZDhiMThkZjNlOWRjYmU0ZjA5MmJlZDU2NTgzNWQzOTc1ZTk5NDMyYworCQkJdGFyIC1jemYgJFRCQUxMICoKKwkJZmkKKwkJc2V0IC1lCisJCXJtIC1yZiAkVERJUi8qCisJZmkKK30KK2RvX2ZldGNoW3Bvc3RmdW5jc10gKz0gImZpeHVwX2Rpc3RjY19taXJyb3JfdGFyYmFsbCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RtaWRlY29kZS9kbWlkZWNvZGUvMDAwMS1Db21taXR0aW5nLWNoYW5nZXMtZnJvbS1kb191bnBhY2tfZXh0cmEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kbWlkZWNvZGUvZG1pZGVjb2RlLzAwMDEtQ29tbWl0dGluZy1jaGFuZ2VzLWZyb20tZG9fdW5wYWNrX2V4dHJhLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlOWQ0MjMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kbWlkZWNvZGUvZG1pZGVjb2RlLzAwMDEtQ29tbWl0dGluZy1jaGFuZ2VzLWZyb20tZG9fdW5wYWNrX2V4dHJhLnBhdGNoCkBAIC0wLDAgKzEsMjQgQEAKK0Zyb20gMDBhM2FjZTM1ZDY2ZTdhZTYwMDQ2ZTI1NGE0ZDAwZjBmOWMxYWJlMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE9wZW5FbWJlZGRlZCA8b2UucGF0Y2hAb2U+CitEYXRlOiBUaHUsIDIyIE5vdiAyMDE4IDEyOjA1OjA0ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIERvIG5vdCBpbnN0YWxsIHRvIC91c3IvbG9jYWwKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZS1jb3JlIHNwZWNpZmljXQorU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyBNYWtlZmlsZSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKK2luZGV4IDc3YzkzMTAuLmZjMzc4ZmQgMTAwNjQ0CistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC0zMCw3ICszMCw3IEBAIENGTEFHUyArPSAtTzIKKyBMREZMQUdTID0KKyAKKyBERVNURElSID0KKy1wcmVmaXggID0gL3Vzci9sb2NhbAorK3ByZWZpeCAgPSAvdXNyCisgc2JpbmRpciA9ICQocHJlZml4KS9zYmluCisgbWFuZGlyICA9ICQocHJlZml4KS9zaGFyZS9tYW4KKyBtYW44ZGlyID0gJChtYW5kaXIpL21hbjgKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RtaWRlY29kZS9kbWlkZWNvZGVfMy4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG1pZGVjb2RlL2RtaWRlY29kZV8zLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI0MjNmZGEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG1pZGVjb2RlL2RtaWRlY29kZV8zLjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1TVU1NQVJZID0gIkRNSSAoRGVza3RvcCBNYW5hZ2VtZW50IEludGVyZmFjZSkgdGFibGUgcmVsYXRlZCB1dGlsaXRpZXMiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3Lm5vbmdudS5vcmcvZG1pZGVjb2RlLyIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKLQotU1JDX1VSSSA9ICIke1NBVkFOTkFIX05PTkdOVV9NSVJST1J9L2RtaWRlY29kZS8ke0JQfS50YXIueHoiCi0KLUNPTVBBVElCTEVfSE9TVCA9ICIoaS44Nnx4ODZfNjR8YWFyY2g2NHxhcm18cG93ZXJwY3xwb3dlcnBjNjQpLiotbGludXgiCi0KLUVYVFJBX09FTUFLRSA9ICItZSBNQUtFRkxBR1M9IgotCi0jIFRoZSB1cHN0cmVhbSBidWlsZHN5c3RlbSB1c2VzICdkb2NkaXInIGFzIHRoZSBwYXRoIHdoZXJlIGl0IHB1dHMgQVVUSE9SUywKLSMgUkVBRE1FLCBldGMsIGJ1dCB3ZSBkb24ndCB3YW50IHRob3NlIGluIHRoZSByb290IG9mIG91ciBkb2NkaXIuCi1kb2NkaXIgLj0gIi8ke0JQTn0iCi0KLWRvX2luc3RhbGwoKSB7Ci0Jb2VfcnVubWFrZSBERVNURElSPSIke0R9IiBpbnN0YWxsCi19Ci0KLWRvX3VucGFja19leHRyYSgpIHsKLQlzZWQgLWkgLWUgJy9ecHJlZml4L3M6L3Vzci9sb2NhbDoke2V4ZWNfcHJlZml4fTonICR7U30vTWFrZWZpbGUKLX0KLWFkZHRhc2sgdW5wYWNrX2V4dHJhIGFmdGVyIGRvX3VucGFjayBiZWZvcmUgZG9fcGF0Y2gKLQotU1JDX1VSSVttZDVzdW1dID0gIjY3OWMyYzAxNWM1MTVhYTZjYTVmMjI5YWVlNDljMTAyIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ3NjZjZTliMjU1NDhjNTliMWU3ZTkzMDUwNWI0Y2FkOWE3YmIwYjkwNGExYTM5MWZiYjYwNGQ1Mjk3ODFhYzAiCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RtaWRlY29kZS9kbWlkZWNvZGVfMy4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG1pZGVjb2RlL2RtaWRlY29kZV8zLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjNmNDA2MQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RtaWRlY29kZS9kbWlkZWNvZGVfMy4yLmJiCkBAIC0wLDAgKzEsMjQgQEAKK1NVTU1BUlkgPSAiRE1JIChEZXNrdG9wIE1hbmFnZW1lbnQgSW50ZXJmYWNlKSB0YWJsZSByZWxhdGVkIHV0aWxpdGllcyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubm9uZ251Lm9yZy9kbWlkZWNvZGUvIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitTUkNfVVJJID0gIiR7U0FWQU5OQUhfTk9OR05VX01JUlJPUn0vZG1pZGVjb2RlLyR7QlB9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUNvbW1pdHRpbmctY2hhbmdlcy1mcm9tLWRvX3VucGFja19leHRyYS5wYXRjaCBcCisgICAgICAgICAgICIKKworQ09NUEFUSUJMRV9IT1NUID0gIihpLjg2fHg4Nl82NHxhYXJjaDY0fGFybXxwb3dlcnBjfHBvd2VycGM2NCkuKi1saW51eCIKKworRVhUUkFfT0VNQUtFID0gIi1lIE1BS0VGTEFHUz0iCisKKyMgVGhlIHVwc3RyZWFtIGJ1aWxkc3lzdGVtIHVzZXMgJ2RvY2RpcicgYXMgdGhlIHBhdGggd2hlcmUgaXQgcHV0cyBBVVRIT1JTLAorIyBSRUFETUUsIGV0YywgYnV0IHdlIGRvbid0IHdhbnQgdGhvc2UgaW4gdGhlIHJvb3Qgb2Ygb3VyIGRvY2Rpci4KK2RvY2RpciAuPSAiLyR7QlBOfSIKKworZG9faW5zdGFsbCgpIHsKKwlvZV9ydW5tYWtlIERFU1RESVI9IiR7RH0iIGluc3RhbGwKK30KKworU1JDX1VSSVttZDVzdW1dID0gIjljYzJlMjdlNzRhZGU3NDBhMjViMWFhZjA0MTI0NjFiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA3NzAwNmZhMmRhMGQwNmQ2MzgzNzI4MTEyZjJlZGVmOTY4NGU5YzhkYTU2NzUyZTk3Y2Q0NWExMWY4MzhlZGQiCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RuZi9kbmYvMDAwMS1Eby1ub3QtaGFyZGNvZGUtZXRjLWFuZC1zeXN0ZW1kLXVuaXQtZGlyZWN0b3JpZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kbmYvZG5mLzAwMDEtRG8tbm90LWhhcmRjb2RlLWV0Yy1hbmQtc3lzdGVtZC11bml0LWRpcmVjdG9yaWVzLnBhdGNoCmluZGV4IDE1YTdiZmMuLmNiMDlmMTcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RuZi9kbmYvMDAwMS1Eby1ub3QtaGFyZGNvZGUtZXRjLWFuZC1zeXN0ZW1kLXVuaXQtZGlyZWN0b3JpZXMucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG5mL2RuZi8wMDAxLURvLW5vdC1oYXJkY29kZS1ldGMtYW5kLXN5c3RlbWQtdW5pdC1kaXJlY3Rvcmllcy5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gYThlZjgxYzExNWE0NWYwNWRhZDE0NWM5OGUxMGYzYzQ5NDBlNGUyOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZmZiNzk0MmNjNzNjM2QyYzZhYTdjNjg5Y2RhZjliYzBiY2JjMTQ0YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgogRGF0ZTogVGh1LCAyNiBKYW4gMjAxNyAxNjoyNTo0NyArMDIwMAotU3ViamVjdDogW1BBVENIIDMvNV0gRG8gbm90IGhhcmRjb2RlIC9ldGMgYW5kIHN5c3RlbWQgdW5pdCBkaXJlY3RvcmllcworU3ViamVjdDogW1BBVENIXSBEbyBub3QgaGFyZGNvZGUgL2V0YyBhbmQgc3lzdGVtZCB1bml0IGRpcmVjdG9yaWVzCiAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2UtY29yZSBzcGVjaWZpY10KIFNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgpAQCAtMTEsMjAgKzExLDE3IEBACiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKLWluZGV4IDY1MGI2MjRhLi4xMDE5OTYxOCAxMDA2NDQKK2luZGV4IDczNTUyOTY3Li4zOGNmNGZiZiAxMDA2NDQKIC0tLSBhL0NNYWtlTGlzdHMudHh0CiArKysgYi9DTWFrZUxpc3RzLnR4dAotQEAgLTcsOCArNyw4IEBAIGlmIChOT1QgUFlUSE9OX0RFU0lSRUQpCi0gICAgIHNldCAoUFlUSE9OX0RFU0lSRUQgIjIiKQotIGVuZGlmKCkKK0BAIC0zLDggKzMsOCBAQCBDTUFLRV9NSU5JTVVNX1JFUVVJUkVEIChWRVJTSU9OIDIuNCkKKyAKKyBJTkNMVURFICgke0NNQUtFX1NPVVJDRV9ESVJ9L1ZFUlNJT04uY21ha2UpCiAgCiAtU0VUKCBTWVNDT05GRElSIC9ldGMpCiAtU0VUKCBTWVNURU1EX0RJUiAvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbSkKICtTRVQoIFNZU0NPTkZESVIgJHtDTUFLRV9JTlNUQUxMX1NZU0NPTkZESVJ9KQogK1NFVCggU1lTVEVNRF9ESVIgJEVOVntzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfSkKICAKLSBpZiAoJHtQWVRIT05fREVTSVJFRH0gU1RSRVFVQUwgIjIiKQotIAlGSU5EX1BBQ0tBR0UgKFB5dGhvbkludGVycCBSRVFVSVJFRCkKLS0tIAotMi4xNC4yCi0KKyBJRiAoTk9UIFBZVEhPTl9ERVNJUkVEKQorICAgICBGSU5EX1BBQ0tBR0UgKFB5dGhvbkludGVycCBSRVFVSVJFRCkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RuZi9kbmYvMDAyOS1Eby1ub3Qtc2V0LVBZVEhPTl9JTlNUQUxMX0RJUi1ieS1ydW5uaW5nLXB5dGhvbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RuZi9kbmYvMDAyOS1Eby1ub3Qtc2V0LVBZVEhPTl9JTlNUQUxMX0RJUi1ieS1ydW5uaW5nLXB5dGhvbi5wYXRjaAppbmRleCA2ZTAxMTkxLi4wZWQ5YWZjIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kbmYvZG5mLzAwMjktRG8tbm90LXNldC1QWVRIT05fSU5TVEFMTF9ESVItYnktcnVubmluZy1weXRob24ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG5mL2RuZi8wMDI5LURvLW5vdC1zZXQtUFlUSE9OX0lOU1RBTExfRElSLWJ5LXJ1bm5pbmctcHl0aG9uLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSA3MjA1MDMzZTQ0ZDhmYmExZDNiMThiNDkwZTdlYWFiODJkYTFmZmEzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA2YmUxMzE0M2E1NGM3OTA4NWQ0MDBkNWJkNGM3YTZlMWNiNmZmYWY1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CiBEYXRlOiBGcmksIDMwIERlYyAyMDE2IDE4OjI5OjA3ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMS81XSBEbyBub3Qgc2V0IFBZVEhPTl9JTlNUQUxMX0RJUiBieSBydW5uaW5nIHB5dGhvbgorU3ViamVjdDogW1BBVENIXSBEbyBub3Qgc2V0IFBZVEhPTl9JTlNUQUxMX0RJUiBieSBydW5uaW5nIHB5dGhvbgogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW29lLWNvcmUgc3BlY2lmaWNdCiBTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KQEAgLTExLDE4ICsxMSwxNSBAQAogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAotaW5kZXggMjNlNWY4ODkuLjY1MGI2MjRhIDEwMDY0NAoraW5kZXggMzhjZjRmYmYuLjZjNWRlYmQ4IDEwMDY0NAogLS0tIGEvQ01ha2VMaXN0cy50eHQKICsrKyBiL0NNYWtlTGlzdHMudHh0Ci1AQCAtMTgsNyArMTgsNyBAQCBlbHNlKCkKLSAJRklORF9QQUNLQUdFKFB5dGhvbkludGVycCAzLjAgUkVRVUlSRUQpCi0gZW5kaWYoKQorQEAgLTE5LDcgKzE5LDcgQEAgRUxTRSAoKQorICAgICBNRVNTQUdFIChGQVRBTF9FUlJPUiAiSW52YWxpZCBQWVRIT05fREVTSVJFRCB2YWx1ZTogIiAke1BZVEhPTl9ERVNJUkVEfSkKKyBFTkRJRigpCiAgCiAtRVhFQ1VURV9QUk9DRVNTKENPTU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0gLWMgImZyb20gc3lzIGltcG9ydCBzdGRvdXQ7IGZyb20gZGlzdHV0aWxzIGltcG9ydCBzeXNjb25maWc7IHN0ZG91dC53cml0ZShzeXNjb25maWcuZ2V0X3B5dGhvbl9saWIoKSkiIE9VVFBVVF9WQVJJQUJMRSBQWVRIT05fSU5TVEFMTF9ESVIpCiArI0VYRUNVVEVfUFJPQ0VTUyhDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9IC1jICJmcm9tIHN5cyBpbXBvcnQgc3Rkb3V0OyBmcm9tIGRpc3R1dGlscyBpbXBvcnQgc3lzY29uZmlnOyBzdGRvdXQud3JpdGUoc3lzY29uZmlnLmdldF9weXRob25fbGliKCkpIiBPVVRQVVRfVkFSSUFCTEUgUFlUSE9OX0lOU1RBTExfRElSKQotIEVYRUNVVEVfUFJPQ0VTUyhDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9IC1jICJpbXBvcnQgc3lzOyBzeXMuc3Rkb3V0LndyaXRlKCclcy4lcycgJSAoc3lzLnZlcnNpb25faW5mby5tYWpvciwgc3lzLnZlcnNpb25faW5mby5taW5vcikpIiBPVVRQVVRfVkFSSUFCTEUgUFlUSE9OX01BSk9SX0RPVF9NSU5PUl9WRVJTSU9OKQogIE1FU1NBR0UoU1RBVFVTICJQeXRob24gaW5zdGFsbCBkaXIgaXMgJHtQWVRIT05fSU5TVEFMTF9ESVJ9IikKICAKLS0tIAotMi4xNC4yCi0KKyBBRERfU1VCRElSRUNUT1JZIChkbmYpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kbmYvZG5mXzIuNy41LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG5mL2RuZl8yLjcuNS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGY2MGQ3My4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kbmYvZG5mXzIuNy41LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNzUgKzAsMCBAQAotU1VNTUFSWSA9ICJQYWNrYWdlIG1hbmFnZXIgZm9ya2VkIGZyb20gWXVtLCB1c2luZyBsaWJzb2x2IGFzIGEgZGVwZW5kZW5jeSByZXNvbHZlciIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9QQUNLQUdFLUxJQ0VOU0lORzttZDU9YmZjMjk5MTZlMTEzMjFiZTA2OTI0YzRmYjA5NmZkY2MgXAotICAgICAgICAgICAgICAgICAgICIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3JwbS1zb2Z0d2FyZS1tYW5hZ2VtZW50L2RuZi5naXQgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1Db3JyZXRseS1pbnN0YWxsLXRtcGZpbGVzLmQtY29uZmlndXJhdGlvbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC1oYXJkY29kZS1ldGMtYW5kLXN5c3RlbWQtdW5pdC1kaXJlY3Rvcmllcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA1LURvLW5vdC1wcmVwZW5kLWluc3RhbGxyb290LXRvLWxvZ2Rpci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI5LURvLW5vdC1zZXQtUFlUSE9OX0lOU1RBTExfRElSLWJ5LXJ1bm5pbmctcHl0aG9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMzAtUnVuLXB5dGhvbi1zY3JpcHRzLXVzaW5nLWVudi5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDUkVWID0gIjU2NGM0NDY2N2M3MDE0ODQzZmE2ZjE3MzI2MjEwOTMxMTRlYzU5YjIiCi1VUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICIoP1A8cHZlcj5cZCsoXC5cZCspKykiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWluaGVyaXQgY21ha2UgZ2V0dGV4dCBiYXNoLWNvbXBsZXRpb24gZGlzdHV0aWxzMy1iYXNlIHN5c3RlbWQKLQotREVQRU5EUyArPSAibGliZG5mIGxpYnJlcG8gbGliY29tcHMgcHl0aG9uMy1pbmlwYXJzZSIKLQotIyBtYW5wYWdlcyBnZW5lcmF0aW9uIHJlcXVpcmVzIGh0dHA6Ly93d3cuc3BoaW54LWRvYy5vcmcvCi1FWFRSQV9PRUNNQUtFID0gIiAtRFdJVEhfTUFOPTAgLURQWVRIT05fSU5TVEFMTF9ESVI9JHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0gLURQWVRIT05fREVTSVJFRD0zIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KLVJERVBFTkRTXyR7UE59X2NsYXNzLXRhcmdldCArPSAiIFwKLSAgcHl0aG9uMy1jb3JlIFwKLSAgcHl0aG9uMy1jb2RlY3MgXAotICBweXRob24zLW5ldGNsaWVudCBcCi0gIHB5dGhvbjMtZW1haWwgXAotICBweXRob24zLXRocmVhZGluZyBcCi0gIHB5dGhvbjMtZGlzdHV0aWxzIFwKLSAgcHl0aG9uMy1sb2dnaW5nIFwKLSAgcHl0aG9uMy1mY250bCBcCi0gIGxpYnJlcG8gXAotICBweXRob24zLXNoZWxsIFwKLSAgbGliY29tcHMgXAotICBsaWJkbmYgXAotICBweXRob24zLXNxbGl0ZTMgXAotICBweXRob24zLWNvbXByZXNzaW9uIFwKLSAgcHl0aG9uMy1ycG0gXAotICBweXRob24zLWluaXBhcnNlIFwKLSAgcHl0aG9uMy1qc29uIFwKLSAgcHl0aG9uMy1jdXJzZXMgXAotICBweXRob24zLW1pc2MgXAotICBweXRob24zLWdwZyBcCi0gICIKLQotUlJFQ09NTUVORFNfJHtQTn1fY2xhc3MtdGFyZ2V0ICs9ICJnbnVwZyIKLQotIyBDcmVhdGUgYSBzeW1saW5rIGNhbGxlZCAnZG5mJyBhcyAnbWFrZSBpbnN0YWxsJyBkb2VzIG5vdCBkbyBpdCwgYnV0Ci0jIC5zcGVjIGZpbGUgaW4gZG5mIHNvdXJjZSB0cmVlIGRvZXMgKGFuZCB0aGVuIEZlZG9yYSBhbmQgZG5mIGRvY3VtZW50YXRpb24KLSMgc2F5cyB0aGF0IGRuZiBiaW5hcnkgaXMgcGxhaW4gJ2RuZicpLgotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgICAgIGxuciAke0R9LyR7YmluZGlyfS9kbmYtMyAke0R9LyR7YmluZGlyfS9kbmYKLSAgICAgICAgbG5yICR7RH0vJHtiaW5kaXJ9L2RuZi1hdXRvbWF0aWMtMyAke0R9LyR7YmluZGlyfS9kbmYtYXV0b21hdGljCi19Ci0KLSMgRGlyZWN0IGRuZi1uYXRpdmUgdG8gcmVhZCBycG0gY29uZmlndXJhdGlvbiBmcm9tIG91ciBzeXNyb290LCBub3QgdGhlIG9uZSBpdCB3YXMgY29tcGlsZWQgaW4KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKLSAgICAgICAgY3JlYXRlX3dyYXBwZXIgJHtEfS8ke2JpbmRpcn0vZG5mIFwKLSAgICAgICAgICAgICAgICBSUE1fQ09ORklHRElSPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9ycG0gXAotICAgICAgICAgICAgICAgIFJQTV9OT19DSFJPT1RfRk9SX1NDUklQVFM9MQotfQotCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiZG5mLW1ha2VjYWNoZS5zZXJ2aWNlIGRuZi1tYWtlY2FjaGUudGltZXIgXAotICAgICAgICAgICAgICAgICAgICAgICAgIGRuZi1hdXRvbWF0aWMuc2VydmljZSBkbmYtYXV0b21hdGljLnRpbWVyIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICBkbmYtYXV0b21hdGljLWRvd25sb2FkLnNlcnZpY2UgZG5mLWF1dG9tYXRpYy1kb3dubG9hZC50aW1lciBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgZG5mLWF1dG9tYXRpYy1pbnN0YWxsLnNlcnZpY2UgZG5mLWF1dG9tYXRpYy1pbnN0YWxsLnRpbWVyIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICBkbmYtYXV0b21hdGljLW5vdGlmeW9ubHkuc2VydmljZSBkbmYtYXV0b21hdGljLW5vdGlmeW9ubHkudGltZXIgXAotIgotU1lTVEVNRF9BVVRPX0VOQUJMRSA/PSAiZGlzYWJsZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RuZi9kbmZfNC4xLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kbmYvZG5mXzQuMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0NTAyM2UKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kbmYvZG5mXzQuMS4wLmJiCkBAIC0wLDAgKzEsNzUgQEAKK1NVTU1BUlkgPSAiUGFja2FnZSBtYW5hZ2VyIGZvcmtlZCBmcm9tIFl1bSwgdXNpbmcgbGlic29sdiBhcyBhIGRlcGVuZGVuY3kgcmVzb2x2ZXIiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vUEFDS0FHRS1MSUNFTlNJTkc7bWQ1PTRhMDU0OGUzMDNkYmM3N2YwNjczMzViNGQ2ODhlNzQ1IFwKKyAgICAgICAgICAgICAgICAgICAgIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vcnBtLXNvZnR3YXJlLW1hbmFnZW1lbnQvZG5mLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUNvcnJldGx5LWluc3RhbGwtdG1wZmlsZXMuZC1jb25maWd1cmF0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LWhhcmRjb2RlLWV0Yy1hbmQtc3lzdGVtZC11bml0LWRpcmVjdG9yaWVzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDUtRG8tbm90LXByZXBlbmQtaW5zdGFsbHJvb3QtdG8tbG9nZGlyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjktRG8tbm90LXNldC1QWVRIT05fSU5TVEFMTF9ESVItYnktcnVubmluZy1weXRob24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAzMC1SdW4tcHl0aG9uLXNjcmlwdHMtdXNpbmctZW52LnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNSRVYgPSAiYWQ5YjIxNzU1MTdjODk2Yzg5OGNmOWM4NjYwZTliOWI2ODhhYzVjNyIKK1VQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gIig/UDxwdmVyPlxkKyhcLlxkKykrKSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBjbWFrZSBnZXR0ZXh0IGJhc2gtY29tcGxldGlvbiBkaXN0dXRpbHMzLWJhc2Ugc3lzdGVtZAorCitERVBFTkRTICs9ICJsaWJkbmYgbGlicmVwbyBsaWJjb21wcyBweXRob24zLWluaXBhcnNlIgorCisjIG1hbnBhZ2VzIGdlbmVyYXRpb24gcmVxdWlyZXMgaHR0cDovL3d3dy5zcGhpbngtZG9jLm9yZy8KK0VYVFJBX09FQ01BS0UgPSAiIC1EV0lUSF9NQU49MCAtRFBZVEhPTl9JTlNUQUxMX0RJUj0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSAtRFBZVEhPTl9ERVNJUkVEPTMiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworUkRFUEVORFNfJHtQTn1fY2xhc3MtdGFyZ2V0ICs9ICIgXAorICBweXRob24zLWNvcmUgXAorICBweXRob24zLWNvZGVjcyBcCisgIHB5dGhvbjMtbmV0Y2xpZW50IFwKKyAgcHl0aG9uMy1lbWFpbCBcCisgIHB5dGhvbjMtdGhyZWFkaW5nIFwKKyAgcHl0aG9uMy1kaXN0dXRpbHMgXAorICBweXRob24zLWxvZ2dpbmcgXAorICBweXRob24zLWZjbnRsIFwKKyAgbGlicmVwbyBcCisgIHB5dGhvbjMtc2hlbGwgXAorICBsaWJjb21wcyBcCisgIGxpYmRuZiBcCisgIHB5dGhvbjMtc3FsaXRlMyBcCisgIHB5dGhvbjMtY29tcHJlc3Npb24gXAorICBweXRob24zLXJwbSBcCisgIHB5dGhvbjMtaW5pcGFyc2UgXAorICBweXRob24zLWpzb24gXAorICBweXRob24zLWN1cnNlcyBcCisgIHB5dGhvbjMtbWlzYyBcCisgIHB5dGhvbjMtZ3BnIFwKKyAgIgorCitSUkVDT01NRU5EU18ke1BOfV9jbGFzcy10YXJnZXQgKz0gImdudXBnIgorCisjIENyZWF0ZSBhIHN5bWxpbmsgY2FsbGVkICdkbmYnIGFzICdtYWtlIGluc3RhbGwnIGRvZXMgbm90IGRvIGl0LCBidXQKKyMgLnNwZWMgZmlsZSBpbiBkbmYgc291cmNlIHRyZWUgZG9lcyAoYW5kIHRoZW4gRmVkb3JhIGFuZCBkbmYgZG9jdW1lbnRhdGlvbgorIyBzYXlzIHRoYXQgZG5mIGJpbmFyeSBpcyBwbGFpbiAnZG5mJykuCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAgICAgbG5yICR7RH0vJHtiaW5kaXJ9L2RuZi0zICR7RH0vJHtiaW5kaXJ9L2RuZgorICAgICAgICBsbnIgJHtEfS8ke2JpbmRpcn0vZG5mLWF1dG9tYXRpYy0zICR7RH0vJHtiaW5kaXJ9L2RuZi1hdXRvbWF0aWMKK30KKworIyBEaXJlY3QgZG5mLW5hdGl2ZSB0byByZWFkIHJwbSBjb25maWd1cmF0aW9uIGZyb20gb3VyIHN5c3Jvb3QsIG5vdCB0aGUgb25lIGl0IHdhcyBjb21waWxlZCBpbgorZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlKCkgeworICAgICAgICBjcmVhdGVfd3JhcHBlciAke0R9LyR7YmluZGlyfS9kbmYgXAorICAgICAgICAgICAgICAgIFJQTV9DT05GSUdESVI9JHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L3JwbSBcCisgICAgICAgICAgICAgICAgUlBNX05PX0NIUk9PVF9GT1JfU0NSSVBUUz0xCit9CisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJkbmYtbWFrZWNhY2hlLnNlcnZpY2UgZG5mLW1ha2VjYWNoZS50aW1lciBcCisgICAgICAgICAgICAgICAgICAgICAgICAgZG5mLWF1dG9tYXRpYy5zZXJ2aWNlIGRuZi1hdXRvbWF0aWMudGltZXIgXAorICAgICAgICAgICAgICAgICAgICAgICAgIGRuZi1hdXRvbWF0aWMtZG93bmxvYWQuc2VydmljZSBkbmYtYXV0b21hdGljLWRvd25sb2FkLnRpbWVyIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBkbmYtYXV0b21hdGljLWluc3RhbGwuc2VydmljZSBkbmYtYXV0b21hdGljLWluc3RhbGwudGltZXIgXAorICAgICAgICAgICAgICAgICAgICAgICAgIGRuZi1hdXRvbWF0aWMtbm90aWZ5b25seS5zZXJ2aWNlIGRuZi1hdXRvbWF0aWMtbm90aWZ5b25seS50aW1lciBcCisiCitTWVNURU1EX0FVVE9fRU5BQkxFID89ICJkaXNhYmxlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG9jYm9vay14bWwvZG9jYm9vay14bWwtZHRkNC9kb2Nib29rLXhtbC54bWwgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kb2Nib29rLXhtbC9kb2Nib29rLXhtbC1kdGQ0L2RvY2Jvb2steG1sLnhtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjcxZjU1OS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kb2Nib29rLXhtbC9kb2Nib29rLXhtbC1kdGQ0L2RvY2Jvb2steG1sLnhtbAorKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NUWVBFIGNhdGFsb2cgUFVCTElDICItLy9PQVNJUy8vRFREIEVudGl0eSBSZXNvbHV0aW9uIFhNTCBDYXRhbG9nIFYxLjAvL0VOIiAiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9jb21taXR0ZWVzL2VudGl0eS9yZWxlYXNlLzEuMC9jYXRhbG9nLmR0ZCI+Ci08Y2F0YWxvZyB4bWxucz0idXJuOm9hc2lzOm5hbWVzOnRjOmVudGl0eTp4bWxuczp4bWw6Y2F0YWxvZyI+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRU5USVRJRVMgRG9jQm9vayBOb3RhdGlvbnMgVjQuNC8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC40L2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRUxFTUVOVFMgRG9jQm9vayBEb2N1bWVudCBIaWVyYXJjaHkgVjQuMi8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4yL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRUxFTUVOVFMgRG9jQm9vayBYTUwgSFRNTCBUYWJsZXMgVjQuMy8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4zL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9Ob3JtYW4gV2Fsc2gvL0VMRU1FTlRTIERvY0Jvb2sgWE1MIEluZm9ybWF0aW9uIFBvb2wgVjQuMC8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4wL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRUxFTUVOVFMgRG9jQm9vayBJbmZvcm1hdGlvbiBQb29sIFY0LjQvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuNC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VOVElUSUVTIERvY0Jvb2sgQWRkaXRpb25hbCBHZW5lcmFsIEVudGl0aWVzIFY0LjQvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuNC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VMRU1FTlRTIERvY0Jvb2sgWE1MIEhUTUwgVGFibGVzIFY0LjQvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuNC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VOVElUSUVTIERvY0Jvb2sgQWRkaXRpb25hbCBHZW5lcmFsIEVudGl0aWVzIFY0LjUvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuNS9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0RURCBEb2NCb29rIENBTFMgVGFibGUgTW9kZWwgVjQuMy8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4zL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRUxFTUVOVFMgRG9jQm9vayBJbmZvcm1hdGlvbiBQb29sIFY0LjMvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMy9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBWNC8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgVjQuMS8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL05vcm1hbiBXYWxzaC8vRU5USVRJRVMgRG9jQm9vayBYTUwgTm90YXRpb25zIFY0LjAvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VMRU1FTlRTIERvY0Jvb2sgSW5mb3JtYXRpb24gUG9vbCBWNC41Ly9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjUvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTlRJVElFUyBEb2NCb29rIE5vdGF0aW9ucyBWNC4yLy9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjIvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9EVEQgRG9jQm9vayBDQUxTIFRhYmxlIE1vZGVsIFY0LjEuMi8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4xLjIvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL05vcm1hbiBXYWxzaC8vRFREIENBTFMgVGFibGUgTW9kZWwgWE1MIFY0LjAvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vTm9ybWFuIFdhbHNoLy9FTlRJVElFUyBEb2NCb29rIFhNTCBDaGFyYWN0ZXIgRW50aXRpZXMgVjQuMC8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4wL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9Ob3JtYW4gV2Fsc2gvL0VMRU1FTlRTIERvY0Jvb2sgWE1MIERvY3VtZW50IEhpZXJhcmNoeSBWNC4wLy9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjAvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgVjQuMS4yLy9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjEuMi9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBWNC40Ly9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjQvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTlRJVElFUyBEb2NCb29rIE5vdGF0aW9ucyBWNC4zLy9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjMvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9EVEQgRG9jQm9vayBDQUxTIFRhYmxlIE1vZGVsIFY0LjIvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMi9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vTm9ybWFsIFdhbHNoLy9FeGNoYW5nZSBUYWJsZSBNb2RlbCAxOTk2MDQzMCBYTUwgVjQuMC8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4wL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRU5USVRJRVMgRG9jQm9vayBBZGRpdGlvbmFsIEdlbmVyYWwgRW50aXRpZXMgVjQuMi8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4yL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVN5c3RlbSBzeXN0ZW1JZFN0YXJ0U3RyaW5nPSJodHRwOi8vZG9jYm9vay5vcmcveG1sLzQuNC9kb2Nib29reC5kdGQiIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC40L2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVN5c3RlbSBzeXN0ZW1JZFN0YXJ0U3RyaW5nPSJodHRwOi8vZG9jYm9vay5vcmcveG1sLzQuMS9kb2Nib29reC5kdGQiIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTlRJVElFUyBEb2NCb29rIE5vdGF0aW9ucyBWNC41Ly9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjUvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL05vcm1hbiBXYWxzaC8vRFREIERvY0JrIFhNTCBWNC4wLy9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjAvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlU3lzdGVtIHN5c3RlbUlkU3RhcnRTdHJpbmc9Imh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4zL2RvY2Jvb2t4LmR0ZCIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjMvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlU3lzdGVtIHN5c3RlbUlkU3RhcnRTdHJpbmc9Imh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC41L2RvY2Jvb2t4LmR0ZCIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjUvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTlRJVElFUyBEb2NCb29rIENoYXJhY3RlciBFbnRpdGllcyBWNC41Ly9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjUvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTEVNRU5UUyBEb2NCb29rIFhNTCBJbmZvcm1hdGlvbiBQb29sIFY0LjEuMi8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4xLjIvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL05vcm1hbiBXYWxzaC8vRFREIERvY0Jvb2sgWE1MIFY0LjAvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VOVElUSUVTIERvY0Jvb2sgQWRkaXRpb25hbCBHZW5lcmFsIEVudGl0aWVzIFY0LjMvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMy9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL2RvY2Jvb2sub3JnL3htbC80LjEuMi9kb2Nib29reC5kdGQiIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4xLjIvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTEVNRU5UUyBEb2NCb29rIFhNTCBIVE1MIFRhYmxlcyBWNC41Ly9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjUvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTEVNRU5UUyBEb2NCb29rIERvY3VtZW50IEhpZXJhcmNoeSBWNC40Ly9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjQvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlU3lzdGVtIHN5c3RlbUlkU3RhcnRTdHJpbmc9Imh0dHA6Ly9kb2Nib29rLm9yZy94bWwvNC41L2RvY2Jvb2t4LmR0ZCIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjUvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTlRJVElFUyBEb2NCb29rIE5vdGF0aW9ucyBWNC4xLjIvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMS4yL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRUxFTUVOVFMgRG9jQm9vayBEb2N1bWVudCBIaWVyYXJjaHkgVjQuMy8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4zL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRFREIERvY0Jvb2sgWE1MIFY0LjUvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuNS9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VOVElUSUVTIERvY0Jvb2sgQ2hhcmFjdGVyIEVudGl0aWVzIFY0LjIvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMi9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjEuMi9kb2Nib29reC5kdGQiIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4xLjIvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTEVNRU5UUyBEb2NCb29rIERvY3VtZW50IEhpZXJhcmNoeSBWNC41Ly9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjUvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL05vcm1hbiBXYWxzaC8vRU5USVRJRVMgRG9jQm9vayBYTUwgQWRkaXRpb25hbCBHZW5lcmFsIEVudGl0aWVzIFY0LjAvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBWNC4yLy9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjIvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9EVEQgRG9jQm9vayBDQUxTIFRhYmxlIE1vZGVsIFY0LjQvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuNC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjIvZG9jYm9va3guZHRkIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMi9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjAvZG9jYm9va3guZHRkIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL2RvY2Jvb2sub3JnL3htbC80LjIvZG9jYm9va3guZHRkIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMi9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VOVElUSUVTIERvY0Jvb2sgQ2hhcmFjdGVyIEVudGl0aWVzIFY0LjMvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMy9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0RURCBYTUwgRXhjaGFuZ2UgVGFibGUgTW9kZWwgMTk5OTAzMTUvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuNS9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VOVElUSUVTIERvY0Jvb2sgQ2hhcmFjdGVyIEVudGl0aWVzIFY0LjQvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuNC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjQvZG9jYm9va3guZHRkIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuNC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VOVElUSUVTIERvY0Jvb2sgQWRkaXRpb25hbCBHZW5lcmFsIEVudGl0aWVzIFY0LjEuMi8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4xLjIvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgVjQuMy8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4zL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVN5c3RlbSBzeXN0ZW1JZFN0YXJ0U3RyaW5nPSJodHRwOi8vZG9jYm9vay5vcmcveG1sLzQuMy9kb2Nib29reC5kdGQiIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4zL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRUxFTUVOVFMgRG9jQm9vayBJbmZvcm1hdGlvbiBQb29sIFY0LjIvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMi9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0RURCBEb2NCb29rIENBTFMgVGFibGUgTW9kZWwgVjQuNS8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC41L2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRFREIERvY0Jvb2sgWE1MLy9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VMRU1FTlRTIERvY0Jvb2sgRG9jdW1lbnQgSGllcmFyY2h5IFY0LjEuMi8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4xLjIvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTlRJVElFUyBEb2NCb29rIENoYXJhY3RlciBFbnRpdGllcyBWNC4xLjIvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMS4yL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVN5c3RlbSBzeXN0ZW1JZFN0YXJ0U3RyaW5nPSJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuMS9kb2Nib29reC5kdGQiIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvY2F0YWxvZy54bWwiLz4KLTwvY2F0YWxvZz4KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RvY2Jvb2steG1sL2RvY2Jvb2steG1sLWR0ZDRfNC41LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG9jYm9vay14bWwvZG9jYm9vay14bWwtZHRkNF80LjUuYmIKaW5kZXggZGE2MmI3Ny4uNGI2YTI4ZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG9jYm9vay14bWwvZG9jYm9vay14bWwtZHRkNF80LjUuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG9jYm9vay14bWwvZG9jYm9vay14bWwtZHRkNF80LjUuYmIKQEAgLTgsMTMgKzgsMTQgQEAKIExJQ0VOU0UgPSAiT0FTSVMiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1dPUktESVJ9L0xJQ0VOU0UtT0FTSVM7bWQ1PWM2MDg5ODVkZDVmN2YyMTVlNjY5ZTc2MzlhMGIxZDJlIgogCitERVBFTkRTID0gImxpYnhtbDItbmF0aXZlIgorCiAjIE5vdGU6IHRoZSB1cHN0cmVhbSBzb3VyY2VzIGFyZSBub3QgZGlzdHJpYnV0ZWQgd2l0aCBhIGxpY2Vuc2UgZmlsZS4KICMgTElDRU5TRS1PQVNJUyBpcyBpbmNsdWRlZCBhcyBhICJwYXRjaCIgdG8gd29ya2Fyb3VuZCB0aGlzLiBXaGVuCiAjIHVwZ3JhZGluZyB0aGlzIHJlY2lwZSwgcGxlYXNlIHZlcmlmeSB3aGV0aGVyIHRoaXMgaXMgc3RpbGwgbmVlZGVkLgogU1JDX1VSSSA9ICJodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi8yMDE2MDcyOFQwNDM0NDNaL3Bvb2wvbWFpbi9kL2RvY2Jvb2steG1sL2RvY2Jvb2steG1sXyR7UFZ9Lm9yaWcudGFyLmd6IFwKICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0UtT0FTSVMgXAogICAgICAgICAgICBmaWxlOi8vZG9jYm9vay14bWwtdXBkYXRlLWNhdGFsb2cueG1sLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2RvY2Jvb2steG1sLnhtbCBcCiAiCiAKIFNSQ19VUklbbWQ1c3VtXSA9ICI0ODdiNGQ0NGUxNWNmZmIxZjQwNDhhZjIzZjk4MjA4ZSIKQEAgLTIyLDcgKzIzLDcgQEAKIAogVVBTVFJFQU1fQ0hFQ0tfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9kL2RvY2Jvb2steG1sLyIKIAotUz0iJHtXT1JLRElSfS9kb2Nib29rLXhtbC00LjUuYzMxNDI0IgorUyA9ICIke1dPUktESVJ9L2RvY2Jvb2steG1sLTQuNS5jMzE0MjQiCiAKIGluaGVyaXQgYWxsYXJjaAogQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCkBAIC0zNiwyMCArMzcsMTggQEAKIH0KIAogZG9faW5zdGFsbCAoKSB7Ci0gICAgIyBSZWZlciBkZWJpYW4gaHR0cHM6Ly9wYWNrYWdlcy5kZWJpYW4ub3JnL3NpZC9hbGwvZG9jYm9vay14bWwvZmlsZWxpc3QKLSAgICBmb3IgRFREVkVSU0lPTiBpbiA0LjAgNC4xLjIgNC4yIDQuMyA0LjQgNC41OyBkbwotICAgICAgICBpbnN0YWxsIC1kIC1tIDc1NSAke0R9JHtkYXRhZGlyfS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLyR7RFREVkVSU0lPTn0KLSAgICAgICAgY3AgLXYgLVIgZG9jYm9vay0ke0RURFZFUlNJT059LyogJHtEfSR7ZGF0YWRpcn0veG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC8ke0RURFZFUlNJT059Ci0gICAgZG9uZQotCiAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS94bWwvCi0gICAgaW5zdGFsbCAtbSA3NTUgICR7V09SS0RJUn0vZG9jYm9vay14bWwueG1sICR7RH0ke3N5c2NvbmZkaXJ9L3htbC9kb2Nib29rLXhtbC54bWwKKyAgICB4bWxjYXRhbG9nIC0tY3JlYXRlIC0tbm9vdXQgJHtEfSR7c3lzY29uZmRpcn0veG1sL2RvY2Jvb2steG1sLnhtbAorCisgICAgZm9yIERURFZFUlNJT04gaW4gNC4wIDQuMS4yIDQuMiA0LjMgNC40IDQuNTsgZG8KKyAgICAgICAgREVTVD0ke2RhdGFkaXJ9L3htbC9kb2Nib29rL3NjaGVtYS9kdGQvJERURFZFUlNJT04KKyAgICAgICAgaW5zdGFsbCAtZCAtbSA3NTUgJHtEfSRERVNUCisgICAgICAgIGNwIC12IC1SIGRvY2Jvb2stJERURFZFUlNJT04vKiAke0R9JERFU1QKKyAgICAgICAgeG1sY2F0YWxvZyAtLXZlcmJvc2UgLS1ub291dCAtLWFkZCBuZXh0Q2F0YWxvZyB1bnVzZWQgZmlsZTovLyRERVNUL2NhdGFsb2cueG1sICR7RH0ke3N5c2NvbmZkaXJ9L3htbC9kb2Nib29rLXhtbC54bWwKKyAgICBkb25lCiB9CiAKLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7Ci0JIyBFbnN1cmUgdGhhdCB0aGUgY2F0YWxvZyBmaWxlIHNnbWwtZG9jYm9vay5jYXQgaXMgcHJvcGVybHkKLQkjIHVwZGF0ZWQgd2hlbiB0aGUgcGFja2FnZSBpcyBpbnN0YWxsZWQgZnJvbSBzc3RhdGUgY2FjaGUuCi0Jc2VkIC1pIC1lICJzfGZpbGU6Ly8uKi91c3Ivc2hhcmUveG1sfGZpbGU6Ly8ke2RhdGFkaXJ9L3htbHxnIiAke0R9JHtzeXNjb25mZGlyfS94bWwvZG9jYm9vay14bWwueG1sCi19CitYTUxDQVRBTE9HUyA9ICIke3N5c2NvbmZkaXJ9L3htbC9kb2Nib29rLXhtbC54bWwiCitpbmhlcml0IHhtbGNhdGFsb2cKIAogRklMRVNfJHtQTn0gPSAiJHtkYXRhZGlyfS8qICR7c3lzY29uZmRpcn0veG1sL2RvY2Jvb2steG1sLnhtbCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RvY2Jvb2steG1sL2RvY2Jvb2steHNsLXN0eWxlc2hlZXRzL2RvY2Jvb2steHNsLnhtbCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RvY2Jvb2steG1sL2RvY2Jvb2steHNsLXN0eWxlc2hlZXRzL2RvY2Jvb2steHNsLnhtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzYwNTU1YS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kb2Nib29rLXhtbC9kb2Nib29rLXhzbC1zdHlsZXNoZWV0cy9kb2Nib29rLXhzbC54bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NUWVBFIGNhdGFsb2cgUFVCTElDICItLy9PQVNJUy8vRFREIEVudGl0eSBSZXNvbHV0aW9uIFhNTCBDYXRhbG9nIFYxLjAvL0VOIiAiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9jb21taXR0ZWVzL2VudGl0eS9yZWxlYXNlLzEuMC9jYXRhbG9nLmR0ZCI+Ci08Y2F0YWxvZyB4bWxucz0idXJuOm9hc2lzOm5hbWVzOnRjOmVudGl0eTp4bWxuczp4bWw6Y2F0YWxvZyI+Ci08ZGVsZWdhdGVVUkkgdXJpU3RhcnRTdHJpbmc9Imh0dHA6Ly9kb2Nib29rLnNvdXJjZWZvcmdlLm5ldC9yZWxlYXNlL3hzbC8iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3hzbC1zdHlsZXNoZWV0cy9jYXRhbG9nLnhtbCIvPgotPGRlbGVnYXRlU3lzdGVtIHN5c3RlbUlkU3RhcnRTdHJpbmc9Imh0dHA6Ly9kb2Nib29rLnNvdXJjZWZvcmdlLm5ldC9yZWxlYXNlL3hzbC8iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3hzbC1zdHlsZXNoZWV0cy9jYXRhbG9nLnhtbCIvPgotPC9jYXRhbG9nPgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG9jYm9vay14bWwvZG9jYm9vay14c2wtc3R5bGVzaGVldHNfMS43OS4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG9jYm9vay14bWwvZG9jYm9vay14c2wtc3R5bGVzaGVldHNfMS43OS4xLmJiCmluZGV4IDA3ZDMyY2UuLmZmMzhlODcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RvY2Jvb2steG1sL2RvY2Jvb2steHNsLXN0eWxlc2hlZXRzXzEuNzkuMS5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kb2Nib29rLXhtbC9kb2Nib29rLXhzbC1zdHlsZXNoZWV0c18xLjc5LjEuYmIKQEAgLTQsNyArNCw2IEBACiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT02YmVhZGQ5OGY5YzU0YWIwYzM4N2UxNDIxMWVlNGQwZSIKIAogU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vZG9jYm9vay9kb2Nib29rLXhzbC0ke1BWfS50YXIuYnoyIFwKLSAgICAgICAgICAgZmlsZTovL2RvY2Jvb2steHNsLnhtbCBcCiAgICAgICAgICAgIGZpbGU6Ly9kb2Nib29rLXhzbC1zdHlsZXNoZWV0cy1uby1iYXNoaXNtLWluLWRvY2Jvb2steHNsLXVwLnBhdGNoIFwKICIKIApAQCAtMTUsMTAgKzE0LDExIEBACiAjIFJlamVjdCB2ZXJzaW9ucyBlbmRpbmcgaW4gLjAgYXMgdGhvc2UgYXJlIHJlbGVhc2UgY2FuZGlkYXRlcwogVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiL2RvY2Jvb2steHNsLyg/UDxwdmVyPihcZCtbXC5cLV9dKikrKD8hXC4wKVwuXGQrKS8iCiAKK0RFUEVORFMgPSAibGlieG1sMi1uYXRpdmUiCisKIFMgPSAiJHtXT1JLRElSfS9kb2Nib29rLXhzbC0ke1BWfSIKIAotaW5oZXJpdCBhbGxhcmNoCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKK2luaGVyaXQgYWxsYXJjaCB4bWxjYXRhbG9nCiAKIGRvX2NvbmZpZ3VyZSAoKXsKIAk6CkBAIC0yOSw4ICsyOSw2IEBACiB9CiAKIGRvX2luc3RhbGwgKCkgewotCSMgUmVmZXIgdG8gaHR0cDovL3d3dy5saW51eGZyb21zY3JhdGNoLm9yZy9ibGZzL3ZpZXcvc3RhYmxlL3BzdC9kb2Nib29rLXhzbC5odG1sCi0JIyBmb3IgZGV0YWlscy4KIAlpbnN0YWxsIC12IC1tNzU1IC1kICR7RH0ke2RhdGFkaXJ9L3htbC9kb2Nib29rL3hzbC1zdHlsZXNoZWV0cy0ke1BWfQogCWxuIC1zIHhzbC1zdHlsZXNoZWV0cy0ke1BWfSAke0R9JHtkYXRhZGlyfS94bWwvZG9jYm9vay94c2wtc3R5bGVzaGVldHMKIApAQCAtNDIsMjIgKzQwLDE0IEBACiAKIAlsbiAtcyBWRVJTSU9OICR7RH0vJHtkYXRhZGlyfS94bWwvZG9jYm9vay94c2wtc3R5bGVzaGVldHMtJHtQVn0vVkVSU0lPTi54c2wKIAotCWluc3RhbGwgLXYgLW02NDQgLUQgUkVBRE1FIFwKLQkJJHtEfSR7ZGF0YWRpcn0vZG9jL2RvY2Jvb2steHNsLSR7UFZ9L1JFQURNRS50eHQKLQlpbnN0YWxsIC12IC1tNjQ0ICAgIFJFTEVBU0UtTk9URVMqIE5FV1MqIFwKLQkJJHtEfSR7ZGF0YWRpcn0vZG9jL2RvY2Jvb2steHNsLSR7UFZ9Ci0KLQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3htbC8KLQlpbnN0YWxsIC1tIDc1NSAgJHtXT1JLRElSfS9kb2Nib29rLXhzbC54bWwgJHtEfSR7c3lzY29uZmRpcn0veG1sL2RvY2Jvb2steHNsLnhtbAotCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7Ci0JIyBFbnN1cmUgdGhhdCB0aGUgY2F0YWxvZyBmaWxlIHNnbWwtZG9jYm9vay5jYXQgaXMgcHJvcGVybHkKLQkjIHVwZGF0ZWQgd2hlbiB0aGUgcGFja2FnZSBpcyBpbnN0YWxsZWQgZnJvbSBzc3RhdGUgY2FjaGUuCi0Jc2VkIC1pIC1lICJzfGZpbGU6Ly8uKi91c3Ivc2hhcmUveG1sfGZpbGU6Ly8ke2RhdGFkaXJ9L3htbHxnIiAke0R9JHtzeXNjb25mZGlyfS94bWwvZG9jYm9vay14c2wueG1sCisJaW5zdGFsbCAtZCAke0R9JHtkb2NkaXJ9LyR7QlBOfQorCWluc3RhbGwgLXYgLW02NDQgUkVBRE1FIFJFTEVBU0UtTk9URVMqIE5FV1MqICR7RH0ke2RvY2Rpcn0vJHtCUE59CiB9CiAKIFJERVBFTkRTXyR7UE59ICs9ICJwZXJsIgogRklMRVNfJHtQTn0gPSAiJHtkYXRhZGlyfS94bWwvKiAke3N5c2NvbmZkaXJ9L3htbC9kb2Nib29rLXhzbC54bWwiCiBGSUxFU18ke1BOfS1kb2MgPSAiJHtkYXRhZGlyfS9kb2MvKiIKKworWE1MQ0FUQUxPR1MgPSAiJHtkYXRhZGlyfS94bWwvZG9jYm9vay94c2wtc3R5bGVzaGVldHMtJHtQVn0vY2F0YWxvZy54bWwiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZy5pbmMKaW5kZXggZmU0NzMyZC4uZmVlN2E3NSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kcGtnL2Rwa2cuaW5jCkBAIC05LDE1ICs5LDggQEAKIAogVVBTVFJFQU1fQ0hFQ0tfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9kL2Rwa2cvIgogCi1pbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBlcmxuYXRpdmUgcGtnY29uZmlnIHN5c3RlbWQgcGVybC12ZXJzaW9uCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBlcmxuYXRpdmUgcGtnY29uZmlnIHBlcmwtdmVyc2lvbgogCi1weXRob24gKCkgewotICAgIGlmIG5vdCBiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3Zpbml0JywgVHJ1ZSwgRmFsc2UsIGQpOgotICAgICAgICBwbiA9IGQuZ2V0VmFyKCdQTicpCi0gICAgICAgIGQuc2V0VmFyKCdTWVNURU1EX1NFUlZJQ0VfJXMnICUgKHBuKSwgJ2Rwa2ctY29uZmlndXJlLnNlcnZpY2UnKQotfQotCi1leHBvcnQgUEVSTCA9ICIke2JpbmRpcn0vcGVybCIKIFBFUkxfY2xhc3MtbmF0aXZlID0gIiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9wZXJsLW5hdGl2ZS9wZXJsIgogCiBleHBvcnQgUEVSTF9MSUJESVIgPSAiJHtsaWJkaXJ9L3BlcmwvJHtAZ2V0X3BlcmxfdmVyc2lvbihkKX0iCkBAIC0yOSwxNCArMjIsMTQgQEAKIAkJLS13aXRoLWxpYnogXAogCQktLXdpdGgtbGliYnoyIFwKIAkJLS13aXRob3V0LWxpYnNlbGludXggXAorCQlUQVI9dGFyIFwKIAkJIgogCitFWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgLS1kaXNhYmxlLXVwZGF0ZS1hbHRlcm5hdGl2ZXMgREVCX0hPU1RfQVJDSD0ke0RQS0dfQVJDSH0iCisKIFBBQ0tBR0VDT05GSUcgPSAibGlibHptYSIKIFBBQ0tBR0VDT05GSUdbbGlibHptYV0gPSAiLS13aXRoLWxpYmx6bWEsLS13aXRob3V0LWxpYmx6bWEsIHh6IgogCi1FWFRSQV9PRUNPTkYgKz0gIlRBUj10YXIiCi1FWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgREVCX0hPU1RfQVJDSD0ke0RQS0dfQVJDSH0iCi0KIGRvX2luc3RhbGxfYXBwZW5kICgpIHsKIAlpZiBbICIke1BOfSIgPSAiZHBrZy1uYXRpdmUiIF07IHRoZW4KIAkJIyB1cGRhdGUtYWx0ZXJuYXRpdmVzIGRvZXNuJ3QgaGF2ZSBhbiBvZmZsaW5lIG1vZGUKQEAgLTQ1LDE2ICszOCw2IEBACiAJZWxzZQogCQlzZWQgLWkgLWUgJ3N8XiMhLioke2JpbmRpcn0vcGVybC1uYXRpdmUuKi9wZXJsfCMhL3Vzci9iaW4vZW52IHBlcmx8JyAke0R9JHtiaW5kaXJ9L2Rwa2ctKgogCWZpCi0KLQlpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdmluaXQnLCdmYWxzZScsJ3RydWUnLGQpfTt0aGVuCi0JCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLQkJaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZHBrZy1jb25maWd1cmUuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KLQkJc2VkIC1pIC1lICdzLEBCQVNFX0JJTkRJUkAsJHtiYXNlX2JpbmRpcn0sZycgXAotCQkJLWUgJ3MsQFNZU0NPTkZESVJALCR7c3lzY29uZmRpcn0sZycgXAotCQkJLWUgJ3MsQEJJTkRJUkAsJHtiaW5kaXJ9LGcnIFwKLQkJCS1lICdzLEBTWVNURU1EX1VOSVRESVJALCR7c3lzdGVtZF91bml0ZGlyfSxnJyBcCi0JCQkke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9kcGtnLWNvbmZpZ3VyZS5zZXJ2aWNlCi0JZmkKIH0KIAogUFJPViA9ICJ2aXJ0dWFsL3VwZGF0ZS1hbHRlcm5hdGl2ZXMiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kcGtnL2Rwa2cvMDAwMS1hcmNoLUFkZC1zdXBwb3J0LWZvci1yaXNjdjY0LUNQVS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZy8wMDAxLWFyY2gtQWRkLXN1cHBvcnQtZm9yLXJpc2N2NjQtQ1BVLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NWM2MDZlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZy8wMDAxLWFyY2gtQWRkLXN1cHBvcnQtZm9yLXJpc2N2NjQtQ1BVLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotRnJvbSAzMTlmMzJkNzQzZjViNWU3MjUwMTI2NTRkMTI0ZTQ5MjI2ZDVkZTkxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMTYgTWFyIDIwMTggMjA6Mjg6MjQgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gYXJjaDogQWRkIHN1cHBvcnQgZm9yIHJpc2N2NjQgQ1BVCi0KLSAgKiBBcmNoaXRlY3R1cmUgc3VwcG9ydDoKLSAgICAtIEFkZCBzdXBwb3J0IGZvciByaXNjdjY0IENQVS4gQ2xvc2VzOiAjODIyOTE0Ci0gICAgICBUaGFua3MgdG8gTWFudWVsIEEuIEZlcm5hbmRleiBNb250ZWNlbG8gPG1hZm1AZGViaWFuLm9yZz4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9hbGlvdGguZGViaWFuLm9yZy9wbHVnaW5zL3NjbWdpdC9jZ2ktYmluL2dpdHdlYi5jZ2k/cD1kcGtnJTJGZHBrZy5naXQ7YT1jb21taXRkaWZmX3BsYWluO2g9ZWUwODU1Y2M2NjA3NjY5MWRlNDc5NmJlNDhmOGEwZDg4OWZkZTAwMTtocD0yZjU4MTZkOGJlNDBiNDQ5ZDI0NzNiMjJmOWUwYzMzYjMyZjNiZDc4XQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gZGF0YS9jcHV0YWJsZSAgICAgICAgIHwgMSArCi0gc2NyaXB0cy90L0Rwa2dfQXJjaC50IHwgNCArKy0tCi0gMiBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9kYXRhL2NwdXRhYmxlIGIvZGF0YS9jcHV0YWJsZQotaW5kZXggYTJiZDdkNi4uOWYyYThlMCAxMDA2NDQKLS0tLSBhL2RhdGEvY3B1dGFibGUKLSsrKyBiL2RhdGEvY3B1dGFibGUKLUBAIC00MSw2ICs0MSw3IEBAIHBvd2VycGMJCXBvd2VycGMJCShwb3dlcnBjfHBwYykJCTMyCWJpZwotIHBvd2VycGNlbAlwb3dlcnBjbGUJcG93ZXJwY2xlCQkzMglsaXR0bGUKLSBwcGM2NAkJcG93ZXJwYzY0CShwb3dlcnBjfHBwYyk2NAkJNjQJYmlnCi0gcHBjNjRlbAkJcG93ZXJwYzY0bGUJcG93ZXJwYzY0bGUJCTY0CWxpdHRsZQotK3Jpc2N2NjQJCXJpc2N2NjQJCXJpc2N2NjQJCQk2NAlsaXR0bGUKLSBzMzkwCQlzMzkwCQlzMzkwCQkJMzIJYmlnCi0gczM5MHgJCXMzOTB4CQlzMzkweAkJCTY0CWJpZwotIHNoMwkJc2gzCQlzaDMJCQkzMglsaXR0bGUKLWRpZmYgLS1naXQgYS9zY3JpcHRzL3QvRHBrZ19BcmNoLnQgYi9zY3JpcHRzL3QvRHBrZ19BcmNoLnQKLWluZGV4IGQ0NzhiNDkuLmVjZDVkNjYgMTAwNjQ0Ci0tLS0gYS9zY3JpcHRzL3QvRHBrZ19BcmNoLnQKLSsrKyBiL3NjcmlwdHMvdC9EcGtnX0FyY2gudAotQEAgLTE2LDcgKzE2LDcgQEAKLSB1c2Ugc3RyaWN0OwotIHVzZSB3YXJuaW5nczsKLSAKLS11c2UgVGVzdDo6TW9yZSB0ZXN0cyA9PiAxNjM2NzsKLSt1c2UgVGVzdDo6TW9yZSB0ZXN0cyA9PiAxNjgzMjsKLSAKLSB1c2Vfb2soJ0Rwa2c6OkFyY2gnLCBxdyhkZWJhcmNoX3RvX2RlYnR1cGxlIGRlYmFyY2hfdG9fbXVsdGlhcmNoCi0gICAgICAgICAgICAgICAgICAgICAgICAgZGViYXJjaF9lcSBkZWJhcmNoX2lzIGRlYmFyY2hfaXNfd2lsZGNhcmQKLUBAIC0xNjIsNyArMTYyLDcgQEAgaXMoZ251dHJpcGxldF90b19kZWJhcmNoKHVuZGVmKSwgdW5kZWYsICd1bmRlZiBnbnV0cmlwbGV0Jyk7Ci0gaXMoZ251dHJpcGxldF90b19kZWJhcmNoKCd1bmtub3duLXVua25vd24tdW5rbm93bicpLCB1bmRlZiwgJ3Vua25vd24gZ251dHJpcGxldCcpOwotIGlzKGdudXRyaXBsZXRfdG9fZGViYXJjaCgneDg2XzY0LWxpbnV4LWdudScpLCAnYW1kNjQnLCAna25vd24gZ251dHJpcGxldCcpOwotIAotLWlzKHNjYWxhciBnZXRfdmFsaWRfYXJjaGVzKCksIDUyNCwgJ2V4cGVjdGVkIGFtb3VudCBvZiBrbm93biBhcmNoaXRlY3R1cmVzJyk7Ci0raXMoc2NhbGFyIGdldF92YWxpZF9hcmNoZXMoKSwgNTM5LCAnZXhwZWN0ZWQgYW1vdW50IG9mIGtub3duIGFyY2hpdGVjdHVyZXMnKTsKLSAKLSB7Ci0gICAgIGxvY2FsICRFTlZ7Q0N9ID0gJ2ZhbHNlJzsKLS0tIAotMi4xNi4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZy8wMDAzLU91ci1wcmUtcG9zdGluc3RzLWV4cGVjdC1ELXRvLWJlLXNldC13aGVuLXJ1bm5pbmctaW4ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kcGtnL2Rwa2cvMDAwMy1PdXItcHJlLXBvc3RpbnN0cy1leHBlY3QtRC10by1iZS1zZXQtd2hlbi1ydW5uaW5nLWluLnBhdGNoCmluZGV4IDkzZDg3MDQuLmI4OGJlODcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZy8wMDAzLU91ci1wcmUtcG9zdGluc3RzLWV4cGVjdC1ELXRvLWJlLXNldC13aGVuLXJ1bm5pbmctaW4ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnLzAwMDMtT3VyLXByZS1wb3N0aW5zdHMtZXhwZWN0LUQtdG8tYmUtc2V0LXdoZW4tcnVubmluZy1pbi5wYXRjaApAQCAtMTAsMTUgKzEwLDE2IEBACiBSUCAyMDExLzEyLzA3CiBBTElNT04gMjAxNi8wNS8yNgogQUxJTU9OIDIwMTcvMDIvMjEKK0tLYW5nIDIwMTkvMDIvMjAKIC0tLQogIHNyYy9zY3JpcHQuYyB8IDQ0ICsrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgNDEgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9zcmMvc2NyaXB0LmMgYi9zcmMvc2NyaXB0LmMKLWluZGV4IDJmMjUyYWUuLjc2OGE5ZDEgMTAwNjQ0CitpbmRleCAwODY1Yjk1Li43M2VkMzVkIDEwMDY0NAogLS0tIGEvc3JjL3NjcmlwdC5jCiArKysgYi9zcmMvc2NyaXB0LmMKLUBAIC05Nyw0OCArOTcsMTAgQEAgc2V0ZXhlY3V0ZShjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdCAqc3RhYikKK0BAIC05Niw1OCArOTYsMTEgQEAgc2V0ZXhlY3V0ZShjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdCAqc3RhYikKICBzdGF0aWMgY29uc3QgY2hhciAqCiAgbWFpbnRzY3JpcHRfcHJlX2V4ZWMoc3RydWN0IGNvbW1hbmQgKmNtZCkKICB7CkBAIC0zMiw2ICszMyw4IEBACiAtCQljaGFuZ2VkaXIgPSAiLyI7CiAtCiAtCWlmIChpbnN0ZGlybGVuID4gMCAmJiAhZmNfc2NyaXB0X2Nocm9vdGxlc3MpIHsKKy0JCWludCByYzsKKy0KIC0JCWlmIChzdHJuY21wKGFkbWluZGlyLCBpbnN0ZGlyLCBpbnN0ZGlybGVuKSAhPSAwKQogLQkJCW9oc2hpdChfKCJhZG1pbmRpciBtdXN0IGJlIGluc2lkZSBpbnN0ZGlyIGZvciBkcGtnIHRvIHdvcmsgcHJvcGVybHkiKSk7CiAtCQlpZiAoc2V0ZW52KCJEUEtHX0FETUlORElSIiwgYWRtaW5kaXIgKyBpbnN0ZGlybGVuLCAxKSA8IDApCkBAIC0zOSw3ICs0MiwxMiBAQAogLQkJaWYgKHNldGVudigiRFBLR19ST09UIiwgIiIsIDEpIDwgMCkKIC0JCQlvaHNoaXRlKF8oInVuYWJsZSB0byBzZXRlbnYgZm9yIHN1YnByb2Nlc3NlcyIpKTsKIC0KLS0JCWlmIChjaHJvb3QoaW5zdGRpcikpCistCQlyYyA9IGNocm9vdChpbnN0ZGlyKTsKKy0JCWlmIChyYyAmJiBmY19ub25yb290ICYmIGVycm5vID09IEVQRVJNKQorLQkJCW9oc2hpdChfKCJub3QgZW5vdWdoIHByaXZpbGVnZXMgdG8gY2hhbmdlIHJvb3QgIgorLQkJCSAgICAgICAgICJkaXJlY3Rvcnkgd2l0aCAtLWZvcmNlLW5vdC1yb290LCBjb25zaWRlciAiCistCQkJICAgICAgICAgInVzaW5nIC0tZm9yY2Utc2NyaXB0LWNocm9vdGxlc3M/IikpOworLQkJZWxzZSBpZiAocmMpCiAtCQkJb2hzaGl0ZShfKCJmYWlsZWQgdG8gY2hyb290IHRvICclLjI1MHMnIiksIGluc3RkaXIpOwogKwlpZiAoKmluc3RkaXIpIHsKICsJCXNldGVudigiRCIsIGluc3RkaXIsIDEpOwpAQCAtNjQsNyArNzIsMTAgQEAKIC0JaWYgKGluc3RkaXJsZW4gPT0gMCB8fCBmY19zY3JpcHRfY2hyb290bGVzcykKIC0JCXJldHVybiBjbWQtPmZpbGVuYW1lOwogLQotLQlhc3NlcnQoc3RybGVuKGNtZC0+ZmlsZW5hbWUpID49IGluc3RkaXJsZW4pOworLQlpZiAoc3RybGVuKGNtZC0+ZmlsZW5hbWUpIDwgaW5zdGRpcmxlbikKKy0JCWludGVybmVycigibWFpbnRzY3JpcHQgbmFtZSAnJXMnIGxlbmd0aCA8IGluc3RkaXIgbGVuZ3RoICV6ZCIsCistCQkgICAgICAgICAgY21kLT5maWxlbmFtZSwgaW5zdGRpcmxlbik7CisgCiAtCXJldHVybiBjbWQtPmZpbGVuYW1lICsgaW5zdGRpcmxlbjsKICsJcmV0dXJuIGNtZC0+ZmlsZW5hbWU7CiAgfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnLzAwMDUtZHBrZy1jb21waWxlci5tNC1yZW1vdmUtV3ZsYS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZy8wMDA1LWRwa2ctY29tcGlsZXIubTQtcmVtb3ZlLVd2bGEucGF0Y2gKaW5kZXggOTZlOTZmMi4uYjM2ODUwOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnLzAwMDUtZHBrZy1jb21waWxlci5tNC1yZW1vdmUtV3ZsYS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kcGtnL2Rwa2cvMDAwNS1kcGtnLWNvbXBpbGVyLm00LXJlbW92ZS1XdmxhLnBhdGNoCkBAIC0xNSwyMiArMTUsMjYgQEAKIFNpZ25lZC1vZmYtYnk6IERvbm4gU2VlbGV5IDxkb25uLnNlZWxleUB3aW5kcml2ZXIuY29tPgogU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CiBTaWduZWQtb2ZmLWJ5OiBBbsOtYmFsIExpbcOzbiA8YW5pYmFsLmxpbW9uQGxpbnV4LmludGVsLmNvbT4KKworVXBkYXRlIHBhdGNoIGNvbnRleHQgZm9yIGRwa2cgMS4xOS40LgorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KIC0tLQogIG00L2Rwa2ctY29tcGlsZXIubTQgfCAxIC0KICAxIGZpbGUgY2hhbmdlZCwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvbTQvZHBrZy1jb21waWxlci5tNCBiL200L2Rwa2ctY29tcGlsZXIubTQKLWluZGV4IDY4Mjg1N2MuLjIzZWQ3ZDAgMTAwNjQ0CitpbmRleCBhNjE5MmY2Li40YzdiZjJlIDEwMDY0NAogLS0tIGEvbTQvZHBrZy1jb21waWxlci5tNAogKysrIGIvbTQvZHBrZy1jb21waWxlci5tNAotQEAgLTUyLDcgKzUyLDYgQEAgQUNfREVGVU4oW0RQS0dfQ0hFQ0tfQ09NUElMRVJfV0FSTklOR1NdLCBbCi0gICBEUEtHX0NIRUNLX0NPTVBJTEVSX0ZMQUcoWy1XbG9naWNhbC1vcF0pCi0gICBEUEtHX0NIRUNLX0NPTVBJTEVSX0ZMQUcoWy1XbG9naWNhbC1ub3QtcGFyZW50aGVzZXNdKQorQEAgLTY3LDcgKzY3LDYgQEAgQUNfREVGVU4oW0RQS0dfQ0hFQ0tfQ09NUElMRVJfV0FSTklOR1NdLCBbCisgICBEUEtHX0NIRUNLX0NPTVBJTEVSX0ZMQUcoWy1Xc2hpZnQtbmVnYXRpdmUtdmFsdWVdKQorICAgRFBLR19DSEVDS19DT01QSUxFUl9GTEFHKFstV3NpemVvZi1hcnJheS1hcmd1bWVudF0pCiAgICBEUEtHX0NIRUNLX0NPTVBJTEVSX0ZMQUcoWy1Xc3dpdGNoLWJvb2xdKQogLSAgRFBLR19DSEVDS19DT01QSUxFUl9GTEFHKFstV3ZsYV0pCi0gICBEUEtHX0NIRUNLX0NPTVBJTEVSX0ZMQUcoWy1XaW5pdC1zZWxmXSkKICAgIERQS0dfQ0hFQ0tfQ09NUElMRVJfRkxBRyhbLVd3cml0ZS1zdHJpbmdzXSkKLSAgIERQS0dfQ0hFQ0tfQ09NUElMRVJfRkxBRyhbLVdjYXN0LWFsaWduXSkKKyAKKyAgIEFDX0xBTkdfQ0FTRSgKIC0tIAogMi4xLjQKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnLzAwMDctZHBrZy1kZWItYnVpbGQuYy1SZW1vdmUtdXNhZ2Utb2YtY2xhbXAtbXRpbWUtaW4tdGFyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnLzAwMDctZHBrZy1kZWItYnVpbGQuYy1SZW1vdmUtdXNhZ2Utb2YtY2xhbXAtbXRpbWUtaW4tdGFyLnBhdGNoCmluZGV4IDFiOTg1ZGYuLjRmNzlhNDAgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZy8wMDA3LWRwa2ctZGViLWJ1aWxkLmMtUmVtb3ZlLXVzYWdlLW9mLWNsYW1wLW10aW1lLWluLXRhci5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kcGtnL2Rwa2cvMDAwNy1kcGtnLWRlYi1idWlsZC5jLVJlbW92ZS11c2FnZS1vZi1jbGFtcC1tdGltZS1pbi10YXIucGF0Y2gKQEAgLTE4LDIyICsxOCwyNiBAQAogCiBbMV0gaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvY2dpLWJpbi9idWdyZXBvcnQuY2dpP2J1Zz03NTk5OTkjMjAKIFsyXSBodHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2hlbHAtdGFyLzIwMTYtMDEvbXNnMDAwMDAuaHRtbAorCitVcGRhdGUgcGF0Y2ggY29udGV4dCBmb3IgZHBrZyAxLjE5LjQuCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgogLS0tCiAgZHBrZy1kZWIvYnVpbGQuYyB8IDIgKy0KICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL2Rwa2ctZGViL2J1aWxkLmMgYi9kcGtnLWRlYi9idWlsZC5jCi1pbmRleCBhOTJiNThlLi5hM2QxOTEyIDEwMDY0NAoraW5kZXggNjhkMTg3NS4uMDUzZmNiNyAxMDA2NDQKIC0tLSBhL2Rwa2ctZGViL2J1aWxkLmMKICsrKyBiL2Rwa2ctZGViL2J1aWxkLmMKLUBAIC00NTAsNyArNDUwLDcgQEAgdGFyYmFsbF9wYWNrKGNvbnN0IGNoYXIgKmRpciwgZmlsZW5hbWVzX2ZlZWRfZnVuYyAqdGFyX2ZpbGVuYW1lc19mZWVkZXIsCitAQCAtNDU3LDcgKzQ1Nyw3IEBAIHRhcmJhbGxfcGFjayhjb25zdCBjaGFyICpkaXIsIGZpbGVuYW1lc19mZWVkX2Z1bmMgKnRhcl9maWxlbmFtZXNfZmVlZGVyLAogIAogICAgICBjb21tYW5kX2luaXQoJmNtZCwgVEFSLCAidGFyIC1jZiIpOwogICAgICBjb21tYW5kX2FkZF9hcmdzKCZjbWQsICJ0YXIiLCAiLWNmIiwgIi0iLCAiLS1mb3JtYXQ9Z251IiwKIC0gICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1tdGltZSIsIG10aW1lLCAiLS1jbGFtcC1tdGltZSIsIE5VTEwpOwogKyAgICAgICAgICAgICAgICAgICAgICAgICAgICItLW10aW1lIiwgbXRpbWUsIE5VTEwpOwogICAgICAvKiBNb2RlIG1pZ2h0IGJlY29tZSBhIHBvc2l0aW9uYWwgYXJndW1lbnQsIHBhc3MgaXQgYmVmb3JlIC1ULiAqLwotICAgICBpZiAobW9kZSkKLSAgICAgICBjb21tYW5kX2FkZF9hcmdzKCZjbWQsICItLW1vZGUiLCBtb2RlLCBOVUxMKTsKKyAgICAgaWYgKG9wdGlvbnMtPm1vZGUpCisgICAgICAgY29tbWFuZF9hZGRfYXJncygmY21kLCAiLS1tb2RlIiwgb3B0aW9ucy0+bW9kZSwgTlVMTCk7CiAtLSAKIDIuMTEuMApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnL2Rwa2ctY29uZmlndXJlLnNlcnZpY2UgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kcGtnL2Rwa2cvZHBrZy1jb25maWd1cmUuc2VydmljZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWEyNDhjYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kcGtnL2Rwa2cvZHBrZy1jb25maWd1cmUuc2VydmljZQorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLVtVbml0XQotRGVzY3JpcHRpb249ZHBrZyBmaXJzdCBib290IGNvbmZpZ3VyZQotRGVmYXVsdERlcGVuZGVuY2llcz1ubwotQWZ0ZXI9c3lzdGVtZC1yZW1vdW50LWZzLnNlcnZpY2Ugc3lzdGVtZC10bXBmaWxlcy1zZXR1cC5zZXJ2aWNlIHRtcC5tb3VudAotQmVmb3JlPXN5c2luaXQudGFyZ2V0Ci0KLVtTZXJ2aWNlXQotVHlwZT1vbmVzaG90Ci1FbnZpcm9ubWVudEZpbGU9LUBTWVNDT05GRElSQC9kZWZhdWx0L3Bvc3RpbnN0Ci1FeGVjU3RhcnQ9LUBCQVNFX0JJTkRJUkAvc2ggLWMgIiBpZiBbICRQT1NUSU5TVF9MT0dHSU5HID0gJzEnIF07IHRoZW4gQEJJTkRJUkAvZHBrZyAtLWNvbmZpZ3VyZSAtYSA+ICRMT0dGSUxFIDI+JjE7IGVsc2UgQEJJTkRJUkAvZHBrZyAtLWNvbmZpZ3VyZSAtYTsgZmkiCi1FeGVjU3RhcnRQb3N0PUBCQVNFX0JJTkRJUkAvc3lzdGVtY3RsIC0tbm8tcmVsb2FkIGRpc2FibGUgZHBrZy1jb25maWd1cmUuc2VydmljZQotU3RhbmRhcmRPdXRwdXQ9c3lzbG9nCi1SZW1haW5BZnRlckV4aXQ9Tm8KLQotW0luc3RhbGxdCi1XYW50ZWRCeT1iYXNpYy50YXJnZXQKLVdhbnRlZEJ5PXN5c2luaXQudGFyZ2V0CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kcGtnL2Rwa2cvZ2xpYmMyLjUtc3luY19maWxlX3JhbmdlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnL2dsaWJjMi41LXN5bmNfZmlsZV9yYW5nZS5wYXRjaAppbmRleCBkNDgzODY2Li41ZGViY2M1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kcGtnL2Rwa2cvZ2xpYmMyLjUtc3luY19maWxlX3JhbmdlLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZy9nbGliYzIuNS1zeW5jX2ZpbGVfcmFuZ2UucGF0Y2gKQEAgLTY2LDE1ICs2NiwxOCBAQAogU2lnbmVkLW9mZi1ieTogRG9ubiBTZWVsZXkgPGRvbm4uc2VlbGV5QHdpbmRyaXZlci5jb20+CiBTaWduZWQtb2ZmLWJ5OiBMZWkgTGl1IDxsZWkubGl1MkB3aW5kcml2ZXIuY29tPgogCitVcGRhdGUgcGF0Y2ggY29udGV4dCBmb3IgZHBrZyAxLjE5LjQuCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgogLS0tCiAgc3JjL2FyY2hpdmVzLmMgfCA0ICsrLS0KICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvc3JjL2FyY2hpdmVzLmMgYi9zcmMvYXJjaGl2ZXMuYwotaW5kZXggNGIyZmM5Mi4uYTkyYjc5NSAxMDA2NDQKK2luZGV4IDg0NzZhNWMuLmIwNWE2M2YgMTAwNjQ0CiAtLS0gYS9zcmMvYXJjaGl2ZXMuYwogKysrIGIvc3JjL2FyY2hpdmVzLmMKLUBAIC02OSw3ICs2OSw3IEBAIGZkX3dyaXRlYmFja19pbml0KGludCBmZCkKK0BAIC02OCw3ICs2OCw3IEBAIGZkX3dyaXRlYmFja19pbml0KGludCBmZCkKICAgIC8qIElnbm9yZSB0aGUgcmV0dXJuIGNvZGUgYXMgaXQgc2hvdWxkIGJlIGNvbnNpZGVyZWQgZXF1aXZhbGVudCB0byBhbgogICAgICogYXN5bmNocm9ub3VzIGhpbnQgZm9yIHRoZSBrZXJuZWwsIHdlIGFyZSBkb2luZyBhbiBmc3luYygpIGxhdGVyIG9uCiAgICAgKiBhbnl3YXkuICovCkBAIC04MywxNCArODYsMTQgQEAKICAgIHN5bmNfZmlsZV9yYW5nZShmZCwgMCwgMCwgU1lOQ19GSUxFX1JBTkdFX1dSSVRFKTsKICAjZWxpZiBkZWZpbmVkKEhBVkVfUE9TSVhfRkFEVklTRSkKICAgIHBvc2l4X2ZhZHZpc2UoZmQsIDAsIDAsIFBPU0lYX0ZBRFZfRE9OVE5FRUQpOwotQEAgLTEwNzgsNyArMTA3OCw3IEBAIHRhcm9iamVjdCh2b2lkICpjdHgsIHN0cnVjdCB0YXJfZW50cnkgKnRpKQorQEAgLTEwOTMsNyArMTA5Myw3IEBAIHRhcm9iamVjdChzdHJ1Y3QgdGFyX2FyY2hpdmUgKnRhciwgc3RydWN0IHRhcl9lbnRyeSAqdGkpCiAgICByZXR1cm4gMDsKICB9CiAgCiAtI2lmIGRlZmluZWQoU1lOQ19GSUxFX1JBTkdFX1dBSVRfQkVGT1JFKQogKyNpZiBkZWZpbmVkKFNZTkNfRklMRV9SQU5HRV9XQUlUX0JFRk9SRSkgJiYgX19HTElCQ19QUkVSRVEoMiwgNikKICBzdGF0aWMgdm9pZAotIHRhcl93cml0ZWJhY2tfYmFycmllcihzdHJ1Y3QgZmlsZWlubGlzdCAqZmlsZXMsIHN0cnVjdCBwa2dpbmZvICpwa2cpCisgdGFyX3dyaXRlYmFja19iYXJyaWVyKHN0cnVjdCBmc3lzX25hbWVub2RlX2xpc3QgKmZpbGVzLCBzdHJ1Y3QgcGtnaW5mbyAqcGtnKQogIHsKIC0tIAogMi4xNi4yCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kcGtnL2Rwa2cvdHdlYWstb3B0aW9ucy1yZXF1aXJlLXRhci0xLjI3LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnL3R3ZWFrLW9wdGlvbnMtcmVxdWlyZS10YXItMS4yNy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTExOTkxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnL3R3ZWFrLW9wdGlvbnMtcmVxdWlyZS10YXItMS4yNy5wYXRjaApAQCAtMCwwICsxLDI3IEBACitHTlUgdGFyID49IDEuMjcgaXMgcmVxdWlyZWQgZm9yIC0tb3duZXI9TkFNRTpJRCBhbmQgLS1ncm91cD1OQU1FOklELiBBbmQgZmFpbHMKK3RvIGJ1aWxkIC5kZWIgcGFja2FnZXMgd2l0aCBlcnJvcjoKKworfCBkcGtnLWRlYjogYnVpbGRpbmcgcGFja2FnZSAnbGludXgtbGliYy1oZWFkZXJzLWRiZycgaW4gJy4uLi90bXAvd29yay9pNTg2LXBva3ktbGludXgvbGludXgtbGliYy1oZWFkZXJzLzQuMTktcjAvZGVwbG95LWRlYnMvaTU4Ni9saW51eC1saWJjLWhlYWRlcnMtZGJnXyA0LjE5LXIwLjBfaTM4Ni5kZWInLgorfCB0YXI6IHJvb3RcOjA6IEludmFsaWQgb3duZXIKK3wgdGFyOiBFcnJvciBpcyBub3QgcmVjb3ZlcmFibGU6IGV4aXRpbmcgbm93Cit8IGRwa2ctZGViOiBlcnJvcjogdGFyIC1jZiBzdWJwcm9jZXNzIHJldHVybmVkIGVycm9yIGV4aXQgc3RhdHVzIDIKKworVHdlYWsgdGFyIG9wdGlvbnMgaW4gZHBrZy1kZWIgc291cmNlIGNvZGUgdG8gbWFrZSBpdCB3b3JrIG9uIG9sZCBtYWNoaW5lcy4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjcm9zcyBidWlsZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CistLS0KK2RpZmYgLS1naXQgYS9kcGtnLWRlYi9idWlsZC5jIGIvZHBrZy1kZWIvYnVpbGQuYworaW5kZXggNjhkMTg3NTExLi44NmZlMjJlMjUgMTAwNjQ0CistLS0gYS9kcGtnLWRlYi9idWlsZC5jCisrKysgYi9kcGtnLWRlYi9idWlsZC5jCitAQCAtNDYyLDcgKzQ2Miw3IEBAIHRhcmJhbGxfcGFjayhjb25zdCBjaGFyICpkaXIsIGZpbGVuYW1lc19mZWVkX2Z1bmMgKnRhcl9maWxlbmFtZXNfZmVlZGVyLAorICAgICBpZiAob3B0aW9ucy0+bW9kZSkKKyAgICAgICBjb21tYW5kX2FkZF9hcmdzKCZjbWQsICItLW1vZGUiLCBvcHRpb25zLT5tb2RlLCBOVUxMKTsKKyAgICAgaWYgKG9wdGlvbnMtPnJvb3Rfb3duZXJfZ3JvdXApCistICAgICAgY29tbWFuZF9hZGRfYXJncygmY21kLCAiLS1vd25lciIsICJyb290OjAiLCAiLS1ncm91cCIsICJyb290OjAiLCBOVUxMKTsKKysgICAgICBjb21tYW5kX2FkZF9hcmdzKCZjbWQsICItLW93bmVyIiwgInJvb3QiLCAiLS1ncm91cCIsICJyb290IiwgTlVMTCk7CisgICAgIGNvbW1hbmRfYWRkX2FyZ3MoJmNtZCwgIi0tbnVsbCIsICItLW5vLXVucXVvdGUiLCAiLS1uby1yZWN1cnNpb24iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICItVCIsICItIiwgTlVMTCk7CisgICAgIGNvbW1hbmRfZXhlYygmY21kKTsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZ18xLjE4LjI0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnXzEuMTguMjQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkOGVjMzQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnXzEuMTguMjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi1yZXF1aXJlIGRwa2cuaW5jCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKLQotU1JDX1VSSSA9ICJodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi8yMDE3MDUxOFQwOTM4MzhaL3Bvb2wvbWFpbi9kL2Rwa2cvZHBrZ18xLjE4LjI0LnRhci54eiBcCi0gICAgICAgICAgIGZpbGU6Ly9ub21hbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9yZW1vdmUtdGFyLW5vLXRpbWVzdGFtcC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9hcmNoX3BtLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2Rwa2ctY29uZmlndXJlLnNlcnZpY2UgXAotICAgICAgICAgICBmaWxlOi8vYWRkX2FybWViX3RyaXBsZXRfZW50cnkucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1BZGFwdC10by1saW51eC13cnMta2VybmVsLXZlcnNpb24td2hpY2gtaGFzLWNoYXJhY3RlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtT3VyLXByZS1wb3N0aW5zdHMtZXhwZWN0LUQtdG8tYmUtc2V0LXdoZW4tcnVubmluZy1pbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA0LVRoZS1sdXRpbWVzLWZ1bmN0aW9uLWRvZXNuLXQtd29yay1wcm9wZXJseS1mb3ItYWxsLXMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNS1kcGtnLWNvbXBpbGVyLm00LXJlbW92ZS1XdmxhLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDYtYWRkLW11c2xlYWJpLXRvLWtub3duLXRhcmdldC10cmlwZXRzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDctZHBrZy1kZWItYnVpbGQuYy1SZW1vdmUtdXNhZ2Utb2YtY2xhbXAtbXRpbWUtaW4tdGFyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtZHBrZy1TdXBwb3J0LW11c2x4MzItYnVpbGQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1hcmNoLUFkZC1zdXBwb3J0LWZvci1yaXNjdjY0LUNQVS5wYXRjaCBcCi0gICAgICAgICAgICIKLVNSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgZmlsZTovL2dsaWJjMi41LXN5bmNfZmlsZV9yYW5nZS5wYXRjaCAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIwMmU4YWY4ZmFmMWU2ODkyMjhkYTgwNmMzZThjNjg4MiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJkODUzMDgxZDNlMDZiZmQ0NmEyMjcwNTZlNTkxZjA5NGU0MmU3OGZhOGE1NzkzYjAwOTNiYWQzMGI3MTBkN2I0IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnXzEuMTkuNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZ18xLjE5LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzNkYmRhNwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZ18xLjE5LjQuYmIKQEAgLTAsMCArMSwyMiBAQAorcmVxdWlyZSBkcGtnLmluYworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK1NSQ19VUkkgPSAiJHtERUJJQU5fTUlSUk9SfS9tYWluL2QvJHtCUE59LyR7QlBOfV8ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vbm9tYW4ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcmVtb3ZlLXRhci1uby10aW1lc3RhbXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYXJjaF9wbS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9hZGRfYXJtZWJfdHJpcGxldF9lbnRyeS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLUFkYXB0LXRvLWxpbnV4LXdycy1rZXJuZWwtdmVyc2lvbi13aGljaC1oYXMtY2hhcmFjdGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1PdXItcHJlLXBvc3RpbnN0cy1leHBlY3QtRC10by1iZS1zZXQtd2hlbi1ydW5uaW5nLWluLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDQtVGhlLWx1dGltZXMtZnVuY3Rpb24tZG9lc24tdC13b3JrLXByb3Blcmx5LWZvci1hbGwtcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA1LWRwa2ctY29tcGlsZXIubTQtcmVtb3ZlLVd2bGEucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNi1hZGQtbXVzbGVhYmktdG8ta25vd24tdGFyZ2V0LXRyaXBldHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNy1kcGtnLWRlYi1idWlsZC5jLVJlbW92ZS11c2FnZS1vZi1jbGFtcC1tdGltZS1pbi10YXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1kcGtnLVN1cHBvcnQtbXVzbHgzMi1idWlsZC5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgZmlsZTovL2dsaWJjMi41LXN5bmNfZmlsZV9yYW5nZS5wYXRjaCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly90d2Vhay1vcHRpb25zLXJlcXVpcmUtdGFyLTEuMjcucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMWU0NDIwNDA5NDI2ZDhjNThiYmUxM2E4ZTA3YzBjMGIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzE1MjM0ZTk4NjU1Njg5NTg2YmZmMmQ1MTdhNmZkYzYxMzVkMTM5YzU0ZDUyYWU5Y2ZhNmE5MDAwN2ZlZTBhZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2UyZnNwcm9ncy9lMmZzcHJvZ3NfMS40NC4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZTJmc3Byb2dzL2UyZnNwcm9nc18xLjQ0LjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNmZmI1MzYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZTJmc3Byb2dzL2UyZnNwcm9nc18xLjQ0LjMuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMzYgKzAsMCBAQAotcmVxdWlyZSBlMmZzcHJvZ3MuaW5jCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly9yZW1vdmUubGRjb25maWcuY2FsbC5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgIGZpbGU6Ly9wdGVzdC5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vUmV2ZXJ0LW1rZTJmcy1lbmFibGUtdGhlLW1ldGFkYXRhX2NzdW0tYW5kLTY0Yml0LWZlYS5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vbWtkaXJfcC5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1taXNjLWNyZWF0ZV9pbm9kZS5jLXNldC1kaXItcy1tb2RlLWNvcnJlY3RseS5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1jcmVhdGVfaW5vZGUtZml4LWNvcHlpbmctbGFyZ2UtZmlsZXMucGF0Y2ggXAotICAgICAgICAgICAgIgotCi1TUkNfVVJJX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGZpbGU6Ly9lMmZzcHJvZ3MtZml4LW1pc3NpbmctY2hlY2stZm9yLXBlcm1pc3Npb24tZGVuaWVkLnBhdGNoIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTovL3F1aWV0LWRlYnVnZnMucGF0Y2ggXAotIgotCi1TUkNSRVYgPSAiODVlNTNmNDJmOThkNTMzNDkxNGRlMDFlOTcyZTllZDQ0YmNjZDBhNSIKLVVQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gInYoP1A8cHZlcj5cZCtcLlxkKyhcLlxkKykqKSQiCi0KLUVYVFJBX09FQ09ORiArPSAiLS1saWJkaXI9JHtiYXNlX2xpYmRpcn0gLS1zYmluZGlyPSR7YmFzZV9zYmluZGlyfSBcCi0gICAgICAgICAgICAgICAgLS1lbmFibGUtZWxmLXNobGlicyAtLWRpc2FibGUtbGlidXVpZCAtLWRpc2FibGUtdXVpZGQgXAotICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1saWJibGtpZCAtLWVuYWJsZS12ZXJib3NlLW1ha2VjbWRzIgotCi1FWFRSQV9PRUNPTkZfZGFyd2luID0gIi0tbGliZGlyPSR7YmFzZV9saWJkaXJ9IC0tc2JpbmRpcj0ke2Jhc2Vfc2JpbmRpcn0gLS1lbmFibGUtYnNkLXNobGlicyIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiIKLVBBQ0tBR0VDT05GSUdbZnVzZV0gPSAnLS1lbmFibGUtZnVzZTJmcywtLWRpc2FibGUtZnVzZTJmcyxmdXNlJwotCi0jIG1ha2UgbG9jYWxlIHJ1bGVzIHNvbWV0aW1lcyBmaXJlLCBzb21ldGltZXMgZG9uJ3QgYXMgZ2l0IGRvZXNuJ3QgcHJlc2VydmUKLSMgZmlsZSBta3RpbWUuIFRvdWNoIHRoZSBmaWxlcyBpbnRyb2R1Y2luZyBub24tZGV0ZXJtaW5pc20gdG8gdGhlIGJ1aWxkCi1kb19jb21waWxlX3ByZXBlbmQgKCl7Ci0JZmluZCAke1N9L3BvIC10eXBlIGYgLW5hbWUgIioucG8iIC1leGVjIHRvdWNoIHt9ICsKLX0KLQotZG9faW5zdGFsbCAoKSB7Ci0Jb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsCi0Jb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsLWxpYnMKLQkjIFdlIHVzZSBibGtpZCBmcm9tIHV0aWwtbGludXggbm93IHNvIHJlbW92ZSBmcm9tIGhlcmUKLQlybSAtZiAke0R9JHtiYXNlX2xpYmRpcn0vbGliYmxraWQqCi0Jcm0gLXJmICR7RH0ke2luY2x1ZGVkaXJ9L2Jsa2lkCi0Jcm0gLWYgJHtEfSR7YmFzZV9saWJkaXJ9L3BrZ2NvbmZpZy9ibGtpZC5wYwotCXJtIC1mICR7RH0ke2Jhc2Vfc2JpbmRpcn0vYmxraWQKLQlybSAtZiAke0R9JHtiYXNlX3NiaW5kaXJ9L2ZzY2sKLQlybSAtZiAke0R9JHtiYXNlX3NiaW5kaXJ9L2ZpbmRmcwotCi0JIyBlMmluaXRyZF9oZWxwZXIgYW5kIHRoZSBwa2djb25maWcgZmlsZXMgYmVsb25nIGluIGxpYmRpcgotCWlmIFsgISAke0R9JHtsaWJkaXJ9IC1lZiAke0R9JHtiYXNlX2xpYmRpcn0gXTsgdGhlbgotCQlpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0KLQkJbXYgJHtEfSR7YmFzZV9saWJkaXJ9L2UyaW5pdHJkX2hlbHBlciAke0R9JHtsaWJkaXJ9Ci0JCW12ICR7RH0ke2Jhc2VfbGliZGlyfS9wa2djb25maWcgJHtEfSR7bGliZGlyfQotCWZpCi0KLQlvZV9tdWx0aWxpYl9oZWFkZXIgZXh0MmZzL2V4dDJfdHlwZXMuaAotCWluc3RhbGwgLWQgJHtEfSR7YmFzZV9iaW5kaXJ9Ci0JbXYgJHtEfSR7YmluZGlyfS9jaGF0dHIgJHtEfSR7YmFzZV9iaW5kaXJ9L2NoYXR0ci5lMmZzcHJvZ3MKLQotCWluc3RhbGwgLXYgLW0gNzU1ICR7U30vY29udHJpYi9wb3B1bGF0ZS1leHRmcy5zaCAke0R9JHtiYXNlX3NiaW5kaXJ9LwotCi0JIyBDbGVhbiBob3N0IHBhdGggKGJ1aWxkIGRpcmVjdG9yeSkgaW4gY29tcGlsZV9ldCwgbWtfY21kcwotCXNlZCAtaSAtZSAicyxcKEVUX0RJUj0uKlwpJHtTfS9saWIvZXRcKC4qXCksXDEke2RhdGFkaXJ9L2V0XDIsZyIgJHtEfSR7YmluZGlyfS9jb21waWxlX2V0Ci0Jc2VkIC1pIC1lICJzLFwoU1NfRElSPS4qXCkke1N9L2xpYi9zc1woLipcKSxcMSR7ZGF0YWRpcn0vc3NcMixnIiAke0R9JHtiaW5kaXJ9L21rX2NtZHMKLX0KLQotIyBOZWVkIHRvIGZpbmQgdGhlIHJpZ2h0IG1rZTJmcy5jb25mIGZpbGUKLWUyZnNwcm9nc19jb25mX2ZpeHVwICgpIHsKLQlmb3IgaSBpbiBta2UyZnMgbWtmcy5leHQyIG1rZnMuZXh0MyBta2ZzLmV4dDQ7IGRvCi0JCWNyZWF0ZV93cmFwcGVyICR7RH0ke2Jhc2Vfc2JpbmRpcn0vJGkgTUtFMkZTX0NPTkZJRz0ke3N5c2NvbmZkaXJ9L21rZTJmcy5jb25mCi0JZG9uZQotfQotCi1kb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7Ci0JZTJmc3Byb2dzX2NvbmZfZml4dXAKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrKCkgewotCWUyZnNwcm9nc19jb25mX2ZpeHVwCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLXRhcmdldCgpIHsKLQltdiAke0R9JHtiYXNlX3NiaW5kaXJ9L21rZTJmcyAke0R9JHtiYXNlX3NiaW5kaXJ9L21rZTJmcy5lMmZzcHJvZ3MKLQltdiAke0R9JHtiYXNlX3NiaW5kaXJ9L21rZnMuZXh0MiAke0R9JHtiYXNlX3NiaW5kaXJ9L21rZnMuZXh0Mi5lMmZzcHJvZ3MKLQltdiAke0R9JHtiYXNlX3NiaW5kaXJ9L3R1bmUyZnMgJHtEfSR7YmFzZV9zYmluZGlyfS90dW5lMmZzLmUyZnNwcm9ncwotfQotCi1SREVQRU5EU19lMmZzcHJvZ3MgPSAiZTJmc3Byb2dzLWJhZGJsb2NrcyIKLVJSRUNPTU1FTkRTX2UyZnNwcm9ncyA9ICJlMmZzcHJvZ3MtbWtlMmZzIGUyZnNwcm9ncy1lMmZzY2siCi0KLVBBQ0tBR0VTID0rICJlMmZzcHJvZ3MtZTJmc2NrIGUyZnNwcm9ncy1ta2UyZnMgZTJmc3Byb2dzLXR1bmUyZnMgZTJmc3Byb2dzLWJhZGJsb2NrcyBlMmZzcHJvZ3MtcmVzaXplMmZzIgotUEFDS0FHRVMgPSsgImxpYmNvbWVyciBsaWJzcyBsaWJlMnAgbGliZXh0MmZzIgotCi1GSUxFU19lMmZzcHJvZ3MtcmVzaXplMmZzID0gIiR7YmFzZV9zYmluZGlyfS9yZXNpemUyZnMqIgotRklMRVNfZTJmc3Byb2dzLWUyZnNjayA9ICIke2Jhc2Vfc2JpbmRpcn0vZTJmc2NrICR7YmFzZV9zYmluZGlyfS9mc2NrLmV4dCoiCi1GSUxFU19lMmZzcHJvZ3MtbWtlMmZzID0gIiR7YmFzZV9zYmluZGlyfS9ta2UyZnMuZTJmc3Byb2dzICR7YmFzZV9zYmluZGlyfS9ta2ZzLmV4dCogJHtzeXNjb25mZGlyfS9ta2UyZnMuY29uZiIKLUZJTEVTX2UyZnNwcm9ncy10dW5lMmZzID0gIiR7YmFzZV9zYmluZGlyfS90dW5lMmZzLmUyZnNwcm9ncyAke2Jhc2Vfc2JpbmRpcn0vZTJsYWJlbCIKLUZJTEVTX2UyZnNwcm9ncy1iYWRibG9ja3MgPSAiJHtiYXNlX3NiaW5kaXJ9L2JhZGJsb2NrcyIKLUZJTEVTX2xpYmNvbWVyciA9ICIke2Jhc2VfbGliZGlyfS9saWJjb21fZXJyLnNvLioiCi1GSUxFU19saWJzcyA9ICIke2Jhc2VfbGliZGlyfS9saWJzcy5zby4qIgotRklMRVNfbGliZTJwID0gIiR7YmFzZV9saWJkaXJ9L2xpYmUycC5zby4qIgotRklMRVNfbGliZXh0MmZzID0gIiR7bGliZGlyfS9lMmluaXRyZF9oZWxwZXIgJHtiYXNlX2xpYmRpcn0vbGliZXh0MmZzLnNvLioiCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7ZGF0YWRpcn0vKi8qLmF3ayAke2RhdGFkaXJ9LyovKi5zZWQgJHtiYXNlX2xpYmRpcn0vKi5zbyAke2JpbmRpcn0vY29tcGlsZV9ldCAke2JpbmRpcn0vbWtfY21kcyIKLQotQUxURVJOQVRJVkVfJHtQTn0gPSAiY2hhdHRyIgotQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgotQUxURVJOQVRJVkVfTElOS19OQU1FW2NoYXR0cl0gPSAiJHtiYXNlX2JpbmRpcn0vY2hhdHRyIgotQUxURVJOQVRJVkVfVEFSR0VUW2NoYXR0cl0gPSAiJHtiYXNlX2JpbmRpcn0vY2hhdHRyLmUyZnNwcm9ncyIKLQotQUxURVJOQVRJVkVfJHtQTn0tZG9jID0gImZzY2suOCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtmc2NrLjhdID0gIiR7bWFuZGlyfS9tYW44L2ZzY2suOCIKLQotQUxURVJOQVRJVkVfJHtQTn0tbWtlMmZzID0gIm1rZTJmcyBta2ZzLmV4dDIiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbbWtlMmZzXSA9ICIke2Jhc2Vfc2JpbmRpcn0vbWtlMmZzIgotQUxURVJOQVRJVkVfTElOS19OQU1FW21rZnMuZXh0Ml0gPSAiJHtiYXNlX3NiaW5kaXJ9L21rZnMuZXh0MiIKLQotQUxURVJOQVRJVkVfJHtQTn0tdHVuZTJmcyA9ICJ0dW5lMmZzIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3R1bmUyZnNdID0gIiR7YmFzZV9zYmluZGlyfS90dW5lMmZzIgotCi1SREVQRU5EU18ke1BOfS1wdGVzdCArPSAiJHtQTn0gJHtQTn0tdHVuZTJmcyBjb3JldXRpbHMgcHJvY3BzIGJhc2ggYnppcDIgZGlmZnV0aWxzIHBlcmwiCi0KLWRvX2NvbXBpbGVfcHRlc3QoKSB7Ci0Jb2VfcnVubWFrZSAtQyAke0J9L3Rlc3RzCi19Ci0KLWRvX2luc3RhbGxfcHRlc3QoKSB7Ci0JY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgLXYgJHtCfS90ZXN0cyAke0R9JHtQVEVTVF9QQVRIfS90ZXN0Ci0JY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgLXYgJHtTfS90ZXN0cy8qICR7RH0ke1BURVNUX1BBVEh9L3Rlc3QKLQlzZWQgLWUgJ3MhLi4vZTJmc2NrL2UyZnNjayFlMmZzY2shZycgXAotCSAgICAtZSAncyEuLi9taXNjL3R1bmUyZnMhdHVuZTJmcyFnJyAtaSAke0R9JHtQVEVTVF9QQVRIfS90ZXN0LyovZXhwZWN0KgotCXNlZCAtZSAncyEuLi9lMmZzY2svZTJmc2NrISR7YmFzZV9zYmluZGlyfS9lMmZzY2shZycgLWkgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdC8qL3NjcmlwdAotCi0JIyBSZW1vdmUgdmFyaW91cyBmaWxlcwotCWZpbmQgIiR7RH0ke1BURVNUX1BBVEh9IiAtdHlwZSBmIFwKLQkgICAgXCggLW5hbWUgJ01ha2VmaWxlJyAtbyAtbmFtZSAnTWFrZWZpbGUuaW4nIC1vIC1uYW1lICcqLm8nIC1vIC1uYW1lICcqLmMnIC1vIC1uYW1lICcqLmgnIFwpXAotCSAgICAtZXhlYyAgcm0gLWYge30gKwotCi0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7UFRFU1RfUEFUSH0vbGliCi0gICAgICAgIGluc3RhbGwgLW0gMDY0NCAke0J9L2xpYi9jb25maWcuaCAgJHtEfSR7UFRFU1RfUEFUSH0vbGliLwotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZTJmc3Byb2dzL2UyZnNwcm9nc18xLjQ0LjUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lMmZzcHJvZ3MvZTJmc3Byb2dzXzEuNDQuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjk1ZWU5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZTJmc3Byb2dzL2UyZnNwcm9nc18xLjQ0LjUuYmIKQEAgLTAsMCArMSwxMzYgQEAKK3JlcXVpcmUgZTJmc3Byb2dzLmluYworCitTUkNfVVJJICs9ICJmaWxlOi8vcmVtb3ZlLmxkY29uZmlnLmNhbGwucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgICBmaWxlOi8vcHRlc3QucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL1JldmVydC1ta2UyZnMtZW5hYmxlLXRoZS1tZXRhZGF0YV9jc3VtLWFuZC02NGJpdC1mZWEucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL21rZGlyX3AucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtbWlzYy1jcmVhdGVfaW5vZGUuYy1zZXQtZGlyLXMtbW9kZS1jb3JyZWN0bHkucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtY3JlYXRlX2lub2RlLWZpeC1jb3B5aW5nLWxhcmdlLWZpbGVzLnBhdGNoIFwKKyAgICAgICAgICAgICIKKworU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBmaWxlOi8vZTJmc3Byb2dzLWZpeC1taXNzaW5nLWNoZWNrLWZvci1wZXJtaXNzaW9uLWRlbmllZC5wYXRjaCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9xdWlldC1kZWJ1Z2ZzLnBhdGNoIFwKKyIKKworU1JDUkVWID0gIjlhMDNjMDdlMDBmMDlhNzcyMjQ1MjgxZDg0YTI4NGM2N2U5MDUxNDgiCitVUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICJ2KD9QPHB2ZXI+XGQrXC5cZCsoXC5cZCspKikkIgorCitFWFRSQV9PRUNPTkYgKz0gIi0tbGliZGlyPSR7YmFzZV9saWJkaXJ9IC0tc2JpbmRpcj0ke2Jhc2Vfc2JpbmRpcn0gXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWVsZi1zaGxpYnMgLS1kaXNhYmxlLWxpYnV1aWQgLS1kaXNhYmxlLXV1aWRkIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtbGliYmxraWQgLS1lbmFibGUtdmVyYm9zZS1tYWtlY21kcyIKKworRVhUUkFfT0VDT05GX2RhcndpbiA9ICItLWxpYmRpcj0ke2Jhc2VfbGliZGlyfSAtLXNiaW5kaXI9JHtiYXNlX3NiaW5kaXJ9IC0tZW5hYmxlLWJzZC1zaGxpYnMiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2Z1c2VdID0gJy0tZW5hYmxlLWZ1c2UyZnMsLS1kaXNhYmxlLWZ1c2UyZnMsZnVzZScKKworIyBtYWtlIGxvY2FsZSBydWxlcyBzb21ldGltZXMgZmlyZSwgc29tZXRpbWVzIGRvbid0IGFzIGdpdCBkb2Vzbid0IHByZXNlcnZlCisjIGZpbGUgbWt0aW1lLiBUb3VjaCB0aGUgZmlsZXMgaW50cm9kdWNpbmcgbm9uLWRldGVybWluaXNtIHRvIHRoZSBidWlsZAorZG9fY29tcGlsZV9wcmVwZW5kICgpeworCWZpbmQgJHtTfS9wbyAtdHlwZSBmIC1uYW1lICIqLnBvIiAtZXhlYyB0b3VjaCB7fSArCit9CisKK2RvX2luc3RhbGwgKCkgeworCW9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbAorCW9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbC1saWJzCisJIyBXZSB1c2UgYmxraWQgZnJvbSB1dGlsLWxpbnV4IG5vdyBzbyByZW1vdmUgZnJvbSBoZXJlCisJcm0gLWYgJHtEfSR7YmFzZV9saWJkaXJ9L2xpYmJsa2lkKgorCXJtIC1yZiAke0R9JHtpbmNsdWRlZGlyfS9ibGtpZAorCXJtIC1mICR7RH0ke2Jhc2VfbGliZGlyfS9wa2djb25maWcvYmxraWQucGMKKwlybSAtZiAke0R9JHtiYXNlX3NiaW5kaXJ9L2Jsa2lkCisJcm0gLWYgJHtEfSR7YmFzZV9zYmluZGlyfS9mc2NrCisJcm0gLWYgJHtEfSR7YmFzZV9zYmluZGlyfS9maW5kZnMKKworCSMgZTJpbml0cmRfaGVscGVyIGFuZCB0aGUgcGtnY29uZmlnIGZpbGVzIGJlbG9uZyBpbiBsaWJkaXIKKwlpZiBbICEgJHtEfSR7bGliZGlyfSAtZWYgJHtEfSR7YmFzZV9saWJkaXJ9IF07IHRoZW4KKwkJaW5zdGFsbCAtZCAke0R9JHtsaWJkaXJ9CisJCW12ICR7RH0ke2Jhc2VfbGliZGlyfS9lMmluaXRyZF9oZWxwZXIgJHtEfSR7bGliZGlyfQorCQltdiAke0R9JHtiYXNlX2xpYmRpcn0vcGtnY29uZmlnICR7RH0ke2xpYmRpcn0KKwlmaQorCisJb2VfbXVsdGlsaWJfaGVhZGVyIGV4dDJmcy9leHQyX3R5cGVzLmgKKwlpbnN0YWxsIC1kICR7RH0ke2Jhc2VfYmluZGlyfQorCW12ICR7RH0ke2JpbmRpcn0vY2hhdHRyICR7RH0ke2Jhc2VfYmluZGlyfS9jaGF0dHIuZTJmc3Byb2dzCisKKwlpbnN0YWxsIC12IC1tIDc1NSAke1N9L2NvbnRyaWIvcG9wdWxhdGUtZXh0ZnMuc2ggJHtEfSR7YmFzZV9zYmluZGlyfS8KKworCSMgQ2xlYW4gaG9zdCBwYXRoIChidWlsZCBkaXJlY3RvcnkpIGluIGNvbXBpbGVfZXQsIG1rX2NtZHMKKwlzZWQgLWkgLWUgInMsXChFVF9ESVI9LipcKSR7U30vbGliL2V0XCguKlwpLFwxJHtkYXRhZGlyfS9ldFwyLGciICR7RH0ke2JpbmRpcn0vY29tcGlsZV9ldAorCXNlZCAtaSAtZSAicyxcKFNTX0RJUj0uKlwpJHtTfS9saWIvc3NcKC4qXCksXDEke2RhdGFkaXJ9L3NzXDIsZyIgJHtEfSR7YmluZGlyfS9ta19jbWRzCit9CisKKyMgTmVlZCB0byBmaW5kIHRoZSByaWdodCBta2UyZnMuY29uZiBmaWxlCitlMmZzcHJvZ3NfY29uZl9maXh1cCAoKSB7CisJZm9yIGkgaW4gbWtlMmZzIG1rZnMuZXh0MiBta2ZzLmV4dDMgbWtmcy5leHQ0OyBkbworCQljcmVhdGVfd3JhcHBlciAke0R9JHtiYXNlX3NiaW5kaXJ9LyRpIE1LRTJGU19DT05GSUc9JHtzeXNjb25mZGlyfS9ta2UyZnMuY29uZgorCWRvbmUKK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlKCkgeworCWUyZnNwcm9nc19jb25mX2ZpeHVwCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkaygpIHsKKwllMmZzcHJvZ3NfY29uZl9maXh1cAorfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy10YXJnZXQoKSB7CisJbXYgJHtEfSR7YmFzZV9zYmluZGlyfS9ta2UyZnMgJHtEfSR7YmFzZV9zYmluZGlyfS9ta2UyZnMuZTJmc3Byb2dzCisJbXYgJHtEfSR7YmFzZV9zYmluZGlyfS9ta2ZzLmV4dDIgJHtEfSR7YmFzZV9zYmluZGlyfS9ta2ZzLmV4dDIuZTJmc3Byb2dzCisJbXYgJHtEfSR7YmFzZV9zYmluZGlyfS90dW5lMmZzICR7RH0ke2Jhc2Vfc2JpbmRpcn0vdHVuZTJmcy5lMmZzcHJvZ3MKK30KKworUkRFUEVORFNfZTJmc3Byb2dzID0gImUyZnNwcm9ncy1iYWRibG9ja3MiCitSUkVDT01NRU5EU19lMmZzcHJvZ3MgPSAiZTJmc3Byb2dzLW1rZTJmcyBlMmZzcHJvZ3MtZTJmc2NrIgorCitQQUNLQUdFUyA9KyAiZTJmc3Byb2dzLWUyZnNjayBlMmZzcHJvZ3MtbWtlMmZzIGUyZnNwcm9ncy10dW5lMmZzIGUyZnNwcm9ncy1iYWRibG9ja3MgZTJmc3Byb2dzLXJlc2l6ZTJmcyIKK1BBQ0tBR0VTID0rICJsaWJjb21lcnIgbGlic3MgbGliZTJwIGxpYmV4dDJmcyIKKworRklMRVNfZTJmc3Byb2dzLXJlc2l6ZTJmcyA9ICIke2Jhc2Vfc2JpbmRpcn0vcmVzaXplMmZzKiIKK0ZJTEVTX2UyZnNwcm9ncy1lMmZzY2sgPSAiJHtiYXNlX3NiaW5kaXJ9L2UyZnNjayAke2Jhc2Vfc2JpbmRpcn0vZnNjay5leHQqIgorRklMRVNfZTJmc3Byb2dzLW1rZTJmcyA9ICIke2Jhc2Vfc2JpbmRpcn0vbWtlMmZzLmUyZnNwcm9ncyAke2Jhc2Vfc2JpbmRpcn0vbWtmcy5leHQqICR7c3lzY29uZmRpcn0vbWtlMmZzLmNvbmYiCitGSUxFU19lMmZzcHJvZ3MtdHVuZTJmcyA9ICIke2Jhc2Vfc2JpbmRpcn0vdHVuZTJmcy5lMmZzcHJvZ3MgJHtiYXNlX3NiaW5kaXJ9L2UybGFiZWwiCitGSUxFU19lMmZzcHJvZ3MtYmFkYmxvY2tzID0gIiR7YmFzZV9zYmluZGlyfS9iYWRibG9ja3MiCitGSUxFU19saWJjb21lcnIgPSAiJHtiYXNlX2xpYmRpcn0vbGliY29tX2Vyci5zby4qIgorRklMRVNfbGlic3MgPSAiJHtiYXNlX2xpYmRpcn0vbGlic3Muc28uKiIKK0ZJTEVTX2xpYmUycCA9ICIke2Jhc2VfbGliZGlyfS9saWJlMnAuc28uKiIKK0ZJTEVTX2xpYmV4dDJmcyA9ICIke2xpYmRpcn0vZTJpbml0cmRfaGVscGVyICR7YmFzZV9saWJkaXJ9L2xpYmV4dDJmcy5zby4qIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2RhdGFkaXJ9LyovKi5hd2sgJHtkYXRhZGlyfS8qLyouc2VkICR7YmFzZV9saWJkaXJ9Lyouc28gJHtiaW5kaXJ9L2NvbXBpbGVfZXQgJHtiaW5kaXJ9L21rX2NtZHMiCisKK0FMVEVSTkFUSVZFXyR7UE59ID0gImNoYXR0ciIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjEwMCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtjaGF0dHJdID0gIiR7YmFzZV9iaW5kaXJ9L2NoYXR0ciIKK0FMVEVSTkFUSVZFX1RBUkdFVFtjaGF0dHJdID0gIiR7YmFzZV9iaW5kaXJ9L2NoYXR0ci5lMmZzcHJvZ3MiCisKK0FMVEVSTkFUSVZFXyR7UE59LWRvYyA9ICJmc2NrLjgiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbZnNjay44XSA9ICIke21hbmRpcn0vbWFuOC9mc2NrLjgiCisKK0FMVEVSTkFUSVZFXyR7UE59LW1rZTJmcyA9ICJta2UyZnMgbWtmcy5leHQyIgorQUxURVJOQVRJVkVfTElOS19OQU1FW21rZTJmc10gPSAiJHtiYXNlX3NiaW5kaXJ9L21rZTJmcyIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtta2ZzLmV4dDJdID0gIiR7YmFzZV9zYmluZGlyfS9ta2ZzLmV4dDIiCisKK0FMVEVSTkFUSVZFXyR7UE59LXR1bmUyZnMgPSAidHVuZTJmcyIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt0dW5lMmZzXSA9ICIke2Jhc2Vfc2JpbmRpcn0vdHVuZTJmcyIKKworUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIiR7UE59ICR7UE59LXR1bmUyZnMgY29yZXV0aWxzIHByb2NwcyBiYXNoIGJ6aXAyIGRpZmZ1dGlscyBwZXJsIgorCitkb19jb21waWxlX3B0ZXN0KCkgeworCW9lX3J1bm1ha2UgLUMgJHtCfS90ZXN0cworfQorCitkb19pbnN0YWxsX3B0ZXN0KCkgeworCWNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzIC12ICR7Qn0vdGVzdHMgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdAorCWNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzIC12ICR7U30vdGVzdHMvKiAke0R9JHtQVEVTVF9QQVRIfS90ZXN0CisJc2VkIC1lICdzIS4uL2UyZnNjay9lMmZzY2shZTJmc2NrIWcnIFwKKwkgICAgLWUgJ3MhLi4vbWlzYy90dW5lMmZzIXR1bmUyZnMhZycgLWkgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdC8qL2V4cGVjdCoKKwlzZWQgLWUgJ3MhLi4vZTJmc2NrL2UyZnNjayEke2Jhc2Vfc2JpbmRpcn0vZTJmc2NrIWcnIC1pICR7RH0ke1BURVNUX1BBVEh9L3Rlc3QvKi9zY3JpcHQKKworCSMgUmVtb3ZlIHZhcmlvdXMgZmlsZXMKKwlmaW5kICIke0R9JHtQVEVTVF9QQVRIfSIgLXR5cGUgZiBcCisJICAgIFwoIC1uYW1lICdNYWtlZmlsZScgLW8gLW5hbWUgJ01ha2VmaWxlLmluJyAtbyAtbmFtZSAnKi5vJyAtbyAtbmFtZSAnKi5jJyAtbyAtbmFtZSAnKi5oJyBcKVwKKwkgICAgLWV4ZWMgIHJtIC1mIHt9ICsKKworICAgICAgICBpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L2xpYgorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtCfS9saWIvY29uZmlnLmggICR7RH0ke1BURVNUX1BBVEh9L2xpYi8KK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2VsZnV0aWxzXzAuMTc1LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZWxmdXRpbHNfMC4xNzUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIwYjlkZGMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZWxmdXRpbHNfMC4xNzUuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw3MyArMCwwIEBACi1TVU1NQVJZID0gIlV0aWxpdGllcyBhbmQgbGlicmFyaWVzIGZvciBoYW5kbGluZyBjb21waWxlZCBvYmplY3QgZmlsZXMiCi1IT01FUEFHRSA9ICJodHRwczovL3NvdXJjZXdhcmUub3JnL2VsZnV0aWxzIgotU0VDVElPTiA9ICJiYXNlIgotTElDRU5TRSA9ICIoR1BMdjMgJiBFbGZ1dGlscy1FeGNlcHRpb24pIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCi1ERVBFTkRTID0gImxpYnRvb2wgYnppcDIgemxpYiB2aXJ0dWFsL2xpYmludGwiCi1ERVBFTkRTX2FwcGVuZF9saWJjLW11c2wgPSAiIGFyZ3Atc3RhbmRhbG9uZSBmdHMgIgotIyBUaGUgRGViaWFuIHBhdGNoZXMgYmVsb3cgYXJlIGZyb206Ci0jIGh0dHA6Ly9mdHAuZGUuZGViaWFuLm9yZy9kZWJpYW4vcG9vbC9tYWluL2UvZWxmdXRpbHMvZWxmdXRpbHNfMC4xNzUtMS5kZWJpYW4udGFyLnh6Ci1TUkNfVVJJID0gImh0dHBzOi8vc291cmNld2FyZS5vcmcvZWxmdXRpbHMvZnRwLyR7UFZ9LyR7QlB9LnRhci5iejIgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1kc28tbGluay1jaGFuZ2UucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1GaXgtZWxmX2N2dF9ndW5oYXNoLWlmLWRlc3QtYW5kLXNyYy1hcmUtc2FtZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAzLWZpeGhlYWRlcmNoZWNrLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDQtRGlzYWJsZS10aGUtdGVzdC10by1jb252ZXJ0LWV1Yy1qcC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA2LUZpeC1idWlsZC1vbi1hYXJjaDY0LW11c2wucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNy1GaXgtY29udHJvbC1wYXRoLXdoZXJlLXdlLWhhdmUtc3RyLWFzLXVuaW5pdGlhbGl6ZWQtLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtbGliYXNtLW1heS1saW5rLXdpdGgtbGliYnoyLWlmLWZvdW5kLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtbGliZWxmLWVsZl9lbmQuYy1jaGVjay1kYXRhX2xpc3QuZGF0YS5kLmRfYnVmLWJlZm9yZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vaHBwYV9iYWNrZW5kLmRpZmYgXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuL2FybV9iYWNrZW5kLmRpZmYgXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuL21pcHNfYmFja2VuZC5kaWZmIFwKLSAgICAgICAgICAgZmlsZTovL2RlYmlhbi9taXBzX3JlYWRlbGZfdy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWJpYW4va2ZyZWVic2RfcGF0aC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vMDAwMS1JZ25vcmUtZGlmZmVyZW5jZXMtYmV0d2Vlbi1taXBzLW1hY2hpbmUtaWRlbnRpZmllcnMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuLzAwMDItQWRkLXN1cHBvcnQtZm9yLW1pcHM2NC1hYmlzLWluLW1pcHNfcmV0dmFsLmMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuLzAwMDMtQWRkLW1pcHMtbjY0LXJlbG9jYXRpb24tZm9ybWF0LWhhY2sucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuL2h1cmRfcGF0aC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vaWdub3JlX3N0cm1lcmdlLmRpZmYgXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuL2Rpc2FibGVfd2Vycm9yLnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsID0gIiBmaWxlOi8vMDAwOC1idWlsZC1Qcm92aWRlLWFsdGVybmF0aXZlcy1mb3ItZ2xpYmMtYXNzdW1wdGlvbnMtaGVsLnBhdGNoIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiOWEwMmIwMzgyYjc4Y2MyZDUxNWZiOTUwMjc1ZDRjMDIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjdlZjkyNTU0MWVlMzJjNmQxNWFlNWNiMjdkYTVmMTE5ZTAxYTVjY2RiZTlmZTU3YmY4MzY3MzBkN2I3YTY1YiIKLQotaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dAotCi1FWFRSQV9PRUNPTkYgPSAiLS1wcm9ncmFtLXByZWZpeD1ldS0gLS13aXRob3V0LWx6bWEiCi1FWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgLS13aXRob3V0LWJ6bGliIgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLQlpZiBbICIke1RBUkdFVF9BUkNIfSIgIT0gIng4Nl82NCIgXSAmJiBbIC16IGBlY2hvICIke1RBUkdFVF9BUkNIfSJ8Z3JlcCAnaS44NidgIF07dGhlbgotCQlybSAtZiAke0R9JHtiaW5kaXJ9L2V1LW9iamR1bXAKLQlmaQotfQotCi1FWFRSQV9PRU1BS0VfY2xhc3MtbmF0aXZlID0gIiIKLUVYVFJBX09FTUFLRV9jbGFzcy1uYXRpdmVzZGsgPSAiIgotCi1BTExPV19FTVBUWV8ke1BOfV9saWJjLW11c2wgPSAiMSIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgotCi0jIFBhY2thZ2UgdXRpbGl0aWVzIHNlcGFyYXRlbHkKLVBBQ0tBR0VTID0rICIke1BOfS1iaW51dGlscyBsaWJlbGYgbGliYXNtIGxpYmR3IgotRklMRVNfJHtQTn0tYmludXRpbHMgPSAiXAotICAgICR7YmluZGlyfS9ldS1hZGRyMmxpbmUgXAotICAgICR7YmluZGlyfS9ldS1sZCBcCi0gICAgJHtiaW5kaXJ9L2V1LW5tIFwKLSAgICAke2JpbmRpcn0vZXUtcmVhZGVsZiBcCi0gICAgJHtiaW5kaXJ9L2V1LXNpemUgXAotICAgICR7YmluZGlyfS9ldS1zdHJpcCIKLQotRklMRVNfbGliZWxmID0gIiR7bGliZGlyfS9saWJlbGYtJHtQVn0uc28gJHtsaWJkaXJ9L2xpYmVsZi5zby4qIgotRklMRVNfbGliYXNtID0gIiR7bGliZGlyfS9saWJhc20tJHtQVn0uc28gJHtsaWJkaXJ9L2xpYmFzbS5zby4qIgotRklMRVNfbGliZHcgID0gIiR7bGliZGlyfS9saWJkdy0ke1BWfS5zbyAke2xpYmRpcn0vbGliZHcuc28uKiAke2xpYmRpcn0vZWxmdXRpbHMvbGliKiIKLSMgU29tZSBwYWNrYWdlcyBoYXZlIHRoZSB2ZXJzaW9uIHByZWNlZWRpbmcgdGhlIC5zbyBpbnN0ZWFkIHByb3Blcmx5Ci0jIHZlcnNpb25lZCAuc28uPHZlcnNpb24+LCBzbyB3ZSBuZWVkIHRvIHJlb3JkZXIgYW5kIHJlcGFja2FnZS4KLSNGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9LyotJHtQVn0uc28gJHtiYXNlX2xpYmRpcn0vKi0ke1BWfS5zbyIKLSNGSUxFU19TT0xJQlNERVYgPSAiJHtsaWJkaXJ9L2xpYmFzbS5zbyAke2xpYmRpcn0vbGliZHcuc28gJHtsaWJkaXJ9L2xpYmVsZi5zbyIKLQotIyBUaGUgcGFja2FnZSBjb250YWlucyBzeW1saW5rcyB0aGF0IHRyaXAgdXAgaW5zYW5lCi1JTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmR3ID0gImRldi1zbyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2VsZnV0aWxzXzAuMTc2LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZWxmdXRpbHNfMC4xNzYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmQ5MDFjOQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2VsZnV0aWxzXzAuMTc2LmJiCkBAIC0wLDAgKzEsNzMgQEAKK1NVTU1BUlkgPSAiVXRpbGl0aWVzIGFuZCBsaWJyYXJpZXMgZm9yIGhhbmRsaW5nIGNvbXBpbGVkIG9iamVjdCBmaWxlcyIKK0hPTUVQQUdFID0gImh0dHBzOi8vc291cmNld2FyZS5vcmcvZWxmdXRpbHMiCitTRUNUSU9OID0gImJhc2UiCitMSUNFTlNFID0gIihHUEx2MyAmIEVsZnV0aWxzLUV4Y2VwdGlvbikiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKK0RFUEVORFMgPSAibGlidG9vbCBiemlwMiB6bGliIHZpcnR1YWwvbGliaW50bCIKK0RFUEVORFNfYXBwZW5kX2xpYmMtbXVzbCA9ICIgYXJncC1zdGFuZGFsb25lIGZ0cyAiCisjIFRoZSBEZWJpYW4gcGF0Y2hlcyBiZWxvdyBhcmUgZnJvbToKKyMgaHR0cDovL2Z0cC5kZS5kZWJpYW4ub3JnL2RlYmlhbi9wb29sL21haW4vZS9lbGZ1dGlscy9lbGZ1dGlsc18wLjE3NS0xLmRlYmlhbi50YXIueHoKK1NSQ19VUkkgPSAiaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9lbGZ1dGlscy9mdHAvJHtQVn0vJHtCUH0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWRzby1saW5rLWNoYW5nZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLUZpeC1lbGZfY3Z0X2d1bmhhc2gtaWYtZGVzdC1hbmQtc3JjLWFyZS1zYW1lLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtZml4aGVhZGVyY2hlY2sucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1EaXNhYmxlLXRoZS10ZXN0LXRvLWNvbnZlcnQtZXVjLWpwLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDYtRml4LWJ1aWxkLW9uLWFhcmNoNjQtbXVzbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA3LUZpeC1jb250cm9sLXBhdGgtd2hlcmUtd2UtaGF2ZS1zdHItYXMtdW5pbml0aWFsaXplZC0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1saWJhc20tbWF5LWxpbmstd2l0aC1saWJiejItaWYtZm91bmQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1saWJlbGYtZWxmX2VuZC5jLWNoZWNrLWRhdGFfbGlzdC5kYXRhLmQuZF9idWYtYmVmb3JlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2RlYmlhbi9ocHBhX2JhY2tlbmQuZGlmZiBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vYXJtX2JhY2tlbmQuZGlmZiBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vbWlwc19iYWNrZW5kLmRpZmYgXAorICAgICAgICAgICBmaWxlOi8vZGViaWFuL21pcHNfcmVhZGVsZl93LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2RlYmlhbi9rZnJlZWJzZF9wYXRoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2RlYmlhbi8wMDAxLUlnbm9yZS1kaWZmZXJlbmNlcy1iZXR3ZWVuLW1pcHMtbWFjaGluZS1pZGVudGlmaWVycy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vMDAwMi1BZGQtc3VwcG9ydC1mb3ItbWlwczY0LWFiaXMtaW4tbWlwc19yZXR2YWwuYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vMDAwMy1BZGQtbWlwcy1uNjQtcmVsb2NhdGlvbi1mb3JtYXQtaGFjay5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vaHVyZF9wYXRoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2RlYmlhbi9pZ25vcmVfc3RybWVyZ2UuZGlmZiBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vZGlzYWJsZV93ZXJyb3IucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJX2FwcGVuZF9saWJjLW11c2wgPSAiIGZpbGU6Ly8wMDA4LWJ1aWxkLVByb3ZpZGUtYWx0ZXJuYXRpdmVzLWZvci1nbGliYy1hc3N1bXB0aW9ucy1oZWwucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwNzdlNGY0OTMyMGNhZDgyYmYxN2E5OTcwNjhiMWRiOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlYjU3NDdjMzcxYjBhZjBmNzFlODYyMTVhNWViYjg4NzI4NTMzYzNhMTA0YTQzZDQyMzE5NjNmMzA4Y2QxMDIzIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0CisKK0VYVFJBX09FQ09ORiA9ICItLXByb2dyYW0tcHJlZml4PWV1LSAtLXdpdGhvdXQtbHptYSIKK0VYVFJBX09FQ09ORl9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiAtLXdpdGhvdXQtYnpsaWIiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCWlmIFsgIiR7VEFSR0VUX0FSQ0h9IiAhPSAieDg2XzY0IiBdICYmIFsgLXogYGVjaG8gIiR7VEFSR0VUX0FSQ0h9InxncmVwICdpLjg2J2AgXTt0aGVuCisJCXJtIC1mICR7RH0ke2JpbmRpcn0vZXUtb2JqZHVtcAorCWZpCit9CisKK0VYVFJBX09FTUFLRV9jbGFzcy1uYXRpdmUgPSAiIgorRVhUUkFfT0VNQUtFX2NsYXNzLW5hdGl2ZXNkayA9ICIiCisKK0FMTE9XX0VNUFRZXyR7UE59X2xpYmMtbXVzbCA9ICIxIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKKyMgUGFja2FnZSB1dGlsaXRpZXMgc2VwYXJhdGVseQorUEFDS0FHRVMgPSsgIiR7UE59LWJpbnV0aWxzIGxpYmVsZiBsaWJhc20gbGliZHciCitGSUxFU18ke1BOfS1iaW51dGlscyA9ICJcCisgICAgJHtiaW5kaXJ9L2V1LWFkZHIybGluZSBcCisgICAgJHtiaW5kaXJ9L2V1LWxkIFwKKyAgICAke2JpbmRpcn0vZXUtbm0gXAorICAgICR7YmluZGlyfS9ldS1yZWFkZWxmIFwKKyAgICAke2JpbmRpcn0vZXUtc2l6ZSBcCisgICAgJHtiaW5kaXJ9L2V1LXN0cmlwIgorCitGSUxFU19saWJlbGYgPSAiJHtsaWJkaXJ9L2xpYmVsZi0ke1BWfS5zbyAke2xpYmRpcn0vbGliZWxmLnNvLioiCitGSUxFU19saWJhc20gPSAiJHtsaWJkaXJ9L2xpYmFzbS0ke1BWfS5zbyAke2xpYmRpcn0vbGliYXNtLnNvLioiCitGSUxFU19saWJkdyAgPSAiJHtsaWJkaXJ9L2xpYmR3LSR7UFZ9LnNvICR7bGliZGlyfS9saWJkdy5zby4qICR7bGliZGlyfS9lbGZ1dGlscy9saWIqIgorIyBTb21lIHBhY2thZ2VzIGhhdmUgdGhlIHZlcnNpb24gcHJlY2VlZGluZyB0aGUgLnNvIGluc3RlYWQgcHJvcGVybHkKKyMgdmVyc2lvbmVkIC5zby48dmVyc2lvbj4sIHNvIHdlIG5lZWQgdG8gcmVvcmRlciBhbmQgcmVwYWNrYWdlLgorI0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vKi0ke1BWfS5zbyAke2Jhc2VfbGliZGlyfS8qLSR7UFZ9LnNvIgorI0ZJTEVTX1NPTElCU0RFViA9ICIke2xpYmRpcn0vbGliYXNtLnNvICR7bGliZGlyfS9saWJkdy5zbyAke2xpYmRpcn0vbGliZWxmLnNvIgorCisjIFRoZSBwYWNrYWdlIGNvbnRhaW5zIHN5bWxpbmtzIHRoYXQgdHJpcCB1cCBpbnNhbmUKK0lOU0FORV9TS0lQXyR7TUxQUkVGSVh9bGliZHcgPSAiZGV2LXNvIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvMDAwMS1kc28tbGluay1jaGFuZ2UucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDAxLWRzby1saW5rLWNoYW5nZS5wYXRjaAppbmRleCA0YzYyZGM1Li5hZjc5ZWY0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDAxLWRzby1saW5rLWNoYW5nZS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDAxLWRzby1saW5rLWNoYW5nZS5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gYzljNmQyNDE0NjUxZGJmMTYzZGM0OTYzYzNjM2Q2ZjVjYWNlZjg5OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYjk5YWExMmNmODc5Y2UyMDBlMDNkNzVlNTQzYzdhYjJkZmE1NTAzYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KIERhdGU6IFR1ZSwgMTUgQXVnIDIwMTcgMTc6MTA6NTcgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCAxLzddIGRzbyBsaW5rIGNoYW5nZQorU3ViamVjdDogW1BBVENIXSBkc28gbGluayBjaGFuZ2UKIAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCiAKQEAgLTE2LDYgKzE2LDcgQEAKIFJlYmFzZSB0byAwLjE3MAogCiBTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CisKIC0tLQogIHNyYy9NYWtlZmlsZS5hbSAgIHwgMiArLQogIHRlc3RzL01ha2VmaWxlLmFtIHwgMiArLQpAQCAtMzUsMTAgKzM2LDEwIEBACiAgZW5kaWYKICBsaWJlYmwgPSAuLi9saWJlYmwvbGliZWJsLmEKIGRpZmYgLS1naXQgYS90ZXN0cy9NYWtlZmlsZS5hbSBiL3Rlc3RzL01ha2VmaWxlLmFtCi1pbmRleCBiNDVlY2RjLi5kZDI1NmZiIDEwMDY0NAoraW5kZXggMWIwYzdkMy4uYmNlZDE5YiAxMDA2NDQKIC0tLSBhL3Rlc3RzL01ha2VmaWxlLmFtCiArKysgYi90ZXN0cy9NYWtlZmlsZS5hbQotQEAgLTQzNiw3ICs0MzYsNyBAQCBsaWJkdyA9IC4uL2xpYmR3L2xpYmR3LmEgLWx6ICQoemlwX0xJQlMpICQobGliZWxmKSAkKGxpYmVibCkgLWxkbAorQEAgLTQ3Niw3ICs0NzYsNyBAQCBsaWJkdyA9IC4uL2xpYmR3L2xpYmR3LmEgLWx6ICQoemlwX0xJQlMpICQobGliZWxmKSAkKGxpYmVibCkgLWxkbAogIGxpYmVsZiA9IC4uL2xpYmVsZi9saWJlbGYuYSAtbHoKICBsaWJhc20gPSAuLi9saWJhc20vbGliYXNtLmEKICBlbHNlCkBAIC00Nyw2ICs0OCwzIEBACiAgbGliZWxmID0gLi4vbGliZWxmL2xpYmVsZi5zbwogIGxpYmFzbSA9IC4uL2xpYmFzbS9saWJhc20uc28KICBlbmRpZgotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDAxLWxpYmFzbS1tYXktbGluay13aXRoLWxpYmJ6Mi1pZi1mb3VuZC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDEtbGliYXNtLW1heS1saW5rLXdpdGgtbGliYnoyLWlmLWZvdW5kLnBhdGNoCmluZGV4IGMzNDIwNTMuLjBkNTMzYzggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDEtbGliYXNtLW1heS1saW5rLXdpdGgtbGliYnoyLWlmLWZvdW5kLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDEtbGliYXNtLW1heS1saW5rLXdpdGgtbGliYnoyLWlmLWZvdW5kLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA3NDYyOTAxNmU3NjM0M2E0YmYzOTkxNWM5MTkyYjZiZjI2YTU3YzJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBkN2JlNjg3YzM1ZmE0Mjk1NDg3NDAzNGM4MmNhOTA1OWQyODE5NmZlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFdlZCwgNCBPY3QgMjAxNyAyMjozMDo0NiAtMDcwMAogU3ViamVjdDogW1BBVENIXSBsaWJhc20gbWF5IGxpbmsgd2l0aCBsaWJiejIgaWYgZm91bmQKQEAgLTExLDYgKzExLDcgQEAKIAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCiBTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCiAtLS0KICBzcmMvTWFrZWZpbGUuYW0gfCA0ICsrLS0KICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQpAQCAtMzMsNiArMzQsMyBAQAogIGxpYmR3ID0gLi4vbGliZHcvbGliZHcuc28gJCh6aXBfTElCUykgJChsaWJlbGYpICQobGliZWJsKSAtbGRsCiAgbGliZWxmID0gLi4vbGliZWxmL2xpYmVsZi5zbwogIGVuZGlmCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDEtbGliZWxmLWVsZl9lbmQuYy1jaGVjay1kYXRhX2xpc3QuZGF0YS5kLmRfYnVmLWJlZm9yZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDEtbGliZWxmLWVsZl9lbmQuYy1jaGVjay1kYXRhX2xpc3QuZGF0YS5kLmRfYnVmLWJlZm9yZS5wYXRjaAppbmRleCAxYmRiNTExLi5iMjZlZDk5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDAxLWxpYmVsZi1lbGZfZW5kLmMtY2hlY2stZGF0YV9saXN0LmRhdGEuZC5kX2J1Zi1iZWZvcmUucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvMDAwMS1saWJlbGYtZWxmX2VuZC5jLWNoZWNrLWRhdGFfbGlzdC5kYXRhLmQuZF9idWYtYmVmb3JlLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAzMzkzYTJlNTQ0ODE4ZjBiZDE4ODdjMTNmMjhhNzZhZDYwYzJkZjk4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBlNTcxY2JkMGMyMDA4NWVjNzE5Njk5NzFmMTkyODBiNWRlOTVjZmI3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CiBEYXRlOiBUaHUsIDE2IEF1ZyAyMDE4IDA5OjU4OjI2ICswODAwCiBTdWJqZWN0OiBbUEFUQ0hdIGxpYmVsZi9lbGZfZW5kLmM6IGNoZWNrIGRhdGFfbGlzdC5kYXRhLmQuZF9idWYgYmVmb3JlIGZyZWUgaXQKQEAgLTE0LDYgKzE0LDcgQEAKIFVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL3NvdXJjZXdhcmUub3JnL21sL2VsZnV0aWxzLWRldmVsLzIwMTgtcTMvbXNnMDAwODUuaHRtbF0KIAogU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CisKIC0tLQogIGxpYmVsZi9lbGZfZW5kLmMgfCA2ICsrKystLQogIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCkBAIC00MSw2ICs0MiwzIEBACiAgCQkgIGZyZWUgKHNjbi0+cmF3ZGF0YV9iYXNlKTsKICAKICAJCS8qIEZyZWUgdGhlIGxpc3Qgb2YgZGF0YSBidWZmZXJzIGZvciB0aGUgc2VjdGlvbi4KLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvMDAwMi1GaXgtZWxmX2N2dF9ndW5oYXNoLWlmLWRlc3QtYW5kLXNyYy1hcmUtc2FtZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDItRml4LWVsZl9jdnRfZ3VuaGFzaC1pZi1kZXN0LWFuZC1zcmMtYXJlLXNhbWUucGF0Y2gKaW5kZXggODZkMjZiZC4uOTZjMjU2NSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvMDAwMi1GaXgtZWxmX2N2dF9ndW5oYXNoLWlmLWRlc3QtYW5kLXNyYy1hcmUtc2FtZS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDAyLUZpeC1lbGZfY3Z0X2d1bmhhc2gtaWYtZGVzdC1hbmQtc3JjLWFyZS1zYW1lLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSA5ZmQ0YmIwNWQzZjJiN2VhZjlmZTQ0MWJlZTI2ZDNiMTg3OGQ3Y2M3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBmOGU0MTE4YjYwYTliNTQ5NTA0MzcwMDZhODJiNDA0N2YzOGY1MzQ3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogRGF0ZTogVHVlLCAxNSBBdWcgMjAxNyAxNzoxMzo1OSArMDgwMAotU3ViamVjdDogW1BBVENIIDIvN10gRml4IGVsZl9jdnRfZ3VuaGFzaCBpZiBkZXN0IGFuZCBzcmMgYXJlIHNhbWUuCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBlbGZfY3Z0X2d1bmhhc2ggaWYgZGVzdCBhbmQgc3JjIGFyZSBzYW1lLgogCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIApAQCAtMTIsNiArMTIsNyBAQAogCiBSZWJhc2UgdG8gMC4xNzAKIFNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKwogLS0tCiAgbGliZWxmL2dudWhhc2hfeGxhdGUuaCB8IDMgKystCiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQpAQCAtMzcsNiArMzgsMyBAQAogIAogICAgLyogTm93IHRoZSA2NCBiaXQgd29yZHMuICAqLwogICAgRWxmNjRfWHdvcmQgKmRlc3Q2NCA9IChFbGY2NF9Yd29yZCAqKSAmZGVzdDMyWzRdOwotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDAzLWZpeGhlYWRlcmNoZWNrLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvMDAwMy1maXhoZWFkZXJjaGVjay5wYXRjaAppbmRleCBkMWM4ZTQxLi5lMzZkM2Y0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDAzLWZpeGhlYWRlcmNoZWNrLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDMtZml4aGVhZGVyY2hlY2sucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDA0ZmIzZjY1ZWMxODZkZjUyMzFkZDBjMjE3ODBhNTVkY2MwM2M4NjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGRkN2M4YzczMDQ1N2RlZjVmNjJlYmQ0MzAyMmIyZjA2ZGY4YzZlZDkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CiBEYXRlOiBUdWUsIDE1IEF1ZyAyMDE3IDE3OjE3OjIwICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggMy83XSBmaXhoZWFkZXJjaGVjaworU3ViamVjdDogW1BBVENIXSBmaXhoZWFkZXJjaGVjawogCiBGb3Igc29tZSBiaW5hcmllcyB3ZSBjYW4gZ2V0IGEgaW52YWxpZCBzZWN0aW9uIGFsaWdubWVudCwgZm9yIGV4YW1wbGUgaWYKIHNoX2FsaWduID0gMSBhbmQgc2hfYWRkcmFsaWduIGlzIDAuIEluIHRoZSBjYXNlIG9mIGEgemVybyBzaXplIHNlY3Rpb24KQEAgLTE2LDYgKzE2LDcgQEAKIAogUmViYXNlIHRvIDAuMTcwCiBTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CisKIC0tLQogIGxpYmVsZi9lbGYzMl91cGRhdGVudWxsLmMgfCA0ICsrLS0KICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQpAQCAtMzUsNiArMzYsMyBAQAogIAkJICAgIHsKICAJCSAgICAgIF9fbGliZWxmX3NldGVycm5vIChFTEZfRV9JTlZBTElEX0FMSUdOKTsKICAJCSAgICAgIHJldHVybiAtMTsKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvMDAwNC1EaXNhYmxlLXRoZS10ZXN0LXRvLWNvbnZlcnQtZXVjLWpwLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvMDAwNC1EaXNhYmxlLXRoZS10ZXN0LXRvLWNvbnZlcnQtZXVjLWpwLnBhdGNoCmluZGV4IGJmM2E2NDUuLjVkZWU2MTIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDQtRGlzYWJsZS10aGUtdGVzdC10by1jb252ZXJ0LWV1Yy1qcC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDA0LURpc2FibGUtdGhlLXRlc3QtdG8tY29udmVydC1ldWMtanAucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIGRiYzg4MzQ5YjllZWQ0MjY4ZGI5NTFkZjJjM2E4Mzg3Zjc1YTMyZTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGU0ZWRlMjJlMjhlYWEzOGQ4MTY2N2RkY2IxOTU0MWVjZTFhODNjZjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CiBEYXRlOiBUdWUsIDE1IEF1ZyAyMDE3IDE3OjI0OjA2ICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggNC83XSBEaXNhYmxlIHRoZSB0ZXN0IHRvIGNvbnZlcnQgZXVjLWpwCitTdWJqZWN0OiBbUEFUQ0hdIERpc2FibGUgdGhlIHRlc3QgdG8gY29udmVydCBldWMtanAKIAogUmVtb3ZlIHRoZSB0ZXN0ICJUZXN0IGFnYWluc3QgSFAtVVggMTEuMTEgYnVnOgogTm8gY29udmVydGVyIGZyb20gRVVDLUpQIHRvIFVURi04IGlzIHByb3ZpZGVkIgpAQCAtMTUsNiArMTUsNyBAQAogCiBSZWJhc2UgdG8gMC4xNzAKIFNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKwogLS0tCiAgbTQvaWNvbnYubTQgfCAyICsrCiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQpAQCAtMzksNiArNDAsMyBAQAogICAgcmV0dXJuIHJlc3VsdDsKICB9XV0pXSwKICAgICAgICAgIFthbV9jdl9mdW5jX2ljb252X3dvcmtzPXllc10sCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDYtRml4LWJ1aWxkLW9uLWFhcmNoNjQtbXVzbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDYtRml4LWJ1aWxkLW9uLWFhcmNoNjQtbXVzbC5wYXRjaAppbmRleCA0MGI4NTQ0Li42Zjc5NTZjIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDA2LUZpeC1idWlsZC1vbi1hYXJjaDY0LW11c2wucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvMDAwNi1GaXgtYnVpbGQtb24tYWFyY2g2NC1tdXNsLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSBiNGVjMDU5NTNmNzhhZjI2YmNkN2RlNDVhNWJiYzVmMTM4ZDAyM2RhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA1NzhmMzcwYzdlN2E5ZjA1NmFlZmEwNjJiMzQ1OTBiMGFhMTNiY2U1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogRGF0ZTogVHVlLCAxNSBBdWcgMjAxNyAxNzoyNzozMCArMDgwMAotU3ViamVjdDogW1BBVENIIDYvN10gRml4IGJ1aWxkIG9uIGFhcmNoNjQvbXVzbAorU3ViamVjdDogW1BBVENIXSBGaXggYnVpbGQgb24gYWFyY2g2NC9tdXNsCiAKIEVycm9ycwogCkBAIC0xNiw2ICsxNiw3IEBACiAKIFJlYmFzZSB0byAwLjE3MAogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorCiAtLS0KICBiYWNrZW5kcy9hYXJjaDY0X2luaXRyZWcuYyB8IDQgKystLQogIGJhY2tlbmRzL2FybV9pbml0cmVnLmMgICAgIHwgMiArLQpAQCAtNTYsNiArNTcsMyBAQAogICMgaW5jbHVkZSA8c3lzL3VzZXIuaD4KICAjIGluY2x1ZGUgPHN5cy9wdHJhY2UuaD4KICAvKiBEZWFsIHdpdGggb2xkIGdsaWJjIGRlZmluaW5nIHVzZXJfcHRfcmVncyBpbnN0ZWFkIG9mIHVzZXJfcmVnc19zdHJ1Y3QuICAqLwotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDA3LUZpeC1jb250cm9sLXBhdGgtd2hlcmUtd2UtaGF2ZS1zdHItYXMtdW5pbml0aWFsaXplZC0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDA3LUZpeC1jb250cm9sLXBhdGgtd2hlcmUtd2UtaGF2ZS1zdHItYXMtdW5pbml0aWFsaXplZC0ucGF0Y2gKaW5kZXggYmJhNDIwZS4uNjExYTI0YyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvMDAwNy1GaXgtY29udHJvbC1wYXRoLXdoZXJlLXdlLWhhdmUtc3RyLWFzLXVuaW5pdGlhbGl6ZWQtLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDctRml4LWNvbnRyb2wtcGF0aC13aGVyZS13ZS1oYXZlLXN0ci1hcy11bmluaXRpYWxpemVkLS5wYXRjaApAQCAtMSw4ICsxLDcgQEAKLUZyb20gOGViMTAwYjJlNTFiZTVkNDczYjA3NDhhMjIzZTJlN2Y2MWVjNjA2YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMTEyZDE2NDViYWI3OTIyYzc3OTZmZTMyZGRlYThmYTZlMWJiZGVkMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KIERhdGU6IEZyaSwgMjkgSnVuIDIwMTggMTU6MTQ6MjggKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCA3LzddIEZpeCBjb250cm9sIHBhdGggd2hlcmUgd2UgaGF2ZSBzdHIgYXMgdW5pbml0aWFsaXplZAotIHN0cmluZworU3ViamVjdDogW1BBVENIXSBGaXggY29udHJvbCBwYXRoIHdoZXJlIHdlIGhhdmUgc3RyIGFzIHVuaW5pdGlhbGl6ZWQgc3RyaW5nCiAKIHwKIC9ob21lL3VidW50dS93b3JrL29lL29wZW5lbWJlZGRlZC1jb3JlL2J1aWxkL3RtcC1tdXNsL3dvcmsvaTU4Ni1vZS1saW51eC1tdXNsL2VsZnV0aWxzLzAuMTY0LXIwL2VsZnV0aWxzLTAuMTY0L2xpYmNwdS9pMzg2X2Rpc2FzbS5jOgpAQCAtMjQsNiArMjMsNyBAQAogUmViYXNlIHRvIDAuMTcyCiAKIFNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKwogLS0tCiAgbGliY3B1L2kzODZfZGlzYXNtLmMgfCAxICsKICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKQEAgLTQwLDYgKzQwLDMgQEAKICAJCQkgIGFzc2VydCAoISAiSU5WQUxJRCBub3QgaGFuZGxlZCIpOwogIAkJCX0KICAJCSAgICB9Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDgtYnVpbGQtUHJvdmlkZS1hbHRlcm5hdGl2ZXMtZm9yLWdsaWJjLWFzc3VtcHRpb25zLWhlbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDgtYnVpbGQtUHJvdmlkZS1hbHRlcm5hdGl2ZXMtZm9yLWdsaWJjLWFzc3VtcHRpb25zLWhlbC5wYXRjaAppbmRleCA0MTk4MWY0Li5hNGYzMDFkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDA4LWJ1aWxkLVByb3ZpZGUtYWx0ZXJuYXRpdmVzLWZvci1nbGliYy1hc3N1bXB0aW9ucy1oZWwucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvMDAwOC1idWlsZC1Qcm92aWRlLWFsdGVybmF0aXZlcy1mb3ItZ2xpYmMtYXNzdW1wdGlvbnMtaGVsLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAyMDdiZTA1YzQ0ZGE1YzRjMzExNzlhMzQ2NjBlMTc2MTQ1ZmY4ZDRiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA5OTBkMzc3YTkyZjRiYWIwNGJmNjgyMGZjODFiM2RjYjZjZjVlMzFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IE1vbiwgMiBKdWwgMjAxOCAwOTo1MjoyMyArMDgwMAogU3ViamVjdDogW1BBVENIXSBidWlsZDogUHJvdmlkZSBhbHRlcm5hdGl2ZXMgZm9yIGdsaWJjIGFzc3VtcHRpb25zIGhlbHBzCkBAIC0xMCw2ICsxMCw3IEBACiBSZWJhc2UgdG8gMC4xNzUKIAogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorCiAtLS0KICBNYWtlZmlsZS5hbSAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiAgbGliL2ZpeGVkc2l6ZWhhc2guaCAgICAgICAgICAgICAgfCAgMSAtCkBAIC0yMjEsNiArMjIyLDMgQEAKICAKICAjaW5jbHVkZSA8ZXJybm8uaD4KICAjaW5jbHVkZSA8c3RkYm9vbC5oPgotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vMDAwMS1JZ25vcmUtZGlmZmVyZW5jZXMtYmV0d2Vlbi1taXBzLW1hY2hpbmUtaWRlbnRpZmllcnMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vMDAwMS1JZ25vcmUtZGlmZmVyZW5jZXMtYmV0d2Vlbi1taXBzLW1hY2hpbmUtaWRlbnRpZmllcnMucGF0Y2gKaW5kZXggZmEzYTNjNi4uODkyYjhlOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvZGViaWFuLzAwMDEtSWdub3JlLWRpZmZlcmVuY2VzLWJldHdlZW4tbWlwcy1tYWNoaW5lLWlkZW50aWZpZXJzLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi8wMDAxLUlnbm9yZS1kaWZmZXJlbmNlcy1iZXR3ZWVuLW1pcHMtbWFjaGluZS1pZGVudGlmaWVycy5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gNzdjYjRhNTNjMjcwZDU4NTRkM2FmMjRmMTk1NDdiYzNkZTgyNTIzMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNDZkMmMyZjhmZWNhZDg1YmFlZWQ5ZmUyMTFmNTI4NTgyMDIyMDQ0MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEphbWVzIENvd2dpbGwgPGphbWVzNDEwQGNvd2dpbGwub3JnLnVrPgogRGF0ZTogTW9uLCA1IEphbiAyMDE1IDE1OjE2OjU4ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8zXSBJZ25vcmUgZGlmZmVyZW5jZXMgYmV0d2VlbiBtaXBzIG1hY2hpbmUgaWRlbnRpZmllcnMKK1N1YmplY3Q6IFtQQVRDSF0gSWdub3JlIGRpZmZlcmVuY2VzIGJldHdlZW4gbWlwcyBtYWNoaW5lIGlkZW50aWZpZXJzCiAKIExpdHRsZSBlbmRpYW4gYmluYXJpZXMgYWN0dWFsbHkgdXNlIEVNX01JUFMgc28geW91IGNhbid0IHRlbGwgdGhlIGVuZGlhbm5lc3MKIGZyb20gdGhlIGVsZiBtYWNoaW5lIGlkLiBBbHNvLCB0aGUgRU1fTUlQU19SUzNfTEUgbWFjaGluZSBpcyBkZWFkIGFueXdheSAodGhlCkBAIC0xMCwxNSArMTAsMTYgQEAKIFNpZ25lZC1vZmYtYnk6IEphbWVzIENvd2dpbGwgPGphbWVzNDEwQGNvd2dpbGwub3JnLnVrPgogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nIFtmcm9tIGRlYmlhbl0KIFNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKwogLS0tCiAgYmFja2VuZHMvbWlwc19pbml0LmMgfCA2ICstLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgNSBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGIvYmFja2VuZHMvbWlwc19pbml0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK2RpZmYgLS1naXQgYS9iYWNrZW5kcy9taXBzX2luaXQuYyBiL2JhY2tlbmRzL21pcHNfaW5pdC5jCitpbmRleCA5NzVjMDRlLi44NDgyZTdmIDEwMDY0NAogLS0tIGEvYmFja2VuZHMvbWlwc19pbml0LmMKICsrKyBiL2JhY2tlbmRzL21pcHNfaW5pdC5jCi1AQCAtNDUsMTEgKzQ1LDcgQEAgbWlwc19pbml0IChFbGYgKmVsZiBfX2F0dHJpYnV0ZV9fICgodW51cworQEAgLTQ1LDExICs0NSw3IEBAIG1pcHNfaW5pdCAoRWxmICplbGYgX19hdHRyaWJ1dGVfXyAoKHVudXNlZCkpLAogICAgICByZXR1cm4gTlVMTDsKICAKICAgIC8qIFdlIGhhbmRsZSBpdC4gICovCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vMDAwMi1BZGQtc3VwcG9ydC1mb3ItbWlwczY0LWFiaXMtaW4tbWlwc19yZXR2YWwuYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi8wMDAyLUFkZC1zdXBwb3J0LWZvci1taXBzNjQtYWJpcy1pbi1taXBzX3JldHZhbC5jLnBhdGNoCmluZGV4IDFhYjcwNGUuLjdjMGI5YzYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi8wMDAyLUFkZC1zdXBwb3J0LWZvci1taXBzNjQtYWJpcy1pbi1taXBzX3JldHZhbC5jLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi8wMDAyLUFkZC1zdXBwb3J0LWZvci1taXBzNjQtYWJpcy1pbi1taXBzX3JldHZhbC5jLnBhdGNoCkBAIC0xLDE3ICsxLDE4IEBACi1Gcm9tIGZkYWFiMThhNjVlZDI1Mjk2NTZiYWE2NGNiNjE2OWYzNGQ3ZTUwN2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDkzYWU5YmI3ZDI1YTFhZGJjYmFiMjNhOWI4NDkzZjM3MGE5M2YwYTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBKYW1lcyBDb3dnaWxsIDxqYW1lczQxMEBjb3dnaWxsLm9yZy51az4KIERhdGU6IE1vbiwgNSBKYW4gMjAxNSAxNToxNzowMSArMDAwMAotU3ViamVjdDogW1BBVENIIDIvM10gQWRkIHN1cHBvcnQgZm9yIG1pcHM2NCBhYmlzIGluIG1pcHNfcmV0dmFsLmMKK1N1YmplY3Q6IFtQQVRDSF0gQWRkIHN1cHBvcnQgZm9yIG1pcHM2NCBhYmlzIGluIG1pcHNfcmV0dmFsLmMKIAogU2lnbmVkLW9mZi1ieTogSmFtZXMgQ293Z2lsbCA8amFtZXM0MTBAY293Z2lsbC5vcmcudWs+CiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcgW2Zyb20gZGViaWFuXQogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorCiAtLS0KLSBiYWNrZW5kcy9taXBzX3JldHZhbC5jIHwgMTA0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KKyBiYWNrZW5kcy9taXBzX3JldHZhbC5jIHwgMTA0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDk0IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvYmFja2VuZHMvbWlwc19yZXR2YWwuYyBiL2JhY2tlbmRzL21pcHNfcmV0dmFsLmMKLWluZGV4IDMzZjEyYTcuLmQ1YzZlZjAgMTAwNjQ0CitpbmRleCA2NTZjZDFmLi41NzQ4N2JiIDEwMDY0NAogLS0tIGEvYmFja2VuZHMvbWlwc19yZXR2YWwuYwogKysrIGIvYmFja2VuZHMvbWlwc19yZXR2YWwuYwogQEAgLTkxLDYgKzkxLDggQEAgZW51bSBtaXBzX2FiaSBmaW5kX21pcHNfYWJpKEVsZiAqZWxmKQpAQCAtMTY1LDYgKzE2NiwzIEBACiAgICAgICAgKmxvY3AgPSBsb2NfYWdncmVnYXRlOwogICAgICAgIHJldHVybiBubG9jX2FnZ3JlZ2F0ZTsKICAgICAgfQotLS0gCi0yLjEuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vMDAwMy1BZGQtbWlwcy1uNjQtcmVsb2NhdGlvbi1mb3JtYXQtaGFjay5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi8wMDAzLUFkZC1taXBzLW42NC1yZWxvY2F0aW9uLWZvcm1hdC1oYWNrLnBhdGNoCmluZGV4IGIxOTY4MDIuLjE3Yjk4YTcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi8wMDAzLUFkZC1taXBzLW42NC1yZWxvY2F0aW9uLWZvcm1hdC1oYWNrLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi8wMDAzLUFkZC1taXBzLW42NC1yZWxvY2F0aW9uLWZvcm1hdC1oYWNrLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSA1OWQ0YjhjNDhlNTA0MGFmN2UwMmIzNGViMjZlYTYwMmVjODJhMzhlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBiY2U0NGFlY2U5MTU2OThhMjI0YThhZWZhNjY3ODRiMjc0NTU2NzViIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSmFtZXMgQ293Z2lsbCA8amFtZXM0MTBAY293Z2lsbC5vcmcudWs+CiBEYXRlOiBNb24sIDUgSmFuIDIwMTUgMTU6MTc6MDIgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzLzNdIEFkZCBtaXBzIG42NCByZWxvY2F0aW9uIGZvcm1hdCBoYWNrCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBtaXBzIG42NCByZWxvY2F0aW9uIGZvcm1hdCBoYWNrCiAKIE1JUFNFTCBONjQgRUxGIGZpbGVzIHVzZSBhIHNsaWdodGx5IGRpZmZlcmVudCBmb3JtYXQgZm9yIHN0b3JpbmcgcmVsb2NhdGlvbgogZW50cmllcyB3aGljaCBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgbm9ybWFsIFJfU1lNIC8gUl9JTkZPIG1hY3Jvcy4KQEAgLTE0LDYgKzE0LDcgQEAKIFNpZ25lZC1vZmYtYnk6IEphbWVzIENvd2dpbGwgPGphbWVzNDEwQGNvd2dpbGwub3JnLnVrPgogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nIFtmcm9tIGRlYmlhbl0KIFNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKwogLS0tCiAgbGliZWxmL2dlbGZfZ2V0cmVsLmMgICAgICB8IDI1ICsrKysrKysrKysrKysrKysrKysrKysrLS0KICBsaWJlbGYvZ2VsZl9nZXRyZWxhLmMgICAgIHwgMjUgKysrKysrKysrKysrKysrKysrKysrKystLQpAQCAtMjIsMTAgKzIzLDEwIEBACiAgc3JjL3N0cmlwLmMgICAgICAgICAgICAgICB8IDE3ICsrKysrKysrKysrKysrKysrCiAgNSBmaWxlcyBjaGFuZ2VkLCAxMDEgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2xpYmVsZi9nZWxmX2dldHJlbC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZWxmdXRpbHMtMC4xNzUub3JpZy9saWJlbGYvZ2VsZl9nZXRyZWwuYwotKysrIGVsZnV0aWxzLTAuMTc1L2xpYmVsZi9nZWxmX2dldHJlbC5jCitkaWZmIC0tZ2l0IGEvbGliZWxmL2dlbGZfZ2V0cmVsLmMgYi9saWJlbGYvZ2VsZl9nZXRyZWwuYworaW5kZXggMzA5ZTNkMy4uMmE4MWE5NyAxMDA2NDQKKy0tLSBhL2xpYmVsZi9nZWxmX2dldHJlbC5jCisrKysgYi9saWJlbGYvZ2VsZl9nZXRyZWwuYwogQEAgLTM2LDYgKzM2LDcgQEAKICAKICAjaW5jbHVkZSAibGliZWxmUC5oIgpAQCAtMzQsNyArMzUsNyBAQAogIAogIEdFbGZfUmVsICoKICBnZWxmX2dldHJlbCAoRWxmX0RhdGEgKmRhdGEsIGludCBuZHgsIEdFbGZfUmVsICpkc3QpCi1AQCAtODksOCArOTAsMjggQEAgZ2VsZl9nZXRyZWwgKEVsZl9EYXRhICpkYXRhLCBpbnQgbmR4LCBHRQorQEAgLTg5LDggKzkwLDI4IEBAIGdlbGZfZ2V0cmVsIChFbGZfRGF0YSAqZGF0YSwgaW50IG5keCwgR0VsZl9SZWwgKmRzdCkKICAJICByZXN1bHQgPSBOVUxMOwogIAl9CiAgICAgICAgZWxzZQpAQCAtNjUsMTAgKzY2LDEwIEBACiAgICAgIH0KICAKICAgIHJ3bG9ja191bmxvY2sgKHNjbi0+ZWxmLT5sb2NrKTsKLUluZGV4OiBlbGZ1dGlscy0wLjE3NS9saWJlbGYvZ2VsZl9nZXRyZWxhLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBlbGZ1dGlscy0wLjE3NS5vcmlnL2xpYmVsZi9nZWxmX2dldHJlbGEuYwotKysrIGVsZnV0aWxzLTAuMTc1L2xpYmVsZi9nZWxmX2dldHJlbGEuYworZGlmZiAtLWdpdCBhL2xpYmVsZi9nZWxmX2dldHJlbGEuYyBiL2xpYmVsZi9nZWxmX2dldHJlbGEuYworaW5kZXggZDY5NWY2NS4uMWY0MmE4MCAxMDA2NDQKKy0tLSBhL2xpYmVsZi9nZWxmX2dldHJlbGEuYworKysrIGIvbGliZWxmL2dlbGZfZ2V0cmVsYS5jCiBAQCAtMzYsNiArMzYsNyBAQAogIAogICNpbmNsdWRlICJsaWJlbGZQLmgiCkBAIC03Nyw3ICs3OCw3IEBACiAgCiAgR0VsZl9SZWxhICoKICBnZWxmX2dldHJlbGEgKEVsZl9EYXRhICpkYXRhLCBpbnQgbmR4LCBHRWxmX1JlbGEgKmRzdCkKLUBAIC05MCw4ICs5MSwyOCBAQCBnZWxmX2dldHJlbGEgKEVsZl9EYXRhICpkYXRhLCBpbnQgbmR4LCBHCitAQCAtOTAsOCArOTEsMjggQEAgZ2VsZl9nZXRyZWxhIChFbGZfRGF0YSAqZGF0YSwgaW50IG5keCwgR0VsZl9SZWxhICpkc3QpCiAgCSAgcmVzdWx0ID0gTlVMTDsKICAJfQogICAgICAgIGVsc2UKQEAgLTEwOCwxMCArMTA5LDEwIEBACiAgICAgIH0KICAKICAgIHJ3bG9ja191bmxvY2sgKHNjbi0+ZWxmLT5sb2NrKTsKLUluZGV4OiBlbGZ1dGlscy0wLjE3NS9saWJlbGYvZ2VsZl91cGRhdGVfcmVsLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBlbGZ1dGlscy0wLjE3NS5vcmlnL2xpYmVsZi9nZWxmX3VwZGF0ZV9yZWwuYwotKysrIGVsZnV0aWxzLTAuMTc1L2xpYmVsZi9nZWxmX3VwZGF0ZV9yZWwuYworZGlmZiAtLWdpdCBhL2xpYmVsZi9nZWxmX3VwZGF0ZV9yZWwuYyBiL2xpYmVsZi9nZWxmX3VwZGF0ZV9yZWwuYworaW5kZXggMTRmNjJlOS4uOTA5NTU1NiAxMDA2NDQKKy0tLSBhL2xpYmVsZi9nZWxmX3VwZGF0ZV9yZWwuYworKysrIGIvbGliZWxmL2dlbGZfdXBkYXRlX3JlbC5jCiBAQCAtMzYsNiArMzYsNyBAQAogIAogICNpbmNsdWRlICJsaWJlbGZQLmgiCkBAIC0xMjAsNyArMTIxLDcgQEAKICAKICBpbnQKICBnZWxmX3VwZGF0ZV9yZWwgKEVsZl9EYXRhICpkc3QsIGludCBuZHgsIEdFbGZfUmVsICpzcmMpCi1AQCAtODYsNiArODcsOSBAQCBnZWxmX3VwZGF0ZV9yZWwgKEVsZl9EYXRhICpkc3QsIGludCBuZHgsCitAQCAtODYsNiArODcsOSBAQCBnZWxmX3VwZGF0ZV9yZWwgKEVsZl9EYXRhICpkc3QsIGludCBuZHgsIEdFbGZfUmVsICpzcmMpCiAgICAgIH0KICAgIGVsc2UKICAgICAgewpAQCAtMTMwLDcgKzEzMSw3IEBACiAgICAgICAgLyogQ2hlY2sgd2hldGhlciB3ZSBoYXZlIHRvIHJlc2l6ZSB0aGUgZGF0YSBidWZmZXIuICAqLwogICAgICAgIGlmIChJTlZBTElEX05EWCAobmR4LCBFbGY2NF9SZWwsICZkYXRhX3Njbi0+ZCkpCiAgCXsKLUBAIC05Myw3ICs5NywyMSBAQCBnZWxmX3VwZGF0ZV9yZWwgKEVsZl9EYXRhICpkc3QsIGludCBuZHgsCitAQCAtOTMsNyArOTcsMjEgQEAgZ2VsZl91cGRhdGVfcmVsIChFbGZfRGF0YSAqZHN0LCBpbnQgbmR4LCBHRWxmX1JlbCAqc3JjKQogIAkgIGdvdG8gb3V0OwogIAl9CiAgCkBAIC0xNTMsMTAgKzE1NCwxMCBAQAogICAgICB9CiAgCiAgICByZXN1bHQgPSAxOwotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2xpYmVsZi9nZWxmX3VwZGF0ZV9yZWxhLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBlbGZ1dGlscy0wLjE3NS5vcmlnL2xpYmVsZi9nZWxmX3VwZGF0ZV9yZWxhLmMKLSsrKyBlbGZ1dGlscy0wLjE3NS9saWJlbGYvZ2VsZl91cGRhdGVfcmVsYS5jCitkaWZmIC0tZ2l0IGEvbGliZWxmL2dlbGZfdXBkYXRlX3JlbGEuYyBiL2xpYmVsZi9nZWxmX3VwZGF0ZV9yZWxhLmMKK2luZGV4IDg4MjUyNzAuLjRjYWE4NWYgMTAwNjQ0CistLS0gYS9saWJlbGYvZ2VsZl91cGRhdGVfcmVsYS5jCisrKysgYi9saWJlbGYvZ2VsZl91cGRhdGVfcmVsYS5jCiBAQCAtMzYsNiArMzYsNyBAQAogIAogICNpbmNsdWRlICJsaWJlbGZQLmgiCkBAIC0xNjUsNyArMTY2LDcgQEAKICAKICBpbnQKICBnZWxmX3VwZGF0ZV9yZWxhIChFbGZfRGF0YSAqZHN0LCBpbnQgbmR4LCBHRWxmX1JlbGEgKnNyYykKLUBAIC04OSw2ICs5MCw5IEBAIGdlbGZfdXBkYXRlX3JlbGEgKEVsZl9EYXRhICpkc3QsIGludCBuZHgKK0BAIC04OSw2ICs5MCw5IEBAIGdlbGZfdXBkYXRlX3JlbGEgKEVsZl9EYXRhICpkc3QsIGludCBuZHgsIEdFbGZfUmVsYSAqc3JjKQogICAgICB9CiAgICBlbHNlCiAgICAgIHsKQEAgLTE3NSw3ICsxNzYsNyBAQAogICAgICAgIC8qIENoZWNrIHdoZXRoZXIgd2UgaGF2ZSB0byByZXNpemUgdGhlIGRhdGEgYnVmZmVyLiAgKi8KICAgICAgICBpZiAoSU5WQUxJRF9ORFggKG5keCwgRWxmNjRfUmVsYSwgJmRhdGFfc2NuLT5kKSkKICAJewotQEAgLTk2LDcgKzEwMCwyMSBAQCBnZWxmX3VwZGF0ZV9yZWxhIChFbGZfRGF0YSAqZHN0LCBpbnQgbmR4CitAQCAtOTYsNyArMTAwLDIxIEBAIGdlbGZfdXBkYXRlX3JlbGEgKEVsZl9EYXRhICpkc3QsIGludCBuZHgsIEdFbGZfUmVsYSAqc3JjKQogIAkgIGdvdG8gb3V0OwogIAl9CiAgCkBAIC0xOTgsMTEgKzE5OSwxMSBAQAogICAgICB9CiAgCiAgICByZXN1bHQgPSAxOwotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L3NyYy9zdHJpcC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZWxmdXRpbHMtMC4xNzUub3JpZy9zcmMvc3RyaXAuYwotKysrIGVsZnV0aWxzLTAuMTc1L3NyYy9zdHJpcC5jCi1AQCAtMTA2Miw2ICsxMDYyLDIzIEBAIGhhbmRsZV9lbGYgKGludCBmZCwgRWxmICplbGYsIGNvbnN0IGNoYXIKK2RpZmYgLS1naXQgYS9zcmMvc3RyaXAuYyBiL3NyYy9zdHJpcC5jCitpbmRleCBhNzMwMDlkLi43NWJkN2JhIDEwMDY0NAorLS0tIGEvc3JjL3N0cmlwLmMKKysrKyBiL3NyYy9zdHJpcC5jCitAQCAtMTA2Miw2ICsxMDYyLDIzIEBAIGhhbmRsZV9lbGYgKGludCBmZCwgRWxmICplbGYsIGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3QgY2hhciAqZm5hbWUsCiAgICAgICAgZ290byBmYWlsOwogICAgICB9CiAgCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vYXJtX2JhY2tlbmQuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9hcm1fYmFja2VuZC5kaWZmCmluZGV4IGY3MjU4YTguLjk5MDRmMjQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9hcm1fYmFja2VuZC5kaWZmCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9hcm1fYmFja2VuZC5kaWZmCkBAIC0xLDEwICsxLDI3IEBACitGcm9tIGYzMzg0NDY2NDc1ZWFiMzczYzBmMWNiNzljNjFkNDU3MDk5MTNiMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBXZWQsIDI4IE1heSAyMDE0IDE2OjQ5OjU3ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGVsZnV0aWxzOiB1cGdyYWRlIHRvIDAuMTU4CisKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZyBbZnJvbSBkZWJpYW5dCiBTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CiAKLUluZGV4OiBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9hcm1faW5pdC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZWxmdXRpbHMtMC4xNzUub3JpZy9iYWNrZW5kcy9hcm1faW5pdC5jCi0rKysgZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvYXJtX2luaXQuYworLS0tCisgYmFja2VuZHMvYXJtX2luaXQuYyAgICAgICAgICAgICAgICAgfCAgMTggKysrLQorIGJhY2tlbmRzL2FybV9yZWdzLmMgICAgICAgICAgICAgICAgIHwgMTMyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyBiYWNrZW5kcy9hcm1fcmV0dmFsLmMgICAgICAgICAgICAgICB8ICA0MyArKysrKysrKy0KKyBiYWNrZW5kcy9saWJlYmxfYXJtLmggICAgICAgICAgICAgICB8ICAgOSArKworIGxpYmVsZi9lbGYuaCAgICAgICAgICAgICAgICAgICAgICAgIHwgIDExICsrKworIHRlc3RzL3J1bi1hZGRyY2ZpLnNoICAgICAgICAgICAgICAgIHwgIDkzICsrKysrKysrKysrKysrKysrKystCisgdGVzdHMvcnVuLWFsbHJlZ3Muc2ggICAgICAgICAgICAgICAgfCAgOTUgKysrKysrKysrKysrKysrKysrKy0KKyB0ZXN0cy9ydW4tcmVhZGVsZi1taXhlZC1jb3Jlbm90ZS5zaCB8ICAxMSArKy0KKyA4IGZpbGVzIGNoYW5nZWQsIDQwMCBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgYmFja2VuZHMvbGliZWJsX2FybS5oCisKK2RpZmYgLS1naXQgYS9iYWNrZW5kcy9hcm1faW5pdC5jIGIvYmFja2VuZHMvYXJtX2luaXQuYworaW5kZXggZjJiMWIxMS4uMWI3MWYxNiAxMDA2NDQKKy0tLSBhL2JhY2tlbmRzL2FybV9pbml0LmMKKysrKyBiL2JhY2tlbmRzL2FybV9pbml0LmMKIEBAIC0zNSwyMCArMzUsMzEgQEAKICAjZGVmaW5lIFJFTE9DX1BSRUZJWAlSX0FSTV8KICAjaW5jbHVkZSAibGliZWJsX0NQVS5oIgpAQCAtMzgsNyArNTUsNyBAQAogICAgLyogV2UgaGFuZGxlIGl0LiAgKi8KICAgIGVoLT5uYW1lID0gIkFSTSI7CiAgICBhcm1faW5pdF9yZWxvYyAoZWgpOwotQEAgLTYwLDcgKzcxLDEwIEBAIGFybV9pbml0IChFbGYgKmVsZiBfX2F0dHJpYnV0ZV9fICgodW51c2UKK0BAIC02MCw3ICs3MSwxMCBAQCBhcm1faW5pdCAoRWxmICplbGYgX19hdHRyaWJ1dGVfXyAoKHVudXNlZCkpLAogICAgSE9PSyAoZWgsIGNvcmVfbm90ZSk7CiAgICBIT09LIChlaCwgYXV4dl9pbmZvKTsKICAgIEhPT0sgKGVoLCBjaGVja19vYmplY3RfYXR0cmlidXRlKTsKQEAgLTUwLDEwICs2NywxMCBAQAogICAgSE9PSyAoZWgsIGFiaV9jZmkpOwogICAgSE9PSyAoZWgsIGNoZWNrX3JlbG9jX3RhcmdldF90eXBlKTsKICAgIEhPT0sgKGVoLCBzeW1ib2xfdHlwZV9uYW1lKTsKLUluZGV4OiBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9hcm1fcmVncy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZWxmdXRpbHMtMC4xNzUub3JpZy9iYWNrZW5kcy9hcm1fcmVncy5jCi0rKysgZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvYXJtX3JlZ3MuYworZGlmZiAtLWdpdCBhL2JhY2tlbmRzL2FybV9yZWdzLmMgYi9iYWNrZW5kcy9hcm1fcmVncy5jCitpbmRleCBhNDZhNGM5Li40MThjOTMxIDEwMDY0NAorLS0tIGEvYmFja2VuZHMvYXJtX3JlZ3MuYworKysrIGIvYmFja2VuZHMvYXJtX3JlZ3MuYwogQEAgLTMxLDYgKzMxLDcgQEAKICAjZW5kaWYKICAKQEAgLTYyLDcgKzc5LDcgQEAKICAjaW5jbHVkZSA8ZHdhcmYuaD4KICAKICAjZGVmaW5lIEJBQ0tFTkQgYXJtXwotQEAgLTc2LDYgKzc3LDkgQEAgYXJtX3JlZ2lzdGVyX2luZm8gKEVibCAqZWJsIF9fYXR0cmlidXRlXworQEAgLTc2LDYgKzc3LDkgQEAgYXJtX3JlZ2lzdGVyX2luZm8gKEVibCAqZWJsIF9fYXR0cmlidXRlX18gKCh1bnVzZWQpKSwKICAgICAgICBicmVhazsKICAKICAgICAgY2FzZSAxNiArIDAgLi4uIDE2ICsgNzoKQEAgLTcyLDcgKzg5LDcgQEAKICAgICAgICByZWdubyArPSA5NiAtIDE2OwogICAgICAgIEZBTExUSFJPVUdIOwogICAgICBjYXNlIDk2ICsgMCAuLi4gOTYgKyA3OgotQEAgLTg3LDExICs5MSwxMzkgQEAgYXJtX3JlZ2lzdGVyX2luZm8gKEVibCAqZWJsIF9fYXR0cmlidXRlXworQEAgLTg3LDExICs5MSwxMzkgQEAgYXJtX3JlZ2lzdGVyX2luZm8gKEVibCAqZWJsIF9fYXR0cmlidXRlX18gKCh1bnVzZWQpKSwKICAgICAgICBuYW1lbGVuID0gMjsKICAgICAgICBicmVhazsKICAKQEAgLTIxMiwxMCArMjI5LDEwIEBACiAgICAgICAgKnNldG5hbWUgPSAiVkZQIjsKICAgICAgICAqdHlwZSA9IERXX0FURV9mbG9hdDsKICAgICAgICAqYml0cyA9IDY0OwotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2JhY2tlbmRzL2FybV9yZXR2YWwuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGVsZnV0aWxzLTAuMTc1Lm9yaWcvYmFja2VuZHMvYXJtX3JldHZhbC5jCi0rKysgZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvYXJtX3JldHZhbC5jCitkaWZmIC0tZ2l0IGEvYmFja2VuZHMvYXJtX3JldHZhbC5jIGIvYmFja2VuZHMvYXJtX3JldHZhbC5jCitpbmRleCAxYzI4ZjAxLi4zMTNlNGViIDEwMDY0NAorLS0tIGEvYmFja2VuZHMvYXJtX3JldHZhbC5jCisrKysgYi9iYWNrZW5kcy9hcm1fcmV0dmFsLmMKIEBAIC00OCw2ICs0OCwxMyBAQCBzdGF0aWMgY29uc3QgRHdhcmZfT3AgbG9jX2ludHJlZ1tdID0KICAjZGVmaW5lIG5sb2NfaW50cmVnCTEKICAjZGVmaW5lIG5sb2NfaW50cmVncyhuKQkoMiAqIChuKSkKQEAgLTI0Miw3ICsyNTksNyBAQAogIHsKICAgIC8qIFN0YXJ0IHdpdGggdGhlIGZ1bmN0aW9uJ3MgdHlwZSwgYW5kIGdldCB0aGUgRFdfQVRfdHlwZSBhdHRyaWJ1dGUsCiAgICAgICB3aGljaCBpcyB0aGUgdHlwZSBvZiB0aGUgcmV0dXJuIHZhbHVlLiAgKi8KLUBAIC05OCw2ICsxMDYsMjEgQEAgYXJtX3JldHVybl92YWx1ZV9sb2NhdGlvbiAoRHdhcmZfRGllICpmdQorQEAgLTk4LDYgKzEwNiwyMSBAQCBhcm1fcmV0dXJuX3ZhbHVlX2xvY2F0aW9uIChEd2FyZl9EaWUgKmZ1bmN0eXBlZGllLCBjb25zdCBEd2FyZl9PcCAqKmxvY3ApCiAgCSAgICBlbHNlCiAgCSAgICAgIHJldHVybiAtMTsKICAJICB9CkBAIC0yNjQsNyArMjgxLDcgQEAKICAJaWYgKHNpemUgPD0gMTYpCiAgCSAgewogIAkgIGludHJlZzoKLUBAIC0xMDYsNiArMTI5LDcgQEAgYXJtX3JldHVybl92YWx1ZV9sb2NhdGlvbiAoRHdhcmZfRGllICpmdQorQEAgLTEwNiw2ICsxMjksNyBAQCBhcm1fcmV0dXJuX3ZhbHVlX2xvY2F0aW9uIChEd2FyZl9EaWUgKmZ1bmN0eXBlZGllLCBjb25zdCBEd2FyZl9PcCAqKmxvY3ApCiAgCSAgfQogIAogICAgICAgIGFnZ3JlZ2F0ZToKQEAgLTI3Miw3ICsyODksNyBAQAogIAkqbG9jcCA9IGxvY19hZ2dyZWdhdGU7CiAgCXJldHVybiBubG9jX2FnZ3JlZ2F0ZTsKICAgICAgICB9Ci1AQCAtMTI1LDMgKzE0OSwxOCBAQCBhcm1fcmV0dXJuX3ZhbHVlX2xvY2F0aW9uIChEd2FyZl9EaWUgKmZ1CitAQCAtMTI1LDMgKzE0OSwxOCBAQCBhcm1fcmV0dXJuX3ZhbHVlX2xvY2F0aW9uIChEd2FyZl9EaWUgKmZ1bmN0eXBlZGllLCBjb25zdCBEd2FyZl9PcCAqKmxvY3ApCiAgICAgICBEV0FSRiBhbmQgbWlnaHQgYmUgdmFsaWQuICAqLwogICAgcmV0dXJuIC0yOwogIH0KQEAgLTI5MSwxMCArMzA4LDI1IEBACiArICAgcmV0dXJuIGFybV9yZXR1cm5fdmFsdWVfbG9jYXRpb25fIChmdW5jdHlwZWRpZSwgbG9jcCwgMCk7CiArfQogKwotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2xpYmVsZi9lbGYuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGVsZnV0aWxzLTAuMTc1Lm9yaWcvbGliZWxmL2VsZi5oCi0rKysgZWxmdXRpbHMtMC4xNzUvbGliZWxmL2VsZi5oCitkaWZmIC0tZ2l0IGEvYmFja2VuZHMvbGliZWJsX2FybS5oIGIvYmFja2VuZHMvbGliZWJsX2FybS5oCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uYzAwNzcwYworLS0tIC9kZXYvbnVsbAorKysrIGIvYmFja2VuZHMvbGliZWJsX2FybS5oCitAQCAtMCwwICsxLDkgQEAKKysjaWZuZGVmIF9MSUJFQkxfQVJNX0gKKysjZGVmaW5lIF9MSUJFQkxfQVJNX0ggMQorKworKyNpbmNsdWRlIDxsaWJkdy5oPgorKworK2V4dGVybiBpbnQgYXJtX3JldHVybl92YWx1ZV9sb2NhdGlvbl9zb2Z0KER3YXJmX0RpZSAqLCBjb25zdCBEd2FyZl9PcCAqKmxvY3ApOworK2V4dGVybiBpbnQgYXJtX3JldHVybl92YWx1ZV9sb2NhdGlvbl9oYXJkKER3YXJmX0RpZSAqLCBjb25zdCBEd2FyZl9PcCAqKmxvY3ApOworKworKyNlbmRpZgorZGlmZiAtLWdpdCBhL2xpYmVsZi9lbGYuaCBiL2xpYmVsZi9lbGYuaAoraW5kZXggNjMxMDA1NC4uNWRjNjMyYiAxMDA2NDQKKy0tLSBhL2xpYmVsZi9lbGYuaAorKysrIGIvbGliZWxmL2VsZi5oCiBAQCAtMjY5NCw2ICsyNjk0LDkgQEAgZW51bQogICNkZWZpbmUgRUZfQVJNX0VBQklfVkVSNAkweDA0MDAwMDAwCiAgI2RlZmluZSBFRl9BUk1fRUFCSV9WRVI1CTB4MDUwMDAwMDAKQEAgLTMzMywyNCArMzY1LDEyMSBAQAogICNkZWZpbmUgUl9BUk1fTUVfVE9PCQkxMjgJLyogT2Jzb2xldGUuICAqLwogICNkZWZpbmUgUl9BUk1fVEhNX1RMU19ERVNDU0VRCTEyOQogICNkZWZpbmUgUl9BUk1fVEhNX1RMU19ERVNDU0VRMTYJMTI5Ci1JbmRleDogZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvbGliZWJsX2FybS5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCi0rKysgZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvbGliZWJsX2FybS5oCi1AQCAtMCwwICsxLDkgQEAKLSsjaWZuZGVmIF9MSUJFQkxfQVJNX0gKLSsjZGVmaW5lIF9MSUJFQkxfQVJNX0ggMQotKwotKyNpbmNsdWRlIDxsaWJkdy5oPgotKwotK2V4dGVybiBpbnQgYXJtX3JldHVybl92YWx1ZV9sb2NhdGlvbl9zb2Z0KER3YXJmX0RpZSAqLCBjb25zdCBEd2FyZl9PcCAqKmxvY3ApOwotK2V4dGVybiBpbnQgYXJtX3JldHVybl92YWx1ZV9sb2NhdGlvbl9oYXJkKER3YXJmX0RpZSAqLCBjb25zdCBEd2FyZl9PcCAqKmxvY3ApOwotKwotKyNlbmRpZgotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L3Rlc3RzL3J1bi1hbGxyZWdzLnNoCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZWxmdXRpbHMtMC4xNzUub3JpZy90ZXN0cy9ydW4tYWxscmVncy5zaAotKysrIGVsZnV0aWxzLTAuMTc1L3Rlc3RzL3J1bi1hbGxyZWdzLnNoCitkaWZmIC0tZ2l0IGEvdGVzdHMvcnVuLWFkZHJjZmkuc2ggYi90ZXN0cy9ydW4tYWRkcmNmaS5zaAoraW5kZXggZmQ4OWQwMi4uNDYyZDdjNSAxMDA3NTUKKy0tLSBhL3Rlc3RzL3J1bi1hZGRyY2ZpLnNoCisrKysgYi90ZXN0cy9ydW4tYWRkcmNmaS5zaAorQEAgLTM1NTQsNiArMzU1NCwzOCBAQCBkd2FyZl9jZmlfYWRkcmZyYW1lICguZWhfZnJhbWUpOiBubyBtYXRjaGluZyBhZGRyZXNzIHJhbmdlCisgCUZQQSByZWcyMSAoZjUpOiB1bmRlZmluZWQKKyAJRlBBIHJlZzIyIChmNik6IHVuZGVmaW5lZAorIAlGUEEgcmVnMjMgKGY3KTogdW5kZWZpbmVkCisrCVZGUCByZWc2NCAoczApOiB1bmRlZmluZWQKKysJVkZQIHJlZzY1IChzMSk6IHVuZGVmaW5lZAorKwlWRlAgcmVnNjYgKHMyKTogdW5kZWZpbmVkCisrCVZGUCByZWc2NyAoczMpOiB1bmRlZmluZWQKKysJVkZQIHJlZzY4IChzNCk6IHVuZGVmaW5lZAorKwlWRlAgcmVnNjkgKHM1KTogdW5kZWZpbmVkCisrCVZGUCByZWc3MCAoczYpOiB1bmRlZmluZWQKKysJVkZQIHJlZzcxIChzNyk6IHVuZGVmaW5lZAorKwlWRlAgcmVnNzIgKHM4KTogdW5kZWZpbmVkCisrCVZGUCByZWc3MyAoczkpOiB1bmRlZmluZWQKKysJVkZQIHJlZzc0IChzMTApOiB1bmRlZmluZWQKKysJVkZQIHJlZzc1IChzMTEpOiB1bmRlZmluZWQKKysJVkZQIHJlZzc2IChzMTIpOiB1bmRlZmluZWQKKysJVkZQIHJlZzc3IChzMTMpOiB1bmRlZmluZWQKKysJVkZQIHJlZzc4IChzMTQpOiB1bmRlZmluZWQKKysJVkZQIHJlZzc5IChzMTUpOiB1bmRlZmluZWQKKysJVkZQIHJlZzgwIChzMTYpOiB1bmRlZmluZWQKKysJVkZQIHJlZzgxIChzMTcpOiB1bmRlZmluZWQKKysJVkZQIHJlZzgyIChzMTgpOiB1bmRlZmluZWQKKysJVkZQIHJlZzgzIChzMTkpOiB1bmRlZmluZWQKKysJVkZQIHJlZzg0IChzMjApOiB1bmRlZmluZWQKKysJVkZQIHJlZzg1IChzMjEpOiB1bmRlZmluZWQKKysJVkZQIHJlZzg2IChzMjIpOiB1bmRlZmluZWQKKysJVkZQIHJlZzg3IChzMjMpOiB1bmRlZmluZWQKKysJVkZQIHJlZzg4IChzMjQpOiB1bmRlZmluZWQKKysJVkZQIHJlZzg5IChzMjUpOiB1bmRlZmluZWQKKysJVkZQIHJlZzkwIChzMjYpOiB1bmRlZmluZWQKKysJVkZQIHJlZzkxIChzMjcpOiB1bmRlZmluZWQKKysJVkZQIHJlZzkyIChzMjgpOiB1bmRlZmluZWQKKysJVkZQIHJlZzkzIChzMjkpOiB1bmRlZmluZWQKKysJVkZQIHJlZzk0IChzMzApOiB1bmRlZmluZWQKKysJVkZQIHJlZzk1IChzMzEpOiB1bmRlZmluZWQKKyAJRlBBIHJlZzk2IChmMCk6IHVuZGVmaW5lZAorIAlGUEEgcmVnOTcgKGYxKTogdW5kZWZpbmVkCisgCUZQQSByZWc5OCAoZjIpOiB1bmRlZmluZWQKK0BAIC0zNTYyLDcgKzM1OTQsNjYgQEAgZHdhcmZfY2ZpX2FkZHJmcmFtZSAoLmVoX2ZyYW1lKTogbm8gbWF0Y2hpbmcgYWRkcmVzcyByYW5nZQorIAlGUEEgcmVnMTAxIChmNSk6IHVuZGVmaW5lZAorIAlGUEEgcmVnMTAyIChmNik6IHVuZGVmaW5lZAorIAlGUEEgcmVnMTAzIChmNyk6IHVuZGVmaW5lZAorLQlpbnRlZ2VyIHJlZzEyOCAoc3Bzcik6IHVuZGVmaW5lZAorKwlNTVggcmVnMTA0ICh3Y2dyMCk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTA1ICh3Y2dyMSk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTA2ICh3Y2dyMik6IHVuZGVmaW5lZAorKwlNTVggcmVnMTA3ICh3Y2dyMyk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTA4ICh3Y2dyNCk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTA5ICh3Y2dyNSk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTEwICh3Y2dyNik6IHVuZGVmaW5lZAorKwlNTVggcmVnMTExICh3Y2dyNyk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTEyICh3cjApOiB1bmRlZmluZWQKKysJTU1YIHJlZzExMyAod3IxKTogdW5kZWZpbmVkCisrCU1NWCByZWcxMTQgKHdyMik6IHVuZGVmaW5lZAorKwlNTVggcmVnMTE1ICh3cjMpOiB1bmRlZmluZWQKKysJTU1YIHJlZzExNiAod3I0KTogdW5kZWZpbmVkCisrCU1NWCByZWcxMTcgKHdyNSk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTE4ICh3cjYpOiB1bmRlZmluZWQKKysJTU1YIHJlZzExOSAod3I3KTogdW5kZWZpbmVkCisrCU1NWCByZWcxMjAgKHdyOCk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTIxICh3cjkpOiB1bmRlZmluZWQKKysJTU1YIHJlZzEyMiAod3IxMCk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTIzICh3cjExKTogdW5kZWZpbmVkCisrCU1NWCByZWcxMjQgKHdyMTIpOiB1bmRlZmluZWQKKysJTU1YIHJlZzEyNSAod3IxMyk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTI2ICh3cjE0KTogdW5kZWZpbmVkCisrCU1NWCByZWcxMjcgKHdyMTUpOiB1bmRlZmluZWQKKysJc3RhdGUgcmVnMTI4IChzcHNyKTogdW5kZWZpbmVkCisrCXN0YXRlIHJlZzEyOSAoc3Bzcl9maXEpOiB1bmRlZmluZWQKKysJc3RhdGUgcmVnMTMwIChzcHNyX2lycSk6IHVuZGVmaW5lZAorKwlzdGF0ZSByZWcxMzEgKHNwc3JfYWJ0KTogdW5kZWZpbmVkCisrCXN0YXRlIHJlZzEzMiAoc3Bzcl91bmQpOiB1bmRlZmluZWQKKysJc3RhdGUgcmVnMTMzIChzcHNyX3N2Yyk6IHVuZGVmaW5lZAorKwlpbnRlZ2VyIHJlZzE0NCAocjhfdXNyKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTQ1IChyOV91c3IpOiB1bmRlZmluZWQKKysJaW50ZWdlciByZWcxNDYgKHIxMF91c3IpOiB1bmRlZmluZWQKKysJaW50ZWdlciByZWcxNDcgKHIxMV91c3IpOiB1bmRlZmluZWQKKysJaW50ZWdlciByZWcxNDggKHIxMl91c3IpOiB1bmRlZmluZWQKKysJaW50ZWdlciByZWcxNDkgKHIxM191c3IpOiB1bmRlZmluZWQKKysJaW50ZWdlciByZWcxNTAgKHIxNF91c3IpOiB1bmRlZmluZWQKKysJaW50ZWdlciByZWcxNTEgKHI4X2ZpcSk6IHVuZGVmaW5lZAorKwlpbnRlZ2VyIHJlZzE1MiAocjlfZmlxKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTUzIChyMTBfZmlxKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTU0IChyMTFfZmlxKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTU1IChyMTJfZmlxKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTU2IChyMTNfZmlxKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTU3IChyMTRfZmlxKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTU4IChyMTNfaXJxKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTU5IChyMTRfaXJxKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTYwIChyMTNfYWJ0KTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTYxIChyMTRfYWJ0KTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTYyIChyMTNfdW5kKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTYzIChyMTRfdW5kKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTY0IChyMTNfc3ZjKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTY1IChyMTRfc3ZjKTogdW5kZWZpbmVkCisrCU1NWCByZWcxOTIgKHdjMCk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTkzICh3YzEpOiB1bmRlZmluZWQKKysJTU1YIHJlZzE5NCAod2MyKTogdW5kZWZpbmVkCisrCU1NWCByZWcxOTUgKHdjMyk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTk2ICh3YzQpOiB1bmRlZmluZWQKKysJTU1YIHJlZzE5NyAod2M1KTogdW5kZWZpbmVkCisrCU1NWCByZWcxOTggKHdjNik6IHVuZGVmaW5lZAorKwlNTVggcmVnMTk5ICh3YzcpOiB1bmRlZmluZWQKKyAJVkZQIHJlZzI1NiAoZDApOiB1bmRlZmluZWQKKyAJVkZQIHJlZzI1NyAoZDEpOiB1bmRlZmluZWQKKyAJVkZQIHJlZzI1OCAoZDIpOiB1bmRlZmluZWQKK2RpZmYgLS1naXQgYS90ZXN0cy9ydW4tYWxscmVncy5zaCBiL3Rlc3RzL3J1bi1hbGxyZWdzLnNoCitpbmRleCAxNDIyYmQ2Li5kYzBmYzk5IDEwMDc1NQorLS0tIGEvdGVzdHMvcnVuLWFsbHJlZ3Muc2gKKysrKyBiL3Rlc3RzL3J1bi1hbGxyZWdzLnNoCiBAQCAtMjY3Miw3ICsyNjcyLDI4IEBAIGludGVnZXIgcmVnaXN0ZXJzOgogIAkgMTM6IHNwIChzcCksIGFkZHJlc3MgMzIgYml0cwogIAkgMTQ6IGxyIChsciksIGFkZHJlc3MgMzIgYml0cwpAQCAtNDY4LDExICs1OTcsMTEgQEAKICBFT0YKICAKICAjIFNlZSBydW4tcmVhZGVsZi1taXhlZC1jb3Jlbm90ZS5zaCBmb3IgaW5zdHJ1Y3Rpb25zIHRvIHJlZ2VuZXJhdGUKLUluZGV4OiBlbGZ1dGlscy0wLjE3NS90ZXN0cy9ydW4tcmVhZGVsZi1taXhlZC1jb3Jlbm90ZS5zaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGVsZnV0aWxzLTAuMTc1Lm9yaWcvdGVzdHMvcnVuLXJlYWRlbGYtbWl4ZWQtY29yZW5vdGUuc2gKLSsrKyBlbGZ1dGlscy0wLjE3NS90ZXN0cy9ydW4tcmVhZGVsZi1taXhlZC1jb3Jlbm90ZS5zaAotQEAgLTMxLDEyICszMSwxMSBAQCBOb3RlIHNlZ21lbnQgb2YgODkyIGJ5dGVzIGF0IG9mZnNldCAweDI3CitkaWZmIC0tZ2l0IGEvdGVzdHMvcnVuLXJlYWRlbGYtbWl4ZWQtY29yZW5vdGUuc2ggYi90ZXN0cy9ydW4tcmVhZGVsZi1taXhlZC1jb3Jlbm90ZS5zaAoraW5kZXggYzk2MGYxZC4uZTRiZjA3NCAxMDA3NTUKKy0tLSBhL3Rlc3RzL3J1bi1yZWFkZWxmLW1peGVkLWNvcmVub3RlLnNoCisrKysgYi90ZXN0cy9ydW4tcmVhZGVsZi1taXhlZC1jb3Jlbm90ZS5zaAorQEAgLTMxLDEyICszMSwxMSBAQCBOb3RlIHNlZ21lbnQgb2YgODkyIGJ5dGVzIGF0IG9mZnNldCAweDI3NDoKICAgICAgcGlkOiAxMTA4NywgcHBpZDogMTEwNjMsIHBncnA6IDExMDg3LCBzaWQ6IDExMDYzCiAgICAgIHV0aW1lOiAwLjAwMDAwMCwgc3RpbWU6IDAuMDEwMDAwLCBjdXRpbWU6IDAuMDAwMDAwLCBjc3RpbWU6IDAuMDAwMDAwCiAgICAgIG9yaWdfcjA6IC0xLCBmcHZhbGlkOiAxCkBAIC00OTAsMTE0ICs2MTksMyBAQAogICAgQ09SRSAgICAgICAgICAgICAgICAgMTI0ICBQUlBTSU5GTwogICAgICBzdGF0ZTogMCwgc25hbWU6IFIsIHpvbWI6IDAsIG5pY2U6IDAsIGZsYWc6IDB4MDA0MDA1MDAKICAgICAgdWlkOiAwLCBnaWQ6IDAsIHBpZDogMTEwODcsIHBwaWQ6IDExMDYzLCBwZ3JwOiAxMTA4Nywgc2lkOiAxMTA2MwotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L3Rlc3RzL3J1bi1hZGRyY2ZpLnNoCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZWxmdXRpbHMtMC4xNzUub3JpZy90ZXN0cy9ydW4tYWRkcmNmaS5zaAotKysrIGVsZnV0aWxzLTAuMTc1L3Rlc3RzL3J1bi1hZGRyY2ZpLnNoCi1AQCAtMzU1NCw2ICszNTU0LDM4IEBAIGR3YXJmX2NmaV9hZGRyZnJhbWUgKC5laF9mcmFtZSk6IG5vIG1hdGMKLSAJRlBBIHJlZzIxIChmNSk6IHVuZGVmaW5lZAotIAlGUEEgcmVnMjIgKGY2KTogdW5kZWZpbmVkCi0gCUZQQSByZWcyMyAoZjcpOiB1bmRlZmluZWQKLSsJVkZQIHJlZzY0IChzMCk6IHVuZGVmaW5lZAotKwlWRlAgcmVnNjUgKHMxKTogdW5kZWZpbmVkCi0rCVZGUCByZWc2NiAoczIpOiB1bmRlZmluZWQKLSsJVkZQIHJlZzY3IChzMyk6IHVuZGVmaW5lZAotKwlWRlAgcmVnNjggKHM0KTogdW5kZWZpbmVkCi0rCVZGUCByZWc2OSAoczUpOiB1bmRlZmluZWQKLSsJVkZQIHJlZzcwIChzNik6IHVuZGVmaW5lZAotKwlWRlAgcmVnNzEgKHM3KTogdW5kZWZpbmVkCi0rCVZGUCByZWc3MiAoczgpOiB1bmRlZmluZWQKLSsJVkZQIHJlZzczIChzOSk6IHVuZGVmaW5lZAotKwlWRlAgcmVnNzQgKHMxMCk6IHVuZGVmaW5lZAotKwlWRlAgcmVnNzUgKHMxMSk6IHVuZGVmaW5lZAotKwlWRlAgcmVnNzYgKHMxMik6IHVuZGVmaW5lZAotKwlWRlAgcmVnNzcgKHMxMyk6IHVuZGVmaW5lZAotKwlWRlAgcmVnNzggKHMxNCk6IHVuZGVmaW5lZAotKwlWRlAgcmVnNzkgKHMxNSk6IHVuZGVmaW5lZAotKwlWRlAgcmVnODAgKHMxNik6IHVuZGVmaW5lZAotKwlWRlAgcmVnODEgKHMxNyk6IHVuZGVmaW5lZAotKwlWRlAgcmVnODIgKHMxOCk6IHVuZGVmaW5lZAotKwlWRlAgcmVnODMgKHMxOSk6IHVuZGVmaW5lZAotKwlWRlAgcmVnODQgKHMyMCk6IHVuZGVmaW5lZAotKwlWRlAgcmVnODUgKHMyMSk6IHVuZGVmaW5lZAotKwlWRlAgcmVnODYgKHMyMik6IHVuZGVmaW5lZAotKwlWRlAgcmVnODcgKHMyMyk6IHVuZGVmaW5lZAotKwlWRlAgcmVnODggKHMyNCk6IHVuZGVmaW5lZAotKwlWRlAgcmVnODkgKHMyNSk6IHVuZGVmaW5lZAotKwlWRlAgcmVnOTAgKHMyNik6IHVuZGVmaW5lZAotKwlWRlAgcmVnOTEgKHMyNyk6IHVuZGVmaW5lZAotKwlWRlAgcmVnOTIgKHMyOCk6IHVuZGVmaW5lZAotKwlWRlAgcmVnOTMgKHMyOSk6IHVuZGVmaW5lZAotKwlWRlAgcmVnOTQgKHMzMCk6IHVuZGVmaW5lZAotKwlWRlAgcmVnOTUgKHMzMSk6IHVuZGVmaW5lZAotIAlGUEEgcmVnOTYgKGYwKTogdW5kZWZpbmVkCi0gCUZQQSByZWc5NyAoZjEpOiB1bmRlZmluZWQKLSAJRlBBIHJlZzk4IChmMik6IHVuZGVmaW5lZAotQEAgLTM1NjIsNyArMzU5NCw2NiBAQCBkd2FyZl9jZmlfYWRkcmZyYW1lICguZWhfZnJhbWUpOiBubyBtYXRjCi0gCUZQQSByZWcxMDEgKGY1KTogdW5kZWZpbmVkCi0gCUZQQSByZWcxMDIgKGY2KTogdW5kZWZpbmVkCi0gCUZQQSByZWcxMDMgKGY3KTogdW5kZWZpbmVkCi0tCWludGVnZXIgcmVnMTI4IChzcHNyKTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMDQgKHdjZ3IwKTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMDUgKHdjZ3IxKTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMDYgKHdjZ3IyKTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMDcgKHdjZ3IzKTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMDggKHdjZ3I0KTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMDkgKHdjZ3I1KTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMTAgKHdjZ3I2KTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMTEgKHdjZ3I3KTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMTIgKHdyMCk6IHVuZGVmaW5lZAotKwlNTVggcmVnMTEzICh3cjEpOiB1bmRlZmluZWQKLSsJTU1YIHJlZzExNCAod3IyKTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMTUgKHdyMyk6IHVuZGVmaW5lZAotKwlNTVggcmVnMTE2ICh3cjQpOiB1bmRlZmluZWQKLSsJTU1YIHJlZzExNyAod3I1KTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMTggKHdyNik6IHVuZGVmaW5lZAotKwlNTVggcmVnMTE5ICh3cjcpOiB1bmRlZmluZWQKLSsJTU1YIHJlZzEyMCAod3I4KTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMjEgKHdyOSk6IHVuZGVmaW5lZAotKwlNTVggcmVnMTIyICh3cjEwKTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMjMgKHdyMTEpOiB1bmRlZmluZWQKLSsJTU1YIHJlZzEyNCAod3IxMik6IHVuZGVmaW5lZAotKwlNTVggcmVnMTI1ICh3cjEzKTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMjYgKHdyMTQpOiB1bmRlZmluZWQKLSsJTU1YIHJlZzEyNyAod3IxNSk6IHVuZGVmaW5lZAotKwlzdGF0ZSByZWcxMjggKHNwc3IpOiB1bmRlZmluZWQKLSsJc3RhdGUgcmVnMTI5IChzcHNyX2ZpcSk6IHVuZGVmaW5lZAotKwlzdGF0ZSByZWcxMzAgKHNwc3JfaXJxKTogdW5kZWZpbmVkCi0rCXN0YXRlIHJlZzEzMSAoc3Bzcl9hYnQpOiB1bmRlZmluZWQKLSsJc3RhdGUgcmVnMTMyIChzcHNyX3VuZCk6IHVuZGVmaW5lZAotKwlzdGF0ZSByZWcxMzMgKHNwc3Jfc3ZjKTogdW5kZWZpbmVkCi0rCWludGVnZXIgcmVnMTQ0IChyOF91c3IpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNDUgKHI5X3Vzcik6IHVuZGVmaW5lZAotKwlpbnRlZ2VyIHJlZzE0NiAocjEwX3Vzcik6IHVuZGVmaW5lZAotKwlpbnRlZ2VyIHJlZzE0NyAocjExX3Vzcik6IHVuZGVmaW5lZAotKwlpbnRlZ2VyIHJlZzE0OCAocjEyX3Vzcik6IHVuZGVmaW5lZAotKwlpbnRlZ2VyIHJlZzE0OSAocjEzX3Vzcik6IHVuZGVmaW5lZAotKwlpbnRlZ2VyIHJlZzE1MCAocjE0X3Vzcik6IHVuZGVmaW5lZAotKwlpbnRlZ2VyIHJlZzE1MSAocjhfZmlxKTogdW5kZWZpbmVkCi0rCWludGVnZXIgcmVnMTUyIChyOV9maXEpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNTMgKHIxMF9maXEpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNTQgKHIxMV9maXEpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNTUgKHIxMl9maXEpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNTYgKHIxM19maXEpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNTcgKHIxNF9maXEpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNTggKHIxM19pcnEpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNTkgKHIxNF9pcnEpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNjAgKHIxM19hYnQpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNjEgKHIxNF9hYnQpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNjIgKHIxM191bmQpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNjMgKHIxNF91bmQpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNjQgKHIxM19zdmMpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNjUgKHIxNF9zdmMpOiB1bmRlZmluZWQKLSsJTU1YIHJlZzE5MiAod2MwKTogdW5kZWZpbmVkCi0rCU1NWCByZWcxOTMgKHdjMSk6IHVuZGVmaW5lZAotKwlNTVggcmVnMTk0ICh3YzIpOiB1bmRlZmluZWQKLSsJTU1YIHJlZzE5NSAod2MzKTogdW5kZWZpbmVkCi0rCU1NWCByZWcxOTYgKHdjNCk6IHVuZGVmaW5lZAotKwlNTVggcmVnMTk3ICh3YzUpOiB1bmRlZmluZWQKLSsJTU1YIHJlZzE5OCAod2M2KTogdW5kZWZpbmVkCi0rCU1NWCByZWcxOTkgKHdjNyk6IHVuZGVmaW5lZAotIAlWRlAgcmVnMjU2IChkMCk6IHVuZGVmaW5lZAotIAlWRlAgcmVnMjU3IChkMSk6IHVuZGVmaW5lZAotIAlWRlAgcmVnMjU4IChkMik6IHVuZGVmaW5lZApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvZGViaWFuL2Rpc2FibGVfd2Vycm9yLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvZGViaWFuL2Rpc2FibGVfd2Vycm9yLnBhdGNoCmluZGV4IDc1NzM2YmYuLmJiNTY3MGEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9kaXNhYmxlX3dlcnJvci5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vZGlzYWJsZV93ZXJyb3IucGF0Y2gKQEAgLTEsMTcgKzEsMjQgQEAKK0Zyb20gZGVjZTA5ZmI4YzU5ZGJkYWIzNTZiNjNmYmU2Yjc1NTRkZDI0NjFhNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEhlbG11dCBHcm9obmUgPGhlbG11dEBzdWJkaXZpLmRlPgotU3ViamVjdDogZGlzYWJsZSAtV2Vycm9yIGFzIGl0IHRlbmRzIHRvIGJyZWFrIHdpdGggbmV3IGdjYyB2ZXJzaW9ucworRGF0ZTogRnJpLCAyMyBOb3YgMjAxOCAxNTo0NzoyMCArMDgwMAorU3ViamVjdDogW1BBVENIXSBkaXNhYmxlIC1XZXJyb3IgYXMgaXQgdGVuZHMgdG8gYnJlYWsgd2l0aCBuZXcgZ2NjIHZlcnNpb25zCisKIEJ1Zy1EZWJpYW46IGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzg4NjAwNAogTGFzdC1VcGRhdGU6IDIwMTgtMDEtMDEKIAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nIFtmcm9tIGRlYmlhbl0KIFNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KIAotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2NvbmZpZy9ldS5hbQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGVsZnV0aWxzLTAuMTc1Lm9yaWcvY29uZmlnL2V1LmFtCi0rKysgZWxmdXRpbHMtMC4xNzUvY29uZmlnL2V1LmFtCi1AQCAtNzMsNyArNzMsNiBAQCBBTV9DRkxBR1MgPSAtc3RkPWdudTk5IC1XYWxsIC1Xc2hhZG93IC1XCi0gCSAgICAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1Xc3RyaWN0LXByb3RvdHlwZXMgXAorLS0tCisgY29uZmlnL2V1LmFtIHwgMSAtCisgMSBmaWxlIGNoYW5nZWQsIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZy9ldS5hbSBiL2NvbmZpZy9ldS5hbQoraW5kZXggODJhY2RhMy4uZGVkZTVjNiAxMDA2NDQKKy0tLSBhL2NvbmZpZy9ldS5hbQorKysrIGIvY29uZmlnL2V1LmFtCitAQCAtNzMsNyArNzMsNiBAQCBBTV9DRkxBR1MgPSAtc3RkPWdudTk5IC1XYWxsIC1Xc2hhZG93IC1XZm9ybWF0PTIgXAorIAkgICAgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbiAtV3N0cmljdC1wcm90b3R5cGVzIC1XdHJhbXBvbGluZXMgXAogIAkgICAgJChMT0dJQ0FMX09QX1dBUk5JTkcpICQoRFVQTElDQVRFRF9DT05EX1dBUk5JTkcpIFwKICAJICAgICQoTlVMTF9ERVJFRkVSRU5DRV9XQVJOSU5HKSAkKElNUExJQ0lUX0ZBTExUSFJPVUdIX1dBUk5JTkcpIFwKIC0JICAgICQoaWYgJCgkKCpGKV9ub19XZXJyb3IpLCwtV2Vycm9yKSBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vaHBwYV9iYWNrZW5kLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vaHBwYV9iYWNrZW5kLmRpZmYKaW5kZXggMTA1ZTNmNC4uYWZjYzMwYSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvZGViaWFuL2hwcGFfYmFja2VuZC5kaWZmCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9ocHBhX2JhY2tlbmQuZGlmZgpAQCAtMSwxMCArMSw3OCBAQAorRnJvbSA4ZmU0Njg2ODJjNTUwNjA2ZWE5NjFhMWY5OTZhODYxODk0MGViMDg0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorRGF0ZTogRnJpLCAxNiBKdWwgMjAxMCAxMjoyNjo0NiArMDgwMAorU3ViamVjdDogW1BBVENIXSBlbGZ1dGlsczogdXBncmFkZSB0byB2ZXJzaW9uIDAuMTQ4CisKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZyBbZnJvbSBkZWJpYW5dCiBTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CiAKLUluZGV4OiBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9wYXJpc2NfaW5pdC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0KKyBiYWNrZW5kcy9NYWtlZmlsZS5hbSAgICAgIHwgICA4ICstCisgYmFja2VuZHMvbGliZWJsX3BhcmlzYy5oICB8ICAgOSArKworIGJhY2tlbmRzL3BhcmlzY19pbml0LmMgICAgfCAgNzMgKysrKysrKysrKysrKworIGJhY2tlbmRzL3BhcmlzY19yZWdzLmMgICAgfCAxNTkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIGJhY2tlbmRzL3BhcmlzY19yZWxvYy5kZWYgfCAxMjggKysrKysrKysrKysrKysrKysrKysrKysKKyBiYWNrZW5kcy9wYXJpc2NfcmV0dmFsLmMgIHwgMjEzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgYmFja2VuZHMvcGFyaXNjX3N5bWJvbC5jICB8IDExMyArKysrKysrKysrKysrKysrKysrKworIGxpYmVsZi9lbGYuaCAgICAgICAgICAgICAgfCAgMTEgKysKKyA4IGZpbGVzIGNoYW5nZWQsIDcxMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBiYWNrZW5kcy9saWJlYmxfcGFyaXNjLmgKKyBjcmVhdGUgbW9kZSAxMDA2NDQgYmFja2VuZHMvcGFyaXNjX2luaXQuYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBiYWNrZW5kcy9wYXJpc2NfcmVncy5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGJhY2tlbmRzL3BhcmlzY19yZWxvYy5kZWYKKyBjcmVhdGUgbW9kZSAxMDA2NDQgYmFja2VuZHMvcGFyaXNjX3JldHZhbC5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGJhY2tlbmRzL3BhcmlzY19zeW1ib2wuYworCitkaWZmIC0tZ2l0IGEvYmFja2VuZHMvTWFrZWZpbGUuYW0gYi9iYWNrZW5kcy9NYWtlZmlsZS5hbQoraW5kZXggMjEyNmEyZS4uNTY3MWEzMiAxMDA2NDQKKy0tLSBhL2JhY2tlbmRzL01ha2VmaWxlLmFtCisrKysgYi9iYWNrZW5kcy9NYWtlZmlsZS5hbQorQEAgLTMzLDEyICszMywxMyBAQCBBTV9DUFBGTEFHUyArPSAtSSQodG9wX3NyY2RpcikvbGliZWJsIC1JJCh0b3Bfc3JjZGlyKS9saWJhc20gXAorIAorIAorIG1vZHVsZXMgPSBpMzg2IHNoIHg4Nl82NCBpYTY0IGFscGhhIGFybSBhYXJjaDY0IHNwYXJjIHBwYyBwcGM2NCBzMzkwIFwKKy0JICB0aWxlZ3ggbTY4ayBicGYgcmlzY3YKKysJICB0aWxlZ3ggbTY4ayBicGYgcmlzY3YgcGFyaXNjCisgbGliZWJsX3BpYyA9IGxpYmVibF9pMzg2X3BpYy5hIGxpYmVibF9zaF9waWMuYSBsaWJlYmxfeDg2XzY0X3BpYy5hICAgIFwKKyAJICAgICBsaWJlYmxfaWE2NF9waWMuYSBsaWJlYmxfYWxwaGFfcGljLmEgbGliZWJsX2FybV9waWMuYSAgICBcCisgCSAgICAgbGliZWJsX2FhcmNoNjRfcGljLmEgbGliZWJsX3NwYXJjX3BpYy5hIGxpYmVibF9wcGNfcGljLmEgXAorIAkgICAgIGxpYmVibF9wcGM2NF9waWMuYSBsaWJlYmxfczM5MF9waWMuYSBsaWJlYmxfdGlsZWd4X3BpYy5hIFwKKy0JICAgICBsaWJlYmxfbTY4a19waWMuYSBsaWJlYmxfYnBmX3BpYy5hIGxpYmVibF9yaXNjdl9waWMuYQorKwkgICAgIGxpYmVibF9tNjhrX3BpYy5hIGxpYmVibF9icGZfcGljLmEgbGliZWJsX3Jpc2N2X3BpYy5hIFwKKysJICAgICBsaWJlYmxfcGFyaXNjX3BpYy5hCisgbm9pbnN0X0xJQlJBUklFUyA9ICQobGliZWJsX3BpYykKKyBub2luc3RfREFUQSA9ICQobGliZWJsX3BpYzpfcGljLmE9LnNvKQorIAorQEAgLTEzNiw2ICsxMzcsOSBAQCByaXNjdl9TUkNTID0gcmlzY3ZfaW5pdC5jIHJpc2N2X3N5bWJvbC5jIHJpc2N2X2NmaS5jIHJpc2N2X3JlZ3MuYyBcCisgbGliZWJsX3Jpc2N2X3BpY19hX1NPVVJDRVMgPSAkKHJpc2N2X1NSQ1MpCisgYW1fbGliZWJsX3Jpc2N2X3BpY19hX09CSkVDVFMgPSAkKHJpc2N2X1NSQ1M6LmM9Lm9zKQorIAorK3BhcmlzY19TUkNTID0gcGFyaXNjX2luaXQuYyBwYXJpc2Nfc3ltYm9sLmMgcGFyaXNjX3JlZ3MuYyBwYXJpc2NfcmV0dmFsLmMKKytsaWJlYmxfcGFyaXNjX3BpY19hX1NPVVJDRVMgPSAkKHBhcmlzY19TUkNTKQorK2FtX2xpYmVibF9wYXJpc2NfcGljX2FfT0JKRUNUUyA9ICQocGFyaXNjX1NSQ1M6LmM9Lm9zKQorIAorIGxpYmVibF8lLnNvIGxpYmVibF8lLm1hcDogbGliZWJsXyVfcGljLmEgJChsaWJlbGYpICQobGliZHcpICQobGliZXUpCisgCUBybSAtZiAkKEA6LnNvPS5tYXApCitkaWZmIC0tZ2l0IGEvYmFja2VuZHMvbGliZWJsX3BhcmlzYy5oIGIvYmFja2VuZHMvbGliZWJsX3BhcmlzYy5oCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uZjQ3M2I3OQogLS0tIC9kZXYvbnVsbAotKysrIGVsZnV0aWxzLTAuMTc1L2JhY2tlbmRzL3BhcmlzY19pbml0LmMKKysrKyBiL2JhY2tlbmRzL2xpYmVibF9wYXJpc2MuaAorQEAgLTAsMCArMSw5IEBACisrI2lmbmRlZiBfTElCRUJMX0hQUEFfSAorKyNkZWZpbmUgX0xJQkVCTF9IUFBBX0ggMQorKworKyNpbmNsdWRlIDxsaWJkdy5oPgorKworK2V4dGVybiBpbnQgcGFyaXNjX3JldHVybl92YWx1ZV9sb2NhdGlvbl8zMihEd2FyZl9EaWUgKiwgY29uc3QgRHdhcmZfT3AgKipsb2NwKTsKKytleHRlcm4gaW50IHBhcmlzY19yZXR1cm5fdmFsdWVfbG9jYXRpb25fNjQoRHdhcmZfRGllICosIGNvbnN0IER3YXJmX09wICoqbG9jcCk7CisrCisrI2VuZGlmCitkaWZmIC0tZ2l0IGEvYmFja2VuZHMvcGFyaXNjX2luaXQuYyBiL2JhY2tlbmRzL3BhcmlzY19pbml0LmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5mMWU0MDFjCistLS0gL2Rldi9udWxsCisrKysgYi9iYWNrZW5kcy9wYXJpc2NfaW5pdC5jCiBAQCAtMCwwICsxLDczIEBACiArLyogSW5pdGlhbGl6YXRpb24gb2YgUEEtUklTQyBzcGVjaWZpYyBiYWNrZW5kIGxpYnJhcnkuCiArICAgQ29weXJpZ2h0IChDKSAyMDAyLCAyMDA1LCAyMDA2IFJlZCBIYXQsIEluYy4KQEAgLTc5LDEwICsxNDcsMTEgQEAKICsKICsgIHJldHVybiBNT0RWRVJTSU9OOwogK30KLUluZGV4OiBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9wYXJpc2NfcmVncy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitkaWZmIC0tZ2l0IGEvYmFja2VuZHMvcGFyaXNjX3JlZ3MuYyBiL2JhY2tlbmRzL3BhcmlzY19yZWdzLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi4zODk1ZjhlCiAtLS0gL2Rldi9udWxsCi0rKysgZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvcGFyaXNjX3JlZ3MuYworKysrIGIvYmFja2VuZHMvcGFyaXNjX3JlZ3MuYwogQEAgLTAsMCArMSwxNTkgQEAKICsvKiBSZWdpc3RlciBuYW1lcyBhbmQgbnVtYmVycyBmb3IgUEEtUklTQyBEV0FSRi4KICsgICBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDYgUmVkIEhhdCwgSW5jLgpAQCAtMjQzLDEwICszMTIsMTEgQEAKICsgIG5hbWVbbmFtZWxlbisrXSA9ICdcMCc7CiArICByZXR1cm4gbmFtZWxlbjsKICt9Ci1JbmRleDogZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvcGFyaXNjX3JlbG9jLmRlZgotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorZGlmZiAtLWdpdCBhL2JhY2tlbmRzL3BhcmlzY19yZWxvYy5kZWYgYi9iYWNrZW5kcy9wYXJpc2NfcmVsb2MuZGVmCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMWY4NzViYQogLS0tIC9kZXYvbnVsbAotKysrIGVsZnV0aWxzLTAuMTc1L2JhY2tlbmRzL3BhcmlzY19yZWxvYy5kZWYKKysrKyBiL2JhY2tlbmRzL3BhcmlzY19yZWxvYy5kZWYKIEBAIC0wLDAgKzEsMTI4IEBACiArLyogTGlzdCB0aGUgcmVsb2NhdGlvbiB0eXBlcyBmb3IgUEEtUklTQy4gIC0qLSBDIC0qLQogKyAgIENvcHlyaWdodCAoQykgMjAwNSBSZWQgSGF0LCBJbmMuCkBAIC0zNzYsMTAgKzQ0NiwxMSBAQAogK1JFTE9DX1RZUEUgKFRMU19EVFBNT0Q2NCwJRFlOKQogKwogKyNkZWZpbmUgTk9fUkVMQVRJVkVfUkVMT0MgICAgICAgMQotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2JhY2tlbmRzL3BhcmlzY19yZXR2YWwuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorZGlmZiAtLWdpdCBhL2JhY2tlbmRzL3BhcmlzY19yZXR2YWwuYyBiL2JhY2tlbmRzL3BhcmlzY19yZXR2YWwuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmRmN2VjM2EKIC0tLSAvZGV2L251bGwKLSsrKyBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9wYXJpc2NfcmV0dmFsLmMKKysrKyBiL2JhY2tlbmRzL3BhcmlzY19yZXR2YWwuYwogQEAgLTAsMCArMSwyMTMgQEAKICsvKiBGdW5jdGlvbiByZXR1cm4gdmFsdWUgbG9jYXRpb24gZm9yIExpbnV4L1BBLVJJU0MgQUJJLgogKyAgIENvcHlyaWdodCAoQykgMjAwNSBSZWQgSGF0LCBJbmMuCkBAIC01OTQsMTAgKzY2NSwxMSBAQAogKyAgcmV0dXJuIHBhcmlzY19yZXR1cm5fdmFsdWVfbG9jYXRpb25fIChmdW5jdHlwZWRpZSwgbG9jcCwgMSk7CiArfQogKwotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2JhY2tlbmRzL3BhcmlzY19zeW1ib2wuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorZGlmZiAtLWdpdCBhL2JhY2tlbmRzL3BhcmlzY19zeW1ib2wuYyBiL2JhY2tlbmRzL3BhcmlzY19zeW1ib2wuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjU3NTRiZDgKIC0tLSAvZGV2L251bGwKLSsrKyBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9wYXJpc2Nfc3ltYm9sLmMKKysrKyBiL2JhY2tlbmRzL3BhcmlzY19zeW1ib2wuYwogQEAgLTAsMCArMSwxMTMgQEAKICsvKiBQQS1SSVNDIHNwZWNpZmljIHN5bWJvbGljIG5hbWUgaGFuZGxpbmcuCiArICAgQ29weXJpZ2h0IChDKSAyMDAyLCAyMDA1IFJlZCBIYXQsIEluYy4KQEAgLTcxMiw1NCArNzg0LDEwIEBACiArICAgICAgcmV0dXJuIEVMRl9UX05VTTsKICsgICAgfQogK30KLUluZGV4OiBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9saWJlYmxfcGFyaXNjLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwKLSsrKyBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9saWJlYmxfcGFyaXNjLmgKLUBAIC0wLDAgKzEsOSBAQAotKyNpZm5kZWYgX0xJQkVCTF9IUFBBX0gKLSsjZGVmaW5lIF9MSUJFQkxfSFBQQV9IIDEKLSsKLSsjaW5jbHVkZSA8bGliZHcuaD4KLSsKLStleHRlcm4gaW50IHBhcmlzY19yZXR1cm5fdmFsdWVfbG9jYXRpb25fMzIoRHdhcmZfRGllICosIGNvbnN0IER3YXJmX09wICoqbG9jcCk7Ci0rZXh0ZXJuIGludCBwYXJpc2NfcmV0dXJuX3ZhbHVlX2xvY2F0aW9uXzY0KER3YXJmX0RpZSAqLCBjb25zdCBEd2FyZl9PcCAqKmxvY3ApOwotKwotKyNlbmRpZgotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2JhY2tlbmRzL01ha2VmaWxlLmFtCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZWxmdXRpbHMtMC4xNzUub3JpZy9iYWNrZW5kcy9NYWtlZmlsZS5hbQotKysrIGVsZnV0aWxzLTAuMTc1L2JhY2tlbmRzL01ha2VmaWxlLmFtCi1AQCAtMzMsMTIgKzMzLDEzIEBAIEFNX0NQUEZMQUdTICs9IC1JJCh0b3Bfc3JjZGlyKS9saWJlYmwgLUkKLSAKLSAKLSBtb2R1bGVzID0gaTM4NiBzaCB4ODZfNjQgaWE2NCBhbHBoYSBhcm0gYWFyY2g2NCBzcGFyYyBwcGMgcHBjNjQgczM5MCBcCi0tCSAgdGlsZWd4IG02OGsgYnBmIHJpc2N2Ci0rCSAgdGlsZWd4IG02OGsgYnBmIHJpc2N2IHBhcmlzYwotIGxpYmVibF9waWMgPSBsaWJlYmxfaTM4Nl9waWMuYSBsaWJlYmxfc2hfcGljLmEgbGliZWJsX3g4Nl82NF9waWMuYSAgICBcCi0gCSAgICAgbGliZWJsX2lhNjRfcGljLmEgbGliZWJsX2FscGhhX3BpYy5hIGxpYmVibF9hcm1fcGljLmEgICAgXAotIAkgICAgIGxpYmVibF9hYXJjaDY0X3BpYy5hIGxpYmVibF9zcGFyY19waWMuYSBsaWJlYmxfcHBjX3BpYy5hIFwKLSAJICAgICBsaWJlYmxfcHBjNjRfcGljLmEgbGliZWJsX3MzOTBfcGljLmEgbGliZWJsX3RpbGVneF9waWMuYSBcCi0tCSAgICAgbGliZWJsX202OGtfcGljLmEgbGliZWJsX2JwZl9waWMuYSBsaWJlYmxfcmlzY3ZfcGljLmEKLSsJICAgICBsaWJlYmxfbTY4a19waWMuYSBsaWJlYmxfYnBmX3BpYy5hIGxpYmVibF9yaXNjdl9waWMuYSBcCi0rCSAgICAgbGliZWJsX3BhcmlzY19waWMuYQotIG5vaW5zdF9MSUJSQVJJRVMgPSAkKGxpYmVibF9waWMpCi0gbm9pbnN0X0RBVEEgPSAkKGxpYmVibF9waWM6X3BpYy5hPS5zbykKLSAKLUBAIC0xMzYsNiArMTM3LDkgQEAgcmlzY3ZfU1JDUyA9IHJpc2N2X2luaXQuYyByaXNjdl9zeW1ib2wuYwotIGxpYmVibF9yaXNjdl9waWNfYV9TT1VSQ0VTID0gJChyaXNjdl9TUkNTKQotIGFtX2xpYmVibF9yaXNjdl9waWNfYV9PQkpFQ1RTID0gJChyaXNjdl9TUkNTOi5jPS5vcykKLSAKLStwYXJpc2NfU1JDUyA9IHBhcmlzY19pbml0LmMgcGFyaXNjX3N5bWJvbC5jIHBhcmlzY19yZWdzLmMgcGFyaXNjX3JldHZhbC5jCi0rbGliZWJsX3BhcmlzY19waWNfYV9TT1VSQ0VTID0gJChwYXJpc2NfU1JDUykKLSthbV9saWJlYmxfcGFyaXNjX3BpY19hX09CSkVDVFMgPSAkKHBhcmlzY19TUkNTOi5jPS5vcykKLSAKLSBsaWJlYmxfJS5zbyBsaWJlYmxfJS5tYXA6IGxpYmVibF8lX3BpYy5hICQobGliZWxmKSAkKGxpYmR3KSAkKGxpYmV1KQotIAlAcm0gLWYgJChAOi5zbz0ubWFwKQotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2xpYmVsZi9lbGYuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGVsZnV0aWxzLTAuMTc1Lm9yaWcvbGliZWxmL2VsZi5oCi0rKysgZWxmdXRpbHMtMC4xNzUvbGliZWxmL2VsZi5oCitkaWZmIC0tZ2l0IGEvbGliZWxmL2VsZi5oIGIvbGliZWxmL2VsZi5oCitpbmRleCA3NTA0M2JjLi42MzEwMDU0IDEwMDY0NAorLS0tIGEvbGliZWxmL2VsZi5oCisrKysgYi9saWJlbGYvZWxmLmgKIEBAIC0yMTU1LDE2ICsyMTU1LDI0IEBAIGVudW0KICAjZGVmaW5lIFJfUEFSSVNDX1BDUkVMMTdGCTEyCS8qIDE3IGJpdHMgb2YgcmVsLiBhZGRyZXNzLiAgKi8KICAjZGVmaW5lIFJfUEFSSVNDX1BDUkVMMTRSCTE0CS8qIFJpZ2h0IDE0IGJpdHMgb2YgcmVsLiBhZGRyZXNzLiAgKi8KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9odXJkX3BhdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vaHVyZF9wYXRoLnBhdGNoCmluZGV4IDhmYTM1YTQuLmYwMTRhZTIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9odXJkX3BhdGgucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvZGViaWFuL2h1cmRfcGF0aC5wYXRjaApAQCAtMSw5ICsxLDE5IEBACitGcm9tIDJmNTRhOGNmOTU5ZWE4M2M0NTJiMWEyMmFjYmM0N2QyNzM4YjVmYTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBGcmksIDIzIE5vdiAyMDE4IDE1OjQ3OjIwICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGVsZnV0aWxzOiAwLjE3MCAtPiAwLjE3MgorCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcgW2Zyb20gZGViaWFuXQogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotSW5kZXg6IGVsZnV0aWxzLTAuMTY1L3Rlc3RzL3J1bi1uYXRpdmUtdGVzdC5zaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGVsZnV0aWxzLTAuMTY1Lm9yaWcvdGVzdHMvcnVuLW5hdGl2ZS10ZXN0LnNoCi0rKysgZWxmdXRpbHMtMC4xNjUvdGVzdHMvcnVuLW5hdGl2ZS10ZXN0LnNoCisKKy0tLQorIHRlc3RzL3J1bi1uYXRpdmUtdGVzdC5zaCB8IDMgKysrCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvdGVzdHMvcnVuLW5hdGl2ZS10ZXN0LnNoIGIvdGVzdHMvcnVuLW5hdGl2ZS10ZXN0LnNoCitpbmRleCA1MzUxZTAyLi43MGY2NjgxIDEwMDc1NQorLS0tIGEvdGVzdHMvcnVuLW5hdGl2ZS10ZXN0LnNoCisrKysgYi90ZXN0cy9ydW4tbmF0aXZlLXRlc3Quc2gKIEBAIC04Myw2ICs4Myw5IEBAIG5hdGl2ZV90ZXN0KCkKICAjICJjYW5ub3QgYXR0YWNoIHRvIHByb2Nlc3M6IEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZCIuCiAgWyAiJCh1bmFtZSkiID0gIkdOVS9rRnJlZUJTRCIgXSAmJiBleGl0IDc3CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vaWdub3JlX3N0cm1lcmdlLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vaWdub3JlX3N0cm1lcmdlLmRpZmYKaW5kZXggNTU1MTNlZS4uNTMzMzI0NiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvZGViaWFuL2lnbm9yZV9zdHJtZXJnZS5kaWZmCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9pZ25vcmVfc3RybWVyZ2UuZGlmZgpAQCAtMSw4ICsxLDE5IEBACitGcm9tIGQzMjZhZDk5YmU4NTY4MTUyNjBhMDRlNTczZmM5NzA0NGMwMmY0NDQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDIgSnVsIDIwMTggMTM6NTc6MDkgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gZWxmdXRpbHM6IDAuMTcwIC0+IDAuMTcyCisKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZyBbZnJvbSBkZWJpYW5dCiBTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CiAKLS0tLSBlbGZ1dGlscy0wLjE2NS5vcmlnL3Rlc3RzL3J1bi1zdHJpcC1zdHJtZXJnZS5zaAotKysrIGVsZnV0aWxzLTAuMTY1L3Rlc3RzL3J1bi1zdHJpcC1zdHJtZXJnZS5zaAorLS0tCisgdGVzdHMvcnVuLXN0cmlwLXN0cm1lcmdlLnNoIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvdGVzdHMvcnVuLXN0cmlwLXN0cm1lcmdlLnNoIGIvdGVzdHMvcnVuLXN0cmlwLXN0cm1lcmdlLnNoCitpbmRleCBhYTljMWViLi4yYmFiOGVjIDEwMDc1NQorLS0tIGEvdGVzdHMvcnVuLXN0cmlwLXN0cm1lcmdlLnNoCisrKysgYi90ZXN0cy9ydW4tc3RyaXAtc3RybWVyZ2Uuc2gKIEBAIC0zMCw3ICszMCw3IEBAIHJlbWVyZ2VkPXJlbWVyZ2VkLmVsZgogIHRlbXBmaWxlcyAkbWVyZ2VkICRzdHJpcHBlZCAkZGVidWdmaWxlICRyZW1lcmdlZAogIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvZGViaWFuL2tmcmVlYnNkX3BhdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4va2ZyZWVic2RfcGF0aC5wYXRjaAppbmRleCBmZTUxNTlmLi44MDVkYTgwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4va2ZyZWVic2RfcGF0aC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4va2ZyZWVic2RfcGF0aC5wYXRjaApAQCAtMSw3ICsxLDE3IEBACitGcm9tIGJhYzQ1OTk2ZWNlNzU5MDBlMGNkZTk3ZjM4ODllYWY2YzFiMjg2ZjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBGcmksIDIzIE5vdiAyMDE4IDE1OjQ3OjIwICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGVsZnV0aWxzOiAwLjE3MCAtPiAwLjE3MgorCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcgW2Zyb20gZGViaWFuXQogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotSW5kZXg6IGIvdGVzdHMvcnVuLW5hdGl2ZS10ZXN0LnNoCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKy0tLQorIHRlc3RzL3J1bi1uYXRpdmUtdGVzdC5zaCB8IDYgKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvdGVzdHMvcnVuLW5hdGl2ZS10ZXN0LnNoIGIvdGVzdHMvcnVuLW5hdGl2ZS10ZXN0LnNoCitpbmRleCBkMTkwMDdmLi41MzUxZTAyIDEwMDc1NQogLS0tIGEvdGVzdHMvcnVuLW5hdGl2ZS10ZXN0LnNoCiArKysgYi90ZXN0cy9ydW4tbmF0aXZlLXRlc3Quc2gKIEBAIC03Nyw2ICs3NywxMiBAQCBuYXRpdmVfdGVzdCgpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vbWlwc19iYWNrZW5kLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vbWlwc19iYWNrZW5kLmRpZmYKaW5kZXggOTk4ZmEwNC4uNjk3MzA2ZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvZGViaWFuL21pcHNfYmFja2VuZC5kaWZmCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9taXBzX2JhY2tlbmQuZGlmZgpAQCAtMSw5ICsxLDYyIEBACitGcm9tIDEwYTc1ZmQyYmVlZmFmZTIwNDMxNjNmODU0MjZkMGU1NzVkZTU4ZDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBGcmksIDE2IEp1bCAyMDEwIDEyOjI2OjQ2ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGVsZnV0aWxzOiB1cGdyYWRlIHRvIHZlcnNpb24gMC4xNDgKKwogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nIFtmcm9tIGRlYmlhbl0KIFNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLUluZGV4OiBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9taXBzX2luaXQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCistLS0KKyBiYWNrZW5kcy9NYWtlZmlsZS5hbSAgICB8ICAgOCArLQorIGJhY2tlbmRzL21pcHNfaW5pdC5jICAgIHwgIDU5ICsrKysrKysrCisgYmFja2VuZHMvbWlwc19yZWdzLmMgICAgfCAxMDQgKysrKysrKysrKysrKworIGJhY2tlbmRzL21pcHNfcmVsb2MuZGVmIHwgIDc5ICsrKysrKysrKysKKyBiYWNrZW5kcy9taXBzX3JldHZhbC5jICB8IDMyMSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgYmFja2VuZHMvbWlwc19zeW1ib2wuYyAgfCAgNTMgKysrKysrKworIGxpYmVibC9lYmxvcGVuYmFja2VuZC5jIHwgICAyICsKKyA3IGZpbGVzIGNoYW5nZWQsIDYyNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBiYWNrZW5kcy9taXBzX2luaXQuYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBiYWNrZW5kcy9taXBzX3JlZ3MuYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBiYWNrZW5kcy9taXBzX3JlbG9jLmRlZgorIGNyZWF0ZSBtb2RlIDEwMDY0NCBiYWNrZW5kcy9taXBzX3JldHZhbC5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGJhY2tlbmRzL21pcHNfc3ltYm9sLmMKKworZGlmZiAtLWdpdCBhL2JhY2tlbmRzL01ha2VmaWxlLmFtIGIvYmFja2VuZHMvTWFrZWZpbGUuYW0KK2luZGV4IDU2NzFhMzIuLmJhODRkYTYgMTAwNjQ0CistLS0gYS9iYWNrZW5kcy9NYWtlZmlsZS5hbQorKysrIGIvYmFja2VuZHMvTWFrZWZpbGUuYW0KK0BAIC0zMywxMyArMzMsMTMgQEAgQU1fQ1BQRkxBR1MgKz0gLUkkKHRvcF9zcmNkaXIpL2xpYmVibCAtSSQodG9wX3NyY2RpcikvbGliYXNtIFwKKyAKKyAKKyBtb2R1bGVzID0gaTM4NiBzaCB4ODZfNjQgaWE2NCBhbHBoYSBhcm0gYWFyY2g2NCBzcGFyYyBwcGMgcHBjNjQgczM5MCBcCistCSAgdGlsZWd4IG02OGsgYnBmIHJpc2N2IHBhcmlzYworKwkgIHRpbGVneCBtNjhrIGJwZiByaXNjdiBwYXJpc2MgbWlwcworIGxpYmVibF9waWMgPSBsaWJlYmxfaTM4Nl9waWMuYSBsaWJlYmxfc2hfcGljLmEgbGliZWJsX3g4Nl82NF9waWMuYSAgICBcCisgCSAgICAgbGliZWJsX2lhNjRfcGljLmEgbGliZWJsX2FscGhhX3BpYy5hIGxpYmVibF9hcm1fcGljLmEgICAgXAorIAkgICAgIGxpYmVibF9hYXJjaDY0X3BpYy5hIGxpYmVibF9zcGFyY19waWMuYSBsaWJlYmxfcHBjX3BpYy5hIFwKKyAJICAgICBsaWJlYmxfcHBjNjRfcGljLmEgbGliZWJsX3MzOTBfcGljLmEgbGliZWJsX3RpbGVneF9waWMuYSBcCisgCSAgICAgbGliZWJsX202OGtfcGljLmEgbGliZWJsX2JwZl9waWMuYSBsaWJlYmxfcmlzY3ZfcGljLmEgXAorLQkgICAgIGxpYmVibF9wYXJpc2NfcGljLmEKKysJICAgICBsaWJlYmxfcGFyaXNjX3BpYy5hIGxpYmVibF9taXBzX3BpYy5hCisgbm9pbnN0X0xJQlJBUklFUyA9ICQobGliZWJsX3BpYykKKyBub2luc3RfREFUQSA9ICQobGliZWJsX3BpYzpfcGljLmE9LnNvKQorIAorQEAgLTE0MSw2ICsxNDEsMTAgQEAgcGFyaXNjX1NSQ1MgPSBwYXJpc2NfaW5pdC5jIHBhcmlzY19zeW1ib2wuYyBwYXJpc2NfcmVncy5jIHBhcmlzY19yZXR2YWwuYworIGxpYmVibF9wYXJpc2NfcGljX2FfU09VUkNFUyA9ICQocGFyaXNjX1NSQ1MpCisgYW1fbGliZWJsX3BhcmlzY19waWNfYV9PQkpFQ1RTID0gJChwYXJpc2NfU1JDUzouYz0ub3MpCisgCisrbWlwc19TUkNTID0gbWlwc19pbml0LmMgbWlwc19zeW1ib2wuYyBtaXBzX3JlZ3MuYyBtaXBzX3JldHZhbC5jCisrbGliZWJsX21pcHNfcGljX2FfU09VUkNFUyA9ICQobWlwc19TUkNTKQorK2FtX2xpYmVibF9taXBzX3BpY19hX09CSkVDVFMgPSAkKG1pcHNfU1JDUzouYz0ub3MpCisrCisgbGliZWJsXyUuc28gbGliZWJsXyUubWFwOiBsaWJlYmxfJV9waWMuYSAkKGxpYmVsZikgJChsaWJkdykgJChsaWJldSkKKyAJQHJtIC1mICQoQDouc289Lm1hcCkKKyAJJChBTV9WX2F0KWVjaG8gJ0VMRlVUSUxTXyQoUEFDS0FHRV9WRVJTSU9OKSB7IGdsb2JhbDogJCpfaW5pdDsgbG9jYWw6ICo7IH07JyBcCitkaWZmIC0tZ2l0IGEvYmFja2VuZHMvbWlwc19pbml0LmMgYi9iYWNrZW5kcy9taXBzX2luaXQuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjk3NWMwNGUKIC0tLSAvZGV2L251bGwKLSsrKyBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9taXBzX2luaXQuYworKysrIGIvYmFja2VuZHMvbWlwc19pbml0LmMKIEBAIC0wLDAgKzEsNTkgQEAKICsvKiBJbml0aWFsaXphdGlvbiBvZiBtaXBzIHNwZWNpZmljIGJhY2tlbmQgbGlicmFyeS4KICsgICBDb3B5cmlnaHQgKEMpIDIwMDYgUmVkIEhhdCwgSW5jLgpAQCAtNjQsMTAgKzExNywxMSBAQAogKwogKyAgcmV0dXJuIE1PRFZFUlNJT047CiArfQotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2JhY2tlbmRzL21pcHNfcmVncy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitkaWZmIC0tZ2l0IGEvYmFja2VuZHMvbWlwc19yZWdzLmMgYi9iYWNrZW5kcy9taXBzX3JlZ3MuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjQ0Zjg2Y2IKIC0tLSAvZGV2L251bGwKLSsrKyBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9taXBzX3JlZ3MuYworKysrIGIvYmFja2VuZHMvbWlwc19yZWdzLmMKIEBAIC0wLDAgKzEsMTA0IEBACiArLyogUmVnaXN0ZXIgbmFtZXMgYW5kIG51bWJlcnMgZm9yIE1JUFMgRFdBUkYuCiArICAgQ29weXJpZ2h0IChDKSAyMDA2IFJlZCBIYXQsIEluYy4KQEAgLTE3MywxMCArMjI3LDExIEBACiArICBuYW1lW25hbWVsZW4rK10gPSAnXDAnOwogKyAgcmV0dXJuIG5hbWVsZW47CiArfQotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2JhY2tlbmRzL21pcHNfcmVsb2MuZGVmCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitkaWZmIC0tZ2l0IGEvYmFja2VuZHMvbWlwc19yZWxvYy5kZWYgYi9iYWNrZW5kcy9taXBzX3JlbG9jLmRlZgorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjQ1Nzk5NzAKIC0tLSAvZGV2L251bGwKLSsrKyBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9taXBzX3JlbG9jLmRlZgorKysrIGIvYmFja2VuZHMvbWlwc19yZWxvYy5kZWYKIEBAIC0wLDAgKzEsNzkgQEAKICsvKiBMaXN0IHRoZSByZWxvY2F0aW9uIHR5cGVzIGZvciBtaXBzLiAgLSotIEMgLSotCiArICAgQ29weXJpZ2h0IChDKSAyMDA2IFJlZCBIYXQsIEluYy4KQEAgLTI1NywxMCArMzEyLDExIEBACiArCiArI2RlZmluZSBOT19DT1BZX1JFTE9DIDEKICsjZGVmaW5lIE5PX1JFTEFUSVZFX1JFTE9DIDEKLUluZGV4OiBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9taXBzX3JldHZhbC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitkaWZmIC0tZ2l0IGEvYmFja2VuZHMvbWlwc19yZXR2YWwuYyBiL2JhY2tlbmRzL21pcHNfcmV0dmFsLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi42NTZjZDFmCiAtLS0gL2Rldi9udWxsCi0rKysgZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvbWlwc19yZXR2YWwuYworKysrIGIvYmFja2VuZHMvbWlwc19yZXR2YWwuYwogQEAgLTAsMCArMSwzMjEgQEAKICsvKiBGdW5jdGlvbiByZXR1cm4gdmFsdWUgbG9jYXRpb24gZm9yIExpbnV4L21pcHMgQUJJLgogKyAgIENvcHlyaWdodCAoQykgMjAwNSBSZWQgSGF0LCBJbmMuCkBAIC01ODMsMTAgKzYzOSwxMSBAQAogKyAgICAgRFdBUkYgYW5kIG1pZ2h0IGJlIHZhbGlkLiAgKi8KICsgIHJldHVybiAtMjsKICt9Ci1JbmRleDogZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvbWlwc19zeW1ib2wuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorZGlmZiAtLWdpdCBhL2JhY2tlbmRzL21pcHNfc3ltYm9sLmMgYi9iYWNrZW5kcy9taXBzX3N5bWJvbC5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMjYxYjA1ZAogLS0tIC9kZXYvbnVsbAotKysrIGVsZnV0aWxzLTAuMTc1L2JhY2tlbmRzL21pcHNfc3ltYm9sLmMKKysrKyBiL2JhY2tlbmRzL21pcHNfc3ltYm9sLmMKIEBAIC0wLDAgKzEsNTMgQEAKICsvKiBNSVBTIHNwZWNpZmljIHN5bWJvbGljIG5hbWUgaGFuZGxpbmcuCiArICAgQ29weXJpZ2h0IChDKSAyMDAyLCAyMDAzLCAyMDA1IFJlZCBIYXQsIEluYy4KQEAgLTY0MSwxMCArNjk4LDEwIEBACiArICAgICAgcmV0dXJuIEVMRl9UX05VTTsKICsgICAgfQogK30KLUluZGV4OiBlbGZ1dGlscy0wLjE3NS9saWJlYmwvZWJsb3BlbmJhY2tlbmQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGVsZnV0aWxzLTAuMTc1Lm9yaWcvbGliZWJsL2VibG9wZW5iYWNrZW5kLmMKLSsrKyBlbGZ1dGlscy0wLjE3NS9saWJlYmwvZWJsb3BlbmJhY2tlbmQuYworZGlmZiAtLWdpdCBhL2xpYmVibC9lYmxvcGVuYmFja2VuZC5jIGIvbGliZWJsL2VibG9wZW5iYWNrZW5kLmMKK2luZGV4IGQ1NGI3MjAuLjZjZjc2NmYgMTAwNjQ0CistLS0gYS9saWJlYmwvZWJsb3BlbmJhY2tlbmQuYworKysrIGIvbGliZWJsL2VibG9wZW5iYWNrZW5kLmMKIEBAIC03MSw2ICs3MSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QKICAgIHsgInNwYXJjIiwgImVsZl9zcGFyYyIsICJzcGFyYyIsIDUsIEVNX1NQQVJDLCAwLCAwIH0sCiAgICB7ICJzcGFyYyIsICJlbGZfc3BhcmN2OHBsdXMiLCAic3BhcmMiLCA1LCBFTV9TUEFSQzMyUExVUywgMCwgMCB9LApAQCAtNjU0LDM0ICs3MTEsMyBAQAogIAogICAgeyAibTMyIiwgImVsZl9tMzIiLCAibTMyIiwgMywgRU1fTTMyLCAwLCAwIH0sCiAgICB7ICJtNjhrIiwgImVsZl9tNjhrIiwgIm02OGsiLCA0LCBFTV82OEssIEVMRkNMQVNTMzIsIEVMRkRBVEEyTVNCIH0sCi1JbmRleDogZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvTWFrZWZpbGUuYW0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBlbGZ1dGlscy0wLjE3NS5vcmlnL2JhY2tlbmRzL01ha2VmaWxlLmFtCi0rKysgZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvTWFrZWZpbGUuYW0KLUBAIC0zMywxMyArMzMsMTMgQEAgQU1fQ1BQRkxBR1MgKz0gLUkkKHRvcF9zcmNkaXIpL2xpYmVibCAtSQotIAotIAotIG1vZHVsZXMgPSBpMzg2IHNoIHg4Nl82NCBpYTY0IGFscGhhIGFybSBhYXJjaDY0IHNwYXJjIHBwYyBwcGM2NCBzMzkwIFwKLS0JICB0aWxlZ3ggbTY4ayBicGYgcmlzY3YgcGFyaXNjCi0rCSAgdGlsZWd4IG02OGsgYnBmIHJpc2N2IHBhcmlzYyBtaXBzCi0gbGliZWJsX3BpYyA9IGxpYmVibF9pMzg2X3BpYy5hIGxpYmVibF9zaF9waWMuYSBsaWJlYmxfeDg2XzY0X3BpYy5hICAgIFwKLSAJICAgICBsaWJlYmxfaWE2NF9waWMuYSBsaWJlYmxfYWxwaGFfcGljLmEgbGliZWJsX2FybV9waWMuYSAgICBcCi0gCSAgICAgbGliZWJsX2FhcmNoNjRfcGljLmEgbGliZWJsX3NwYXJjX3BpYy5hIGxpYmVibF9wcGNfcGljLmEgXAotIAkgICAgIGxpYmVibF9wcGM2NF9waWMuYSBsaWJlYmxfczM5MF9waWMuYSBsaWJlYmxfdGlsZWd4X3BpYy5hIFwKLSAJICAgICBsaWJlYmxfbTY4a19waWMuYSBsaWJlYmxfYnBmX3BpYy5hIGxpYmVibF9yaXNjdl9waWMuYSBcCi0tCSAgICAgbGliZWJsX3BhcmlzY19waWMuYQotKwkgICAgIGxpYmVibF9wYXJpc2NfcGljLmEgbGliZWJsX21pcHNfcGljLmEKLSBub2luc3RfTElCUkFSSUVTID0gJChsaWJlYmxfcGljKQotIG5vaW5zdF9EQVRBID0gJChsaWJlYmxfcGljOl9waWMuYT0uc28pCi0gCi1AQCAtMTQxLDYgKzE0MSwxMCBAQCBwYXJpc2NfU1JDUyA9IHBhcmlzY19pbml0LmMgcGFyaXNjX3N5bWJvCi0gbGliZWJsX3BhcmlzY19waWNfYV9TT1VSQ0VTID0gJChwYXJpc2NfU1JDUykKLSBhbV9saWJlYmxfcGFyaXNjX3BpY19hX09CSkVDVFMgPSAkKHBhcmlzY19TUkNTOi5jPS5vcykKLSAKLSttaXBzX1NSQ1MgPSBtaXBzX2luaXQuYyBtaXBzX3N5bWJvbC5jIG1pcHNfcmVncy5jIG1pcHNfcmV0dmFsLmMKLStsaWJlYmxfbWlwc19waWNfYV9TT1VSQ0VTID0gJChtaXBzX1NSQ1MpCi0rYW1fbGliZWJsX21pcHNfcGljX2FfT0JKRUNUUyA9ICQobWlwc19TUkNTOi5jPS5vcykKLSsKLSBsaWJlYmxfJS5zbyBsaWJlYmxfJS5tYXA6IGxpYmVibF8lX3BpYy5hICQobGliZWxmKSAkKGxpYmR3KSAkKGxpYmV1KQotIAlAcm0gLWYgJChAOi5zbz0ubWFwKQotIAkkKEFNX1ZfYXQpZWNobyAnRUxGVVRJTFNfJChQQUNLQUdFX1ZFUlNJT04pIHsgZ2xvYmFsOiAkKl9pbml0OyBsb2NhbDogKjsgfTsnIFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9taXBzX3JlYWRlbGZfdy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9taXBzX3JlYWRlbGZfdy5wYXRjaAppbmRleCBkMjZlNzJlLi4xNzM3ZTBkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vbWlwc19yZWFkZWxmX3cucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvZGViaWFuL21pcHNfcmVhZGVsZl93LnBhdGNoCkBAIC0xLDcgKzEsNyBAQAorRnJvbSAzM2RhNGI0MzQ3YWFjZGZiOGIxYjQyZTA2ZTI5ZTY4YTRiODgyZDk2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS3VydCBSb2Vja3ggPGt1cnRAcm9lY2t4LmJlPgotU3ViamVjdDogTWFrZSByZWFkZWxmIC13IG91dHB1dCBkZWJ1ZyBpbmZvcm1hdGlvbiBvbiBtaXBzCi1CdWctRGViaWFuOiBodHRwOi8vYnVncy5kZWJpYW4ub3JnLzY2MjA0MQotRm9yd2FyZGVkOiBub3QtbmVlZGVkCitEYXRlOiBNb24sIDQgTWFyIDIwMTkgMDk6NDU6MDAgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gTWFrZSByZWFkZWxmIC13IG91dHB1dCBkZWJ1ZyBpbmZvcm1hdGlvbiBvbiBtaXBzCiAKIFVwc3RyZWFtcyB3YW50cyBhIGNoYW5nZSB3aGVyZSB0aGlzIGlzIGhhbmRsZWQgYnkgYSBob29rIHRoYXQgbmVlZHMKIHRvIGJlIGZpbGxlZCBpbiBieSB0aGUgYmFja2VuZCBmb3IgdGhlIGFyY2guCkBAIC05LDExICs5LDE1IEBACiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcgW2Zyb20gZGViaWFuXQogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogCi1JbmRleDogZWxmdXRpbHMtMC4xNzUvc3JjL3JlYWRlbGYuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGVsZnV0aWxzLTAuMTc1Lm9yaWcvc3JjL3JlYWRlbGYuYwotKysrIGVsZnV0aWxzLTAuMTc1L3NyYy9yZWFkZWxmLmMKLUBAIC0xMTEzMyw3ICsxMTEzMyw4IEBAIHByaW50X2RlYnVnIChEd2ZsX01vZHVsZSAqZHdmbG1vZCwgRWJsICoKKy0tLQorIHNyYy9yZWFkZWxmLmMgfCAzICsrLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy9yZWFkZWxmLmMgYi9zcmMvcmVhZGVsZi5jCitpbmRleCAzMzcwNmJkLi5lZjEzMTU5IDEwMDY0NAorLS0tIGEvc3JjL3JlYWRlbGYuYworKysrIGIvc3JjL3JlYWRlbGYuYworQEAgLTExMTQ4LDcgKzExMTQ4LDggQEAgcHJpbnRfZGVidWcgKER3ZmxfTW9kdWxlICpkd2ZsbW9kLCBFYmwgKmVibCwgR0VsZl9FaGRyICplaGRyKQogICAgICAgIEdFbGZfU2hkciBzaGRyX21lbTsKICAgICAgICBHRWxmX1NoZHIgKnNoZHIgPSBnZWxmX2dldHNoZHIgKHNjbiwgJnNoZHJfbWVtKTsKICAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2ZpbGUvZmlsZS9kZWJpYW4tNzQyMjYyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZmlsZS9maWxlL2RlYmlhbi03NDIyNjIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMxOWY5ZGIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZmlsZS9maWxlL2RlYmlhbi03NDIyNjIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1UaGUgYXdrIHBhdHRlcm4gd2FzIGNoZWNrZWQgKmJlZm9yZSogdGhlIFBlcmwgcGF0dGVybiwgc28gdGhlCi1wZXJsIHNjcmlwdCB3aXRoIEJFR0lOey4uLn0gd291bGQgYmUgcmVwb3J0ZWQgYXMgYXdrLCB0aGlzIHBhdGNoIGZpeGVzIGl0LgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtkZWJpYW5dCi0KLVNpZ25lZC1vZmYtYnk6IENocmlzdG9waCBCaWVkbCA8ZGViaWFuLmF4aG5AbWFuY2htYWwuaW4tdWxtLmRlPgotU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci0KLVJlYmFzZSBvbiA1LjMxCi0KLVNpZ25lZC1vZmYtYnk6IEZhbiBYaW4gPGZhbi54aW5AanAuZnVqaXRzdS5jb20+Ci0tLS0KLSBtYWdpYy9NYWdkaXIvY29tbWFuZHMgfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL21hZ2ljL01hZ2Rpci9jb21tYW5kcyBiL21hZ2ljL01hZ2Rpci9jb21tYW5kcwotaW5kZXggZjZhZDFjOC4uZjc5ZTdkZCAxMDA2NDQKLS0tLSBhL21hZ2ljL01hZ2Rpci9jb21tYW5kcwotKysrIGIvbWFnaWMvTWFnZGlyL2NvbW1hbmRzCi1AQCAtNTcsNiArNTcsNyBAQAotIDAJc3RyaW5nL3d0CSMhXCAvdXNyL2Jpbi9hd2sJYXdrIHNjcmlwdCB0ZXh0IGV4ZWN1dGFibGUKLSAhOm1pbWUJdGV4dC94LWF3awotIDAJcmVnZXgvNDA5Ngk9XltcMDQwXHRcZlxyXG5dezAsMTAwfUJFR0lOW1wwNDBcdFxmXHJcbl17MCwxMDB9W3tdCWF3ayBvciBwZXJsIHNjcmlwdCB0ZXh0Ci0rITpzdHJlbmd0aCAtIDEyCi0gCi0gIyBBVCZUIEJlbGwgTGFicycgUGxhbiA5IHNoZWxsCi0gMAlzdHJpbmcvd3QJIyFcIC9iaW4vcmMJUGxhbiA5IHJjIHNoZWxsIHNjcmlwdCB0ZXh0IGV4ZWN1dGFibGUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2ZpbGUvZmlsZV81LjM0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZmlsZS9maWxlXzUuMzQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVkOTI5MTMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZmlsZS9maWxlXzUuMzQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi1TVU1NQVJZID0gIkZpbGUgY2xhc3NpZmljYXRpb24gdG9vbCIKLURFU0NSSVBUSU9OID0gIkZpbGUgYXR0ZW1wdHMgdG8gY2xhc3NpZnkgZmlsZXMgZGVwZW5kaW5nIFwKLW9uIHRoZWlyIGNvbnRlbnRzIGFuZCBwcmludHMgYSBkZXNjcmlwdGlvbiBpZiBhIG1hdGNoIGlzIGZvdW5kLiIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuZGFyd2luc3lzLmNvbS9maWxlLyIKLVNFQ1RJT04gPSAiY29uc29sZS91dGlscyIKLQotIyB0d28gY2xhdXNlIEJTRAotTElDRU5TRSA9ICJCU0QiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO2JlZ2lubGluZT0yO21kNT02YTczODI4NzJlZGI2OGQzM2UxYTkzOThiNmUwMzE4OCIKLQotREVQRU5EUyA9ICJ6bGliIGZpbGUtcmVwbGFjZW1lbnQtbmF0aXZlIgotREVQRU5EU19jbGFzcy1uYXRpdmUgPSAiemxpYi1uYXRpdmUiCi0KLSMgQmxhY2tsaXN0IGEgYm9ndXMgdGFnIGluIHVwc3RyZWFtIGNoZWNrCi1VUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICJGSUxFKD9QPHB2ZXI+KD8hNl8yMykuKykiCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9maWxlL2ZpbGUuZ2l0IFwKLSAgICAgICAgZmlsZTovL2RlYmlhbi03NDIyNjIucGF0Y2ggXAotICAgICAgICAiCi0KLVNSQ1JFViA9ICIzMTVjZWYyZjY5OWRhM2MzMWE1NGJkM2M2YzYwNzA2ODBmYmFmMWY1IgotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLWFsdGVybmF0aXZlcwotCi1BTFRFUk5BVElWRV8ke1BOfSA9ICJmaWxlIgotQUxURVJOQVRJVkVfTElOS19OQU1FW2ZpbGVdID0gIiR7YmluZGlyfS9maWxlIgotCi1FWFRSQV9PRU1BS0VfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICItZSBGSUxFX0NPTVBJTEU9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2ZpbGUtbmF0aXZlL2ZpbGUiCi1FWFRSQV9PRU1BS0VfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICItZSBGSUxFX0NPTVBJTEU9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2ZpbGUtbmF0aXZlL2ZpbGUiCi0KLUNGTEFHU19hcHBlbmQgPSAiIC1zdGQ9Yzk5IgotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9taXNjLyoubWdjIgotCi1kb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7Ci0JY3JlYXRlX2NtZGxpbmVfd3JhcHBlciAke0R9LyR7YmluZGlyfS9maWxlIFwKLQkJLS1tYWdpYy1maWxlICR7ZGF0YWRpcn0vbWlzYy9tYWdpYy5tZ2MKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrKCkgewotCWNyZWF0ZV9jbWRsaW5lX3dyYXBwZXIgJHtEfS8ke2JpbmRpcn0vZmlsZSBcCi0JCS0tbWFnaWMtZmlsZSAke2RhdGFkaXJ9L21pc2MvbWFnaWMubWdjCi19Ci0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKLVBST1ZJREVTX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGZpbGUtcmVwbGFjZW1lbnQtbmF0aXZlIgotIyBEb24ndCB1c2UgTkFUSVZFX1BBQ0tBR0VfUEFUSF9TVUZGSVggYXMgdGhhdCBoaWRlcyBsaWJtYWdpYyBmcm9tIGFueW9uZSB3aG8KLSMgZGVwZW5kcyBvbiBmaWxlLXJlcGxhY2VtZW50LW5hdGl2ZS4KLWJpbmRpcl9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIi9maWxlLW5hdGl2ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2ZpbGUvZmlsZV81LjM2LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZmlsZS9maWxlXzUuMzYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWE4MWZkZQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2ZpbGUvZmlsZV81LjM2LmJiCkBAIC0wLDAgKzEsNDggQEAKK1NVTU1BUlkgPSAiRmlsZSBjbGFzc2lmaWNhdGlvbiB0b29sIgorREVTQ1JJUFRJT04gPSAiRmlsZSBhdHRlbXB0cyB0byBjbGFzc2lmeSBmaWxlcyBkZXBlbmRpbmcgXAorb24gdGhlaXIgY29udGVudHMgYW5kIHByaW50cyBhIGRlc2NyaXB0aW9uIGlmIGEgbWF0Y2ggaXMgZm91bmQuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5kYXJ3aW5zeXMuY29tL2ZpbGUvIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorCisjIHR3byBjbGF1c2UgQlNECitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7YmVnaW5saW5lPTI7bWQ1PTAyNTFlYWVjMTE4OGIyMGQ5YTcyYzUwMmVjZmRkYTFiIgorCitERVBFTkRTID0gInpsaWIgZmlsZS1yZXBsYWNlbWVudC1uYXRpdmUiCitERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICJ6bGliLW5hdGl2ZSIKKworIyBCbGFja2xpc3QgYSBib2d1cyB0YWcgaW4gdXBzdHJlYW0gY2hlY2sKK1VQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gIkZJTEUoP1A8cHZlcj4oPyE2XzIzKS4rKSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2ZpbGUvZmlsZS5naXQiCisKK1NSQ1JFViA9ICJmM2E0YjlhZGEzY2E5OWU2MmM2MmI5YWE3OGVlZTQ5MzVhODA5NGZlIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLWFsdGVybmF0aXZlcworCitBTFRFUk5BVElWRV8ke1BOfSA9ICJmaWxlIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2ZpbGVdID0gIiR7YmluZGlyfS9maWxlIgorCitFWFRSQV9PRU1BS0VfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICItZSBGSUxFX0NPTVBJTEU9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2ZpbGUtbmF0aXZlL2ZpbGUiCitFWFRSQV9PRU1BS0VfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICItZSBGSUxFX0NPTVBJTEU9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2ZpbGUtbmF0aXZlL2ZpbGUiCisKK0NGTEFHU19hcHBlbmQgPSAiIC1zdGQ9Yzk5IgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9taXNjLyoubWdjIgorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7CisJY3JlYXRlX2NtZGxpbmVfd3JhcHBlciAke0R9LyR7YmluZGlyfS9maWxlIFwKKwkJLS1tYWdpYy1maWxlICR7ZGF0YWRpcn0vbWlzYy9tYWdpYy5tZ2MKK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrKCkgeworCWNyZWF0ZV9jbWRsaW5lX3dyYXBwZXIgJHtEfS8ke2JpbmRpcn0vZmlsZSBcCisJCS0tbWFnaWMtZmlsZSAke2RhdGFkaXJ9L21pc2MvbWFnaWMubWdjCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKK1BST1ZJREVTX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGZpbGUtcmVwbGFjZW1lbnQtbmF0aXZlIgorIyBEb24ndCB1c2UgTkFUSVZFX1BBQ0tBR0VfUEFUSF9TVUZGSVggYXMgdGhhdCBoaWRlcyBsaWJtYWdpYyBmcm9tIGFueW9uZSB3aG8KKyMgZGVwZW5kcyBvbiBmaWxlLXJlcGxhY2VtZW50LW5hdGl2ZS4KK2JpbmRpcl9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIi9maWxlLW5hdGl2ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLmluYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzdjODhmMS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy5pbmMKKysrIC9kZXYvbnVsbApAQCAtMSwxMzUgKzAsMCBAQAotcmVxdWlyZSBnY2MtY29tbW9uLmluYwotCi0jIFRoaXJkIGRpZ2l0IGluIFBWIHNob3VsZCBiZSBpbmNyZW1lbnRlZCBhZnRlciBhIG1pbm9yIHJlbGVhc2UKLQotUFYgPSAiNy4zLjAiCi0KLSMgQklOViBzaG91bGQgYmUgaW5jcmVtZW50ZWQgdG8gYSByZXZpc2lvbiBhZnRlciBhIG1pbm9yIGdjYyByZWxlYXNlCi0KLUJJTlYgPSAiNy4zLjAiCi0KLUZJTEVTRVhUUkFQQVRIUyA9LiAiJHtGSUxFX0RJUk5BTUV9L2djYy03LjM6JHtGSUxFX0RJUk5BTUV9L2djYy03LjMvYmFja3BvcnQ6IgotCi1ERVBFTkRTID0rICJtcGZyIGdtcCBsaWJtcGMgemxpYiBmbGV4LW5hdGl2ZSIKLU5BVElWRURFUFMgPSAibXBmci1uYXRpdmUgZ21wLW5hdGl2ZSBsaWJtcGMtbmF0aXZlIHpsaWItbmF0aXZlIGZsZXgtbmF0aXZlIgotCi1MSUNFTlNFID0gIkdQTC0zLjAtd2l0aC1HQ0MtZXhjZXB0aW9uICYgR1BMdjMiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiXAotICAgIGZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiBcCi0gICAgZmlsZTovL0NPUFlJTkczO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCBcCi0gICAgZmlsZTovL0NPUFlJTkczLkxJQjttZDU9NmE2YThlMDIwODM4YjIzNDA2YzgxYjE5YzFkNDZkZjYgXAotICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9MmQ1MDI1ZDRhYTM0OTViZWZlZjhmMTcyMDZhNWIwYTEgXAotICAgIGZpbGU6Ly9DT1BZSU5HLlJVTlRJTUU7bWQ1PWZlNjBkODcwNDg1NjdkNGZlOGM4YTBlZDI0NDhiY2M4IFwKLSIKLQotI1JFTEVBU0UgPSAiNy0yMDE3MDUwNCIKLUJBU0VVUkkgPz0gIiR7R05VX01JUlJPUn0vZ2NjL2djYy0ke1BWfS9nY2MtJHtQVn0udGFyLnh6IgotI1NSQ1JFViA9ICJmN2NmNzk4YjczZmQxYTA3MDk4ZjlhNDkwZGVlYzFlMmEzNmUwYmVkIgotI0JBU0VVUkkgPz0gImdpdDovL2dpdGh1Yi5jb20vZ2NjLW1pcnJvci9nY2M7YnJhbmNoPWdjYy02LWJyYW5jaDtwcm90b2NvbD1naXQiCi0jQkFTRVVSSSA/PSAiaHR0cDovL21pcnJvcnMuY29uY2VydHBhc3MuY29tL2djYy9zbmFwc2hvdHMvJHtSRUxFQVNFfS9nY2MtJHtSRUxFQVNFfS50YXIuYnoyIgotCi1TUkNfVVJJID0gIlwKLSAgICAgICAgICAgJHtCQVNFVVJJfSBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWdjYy00LjMuMS1BUkNIX0ZMQUdTX0ZPUl9UQVJHRVQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwOS1nY2MtcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDEwLWdjYy1wb2lzb24tZGlyLWV4dGVuZC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDExLWdjYy00LjMuMy1TWVNST09UX0NGTEFHU19GT1JfVEFSR0VULnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTItNjQtYml0LW11bHRpbGliLWhhY2sucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxMy1vcHRpb25hbC1saWJzdGRjLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTQtZ2NjLWRpc2FibGUtTUFTS19SRUxBWF9QSUNfQ0FMTFMtYml0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTUtQ09MTEVDVF9HQ0NfT1BUSU9OUy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDE2LVVzZS10aGUtZGVmYXVsdHMuaC1pbi1CLWluc3RlYWQtb2YtUy1hbmQtdC1vZS1pbi1CLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTctZm9ydHJhbi1jcm9zcy1jb21waWxlLWhhY2sucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxOC1jcHAtaG9ub3Itc3lzcm9vdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDE5LU1JUFM2NC1EZWZhdWx0LXRvLU42NC1BQkkucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMC1EZWZpbmUtR0xJQkNfRFlOQU1JQ19MSU5LRVItYW5kLVVDTElCQ19EWU5BTUlDX0xJTktFLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjEtZ2NjLUZpeC1hcmd1bWVudC1saXN0LXRvby1sb25nLWVycm9yLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjItRGlzYWJsZS1zZHQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMy1saWJ0b29sLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjQtZ2NjLWFybXY0LXBhc3MtZml4LXY0YngtdG8tbGlua2VyLXRvLXN1cHBvcnQtRUFCSS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI1LVVzZS10aGUtbXVsdGlsaWItY29uZmlnLWZpbGVzLWZyb20tQi1pbnN0ZWFkLW9mLXVzaW4ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyNi1Bdm9pZC11c2luZy1saWJkaXItZnJvbS0ubGEtd2hpY2gtdXN1YWxseS1wb2ludHMtdG8tLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjctZXhwb3J0LUNQUC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI4LUVuYWJsZS1TUEUtQWx0aVZlYy1nZW5lcmF0aW9uLW9uLXBvd2VwYy1saW51eC10YXJnZXQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyOS1EaXNhYmxlLXRoZS1NVUxUSUxJQl9PU0RJUk5BTUVTLWFuZC1vdGhlci1tdWx0aWxpYi1vLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMzAtRW5zdXJlLXRhcmdldC1nY2MtaGVhZGVycy1jYW4tYmUtaW5jbHVkZWQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzMS1nY2MtNC44LXdvbi10LWJ1aWxkLXdpdGgtZGlzYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMzItRG9uLXQtc2VhcmNoLWhvc3QtZGlyZWN0b3J5LWR1cmluZy1yZWxpbmstaWYtaW5zdF9wci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDMzLVVzZS1TWVNURU1MSUJTX0RJUi1yZXBsYWNlbWVudC1pbnN0ZWFkLW9mLWhhcmRjb2RpbmcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzNC1hYXJjaDY0LUFkZC1zdXBwb3J0LWZvci1tdXNsLWxkc28ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzNS1saWJjYzEtZml4LWxpYmNjMS1zLWluc3RhbGwtcGF0aC1hbmQtcnBhdGgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzNi1oYW5kbGUtc3lzcm9vdC1zdXBwb3J0LWZvci1uYXRpdmVzZGstZ2NjLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMzctU2VhcmNoLXRhcmdldC1zeXNyb290LWdjYy12ZXJzaW9uLXNwZWNpZmljLWRpcnMtd2l0aC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDM4LUZpeC12YXJpb3VzLV9GT1JfQlVJTEQtYW5kLXJlbGF0ZWQtdmFyaWFibGVzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMzktbmlvczItRGVmaW5lLU1VU0xfRFlOQU1JQ19MSU5LRVIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDA0MC1BZGQtc3NwX25vbnNoYXJlZC10by1saW5rLWNvbW1hbmRsaW5lLWZvci1tdXNsLXRhcmdlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwNDEtZ2NjLWxpYmNwcC1zdXBwb3J0LWZmaWxlLXByZWZpeC1tYXAtb2xkLW5ldy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDQyLVJldXNlLWZkZWJ1Zy1wcmVmaXgtbWFwLXRvLXJlcGxhY2UtZmZpbGUtcHJlZml4LW1hcC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDQzLWdjYy1maW5hbC5jLWZkZWJ1Zy1wcmVmaXgtbWFwLXN1cHBvcnQtdG8tcmVtYXAtc291cmMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDA0NC1saWJnY2MtQWRkLWtub2ItdG8tdXNlLWxkYmwtMTI4LW9uLXBwYy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDQ1LUxpbmstbGliZ2NjLXVzaW5nLUxERkxBR1Mtbm90LWp1c3QtU0hMSUJfTERGTEFHUy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDQ3LXN5bmMtZ2NjLXN0ZGRlZi5oLXdpdGgtbXVzbC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDQ4LWdjYy1FbmFibGUtc3RhdGljLVBJRS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDQ5LWdjYy1vdmVycmlkZS1UQVJHRVRfTElCQ19QUk9WSURFU19TU1AucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZml4LXNlZ21lbnRhdGlvbi1mYXVsdC1wcmVjb21waWxlZC1oZHIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbm8tc3NlLWZpeC10ZXN0LWNhc2UtZmFpbHVyZXMucGF0Y2ggXAotICAgICAgICAgICAke0JBQ0tQT1JUU30gXAotIgotQkFDS1BPUlRTID0gIlwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWludGVybmFsLWNvbXBpbGVyLWVycm9yLWluLXRlc3RjYXNlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtUFItcnRsLW9wdGltaXphdGlvbi04MzAzMC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1wcGM2NGxlLWJ1aWxkLVBhcnRpYWwtYmFja3BvcnQtcjI1NjY1Ni5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLVBSLWMtODAyOTAtbWVtb3J5LWhvZy13aXRoLXN0ZC1wYWlyLnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gImJlMmRhMjE2ODBmMjc2MjRmM2E4NzA1NWM0YmE1YWYyIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjgzMmNhNmFlMDQ2MzZhZGJiNDMwZTg2NWExNDUxYWRmNjk3OWFiNDRjYTFjODM3NGY2MWZiYTY1NjQ1Y2UxNWMiCi0KLVMgPSAiJHtUTVBESVJ9L3dvcmstc2hhcmVkL2djYy0ke1BWfS0ke1BSfS9nY2MtJHtQVn0iCi0jUyA9ICIke1RNUERJUn0vd29yay1zaGFyZWQvZ2NjLSR7UFZ9LSR7UFJ9L2dpdCIKLUIgPSAiJHtXT1JLRElSfS9nY2MtJHtQVn0vYnVpbGQuJHtIT1NUX1NZU30uJHtUQVJHRVRfU1lTfSIKLQotIyBMYW5ndWFnZSBPdmVycmlkZXMKLUZPUlRSQU4gPSAiIgotSkFWQSA9ICIiCi0KLUxUTyA9ICItLWVuYWJsZS1sdG8iCi1TU1AgPz0gIi0tZGlzYWJsZS1saWJzc3AiCi1TU1BfbWluZ3czMiA9ICItLWVuYWJsZS1saWJzc3AiCi0KLUVYVFJBX09FQ09ORl9CQVNFID0gIlwKLSAgICAke0xUT30gXAotICAgICR7U1NQfSBcCi0gICAgLS1lbmFibGUtbGliaXRtIFwKLSAgICAtLWRpc2FibGUtYm9vdHN0cmFwIFwKLSAgICAtLWRpc2FibGUtbGlibXVkZmxhcCBcCi0gICAgLS13aXRoLXN5c3RlbS16bGliIFwKLSAgICAke0AnLS13aXRoLWxpbmtlci1oYXNoLXN0eWxlPSR7TElOS0VSX0hBU0hfU1RZTEV9JyBpZiAnJHtMSU5LRVJfSEFTSF9TVFlMRX0nIGVsc2UgJyd9IFwKLSAgICAtLWVuYWJsZS1saW5rZXItYnVpbGQtaWQgXAotICAgIC0td2l0aC1wcGw9bm8gXAotICAgIC0td2l0aC1jbG9vZz1ubyBcCi0gICAgLS1lbmFibGUtY2hlY2tpbmc9cmVsZWFzZSBcCi0gICAgLS1lbmFibGUtY2hlYWRlcnM9Y19nbG9iYWwgXAotICAgIC0td2l0aG91dC1pc2wgXAotIgotCi1FWFRSQV9PRUNPTkZfSU5JVElBTCA9ICJcCi0gICAgLS1kaXNhYmxlLWxpYm11ZGZsYXAgXAotICAgIC0tZGlzYWJsZS1saWJnb21wIFwKLSAgICAtLWRpc2FibGUtbGliaXRtIFwKLSAgICAtLWRpc2FibGUtbGlicXVhZG1hdGggXAotICAgIC0td2l0aC1zeXN0ZW0temxpYiBcCi0gICAgLS1kaXNhYmxlLWx0byBcCi0gICAgLS1kaXNhYmxlLXBsdWdpbiBcCi0gICAgLS1lbmFibGUtbGlua2VyLWJ1aWxkLWlkIFwKLSAgICAtLWVuYWJsZS1kZWNpbWFsLWZsb2F0PW5vIFwKLSAgICAtLXdpdGhvdXQtaXNsIFwKLSAgICAtLWRpc2FibGUtbGlic3NwIFwKLSIKLQotRVhUUkFfT0VDT05GX1BBVEhTID0gIlwKLSAgICAtLXdpdGgtZ3h4LWluY2x1ZGUtZGlyPS9ub3QvZXhpc3R7dGFyZ2V0X2luY2x1ZGVkaXJ9L2MrKy8ke0JJTlZ9IFwKLSAgICAtLXdpdGgtc3lzcm9vdD0vbm90L2V4aXN0IFwKLSAgICAtLXdpdGgtYnVpbGQtc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH0gXAotIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAwMS1GaXgtaW50ZXJuYWwtY29tcGlsZXItZXJyb3ItaW4tdGVzdGNhc2UucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDAxLUZpeC1pbnRlcm5hbC1jb21waWxlci1lcnJvci1pbi10ZXN0Y2FzZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDVjYzBlZS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDAxLUZpeC1pbnRlcm5hbC1jb21waWxlci1lcnJvci1pbi10ZXN0Y2FzZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIxMiArMCwwIEBACi1Gcm9tIGQzY2RkOTZhMzAwZjkwMDNhMWNjMjQyNTQxNjA1MTY5YWFjZGM4MTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiB3aWxsc2NobSA8d2lsbHNjaG1AMTM4YmM3NWQtMGQwNC0wNDEwLTk2MWYtODJlZTcyYjA1NGE0PgotRGF0ZTogTW9uLCAyNSBTZXAgMjAxNyAxNDozNTowMiArMDAwMAotU3ViamVjdDogW1BBVENIXSBbZ2NjXQotCi0yMDE3LTA5LTI1ICBXaWxsIFNjaG1pZHQgIDx3aWxsX3NjaG1pZHRAdm5ldC5pYm0uY29tPgotCi0JKiBjb25maWcvcnM2MDAwL3JzNjAwMC5jIChyczYwMDBfZ2ltcGxlX2ZvbGRfYnVpbHRpbik6IEFkZCBoYW5kbGluZwotCWZvciBlYXJseSBmb2xkaW5nIG9mIHZlY3RvciBzdG9yZXMgKEFMVElWRUNfQlVJTFRJTl9TVF8qKS4KLQkocnM2MDAwX2J1aWx0aW5fdmFsaWRfd2l0aG91dF9saHMpOiBOZXcgaGVscGVyIGZ1bmN0aW9uLgotCSogY29uZmlnL3JzNjAwMC9yczYwMDAtYy5jIChhbHRpdmVjX3Jlc29sdmVfb3ZlcmxvYWRlZF9idWlsdGluKToKLQlSZW1vdmUgb2Jzb2xldGVkIGNvZGUgZm9yIGhhbmRsaW5nIEFMVElWRUNfQlVJTFRJTl9WRUNfU1QuCi0KLWdpdC1zdm4taWQ6IHN2bitzc2g6Ly9nY2MuZ251Lm9yZy9zdm4vZ2NjL3RydW5rQDI1MzE1MiAxMzhiYzc1ZC0wZDA0LTA0MTAtOTYxZi04MmVlNzJiMDU0YTQKLQotRml4IGludGVybmFsIGNvbXBpbGVyIGVycm9yIGZvciB0ZXN0Y2FzZSBnY2MuZGcvdm14LzdkLTAyLmMKLQotVXBzdHJlYW0gY29tbWl0OiBkM2NkZDk2YTMwMGY5MDAzYTFjYzI0MjU0MTYwNTE2OWFhY2RjODExCi0KLUJhY2twb3J0IGJ5IEthdXNoaWsgUGhhdGFrIDxLYXVzaGlrLlBoYXRha0BrcGl0LmNvbT4KLQotVGhpcyBwYXRjaCByZW1vdmVzIGNoYW5nZXMgdG8gQ2hhbmdlbG9nIGZyb20gdGhlIG9yaWdpbmFsIHVwc3RyZWFtIHBhdGNoLgotVGhpcyB3aWxsIGhlbHAgdXMgYXZvaWQgY29uZmxpY3RzLgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0KLVNpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KLS0tLQotIGdjYy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgfCAgOCArKysrKwotIGdjYy9jb25maWcvcnM2MDAwL3JzNjAwMC1jLmMgfCA3MiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLmMgICB8IDczICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCi0gMyBmaWxlcyBjaGFuZ2VkLCA3OCBpbnNlcnRpb25zKCspLCA3NSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcnM2MDAwL3JzNjAwMC1jLmMgYi9nY2MvY29uZmlnL3JzNjAwMC9yczYwMDAtYy5jCi1pbmRleCBhNDlkYjk3Li40YTM2M2ExIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLWMuYwotKysrIGIvZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLWMuYwotQEAgLTYyNzksNzAgKzYyNzksNiBAQCBhbHRpdmVjX3Jlc29sdmVfb3ZlcmxvYWRlZF9idWlsdGluIChsb2NhCi0gCX0KLSAgICAgfQotIAotLSAgLyogU2ltaWxhcmx5IGZvciBzdHZ4LiAgKi8KLS0gIGlmIChmY29kZSA9PSBBTFRJVkVDX0JVSUxUSU5fVkVDX1NUCi0tICAgICAgJiYgKEJZVEVTX0JJR19FTkRJQU4gfHwgIVZFQ1RPUl9FTFRfT1JERVJfQklHKQotLSAgICAgICYmIG5hcmdzID09IDMpCi0tICAgIHsKLS0gICAgICB0cmVlIGFyZzAgPSAoKmFyZ2xpc3QpWzBdOwotLSAgICAgIHRyZWUgYXJnMSA9ICgqYXJnbGlzdClbMV07Ci0tICAgICAgdHJlZSBhcmcyID0gKCphcmdsaXN0KVsyXTsKLS0KLS0gICAgICAvKiBDb25zdHJ1Y3QgdGhlIG1hc2tlZCBhZGRyZXNzLiAgTGV0IGV4aXN0aW5nIGVycm9yIGhhbmRsaW5nIHRha2UKLS0JIG92ZXIgaWYgd2UgZG9uJ3QgaGF2ZSBhIGNvbnN0YW50IG9mZnNldC4gICovCi0tICAgICAgYXJnMSA9IGZvbGQgKGFyZzEpOwotLQotLSAgICAgIGlmIChUUkVFX0NPREUgKGFyZzEpID09IElOVEVHRVJfQ1NUKQotLQl7Ci0tCSAgaWYgKCFwdHJvZmZ0eXBlX3AgKFRSRUVfVFlQRSAoYXJnMSkpKQotLQkgICAgYXJnMSA9IGJ1aWxkMSAoTk9QX0VYUFIsIHNpemV0eXBlLCBhcmcxKTsKLS0KLS0JICB0cmVlIGFyZzJfdHlwZSA9IFRSRUVfVFlQRSAoYXJnMik7Ci0tCSAgaWYgKFRSRUVfQ09ERSAoYXJnMl90eXBlKSA9PSBBUlJBWV9UWVBFICYmIGNfZGlhbGVjdF9jeHggKCkpCi0tCSAgICB7Ci0tCSAgICAgIC8qIEZvcmNlIGFycmF5LXRvLXBvaW50ZXIgZGVjYXkgZm9yIEMrKy4gICovCi0tCSAgICAgIGFyZzIgPSBkZWZhdWx0X2NvbnZlcnNpb24gKGFyZzIpOwotLQkgICAgICBhcmcyX3R5cGUgPSBUUkVFX1RZUEUgKGFyZzIpOwotLQkgICAgfQotLQotLQkgIC8qIEZpbmQgdGhlIGJ1aWx0LWluIHRvIG1ha2Ugc3VyZSBhIGNvbXBhdGlibGUgb25lIGV4aXN0czsgaWYgbm90Ci0tCSAgICAgd2UgZmFsbCBiYWNrIHRvIGRlZmF1bHQgaGFuZGxpbmcgdG8gZ2V0IHRoZSBlcnJvciBtZXNzYWdlLiAgKi8KLS0JICBmb3IgKGRlc2MgPSBhbHRpdmVjX292ZXJsb2FkZWRfYnVpbHRpbnM7Ci0tCSAgICAgICBkZXNjLT5jb2RlICYmIGRlc2MtPmNvZGUgIT0gZmNvZGU7IGRlc2MrKykKLS0JICAgIGNvbnRpbnVlOwotLQotLQkgIGZvciAoOyBkZXNjLT5jb2RlID09IGZjb2RlOyBkZXNjKyspCi0tCSAgICBpZiAocnM2MDAwX2J1aWx0aW5fdHlwZV9jb21wYXRpYmxlIChUUkVFX1RZUEUgKGFyZzApLCBkZXNjLT5vcDEpCi0tCQkmJiByczYwMDBfYnVpbHRpbl90eXBlX2NvbXBhdGlibGUgKFRSRUVfVFlQRSAoYXJnMSksIGRlc2MtPm9wMikKLS0JCSYmIHJzNjAwMF9idWlsdGluX3R5cGVfY29tcGF0aWJsZSAoVFJFRV9UWVBFIChhcmcyKSwKLS0JCQkJCQkgICBkZXNjLT5vcDMpKQotLQkgICAgICB7Ci0tCQl0cmVlIGFkZHIgPSBmb2xkX2J1aWxkMl9sb2MgKGxvYywgUE9JTlRFUl9QTFVTX0VYUFIsIGFyZzJfdHlwZSwKLS0JCQkJCSAgICAgYXJnMiwgYXJnMSk7Ci0tCQl0cmVlIGFsaWduZWQKLS0JCSAgPSBmb2xkX2J1aWxkMl9sb2MgKGxvYywgQklUX0FORF9FWFBSLCBhcmcyX3R5cGUsCi0tCQkJCSAgICAgYWRkciwgYnVpbGRfaW50X2NzdCAoYXJnMl90eXBlLCAtMTYpKTsKLS0KLS0JCXRyZWUgYXJnMF90eXBlID0gVFJFRV9UWVBFIChhcmcwKTsKLS0JCWlmIChUWVBFX01PREUgKGFyZzBfdHlwZSkgPT0gVjJESW1vZGUpCi0tCQkgIC8qIFR5cGUtYmFzZWQgYWxpYXNpbmcgYW5hbHlzaXMgdGhpbmtzIHZlY3RvciBsb25nCi0tCQkgICAgIGFuZCB2ZWN0b3IgbG9uZyBsb25nIGFyZSBkaWZmZXJlbnQgYW5kIHdpbGwgcHV0IHRoZW0KLS0JCSAgICAgaW4gZGlzdGluY3QgYWxpYXMgY2xhc3Nlcy4gIEZvcmNlIG91ciBhZGRyZXNzIHR5cGUKLS0JCSAgICAgdG8gYmUgYSBtYXktYWxpYXMgdHlwZSB0byBhdm9pZCB0aGlzLiAgKi8KLS0JCSAgYXJnMF90eXBlCi0tCQkgICAgPSBidWlsZF9wb2ludGVyX3R5cGVfZm9yX21vZGUgKGFyZzBfdHlwZSwgUG1vZGUsCi0tCQkJCQkJICAgdHJ1ZS8qY2FuX2FsaWFzX2FsbCovKTsKLS0JCWVsc2UKLS0JCSAgYXJnMF90eXBlID0gYnVpbGRfcG9pbnRlcl90eXBlIChhcmcwX3R5cGUpOwotLQkJYWxpZ25lZCA9IGJ1aWxkMSAoTk9QX0VYUFIsIGFyZzBfdHlwZSwgYWxpZ25lZCk7Ci0tCQl0cmVlIHN0ZyA9IGJ1aWxkX2luZGlyZWN0X3JlZiAobG9jLCBhbGlnbmVkLCBST19OVUxMKTsKLS0JCXRyZWUgcmV0dmFsID0gYnVpbGQyIChNT0RJRllfRVhQUiwgVFJFRV9UWVBFIChzdGcpLCBzdGcsCi0tCQkJCSAgICAgIGNvbnZlcnQgKFRSRUVfVFlQRSAoc3RnKSwgYXJnMCkpOwotLQkJcmV0dXJuIHJldHZhbDsKLS0JICAgICAgfQotLQl9Ci0tICAgIH0KLS0KLSAgIGZvciAobiA9IDA7Ci0gICAgICAgICFWT0lEX1RZUEVfUCAoVFJFRV9WQUxVRSAoZm5hcmdzKSkgJiYgbiA8IG5hcmdzOwotICAgICAgICBmbmFyZ3MgPSBUUkVFX0NIQUlOIChmbmFyZ3MpLCBuKyspCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLmMgYi9nY2MvY29uZmlnL3JzNjAwMC9yczYwMDAuYwotaW5kZXggYTQ5ZGI5Ny4uNGEzNjNhMSAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvcnM2MDAwL3JzNjAwMC5jCi0rKysgYi9nY2MvY29uZmlnL3JzNjAwMC9yczYwMDAuYwotQEAgLTU1LDYgKzU1LDcgQEAKLSAjaW5jbHVkZSAicmVsb2FkLmgiCi0gI2luY2x1ZGUgInNjaGVkLWludC5oIgotICNpbmNsdWRlICJnaW1wbGlmeS5oIgotKyNpbmNsdWRlICJnaW1wbGUtZm9sZC5oIgotICNpbmNsdWRlICJnaW1wbGUtaXRlcmF0b3IuaCIKLSAjaW5jbHVkZSAiZ2ltcGxlLXNzYS5oIgotICNpbmNsdWRlICJnaW1wbGUtd2Fsay5oIgotQEAgLTE3MDg5LDYgKzE3MDkwLDI1IEBAIHJzNjAwMF9mb2xkX2J1aWx0aW4gKHRyZWUgZm5kZWNsLCBpbnQgbl8KLSAjZW5kaWYKLSB9Ci0gCi0rLyogIEhlbHBlciBmdW5jdGlvbiB0byBzb3J0IG91dCB3aGljaCBidWlsdC1pbnMgbWF5IGJlIHZhbGlkIHdpdGhvdXQgaGF2aW5nCi0rICAgIGEgTEhTLiAgKi8KLStib29sCi0rcnM2MDAwX2J1aWx0aW5fdmFsaWRfd2l0aG91dF9saHMgKGVudW0gcnM2MDAwX2J1aWx0aW5zIGZuX2NvZGUpCi0rewotKyAgc3dpdGNoIChmbl9jb2RlKQotKyAgICB7Ci0rICAgIGNhc2UgQUxUSVZFQ19CVUlMVElOX1NUVlhfVjE2UUk6Ci0rICAgIGNhc2UgQUxUSVZFQ19CVUlMVElOX1NUVlhfVjhISToKLSsgICAgY2FzZSBBTFRJVkVDX0JVSUxUSU5fU1RWWF9WNFNJOgotKyAgICBjYXNlIEFMVElWRUNfQlVJTFRJTl9TVFZYX1Y0U0Y6Ci0rICAgIGNhc2UgQUxUSVZFQ19CVUlMVElOX1NUVlhfVjJESToKLSsgICAgY2FzZSBBTFRJVkVDX0JVSUxUSU5fU1RWWF9WMkRGOgotKyAgICAgIHJldHVybiB0cnVlOwotKyAgICBkZWZhdWx0OgotKyAgICAgIHJldHVybiBmYWxzZTsKLSsgICAgfQotK30KLSsKLSAvKiBGb2xkIGEgbWFjaGluZS1kZXBlbmRlbnQgYnVpbHQtaW4gaW4gR0lNUExFLiAgKEZvciBmb2xkaW5nIGludG8KLSAgICBhIGNvbnN0YW50LCB1c2UgcnM2MDAwX2ZvbGRfYnVpbHRpbi4pICAqLwotIAotQEAgLTE3MTAyLDYgKzE3MTIyLDEwIEBAIHJzNjAwMF9naW1wbGVfZm9sZF9idWlsdGluIChnaW1wbGVfc3RtdF8KLSAgICAgPSAoZW51bSByczYwMDBfYnVpbHRpbnMpIERFQ0xfRlVOQ1RJT05fQ09ERSAoZm5kZWNsKTsKLSAgIHRyZWUgYXJnMCwgYXJnMSwgbGhzOwotIAotKyAgLyogUHJldmVudCBnaW1wbGUgZm9sZGluZyBmb3IgY29kZSB0aGF0IGRvZXMgbm90IGhhdmUgYSBMSFMsIHVubGVzcyBpdCBpcwotKyAgICAgYWxsb3dlZCBwZXIgdGhlIHJzNjAwMF9idWlsdGluX3ZhbGlkX3dpdGhvdXRfbGhzIGhlbHBlciBmdW5jdGlvbi4gICovCi0rICBpZiAoIWdpbXBsZV9jYWxsX2xocyAoc3RtdCkgJiYgIXJzNjAwMF9idWlsdGluX3ZhbGlkX3dpdGhvdXRfbGhzIChmbl9jb2RlKSkKLSsgICAgIHJldHVybiBmYWxzZTsKLSAgIHN3aXRjaCAoZm5fY29kZSkKLSAgICAgewotICAgICAvKiBGbGF2b3JzIG9mIHZlY19hZGQuICBXZSBkZWxpYmVyYXRlbHkgZG9uJ3QgZXhwYW5kCi1AQCAtMTcxNjksNiArMTcxOTMsNTQgQEAgcnM2MDAwX2dpbXBsZV9mb2xkX2J1aWx0aW4gKGdpbXBsZV9zdG10XwotIAlnc2lfcmVwbGFjZSAoZ3NpLCBnLCB0cnVlKTsKLSAJcmV0dXJuIHRydWU7Ci0gICAgICAgfQotKyAgICAvKiBWZWN0b3Igc3RvcmVzLiAgKi8KLSsgICAgY2FzZSBBTFRJVkVDX0JVSUxUSU5fU1RWWF9WMTZRSToKLSsgICAgY2FzZSBBTFRJVkVDX0JVSUxUSU5fU1RWWF9WOEhJOgotKyAgICBjYXNlIEFMVElWRUNfQlVJTFRJTl9TVFZYX1Y0U0k6Ci0rICAgIGNhc2UgQUxUSVZFQ19CVUlMVElOX1NUVlhfVjRTRjoKLSsgICAgY2FzZSBBTFRJVkVDX0JVSUxUSU5fU1RWWF9WMkRJOgotKyAgICBjYXNlIEFMVElWRUNfQlVJTFRJTl9TVFZYX1YyREY6Ci0rICAgICAgewotKwkgLyogRG8gbm90IGZvbGQgZm9yIC1tYWx0aXZlYz1iZSBvbiBMRSB0YXJnZXRzLiAgKi8KLSsJIGlmIChWRUNUT1JfRUxUX09SREVSX0JJRyAmJiAhQllURVNfQklHX0VORElBTikKLSsJICAgIHJldHVybiBmYWxzZTsKLSsJIGFyZzAgPSBnaW1wbGVfY2FsbF9hcmcgKHN0bXQsIDApOyAvKiBWYWx1ZSB0byBiZSBzdG9yZWQuICAqLwotKwkgYXJnMSA9IGdpbXBsZV9jYWxsX2FyZyAoc3RtdCwgMSk7IC8qIE9mZnNldC4gICovCi0rCSB0cmVlIGFyZzIgPSBnaW1wbGVfY2FsbF9hcmcgKHN0bXQsIDIpOyAvKiBTdG9yZS10byBhZGRyZXNzLiAgKi8KLSsJIGxvY2F0aW9uX3QgbG9jID0gZ2ltcGxlX2xvY2F0aW9uIChzdG10KTsKLSsJIHRyZWUgYXJnMF90eXBlID0gVFJFRV9UWVBFIChhcmcwKTsKLSsJIC8qIFVzZSBwdHJfdHlwZV9ub2RlIChubyBUQkFBKSBmb3IgdGhlIGFyZzJfdHlwZS4KLSsJICBGSVhNRTogKFJpY2hhcmQpICAiQSBwcm9wZXIgZml4IHdvdWxkIGJlIHRvIHRyYW5zaXRpb24gdGhpcyB0eXBlIGFzCi0rCSAgc2VlbiBmcm9tIHRoZSBmcm9udGVuZCB0byBHSU1QTEUsIGZvciBleGFtcGxlIGluIGEgc2ltaWxhciB3YXkgd2UKLSsJICBkbyBmb3IgTUVNX1JFRnMgYnkgcGlnZ3ktYmFja2luZyB0aGF0IG9uIGFuIGV4dHJhIGFyZ3VtZW50LCBhCi0rCSAgY29uc3RhbnQgemVybyBwb2ludGVyIG9mIHRoZSBhbGlhcyBwb2ludGVyIHR5cGUgdG8gdXNlICh3aGljaCB3b3VsZAotKwkgIGFsc28gc2VydmUgYXMgYSB0eXBlIGluZGljYXRvciBvZiB0aGUgc3RvcmUgaXRzZWxmKS4gIEknZCB1c2UgYQotKwkgIHRhcmdldCBzcGVjaWZpYyBpbnRlcm5hbCBmdW5jdGlvbiBmb3IgdGhpcyAobm90IHN1cmUgaWYgd2UgY2FuIGhhdmUKLSsJICB0aG9zZSB0YXJnZXQgc3BlY2lmaWMsIGJ1dCBJIGd1ZXNzIGlmIGl0J3MgZm9sZGVkIGF3YXkgdGhlbiB0aGF0J3MKLSsJICBmaW5lKSBhbmQgZ2V0IGF3YXkgd2l0aCB0aGUgb3ZlcmxvYWQgc2V0LiIKLSsJICAqLwotKwkgdHJlZSBhcmcyX3R5cGUgPSBwdHJfdHlwZV9ub2RlOwotKwkgLyogUE9JTlRFUl9QTFVTX0VYUFIgd2FudHMgdGhlIG9mZnNldCB0byBiZSBvZiB0eXBlICdzaXpldHlwZScuICBDcmVhdGUKLSsJICAgIHRoZSB0cmVlIHVzaW5nIHRoZSB2YWx1ZSBmcm9tIGFyZzAuICBUaGUgcmVzdWx0aW5nIHR5cGUgd2lsbCBtYXRjaAotKwkgICAgdGhlIHR5cGUgb2YgYXJnMi4gICovCi0rCSBnaW1wbGVfc2VxIHN0bXRzID0gTlVMTDsKLSsJIHRyZWUgdGVtcF9vZmZzZXQgPSBnaW1wbGVfY29udmVydCAoJnN0bXRzLCBsb2MsIHNpemV0eXBlLCBhcmcxKTsKLSsJIHRyZWUgdGVtcF9hZGRyID0gZ2ltcGxlX2J1aWxkICgmc3RtdHMsIGxvYywgUE9JTlRFUl9QTFVTX0VYUFIsCi0rCQkJCSAgICAgICBhcmcyX3R5cGUsIGFyZzIsIHRlbXBfb2Zmc2V0KTsKLSsJIC8qIE1hc2sgb2ZmIGFueSBsb3dlciBiaXRzIGZyb20gdGhlIGFkZHJlc3MuICAqLwotKwkgdHJlZSBhbGlnbmVkX2FkZHIgPSBnaW1wbGVfYnVpbGQgKCZzdG10cywgbG9jLCBCSVRfQU5EX0VYUFIsCi0rCQkJCQkgIGFyZzJfdHlwZSwgdGVtcF9hZGRyLAotKwkJCQkJICBidWlsZF9pbnRfY3N0IChhcmcyX3R5cGUsIC0xNikpOwotKwkgZ3NpX2luc2VydF9zZXFfYmVmb3JlIChnc2ksIHN0bXRzLCBHU0lfU0FNRV9TVE1UKTsKLSsJLyogVGhlIGRlc2lyZWQgZ2ltcGxlIHJlc3VsdCBzaG91bGQgYmUgc2ltaWxhciB0bzoKLSsJIE1FTVsoX192ZWN0b3IgZmxvYXRELjE0MDcgKilfMV0gPSB2ZjFELjI2OTc7ICAqLwotKwkgZ2ltcGxlICpnOwotKwkgZyA9IGdpbXBsZV9idWlsZF9hc3NpZ24gKGJ1aWxkMiAoTUVNX1JFRiwgYXJnMF90eXBlLCBhbGlnbmVkX2FkZHIsCi0rCQkJCQkgICBidWlsZF9pbnRfY3N0IChhcmcyX3R5cGUsIDApKSwgYXJnMCk7Ci0rCSBnaW1wbGVfc2V0X2xvY2F0aW9uIChnLCBsb2MpOwotKwkgZ3NpX3JlcGxhY2UgKGdzaSwgZywgdHJ1ZSk7Ci0rCSByZXR1cm4gdHJ1ZTsKLSsgICAgICB9Ci0gCi0gICAgIGRlZmF1bHQ6Ci0gICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDAxLUZpeC1wcGM2NGxlLWJ1aWxkLVBhcnRpYWwtYmFja3BvcnQtcjI1NjY1Ni5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMDEtRml4LXBwYzY0bGUtYnVpbGQtUGFydGlhbC1iYWNrcG9ydC1yMjU2NjU2LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZmI3MGUxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMDEtRml4LXBwYzY0bGUtYnVpbGQtUGFydGlhbC1iYWNrcG9ydC1yMjU2NjU2LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotRnJvbSBhYTY1YTQzNTE2ZGExZDQ4MDExZWY2MjFlZDU5ODgyODk3MTFkOTliIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogbWFyeGluIDxtYXJ4aW5AMTM4YmM3NWQtMGQwNC0wNDEwLTk2MWYtODJlZTcyYjA1NGE0PgotRGF0ZTogRnJpLCAyOSBKdW4gMjAxOCAwOTozMTozMCArMDAwMAotU3ViamVjdDogW1BBVENIXSBQYXJ0aWFsIGJhY2twb3J0IHIyNTY2NTYKLQotMjAxOC0wNi0yOSAgTWFydGluIExpc2thICA8bWxpc2thQHN1c2UuY3o+Ci0KLQlCYWNrcG9ydCBmcm9tIG1haW5saW5lCi0JMjAxOC0wMS0xMCAgS2VsdmluIE5pbHNlbiAgPGtlbHZpbkBnY2MuZ251Lm9yZz4KLQotCSogbGV4LmMgKHNlYXJjaF9saW5lX2Zhc3QpOiBSZW1vdmUgaWxsZWdhbCBjb2VyY2lvbiBvZiBhbgotCXVuYWxpZ25lZCBwb2ludGVyIHZhbHVlIHRvIHZlY3RvciBwb2ludGVyIHR5cGUgYW5kIHJlcGxhY2Ugd2l0aAotCXVzZSBvZiBfX2J1aWx0aW5fdmVjX3ZzeF9sZCAoKSBidWlsdC1pbiBmdW5jdGlvbiwgd2hpY2ggb3BlcmF0ZXMKLQlvbiB1bmFsaWduZWQgcG9pbnRlciB2YWx1ZXMuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVNpZ25lZC1vZmYtYnk6IEpvZWwgU3RhbmxleSA8am9lbEBqbXMuaWQuYXU+Ci0tLS0KLSBsaWJjcHAvbGV4LmMgIHwgIDIgKy0KLSAxIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvbGliY3BwL2xleC5jIGIvbGliY3BwL2xleC5jCi1pbmRleCAwOTdjNzgwMDJjYmIuLmUwZmI5ZTgyMmM0NCAxMDA2NDQKLS0tLSBhL2xpYmNwcC9sZXguYwotKysrIGIvbGliY3BwL2xleC5jCi1AQCAtNTY4LDcgKzU2OCw3IEBAIHNlYXJjaF9saW5lX2Zhc3QgKGNvbnN0IHVjaGFyICpzLCBjb25zdCB1Y2hhciAqZW5kIEFUVFJJQlVURV9VTlVTRUQpCi0gICAgIHsKLSAgICAgICB2YyBtX25sLCBtX2NyLCBtX2JzLCBtX3FtOwotIAotLSAgICAgIGRhdGEgPSAqKChjb25zdCB2YyAqKXMpOwotKyAgICAgIGRhdGEgPSBfX2J1aWx0aW5fdmVjX3ZzeF9sZCAoMCwgcyk7Ci0gICAgICAgcyArPSAxNjsKLSAKLSAgICAgICBtX25sID0gKHZjKSBfX2J1aWx0aW5fdmVjX2NtcGVxKGRhdGEsIHJlcGxfbmwpOwotLS0gCi0yLjE3LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAwMS1QUi1jLTgwMjkwLW1lbW9yeS1ob2ctd2l0aC1zdGQtcGFpci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMDEtUFItYy04MDI5MC1tZW1vcnktaG9nLXdpdGgtc3RkLXBhaXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYwM2EyOWEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAwMS1QUi1jLTgwMjkwLW1lbW9yeS1ob2ctd2l0aC1zdGQtcGFpci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU4ICswLDAgQEAKLUZyb20gOGMwMTRiY2VlY2E2YTU1ODUxOWU4NmIxNmE4MTQyYWNjYzQxZTk0ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IGphc29uIDxqYXNvbkAxMzhiYzc1ZC0wZDA0LTA0MTAtOTYxZi04MmVlNzJiMDU0YTQ+Ci1EYXRlOiBUaHUsIDI4IEp1biAyMDE4IDAwOjI1OjIxICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIAlQUiBjKysvODAyOTAgLSBtZW1vcnktaG9nIHdpdGggc3RkOjpwYWlyLgotCi0JKiBwdC5jICh0eXBlX3VuaWZpY2F0aW9uX3JlYWwpOiBTa2lwIG5vbi1kZXBlbmRlbnQgY29udmVyc2lvbgotCWNoZWNrIGZvciBhIG5lc3RlZCBsaXN0IGFyZ3VtZW50LgotCShicmFjZWRfaW5pdF9kZXB0aCk6IE5ldy4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogSm9lbCBTdGFubGV5IDxqb2VsQGptcy5pZC5hdT4KLS0tLQotIGdjYy9jcC9wdC5jICAgICAgfCAyMiArKysrKysrKysrKysrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2djYy9jcC9wdC5jIGIvZ2NjL2NwL3B0LmMKLWluZGV4IDc5Y2ZkMDEyOTIyNi4uNzEwNzdhM2IwNDk4IDEwMDY0NAotLS0tIGEvZ2NjL2NwL3B0LmMKLSsrKyBiL2djYy9jcC9wdC5jCi1AQCAtMTkyNDIsNiArMTkyNDIsMjQgQEAgdHJ5X2FycmF5X2RlZHVjdGlvbiAodHJlZSB0cGFybXMsIHRyZWUgdGFyZ3MsIHRyZWUgcGFybSkKLSAJCQkgIC8qbm9uZGVkdWNlZCovZmFsc2UsIGFycmF5X2RlZHVjdGlvbl9yKTsKLSB9Ci0gCi0rLyogUmV0dXJucyBob3cgbWFueSBsZXZlbHMgb2YgeyB9IElOSVQgY29udGFpbnMuICAqLwotKwotK3N0YXRpYyBpbnQKLSticmFjZWRfaW5pdF9kZXB0aCAodHJlZSBpbml0KQotK3sKLSsgIGlmICghaW5pdCB8fCAhQlJBQ0VfRU5DTE9TRURfSU5JVElBTElaRVJfUCAoaW5pdCkpCi0rICAgIHJldHVybiAwOwotKyAgdW5zaWduZWQgaTsgdHJlZSB2YWw7Ci0rICB1bnNpZ25lZCBtYXggPSAwOwotKyAgRk9SX0VBQ0hfQ09OU1RSVUNUT1JfVkFMVUUgKENPTlNUUlVDVE9SX0VMVFMgKGluaXQpLCBpLCB2YWwpCi0rICAgIHsKLSsgICAgICB1bnNpZ25lZCBlbHRfZCA9IGJyYWNlZF9pbml0X2RlcHRoICh2YWwpOwotKyAgICAgIGlmIChlbHRfZCA+IG1heCkKLSsJbWF4ID0gZWx0X2Q7Ci0rICAgIH0KLSsgIHJldHVybiBtYXggKyAxOwotK30KLSsKLSAvKiBNb3N0IHBhcm1zIGxpa2UgZm5fdHlwZV91bmlmaWNhdGlvbi4KLSAKLSAgICBJZiBTVUJSIGlzIDEsIHdlJ3JlIGJlaW5nIGNhbGxlZCByZWN1cnNpdmVseSAodG8gdW5pZnkgdGhlCi1AQCAtMTk0NzgsNiArMTk0OTYsMTAgQEAgdHlwZV91bmlmaWNhdGlvbl9yZWFsICh0cmVlIHRwYXJtcywKLSAKLSAJICAgIGlmICh1c2VzX3RlbXBsYXRlX3Bhcm1zIChwYXJtKSkKLSAJICAgICAgY29udGludWU7Ci0rCSAgICAvKiBXb3JrYXJvdW5kIGZvciBjKysvODAyOTA6IGF2b2lkIGNvbWJpbmF0b3JpYWwgZXhwbG9zaW9uIG9uCi0rCSAgICAgICBkZWVwbHkgbmVzdGVkIGJyYWNlZCBpbml0LWxpc3RzLiAgKi8KLSsJICAgIGlmIChicmFjZWRfaW5pdF9kZXB0aCAoYXJnKSA+IDIpCi0rCSAgICAgIGNvbnRpbnVlOwotIAkgICAgaWYgKGNoZWNrX25vbl9kZWR1Y2libGVfY29udmVyc2lvbiAocGFybSwgYXJnLCBzdHJpY3QsIGZsYWdzLAotIAkJCQkJCWV4cGxhaW5fcCkpCi0gCSAgICAgIHJldHVybiAxOwotLS0gCi0yLjE3LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAwMS1QUi1ydGwtb3B0aW1pemF0aW9uLTgzMDMwLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAwMS1QUi1ydGwtb3B0aW1pemF0aW9uLTgzMDMwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MWY3OTg4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMDEtUFItcnRsLW9wdGltaXphdGlvbi04MzAzMC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI3MiArMCwwIEBACi1Gcm9tIGY1YzRhOTQ0MGYxNWNjZjY3NzU2NTk5MTBhMjAxNGE1NDk0ZWU4NmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBlYm90Y2F6b3UgPGVib3RjYXpvdUAxMzhiYzc1ZC0wZDA0LTA0MTAtOTYxZi04MmVlNzJiMDU0YTQ+Ci1EYXRlOiBXZWQsIDIyIE5vdiAyMDE3IDIxOjQzOjIyICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIAlQUiBydGwtb3B0aW1pemF0aW9uLzgzMDMwIAkqIGRvYy9ydGwudGV4aSAoRmxhZ3MKLSBpbiBhbiBSVEwgRXhwcmVzc2lvbik6IEFscGhhYmV0aXplLCBhZGQgZW50cnkgCWZvciBDUk9TU0lOR19KVU1QX1AgYW5kCi0gbWVudGlvbiB1c2FnZSBvZiAnanVtcCcgZm9yIEpVTVBfSU5TTnMuIAkoSW5zbnMpOiBEZWxldGUgZW50cnkgZm9yCi0gUkVHX0NST1NTSU5HX0pVTVAgaW4gcmVnaXN0ZXIgbm90ZXMuIAkqIGJiLXJlb3JkZXIuYwotICh1cGRhdGVfY3Jvc3NpbmdfanVtcF9mbGFncyk6IERvIG5vdCB0ZXN0IHdoZXRoZXIgdGhlIAlDUk9TU0lOR19KVU1QX1AgZmxhZwotIGlzIGFscmVhZHkgc2V0IGJlZm9yZSBzZXR0aW5nIGl0LiAJKiBjZmdydGwuYyAoZml4dXBfcGFydGl0aW9uX2Nyb3NzaW5nKToKLSBMaWtld2lzZS4gCSogcmVvcmcuYyAocmVsYXhfZGVsYXlfc2xvdHMpOiBEbyBub3QgY29uc2lkZXIgYQotIENST1NTSU5HX0pVTVBfUCBpbnNuIAlhcyB1c2VsZXNzLgotCi1naXQtc3ZuLWlkOiBzdm4rc3NoOi8vZ2NjLmdudS5vcmcvc3ZuL2djYy90cnVua0AyNTUwODMgMTM4YmM3NWQtMGQwNC0wNDEwLTk2MWYtODJlZTcyYjA1NGE0Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotVGhpcyBwYXRjaCByZW1vdmVzIGNoYW5nZXMgdG8gQ2hhbmdlbG9nIGZyb20gdGhlIG9yaWdpbmFsIHVwc3RyZWFtIHBhdGNoLgotVGhpcyB3aWxsIGhlbHAgdXMgYXZvaWQgY29uZmxpY3RzLgotCi1PcmlnaW5hbCBiYWNrcG9ydCB0byBHQ0MgNy54IGJ5IEFtcnV0YSBQYXdhciA8QW1ydXRhLlBhd2FyQGtwaXQuY29tPgotCi1TaWduZWQtb2ZmLWJ5OiBNYXJrIEhhdGxlIDxtYXJrLmhhdGxlQHdpbmRyaXZlci5jb20+Ci0KLS0tLQotIGdjYy9iYi1yZW9yZGVyLmMgfCAgIDUgKy0tCi0gZ2NjL2NmZ3J0bC5jICAgICB8ICAgMyArLQotIGdjYy9kb2MvcnRsLnRleGkgfCAxMjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIGdjYy9yZW9yZy5jICAgICAgfCAgIDcgKy0tCi0gNSBmaWxlcyBjaGFuZ2VkLCA4NCBpbnNlcnRpb25zKCspLCA3MiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9iYi1yZW9yZGVyLmMgYi9nY2MvYmItcmVvcmRlci5jCi1pbmRleCA1NWU2ZGM2Li43OTQyODNjIDEwMDY0NAotLS0tIGEvZ2NjL2JiLXJlb3JkZXIuYwotKysrIGIvZ2NjL2JiLXJlb3JkZXIuYwotQEAgLTIyMzYsMTAgKzIyMzYsNyBAQCB1cGRhdGVfY3Jvc3NpbmdfanVtcF9mbGFncyAodm9pZCkKLSAgICAgRk9SX0VBQ0hfRURHRSAoZSwgZWksIGJiLT5zdWNjcykKLSAgICAgICBpZiAoZS0+ZmxhZ3MgJiBFREdFX0NST1NTSU5HKQotIAl7Ci0tCSAgaWYgKEpVTVBfUCAoQkJfRU5EIChiYikpCi0tCSAgICAgIC8qIFNvbWUgZmxhZ3Mgd2VyZSBhZGRlZCBkdXJpbmcgZml4X3VwX2ZhbGxfdGhydV9lZGdlcywgdmlhCi0tCQkgZm9yY2Vfbm9uZmFsbHRocnVfYW5kX3JlZGlyZWN0LiAgKi8KLS0JICAgICAgJiYgIUNST1NTSU5HX0pVTVBfUCAoQkJfRU5EIChiYikpKQotKwkgIGlmIChKVU1QX1AgKEJCX0VORCAoYmIpKSkKLSAJICAgIENST1NTSU5HX0pVTVBfUCAoQkJfRU5EIChiYikpID0gMTsKLSAJICBicmVhazsKLSAJfQotZGlmZiAtLWdpdCBhL2djYy9jZmdydGwuYyBiL2djYy9jZmdydGwuYwotaW5kZXggZDZlNWFjMC4uYTJhZDA3NSAxMDA2NDQKLS0tLSBhL2djYy9jZmdydGwuYwotKysrIGIvZ2NjL2NmZ3J0bC5jCi1AQCAtMTMzNCw4ICsxMzM0LDcgQEAgZml4dXBfcGFydGl0aW9uX2Nyb3NzaW5nIChlZGdlIGUpCi0gICBpZiAoQkJfUEFSVElUSU9OIChlLT5zcmMpICE9IEJCX1BBUlRJVElPTiAoZS0+ZGVzdCkpCi0gICAgIHsKLSAgICAgICBlLT5mbGFncyB8PSBFREdFX0NST1NTSU5HOwotLSAgICAgIGlmIChKVU1QX1AgKEJCX0VORCAoZS0+c3JjKSkKLS0JICAmJiAhQ1JPU1NJTkdfSlVNUF9QIChCQl9FTkQgKGUtPnNyYykpKQotKyAgICAgIGlmIChKVU1QX1AgKEJCX0VORCAoZS0+c3JjKSkpCi0gCUNST1NTSU5HX0pVTVBfUCAoQkJfRU5EIChlLT5zcmMpKSA9IDE7Ci0gICAgIH0KLSAgIGVsc2UgaWYgKEJCX1BBUlRJVElPTiAoZS0+c3JjKSA9PSBCQl9QQVJUSVRJT04gKGUtPmRlc3QpKQotZGlmZiAtLWdpdCBhL2djYy9kb2MvcnRsLnRleGkgYi9nY2MvZG9jL3J0bC50ZXhpCi1pbmRleCAyMTUyNGY1Li5hNThlZWRjIDEwMDY0NAotLS0tIGEvZ2NjL2RvYy9ydGwudGV4aQotKysrIGIvZ2NjL2RvYy9ydGwudGV4aQotQEAgLTU2NSw2ICs1NjUsMTYgQEAgdGhhdCBhcmUgdXNlZCBpbiBjZXJ0YWluIHR5cGVzIG9mIGV4cHJlc3Npb24uICBNb3N0IG9mdGVuIHRoZXkKLSBhcmUgYWNjZXNzZWQgd2l0aCB0aGUgZm9sbG93aW5nIG1hY3Jvcywgd2hpY2ggZXhwYW5kIGludG8gbHZhbHVlcy4KLSAKLSBAdGFibGUgQGNvZGUKLStAZmluZGV4IENST1NTSU5HX0pVTVBfUAotK0BjaW5kZXggQGNvZGV7anVtcF9pbnNufSBhbmQgQHNhbXB7L2p9Ci0rQGl0ZW0gQ1JPU1NJTkdfSlVNUF9QIChAdmFye3h9KQotK05vbnplcm8gaW4gYSBAY29kZXtqdW1wX2luc259IGlmIGl0IGNyb3NzZXMgYmV0d2VlbiBob3QgYW5kIGNvbGQgc2VjdGlvbnMsCi0rd2hpY2ggY291bGQgcG90ZW50aWFsbHkgYmUgdmVyeSBmYXIgYXBhcnQgaW4gdGhlIGV4ZWN1dGFibGUuICBUaGUgcHJlc2VuY2UKLStvZiB0aGlzIGZsYWcgaW5kaWNhdGVzIHRvIG90aGVyIG9wdGltaXphdGlvbnMgdGhhdCB0aGlzIGJyYW5jaGluZyBpbnN0cnVjdGlvbgotK3Nob3VsZCBub3QgYmUgYGBjb2xsYXBzZWQnJyBpbnRvIGEgc2ltcGxlciBicmFuY2hpbmcgY29uc3RydWN0LiAgSXQgaXMgdXNlZAotK3doZW4gdGhlIG9wdGltaXphdGlvbiB0byBwYXJ0aXRpb24gYmFzaWMgYmxvY2tzIGludG8gaG90IGFuZCBjb2xkIHNlY3Rpb25zCi0raXMgdHVybmVkIG9uLgotKwotIEBmaW5kZXggQ09OU1RBTlRfUE9PTF9BRERSRVNTX1AKLSBAY2luZGV4IEBjb2Rle3N5bWJvbF9yZWZ9IGFuZCBAc2FtcHsvdX0KLSBAY2luZGV4IEBjb2Rle3VuY2hhbmdpbmd9LCBpbiBAY29kZXtzeW1ib2xfcmVmfQotQEAgLTU3NywzNyArNTg3LDYgQEAgSW4gZWl0aGVyIGNhc2UgR0NDIGFzc3VtZXMgdGhlc2UgYWRkcmVzc2VzIGNhbiBiZSBhZGRyZXNzZWQgZGlyZWN0bHksCi0gcGVyaGFwcyB3aXRoIHRoZSBoZWxwIG9mIGJhc2UgcmVnaXN0ZXJzLgotIFN0b3JlZCBpbiB0aGUgQGNvZGV7dW5jaGFuZ2luZ30gZmllbGQgYW5kIHByaW50ZWQgYXMgQHNhbXB7L3V9LgotIAotLUBmaW5kZXggUlRMX0NPTlNUX0NBTExfUAotLUBjaW5kZXggQGNvZGV7Y2FsbF9pbnNufSBhbmQgQHNhbXB7L3V9Ci0tQGNpbmRleCBAY29kZXt1bmNoYW5naW5nfSwgaW4gQGNvZGV7Y2FsbF9pbnNufQotLUBpdGVtIFJUTF9DT05TVF9DQUxMX1AgKEB2YXJ7eH0pCi0tSW4gYSBAY29kZXtjYWxsX2luc259IGluZGljYXRlcyB0aGF0IHRoZSBpbnNuIHJlcHJlc2VudHMgYSBjYWxsIHRvIGEKLS1jb25zdCBmdW5jdGlvbi4gIFN0b3JlZCBpbiB0aGUgQGNvZGV7dW5jaGFuZ2luZ30gZmllbGQgYW5kIHByaW50ZWQgYXMKLS1Ac2FtcHsvdX0uCi0tCi0tQGZpbmRleCBSVExfUFVSRV9DQUxMX1AKLS1AY2luZGV4IEBjb2Rle2NhbGxfaW5zbn0gYW5kIEBzYW1wey9pfQotLUBjaW5kZXggQGNvZGV7cmV0dXJuX3ZhbH0sIGluIEBjb2Rle2NhbGxfaW5zbn0KLS1AaXRlbSBSVExfUFVSRV9DQUxMX1AgKEB2YXJ7eH0pCi0tSW4gYSBAY29kZXtjYWxsX2luc259IGluZGljYXRlcyB0aGF0IHRoZSBpbnNuIHJlcHJlc2VudHMgYSBjYWxsIHRvIGEKLS1wdXJlIGZ1bmN0aW9uLiAgU3RvcmVkIGluIHRoZSBAY29kZXtyZXR1cm5fdmFsfSBmaWVsZCBhbmQgcHJpbnRlZCBhcwotLUBzYW1wey9pfS4KLS0KLS1AZmluZGV4IFJUTF9DT05TVF9PUl9QVVJFX0NBTExfUAotLUBjaW5kZXggQGNvZGV7Y2FsbF9pbnNufSBhbmQgQHNhbXB7L3V9IG9yIEBzYW1wey9pfQotLUBpdGVtIFJUTF9DT05TVF9PUl9QVVJFX0NBTExfUCAoQHZhcnt4fSkKLS1JbiBhIEBjb2Rle2NhbGxfaW5zbn0sIHRydWUgaWYgQGNvZGV7UlRMX0NPTlNUX0NBTExfUH0gb3IKLS1AY29kZXtSVExfUFVSRV9DQUxMX1B9IGlzIHRydWUuCi0tCi0tQGZpbmRleCBSVExfTE9PUElOR19DT05TVF9PUl9QVVJFX0NBTExfUAotLUBjaW5kZXggQGNvZGV7Y2FsbF9pbnNufSBhbmQgQHNhbXB7L2N9Ci0tQGNpbmRleCBAY29kZXtjYWxsfSwgaW4gQGNvZGV7Y2FsbF9pbnNufQotLUBpdGVtIFJUTF9MT09QSU5HX0NPTlNUX09SX1BVUkVfQ0FMTF9QIChAdmFye3h9KQotLUluIGEgQGNvZGV7Y2FsbF9pbnNufSBpbmRpY2F0ZXMgdGhhdCB0aGUgaW5zbiByZXByZXNlbnRzIGEgcG9zc2libHkKLS1pbmZpbml0ZSBsb29waW5nIGNhbGwgdG8gYSBjb25zdCBvciBwdXJlIGZ1bmN0aW9uLiAgU3RvcmVkIGluIHRoZQotLUBjb2Rle2NhbGx9IGZpZWxkIGFuZCBwcmludGVkIGFzIEBzYW1wey9jfS4gIE9ubHkgdHJ1ZSBpZiBvbmUgb2YKLS1AY29kZXtSVExfQ09OU1RfQ0FMTF9QfSBvciBAY29kZXtSVExfUFVSRV9DQUxMX1B9IGlzIHRydWUuCi0tCi0gQGZpbmRleCBJTlNOX0FOTlVMTEVEX0JSQU5DSF9QCi0gQGNpbmRleCBAY29kZXtqdW1wX2luc259IGFuZCBAc2FtcHsvdX0KLSBAY2luZGV4IEBjb2Rle2NhbGxfaW5zbn0gYW5kIEBzYW1wey91fQotQEAgLTcwMiw2ICs2ODEsMjkgQEAgU3RvcmVkIGluIHRoZSBAY29kZXtjYWxsfSBmaWVsZCBhbmQgcHJpbnRlZCBhcyBAc2FtcHsvY30uCi0gTm9uemVybyBpbiBhIEBjb2Rle21lbX0gaWYgdGhlIG1lbW9yeSByZWZlcmVuY2UgaG9sZHMgYSBwb2ludGVyLgotIFN0b3JlZCBpbiB0aGUgQGNvZGV7ZnJhbWVfcmVsYXRlZH0gZmllbGQgYW5kIHByaW50ZWQgYXMgQHNhbXB7L2Z9LgotIAotK0BmaW5kZXggTUVNX1JFQURPTkxZX1AKLStAY2luZGV4IEBjb2Rle21lbX0gYW5kIEBzYW1wey91fQotK0BjaW5kZXggQGNvZGV7dW5jaGFuZ2luZ30sIGluIEBjb2Rle21lbX0KLStAaXRlbSBNRU1fUkVBRE9OTFlfUCAoQHZhcnt4fSkKLStOb256ZXJvIGluIGEgQGNvZGV7bWVtfSwgaWYgdGhlIG1lbW9yeSBpcyBzdGF0aWNhbGx5IGFsbG9jYXRlZCBhbmQgcmVhZC1vbmx5LgotKwotK1JlYWQtb25seSBpbiB0aGlzIGNvbnRleHQgbWVhbnMgbmV2ZXIgbW9kaWZpZWQgZHVyaW5nIHRoZSBsaWZldGltZSBvZiB0aGUKLStwcm9ncmFtLCBub3QgbmVjZXNzYXJpbHkgaW4gUk9NIG9yIGluIHdyaXRlLWRpc2FibGVkIHBhZ2VzLiAgQSBjb21tb24KLStleGFtcGxlIG9mIHRoZSBsYXRlciBpcyBhIHNoYXJlZCBsaWJyYXJ5J3MgZ2xvYmFsIG9mZnNldCB0YWJsZS4gIFRoaXMKLSt0YWJsZSBpcyBpbml0aWFsaXplZCBieSB0aGUgcnVudGltZSBsb2FkZXIsIHNvIHRoZSBtZW1vcnkgaXMgdGVjaG5pY2FsbHkKLSt3cml0YWJsZSwgYnV0IGFmdGVyIGNvbnRyb2wgaXMgdHJhbnNmZXJyZWQgZnJvbSB0aGUgcnVudGltZSBsb2FkZXIgdG8gdGhlCi0rYXBwbGljYXRpb24sIHRoaXMgbWVtb3J5IHdpbGwgbmV2ZXIgYmUgc3Vic2VxdWVudGx5IG1vZGlmaWVkLgotKwotK1N0b3JlZCBpbiB0aGUgQGNvZGV7dW5jaGFuZ2luZ30gZmllbGQgYW5kIHByaW50ZWQgYXMgQHNhbXB7L3V9LgotKwotK0BmaW5kZXggUFJFRkVUQ0hfU0NIRURVTEVfQkFSUklFUl9QCi0rQGNpbmRleCBAY29kZXtwcmVmZXRjaH0gYW5kIEBzYW1wey92fQotK0BjaW5kZXggQGNvZGV7dm9sYXRpbGV9LCBpbiBAY29kZXtwcmVmZXRjaH0KLStAaXRlbSBQUkVGRVRDSF9TQ0hFRFVMRV9CQVJSSUVSX1AgKEB2YXJ7eH0pCi0rSW4gYSBAY29kZXtwcmVmZXRjaH0sIGluZGljYXRlcyB0aGF0IHRoZSBwcmVmZXRjaCBpcyBhIHNjaGVkdWxpbmcgYmFycmllci4KLStObyBvdGhlciBJTlNOcyB3aWxsIGJlIG1vdmVkIG92ZXIgaXQuCi0rU3RvcmVkIGluIHRoZSBAY29kZXt2b2xhdGlsfSBmaWVsZCBhbmQgcHJpbnRlZCBhcyBAc2FtcHsvdn0uCi0rCi0gQGZpbmRleCBSRUdfRlVOQ1RJT05fVkFMVUVfUAotIEBjaW5kZXggQGNvZGV7cmVnfSBhbmQgQHNhbXB7L2l9Ci0gQGNpbmRleCBAY29kZXtyZXR1cm5fdmFsfSwgaW4gQGNvZGV7cmVnfQotQEAgLTczMSw2ICs3MzMsMzcgQEAgVGhlIHNhbWUgaGFyZCByZWdpc3RlciBtYXkgYmUgdXNlZCBhbHNvIGZvciBjb2xsZWN0aW5nIHRoZSB2YWx1ZXMgb2YKLSBmdW5jdGlvbnMgY2FsbGVkIGJ5IHRoaXMgb25lLCBidXQgQGNvZGV7UkVHX0ZVTkNUSU9OX1ZBTFVFX1B9IGlzIHplcm8KLSBpbiB0aGlzIGtpbmQgb2YgdXNlLgotIAotK0BmaW5kZXggUlRMX0NPTlNUX0NBTExfUAotK0BjaW5kZXggQGNvZGV7Y2FsbF9pbnNufSBhbmQgQHNhbXB7L3V9Ci0rQGNpbmRleCBAY29kZXt1bmNoYW5naW5nfSwgaW4gQGNvZGV7Y2FsbF9pbnNufQotK0BpdGVtIFJUTF9DT05TVF9DQUxMX1AgKEB2YXJ7eH0pCi0rSW4gYSBAY29kZXtjYWxsX2luc259IGluZGljYXRlcyB0aGF0IHRoZSBpbnNuIHJlcHJlc2VudHMgYSBjYWxsIHRvIGEKLStjb25zdCBmdW5jdGlvbi4gIFN0b3JlZCBpbiB0aGUgQGNvZGV7dW5jaGFuZ2luZ30gZmllbGQgYW5kIHByaW50ZWQgYXMKLStAc2FtcHsvdX0uCi0rCi0rQGZpbmRleCBSVExfUFVSRV9DQUxMX1AKLStAY2luZGV4IEBjb2Rle2NhbGxfaW5zbn0gYW5kIEBzYW1wey9pfQotK0BjaW5kZXggQGNvZGV7cmV0dXJuX3ZhbH0sIGluIEBjb2Rle2NhbGxfaW5zbn0KLStAaXRlbSBSVExfUFVSRV9DQUxMX1AgKEB2YXJ7eH0pCi0rSW4gYSBAY29kZXtjYWxsX2luc259IGluZGljYXRlcyB0aGF0IHRoZSBpbnNuIHJlcHJlc2VudHMgYSBjYWxsIHRvIGEKLStwdXJlIGZ1bmN0aW9uLiAgU3RvcmVkIGluIHRoZSBAY29kZXtyZXR1cm5fdmFsfSBmaWVsZCBhbmQgcHJpbnRlZCBhcwotK0BzYW1wey9pfS4KLSsKLStAZmluZGV4IFJUTF9DT05TVF9PUl9QVVJFX0NBTExfUAotK0BjaW5kZXggQGNvZGV7Y2FsbF9pbnNufSBhbmQgQHNhbXB7L3V9IG9yIEBzYW1wey9pfQotK0BpdGVtIFJUTF9DT05TVF9PUl9QVVJFX0NBTExfUCAoQHZhcnt4fSkKLStJbiBhIEBjb2Rle2NhbGxfaW5zbn0sIHRydWUgaWYgQGNvZGV7UlRMX0NPTlNUX0NBTExfUH0gb3IKLStAY29kZXtSVExfUFVSRV9DQUxMX1B9IGlzIHRydWUuCi0rCi0rQGZpbmRleCBSVExfTE9PUElOR19DT05TVF9PUl9QVVJFX0NBTExfUAotK0BjaW5kZXggQGNvZGV7Y2FsbF9pbnNufSBhbmQgQHNhbXB7L2N9Ci0rQGNpbmRleCBAY29kZXtjYWxsfSwgaW4gQGNvZGV7Y2FsbF9pbnNufQotK0BpdGVtIFJUTF9MT09QSU5HX0NPTlNUX09SX1BVUkVfQ0FMTF9QIChAdmFye3h9KQotK0luIGEgQGNvZGV7Y2FsbF9pbnNufSBpbmRpY2F0ZXMgdGhhdCB0aGUgaW5zbiByZXByZXNlbnRzIGEgcG9zc2libHkKLStpbmZpbml0ZSBsb29waW5nIGNhbGwgdG8gYSBjb25zdCBvciBwdXJlIGZ1bmN0aW9uLiAgU3RvcmVkIGluIHRoZQotK0Bjb2Rle2NhbGx9IGZpZWxkIGFuZCBwcmludGVkIGFzIEBzYW1wey9jfS4gIE9ubHkgdHJ1ZSBpZiBvbmUgb2YKLStAY29kZXtSVExfQ09OU1RfQ0FMTF9QfSBvciBAY29kZXtSVExfUFVSRV9DQUxMX1B9IGlzIHRydWUuCi0rCi0gQGZpbmRleCBSVFhfRlJBTUVfUkVMQVRFRF9QCi0gQGNpbmRleCBAY29kZXtpbnNufSBhbmQgQHNhbXB7L2Z9Ci0gQGNpbmRleCBAY29kZXtjYWxsX2luc259IGFuZCBAc2FtcHsvZn0KLUBAIC03NjUsMjEgKzc5OCw2IEBAIGNvbXB1dGF0aW9uIHBlcmZvcm1lZCBieSB0aGlzIGluc3RydWN0aW9uLCBpLmUuLCBvbmUgdGhhdAotIFRoaXMgZmxhZyBpcyByZXF1aXJlZCBmb3IgZXhjZXB0aW9uIGhhbmRsaW5nIHN1cHBvcnQgb24gdGFyZ2V0cyB3aXRoIFJUTAotIHByb2xvZ3Vlcy4KLSAKLS1AZmluZGV4IE1FTV9SRUFET05MWV9QCi0tQGNpbmRleCBAY29kZXttZW19IGFuZCBAc2FtcHsvdX0KLS1AY2luZGV4IEBjb2Rle3VuY2hhbmdpbmd9LCBpbiBAY29kZXttZW19Ci0tQGl0ZW0gTUVNX1JFQURPTkxZX1AgKEB2YXJ7eH0pCi0tTm9uemVybyBpbiBhIEBjb2Rle21lbX0sIGlmIHRoZSBtZW1vcnkgaXMgc3RhdGljYWxseSBhbGxvY2F0ZWQgYW5kIHJlYWQtb25seS4KLS0KLS1SZWFkLW9ubHkgaW4gdGhpcyBjb250ZXh0IG1lYW5zIG5ldmVyIG1vZGlmaWVkIGR1cmluZyB0aGUgbGlmZXRpbWUgb2YgdGhlCi0tcHJvZ3JhbSwgbm90IG5lY2Vzc2FyaWx5IGluIFJPTSBvciBpbiB3cml0ZS1kaXNhYmxlZCBwYWdlcy4gIEEgY29tbW9uCi0tZXhhbXBsZSBvZiB0aGUgbGF0ZXIgaXMgYSBzaGFyZWQgbGlicmFyeSdzIGdsb2JhbCBvZmZzZXQgdGFibGUuICBUaGlzCi0tdGFibGUgaXMgaW5pdGlhbGl6ZWQgYnkgdGhlIHJ1bnRpbWUgbG9hZGVyLCBzbyB0aGUgbWVtb3J5IGlzIHRlY2huaWNhbGx5Ci0td3JpdGFibGUsIGJ1dCBhZnRlciBjb250cm9sIGlzIHRyYW5zZmVycmVkIGZyb20gdGhlIHJ1bnRpbWUgbG9hZGVyIHRvIHRoZQotLWFwcGxpY2F0aW9uLCB0aGlzIG1lbW9yeSB3aWxsIG5ldmVyIGJlIHN1YnNlcXVlbnRseSBtb2RpZmllZC4KLS0KLS1TdG9yZWQgaW4gdGhlIEBjb2Rle3VuY2hhbmdpbmd9IGZpZWxkIGFuZCBwcmludGVkIGFzIEBzYW1wey91fS4KLS0KLSBAZmluZGV4IFNDSEVEX0dST1VQX1AKLSBAY2luZGV4IEBjb2Rle2luc259IGFuZCBAc2FtcHsvc30KLSBAY2luZGV4IEBjb2Rle2NhbGxfaW5zbn0gYW5kIEBzYW1wey9zfQotQEAgLTg3OSwxNCArODk3LDYgQEAgU3RvcmVkIGluIHRoZSBAY29kZXt2b2xhdGlsfSBmaWVsZCBhbmQgcHJpbnRlZCBhcyBAc2FtcHsvdn0uCi0gTW9zdCB1c2VzIG9mIEBjb2Rle1NZTUJPTF9SRUZfRkxBR30gYXJlIGhpc3RvcmljIGFuZCBtYXkgYmUgc3Vic3VtZWQKLSBieSBAY29kZXtTWU1CT0xfUkVGX0ZMQUdTfS4gIENlcnRhaW5seSB1c2Ugb2YgQGNvZGV7U1lNQk9MX1JFRl9GTEFHU30KLSBpcyBtYW5kYXRvcnkgaWYgdGhlIHRhcmdldCByZXF1aXJlcyBtb3JlIHRoYW4gb25lIGJpdCBvZiBzdG9yYWdlLgotLQotLUBmaW5kZXggUFJFRkVUQ0hfU0NIRURVTEVfQkFSUklFUl9QCi0tQGNpbmRleCBAY29kZXtwcmVmZXRjaH0gYW5kIEBzYW1wey92fQotLUBjaW5kZXggQGNvZGV7dm9sYXRpbGV9LCBpbiBAY29kZXtwcmVmZXRjaH0KLS1AaXRlbSBQUkVGRVRDSF9TQ0hFRFVMRV9CQVJSSUVSX1AgKEB2YXJ7eH0pCi0tSW4gYSBAY29kZXtwcmVmZXRjaH0sIGluZGljYXRlcyB0aGF0IHRoZSBwcmVmZXRjaCBpcyBhIHNjaGVkdWxpbmcgYmFycmllci4KLS1ObyBvdGhlciBJTlNOcyB3aWxsIGJlIG1vdmVkIG92ZXIgaXQuCi0tU3RvcmVkIGluIHRoZSBAY29kZXt2b2xhdGlsfSBmaWVsZCBhbmQgcHJpbnRlZCBhcyBAc2FtcHsvdn0uCi0gQGVuZCB0YWJsZQotIAotIFRoZXNlIGFyZSB0aGUgZmllbGRzIHRvIHdoaWNoIHRoZSBhYm92ZSBtYWNyb3MgcmVmZXI6Ci1AQCAtOTc0LDYgKzk4NSw4IEBAIEluIGEgQGNvZGV7c2V0fSwgMSBtZWFucyBpdCBpcyBmb3IgYSByZXR1cm4uCi0gCi0gSW4gYSBAY29kZXtjYWxsX2luc259LCAxIG1lYW5zIGl0IGlzIGEgc2libGluZyBjYWxsLgotIAotK0luIGEgQGNvZGV7anVtcF9pbnNufSwgMSBtZWFucyBpdCBpcyBhIGNyb3NzaW5nIGp1bXAuCi0rCi0gSW4gYW4gUlRMIGR1bXAsIHRoaXMgZmxhZyBpcyByZXByZXNlbnRlZCBhcyBAc2FtcHsvan0uCi0gCi0gQGZpbmRleCB1bmNoYW5naW5nCi1AQCAtMzg4NywxNiArMzkwMCw2IEBAIG11bHRpcGxlIHRhcmdldHM7IHRoZSBsYXN0IGxhYmVsIGluIHRoZSBpbnNuIChpbiB0aGUgaGlnaGVzdCBudW1iZXJlZAotIGluc24tZmllbGQpIGdvZXMgaW50byB0aGUgQGNvZGV7SlVNUF9MQUJFTH0gZmllbGQgYW5kIGRvZXMgbm90IGhhdmUgYQotIEBjb2Rle1JFR19MQUJFTF9UQVJHRVR9IG5vdGUuICBAeHJlZntJbnNucywgSlVNUF9MQUJFTH0uCi0gCi0tQGZpbmRleCBSRUdfQ1JPU1NJTkdfSlVNUAotLUBpdGVtIFJFR19DUk9TU0lOR19KVU1QCi0tVGhpcyBpbnNuIGlzIGEgYnJhbmNoaW5nIGluc3RydWN0aW9uIChlaXRoZXIgYW4gdW5jb25kaXRpb25hbCBqdW1wIG9yCi0tYW4gaW5kaXJlY3QganVtcCkgd2hpY2ggY3Jvc3NlcyBiZXR3ZWVuIGhvdCBhbmQgY29sZCBzZWN0aW9ucywgd2hpY2gKLS1jb3VsZCBwb3RlbnRpYWxseSBiZSB2ZXJ5IGZhciBhcGFydCBpbiB0aGUgZXhlY3V0YWJsZS4gIFRoZSBwcmVzZW5jZQotLW9mIHRoaXMgbm90ZSBpbmRpY2F0ZXMgdG8gb3RoZXIgb3B0aW1pemF0aW9ucyB0aGF0IHRoaXMgYnJhbmNoaW5nCi0taW5zdHJ1Y3Rpb24gc2hvdWxkIG5vdCBiZSBgYGNvbGxhcHNlZCcnIGludG8gYSBzaW1wbGVyIGJyYW5jaGluZwotLWNvbnN0cnVjdC4gIEl0IGlzIHVzZWQgd2hlbiB0aGUgb3B0aW1pemF0aW9uIHRvIHBhcnRpdGlvbiBiYXNpYyBibG9ja3MKLS1pbnRvIGhvdCBhbmQgY29sZCBzZWN0aW9ucyBpcyB0dXJuZWQgb24uCi0tCi0gQGZpbmRleCBSRUdfU0VUSk1QCi0gQGl0ZW0gUkVHX1NFVEpNUAotIEFwcGVhcnMgYXR0YWNoZWQgdG8gZWFjaCBAY29kZXtDQUxMX0lOU059IHRvIEBjb2Rle3NldGptcH0gb3IgYQotZGlmZiAtLWdpdCBhL2djYy9yZW9yZy5jIGIvZ2NjL3Jlb3JnLmMKLWluZGV4IDU5MTRhZjYuLjc3ZjNmZTcgMTAwNjQ0Ci0tLS0gYS9nY2MvcmVvcmcuYwotKysrIGIvZ2NjL3Jlb3JnLmMKLUBAIC0zMzYwLDEwICszMzYwLDExIEBAIHJlbGF4X2RlbGF5X3Nsb3RzIChydHhfaW5zbiAqZmlyc3QpCi0gCX0KLSAKLSAgICAgICAvKiBTZWUgaWYgd2UgaGF2ZSBhIHNpbXBsZSAoY29uZGl0aW9uYWwpIGp1bXAgdGhhdCBpcyB1c2VsZXNzLiAgKi8KLS0gICAgICBpZiAoISBJTlNOX0FOTlVMTEVEX0JSQU5DSF9QIChkZWxheV9qdW1wX2luc24pCi0tCSAgJiYgISBjb25kanVtcF9pbl9wYXJhbGxlbF9wIChkZWxheV9qdW1wX2luc24pCi0rICAgICAgaWYgKCFDUk9TU0lOR19KVU1QX1AgKGRlbGF5X2p1bXBfaW5zbikKLSsJICAmJiAhSU5TTl9BTk5VTExFRF9CUkFOQ0hfUCAoZGVsYXlfanVtcF9pbnNuKQotKwkgICYmICFjb25kanVtcF9pbl9wYXJhbGxlbF9wIChkZWxheV9qdW1wX2luc24pCi0gCSAgJiYgcHJldl9hY3RpdmVfaW5zbiAoYXNfYTxydHhfaW5zbiAqPiAodGFyZ2V0X2xhYmVsKSkgPT0gaW5zbgotLQkgICYmICEgQkFSUklFUl9QIChwcmV2X25vbm5vdGVfaW5zbiAoYXNfYTxydHhfaW5zbiAqPiAodGFyZ2V0X2xhYmVsKSkpCi0rCSAgJiYgIUJBUlJJRVJfUCAocHJldl9ub25ub3RlX2luc24gKGFzX2E8cnR4X2luc24gKj4gKHRhcmdldF9sYWJlbCkpKQotIAkgIC8qIElmIHRoZSBsYXN0IGluc24gaW4gdGhlIGRlbGF5IHNsb3Qgc2V0cyBDQzAgZm9yIHNvbWUgaW5zbiwKLSAJICAgICB2YXJpb3VzIGNvZGUgYXNzdW1lcyB0aGF0IGl0IGlzIGluIGEgZGVsYXkgc2xvdC4gIFdlIGNvdWxkCi0gCSAgICAgcHV0IGl0IGJhY2sgd2hlcmUgaXQgYmVsb25nZWQgYW5kIGRlbGV0ZSB0aGUgcmVnaXN0ZXIgbm90ZXMsCi0tLSAKLTEuOC41LjYKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAwMS1nY2MtNC4zLjEtQVJDSF9GTEFHU19GT1JfVEFSR0VULnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAwMS1nY2MtNC4zLjEtQVJDSF9GTEFHU19GT1JfVEFSR0VULnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYWYxYzc0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMDEtZ2NjLTQuMy4xLUFSQ0hfRkxBR1NfRk9SX1RBUkdFVC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLUZyb20gMmZjZjFlMjNlZjRiMmE1YzkzNTI2ZjEyMjEyYWE4OTI1OTUyNjFmNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA4OjM3OjExICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMDEvNDddIGdjYy00LjMuMTogQVJDSF9GTEFHU19GT1JfVEFSR0VUCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0tLS0KLSBjb25maWd1cmUgICAgfCAyICstCi0gY29uZmlndXJlLmFjIHwgMiArLQotIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY29uZmlndXJlIGIvY29uZmlndXJlCi1pbmRleCAzMmEzODYzM2FkOC4uYjQ3NjA5NTIwODUgMTAwNzU1Ci0tLS0gYS9jb25maWd1cmUKLSsrKyBiL2NvbmZpZ3VyZQotQEAgLTc0NzIsNyArNzQ3Miw3IEBAIGZpCi0gIyBmb3IgdGFyZ2V0X2FsaWFzIGFuZCBnY2MgZG9lc24ndCBtYW5hZ2UgaXQgY29uc2lzdGVudGx5LgotIHRhcmdldF9jb25maWdhcmdzPSItLWNhY2hlLWZpbGU9Li9jb25maWcuY2FjaGUgJHt0YXJnZXRfY29uZmlnYXJnc30iCi0gCi0tRkxBR1NfRk9SX1RBUkdFVD0KLStGTEFHU19GT1JfVEFSR0VUPSIkQVJDSF9GTEFHU19GT1JfVEFSR0VUIgotIGNhc2UgIiAkdGFyZ2V0X2NvbmZpZ2RpcnMgIiBpbgotICAqIiBuZXdsaWIgIiopCi0gICBjYXNlICIgJHRhcmdldF9jb25maWdhcmdzICIgaW4KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDEyMzc3NDk5Mjk1Li4xNzZlYmI5MjFlZCAxMDA2NDQKLS0tLSBhL2NvbmZpZ3VyZS5hYwotKysrIGIvY29uZmlndXJlLmFjCi1AQCAtMzA2NSw3ICszMDY1LDcgQEAgZmkKLSAjIGZvciB0YXJnZXRfYWxpYXMgYW5kIGdjYyBkb2Vzbid0IG1hbmFnZSBpdCBjb25zaXN0ZW50bHkuCi0gdGFyZ2V0X2NvbmZpZ2FyZ3M9Ii0tY2FjaGUtZmlsZT0uL2NvbmZpZy5jYWNoZSAke3RhcmdldF9jb25maWdhcmdzfSIKLSAKLS1GTEFHU19GT1JfVEFSR0VUPQotK0ZMQUdTX0ZPUl9UQVJHRVQ9IiRBUkNIX0ZMQUdTX0ZPUl9UQVJHRVQiCi0gY2FzZSAiICR0YXJnZXRfY29uZmlnZGlycyAiIGluCi0gICoiIG5ld2xpYiAiKikKLSAgIGNhc2UgIiAkdGFyZ2V0X2NvbmZpZ2FyZ3MgIiBpbgotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAwOS1nY2MtcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMDktZ2NjLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZlMTNlZDYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAwOS1nY2MtcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE5MiArMCwwIEBACi1Gcm9tIDQ3OTFhMGEwZjQ1OTVkMGExODk3NGY0ZTg1YTc1OWEwNzg5OTQzZGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwODo1OTowMCArMDQwMAotU3ViamVjdDogW1BBVENIIDA5LzQ3XSBnY2M6IHBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtkaXN0cmlidXRpb246IGNvZGVzb3VyY2VyeV0KLS0tLQotIGdjYy9jb21tb24ub3B0ICAgICAgfCAgNCArKysrCi0gZ2NjL2NvbmZpZy5pbiAgICAgICB8ICA2ICsrKysrKwotIGdjYy9jb25maWd1cmUgICAgICAgfCAxNiArKysrKysrKysrKysrKysrCi0gZ2NjL2NvbmZpZ3VyZS5hYyAgICB8IDEwICsrKysrKysrKysKLSBnY2MvZG9jL2ludm9rZS50ZXhpIHwgIDkgKysrKysrKysrCi0gZ2NjL2djYy5jICAgICAgICAgICB8ICAyICsrCi0gZ2NjL2luY3BhdGguYyAgICAgICB8IDE5ICsrKysrKysrKysrKysrKysrKysKLSA3IGZpbGVzIGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2djYy9jb21tb24ub3B0IGIvZ2NjL2NvbW1vbi5vcHQKLWluZGV4IGE1YzNhZWFhMzM2Li5mMDJmZTY2MzY3ZSAxMDA2NDQKLS0tLSBhL2djYy9jb21tb24ub3B0Ci0rKysgYi9nY2MvY29tbW9uLm9wdAotQEAgLTY2Miw2ICs2NjIsMTAgQEAgV3JldHVybi1sb2NhbC1hZGRyCi0gQ29tbW9uIFZhcih3YXJuX3JldHVybl9sb2NhbF9hZGRyKSBJbml0KDEpIFdhcm5pbmcKLSBXYXJuIGFib3V0IHJldHVybmluZyBhIHBvaW50ZXIvcmVmZXJlbmNlIHRvIGEgbG9jYWwgb3IgdGVtcG9yYXJ5IHZhcmlhYmxlLgotIAotK1dwb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCi0rQ29tbW9uIFZhcihmbGFnX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMpIEluaXQoMSkgV2FybmluZwotK1dhcm4gZm9yIC1JIGFuZCAtTCBvcHRpb25zIHVzaW5nIHN5c3RlbSBkaXJlY3RvcmllcyBpZiBjcm9zcyBjb21waWxpbmcKLSsKLSBXc2hhZG93Ci0gQ29tbW9uIFZhcih3YXJuX3NoYWRvdykgV2FybmluZwotIFdhcm4gd2hlbiBvbmUgdmFyaWFibGUgc2hhZG93cyBhbm90aGVyLiAgU2FtZSBhcyAtV3NoYWRvdz1nbG9iYWwuCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy5pbiBiL2djYy9jb25maWcuaW4KLWluZGV4IGJmMmFhN2IyZTdkLi5iMTIwMzk4N2UxNSAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcuaW4KLSsrKyBiL2djYy9jb25maWcuaW4KLUBAIC0xOTQsNiArMTk0LDEyIEBACi0gI2VuZGlmCi0gCi0gCi0rLyogRGVmaW5lIHRvIHdhcm4gZm9yIHVzZSBvZiBuYXRpdmUgc3lzdGVtIGhlYWRlciBkaXJlY3RvcmllcyAqLwotKyNpZm5kZWYgVVNFRF9GT1JfVEFSR0VUCi0rI3VuZGVmIEVOQUJMRV9QT0lTT05fU1lTVEVNX0RJUkVDVE9SSUVTCi0rI2VuZGlmCi0rCi0rCi0gLyogRGVmaW5lIGlmIHlvdSB3YW50IGFsbCBvcGVyYXRpb25zIG9uIFJUTCAodGhlIGJhc2ljIGRhdGEgc3RydWN0dXJlIG9mIHRoZQotICAgIG9wdGltaXplciBhbmQgYmFjayBlbmQpIHRvIGJlIGNoZWNrZWQgZm9yIGR5bmFtaWMgdHlwZSBzYWZldHkgYXQgcnVudGltZS4KLSAgICBUaGlzIGlzIHF1aXRlIGV4cGVuc2l2ZS4gKi8KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlndXJlIGIvZ2NjL2NvbmZpZ3VyZQotaW5kZXggYzgyM2ZmZTYyOTAuLjQ4OThmMDRmYTZiIDEwMDc1NQotLS0tIGEvZ2NjL2NvbmZpZ3VyZQotKysrIGIvZ2NjL2NvbmZpZ3VyZQotQEAgLTk0OSw2ICs5NDksNyBAQCB3aXRoX3N5c3RlbV96bGliCi0gZW5hYmxlX21haW50YWluZXJfbW9kZQotIGVuYWJsZV9saW5rX211dGV4Ci0gZW5hYmxlX3ZlcnNpb25fc3BlY2lmaWNfcnVudGltZV9saWJzCi0rZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMKLSBlbmFibGVfcGx1Z2luCi0gZW5hYmxlX2hvc3Rfc2hhcmVkCi0gZW5hYmxlX2xpYnF1YWRtYXRoX3N1cHBvcnQKLUBAIC0xNjkxLDYgKzE2OTIsOCBAQCBPcHRpb25hbCBGZWF0dXJlczoKLSAgIC0tZW5hYmxlLXZlcnNpb24tc3BlY2lmaWMtcnVudGltZS1saWJzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5IHRoYXQgcnVudGltZSBsaWJyYXJpZXMgc2hvdWxkIGJlIGluc3RhbGxlZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYSBjb21waWxlci1zcGVjaWZpYyBkaXJlY3RvcnkKLSsgIC0tZW5hYmxlLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMKLSsgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm4gZm9yIHVzZSBvZiBuYXRpdmUgc3lzdGVtIGhlYWRlciBkaXJlY3RvcmllcwotICAgLS1lbmFibGUtcGx1Z2luICAgICAgICAgZW5hYmxlIHBsdWdpbiBzdXBwb3J0Ci0gICAtLWVuYWJsZS1ob3N0LXNoYXJlZCAgICBidWlsZCBob3N0IGNvZGUgYXMgc2hhcmVkIGxpYnJhcmllcwotICAgLS1kaXNhYmxlLWxpYnF1YWRtYXRoLXN1cHBvcnQKLUBAIC0yOTM0Nyw2ICsyOTM1MCwxOSBAQCBpZiB0ZXN0ICIke2VuYWJsZV92ZXJzaW9uX3NwZWNpZmljX3J1bnRpbWVfbGlicytzZXR9IiA9IHNldDsgdGhlbiA6Ci0gZmkKLSAKLSAKLSsjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcyB3YXMgZ2l2ZW4uCi0raWYgdGVzdCAiJHtlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcytzZXR9IiA9IHNldDsgdGhlbiA6Ci0rICBlbmFibGV2YWw9JGVuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzOwotK2Vsc2UKLSsgIGVuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzPW5vCi0rZmkKLSsKLStpZiB0ZXN0ICJ4JHtlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3Rvcmllc30iID0gInh5ZXMiOyB0aGVuCi0rCi0rJGFzX2VjaG8gIiNkZWZpbmUgRU5BQkxFX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVMgMSIgPj5jb25mZGVmcy5oCi0rCi0rZmkKLSsKLSAjIFN1YnN0aXR1dGUgY29uZmlndXJhdGlvbiB2YXJpYWJsZXMKLSAKLSAKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlndXJlLmFjIGIvZ2NjL2NvbmZpZ3VyZS5hYwotaW5kZXggYWNmZTk3OTczODkuLjlkYzFkYzdmYzk2IDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZ3VyZS5hYwotKysrIGIvZ2NjL2NvbmZpZ3VyZS5hYwotQEAgLTYxMDEsNiArNjEwMSwxNiBAQCBBQ19BUkdfRU5BQkxFKHZlcnNpb24tc3BlY2lmaWMtcnVudGltZS1saWJzLAotICAgICAgICAgICAgICAgICBbc3BlY2lmeSB0aGF0IHJ1bnRpbWUgbGlicmFyaWVzIHNob3VsZCBiZQotICAgICAgICAgICAgICAgICAgaW5zdGFsbGVkIGluIGEgY29tcGlsZXItc3BlY2lmaWMgZGlyZWN0b3J5XSldKQotIAotK0FDX0FSR19FTkFCTEUoW3BvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXNdLAotKyAgICAgICAgICAgICBBU19IRUxQX1NUUklORyhbLS1lbmFibGUtcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllc10sCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt3YXJuIGZvciB1c2Ugb2YgbmF0aXZlIHN5c3RlbSBoZWFkZXIgZGlyZWN0b3JpZXNdKSwsCi0rICAgICAgICAgICAgIFtlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3Rvcmllcz1ub10pCi0raWYgdGVzdCAieCR7ZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXN9IiA9ICJ4eWVzIjsgdGhlbgotKyAgQUNfREVGSU5FKFtFTkFCTEVfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFU10sCi0rICAgICAgICAgICBbMV0sCi0rICAgICAgICAgICBbRGVmaW5lIHRvIHdhcm4gZm9yIHVzZSBvZiBuYXRpdmUgc3lzdGVtIGhlYWRlciBkaXJlY3Rvcmllc10pCi0rZmkKLSsKLSAjIFN1YnN0aXR1dGUgY29uZmlndXJhdGlvbiB2YXJpYWJsZXMKLSBBQ19TVUJTVChzdWJkaXJzKQotIEFDX1NVQlNUKHNyY2RpcikKLWRpZmYgLS1naXQgYS9nY2MvZG9jL2ludm9rZS50ZXhpIGIvZ2NjL2RvYy9pbnZva2UudGV4aQotaW5kZXggNjhhNTU4ZTk5OTIuLjA2MGNkNzE2OWM2IDEwMDY0NAotLS0tIGEvZ2NjL2RvYy9pbnZva2UudGV4aQotKysrIGIvZ2NjL2RvYy9pbnZva2UudGV4aQotQEAgLTI5OCw2ICsyOTgsNyBAQCBPYmplY3RpdmUtQyBhbmQgT2JqZWN0aXZlLUMrKyBEaWFsZWN0c30uCi0gLVdwYWNrZWQgIC1XcGFja2VkLWJpdGZpZWxkLWNvbXBhdCAgLVdwYWRkZWQgQGdvbAotIC1XcGFyZW50aGVzZXMgIC1Xbm8tcGVkYW50aWMtbXMtZm9ybWF0IEBnb2wKLSAtV3BsYWNlbWVudC1uZXcgIC1XcGxhY2VtZW50LW5ldz1AdmFye259IEBnb2wKLSstV25vLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMgQGdvbAotIC1XcG9pbnRlci1hcml0aCAgLVdwb2ludGVyLWNvbXBhcmUgIC1Xbm8tcG9pbnRlci10by1pbnQtY2FzdCBAZ29sCi0gLVduby1wcmFnbWFzICAtV3JlZHVuZGFudC1kZWNscyAgLVdyZXN0cmljdCAgLVduby1yZXR1cm4tbG9jYWwtYWRkciBAZ29sCi0gLVdyZXR1cm4tdHlwZSAgLVdzZXF1ZW5jZS1wb2ludCAgLVdzaGFkb3cgIC1Xbm8tc2hhZG93LWl2YXIgQGdvbAotQEAgLTUzOTUsNiArNTM5NiwxNCBAQCBtYWRlIHVwIG9mIGRhdGEgb25seSBhbmQgdGh1cyByZXF1aXJlcyBubyBzcGVjaWFsIHRyZWF0bWVudC4gIEJ1dCwgZm9yCi0gbW9zdCB0YXJnZXRzLCBpdCBpcyBtYWRlIHVwIG9mIGNvZGUgYW5kIHRodXMgcmVxdWlyZXMgdGhlIHN0YWNrIHRvIGJlCi0gbWFkZSBleGVjdXRhYmxlIGluIG9yZGVyIGZvciB0aGUgcHJvZ3JhbSB0byB3b3JrIHByb3Blcmx5LgotIAotK0BpdGVtIC1Xbm8tcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcwotK0BvcGluZGV4IFduby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCi0rRG8gbm90IHdhcm4gZm9yIEBvcHRpb257LUl9IG9yIEBvcHRpb257LUx9IG9wdGlvbnMgdXNpbmcgc3lzdGVtCi0rZGlyZWN0b3JpZXMgc3VjaCBhcyBAZmlsZXsvdXNyL2luY2x1ZGV9IHdoZW4gY3Jvc3MgY29tcGlsaW5nLiAgVGhpcwotK29wdGlvbiBpcyBpbnRlbmRlZCBmb3IgdXNlIGluIGNocm9vdCBlbnZpcm9ubWVudHMgd2hlbiBzdWNoCi0rZGlyZWN0b3JpZXMgY29udGFpbiB0aGUgY29ycmVjdCBoZWFkZXJzIGFuZCBsaWJyYXJpZXMgZm9yIHRoZSB0YXJnZXQKLStzeXN0ZW0gcmF0aGVyIHRoYW4gdGhlIGhvc3QuCi0rCi0gQGl0ZW0gLVdmbG9hdC1lcXVhbAotIEBvcGluZGV4IFdmbG9hdC1lcXVhbAotIEBvcGluZGV4IFduby1mbG9hdC1lcXVhbAotZGlmZiAtLWdpdCBhL2djYy9nY2MuYyBiL2djYy9nY2MuYwotaW5kZXggYzQ4MTc4Zi4uZjYzZDUzZCAxMDA2NDQKLS0tLSBhL2djYy9nY2MuYwotKysrIGIvZ2NjL2djYy5jCi1AQCAtMTAyOSw2ICsxMDI5LDggQEAgcHJvcGVyIHBvc2l0aW9uIGFtb25nIHRoZSBvdGhlciBvdXRwdXQgZmlsZXMuICAqLwotICAgICIle2Z1c2UtbGQ9KjotZnVzZS1sZD0lKn0gIiBMSU5LX0NPTVBSRVNTX0RFQlVHX1NQRUMgXAotICAgICIlWCAle28qfSAle2UqfSAle059ICV7bn0gJXtyfVwKLSAgICAgJXtzfSAle3R9ICV7dSp9ICV7en0gJXtafSAleyFub3N0ZGxpYjoleyFub3N0YXJ0ZmlsZXM6JVN9fSBcCi0rICAgICV7V25vLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXM6LS1uby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzfSBcCi0rICAgICV7V2Vycm9yPXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXM6LS1lcnJvci1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzfSBcCi0gICAgICV7c3RhdGljfG5vLXBpZTp9ICV7TCp9ICUobWZ3cmFwKSAlKGxpbmtfbGliZ2NjKSAiIFwKLSAgICAgVlRBQkxFX1ZFUklGSUNBVElPTl9TUEVDICIgIiBTQU5JVElaRVJfRUFSTFlfU1BFQyAiICVvICIgQ0hLUF9TUEVDICIgXAotICAgICAle2ZvcGVuYWNjfGZvcGVubXB8JTpndCgle2Z0cmVlLXBhcmFsbGVsaXplLWxvb3BzPSo6JSp9IDEpOlwKLWRpZmYgLS1naXQgYS9nY2MvaW5jcGF0aC5jIGIvZ2NjL2luY3BhdGguYwotaW5kZXggOThmZTVlYzlhYjMuLmY5MGU3NGRiZDczIDEwMDY0NAotLS0tIGEvZ2NjL2luY3BhdGguYwotKysrIGIvZ2NjL2luY3BhdGguYwotQEAgLTI2LDYgKzI2LDcgQEAKLSAjaW5jbHVkZSAiaW50bC5oIgotICNpbmNsdWRlICJpbmNwYXRoLmgiCi0gI2luY2x1ZGUgImNwcGRlZmF1bHQuaCIKLSsjaW5jbHVkZSAiZGlhZ25vc3RpYy1jb3JlLmgiCi0gCi0gLyogTWljcm9zb2Z0IFdpbmRvd3MgZG9lcyBub3QgbmF0aXZlbHkgc3VwcG9ydCBpbm9kZXMuCi0gICAgVk1TIGhhcyBub24tbnVtZXJpYyBpbm9kZXMuICAqLwotQEAgLTM4Miw2ICszODMsMjQgQEAgbWVyZ2VfaW5jbHVkZV9jaGFpbnMgKGNvbnN0IGNoYXIgKnN5c3Jvb3QsIGNwcF9yZWFkZXIgKnBmaWxlLCBpbnQgdmVyYm9zZSkKLSAJfQotICAgICAgIGZwcmludGYgKHN0ZGVyciwgXygiRW5kIG9mIHNlYXJjaCBsaXN0LlxuIikpOwotICAgICB9Ci0rCi0rI2lmZGVmIEVOQUJMRV9QT0lTT05fU1lTVEVNX0RJUkVDVE9SSUVTCi0rICBpZiAoZmxhZ19wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzKQotKyAgICB7Ci0rICAgICAgIHN0cnVjdCBjcHBfZGlyICpwOwotKwotKyAgICAgICBmb3IgKHAgPSBoZWFkc1tRVU9URV07IHA7IHAgPSBwLT5uZXh0KQotKyAgICAgICAgIHsKLSsgICAgICAgICAgaWYgKCghc3RybmNtcCAocC0+bmFtZSwgIi91c3IvaW5jbHVkZSIsIDEyKSkKLSsgICAgICAgICAgICAgIHx8ICghc3RybmNtcCAocC0+bmFtZSwgIi91c3IvbG9jYWwvaW5jbHVkZSIsIDE4KSkKLSsgICAgICAgICAgICAgIHx8ICghc3RybmNtcCAocC0+bmFtZSwgIi91c3IvWDExUjYvaW5jbHVkZSIsIDE4KSkpCi0rICAgICAgICAgICAgd2FybmluZyAoT1BUX1dwb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzLAotKyAgICAgICAgICAgICAgICAgICAgICJpbmNsdWRlIGxvY2F0aW9uIFwiJXNcIiBpcyB1bnNhZmUgZm9yICIKLSsgICAgICAgICAgICAgICAgICAgICAiY3Jvc3MtY29tcGlsYXRpb24iLAotKyAgICAgICAgICAgICAgICAgICAgIHAtPm5hbWUpOwotKyAgICAgICAgIH0KLSsgICAgfQotKyNlbmRpZgotIH0KLSAKLSAvKiBVc2UgZ2l2ZW4gLUkgcGF0aHMgZm9yICNpbmNsdWRlICIuLi4iIGJ1dCBub3QgI2luY2x1ZGUgPC4uLj4sIGFuZAotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxMC1nY2MtcG9pc29uLWRpci1leHRlbmQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDEwLWdjYy1wb2lzb24tZGlyLWV4dGVuZC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGUwNmFhMi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDEwLWdjYy1wb2lzb24tZGlyLWV4dGVuZC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLUZyb20gZTc0ZWY4NGFkNjA5YjNiNmE1YzM3ZDIwN2ZmYzNjNmU3MGQxZjAyNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjAwOjM0ICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMTAvNDddIGdjYy1wb2lzb24tZGlyLWV4dGVuZAotCi1BZGQgL3N3L2luY2x1ZGUgYW5kIC9vcHQvaW5jbHVkZSBiYXNlZCBvbiB0aGUgb3JpZ2luYWwKLXplY2tlLW5vLWhvc3QtaW5jbHVkZXMucGF0Y2ggcGF0Y2guICBUaGUgb3JpZ2luYWwgcGF0Y2ggY2hlY2tlZCBmb3IKLS91c3IvaW5jbHVkZSwgL3N3L2luY2x1ZGUgYW5kIC9vcHQvaW5jbHVkZSBhbmQgdGhlbiB0cmlnZ2VyZWQgYSBmYWlsdXJlIGFuZAotYWJvcnRlZC4KLQotSW5zdGVhZCwgd2UgYWRkIHRoZSB0d28gbWlzc2luZyBpdGVtcyB0byB0aGUgY3VycmVudCBzY2FuLiAgSWYgdGhlIHVzZXIKLXdhbnRzIHRoaXMgdG8gYmUgYSBmYWlsdXJlLCB0aGV5IGNhbiBhZGQgIi1XZXJyb3I9cG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcyIuCi0KLVNpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gZ2NjL2luY3BhdGguYyB8IDQgKysrLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2djYy9pbmNwYXRoLmMgYi9nY2MvaW5jcGF0aC5jCi1pbmRleCBmOTBlNzRkYmQ3My4uYzU4M2VlNTA2MWQgMTAwNjQ0Ci0tLS0gYS9nY2MvaW5jcGF0aC5jCi0rKysgYi9nY2MvaW5jcGF0aC5jCi1AQCAtMzkzLDcgKzM5Myw5IEBAIG1lcmdlX2luY2x1ZGVfY2hhaW5zIChjb25zdCBjaGFyICpzeXNyb290LCBjcHBfcmVhZGVyICpwZmlsZSwgaW50IHZlcmJvc2UpCi0gICAgICAgICAgewotICAgICAgICAgICBpZiAoKCFzdHJuY21wIChwLT5uYW1lLCAiL3Vzci9pbmNsdWRlIiwgMTIpKQotICAgICAgICAgICAgICAgfHwgKCFzdHJuY21wIChwLT5uYW1lLCAiL3Vzci9sb2NhbC9pbmNsdWRlIiwgMTgpKQotLSAgICAgICAgICAgICAgfHwgKCFzdHJuY21wIChwLT5uYW1lLCAiL3Vzci9YMTFSNi9pbmNsdWRlIiwgMTgpKSkKLSsgICAgICAgICAgICAgIHx8ICghc3RybmNtcCAocC0+bmFtZSwgIi91c3IvWDExUjYvaW5jbHVkZSIsIDE4KSkKLSsgICAgICAgICAgICAgIHx8ICghc3RybmNtcCAocC0+bmFtZSwgIi9zdy9pbmNsdWRlIiwgMTEpKQotKyAgICAgICAgICAgICAgfHwgKCFzdHJuY21wIChwLT5uYW1lLCAiL29wdC9pbmNsdWRlIiwgMTIpKSkKLSAgICAgICAgICAgICB3YXJuaW5nIChPUFRfV3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMsCi0gICAgICAgICAgICAgICAgICAgICAgImluY2x1ZGUgbG9jYXRpb24gXCIlc1wiIGlzIHVuc2FmZSBmb3IgIgotICAgICAgICAgICAgICAgICAgICAgICJjcm9zcy1jb21waWxhdGlvbiIsCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDExLWdjYy00LjMuMy1TWVNST09UX0NGTEFHU19GT1JfVEFSR0VULnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxMS1nY2MtNC4zLjMtU1lTUk9PVF9DRkxBR1NfRk9SX1RBUkdFVC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjM5ZmYxZS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDExLWdjYy00LjMuMy1TWVNST09UX0NGTEFHU19GT1JfVEFSR0VULnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzMgKzAsMCBAQAotRnJvbSBhNDFkM2E1M2E0ZTMxM2MyMDgwMjMzMGQ2YjVjNzUzNThhNGVkODgyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MDg6MzEgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAxMS80N10gZ2NjLTQuMy4zOiBTWVNST09UX0NGTEFHU19GT1JfVEFSR0VUCi0KLUJlZm9yZSBjb21taXR0aW5nLCBJIG5vdGljZWQgdGhhdCBQUi8zMjE2MSB3YXMgbWFya2VkIGFzIGEgZHVwIG9mIFBSLzMyMDA5LCBidXQgbXkgcHJldmlvdXMgcGF0Y2ggZGlkIG5vdCBmaXggaXQuCi0KLVRoaXMgYWx0ZXJuYXRpdmUgcGF0Y2ggaXMgYmV0dGVyIGJlY2F1c2UgaXQgbGV0cyB5b3UganVzdCB1c2UgQ0ZMQUdTX0ZPUl9UQVJHRVQgdG8gc2V0IHRoZSBjb21waWxhdGlvbiBmbGFncyBmb3IgbGliZ2NjLiBTaW5jZSBib290c3RyYXBwZWQgdGFyZ2V0IGxpYnJhcmllcyBhcmUgbmV2ZXIgY29tcGlsZWQgd2l0aCB0aGUgbmF0aXZlIGNvbXBpbGVyLCBpdCBtYWtlcyBsaXR0bGUgc2Vuc2UgdG8gdXNlIGRpZmZlcmVudCBmbGFncyBmb3Igc3RhZ2UxIGFuZCBsYXRlciBzdGFnZXMuIEFuZCBpdCBhbHNvIG1ha2VzIGxpdHRsZSBzZW5zZSB0byB1c2UgYSBkaWZmZXJlbnQgdmFyaWFibGUgdGhhbiBDRkxBR1NfRk9SX1RBUkdFVC4KLQotT3RoZXIgY2hhbmdlcyBJIGhhZCB0byBkbyBpbmNsdWRlOgotCi0tIG1vdmluZyB0aGUgY3JlYXRpb24gb2YgZGVmYXVsdCBDRkxBR1NfRk9SX1RBUkdFVCBmcm9tIE1ha2VmaWxlLmFtIHRvIGNvbmZpZ3VyZS5hYywgYmVjYXVzZSBvdGhlcndpc2UgdGhlIEJPT1RfQ0ZMQUdTIGFyZSBzdWJzdGl0dXRlZCBpbnRvIENGTEFHU19GT1JfVEFSR0VUICh3aGljaCBpcyAiLU8yIC1nICQoQ0ZMQUdTKSIpIHZpYSAkKENGTEFHUykuIEl0IGlzIGFsc28gY2xlYW5lciB0aGlzIHdheSB0aG91Z2guCi0KLS0gcGFzc2luZyB0aGUgcmlnaHQgQ0ZMQUdTIHRvIGNvbmZpZ3VyZSBzY3JpcHRzIGFzIGV4cG9ydGVkIGVudmlyb25tZW50IHZhcmlhYmxlcwotCi1JIGFsc28gc3RvcHBlZCBwYXNzaW5nIExJQkNGTEFHUyB0byBjb25maWd1cmUgc2NyaXB0cyBzaW5jZSB0aGV5IGFyZSB1bnVzZWQgaW4gdGhlIHdob2xlIHNyYyB0cmVlLiBBbmQgSSB1cGRhdGVkIHRoZSBkb2N1bWVudGF0aW9uIGFzIEgtUCByZW1pbmRlZCBtZSB0byBkby4KLQotQm9vdHN0cmFwcGVkL3JlZ3Rlc3RlZCBpNjg2LXBjLWxpbnV4LWdudSwgd2lsbCBjb21taXQgdG8gNC40IHNob3J0bHkuIE9rIGZvciA0LjM/Ci0KLVNpZ25lZC1vZmYtYnk6IFBhb2xvIEJvbnppbmkgIDxib256aW5pQGdudS5vcmc+Ci1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNvbmZpZ3VyZSB8IDMyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDMyIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQotaW5kZXggYjQ3NjA5NTIwODUuLjcyYThiYTk0YzRlIDEwMDc1NQotLS0tIGEvY29uZmlndXJlCi0rKysgYi9jb25maWd1cmUKLUBAIC02NzM2LDYgKzY3MzYsMzggQEAgZmkKLSAKLSAKLSAKLSsjIER1cmluZyBnY2MgYm9vdHN0cmFwLCBpZiB3ZSB1c2Ugc29tZSByYW5kb20gY2MgZm9yIHN0YWdlMSB0aGVuIENGTEFHUwotKyMgbWlnaHQgYmUgZW1wdHkgb3IgIi1nIi4gIFdlIGRvbid0IHJlcXVpcmUgYSBDKysgY29tcGlsZXIsIHNvIENYWEZMQUdTCi0rIyBtaWdodCBhbHNvIGJlIGVtcHR5IChvciAiLWciLCBpZiBhIG5vbi1HQ0MgQysrIGNvbXBpbGVyIGlzIGluIHRoZSBwYXRoKS4KLSsjIFdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgVEFSR0VUIGxpYnJhcmllcyAod2hpY2ggd2Uga25vdyBhcmUgYnVpbHQgd2l0aAotKyMgZ2NjKSBhcmUgYnVpbHQgd2l0aCAiLU8yIC1nIiwgc28gaW5jbHVkZSB0aG9zZSBvcHRpb25zIHdoZW4gc2V0dGluZwotKyMgQ0ZMQUdTX0ZPUl9UQVJHRVQgYW5kIENYWEZMQUdTX0ZPUl9UQVJHRVQuCi0raWYgdGVzdCAieCRDRkxBR1NfRk9SX1RBUkdFVCIgPSB4OyB0aGVuCi0rICBDRkxBR1NfRk9SX1RBUkdFVD0kQ0ZMQUdTCi0rICBjYXNlICIgJENGTEFHUyAiIGluCi0rICAgICoiIC1PMiAiKikgOzsKLSsgICAgKikgQ0ZMQUdTX0ZPUl9UQVJHRVQ9Ii1PMiAkQ0ZMQUdTIiA7OwotKyAgZXNhYwotKyAgY2FzZSAiICRDRkxBR1MgIiBpbgotKyAgICAqIiAtZyAiKiB8ICoiIC1nMyAiKikgOzsKLSsgICAgKikgQ0ZMQUdTX0ZPUl9UQVJHRVQ9Ii1nICRDRkxBR1MiIDs7Ci0rICBlc2FjCi0rZmkKLSsKLSsKLStpZiB0ZXN0ICJ4JENYWEZMQUdTX0ZPUl9UQVJHRVQiID0geDsgdGhlbgotKyAgQ1hYRkxBR1NfRk9SX1RBUkdFVD0kQ1hYRkxBR1MKLSsgIGNhc2UgIiAkQ1hYRkxBR1MgIiBpbgotKyAgICAqIiAtTzIgIiopIDs7Ci0rICAgICopIENYWEZMQUdTX0ZPUl9UQVJHRVQ9Ii1PMiAkQ1hYRkxBR1MiIDs7Ci0rICBlc2FjCi0rICBjYXNlICIgJENYWEZMQUdTICIgaW4KLSsgICAgKiIgLWcgIiogfCAqIiAtZzMgIiopIDs7Ci0rICAgICopIENYWEZMQUdTX0ZPUl9UQVJHRVQ9Ii1nICRDWFhGTEFHUyIgOzsKLSsgIGVzYWMKLStmaQotKwotKwotICMgSGFuZGxlIC0td2l0aC1oZWFkZXJzPVhYWC4gIElmIHRoZSB2YWx1ZSBpcyBub3QgInllcyIsIHRoZSBjb250ZW50cyBvZgotICMgdGhlIG5hbWVkIGRpcmVjdG9yeSBhcmUgY29waWVkIHRvICQodG9vbGRpcikvc3lzLWluY2x1ZGUuCi0gaWYgdGVzdCB4IiR7d2l0aF9oZWFkZXJzfSIgIT0geCAmJiB0ZXN0IHgiJHt3aXRoX2hlYWRlcnN9IiAhPSB4bm8gOyB0aGVuCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDEyLTY0LWJpdC1tdWx0aWxpYi1oYWNrLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxMi02NC1iaXQtbXVsdGlsaWItaGFjay5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjNiMzkxMi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDEyLTY0LWJpdC1tdWx0aWxpYi1oYWNrLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODUgKzAsMCBAQAotRnJvbSAzYWY5ZmJiZDE0ZTgzMjQyYWMyYWNiNTRiYmI0YmI3MjY4NDVmZDM0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MTA6MDYgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAxMi80N10gNjQtYml0IG11bHRpbGliIGhhY2suCi0KLUdDQyBoYXMgaW50ZXJuYWwgbXVsdGlsaWIgaGFuZGxpbmcgY29kZSBidXQgaXQgYXNzdW1lcyBhIHZlcnkgc3BlY2lmaWMgcmlnaWQgZGlyZWN0b3J5Ci1sYXlvdXQuIFRoZSBidWlsZCBzeXN0ZW0gaW1wbGVtZW50YXRpb24gb2YgbXVsdGlsaWIgbGF5b3V0IGlzIHZlcnkgZ2VuZXJpYyBhbmQgYWxsb3dzCi1jb21wbGV0ZSBjdXN0b21pc2F0aW9uIG9mIHRoZSBsaWJyYXJ5IGRpcmVjdG9yaWVzLgotCi1UaGlzIHBhdGNoIGlzIGEgcGFydGlhbCBzb2x1dGlvbiB0byBhbGxvdyBhbnkgY3VzdG9tIGRpcmVjdG9yaWVzIHRvIGJlIHBhc3NlZCBpbnRvIGdjYwotYW5kIGhhbmRsZWQgY29ycmVjdGx5LiBJdCBmb3JjZXMgZ2NjIHRvIHVzZSB0aGUgYmFzZV9saWJkaXIgKHdoaWNoIGlzIHRoZSBjdXJyZW50Ci1kaXJlY3RvcnksICIuIikuIFdlIG5lZWQgdG8gZG8gdGhpcyBmb3IgZWFjaCBtdWx0aWxpYiB0aGF0IGlzIGNvbmZpZ3VyZWQgYXMgd2UgZG9uJ3QKLWtub3cgd2hpY2ggY29tcGlsZXIgb3B0aW9ucyBtYXkgYmUgYmVpbmcgcGFzc2VkIGludG8gdGhlIGNvbXBpbGVyLiBTaW5jZSB3ZSBoYXZlIGEgY29tcGlsZXIKLXBlciBtdWxpdGxpYiBhdCB0aGlzIHBvaW50IHRoYXQgaXNuJ3QgYW4gaXNzdWUuCi0KLVRoZSBvbmUgcHJvYmxlbSBpcyB0aGUgdGFyZ2V0IGNvbXBpbGVyIGlzIG9ubHkgZ29pbmcgdG8gd29yayBmb3IgdGhlIGRlZmF1bHQgbXVsdGxpbGliIGF0Ci10aGlzIHBvaW50LiBJZGVhbGx5IHdlJ2QgZmlndXJlIG91dCB3aGljaCBtdWx0aWxpYnMgd2VyZSBiZWluZyBlbmFibGVkIHdpdGggd2hpY2ggcGF0aHMKLWFuZCBiZSBhYmxlIHRvIHBhdGNoIHRoZXNlIGVudHJpZXMgd2l0aCBhIGNvbXBsZXRlIHNldCBvZiBjb3JyZWN0IHBhdGhzIGJ1dCB0aGlzIHdlCi1kb24ndCBoYXZlIHN1Y2ggY29kZSBhdCB0aGlzIHBvaW50LiBUaGlzIGlzIHNvbWV0aGluZyB0aGUgdGFyZ2V0IGdjYyByZWNpcGUgc2hvdWxkIGRvCi1hbmQgb3ZlcnJpZGUgdGhlc2UgcGxhdGZvcm0gZGVmYXVsdHMgaW4gaXRzIGJ1aWxkIGNvbmZpZy4KLQotUlAgMTUvOC8xMQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogRWx2aXMgRG93c29uIDxlbHZpcy5kb3dzb25AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGdjYy9jb25maWcvaTM4Ni90LWxpbnV4NjQgICB8ICA2ICsrLS0tLQotIGdjYy9jb25maWcvbWlwcy90LWxpbnV4NjQgICB8IDEwICsrKy0tLS0tLS0KLSBnY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4NjQgfCAgNSArKy0tLQotIDMgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni90LWxpbnV4NjQgYi9nY2MvY29uZmlnL2kzODYvdC1saW51eDY0Ci1pbmRleCBlNDIyYzQ0MmRhZS4uY2M4ODVlMjQ0NTcgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL2kzODYvdC1saW51eDY0Ci0rKysgYi9nY2MvY29uZmlnL2kzODYvdC1saW51eDY0Ci1AQCAtMzIsNyArMzIsNSBAQAotICMKLSBjb21tYT0sCi0gTVVMVElMSUJfT1BUSU9OUyAgICA9ICQoc3Vic3QgJChjb21tYSksLywkKFRNX01VTFRJTElCX0NPTkZJRykpCi0tTVVMVElMSUJfRElSTkFNRVMgICA9ICQocGF0c3Vic3QgbSUsICUsICQoc3Vic3QgLywgLCQoTVVMVElMSUJfT1BUSU9OUykpKQotLU1VTFRJTElCX09TRElSTkFNRVMgPSBtNjQ9Li4vbGliNjQkKGNhbGwgaWZfbXVsdGlhcmNoLDp4ODZfNjQtbGludXgtZ251KQotLU1VTFRJTElCX09TRElSTkFNRVMrPSBtMzI9JChpZiAkKHdpbGRjYXJkICQoc2hlbGwgZWNobyAkKFNZU1RFTV9IRUFERVJfRElSKSkvLi4vLi4vdXNyL2xpYjMyKSwuLi9saWIzMiwuLi9saWIpJChjYWxsIGlmX211bHRpYXJjaCw6aTM4Ni1saW51eC1nbnUpCi0tTVVMVElMSUJfT1NESVJOQU1FUys9IG14MzI9Li4vbGlieDMyJChjYWxsIGlmX211bHRpYXJjaCw6eDg2XzY0LWxpbnV4LWdudXgzMikKLStNVUxUSUxJQl9ESVJOQU1FUyA9IC4gLgotK01VTFRJTElCX09TRElSTkFNRVMgPSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKQotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvbWlwcy90LWxpbnV4NjQgYi9nY2MvY29uZmlnL21pcHMvdC1saW51eDY0Ci1pbmRleCAxMDBmOWRhNWUxNC4uNjAxY2RmMDhkMDUgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL21pcHMvdC1saW51eDY0Ci0rKysgYi9nY2MvY29uZmlnL21pcHMvdC1saW51eDY0Ci1AQCAtMTcsMTAgKzE3LDYgQEAKLSAjIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLSAKLSBNVUxUSUxJQl9PUFRJT05TID0gbWFiaT1uMzIvbWFiaT0zMi9tYWJpPTY0Ci0tTVVMVElMSUJfRElSTkFNRVMgPSBuMzIgMzIgNjQKLS1NSVBTX0VMID0gJChpZiAkKGZpbHRlciAlZWwsICQoZmlyc3R3b3JkICQoc3Vic3QgLSwgLCQodGFyZ2V0KSkpKSxlbCkKLS1NSVBTX1NPRlQgPSAkKGlmICQoc3RyaXAgJChmaWx0ZXIgTUFTS19TT0ZUX0ZMT0FUX0FCSSwgJCh0YXJnZXRfY3B1X2RlZmF1bHQpKSAkKGZpbHRlciBzb2Z0LCAkKHdpdGhfZmxvYXQpKSksc29mdCkKLS1NVUxUSUxJQl9PU0RJUk5BTUVTID0gXAotLQkuLi9saWIzMiQoY2FsbCBpZl9tdWx0aWFyY2gsOm1pcHM2NCQoTUlQU19FTCktbGludXgtZ251YWJpbjMyJChNSVBTX1NPRlQpKSBcCi0tCS4uL2xpYiQoY2FsbCBpZl9tdWx0aWFyY2gsOm1pcHMkKE1JUFNfRUwpLWxpbnV4LWdudSQoTUlQU19TT0ZUKSkgXAotLQkuLi9saWI2NCQoY2FsbCBpZl9tdWx0aWFyY2gsOm1pcHM2NCQoTUlQU19FTCktbGludXgtZ251YWJpNjQkKE1JUFNfU09GVCkpCi0rTVVMVElMSUJfRElSTkFNRVMgPSAuIC4gLgotK01VTFRJTElCX09TRElSTkFNRVMgPSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKQotKwotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcnM2MDAwL3QtbGludXg2NCBiL2djYy9jb25maWcvcnM2MDAwL3QtbGludXg2NAotaW5kZXggMjgzMGVkMGQ4NjEuLmQwNTdmYWNkMmZkIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eDY0Ci0rKysgYi9nY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4NjQKLUBAIC0yNiwxMCArMjYsOSBAQAotICMgTVVMVElMSUJfT1NESVJOQU1FUyBhY2NvcmRpbmcgdG8gd2hhdCBpcyBmb3VuZCBvbiB0aGUgdGFyZ2V0LgotIAotIE1VTFRJTElCX09QVElPTlMgICAgOj0gbTY0L20zMgotLU1VTFRJTElCX0RJUk5BTUVTICAgOj0gNjQgMzIKLStNVUxUSUxJQl9ESVJOQU1FUyAgIDo9IC4gLgotIE1VTFRJTElCX0VYVFJBX09QVFMgOj0gCi0tTVVMVElMSUJfT1NESVJOQU1FUyA6PSBtNjQ9Li4vbGliNjQkKGNhbGwgaWZfbXVsdGlhcmNoLDpwb3dlcnBjNjQtbGludXgtZ251KQotLU1VTFRJTElCX09TRElSTkFNRVMgKz0gbTMyPSQoaWYgJCh3aWxkY2FyZCAkKHNoZWxsIGVjaG8gJChTWVNURU1fSEVBREVSX0RJUikpLy4uLy4uL3Vzci9saWIzMiksLi4vbGliMzIsLi4vbGliKSQoY2FsbCBpZl9tdWx0aWFyY2gsOnBvd2VycGMtbGludXgtZ251KQotK01VTFRJTElCX09TRElSTkFNRVMgOj0gLi4vJChzaGVsbCBiYXNlbmFtZSAkKGJhc2VfbGliZGlyKSkgLi4vJChzaGVsbCBiYXNlbmFtZSAkKGJhc2VfbGliZGlyKSkKLSAKLSByczYwMDAtbGludXgubzogJChzcmNkaXIpL2NvbmZpZy9yczYwMDAvcnM2MDAwLWxpbnV4LmMKLSAJJChDT01QSUxFKSAkPAotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxMy1vcHRpb25hbC1saWJzdGRjLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxMy1vcHRpb25hbC1saWJzdGRjLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNDM5YmY2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMTMtb3B0aW9uYWwtbGlic3RkYy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEyNSArMCwwIEBACi1Gcm9tIDI2YTU4ZDA1ODQ0Mjc0OTE1ZDAxMWVkYmY5MzMwYzYxNTE2ODdiMjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToxMjo1NiArMDQwMAotU3ViamVjdDogW1BBVENIIDEzLzQ3XSBvcHRpb25hbCBsaWJzdGRjCi0KLWdjYy1ydW50aW1lIGJ1aWxkcyBsaWJzdGRjKysgc2VwYXJhdGVseSBmcm9tIGdjYy1jcm9zcy0qLiBJdHMgY29uZmlndXJlIHRlc3RzIHVzaW5nIGcrKwotd2lsbCBub3QgcnVuIGNvcnJlY3RseSBzaW5jZSBieSBkZWZhdWx0IHRoZSBsaW5rZXIgd2lsbCB0cnkgdG8gbGluayBhZ2FpbnN0IGxpYnN0ZGMrKwotd2hpY2ggc2hvdWxkbid0IGV4aXN0IHlldC4gV2UgbmVlZCBhbiBvcHRpb24gdG8gZGlzYWJsZSAtbHN0ZGMrKwotb3B0aW9uIHdoaWxzdCBsZWF2aW5nIC1sYywgLWxnY2MgYW5kIG90aGVyIGF1dG9tYXRpYyBsaWJyYXJ5IGRlcGVuZGVuY2llcyBhZGRlZCBieSBnY2MKLWRyaXZlci4gVGhpcyBwYXRjaCBhZGRzIHN1Y2ggYW4gb3B0aW9uIHdoaWNoIG9ubHkgZGlzYWJsZXMgdGhlIC1sc3RkYysrLgotCi1BICJzdGFuZGFyZCIgZ2NjIGJ1aWxkIHVzZXMgeGdjYyBhbmQgaGVuY2UgYXZvaWRzIHRoaXMuIFdlIHNob3VsZCBhc2sgdXBzdHJlYW0gaG93IHRvCi1kbyB0aGlzIG9mZmljaWFsbHksIHRoZSBsaWtlbHkgYW5zd2VyIGlzIGRvbid0IGJ1aWxkIGxpYnN0ZGMrKyBzZXBhcmF0ZWx5LgotCi1SUCAyOS82LzEwCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0tLS0KLSBnY2MvYy1mYW1pbHkvYy5vcHQgIHwgIDQgKysrKwotIGdjYy9jcC9nKytzcGVjLmMgICAgfCAgMSArCi0gZ2NjL2RvYy9pbnZva2UudGV4aSB8IDMyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCi0gZ2NjL2djYy5jICAgICAgICAgICB8ICAxICsKLSA0IGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jLWZhbWlseS9jLm9wdCBiL2djYy9jLWZhbWlseS9jLm9wdAotaW5kZXggOWFkMmY2ZTFmY2MuLmM0ZWY3Nzk2MjgyIDEwMDY0NAotLS0tIGEvZ2NjL2MtZmFtaWx5L2Mub3B0Ci0rKysgYi9nY2MvYy1mYW1pbHkvYy5vcHQKLUBAIC0xODQ4LDYgKzE4NDgsMTAgQEAgbm9zdGRpbmMrKwotIEMrKyBPYmpDKysKLSBEbyBub3Qgc2VhcmNoIHN0YW5kYXJkIHN5c3RlbSBpbmNsdWRlIGRpcmVjdG9yaWVzIGZvciBDKysuCi0gCi0rbm9zdGRsaWIrKwotK0RyaXZlcgotK0RvIG5vdCBsaW5rIHN0YW5kYXJkIEMrKyBydW50aW1lIGxpYnJhcnkKLSsKLSBvCi0gQyBPYmpDIEMrKyBPYmpDKysgSm9pbmVkIFNlcGFyYXRlCi0gOyBEb2N1bWVudGVkIGluIGNvbW1vbi5vcHQKLWRpZmYgLS1naXQgYS9nY2MvY3AvZysrc3BlYy5jIGIvZ2NjL2NwL2crK3NwZWMuYwotaW5kZXggZmZjYzg3Yzc5YzkuLjI4ZDhhOWNmNTMwIDEwMDY0NAotLS0tIGEvZ2NjL2NwL2crK3NwZWMuYwotKysrIGIvZ2NjL2NwL2crK3NwZWMuYwotQEAgLTEzNyw2ICsxMzcsNyBAQCBsYW5nX3NwZWNpZmljX2RyaXZlciAoc3RydWN0IGNsX2RlY29kZWRfb3B0aW9uICoqaW5fZGVjb2RlZF9vcHRpb25zLAotICAgICAgIHN3aXRjaCAoZGVjb2RlZF9vcHRpb25zW2ldLm9wdF9pbmRleCkKLSAJewotIAljYXNlIE9QVF9ub3N0ZGxpYjoKLSsJY2FzZSBPUFRfbm9zdGRsaWJfXzoKLSAJY2FzZSBPUFRfbm9kZWZhdWx0bGliczoKLSAJICBsaWJyYXJ5ID0gLTE7Ci0gCSAgYnJlYWs7Ci1kaWZmIC0tZ2l0IGEvZ2NjL2RvYy9pbnZva2UudGV4aSBiL2djYy9kb2MvaW52b2tlLnRleGkKLWluZGV4IDA2MGNkNzE2OWM2Li44ZTJhZGMyNTY0NCAxMDA2NDQKLS0tLSBhL2djYy9kb2MvaW52b2tlLnRleGkKLSsrKyBiL2djYy9kb2MvaW52b2tlLnRleGkKLUBAIC0yMTEsNiArMjExLDkgQEAgaW4gdGhlIGZvbGxvd2luZyBzZWN0aW9ucy4KLSAtZm5vLXdlYWsgIC1ub3N0ZGluYysrIEBnb2wKLSAtZnZpc2liaWxpdHktaW5saW5lcy1oaWRkZW4gQGdvbAotIC1mdmlzaWJpbGl0eS1tcy1jb21wYXQgQGdvbAotKy1mdnRhYmxlLXZlcmlmeT1AcntbfXN0ZEBye3x9cHJlaW5pdEBye3x9bm9uZUBye119IEBnb2wKLSstZnZ0di1jb3VudHMgLWZ2dHYtZGVidWcgQGdvbAotKy1ub3N0ZGxpYisrIEBnb2wKLSAtZmV4dC1udW1lcmljLWxpdGVyYWxzIEBnb2wKLSAtV2FiaT1AdmFye259ICAtV2FiaS10YWcgIC1XY29udmVyc2lvbi1udWxsICAtV2N0b3ItZHRvci1wcml2YWN5IEBnb2wKLSAtV2RlbGV0ZS1ub24tdmlydHVhbC1kdG9yICAtV2xpdGVyYWwtc3VmZml4ICAtV211bHRpcGxlLWluaGVyaXRhbmNlIEBnb2wKLUBAIC00OTYsNyArNDk5LDcgQEAgT2JqZWN0aXZlLUMgYW5kIE9iamVjdGl2ZS1DKysgRGlhbGVjdHN9LgotIC1zICAtc3RhdGljICAtc3RhdGljLWxpYmdjYyAgLXN0YXRpYy1saWJzdGRjKysgQGdvbAotIC1zdGF0aWMtbGliYXNhbiAgLXN0YXRpYy1saWJ0c2FuICAtc3RhdGljLWxpYmxzYW4gIC1zdGF0aWMtbGlidWJzYW4gQGdvbAotIC1zdGF0aWMtbGlibXB4ICAtc3RhdGljLWxpYm1weHdyYXBwZXJzIEBnb2wKLS0tc2hhcmVkICAtc2hhcmVkLWxpYmdjYyAgLXN5bWJvbGljIEBnb2wKLSstc2hhcmVkICAtc2hhcmVkLWxpYmdjYyAgLXN5bWJvbGljIC1ub3N0ZGxpYisrIEBnb2wKLSAtVCBAdmFye3NjcmlwdH0gIC1XbCxAdmFye29wdGlvbn0gIC1YbGlua2VyIEB2YXJ7b3B0aW9ufSBAZ29sCi0gLXUgQHZhcntzeW1ib2x9ICAteiBAdmFye2tleXdvcmR9fQotIAotQEAgLTExNjA2LDYgKzExNjA5LDMzIEBAIGxpYnJhcnkgc3Vicm91dGluZXMuCi0gY29uc3RydWN0b3JzIGFyZSBjYWxsZWQ7IEBweHJlZntDb2xsZWN0MiwsQGNvZGV7Y29sbGVjdDJ9LCBnY2NpbnQsCi0gR05VIENvbXBpbGVyIENvbGxlY3Rpb24gKEdDQykgSW50ZXJuYWxzfS4pCi0gCi0rQGl0ZW0gLW5vc3RkbGliKysKLStAb3BpbmRleCBub3N0ZGxpYisrCi0rRG8gbm90IHVzZSB0aGUgc3RhbmRhcmQgc3lzdGVtIEMrKyBydW50aW1lIGxpYnJhcmllcyB3aGVuIGxpbmtpbmcuCi0rT25seSB0aGUgbGlicmFyaWVzIHlvdSBzcGVjaWZ5IHdpbGwgYmUgcGFzc2VkIHRvIHRoZSBsaW5rZXIuCi0rCi0rQGNpbmRleCBAb3B0aW9uey1sZ2NjfSwgdXNlIHdpdGggQG9wdGlvbnstbm9zdGRsaWJ9Ci0rQGNpbmRleCBAb3B0aW9uey1ub3N0ZGxpYn0gYW5kIHVucmVzb2x2ZWQgcmVmZXJlbmNlcwotK0BjaW5kZXggdW5yZXNvbHZlZCByZWZlcmVuY2VzIGFuZCBAb3B0aW9uey1ub3N0ZGxpYn0KLStAY2luZGV4IEBvcHRpb257LWxnY2N9LCB1c2Ugd2l0aCBAb3B0aW9uey1ub2RlZmF1bHRsaWJzfQotK0BjaW5kZXggQG9wdGlvbnstbm9kZWZhdWx0bGlic30gYW5kIHVucmVzb2x2ZWQgcmVmZXJlbmNlcwotK0BjaW5kZXggdW5yZXNvbHZlZCByZWZlcmVuY2VzIGFuZCBAb3B0aW9uey1ub2RlZmF1bHRsaWJzfQotK09uZSBvZiB0aGUgc3RhbmRhcmQgbGlicmFyaWVzIGJ5cGFzc2VkIGJ5IEBvcHRpb257LW5vc3RkbGlifSBhbmQKLStAb3B0aW9uey1ub2RlZmF1bHRsaWJzfSBpcyBAZmlsZXtsaWJnY2MuYX0sIGEgbGlicmFyeSBvZiBpbnRlcm5hbCBzdWJyb3V0aW5lcwotK3doaWNoIEdDQyB1c2VzIHRvIG92ZXJjb21lIHNob3J0Y29taW5ncyBvZiBwYXJ0aWN1bGFyIG1hY2hpbmVzLCBvciBzcGVjaWFsCi0rbmVlZHMgZm9yIHNvbWUgbGFuZ3VhZ2VzLgotKyhAeHJlZntJbnRlcmZhY2UsLEludGVyZmFjaW5nIHRvIEdDQyBPdXRwdXQsZ2NjaW50LEdOVSBDb21waWxlcgotK0NvbGxlY3Rpb24gKEdDQykgSW50ZXJuYWxzfSwKLStmb3IgbW9yZSBkaXNjdXNzaW9uIG9mIEBmaWxle2xpYmdjYy5hfS4pCi0rSW4gbW9zdCBjYXNlcywgeW91IG5lZWQgQGZpbGV7bGliZ2NjLmF9IGV2ZW4gd2hlbiB5b3Ugd2FudCB0byBhdm9pZAotK290aGVyIHN0YW5kYXJkIGxpYnJhcmllcy4gIEluIG90aGVyIHdvcmRzLCB3aGVuIHlvdSBzcGVjaWZ5IEBvcHRpb257LW5vc3RkbGlifQotK29yIEBvcHRpb257LW5vZGVmYXVsdGxpYnN9IHlvdSBzaG91bGQgdXN1YWxseSBzcGVjaWZ5IEBvcHRpb257LWxnY2N9IGFzIHdlbGwuCi0rVGhpcyBlbnN1cmVzIHRoYXQgeW91IGhhdmUgbm8gdW5yZXNvbHZlZCByZWZlcmVuY2VzIHRvIGludGVybmFsIEdDQwotK2xpYnJhcnkgc3Vicm91dGluZXMuCi0rKEFuIGV4YW1wbGUgb2Ygc3VjaCBhbiBpbnRlcm5hbCBzdWJyb3V0aW5lIGlzIEBjb2Rle19fbWFpbn0sIHVzZWQgdG8gZW5zdXJlIEMrKwotK2NvbnN0cnVjdG9ycyBhcmUgY2FsbGVkOyBAcHhyZWZ7Q29sbGVjdDIsLEBjb2Rle2NvbGxlY3QyfSwgZ2NjaW50LAotK0dOVSBDb21waWxlciBDb2xsZWN0aW9uIChHQ0MpIEludGVybmFsc30uKQotKwotIEBpdGVtIC1waWUKLSBAb3BpbmRleCBwaWUKLSBQcm9kdWNlIGEgcG9zaXRpb24gaW5kZXBlbmRlbnQgZXhlY3V0YWJsZSBvbiB0YXJnZXRzIHRoYXQgc3VwcG9ydCBpdC4KLWRpZmYgLS1naXQgYS9nY2MvZ2NjLmMgYi9nY2MvZ2NjLmMKLWluZGV4IDYzMTVhYTBkZDE2Li5hNWZhZmJlNTEwNyAxMDA2NDQKLS0tLSBhL2djYy9nY2MuYwotKysrIGIvZ2NjL2djYy5jCi1AQCAtMTA0Niw2ICsxMDQ2LDcgQEAgcHJvcGVyIHBvc2l0aW9uIGFtb25nIHRoZSBvdGhlciBvdXRwdXQgZmlsZXMuICAqLwotICAgICAlKG1mbGliKSAiIFNUQUNLX1NQTElUX1NQRUMgIlwKLSAgICAgJXtmcHJvZmlsZS1hcmNzfGZwcm9maWxlLWdlbmVyYXRlKnxjb3ZlcmFnZTotbGdjb3Z9ICIgU0FOSVRJWkVSX1NQRUMgIiBcCi0gICAgICV7IW5vc3RkbGliOiV7IW5vZGVmYXVsdGxpYnM6JShsaW5rX3NzcCkgJShsaW5rX2djY19jX3NlcXVlbmNlKX19XAotKyAgICAleyFub3N0ZGxpYisrOn1cCi0gICAgICV7IW5vc3RkbGliOiV7IW5vc3RhcnRmaWxlczolRX19ICV7VCp9ICBcbiUocG9zdF9saW5rKSB9fX19fX0iCi0gI2VuZGlmCi0gCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDE0LWdjYy1kaXNhYmxlLU1BU0tfUkVMQVhfUElDX0NBTExTLWJpdC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMTQtZ2NjLWRpc2FibGUtTUFTS19SRUxBWF9QSUNfQ0FMTFMtYml0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOTJiNWZiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMTQtZ2NjLWRpc2FibGUtTUFTS19SRUxBWF9QSUNfQ0FMTFMtYml0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTkgKzAsMCBAQAotRnJvbSA3MTZkZTVkYjY4NTlmZDFlYTIxMDc4Yzk0YTQxZmFjN2E4ODViN2U5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MTQ6MjAgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAxNC80N10gZ2NjOiBkaXNhYmxlIE1BU0tfUkVMQVhfUElDX0NBTExTIGJpdAotCi1UaGUgbmV3IGZlYXR1cmUgYWRkZWQgYWZ0ZXIgNC4zLjMKLSJodHRwOi8vd3d3LnB1YmJzLm5ldC8yMDA5MDkvZ2NjLzk0MDQ4LXBhdGNoLWFkZC1zdXBwb3J0LWZvci1ybWlwc2phbHIuaHRtbCIKLXdpbGwgY2F1c2UgY2MxcGx1cyBlYXQgdXAgYWxsIHRoZSBzeXN0ZW0gbWVtb3J5IHdoZW4gYnVpbGQgd2Via2l0LWd0ay4KLVRoZSBmdW5jdGlvbiBtaXBzX2dldF9waWNfY2FsbF9zeW1ib2wga2VlcHMgb24gcmVjdXJzaXZlbHkgY2FsbGluZyBpdHNlbGYuCi1EaXNhYmxlIHRoaXMgZmVhdHVyZSB0byB3YWxrIGFzaWRlIHRoZSBidWcuCi0KLVNpZ25lZC1vZmYtYnk6IERvbmd4aWFvIFh1IDxkb25neGlhby54dUBpbnRlbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCi0tLS0KLSBnY2MvY29uZmlndXJlICAgIHwgNyAtLS0tLS0tCi0gZ2NjL2NvbmZpZ3VyZS5hYyB8IDcgLS0tLS0tLQotIDIgZmlsZXMgY2hhbmdlZCwgMTQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlndXJlIGIvZ2NjL2NvbmZpZ3VyZQotaW5kZXggNDg5OGYwNGZhNmIuLjY0MGU0NjQzODA1IDEwMDc1NQotLS0tIGEvZ2NjL2NvbmZpZ3VyZQotKysrIGIvZ2NjL2NvbmZpZ3VyZQotQEAgLTI3MzAzLDEzICsyNzMwMyw2IEBAICRhc19lY2hvX24gImNoZWNraW5nIGFzc2VtYmxlciBhbmQgbGlua2VyIGZvciBleHBsaWNpdCBKQUxSIHJlbG9jYXRpb24uLi4gIiA+JjY7Ci0gICAgICAgICBybSAtZiBjb25mdGVzdC4qCi0gICAgICAgZmkKLSAgICAgZmkKLS0gICAgaWYgdGVzdCAkZ2NjX2N2X2FzX2xkX2phbHJfcmVsb2MgPSB5ZXM7IHRoZW4KLS0gICAgICBpZiB0ZXN0IHgkdGFyZ2V0X2NwdV9kZWZhdWx0ID0geDsgdGhlbgotLSAgICAgICAgdGFyZ2V0X2NwdV9kZWZhdWx0PU1BU0tfUkVMQVhfUElDX0NBTExTCi0tICAgICAgZWxzZQotLSAgICAgICAgdGFyZ2V0X2NwdV9kZWZhdWx0PSIoJHRhcmdldF9jcHVfZGVmYXVsdCl8TUFTS19SRUxBWF9QSUNfQ0FMTFMiCi0tICAgICAgZmkKLS0gICAgZmkKLSAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRnY2NfY3ZfYXNfbGRfamFscl9yZWxvYyIgPiY1Ci0gJGFzX2VjaG8gIiRnY2NfY3ZfYXNfbGRfamFscl9yZWxvYyIgPiY2OyB9Ci0gCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZS5hYyBiL2djYy9jb25maWd1cmUuYWMKLWluZGV4IDlkYzFkYzdmYzk2Li45YTJkYWU1NWJhMiAxMDA2NDQKLS0tLSBhL2djYy9jb25maWd1cmUuYWMKLSsrKyBiL2djYy9jb25maWd1cmUuYWMKLUBAIC00NjQxLDEzICs0NjQxLDYgQEAgeDoKLSAgICAgICAgIHJtIC1mIGNvbmZ0ZXN0LioKLSAgICAgICBmaQotICAgICBmaQotLSAgICBpZiB0ZXN0ICRnY2NfY3ZfYXNfbGRfamFscl9yZWxvYyA9IHllczsgdGhlbgotLSAgICAgIGlmIHRlc3QgeCR0YXJnZXRfY3B1X2RlZmF1bHQgPSB4OyB0aGVuCi0tICAgICAgICB0YXJnZXRfY3B1X2RlZmF1bHQ9TUFTS19SRUxBWF9QSUNfQ0FMTFMKLS0gICAgICBlbHNlCi0tICAgICAgICB0YXJnZXRfY3B1X2RlZmF1bHQ9IigkdGFyZ2V0X2NwdV9kZWZhdWx0KXxNQVNLX1JFTEFYX1BJQ19DQUxMUyIKLS0gICAgICBmaQotLSAgICBmaQotICAgICBBQ19NU0dfUkVTVUxUKCRnY2NfY3ZfYXNfbGRfamFscl9yZWxvYykKLSAKLSAgICAgQUNfQ0FDSEVfQ0hFQ0soW2xpbmtlciBmb3IgLmVoX2ZyYW1lIHBlcnNvbmFsaXR5IHJlbGF4YXRpb25dLAotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxNS1DT0xMRUNUX0dDQ19PUFRJT05TLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxNS1DT0xMRUNUX0dDQ19PUFRJT05TLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZTYyOTQ1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMTUtQ09MTEVDVF9HQ0NfT1BUSU9OUy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLUZyb20gMDRhN2E2NzIzMDFiYjA3Y2FlYTZhN2NhZDgzNzhmNjNmMWZlMzIwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjE2OjI4ICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMTUvNDddIENPTExFQ1RfR0NDX09QVElPTlMKLQotVGhpcyBwYXRjaCBhZGRzIC0tc3lzcm9vdCBpbnRvIENPTExFQ1RfR0NDX09QVElPTlMgd2hpY2ggaXMgdXNlZCB0bwotaW52b2tlIGNvbGxlY3QyLgotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGdjYy9nY2MuYyB8IDkgKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2djYy5jIGIvZ2NjL2djYy5jCi1pbmRleCBhNWZhZmJlNTEwNy4uMDU4OTZlMTk5MjYgMTAwNjQ0Ci0tLS0gYS9nY2MvZ2NjLmMKLSsrKyBiL2djYy9nY2MuYwotQEAgLTQ2NTQsNiArNDY1NCwxNSBAQCBzZXRfY29sbGVjdF9nY2Nfb3B0aW9ucyAodm9pZCkKLSAJCXNpemVvZiAoIkNPTExFQ1RfR0NDX09QVElPTlM9IikgLSAxKTsKLSAKLSAgIGZpcnN0X3RpbWUgPSBUUlVFOwotKyNpZmRlZiBIQVZFX0xEX1NZU1JPT1QKLSsgIGlmICh0YXJnZXRfc3lzdGVtX3Jvb3RfY2hhbmdlZCAmJiB0YXJnZXRfc3lzdGVtX3Jvb3QpCi0rICAgIHsKLSsgICAgICBvYnN0YWNrX2dyb3cgKCZjb2xsZWN0X29ic3RhY2ssICInLS1zeXNyb290PSIsIHNpemVvZigiJy0tc3lzcm9vdD0iKS0xKTsKLSsgICAgICBvYnN0YWNrX2dyb3cgKCZjb2xsZWN0X29ic3RhY2ssIHRhcmdldF9zeXN0ZW1fcm9vdCxzdHJsZW4odGFyZ2V0X3N5c3RlbV9yb290KSk7Ci0rICAgICAgb2JzdGFja19ncm93ICgmY29sbGVjdF9vYnN0YWNrLCAiJyIsIDEpOwotKyAgICAgIGZpcnN0X3RpbWUgPSBGQUxTRTsKLSsgICAgfQotKyNlbmRpZgotICAgZm9yIChpID0gMDsgKGludCkgaSA8IG5fc3dpdGNoZXM7IGkrKykKLSAgICAgewotICAgICAgIGNvbnN0IGNoYXIgKmNvbnN0ICphcmdzOwotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxNi1Vc2UtdGhlLWRlZmF1bHRzLmgtaW4tQi1pbnN0ZWFkLW9mLVMtYW5kLXQtb2UtaW4tQi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMTYtVXNlLXRoZS1kZWZhdWx0cy5oLWluLUItaW5zdGVhZC1vZi1TLWFuZC10LW9lLWluLUIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE5OTEyNTEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxNi1Vc2UtdGhlLWRlZmF1bHRzLmgtaW4tQi1pbnN0ZWFkLW9mLVMtYW5kLXQtb2UtaW4tQi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDk2ICswLDAgQEAKLUZyb20gNDcwNzFjYmQ0ZjEzZmY1YTQ5NzRmNzFmMzU5YTA0YWZjZmIxMjVkYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjE3OjI1ICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMTYvNDddIFVzZSB0aGUgZGVmYXVsdHMuaCBpbiAke0J9IGluc3RlYWQgb2YgJHtTfSwgYW5kIHQtb2UgaW4KLSAke0J9Ci0KLVVzZSB0aGUgZGVmYXVsdHMuaCBpbiAke0J9IGluc3RlYWQgb2YgJHtTfSwgYW5kIHQtb2UgaW4gJHtCfSwgc28gdGhhdAotdGhlIHNvdXJjZSBjYW4gYmUgc2hhcmVkIGJldHdlZW4gZ2NjLWNyb3NzLWluaXRpYWwsCi1nY2MtY3Jvc3MtaW50ZXJtZWRpYXRlLCBnY2MtY3Jvc3MsIGdjYy1ydW50aW1lLCBhbmQgYWxzbyB0aGUgc2RrIGJ1aWxkLgotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotV2hpbGUgY29tcGlsaW5nIGdjYy1jcm9zc3Nkay1pbml0aWFsLXg4Nl82NCBvbiBzb21lIGhvc3QsIHRoZXJlIGlzCi1vY2Nhc2lvbmFsbHkgZmFpbHVyZSB0aGF0IHRlc3QgdGhlIGV4aXN0YW5jZSBvZiBkZWZhdWx0LmggZG9lc24ndAotd29yaywgdGhlIHJlYXNvbiBpcyB0bV9pbmNsdWRlX2xpc3Q9JyoqIGRlZmF1bHRzLmgnIHJhdGhlciB0aGFuCi10bV9pbmNsdWRlX2xpc3Q9JyoqIC4vZGVmYXVsdHMuaCcKLQotU28gd2UgYWRkIHRoZSB0ZXN0IGNvbmRpdGlvbiBmb3IgdGhpcyBzaXR1YXRpb24uCi1TaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBnY2MvTWFrZWZpbGUuaW4gIHwgMiArLQotIGdjYy9jb25maWd1cmUgICAgfCA0ICsrLS0KLSBnY2MvY29uZmlndXJlLmFjIHwgNCArKy0tCi0gZ2NjL21rY29uZmlnLnNoICB8IDQgKystLQotIDQgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL01ha2VmaWxlLmluIGIvZ2NjL01ha2VmaWxlLmluCi1pbmRleCAyNDExNjcxY2VhMy4uN2I1OTBjOWJiZDMgMTAwNjQ0Ci0tLS0gYS9nY2MvTWFrZWZpbGUuaW4KLSsrKyBiL2djYy9NYWtlZmlsZS5pbgotQEAgLTUzMiw3ICs1MzIsNyBAQCBUQVJHRVRfU1lTVEVNX1JPT1QgPSBAVEFSR0VUX1NZU1RFTV9ST09UQAotIFRBUkdFVF9TWVNURU1fUk9PVF9ERUZJTkUgPSBAVEFSR0VUX1NZU1RFTV9ST09UX0RFRklORUAKLSAKLSB4bWFrZV9maWxlPUB4bWFrZV9maWxlQAotLXRtYWtlX2ZpbGU9QHRtYWtlX2ZpbGVACi0rdG1ha2VfZmlsZT1AdG1ha2VfZmlsZUAgLi90LW9lCi0gVE1fRU5ESUFOX0NPTkZJRz1AVE1fRU5ESUFOX0NPTkZJR0AKLSBUTV9NVUxUSUxJQl9DT05GSUc9QFRNX01VTFRJTElCX0NPTkZJR0AKLSBUTV9NVUxUSUxJQl9FWENFUFRJT05TX0NPTkZJRz1AVE1fTVVMVElMSUJfRVhDRVBUSU9OU19DT05GSUdACi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZSBiL2djYy9jb25maWd1cmUKLWluZGV4IDY0MGU0NjQzODA1Li5iNWFjMTU1MjU0MSAxMDA3NTUKLS0tLSBhL2djYy9jb25maWd1cmUKLSsrKyBiL2djYy9jb25maWd1cmUKLUBAIC0xMjE1MCw4ICsxMjE1MCw4IEBAIGZvciBmIGluICR0bV9maWxlOyBkbwotICAgICAgICB0bV9pbmNsdWRlX2xpc3Q9IiR7dG1faW5jbHVkZV9saXN0fSAkZiIKLSAgICAgICAgOzsKLSAgICAgZGVmYXVsdHMuaCApCi0tICAgICAgIHRtX2ZpbGVfbGlzdD0iJHt0bV9maWxlX2xpc3R9IFwkKHNyY2RpcikvJGYiCi0tICAgICAgIHRtX2luY2x1ZGVfbGlzdD0iJHt0bV9pbmNsdWRlX2xpc3R9ICRmIgotKyAgICAgICB0bV9maWxlX2xpc3Q9IiR7dG1fZmlsZV9saXN0fSAuLyRmIgotKyAgICAgICB0bV9pbmNsdWRlX2xpc3Q9IiR7dG1faW5jbHVkZV9saXN0fSAuLyRmIgotICAgICAgICA7OwotICAgICAqICkKLSAgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gXCQoc3JjZGlyKS9jb25maWcvJGYiCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZS5hYyBiL2djYy9jb25maWd1cmUuYWMKLWluZGV4IDlhMmRhZTU1YmEyLi5jYjE0NzlkMWVmNCAxMDA2NDQKLS0tLSBhL2djYy9jb25maWd1cmUuYWMKLSsrKyBiL2djYy9jb25maWd1cmUuYWMKLUBAIC0xOTIyLDggKzE5MjIsOCBAQCBmb3IgZiBpbiAkdG1fZmlsZTsgZG8KLSAgICAgICAgdG1faW5jbHVkZV9saXN0PSIke3RtX2luY2x1ZGVfbGlzdH0gJGYiCi0gICAgICAgIDs7Ci0gICAgIGRlZmF1bHRzLmggKQotLSAgICAgICB0bV9maWxlX2xpc3Q9IiR7dG1fZmlsZV9saXN0fSBcJChzcmNkaXIpLyRmIgotLSAgICAgICB0bV9pbmNsdWRlX2xpc3Q9IiR7dG1faW5jbHVkZV9saXN0fSAkZiIKLSsgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gLi8kZiIKLSsgICAgICAgdG1faW5jbHVkZV9saXN0PSIke3RtX2luY2x1ZGVfbGlzdH0gLi8kZiIKLSAgICAgICAgOzsKLSAgICAgKiApCi0gICAgICAgIHRtX2ZpbGVfbGlzdD0iJHt0bV9maWxlX2xpc3R9IFwkKHNyY2RpcikvY29uZmlnLyRmIgotZGlmZiAtLWdpdCBhL2djYy9ta2NvbmZpZy5zaCBiL2djYy9ta2NvbmZpZy5zaAotaW5kZXggOWZjN2I1Y2E3MzQuLjA0YWJlY2ZlNjQ4IDEwMDY0NAotLS0tIGEvZ2NjL21rY29uZmlnLnNoCi0rKysgYi9nY2MvbWtjb25maWcuc2gKLUBAIC03Nyw3ICs3Nyw3IEBAIGlmIFsgLW4gIiRIRUFERVJTIiBdOyB0aGVuCi0gICAgIGlmIFsgJCMgLWdlIDEgXTsgdGhlbgotIAllY2hvICcjaWZkZWYgSU5fR0NDJyA+PiAke291dHB1dH1UCi0gCWZvciBmaWxlIGluICIkQCI7IGRvCi0tCSAgICBpZiB0ZXN0IHgiJGZpbGUiID0geCJkZWZhdWx0cy5oIjsgdGhlbgotKwkgICAgaWYgdGVzdCB4IiRmaWxlIiA9IHgiLi9kZWZhdWx0cy5oIiAtbyB4IiRmaWxlIiA9IHgiZGVmYXVsdHMuaCI7IHRoZW4KLSAJCXBvc3Rwb25lX2RlZmF1bHRzX2g9InllcyIKLSAJICAgIGVsc2UKLSAJCWVjaG8gIiMgaW5jbHVkZSBcIiRmaWxlXCIiID4+ICR7b3V0cHV0fVQKLUBAIC0xMDksNyArMTA5LDcgQEAgZXNhYwotIAotICMgSWYgd2UgcG9zdHBvbmVkIGluY2x1ZGluZyBkZWZhdWx0cy5oLCBhZGQgdGhlICNpbmNsdWRlIG5vdy4KLSBpZiB0ZXN0IHgiJHBvc3Rwb25lX2RlZmF1bHRzX2giID0geCJ5ZXMiOyB0aGVuCi0tICAgIGVjaG8gIiMgaW5jbHVkZSBcImRlZmF1bHRzLmhcIiIgPj4gJHtvdXRwdXR9VAotKyAgICBlY2hvICIjIGluY2x1ZGUgXCIuL2RlZmF1bHRzLmhcIiIgPj4gJHtvdXRwdXR9VAotIGZpCi0gCi0gIyBBZGQgbXVsdGlwbGUgaW5jbHVzaW9uIHByb3RlY3Rpb24gZ3VhcmQsIHBhcnQgdHdvLgotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxNy1mb3J0cmFuLWNyb3NzLWNvbXBpbGUtaGFjay5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMTctZm9ydHJhbi1jcm9zcy1jb21waWxlLWhhY2sucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUyODMwYzUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxNy1mb3J0cmFuLWNyb3NzLWNvbXBpbGUtaGFjay5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLUZyb20gNGZjMzVhMmJiNzY2NmE3ZGUzNTU2OGViNWQ0N2YwY2U2YWNlYmU2MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjIwOjAxICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMTcvNDddIGZvcnRyYW4gY3Jvc3MtY29tcGlsZSBoYWNrLgotCi0qIEZvcnRyYW4gd291bGQgaGF2ZSBzZWFyY2hlZCBmb3IgYXJtLWFuZ3N0cm9tLWdudWVhYmktZ2ZvcnRyYW4gYnV0IHdvdWxkIGhhdmUgdXNlZAotdXNlZCBnZm9ydGFuLiBGb3IgZ2NjXzQuMi4yLmJiIHdlIHdhbnQgdG8gdXNlIHRoZSBnZm9ydHJhbiBjb21waWxlciBmcm9tIG91ciBjcm9zcwotZGlyZWN0b3J5LgotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQotLS0tCi0gbGliZ2ZvcnRyYW4vY29uZmlndXJlICAgIHwgMiArLQotIGxpYmdmb3J0cmFuL2NvbmZpZ3VyZS5hYyB8IDIgKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2xpYmdmb3J0cmFuL2NvbmZpZ3VyZSBiL2xpYmdmb3J0cmFuL2NvbmZpZ3VyZQotaW5kZXggODEyMzhmY2I3OWMuLjdkZWQ3YWJkNDU2IDEwMDc1NQotLS0tIGEvbGliZ2ZvcnRyYW4vY29uZmlndXJlCi0rKysgYi9saWJnZm9ydHJhbi9jb25maWd1cmUKLUBAIC0xMjc5Miw3ICsxMjc5Miw3IEBAIGVzYWMKLSAKLSAjIFdlIG5lZWQgZ2ZvcnRyYW4gdG8gY29tcGlsZSBwYXJ0cyBvZiB0aGUgbGlicmFyeQotICNBQ19QUk9HX0ZDKGdmb3J0cmFuKQotLUZDPSIkR0ZPUlRSQU4iCi0rI0ZDPSIkR0ZPUlRSQU4iCi0gYWNfZXh0PSR7YWNfZmNfc3JjZXh0LWZ9Ci0gYWNfY29tcGlsZT0nJEZDIC1jICRGQ0ZMQUdTICRhY19mY2ZsYWdzX3NyY2V4dCBjb25mdGVzdC4kYWNfZXh0ID4mNScKLSBhY19saW5rPSckRkMgLW8gY29uZnRlc3QkYWNfZXhlZXh0ICRGQ0ZMQUdTICRMREZMQUdTICRhY19mY2ZsYWdzX3NyY2V4dCBjb25mdGVzdC4kYWNfZXh0ICRMSUJTID4mNScKLWRpZmYgLS1naXQgYS9saWJnZm9ydHJhbi9jb25maWd1cmUuYWMgYi9saWJnZm9ydHJhbi9jb25maWd1cmUuYWMKLWluZGV4IDM3YjEyZDI5OThmLi42M2E0MTY2ZWY2MiAxMDA2NDQKLS0tLSBhL2xpYmdmb3J0cmFuL2NvbmZpZ3VyZS5hYwotKysrIGIvbGliZ2ZvcnRyYW4vY29uZmlndXJlLmFjCi1AQCAtMjQzLDcgKzI0Myw3IEBAIEFDX1NVQlNUKGVuYWJsZV9zdGF0aWMpCi0gCi0gIyBXZSBuZWVkIGdmb3J0cmFuIHRvIGNvbXBpbGUgcGFydHMgb2YgdGhlIGxpYnJhcnkKLSAjQUNfUFJPR19GQyhnZm9ydHJhbikKLS1GQz0iJEdGT1JUUkFOIgotKyNGQz0iJEdGT1JUUkFOIgotIEFDX1BST0dfRkMoZ2ZvcnRyYW4pCi0gCi0gIyBleHRyYSBMRCBGbGFncyB3aGljaCBhcmUgcmVxdWlyZWQgZm9yIHRhcmdldHMKLS0tIAotMi4xMi4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMTgtY3BwLWhvbm9yLXN5c3Jvb3QucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDE4LWNwcC1ob25vci1zeXNyb290LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NTU5MDc0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMTgtY3BwLWhvbm9yLXN5c3Jvb3QucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi1Gcm9tIDFjOGEzMzI0NjljYTRiZmVmYjEwZGY3MDcyMGUwZGM4M2ZmOWE3NTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToyMjowMCArMDQwMAotU3ViamVjdDogW1BBVENIIDE4LzQ3XSBjcHA6IGhvbm9yIHN5c3Jvb3QuCi0KLUN1cnJlbnRseSwgaWYgdGhlIGdjYyB0b29sY2hhaW4gaXMgcmVsb2NhdGVkIGFuZCBpbnN0YWxsZWQgZnJvbSBzc3RhdGUsIHRoZW4geW91IHRyeSBhbmQgY29tcGlsZQotcHJlcHJvY2Vzc2VkIHNvdXJjZSAoLmkgb3IgLmlpIGZpbGVzKSwgdGhlIGNvbXBpbGVyIHdpbGwgdHJ5IGFuZCBhY2Nlc3MgdGhlIGJ1aWx0aW4gc3lzcm9vdCBsb2NhdGlvbgotcmF0aGVyIHRoYW4gdGhlIC0tc3lzcm9vdCBvcHRpb24gc3BlY2lmaWVkIG9uIHRoZSBjb21tYW5kbGluZS4gSWYgYWNjZXNzIHRvIHRoYXQgZGlyZWN0b3J5IGlzCi1wZXJtaXNzaW9uIGRlbmllZCAodW5yZWFkYWJsZSksIGdjYyB3aWxsIGVycm9yLgotCi1UaGlzIGhhcHBlbnMgd2hlbiBjY2FjaGUgaXMgaW4gdXNlIGR1ZSB0byB0aGUgZmFjdCBpdCB1c2VzIHByZXByb2Nlc3NlZCBzb3VyY2UgZmlsZXMuCi0KLVRoZSBmaXggYmVsb3cgYWRkcyAlSSB0byB0aGUgY3BwLW91dHB1dCBzcGVjIG1hY3JvIHNvIHRoZSBkZWZhdWx0IHN1YnN0aXR1dGlvbnMgZm9yIC1pcHJlZml4LAotLWlzeXN0ZW0sIC1pc3lzcm9vdCBoYXBwZW4gYW5kIHRoZSBjb3JyZWN0IHN5c3Jvb3QgaXMgdXNlZC4KLQotW1lPQ1RPICMyMDc0XQotCi1SUCAyMDEyLzA0LzEzCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gZ2NjL2NwL2xhbmctc3BlY3MuaCB8IDIgKy0KLSBnY2MvZ2NjLmMgICAgICAgICAgIHwgMiArLQotIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NwL2xhbmctc3BlY3MuaCBiL2djYy9jcC9sYW5nLXNwZWNzLmgKLWluZGV4IDZiMzgzZTFkODZkLi5jN2M3ZDZhNTZlYyAxMDA2NDQKLS0tLSBhL2djYy9jcC9sYW5nLXNwZWNzLmgKLSsrKyBiL2djYy9jcC9sYW5nLXNwZWNzLmgKLUBAIC02NCw1ICs2NCw1IEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCi0gICB7Ii5paSIsICJAYysrLWNwcC1vdXRwdXQiLCAwLCAwLCAwfSwKLSAgIHsiQGMrKy1jcHAtb3V0cHV0IiwKLSAgICAiJXshTToleyFNTToleyFFOlwKLS0gICAgY2MxcGx1cyAtZnByZXByb2Nlc3NlZCAlaSAlKGNjMV9vcHRpb25zKSAlMlwKLSsgICAgY2MxcGx1cyAtZnByZXByb2Nlc3NlZCAlaSAlSSAlKGNjMV9vcHRpb25zKSAlMlwKLSAgICAgJXshZnN5bnRheC1vbmx5OiUoaW52b2tlX2FzKX19fX0iLCAwLCAwLCAwfSwKLWRpZmYgLS1naXQgYS9nY2MvZ2NjLmMgYi9nY2MvZ2NjLmMKLWluZGV4IDA1ODk2ZTE5OTI2Li5jNzNkNDAyMzk4NyAxMDA2NDQKLS0tLSBhL2djYy9nY2MuYwotKysrIGIvZ2NjL2djYy5jCi1AQCAtMTM1MSw3ICsxMzUxLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBjb21waWxlciBkZWZhdWx0X2NvbXBpbGVyc1tdID0KLSAJCQkJCSAgICVXe28qOi0tb3V0cHV0LXBjaD0lKn19JVZ9fX19fX19IiwgMCwgMCwgMH0sCi0gICB7Ii5pIiwgIkBjcHAtb3V0cHV0IiwgMCwgMCwgMH0sCi0gICB7IkBjcHAtb3V0cHV0IiwKLS0gICAiJXshTToleyFNTToleyFFOmNjMSAtZnByZXByb2Nlc3NlZCAlaSAlKGNjMV9vcHRpb25zKSAleyFmc3ludGF4LW9ubHk6JShpbnZva2VfYXMpfX19fSIsIDAsIDAsIDB9LAotKyAgICIleyFNOiV7IU1NOiV7IUU6Y2MxIC1mcHJlcHJvY2Vzc2VkICVpICVJICUoY2MxX29wdGlvbnMpICV7IWZzeW50YXgtb25seTolKGludm9rZV9hcyl9fX19IiwgMCwgMCwgMH0sCi0gICB7Ii5zIiwgIkBhc3NlbWJsZXIiLCAwLCAwLCAwfSwKLSAgIHsiQGFzc2VtYmxlciIsCi0gICAgIiV7IU06JXshTU06JXshRToleyFTOmFzICUoYXNtX2RlYnVnKSAlKGFzbV9vcHRpb25zKSAlaSAlQSB9fX19IiwgMCwgMCwgMH0sCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDE5LU1JUFM2NC1EZWZhdWx0LXRvLU42NC1BQkkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDE5LU1JUFM2NC1EZWZhdWx0LXRvLU42NC1BQkkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc0MmE0MDEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxOS1NSVBTNjQtRGVmYXVsdC10by1ONjQtQUJJLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAotRnJvbSAwYTNiM2NjNDVlYTdiYTgzYjQ2ZGY3NDY0YjQxYzM3N2UzOTY2ZDg4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MjM6MDggKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAxOS80N10gTUlQUzY0OiBEZWZhdWx0IHRvIE42NCBBQkkKLQotTUlQUzY0IGRlZmF1bHRzIHRvIG4zMiBBQkksIHRoaXMgcGF0Y2ggbWFrZXMgaXQKLXNvIHRoYXQgaXQgZGVmYXVsdHMgdG8gTjY0IEFCSQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIGNvbmZpZyBzcGVjaWZpY10KLS0tLQotIGdjYy9jb25maWcuZ2NjIHwgMTAgKysrKystLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnLmdjYyBiL2djYy9jb25maWcuZ2NjCi1pbmRleCBiOGJiNGQ2NTgyNS4uNWU0NWY0YjUxOTkgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnLmdjYwotKysrIGIvZ2NjL2NvbmZpZy5nY2MKLUBAIC0yMDg0LDI5ICsyMDg0LDI5IEBAIG1pcHMqLSotbGludXgqKQkJCQkjIExpbnV4IE1JUFMsIGVpdGhlciBlbmRpYW4uCi0gCQkJZGVmYXVsdF9taXBzX2FyY2g9bWlwczMyCi0gCQkJOzsKLSAJCW1pcHM2NGVsLXN0LWxpbnV4LWdudSkKLS0JCQlkZWZhdWx0X21pcHNfYWJpPW4zMgotKwkJCWRlZmF1bHRfbWlwc19hYmk9NjQKLSAJCQl0bV9maWxlPSIke3RtX2ZpbGV9IG1pcHMvc3QuaCIKLSAJCQl0bWFrZV9maWxlPSIke3RtYWtlX2ZpbGV9IG1pcHMvdC1zdCIKLSAJCQllbmFibGVfbWlwc19tdWx0aWxpYnM9InllcyIKLSAJCQk7OwotIAkJbWlwczY0b2N0ZW9uKi0qLWxpbnV4KikKLS0JCQlkZWZhdWx0X21pcHNfYWJpPW4zMgotKwkJCWRlZmF1bHRfbWlwc19hYmk9NjQKLSAJCQl0bV9kZWZpbmVzPSIke3RtX2RlZmluZXN9IE1JUFNfQ1BVX1NUUklOR19ERUZBVUxUPVxcXCJvY3Rlb25cXFwiIgotIAkJCXRhcmdldF9jcHVfZGVmYXVsdD1NQVNLX1NPRlRfRkxPQVRfQUJJCi0gCQkJZW5hYmxlX21pcHNfbXVsdGlsaWJzPSJ5ZXMiCi0gCQkJOzsKLSAJCW1pcHNpc2E2NHI2Ki0qLWxpbnV4KikKLS0JCQlkZWZhdWx0X21pcHNfYWJpPW4zMgotKwkJCWRlZmF1bHRfbWlwc19hYmk9NjQKLSAJCQlkZWZhdWx0X21pcHNfYXJjaD1taXBzNjRyNgotIAkJCWVuYWJsZV9taXBzX211bHRpbGlicz0ieWVzIgotIAkJCTs7Ci0gCQltaXBzaXNhNjRyMiotKi1saW51eCopCi0tCQkJZGVmYXVsdF9taXBzX2FiaT1uMzIKLSsJCQlkZWZhdWx0X21pcHNfYWJpPTY0Ci0gCQkJZGVmYXVsdF9taXBzX2FyY2g9bWlwczY0cjIKLSAJCQllbmFibGVfbWlwc19tdWx0aWxpYnM9InllcyIKLSAJCQk7OwotIAkJbWlwczY0Ki0qLWxpbnV4KiB8IG1pcHNpc2E2NCotKi1saW51eCopCi0tCQkJZGVmYXVsdF9taXBzX2FiaT1uMzIKLSsJCQlkZWZhdWx0X21pcHNfYWJpPTY0Ci0gCQkJZW5hYmxlX21pcHNfbXVsdGlsaWJzPSJ5ZXMiCi0gCQkJOzsKLSAJZXNhYwotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyMC1EZWZpbmUtR0xJQkNfRFlOQU1JQ19MSU5LRVItYW5kLVVDTElCQ19EWU5BTUlDX0xJTktFLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyMC1EZWZpbmUtR0xJQkNfRFlOQU1JQ19MSU5LRVItYW5kLVVDTElCQ19EWU5BTUlDX0xJTktFLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZTdiNGRmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMjAtRGVmaW5lLUdMSUJDX0RZTkFNSUNfTElOS0VSLWFuZC1VQ0xJQkNfRFlOQU1JQ19MSU5LRS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIzNCArMCwwIEBACi1Gcm9tIGQ2Yzk4M2I2ODVlZTAzZTljZjIxMTg5MTA4ZDMxZWQ5Zjc2MGZmM2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToyNDo1MCArMDQwMAotU3ViamVjdDogW1BBVENIIDIwLzQ3XSBEZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgYW5kIFVDTElCQ19EWU5BTUlDX0xJTktFUgotIHJlbGF0aXZlIHRvIFNZU1RFTUxJQlNfRElSCi0KLVRoaXMgcGF0Y2ggZGVmaW5lcyBHTElCQ19EWU5BTUlDX0xJTktFUiBhbmQgVUNMSUJDX0RZTkFNSUNfTElOS0VSCi1yZWxhdGl2ZSB0byBTWVNURU1MSUJTX0RJUiB3aGljaCBjYW4gYmUgc2V0IGluIGdlbmVyYXRlZCBoZWFkZXJzCi1UaGlzIGJyZWFrcyB0aGUgYXNzdW1wdGlvbiBvZiBoYXJkY29kZWQgbXVsdGlsaWIgaW4gZ2NjCi1DaGFuZ2UgaXMgb25seSBmb3IgdGhlIHN1cHBvcnRlZCBhcmNoaXRlY3R1cmVzIGluIE9FIGluY2x1ZGluZwotU0gsIHNwYXJjLCBhbHBoYSBmb3IgcG9zc2libGUgZnV0dXJlIHN1cHBvcnQgKGlmIGFueSkKLQotUmVtb3ZlcyB0aGUgZG9faGVhZGVyZml4IHRhc2sgaW4gbWV0YWRhdGEKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBjb25maWd1cmF0aW9uXQotLS0tCi0gZ2NjL2NvbmZpZy9hbHBoYS9saW51eC1lbGYuaCB8ICA0ICsrLS0KLSBnY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmggIHwgIDQgKystLQotIGdjYy9jb25maWcvYXJtL2xpbnV4LWVsZi5oICAgfCAgMiArLQotIGdjYy9jb25maWcvaTM4Ni9saW51eC5oICAgICAgfCAgMiArLQotIGdjYy9jb25maWcvaTM4Ni9saW51eDY0LmggICAgfCAgNiArKystLS0KLSBnY2MvY29uZmlnL2xpbnV4LmggICAgICAgICAgIHwgIDggKysrKy0tLS0KLSBnY2MvY29uZmlnL21pcHMvbGludXguaCAgICAgIHwgMTIgKysrKysrLS0tLS0tCi0gZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oICB8IDE2ICsrKysrKy0tLS0tLS0tLS0KLSBnY2MvY29uZmlnL3NoL2xpbnV4LmggICAgICAgIHwgIDIgKy0KLSBnY2MvY29uZmlnL3NwYXJjL2xpbnV4LmggICAgIHwgIDIgKy0KLSBnY2MvY29uZmlnL3NwYXJjL2xpbnV4NjQuaCAgIHwgIDQgKystLQotIDExIGZpbGVzIGNoYW5nZWQsIDI5IGluc2VydGlvbnMoKyksIDMzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hbHBoYS9saW51eC1lbGYuaCBiL2djYy9jb25maWcvYWxwaGEvbGludXgtZWxmLmgKLWluZGV4IDJjMzlmYmU2MDFjLi42ZDg4ZTIxYWJlMiAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvYWxwaGEvbGludXgtZWxmLmgKLSsrKyBiL2djYy9jb25maWcvYWxwaGEvbGludXgtZWxmLmgKLUBAIC0yMyw4ICsyMyw4IEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCi0gI2RlZmluZSBFWFRSQV9TUEVDUyBcCi0geyAiZWxmX2R5bmFtaWNfbGlua2VyIiwgRUxGX0RZTkFNSUNfTElOS0VSIH0sCi0gCi0tI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUgkiL2xpYi9sZC1saW51eC5zby4yIgotLSNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSICIvbGliL2xkLXVDbGliYy5zby4wIgotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIJU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LnNvLjIiCi0rI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIgIFNZU1RFTUxJQlNfRElSICJsZC11Q2xpYmMuc28uMCIKLSAjaWYgREVGQVVMVF9MSUJDID09IExJQkNfVUNMSUJDCi0gI2RlZmluZSBDSE9PU0VfRFlOQU1JQ19MSU5LRVIoRywgVSkgIiV7bWdsaWJjOiIgRyAiOzoiIFUgIn0iCi0gI2VsaWYgREVGQVVMVF9MSUJDID09IExJQkNfR0xJQkMKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmggYi9nY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmgKLWluZGV4IGEwOGNmYjM0Mzc3Li5mYmFjOWE5ZDk5NCAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvYXJtL2xpbnV4LWVhYmkuaAotKysrIGIvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWFiaS5oCi1AQCAtNjIsOCArNjIsOCBAQAotICAgIEdMSUJDX0RZTkFNSUNfTElOS0VSX0RFRkFVTFQgYW5kIFRBUkdFVF9ERUZBVUxUX0ZMT0FUX0FCSS4gICovCi0gCi0gI3VuZGVmICBHTElCQ19EWU5BTUlDX0xJTktFUgotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVJfU09GVF9GTE9BVCAiL2xpYi9sZC1saW51eC5zby4zIgotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVJfSEFSRF9GTE9BVCAiL2xpYi9sZC1saW51eC1hcm1oZi5zby4zIgotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVJfU09GVF9GTE9BVCBTWVNURU1MSUJTX0RJUiAibGQtbGludXguc28uMyIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSX0hBUkRfRkxPQVQgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LWFybWhmLnNvLjMiCi0gI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUl9ERUZBVUxUIEdMSUJDX0RZTkFNSUNfTElOS0VSX1NPRlRfRkxPQVQKLSAKLSAjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSIFwKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FybS9saW51eC1lbGYuaCBiL2djYy9jb25maWcvYXJtL2xpbnV4LWVsZi5oCi1pbmRleCAzZDYyMzY3YWU2OC4uZThhMTYxOTE4NDkgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL2FybS9saW51eC1lbGYuaAotKysrIGIvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWxmLmgKLUBAIC02MCw3ICs2MCw3IEBACi0gCi0gI2RlZmluZSBMSUJHQ0NfU1BFQyAiJXttZmxvYXQtYWJpPXNvZnQqOi1sZmxvYXR9IC1sZ2NjIgotIAotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbGludXguc28uMiIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC5zby4yIgotIAotICNkZWZpbmUgTElOVVhfVEFSR0VUX0xJTktfU1BFQyAgIiV7aCp9IFwKLSAgICAle3N0YXRpYzotQnN0YXRpY30gXAotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni9saW51eC5oIGIvZ2NjL2NvbmZpZy9pMzg2L2xpbnV4LmgKLWluZGV4IDU5MTMyMTI0ZDZiLi4zMzZkMTU4NjI5YyAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvaTM4Ni9saW51eC5oCi0rKysgYi9nY2MvY29uZmlnL2kzODYvbGludXguaAotQEAgLTIwLDcgKzIwLDcgQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKLSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLwotIAotICNkZWZpbmUgR05VX1VTRVJfTElOS19FTVVMQVRJT04gImVsZl9pMzg2IgotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbGludXguc28uMiIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC5zby4yIgotIAotICN1bmRlZiBNVVNMX0RZTkFNSUNfTElOS0VSCi0gI2RlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSICIvbGliL2xkLW11c2wtaTM4Ni5zby4xIgotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni9saW51eDY0LmggYi9nY2MvY29uZmlnL2kzODYvbGludXg2NC5oCi1pbmRleCBlNjVjNDA0ZmY5MS4uYzM0ZGVkOTg0ODEgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL2kzODYvbGludXg2NC5oCi0rKysgYi9nY2MvY29uZmlnL2kzODYvbGludXg2NC5oCi1AQCAtMjcsOSArMjcsOSBAQCBzZWUgdGhlIGZpbGVzIENPUFlJTkczIGFuZCBDT1BZSU5HLlJVTlRJTUUgcmVzcGVjdGl2ZWx5LiAgSWYgbm90LCBzZWUKLSAjZGVmaW5lIEdOVV9VU0VSX0xJTktfRU1VTEFUSU9ONjQgImVsZl94ODZfNjQiCi0gI2RlZmluZSBHTlVfVVNFUl9MSU5LX0VNVUxBVElPTlgzMiAiZWxmMzJfeDg2XzY0IgotIAotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIzMiAiL2xpYi9sZC1saW51eC5zby4yIgotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVI2NCAiL2xpYjY0L2xkLWxpbnV4LXg4Ni02NC5zby4yIgotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVJYMzIgIi9saWJ4MzIvbGQtbGludXgteDMyLnNvLjIiCi0rI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjMyIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC5zby4yIgotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVI2NCBTWVNURU1MSUJTX0RJUiAibGQtbGludXgteDg2LTY0LnNvLjIiCi0rI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUlgzMiBTWVNURU1MSUJTX0RJUiAibGQtbGludXgteDMyLnNvLjIiCi0gCi0gI3VuZGVmIE1VU0xfRFlOQU1JQ19MSU5LRVIzMgotICNkZWZpbmUgTVVTTF9EWU5BTUlDX0xJTktFUjMyICIvbGliL2xkLW11c2wtaTM4Ni5zby4xIgotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvbGludXguaCBiL2djYy9jb25maWcvbGludXguaAotaW5kZXggYjNhOWU4NWU3N2YuLjJlNjgzZDBjNDMwIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9saW51eC5oCi0rKysgYi9nY2MvY29uZmlnL2xpbnV4LmgKLUBAIC04MSwxMCArODEsMTAgQEAgc2VlIHRoZSBmaWxlcyBDT1BZSU5HMyBhbmQgQ09QWUlORy5SVU5USU1FIHJlc3BlY3RpdmVseS4gIElmIG5vdCwgc2VlCi0gICAgR0xJQkNfRFlOQU1JQ19MSU5LRVIgbXVzdCBiZSBkZWZpbmVkIGZvciBlYWNoIHRhcmdldCB1c2luZyB0aGVtLCBvcgotICAgIEdMSUJDX0RZTkFNSUNfTElOS0VSMzIgYW5kIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgZm9yIHRhcmdldHMKLSAgICBzdXBwb3J0aW5nIGJvdGggMzItYml0IGFuZCA2NC1iaXQgY29tcGlsYXRpb24uICAqLwotLSNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSICIvbGliL2xkLXVDbGliYy5zby4wIgotLSNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSMzIgIi9saWIvbGQtdUNsaWJjLnNvLjAiCi0tI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVI2NCAiL2xpYi9sZDY0LXVDbGliYy5zby4wIgotLSNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSWDMyICIvbGliL2xkeDMyLXVDbGliYy5zby4wIgotKyNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSIFNZU1RFTUxJQlNfRElSICJsZC11Q2xpYmMuc28uMCIKLSsjZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUjMyIFNZU1RFTUxJQlNfRElSICJsZC11Q2xpYmMuc28uMCIKLSsjZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUjY0IFNZU1RFTUxJQlNfRElSICJsZDY0LXVDbGliYy5zby4wIgotKyNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSWDMyIFNZU1RFTUxJQlNfRElSICJsZHgzMi11Q2xpYmMuc28uMCIKLSAjZGVmaW5lIEJJT05JQ19EWU5BTUlDX0xJTktFUiAiL3N5c3RlbS9iaW4vbGlua2VyIgotICNkZWZpbmUgQklPTklDX0RZTkFNSUNfTElOS0VSMzIgIi9zeXN0ZW0vYmluL2xpbmtlciIKLSAjZGVmaW5lIEJJT05JQ19EWU5BTUlDX0xJTktFUjY0ICIvc3lzdGVtL2Jpbi9saW5rZXI2NCIKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL21pcHMvbGludXguaCBiL2djYy9jb25maWcvbWlwcy9saW51eC5oCi1pbmRleCA0NDEzMmI4ZTQ0ZC4uODA1MDVhZDlmNDggMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL21pcHMvbGludXguaAotKysrIGIvZ2NjL2NvbmZpZy9taXBzL2xpbnV4LmgKLUBAIC0yMiwyMCArMjIsMjAgQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKLSAjZGVmaW5lIEdOVV9VU0VSX0xJTktfRU1VTEFUSU9OTjMyICJlbGYzMiV7RUI6Yn0le0VMOmx9dHNtaXBuMzIiCi0gCi0gI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjMyIFwKLS0gICIle21uYW49MjAwODovbGliL2xkLWxpbnV4LW1pcHNuOC5zby4xOzovbGliL2xkLnNvLjF9IgotKyAgIiV7bW5hbj0yMDA4OiIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LW1pcHNuOC5zby4xOzoiIFNZU1RFTUxJQlNfRElSICJsZC5zby4xfSIKLSAjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgXAotLSAgIiV7bW5hbj0yMDA4Oi9saWI2NC9sZC1saW51eC1taXBzbjguc28uMTs6L2xpYjY0L2xkLnNvLjF9IgotKyAgIiV7bW5hbj0yMDA4OiIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LW1pcHNuOC5zby4xOzoiIFNZU1RFTUxJQlNfRElSICJsZC5zby4xfSIKLSAjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSTjMyIFwKLS0gICIle21uYW49MjAwODovbGliMzIvbGQtbGludXgtbWlwc244LnNvLjE7Oi9saWIzMi9sZC5zby4xfSIKLSsgICIle21uYW49MjAwODoiIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC1taXBzbjguc28uMTs6IiBTWVNURU1MSUJTX0RJUiAibGQuc28uMX0iCi0gCi0gI3VuZGVmIFVDTElCQ19EWU5BTUlDX0xJTktFUjMyCi0gI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIzMiBcCi0tICAiJXttbmFuPTIwMDg6L2xpYi9sZC11Q2xpYmMtbWlwc244LnNvLjA7Oi9saWIvbGQtdUNsaWJjLnNvLjB9IgotKyAgIiV7bW5hbj0yMDA4OiIgU1lTVEVNTElCU19ESVIgImxkLXVDbGliYy1taXBzbjguc28uMDs6IiBTWVNURU1MSUJTX0RJUiAibGQtdUNsaWJjLnNvLjB9IgotICN1bmRlZiBVQ0xJQkNfRFlOQU1JQ19MSU5LRVI2NAotICNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSNjQgXAotLSAgIiV7bW5hbj0yMDA4Oi9saWIvbGQ2NC11Q2xpYmMtbWlwc244LnNvLjA7Oi9saWIvbGQ2NC11Q2xpYmMuc28uMH0iCi0rICAiJXttbmFuPTIwMDg6IiBTWVNURU1MSUJTX0RJUiAibGQ2NC11Q2xpYmMtbWlwc244LnNvLjA7OiIgU1lTVEVNTElCU19ESVIgImxkNjQtdUNsaWJjLnNvLjB9IgotICNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSTjMyIFwKLS0gICIle21uYW49MjAwODovbGliMzIvbGQtdUNsaWJjLW1pcHNuOC5zby4wOzovbGliMzIvbGQtdUNsaWJjLnNvLjB9IgotKyAgIiV7bW5hbj0yMDA4OiIgU1lTVEVNTElCU19ESVIgImxkLXVDbGliYy1taXBzbjguc28uMDs6IiBTWVNURU1MSUJTX0RJUiAibGQtdUNsaWJjLnNvLjB9IgotIAotICN1bmRlZiBNVVNMX0RZTkFNSUNfTElOS0VSMzIKLSAjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIzMiBcCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oIGIvZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oCi1pbmRleCA3MWUzNWI3MDlhZC4uM2IwMGVjMGZjZjAgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmgKLSsrKyBiL2djYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaAotQEAgLTQxMiwxNiArNDEyLDExIEBAIGV4dGVybiBpbnQgZG90X3N5bWJvbHM7Ci0gI3VuZGVmCUxJTktfT1NfREVGQVVMVF9TUEVDCi0gI2RlZmluZSBMSU5LX09TX0RFRkFVTFRfU1BFQyAiJShsaW5rX29zX2xpbnV4KSIKLSAKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSMzIgIiUoZHluYW1pY19saW5rZXJfcHJlZml4KS9saWIvbGQuc28uMSIKLS0KLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSMzIgU1lTVEVNTElCU19ESVIgImxkLnNvLjEiCi0gI2lmZGVmIExJTlVYNjRfREVGQVVMVF9BQklfRUxGdjIKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgXAotLSIle21hYmk9ZWxmdjE6JShkeW5hbWljX2xpbmtlcl9wcmVmaXgpL2xpYjY0L2xkNjQuc28uMTsiIFwKLS0iOiUoZHluYW1pY19saW5rZXJfcHJlZml4KS9saWI2NC9sZDY0LnNvLjJ9IgotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVI2NCAiJXttYWJpPWVsZnYxOiIgU1lTVEVNTElCU19ESVIgImxkNjQuc28uMTs6IiBTWVNURU1MSUJTX0RJUiAibGQ2NC5zby4yfSIKLSAjZWxzZQotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVI2NCBcCi0tIiV7bWFiaT1lbGZ2MjolKGR5bmFtaWNfbGlua2VyX3ByZWZpeCkvbGliNjQvbGQ2NC5zby4yOyIgXAotLSI6JShkeW5hbWljX2xpbmtlcl9wcmVmaXgpL2xpYjY0L2xkNjQuc28uMX0iCi0rI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjY0ICIle21hYmk9ZWxmdjI6IiBTWVNURU1MSUJTX0RJUiAibGQ2NC5zby4yOzoiIFNZU1RFTUxJQlNfRElSICJsZDY0LnNvLjF9IgotICNlbmRpZgotIAotICNkZWZpbmUgTVVTTF9EWU5BTUlDX0xJTktFUjMyIFwKLUBAIC00MjksOCArNDI0LDkgQEAgZXh0ZXJuIGludCBkb3Rfc3ltYm9sczsKLSAjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVI2NCBcCi0gICAiL2xpYi9sZC1tdXNsLXBvd2VycGM2NCIgTVVTTF9EWU5BTUlDX0xJTktFUl9FICIle21zb2Z0LWZsb2F0Oi1zZn0uc28uMSIKLSAKLS0jZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUjMyICIvbGliL2xkLXVDbGliYy5zby4wIgotLSNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSNjQgIi9saWIvbGQ2NC11Q2xpYmMuc28uMCIKLSsjZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUjMyIFNZU1RFTUxJQlNfRElSICJsZC11Q2xpYmMuc28uMCIKLSsjZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUjY0IFNZU1RFTUxJQlNfRElSICJsZDY0LXVDbGliYy5zby4wIgotKwotICNpZiBERUZBVUxUX0xJQkMgPT0gTElCQ19VQ0xJQkMKLSAjZGVmaW5lIENIT09TRV9EWU5BTUlDX0xJTktFUihHLCBVLCBNKSBcCi0gICAiJXttZ2xpYmM6IiBHICI7OiV7bW11c2w6IiBNICI7OiIgVSAifX0iCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9zaC9saW51eC5oIGIvZ2NjL2NvbmZpZy9zaC9saW51eC5oCi1pbmRleCBjMzAwODM0MjNmMi4uMTk2YjgyNzI1ZjggMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL3NoL2xpbnV4LmgKLSsrKyBiL2djYy9jb25maWcvc2gvbGludXguaAotQEAgLTY0LDcgKzY0LDcgQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKLSAgICIvbGliL2xkLW11c2wtc2giIE1VU0xfRFlOQU1JQ19MSU5LRVJfRSBNVVNMX0RZTkFNSUNfTElOS0VSX0ZQIFwKLSAgICIle21mZHBpYzotZmRwaWN9LnNvLjEiCi0gCi0tI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1saW51eC5zby4yIgotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LnNvLjIiCi0gCi0gI3VuZGVmIFNVQlRBUkdFVF9MSU5LX0VNVUxfU1VGRklYCi0gI2RlZmluZSBTVUJUQVJHRVRfTElOS19FTVVMX1NVRkZJWCAiJXttZmRwaWM6X2ZkOzpfbGludXh9IgotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvc3BhcmMvbGludXguaCBiL2djYy9jb25maWcvc3BhcmMvbGludXguaAotaW5kZXggY2UwODQ2NTZmY2EuLmJlZDYzMDBjYjJhIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9zcGFyYy9saW51eC5oCi0rKysgYi9nY2MvY29uZmlnL3NwYXJjL2xpbnV4LmgKLUBAIC04Myw3ICs4Myw3IEBAIGV4dGVybiBjb25zdCBjaGFyICpob3N0X2RldGVjdF9sb2NhbF9jcHUgKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7Ci0gICAgV2hlbiB0aGUgLXNoYXJlZCBsaW5rIG9wdGlvbiBpcyB1c2VkIGEgZmluYWwgbGluayBpcyBub3QgYmVpbmcKLSAgICBkb25lLiAgKi8KLSAKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSICIvbGliL2xkLWxpbnV4LnNvLjIiCi0rI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiBTWVNURU1MSUJTX0RJUiAibGQtbGludXguc28uMiIKLSAKLSAjdW5kZWYgIExJTktfU1BFQwotICNkZWZpbmUgTElOS19TUEVDICItbSBlbGYzMl9zcGFyYyAle3NoYXJlZDotc2hhcmVkfSBcCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9zcGFyYy9saW51eDY0LmggYi9nY2MvY29uZmlnL3NwYXJjL2xpbnV4NjQuaAotaW5kZXggNTczY2U4YTlhNGMuLjY3NDlmNmI1ZDljIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9zcGFyYy9saW51eDY0LmgKLSsrKyBiL2djYy9jb25maWcvc3BhcmMvbGludXg2NC5oCi1AQCAtODQsOCArODQsOCBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQotICAgIFdoZW4gdGhlIC1zaGFyZWQgbGluayBvcHRpb24gaXMgdXNlZCBhIGZpbmFsIGxpbmsgaXMgbm90IGJlaW5nCi0gICAgZG9uZS4gICovCi0gCi0tI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjMyICIvbGliL2xkLWxpbnV4LnNvLjIiCi0tI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjY0ICIvbGliNjQvbGQtbGludXguc28uMiIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSMzIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LnNvLjIiCi0rI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjY0IFNZU1RFTUxJQlNfRElSICJsZC1saW51eC5zby4yIgotIAotICNpZmRlZiBTUEFSQ19CSV9BUkNICi0gCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDIxLWdjYy1GaXgtYXJndW1lbnQtbGlzdC10b28tbG9uZy1lcnJvci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMjEtZ2NjLUZpeC1hcmd1bWVudC1saXN0LXRvby1sb25nLWVycm9yLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZTU2MjE0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMjEtZ2NjLUZpeC1hcmd1bWVudC1saXN0LXRvby1sb25nLWVycm9yLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotRnJvbSA4MGMyNDI0N2ZlZDUyYzEyNjk3OTEwODgwOTBiYzBmYTg1MjgwOTgzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MjY6MzcgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAyMS80N10gZ2NjOiBGaXggYXJndW1lbnQgbGlzdCB0b28gbG9uZyBlcnJvci4KLQotVGhlcmUgd291bGQgYmUgYW4gIkFyZ3VtZW50IGxpc3QgdG9vIGxvbmciIGVycm9yIHdoZW4gdGhlCi1idWlsZCBkaXJlY3RvcnkgaXMgbG9uZ2VyIHRoYW4gMjAwLCB0aGlzIGlzIGNhdXNlZCBieToKLQotaGVhZGVycz1gZWNobyAkKFBMVUdJTl9IRUFERVJTKSB8IHRyICcgJyAnXDAxMicgfCBzb3J0IC11YAotCi1UaGUgUExVR0lOX0hFQURFUlMgaXMgdG9vIGxvbmcgYmVmb3JlIHNvcnQsIHNvIHRoZSAiZWNobyIgY2FuJ3QgaGFuZGxlCi1pdCwgdXNlIHRoZSAkKHNvcnQgbGlzdCkgb2YgR05VIG1ha2Ugd2hpY2ggY2FuIGhhbmRsZSB0aGUgdG9vIGxvbmcgbGlzdAotd291bGQgZml4IHRoZSBwcm9ibGVtLCB0aGUgaGVhZGVyIHdvdWxkIGJlIHNob3J0IGVub3VnaCBhZnRlciBzb3J0ZWQuCi1UaGUgInRyICcgJyAnXDAxMiciIHdhcyB1c2VkIGZvciB0cmFuc2xhdGluZyB0aGUgc3BhY2UgdG8gIlxuIiwgdGhlCi0kKHNvcnQgbGlzdCkgZG9lc24ndCBuZWVkIHRoaXMuCi0KLVNpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBnY2MvTWFrZWZpbGUuaW4gfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvTWFrZWZpbGUuaW4gYi9nY2MvTWFrZWZpbGUuaW4KLWluZGV4IDdiNTkwYzliYmQzLi4yM2NjYTdmMGQ1YSAxMDA2NDQKLS0tLSBhL2djYy9NYWtlZmlsZS5pbgotKysrIGIvZ2NjL01ha2VmaWxlLmluCi1AQCAtMzQ1OSw3ICszNDU5LDcgQEAgaW5zdGFsbC1wbHVnaW46IGluc3RhbGxkaXJzIGxhbmcuaW5zdGFsbC1wbHVnaW4gcy1oZWFkZXItdmFycyBpbnN0YWxsLWdlbmd0eXBlCi0gIyBXZSBrZWVwIHRoZSBkaXJlY3Rvcnkgc3RydWN0dXJlIGZvciBmaWxlcyBpbiBjb25maWcgb3IgYy1mYW1pbHkgYW5kIC5kZWYKLSAjIGZpbGVzLiBBbGwgb3RoZXIgZmlsZXMgYXJlIGZsYXR0ZW5lZCB0byBhIHNpbmdsZSBkaXJlY3RvcnkuCi0gCSQobWtpbnN0YWxsZGlycykgJChERVNURElSKSQocGx1Z2luX2luY2x1ZGVkaXIpCi0tCWhlYWRlcnM9YGVjaG8gJChQTFVHSU5fSEVBREVSUykgJCQoY2QgJChzcmNkaXIpOyBlY2hvICouaCAqLmRlZikgfCB0ciAnICcgJ1wwMTInIHwgc29ydCAtdWA7IFwKLSsJaGVhZGVycz0iJChzb3J0ICQoUExVR0lOX0hFQURFUlMpICQkKGNkICQoc3JjZGlyKTsgZWNobyAqLmggKi5kZWYpKSI7IFwKLSAJc3JjZGlyc3RyaXA9YGVjaG8gIiQoc3JjZGlyKSIgfCBzZWQgJ3MvW10uW14kJFxcKnxdL1xcXFwmL2cnYDsgXAotIAlmb3IgZmlsZSBpbiAkJGhlYWRlcnM7IGRvIFwKLSAJICBpZiBbIC1mICQkZmlsZSBdIDsgdGhlbiBcCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDIyLURpc2FibGUtc2R0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyMi1EaXNhYmxlLXNkdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODcxZjE5NS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDIyLURpc2FibGUtc2R0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTEzICswLDAgQEAKLUZyb20gMzAyMWZlYzQ4NWY0NDQ3OGEzZDVmZmZiNGFkYWMxM2Q4MzFmY2RjMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjI4OjEwICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMjIvNDddIERpc2FibGUgc2R0LgotCi1XZSBkb24ndCBsaXN0IGR0cmFjZSBpbiBERVBFTkRTIHNvIHdlIHNob3VsZG4ndCBiZSBkZXBlbmRpbmcgb24gdGhpcyBoZWFkZXIuCi1JdCBtYXkgb3IgbWF5IG5vdCBleGlzdCBmcm9tIHByZWl2b3VzIGJ1aWxkcyB0aG91Z2guIFRvIGJlIGRldGVybWluc3RpYywgZGlzYWJsZQotc2R0LmggdXNhZ2UgYWx3YXlzLiBUaGlzIGF2b2lkcyBidWlsZCBmYWlsdXJlcyBpZiB0aGUgaGVhZGVyIGlzIHJlbW92ZWQgYWZ0ZXIgY29uZmlndXJlCi1idXQgYmVmb3JlIGxpYmdjYyBpcyBjb21waWxlZCBmb3IgZXhhbXBsZS4KLQotUlAgMjAxMi84LzcKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotRGlzYWJsZSBzZHQgZm9yIGxpYnN0ZGMrKy12My4KLQotU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbaGFja10KLS0tLQotIGdjYy9jb25maWd1cmUgICAgICAgICAgICAgfCAxMiArKysrKystLS0tLS0KLSBnY2MvY29uZmlndXJlLmFjICAgICAgICAgIHwgMTggKysrKysrKysrLS0tLS0tLS0tCi0gbGlic3RkYysrLXYzL2NvbmZpZ3VyZSAgICB8ICA2ICsrKy0tLQotIGxpYnN0ZGMrKy12My9jb25maWd1cmUuYWMgfCAgMiArLQotIDQgZmlsZXMgY2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlndXJlIGIvZ2NjL2NvbmZpZ3VyZQotaW5kZXggYjVhYzE1NTI1NDEuLjA4YjJmNjNjN2ZhIDEwMDc1NQotLS0tIGEvZ2NjL2NvbmZpZ3VyZQotKysrIGIvZ2NjL2NvbmZpZ3VyZQotQEAgLTI4OTY3LDEyICsyODk2NywxMiBAQCBmaQotIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgc3lzL3NkdC5oIGluIHRoZSB0YXJnZXQgQyBsaWJyYXJ5IiA+JjUKLSAkYXNfZWNob19uICJjaGVja2luZyBzeXMvc2R0LmggaW4gdGhlIHRhcmdldCBDIGxpYnJhcnkuLi4gIiA+JjY7IH0KLSBoYXZlX3N5c19zZHRfaD1ubwotLWlmIHRlc3QgLWYgJHRhcmdldF9oZWFkZXJfZGlyL3N5cy9zZHQuaDsgdGhlbgotLSAgaGF2ZV9zeXNfc2R0X2g9eWVzCi0tCi0tJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9TWVNfU0RUX0ggMSIgPj5jb25mZGVmcy5oCi0tCi0tZmkKLSsjaWYgdGVzdCAtZiAkdGFyZ2V0X2hlYWRlcl9kaXIvc3lzL3NkdC5oOyB0aGVuCi0rIyAgaGF2ZV9zeXNfc2R0X2g9eWVzCi0rIwotKyMkYXNfZWNobyAiI2RlZmluZSBIQVZFX1NZU19TRFRfSCAxIiA+PmNvbmZkZWZzLmgKLSsjCi0rI2ZpCi0geyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRoYXZlX3N5c19zZHRfaCIgPiY1Ci0gJGFzX2VjaG8gIiRoYXZlX3N5c19zZHRfaCIgPiY2OyB9Ci0gCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZS5hYyBiL2djYy9jb25maWd1cmUuYWMKLWluZGV4IGNiMTQ3OWQxZWY0Li4wNTgxZmU5NjNkYyAxMDA2NDQKLS0tLSBhL2djYy9jb25maWd1cmUuYWMKLSsrKyBiL2djYy9jb25maWd1cmUuYWMKLUBAIC01NzU0LDE1ICs1NzU0LDE1IEBAIGZpCi0gQUNfU1VCU1QoW2VuYWJsZV9kZWZhdWx0X3NzcF0pCi0gCi0gIyBUZXN0IGZvciA8c3lzL3NkdC5oPiBvbiB0aGUgdGFyZ2V0LgotLUdDQ19UQVJHRVRfVEVNUExBVEUoW0hBVkVfU1lTX1NEVF9IXSkKLS1BQ19NU0dfQ0hFQ0tJTkcoc3lzL3NkdC5oIGluIHRoZSB0YXJnZXQgQyBsaWJyYXJ5KQotLWhhdmVfc3lzX3NkdF9oPW5vCi0taWYgdGVzdCAtZiAkdGFyZ2V0X2hlYWRlcl9kaXIvc3lzL3NkdC5oOyB0aGVuCi0tICBoYXZlX3N5c19zZHRfaD15ZXMKLS0gIEFDX0RFRklORShIQVZFX1NZU19TRFRfSCwgMSwKLS0gICAgICAgICAgICBbRGVmaW5lIGlmIHlvdXIgdGFyZ2V0IEMgbGlicmFyeSBwcm92aWRlcyBzeXMvc2R0LmhdKQotLWZpCi0tQUNfTVNHX1JFU1VMVCgkaGF2ZV9zeXNfc2R0X2gpCi0rI0dDQ19UQVJHRVRfVEVNUExBVEUoW0hBVkVfU1lTX1NEVF9IXSkKLSsjQUNfTVNHX0NIRUNLSU5HKHN5cy9zZHQuaCBpbiB0aGUgdGFyZ2V0IEMgbGlicmFyeSkKLSsjaGF2ZV9zeXNfc2R0X2g9bm8KLSsjaWYgdGVzdCAtZiAkdGFyZ2V0X2hlYWRlcl9kaXIvc3lzL3NkdC5oOyB0aGVuCi0rIyAgaGF2ZV9zeXNfc2R0X2g9eWVzCi0rIyAgQUNfREVGSU5FKEhBVkVfU1lTX1NEVF9ILCAxLAotKyMgICAgICAgICAgICBbRGVmaW5lIGlmIHlvdXIgdGFyZ2V0IEMgbGlicmFyeSBwcm92aWRlcyBzeXMvc2R0LmhdKQotKyNmaQotKyNBQ19NU0dfUkVTVUxUKCRoYXZlX3N5c19zZHRfaCkKLSAKLSAjIENoZWNrIGlmIFRGbW9kZSBsb25nIGRvdWJsZSBzaG91bGQgYmUgdXNlZCBieSBkZWZhdWx0IG9yIG5vdC4KLSAjIFNvbWUgZ2xpYmMgdGFyZ2V0cyB1c2VkIERGbW9kZSBsb25nIGRvdWJsZSwgYnV0IHdpdGggZ2xpYmMgMi40Ci1kaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL2NvbmZpZ3VyZSBiL2xpYnN0ZGMrKy12My9jb25maWd1cmUKLWluZGV4IGZiN2UxMjZjMGIwLi5hMTgwNTdmZWI4OCAxMDA3NTUKLS0tLSBhL2xpYnN0ZGMrKy12My9jb25maWd1cmUKLSsrKyBiL2xpYnN0ZGMrKy12My9jb25maWd1cmUKLUBAIC0yMTg1NiwxMSArMjE4NTYsMTEgQEAgYWNfY29tcGlsZT0nJENDIC1jICRDRkxBR1MgJENQUEZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgPiY1JwotIGFjX2xpbms9JyRDQyAtbyBjb25mdGVzdCRhY19leGVleHQgJENGTEFHUyAkQ1BQRkxBR1MgJExERkxBR1MgY29uZnRlc3QuJGFjX2V4dCAkTElCUyA+JjUnCi0gYWNfY29tcGlsZXJfZ251PSRhY19jdl9jX2NvbXBpbGVyX2dudQotIAotLSAgaWYgdGVzdCAkZ2xpYmN4eF9jdl9zeXNfc2R0X2ggPSB5ZXM7IHRoZW4KLSsjICBpZiB0ZXN0ICRnbGliY3h4X2N2X3N5c19zZHRfaCA9IHllczsgdGhlbgotIAotLSRhc19lY2hvICIjZGVmaW5lIEhBVkVfU1lTX1NEVF9IIDEiID4+Y29uZmRlZnMuaAotKyMkYXNfZWNobyAiI2RlZmluZSBIQVZFX1NZU19TRFRfSCAxIiA+PmNvbmZkZWZzLmgKLSAKLS0gIGZpCi0rIyAgZmkKLSAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkZ2xpYmN4eF9jdl9zeXNfc2R0X2giID4mNQotICRhc19lY2hvICIkZ2xpYmN4eF9jdl9zeXNfc2R0X2giID4mNjsgfQotIAotZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9jb25maWd1cmUuYWMgYi9saWJzdGRjKystdjMvY29uZmlndXJlLmFjCi1pbmRleCA4ZTk3MzUwM2JlMC4uYTQ2ZDI1ZTc0MGQgMTAwNjQ0Ci0tLS0gYS9saWJzdGRjKystdjMvY29uZmlndXJlLmFjCi0rKysgYi9saWJzdGRjKystdjMvY29uZmlndXJlLmFjCi1AQCAtMjMwLDcgKzIzMCw3IEBAIEdMSUJDWFhfQ0hFQ0tfU0NfTlBST0NFU1NPUlNfT05MTgotIEdMSUJDWFhfQ0hFQ0tfU0NfTlBST0NfT05MTgotIEdMSUJDWFhfQ0hFQ0tfUFRIUkVBRFNfTlVNX1BST0NFU1NPUlNfTlAKLSBHTElCQ1hYX0NIRUNLX1NZU0NUTF9IV19OQ1BVCi0tR0xJQkNYWF9DSEVDS19TRFRfSAotKyNHTElCQ1hYX0NIRUNLX1NEVF9ICi0gCi0gIyBDaGVjayBmb3IgYXZhaWxhYmxlIGhlYWRlcnMuCi0gQUNfQ0hFQ0tfSEVBREVSUyhbZW5kaWFuLmggZXhlY2luZm8uaCBmbG9hdC5oIGZwLmggaWVlZWZwLmggaW50dHlwZXMuaCBcCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDIzLWxpYnRvb2wucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDIzLWxpYnRvb2wucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI3ZGZiMWYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyMy1saWJ0b29sLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotRnJvbSBlNzlhNGY4MTY5ZTgzNmM4ZGVhYmNhNWE0NTg4NGNmZTExZDA3ODQ3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6Mjk6MTEgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAyMy80N10gbGlidG9vbAotCi1saWJzdGRjKysgZnJvbSBnY2MtcnVudGltZSBnZXRzIGNyZWF0ZWQgd2l0aCAtcnBhdGg9L3Vzci9saWIvLi4vbGliIGZvciBxZW11eDg2LTY0Ci13aGVuIHJ1bm5pbmcgb24gYW0geDg2XzY0IGJ1aWxkIGhvc3QuCi0KLVRoaXMgcGF0Y2ggc3RvcHMgdGhpcyBzcGVhZGluZyB0byBsaWJkaXIgaW4gdGhlIGxpYnN0ZGMrKy5sYSBmaWxlIHdpdGhpbiBsaWJ0b29sLgotQXJndWFibHksIGl0IHNob3VsZG4ndCBiZSBwYXNzaW5nIHRoaXMgaW50byBsaWJ0b29sIGluIHRoZSBmaXJzdCBwbGFjZSBidXQKLWZvciBub3cgdGhpcyByZXNvbHZlcyB0aGUgbmFzdGllc3QgcHJvYmxlbXMgdGhpcyBjYXVzZXMuCi0KLWZ1bmNfbm9ybWFsX2Fic3BhdGggd291bGQgcmVzb2x2ZSBhbiBlbXB0eSBwYXRoIHRvIGBwd2RgIHNvIHdlIG5lZWQKLXRvIGZpbHRlciB0aGUgemVybyBjYXNlLgotCi1SUCAyMDEyLzgvMjQKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBsdG1haW4uc2ggfCA0ICsrKysKLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9sdG1haW4uc2ggYi9sdG1haW4uc2gKLWluZGV4IDk1MDNlYzg1ZDcwLi4wMTIxZmJhNzA3ZiAxMDA2NDQKLS0tLSBhL2x0bWFpbi5zaAotKysrIGIvbHRtYWluLnNoCi1AQCAtNjM1OSw2ICs2MzU5LDEwIEBAIGZ1bmNfbW9kZV9saW5rICgpCi0gCWZ1bmNfd2FybmluZyAiaWdub3JpbmcgbXVsdGlwbGUgXGAtcnBhdGgncyBmb3IgYSBsaWJ0b29sIGxpYnJhcnkiCi0gCi0gICAgICAgaW5zdGFsbF9saWJkaXI9IiQxIgotKyAgICAgIGlmIHRlc3QgLW4gIiRpbnN0YWxsX2xpYmRpciI7IHRoZW4KLSsJZnVuY19ub3JtYWxfYWJzcGF0aCAiJGluc3RhbGxfbGliZGlyIgotKwlpbnN0YWxsX2xpYmRpcj0kZnVuY19ub3JtYWxfYWJzcGF0aF9yZXN1bHQKLSsgICAgICBmaQotIAotICAgICAgIG9sZGxpYnM9Ci0gICAgICAgaWYgdGVzdCAteiAiJHJwYXRoIjsgdGhlbgotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyNC1nY2MtYXJtdjQtcGFzcy1maXgtdjRieC10by1saW5rZXItdG8tc3VwcG9ydC1FQUJJLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyNC1nY2MtYXJtdjQtcGFzcy1maXgtdjRieC10by1saW5rZXItdG8tc3VwcG9ydC1FQUJJLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYTFlMWJiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMjQtZ2NjLWFybXY0LXBhc3MtZml4LXY0YngtdG8tbGlua2VyLXRvLXN1cHBvcnQtRUFCSS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLUZyb20gNzRkOGRjNDhjYjE4NWUzMDRjNjAwNjdiNGQ4YjUwNDQ3ZWMzMjhlYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjMwOjMyICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMjQvNDddIGdjYzogYXJtdjQ6IHBhc3MgZml4LXY0YnggdG8gbGlua2VyIHRvIHN1cHBvcnQgRUFCSS4KLQotVGhlIExJTktfU1BFQyBmb3IgbGludXggZ2V0cyBvdmVyd3JpdHRlbiBieSBsaW51eC1lYWJpLmggd2hpY2gKLW1lYW5zIHRoZSB2YWx1ZSBvZiBUQVJHRVRfRklYX1Y0QlhfU1BFQyBnZXRzIGxvc3QgYW5kIGFzIGEgcmVzdWx0Ci10aGUgb3B0aW9uIGlzIG5vdCBwYXNzZWQgdG8gbGlua2VyIHdoZW4gY2hvc2luZyBtYXJjaD1hcm12NAotVGhpcyBwYXRjaCByZWRlZmluZXMgdGhpcyBpbiBsaW51eC1lYWJpLmggYW5kIHJlaW5zZXJ0cyBpdAotZm9yIGVhYmkgZGVmYXVsdGluZyB0b29sY2hhaW5zLgotCi1XZSBtaWdodCB3YW50IHRvIHNlbmQgaXQgdXBzdHJlYW0uCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gZ2NjL2NvbmZpZy9hcm0vbGludXgtZWFiaS5oIHwgNiArKysrKy0KLSAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmggYi9nY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmgKLWluZGV4IGZiYWM5YTlkOTk0Li41YTUxYThhNzA5NSAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvYXJtL2xpbnV4LWVhYmkuaAotKysrIGIvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWFiaS5oCi1AQCAtODgsMTAgKzg4LDE0IEBACi0gI2RlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSIFwKLSAgICIvbGliL2xkLW11c2wtYXJtIiBNVVNMX0RZTkFNSUNfTElOS0VSX0UgIiV7bWZsb2F0LWFiaT1oYXJkOmhmfS5zby4xIgotIAotKy8qIEZvciBhcm12NCB3ZSBwYXNzIC0tZml4LXY0YnggdG8gbGlua2VyIHRvIHN1cHBvcnQgRUFCSSAqLwotKyN1bmRlZiBUQVJHRVRfRklYX1Y0QlhfU1BFQwotKyNkZWZpbmUgVEFSR0VUX0ZJWF9WNEJYX1NQRUMgIiV7bWNwdT1hcm04fG1jcHU9YXJtODEwfG1jcHU9c3Ryb25nYXJtKnxtYXJjaD1hcm12NDogLS1maXgtdjRieH0iCi0rCi0gLyogQXQgdGhpcyBwb2ludCwgYnBhYmkuaCB3aWxsIGhhdmUgY2xvYmJlcmVkIExJTktfU1BFQy4gIFdlIHdhbnQgdG8KLSAgICB1c2UgdGhlIEdOVS9MaW51eCB2ZXJzaW9uLCBub3QgdGhlIGdlbmVyaWMgQlBBQkkgdmVyc2lvbi4gICovCi0gI3VuZGVmICBMSU5LX1NQRUMKLS0jZGVmaW5lIExJTktfU1BFQyBFQUJJX0xJTktfU1BFQwkJCQkJXAotKyNkZWZpbmUgTElOS19TUEVDIFRBUkdFVF9GSVhfVjRCWF9TUEVDIEVBQklfTElOS19TUEVDCQkJXAotICAgTElOVVhfT1JfQU5EUk9JRF9MRCAoTElOVVhfVEFSR0VUX0xJTktfU1BFQywJCQkJXAotIAkJICAgICAgIExJTlVYX1RBUkdFVF9MSU5LX1NQRUMgIiAiIEFORFJPSURfTElOS19TUEVDKQotIAotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyNS1Vc2UtdGhlLW11bHRpbGliLWNvbmZpZy1maWxlcy1mcm9tLUItaW5zdGVhZC1vZi11c2luLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyNS1Vc2UtdGhlLW11bHRpbGliLWNvbmZpZy1maWxlcy1mcm9tLUItaW5zdGVhZC1vZi11c2luLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMjM0MTMyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMjUtVXNlLXRoZS1tdWx0aWxpYi1jb25maWctZmlsZXMtZnJvbS1CLWluc3RlYWQtb2YtdXNpbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEwMiArMCwwIEBACi1Gcm9tIGFjNTBkYzMwMTBhNjYyMjBhZDQ4M2MwOWVmZTI3MGJiM2Y0Yzk0MjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOTozMzowNCArMDQwMAotU3ViamVjdDogW1BBVENIIDI1LzQ3XSBVc2UgdGhlIG11bHRpbGliIGNvbmZpZyBmaWxlcyBmcm9tICR7Qn0gaW5zdGVhZCBvZgotIHVzaW5nIHRoZSBvbmVzIGZyb20gJHtTfQotCi1Vc2UgdGhlIG11bHRpbGliIGNvbmZpZyBmaWxlcyBmcm9tICR7Qn0gaW5zdGVhZCBvZiB1c2luZyB0aGUgb25lcyBmcm9tICR7U30KLXNvIHRoYXQgdGhlIHNvdXJjZSBjYW4gYmUgc2hhcmVkIGJldHdlZW4gZ2NjLWNyb3NzLWluaXRpYWwsCi1nY2MtY3Jvc3MtaW50ZXJtZWRpYXRlLCBnY2MtY3Jvc3MsIGdjYy1ydW50aW1lLCBhbmQgYWxzbyB0aGUgc2RrIGJ1aWxkLgotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogQ29uc3RhbnRpbiBNdXNjYSA8Y29uc3RhbnRpbngubXVzY2FAaW50ZWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCi0tLS0KLSBnY2MvY29uZmlndXJlICAgIHwgMjIgKysrKysrKysrKysrKysrKysrLS0tLQotIGdjYy9jb25maWd1cmUuYWMgfCAyMiArKysrKysrKysrKysrKysrKystLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZSBiL2djYy9jb25maWd1cmUKLWluZGV4IDA4YjJmNjNjN2ZhLi42YmEzOTFlZDA2OCAxMDA3NTUKLS0tLSBhL2djYy9jb25maWd1cmUKLSsrKyBiL2djYy9jb25maWd1cmUKLUBAIC0xMjEzMCwxMCArMTIxMzAsMjAgQEAgZG9uZQotIHRtYWtlX2ZpbGVfPQotIGZvciBmIGluICR7dG1ha2VfZmlsZX0KLSBkbwotLQlpZiB0ZXN0IC1mICR7c3JjZGlyfS9jb25maWcvJGYKLS0JdGhlbgotLQkJdG1ha2VfZmlsZV89IiR7dG1ha2VfZmlsZV99IFwkKHNyY2RpcikvY29uZmlnLyRmIgotLQlmaQotKyAgY2FzZSAkZiBpbgotKyAgICAqL3QtbGludXg2NCApCi0rICAgICAgIGlmIHRlc3QgLWYgLi9jb25maWcvJGYKLSsgICAgICAgdGhlbgotKyAgICAgICAgIHRtYWtlX2ZpbGVfPSIke3RtYWtlX2ZpbGVffSAuL2NvbmZpZy8kZiIKLSsgICAgICAgZmkKLSsgICAgICAgOzsKLSsgICAgKiApCi0rICAgICAgIGlmIHRlc3QgLWYgJHtzcmNkaXJ9L2NvbmZpZy8kZgotKyAgICAgICB0aGVuCi0rICAgICAgICAgdG1ha2VfZmlsZV89IiR7dG1ha2VfZmlsZV99IFwkKHNyY2RpcikvY29uZmlnLyRmIgotKyAgICAgICBmaQotKyAgICAgICA7OwotKyAgZXNhYwotIGRvbmUKLSB0bWFrZV9maWxlPSIke3RtYWtlX2ZpbGVffSIKLSAKLUBAIC0xMjE0NCw2ICsxMjE1NCwxMCBAQCB0bV9maWxlX2xpc3Q9Im9wdGlvbnMuaCIKLSB0bV9pbmNsdWRlX2xpc3Q9Im9wdGlvbnMuaCBpbnNuLWNvbnN0YW50cy5oIgotIGZvciBmIGluICR0bV9maWxlOyBkbwotICAgY2FzZSAkZiBpbgotKyAgICAqL2xpbnV4NjQuaCApCi0rICAgICAgIHRtX2ZpbGVfbGlzdD0iJHt0bV9maWxlX2xpc3R9IC4vY29uZmlnLyRmIgotKyAgICAgICB0bV9pbmNsdWRlX2xpc3Q9IiR7dG1faW5jbHVkZV9saXN0fSAuL2NvbmZpZy8kZiIKLSsgICAgICAgOzsKLSAgICAgLi8qICkKLSAgICAgICAgZj1gZWNobyAkZiB8IHNlZCAncy9eLi4vLydgCi0gICAgICAgIHRtX2ZpbGVfbGlzdD0iJHt0bV9maWxlX2xpc3R9ICRmIgotZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUuYWMgYi9nY2MvY29uZmlndXJlLmFjCi1pbmRleCAwNTgxZmU5NjNkYy4uODU1MWE0MTJkZjMgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlndXJlLmFjCi0rKysgYi9nY2MvY29uZmlndXJlLmFjCi1AQCAtMTkwMiwxMCArMTkwMiwyMCBAQCBkb25lCi0gdG1ha2VfZmlsZV89Ci0gZm9yIGYgaW4gJHt0bWFrZV9maWxlfQotIGRvCi0tCWlmIHRlc3QgLWYgJHtzcmNkaXJ9L2NvbmZpZy8kZgotLQl0aGVuCi0tCQl0bWFrZV9maWxlXz0iJHt0bWFrZV9maWxlX30gXCQoc3JjZGlyKS9jb25maWcvJGYiCi0tCWZpCi0rICBjYXNlICRmIGluCi0rICAgICovdC1saW51eDY0ICkKLSsgICAgICAgaWYgdGVzdCAtZiAuL2NvbmZpZy8kZgotKyAgICAgICB0aGVuCi0rICAgICAgICAgdG1ha2VfZmlsZV89IiR7dG1ha2VfZmlsZV99IC4vY29uZmlnLyRmIgotKyAgICAgICBmaQotKyAgICAgICA7OwotKyAgICAqICkKLSsgICAgICAgaWYgdGVzdCAtZiAke3NyY2Rpcn0vY29uZmlnLyRmCi0rICAgICAgIHRoZW4KLSsgICAgICAgICB0bWFrZV9maWxlXz0iJHt0bWFrZV9maWxlX30gXCQoc3JjZGlyKS9jb25maWcvJGYiCi0rICAgICAgIGZpCi0rICAgICAgIDs7Ci0rICBlc2FjCi0gZG9uZQotIHRtYWtlX2ZpbGU9IiR7dG1ha2VfZmlsZV99IgotIAotQEAgLTE5MTYsNiArMTkyNiwxMCBAQCB0bV9maWxlX2xpc3Q9Im9wdGlvbnMuaCIKLSB0bV9pbmNsdWRlX2xpc3Q9Im9wdGlvbnMuaCBpbnNuLWNvbnN0YW50cy5oIgotIGZvciBmIGluICR0bV9maWxlOyBkbwotICAgY2FzZSAkZiBpbgotKyAgICAqL2xpbnV4NjQuaCApCi0rICAgICAgIHRtX2ZpbGVfbGlzdD0iJHt0bV9maWxlX2xpc3R9IC4vY29uZmlnLyRmIgotKyAgICAgICB0bV9pbmNsdWRlX2xpc3Q9IiR7dG1faW5jbHVkZV9saXN0fSAuL2NvbmZpZy8kZiIKLSsgICAgICAgOzsKLSAgICAgLi8qICkKLSAgICAgICAgZj1gZWNobyAkZiB8IHNlZCAncy9eLi4vLydgCi0gICAgICAgIHRtX2ZpbGVfbGlzdD0iJHt0bV9maWxlX2xpc3R9ICRmIgotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyNi1Bdm9pZC11c2luZy1saWJkaXItZnJvbS0ubGEtd2hpY2gtdXN1YWxseS1wb2ludHMtdG8tLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyNi1Bdm9pZC11c2luZy1saWJkaXItZnJvbS0ubGEtd2hpY2gtdXN1YWxseS1wb2ludHMtdG8tLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZTI0NzEzLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMjYtQXZvaWQtdXNpbmctbGliZGlyLWZyb20tLmxhLXdoaWNoLXVzdWFsbHktcG9pbnRzLXRvLS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLUZyb20gOWZhYjQ3ZDg2NjI5ODZhZDg4N2Q5ZWRkYzM5ZmNiZTI1ZTU3NjM4MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDIwIEZlYiAyMDE1IDA5OjM5OjM4ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMjYvNDddIEF2b2lkIHVzaW5nIGxpYmRpciBmcm9tIC5sYSB3aGljaCB1c3VhbGx5IHBvaW50cyB0byBhCi0gaG9zdCBwYXRoCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IEpvbmF0aGFuIExpdSA8bmV0MTQ3QGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBsdG1haW4uc2ggfCAzICsrKwotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2x0bWFpbi5zaCBiL2x0bWFpbi5zaAotaW5kZXggMDEyMWZiYTcwN2YuLjUyYmRiZGI1ZjljIDEwMDY0NAotLS0tIGEvbHRtYWluLnNoCi0rKysgYi9sdG1haW4uc2gKLUBAIC01NjI4LDYgKzU2MjgsOSBAQCBmdW5jX21vZGVfbGluayAoKQotIAkgICAgYWJzZGlyPSIkYWJzX2xhZGlyIgotIAkgICAgbGliZGlyPSIkYWJzX2xhZGlyIgotIAkgIGVsc2UKLSsJICAgICMgSW5zdGVhZCBvZiB1c2luZyBsaWJkaXIgZnJvbSAubGEgd2hpY2ggdXN1YWxseSBwb2ludHMgdG8gYSBob3N0IHBhdGgsCi0rCSAgICAjIHVzZSB0aGUgcGF0aCB0aGUgLmxhIGlzIGNvbnRhaW5lZCBpbi4KLSsJICAgIGxpYmRpcj0iJGFic19sYWRpciIKLSAJICAgIGRpcj0iJGxpYmRpciIKLSAJICAgIGFic2Rpcj0iJGxpYmRpciIKLSAJICBmaQotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyNy1leHBvcnQtQ1BQLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyNy1leHBvcnQtQ1BQLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZjllMWYwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMjctZXhwb3J0LUNQUC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAKLUZyb20gZmE2YTQ2ZmRmNzNkZTdlYWNkMjg5YzA4NGJiZGU2NjQzYjIzZjczYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDIwIEZlYiAyMDE1IDA5OjQwOjU5ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMjcvNDddIGV4cG9ydCBDUFAKLQotVGhlIE9FIGVudmlyb25tZW50IHNldHMgYW5kIGV4cG9ydHMgQ1BQIGFzIGJlaW5nIHRoZSB0YXJnZXQgZ2NjLiBXaGVuCi1idWlsZGluZyBnY2MtY3Jvc3MtY2FuYWRpYW4gZm9yIGEgbWluZ3cgdGFyZ2V0dGVkIHNkaywgdGhlIGZvbGxvd2luZyBjYW4gYmUgZm91bmQKLWluIGJ1aWxkLng4Nl82NC1wb2t5c2RrLW1pbmd3MzIuaTU4Ni1wb2t5LWxpbnV4L2J1aWxkLXg4Nl82NC1saW51eC9saWJpYmVydHkvY29uZmlnLmxvZzoKLQotY29uZmlndXJlOjM2NDE6IGNoZWNraW5nIGZvciBfRklMRV9PRkZTRVRfQklUUyB2YWx1ZSBuZWVkZWQgZm9yIGxhcmdlIGZpbGVzCi1jb25maWd1cmU6MzY2NjogZ2NjICAtYyAtaXN5c3RlbS9tZWRpYS9idWlsZDEvcG9reS9idWlsZC90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9pbmNsdWRlIC1PMiAtcGlwZSAgY29uZnRlc3QuYyA+JjUKLWNvbmZpZ3VyZTozNjY2OiAkPyA9IDAKLWNvbmZpZ3VyZTozNjk4OiByZXN1bHQ6IG5vCi1jb25maWd1cmU6Mzc4NjogY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNzb3IKLWNvbmZpZ3VyZTozODU2OiByZXN1bHQ6IHg4Nl82NC1wb2t5c2RrLW1pbmd3MzItZ2NjIC1FIC0tc3lzcm9vdD0vbWVkaWEvYnVpbGQxL3Bva3kvYnVpbGQvdG1wL3N5c3Jvb3RzL3g4Nl82NC1uYXRpdmVzZGstbWluZ3czMi1wb2t5c2RrLW1pbmd3MzIKLWNvbmZpZ3VyZTozODc2OiB4ODZfNjQtcG9reXNkay1taW5ndzMyLWdjYyAtRSAtLXN5c3Jvb3Q9L21lZGlhL2J1aWxkMS9wb2t5L2J1aWxkL3RtcC9zeXNyb290cy94ODZfNjQtbmF0aXZlc2RrLW1pbmd3MzItcG9reXNkay1taW5ndzMyIGNvbmZ0ZXN0LmMKLWNvbmZpZ3VyZTozODc2OiAkPyA9IDAKLQotTm90ZSB0aGlzIGlzIGEgKmJ1aWxkKiB0YXJnZXQgKGluIGJ1aWxkLXg4Nl82NC1saW51eCkgc28gaXQgc2hvdWxkIGJlCi11c2luZyB0aGUgaG9zdCAiZ2NjIiwgbm90IHg4Nl82NC1wb2t5c2RrLW1pbmd3MzItZ2NjLiBTaW5jZSB0aGUgbWluZ3czMgotaGVhZGVycyBhcmUgdmVyeSBkaWZmZXJlbnQsIHVzaW5nIHRoZSB3cm9uZyBjcHAgaXMgYSByZWFsIHByb2JsZW0uIEl0IGlzIGxlYWtpbmcKLWludG8gY29uZmlndXJlIHRocm91Z2ggdGhlIENQUCB2YXJpYWJsZS4gVWx0aW1hdGVseSB0aGlzIGxlYWRzIHRvIGJ1aWxkCi1mYWlsdXJlcyByZWxhdGVkIHRvIG5vdCBiZWluZyBhYmxlIHRvIGluY2x1ZGUgYSBwcm9jZXNzLmggZmlsZSBmb3IgcGVtLXVuaXguYy4KLQotVGhlIGZpeCBpcyB0byBlbnN1cmUgd2UgZXhwb3J0IGEgc2FuZSBDUFAgdmFsdWUgaW50byB0aGUgYnVpbGQKLWVudmlyb25tZW50IHdoZW4gdXNpbmcgYnVpbGQgdGFyZ2V0cy4gV2UgY291bGQgZGVmaW5lIGEgQ1BQX0ZPUl9CVUlMRCB2YWx1ZSB3aGljaCBtYXkgYmUKLXRoZSB2ZXJzaW9uIHdoaWNoIG5lZWRzIHRvIGJlIHVwc3RyZWFtZWQgYnV0IGZvciBub3csIHRoaXMgZml4IGlzIGdvb2QgZW5vdWdoIHRvCi1hdm9pZCB0aGUgcHJvYmxlbS4KLQotUlAgMjIvMDgvMjAxMwotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIE1ha2VmaWxlLmluIHwgMSArCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCi0KLWRpZmYgLS1naXQgYS9NYWtlZmlsZS5pbiBiL01ha2VmaWxlLmluCi1pbmRleCBiODI0ZTBhMGNhMS4uZTM0ZTk1NTUzODggMTAwNjQ0Ci0tLS0gYS9NYWtlZmlsZS5pbgotKysrIGIvTWFrZWZpbGUuaW4KLUBAIC0xNDksNiArMTQ5LDcgQEAgQlVJTERfRVhQT1JUUyA9IFwKLSAJQVI9IiQoQVJfRk9SX0JVSUxEKSI7IGV4cG9ydCBBUjsgXAotIAlBUz0iJChBU19GT1JfQlVJTEQpIjsgZXhwb3J0IEFTOyBcCi0gCUNDPSIkKENDX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ0M7IFwKLSsJQ1BQPSIkKENDX0ZPUl9CVUlMRCkgLUUiOyBleHBvcnQgQ1BQOyBcCi0gCUNGTEFHUz0iJChDRkxBR1NfRk9SX0JVSUxEKSI7IGV4cG9ydCBDRkxBR1M7IFwKLSAJQ09ORklHX1NIRUxMPSIkKFNIRUxMKSI7IGV4cG9ydCBDT05GSUdfU0hFTEw7IFwKLSAJQ1hYPSIkKENYWF9GT1JfQlVJTEQpIjsgZXhwb3J0IENYWDsgXAotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyOC1FbmFibGUtU1BFLUFsdGlWZWMtZ2VuZXJhdGlvbi1vbi1wb3dlcGMtbGludXgtdGFyZ2V0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyOC1FbmFibGUtU1BFLUFsdGlWZWMtZ2VuZXJhdGlvbi1vbi1wb3dlcGMtbGludXgtdGFyZ2V0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOTAzMzQ5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMjgtRW5hYmxlLVNQRS1BbHRpVmVjLWdlbmVyYXRpb24tb24tcG93ZXBjLWxpbnV4LXRhcmdldC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLUZyb20gMmMwNWI0MDcyZjk4MmRmODAwMmQ2MTMyNzgzN2UxOGE3MjRlOTM0ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFsZXhhbmRydS1DZXphciBTYXJkYW4gPGFsZXhhbmRydS5zYXJkYW5AZnJlZXNjYWxlLmNvbT4KLURhdGU6IFdlZCwgNSBGZWIgMjAxNCAxNjo1MjozMSArMDIwMAotU3ViamVjdDogW1BBVENIIDI4LzQ3XSBFbmFibGUgU1BFICYgQWx0aVZlYyBnZW5lcmF0aW9uIG9uIHBvd2VwYypsaW51eCB0YXJnZXQKLQotV2hlbiBpcyBjb25maWd1cmVkIHdpdGggLS10YXJnZXQ9cG93ZXJwYy1saW51eCwgdGhlIHJlc3VsdGluZyBHQ0Mgd2lsbAotbm90IGJlIGFibGUgdG8gZ2VuZXJhdGUgY29kZSBmb3IgU1BFIHRhcmdldHMgKGU1MDB2MS92MikuCi1HQ0MgY29uZmlndXJlZCB3aXRoIC0tdGFyZ2V0PXBvd2VycGMtbGludXhzcGUgd2lsbCBub3QgYmUgYWJsZSB0bwotZ2VuZXJhdGUgQWx0aVZlYyBpbnN0cnVjdGlvbnMgKGZvciBlNjUwMCkuCi1UaGlzIHBhdGNoIG1vZGlmaWVzIHRoZSBjb25maWd1cmVkIGZpbGUgc3VjaCB0aGF0IFNQRSBvciBBbHRpVmVjIGNvZGUKLWNhbiBiZSBnZW5lcmF0ZWQgd2hlbiBnY2MgaXMgY29uZmlndXJlZCB3aXRoIC0tdGFyZ2V0PXBvd2VycGMtbGludXguCi1UaGUgQUJJIGFuZCBzcGVjaWZmaWMgaW5zdHJ1Y3Rpb25zIGNhbiBiZSBzZWxlY3RlZCB0aHJvdWdoIHRoZQotIi1tYWJpPXNwZSBvciAtbWFiaT1hbHRpdmVjIiBhbmQgdGhlICItbXNwZSBvciAtbWFsdGl2ZWMiIHBhcmFtZXRlcnMuCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KLQotU2lnbmVkLW9mZi1ieTogQWxleGFuZHJ1LUNlemFyIFNhcmRhbiA8YWxleGFuZHJ1LnNhcmRhbkBmcmVlc2NhbGUuY29tPgotLS0tCi0gZ2NjL2NvbmZpZy5nY2MgICAgICAgICAgICAgICB8IDkgKysrKysrKystCi0gZ2NjL2NvbmZpZy9yczYwMDAvbGludXhzcGUuaCB8IDMgLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnLmdjYyBiL2djYy9jb25maWcuZ2NjCi1pbmRleCA1ZTQ1ZjRiNTE5OS4uOWIzODFkZmQ5YWYgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnLmdjYwotKysrIGIvZ2NjL2NvbmZpZy5nY2MKLUBAIC0yNDE1LDcgKzI0MTUsMTQgQEAgcG93ZXJwYy0qLXJ0ZW1zKikKLSAJdG1ha2VfZmlsZT0iJHt0bWFrZV9maWxlfSByczYwMDAvdC1mcHJ1bGVzIHJzNjAwMC90LXJ0ZW1zIHJzNjAwMC90LXBwY2NvbW0iCi0gCTs7Ci0gcG93ZXJwYyotKi1saW51eCopCi0tCXRtX2ZpbGU9IiR7dG1fZmlsZX0gZGJ4ZWxmLmggZWxmb3MuaCBnbnUtdXNlci5oIGZyZWVic2Qtc3BlYy5oIHJzNjAwMC9zeXN2NC5oIgotKwljYXNlICR7dGFyZ2V0fSBpbgotKwkgICAgcG93ZXJwYyotKi1saW51eCpzcGUqIHwgcG93ZXJwYyotKi1saW51eCphbHRpdmVjKikKLSsJCXRtX2ZpbGU9IiR7dG1fZmlsZX0gZGJ4ZWxmLmggZWxmb3MuaCBnbnUtdXNlci5oIGZyZWVic2Qtc3BlYy5oIHJzNjAwMC9zeXN2NC5oIgotKwkJOzsKLSsJICAgICopCi0rCQl0bV9maWxlPSIke3RtX2ZpbGV9IGRieGVsZi5oIGVsZm9zLmggZ251LXVzZXIuaCBmcmVlYnNkLXNwZWMuaCByczYwMDAvc3lzdjQuaCByczYwMDAvbGludXhhbHRpdmVjLmggcnM2MDAwL2xpbnV4c3BlLmggcnM2MDAwL2U1MDAuaCIKLSsJCTs7Ci0rCWVzYWMKLSAJZXh0cmFfb3B0aW9ucz0iJHtleHRyYV9vcHRpb25zfSByczYwMDAvc3lzdjQub3B0IgotIAl0bWFrZV9maWxlPSIke3RtYWtlX2ZpbGV9IHJzNjAwMC90LWZwcnVsZXMgcnM2MDAwL3QtcHBjY29tbSIKLSAJZXh0cmFfb2Jqcz0iJGV4dHJhX29ianMgcnM2MDAwLWxpbnV4Lm8iCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yczYwMDAvbGludXhzcGUuaCBiL2djYy9jb25maWcvcnM2MDAwL2xpbnV4c3BlLmgKLWluZGV4IDkyZWZhYmZlNjY0Li42ZDQ4NjQ1MWE3ZSAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvcnM2MDAwL2xpbnV4c3BlLmgKLSsrKyBiL2djYy9jb25maWcvcnM2MDAwL2xpbnV4c3BlLmgKLUBAIC0yNyw2ICsyNywzIEBACi0gI3VuZGVmCVRBUkdFVF9ERUZBVUxUCi0gI2RlZmluZSBUQVJHRVRfREVGQVVMVCBNQVNLX1NUUklDVF9BTElHTgotICNlbmRpZgotLQotLSN1bmRlZiAgQVNNX0RFRkFVTFRfU1BFQwotLSNkZWZpbmUJQVNNX0RFRkFVTFRfU1BFQyAiLW1wcGMgLW1zcGUgLW1lNTAwIgotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyOS1EaXNhYmxlLXRoZS1NVUxUSUxJQl9PU0RJUk5BTUVTLWFuZC1vdGhlci1tdWx0aWxpYi1vLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyOS1EaXNhYmxlLXRoZS1NVUxUSUxJQl9PU0RJUk5BTUVTLWFuZC1vdGhlci1tdWx0aWxpYi1vLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MzA2YTI4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMjktRGlzYWJsZS10aGUtTVVMVElMSUJfT1NESVJOQU1FUy1hbmQtb3RoZXItbXVsdGlsaWItby5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLUZyb20gZWMwZjg0M2I4NmMwZjc2YmM1ZWJiMjBmYWZiYzRhYWUxYmU0ZGI2MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDIwIEZlYiAyMDE1IDEwOjIxOjU1ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMjkvNDddIERpc2FibGUgdGhlIE1VTFRJTElCX09TRElSTkFNRVMgYW5kIG90aGVyIG11bHRpbGliCi0gb3B0aW9ucy4KLQotSGFyZCBjb2RpbmcgdGhlIE1VTFRJTElCX09TRElSTkFNRVMgd2l0aCAuLi9saWI2NCBpcyBjYXVzaW5nIHByb2JsZW1zIG9uCi1zeXN0ZW1zIHdoZXJlIHRoZSBsaWJkaXIgaXMgTk9UIHNldCB0byAvbGliNjQuICBUaGlzIGlzIGFsbG93ZWQgYnkgdGhlCi1BQkksIGFzCi1sb25nIGFzIHRoZSBkeW5hbWljIGxvYWRlciBpcyBwcmVzZW50IGluIC9saWIuCi0KLVdlIHNpbXBseSB3YW50IHRvIHVzZSB0aGUgZGVmYXVsdCBydWxlcyBpbiBnY2MgdG8gZmluZCBhbmQgY29uZmlndXJlIHRoZQotbm9ybWFsIGxpYmRpci4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlW09FLVNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBNYXJrIEhhdGxlIDxtYXJrLmhhdGxlQHdpbmRyaXZlci5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gZ2NjL2NvbmZpZy9hYXJjaDY0L3QtYWFyY2g2NC1saW51eCB8IDggKysrKy0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hYXJjaDY0L3QtYWFyY2g2NC1saW51eCBiL2djYy9jb25maWcvYWFyY2g2NC90LWFhcmNoNjQtbGludXgKLWluZGV4IGFiMDY0YWI2ZjIyLi5mNGIxZjk4YjIxNiAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvYWFyY2g2NC90LWFhcmNoNjQtbGludXgKLSsrKyBiL2djYy9jb25maWcvYWFyY2g2NC90LWFhcmNoNjQtbGludXgKLUBAIC0yMSw4ICsyMSw4IEBACi0gTElCMUFTTVNSQyAgID0gYWFyY2g2NC9saWIxZnVuY3MuYXNtCi0gTElCMUFTTUZVTkNTID0gX2FhcmNoNjRfc3luY19jYWNoZV9yYW5nZQotIAotLUFBUkNIX0JFID0gJChpZiAkKGZpbmRzdHJpbmcgVEFSR0VUX0JJR19FTkRJQU5fREVGQVVMVD0xLCAkKHRtX2RlZmluZXMpKSxfYmUpCi0tTVVMVElMSUJfT1NESVJOQU1FUyA9IG1hYmkubHA2ND0uLi9saWI2NCQoY2FsbCBpZl9tdWx0aWFyY2gsOmFhcmNoNjQkKEFBUkNIX0JFKS1saW51eC1nbnUpCi0tTVVMVElBUkNIX0RJUk5BTUUgPSAkKGNhbGwgaWZfbXVsdGlhcmNoLGFhcmNoNjQkKEFBUkNIX0JFKS1saW51eC1nbnUpCi0rI0FBUkNIX0JFID0gJChpZiAkKGZpbmRzdHJpbmcgVEFSR0VUX0JJR19FTkRJQU5fREVGQVVMVD0xLCAkKHRtX2RlZmluZXMpKSxfYmUpCi0rI01VTFRJTElCX09TRElSTkFNRVMgPSBtYWJpLmxwNjQ9Li4vbGliNjQkKGNhbGwgaWZfbXVsdGlhcmNoLDphYXJjaDY0JChBQVJDSF9CRSktbGludXgtZ251KQotKyNNVUxUSUFSQ0hfRElSTkFNRSA9ICQoY2FsbCBpZl9tdWx0aWFyY2gsYWFyY2g2NCQoQUFSQ0hfQkUpLWxpbnV4LWdudSkKLSAKLS1NVUxUSUxJQl9PU0RJUk5BTUVTICs9IG1hYmkuaWxwMzI9Li4vbGliaWxwMzIKLSsjTVVMVElMSUJfT1NESVJOQU1FUyArPSBtYWJpLmlscDMyPS4uL2xpYmlscDMyCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDMwLUVuc3VyZS10YXJnZXQtZ2NjLWhlYWRlcnMtY2FuLWJlLWluY2x1ZGVkLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAzMC1FbnN1cmUtdGFyZ2V0LWdjYy1oZWFkZXJzLWNhbi1iZS1pbmNsdWRlZC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTY4YmE5NS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDMwLUVuc3VyZS10YXJnZXQtZ2NjLWhlYWRlcnMtY2FuLWJlLWluY2x1ZGVkLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTggKzAsMCBAQAotRnJvbSBiZjU4MzY5ODllMGZmYzFjMWRmMTM2OWRmMDY4NzdlOTZjMDhkZjQxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjAgRmViIDIwMTUgMTA6MjU6MTEgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzMC80N10gRW5zdXJlIHRhcmdldCBnY2MgaGVhZGVycyBjYW4gYmUgaW5jbHVkZWQKLQotVGhlcmUgYXJlIGEgZmV3IGhlYWRlcnMgaW5zdGFsbGVkIGFzIHBhcnQgb2YgdGhlIE9wZW5FbWJlZGRlZAotZ2NjLXJ1bnRpbWUgdGFyZ2V0IChvbXAuaCwgc3NwLyouaCkuIEJlaW5nIGluc3RhbGxlZCBmcm9tIGEgcmVjaXBlCi1idWlsdCBmb3IgdGhlIHRhcmdldCBhcmNoaXRlY3R1cmUsIHRoZXNlIGFyZSB3aXRoaW4gdGhlIHRhcmdldAotc3lzcm9vdCBhbmQgbm90IGNyb3NzL25hdGl2ZXNkazsgdGh1cyB0aGV5IHdlcmVuJ3QgYWJsZSB0byBiZQotZm91bmQgYnkgZ2NjIHdpdGggdGhlIGV4aXN0aW5nIHNlYXJjaCBwYXRocy4gQWRkIHN1cHBvcnQgZm9yCi1waWNraW5nIHVwIHRoZXNlIGhlYWRlcnMgdW5kZXIgdGhlIHN5c3Jvb3Qgc3VwcGxpZWQgb24gdGhlIGdjYwotY29tbWFuZCBsaW5lIGluIG9yZGVyIHRvIHJlc29sdmUgdGhpcy4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IFBhdWwgRWdnbGV0b24gPHBhdWwuZWdnbGV0b25AbGludXguaW50ZWwuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGdjYy9NYWtlZmlsZS5pbiAgfCAyICsrCi0gZ2NjL2NwcGRlZmF1bHQuYyB8IDQgKysrKwotIGdjYy9kZWZhdWx0cy5oICAgfCA5ICsrKysrKysrKwotIGdjYy9nY2MuYyAgICAgICAgfCA3IC0tLS0tLS0KLSA0IGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvTWFrZWZpbGUuaW4gYi9nY2MvTWFrZWZpbGUuaW4KLWluZGV4IDIzY2NhN2YwZDVhLi45NWQyMWVmZmFkMyAxMDA2NDQKLS0tLSBhL2djYy9NYWtlZmlsZS5pbgotKysrIGIvZ2NjL01ha2VmaWxlLmluCi1AQCAtNjA4LDYgKzYwOCw3IEBAIGxpYmV4ZWNkaXIgPSBAbGliZXhlY2RpckAKLSAKLSAjIERpcmVjdG9yeSBpbiB3aGljaCB0aGUgY29tcGlsZXIgZmluZHMgbGlicmFyaWVzIGV0Yy4KLSBsaWJzdWJkaXIgPSAkKGxpYmRpcikvZ2NjLyQocmVhbF90YXJnZXRfbm9uY2Fub25pY2FsKS8kKHZlcnNpb24pJChhY2NlbF9kaXJfc3VmZml4KQotK2xpYnN1YmRpcl90YXJnZXQgPSBnY2MvJCh0YXJnZXRfbm9uY2Fub25pY2FsKS8kKHZlcnNpb24pCi0gIyBEaXJlY3RvcnkgaW4gd2hpY2ggdGhlIGNvbXBpbGVyIGZpbmRzIGV4ZWN1dGFibGVzCi0gbGliZXhlY3N1YmRpciA9ICQobGliZXhlY2RpcikvZ2NjLyQocmVhbF90YXJnZXRfbm9uY2Fub25pY2FsKS8kKHZlcnNpb24pJChhY2NlbF9kaXJfc3VmZml4KQotICMgRGlyZWN0b3J5IGluIHdoaWNoIGFsbCBwbHVnaW4gcmVzb3VyY2VzIGFyZSBpbnN0YWxsZWQKLUBAIC0yNzkxLDYgKzI3OTIsNyBAQCBDRkxBR1MtaW50bC5vICs9IC1ETE9DQUxFRElSPVwiJChsb2NhbGVkaXIpXCIKLSAKLSBQUkVQUk9DRVNTT1JfREVGSU5FUyA9IFwKLSAgIC1ER0NDX0lOQ0xVREVfRElSPVwiJChsaWJzdWJkaXIpL2luY2x1ZGVcIiBcCi0rICAtREdDQ19JTkNMVURFX1NVQkRJUl9UQVJHRVQ9XCIkKGxpYnN1YmRpcl90YXJnZXQpL2luY2x1ZGVcIiBcCi0gICAtREZJWEVEX0lOQ0xVREVfRElSPVwiJChsaWJzdWJkaXIpL2luY2x1ZGUtZml4ZWRcIiBcCi0gICAtREdQTFVTUExVU19JTkNMVURFX0RJUj1cIiQoZ2NjX2d4eF9pbmNsdWRlX2RpcilcIiBcCi0gICAtREdQTFVTUExVU19JTkNMVURFX0RJUl9BRERfU1lTUk9PVD0kKGdjY19neHhfaW5jbHVkZV9kaXJfYWRkX3N5c3Jvb3QpIFwKLWRpZmYgLS1naXQgYS9nY2MvY3BwZGVmYXVsdC5jIGIvZ2NjL2NwcGRlZmF1bHQuYwotaW5kZXggMTBiOTZlY2EwYTcuLmM4ZGEwODg0ODcyIDEwMDY0NAotLS0tIGEvZ2NjL2NwcGRlZmF1bHQuYwotKysrIGIvZ2NjL2NwcGRlZmF1bHQuYwotQEAgLTU5LDYgKzU5LDEwIEBAIGNvbnN0IHN0cnVjdCBkZWZhdWx0X2luY2x1ZGUgY3BwX2luY2x1ZGVfZGVmYXVsdHNbXQotICAgICAvKiBUaGlzIGlzIHRoZSBkaXIgZm9yIGdjYydzIHByaXZhdGUgaGVhZGVycy4gICovCi0gICAgIHsgR0NDX0lOQ0xVREVfRElSLCAiR0NDIiwgMCwgMCwgMCwgMCB9LAotICNlbmRpZgotKyNpZmRlZiBHQ0NfSU5DTFVERV9TVUJESVJfVEFSR0VUCi0rICAgIC8qIFRoaXMgaXMgdGhlIGRpciBmb3IgZ2NjJ3MgcHJpdmF0ZSBoZWFkZXJzIHVuZGVyIHRoZSBzcGVjaWZpZWQgc3lzcm9vdC4gICovCi0rICAgIHsgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8yIEdDQ19JTkNMVURFX1NVQkRJUl9UQVJHRVQsICJHQ0MiLCAwLCAwLCAxLCAwIH0sCi0rI2VuZGlmCi0gI2lmZGVmIExPQ0FMX0lOQ0xVREVfRElSCi0gICAgIC8qIC91c3IvbG9jYWwvaW5jbHVkZSBjb21lcyBiZWZvcmUgdGhlIGZpeGluY2x1ZGVkIGhlYWRlciBmaWxlcy4gICovCi0gICAgIHsgTE9DQUxfSU5DTFVERV9ESVIsIDAsIDAsIDEsIDEsIDIgfSwKLWRpZmYgLS1naXQgYS9nY2MvZGVmYXVsdHMuaCBiL2djYy9kZWZhdWx0cy5oCi1pbmRleCA3YWQ5MmQ5MjBmOC4uMzk4NDhjYzljMGUgMTAwNjQ0Ci0tLS0gYS9nY2MvZGVmYXVsdHMuaAotKysrIGIvZ2NjL2RlZmF1bHRzLmgKLUBAIC0xNDc1LDQgKzE0NzUsMTMgQEAgc2VlIHRoZSBmaWxlcyBDT1BZSU5HMyBhbmQgQ09QWUlORy5SVU5USU1FIHJlc3BlY3RpdmVseS4gIElmIG5vdCwgc2VlCi0gI2RlZmluZSBEV0FSRl9HTkFUX0VOQ09ESU5HU19ERUZBVUxUIERXQVJGX0dOQVRfRU5DT0RJTkdTX0dEQgotICNlbmRpZgotIAotKy8qIERlZmF1bHQgcHJlZml4ZXMgdG8gYXR0YWNoIHRvIGNvbW1hbmQgbmFtZXMuICAqLwotKwotKyNpZm5kZWYgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8xCi0rI2RlZmluZSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzEgIi9saWIvIgotKyNlbmRpZgotKyNpZm5kZWYgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8yCi0rI2RlZmluZSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzIgIi91c3IvbGliLyIKLSsjZW5kaWYKLSsKLSAjZW5kaWYgIC8qICEgR0NDX0RFRkFVTFRTX0ggKi8KLWRpZmYgLS1naXQgYS9nY2MvZ2NjLmMgYi9nY2MvZ2NjLmMKLWluZGV4IGM3M2Q0MDIzOTg3Li5iMjcyNDVkYmY3NyAxMDA2NDQKLS0tLSBhL2djYy9nY2MuYwotKysrIGIvZ2NjL2djYy5jCi1AQCAtMTQ3MiwxMyArMTQ3Miw2IEBAIHN0YXRpYyBjb25zdCBjaGFyICpnY2NfbGliZXhlY19wcmVmaXg7Ci0gCi0gLyogRGVmYXVsdCBwcmVmaXhlcyB0byBhdHRhY2ggdG8gY29tbWFuZCBuYW1lcy4gICovCi0gCi0tI2lmbmRlZiBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzEKLS0jZGVmaW5lIFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMSAiL2xpYi8iCi0tI2VuZGlmCi0tI2lmbmRlZiBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzIKLS0jZGVmaW5lIFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMiAiL3Vzci9saWIvIgotLSNlbmRpZgotLQotICNpZmRlZiBDUk9TU19ESVJFQ1RPUllfU1RSVUNUVVJFICAvKiBEb24ndCB1c2UgdGhlc2UgcHJlZml4ZXMgZm9yIGEgY3Jvc3MgY29tcGlsZXIuICAqLwotICN1bmRlZiBNRF9FWEVDX1BSRUZJWAotICN1bmRlZiBNRF9TVEFSVEZJTEVfUFJFRklYCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDMxLWdjYy00Ljgtd29uLXQtYnVpbGQtd2l0aC1kaXNhYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDMxLWdjYy00Ljgtd29uLXQtYnVpbGQtd2l0aC1kaXNhYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxODQwMTAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAzMS1nY2MtNC44LXdvbi10LWJ1aWxkLXdpdGgtZGlzYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotRnJvbSBjN2I0ZDk1N2VkZGE5NTVmYmU0MDVmZDUyOTU4NDY2MTQ1MjlmNTE3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjAgRmViIDIwMTUgMTE6MTc6MTkgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzMS80N10gZ2NjIDQuOCsgd29uJ3QgYnVpbGQgd2l0aCAtLWRpc2FibGUtZGVwZW5kZW5jeS10cmFja2luZwotCi1zaW5jZSB0aGUgKi5QcG8gZmlsZXMgZG9uJ3QgZ2V0IGNyZWF0ZWQgdW5sZXNzIC0tZW5hYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcgaXMgdHJ1ZS4KLQotVGhpcyBwYXRjaCBlbnN1cmVzIHdlIG9ubHkgdXNlIHRob3NlIGNvbXBpbGVyIG9wdGlvbnMgd2hlbiBpdHMgZW5hYmxlZC4KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKLQotKFByb2JsZW0gd2FzIGFscmVhZHkgcmVwb3J0ZWQgdXBzdHJlYW0sIGF0dGFjaGVkIHRoaXMgcGF0Y2ggdGhlcmUKLWh0dHA6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NTU5MzApCi0KLVJQCi0yMDEyLzA5LzIyCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBsaWJhdG9taWMvTWFrZWZpbGUuYW0gfCAzICsrLQotIGxpYmF0b21pYy9NYWtlZmlsZS5pbiB8IDMgKystCi0gMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJhdG9taWMvTWFrZWZpbGUuYW0gYi9saWJhdG9taWMvTWFrZWZpbGUuYW0KLWluZGV4IGQ3MzE0MDZmZGJkLi4yZmFmYzcyZDJlNyAxMDA2NDQKLS0tLSBhL2xpYmF0b21pYy9NYWtlZmlsZS5hbQotKysrIGIvbGliYXRvbWljL01ha2VmaWxlLmFtCi1AQCAtMTAxLDcgKzEwMSw4IEBAIFBBVF9TCQk9ICQod29yZCAzLCQoUEFUX1NQTElUKSkKLSBJRlVOQ19ERUYJPSAtRElGVU5DX0FMVD0kKFBBVF9TKQotIElGVU5DX09QVAk9ICQod29yZCAkKFBBVF9TKSwkKElGVU5DX09QVElPTlMpKQotIAotLU1fREVQUwkJPSAtTVQgJEAgLU1EIC1NUCAtTUYgJChERVBESVIpLyQoQEYpLlBwbwotK0BBTURFUF9UUlVFQE1fREVQUwkJPSAtTVQgJEAgLU1EIC1NUCAtTUYgJChERVBESVIpLyQoQEYpLlBwbwotK0BBTURFUF9GQUxTRUBNX0RFUFMJCT0KLSBNX1NJWkUJCT0gLUROPSQoUEFUX04pCi0gTV9JRlVOQwkJPSAkKGlmICQoUEFUX1MpLCQoSUZVTkNfREVGKSAkKElGVU5DX09QVCkpCi0gTV9GSUxFCQk9ICQoUEFUX0JBU0UpX24uYwotZGlmZiAtLWdpdCBhL2xpYmF0b21pYy9NYWtlZmlsZS5pbiBiL2xpYmF0b21pYy9NYWtlZmlsZS5pbgotaW5kZXggZjZlZWFiMzEyZWEuLjNmMDZhODk0MDU4IDEwMDY0NAotLS0tIGEvbGliYXRvbWljL01ha2VmaWxlLmluCi0rKysgYi9saWJhdG9taWMvTWFrZWZpbGUuaW4KLUBAIC0zMzEsNyArMzMxLDggQEAgUEFUX04gPSAkKHdvcmQgMiwkKFBBVF9TUExJVCkpCi0gUEFUX1MgPSAkKHdvcmQgMywkKFBBVF9TUExJVCkpCi0gSUZVTkNfREVGID0gLURJRlVOQ19BTFQ9JChQQVRfUykKLSBJRlVOQ19PUFQgPSAkKHdvcmQgJChQQVRfUyksJChJRlVOQ19PUFRJT05TKSkKLS1NX0RFUFMgPSAtTVQgJEAgLU1EIC1NUCAtTUYgJChERVBESVIpLyQoQEYpLlBwbwotK0BBTURFUF9UUlVFQE1fREVQUyA9IC1NVCAkQCAtTUQgLU1QIC1NRiAkKERFUERJUikvJChARikuUHBvCi0rQEFNREVQX0ZBTFNFQE1fREVQUyA9Ci0gTV9TSVpFID0gLUROPSQoUEFUX04pCi0gTV9JRlVOQyA9ICQoaWYgJChQQVRfUyksJChJRlVOQ19ERUYpICQoSUZVTkNfT1BUKSkKLSBNX0ZJTEUgPSAkKFBBVF9CQVNFKV9uLmMKLS0tIAotMi4xMi4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMzItRG9uLXQtc2VhcmNoLWhvc3QtZGlyZWN0b3J5LWR1cmluZy1yZWxpbmstaWYtaW5zdF9wci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMzItRG9uLXQtc2VhcmNoLWhvc3QtZGlyZWN0b3J5LWR1cmluZy1yZWxpbmstaWYtaW5zdF9wci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTg5MDVmNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDMyLURvbi10LXNlYXJjaC1ob3N0LWRpcmVjdG9yeS1kdXJpbmctcmVsaW5rLWlmLWluc3RfcHIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi1Gcm9tIDNiZTZiNzY2YTU4ODFiMGIxODdjM2MzYzY4MjUwYTllNGY3YzBmYTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVHVlLCAzIE1hciAyMDE1IDA4OjIxOjE5ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMzIvNDddIERvbid0IHNlYXJjaCBob3N0IGRpcmVjdG9yeSBkdXJpbmcgInJlbGluayIgaWYKLSAkaW5zdF9wcmVmaXggaXMgcHJvdmlkZWQKLQotaHR0cDovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2xpYnRvb2wtcGF0Y2hlcy8yMDExLTAxL21zZzAwMDI2Lmh0bWwKLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGx0bWFpbi5zaCB8IDUgKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbHRtYWluLnNoIGIvbHRtYWluLnNoCi1pbmRleCA1MmJkYmRiNWY5Yy4uODJiY2VjMzlmMDUgMTAwNjQ0Ci0tLS0gYS9sdG1haW4uc2gKLSsrKyBiL2x0bWFpbi5zaAotQEAgLTYwMDQsMTIgKzYwMDQsMTMgQEAgZnVuY19tb2RlX2xpbmsgKCkKLSAJICAgICAgZmkKLSAJICAgIGVsc2UKLSAJICAgICAgIyBXZSBjYW5ub3Qgc2VlbSB0byBoYXJkY29kZSBpdCwgZ3Vlc3Mgd2UnbGwgZmFrZSBpdC4KLSsJICAgICAgIyBEZWZhdWx0IGlmICRsaWJkaXIgaXMgbm90IHJlbGF0aXZlIHRvIHRoZSBwcmVmaXg6Ci0gCSAgICAgIGFkZF9kaXI9Ii1MJGxpYmRpciIKLS0JICAgICAgIyBUcnkgbG9va2luZyBmaXJzdCBpbiB0aGUgbG9jYXRpb24gd2UncmUgYmVpbmcgaW5zdGFsbGVkIHRvLgotKwotIAkgICAgICBpZiB0ZXN0IC1uICIkaW5zdF9wcmVmaXhfZGlyIjsgdGhlbgotIAkJY2FzZSAkbGliZGlyIGluCi0gCQkgIFtcXC9dKikKLS0JCSAgICBhZGRfZGlyPSIkYWRkX2RpciAtTCRpbnN0X3ByZWZpeF9kaXIkbGliZGlyIgotKwkJICAgIGFkZF9kaXI9Ii1MJGluc3RfcHJlZml4X2RpciRsaWJkaXIiCi0gCQkgICAgOzsKLSAJCWVzYWMKLSAJICAgICAgZmkKLS0tIAotMi4xMi4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMzMtVXNlLVNZU1RFTUxJQlNfRElSLXJlcGxhY2VtZW50LWluc3RlYWQtb2YtaGFyZGNvZGluZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMzMtVXNlLVNZU1RFTUxJQlNfRElSLXJlcGxhY2VtZW50LWluc3RlYWQtb2YtaGFyZGNvZGluZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzBiOGRmMy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDMzLVVzZS1TWVNURU1MSUJTX0RJUi1yZXBsYWNlbWVudC1pbnN0ZWFkLW9mLWhhcmRjb2RpbmcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1Gcm9tIDZlZGNhYjkwNDZiODYyY2JiOWI0Njg5MmZjMzkwY2U2OTk3NjUzOWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVHVlLCAyOCBBcHIgMjAxNSAyMzoxNToyNyAtMDcwMAotU3ViamVjdDogW1BBVENIIDMzLzQ3XSBVc2UgU1lTVEVNTElCU19ESVIgcmVwbGFjZW1lbnQgaW5zdGVhZCBvZiBoYXJkY29kaW5nCi0gYmFzZV9saWJkaXIKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRS1TcGVjaWZpY10KLQotIGdjYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmggfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1saW51eC5oIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtbGludXguaAotaW5kZXggYzQ1ZmMxZDM1ZDEuLmE3YWZlMTk3MjY2IDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtbGludXguaAotKysrIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtbGludXguaAotQEAgLTIxLDcgKzIxLDcgQEAKLSAjaWZuZGVmIEdDQ19BQVJDSDY0X0xJTlVYX0gKLSAjZGVmaW5lIEdDQ19BQVJDSDY0X0xJTlVYX0gKLSAKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSICIvbGliL2xkLWxpbnV4LWFhcmNoNjQle21iaWctZW5kaWFuOl9iZX0le21hYmk9aWxwMzI6X2lscDMyfS5zby4xIgotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC1hYXJjaDY0JXttYmlnLWVuZGlhbjpfYmV9JXttYWJpPWlscDMyOl9pbHAzMn0uc28uMSIKLSAKLSAjdW5kZWYgTVVTTF9EWU5BTUlDX0xJTktFUgotICNkZWZpbmUgTVVTTF9EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1tdXNsLWFhcmNoNjQle21iaWctZW5kaWFuOl9iZX0le21hYmk9aWxwMzI6X2lscDMyfS5zby4xIgotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAzNC1hYXJjaDY0LUFkZC1zdXBwb3J0LWZvci1tdXNsLWxkc28ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDM0LWFhcmNoNjQtQWRkLXN1cHBvcnQtZm9yLW11c2wtbGRzby5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2Q4NjZkOS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDM0LWFhcmNoNjQtQWRkLXN1cHBvcnQtZm9yLW11c2wtbGRzby5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLUZyb20gYjE0MGQ2ODM5Y2ZiYTljYWM4OTJiYzczNmQ5ODQ1NDA1NTJkNmE1NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDI4IEFwciAyMDE1IDIzOjE4OjM5IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggMzQvNDddIGFhcmNoNjQ6IEFkZCBzdXBwb3J0IGZvciBtdXNsIGxkc28KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRS1TcGVjaWZpY10KLQotIGdjYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmggfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1saW51eC5oIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtbGludXguaAotaW5kZXggYTdhZmUxOTcyNjYuLjU4MGMyYzdlYTE1IDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtbGludXguaAotKysrIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtbGludXguaAotQEAgLTI0LDcgKzI0LDcgQEAKLSAjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSICBTWVNURU1MSUJTX0RJUiAibGQtbGludXgtYWFyY2g2NCV7bWJpZy1lbmRpYW46X2JlfSV7bWFiaT1pbHAzMjpfaWxwMzJ9LnNvLjEiCi0gCi0gI3VuZGVmIE1VU0xfRFlOQU1JQ19MSU5LRVIKLS0jZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbXVzbC1hYXJjaDY0JXttYmlnLWVuZGlhbjpfYmV9JXttYWJpPWlscDMyOl9pbHAzMn0uc28uMSIKLSsjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIgIFNZU1RFTUxJQlNfRElSICJsZC1tdXNsLWFhcmNoNjQle21iaWctZW5kaWFuOl9iZX0le21hYmk9aWxwMzI6X2lscDMyfS5zby4xIgotIAotICN1bmRlZiAgQVNBTl9DQzFfU1BFQwotICNkZWZpbmUgQVNBTl9DQzFfU1BFQyAiJXslOnNhbml0aXplKGFkZHJlc3MpOi1mdW53aW5kLXRhYmxlc30iCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDM1LWxpYmNjMS1maXgtbGliY2MxLXMtaW5zdGFsbC1wYXRoLWFuZC1ycGF0aC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMzUtbGliY2MxLWZpeC1saWJjYzEtcy1pbnN0YWxsLXBhdGgtYW5kLXJwYXRoLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMmMxOTU2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMzUtbGliY2MxLWZpeC1saWJjYzEtcy1pbnN0YWxsLXBhdGgtYW5kLXJwYXRoLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotRnJvbSA2MzYxN2YyZGExNTNkYjEwZmEyZmU5MzhjY2UzMWJlZTAxZDQ3ZmU4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBTdW4sIDUgSnVsIDIwMTUgMjA6MjU6MTggLTA3MDAKLVN1YmplY3Q6IFtQQVRDSCAzNS80N10gbGliY2MxOiBmaXggbGliY2MxJ3MgaW5zdGFsbCBwYXRoIGFuZCBycGF0aAotCi0qIEluc3RhbGwgbGliY2MxLnNvIGFuZCBsaWJjYzFwbHVnaW4uc28gaW50bwotICAkKGxpYmV4ZWNkaXIpL2djYy8kKHRhcmdldF9ub25jYW5vbmljYWwpLyQoZ2NjX3ZlcnNpb24pLCBhcyB3aGF0IHdlCi0gIGhhZCBkb25lIHRvIGx0by1wbHVnaW4uCi0qIEZpeCBiYWQgUlBBVEggaXVzc3VlOgotICBnY2MtNS4yLjA6IHBhY2thZ2UgZ2NjLXBsdWdpbnMgY29udGFpbnMgYmFkIFJQQVRIIC9wYXRodC90by90bXAvc3lzcm9vdHMvcWVtdXg4Ni02NC91c3IvbGliNjQvLi4vbGliNjQgaW4gZmlsZQotIC9wYXRoL3RvL2djYy81LjIuMC1yMC9wYWNrYWdlcy1zcGxpdC9nY2MtcGx1Z2lucy91c3IvbGliNjQvZ2NjL3g4Nl82NC1wb2t5LWxpbnV4LzUuMi4wL3BsdWdpbi9saWJjYzFwbHVnaW4uc28uMC4wLjAKLSBbcnBhdGhzXQotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIGNvbmZpZ3VyYXRpb25dCi0KLVNpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotLS0tCi0gbGliY2MxL01ha2VmaWxlLmFtIHwgNCArKy0tCi0gbGliY2MxL01ha2VmaWxlLmluIHwgNCArKy0tCi0gMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJjYzEvTWFrZWZpbGUuYW0gYi9saWJjYzEvTWFrZWZpbGUuYW0KLWluZGV4IDVlNjFhOTJhMjZiLi5lOGI2MjdmOWNlYyAxMDA2NDQKLS0tLSBhL2xpYmNjMS9NYWtlZmlsZS5hbQotKysrIGIvbGliY2MxL01ha2VmaWxlLmFtCi1AQCAtMzcsOCArMzcsOCBAQCBsaWJpYmVydHkgPSAkKGlmICQod2lsZGNhcmQgJChsaWJpYmVydHlfbm9hc2FuKSksJChXYykkKGxpYmliZXJ0eV9ub2FzYW4pLCBcCi0gCSAgICAkKFdjKSQobGliaWJlcnR5X25vcm1hbCkpKQotIGxpYmliZXJ0eV9kZXAgPSAkKHBhdHN1YnN0ICQoV2MpJSwlLCQobGliaWJlcnR5KSkKLSAKLS1wbHVnaW5kaXIgPSAkKGxpYmRpcikvZ2NjLyQodGFyZ2V0X25vbmNhbm9uaWNhbCkvJChnY2NfdmVyc2lvbikvcGx1Z2luCi0tY2MxbGliZGlyID0gJChsaWJkaXIpLyQobGlic3VmZml4KQotK2NjMWxpYmRpciA9ICQobGliZXhlY2RpcikvZ2NjLyQodGFyZ2V0X25vbmNhbm9uaWNhbCkvJChnY2NfdmVyc2lvbikKLStwbHVnaW5kaXIgPSAkKGNjMWxpYmRpcikKLSAKLSBpZiBFTkFCTEVfUExVR0lOCi0gcGx1Z2luX0xUTElCUkFSSUVTID0gbGliY2MxcGx1Z2luLmxhIGxpYmNwMXBsdWdpbi5sYQotZGlmZiAtLWdpdCBhL2xpYmNjMS9NYWtlZmlsZS5pbiBiL2xpYmNjMS9NYWtlZmlsZS5pbgotaW5kZXggNTRiYWJiMDJhNDkuLmU1MWQ4N2ZmZGNlIDEwMDY0NAotLS0tIGEvbGliY2MxL01ha2VmaWxlLmluCi0rKysgYi9saWJjYzEvTWFrZWZpbGUuaW4KLUBAIC0zMDMsOCArMzAzLDggQEAgbGliaWJlcnR5ID0gJChpZiAkKHdpbGRjYXJkICQobGliaWJlcnR5X25vYXNhbikpLCQoV2MpJChsaWJpYmVydHlfbm9hc2FuKSwgXAotIAkgICAgJChXYykkKGxpYmliZXJ0eV9ub3JtYWwpKSkKLSAKLSBsaWJpYmVydHlfZGVwID0gJChwYXRzdWJzdCAkKFdjKSUsJSwkKGxpYmliZXJ0eSkpCi0tcGx1Z2luZGlyID0gJChsaWJkaXIpL2djYy8kKHRhcmdldF9ub25jYW5vbmljYWwpLyQoZ2NjX3ZlcnNpb24pL3BsdWdpbgotLWNjMWxpYmRpciA9ICQobGliZGlyKS8kKGxpYnN1ZmZpeCkKLStjYzFsaWJkaXIgPSAkKGxpYmV4ZWNkaXIpL2djYy8kKHRhcmdldF9ub25jYW5vbmljYWwpLyQoZ2NjX3ZlcnNpb24pCi0rcGx1Z2luZGlyID0gJChjYzFsaWJkaXIpCi0gQEVOQUJMRV9QTFVHSU5fVFJVRUBwbHVnaW5fTFRMSUJSQVJJRVMgPSBsaWJjYzFwbHVnaW4ubGEgbGliY3AxcGx1Z2luLmxhCi0gQEVOQUJMRV9QTFVHSU5fVFJVRUBjYzFsaWJfTFRMSUJSQVJJRVMgPSBsaWJjYzEubGEKLSBCVUlMVF9TT1VSQ0VTID0gYy1jb21waWxlci1uYW1lLmggY3AtY29tcGlsZXItbmFtZS5oCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDM2LWhhbmRsZS1zeXNyb290LXN1cHBvcnQtZm9yLW5hdGl2ZXNkay1nY2MucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDM2LWhhbmRsZS1zeXNyb290LXN1cHBvcnQtZm9yLW5hdGl2ZXNkay1nY2MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFhMGIxMDguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAzNi1oYW5kbGUtc3lzcm9vdC1zdXBwb3J0LWZvci1uYXRpdmVzZGstZ2NjLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjEzICswLDAgQEAKLUZyb20gY2ExNDgyMGFlODM0YTYyZWYyYjgwYjI4M2U4ZjkwMDcxNDYzNjI3MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDcgRGVjIDIwMTUgMjM6Mzk6NTQgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzNi80N10gaGFuZGxlIHN5c3Jvb3Qgc3VwcG9ydCBmb3IgbmF0aXZlc2RrLWdjYwotCi1CZWluZyBhYmxlIHRvIGJ1aWxkIGEgbmF0aXZlc2RrIGdjYyBpcyB1c2VmdWwsIHBhcnRpY3VsYXJseSBpbiBjYXNlcwotd2hlcmUgdGhlIGhvc3QgY29tcGlsZXIgbWF5IGJlIG9mIGFuIGluY29tcGF0aWJsZSB2ZXJzaW9uIChvciBhIDMyCi1iaXQgY29tcGlsZXIgaXMgbmVlZGVkKS4KLQotU2FkbHksIGJ1aWxkaW5nIG5hdGl2ZXNkay1nY2MgaXMgbm90IHN0cmFpZ2h0IGZvcndhcmQuIFdlIGluc3RhbGwKLW5hdGl2ZXNkay1nY2MgaW50byBhIHJlbG9jYXRhYmxlIGxvY2F0aW9uIGFuZCB0aGlzIG1lYW5zIHRoYXQgaXRzCi1saWJyYXJ5IGxvY2F0aW9ucyBjYW4gY2hhbmdlLiAiTm9ybWFsIiBzeXNyb290IHN1cHBvcnQgZG9lc24ndCBoZWxwCi1pbiB0aGlzIGNhc2Ugc2luY2UgdGhlIHZhbHVlcyBvZiBwYXRocyBsaWtlICJsaWJkaXIiIGNoYW5nZSwgbm90IGp1c3QKLWJhc2Ugcm9vdCBkaXJlY3Rvcnkgb2YgdGhlIHN5c3RlbS4KLQotSW4gb3JkZXIgdG8gaGFuZGxlIHRoaXMgd2UgZG8gdHdvIHRoaW5nczoKLQotYSkgQWRkICVyIGludG8gc3BlYyBmaWxlIG1hcmt1cCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgaW5qZWN0ZWQgcGF0aHMKLSAgIHN1Y2ggYXMgU1lTVEVNTElCU19ESVIgKHNlZSBnY2NfbXVsdGlsaWJfc2V0dXAoKSkuCi1iKSBBZGQgb3RoZXIgcGF0aHMgd2hpY2ggbmVlZCByZWxvY2F0aW9uIGludG8gYSAuZ2NjcmVsb2NwcmVmaXggc2VjdGlvbgotICAgd2hpY2ggdGhlIHJlbG9jYXRpb24gY29kZSB3aWxsIG5vdGljZSBhbmQgYWRqdXN0IGF1dG9tYXRpY2FsbHkuCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZQotUlAgMjAxNS83LzI4Ci0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBnY2MvY3BwZGVmYXVsdC5jIHwgNTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KLSBnY2MvY3BwZGVmYXVsdC5oIHwgIDMgKystCi0gZ2NjL2djYy5jICAgICAgICB8IDIwICsrKysrKysrKysrKysrLS0tLS0tCi0gMyBmaWxlcyBjaGFuZ2VkLCA1MyBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jcHBkZWZhdWx0LmMgYi9nY2MvY3BwZGVmYXVsdC5jCi1pbmRleCBjOGRhMDg4NDg3Mi4uNDNkYzU5N2EwYzMgMTAwNjQ0Ci0tLS0gYS9nY2MvY3BwZGVmYXVsdC5jCi0rKysgYi9nY2MvY3BwZGVmYXVsdC5jCi1AQCAtMzUsNiArMzUsMzAgQEAKLSAjIHVuZGVmIENST1NTX0lOQ0xVREVfRElSCi0gI2VuZGlmCi0gCi0rc3RhdGljIGNoYXIgR1BMVVNQTFVTX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IEdQTFVTUExVU19JTkNMVURFX0RJUjsKLStzdGF0aWMgY2hhciBHQ0NfSU5DTFVERV9ESVJWQVJbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gR0NDX0lOQ0xVREVfRElSOwotK3N0YXRpYyBjaGFyIEdQTFVTUExVU19UT09MX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IEdQTFVTUExVU19UT09MX0lOQ0xVREVfRElSOwotK3N0YXRpYyBjaGFyIEdQTFVTUExVU19CQUNLV0FSRF9JTkNMVURFX0RJUlZBUls0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBHUExVU1BMVVNfQkFDS1dBUkRfSU5DTFVERV9ESVI7Ci0rc3RhdGljIGNoYXIgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8yVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMiBHQ0NfSU5DTFVERV9TVUJESVJfVEFSR0VUOwotKyNpZmRlZiBMT0NBTF9JTkNMVURFX0RJUgotK3N0YXRpYyBjaGFyIExPQ0FMX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IExPQ0FMX0lOQ0xVREVfRElSOwotKyNlbmRpZgotKyNpZmRlZiBQUkVGSVhfSU5DTFVERV9ESVIKLStzdGF0aWMgY2hhciBQUkVGSVhfSU5DTFVERV9ESVJWQVJbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gUFJFRklYX0lOQ0xVREVfRElSOwotKyNlbmRpZgotKyNpZmRlZiBGSVhFRF9JTkNMVURFX0RJUgotK3N0YXRpYyBjaGFyIEZJWEVEX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IEZJWEVEX0lOQ0xVREVfRElSOwotKyNlbmRpZgotKyNpZmRlZiBDUk9TU19JTkNMVURFX0RJUgotK3N0YXRpYyBjaGFyIENST1NTX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IENST1NTX0lOQ0xVREVfRElSOwotKyNlbmRpZgotKyNpZmRlZiBUT09MX0lOQ0xVREVfRElSCi0rc3RhdGljIGNoYXIgVE9PTF9JTkNMVURFX0RJUlZBUls0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBUT09MX0lOQ0xVREVfRElSOwotKyNlbmRpZgotKyNpZmRlZiBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVIKLStzdGF0aWMgY2hhciBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVJWQVJbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gTkFUSVZFX1NZU1RFTV9IRUFERVJfRElSOwotKyNlbmRpZgotKwotIGNvbnN0IHN0cnVjdCBkZWZhdWx0X2luY2x1ZGUgY3BwX2luY2x1ZGVfZGVmYXVsdHNbXQotICNpZmRlZiBJTkNMVURFX0RFRkFVTFRTCi0gPSBJTkNMVURFX0RFRkFVTFRTOwotQEAgLTQyLDM4ICs2NiwzOCBAQCBjb25zdCBzdHJ1Y3QgZGVmYXVsdF9pbmNsdWRlIGNwcF9pbmNsdWRlX2RlZmF1bHRzW10KLSA9IHsKLSAjaWZkZWYgR1BMVVNQTFVTX0lOQ0xVREVfRElSCi0gICAgIC8qIFBpY2sgdXAgR05VIEMrKyBnZW5lcmljIGluY2x1ZGUgZmlsZXMuICAqLwotLSAgICB7IEdQTFVTUExVU19JTkNMVURFX0RJUiwgIkcrKyIsIDEsIDEsCi0rICAgIHsgR1BMVVNQTFVTX0lOQ0xVREVfRElSVkFSLCAiRysrIiwgMSwgMSwKLSAgICAgICBHUExVU1BMVVNfSU5DTFVERV9ESVJfQUREX1NZU1JPT1QsIDAgfSwKLSAjZW5kaWYKLSAjaWZkZWYgR1BMVVNQTFVTX1RPT0xfSU5DTFVERV9ESVIKLSAgICAgLyogUGljayB1cCBHTlUgQysrIHRhcmdldC1kZXBlbmRlbnQgaW5jbHVkZSBmaWxlcy4gICovCi0tICAgIHsgR1BMVVNQTFVTX1RPT0xfSU5DTFVERV9ESVIsICJHKysiLCAxLCAxLAotKyAgICB7IEdQTFVTUExVU19UT09MX0lOQ0xVREVfRElSVkFSLCAiRysrIiwgMSwgMSwKLSAgICAgICBHUExVU1BMVVNfSU5DTFVERV9ESVJfQUREX1NZU1JPT1QsIDEgfSwKLSAjZW5kaWYKLSAjaWZkZWYgR1BMVVNQTFVTX0JBQ0tXQVJEX0lOQ0xVREVfRElSCi0gICAgIC8qIFBpY2sgdXAgR05VIEMrKyBiYWNrd2FyZCBhbmQgZGVwcmVjYXRlZCBpbmNsdWRlIGZpbGVzLiAgKi8KLS0gICAgeyBHUExVU1BMVVNfQkFDS1dBUkRfSU5DTFVERV9ESVIsICJHKysiLCAxLCAxLAotKyAgICB7IEdQTFVTUExVU19CQUNLV0FSRF9JTkNMVURFX0RJUlZBUiwgIkcrKyIsIDEsIDEsCi0gICAgICAgR1BMVVNQTFVTX0lOQ0xVREVfRElSX0FERF9TWVNST09ULCAwIH0sCi0gI2VuZGlmCi0gI2lmZGVmIEdDQ19JTkNMVURFX0RJUgotICAgICAvKiBUaGlzIGlzIHRoZSBkaXIgZm9yIGdjYydzIHByaXZhdGUgaGVhZGVycy4gICovCi0tICAgIHsgR0NDX0lOQ0xVREVfRElSLCAiR0NDIiwgMCwgMCwgMCwgMCB9LAotKyAgICB7IEdDQ19JTkNMVURFX0RJUlZBUiwgIkdDQyIsIDAsIDAsIDAsIDAgfSwKLSAjZW5kaWYKLSAjaWZkZWYgR0NDX0lOQ0xVREVfU1VCRElSX1RBUkdFVAotICAgICAvKiBUaGlzIGlzIHRoZSBkaXIgZm9yIGdjYydzIHByaXZhdGUgaGVhZGVycyB1bmRlciB0aGUgc3BlY2lmaWVkIHN5c3Jvb3QuICAqLwotLSAgICB7IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMiBHQ0NfSU5DTFVERV9TVUJESVJfVEFSR0VULCAiR0NDIiwgMCwgMCwgMSwgMCB9LAotKyAgICB7IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMlZBUiwgIkdDQyIsIDAsIDAsIDEsIDAgfSwKLSAjZW5kaWYKLSAjaWZkZWYgTE9DQUxfSU5DTFVERV9ESVIKLSAgICAgLyogL3Vzci9sb2NhbC9pbmNsdWRlIGNvbWVzIGJlZm9yZSB0aGUgZml4aW5jbHVkZWQgaGVhZGVyIGZpbGVzLiAgKi8KLS0gICAgeyBMT0NBTF9JTkNMVURFX0RJUiwgMCwgMCwgMSwgMSwgMiB9LAotLSAgICB7IExPQ0FMX0lOQ0xVREVfRElSLCAwLCAwLCAxLCAxLCAwIH0sCi0rICAgIHsgTE9DQUxfSU5DTFVERV9ESVJWQVIsIDAsIDAsIDEsIDEsIDIgfSwKLSsgICAgeyBMT0NBTF9JTkNMVURFX0RJUlZBUiwgMCwgMCwgMSwgMSwgMCB9LAotICNlbmRpZgotICNpZmRlZiBQUkVGSVhfSU5DTFVERV9ESVIKLS0gICAgeyBQUkVGSVhfSU5DTFVERV9ESVIsIDAsIDAsIDEsIDAsIDAgfSwKLSsgICAgeyBQUkVGSVhfSU5DTFVERV9ESVJWQVIsIDAsIDAsIDEsIDAsIDAgfSwKLSAjZW5kaWYKLSAjaWZkZWYgRklYRURfSU5DTFVERV9ESVIKLSAgICAgLyogVGhpcyBpcyB0aGUgZGlyIGZvciBmaXhpbmNsdWRlcy4gICovCi0tICAgIHsgRklYRURfSU5DTFVERV9ESVIsICJHQ0MiLCAwLCAwLCAwLAotKyAgICB7IEZJWEVEX0lOQ0xVREVfRElSVkFSLCAiR0NDIiwgMCwgMCwgMCwKLSAgICAgICAvKiBBIG11bHRpbGliIHN1ZmZpeCBuZWVkcyBhZGRpbmcgaWYgZGlmZmVyZW50IG11bHRpbGlicyB1c2UKLSAJIGRpZmZlcmVudCBoZWFkZXJzLiAgKi8KLSAjaWZkZWYgU1lTUk9PVF9IRUFERVJTX1NVRkZJWF9TUEVDCi1AQCAtODUsMTYgKzEwOSwxNiBAQCBjb25zdCBzdHJ1Y3QgZGVmYXVsdF9pbmNsdWRlIGNwcF9pbmNsdWRlX2RlZmF1bHRzW10KLSAjZW5kaWYKLSAjaWZkZWYgQ1JPU1NfSU5DTFVERV9ESVIKLSAgICAgLyogT25lIHBsYWNlIHRoZSB0YXJnZXQgc3lzdGVtJ3MgaGVhZGVycyBtaWdodCBiZS4gICovCi0tICAgIHsgQ1JPU1NfSU5DTFVERV9ESVIsICJHQ0MiLCAwLCAwLCAwLCAwIH0sCi0rICAgIHsgQ1JPU1NfSU5DTFVERV9ESVJWQVIsICJHQ0MiLCAwLCAwLCAwLCAwIH0sCi0gI2VuZGlmCi0gI2lmZGVmIFRPT0xfSU5DTFVERV9ESVIKLSAgICAgLyogQW5vdGhlciBwbGFjZSB0aGUgdGFyZ2V0IHN5c3RlbSdzIGhlYWRlcnMgbWlnaHQgYmUuICAqLwotLSAgICB7IFRPT0xfSU5DTFVERV9ESVIsICJCSU5VVElMUyIsIDAsIDEsIDAsIDAgfSwKLSsgICAgeyBUT09MX0lOQ0xVREVfRElSVkFSLCAiQklOVVRJTFMiLCAwLCAxLCAwLCAwIH0sCi0gI2VuZGlmCi0gI2lmZGVmIE5BVElWRV9TWVNURU1fSEVBREVSX0RJUgotICAgICAvKiAvdXNyL2luY2x1ZGUgY29tZXMgZGVhZCBsYXN0LiAgKi8KLS0gICAgeyBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVIsIE5BVElWRV9TWVNURU1fSEVBREVSX0NPTVBPTkVOVCwgMCwgMCwgMSwgMiB9LAotLSAgICB7IE5BVElWRV9TWVNURU1fSEVBREVSX0RJUiwgTkFUSVZFX1NZU1RFTV9IRUFERVJfQ09NUE9ORU5ULCAwLCAwLCAxLCAwIH0sCi0rICAgIHsgTkFUSVZFX1NZU1RFTV9IRUFERVJfRElSVkFSLCBOQVRJVkVfU1lTVEVNX0hFQURFUl9DT01QT05FTlQsIDAsIDAsIDEsIDIgfSwKLSsgICAgeyBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVJWQVIsIE5BVElWRV9TWVNURU1fSEVBREVSX0NPTVBPTkVOVCwgMCwgMCwgMSwgMCB9LAotICNlbmRpZgotICAgICB7IDAsIDAsIDAsIDAsIDAsIDAgfQotICAgfTsKLWRpZmYgLS1naXQgYS9nY2MvY3BwZGVmYXVsdC5oIGIvZ2NjL2NwcGRlZmF1bHQuaAotaW5kZXggMTdiYmIwZWFlZjcuLmE5MzdlYzFkMTg3IDEwMDY0NAotLS0tIGEvZ2NjL2NwcGRlZmF1bHQuaAotKysrIGIvZ2NjL2NwcGRlZmF1bHQuaAotQEAgLTMzLDcgKzMzLDggQEAKLSAKLSBzdHJ1Y3QgZGVmYXVsdF9pbmNsdWRlCi0gewotLSAgY29uc3QgY2hhciAqY29uc3QgZm5hbWU7CS8qIFRoZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkuICAqLwotKyAgY29uc3QgY2hhciAqZm5hbWU7ICAgICAvKiBUaGUgbmFtZSBvZiB0aGUgZGlyZWN0b3J5LiAgKi8KLSsKLSAgIGNvbnN0IGNoYXIgKmNvbnN0IGNvbXBvbmVudDsJLyogVGhlIGNvbXBvbmVudCBjb250YWluaW5nIHRoZSBkaXJlY3RvcnkKLSAJCQkJICAgKHNlZSB1cGRhdGVfcGF0aCBpbiBwcmVmaXguYykgKi8KLSAgIGNvbnN0IGNoYXIgY3BsdXNwbHVzOwkJLyogT25seSBsb29rIGhlcmUgaWYgd2UncmUgY29tcGlsaW5nIEMrKy4gICovCi1kaWZmIC0tZ2l0IGEvZ2NjL2djYy5jIGIvZ2NjL2djYy5jCi1pbmRleCBiMjcyNDVkYmY3Ny4uZTAxNWM3N2YxNWYgMTAwNjQ0Ci0tLS0gYS9nY2MvZ2NjLmMKLSsrKyBiL2djYy9nY2MuYwotQEAgLTI0Nyw2ICsyNDcsOCBAQCBGSUxFICpyZXBvcnRfdGltZXNfdG9fZmlsZSA9IE5VTEw7Ci0gI2VuZGlmCi0gc3RhdGljIGNvbnN0IGNoYXIgKnRhcmdldF9zeXN0ZW1fcm9vdCA9IERFRkFVTFRfVEFSR0VUX1NZU1RFTV9ST09UOwotIAotK3N0YXRpYyBjaGFyIHRhcmdldF9yZWxvY2F0YWJsZV9wcmVmaXhbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gU1lTVEVNTElCU19ESVI7Ci0rCi0gLyogTm9uemVybyBtZWFucyBwYXNzIHRoZSB1cGRhdGVkIHRhcmdldF9zeXN0ZW1fcm9vdCB0byB0aGUgY29tcGlsZXIuICAqLwotIAotIHN0YXRpYyBpbnQgdGFyZ2V0X3N5c3RlbV9yb290X2NoYW5nZWQ7Ci1AQCAtNTE4LDYgKzUyMCw3IEBAIG9yIHdpdGggY29uc3RhbnQgdGV4dCBpbiBhIHNpbmdsZSBhcmd1bWVudC4KLSAgJUcgICAgIHByb2Nlc3MgTElCR0NDX1NQRUMgYXMgYSBzcGVjLgotICAlUiAgICAgT3V0cHV0IHRoZSBjb25jYXRlbmF0aW9uIG9mIHRhcmdldF9zeXN0ZW1fcm9vdCBhbmQKLSAgICAgICAgIHRhcmdldF9zeXNyb290X3N1ZmZpeC4KLSsgJXIgICAgIE91dHB1dCB0aGUgYmFzZSBwYXRoIHRhcmdldF9yZWxvY2F0YWJsZV9wcmVmaXgKLSAgJVMgICAgIHByb2Nlc3MgU1RBUlRGSUxFX1NQRUMgYXMgYSBzcGVjLiAgQSBjYXBpdGFsIFMgaXMgYWN0dWFsbHkgdXNlZCBoZXJlLgotICAlRSAgICAgcHJvY2VzcyBFTkRGSUxFX1NQRUMgYXMgYSBzcGVjLiAgQSBjYXBpdGFsIEUgaXMgYWN0dWFsbHkgdXNlZCBoZXJlLgotICAlQyAgICAgcHJvY2VzcyBDUFBfU1BFQyBhcyBhIHNwZWMuCi1AQCAtMTQ5NSwxMCArMTQ5OCwxMCBAQCBzdGF0aWMgY29uc3QgY2hhciAqZ2NjX2xpYmV4ZWNfcHJlZml4OwotICAgIGdjY19leGVjX3ByZWZpeCBpcyBzZXQgYmVjYXVzZSwgaW4gdGhhdCBjYXNlLCB3ZSBrbm93IHdoZXJlIHRoZQotICAgIGNvbXBpbGVyIGhhcyBiZWVuIGluc3RhbGxlZCwgYW5kIHVzZSBwYXRocyByZWxhdGl2ZSB0byB0aGF0Ci0gICAgbG9jYXRpb24gaW5zdGVhZC4gICovCi0tc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX2V4ZWNfcHJlZml4ID0gU1RBTkRBUkRfRVhFQ19QUkVGSVg7Ci0tc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX2xpYmV4ZWNfcHJlZml4ID0gU1RBTkRBUkRfTElCRVhFQ19QUkVGSVg7Ci0tc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX2JpbmRpcl9wcmVmaXggPSBTVEFOREFSRF9CSU5ESVJfUFJFRklYOwotLXN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBzdGFuZGFyZF9zdGFydGZpbGVfcHJlZml4ID0gU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWDsKLStzdGF0aWMgY2hhciBzdGFuZGFyZF9leGVjX3ByZWZpeFs0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBTVEFOREFSRF9FWEVDX1BSRUZJWDsKLStzdGF0aWMgY2hhciBzdGFuZGFyZF9saWJleGVjX3ByZWZpeFs0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBTVEFOREFSRF9MSUJFWEVDX1BSRUZJWDsKLStzdGF0aWMgY2hhciBzdGFuZGFyZF9iaW5kaXJfcHJlZml4WzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IFNUQU5EQVJEX0JJTkRJUl9QUkVGSVg7Ci0rc3RhdGljIGNoYXIgKmNvbnN0IHN0YW5kYXJkX3N0YXJ0ZmlsZV9wcmVmaXggPSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYOwotIAotIC8qIEZvciBuYXRpdmUgY29tcGlsZXJzLCB0aGVzZSBhcmUgd2VsbC1rbm93biBwYXRocyBjb250YWluaW5nCi0gICAgY29tcG9uZW50cyB0aGF0IG1heSBiZSBwcm92aWRlZCBieSB0aGUgc3lzdGVtLiAgRm9yIGNyb3NzCi1AQCAtMTUwNiw5ICsxNTA5LDkgQEAgc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX3N0YXJ0ZmlsZV9wcmVmaXggPSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYOwotIHN0YXRpYyBjb25zdCBjaGFyICptZF9leGVjX3ByZWZpeCA9IE1EX0VYRUNfUFJFRklYOwotIHN0YXRpYyBjb25zdCBjaGFyICptZF9zdGFydGZpbGVfcHJlZml4ID0gTURfU1RBUlRGSUxFX1BSRUZJWDsKLSBzdGF0aWMgY29uc3QgY2hhciAqbWRfc3RhcnRmaWxlX3ByZWZpeF8xID0gTURfU1RBUlRGSUxFX1BSRUZJWF8xOwotLXN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBzdGFuZGFyZF9zdGFydGZpbGVfcHJlZml4XzEKLStzdGF0aWMgY2hhciBzdGFuZGFyZF9zdGFydGZpbGVfcHJlZml4XzFbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpCi0gICA9IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMTsKLS1zdGF0aWMgY29uc3QgY2hhciAqY29uc3Qgc3RhbmRhcmRfc3RhcnRmaWxlX3ByZWZpeF8yCi0rc3RhdGljIGNoYXIgc3RhbmRhcmRfc3RhcnRmaWxlX3ByZWZpeF8yWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKQotICAgPSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzI7Ci0gCi0gLyogQSByZWxhdGl2ZSBwYXRoIHRvIGJlIHVzZWQgaW4gZmluZGluZyB0aGUgbG9jYXRpb24gb2YgdG9vbHMKLUBAIC01ODI2LDYgKzU4MjksMTEgQEAgZG9fc3BlY18xIChjb25zdCBjaGFyICpzcGVjLCBpbnQgaW5zd2l0Y2gsIGNvbnN0IGNoYXIgKnNvZnRfbWF0Y2hlZF9wYXJ0KQotIAkgICAgICB9Ci0gCSAgICBicmVhazsKLSAKLSsgICAgICAgICAgY2FzZSAncic6Ci0rICAgICAgICAgICAgICBvYnN0YWNrX2dyb3cgKCZvYnN0YWNrLCB0YXJnZXRfcmVsb2NhdGFibGVfcHJlZml4LAotKwkJICAgICAgc3RybGVuICh0YXJnZXRfcmVsb2NhdGFibGVfcHJlZml4KSk7Ci0rICAgICAgICAgICAgYnJlYWs7Ci0rCi0gCSAgY2FzZSAnUyc6Ci0gCSAgICB2YWx1ZSA9IGRvX3NwZWNfMSAoc3RhcnRmaWxlX3NwZWMsIDAsIE5VTEwpOwotIAkgICAgaWYgKHZhbHVlICE9IDApCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDM3LVNlYXJjaC10YXJnZXQtc3lzcm9vdC1nY2MtdmVyc2lvbi1zcGVjaWZpYy1kaXJzLXdpdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDM3LVNlYXJjaC10YXJnZXQtc3lzcm9vdC1nY2MtdmVyc2lvbi1zcGVjaWZpYy1kaXJzLXdpdGgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZjODVhMDMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAzNy1TZWFyY2gtdGFyZ2V0LXN5c3Jvb3QtZ2NjLXZlcnNpb24tc3BlY2lmaWMtZGlycy13aXRoLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTAyICswLDAgQEAKLUZyb20gMTZhMzI2YmNkMTI2YjM5NWIyOTAxOTA3MjkwNWJhZTdhNWQ0NzUwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDcgRGVjIDIwMTUgMjM6NDE6NDUgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzNy80N10gU2VhcmNoIHRhcmdldCBzeXNyb290IGdjYyB2ZXJzaW9uIHNwZWNpZmljIGRpcnMgd2l0aAotIG11bHRpbGliLgotCi1XZSBpbnN0YWxsIHRoZSBnY2MgbGlicmFyaWVzIChzdWNoIGFzIGNydGJlZ2luLnApIGludG8KLTxzeXNyb290PjxsaWJkaXI+Lzx0YXJnZXQtc3lzPi81LjIuMC8KLXdoaWNoIGlzIGEgZGVmYXVsdCBzZWFyY2ggcGF0aCBmb3IgR0NDIChha2EgbXVsdGlfc3VmZml4IGluIHRoZQotY29kZSBiZWxvdykuIDx0YXJnZXQtc3lzPiBpcyAnbWFjaGluZScgaW4gZ2NjJ3MgdGVybWlub2xvZ3kuIFdlIHVzZQotdGhlc2UgZGlyZWN0b3JpZXMgc28gdGhhdCBtdWx0aXBsZSBnY2MgdmVyc2lvbnMgY291bGQgaW4gdGhlb3J5Ci1jby1leGlzdCBvbiB0YXJnZXQuCi0KLVdlIG9ubHkgd2FudCB0byBidWlsZCBvbmUgZ2NjLWNyb3NzLWNhbmFkaWFuIHBlciBhcmNoIGFuZCBoYXZlIHRoaXMgd29yawotZm9yIGFsbCBtdWx0aWxpYnMuIDx0YXJnZXQtc3lzPiBjYW4gYmUgaGFuZGxlZCBieSBtYXBwaW5nIHRoZSBtdWx0aWxpYgotPHRhcmdldC1zeXM+IHRvIHRoZSBvbmUgdXNlZCBieSBnY2MtY3Jvc3MtY2FuYWRpYW4sIGUuZy4KLW1pcHM2NC1wb2xrbWxsaWIzMi1saW51eAotaXMgc3ltbGlua2VkIHRvIGJ5IG1pcHM2NC1wb2t5LWxpbnV4LgotCi1UaGUgZGVmYXVsdCBnY2Mgc2VhcmNoIHBhdGggaW4gdGhlIHRhcmdldCBzeXNyb290IGZvciBhICJsaWI2NCIgbXV0bGlsaWIKLWlzOgotCi08c3lzcm9vdD4vbGliMzIvbWlwczY0LXBva3ktbGludXgvNS4yLjAvCi08c3lzcm9vdD4vbGliMzIvLi4vbGliNjQvCi08c3lzcm9vdD4vdXNyL2xpYjMyL21pcHM2NC1wb2t5LWxpbnV4LzUuMi4wLwotPHN5c3Jvb3Q+L3Vzci9saWIzMi8uLi9saWI2NC8KLTxzeXNyb290Pi9saWIzMi8KLTxzeXNyb290Pi91c3IvbGliMzIvCi0KLXdoaWNoIG1lYW5zIHRoYXQgdGhlIGxpYjMyIGNydGJlZ2luLm8gd2lsbCBiZSBmb3VuZCBhbmQgdGhlIGxpYjY0IG9uZXMKLXdpbGwgbm90IHdoaWNoIGxlYWRzIHRvIGNvbXBpbGVyIGZhaWx1cmVzLgotCi1UaGlzIHBhdGNoIGluamVjdHMgYSBtdWx0aWxpYiB2ZXJzaW9uIG9mIHRoYXQgcGF0aCBmaXJzdCBzbyB0aGUgbGliNjQKLWJpbmFyaWVzIGNhbiBiZSBmb3VuZCBmaXJzdC4gV2l0aCB0aGlzIGNoYW5nZSB0aGUgc2VhcmNoIHBhdGggYmVjb21lczoKLQotPHN5c3Jvb3Q+L2xpYjMyLy4uL2xpYjY0L21pcHM2NC1wb2t5LWxpbnV4LzUuMi4wLwotPHN5c3Jvb3Q+L2xpYjMyL21pcHM2NC1wb2t5LWxpbnV4LzUuMi4wLwotPHN5c3Jvb3Q+L2xpYjMyLy4uL2xpYjY0LwotPHN5c3Jvb3Q+L3Vzci9saWIzMi8uLi9saWI2NC9taXBzNjQtcG9reS1saW51eC81LjIuMC8KLTxzeXNyb290Pi91c3IvbGliMzIvbWlwczY0LXBva3ktbGludXgvNS4yLjAvCi08c3lzcm9vdD4vdXNyL2xpYjMyLy4uL2xpYjY0LwotPHN5c3Jvb3Q+L2xpYjMyLwotPHN5c3Jvb3Q+L3Vzci9saWIzMi8KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi1SUCAyMDE1LzcvMzEKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGdjYy9nY2MuYyB8IDI5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystCi0gMSBmaWxlIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2djYy9nY2MuYyBiL2djYy9nY2MuYwotaW5kZXggZTAxNWM3N2YxNWYuLjg0YWY1ZDVhMmUxIDEwMDY0NAotLS0tIGEvZ2NjL2djYy5jCi0rKysgYi9nY2MvZ2NjLmMKLUBAIC0yNTMzLDcgKzI1MzMsNyBAQCBmb3JfZWFjaF9wYXRoIChjb25zdCBzdHJ1Y3QgcGF0aF9wcmVmaXggKnBhdGhzLAotICAgICAgIGlmIChwYXRoID09IE5VTEwpCi0gCXsKLSAJICBsZW4gPSBwYXRocy0+bWF4X2xlbiArIGV4dHJhX3NwYWNlICsgMTsKLS0JICBsZW4gKz0gTUFYIChNQVggKHN1ZmZpeF9sZW4sIG11bHRpX29zX2Rpcl9sZW4pLCBtdWx0aWFyY2hfbGVuKTsKLSsJICBsZW4gKz0gTUFYICgoc3VmZml4X2xlbiArIG11bHRpX29zX2Rpcl9sZW4pLCBtdWx0aWFyY2hfbGVuKTsKLSAJICBwYXRoID0gWE5FV1ZFQyAoY2hhciwgbGVuKTsKLSAJfQotIAotQEAgLTI1NDUsNiArMjU0NSwzMyBAQCBmb3JfZWFjaF9wYXRoIChjb25zdCBzdHJ1Y3QgcGF0aF9wcmVmaXggKnBhdGhzLAotIAkgIC8qIExvb2sgZmlyc3QgaW4gTUFDSElORS9WRVJTSU9OIHN1YmRpcmVjdG9yeS4gICovCi0gCSAgaWYgKCFza2lwX211bHRpX2RpcikKLSAJICAgIHsKLSsJICAgICAgaWYgKCEocGwtPm9zX211bHRpbGliID8gc2tpcF9tdWx0aV9vc19kaXIgOiBza2lwX211bHRpX2RpcikpCi0rCSAgICAgICAgewotKwkgICAgICAgICAgY29uc3QgY2hhciAqdGhpc19tdWx0aTsKLSsJICAgICAgICAgIHNpemVfdCB0aGlzX211bHRpX2xlbjsKLSsKLSsJICAgICAgICAgIGlmIChwbC0+b3NfbXVsdGlsaWIpCi0rCQkgICAgewotKwkJICAgICAgdGhpc19tdWx0aSA9IG11bHRpX29zX2RpcjsKLSsJCSAgICAgIHRoaXNfbXVsdGlfbGVuID0gbXVsdGlfb3NfZGlyX2xlbjsKLSsJCSAgICB9Ci0rCSAgICAgICAgICBlbHNlCi0rCQkgICAgewotKwkJICAgICAgdGhpc19tdWx0aSA9IG11bHRpX2RpcjsKLSsJCSAgICAgIHRoaXNfbXVsdGlfbGVuID0gbXVsdGlfZGlyX2xlbjsKLSsJCSAgICB9Ci0rCi0rCSAgICAgICAgICAvKiBMb29rIGluIG11bHRpbGliIE1BQ0hJTkUvVkVSU0lPTiBzdWJkaXJlY3RvcnkgZmlyc3QgKi8KLSsJICAgICAgICAgIGlmICh0aGlzX211bHRpX2xlbikKLSsJICAgICAgICAgICAgewotKwkJICAgICAgbWVtY3B5IChwYXRoICsgbGVuLCB0aGlzX211bHRpLCB0aGlzX211bHRpX2xlbiArIDEpOwotKwkgICAgICAgICAgICAgIG1lbWNweSAocGF0aCArIGxlbiArIHRoaXNfbXVsdGlfbGVuLCBtdWx0aV9zdWZmaXgsIHN1ZmZpeF9sZW4gKyAxKTsKLSsJICAgICAgICAgICAgICByZXQgPSBjYWxsYmFjayAocGF0aCwgY2FsbGJhY2tfaW5mbyk7Ci0rCSAgICAgICAgICAgICAgICBpZiAocmV0KQotKwkJICAgICAgICAgIGJyZWFrOwotKwkgICAgICAgICAgICB9Ci0rCSAgICAgICAgfQotKwotIAkgICAgICBtZW1jcHkgKHBhdGggKyBsZW4sIG11bHRpX3N1ZmZpeCwgc3VmZml4X2xlbiArIDEpOwotIAkgICAgICByZXQgPSBjYWxsYmFjayAocGF0aCwgY2FsbGJhY2tfaW5mbyk7Ci0gCSAgICAgIGlmIChyZXQpCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDM4LUZpeC12YXJpb3VzLV9GT1JfQlVJTEQtYW5kLXJlbGF0ZWQtdmFyaWFibGVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAzOC1GaXgtdmFyaW91cy1fRk9SX0JVSUxELWFuZC1yZWxhdGVkLXZhcmlhYmxlcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTIyNmQxMC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDM4LUZpeC12YXJpb3VzLV9GT1JfQlVJTEQtYW5kLXJlbGF0ZWQtdmFyaWFibGVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTM3ICswLDAgQEAKLUZyb20gNmU3ZjUyNmU3MWE3NmFhYzNkNDliYThmMTc0MmZlMWIzNTljMTA2MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDcgRGVjIDIwMTUgMjM6NDI6NDUgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzOC80N10gRml4IHZhcmlvdXMgX0ZPUl9CVUlMRCBhbmQgcmVsYXRlZCB2YXJpYWJsZXMKLQotV2hlbiBkb2luZyBhIEZPUl9CVUlMRCB0aGluZywgeW91IGhhdmUgdG8gb3ZlcnJpZGUgQ0ZMQUdTIHdpdGgKLUNGTEFHU19GT1JfQlVJTEQuIEFuZCBpZiB5b3UgdXNlIEMrKywgeW91IGFsc28gaGF2ZSB0byBvdmVycmlkZQotQ1hYRkxBR1Mgd2l0aCBDWFhGTEFHU19GT1JfQlVJTEQuCi1XaXRob3V0IHRoaXMsIHdoZW4gYnVpbGRpbmcgZm9yIG1pbmd3LCB5b3UgZW5kIHVwIHRyeWluZyB0byB1c2UKLXRoZSBtaW5ndyBoZWFkZXJzIGZvciBhIGhvc3QgYnVpbGQuCi0KLVRoZSBzYW1lIGdvZXMgZm9yIG90aGVyIHZhcmlhYmxlcyBhcyB3ZWxsLCBzdWNoIGFzIENQUEZMQUdTLAotQ1BQLCBhbmQgR01QSU5DLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogUGV0ZXIgU2VlYmFjaCA8cGV0ZXIuc2VlYmFjaEB3aW5kcml2ZXIuY29tPgotU2lnbmVkLW9mZi1ieTogTWFyayBIYXRsZSA8bWFyay5oYXRsZUB3aW5kcml2ZXIuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIE1ha2VmaWxlLmluICAgICAgfCA2ICsrKysrKwotIE1ha2VmaWxlLnRwbCAgICAgfCA1ICsrKysrCi0gZ2NjL01ha2VmaWxlLmluICB8IDIgKy0KLSBnY2MvY29uZmlndXJlICAgIHwgMiArLQotIGdjYy9jb25maWd1cmUuYWMgfCAyICstCi0gNSBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvTWFrZWZpbGUuaW4gYi9NYWtlZmlsZS5pbgotaW5kZXggZTM0ZTk1NTUzODguLmEwMzc0MGYzZjlkIDEwMDY0NAotLS0tIGEvTWFrZWZpbGUuaW4KLSsrKyBiL01ha2VmaWxlLmluCi1AQCAtMTUyLDYgKzE1Miw3IEBAIEJVSUxEX0VYUE9SVFMgPSBcCi0gCUNQUD0iJChDQ19GT1JfQlVJTEQpIC1FIjsgZXhwb3J0IENQUDsgXAotIAlDRkxBR1M9IiQoQ0ZMQUdTX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ0ZMQUdTOyBcCi0gCUNPTkZJR19TSEVMTD0iJChTSEVMTCkiOyBleHBvcnQgQ09ORklHX1NIRUxMOyBcCi0rCUNQUEZMQUdTPSIkKENQUEZMQUdTX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ1BQRkxBR1M7IFwKLSAJQ1hYPSIkKENYWF9GT1JfQlVJTEQpIjsgZXhwb3J0IENYWDsgXAotIAlDWFhGTEFHUz0iJChDWFhGTEFHU19GT1JfQlVJTEQpIjsgZXhwb3J0IENYWEZMQUdTOyBcCi0gCUdGT1JUUkFOPSIkKEdGT1JUUkFOX0ZPUl9CVUlMRCkiOyBleHBvcnQgR0ZPUlRSQU47IFwKLUBAIC0xNjksNiArMTcwLDkgQEAgQlVJTERfRVhQT1JUUyA9IFwKLSAjIGJ1aWx0IGZvciB0aGUgYnVpbGQgc3lzdGVtIHRvIG92ZXJyaWRlIHRob3NlIGluIEJBU0VfRkxBR1NfVE9fUEFTUy4KLSBFWFRSQV9CVUlMRF9GTEFHUyA9IFwKLSAJQ0ZMQUdTPSIkKENGTEFHU19GT1JfQlVJTEQpIiBcCi0rCUNYWEZMQUdTPSIkKENYWEZMQUdTX0ZPUl9CVUlMRCkiIFwKLSsJQ1BQPSIkKENDX0ZPUl9CVUlMRCkgLUUiIFwKLSsJQ1BQRkxBR1M9IiQoQ1BQRkxBR1NfRk9SX0JVSUxEKSIgXAotIAlMREZMQUdTPSIkKExERkxBR1NfRk9SX0JVSUxEKSIKLSAKLSAjIFRoaXMgaXMgdGhlIGxpc3Qgb2YgZGlyZWN0b3JpZXMgdG8gYnVpbHQgZm9yIHRoZSBob3N0IHN5c3RlbS4KLUBAIC0xODYsNiArMTkwLDcgQEAgSE9TVF9TVUJESVIgPSBAaG9zdF9zdWJkaXJACi0gSE9TVF9FWFBPUlRTID0gXAotIAkkKEJBU0VfRVhQT1JUUykgXAotIAlDQz0iJChDQykiOyBleHBvcnQgQ0M7IFwKLSsJQ1BQPSIkKENDKSAtRSI7IGV4cG9ydCBDUFA7IFwKLSAJQURBX0NGTEFHUz0iJChBREFfQ0ZMQUdTKSI7IGV4cG9ydCBBREFfQ0ZMQUdTOyBcCi0gCUNGTEFHUz0iJChDRkxBR1MpIjsgZXhwb3J0IENGTEFHUzsgXAotIAlDT05GSUdfU0hFTEw9IiQoU0hFTEwpIjsgZXhwb3J0IENPTkZJR19TSEVMTDsgXAotQEAgLTczNCw2ICs3MzksNyBAQCBCQVNFX0ZMQUdTX1RPX1BBU1MgPSBcCi0gCSJDQ19GT1JfQlVJTEQ9JChDQ19GT1JfQlVJTEQpIiBcCi0gCSJDRkxBR1NfRk9SX0JVSUxEPSQoQ0ZMQUdTX0ZPUl9CVUlMRCkiIFwKLSAJIkNYWF9GT1JfQlVJTEQ9JChDWFhfRk9SX0JVSUxEKSIgXAotKwkiQ1hYRkxBR1NfRk9SX0JVSUxEPSQoQ1hYRkxBR1NfRk9SX0JVSUxEKSIgXAotIAkiRVhQRUNUPSQoRVhQRUNUKSIgXAotIAkiRkxFWD0kKEZMRVgpIiBcCi0gCSJJTlNUQUxMPSQoSU5TVEFMTCkiIFwKLWRpZmYgLS1naXQgYS9NYWtlZmlsZS50cGwgYi9NYWtlZmlsZS50cGwKLWluZGV4IGQwZmEwNzAwNWJlLi45NTMzNzZjNjU4ZCAxMDA2NDQKLS0tLSBhL01ha2VmaWxlLnRwbAotKysrIGIvTWFrZWZpbGUudHBsCi1AQCAtMTU0LDYgKzE1NCw3IEBAIEJVSUxEX0VYUE9SVFMgPSBcCi0gCUNDPSIkKENDX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ0M7IFwKLSAJQ0ZMQUdTPSIkKENGTEFHU19GT1JfQlVJTEQpIjsgZXhwb3J0IENGTEFHUzsgXAotIAlDT05GSUdfU0hFTEw9IiQoU0hFTEwpIjsgZXhwb3J0IENPTkZJR19TSEVMTDsgXAotKwlDUFBGTEFHUz0iJChDUFBGTEFHU19GT1JfQlVJTEQpIjsgZXhwb3J0IENQUEZMQUdTOyBcCi0gCUNYWD0iJChDWFhfRk9SX0JVSUxEKSI7IGV4cG9ydCBDWFg7IFwKLSAJQ1hYRkxBR1M9IiQoQ1hYRkxBR1NfRk9SX0JVSUxEKSI7IGV4cG9ydCBDWFhGTEFHUzsgXAotIAlHRk9SVFJBTj0iJChHRk9SVFJBTl9GT1JfQlVJTEQpIjsgZXhwb3J0IEdGT1JUUkFOOyBcCi1AQCAtMTcxLDYgKzE3Miw5IEBAIEJVSUxEX0VYUE9SVFMgPSBcCi0gIyBidWlsdCBmb3IgdGhlIGJ1aWxkIHN5c3RlbSB0byBvdmVycmlkZSB0aG9zZSBpbiBCQVNFX0ZMQUdTX1RPX1BBU1MuCi0gRVhUUkFfQlVJTERfRkxBR1MgPSBcCi0gCUNGTEFHUz0iJChDRkxBR1NfRk9SX0JVSUxEKSIgXAotKwlDWFhGTEFHUz0iJChDWFhGTEFHU19GT1JfQlVJTEQpIiBcCi0rCUNQUD0iJChDQ19GT1JfQlVJTEQpIC1FIiBcCi0rCUNQUEZMQUdTPSIkKENQUEZMQUdTX0ZPUl9CVUlMRCkiIFwKLSAJTERGTEFHUz0iJChMREZMQUdTX0ZPUl9CVUlMRCkiCi0gCi0gIyBUaGlzIGlzIHRoZSBsaXN0IG9mIGRpcmVjdG9yaWVzIHRvIGJ1aWx0IGZvciB0aGUgaG9zdCBzeXN0ZW0uCi1AQCAtMTg4LDYgKzE5Miw3IEBAIEhPU1RfU1VCRElSID0gQGhvc3Rfc3ViZGlyQAotIEhPU1RfRVhQT1JUUyA9IFwKLSAJJChCQVNFX0VYUE9SVFMpIFwKLSAJQ0M9IiQoQ0MpIjsgZXhwb3J0IENDOyBcCi0rCUNQUD0iJChDQykgLUUiOyBleHBvcnQgQ1BQOyBcCi0gCUFEQV9DRkxBR1M9IiQoQURBX0NGTEFHUykiOyBleHBvcnQgQURBX0NGTEFHUzsgXAotIAlDRkxBR1M9IiQoQ0ZMQUdTKSI7IGV4cG9ydCBDRkxBR1M7IFwKLSAJQ09ORklHX1NIRUxMPSIkKFNIRUxMKSI7IGV4cG9ydCBDT05GSUdfU0hFTEw7IFwKLWRpZmYgLS1naXQgYS9nY2MvTWFrZWZpbGUuaW4gYi9nY2MvTWFrZWZpbGUuaW4KLWluZGV4IDk1ZDIxZWZmYWQzLi5kYmUyYmFjZGU1MCAxMDA2NDQKLS0tLSBhL2djYy9NYWtlZmlsZS5pbgotKysrIGIvZ2NjL01ha2VmaWxlLmluCi1AQCAtNzk1LDcgKzc5NSw3IEBAIEJVSUxEX0xERkxBR1M9QEJVSUxEX0xERkxBR1NACi0gQlVJTERfTk9fUElFX0ZMQUcgPSBAQlVJTERfTk9fUElFX0ZMQUdACi0gQlVJTERfTERGTEFHUyArPSAkKEJVSUxEX05PX1BJRV9GTEFHKQotIEJVSUxEX0NQUEZMQUdTPSAtSS4gLUkkKEBEKSAtSSQoc3JjZGlyKSAtSSQoc3JjZGlyKS8kKEBEKSBcCi0tCQktSSQoc3JjZGlyKS8uLi9pbmNsdWRlIEBJTkNJTlRMQCAkKENQUElOQykgJChDUFBGTEFHUykKLSsJCS1JJChzcmNkaXIpLy4uL2luY2x1ZGUgQElOQ0lOVExAICQoQ1BQSU5DKSAkKENQUEZMQUdTX0ZPUl9CVUlMRCkKLSAKLSAjIEFjdHVhbCBuYW1lIHRvIHVzZSB3aGVuIGluc3RhbGxpbmcgYSBuYXRpdmUgY29tcGlsZXIuCi0gR0NDX0lOU1RBTExfTkFNRSA6PSAkKHNoZWxsIGVjaG8gZ2NjfHNlZCAnJChwcm9ncmFtX3RyYW5zZm9ybV9uYW1lKScpCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZSBiL2djYy9jb25maWd1cmUKLWluZGV4IDZiYTM5MWVkMDY4Li43MmNhNmU1YzUzNSAxMDA3NTUKLS0tLSBhL2djYy9jb25maWd1cmUKLSsrKyBiL2djYy9jb25maWd1cmUKLUBAIC0xMTc4OSw3ICsxMTc4OSw3IEBAIGVsc2UKLSAJQ0M9IiR7Q0NfRk9SX0JVSUxEfSIgQ0ZMQUdTPSIke0NGTEFHU19GT1JfQlVJTER9IiBcCi0gCUNYWD0iJHtDWFhfRk9SX0JVSUxEfSIgQ1hYRkxBR1M9IiR7Q1hYRkxBR1NfRk9SX0JVSUxEfSIgXAotIAlMRD0iJHtMRF9GT1JfQlVJTER9IiBMREZMQUdTPSIke0xERkxBR1NfRk9SX0JVSUxEfSIgXAotLQlHTVBJTkM9IiIgQ1BQRkxBR1M9IiR7Q1BQRkxBR1N9IC1ER0VORVJBVE9SX0ZJTEUiIFwKLSsJR01QSU5DPSIiIENQUEZMQUdTPSIke0NQUEZMQUdTX0ZPUl9CVUlMRH0gLURHRU5FUkFUT1JfRklMRSIgXAotIAkke3JlYWxzcmNkaXJ9L2NvbmZpZ3VyZSBcCi0gCQktLWVuYWJsZS1sYW5ndWFnZXM9JHtlbmFibGVfbGFuZ3VhZ2VzLWFsbH0gXAotIAkJLS10YXJnZXQ9JHRhcmdldF9hbGlhcyAtLWhvc3Q9JGJ1aWxkX2FsaWFzIC0tYnVpbGQ9JGJ1aWxkX2FsaWFzCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZS5hYyBiL2djYy9jb25maWd1cmUuYWMKLWluZGV4IDg1NTFhNDEyZGYzLi42ZWVmYjYxZGMyYiAxMDA2NDQKLS0tLSBhL2djYy9jb25maWd1cmUuYWMKLSsrKyBiL2djYy9jb25maWd1cmUuYWMKLUBAIC0xNzA4LDcgKzE3MDgsNyBAQCBlbHNlCi0gCUNDPSIke0NDX0ZPUl9CVUlMRH0iIENGTEFHUz0iJHtDRkxBR1NfRk9SX0JVSUxEfSIgXAotIAlDWFg9IiR7Q1hYX0ZPUl9CVUlMRH0iIENYWEZMQUdTPSIke0NYWEZMQUdTX0ZPUl9CVUlMRH0iIFwKLSAJTEQ9IiR7TERfRk9SX0JVSUxEfSIgTERGTEFHUz0iJHtMREZMQUdTX0ZPUl9CVUlMRH0iIFwKLS0JR01QSU5DPSIiIENQUEZMQUdTPSIke0NQUEZMQUdTfSAtREdFTkVSQVRPUl9GSUxFIiBcCi0rCUdNUElOQz0iIiBDUFBGTEFHUz0iJHtDUFBGTEFHU19GT1JfQlVJTER9IC1ER0VORVJBVE9SX0ZJTEUiIFwKLSAJJHtyZWFsc3JjZGlyfS9jb25maWd1cmUgXAotIAkJLS1lbmFibGUtbGFuZ3VhZ2VzPSR7ZW5hYmxlX2xhbmd1YWdlcy1hbGx9IFwKLSAJCS0tdGFyZ2V0PSR0YXJnZXRfYWxpYXMgLS1ob3N0PSRidWlsZF9hbGlhcyAtLWJ1aWxkPSRidWlsZF9hbGlhcwotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAzOS1uaW9zMi1EZWZpbmUtTVVTTF9EWU5BTUlDX0xJTktFUi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMzktbmlvczItRGVmaW5lLU1VU0xfRFlOQU1JQ19MSU5LRVIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE3YWVjY2QuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAzOS1uaW9zMi1EZWZpbmUtTVVTTF9EWU5BTUlDX0xJTktFUi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLUZyb20gNmQwM2RkZmI3YTA5Mjk0MmJlNmI1OGIxODMwZjY5ODZkMDEyZDVlMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDIgRmViIDIwMTYgMTA6MjY6MTAgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSCAzOS80N10gbmlvczI6IERlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSCi0KLVNpZ25lZC1vZmYtYnk6IE1hcmVrIFZhc3V0IDxtYXJleEBkZW54LmRlPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRS1TcGVjaWZpY10KLQotIGdjYy9jb25maWcvbmlvczIvbGludXguaCB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9uaW9zMi9saW51eC5oIGIvZ2NjL2NvbmZpZy9uaW9zMi9saW51eC5oCi1pbmRleCA1MTc3ZmE2NDFhNC4uMWI4YWNjZGE2ZWUgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL25pb3MyL2xpbnV4LmgKLSsrKyBiL2djYy9jb25maWcvbmlvczIvbGludXguaAotQEAgLTMwLDYgKzMwLDcgQEAKLSAjZGVmaW5lIENQUF9TUEVDICIle3Bvc2l4Oi1EX1BPU0lYX1NPVVJDRX0gJXtwdGhyZWFkOi1EX1JFRU5UUkFOVH0iCi0gCi0gI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1saW51eC1uaW9zMi5zby4xIgotKyNkZWZpbmUgTVVTTF9EWU5BTUlDX0xJTktFUiAgIi9saWIvbGQtbXVzbC1uaW9zMi5zby4xIgotIAotICN1bmRlZiBMSU5LX1NQRUMKLSAjZGVmaW5lIExJTktfU1BFQyBMSU5LX1NQRUNfRU5ESUFOIFwKLS0tIAotMi4xMi4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwNDAtQWRkLXNzcF9ub25zaGFyZWQtdG8tbGluay1jb21tYW5kbGluZS1mb3ItbXVzbC10YXJnZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwNDAtQWRkLXNzcF9ub25zaGFyZWQtdG8tbGluay1jb21tYW5kbGluZS1mb3ItbXVzbC10YXJnZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjliN2NlNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQwLUFkZC1zc3Bfbm9uc2hhcmVkLXRvLWxpbmstY29tbWFuZGxpbmUtZm9yLW11c2wtdGFyZ2UucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw4NyArMCwwIEBACi1Gcm9tIDIxMGY2YjNiODIwODRjYzc1NmUwMmI4YmMxMmY5MDlhNDNiMTRlZTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVHVlLCAyNyBKdW4gMjAxNyAxODoxMDo1NCAtMDcwMAotU3ViamVjdDogW1BBVENIIDQwLzQ5XSBBZGQgc3NwX25vbnNoYXJlZCB0byBsaW5rIGNvbW1hbmRsaW5lIGZvciBtdXNsIHRhcmdldHMKLQotd2hlbiAtZnN0YWNrLXByb3RlY3RvciBvcHRpb25zIGFyZSBlbmFibGVkIHdlIG5lZWQgdG8KLWxpbmsgd2l0aCBzc3Bfc2hhcmVkIG9uIG11c2wgc2luY2UgaXQgZG9lcyBub3QgcHJvdmlkZQotdGhlIF9fc3RhY2tfY2hrX2ZhaWxfbG9jYWwoKSBzbyBlc3NlbnRpYWxseSBpdCBwcm92aWRlcwotbGlic3NwIGJ1dCBub3QgbGlic3NwX25vbnNoYXJlZCBzb21ldGhpbmcgbGlrZQotVEFSR0VUX0xJQkNfUFJPVklERVNfU1NQX0JVVF9OT1RfU1NQX05PTlNIQVJFRAotIHdoZXJlLWFzIGZvciBnbGliYyB0aGUgbmVlZGVkIHN5bWJvbHMKLWFyZSBhbHJlYWR5IHByZXNlbnQgaW4gbGliY19ub25zaGFyZWQgbGlicmFyeSB0aGVyZWZvcmUKLXdlIGRvIG5vdCBuZWVkIGFueSBsaWJyYXJ5IGhlbHBlciBvbiBnbGliYyBiYXNlZCBzeXN0ZW1zCi1idXQgbXVzbCBuZWVkcyB0aGUgbGlic3NwX25vc2hhcmVkIGZyb20gZ2NjCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gZ2NjL2NvbmZpZy9saW51eC5oICAgICAgICAgIHwgIDcgKysrKysrKwotIGdjYy9jb25maWcvcnM2MDAwL2xpbnV4LmggICB8IDEwICsrKysrKysrKysKLSBnY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmggfCAxMCArKysrKysrKysrCi0gMyBmaWxlcyBjaGFuZ2VkLCAyNyBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2xpbnV4LmggYi9nY2MvY29uZmlnL2xpbnV4LmgKLWluZGV4IDJlNjgzZDBjNDMwLi4xYjRkZjc5ODY3MSAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvbGludXguaAotKysrIGIvZ2NjL2NvbmZpZy9saW51eC5oCi1AQCAtMTgyLDYgKzE4MiwxMyBAQCBzZWUgdGhlIGZpbGVzIENPUFlJTkczIGFuZCBDT1BZSU5HLlJVTlRJTUUgcmVzcGVjdGl2ZWx5LiAgSWYgbm90LCBzZWUKLSAgICAgeyBHQ0NfSU5DTFVERV9ESVIsICJHQ0MiLCAwLCAxLCAwLCAwIH0sCQlcCi0gICAgIHsgMCwgMCwgMCwgMCwgMCwgMCB9CQkJCVwKLSAgIH0KLSsjaWZkZWYgVEFSR0VUX0xJQkNfUFJPVklERVNfU1NQCi0rI3VuZGVmIExJTktfU1NQX1NQRUMKLSsjZGVmaW5lIExJTktfU1NQX1NQRUMgIiV7ZnN0YWNrLXByb3RlY3Rvcnxmc3RhY2stcHJvdGVjdG9yLWFsbCIgXAotKwkJICAgICAgICJ8ZnN0YWNrLXByb3RlY3Rvci1zdHJvbmd8ZnN0YWNrLXByb3RlY3Rvci1leHBsaWNpdCIgXAotKwkJICAgICAgICI6LWxzc3Bfbm9uc2hhcmVkfSIKLSsjZW5kaWYKLSsKLSAjZW5kaWYKLSAKLSAjaWYgKERFRkFVTFRfTElCQyA9PSBMSUJDX1VDTElCQykgJiYgZGVmaW5lZCAoU0lOR0xFX0xJQkMpIC8qIHVDbGludXggKi8KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3JzNjAwMC9saW51eC5oIGIvZ2NjL2NvbmZpZy9yczYwMDAvbGludXguaAotaW5kZXggNjg0YWZkNmMxOTAuLjIyY2ZhMzkxYjg5IDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvbGludXguaAotKysrIGIvZ2NjL2NvbmZpZy9yczYwMDAvbGludXguaAotQEAgLTkxLDYgKzkxLDE2IEBACi0gCQkJCQkgIiAtbSBlbGYzMnBwY2xpbnV4IikKLSAjZW5kaWYKLSAKLSsvKiBsaW5rIGxpYnNzcF9ub25zaGFyZWQuYSB3aXRoIG11c2wgKi8KLSsjaWYgREVGQVVMVF9MSUJDID09IExJQkNfTVVTTAotKyNpZmRlZiBUQVJHRVRfTElCQ19QUk9WSURFU19TU1AKLSsjdW5kZWYgTElOS19TU1BfU1BFQwotKyNkZWZpbmUgTElOS19TU1BfU1BFQyAiJXtmc3RhY2stcHJvdGVjdG9yfGZzdGFjay1wcm90ZWN0b3ItYWxsIiBcCi0rCQkgICAgICAgInxmc3RhY2stcHJvdGVjdG9yLXN0cm9uZ3xmc3RhY2stcHJvdGVjdG9yLWV4cGxpY2l0IiBcCi0rCQkgICAgICAgIjotbHNzcF9ub25zaGFyZWR9IgotKyNlbmRpZgotKyNlbmRpZgotKwotICN1bmRlZiBMSU5LX09TX0xJTlVYX1NQRUMKLSAjZGVmaW5lIExJTktfT1NfTElOVVhfU1BFQyBMSU5LX09TX0xJTlVYX0VNVUwgIiAleyFzaGFyZWQ6ICV7IXN0YXRpYzogXAotICAgJXtyZHluYW1pYzotZXhwb3J0LWR5bmFtaWN9IFwKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmggYi9nY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmgKLWluZGV4IDNiMDBlYzBmY2YwLi44MzcxZjhkN2I2YiAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaAotKysrIGIvZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oCi1AQCAtNDY1LDYgKzQ2NSwxNiBAQCBleHRlcm4gaW50IGRvdF9zeW1ib2xzOwotIAkJCQkJICAgIiAtbSBlbGY2NHBwYyIpCi0gI2VuZGlmCi0gCi0rLyogbGluayBsaWJzc3Bfbm9uc2hhcmVkLmEgd2l0aCBtdXNsICovCi0rI2lmIERFRkFVTFRfTElCQyA9PSBMSUJDX01VU0wKLSsjaWZkZWYgVEFSR0VUX0xJQkNfUFJPVklERVNfU1NQCi0rI3VuZGVmIExJTktfU1NQX1NQRUMKLSsjZGVmaW5lIExJTktfU1NQX1NQRUMgIiV7ZnN0YWNrLXByb3RlY3Rvcnxmc3RhY2stcHJvdGVjdG9yLWFsbCIgXAotKwkJICAgICAgICJ8ZnN0YWNrLXByb3RlY3Rvci1zdHJvbmd8ZnN0YWNrLXByb3RlY3Rvci1leHBsaWNpdCIgXAotKwkJICAgICAgICI6LWxzc3Bfbm9uc2hhcmVkfSIKLSsjZW5kaWYKLSsjZW5kaWYKLSsKLSAjZGVmaW5lIExJTktfT1NfTElOVVhfU1BFQzMyIExJTktfT1NfTElOVVhfRU1VTDMyICIgJXshc2hhcmVkOiAleyFzdGF0aWM6IFwKLSAgICV7cmR5bmFtaWM6LWV4cG9ydC1keW5hbWljfSBcCi0gICAtZHluYW1pYy1saW5rZXIgIiBHTlVfVVNFUl9EWU5BTUlDX0xJTktFUjMyICJ9fSBcCi0tLSAKLTIuMTMuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQxLWdjYy1saWJjcHAtc3VwcG9ydC1mZmlsZS1wcmVmaXgtbWFwLW9sZC1uZXcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQxLWdjYy1saWJjcHAtc3VwcG9ydC1mZmlsZS1wcmVmaXgtbWFwLW9sZC1uZXcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUyNjBlMzYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDA0MS1nY2MtbGliY3BwLXN1cHBvcnQtZmZpbGUtcHJlZml4LW1hcC1vbGQtbmV3LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjg0ICswLDAgQEAKLUZyb20gNGVhZGM5OWJkZDA5NzQ3NjFiZjQ4ZjBmZDMyOTk0ZGQ5YTNmZmNmZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLURhdGU6IFdlZCwgMTYgTWFyIDIwMTYgMDI6Mjc6NDMgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSCA0MS80N10gZ2NjL2xpYmNwcDogc3VwcG9ydCAtZmZpbGUtcHJlZml4LW1hcD08b2xkPj08bmV3PgotCi1TaW1pbGFyIC1mZGVidWctcHJlZml4LW1hcCwgYWRkIG9wdGlvbiAtZmZpbGUtcHJlZml4LW1hcCB0byBtYXAgb25lCi1kaXJlY3RvcnkgbmFtZSAob2xkKSB0byBhbm90aGVyIChuZXcpIGluIF9fRklMRV9fLCBfX0JBU0VfRklMRV9fIGFuZAotX19idWlsdGluX0ZJTEUgKCkuCi0KLWh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTcwMjY4Ci0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZ10KLVNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLS0tLQotIGdjYy9jLWZhbWlseS9jLW9wdHMuYyAgICAgfCAxMyArKysrKysrCi0gZ2NjL2MtZmFtaWx5L2Mub3B0ICAgICAgICB8ICA0ICsrKwotIGdjYy9kd2FyZjJvdXQuYyAgICAgICAgICAgfCAgMSArCi0gZ2NjL2dpbXBsaWZ5LmMgICAgICAgICAgICB8ICAyICsrCi0gbGliY3BwL01ha2VmaWxlLmluICAgICAgICB8IDEwICsrKy0tLQotIGxpYmNwcC9maWxlLW1hcC5jICAgICAgICAgfCA5MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwotIGxpYmNwcC9pbmNsdWRlL2ZpbGUtbWFwLmggfCAzMCArKysrKysrKysrKysrKysrCi0gbGliY3BwL21hY3JvLmMgICAgICAgICAgICB8ICAyICsrCi0gOCBmaWxlcyBjaGFuZ2VkLCAxNDkgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKLSBjcmVhdGUgbW9kZSAxMDA2NDQgbGliY3BwL2ZpbGUtbWFwLmMKLSBjcmVhdGUgbW9kZSAxMDA2NDQgbGliY3BwL2luY2x1ZGUvZmlsZS1tYXAuaAotCi1kaWZmIC0tZ2l0IGEvZ2NjL2MtZmFtaWx5L2Mtb3B0cy5jIGIvZ2NjL2MtZmFtaWx5L2Mtb3B0cy5jCi1pbmRleCBlYTBlMDFiMTAxYy4uYTc0MWM3NWE3OGYgMTAwNjQ0Ci0tLS0gYS9nY2MvYy1mYW1pbHkvYy1vcHRzLmMKLSsrKyBiL2djYy9jLWZhbWlseS9jLW9wdHMuYwotQEAgLTM5LDYgKzM5LDE0IEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCi0gI2luY2x1ZGUgIm9wdHMuaCIKLSAjaW5jbHVkZSAicGx1Z2luLmgiCQkvKiBGb3IgUExVR0lOX0lOQ0xVREVfRklMRSBldmVudC4gICovCi0gI2luY2x1ZGUgIm1rZGVwcy5oIgotKyNpbmNsdWRlICJmaWxlLW1hcC5oIgotKyNpbmNsdWRlICJjLXRhcmdldC5oIgotKyNpbmNsdWRlICJ0bS5oIgkJCS8qIEZvciBCWVRFU19CSUdfRU5ESUFOLAotKwkJCQkgICBET0xMQVJTX0lOX0lERU5USUZJRVJTLAotKwkJCQkgICBTVERDXzBfSU5fU1lTVEVNX0hFQURFUlMsCi0rCQkJCSAgIFRBUkdFVF9GTFRfRVZBTF9NRVRIT0RfTk9OX0RFRkFVTFQgYW5kCi0rCQkJCSAgIFRBUkdFVF9PUFRGLiAgKi8KLSsjaW5jbHVkZSAidG1fcC5oIgkJLyogRm9yIENfQ09NTU9OX09WRVJSSURFX09QVElPTlMuICAqLwotICNpbmNsdWRlICJkdW1wZmlsZS5oIgotIAotICNpZm5kZWYgRE9MTEFSU19JTl9JREVOVElGSUVSUwotQEAgLTUxNyw2ICs1MjUsMTEgQEAgY19jb21tb25faGFuZGxlX29wdGlvbiAoc2l6ZV90IHNjb2RlLCBjb25zdCBjaGFyICphcmcsIGludCB2YWx1ZSwKLSAgICAgICBjcHBfb3B0cy0+bmFycm93X2NoYXJzZXQgPSBhcmc7Ci0gICAgICAgYnJlYWs7Ci0gCi0rICAgIGNhc2UgT1BUX2ZmaWxlX3ByZWZpeF9tYXBfOgotKyAgICAgIGlmIChhZGRfZmlsZV9wcmVmaXhfbWFwIChhcmcpIDwgMCkKLSsgICAgICAgIGVycm9yICgiaW52YWxpZCBhcmd1bWVudCAlcXMgdG8gLWZmaWxlLXByZWZpeC1tYXAiLCBhcmcpOwotKyAgICAgIGJyZWFrOwotKwotICAgICBjYXNlIE9QVF9md2lkZV9leGVjX2NoYXJzZXRfOgotICAgICAgIGNwcF9vcHRzLT53aWRlX2NoYXJzZXQgPSBhcmc7Ci0gICAgICAgYnJlYWs7Ci1kaWZmIC0tZ2l0IGEvZ2NjL2MtZmFtaWx5L2Mub3B0IGIvZ2NjL2MtZmFtaWx5L2Mub3B0Ci1pbmRleCBjNGVmNzc5NjI4Mi4uNzMzMzNkZmQ1N2MgMTAwNjQ0Ci0tLS0gYS9nY2MvYy1mYW1pbHkvYy5vcHQKLSsrKyBiL2djYy9jLWZhbWlseS9jLm9wdAotQEAgLTEzNzIsNiArMTM3MiwxMCBAQCBmZXhlYy1jaGFyc2V0PQotIEMgT2JqQyBDKysgT2JqQysrIEpvaW5lZCBSZWplY3ROZWdhdGl2ZQotIC1mZXhlYy1jaGFyc2V0PTxjc2V0PglDb252ZXJ0IGFsbCBzdHJpbmdzIGFuZCBjaGFyYWN0ZXIgY29uc3RhbnRzIHRvIGNoYXJhY3RlciBzZXQgPGNzZXQ+LgotIAotK2ZmaWxlLXByZWZpeC1tYXA9Ci0rQyBPYmpDIEMrKyBPYmpDKysgSm9pbmVkIFJlamVjdE5lZ2F0aXZlCi0rLWZmaWxlLXByZWZpeC1tYXA9PG9sZD1uZXc+CU1hcCBvbmUgZGlyZWN0b3J5IG5hbWUgdG8gYW5vdGhlciBpbiBfX0ZJTEVfXywgX19CQVNFX0ZJTEVfXyBhbmQgX19idWlsdGluX0ZJTEUgKCkKLSsKLSBmZXh0ZW5kZWQtaWRlbnRpZmllcnMKLSBDIE9iakMgQysrIE9iakMrKwotIFBlcm1pdCB1bml2ZXJzYWwgY2hhcmFjdGVyIG5hbWVzIChcXHUgYW5kIFxcVSkgaW4gaWRlbnRpZmllcnMuCi1kaWZmIC0tZ2l0IGEvZ2NjL2R3YXJmMm91dC5jIGIvZ2NjL2R3YXJmMm91dC5jCi1pbmRleCA5OGM1MTU3NmVjMi4uNzYyZjY5YWU4OGUgMTAwNjQ0Ci0tLS0gYS9nY2MvZHdhcmYyb3V0LmMKLSsrKyBiL2djYy9kd2FyZjJvdXQuYwotQEAgLTIzNDIxLDYgKzIzNDIxLDcgQEAgZ2VuX3Byb2R1Y2VyX3N0cmluZyAodm9pZCkKLSAgICAgICBjYXNlIE9QVF9mbHRyYW5zX291dHB1dF9saXN0XzoKLSAgICAgICBjYXNlIE9QVF9mcmVzb2x1dGlvbl86Ci0gICAgICAgY2FzZSBPUFRfZmRlYnVnX3ByZWZpeF9tYXBfOgotKyAgICAgIGNhc2UgT1BUX2ZmaWxlX3ByZWZpeF9tYXBfOgotIAkvKiBJZ25vcmUgdGhlc2UuICAqLwotIAljb250aW51ZTsKLSAgICAgICBkZWZhdWx0OgotZGlmZiAtLWdpdCBhL2djYy9naW1wbGlmeS5jIGIvZ2NjL2dpbXBsaWZ5LmMKLWluZGV4IGZkMjdlYjE1MjNmLi41NTQyYjM3OWYyOCAxMDA2NDQKLS0tLSBhL2djYy9naW1wbGlmeS5jCi0rKysgYi9nY2MvZ2ltcGxpZnkuYwotQEAgLTU4LDYgKzU4LDggQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKLSAjaW5jbHVkZSAiZ29tcC1jb25zdGFudHMuaCIKLSAjaW5jbHVkZSAidHJlZS1kdW1wLmgiCi0gI2luY2x1ZGUgImdpbXBsZS13YWxrLmgiCi0rI2luY2x1ZGUgImZpbGUtbWFwLmgiCi0rCi0gI2luY2x1ZGUgImxhbmdob29rcy1kZWYuaCIJLyogRklYTUU6IGZvciBsaGRfc2V0X2RlY2xfYXNzZW1ibGVyX25hbWUgKi8KLSAjaW5jbHVkZSAiYnVpbHRpbnMuaCIKLSAjaW5jbHVkZSAiYXNhbi5oIgotZGlmZiAtLWdpdCBhL2xpYmNwcC9NYWtlZmlsZS5pbiBiL2xpYmNwcC9NYWtlZmlsZS5pbgotaW5kZXggMGJkMzc4N2MyNWUuLmQzYjUyOTU2YjUyIDEwMDY0NAotLS0tIGEvbGliY3BwL01ha2VmaWxlLmluCi0rKysgYi9saWJjcHAvTWFrZWZpbGUuaW4KLUBAIC04NCwxMiArODQsMTIgQEAgREVQTU9ERSA9ICQoQ1hYREVQTU9ERSkKLSAKLSAKLSBsaWJjcHBfYV9PQkpTID0gY2hhcnNldC5vIGRpcmVjdGl2ZXMubyBkaXJlY3RpdmVzLW9ubHkubyBlcnJvcnMubyBcCi0tCWV4cHIubyBmaWxlcy5vIGlkZW50aWZpZXJzLm8gaW5pdC5vIGxleC5vIGxpbmUtbWFwLm8gbWFjcm8ubyBcCi0tCW1rZGVwcy5vIHBjaC5vIHN5bXRhYi5vIHRyYWRpdGlvbmFsLm8KLSsJZXhwci5vIGZpbGUtbWFwLm8gZmlsZXMubyBpZGVudGlmaWVycy5vIGluaXQubyBsZXgubyBsaW5lLW1hcC5vIFwKLSsJbWFjcm8ubyBta2RlcHMubyBwY2gubyBzeW10YWIubyB0cmFkaXRpb25hbC5vCi0gCi0gbGliY3BwX2FfU09VUkNFUyA9IGNoYXJzZXQuYyBkaXJlY3RpdmVzLmMgZGlyZWN0aXZlcy1vbmx5LmMgZXJyb3JzLmMgXAotLQlleHByLmMgZmlsZXMuYyBpZGVudGlmaWVycy5jIGluaXQuYyBsZXguYyBsaW5lLW1hcC5jIG1hY3JvLmMgXAotLQlta2RlcHMuYyBwY2guYyBzeW10YWIuYyB0cmFkaXRpb25hbC5jCi0rCWV4cHIuYyBmaWxlLW1hcC5jIGZpbGVzLmMgaWRlbnRpZmllcnMuYyBpbml0LmMgbGV4LmMgbGluZS1tYXAuYyBcCi0rCW1hY3JvLmMgbWtkZXBzLmMgcGNoLmMgc3ltdGFiLmMgdHJhZGl0aW9uYWwuYwotIAotIGFsbDogbGliY3BwLmEgJChVU0VEX0NBVEFMT0dTKQotIAotQEAgLTI2Myw3ICsyNjMsNyBAQCBwby8kKFBBQ0tBR0UpLnBvdDogJChsaWJjcHBfYV9TT1VSQ0VTKQotIAotIFRBR1NfU09VUkNFUyA9ICQobGliY3BwX2FfU09VUkNFUykgaW50ZXJuYWwuaCB1Y25pZC5oIFwKLSAgICAgaW5jbHVkZS9saW5lLW1hcC5oIGluY2x1ZGUvc3ltdGFiLmggaW5jbHVkZS9jcHAtaWQtZGF0YS5oIFwKLS0gICAgaW5jbHVkZS9jcHBsaWIuaCBpbmNsdWRlL21rZGVwcy5oIHN5c3RlbS5oCi0rICAgIGluY2x1ZGUvY3BwbGliLmggaW5jbHVkZS9ta2RlcHMuaCBzeXN0ZW0uaCBpbmNsdWRlL2ZpbGUtbWFwLmgKLSAKLSBUQUdTOiAkKFRBR1NfU09VUkNFUykKLSAJY2QgJChzcmNkaXIpICYmIGV0YWdzICQoVEFHU19TT1VSQ0VTKQotZGlmZiAtLWdpdCBhL2xpYmNwcC9maWxlLW1hcC5jIGIvbGliY3BwL2ZpbGUtbWFwLmMKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwMC4uMTgwMzVlZjZhNzIKLS0tLSAvZGV2L251bGwKLSsrKyBiL2xpYmNwcC9maWxlLW1hcC5jCi1AQCAtMCwwICsxLDkyIEBACi0rLyogTWFwIG9uZSBkaXJlY3RvcnkgbmFtZSB0byBhbm90aGVyIGluIF9fRklMRV9fLCBfX0JBU0VfRklMRV9fCi0rICAgYW5kIF9fYnVpbHRpbl9GSUxFICgpLgotKyAgIENvcHlyaWdodCAoQykgMjAwMS0yMDE2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotKwotK1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0Ci0rdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCi0rRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzLCBvciAoYXQgeW91ciBvcHRpb24pIGFueQotK2xhdGVyIHZlcnNpb24uCi0rCi0rVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLStNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsKLStZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotK2Fsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCi0rPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotKwotKyBJbiBvdGhlciB3b3JkcywgeW91IGFyZSB3ZWxjb21lIHRvIHVzZSwgc2hhcmUgYW5kIGltcHJvdmUgdGhpcyBwcm9ncmFtLgotKyBZb3UgYXJlIGZvcmJpZGRlbiB0byBmb3JiaWQgYW55b25lIGVsc2UgdG8gdXNlLCBzaGFyZSBhbmQgaW1wcm92ZQotKyB3aGF0IHlvdSBnaXZlIHRoZW0uICAgSGVscCBzdGFtcCBvdXQgc29mdHdhcmUtaG9hcmRpbmchICAqLwotKwotKyNpbmNsdWRlICJjb25maWcuaCIKLSsjaW5jbHVkZSAic3lzdGVtLmgiCi0rI2luY2x1ZGUgImZpbGUtbWFwLmgiCi0rCi0rLyogU3RydWN0dXJlIHJlY29yZGluZyB0aGUgbWFwcGluZyBmcm9tIHNvdXJjZSBmaWxlIGFuZCBkaXJlY3RvcnkKLSsgICBuYW1lcyBhdCBjb21waWxlIHRpbWUgdG8gX19GSUxFX18gKi8KLSt0eXBlZGVmIHN0cnVjdCBmaWxlX3ByZWZpeF9tYXAKLSt7Ci0rICBjb25zdCBjaGFyICpvbGRfcHJlZml4OwotKyAgY29uc3QgY2hhciAqbmV3X3ByZWZpeDsKLSsgIHNpemVfdCBvbGRfbGVuOwotKyAgc2l6ZV90IG5ld19sZW47Ci0rICBzdHJ1Y3QgZmlsZV9wcmVmaXhfbWFwICpuZXh0OwotK30gZmlsZV9wcmVmaXhfbWFwOwotKwotKy8qIExpbmtlZCBsaXN0IG9mIHN1Y2ggc3RydWN0dXJlcy4gICovCi0rc3RhdGljIGZpbGVfcHJlZml4X21hcCAqZmlsZV9wcmVmaXhfbWFwczsKLSsKLSsvKiBSZWNvcmQgcHJlZml4IG1hcHBpbmcgb2YgX19GSUxFX18uICBBUkcgaXMgdGhlIGFyZ3VtZW50IHRvCi0rICAgLWZmaWxlLXByZWZpeC1tYXAgYW5kIG11c3QgYmUgb2YgdGhlIGZvcm0gT0xEPU5FVy4gICovCi0raW50Ci0rYWRkX2ZpbGVfcHJlZml4X21hcCAoY29uc3QgY2hhciAqYXJnKQotK3sKLSsgIGZpbGVfcHJlZml4X21hcCAqbWFwOwotKyAgY29uc3QgY2hhciAqcDsKLSsKLSsgIHAgPSBzdHJjaHIgKGFyZywgJz0nKTsKLSsgIGlmICghcCkKLSsgIHsKLSsgICAgICBmcHJpbnRmKHN0ZGVyciwgImludmFsaWQgYXJndW1lbnQgJXFzIHRvIC1mZmlsZS1wcmVmaXgtbWFwIiwgYXJnKTsKLSsgICAgICByZXR1cm4gLTE7Ci0rICB9Ci0rICBtYXAgPSBYTkVXIChmaWxlX3ByZWZpeF9tYXApOwotKyAgbWFwLT5vbGRfcHJlZml4ID0geHN0cm5kdXAgKGFyZywgcCAtIGFyZyk7Ci0rICBtYXAtPm9sZF9sZW4gPSBwIC0gYXJnOwotKyAgcCsrOwotKyAgbWFwLT5uZXdfcHJlZml4ID0geHN0cmR1cCAocCk7Ci0rICBtYXAtPm5ld19sZW4gPSBzdHJsZW4gKHApOwotKyAgbWFwLT5uZXh0ID0gZmlsZV9wcmVmaXhfbWFwczsKLSsgIGZpbGVfcHJlZml4X21hcHMgPSBtYXA7Ci0rCi0rICByZXR1cm4gMDsKLSt9Ci0rCi0rLyogUGVyZm9ybSB1c2VyLXNwZWNpZmllZCBtYXBwaW5nIG9mIF9fRklMRV9fIHByZWZpeGVzLiAgUmV0dXJuCi0rICAgdGhlIG5ldyBuYW1lIGNvcnJlc3BvbmRpbmcgdG8gZmlsZW5hbWUuICAqLwotKwotK2NvbnN0IGNoYXIgKgotK3JlbWFwX2ZpbGVfZmlsZW5hbWUgKGNvbnN0IGNoYXIgKmZpbGVuYW1lKQotK3sKLSsgIGZpbGVfcHJlZml4X21hcCAqbWFwOwotKyAgY2hhciAqczsKLSsgIGNvbnN0IGNoYXIgKm5hbWU7Ci0rICBzaXplX3QgbmFtZV9sZW47Ci0rCi0rICBmb3IgKG1hcCA9IGZpbGVfcHJlZml4X21hcHM7IG1hcDsgbWFwID0gbWFwLT5uZXh0KQotKyAgICBpZiAoZmlsZW5hbWVfbmNtcCAoZmlsZW5hbWUsIG1hcC0+b2xkX3ByZWZpeCwgbWFwLT5vbGRfbGVuKSA9PSAwKQotKyAgICAgIGJyZWFrOwotKyAgaWYgKCFtYXApCi0rICAgIHJldHVybiBmaWxlbmFtZTsKLSsgIG5hbWUgPSBmaWxlbmFtZSArIG1hcC0+b2xkX2xlbjsKLSsgIG5hbWVfbGVuID0gc3RybGVuIChuYW1lKSArIDE7Ci0rICBzID0gKGNoYXIgKikgYWxsb2NhIChuYW1lX2xlbiArIG1hcC0+bmV3X2xlbik7Ci0rICBtZW1jcHkgKHMsIG1hcC0+bmV3X3ByZWZpeCwgbWFwLT5uZXdfbGVuKTsKLSsgIG1lbWNweSAocyArIG1hcC0+bmV3X2xlbiwgbmFtZSwgbmFtZV9sZW4pOwotKwotKyAgcmV0dXJuIHhzdHJkdXAgKHMpOwotK30KLSsKLSsKLWRpZmYgLS1naXQgYS9saWJjcHAvaW5jbHVkZS9maWxlLW1hcC5oIGIvbGliY3BwL2luY2x1ZGUvZmlsZS1tYXAuaAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAwLi44NzUwMzE1MmQyNwotLS0tIC9kZXYvbnVsbAotKysrIGIvbGliY3BwL2luY2x1ZGUvZmlsZS1tYXAuaAotQEAgLTAsMCArMSwzMCBAQAotKy8qIE1hcCBvbmUgZGlyZWN0b3J5IG5hbWUgdG8gYW5vdGhlciBpbiBfX0ZJTEVfXywgX19CQVNFX0ZJTEVfXwotKyAgIGFuZCBfX2J1aWx0aW5fRklMRSAoKS4KLSsgICBDb3B5cmlnaHQgKEMpIDIwMDEtMjAxNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsKLStUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAotK3VuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQotK0ZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMywgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkKLStsYXRlciB2ZXJzaW9uLgotKwotK1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotK2J1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotK0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rCi0rWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSthbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQotKzxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLSsKLSsgSW4gb3RoZXIgd29yZHMsIHlvdSBhcmUgd2VsY29tZSB0byB1c2UsIHNoYXJlIGFuZCBpbXByb3ZlIHRoaXMgcHJvZ3JhbS4KLSsgWW91IGFyZSBmb3JiaWRkZW4gdG8gZm9yYmlkIGFueW9uZSBlbHNlIHRvIHVzZSwgc2hhcmUgYW5kIGltcHJvdmUKLSsgd2hhdCB5b3UgZ2l2ZSB0aGVtLiAgIEhlbHAgc3RhbXAgb3V0IHNvZnR3YXJlLWhvYXJkaW5nISAgKi8KLSsKLSsjaWZuZGVmIExJQkNQUF9GSUxFX01BUF9ICi0rI2RlZmluZSBMSUJDUFBfRklMRV9NQVBfSAotKwotK2NvbnN0IGNoYXIgKiByZW1hcF9maWxlX2ZpbGVuYW1lIChjb25zdCBjaGFyICpmaWxlbmFtZSk7Ci0rCi0raW50IGFkZF9maWxlX3ByZWZpeF9tYXAgKGNvbnN0IGNoYXIgKmFyZyk7Ci0rCi0rI2VuZGlmIC8qICFMSUJDUFBfRklMRV9NQVBfSCAgKi8KLWRpZmYgLS1naXQgYS9saWJjcHAvbWFjcm8uYyBiL2xpYmNwcC9tYWNyby5jCi1pbmRleCBkZTE4YzIyMTBjZi4uMjc0OGM3MGQ1MjAgMTAwNjQ0Ci0tLS0gYS9saWJjcHAvbWFjcm8uYwotKysrIGIvbGliY3BwL21hY3JvLmMKLUBAIC0yNiw2ICsyNiw3IEBAIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCi0gI2luY2x1ZGUgInN5c3RlbS5oIgotICNpbmNsdWRlICJjcHBsaWIuaCIKLSAjaW5jbHVkZSAiaW50ZXJuYWwuaCIKLSsjaW5jbHVkZSAiZmlsZS1tYXAuaCIKLSAKLSB0eXBlZGVmIHN0cnVjdCBtYWNyb19hcmcgbWFjcm9fYXJnOwotIC8qIFRoaXMgc3RydWN0dXJlIHJlcHJlc2VudHMgdGhlIHRva2VucyBvZiBhIG1hY3JvIGFyZ3VtZW50LiAgVGhlc2UKLUBAIC0zMDEsNiArMzAyLDcgQEAgX2NwcF9idWlsdGluX21hY3JvX3RleHQgKGNwcF9yZWFkZXIgKnBmaWxlLCBjcHBfaGFzaG5vZGUgKm5vZGUsCi0gCSAgICBpZiAoIW5hbWUpCi0gCSAgICAgIGFib3J0ICgpOwotIAkgIH0KLSsJbmFtZSA9IHJlbWFwX2ZpbGVfZmlsZW5hbWUgKG5hbWUpOwotIAlsZW4gPSBzdHJsZW4gKG5hbWUpOwotIAlidWYgPSBfY3BwX3VuYWxpZ25lZF9hbGxvYyAocGZpbGUsIGxlbiAqIDIgKyAzKTsKLSAJcmVzdWx0ID0gYnVmOwotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDA0Mi1SZXVzZS1mZGVidWctcHJlZml4LW1hcC10by1yZXBsYWNlLWZmaWxlLXByZWZpeC1tYXAucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQyLVJldXNlLWZkZWJ1Zy1wcmVmaXgtbWFwLXRvLXJlcGxhY2UtZmZpbGUtcHJlZml4LW1hcC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTI0NzE2Ny4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQyLVJldXNlLWZkZWJ1Zy1wcmVmaXgtbWFwLXRvLXJlcGxhY2UtZmZpbGUtcHJlZml4LW1hcC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLUZyb20gZGRkZGM3MzM1NTM5ZmI4YTZkMzBiZWJhMjE3ODE3NjJkZjE1OTE4NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLURhdGU6IFdlZCwgMTYgTWFyIDIwMTYgMDU6Mzk6NTkgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSCA0Mi80N10gUmV1c2UgLWZkZWJ1Zy1wcmVmaXgtbWFwIHRvIHJlcGxhY2UgLWZmaWxlLXByZWZpeC1tYXAKLQotVGhlIG9lLWNvcmUgbWF5IHVzZSBleHRlcm5hbCB0b29sY2hhaW4gdG8gY29tcGlsZSwKLXdoaWNoIG1heSBub3Qgc3VwcG9ydCAtZmZpbGUtcHJlZml4LW1hcC4KLQotU2luY2Ugd2UgdXNlIC1mZGVidWctcHJlZml4LW1hcCB0byBkbyB0aGUgc2FtZSB0aGluZywKLXNvIHdlIGNvdWxkIHJldXNlIGl0IHRvIHJlcGxhY2UgLWZmaWxlLXByZWZpeC1tYXAuCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZVtvZS1jb3JlIHNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBnY2Mvb3B0cy1nbG9iYWwuYyB8IDQgKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2djYy9vcHRzLWdsb2JhbC5jIGIvZ2NjL29wdHMtZ2xvYmFsLmMKLWluZGV4IDUwYmFkNzdjMzQ3Li4zMmIxZDI4NjcyMSAxMDA2NDQKLS0tLSBhL2djYy9vcHRzLWdsb2JhbC5jCi0rKysgYi9nY2Mvb3B0cy1nbG9iYWwuYwotQEAgLTMxLDYgKzMxLDcgQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKLSAjaW5jbHVkZSAibGFuZ2hvb2tzLmgiCi0gI2luY2x1ZGUgImRiZ2NudC5oIgotICNpbmNsdWRlICJkZWJ1Zy5oIgotKyNpbmNsdWRlICJmaWxlLW1hcC5oIgotICNpbmNsdWRlICJvdXRwdXQuaCIKLSAjaW5jbHVkZSAicGx1Z2luLmgiCi0gI2luY2x1ZGUgInRvcGxldi5oIgotQEAgLTM1Nyw2ICszNTgsOSBAQCBoYW5kbGVfY29tbW9uX2RlZmVycmVkX29wdGlvbnMgKHZvaWQpCi0gCi0gCWNhc2UgT1BUX2ZkZWJ1Z19wcmVmaXhfbWFwXzoKLSAJICBhZGRfZGVidWdfcHJlZml4X21hcCAob3B0LT5hcmcpOwotKwotKwkgIC8qIFJldXNlIC1mZGVidWctcHJlZml4LW1hcCB0byByZXBsYWNlIC1mZmlsZS1wcmVmaXgtbWFwICovCi0rCSAgYWRkX2ZpbGVfcHJlZml4X21hcCAob3B0LT5hcmcpOwotIAkgIGJyZWFrOwotIAotIAljYXNlIE9QVF9mZHVtcF86Ci0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQzLWdjYy1maW5hbC5jLWZkZWJ1Zy1wcmVmaXgtbWFwLXN1cHBvcnQtdG8tcmVtYXAtc291cmMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQzLWdjYy1maW5hbC5jLWZkZWJ1Zy1wcmVmaXgtbWFwLXN1cHBvcnQtdG8tcmVtYXAtc291cmMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc0YTVjODYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDA0My1nY2MtZmluYWwuYy1mZGVidWctcHJlZml4LW1hcC1zdXBwb3J0LXRvLXJlbWFwLXNvdXJjLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotRnJvbSA1YmM5N2JlMzg4NDg1YTVmOGRkODVkYjM0MzcyYTEyOTliZmZkMjYzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotRGF0ZTogVGh1LCAyNCBNYXIgMjAxNiAxMToyMzoxNCAtMDQwMAotU3ViamVjdDogW1BBVENIIDQzLzQ3XSBnY2MvZmluYWwuYzogLWZkZWJ1Zy1wcmVmaXgtbWFwIHN1cHBvcnQgdG8gcmVtYXAKLSBzb3VyY2VzIHdpdGggcmVsYXRpdmUgcGF0aAotCi1QUiBvdGhlci83MDQyOAotKiBmaW5hbC5jIChyZW1hcF9kZWJ1Z19maWxlbmFtZSk6IFVzZSBscmVhbHBhdGggdG8gdHJhbnNsYXRlCi1yZWxhdGl2ZSBwYXRoIGJlZm9yZSByZW1hcHBpbmcKLQotaHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NzA0MjgKLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZ10KLQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gZ2NjL2ZpbmFsLmMgfCAxNSArKysrKysrKysrKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9maW5hbC5jIGIvZ2NjL2ZpbmFsLmMKLWluZGV4IDgyMDE2MmIyZDI4Li5kNzRjYjkwMWFiZCAxMDA2NDQKLS0tLSBhL2djYy9maW5hbC5jCi0rKysgYi9nY2MvZmluYWwuYwotQEAgLTE1NTksMTYgKzE1NTksMjUgQEAgcmVtYXBfZGVidWdfZmlsZW5hbWUgKGNvbnN0IGNoYXIgKmZpbGVuYW1lKQotICAgY29uc3QgY2hhciAqbmFtZTsKLSAgIHNpemVfdCBuYW1lX2xlbjsKLSAKLSsgIC8qIFN1cHBvcnQgdG8gcmVtYXAgZmlsZW5hbWUgd2l0aCByZWxhdGl2ZSBwYXRoICAqLwotKyAgY2hhciAqcmVhbHBhdGggPSBscmVhbHBhdGggKGZpbGVuYW1lKTsKLSsgIGlmIChyZWFscGF0aCA9PSBOVUxMKQotKyAgICByZXR1cm4gZmlsZW5hbWU7Ci0rCi0gICBmb3IgKG1hcCA9IGRlYnVnX3ByZWZpeF9tYXBzOyBtYXA7IG1hcCA9IG1hcC0+bmV4dCkKLS0gICAgaWYgKGZpbGVuYW1lX25jbXAgKGZpbGVuYW1lLCBtYXAtPm9sZF9wcmVmaXgsIG1hcC0+b2xkX2xlbikgPT0gMCkKLSsgICAgaWYgKGZpbGVuYW1lX25jbXAgKHJlYWxwYXRoLCBtYXAtPm9sZF9wcmVmaXgsIG1hcC0+b2xkX2xlbikgPT0gMCkKLSAgICAgICBicmVhazsKLSAgIGlmICghbWFwKQotLSAgICByZXR1cm4gZmlsZW5hbWU7Ci0tICBuYW1lID0gZmlsZW5hbWUgKyBtYXAtPm9sZF9sZW47Ci0rICAgIHsKLSsgICAgICBmcmVlIChyZWFscGF0aCk7Ci0rICAgICAgcmV0dXJuIGZpbGVuYW1lOwotKyAgICB9Ci0rICBuYW1lID0gcmVhbHBhdGggKyBtYXAtPm9sZF9sZW47Ci0gICBuYW1lX2xlbiA9IHN0cmxlbiAobmFtZSkgKyAxOwotICAgcyA9IChjaGFyICopIGFsbG9jYSAobmFtZV9sZW4gKyBtYXAtPm5ld19sZW4pOwotICAgbWVtY3B5IChzLCBtYXAtPm5ld19wcmVmaXgsIG1hcC0+bmV3X2xlbik7Ci0gICBtZW1jcHkgKHMgKyBtYXAtPm5ld19sZW4sIG5hbWUsIG5hbWVfbGVuKTsKLSsgIGZyZWUgKHJlYWxwYXRoKTsKLSAgIHJldHVybiBnZ2Nfc3RyZHVwIChzKTsKLSB9Ci0gDAotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDA0NC1saWJnY2MtQWRkLWtub2ItdG8tdXNlLWxkYmwtMTI4LW9uLXBwYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwNDQtbGliZ2NjLUFkZC1rbm9iLXRvLXVzZS1sZGJsLTEyOC1vbi1wcGMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUzOWFmOWIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDA0NC1saWJnY2MtQWRkLWtub2ItdG8tdXNlLWxkYmwtMTI4LW9uLXBwYy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEyNCArMCwwIEBACi1Gcm9tIDg0N2FlYzc2NDU0MDYzNmVjNjU0ZmQ3YTAxMmUyNzFhZmE4ZDRlMGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBBcHIgMjAxNiAyMDowMzoyOCArMDAwMAotU3ViamVjdDogW1BBVENIIDQ0LzQ3XSBsaWJnY2M6IEFkZCBrbm9iIHRvIHVzZSBsZGJsLTEyOCBvbiBwcGMKLQotbXVzbCBkb2VzIG5vdCBzdXBwb3J0IGxkYmwgMTI4IHNvIHdlIGNhbiBub3QgYXNzdW1lCi10aGF0IGxpbnV4IGFzIGEgd2hvbGUgc3VwcG9ydHMgbGRibC0xMjggYml0cywgaW5zdGVhZAotYWN0IHVwb24gY29uZmlndXJlIG9wdGlvbiBwYXNzZWQgdG8gZ2NjIGFuZCBhc3N1bWUgbm8KLW9uIG11c2wgYW5kIHllcyBvdGhlcndpc2UgaWYgbm8gb3B0aW9uIGlzIHBhc3NlZCBzaW5jZQotZGVmYXVsdCBiZWhhdmlvdXIgaXMgdG8gYXNzdW1lIGxkYmwxMjggaXQgZG9lcyBub3QKLWNoYW5nZSB0aGUgZGVmYXVsdHMKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gbGliZ2NjL01ha2VmaWxlLmluICAgICAgICAgICB8ICAxICsKLSBsaWJnY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4IHwgIDUgKysrKy0KLSBsaWJnY2MvY29uZmlndXJlICAgICAgICAgICAgIHwgMTggKysrKysrKysrKysrKysrKysrCi0gbGliZ2NjL2NvbmZpZ3VyZS5hYyAgICAgICAgICB8IDEyICsrKysrKysrKysrKwotIDQgZmlsZXMgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotIG1vZGUgY2hhbmdlIDEwMDY0NCA9PiAxMDA3NTUgbGliZ2NjL2NvbmZpZ3VyZQotCi1kaWZmIC0tZ2l0IGEvbGliZ2NjL01ha2VmaWxlLmluIGIvbGliZ2NjL01ha2VmaWxlLmluCi1pbmRleCBhMWEzOTJkZTg4ZC4uMmZlNjg4OWEzNDIgMTAwNjQ0Ci0tLS0gYS9saWJnY2MvTWFrZWZpbGUuaW4KLSsrKyBiL2xpYmdjYy9NYWtlZmlsZS5pbgotQEAgLTQ4LDYgKzQ4LDcgQEAgdW53aW5kX2hlYWRlciA9IEB1bndpbmRfaGVhZGVyQAotIG1kX3Vud2luZF9oZWFkZXIgPSBAbWRfdW53aW5kX2hlYWRlckAKLSBzZnBfbWFjaGluZV9oZWFkZXIgPSBAc2ZwX21hY2hpbmVfaGVhZGVyQAotIHRocmVhZF9oZWFkZXIgPSBAdGhyZWFkX2hlYWRlckAKLSt3aXRoX2xkYmwxMjggPSBAd2l0aF9sZGJsMTI4QAotIAotIGhvc3Rfbm9uY2Fub25pY2FsID0gQGhvc3Rfbm9uY2Fub25pY2FsQAotIHJlYWxfaG9zdF9ub25jYW5vbmljYWwgPSBAcmVhbF9ob3N0X25vbmNhbm9uaWNhbEAKLWRpZmYgLS1naXQgYS9saWJnY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4IGIvbGliZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eAotaW5kZXggNGY2ZDRjNGE0ZDIuLmM1MGRkOTRhMmRhIDEwMDY0NAotLS0tIGEvbGliZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eAotKysrIGIvbGliZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eAotQEAgLTEsMyArMSw2IEBACi0gU0hMSUJfTUFQRklMRVMgKz0gJChzcmNkaXIpL2NvbmZpZy9yczYwMDAvbGliZ2NjLWdsaWJjLnZlcgotIAotLUhPU1RfTElCR0NDMl9DRkxBR1MgKz0gLW1sb25nLWRvdWJsZS0xMjggLW1uby1taW5pbWFsLXRvYwotK2lmZXEgKCQod2l0aF9sZGJsMTI4KSx5ZXMpCi0rSE9TVF9MSUJHQ0MyX0NGTEFHUyArPSAtbWxvbmctZG91YmxlLTEyOAotK2VuZGlmCi0rSE9TVF9MSUJHQ0MyX0NGTEFHUyArPSAtbW5vLW1pbmltYWwtdG9jCi1kaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZ3VyZSBiL2xpYmdjYy9jb25maWd1cmUKLW9sZCBtb2RlIDEwMDY0NAotbmV3IG1vZGUgMTAwNzU1Ci1pbmRleCA0NWM0NTk3ODhjMy4uZTJkMTliMTQ0YjgKLS0tLSBhL2xpYmdjYy9jb25maWd1cmUKLSsrKyBiL2xpYmdjYy9jb25maWd1cmUKLUBAIC02MTgsNiArNjE4LDcgQEAgYnVpbGRfdmVuZG9yCi0gYnVpbGRfY3B1Ci0gYnVpbGQKLSB3aXRoX2FpeF9zb25hbWUKLSt3aXRoX2xkYmwxMjgKLSBlbmFibGVfdnRhYmxlX3ZlcmlmeQotIGVuYWJsZV9zaGFyZWQKLSBsaWJnY2NfdG9wZGlyCi1AQCAtNjY3LDYgKzY2OCw3IEBAIHdpdGhfY3Jvc3NfaG9zdAotIHdpdGhfbGQKLSBlbmFibGVfc2hhcmVkCi0gZW5hYmxlX3Z0YWJsZV92ZXJpZnkKLSt3aXRoX2xvbmdfZG91YmxlXzEyOAotIHdpdGhfYWl4X3NvbmFtZQotIGVuYWJsZV92ZXJzaW9uX3NwZWNpZmljX3J1bnRpbWVfbGlicwotIHdpdGhfc2xpYmRpcgotQEAgLTEzMjQsNiArMTMyNiw3IEBAIE9wdGlvbmFsIFBhY2thZ2VzOgotICAgLS13aXRoLXRhcmdldC1zdWJkaXI9U1VCRElSICAgICAgQ29uZmlndXJpbmcgaW4gYSBzdWJkaXJlY3RvcnkgZm9yIHRhcmdldAotICAgLS13aXRoLWNyb3NzLWhvc3Q9SE9TVCAgICAgICAgICAgQ29uZmlndXJpbmcgd2l0aCBhIGNyb3NzIGNvbXBpbGVyCi0gICAtLXdpdGgtbGQgICAgICAgICAgICAgICBhcnJhbmdlIHRvIHVzZSB0aGUgc3BlY2lmaWVkIGxkIChmdWxsIHBhdGhuYW1lKQotKyAgLS13aXRoLWxvbmctZG91YmxlLTEyOCAgdXNlIDEyOC1iaXQgbG9uZyBkb3VibGUgYnkgZGVmYXVsdAotICAgLS13aXRoLWFpeC1zb25hbWU9YWl4fHN2cjR8Ym90aAotICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVkIGxpYnJhcnkgdmVyc2lvbmluZyAoYWthICJTT05BTUUiKSB2YXJpYW50IHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlIG9uIEFJWAotQEAgLTIyMDgsNiArMjIxMSwyMSBAQCBmaQotIAotIAotIAotKyMgQ2hlY2sgd2hldGhlciAtLXdpdGgtbG9uZy1kb3VibGUtMTI4IHdhcyBnaXZlbi4KLStpZiB0ZXN0ICIke3dpdGhfbG9uZ19kb3VibGVfMTI4K3NldH0iID0gc2V0OyB0aGVuIDoKLSsgIHdpdGh2YWw9JHdpdGhfbG9uZ19kb3VibGVfMTI4OyB3aXRoX2xkYmwxMjg9IiR3aXRoX2xvbmdfZG91YmxlXzEyOCIKLStlbHNlCi0rICBjYXNlICIke2hvc3R9IiBpbgotKyBwb3dlciotKi1tdXNsKikKLSsgICB3aXRoX2xkYmwxMjg9Im5vIjs7Ci0rICopIHdpdGhfbGRibDEyOD0ieWVzIjs7Ci0rIGVzYWMKLSsKLStmaQotKwotKwotKwotKwotICMgQ2hlY2sgd2hldGhlciAtLXdpdGgtYWl4LXNvbmFtZSB3YXMgZ2l2ZW4uCi0gaWYgdGVzdCAiJHt3aXRoX2FpeF9zb25hbWUrc2V0fSIgPSBzZXQ7IHRoZW4gOgotICAgd2l0aHZhbD0kd2l0aF9haXhfc29uYW1lOyBjYXNlICIke2hvc3R9OiR7ZW5hYmxlX3NoYXJlZH0iIGluCi1kaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZ3VyZS5hYyBiL2xpYmdjYy9jb25maWd1cmUuYWMKLWluZGV4IGFmMTUxNDczNzA5Li5kYWRhNTI0MTZkYSAxMDA2NDQKLS0tLSBhL2xpYmdjYy9jb25maWd1cmUuYWMKLSsrKyBiL2xpYmdjYy9jb25maWd1cmUuYWMKLUBAIC03Nyw2ICs3NywxOCBAQCBBQ19BUkdfRU5BQkxFKHZ0YWJsZS12ZXJpZnksCi0gW2VuYWJsZV92dGFibGVfdmVyaWZ5PW5vXSkKLSBBQ19TVUJTVChlbmFibGVfdnRhYmxlX3ZlcmlmeSkKLSAKLStBQ19BUkdfV0lUSChsb25nLWRvdWJsZS0xMjgsCi0rW0FTX0hFTFBfU1RSSU5HKFstLXdpdGgtbG9uZy1kb3VibGUtMTI4XSwKLSsgICAgW3VzZSAxMjgtYml0IGxvbmcgZG91YmxlIGJ5IGRlZmF1bHRdKV0sCi0rICAgICAgd2l0aF9sZGJsMTI4PSIkd2l0aF9sb25nX2RvdWJsZV8xMjgiLAotK1tjYXNlICIke2hvc3R9IiBpbgotKyBwb3dlciotKi1tdXNsKikKLSsgICB3aXRoX2xkYmwxMjg9Im5vIjs7Ci0rICopIHdpdGhfbGRibDEyOD0ieWVzIjs7Ci0rIGVzYWMKLStdKQotK0FDX1NVQlNUKHdpdGhfbGRibDEyOCkKLSsKLSBBQ19BUkdfV0lUSChhaXgtc29uYW1lLAotIFtBU19IRUxQX1NUUklORyhbLS13aXRoLWFpeC1zb25hbWU9YWl4fHN2cjR8Ym90aF0sCi0gICAgIFtzaGFyZWQgbGlicmFyeSB2ZXJzaW9uaW5nIChha2EgIlNPTkFNRSIpIHZhcmlhbnQgdG8gcHJvdmlkZSBvbiBBSVhdKV0sCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQ1LUxpbmstbGliZ2NjLXVzaW5nLUxERkxBR1Mtbm90LWp1c3QtU0hMSUJfTERGTEFHUy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwNDUtTGluay1saWJnY2MtdXNpbmctTERGTEFHUy1ub3QtanVzdC1TSExJQl9MREZMQUdTLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYWEwMzhjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwNDUtTGluay1saWJnY2MtdXNpbmctTERGTEFHUy1ub3QtanVzdC1TSExJQl9MREZMQUdTLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotRnJvbSA5MmJlYjg4M2FiNTdhMjNhMzViYTc2YzQ5NmJjMWY0Y2FiYjE2OTBlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFdlZCwgNCBNYXkgMjAxNiAyMToxMTozNCAtMDcwMAotU3ViamVjdDogW1BBVENIIDQ1LzQ3XSBMaW5rIGxpYmdjYyB1c2luZyBMREZMQUdTLCBub3QganVzdCBTSExJQl9MREZMQUdTCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGhlciBMYXJzb24gPGNocmlzX2xhcnNvbkBtZW50b3IuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGxpYmdjYy9jb25maWcvdC1zbGliZ2NjIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZy90LXNsaWJnY2MgYi9saWJnY2MvY29uZmlnL3Qtc2xpYmdjYwotaW5kZXggNzZiZTc3MTA5NjAuLmExZWUyZWUyNmVkIDEwMDY0NAotLS0tIGEvbGliZ2NjL2NvbmZpZy90LXNsaWJnY2MKLSsrKyBiL2xpYmdjYy9jb25maWcvdC1zbGliZ2NjCi1AQCAtMzIsNyArMzIsNyBAQCBTSExJQl9JTlNUQUxMX1NPTElOSyA9ICQoTE5fUykgJChTSExJQl9TT05BTUUpIFwKLSAJJChERVNURElSKSQoc2xpYmRpcikkKFNITElCX1NMSUJESVJfUVVBTCkvJChTSExJQl9TT0xJTkspCi0gCi0gU0hMSUJfTElOSyA9ICQoQ0MpICQoTElCR0NDMl9DRkxBR1MpIC1zaGFyZWQgLW5vZGVmYXVsdGxpYnMgXAotLQkkKFNITElCX0xERkxBR1MpIFwKLSsJJChMREZMQUdTKSAkKFNITElCX0xERkxBR1MpIFwKLSAJLW8gJChTSExJQl9ESVIpLyQoU0hMSUJfU09OQU1FKS50bXAgQG11bHRpbGliX2ZsYWdzQCBcCi0gCSQoU0hMSUJfT0JKUykgJChTSExJQl9MQykgJiYgXAotIAlybSAtZiAkKFNITElCX0RJUikvJChTSExJQl9TT0xJTkspICYmIFwKLS0tIAotMi4xMi4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwNDctc3luYy1nY2Mtc3RkZGVmLmgtd2l0aC1tdXNsLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDA0Ny1zeW5jLWdjYy1zdGRkZWYuaC13aXRoLW11c2wucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY1ZDIyZjEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDA0Ny1zeW5jLWdjYy1zdGRkZWYuaC13aXRoLW11c2wucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5MSArMCwwIEBACi1Gcm9tIDliOTUxYzhmNmIwYWFmZjdjMTZkYzRkYjcyYjVlNTZlYzczODEwYmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAzIEZlYiAyMDE3IDEyOjU2OjAwIC0wODAwCi1TdWJqZWN0OiBbUEFUQ0ggNDcvNDddIHN5bmMgZ2NjIHN0ZGRlZi5oIHdpdGggbXVzbAotCi1tdXNsIGRlZmluZXMgcHRyZGlmZl90IHNpemVfdCBhbmQgd2NoYXJfdAotc28gZG9udCBkZWZpbmUgdGhlbSBoZXJlIGlmIG11c2wgaXMgZGVmaW5pbmluZyB0aGVtCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0UtU3BlY2lmaWNdCi0KLSBnY2MvZ2luY2x1ZGUvc3RkZGVmLmggfCA5ICsrKysrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2djYy9naW5jbHVkZS9zdGRkZWYuaCBiL2djYy9naW5jbHVkZS9zdGRkZWYuaAotaW5kZXggODcyZjQ1MWNhYzkuLjdlOTA5MzgzODdjIDEwMDY0NAotLS0tIGEvZ2NjL2dpbmNsdWRlL3N0ZGRlZi5oCi0rKysgYi9nY2MvZ2luY2x1ZGUvc3RkZGVmLmgKLUBAIC0xMzQsNiArMTM0LDcgQEAgX1RZUEVfd2NoYXJfdDsKLSAjaWZuZGVmIF9fX2ludF9wdHJkaWZmX3RfaAotICNpZm5kZWYgX0dDQ19QVFJESUZGX1QKLSAjaWZuZGVmIF9QVFJESUZGX1RfREVDTEFSRUQgLyogRHJhZ29uRmx5ICovCi0rI2lmbmRlZiBfX0RFRklORURfcHRyZGlmZl90IC8qIG11c2wgKi8KLSAjZGVmaW5lIF9QVFJESUZGX1QKLSAjZGVmaW5lIF9UX1BUUkRJRkZfCi0gI2RlZmluZSBfVF9QVFJESUZGCi1AQCAtMTQzLDEwICsxNDQsMTIgQEAgX1RZUEVfd2NoYXJfdDsKLSAjZGVmaW5lIF9fX2ludF9wdHJkaWZmX3RfaAotICNkZWZpbmUgX0dDQ19QVFJESUZGX1QKLSAjZGVmaW5lIF9QVFJESUZGX1RfREVDTEFSRUQKLSsjZGVmaW5lIF9fREVGSU5FRF9wdHJkaWZmX3QgLyogbXVzbCAqLwotICNpZm5kZWYgX19QVFJESUZGX1RZUEVfXwotICNkZWZpbmUgX19QVFJESUZGX1RZUEVfXyBsb25nIGludAotICNlbmRpZgotIHR5cGVkZWYgX19QVFJESUZGX1RZUEVfXyBwdHJkaWZmX3Q7Ci0rI2VuZGlmIC8qIF9fREVGSU5FRF9wdHJkaWZmX3QgKi8KLSAjZW5kaWYgLyogX1BUUkRJRkZfVF9ERUNMQVJFRCAqLwotICNlbmRpZiAvKiBfR0NDX1BUUkRJRkZfVCAqLwotICNlbmRpZiAvKiBfX19pbnRfcHRyZGlmZl90X2ggKi8KLUBAIC0xODQsNiArMTg3LDcgQEAgdHlwZWRlZiBfX1BUUkRJRkZfVFlQRV9fIHB0cmRpZmZfdDsKLSAjaWZuZGVmIF9HQ0NfU0laRV9UCi0gI2lmbmRlZiBfU0laRVRfCi0gI2lmbmRlZiBfX3NpemVfdAotKyNpZm5kZWYgX19ERUZJTkVEX3NpemVfdCAvKiBtdXNsICovCi0gI2RlZmluZSBfX3NpemVfdF9fCS8qIEJlT1MgKi8KLSAjZGVmaW5lIF9fU0laRV9UX18JLyogQ3JheSBVbmljb3MvTWsgKi8KLSAjZGVmaW5lIF9TSVpFX1QKLUBAIC0yMDAsNiArMjA0LDcgQEAgdHlwZWRlZiBfX1BUUkRJRkZfVFlQRV9fIHB0cmRpZmZfdDsKLSAjZGVmaW5lIF9fX2ludF9zaXplX3RfaAotICNkZWZpbmUgX0dDQ19TSVpFX1QKLSAjZGVmaW5lIF9TSVpFVF8KLSsjZGVmaW5lIF9fREVGSU5FRF9zaXplX3QgLyogbXVzbCAqLwotICNpZiAoZGVmaW5lZCAoX19GcmVlQlNEX18pICYmIChfX0ZyZWVCU0RfXyA+PSA1KSkgXAotICAgfHwgZGVmaW5lZChfX0RyYWdvbkZseV9fKSBcCi0gICB8fCBkZWZpbmVkKF9fRnJlZUJTRF9rZXJuZWxfXykKLUBAIC0yMzUsNiArMjQwLDcgQEAgdHlwZWRlZiBsb25nIHNzaXplX3Q7Ci0gI2VuZGlmIC8qIF9TSVpFX1QgKi8KLSAjZW5kaWYgLyogX19TSVpFX1RfXyAqLwotICNlbmRpZiAvKiBfX3NpemVfdF9fICovCi0rI2VuZGlmIC8qIF9fREVGSU5FRF9zaXplX3QgKi8KLSAjdW5kZWYJX19uZWVkX3NpemVfdAotICNlbmRpZiAvKiBfU1REREVGX0ggb3IgX19uZWVkX3NpemVfdC4gICovCi0gCi1AQCAtMjY0LDYgKzI3MCw3IEBAIHR5cGVkZWYgbG9uZyBzc2l6ZV90OwotICNpZm5kZWYgX19faW50X3djaGFyX3RfaAotICNpZm5kZWYgX19JTlRfV0NIQVJfVF9ICi0gI2lmbmRlZiBfR0NDX1dDSEFSX1QKLSsjaWZuZGVmIF9fREVGSU5FRF93Y2hhcl90IC8qIG11c2wgKi8KLSAjZGVmaW5lIF9fd2NoYXJfdF9fCS8qIEJlT1MgKi8KLSAjZGVmaW5lIF9fV0NIQVJfVF9fCS8qIENyYXkgVW5pY29zL01rICovCi0gI2RlZmluZSBfV0NIQVJfVAotQEAgLTI3OSw2ICsyODYsNyBAQCB0eXBlZGVmIGxvbmcgc3NpemVfdDsKLSAjZGVmaW5lIF9fSU5UX1dDSEFSX1RfSAotICNkZWZpbmUgX0dDQ19XQ0hBUl9UCi0gI2RlZmluZSBfV0NIQVJfVF9ERUNMQVJFRAotKyNkZWZpbmUgX19ERUZJTkVEX3djaGFyX3QgLyogbXVzbCAqLwotIAotIC8qIE9uIEJTRC8zODYgMS4xLCBhdCBsZWFzdCwgbWFjaGluZS9hbnNpLmggZGVmaW5lcyBfQlNEX1dDSEFSX1RfCi0gICAgaW5zdGVhZCBvZiBfV0NIQVJfVF8sIGFuZCBfQlNEX1JVTkVfVF8gKHdoaWNoLCB1bmxpa2UgdGhlIG90aGVyCi1AQCAtMzQ0LDYgKzM1Miw3IEBAIHR5cGVkZWYgX19XQ0hBUl9UWVBFX18gd2NoYXJfdDsKLSAjZW5kaWYKLSAjZW5kaWYgLyogX19XQ0hBUl9UX18gKi8KLSAjZW5kaWYgLyogX193Y2hhcl90X18gKi8KLSsjZW5kaWYgLyogX19ERUZJTkVEX3djaGFyX3QgbXVzbCAqLwotICN1bmRlZglfX25lZWRfd2NoYXJfdAotICNlbmRpZiAvKiBfU1REREVGX0ggb3IgX19uZWVkX3djaGFyX3QuICAqLwotIAotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDA0OC1nY2MtRW5hYmxlLXN0YXRpYy1QSUUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQ4LWdjYy1FbmFibGUtc3RhdGljLVBJRS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTk2ZTkxMy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQ4LWdjYy1FbmFibGUtc3RhdGljLVBJRS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLUZyb20gNDRlZjgwNjg4YjU2YmVlYTg1YzAwNzA4NDBkZWExZTJhNGUzNGFlZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDEzIEp1biAyMDE3IDEyOjEyOjUyIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggNDkvNDldIGdjYzogRW5hYmxlIHN0YXRpYyBQSUUKLQotU3RhdGljIFBJRSBzdXBwb3J0IGluIEdDQwotc2VlCi1odHRwczovL2djYy5nbnUub3JnL21sL2djYy8yMDE1LTA2L21zZzAwMDA4Lmh0bWwKLQotc3RhcnRmaWxlcyBiZWZvcmUgcGF0Y2g6Ci0gLXN0YXRpYyAtPiBjcnQxLm8gY3J0aS5vIGNydGJlZ2luVC5vCi0gLXN0YXRpYyAtUElFIC0+IGNydDEubyBjcnRpLm8gY3J0YmVnaW5ULm8KLSAKLWFmdGVyIHBhdGNoOgotIC1zdGF0aWMgLT4gY3J0MS5vIGNydGkubyBjcnRiZWdpblQubwotIC1zdGF0aWMgLVBJRSAtPiByY3J0MS5vIGNydGkubyBjcnRiZWdpblMubwotIAotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEp1cm8gQnlzdHJpY2t5IDxqdXJvLmJ5c3RyaWNreUBpbnRlbC5jb20+Ci0KLS0tLQotIGdjYy9jb25maWcvZ251LXVzZXIuaCB8IDYgKysrLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvZ251LXVzZXIuaCBiL2djYy9jb25maWcvZ251LXVzZXIuaAotaW5kZXggZGU2MDViMC4uYjAzNWJiZSAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvZ251LXVzZXIuaAotKysrIGIvZ2NjL2NvbmZpZy9nbnUtdXNlci5oCi1AQCAtNTIsMTEgKzUyLDExIEBAIHNlZSB0aGUgZmlsZXMgQ09QWUlORzMgYW5kIENPUFlJTkcuUlVOVElNRSByZXNwZWN0aXZlbHkuICBJZiBub3QsIHNlZQotICNkZWZpbmUgR05VX1VTRVJfVEFSR0VUX1NUQVJURklMRV9TUEVDIFwKLSAgICIle3NoYXJlZDo7IFwKLSAgICAgIHBnfHB8cHJvZmlsZTpnY3J0MS5vJXM7IFwKLS0gICAgIHN0YXRpYzpjcnQxLm8lczsgXAotKyAgICAgc3RhdGljOiAleyIgUElFX1NQRUMgIjogcmNydDEubyVzOyA6Y3J0MS5vJXN9OyBcCi0gICAgICAiIFBJRV9TUEVDICI6U2NydDEubyVzOyBcCi0gICAgICA6Y3J0MS5vJXN9IFwKLSAgICBjcnRpLm8lcyBcCi0tICAgJXtzdGF0aWM6Y3J0YmVnaW5ULm8lczsgXAotKyAgICV7c3RhdGljOiAleyIgUElFX1NQRUMgIjogY3J0YmVnaW5TLm8lczsgOmNydGJlZ2luVC5vJXN9OyBcCi0gICAgICBzaGFyZWR8IiBQSUVfU1BFQyAiOmNydGJlZ2luUy5vJXM7IFwKLSAgICAgIDpjcnRiZWdpbi5vJXN9IFwKLSAgICAle2Z2dGFibGUtdmVyaWZ5PW5vbmU6JXM7IFwKLQotMi4xMy4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwNDktZ2NjLW92ZXJyaWRlLVRBUkdFVF9MSUJDX1BST1ZJREVTX1NTUC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwNDktZ2NjLW92ZXJyaWRlLVRBUkdFVF9MSUJDX1BST1ZJREVTX1NTUC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2M1M2M5NS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQ5LWdjYy1vdmVycmlkZS1UQVJHRVRfTElCQ19QUk9WSURFU19TU1AucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMDQgKzAsMCBAQAotRnJvbSA5ODE1YmQ5NzU2MWM3NzhlZTBiYzBjMTdmMjQ1ZTg4ZTY2NTcwMTExIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogc2FuZHJhIDxzYW5kcmFAMTM4YmM3NWQtMGQwNC0wNDEwLTk2MWYtODJlZTcyYjA1NGE0PgotRGF0ZTogV2VkLCAxIE5vdiAyMDE3IDAyOjE0OjE5ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIDIwMTctMTAtMzEgIFNhbmRyYSBMb29zZW1vcmUgIDxzYW5kcmFAY29kZXNvdXJjZXJ5LmNvbT4KLQotCWdjYy8KLQkqIGNvbmZpZ3VyZS5hYyAoLS1lbmFibGUtbGlic3NwKTogTmV3LgotCShnY2NfY3ZfbGliY19wcm92aWRlc19zc3ApOiBDaGVjayBmb3IgZXhwbGljaXQgc2V0dGluZyBiZWZvcmUKLQl0cnlpbmcgdG8gZGV0ZXJtaW5lIHRhcmdldC1zcGVjaWZpYyBkZWZhdWx0LiAgQWRqdXN0IGluZGVudGF0aW9uLgotCSogY29uZmlndXJlOiBSZWdlbmVyYXRlZC4KLQkqIGRvYy9pbnN0YWxsLnRleGkgKENvbmZpZ3VyYXRpb24pOiBFeHBhbmQgLS1kaXNhYmxlLWxpYnNzcAotCWRvY3VtZW50YXRpb24uCi0KLQotZ2l0LXN2bi1pZDogc3ZuK3NzaDovL2djYy5nbnUub3JnL3N2bi9nY2MvdHJ1bmtAMjU0Mjg4IDEzOGJjNzVkLTBkMDQtMDQxMC05NjFmLTgyZWU3MmIwNTRhNAotLS0tCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9wYXRjaHdvcmsub3psYWJzLm9yZy9wYXRjaC84MjMwNDkvXQotCi0gZ2NjL0NoYW5nZUxvZyAgICAgICAgfCAgOSArKysrKysrKysKLSBnY2MvY29uZmlndXJlICAgICAgICB8IDI2ICsrKysrKysrKysrKysrKysrKysrKysrLS0tCi0gZ2NjL2NvbmZpZ3VyZS5hYyAgICAgfCAyNCArKysrKysrKysrKysrKysrKysrKy0tLS0KLSBnY2MvZG9jL2luc3RhbGwudGV4aSB8ICAzICsrLQotIDQgZmlsZXMgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKLQotSW5kZXg6IGdjYy03LjMuMC9nY2MvY29uZmlndXJlLmFjCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2NjLTcuMy4wLm9yaWcvZ2NjL2NvbmZpZ3VyZS5hYwotKysrIGdjYy03LjMuMC9nY2MvY29uZmlndXJlLmFjCi1AQCAtNTcxOSwxMCArNTcxOSwyNSBAQCBpZiB0ZXN0IHgkZ2NjX2N2X3NvbGFyaXNfY3J0cyA9IHh5ZXM7IHRoCi0gICAJICAgIFtEZWZpbmUgaWYgdGhlIHN5c3RlbS1wcm92aWRlZCBDUlRzIGFyZSBwcmVzZW50IG9uIFNvbGFyaXMuXSkKLSBmaQotIAotK0FDX0FSR19FTkFCTEUobGlic3NwLAotK1tBU19IRUxQX1NUUklORyhbLS1lbmFibGUtbGlic3NwXSwgW2VuYWJsZSBsaW5raW5nIGFnYWluc3QgbGlic3NwXSldLAotK1tjYXNlICIke2VuYWJsZXZhbH0iIGluCi0rICB5ZXN8bm8pCi0rICAgIDs7Ci0rICAqKQotKyAgICBBQ19NU0dfRVJST1IoW3Vua25vd24gbGlic3NwIHNldHRpbmcgJGVuYWJsZXZhbF0pCi0rICAgIDs7Ci0rZXNhY10sIFtdKQotKwotICMgVGVzdCBmb3Igc3RhY2sgcHJvdGVjdG9yIHN1cHBvcnQgaW4gdGFyZ2V0IEMgbGlicmFyeS4KLSBBQ19DQUNIRV9DSEVDSyhfX3N0YWNrX2Noa19mYWlsIGluIHRhcmdldCBDIGxpYnJhcnksCi0tICAgICAgZ2NjX2N2X2xpYmNfcHJvdmlkZXNfc3NwLAotLSAgICAgIFtnY2NfY3ZfbGliY19wcm92aWRlc19zc3A9bm8KLSsgIGdjY19jdl9saWJjX3Byb3ZpZGVzX3NzcCwKLSsgIFtnY2NfY3ZfbGliY19wcm92aWRlc19zc3A9bm8KLSsgIGlmIHRlc3QgIngkZW5hYmxlX2xpYnNzcCIgPSAieG5vIjsgdGhlbgotKyAgICBnY2NfY3ZfbGliY19wcm92aWRlc19zc3A9eWVzCi0rICBlbGlmIHRlc3QgIngkZW5hYmxlX2xpYnNzcCIgPSAieHllcyI7IHRoZW4KLSsgICAgZ2NjX2N2X2xpYmNfcHJvdmlkZXNfc3NwPW5vCi0rICBlbHNlCi0gICAgIGNhc2UgIiR0YXJnZXQiIGluCi0gICAgICAgICotKi1tdXNsKikKLSAJICMgQWxsIHZlcnNpb25zIG9mIG11c2wgcHJvdmlkZSBzdGFjayBwcm90ZWN0b3IKLUBAIC01NzU5LDggKzU3NzQsOSBAQCBBQ19DQUNIRV9DSEVDSyhfX3N0YWNrX2Noa19mYWlsIGluIHRhcmdlCi0gCSBBQ19DSEVDS19GVU5DKF9fc3RhY2tfY2hrX2ZhaWwsW2djY19jdl9saWJjX3Byb3ZpZGVzX3NzcD15ZXNdLAotICAgICAgICAgICAgW2VjaG8gIm5vIF9fc3RhY2tfY2hrX2ZhaWwgb24gdGhpcyB0YXJnZXQiXSkKLSAgICAgICAgIDs7Ci0tICAqKSBnY2NfY3ZfbGliY19wcm92aWRlc19zc3A9bm8gOzsKLS0gICAgZXNhY10pCi0rICAgICAgICopIGdjY19jdl9saWJjX3Byb3ZpZGVzX3NzcD1ubyA7OwotKyAgICBlc2FjCi0rICBmaV0pCi0gCi0gaWYgdGVzdCB4JGdjY19jdl9saWJjX3Byb3ZpZGVzX3NzcCA9IHh5ZXM7IHRoZW4KLSAgIEFDX0RFRklORShUQVJHRVRfTElCQ19QUk9WSURFU19TU1AsIDEsCi1JbmRleDogZ2NjLTcuMy4wL2djYy9kb2MvaW5zdGFsbC50ZXhpCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2NjLTcuMy4wLm9yaWcvZ2NjL2RvYy9pbnN0YWxsLnRleGkKLSsrKyBnY2MtNy4zLjAvZ2NjL2RvYy9pbnN0YWxsLnRleGkKLUBAIC0xNjU4LDcgKzE2NTgsOCBAQCBub3QgYmUgYnVpbHQuCi0gCi0gQGl0ZW0gLS1kaXNhYmxlLWxpYnNzcAotIFNwZWNpZnkgdGhhdCB0aGUgcnVuLXRpbWUgbGlicmFyaWVzIGZvciBzdGFjayBzbWFzaGluZyBwcm90ZWN0aW9uCi0tc2hvdWxkIG5vdCBiZSBidWlsdC4KLStzaG91bGQgbm90IGJlIGJ1aWx0IG9yIGxpbmtlZCBhZ2FpbnN0LiAgT24gbWFueSB0YXJnZXRzIGxpYnJhcnkgc3VwcG9ydAotK2lzIHByb3ZpZGVkIGJ5IHRoZSBDIGxpYnJhcnkgaW5zdGVhZC4KLSAKLSBAaXRlbSAtLWRpc2FibGUtbGlicXVhZG1hdGgKLSBTcGVjaWZ5IHRoYXQgdGhlIEdDQyBxdWFkLXByZWNpc2lvbiBtYXRoIGxpYnJhcnkgc2hvdWxkIG5vdCBiZSBidWlsdC4KLUluZGV4OiBnY2MtNy4zLjAvZ2NjL2NvbmZpZ3VyZQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdjYy03LjMuMC5vcmlnL2djYy9jb25maWd1cmUKLSsrKyBnY2MtNy4zLjAvZ2NjL2NvbmZpZ3VyZQotQEAgLTk0MCw2ICs5NDAsNyBAQCBlbmFibGVfZml4X2NvcnRleF9hNTNfODQzNDE5Ci0gd2l0aF9nbGliY192ZXJzaW9uCi0gZW5hYmxlX2dudV91bmlxdWVfb2JqZWN0Ci0gZW5hYmxlX2xpbmtlcl9idWlsZF9pZAotK2VuYWJsZV9saWJzc3AKLSBlbmFibGVfZGVmYXVsdF9zc3AKLSB3aXRoX2xvbmdfZG91YmxlXzEyOAotIHdpdGhfZ2MKLUBAIC0xNjc5LDYgKzE2ODAsNyBAQCBPcHRpb25hbCBGZWF0dXJlczoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dGVuc2lvbiBvbiBnbGliYyBzeXN0ZW1zCi0gICAtLWVuYWJsZS1saW5rZXItYnVpbGQtaWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBpbGVyIHdpbGwgYWx3YXlzIHBhc3MgLS1idWlsZC1pZCB0byBsaW5rZXIKLSsgIC0tZW5hYmxlLWxpYnNzcCAgICAgICAgIGVuYWJsZSBsaW5raW5nIGFnYWluc3QgbGlic3NwCi0gICAtLWVuYWJsZS1kZWZhdWx0LXNzcCAgICBlbmFibGUgU3RhY2sgU21hc2hpbmcgUHJvdGVjdGlvbiBhcyBkZWZhdWx0Ci0gICAtLWVuYWJsZS1tYWludGFpbmVyLW1vZGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZSBtYWtlIHJ1bGVzIGFuZCBkZXBlbmRlbmNpZXMgbm90IHVzZWZ1bCAoYW5kCi1AQCAtMTg0NTAsNyArMTg0NTIsNyBAQCBlbHNlCi0gICBsdF9kbHVua25vd249MDsgbHRfZGxub191c2NvcmU9MTsgbHRfZGxuZWVkX3VzY29yZT0yCi0gICBsdF9zdGF0dXM9JGx0X2RsdW5rbm93bgotICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PF9MVF9FT0YKLS0jbGluZSAxODQzNiAiY29uZmlndXJlIgotKyNsaW5lIDE4NDU1ICJjb25maWd1cmUiCi0gI2luY2x1ZGUgImNvbmZkZWZzLmgiCi0gCi0gI2lmIEhBVkVfRExGQ05fSAotQEAgLTE4NTU2LDcgKzE4NTU4LDcgQEAgZWxzZQotICAgbHRfZGx1bmtub3duPTA7IGx0X2Rsbm9fdXNjb3JlPTE7IGx0X2RsbmVlZF91c2NvcmU9MgotICAgbHRfc3RhdHVzPSRsdF9kbHVua25vd24KLSAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxfTFRfRU9GCi0tI2xpbmUgMTg1NDIgImNvbmZpZ3VyZSIKLSsjbGluZSAxODU2MSAiY29uZmlndXJlIgotICNpbmNsdWRlICJjb25mZGVmcy5oIgotIAotICNpZiBIQVZFX0RMRkNOX0gKLUBAIC0yNTIzNCw2ICsyNTIzNiw3IEBAICRhc19lY2hvICIjZGVmaW5lIEhBVkVfQVNfU1BBUkM1X1ZJUzQgMSIKLSAKLSBmaQotIAotKwotICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGFzc2VtYmxlciBmb3IgU1BBUkM2IGluc3RydWN0aW9ucyIgPiY1Ci0gJGFzX2VjaG9fbiAiY2hlY2tpbmcgYXNzZW1ibGVyIGZvciBTUEFSQzYgaW5zdHJ1Y3Rpb25zLi4uICIgPiY2OyB9Ci0gaWYgdGVzdCAiJHtnY2NfY3ZfYXNfc3BhcmNfc3BhcmM2K3NldH0iID0gc2V0OyB0aGVuIDoKLUBAIC0yNTI3MCw2ICsyNTI3Myw3IEBAICRhc19lY2hvICIjZGVmaW5lIEhBVkVfQVNfU1BBUkM2IDEiID4+Y28KLSAKLSBmaQotIAotKwotICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGFzc2VtYmxlciBmb3IgTEVPTiBpbnN0cnVjdGlvbnMiID4mNQotICRhc19lY2hvX24gImNoZWNraW5nIGFzc2VtYmxlciBmb3IgTEVPTiBpbnN0cnVjdGlvbnMuLi4gIiA+JjY7IH0KLSBpZiB0ZXN0ICIke2djY19jdl9hc19zcGFyY19sZW9uK3NldH0iID0gc2V0OyB0aGVuIDoKLUBAIC0yODk0Nyw2ICsyODk1MSwxOCBAQCAkYXNfZWNobyAiI2RlZmluZSBIQVZFX1NPTEFSSVNfQ1JUUyAxIiA+Ci0gCi0gZmkKLSAKLSsjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtbGlic3NwIHdhcyBnaXZlbi4KLStpZiB0ZXN0ICIke2VuYWJsZV9saWJzc3Arc2V0fSIgPSBzZXQ7IHRoZW4gOgotKyAgZW5hYmxldmFsPSRlbmFibGVfbGlic3NwOyBjYXNlICIke2VuYWJsZXZhbH0iIGluCi0rICB5ZXN8bm8pCi0rICAgIDs7Ci0rICAqKQotKyAgICBhc19mbl9lcnJvciAidW5rbm93biBsaWJzc3Agc2V0dGluZyAkZW5hYmxldmFsIiAiJExJTkVOTyIgNQotKyAgICA7OwotK2VzYWMKLStmaQotKwotKwotICMgVGVzdCBmb3Igc3RhY2sgcHJvdGVjdG9yIHN1cHBvcnQgaW4gdGFyZ2V0IEMgbGlicmFyeS4KLSB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIF9fc3RhY2tfY2hrX2ZhaWwgaW4gdGFyZ2V0IEMgbGlicmFyeSIgPiY1Ci0gJGFzX2VjaG9fbiAiY2hlY2tpbmcgX19zdGFja19jaGtfZmFpbCBpbiB0YXJnZXQgQyBsaWJyYXJ5Li4uICIgPiY2OyB9Ci1AQCAtMjg5NTQsNiArMjg5NzAsMTEgQEAgaWYgdGVzdCAiJHtnY2NfY3ZfbGliY19wcm92aWRlc19zc3Arc2V0fQotICAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLSBlbHNlCi0gICBnY2NfY3ZfbGliY19wcm92aWRlc19zc3A9bm8KLSsgIGlmIHRlc3QgIngkZW5hYmxlX2xpYnNzcCIgPSAieG5vIjsgdGhlbgotKyAgICBnY2NfY3ZfbGliY19wcm92aWRlc19zc3A9eWVzCi0rICBlbGlmIHRlc3QgIngkZW5hYmxlX2xpYnNzcCIgPSAieHllcyI7IHRoZW4KLSsgICAgZ2NjX2N2X2xpYmNfcHJvdmlkZXNfc3NwPW5vCi0rICBlbHNlCi0gICAgIGNhc2UgIiR0YXJnZXQiIGluCi0gICAgICAgICotKi1tdXNsKikKLSAJICMgQWxsIHZlcnNpb25zIG9mIG11c2wgcHJvdmlkZSBzdGFjayBwcm90ZWN0b3IKLUBAIC0yOTAwMSw4ICsyOTAyMiw5IEBAIGVsc2UKLSBmaQotIAotICAgICAgICAgOzsKLS0gICopIGdjY19jdl9saWJjX3Byb3ZpZGVzX3NzcD1ubyA7OwotKyAgICAgICAqKSBnY2NfY3ZfbGliY19wcm92aWRlc19zc3A9bm8gOzsKLSAgICAgZXNhYwotKyAgZmkKLSBmaQotIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkZ2NjX2N2X2xpYmNfcHJvdmlkZXNfc3NwIiA+JjUKLSAkYXNfZWNobyAiJGdjY19jdl9saWJjX3Byb3ZpZGVzX3NzcCIgPiY2OyB9Ci1AQCAtMjkwMzcsMTggKzI5MDU5LDE1IEBAIGZpCi0gCi0gCi0gIyBUZXN0IGZvciA8c3lzL3NkdC5oPiBvbiB0aGUgdGFyZ2V0LgotLQotLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgc3lzL3NkdC5oIGluIHRoZSB0YXJnZXQgQyBsaWJyYXJ5IiA+JjUKLS0kYXNfZWNob19uICJjaGVja2luZyBzeXMvc2R0LmggaW4gdGhlIHRhcmdldCBDIGxpYnJhcnkuLi4gIiA+JjY7IH0KLS1oYXZlX3N5c19zZHRfaD1ubwotKyNHQ0NfVEFSR0VUX1RFTVBMQVRFKFtIQVZFX1NZU19TRFRfSF0pCi0rI0FDX01TR19DSEVDS0lORyhzeXMvc2R0LmggaW4gdGhlIHRhcmdldCBDIGxpYnJhcnkpCi0rI2hhdmVfc3lzX3NkdF9oPW5vCi0gI2lmIHRlc3QgLWYgJHRhcmdldF9oZWFkZXJfZGlyL3N5cy9zZHQuaDsgdGhlbgotICMgIGhhdmVfc3lzX3NkdF9oPXllcwotLSMKLS0jJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9TWVNfU0RUX0ggMSIgPj5jb25mZGVmcy5oCi0tIwotKyMgIEFDX0RFRklORShIQVZFX1NZU19TRFRfSCwgMSwKLSsjICAgICAgICAgICAgW0RlZmluZSBpZiB5b3VyIHRhcmdldCBDIGxpYnJhcnkgcHJvdmlkZXMgc3lzL3NkdC5oXSkKLSAjZmkKLS17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGhhdmVfc3lzX3NkdF9oIiA+JjUKLS0kYXNfZWNobyAiJGhhdmVfc3lzX3NkdF9oIiA+JjY7IH0KLSsjQUNfTVNHX1JFU1VMVCgkaGF2ZV9zeXNfc2R0X2gpCi0gCi0gIyBDaGVjayBpZiBURm1vZGUgbG9uZyBkb3VibGUgc2hvdWxkIGJlIHVzZWQgYnkgZGVmYXVsdCBvciBub3QuCi0gIyBTb21lIGdsaWJjIHRhcmdldHMgdXNlZCBERm1vZGUgbG9uZyBkb3VibGUsIGJ1dCB3aXRoIGdsaWJjIDIuNApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvZml4LXNlZ21lbnRhdGlvbi1mYXVsdC1wcmVjb21waWxlZC1oZHIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy9maXgtc2VnbWVudGF0aW9uLWZhdWx0LXByZWNvbXBpbGVkLWhkci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzBhZGVmNi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy9maXgtc2VnbWVudGF0aW9uLWZhdWx0LXByZWNvbXBpbGVkLWhkci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ5ICswLDAgQEAKLQotUHJldmVudCBhIHNlZ21lbnRhdGlvbiBmYXVsdCB3aGljaCBvY2N1cnMgd2hlbiB1c2luZyBpbmNvcnJlY3QKLXN0cnVjdHVyZSB0cnlpbmcgdG8gYWNjZXNzIG5hbWUgb2Ygc29tZSBuYW1lZCBvcGVyYXRvcnMsIHN1Y2ggYXMgCi1DUFBfTk9ULCBDUFBfQU5EIGV0Yy4gInRva2VuLT52YWwubm9kZS5zcGVsbGluZyIgY2Fubm90IGJlIHVzZWQgaW4KLXRob3NlIGNhc2VzLCBhcyBpcyBtYXkgbm90IGJlIGluaXRpYWxpemVkIGF0IGFsbC4KLQotCi1bWU9DVE8gIzExNzM4XQotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogSnVybyBCeXN0cmlja3kgPGp1cm8uYnlzdHJpY2t5QGludGVsLmNvbT4KLQotZGlmZiAtLWdpdCBhL2xpYmNwcC9sZXguYyBiL2xpYmNwcC9sZXguYwotLS0tIGEvbGliY3BwL2xleC5jCi0rKysgYi9saWJjcHAvbGV4LmMKLUBAIC0zMjI5LDExICszMjI5LDI3IEBACi0gICAgIHNwZWxsX2lkZW50OgotICAgICBjYXNlIFNQRUxMX0lERU5UOgotICAgICAgIGlmIChmb3JzdHJpbmcpCi0tCXsKLS0JICBtZW1jcHkgKGJ1ZmZlciwgTk9ERV9OQU1FICh0b2tlbi0+dmFsLm5vZGUuc3BlbGxpbmcpLAotLQkJICBOT0RFX0xFTiAodG9rZW4tPnZhbC5ub2RlLnNwZWxsaW5nKSk7Ci0tCSAgYnVmZmVyICs9IE5PREVfTEVOICh0b2tlbi0+dmFsLm5vZGUuc3BlbGxpbmcpOwotLQl9Ci0rICAgICAgICB7Ci0rICAgICAgICAgIGlmICh0b2tlbi0+dHlwZSA9PSBDUFBfTkFNRSkKLSsgICAgICAgICAgICB7Ci0rICAgICAgICAgICAgICBtZW1jcHkgKGJ1ZmZlciwgTk9ERV9OQU1FICh0b2tlbi0+dmFsLm5vZGUuc3BlbGxpbmcpLAotKyAgICAgICAgICAgICAgICAgICAgTk9ERV9MRU4gKHRva2VuLT52YWwubm9kZS5zcGVsbGluZykpOwotKyAgICAgICAgICAgICAgYnVmZmVyICs9IE5PREVfTEVOICh0b2tlbi0+dmFsLm5vZGUuc3BlbGxpbmcpOwotKyAgICAgICAgICAgICAgYnJlYWs7Ci0rICAgICAgICAgICAgfQotKyAgICAgICAgICAvKiBOQU1FRF9PUCwgY2Fubm90IHVzZSBub2RlLnNwZWxsaW5nICovCi0rICAgICAgICAgIGlmICh0b2tlbi0+ZmxhZ3MgJiBOQU1FRF9PUCkKLSsgICAgICAgICAgICB7Ci0rICAgICAgICAgICAgICBjb25zdCBjaGFyICpzdHIgPSBjcHBfbmFtZWRfb3BlcmF0b3IybmFtZSAodG9rZW4tPnR5cGUpOwotKyAgICAgICAgICAgICAgaWYgKHN0cikKLSsgICAgICAgICAgICAgICAgewotKyAgICAgICAgICAgICAgICAgIHNpemVfdCBsZW4gPSBzdHJsZW4oc3RyKTsKLSsgICAgICAgICAgICAgICAgICBtZW1jcHkoYnVmZmVyLCBzdHIsIGxlbik7Ci0rICAgICAgICAgICAgICAgICAgYnVmZmVyICs9IGxlbjsKLSsgICAgICAgICAgICAgICAgfQotKyAgICAgICAgICAgICAgYnJlYWs7Ci0rICAgICAgICAgICAgfQotKyAgICAgICAgfQotICAgICAgIGVsc2UKLSAJYnVmZmVyID0gX2NwcF9zcGVsbF9pZGVudF91Y25zIChidWZmZXIsIHRva2VuLT52YWwubm9kZS5ub2RlKTsKLSAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zL25vLXNzZS1maXgtdGVzdC1jYXNlLWZhaWx1cmVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvbm8tc3NlLWZpeC10ZXN0LWNhc2UtZmFpbHVyZXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNiODdjNWEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvbm8tc3NlLWZpeC10ZXN0LWNhc2UtZmFpbHVyZXMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNTkgKzAsMCBAQAotRnJvbSBmMjI4MzBkYTJiYTY0NTc3ZGViNmY3MTdkMDVkODZjMDNkZDJlNTBkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUkFHSFVOQVRIIExPTFVSIDxyYWdodW5hdGgubG9sdXJAa3BpdC5jb20+Ci1EYXRlOiBXZWQsIDYgRGVjIDIwMTcgMjI6NTI6MjYgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IGZvciB0ZXN0c3VpdGUgZmFpbHVyZQotCi0yMDE3LTExLTE2ICBSYWdodW5hdGggTG9sdXIgIDxyYWdodW5hdGgubG9sdXJAa3BpdC5jb20+Ci0KLQkqIGdjYy5kZy9wcjU2Mjc1LmM6IElmIFNTRSBpcyBkaXNhYmxlZCwgZW5zdXJlIHRoYXQKLQkiLW1mcG1hdGgiIGlzIG5vdCBzZXQgdG8gdXNlIFNTRS4gU2V0ICItbWZwbWF0aD0zODciLgotCSogZ2NjLmRnL3ByNjgzMDYuYzogTGlrZXdpc2UKLQkqIGdjYy5kZy9wcjY4MzA2LTIuYzogTGlrZXdpc2UKLQkqIGdjYy5kZy9wcjY4MzA2LTMuYzogTGlrZXdpc2UKLQkqIGdjYy5kZy9wcjY5NjM0LmM6IExpa2V3aXNlCi0JKiBnY2MudGFyZ2V0L2kzODYvYW1kNjQtYWJpLTEuYzogTGlrZXdpc2UKLQkqIGdjYy50YXJnZXQvaTM4Ni9mdW5jc3BlYy02LmM6IExpa2V3aXNlCi0JKiBnY2MudGFyZ2V0L2kzODYvaW50ZXJydXB0LTM4Ny1lcnItMS5jOiBMaWtld2lzZQotCSogZ2NjLnRhcmdldC9pMzg2L2lzYS0xNC5jOiBMaWtld2lzZQotCSogZ2NjLnRhcmdldC9pMzg2L3ByNDQ5NDgtMmIuYzogTGlrZXdpc2UKLQkqIGdjYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTEuYzogTGlrZXdpc2UKLQkqIGdjYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTIuYzogTGlrZXdpc2UKLQkqIGdjYy50YXJnZXQvaTM4Ni9wcjU1MjQ3LmM6IExpa2V3aXNlCi0JKiBnY2MudGFyZ2V0L2kzODYvcHI1OTY0NC5jOiBMaWtld2lzZQotCSogZ2NjLnRhcmdldC9pMzg2L3ByNjIxMjAuYzogTGlrZXdpc2UKLQkqIGdjYy50YXJnZXQvaTM4Ni9wcjcwNDY3LTEuYzogTGlrZXdpc2UKLQkqIGdjYy50YXJnZXQvaTM4Ni93YXJuLXZlY3Qtb3AtMS5jOiBMaWtld2lzZQotCi1JZiAtV2FsbCwgLVdlcnJvciBhcmUgdXNlZCBkdXJpbmcgY29tcGlsYXRpb24gdmFyaW91cyB0ZXN0IGNhc2VzIGZhaWwKLXRvIGNvbXBpbGUuCi0KLUlmIFNTRSBpcyBkaXNhYmxlZCwgYmUgc3VyZSB0byAtbWZwbWF0aD0zODcgdG8gcmVzb2x2ZSB0aGlzLgotCi1UaGlzIHBhdGNoIHJlbW92ZXMgdGhlIGNoYW5nZXMgdG8gQ2hhbmdlbG9nIGZyb20gdGhlIG9yaWdpbmFsIHBhdGNoLgotVGhpcyB3aWxsIGhlbHAgdXMgYXZvaWQgY29uZmxpY3RzLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogTWFyayBIYXRsZSA8bWFyay5oYXRsZUB3aW5kcml2ZXIuY29tPgotLS0tCi0gZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgfCAyMSArKysrKysrKysrKysrKysrKysrKysKLSBnY2MvdGVzdHN1aXRlL2djYy5kZy9wcjU2Mjc1LmMgICAgICAgICAgICB8ICAyICstCi0gZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi0yLmMgICAgICAgICAgfCAgMiArLQotIGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYtMy5jICAgICAgICAgIHwgIDIgKy0KLSBnY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LmMgICAgICAgICAgICB8ICAyICstCi0gZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2OTYzNC5jICAgICAgICAgICAgfCAgMiArLQotIC4uLi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hbWQ2NC1hYmktMS5jICAgICB8ICAyICstCi0gLi4uL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2Z1bmNzcGVjLTYuYyAgICAgIHwgIDEgKwotIC4uLi90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2ludGVycnVwdC0zODctZXJyLTEuYyB8ICAyICstCi0gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvaXNhLTE0LmMgICAgfCAgMiArLQotIC4uLi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjQ0OTQ4LTJiLmMgICAgICB8ICAyICstCi0gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0xLmMgfCAgMiArLQotIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMi5jIHwgIDIgKy0KLSBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjU1MjQ3LmMgICB8ICAyICstCi0gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1OTY0NC5jICAgfCAgMiArLQotIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNjIxMjAuYyAgIHwgIDIgKy0KLSBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjcwNDY3LTEuYyB8ICAyICstCi0gLi4uL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3dhcm4tdmVjdC1vcC0xLmMgIHwgIDIgKy0KLSAxOCBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNTYyNzUuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNTYyNzUuYwotaW5kZXggYjkwMWJiMi4uYTRmNmM5NSAxMDA2NDQKLS0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNTYyNzUuYwotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI1NjI3NS5jCi1AQCAtMSw2ICsxLDYgQEAKLSAvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwotIC8qIHsgZGctb3B0aW9ucyAiLU8yIiB9ICovCi0tLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tbm8tc3NlIiB7IHRhcmdldCB7IGk/ODYtKi0qIHg4Nl82NC0qLSogfSB9IH0gKi8KLSsvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1mcG1hdGg9Mzg3IiB7IHRhcmdldCB7IGk/ODYtKi0qIHg4Nl82NC0qLSogfSB9IH0gKi8KLSAKLSB0eXBlZGVmIGxvbmcgbG9uZyB2MnR3IF9fYXR0cmlidXRlX18gKCh2ZWN0b3Jfc2l6ZSAoMiAqIHNpemVvZiAobG9uZyBsb25nKSkpKTsKLSAKLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LTIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYtMi5jCi1pbmRleCA0NjcyZWJlLi4yYTM2OGM0IDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi0yLmMKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYtMi5jCi1AQCAtMSw2ICsxLDYgQEAKLSAvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwotIC8qIHsgZGctb3B0aW9ucyAiLU8zIiB9ICovCi0tLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tbm8tc3NlIC1tbm8tbW14IiB7IHRhcmdldCBpPzg2LSotKiB4ODZfNjQtKi0qIH0gfSAqLwotKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbW5vLXNzZSAtbW5vLW1teCAtbWZwbWF0aD0zODciIHsgdGFyZ2V0IGk/ODYtKi0qIHg4Nl82NC0qLSogfSB9ICovCi0gCi0gc3RydWN0IHsKLSAgICAgaW50IHR6X21pbnV0ZXN3ZXN0OwotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYtMy5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi0zLmMKLWluZGV4IGY1YThjMTAuLmRmMzM5MGMgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LTMuYwotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi0zLmMKLUBAIC0xLDYgKzEsNiBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0gLyogeyBkZy1vcHRpb25zICItTzMiIH0gKi8KLS0vKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1uby1tbXgiIHsgdGFyZ2V0IGk/ODYtKi0qIHg4Nl82NC0qLSogfSB9ICovCi0rLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tbm8tc3NlIC1tbm8tbW14IC1tZnBtYXRoPTM4NyIgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KLSAvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1hbHRpdmVjIC1tbm8tdnN4IiB7IHRhcmdldCBwb3dlcnBjKi0qLSogfSB9ICovCi0gCi0gZXh0ZXJuIHZvaWQgZm4yKCk7Ci1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi5jCi1pbmRleCA1NGU1YjQwLi4wODEzMzg5IDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LmMKLUBAIC0xLDYgKzEsNiBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0gLyogeyBkZy1vcHRpb25zICItTzMiIH0gKi8KLS0vKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1uby1tbXgiIHsgdGFyZ2V0IGk/ODYtKi0qIHg4Nl82NC0qLSogfSB9ICovCi0rLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tbm8tc3NlIC1tbm8tbW14IC1tZnBtYXRoPTM4NyIgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KLSAKLSBlbnVtIHBvd2VycGNfcG1jX3R5cGUgeyBQUENfUE1DX0lCTSB9OwotIHN0cnVjdCB7Ci1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2OTYzNC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2OTYzNC5jCi1pbmRleCA2MGE1NjE0Li5iY2MyM2Y5IDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2OTYzNC5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY5NjM0LmMKLUBAIC0xLDYgKzEsNiBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0gLyogeyBkZy1vcHRpb25zICItTzIgLWZuby1kY2UgLWZzY2hlZHVsZS1pbnNucyAtZm5vLXRyZWUtdnJwIC1mY29tcGFyZS1kZWJ1ZyAtV25vLXBzYWJpIiB9ICovCi0tLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tbm8tc3NlIiB7IHRhcmdldCBpPzg2LSotKiB4ODZfNjQtKi0qIH0gfSAqLwotKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbW5vLXNzZSAtbWZwbWF0aD0zODciIHsgdGFyZ2V0IGk/ODYtKi0qIHg4Nl82NC0qLSogfSB9ICovCi0gLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgc2NoZWR1bGluZyB9ICovCi0gCi0gdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCB1MTY7Ci1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvYW1kNjQtYWJpLTEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2FtZDY0LWFiaS0xLmMKLWluZGV4IDY5ZmRlNTcuLjdmMWYxYzAgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hbWQ2NC1hYmktMS5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hbWQ2NC1hYmktMS5jCi1AQCAtMSw1ICsxLDUgQEAKLSAvKiB7IGRnLWRvIGNvbXBpbGUgeyB0YXJnZXQgeyAhIGlhMzIgfSB9IH0gKi8KLS0vKiB7IGRnLW9wdGlvbnMgIi1tbm8tc3NlIiB9ICovCi0rLyogeyBkZy1vcHRpb25zICItbW5vLXNzZSAtbWZwbWF0aD0zODciIH0gKi8KLSAvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1hYmk9c3lzdiIgeyB0YXJnZXQgKi0qLW1pbmd3KiB9IH0gKi8KLSAKLSBkb3VibGUgZm9vKHZvaWQpIHsgcmV0dXJuIDA7IH0JLyogeyBkZy1lcnJvciAiU1NFIGRpc2FibGVkIiB9ICovCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvZnVuY3NwZWMtNi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvZnVuY3NwZWMtNi5jCi1pbmRleCBlYTg5NmI3Li5iZjE1NTY5IDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvZnVuY3NwZWMtNi5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9mdW5jc3BlYy02LmMKLUBAIC0xLDYgKzEsNyBAQAotIC8qIFRlc3Qgd2hldGhlciBhbGwgb2YgdGhlIDY0LWJpdCBmdW5jdGlvbiBzcGVjaWZpYyBvcHRpb25zIGFyZSBhY2NlcHRlZAotICAgIHdpdGhvdXQgZXJyb3IuICAqLwotIC8qIHsgZGctZG8gY29tcGlsZSB7IHRhcmdldCB7ICEgaWEzMiB9IH0gfSAqLwotKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbWZwbWF0aD0zODciIH0gKi8KLSAKLSAjaW5jbHVkZSAiZnVuY3NwZWMtNTYuaW5jIgotIAotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2ludGVycnVwdC0zODctZXJyLTEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2ludGVycnVwdC0zODctZXJyLTEuYwotaW5kZXggM2ZiZGM4OC4uNmI0ZDlkMSAxMDA2NDQKLS0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2ludGVycnVwdC0zODctZXJyLTEuYwotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvaW50ZXJydXB0LTM4Ny1lcnItMS5jCi1AQCAtMSw1ICsxLDUgQEAKLSAvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwotLS8qIHsgZGctb3B0aW9ucyAiLU8yIC1tZ2VuZXJhbC1yZWdzLW9ubHkgLW1uby1jbGQgLW1uby1pYW1jdSAtbTgwMzg3IiB9ICovCi0rLyogeyBkZy1vcHRpb25zICItTzIgLW1nZW5lcmFsLXJlZ3Mtb25seSAtbW5vLWNsZCAtbW5vLWlhbWN1IC1tODAzODcgLW1mcG1hdGg9Mzg3IiB9ICovCi0gCi0gdHlwZWRlZiB1bnNpZ25lZCBpbnQgdXdvcmRfdCBfX2F0dHJpYnV0ZV9fICgobW9kZSAoX193b3JkX18pKSk7Ci0gCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvaXNhLTE0LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9pc2EtMTQuYwotaW5kZXggNWQ0OWU2ZS4uMWRlMmRiOSAxMDA2NDQKLS0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2lzYS0xNC5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9pc2EtMTQuYwotQEAgLTEsNSArMSw1IEBACi0gLyogeyBkZy1kbyBydW4gfSAqLwotLS8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXg4Ni02NCAtbXNzZTRhIC1tZm1hNCAtbW5vLXNzZSIgfSAqLwotKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXg4Ni02NCAtbXNzZTRhIC1tZm1hNCAtbW5vLXNzZSAtbWZwbWF0aD0zODciIH0gKi8KLSAKLSBleHRlcm4gdm9pZCBhYm9ydCAodm9pZCk7Ci0gCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI0NDk0OC0yYi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI0NDk0OC0yYi5jCi1pbmRleCBmYTE3NjliLi5mNzlmYjEyIDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI0NDk0OC0yYi5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjQ0OTQ4LTJiLmMKLUBAIC0xLDUgKzEsNSBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0tLyogeyBkZy1vcHRpb25zICItTyAtbW5vLXNzZSAtV25vLXBzYWJpIC1tdHVuZT1nZW5lcmljIiB9ICovCi0rLyogeyBkZy1vcHRpb25zICItTyAtbW5vLXNzZSAtV25vLXBzYWJpIC1tdHVuZT1nZW5lcmljIC1tZnBtYXRoPTM4NyIgfSAqLwotIAotIHN0cnVjdCBBCi0geyAKLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMS5jCi1pbmRleCAyZTg5ZmY3Li42MzM5YmY2IDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0xLmMKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMS5jCi1AQCAtMSw2ICsxLDYgQEAKLSAvKiBQUiB0YXJnZXQvNTM0MjUgKi8KLSAvKiB7IGRnLWRvIGNvbXBpbGUgeyB0YXJnZXQgeyAhIGlhMzIgfSB9IH0gKi8KLS0vKiB7IGRnLW9wdGlvbnMgIi1PMiAtbW5vLXNzZSIgfSAqLwotKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1tbm8tc3NlIC1tZnBtYXRoPTM4NyIgfSAqLwotIC8qIHsgZGctc2tpcC1pZiAibm8gU1NFIHZlY3RvciIgeyB4ODZfNjQtKi1taW5ndyogfSB9ICovCi0gCi0gdHlwZWRlZiBkb3VibGUgX192MmRmIF9fYXR0cmlidXRlX18gKChfX3ZlY3Rvcl9zaXplX18gKDE2KSkpOwotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0yLmMKLWluZGV4IDYxZjYyODMuLjJjNWE1NWYgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTIuYwotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0yLmMKLUBAIC0xLDYgKzEsNiBAQAotIC8qIFBSIHRhcmdldC81MzQyNSAqLwotIC8qIHsgZGctZG8gY29tcGlsZSB7IHRhcmdldCB7ICEgaWEzMiB9IH0gfSAqLwotLS8qIHsgZGctb3B0aW9ucyAiLU8yIC1tbm8tc3NlIiB9ICovCi0rLyogeyBkZy1vcHRpb25zICItTzIgLW1uby1zc2UgLW1mcG1hdGg9Mzg3IiB9ICovCi0gLyogeyBkZy1za2lwLWlmICJubyBTU0UgdmVjdG9yIiB7IHg4Nl82NC0qLW1pbmd3KiB9IH0gKi8KLSAKLSB0eXBlZGVmIGZsb2F0IF9fdjJzZiBfX2F0dHJpYnV0ZV9fICgoX192ZWN0b3Jfc2l6ZV9fICg4KSkpOwotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTUyNDcuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTUyNDcuYwotaW5kZXggMjMzNjZkMC4uOTgxMGUzYSAxMDA2NDQKLS0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTUyNDcuYwotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1NTI0Ny5jCi1AQCAtMSw2ICsxLDYgQEAKLSAvKiB7IGRnLWRvIGNvbXBpbGUgeyB0YXJnZXQgeyAhIGlhMzIgfSB9IH0gKi8KLSAvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCBtYXliZV94MzIgfSAqLwotLS8qIHsgZGctb3B0aW9ucyAiLU8yIC1tbm8tc3NlIC1tbm8tbW14IC1teDMyIC1tYWRkcmVzcy1tb2RlPWxvbmciIH0gKi8KLSsvKiB7IGRnLW9wdGlvbnMgIi1PMiAtbW5vLXNzZSAtbW5vLW1teCAtbXgzMiAtbWFkZHJlc3MtbW9kZT1sb25nIC1tZnBtYXRoPTM4NyIgfSAqLwotIAotIHR5cGVkZWYgdW5zaWduZWQgaW50IHVpbnQzMl90OwotIHR5cGVkZWYgdWludDMyX3QgRWxmMzJfV29yZDsKLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjU5NjQ0LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjU5NjQ0LmMKLWluZGV4IDk2MDA2YjMuLjQyODdlNDUgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjU5NjQ0LmMKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTk2NDQuYwotQEAgLTEsNiArMSw2IEBACi0gLyogUFIgdGFyZ2V0LzU5NjQ0ICovCi0gLyogeyBkZy1kbyBydW4geyB0YXJnZXQgbHA2NCB9IH0gKi8KLS0vKiB7IGRnLW9wdGlvbnMgIi1PMiAtZmZyZWVzdGFuZGluZyAtbW5vLXNzZSAtbXByZWZlcnJlZC1zdGFjay1ib3VuZGFyeT0zIC1tYWNjdW11bGF0ZS1vdXRnb2luZy1hcmdzIC1tbm8tcmVkLXpvbmUiIH0gKi8KLSsvKiB7IGRnLW9wdGlvbnMgIi1PMiAtZmZyZWVzdGFuZGluZyAtbW5vLXNzZSAtbXByZWZlcnJlZC1zdGFjay1ib3VuZGFyeT0zIC1tYWNjdW11bGF0ZS1vdXRnb2luZy1hcmdzIC1tbm8tcmVkLXpvbmUgLW1mcG1hdGg9Mzg3IiB9ICovCi0gCi0gLyogVGhpcyB0ZXN0IHVzZXMgX19idWlsdGluX3RyYXAgKCkgaW5zdGVhZCBvZiBlLmcuIGFib3J0LAotICAgIGJlY2F1c2UgZHVlIHRvIC1tcHJlZmVycmVkLXN0YWNrLWJvdW5kYXJ5PTMgaXQgc2hvdWxkIG5vdCBjYWxsCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI2MjEyMC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI2MjEyMC5jCi1pbmRleCBiZmI4YzQ3Li5lZDA0Y2YxIDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI2MjEyMC5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjYyMTIwLmMKLUBAIC0xLDUgKzEsNSBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0tLyogeyBkZy1vcHRpb25zICItbW5vLXNzZSIgfSAqLwotKy8qIHsgZGctb3B0aW9ucyAiLW1uby1zc2UgLW1mcG1hdGg9Mzg3IiB9ICovCi0gCi0gdm9pZCBmb28gKCkKLSB7Ci1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI3MDQ2Ny0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjcwNDY3LTEuYwotaW5kZXggNGUxMTJjOC4uYmNmYjM5NiAxMDA2NDQKLS0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNzA0NjctMS5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjcwNDY3LTEuYwotQEAgLTEsNiArMSw2IEBACi0gLyogUFIgcnRsLW9wdGltaXphdGlvbi83MDQ2NyAqLwotIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0tLyogeyBkZy1vcHRpb25zICItTzIgLW1uby1zc2UiIH0gKi8KLSsvKiB7IGRnLW9wdGlvbnMgIi1PMiAtbW5vLXNzZSAtbWZwbWF0aD0zODciIH0gKi8KLSAKLSB2b2lkIGZvbyAodW5zaWduZWQgbG9uZyBsb25nICopOwotIAotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3dhcm4tdmVjdC1vcC0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni93YXJuLXZlY3Qtb3AtMS5jCi1pbmRleCA2Y2RhMTUzLi4yNmUzN2Y1IDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvd2Fybi12ZWN0LW9wLTEuYwotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvd2Fybi12ZWN0LW9wLTEuYwotQEAgLTEsNSArMSw1IEBACi0gLyogeyBkZy1kbyBjb21waWxlIHsgdGFyZ2V0IHsgISBpYTMyIH0gfSB9ICAqLwotLS8qIHsgZGctb3B0aW9ucyAiLW1uby1zc2UgLVd2ZWN0b3Itb3BlcmF0aW9uLXBlcmZvcm1hbmNlIiB9ICAqLwotKy8qIHsgZGctb3B0aW9ucyAiLW1uby1zc2UgLVd2ZWN0b3Itb3BlcmF0aW9uLXBlcmZvcm1hbmNlIC1tZnBtYXRoPTM4NyIgfSAgKi8KLSAjZGVmaW5lIHZlY3RvcihlbGNvdW50LCB0eXBlKSAgXAotIF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplKChlbGNvdW50KSpzaXplb2YodHlwZSkpKSkgdHlwZQotIAotLS0gCi0xLjguNS42Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLmluYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODY2YTc3NS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi5pbmMKKysrIC9kZXYvbnVsbApAQCAtMSwxMjcgKzAsMCBAQAotcmVxdWlyZSBnY2MtY29tbW9uLmluYwotCi0jIFRoaXJkIGRpZ2l0IGluIFBWIHNob3VsZCBiZSBpbmNyZW1lbnRlZCBhZnRlciBhIG1pbm9yIHJlbGVhc2UKLQotUFYgPSAiOC4yLjAiCi0KLSMgQklOViBzaG91bGQgYmUgaW5jcmVtZW50ZWQgdG8gYSByZXZpc2lvbiBhZnRlciBhIG1pbm9yIGdjYyByZWxlYXNlCi0KLUJJTlYgPSAiOC4yLjAiCi0KLUZJTEVTRVhUUkFQQVRIUyA9LiAiJHtGSUxFX0RJUk5BTUV9L2djYy04LjI6JHtGSUxFX0RJUk5BTUV9L2djYy04LjIvYmFja3BvcnQ6IgotCi1ERVBFTkRTID0rICJtcGZyIGdtcCBsaWJtcGMgemxpYiBmbGV4LW5hdGl2ZSIKLU5BVElWRURFUFMgPSAibXBmci1uYXRpdmUgZ21wLW5hdGl2ZSBsaWJtcGMtbmF0aXZlIHpsaWItbmF0aXZlIGZsZXgtbmF0aXZlIgotCi1MSUNFTlNFID0gIkdQTC0zLjAtd2l0aC1HQ0MtZXhjZXB0aW9uICYgR1BMdjMiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiXAotICAgIGZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiBcCi0gICAgZmlsZTovL0NPUFlJTkczO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCBcCi0gICAgZmlsZTovL0NPUFlJTkczLkxJQjttZDU9NmE2YThlMDIwODM4YjIzNDA2YzgxYjE5YzFkNDZkZjYgXAotICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9MmQ1MDI1ZDRhYTM0OTViZWZlZjhmMTcyMDZhNWIwYTEgXAotICAgIGZpbGU6Ly9DT1BZSU5HLlJVTlRJTUU7bWQ1PWZlNjBkODcwNDg1NjdkNGZlOGM4YTBlZDI0NDhiY2M4IFwKLSIKLQotI1JFTEVBU0UgPSAiOC4wLjEtUkMtMjAxODA0MjciCi1CQVNFVVJJID89ICIke0dOVV9NSVJST1J9L2djYy9nY2MtJHtQVn0vZ2NjLSR7UFZ9LnRhci54eiIKLSNTUkNSRVYgPSAiZjdjZjc5OGI3M2ZkMWEwNzA5OGY5YTQ5MGRlZWMxZTJhMzZlMGJlZCIKLSNCQVNFVVJJID89ICJnaXQ6Ly9naXRodWIuY29tL2djYy1taXJyb3IvZ2NjO2JyYW5jaD1nY2MtNi1icmFuY2g7cHJvdG9jb2w9Z2l0IgotI0JBU0VVUkkgPz0gImh0dHA6Ly9taXJyb3JzLmNvbmNlcnRwYXNzLmNvbS9nY2Mvc25hcHNob3RzLyR7UkVMRUFTRX0vZ2NjLSR7UkVMRUFTRX0udGFyLnh6IgotCi1TUkNfVVJJID0gIlwKLSAgICAgICAgICAgJHtCQVNFVVJJfSBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWdjYy00LjMuMS1BUkNIX0ZMQUdTX0ZPUl9UQVJHRVQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMy1nY2MtcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA1LWdjYy00LjMuMy1TWVNST09UX0NGTEFHU19GT1JfVEFSR0VULnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDYtNjQtYml0LW11bHRpbGliLWhhY2sucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNy1vcHRpb25hbC1saWJzdGRjLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDgtZ2NjLWRpc2FibGUtTUFTS19SRUxBWF9QSUNfQ0FMTFMtYml0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDktQ09MTEVDVF9HQ0NfT1BUSU9OUy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDEwLVVzZS10aGUtZGVmYXVsdHMuaC1pbi1CLWluc3RlYWQtb2YtUy1hbmQtdC1vZS1pbi1CLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTEtZm9ydHJhbi1jcm9zcy1jb21waWxlLWhhY2sucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxMi1jcHAtaG9ub3Itc3lzcm9vdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDEzLU1JUFM2NC1EZWZhdWx0LXRvLU42NC1BQkkucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxNC1EZWZpbmUtR0xJQkNfRFlOQU1JQ19MSU5LRVItYW5kLVVDTElCQ19EWU5BTUlDX0xJTktFLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTUtZ2NjLUZpeC1hcmd1bWVudC1saXN0LXRvby1sb25nLWVycm9yLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTYtRGlzYWJsZS1zZHQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxNy1saWJ0b29sLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTgtZ2NjLWFybXY0LXBhc3MtZml4LXY0YngtdG8tbGlua2VyLXRvLXN1cHBvcnQtRUFCSS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDE5LVVzZS10aGUtbXVsdGlsaWItY29uZmlnLWZpbGVzLWZyb20tQi1pbnN0ZWFkLW9mLXVzaW4ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMC1Bdm9pZC11c2luZy1saWJkaXItZnJvbS0ubGEtd2hpY2gtdXN1YWxseS1wb2ludHMtdG8tLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjEtZXhwb3J0LUNQUC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDIyLURpc2FibGUtdGhlLU1VTFRJTElCX09TRElSTkFNRVMtYW5kLW90aGVyLW11bHRpbGliLW8ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMy1FbnN1cmUtdGFyZ2V0LWdjYy1oZWFkZXJzLWNhbi1iZS1pbmNsdWRlZC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI0LWdjYy00Ljgtd29uLXQtYnVpbGQtd2l0aC1kaXNhYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyNS1Eb24tdC1zZWFyY2gtaG9zdC1kaXJlY3RvcnktZHVyaW5nLXJlbGluay1pZi1pbnN0X3ByLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjYtVXNlLVNZU1RFTUxJQlNfRElSLXJlcGxhY2VtZW50LWluc3RlYWQtb2YtaGFyZGNvZGluZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI3LWFhcmNoNjQtQWRkLXN1cHBvcnQtZm9yLW11c2wtbGRzby5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI4LWxpYmNjMS1maXgtbGliY2MxLXMtaW5zdGFsbC1wYXRoLWFuZC1ycGF0aC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI5LWhhbmRsZS1zeXNyb290LXN1cHBvcnQtZm9yLW5hdGl2ZXNkay1nY2MucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzMC1TZWFyY2gtdGFyZ2V0LXN5c3Jvb3QtZ2NjLXZlcnNpb24tc3BlY2lmaWMtZGlycy13aXRoLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMzEtRml4LXZhcmlvdXMtX0ZPUl9CVUlMRC1hbmQtcmVsYXRlZC12YXJpYWJsZXMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzMi1uaW9zMi1EZWZpbmUtTVVTTF9EWU5BTUlDX0xJTktFUi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDMzLUFkZC1zc3Bfbm9uc2hhcmVkLXRvLWxpbmstY29tbWFuZGxpbmUtZm9yLW11c2wtdGFyZ2UucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzNC1saWJnY2MtQWRkLWtub2ItdG8tdXNlLWxkYmwtMTI4LW9uLXBwYy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDM1LUxpbmstbGliZ2NjLXVzaW5nLUxERkxBR1Mtbm90LWp1c3QtU0hMSUJfTERGTEFHUy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDM2LWxpYmdjY19zLVVzZS1hbGlhcy1mb3ItX19jcHVfaW5kaWNhdG9yX2luaXQtaW5zdGVhZC0ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzNy1zeW5jLWdjYy1zdGRkZWYuaC13aXRoLW11c2wucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzOC1maXgtc2VnbWVudGF0aW9uLWZhdWx0LWluLXByZWNvbXBpbGVkLWhlYWRlci1nZW5lcmF0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMzktRml4LWZvci10ZXN0c3VpdGUtZmFpbHVyZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDQwLVJlLWludHJvZHVjZS1zcGUtY29tbWFuZGxpbmUtb3B0aW9ucy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDQxLUFSQy1maXgtc3BlYy1nZW4ucGF0Y2ggXAotICAgICAgICAgICAke0JBQ0tQT1JUU30gXAotIgotQkFDS1BPUlRTID0gIlwKLSIKLVNSQ19VUklbbWQ1c3VtXSA9ICI0YWIyODJmNDE0Njc2NDk2NDgzYjNlMTc5M2QwNzg2MiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIxOTZjM2MwNGJhMjYxM2Y4OTMyODM5NzdlNjAxMWIyMzQ1ZDFjZDFhZjlhYmVhYzU4ZTkxNmIxYWFiM2UwMDgwIgotCi1TID0gIiR7VE1QRElSfS93b3JrLXNoYXJlZC9nY2MtJHtQVn0tJHtQUn0vZ2NjLSR7UFZ9IgotI1MgPSAiJHtUTVBESVJ9L3dvcmstc2hhcmVkL2djYy0ke1BWfS0ke1BSfS9naXQiCi0jUyA9ICIke1RNUERJUn0vd29yay1zaGFyZWQvZ2NjLSR7UFZ9LSR7UFJ9L2djYy0ke1JFTEVBU0V9IgotQiA9ICIke1dPUktESVJ9L2djYy0ke1BWfS9idWlsZC4ke0hPU1RfU1lTfS4ke1RBUkdFVF9TWVN9IgotCi0jIExhbmd1YWdlIE92ZXJyaWRlcwotRk9SVFJBTiA9ICIiCi1KQVZBID0gIiIKLQotTFRPID0gIi0tZW5hYmxlLWx0byIKLVNTUCA/PSAiLS1kaXNhYmxlLWxpYnNzcCIKLVNTUF9taW5ndzMyID0gIi0tZW5hYmxlLWxpYnNzcCIKLQotRVhUUkFfT0VDT05GX0JBU0UgPSAiXAotICAgICR7TFRPfSBcCi0gICAgJHtTU1B9IFwKLSAgICAtLWVuYWJsZS1saWJpdG0gXAotICAgIC0tZGlzYWJsZS1ib290c3RyYXAgXAotICAgIC0tZGlzYWJsZS1saWJtdWRmbGFwIFwKLSAgICAtLXdpdGgtc3lzdGVtLXpsaWIgXAotICAgICR7QCctLXdpdGgtbGlua2VyLWhhc2gtc3R5bGU9JHtMSU5LRVJfSEFTSF9TVFlMRX0nIGlmICcke0xJTktFUl9IQVNIX1NUWUxFfScgZWxzZSAnJ30gXAotICAgIC0tZW5hYmxlLWxpbmtlci1idWlsZC1pZCBcCi0gICAgLS13aXRoLXBwbD1ubyBcCi0gICAgLS13aXRoLWNsb29nPW5vIFwKLSAgICAtLWVuYWJsZS1jaGVja2luZz1yZWxlYXNlIFwKLSAgICAtLWVuYWJsZS1jaGVhZGVycz1jX2dsb2JhbCBcCi0gICAgLS13aXRob3V0LWlzbCBcCi0iCi0KLUVYVFJBX09FQ09ORl9JTklUSUFMID0gIlwKLSAgICAtLWRpc2FibGUtbGlibXVkZmxhcCBcCi0gICAgLS1kaXNhYmxlLWxpYmdvbXAgXAotICAgIC0tZGlzYWJsZS1saWJpdG0gXAotICAgIC0tZGlzYWJsZS1saWJxdWFkbWF0aCBcCi0gICAgLS13aXRoLXN5c3RlbS16bGliIFwKLSAgICAtLWRpc2FibGUtbHRvIFwKLSAgICAtLWRpc2FibGUtcGx1Z2luIFwKLSAgICAtLWVuYWJsZS1saW5rZXItYnVpbGQtaWQgXAotICAgIC0tZW5hYmxlLWRlY2ltYWwtZmxvYXQ9bm8gXAotICAgIC0td2l0aG91dC1pc2wgXAotICAgIC0tZGlzYWJsZS1saWJzc3AgXAotIgotCi1FWFRSQV9PRUNPTkZfUEFUSFMgPSAiXAotICAgIC0td2l0aC1neHgtaW5jbHVkZS1kaXI9L25vdC9leGlzdHt0YXJnZXRfaW5jbHVkZWRpcn0vYysrLyR7QklOVn0gXAotICAgIC0td2l0aC1zeXNyb290PS9ub3QvZXhpc3QgXAotICAgIC0td2l0aC1idWlsZC1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfSBcCi0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDAxLWdjYy00LjMuMS1BUkNIX0ZMQUdTX0ZPUl9UQVJHRVQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDAxLWdjYy00LjMuMS1BUkNIX0ZMQUdTX0ZPUl9UQVJHRVQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQyM2ZlMjguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAwMS1nY2MtNC4zLjEtQVJDSF9GTEFHU19GT1JfVEFSR0VULnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotRnJvbSBiNzUyZmIyYjZkNmY2ZGE2OGRhNTM4NmI5NmFiZjBkNzRjZDRiYmU2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDg6Mzc6MTEgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAwMS8zOV0gZ2NjLTQuMy4xOiBBUkNIX0ZMQUdTX0ZPUl9UQVJHRVQKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLS0tLQotIGNvbmZpZ3VyZSAgICB8IDIgKy0KLSBjb25maWd1cmUuYWMgfCAyICstCi0gMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKLWluZGV4IDY5Yzk5ZTk5Y2NhLi41MTdmYjcwMTkyZSAxMDA3NTUKLS0tLSBhL2NvbmZpZ3VyZQotKysrIGIvY29uZmlndXJlCi1AQCAtNzUxMSw3ICs3NTExLDcgQEAgZmkKLSAjIGZvciB0YXJnZXRfYWxpYXMgYW5kIGdjYyBkb2Vzbid0IG1hbmFnZSBpdCBjb25zaXN0ZW50bHkuCi0gdGFyZ2V0X2NvbmZpZ2FyZ3M9Ii0tY2FjaGUtZmlsZT0uL2NvbmZpZy5jYWNoZSAke3RhcmdldF9jb25maWdhcmdzfSIKLSAKLS1GTEFHU19GT1JfVEFSR0VUPQotK0ZMQUdTX0ZPUl9UQVJHRVQ9IiRBUkNIX0ZMQUdTX0ZPUl9UQVJHRVQiCi0gY2FzZSAiICR0YXJnZXRfY29uZmlnZGlycyAiIGluCi0gICoiIG5ld2xpYiAiKikKLSAgIGNhc2UgIiAkdGFyZ2V0X2NvbmZpZ2FyZ3MgIiBpbgotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotaW5kZXggYTFlZGMzNjlhMjcuLmY4YzI1NGYxZmFjIDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmFjCi0rKysgYi9jb25maWd1cmUuYWMKLUBAIC0zMTAwLDcgKzMxMDAsNyBAQCBmaQotICMgZm9yIHRhcmdldF9hbGlhcyBhbmQgZ2NjIGRvZXNuJ3QgbWFuYWdlIGl0IGNvbnNpc3RlbnRseS4KLSB0YXJnZXRfY29uZmlnYXJncz0iLS1jYWNoZS1maWxlPS4vY29uZmlnLmNhY2hlICR7dGFyZ2V0X2NvbmZpZ2FyZ3N9IgotIAotLUZMQUdTX0ZPUl9UQVJHRVQ9Ci0rRkxBR1NfRk9SX1RBUkdFVD0iJEFSQ0hfRkxBR1NfRk9SX1RBUkdFVCIKLSBjYXNlICIgJHRhcmdldF9jb25maWdkaXJzICIgaW4KLSAgKiIgbmV3bGliICIqKQotICAgY2FzZSAiICR0YXJnZXRfY29uZmlnYXJncyAiIGluCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDAzLWdjYy1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAwMy1nY2MtcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDUxMzg5Ny4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDAzLWdjYy1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTk0ICswLDAgQEAKLUZyb20gNDhjNjcwZDI2NzhlMDMyM2Q4OGViNzIyMDVlMDM5ZjM5M2NhYmUwNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA4OjU5OjAwICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMDMvMzldIGdjYzogcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcwotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2Rpc3RyaWJ1dGlvbjogY29kZXNvdXJjZXJ5XQotLS0tCi0gZ2NjL2NvbW1vbi5vcHQgICAgICB8ICA0ICsrKysKLSBnY2MvY29uZmlnLmluICAgICAgIHwgIDYgKysrKysrCi0gZ2NjL2NvbmZpZ3VyZSAgICAgICB8IDE2ICsrKysrKysrKysrKysrKysKLSBnY2MvY29uZmlndXJlLmFjICAgIHwgMTAgKysrKysrKysrKwotIGdjYy9kb2MvaW52b2tlLnRleGkgfCAgOSArKysrKysrKysKLSBnY2MvZ2NjLmMgICAgICAgICAgIHwgIDIgKysKLSBnY2MvaW5jcGF0aC5jICAgICAgIHwgMTkgKysrKysrKysrKysrKysrKysrKwotIDcgZmlsZXMgY2hhbmdlZCwgNjYgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbW1vbi5vcHQgYi9nY2MvY29tbW9uLm9wdAotaW5kZXggZDZlZjg1OTI4ZjMuLjdiMjllZmUzODgyIDEwMDY0NAotLS0tIGEvZ2NjL2NvbW1vbi5vcHQKLSsrKyBiL2djYy9jb21tb24ub3B0Ci1AQCAtNjc5LDYgKzY3OSwxMCBAQCBXcmV0dXJuLWxvY2FsLWFkZHIKLSBDb21tb24gVmFyKHdhcm5fcmV0dXJuX2xvY2FsX2FkZHIpIEluaXQoMSkgV2FybmluZwotIFdhcm4gYWJvdXQgcmV0dXJuaW5nIGEgcG9pbnRlci9yZWZlcmVuY2UgdG8gYSBsb2NhbCBvciB0ZW1wb3JhcnkgdmFyaWFibGUuCi0gCi0rV3BvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMKLStDb21tb24gVmFyKGZsYWdfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcykgSW5pdCgxKSBXYXJuaW5nCi0rV2FybiBmb3IgLUkgYW5kIC1MIG9wdGlvbnMgdXNpbmcgc3lzdGVtIGRpcmVjdG9yaWVzIGlmIGNyb3NzIGNvbXBpbGluZwotKwotIFdzaGFkb3cKLSBDb21tb24gVmFyKHdhcm5fc2hhZG93KSBXYXJuaW5nCi0gV2FybiB3aGVuIG9uZSB2YXJpYWJsZSBzaGFkb3dzIGFub3RoZXIuICBTYW1lIGFzIC1Xc2hhZG93PWdsb2JhbC4KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnLmluIGIvZ2NjL2NvbmZpZy5pbgotaW5kZXggNWJjY2I0MDgwMTYuLjFjNzg0YTgyNzZiIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy5pbgotKysrIGIvZ2NjL2NvbmZpZy5pbgotQEAgLTE5NCw2ICsxOTQsMTIgQEAKLSAjZW5kaWYKLSAKLSAKLSsvKiBEZWZpbmUgdG8gd2FybiBmb3IgdXNlIG9mIG5hdGl2ZSBzeXN0ZW0gaGVhZGVyIGRpcmVjdG9yaWVzICovCi0rI2lmbmRlZiBVU0VEX0ZPUl9UQVJHRVQKLSsjdW5kZWYgRU5BQkxFX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVMKLSsjZW5kaWYKLSsKLSsKLSAvKiBEZWZpbmUgaWYgeW91IHdhbnQgYWxsIG9wZXJhdGlvbnMgb24gUlRMICh0aGUgYmFzaWMgZGF0YSBzdHJ1Y3R1cmUgb2YgdGhlCi0gICAgb3B0aW1pemVyIGFuZCBiYWNrIGVuZCkgdG8gYmUgY2hlY2tlZCBmb3IgZHluYW1pYyB0eXBlIHNhZmV0eSBhdCBydW50aW1lLgotICAgIFRoaXMgaXMgcXVpdGUgZXhwZW5zaXZlLiAqLwotZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUgYi9nY2MvY29uZmlndXJlCi1pbmRleCA1YzM0NWNlMGZkNy4uY2FmZDA1ZmQxNTAgMTAwNzU1Ci0tLS0gYS9nY2MvY29uZmlndXJlCi0rKysgYi9nY2MvY29uZmlndXJlCi1AQCAtOTUzLDYgKzk1Myw3IEBAIHdpdGhfc3lzdGVtX3psaWIKLSBlbmFibGVfbWFpbnRhaW5lcl9tb2RlCi0gZW5hYmxlX2xpbmtfbXV0ZXgKLSBlbmFibGVfdmVyc2lvbl9zcGVjaWZpY19ydW50aW1lX2xpYnMKLStlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcwotIGVuYWJsZV9wbHVnaW4KLSBlbmFibGVfaG9zdF9zaGFyZWQKLSBlbmFibGVfbGlicXVhZG1hdGhfc3VwcG9ydAotQEAgLTE2OTYsNiArMTY5Nyw4IEBAIE9wdGlvbmFsIEZlYXR1cmVzOgotICAgLS1lbmFibGUtdmVyc2lvbi1zcGVjaWZpYy1ydW50aW1lLWxpYnMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnkgdGhhdCBydW50aW1lIGxpYnJhcmllcyBzaG91bGQgYmUgaW5zdGFsbGVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBhIGNvbXBpbGVyLXNwZWNpZmljIGRpcmVjdG9yeQotKyAgLS1lbmFibGUtcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcwotKyAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybiBmb3IgdXNlIG9mIG5hdGl2ZSBzeXN0ZW0gaGVhZGVyIGRpcmVjdG9yaWVzCi0gICAtLWVuYWJsZS1wbHVnaW4gICAgICAgICBlbmFibGUgcGx1Z2luIHN1cHBvcnQKLSAgIC0tZW5hYmxlLWhvc3Qtc2hhcmVkICAgIGJ1aWxkIGhvc3QgY29kZSBhcyBzaGFyZWQgbGlicmFyaWVzCi0gICAtLWRpc2FibGUtbGlicXVhZG1hdGgtc3VwcG9ydAotQEAgLTI5NzE1LDYgKzI5NzE4LDE5IEBAIGlmIHRlc3QgIiR7ZW5hYmxlX3ZlcnNpb25fc3BlY2lmaWNfcnVudGltZV9saWJzK3NldH0iID0gc2V0OyB0aGVuIDoKLSBmaQotIAotIAotKyMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzIHdhcyBnaXZlbi4KLStpZiB0ZXN0ICIke2VuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzK3NldH0iID0gc2V0OyB0aGVuIDoKLSsgIGVuYWJsZXZhbD0kZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXM7Ci0rZWxzZQotKyAgZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXM9bm8KLStmaQotKwotK2lmIHRlc3QgIngke2VuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzfSIgPSAieHllcyI7IHRoZW4KLSsKLSskYXNfZWNobyAiI2RlZmluZSBFTkFCTEVfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUyAxIiA+PmNvbmZkZWZzLmgKLSsKLStmaQotKwotICMgU3Vic3RpdHV0ZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlcwotIAotIAotZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUuYWMgYi9nY2MvY29uZmlndXJlLmFjCi1pbmRleCA2NWRiZjFmMmY4MC4uZGQ1YjM4MTk1Y2UgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlndXJlLmFjCi0rKysgYi9nY2MvY29uZmlndXJlLmFjCi1AQCAtNjM0MSw2ICs2MzQxLDE2IEBAIEFDX0FSR19FTkFCTEUodmVyc2lvbi1zcGVjaWZpYy1ydW50aW1lLWxpYnMsCi0gICAgICAgICAgICAgICAgIFtzcGVjaWZ5IHRoYXQgcnVudGltZSBsaWJyYXJpZXMgc2hvdWxkIGJlCi0gICAgICAgICAgICAgICAgICBpbnN0YWxsZWQgaW4gYSBjb21waWxlci1zcGVjaWZpYyBkaXJlY3RvcnldKV0pCi0gCi0rQUNfQVJHX0VOQUJMRShbcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllc10sCi0rICAgICAgICAgICAgIEFTX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzXSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3dhcm4gZm9yIHVzZSBvZiBuYXRpdmUgc3lzdGVtIGhlYWRlciBkaXJlY3Rvcmllc10pLCwKLSsgICAgICAgICAgICAgW2VuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzPW5vXSkKLStpZiB0ZXN0ICJ4JHtlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3Rvcmllc30iID0gInh5ZXMiOyB0aGVuCi0rICBBQ19ERUZJTkUoW0VOQUJMRV9QT0lTT05fU1lTVEVNX0RJUkVDVE9SSUVTXSwKLSsgICAgICAgICAgIFsxXSwKLSsgICAgICAgICAgIFtEZWZpbmUgdG8gd2FybiBmb3IgdXNlIG9mIG5hdGl2ZSBzeXN0ZW0gaGVhZGVyIGRpcmVjdG9yaWVzXSkKLStmaQotKwotICMgU3Vic3RpdHV0ZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlcwotIEFDX1NVQlNUKHN1YmRpcnMpCi0gQUNfU1VCU1Qoc3JjZGlyKQotZGlmZiAtLWdpdCBhL2djYy9kb2MvaW52b2tlLnRleGkgYi9nY2MvZG9jL2ludm9rZS50ZXhpCi1pbmRleCAyNTUxNDlmY2ZiOC4uY2I3MWI2MGZlM2MgMTAwNjQ0Ci0tLS0gYS9nY2MvZG9jL2ludm9rZS50ZXhpCi0rKysgYi9nY2MvZG9jL2ludm9rZS50ZXhpCi1AQCAtMzAzLDYgKzMwMyw3IEBAIE9iamVjdGl2ZS1DIGFuZCBPYmplY3RpdmUtQysrIERpYWxlY3RzfS4KLSAtV3BhY2tlZCAgLVdwYWNrZWQtYml0ZmllbGQtY29tcGF0IC1XcGFja2VkLW5vdC1hbGlnbmVkIC1XcGFkZGVkIEBnb2wKLSAtV3BhcmVudGhlc2VzICAtV25vLXBlZGFudGljLW1zLWZvcm1hdCBAZ29sCi0gLVdwbGFjZW1lbnQtbmV3ICAtV3BsYWNlbWVudC1uZXc9QHZhcntufSBAZ29sCi0rLVduby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzIEBnb2wKLSAtV3BvaW50ZXItYXJpdGggIC1XcG9pbnRlci1jb21wYXJlICAtV25vLXBvaW50ZXItdG8taW50LWNhc3QgQGdvbAotIC1Xbm8tcHJhZ21hcyAgLVdyZWR1bmRhbnQtZGVjbHMgIC1XcmVzdHJpY3QgIC1Xbm8tcmV0dXJuLWxvY2FsLWFkZHIgQGdvbAotIC1XcmV0dXJuLXR5cGUgIC1Xc2VxdWVuY2UtcG9pbnQgIC1Xc2hhZG93ICAtV25vLXNoYWRvdy1pdmFyIEBnb2wKLUBAIC01NzEyLDYgKzU3MTMsMTQgQEAgbWFkZSB1cCBvZiBkYXRhIG9ubHkgYW5kIHRodXMgcmVxdWlyZXMgbm8gc3BlY2lhbCB0cmVhdG1lbnQuICBCdXQsIGZvcgotIG1vc3QgdGFyZ2V0cywgaXQgaXMgbWFkZSB1cCBvZiBjb2RlIGFuZCB0aHVzIHJlcXVpcmVzIHRoZSBzdGFjayB0byBiZQotIG1hZGUgZXhlY3V0YWJsZSBpbiBvcmRlciBmb3IgdGhlIHByb2dyYW0gdG8gd29yayBwcm9wZXJseS4KLSAKLStAaXRlbSAtV25vLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMKLStAb3BpbmRleCBXbm8tcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcwotK0RvIG5vdCB3YXJuIGZvciBAb3B0aW9uey1JfSBvciBAb3B0aW9uey1MfSBvcHRpb25zIHVzaW5nIHN5c3RlbQotK2RpcmVjdG9yaWVzIHN1Y2ggYXMgQGZpbGV7L3Vzci9pbmNsdWRlfSB3aGVuIGNyb3NzIGNvbXBpbGluZy4gIFRoaXMKLStvcHRpb24gaXMgaW50ZW5kZWQgZm9yIHVzZSBpbiBjaHJvb3QgZW52aXJvbm1lbnRzIHdoZW4gc3VjaAotK2RpcmVjdG9yaWVzIGNvbnRhaW4gdGhlIGNvcnJlY3QgaGVhZGVycyBhbmQgbGlicmFyaWVzIGZvciB0aGUgdGFyZ2V0Ci0rc3lzdGVtIHJhdGhlciB0aGFuIHRoZSBob3N0LgotKwotIEBpdGVtIC1XZmxvYXQtZXF1YWwKLSBAb3BpbmRleCBXZmxvYXQtZXF1YWwKLSBAb3BpbmRleCBXbm8tZmxvYXQtZXF1YWwKLWRpZmYgLS1naXQgYS9nY2MvZ2NjLmMgYi9nY2MvZ2NjLmMKLWluZGV4IGE3MTZmNzA4MjU5Li4wMmIzY2QzOWZjMiAxMDA2NDQKLS0tLSBhL2djYy9nY2MuYwotKysrIGIvZ2NjL2djYy5jCi1AQCAtMTAzNyw2ICsxMDM3LDggQEAgcHJvcGVyIHBvc2l0aW9uIGFtb25nIHRoZSBvdGhlciBvdXRwdXQgZmlsZXMuICAqLwotICAgICIle2Z1c2UtbGQ9KjotZnVzZS1sZD0lKn0gIiBMSU5LX0NPTVBSRVNTX0RFQlVHX1NQRUMgXAotICAgICIlWCAle28qfSAle2UqfSAle059ICV7bn0gJXtyfVwKLSAgICAgJXtzfSAle3R9ICV7dSp9ICV7en0gJXtafSAleyFub3N0ZGxpYjoleyFub3N0YXJ0ZmlsZXM6JVN9fSBcCi0rICAgICV7V25vLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXM6LS1uby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzfSBcCi0rICAgICV7V2Vycm9yPXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXM6LS1lcnJvci1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzfSBcCi0gICAgICV7c3RhdGljfG5vLXBpZXxzdGF0aWMtcGllOn0gJXtMKn0gJShtZndyYXApICUobGlua19saWJnY2MpICIgXAotICAgICBWVEFCTEVfVkVSSUZJQ0FUSU9OX1NQRUMgIiAiIFNBTklUSVpFUl9FQVJMWV9TUEVDICIgJW8gIiBDSEtQX1NQRUMgIiBcCi0gICAgICV7Zm9wZW5hY2N8Zm9wZW5tcHwlOmd0KCV7ZnRyZWUtcGFyYWxsZWxpemUtbG9vcHM9KjolKn0gMSk6XAotZGlmZiAtLWdpdCBhL2djYy9pbmNwYXRoLmMgYi9nY2MvaW5jcGF0aC5jCi1pbmRleCBiMTFjNmE1NzkzOS4uZTNiN2EyMTk2NmYgMTAwNjQ0Ci0tLS0gYS9nY2MvaW5jcGF0aC5jCi0rKysgYi9nY2MvaW5jcGF0aC5jCi1AQCAtMjYsNiArMjYsNyBAQAotICNpbmNsdWRlICJpbnRsLmgiCi0gI2luY2x1ZGUgImluY3BhdGguaCIKLSAjaW5jbHVkZSAiY3BwZGVmYXVsdC5oIgotKyNpbmNsdWRlICJkaWFnbm9zdGljLWNvcmUuaCIKLSAKLSAvKiBNaWNyb3NvZnQgV2luZG93cyBkb2VzIG5vdCBuYXRpdmVseSBzdXBwb3J0IGlub2Rlcy4KLSAgICBWTVMgaGFzIG5vbi1udW1lcmljIGlub2Rlcy4gICovCi1AQCAtMzkzLDYgKzM5NCwyNiBAQCBtZXJnZV9pbmNsdWRlX2NoYWlucyAoY29uc3QgY2hhciAqc3lzcm9vdCwgY3BwX3JlYWRlciAqcGZpbGUsIGludCB2ZXJib3NlKQotIAl9Ci0gICAgICAgZnByaW50ZiAoc3RkZXJyLCBfKCJFbmQgb2Ygc2VhcmNoIGxpc3QuXG4iKSk7Ci0gICAgIH0KLSsKLSsjaWZkZWYgRU5BQkxFX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVMKLSsgIGlmIChmbGFnX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMpCi0rICAgIHsKLSsgICAgICAgc3RydWN0IGNwcF9kaXIgKnA7Ci0rCi0rICAgICAgIGZvciAocCA9IGhlYWRzW0lOQ19RVU9URV07IHA7IHAgPSBwLT5uZXh0KQotKyAgICAgICAgIHsKLSsgICAgICAgICAgaWYgKCghc3RybmNtcCAocC0+bmFtZSwgIi91c3IvaW5jbHVkZSIsIDEyKSkKLSsgICAgICAgICAgICAgIHx8ICghc3RybmNtcCAocC0+bmFtZSwgIi91c3IvbG9jYWwvaW5jbHVkZSIsIDE4KSkKLSsgICAgICAgICAgICAgIHx8ICghc3RybmNtcCAocC0+bmFtZSwgIi91c3IvWDExUjYvaW5jbHVkZSIsIDE4KSkKLSsgICAgICAgICAgICAgIHx8ICghc3RybmNtcCAocC0+bmFtZSwgIi9zdy9pbmNsdWRlIiwgMTEpKQotKyAgICAgICAgICAgICAgfHwgKCFzdHJuY21wIChwLT5uYW1lLCAiL29wdC9pbmNsdWRlIiwgMTIpKSkKLSsgICAgICAgICAgICB3YXJuaW5nIChPUFRfV3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMsCi0rICAgICAgICAgICAgICAgICAgICAgImluY2x1ZGUgbG9jYXRpb24gXCIlc1wiIGlzIHVuc2FmZSBmb3IgIgotKyAgICAgICAgICAgICAgICAgICAgICJjcm9zcy1jb21waWxhdGlvbiIsCi0rICAgICAgICAgICAgICAgICAgICAgcC0+bmFtZSk7Ci0rICAgICAgICAgfQotKyAgICB9Ci0rI2VuZGlmCi0gfQotIAotIC8qIFVzZSBnaXZlbiAtSSBwYXRocyBmb3IgI2luY2x1ZGUgIi4uLiIgYnV0IG5vdCAjaW5jbHVkZSA8Li4uPiwgYW5kCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDA1LWdjYy00LjMuMy1TWVNST09UX0NGTEFHU19GT1JfVEFSR0VULnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAwNS1nY2MtNC4zLjMtU1lTUk9PVF9DRkxBR1NfRk9SX1RBUkdFVC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGIxYjk3Ni4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDA1LWdjYy00LjMuMy1TWVNST09UX0NGTEFHU19GT1JfVEFSR0VULnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzMgKzAsMCBAQAotRnJvbSBhZTNmZTZlNWU1MDkzN2RlNmU0MjIzY2E5MDgxMDE4NzM3MmE4Y2Y1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MDg6MzEgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAwNS8zOV0gZ2NjLTQuMy4zOiBTWVNST09UX0NGTEFHU19GT1JfVEFSR0VUCi0KLUJlZm9yZSBjb21taXR0aW5nLCBJIG5vdGljZWQgdGhhdCBQUi8zMjE2MSB3YXMgbWFya2VkIGFzIGEgZHVwIG9mIFBSLzMyMDA5LCBidXQgbXkgcHJldmlvdXMgcGF0Y2ggZGlkIG5vdCBmaXggaXQuCi0KLVRoaXMgYWx0ZXJuYXRpdmUgcGF0Y2ggaXMgYmV0dGVyIGJlY2F1c2UgaXQgbGV0cyB5b3UganVzdCB1c2UgQ0ZMQUdTX0ZPUl9UQVJHRVQgdG8gc2V0IHRoZSBjb21waWxhdGlvbiBmbGFncyBmb3IgbGliZ2NjLiBTaW5jZSBib290c3RyYXBwZWQgdGFyZ2V0IGxpYnJhcmllcyBhcmUgbmV2ZXIgY29tcGlsZWQgd2l0aCB0aGUgbmF0aXZlIGNvbXBpbGVyLCBpdCBtYWtlcyBsaXR0bGUgc2Vuc2UgdG8gdXNlIGRpZmZlcmVudCBmbGFncyBmb3Igc3RhZ2UxIGFuZCBsYXRlciBzdGFnZXMuIEFuZCBpdCBhbHNvIG1ha2VzIGxpdHRsZSBzZW5zZSB0byB1c2UgYSBkaWZmZXJlbnQgdmFyaWFibGUgdGhhbiBDRkxBR1NfRk9SX1RBUkdFVC4KLQotT3RoZXIgY2hhbmdlcyBJIGhhZCB0byBkbyBpbmNsdWRlOgotCi0tIG1vdmluZyB0aGUgY3JlYXRpb24gb2YgZGVmYXVsdCBDRkxBR1NfRk9SX1RBUkdFVCBmcm9tIE1ha2VmaWxlLmFtIHRvIGNvbmZpZ3VyZS5hYywgYmVjYXVzZSBvdGhlcndpc2UgdGhlIEJPT1RfQ0ZMQUdTIGFyZSBzdWJzdGl0dXRlZCBpbnRvIENGTEFHU19GT1JfVEFSR0VUICh3aGljaCBpcyAiLU8yIC1nICQoQ0ZMQUdTKSIpIHZpYSAkKENGTEFHUykuIEl0IGlzIGFsc28gY2xlYW5lciB0aGlzIHdheSB0aG91Z2guCi0KLS0gcGFzc2luZyB0aGUgcmlnaHQgQ0ZMQUdTIHRvIGNvbmZpZ3VyZSBzY3JpcHRzIGFzIGV4cG9ydGVkIGVudmlyb25tZW50IHZhcmlhYmxlcwotCi1JIGFsc28gc3RvcHBlZCBwYXNzaW5nIExJQkNGTEFHUyB0byBjb25maWd1cmUgc2NyaXB0cyBzaW5jZSB0aGV5IGFyZSB1bnVzZWQgaW4gdGhlIHdob2xlIHNyYyB0cmVlLiBBbmQgSSB1cGRhdGVkIHRoZSBkb2N1bWVudGF0aW9uIGFzIEgtUCByZW1pbmRlZCBtZSB0byBkby4KLQotQm9vdHN0cmFwcGVkL3JlZ3Rlc3RlZCBpNjg2LXBjLWxpbnV4LWdudSwgd2lsbCBjb21taXQgdG8gNC40IHNob3J0bHkuIE9rIGZvciA0LjM/Ci0KLVNpZ25lZC1vZmYtYnk6IFBhb2xvIEJvbnppbmkgIDxib256aW5pQGdudS5vcmc+Ci1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNvbmZpZ3VyZSB8IDMyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDMyIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQotaW5kZXggNTE3ZmI3MDE5MmUuLmFjZDJiOTdkZjQwIDEwMDc1NQotLS0tIGEvY29uZmlndXJlCi0rKysgYi9jb25maWd1cmUKLUBAIC02NzcyLDYgKzY3NzIsMzggQEAgZmkKLSAKLSAKLSAKLSsjIER1cmluZyBnY2MgYm9vdHN0cmFwLCBpZiB3ZSB1c2Ugc29tZSByYW5kb20gY2MgZm9yIHN0YWdlMSB0aGVuIENGTEFHUwotKyMgbWlnaHQgYmUgZW1wdHkgb3IgIi1nIi4gIFdlIGRvbid0IHJlcXVpcmUgYSBDKysgY29tcGlsZXIsIHNvIENYWEZMQUdTCi0rIyBtaWdodCBhbHNvIGJlIGVtcHR5IChvciAiLWciLCBpZiBhIG5vbi1HQ0MgQysrIGNvbXBpbGVyIGlzIGluIHRoZSBwYXRoKS4KLSsjIFdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgVEFSR0VUIGxpYnJhcmllcyAod2hpY2ggd2Uga25vdyBhcmUgYnVpbHQgd2l0aAotKyMgZ2NjKSBhcmUgYnVpbHQgd2l0aCAiLU8yIC1nIiwgc28gaW5jbHVkZSB0aG9zZSBvcHRpb25zIHdoZW4gc2V0dGluZwotKyMgQ0ZMQUdTX0ZPUl9UQVJHRVQgYW5kIENYWEZMQUdTX0ZPUl9UQVJHRVQuCi0raWYgdGVzdCAieCRDRkxBR1NfRk9SX1RBUkdFVCIgPSB4OyB0aGVuCi0rICBDRkxBR1NfRk9SX1RBUkdFVD0kQ0ZMQUdTCi0rICBjYXNlICIgJENGTEFHUyAiIGluCi0rICAgICoiIC1PMiAiKikgOzsKLSsgICAgKikgQ0ZMQUdTX0ZPUl9UQVJHRVQ9Ii1PMiAkQ0ZMQUdTIiA7OwotKyAgZXNhYwotKyAgY2FzZSAiICRDRkxBR1MgIiBpbgotKyAgICAqIiAtZyAiKiB8ICoiIC1nMyAiKikgOzsKLSsgICAgKikgQ0ZMQUdTX0ZPUl9UQVJHRVQ9Ii1nICRDRkxBR1MiIDs7Ci0rICBlc2FjCi0rZmkKLSsKLSsKLStpZiB0ZXN0ICJ4JENYWEZMQUdTX0ZPUl9UQVJHRVQiID0geDsgdGhlbgotKyAgQ1hYRkxBR1NfRk9SX1RBUkdFVD0kQ1hYRkxBR1MKLSsgIGNhc2UgIiAkQ1hYRkxBR1MgIiBpbgotKyAgICAqIiAtTzIgIiopIDs7Ci0rICAgICopIENYWEZMQUdTX0ZPUl9UQVJHRVQ9Ii1PMiAkQ1hYRkxBR1MiIDs7Ci0rICBlc2FjCi0rICBjYXNlICIgJENYWEZMQUdTICIgaW4KLSsgICAgKiIgLWcgIiogfCAqIiAtZzMgIiopIDs7Ci0rICAgICopIENYWEZMQUdTX0ZPUl9UQVJHRVQ9Ii1nICRDWFhGTEFHUyIgOzsKLSsgIGVzYWMKLStmaQotKwotKwotICMgSGFuZGxlIC0td2l0aC1oZWFkZXJzPVhYWC4gIElmIHRoZSB2YWx1ZSBpcyBub3QgInllcyIsIHRoZSBjb250ZW50cyBvZgotICMgdGhlIG5hbWVkIGRpcmVjdG9yeSBhcmUgY29waWVkIHRvICQodG9vbGRpcikvc3lzLWluY2x1ZGUuCi0gaWYgdGVzdCB4IiR7d2l0aF9oZWFkZXJzfSIgIT0geCAmJiB0ZXN0IHgiJHt3aXRoX2hlYWRlcnN9IiAhPSB4bm8gOyB0aGVuCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDA2LTY0LWJpdC1tdWx0aWxpYi1oYWNrLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAwNi02NC1iaXQtbXVsdGlsaWItaGFjay5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGRjZTk1Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDA2LTY0LWJpdC1tdWx0aWxpYi1oYWNrLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODUgKzAsMCBAQAotRnJvbSA4OWFmM2I3Mzk5MzEzYjMzN2YwNmMxOWNjMmQ3ODdhYTE2ZDI3NzExIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MTA6MDYgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAwNi8zOV0gNjQtYml0IG11bHRpbGliIGhhY2suCi0KLUdDQyBoYXMgaW50ZXJuYWwgbXVsdGlsaWIgaGFuZGxpbmcgY29kZSBidXQgaXQgYXNzdW1lcyBhIHZlcnkgc3BlY2lmaWMgcmlnaWQgZGlyZWN0b3J5Ci1sYXlvdXQuIFRoZSBidWlsZCBzeXN0ZW0gaW1wbGVtZW50YXRpb24gb2YgbXVsdGlsaWIgbGF5b3V0IGlzIHZlcnkgZ2VuZXJpYyBhbmQgYWxsb3dzCi1jb21wbGV0ZSBjdXN0b21pc2F0aW9uIG9mIHRoZSBsaWJyYXJ5IGRpcmVjdG9yaWVzLgotCi1UaGlzIHBhdGNoIGlzIGEgcGFydGlhbCBzb2x1dGlvbiB0byBhbGxvdyBhbnkgY3VzdG9tIGRpcmVjdG9yaWVzIHRvIGJlIHBhc3NlZCBpbnRvIGdjYwotYW5kIGhhbmRsZWQgY29ycmVjdGx5LiBJdCBmb3JjZXMgZ2NjIHRvIHVzZSB0aGUgYmFzZV9saWJkaXIgKHdoaWNoIGlzIHRoZSBjdXJyZW50Ci1kaXJlY3RvcnksICIuIikuIFdlIG5lZWQgdG8gZG8gdGhpcyBmb3IgZWFjaCBtdWx0aWxpYiB0aGF0IGlzIGNvbmZpZ3VyZWQgYXMgd2UgZG9uJ3QKLWtub3cgd2hpY2ggY29tcGlsZXIgb3B0aW9ucyBtYXkgYmUgYmVpbmcgcGFzc2VkIGludG8gdGhlIGNvbXBpbGVyLiBTaW5jZSB3ZSBoYXZlIGEgY29tcGlsZXIKLXBlciBtdWxpdGxpYiBhdCB0aGlzIHBvaW50IHRoYXQgaXNuJ3QgYW4gaXNzdWUuCi0KLVRoZSBvbmUgcHJvYmxlbSBpcyB0aGUgdGFyZ2V0IGNvbXBpbGVyIGlzIG9ubHkgZ29pbmcgdG8gd29yayBmb3IgdGhlIGRlZmF1bHQgbXVsdGxpbGliIGF0Ci10aGlzIHBvaW50LiBJZGVhbGx5IHdlJ2QgZmlndXJlIG91dCB3aGljaCBtdWx0aWxpYnMgd2VyZSBiZWluZyBlbmFibGVkIHdpdGggd2hpY2ggcGF0aHMKLWFuZCBiZSBhYmxlIHRvIHBhdGNoIHRoZXNlIGVudHJpZXMgd2l0aCBhIGNvbXBsZXRlIHNldCBvZiBjb3JyZWN0IHBhdGhzIGJ1dCB0aGlzIHdlCi1kb24ndCBoYXZlIHN1Y2ggY29kZSBhdCB0aGlzIHBvaW50LiBUaGlzIGlzIHNvbWV0aGluZyB0aGUgdGFyZ2V0IGdjYyByZWNpcGUgc2hvdWxkIGRvCi1hbmQgb3ZlcnJpZGUgdGhlc2UgcGxhdGZvcm0gZGVmYXVsdHMgaW4gaXRzIGJ1aWxkIGNvbmZpZy4KLQotUlAgMTUvOC8xMQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogRWx2aXMgRG93c29uIDxlbHZpcy5kb3dzb25AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGdjYy9jb25maWcvaTM4Ni90LWxpbnV4NjQgICB8ICA2ICsrLS0tLQotIGdjYy9jb25maWcvbWlwcy90LWxpbnV4NjQgICB8IDEwICsrKy0tLS0tLS0KLSBnY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4NjQgfCAgNSArKy0tLQotIDMgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni90LWxpbnV4NjQgYi9nY2MvY29uZmlnL2kzODYvdC1saW51eDY0Ci1pbmRleCA4ZWEwZmFmZjM2OS4uMjY2YzYwMDgwMDQgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL2kzODYvdC1saW51eDY0Ci0rKysgYi9nY2MvY29uZmlnL2kzODYvdC1saW51eDY0Ci1AQCAtMzIsNyArMzIsNSBAQAotICMKLSBjb21tYT0sCi0gTVVMVElMSUJfT1BUSU9OUyAgICA9ICQoc3Vic3QgJChjb21tYSksLywkKFRNX01VTFRJTElCX0NPTkZJRykpCi0tTVVMVElMSUJfRElSTkFNRVMgICA9ICQocGF0c3Vic3QgbSUsICUsICQoc3Vic3QgLywgLCQoTVVMVElMSUJfT1BUSU9OUykpKQotLU1VTFRJTElCX09TRElSTkFNRVMgPSBtNjQ9Li4vbGliNjQkKGNhbGwgaWZfbXVsdGlhcmNoLDp4ODZfNjQtbGludXgtZ251KQotLU1VTFRJTElCX09TRElSTkFNRVMrPSBtMzI9JChpZiAkKHdpbGRjYXJkICQoc2hlbGwgZWNobyAkKFNZU1RFTV9IRUFERVJfRElSKSkvLi4vLi4vdXNyL2xpYjMyKSwuLi9saWIzMiwuLi9saWIpJChjYWxsIGlmX211bHRpYXJjaCw6aTM4Ni1saW51eC1nbnUpCi0tTVVMVElMSUJfT1NESVJOQU1FUys9IG14MzI9Li4vbGlieDMyJChjYWxsIGlmX211bHRpYXJjaCw6eDg2XzY0LWxpbnV4LWdudXgzMikKLStNVUxUSUxJQl9ESVJOQU1FUyA9IC4gLgotK01VTFRJTElCX09TRElSTkFNRVMgPSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKQotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvbWlwcy90LWxpbnV4NjQgYi9nY2MvY29uZmlnL21pcHMvdC1saW51eDY0Ci1pbmRleCBjMDE3YjdkMDRjNS4uMTI2ODkyY2Y0MGIgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL21pcHMvdC1saW51eDY0Ci0rKysgYi9nY2MvY29uZmlnL21pcHMvdC1saW51eDY0Ci1AQCAtMTcsMTAgKzE3LDYgQEAKLSAjIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLSAKLSBNVUxUSUxJQl9PUFRJT05TID0gbWFiaT1uMzIvbWFiaT0zMi9tYWJpPTY0Ci0tTVVMVElMSUJfRElSTkFNRVMgPSBuMzIgMzIgNjQKLS1NSVBTX0VMID0gJChpZiAkKGZpbHRlciAlZWwsICQoZmlyc3R3b3JkICQoc3Vic3QgLSwgLCQodGFyZ2V0KSkpKSxlbCkKLS1NSVBTX1NPRlQgPSAkKGlmICQoc3RyaXAgJChmaWx0ZXIgTUFTS19TT0ZUX0ZMT0FUX0FCSSwgJCh0YXJnZXRfY3B1X2RlZmF1bHQpKSAkKGZpbHRlciBzb2Z0LCAkKHdpdGhfZmxvYXQpKSksc29mdCkKLS1NVUxUSUxJQl9PU0RJUk5BTUVTID0gXAotLQkuLi9saWIzMiQoY2FsbCBpZl9tdWx0aWFyY2gsOm1pcHM2NCQoTUlQU19FTCktbGludXgtZ251YWJpbjMyJChNSVBTX1NPRlQpKSBcCi0tCS4uL2xpYiQoY2FsbCBpZl9tdWx0aWFyY2gsOm1pcHMkKE1JUFNfRUwpLWxpbnV4LWdudSQoTUlQU19TT0ZUKSkgXAotLQkuLi9saWI2NCQoY2FsbCBpZl9tdWx0aWFyY2gsOm1pcHM2NCQoTUlQU19FTCktbGludXgtZ251YWJpNjQkKE1JUFNfU09GVCkpCi0rTVVMVElMSUJfRElSTkFNRVMgPSAuIC4gLgotK01VTFRJTElCX09TRElSTkFNRVMgPSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKQotKwotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcnM2MDAwL3QtbGludXg2NCBiL2djYy9jb25maWcvcnM2MDAwL3QtbGludXg2NAotaW5kZXggMGZhYTJhMDJkZjQuLjEzZmQ4Y2E5NzFlIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eDY0Ci0rKysgYi9nY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4NjQKLUBAIC0yNiwxMCArMjYsOSBAQAotICMgTVVMVElMSUJfT1NESVJOQU1FUyBhY2NvcmRpbmcgdG8gd2hhdCBpcyBmb3VuZCBvbiB0aGUgdGFyZ2V0LgotIAotIE1VTFRJTElCX09QVElPTlMgICAgOj0gbTY0L20zMgotLU1VTFRJTElCX0RJUk5BTUVTICAgOj0gNjQgMzIKLStNVUxUSUxJQl9ESVJOQU1FUyAgIDo9IC4gLgotIE1VTFRJTElCX0VYVFJBX09QVFMgOj0gCi0tTVVMVElMSUJfT1NESVJOQU1FUyA6PSBtNjQ9Li4vbGliNjQkKGNhbGwgaWZfbXVsdGlhcmNoLDpwb3dlcnBjNjQtbGludXgtZ251KQotLU1VTFRJTElCX09TRElSTkFNRVMgKz0gbTMyPSQoaWYgJCh3aWxkY2FyZCAkKHNoZWxsIGVjaG8gJChTWVNURU1fSEVBREVSX0RJUikpLy4uLy4uL3Vzci9saWIzMiksLi4vbGliMzIsLi4vbGliKSQoY2FsbCBpZl9tdWx0aWFyY2gsOnBvd2VycGMtbGludXgtZ251KQotK01VTFRJTElCX09TRElSTkFNRVMgOj0gLi4vJChzaGVsbCBiYXNlbmFtZSAkKGJhc2VfbGliZGlyKSkgLi4vJChzaGVsbCBiYXNlbmFtZSAkKGJhc2VfbGliZGlyKSkKLSAKLSByczYwMDAtbGludXgubzogJChzcmNkaXIpL2NvbmZpZy9yczYwMDAvcnM2MDAwLWxpbnV4LmMKLSAJJChDT01QSUxFKSAkPAotLS0gCi0yLjE3LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAwNy1vcHRpb25hbC1saWJzdGRjLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAwNy1vcHRpb25hbC1saWJzdGRjLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MjFlYTAzLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMDctb3B0aW9uYWwtbGlic3RkYy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEyNSArMCwwIEBACi1Gcm9tIGZiN2RmNjNlOTU0OGMyOWI3MDYwMWQ2NDJhMTg1MGZjNDU1Zjg1NjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToxMjo1NiArMDQwMAotU3ViamVjdDogW1BBVENIIDA3LzM5XSBvcHRpb25hbCBsaWJzdGRjCi0KLWdjYy1ydW50aW1lIGJ1aWxkcyBsaWJzdGRjKysgc2VwYXJhdGVseSBmcm9tIGdjYy1jcm9zcy0qLiBJdHMgY29uZmlndXJlIHRlc3RzIHVzaW5nIGcrKwotd2lsbCBub3QgcnVuIGNvcnJlY3RseSBzaW5jZSBieSBkZWZhdWx0IHRoZSBsaW5rZXIgd2lsbCB0cnkgdG8gbGluayBhZ2FpbnN0IGxpYnN0ZGMrKwotd2hpY2ggc2hvdWxkbid0IGV4aXN0IHlldC4gV2UgbmVlZCBhbiBvcHRpb24gdG8gZGlzYWJsZSAtbHN0ZGMrKwotb3B0aW9uIHdoaWxzdCBsZWF2aW5nIC1sYywgLWxnY2MgYW5kIG90aGVyIGF1dG9tYXRpYyBsaWJyYXJ5IGRlcGVuZGVuY2llcyBhZGRlZCBieSBnY2MKLWRyaXZlci4gVGhpcyBwYXRjaCBhZGRzIHN1Y2ggYW4gb3B0aW9uIHdoaWNoIG9ubHkgZGlzYWJsZXMgdGhlIC1sc3RkYysrLgotCi1BICJzdGFuZGFyZCIgZ2NjIGJ1aWxkIHVzZXMgeGdjYyBhbmQgaGVuY2UgYXZvaWRzIHRoaXMuIFdlIHNob3VsZCBhc2sgdXBzdHJlYW0gaG93IHRvCi1kbyB0aGlzIG9mZmljaWFsbHksIHRoZSBsaWtlbHkgYW5zd2VyIGlzIGRvbid0IGJ1aWxkIGxpYnN0ZGMrKyBzZXBhcmF0ZWx5LgotCi1SUCAyOS82LzEwCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0tLS0KLSBnY2MvYy1mYW1pbHkvYy5vcHQgIHwgIDQgKysrKwotIGdjYy9jcC9nKytzcGVjLmMgICAgfCAgMSArCi0gZ2NjL2RvYy9pbnZva2UudGV4aSB8IDMyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCi0gZ2NjL2djYy5jICAgICAgICAgICB8ICAxICsKLSA0IGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jLWZhbWlseS9jLm9wdCBiL2djYy9jLWZhbWlseS9jLm9wdAotaW5kZXggNTAxMzUwMWIyMzIuLjYzMTJmMmM4ZjkwIDEwMDY0NAotLS0tIGEvZ2NjL2MtZmFtaWx5L2Mub3B0Ci0rKysgYi9nY2MvYy1mYW1pbHkvYy5vcHQKLUBAIC0xOTAwLDYgKzE5MDAsMTAgQEAgbm9zdGRpbmMrKwotIEMrKyBPYmpDKysKLSBEbyBub3Qgc2VhcmNoIHN0YW5kYXJkIHN5c3RlbSBpbmNsdWRlIGRpcmVjdG9yaWVzIGZvciBDKysuCi0gCi0rbm9zdGRsaWIrKwotK0RyaXZlcgotK0RvIG5vdCBsaW5rIHN0YW5kYXJkIEMrKyBydW50aW1lIGxpYnJhcnkKLSsKLSBvCi0gQyBPYmpDIEMrKyBPYmpDKysgSm9pbmVkIFNlcGFyYXRlCi0gOyBEb2N1bWVudGVkIGluIGNvbW1vbi5vcHQKLWRpZmYgLS1naXQgYS9nY2MvY3AvZysrc3BlYy5jIGIvZ2NjL2NwL2crK3NwZWMuYwotaW5kZXggNDQzYTE3NDZkYTMuLmU5YjUxYmU2MmVmIDEwMDY0NAotLS0tIGEvZ2NjL2NwL2crK3NwZWMuYwotKysrIGIvZ2NjL2NwL2crK3NwZWMuYwotQEAgLTEzNyw2ICsxMzcsNyBAQCBsYW5nX3NwZWNpZmljX2RyaXZlciAoc3RydWN0IGNsX2RlY29kZWRfb3B0aW9uICoqaW5fZGVjb2RlZF9vcHRpb25zLAotICAgICAgIHN3aXRjaCAoZGVjb2RlZF9vcHRpb25zW2ldLm9wdF9pbmRleCkKLSAJewotIAljYXNlIE9QVF9ub3N0ZGxpYjoKLSsJY2FzZSBPUFRfbm9zdGRsaWJfXzoKLSAJY2FzZSBPUFRfbm9kZWZhdWx0bGliczoKLSAJICBsaWJyYXJ5ID0gLTE7Ci0gCSAgYnJlYWs7Ci1kaWZmIC0tZ2l0IGEvZ2NjL2RvYy9pbnZva2UudGV4aSBiL2djYy9kb2MvaW52b2tlLnRleGkKLWluZGV4IGNiNzFiNjBmZTNjLi5iMGQ0ODFlM2EzMCAxMDA2NDQKLS0tLSBhL2djYy9kb2MvaW52b2tlLnRleGkKLSsrKyBiL2djYy9kb2MvaW52b2tlLnRleGkKLUBAIC0yMTEsNiArMjExLDkgQEAgaW4gdGhlIGZvbGxvd2luZyBzZWN0aW9ucy4KLSAtZm5vLXdlYWsgIC1ub3N0ZGluYysrIEBnb2wKLSAtZnZpc2liaWxpdHktaW5saW5lcy1oaWRkZW4gQGdvbAotIC1mdmlzaWJpbGl0eS1tcy1jb21wYXQgQGdvbAotKy1mdnRhYmxlLXZlcmlmeT1AcntbfXN0ZEBye3x9cHJlaW5pdEBye3x9bm9uZUBye119IEBnb2wKLSstZnZ0di1jb3VudHMgLWZ2dHYtZGVidWcgQGdvbAotKy1ub3N0ZGxpYisrIEBnb2wKLSAtZmV4dC1udW1lcmljLWxpdGVyYWxzIEBnb2wKLSAtV2FiaT1AdmFye259ICAtV2FiaS10YWcgIC1XY29udmVyc2lvbi1udWxsICAtV2N0b3ItZHRvci1wcml2YWN5IEBnb2wKLSAtV2RlbGV0ZS1ub24tdmlydHVhbC1kdG9yICAtV2xpdGVyYWwtc3VmZml4ICAtV211bHRpcGxlLWluaGVyaXRhbmNlIEBnb2wKLUBAIC01MDksNyArNTEyLDcgQEAgT2JqZWN0aXZlLUMgYW5kIE9iamVjdGl2ZS1DKysgRGlhbGVjdHN9LgotIC1zICAtc3RhdGljIC1zdGF0aWMtcGllIC1zdGF0aWMtbGliZ2NjICAtc3RhdGljLWxpYnN0ZGMrKyBAZ29sCi0gLXN0YXRpYy1saWJhc2FuICAtc3RhdGljLWxpYnRzYW4gIC1zdGF0aWMtbGlibHNhbiAgLXN0YXRpYy1saWJ1YnNhbiBAZ29sCi0gLXN0YXRpYy1saWJtcHggIC1zdGF0aWMtbGlibXB4d3JhcHBlcnMgQGdvbAotLS1zaGFyZWQgIC1zaGFyZWQtbGliZ2NjICAtc3ltYm9saWMgQGdvbAotKy1zaGFyZWQgIC1zaGFyZWQtbGliZ2NjICAtc3ltYm9saWMgLW5vc3RkbGliKysgQGdvbAotIC1UIEB2YXJ7c2NyaXB0fSAgLVdsLEB2YXJ7b3B0aW9ufSAgLVhsaW5rZXIgQHZhcntvcHRpb259IEBnb2wKLSAtdSBAdmFye3N5bWJvbH0gIC16IEB2YXJ7a2V5d29yZH19Ci0gCi1AQCAtMTIzMzEsNiArMTIzMzQsMzMgQEAgbGlicmFyeSBzdWJyb3V0aW5lcy4KLSBjb25zdHJ1Y3RvcnMgYXJlIGNhbGxlZDsgQHB4cmVme0NvbGxlY3QyLCxAY29kZXtjb2xsZWN0Mn0sIGdjY2ludCwKLSBHTlUgQ29tcGlsZXIgQ29sbGVjdGlvbiAoR0NDKSBJbnRlcm5hbHN9LikKLSAKLStAaXRlbSAtbm9zdGRsaWIrKwotK0BvcGluZGV4IG5vc3RkbGliKysKLStEbyBub3QgdXNlIHRoZSBzdGFuZGFyZCBzeXN0ZW0gQysrIHJ1bnRpbWUgbGlicmFyaWVzIHdoZW4gbGlua2luZy4KLStPbmx5IHRoZSBsaWJyYXJpZXMgeW91IHNwZWNpZnkgd2lsbCBiZSBwYXNzZWQgdG8gdGhlIGxpbmtlci4KLSsKLStAY2luZGV4IEBvcHRpb257LWxnY2N9LCB1c2Ugd2l0aCBAb3B0aW9uey1ub3N0ZGxpYn0KLStAY2luZGV4IEBvcHRpb257LW5vc3RkbGlifSBhbmQgdW5yZXNvbHZlZCByZWZlcmVuY2VzCi0rQGNpbmRleCB1bnJlc29sdmVkIHJlZmVyZW5jZXMgYW5kIEBvcHRpb257LW5vc3RkbGlifQotK0BjaW5kZXggQG9wdGlvbnstbGdjY30sIHVzZSB3aXRoIEBvcHRpb257LW5vZGVmYXVsdGxpYnN9Ci0rQGNpbmRleCBAb3B0aW9uey1ub2RlZmF1bHRsaWJzfSBhbmQgdW5yZXNvbHZlZCByZWZlcmVuY2VzCi0rQGNpbmRleCB1bnJlc29sdmVkIHJlZmVyZW5jZXMgYW5kIEBvcHRpb257LW5vZGVmYXVsdGxpYnN9Ci0rT25lIG9mIHRoZSBzdGFuZGFyZCBsaWJyYXJpZXMgYnlwYXNzZWQgYnkgQG9wdGlvbnstbm9zdGRsaWJ9IGFuZAotK0BvcHRpb257LW5vZGVmYXVsdGxpYnN9IGlzIEBmaWxle2xpYmdjYy5hfSwgYSBsaWJyYXJ5IG9mIGludGVybmFsIHN1YnJvdXRpbmVzCi0rd2hpY2ggR0NDIHVzZXMgdG8gb3ZlcmNvbWUgc2hvcnRjb21pbmdzIG9mIHBhcnRpY3VsYXIgbWFjaGluZXMsIG9yIHNwZWNpYWwKLStuZWVkcyBmb3Igc29tZSBsYW5ndWFnZXMuCi0rKEB4cmVme0ludGVyZmFjZSwsSW50ZXJmYWNpbmcgdG8gR0NDIE91dHB1dCxnY2NpbnQsR05VIENvbXBpbGVyCi0rQ29sbGVjdGlvbiAoR0NDKSBJbnRlcm5hbHN9LAotK2ZvciBtb3JlIGRpc2N1c3Npb24gb2YgQGZpbGV7bGliZ2NjLmF9LikKLStJbiBtb3N0IGNhc2VzLCB5b3UgbmVlZCBAZmlsZXtsaWJnY2MuYX0gZXZlbiB3aGVuIHlvdSB3YW50IHRvIGF2b2lkCi0rb3RoZXIgc3RhbmRhcmQgbGlicmFyaWVzLiAgSW4gb3RoZXIgd29yZHMsIHdoZW4geW91IHNwZWNpZnkgQG9wdGlvbnstbm9zdGRsaWJ9Ci0rb3IgQG9wdGlvbnstbm9kZWZhdWx0bGlic30geW91IHNob3VsZCB1c3VhbGx5IHNwZWNpZnkgQG9wdGlvbnstbGdjY30gYXMgd2VsbC4KLStUaGlzIGVuc3VyZXMgdGhhdCB5b3UgaGF2ZSBubyB1bnJlc29sdmVkIHJlZmVyZW5jZXMgdG8gaW50ZXJuYWwgR0NDCi0rbGlicmFyeSBzdWJyb3V0aW5lcy4KLSsoQW4gZXhhbXBsZSBvZiBzdWNoIGFuIGludGVybmFsIHN1YnJvdXRpbmUgaXMgQGNvZGV7X19tYWlufSwgdXNlZCB0byBlbnN1cmUgQysrCi0rY29uc3RydWN0b3JzIGFyZSBjYWxsZWQ7IEBweHJlZntDb2xsZWN0MiwsQGNvZGV7Y29sbGVjdDJ9LCBnY2NpbnQsCi0rR05VIENvbXBpbGVyIENvbGxlY3Rpb24gKEdDQykgSW50ZXJuYWxzfS4pCi0rCi0gQGl0ZW0gLXBpZQotIEBvcGluZGV4IHBpZQotIFByb2R1Y2UgYSBkeW5hbWljYWxseSBsaW5rZWQgcG9zaXRpb24gaW5kZXBlbmRlbnQgZXhlY3V0YWJsZSBvbiB0YXJnZXRzCi1kaWZmIC0tZ2l0IGEvZ2NjL2djYy5jIGIvZ2NjL2djYy5jCi1pbmRleCAwMmIzY2QzOWZjMi4uOGNkMjdhNWRhZDUgMTAwNjQ0Ci0tLS0gYS9nY2MvZ2NjLmMKLSsrKyBiL2djYy9nY2MuYwotQEAgLTEwNDcsNiArMTA0Nyw3IEBAIHByb3BlciBwb3NpdGlvbiBhbW9uZyB0aGUgb3RoZXIgb3V0cHV0IGZpbGVzLiAgKi8KLSAgICAgJShtZmxpYikgIiBTVEFDS19TUExJVF9TUEVDICJcCi0gICAgICV7ZnByb2ZpbGUtYXJjc3xmcHJvZmlsZS1nZW5lcmF0ZSp8Y292ZXJhZ2U6LWxnY292fSAiIFNBTklUSVpFUl9TUEVDICIgXAotICAgICAleyFub3N0ZGxpYjoleyFub2RlZmF1bHRsaWJzOiUobGlua19zc3ApICUobGlua19nY2NfY19zZXF1ZW5jZSl9fVwKLSsgICAgJXshbm9zdGRsaWIrKzp9XAotICAgICAleyFub3N0ZGxpYjoleyFub3N0YXJ0ZmlsZXM6JUV9fSAle1QqfSAgXG4lKHBvc3RfbGluaykgfX19fX19IgotICNlbmRpZgotIAotLS0gCi0yLjE3LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAwOC1nY2MtZGlzYWJsZS1NQVNLX1JFTEFYX1BJQ19DQUxMUy1iaXQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDA4LWdjYy1kaXNhYmxlLU1BU0tfUkVMQVhfUElDX0NBTExTLWJpdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTc2YjdmNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDA4LWdjYy1kaXNhYmxlLU1BU0tfUkVMQVhfUElDX0NBTExTLWJpdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLUZyb20gMTFlYjk3ZWZjY2I5MGI4MzBjODRlZDA3N2EyNWIxYTE1YWQzMzM1YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjE0OjIwICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMDgvMzldIGdjYzogZGlzYWJsZSBNQVNLX1JFTEFYX1BJQ19DQUxMUyBiaXQKLQotVGhlIG5ldyBmZWF0dXJlIGFkZGVkIGFmdGVyIDQuMy4zCi0iaHR0cDovL3d3dy5wdWJicy5uZXQvMjAwOTA5L2djYy85NDA0OC1wYXRjaC1hZGQtc3VwcG9ydC1mb3Itcm1pcHNqYWxyLmh0bWwiCi13aWxsIGNhdXNlIGNjMXBsdXMgZWF0IHVwIGFsbCB0aGUgc3lzdGVtIG1lbW9yeSB3aGVuIGJ1aWxkIHdlYmtpdC1ndGsuCi1UaGUgZnVuY3Rpb24gbWlwc19nZXRfcGljX2NhbGxfc3ltYm9sIGtlZXBzIG9uIHJlY3Vyc2l2ZWx5IGNhbGxpbmcgaXRzZWxmLgotRGlzYWJsZSB0aGlzIGZlYXR1cmUgdG8gd2FsayBhc2lkZSB0aGUgYnVnLgotCi1TaWduZWQtb2ZmLWJ5OiBEb25neGlhbyBYdSA8ZG9uZ3hpYW8ueHVAaW50ZWwuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQotLS0tCi0gZ2NjL2NvbmZpZ3VyZSAgICB8IDcgLS0tLS0tLQotIGdjYy9jb25maWd1cmUuYWMgfCA3IC0tLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDE0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZSBiL2djYy9jb25maWd1cmUKLWluZGV4IGNhZmQwNWZkMTUwLi4xOWJhMDUxZDY3MyAxMDA3NTUKLS0tLSBhL2djYy9jb25maWd1cmUKLSsrKyBiL2djYy9jb25maWd1cmUKLUBAIC0yNzU1MywxMyArMjc1NTMsNiBAQCAkYXNfZWNob19uICJjaGVja2luZyBhc3NlbWJsZXIgYW5kIGxpbmtlciBmb3IgZXhwbGljaXQgSkFMUiByZWxvY2F0aW9uLi4uICIgPiY2OwotICAgICAgICAgcm0gLWYgY29uZnRlc3QuKgotICAgICAgIGZpCi0gICAgIGZpCi0tICAgIGlmIHRlc3QgJGdjY19jdl9hc19sZF9qYWxyX3JlbG9jID0geWVzOyB0aGVuCi0tICAgICAgaWYgdGVzdCB4JHRhcmdldF9jcHVfZGVmYXVsdCA9IHg7IHRoZW4KLS0gICAgICAgIHRhcmdldF9jcHVfZGVmYXVsdD1NQVNLX1JFTEFYX1BJQ19DQUxMUwotLSAgICAgIGVsc2UKLS0gICAgICAgIHRhcmdldF9jcHVfZGVmYXVsdD0iKCR0YXJnZXRfY3B1X2RlZmF1bHQpfE1BU0tfUkVMQVhfUElDX0NBTExTIgotLSAgICAgIGZpCi0tICAgIGZpCi0gICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkZ2NjX2N2X2FzX2xkX2phbHJfcmVsb2MiID4mNQotICRhc19lY2hvICIkZ2NjX2N2X2FzX2xkX2phbHJfcmVsb2MiID4mNjsgfQotIAotZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUuYWMgYi9nY2MvY29uZmlndXJlLmFjCi1pbmRleCBkZDViMzgxOTVjZS4uMDY2ZGZlMTliYjYgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlndXJlLmFjCi0rKysgYi9nY2MvY29uZmlndXJlLmFjCi1AQCAtNDc5OCwxMyArNDc5OCw2IEBAIHg6Ci0gICAgICAgICBybSAtZiBjb25mdGVzdC4qCi0gICAgICAgZmkKLSAgICAgZmkKLS0gICAgaWYgdGVzdCAkZ2NjX2N2X2FzX2xkX2phbHJfcmVsb2MgPSB5ZXM7IHRoZW4KLS0gICAgICBpZiB0ZXN0IHgkdGFyZ2V0X2NwdV9kZWZhdWx0ID0geDsgdGhlbgotLSAgICAgICAgdGFyZ2V0X2NwdV9kZWZhdWx0PU1BU0tfUkVMQVhfUElDX0NBTExTCi0tICAgICAgZWxzZQotLSAgICAgICAgdGFyZ2V0X2NwdV9kZWZhdWx0PSIoJHRhcmdldF9jcHVfZGVmYXVsdCl8TUFTS19SRUxBWF9QSUNfQ0FMTFMiCi0tICAgICAgZmkKLS0gICAgZmkKLSAgICAgQUNfTVNHX1JFU1VMVCgkZ2NjX2N2X2FzX2xkX2phbHJfcmVsb2MpCi0gCi0gICAgIEFDX0NBQ0hFX0NIRUNLKFtsaW5rZXIgZm9yIC5laF9mcmFtZSBwZXJzb25hbGl0eSByZWxheGF0aW9uXSwKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMDktQ09MTEVDVF9HQ0NfT1BUSU9OUy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMDktQ09MTEVDVF9HQ0NfT1BUSU9OUy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2FiZWNlMC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDA5LUNPTExFQ1RfR0NDX09QVElPTlMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi1Gcm9tIGUxOWQyNTg0N2YwOGVlYjVlZjI2YTAzMWZhNWVmZjczMmJmZDBkNDMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToxNjoyOCArMDQwMAotU3ViamVjdDogW1BBVENIIDA5LzM5XSBDT0xMRUNUX0dDQ19PUFRJT05TCi0KLVRoaXMgcGF0Y2ggYWRkcyAtLXN5c3Jvb3QgaW50byBDT0xMRUNUX0dDQ19PUFRJT05TIHdoaWNoIGlzIHVzZWQgdG8KLWludm9rZSBjb2xsZWN0Mi4KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBnY2MvZ2NjLmMgfCA5ICsrKysrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2djYy9nY2MuYyBiL2djYy9nY2MuYwotaW5kZXggOGNkMjdhNWRhZDUuLmQzNTVkNjU1ODNhIDEwMDY0NAotLS0tIGEvZ2NjL2djYy5jCi0rKysgYi9nY2MvZ2NjLmMKLUBAIC00Njc3LDYgKzQ2NzcsMTUgQEAgc2V0X2NvbGxlY3RfZ2NjX29wdGlvbnMgKHZvaWQpCi0gCQlzaXplb2YgKCJDT0xMRUNUX0dDQ19PUFRJT05TPSIpIC0gMSk7Ci0gCi0gICBmaXJzdF90aW1lID0gVFJVRTsKLSsjaWZkZWYgSEFWRV9MRF9TWVNST09UCi0rICBpZiAodGFyZ2V0X3N5c3RlbV9yb290X2NoYW5nZWQgJiYgdGFyZ2V0X3N5c3RlbV9yb290KQotKyAgICB7Ci0rICAgICAgb2JzdGFja19ncm93ICgmY29sbGVjdF9vYnN0YWNrLCAiJy0tc3lzcm9vdD0iLCBzaXplb2YoIictLXN5c3Jvb3Q9IiktMSk7Ci0rICAgICAgb2JzdGFja19ncm93ICgmY29sbGVjdF9vYnN0YWNrLCB0YXJnZXRfc3lzdGVtX3Jvb3Qsc3RybGVuKHRhcmdldF9zeXN0ZW1fcm9vdCkpOwotKyAgICAgIG9ic3RhY2tfZ3JvdyAoJmNvbGxlY3Rfb2JzdGFjaywgIiciLCAxKTsKLSsgICAgICBmaXJzdF90aW1lID0gRkFMU0U7Ci0rICAgIH0KLSsjZW5kaWYKLSAgIGZvciAoaSA9IDA7IChpbnQpIGkgPCBuX3N3aXRjaGVzOyBpKyspCi0gICAgIHsKLSAgICAgICBjb25zdCBjaGFyICpjb25zdCAqYXJnczsKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTAtVXNlLXRoZS1kZWZhdWx0cy5oLWluLUItaW5zdGVhZC1vZi1TLWFuZC10LW9lLWluLUIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDEwLVVzZS10aGUtZGVmYXVsdHMuaC1pbi1CLWluc3RlYWQtb2YtUy1hbmQtdC1vZS1pbi1CLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1Nzg1YjU4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTAtVXNlLXRoZS1kZWZhdWx0cy5oLWluLUItaW5zdGVhZC1vZi1TLWFuZC10LW9lLWluLUIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5NiArMCwwIEBACi1Gcm9tIDI2NWNiODgzYzMxMGYzYmI3ZTQ5ZmQxM2I4MTM2MjQ3NmZiZWI2YzEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToxNzoyNSArMDQwMAotU3ViamVjdDogW1BBVENIIDEwLzM5XSBVc2UgdGhlIGRlZmF1bHRzLmggaW4gJHtCfSBpbnN0ZWFkIG9mICR7U30sIGFuZCB0LW9lIGluCi0gJHtCfQotCi1Vc2UgdGhlIGRlZmF1bHRzLmggaW4gJHtCfSBpbnN0ZWFkIG9mICR7U30sIGFuZCB0LW9lIGluICR7Qn0sIHNvIHRoYXQKLXRoZSBzb3VyY2UgY2FuIGJlIHNoYXJlZCBiZXR3ZWVuIGdjYy1jcm9zcy1pbml0aWFsLAotZ2NjLWNyb3NzLWludGVybWVkaWF0ZSwgZ2NjLWNyb3NzLCBnY2MtcnVudGltZSwgYW5kIGFsc28gdGhlIHNkayBidWlsZC4KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVdoaWxlIGNvbXBpbGluZyBnY2MtY3Jvc3NzZGstaW5pdGlhbC14ODZfNjQgb24gc29tZSBob3N0LCB0aGVyZSBpcwotb2NjYXNpb25hbGx5IGZhaWx1cmUgdGhhdCB0ZXN0IHRoZSBleGlzdGFuY2Ugb2YgZGVmYXVsdC5oIGRvZXNuJ3QKLXdvcmssIHRoZSByZWFzb24gaXMgdG1faW5jbHVkZV9saXN0PScqKiBkZWZhdWx0cy5oJyByYXRoZXIgdGhhbgotdG1faW5jbHVkZV9saXN0PScqKiAuL2RlZmF1bHRzLmgnCi0KLVNvIHdlIGFkZCB0aGUgdGVzdCBjb25kaXRpb24gZm9yIHRoaXMgc2l0dWF0aW9uLgotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gZ2NjL01ha2VmaWxlLmluICB8IDIgKy0KLSBnY2MvY29uZmlndXJlICAgIHwgNCArKy0tCi0gZ2NjL2NvbmZpZ3VyZS5hYyB8IDQgKystLQotIGdjYy9ta2NvbmZpZy5zaCAgfCA0ICsrLS0KLSA0IGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9NYWtlZmlsZS5pbiBiL2djYy9NYWtlZmlsZS5pbgotaW5kZXggMjBiZWUwNDk0YjEuLjEzNjcxMzZiZmFjIDEwMDY0NAotLS0tIGEvZ2NjL01ha2VmaWxlLmluCi0rKysgYi9nY2MvTWFrZWZpbGUuaW4KLUBAIC01MzgsNyArNTM4LDcgQEAgVEFSR0VUX1NZU1RFTV9ST09UID0gQFRBUkdFVF9TWVNURU1fUk9PVEAKLSBUQVJHRVRfU1lTVEVNX1JPT1RfREVGSU5FID0gQFRBUkdFVF9TWVNURU1fUk9PVF9ERUZJTkVACi0gCi0geG1ha2VfZmlsZT1AeG1ha2VfZmlsZUAKLS10bWFrZV9maWxlPUB0bWFrZV9maWxlQAotK3RtYWtlX2ZpbGU9QHRtYWtlX2ZpbGVAIC4vdC1vZQotIFRNX0VORElBTl9DT05GSUc9QFRNX0VORElBTl9DT05GSUdACi0gVE1fTVVMVElMSUJfQ09ORklHPUBUTV9NVUxUSUxJQl9DT05GSUdACi0gVE1fTVVMVElMSUJfRVhDRVBUSU9OU19DT05GSUc9QFRNX01VTFRJTElCX0VYQ0VQVElPTlNfQ09ORklHQAotZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUgYi9nY2MvY29uZmlndXJlCi1pbmRleCAxOWJhMDUxZDY3My4uYTU3NTgzOWMxYjIgMTAwNzU1Ci0tLS0gYS9nY2MvY29uZmlndXJlCi0rKysgYi9nY2MvY29uZmlndXJlCi1AQCAtMTIxNTgsOCArMTIxNTgsOCBAQCBmb3IgZiBpbiAkdG1fZmlsZTsgZG8KLSAgICAgICAgdG1faW5jbHVkZV9saXN0PSIke3RtX2luY2x1ZGVfbGlzdH0gJGYiCi0gICAgICAgIDs7Ci0gICAgIGRlZmF1bHRzLmggKQotLSAgICAgICB0bV9maWxlX2xpc3Q9IiR7dG1fZmlsZV9saXN0fSBcJChzcmNkaXIpLyRmIgotLSAgICAgICB0bV9pbmNsdWRlX2xpc3Q9IiR7dG1faW5jbHVkZV9saXN0fSAkZiIKLSsgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gLi8kZiIKLSsgICAgICAgdG1faW5jbHVkZV9saXN0PSIke3RtX2luY2x1ZGVfbGlzdH0gLi8kZiIKLSAgICAgICAgOzsKLSAgICAgKiApCi0gICAgICAgIHRtX2ZpbGVfbGlzdD0iJHt0bV9maWxlX2xpc3R9IFwkKHNyY2RpcikvY29uZmlnLyRmIgotZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUuYWMgYi9nY2MvY29uZmlndXJlLmFjCi1pbmRleCAwNjZkZmUxOWJiNi4uNjc2MTE2YTZkOTYgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlndXJlLmFjCi0rKysgYi9nY2MvY29uZmlndXJlLmFjCi1AQCAtMTkyMiw4ICsxOTIyLDggQEAgZm9yIGYgaW4gJHRtX2ZpbGU7IGRvCi0gICAgICAgIHRtX2luY2x1ZGVfbGlzdD0iJHt0bV9pbmNsdWRlX2xpc3R9ICRmIgotICAgICAgICA7OwotICAgICBkZWZhdWx0cy5oICkKLS0gICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gXCQoc3JjZGlyKS8kZiIKLS0gICAgICAgdG1faW5jbHVkZV9saXN0PSIke3RtX2luY2x1ZGVfbGlzdH0gJGYiCi0rICAgICAgIHRtX2ZpbGVfbGlzdD0iJHt0bV9maWxlX2xpc3R9IC4vJGYiCi0rICAgICAgIHRtX2luY2x1ZGVfbGlzdD0iJHt0bV9pbmNsdWRlX2xpc3R9IC4vJGYiCi0gICAgICAgIDs7Ci0gICAgICogKQotICAgICAgICB0bV9maWxlX2xpc3Q9IiR7dG1fZmlsZV9saXN0fSBcJChzcmNkaXIpL2NvbmZpZy8kZiIKLWRpZmYgLS1naXQgYS9nY2MvbWtjb25maWcuc2ggYi9nY2MvbWtjb25maWcuc2gKLWluZGV4IDBmNzVjODYzYzBiLi42OGQ4ZDY2MTNjZiAxMDA2NDQKLS0tLSBhL2djYy9ta2NvbmZpZy5zaAotKysrIGIvZ2NjL21rY29uZmlnLnNoCi1AQCAtNzcsNyArNzcsNyBAQCBpZiBbIC1uICIkSEVBREVSUyIgXTsgdGhlbgotICAgICBpZiBbICQjIC1nZSAxIF07IHRoZW4KLSAJZWNobyAnI2lmZGVmIElOX0dDQycgPj4gJHtvdXRwdXR9VAotIAlmb3IgZmlsZSBpbiAiJEAiOyBkbwotLQkgICAgaWYgdGVzdCB4IiRmaWxlIiA9IHgiZGVmYXVsdHMuaCI7IHRoZW4KLSsJICAgIGlmIHRlc3QgeCIkZmlsZSIgPSB4Ii4vZGVmYXVsdHMuaCIgLW8geCIkZmlsZSIgPSB4ImRlZmF1bHRzLmgiOyB0aGVuCi0gCQlwb3N0cG9uZV9kZWZhdWx0c19oPSJ5ZXMiCi0gCSAgICBlbHNlCi0gCQllY2hvICIjIGluY2x1ZGUgXCIkZmlsZVwiIiA+PiAke291dHB1dH1UCi1AQCAtMTA2LDcgKzEwNiw3IEBAIGVzYWMKLSAKLSAjIElmIHdlIHBvc3Rwb25lZCBpbmNsdWRpbmcgZGVmYXVsdHMuaCwgYWRkIHRoZSAjaW5jbHVkZSBub3cuCi0gaWYgdGVzdCB4IiRwb3N0cG9uZV9kZWZhdWx0c19oIiA9IHgieWVzIjsgdGhlbgotLSAgICBlY2hvICIjIGluY2x1ZGUgXCJkZWZhdWx0cy5oXCIiID4+ICR7b3V0cHV0fVQKLSsgICAgZWNobyAiIyBpbmNsdWRlIFwiLi9kZWZhdWx0cy5oXCIiID4+ICR7b3V0cHV0fVQKLSBmaQotIAotICMgQWRkIG11bHRpcGxlIGluY2x1c2lvbiBwcm90ZWN0aW9uIGd1YXJkLCBwYXJ0IHR3by4KLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTEtZm9ydHJhbi1jcm9zcy1jb21waWxlLWhhY2sucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDExLWZvcnRyYW4tY3Jvc3MtY29tcGlsZS1oYWNrLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZTBmYjdkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTEtZm9ydHJhbi1jcm9zcy1jb21waWxlLWhhY2sucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBACi1Gcm9tIDcxY2JhMTg4ZDQ3YjZhZTlkOWI4NzI2MWViNGJjOWViNjhhZTM1NWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToyMDowMSArMDQwMAotU3ViamVjdDogW1BBVENIIDExLzM5XSBmb3J0cmFuIGNyb3NzLWNvbXBpbGUgaGFjay4KLQotKiBGb3J0cmFuIHdvdWxkIGhhdmUgc2VhcmNoZWQgZm9yIGFybS1hbmdzdHJvbS1nbnVlYWJpLWdmb3J0cmFuIGJ1dCB3b3VsZCBoYXZlIHVzZWQKLXVzZWQgZ2ZvcnRhbi4gRm9yIGdjY180LjIuMi5iYiB3ZSB3YW50IHRvIHVzZSB0aGUgZ2ZvcnRyYW4gY29tcGlsZXIgZnJvbSBvdXIgY3Jvc3MKLWRpcmVjdG9yeS4KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLS0tLQotIGxpYmdmb3J0cmFuL2NvbmZpZ3VyZSAgICB8IDIgKy0KLSBsaWJnZm9ydHJhbi9jb25maWd1cmUuYWMgfCAyICstCi0gMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJnZm9ydHJhbi9jb25maWd1cmUgYi9saWJnZm9ydHJhbi9jb25maWd1cmUKLWluZGV4IDkxZmNlOGZlY2QwLi42NzQ3Zjg2ZWI5OCAxMDA3NTUKLS0tLSBhL2xpYmdmb3J0cmFuL2NvbmZpZ3VyZQotKysrIGIvbGliZ2ZvcnRyYW4vY29uZmlndXJlCi1AQCAtMTI4ODMsNyArMTI4ODMsNyBAQCBlc2FjCi0gCi0gIyBXZSBuZWVkIGdmb3J0cmFuIHRvIGNvbXBpbGUgcGFydHMgb2YgdGhlIGxpYnJhcnkKLSAjQUNfUFJPR19GQyhnZm9ydHJhbikKLS1GQz0iJEdGT1JUUkFOIgotKyNGQz0iJEdGT1JUUkFOIgotIGFjX2V4dD0ke2FjX2ZjX3NyY2V4dC1mfQotIGFjX2NvbXBpbGU9JyRGQyAtYyAkRkNGTEFHUyAkYWNfZmNmbGFnc19zcmNleHQgY29uZnRlc3QuJGFjX2V4dCA+JjUnCi0gYWNfbGluaz0nJEZDIC1vIGNvbmZ0ZXN0JGFjX2V4ZWV4dCAkRkNGTEFHUyAkTERGTEFHUyAkYWNfZmNmbGFnc19zcmNleHQgY29uZnRlc3QuJGFjX2V4dCAkTElCUyA+JjUnCi1kaWZmIC0tZ2l0IGEvbGliZ2ZvcnRyYW4vY29uZmlndXJlLmFjIGIvbGliZ2ZvcnRyYW4vY29uZmlndXJlLmFjCi1pbmRleCBiZjZkMzYzNGRkYS4uOWRiZTQzY2M2MTYgMTAwNjQ0Ci0tLS0gYS9saWJnZm9ydHJhbi9jb25maWd1cmUuYWMKLSsrKyBiL2xpYmdmb3J0cmFuL2NvbmZpZ3VyZS5hYwotQEAgLTI1MCw3ICsyNTAsNyBAQCBBQ19TVUJTVChlbmFibGVfc3RhdGljKQotIAotICMgV2UgbmVlZCBnZm9ydHJhbiB0byBjb21waWxlIHBhcnRzIG9mIHRoZSBsaWJyYXJ5Ci0gI0FDX1BST0dfRkMoZ2ZvcnRyYW4pCi0tRkM9IiRHRk9SVFJBTiIKLSsjRkM9IiRHRk9SVFJBTiIKLSBBQ19QUk9HX0ZDKGdmb3J0cmFuKQotIAotICMgZXh0cmEgTEQgRmxhZ3Mgd2hpY2ggYXJlIHJlcXVpcmVkIGZvciB0YXJnZXRzCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDEyLWNwcC1ob25vci1zeXNyb290LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAxMi1jcHAtaG9ub3Itc3lzcm9vdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTYxZjk2Zi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDEyLWNwcC1ob25vci1zeXNyb290LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotRnJvbSBiM2U4ZTdlOGFlMTA2ZTMyMDdlOWVkYzNkMjNkY2NlMTQ2NGI3NTVmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MjI6MDAgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAxMi8zOV0gY3BwOiBob25vciBzeXNyb290LgotCi1DdXJyZW50bHksIGlmIHRoZSBnY2MgdG9vbGNoYWluIGlzIHJlbG9jYXRlZCBhbmQgaW5zdGFsbGVkIGZyb20gc3N0YXRlLCB0aGVuIHlvdSB0cnkgYW5kIGNvbXBpbGUKLXByZXByb2Nlc3NlZCBzb3VyY2UgKC5pIG9yIC5paSBmaWxlcyksIHRoZSBjb21waWxlciB3aWxsIHRyeSBhbmQgYWNjZXNzIHRoZSBidWlsdGluIHN5c3Jvb3QgbG9jYXRpb24KLXJhdGhlciB0aGFuIHRoZSAtLXN5c3Jvb3Qgb3B0aW9uIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZGxpbmUuIElmIGFjY2VzcyB0byB0aGF0IGRpcmVjdG9yeSBpcwotcGVybWlzc2lvbiBkZW5pZWQgKHVucmVhZGFibGUpLCBnY2Mgd2lsbCBlcnJvci4KLQotVGhpcyBoYXBwZW5zIHdoZW4gY2NhY2hlIGlzIGluIHVzZSBkdWUgdG8gdGhlIGZhY3QgaXQgdXNlcyBwcmVwcm9jZXNzZWQgc291cmNlIGZpbGVzLgotCi1UaGUgZml4IGJlbG93IGFkZHMgJUkgdG8gdGhlIGNwcC1vdXRwdXQgc3BlYyBtYWNybyBzbyB0aGUgZGVmYXVsdCBzdWJzdGl0dXRpb25zIGZvciAtaXByZWZpeCwKLS1pc3lzdGVtLCAtaXN5c3Jvb3QgaGFwcGVuIGFuZCB0aGUgY29ycmVjdCBzeXNyb290IGlzIHVzZWQuCi0KLVtZT0NUTyAjMjA3NF0KLQotUlAgMjAxMi8wNC8xMwotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGdjYy9jcC9sYW5nLXNwZWNzLmggfCAyICstCi0gZ2NjL2djYy5jICAgICAgICAgICB8IDIgKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jcC9sYW5nLXNwZWNzLmggYi9nY2MvY3AvbGFuZy1zcGVjcy5oCi1pbmRleCBmMDgwMmI4OTE1Yy4uZjMyNGQyOTk4NDkgMTAwNjQ0Ci0tLS0gYS9nY2MvY3AvbGFuZy1zcGVjcy5oCi0rKysgYi9nY2MvY3AvbGFuZy1zcGVjcy5oCi1AQCAtNjQsNSArNjQsNSBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQotICAgeyIuaWkiLCAiQGMrKy1jcHAtb3V0cHV0IiwgMCwgMCwgMH0sCi0gICB7IkBjKystY3BwLW91dHB1dCIsCi0gICAgIiV7IU06JXshTU06JXshRTpcCi0tICAgIGNjMXBsdXMgLWZwcmVwcm9jZXNzZWQgJWkgJShjYzFfb3B0aW9ucykgJTJcCi0rICAgIGNjMXBsdXMgLWZwcmVwcm9jZXNzZWQgJWkgJUkgJShjYzFfb3B0aW9ucykgJTJcCi0gICAgICV7IWZzeW50YXgtb25seTolKGludm9rZV9hcyl9fX19IiwgMCwgMCwgMH0sCi1kaWZmIC0tZ2l0IGEvZ2NjL2djYy5jIGIvZ2NjL2djYy5jCi1pbmRleCBkMzU1ZDY1NTgzYS4uNTcwY2RjMDAwMzQgMTAwNjQ0Ci0tLS0gYS9nY2MvZ2NjLmMKLSsrKyBiL2djYy9nY2MuYwotQEAgLTEzNDMsNyArMTM0Myw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgY29tcGlsZXIgZGVmYXVsdF9jb21waWxlcnNbXSA9Ci0gCQkJCQkgICAlV3tvKjotLW91dHB1dC1wY2g9JSp9fSVWfX19fX19fSIsIDAsIDAsIDB9LAotICAgeyIuaSIsICJAY3BwLW91dHB1dCIsIDAsIDAsIDB9LAotICAgeyJAY3BwLW91dHB1dCIsCi0tICAgIiV7IU06JXshTU06JXshRTpjYzEgLWZwcmVwcm9jZXNzZWQgJWkgJShjYzFfb3B0aW9ucykgJXshZnN5bnRheC1vbmx5OiUoaW52b2tlX2FzKX19fX0iLCAwLCAwLCAwfSwKLSsgICAiJXshTToleyFNTToleyFFOmNjMSAtZnByZXByb2Nlc3NlZCAlaSAlSSAlKGNjMV9vcHRpb25zKSAleyFmc3ludGF4LW9ubHk6JShpbnZva2VfYXMpfX19fSIsIDAsIDAsIDB9LAotICAgeyIucyIsICJAYXNzZW1ibGVyIiwgMCwgMCwgMH0sCi0gICB7IkBhc3NlbWJsZXIiLAotICAgICIleyFNOiV7IU1NOiV7IUU6JXshUzphcyAlKGFzbV9kZWJ1ZykgJShhc21fb3B0aW9ucykgJWkgJUEgfX19fSIsIDAsIDAsIDB9LAotLS0gCi0yLjE3LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAxMy1NSVBTNjQtRGVmYXVsdC10by1ONjQtQUJJLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAxMy1NSVBTNjQtRGVmYXVsdC10by1ONjQtQUJJLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZWY4ODA2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTMtTUlQUzY0LURlZmF1bHQtdG8tTjY0LUFCSS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU3ICswLDAgQEAKLUZyb20gMGYzNjI5OTc4Y2Q3Yzk4NjE0ZTg3ZDRmZDE5MGI4OTg2NDIyMTYzMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjIzOjA4ICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMTMvMzldIE1JUFM2NDogRGVmYXVsdCB0byBONjQgQUJJCi0KLU1JUFM2NCBkZWZhdWx0cyB0byBuMzIgQUJJLCB0aGlzIHBhdGNoIG1ha2VzIGl0Ci1zbyB0aGF0IGl0IGRlZmF1bHRzIHRvIE42NCBBQkkKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBjb25maWcgc3BlY2lmaWNdCi0tLS0KLSBnY2MvY29uZmlnLmdjYyB8IDEwICsrKysrLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy5nY2MgYi9nY2MvY29uZmlnLmdjYwotaW5kZXggODc0MWRkMWUzYjIuLjJmZmNiMzlkODVmIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy5nY2MKLSsrKyBiL2djYy9jb25maWcuZ2NjCi1AQCAtMjEzNywyOSArMjEzNywyOSBAQCBtaXBzKi0qLWxpbnV4KikJCQkJIyBMaW51eCBNSVBTLCBlaXRoZXIgZW5kaWFuLgotIAkJCWRlZmF1bHRfbWlwc19hcmNoPW1pcHMzMgotIAkJCTs7Ci0gCQltaXBzNjRlbC1zdC1saW51eC1nbnUpCi0tCQkJZGVmYXVsdF9taXBzX2FiaT1uMzIKLSsJCQlkZWZhdWx0X21pcHNfYWJpPTY0Ci0gCQkJdG1fZmlsZT0iJHt0bV9maWxlfSBtaXBzL3N0LmgiCi0gCQkJdG1ha2VfZmlsZT0iJHt0bWFrZV9maWxlfSBtaXBzL3Qtc3QiCi0gCQkJZW5hYmxlX21pcHNfbXVsdGlsaWJzPSJ5ZXMiCi0gCQkJOzsKLSAJCW1pcHM2NG9jdGVvbiotKi1saW51eCopCi0tCQkJZGVmYXVsdF9taXBzX2FiaT1uMzIKLSsJCQlkZWZhdWx0X21pcHNfYWJpPTY0Ci0gCQkJdG1fZGVmaW5lcz0iJHt0bV9kZWZpbmVzfSBNSVBTX0NQVV9TVFJJTkdfREVGQVVMVD1cXFwib2N0ZW9uXFxcIiIKLSAJCQl0YXJnZXRfY3B1X2RlZmF1bHQ9TUFTS19TT0ZUX0ZMT0FUX0FCSQotIAkJCWVuYWJsZV9taXBzX211bHRpbGlicz0ieWVzIgotIAkJCTs7Ci0gCQltaXBzaXNhNjRyNiotKi1saW51eCopCi0tCQkJZGVmYXVsdF9taXBzX2FiaT1uMzIKLSsJCQlkZWZhdWx0X21pcHNfYWJpPTY0Ci0gCQkJZGVmYXVsdF9taXBzX2FyY2g9bWlwczY0cjYKLSAJCQllbmFibGVfbWlwc19tdWx0aWxpYnM9InllcyIKLSAJCQk7OwotIAkJbWlwc2lzYTY0cjIqLSotbGludXgqKQotLQkJCWRlZmF1bHRfbWlwc19hYmk9bjMyCi0rCQkJZGVmYXVsdF9taXBzX2FiaT02NAotIAkJCWRlZmF1bHRfbWlwc19hcmNoPW1pcHM2NHIyCi0gCQkJZW5hYmxlX21pcHNfbXVsdGlsaWJzPSJ5ZXMiCi0gCQkJOzsKLSAJCW1pcHM2NCotKi1saW51eCogfCBtaXBzaXNhNjQqLSotbGludXgqKQotLQkJCWRlZmF1bHRfbWlwc19hYmk9bjMyCi0rCQkJZGVmYXVsdF9taXBzX2FiaT02NAotIAkJCWVuYWJsZV9taXBzX211bHRpbGlicz0ieWVzIgotIAkJCTs7Ci0gCWVzYWMKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTQtRGVmaW5lLUdMSUJDX0RZTkFNSUNfTElOS0VSLWFuZC1VQ0xJQkNfRFlOQU1JQ19MSU5LRS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTQtRGVmaW5lLUdMSUJDX0RZTkFNSUNfTElOS0VSLWFuZC1VQ0xJQkNfRFlOQU1JQ19MSU5LRS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDQzYmI5ZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDE0LURlZmluZS1HTElCQ19EWU5BTUlDX0xJTktFUi1hbmQtVUNMSUJDX0RZTkFNSUNfTElOS0UucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNDggKzAsMCBAQAotRnJvbSA1M2YxYzM4MmIxMzY2YzU2MjFjOGVkZWFkOWM3NjY5NTBjMjkwZmQ5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MjQ6NTAgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAxNC8zOV0gRGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSIGFuZCBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIKLSByZWxhdGl2ZSB0byBTWVNURU1MSUJTX0RJUgotCi1UaGlzIHBhdGNoIGRlZmluZXMgR0xJQkNfRFlOQU1JQ19MSU5LRVIgYW5kIFVDTElCQ19EWU5BTUlDX0xJTktFUgotcmVsYXRpdmUgdG8gU1lTVEVNTElCU19ESVIgd2hpY2ggY2FuIGJlIHNldCBpbiBnZW5lcmF0ZWQgaGVhZGVycwotVGhpcyBicmVha3MgdGhlIGFzc3VtcHRpb24gb2YgaGFyZGNvZGVkIG11bHRpbGliIGluIGdjYwotQ2hhbmdlIGlzIG9ubHkgZm9yIHRoZSBzdXBwb3J0ZWQgYXJjaGl0ZWN0dXJlcyBpbiBPRSBpbmNsdWRpbmcKLVNILCBzcGFyYywgYWxwaGEgZm9yIHBvc3NpYmxlIGZ1dHVyZSBzdXBwb3J0IChpZiBhbnkpCi0KLVJlbW92ZXMgdGhlIGRvX2hlYWRlcmZpeCB0YXNrIGluIG1ldGFkYXRhCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0UgY29uZmlndXJhdGlvbl0KLS0tLQotIGdjYy9jb25maWcvYWxwaGEvbGludXgtZWxmLmggfCAgNCArKy0tCi0gZ2NjL2NvbmZpZy9hcm0vbGludXgtZWFiaS5oICB8ICA0ICsrLS0KLSBnY2MvY29uZmlnL2FybS9saW51eC1lbGYuaCAgIHwgIDIgKy0KLSBnY2MvY29uZmlnL2kzODYvbGludXguaCAgICAgIHwgIDIgKy0KLSBnY2MvY29uZmlnL2kzODYvbGludXg2NC5oICAgIHwgIDYgKysrLS0tCi0gZ2NjL2NvbmZpZy9saW51eC5oICAgICAgICAgICB8ICA4ICsrKystLS0tCi0gZ2NjL2NvbmZpZy9taXBzL2xpbnV4LmggICAgICB8IDEyICsrKysrKy0tLS0tLQotIGdjYy9jb25maWcvcmlzY3YvbGludXguaCAgICAgfCAgMiArLQotIGdjYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaCAgfCAxNiArKysrKystLS0tLS0tLS0tCi0gZ2NjL2NvbmZpZy9zaC9saW51eC5oICAgICAgICB8ICAyICstCi0gZ2NjL2NvbmZpZy9zcGFyYy9saW51eC5oICAgICB8ICAyICstCi0gZ2NjL2NvbmZpZy9zcGFyYy9saW51eDY0LmggICB8ICA0ICsrLS0KLSAxMiBmaWxlcyBjaGFuZ2VkLCAzMCBpbnNlcnRpb25zKCspLCAzNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWxwaGEvbGludXgtZWxmLmggYi9nY2MvY29uZmlnL2FscGhhL2xpbnV4LWVsZi5oCi1pbmRleCAzNmI3NGRjMTk5My4uMDIzNzM1NzhhZjggMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL2FscGhhL2xpbnV4LWVsZi5oCi0rKysgYi9nY2MvY29uZmlnL2FscGhhL2xpbnV4LWVsZi5oCi1AQCAtMjMsOCArMjMsOCBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQotICNkZWZpbmUgRVhUUkFfU1BFQ1MgXAotIHsgImVsZl9keW5hbWljX2xpbmtlciIsIEVMRl9EWU5BTUlDX0xJTktFUiB9LAotIAotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIJIi9saWIvbGQtbGludXguc28uMiIKLS0jZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC11Q2xpYmMuc28uMCIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSCVNZU1RFTUxJQlNfRElSICJsZC1saW51eC5zby4yIgotKyNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSICBTWVNURU1MSUJTX0RJUiAibGQtdUNsaWJjLnNvLjAiCi0gI2lmIERFRkFVTFRfTElCQyA9PSBMSUJDX1VDTElCQwotICNkZWZpbmUgQ0hPT1NFX0RZTkFNSUNfTElOS0VSKEcsIFUpICIle21nbGliYzoiIEcgIjs6IiBVICJ9IgotICNlbGlmIERFRkFVTFRfTElCQyA9PSBMSUJDX0dMSUJDCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWFiaS5oIGIvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWFiaS5oCi1pbmRleCA4NTg1ZmRlM2Q0MS4uYjNhZjY4Y2FjNTcgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmgKLSsrKyBiL2djYy9jb25maWcvYXJtL2xpbnV4LWVhYmkuaAotQEAgLTYyLDggKzYyLDggQEAKLSAgICBHTElCQ19EWU5BTUlDX0xJTktFUl9ERUZBVUxUIGFuZCBUQVJHRVRfREVGQVVMVF9GTE9BVF9BQkkuICAqLwotIAotICN1bmRlZiAgR0xJQkNfRFlOQU1JQ19MSU5LRVIKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSX1NPRlRfRkxPQVQgIi9saWIvbGQtbGludXguc28uMyIKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSX0hBUkRfRkxPQVQgIi9saWIvbGQtbGludXgtYXJtaGYuc28uMyIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSX1NPRlRfRkxPQVQgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LnNvLjMiCi0rI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUl9IQVJEX0ZMT0FUIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC1hcm1oZi5zby4zIgotICNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVJfREVGQVVMVCBHTElCQ19EWU5BTUlDX0xJTktFUl9TT0ZUX0ZMT0FUCi0gCi0gI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiBcCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWxmLmggYi9nY2MvY29uZmlnL2FybS9saW51eC1lbGYuaAotaW5kZXggY2ZjZDljYjFhNWMuLmE3OThlOTg3ZWNiIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWxmLmgKLSsrKyBiL2djYy9jb25maWcvYXJtL2xpbnV4LWVsZi5oCi1AQCAtNjAsNyArNjAsNyBAQAotIAotICNkZWZpbmUgTElCR0NDX1NQRUMgIiV7bWZsb2F0LWFiaT1zb2Z0KjotbGZsb2F0fSAtbGdjYyIKLSAKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSICIvbGliL2xkLWxpbnV4LnNvLjIiCi0rI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiBTWVNURU1MSUJTX0RJUiAibGQtbGludXguc28uMiIKLSAKLSAjZGVmaW5lIExJTlVYX1RBUkdFVF9MSU5LX1NQRUMgICIle2gqfSBcCi0gICAgJXtzdGF0aWM6LUJzdGF0aWN9IFwKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2kzODYvbGludXguaCBiL2djYy9jb25maWcvaTM4Ni9saW51eC5oCi1pbmRleCA2OWY5N2YxNWIwZC4uNzFiYzMxZDkyMzEgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL2kzODYvbGludXguaAotKysrIGIvZ2NjL2NvbmZpZy9pMzg2L2xpbnV4LmgKLUBAIC0yMCw3ICsyMCw3IEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCi0gPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KLSAKLSAjZGVmaW5lIEdOVV9VU0VSX0xJTktfRU1VTEFUSU9OICJlbGZfaTM4NiIKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSICIvbGliL2xkLWxpbnV4LnNvLjIiCi0rI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiBTWVNURU1MSUJTX0RJUiAibGQtbGludXguc28uMiIKLSAKLSAjdW5kZWYgTVVTTF9EWU5BTUlDX0xJTktFUgotICNkZWZpbmUgTVVTTF9EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1tdXNsLWkzODYuc28uMSIKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2kzODYvbGludXg2NC5oIGIvZ2NjL2NvbmZpZy9pMzg2L2xpbnV4NjQuaAotaW5kZXggZjJkOTEzZTMwYWMuLjg3MjVmMzNkOGE1IDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9pMzg2L2xpbnV4NjQuaAotKysrIGIvZ2NjL2NvbmZpZy9pMzg2L2xpbnV4NjQuaAotQEAgLTI3LDkgKzI3LDkgQEAgc2VlIHRoZSBmaWxlcyBDT1BZSU5HMyBhbmQgQ09QWUlORy5SVU5USU1FIHJlc3BlY3RpdmVseS4gIElmIG5vdCwgc2VlCi0gI2RlZmluZSBHTlVfVVNFUl9MSU5LX0VNVUxBVElPTjY0ICJlbGZfeDg2XzY0IgotICNkZWZpbmUgR05VX1VTRVJfTElOS19FTVVMQVRJT05YMzIgImVsZjMyX3g4Nl82NCIKLSAKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSMzIgIi9saWIvbGQtbGludXguc28uMiIKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgIi9saWI2NC9sZC1saW51eC14ODYtNjQuc28uMiIKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSWDMyICIvbGlieDMyL2xkLWxpbnV4LXgzMi5zby4yIgotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIzMiBTWVNURU1MSUJTX0RJUiAibGQtbGludXguc28uMiIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LXg4Ni02NC5zby4yIgotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVJYMzIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LXgzMi5zby4yIgotIAotICN1bmRlZiBNVVNMX0RZTkFNSUNfTElOS0VSMzIKLSAjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIzMiAiL2xpYi9sZC1tdXNsLWkzODYuc28uMSIKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2xpbnV4LmggYi9nY2MvY29uZmlnL2xpbnV4LmgKLWluZGV4IDJlYTRmZjkyYzFkLi40ODdiMGMwOTIzYiAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvbGludXguaAotKysrIGIvZ2NjL2NvbmZpZy9saW51eC5oCi1AQCAtODEsMTAgKzgxLDEwIEBAIHNlZSB0aGUgZmlsZXMgQ09QWUlORzMgYW5kIENPUFlJTkcuUlVOVElNRSByZXNwZWN0aXZlbHkuICBJZiBub3QsIHNlZQotICAgIEdMSUJDX0RZTkFNSUNfTElOS0VSIG11c3QgYmUgZGVmaW5lZCBmb3IgZWFjaCB0YXJnZXQgdXNpbmcgdGhlbSwgb3IKLSAgICBHTElCQ19EWU5BTUlDX0xJTktFUjMyIGFuZCBHTElCQ19EWU5BTUlDX0xJTktFUjY0IGZvciB0YXJnZXRzCi0gICAgc3VwcG9ydGluZyBib3RoIDMyLWJpdCBhbmQgNjQtYml0IGNvbXBpbGF0aW9uLiAgKi8KLS0jZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC11Q2xpYmMuc28uMCIKLS0jZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUjMyICIvbGliL2xkLXVDbGliYy5zby4wIgotLSNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSNjQgIi9saWIvbGQ2NC11Q2xpYmMuc28uMCIKLS0jZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUlgzMiAiL2xpYi9sZHgzMi11Q2xpYmMuc28uMCIKLSsjZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUiBTWVNURU1MSUJTX0RJUiAibGQtdUNsaWJjLnNvLjAiCi0rI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIzMiBTWVNURU1MSUJTX0RJUiAibGQtdUNsaWJjLnNvLjAiCi0rI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVI2NCBTWVNURU1MSUJTX0RJUiAibGQ2NC11Q2xpYmMuc28uMCIKLSsjZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUlgzMiBTWVNURU1MSUJTX0RJUiAibGR4MzItdUNsaWJjLnNvLjAiCi0gI2RlZmluZSBCSU9OSUNfRFlOQU1JQ19MSU5LRVIgIi9zeXN0ZW0vYmluL2xpbmtlciIKLSAjZGVmaW5lIEJJT05JQ19EWU5BTUlDX0xJTktFUjMyICIvc3lzdGVtL2Jpbi9saW5rZXIiCi0gI2RlZmluZSBCSU9OSUNfRFlOQU1JQ19MSU5LRVI2NCAiL3N5c3RlbS9iaW4vbGlua2VyNjQiCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9taXBzL2xpbnV4LmggYi9nY2MvY29uZmlnL21pcHMvbGludXguaAotaW5kZXggMmRmZDBjMThiOTAuLjEyMDU3YzUxYjVlIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9taXBzL2xpbnV4LmgKLSsrKyBiL2djYy9jb25maWcvbWlwcy9saW51eC5oCi1AQCAtMjIsMjAgKzIyLDIwIEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCi0gI2RlZmluZSBHTlVfVVNFUl9MSU5LX0VNVUxBVElPTk4zMiAiZWxmMzIle0VCOmJ9JXtFTDpsfXRzbWlwbjMyIgotIAotICNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIzMiBcCi0tICAiJXttbmFuPTIwMDg6L2xpYi9sZC1saW51eC1taXBzbjguc28uMTs6L2xpYi9sZC5zby4xfSIKLSsgICIle21uYW49MjAwODoiIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC1taXBzbjguc28uMTs6IiBTWVNURU1MSUJTX0RJUiAibGQuc28uMX0iCi0gI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjY0IFwKLS0gICIle21uYW49MjAwODovbGliNjQvbGQtbGludXgtbWlwc244LnNvLjE7Oi9saWI2NC9sZC5zby4xfSIKLSsgICIle21uYW49MjAwODoiIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC1taXBzbjguc28uMTs6IiBTWVNURU1MSUJTX0RJUiAibGQuc28uMX0iCi0gI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUk4zMiBcCi0tICAiJXttbmFuPTIwMDg6L2xpYjMyL2xkLWxpbnV4LW1pcHNuOC5zby4xOzovbGliMzIvbGQuc28uMX0iCi0rICAiJXttbmFuPTIwMDg6IiBTWVNURU1MSUJTX0RJUiAibGQtbGludXgtbWlwc244LnNvLjE7OiIgU1lTVEVNTElCU19ESVIgImxkLnNvLjF9IgotIAotICN1bmRlZiBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIzMgotICNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSMzIgXAotLSAgIiV7bW5hbj0yMDA4Oi9saWIvbGQtdUNsaWJjLW1pcHNuOC5zby4wOzovbGliL2xkLXVDbGliYy5zby4wfSIKLSsgICIle21uYW49MjAwODoiIFNZU1RFTUxJQlNfRElSICJsZC11Q2xpYmMtbWlwc244LnNvLjA7OiIgU1lTVEVNTElCU19ESVIgImxkLXVDbGliYy5zby4wfSIKLSAjdW5kZWYgVUNMSUJDX0RZTkFNSUNfTElOS0VSNjQKLSAjZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUjY0IFwKLS0gICIle21uYW49MjAwODovbGliL2xkNjQtdUNsaWJjLW1pcHNuOC5zby4wOzovbGliL2xkNjQtdUNsaWJjLnNvLjB9IgotKyAgIiV7bW5hbj0yMDA4OiIgU1lTVEVNTElCU19ESVIgImxkNjQtdUNsaWJjLW1pcHNuOC5zby4wOzoiIFNZU1RFTUxJQlNfRElSICJsZDY0LXVDbGliYy5zby4wfSIKLSAjZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUk4zMiBcCi0tICAiJXttbmFuPTIwMDg6L2xpYjMyL2xkLXVDbGliYy1taXBzbjguc28uMDs6L2xpYjMyL2xkLXVDbGliYy5zby4wfSIKLSsgICIle21uYW49MjAwODoiIFNZU1RFTUxJQlNfRElSICJsZC11Q2xpYmMtbWlwc244LnNvLjA7OiIgU1lTVEVNTElCU19ESVIgImxkLXVDbGliYy5zby4wfSIKLSAKLSAjdW5kZWYgTVVTTF9EWU5BTUlDX0xJTktFUjMyCi0gI2RlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSMzIgXAotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvbGludXguaCBiL2djYy9jb25maWcvcmlzY3YvbGludXguaAotaW5kZXggYWE4YTI4ZDVkLi5lYmY5NTUxYzkgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL3Jpc2N2L2xpbnV4LmgKLSsrKyBiL2djYy9jb25maWcvcmlzY3YvbGludXguaAotQEAgLTIyLDcgKzIyLDcgQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4KLSAgICAgR05VX1VTRVJfVEFSR0VUX09TX0NQUF9CVUlMVElOUygpOwkJCQlcCi0gICB9IHdoaWxlICgwKQotIAotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbGludXgtcmlzY3YiIFhMRU5fU1BFQyAiLSIgQUJJX1NQRUMgIi5zby4xIgotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LXJpc2N2IiBYTEVOX1NQRUMgIi0iIEFCSV9TUEVDICIuc28uMSIKLSAKLSAjZGVmaW5lIE1VU0xfQUJJX1NVRkZJWCBcCi0gICAiJXttYWJpPWlscDMyOi1zZn0iIFwKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmggYi9nY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmgKLWluZGV4IDkwZmU2NTY2MjU1Li41NTY5NWRhZGQ5MSAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaAotKysrIGIvZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oCi1AQCAtNDIwLDE2ICs0MjAsMTEgQEAgZXh0ZXJuIGludCBkb3Rfc3ltYm9sczsKLSAjdW5kZWYJTElOS19PU19ERUZBVUxUX1NQRUMKLSAjZGVmaW5lIExJTktfT1NfREVGQVVMVF9TUEVDICIlKGxpbmtfb3NfbGludXgpIgotIAotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIzMiAiJShkeW5hbWljX2xpbmtlcl9wcmVmaXgpL2xpYi9sZC5zby4xIgotLQotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIzMiBTWVNURU1MSUJTX0RJUiAibGQuc28uMSIKLSAjaWZkZWYgTElOVVg2NF9ERUZBVUxUX0FCSV9FTEZ2MgotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVI2NCBcCi0tIiV7bWFiaT1lbGZ2MTolKGR5bmFtaWNfbGlua2VyX3ByZWZpeCkvbGliNjQvbGQ2NC5zby4xOyIgXAotLSI6JShkeW5hbWljX2xpbmtlcl9wcmVmaXgpL2xpYjY0L2xkNjQuc28uMn0iCi0rI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjY0ICIle21hYmk9ZWxmdjE6IiBTWVNURU1MSUJTX0RJUiAibGQ2NC5zby4xOzoiIFNZU1RFTUxJQlNfRElSICJsZDY0LnNvLjJ9IgotICNlbHNlCi0tI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjY0IFwKLS0iJXttYWJpPWVsZnYyOiUoZHluYW1pY19saW5rZXJfcHJlZml4KS9saWI2NC9sZDY0LnNvLjI7IiBcCi0tIjolKGR5bmFtaWNfbGlua2VyX3ByZWZpeCkvbGliNjQvbGQ2NC5zby4xfSIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgIiV7bWFiaT1lbGZ2MjoiIFNZU1RFTUxJQlNfRElSICJsZDY0LnNvLjI7OiIgU1lTVEVNTElCU19ESVIgImxkNjQuc28uMX0iCi0gI2VuZGlmCi0gCi0gI2RlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSMzIgXAotQEAgLTQzNyw4ICs0MzIsOSBAQCBleHRlcm4gaW50IGRvdF9zeW1ib2xzOwotICNkZWZpbmUgTVVTTF9EWU5BTUlDX0xJTktFUjY0IFwKLSAgICIvbGliL2xkLW11c2wtcG93ZXJwYzY0IiBNVVNMX0RZTkFNSUNfTElOS0VSX0UgIiV7bXNvZnQtZmxvYXQ6LXNmfS5zby4xIgotIAotLSNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSMzIgIi9saWIvbGQtdUNsaWJjLnNvLjAiCi0tI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVI2NCAiL2xpYi9sZDY0LXVDbGliYy5zby4wIgotKyNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSMzIgU1lTVEVNTElCU19ESVIgImxkLXVDbGliYy5zby4wIgotKyNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSNjQgU1lTVEVNTElCU19ESVIgImxkNjQtdUNsaWJjLnNvLjAiCi0rCi0gI2lmIERFRkFVTFRfTElCQyA9PSBMSUJDX1VDTElCQwotICNkZWZpbmUgQ0hPT1NFX0RZTkFNSUNfTElOS0VSKEcsIFUsIE0pIFwKLSAgICIle21nbGliYzoiIEcgIjs6JXttbXVzbDoiIE0gIjs6IiBVICJ9fSIKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3NoL2xpbnV4LmggYi9nY2MvY29uZmlnL3NoL2xpbnV4LmgKLWluZGV4IDZkMmNjZDAxMmJhLi5lYzc4YTg5Y2UxNSAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvc2gvbGludXguaAotKysrIGIvZ2NjL2NvbmZpZy9zaC9saW51eC5oCi1AQCAtNjQsNyArNjQsNyBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQotICAgIi9saWIvbGQtbXVzbC1zaCIgTVVTTF9EWU5BTUlDX0xJTktFUl9FIE1VU0xfRFlOQU1JQ19MSU5LRVJfRlAgXAotICAgIiV7bWZkcGljOi1mZHBpY30uc28uMSIKLSAKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSICIvbGliL2xkLWxpbnV4LnNvLjIiCi0rI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiBTWVNURU1MSUJTX0RJUiAibGQtbGludXguc28uMiIKLSAKLSAjdW5kZWYgU1VCVEFSR0VUX0xJTktfRU1VTF9TVUZGSVgKLSAjZGVmaW5lIFNVQlRBUkdFVF9MSU5LX0VNVUxfU1VGRklYICIle21mZHBpYzpfZmQ7Ol9saW51eH0iCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9zcGFyYy9saW51eC5oIGIvZ2NjL2NvbmZpZy9zcGFyYy9saW51eC5oCi1pbmRleCA5ZmIwM2FmMGZlOS4uNDAxZmRkYmJiMjIgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL3NwYXJjL2xpbnV4LmgKLSsrKyBiL2djYy9jb25maWcvc3BhcmMvbGludXguaAotQEAgLTgzLDcgKzgzLDcgQEAgZXh0ZXJuIGNvbnN0IGNoYXIgKmhvc3RfZGV0ZWN0X2xvY2FsX2NwdSAoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KTsKLSAgICBXaGVuIHRoZSAtc2hhcmVkIGxpbmsgb3B0aW9uIGlzIHVzZWQgYSBmaW5hbCBsaW5rIGlzIG5vdCBiZWluZwotICAgIGRvbmUuICAqLwotIAotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbGludXguc28uMiIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC5zby4yIgotIAotICN1bmRlZiAgTElOS19TUEVDCi0gI2RlZmluZSBMSU5LX1NQRUMgIi1tIGVsZjMyX3NwYXJjICV7c2hhcmVkOi1zaGFyZWR9IFwKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3NwYXJjL2xpbnV4NjQuaCBiL2djYy9jb25maWcvc3BhcmMvbGludXg2NC5oCi1pbmRleCBjMWZlNDIxNjViNy4uMjZhNzliZmEyZTMgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL3NwYXJjL2xpbnV4NjQuaAotKysrIGIvZ2NjL2NvbmZpZy9zcGFyYy9saW51eDY0LmgKLUBAIC04NCw4ICs4NCw4IEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCi0gICAgV2hlbiB0aGUgLXNoYXJlZCBsaW5rIG9wdGlvbiBpcyB1c2VkIGEgZmluYWwgbGluayBpcyBub3QgYmVpbmcKLSAgICBkb25lLiAgKi8KLSAKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSMzIgIi9saWIvbGQtbGludXguc28uMiIKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgIi9saWI2NC9sZC1saW51eC5zby4yIgotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIzMiBTWVNURU1MSUJTX0RJUiAibGQtbGludXguc28uMiIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LnNvLjIiCi0gCi0gI2lmZGVmIFNQQVJDX0JJX0FSQ0gKLSAKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTUtZ2NjLUZpeC1hcmd1bWVudC1saXN0LXRvby1sb25nLWVycm9yLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAxNS1nY2MtRml4LWFyZ3VtZW50LWxpc3QtdG9vLWxvbmctZXJyb3IucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRiZmY4NDIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAxNS1nY2MtRml4LWFyZ3VtZW50LWxpc3QtdG9vLWxvbmctZXJyb3IucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi1Gcm9tIDJlNzVhMTRjZDYwMjI3ZTAzNjc5MDE4NGYwZWI0MDBhYmMzYzg3MGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToyNjozNyArMDQwMAotU3ViamVjdDogW1BBVENIIDE1LzM5XSBnY2M6IEZpeCBhcmd1bWVudCBsaXN0IHRvbyBsb25nIGVycm9yLgotCi1UaGVyZSB3b3VsZCBiZSBhbiAiQXJndW1lbnQgbGlzdCB0b28gbG9uZyIgZXJyb3Igd2hlbiB0aGUKLWJ1aWxkIGRpcmVjdG9yeSBpcyBsb25nZXIgdGhhbiAyMDAsIHRoaXMgaXMgY2F1c2VkIGJ5OgotCi1oZWFkZXJzPWBlY2hvICQoUExVR0lOX0hFQURFUlMpIHwgdHIgJyAnICdcMDEyJyB8IHNvcnQgLXVgCi0KLVRoZSBQTFVHSU5fSEVBREVSUyBpcyB0b28gbG9uZyBiZWZvcmUgc29ydCwgc28gdGhlICJlY2hvIiBjYW4ndCBoYW5kbGUKLWl0LCB1c2UgdGhlICQoc29ydCBsaXN0KSBvZiBHTlUgbWFrZSB3aGljaCBjYW4gaGFuZGxlIHRoZSB0b28gbG9uZyBsaXN0Ci13b3VsZCBmaXggdGhlIHByb2JsZW0sIHRoZSBoZWFkZXIgd291bGQgYmUgc2hvcnQgZW5vdWdoIGFmdGVyIHNvcnRlZC4KLVRoZSAidHIgJyAnICdcMDEyJyIgd2FzIHVzZWQgZm9yIHRyYW5zbGF0aW5nIHRoZSBzcGFjZSB0byAiXG4iLCB0aGUKLSQoc29ydCBsaXN0KSBkb2Vzbid0IG5lZWQgdGhpcy4KLQotU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGdjYy9NYWtlZmlsZS5pbiB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2djYy9NYWtlZmlsZS5pbiBiL2djYy9NYWtlZmlsZS5pbgotaW5kZXggMTM2NzEzNmJmYWMuLjcxYTgyNzVjMzlmIDEwMDY0NAotLS0tIGEvZ2NjL01ha2VmaWxlLmluCi0rKysgYi9nY2MvTWFrZWZpbGUuaW4KLUBAIC0zNTM4LDcgKzM1MzgsNyBAQCBpbnN0YWxsLXBsdWdpbjogaW5zdGFsbGRpcnMgbGFuZy5pbnN0YWxsLXBsdWdpbiBzLWhlYWRlci12YXJzIGluc3RhbGwtZ2VuZ3R5cGUKLSAjIFdlIGtlZXAgdGhlIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgZm9yIGZpbGVzIGluIGNvbmZpZyBvciBjLWZhbWlseSBhbmQgLmRlZgotICMgZmlsZXMuIEFsbCBvdGhlciBmaWxlcyBhcmUgZmxhdHRlbmVkIHRvIGEgc2luZ2xlIGRpcmVjdG9yeS4KLSAJJChta2luc3RhbGxkaXJzKSAkKERFU1RESVIpJChwbHVnaW5faW5jbHVkZWRpcikKLS0JaGVhZGVycz1gZWNobyAkKFBMVUdJTl9IRUFERVJTKSAkJChjZCAkKHNyY2Rpcik7IGVjaG8gKi5oICouZGVmKSB8IHRyICcgJyAnXDAxMicgfCBzb3J0IC11YDsgXAotKwloZWFkZXJzPSIkKHNvcnQgJChQTFVHSU5fSEVBREVSUykgJCQoY2QgJChzcmNkaXIpOyBlY2hvICouaCAqLmRlZikpIjsgXAotIAlzcmNkaXJzdHJpcD1gZWNobyAiJChzcmNkaXIpIiB8IHNlZCAncy9bXS5bXiQkXFwqfF0vXFxcXCYvZydgOyBcCi0gCWZvciBmaWxlIGluICQkaGVhZGVyczsgZG8gXAotIAkgIGlmIFsgLWYgJCRmaWxlIF0gOyB0aGVuIFwKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTYtRGlzYWJsZS1zZHQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDE2LURpc2FibGUtc2R0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MTk3NTQ2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTYtRGlzYWJsZS1zZHQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMTMgKzAsMCBAQAotRnJvbSA0MjNkODdhYzQ3ZDIxZTM5OWQ3NTlkN2ZmM2I2MzhmMGM3MjFhN2RmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6Mjg6MTAgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAxNi8zOV0gRGlzYWJsZSBzZHQuCi0KLVdlIGRvbid0IGxpc3QgZHRyYWNlIGluIERFUEVORFMgc28gd2Ugc2hvdWxkbid0IGJlIGRlcGVuZGluZyBvbiB0aGlzIGhlYWRlci4KLUl0IG1heSBvciBtYXkgbm90IGV4aXN0IGZyb20gcHJlaXZvdXMgYnVpbGRzIHRob3VnaC4gVG8gYmUgZGV0ZXJtaW5zdGljLCBkaXNhYmxlCi1zZHQuaCB1c2FnZSBhbHdheXMuIFRoaXMgYXZvaWRzIGJ1aWxkIGZhaWx1cmVzIGlmIHRoZSBoZWFkZXIgaXMgcmVtb3ZlZCBhZnRlciBjb25maWd1cmUKLWJ1dCBiZWZvcmUgbGliZ2NjIGlzIGNvbXBpbGVkIGZvciBleGFtcGxlLgotCi1SUCAyMDEyLzgvNwotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1EaXNhYmxlIHNkdCBmb3IgbGlic3RkYysrLXYzLgotCi1TaWduZWQtb2ZmLWJ5OiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtoYWNrXQotLS0tCi0gZ2NjL2NvbmZpZ3VyZSAgICAgICAgICAgICB8IDEyICsrKysrKy0tLS0tLQotIGdjYy9jb25maWd1cmUuYWMgICAgICAgICAgfCAxOCArKysrKysrKystLS0tLS0tLS0KLSBsaWJzdGRjKystdjMvY29uZmlndXJlICAgIHwgIDYgKysrLS0tCi0gbGlic3RkYysrLXYzL2NvbmZpZ3VyZS5hYyB8ICAyICstCi0gNCBmaWxlcyBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUgYi9nY2MvY29uZmlndXJlCi1pbmRleCBhNTc1ODM5YzFiMi4uODcyMzM4ZjI5YjYgMTAwNzU1Ci0tLS0gYS9nY2MvY29uZmlndXJlCi0rKysgYi9nY2MvY29uZmlndXJlCi1AQCAtMjkyOTYsMTIgKzI5Mjk2LDEyIEBAIGZpCi0geyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBzeXMvc2R0LmggaW4gdGhlIHRhcmdldCBDIGxpYnJhcnkiID4mNQotICRhc19lY2hvX24gImNoZWNraW5nIHN5cy9zZHQuaCBpbiB0aGUgdGFyZ2V0IEMgbGlicmFyeS4uLiAiID4mNjsgfQotIGhhdmVfc3lzX3NkdF9oPW5vCi0taWYgdGVzdCAtZiAkdGFyZ2V0X2hlYWRlcl9kaXIvc3lzL3NkdC5oOyB0aGVuCi0tICBoYXZlX3N5c19zZHRfaD15ZXMKLS0KLS0kYXNfZWNobyAiI2RlZmluZSBIQVZFX1NZU19TRFRfSCAxIiA+PmNvbmZkZWZzLmgKLS0KLS1maQotKyNpZiB0ZXN0IC1mICR0YXJnZXRfaGVhZGVyX2Rpci9zeXMvc2R0Lmg7IHRoZW4KLSsjICBoYXZlX3N5c19zZHRfaD15ZXMKLSsjCi0rIyRhc19lY2hvICIjZGVmaW5lIEhBVkVfU1lTX1NEVF9IIDEiID4+Y29uZmRlZnMuaAotKyMKLSsjZmkKLSB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGhhdmVfc3lzX3NkdF9oIiA+JjUKLSAkYXNfZWNobyAiJGhhdmVfc3lzX3NkdF9oIiA+JjY7IH0KLSAKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlndXJlLmFjIGIvZ2NjL2NvbmZpZ3VyZS5hYwotaW5kZXggNjc2MTE2YTZkOTYuLjU1MDQ2ZTY4OTI2IDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZ3VyZS5hYwotKysrIGIvZ2NjL2NvbmZpZ3VyZS5hYwotQEAgLTU5NTcsMTUgKzU5NTcsMTUgQEAgZmkKLSBBQ19TVUJTVChbZW5hYmxlX2RlZmF1bHRfc3NwXSkKLSAKLSAjIFRlc3QgZm9yIDxzeXMvc2R0Lmg+IG9uIHRoZSB0YXJnZXQuCi0tR0NDX1RBUkdFVF9URU1QTEFURShbSEFWRV9TWVNfU0RUX0hdKQotLUFDX01TR19DSEVDS0lORyhzeXMvc2R0LmggaW4gdGhlIHRhcmdldCBDIGxpYnJhcnkpCi0taGF2ZV9zeXNfc2R0X2g9bm8KLS1pZiB0ZXN0IC1mICR0YXJnZXRfaGVhZGVyX2Rpci9zeXMvc2R0Lmg7IHRoZW4KLS0gIGhhdmVfc3lzX3NkdF9oPXllcwotLSAgQUNfREVGSU5FKEhBVkVfU1lTX1NEVF9ILCAxLAotLSAgICAgICAgICAgIFtEZWZpbmUgaWYgeW91ciB0YXJnZXQgQyBsaWJyYXJ5IHByb3ZpZGVzIHN5cy9zZHQuaF0pCi0tZmkKLS1BQ19NU0dfUkVTVUxUKCRoYXZlX3N5c19zZHRfaCkKLSsjR0NDX1RBUkdFVF9URU1QTEFURShbSEFWRV9TWVNfU0RUX0hdKQotKyNBQ19NU0dfQ0hFQ0tJTkcoc3lzL3NkdC5oIGluIHRoZSB0YXJnZXQgQyBsaWJyYXJ5KQotKyNoYXZlX3N5c19zZHRfaD1ubwotKyNpZiB0ZXN0IC1mICR0YXJnZXRfaGVhZGVyX2Rpci9zeXMvc2R0Lmg7IHRoZW4KLSsjICBoYXZlX3N5c19zZHRfaD15ZXMKLSsjICBBQ19ERUZJTkUoSEFWRV9TWVNfU0RUX0gsIDEsCi0rIyAgICAgICAgICAgIFtEZWZpbmUgaWYgeW91ciB0YXJnZXQgQyBsaWJyYXJ5IHByb3ZpZGVzIHN5cy9zZHQuaF0pCi0rI2ZpCi0rI0FDX01TR19SRVNVTFQoJGhhdmVfc3lzX3NkdF9oKQotIAotICMgQ2hlY2sgaWYgVEZtb2RlIGxvbmcgZG91YmxlIHNob3VsZCBiZSB1c2VkIGJ5IGRlZmF1bHQgb3Igbm90LgotICMgU29tZSBnbGliYyB0YXJnZXRzIHVzZWQgREZtb2RlIGxvbmcgZG91YmxlLCBidXQgd2l0aCBnbGliYyAyLjQKLWRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvY29uZmlndXJlIGIvbGlic3RkYysrLXYzL2NvbmZpZ3VyZQotaW5kZXggYzlkYmFhMTM5ZDUuLmM2NGE3N2QxNTJiIDEwMDc1NQotLS0tIGEvbGlic3RkYysrLXYzL2NvbmZpZ3VyZQotKysrIGIvbGlic3RkYysrLXYzL2NvbmZpZ3VyZQotQEAgLTIxNzg2LDExICsyMTc4NiwxMSBAQCBhY19jb21waWxlPSckQ0MgLWMgJENGTEFHUyAkQ1BQRkxBR1MgY29uZnRlc3QuJGFjX2V4dCA+JjUnCi0gYWNfbGluaz0nJENDIC1vIGNvbmZ0ZXN0JGFjX2V4ZWV4dCAkQ0ZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTID4mNScKLSBhY19jb21waWxlcl9nbnU9JGFjX2N2X2NfY29tcGlsZXJfZ251Ci0gCi0tICBpZiB0ZXN0ICRnbGliY3h4X2N2X3N5c19zZHRfaCA9IHllczsgdGhlbgotKyMgIGlmIHRlc3QgJGdsaWJjeHhfY3Zfc3lzX3NkdF9oID0geWVzOyB0aGVuCi0gCi0tJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9TWVNfU0RUX0ggMSIgPj5jb25mZGVmcy5oCi0rIyRhc19lY2hvICIjZGVmaW5lIEhBVkVfU1lTX1NEVF9IIDEiID4+Y29uZmRlZnMuaAotIAotLSAgZmkKLSsjICBmaQotICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRnbGliY3h4X2N2X3N5c19zZHRfaCIgPiY1Ci0gJGFzX2VjaG8gIiRnbGliY3h4X2N2X3N5c19zZHRfaCIgPiY2OyB9Ci0gCi1kaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL2NvbmZpZ3VyZS5hYyBiL2xpYnN0ZGMrKy12My9jb25maWd1cmUuYWMKLWluZGV4IDBlZjk2MjcwYzljLi5hZmU1NWExYjIxNSAxMDA2NDQKLS0tLSBhL2xpYnN0ZGMrKy12My9jb25maWd1cmUuYWMKLSsrKyBiL2xpYnN0ZGMrKy12My9jb25maWd1cmUuYWMKLUBAIC0yMzAsNyArMjMwLDcgQEAgR0xJQkNYWF9DSEVDS19TQ19OUFJPQ0VTU09SU19PTkxOCi0gR0xJQkNYWF9DSEVDS19TQ19OUFJPQ19PTkxOCi0gR0xJQkNYWF9DSEVDS19QVEhSRUFEU19OVU1fUFJPQ0VTU09SU19OUAotIEdMSUJDWFhfQ0hFQ0tfU1lTQ1RMX0hXX05DUFUKLS1HTElCQ1hYX0NIRUNLX1NEVF9ICi0rI0dMSUJDWFhfQ0hFQ0tfU0RUX0gKLSAKLSAjIENoZWNrIGZvciBhdmFpbGFibGUgaGVhZGVycy4KLSBBQ19DSEVDS19IRUFERVJTKFtlbmRpYW4uaCBleGVjaW5mby5oIGZsb2F0LmggZnAuaCBpZWVlZnAuaCBpbnR0eXBlcy5oIFwKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTctbGlidG9vbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTctbGlidG9vbC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGNhYTFjZS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDE3LWxpYnRvb2wucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi1Gcm9tIGM4YjExZTk2YjExOTEwYjJkNGRmNmFlODEwNDQ2NmUzMzAzZDkzM2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToyOToxMSArMDQwMAotU3ViamVjdDogW1BBVENIIDE3LzM5XSBsaWJ0b29sCi0KLWxpYnN0ZGMrKyBmcm9tIGdjYy1ydW50aW1lIGdldHMgY3JlYXRlZCB3aXRoIC1ycGF0aD0vdXNyL2xpYi8uLi9saWIgZm9yIHFlbXV4ODYtNjQKLXdoZW4gcnVubmluZyBvbiBhbSB4ODZfNjQgYnVpbGQgaG9zdC4KLQotVGhpcyBwYXRjaCBzdG9wcyB0aGlzIHNwZWFkaW5nIHRvIGxpYmRpciBpbiB0aGUgbGlic3RkYysrLmxhIGZpbGUgd2l0aGluIGxpYnRvb2wuCi1Bcmd1YWJseSwgaXQgc2hvdWxkbid0IGJlIHBhc3NpbmcgdGhpcyBpbnRvIGxpYnRvb2wgaW4gdGhlIGZpcnN0IHBsYWNlIGJ1dAotZm9yIG5vdyB0aGlzIHJlc29sdmVzIHRoZSBuYXN0aWVzdCBwcm9ibGVtcyB0aGlzIGNhdXNlcy4KLQotZnVuY19ub3JtYWxfYWJzcGF0aCB3b3VsZCByZXNvbHZlIGFuIGVtcHR5IHBhdGggdG8gYHB3ZGAgc28gd2UgbmVlZAotdG8gZmlsdGVyIHRoZSB6ZXJvIGNhc2UuCi0KLVJQIDIwMTIvOC8yNAotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGx0bWFpbi5zaCB8IDQgKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2x0bWFpbi5zaCBiL2x0bWFpbi5zaAotaW5kZXggOTUwM2VjODVkNzAuLjAxMjFmYmE3MDdmIDEwMDY0NAotLS0tIGEvbHRtYWluLnNoCi0rKysgYi9sdG1haW4uc2gKLUBAIC02MzU5LDYgKzYzNTksMTAgQEAgZnVuY19tb2RlX2xpbmsgKCkKLSAJZnVuY193YXJuaW5nICJpZ25vcmluZyBtdWx0aXBsZSBcYC1ycGF0aCdzIGZvciBhIGxpYnRvb2wgbGlicmFyeSIKLSAKLSAgICAgICBpbnN0YWxsX2xpYmRpcj0iJDEiCi0rICAgICAgaWYgdGVzdCAtbiAiJGluc3RhbGxfbGliZGlyIjsgdGhlbgotKwlmdW5jX25vcm1hbF9hYnNwYXRoICIkaW5zdGFsbF9saWJkaXIiCi0rCWluc3RhbGxfbGliZGlyPSRmdW5jX25vcm1hbF9hYnNwYXRoX3Jlc3VsdAotKyAgICAgIGZpCi0gCi0gICAgICAgb2xkbGlicz0KLSAgICAgICBpZiB0ZXN0IC16ICIkcnBhdGgiOyB0aGVuCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDE4LWdjYy1hcm12NC1wYXNzLWZpeC12NGJ4LXRvLWxpbmtlci10by1zdXBwb3J0LUVBQkkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDE4LWdjYy1hcm12NC1wYXNzLWZpeC12NGJ4LXRvLWxpbmtlci10by1zdXBwb3J0LUVBQkkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY0M2NjNjcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAxOC1nY2MtYXJtdjQtcGFzcy1maXgtdjRieC10by1saW5rZXItdG8tc3VwcG9ydC1FQUJJLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotRnJvbSA3ZGJiYTg0NGE1OWJkZjZlN2Q3MjRmOGJmYTc5MjcyNDZjYjdhZjhmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MzA6MzIgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAxOC8zOV0gZ2NjOiBhcm12NDogcGFzcyBmaXgtdjRieCB0byBsaW5rZXIgdG8gc3VwcG9ydCBFQUJJLgotCi1UaGUgTElOS19TUEVDIGZvciBsaW51eCBnZXRzIG92ZXJ3cml0dGVuIGJ5IGxpbnV4LWVhYmkuaCB3aGljaAotbWVhbnMgdGhlIHZhbHVlIG9mIFRBUkdFVF9GSVhfVjRCWF9TUEVDIGdldHMgbG9zdCBhbmQgYXMgYSByZXN1bHQKLXRoZSBvcHRpb24gaXMgbm90IHBhc3NlZCB0byBsaW5rZXIgd2hlbiBjaG9zaW5nIG1hcmNoPWFybXY0Ci1UaGlzIHBhdGNoIHJlZGVmaW5lcyB0aGlzIGluIGxpbnV4LWVhYmkuaCBhbmQgcmVpbnNlcnRzIGl0Ci1mb3IgZWFiaSBkZWZhdWx0aW5nIHRvb2xjaGFpbnMuCi0KLVdlIG1pZ2h0IHdhbnQgdG8gc2VuZCBpdCB1cHN0cmVhbS4KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBnY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmggfCA2ICsrKysrLQotIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYXJtL2xpbnV4LWVhYmkuaCBiL2djYy9jb25maWcvYXJtL2xpbnV4LWVhYmkuaAotaW5kZXggYjNhZjY4Y2FjNTcuLjMzMGI2ZTEzYzVmIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWFiaS5oCi0rKysgYi9nY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmgKLUBAIC04OCwxMCArODgsMTQgQEAKLSAjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIgXAotICAgIi9saWIvbGQtbXVzbC1hcm0iIE1VU0xfRFlOQU1JQ19MSU5LRVJfRSAiJXttZmxvYXQtYWJpPWhhcmQ6aGZ9LnNvLjEiCi0gCi0rLyogRm9yIGFybXY0IHdlIHBhc3MgLS1maXgtdjRieCB0byBsaW5rZXIgdG8gc3VwcG9ydCBFQUJJICovCi0rI3VuZGVmIFRBUkdFVF9GSVhfVjRCWF9TUEVDCi0rI2RlZmluZSBUQVJHRVRfRklYX1Y0QlhfU1BFQyAiJXttY3B1PWFybTh8bWNwdT1hcm04MTB8bWNwdT1zdHJvbmdhcm0qfG1hcmNoPWFybXY0OiAtLWZpeC12NGJ4fSIKLSsKLSAvKiBBdCB0aGlzIHBvaW50LCBicGFiaS5oIHdpbGwgaGF2ZSBjbG9iYmVyZWQgTElOS19TUEVDLiAgV2Ugd2FudCB0bwotICAgIHVzZSB0aGUgR05VL0xpbnV4IHZlcnNpb24sIG5vdCB0aGUgZ2VuZXJpYyBCUEFCSSB2ZXJzaW9uLiAgKi8KLSAjdW5kZWYgIExJTktfU1BFQwotLSNkZWZpbmUgTElOS19TUEVDIEVBQklfTElOS19TUEVDCQkJCQlcCi0rI2RlZmluZSBMSU5LX1NQRUMgVEFSR0VUX0ZJWF9WNEJYX1NQRUMgRUFCSV9MSU5LX1NQRUMJCQlcCi0gICBMSU5VWF9PUl9BTkRST0lEX0xEIChMSU5VWF9UQVJHRVRfTElOS19TUEVDLAkJCQlcCi0gCQkgICAgICAgTElOVVhfVEFSR0VUX0xJTktfU1BFQyAiICIgQU5EUk9JRF9MSU5LX1NQRUMpCi0gCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDE5LVVzZS10aGUtbXVsdGlsaWItY29uZmlnLWZpbGVzLWZyb20tQi1pbnN0ZWFkLW9mLXVzaW4ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDE5LVVzZS10aGUtbXVsdGlsaWItY29uZmlnLWZpbGVzLWZyb20tQi1pbnN0ZWFkLW9mLXVzaW4ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4NDkxODYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAxOS1Vc2UtdGhlLW11bHRpbGliLWNvbmZpZy1maWxlcy1mcm9tLUItaW5zdGVhZC1vZi11c2luLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTAyICswLDAgQEAKLUZyb20gMTE3MTQwYWNkM2MzODNmNjIwZmY3NTg5NDI3NjAwMWM3NDA1ZGNjZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjMzOjA0ICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMTkvMzldIFVzZSB0aGUgbXVsdGlsaWIgY29uZmlnIGZpbGVzIGZyb20gJHtCfSBpbnN0ZWFkIG9mCi0gdXNpbmcgdGhlIG9uZXMgZnJvbSAke1N9Ci0KLVVzZSB0aGUgbXVsdGlsaWIgY29uZmlnIGZpbGVzIGZyb20gJHtCfSBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBvbmVzIGZyb20gJHtTfQotc28gdGhhdCB0aGUgc291cmNlIGNhbiBiZSBzaGFyZWQgYmV0d2VlbiBnY2MtY3Jvc3MtaW5pdGlhbCwKLWdjYy1jcm9zcy1pbnRlcm1lZGlhdGUsIGdjYy1jcm9zcywgZ2NjLXJ1bnRpbWUsIGFuZCBhbHNvIHRoZSBzZGsgYnVpbGQuCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBDb25zdGFudGluIE11c2NhIDxjb25zdGFudGlueC5tdXNjYUBpbnRlbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KLS0tLQotIGdjYy9jb25maWd1cmUgICAgfCAyMiArKysrKysrKysrKysrKysrKystLS0tCi0gZ2NjL2NvbmZpZ3VyZS5hYyB8IDIyICsrKysrKysrKysrKysrKysrKy0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlndXJlIGIvZ2NjL2NvbmZpZ3VyZQotaW5kZXggODcyMzM4ZjI5YjYuLmNmY2FkYzkzYTAxIDEwMDc1NQotLS0tIGEvZ2NjL2NvbmZpZ3VyZQotKysrIGIvZ2NjL2NvbmZpZ3VyZQotQEAgLTEyMTM4LDEwICsxMjEzOCwyMCBAQCBkb25lCi0gdG1ha2VfZmlsZV89Ci0gZm9yIGYgaW4gJHt0bWFrZV9maWxlfQotIGRvCi0tCWlmIHRlc3QgLWYgJHtzcmNkaXJ9L2NvbmZpZy8kZgotLQl0aGVuCi0tCQl0bWFrZV9maWxlXz0iJHt0bWFrZV9maWxlX30gXCQoc3JjZGlyKS9jb25maWcvJGYiCi0tCWZpCi0rICBjYXNlICRmIGluCi0rICAgICovdC1saW51eDY0ICkKLSsgICAgICAgaWYgdGVzdCAtZiAuL2NvbmZpZy8kZgotKyAgICAgICB0aGVuCi0rICAgICAgICAgdG1ha2VfZmlsZV89IiR7dG1ha2VfZmlsZV99IC4vY29uZmlnLyRmIgotKyAgICAgICBmaQotKyAgICAgICA7OwotKyAgICAqICkKLSsgICAgICAgaWYgdGVzdCAtZiAke3NyY2Rpcn0vY29uZmlnLyRmCi0rICAgICAgIHRoZW4KLSsgICAgICAgICB0bWFrZV9maWxlXz0iJHt0bWFrZV9maWxlX30gXCQoc3JjZGlyKS9jb25maWcvJGYiCi0rICAgICAgIGZpCi0rICAgICAgIDs7Ci0rICBlc2FjCi0gZG9uZQotIHRtYWtlX2ZpbGU9IiR7dG1ha2VfZmlsZV99IgotIAotQEAgLTEyMTUyLDYgKzEyMTYyLDEwIEBAIHRtX2ZpbGVfbGlzdD0ib3B0aW9ucy5oIgotIHRtX2luY2x1ZGVfbGlzdD0ib3B0aW9ucy5oIGluc24tY29uc3RhbnRzLmgiCi0gZm9yIGYgaW4gJHRtX2ZpbGU7IGRvCi0gICBjYXNlICRmIGluCi0rICAgICovbGludXg2NC5oICkKLSsgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gLi9jb25maWcvJGYiCi0rICAgICAgIHRtX2luY2x1ZGVfbGlzdD0iJHt0bV9pbmNsdWRlX2xpc3R9IC4vY29uZmlnLyRmIgotKyAgICAgICA7OwotICAgICAuLyogKQotICAgICAgICBmPWBlY2hvICRmIHwgc2VkICdzL14uLi8vJ2AKLSAgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gJGYiCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZS5hYyBiL2djYy9jb25maWd1cmUuYWMKLWluZGV4IDU1MDQ2ZTY4OTI2Li40NGI5MDQ3OGY1NSAxMDA2NDQKLS0tLSBhL2djYy9jb25maWd1cmUuYWMKLSsrKyBiL2djYy9jb25maWd1cmUuYWMKLUBAIC0xOTAyLDEwICsxOTAyLDIwIEBAIGRvbmUKLSB0bWFrZV9maWxlXz0KLSBmb3IgZiBpbiAke3RtYWtlX2ZpbGV9Ci0gZG8KLS0JaWYgdGVzdCAtZiAke3NyY2Rpcn0vY29uZmlnLyRmCi0tCXRoZW4KLS0JCXRtYWtlX2ZpbGVfPSIke3RtYWtlX2ZpbGVffSBcJChzcmNkaXIpL2NvbmZpZy8kZiIKLS0JZmkKLSsgIGNhc2UgJGYgaW4KLSsgICAgKi90LWxpbnV4NjQgKQotKyAgICAgICBpZiB0ZXN0IC1mIC4vY29uZmlnLyRmCi0rICAgICAgIHRoZW4KLSsgICAgICAgICB0bWFrZV9maWxlXz0iJHt0bWFrZV9maWxlX30gLi9jb25maWcvJGYiCi0rICAgICAgIGZpCi0rICAgICAgIDs7Ci0rICAgICogKQotKyAgICAgICBpZiB0ZXN0IC1mICR7c3JjZGlyfS9jb25maWcvJGYKLSsgICAgICAgdGhlbgotKyAgICAgICAgIHRtYWtlX2ZpbGVfPSIke3RtYWtlX2ZpbGVffSBcJChzcmNkaXIpL2NvbmZpZy8kZiIKLSsgICAgICAgZmkKLSsgICAgICAgOzsKLSsgIGVzYWMKLSBkb25lCi0gdG1ha2VfZmlsZT0iJHt0bWFrZV9maWxlX30iCi0gCi1AQCAtMTkxNiw2ICsxOTI2LDEwIEBAIHRtX2ZpbGVfbGlzdD0ib3B0aW9ucy5oIgotIHRtX2luY2x1ZGVfbGlzdD0ib3B0aW9ucy5oIGluc24tY29uc3RhbnRzLmgiCi0gZm9yIGYgaW4gJHRtX2ZpbGU7IGRvCi0gICBjYXNlICRmIGluCi0rICAgICovbGludXg2NC5oICkKLSsgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gLi9jb25maWcvJGYiCi0rICAgICAgIHRtX2luY2x1ZGVfbGlzdD0iJHt0bV9pbmNsdWRlX2xpc3R9IC4vY29uZmlnLyRmIgotKyAgICAgICA7OwotICAgICAuLyogKQotICAgICAgICBmPWBlY2hvICRmIHwgc2VkICdzL14uLi8vJ2AKLSAgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gJGYiCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDIwLUF2b2lkLXVzaW5nLWxpYmRpci1mcm9tLS5sYS13aGljaC11c3VhbGx5LXBvaW50cy10by0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDIwLUF2b2lkLXVzaW5nLWxpYmRpci1mcm9tLS5sYS13aGljaC11c3VhbGx5LXBvaW50cy10by0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkxMWZlODUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAyMC1Bdm9pZC11c2luZy1saWJkaXItZnJvbS0ubGEtd2hpY2gtdXN1YWxseS1wb2ludHMtdG8tLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotRnJvbSBhNzI2NjExMWE1YmEyZDE0NmM5NzllODZmZjg0ZjZiODA3Y2E1ZmRjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjAgRmViIDIwMTUgMDk6Mzk6MzggKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAyMC8zOV0gQXZvaWQgdXNpbmcgbGliZGlyIGZyb20gLmxhIHdoaWNoIHVzdWFsbHkgcG9pbnRzIHRvIGEKLSBob3N0IHBhdGgKLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogSm9uYXRoYW4gTGl1IDxuZXQxNDdAZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGx0bWFpbi5zaCB8IDMgKysrCi0gMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvbHRtYWluLnNoIGIvbHRtYWluLnNoCi1pbmRleCAwMTIxZmJhNzA3Zi4uNTJiZGJkYjVmOWMgMTAwNjQ0Ci0tLS0gYS9sdG1haW4uc2gKLSsrKyBiL2x0bWFpbi5zaAotQEAgLTU2MjgsNiArNTYyOCw5IEBAIGZ1bmNfbW9kZV9saW5rICgpCi0gCSAgICBhYnNkaXI9IiRhYnNfbGFkaXIiCi0gCSAgICBsaWJkaXI9IiRhYnNfbGFkaXIiCi0gCSAgZWxzZQotKwkgICAgIyBJbnN0ZWFkIG9mIHVzaW5nIGxpYmRpciBmcm9tIC5sYSB3aGljaCB1c3VhbGx5IHBvaW50cyB0byBhIGhvc3QgcGF0aCwKLSsJICAgICMgdXNlIHRoZSBwYXRoIHRoZSAubGEgaXMgY29udGFpbmVkIGluLgotKwkgICAgbGliZGlyPSIkYWJzX2xhZGlyIgotIAkgICAgZGlyPSIkbGliZGlyIgotIAkgICAgYWJzZGlyPSIkbGliZGlyIgotIAkgIGZpCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDIxLWV4cG9ydC1DUFAucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDIxLWV4cG9ydC1DUFAucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJlNmI0MTEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAyMS1leHBvcnQtQ1BQLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotRnJvbSBjODU5OWZjM2I1NzgxYjMxOTcwN2M5YzBmMWIwYTFlZjdjZGRiMDI3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjAgRmViIDIwMTUgMDk6NDA6NTkgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAyMS8zOV0gZXhwb3J0IENQUAotCi1UaGUgT0UgZW52aXJvbm1lbnQgc2V0cyBhbmQgZXhwb3J0cyBDUFAgYXMgYmVpbmcgdGhlIHRhcmdldCBnY2MuIFdoZW4KLWJ1aWxkaW5nIGdjYy1jcm9zcy1jYW5hZGlhbiBmb3IgYSBtaW5ndyB0YXJnZXR0ZWQgc2RrLCB0aGUgZm9sbG93aW5nIGNhbiBiZSBmb3VuZAotaW4gYnVpbGQueDg2XzY0LXBva3lzZGstbWluZ3czMi5pNTg2LXBva3ktbGludXgvYnVpbGQteDg2XzY0LWxpbnV4L2xpYmliZXJ0eS9jb25maWcubG9nOgotCi1jb25maWd1cmU6MzY0MTogY2hlY2tpbmcgZm9yIF9GSUxFX09GRlNFVF9CSVRTIHZhbHVlIG5lZWRlZCBmb3IgbGFyZ2UgZmlsZXMKLWNvbmZpZ3VyZTozNjY2OiBnY2MgIC1jIC1pc3lzdGVtL21lZGlhL2J1aWxkMS9wb2t5L2J1aWxkL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2luY2x1ZGUgLU8yIC1waXBlICBjb25mdGVzdC5jID4mNQotY29uZmlndXJlOjM2NjY6ICQ/ID0gMAotY29uZmlndXJlOjM2OTg6IHJlc3VsdDogbm8KLWNvbmZpZ3VyZTozNzg2OiBjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3NvcgotY29uZmlndXJlOjM4NTY6IHJlc3VsdDogeDg2XzY0LXBva3lzZGstbWluZ3czMi1nY2MgLUUgLS1zeXNyb290PS9tZWRpYS9idWlsZDEvcG9reS9idWlsZC90bXAvc3lzcm9vdHMveDg2XzY0LW5hdGl2ZXNkay1taW5ndzMyLXBva3lzZGstbWluZ3czMgotY29uZmlndXJlOjM4NzY6IHg4Nl82NC1wb2t5c2RrLW1pbmd3MzItZ2NjIC1FIC0tc3lzcm9vdD0vbWVkaWEvYnVpbGQxL3Bva3kvYnVpbGQvdG1wL3N5c3Jvb3RzL3g4Nl82NC1uYXRpdmVzZGstbWluZ3czMi1wb2t5c2RrLW1pbmd3MzIgY29uZnRlc3QuYwotY29uZmlndXJlOjM4NzY6ICQ/ID0gMAotCi1Ob3RlIHRoaXMgaXMgYSAqYnVpbGQqIHRhcmdldCAoaW4gYnVpbGQteDg2XzY0LWxpbnV4KSBzbyBpdCBzaG91bGQgYmUKLXVzaW5nIHRoZSBob3N0ICJnY2MiLCBub3QgeDg2XzY0LXBva3lzZGstbWluZ3czMi1nY2MuIFNpbmNlIHRoZSBtaW5ndzMyCi1oZWFkZXJzIGFyZSB2ZXJ5IGRpZmZlcmVudCwgdXNpbmcgdGhlIHdyb25nIGNwcCBpcyBhIHJlYWwgcHJvYmxlbS4gSXQgaXMgbGVha2luZwotaW50byBjb25maWd1cmUgdGhyb3VnaCB0aGUgQ1BQIHZhcmlhYmxlLiBVbHRpbWF0ZWx5IHRoaXMgbGVhZHMgdG8gYnVpbGQKLWZhaWx1cmVzIHJlbGF0ZWQgdG8gbm90IGJlaW5nIGFibGUgdG8gaW5jbHVkZSBhIHByb2Nlc3MuaCBmaWxlIGZvciBwZW0tdW5peC5jLgotCi1UaGUgZml4IGlzIHRvIGVuc3VyZSB3ZSBleHBvcnQgYSBzYW5lIENQUCB2YWx1ZSBpbnRvIHRoZSBidWlsZAotZW52aXJvbm1lbnQgd2hlbiB1c2luZyBidWlsZCB0YXJnZXRzLiBXZSBjb3VsZCBkZWZpbmUgYSBDUFBfRk9SX0JVSUxEIHZhbHVlIHdoaWNoIG1heSBiZQotdGhlIHZlcnNpb24gd2hpY2ggbmVlZHMgdG8gYmUgdXBzdHJlYW1lZCBidXQgZm9yIG5vdywgdGhpcyBmaXggaXMgZ29vZCBlbm91Z2ggdG8KLWF2b2lkIHRoZSBwcm9ibGVtLgotCi1SUCAyMi8wOC8yMDEzCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gTWFrZWZpbGUuaW4gfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL01ha2VmaWxlLmluIGIvTWFrZWZpbGUuaW4KLWluZGV4IDJiZjgzYjcyMjY1Li4xYWY0NTU4MDA4NiAxMDA2NDQKLS0tLSBhL01ha2VmaWxlLmluCi0rKysgYi9NYWtlZmlsZS5pbgotQEAgLTE0OSw2ICsxNDksNyBAQCBCVUlMRF9FWFBPUlRTID0gXAotIAlBUj0iJChBUl9GT1JfQlVJTEQpIjsgZXhwb3J0IEFSOyBcCi0gCUFTPSIkKEFTX0ZPUl9CVUlMRCkiOyBleHBvcnQgQVM7IFwKLSAJQ0M9IiQoQ0NfRk9SX0JVSUxEKSI7IGV4cG9ydCBDQzsgXAotKwlDUFA9IiQoQ0NfRk9SX0JVSUxEKSAtRSI7IGV4cG9ydCBDUFA7IFwKLSAJQ0ZMQUdTPSIkKENGTEFHU19GT1JfQlVJTEQpIjsgZXhwb3J0IENGTEFHUzsgXAotIAlDT05GSUdfU0hFTEw9IiQoU0hFTEwpIjsgZXhwb3J0IENPTkZJR19TSEVMTDsgXAotIAlDWFg9IiQoQ1hYX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ1hYOyBcCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDIyLURpc2FibGUtdGhlLU1VTFRJTElCX09TRElSTkFNRVMtYW5kLW90aGVyLW11bHRpbGliLW8ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDIyLURpc2FibGUtdGhlLU1VTFRJTElCX09TRElSTkFNRVMtYW5kLW90aGVyLW11bHRpbGliLW8ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE3YzU4MWYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAyMi1EaXNhYmxlLXRoZS1NVUxUSUxJQl9PU0RJUk5BTUVTLWFuZC1vdGhlci1tdWx0aWxpYi1vLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotRnJvbSA1ZTJlZTQ2YzcyMGI2Y2UwM2ExOGRhNzBkZDRlMDkxN2MyNThhYjBiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjAgRmViIDIwMTUgMTA6MjE6NTUgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAyMi8zOV0gRGlzYWJsZSB0aGUgTVVMVElMSUJfT1NESVJOQU1FUyBhbmQgb3RoZXIgbXVsdGlsaWIKLSBvcHRpb25zLgotCi1IYXJkIGNvZGluZyB0aGUgTVVMVElMSUJfT1NESVJOQU1FUyB3aXRoIC4uL2xpYjY0IGlzIGNhdXNpbmcgcHJvYmxlbXMgb24KLXN5c3RlbXMgd2hlcmUgdGhlIGxpYmRpciBpcyBOT1Qgc2V0IHRvIC9saWI2NC4gIFRoaXMgaXMgYWxsb3dlZCBieSB0aGUKLUFCSSwgYXMKLWxvbmcgYXMgdGhlIGR5bmFtaWMgbG9hZGVyIGlzIHByZXNlbnQgaW4gL2xpYi4KLQotV2Ugc2ltcGx5IHdhbnQgdG8gdXNlIHRoZSBkZWZhdWx0IHJ1bGVzIGluIGdjYyB0byBmaW5kIGFuZCBjb25maWd1cmUgdGhlCi1ub3JtYWwgbGliZGlyLgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGVbT0UtU3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBnY2MvY29uZmlnL2FhcmNoNjQvdC1hYXJjaDY0LWxpbnV4IHwgOCArKysrLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FhcmNoNjQvdC1hYXJjaDY0LWxpbnV4IGIvZ2NjL2NvbmZpZy9hYXJjaDY0L3QtYWFyY2g2NC1saW51eAotaW5kZXggYjk4OTc3ODVhODkuLjdkMDZmMGQwZWRiIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9hYXJjaDY0L3QtYWFyY2g2NC1saW51eAotKysrIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L3QtYWFyY2g2NC1saW51eAotQEAgLTIxLDggKzIxLDggQEAKLSBMSUIxQVNNU1JDICAgPSBhYXJjaDY0L2xpYjFmdW5jcy5hc20KLSBMSUIxQVNNRlVOQ1MgPSBfYWFyY2g2NF9zeW5jX2NhY2hlX3JhbmdlCi0gCi0tQUFSQ0hfQkUgPSAkKGlmICQoZmluZHN0cmluZyBUQVJHRVRfQklHX0VORElBTl9ERUZBVUxUPTEsICQodG1fZGVmaW5lcykpLF9iZSkKLS1NVUxUSUxJQl9PU0RJUk5BTUVTID0gbWFiaS5scDY0PS4uL2xpYjY0JChjYWxsIGlmX211bHRpYXJjaCw6YWFyY2g2NCQoQUFSQ0hfQkUpLWxpbnV4LWdudSkKLS1NVUxUSUFSQ0hfRElSTkFNRSA9ICQoY2FsbCBpZl9tdWx0aWFyY2gsYWFyY2g2NCQoQUFSQ0hfQkUpLWxpbnV4LWdudSkKLSsjQUFSQ0hfQkUgPSAkKGlmICQoZmluZHN0cmluZyBUQVJHRVRfQklHX0VORElBTl9ERUZBVUxUPTEsICQodG1fZGVmaW5lcykpLF9iZSkKLSsjTVVMVElMSUJfT1NESVJOQU1FUyA9IG1hYmkubHA2ND0uLi9saWI2NCQoY2FsbCBpZl9tdWx0aWFyY2gsOmFhcmNoNjQkKEFBUkNIX0JFKS1saW51eC1nbnUpCi0rI01VTFRJQVJDSF9ESVJOQU1FID0gJChjYWxsIGlmX211bHRpYXJjaCxhYXJjaDY0JChBQVJDSF9CRSktbGludXgtZ251KQotIAotLU1VTFRJTElCX09TRElSTkFNRVMgKz0gbWFiaS5pbHAzMj0uLi9saWJpbHAzMiQoY2FsbCBpZl9tdWx0aWFyY2gsOmFhcmNoNjQkKEFBUkNIX0JFKS1saW51eC1nbnVfaWxwMzIpCi0rI01VTFRJTElCX09TRElSTkFNRVMgKz0gbWFiaS5pbHAzMj0uLi9saWJpbHAzMiQoY2FsbCBpZl9tdWx0aWFyY2gsOmFhcmNoNjQkKEFBUkNIX0JFKS1saW51eC1nbnVfaWxwMzIpCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDIzLUVuc3VyZS10YXJnZXQtZ2NjLWhlYWRlcnMtY2FuLWJlLWluY2x1ZGVkLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAyMy1FbnN1cmUtdGFyZ2V0LWdjYy1oZWFkZXJzLWNhbi1iZS1pbmNsdWRlZC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGQ0ZGExYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDIzLUVuc3VyZS10YXJnZXQtZ2NjLWhlYWRlcnMtY2FuLWJlLWluY2x1ZGVkLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTggKzAsMCBAQAotRnJvbSA3Mzc2NjQyNGEyZjcxYjE4MTBmYjhhZmRkODYzMDI4ODU1ZDg3ZTVhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjAgRmViIDIwMTUgMTA6MjU6MTEgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAyMy8zOV0gRW5zdXJlIHRhcmdldCBnY2MgaGVhZGVycyBjYW4gYmUgaW5jbHVkZWQKLQotVGhlcmUgYXJlIGEgZmV3IGhlYWRlcnMgaW5zdGFsbGVkIGFzIHBhcnQgb2YgdGhlIE9wZW5FbWJlZGRlZAotZ2NjLXJ1bnRpbWUgdGFyZ2V0IChvbXAuaCwgc3NwLyouaCkuIEJlaW5nIGluc3RhbGxlZCBmcm9tIGEgcmVjaXBlCi1idWlsdCBmb3IgdGhlIHRhcmdldCBhcmNoaXRlY3R1cmUsIHRoZXNlIGFyZSB3aXRoaW4gdGhlIHRhcmdldAotc3lzcm9vdCBhbmQgbm90IGNyb3NzL25hdGl2ZXNkazsgdGh1cyB0aGV5IHdlcmVuJ3QgYWJsZSB0byBiZQotZm91bmQgYnkgZ2NjIHdpdGggdGhlIGV4aXN0aW5nIHNlYXJjaCBwYXRocy4gQWRkIHN1cHBvcnQgZm9yCi1waWNraW5nIHVwIHRoZXNlIGhlYWRlcnMgdW5kZXIgdGhlIHN5c3Jvb3Qgc3VwcGxpZWQgb24gdGhlIGdjYwotY29tbWFuZCBsaW5lIGluIG9yZGVyIHRvIHJlc29sdmUgdGhpcy4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IFBhdWwgRWdnbGV0b24gPHBhdWwuZWdnbGV0b25AbGludXguaW50ZWwuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGdjYy9NYWtlZmlsZS5pbiAgfCAyICsrCi0gZ2NjL2NwcGRlZmF1bHQuYyB8IDQgKysrKwotIGdjYy9kZWZhdWx0cy5oICAgfCA5ICsrKysrKysrKwotIGdjYy9nY2MuYyAgICAgICAgfCA3IC0tLS0tLS0KLSA0IGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvTWFrZWZpbGUuaW4gYi9nY2MvTWFrZWZpbGUuaW4KLWluZGV4IDcxYTgyNzVjMzlmLi41YWU2OTNmYjA2YyAxMDA2NDQKLS0tLSBhL2djYy9NYWtlZmlsZS5pbgotKysrIGIvZ2NjL01ha2VmaWxlLmluCi1AQCAtNjE0LDYgKzYxNCw3IEBAIGxpYmV4ZWNkaXIgPSBAbGliZXhlY2RpckAKLSAKLSAjIERpcmVjdG9yeSBpbiB3aGljaCB0aGUgY29tcGlsZXIgZmluZHMgbGlicmFyaWVzIGV0Yy4KLSBsaWJzdWJkaXIgPSAkKGxpYmRpcikvZ2NjLyQocmVhbF90YXJnZXRfbm9uY2Fub25pY2FsKS8kKHZlcnNpb24pJChhY2NlbF9kaXJfc3VmZml4KQotK2xpYnN1YmRpcl90YXJnZXQgPSBnY2MvJCh0YXJnZXRfbm9uY2Fub25pY2FsKS8kKHZlcnNpb24pCi0gIyBEaXJlY3RvcnkgaW4gd2hpY2ggdGhlIGNvbXBpbGVyIGZpbmRzIGV4ZWN1dGFibGVzCi0gbGliZXhlY3N1YmRpciA9ICQobGliZXhlY2RpcikvZ2NjLyQocmVhbF90YXJnZXRfbm9uY2Fub25pY2FsKS8kKHZlcnNpb24pJChhY2NlbF9kaXJfc3VmZml4KQotICMgRGlyZWN0b3J5IGluIHdoaWNoIGFsbCBwbHVnaW4gcmVzb3VyY2VzIGFyZSBpbnN0YWxsZWQKLUBAIC0yODcwLDYgKzI4NzEsNyBAQCBDRkxBR1MtaW50bC5vICs9IC1ETE9DQUxFRElSPVwiJChsb2NhbGVkaXIpXCIKLSAKLSBQUkVQUk9DRVNTT1JfREVGSU5FUyA9IFwKLSAgIC1ER0NDX0lOQ0xVREVfRElSPVwiJChsaWJzdWJkaXIpL2luY2x1ZGVcIiBcCi0rICAtREdDQ19JTkNMVURFX1NVQkRJUl9UQVJHRVQ9XCIkKGxpYnN1YmRpcl90YXJnZXQpL2luY2x1ZGVcIiBcCi0gICAtREZJWEVEX0lOQ0xVREVfRElSPVwiJChsaWJzdWJkaXIpL2luY2x1ZGUtZml4ZWRcIiBcCi0gICAtREdQTFVTUExVU19JTkNMVURFX0RJUj1cIiQoZ2NjX2d4eF9pbmNsdWRlX2RpcilcIiBcCi0gICAtREdQTFVTUExVU19JTkNMVURFX0RJUl9BRERfU1lTUk9PVD0kKGdjY19neHhfaW5jbHVkZV9kaXJfYWRkX3N5c3Jvb3QpIFwKLWRpZmYgLS1naXQgYS9nY2MvY3BwZGVmYXVsdC5jIGIvZ2NjL2NwcGRlZmF1bHQuYwotaW5kZXggYjM2YTk3OWQ1YmEuLmUyZTE4N2RlZGFmIDEwMDY0NAotLS0tIGEvZ2NjL2NwcGRlZmF1bHQuYwotKysrIGIvZ2NjL2NwcGRlZmF1bHQuYwotQEAgLTU5LDYgKzU5LDEwIEBAIGNvbnN0IHN0cnVjdCBkZWZhdWx0X2luY2x1ZGUgY3BwX2luY2x1ZGVfZGVmYXVsdHNbXQotICAgICAvKiBUaGlzIGlzIHRoZSBkaXIgZm9yIGdjYydzIHByaXZhdGUgaGVhZGVycy4gICovCi0gICAgIHsgR0NDX0lOQ0xVREVfRElSLCAiR0NDIiwgMCwgMCwgMCwgMCB9LAotICNlbmRpZgotKyNpZmRlZiBHQ0NfSU5DTFVERV9TVUJESVJfVEFSR0VUCi0rICAgIC8qIFRoaXMgaXMgdGhlIGRpciBmb3IgZ2NjJ3MgcHJpdmF0ZSBoZWFkZXJzIHVuZGVyIHRoZSBzcGVjaWZpZWQgc3lzcm9vdC4gICovCi0rICAgIHsgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8yIEdDQ19JTkNMVURFX1NVQkRJUl9UQVJHRVQsICJHQ0MiLCAwLCAwLCAxLCAwIH0sCi0rI2VuZGlmCi0gI2lmZGVmIExPQ0FMX0lOQ0xVREVfRElSCi0gICAgIC8qIC91c3IvbG9jYWwvaW5jbHVkZSBjb21lcyBiZWZvcmUgdGhlIGZpeGluY2x1ZGVkIGhlYWRlciBmaWxlcy4gICovCi0gICAgIHsgTE9DQUxfSU5DTFVERV9ESVIsIDAsIDAsIDEsIDEsIDIgfSwKLWRpZmYgLS1naXQgYS9nY2MvZGVmYXVsdHMuaCBiL2djYy9kZWZhdWx0cy5oCi1pbmRleCA3OGEwOGEzM2YxMi4uYzg4NTEyNzc2NzQgMTAwNjQ0Ci0tLS0gYS9nY2MvZGVmYXVsdHMuaAotKysrIGIvZ2NjL2RlZmF1bHRzLmgKLUBAIC0xNDUxLDQgKzE0NTEsMTMgQEAgc2VlIHRoZSBmaWxlcyBDT1BZSU5HMyBhbmQgQ09QWUlORy5SVU5USU1FIHJlc3BlY3RpdmVseS4gIElmIG5vdCwgc2VlCi0gI2RlZmluZSBEV0FSRl9HTkFUX0VOQ09ESU5HU19ERUZBVUxUIERXQVJGX0dOQVRfRU5DT0RJTkdTX0dEQgotICNlbmRpZgotIAotKy8qIERlZmF1bHQgcHJlZml4ZXMgdG8gYXR0YWNoIHRvIGNvbW1hbmQgbmFtZXMuICAqLwotKwotKyNpZm5kZWYgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8xCi0rI2RlZmluZSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzEgIi9saWIvIgotKyNlbmRpZgotKyNpZm5kZWYgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8yCi0rI2RlZmluZSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzIgIi91c3IvbGliLyIKLSsjZW5kaWYKLSsKLSAjZW5kaWYgIC8qICEgR0NDX0RFRkFVTFRTX0ggKi8KLWRpZmYgLS1naXQgYS9nY2MvZ2NjLmMgYi9nY2MvZ2NjLmMKLWluZGV4IDU3MGNkYzAwMDM0Li4zZmI2NGQ0NTNmMSAxMDA2NDQKLS0tLSBhL2djYy9nY2MuYwotKysrIGIvZ2NjL2djYy5jCi1AQCAtMTQ2NCwxMyArMTQ2NCw2IEBAIHN0YXRpYyBjb25zdCBjaGFyICpnY2NfbGliZXhlY19wcmVmaXg7Ci0gCi0gLyogRGVmYXVsdCBwcmVmaXhlcyB0byBhdHRhY2ggdG8gY29tbWFuZCBuYW1lcy4gICovCi0gCi0tI2lmbmRlZiBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzEKLS0jZGVmaW5lIFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMSAiL2xpYi8iCi0tI2VuZGlmCi0tI2lmbmRlZiBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzIKLS0jZGVmaW5lIFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMiAiL3Vzci9saWIvIgotLSNlbmRpZgotLQotICNpZmRlZiBDUk9TU19ESVJFQ1RPUllfU1RSVUNUVVJFICAvKiBEb24ndCB1c2UgdGhlc2UgcHJlZml4ZXMgZm9yIGEgY3Jvc3MgY29tcGlsZXIuICAqLwotICN1bmRlZiBNRF9FWEVDX1BSRUZJWAotICN1bmRlZiBNRF9TVEFSVEZJTEVfUFJFRklYCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDI0LWdjYy00Ljgtd29uLXQtYnVpbGQtd2l0aC1kaXNhYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDI0LWdjYy00Ljgtd29uLXQtYnVpbGQtd2l0aC1kaXNhYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY3YjQ3ZjQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAyNC1nY2MtNC44LXdvbi10LWJ1aWxkLXdpdGgtZGlzYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotRnJvbSA1N2JlZWY2OTM5NmY2YzE4NzAxNGI4ZTYxY2RjOTY2MjE4NDc5ZDA3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjAgRmViIDIwMTUgMTE6MTc6MTkgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAyNC8zOV0gZ2NjIDQuOCsgd29uJ3QgYnVpbGQgd2l0aCAtLWRpc2FibGUtZGVwZW5kZW5jeS10cmFja2luZwotCi1zaW5jZSB0aGUgKi5QcG8gZmlsZXMgZG9uJ3QgZ2V0IGNyZWF0ZWQgdW5sZXNzIC0tZW5hYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcgaXMgdHJ1ZS4KLQotVGhpcyBwYXRjaCBlbnN1cmVzIHdlIG9ubHkgdXNlIHRob3NlIGNvbXBpbGVyIG9wdGlvbnMgd2hlbiBpdHMgZW5hYmxlZC4KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKLQotKFByb2JsZW0gd2FzIGFscmVhZHkgcmVwb3J0ZWQgdXBzdHJlYW0sIGF0dGFjaGVkIHRoaXMgcGF0Y2ggdGhlcmUKLWh0dHA6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NTU5MzApCi0KLVJQCi0yMDEyLzA5LzIyCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBsaWJhdG9taWMvTWFrZWZpbGUuYW0gfCAzICsrLQotIGxpYmF0b21pYy9NYWtlZmlsZS5pbiB8IDMgKystCi0gMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJhdG9taWMvTWFrZWZpbGUuYW0gYi9saWJhdG9taWMvTWFrZWZpbGUuYW0KLWluZGV4IDgwM2IyOTJjY2U1Li5iNDc4NDJlYjU5MCAxMDA2NDQKLS0tLSBhL2xpYmF0b21pYy9NYWtlZmlsZS5hbQotKysrIGIvbGliYXRvbWljL01ha2VmaWxlLmFtCi1AQCAtMTAxLDcgKzEwMSw4IEBAIFBBVF9TCQk9ICQod29yZCAzLCQoUEFUX1NQTElUKSkKLSBJRlVOQ19ERUYJPSAtRElGVU5DX0FMVD0kKFBBVF9TKQotIElGVU5DX09QVAk9ICQod29yZCAkKFBBVF9TKSwkKElGVU5DX09QVElPTlMpKQotIAotLU1fREVQUwkJPSAtTVQgJEAgLU1EIC1NUCAtTUYgJChERVBESVIpLyQoQEYpLlBwbwotK0BBTURFUF9UUlVFQE1fREVQUwkJPSAtTVQgJEAgLU1EIC1NUCAtTUYgJChERVBESVIpLyQoQEYpLlBwbwotK0BBTURFUF9GQUxTRUBNX0RFUFMJCT0KLSBNX1NJWkUJCT0gLUROPSQoUEFUX04pCi0gTV9JRlVOQwkJPSAkKGlmICQoUEFUX1MpLCQoSUZVTkNfREVGKSAkKElGVU5DX09QVCkpCi0gTV9GSUxFCQk9ICQoUEFUX0JBU0UpX24uYwotZGlmZiAtLWdpdCBhL2xpYmF0b21pYy9NYWtlZmlsZS5pbiBiL2xpYmF0b21pYy9NYWtlZmlsZS5pbgotaW5kZXggYzhmMzhiZTU4MzUuLjRmYWI3Y2VjM2VhIDEwMDY0NAotLS0tIGEvbGliYXRvbWljL01ha2VmaWxlLmluCi0rKysgYi9saWJhdG9taWMvTWFrZWZpbGUuaW4KLUBAIC0zMzUsNyArMzM1LDggQEAgUEFUX04gPSAkKHdvcmQgMiwkKFBBVF9TUExJVCkpCi0gUEFUX1MgPSAkKHdvcmQgMywkKFBBVF9TUExJVCkpCi0gSUZVTkNfREVGID0gLURJRlVOQ19BTFQ9JChQQVRfUykKLSBJRlVOQ19PUFQgPSAkKHdvcmQgJChQQVRfUyksJChJRlVOQ19PUFRJT05TKSkKLS1NX0RFUFMgPSAtTVQgJEAgLU1EIC1NUCAtTUYgJChERVBESVIpLyQoQEYpLlBwbwotK0BBTURFUF9UUlVFQE1fREVQUyA9IC1NVCAkQCAtTUQgLU1QIC1NRiAkKERFUERJUikvJChARikuUHBvCi0rQEFNREVQX0ZBTFNFQE1fREVQUyA9Ci0gTV9TSVpFID0gLUROPSQoUEFUX04pCi0gTV9JRlVOQyA9ICQoaWYgJChQQVRfUyksJChJRlVOQ19ERUYpICQoSUZVTkNfT1BUKSkKLSBNX0ZJTEUgPSAkKFBBVF9CQVNFKV9uLmMKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMjUtRG9uLXQtc2VhcmNoLWhvc3QtZGlyZWN0b3J5LWR1cmluZy1yZWxpbmstaWYtaW5zdF9wci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMjUtRG9uLXQtc2VhcmNoLWhvc3QtZGlyZWN0b3J5LWR1cmluZy1yZWxpbmstaWYtaW5zdF9wci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDhiMzViYi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDI1LURvbi10LXNlYXJjaC1ob3N0LWRpcmVjdG9yeS1kdXJpbmctcmVsaW5rLWlmLWluc3RfcHIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi1Gcm9tIGZkOTZjOWIzNWM1OTJmMWJkZDMyYmM1YWU2NjkxNTc0NzNlNDQwNjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVHVlLCAzIE1hciAyMDE1IDA4OjIxOjE5ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMjUvMzldIERvbid0IHNlYXJjaCBob3N0IGRpcmVjdG9yeSBkdXJpbmcgInJlbGluayIgaWYKLSAkaW5zdF9wcmVmaXggaXMgcHJvdmlkZWQKLQotaHR0cDovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2xpYnRvb2wtcGF0Y2hlcy8yMDExLTAxL21zZzAwMDI2Lmh0bWwKLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGx0bWFpbi5zaCB8IDUgKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbHRtYWluLnNoIGIvbHRtYWluLnNoCi1pbmRleCA1MmJkYmRiNWY5Yy4uODJiY2VjMzlmMDUgMTAwNjQ0Ci0tLS0gYS9sdG1haW4uc2gKLSsrKyBiL2x0bWFpbi5zaAotQEAgLTYwMDQsMTIgKzYwMDQsMTMgQEAgZnVuY19tb2RlX2xpbmsgKCkKLSAJICAgICAgZmkKLSAJICAgIGVsc2UKLSAJICAgICAgIyBXZSBjYW5ub3Qgc2VlbSB0byBoYXJkY29kZSBpdCwgZ3Vlc3Mgd2UnbGwgZmFrZSBpdC4KLSsJICAgICAgIyBEZWZhdWx0IGlmICRsaWJkaXIgaXMgbm90IHJlbGF0aXZlIHRvIHRoZSBwcmVmaXg6Ci0gCSAgICAgIGFkZF9kaXI9Ii1MJGxpYmRpciIKLS0JICAgICAgIyBUcnkgbG9va2luZyBmaXJzdCBpbiB0aGUgbG9jYXRpb24gd2UncmUgYmVpbmcgaW5zdGFsbGVkIHRvLgotKwotIAkgICAgICBpZiB0ZXN0IC1uICIkaW5zdF9wcmVmaXhfZGlyIjsgdGhlbgotIAkJY2FzZSAkbGliZGlyIGluCi0gCQkgIFtcXC9dKikKLS0JCSAgICBhZGRfZGlyPSIkYWRkX2RpciAtTCRpbnN0X3ByZWZpeF9kaXIkbGliZGlyIgotKwkJICAgIGFkZF9kaXI9Ii1MJGluc3RfcHJlZml4X2RpciRsaWJkaXIiCi0gCQkgICAgOzsKLSAJCWVzYWMKLSAJICAgICAgZmkKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMjYtVXNlLVNZU1RFTUxJQlNfRElSLXJlcGxhY2VtZW50LWluc3RlYWQtb2YtaGFyZGNvZGluZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMjYtVXNlLVNZU1RFTUxJQlNfRElSLXJlcGxhY2VtZW50LWluc3RlYWQtb2YtaGFyZGNvZGluZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDNhYjVhYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDI2LVVzZS1TWVNURU1MSUJTX0RJUi1yZXBsYWNlbWVudC1pbnN0ZWFkLW9mLWhhcmRjb2RpbmcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1Gcm9tIGMyZTQwMGFmZThjNTE0MzU3ODU5ZmNhODhhZjRkM2UxZmNiZmUyZmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVHVlLCAyOCBBcHIgMjAxNSAyMzoxNToyNyAtMDcwMAotU3ViamVjdDogW1BBVENIIDI2LzM5XSBVc2UgU1lTVEVNTElCU19ESVIgcmVwbGFjZW1lbnQgaW5zdGVhZCBvZiBoYXJkY29kaW5nCi0gYmFzZV9saWJkaXIKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLSBnY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1saW51eC5oIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtbGludXguaCBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmgKLWluZGV4IGJmMTMyN2U5OGNjLi42NDQzNjE4M2JjOCAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmgKLSsrKyBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmgKLUBAIC0yMSw3ICsyMSw3IEBACi0gI2lmbmRlZiBHQ0NfQUFSQ0g2NF9MSU5VWF9ICi0gI2RlZmluZSBHQ0NfQUFSQ0g2NF9MSU5VWF9ICi0gCi0tI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1saW51eC1hYXJjaDY0JXttYmlnLWVuZGlhbjpfYmV9JXttYWJpPWlscDMyOl9pbHAzMn0uc28uMSIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSICBTWVNURU1MSUJTX0RJUiAibGQtbGludXgtYWFyY2g2NCV7bWJpZy1lbmRpYW46X2JlfSV7bWFiaT1pbHAzMjpfaWxwMzJ9LnNvLjEiCi0gCi0gI3VuZGVmIE1VU0xfRFlOQU1JQ19MSU5LRVIKLSAjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbXVzbC1hYXJjaDY0JXttYmlnLWVuZGlhbjpfYmV9JXttYWJpPWlscDMyOl9pbHAzMn0uc28uMSIKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMjctYWFyY2g2NC1BZGQtc3VwcG9ydC1mb3ItbXVzbC1sZHNvLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAyNy1hYXJjaDY0LUFkZC1zdXBwb3J0LWZvci1tdXNsLWxkc28ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDllNWNlOGEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAyNy1hYXJjaDY0LUFkZC1zdXBwb3J0LWZvci1tdXNsLWxkc28ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1Gcm9tIGEyY2MxNzU3NjlmZDgyNTU3NTBlYWVjYWU2NGUzZDFmOWMzOGQ0OGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVHVlLCAyOCBBcHIgMjAxNSAyMzoxODozOSAtMDcwMAotU3ViamVjdDogW1BBVENIIDI3LzM5XSBhYXJjaDY0OiBBZGQgc3VwcG9ydCBmb3IgbXVzbCBsZHNvCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0gZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtbGludXguaCB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmggYi9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1saW51eC5oCi1pbmRleCA2NDQzNjE4M2JjOC4uYmExNTY2NzYwMjYgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1saW51eC5oCi0rKysgYi9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1saW51eC5oCi1AQCAtMjQsNyArMjQsNyBAQAotICNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC1hYXJjaDY0JXttYmlnLWVuZGlhbjpfYmV9JXttYWJpPWlscDMyOl9pbHAzMn0uc28uMSIKLSAKLSAjdW5kZWYgTVVTTF9EWU5BTUlDX0xJTktFUgotLSNkZWZpbmUgTVVTTF9EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1tdXNsLWFhcmNoNjQle21iaWctZW5kaWFuOl9iZX0le21hYmk9aWxwMzI6X2lscDMyfS5zby4xIgotKyNkZWZpbmUgTVVTTF9EWU5BTUlDX0xJTktFUiAgU1lTVEVNTElCU19ESVIgImxkLW11c2wtYWFyY2g2NCV7bWJpZy1lbmRpYW46X2JlfSV7bWFiaT1pbHAzMjpfaWxwMzJ9LnNvLjEiCi0gCi0gI3VuZGVmICBBU0FOX0NDMV9TUEVDCi0gI2RlZmluZSBBU0FOX0NDMV9TUEVDICIleyU6c2FuaXRpemUoYWRkcmVzcyk6LWZ1bndpbmQtdGFibGVzfSIKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMjgtbGliY2MxLWZpeC1saWJjYzEtcy1pbnN0YWxsLXBhdGgtYW5kLXJwYXRoLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAyOC1saWJjYzEtZml4LWxpYmNjMS1zLWluc3RhbGwtcGF0aC1hbmQtcnBhdGgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI2NzNmNGUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAyOC1saWJjYzEtZml4LWxpYmNjMS1zLWluc3RhbGwtcGF0aC1hbmQtcnBhdGgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi1Gcm9tIGE4YThhMDI3ODhmZjk4ZjI1M2NlMGIzM2FkY2IwZTY2MWQyNGIxZTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KLURhdGU6IFN1biwgNSBKdWwgMjAxNSAyMDoyNToxOCAtMDcwMAotU3ViamVjdDogW1BBVENIIDI4LzM5XSBsaWJjYzE6IGZpeCBsaWJjYzEncyBpbnN0YWxsIHBhdGggYW5kIHJwYXRoCi0KLSogSW5zdGFsbCBsaWJjYzEuc28gYW5kIGxpYmNjMXBsdWdpbi5zbyBpbnRvCi0gICQobGliZXhlY2RpcikvZ2NjLyQodGFyZ2V0X25vbmNhbm9uaWNhbCkvJChnY2NfdmVyc2lvbiksIGFzIHdoYXQgd2UKLSAgaGFkIGRvbmUgdG8gbHRvLXBsdWdpbi4KLSogRml4IGJhZCBSUEFUSCBpdXNzdWU6Ci0gIGdjYy01LjIuMDogcGFja2FnZSBnY2MtcGx1Z2lucyBjb250YWlucyBiYWQgUlBBVEggL3BhdGh0L3RvL3RtcC9zeXNyb290cy9xZW11eDg2LTY0L3Vzci9saWI2NC8uLi9saWI2NCBpbiBmaWxlCi0gL3BhdGgvdG8vZ2NjLzUuMi4wLXIwL3BhY2thZ2VzLXNwbGl0L2djYy1wbHVnaW5zL3Vzci9saWI2NC9nY2MveDg2XzY0LXBva3ktbGludXgvNS4yLjAvcGx1Z2luL2xpYmNjMXBsdWdpbi5zby4wLjAuMAotIFtycGF0aHNdCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0UgY29uZmlndXJhdGlvbl0KLQotU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBsaWJjYzEvTWFrZWZpbGUuYW0gfCA0ICsrLS0KLSBsaWJjYzEvTWFrZWZpbGUuaW4gfCA0ICsrLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2xpYmNjMS9NYWtlZmlsZS5hbSBiL2xpYmNjMS9NYWtlZmlsZS5hbQotaW5kZXggNmVjYjY2YjQzNjUuLjYzNGNjZTNjMmE5IDEwMDY0NAotLS0tIGEvbGliY2MxL01ha2VmaWxlLmFtCi0rKysgYi9saWJjYzEvTWFrZWZpbGUuYW0KLUBAIC0zNyw4ICszNyw4IEBAIGxpYmliZXJ0eSA9ICQoaWYgJCh3aWxkY2FyZCAkKGxpYmliZXJ0eV9ub2FzYW4pKSwkKFdjKSQobGliaWJlcnR5X25vYXNhbiksIFwKLSAJICAgICQoV2MpJChsaWJpYmVydHlfbm9ybWFsKSkpCi0gbGliaWJlcnR5X2RlcCA9ICQocGF0c3Vic3QgJChXYyklLCUsJChsaWJpYmVydHkpKQotIAotLXBsdWdpbmRpciA9ICQobGliZGlyKS9nY2MvJCh0YXJnZXRfbm9uY2Fub25pY2FsKS8kKGdjY192ZXJzaW9uKS9wbHVnaW4KLS1jYzFsaWJkaXIgPSAkKGxpYmRpcikvJChsaWJzdWZmaXgpCi0rY2MxbGliZGlyID0gJChsaWJleGVjZGlyKS9nY2MvJCh0YXJnZXRfbm9uY2Fub25pY2FsKS8kKGdjY192ZXJzaW9uKQotK3BsdWdpbmRpciA9ICQoY2MxbGliZGlyKQotIAotIGlmIEVOQUJMRV9QTFVHSU4KLSBwbHVnaW5fTFRMSUJSQVJJRVMgPSBsaWJjYzFwbHVnaW4ubGEgbGliY3AxcGx1Z2luLmxhCi1kaWZmIC0tZ2l0IGEvbGliY2MxL01ha2VmaWxlLmluIGIvbGliY2MxL01ha2VmaWxlLmluCi1pbmRleCA0N2JlMTAwMjVhZC4uOGQ1NDgxZDg3YmQgMTAwNjQ0Ci0tLS0gYS9saWJjYzEvTWFrZWZpbGUuaW4KLSsrKyBiL2xpYmNjMS9NYWtlZmlsZS5pbgotQEAgLTMwMyw4ICszMDMsOCBAQCBsaWJpYmVydHkgPSAkKGlmICQod2lsZGNhcmQgJChsaWJpYmVydHlfbm9hc2FuKSksJChXYykkKGxpYmliZXJ0eV9ub2FzYW4pLCBcCi0gCSAgICAkKFdjKSQobGliaWJlcnR5X25vcm1hbCkpKQotIAotIGxpYmliZXJ0eV9kZXAgPSAkKHBhdHN1YnN0ICQoV2MpJSwlLCQobGliaWJlcnR5KSkKLS1wbHVnaW5kaXIgPSAkKGxpYmRpcikvZ2NjLyQodGFyZ2V0X25vbmNhbm9uaWNhbCkvJChnY2NfdmVyc2lvbikvcGx1Z2luCi0tY2MxbGliZGlyID0gJChsaWJkaXIpLyQobGlic3VmZml4KQotK2NjMWxpYmRpciA9ICQobGliZXhlY2RpcikvZ2NjLyQodGFyZ2V0X25vbmNhbm9uaWNhbCkvJChnY2NfdmVyc2lvbikKLStwbHVnaW5kaXIgPSAkKGNjMWxpYmRpcikKLSBARU5BQkxFX1BMVUdJTl9UUlVFQHBsdWdpbl9MVExJQlJBUklFUyA9IGxpYmNjMXBsdWdpbi5sYSBsaWJjcDFwbHVnaW4ubGEKLSBARU5BQkxFX1BMVUdJTl9UUlVFQGNjMWxpYl9MVExJQlJBUklFUyA9IGxpYmNjMS5sYQotIHNoYXJlZF9zb3VyY2UgPSBjYWxsYmFja3MuY2MgY2FsbGJhY2tzLmhoIGNvbm5lY3Rpb24uY2MgY29ubmVjdGlvbi5oaCBcCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDI5LWhhbmRsZS1zeXNyb290LXN1cHBvcnQtZm9yLW5hdGl2ZXNkay1nY2MucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDI5LWhhbmRsZS1zeXNyb290LXN1cHBvcnQtZm9yLW5hdGl2ZXNkay1nY2MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcyN2JiMGQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAyOS1oYW5kbGUtc3lzcm9vdC1zdXBwb3J0LWZvci1uYXRpdmVzZGstZ2NjLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjEzICswLDAgQEAKLUZyb20gM2JiNzQ0OTVlNDVlMGU3OThkYWFlNTU1NjQ5N2U2ODhiOGZjNGVlZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDcgRGVjIDIwMTUgMjM6Mzk6NTQgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAyOS8zOV0gaGFuZGxlIHN5c3Jvb3Qgc3VwcG9ydCBmb3IgbmF0aXZlc2RrLWdjYwotCi1CZWluZyBhYmxlIHRvIGJ1aWxkIGEgbmF0aXZlc2RrIGdjYyBpcyB1c2VmdWwsIHBhcnRpY3VsYXJseSBpbiBjYXNlcwotd2hlcmUgdGhlIGhvc3QgY29tcGlsZXIgbWF5IGJlIG9mIGFuIGluY29tcGF0aWJsZSB2ZXJzaW9uIChvciBhIDMyCi1iaXQgY29tcGlsZXIgaXMgbmVlZGVkKS4KLQotU2FkbHksIGJ1aWxkaW5nIG5hdGl2ZXNkay1nY2MgaXMgbm90IHN0cmFpZ2h0IGZvcndhcmQuIFdlIGluc3RhbGwKLW5hdGl2ZXNkay1nY2MgaW50byBhIHJlbG9jYXRhYmxlIGxvY2F0aW9uIGFuZCB0aGlzIG1lYW5zIHRoYXQgaXRzCi1saWJyYXJ5IGxvY2F0aW9ucyBjYW4gY2hhbmdlLiAiTm9ybWFsIiBzeXNyb290IHN1cHBvcnQgZG9lc24ndCBoZWxwCi1pbiB0aGlzIGNhc2Ugc2luY2UgdGhlIHZhbHVlcyBvZiBwYXRocyBsaWtlICJsaWJkaXIiIGNoYW5nZSwgbm90IGp1c3QKLWJhc2Ugcm9vdCBkaXJlY3Rvcnkgb2YgdGhlIHN5c3RlbS4KLQotSW4gb3JkZXIgdG8gaGFuZGxlIHRoaXMgd2UgZG8gdHdvIHRoaW5nczoKLQotYSkgQWRkICVyIGludG8gc3BlYyBmaWxlIG1hcmt1cCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgaW5qZWN0ZWQgcGF0aHMKLSAgIHN1Y2ggYXMgU1lTVEVNTElCU19ESVIgKHNlZSBnY2NfbXVsdGlsaWJfc2V0dXAoKSkuCi1iKSBBZGQgb3RoZXIgcGF0aHMgd2hpY2ggbmVlZCByZWxvY2F0aW9uIGludG8gYSAuZ2NjcmVsb2NwcmVmaXggc2VjdGlvbgotICAgd2hpY2ggdGhlIHJlbG9jYXRpb24gY29kZSB3aWxsIG5vdGljZSBhbmQgYWRqdXN0IGF1dG9tYXRpY2FsbHkuCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZQotUlAgMjAxNS83LzI4Ci0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBnY2MvY3BwZGVmYXVsdC5jIHwgNTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCi0gZ2NjL2NwcGRlZmF1bHQuaCB8ICAzICsrLQotIGdjYy9nY2MuYyAgICAgICAgfCAyMCArKysrKysrKysrKysrLS0tLS0tCi0gMyBmaWxlcyBjaGFuZ2VkLCA1MyBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jcHBkZWZhdWx0LmMgYi9nY2MvY3BwZGVmYXVsdC5jCi1pbmRleCBlMmUxODdkZWRhZi4uMmZhYmEyYjFkNjMgMTAwNjQ0Ci0tLS0gYS9nY2MvY3BwZGVmYXVsdC5jCi0rKysgYi9nY2MvY3BwZGVmYXVsdC5jCi1AQCAtMzUsNiArMzUsMzAgQEAKLSAjIHVuZGVmIENST1NTX0lOQ0xVREVfRElSCi0gI2VuZGlmCi0gCi0rc3RhdGljIGNoYXIgR1BMVVNQTFVTX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IEdQTFVTUExVU19JTkNMVURFX0RJUjsKLStzdGF0aWMgY2hhciBHQ0NfSU5DTFVERV9ESVJWQVJbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gR0NDX0lOQ0xVREVfRElSOwotK3N0YXRpYyBjaGFyIEdQTFVTUExVU19UT09MX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IEdQTFVTUExVU19UT09MX0lOQ0xVREVfRElSOwotK3N0YXRpYyBjaGFyIEdQTFVTUExVU19CQUNLV0FSRF9JTkNMVURFX0RJUlZBUls0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBHUExVU1BMVVNfQkFDS1dBUkRfSU5DTFVERV9ESVI7Ci0rc3RhdGljIGNoYXIgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8yVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMiBHQ0NfSU5DTFVERV9TVUJESVJfVEFSR0VUOwotKyNpZmRlZiBMT0NBTF9JTkNMVURFX0RJUgotK3N0YXRpYyBjaGFyIExPQ0FMX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IExPQ0FMX0lOQ0xVREVfRElSOwotKyNlbmRpZgotKyNpZmRlZiBQUkVGSVhfSU5DTFVERV9ESVIKLStzdGF0aWMgY2hhciBQUkVGSVhfSU5DTFVERV9ESVJWQVJbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gUFJFRklYX0lOQ0xVREVfRElSOwotKyNlbmRpZgotKyNpZmRlZiBGSVhFRF9JTkNMVURFX0RJUgotK3N0YXRpYyBjaGFyIEZJWEVEX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IEZJWEVEX0lOQ0xVREVfRElSOwotKyNlbmRpZgotKyNpZmRlZiBDUk9TU19JTkNMVURFX0RJUgotK3N0YXRpYyBjaGFyIENST1NTX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IENST1NTX0lOQ0xVREVfRElSOwotKyNlbmRpZgotKyNpZmRlZiBUT09MX0lOQ0xVREVfRElSCi0rc3RhdGljIGNoYXIgVE9PTF9JTkNMVURFX0RJUlZBUls0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBUT09MX0lOQ0xVREVfRElSOwotKyNlbmRpZgotKyNpZmRlZiBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVIKLStzdGF0aWMgY2hhciBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVJWQVJbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gTkFUSVZFX1NZU1RFTV9IRUFERVJfRElSOwotKyNlbmRpZgotKwotIGNvbnN0IHN0cnVjdCBkZWZhdWx0X2luY2x1ZGUgY3BwX2luY2x1ZGVfZGVmYXVsdHNbXQotICNpZmRlZiBJTkNMVURFX0RFRkFVTFRTCi0gPSBJTkNMVURFX0RFRkFVTFRTOwotQEAgLTQyLDM4ICs2NiwzOCBAQCBjb25zdCBzdHJ1Y3QgZGVmYXVsdF9pbmNsdWRlIGNwcF9pbmNsdWRlX2RlZmF1bHRzW10KLSA9IHsKLSAjaWZkZWYgR1BMVVNQTFVTX0lOQ0xVREVfRElSCi0gICAgIC8qIFBpY2sgdXAgR05VIEMrKyBnZW5lcmljIGluY2x1ZGUgZmlsZXMuICAqLwotLSAgICB7IEdQTFVTUExVU19JTkNMVURFX0RJUiwgIkcrKyIsIDEsIDEsCi0rICAgIHsgR1BMVVNQTFVTX0lOQ0xVREVfRElSVkFSLCAiRysrIiwgMSwgMSwKLSAgICAgICBHUExVU1BMVVNfSU5DTFVERV9ESVJfQUREX1NZU1JPT1QsIDAgfSwKLSAjZW5kaWYKLSAjaWZkZWYgR1BMVVNQTFVTX1RPT0xfSU5DTFVERV9ESVIKLSAgICAgLyogUGljayB1cCBHTlUgQysrIHRhcmdldC1kZXBlbmRlbnQgaW5jbHVkZSBmaWxlcy4gICovCi0tICAgIHsgR1BMVVNQTFVTX1RPT0xfSU5DTFVERV9ESVIsICJHKysiLCAxLCAxLAotKyAgICB7IEdQTFVTUExVU19UT09MX0lOQ0xVREVfRElSVkFSLCAiRysrIiwgMSwgMSwKLSAgICAgICBHUExVU1BMVVNfSU5DTFVERV9ESVJfQUREX1NZU1JPT1QsIDEgfSwKLSAjZW5kaWYKLSAjaWZkZWYgR1BMVVNQTFVTX0JBQ0tXQVJEX0lOQ0xVREVfRElSCi0gICAgIC8qIFBpY2sgdXAgR05VIEMrKyBiYWNrd2FyZCBhbmQgZGVwcmVjYXRlZCBpbmNsdWRlIGZpbGVzLiAgKi8KLS0gICAgeyBHUExVU1BMVVNfQkFDS1dBUkRfSU5DTFVERV9ESVIsICJHKysiLCAxLCAxLAotKyAgICB7IEdQTFVTUExVU19CQUNLV0FSRF9JTkNMVURFX0RJUlZBUiwgIkcrKyIsIDEsIDEsCi0gICAgICAgR1BMVVNQTFVTX0lOQ0xVREVfRElSX0FERF9TWVNST09ULCAwIH0sCi0gI2VuZGlmCi0gI2lmZGVmIEdDQ19JTkNMVURFX0RJUgotICAgICAvKiBUaGlzIGlzIHRoZSBkaXIgZm9yIGdjYydzIHByaXZhdGUgaGVhZGVycy4gICovCi0tICAgIHsgR0NDX0lOQ0xVREVfRElSLCAiR0NDIiwgMCwgMCwgMCwgMCB9LAotKyAgICB7IEdDQ19JTkNMVURFX0RJUlZBUiwgIkdDQyIsIDAsIDAsIDAsIDAgfSwKLSAjZW5kaWYKLSAjaWZkZWYgR0NDX0lOQ0xVREVfU1VCRElSX1RBUkdFVAotICAgICAvKiBUaGlzIGlzIHRoZSBkaXIgZm9yIGdjYydzIHByaXZhdGUgaGVhZGVycyB1bmRlciB0aGUgc3BlY2lmaWVkIHN5c3Jvb3QuICAqLwotLSAgICB7IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMiBHQ0NfSU5DTFVERV9TVUJESVJfVEFSR0VULCAiR0NDIiwgMCwgMCwgMSwgMCB9LAotKyAgICB7IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMlZBUiwgIkdDQyIsIDAsIDAsIDEsIDAgfSwKLSAjZW5kaWYKLSAjaWZkZWYgTE9DQUxfSU5DTFVERV9ESVIKLSAgICAgLyogL3Vzci9sb2NhbC9pbmNsdWRlIGNvbWVzIGJlZm9yZSB0aGUgZml4aW5jbHVkZWQgaGVhZGVyIGZpbGVzLiAgKi8KLS0gICAgeyBMT0NBTF9JTkNMVURFX0RJUiwgMCwgMCwgMSwgMSwgMiB9LAotLSAgICB7IExPQ0FMX0lOQ0xVREVfRElSLCAwLCAwLCAxLCAxLCAwIH0sCi0rICAgIHsgTE9DQUxfSU5DTFVERV9ESVJWQVIsIDAsIDAsIDEsIDEsIDIgfSwKLSsgICAgeyBMT0NBTF9JTkNMVURFX0RJUlZBUiwgMCwgMCwgMSwgMSwgMCB9LAotICNlbmRpZgotICNpZmRlZiBQUkVGSVhfSU5DTFVERV9ESVIKLS0gICAgeyBQUkVGSVhfSU5DTFVERV9ESVIsIDAsIDAsIDEsIDAsIDAgfSwKLSsgICAgeyBQUkVGSVhfSU5DTFVERV9ESVJWQVIsIDAsIDAsIDEsIDAsIDAgfSwKLSAjZW5kaWYKLSAjaWZkZWYgRklYRURfSU5DTFVERV9ESVIKLSAgICAgLyogVGhpcyBpcyB0aGUgZGlyIGZvciBmaXhpbmNsdWRlcy4gICovCi0tICAgIHsgRklYRURfSU5DTFVERV9ESVIsICJHQ0MiLCAwLCAwLCAwLAotKyAgICB7IEZJWEVEX0lOQ0xVREVfRElSVkFSLCAiR0NDIiwgMCwgMCwgMCwKLSAgICAgICAvKiBBIG11bHRpbGliIHN1ZmZpeCBuZWVkcyBhZGRpbmcgaWYgZGlmZmVyZW50IG11bHRpbGlicyB1c2UKLSAJIGRpZmZlcmVudCBoZWFkZXJzLiAgKi8KLSAjaWZkZWYgU1lTUk9PVF9IRUFERVJTX1NVRkZJWF9TUEVDCi1AQCAtODUsMTYgKzEwOSwxNiBAQCBjb25zdCBzdHJ1Y3QgZGVmYXVsdF9pbmNsdWRlIGNwcF9pbmNsdWRlX2RlZmF1bHRzW10KLSAjZW5kaWYKLSAjaWZkZWYgQ1JPU1NfSU5DTFVERV9ESVIKLSAgICAgLyogT25lIHBsYWNlIHRoZSB0YXJnZXQgc3lzdGVtJ3MgaGVhZGVycyBtaWdodCBiZS4gICovCi0tICAgIHsgQ1JPU1NfSU5DTFVERV9ESVIsICJHQ0MiLCAwLCAwLCAwLCAwIH0sCi0rICAgIHsgQ1JPU1NfSU5DTFVERV9ESVJWQVIsICJHQ0MiLCAwLCAwLCAwLCAwIH0sCi0gI2VuZGlmCi0gI2lmZGVmIFRPT0xfSU5DTFVERV9ESVIKLSAgICAgLyogQW5vdGhlciBwbGFjZSB0aGUgdGFyZ2V0IHN5c3RlbSdzIGhlYWRlcnMgbWlnaHQgYmUuICAqLwotLSAgICB7IFRPT0xfSU5DTFVERV9ESVIsICJCSU5VVElMUyIsIDAsIDEsIDAsIDAgfSwKLSsgICAgeyBUT09MX0lOQ0xVREVfRElSVkFSLCAiQklOVVRJTFMiLCAwLCAxLCAwLCAwIH0sCi0gI2VuZGlmCi0gI2lmZGVmIE5BVElWRV9TWVNURU1fSEVBREVSX0RJUgotICAgICAvKiAvdXNyL2luY2x1ZGUgY29tZXMgZGVhZCBsYXN0LiAgKi8KLS0gICAgeyBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVIsIE5BVElWRV9TWVNURU1fSEVBREVSX0NPTVBPTkVOVCwgMCwgMCwgMSwgMiB9LAotLSAgICB7IE5BVElWRV9TWVNURU1fSEVBREVSX0RJUiwgTkFUSVZFX1NZU1RFTV9IRUFERVJfQ09NUE9ORU5ULCAwLCAwLCAxLCAwIH0sCi0rICAgIHsgTkFUSVZFX1NZU1RFTV9IRUFERVJfRElSVkFSLCBOQVRJVkVfU1lTVEVNX0hFQURFUl9DT01QT05FTlQsIDAsIDAsIDEsIDIgfSwKLSsgICAgeyBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVJWQVIsIE5BVElWRV9TWVNURU1fSEVBREVSX0NPTVBPTkVOVCwgMCwgMCwgMSwgMCB9LAotICNlbmRpZgotICAgICB7IDAsIDAsIDAsIDAsIDAsIDAgfQotICAgfTsKLWRpZmYgLS1naXQgYS9nY2MvY3BwZGVmYXVsdC5oIGIvZ2NjL2NwcGRlZmF1bHQuaAotaW5kZXggNGEwMTg2ZDFjZjIuLjI5ZTVkOWRhMGRjIDEwMDY0NAotLS0tIGEvZ2NjL2NwcGRlZmF1bHQuaAotKysrIGIvZ2NjL2NwcGRlZmF1bHQuaAotQEAgLTMzLDcgKzMzLDggQEAKLSAKLSBzdHJ1Y3QgZGVmYXVsdF9pbmNsdWRlCi0gewotLSAgY29uc3QgY2hhciAqY29uc3QgZm5hbWU7CS8qIFRoZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkuICAqLwotKyAgY29uc3QgY2hhciAqZm5hbWU7ICAgICAvKiBUaGUgbmFtZSBvZiB0aGUgZGlyZWN0b3J5LiAgKi8KLSsKLSAgIGNvbnN0IGNoYXIgKmNvbnN0IGNvbXBvbmVudDsJLyogVGhlIGNvbXBvbmVudCBjb250YWluaW5nIHRoZSBkaXJlY3RvcnkKLSAJCQkJICAgKHNlZSB1cGRhdGVfcGF0aCBpbiBwcmVmaXguYykgKi8KLSAgIGNvbnN0IGNoYXIgY3BsdXNwbHVzOwkJLyogT25seSBsb29rIGhlcmUgaWYgd2UncmUgY29tcGlsaW5nIEMrKy4gICovCi1kaWZmIC0tZ2l0IGEvZ2NjL2djYy5jIGIvZ2NjL2djYy5jCi1pbmRleCAzZmI2NGQ0NTNmMS4uY2QwYzdmYmU5NjEgMTAwNjQ0Ci0tLS0gYS9nY2MvZ2NjLmMKLSsrKyBiL2djYy9nY2MuYwotQEAgLTI0OCw2ICsyNDgsOCBAQCBGSUxFICpyZXBvcnRfdGltZXNfdG9fZmlsZSA9IE5VTEw7Ci0gI2VuZGlmCi0gc3RhdGljIGNvbnN0IGNoYXIgKnRhcmdldF9zeXN0ZW1fcm9vdCA9IERFRkFVTFRfVEFSR0VUX1NZU1RFTV9ST09UOwotIAotK3N0YXRpYyBjaGFyIHRhcmdldF9yZWxvY2F0YWJsZV9wcmVmaXhbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gU1lTVEVNTElCU19ESVI7Ci0rCi0gLyogTm9uemVybyBtZWFucyBwYXNzIHRoZSB1cGRhdGVkIHRhcmdldF9zeXN0ZW1fcm9vdCB0byB0aGUgY29tcGlsZXIuICAqLwotIAotIHN0YXRpYyBpbnQgdGFyZ2V0X3N5c3RlbV9yb290X2NoYW5nZWQ7Ci1AQCAtNTE5LDYgKzUyMSw3IEBAIG9yIHdpdGggY29uc3RhbnQgdGV4dCBpbiBhIHNpbmdsZSBhcmd1bWVudC4KLSAgJUcgICAgIHByb2Nlc3MgTElCR0NDX1NQRUMgYXMgYSBzcGVjLgotICAlUiAgICAgT3V0cHV0IHRoZSBjb25jYXRlbmF0aW9uIG9mIHRhcmdldF9zeXN0ZW1fcm9vdCBhbmQKLSAgICAgICAgIHRhcmdldF9zeXNyb290X3N1ZmZpeC4KLSsgJXIgICAgIE91dHB1dCB0aGUgYmFzZSBwYXRoIHRhcmdldF9yZWxvY2F0YWJsZV9wcmVmaXgKLSAgJVMgICAgIHByb2Nlc3MgU1RBUlRGSUxFX1NQRUMgYXMgYSBzcGVjLiAgQSBjYXBpdGFsIFMgaXMgYWN0dWFsbHkgdXNlZCBoZXJlLgotICAlRSAgICAgcHJvY2VzcyBFTkRGSUxFX1NQRUMgYXMgYSBzcGVjLiAgQSBjYXBpdGFsIEUgaXMgYWN0dWFsbHkgdXNlZCBoZXJlLgotICAlQyAgICAgcHJvY2VzcyBDUFBfU1BFQyBhcyBhIHNwZWMuCi1AQCAtMTQ4NywxMCArMTQ5MCwxMCBAQCBzdGF0aWMgY29uc3QgY2hhciAqZ2NjX2xpYmV4ZWNfcHJlZml4OwotICAgIGdjY19leGVjX3ByZWZpeCBpcyBzZXQgYmVjYXVzZSwgaW4gdGhhdCBjYXNlLCB3ZSBrbm93IHdoZXJlIHRoZQotICAgIGNvbXBpbGVyIGhhcyBiZWVuIGluc3RhbGxlZCwgYW5kIHVzZSBwYXRocyByZWxhdGl2ZSB0byB0aGF0Ci0gICAgbG9jYXRpb24gaW5zdGVhZC4gICovCi0tc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX2V4ZWNfcHJlZml4ID0gU1RBTkRBUkRfRVhFQ19QUkVGSVg7Ci0tc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX2xpYmV4ZWNfcHJlZml4ID0gU1RBTkRBUkRfTElCRVhFQ19QUkVGSVg7Ci0tc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX2JpbmRpcl9wcmVmaXggPSBTVEFOREFSRF9CSU5ESVJfUFJFRklYOwotLXN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBzdGFuZGFyZF9zdGFydGZpbGVfcHJlZml4ID0gU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWDsKLStzdGF0aWMgY2hhciBzdGFuZGFyZF9leGVjX3ByZWZpeFs0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBTVEFOREFSRF9FWEVDX1BSRUZJWDsKLStzdGF0aWMgY2hhciBzdGFuZGFyZF9saWJleGVjX3ByZWZpeFs0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBTVEFOREFSRF9MSUJFWEVDX1BSRUZJWDsKLStzdGF0aWMgY2hhciBzdGFuZGFyZF9iaW5kaXJfcHJlZml4WzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IFNUQU5EQVJEX0JJTkRJUl9QUkVGSVg7Ci0rc3RhdGljIGNoYXIgKmNvbnN0IHN0YW5kYXJkX3N0YXJ0ZmlsZV9wcmVmaXggPSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYOwotIAotIC8qIEZvciBuYXRpdmUgY29tcGlsZXJzLCB0aGVzZSBhcmUgd2VsbC1rbm93biBwYXRocyBjb250YWluaW5nCi0gICAgY29tcG9uZW50cyB0aGF0IG1heSBiZSBwcm92aWRlZCBieSB0aGUgc3lzdGVtLiAgRm9yIGNyb3NzCi1AQCAtMTQ5OCw5ICsxNTAxLDkgQEAgc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX3N0YXJ0ZmlsZV9wcmVmaXggPSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYOwotIHN0YXRpYyBjb25zdCBjaGFyICptZF9leGVjX3ByZWZpeCA9IE1EX0VYRUNfUFJFRklYOwotIHN0YXRpYyBjb25zdCBjaGFyICptZF9zdGFydGZpbGVfcHJlZml4ID0gTURfU1RBUlRGSUxFX1BSRUZJWDsKLSBzdGF0aWMgY29uc3QgY2hhciAqbWRfc3RhcnRmaWxlX3ByZWZpeF8xID0gTURfU1RBUlRGSUxFX1BSRUZJWF8xOwotLXN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBzdGFuZGFyZF9zdGFydGZpbGVfcHJlZml4XzEKLStzdGF0aWMgY2hhciBzdGFuZGFyZF9zdGFydGZpbGVfcHJlZml4XzFbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpCi0gICA9IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMTsKLS1zdGF0aWMgY29uc3QgY2hhciAqY29uc3Qgc3RhbmRhcmRfc3RhcnRmaWxlX3ByZWZpeF8yCi0rc3RhdGljIGNoYXIgc3RhbmRhcmRfc3RhcnRmaWxlX3ByZWZpeF8yWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKQotICAgPSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzI7Ci0gCi0gLyogQSByZWxhdGl2ZSBwYXRoIHRvIGJlIHVzZWQgaW4gZmluZGluZyB0aGUgbG9jYXRpb24gb2YgdG9vbHMKLUBAIC01ODQ5LDYgKzU4NTIsMTEgQEAgZG9fc3BlY18xIChjb25zdCBjaGFyICpzcGVjLCBpbnQgaW5zd2l0Y2gsIGNvbnN0IGNoYXIgKnNvZnRfbWF0Y2hlZF9wYXJ0KQotIAkgICAgICB9Ci0gCSAgICBicmVhazsKLSAKLSsgICAgICAgICAgY2FzZSAncic6Ci0rICAgICAgICAgICAgICBvYnN0YWNrX2dyb3cgKCZvYnN0YWNrLCB0YXJnZXRfcmVsb2NhdGFibGVfcHJlZml4LAotKwkJICAgICAgc3RybGVuICh0YXJnZXRfcmVsb2NhdGFibGVfcHJlZml4KSk7Ci0rICAgICAgICAgICAgYnJlYWs7Ci0rCi0gCSAgY2FzZSAnUyc6Ci0gCSAgICB2YWx1ZSA9IGRvX3NwZWNfMSAoc3RhcnRmaWxlX3NwZWMsIDAsIE5VTEwpOwotIAkgICAgaWYgKHZhbHVlICE9IDApCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDMwLVNlYXJjaC10YXJnZXQtc3lzcm9vdC1nY2MtdmVyc2lvbi1zcGVjaWZpYy1kaXJzLXdpdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDMwLVNlYXJjaC10YXJnZXQtc3lzcm9vdC1nY2MtdmVyc2lvbi1zcGVjaWZpYy1kaXJzLXdpdGgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMzNTY2ZGYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAzMC1TZWFyY2gtdGFyZ2V0LXN5c3Jvb3QtZ2NjLXZlcnNpb24tc3BlY2lmaWMtZGlycy13aXRoLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTAyICswLDAgQEAKLUZyb20gZjVjYzhjZDBjNDQwOTJkYzQ4NzEwNmFkZTI3ZTAxMWMxZjU4NGFkYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDcgRGVjIDIwMTUgMjM6NDE6NDUgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzMC8zOV0gU2VhcmNoIHRhcmdldCBzeXNyb290IGdjYyB2ZXJzaW9uIHNwZWNpZmljIGRpcnMgd2l0aAotIG11bHRpbGliLgotCi1XZSBpbnN0YWxsIHRoZSBnY2MgbGlicmFyaWVzIChzdWNoIGFzIGNydGJlZ2luLnApIGludG8KLTxzeXNyb290PjxsaWJkaXI+Lzx0YXJnZXQtc3lzPi81LjIuMC8KLXdoaWNoIGlzIGEgZGVmYXVsdCBzZWFyY2ggcGF0aCBmb3IgR0NDIChha2EgbXVsdGlfc3VmZml4IGluIHRoZQotY29kZSBiZWxvdykuIDx0YXJnZXQtc3lzPiBpcyAnbWFjaGluZScgaW4gZ2NjJ3MgdGVybWlub2xvZ3kuIFdlIHVzZQotdGhlc2UgZGlyZWN0b3JpZXMgc28gdGhhdCBtdWx0aXBsZSBnY2MgdmVyc2lvbnMgY291bGQgaW4gdGhlb3J5Ci1jby1leGlzdCBvbiB0YXJnZXQuCi0KLVdlIG9ubHkgd2FudCB0byBidWlsZCBvbmUgZ2NjLWNyb3NzLWNhbmFkaWFuIHBlciBhcmNoIGFuZCBoYXZlIHRoaXMgd29yawotZm9yIGFsbCBtdWx0aWxpYnMuIDx0YXJnZXQtc3lzPiBjYW4gYmUgaGFuZGxlZCBieSBtYXBwaW5nIHRoZSBtdWx0aWxpYgotPHRhcmdldC1zeXM+IHRvIHRoZSBvbmUgdXNlZCBieSBnY2MtY3Jvc3MtY2FuYWRpYW4sIGUuZy4KLW1pcHM2NC1wb2xrbWxsaWIzMi1saW51eAotaXMgc3ltbGlua2VkIHRvIGJ5IG1pcHM2NC1wb2t5LWxpbnV4LgotCi1UaGUgZGVmYXVsdCBnY2Mgc2VhcmNoIHBhdGggaW4gdGhlIHRhcmdldCBzeXNyb290IGZvciBhICJsaWI2NCIgbXV0bGlsaWIKLWlzOgotCi08c3lzcm9vdD4vbGliMzIvbWlwczY0LXBva3ktbGludXgvNS4yLjAvCi08c3lzcm9vdD4vbGliMzIvLi4vbGliNjQvCi08c3lzcm9vdD4vdXNyL2xpYjMyL21pcHM2NC1wb2t5LWxpbnV4LzUuMi4wLwotPHN5c3Jvb3Q+L3Vzci9saWIzMi8uLi9saWI2NC8KLTxzeXNyb290Pi9saWIzMi8KLTxzeXNyb290Pi91c3IvbGliMzIvCi0KLXdoaWNoIG1lYW5zIHRoYXQgdGhlIGxpYjMyIGNydGJlZ2luLm8gd2lsbCBiZSBmb3VuZCBhbmQgdGhlIGxpYjY0IG9uZXMKLXdpbGwgbm90IHdoaWNoIGxlYWRzIHRvIGNvbXBpbGVyIGZhaWx1cmVzLgotCi1UaGlzIHBhdGNoIGluamVjdHMgYSBtdWx0aWxpYiB2ZXJzaW9uIG9mIHRoYXQgcGF0aCBmaXJzdCBzbyB0aGUgbGliNjQKLWJpbmFyaWVzIGNhbiBiZSBmb3VuZCBmaXJzdC4gV2l0aCB0aGlzIGNoYW5nZSB0aGUgc2VhcmNoIHBhdGggYmVjb21lczoKLQotPHN5c3Jvb3Q+L2xpYjMyLy4uL2xpYjY0L21pcHM2NC1wb2t5LWxpbnV4LzUuMi4wLwotPHN5c3Jvb3Q+L2xpYjMyL21pcHM2NC1wb2t5LWxpbnV4LzUuMi4wLwotPHN5c3Jvb3Q+L2xpYjMyLy4uL2xpYjY0LwotPHN5c3Jvb3Q+L3Vzci9saWIzMi8uLi9saWI2NC9taXBzNjQtcG9reS1saW51eC81LjIuMC8KLTxzeXNyb290Pi91c3IvbGliMzIvbWlwczY0LXBva3ktbGludXgvNS4yLjAvCi08c3lzcm9vdD4vdXNyL2xpYjMyLy4uL2xpYjY0LwotPHN5c3Jvb3Q+L2xpYjMyLwotPHN5c3Jvb3Q+L3Vzci9saWIzMi8KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi1SUCAyMDE1LzcvMzEKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGdjYy9nY2MuYyB8IDI5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystCi0gMSBmaWxlIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2djYy9nY2MuYyBiL2djYy9nY2MuYwotaW5kZXggY2QwYzdmYmU5NjEuLmY2ZjNhYTA3N2M4IDEwMDY0NAotLS0tIGEvZ2NjL2djYy5jCi0rKysgYi9nY2MvZ2NjLmMKLUBAIC0yNTI3LDcgKzI1MjcsNyBAQCBmb3JfZWFjaF9wYXRoIChjb25zdCBzdHJ1Y3QgcGF0aF9wcmVmaXggKnBhdGhzLAotICAgICAgIGlmIChwYXRoID09IE5VTEwpCi0gCXsKLSAJICBsZW4gPSBwYXRocy0+bWF4X2xlbiArIGV4dHJhX3NwYWNlICsgMTsKLS0JICBsZW4gKz0gTUFYIChNQVggKHN1ZmZpeF9sZW4sIG11bHRpX29zX2Rpcl9sZW4pLCBtdWx0aWFyY2hfbGVuKTsKLSsJICBsZW4gKz0gTUFYICgoc3VmZml4X2xlbiArIG11bHRpX29zX2Rpcl9sZW4pLCBtdWx0aWFyY2hfbGVuKTsKLSAJICBwYXRoID0gWE5FV1ZFQyAoY2hhciwgbGVuKTsKLSAJfQotIAotQEAgLTI1MzksNiArMjUzOSwzMyBAQCBmb3JfZWFjaF9wYXRoIChjb25zdCBzdHJ1Y3QgcGF0aF9wcmVmaXggKnBhdGhzLAotIAkgIC8qIExvb2sgZmlyc3QgaW4gTUFDSElORS9WRVJTSU9OIHN1YmRpcmVjdG9yeS4gICovCi0gCSAgaWYgKCFza2lwX211bHRpX2RpcikKLSAJICAgIHsKLSsJICAgICAgaWYgKCEocGwtPm9zX211bHRpbGliID8gc2tpcF9tdWx0aV9vc19kaXIgOiBza2lwX211bHRpX2RpcikpCi0rCSAgICAgICAgewotKwkgICAgICAgICAgY29uc3QgY2hhciAqdGhpc19tdWx0aTsKLSsJICAgICAgICAgIHNpemVfdCB0aGlzX211bHRpX2xlbjsKLSsKLSsJICAgICAgICAgIGlmIChwbC0+b3NfbXVsdGlsaWIpCi0rCQkgICAgewotKwkJICAgICAgdGhpc19tdWx0aSA9IG11bHRpX29zX2RpcjsKLSsJCSAgICAgIHRoaXNfbXVsdGlfbGVuID0gbXVsdGlfb3NfZGlyX2xlbjsKLSsJCSAgICB9Ci0rCSAgICAgICAgICBlbHNlCi0rCQkgICAgewotKwkJICAgICAgdGhpc19tdWx0aSA9IG11bHRpX2RpcjsKLSsJCSAgICAgIHRoaXNfbXVsdGlfbGVuID0gbXVsdGlfZGlyX2xlbjsKLSsJCSAgICB9Ci0rCi0rCSAgICAgICAgICAvKiBMb29rIGluIG11bHRpbGliIE1BQ0hJTkUvVkVSU0lPTiBzdWJkaXJlY3RvcnkgZmlyc3QgKi8KLSsJICAgICAgICAgIGlmICh0aGlzX211bHRpX2xlbikKLSsJICAgICAgICAgICAgewotKwkJICAgICAgbWVtY3B5IChwYXRoICsgbGVuLCB0aGlzX211bHRpLCB0aGlzX211bHRpX2xlbiArIDEpOwotKwkgICAgICAgICAgICAgIG1lbWNweSAocGF0aCArIGxlbiArIHRoaXNfbXVsdGlfbGVuLCBtdWx0aV9zdWZmaXgsIHN1ZmZpeF9sZW4gKyAxKTsKLSsJICAgICAgICAgICAgICByZXQgPSBjYWxsYmFjayAocGF0aCwgY2FsbGJhY2tfaW5mbyk7Ci0rCSAgICAgICAgICAgICAgICBpZiAocmV0KQotKwkJICAgICAgICAgIGJyZWFrOwotKwkgICAgICAgICAgICB9Ci0rCSAgICAgICAgfQotKwotIAkgICAgICBtZW1jcHkgKHBhdGggKyBsZW4sIG11bHRpX3N1ZmZpeCwgc3VmZml4X2xlbiArIDEpOwotIAkgICAgICByZXQgPSBjYWxsYmFjayAocGF0aCwgY2FsbGJhY2tfaW5mbyk7Ci0gCSAgICAgIGlmIChyZXQpCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDMxLUZpeC12YXJpb3VzLV9GT1JfQlVJTEQtYW5kLXJlbGF0ZWQtdmFyaWFibGVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAzMS1GaXgtdmFyaW91cy1fRk9SX0JVSUxELWFuZC1yZWxhdGVkLXZhcmlhYmxlcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGFiYzAwNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDMxLUZpeC12YXJpb3VzLV9GT1JfQlVJTEQtYW5kLXJlbGF0ZWQtdmFyaWFibGVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTM3ICswLDAgQEAKLUZyb20gOTNiNGUxZDNhMGY4NDE3MTE4ZDFjNDhmY2QxY2U1MTk5NmUxNDIwYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDcgRGVjIDIwMTUgMjM6NDI6NDUgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzMS8zOV0gRml4IHZhcmlvdXMgX0ZPUl9CVUlMRCBhbmQgcmVsYXRlZCB2YXJpYWJsZXMKLQotV2hlbiBkb2luZyBhIEZPUl9CVUlMRCB0aGluZywgeW91IGhhdmUgdG8gb3ZlcnJpZGUgQ0ZMQUdTIHdpdGgKLUNGTEFHU19GT1JfQlVJTEQuIEFuZCBpZiB5b3UgdXNlIEMrKywgeW91IGFsc28gaGF2ZSB0byBvdmVycmlkZQotQ1hYRkxBR1Mgd2l0aCBDWFhGTEFHU19GT1JfQlVJTEQuCi1XaXRob3V0IHRoaXMsIHdoZW4gYnVpbGRpbmcgZm9yIG1pbmd3LCB5b3UgZW5kIHVwIHRyeWluZyB0byB1c2UKLXRoZSBtaW5ndyBoZWFkZXJzIGZvciBhIGhvc3QgYnVpbGQuCi0KLVRoZSBzYW1lIGdvZXMgZm9yIG90aGVyIHZhcmlhYmxlcyBhcyB3ZWxsLCBzdWNoIGFzIENQUEZMQUdTLAotQ1BQLCBhbmQgR01QSU5DLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogUGV0ZXIgU2VlYmFjaCA8cGV0ZXIuc2VlYmFjaEB3aW5kcml2ZXIuY29tPgotU2lnbmVkLW9mZi1ieTogTWFyayBIYXRsZSA8bWFyay5oYXRsZUB3aW5kcml2ZXIuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIE1ha2VmaWxlLmluICAgICAgfCA2ICsrKysrKwotIE1ha2VmaWxlLnRwbCAgICAgfCA1ICsrKysrCi0gZ2NjL01ha2VmaWxlLmluICB8IDIgKy0KLSBnY2MvY29uZmlndXJlICAgIHwgMiArLQotIGdjYy9jb25maWd1cmUuYWMgfCAyICstCi0gNSBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvTWFrZWZpbGUuaW4gYi9NYWtlZmlsZS5pbgotaW5kZXggMWFmNDU1ODAwODYuLjg5NjY0NTNjMzJjIDEwMDY0NAotLS0tIGEvTWFrZWZpbGUuaW4KLSsrKyBiL01ha2VmaWxlLmluCi1AQCAtMTUyLDYgKzE1Miw3IEBAIEJVSUxEX0VYUE9SVFMgPSBcCi0gCUNQUD0iJChDQ19GT1JfQlVJTEQpIC1FIjsgZXhwb3J0IENQUDsgXAotIAlDRkxBR1M9IiQoQ0ZMQUdTX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ0ZMQUdTOyBcCi0gCUNPTkZJR19TSEVMTD0iJChTSEVMTCkiOyBleHBvcnQgQ09ORklHX1NIRUxMOyBcCi0rCUNQUEZMQUdTPSIkKENQUEZMQUdTX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ1BQRkxBR1M7IFwKLSAJQ1hYPSIkKENYWF9GT1JfQlVJTEQpIjsgZXhwb3J0IENYWDsgXAotIAlDWFhGTEFHUz0iJChDWFhGTEFHU19GT1JfQlVJTEQpIjsgZXhwb3J0IENYWEZMQUdTOyBcCi0gCUdGT1JUUkFOPSIkKEdGT1JUUkFOX0ZPUl9CVUlMRCkiOyBleHBvcnQgR0ZPUlRSQU47IFwKLUBAIC0xNjksNiArMTcwLDkgQEAgQlVJTERfRVhQT1JUUyA9IFwKLSAjIGJ1aWx0IGZvciB0aGUgYnVpbGQgc3lzdGVtIHRvIG92ZXJyaWRlIHRob3NlIGluIEJBU0VfRkxBR1NfVE9fUEFTUy4KLSBFWFRSQV9CVUlMRF9GTEFHUyA9IFwKLSAJQ0ZMQUdTPSIkKENGTEFHU19GT1JfQlVJTEQpIiBcCi0rCUNYWEZMQUdTPSIkKENYWEZMQUdTX0ZPUl9CVUlMRCkiIFwKLSsJQ1BQPSIkKENDX0ZPUl9CVUlMRCkgLUUiIFwKLSsJQ1BQRkxBR1M9IiQoQ1BQRkxBR1NfRk9SX0JVSUxEKSIgXAotIAlMREZMQUdTPSIkKExERkxBR1NfRk9SX0JVSUxEKSIKLSAKLSAjIFRoaXMgaXMgdGhlIGxpc3Qgb2YgZGlyZWN0b3JpZXMgdG8gYnVpbHQgZm9yIHRoZSBob3N0IHN5c3RlbS4KLUBAIC0xODYsNiArMTkwLDcgQEAgSE9TVF9TVUJESVIgPSBAaG9zdF9zdWJkaXJACi0gSE9TVF9FWFBPUlRTID0gXAotIAkkKEJBU0VfRVhQT1JUUykgXAotIAlDQz0iJChDQykiOyBleHBvcnQgQ0M7IFwKLSsJQ1BQPSIkKENDKSAtRSI7IGV4cG9ydCBDUFA7IFwKLSAJQURBX0NGTEFHUz0iJChBREFfQ0ZMQUdTKSI7IGV4cG9ydCBBREFfQ0ZMQUdTOyBcCi0gCUNGTEFHUz0iJChDRkxBR1MpIjsgZXhwb3J0IENGTEFHUzsgXAotIAlDT05GSUdfU0hFTEw9IiQoU0hFTEwpIjsgZXhwb3J0IENPTkZJR19TSEVMTDsgXAotQEAgLTc1Myw2ICs3NTgsNyBAQCBCQVNFX0ZMQUdTX1RPX1BBU1MgPSBcCi0gCSJDQ19GT1JfQlVJTEQ9JChDQ19GT1JfQlVJTEQpIiBcCi0gCSJDRkxBR1NfRk9SX0JVSUxEPSQoQ0ZMQUdTX0ZPUl9CVUlMRCkiIFwKLSAJIkNYWF9GT1JfQlVJTEQ9JChDWFhfRk9SX0JVSUxEKSIgXAotKwkiQ1hYRkxBR1NfRk9SX0JVSUxEPSQoQ1hYRkxBR1NfRk9SX0JVSUxEKSIgXAotIAkiRVhQRUNUPSQoRVhQRUNUKSIgXAotIAkiRkxFWD0kKEZMRVgpIiBcCi0gCSJJTlNUQUxMPSQoSU5TVEFMTCkiIFwKLWRpZmYgLS1naXQgYS9NYWtlZmlsZS50cGwgYi9NYWtlZmlsZS50cGwKLWluZGV4IGFiZDJiYzJmYjg5Li41ODIyYjI2MDQwNCAxMDA2NDQKLS0tLSBhL01ha2VmaWxlLnRwbAotKysrIGIvTWFrZWZpbGUudHBsCi1AQCAtMTU0LDYgKzE1NCw3IEBAIEJVSUxEX0VYUE9SVFMgPSBcCi0gCUNDPSIkKENDX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ0M7IFwKLSAJQ0ZMQUdTPSIkKENGTEFHU19GT1JfQlVJTEQpIjsgZXhwb3J0IENGTEFHUzsgXAotIAlDT05GSUdfU0hFTEw9IiQoU0hFTEwpIjsgZXhwb3J0IENPTkZJR19TSEVMTDsgXAotKwlDUFBGTEFHUz0iJChDUFBGTEFHU19GT1JfQlVJTEQpIjsgZXhwb3J0IENQUEZMQUdTOyBcCi0gCUNYWD0iJChDWFhfRk9SX0JVSUxEKSI7IGV4cG9ydCBDWFg7IFwKLSAJQ1hYRkxBR1M9IiQoQ1hYRkxBR1NfRk9SX0JVSUxEKSI7IGV4cG9ydCBDWFhGTEFHUzsgXAotIAlHRk9SVFJBTj0iJChHRk9SVFJBTl9GT1JfQlVJTEQpIjsgZXhwb3J0IEdGT1JUUkFOOyBcCi1AQCAtMTcxLDYgKzE3Miw5IEBAIEJVSUxEX0VYUE9SVFMgPSBcCi0gIyBidWlsdCBmb3IgdGhlIGJ1aWxkIHN5c3RlbSB0byBvdmVycmlkZSB0aG9zZSBpbiBCQVNFX0ZMQUdTX1RPX1BBU1MuCi0gRVhUUkFfQlVJTERfRkxBR1MgPSBcCi0gCUNGTEFHUz0iJChDRkxBR1NfRk9SX0JVSUxEKSIgXAotKwlDWFhGTEFHUz0iJChDWFhGTEFHU19GT1JfQlVJTEQpIiBcCi0rCUNQUD0iJChDQ19GT1JfQlVJTEQpIC1FIiBcCi0rCUNQUEZMQUdTPSIkKENQUEZMQUdTX0ZPUl9CVUlMRCkiIFwKLSAJTERGTEFHUz0iJChMREZMQUdTX0ZPUl9CVUlMRCkiCi0gCi0gIyBUaGlzIGlzIHRoZSBsaXN0IG9mIGRpcmVjdG9yaWVzIHRvIGJ1aWx0IGZvciB0aGUgaG9zdCBzeXN0ZW0uCi1AQCAtMTg4LDYgKzE5Miw3IEBAIEhPU1RfU1VCRElSID0gQGhvc3Rfc3ViZGlyQAotIEhPU1RfRVhQT1JUUyA9IFwKLSAJJChCQVNFX0VYUE9SVFMpIFwKLSAJQ0M9IiQoQ0MpIjsgZXhwb3J0IENDOyBcCi0rCUNQUD0iJChDQykgLUUiOyBleHBvcnQgQ1BQOyBcCi0gCUFEQV9DRkxBR1M9IiQoQURBX0NGTEFHUykiOyBleHBvcnQgQURBX0NGTEFHUzsgXAotIAlDRkxBR1M9IiQoQ0ZMQUdTKSI7IGV4cG9ydCBDRkxBR1M7IFwKLSAJQ09ORklHX1NIRUxMPSIkKFNIRUxMKSI7IGV4cG9ydCBDT05GSUdfU0hFTEw7IFwKLWRpZmYgLS1naXQgYS9nY2MvTWFrZWZpbGUuaW4gYi9nY2MvTWFrZWZpbGUuaW4KLWluZGV4IDVhZTY5M2ZiMDZjLi4wMmVlMGFhNzJmNCAxMDA2NDQKLS0tLSBhL2djYy9NYWtlZmlsZS5pbgotKysrIGIvZ2NjL01ha2VmaWxlLmluCi1AQCAtODAxLDcgKzgwMSw3IEBAIEJVSUxEX0xERkxBR1M9QEJVSUxEX0xERkxBR1NACi0gQlVJTERfTk9fUElFX0ZMQUcgPSBAQlVJTERfTk9fUElFX0ZMQUdACi0gQlVJTERfTERGTEFHUyArPSAkKEJVSUxEX05PX1BJRV9GTEFHKQotIEJVSUxEX0NQUEZMQUdTPSAtSS4gLUkkKEBEKSAtSSQoc3JjZGlyKSAtSSQoc3JjZGlyKS8kKEBEKSBcCi0tCQktSSQoc3JjZGlyKS8uLi9pbmNsdWRlIEBJTkNJTlRMQCAkKENQUElOQykgJChDUFBGTEFHUykKLSsJCS1JJChzcmNkaXIpLy4uL2luY2x1ZGUgQElOQ0lOVExAICQoQ1BQSU5DKSAkKENQUEZMQUdTX0ZPUl9CVUlMRCkKLSAKLSAjIEFjdHVhbCBuYW1lIHRvIHVzZSB3aGVuIGluc3RhbGxpbmcgYSBuYXRpdmUgY29tcGlsZXIuCi0gR0NDX0lOU1RBTExfTkFNRSA6PSAkKHNoZWxsIGVjaG8gZ2NjfHNlZCAnJChwcm9ncmFtX3RyYW5zZm9ybV9uYW1lKScpCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZSBiL2djYy9jb25maWd1cmUKLWluZGV4IGNmY2FkYzkzYTAxLi4yZjZiNGY3MmVmMyAxMDA3NTUKLS0tLSBhL2djYy9jb25maWd1cmUKLSsrKyBiL2djYy9jb25maWd1cmUKLUBAIC0xMTc5Nyw3ICsxMTc5Nyw3IEBAIGVsc2UKLSAJQ0M9IiR7Q0NfRk9SX0JVSUxEfSIgQ0ZMQUdTPSIke0NGTEFHU19GT1JfQlVJTER9IiBcCi0gCUNYWD0iJHtDWFhfRk9SX0JVSUxEfSIgQ1hYRkxBR1M9IiR7Q1hYRkxBR1NfRk9SX0JVSUxEfSIgXAotIAlMRD0iJHtMRF9GT1JfQlVJTER9IiBMREZMQUdTPSIke0xERkxBR1NfRk9SX0JVSUxEfSIgXAotLQlHTVBJTkM9IiIgQ1BQRkxBR1M9IiR7Q1BQRkxBR1N9IC1ER0VORVJBVE9SX0ZJTEUiIFwKLSsJR01QSU5DPSIiIENQUEZMQUdTPSIke0NQUEZMQUdTX0ZPUl9CVUlMRH0gLURHRU5FUkFUT1JfRklMRSIgXAotIAkke3JlYWxzcmNkaXJ9L2NvbmZpZ3VyZSBcCi0gCQktLWVuYWJsZS1sYW5ndWFnZXM9JHtlbmFibGVfbGFuZ3VhZ2VzLWFsbH0gXAotIAkJLS10YXJnZXQ9JHRhcmdldF9hbGlhcyAtLWhvc3Q9JGJ1aWxkX2FsaWFzIC0tYnVpbGQ9JGJ1aWxkX2FsaWFzCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZS5hYyBiL2djYy9jb25maWd1cmUuYWMKLWluZGV4IDQ0YjkwNDc4ZjU1Li45ZjhhNTFmYzliZCAxMDA2NDQKLS0tLSBhL2djYy9jb25maWd1cmUuYWMKLSsrKyBiL2djYy9jb25maWd1cmUuYWMKLUBAIC0xNzA4LDcgKzE3MDgsNyBAQCBlbHNlCi0gCUNDPSIke0NDX0ZPUl9CVUlMRH0iIENGTEFHUz0iJHtDRkxBR1NfRk9SX0JVSUxEfSIgXAotIAlDWFg9IiR7Q1hYX0ZPUl9CVUlMRH0iIENYWEZMQUdTPSIke0NYWEZMQUdTX0ZPUl9CVUlMRH0iIFwKLSAJTEQ9IiR7TERfRk9SX0JVSUxEfSIgTERGTEFHUz0iJHtMREZMQUdTX0ZPUl9CVUlMRH0iIFwKLS0JR01QSU5DPSIiIENQUEZMQUdTPSIke0NQUEZMQUdTfSAtREdFTkVSQVRPUl9GSUxFIiBcCi0rCUdNUElOQz0iIiBDUFBGTEFHUz0iJHtDUFBGTEFHU19GT1JfQlVJTER9IC1ER0VORVJBVE9SX0ZJTEUiIFwKLSAJJHtyZWFsc3JjZGlyfS9jb25maWd1cmUgXAotIAkJLS1lbmFibGUtbGFuZ3VhZ2VzPSR7ZW5hYmxlX2xhbmd1YWdlcy1hbGx9IFwKLSAJCS0tdGFyZ2V0PSR0YXJnZXRfYWxpYXMgLS1ob3N0PSRidWlsZF9hbGlhcyAtLWJ1aWxkPSRidWlsZF9hbGlhcwotLS0gCi0yLjE3LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAzMi1uaW9zMi1EZWZpbmUtTVVTTF9EWU5BTUlDX0xJTktFUi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMzItbmlvczItRGVmaW5lLU1VU0xfRFlOQU1JQ19MSU5LRVIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkZDlkNTQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAzMi1uaW9zMi1EZWZpbmUtTVVTTF9EWU5BTUlDX0xJTktFUi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLUZyb20gOTlmM2UzYjQyNzk5NmFjNTc5ZDk1ZTY4NDQwYTBiZDdhZjdlZjBmYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDIgRmViIDIwMTYgMTA6MjY6MTAgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSCAzMi8zOV0gbmlvczI6IERlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSCi0KLVNpZ25lZC1vZmYtYnk6IE1hcmVrIFZhc3V0IDxtYXJleEBkZW54LmRlPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLSBnY2MvY29uZmlnL25pb3MyL2xpbnV4LmggfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvbmlvczIvbGludXguaCBiL2djYy9jb25maWcvbmlvczIvbGludXguaAotaW5kZXggNDcyOTEwNTYyNmQuLjM2MTgxZWI3Yjg1IDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9uaW9zMi9saW51eC5oCi0rKysgYi9nY2MvY29uZmlnL25pb3MyL2xpbnV4LmgKLUBAIC0zMCw2ICszMCw3IEBACi0gI2RlZmluZSBDUFBfU1BFQyAiJXtwb3NpeDotRF9QT1NJWF9TT1VSQ0V9ICV7cHRocmVhZDotRF9SRUVOVFJBTlR9IgotIAotICNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbGludXgtbmlvczIuc28uMSIKLSsjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIgICIvbGliL2xkLW11c2wtbmlvczIuc28uMSIKLSAKLSAjdW5kZWYgTElOS19TUEVDCi0gI2RlZmluZSBMSU5LX1NQRUMgTElOS19TUEVDX0VORElBTiBcCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDMzLUFkZC1zc3Bfbm9uc2hhcmVkLXRvLWxpbmstY29tbWFuZGxpbmUtZm9yLW11c2wtdGFyZ2UucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDMzLUFkZC1zc3Bfbm9uc2hhcmVkLXRvLWxpbmstY29tbWFuZGxpbmUtZm9yLW11c2wtdGFyZ2UucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA1YTZiMGEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAzMy1BZGQtc3NwX25vbnNoYXJlZC10by1saW5rLWNvbW1hbmRsaW5lLWZvci1tdXNsLXRhcmdlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODcgKzAsMCBAQAotRnJvbSA4NGI1NWFiMmY2ODcxMGE1ODNkNGVjODEwZWE4YjNiNjg1NzZmOGFhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMjcgSnVuIDIwMTcgMTg6MTA6NTQgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSCAzMy8zOV0gQWRkIHNzcF9ub25zaGFyZWQgdG8gbGluayBjb21tYW5kbGluZSBmb3IgbXVzbCB0YXJnZXRzCi0KLXdoZW4gLWZzdGFjay1wcm90ZWN0b3Igb3B0aW9ucyBhcmUgZW5hYmxlZCB3ZSBuZWVkIHRvCi1saW5rIHdpdGggc3NwX3NoYXJlZCBvbiBtdXNsIHNpbmNlIGl0IGRvZXMgbm90IHByb3ZpZGUKLXRoZSBfX3N0YWNrX2Noa19mYWlsX2xvY2FsKCkgc28gZXNzZW50aWFsbHkgaXQgcHJvdmlkZXMKLWxpYnNzcCBidXQgbm90IGxpYnNzcF9ub25zaGFyZWQgc29tZXRoaW5nIGxpa2UKLVRBUkdFVF9MSUJDX1BST1ZJREVTX1NTUF9CVVRfTk9UX1NTUF9OT05TSEFSRUQKLSB3aGVyZS1hcyBmb3IgZ2xpYmMgdGhlIG5lZWRlZCBzeW1ib2xzCi1hcmUgYWxyZWFkeSBwcmVzZW50IGluIGxpYmNfbm9uc2hhcmVkIGxpYnJhcnkgdGhlcmVmb3JlCi13ZSBkbyBub3QgbmVlZCBhbnkgbGlicmFyeSBoZWxwZXIgb24gZ2xpYmMgYmFzZWQgc3lzdGVtcwotYnV0IG11c2wgbmVlZHMgdGhlIGxpYnNzcF9ub3NoYXJlZCBmcm9tIGdjYwotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGdjYy9jb25maWcvbGludXguaCAgICAgICAgICB8ICA3ICsrKysrKysKLSBnY2MvY29uZmlnL3JzNjAwMC9saW51eC5oICAgfCAxMCArKysrKysrKysrCi0gZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oIHwgMTAgKysrKysrKysrKwotIDMgZmlsZXMgY2hhbmdlZCwgMjcgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9saW51eC5oIGIvZ2NjL2NvbmZpZy9saW51eC5oCi1pbmRleCA0ODdiMGMwOTIzYi4uNDc2OWQwODk1MzggMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL2xpbnV4LmgKLSsrKyBiL2djYy9jb25maWcvbGludXguaAotQEAgLTE4Miw2ICsxODIsMTMgQEAgc2VlIHRoZSBmaWxlcyBDT1BZSU5HMyBhbmQgQ09QWUlORy5SVU5USU1FIHJlc3BlY3RpdmVseS4gIElmIG5vdCwgc2VlCi0gICAgIHsgR0NDX0lOQ0xVREVfRElSLCAiR0NDIiwgMCwgMSwgMCwgMCB9LAkJXAotICAgICB7IDAsIDAsIDAsIDAsIDAsIDAgfQkJCQlcCi0gICB9Ci0rI2lmZGVmIFRBUkdFVF9MSUJDX1BST1ZJREVTX1NTUAotKyN1bmRlZiBMSU5LX1NTUF9TUEVDCi0rI2RlZmluZSBMSU5LX1NTUF9TUEVDICIle2ZzdGFjay1wcm90ZWN0b3J8ZnN0YWNrLXByb3RlY3Rvci1hbGwiIFwKLSsJCSAgICAgICAifGZzdGFjay1wcm90ZWN0b3Itc3Ryb25nfGZzdGFjay1wcm90ZWN0b3ItZXhwbGljaXQiIFwKLSsJCSAgICAgICAiOi1sc3NwX25vbnNoYXJlZH0iCi0rI2VuZGlmCi0rCi0gI2VuZGlmCi0gCi0gI2lmIChERUZBVUxUX0xJQkMgPT0gTElCQ19VQ0xJQkMpICYmIGRlZmluZWQgKFNJTkdMRV9MSUJDKSAvKiB1Q2xpbnV4ICovCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yczYwMDAvbGludXguaCBiL2djYy9jb25maWcvcnM2MDAwL2xpbnV4LmgKLWluZGV4IDAxYjQwYzc2MmY2Li5lN2M1ZTkyMjE1YyAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvcnM2MDAwL2xpbnV4LmgKLSsrKyBiL2djYy9jb25maWcvcnM2MDAwL2xpbnV4LmgKLUBAIC05Miw2ICs5MiwxNiBAQAotIAkJCQkJICIgLW0gZWxmMzJwcGNsaW51eCIpCi0gI2VuZGlmCi0gCi0rLyogbGluayBsaWJzc3Bfbm9uc2hhcmVkLmEgd2l0aCBtdXNsICovCi0rI2lmIERFRkFVTFRfTElCQyA9PSBMSUJDX01VU0wKLSsjaWZkZWYgVEFSR0VUX0xJQkNfUFJPVklERVNfU1NQCi0rI3VuZGVmIExJTktfU1NQX1NQRUMKLSsjZGVmaW5lIExJTktfU1NQX1NQRUMgIiV7ZnN0YWNrLXByb3RlY3Rvcnxmc3RhY2stcHJvdGVjdG9yLWFsbCIgXAotKwkJICAgICAgICJ8ZnN0YWNrLXByb3RlY3Rvci1zdHJvbmd8ZnN0YWNrLXByb3RlY3Rvci1leHBsaWNpdCIgXAotKwkJICAgICAgICI6LWxzc3Bfbm9uc2hhcmVkfSIKLSsjZW5kaWYKLSsjZW5kaWYKLSsKLSAjdW5kZWYgTElOS19PU19MSU5VWF9TUEVDCi0gI2RlZmluZSBMSU5LX09TX0xJTlVYX1NQRUMgTElOS19PU19MSU5VWF9FTVVMICIgJXshc2hhcmVkOiAleyFzdGF0aWM6IFwKLSAgICV7IXN0YXRpYy1waWU6IFwKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmggYi9nY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmgKLWluZGV4IDU1Njk1ZGFkZDkxLi42MGYxZWUyNDk4NSAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaAotKysrIGIvZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oCi1AQCAtNDczLDYgKzQ3MywxNiBAQCBleHRlcm4gaW50IGRvdF9zeW1ib2xzOwotIAkJCQkJICAgIiAtbSBlbGY2NHBwYyIpCi0gI2VuZGlmCi0gCi0rLyogbGluayBsaWJzc3Bfbm9uc2hhcmVkLmEgd2l0aCBtdXNsICovCi0rI2lmIERFRkFVTFRfTElCQyA9PSBMSUJDX01VU0wKLSsjaWZkZWYgVEFSR0VUX0xJQkNfUFJPVklERVNfU1NQCi0rI3VuZGVmIExJTktfU1NQX1NQRUMKLSsjZGVmaW5lIExJTktfU1NQX1NQRUMgIiV7ZnN0YWNrLXByb3RlY3Rvcnxmc3RhY2stcHJvdGVjdG9yLWFsbCIgXAotKwkJICAgICAgICJ8ZnN0YWNrLXByb3RlY3Rvci1zdHJvbmd8ZnN0YWNrLXByb3RlY3Rvci1leHBsaWNpdCIgXAotKwkJICAgICAgICI6LWxzc3Bfbm9uc2hhcmVkfSIKLSsjZW5kaWYKLSsjZW5kaWYKLSsKLSAjZGVmaW5lIExJTktfT1NfTElOVVhfU1BFQzMyIExJTktfT1NfTElOVVhfRU1VTDMyICIgJXshc2hhcmVkOiAleyFzdGF0aWM6IFwKLSAgICV7IXN0YXRpYy1waWU6IFwKLSAgICAgJXtyZHluYW1pYzotZXhwb3J0LWR5bmFtaWN9IFwKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMzQtbGliZ2NjLUFkZC1rbm9iLXRvLXVzZS1sZGJsLTEyOC1vbi1wcGMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDM0LWxpYmdjYy1BZGQta25vYi10by11c2UtbGRibC0xMjgtb24tcHBjLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3YTY5ZWEyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMzQtbGliZ2NjLUFkZC1rbm9iLXRvLXVzZS1sZGJsLTEyOC1vbi1wcGMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMjUgKzAsMCBAQAotRnJvbSBmYWYzNWUyNjc0MDQ2MWZlMWExZGE1NDMzZDVhMDE2OWE2NjNlM2I1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgQXByIDIwMTYgMjA6MDM6MjggKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzNC8zOV0gbGliZ2NjOiBBZGQga25vYiB0byB1c2UgbGRibC0xMjggb24gcHBjCi0KLW11c2wgZG9lcyBub3Qgc3VwcG9ydCBsZGJsIDEyOCBzbyB3ZSBjYW4gbm90IGFzc3VtZQotdGhhdCBsaW51eCBhcyBhIHdob2xlIHN1cHBvcnRzIGxkYmwtMTI4IGJpdHMsIGluc3RlYWQKLWFjdCB1cG9uIGNvbmZpZ3VyZSBvcHRpb24gcGFzc2VkIHRvIGdjYyBhbmQgYXNzdW1lIG5vCi1vbiBtdXNsIGFuZCB5ZXMgb3RoZXJ3aXNlIGlmIG5vIG9wdGlvbiBpcyBwYXNzZWQgc2luY2UKLWRlZmF1bHQgYmVoYXZpb3VyIGlzIHRvIGFzc3VtZSBsZGJsMTI4IGl0IGRvZXMgbm90Ci1jaGFuZ2UgdGhlIGRlZmF1bHRzCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0gbGliZ2NjL01ha2VmaWxlLmluICAgICAgICAgICB8ICAxICsKLSBsaWJnY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4IHwgIDUgKysrKy0KLSBsaWJnY2MvY29uZmlndXJlICAgICAgICAgICAgIHwgMTggKysrKysrKysrKysrKysrKysrCi0gbGliZ2NjL2NvbmZpZ3VyZS5hYyAgICAgICAgICB8IDEyICsrKysrKysrKysrKwotIDQgZmlsZXMgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotIG1vZGUgY2hhbmdlIDEwMDY0NCA9PiAxMDA3NTUgbGliZ2NjL2NvbmZpZ3VyZQotCi1kaWZmIC0tZ2l0IGEvbGliZ2NjL01ha2VmaWxlLmluIGIvbGliZ2NjL01ha2VmaWxlLmluCi1pbmRleCBkZDhjZWU5OWZkMy4uYjVmNDc4YWYzODIgMTAwNjQ0Ci0tLS0gYS9saWJnY2MvTWFrZWZpbGUuaW4KLSsrKyBiL2xpYmdjYy9NYWtlZmlsZS5pbgotQEAgLTQ4LDYgKzQ4LDcgQEAgdW53aW5kX2hlYWRlciA9IEB1bndpbmRfaGVhZGVyQAotIG1kX3Vud2luZF9oZWFkZXIgPSBAbWRfdW53aW5kX2hlYWRlckAKLSBzZnBfbWFjaGluZV9oZWFkZXIgPSBAc2ZwX21hY2hpbmVfaGVhZGVyQAotIHRocmVhZF9oZWFkZXIgPSBAdGhyZWFkX2hlYWRlckAKLSt3aXRoX2xkYmwxMjggPSBAd2l0aF9sZGJsMTI4QAotIAotIGhvc3Rfbm9uY2Fub25pY2FsID0gQGhvc3Rfbm9uY2Fub25pY2FsQAotIHJlYWxfaG9zdF9ub25jYW5vbmljYWwgPSBAcmVhbF9ob3N0X25vbmNhbm9uaWNhbEAKLWRpZmYgLS1naXQgYS9saWJnY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4IGIvbGliZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eAotaW5kZXggNGY2ZDRjNGE0ZDIuLmM1MGRkOTRhMmRhIDEwMDY0NAotLS0tIGEvbGliZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eAotKysrIGIvbGliZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eAotQEAgLTEsMyArMSw2IEBACi0gU0hMSUJfTUFQRklMRVMgKz0gJChzcmNkaXIpL2NvbmZpZy9yczYwMDAvbGliZ2NjLWdsaWJjLnZlcgotIAotLUhPU1RfTElCR0NDMl9DRkxBR1MgKz0gLW1sb25nLWRvdWJsZS0xMjggLW1uby1taW5pbWFsLXRvYwotK2lmZXEgKCQod2l0aF9sZGJsMTI4KSx5ZXMpCi0rSE9TVF9MSUJHQ0MyX0NGTEFHUyArPSAtbWxvbmctZG91YmxlLTEyOAotK2VuZGlmCi0rSE9TVF9MSUJHQ0MyX0NGTEFHUyArPSAtbW5vLW1pbmltYWwtdG9jCi1kaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZ3VyZSBiL2xpYmdjYy9jb25maWd1cmUKLW9sZCBtb2RlIDEwMDY0NAotbmV3IG1vZGUgMTAwNzU1Ci1pbmRleCBiMmYzZjg3MDg0NC4uZWQ4MDY1ODdjMTcKLS0tLSBhL2xpYmdjYy9jb25maWd1cmUKLSsrKyBiL2xpYmdjYy9jb25maWd1cmUKLUBAIC02MTksNiArNjE5LDcgQEAgYnVpbGRfdmVuZG9yCi0gYnVpbGRfY3B1Ci0gYnVpbGQKLSB3aXRoX2FpeF9zb25hbWUKLSt3aXRoX2xkYmwxMjgKLSBlbmFibGVfdnRhYmxlX3ZlcmlmeQotIGVuYWJsZV9zaGFyZWQKLSBsaWJnY2NfdG9wZGlyCi1AQCAtNjY4LDYgKzY2OSw3IEBAIHdpdGhfY3Jvc3NfaG9zdAotIHdpdGhfbGQKLSBlbmFibGVfc2hhcmVkCi0gZW5hYmxlX3Z0YWJsZV92ZXJpZnkKLSt3aXRoX2xvbmdfZG91YmxlXzEyOAotIHdpdGhfYWl4X3NvbmFtZQotIGVuYWJsZV92ZXJzaW9uX3NwZWNpZmljX3J1bnRpbWVfbGlicwotIHdpdGhfc2xpYmRpcgotQEAgLTEzMjksNiArMTMzMSw3IEBAIE9wdGlvbmFsIFBhY2thZ2VzOgotICAgLS13aXRoLXRhcmdldC1zdWJkaXI9U1VCRElSICAgICAgQ29uZmlndXJpbmcgaW4gYSBzdWJkaXJlY3RvcnkgZm9yIHRhcmdldAotICAgLS13aXRoLWNyb3NzLWhvc3Q9SE9TVCAgICAgICAgICAgQ29uZmlndXJpbmcgd2l0aCBhIGNyb3NzIGNvbXBpbGVyCi0gICAtLXdpdGgtbGQgICAgICAgICAgICAgICBhcnJhbmdlIHRvIHVzZSB0aGUgc3BlY2lmaWVkIGxkIChmdWxsIHBhdGhuYW1lKQotKyAgLS13aXRoLWxvbmctZG91YmxlLTEyOCAgdXNlIDEyOC1iaXQgbG9uZyBkb3VibGUgYnkgZGVmYXVsdAotICAgLS13aXRoLWFpeC1zb25hbWU9YWl4fHN2cjR8Ym90aAotICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVkIGxpYnJhcnkgdmVyc2lvbmluZyAoYWthICJTT05BTUUiKSB2YXJpYW50IHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlIG9uIEFJWAotQEAgLTIyMTMsNiArMjIxNiwyMSBAQCBmaQotIAotIAotIAotKyMgQ2hlY2sgd2hldGhlciAtLXdpdGgtbG9uZy1kb3VibGUtMTI4IHdhcyBnaXZlbi4KLStpZiB0ZXN0ICIke3dpdGhfbG9uZ19kb3VibGVfMTI4K3NldH0iID0gc2V0OyB0aGVuIDoKLSsgIHdpdGh2YWw9JHdpdGhfbG9uZ19kb3VibGVfMTI4OyB3aXRoX2xkYmwxMjg9IiR3aXRoX2xvbmdfZG91YmxlXzEyOCIKLStlbHNlCi0rICBjYXNlICIke2hvc3R9IiBpbgotKyBwb3dlciotKi1tdXNsKikKLSsgICB3aXRoX2xkYmwxMjg9Im5vIjs7Ci0rICopIHdpdGhfbGRibDEyOD0ieWVzIjs7Ci0rIGVzYWMKLSsKLStmaQotKwotKwotKwotKwotICMgQ2hlY2sgd2hldGhlciAtLXdpdGgtYWl4LXNvbmFtZSB3YXMgZ2l2ZW4uCi0gaWYgdGVzdCAiJHt3aXRoX2FpeF9zb25hbWUrc2V0fSIgPSBzZXQ7IHRoZW4gOgotICAgd2l0aHZhbD0kd2l0aF9haXhfc29uYW1lOyBjYXNlICIke2hvc3R9OiR7ZW5hYmxlX3NoYXJlZH0iIGluCi1kaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZ3VyZS5hYyBiL2xpYmdjYy9jb25maWd1cmUuYWMKLWluZGV4IGI1OWFhNzQ2YWZjLi40MjIyMGEyNjNjNSAxMDA2NDQKLS0tLSBhL2xpYmdjYy9jb25maWd1cmUuYWMKLSsrKyBiL2xpYmdjYy9jb25maWd1cmUuYWMKLUBAIC03OCw2ICs3OCwxOCBAQCBBQ19BUkdfRU5BQkxFKHZ0YWJsZS12ZXJpZnksCi0gW2VuYWJsZV92dGFibGVfdmVyaWZ5PW5vXSkKLSBBQ19TVUJTVChlbmFibGVfdnRhYmxlX3ZlcmlmeSkKLSAKLStBQ19BUkdfV0lUSChsb25nLWRvdWJsZS0xMjgsCi0rW0FTX0hFTFBfU1RSSU5HKFstLXdpdGgtbG9uZy1kb3VibGUtMTI4XSwKLSsgICAgW3VzZSAxMjgtYml0IGxvbmcgZG91YmxlIGJ5IGRlZmF1bHRdKV0sCi0rICAgICAgd2l0aF9sZGJsMTI4PSIkd2l0aF9sb25nX2RvdWJsZV8xMjgiLAotK1tjYXNlICIke2hvc3R9IiBpbgotKyBwb3dlciotKi1tdXNsKikKLSsgICB3aXRoX2xkYmwxMjg9Im5vIjs7Ci0rICopIHdpdGhfbGRibDEyOD0ieWVzIjs7Ci0rIGVzYWMKLStdKQotK0FDX1NVQlNUKHdpdGhfbGRibDEyOCkKLSsKLSBBQ19BUkdfV0lUSChhaXgtc29uYW1lLAotIFtBU19IRUxQX1NUUklORyhbLS13aXRoLWFpeC1zb25hbWU9YWl4fHN2cjR8Ym90aF0sCi0gICAgIFtzaGFyZWQgbGlicmFyeSB2ZXJzaW9uaW5nIChha2EgIlNPTkFNRSIpIHZhcmlhbnQgdG8gcHJvdmlkZSBvbiBBSVhdKV0sCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDM1LUxpbmstbGliZ2NjLXVzaW5nLUxERkxBR1Mtbm90LWp1c3QtU0hMSUJfTERGTEFHUy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMzUtTGluay1saWJnY2MtdXNpbmctTERGTEFHUy1ub3QtanVzdC1TSExJQl9MREZMQUdTLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZTQxNmUwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMzUtTGluay1saWJnY2MtdXNpbmctTERGTEFHUy1ub3QtanVzdC1TSExJQl9MREZMQUdTLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotRnJvbSA3NzVjN2ZhZmNiZmViZWQyZDRiZDhhNmEwMTFmMThmNzBmM2I1OWQzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFdlZCwgNCBNYXkgMjAxNiAyMToxMTozNCAtMDcwMAotU3ViamVjdDogW1BBVENIIDM1LzM5XSBMaW5rIGxpYmdjYyB1c2luZyBMREZMQUdTLCBub3QganVzdCBTSExJQl9MREZMQUdTCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGhlciBMYXJzb24gPGNocmlzX2xhcnNvbkBtZW50b3IuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGxpYmdjYy9jb25maWcvdC1zbGliZ2NjIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZy90LXNsaWJnY2MgYi9saWJnY2MvY29uZmlnL3Qtc2xpYmdjYwotaW5kZXggN2U2MGI2MjFhMmQuLmVhMjJlZGUzMzYxIDEwMDY0NAotLS0tIGEvbGliZ2NjL2NvbmZpZy90LXNsaWJnY2MKLSsrKyBiL2xpYmdjYy9jb25maWcvdC1zbGliZ2NjCi1AQCAtMzIsNyArMzIsNyBAQCBTSExJQl9JTlNUQUxMX1NPTElOSyA9ICQoTE5fUykgJChTSExJQl9TT05BTUUpIFwKLSAJJChERVNURElSKSQoc2xpYmRpcikkKFNITElCX1NMSUJESVJfUVVBTCkvJChTSExJQl9TT0xJTkspCi0gCi0gU0hMSUJfTElOSyA9ICQoQ0MpICQoTElCR0NDMl9DRkxBR1MpIC1zaGFyZWQgLW5vZGVmYXVsdGxpYnMgXAotLQkkKFNITElCX0xERkxBR1MpIFwKLSsJJChMREZMQUdTKSAkKFNITElCX0xERkxBR1MpIFwKLSAJLW8gJChTSExJQl9ESVIpLyQoU0hMSUJfU09OQU1FKS50bXAgQG11bHRpbGliX2ZsYWdzQCBcCi0gCSQoU0hMSUJfT0JKUykgJChTSExJQl9MQykgJiYgXAotIAlybSAtZiAkKFNITElCX0RJUikvJChTSExJQl9TT0xJTkspICYmIFwKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMzYtbGliZ2NjX3MtVXNlLWFsaWFzLWZvci1fX2NwdV9pbmRpY2F0b3JfaW5pdC1pbnN0ZWFkLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMzYtbGliZ2NjX3MtVXNlLWFsaWFzLWZvci1fX2NwdV9pbmRpY2F0b3JfaW5pdC1pbnN0ZWFkLS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGRlZjMzYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDM2LWxpYmdjY19zLVVzZS1hbGlhcy1mb3ItX19jcHVfaW5kaWNhdG9yX2luaXQtaW5zdGVhZC0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw4NiArMCwwIEBACi1Gcm9tIGI3ZmFlZWQ2MDI2MWQ3Yjc1ZjJkYjM4MjM5MjZkZTE2NTBlZjY0YmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBTemFib2xjcyBOYWd5IDxuc3pAcG9ydDcwLm5ldD4KLURhdGU6IFNhdCwgMjQgT2N0IDIwMTUgMjA6MDk6NTMgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzNi8zOV0gbGliZ2NjX3M6IFVzZSBhbGlhcyBmb3IgX19jcHVfaW5kaWNhdG9yX2luaXQgaW5zdGVhZCBvZgotIHN5bXZlcgotCi1BZGFwdGVyIGZyb20KLQotaHR0cHM6Ly9nY2MuZ251Lm9yZy9tbC9nY2MtcGF0Y2hlcy8yMDE1LTA1L21zZzAwODk5Lmh0bWwKLQotVGhpcyBmaXggd2FzIGRlYmF0ZWQgYnV0IGhhc250IGJlZW4gYXBwbGllZCBnY2MgdXBzdHJlYW0gc2luY2UKLXRoZXkgZXhwZWN0IG11c2wgdG8gc3VwcG9ydCAnQCcgaW4gc3ltYm9sIHZlcnNpb25pbmcgd2hpY2ggaXMKLWEgc3VuL2dudSB2ZXJzaW9uaW5nIGV4dGVudGlvbi4gVGhpcyBwYXRjaCBob3dldmVyIGF2b2lkcyB0aGUKLW5lZWQgZm9yIHRoZSAnQCcgc3ltYm9scyBhdCBhbGwKLQotbGliZ2NjL0NoYW5nZWxvZzoKLQotMjAxNS0wNS0xMSAgU3phYm9sY3MgTmFneSAgPHN6YWJvbGNzLm5hZ3lAYXJtLmNvbT4KLQotCSogY29uZmlnL2kzODYvY3B1aW5mby5jIChfX2NwdV9pbmRpY2F0b3JfaW5pdF9sb2NhbCk6IEFkZC4KLQkoX19jcHVfaW5kaWNhdG9yX2luaXRAR0NDXzQuOC4wLCBfX2NwdV9tb2RlbEBHQ0NfNC44LjApOiBSZW1vdmUuCi0KLQkqIGNvbmZpZy9pMzg2L3QtbGludXggKEhPU1RfTElCR0NDMl9DRkxBR1MpOiBSZW1vdmUgLURVU0VfRUxGX1NZTVZFUi4KLQotZ2NjL0NoYW5nZWxvZzoKLQotMjAxNS0wNS0xMSAgU3phYm9sY3MgTmFneSAgPHN6YWJvbGNzLm5hZ3lAYXJtLmNvbT4KLQotCSogY29uZmlnL2kzODYvaTM4Ni5jIChpeDg2X2V4cGFuZF9idWlsdGluKTogTWFrZSBfX2J1aWx0aW5fY3B1X2luaXQKLQljYWxsIF9fY3B1X2luZGljYXRvcl9pbml0X2xvY2FsIGluc3RlYWQgb2YgX19jcHVfaW5kaWNhdG9yX2luaXQuCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0gZ2NjL2NvbmZpZy9pMzg2L2kzODYuYyAgICAgICB8IDQgKystLQotIGxpYmdjYy9jb25maWcvaTM4Ni9jcHVpbmZvLmMgfCA2ICsrKy0tLQotIGxpYmdjYy9jb25maWcvaTM4Ni90LWxpbnV4ICAgfCAyICstCi0gMyBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2kzODYvaTM4Ni5jIGIvZ2NjL2NvbmZpZy9pMzg2L2kzODYuYwotaW5kZXggNmEyMTQxZTQ4ZGIuLjQ1NWZjY2JkZDUwIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9pMzg2L2kzODYuYwotKysrIGIvZ2NjL2NvbmZpZy9pMzg2L2kzODYuYwotQEAgLTM2NDkwLDEwICszNjQ5MCwxMCBAQCBpeDg2X2V4cGFuZF9idWlsdGluICh0cmVlIGV4cCwgcnR4IHRhcmdldCwgcnR4IHN1YnRhcmdldCwKLSAgICAgewotICAgICBjYXNlIElYODZfQlVJTFRJTl9DUFVfSU5JVDoKLSAgICAgICB7Ci0tCS8qIE1ha2UgaXQgY2FsbCBfX2NwdV9pbmRpY2F0b3JfaW5pdCBpbiBsaWJnY2MuICovCi0rCS8qIE1ha2UgaXQgY2FsbCBfX2NwdV9pbmRpY2F0b3JfaW5pdF9sb2NhbCBpbiBsaWJnY2MuYS4gKi8KLSAJdHJlZSBjYWxsX2V4cHIsIGZuZGVjbCwgdHlwZTsKLSAgICAgICAgIHR5cGUgPSBidWlsZF9mdW5jdGlvbl90eXBlX2xpc3QgKGludGVnZXJfdHlwZV9ub2RlLCBOVUxMX1RSRUUpOyAKLS0JZm5kZWNsID0gYnVpbGRfZm5fZGVjbCAoIl9fY3B1X2luZGljYXRvcl9pbml0IiwgdHlwZSk7Ci0rCWZuZGVjbCA9IGJ1aWxkX2ZuX2RlY2wgKCJfX2NwdV9pbmRpY2F0b3JfaW5pdF9sb2NhbCIsIHR5cGUpOwotIAljYWxsX2V4cHIgPSBidWlsZF9jYWxsX2V4cHIgKGZuZGVjbCwgMCk7IAotIAlyZXR1cm4gZXhwYW5kX2V4cHIgKGNhbGxfZXhwciwgdGFyZ2V0LCBtb2RlLCBFWFBBTkRfTk9STUFMKTsKLSAgICAgICB9Ci1kaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZy9pMzg2L2NwdWluZm8uYyBiL2xpYmdjYy9jb25maWcvaTM4Ni9jcHVpbmZvLmMKLWluZGV4IDg2OTUzZGIyNzQzLi5lMDQ3NjI3MjgxMCAxMDA2NDQKLS0tLSBhL2xpYmdjYy9jb25maWcvaTM4Ni9jcHVpbmZvLmMKLSsrKyBiL2xpYmdjYy9jb25maWcvaTM4Ni9jcHVpbmZvLmMKLUBAIC00ODIsNyArNDgyLDcgQEAgX19jcHVfaW5kaWNhdG9yX2luaXQgKHZvaWQpCi0gICByZXR1cm4gMDsKLSB9Ci0gCi0tI2lmIGRlZmluZWQgU0hBUkVEICYmIGRlZmluZWQgVVNFX0VMRl9TWU1WRVIKLS1fX2FzbV9fICgiLnN5bXZlciBfX2NwdV9pbmRpY2F0b3JfaW5pdCwgX19jcHVfaW5kaWNhdG9yX2luaXRAR0NDXzQuOC4wIik7Ci0tX19hc21fXyAoIi5zeW12ZXIgX19jcHVfbW9kZWwsIF9fY3B1X21vZGVsQEdDQ180LjguMCIpOwotKyNpZm5kZWYgU0hBUkVECi0raW50IF9fY3B1X2luZGljYXRvcl9pbml0X2xvY2FsICh2b2lkKQotKyAgX19hdHRyaWJ1dGVfXyAoKHdlYWssIGFsaWFzICgiX19jcHVfaW5kaWNhdG9yX2luaXQiKSkpOwotICNlbmRpZgotZGlmZiAtLWdpdCBhL2xpYmdjYy9jb25maWcvaTM4Ni90LWxpbnV4IGIvbGliZ2NjL2NvbmZpZy9pMzg2L3QtbGludXgKLWluZGV4IDg1MDZhNjM1NzkwLi41NjQyOTZmNzg4ZSAxMDA2NDQKLS0tLSBhL2xpYmdjYy9jb25maWcvaTM4Ni90LWxpbnV4Ci0rKysgYi9saWJnY2MvY29uZmlnL2kzODYvdC1saW51eAotQEAgLTMsNSArMyw1IEBACi0gIyB0LXNsaWJnY2MtZWxmLXZlciBhbmQgdC1saW51eAotIFNITElCX01BUEZJTEVTID0gbGliZ2NjLXN0ZC52ZXIgJChzcmNkaXIpL2NvbmZpZy9pMzg2L2xpYmdjYy1nbGliYy52ZXIKLSAKLS1IT1NUX0xJQkdDQzJfQ0ZMQUdTICs9IC1tbG9uZy1kb3VibGUtODAgLURVU0VfRUxGX1NZTVZFUiAkKENFVF9GTEFHUykKLStIT1NUX0xJQkdDQzJfQ0ZMQUdTICs9IC1tbG9uZy1kb3VibGUtODAgJChDRVRfRkxBR1MpCi0gQ1JUU1RVRkZfVF9DRkxBR1MgKz0gJChDRVRfRkxBR1MpCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDM3LXN5bmMtZ2NjLXN0ZGRlZi5oLXdpdGgtbXVzbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMzctc3luYy1nY2Mtc3RkZGVmLmgtd2l0aC1tdXNsLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOGE3ZjQxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMzctc3luYy1nY2Mtc3RkZGVmLmgtd2l0aC1tdXNsLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTEgKzAsMCBAQAotRnJvbSA2MDJhYmFhYjE1ZmZiNjBiZjE3OTcxODdhNzFiNDg1MDQyYzU2MzYwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMyBGZWIgMjAxNyAxMjo1NjowMCAtMDgwMAotU3ViamVjdDogW1BBVENIIDM3LzM5XSBzeW5jIGdjYyBzdGRkZWYuaCB3aXRoIG11c2wKLQotbXVzbCBkZWZpbmVzIHB0cmRpZmZfdCBzaXplX3QgYW5kIHdjaGFyX3QKLXNvIGRvbnQgZGVmaW5lIHRoZW0gaGVyZSBpZiBtdXNsIGlzIGRlZmluaW5pbmcgdGhlbQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotIGdjYy9naW5jbHVkZS9zdGRkZWYuaCB8IDkgKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2dpbmNsdWRlL3N0ZGRlZi5oIGIvZ2NjL2dpbmNsdWRlL3N0ZGRlZi5oCi1pbmRleCAzMWI5NmE3ZTVlMS4uNDM4YTNjZTdjNTYgMTAwNjQ0Ci0tLS0gYS9nY2MvZ2luY2x1ZGUvc3RkZGVmLmgKLSsrKyBiL2djYy9naW5jbHVkZS9zdGRkZWYuaAotQEAgLTEzNCw2ICsxMzQsNyBAQCBfVFlQRV93Y2hhcl90OwotICNpZm5kZWYgX19faW50X3B0cmRpZmZfdF9oCi0gI2lmbmRlZiBfR0NDX1BUUkRJRkZfVAotICNpZm5kZWYgX1BUUkRJRkZfVF9ERUNMQVJFRCAvKiBEcmFnb25GbHkgKi8KLSsjaWZuZGVmIF9fREVGSU5FRF9wdHJkaWZmX3QgLyogbXVzbCAqLwotICNkZWZpbmUgX1BUUkRJRkZfVAotICNkZWZpbmUgX1RfUFRSRElGRl8KLSAjZGVmaW5lIF9UX1BUUkRJRkYKLUBAIC0xNDMsMTAgKzE0NCwxMiBAQCBfVFlQRV93Y2hhcl90OwotICNkZWZpbmUgX19faW50X3B0cmRpZmZfdF9oCi0gI2RlZmluZSBfR0NDX1BUUkRJRkZfVAotICNkZWZpbmUgX1BUUkRJRkZfVF9ERUNMQVJFRAotKyNkZWZpbmUgX19ERUZJTkVEX3B0cmRpZmZfdCAvKiBtdXNsICovCi0gI2lmbmRlZiBfX1BUUkRJRkZfVFlQRV9fCi0gI2RlZmluZSBfX1BUUkRJRkZfVFlQRV9fIGxvbmcgaW50Ci0gI2VuZGlmCi0gdHlwZWRlZiBfX1BUUkRJRkZfVFlQRV9fIHB0cmRpZmZfdDsKLSsjZW5kaWYgLyogX19ERUZJTkVEX3B0cmRpZmZfdCAqLwotICNlbmRpZiAvKiBfUFRSRElGRl9UX0RFQ0xBUkVEICovCi0gI2VuZGlmIC8qIF9HQ0NfUFRSRElGRl9UICovCi0gI2VuZGlmIC8qIF9fX2ludF9wdHJkaWZmX3RfaCAqLwotQEAgLTE4NCw2ICsxODcsNyBAQCB0eXBlZGVmIF9fUFRSRElGRl9UWVBFX18gcHRyZGlmZl90OwotICNpZm5kZWYgX0dDQ19TSVpFX1QKLSAjaWZuZGVmIF9TSVpFVF8KLSAjaWZuZGVmIF9fc2l6ZV90Ci0rI2lmbmRlZiBfX0RFRklORURfc2l6ZV90IC8qIG11c2wgKi8KLSAjZGVmaW5lIF9fc2l6ZV90X18JLyogQmVPUyAqLwotICNkZWZpbmUgX19TSVpFX1RfXwkvKiBDcmF5IFVuaWNvcy9NayAqLwotICNkZWZpbmUgX1NJWkVfVAotQEAgLTIwMCw2ICsyMDQsNyBAQCB0eXBlZGVmIF9fUFRSRElGRl9UWVBFX18gcHRyZGlmZl90OwotICNkZWZpbmUgX19faW50X3NpemVfdF9oCi0gI2RlZmluZSBfR0NDX1NJWkVfVAotICNkZWZpbmUgX1NJWkVUXwotKyNkZWZpbmUgX19ERUZJTkVEX3NpemVfdCAvKiBtdXNsICovCi0gI2lmIChkZWZpbmVkIChfX0ZyZWVCU0RfXykgJiYgKF9fRnJlZUJTRF9fID49IDUpKSBcCi0gICB8fCBkZWZpbmVkKF9fRHJhZ29uRmx5X18pIFwKLSAgIHx8IGRlZmluZWQoX19GcmVlQlNEX2tlcm5lbF9fKQotQEAgLTIzNSw2ICsyNDAsNyBAQCB0eXBlZGVmIGxvbmcgc3NpemVfdDsKLSAjZW5kaWYgLyogX1NJWkVfVCAqLwotICNlbmRpZiAvKiBfX1NJWkVfVF9fICovCi0gI2VuZGlmIC8qIF9fc2l6ZV90X18gKi8KLSsjZW5kaWYgLyogX19ERUZJTkVEX3NpemVfdCAqLwotICN1bmRlZglfX25lZWRfc2l6ZV90Ci0gI2VuZGlmIC8qIF9TVERERUZfSCBvciBfX25lZWRfc2l6ZV90LiAgKi8KLSAKLUBAIC0yNjQsNiArMjcwLDcgQEAgdHlwZWRlZiBsb25nIHNzaXplX3Q7Ci0gI2lmbmRlZiBfX19pbnRfd2NoYXJfdF9oCi0gI2lmbmRlZiBfX0lOVF9XQ0hBUl9UX0gKLSAjaWZuZGVmIF9HQ0NfV0NIQVJfVAotKyNpZm5kZWYgX19ERUZJTkVEX3djaGFyX3QgLyogbXVzbCAqLwotICNkZWZpbmUgX193Y2hhcl90X18JLyogQmVPUyAqLwotICNkZWZpbmUgX19XQ0hBUl9UX18JLyogQ3JheSBVbmljb3MvTWsgKi8KLSAjZGVmaW5lIF9XQ0hBUl9UCi1AQCAtMjc5LDYgKzI4Niw3IEBAIHR5cGVkZWYgbG9uZyBzc2l6ZV90OwotICNkZWZpbmUgX19JTlRfV0NIQVJfVF9ICi0gI2RlZmluZSBfR0NDX1dDSEFSX1QKLSAjZGVmaW5lIF9XQ0hBUl9UX0RFQ0xBUkVECi0rI2RlZmluZSBfX0RFRklORURfd2NoYXJfdCAvKiBtdXNsICovCi0gCi0gLyogT24gQlNELzM4NiAxLjEsIGF0IGxlYXN0LCBtYWNoaW5lL2Fuc2kuaCBkZWZpbmVzIF9CU0RfV0NIQVJfVF8KLSAgICBpbnN0ZWFkIG9mIF9XQ0hBUl9UXywgYW5kIF9CU0RfUlVORV9UXyAod2hpY2gsIHVubGlrZSB0aGUgb3RoZXIKLUBAIC0zNDQsNiArMzUyLDcgQEAgdHlwZWRlZiBfX1dDSEFSX1RZUEVfXyB3Y2hhcl90OwotICNlbmRpZgotICNlbmRpZiAvKiBfX1dDSEFSX1RfXyAqLwotICNlbmRpZiAvKiBfX3djaGFyX3RfXyAqLwotKyNlbmRpZiAvKiBfX0RFRklORURfd2NoYXJfdCBtdXNsICovCi0gI3VuZGVmCV9fbmVlZF93Y2hhcl90Ci0gI2VuZGlmIC8qIF9TVERERUZfSCBvciBfX25lZWRfd2NoYXJfdC4gICovCi0gCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDM4LWZpeC1zZWdtZW50YXRpb24tZmF1bHQtaW4tcHJlY29tcGlsZWQtaGVhZGVyLWdlbmVyYXQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDM4LWZpeC1zZWdtZW50YXRpb24tZmF1bHQtaW4tcHJlY29tcGlsZWQtaGVhZGVyLWdlbmVyYXQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIyNGQyYWUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAzOC1maXgtc2VnbWVudGF0aW9uLWZhdWx0LWluLXByZWNvbXBpbGVkLWhlYWRlci1nZW5lcmF0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjAgKzAsMCBAQAotRnJvbSAwMDY5NDg0OTYzMmRlZTIzNzQxOTI1YzYxMDRkZjEzNGY2YmZmNzQ3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSnVybyBCeXN0cmlja3kgPGp1cm8uYnlzdHJpY2t5QGludGVsLmNvbT4KLURhdGU6IE1vbiwgMTkgTWFyIDIwMTggMjI6MzE6MjAgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSCAzOC8zOV0gZml4IHNlZ21lbnRhdGlvbiBmYXVsdCBpbiBwcmVjb21waWxlZCBoZWFkZXIgZ2VuZXJhdGlvbgotCi1QcmV2ZW50IGEgc2VnbWVudGF0aW9uIGZhdWx0IHdoaWNoIG9jY3VycyB3aGVuIHVzaW5nIGluY29ycmVjdAotc3RydWN0dXJlIHRyeWluZyB0byBhY2Nlc3MgbmFtZSBvZiBzb21lIG5hbWVkIG9wZXJhdG9ycywgc3VjaCBhcwotQ1BQX05PVCwgQ1BQX0FORCBldGMuICJ0b2tlbi0+dmFsLm5vZGUuc3BlbGxpbmciIGNhbm5vdCBiZSB1c2VkIGluCi10aG9zZSBjYXNlcywgYXMgaXMgbWF5IG5vdCBiZSBpbml0aWFsaXplZCBhdCBhbGwuCi0KLVtZT0NUTyAjMTE3MzhdCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBKdXJvIEJ5c3RyaWNreSA8anVyby5ieXN0cmlja3lAaW50ZWwuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGxpYmNwcC9sZXguYyB8IDI2ICsrKysrKysrKysrKysrKysrKysrKy0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJjcHAvbGV4LmMgYi9saWJjcHAvbGV4LmMKLWluZGV4IDM3YzM2NWEzNTYwLi42MzQ4MDA0OGRiNiAxMDA2NDQKLS0tLSBhL2xpYmNwcC9sZXguYwotKysrIGIvbGliY3BwL2xleC5jCi1AQCAtMzI3OSwxMSArMzI3OSwyNyBAQCBjcHBfc3BlbGxfdG9rZW4gKGNwcF9yZWFkZXIgKnBmaWxlLCBjb25zdCBjcHBfdG9rZW4gKnRva2VuLAotICAgICBzcGVsbF9pZGVudDoKLSAgICAgY2FzZSBTUEVMTF9JREVOVDoKLSAgICAgICBpZiAoZm9yc3RyaW5nKQotLQl7Ci0tCSAgbWVtY3B5IChidWZmZXIsIE5PREVfTkFNRSAodG9rZW4tPnZhbC5ub2RlLnNwZWxsaW5nKSwKLS0JCSAgTk9ERV9MRU4gKHRva2VuLT52YWwubm9kZS5zcGVsbGluZykpOwotLQkgIGJ1ZmZlciArPSBOT0RFX0xFTiAodG9rZW4tPnZhbC5ub2RlLnNwZWxsaW5nKTsKLS0JfQotKyAgICAgICAgewotKyAgICAgICAgICBpZiAodG9rZW4tPnR5cGUgPT0gQ1BQX05BTUUpCi0rICAgICAgICAgICAgewotKyAgICAgICAgICAgICAgbWVtY3B5IChidWZmZXIsIE5PREVfTkFNRSAodG9rZW4tPnZhbC5ub2RlLnNwZWxsaW5nKSwKLSsgICAgICAgICAgICAgICAgICAgIE5PREVfTEVOICh0b2tlbi0+dmFsLm5vZGUuc3BlbGxpbmcpKTsKLSsgICAgICAgICAgICAgIGJ1ZmZlciArPSBOT0RFX0xFTiAodG9rZW4tPnZhbC5ub2RlLnNwZWxsaW5nKTsKLSsgICAgICAgICAgICAgIGJyZWFrOwotKyAgICAgICAgICAgIH0KLSsgICAgICAgICAgLyogTkFNRURfT1AsIGNhbm5vdCB1c2Ugbm9kZS5zcGVsbGluZyAqLwotKyAgICAgICAgICBpZiAodG9rZW4tPmZsYWdzICYgTkFNRURfT1ApCi0rICAgICAgICAgICAgewotKyAgICAgICAgICAgICAgY29uc3QgY2hhciAqc3RyID0gY3BwX25hbWVkX29wZXJhdG9yMm5hbWUgKHRva2VuLT50eXBlKTsKLSsgICAgICAgICAgICAgIGlmIChzdHIpCi0rICAgICAgICAgICAgICAgIHsKLSsgICAgICAgICAgICAgICAgICBzaXplX3QgbGVuID0gc3RybGVuKHN0cik7Ci0rICAgICAgICAgICAgICAgICAgbWVtY3B5KGJ1ZmZlciwgc3RyLCBsZW4pOwotKyAgICAgICAgICAgICAgICAgIGJ1ZmZlciArPSBsZW47Ci0rICAgICAgICAgICAgICAgIH0KLSsgICAgICAgICAgICAgIGJyZWFrOwotKyAgICAgICAgICAgIH0KLSsgICAgICAgIH0KLSAgICAgICBlbHNlCi0gCWJ1ZmZlciA9IF9jcHBfc3BlbGxfaWRlbnRfdWNucyAoYnVmZmVyLCB0b2tlbi0+dmFsLm5vZGUubm9kZSk7Ci0gICAgICAgYnJlYWs7Ci0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDM5LUZpeC1mb3ItdGVzdHN1aXRlLWZhaWx1cmUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDM5LUZpeC1mb3ItdGVzdHN1aXRlLWZhaWx1cmUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYzNTE2MzAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAzOS1GaXgtZm9yLXRlc3RzdWl0ZS1mYWlsdXJlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjU4ICswLDAgQEAKLUZyb20gZDE1MWE2MmMyNTI3NDk2NDNjODUwYTA4ZDEzMzUzMjFlNWI3NWQ0MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJBR0hVTkFUSCBMT0xVUiA8cmFnaHVuYXRoLmxvbHVyQGtwaXQuY29tPgotRGF0ZTogV2VkLCA2IERlYyAyMDE3IDIyOjUyOjI2IC0wODAwCi1TdWJqZWN0OiBbUEFUQ0ggMzkvMzldIEZpeCBmb3IgdGVzdHN1aXRlIGZhaWx1cmUKLQotMjAxNy0xMS0xNiAgUmFnaHVuYXRoIExvbHVyICA8cmFnaHVuYXRoLmxvbHVyQGtwaXQuY29tPgotCi0JKiBnY2MuZGcvcHI1NjI3NS5jOiBJZiBTU0UgaXMgZGlzYWJsZWQsIGVuc3VyZSB0aGF0Ci0JIi1tZnBtYXRoIiBpcyBub3Qgc2V0IHRvIHVzZSBTU0UuIFNldCAiLW1mcG1hdGg9Mzg3Ii4KLQkqIGdjYy5kZy9wcjY4MzA2LmM6IExpa2V3aXNlCi0JKiBnY2MuZGcvcHI2ODMwNi0yLmM6IExpa2V3aXNlCi0JKiBnY2MuZGcvcHI2ODMwNi0zLmM6IExpa2V3aXNlCi0JKiBnY2MuZGcvcHI2OTYzNC5jOiBMaWtld2lzZQotCSogZ2NjLnRhcmdldC9pMzg2L2FtZDY0LWFiaS0xLmM6IExpa2V3aXNlCi0JKiBnY2MudGFyZ2V0L2kzODYvZnVuY3NwZWMtNi5jOiBMaWtld2lzZQotCSogZ2NjLnRhcmdldC9pMzg2L2ludGVycnVwdC0zODctZXJyLTEuYzogTGlrZXdpc2UKLQkqIGdjYy50YXJnZXQvaTM4Ni9pc2EtMTQuYzogTGlrZXdpc2UKLQkqIGdjYy50YXJnZXQvaTM4Ni9wcjQ0OTQ4LTJiLmM6IExpa2V3aXNlCi0JKiBnY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0xLmM6IExpa2V3aXNlCi0JKiBnY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0yLmM6IExpa2V3aXNlCi0JKiBnY2MudGFyZ2V0L2kzODYvcHI1NTI0Ny5jOiBMaWtld2lzZQotCSogZ2NjLnRhcmdldC9pMzg2L3ByNTk2NDQuYzogTGlrZXdpc2UKLQkqIGdjYy50YXJnZXQvaTM4Ni9wcjYyMTIwLmM6IExpa2V3aXNlCi0JKiBnY2MudGFyZ2V0L2kzODYvcHI3MDQ2Ny0xLmM6IExpa2V3aXNlCi0JKiBnY2MudGFyZ2V0L2kzODYvd2Fybi12ZWN0LW9wLTEuYzogTGlrZXdpc2UKLQotSWYgLVdhbGwsIC1XZXJyb3IgYXJlIHVzZWQgZHVyaW5nIGNvbXBpbGF0aW9uIHZhcmlvdXMgdGVzdCBjYXNlcyBmYWlsCi10byBjb21waWxlLgotCi1JZiBTU0UgaXMgZGlzYWJsZWQsIGJlIHN1cmUgdG8gLW1mcG1hdGg9Mzg3IHRvIHJlc29sdmUgdGhpcy4KLQotVGhpcyBwYXRjaCByZW1vdmVzIHRoZSBjaGFuZ2VzIHRvIENoYW5nZWxvZyBmcm9tIHRoZSBvcmlnaW5hbCBwYXRjaC4KLVRoaXMgd2lsbCBoZWxwIHVzIGF2b2lkIGNvbmZsaWN0cy4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KLS0tLQotIGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNTYyNzUuYyAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KLSBnY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LTIuYyAgICAgICAgICAgICAgICAgICAgfCAyICstCi0gZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi0zLmMgICAgICAgICAgICAgICAgICAgIHwgMiArLQotIGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYuYyAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KLSBnY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY5NjM0LmMgICAgICAgICAgICAgICAgICAgICAgfCAyICstCi0gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvYW1kNjQtYWJpLTEuYyAgICAgICAgIHwgMiArLQotIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2Z1bmNzcGVjLTYuYyAgICAgICAgICB8IDEgKwotIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2ludGVycnVwdC0zODctZXJyLTEuYyB8IDIgKy0KLSBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9pc2EtMTQuYyAgICAgICAgICAgICAgfCAyICstCi0gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI0NDk0OC0yYi5jICAgICAgICAgIHwgMiArLQotIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMS5jICAgICAgICAgICB8IDIgKy0KLSBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTIuYyAgICAgICAgICAgfCAyICstCi0gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1NTI0Ny5jICAgICAgICAgICAgIHwgMiArLQotIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTk2NDQuYyAgICAgICAgICAgICB8IDIgKy0KLSBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjYyMTIwLmMgICAgICAgICAgICAgfCAyICstCi0gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI3MDQ2Ny0xLmMgICAgICAgICAgIHwgMiArLQotIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3dhcm4tdmVjdC1vcC0xLmMgICAgICB8IDIgKy0KLSAxNyBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNTYyNzUuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNTYyNzUuYwotaW5kZXggYjkwMWJiMmIxOTkuLmE0ZjZjOTVlMWExIDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI1NjI3NS5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjU2Mjc1LmMKLUBAIC0xLDYgKzEsNiBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0gLyogeyBkZy1vcHRpb25zICItTzIiIH0gKi8KLS0vKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UiIHsgdGFyZ2V0IHsgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gfSAqLwotKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbW5vLXNzZSAtbWZwbWF0aD0zODciIHsgdGFyZ2V0IHsgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gfSAqLwotIAotIHR5cGVkZWYgbG9uZyBsb25nIHYydHcgX19hdHRyaWJ1dGVfXyAoKHZlY3Rvcl9zaXplICgyICogc2l6ZW9mIChsb25nIGxvbmcpKSkpOwotIAotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYtMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi0yLmMKLWluZGV4IDQ2NzJlYmU3OTg3Li4yYTM2OGM0ODRiNiAxMDA2NDQKLS0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYtMi5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LTIuYwotQEAgLTEsNiArMSw2IEBACi0gLyogeyBkZy1kbyBjb21waWxlIH0gKi8KLSAvKiB7IGRnLW9wdGlvbnMgIi1PMyIgfSAqLwotLS8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbW5vLXNzZSAtbW5vLW1teCIgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KLSsvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1uby1tbXggLW1mcG1hdGg9Mzg3IiB7IHRhcmdldCBpPzg2LSotKiB4ODZfNjQtKi0qIH0gfSAqLwotIAotIHN0cnVjdCB7Ci0gICAgIGludCB0el9taW51dGVzd2VzdDsKLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LTMuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYtMy5jCi1pbmRleCBmNWE4YzEwMmNmOC4uZGYzMzkwYzY0YzIgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LTMuYwotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi0zLmMKLUBAIC0xLDYgKzEsNiBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0gLyogeyBkZy1vcHRpb25zICItTzMiIH0gKi8KLS0vKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1uby1tbXgiIHsgdGFyZ2V0IGk/ODYtKi0qIHg4Nl82NC0qLSogfSB9ICovCi0rLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tbm8tc3NlIC1tbm8tbW14IC1tZnBtYXRoPTM4NyIgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KLSAvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1hbHRpdmVjIC1tbm8tdnN4IiB7IHRhcmdldCBwb3dlcnBjKi0qLSogfSB9ICovCi0gCi0gZXh0ZXJuIHZvaWQgZm4yKCk7Ci1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi5jCi1pbmRleCA1NGU1YjQwZjIyMS4uMDgxMzM4OWUyYzEgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LmMKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYuYwotQEAgLTEsNiArMSw2IEBACi0gLyogeyBkZy1kbyBjb21waWxlIH0gKi8KLSAvKiB7IGRnLW9wdGlvbnMgIi1PMyIgfSAqLwotLS8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbW5vLXNzZSAtbW5vLW1teCIgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KLSsvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1uby1tbXggLW1mcG1hdGg9Mzg3IiB7IHRhcmdldCBpPzg2LSotKiB4ODZfNjQtKi0qIH0gfSAqLwotIAotIGVudW0gcG93ZXJwY19wbWNfdHlwZSB7IFBQQ19QTUNfSUJNIH07Ci0gc3RydWN0IHsKLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY5NjM0LmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY5NjM0LmMKLWluZGV4IDYwYTU2MTQ5NDYzLi5iY2MyM2Y5Y2NkNiAxMDA2NDQKLS0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjk2MzQuYwotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2OTYzNC5jCi1AQCAtMSw2ICsxLDYgQEAKLSAvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwotIC8qIHsgZGctb3B0aW9ucyAiLU8yIC1mbm8tZGNlIC1mc2NoZWR1bGUtaW5zbnMgLWZuby10cmVlLXZycCAtZmNvbXBhcmUtZGVidWcgLVduby1wc2FiaSIgfSAqLwotLS8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbW5vLXNzZSIgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KLSsvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1mcG1hdGg9Mzg3IiB7IHRhcmdldCBpPzg2LSotKiB4ODZfNjQtKi0qIH0gfSAqLwotIC8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHNjaGVkdWxpbmcgfSAqLwotIAotIHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgdTE2OwotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2FtZDY0LWFiaS0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hbWQ2NC1hYmktMS5jCi1pbmRleCA2OWZkZTU3YmYwNi4uN2YxZjFjMDNlZGYgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hbWQ2NC1hYmktMS5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hbWQ2NC1hYmktMS5jCi1AQCAtMSw1ICsxLDUgQEAKLSAvKiB7IGRnLWRvIGNvbXBpbGUgeyB0YXJnZXQgeyAhIGlhMzIgfSB9IH0gKi8KLS0vKiB7IGRnLW9wdGlvbnMgIi1tbm8tc3NlIiB9ICovCi0rLyogeyBkZy1vcHRpb25zICItbW5vLXNzZSAtbWZwbWF0aD0zODciIH0gKi8KLSAvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1hYmk9c3lzdiIgeyB0YXJnZXQgKi0qLW1pbmd3KiB9IH0gKi8KLSAKLSBkb3VibGUgZm9vKHZvaWQpIHsgcmV0dXJuIDA7IH0JLyogeyBkZy1lcnJvciAiU1NFIGRpc2FibGVkIiB9ICovCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvZnVuY3NwZWMtNi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvZnVuY3NwZWMtNi5jCi1pbmRleCBlYTg5NmI3ZWJmZC4uYmYxNTU2OWI4MjYgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9mdW5jc3BlYy02LmMKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2Z1bmNzcGVjLTYuYwotQEAgLTEsNiArMSw3IEBACi0gLyogVGVzdCB3aGV0aGVyIGFsbCBvZiB0aGUgNjQtYml0IGZ1bmN0aW9uIHNwZWNpZmljIG9wdGlvbnMgYXJlIGFjY2VwdGVkCi0gICAgd2l0aG91dCBlcnJvci4gICovCi0gLyogeyBkZy1kbyBjb21waWxlIHsgdGFyZ2V0IHsgISBpYTMyIH0gfSB9ICovCi0rLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tZnBtYXRoPTM4NyIgfSAqLwotIAotICNpbmNsdWRlICJmdW5jc3BlYy01Ni5pbmMiCi0gCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvaW50ZXJydXB0LTM4Ny1lcnItMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvaW50ZXJydXB0LTM4Ny1lcnItMS5jCi1pbmRleCAzZmJkYzg4MWRkYS4uNmI0ZDlkMTI1MmEgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9pbnRlcnJ1cHQtMzg3LWVyci0xLmMKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2ludGVycnVwdC0zODctZXJyLTEuYwotQEAgLTEsNSArMSw1IEBACi0gLyogeyBkZy1kbyBjb21waWxlIH0gKi8KLS0vKiB7IGRnLW9wdGlvbnMgIi1PMiAtbWdlbmVyYWwtcmVncy1vbmx5IC1tbm8tY2xkIC1tbm8taWFtY3UgLW04MDM4NyIgfSAqLwotKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1tZ2VuZXJhbC1yZWdzLW9ubHkgLW1uby1jbGQgLW1uby1pYW1jdSAtbTgwMzg3IC1tZnBtYXRoPTM4NyIgfSAqLwotIAotIHR5cGVkZWYgdW5zaWduZWQgaW50IHV3b3JkX3QgX19hdHRyaWJ1dGVfXyAoKG1vZGUgKF9fd29yZF9fKSkpOwotIAotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2lzYS0xNC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvaXNhLTE0LmMKLWluZGV4IDVkNDllNmU3N2ZlLi4xZGUyZGI5MmJkZCAxMDA2NDQKLS0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2lzYS0xNC5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9pc2EtMTQuYwotQEAgLTEsNSArMSw1IEBACi0gLyogeyBkZy1kbyBydW4gfSAqLwotLS8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXg4Ni02NCAtbXNzZTRhIC1tZm1hNCAtbW5vLXNzZSIgfSAqLwotKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXg4Ni02NCAtbXNzZTRhIC1tZm1hNCAtbW5vLXNzZSAtbWZwbWF0aD0zODciIH0gKi8KLSAKLSBleHRlcm4gdm9pZCBhYm9ydCAodm9pZCk7Ci0gCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI0NDk0OC0yYi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI0NDk0OC0yYi5jCi1pbmRleCBmYTE3NjliNjJmYi4uZjc5ZmIxMjcyNmYgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjQ0OTQ4LTJiLmMKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNDQ5NDgtMmIuYwotQEAgLTEsNSArMSw1IEBACi0gLyogeyBkZy1kbyBjb21waWxlIH0gKi8KLS0vKiB7IGRnLW9wdGlvbnMgIi1PIC1tbm8tc3NlIC1Xbm8tcHNhYmkgLW10dW5lPWdlbmVyaWMiIH0gKi8KLSsvKiB7IGRnLW9wdGlvbnMgIi1PIC1tbm8tc3NlIC1Xbm8tcHNhYmkgLW10dW5lPWdlbmVyaWMgLW1mcG1hdGg9Mzg3IiB9ICovCi0gCi0gc3RydWN0IEEKLSB7IAotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0xLmMKLWluZGV4IDJlODlmZjdkODFkLi42MzM5YmY2YjczNiAxMDA2NDQKLS0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMS5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTEuYwotQEAgLTEsNiArMSw2IEBACi0gLyogUFIgdGFyZ2V0LzUzNDI1ICovCi0gLyogeyBkZy1kbyBjb21waWxlIHsgdGFyZ2V0IHsgISBpYTMyIH0gfSB9ICovCi0tLyogeyBkZy1vcHRpb25zICItTzIgLW1uby1zc2UiIH0gKi8KLSsvKiB7IGRnLW9wdGlvbnMgIi1PMiAtbW5vLXNzZSAtbWZwbWF0aD0zODciIH0gKi8KLSAvKiB7IGRnLXNraXAtaWYgIm5vIFNTRSB2ZWN0b3IiIHsgeDg2XzY0LSotbWluZ3cqIH0gfSAqLwotIAotIHR5cGVkZWYgZG91YmxlIF9fdjJkZiBfX2F0dHJpYnV0ZV9fICgoX192ZWN0b3Jfc2l6ZV9fICgxNikpKTsKLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMi5jCi1pbmRleCA2MWY2MjgzZGJlOS4uMmM1YTU1ZjBhYzMgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTIuYwotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0yLmMKLUBAIC0xLDYgKzEsNiBAQAotIC8qIFBSIHRhcmdldC81MzQyNSAqLwotIC8qIHsgZGctZG8gY29tcGlsZSB7IHRhcmdldCB7ICEgaWEzMiB9IH0gfSAqLwotLS8qIHsgZGctb3B0aW9ucyAiLU8yIC1tbm8tc3NlIiB9ICovCi0rLyogeyBkZy1vcHRpb25zICItTzIgLW1uby1zc2UgLW1mcG1hdGg9Mzg3IiB9ICovCi0gLyogeyBkZy1za2lwLWlmICJubyBTU0UgdmVjdG9yIiB7IHg4Nl82NC0qLW1pbmd3KiB9IH0gKi8KLSAKLSB0eXBlZGVmIGZsb2F0IF9fdjJzZiBfX2F0dHJpYnV0ZV9fICgoX192ZWN0b3Jfc2l6ZV9fICg4KSkpOwotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTUyNDcuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTUyNDcuYwotaW5kZXggMjMzNjZkMDkwOWQuLjk4MTBlM2FiYjc2IDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1NTI0Ny5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjU1MjQ3LmMKLUBAIC0xLDYgKzEsNiBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB7IHRhcmdldCB7ICEgaWEzMiB9IH0gfSAqLwotIC8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IG1heWJlX3gzMiB9ICovCi0tLyogeyBkZy1vcHRpb25zICItTzIgLW1uby1zc2UgLW1uby1tbXggLW14MzIgLW1hZGRyZXNzLW1vZGU9bG9uZyIgfSAqLwotKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1tbm8tc3NlIC1tbm8tbW14IC1teDMyIC1tYWRkcmVzcy1tb2RlPWxvbmcgLW1mcG1hdGg9Mzg3IiB9ICovCi0gCi0gdHlwZWRlZiB1bnNpZ25lZCBpbnQgdWludDMyX3Q7Ci0gdHlwZWRlZiB1aW50MzJfdCBFbGYzMl9Xb3JkOwotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTk2NDQuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTk2NDQuYwotaW5kZXggOTYwMDZiM2UzMzguLjQyODdlNDUzOGJmIDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1OTY0NC5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjU5NjQ0LmMKLUBAIC0xLDYgKzEsNiBAQAotIC8qIFBSIHRhcmdldC81OTY0NCAqLwotIC8qIHsgZGctZG8gcnVuIHsgdGFyZ2V0IGxwNjQgfSB9ICovCi0tLyogeyBkZy1vcHRpb25zICItTzIgLWZmcmVlc3RhbmRpbmcgLW1uby1zc2UgLW1wcmVmZXJyZWQtc3RhY2stYm91bmRhcnk9MyAtbWFjY3VtdWxhdGUtb3V0Z29pbmctYXJncyAtbW5vLXJlZC16b25lIiB9ICovCi0rLyogeyBkZy1vcHRpb25zICItTzIgLWZmcmVlc3RhbmRpbmcgLW1uby1zc2UgLW1wcmVmZXJyZWQtc3RhY2stYm91bmRhcnk9MyAtbWFjY3VtdWxhdGUtb3V0Z29pbmctYXJncyAtbW5vLXJlZC16b25lIC1tZnBtYXRoPTM4NyIgfSAqLwotIAotIC8qIFRoaXMgdGVzdCB1c2VzIF9fYnVpbHRpbl90cmFwICgpIGluc3RlYWQgb2YgZS5nLiBhYm9ydCwKLSAgICBiZWNhdXNlIGR1ZSB0byAtbXByZWZlcnJlZC1zdGFjay1ib3VuZGFyeT0zIGl0IHNob3VsZCBub3QgY2FsbAotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNjIxMjAuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNjIxMjAuYwotaW5kZXggYmZiOGM0NzAzZWIuLmVkMDRjZjE4MWYzIDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI2MjEyMC5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjYyMTIwLmMKLUBAIC0xLDUgKzEsNSBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0tLyogeyBkZy1vcHRpb25zICItbW5vLXNzZSIgfSAqLwotKy8qIHsgZGctb3B0aW9ucyAiLW1uby1zc2UgLW1mcG1hdGg9Mzg3IiB9ICovCi0gCi0gdm9pZCBmb28gKCkKLSB7Ci1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI3MDQ2Ny0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjcwNDY3LTEuYwotaW5kZXggNGUxMTJjODhkMDcuLmJjZmIzOTZhNjhkIDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI3MDQ2Ny0xLmMKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNzA0NjctMS5jCi1AQCAtMSw2ICsxLDYgQEAKLSAvKiBQUiBydGwtb3B0aW1pemF0aW9uLzcwNDY3ICovCi0gLyogeyBkZy1kbyBjb21waWxlIH0gKi8KLS0vKiB7IGRnLW9wdGlvbnMgIi1PMiAtbW5vLXNzZSIgfSAqLwotKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1tbm8tc3NlIC1tZnBtYXRoPTM4NyIgfSAqLwotIAotIHZvaWQgZm9vICh1bnNpZ25lZCBsb25nIGxvbmcgKik7Ci0gCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvd2Fybi12ZWN0LW9wLTEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3dhcm4tdmVjdC1vcC0xLmMKLWluZGV4IDZjZGExNTM0MzExLi4yNmUzN2Y1YjhiYSAxMDA2NDQKLS0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3dhcm4tdmVjdC1vcC0xLmMKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3dhcm4tdmVjdC1vcC0xLmMKLUBAIC0xLDUgKzEsNSBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB7IHRhcmdldCB7ICEgaWEzMiB9IH0gfSAgKi8KLS0vKiB7IGRnLW9wdGlvbnMgIi1tbm8tc3NlIC1XdmVjdG9yLW9wZXJhdGlvbi1wZXJmb3JtYW5jZSIgfSAgKi8KLSsvKiB7IGRnLW9wdGlvbnMgIi1tbm8tc3NlIC1XdmVjdG9yLW9wZXJhdGlvbi1wZXJmb3JtYW5jZSAtbWZwbWF0aD0zODciIH0gICovCi0gI2RlZmluZSB2ZWN0b3IoZWxjb3VudCwgdHlwZSkgIFwKLSBfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSgoZWxjb3VudCkqc2l6ZW9mKHR5cGUpKSkpIHR5cGUKLSAKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwNDAtUmUtaW50cm9kdWNlLXNwZS1jb21tYW5kbGluZS1vcHRpb25zLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDA0MC1SZS1pbnRyb2R1Y2Utc3BlLWNvbW1hbmRsaW5lLW9wdGlvbnMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhhZmEwMTAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDA0MC1SZS1pbnRyb2R1Y2Utc3BlLWNvbW1hbmRsaW5lLW9wdGlvbnMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1Gcm9tIDhmYjhmNzczZTExN2VlNzBiZTAwYmIwZGE1ZjM0M2ZlMTEwZGE1YzQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogV2VkLCA2IEp1biAyMDE4IDEyOjEwOjIyIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggNDAvNDBdIFJlLWludHJvZHVjZSBzcGUgY29tbWFuZGxpbmUgb3B0aW9ucwotCi1UaGlzIHNob3VsZCBlbnN1cmUgdGhhdCB3ZSBrZWVwIGFjY2VwdGluZwotc3BlIG9wdGlvbnMKLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtTUEUgcG9ydCBpcyByZW1vdmVkIGZyb20gcnM2MDAgcG9ydF0KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGdjYy9jb25maWcvcnM2MDAwL3JzNjAwMC5vcHQgfCAxMiArKysrKysrKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLm9wdCBiL2djYy9jb25maWcvcnM2MDAwL3JzNjAwMC5vcHQKLWluZGV4IGFjZThhNDc3NTUwLi5kNmE4ZjgyNWQ4OCAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvcnM2MDAwL3JzNjAwMC5vcHQKLSsrKyBiL2djYy9jb25maWcvcnM2MDAwL3JzNjAwMC5vcHQKLUBAIC0zNjUsNiArMzY1LDE4IEBAIG1kZWJ1Zz0KLSBUYXJnZXQgUmVqZWN0TmVnYXRpdmUgSm9pbmVkCi0gLW1kZWJ1Zz0JRW5hYmxlIGRlYnVnIG91dHB1dC4KLSAKLSttc3BlCi0rVGFyZ2V0IFZhcihyczYwMDBfc3BlKSBTYXZlCi0rR2VuZXJhdGUgU1BFIFNJTUQgaW5zdHJ1Y3Rpb25zIG9uIEU1MDAuCi0rCi0rbWFiaT1zcGUKLStUYXJnZXQgUmVqZWN0TmVnYXRpdmUgVmFyKHJzNjAwMF9zcGVfYWJpKSBTYXZlCi0rVXNlIHRoZSBTUEUgQUJJIGV4dGVuc2lvbnMuCi0rCi0rbWFiaT1uby1zcGUKLStUYXJnZXQgUmVqZWN0TmVnYXRpdmUgVmFyKHJzNjAwMF9zcGVfYWJpLCAwKQotK0RvIG5vdCB1c2UgdGhlIFNQRSBBQkkgZXh0ZW5zaW9ucy4KLSsKLSBtYWJpPWFsdGl2ZWMKLSBUYXJnZXQgUmVqZWN0TmVnYXRpdmUgVmFyKHJzNjAwMF9hbHRpdmVjX2FiaSkgU2F2ZQotIFVzZSB0aGUgQWx0aVZlYyBBQkkgZXh0ZW5zaW9ucy4KLS0tIAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwNDEtQVJDLWZpeC1zcGVjLWdlbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwNDEtQVJDLWZpeC1zcGVjLWdlbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2JkNWU0MS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDQxLUFSQy1maXgtc3BlYy1nZW4ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NCArMCwwIEBACi1Gcm9tIDg5MjE0MjM3OWM2Yjk5ZmU4YzNlYmRmZTBiNzllMmE0MzUyMjhjMWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBjbGF6aXNzIDxjbGF6aXNzQDEzOGJjNzVkLTBkMDQtMDQxMC05NjFmLTgyZWU3MmIwNTRhND4KLURhdGU6IE1vbiwgMTcgU2VwIDIwMTggMDg6NTI6MTAgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gW0FSQ10gVXBkYXRlIExJTktfRUhfU1BFQyBsaW5rZXIgc3BlYy4KLQotV2l0aCBubyB0cmFpbGluZyBzcGFjZSBpbiBMSU5LX0VIX1NQRUMgbGlua2VyIHNwZWMgZ2V0cyBnZW5lcmF0ZWQgYXM6Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+OC0tLS0tLS0tLS0tLS0tLS0tLS0tLQotJXshcjotLWJ1aWxkLWlkfSAtLWVoLWZyYW1lLWhkciV7aCp9IC4uLgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPjgtLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotb3IgZXZlbiB3b3JzZSBpZiBoYXNoIHN0eWxlIGlzIGFkZGVkOgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPjgtLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSV7IXI6LS1idWlsZC1pZH0gLS1laC1mcmFtZS1oZHItLWhhc2gtc3R5bGU9c3lzdiAle2gqfSAuLi4KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT44LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLU5vdyBpZiB0aGF0IHNwZWMgaXMgcmVhbGx5IHVzZWQgYnkgTEQgdGhlbiBpdCBmYWlscyBpbmV2aXRhYmx5Ci1zYXlpbmcgdGhhdCBpdCBkb2Vzbid0IGtub3cgb3B0aW9uICItLWVoLWZyYW1lLWhkci0taGFzaC1zdHlsZT1zeXN2Ii4KLQotMjAxOC0wOS0xNyAgQWxleGV5IEJyb2RraW4gIDxhYnJvZGtpbkBzeW5vcHN5cy5jb20+Ci0KLQkqIGNvbmZpZy9hcmMvbGludXguaCAoTElOS19FSF9TUEVDKTogQWRkIG1pc3Npbmcgc3BhY2UuCi0KLWdpdC1zdm4taWQ6IHN2bitzc2g6Ly9nY2MuZ251Lm9yZy9zdm4vZ2NjL3RydW5rQDI2NDM2MSAxMzhiYzc1ZC0wZDA0LTA0MTAtOTYxZi04MmVlNzJiMDU0YTQKLQotU2lnbmVkLW9mZi1ieTogQWxleGV5IEJyb2RraW4gPGFicm9ka2luQHN5bm9wc3lzLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydFtodHRwczovL2djYy5nbnUub3JnL2dpdC8/cD1nY2MuZ2l0O2E9Y29tbWl0O2g9ODkyMTQyMzc5YzZiXQotLS0tCi0gZ2NjL2NvbmZpZy9hcmMvbGludXguaCB8IDIgKy0KLSAxIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hcmMvbGludXguaCBiL2djYy9jb25maWcvYXJjL2xpbnV4LmgKLWluZGV4IDk2ZDU0OGVhZTM0MS4uNjJlYmU0ZGUwZmM3IDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9hcmMvbGludXguaAotKysrIGIvZ2NjL2NvbmZpZy9hcmMvbGludXguaAotQEAgLTk4LDcgKzk4LDcgQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKLSAgICBTaWduYWxpemUgdGhhdCBiZWNhdXNlIHdlIGhhdmUgZmRlLWdsaWJjLCB3ZSBkb24ndCBuZWVkIGFsbCBDIHNoYXJlZCBsaWJzCi0gICAgbGlua2VkIGFnYWluc3QgLWxnY2Nfcy4gICovCi0gI3VuZGVmIExJTktfRUhfU1BFQwotLSNkZWZpbmUgTElOS19FSF9TUEVDICItLWVoLWZyYW1lLWhkciIKLSsjZGVmaW5lIExJTktfRUhfU1BFQyAiLS1laC1mcmFtZS1oZHIgIgotICNlbmRpZgotIAotICN1bmRlZiBTVUJUQVJHRVRfQ1BQX1NQRUMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mN2JmMjU3Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMuaW5jCkBAIC0wLDAgKzEsMTExIEBACityZXF1aXJlIGdjYy1jb21tb24uaW5jCisKKyMgVGhpcmQgZGlnaXQgaW4gUFYgc2hvdWxkIGJlIGluY3JlbWVudGVkIGFmdGVyIGEgbWlub3IgcmVsZWFzZQorCitQViA9ICI4LjMuMCIKKworIyBCSU5WIHNob3VsZCBiZSBpbmNyZW1lbnRlZCB0byBhIHJldmlzaW9uIGFmdGVyIGEgbWlub3IgZ2NjIHJlbGVhc2UKKworQklOViA9ICI4LjMuMCIKKworRklMRVNFWFRSQVBBVEhTID0uICIke0ZJTEVfRElSTkFNRX0vZ2NjLTguMzoiCisKK0RFUEVORFMgPSsgIm1wZnIgZ21wIGxpYm1wYyB6bGliIGZsZXgtbmF0aXZlIgorTkFUSVZFREVQUyA9ICJtcGZyLW5hdGl2ZSBnbXAtbmF0aXZlIGxpYm1wYy1uYXRpdmUgemxpYi1uYXRpdmUgZmxleC1uYXRpdmUiCisKK0xJQ0VOU0UgPSAiR1BMLTMuMC13aXRoLUdDQy1leGNlcHRpb24gJiBHUEx2MyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJcCisgICAgZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIFwKKyAgICBmaWxlOi8vQ09QWUlORzM7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IFwKKyAgICBmaWxlOi8vQ09QWUlORzMuTElCO21kNT02YTZhOGUwMjA4MzhiMjM0MDZjODFiMTljMWQ0NmRmNiBcCisgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT0yZDUwMjVkNGFhMzQ5NWJlZmVmOGYxNzIwNmE1YjBhMSBcCisgICAgZmlsZTovL0NPUFlJTkcuUlVOVElNRTttZDU9ZmU2MGQ4NzA0ODU2N2Q0ZmU4YzhhMGVkMjQ0OGJjYzggXAorIgorCisjUkVMRUFTRSA9ICI4LjAuMS1SQy0yMDE4MDQyNyIKK0JBU0VVUkkgPz0gIiR7R05VX01JUlJPUn0vZ2NjL2djYy0ke1BWfS9nY2MtJHtQVn0udGFyLnh6IgorI1NSQ1JFViA9ICJmN2NmNzk4YjczZmQxYTA3MDk4ZjlhNDkwZGVlYzFlMmEzNmUwYmVkIgorI0JBU0VVUkkgPz0gImdpdDovL2dpdGh1Yi5jb20vZ2NjLW1pcnJvci9nY2M7YnJhbmNoPWdjYy02LWJyYW5jaDtwcm90b2NvbD1naXQiCisjQkFTRVVSSSA/PSAiaHR0cDovL21pcnJvcnMuY29uY2VydHBhc3MuY29tL2djYy9zbmFwc2hvdHMvJHtSRUxFQVNFfS9nY2MtJHtSRUxFQVNFfS50YXIueHoiCisKK1NSQ19VUkkgPSAiXAorICAgICAgICAgICAke0JBU0VVUkl9IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZ2NjLTQuMy4xLUFSQ0hfRkxBR1NfRk9SX1RBUkdFVC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLWdjYy1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtZ2NjLTQuMy4zLVNZU1JPT1RfQ0ZMQUdTX0ZPUl9UQVJHRVQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC02NC1iaXQtbXVsdGlsaWItaGFjay5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA1LW9wdGlvbmFsLWxpYnN0ZGMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNi1nY2MtZGlzYWJsZS1NQVNLX1JFTEFYX1BJQ19DQUxMUy1iaXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNy1DT0xMRUNUX0dDQ19PUFRJT05TLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDgtVXNlLXRoZS1kZWZhdWx0cy5oLWluLUItaW5zdGVhZC1vZi1TLWFuZC10LW9lLWluLUIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwOS1mb3J0cmFuLWNyb3NzLWNvbXBpbGUtaGFjay5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDEwLWNwcC1ob25vci1zeXNyb290LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTEtTUlQUzY0LURlZmF1bHQtdG8tTjY0LUFCSS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDEyLURlZmluZS1HTElCQ19EWU5BTUlDX0xJTktFUi1hbmQtVUNMSUJDX0RZTkFNSUNfTElOS0UucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxMy1nY2MtRml4LWFyZ3VtZW50LWxpc3QtdG9vLWxvbmctZXJyb3IucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxNC1EaXNhYmxlLXNkdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDE1LWxpYnRvb2wucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxNi1nY2MtYXJtdjQtcGFzcy1maXgtdjRieC10by1saW5rZXItdG8tc3VwcG9ydC1FQUJJLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTctVXNlLXRoZS1tdWx0aWxpYi1jb25maWctZmlsZXMtZnJvbS1CLWluc3RlYWQtb2YtdXNpbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDE4LUF2b2lkLXVzaW5nLWxpYmRpci1mcm9tLS5sYS13aGljaC11c3VhbGx5LXBvaW50cy10by0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxOS1leHBvcnQtQ1BQLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjAtRGlzYWJsZS10aGUtTVVMVElMSUJfT1NESVJOQU1FUy1hbmQtb3RoZXItbXVsdGlsaWItby5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDIxLUVuc3VyZS10YXJnZXQtZ2NjLWhlYWRlcnMtY2FuLWJlLWluY2x1ZGVkLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjItZ2NjLTQuOC13b24tdC1idWlsZC13aXRoLWRpc2FibGUtZGVwZW5kZW5jeS10cmFja2luZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDIzLURvbi10LXNlYXJjaC1ob3N0LWRpcmVjdG9yeS1kdXJpbmctcmVsaW5rLWlmLWluc3RfcHIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyNC1Vc2UtU1lTVEVNTElCU19ESVItcmVwbGFjZW1lbnQtaW5zdGVhZC1vZi1oYXJkY29kaW5nLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjUtYWFyY2g2NC1BZGQtc3VwcG9ydC1mb3ItbXVzbC1sZHNvLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjYtbGliY2MxLWZpeC1saWJjYzEtcy1pbnN0YWxsLXBhdGgtYW5kLXJwYXRoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjctaGFuZGxlLXN5c3Jvb3Qtc3VwcG9ydC1mb3ItbmF0aXZlc2RrLWdjYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDI4LVNlYXJjaC10YXJnZXQtc3lzcm9vdC1nY2MtdmVyc2lvbi1zcGVjaWZpYy1kaXJzLXdpdGgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyOS1GaXgtdmFyaW91cy1fRk9SX0JVSUxELWFuZC1yZWxhdGVkLXZhcmlhYmxlcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDMwLW5pb3MyLURlZmluZS1NVVNMX0RZTkFNSUNfTElOS0VSLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMzEtQWRkLXNzcF9ub25zaGFyZWQtdG8tbGluay1jb21tYW5kbGluZS1mb3ItbXVzbC10YXJnZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDMyLWxpYmdjYy1BZGQta25vYi10by11c2UtbGRibC0xMjgtb24tcHBjLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMzMtTGluay1saWJnY2MtdXNpbmctTERGTEFHUy1ub3QtanVzdC1TSExJQl9MREZMQUdTLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMzQtbGliZ2NjX3MtVXNlLWFsaWFzLWZvci1fX2NwdV9pbmRpY2F0b3JfaW5pdC1pbnN0ZWFkLS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDM1LXN5bmMtZ2NjLXN0ZGRlZi5oLXdpdGgtbXVzbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDM2LWZpeC1zZWdtZW50YXRpb24tZmF1bHQtaW4tcHJlY29tcGlsZWQtaGVhZGVyLWdlbmVyYXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAzNy1GaXgtZm9yLXRlc3RzdWl0ZS1mYWlsdXJlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMzgtUmUtaW50cm9kdWNlLXNwZS1jb21tYW5kbGluZS1vcHRpb25zLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMzktcmlzY3YtRGlzYWJsZS1tdWx0aWxpYi1mb3ItT0UucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA0MC1wb3dlcnBjLXBvd2VycGM2NC1BZGQtc3VwcG9ydC1mb3ItbXVzbC1sZHNvLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2NWIyMTBiNGJmZTdlMDYwMDUxZjc5OWUwZjk5NDg5NiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2NGJhYWRmZTZjYzBmNDk0N2E4NGNiMTJkN2YwZGZhZjQ1YmI1OGI3ZTkyNDYxNjM5NTk2YzIxZTAyZDk3ZDJjIgorCitTID0gIiR7VE1QRElSfS93b3JrLXNoYXJlZC9nY2MtJHtQVn0tJHtQUn0vZ2NjLSR7UFZ9IgorI1MgPSAiJHtUTVBESVJ9L3dvcmstc2hhcmVkL2djYy0ke1BWfS0ke1BSfS9naXQiCisjUyA9ICIke1RNUERJUn0vd29yay1zaGFyZWQvZ2NjLSR7UFZ9LSR7UFJ9L2djYy0ke1JFTEVBU0V9IgorQiA9ICIke1dPUktESVJ9L2djYy0ke1BWfS9idWlsZC4ke0hPU1RfU1lTfS4ke1RBUkdFVF9TWVN9IgorCisjIExhbmd1YWdlIE92ZXJyaWRlcworRk9SVFJBTiA9ICIiCitKQVZBID0gIiIKKworTFRPID0gIi0tZW5hYmxlLWx0byIKK1NTUCA/PSAiLS1kaXNhYmxlLWxpYnNzcCIKK1NTUF9taW5ndzMyID0gIi0tZW5hYmxlLWxpYnNzcCIKKworRVhUUkFfT0VDT05GX0JBU0UgPSAiXAorICAgICR7TFRPfSBcCisgICAgJHtTU1B9IFwKKyAgICAtLWVuYWJsZS1saWJpdG0gXAorICAgIC0tZGlzYWJsZS1ib290c3RyYXAgXAorICAgIC0tZGlzYWJsZS1saWJtdWRmbGFwIFwKKyAgICAtLXdpdGgtc3lzdGVtLXpsaWIgXAorICAgICR7QCctLXdpdGgtbGlua2VyLWhhc2gtc3R5bGU9JHtMSU5LRVJfSEFTSF9TVFlMRX0nIGlmICcke0xJTktFUl9IQVNIX1NUWUxFfScgZWxzZSAnJ30gXAorICAgIC0tZW5hYmxlLWxpbmtlci1idWlsZC1pZCBcCisgICAgLS13aXRoLXBwbD1ubyBcCisgICAgLS13aXRoLWNsb29nPW5vIFwKKyAgICAtLWVuYWJsZS1jaGVja2luZz1yZWxlYXNlIFwKKyAgICAtLWVuYWJsZS1jaGVhZGVycz1jX2dsb2JhbCBcCisgICAgLS13aXRob3V0LWlzbCBcCisiCisKK0VYVFJBX09FQ09ORl9QQVRIUyA9ICJcCisgICAgLS13aXRoLWd4eC1pbmNsdWRlLWRpcj0vbm90L2V4aXN0e3RhcmdldF9pbmNsdWRlZGlyfS9jKysvJHtCSU5WfSBcCisgICAgLS13aXRoLXN5c3Jvb3Q9L25vdC9leGlzdCBcCisgICAgLS13aXRoLWJ1aWxkLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9UQVJHRVR9IFwKKyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDEtZ2NjLTQuMy4xLUFSQ0hfRkxBR1NfRk9SX1RBUkdFVC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDEtZ2NjLTQuMy4xLUFSQ0hfRkxBR1NfRk9SX1RBUkdFVC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YWQ3OWU0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAwMS1nY2MtNC4zLjEtQVJDSF9GTEFHU19GT1JfVEFSR0VULnBhdGNoCkBAIC0wLDAgKzEsNDIgQEAKK0Zyb20gZDdiMjg0YTliZWRlOWQ1MDU5YWQ3ZTk1YTg2NzI1NGJmOTEzYzYzOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI5IE1hciAyMDEzIDA4OjM3OjExICswNDAwCitTdWJqZWN0OiBbUEFUQ0ggMDEvNDBdIGdjYy00LjMuMTogQVJDSF9GTEFHU19GT1JfVEFSR0VUCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCistLS0KKyBjb25maWd1cmUgICAgfCAyICstCisgY29uZmlndXJlLmFjIHwgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlIGIvY29uZmlndXJlCitpbmRleCAwNjAxMzk1NTEyZi4uOGM1YjFlOWQ1NjEgMTAwNzU1CistLS0gYS9jb25maWd1cmUKKysrKyBiL2NvbmZpZ3VyZQorQEAgLTc1MDcsNyArNzUwNyw3IEBAIGZpCisgIyBmb3IgdGFyZ2V0X2FsaWFzIGFuZCBnY2MgZG9lc24ndCBtYW5hZ2UgaXQgY29uc2lzdGVudGx5LgorIHRhcmdldF9jb25maWdhcmdzPSItLWNhY2hlLWZpbGU9Li9jb25maWcuY2FjaGUgJHt0YXJnZXRfY29uZmlnYXJnc30iCisgCistRkxBR1NfRk9SX1RBUkdFVD0KKytGTEFHU19GT1JfVEFSR0VUPSIkQVJDSF9GTEFHU19GT1JfVEFSR0VUIgorIGNhc2UgIiAkdGFyZ2V0X2NvbmZpZ2RpcnMgIiBpbgorICAqIiBuZXdsaWIgIiopCisgICBjYXNlICIgJHRhcmdldF9jb25maWdhcmdzICIgaW4KK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IGMzNDMzMzM2NTIzLi42OWMzMWM2NWFkNyAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMzA5Niw3ICszMDk2LDcgQEAgZmkKKyAjIGZvciB0YXJnZXRfYWxpYXMgYW5kIGdjYyBkb2Vzbid0IG1hbmFnZSBpdCBjb25zaXN0ZW50bHkuCisgdGFyZ2V0X2NvbmZpZ2FyZ3M9Ii0tY2FjaGUtZmlsZT0uL2NvbmZpZy5jYWNoZSAke3RhcmdldF9jb25maWdhcmdzfSIKKyAKKy1GTEFHU19GT1JfVEFSR0VUPQorK0ZMQUdTX0ZPUl9UQVJHRVQ9IiRBUkNIX0ZMQUdTX0ZPUl9UQVJHRVQiCisgY2FzZSAiICR0YXJnZXRfY29uZmlnZGlycyAiIGluCisgICoiIG5ld2xpYiAiKikKKyAgIGNhc2UgIiAkdGFyZ2V0X2NvbmZpZ2FyZ3MgIiBpbgorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAwMi1nY2MtcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDItZ2NjLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTdmZjEyNAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDItZ2NjLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMucGF0Y2gKQEAgLTAsMCArMSwyMDMgQEAKK0Zyb20gOTVlYzQ3NmRkNzcyNmNjOWMxYmZkNmZiMjNiYTNhZWE4YmJmNjFhNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI5IE1hciAyMDEzIDA4OjU5OjAwICswNDAwCitTdWJqZWN0OiBbUEFUQ0ggMDIvNDBdIGdjYzogcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcworCitBZGQgL3N3L2luY2x1ZGUgYW5kIC9vcHQvaW5jbHVkZSBiYXNlZCBvbiB0aGUgb3JpZ2luYWwKK3plY2tlLW5vLWhvc3QtaW5jbHVkZXMucGF0Y2ggcGF0Y2guICBUaGUgb3JpZ2luYWwgcGF0Y2ggY2hlY2tlZCBmb3IKKy91c3IvaW5jbHVkZSwgL3N3L2luY2x1ZGUgYW5kIC9vcHQvaW5jbHVkZSBhbmQgdGhlbiB0cmlnZ2VyZWQgYSBmYWlsdXJlIGFuZAorYWJvcnRlZC4KKworSW5zdGVhZCwgd2UgYWRkIHRoZSB0d28gbWlzc2luZyBpdGVtcyB0byB0aGUgY3VycmVudCBzY2FuLiAgSWYgdGhlIHVzZXIKK3dhbnRzIHRoaXMgdG8gYmUgYSBmYWlsdXJlLCB0aGV5IGNhbiBhZGQgIi1XZXJyb3I9cG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcyIuCisKK1NpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworLS0tCisgZ2NjL2NvbW1vbi5vcHQgICAgICB8ICA0ICsrKysKKyBnY2MvY29uZmlnLmluICAgICAgIHwgIDYgKysrKysrCisgZ2NjL2NvbmZpZ3VyZSAgICAgICB8IDE2ICsrKysrKysrKysrKysrKysKKyBnY2MvY29uZmlndXJlLmFjICAgIHwgMTAgKysrKysrKysrKworIGdjYy9kb2MvaW52b2tlLnRleGkgfCAgOSArKysrKysrKysKKyBnY2MvZ2NjLmMgICAgICAgICAgIHwgIDIgKysKKyBnY2MvaW5jcGF0aC5jICAgICAgIHwgMjEgKysrKysrKysrKysrKysrKysrKysrCisgNyBmaWxlcyBjaGFuZ2VkLCA2OCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9nY2MvY29tbW9uLm9wdCBiL2djYy9jb21tb24ub3B0CitpbmRleCBiNTJlZjBiMzhjOC4uMGRlM2YwOTI0Y2QgMTAwNjQ0CistLS0gYS9nY2MvY29tbW9uLm9wdAorKysrIGIvZ2NjL2NvbW1vbi5vcHQKK0BAIC02NzksNiArNjc5LDEwIEBAIFdyZXR1cm4tbG9jYWwtYWRkcgorIENvbW1vbiBWYXIod2Fybl9yZXR1cm5fbG9jYWxfYWRkcikgSW5pdCgxKSBXYXJuaW5nCisgV2FybiBhYm91dCByZXR1cm5pbmcgYSBwb2ludGVyL3JlZmVyZW5jZSB0byBhIGxvY2FsIG9yIHRlbXBvcmFyeSB2YXJpYWJsZS4KKyAKKytXcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcworK0NvbW1vbiBWYXIoZmxhZ19wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzKSBJbml0KDEpIFdhcm5pbmcKKytXYXJuIGZvciAtSSBhbmQgLUwgb3B0aW9ucyB1c2luZyBzeXN0ZW0gZGlyZWN0b3JpZXMgaWYgY3Jvc3MgY29tcGlsaW5nCisrCisgV3NoYWRvdworIENvbW1vbiBWYXIod2Fybl9zaGFkb3cpIFdhcm5pbmcKKyBXYXJuIHdoZW4gb25lIHZhcmlhYmxlIHNoYWRvd3MgYW5vdGhlci4gIFNhbWUgYXMgLVdzaGFkb3c9Z2xvYmFsLgorZGlmZiAtLWdpdCBhL2djYy9jb25maWcuaW4gYi9nY2MvY29uZmlnLmluCitpbmRleCA1YmNjYjQwODAxNi4uMWM3ODRhODI3NmIgMTAwNjQ0CistLS0gYS9nY2MvY29uZmlnLmluCisrKysgYi9nY2MvY29uZmlnLmluCitAQCAtMTk0LDYgKzE5NCwxMiBAQAorICNlbmRpZgorIAorIAorKy8qIERlZmluZSB0byB3YXJuIGZvciB1c2Ugb2YgbmF0aXZlIHN5c3RlbSBoZWFkZXIgZGlyZWN0b3JpZXMgKi8KKysjaWZuZGVmIFVTRURfRk9SX1RBUkdFVAorKyN1bmRlZiBFTkFCTEVfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUworKyNlbmRpZgorKworKworIC8qIERlZmluZSBpZiB5b3Ugd2FudCBhbGwgb3BlcmF0aW9ucyBvbiBSVEwgKHRoZSBiYXNpYyBkYXRhIHN0cnVjdHVyZSBvZiB0aGUKKyAgICBvcHRpbWl6ZXIgYW5kIGJhY2sgZW5kKSB0byBiZSBjaGVja2VkIGZvciBkeW5hbWljIHR5cGUgc2FmZXR5IGF0IHJ1bnRpbWUuCisgICAgVGhpcyBpcyBxdWl0ZSBleHBlbnNpdmUuICovCitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZSBiL2djYy9jb25maWd1cmUKK2luZGV4IDYxMjFlMTYzMjU5Li4zOTAxNzIyNDAwYyAxMDA3NTUKKy0tLSBhL2djYy9jb25maWd1cmUKKysrKyBiL2djYy9jb25maWd1cmUKK0BAIC05NTMsNiArOTUzLDcgQEAgd2l0aF9zeXN0ZW1femxpYgorIGVuYWJsZV9tYWludGFpbmVyX21vZGUKKyBlbmFibGVfbGlua19tdXRleAorIGVuYWJsZV92ZXJzaW9uX3NwZWNpZmljX3J1bnRpbWVfbGlicworK2VuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzCisgZW5hYmxlX3BsdWdpbgorIGVuYWJsZV9ob3N0X3NoYXJlZAorIGVuYWJsZV9saWJxdWFkbWF0aF9zdXBwb3J0CitAQCAtMTY5Niw2ICsxNjk3LDggQEAgT3B0aW9uYWwgRmVhdHVyZXM6CisgICAtLWVuYWJsZS12ZXJzaW9uLXNwZWNpZmljLXJ1bnRpbWUtbGlicworICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmeSB0aGF0IHJ1bnRpbWUgbGlicmFyaWVzIHNob3VsZCBiZSBpbnN0YWxsZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGEgY29tcGlsZXItc3BlY2lmaWMgZGlyZWN0b3J5CisrICAtLWVuYWJsZS1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCisrICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuIGZvciB1c2Ugb2YgbmF0aXZlIHN5c3RlbSBoZWFkZXIgZGlyZWN0b3JpZXMKKyAgIC0tZW5hYmxlLXBsdWdpbiAgICAgICAgIGVuYWJsZSBwbHVnaW4gc3VwcG9ydAorICAgLS1lbmFibGUtaG9zdC1zaGFyZWQgICAgYnVpbGQgaG9zdCBjb2RlIGFzIHNoYXJlZCBsaWJyYXJpZXMKKyAgIC0tZGlzYWJsZS1saWJxdWFkbWF0aC1zdXBwb3J0CitAQCAtMjk3MDEsNiArMjk3MDQsMTkgQEAgaWYgdGVzdCAiJHtlbmFibGVfdmVyc2lvbl9zcGVjaWZpY19ydW50aW1lX2xpYnMrc2V0fSIgPSBzZXQ7IHRoZW4gOgorIGZpCisgCisgCisrIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMgd2FzIGdpdmVuLgorK2lmIHRlc3QgIiR7ZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMrc2V0fSIgPSBzZXQ7IHRoZW4gOgorKyAgZW5hYmxldmFsPSRlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllczsKKytlbHNlCisrICBlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3Rvcmllcz1ubworK2ZpCisrCisraWYgdGVzdCAieCR7ZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXN9IiA9ICJ4eWVzIjsgdGhlbgorKworKyRhc19lY2hvICIjZGVmaW5lIEVOQUJMRV9QT0lTT05fU1lTVEVNX0RJUkVDVE9SSUVTIDEiID4+Y29uZmRlZnMuaAorKworK2ZpCisrCisgIyBTdWJzdGl0dXRlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzCisgCisgCitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZS5hYyBiL2djYy9jb25maWd1cmUuYWMKK2luZGV4IGIwNjZjYzYwOWUxLi4xYjEzNjJmNzBmZSAxMDA2NDQKKy0tLSBhL2djYy9jb25maWd1cmUuYWMKKysrKyBiL2djYy9jb25maWd1cmUuYWMKK0BAIC02MzI3LDYgKzYzMjcsMTYgQEAgQUNfQVJHX0VOQUJMRSh2ZXJzaW9uLXNwZWNpZmljLXJ1bnRpbWUtbGlicywKKyAgICAgICAgICAgICAgICAgW3NwZWNpZnkgdGhhdCBydW50aW1lIGxpYnJhcmllcyBzaG91bGQgYmUKKyAgICAgICAgICAgICAgICAgIGluc3RhbGxlZCBpbiBhIGNvbXBpbGVyLXNwZWNpZmljIGRpcmVjdG9yeV0pXSkKKyAKKytBQ19BUkdfRU5BQkxFKFtwb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzXSwKKysgICAgICAgICAgICAgQVNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXNdLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBbd2FybiBmb3IgdXNlIG9mIG5hdGl2ZSBzeXN0ZW0gaGVhZGVyIGRpcmVjdG9yaWVzXSksLAorKyAgICAgICAgICAgICBbZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXM9bm9dKQorK2lmIHRlc3QgIngke2VuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzfSIgPSAieHllcyI7IHRoZW4KKysgIEFDX0RFRklORShbRU5BQkxFX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVNdLAorKyAgICAgICAgICAgWzFdLAorKyAgICAgICAgICAgW0RlZmluZSB0byB3YXJuIGZvciB1c2Ugb2YgbmF0aXZlIHN5c3RlbSBoZWFkZXIgZGlyZWN0b3JpZXNdKQorK2ZpCisrCisgIyBTdWJzdGl0dXRlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzCisgQUNfU1VCU1Qoc3ViZGlycykKKyBBQ19TVUJTVChzcmNkaXIpCitkaWZmIC0tZ2l0IGEvZ2NjL2RvYy9pbnZva2UudGV4aSBiL2djYy9kb2MvaW52b2tlLnRleGkKK2luZGV4IGU1YzRlODEyNWFhLi5mYjIyODYzMWE0MiAxMDA2NDQKKy0tLSBhL2djYy9kb2MvaW52b2tlLnRleGkKKysrKyBiL2djYy9kb2MvaW52b2tlLnRleGkKK0BAIC0zMDQsNiArMzA0LDcgQEAgT2JqZWN0aXZlLUMgYW5kIE9iamVjdGl2ZS1DKysgRGlhbGVjdHN9LgorIC1XcGFja2VkICAtV3BhY2tlZC1iaXRmaWVsZC1jb21wYXQgLVdwYWNrZWQtbm90LWFsaWduZWQgLVdwYWRkZWQgQGdvbAorIC1XcGFyZW50aGVzZXMgIC1Xbm8tcGVkYW50aWMtbXMtZm9ybWF0IEBnb2wKKyAtV3BsYWNlbWVudC1uZXcgIC1XcGxhY2VtZW50LW5ldz1AdmFye259IEBnb2wKKystV25vLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMgQGdvbAorIC1XcG9pbnRlci1hcml0aCAgLVdwb2ludGVyLWNvbXBhcmUgIC1Xbm8tcG9pbnRlci10by1pbnQtY2FzdCBAZ29sCisgLVduby1wcmFnbWFzICAtV3JlZHVuZGFudC1kZWNscyAgLVdyZXN0cmljdCAgLVduby1yZXR1cm4tbG9jYWwtYWRkciBAZ29sCisgLVdyZXR1cm4tdHlwZSAgLVdzZXF1ZW5jZS1wb2ludCAgLVdzaGFkb3cgIC1Xbm8tc2hhZG93LWl2YXIgQGdvbAorQEAgLTU3NDMsNiArNTc0NCwxNCBAQCBtYWRlIHVwIG9mIGRhdGEgb25seSBhbmQgdGh1cyByZXF1aXJlcyBubyBzcGVjaWFsIHRyZWF0bWVudC4gIEJ1dCwgZm9yCisgbW9zdCB0YXJnZXRzLCBpdCBpcyBtYWRlIHVwIG9mIGNvZGUgYW5kIHRodXMgcmVxdWlyZXMgdGhlIHN0YWNrIHRvIGJlCisgbWFkZSBleGVjdXRhYmxlIGluIG9yZGVyIGZvciB0aGUgcHJvZ3JhbSB0byB3b3JrIHByb3Blcmx5LgorIAorK0BpdGVtIC1Xbm8tcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcworK0BvcGluZGV4IFduby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCisrRG8gbm90IHdhcm4gZm9yIEBvcHRpb257LUl9IG9yIEBvcHRpb257LUx9IG9wdGlvbnMgdXNpbmcgc3lzdGVtCisrZGlyZWN0b3JpZXMgc3VjaCBhcyBAZmlsZXsvdXNyL2luY2x1ZGV9IHdoZW4gY3Jvc3MgY29tcGlsaW5nLiAgVGhpcworK29wdGlvbiBpcyBpbnRlbmRlZCBmb3IgdXNlIGluIGNocm9vdCBlbnZpcm9ubWVudHMgd2hlbiBzdWNoCisrZGlyZWN0b3JpZXMgY29udGFpbiB0aGUgY29ycmVjdCBoZWFkZXJzIGFuZCBsaWJyYXJpZXMgZm9yIHRoZSB0YXJnZXQKKytzeXN0ZW0gcmF0aGVyIHRoYW4gdGhlIGhvc3QuCisrCisgQGl0ZW0gLVdmbG9hdC1lcXVhbAorIEBvcGluZGV4IFdmbG9hdC1lcXVhbAorIEBvcGluZGV4IFduby1mbG9hdC1lcXVhbAorZGlmZiAtLWdpdCBhL2djYy9nY2MuYyBiL2djYy9nY2MuYworaW5kZXggYTcxNmY3MDgyNTkuLjAyYjNjZDM5ZmMyIDEwMDY0NAorLS0tIGEvZ2NjL2djYy5jCisrKysgYi9nY2MvZ2NjLmMKK0BAIC0xMDM3LDYgKzEwMzcsOCBAQCBwcm9wZXIgcG9zaXRpb24gYW1vbmcgdGhlIG90aGVyIG91dHB1dCBmaWxlcy4gICovCisgICAgIiV7ZnVzZS1sZD0qOi1mdXNlLWxkPSUqfSAiIExJTktfQ09NUFJFU1NfREVCVUdfU1BFQyBcCisgICAgIiVYICV7byp9ICV7ZSp9ICV7Tn0gJXtufSAle3J9XAorICAgICAle3N9ICV7dH0gJXt1Kn0gJXt6fSAle1p9ICV7IW5vc3RkbGliOiV7IW5vc3RhcnRmaWxlczolU319IFwKKysgICAgJXtXbm8tcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllczotLW5vLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXN9IFwKKysgICAgJXtXZXJyb3I9cG9pc29uLXN5c3RlbS1kaXJlY3RvcmllczotLWVycm9yLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXN9IFwKKyAgICAgJXtzdGF0aWN8bm8tcGllfHN0YXRpYy1waWU6fSAle0wqfSAlKG1md3JhcCkgJShsaW5rX2xpYmdjYykgIiBcCisgICAgIFZUQUJMRV9WRVJJRklDQVRJT05fU1BFQyAiICIgU0FOSVRJWkVSX0VBUkxZX1NQRUMgIiAlbyAiIENIS1BfU1BFQyAiIFwKKyAgICAgJXtmb3BlbmFjY3xmb3Blbm1wfCU6Z3QoJXtmdHJlZS1wYXJhbGxlbGl6ZS1sb29wcz0qOiUqfSAxKTpcCitkaWZmIC0tZ2l0IGEvZ2NjL2luY3BhdGguYyBiL2djYy9pbmNwYXRoLmMKK2luZGV4IGIxMWM2YTU3OTM5Li45YTQ1N2UwMmRkMyAxMDA2NDQKKy0tLSBhL2djYy9pbmNwYXRoLmMKKysrKyBiL2djYy9pbmNwYXRoLmMKK0BAIC0yNiw2ICsyNiw3IEBACisgI2luY2x1ZGUgImludGwuaCIKKyAjaW5jbHVkZSAiaW5jcGF0aC5oIgorICNpbmNsdWRlICJjcHBkZWZhdWx0LmgiCisrI2luY2x1ZGUgImRpYWdub3N0aWMtY29yZS5oIgorIAorIC8qIE1pY3Jvc29mdCBXaW5kb3dzIGRvZXMgbm90IG5hdGl2ZWx5IHN1cHBvcnQgaW5vZGVzLgorICAgIFZNUyBoYXMgbm9uLW51bWVyaWMgaW5vZGVzLiAgKi8KK0BAIC0zOTMsNiArMzk0LDI2IEBAIG1lcmdlX2luY2x1ZGVfY2hhaW5zIChjb25zdCBjaGFyICpzeXNyb290LCBjcHBfcmVhZGVyICpwZmlsZSwgaW50IHZlcmJvc2UpCisgCX0KKyAgICAgICBmcHJpbnRmIChzdGRlcnIsIF8oIkVuZCBvZiBzZWFyY2ggbGlzdC5cbiIpKTsKKyAgICAgfQorKworKyNpZmRlZiBFTkFCTEVfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUworKyAgaWYgKGZsYWdfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcykKKysgICAgeworKyAgICAgICBzdHJ1Y3QgY3BwX2RpciAqcDsKKysKKysgICAgICAgZm9yIChwID0gaGVhZHNbSU5DX1FVT1RFXTsgcDsgcCA9IHAtPm5leHQpCisrICAgICAgICAgeworKyAgICAgICAgICBpZiAoKCFzdHJuY21wIChwLT5uYW1lLCAiL3Vzci9pbmNsdWRlIiwgMTIpKQorKyAgICAgICAgICAgICAgfHwgKCFzdHJuY21wIChwLT5uYW1lLCAiL3Vzci9sb2NhbC9pbmNsdWRlIiwgMTgpKQorKyAgICAgICAgICAgICAgfHwgKCFzdHJuY21wIChwLT5uYW1lLCAiL3Vzci9YMTFSNi9pbmNsdWRlIiwgMTgpKQorKyAgICAgICAgICAgICAgfHwgKCFzdHJuY21wIChwLT5uYW1lLCAiL3N3L2luY2x1ZGUiLCAxMSkpCisrICAgICAgICAgICAgICB8fCAoIXN0cm5jbXAgKHAtPm5hbWUsICIvb3B0L2luY2x1ZGUiLCAxMikpKQorKyAgICAgICAgICAgIHdhcm5pbmcgKE9QVF9XcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcywKKysgICAgICAgICAgICAgICAgICAgICAiaW5jbHVkZSBsb2NhdGlvbiBcIiVzXCIgaXMgdW5zYWZlIGZvciAiCisrICAgICAgICAgICAgICAgICAgICAgImNyb3NzLWNvbXBpbGF0aW9uIiwKKysgICAgICAgICAgICAgICAgICAgICBwLT5uYW1lKTsKKysgICAgICAgICB9CisrICAgIH0KKysjZW5kaWYKKyB9CisgCisgLyogVXNlIGdpdmVuIC1JIHBhdGhzIGZvciAjaW5jbHVkZSAiLi4uIiBidXQgbm90ICNpbmNsdWRlIDwuLi4+LCBhbmQKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDMtZ2NjLTQuMy4zLVNZU1JPT1RfQ0ZMQUdTX0ZPUl9UQVJHRVQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDAzLWdjYy00LjMuMy1TWVNST09UX0NGTEFHU19GT1JfVEFSR0VULnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2MmRlYjIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDAzLWdjYy00LjMuMy1TWVNST09UX0NGTEFHU19GT1JfVEFSR0VULnBhdGNoCkBAIC0wLDAgKzEsNzMgQEAKK0Zyb20gNjY0MGQ3ZTM5YjEzZDFlZjI2ZDI0OTE1M2FiMTVkNTEwZmRhMzU2NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjA4OjMxICswNDAwCitTdWJqZWN0OiBbUEFUQ0ggMDMvNDBdIGdjYy00LjMuMzogU1lTUk9PVF9DRkxBR1NfRk9SX1RBUkdFVAorCitCZWZvcmUgY29tbWl0dGluZywgSSBub3RpY2VkIHRoYXQgUFIvMzIxNjEgd2FzIG1hcmtlZCBhcyBhIGR1cCBvZiBQUi8zMjAwOSwgYnV0IG15IHByZXZpb3VzIHBhdGNoIGRpZCBub3QgZml4IGl0LgorCitUaGlzIGFsdGVybmF0aXZlIHBhdGNoIGlzIGJldHRlciBiZWNhdXNlIGl0IGxldHMgeW91IGp1c3QgdXNlIENGTEFHU19GT1JfVEFSR0VUIHRvIHNldCB0aGUgY29tcGlsYXRpb24gZmxhZ3MgZm9yIGxpYmdjYy4gU2luY2UgYm9vdHN0cmFwcGVkIHRhcmdldCBsaWJyYXJpZXMgYXJlIG5ldmVyIGNvbXBpbGVkIHdpdGggdGhlIG5hdGl2ZSBjb21waWxlciwgaXQgbWFrZXMgbGl0dGxlIHNlbnNlIHRvIHVzZSBkaWZmZXJlbnQgZmxhZ3MgZm9yIHN0YWdlMSBhbmQgbGF0ZXIgc3RhZ2VzLiBBbmQgaXQgYWxzbyBtYWtlcyBsaXR0bGUgc2Vuc2UgdG8gdXNlIGEgZGlmZmVyZW50IHZhcmlhYmxlIHRoYW4gQ0ZMQUdTX0ZPUl9UQVJHRVQuCisKK090aGVyIGNoYW5nZXMgSSBoYWQgdG8gZG8gaW5jbHVkZToKKworLSBtb3ZpbmcgdGhlIGNyZWF0aW9uIG9mIGRlZmF1bHQgQ0ZMQUdTX0ZPUl9UQVJHRVQgZnJvbSBNYWtlZmlsZS5hbSB0byBjb25maWd1cmUuYWMsIGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSBCT09UX0NGTEFHUyBhcmUgc3Vic3RpdHV0ZWQgaW50byBDRkxBR1NfRk9SX1RBUkdFVCAod2hpY2ggaXMgIi1PMiAtZyAkKENGTEFHUykiKSB2aWEgJChDRkxBR1MpLiBJdCBpcyBhbHNvIGNsZWFuZXIgdGhpcyB3YXkgdGhvdWdoLgorCistIHBhc3NpbmcgdGhlIHJpZ2h0IENGTEFHUyB0byBjb25maWd1cmUgc2NyaXB0cyBhcyBleHBvcnRlZCBlbnZpcm9ubWVudCB2YXJpYWJsZXMKKworSSBhbHNvIHN0b3BwZWQgcGFzc2luZyBMSUJDRkxBR1MgdG8gY29uZmlndXJlIHNjcmlwdHMgc2luY2UgdGhleSBhcmUgdW51c2VkIGluIHRoZSB3aG9sZSBzcmMgdHJlZS4gQW5kIEkgdXBkYXRlZCB0aGUgZG9jdW1lbnRhdGlvbiBhcyBILVAgcmVtaW5kZWQgbWUgdG8gZG8uCisKK0Jvb3RzdHJhcHBlZC9yZWd0ZXN0ZWQgaTY4Ni1wYy1saW51eC1nbnUsIHdpbGwgY29tbWl0IHRvIDQuNCBzaG9ydGx5LiBPayBmb3IgNC4zPworCitTaWduZWQtb2ZmLWJ5OiBQYW9sbyBCb256aW5pICA8Ym9uemluaUBnbnUub3JnPgorU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCistLS0KKyBjb25maWd1cmUgfCAzMiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKK2luZGV4IDhjNWIxZTlkNTYxLi4yZDFmYzZiOTRkOSAxMDA3NTUKKy0tLSBhL2NvbmZpZ3VyZQorKysrIGIvY29uZmlndXJlCitAQCAtNjc2OCw2ICs2NzY4LDM4IEBAIGZpCisgCisgCisgCisrIyBEdXJpbmcgZ2NjIGJvb3RzdHJhcCwgaWYgd2UgdXNlIHNvbWUgcmFuZG9tIGNjIGZvciBzdGFnZTEgdGhlbiBDRkxBR1MKKysjIG1pZ2h0IGJlIGVtcHR5IG9yICItZyIuICBXZSBkb24ndCByZXF1aXJlIGEgQysrIGNvbXBpbGVyLCBzbyBDWFhGTEFHUworKyMgbWlnaHQgYWxzbyBiZSBlbXB0eSAob3IgIi1nIiwgaWYgYSBub24tR0NDIEMrKyBjb21waWxlciBpcyBpbiB0aGUgcGF0aCkuCisrIyBXZSB3YW50IHRvIGVuc3VyZSB0aGF0IFRBUkdFVCBsaWJyYXJpZXMgKHdoaWNoIHdlIGtub3cgYXJlIGJ1aWx0IHdpdGgKKysjIGdjYykgYXJlIGJ1aWx0IHdpdGggIi1PMiAtZyIsIHNvIGluY2x1ZGUgdGhvc2Ugb3B0aW9ucyB3aGVuIHNldHRpbmcKKysjIENGTEFHU19GT1JfVEFSR0VUIGFuZCBDWFhGTEFHU19GT1JfVEFSR0VULgorK2lmIHRlc3QgIngkQ0ZMQUdTX0ZPUl9UQVJHRVQiID0geDsgdGhlbgorKyAgQ0ZMQUdTX0ZPUl9UQVJHRVQ9JENGTEFHUworKyAgY2FzZSAiICRDRkxBR1MgIiBpbgorKyAgICAqIiAtTzIgIiopIDs7CisrICAgICopIENGTEFHU19GT1JfVEFSR0VUPSItTzIgJENGTEFHUyIgOzsKKysgIGVzYWMKKysgIGNhc2UgIiAkQ0ZMQUdTICIgaW4KKysgICAgKiIgLWcgIiogfCAqIiAtZzMgIiopIDs7CisrICAgICopIENGTEFHU19GT1JfVEFSR0VUPSItZyAkQ0ZMQUdTIiA7OworKyAgZXNhYworK2ZpCisrCisrCisraWYgdGVzdCAieCRDWFhGTEFHU19GT1JfVEFSR0VUIiA9IHg7IHRoZW4KKysgIENYWEZMQUdTX0ZPUl9UQVJHRVQ9JENYWEZMQUdTCisrICBjYXNlICIgJENYWEZMQUdTICIgaW4KKysgICAgKiIgLU8yICIqKSA7OworKyAgICAqKSBDWFhGTEFHU19GT1JfVEFSR0VUPSItTzIgJENYWEZMQUdTIiA7OworKyAgZXNhYworKyAgY2FzZSAiICRDWFhGTEFHUyAiIGluCisrICAgICoiIC1nICIqIHwgKiIgLWczICIqKSA7OworKyAgICAqKSBDWFhGTEFHU19GT1JfVEFSR0VUPSItZyAkQ1hYRkxBR1MiIDs7CisrICBlc2FjCisrZmkKKysKKysKKyAjIEhhbmRsZSAtLXdpdGgtaGVhZGVycz1YWFguICBJZiB0aGUgdmFsdWUgaXMgbm90ICJ5ZXMiLCB0aGUgY29udGVudHMgb2YKKyAjIHRoZSBuYW1lZCBkaXJlY3RvcnkgYXJlIGNvcGllZCB0byAkKHRvb2xkaXIpL3N5cy1pbmNsdWRlLgorIGlmIHRlc3QgeCIke3dpdGhfaGVhZGVyc30iICE9IHggJiYgdGVzdCB4IiR7d2l0aF9oZWFkZXJzfSIgIT0geG5vIDsgdGhlbgorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAwNC02NC1iaXQtbXVsdGlsaWItaGFjay5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDQtNjQtYml0LW11bHRpbGliLWhhY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzcxZDg3NwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDQtNjQtYml0LW11bHRpbGliLWhhY2sucGF0Y2gKQEAgLTAsMCArMSw4NSBAQAorRnJvbSAxZTY0OWQ4MWNhNjYyYzRjZGY3Mzg4MmViYjhhMTFmMGYxOWY1YmFmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MTA6MDYgKzA0MDAKK1N1YmplY3Q6IFtQQVRDSCAwNC80MF0gNjQtYml0IG11bHRpbGliIGhhY2suCisKK0dDQyBoYXMgaW50ZXJuYWwgbXVsdGlsaWIgaGFuZGxpbmcgY29kZSBidXQgaXQgYXNzdW1lcyBhIHZlcnkgc3BlY2lmaWMgcmlnaWQgZGlyZWN0b3J5CitsYXlvdXQuIFRoZSBidWlsZCBzeXN0ZW0gaW1wbGVtZW50YXRpb24gb2YgbXVsdGlsaWIgbGF5b3V0IGlzIHZlcnkgZ2VuZXJpYyBhbmQgYWxsb3dzCitjb21wbGV0ZSBjdXN0b21pc2F0aW9uIG9mIHRoZSBsaWJyYXJ5IGRpcmVjdG9yaWVzLgorCitUaGlzIHBhdGNoIGlzIGEgcGFydGlhbCBzb2x1dGlvbiB0byBhbGxvdyBhbnkgY3VzdG9tIGRpcmVjdG9yaWVzIHRvIGJlIHBhc3NlZCBpbnRvIGdjYworYW5kIGhhbmRsZWQgY29ycmVjdGx5LiBJdCBmb3JjZXMgZ2NjIHRvIHVzZSB0aGUgYmFzZV9saWJkaXIgKHdoaWNoIGlzIHRoZSBjdXJyZW50CitkaXJlY3RvcnksICIuIikuIFdlIG5lZWQgdG8gZG8gdGhpcyBmb3IgZWFjaCBtdWx0aWxpYiB0aGF0IGlzIGNvbmZpZ3VyZWQgYXMgd2UgZG9uJ3QKK2tub3cgd2hpY2ggY29tcGlsZXIgb3B0aW9ucyBtYXkgYmUgYmVpbmcgcGFzc2VkIGludG8gdGhlIGNvbXBpbGVyLiBTaW5jZSB3ZSBoYXZlIGEgY29tcGlsZXIKK3BlciBtdWxpdGxpYiBhdCB0aGlzIHBvaW50IHRoYXQgaXNuJ3QgYW4gaXNzdWUuCisKK1RoZSBvbmUgcHJvYmxlbSBpcyB0aGUgdGFyZ2V0IGNvbXBpbGVyIGlzIG9ubHkgZ29pbmcgdG8gd29yayBmb3IgdGhlIGRlZmF1bHQgbXVsdGxpbGliIGF0Cit0aGlzIHBvaW50LiBJZGVhbGx5IHdlJ2QgZmlndXJlIG91dCB3aGljaCBtdWx0aWxpYnMgd2VyZSBiZWluZyBlbmFibGVkIHdpdGggd2hpY2ggcGF0aHMKK2FuZCBiZSBhYmxlIHRvIHBhdGNoIHRoZXNlIGVudHJpZXMgd2l0aCBhIGNvbXBsZXRlIHNldCBvZiBjb3JyZWN0IHBhdGhzIGJ1dCB0aGlzIHdlCitkb24ndCBoYXZlIHN1Y2ggY29kZSBhdCB0aGlzIHBvaW50LiBUaGlzIGlzIHNvbWV0aGluZyB0aGUgdGFyZ2V0IGdjYyByZWNpcGUgc2hvdWxkIGRvCithbmQgb3ZlcnJpZGUgdGhlc2UgcGxhdGZvcm0gZGVmYXVsdHMgaW4gaXRzIGJ1aWxkIGNvbmZpZy4KKworUlAgMTUvOC8xMQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogRWx2aXMgRG93c29uIDxlbHZpcy5kb3dzb25AZ21haWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKy0tLQorIGdjYy9jb25maWcvaTM4Ni90LWxpbnV4NjQgICB8ICA2ICsrLS0tLQorIGdjYy9jb25maWcvbWlwcy90LWxpbnV4NjQgICB8IDEwICsrKy0tLS0tLS0KKyBnY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4NjQgfCAgNSArKy0tLQorIDMgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni90LWxpbnV4NjQgYi9nY2MvY29uZmlnL2kzODYvdC1saW51eDY0CitpbmRleCA4ZWEwZmFmZjM2OS4uMjY2YzYwMDgwMDQgMTAwNjQ0CistLS0gYS9nY2MvY29uZmlnL2kzODYvdC1saW51eDY0CisrKysgYi9nY2MvY29uZmlnL2kzODYvdC1saW51eDY0CitAQCAtMzIsNyArMzIsNSBAQAorICMKKyBjb21tYT0sCisgTVVMVElMSUJfT1BUSU9OUyAgICA9ICQoc3Vic3QgJChjb21tYSksLywkKFRNX01VTFRJTElCX0NPTkZJRykpCistTVVMVElMSUJfRElSTkFNRVMgICA9ICQocGF0c3Vic3QgbSUsICUsICQoc3Vic3QgLywgLCQoTVVMVElMSUJfT1BUSU9OUykpKQorLU1VTFRJTElCX09TRElSTkFNRVMgPSBtNjQ9Li4vbGliNjQkKGNhbGwgaWZfbXVsdGlhcmNoLDp4ODZfNjQtbGludXgtZ251KQorLU1VTFRJTElCX09TRElSTkFNRVMrPSBtMzI9JChpZiAkKHdpbGRjYXJkICQoc2hlbGwgZWNobyAkKFNZU1RFTV9IRUFERVJfRElSKSkvLi4vLi4vdXNyL2xpYjMyKSwuLi9saWIzMiwuLi9saWIpJChjYWxsIGlmX211bHRpYXJjaCw6aTM4Ni1saW51eC1nbnUpCistTVVMVElMSUJfT1NESVJOQU1FUys9IG14MzI9Li4vbGlieDMyJChjYWxsIGlmX211bHRpYXJjaCw6eDg2XzY0LWxpbnV4LWdudXgzMikKKytNVUxUSUxJQl9ESVJOQU1FUyA9IC4gLgorK01VTFRJTElCX09TRElSTkFNRVMgPSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKQorZGlmZiAtLWdpdCBhL2djYy9jb25maWcvbWlwcy90LWxpbnV4NjQgYi9nY2MvY29uZmlnL21pcHMvdC1saW51eDY0CitpbmRleCBjMDE3YjdkMDRjNS4uMTI2ODkyY2Y0MGIgMTAwNjQ0CistLS0gYS9nY2MvY29uZmlnL21pcHMvdC1saW51eDY0CisrKysgYi9nY2MvY29uZmlnL21pcHMvdC1saW51eDY0CitAQCAtMTcsMTAgKzE3LDYgQEAKKyAjIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAKKyBNVUxUSUxJQl9PUFRJT05TID0gbWFiaT1uMzIvbWFiaT0zMi9tYWJpPTY0CistTVVMVElMSUJfRElSTkFNRVMgPSBuMzIgMzIgNjQKKy1NSVBTX0VMID0gJChpZiAkKGZpbHRlciAlZWwsICQoZmlyc3R3b3JkICQoc3Vic3QgLSwgLCQodGFyZ2V0KSkpKSxlbCkKKy1NSVBTX1NPRlQgPSAkKGlmICQoc3RyaXAgJChmaWx0ZXIgTUFTS19TT0ZUX0ZMT0FUX0FCSSwgJCh0YXJnZXRfY3B1X2RlZmF1bHQpKSAkKGZpbHRlciBzb2Z0LCAkKHdpdGhfZmxvYXQpKSksc29mdCkKKy1NVUxUSUxJQl9PU0RJUk5BTUVTID0gXAorLQkuLi9saWIzMiQoY2FsbCBpZl9tdWx0aWFyY2gsOm1pcHM2NCQoTUlQU19FTCktbGludXgtZ251YWJpbjMyJChNSVBTX1NPRlQpKSBcCistCS4uL2xpYiQoY2FsbCBpZl9tdWx0aWFyY2gsOm1pcHMkKE1JUFNfRUwpLWxpbnV4LWdudSQoTUlQU19TT0ZUKSkgXAorLQkuLi9saWI2NCQoY2FsbCBpZl9tdWx0aWFyY2gsOm1pcHM2NCQoTUlQU19FTCktbGludXgtZ251YWJpNjQkKE1JUFNfU09GVCkpCisrTVVMVElMSUJfRElSTkFNRVMgPSAuIC4gLgorK01VTFRJTElCX09TRElSTkFNRVMgPSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKQorKworZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcnM2MDAwL3QtbGludXg2NCBiL2djYy9jb25maWcvcnM2MDAwL3QtbGludXg2NAoraW5kZXggMGZhYTJhMDJkZjQuLjEzZmQ4Y2E5NzFlIDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eDY0CisrKysgYi9nY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4NjQKK0BAIC0yNiwxMCArMjYsOSBAQAorICMgTVVMVElMSUJfT1NESVJOQU1FUyBhY2NvcmRpbmcgdG8gd2hhdCBpcyBmb3VuZCBvbiB0aGUgdGFyZ2V0LgorIAorIE1VTFRJTElCX09QVElPTlMgICAgOj0gbTY0L20zMgorLU1VTFRJTElCX0RJUk5BTUVTICAgOj0gNjQgMzIKKytNVUxUSUxJQl9ESVJOQU1FUyAgIDo9IC4gLgorIE1VTFRJTElCX0VYVFJBX09QVFMgOj0gCistTVVMVElMSUJfT1NESVJOQU1FUyA6PSBtNjQ9Li4vbGliNjQkKGNhbGwgaWZfbXVsdGlhcmNoLDpwb3dlcnBjNjQtbGludXgtZ251KQorLU1VTFRJTElCX09TRElSTkFNRVMgKz0gbTMyPSQoaWYgJCh3aWxkY2FyZCAkKHNoZWxsIGVjaG8gJChTWVNURU1fSEVBREVSX0RJUikpLy4uLy4uL3Vzci9saWIzMiksLi4vbGliMzIsLi4vbGliKSQoY2FsbCBpZl9tdWx0aWFyY2gsOnBvd2VycGMtbGludXgtZ251KQorK01VTFRJTElCX09TRElSTkFNRVMgOj0gLi4vJChzaGVsbCBiYXNlbmFtZSAkKGJhc2VfbGliZGlyKSkgLi4vJChzaGVsbCBiYXNlbmFtZSAkKGJhc2VfbGliZGlyKSkKKyAKKyByczYwMDAtbGludXgubzogJChzcmNkaXIpL2NvbmZpZy9yczYwMDAvcnM2MDAwLWxpbnV4LmMKKyAJJChDT01QSUxFKSAkPAorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAwNS1vcHRpb25hbC1saWJzdGRjLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAwNS1vcHRpb25hbC1saWJzdGRjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5Y2Y2YzIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDA1LW9wdGlvbmFsLWxpYnN0ZGMucGF0Y2gKQEAgLTAsMCArMSwxMjUgQEAKK0Zyb20gYjQ4NjM4MGRjYzQ3NThlODU2YWI2ZDg0N2ViMzU4ZDA1YmQ3OWQ2NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjEyOjU2ICswNDAwCitTdWJqZWN0OiBbUEFUQ0ggMDUvNDBdIG9wdGlvbmFsIGxpYnN0ZGMKKworZ2NjLXJ1bnRpbWUgYnVpbGRzIGxpYnN0ZGMrKyBzZXBhcmF0ZWx5IGZyb20gZ2NjLWNyb3NzLSouIEl0cyBjb25maWd1cmUgdGVzdHMgdXNpbmcgZysrCit3aWxsIG5vdCBydW4gY29ycmVjdGx5IHNpbmNlIGJ5IGRlZmF1bHQgdGhlIGxpbmtlciB3aWxsIHRyeSB0byBsaW5rIGFnYWluc3QgbGlic3RkYysrCit3aGljaCBzaG91bGRuJ3QgZXhpc3QgeWV0LiBXZSBuZWVkIGFuIG9wdGlvbiB0byBkaXNhYmxlIC1sc3RkYysrCitvcHRpb24gd2hpbHN0IGxlYXZpbmcgLWxjLCAtbGdjYyBhbmQgb3RoZXIgYXV0b21hdGljIGxpYnJhcnkgZGVwZW5kZW5jaWVzIGFkZGVkIGJ5IGdjYworZHJpdmVyLiBUaGlzIHBhdGNoIGFkZHMgc3VjaCBhbiBvcHRpb24gd2hpY2ggb25seSBkaXNhYmxlcyB0aGUgLWxzdGRjKysuCisKK0EgInN0YW5kYXJkIiBnY2MgYnVpbGQgdXNlcyB4Z2NjIGFuZCBoZW5jZSBhdm9pZHMgdGhpcy4gV2Ugc2hvdWxkIGFzayB1cHN0cmVhbSBob3cgdG8KK2RvIHRoaXMgb2ZmaWNpYWxseSwgdGhlIGxpa2VseSBhbnN3ZXIgaXMgZG9uJ3QgYnVpbGQgbGlic3RkYysrIHNlcGFyYXRlbHkuCisKK1JQIDI5LzYvMTAKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKy0tLQorIGdjYy9jLWZhbWlseS9jLm9wdCAgfCAgNCArKysrCisgZ2NjL2NwL2crK3NwZWMuYyAgICB8ICAxICsKKyBnY2MvZG9jL2ludm9rZS50ZXhpIHwgMzIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KKyBnY2MvZ2NjLmMgICAgICAgICAgIHwgIDEgKworIDQgZmlsZXMgY2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZ2NjL2MtZmFtaWx5L2Mub3B0IGIvZ2NjL2MtZmFtaWx5L2Mub3B0CitpbmRleCBmNTkxYjM5YmU1YS4uMjk1NWZjZWE4NjcgMTAwNjQ0CistLS0gYS9nY2MvYy1mYW1pbHkvYy5vcHQKKysrKyBiL2djYy9jLWZhbWlseS9jLm9wdAorQEAgLTE5MDEsNiArMTkwMSwxMCBAQCBub3N0ZGluYysrCisgQysrIE9iakMrKworIERvIG5vdCBzZWFyY2ggc3RhbmRhcmQgc3lzdGVtIGluY2x1ZGUgZGlyZWN0b3JpZXMgZm9yIEMrKy4KKyAKKytub3N0ZGxpYisrCisrRHJpdmVyCisrRG8gbm90IGxpbmsgc3RhbmRhcmQgQysrIHJ1bnRpbWUgbGlicmFyeQorKworIG8KKyBDIE9iakMgQysrIE9iakMrKyBKb2luZWQgU2VwYXJhdGUKKyA7IERvY3VtZW50ZWQgaW4gY29tbW9uLm9wdAorZGlmZiAtLWdpdCBhL2djYy9jcC9nKytzcGVjLmMgYi9nY2MvY3AvZysrc3BlYy5jCitpbmRleCA0NDNhMTc0NmRhMy4uZTliNTFiZTYyZWYgMTAwNjQ0CistLS0gYS9nY2MvY3AvZysrc3BlYy5jCisrKysgYi9nY2MvY3AvZysrc3BlYy5jCitAQCAtMTM3LDYgKzEzNyw3IEBAIGxhbmdfc3BlY2lmaWNfZHJpdmVyIChzdHJ1Y3QgY2xfZGVjb2RlZF9vcHRpb24gKippbl9kZWNvZGVkX29wdGlvbnMsCisgICAgICAgc3dpdGNoIChkZWNvZGVkX29wdGlvbnNbaV0ub3B0X2luZGV4KQorIAl7CisgCWNhc2UgT1BUX25vc3RkbGliOgorKwljYXNlIE9QVF9ub3N0ZGxpYl9fOgorIAljYXNlIE9QVF9ub2RlZmF1bHRsaWJzOgorIAkgIGxpYnJhcnkgPSAtMTsKKyAJICBicmVhazsKK2RpZmYgLS1naXQgYS9nY2MvZG9jL2ludm9rZS50ZXhpIGIvZ2NjL2RvYy9pbnZva2UudGV4aQoraW5kZXggZmIyMjg2MzFhNDIuLjMxMGJhODEwOWVkIDEwMDY0NAorLS0tIGEvZ2NjL2RvYy9pbnZva2UudGV4aQorKysrIGIvZ2NjL2RvYy9pbnZva2UudGV4aQorQEAgLTIxMiw2ICsyMTIsOSBAQCBpbiB0aGUgZm9sbG93aW5nIHNlY3Rpb25zLgorIC1mbm8td2VhayAgLW5vc3RkaW5jKysgQGdvbAorIC1mdmlzaWJpbGl0eS1pbmxpbmVzLWhpZGRlbiBAZ29sCisgLWZ2aXNpYmlsaXR5LW1zLWNvbXBhdCBAZ29sCisrLWZ2dGFibGUtdmVyaWZ5PUBye1t9c3RkQHJ7fH1wcmVpbml0QHJ7fH1ub25lQHJ7XX0gQGdvbAorKy1mdnR2LWNvdW50cyAtZnZ0di1kZWJ1ZyBAZ29sCisrLW5vc3RkbGliKysgQGdvbAorIC1mZXh0LW51bWVyaWMtbGl0ZXJhbHMgQGdvbAorIC1XYWJpPUB2YXJ7bn0gIC1XYWJpLXRhZyAgLVdjb252ZXJzaW9uLW51bGwgIC1XY3Rvci1kdG9yLXByaXZhY3kgQGdvbAorIC1XZGVsZXRlLW5vbi12aXJ0dWFsLWR0b3IgIC1XbGl0ZXJhbC1zdWZmaXggIC1XbXVsdGlwbGUtaW5oZXJpdGFuY2UgQGdvbAorQEAgLTUxMCw3ICs1MTMsNyBAQCBPYmplY3RpdmUtQyBhbmQgT2JqZWN0aXZlLUMrKyBEaWFsZWN0c30uCisgLXMgIC1zdGF0aWMgLXN0YXRpYy1waWUgLXN0YXRpYy1saWJnY2MgIC1zdGF0aWMtbGlic3RkYysrIEBnb2wKKyAtc3RhdGljLWxpYmFzYW4gIC1zdGF0aWMtbGlidHNhbiAgLXN0YXRpYy1saWJsc2FuICAtc3RhdGljLWxpYnVic2FuIEBnb2wKKyAtc3RhdGljLWxpYm1weCAgLXN0YXRpYy1saWJtcHh3cmFwcGVycyBAZ29sCistLXNoYXJlZCAgLXNoYXJlZC1saWJnY2MgIC1zeW1ib2xpYyBAZ29sCisrLXNoYXJlZCAgLXNoYXJlZC1saWJnY2MgIC1zeW1ib2xpYyAtbm9zdGRsaWIrKyBAZ29sCisgLVQgQHZhcntzY3JpcHR9ICAtV2wsQHZhcntvcHRpb259ICAtWGxpbmtlciBAdmFye29wdGlvbn0gQGdvbAorIC11IEB2YXJ7c3ltYm9sfSAgLXogQHZhcntrZXl3b3JkfX0KKyAKK0BAIC0xMjM1OSw2ICsxMjM2MiwzMyBAQCBsaWJyYXJ5IHN1YnJvdXRpbmVzLgorIGNvbnN0cnVjdG9ycyBhcmUgY2FsbGVkOyBAcHhyZWZ7Q29sbGVjdDIsLEBjb2Rle2NvbGxlY3QyfSwgZ2NjaW50LAorIEdOVSBDb21waWxlciBDb2xsZWN0aW9uIChHQ0MpIEludGVybmFsc30uKQorIAorK0BpdGVtIC1ub3N0ZGxpYisrCisrQG9waW5kZXggbm9zdGRsaWIrKworK0RvIG5vdCB1c2UgdGhlIHN0YW5kYXJkIHN5c3RlbSBDKysgcnVudGltZSBsaWJyYXJpZXMgd2hlbiBsaW5raW5nLgorK09ubHkgdGhlIGxpYnJhcmllcyB5b3Ugc3BlY2lmeSB3aWxsIGJlIHBhc3NlZCB0byB0aGUgbGlua2VyLgorKworK0BjaW5kZXggQG9wdGlvbnstbGdjY30sIHVzZSB3aXRoIEBvcHRpb257LW5vc3RkbGlifQorK0BjaW5kZXggQG9wdGlvbnstbm9zdGRsaWJ9IGFuZCB1bnJlc29sdmVkIHJlZmVyZW5jZXMKKytAY2luZGV4IHVucmVzb2x2ZWQgcmVmZXJlbmNlcyBhbmQgQG9wdGlvbnstbm9zdGRsaWJ9CisrQGNpbmRleCBAb3B0aW9uey1sZ2NjfSwgdXNlIHdpdGggQG9wdGlvbnstbm9kZWZhdWx0bGlic30KKytAY2luZGV4IEBvcHRpb257LW5vZGVmYXVsdGxpYnN9IGFuZCB1bnJlc29sdmVkIHJlZmVyZW5jZXMKKytAY2luZGV4IHVucmVzb2x2ZWQgcmVmZXJlbmNlcyBhbmQgQG9wdGlvbnstbm9kZWZhdWx0bGlic30KKytPbmUgb2YgdGhlIHN0YW5kYXJkIGxpYnJhcmllcyBieXBhc3NlZCBieSBAb3B0aW9uey1ub3N0ZGxpYn0gYW5kCisrQG9wdGlvbnstbm9kZWZhdWx0bGlic30gaXMgQGZpbGV7bGliZ2NjLmF9LCBhIGxpYnJhcnkgb2YgaW50ZXJuYWwgc3Vicm91dGluZXMKKyt3aGljaCBHQ0MgdXNlcyB0byBvdmVyY29tZSBzaG9ydGNvbWluZ3Mgb2YgcGFydGljdWxhciBtYWNoaW5lcywgb3Igc3BlY2lhbAorK25lZWRzIGZvciBzb21lIGxhbmd1YWdlcy4KKysoQHhyZWZ7SW50ZXJmYWNlLCxJbnRlcmZhY2luZyB0byBHQ0MgT3V0cHV0LGdjY2ludCxHTlUgQ29tcGlsZXIKKytDb2xsZWN0aW9uIChHQ0MpIEludGVybmFsc30sCisrZm9yIG1vcmUgZGlzY3Vzc2lvbiBvZiBAZmlsZXtsaWJnY2MuYX0uKQorK0luIG1vc3QgY2FzZXMsIHlvdSBuZWVkIEBmaWxle2xpYmdjYy5hfSBldmVuIHdoZW4geW91IHdhbnQgdG8gYXZvaWQKKytvdGhlciBzdGFuZGFyZCBsaWJyYXJpZXMuICBJbiBvdGhlciB3b3Jkcywgd2hlbiB5b3Ugc3BlY2lmeSBAb3B0aW9uey1ub3N0ZGxpYn0KKytvciBAb3B0aW9uey1ub2RlZmF1bHRsaWJzfSB5b3Ugc2hvdWxkIHVzdWFsbHkgc3BlY2lmeSBAb3B0aW9uey1sZ2NjfSBhcyB3ZWxsLgorK1RoaXMgZW5zdXJlcyB0aGF0IHlvdSBoYXZlIG5vIHVucmVzb2x2ZWQgcmVmZXJlbmNlcyB0byBpbnRlcm5hbCBHQ0MKKytsaWJyYXJ5IHN1YnJvdXRpbmVzLgorKyhBbiBleGFtcGxlIG9mIHN1Y2ggYW4gaW50ZXJuYWwgc3Vicm91dGluZSBpcyBAY29kZXtfX21haW59LCB1c2VkIHRvIGVuc3VyZSBDKysKKytjb25zdHJ1Y3RvcnMgYXJlIGNhbGxlZDsgQHB4cmVme0NvbGxlY3QyLCxAY29kZXtjb2xsZWN0Mn0sIGdjY2ludCwKKytHTlUgQ29tcGlsZXIgQ29sbGVjdGlvbiAoR0NDKSBJbnRlcm5hbHN9LikKKysKKyBAaXRlbSAtcGllCisgQG9waW5kZXggcGllCisgUHJvZHVjZSBhIGR5bmFtaWNhbGx5IGxpbmtlZCBwb3NpdGlvbiBpbmRlcGVuZGVudCBleGVjdXRhYmxlIG9uIHRhcmdldHMKK2RpZmYgLS1naXQgYS9nY2MvZ2NjLmMgYi9nY2MvZ2NjLmMKK2luZGV4IDAyYjNjZDM5ZmMyLi44Y2QyN2E1ZGFkNSAxMDA2NDQKKy0tLSBhL2djYy9nY2MuYworKysrIGIvZ2NjL2djYy5jCitAQCAtMTA0Nyw2ICsxMDQ3LDcgQEAgcHJvcGVyIHBvc2l0aW9uIGFtb25nIHRoZSBvdGhlciBvdXRwdXQgZmlsZXMuICAqLworICAgICAlKG1mbGliKSAiIFNUQUNLX1NQTElUX1NQRUMgIlwKKyAgICAgJXtmcHJvZmlsZS1hcmNzfGZwcm9maWxlLWdlbmVyYXRlKnxjb3ZlcmFnZTotbGdjb3Z9ICIgU0FOSVRJWkVSX1NQRUMgIiBcCisgICAgICV7IW5vc3RkbGliOiV7IW5vZGVmYXVsdGxpYnM6JShsaW5rX3NzcCkgJShsaW5rX2djY19jX3NlcXVlbmNlKX19XAorKyAgICAleyFub3N0ZGxpYisrOn1cCisgICAgICV7IW5vc3RkbGliOiV7IW5vc3RhcnRmaWxlczolRX19ICV7VCp9ICBcbiUocG9zdF9saW5rKSB9fX19fX0iCisgI2VuZGlmCisgCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDA2LWdjYy1kaXNhYmxlLU1BU0tfUkVMQVhfUElDX0NBTExTLWJpdC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDYtZ2NjLWRpc2FibGUtTUFTS19SRUxBWF9QSUNfQ0FMTFMtYml0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjZWEyMjgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDA2LWdjYy1kaXNhYmxlLU1BU0tfUkVMQVhfUElDX0NBTExTLWJpdC5wYXRjaApAQCAtMCwwICsxLDU5IEBACitGcm9tIDFkYmEwOTBhMTFjNDBiMDkyNmY5NzA3YTU0M2Q2NThjOTVlMWYxNTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToxNDoyMCArMDQwMAorU3ViamVjdDogW1BBVENIIDA2LzQwXSBnY2M6IGRpc2FibGUgTUFTS19SRUxBWF9QSUNfQ0FMTFMgYml0CisKK1RoZSBuZXcgZmVhdHVyZSBhZGRlZCBhZnRlciA0LjMuMworImh0dHA6Ly93d3cucHViYnMubmV0LzIwMDkwOS9nY2MvOTQwNDgtcGF0Y2gtYWRkLXN1cHBvcnQtZm9yLXJtaXBzamFsci5odG1sIgord2lsbCBjYXVzZSBjYzFwbHVzIGVhdCB1cCBhbGwgdGhlIHN5c3RlbSBtZW1vcnkgd2hlbiBidWlsZCB3ZWJraXQtZ3RrLgorVGhlIGZ1bmN0aW9uIG1pcHNfZ2V0X3BpY19jYWxsX3N5bWJvbCBrZWVwcyBvbiByZWN1cnNpdmVseSBjYWxsaW5nIGl0c2VsZi4KK0Rpc2FibGUgdGhpcyBmZWF0dXJlIHRvIHdhbGsgYXNpZGUgdGhlIGJ1Zy4KKworU2lnbmVkLW9mZi1ieTogRG9uZ3hpYW8gWHUgPGRvbmd4aWFvLnh1QGludGVsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKy0tLQorIGdjYy9jb25maWd1cmUgICAgfCA3IC0tLS0tLS0KKyBnY2MvY29uZmlndXJlLmFjIHwgNyAtLS0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUgYi9nY2MvY29uZmlndXJlCitpbmRleCAzOTAxNzIyNDAwYy4uMGM5YjhhYzVmNTUgMTAwNzU1CistLS0gYS9nY2MvY29uZmlndXJlCisrKysgYi9nY2MvY29uZmlndXJlCitAQCAtMjc1NTMsMTMgKzI3NTUzLDYgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgYXNzZW1ibGVyIGFuZCBsaW5rZXIgZm9yIGV4cGxpY2l0IEpBTFIgcmVsb2NhdGlvbi4uLiAiID4mNjsKKyAgICAgICAgIHJtIC1mIGNvbmZ0ZXN0LioKKyAgICAgICBmaQorICAgICBmaQorLSAgICBpZiB0ZXN0ICRnY2NfY3ZfYXNfbGRfamFscl9yZWxvYyA9IHllczsgdGhlbgorLSAgICAgIGlmIHRlc3QgeCR0YXJnZXRfY3B1X2RlZmF1bHQgPSB4OyB0aGVuCistICAgICAgICB0YXJnZXRfY3B1X2RlZmF1bHQ9TUFTS19SRUxBWF9QSUNfQ0FMTFMKKy0gICAgICBlbHNlCistICAgICAgICB0YXJnZXRfY3B1X2RlZmF1bHQ9IigkdGFyZ2V0X2NwdV9kZWZhdWx0KXxNQVNLX1JFTEFYX1BJQ19DQUxMUyIKKy0gICAgICBmaQorLSAgICBmaQorICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGdjY19jdl9hc19sZF9qYWxyX3JlbG9jIiA+JjUKKyAkYXNfZWNobyAiJGdjY19jdl9hc19sZF9qYWxyX3JlbG9jIiA+JjY7IH0KKyAKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlndXJlLmFjIGIvZ2NjL2NvbmZpZ3VyZS5hYworaW5kZXggMWIxMzYyZjcwZmUuLjUzODQwMzYzMTE1IDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZ3VyZS5hYworKysrIGIvZ2NjL2NvbmZpZ3VyZS5hYworQEAgLTQ3OTgsMTMgKzQ3OTgsNiBAQCB4OgorICAgICAgICAgcm0gLWYgY29uZnRlc3QuKgorICAgICAgIGZpCisgICAgIGZpCistICAgIGlmIHRlc3QgJGdjY19jdl9hc19sZF9qYWxyX3JlbG9jID0geWVzOyB0aGVuCistICAgICAgaWYgdGVzdCB4JHRhcmdldF9jcHVfZGVmYXVsdCA9IHg7IHRoZW4KKy0gICAgICAgIHRhcmdldF9jcHVfZGVmYXVsdD1NQVNLX1JFTEFYX1BJQ19DQUxMUworLSAgICAgIGVsc2UKKy0gICAgICAgIHRhcmdldF9jcHVfZGVmYXVsdD0iKCR0YXJnZXRfY3B1X2RlZmF1bHQpfE1BU0tfUkVMQVhfUElDX0NBTExTIgorLSAgICAgIGZpCistICAgIGZpCisgICAgIEFDX01TR19SRVNVTFQoJGdjY19jdl9hc19sZF9qYWxyX3JlbG9jKQorIAorICAgICBBQ19DQUNIRV9DSEVDSyhbbGlua2VyIGZvciAuZWhfZnJhbWUgcGVyc29uYWxpdHkgcmVsYXhhdGlvbl0sCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDA3LUNPTExFQ1RfR0NDX09QVElPTlMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDA3LUNPTExFQ1RfR0NDX09QVElPTlMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGM3ZTcyZQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDctQ09MTEVDVF9HQ0NfT1BUSU9OUy5wYXRjaApAQCAtMCwwICsxLDM4IEBACitGcm9tIDIwOWU0NmY0NTM4MjA4OGNhYWI1NDQyNWI5MmI1ZGZjNDNlYmI0ZmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToxNjoyOCArMDQwMAorU3ViamVjdDogW1BBVENIIDA3LzQwXSBDT0xMRUNUX0dDQ19PUFRJT05TCisKK1RoaXMgcGF0Y2ggYWRkcyAtLXN5c3Jvb3QgaW50byBDT0xMRUNUX0dDQ19PUFRJT05TIHdoaWNoIGlzIHVzZWQgdG8KK2ludm9rZSBjb2xsZWN0Mi4KKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCistLS0KKyBnY2MvZ2NjLmMgfCA5ICsrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2djYy9nY2MuYyBiL2djYy9nY2MuYworaW5kZXggOGNkMjdhNWRhZDUuLmQzNTVkNjU1ODNhIDEwMDY0NAorLS0tIGEvZ2NjL2djYy5jCisrKysgYi9nY2MvZ2NjLmMKK0BAIC00Njc3LDYgKzQ2NzcsMTUgQEAgc2V0X2NvbGxlY3RfZ2NjX29wdGlvbnMgKHZvaWQpCisgCQlzaXplb2YgKCJDT0xMRUNUX0dDQ19PUFRJT05TPSIpIC0gMSk7CisgCisgICBmaXJzdF90aW1lID0gVFJVRTsKKysjaWZkZWYgSEFWRV9MRF9TWVNST09UCisrICBpZiAodGFyZ2V0X3N5c3RlbV9yb290X2NoYW5nZWQgJiYgdGFyZ2V0X3N5c3RlbV9yb290KQorKyAgICB7CisrICAgICAgb2JzdGFja19ncm93ICgmY29sbGVjdF9vYnN0YWNrLCAiJy0tc3lzcm9vdD0iLCBzaXplb2YoIictLXN5c3Jvb3Q9IiktMSk7CisrICAgICAgb2JzdGFja19ncm93ICgmY29sbGVjdF9vYnN0YWNrLCB0YXJnZXRfc3lzdGVtX3Jvb3Qsc3RybGVuKHRhcmdldF9zeXN0ZW1fcm9vdCkpOworKyAgICAgIG9ic3RhY2tfZ3JvdyAoJmNvbGxlY3Rfb2JzdGFjaywgIiciLCAxKTsKKysgICAgICBmaXJzdF90aW1lID0gRkFMU0U7CisrICAgIH0KKysjZW5kaWYKKyAgIGZvciAoaSA9IDA7IChpbnQpIGkgPCBuX3N3aXRjaGVzOyBpKyspCisgICAgIHsKKyAgICAgICBjb25zdCBjaGFyICpjb25zdCAqYXJnczsKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDgtVXNlLXRoZS1kZWZhdWx0cy5oLWluLUItaW5zdGVhZC1vZi1TLWFuZC10LW9lLWluLUIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDA4LVVzZS10aGUtZGVmYXVsdHMuaC1pbi1CLWluc3RlYWQtb2YtUy1hbmQtdC1vZS1pbi1CLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5NjMyYWYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDA4LVVzZS10aGUtZGVmYXVsdHMuaC1pbi1CLWluc3RlYWQtb2YtUy1hbmQtdC1vZS1pbi1CLnBhdGNoCkBAIC0wLDAgKzEsOTYgQEAKK0Zyb20gM2JjYmRmNWFkZTU0YTcyODIwYWQ3Nzk4MTE5ZDBiYmFkNGJhZjZlYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjE3OjI1ICswNDAwCitTdWJqZWN0OiBbUEFUQ0ggMDgvNDBdIFVzZSB0aGUgZGVmYXVsdHMuaCBpbiAke0J9IGluc3RlYWQgb2YgJHtTfSwgYW5kIHQtb2UgaW4KKyAke0J9CisKK1VzZSB0aGUgZGVmYXVsdHMuaCBpbiAke0J9IGluc3RlYWQgb2YgJHtTfSwgYW5kIHQtb2UgaW4gJHtCfSwgc28gdGhhdAordGhlIHNvdXJjZSBjYW4gYmUgc2hhcmVkIGJldHdlZW4gZ2NjLWNyb3NzLWluaXRpYWwsCitnY2MtY3Jvc3MtaW50ZXJtZWRpYXRlLCBnY2MtY3Jvc3MsIGdjYy1ydW50aW1lLCBhbmQgYWxzbyB0aGUgc2RrIGJ1aWxkLgorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworV2hpbGUgY29tcGlsaW5nIGdjYy1jcm9zc3Nkay1pbml0aWFsLXg4Nl82NCBvbiBzb21lIGhvc3QsIHRoZXJlIGlzCitvY2Nhc2lvbmFsbHkgZmFpbHVyZSB0aGF0IHRlc3QgdGhlIGV4aXN0YW5jZSBvZiBkZWZhdWx0LmggZG9lc24ndAord29yaywgdGhlIHJlYXNvbiBpcyB0bV9pbmNsdWRlX2xpc3Q9JyoqIGRlZmF1bHRzLmgnIHJhdGhlciB0aGFuCit0bV9pbmNsdWRlX2xpc3Q9JyoqIC4vZGVmYXVsdHMuaCcKKworU28gd2UgYWRkIHRoZSB0ZXN0IGNvbmRpdGlvbiBmb3IgdGhpcyBzaXR1YXRpb24uCitTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CistLS0KKyBnY2MvTWFrZWZpbGUuaW4gIHwgMiArLQorIGdjYy9jb25maWd1cmUgICAgfCA0ICsrLS0KKyBnY2MvY29uZmlndXJlLmFjIHwgNCArKy0tCisgZ2NjL21rY29uZmlnLnNoICB8IDQgKystLQorIDQgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZ2NjL01ha2VmaWxlLmluIGIvZ2NjL01ha2VmaWxlLmluCitpbmRleCAyMGJlZTA0OTRiMS4uMTM2NzEzNmJmYWMgMTAwNjQ0CistLS0gYS9nY2MvTWFrZWZpbGUuaW4KKysrKyBiL2djYy9NYWtlZmlsZS5pbgorQEAgLTUzOCw3ICs1MzgsNyBAQCBUQVJHRVRfU1lTVEVNX1JPT1QgPSBAVEFSR0VUX1NZU1RFTV9ST09UQAorIFRBUkdFVF9TWVNURU1fUk9PVF9ERUZJTkUgPSBAVEFSR0VUX1NZU1RFTV9ST09UX0RFRklORUAKKyAKKyB4bWFrZV9maWxlPUB4bWFrZV9maWxlQAorLXRtYWtlX2ZpbGU9QHRtYWtlX2ZpbGVACisrdG1ha2VfZmlsZT1AdG1ha2VfZmlsZUAgLi90LW9lCisgVE1fRU5ESUFOX0NPTkZJRz1AVE1fRU5ESUFOX0NPTkZJR0AKKyBUTV9NVUxUSUxJQl9DT05GSUc9QFRNX01VTFRJTElCX0NPTkZJR0AKKyBUTV9NVUxUSUxJQl9FWENFUFRJT05TX0NPTkZJRz1AVE1fTVVMVElMSUJfRVhDRVBUSU9OU19DT05GSUdACitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZSBiL2djYy9jb25maWd1cmUKK2luZGV4IDBjOWI4YWM1ZjU1Li4xMzRjMmMyZjE1NiAxMDA3NTUKKy0tLSBhL2djYy9jb25maWd1cmUKKysrKyBiL2djYy9jb25maWd1cmUKK0BAIC0xMjE1OCw4ICsxMjE1OCw4IEBAIGZvciBmIGluICR0bV9maWxlOyBkbworICAgICAgICB0bV9pbmNsdWRlX2xpc3Q9IiR7dG1faW5jbHVkZV9saXN0fSAkZiIKKyAgICAgICAgOzsKKyAgICAgZGVmYXVsdHMuaCApCistICAgICAgIHRtX2ZpbGVfbGlzdD0iJHt0bV9maWxlX2xpc3R9IFwkKHNyY2RpcikvJGYiCistICAgICAgIHRtX2luY2x1ZGVfbGlzdD0iJHt0bV9pbmNsdWRlX2xpc3R9ICRmIgorKyAgICAgICB0bV9maWxlX2xpc3Q9IiR7dG1fZmlsZV9saXN0fSAuLyRmIgorKyAgICAgICB0bV9pbmNsdWRlX2xpc3Q9IiR7dG1faW5jbHVkZV9saXN0fSAuLyRmIgorICAgICAgICA7OworICAgICAqICkKKyAgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gXCQoc3JjZGlyKS9jb25maWcvJGYiCitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZS5hYyBiL2djYy9jb25maWd1cmUuYWMKK2luZGV4IDUzODQwMzYzMTE1Li4wYzNjODJlNGZmNyAxMDA2NDQKKy0tLSBhL2djYy9jb25maWd1cmUuYWMKKysrKyBiL2djYy9jb25maWd1cmUuYWMKK0BAIC0xOTIyLDggKzE5MjIsOCBAQCBmb3IgZiBpbiAkdG1fZmlsZTsgZG8KKyAgICAgICAgdG1faW5jbHVkZV9saXN0PSIke3RtX2luY2x1ZGVfbGlzdH0gJGYiCisgICAgICAgIDs7CisgICAgIGRlZmF1bHRzLmggKQorLSAgICAgICB0bV9maWxlX2xpc3Q9IiR7dG1fZmlsZV9saXN0fSBcJChzcmNkaXIpLyRmIgorLSAgICAgICB0bV9pbmNsdWRlX2xpc3Q9IiR7dG1faW5jbHVkZV9saXN0fSAkZiIKKysgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gLi8kZiIKKysgICAgICAgdG1faW5jbHVkZV9saXN0PSIke3RtX2luY2x1ZGVfbGlzdH0gLi8kZiIKKyAgICAgICAgOzsKKyAgICAgKiApCisgICAgICAgIHRtX2ZpbGVfbGlzdD0iJHt0bV9maWxlX2xpc3R9IFwkKHNyY2RpcikvY29uZmlnLyRmIgorZGlmZiAtLWdpdCBhL2djYy9ta2NvbmZpZy5zaCBiL2djYy9ta2NvbmZpZy5zaAoraW5kZXggMGY3NWM4NjNjMGIuLjY4ZDhkNjYxM2NmIDEwMDY0NAorLS0tIGEvZ2NjL21rY29uZmlnLnNoCisrKysgYi9nY2MvbWtjb25maWcuc2gKK0BAIC03Nyw3ICs3Nyw3IEBAIGlmIFsgLW4gIiRIRUFERVJTIiBdOyB0aGVuCisgICAgIGlmIFsgJCMgLWdlIDEgXTsgdGhlbgorIAllY2hvICcjaWZkZWYgSU5fR0NDJyA+PiAke291dHB1dH1UCisgCWZvciBmaWxlIGluICIkQCI7IGRvCistCSAgICBpZiB0ZXN0IHgiJGZpbGUiID0geCJkZWZhdWx0cy5oIjsgdGhlbgorKwkgICAgaWYgdGVzdCB4IiRmaWxlIiA9IHgiLi9kZWZhdWx0cy5oIiAtbyB4IiRmaWxlIiA9IHgiZGVmYXVsdHMuaCI7IHRoZW4KKyAJCXBvc3Rwb25lX2RlZmF1bHRzX2g9InllcyIKKyAJICAgIGVsc2UKKyAJCWVjaG8gIiMgaW5jbHVkZSBcIiRmaWxlXCIiID4+ICR7b3V0cHV0fVQKK0BAIC0xMDYsNyArMTA2LDcgQEAgZXNhYworIAorICMgSWYgd2UgcG9zdHBvbmVkIGluY2x1ZGluZyBkZWZhdWx0cy5oLCBhZGQgdGhlICNpbmNsdWRlIG5vdy4KKyBpZiB0ZXN0IHgiJHBvc3Rwb25lX2RlZmF1bHRzX2giID0geCJ5ZXMiOyB0aGVuCistICAgIGVjaG8gIiMgaW5jbHVkZSBcImRlZmF1bHRzLmhcIiIgPj4gJHtvdXRwdXR9VAorKyAgICBlY2hvICIjIGluY2x1ZGUgXCIuL2RlZmF1bHRzLmhcIiIgPj4gJHtvdXRwdXR9VAorIGZpCisgCisgIyBBZGQgbXVsdGlwbGUgaW5jbHVzaW9uIHByb3RlY3Rpb24gZ3VhcmQsIHBhcnQgdHdvLgorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAwOS1mb3J0cmFuLWNyb3NzLWNvbXBpbGUtaGFjay5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDktZm9ydHJhbi1jcm9zcy1jb21waWxlLWhhY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTBkODk1YgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDktZm9ydHJhbi1jcm9zcy1jb21waWxlLWhhY2sucGF0Y2gKQEAgLTAsMCArMSw0NiBAQAorRnJvbSBlNjU0NTczMzUyZDI4ZjE2MGYzNzllZTc3ZTQwNjdjZjEwODcxNGQwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MjA6MDEgKzA0MDAKK1N1YmplY3Q6IFtQQVRDSCAwOS80MF0gZm9ydHJhbiBjcm9zcy1jb21waWxlIGhhY2suCisKKyogRm9ydHJhbiB3b3VsZCBoYXZlIHNlYXJjaGVkIGZvciBhcm0tYW5nc3Ryb20tZ251ZWFiaS1nZm9ydHJhbiBidXQgd291bGQgaGF2ZSB1c2VkCit1c2VkIGdmb3J0YW4uIEZvciBnY2NfNC4yLjIuYmIgd2Ugd2FudCB0byB1c2UgdGhlIGdmb3J0cmFuIGNvbXBpbGVyIGZyb20gb3VyIGNyb3NzCitkaXJlY3RvcnkuCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCistLS0KKyBsaWJnZm9ydHJhbi9jb25maWd1cmUgICAgfCAyICstCisgbGliZ2ZvcnRyYW4vY29uZmlndXJlLmFjIHwgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliZ2ZvcnRyYW4vY29uZmlndXJlIGIvbGliZ2ZvcnRyYW4vY29uZmlndXJlCitpbmRleCA5MWZjZThmZWNkMC4uNjc0N2Y4NmViOTggMTAwNzU1CistLS0gYS9saWJnZm9ydHJhbi9jb25maWd1cmUKKysrKyBiL2xpYmdmb3J0cmFuL2NvbmZpZ3VyZQorQEAgLTEyODgzLDcgKzEyODgzLDcgQEAgZXNhYworIAorICMgV2UgbmVlZCBnZm9ydHJhbiB0byBjb21waWxlIHBhcnRzIG9mIHRoZSBsaWJyYXJ5CisgI0FDX1BST0dfRkMoZ2ZvcnRyYW4pCistRkM9IiRHRk9SVFJBTiIKKysjRkM9IiRHRk9SVFJBTiIKKyBhY19leHQ9JHthY19mY19zcmNleHQtZn0KKyBhY19jb21waWxlPSckRkMgLWMgJEZDRkxBR1MgJGFjX2ZjZmxhZ3Nfc3JjZXh0IGNvbmZ0ZXN0LiRhY19leHQgPiY1JworIGFjX2xpbms9JyRGQyAtbyBjb25mdGVzdCRhY19leGVleHQgJEZDRkxBR1MgJExERkxBR1MgJGFjX2ZjZmxhZ3Nfc3JjZXh0IGNvbmZ0ZXN0LiRhY19leHQgJExJQlMgPiY1JworZGlmZiAtLWdpdCBhL2xpYmdmb3J0cmFuL2NvbmZpZ3VyZS5hYyBiL2xpYmdmb3J0cmFuL2NvbmZpZ3VyZS5hYworaW5kZXggYmY2ZDM2MzRkZGEuLjlkYmU0M2NjNjE2IDEwMDY0NAorLS0tIGEvbGliZ2ZvcnRyYW4vY29uZmlndXJlLmFjCisrKysgYi9saWJnZm9ydHJhbi9jb25maWd1cmUuYWMKK0BAIC0yNTAsNyArMjUwLDcgQEAgQUNfU1VCU1QoZW5hYmxlX3N0YXRpYykKKyAKKyAjIFdlIG5lZWQgZ2ZvcnRyYW4gdG8gY29tcGlsZSBwYXJ0cyBvZiB0aGUgbGlicmFyeQorICNBQ19QUk9HX0ZDKGdmb3J0cmFuKQorLUZDPSIkR0ZPUlRSQU4iCisrI0ZDPSIkR0ZPUlRSQU4iCisgQUNfUFJPR19GQyhnZm9ydHJhbikKKyAKKyAjIGV4dHJhIExEIEZsYWdzIHdoaWNoIGFyZSByZXF1aXJlZCBmb3IgdGFyZ2V0cworLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxMC1jcHAtaG9ub3Itc3lzcm9vdC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMTAtY3BwLWhvbm9yLXN5c3Jvb3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDM3ZWFjZgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMTAtY3BwLWhvbm9yLXN5c3Jvb3QucGF0Y2gKQEAgLTAsMCArMSw1NCBAQAorRnJvbSAyYWU3YWY0ZWI3MGVmZjZhZWRhMWZlOTYzMzNmZjUwY2ZhYTlkOTA2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MjI6MDAgKzA0MDAKK1N1YmplY3Q6IFtQQVRDSCAxMC80MF0gY3BwOiBob25vciBzeXNyb290LgorCitDdXJyZW50bHksIGlmIHRoZSBnY2MgdG9vbGNoYWluIGlzIHJlbG9jYXRlZCBhbmQgaW5zdGFsbGVkIGZyb20gc3N0YXRlLCB0aGVuIHlvdSB0cnkgYW5kIGNvbXBpbGUKK3ByZXByb2Nlc3NlZCBzb3VyY2UgKC5pIG9yIC5paSBmaWxlcyksIHRoZSBjb21waWxlciB3aWxsIHRyeSBhbmQgYWNjZXNzIHRoZSBidWlsdGluIHN5c3Jvb3QgbG9jYXRpb24KK3JhdGhlciB0aGFuIHRoZSAtLXN5c3Jvb3Qgb3B0aW9uIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZGxpbmUuIElmIGFjY2VzcyB0byB0aGF0IGRpcmVjdG9yeSBpcworcGVybWlzc2lvbiBkZW5pZWQgKHVucmVhZGFibGUpLCBnY2Mgd2lsbCBlcnJvci4KKworVGhpcyBoYXBwZW5zIHdoZW4gY2NhY2hlIGlzIGluIHVzZSBkdWUgdG8gdGhlIGZhY3QgaXQgdXNlcyBwcmVwcm9jZXNzZWQgc291cmNlIGZpbGVzLgorCitUaGUgZml4IGJlbG93IGFkZHMgJUkgdG8gdGhlIGNwcC1vdXRwdXQgc3BlYyBtYWNybyBzbyB0aGUgZGVmYXVsdCBzdWJzdGl0dXRpb25zIGZvciAtaXByZWZpeCwKKy1pc3lzdGVtLCAtaXN5c3Jvb3QgaGFwcGVuIGFuZCB0aGUgY29ycmVjdCBzeXNyb290IGlzIHVzZWQuCisKK1tZT0NUTyAjMjA3NF0KKworUlAgMjAxMi8wNC8xMworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKy0tLQorIGdjYy9jcC9sYW5nLXNwZWNzLmggfCAyICstCisgZ2NjL2djYy5jICAgICAgICAgICB8IDIgKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2djYy9jcC9sYW5nLXNwZWNzLmggYi9nY2MvY3AvbGFuZy1zcGVjcy5oCitpbmRleCBmMDgwMmI4OTE1Yy4uZjMyNGQyOTk4NDkgMTAwNjQ0CistLS0gYS9nY2MvY3AvbGFuZy1zcGVjcy5oCisrKysgYi9nY2MvY3AvbGFuZy1zcGVjcy5oCitAQCAtNjQsNSArNjQsNSBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQorICAgeyIuaWkiLCAiQGMrKy1jcHAtb3V0cHV0IiwgMCwgMCwgMH0sCisgICB7IkBjKystY3BwLW91dHB1dCIsCisgICAgIiV7IU06JXshTU06JXshRTpcCistICAgIGNjMXBsdXMgLWZwcmVwcm9jZXNzZWQgJWkgJShjYzFfb3B0aW9ucykgJTJcCisrICAgIGNjMXBsdXMgLWZwcmVwcm9jZXNzZWQgJWkgJUkgJShjYzFfb3B0aW9ucykgJTJcCisgICAgICV7IWZzeW50YXgtb25seTolKGludm9rZV9hcyl9fX19IiwgMCwgMCwgMH0sCitkaWZmIC0tZ2l0IGEvZ2NjL2djYy5jIGIvZ2NjL2djYy5jCitpbmRleCBkMzU1ZDY1NTgzYS4uNTcwY2RjMDAwMzQgMTAwNjQ0CistLS0gYS9nY2MvZ2NjLmMKKysrKyBiL2djYy9nY2MuYworQEAgLTEzNDMsNyArMTM0Myw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgY29tcGlsZXIgZGVmYXVsdF9jb21waWxlcnNbXSA9CisgCQkJCQkgICAlV3tvKjotLW91dHB1dC1wY2g9JSp9fSVWfX19fX19fSIsIDAsIDAsIDB9LAorICAgeyIuaSIsICJAY3BwLW91dHB1dCIsIDAsIDAsIDB9LAorICAgeyJAY3BwLW91dHB1dCIsCistICAgIiV7IU06JXshTU06JXshRTpjYzEgLWZwcmVwcm9jZXNzZWQgJWkgJShjYzFfb3B0aW9ucykgJXshZnN5bnRheC1vbmx5OiUoaW52b2tlX2FzKX19fX0iLCAwLCAwLCAwfSwKKysgICAiJXshTToleyFNTToleyFFOmNjMSAtZnByZXByb2Nlc3NlZCAlaSAlSSAlKGNjMV9vcHRpb25zKSAleyFmc3ludGF4LW9ubHk6JShpbnZva2VfYXMpfX19fSIsIDAsIDAsIDB9LAorICAgeyIucyIsICJAYXNzZW1ibGVyIiwgMCwgMCwgMH0sCisgICB7IkBhc3NlbWJsZXIiLAorICAgICIleyFNOiV7IU1NOiV7IUU6JXshUzphcyAlKGFzbV9kZWJ1ZykgJShhc21fb3B0aW9ucykgJWkgJUEgfX19fSIsIDAsIDAsIDB9LAorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxMS1NSVBTNjQtRGVmYXVsdC10by1ONjQtQUJJLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxMS1NSVBTNjQtRGVmYXVsdC10by1ONjQtQUJJLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4NjNjZmYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDExLU1JUFM2NC1EZWZhdWx0LXRvLU42NC1BQkkucGF0Y2gKQEAgLTAsMCArMSw1NyBAQAorRnJvbSAxZTFlYTBlYjU1YTU5NGFjNGNkN2I4MzhmNzRkZWM3NDA1YWFlMDJiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MjM6MDggKzA0MDAKK1N1YmplY3Q6IFtQQVRDSCAxMS80MF0gTUlQUzY0OiBEZWZhdWx0IHRvIE42NCBBQkkKKworTUlQUzY0IGRlZmF1bHRzIHRvIG4zMiBBQkksIHRoaXMgcGF0Y2ggbWFrZXMgaXQKK3NvIHRoYXQgaXQgZGVmYXVsdHMgdG8gTjY0IEFCSQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIGNvbmZpZyBzcGVjaWZpY10KKy0tLQorIGdjYy9jb25maWcuZ2NjIHwgMTAgKysrKystLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnLmdjYyBiL2djYy9jb25maWcuZ2NjCitpbmRleCA3YWY4ZTAyODEwNC4uZmM3YzkxMjQ2ZWQgMTAwNjQ0CistLS0gYS9nY2MvY29uZmlnLmdjYworKysrIGIvZ2NjL2NvbmZpZy5nY2MKK0BAIC0yMTQzLDI5ICsyMTQzLDI5IEBAIG1pcHMqLSotbGludXgqKQkJCQkjIExpbnV4IE1JUFMsIGVpdGhlciBlbmRpYW4uCisgCQkJZGVmYXVsdF9taXBzX2FyY2g9bWlwczMyCisgCQkJOzsKKyAJCW1pcHM2NGVsLXN0LWxpbnV4LWdudSkKKy0JCQlkZWZhdWx0X21pcHNfYWJpPW4zMgorKwkJCWRlZmF1bHRfbWlwc19hYmk9NjQKKyAJCQl0bV9maWxlPSIke3RtX2ZpbGV9IG1pcHMvc3QuaCIKKyAJCQl0bWFrZV9maWxlPSIke3RtYWtlX2ZpbGV9IG1pcHMvdC1zdCIKKyAJCQllbmFibGVfbWlwc19tdWx0aWxpYnM9InllcyIKKyAJCQk7OworIAkJbWlwczY0b2N0ZW9uKi0qLWxpbnV4KikKKy0JCQlkZWZhdWx0X21pcHNfYWJpPW4zMgorKwkJCWRlZmF1bHRfbWlwc19hYmk9NjQKKyAJCQl0bV9kZWZpbmVzPSIke3RtX2RlZmluZXN9IE1JUFNfQ1BVX1NUUklOR19ERUZBVUxUPVxcXCJvY3Rlb25cXFwiIgorIAkJCXRhcmdldF9jcHVfZGVmYXVsdD1NQVNLX1NPRlRfRkxPQVRfQUJJCisgCQkJZW5hYmxlX21pcHNfbXVsdGlsaWJzPSJ5ZXMiCisgCQkJOzsKKyAJCW1pcHNpc2E2NHI2Ki0qLWxpbnV4KikKKy0JCQlkZWZhdWx0X21pcHNfYWJpPW4zMgorKwkJCWRlZmF1bHRfbWlwc19hYmk9NjQKKyAJCQlkZWZhdWx0X21pcHNfYXJjaD1taXBzNjRyNgorIAkJCWVuYWJsZV9taXBzX211bHRpbGlicz0ieWVzIgorIAkJCTs7CisgCQltaXBzaXNhNjRyMiotKi1saW51eCopCistCQkJZGVmYXVsdF9taXBzX2FiaT1uMzIKKysJCQlkZWZhdWx0X21pcHNfYWJpPTY0CisgCQkJZGVmYXVsdF9taXBzX2FyY2g9bWlwczY0cjIKKyAJCQllbmFibGVfbWlwc19tdWx0aWxpYnM9InllcyIKKyAJCQk7OworIAkJbWlwczY0Ki0qLWxpbnV4KiB8IG1pcHNpc2E2NCotKi1saW51eCopCistCQkJZGVmYXVsdF9taXBzX2FiaT1uMzIKKysJCQlkZWZhdWx0X21pcHNfYWJpPTY0CisgCQkJZW5hYmxlX21pcHNfbXVsdGlsaWJzPSJ5ZXMiCisgCQkJOzsKKyAJZXNhYworLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxMi1EZWZpbmUtR0xJQkNfRFlOQU1JQ19MSU5LRVItYW5kLVVDTElCQ19EWU5BTUlDX0xJTktFLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxMi1EZWZpbmUtR0xJQkNfRFlOQU1JQ19MSU5LRVItYW5kLVVDTElCQ19EWU5BTUlDX0xJTktFLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzYmUxMGYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDEyLURlZmluZS1HTElCQ19EWU5BTUlDX0xJTktFUi1hbmQtVUNMSUJDX0RZTkFNSUNfTElOS0UucGF0Y2gKQEAgLTAsMCArMSwyNDggQEAKK0Zyb20gNmY4NjQ5OTM2ZGYzNjc3MTA5YjgzOTZmNTYzYzcxNmFlOGIyMzdmZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjI0OjUwICswNDAwCitTdWJqZWN0OiBbUEFUQ0ggMTIvNDBdIERlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiBhbmQgVUNMSUJDX0RZTkFNSUNfTElOS0VSCisgcmVsYXRpdmUgdG8gU1lTVEVNTElCU19ESVIKKworVGhpcyBwYXRjaCBkZWZpbmVzIEdMSUJDX0RZTkFNSUNfTElOS0VSIGFuZCBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIKK3JlbGF0aXZlIHRvIFNZU1RFTUxJQlNfRElSIHdoaWNoIGNhbiBiZSBzZXQgaW4gZ2VuZXJhdGVkIGhlYWRlcnMKK1RoaXMgYnJlYWtzIHRoZSBhc3N1bXB0aW9uIG9mIGhhcmRjb2RlZCBtdWx0aWxpYiBpbiBnY2MKK0NoYW5nZSBpcyBvbmx5IGZvciB0aGUgc3VwcG9ydGVkIGFyY2hpdGVjdHVyZXMgaW4gT0UgaW5jbHVkaW5nCitTSCwgc3BhcmMsIGFscGhhIGZvciBwb3NzaWJsZSBmdXR1cmUgc3VwcG9ydCAoaWYgYW55KQorCitSZW1vdmVzIHRoZSBkb19oZWFkZXJmaXggdGFzayBpbiBtZXRhZGF0YQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIGNvbmZpZ3VyYXRpb25dCistLS0KKyBnY2MvY29uZmlnL2FscGhhL2xpbnV4LWVsZi5oIHwgIDQgKystLQorIGdjYy9jb25maWcvYXJtL2xpbnV4LWVhYmkuaCAgfCAgNCArKy0tCisgZ2NjL2NvbmZpZy9hcm0vbGludXgtZWxmLmggICB8ICAyICstCisgZ2NjL2NvbmZpZy9pMzg2L2xpbnV4LmggICAgICB8ICAyICstCisgZ2NjL2NvbmZpZy9pMzg2L2xpbnV4NjQuaCAgICB8ICA2ICsrKy0tLQorIGdjYy9jb25maWcvbGludXguaCAgICAgICAgICAgfCAgOCArKysrLS0tLQorIGdjYy9jb25maWcvbWlwcy9saW51eC5oICAgICAgfCAxMiArKysrKystLS0tLS0KKyBnY2MvY29uZmlnL3Jpc2N2L2xpbnV4LmggICAgIHwgIDIgKy0KKyBnY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmggIHwgMTYgKysrKysrLS0tLS0tLS0tLQorIGdjYy9jb25maWcvc2gvbGludXguaCAgICAgICAgfCAgMiArLQorIGdjYy9jb25maWcvc3BhcmMvbGludXguaCAgICAgfCAgMiArLQorIGdjYy9jb25maWcvc3BhcmMvbGludXg2NC5oICAgfCAgNCArKy0tCisgMTIgZmlsZXMgY2hhbmdlZCwgMzAgaW5zZXJ0aW9ucygrKSwgMzQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FscGhhL2xpbnV4LWVsZi5oIGIvZ2NjL2NvbmZpZy9hbHBoYS9saW51eC1lbGYuaAoraW5kZXggMzZiNzRkYzE5OTMuLjAyMzczNTc4YWY4IDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9hbHBoYS9saW51eC1lbGYuaAorKysrIGIvZ2NjL2NvbmZpZy9hbHBoYS9saW51eC1lbGYuaAorQEAgLTIzLDggKzIzLDggQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKKyAjZGVmaW5lIEVYVFJBX1NQRUNTIFwKKyB7ICJlbGZfZHluYW1pY19saW5rZXIiLCBFTEZfRFlOQU1JQ19MSU5LRVIgfSwKKyAKKy0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSCSIvbGliL2xkLWxpbnV4LnNvLjIiCistI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtdUNsaWJjLnNvLjAiCisrI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUglTWVNURU1MSUJTX0RJUiAibGQtbGludXguc28uMiIKKysjZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUiAgU1lTVEVNTElCU19ESVIgImxkLXVDbGliYy5zby4wIgorICNpZiBERUZBVUxUX0xJQkMgPT0gTElCQ19VQ0xJQkMKKyAjZGVmaW5lIENIT09TRV9EWU5BTUlDX0xJTktFUihHLCBVKSAiJXttZ2xpYmM6IiBHICI7OiIgVSAifSIKKyAjZWxpZiBERUZBVUxUX0xJQkMgPT0gTElCQ19HTElCQworZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYXJtL2xpbnV4LWVhYmkuaCBiL2djYy9jb25maWcvYXJtL2xpbnV4LWVhYmkuaAoraW5kZXggODU4NWZkZTNkNDEuLmIzYWY2OGNhYzU3IDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWFiaS5oCisrKysgYi9nY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmgKK0BAIC02Miw4ICs2Miw4IEBACisgICAgR0xJQkNfRFlOQU1JQ19MSU5LRVJfREVGQVVMVCBhbmQgVEFSR0VUX0RFRkFVTFRfRkxPQVRfQUJJLiAgKi8KKyAKKyAjdW5kZWYgIEdMSUJDX0RZTkFNSUNfTElOS0VSCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUl9TT0ZUX0ZMT0FUICIvbGliL2xkLWxpbnV4LnNvLjMiCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUl9IQVJEX0ZMT0FUICIvbGliL2xkLWxpbnV4LWFybWhmLnNvLjMiCisrI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUl9TT0ZUX0ZMT0FUIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC5zby4zIgorKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVJfSEFSRF9GTE9BVCBTWVNURU1MSUJTX0RJUiAibGQtbGludXgtYXJtaGYuc28uMyIKKyAjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSX0RFRkFVTFQgR0xJQkNfRFlOQU1JQ19MSU5LRVJfU09GVF9GTE9BVAorIAorICNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgXAorZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYXJtL2xpbnV4LWVsZi5oIGIvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWxmLmgKK2luZGV4IGNmY2Q5Y2IxYTVjLi5hNzk4ZTk4N2VjYiAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvYXJtL2xpbnV4LWVsZi5oCisrKysgYi9nY2MvY29uZmlnL2FybS9saW51eC1lbGYuaAorQEAgLTYwLDcgKzYwLDcgQEAKKyAKKyAjZGVmaW5lIExJQkdDQ19TUEVDICIle21mbG9hdC1hYmk9c29mdCo6LWxmbG9hdH0gLWxnY2MiCisgCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1saW51eC5zby4yIgorKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LnNvLjIiCisgCisgI2RlZmluZSBMSU5VWF9UQVJHRVRfTElOS19TUEVDICAiJXtoKn0gXAorICAgICV7c3RhdGljOi1Cc3RhdGljfSBcCitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9pMzg2L2xpbnV4LmggYi9nY2MvY29uZmlnL2kzODYvbGludXguaAoraW5kZXggNjlmOTdmMTViMGQuLjcxYmMzMWQ5MjMxIDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9pMzg2L2xpbnV4LmgKKysrKyBiL2djYy9jb25maWcvaTM4Ni9saW51eC5oCitAQCAtMjAsNyArMjAsNyBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQorIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisgCisgI2RlZmluZSBHTlVfVVNFUl9MSU5LX0VNVUxBVElPTiAiZWxmX2kzODYiCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1saW51eC5zby4yIgorKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LnNvLjIiCisgCisgI3VuZGVmIE1VU0xfRFlOQU1JQ19MSU5LRVIKKyAjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbXVzbC1pMzg2LnNvLjEiCitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9pMzg2L2xpbnV4NjQuaCBiL2djYy9jb25maWcvaTM4Ni9saW51eDY0LmgKK2luZGV4IGYyZDkxM2UzMGFjLi44NzI1ZjMzZDhhNSAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvaTM4Ni9saW51eDY0LmgKKysrKyBiL2djYy9jb25maWcvaTM4Ni9saW51eDY0LmgKK0BAIC0yNyw5ICsyNyw5IEBAIHNlZSB0aGUgZmlsZXMgQ09QWUlORzMgYW5kIENPUFlJTkcuUlVOVElNRSByZXNwZWN0aXZlbHkuICBJZiBub3QsIHNlZQorICNkZWZpbmUgR05VX1VTRVJfTElOS19FTVVMQVRJT042NCAiZWxmX3g4Nl82NCIKKyAjZGVmaW5lIEdOVV9VU0VSX0xJTktfRU1VTEFUSU9OWDMyICJlbGYzMl94ODZfNjQiCisgCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjMyICIvbGliL2xkLWxpbnV4LnNvLjIiCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjY0ICIvbGliNjQvbGQtbGludXgteDg2LTY0LnNvLjIiCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUlgzMiAiL2xpYngzMi9sZC1saW51eC14MzIuc28uMiIKKysjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSMzIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LnNvLjIiCisrI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjY0IFNZU1RFTUxJQlNfRElSICJsZC1saW51eC14ODYtNjQuc28uMiIKKysjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSWDMyIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC14MzIuc28uMiIKKyAKKyAjdW5kZWYgTVVTTF9EWU5BTUlDX0xJTktFUjMyCisgI2RlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSMzIgIi9saWIvbGQtbXVzbC1pMzg2LnNvLjEiCitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9saW51eC5oIGIvZ2NjL2NvbmZpZy9saW51eC5oCitpbmRleCAyZWE0ZmY5MmMxZC4uNDg3YjBjMDkyM2IgMTAwNjQ0CistLS0gYS9nY2MvY29uZmlnL2xpbnV4LmgKKysrKyBiL2djYy9jb25maWcvbGludXguaAorQEAgLTgxLDEwICs4MSwxMCBAQCBzZWUgdGhlIGZpbGVzIENPUFlJTkczIGFuZCBDT1BZSU5HLlJVTlRJTUUgcmVzcGVjdGl2ZWx5LiAgSWYgbm90LCBzZWUKKyAgICBHTElCQ19EWU5BTUlDX0xJTktFUiBtdXN0IGJlIGRlZmluZWQgZm9yIGVhY2ggdGFyZ2V0IHVzaW5nIHRoZW0sIG9yCisgICAgR0xJQkNfRFlOQU1JQ19MSU5LRVIzMiBhbmQgR0xJQkNfRFlOQU1JQ19MSU5LRVI2NCBmb3IgdGFyZ2V0cworICAgIHN1cHBvcnRpbmcgYm90aCAzMi1iaXQgYW5kIDY0LWJpdCBjb21waWxhdGlvbi4gICovCistI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtdUNsaWJjLnNvLjAiCistI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIzMiAiL2xpYi9sZC11Q2xpYmMuc28uMCIKKy0jZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUjY0ICIvbGliL2xkNjQtdUNsaWJjLnNvLjAiCistI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVJYMzIgIi9saWIvbGR4MzItdUNsaWJjLnNvLjAiCisrI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIgU1lTVEVNTElCU19ESVIgImxkLXVDbGliYy5zby4wIgorKyNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSMzIgU1lTVEVNTElCU19ESVIgImxkLXVDbGliYy5zby4wIgorKyNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSNjQgU1lTVEVNTElCU19ESVIgImxkNjQtdUNsaWJjLnNvLjAiCisrI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVJYMzIgU1lTVEVNTElCU19ESVIgImxkeDMyLXVDbGliYy5zby4wIgorICNkZWZpbmUgQklPTklDX0RZTkFNSUNfTElOS0VSICIvc3lzdGVtL2Jpbi9saW5rZXIiCisgI2RlZmluZSBCSU9OSUNfRFlOQU1JQ19MSU5LRVIzMiAiL3N5c3RlbS9iaW4vbGlua2VyIgorICNkZWZpbmUgQklPTklDX0RZTkFNSUNfTElOS0VSNjQgIi9zeXN0ZW0vYmluL2xpbmtlcjY0IgorZGlmZiAtLWdpdCBhL2djYy9jb25maWcvbWlwcy9saW51eC5oIGIvZ2NjL2NvbmZpZy9taXBzL2xpbnV4LmgKK2luZGV4IDJkZmQwYzE4YjkwLi4xMjA1N2M1MWI1ZSAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvbWlwcy9saW51eC5oCisrKysgYi9nY2MvY29uZmlnL21pcHMvbGludXguaAorQEAgLTIyLDIwICsyMiwyMCBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQorICNkZWZpbmUgR05VX1VTRVJfTElOS19FTVVMQVRJT05OMzIgImVsZjMyJXtFQjpifSV7RUw6bH10c21pcG4zMiIKKyAKKyAjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSMzIgXAorLSAgIiV7bW5hbj0yMDA4Oi9saWIvbGQtbGludXgtbWlwc244LnNvLjE7Oi9saWIvbGQuc28uMX0iCisrICAiJXttbmFuPTIwMDg6IiBTWVNURU1MSUJTX0RJUiAibGQtbGludXgtbWlwc244LnNvLjE7OiIgU1lTVEVNTElCU19ESVIgImxkLnNvLjF9IgorICNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVI2NCBcCistICAiJXttbmFuPTIwMDg6L2xpYjY0L2xkLWxpbnV4LW1pcHNuOC5zby4xOzovbGliNjQvbGQuc28uMX0iCisrICAiJXttbmFuPTIwMDg6IiBTWVNURU1MSUJTX0RJUiAibGQtbGludXgtbWlwc244LnNvLjE7OiIgU1lTVEVNTElCU19ESVIgImxkLnNvLjF9IgorICNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVJOMzIgXAorLSAgIiV7bW5hbj0yMDA4Oi9saWIzMi9sZC1saW51eC1taXBzbjguc28uMTs6L2xpYjMyL2xkLnNvLjF9IgorKyAgIiV7bW5hbj0yMDA4OiIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LW1pcHNuOC5zby4xOzoiIFNZU1RFTUxJQlNfRElSICJsZC5zby4xfSIKKyAKKyAjdW5kZWYgVUNMSUJDX0RZTkFNSUNfTElOS0VSMzIKKyAjZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUjMyIFwKKy0gICIle21uYW49MjAwODovbGliL2xkLXVDbGliYy1taXBzbjguc28uMDs6L2xpYi9sZC11Q2xpYmMuc28uMH0iCisrICAiJXttbmFuPTIwMDg6IiBTWVNURU1MSUJTX0RJUiAibGQtdUNsaWJjLW1pcHNuOC5zby4wOzoiIFNZU1RFTUxJQlNfRElSICJsZC11Q2xpYmMuc28uMH0iCisgI3VuZGVmIFVDTElCQ19EWU5BTUlDX0xJTktFUjY0CisgI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVI2NCBcCistICAiJXttbmFuPTIwMDg6L2xpYi9sZDY0LXVDbGliYy1taXBzbjguc28uMDs6L2xpYi9sZDY0LXVDbGliYy5zby4wfSIKKysgICIle21uYW49MjAwODoiIFNZU1RFTUxJQlNfRElSICJsZDY0LXVDbGliYy1taXBzbjguc28uMDs6IiBTWVNURU1MSUJTX0RJUiAibGQ2NC11Q2xpYmMuc28uMH0iCisgI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVJOMzIgXAorLSAgIiV7bW5hbj0yMDA4Oi9saWIzMi9sZC11Q2xpYmMtbWlwc244LnNvLjA7Oi9saWIzMi9sZC11Q2xpYmMuc28uMH0iCisrICAiJXttbmFuPTIwMDg6IiBTWVNURU1MSUJTX0RJUiAibGQtdUNsaWJjLW1pcHNuOC5zby4wOzoiIFNZU1RFTUxJQlNfRElSICJsZC11Q2xpYmMuc28uMH0iCisgCisgI3VuZGVmIE1VU0xfRFlOQU1JQ19MSU5LRVIzMgorICNkZWZpbmUgTVVTTF9EWU5BTUlDX0xJTktFUjMyIFwKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L2xpbnV4LmggYi9nY2MvY29uZmlnL3Jpc2N2L2xpbnV4LmgKK2luZGV4IGFhOGEyOGQ1ZDMxLi5lYmY5NTUxYzk1NSAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvcmlzY3YvbGludXguaAorKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9saW51eC5oCitAQCAtMjIsNyArMjIsNyBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQorICAgICBHTlVfVVNFUl9UQVJHRVRfT1NfQ1BQX0JVSUxUSU5TKCk7CQkJCVwKKyAgIH0gd2hpbGUgKDApCisgCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1saW51eC1yaXNjdiIgWExFTl9TUEVDICItIiBBQklfU1BFQyAiLnNvLjEiCisrI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiBTWVNURU1MSUJTX0RJUiAibGQtbGludXgtcmlzY3YiIFhMRU5fU1BFQyAiLSIgQUJJX1NQRUMgIi5zby4xIgorIAorICNkZWZpbmUgTVVTTF9BQklfU1VGRklYIFwKKyAgICIle21hYmk9aWxwMzI6LXNmfSIgXAorZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaCBiL2djYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaAoraW5kZXggNDRlYWI0MGEyMzQuLjU0YWE4ZDk1N2U3IDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oCisrKysgYi9nY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmgKK0BAIC00MTMsMTYgKzQxMywxMSBAQCBleHRlcm4gaW50IGRvdF9zeW1ib2xzOworICN1bmRlZglMSU5LX09TX0RFRkFVTFRfU1BFQworICNkZWZpbmUgTElOS19PU19ERUZBVUxUX1NQRUMgIiUobGlua19vc19saW51eCkiCisgCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjMyICIlKGR5bmFtaWNfbGlua2VyX3ByZWZpeCkvbGliL2xkLnNvLjEiCistCisrI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjMyIFNZU1RFTUxJQlNfRElSICJsZC5zby4xIgorICNpZmRlZiBMSU5VWDY0X0RFRkFVTFRfQUJJX0VMRnYyCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjY0IFwKKy0iJXttYWJpPWVsZnYxOiUoZHluYW1pY19saW5rZXJfcHJlZml4KS9saWI2NC9sZDY0LnNvLjE7IiBcCistIjolKGR5bmFtaWNfbGlua2VyX3ByZWZpeCkvbGliNjQvbGQ2NC5zby4yfSIKKysjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgIiV7bWFiaT1lbGZ2MToiIFNZU1RFTUxJQlNfRElSICJsZDY0LnNvLjE7OiIgU1lTVEVNTElCU19ESVIgImxkNjQuc28uMn0iCisgI2Vsc2UKKy0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgXAorLSIle21hYmk9ZWxmdjI6JShkeW5hbWljX2xpbmtlcl9wcmVmaXgpL2xpYjY0L2xkNjQuc28uMjsiIFwKKy0iOiUoZHluYW1pY19saW5rZXJfcHJlZml4KS9saWI2NC9sZDY0LnNvLjF9IgorKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVI2NCAiJXttYWJpPWVsZnYyOiIgU1lTVEVNTElCU19ESVIgImxkNjQuc28uMjs6IiBTWVNURU1MSUJTX0RJUiAibGQ2NC5zby4xfSIKKyAjZW5kaWYKKyAKKyAjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIzMiBcCitAQCAtNDMwLDggKzQyNSw5IEBAIGV4dGVybiBpbnQgZG90X3N5bWJvbHM7CisgI2RlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSNjQgXAorICAgIi9saWIvbGQtbXVzbC1wb3dlcnBjNjQiIE1VU0xfRFlOQU1JQ19MSU5LRVJfRSAiJXttc29mdC1mbG9hdDotc2Z9LnNvLjEiCisgCistI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIzMiAiL2xpYi9sZC11Q2xpYmMuc28uMCIKKy0jZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUjY0ICIvbGliL2xkNjQtdUNsaWJjLnNvLjAiCisrI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIzMiBTWVNURU1MSUJTX0RJUiAibGQtdUNsaWJjLnNvLjAiCisrI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVI2NCBTWVNURU1MSUJTX0RJUiAibGQ2NC11Q2xpYmMuc28uMCIKKysKKyAjaWYgREVGQVVMVF9MSUJDID09IExJQkNfVUNMSUJDCisgI2RlZmluZSBDSE9PU0VfRFlOQU1JQ19MSU5LRVIoRywgVSwgTSkgXAorICAgIiV7bWdsaWJjOiIgRyAiOzole21tdXNsOiIgTSAiOzoiIFUgIn19IgorZGlmZiAtLWdpdCBhL2djYy9jb25maWcvc2gvbGludXguaCBiL2djYy9jb25maWcvc2gvbGludXguaAoraW5kZXggNmQyY2NkMDEyYmEuLmVjNzhhODljZTE1IDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9zaC9saW51eC5oCisrKysgYi9nY2MvY29uZmlnL3NoL2xpbnV4LmgKK0BAIC02NCw3ICs2NCw3IEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCisgICAiL2xpYi9sZC1tdXNsLXNoIiBNVVNMX0RZTkFNSUNfTElOS0VSX0UgTVVTTF9EWU5BTUlDX0xJTktFUl9GUCBcCisgICAiJXttZmRwaWM6LWZkcGljfS5zby4xIgorIAorLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbGludXguc28uMiIKKysjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC5zby4yIgorIAorICN1bmRlZiBTVUJUQVJHRVRfTElOS19FTVVMX1NVRkZJWAorICNkZWZpbmUgU1VCVEFSR0VUX0xJTktfRU1VTF9TVUZGSVggIiV7bWZkcGljOl9mZDs6X2xpbnV4fSIKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL3NwYXJjL2xpbnV4LmggYi9nY2MvY29uZmlnL3NwYXJjL2xpbnV4LmgKK2luZGV4IDlmYjAzYWYwZmU5Li40MDFmZGRiYmIyMiAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvc3BhcmMvbGludXguaAorKysrIGIvZ2NjL2NvbmZpZy9zcGFyYy9saW51eC5oCitAQCAtODMsNyArODMsNyBAQCBleHRlcm4gY29uc3QgY2hhciAqaG9zdF9kZXRlY3RfbG9jYWxfY3B1IChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpOworICAgIFdoZW4gdGhlIC1zaGFyZWQgbGluayBvcHRpb24gaXMgdXNlZCBhIGZpbmFsIGxpbmsgaXMgbm90IGJlaW5nCisgICAgZG9uZS4gICovCisgCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1saW51eC5zby4yIgorKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LnNvLjIiCisgCisgI3VuZGVmICBMSU5LX1NQRUMKKyAjZGVmaW5lIExJTktfU1BFQyAiLW0gZWxmMzJfc3BhcmMgJXtzaGFyZWQ6LXNoYXJlZH0gXAorZGlmZiAtLWdpdCBhL2djYy9jb25maWcvc3BhcmMvbGludXg2NC5oIGIvZ2NjL2NvbmZpZy9zcGFyYy9saW51eDY0LmgKK2luZGV4IGMxZmU0MjE2NWI3Li4yNmE3OWJmYTJlMyAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvc3BhcmMvbGludXg2NC5oCisrKysgYi9nY2MvY29uZmlnL3NwYXJjL2xpbnV4NjQuaAorQEAgLTg0LDggKzg0LDggQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKKyAgICBXaGVuIHRoZSAtc2hhcmVkIGxpbmsgb3B0aW9uIGlzIHVzZWQgYSBmaW5hbCBsaW5rIGlzIG5vdCBiZWluZworICAgIGRvbmUuICAqLworIAorLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIzMiAiL2xpYi9sZC1saW51eC5zby4yIgorLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVI2NCAiL2xpYjY0L2xkLWxpbnV4LnNvLjIiCisrI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjMyIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC5zby4yIgorKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVI2NCBTWVNURU1MSUJTX0RJUiAibGQtbGludXguc28uMiIKKyAKKyAjaWZkZWYgU1BBUkNfQklfQVJDSAorIAorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxMy1nY2MtRml4LWFyZ3VtZW50LWxpc3QtdG9vLWxvbmctZXJyb3IucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDEzLWdjYy1GaXgtYXJndW1lbnQtbGlzdC10b28tbG9uZy1lcnJvci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOWQyY2FjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxMy1nY2MtRml4LWFyZ3VtZW50LWxpc3QtdG9vLWxvbmctZXJyb3IucGF0Y2gKQEAgLTAsMCArMSw0MCBAQAorRnJvbSA5ZTgxNTk2NWZiYWE5MDEzNGJlMGU3NzdjZmMyZmJjZmFiMTZiNjc0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MjY6MzcgKzA0MDAKK1N1YmplY3Q6IFtQQVRDSCAxMy80MF0gZ2NjOiBGaXggYXJndW1lbnQgbGlzdCB0b28gbG9uZyBlcnJvci4KKworVGhlcmUgd291bGQgYmUgYW4gIkFyZ3VtZW50IGxpc3QgdG9vIGxvbmciIGVycm9yIHdoZW4gdGhlCitidWlsZCBkaXJlY3RvcnkgaXMgbG9uZ2VyIHRoYW4gMjAwLCB0aGlzIGlzIGNhdXNlZCBieToKKworaGVhZGVycz1gZWNobyAkKFBMVUdJTl9IRUFERVJTKSB8IHRyICcgJyAnXDAxMicgfCBzb3J0IC11YAorCitUaGUgUExVR0lOX0hFQURFUlMgaXMgdG9vIGxvbmcgYmVmb3JlIHNvcnQsIHNvIHRoZSAiZWNobyIgY2FuJ3QgaGFuZGxlCitpdCwgdXNlIHRoZSAkKHNvcnQgbGlzdCkgb2YgR05VIG1ha2Ugd2hpY2ggY2FuIGhhbmRsZSB0aGUgdG9vIGxvbmcgbGlzdAord291bGQgZml4IHRoZSBwcm9ibGVtLCB0aGUgaGVhZGVyIHdvdWxkIGJlIHNob3J0IGVub3VnaCBhZnRlciBzb3J0ZWQuCitUaGUgInRyICcgJyAnXDAxMiciIHdhcyB1c2VkIGZvciB0cmFuc2xhdGluZyB0aGUgc3BhY2UgdG8gIlxuIiwgdGhlCiskKHNvcnQgbGlzdCkgZG9lc24ndCBuZWVkIHRoaXMuCisKK1NpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCistLS0KKyBnY2MvTWFrZWZpbGUuaW4gfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9nY2MvTWFrZWZpbGUuaW4gYi9nY2MvTWFrZWZpbGUuaW4KK2luZGV4IDEzNjcxMzZiZmFjLi43MWE4Mjc1YzM5ZiAxMDA2NDQKKy0tLSBhL2djYy9NYWtlZmlsZS5pbgorKysrIGIvZ2NjL01ha2VmaWxlLmluCitAQCAtMzUzOCw3ICszNTM4LDcgQEAgaW5zdGFsbC1wbHVnaW46IGluc3RhbGxkaXJzIGxhbmcuaW5zdGFsbC1wbHVnaW4gcy1oZWFkZXItdmFycyBpbnN0YWxsLWdlbmd0eXBlCisgIyBXZSBrZWVwIHRoZSBkaXJlY3Rvcnkgc3RydWN0dXJlIGZvciBmaWxlcyBpbiBjb25maWcgb3IgYy1mYW1pbHkgYW5kIC5kZWYKKyAjIGZpbGVzLiBBbGwgb3RoZXIgZmlsZXMgYXJlIGZsYXR0ZW5lZCB0byBhIHNpbmdsZSBkaXJlY3RvcnkuCisgCSQobWtpbnN0YWxsZGlycykgJChERVNURElSKSQocGx1Z2luX2luY2x1ZGVkaXIpCistCWhlYWRlcnM9YGVjaG8gJChQTFVHSU5fSEVBREVSUykgJCQoY2QgJChzcmNkaXIpOyBlY2hvICouaCAqLmRlZikgfCB0ciAnICcgJ1wwMTInIHwgc29ydCAtdWA7IFwKKysJaGVhZGVycz0iJChzb3J0ICQoUExVR0lOX0hFQURFUlMpICQkKGNkICQoc3JjZGlyKTsgZWNobyAqLmggKi5kZWYpKSI7IFwKKyAJc3JjZGlyc3RyaXA9YGVjaG8gIiQoc3JjZGlyKSIgfCBzZWQgJ3MvW10uW14kJFxcKnxdL1xcXFwmL2cnYDsgXAorIAlmb3IgZmlsZSBpbiAkJGhlYWRlcnM7IGRvIFwKKyAJICBpZiBbIC1mICQkZmlsZSBdIDsgdGhlbiBcCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDE0LURpc2FibGUtc2R0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxNC1EaXNhYmxlLXNkdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYmM0NDUxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxNC1EaXNhYmxlLXNkdC5wYXRjaApAQCAtMCwwICsxLDExMyBAQAorRnJvbSAwMGM3YTdmZGQ0YjRhYWQ5ZTU3ZDhiNTQxZGUxN2FkMjA5YjZjZDA2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6Mjg6MTAgKzA0MDAKK1N1YmplY3Q6IFtQQVRDSCAxNC80MF0gRGlzYWJsZSBzZHQuCisKK1dlIGRvbid0IGxpc3QgZHRyYWNlIGluIERFUEVORFMgc28gd2Ugc2hvdWxkbid0IGJlIGRlcGVuZGluZyBvbiB0aGlzIGhlYWRlci4KK0l0IG1heSBvciBtYXkgbm90IGV4aXN0IGZyb20gcHJlaXZvdXMgYnVpbGRzIHRob3VnaC4gVG8gYmUgZGV0ZXJtaW5zdGljLCBkaXNhYmxlCitzZHQuaCB1c2FnZSBhbHdheXMuIFRoaXMgYXZvaWRzIGJ1aWxkIGZhaWx1cmVzIGlmIHRoZSBoZWFkZXIgaXMgcmVtb3ZlZCBhZnRlciBjb25maWd1cmUKK2J1dCBiZWZvcmUgbGliZ2NjIGlzIGNvbXBpbGVkIGZvciBleGFtcGxlLgorCitSUCAyMDEyLzgvNworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCitEaXNhYmxlIHNkdCBmb3IgbGlic3RkYysrLXYzLgorCitTaWduZWQtb2ZmLWJ5OiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtoYWNrXQorLS0tCisgZ2NjL2NvbmZpZ3VyZSAgICAgICAgICAgICB8IDEyICsrKysrKy0tLS0tLQorIGdjYy9jb25maWd1cmUuYWMgICAgICAgICAgfCAxOCArKysrKysrKystLS0tLS0tLS0KKyBsaWJzdGRjKystdjMvY29uZmlndXJlICAgIHwgIDYgKysrLS0tCisgbGlic3RkYysrLXYzL2NvbmZpZ3VyZS5hYyB8ICAyICstCisgNCBmaWxlcyBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUgYi9nY2MvY29uZmlndXJlCitpbmRleCAxMzRjMmMyZjE1Ni4uNTExMWVjMGFhYmIgMTAwNzU1CistLS0gYS9nY2MvY29uZmlndXJlCisrKysgYi9nY2MvY29uZmlndXJlCitAQCAtMjkyODIsMTIgKzI5MjgyLDEyIEBAIGZpCisgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBzeXMvc2R0LmggaW4gdGhlIHRhcmdldCBDIGxpYnJhcnkiID4mNQorICRhc19lY2hvX24gImNoZWNraW5nIHN5cy9zZHQuaCBpbiB0aGUgdGFyZ2V0IEMgbGlicmFyeS4uLiAiID4mNjsgfQorIGhhdmVfc3lzX3NkdF9oPW5vCistaWYgdGVzdCAtZiAkdGFyZ2V0X2hlYWRlcl9kaXIvc3lzL3NkdC5oOyB0aGVuCistICBoYXZlX3N5c19zZHRfaD15ZXMKKy0KKy0kYXNfZWNobyAiI2RlZmluZSBIQVZFX1NZU19TRFRfSCAxIiA+PmNvbmZkZWZzLmgKKy0KKy1maQorKyNpZiB0ZXN0IC1mICR0YXJnZXRfaGVhZGVyX2Rpci9zeXMvc2R0Lmg7IHRoZW4KKysjICBoYXZlX3N5c19zZHRfaD15ZXMKKysjCisrIyRhc19lY2hvICIjZGVmaW5lIEhBVkVfU1lTX1NEVF9IIDEiID4+Y29uZmRlZnMuaAorKyMKKysjZmkKKyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGhhdmVfc3lzX3NkdF9oIiA+JjUKKyAkYXNfZWNobyAiJGhhdmVfc3lzX3NkdF9oIiA+JjY7IH0KKyAKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlndXJlLmFjIGIvZ2NjL2NvbmZpZ3VyZS5hYworaW5kZXggMGMzYzgyZTRmZjcuLjNlMDlhZjkxNmZkIDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZ3VyZS5hYworKysrIGIvZ2NjL2NvbmZpZ3VyZS5hYworQEAgLTU5NDMsMTUgKzU5NDMsMTUgQEAgZmkKKyBBQ19TVUJTVChbZW5hYmxlX2RlZmF1bHRfc3NwXSkKKyAKKyAjIFRlc3QgZm9yIDxzeXMvc2R0Lmg+IG9uIHRoZSB0YXJnZXQuCistR0NDX1RBUkdFVF9URU1QTEFURShbSEFWRV9TWVNfU0RUX0hdKQorLUFDX01TR19DSEVDS0lORyhzeXMvc2R0LmggaW4gdGhlIHRhcmdldCBDIGxpYnJhcnkpCistaGF2ZV9zeXNfc2R0X2g9bm8KKy1pZiB0ZXN0IC1mICR0YXJnZXRfaGVhZGVyX2Rpci9zeXMvc2R0Lmg7IHRoZW4KKy0gIGhhdmVfc3lzX3NkdF9oPXllcworLSAgQUNfREVGSU5FKEhBVkVfU1lTX1NEVF9ILCAxLAorLSAgICAgICAgICAgIFtEZWZpbmUgaWYgeW91ciB0YXJnZXQgQyBsaWJyYXJ5IHByb3ZpZGVzIHN5cy9zZHQuaF0pCistZmkKKy1BQ19NU0dfUkVTVUxUKCRoYXZlX3N5c19zZHRfaCkKKysjR0NDX1RBUkdFVF9URU1QTEFURShbSEFWRV9TWVNfU0RUX0hdKQorKyNBQ19NU0dfQ0hFQ0tJTkcoc3lzL3NkdC5oIGluIHRoZSB0YXJnZXQgQyBsaWJyYXJ5KQorKyNoYXZlX3N5c19zZHRfaD1ubworKyNpZiB0ZXN0IC1mICR0YXJnZXRfaGVhZGVyX2Rpci9zeXMvc2R0Lmg7IHRoZW4KKysjICBoYXZlX3N5c19zZHRfaD15ZXMKKysjICBBQ19ERUZJTkUoSEFWRV9TWVNfU0RUX0gsIDEsCisrIyAgICAgICAgICAgIFtEZWZpbmUgaWYgeW91ciB0YXJnZXQgQyBsaWJyYXJ5IHByb3ZpZGVzIHN5cy9zZHQuaF0pCisrI2ZpCisrI0FDX01TR19SRVNVTFQoJGhhdmVfc3lzX3NkdF9oKQorIAorICMgQ2hlY2sgaWYgVEZtb2RlIGxvbmcgZG91YmxlIHNob3VsZCBiZSB1c2VkIGJ5IGRlZmF1bHQgb3Igbm90LgorICMgU29tZSBnbGliYyB0YXJnZXRzIHVzZWQgREZtb2RlIGxvbmcgZG91YmxlLCBidXQgd2l0aCBnbGliYyAyLjQKK2RpZmYgLS1naXQgYS9saWJzdGRjKystdjMvY29uZmlndXJlIGIvbGlic3RkYysrLXYzL2NvbmZpZ3VyZQoraW5kZXggNTUzNWJmYTJiNWEuLjEzZDc5M2Y1MDU5IDEwMDc1NQorLS0tIGEvbGlic3RkYysrLXYzL2NvbmZpZ3VyZQorKysrIGIvbGlic3RkYysrLXYzL2NvbmZpZ3VyZQorQEAgLTIxNzg2LDExICsyMTc4NiwxMSBAQCBhY19jb21waWxlPSckQ0MgLWMgJENGTEFHUyAkQ1BQRkxBR1MgY29uZnRlc3QuJGFjX2V4dCA+JjUnCisgYWNfbGluaz0nJENDIC1vIGNvbmZ0ZXN0JGFjX2V4ZWV4dCAkQ0ZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTID4mNScKKyBhY19jb21waWxlcl9nbnU9JGFjX2N2X2NfY29tcGlsZXJfZ251CisgCistICBpZiB0ZXN0ICRnbGliY3h4X2N2X3N5c19zZHRfaCA9IHllczsgdGhlbgorKyMgIGlmIHRlc3QgJGdsaWJjeHhfY3Zfc3lzX3NkdF9oID0geWVzOyB0aGVuCisgCistJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9TWVNfU0RUX0ggMSIgPj5jb25mZGVmcy5oCisrIyRhc19lY2hvICIjZGVmaW5lIEhBVkVfU1lTX1NEVF9IIDEiID4+Y29uZmRlZnMuaAorIAorLSAgZmkKKysjICBmaQorICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRnbGliY3h4X2N2X3N5c19zZHRfaCIgPiY1CisgJGFzX2VjaG8gIiRnbGliY3h4X2N2X3N5c19zZHRfaCIgPiY2OyB9CisgCitkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL2NvbmZpZ3VyZS5hYyBiL2xpYnN0ZGMrKy12My9jb25maWd1cmUuYWMKK2luZGV4IDBlZjk2MjcwYzljLi5hZmU1NWExYjIxNSAxMDA2NDQKKy0tLSBhL2xpYnN0ZGMrKy12My9jb25maWd1cmUuYWMKKysrKyBiL2xpYnN0ZGMrKy12My9jb25maWd1cmUuYWMKK0BAIC0yMzAsNyArMjMwLDcgQEAgR0xJQkNYWF9DSEVDS19TQ19OUFJPQ0VTU09SU19PTkxOCisgR0xJQkNYWF9DSEVDS19TQ19OUFJPQ19PTkxOCisgR0xJQkNYWF9DSEVDS19QVEhSRUFEU19OVU1fUFJPQ0VTU09SU19OUAorIEdMSUJDWFhfQ0hFQ0tfU1lTQ1RMX0hXX05DUFUKKy1HTElCQ1hYX0NIRUNLX1NEVF9ICisrI0dMSUJDWFhfQ0hFQ0tfU0RUX0gKKyAKKyAjIENoZWNrIGZvciBhdmFpbGFibGUgaGVhZGVycy4KKyBBQ19DSEVDS19IRUFERVJTKFtlbmRpYW4uaCBleGVjaW5mby5oIGZsb2F0LmggZnAuaCBpZWVlZnAuaCBpbnR0eXBlcy5oIFwKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMTUtbGlidG9vbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMTUtbGlidG9vbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTBmOGEyCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxNS1saWJ0b29sLnBhdGNoCkBAIC0wLDAgKzEsNDIgQEAKK0Zyb20gODBmMmIwMWIzZjkxN2NlYTA4Mjk0MzI4YzhiYmM1MWRhZGVjZTRhZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjI5OjExICswNDAwCitTdWJqZWN0OiBbUEFUQ0ggMTUvNDBdIGxpYnRvb2wKKworbGlic3RkYysrIGZyb20gZ2NjLXJ1bnRpbWUgZ2V0cyBjcmVhdGVkIHdpdGggLXJwYXRoPS91c3IvbGliLy4uL2xpYiBmb3IgcWVtdXg4Ni02NAord2hlbiBydW5uaW5nIG9uIGFtIHg4Nl82NCBidWlsZCBob3N0LgorCitUaGlzIHBhdGNoIHN0b3BzIHRoaXMgc3BlYWRpbmcgdG8gbGliZGlyIGluIHRoZSBsaWJzdGRjKysubGEgZmlsZSB3aXRoaW4gbGlidG9vbC4KK0FyZ3VhYmx5LCBpdCBzaG91bGRuJ3QgYmUgcGFzc2luZyB0aGlzIGludG8gbGlidG9vbCBpbiB0aGUgZmlyc3QgcGxhY2UgYnV0Citmb3Igbm93IHRoaXMgcmVzb2x2ZXMgdGhlIG5hc3RpZXN0IHByb2JsZW1zIHRoaXMgY2F1c2VzLgorCitmdW5jX25vcm1hbF9hYnNwYXRoIHdvdWxkIHJlc29sdmUgYW4gZW1wdHkgcGF0aCB0byBgcHdkYCBzbyB3ZSBuZWVkCit0byBmaWx0ZXIgdGhlIHplcm8gY2FzZS4KKworUlAgMjAxMi84LzI0CisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworLS0tCisgbHRtYWluLnNoIHwgNCArKysrCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvbHRtYWluLnNoIGIvbHRtYWluLnNoCitpbmRleCA5NTAzZWM4NWQ3MC4uMDEyMWZiYTcwN2YgMTAwNjQ0CistLS0gYS9sdG1haW4uc2gKKysrKyBiL2x0bWFpbi5zaAorQEAgLTYzNTksNiArNjM1OSwxMCBAQCBmdW5jX21vZGVfbGluayAoKQorIAlmdW5jX3dhcm5pbmcgImlnbm9yaW5nIG11bHRpcGxlIFxgLXJwYXRoJ3MgZm9yIGEgbGlidG9vbCBsaWJyYXJ5IgorIAorICAgICAgIGluc3RhbGxfbGliZGlyPSIkMSIKKysgICAgICBpZiB0ZXN0IC1uICIkaW5zdGFsbF9saWJkaXIiOyB0aGVuCisrCWZ1bmNfbm9ybWFsX2Fic3BhdGggIiRpbnN0YWxsX2xpYmRpciIKKysJaW5zdGFsbF9saWJkaXI9JGZ1bmNfbm9ybWFsX2Fic3BhdGhfcmVzdWx0CisrICAgICAgZmkKKyAKKyAgICAgICBvbGRsaWJzPQorICAgICAgIGlmIHRlc3QgLXogIiRycGF0aCI7IHRoZW4KKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMTYtZ2NjLWFybXY0LXBhc3MtZml4LXY0YngtdG8tbGlua2VyLXRvLXN1cHBvcnQtRUFCSS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMTYtZ2NjLWFybXY0LXBhc3MtZml4LXY0YngtdG8tbGlua2VyLXRvLXN1cHBvcnQtRUFCSS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YjFiNGQ0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxNi1nY2MtYXJtdjQtcGFzcy1maXgtdjRieC10by1saW5rZXItdG8tc3VwcG9ydC1FQUJJLnBhdGNoCkBAIC0wLDAgKzEsNDMgQEAKK0Zyb20gYTY2ZWMxZTM4MmJmODY5NzQ5NTg4ZjA3MmE0YTdjMDkwMzlmMmIzYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjMwOjMyICswNDAwCitTdWJqZWN0OiBbUEFUQ0ggMTYvNDBdIGdjYzogYXJtdjQ6IHBhc3MgZml4LXY0YnggdG8gbGlua2VyIHRvIHN1cHBvcnQgRUFCSS4KKworVGhlIExJTktfU1BFQyBmb3IgbGludXggZ2V0cyBvdmVyd3JpdHRlbiBieSBsaW51eC1lYWJpLmggd2hpY2gKK21lYW5zIHRoZSB2YWx1ZSBvZiBUQVJHRVRfRklYX1Y0QlhfU1BFQyBnZXRzIGxvc3QgYW5kIGFzIGEgcmVzdWx0Cit0aGUgb3B0aW9uIGlzIG5vdCBwYXNzZWQgdG8gbGlua2VyIHdoZW4gY2hvc2luZyBtYXJjaD1hcm12NAorVGhpcyBwYXRjaCByZWRlZmluZXMgdGhpcyBpbiBsaW51eC1lYWJpLmggYW5kIHJlaW5zZXJ0cyBpdAorZm9yIGVhYmkgZGVmYXVsdGluZyB0b29sY2hhaW5zLgorCitXZSBtaWdodCB3YW50IHRvIHNlbmQgaXQgdXBzdHJlYW0uCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworLS0tCisgZ2NjL2NvbmZpZy9hcm0vbGludXgtZWFiaS5oIHwgNiArKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmggYi9nY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmgKK2luZGV4IGIzYWY2OGNhYzU3Li4zMzBiNmUxM2M1ZiAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvYXJtL2xpbnV4LWVhYmkuaAorKysrIGIvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWFiaS5oCitAQCAtODgsMTAgKzg4LDE0IEBACisgI2RlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSIFwKKyAgICIvbGliL2xkLW11c2wtYXJtIiBNVVNMX0RZTkFNSUNfTElOS0VSX0UgIiV7bWZsb2F0LWFiaT1oYXJkOmhmfS5zby4xIgorIAorKy8qIEZvciBhcm12NCB3ZSBwYXNzIC0tZml4LXY0YnggdG8gbGlua2VyIHRvIHN1cHBvcnQgRUFCSSAqLworKyN1bmRlZiBUQVJHRVRfRklYX1Y0QlhfU1BFQworKyNkZWZpbmUgVEFSR0VUX0ZJWF9WNEJYX1NQRUMgIiV7bWNwdT1hcm04fG1jcHU9YXJtODEwfG1jcHU9c3Ryb25nYXJtKnxtYXJjaD1hcm12NDogLS1maXgtdjRieH0iCisrCisgLyogQXQgdGhpcyBwb2ludCwgYnBhYmkuaCB3aWxsIGhhdmUgY2xvYmJlcmVkIExJTktfU1BFQy4gIFdlIHdhbnQgdG8KKyAgICB1c2UgdGhlIEdOVS9MaW51eCB2ZXJzaW9uLCBub3QgdGhlIGdlbmVyaWMgQlBBQkkgdmVyc2lvbi4gICovCisgI3VuZGVmICBMSU5LX1NQRUMKKy0jZGVmaW5lIExJTktfU1BFQyBFQUJJX0xJTktfU1BFQwkJCQkJXAorKyNkZWZpbmUgTElOS19TUEVDIFRBUkdFVF9GSVhfVjRCWF9TUEVDIEVBQklfTElOS19TUEVDCQkJXAorICAgTElOVVhfT1JfQU5EUk9JRF9MRCAoTElOVVhfVEFSR0VUX0xJTktfU1BFQywJCQkJXAorIAkJICAgICAgIExJTlVYX1RBUkdFVF9MSU5LX1NQRUMgIiAiIEFORFJPSURfTElOS19TUEVDKQorIAorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxNy1Vc2UtdGhlLW11bHRpbGliLWNvbmZpZy1maWxlcy1mcm9tLUItaW5zdGVhZC1vZi11c2luLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxNy1Vc2UtdGhlLW11bHRpbGliLWNvbmZpZy1maWxlcy1mcm9tLUItaW5zdGVhZC1vZi11c2luLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4MmZlY2QKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDE3LVVzZS10aGUtbXVsdGlsaWItY29uZmlnLWZpbGVzLWZyb20tQi1pbnN0ZWFkLW9mLXVzaW4ucGF0Y2gKQEAgLTAsMCArMSwxMDIgQEAKK0Zyb20gNjI0ZGI3MzRmNjU2YWQ4Y2RmOGIzY2YzZmM4ZTg2MGI3MGM2YzI1MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjMzOjA0ICswNDAwCitTdWJqZWN0OiBbUEFUQ0ggMTcvNDBdIFVzZSB0aGUgbXVsdGlsaWIgY29uZmlnIGZpbGVzIGZyb20gJHtCfSBpbnN0ZWFkIG9mCisgdXNpbmcgdGhlIG9uZXMgZnJvbSAke1N9CisKK1VzZSB0aGUgbXVsdGlsaWIgY29uZmlnIGZpbGVzIGZyb20gJHtCfSBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBvbmVzIGZyb20gJHtTfQorc28gdGhhdCB0aGUgc291cmNlIGNhbiBiZSBzaGFyZWQgYmV0d2VlbiBnY2MtY3Jvc3MtaW5pdGlhbCwKK2djYy1jcm9zcy1pbnRlcm1lZGlhdGUsIGdjYy1jcm9zcywgZ2NjLXJ1bnRpbWUsIGFuZCBhbHNvIHRoZSBzZGsgYnVpbGQuCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBDb25zdGFudGluIE11c2NhIDxjb25zdGFudGlueC5tdXNjYUBpbnRlbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKy0tLQorIGdjYy9jb25maWd1cmUgICAgfCAyMiArKysrKysrKysrKysrKysrKystLS0tCisgZ2NjL2NvbmZpZ3VyZS5hYyB8IDIyICsrKysrKysrKysrKysrKysrKy0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlndXJlIGIvZ2NjL2NvbmZpZ3VyZQoraW5kZXggNTExMWVjMGFhYmIuLjNkOWRjYmRjOTNkIDEwMDc1NQorLS0tIGEvZ2NjL2NvbmZpZ3VyZQorKysrIGIvZ2NjL2NvbmZpZ3VyZQorQEAgLTEyMTM4LDEwICsxMjEzOCwyMCBAQCBkb25lCisgdG1ha2VfZmlsZV89CisgZm9yIGYgaW4gJHt0bWFrZV9maWxlfQorIGRvCistCWlmIHRlc3QgLWYgJHtzcmNkaXJ9L2NvbmZpZy8kZgorLQl0aGVuCistCQl0bWFrZV9maWxlXz0iJHt0bWFrZV9maWxlX30gXCQoc3JjZGlyKS9jb25maWcvJGYiCistCWZpCisrICBjYXNlICRmIGluCisrICAgICovdC1saW51eDY0ICkKKysgICAgICAgaWYgdGVzdCAtZiAuL2NvbmZpZy8kZgorKyAgICAgICB0aGVuCisrICAgICAgICAgdG1ha2VfZmlsZV89IiR7dG1ha2VfZmlsZV99IC4vY29uZmlnLyRmIgorKyAgICAgICBmaQorKyAgICAgICA7OworKyAgICAqICkKKysgICAgICAgaWYgdGVzdCAtZiAke3NyY2Rpcn0vY29uZmlnLyRmCisrICAgICAgIHRoZW4KKysgICAgICAgICB0bWFrZV9maWxlXz0iJHt0bWFrZV9maWxlX30gXCQoc3JjZGlyKS9jb25maWcvJGYiCisrICAgICAgIGZpCisrICAgICAgIDs7CisrICBlc2FjCisgZG9uZQorIHRtYWtlX2ZpbGU9IiR7dG1ha2VfZmlsZV99IgorIAorQEAgLTEyMTUyLDYgKzEyMTYyLDEwIEBAIHRtX2ZpbGVfbGlzdD0ib3B0aW9ucy5oIgorIHRtX2luY2x1ZGVfbGlzdD0ib3B0aW9ucy5oIGluc24tY29uc3RhbnRzLmgiCisgZm9yIGYgaW4gJHRtX2ZpbGU7IGRvCisgICBjYXNlICRmIGluCisrICAgICovbGludXg2NC5oICkKKysgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gLi9jb25maWcvJGYiCisrICAgICAgIHRtX2luY2x1ZGVfbGlzdD0iJHt0bV9pbmNsdWRlX2xpc3R9IC4vY29uZmlnLyRmIgorKyAgICAgICA7OworICAgICAuLyogKQorICAgICAgICBmPWBlY2hvICRmIHwgc2VkICdzL14uLi8vJ2AKKyAgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gJGYiCitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZS5hYyBiL2djYy9jb25maWd1cmUuYWMKK2luZGV4IDNlMDlhZjkxNmZkLi5lMDljODQwYjYwNSAxMDA2NDQKKy0tLSBhL2djYy9jb25maWd1cmUuYWMKKysrKyBiL2djYy9jb25maWd1cmUuYWMKK0BAIC0xOTAyLDEwICsxOTAyLDIwIEBAIGRvbmUKKyB0bWFrZV9maWxlXz0KKyBmb3IgZiBpbiAke3RtYWtlX2ZpbGV9CisgZG8KKy0JaWYgdGVzdCAtZiAke3NyY2Rpcn0vY29uZmlnLyRmCistCXRoZW4KKy0JCXRtYWtlX2ZpbGVfPSIke3RtYWtlX2ZpbGVffSBcJChzcmNkaXIpL2NvbmZpZy8kZiIKKy0JZmkKKysgIGNhc2UgJGYgaW4KKysgICAgKi90LWxpbnV4NjQgKQorKyAgICAgICBpZiB0ZXN0IC1mIC4vY29uZmlnLyRmCisrICAgICAgIHRoZW4KKysgICAgICAgICB0bWFrZV9maWxlXz0iJHt0bWFrZV9maWxlX30gLi9jb25maWcvJGYiCisrICAgICAgIGZpCisrICAgICAgIDs7CisrICAgICogKQorKyAgICAgICBpZiB0ZXN0IC1mICR7c3JjZGlyfS9jb25maWcvJGYKKysgICAgICAgdGhlbgorKyAgICAgICAgIHRtYWtlX2ZpbGVfPSIke3RtYWtlX2ZpbGVffSBcJChzcmNkaXIpL2NvbmZpZy8kZiIKKysgICAgICAgZmkKKysgICAgICAgOzsKKysgIGVzYWMKKyBkb25lCisgdG1ha2VfZmlsZT0iJHt0bWFrZV9maWxlX30iCisgCitAQCAtMTkxNiw2ICsxOTI2LDEwIEBAIHRtX2ZpbGVfbGlzdD0ib3B0aW9ucy5oIgorIHRtX2luY2x1ZGVfbGlzdD0ib3B0aW9ucy5oIGluc24tY29uc3RhbnRzLmgiCisgZm9yIGYgaW4gJHRtX2ZpbGU7IGRvCisgICBjYXNlICRmIGluCisrICAgICovbGludXg2NC5oICkKKysgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gLi9jb25maWcvJGYiCisrICAgICAgIHRtX2luY2x1ZGVfbGlzdD0iJHt0bV9pbmNsdWRlX2xpc3R9IC4vY29uZmlnLyRmIgorKyAgICAgICA7OworICAgICAuLyogKQorICAgICAgICBmPWBlY2hvICRmIHwgc2VkICdzL14uLi8vJ2AKKyAgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gJGYiCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDE4LUF2b2lkLXVzaW5nLWxpYmRpci1mcm9tLS5sYS13aGljaC11c3VhbGx5LXBvaW50cy10by0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDE4LUF2b2lkLXVzaW5nLWxpYmRpci1mcm9tLS5sYS13aGljaC11c3VhbGx5LXBvaW50cy10by0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjBlNzdkNgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMTgtQXZvaWQtdXNpbmctbGliZGlyLWZyb20tLmxhLXdoaWNoLXVzdWFsbHktcG9pbnRzLXRvLS5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIDI3Y2NhOTVkY2ZlZWFkOGM1MmQyOTJjNDgyNGVlOTZmMTc4ZDYxODMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogRnJpLCAyMCBGZWIgMjAxNSAwOTozOTozOCArMDAwMAorU3ViamVjdDogW1BBVENIIDE4LzQwXSBBdm9pZCB1c2luZyBsaWJkaXIgZnJvbSAubGEgd2hpY2ggdXN1YWxseSBwb2ludHMgdG8gYQorIGhvc3QgcGF0aAorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBKb25hdGhhbiBMaXUgPG5ldDE0N0BnbWFpbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgbHRtYWluLnNoIHwgMyArKysKKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9sdG1haW4uc2ggYi9sdG1haW4uc2gKK2luZGV4IDAxMjFmYmE3MDdmLi41MmJkYmRiNWY5YyAxMDA2NDQKKy0tLSBhL2x0bWFpbi5zaAorKysrIGIvbHRtYWluLnNoCitAQCAtNTYyOCw2ICs1NjI4LDkgQEAgZnVuY19tb2RlX2xpbmsgKCkKKyAJICAgIGFic2Rpcj0iJGFic19sYWRpciIKKyAJICAgIGxpYmRpcj0iJGFic19sYWRpciIKKyAJICBlbHNlCisrCSAgICAjIEluc3RlYWQgb2YgdXNpbmcgbGliZGlyIGZyb20gLmxhIHdoaWNoIHVzdWFsbHkgcG9pbnRzIHRvIGEgaG9zdCBwYXRoLAorKwkgICAgIyB1c2UgdGhlIHBhdGggdGhlIC5sYSBpcyBjb250YWluZWQgaW4uCisrCSAgICBsaWJkaXI9IiRhYnNfbGFkaXIiCisgCSAgICBkaXI9IiRsaWJkaXIiCisgCSAgICBhYnNkaXI9IiRsaWJkaXIiCisgCSAgZmkKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMTktZXhwb3J0LUNQUC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMTktZXhwb3J0LUNQUC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNDBjNjdhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxOS1leHBvcnQtQ1BQLnBhdGNoCkBAIC0wLDAgKzEsNTMgQEAKK0Zyb20gYTI5MzYzODJkYTgxYWVmYTliNjljMWZjNjI1ZjZjNzA2YjdlYTFkOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDIwIEZlYiAyMDE1IDA5OjQwOjU5ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMTkvNDBdIGV4cG9ydCBDUFAKKworVGhlIE9FIGVudmlyb25tZW50IHNldHMgYW5kIGV4cG9ydHMgQ1BQIGFzIGJlaW5nIHRoZSB0YXJnZXQgZ2NjLiBXaGVuCitidWlsZGluZyBnY2MtY3Jvc3MtY2FuYWRpYW4gZm9yIGEgbWluZ3cgdGFyZ2V0dGVkIHNkaywgdGhlIGZvbGxvd2luZyBjYW4gYmUgZm91bmQKK2luIGJ1aWxkLng4Nl82NC1wb2t5c2RrLW1pbmd3MzIuaTU4Ni1wb2t5LWxpbnV4L2J1aWxkLXg4Nl82NC1saW51eC9saWJpYmVydHkvY29uZmlnLmxvZzoKKworY29uZmlndXJlOjM2NDE6IGNoZWNraW5nIGZvciBfRklMRV9PRkZTRVRfQklUUyB2YWx1ZSBuZWVkZWQgZm9yIGxhcmdlIGZpbGVzCitjb25maWd1cmU6MzY2NjogZ2NjICAtYyAtaXN5c3RlbS9tZWRpYS9idWlsZDEvcG9reS9idWlsZC90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9pbmNsdWRlIC1PMiAtcGlwZSAgY29uZnRlc3QuYyA+JjUKK2NvbmZpZ3VyZTozNjY2OiAkPyA9IDAKK2NvbmZpZ3VyZTozNjk4OiByZXN1bHQ6IG5vCitjb25maWd1cmU6Mzc4NjogY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNzb3IKK2NvbmZpZ3VyZTozODU2OiByZXN1bHQ6IHg4Nl82NC1wb2t5c2RrLW1pbmd3MzItZ2NjIC1FIC0tc3lzcm9vdD0vbWVkaWEvYnVpbGQxL3Bva3kvYnVpbGQvdG1wL3N5c3Jvb3RzL3g4Nl82NC1uYXRpdmVzZGstbWluZ3czMi1wb2t5c2RrLW1pbmd3MzIKK2NvbmZpZ3VyZTozODc2OiB4ODZfNjQtcG9reXNkay1taW5ndzMyLWdjYyAtRSAtLXN5c3Jvb3Q9L21lZGlhL2J1aWxkMS9wb2t5L2J1aWxkL3RtcC9zeXNyb290cy94ODZfNjQtbmF0aXZlc2RrLW1pbmd3MzItcG9reXNkay1taW5ndzMyIGNvbmZ0ZXN0LmMKK2NvbmZpZ3VyZTozODc2OiAkPyA9IDAKKworTm90ZSB0aGlzIGlzIGEgKmJ1aWxkKiB0YXJnZXQgKGluIGJ1aWxkLXg4Nl82NC1saW51eCkgc28gaXQgc2hvdWxkIGJlCit1c2luZyB0aGUgaG9zdCAiZ2NjIiwgbm90IHg4Nl82NC1wb2t5c2RrLW1pbmd3MzItZ2NjLiBTaW5jZSB0aGUgbWluZ3czMgoraGVhZGVycyBhcmUgdmVyeSBkaWZmZXJlbnQsIHVzaW5nIHRoZSB3cm9uZyBjcHAgaXMgYSByZWFsIHByb2JsZW0uIEl0IGlzIGxlYWtpbmcKK2ludG8gY29uZmlndXJlIHRocm91Z2ggdGhlIENQUCB2YXJpYWJsZS4gVWx0aW1hdGVseSB0aGlzIGxlYWRzIHRvIGJ1aWxkCitmYWlsdXJlcyByZWxhdGVkIHRvIG5vdCBiZWluZyBhYmxlIHRvIGluY2x1ZGUgYSBwcm9jZXNzLmggZmlsZSBmb3IgcGVtLXVuaXguYy4KKworVGhlIGZpeCBpcyB0byBlbnN1cmUgd2UgZXhwb3J0IGEgc2FuZSBDUFAgdmFsdWUgaW50byB0aGUgYnVpbGQKK2Vudmlyb25tZW50IHdoZW4gdXNpbmcgYnVpbGQgdGFyZ2V0cy4gV2UgY291bGQgZGVmaW5lIGEgQ1BQX0ZPUl9CVUlMRCB2YWx1ZSB3aGljaCBtYXkgYmUKK3RoZSB2ZXJzaW9uIHdoaWNoIG5lZWRzIHRvIGJlIHVwc3RyZWFtZWQgYnV0IGZvciBub3csIHRoaXMgZml4IGlzIGdvb2QgZW5vdWdoIHRvCithdm9pZCB0aGUgcHJvYmxlbS4KKworUlAgMjIvMDgvMjAxMworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIE1ha2VmaWxlLmluIHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZS5pbiBiL01ha2VmaWxlLmluCitpbmRleCAzODc3NGY1NDJhNi4uYjQyNmQ0ZjkzNTAgMTAwNjQ0CistLS0gYS9NYWtlZmlsZS5pbgorKysrIGIvTWFrZWZpbGUuaW4KK0BAIC0xNDksNiArMTQ5LDcgQEAgQlVJTERfRVhQT1JUUyA9IFwKKyAJQVI9IiQoQVJfRk9SX0JVSUxEKSI7IGV4cG9ydCBBUjsgXAorIAlBUz0iJChBU19GT1JfQlVJTEQpIjsgZXhwb3J0IEFTOyBcCisgCUNDPSIkKENDX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ0M7IFwKKysJQ1BQPSIkKENDX0ZPUl9CVUlMRCkgLUUiOyBleHBvcnQgQ1BQOyBcCisgCUNGTEFHUz0iJChDRkxBR1NfRk9SX0JVSUxEKSI7IGV4cG9ydCBDRkxBR1M7IFwKKyAJQ09ORklHX1NIRUxMPSIkKFNIRUxMKSI7IGV4cG9ydCBDT05GSUdfU0hFTEw7IFwKKyAJQ1hYPSIkKENYWF9GT1JfQlVJTEQpIjsgZXhwb3J0IENYWDsgXAorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyMC1EaXNhYmxlLXRoZS1NVUxUSUxJQl9PU0RJUk5BTUVTLWFuZC1vdGhlci1tdWx0aWxpYi1vLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyMC1EaXNhYmxlLXRoZS1NVUxUSUxJQl9PU0RJUk5BTUVTLWFuZC1vdGhlci1tdWx0aWxpYi1vLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyMjU1N2UKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDIwLURpc2FibGUtdGhlLU1VTFRJTElCX09TRElSTkFNRVMtYW5kLW90aGVyLW11bHRpbGliLW8ucGF0Y2gKQEAgLTAsMCArMSw0MiBAQAorRnJvbSBkNDMyNmFiNzRhMzYyYjBmYzgzZWQ4NjZmODJjMzU5Mzg5YTM2YWRjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjAgRmViIDIwMTUgMTA6MjE6NTUgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCAyMC80MF0gRGlzYWJsZSB0aGUgTVVMVElMSUJfT1NESVJOQU1FUyBhbmQgb3RoZXIgbXVsdGlsaWIKKyBvcHRpb25zLgorCitIYXJkIGNvZGluZyB0aGUgTVVMVElMSUJfT1NESVJOQU1FUyB3aXRoIC4uL2xpYjY0IGlzIGNhdXNpbmcgcHJvYmxlbXMgb24KK3N5c3RlbXMgd2hlcmUgdGhlIGxpYmRpciBpcyBOT1Qgc2V0IHRvIC9saWI2NC4gIFRoaXMgaXMgYWxsb3dlZCBieSB0aGUKK0FCSSwgYXMKK2xvbmcgYXMgdGhlIGR5bmFtaWMgbG9hZGVyIGlzIHByZXNlbnQgaW4gL2xpYi4KKworV2Ugc2ltcGx5IHdhbnQgdG8gdXNlIHRoZSBkZWZhdWx0IHJ1bGVzIGluIGdjYyB0byBmaW5kIGFuZCBjb25maWd1cmUgdGhlCitub3JtYWwgbGliZGlyLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGVbT0UtU3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBnY2MvY29uZmlnL2FhcmNoNjQvdC1hYXJjaDY0LWxpbnV4IHwgOCArKysrLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FhcmNoNjQvdC1hYXJjaDY0LWxpbnV4IGIvZ2NjL2NvbmZpZy9hYXJjaDY0L3QtYWFyY2g2NC1saW51eAoraW5kZXggYjk4OTc3ODVhODkuLjdkMDZmMGQwZWRiIDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9hYXJjaDY0L3QtYWFyY2g2NC1saW51eAorKysrIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L3QtYWFyY2g2NC1saW51eAorQEAgLTIxLDggKzIxLDggQEAKKyBMSUIxQVNNU1JDICAgPSBhYXJjaDY0L2xpYjFmdW5jcy5hc20KKyBMSUIxQVNNRlVOQ1MgPSBfYWFyY2g2NF9zeW5jX2NhY2hlX3JhbmdlCisgCistQUFSQ0hfQkUgPSAkKGlmICQoZmluZHN0cmluZyBUQVJHRVRfQklHX0VORElBTl9ERUZBVUxUPTEsICQodG1fZGVmaW5lcykpLF9iZSkKKy1NVUxUSUxJQl9PU0RJUk5BTUVTID0gbWFiaS5scDY0PS4uL2xpYjY0JChjYWxsIGlmX211bHRpYXJjaCw6YWFyY2g2NCQoQUFSQ0hfQkUpLWxpbnV4LWdudSkKKy1NVUxUSUFSQ0hfRElSTkFNRSA9ICQoY2FsbCBpZl9tdWx0aWFyY2gsYWFyY2g2NCQoQUFSQ0hfQkUpLWxpbnV4LWdudSkKKysjQUFSQ0hfQkUgPSAkKGlmICQoZmluZHN0cmluZyBUQVJHRVRfQklHX0VORElBTl9ERUZBVUxUPTEsICQodG1fZGVmaW5lcykpLF9iZSkKKysjTVVMVElMSUJfT1NESVJOQU1FUyA9IG1hYmkubHA2ND0uLi9saWI2NCQoY2FsbCBpZl9tdWx0aWFyY2gsOmFhcmNoNjQkKEFBUkNIX0JFKS1saW51eC1nbnUpCisrI01VTFRJQVJDSF9ESVJOQU1FID0gJChjYWxsIGlmX211bHRpYXJjaCxhYXJjaDY0JChBQVJDSF9CRSktbGludXgtZ251KQorIAorLU1VTFRJTElCX09TRElSTkFNRVMgKz0gbWFiaS5pbHAzMj0uLi9saWJpbHAzMiQoY2FsbCBpZl9tdWx0aWFyY2gsOmFhcmNoNjQkKEFBUkNIX0JFKS1saW51eC1nbnVfaWxwMzIpCisrI01VTFRJTElCX09TRElSTkFNRVMgKz0gbWFiaS5pbHAzMj0uLi9saWJpbHAzMiQoY2FsbCBpZl9tdWx0aWFyY2gsOmFhcmNoNjQkKEFBUkNIX0JFKS1saW51eC1nbnVfaWxwMzIpCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDIxLUVuc3VyZS10YXJnZXQtZ2NjLWhlYWRlcnMtY2FuLWJlLWluY2x1ZGVkLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyMS1FbnN1cmUtdGFyZ2V0LWdjYy1oZWFkZXJzLWNhbi1iZS1pbmNsdWRlZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MGQ3MjY5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyMS1FbnN1cmUtdGFyZ2V0LWdjYy1oZWFkZXJzLWNhbi1iZS1pbmNsdWRlZC5wYXRjaApAQCAtMCwwICsxLDk4IEBACitGcm9tIDQ3NmVkYTkwNTRkZjQ0M2QwOTQyNzNjOGI2MWZjZTYzZDk0MGFkZmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogRnJpLCAyMCBGZWIgMjAxNSAxMDoyNToxMSArMDAwMAorU3ViamVjdDogW1BBVENIIDIxLzQwXSBFbnN1cmUgdGFyZ2V0IGdjYyBoZWFkZXJzIGNhbiBiZSBpbmNsdWRlZAorCitUaGVyZSBhcmUgYSBmZXcgaGVhZGVycyBpbnN0YWxsZWQgYXMgcGFydCBvZiB0aGUgT3BlbkVtYmVkZGVkCitnY2MtcnVudGltZSB0YXJnZXQgKG9tcC5oLCBzc3AvKi5oKS4gQmVpbmcgaW5zdGFsbGVkIGZyb20gYSByZWNpcGUKK2J1aWx0IGZvciB0aGUgdGFyZ2V0IGFyY2hpdGVjdHVyZSwgdGhlc2UgYXJlIHdpdGhpbiB0aGUgdGFyZ2V0CitzeXNyb290IGFuZCBub3QgY3Jvc3MvbmF0aXZlc2RrOyB0aHVzIHRoZXkgd2VyZW4ndCBhYmxlIHRvIGJlCitmb3VuZCBieSBnY2Mgd2l0aCB0aGUgZXhpc3Rpbmcgc2VhcmNoIHBhdGhzLiBBZGQgc3VwcG9ydCBmb3IKK3BpY2tpbmcgdXAgdGhlc2UgaGVhZGVycyB1bmRlciB0aGUgc3lzcm9vdCBzdXBwbGllZCBvbiB0aGUgZ2NjCitjb21tYW5kIGxpbmUgaW4gb3JkZXIgdG8gcmVzb2x2ZSB0aGlzLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogUGF1bCBFZ2dsZXRvbiA8cGF1bC5lZ2dsZXRvbkBsaW51eC5pbnRlbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgZ2NjL01ha2VmaWxlLmluICB8IDIgKysKKyBnY2MvY3BwZGVmYXVsdC5jIHwgNCArKysrCisgZ2NjL2RlZmF1bHRzLmggICB8IDkgKysrKysrKysrCisgZ2NjL2djYy5jICAgICAgICB8IDcgLS0tLS0tLQorIDQgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2djYy9NYWtlZmlsZS5pbiBiL2djYy9NYWtlZmlsZS5pbgoraW5kZXggNzFhODI3NWMzOWYuLjVhZTY5M2ZiMDZjIDEwMDY0NAorLS0tIGEvZ2NjL01ha2VmaWxlLmluCisrKysgYi9nY2MvTWFrZWZpbGUuaW4KK0BAIC02MTQsNiArNjE0LDcgQEAgbGliZXhlY2RpciA9IEBsaWJleGVjZGlyQAorIAorICMgRGlyZWN0b3J5IGluIHdoaWNoIHRoZSBjb21waWxlciBmaW5kcyBsaWJyYXJpZXMgZXRjLgorIGxpYnN1YmRpciA9ICQobGliZGlyKS9nY2MvJChyZWFsX3RhcmdldF9ub25jYW5vbmljYWwpLyQodmVyc2lvbikkKGFjY2VsX2Rpcl9zdWZmaXgpCisrbGlic3ViZGlyX3RhcmdldCA9IGdjYy8kKHRhcmdldF9ub25jYW5vbmljYWwpLyQodmVyc2lvbikKKyAjIERpcmVjdG9yeSBpbiB3aGljaCB0aGUgY29tcGlsZXIgZmluZHMgZXhlY3V0YWJsZXMKKyBsaWJleGVjc3ViZGlyID0gJChsaWJleGVjZGlyKS9nY2MvJChyZWFsX3RhcmdldF9ub25jYW5vbmljYWwpLyQodmVyc2lvbikkKGFjY2VsX2Rpcl9zdWZmaXgpCisgIyBEaXJlY3RvcnkgaW4gd2hpY2ggYWxsIHBsdWdpbiByZXNvdXJjZXMgYXJlIGluc3RhbGxlZAorQEAgLTI4NzAsNiArMjg3MSw3IEBAIENGTEFHUy1pbnRsLm8gKz0gLURMT0NBTEVESVI9XCIkKGxvY2FsZWRpcilcIgorIAorIFBSRVBST0NFU1NPUl9ERUZJTkVTID0gXAorICAgLURHQ0NfSU5DTFVERV9ESVI9XCIkKGxpYnN1YmRpcikvaW5jbHVkZVwiIFwKKysgIC1ER0NDX0lOQ0xVREVfU1VCRElSX1RBUkdFVD1cIiQobGlic3ViZGlyX3RhcmdldCkvaW5jbHVkZVwiIFwKKyAgIC1ERklYRURfSU5DTFVERV9ESVI9XCIkKGxpYnN1YmRpcikvaW5jbHVkZS1maXhlZFwiIFwKKyAgIC1ER1BMVVNQTFVTX0lOQ0xVREVfRElSPVwiJChnY2NfZ3h4X2luY2x1ZGVfZGlyKVwiIFwKKyAgIC1ER1BMVVNQTFVTX0lOQ0xVREVfRElSX0FERF9TWVNST09UPSQoZ2NjX2d4eF9pbmNsdWRlX2Rpcl9hZGRfc3lzcm9vdCkgXAorZGlmZiAtLWdpdCBhL2djYy9jcHBkZWZhdWx0LmMgYi9nY2MvY3BwZGVmYXVsdC5jCitpbmRleCBiMzZhOTc5ZDViYS4uZTJlMTg3ZGVkYWYgMTAwNjQ0CistLS0gYS9nY2MvY3BwZGVmYXVsdC5jCisrKysgYi9nY2MvY3BwZGVmYXVsdC5jCitAQCAtNTksNiArNTksMTAgQEAgY29uc3Qgc3RydWN0IGRlZmF1bHRfaW5jbHVkZSBjcHBfaW5jbHVkZV9kZWZhdWx0c1tdCisgICAgIC8qIFRoaXMgaXMgdGhlIGRpciBmb3IgZ2NjJ3MgcHJpdmF0ZSBoZWFkZXJzLiAgKi8KKyAgICAgeyBHQ0NfSU5DTFVERV9ESVIsICJHQ0MiLCAwLCAwLCAwLCAwIH0sCisgI2VuZGlmCisrI2lmZGVmIEdDQ19JTkNMVURFX1NVQkRJUl9UQVJHRVQKKysgICAgLyogVGhpcyBpcyB0aGUgZGlyIGZvciBnY2MncyBwcml2YXRlIGhlYWRlcnMgdW5kZXIgdGhlIHNwZWNpZmllZCBzeXNyb290LiAgKi8KKysgICAgeyBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzIgR0NDX0lOQ0xVREVfU1VCRElSX1RBUkdFVCwgIkdDQyIsIDAsIDAsIDEsIDAgfSwKKysjZW5kaWYKKyAjaWZkZWYgTE9DQUxfSU5DTFVERV9ESVIKKyAgICAgLyogL3Vzci9sb2NhbC9pbmNsdWRlIGNvbWVzIGJlZm9yZSB0aGUgZml4aW5jbHVkZWQgaGVhZGVyIGZpbGVzLiAgKi8KKyAgICAgeyBMT0NBTF9JTkNMVURFX0RJUiwgMCwgMCwgMSwgMSwgMiB9LAorZGlmZiAtLWdpdCBhL2djYy9kZWZhdWx0cy5oIGIvZ2NjL2RlZmF1bHRzLmgKK2luZGV4IDkwMzViMzMzYmU4Li41OTgyYmJkYTYxZCAxMDA2NDQKKy0tLSBhL2djYy9kZWZhdWx0cy5oCisrKysgYi9nY2MvZGVmYXVsdHMuaAorQEAgLTE0NTUsNCArMTQ1NSwxMyBAQCBzZWUgdGhlIGZpbGVzIENPUFlJTkczIGFuZCBDT1BZSU5HLlJVTlRJTUUgcmVzcGVjdGl2ZWx5LiAgSWYgbm90LCBzZWUKKyAjZGVmaW5lIERXQVJGX0dOQVRfRU5DT0RJTkdTX0RFRkFVTFQgRFdBUkZfR05BVF9FTkNPRElOR1NfR0RCCisgI2VuZGlmCisgCisrLyogRGVmYXVsdCBwcmVmaXhlcyB0byBhdHRhY2ggdG8gY29tbWFuZCBuYW1lcy4gICovCisrCisrI2lmbmRlZiBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzEKKysjZGVmaW5lIFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMSAiL2xpYi8iCisrI2VuZGlmCisrI2lmbmRlZiBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzIKKysjZGVmaW5lIFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMiAiL3Vzci9saWIvIgorKyNlbmRpZgorKworICNlbmRpZiAgLyogISBHQ0NfREVGQVVMVFNfSCAqLworZGlmZiAtLWdpdCBhL2djYy9nY2MuYyBiL2djYy9nY2MuYworaW5kZXggNTcwY2RjMDAwMzQuLjNmYjY0ZDQ1M2YxIDEwMDY0NAorLS0tIGEvZ2NjL2djYy5jCisrKysgYi9nY2MvZ2NjLmMKK0BAIC0xNDY0LDEzICsxNDY0LDYgQEAgc3RhdGljIGNvbnN0IGNoYXIgKmdjY19saWJleGVjX3ByZWZpeDsKKyAKKyAvKiBEZWZhdWx0IHByZWZpeGVzIHRvIGF0dGFjaCB0byBjb21tYW5kIG5hbWVzLiAgKi8KKyAKKy0jaWZuZGVmIFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMQorLSNkZWZpbmUgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8xICIvbGliLyIKKy0jZW5kaWYKKy0jaWZuZGVmIFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMgorLSNkZWZpbmUgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8yICIvdXNyL2xpYi8iCistI2VuZGlmCistCisgI2lmZGVmIENST1NTX0RJUkVDVE9SWV9TVFJVQ1RVUkUgIC8qIERvbid0IHVzZSB0aGVzZSBwcmVmaXhlcyBmb3IgYSBjcm9zcyBjb21waWxlci4gICovCisgI3VuZGVmIE1EX0VYRUNfUFJFRklYCisgI3VuZGVmIE1EX1NUQVJURklMRV9QUkVGSVgKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMjItZ2NjLTQuOC13b24tdC1idWlsZC13aXRoLWRpc2FibGUtZGVwZW5kZW5jeS10cmFja2luZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMjItZ2NjLTQuOC13b24tdC1idWlsZC13aXRoLWRpc2FibGUtZGVwZW5kZW5jeS10cmFja2luZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZjBkM2YxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyMi1nY2MtNC44LXdvbi10LWJ1aWxkLXdpdGgtZGlzYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nLnBhdGNoCkBAIC0wLDAgKzEsNTQgQEAKK0Zyb20gYmMxOTJmMGEwN2FkODE5ZGVlOTM0NDZjNWVmNjg5NWQ5NTUwZDkyZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDIwIEZlYiAyMDE1IDExOjE3OjE5ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMjIvNDBdIGdjYyA0LjgrIHdvbid0IGJ1aWxkIHdpdGggLS1kaXNhYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcKKworc2luY2UgdGhlICouUHBvIGZpbGVzIGRvbid0IGdldCBjcmVhdGVkIHVubGVzcyAtLWVuYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nIGlzIHRydWUuCisKK1RoaXMgcGF0Y2ggZW5zdXJlcyB3ZSBvbmx5IHVzZSB0aG9zZSBjb21waWxlciBvcHRpb25zIHdoZW4gaXRzIGVuYWJsZWQuCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkCisKKyhQcm9ibGVtIHdhcyBhbHJlYWR5IHJlcG9ydGVkIHVwc3RyZWFtLCBhdHRhY2hlZCB0aGlzIHBhdGNoIHRoZXJlCitodHRwOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTU1OTMwKQorCitSUAorMjAxMi8wOS8yMgorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgbGliYXRvbWljL01ha2VmaWxlLmFtIHwgMyArKy0KKyBsaWJhdG9taWMvTWFrZWZpbGUuaW4gfCAzICsrLQorIDIgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliYXRvbWljL01ha2VmaWxlLmFtIGIvbGliYXRvbWljL01ha2VmaWxlLmFtCitpbmRleCA4MDNiMjkyY2NlNS4uYjQ3ODQyZWI1OTAgMTAwNjQ0CistLS0gYS9saWJhdG9taWMvTWFrZWZpbGUuYW0KKysrKyBiL2xpYmF0b21pYy9NYWtlZmlsZS5hbQorQEAgLTEwMSw3ICsxMDEsOCBAQCBQQVRfUwkJPSAkKHdvcmQgMywkKFBBVF9TUExJVCkpCisgSUZVTkNfREVGCT0gLURJRlVOQ19BTFQ9JChQQVRfUykKKyBJRlVOQ19PUFQJPSAkKHdvcmQgJChQQVRfUyksJChJRlVOQ19PUFRJT05TKSkKKyAKKy1NX0RFUFMJCT0gLU1UICRAIC1NRCAtTVAgLU1GICQoREVQRElSKS8kKEBGKS5QcG8KKytAQU1ERVBfVFJVRUBNX0RFUFMJCT0gLU1UICRAIC1NRCAtTVAgLU1GICQoREVQRElSKS8kKEBGKS5QcG8KKytAQU1ERVBfRkFMU0VATV9ERVBTCQk9CisgTV9TSVpFCQk9IC1ETj0kKFBBVF9OKQorIE1fSUZVTkMJCT0gJChpZiAkKFBBVF9TKSwkKElGVU5DX0RFRikgJChJRlVOQ19PUFQpKQorIE1fRklMRQkJPSAkKFBBVF9CQVNFKV9uLmMKK2RpZmYgLS1naXQgYS9saWJhdG9taWMvTWFrZWZpbGUuaW4gYi9saWJhdG9taWMvTWFrZWZpbGUuaW4KK2luZGV4IGM4ZjM4YmU1ODM1Li40ZmFiN2NlYzNlYSAxMDA2NDQKKy0tLSBhL2xpYmF0b21pYy9NYWtlZmlsZS5pbgorKysrIGIvbGliYXRvbWljL01ha2VmaWxlLmluCitAQCAtMzM1LDcgKzMzNSw4IEBAIFBBVF9OID0gJCh3b3JkIDIsJChQQVRfU1BMSVQpKQorIFBBVF9TID0gJCh3b3JkIDMsJChQQVRfU1BMSVQpKQorIElGVU5DX0RFRiA9IC1ESUZVTkNfQUxUPSQoUEFUX1MpCisgSUZVTkNfT1BUID0gJCh3b3JkICQoUEFUX1MpLCQoSUZVTkNfT1BUSU9OUykpCistTV9ERVBTID0gLU1UICRAIC1NRCAtTVAgLU1GICQoREVQRElSKS8kKEBGKS5QcG8KKytAQU1ERVBfVFJVRUBNX0RFUFMgPSAtTVQgJEAgLU1EIC1NUCAtTUYgJChERVBESVIpLyQoQEYpLlBwbworK0BBTURFUF9GQUxTRUBNX0RFUFMgPQorIE1fU0laRSA9IC1ETj0kKFBBVF9OKQorIE1fSUZVTkMgPSAkKGlmICQoUEFUX1MpLCQoSUZVTkNfREVGKSAkKElGVU5DX09QVCkpCisgTV9GSUxFID0gJChQQVRfQkFTRSlfbi5jCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDIzLURvbi10LXNlYXJjaC1ob3N0LWRpcmVjdG9yeS1kdXJpbmctcmVsaW5rLWlmLWluc3RfcHIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDIzLURvbi10LXNlYXJjaC1ob3N0LWRpcmVjdG9yeS1kdXJpbmctcmVsaW5rLWlmLWluc3RfcHIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmUzZjM0MwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMjMtRG9uLXQtc2VhcmNoLWhvc3QtZGlyZWN0b3J5LWR1cmluZy1yZWxpbmstaWYtaW5zdF9wci5wYXRjaApAQCAtMCwwICsxLDM4IEBACitGcm9tIDA0MDlkMmRkNzMyMmVjYmVkNzMxY2JlMjliMDM0ZmVhNDNjNWRkZGMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVHVlLCAzIE1hciAyMDE1IDA4OjIxOjE5ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMjMvNDBdIERvbid0IHNlYXJjaCBob3N0IGRpcmVjdG9yeSBkdXJpbmcgInJlbGluayIgaWYKKyAkaW5zdF9wcmVmaXggaXMgcHJvdmlkZWQKKworaHR0cDovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2xpYnRvb2wtcGF0Y2hlcy8yMDExLTAxL21zZzAwMDI2Lmh0bWwKKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGx0bWFpbi5zaCB8IDUgKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbHRtYWluLnNoIGIvbHRtYWluLnNoCitpbmRleCA1MmJkYmRiNWY5Yy4uODJiY2VjMzlmMDUgMTAwNjQ0CistLS0gYS9sdG1haW4uc2gKKysrKyBiL2x0bWFpbi5zaAorQEAgLTYwMDQsMTIgKzYwMDQsMTMgQEAgZnVuY19tb2RlX2xpbmsgKCkKKyAJICAgICAgZmkKKyAJICAgIGVsc2UKKyAJICAgICAgIyBXZSBjYW5ub3Qgc2VlbSB0byBoYXJkY29kZSBpdCwgZ3Vlc3Mgd2UnbGwgZmFrZSBpdC4KKysJICAgICAgIyBEZWZhdWx0IGlmICRsaWJkaXIgaXMgbm90IHJlbGF0aXZlIHRvIHRoZSBwcmVmaXg6CisgCSAgICAgIGFkZF9kaXI9Ii1MJGxpYmRpciIKKy0JICAgICAgIyBUcnkgbG9va2luZyBmaXJzdCBpbiB0aGUgbG9jYXRpb24gd2UncmUgYmVpbmcgaW5zdGFsbGVkIHRvLgorKworIAkgICAgICBpZiB0ZXN0IC1uICIkaW5zdF9wcmVmaXhfZGlyIjsgdGhlbgorIAkJY2FzZSAkbGliZGlyIGluCisgCQkgIFtcXC9dKikKKy0JCSAgICBhZGRfZGlyPSIkYWRkX2RpciAtTCRpbnN0X3ByZWZpeF9kaXIkbGliZGlyIgorKwkJICAgIGFkZF9kaXI9Ii1MJGluc3RfcHJlZml4X2RpciRsaWJkaXIiCisgCQkgICAgOzsKKyAJCWVzYWMKKyAJICAgICAgZmkKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMjQtVXNlLVNZU1RFTUxJQlNfRElSLXJlcGxhY2VtZW50LWluc3RlYWQtb2YtaGFyZGNvZGluZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMjQtVXNlLVNZU1RFTUxJQlNfRElSLXJlcGxhY2VtZW50LWluc3RlYWQtb2YtaGFyZGNvZGluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMzg4YTBhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyNC1Vc2UtU1lTVEVNTElCU19ESVItcmVwbGFjZW1lbnQtaW5zdGVhZC1vZi1oYXJkY29kaW5nLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0Zyb20gNTZlMmUxZmMyYTI3YzRhNWNjOWI0NzFkNWQwYWY5MGJjYjg3MWJmYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDI4IEFwciAyMDE1IDIzOjE1OjI3IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0ggMjQvNDBdIFVzZSBTWVNURU1MSUJTX0RJUiByZXBsYWNlbWVudCBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgYmFzZV9saWJkaXIKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBnY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1saW51eC5oIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtbGludXguaCBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmgKK2luZGV4IGJmMTMyN2U5OGNjLi42NDQzNjE4M2JjOCAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmgKKysrKyBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmgKK0BAIC0yMSw3ICsyMSw3IEBACisgI2lmbmRlZiBHQ0NfQUFSQ0g2NF9MSU5VWF9ICisgI2RlZmluZSBHQ0NfQUFSQ0g2NF9MSU5VWF9ICisgCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1saW51eC1hYXJjaDY0JXttYmlnLWVuZGlhbjpfYmV9JXttYWJpPWlscDMyOl9pbHAzMn0uc28uMSIKKysjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSICBTWVNURU1MSUJTX0RJUiAibGQtbGludXgtYWFyY2g2NCV7bWJpZy1lbmRpYW46X2JlfSV7bWFiaT1pbHAzMjpfaWxwMzJ9LnNvLjEiCisgCisgI3VuZGVmIE1VU0xfRFlOQU1JQ19MSU5LRVIKKyAjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbXVzbC1hYXJjaDY0JXttYmlnLWVuZGlhbjpfYmV9JXttYWJpPWlscDMyOl9pbHAzMn0uc28uMSIKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMjUtYWFyY2g2NC1BZGQtc3VwcG9ydC1mb3ItbXVzbC1sZHNvLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyNS1hYXJjaDY0LUFkZC1zdXBwb3J0LWZvci1tdXNsLWxkc28ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDNmOTcyNQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMjUtYWFyY2g2NC1BZGQtc3VwcG9ydC1mb3ItbXVzbC1sZHNvLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0Zyb20gYjE0MmU3N2U0NGUxYWNlY2U2ZGE1NGNjZGMyNGM0ZGE4OWNmNGI5OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDI4IEFwciAyMDE1IDIzOjE4OjM5IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0ggMjUvNDBdIGFhcmNoNjQ6IEFkZCBzdXBwb3J0IGZvciBtdXNsIGxkc28KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBnY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1saW51eC5oIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtbGludXguaCBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmgKK2luZGV4IDY0NDM2MTgzYmM4Li5iYTE1NjY3NjAyNiAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmgKKysrKyBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmgKK0BAIC0yNCw3ICsyNCw3IEBACisgI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiAgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LWFhcmNoNjQle21iaWctZW5kaWFuOl9iZX0le21hYmk9aWxwMzI6X2lscDMyfS5zby4xIgorIAorICN1bmRlZiBNVVNMX0RZTkFNSUNfTElOS0VSCistI2RlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSICIvbGliL2xkLW11c2wtYWFyY2g2NCV7bWJpZy1lbmRpYW46X2JlfSV7bWFiaT1pbHAzMjpfaWxwMzJ9LnNvLjEiCisrI2RlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSICBTWVNURU1MSUJTX0RJUiAibGQtbXVzbC1hYXJjaDY0JXttYmlnLWVuZGlhbjpfYmV9JXttYWJpPWlscDMyOl9pbHAzMn0uc28uMSIKKyAKKyAjdW5kZWYgIEFTQU5fQ0MxX1NQRUMKKyAjZGVmaW5lIEFTQU5fQ0MxX1NQRUMgIiV7JTpzYW5pdGl6ZShhZGRyZXNzKTotZnVud2luZC10YWJsZXN9IgorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyNi1saWJjYzEtZml4LWxpYmNjMS1zLWluc3RhbGwtcGF0aC1hbmQtcnBhdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDI2LWxpYmNjMS1maXgtbGliY2MxLXMtaW5zdGFsbC1wYXRoLWFuZC1ycGF0aC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NTkxNzM4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyNi1saWJjYzEtZml4LWxpYmNjMS1zLWluc3RhbGwtcGF0aC1hbmQtcnBhdGgucGF0Y2gKQEAgLTAsMCArMSw1NCBAQAorRnJvbSAzZDRlNTNmYzdjZDcxY2UxMTgxYWY4YTVlOTY1NTM5ODg1N2FmNzQxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBTdW4sIDUgSnVsIDIwMTUgMjA6MjU6MTggLTA3MDAKK1N1YmplY3Q6IFtQQVRDSCAyNi80MF0gbGliY2MxOiBmaXggbGliY2MxJ3MgaW5zdGFsbCBwYXRoIGFuZCBycGF0aAorCisqIEluc3RhbGwgbGliY2MxLnNvIGFuZCBsaWJjYzFwbHVnaW4uc28gaW50bworICAkKGxpYmV4ZWNkaXIpL2djYy8kKHRhcmdldF9ub25jYW5vbmljYWwpLyQoZ2NjX3ZlcnNpb24pLCBhcyB3aGF0IHdlCisgIGhhZCBkb25lIHRvIGx0by1wbHVnaW4uCisqIEZpeCBiYWQgUlBBVEggaXVzc3VlOgorICBnY2MtNS4yLjA6IHBhY2thZ2UgZ2NjLXBsdWdpbnMgY29udGFpbnMgYmFkIFJQQVRIIC9wYXRodC90by90bXAvc3lzcm9vdHMvcWVtdXg4Ni02NC91c3IvbGliNjQvLi4vbGliNjQgaW4gZmlsZQorIC9wYXRoL3RvL2djYy81LjIuMC1yMC9wYWNrYWdlcy1zcGxpdC9nY2MtcGx1Z2lucy91c3IvbGliNjQvZ2NjL3g4Nl82NC1wb2t5LWxpbnV4LzUuMi4wL3BsdWdpbi9saWJjYzFwbHVnaW4uc28uMC4wLjAKKyBbcnBhdGhzXQorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIGNvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgbGliY2MxL01ha2VmaWxlLmFtIHwgNCArKy0tCisgbGliY2MxL01ha2VmaWxlLmluIHwgNCArKy0tCisgMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWJjYzEvTWFrZWZpbGUuYW0gYi9saWJjYzEvTWFrZWZpbGUuYW0KK2luZGV4IDZlY2I2NmI0MzY1Li42MzRjY2UzYzJhOSAxMDA2NDQKKy0tLSBhL2xpYmNjMS9NYWtlZmlsZS5hbQorKysrIGIvbGliY2MxL01ha2VmaWxlLmFtCitAQCAtMzcsOCArMzcsOCBAQCBsaWJpYmVydHkgPSAkKGlmICQod2lsZGNhcmQgJChsaWJpYmVydHlfbm9hc2FuKSksJChXYykkKGxpYmliZXJ0eV9ub2FzYW4pLCBcCisgCSAgICAkKFdjKSQobGliaWJlcnR5X25vcm1hbCkpKQorIGxpYmliZXJ0eV9kZXAgPSAkKHBhdHN1YnN0ICQoV2MpJSwlLCQobGliaWJlcnR5KSkKKyAKKy1wbHVnaW5kaXIgPSAkKGxpYmRpcikvZ2NjLyQodGFyZ2V0X25vbmNhbm9uaWNhbCkvJChnY2NfdmVyc2lvbikvcGx1Z2luCistY2MxbGliZGlyID0gJChsaWJkaXIpLyQobGlic3VmZml4KQorK2NjMWxpYmRpciA9ICQobGliZXhlY2RpcikvZ2NjLyQodGFyZ2V0X25vbmNhbm9uaWNhbCkvJChnY2NfdmVyc2lvbikKKytwbHVnaW5kaXIgPSAkKGNjMWxpYmRpcikKKyAKKyBpZiBFTkFCTEVfUExVR0lOCisgcGx1Z2luX0xUTElCUkFSSUVTID0gbGliY2MxcGx1Z2luLmxhIGxpYmNwMXBsdWdpbi5sYQorZGlmZiAtLWdpdCBhL2xpYmNjMS9NYWtlZmlsZS5pbiBiL2xpYmNjMS9NYWtlZmlsZS5pbgoraW5kZXggNDdiZTEwMDI1YWQuLjhkNTQ4MWQ4N2JkIDEwMDY0NAorLS0tIGEvbGliY2MxL01ha2VmaWxlLmluCisrKysgYi9saWJjYzEvTWFrZWZpbGUuaW4KK0BAIC0zMDMsOCArMzAzLDggQEAgbGliaWJlcnR5ID0gJChpZiAkKHdpbGRjYXJkICQobGliaWJlcnR5X25vYXNhbikpLCQoV2MpJChsaWJpYmVydHlfbm9hc2FuKSwgXAorIAkgICAgJChXYykkKGxpYmliZXJ0eV9ub3JtYWwpKSkKKyAKKyBsaWJpYmVydHlfZGVwID0gJChwYXRzdWJzdCAkKFdjKSUsJSwkKGxpYmliZXJ0eSkpCistcGx1Z2luZGlyID0gJChsaWJkaXIpL2djYy8kKHRhcmdldF9ub25jYW5vbmljYWwpLyQoZ2NjX3ZlcnNpb24pL3BsdWdpbgorLWNjMWxpYmRpciA9ICQobGliZGlyKS8kKGxpYnN1ZmZpeCkKKytjYzFsaWJkaXIgPSAkKGxpYmV4ZWNkaXIpL2djYy8kKHRhcmdldF9ub25jYW5vbmljYWwpLyQoZ2NjX3ZlcnNpb24pCisrcGx1Z2luZGlyID0gJChjYzFsaWJkaXIpCisgQEVOQUJMRV9QTFVHSU5fVFJVRUBwbHVnaW5fTFRMSUJSQVJJRVMgPSBsaWJjYzFwbHVnaW4ubGEgbGliY3AxcGx1Z2luLmxhCisgQEVOQUJMRV9QTFVHSU5fVFJVRUBjYzFsaWJfTFRMSUJSQVJJRVMgPSBsaWJjYzEubGEKKyBzaGFyZWRfc291cmNlID0gY2FsbGJhY2tzLmNjIGNhbGxiYWNrcy5oaCBjb25uZWN0aW9uLmNjIGNvbm5lY3Rpb24uaGggXAorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyNy1oYW5kbGUtc3lzcm9vdC1zdXBwb3J0LWZvci1uYXRpdmVzZGstZ2NjLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyNy1oYW5kbGUtc3lzcm9vdC1zdXBwb3J0LWZvci1uYXRpdmVzZGstZ2NjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiOTU1ZGUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDI3LWhhbmRsZS1zeXNyb290LXN1cHBvcnQtZm9yLW5hdGl2ZXNkay1nY2MucGF0Y2gKQEAgLTAsMCArMSwyMTMgQEAKK0Zyb20gYzAzM2MxZGYxMWI2OTIyMTNkMDNkYjkxZDZjYzE0NWI0YWRlZGZhYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBNb24sIDcgRGVjIDIwMTUgMjM6Mzk6NTQgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCAyNy80MF0gaGFuZGxlIHN5c3Jvb3Qgc3VwcG9ydCBmb3IgbmF0aXZlc2RrLWdjYworCitCZWluZyBhYmxlIHRvIGJ1aWxkIGEgbmF0aXZlc2RrIGdjYyBpcyB1c2VmdWwsIHBhcnRpY3VsYXJseSBpbiBjYXNlcword2hlcmUgdGhlIGhvc3QgY29tcGlsZXIgbWF5IGJlIG9mIGFuIGluY29tcGF0aWJsZSB2ZXJzaW9uIChvciBhIDMyCitiaXQgY29tcGlsZXIgaXMgbmVlZGVkKS4KKworU2FkbHksIGJ1aWxkaW5nIG5hdGl2ZXNkay1nY2MgaXMgbm90IHN0cmFpZ2h0IGZvcndhcmQuIFdlIGluc3RhbGwKK25hdGl2ZXNkay1nY2MgaW50byBhIHJlbG9jYXRhYmxlIGxvY2F0aW9uIGFuZCB0aGlzIG1lYW5zIHRoYXQgaXRzCitsaWJyYXJ5IGxvY2F0aW9ucyBjYW4gY2hhbmdlLiAiTm9ybWFsIiBzeXNyb290IHN1cHBvcnQgZG9lc24ndCBoZWxwCitpbiB0aGlzIGNhc2Ugc2luY2UgdGhlIHZhbHVlcyBvZiBwYXRocyBsaWtlICJsaWJkaXIiIGNoYW5nZSwgbm90IGp1c3QKK2Jhc2Ugcm9vdCBkaXJlY3Rvcnkgb2YgdGhlIHN5c3RlbS4KKworSW4gb3JkZXIgdG8gaGFuZGxlIHRoaXMgd2UgZG8gdHdvIHRoaW5nczoKKworYSkgQWRkICVyIGludG8gc3BlYyBmaWxlIG1hcmt1cCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgaW5qZWN0ZWQgcGF0aHMKKyAgIHN1Y2ggYXMgU1lTVEVNTElCU19ESVIgKHNlZSBnY2NfbXVsdGlsaWJfc2V0dXAoKSkuCitiKSBBZGQgb3RoZXIgcGF0aHMgd2hpY2ggbmVlZCByZWxvY2F0aW9uIGludG8gYSAuZ2NjcmVsb2NwcmVmaXggc2VjdGlvbgorICAgd2hpY2ggdGhlIHJlbG9jYXRpb24gY29kZSB3aWxsIG5vdGljZSBhbmQgYWRqdXN0IGF1dG9tYXRpY2FsbHkuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZQorUlAgMjAxNS83LzI4CisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBnY2MvY3BwZGVmYXVsdC5jIHwgNTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCisgZ2NjL2NwcGRlZmF1bHQuaCB8ICAzICsrLQorIGdjYy9nY2MuYyAgICAgICAgfCAyMCArKysrKysrKysrKysrLS0tLS0tCisgMyBmaWxlcyBjaGFuZ2VkLCA1MyBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2djYy9jcHBkZWZhdWx0LmMgYi9nY2MvY3BwZGVmYXVsdC5jCitpbmRleCBlMmUxODdkZWRhZi4uMmZhYmEyYjFkNjMgMTAwNjQ0CistLS0gYS9nY2MvY3BwZGVmYXVsdC5jCisrKysgYi9nY2MvY3BwZGVmYXVsdC5jCitAQCAtMzUsNiArMzUsMzAgQEAKKyAjIHVuZGVmIENST1NTX0lOQ0xVREVfRElSCisgI2VuZGlmCisgCisrc3RhdGljIGNoYXIgR1BMVVNQTFVTX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IEdQTFVTUExVU19JTkNMVURFX0RJUjsKKytzdGF0aWMgY2hhciBHQ0NfSU5DTFVERV9ESVJWQVJbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gR0NDX0lOQ0xVREVfRElSOworK3N0YXRpYyBjaGFyIEdQTFVTUExVU19UT09MX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IEdQTFVTUExVU19UT09MX0lOQ0xVREVfRElSOworK3N0YXRpYyBjaGFyIEdQTFVTUExVU19CQUNLV0FSRF9JTkNMVURFX0RJUlZBUls0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBHUExVU1BMVVNfQkFDS1dBUkRfSU5DTFVERV9ESVI7Cisrc3RhdGljIGNoYXIgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8yVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMiBHQ0NfSU5DTFVERV9TVUJESVJfVEFSR0VUOworKyNpZmRlZiBMT0NBTF9JTkNMVURFX0RJUgorK3N0YXRpYyBjaGFyIExPQ0FMX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IExPQ0FMX0lOQ0xVREVfRElSOworKyNlbmRpZgorKyNpZmRlZiBQUkVGSVhfSU5DTFVERV9ESVIKKytzdGF0aWMgY2hhciBQUkVGSVhfSU5DTFVERV9ESVJWQVJbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gUFJFRklYX0lOQ0xVREVfRElSOworKyNlbmRpZgorKyNpZmRlZiBGSVhFRF9JTkNMVURFX0RJUgorK3N0YXRpYyBjaGFyIEZJWEVEX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IEZJWEVEX0lOQ0xVREVfRElSOworKyNlbmRpZgorKyNpZmRlZiBDUk9TU19JTkNMVURFX0RJUgorK3N0YXRpYyBjaGFyIENST1NTX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IENST1NTX0lOQ0xVREVfRElSOworKyNlbmRpZgorKyNpZmRlZiBUT09MX0lOQ0xVREVfRElSCisrc3RhdGljIGNoYXIgVE9PTF9JTkNMVURFX0RJUlZBUls0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBUT09MX0lOQ0xVREVfRElSOworKyNlbmRpZgorKyNpZmRlZiBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVIKKytzdGF0aWMgY2hhciBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVJWQVJbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gTkFUSVZFX1NZU1RFTV9IRUFERVJfRElSOworKyNlbmRpZgorKworIGNvbnN0IHN0cnVjdCBkZWZhdWx0X2luY2x1ZGUgY3BwX2luY2x1ZGVfZGVmYXVsdHNbXQorICNpZmRlZiBJTkNMVURFX0RFRkFVTFRTCisgPSBJTkNMVURFX0RFRkFVTFRTOworQEAgLTQyLDM4ICs2NiwzOCBAQCBjb25zdCBzdHJ1Y3QgZGVmYXVsdF9pbmNsdWRlIGNwcF9pbmNsdWRlX2RlZmF1bHRzW10KKyA9IHsKKyAjaWZkZWYgR1BMVVNQTFVTX0lOQ0xVREVfRElSCisgICAgIC8qIFBpY2sgdXAgR05VIEMrKyBnZW5lcmljIGluY2x1ZGUgZmlsZXMuICAqLworLSAgICB7IEdQTFVTUExVU19JTkNMVURFX0RJUiwgIkcrKyIsIDEsIDEsCisrICAgIHsgR1BMVVNQTFVTX0lOQ0xVREVfRElSVkFSLCAiRysrIiwgMSwgMSwKKyAgICAgICBHUExVU1BMVVNfSU5DTFVERV9ESVJfQUREX1NZU1JPT1QsIDAgfSwKKyAjZW5kaWYKKyAjaWZkZWYgR1BMVVNQTFVTX1RPT0xfSU5DTFVERV9ESVIKKyAgICAgLyogUGljayB1cCBHTlUgQysrIHRhcmdldC1kZXBlbmRlbnQgaW5jbHVkZSBmaWxlcy4gICovCistICAgIHsgR1BMVVNQTFVTX1RPT0xfSU5DTFVERV9ESVIsICJHKysiLCAxLCAxLAorKyAgICB7IEdQTFVTUExVU19UT09MX0lOQ0xVREVfRElSVkFSLCAiRysrIiwgMSwgMSwKKyAgICAgICBHUExVU1BMVVNfSU5DTFVERV9ESVJfQUREX1NZU1JPT1QsIDEgfSwKKyAjZW5kaWYKKyAjaWZkZWYgR1BMVVNQTFVTX0JBQ0tXQVJEX0lOQ0xVREVfRElSCisgICAgIC8qIFBpY2sgdXAgR05VIEMrKyBiYWNrd2FyZCBhbmQgZGVwcmVjYXRlZCBpbmNsdWRlIGZpbGVzLiAgKi8KKy0gICAgeyBHUExVU1BMVVNfQkFDS1dBUkRfSU5DTFVERV9ESVIsICJHKysiLCAxLCAxLAorKyAgICB7IEdQTFVTUExVU19CQUNLV0FSRF9JTkNMVURFX0RJUlZBUiwgIkcrKyIsIDEsIDEsCisgICAgICAgR1BMVVNQTFVTX0lOQ0xVREVfRElSX0FERF9TWVNST09ULCAwIH0sCisgI2VuZGlmCisgI2lmZGVmIEdDQ19JTkNMVURFX0RJUgorICAgICAvKiBUaGlzIGlzIHRoZSBkaXIgZm9yIGdjYydzIHByaXZhdGUgaGVhZGVycy4gICovCistICAgIHsgR0NDX0lOQ0xVREVfRElSLCAiR0NDIiwgMCwgMCwgMCwgMCB9LAorKyAgICB7IEdDQ19JTkNMVURFX0RJUlZBUiwgIkdDQyIsIDAsIDAsIDAsIDAgfSwKKyAjZW5kaWYKKyAjaWZkZWYgR0NDX0lOQ0xVREVfU1VCRElSX1RBUkdFVAorICAgICAvKiBUaGlzIGlzIHRoZSBkaXIgZm9yIGdjYydzIHByaXZhdGUgaGVhZGVycyB1bmRlciB0aGUgc3BlY2lmaWVkIHN5c3Jvb3QuICAqLworLSAgICB7IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMiBHQ0NfSU5DTFVERV9TVUJESVJfVEFSR0VULCAiR0NDIiwgMCwgMCwgMSwgMCB9LAorKyAgICB7IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMlZBUiwgIkdDQyIsIDAsIDAsIDEsIDAgfSwKKyAjZW5kaWYKKyAjaWZkZWYgTE9DQUxfSU5DTFVERV9ESVIKKyAgICAgLyogL3Vzci9sb2NhbC9pbmNsdWRlIGNvbWVzIGJlZm9yZSB0aGUgZml4aW5jbHVkZWQgaGVhZGVyIGZpbGVzLiAgKi8KKy0gICAgeyBMT0NBTF9JTkNMVURFX0RJUiwgMCwgMCwgMSwgMSwgMiB9LAorLSAgICB7IExPQ0FMX0lOQ0xVREVfRElSLCAwLCAwLCAxLCAxLCAwIH0sCisrICAgIHsgTE9DQUxfSU5DTFVERV9ESVJWQVIsIDAsIDAsIDEsIDEsIDIgfSwKKysgICAgeyBMT0NBTF9JTkNMVURFX0RJUlZBUiwgMCwgMCwgMSwgMSwgMCB9LAorICNlbmRpZgorICNpZmRlZiBQUkVGSVhfSU5DTFVERV9ESVIKKy0gICAgeyBQUkVGSVhfSU5DTFVERV9ESVIsIDAsIDAsIDEsIDAsIDAgfSwKKysgICAgeyBQUkVGSVhfSU5DTFVERV9ESVJWQVIsIDAsIDAsIDEsIDAsIDAgfSwKKyAjZW5kaWYKKyAjaWZkZWYgRklYRURfSU5DTFVERV9ESVIKKyAgICAgLyogVGhpcyBpcyB0aGUgZGlyIGZvciBmaXhpbmNsdWRlcy4gICovCistICAgIHsgRklYRURfSU5DTFVERV9ESVIsICJHQ0MiLCAwLCAwLCAwLAorKyAgICB7IEZJWEVEX0lOQ0xVREVfRElSVkFSLCAiR0NDIiwgMCwgMCwgMCwKKyAgICAgICAvKiBBIG11bHRpbGliIHN1ZmZpeCBuZWVkcyBhZGRpbmcgaWYgZGlmZmVyZW50IG11bHRpbGlicyB1c2UKKyAJIGRpZmZlcmVudCBoZWFkZXJzLiAgKi8KKyAjaWZkZWYgU1lTUk9PVF9IRUFERVJTX1NVRkZJWF9TUEVDCitAQCAtODUsMTYgKzEwOSwxNiBAQCBjb25zdCBzdHJ1Y3QgZGVmYXVsdF9pbmNsdWRlIGNwcF9pbmNsdWRlX2RlZmF1bHRzW10KKyAjZW5kaWYKKyAjaWZkZWYgQ1JPU1NfSU5DTFVERV9ESVIKKyAgICAgLyogT25lIHBsYWNlIHRoZSB0YXJnZXQgc3lzdGVtJ3MgaGVhZGVycyBtaWdodCBiZS4gICovCistICAgIHsgQ1JPU1NfSU5DTFVERV9ESVIsICJHQ0MiLCAwLCAwLCAwLCAwIH0sCisrICAgIHsgQ1JPU1NfSU5DTFVERV9ESVJWQVIsICJHQ0MiLCAwLCAwLCAwLCAwIH0sCisgI2VuZGlmCisgI2lmZGVmIFRPT0xfSU5DTFVERV9ESVIKKyAgICAgLyogQW5vdGhlciBwbGFjZSB0aGUgdGFyZ2V0IHN5c3RlbSdzIGhlYWRlcnMgbWlnaHQgYmUuICAqLworLSAgICB7IFRPT0xfSU5DTFVERV9ESVIsICJCSU5VVElMUyIsIDAsIDEsIDAsIDAgfSwKKysgICAgeyBUT09MX0lOQ0xVREVfRElSVkFSLCAiQklOVVRJTFMiLCAwLCAxLCAwLCAwIH0sCisgI2VuZGlmCisgI2lmZGVmIE5BVElWRV9TWVNURU1fSEVBREVSX0RJUgorICAgICAvKiAvdXNyL2luY2x1ZGUgY29tZXMgZGVhZCBsYXN0LiAgKi8KKy0gICAgeyBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVIsIE5BVElWRV9TWVNURU1fSEVBREVSX0NPTVBPTkVOVCwgMCwgMCwgMSwgMiB9LAorLSAgICB7IE5BVElWRV9TWVNURU1fSEVBREVSX0RJUiwgTkFUSVZFX1NZU1RFTV9IRUFERVJfQ09NUE9ORU5ULCAwLCAwLCAxLCAwIH0sCisrICAgIHsgTkFUSVZFX1NZU1RFTV9IRUFERVJfRElSVkFSLCBOQVRJVkVfU1lTVEVNX0hFQURFUl9DT01QT05FTlQsIDAsIDAsIDEsIDIgfSwKKysgICAgeyBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVJWQVIsIE5BVElWRV9TWVNURU1fSEVBREVSX0NPTVBPTkVOVCwgMCwgMCwgMSwgMCB9LAorICNlbmRpZgorICAgICB7IDAsIDAsIDAsIDAsIDAsIDAgfQorICAgfTsKK2RpZmYgLS1naXQgYS9nY2MvY3BwZGVmYXVsdC5oIGIvZ2NjL2NwcGRlZmF1bHQuaAoraW5kZXggNGEwMTg2ZDFjZjIuLjI5ZTVkOWRhMGRjIDEwMDY0NAorLS0tIGEvZ2NjL2NwcGRlZmF1bHQuaAorKysrIGIvZ2NjL2NwcGRlZmF1bHQuaAorQEAgLTMzLDcgKzMzLDggQEAKKyAKKyBzdHJ1Y3QgZGVmYXVsdF9pbmNsdWRlCisgeworLSAgY29uc3QgY2hhciAqY29uc3QgZm5hbWU7CS8qIFRoZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkuICAqLworKyAgY29uc3QgY2hhciAqZm5hbWU7ICAgICAvKiBUaGUgbmFtZSBvZiB0aGUgZGlyZWN0b3J5LiAgKi8KKysKKyAgIGNvbnN0IGNoYXIgKmNvbnN0IGNvbXBvbmVudDsJLyogVGhlIGNvbXBvbmVudCBjb250YWluaW5nIHRoZSBkaXJlY3RvcnkKKyAJCQkJICAgKHNlZSB1cGRhdGVfcGF0aCBpbiBwcmVmaXguYykgKi8KKyAgIGNvbnN0IGNoYXIgY3BsdXNwbHVzOwkJLyogT25seSBsb29rIGhlcmUgaWYgd2UncmUgY29tcGlsaW5nIEMrKy4gICovCitkaWZmIC0tZ2l0IGEvZ2NjL2djYy5jIGIvZ2NjL2djYy5jCitpbmRleCAzZmI2NGQ0NTNmMS4uY2QwYzdmYmU5NjEgMTAwNjQ0CistLS0gYS9nY2MvZ2NjLmMKKysrKyBiL2djYy9nY2MuYworQEAgLTI0OCw2ICsyNDgsOCBAQCBGSUxFICpyZXBvcnRfdGltZXNfdG9fZmlsZSA9IE5VTEw7CisgI2VuZGlmCisgc3RhdGljIGNvbnN0IGNoYXIgKnRhcmdldF9zeXN0ZW1fcm9vdCA9IERFRkFVTFRfVEFSR0VUX1NZU1RFTV9ST09UOworIAorK3N0YXRpYyBjaGFyIHRhcmdldF9yZWxvY2F0YWJsZV9wcmVmaXhbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gU1lTVEVNTElCU19ESVI7CisrCisgLyogTm9uemVybyBtZWFucyBwYXNzIHRoZSB1cGRhdGVkIHRhcmdldF9zeXN0ZW1fcm9vdCB0byB0aGUgY29tcGlsZXIuICAqLworIAorIHN0YXRpYyBpbnQgdGFyZ2V0X3N5c3RlbV9yb290X2NoYW5nZWQ7CitAQCAtNTE5LDYgKzUyMSw3IEBAIG9yIHdpdGggY29uc3RhbnQgdGV4dCBpbiBhIHNpbmdsZSBhcmd1bWVudC4KKyAgJUcgICAgIHByb2Nlc3MgTElCR0NDX1NQRUMgYXMgYSBzcGVjLgorICAlUiAgICAgT3V0cHV0IHRoZSBjb25jYXRlbmF0aW9uIG9mIHRhcmdldF9zeXN0ZW1fcm9vdCBhbmQKKyAgICAgICAgIHRhcmdldF9zeXNyb290X3N1ZmZpeC4KKysgJXIgICAgIE91dHB1dCB0aGUgYmFzZSBwYXRoIHRhcmdldF9yZWxvY2F0YWJsZV9wcmVmaXgKKyAgJVMgICAgIHByb2Nlc3MgU1RBUlRGSUxFX1NQRUMgYXMgYSBzcGVjLiAgQSBjYXBpdGFsIFMgaXMgYWN0dWFsbHkgdXNlZCBoZXJlLgorICAlRSAgICAgcHJvY2VzcyBFTkRGSUxFX1NQRUMgYXMgYSBzcGVjLiAgQSBjYXBpdGFsIEUgaXMgYWN0dWFsbHkgdXNlZCBoZXJlLgorICAlQyAgICAgcHJvY2VzcyBDUFBfU1BFQyBhcyBhIHNwZWMuCitAQCAtMTQ4NywxMCArMTQ5MCwxMCBAQCBzdGF0aWMgY29uc3QgY2hhciAqZ2NjX2xpYmV4ZWNfcHJlZml4OworICAgIGdjY19leGVjX3ByZWZpeCBpcyBzZXQgYmVjYXVzZSwgaW4gdGhhdCBjYXNlLCB3ZSBrbm93IHdoZXJlIHRoZQorICAgIGNvbXBpbGVyIGhhcyBiZWVuIGluc3RhbGxlZCwgYW5kIHVzZSBwYXRocyByZWxhdGl2ZSB0byB0aGF0CisgICAgbG9jYXRpb24gaW5zdGVhZC4gICovCistc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX2V4ZWNfcHJlZml4ID0gU1RBTkRBUkRfRVhFQ19QUkVGSVg7Cistc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX2xpYmV4ZWNfcHJlZml4ID0gU1RBTkRBUkRfTElCRVhFQ19QUkVGSVg7Cistc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX2JpbmRpcl9wcmVmaXggPSBTVEFOREFSRF9CSU5ESVJfUFJFRklYOworLXN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBzdGFuZGFyZF9zdGFydGZpbGVfcHJlZml4ID0gU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWDsKKytzdGF0aWMgY2hhciBzdGFuZGFyZF9leGVjX3ByZWZpeFs0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBTVEFOREFSRF9FWEVDX1BSRUZJWDsKKytzdGF0aWMgY2hhciBzdGFuZGFyZF9saWJleGVjX3ByZWZpeFs0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBTVEFOREFSRF9MSUJFWEVDX1BSRUZJWDsKKytzdGF0aWMgY2hhciBzdGFuZGFyZF9iaW5kaXJfcHJlZml4WzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IFNUQU5EQVJEX0JJTkRJUl9QUkVGSVg7Cisrc3RhdGljIGNoYXIgKmNvbnN0IHN0YW5kYXJkX3N0YXJ0ZmlsZV9wcmVmaXggPSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYOworIAorIC8qIEZvciBuYXRpdmUgY29tcGlsZXJzLCB0aGVzZSBhcmUgd2VsbC1rbm93biBwYXRocyBjb250YWluaW5nCisgICAgY29tcG9uZW50cyB0aGF0IG1heSBiZSBwcm92aWRlZCBieSB0aGUgc3lzdGVtLiAgRm9yIGNyb3NzCitAQCAtMTQ5OCw5ICsxNTAxLDkgQEAgc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX3N0YXJ0ZmlsZV9wcmVmaXggPSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYOworIHN0YXRpYyBjb25zdCBjaGFyICptZF9leGVjX3ByZWZpeCA9IE1EX0VYRUNfUFJFRklYOworIHN0YXRpYyBjb25zdCBjaGFyICptZF9zdGFydGZpbGVfcHJlZml4ID0gTURfU1RBUlRGSUxFX1BSRUZJWDsKKyBzdGF0aWMgY29uc3QgY2hhciAqbWRfc3RhcnRmaWxlX3ByZWZpeF8xID0gTURfU1RBUlRGSUxFX1BSRUZJWF8xOworLXN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBzdGFuZGFyZF9zdGFydGZpbGVfcHJlZml4XzEKKytzdGF0aWMgY2hhciBzdGFuZGFyZF9zdGFydGZpbGVfcHJlZml4XzFbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpCisgICA9IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMTsKKy1zdGF0aWMgY29uc3QgY2hhciAqY29uc3Qgc3RhbmRhcmRfc3RhcnRmaWxlX3ByZWZpeF8yCisrc3RhdGljIGNoYXIgc3RhbmRhcmRfc3RhcnRmaWxlX3ByZWZpeF8yWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKQorICAgPSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzI7CisgCisgLyogQSByZWxhdGl2ZSBwYXRoIHRvIGJlIHVzZWQgaW4gZmluZGluZyB0aGUgbG9jYXRpb24gb2YgdG9vbHMKK0BAIC01ODQ5LDYgKzU4NTIsMTEgQEAgZG9fc3BlY18xIChjb25zdCBjaGFyICpzcGVjLCBpbnQgaW5zd2l0Y2gsIGNvbnN0IGNoYXIgKnNvZnRfbWF0Y2hlZF9wYXJ0KQorIAkgICAgICB9CisgCSAgICBicmVhazsKKyAKKysgICAgICAgICAgY2FzZSAncic6CisrICAgICAgICAgICAgICBvYnN0YWNrX2dyb3cgKCZvYnN0YWNrLCB0YXJnZXRfcmVsb2NhdGFibGVfcHJlZml4LAorKwkJICAgICAgc3RybGVuICh0YXJnZXRfcmVsb2NhdGFibGVfcHJlZml4KSk7CisrICAgICAgICAgICAgYnJlYWs7CisrCisgCSAgY2FzZSAnUyc6CisgCSAgICB2YWx1ZSA9IGRvX3NwZWNfMSAoc3RhcnRmaWxlX3NwZWMsIDAsIE5VTEwpOworIAkgICAgaWYgKHZhbHVlICE9IDApCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDI4LVNlYXJjaC10YXJnZXQtc3lzcm9vdC1nY2MtdmVyc2lvbi1zcGVjaWZpYy1kaXJzLXdpdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDI4LVNlYXJjaC10YXJnZXQtc3lzcm9vdC1nY2MtdmVyc2lvbi1zcGVjaWZpYy1kaXJzLXdpdGgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWIyNWQ3OAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMjgtU2VhcmNoLXRhcmdldC1zeXNyb290LWdjYy12ZXJzaW9uLXNwZWNpZmljLWRpcnMtd2l0aC5wYXRjaApAQCAtMCwwICsxLDEwMiBAQAorRnJvbSA2MjI0MGQ0YzcyNWVhMGI0M2FiZmI5MDFkZGFkOTBlODNlMjlhMjVjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgNyBEZWMgMjAxNSAyMzo0MTo0NSArMDAwMAorU3ViamVjdDogW1BBVENIIDI4LzQwXSBTZWFyY2ggdGFyZ2V0IHN5c3Jvb3QgZ2NjIHZlcnNpb24gc3BlY2lmaWMgZGlycyB3aXRoCisgbXVsdGlsaWIuCisKK1dlIGluc3RhbGwgdGhlIGdjYyBsaWJyYXJpZXMgKHN1Y2ggYXMgY3J0YmVnaW4ucCkgaW50bworPHN5c3Jvb3Q+PGxpYmRpcj4vPHRhcmdldC1zeXM+LzUuMi4wLword2hpY2ggaXMgYSBkZWZhdWx0IHNlYXJjaCBwYXRoIGZvciBHQ0MgKGFrYSBtdWx0aV9zdWZmaXggaW4gdGhlCitjb2RlIGJlbG93KS4gPHRhcmdldC1zeXM+IGlzICdtYWNoaW5lJyBpbiBnY2MncyB0ZXJtaW5vbG9neS4gV2UgdXNlCit0aGVzZSBkaXJlY3RvcmllcyBzbyB0aGF0IG11bHRpcGxlIGdjYyB2ZXJzaW9ucyBjb3VsZCBpbiB0aGVvcnkKK2NvLWV4aXN0IG9uIHRhcmdldC4KKworV2Ugb25seSB3YW50IHRvIGJ1aWxkIG9uZSBnY2MtY3Jvc3MtY2FuYWRpYW4gcGVyIGFyY2ggYW5kIGhhdmUgdGhpcyB3b3JrCitmb3IgYWxsIG11bHRpbGlicy4gPHRhcmdldC1zeXM+IGNhbiBiZSBoYW5kbGVkIGJ5IG1hcHBpbmcgdGhlIG11bHRpbGliCis8dGFyZ2V0LXN5cz4gdG8gdGhlIG9uZSB1c2VkIGJ5IGdjYy1jcm9zcy1jYW5hZGlhbiwgZS5nLgorbWlwczY0LXBvbGttbGxpYjMyLWxpbnV4CitpcyBzeW1saW5rZWQgdG8gYnkgbWlwczY0LXBva3ktbGludXguCisKK1RoZSBkZWZhdWx0IGdjYyBzZWFyY2ggcGF0aCBpbiB0aGUgdGFyZ2V0IHN5c3Jvb3QgZm9yIGEgImxpYjY0IiBtdXRsaWxpYgoraXM6CisKKzxzeXNyb290Pi9saWIzMi9taXBzNjQtcG9reS1saW51eC81LjIuMC8KKzxzeXNyb290Pi9saWIzMi8uLi9saWI2NC8KKzxzeXNyb290Pi91c3IvbGliMzIvbWlwczY0LXBva3ktbGludXgvNS4yLjAvCis8c3lzcm9vdD4vdXNyL2xpYjMyLy4uL2xpYjY0LworPHN5c3Jvb3Q+L2xpYjMyLworPHN5c3Jvb3Q+L3Vzci9saWIzMi8KKword2hpY2ggbWVhbnMgdGhhdCB0aGUgbGliMzIgY3J0YmVnaW4ubyB3aWxsIGJlIGZvdW5kIGFuZCB0aGUgbGliNjQgb25lcword2lsbCBub3Qgd2hpY2ggbGVhZHMgdG8gY29tcGlsZXIgZmFpbHVyZXMuCisKK1RoaXMgcGF0Y2ggaW5qZWN0cyBhIG11bHRpbGliIHZlcnNpb24gb2YgdGhhdCBwYXRoIGZpcnN0IHNvIHRoZSBsaWI2NAorYmluYXJpZXMgY2FuIGJlIGZvdW5kIGZpcnN0LiBXaXRoIHRoaXMgY2hhbmdlIHRoZSBzZWFyY2ggcGF0aCBiZWNvbWVzOgorCis8c3lzcm9vdD4vbGliMzIvLi4vbGliNjQvbWlwczY0LXBva3ktbGludXgvNS4yLjAvCis8c3lzcm9vdD4vbGliMzIvbWlwczY0LXBva3ktbGludXgvNS4yLjAvCis8c3lzcm9vdD4vbGliMzIvLi4vbGliNjQvCis8c3lzcm9vdD4vdXNyL2xpYjMyLy4uL2xpYjY0L21pcHM2NC1wb2t5LWxpbnV4LzUuMi4wLworPHN5c3Jvb3Q+L3Vzci9saWIzMi9taXBzNjQtcG9reS1saW51eC81LjIuMC8KKzxzeXNyb290Pi91c3IvbGliMzIvLi4vbGliNjQvCis8c3lzcm9vdD4vbGliMzIvCis8c3lzcm9vdD4vdXNyL2xpYjMyLworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1JQIDIwMTUvNy8zMQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgZ2NjL2djYy5jIHwgMjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZ2NjL2djYy5jIGIvZ2NjL2djYy5jCitpbmRleCBjZDBjN2ZiZTk2MS4uZjZmM2FhMDc3YzggMTAwNjQ0CistLS0gYS9nY2MvZ2NjLmMKKysrKyBiL2djYy9nY2MuYworQEAgLTI1MjcsNyArMjUyNyw3IEBAIGZvcl9lYWNoX3BhdGggKGNvbnN0IHN0cnVjdCBwYXRoX3ByZWZpeCAqcGF0aHMsCisgICAgICAgaWYgKHBhdGggPT0gTlVMTCkKKyAJeworIAkgIGxlbiA9IHBhdGhzLT5tYXhfbGVuICsgZXh0cmFfc3BhY2UgKyAxOworLQkgIGxlbiArPSBNQVggKE1BWCAoc3VmZml4X2xlbiwgbXVsdGlfb3NfZGlyX2xlbiksIG11bHRpYXJjaF9sZW4pOworKwkgIGxlbiArPSBNQVggKChzdWZmaXhfbGVuICsgbXVsdGlfb3NfZGlyX2xlbiksIG11bHRpYXJjaF9sZW4pOworIAkgIHBhdGggPSBYTkVXVkVDIChjaGFyLCBsZW4pOworIAl9CisgCitAQCAtMjUzOSw2ICsyNTM5LDMzIEBAIGZvcl9lYWNoX3BhdGggKGNvbnN0IHN0cnVjdCBwYXRoX3ByZWZpeCAqcGF0aHMsCisgCSAgLyogTG9vayBmaXJzdCBpbiBNQUNISU5FL1ZFUlNJT04gc3ViZGlyZWN0b3J5LiAgKi8KKyAJICBpZiAoIXNraXBfbXVsdGlfZGlyKQorIAkgICAgeworKwkgICAgICBpZiAoIShwbC0+b3NfbXVsdGlsaWIgPyBza2lwX211bHRpX29zX2RpciA6IHNraXBfbXVsdGlfZGlyKSkKKysJICAgICAgICB7CisrCSAgICAgICAgICBjb25zdCBjaGFyICp0aGlzX211bHRpOworKwkgICAgICAgICAgc2l6ZV90IHRoaXNfbXVsdGlfbGVuOworKworKwkgICAgICAgICAgaWYgKHBsLT5vc19tdWx0aWxpYikKKysJCSAgICB7CisrCQkgICAgICB0aGlzX211bHRpID0gbXVsdGlfb3NfZGlyOworKwkJICAgICAgdGhpc19tdWx0aV9sZW4gPSBtdWx0aV9vc19kaXJfbGVuOworKwkJICAgIH0KKysJICAgICAgICAgIGVsc2UKKysJCSAgICB7CisrCQkgICAgICB0aGlzX211bHRpID0gbXVsdGlfZGlyOworKwkJICAgICAgdGhpc19tdWx0aV9sZW4gPSBtdWx0aV9kaXJfbGVuOworKwkJICAgIH0KKysKKysJICAgICAgICAgIC8qIExvb2sgaW4gbXVsdGlsaWIgTUFDSElORS9WRVJTSU9OIHN1YmRpcmVjdG9yeSBmaXJzdCAqLworKwkgICAgICAgICAgaWYgKHRoaXNfbXVsdGlfbGVuKQorKwkgICAgICAgICAgICB7CisrCQkgICAgICBtZW1jcHkgKHBhdGggKyBsZW4sIHRoaXNfbXVsdGksIHRoaXNfbXVsdGlfbGVuICsgMSk7CisrCSAgICAgICAgICAgICAgbWVtY3B5IChwYXRoICsgbGVuICsgdGhpc19tdWx0aV9sZW4sIG11bHRpX3N1ZmZpeCwgc3VmZml4X2xlbiArIDEpOworKwkgICAgICAgICAgICAgIHJldCA9IGNhbGxiYWNrIChwYXRoLCBjYWxsYmFja19pbmZvKTsKKysJICAgICAgICAgICAgICAgIGlmIChyZXQpCisrCQkgICAgICAgICAgYnJlYWs7CisrCSAgICAgICAgICAgIH0KKysJICAgICAgICB9CisrCisgCSAgICAgIG1lbWNweSAocGF0aCArIGxlbiwgbXVsdGlfc3VmZml4LCBzdWZmaXhfbGVuICsgMSk7CisgCSAgICAgIHJldCA9IGNhbGxiYWNrIChwYXRoLCBjYWxsYmFja19pbmZvKTsKKyAJICAgICAgaWYgKHJldCkKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMjktRml4LXZhcmlvdXMtX0ZPUl9CVUlMRC1hbmQtcmVsYXRlZC12YXJpYWJsZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDI5LUZpeC12YXJpb3VzLV9GT1JfQlVJTEQtYW5kLXJlbGF0ZWQtdmFyaWFibGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjOGJkYjEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDI5LUZpeC12YXJpb3VzLV9GT1JfQlVJTEQtYW5kLXJlbGF0ZWQtdmFyaWFibGVzLnBhdGNoCkBAIC0wLDAgKzEsMTM3IEBACitGcm9tIDEzNzdjNzM4ZTMxYTFlMTU5OWNmYWIxODk0ODVhOTQ1OWY4MDNlNzkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogTW9uLCA3IERlYyAyMDE1IDIzOjQyOjQ1ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMjkvNDBdIEZpeCB2YXJpb3VzIF9GT1JfQlVJTEQgYW5kIHJlbGF0ZWQgdmFyaWFibGVzCisKK1doZW4gZG9pbmcgYSBGT1JfQlVJTEQgdGhpbmcsIHlvdSBoYXZlIHRvIG92ZXJyaWRlIENGTEFHUyB3aXRoCitDRkxBR1NfRk9SX0JVSUxELiBBbmQgaWYgeW91IHVzZSBDKyssIHlvdSBhbHNvIGhhdmUgdG8gb3ZlcnJpZGUKK0NYWEZMQUdTIHdpdGggQ1hYRkxBR1NfRk9SX0JVSUxELgorV2l0aG91dCB0aGlzLCB3aGVuIGJ1aWxkaW5nIGZvciBtaW5ndywgeW91IGVuZCB1cCB0cnlpbmcgdG8gdXNlCit0aGUgbWluZ3cgaGVhZGVycyBmb3IgYSBob3N0IGJ1aWxkLgorCitUaGUgc2FtZSBnb2VzIGZvciBvdGhlciB2YXJpYWJsZXMgYXMgd2VsbCwgc3VjaCBhcyBDUFBGTEFHUywKK0NQUCwgYW5kIEdNUElOQy4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFBldGVyIFNlZWJhY2ggPHBldGVyLnNlZWJhY2hAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBNYWtlZmlsZS5pbiAgICAgIHwgNiArKysrKysKKyBNYWtlZmlsZS50cGwgICAgIHwgNSArKysrKworIGdjYy9NYWtlZmlsZS5pbiAgfCAyICstCisgZ2NjL2NvbmZpZ3VyZSAgICB8IDIgKy0KKyBnY2MvY29uZmlndXJlLmFjIHwgMiArLQorIDUgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlLmluIGIvTWFrZWZpbGUuaW4KK2luZGV4IGI0MjZkNGY5MzUwLi5hMmFmOTkwNWNjZSAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmluCisrKysgYi9NYWtlZmlsZS5pbgorQEAgLTE1Miw2ICsxNTIsNyBAQCBCVUlMRF9FWFBPUlRTID0gXAorIAlDUFA9IiQoQ0NfRk9SX0JVSUxEKSAtRSI7IGV4cG9ydCBDUFA7IFwKKyAJQ0ZMQUdTPSIkKENGTEFHU19GT1JfQlVJTEQpIjsgZXhwb3J0IENGTEFHUzsgXAorIAlDT05GSUdfU0hFTEw9IiQoU0hFTEwpIjsgZXhwb3J0IENPTkZJR19TSEVMTDsgXAorKwlDUFBGTEFHUz0iJChDUFBGTEFHU19GT1JfQlVJTEQpIjsgZXhwb3J0IENQUEZMQUdTOyBcCisgCUNYWD0iJChDWFhfRk9SX0JVSUxEKSI7IGV4cG9ydCBDWFg7IFwKKyAJQ1hYRkxBR1M9IiQoQ1hYRkxBR1NfRk9SX0JVSUxEKSI7IGV4cG9ydCBDWFhGTEFHUzsgXAorIAlHRk9SVFJBTj0iJChHRk9SVFJBTl9GT1JfQlVJTEQpIjsgZXhwb3J0IEdGT1JUUkFOOyBcCitAQCAtMTY5LDYgKzE3MCw5IEBAIEJVSUxEX0VYUE9SVFMgPSBcCisgIyBidWlsdCBmb3IgdGhlIGJ1aWxkIHN5c3RlbSB0byBvdmVycmlkZSB0aG9zZSBpbiBCQVNFX0ZMQUdTX1RPX1BBU1MuCisgRVhUUkFfQlVJTERfRkxBR1MgPSBcCisgCUNGTEFHUz0iJChDRkxBR1NfRk9SX0JVSUxEKSIgXAorKwlDWFhGTEFHUz0iJChDWFhGTEFHU19GT1JfQlVJTEQpIiBcCisrCUNQUD0iJChDQ19GT1JfQlVJTEQpIC1FIiBcCisrCUNQUEZMQUdTPSIkKENQUEZMQUdTX0ZPUl9CVUlMRCkiIFwKKyAJTERGTEFHUz0iJChMREZMQUdTX0ZPUl9CVUlMRCkiCisgCisgIyBUaGlzIGlzIHRoZSBsaXN0IG9mIGRpcmVjdG9yaWVzIHRvIGJ1aWx0IGZvciB0aGUgaG9zdCBzeXN0ZW0uCitAQCAtMTg2LDYgKzE5MCw3IEBAIEhPU1RfU1VCRElSID0gQGhvc3Rfc3ViZGlyQAorIEhPU1RfRVhQT1JUUyA9IFwKKyAJJChCQVNFX0VYUE9SVFMpIFwKKyAJQ0M9IiQoQ0MpIjsgZXhwb3J0IENDOyBcCisrCUNQUD0iJChDQykgLUUiOyBleHBvcnQgQ1BQOyBcCisgCUFEQV9DRkxBR1M9IiQoQURBX0NGTEFHUykiOyBleHBvcnQgQURBX0NGTEFHUzsgXAorIAlDRkxBR1M9IiQoQ0ZMQUdTKSI7IGV4cG9ydCBDRkxBR1M7IFwKKyAJQ09ORklHX1NIRUxMPSIkKFNIRUxMKSI7IGV4cG9ydCBDT05GSUdfU0hFTEw7IFwKK0BAIC03NDMsNiArNzQ4LDcgQEAgQkFTRV9GTEFHU19UT19QQVNTID0gXAorIAkiQ0NfRk9SX0JVSUxEPSQoQ0NfRk9SX0JVSUxEKSIgXAorIAkiQ0ZMQUdTX0ZPUl9CVUlMRD0kKENGTEFHU19GT1JfQlVJTEQpIiBcCisgCSJDWFhfRk9SX0JVSUxEPSQoQ1hYX0ZPUl9CVUlMRCkiIFwKKysJIkNYWEZMQUdTX0ZPUl9CVUlMRD0kKENYWEZMQUdTX0ZPUl9CVUlMRCkiIFwKKyAJIkVYUEVDVD0kKEVYUEVDVCkiIFwKKyAJIkZMRVg9JChGTEVYKSIgXAorIAkiSU5TVEFMTD0kKElOU1RBTEwpIiBcCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUudHBsIGIvTWFrZWZpbGUudHBsCitpbmRleCAxZjIzYjc5YjRiMi4uNmM1NjUyZTgxMWQgMTAwNjQ0CistLS0gYS9NYWtlZmlsZS50cGwKKysrKyBiL01ha2VmaWxlLnRwbAorQEAgLTE1NCw2ICsxNTQsNyBAQCBCVUlMRF9FWFBPUlRTID0gXAorIAlDQz0iJChDQ19GT1JfQlVJTEQpIjsgZXhwb3J0IENDOyBcCisgCUNGTEFHUz0iJChDRkxBR1NfRk9SX0JVSUxEKSI7IGV4cG9ydCBDRkxBR1M7IFwKKyAJQ09ORklHX1NIRUxMPSIkKFNIRUxMKSI7IGV4cG9ydCBDT05GSUdfU0hFTEw7IFwKKysJQ1BQRkxBR1M9IiQoQ1BQRkxBR1NfRk9SX0JVSUxEKSI7IGV4cG9ydCBDUFBGTEFHUzsgXAorIAlDWFg9IiQoQ1hYX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ1hYOyBcCisgCUNYWEZMQUdTPSIkKENYWEZMQUdTX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ1hYRkxBR1M7IFwKKyAJR0ZPUlRSQU49IiQoR0ZPUlRSQU5fRk9SX0JVSUxEKSI7IGV4cG9ydCBHRk9SVFJBTjsgXAorQEAgLTE3MSw2ICsxNzIsOSBAQCBCVUlMRF9FWFBPUlRTID0gXAorICMgYnVpbHQgZm9yIHRoZSBidWlsZCBzeXN0ZW0gdG8gb3ZlcnJpZGUgdGhvc2UgaW4gQkFTRV9GTEFHU19UT19QQVNTLgorIEVYVFJBX0JVSUxEX0ZMQUdTID0gXAorIAlDRkxBR1M9IiQoQ0ZMQUdTX0ZPUl9CVUlMRCkiIFwKKysJQ1hYRkxBR1M9IiQoQ1hYRkxBR1NfRk9SX0JVSUxEKSIgXAorKwlDUFA9IiQoQ0NfRk9SX0JVSUxEKSAtRSIgXAorKwlDUFBGTEFHUz0iJChDUFBGTEFHU19GT1JfQlVJTEQpIiBcCisgCUxERkxBR1M9IiQoTERGTEFHU19GT1JfQlVJTEQpIgorIAorICMgVGhpcyBpcyB0aGUgbGlzdCBvZiBkaXJlY3RvcmllcyB0byBidWlsdCBmb3IgdGhlIGhvc3Qgc3lzdGVtLgorQEAgLTE4OCw2ICsxOTIsNyBAQCBIT1NUX1NVQkRJUiA9IEBob3N0X3N1YmRpckAKKyBIT1NUX0VYUE9SVFMgPSBcCisgCSQoQkFTRV9FWFBPUlRTKSBcCisgCUNDPSIkKENDKSI7IGV4cG9ydCBDQzsgXAorKwlDUFA9IiQoQ0MpIC1FIjsgZXhwb3J0IENQUDsgXAorIAlBREFfQ0ZMQUdTPSIkKEFEQV9DRkxBR1MpIjsgZXhwb3J0IEFEQV9DRkxBR1M7IFwKKyAJQ0ZMQUdTPSIkKENGTEFHUykiOyBleHBvcnQgQ0ZMQUdTOyBcCisgCUNPTkZJR19TSEVMTD0iJChTSEVMTCkiOyBleHBvcnQgQ09ORklHX1NIRUxMOyBcCitkaWZmIC0tZ2l0IGEvZ2NjL01ha2VmaWxlLmluIGIvZ2NjL01ha2VmaWxlLmluCitpbmRleCA1YWU2OTNmYjA2Yy4uMDJlZTBhYTcyZjQgMTAwNjQ0CistLS0gYS9nY2MvTWFrZWZpbGUuaW4KKysrKyBiL2djYy9NYWtlZmlsZS5pbgorQEAgLTgwMSw3ICs4MDEsNyBAQCBCVUlMRF9MREZMQUdTPUBCVUlMRF9MREZMQUdTQAorIEJVSUxEX05PX1BJRV9GTEFHID0gQEJVSUxEX05PX1BJRV9GTEFHQAorIEJVSUxEX0xERkxBR1MgKz0gJChCVUlMRF9OT19QSUVfRkxBRykKKyBCVUlMRF9DUFBGTEFHUz0gLUkuIC1JJChARCkgLUkkKHNyY2RpcikgLUkkKHNyY2RpcikvJChARCkgXAorLQkJLUkkKHNyY2RpcikvLi4vaW5jbHVkZSBASU5DSU5UTEAgJChDUFBJTkMpICQoQ1BQRkxBR1MpCisrCQktSSQoc3JjZGlyKS8uLi9pbmNsdWRlIEBJTkNJTlRMQCAkKENQUElOQykgJChDUFBGTEFHU19GT1JfQlVJTEQpCisgCisgIyBBY3R1YWwgbmFtZSB0byB1c2Ugd2hlbiBpbnN0YWxsaW5nIGEgbmF0aXZlIGNvbXBpbGVyLgorIEdDQ19JTlNUQUxMX05BTUUgOj0gJChzaGVsbCBlY2hvIGdjY3xzZWQgJyQocHJvZ3JhbV90cmFuc2Zvcm1fbmFtZSknKQorZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUgYi9nY2MvY29uZmlndXJlCitpbmRleCAzZDlkY2JkYzkzZC4uYWExMjdhNGY2YTQgMTAwNzU1CistLS0gYS9nY2MvY29uZmlndXJlCisrKysgYi9nY2MvY29uZmlndXJlCitAQCAtMTE3OTcsNyArMTE3OTcsNyBAQCBlbHNlCisgCUNDPSIke0NDX0ZPUl9CVUlMRH0iIENGTEFHUz0iJHtDRkxBR1NfRk9SX0JVSUxEfSIgXAorIAlDWFg9IiR7Q1hYX0ZPUl9CVUlMRH0iIENYWEZMQUdTPSIke0NYWEZMQUdTX0ZPUl9CVUlMRH0iIFwKKyAJTEQ9IiR7TERfRk9SX0JVSUxEfSIgTERGTEFHUz0iJHtMREZMQUdTX0ZPUl9CVUlMRH0iIFwKKy0JR01QSU5DPSIiIENQUEZMQUdTPSIke0NQUEZMQUdTfSAtREdFTkVSQVRPUl9GSUxFIiBcCisrCUdNUElOQz0iIiBDUFBGTEFHUz0iJHtDUFBGTEFHU19GT1JfQlVJTER9IC1ER0VORVJBVE9SX0ZJTEUiIFwKKyAJJHtyZWFsc3JjZGlyfS9jb25maWd1cmUgXAorIAkJLS1lbmFibGUtbGFuZ3VhZ2VzPSR7ZW5hYmxlX2xhbmd1YWdlcy1hbGx9IFwKKyAJCS0tdGFyZ2V0PSR0YXJnZXRfYWxpYXMgLS1ob3N0PSRidWlsZF9hbGlhcyAtLWJ1aWxkPSRidWlsZF9hbGlhcworZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUuYWMgYi9nY2MvY29uZmlndXJlLmFjCitpbmRleCBlMDljODQwYjYwNS4uMThiZjUzYzdlMGEgMTAwNjQ0CistLS0gYS9nY2MvY29uZmlndXJlLmFjCisrKysgYi9nY2MvY29uZmlndXJlLmFjCitAQCAtMTcwOCw3ICsxNzA4LDcgQEAgZWxzZQorIAlDQz0iJHtDQ19GT1JfQlVJTER9IiBDRkxBR1M9IiR7Q0ZMQUdTX0ZPUl9CVUlMRH0iIFwKKyAJQ1hYPSIke0NYWF9GT1JfQlVJTER9IiBDWFhGTEFHUz0iJHtDWFhGTEFHU19GT1JfQlVJTER9IiBcCisgCUxEPSIke0xEX0ZPUl9CVUlMRH0iIExERkxBR1M9IiR7TERGTEFHU19GT1JfQlVJTER9IiBcCistCUdNUElOQz0iIiBDUFBGTEFHUz0iJHtDUFBGTEFHU30gLURHRU5FUkFUT1JfRklMRSIgXAorKwlHTVBJTkM9IiIgQ1BQRkxBR1M9IiR7Q1BQRkxBR1NfRk9SX0JVSUxEfSAtREdFTkVSQVRPUl9GSUxFIiBcCisgCSR7cmVhbHNyY2Rpcn0vY29uZmlndXJlIFwKKyAJCS0tZW5hYmxlLWxhbmd1YWdlcz0ke2VuYWJsZV9sYW5ndWFnZXMtYWxsfSBcCisgCQktLXRhcmdldD0kdGFyZ2V0X2FsaWFzIC0taG9zdD0kYnVpbGRfYWxpYXMgLS1idWlsZD0kYnVpbGRfYWxpYXMKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzAtbmlvczItRGVmaW5lLU1VU0xfRFlOQU1JQ19MSU5LRVIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDMwLW5pb3MyLURlZmluZS1NVVNMX0RZTkFNSUNfTElOS0VSLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0ZTEyNmMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDMwLW5pb3MyLURlZmluZS1NVVNMX0RZTkFNSUNfTElOS0VSLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0Zyb20gNzVkYTNjYzljYTJkM2RlOGMyMDYyZjIzYmY0ZjcyNDE1NzQxZWY4MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDIgRmViIDIwMTYgMTA6MjY6MTAgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSCAzMC80MF0gbmlvczI6IERlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBNYXJlayBWYXN1dCA8bWFyZXhAZGVueC5kZT4KK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBnY2MvY29uZmlnL25pb3MyL2xpbnV4LmggfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL2djYy9jb25maWcvbmlvczIvbGludXguaCBiL2djYy9jb25maWcvbmlvczIvbGludXguaAoraW5kZXggNDcyOTEwNTYyNmQuLjM2MTgxZWI3Yjg1IDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9uaW9zMi9saW51eC5oCisrKysgYi9nY2MvY29uZmlnL25pb3MyL2xpbnV4LmgKK0BAIC0zMCw2ICszMCw3IEBACisgI2RlZmluZSBDUFBfU1BFQyAiJXtwb3NpeDotRF9QT1NJWF9TT1VSQ0V9ICV7cHRocmVhZDotRF9SRUVOVFJBTlR9IgorIAorICNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbGludXgtbmlvczIuc28uMSIKKysjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIgICIvbGliL2xkLW11c2wtbmlvczIuc28uMSIKKyAKKyAjdW5kZWYgTElOS19TUEVDCisgI2RlZmluZSBMSU5LX1NQRUMgTElOS19TUEVDX0VORElBTiBcCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDMxLUFkZC1zc3Bfbm9uc2hhcmVkLXRvLWxpbmstY29tbWFuZGxpbmUtZm9yLW11c2wtdGFyZ2UucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDMxLUFkZC1zc3Bfbm9uc2hhcmVkLXRvLWxpbmstY29tbWFuZGxpbmUtZm9yLW11c2wtdGFyZ2UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDAyY2YyYgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzEtQWRkLXNzcF9ub25zaGFyZWQtdG8tbGluay1jb21tYW5kbGluZS1mb3ItbXVzbC10YXJnZS5wYXRjaApAQCAtMCwwICsxLDg3IEBACitGcm9tIGY3MTVhZWVmMjk0Yjg1ZmE1OTNlZjY5ZTZkMDExNGNjN2IxNTMxMmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVHVlLCAyNyBKdW4gMjAxNyAxODoxMDo1NCAtMDcwMAorU3ViamVjdDogW1BBVENIIDMxLzQwXSBBZGQgc3NwX25vbnNoYXJlZCB0byBsaW5rIGNvbW1hbmRsaW5lIGZvciBtdXNsIHRhcmdldHMKKword2hlbiAtZnN0YWNrLXByb3RlY3RvciBvcHRpb25zIGFyZSBlbmFibGVkIHdlIG5lZWQgdG8KK2xpbmsgd2l0aCBzc3Bfc2hhcmVkIG9uIG11c2wgc2luY2UgaXQgZG9lcyBub3QgcHJvdmlkZQordGhlIF9fc3RhY2tfY2hrX2ZhaWxfbG9jYWwoKSBzbyBlc3NlbnRpYWxseSBpdCBwcm92aWRlcworbGlic3NwIGJ1dCBub3QgbGlic3NwX25vbnNoYXJlZCBzb21ldGhpbmcgbGlrZQorVEFSR0VUX0xJQkNfUFJPVklERVNfU1NQX0JVVF9OT1RfU1NQX05PTlNIQVJFRAorIHdoZXJlLWFzIGZvciBnbGliYyB0aGUgbmVlZGVkIHN5bWJvbHMKK2FyZSBhbHJlYWR5IHByZXNlbnQgaW4gbGliY19ub25zaGFyZWQgbGlicmFyeSB0aGVyZWZvcmUKK3dlIGRvIG5vdCBuZWVkIGFueSBsaWJyYXJ5IGhlbHBlciBvbiBnbGliYyBiYXNlZCBzeXN0ZW1zCitidXQgbXVzbCBuZWVkcyB0aGUgbGlic3NwX25vc2hhcmVkIGZyb20gZ2NjCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgZ2NjL2NvbmZpZy9saW51eC5oICAgICAgICAgIHwgIDcgKysrKysrKworIGdjYy9jb25maWcvcnM2MDAwL2xpbnV4LmggICB8IDEwICsrKysrKysrKysKKyBnY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmggfCAxMCArKysrKysrKysrCisgMyBmaWxlcyBjaGFuZ2VkLCAyNyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL2xpbnV4LmggYi9nY2MvY29uZmlnL2xpbnV4LmgKK2luZGV4IDQ4N2IwYzA5MjNiLi40NzY5ZDA4OTUzOCAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvbGludXguaAorKysrIGIvZ2NjL2NvbmZpZy9saW51eC5oCitAQCAtMTgyLDYgKzE4MiwxMyBAQCBzZWUgdGhlIGZpbGVzIENPUFlJTkczIGFuZCBDT1BZSU5HLlJVTlRJTUUgcmVzcGVjdGl2ZWx5LiAgSWYgbm90LCBzZWUKKyAgICAgeyBHQ0NfSU5DTFVERV9ESVIsICJHQ0MiLCAwLCAxLCAwLCAwIH0sCQlcCisgICAgIHsgMCwgMCwgMCwgMCwgMCwgMCB9CQkJCVwKKyAgIH0KKysjaWZkZWYgVEFSR0VUX0xJQkNfUFJPVklERVNfU1NQCisrI3VuZGVmIExJTktfU1NQX1NQRUMKKysjZGVmaW5lIExJTktfU1NQX1NQRUMgIiV7ZnN0YWNrLXByb3RlY3Rvcnxmc3RhY2stcHJvdGVjdG9yLWFsbCIgXAorKwkJICAgICAgICJ8ZnN0YWNrLXByb3RlY3Rvci1zdHJvbmd8ZnN0YWNrLXByb3RlY3Rvci1leHBsaWNpdCIgXAorKwkJICAgICAgICI6LWxzc3Bfbm9uc2hhcmVkfSIKKysjZW5kaWYKKysKKyAjZW5kaWYKKyAKKyAjaWYgKERFRkFVTFRfTElCQyA9PSBMSUJDX1VDTElCQykgJiYgZGVmaW5lZCAoU0lOR0xFX0xJQkMpIC8qIHVDbGludXggKi8KK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL3JzNjAwMC9saW51eC5oIGIvZ2NjL2NvbmZpZy9yczYwMDAvbGludXguaAoraW5kZXggMDFiNDBjNzYyZjYuLmU3YzVlOTIyMTVjIDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvbGludXguaAorKysrIGIvZ2NjL2NvbmZpZy9yczYwMDAvbGludXguaAorQEAgLTkyLDYgKzkyLDE2IEBACisgCQkJCQkgIiAtbSBlbGYzMnBwY2xpbnV4IikKKyAjZW5kaWYKKyAKKysvKiBsaW5rIGxpYnNzcF9ub25zaGFyZWQuYSB3aXRoIG11c2wgKi8KKysjaWYgREVGQVVMVF9MSUJDID09IExJQkNfTVVTTAorKyNpZmRlZiBUQVJHRVRfTElCQ19QUk9WSURFU19TU1AKKysjdW5kZWYgTElOS19TU1BfU1BFQworKyNkZWZpbmUgTElOS19TU1BfU1BFQyAiJXtmc3RhY2stcHJvdGVjdG9yfGZzdGFjay1wcm90ZWN0b3ItYWxsIiBcCisrCQkgICAgICAgInxmc3RhY2stcHJvdGVjdG9yLXN0cm9uZ3xmc3RhY2stcHJvdGVjdG9yLWV4cGxpY2l0IiBcCisrCQkgICAgICAgIjotbHNzcF9ub25zaGFyZWR9IgorKyNlbmRpZgorKyNlbmRpZgorKworICN1bmRlZiBMSU5LX09TX0xJTlVYX1NQRUMKKyAjZGVmaW5lIExJTktfT1NfTElOVVhfU1BFQyBMSU5LX09TX0xJTlVYX0VNVUwgIiAleyFzaGFyZWQ6ICV7IXN0YXRpYzogXAorICAgJXshc3RhdGljLXBpZTogXAorZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaCBiL2djYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaAoraW5kZXggNTRhYThkOTU3ZTcuLjYxOWUxMTNlMmI4IDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oCisrKysgYi9nY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmgKK0BAIC00NjYsNiArNDY2LDE2IEBAIGV4dGVybiBpbnQgZG90X3N5bWJvbHM7CisgCQkJCQkgICAiIC1tIGVsZjY0cHBjIikKKyAjZW5kaWYKKyAKKysvKiBsaW5rIGxpYnNzcF9ub25zaGFyZWQuYSB3aXRoIG11c2wgKi8KKysjaWYgREVGQVVMVF9MSUJDID09IExJQkNfTVVTTAorKyNpZmRlZiBUQVJHRVRfTElCQ19QUk9WSURFU19TU1AKKysjdW5kZWYgTElOS19TU1BfU1BFQworKyNkZWZpbmUgTElOS19TU1BfU1BFQyAiJXtmc3RhY2stcHJvdGVjdG9yfGZzdGFjay1wcm90ZWN0b3ItYWxsIiBcCisrCQkgICAgICAgInxmc3RhY2stcHJvdGVjdG9yLXN0cm9uZ3xmc3RhY2stcHJvdGVjdG9yLWV4cGxpY2l0IiBcCisrCQkgICAgICAgIjotbHNzcF9ub25zaGFyZWR9IgorKyNlbmRpZgorKyNlbmRpZgorKworICNkZWZpbmUgTElOS19PU19MSU5VWF9TUEVDMzIgTElOS19PU19MSU5VWF9FTVVMMzIgIiAleyFzaGFyZWQ6ICV7IXN0YXRpYzogXAorICAgJXshc3RhdGljLXBpZTogXAorICAgICAle3JkeW5hbWljOi1leHBvcnQtZHluYW1pY30gXAorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAzMi1saWJnY2MtQWRkLWtub2ItdG8tdXNlLWxkYmwtMTI4LW9uLXBwYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzItbGliZ2NjLUFkZC1rbm9iLXRvLXVzZS1sZGJsLTEyOC1vbi1wcGMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDI1Y2FiYQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzItbGliZ2NjLUFkZC1rbm9iLXRvLXVzZS1sZGJsLTEyOC1vbi1wcGMucGF0Y2gKQEAgLTAsMCArMSwxMjUgQEAKK0Zyb20gNmRmYmNhNzhiOGQyNTNhZWNmOWNiYjVlNjhlMDRiOGRkM2Q2YTU0MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI5IEFwciAyMDE2IDIwOjAzOjI4ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMzIvNDBdIGxpYmdjYzogQWRkIGtub2IgdG8gdXNlIGxkYmwtMTI4IG9uIHBwYworCittdXNsIGRvZXMgbm90IHN1cHBvcnQgbGRibCAxMjggc28gd2UgY2FuIG5vdCBhc3N1bWUKK3RoYXQgbGludXggYXMgYSB3aG9sZSBzdXBwb3J0cyBsZGJsLTEyOCBiaXRzLCBpbnN0ZWFkCithY3QgdXBvbiBjb25maWd1cmUgb3B0aW9uIHBhc3NlZCB0byBnY2MgYW5kIGFzc3VtZSBubworb24gbXVzbCBhbmQgeWVzIG90aGVyd2lzZSBpZiBubyBvcHRpb24gaXMgcGFzc2VkIHNpbmNlCitkZWZhdWx0IGJlaGF2aW91ciBpcyB0byBhc3N1bWUgbGRibDEyOCBpdCBkb2VzIG5vdAorY2hhbmdlIHRoZSBkZWZhdWx0cworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGxpYmdjYy9NYWtlZmlsZS5pbiAgICAgICAgICAgfCAgMSArCisgbGliZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eCB8ICA1ICsrKystCisgbGliZ2NjL2NvbmZpZ3VyZSAgICAgICAgICAgICB8IDE4ICsrKysrKysrKysrKysrKysrKworIGxpYmdjYy9jb25maWd1cmUuYWMgICAgICAgICAgfCAxMiArKysrKysrKysrKysKKyA0IGZpbGVzIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKyBtb2RlIGNoYW5nZSAxMDA2NDQgPT4gMTAwNzU1IGxpYmdjYy9jb25maWd1cmUKKworZGlmZiAtLWdpdCBhL2xpYmdjYy9NYWtlZmlsZS5pbiBiL2xpYmdjYy9NYWtlZmlsZS5pbgoraW5kZXggZGQ4Y2VlOTlmZDMuLmI1ZjQ3OGFmMzgyIDEwMDY0NAorLS0tIGEvbGliZ2NjL01ha2VmaWxlLmluCisrKysgYi9saWJnY2MvTWFrZWZpbGUuaW4KK0BAIC00OCw2ICs0OCw3IEBAIHVud2luZF9oZWFkZXIgPSBAdW53aW5kX2hlYWRlckAKKyBtZF91bndpbmRfaGVhZGVyID0gQG1kX3Vud2luZF9oZWFkZXJACisgc2ZwX21hY2hpbmVfaGVhZGVyID0gQHNmcF9tYWNoaW5lX2hlYWRlckAKKyB0aHJlYWRfaGVhZGVyID0gQHRocmVhZF9oZWFkZXJACisrd2l0aF9sZGJsMTI4ID0gQHdpdGhfbGRibDEyOEAKKyAKKyBob3N0X25vbmNhbm9uaWNhbCA9IEBob3N0X25vbmNhbm9uaWNhbEAKKyByZWFsX2hvc3Rfbm9uY2Fub25pY2FsID0gQHJlYWxfaG9zdF9ub25jYW5vbmljYWxACitkaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eCBiL2xpYmdjYy9jb25maWcvcnM2MDAwL3QtbGludXgKK2luZGV4IDRmNmQ0YzRhNGQyLi5jNTBkZDk0YTJkYSAxMDA2NDQKKy0tLSBhL2xpYmdjYy9jb25maWcvcnM2MDAwL3QtbGludXgKKysrKyBiL2xpYmdjYy9jb25maWcvcnM2MDAwL3QtbGludXgKK0BAIC0xLDMgKzEsNiBAQAorIFNITElCX01BUEZJTEVTICs9ICQoc3JjZGlyKS9jb25maWcvcnM2MDAwL2xpYmdjYy1nbGliYy52ZXIKKyAKKy1IT1NUX0xJQkdDQzJfQ0ZMQUdTICs9IC1tbG9uZy1kb3VibGUtMTI4IC1tbm8tbWluaW1hbC10b2MKKytpZmVxICgkKHdpdGhfbGRibDEyOCkseWVzKQorK0hPU1RfTElCR0NDMl9DRkxBR1MgKz0gLW1sb25nLWRvdWJsZS0xMjgKKytlbmRpZgorK0hPU1RfTElCR0NDMl9DRkxBR1MgKz0gLW1uby1taW5pbWFsLXRvYworZGlmZiAtLWdpdCBhL2xpYmdjYy9jb25maWd1cmUgYi9saWJnY2MvY29uZmlndXJlCitvbGQgbW9kZSAxMDA2NDQKK25ldyBtb2RlIDEwMDc1NQoraW5kZXggYjJmM2Y4NzA4NDQuLmVkODA2NTg3YzE3CistLS0gYS9saWJnY2MvY29uZmlndXJlCisrKysgYi9saWJnY2MvY29uZmlndXJlCitAQCAtNjE5LDYgKzYxOSw3IEBAIGJ1aWxkX3ZlbmRvcgorIGJ1aWxkX2NwdQorIGJ1aWxkCisgd2l0aF9haXhfc29uYW1lCisrd2l0aF9sZGJsMTI4CisgZW5hYmxlX3Z0YWJsZV92ZXJpZnkKKyBlbmFibGVfc2hhcmVkCisgbGliZ2NjX3RvcGRpcgorQEAgLTY2OCw2ICs2NjksNyBAQCB3aXRoX2Nyb3NzX2hvc3QKKyB3aXRoX2xkCisgZW5hYmxlX3NoYXJlZAorIGVuYWJsZV92dGFibGVfdmVyaWZ5Cisrd2l0aF9sb25nX2RvdWJsZV8xMjgKKyB3aXRoX2FpeF9zb25hbWUKKyBlbmFibGVfdmVyc2lvbl9zcGVjaWZpY19ydW50aW1lX2xpYnMKKyB3aXRoX3NsaWJkaXIKK0BAIC0xMzI5LDYgKzEzMzEsNyBAQCBPcHRpb25hbCBQYWNrYWdlczoKKyAgIC0td2l0aC10YXJnZXQtc3ViZGlyPVNVQkRJUiAgICAgIENvbmZpZ3VyaW5nIGluIGEgc3ViZGlyZWN0b3J5IGZvciB0YXJnZXQKKyAgIC0td2l0aC1jcm9zcy1ob3N0PUhPU1QgICAgICAgICAgIENvbmZpZ3VyaW5nIHdpdGggYSBjcm9zcyBjb21waWxlcgorICAgLS13aXRoLWxkICAgICAgICAgICAgICAgYXJyYW5nZSB0byB1c2UgdGhlIHNwZWNpZmllZCBsZCAoZnVsbCBwYXRobmFtZSkKKysgIC0td2l0aC1sb25nLWRvdWJsZS0xMjggIHVzZSAxMjgtYml0IGxvbmcgZG91YmxlIGJ5IGRlZmF1bHQKKyAgIC0td2l0aC1haXgtc29uYW1lPWFpeHxzdnI0fGJvdGgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlZCBsaWJyYXJ5IHZlcnNpb25pbmcgKGFrYSAiU09OQU1FIikgdmFyaWFudCB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdmlkZSBvbiBBSVgKK0BAIC0yMjEzLDYgKzIyMTYsMjEgQEAgZmkKKyAKKyAKKyAKKysjIENoZWNrIHdoZXRoZXIgLS13aXRoLWxvbmctZG91YmxlLTEyOCB3YXMgZ2l2ZW4uCisraWYgdGVzdCAiJHt3aXRoX2xvbmdfZG91YmxlXzEyOCtzZXR9IiA9IHNldDsgdGhlbiA6CisrICB3aXRodmFsPSR3aXRoX2xvbmdfZG91YmxlXzEyODsgd2l0aF9sZGJsMTI4PSIkd2l0aF9sb25nX2RvdWJsZV8xMjgiCisrZWxzZQorKyAgY2FzZSAiJHtob3N0fSIgaW4KKysgcG93ZXIqLSotbXVzbCopCisrICAgd2l0aF9sZGJsMTI4PSJubyI7OworKyAqKSB3aXRoX2xkYmwxMjg9InllcyI7OworKyBlc2FjCisrCisrZmkKKysKKysKKysKKysKKyAjIENoZWNrIHdoZXRoZXIgLS13aXRoLWFpeC1zb25hbWUgd2FzIGdpdmVuLgorIGlmIHRlc3QgIiR7d2l0aF9haXhfc29uYW1lK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgIHdpdGh2YWw9JHdpdGhfYWl4X3NvbmFtZTsgY2FzZSAiJHtob3N0fToke2VuYWJsZV9zaGFyZWR9IiBpbgorZGlmZiAtLWdpdCBhL2xpYmdjYy9jb25maWd1cmUuYWMgYi9saWJnY2MvY29uZmlndXJlLmFjCitpbmRleCBiNTlhYTc0NmFmYy4uNDIyMjBhMjYzYzUgMTAwNjQ0CistLS0gYS9saWJnY2MvY29uZmlndXJlLmFjCisrKysgYi9saWJnY2MvY29uZmlndXJlLmFjCitAQCAtNzgsNiArNzgsMTggQEAgQUNfQVJHX0VOQUJMRSh2dGFibGUtdmVyaWZ5LAorIFtlbmFibGVfdnRhYmxlX3ZlcmlmeT1ub10pCisgQUNfU1VCU1QoZW5hYmxlX3Z0YWJsZV92ZXJpZnkpCisgCisrQUNfQVJHX1dJVEgobG9uZy1kb3VibGUtMTI4LAorK1tBU19IRUxQX1NUUklORyhbLS13aXRoLWxvbmctZG91YmxlLTEyOF0sCisrICAgIFt1c2UgMTI4LWJpdCBsb25nIGRvdWJsZSBieSBkZWZhdWx0XSldLAorKyAgICAgIHdpdGhfbGRibDEyOD0iJHdpdGhfbG9uZ19kb3VibGVfMTI4IiwKKytbY2FzZSAiJHtob3N0fSIgaW4KKysgcG93ZXIqLSotbXVzbCopCisrICAgd2l0aF9sZGJsMTI4PSJubyI7OworKyAqKSB3aXRoX2xkYmwxMjg9InllcyI7OworKyBlc2FjCisrXSkKKytBQ19TVUJTVCh3aXRoX2xkYmwxMjgpCisrCisgQUNfQVJHX1dJVEgoYWl4LXNvbmFtZSwKKyBbQVNfSEVMUF9TVFJJTkcoWy0td2l0aC1haXgtc29uYW1lPWFpeHxzdnI0fGJvdGhdLAorICAgICBbc2hhcmVkIGxpYnJhcnkgdmVyc2lvbmluZyAoYWthICJTT05BTUUiKSB2YXJpYW50IHRvIHByb3ZpZGUgb24gQUlYXSldLAorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAzMy1MaW5rLWxpYmdjYy11c2luZy1MREZMQUdTLW5vdC1qdXN0LVNITElCX0xERkxBR1MucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDMzLUxpbmstbGliZ2NjLXVzaW5nLUxERkxBR1Mtbm90LWp1c3QtU0hMSUJfTERGTEFHUy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNDNmN2FhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAzMy1MaW5rLWxpYmdjYy11c2luZy1MREZMQUdTLW5vdC1qdXN0LVNITElCX0xERkxBR1MucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorRnJvbSA3ZTU1MTQ3ZThlNjA5YWNlNmY5ZWVjZDg2YTk1NjYzNjY4NzY3MWYwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgNCBNYXkgMjAxNiAyMToxMTozNCAtMDcwMAorU3ViamVjdDogW1BBVENIIDMzLzQwXSBMaW5rIGxpYmdjYyB1c2luZyBMREZMQUdTLCBub3QganVzdCBTSExJQl9MREZMQUdTCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGhlciBMYXJzb24gPGNocmlzX2xhcnNvbkBtZW50b3IuY29tPgorU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGxpYmdjYy9jb25maWcvdC1zbGliZ2NjIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZy90LXNsaWJnY2MgYi9saWJnY2MvY29uZmlnL3Qtc2xpYmdjYworaW5kZXggN2U2MGI2MjFhMmQuLmVhMjJlZGUzMzYxIDEwMDY0NAorLS0tIGEvbGliZ2NjL2NvbmZpZy90LXNsaWJnY2MKKysrKyBiL2xpYmdjYy9jb25maWcvdC1zbGliZ2NjCitAQCAtMzIsNyArMzIsNyBAQCBTSExJQl9JTlNUQUxMX1NPTElOSyA9ICQoTE5fUykgJChTSExJQl9TT05BTUUpIFwKKyAJJChERVNURElSKSQoc2xpYmRpcikkKFNITElCX1NMSUJESVJfUVVBTCkvJChTSExJQl9TT0xJTkspCisgCisgU0hMSUJfTElOSyA9ICQoQ0MpICQoTElCR0NDMl9DRkxBR1MpIC1zaGFyZWQgLW5vZGVmYXVsdGxpYnMgXAorLQkkKFNITElCX0xERkxBR1MpIFwKKysJJChMREZMQUdTKSAkKFNITElCX0xERkxBR1MpIFwKKyAJLW8gJChTSExJQl9ESVIpLyQoU0hMSUJfU09OQU1FKS50bXAgQG11bHRpbGliX2ZsYWdzQCBcCisgCSQoU0hMSUJfT0JKUykgJChTSExJQl9MQykgJiYgXAorIAlybSAtZiAkKFNITElCX0RJUikvJChTSExJQl9TT0xJTkspICYmIFwKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzQtbGliZ2NjX3MtVXNlLWFsaWFzLWZvci1fX2NwdV9pbmRpY2F0b3JfaW5pdC1pbnN0ZWFkLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzQtbGliZ2NjX3MtVXNlLWFsaWFzLWZvci1fX2NwdV9pbmRpY2F0b3JfaW5pdC1pbnN0ZWFkLS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MjIyNGNjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAzNC1saWJnY2Nfcy1Vc2UtYWxpYXMtZm9yLV9fY3B1X2luZGljYXRvcl9pbml0LWluc3RlYWQtLnBhdGNoCkBAIC0wLDAgKzEsODUgQEAKK0Zyb20gNDZjYTUxZGQ0MTMzMzBiYjg0MjViMDYyODNlNzY2N2JmYjUwN2MzZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFN6YWJvbGNzIE5hZ3kgPG5zekBwb3J0NzAubmV0PgorRGF0ZTogU2F0LCAyNCBPY3QgMjAxNSAyMDowOTo1MyArMDAwMAorU3ViamVjdDogW1BBVENIIDM0LzQwXSBsaWJnY2NfczogVXNlIGFsaWFzIGZvciBfX2NwdV9pbmRpY2F0b3JfaW5pdCBpbnN0ZWFkIG9mIHN5bXZlcgorCitBZGFwdGVyIGZyb20KKworaHR0cHM6Ly9nY2MuZ251Lm9yZy9tbC9nY2MtcGF0Y2hlcy8yMDE1LTA1L21zZzAwODk5Lmh0bWwKKworVGhpcyBmaXggd2FzIGRlYmF0ZWQgYnV0IGhhc250IGJlZW4gYXBwbGllZCBnY2MgdXBzdHJlYW0gc2luY2UKK3RoZXkgZXhwZWN0IG11c2wgdG8gc3VwcG9ydCAnQCcgaW4gc3ltYm9sIHZlcnNpb25pbmcgd2hpY2ggaXMKK2Egc3VuL2dudSB2ZXJzaW9uaW5nIGV4dGVudGlvbi4gVGhpcyBwYXRjaCBob3dldmVyIGF2b2lkcyB0aGUKK25lZWQgZm9yIHRoZSAnQCcgc3ltYm9scyBhdCBhbGwKKworbGliZ2NjL0NoYW5nZWxvZzoKKworMjAxNS0wNS0xMSAgU3phYm9sY3MgTmFneSAgPHN6YWJvbGNzLm5hZ3lAYXJtLmNvbT4KKworCSogY29uZmlnL2kzODYvY3B1aW5mby5jIChfX2NwdV9pbmRpY2F0b3JfaW5pdF9sb2NhbCk6IEFkZC4KKwkoX19jcHVfaW5kaWNhdG9yX2luaXRAR0NDXzQuOC4wLCBfX2NwdV9tb2RlbEBHQ0NfNC44LjApOiBSZW1vdmUuCisKKwkqIGNvbmZpZy9pMzg2L3QtbGludXggKEhPU1RfTElCR0NDMl9DRkxBR1MpOiBSZW1vdmUgLURVU0VfRUxGX1NZTVZFUi4KKworZ2NjL0NoYW5nZWxvZzoKKworMjAxNS0wNS0xMSAgU3phYm9sY3MgTmFneSAgPHN6YWJvbGNzLm5hZ3lAYXJtLmNvbT4KKworCSogY29uZmlnL2kzODYvaTM4Ni5jIChpeDg2X2V4cGFuZF9idWlsdGluKTogTWFrZSBfX2J1aWx0aW5fY3B1X2luaXQKKwljYWxsIF9fY3B1X2luZGljYXRvcl9pbml0X2xvY2FsIGluc3RlYWQgb2YgX19jcHVfaW5kaWNhdG9yX2luaXQuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgZ2NjL2NvbmZpZy9pMzg2L2kzODYuYyAgICAgICB8IDQgKystLQorIGxpYmdjYy9jb25maWcvaTM4Ni9jcHVpbmZvLmMgfCA2ICsrKy0tLQorIGxpYmdjYy9jb25maWcvaTM4Ni90LWxpbnV4ICAgfCAyICstCisgMyBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL2kzODYvaTM4Ni5jIGIvZ2NjL2NvbmZpZy9pMzg2L2kzODYuYworaW5kZXggYTg4YTI5YjUxZTYuLjZmM2Y1MTg3OTcwIDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9pMzg2L2kzODYuYworKysrIGIvZ2NjL2NvbmZpZy9pMzg2L2kzODYuYworQEAgLTM2NTU1LDEwICszNjU1NSwxMCBAQCBpeDg2X2V4cGFuZF9idWlsdGluICh0cmVlIGV4cCwgcnR4IHRhcmdldCwgcnR4IHN1YnRhcmdldCwKKyAgICAgeworICAgICBjYXNlIElYODZfQlVJTFRJTl9DUFVfSU5JVDoKKyAgICAgICB7CistCS8qIE1ha2UgaXQgY2FsbCBfX2NwdV9pbmRpY2F0b3JfaW5pdCBpbiBsaWJnY2MuICovCisrCS8qIE1ha2UgaXQgY2FsbCBfX2NwdV9pbmRpY2F0b3JfaW5pdF9sb2NhbCBpbiBsaWJnY2MuYS4gKi8KKyAJdHJlZSBjYWxsX2V4cHIsIGZuZGVjbCwgdHlwZTsKKyAgICAgICAgIHR5cGUgPSBidWlsZF9mdW5jdGlvbl90eXBlX2xpc3QgKGludGVnZXJfdHlwZV9ub2RlLCBOVUxMX1RSRUUpOyAKKy0JZm5kZWNsID0gYnVpbGRfZm5fZGVjbCAoIl9fY3B1X2luZGljYXRvcl9pbml0IiwgdHlwZSk7CisrCWZuZGVjbCA9IGJ1aWxkX2ZuX2RlY2wgKCJfX2NwdV9pbmRpY2F0b3JfaW5pdF9sb2NhbCIsIHR5cGUpOworIAljYWxsX2V4cHIgPSBidWlsZF9jYWxsX2V4cHIgKGZuZGVjbCwgMCk7IAorIAlyZXR1cm4gZXhwYW5kX2V4cHIgKGNhbGxfZXhwciwgdGFyZ2V0LCBtb2RlLCBFWFBBTkRfTk9STUFMKTsKKyAgICAgICB9CitkaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZy9pMzg2L2NwdWluZm8uYyBiL2xpYmdjYy9jb25maWcvaTM4Ni9jcHVpbmZvLmMKK2luZGV4IGQxODUzZDU1MTViLi44NjQxNTBjOTI0OSAxMDA2NDQKKy0tLSBhL2xpYmdjYy9jb25maWcvaTM4Ni9jcHVpbmZvLmMKKysrKyBiL2xpYmdjYy9jb25maWcvaTM4Ni9jcHVpbmZvLmMKK0BAIC00ODUsNyArNDg1LDcgQEAgX19jcHVfaW5kaWNhdG9yX2luaXQgKHZvaWQpCisgICByZXR1cm4gMDsKKyB9CisgCistI2lmIGRlZmluZWQgU0hBUkVEICYmIGRlZmluZWQgVVNFX0VMRl9TWU1WRVIKKy1fX2FzbV9fICgiLnN5bXZlciBfX2NwdV9pbmRpY2F0b3JfaW5pdCwgX19jcHVfaW5kaWNhdG9yX2luaXRAR0NDXzQuOC4wIik7CistX19hc21fXyAoIi5zeW12ZXIgX19jcHVfbW9kZWwsIF9fY3B1X21vZGVsQEdDQ180LjguMCIpOworKyNpZm5kZWYgU0hBUkVECisraW50IF9fY3B1X2luZGljYXRvcl9pbml0X2xvY2FsICh2b2lkKQorKyAgX19hdHRyaWJ1dGVfXyAoKHdlYWssIGFsaWFzICgiX19jcHVfaW5kaWNhdG9yX2luaXQiKSkpOworICNlbmRpZgorZGlmZiAtLWdpdCBhL2xpYmdjYy9jb25maWcvaTM4Ni90LWxpbnV4IGIvbGliZ2NjL2NvbmZpZy9pMzg2L3QtbGludXgKK2luZGV4IDg1MDZhNjM1NzkwLi41NjQyOTZmNzg4ZSAxMDA2NDQKKy0tLSBhL2xpYmdjYy9jb25maWcvaTM4Ni90LWxpbnV4CisrKysgYi9saWJnY2MvY29uZmlnL2kzODYvdC1saW51eAorQEAgLTMsNSArMyw1IEBACisgIyB0LXNsaWJnY2MtZWxmLXZlciBhbmQgdC1saW51eAorIFNITElCX01BUEZJTEVTID0gbGliZ2NjLXN0ZC52ZXIgJChzcmNkaXIpL2NvbmZpZy9pMzg2L2xpYmdjYy1nbGliYy52ZXIKKyAKKy1IT1NUX0xJQkdDQzJfQ0ZMQUdTICs9IC1tbG9uZy1kb3VibGUtODAgLURVU0VfRUxGX1NZTVZFUiAkKENFVF9GTEFHUykKKytIT1NUX0xJQkdDQzJfQ0ZMQUdTICs9IC1tbG9uZy1kb3VibGUtODAgJChDRVRfRkxBR1MpCisgQ1JUU1RVRkZfVF9DRkxBR1MgKz0gJChDRVRfRkxBR1MpCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDM1LXN5bmMtZ2NjLXN0ZGRlZi5oLXdpdGgtbXVzbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzUtc3luYy1nY2Mtc3RkZGVmLmgtd2l0aC1tdXNsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlY2Q2ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDM1LXN5bmMtZ2NjLXN0ZGRlZi5oLXdpdGgtbXVzbC5wYXRjaApAQCAtMCwwICsxLDkxIEBACitGcm9tIDM4ZDQwMWZiNmFiNTU1ZDA5ZjRhOWE2Nzc3MjFkZGUwNzQzODc2ZTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogRnJpLCAzIEZlYiAyMDE3IDEyOjU2OjAwIC0wODAwCitTdWJqZWN0OiBbUEFUQ0ggMzUvNDBdIHN5bmMgZ2NjIHN0ZGRlZi5oIHdpdGggbXVzbAorCittdXNsIGRlZmluZXMgcHRyZGlmZl90IHNpemVfdCBhbmQgd2NoYXJfdAorc28gZG9udCBkZWZpbmUgdGhlbSBoZXJlIGlmIG11c2wgaXMgZGVmaW5pbmluZyB0aGVtCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgZ2NjL2dpbmNsdWRlL3N0ZGRlZi5oIHwgOSArKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9nY2MvZ2luY2x1ZGUvc3RkZGVmLmggYi9nY2MvZ2luY2x1ZGUvc3RkZGVmLmgKK2luZGV4IDMxYjk2YTdlNWUxLi40MzhhM2NlN2M1NiAxMDA2NDQKKy0tLSBhL2djYy9naW5jbHVkZS9zdGRkZWYuaAorKysrIGIvZ2NjL2dpbmNsdWRlL3N0ZGRlZi5oCitAQCAtMTM0LDYgKzEzNCw3IEBAIF9UWVBFX3djaGFyX3Q7CisgI2lmbmRlZiBfX19pbnRfcHRyZGlmZl90X2gKKyAjaWZuZGVmIF9HQ0NfUFRSRElGRl9UCisgI2lmbmRlZiBfUFRSRElGRl9UX0RFQ0xBUkVEIC8qIERyYWdvbkZseSAqLworKyNpZm5kZWYgX19ERUZJTkVEX3B0cmRpZmZfdCAvKiBtdXNsICovCisgI2RlZmluZSBfUFRSRElGRl9UCisgI2RlZmluZSBfVF9QVFJESUZGXworICNkZWZpbmUgX1RfUFRSRElGRgorQEAgLTE0MywxMCArMTQ0LDEyIEBAIF9UWVBFX3djaGFyX3Q7CisgI2RlZmluZSBfX19pbnRfcHRyZGlmZl90X2gKKyAjZGVmaW5lIF9HQ0NfUFRSRElGRl9UCisgI2RlZmluZSBfUFRSRElGRl9UX0RFQ0xBUkVECisrI2RlZmluZSBfX0RFRklORURfcHRyZGlmZl90IC8qIG11c2wgKi8KKyAjaWZuZGVmIF9fUFRSRElGRl9UWVBFX18KKyAjZGVmaW5lIF9fUFRSRElGRl9UWVBFX18gbG9uZyBpbnQKKyAjZW5kaWYKKyB0eXBlZGVmIF9fUFRSRElGRl9UWVBFX18gcHRyZGlmZl90OworKyNlbmRpZiAvKiBfX0RFRklORURfcHRyZGlmZl90ICovCisgI2VuZGlmIC8qIF9QVFJESUZGX1RfREVDTEFSRUQgKi8KKyAjZW5kaWYgLyogX0dDQ19QVFJESUZGX1QgKi8KKyAjZW5kaWYgLyogX19faW50X3B0cmRpZmZfdF9oICovCitAQCAtMTg0LDYgKzE4Nyw3IEBAIHR5cGVkZWYgX19QVFJESUZGX1RZUEVfXyBwdHJkaWZmX3Q7CisgI2lmbmRlZiBfR0NDX1NJWkVfVAorICNpZm5kZWYgX1NJWkVUXworICNpZm5kZWYgX19zaXplX3QKKysjaWZuZGVmIF9fREVGSU5FRF9zaXplX3QgLyogbXVzbCAqLworICNkZWZpbmUgX19zaXplX3RfXwkvKiBCZU9TICovCisgI2RlZmluZSBfX1NJWkVfVF9fCS8qIENyYXkgVW5pY29zL01rICovCisgI2RlZmluZSBfU0laRV9UCitAQCAtMjAwLDYgKzIwNCw3IEBAIHR5cGVkZWYgX19QVFJESUZGX1RZUEVfXyBwdHJkaWZmX3Q7CisgI2RlZmluZSBfX19pbnRfc2l6ZV90X2gKKyAjZGVmaW5lIF9HQ0NfU0laRV9UCisgI2RlZmluZSBfU0laRVRfCisrI2RlZmluZSBfX0RFRklORURfc2l6ZV90IC8qIG11c2wgKi8KKyAjaWYgKGRlZmluZWQgKF9fRnJlZUJTRF9fKSAmJiAoX19GcmVlQlNEX18gPj0gNSkpIFwKKyAgIHx8IGRlZmluZWQoX19EcmFnb25GbHlfXykgXAorICAgfHwgZGVmaW5lZChfX0ZyZWVCU0Rfa2VybmVsX18pCitAQCAtMjM1LDYgKzI0MCw3IEBAIHR5cGVkZWYgbG9uZyBzc2l6ZV90OworICNlbmRpZiAvKiBfU0laRV9UICovCisgI2VuZGlmIC8qIF9fU0laRV9UX18gKi8KKyAjZW5kaWYgLyogX19zaXplX3RfXyAqLworKyNlbmRpZiAvKiBfX0RFRklORURfc2l6ZV90ICovCisgI3VuZGVmCV9fbmVlZF9zaXplX3QKKyAjZW5kaWYgLyogX1NURERFRl9IIG9yIF9fbmVlZF9zaXplX3QuICAqLworIAorQEAgLTI2NCw2ICsyNzAsNyBAQCB0eXBlZGVmIGxvbmcgc3NpemVfdDsKKyAjaWZuZGVmIF9fX2ludF93Y2hhcl90X2gKKyAjaWZuZGVmIF9fSU5UX1dDSEFSX1RfSAorICNpZm5kZWYgX0dDQ19XQ0hBUl9UCisrI2lmbmRlZiBfX0RFRklORURfd2NoYXJfdCAvKiBtdXNsICovCisgI2RlZmluZSBfX3djaGFyX3RfXwkvKiBCZU9TICovCisgI2RlZmluZSBfX1dDSEFSX1RfXwkvKiBDcmF5IFVuaWNvcy9NayAqLworICNkZWZpbmUgX1dDSEFSX1QKK0BAIC0yNzksNiArMjg2LDcgQEAgdHlwZWRlZiBsb25nIHNzaXplX3Q7CisgI2RlZmluZSBfX0lOVF9XQ0hBUl9UX0gKKyAjZGVmaW5lIF9HQ0NfV0NIQVJfVAorICNkZWZpbmUgX1dDSEFSX1RfREVDTEFSRUQKKysjZGVmaW5lIF9fREVGSU5FRF93Y2hhcl90IC8qIG11c2wgKi8KKyAKKyAvKiBPbiBCU0QvMzg2IDEuMSwgYXQgbGVhc3QsIG1hY2hpbmUvYW5zaS5oIGRlZmluZXMgX0JTRF9XQ0hBUl9UXworICAgIGluc3RlYWQgb2YgX1dDSEFSX1RfLCBhbmQgX0JTRF9SVU5FX1RfICh3aGljaCwgdW5saWtlIHRoZSBvdGhlcgorQEAgLTM0NCw2ICszNTIsNyBAQCB0eXBlZGVmIF9fV0NIQVJfVFlQRV9fIHdjaGFyX3Q7CisgI2VuZGlmCisgI2VuZGlmIC8qIF9fV0NIQVJfVF9fICovCisgI2VuZGlmIC8qIF9fd2NoYXJfdF9fICovCisrI2VuZGlmIC8qIF9fREVGSU5FRF93Y2hhcl90IG11c2wgKi8KKyAjdW5kZWYJX19uZWVkX3djaGFyX3QKKyAjZW5kaWYgLyogX1NURERFRl9IIG9yIF9fbmVlZF93Y2hhcl90LiAgKi8KKyAKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzYtZml4LXNlZ21lbnRhdGlvbi1mYXVsdC1pbi1wcmVjb21waWxlZC1oZWFkZXItZ2VuZXJhdC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzYtZml4LXNlZ21lbnRhdGlvbi1mYXVsdC1pbi1wcmVjb21waWxlZC1oZWFkZXItZ2VuZXJhdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNGNlNWRiCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAzNi1maXgtc2VnbWVudGF0aW9uLWZhdWx0LWluLXByZWNvbXBpbGVkLWhlYWRlci1nZW5lcmF0LnBhdGNoCkBAIC0wLDAgKzEsNjAgQEAKK0Zyb20gYTliYjI5YTRlOWI0NzhmOWIxMjZlNDgzNDY3Y2U5MDMxYzMzZmU0ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEp1cm8gQnlzdHJpY2t5IDxqdXJvLmJ5c3RyaWNreUBpbnRlbC5jb20+CitEYXRlOiBNb24sIDE5IE1hciAyMDE4IDIyOjMxOjIwIC0wNzAwCitTdWJqZWN0OiBbUEFUQ0ggMzYvNDBdIGZpeCBzZWdtZW50YXRpb24gZmF1bHQgaW4gcHJlY29tcGlsZWQgaGVhZGVyIGdlbmVyYXRpb24KKworUHJldmVudCBhIHNlZ21lbnRhdGlvbiBmYXVsdCB3aGljaCBvY2N1cnMgd2hlbiB1c2luZyBpbmNvcnJlY3QKK3N0cnVjdHVyZSB0cnlpbmcgdG8gYWNjZXNzIG5hbWUgb2Ygc29tZSBuYW1lZCBvcGVyYXRvcnMsIHN1Y2ggYXMKK0NQUF9OT1QsIENQUF9BTkQgZXRjLiAidG9rZW4tPnZhbC5ub2RlLnNwZWxsaW5nIiBjYW5ub3QgYmUgdXNlZCBpbgordGhvc2UgY2FzZXMsIGFzIGlzIG1heSBub3QgYmUgaW5pdGlhbGl6ZWQgYXQgYWxsLgorCitbWU9DVE8gIzExNzM4XQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSnVybyBCeXN0cmlja3kgPGp1cm8uYnlzdHJpY2t5QGludGVsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBsaWJjcHAvbGV4LmMgfCAyNiArKysrKysrKysrKysrKysrKysrKystLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliY3BwL2xleC5jIGIvbGliY3BwL2xleC5jCitpbmRleCAzN2MzNjVhMzU2MC4uNjM0ODAwNDhkYjYgMTAwNjQ0CistLS0gYS9saWJjcHAvbGV4LmMKKysrKyBiL2xpYmNwcC9sZXguYworQEAgLTMyNzksMTEgKzMyNzksMjcgQEAgY3BwX3NwZWxsX3Rva2VuIChjcHBfcmVhZGVyICpwZmlsZSwgY29uc3QgY3BwX3Rva2VuICp0b2tlbiwKKyAgICAgc3BlbGxfaWRlbnQ6CisgICAgIGNhc2UgU1BFTExfSURFTlQ6CisgICAgICAgaWYgKGZvcnN0cmluZykKKy0JeworLQkgIG1lbWNweSAoYnVmZmVyLCBOT0RFX05BTUUgKHRva2VuLT52YWwubm9kZS5zcGVsbGluZyksCistCQkgIE5PREVfTEVOICh0b2tlbi0+dmFsLm5vZGUuc3BlbGxpbmcpKTsKKy0JICBidWZmZXIgKz0gTk9ERV9MRU4gKHRva2VuLT52YWwubm9kZS5zcGVsbGluZyk7CistCX0KKysgICAgICAgIHsKKysgICAgICAgICAgaWYgKHRva2VuLT50eXBlID09IENQUF9OQU1FKQorKyAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgIG1lbWNweSAoYnVmZmVyLCBOT0RFX05BTUUgKHRva2VuLT52YWwubm9kZS5zcGVsbGluZyksCisrICAgICAgICAgICAgICAgICAgICBOT0RFX0xFTiAodG9rZW4tPnZhbC5ub2RlLnNwZWxsaW5nKSk7CisrICAgICAgICAgICAgICBidWZmZXIgKz0gTk9ERV9MRU4gKHRva2VuLT52YWwubm9kZS5zcGVsbGluZyk7CisrICAgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgICB9CisrICAgICAgICAgIC8qIE5BTUVEX09QLCBjYW5ub3QgdXNlIG5vZGUuc3BlbGxpbmcgKi8KKysgICAgICAgICAgaWYgKHRva2VuLT5mbGFncyAmIE5BTUVEX09QKQorKyAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnN0ciA9IGNwcF9uYW1lZF9vcGVyYXRvcjJuYW1lICh0b2tlbi0+dHlwZSk7CisrICAgICAgICAgICAgICBpZiAoc3RyKQorKyAgICAgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgICAgc2l6ZV90IGxlbiA9IHN0cmxlbihzdHIpOworKyAgICAgICAgICAgICAgICAgIG1lbWNweShidWZmZXIsIHN0ciwgbGVuKTsKKysgICAgICAgICAgICAgICAgICBidWZmZXIgKz0gbGVuOworKyAgICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgICB9CisrICAgICAgICB9CisgICAgICAgZWxzZQorIAlidWZmZXIgPSBfY3BwX3NwZWxsX2lkZW50X3VjbnMgKGJ1ZmZlciwgdG9rZW4tPnZhbC5ub2RlLm5vZGUpOworICAgICAgIGJyZWFrOworLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAzNy1GaXgtZm9yLXRlc3RzdWl0ZS1mYWlsdXJlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAzNy1GaXgtZm9yLXRlc3RzdWl0ZS1mYWlsdXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwOTk5ZGQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDM3LUZpeC1mb3ItdGVzdHN1aXRlLWZhaWx1cmUucGF0Y2gKQEAgLTAsMCArMSwyNTggQEAKK0Zyb20gMWU1YzFlZjM0ZDkyYjQxNTdlMWEyNGNhNzQzZDQ1ZjNhNzM3NWE1ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJBR0hVTkFUSCBMT0xVUiA8cmFnaHVuYXRoLmxvbHVyQGtwaXQuY29tPgorRGF0ZTogV2VkLCA2IERlYyAyMDE3IDIyOjUyOjI2IC0wODAwCitTdWJqZWN0OiBbUEFUQ0ggMzcvNDBdIEZpeCBmb3IgdGVzdHN1aXRlIGZhaWx1cmUKKworMjAxNy0xMS0xNiAgUmFnaHVuYXRoIExvbHVyICA8cmFnaHVuYXRoLmxvbHVyQGtwaXQuY29tPgorCisJKiBnY2MuZGcvcHI1NjI3NS5jOiBJZiBTU0UgaXMgZGlzYWJsZWQsIGVuc3VyZSB0aGF0CisJIi1tZnBtYXRoIiBpcyBub3Qgc2V0IHRvIHVzZSBTU0UuIFNldCAiLW1mcG1hdGg9Mzg3Ii4KKwkqIGdjYy5kZy9wcjY4MzA2LmM6IExpa2V3aXNlCisJKiBnY2MuZGcvcHI2ODMwNi0yLmM6IExpa2V3aXNlCisJKiBnY2MuZGcvcHI2ODMwNi0zLmM6IExpa2V3aXNlCisJKiBnY2MuZGcvcHI2OTYzNC5jOiBMaWtld2lzZQorCSogZ2NjLnRhcmdldC9pMzg2L2FtZDY0LWFiaS0xLmM6IExpa2V3aXNlCisJKiBnY2MudGFyZ2V0L2kzODYvZnVuY3NwZWMtNi5jOiBMaWtld2lzZQorCSogZ2NjLnRhcmdldC9pMzg2L2ludGVycnVwdC0zODctZXJyLTEuYzogTGlrZXdpc2UKKwkqIGdjYy50YXJnZXQvaTM4Ni9pc2EtMTQuYzogTGlrZXdpc2UKKwkqIGdjYy50YXJnZXQvaTM4Ni9wcjQ0OTQ4LTJiLmM6IExpa2V3aXNlCisJKiBnY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0xLmM6IExpa2V3aXNlCisJKiBnY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0yLmM6IExpa2V3aXNlCisJKiBnY2MudGFyZ2V0L2kzODYvcHI1NTI0Ny5jOiBMaWtld2lzZQorCSogZ2NjLnRhcmdldC9pMzg2L3ByNTk2NDQuYzogTGlrZXdpc2UKKwkqIGdjYy50YXJnZXQvaTM4Ni9wcjYyMTIwLmM6IExpa2V3aXNlCisJKiBnY2MudGFyZ2V0L2kzODYvcHI3MDQ2Ny0xLmM6IExpa2V3aXNlCisJKiBnY2MudGFyZ2V0L2kzODYvd2Fybi12ZWN0LW9wLTEuYzogTGlrZXdpc2UKKworSWYgLVdhbGwsIC1XZXJyb3IgYXJlIHVzZWQgZHVyaW5nIGNvbXBpbGF0aW9uIHZhcmlvdXMgdGVzdCBjYXNlcyBmYWlsCit0byBjb21waWxlLgorCitJZiBTU0UgaXMgZGlzYWJsZWQsIGJlIHN1cmUgdG8gLW1mcG1hdGg9Mzg3IHRvIHJlc29sdmUgdGhpcy4KKworVGhpcyBwYXRjaCByZW1vdmVzIHRoZSBjaGFuZ2VzIHRvIENoYW5nZWxvZyBmcm9tIHRoZSBvcmlnaW5hbCBwYXRjaC4KK1RoaXMgd2lsbCBoZWxwIHVzIGF2b2lkIGNvbmZsaWN0cy4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KKy0tLQorIGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNTYyNzUuYyAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KKyBnY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LTIuYyAgICAgICAgICAgICAgICAgICAgfCAyICstCisgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi0zLmMgICAgICAgICAgICAgICAgICAgIHwgMiArLQorIGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYuYyAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KKyBnY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY5NjM0LmMgICAgICAgICAgICAgICAgICAgICAgfCAyICstCisgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvYW1kNjQtYWJpLTEuYyAgICAgICAgIHwgMiArLQorIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2Z1bmNzcGVjLTYuYyAgICAgICAgICB8IDEgKworIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2ludGVycnVwdC0zODctZXJyLTEuYyB8IDIgKy0KKyBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9pc2EtMTQuYyAgICAgICAgICAgICAgfCAyICstCisgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI0NDk0OC0yYi5jICAgICAgICAgIHwgMiArLQorIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMS5jICAgICAgICAgICB8IDIgKy0KKyBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTIuYyAgICAgICAgICAgfCAyICstCisgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1NTI0Ny5jICAgICAgICAgICAgIHwgMiArLQorIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTk2NDQuYyAgICAgICAgICAgICB8IDIgKy0KKyBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjYyMTIwLmMgICAgICAgICAgICAgfCAyICstCisgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI3MDQ2Ny0xLmMgICAgICAgICAgIHwgMiArLQorIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3dhcm4tdmVjdC1vcC0xLmMgICAgICB8IDIgKy0KKyAxNyBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNTYyNzUuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNTYyNzUuYworaW5kZXggYjkwMWJiMmIxOTkuLmE0ZjZjOTVlMWExIDEwMDY0NAorLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI1NjI3NS5jCisrKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjU2Mjc1LmMKK0BAIC0xLDYgKzEsNiBAQAorIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCisgLyogeyBkZy1vcHRpb25zICItTzIiIH0gKi8KKy0vKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UiIHsgdGFyZ2V0IHsgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gfSAqLworKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbW5vLXNzZSAtbWZwbWF0aD0zODciIHsgdGFyZ2V0IHsgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gfSAqLworIAorIHR5cGVkZWYgbG9uZyBsb25nIHYydHcgX19hdHRyaWJ1dGVfXyAoKHZlY3Rvcl9zaXplICgyICogc2l6ZW9mIChsb25nIGxvbmcpKSkpOworIAorZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYtMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi0yLmMKK2luZGV4IDQ2NzJlYmU3OTg3Li4yYTM2OGM0ODRiNiAxMDA2NDQKKy0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYtMi5jCisrKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LTIuYworQEAgLTEsNiArMSw2IEBACisgLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKyAvKiB7IGRnLW9wdGlvbnMgIi1PMyIgfSAqLworLS8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbW5vLXNzZSAtbW5vLW1teCIgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KKysvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1uby1tbXggLW1mcG1hdGg9Mzg3IiB7IHRhcmdldCBpPzg2LSotKiB4ODZfNjQtKi0qIH0gfSAqLworIAorIHN0cnVjdCB7CisgICAgIGludCB0el9taW51dGVzd2VzdDsKK2RpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LTMuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYtMy5jCitpbmRleCBmNWE4YzEwMmNmOC4uZGYzMzkwYzY0YzIgMTAwNjQ0CistLS0gYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LTMuYworKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi0zLmMKK0BAIC0xLDYgKzEsNiBAQAorIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCisgLyogeyBkZy1vcHRpb25zICItTzMiIH0gKi8KKy0vKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1uby1tbXgiIHsgdGFyZ2V0IGk/ODYtKi0qIHg4Nl82NC0qLSogfSB9ICovCisrLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tbm8tc3NlIC1tbm8tbW14IC1tZnBtYXRoPTM4NyIgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KKyAvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1hbHRpdmVjIC1tbm8tdnN4IiB7IHRhcmdldCBwb3dlcnBjKi0qLSogfSB9ICovCisgCisgZXh0ZXJuIHZvaWQgZm4yKCk7CitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi5jCitpbmRleCA1NGU1YjQwZjIyMS4uMDgxMzM4OWUyYzEgMTAwNjQ0CistLS0gYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LmMKKysrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYuYworQEAgLTEsNiArMSw2IEBACisgLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKyAvKiB7IGRnLW9wdGlvbnMgIi1PMyIgfSAqLworLS8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbW5vLXNzZSAtbW5vLW1teCIgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KKysvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1uby1tbXggLW1mcG1hdGg9Mzg3IiB7IHRhcmdldCBpPzg2LSotKiB4ODZfNjQtKi0qIH0gfSAqLworIAorIGVudW0gcG93ZXJwY19wbWNfdHlwZSB7IFBQQ19QTUNfSUJNIH07Cisgc3RydWN0IHsKK2RpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY5NjM0LmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY5NjM0LmMKK2luZGV4IDYwYTU2MTQ5NDYzLi5iY2MyM2Y5Y2NkNiAxMDA2NDQKKy0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjk2MzQuYworKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2OTYzNC5jCitAQCAtMSw2ICsxLDYgQEAKKyAvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworIC8qIHsgZGctb3B0aW9ucyAiLU8yIC1mbm8tZGNlIC1mc2NoZWR1bGUtaW5zbnMgLWZuby10cmVlLXZycCAtZmNvbXBhcmUtZGVidWcgLVduby1wc2FiaSIgfSAqLworLS8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbW5vLXNzZSIgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KKysvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1mcG1hdGg9Mzg3IiB7IHRhcmdldCBpPzg2LSotKiB4ODZfNjQtKi0qIH0gfSAqLworIC8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHNjaGVkdWxpbmcgfSAqLworIAorIHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgdTE2OworZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2FtZDY0LWFiaS0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hbWQ2NC1hYmktMS5jCitpbmRleCA2OWZkZTU3YmYwNi4uN2YxZjFjMDNlZGYgMTAwNjQ0CistLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hbWQ2NC1hYmktMS5jCisrKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hbWQ2NC1hYmktMS5jCitAQCAtMSw1ICsxLDUgQEAKKyAvKiB7IGRnLWRvIGNvbXBpbGUgeyB0YXJnZXQgeyAhIGlhMzIgfSB9IH0gKi8KKy0vKiB7IGRnLW9wdGlvbnMgIi1tbm8tc3NlIiB9ICovCisrLyogeyBkZy1vcHRpb25zICItbW5vLXNzZSAtbWZwbWF0aD0zODciIH0gKi8KKyAvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1hYmk9c3lzdiIgeyB0YXJnZXQgKi0qLW1pbmd3KiB9IH0gKi8KKyAKKyBkb3VibGUgZm9vKHZvaWQpIHsgcmV0dXJuIDA7IH0JLyogeyBkZy1lcnJvciAiU1NFIGRpc2FibGVkIiB9ICovCitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvZnVuY3NwZWMtNi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvZnVuY3NwZWMtNi5jCitpbmRleCBlYTg5NmI3ZWJmZC4uYmYxNTU2OWI4MjYgMTAwNjQ0CistLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9mdW5jc3BlYy02LmMKKysrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2Z1bmNzcGVjLTYuYworQEAgLTEsNiArMSw3IEBACisgLyogVGVzdCB3aGV0aGVyIGFsbCBvZiB0aGUgNjQtYml0IGZ1bmN0aW9uIHNwZWNpZmljIG9wdGlvbnMgYXJlIGFjY2VwdGVkCisgICAgd2l0aG91dCBlcnJvci4gICovCisgLyogeyBkZy1kbyBjb21waWxlIHsgdGFyZ2V0IHsgISBpYTMyIH0gfSB9ICovCisrLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tZnBtYXRoPTM4NyIgfSAqLworIAorICNpbmNsdWRlICJmdW5jc3BlYy01Ni5pbmMiCisgCitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvaW50ZXJydXB0LTM4Ny1lcnItMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvaW50ZXJydXB0LTM4Ny1lcnItMS5jCitpbmRleCAzZmJkYzg4MWRkYS4uNmI0ZDlkMTI1MmEgMTAwNjQ0CistLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9pbnRlcnJ1cHQtMzg3LWVyci0xLmMKKysrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2ludGVycnVwdC0zODctZXJyLTEuYworQEAgLTEsNSArMSw1IEBACisgLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy0vKiB7IGRnLW9wdGlvbnMgIi1PMiAtbWdlbmVyYWwtcmVncy1vbmx5IC1tbm8tY2xkIC1tbm8taWFtY3UgLW04MDM4NyIgfSAqLworKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1tZ2VuZXJhbC1yZWdzLW9ubHkgLW1uby1jbGQgLW1uby1pYW1jdSAtbTgwMzg3IC1tZnBtYXRoPTM4NyIgfSAqLworIAorIHR5cGVkZWYgdW5zaWduZWQgaW50IHV3b3JkX3QgX19hdHRyaWJ1dGVfXyAoKG1vZGUgKF9fd29yZF9fKSkpOworIAorZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2lzYS0xNC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvaXNhLTE0LmMKK2luZGV4IDVkNDllNmU3N2ZlLi4xZGUyZGI5MmJkZCAxMDA2NDQKKy0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2lzYS0xNC5jCisrKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9pc2EtMTQuYworQEAgLTEsNSArMSw1IEBACisgLyogeyBkZy1kbyBydW4gfSAqLworLS8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXg4Ni02NCAtbXNzZTRhIC1tZm1hNCAtbW5vLXNzZSIgfSAqLworKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXg4Ni02NCAtbXNzZTRhIC1tZm1hNCAtbW5vLXNzZSAtbWZwbWF0aD0zODciIH0gKi8KKyAKKyBleHRlcm4gdm9pZCBhYm9ydCAodm9pZCk7CisgCitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI0NDk0OC0yYi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI0NDk0OC0yYi5jCitpbmRleCBmYTE3NjliNjJmYi4uZjc5ZmIxMjcyNmYgMTAwNjQ0CistLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjQ0OTQ4LTJiLmMKKysrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNDQ5NDgtMmIuYworQEAgLTEsNSArMSw1IEBACisgLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy0vKiB7IGRnLW9wdGlvbnMgIi1PIC1tbm8tc3NlIC1Xbm8tcHNhYmkgLW10dW5lPWdlbmVyaWMiIH0gKi8KKysvKiB7IGRnLW9wdGlvbnMgIi1PIC1tbm8tc3NlIC1Xbm8tcHNhYmkgLW10dW5lPWdlbmVyaWMgLW1mcG1hdGg9Mzg3IiB9ICovCisgCisgc3RydWN0IEEKKyB7IAorZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0xLmMKK2luZGV4IDJlODlmZjdkODFkLi42MzM5YmY2YjczNiAxMDA2NDQKKy0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMS5jCisrKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTEuYworQEAgLTEsNiArMSw2IEBACisgLyogUFIgdGFyZ2V0LzUzNDI1ICovCisgLyogeyBkZy1kbyBjb21waWxlIHsgdGFyZ2V0IHsgISBpYTMyIH0gfSB9ICovCistLyogeyBkZy1vcHRpb25zICItTzIgLW1uby1zc2UiIH0gKi8KKysvKiB7IGRnLW9wdGlvbnMgIi1PMiAtbW5vLXNzZSAtbWZwbWF0aD0zODciIH0gKi8KKyAvKiB7IGRnLXNraXAtaWYgIm5vIFNTRSB2ZWN0b3IiIHsgeDg2XzY0LSotbWluZ3cqIH0gfSAqLworIAorIHR5cGVkZWYgZG91YmxlIF9fdjJkZiBfX2F0dHJpYnV0ZV9fICgoX192ZWN0b3Jfc2l6ZV9fICgxNikpKTsKK2RpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMi5jCitpbmRleCA2MWY2MjgzZGJlOS4uMmM1YTU1ZjBhYzMgMTAwNjQ0CistLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTIuYworKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0yLmMKK0BAIC0xLDYgKzEsNiBAQAorIC8qIFBSIHRhcmdldC81MzQyNSAqLworIC8qIHsgZGctZG8gY29tcGlsZSB7IHRhcmdldCB7ICEgaWEzMiB9IH0gfSAqLworLS8qIHsgZGctb3B0aW9ucyAiLU8yIC1tbm8tc3NlIiB9ICovCisrLyogeyBkZy1vcHRpb25zICItTzIgLW1uby1zc2UgLW1mcG1hdGg9Mzg3IiB9ICovCisgLyogeyBkZy1za2lwLWlmICJubyBTU0UgdmVjdG9yIiB7IHg4Nl82NC0qLW1pbmd3KiB9IH0gKi8KKyAKKyB0eXBlZGVmIGZsb2F0IF9fdjJzZiBfX2F0dHJpYnV0ZV9fICgoX192ZWN0b3Jfc2l6ZV9fICg4KSkpOworZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTUyNDcuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTUyNDcuYworaW5kZXggMjMzNjZkMDkwOWQuLjk4MTBlM2FiYjc2IDEwMDY0NAorLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1NTI0Ny5jCisrKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjU1MjQ3LmMKK0BAIC0xLDYgKzEsNiBAQAorIC8qIHsgZGctZG8gY29tcGlsZSB7IHRhcmdldCB7ICEgaWEzMiB9IH0gfSAqLworIC8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IG1heWJlX3gzMiB9ICovCistLyogeyBkZy1vcHRpb25zICItTzIgLW1uby1zc2UgLW1uby1tbXggLW14MzIgLW1hZGRyZXNzLW1vZGU9bG9uZyIgfSAqLworKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1tbm8tc3NlIC1tbm8tbW14IC1teDMyIC1tYWRkcmVzcy1tb2RlPWxvbmcgLW1mcG1hdGg9Mzg3IiB9ICovCisgCisgdHlwZWRlZiB1bnNpZ25lZCBpbnQgdWludDMyX3Q7CisgdHlwZWRlZiB1aW50MzJfdCBFbGYzMl9Xb3JkOworZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTk2NDQuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTk2NDQuYworaW5kZXggOTYwMDZiM2UzMzguLjQyODdlNDUzOGJmIDEwMDY0NAorLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1OTY0NC5jCisrKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjU5NjQ0LmMKK0BAIC0xLDYgKzEsNiBAQAorIC8qIFBSIHRhcmdldC81OTY0NCAqLworIC8qIHsgZGctZG8gcnVuIHsgdGFyZ2V0IGxwNjQgfSB9ICovCistLyogeyBkZy1vcHRpb25zICItTzIgLWZmcmVlc3RhbmRpbmcgLW1uby1zc2UgLW1wcmVmZXJyZWQtc3RhY2stYm91bmRhcnk9MyAtbWFjY3VtdWxhdGUtb3V0Z29pbmctYXJncyAtbW5vLXJlZC16b25lIiB9ICovCisrLyogeyBkZy1vcHRpb25zICItTzIgLWZmcmVlc3RhbmRpbmcgLW1uby1zc2UgLW1wcmVmZXJyZWQtc3RhY2stYm91bmRhcnk9MyAtbWFjY3VtdWxhdGUtb3V0Z29pbmctYXJncyAtbW5vLXJlZC16b25lIC1tZnBtYXRoPTM4NyIgfSAqLworIAorIC8qIFRoaXMgdGVzdCB1c2VzIF9fYnVpbHRpbl90cmFwICgpIGluc3RlYWQgb2YgZS5nLiBhYm9ydCwKKyAgICBiZWNhdXNlIGR1ZSB0byAtbXByZWZlcnJlZC1zdGFjay1ib3VuZGFyeT0zIGl0IHNob3VsZCBub3QgY2FsbAorZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNjIxMjAuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNjIxMjAuYworaW5kZXggYmZiOGM0NzAzZWIuLmVkMDRjZjE4MWYzIDEwMDY0NAorLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI2MjEyMC5jCisrKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjYyMTIwLmMKK0BAIC0xLDUgKzEsNSBAQAorIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCistLyogeyBkZy1vcHRpb25zICItbW5vLXNzZSIgfSAqLworKy8qIHsgZGctb3B0aW9ucyAiLW1uby1zc2UgLW1mcG1hdGg9Mzg3IiB9ICovCisgCisgdm9pZCBmb28gKCkKKyB7CitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI3MDQ2Ny0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjcwNDY3LTEuYworaW5kZXggNGUxMTJjODhkMDcuLmJjZmIzOTZhNjhkIDEwMDY0NAorLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI3MDQ2Ny0xLmMKKysrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNzA0NjctMS5jCitAQCAtMSw2ICsxLDYgQEAKKyAvKiBQUiBydGwtb3B0aW1pemF0aW9uLzcwNDY3ICovCisgLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy0vKiB7IGRnLW9wdGlvbnMgIi1PMiAtbW5vLXNzZSIgfSAqLworKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1tbm8tc3NlIC1tZnBtYXRoPTM4NyIgfSAqLworIAorIHZvaWQgZm9vICh1bnNpZ25lZCBsb25nIGxvbmcgKik7CisgCitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvd2Fybi12ZWN0LW9wLTEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3dhcm4tdmVjdC1vcC0xLmMKK2luZGV4IDZjZGExNTM0MzExLi4yNmUzN2Y1YjhiYSAxMDA2NDQKKy0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3dhcm4tdmVjdC1vcC0xLmMKKysrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3dhcm4tdmVjdC1vcC0xLmMKK0BAIC0xLDUgKzEsNSBAQAorIC8qIHsgZGctZG8gY29tcGlsZSB7IHRhcmdldCB7ICEgaWEzMiB9IH0gfSAgKi8KKy0vKiB7IGRnLW9wdGlvbnMgIi1tbm8tc3NlIC1XdmVjdG9yLW9wZXJhdGlvbi1wZXJmb3JtYW5jZSIgfSAgKi8KKysvKiB7IGRnLW9wdGlvbnMgIi1tbm8tc3NlIC1XdmVjdG9yLW9wZXJhdGlvbi1wZXJmb3JtYW5jZSAtbWZwbWF0aD0zODciIH0gICovCisgI2RlZmluZSB2ZWN0b3IoZWxjb3VudCwgdHlwZSkgIFwKKyBfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSgoZWxjb3VudCkqc2l6ZW9mKHR5cGUpKSkpIHR5cGUKKyAKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzgtUmUtaW50cm9kdWNlLXNwZS1jb21tYW5kbGluZS1vcHRpb25zLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAzOC1SZS1pbnRyb2R1Y2Utc3BlLWNvbW1hbmRsaW5lLW9wdGlvbnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGRlODg5MgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzgtUmUtaW50cm9kdWNlLXNwZS1jb21tYW5kbGluZS1vcHRpb25zLnBhdGNoCkBAIC0wLDAgKzEsNDEgQEAKK0Zyb20gZjBiZWE5NjQzNGFjNDc4YzNjZmY4YzI5ZGQ5N2NjY2ZhYzViMzVlMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBXZWQsIDYgSnVuIDIwMTggMTI6MTA6MjIgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSCAzOC80MF0gUmUtaW50cm9kdWNlIHNwZSBjb21tYW5kbGluZSBvcHRpb25zCisKK1RoaXMgc2hvdWxkIGVuc3VyZSB0aGF0IHdlIGtlZXAgYWNjZXB0aW5nCitzcGUgb3B0aW9ucworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW1NQRSBwb3J0IGlzIHJlbW92ZWQgZnJvbSByczYwMCBwb3J0XQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLm9wdCB8IDEyICsrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL3JzNjAwMC9yczYwMDAub3B0IGIvZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLm9wdAoraW5kZXggYWNlOGE0Nzc1NTAuLmQ2YThmODI1ZDg4IDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLm9wdAorKysrIGIvZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLm9wdAorQEAgLTM2NSw2ICszNjUsMTggQEAgbWRlYnVnPQorIFRhcmdldCBSZWplY3ROZWdhdGl2ZSBKb2luZWQKKyAtbWRlYnVnPQlFbmFibGUgZGVidWcgb3V0cHV0LgorIAorK21zcGUKKytUYXJnZXQgVmFyKHJzNjAwMF9zcGUpIFNhdmUKKytHZW5lcmF0ZSBTUEUgU0lNRCBpbnN0cnVjdGlvbnMgb24gRTUwMC4KKysKKyttYWJpPXNwZQorK1RhcmdldCBSZWplY3ROZWdhdGl2ZSBWYXIocnM2MDAwX3NwZV9hYmkpIFNhdmUKKytVc2UgdGhlIFNQRSBBQkkgZXh0ZW5zaW9ucy4KKysKKyttYWJpPW5vLXNwZQorK1RhcmdldCBSZWplY3ROZWdhdGl2ZSBWYXIocnM2MDAwX3NwZV9hYmksIDApCisrRG8gbm90IHVzZSB0aGUgU1BFIEFCSSBleHRlbnNpb25zLgorKworIG1hYmk9YWx0aXZlYworIFRhcmdldCBSZWplY3ROZWdhdGl2ZSBWYXIocnM2MDAwX2FsdGl2ZWNfYWJpKSBTYXZlCisgVXNlIHRoZSBBbHRpVmVjIEFCSSBleHRlbnNpb25zLgorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAzOS1yaXNjdi1EaXNhYmxlLW11bHRpbGliLWZvci1PRS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzktcmlzY3YtRGlzYWJsZS1tdWx0aWxpYi1mb3ItT0UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjdiMjIyZQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzktcmlzY3YtRGlzYWJsZS1tdWx0aWxpYi1mb3ItT0UucGF0Y2gKQEAgLTAsMCArMSwyNyBAQAorRnJvbSAyNGY3NDQ0NGMwMGM2YzliZjA3NmZiMDAyNjE0ZWJmNmRlYzMxZjFhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjggRGVjIDIwMTggMDk6NTk6NTMgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSCAzOS80MF0gcmlzY3Y6IERpc2FibGUgbXVsdGlsaWIgZm9yIE9FCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0UtU3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBnY2MvY29uZmlnL3Jpc2N2L3QtbGludXggfCA2ICsrKystLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3QtbGludXggYi9nY2MvY29uZmlnL3Jpc2N2L3QtbGludXgKK2luZGV4IDIxNmQyNzc2YTE4Li5lNGQ4MTc2MjFmYyAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvcmlzY3YvdC1saW51eAorKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi90LWxpbnV4CitAQCAtMSwzICsxLDUgQEAKKyAjIE9ubHkgWExFTiBhbmQgQUJJIGFmZmVjdCBMaW51eCBtdWx0aWxpYiBkaXIgbmFtZXMsIGUuZy4gL2xpYjMyL2lscDMyZC8KKy1NVUxUSUxJQl9ESVJOQU1FUyA6PSAkKHBhdHN1YnN0IHJ2MzIlLGxpYjMyLCQocGF0c3Vic3QgcnY2NCUsbGliNjQsJChNVUxUSUxJQl9ESVJOQU1FUykpKQorLU1VTFRJTElCX09TRElSTkFNRVMgOj0gJChwYXRzdWJzdCBsaWIlLC4uL2xpYiUsJChNVUxUSUxJQl9ESVJOQU1FUykpCisrI01VTFRJTElCX0RJUk5BTUVTIDo9ICQocGF0c3Vic3QgcnYzMiUsbGliMzIsJChwYXRzdWJzdCBydjY0JSxsaWI2NCwkKE1VTFRJTElCX0RJUk5BTUVTKSkpCisrTVVMVElMSUJfRElSTkFNRVMgOj0gLiAuCisrI01VTFRJTElCX09TRElSTkFNRVMgOj0gJChwYXRzdWJzdCBsaWIlLC4uL2xpYiUsJChNVUxUSUxJQl9ESVJOQU1FUykpCisrTVVMVElMSUJfT1NESVJOQU1FUyA6PSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKQorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDA0MC1wb3dlcnBjLXBvd2VycGM2NC1BZGQtc3VwcG9ydC1mb3ItbXVzbC1sZHNvLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDA0MC1wb3dlcnBjLXBvd2VycGM2NC1BZGQtc3VwcG9ydC1mb3ItbXVzbC1sZHNvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmYmExNjMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDQwLXBvd2VycGMtcG93ZXJwYzY0LUFkZC1zdXBwb3J0LWZvci1tdXNsLWxkc28ucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSA0YmQwYTM4NjZmMzAyNzI1Y2I0ZWRkY2FkZGFlZWNlNjQ5MDBjNDJmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogU2VyaGV5IFBvcG92eWNoIDxzZXJoZS5wb3BvdnljaEBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDExIERlYyAyMDE4IDAyOjMwOjUwIC0wNTAwCitTdWJqZWN0OiBbUEFUQ0ggNDAvNDBdIHBvd2VycGMvcG93ZXJwYzY0OiBBZGQgc3VwcG9ydCBmb3IgbXVzbCBsZHNvCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0UtU3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IFNlcmhleSBQb3BvdnljaCA8c2VyaGUucG9wb3Z5Y2hAZ21haWwuY29tPgorLS0tCisgZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaCBiL2djYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaAoraW5kZXggNjE5ZTExM2UyYjguLmVlOGI0NGY5Mzc0IDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oCisrKysgYi9nY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmgKK0BAIC00MjEsOSArNDIxLDkgQEAgZXh0ZXJuIGludCBkb3Rfc3ltYm9sczsKKyAjZW5kaWYKKyAKKyAjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIzMiBcCistICAiL2xpYi9sZC1tdXNsLXBvd2VycGMiIE1VU0xfRFlOQU1JQ19MSU5LRVJfRSAiJXttc29mdC1mbG9hdDotc2Z9LnNvLjEiCisrICBTWVNURU1MSUJTX0RJUiAibGQtbXVzbC1wb3dlcnBjIiBNVVNMX0RZTkFNSUNfTElOS0VSX0UgIiV7bXNvZnQtZmxvYXQ6LXNmfS5zby4xIgorICNkZWZpbmUgTVVTTF9EWU5BTUlDX0xJTktFUjY0IFwKKy0gICIvbGliL2xkLW11c2wtcG93ZXJwYzY0IiBNVVNMX0RZTkFNSUNfTElOS0VSX0UgIiV7bXNvZnQtZmxvYXQ6LXNmfS5zby4xIgorKyAgU1lTVEVNTElCU19ESVIgImxkLW11c2wtcG93ZXJwYzY0IiBNVVNMX0RZTkFNSUNfTElOS0VSX0UgIiV7bXNvZnQtZmxvYXQ6LXNmfS5zby4xIgorIAorICNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSMzIgU1lTVEVNTElCU19ESVIgImxkLXVDbGliYy5zby4wIgorICNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSNjQgU1lTVEVNTElCU19ESVIgImxkNjQtdUNsaWJjLnNvLjAiCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNvbW1vbi5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNvbW1vbi5pbmMKaW5kZXggMDBmZWMwYi4uOTYzMzRlNSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jb21tb24uaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY29tbW9uLmluYwpAQCAtMTAsMTIgKzEwLDExIEBACiBpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHRleGluZm8KIAogQlBOID0gImdjYyIKLUNPTVBJTEVSSU5JVElBTCA9ICIiCi1DT01QSUxFUkRFUCA9ICJ2aXJ0dWFsLyR7TUxQUkVGSVh9JHtUQVJHRVRfUFJFRklYfWdjYyR7Q09NUElMRVJJTklUSUFMfTpkb19nY2Nfc3Rhc2hfYnVpbGRkaXIiCi1DT01QSUxFUkRFUF9jbGFzcy1uYXRpdmVzZGsgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjJHtDT01QSUxFUklOSVRJQUx9LWNyb3Nzc2RrOmRvX2djY19zdGFzaF9idWlsZGRpciIKK0NPTVBJTEVSREVQID0gInZpcnR1YWwvJHtNTFBSRUZJWH0ke1RBUkdFVF9QUkVGSVh9Z2NjOmRvX2djY19zdGFzaF9idWlsZGRpciIKK0NPTVBJTEVSREVQX2NsYXNzLW5hdGl2ZXNkayA9ICJ2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nY2MtY3Jvc3NzZGs6ZG9fZ2NjX3N0YXNoX2J1aWxkZGlyIgogCiBweXRob24gZXh0cmFjdF9zdGFzaGVkX2J1aWxkZGlyICgpIHsKLSAgICBzcmMgPSBkLmV4cGFuZCgiJHtDT01QT05FTlRTX0RJUn0vJHtCVUlMRF9BUkNIfS9nY2Mtc3Rhc2hlZC1idWlsZGRpciR7Q09NUElMRVJJTklUSUFMfS0ke1RBUkdFVF9TWVN9IikKKyAgICBzcmMgPSBkLmV4cGFuZCgiJHtDT01QT05FTlRTX0RJUn0vJHtCVUlMRF9BUkNIfS9nY2Mtc3Rhc2hlZC1idWlsZGRpci0ke1RBUkdFVF9TWVN9IikKICAgICBkZXN0ID0gZC5nZXRWYXIoIkIiKQogICAgIG9lLnBhdGguY29weWhhcmRsaW5rdHJlZShzcmMsIGRlc3QpCiAgICAgc3RhZ2luZ19wcm9jZXNzZml4bWUoW3NyYyArICIvZml4bWVwYXRoIl0sIGRlc3QsIGRlc3QsIGRlc3QsIGQpCkBAIC0zOCw3ICszNyw3IEBACiAgICAgcmV0dXJuICIiCiAKIGRlZiBnZXRfZ2NjX3BwY19wbHRfc2V0dGluZ3MoYmIsIGQpOgotICAgIGlmIGQuZ2V0VmFyKCdUUkFOU0xBVEVEX1RBUkdFVF9BUkNIJykgaW4gWyAncG93ZXJwYycgXSBhbmQgbm90IGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYnNzcGx0JywgVHJ1ZSwgRmFsc2UsIGQpOgorICAgIGlmIGQuZ2V0VmFyKCdUUkFOU0xBVEVEX1RBUkdFVF9BUkNIJykgaW4gWyAncG93ZXJwYycsICdwb3dlcnBjNjQnIF0gYW5kIG5vdCBiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2Jzc3BsdCcsIFRydWUsIEZhbHNlLCBkKToKICAgICAgICAgcmV0dXJuICItLWVuYWJsZS1zZWN1cmVwbHQiCiAgICAgcmV0dXJuICIiCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY29uZmlndXJlLWNvbW1vbi5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNvbmZpZ3VyZS1jb21tb24uaW5jCmluZGV4IGUyY2UyMzQuLjM3NWM1ZTkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY29uZmlndXJlLWNvbW1vbi5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jb25maWd1cmUtY29tbW9uLmluYwpAQCAtMTcsNyArMTcsNiBAQAogCiBFWFRSQV9PRUNPTkZfQkFTRSA/PSAiIgogRVhUUkFfT0VDT05GX1BBVEhTID89ICIiCi1FWFRSQV9PRUNPTkZfSU5JVElBTCA/PSAiIgogCiBHQ0NNVUxUSUxJQiA/PSAiLS1kaXNhYmxlLW11bHRpbGliIgogR0NDVEhSRUFEUyA/PSAicG9zaXgiCkBAIC00Nyw2ICs0NiwxMCBAQAogICAgICR7QGdldF9nY2NfbXVsdGlhcmNoX3NldHRpbmcoYmIsIGQpfSBcCiAiCiAKKyMgZ2xpYmMgdmVyc2lvbiBpcyBhIG1pbmltdW0gY29udHJvbGxpbmcgd2hldGhlciBmZWF0dXJlcyBhcmUgZW5hYmxlZC4gCisjIERvZXNuJ3QgbmVlZCB0byB0cmFjayBnbGliYyBleGFjdGx5CitFWFRSQV9PRUNPTkZfYXBwZW5kX2xpYmMtZ2xpYmMgPSAiIC0td2l0aC1nbGliYy12ZXJzaW9uPTIuMjggIgorCiAjIFNldCB0aGlzIGhlcmUgc2luY2UgR0NDIGNvbmZpZ3VyZSB3b24ndCBhdXRvLWRldGVjdCBhbmQgZW5hYmxlCiAjIGluaXRmaW5pLWFycnkgd2hlbiBjcm9zcyBjb21waWxpbmcuCiBFWFRSQV9PRUNPTkZfYXBwZW5kID0gIiAtLWVuYWJsZS1pbml0ZmluaS1hcnJheSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3MtY2FuYWRpYW4uaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zcy1jYW5hZGlhbi5pbmMKaW5kZXggMmYzMmQzNC4uZTdjMDhkMyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zcy1jYW5hZGlhbi5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zcy1jYW5hZGlhbi5pbmMKQEAgLTMsNyArMyw3IEBACiBTVU1NQVJZID0gIkdOVSBjYyBhbmQgZ2NjIEMgY29tcGlsZXJzIChjcm9zcy1jYW5hZGlhbiBmb3IgJHtUQVJHRVRfQVJDSH0gdGFyZ2V0KSIKIFBOID0gImdjYy1jcm9zcy1jYW5hZGlhbi0ke1RSQU5TTEFURURfVEFSR0VUX0FSQ0h9IgogCi1ERVBFTkRTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYyB2aXJ0dWFsLyR7SE9TVF9QUkVGSVh9Z2NjLWNyb3Nzc2RrIHZpcnR1YWwvJHtIT1NUX1BSRUZJWH1iaW51dGlscy1jcm9zc3NkayB2aXJ0dWFsL25hdGl2ZXNkay0ke0hPU1RfUFJFRklYfWxpYmMtZm9yLWdjYyBuYXRpdmVzZGstZ2V0dGV4dCBmbGV4LW5hdGl2ZSIKK0RFUEVORFMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjIHZpcnR1YWwvJHtIT1NUX1BSRUZJWH1nY2MtY3Jvc3NzZGsgdmlydHVhbC8ke0hPU1RfUFJFRklYfWJpbnV0aWxzLWNyb3Nzc2RrIHZpcnR1YWwvbmF0aXZlc2RrLWxpYmMgbmF0aXZlc2RrLWdldHRleHQgZmxleC1uYXRpdmUgdmlydHVhbC9saWJjIgogCiBHQ0NNVUxUSUxJQiA9ICItLWVuYWJsZS1tdWx0aWxpYiIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zcy1jYW5hZGlhbl84LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzLWNhbmFkaWFuXzguMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmY1M2M1Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzLWNhbmFkaWFuXzguMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotcmVxdWlyZSByZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtJHtQVn0uaW5jCi1yZXF1aXJlIGdjYy1jcm9zcy1jYW5hZGlhbi5pbmMKLQotCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3MtY2FuYWRpYW5fNy4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zcy1jYW5hZGlhbl84LjMuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3MtY2FuYWRpYW5fNy4zLmJiCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzLWNhbmFkaWFuXzguMy5iYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zcy1pbml0aWFsLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3MtaW5pdGlhbC5pbmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg5MmIxZGIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zcy1pbml0aWFsLmluYworKysgL2Rldi9udWxsCkBAIC0xLDg5ICswLDAgQEAKLURFUEVORFMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9YmludXRpbHMgJHtOQVRJVkVERVBTfSIKLVBST1ZJREVTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYy1pbml0aWFsIgotUEFDS0FHRVMgPSAiIgotCi1JTkhJQklUX0FVVE9UT09MU19ERVBTID0gIjEiCi1JTkhJQklUX0RFRkFVTFRfREVQUyA9ICIxIgotCi0jIFdlIHN0aWxsIG5lZWQgZ251LWNvbmZpZy1uYXRpdmUKLURFUEVORFNfcHJlcGVuZCA9ICJnbnUtY29uZmlnLW5hdGl2ZSBhdXRvY29uZi1uYXRpdmUgIgotCi1QTiA9ICJnY2MtY3Jvc3MtaW5pdGlhbC0ke1RBUkdFVF9BUkNIfSIKLQotQ1JPU1NfVEFSR0VUX1NZU19ESVJfYXBwZW5kID0gIi4ke1BOfSIKLQotIyBUaGlzIGlzIGludGVuZGVkIHRvIGJlIGEgLXZlcnktIGJhc2ljIGNvbmZpZwotIyBzeXNyb290IGlzIG5lZWRlZCBpbiBjYXNlIHdlIHVzZSBsaWJjLWluaXRpYWwKLUVYVFJBX09FQ09ORiA9ICJcCi0gICAgLS13aXRoLW5ld2xpYiBcCi0gICAgLS13aXRob3V0LWhlYWRlcnMgXAotICAgIC0tZGlzYWJsZS1zaGFyZWQgXAotICAgIC0tZGlzYWJsZS10aHJlYWRzIFwKLSAgICAtLWRpc2FibGUtbXVsdGlsaWIgXAotICAgIC0tZGlzYWJsZS1fX2N4YV9hdGV4aXQgXAotICAgIC0tZW5hYmxlLWxhbmd1YWdlcz1jIFwKLSAgICAtLXByb2dyYW0tcHJlZml4PSR7VEFSR0VUX1BSRUZJWH0gXAotICAgIC0td2l0aC1zeXNyb290PS9ub3QvZXhpc3QgXAotICAgIC0td2l0aC1idWlsZC1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfSBcCi0gICAgJHtFWFRSQV9PRUNPTkZfSU5JVElBTH0gXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGQtaXMtZ29sZCcsICctLXdpdGgtbGQ9JHtTVEFHSU5HX0JJTkRJUl9UT09MQ0hBSU59LyR7VEFSR0VUX1BSRUZJWH1sZC5iZmQnLCAnJywgZCl9IFwKLSAgICAke0VYVFJBX09FQ09ORl9HQ0NfRkxPQVR9IFwKLSAgICAke0BnZXRfZ2NjX3BwY19wbHRfc2V0dGluZ3MoYmIsIGQpfSBcCi0iCi0KLUVYVFJBX09FQ09ORiArPSAiLS13aXRoLW5hdGl2ZS1zeXN0ZW0taGVhZGVyLWRpcj0ke1NZU1RFTUhFQURFUlN9IgotCi1kb19jb21waWxlICgpIHsKLSAgICBvZV9ydW5tYWtlIGFsbC1nY2MgY29uZmlndXJlLXRhcmdldC1saWJnY2MKLSAgICAoY2QgJHtCfS8ke1RBUkdFVF9TWVN9L2xpYmdjYzsgb2VfcnVubWFrZSBlbmFibGUtZXhlY3V0ZS1zdGFjay5jIHVud2luZC5oIG1kLXVud2luZC1zdXBwb3J0Lmggc2ZwLW1hY2hpbmUuaCBndGhyLWRlZmF1bHQuaCkKLX0KLQotZG9faW5zdGFsbCAoKSB7Ci0JKCBjZCAke0J9LyR7VEFSR0VUX1NZU30vbGliZ2NjOyBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwtdW53aW5kX2gtZm9yYnVpbGQgaW5zdGFsbC11bndpbmRfaCkKLQlvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwtZ2NjCi0KLQkjIFdlIGRvbid0IHJlYWxseSBuZWVkIHRoaXMgKGhlcmUgc2hhcmVzLyBjb250YWlucyBtYW4vLCBpbmZvLywgbG9jYWxlLykuCi0Jcm0gLXJmICR7RH0ke2RhdGFkaXJ9LwotCi0JIyBXZSB1c2UgbGliaWJlcnR5IGZyb20gYmludXRpbHMKLQlmaW5kICR7RH0ke2V4ZWNfcHJlZml4fS9saWIgLW5hbWUgbGliaWJlcnR5LmEgfCB4YXJncyBybSAtZgotCWZpbmQgJHtEfSR7ZXhlY19wcmVmaXh9L2xpYiAtbmFtZSBsaWJpYmVydHkuaCB8IHhhcmdzIHJtIC1mCi0KLQkjIEluc2VydCBzeW1saW5rcyBpbnRvIGxpYmV4ZWMgc28gd2hlbiB0b29scyB3aXRob3V0IGEgcHJlZml4IGFyZSBzZWFyY2hlZCBmb3IsIHRoZSBjb3JyZWN0IG9uZXMgYXJlCi0JIyBmb3VuZC4gVGhlc2UgbmVlZCB0byBiZSByZWxhdGl2ZSBwYXRocyBzbyB0aGV5IHdvcmsgaW4gZGlmZmVyZW50IGxvY2F0aW9ucy4KLQlkZXN0PSR7RH0ke2xpYmV4ZWNkaXJ9L2djYy8ke1RBUkdFVF9TWVN9LyR7QklOVn0vCi0JaW5zdGFsbCAtZCAkZGVzdAotCXVzZWxkPSR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGQtaXMtZ29sZCcsICcuYmZkJywgJycsIGQpfQotCWxuIC1zZiAke0JJTlJFTFBBVEh9LyR7VEFSR0VUX1BSRUZJWH1sZCR7dXNlbGR9ICR7ZGVzdH1sZAotCWZvciB0IGluIGFyIGFzIG5tIG9iamNvcHkgb2JqZHVtcCByYW5saWIgc3RyaXAgZzc3IGdjYyBjcHAgZ2ZvcnRyYW47IGRvCi0JCWxuIC1zZiAke0JJTlJFTFBBVEh9LyR7VEFSR0VUX1BSRUZJWH0kdCAkZGVzdCR0Ci0JZG9uZQotCSMgZml4ZWQgbGltaXRzLmggaW5mYWN0IGluY2x1ZGVzIHRoZSBzbyBjYWxsZWQgcmVhbCBsaW1pdHMuaAotCSMgd2hpY2ggc2hvdWxkIGNvbWUgZnJvbSBsaWJjIGJ1dCB3aGVuIHdlIGJ1aWxkIGxpYmMtaW5pdGlhbAotCSMgdGhlbiBidW5jaCBvZiBjb25maWd1cmUgdGVzdHMgaW5jbHVkZSBmaXhlZCBsaW1pdHMuaCB3aGljaCBpbiB0dXJuCi0JIyBpbmNsdWRlcyByZWFsIGxpbWl0cy5oIGJ1dCB0aGlzIHJlYWwgbGltaXRzLmggaXMgbm90IHN0YWdlZCB5ZXQKLQkjIHNvIHdlIG92ZXJ3aXJ0ZSB0aGUgZ2VuZXJhdGVkIGluY2x1ZGUtZml4ZWQvbGltaXRzLmggZm9yIGdjYy1jcm9zcy1pbml0aWFsCi0JIyB0byBnZXQgcmlkIHJlZmVyZW5jZXMgdG8gcmVhbCBsaW1pdHMuaAotCWNwIGdjYy9pbmNsdWRlLWZpeGVkL2xpbWl0cy5oICR7RH0ke2djY2xpYmRpcn0vJHtUQVJHRVRfU1lTfS8ke0JJTlZ9L2luY2x1ZGUvbGltaXRzLmgKLX0KLSMKLSMgT3ZlcnJpZGUgdGhlIGRlZmF1bHQgc3lzcm9vdCBzdGFnaW5nIGNvcHkgc2luY2UgdGhpcyB3b24ndCBsb29rIGxpa2UgYSB0YXJnZXQgc3lzdGVtCi0jCi1zeXNyb290X3N0YWdlX2FsbCgpIHsKLQlzeXNyb290X3N0YWdlX2RpciAke0R9ICR7U1lTUk9PVF9ERVNURElSfQotCWluc3RhbGwgLWQgJHtTWVNST09UX0RFU1RESVJ9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHt0YXJnZXRfYmFzZV9saWJkaXJ9LwotCWluc3RhbGwgLWQgJHtTWVNST09UX0RFU1RESVJ9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHt0YXJnZXRfbGliZGlyfS8KLQltdiAke1NZU1JPT1RfREVTVERJUn0ke3RhcmdldF9iYXNlX2xpYmRpcn0vKiAke1NZU1JPT1RfREVTVERJUn0ke1NUQUdJTkdfRElSX1RBUkdFVH0ke3RhcmdldF9iYXNlX2xpYmRpcn0vIHx8IHRydWUKLQltdiAke1NZU1JPT1RfREVTVERJUn0ke3RhcmdldF9saWJkaXJ9LyogJHtTWVNST09UX0RFU1RESVJ9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHt0YXJnZXRfbGliZGlyfS8gfHwgdHJ1ZQotfQotCi1kb19wb3B1bGF0ZV9zeXNyb290W3NzdGF0ZS1pbnB1dGRpcnNdID0gIiR7U1lTUk9PVF9ERVNURElSfS8ke1NUQUdJTkdfRElSX0hPU1R9LyIKLWRvX3BvcHVsYXRlX3N5c3Jvb3Rbc3N0YXRlLW91dHB1dGRpcnNdID0gIiR7Q09NUE9ORU5UU19ESVJ9LyR7UEFDS0FHRV9BUkNIfS8ke1BOfSIKLQotaW5oZXJpdCBub3BhY2thZ2VzCi0KLUNPTVBJTEVSSU5JVElBTCA9ICItaW5pdGlhbCIKLQotCi0jIFdlIHJlYWxseSBvbmx5IHdhbnQgdGhpcyBidWlsdCBieSB0aGluZ3MgdGhhdCBuZWVkIGl0LCBub3QgYW55IHJlY3JkZXB0YXNrCi1kZWx0YXNrIGRvX2J1aWxkCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzLWluaXRpYWxfNy4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zcy1pbml0aWFsXzcuMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGM3M2U1Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzLWluaXRpYWxfNy4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1yZXF1aXJlIHJlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zc18ke1BWfS5iYgotcmVxdWlyZSBnY2MtY3Jvc3MtaW5pdGlhbC5pbmMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3MtaW5pdGlhbF84LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzLWluaXRpYWxfOC4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YzczZTVjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3MtaW5pdGlhbF84LjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLXJlcXVpcmUgcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzXyR7UFZ9LmJiCi1yZXF1aXJlIGdjYy1jcm9zcy1pbml0aWFsLmluYwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zcy5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzLmluYwppbmRleCA4OWIxOTY4Li42MjIyYzJlIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzLmluYwpAQCAtMiw3ICsyLDcgQEAKIAogSU5ISUJJVF9ERUZBVUxUX0RFUFMgPSAiMSIKIEVYVFJBREVQRU5EUyA9ICIiCi1ERVBFTkRTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWJpbnV0aWxzIHZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWxpYmMtZm9yLWdjYyAke0VYVFJBREVQRU5EU30gJHtOQVRJVkVERVBTfSIKK0RFUEVORFMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9YmludXRpbHMgJHtFWFRSQURFUEVORFN9ICR7TkFUSVZFREVQU30iCiBQUk9WSURFUyA9ICJ2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nY2MgdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9ZysrIgogcHl0aG9uICgpIHsKICAgICBpZiBkLmdldFZhcigiVEFSR0VUX09TIikuc3RhcnRzd2l0aCgibGludXgiKToKQEAgLTMxLDcgKzMxLDYgQEAKICAgICAtLXdpdGgtc3lzdGVtLXpsaWIgXAogIgogCi1ERVBFTkRTX3JlbW92ZV9saWJjLWJhcmVtZXRhbCA6PSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9bGliYy1mb3ItZ2NjIgogRVhUUkFfT0VDT05GX2FwcGVuZF9saWJjLWJhcmVtZXRhbCA9ICIgLS13aXRob3V0LWhlYWRlcnMiCiBFWFRSQV9PRUNPTkZfcmVtb3ZlX2xpYmMtYmFyZW1ldGFsID0gIi0tZW5hYmxlLXRocmVhZHM9cG9zaXgiCiBFWFRSQV9PRUNPTkZfcmVtb3ZlX2xpYmMtbmV3bGliID0gIi0tZW5hYmxlLXRocmVhZHM9cG9zaXgiCkBAIC00NCw2ICs0MywxMiBAQAogCiBBUkNIX0ZMQUdTX0ZPUl9UQVJHRVQgKz0gIi1pc3lzdGVtJHtTVEFHSU5HX0RJUl9UQVJHRVR9JHt0YXJnZXRfaW5jbHVkZWRpcn0iCiAKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworCWluc3RhbGwgLWQgJHtSRUNJUEVfU1lTUk9PVH0ke3RhcmdldF9pbmNsdWRlZGlyfQorCXRvdWNoICR7UkVDSVBFX1NZU1JPT1R9JHt0YXJnZXRfaW5jbHVkZWRpcn0vbGltaXRzLmgKK30KKwogZG9fY29tcGlsZSAoKSB7CiAJZXhwb3J0IENDPSIke0JVSUxEX0NDfSIKIAlleHBvcnQgQVJfRk9SX1RBUkdFVD0iJHtUQVJHRVRfU1lTfS1hciIKQEAgLTIwOSw4ICsyMTQsOCBAQAogYWRkdGFzayBkb19nY2Nfc3Rhc2hfYnVpbGRkaXIgYWZ0ZXIgZG9fY29tcGlsZSBiZWZvcmUgZG9faW5zdGFsbAogU1NUQVRFVEFTS1MgKz0gImRvX2djY19zdGFzaF9idWlsZGRpciIKIGRvX2djY19zdGFzaF9idWlsZGRpcltzc3RhdGUtaW5wdXRkaXJzXSA9ICIke0JVSUxERElSU1RBU0h9IgotZG9fZ2NjX3N0YXNoX2J1aWxkZGlyW3NzdGF0ZS1vdXRwdXRkaXJzXSA9ICIke0NPTVBPTkVOVFNfRElSfS8ke0JVSUxEX0FSQ0h9L2djYy1zdGFzaGVkLWJ1aWxkZGlyJHtDT01QSUxFUklOSVRJQUx9LSR7VEFSR0VUX1NZU30iCi1kb19nY2Nfc3Rhc2hfYnVpbGRkaXJbc3N0YXRlLWZpeG1lZGlyXSA9ICIke0NPTVBPTkVOVFNfRElSfS8ke0JVSUxEX0FSQ0h9L2djYy1zdGFzaGVkLWJ1aWxkZGlyJHtDT01QSUxFUklOSVRJQUx9LSR7VEFSR0VUX1NZU30iCitkb19nY2Nfc3Rhc2hfYnVpbGRkaXJbc3N0YXRlLW91dHB1dGRpcnNdID0gIiR7Q09NUE9ORU5UU19ESVJ9LyR7QlVJTERfQVJDSH0vZ2NjLXN0YXNoZWQtYnVpbGRkaXItJHtUQVJHRVRfU1lTfSIKK2RvX2djY19zdGFzaF9idWlsZGRpcltzc3RhdGUtZml4bWVkaXJdID0gIiR7Q09NUE9ORU5UU19ESVJ9LyR7QlVJTERfQVJDSH0vZ2NjLXN0YXNoZWQtYnVpbGRkaXItJHtUQVJHRVRfU1lTfSIKIAogcHl0aG9uIGRvX2djY19zdGFzaF9idWlsZGRpcl9zZXRzY2VuZSAoKSB7CiAgICAgc3N0YXRlX3NldHNjZW5lKGQpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzXzguMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3NfOC4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNDNjY2EwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3NfOC4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1yZXF1aXJlIHJlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy0ke1BWfS5pbmMKLXJlcXVpcmUgZ2NjLWNyb3NzLmluYwotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzXzcuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3NfOC4zLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzXzcuMy5iYgpyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zc184LjMuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3NzZGstaW5pdGlhbC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3Nzc2RrLWluaXRpYWwuaW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwOGVkYTVkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3NzZGstaW5pdGlhbC5pbmMKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1pbmhlcml0IGNyb3Nzc2RrCi0KLVBOID0gImdjYy1jcm9zc3Nkay1pbml0aWFsLSR7U0RLX1NZU30iCi0KLVNZU1RFTUhFQURFUlMgPSAiJHtTREtQQVRITkFUSVZFfSR7cHJlZml4X25hdGl2ZXNka30vaW5jbHVkZSIKLVNZU1RFTUxJQlMgPSAiJHtTREtQQVRITkFUSVZFfSR7YmFzZV9saWJkaXJfbmF0aXZlc2RrfS8iCi1TWVNURU1MSUJTMSA9ICIke1NES1BBVEhOQVRJVkV9JHtsaWJkaXJfbmF0aXZlc2RrfS8iCi0KLURFUEVORFMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9YmludXRpbHMtY3Jvc3NzZGsgZ2V0dGV4dC1uYXRpdmUgJHtOQVRJVkVERVBTfSIKLVBST1ZJREVTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYy1pbml0aWFsLWNyb3Nzc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zc3Nkay1pbml0aWFsXzcuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3NzZGstaW5pdGlhbF83LjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZkOTBlMTEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zc3Nkay1pbml0aWFsXzcuMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotcmVxdWlyZSByZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3MtaW5pdGlhbF8ke1BWfS5iYgotcmVxdWlyZSBnY2MtY3Jvc3NzZGstaW5pdGlhbC5pbmMKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zc3Nkay1pbml0aWFsXzguMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3NzZGstaW5pdGlhbF84LjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZkOTBlMTEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zc3Nkay1pbml0aWFsXzguMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotcmVxdWlyZSByZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3MtaW5pdGlhbF8ke1BWfS5iYgotcmVxdWlyZSBnY2MtY3Jvc3NzZGstaW5pdGlhbC5pbmMKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zc3Nkay5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3Nzc2RrLmluYwppbmRleCBjZGEyOTI3Li5iZDJlNzFkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3Nzc2RrLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3Nzc2RrLmluYwpAQCAtOCw1ICs4LDUgQEAKIAogR0NDTVVMVElMSUIgPSAiLS1kaXNhYmxlLW11bHRpbGliIgogCi1ERVBFTkRTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWJpbnV0aWxzLWNyb3Nzc2RrIHZpcnR1YWwvbmF0aXZlc2RrLSR7VEFSR0VUX1BSRUZJWH1saWJjLWZvci1nY2MgZ2V0dGV4dC1uYXRpdmUgJHtOQVRJVkVERVBTfSIKK0RFUEVORFMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9YmludXRpbHMtY3Jvc3NzZGsgZ2V0dGV4dC1uYXRpdmUgJHtOQVRJVkVERVBTfSIKIFBST1ZJREVTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYy1jcm9zc3NkayB2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nKystY3Jvc3NzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3Nzc2RrXzguMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3NzZGtfOC4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MGE2YzRmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3NzZGtfOC4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1yZXF1aXJlIHJlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zc18ke1BWfS5iYgotcmVxdWlyZSBnY2MtY3Jvc3NzZGsuaW5jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3Nzc2RrXzcuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3NzZGtfOC4zLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3Nzc2RrXzcuMy5iYgpyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zc3Nka184LjMuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtcnVudGltZS5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXJ1bnRpbWUuaW5jCmluZGV4IDllN2U3YzUuLjNkMDNkOGUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtcnVudGltZS5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1ydW50aW1lLmluYwpAQCAtMTUsNiArMTUsNyBAQAogIgogCiBFWFRSQV9PRUNPTkZfYXBwZW5kX2xpbnV4c3RkYmFzZSA9ICIgLS1lbmFibGUtY2xvY2FsZT1nbnUiCitFWFRSQV9PRUNPTkZfYXBwZW5kID0gIiAtLWNhY2hlLWZpbGU9JHtCfS9jb25maWcuY2FjaGUiCiAKIFJVTlRJTUVMSUJJVE0gPSAibGliaXRtIgogUlVOVElNRUxJQklUTV9hcmMgPSAiIgpAQCAtMjksOSArMzAsNiBAQAogUlVOVElNRVRBUkdFVCA9ICIke1JVTlRJTUVMSUJTU1B9IGxpYnN0ZGMrKy12MyBsaWJnb21wIGxpYmF0b21pYyAke1JVTlRJTUVMSUJJVE19IFwKICAgICAke0BiYi51dGlscy5jb250YWluc19hbnkoJ0ZPUlRSQU4nLCBbJyxmb3J0cmFuJywnLGY3NyddLCAnbGlicXVhZG1hdGgnLCAnJywgZCl9IFwKICIKLVJVTlRJTUVUQVJHRVRfYXBwZW5kX3g4NiA9ICIgbGlibXB4IgotUlVOVElNRVRBUkdFVF9hcHBlbmRfeDg2LTY0ID0gIiBsaWJtcHgiCi1SVU5USU1FVEFSR0VUX3JlbW92ZV9saWJjLW11c2wgPSAibGlibXB4IgogCiAjIGxpYmliZXJ0eQogIyBsaWJtdWRmbGFwCkBAIC0xMjgsNyArMTI2LDcgQEAKIH0KIAogSU5ISUJJVF9ERUZBVUxUX0RFUFMgPSAiMSIKLURFUEVORFMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjIHZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWcrKyBsaWJnY2MiCitERVBFTkRTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYyB2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nKysgbGliZ2NjIHZpcnR1YWwvJHtNTFBSRUZJWH1saWJjIgogUFJPVklERVMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Y29tcGlsZXJsaWJzIgogCiBCQkNMQVNTRVhURU5EID0gIm5hdGl2ZXNkayIKQEAgLTE2MCwxOCArMTU4LDYgQEAKICAgICBsaWJpdG0tZGV2IFwKICAgICBsaWJpdG0tc3RhdGljZGV2IFwKICIKLVBBQ0tBR0VTX2FwcGVuZF94ODYgPSAiXAotICAgIGxpYm1weCBcCi0gICAgbGlibXB4LWRldiBcCi0gICAgbGlibXB4LXN0YXRpY2RldiBcCi0iCi0KLVBBQ0tBR0VTX2FwcGVuZF94ODYtNjQgPSAiXAotICAgIGxpYm1weCBcCi0gICAgbGlibXB4LWRldiBcCi0gICAgbGlibXB4LXN0YXRpY2RldiBcCi0iCi0KICMgVGhlIGJhc2UgcGFja2FnZSBkb2Vzbid0IGV4aXN0LCBzbyB3ZSBjbGVhciB0aGUgcmVjb21tZW5kcy4KIFJSRUNPTU1FTkRTXyR7UE59LWRiZyA9ICIiCiAKQEAgLTI3NCwyMSArMjYwLDMgQEAKIFNVTU1BUllfbGliaXRtLWRldiA9ICJHTlUgdHJhbnNhY3Rpb25hbCBtZW1vcnkgc3VwcG9ydCBsaWJyYXJ5IC0gZGV2ZWxvcG1lbnQgZmlsZXMiCiBGSUxFU19saWJpdG0tc3RhdGljZGV2ID0gIiR7bGliZGlyfS9saWJpdG0uYSIKIFNVTU1BUllfbGliaXRtLXN0YXRpY2RldiA9ICJHTlUgdHJhbnNhY3Rpb25hbCBtZW1vcnkgc3VwcG9ydCBsaWJyYXJ5IC0gc3RhdGljIGRldmVsb3BtZW50IGZpbGVzIgotCi0KLUZJTEVTX2xpYm1weCA9ICIke2xpYmRpcn0vbGlibXB4LnNvLiogJHtsaWJkaXJ9L2xpYm1weHdyYXBwZXJzLnNvLioiCi1TVU1NQVJZX2xpYm1weCA9ICJJbnRlbCBNZW1vcnkgUHJvdGVjdGlvbiBFeHRlbnNpb24gbGlicmFyeSIKLUZJTEVTX2xpYm1weC1kZXYgPSAiXAotICAgICR7bGliZGlyfS9saWJtcHh3cmFwcGVycy5zbyBcCi0gICAgJHtsaWJkaXJ9L2xpYm1weHdyYXBwZXJzLmxhIFwKLSAgICAke2xpYmRpcn0vbGlibXB4LnNvIFwKLSAgICAke2xpYmRpcn0vbGlibXB4LmxhIFwKLSAgICAke2xpYmRpcn0vbGlibXB4LnNwZWMgXAotIgotU1VNTUFSWV9saWJtcHgtZGV2ID0gIkludGVsIE1lbW9yeSBQcm90ZWN0aW9uIEV4dGVuc2lvbiBsaWJyYXJ5IC0gZGV2ZWxvcG1lbnQgZmlsZXMiCi1GSUxFU19saWJtcHgtc3RhdGljZGV2ID0gIiR7bGliZGlyfS9saWJtcHguYSAke2xpYmRpcn0vbGlibXB4d3JhcHBlcnMuYSIKLVNVTU1BUllfbGlibXB4LXN0YXRpY2RldiA9ICJJbnRlbCBNZW1vcnkgUHJvdGVjdGlvbiBFeHRlbnNpb24gbGlicmFyeSAtIHN0YXRpYyBkZXZlbG9wbWVudCBmaWxlcyIKLQotZG9fcGFja2FnZV93cml0ZV9pcGtbZGVwZW5kc10gKz0gInZpcnR1YWwvJHtNTFBSRUZJWH1saWJjOmRvX3BhY2thZ2VkYXRhIgotZG9fcGFja2FnZV93cml0ZV9kZWJbZGVwZW5kc10gKz0gInZpcnR1YWwvJHtNTFBSRUZJWH1saWJjOmRvX3BhY2thZ2VkYXRhIgotZG9fcGFja2FnZV93cml0ZV9ycG1bZGVwZW5kc10gKz0gInZpcnR1YWwvJHtNTFBSRUZJWH1saWJjOmRvX3BhY2thZ2VkYXRhIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1ydW50aW1lXzcuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtcnVudGltZV83LjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhmMzFlNzcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1ydW50aW1lXzcuMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotcmVxdWlyZSByZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtJHtQVn0uaW5jCi1yZXF1aXJlIGdjYy1ydW50aW1lLmluYwotCi1GSUxFU19saWJnb21wLWRldiArPSAiXAotICAgICR7bGliZGlyfS9nY2MvJHtUQVJHRVRfU1lTfS8ke0JJTlZ9L2luY2x1ZGUvb3BlbmFjYy5oIFwKLSIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1ydW50aW1lXzguMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtcnVudGltZV84LjMuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtcnVudGltZV84LjIuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtcnVudGltZV84LjMuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2Mtc2FuaXRpemVyc183LjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXNhbml0aXplcnNfNy4zLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MDFmNjY2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2Mtc2FuaXRpemVyc183LjMuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLXJlcXVpcmUgcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLSR7UFZ9LmluYwotcmVxdWlyZSBnY2Mtc2FuaXRpemVycy5pbmMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2Mtc2FuaXRpemVyc184LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXNhbml0aXplcnNfOC4zLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXNhbml0aXplcnNfOC4yLmJiCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXNhbml0aXplcnNfOC4zLmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXNvdXJjZV84LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXNvdXJjZV84LjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI4OTBmYTMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1zb3VyY2VfOC4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1yZXF1aXJlIHJlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy0ke1BWfS5pbmMKLXJlcXVpcmUgcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXNvdXJjZS5pbmMKLQotRVhDTFVERV9GUk9NX1dPUkxEID0gIjEiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXNvdXJjZV83LjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXNvdXJjZV84LjMuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2Mtc291cmNlXzcuMy5iYgpyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1zb3VyY2VfOC4zLmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXRhcmdldC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXRhcmdldC5pbmMKaW5kZXggYmMyMjM2Zi4uNjI3MDA1OSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy10YXJnZXQuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtdGFyZ2V0LmluYwpAQCAtMjAsNiArMjAsNyBAQAogRVhUUkFfT0VDT05GX2FwcGVuZF9hcm12NiA9ICIgLS13aXRoLWFyY2g9YXJtdjYke0FSTUZQQVJDSEVYVH0iCiBFWFRSQV9PRUNPTkZfYXBwZW5kX2FybXY3YSA9ICIgLS13aXRoLWFyY2g9YXJtdjctYSR7QVJNRlBBUkNIRVhUfSIKIEVYVFJBX09FQ09ORl9hcHBlbmRfYXJtdjd2ZSA9ICIgLS13aXRoLWFyY2g9YXJtdjd2ZSR7QVJNRlBBUkNIRVhUfSIKK0VYVFJBX09FQ09ORl9hcHBlbmRfYXJjID0gIiAtLXdpdGgtY3B1PSR7VFVORV9QS0dBUkNIfSIKIAogIyBsaWJjYzEgcmVxdXJlcyBnY2NfY3Zfb2JqZHVtcCB3aGVuIGNyb3NzIGJ1aWxkLCBidXQgZ2NjX2N2X29iamR1bXAgaXMKICMgc2V0IGluIHN1YmRpciBnY2MsIHNvIHN1YmRpciBsaWJjYzEgY2FuJ3QgdXNlIGl0LCBleHBvcnQgaXQgaGVyZSB0bwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djY183LjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjXzcuMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWIyMDhlNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjXzcuMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLXJlcXVpcmUgcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLSR7UFZ9LmluYwotcmVxdWlyZSBnY2MtdGFyZ2V0LmluYwotCi0jIEJ1aWxkaW5nIHdpdGggdGh1bWIgZW5hYmxlZCBvbiBhcm12NHQgYXJtdjV0IGZhaWxzIHdpdGgKLSMgfCBnY2MtNC44LjEtcjAvZ2NjLTQuOC4xL2djYy9jcC9kZWNsLmM6NzQzODooLnRleHQudW5saWtlbHkrMHgyZmEpOiByZWxvY2F0aW9uIHRydW5jYXRlZCB0byBmaXQ6IFJfQVJNX1RITV9DQUxMIGFnYWluc3Qgc3ltYm9sIGBmYW5jeV9hYm9ydChjaGFyIGNvbnN0KiwgaW50LCBjaGFyIGNvbnN0KiknIGRlZmluZWQgaW4gLmdsdWVfNyBzZWN0aW9uIGluIGxpbmtlciBzdHVicwotIyB8IGdjYy00LjguMS1yMC9nY2MtNC44LjEvZ2NjL2NwL2RlY2wuYzo3NDQyOigudGV4dC51bmxpa2VseSsweDMxOCk6IGFkZGl0aW9uYWwgcmVsb2NhdGlvbiBvdmVyZmxvd3Mgb21pdHRlZCBmcm9tIHRoZSBvdXRwdXQKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjQgPSAiYXJtIgotQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NSA9ICJhcm0iCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djY184LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjXzguMy5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djY184LjIuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2NfOC4zLmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2NjLWluaXRpYWwuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdjYy1pbml0aWFsLmluYwppbmRleCA5NTBhZDg2Li4wNmJmMjI0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2NjLWluaXRpYWwuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9saWJnY2MtaW5pdGlhbC5pbmMKQEAgLTEsMjAgKzEsNTggQEAKKyMKKyMgTm90ZXMgb24gdGhlIHdheSB0aGUgT0UgY3Jvc3MgdG9vbGNoYWluIG5vdyB3b3JrcworIworIyBXZSBuZWVkIGEgbGliZ2NjIHRvIGJ1aWxkIGdsaWJjLiBUcmFuZGl0aW9uYWxseSB3ZSB0aGVyZWZvcmUgYnVpbHQKKyMgYSBub24tdGhyZWFkZWQgYW5kIG5vbi1zaGFyZWQgY29tcGlsZXIgKGdjYy1jcm9zcy1pbml0aWFsKSwgdGhlbiB1c2UKKyMgdGhhdCB0byBidWlsZCBsaWJnY2MtaW5pdGlhbCB3aGljaCBpcyB1c2VkIHRvIGJ1aWxkIGdsaWJjIHdoaWNoIHdlIGNhbgorIyB0aGVuIGJ1aWxkIGdjYy1jcm9zcyBhbmQgbGliZ2NjIGFnYWluc3QuCisjCisjIFdlIHdlcmUgYWJsZSB0byBkcm9wIHRoZSBnbGliYyBkZXBlbmRlbmN5IGZyb20gZ2NjLWNyb3NzLCB3aXRoIHR3byB0d2Vha3M6CisKKyMgYSkgc3BlY2lmeSB0aGUgbWluaW11bSBnbGliYyB2ZXJzaW9uIHRvIHN1cHBvcnQgaW4gYSBjb25maWd1cmUgb3B0aW9uCisjIGIpIGNyZWF0ZSBhIGR1bW15IGxpbWl0cy5oIGZpbGUgc28gdGhhdCBsYXRlciB3aGVuIGdsaWJjIGNyZWF0ZXMgb25lLAorIyAgICB0aGUgaGVhZGVycyBzdHJ1Y3R1cmUgaGFzIHN1cHBvcnQgZm9yIGl0LiBXZSBjYW4gZG8gdGhpcyB3aXRoIGEgc2ltcGxlCisjICAgIGVtcHR5IGZpbGUKKyMKKyMgT25jZSBnY2MtY3Jvc3MgaXMgbGliYyBpbmRlcGVuZGVudCwgd2UgY2FuIHVzZSBpdCB0byBidWlsZCBib3RoCisjIGxpYmdjYy1pbml0aWFsIGFuZCB0aGVuIGxhdGVyIGxpYmdjYy4KKyMKKyMgbGliZ2NjLWluaXRpYWwgaXMgdHJpY2t5IGFzIHdlIG5lZWQgdG8gaW1pdGF0ZSB0aGUgbm9uLXRocmVhZGVkIGFuZAorIyBub24tc2hhcmVkIGNhc2UuIFdlIGNhbiBkbyB0aGF0IGJ5IGhhY2tpbmcgdGhlIHRocmVhZGluZyBtb2RlIGJhY2sgdG8KKyMgInNpbmdsZSIgZXZlbiBpZiBnY2MgcmVwb3J0cyAicG9zaXgiIGFuZCBkaXNhYmxlIGxpYmMgcHJlc2VuY2UgZm9yIHRoZQorIyBsaWJnY2MtaW50aWFsIGJ1aWxkLiBXZSBoYXZlIHRvIGNyZWF0ZSB0aGUgZHVtbXkgbGltaXRzLmggdG8gYXZvaWQKKyMgY29tcGlsZXIgZXJyb3JzIGZyb20gYSBtaXNzaW5nIGhlYWRlci4KKyMKKyMgZ2xpYmMgd2lsbCBmYWlsIHRvIGxpbmsgd2l0aCBsaWJnY2MtaW5pdGlhbCBkdWUgdG8gYSBtaXNzaW5nICJleGNlcHRpb24KKyMgaGFuZGxlciIgY2FwYWJsZSBsaWJnY2MgKGxpYmdjY19laC5hKS4gU2luY2Ugd2Uga25vdyBnbGliYyBkb2Vzbid0IG5lZWQKKyMgYW55IGV4Y2VwdGlvbiBoYW5kbGVyLCB3ZSBjYW4gc2FmZWx5IHN5bWxpbmsgdG8gbGliZ2NjLmEuCisjCisKIHJlcXVpcmUgbGliZ2NjLWNvbW1vbi5pbmMKIAotREVQRU5EUyA9ICJ2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nY2MtaW5pdGlhbCIKK0RFUEVORFMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjIgogCiBMSUNFTlNFID0gIkdQTC0zLjAtd2l0aC1HQ0MtZXhjZXB0aW9uIgogCi1TVEFHSU5HQ0MgPSAiZ2NjLWNyb3NzLWluaXRpYWwtJHtUQVJHRVRfQVJDSH0iCi1TVEFHSU5HQ0NfY2xhc3MtbmF0aXZlc2RrID0gImdjYy1jcm9zc3Nkay1pbml0aWFsLSR7U0RLX1NZU30iCi1QQVRIX3ByZXBlbmQgPSAiJHtTVEFHSU5HX0JJTkRJUl9UT09MQ0hBSU59LiR7U1RBR0lOR0NDfToiCi0KIFBBQ0tBR0VTID0gIiIKIAogRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtc2hhcmVkIgogCi1DT01QSUxFUklOSVRJQUwgPSAiLWluaXRpYWwiCi0KIGluaGVyaXQgbm9wYWNrYWdlcwogCiAjIFdlIHJlYWxseSBvbmx5IHdhbnQgdGhpcyBidWlsdCBieSB0aGluZ3MgdGhhdCBuZWVkIGl0LCBub3QgYW55IHJlY3JkZXB0YXNrCiBkZWx0YXNrIGRvX2J1aWxkCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKwlpbnN0YWxsIC1kICR7U1RBR0lOR19JTkNESVJ9CisJdG91Y2ggJHtTVEFHSU5HX0lOQ0RJUn0vbGltaXRzLmgKKwlzZWQgLWkgLWUgJ3MjSU5ISUJJVF9MSUJDX0NGTEFHUyA9LiojSU5ISUJJVF9MSUJDX0NGTEFHUyA9IC1EaW5oaWJpdF9saWJjIycgJHtCfS9nY2MvbGliZ2NjLm12YXJzCisJc2VkIC1pIC1lICdzI2luaGliaXRfbGliYyA9IGZhbHNlI2luaGliaXRfbGliYyA9IHRydWUjJyAke0J9L2djYy9NYWtlZmlsZQorfQorCitkb19jb25maWd1cmVfYXBwZW5kICgpIHsKKwlzZWQgLWkgLWUgJ3MjdGhyZWFkX2hlYWRlciA9IC4qI3RocmVhZF9oZWFkZXIgPSBndGhyLXNpbmdsZS5oIycgJHtCfS8ke0JQTn0vTWFrZWZpbGUKK30KKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworCWxuIC1zIGxpYmdjYy5hICR7RH0ke2xpYmRpcn0vJHtUQVJHRVRfU1lTfS8ke0JJTlZ9L2xpYmdjY19laC5hCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2NjLWluaXRpYWxfNy4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdjYy1pbml0aWFsXzcuMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTlmMjUzZi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2NjLWluaXRpYWxfNy4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1yZXF1aXJlIHJlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy0ke1BWfS5pbmMKLXJlcXVpcmUgbGliZ2NjLWluaXRpYWwuaW5jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2NjLWluaXRpYWxfOC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdjYy1pbml0aWFsXzguMy5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdjYy1pbml0aWFsXzguMi5iYgpyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdjYy1pbml0aWFsXzguMy5iYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdjYy5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2NjLmluYwppbmRleCA1ZjFkZmY2Li5lNGUwYzQ4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2NjLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2NjLmluYwpAQCAtMSw2ICsxLDYgQEAKIHJlcXVpcmUgbGliZ2NjLWNvbW1vbi5pbmMKIAotREVQRU5EUyA9ICJ2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nY2MgdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9ZysrIgorREVQRU5EUyA9ICJ2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nY2MgdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9ZysrIHZpcnR1YWwvJHtNTFBSRUZJWH1saWJjIgogCiBkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy10YXJnZXQgKCkgewogCWlmIFsgIiR7VENMSUJDfSIgIT0gImdsaWJjIiBdOyB0aGVuCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2NjXzcuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9saWJnY2NfNy4zLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNTE1MmYyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9saWJnY2NfNy4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1yZXF1aXJlIHJlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy0ke1BWfS5pbmMKLXJlcXVpcmUgbGliZ2NjLmluYwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdjY184LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2NjXzguMy5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdjY184LjIuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9saWJnY2NfOC4zLmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2ZvcnRyYW4uaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdmb3J0cmFuLmluYwppbmRleCAwNTIzNzY0Li40YjdiN2IyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2ZvcnRyYW4uaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9saWJnZm9ydHJhbi5pbmMKQEAgLTUzLDYgKzUzLDExIEBACiAgICAgbGliZ2ZvcnRyYW4tZGV2IFwKICAgICBsaWJnZm9ydHJhbi1zdGF0aWNkZXYgXAogIgorCitMSUNFTlNFXyR7UE59ID0gIkdQTC0zLjAtd2l0aC1HQ0MtZXhjZXB0aW9uIgorTElDRU5TRV8ke1BOfS1kZXYgPSAiR1BMLTMuMC13aXRoLUdDQy1leGNlcHRpb24iCitMSUNFTlNFXyR7UE59LWRiZyA9ICJHUEwtMy4wLXdpdGgtR0NDLWV4Y2VwdGlvbiIKKwogRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYmdmb3J0cmFuLnNvLioiCiBGSUxFU18ke1BOfS1kZXYgPSAiXAogICAgICR7bGliZGlyfS9saWJnZm9ydHJhbiouc28gXApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdmb3J0cmFuXzguMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9saWJnZm9ydHJhbl84LjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcxZGQ4YjQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdmb3J0cmFuXzguMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotcmVxdWlyZSByZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtJHtQVn0uaW5jCi1yZXF1aXJlIGxpYmdmb3J0cmFuLmluYwotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2ZvcnRyYW5fNy4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdmb3J0cmFuXzguMy5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdmb3J0cmFuXzcuMy5iYgpyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdmb3J0cmFuXzguMy5iYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi04LjIuMS5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nZGIvZ2RiLTguMi4xLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZmMxZWMwCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi04LjIuMS5pbmMKQEAgLTAsMCArMSwyMyBAQAorTElDRU5TRSA9ICJHUEx2MiAmIEdQTHYzICYgTEdQTHYyICYgTEdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIgXAorCQkgICAgZmlsZTovL0NPUFlJTkczO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCBcCisJCSAgICBmaWxlOi8vQ09QWUlORzMuTElCO21kNT02YTZhOGUwMjA4MzhiMjM0MDZjODFiMTljMWQ0NmRmNiBcCisJCSAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTlmNjA0ZDhhNGY4ZTc0ZjRmNTE0MDg0NWEyMWI2Njc0IgorCitTUkNfVVJJID0gImh0dHA6Ly9mdHAuZ251Lm9yZy9nbnUvZ2RiL2dkYi0ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1tYWtlLW1hbi1pbnN0YWxsLXJlbGF0aXZlLXRvLURFU1RESVIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1taXBzLWxpbnV4LW5hdC1EZWZpbmUtX0FCSU8zMi1pZi1ub3QtZGVmaW5lZC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA0LXBwYy1wdHJhY2UtRGVmaW5lLXB0X3JlZ3MtdWFwaV9wdF9yZWdzLW9uLUdMSUJDLXN5c3QucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNS1BZGQtc3VwcG9ydC1mb3ItUmVuZXNhcy1TSC1zaDQtYXJjaGl0ZWN0dXJlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDYtRG9udC1kaXNhYmxlLWxpYnJlYWRsaW5lLmEtd2hlbi11c2luZy1kaXNhYmxlLXN0YXRpYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA3LXVzZS1hc20tc2dpZGVmcy5oLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDgtVXNlLWV4b3J0ZWQtZGVmaW5pdGlvbnMtb2YtU0lHUlRNSU4ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwOS1DaGFuZ2Utb3JkZXItb2YtQ0ZMQUdTLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTAtcmVzb2x2ZS1yZXN0cmljdC1rZXl3b3JkLWNvbmZsaWN0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTEtRml4LWludmFsaWQtc2lncHJvY21hc2stY2FsbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9nZGJzZXJ2ZXItY3RybC1jLWhhbmRsaW5nLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWJ1aWxkLXdpdGgtbGF0ZXN0LUdDQy05LjAtdHJlZS5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiZjhiMjU2MmU4MzBhNDA5OGRkNWI1ZWE5ZTkyOTZjNzAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGE2YTQzMjkwN2EwM2M1YzhlYWFkM2MzY2ZmZDUwYzAwYTQwYzNhNWUzYzQwMzk0NDA2MjRiYWU3MDNmMjIwMiIKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi04LjIuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi04LjIuaW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZTA4MDlkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGItOC4yLmluYworKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLUxJQ0VOU0UgPSAiR1BMdjIgJiBHUEx2MyAmIExHUEx2MiAmIExHUEx2MyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIFwKLQkJICAgIGZpbGU6Ly9DT1BZSU5HMzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQgXAotCQkgICAgZmlsZTovL0NPUFlJTkczLkxJQjttZDU9NmE2YThlMDIwODM4YjIzNDA2YzgxYjE5YzFkNDZkZjYgXAotCQkgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT05ZjYwNGQ4YTRmOGU3NGY0ZjUxNDA4NDVhMjFiNjY3NCIKLQotU1JDX1VSSSA9ICJodHRwOi8vZnRwLmdudS5vcmcvZ251L2dkYi9nZGItJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItbWFrZS1tYW4taW5zdGFsbC1yZWxhdGl2ZS10by1ERVNURElSLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtbWlwcy1saW51eC1uYXQtRGVmaW5lLV9BQklPMzItaWYtbm90LWRlZmluZWQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNC1wcGMtcHRyYWNlLURlZmluZS1wdF9yZWdzLXVhcGlfcHRfcmVncy1vbi1HTElCQy1zeXN0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDUtQWRkLXN1cHBvcnQtZm9yLVJlbmVzYXMtU0gtc2g0LWFyY2hpdGVjdHVyZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA2LURvbnQtZGlzYWJsZS1saWJyZWFkbGluZS5hLXdoZW4tdXNpbmctZGlzYWJsZS1zdGF0aWMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNy11c2UtYXNtLXNnaWRlZnMuaC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA4LVVzZS1leG9ydGVkLWRlZmluaXRpb25zLW9mLVNJR1JUTUlOLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDktQ2hhbmdlLW9yZGVyLW9mLUNGTEFHUy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDEwLXJlc29sdmUtcmVzdHJpY3Qta2V5d29yZC1jb25mbGljdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDExLUZpeC1pbnZhbGlkLXNpZ3Byb2NtYXNrLWNhbGwucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZ2Ric2VydmVyLWN0cmwtYy1oYW5kbGluZy5wYXRjaCBcCi0iCi1TUkNfVVJJW21kNXN1bV0gPSAiYjVhNDlkYmZmMDBkOWE4N2ZiZTExNGQxNGIzMTAxYzAiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzNhNDQxYTI5YzdjODk3MjBiNzM0ZTVhOWM2Mjg5YzBhMDZiZTdlMGM3NmVmNTM4ZjdiYmNlZjM4OTM0N2MzOSIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi1jb21tb24uaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi1jb21tb24uaW5jCmluZGV4IGZhNjQ5MzkuLjA4ZjYxNWEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGItY29tbW9uLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nZGIvZ2RiLWNvbW1vbi5pbmMKQEAgLTQsMTEgKzQsMTAgQEAKIERFUEVORFMgPSAiZXhwYXQgemxpYiBuY3Vyc2VzIHZpcnR1YWwvbGliaWNvbnYgJHtMVFROR1VTVH0gYmlzb24tbmF0aXZlIgogCiBMVFROR1VTVCA9ICJsdHRuZy11c3QiCitMVFROR1VTVF9hcmMgPSAiIgogTFRUTkdVU1RfYWFyY2g2NCA9ICIiCi1MVFROR1VTVF9yaXNjdjY0ID0gIiIKIExUVE5HVVNUX21pcHNhcmNoID0gIiIKIExUVE5HVVNUX3NoNCA9ICIiCi1MVFROR1VTVF9saWJjLW11c2wgPSAiIgogCiBpbmhlcml0IGF1dG90b29scyB0ZXhpbmZvCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGItY3Jvc3MtY2FuYWRpYW4uaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi1jcm9zcy1jYW5hZGlhbi5pbmMKaW5kZXggNGZjNjc0Ny4uNDc1ZTRmMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi1jcm9zcy1jYW5hZGlhbi5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi1jcm9zcy1jYW5hZGlhbi5pbmMKQEAgLTYsNyArNiw3IEBACiBCUE4gPSAiZ2RiIgogCiBERVBFTkRTID0gIm5hdGl2ZXNkay1uY3Vyc2VzIG5hdGl2ZXNkay1leHBhdCBuYXRpdmVzZGstZ2V0dGV4dCBcCi0gICAgICAgICAgIHZpcnR1YWwvJHtIT1NUX1BSRUZJWH1nY2MtY3Jvc3NzZGsgdmlydHVhbC8ke0hPU1RfUFJFRklYfWJpbnV0aWxzLWNyb3Nzc2RrIHZpcnR1YWwvbmF0aXZlc2RrLSR7SE9TVF9QUkVGSVh9bGliYy1mb3ItZ2NjIgorICAgICAgICAgICB2aXJ0dWFsLyR7SE9TVF9QUkVGSVh9Z2NjLWNyb3Nzc2RrIHZpcnR1YWwvJHtIT1NUX1BSRUZJWH1iaW51dGlscy1jcm9zc3NkayB2aXJ0dWFsL25hdGl2ZXNkay1saWJjIgogCiBHREJQUk9QUkVGSVggPSAiLS1wcm9ncmFtLXByZWZpeD0nJHtUQVJHRVRfUFJFRklYfSciCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGItY3Jvc3MtY2FuYWRpYW5fOC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi1jcm9zcy1jYW5hZGlhbl84LjIuMS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi1jcm9zcy1jYW5hZGlhbl84LjIuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGItY3Jvc3MtY2FuYWRpYW5fOC4yLjEuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGItY3Jvc3NfOC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi1jcm9zc184LjIuMS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi1jcm9zc184LjIuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGItY3Jvc3NfOC4yLjEuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGIvMDAwMS1GaXgtYnVpbGQtd2l0aC1sYXRlc3QtR0NDLTkuMC10cmVlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi8wMDAxLUZpeC1idWlsZC13aXRoLWxhdGVzdC1HQ0MtOS4wLXRyZWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmE5NjI5MgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGIvMDAwMS1GaXgtYnVpbGQtd2l0aC1sYXRlc3QtR0NDLTkuMC10cmVlLnBhdGNoCkBAIC0wLDAgKzEsNTAgQEAKK0Zyb20gNzQwNmE1MDA3Nzc3M2U3ODI4MmE0OTVjYjMyZWY1YjgxNzlmNmEzMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IERpbWl0YXIgRGltaXRyb3YgPGRpbWl0YXJAZGludXguZXU+CitEYXRlOiBNb24sIDE3IERlYyAyMDE4IDIxOjMwOjUyICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBidWlsZCB3aXRoIGxhdGVzdCBHQ0MgOS4wIHRyZWUKKworQSByZWNlbnQgcGF0Y2ggWzFdIHRvIGZpeCBhIEdDQyBQUiBbMl0gYWN0dWFsbHkgYnJva2UgdGhlIEdEQiBidWlsZC4KK1RvIGZpeCwgcmVtb3ZlIHRoZSBzdGFjayBwb2ludGVyIGNsb2JiZXIuIEdDQyB3aWxsIGlnbm9yZSB0aGUgY2xvYmJlcgorbWFya2VyLCBhbmQgd2lsbCBub3Qgc2F2ZSBvciByZXN0b3JlIHRoZSBzdGFjayBwb2ludGVyLgorCitJIHJhbiAibWFrZSBjaGVjay1nZGIiIG9uIHg4Nl82NCB0byBlbnN1cmUgdGhlcmUgYXJlIG5vIHJlZ3Jlc3Npb25zLgorCitnZGIvQ2hhbmdlTG9nOgorCisyMDE4LTEyLTE3ICBEaW1pdGFyIERpbWl0cm92ICA8ZGltaXRhckBkaW51eC5ldT4KKworCSogbmF0L2xpbnV4LXB0cmFjZS5jIChsaW51eF9wdHJhY2VfdGVzdF9yZXRfdG9fbngpOiBSZW1vdmUgc3AgY2xvYmJlcnMuCisKK1sxXSBodHRwczovL2djYy5nbnUub3JnL21sL2djYy1wYXRjaGVzLzIwMTgtMTIvbXNnMDA1MzIuaHRtbAorWzJdIGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTUyODEzCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKK1NpZ25lZC1vZmYtYnk6IERpbWl0YXIgRGltaXRyb3YgPGRpbWl0YXJAZGludXguZXU+CistLS0KKyBnZGIvQ2hhbmdlTG9nICAgICAgICAgIHwgNSArKysrKworIGdkYi9uYXQvbGludXgtcHRyYWNlLmMgfCA0ICsrLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2dkYi9uYXQvbGludXgtcHRyYWNlLmMgYi9nZGIvbmF0L2xpbnV4LXB0cmFjZS5jCitpbmRleCBkNGMxYjhmOWZkLi4xODdjZmViOWJjIDEwMDY0NAorLS0tIGEvZ2RiL25hdC9saW51eC1wdHJhY2UuYworKysrIGIvZ2RiL25hdC9saW51eC1wdHJhY2UuYworQEAgLTE2MSwxNCArMTYxLDE0IEBAIGxpbnV4X3B0cmFjZV90ZXN0X3JldF90b19ueCAodm9pZCkKKyAJCQkiLmdsb2JsIGxpbnV4X3B0cmFjZV90ZXN0X3JldF90b19ueF9pbnN0cjsiCisgCQkJImxpbnV4X3B0cmFjZV90ZXN0X3JldF90b19ueF9pbnN0cjoiCisgCQkJInJldCIKKy0JCQk6IDogInIiIChyZXR1cm5fYWRkcmVzcykgOiAiJWVzcCIsICJtZW1vcnkiKTsKKysJCQk6IDogInIiIChyZXR1cm5fYWRkcmVzcykgOiAibWVtb3J5Iik7CisgI2VsaWYgZGVmaW5lZCBfX3g4Nl82NF9fCisgCSAgYXNtIHZvbGF0aWxlICgicHVzaHEgJTA7IgorIAkJCSIuZ2xvYmwgbGludXhfcHRyYWNlX3Rlc3RfcmV0X3RvX254X2luc3RyOyIKKyAJCQkibGludXhfcHRyYWNlX3Rlc3RfcmV0X3RvX254X2luc3RyOiIKKyAJCQkicmV0IgorIAkJCTogOiAiciIgKCh1aW50NjRfdCkgKHVpbnRwdHJfdCkgcmV0dXJuX2FkZHJlc3MpCistCQkJOiAiJXJzcCIsICJtZW1vcnkiKTsKKysJCQk6ICJtZW1vcnkiKTsKKyAjZWxzZQorICMgZXJyb3IgIiFfX2kzODZfXyAmJiAhX194ODZfNjRfXyIKKyAjZW5kaWYKKy0tCisyLjIwLjEKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGJfOC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYl84LjIuMS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYl84LjIuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGJfOC4yLjEuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dpdC9naXRfMi4xOC4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2l0L2dpdF8yLjE4LjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIyOTYwYzAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2l0L2dpdF8yLjE4LjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1yZXF1aXJlIGdpdC5pbmMKLQotRVhUUkFfT0VDT05GICs9ICJhY19jdl9zbnByaW50Zl9yZXR1cm5zX2JvZ3VzPW5vIFwKLSAgICAgICAgICAgICAgICAgYWNfY3ZfZnJlYWRfcmVhZHNfZGlyZWN0b3JpZXM9JHthY19jdl9mcmVhZF9yZWFkc19kaXJlY3Rvcmllcz15ZXN9IFwKLSAgICAgICAgICAgICAgICAgIgotRVhUUkFfT0VNQUtFICs9ICJOT19HRVRURVhUPTEiCi0KLVNSQ19VUklbdGFyYmFsbC5tZDVzdW1dID0gIjliNjJjMjY3ZDg3OGY2Y2IwMmY4YWJjNTlhOTk1MjVkIgotU1JDX1VSSVt0YXJiYWxsLnNoYTI1NnN1bV0gPSAiNWM3MTBjODY2ZDhjOWJhM2IzZTA2Mjc1NWUwZTlkMGVmNGY2NjU3NTJiZDY0ODEwZTNlYjlmMWIwZjBlYjA3NiIKLVNSQ19VUklbbWFucGFnZXMubWQ1c3VtXSA9ICJlZjMyYTQ1OWE0YTA4YTNiOGU4MzdhMzFjOTI1Yzg0OCIKLVNSQ19VUklbbWFucGFnZXMuc2hhMjU2c3VtXSA9ICJkMDViZmFiMmRjNDVkZTRmNmU3ZDYxY2ExNzMwNzFkNjkwMjkwNWE0OTYzZjdhYzNjYmNhNjA4YzBkNDU5MmM5IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2l0L2dpdF8yLjIwLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9naXQvZ2l0XzIuMjAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NzdmYjA1Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2l0L2dpdF8yLjIwLjEuYmIKQEAgLTAsMCArMSwxMSBAQAorcmVxdWlyZSBnaXQuaW5jCisKK0VYVFJBX09FQ09ORiArPSAiYWNfY3Zfc25wcmludGZfcmV0dXJuc19ib2d1cz1ubyBcCisgICAgICAgICAgICAgICAgIGFjX2N2X2ZyZWFkX3JlYWRzX2RpcmVjdG9yaWVzPSR7YWNfY3ZfZnJlYWRfcmVhZHNfZGlyZWN0b3JpZXM9eWVzfSBcCisgICAgICAgICAgICAgICAgICIKK0VYVFJBX09FTUFLRSArPSAiTk9fR0VUVEVYVD0xIgorCitTUkNfVVJJW3RhcmJhbGwubWQ1c3VtXSA9ICI3YTc3NjllNWM5NTczNjRlZDBhZWQ4OWU2ZTY3YzI1NCIKK1NSQ19VUklbdGFyYmFsbC5zaGEyNTZzdW1dID0gImVkYzNiYzE0OTViNjkxNzliYTRlMjcyZTk3ZWZmOTMzMzRhMjBkZWNiMWQ4ZGI2ZWMzYzE5YzE2NDE3NzM4ZmQiCitTUkNfVVJJW21hbnBhZ2VzLm1kNXN1bV0gPSAiNzhjNmU1NGE2MWExNjdkYWI1ZThhZTA3MDM2MjkzYWIiCitTUkNfVVJJW21hbnBhZ2VzLnNoYTI1NnN1bV0gPSAiZTljMTIzNDYzYWJkMDVlMTQyZGVmZTQ0YTgwNjBjZTZlOTg1M2RmZDhjODNiMjU0MmUzOGI3ZGVhYzRlNmQ0YyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dsaWRlL2dsaWRlXzAuMTMuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dsaWRlL2dsaWRlXzAuMTMuMi5iYgppbmRleCAzYTMyZmExLi43ZmFhZjRhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nbGlkZS9nbGlkZV8wLjEzLjIuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2xpZGUvZ2xpZGVfMC4xMy4yLmJiCkBAIC0zMywzICszMyw2IEBACiAjIEVMRiBiaW5hcnkgJy93b3JrL2FhcmNoNjQtb2UtbGludXgvZ2xpZGUvMC4xMy4xLXIwL3BhY2thZ2VzLXNwbGl0L2dsaWRlLXB0ZXN0L3Vzci9saWIvZ2xpZGUvcHRlc3QvZ2l0aHViLmNvbS9NYXN0ZXJtaW5kcy9nbGlkZS9hY3Rpb24vYWN0aW9uLnRlc3QnIGhhcyByZWxvY2F0aW9ucyBpbiAudGV4dAogIyBFTEYgYmluYXJ5ICcvd29yay9hYXJjaDY0LW9lLWxpbnV4L2dsaWRlLzAuMTMuMS1yMC9wYWNrYWdlcy1zcGxpdC9nbGlkZS1wdGVzdC91c3IvbGliL2dsaWRlL3B0ZXN0L2dpdGh1Yi5jb20vTWFzdGVybWluZHMvZ2xpZGUvY2FjaGUvY2FjaGUudGVzdCcgaGFzIHJlbG9jYXRpb25zIGluIC50ZXh0IFt0ZXh0cmVsXQogSU5TQU5FX1NLSVBfJHtQTn0tcHRlc3QgKz0gInRleHRyZWwiCisKKyMgZmFpbHMgdG8gcnVuIHRhc2sgY29tcGlsZV9wdGVzdF9iYXNlIG9uIG1pcHMKK1BURVNUX0VOQUJMRURfbWlwc2FyY2ggPSAiMCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dudS1jb25maWcvZ251LWNvbmZpZ19naXQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nbnUtY29uZmlnL2dudS1jb25maWdfZ2l0LmJiCmluZGV4IDQ3NDVmMTkuLmU1OTdlYmUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dudS1jb25maWcvZ251LWNvbmZpZ19naXQuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ251LWNvbmZpZy9nbnUtY29uZmlnX2dpdC5iYgpAQCAtOCw4ICs4LDggQEAKIAogSU5ISUJJVF9ERUZBVUxUX0RFUFMgPSAiMSIKIAotU1JDUkVWID0gIjMwZDUzZmM0MjhlYTQyYWY5ZDZmNGQzNTVkYjAwMjJlMzkxOGE4MjQiCi1QViA9ICIyMDE4MDcxMytnaXQke1NSQ1BWfSIKK1NSQ1JFViA9ICIwNTg2MzliZTIyN2JiZThmMDNjYzM5Zjc5ZjdjZTg0OTE4MDEyMTQzIgorUFYgPSAiMjAxODExMjgrZ2l0JHtTUkNQVn0iCiAKIFNSQ19VUkkgPSAiZ2l0Oi8vZ2l0LnNhdmFubmFoLmdudS5vcmcvY29uZmlnLmdpdCBcCiAgICAgICAgICAgIGZpbGU6Ly9nbnUtY29uZmlnaXplLmluIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMS5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjExLmluYwppbmRleCBkNjI2NTE0Li5kMDNlMjZjIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjExLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjExLmluYwpAQCAtMSw3ICsxLDcgQEAKIHJlcXVpcmUgZ28tY29tbW9uLmluYwogCiBHT19CQVNFVkVSU0lPTiA9ICIxLjExIgotR09fTUlOT1IgPSAiLjEiCitHT19NSU5PUiA9ICIuNCIKIFBWIC49ICIke0dPX01JTk9SfSIKIEZJTEVTRVhUUkFQQVRIU19wcmVwZW5kIDo9ICIke0ZJTEVfRElSTkFNRX0vZ28tJHtHT19CQVNFVkVSU0lPTn06IgogCkBAIC0xNyw4ICsxNyw3IEBACiAgICAgZmlsZTovLzAwMDctY21kLWdvLW1ha2UtR09ST09ULXByZWNpb3VzLWJ5LWRlZmF1bHQucGF0Y2ggXAogICAgIGZpbGU6Ly8wMDA4LXVzZS1HT0JVSUxETU9ERS10by1zZXQtYnVpbGRtb2RlLnBhdGNoIFwKICIKLQogU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsID0gIiBmaWxlOi8vMDAwOS1sZC1yZXBsYWNlLWdsaWJjLWR5bmFtaWMtbGlua2VyLXdpdGgtbXVzbC5wYXRjaCIKIAotU1JDX1VSSVttYWluLm1kNXN1bV0gPSAiZWI5ZTk3OTIyNDcxNDM3MDVhN2FhY2VhOTM5OGNkZTAiCi1TUkNfVVJJW21haW4uc2hhMjU2c3VtXSA9ICI1NThmOGMxNjlhZTIxNWUyNWI4MTQyMTU5NmU4ZGU3NTcyYmQzYmE4MjRiNzlhZGQyMmZiYTZlMjg0ZGIxMTE3IgorU1JDX1VSSVttYWluLm1kNXN1bV0gPSAiYTc3Njk3NjczMjE1YmU0NjVkMWI1ODM2ODBlZjIzMTgiCitTUkNfVVJJW21haW4uc2hhMjU2c3VtXSA9ICI0Y2ZkNDI3MjBhNmIxZTc5YTgwMjQ4OTVmYTY2MDdiNjk5NzJlOGUzMjQ0NmRmNzZkNmNlNzk4MDFiYmFkYjE1IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMS8wMDA3LWNtZC1nby1tYWtlLUdPUk9PVC1wcmVjaW91cy1ieS1kZWZhdWx0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMS8wMDA3LWNtZC1nby1tYWtlLUdPUk9PVC1wcmVjaW91cy1ieS1kZWZhdWx0LnBhdGNoCmluZGV4IGYzMTdlNDguLjI5ZWY5NDcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTEvMDAwNy1jbWQtZ28tbWFrZS1HT1JPT1QtcHJlY2lvdXMtYnktZGVmYXVsdC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjExLzAwMDctY21kLWdvLW1ha2UtR09ST09ULXByZWNpb3VzLWJ5LWRlZmF1bHQucGF0Y2gKQEAgLTY1LDggKzY1LDggQEAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSBnby5vcmlnL3NyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9leGVjLmdvCiArKysgZ28vc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2V4ZWMuZ28KLUBAIC00NDAsNiArNDQwLDIzIEBAIGZ1bmMgKGIgKkJ1aWxkZXIpIGJ1aWxkKGEgKkFjdGlvbikgKGVycgotIAkJcmV0dXJuIGZtdC5FcnJvcmYoIm1vZHVsZSByZXF1aXJlcyBHbyAlcyIsIHAuTW9kdWxlLkdvVmVyc2lvbikKK0BAIC00MzYsNiArNDM2LDIzIEBAIGZ1bmMgKGIgKkJ1aWxkZXIpIGJ1aWxkKGEgKkFjdGlvbikgKGVycgorIAkJcmV0dXJuIGZtdC5FcnJvcmYoIm1pc3Npbmcgb3IgaW52YWxpZCBiaW5hcnktb25seSBwYWNrYWdlOyBleHBlY3RlZCBmaWxlICVxIiwgYS5QYWNrYWdlLlRhcmdldCkKICAJfQogIAogKwlpZiBnb1Jvb3RQcmVjaW91cyAmJiAoYS5QYWNrYWdlLlN0YW5kYXJkIHx8IGEuUGFja2FnZS5Hb3Jvb3QpIHsKQEAgLTg5LDcgKzg5LDcgQEAKICAJaWYgZXJyIDo9IGIuTWtkaXIoYS5PYmpkaXIpOyBlcnIgIT0gbmlsIHsKICAJCXJldHVybiBlcnIKICAJfQotQEAgLTE0MzUsNiArMTQ1MiwxNCBAQCBmdW5jIEJ1aWxkSW5zdGFsbEZ1bmMoYiAqQnVpbGRlciwgYSAqQWN0CitAQCAtMTQzOCw2ICsxNDU1LDE0IEBAIGZ1bmMgQnVpbGRJbnN0YWxsRnVuYyhiICpCdWlsZGVyLCBhICpBY3QKICAJCXJldHVybiBuaWwKICAJfQogIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMS8wMDA4LXVzZS1HT0JVSUxETU9ERS10by1zZXQtYnVpbGRtb2RlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMS8wMDA4LXVzZS1HT0JVSUxETU9ERS10by1zZXQtYnVpbGRtb2RlLnBhdGNoCmluZGV4IGI2YWI1MDQuLjIyNWNmNDMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTEvMDAwOC11c2UtR09CVUlMRE1PREUtdG8tc2V0LWJ1aWxkbW9kZS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjExLzAwMDgtdXNlLUdPQlVJTERNT0RFLXRvLXNldC1idWlsZG1vZGUucGF0Y2gKQEAgLTE4LDExICsxOCwxMSBAQAogIHNyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9idWlsZC5nbyB8IDYgKysrKystCiAgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogCi1kaWZmIC0tZ2l0IGEvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvIGIvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvCi1pbmRleCAxNDViODc1Li41OTVkNzAzIDEwMDY0NAotLS0tIGEvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvCi0rKysgYi9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvYnVpbGQuZ28KLUBAIC0yMTgsNyArMjE4LDExIEBAIGZ1bmMgQWRkQnVpbGRGbGFncyhjbWQgKmJhc2UuQ29tbWFuZCkgeworSW5kZXg6IGdvL3NyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9idWlsZC5nbworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdvLm9yaWcvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvCisrKysgZ28vc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvCitAQCAtMjIzLDcgKzIyMywxMSBAQCBmdW5jIEFkZEJ1aWxkRmxhZ3MoY21kICpiYXNlLkNvbW1hbmQpIHsKICAKICAJY21kLkZsYWcuVmFyKCZsb2FkLkJ1aWxkQXNtZmxhZ3MsICJhc21mbGFncyIsICIiKQogIAljbWQuRmxhZy5WYXIoYnVpbGRDb21waWxlcnt9LCAiY29tcGlsZXIiLCAiIikKQEAgLTM1LDYgKzM1LDMgQEAKICAJY21kLkZsYWcuVmFyKCZsb2FkLkJ1aWxkR2NmbGFncywgImdjZmxhZ3MiLCAiIikKICAJY21kLkZsYWcuVmFyKCZsb2FkLkJ1aWxkR2NjZ29mbGFncywgImdjY2dvZmxhZ3MiLCAiIikKICAJY21kLkZsYWcuU3RyaW5nVmFyKCZjZmcuQnVpbGRNb2QsICJtb2QiLCAiIiwgIiIpCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMi5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGNmMGE2MwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIuaW5jCkBAIC0wLDAgKzEsMjMgQEAKK3JlcXVpcmUgZ28tY29tbW9uLmluYworCitHT19CQVNFVkVSU0lPTiA9ICIxLjEyIgorR09fTUlOT1IgPSAiLjEiCitQViAuPSAiJHtHT19NSU5PUn0iCitGSUxFU0VYVFJBUEFUSFNfcHJlcGVuZCA6PSAiJHtGSUxFX0RJUk5BTUV9L2dvLSR7R09fQkFTRVZFUlNJT059OiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NWQ0OTUwZWNiN2IyNmQyYzVlNGU3YjRlMGRkNzQ3MDciCisKK1NSQ19VUkkgKz0gIlwKKyAgICBmaWxlOi8vMDAwMS1hbGxvdy1DQy1hbmQtQ1hYLXRvLWhhdmUtbXVsdGlwbGUtd29yZHMucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAyLWNtZC1nby1tYWtlLWNvbnRlbnQtYmFzZWQtaGFzaC1nZW5lcmF0aW9uLWxlc3MtcGVkYW4ucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAzLWFsbG93LUdPVE9PTERJUi10by1iZS1vdmVycmlkZGVuLWluLXRoZS1lbnZpcm9ubWVudC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDQtbGQtYWRkLXNvbmFtZS10by1zaGFyZWFibGUtb2JqZWN0cy5wYXRjaCBcCisgICAgZmlsZTovLzAwMDUtbWFrZS5iYXNoLW92ZXJyaWRlLUNDLXdoZW4tYnVpbGRpbmctZGlzdC1hbmQtZ29fYm9vdC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDYtY21kLWRpc3Qtc2VwYXJhdGUtaG9zdC1hbmQtdGFyZ2V0LWJ1aWxkcy5wYXRjaCBcCisgICAgZmlsZTovLzAwMDctY21kLWdvLW1ha2UtR09ST09ULXByZWNpb3VzLWJ5LWRlZmF1bHQucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDA4LXVzZS1HT0JVSUxETU9ERS10by1zZXQtYnVpbGRtb2RlLnBhdGNoIFwKKyIKK1NSQ19VUklfYXBwZW5kX2xpYmMtbXVzbCA9ICIgZmlsZTovLzAwMDktbGQtcmVwbGFjZS1nbGliYy1keW5hbWljLWxpbmtlci13aXRoLW11c2wucGF0Y2giCisKK1NSQ19VUklbbWFpbi5tZDVzdW1dID0gIjA5ZmU1OTIzNDM0NjU1NjBiNGI4NDMxZDg3MGIzZGYzIgorU1JDX1VSSVttYWluLnNoYTI1NnN1bV0gPSAiMGJlMTI3Njg0ZGY0Yjg0MmE2NGU1ODA5MzE1NGY5ZDE1NDIyZjE0MDVmMWZjZmY0YjJjMzZmZmM2YTE1ODE4YSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwMS1hbGxvdy1DQy1hbmQtQ1hYLXRvLWhhdmUtbXVsdGlwbGUtd29yZHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjEyLzAwMDEtYWxsb3ctQ0MtYW5kLUNYWC10by1oYXZlLW11bHRpcGxlLXdvcmRzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0NDI4NTgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjEyLzAwMDEtYWxsb3ctQ0MtYW5kLUNYWC10by1oYXZlLW11bHRpcGxlLXdvcmRzLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gN2NjNTE5YWE1Zjg0Y2Y4ZmM3YWM4YzEwZmM2OWFhODA0MDMzMGVhMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hdHQgTWFkaXNvbiA8bWF0dEBtYWRpc29uLnN5c3RlbXM+CitEYXRlOiBNb24sIDE5IEZlYiAyMDE4IDA4OjQ5OjMzIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGFsbG93IENDIGFuZCBDWFggdG8gaGF2ZSBtdWx0aXBsZSB3b3JkcworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgorCistLS0KKyBzcmMvY21kL2dvL2ludGVybmFsL2VudmNtZC9lbnYuZ28gfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2NtZC9nby9pbnRlcm5hbC9lbnZjbWQvZW52LmdvIGIvc3JjL2NtZC9nby9pbnRlcm5hbC9lbnZjbWQvZW52LmdvCitpbmRleCBhZmFkYmFkLi5jZWRiZmJmIDEwMDY0NAorLS0tIGEvc3JjL2NtZC9nby9pbnRlcm5hbC9lbnZjbWQvZW52LmdvCisrKysgYi9zcmMvY21kL2dvL2ludGVybmFsL2VudmNtZC9lbnYuZ28KK0BAIC04NSwxMSArODUsMTEgQEAgZnVuYyBNa0VudigpIFtdY2ZnLkVudlZhciB7CisgCisgCWNjIDo9IGNmZy5EZWZhdWx0Q0MoY2ZnLkdvb3MsIGNmZy5Hb2FyY2gpCisgCWlmIGVudiA6PSBzdHJpbmdzLkZpZWxkcyhvcy5HZXRlbnYoIkNDIikpOyBsZW4oZW52KSA+IDAgeworLQkJY2MgPSBlbnZbMF0KKysJCWNjID0gc3RyaW5ncy5Kb2luKGVudiwgIiAiKQorIAl9CisgCWN4eCA6PSBjZmcuRGVmYXVsdENYWChjZmcuR29vcywgY2ZnLkdvYXJjaCkKKyAJaWYgZW52IDo9IHN0cmluZ3MuRmllbGRzKG9zLkdldGVudigiQ1hYIikpOyBsZW4oZW52KSA+IDAgeworLQkJY3h4ID0gZW52WzBdCisrCQljeHggPSBzdHJpbmdzLkpvaW4oZW52LCAiICIpCisgCX0KKyAJZW52ID0gYXBwZW5kKGVudiwgY2ZnLkVudlZhcntOYW1lOiAiQ0MiLCBWYWx1ZTogY2N9KQorIAllbnYgPSBhcHBlbmQoZW52LCBjZmcuRW52VmFye05hbWU6ICJDWFgiLCBWYWx1ZTogY3h4fSkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwMi1jbWQtZ28tbWFrZS1jb250ZW50LWJhc2VkLWhhc2gtZ2VuZXJhdGlvbi1sZXNzLXBlZGFuLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMi8wMDAyLWNtZC1nby1tYWtlLWNvbnRlbnQtYmFzZWQtaGFzaC1nZW5lcmF0aW9uLWxlc3MtcGVkYW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjZiODU2MQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwMi1jbWQtZ28tbWFrZS1jb250ZW50LWJhc2VkLWhhc2gtZ2VuZXJhdGlvbi1sZXNzLXBlZGFuLnBhdGNoCkBAIC0wLDAgKzEsMjE4IEBACitGcm9tIDQ3ZGI2OWUyMGVkNjZmYjYyYjAxYWZmZDgzZDgyOTY1NGI4Mjk4OTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgorRGF0ZTogTW9uLCAxOSBGZWIgMjAxOCAwODo1MDo1OSAtMDgwMAorU3ViamVjdDogW1BBVENIXSBjbWQvZ286IG1ha2UgY29udGVudC1iYXNlZCBoYXNoIGdlbmVyYXRpb24gbGVzcyBwZWRhbnRpYworCitHbyAxLjEwJ3MgYnVpbGQgdG9vbCBub3cgdXNlcyBjb250ZW50LWJhc2VkIGhhc2hlcyB0bworZGV0ZXJtaW5lIHdoZW4gc29tZXRoaW5nIHNob3VsZCBiZSBidWlsdCBvciByZS1idWlsdC4KK1RoaXMgc2FtZSBtZWNoYW5pc20gaXMgdXNlZCB0byBtYWludGFpbiBhIGJ1aWx0LWFydGlmYWN0CitjYWNoZSBmb3Igc3BlZWRpbmcgdXAgYnVpbGRzLgorCitIb3dldmVyLCB0aGUgaGFzaGVzIGl0IGdlbmVyYXRlcyBpbmNsdWRlIGluZm9ybWF0aW9uIHRoYXQKK2RvZXNuJ3Qgd29yayB3ZWxsIHdpdGggT0UsIG5vciB3aXRoIHVzaW5nIGEgc2hhcmVkIHJ1bnRpbWUKK2xpYnJhcnkuCisKK0ZpcnN0LCBpdCBlbWJlZHMgcGF0aCBuYW1lcyB0byBzb3VyY2UgZmlsZXMsIHVubGVzcworYnVpbGRpbmcgd2l0aGluIEdPUk9PVC4gIFRoaXMgcHJldmVudHMgdGhlIGJ1aWxkaW5nCitvZiBhIHBhY2thZ2UgaW4gR09QQVRIIGZvciBsYXRlciBzdGFnaW5nIGludG8gR09ST09ULgorCitUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlCitHT1BBVEhfT01JVF9JTl9BQ1RJT05JRC4gIElmIHByZXNlbnQsIHBhdGggbmFtZQorZW1iZWRkaW5nIGlzIGRpc2FibGVkLgorCitTZWNvbmQsIGlmIGNnbyBpcyBlbmFibGVkLCB0aGUgYnVpbGQgSUQgZm9yIGNnby1yZWxhdGVkCitwYWNrYWdlcyB3aWxsIGluY2x1ZGUgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIGVudmlyb25tZW50Cit2YXJpYWJsZXMgZm9yIGludm9raW5nIHRoZSBjb21waWxlciAoQ0MsIENYWCwgRkMpIGFuZAorYW55IENHT194eEZMQUdTIHZhcmlhYmxlcy4gIE9ubHkgaWYgdGhlIHNldHRpbmdzIHVzZWQKK2R1cmluZyBhIGNvbXBpbGF0aW9uIGV4YWN0bHkgbWF0Y2gsIGNoYXJhY3RlciBmb3IgY2hhcmFjdGVyLAordGhlIHZhbHVlcyB1c2VkIGZvciBjb21waWxpbmcgcnVudGltZS9jZ28gb3IgYW55IG90aGVyCitjZ28tZW5hYmxlZCBwYWNrYWdlIGJlaW5nIGltcG9ydGVkLCB3aWxsIHRoZSB0b29sCitkZWNpZGUgdGhhdCB0aGUgaW1wb3J0ZWQgcGFja2FnZSBpcyB1cC10by1kYXRlLgorCitUaGlzIGlzIGRvbmUgdG8gaGVscCBlbnN1cmUgY29ycmVjdG5lc3MsIGJ1dCBpcyBvdmVybHkKK3NpbXBsaXN0aWMgYW5kIGVmZmVjdGl2ZWx5IHByZXZlbnRzIHRoZSByZXVzZSBvZiBidWlsdAorYXJ0aWZhY3RzIHRoYXQgdXNlIGNnbyAob3Igc2hhcmVkIHJ1bnRpbWUsIHdoaWNoIGluY2x1ZGVzCitydW50aW1lL2NnbykuCisKK1RoaXMgcGF0Y2ggZmlsdGVycyBvdXQgYWxsIGNvbXBpbGVyIGZsYWdzIGV4Y2VwdCB0aG9zZQorYmVnaW5uaW5nIHdpdGggJy1tJy4gIFRoZSBkZWZhdWx0IGJlaGF2aW9yIGNhbiBiZSByZXN0b3JlZAorYnkgc2V0dGluZyB0aGUgQ0dPX1BFREFOVElDIGVudmlyb25tZW50IHZhcmlhYmxlLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgorCistLS0KKyBzcmMvY21kL2dvL2ludGVybmFsL2VudmNtZC9lbnYuZ28gfCAgMiArLQorIHNyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9leGVjLmdvICB8IDYzICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDQ2IGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2NtZC9nby9pbnRlcm5hbC9lbnZjbWQvZW52LmdvIGIvc3JjL2NtZC9nby9pbnRlcm5hbC9lbnZjbWQvZW52LmdvCitpbmRleCBjZWRiZmJmLi41NzYzYTBkIDEwMDY0NAorLS0tIGEvc3JjL2NtZC9nby9pbnRlcm5hbC9lbnZjbWQvZW52LmdvCisrKysgYi9zcmMvY21kL2dvL2ludGVybmFsL2VudmNtZC9lbnYuZ28KK0BAIC0xMjgsNyArMTI4LDcgQEAgZnVuYyBFeHRyYUVudlZhcnMoKSBbXWNmZy5FbnZWYXIgeworIGZ1bmMgRXh0cmFFbnZWYXJzQ29zdGx5KCkgW11jZmcuRW52VmFyIHsKKyAJdmFyIGIgd29yay5CdWlsZGVyCisgCWIuSW5pdCgpCistCWNwcGZsYWdzLCBjZmxhZ3MsIGN4eGZsYWdzLCBmZmxhZ3MsIGxkZmxhZ3MsIGVyciA6PSBiLkNGbGFncygmbG9hZC5QYWNrYWdle30pCisrCWNwcGZsYWdzLCBjZmxhZ3MsIGN4eGZsYWdzLCBmZmxhZ3MsIGxkZmxhZ3MsIGVyciA6PSBiLkNGbGFncygmbG9hZC5QYWNrYWdle30sIGZhbHNlKQorIAlpZiBlcnIgIT0gbmlsIHsKKyAJCS8vIFNob3VsZCBub3QgaGFwcGVuIC0gYi5DRmxhZ3Mgd2FzIGdpdmVuIGFuIGVtcHR5IHBhY2thZ2UuCisgCQlmbXQuRnByaW50Zihvcy5TdGRlcnIsICJnbzogaW52YWxpZCBjZmxhZ3M6ICV2XG4iLCBlcnIpCitkaWZmIC0tZ2l0IGEvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2V4ZWMuZ28gYi9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvZXhlYy5nbworaW5kZXggMTJlMTUyNy4uZTQxYmZhYyAxMDA2NDQKKy0tLSBhL3NyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9leGVjLmdvCisrKysgYi9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvZXhlYy5nbworQEAgLTE3NCw2ICsxNzQsOCBAQCBmdW5jIChiICpCdWlsZGVyKSBEbyhyb290ICpBY3Rpb24pIHsKKyAJd2cuV2FpdCgpCisgfQorIAorK3ZhciBvbWl0R29wYXRoID0gb3MuR2V0ZW52KCJHT1BBVEhfT01JVF9JTl9BQ1RJT05JRCIpICE9ICIiCisrCisgLy8gYnVpbGRBY3Rpb25JRCBjb21wdXRlcyB0aGUgYWN0aW9uIElEIGZvciBhIGJ1aWxkIGFjdGlvbi4KKyBmdW5jIChiICpCdWlsZGVyKSBidWlsZEFjdGlvbklEKGEgKkFjdGlvbikgY2FjaGUuQWN0aW9uSUQgeworIAlwIDo9IGEuUGFja2FnZQorQEAgLTE5MCw3ICsxOTIsNyBAQCBmdW5jIChiICpCdWlsZGVyKSBidWlsZEFjdGlvbklEKGEgKkFjdGlvbikgY2FjaGUuQWN0aW9uSUQgeworIAkvLyBidXQgaXQgZG9lcyBub3QgaGlkZSB0aGUgZXhhY3QgdmFsdWUgb2YgJEdPUEFUSC4KKyAJLy8gSW5jbHVkZSB0aGUgZnVsbCBkaXIgaW4gdGhhdCBjYXNlLgorIAkvLyBBc3N1bWUgYi5Xb3JrRGlyIGlzIGJlaW5nIHRyaW1tZWQgcHJvcGVybHkuCistCWlmICFwLkdvcm9vdCAmJiAhc3RyaW5ncy5IYXNQcmVmaXgocC5EaXIsIGIuV29ya0RpcikgeworKwlpZiAhcC5Hb3Jvb3QgJiYgIW9taXRHb3BhdGggJiYgIXN0cmluZ3MuSGFzUHJlZml4KHAuRGlyLCBiLldvcmtEaXIpIHsKKyAJCWZtdC5GcHJpbnRmKGgsICJkaXIgJXNcbiIsIHAuRGlyKQorIAl9CisgCWZtdC5GcHJpbnRmKGgsICJnb29zICVzIGdvYXJjaCAlc1xuIiwgY2ZnLkdvb3MsIGNmZy5Hb2FyY2gpCitAQCAtMjAxLDEzICsyMDMsMTMgQEAgZnVuYyAoYiAqQnVpbGRlcikgYnVpbGRBY3Rpb25JRChhICpBY3Rpb24pIGNhY2hlLkFjdGlvbklEIHsKKyAJfQorIAlpZiBsZW4ocC5DZ29GaWxlcykrbGVuKHAuU3dpZ0ZpbGVzKSA+IDAgeworIAkJZm10LkZwcmludGYoaCwgImNnbyAlcVxuIiwgYi50b29sSUQoImNnbyIpKQorLQkJY3BwZmxhZ3MsIGNmbGFncywgY3h4ZmxhZ3MsIGZmbGFncywgbGRmbGFncywgXyA6PSBiLkNGbGFncyhwKQorLQkJZm10LkZwcmludGYoaCwgIkNDPSVxICVxICVxICVxXG4iLCBiLmNjRXhlKCksIGNwcGZsYWdzLCBjZmxhZ3MsIGxkZmxhZ3MpCisrCQljcHBmbGFncywgY2ZsYWdzLCBjeHhmbGFncywgZmZsYWdzLCBsZGZsYWdzLCBfIDo9IGIuQ0ZsYWdzKHAsIHRydWUpCisrCQlmbXQuRnByaW50ZihoLCAiQ0M9JXEgJXEgJXEgJXFcbiIsIGIuY2NFeGUodHJ1ZSksIGNwcGZsYWdzLCBjZmxhZ3MsIGxkZmxhZ3MpCisgCQlpZiBsZW4ocC5DWFhGaWxlcykrbGVuKHAuU3dpZ0ZpbGVzKSA+IDAgeworLQkJCWZtdC5GcHJpbnRmKGgsICJDWFg9JXEgJXFcbiIsIGIuY3h4RXhlKCksIGN4eGZsYWdzKQorKwkJCWZtdC5GcHJpbnRmKGgsICJDWFg9JXEgJXFcbiIsIGIuY3h4RXhlKHRydWUpLCBjeHhmbGFncykKKyAJCX0KKyAJCWlmIGxlbihwLkZGaWxlcykgPiAwIHsKKy0JCQlmbXQuRnByaW50ZihoLCAiRkM9JXEgJXFcbiIsIGIuZmNFeGUoKSwgZmZsYWdzKQorKwkJCWZtdC5GcHJpbnRmKGgsICJGQz0lcSAlcVxuIiwgYi5mY0V4ZSh0cnVlKSwgZmZsYWdzKQorIAkJfQorIAkJLy8gVE9ETyhyc2MpOiBTaG91bGQgd2UgaW5jbHVkZSB0aGUgU1dJRyB2ZXJzaW9uIG9yIEZvcnRyYW4vR0NDL0crKy9PYmplY3RpdmUtQyBjb21waWxlciB2ZXJzaW9ucz8KKyAJfQorQEAgLTIwOTYsMzMgKzIwOTgsMzMgQEAgdmFyICgKKyAvLyBnY2NDbWQgcmV0dXJucyBhIGdjYyBjb21tYW5kIGxpbmUgcHJlZml4CisgLy8gZGVmYXVsdENDIGlzIGRlZmluZWQgaW4gemRlZmF1bHRjYy5nbywgd3JpdHRlbiBieSBjbWQvZGlzdC4KKyBmdW5jIChiICpCdWlsZGVyKSBHY2NDbWQoaW5jZGlyLCB3b3JrZGlyIHN0cmluZykgW11zdHJpbmcgeworLQlyZXR1cm4gYi5jb21waWxlckNtZChiLmNjRXhlKCksIGluY2Rpciwgd29ya2RpcikKKysJcmV0dXJuIGIuY29tcGlsZXJDbWQoYi5jY0V4ZShmYWxzZSksIGluY2Rpciwgd29ya2RpcikKKyB9CisgCisgLy8gZ3h4Q21kIHJldHVybnMgYSBnKysgY29tbWFuZCBsaW5lIHByZWZpeAorIC8vIGRlZmF1bHRDWFggaXMgZGVmaW5lZCBpbiB6ZGVmYXVsdGNjLmdvLCB3cml0dGVuIGJ5IGNtZC9kaXN0LgorIGZ1bmMgKGIgKkJ1aWxkZXIpIEd4eENtZChpbmNkaXIsIHdvcmtkaXIgc3RyaW5nKSBbXXN0cmluZyB7CistCXJldHVybiBiLmNvbXBpbGVyQ21kKGIuY3h4RXhlKCksIGluY2Rpciwgd29ya2RpcikKKysJcmV0dXJuIGIuY29tcGlsZXJDbWQoYi5jeHhFeGUoZmFsc2UpLCBpbmNkaXIsIHdvcmtkaXIpCisgfQorIAorIC8vIGdmb3J0cmFuQ21kIHJldHVybnMgYSBnZm9ydHJhbiBjb21tYW5kIGxpbmUgcHJlZml4LgorIGZ1bmMgKGIgKkJ1aWxkZXIpIGdmb3J0cmFuQ21kKGluY2Rpciwgd29ya2RpciBzdHJpbmcpIFtdc3RyaW5nIHsKKy0JcmV0dXJuIGIuY29tcGlsZXJDbWQoYi5mY0V4ZSgpLCBpbmNkaXIsIHdvcmtkaXIpCisrCXJldHVybiBiLmNvbXBpbGVyQ21kKGIuZmNFeGUoZmFsc2UpLCBpbmNkaXIsIHdvcmtkaXIpCisgfQorIAorIC8vIGNjRXhlIHJldHVybnMgdGhlIENDIGNvbXBpbGVyIHNldHRpbmcgd2l0aG91dCBhbGwgdGhlIGV4dHJhIGZsYWdzIHdlIGFkZCBpbXBsaWNpdGx5LgorLWZ1bmMgKGIgKkJ1aWxkZXIpIGNjRXhlKCkgW11zdHJpbmcgeworLQlyZXR1cm4gYi5jb21waWxlckV4ZShvcmlnQ0MsIGNmZy5EZWZhdWx0Q0MoY2ZnLkdvb3MsIGNmZy5Hb2FyY2gpKQorK2Z1bmMgKGIgKkJ1aWxkZXIpIGNjRXhlKGZpbHRlcmVkIGJvb2wpIFtdc3RyaW5nIHsKKysJcmV0dXJuIGIuY29tcGlsZXJFeGUob3JpZ0NDLCBjZmcuRGVmYXVsdENDKGNmZy5Hb29zLCBjZmcuR29hcmNoKSwgZmlsdGVyZWQpCisgfQorIAorIC8vIGN4eEV4ZSByZXR1cm5zIHRoZSBDWFggY29tcGlsZXIgc2V0dGluZyB3aXRob3V0IGFsbCB0aGUgZXh0cmEgZmxhZ3Mgd2UgYWRkIGltcGxpY2l0bHkuCistZnVuYyAoYiAqQnVpbGRlcikgY3h4RXhlKCkgW11zdHJpbmcgeworLQlyZXR1cm4gYi5jb21waWxlckV4ZShvcmlnQ1hYLCBjZmcuRGVmYXVsdENYWChjZmcuR29vcywgY2ZnLkdvYXJjaCkpCisrZnVuYyAoYiAqQnVpbGRlcikgY3h4RXhlKGZpbHRlcmVkIGJvb2wpIFtdc3RyaW5nIHsKKysJcmV0dXJuIGIuY29tcGlsZXJFeGUob3JpZ0NYWCwgY2ZnLkRlZmF1bHRDWFgoY2ZnLkdvb3MsIGNmZy5Hb2FyY2gpLCBmaWx0ZXJlZCkKKyB9CisgCisgLy8gZmNFeGUgcmV0dXJucyB0aGUgRkMgY29tcGlsZXIgc2V0dGluZyB3aXRob3V0IGFsbCB0aGUgZXh0cmEgZmxhZ3Mgd2UgYWRkIGltcGxpY2l0bHkuCistZnVuYyAoYiAqQnVpbGRlcikgZmNFeGUoKSBbXXN0cmluZyB7CistCXJldHVybiBiLmNvbXBpbGVyRXhlKG9zLkdldGVudigiRkMiKSwgImdmb3J0cmFuIikKKytmdW5jIChiICpCdWlsZGVyKSBmY0V4ZShmaWx0ZXJlZCBib29sKSBbXXN0cmluZyB7CisrCXJldHVybiBiLmNvbXBpbGVyRXhlKG9zLkdldGVudigiRkMiKSwgImdmb3J0cmFuIiwgZmlsdGVyZWQpCisgfQorIAorIC8vIGNvbXBpbGVyRXhlIHJldHVybnMgdGhlIGNvbXBpbGVyIHRvIHVzZSBnaXZlbiBhbgorQEAgLTIxMzEsMTEgKzIxMzMsMTQgQEAgZnVuYyAoYiAqQnVpbGRlcikgZmNFeGUoKSBbXXN0cmluZyB7CisgLy8gb2YgdGhlIGNvbXBpbGVyIGJ1dCBjYW4gaGF2ZSBhZGRpdGlvbmFsIGFyZ3VtZW50cyBpZiB0aGV5CisgLy8gd2VyZSBwcmVzZW50IGluIHRoZSBlbnZpcm9ubWVudCB2YWx1ZS4KKyAvLyBGb3IgZXhhbXBsZSBpZiBDQz0iZ2NjIC1ER09QSEVSIiB0aGVuIHRoZSByZXN1bHQgaXMgWyJnY2MiLCAiLURHT1BIRVIiXS4KKy1mdW5jIChiICpCdWlsZGVyKSBjb21waWxlckV4ZShlbnZWYWx1ZSBzdHJpbmcsIGRlZiBzdHJpbmcpIFtdc3RyaW5nIHsKKytmdW5jIChiICpCdWlsZGVyKSBjb21waWxlckV4ZShlbnZWYWx1ZSBzdHJpbmcsIGRlZiBzdHJpbmcsIGZpbHRlcmVkIGJvb2wpIFtdc3RyaW5nIHsKKyAJY29tcGlsZXIgOj0gc3RyaW5ncy5GaWVsZHMoZW52VmFsdWUpCisgCWlmIGxlbihjb21waWxlcikgPT0gMCB7CisgCQljb21waWxlciA9IFtdc3RyaW5ne2RlZn0KKyAJfQorKwlpZiBmaWx0ZXJlZCB7CisrCQlyZXR1cm4gYXBwZW5kKGNvbXBpbGVyWzA6MV0sIGZpbHRlckNvbXBpbGVyRmxhZ3MoY29tcGlsZXJbMTpdKS4uLikKKysJfQorIAlyZXR1cm4gY29tcGlsZXIKKyB9CisgCitAQCAtMjI4NSw4ICsyMjkwLDIzIEBAIGZ1bmMgZW52TGlzdChrZXksIGRlZiBzdHJpbmcpIFtdc3RyaW5nIHsKKyAJcmV0dXJuIHN0cmluZ3MuRmllbGRzKHYpCisgfQorIAorK3ZhciBmaWx0ZXJGbGFncyA9IG9zLkdldGVudigiQ0dPX1BFREFOVElDIikgPT0gIiIKKysKKytmdW5jIGZpbHRlckNvbXBpbGVyRmxhZ3MoZmxhZ3MgW11zdHJpbmcpIFtdc3RyaW5nIHsKKysJdmFyIG5ld2ZsYWdzIFtdc3RyaW5nCisrCWlmICFmaWx0ZXJGbGFncyB7CisrCQlyZXR1cm4gZmxhZ3MKKysJfQorKwlmb3IgXywgZmxhZyA6PSByYW5nZSBmbGFncyB7CisrCQlpZiBzdHJpbmdzLkhhc1ByZWZpeChmbGFnLCAiLW0iKSB7CisrCQkJbmV3ZmxhZ3MgPSBhcHBlbmQobmV3ZmxhZ3MsIGZsYWcpCisrCQl9CisrCX0KKysJcmV0dXJuIG5ld2ZsYWdzCisrfQorKworIC8vIENGbGFncyByZXR1cm5zIHRoZSBmbGFncyB0byB1c2Ugd2hlbiBpbnZva2luZyB0aGUgQywgQysrIG9yIEZvcnRyYW4gY29tcGlsZXJzLCBvciBjZ28uCistZnVuYyAoYiAqQnVpbGRlcikgQ0ZsYWdzKHAgKmxvYWQuUGFja2FnZSkgKGNwcGZsYWdzLCBjZmxhZ3MsIGN4eGZsYWdzLCBmZmxhZ3MsIGxkZmxhZ3MgW11zdHJpbmcsIGVyciBlcnJvcikgeworK2Z1bmMgKGIgKkJ1aWxkZXIpIENGbGFncyhwICpsb2FkLlBhY2thZ2UsIGZpbHRlcmVkIGJvb2wpIChjcHBmbGFncywgY2ZsYWdzLCBjeHhmbGFncywgZmZsYWdzLCBsZGZsYWdzIFtdc3RyaW5nLCBlcnIgZXJyb3IpIHsKKyAJZGVmYXVsdHMgOj0gIi1nIC1PMiIKKyAKKyAJaWYgY3BwZmxhZ3MsIGVyciA9IGJ1aWxkRmxhZ3MoIkNQUEZMQUdTIiwgIiIsIHAuQ2dvQ1BQRkxBR1MsIGNoZWNrQ29tcGlsZXJGbGFncyk7IGVyciAhPSBuaWwgeworQEAgLTIzMDQsNiArMjMyNCwxMyBAQCBmdW5jIChiICpCdWlsZGVyKSBDRmxhZ3MocCAqbG9hZC5QYWNrYWdlKSAoY3BwZmxhZ3MsIGNmbGFncywgY3h4ZmxhZ3MsIGZmbGFncywgbAorIAlpZiBsZGZsYWdzLCBlcnIgPSBidWlsZEZsYWdzKCJMREZMQUdTIiwgZGVmYXVsdHMsIHAuQ2dvTERGTEFHUywgY2hlY2tMaW5rZXJGbGFncyk7IGVyciAhPSBuaWwgeworIAkJcmV0dXJuCisgCX0KKysJaWYgZmlsdGVyZWQgeworKwkJY3BwZmxhZ3MgPSBmaWx0ZXJDb21waWxlckZsYWdzKGNwcGZsYWdzKQorKwkJY2ZsYWdzID0gZmlsdGVyQ29tcGlsZXJGbGFncyhjZmxhZ3MpCisrCQljeHhmbGFncyA9IGZpbHRlckNvbXBpbGVyRmxhZ3MoY3h4ZmxhZ3MpCisrCQlmZmxhZ3MgPSBmaWx0ZXJDb21waWxlckZsYWdzKGZmbGFncykKKysJCWxkZmxhZ3MgPSBmaWx0ZXJDb21waWxlckZsYWdzKGxkZmxhZ3MpCisrCX0KKyAKKyAJcmV0dXJuCisgfQorQEAgLTIzMTksNyArMjM0Niw3IEBAIHZhciBjZ29SZSA9IHJlZ2V4cC5NdXN0Q29tcGlsZShgWy9cXDpdYCkKKyAKKyBmdW5jIChiICpCdWlsZGVyKSBjZ28oYSAqQWN0aW9uLCBjZ29FeGUsIG9iamRpciBzdHJpbmcsIHBjQ0ZMQUdTLCBwY0xERkxBR1MsIGNnb2ZpbGVzLCBnY2NmaWxlcywgZ3h4ZmlsZXMsIG1maWxlcywgZmZpbGVzIFtdc3RyaW5nKSAob3V0R28sIG91dE9iaiBbXXN0cmluZywgZXJyIGVycm9yKSB7CisgCXAgOj0gYS5QYWNrYWdlCistCWNnb0NQUEZMQUdTLCBjZ29DRkxBR1MsIGNnb0NYWEZMQUdTLCBjZ29GRkxBR1MsIGNnb0xERkxBR1MsIGVyciA6PSBiLkNGbGFncyhwKQorKwljZ29DUFBGTEFHUywgY2dvQ0ZMQUdTLCBjZ29DWFhGTEFHUywgY2dvRkZMQUdTLCBjZ29MREZMQUdTLCBlcnIgOj0gYi5DRmxhZ3MocCwgZmFsc2UpCisgCWlmIGVyciAhPSBuaWwgeworIAkJcmV0dXJuIG5pbCwgbmlsLCBlcnIKKyAJfQorQEAgLTI2NzksNyArMjcwNiw3IEBAIGZ1bmMgKGIgKkJ1aWxkZXIpIHN3aWdJbnRTaXplKG9iamRpciBzdHJpbmcpIChpbnRzaXplIHN0cmluZywgZXJyIGVycm9yKSB7CisgCisgLy8gUnVuIFNXSUcgb24gb25lIFNXSUcgaW5wdXQgZmlsZS4KKyBmdW5jIChiICpCdWlsZGVyKSBzd2lnT25lKGEgKkFjdGlvbiwgcCAqbG9hZC5QYWNrYWdlLCBmaWxlLCBvYmpkaXIgc3RyaW5nLCBwY0NGTEFHUyBbXXN0cmluZywgY3h4IGJvb2wsIGludGdvc2l6ZSBzdHJpbmcpIChvdXRHbywgb3V0QyBzdHJpbmcsIGVyciBlcnJvcikgeworLQljZ29DUFBGTEFHUywgY2dvQ0ZMQUdTLCBjZ29DWFhGTEFHUywgXywgXywgZXJyIDo9IGIuQ0ZsYWdzKHApCisrCWNnb0NQUEZMQUdTLCBjZ29DRkxBR1MsIGNnb0NYWEZMQUdTLCBfLCBfLCBlcnIgOj0gYi5DRmxhZ3MocCwgZmFsc2UpCisgCWlmIGVyciAhPSBuaWwgeworIAkJcmV0dXJuICIiLCAiIiwgZXJyCisgCX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwMy1hbGxvdy1HT1RPT0xESVItdG8tYmUtb3ZlcnJpZGRlbi1pbi10aGUtZW52aXJvbm1lbnQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjEyLzAwMDMtYWxsb3ctR09UT09MRElSLXRvLWJlLW92ZXJyaWRkZW4taW4tdGhlLWVudmlyb25tZW50LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2Y2E0MGUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjEyLzAwMDMtYWxsb3ctR09UT09MRElSLXRvLWJlLW92ZXJyaWRkZW4taW4tdGhlLWVudmlyb25tZW50LnBhdGNoCkBAIC0wLDAgKzEsNDggQEAKK0Zyb20gNWMzMmMzOGJmMTliMjRmMGFhZGQ3ODAxMmQxN2ZmNWNhYTgyMTUxZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hdHQgTWFkaXNvbiA8bWF0dEBtYWRpc29uLnN5c3RlbXM+CitEYXRlOiBTYXQsIDE3IEZlYiAyMDE4IDA1OjI0OjIwIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGFsbG93IEdPVE9PTERJUiB0byBiZSBvdmVycmlkZGVuIGluIHRoZSBlbnZpcm9ubWVudAorCit0byBhbGxvdyBmb3Igc3BsaXQgaG9zdC90YXJnZXQgYnVpbGQgcm9vdHMKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogTWF0dCBNYWRpc29uIDxtYXR0QG1hZGlzb24uc3lzdGVtcz4KKworLS0tCisgc3JjL2NtZC9kaXN0L2J1aWxkLmdvICAgICAgICAgIHwgNCArKystCisgc3JjL2NtZC9nby9pbnRlcm5hbC9jZmcvY2ZnLmdvIHwgNyArKysrKy0tCisgMiBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK0luZGV4OiBnby9zcmMvY21kL2Rpc3QvYnVpbGQuZ28KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnby5vcmlnL3NyYy9jbWQvZGlzdC9idWlsZC5nbworKysrIGdvL3NyYy9jbWQvZGlzdC9idWlsZC5nbworQEAgLTIyOCw3ICsyMjgsOSBAQCBmdW5jIHhpbml0KCkgeworIAl3b3JrZGlyID0geHdvcmtkaXIoKQorIAl4YXRleGl0KHJtd29ya2RpcikKKyAKKy0JdG9vbGRpciA9IHBhdGhmKCIlcy9wa2cvdG9vbC8lc18lcyIsIGdvcm9vdCwgZ29ob3N0b3MsIGdvaG9zdGFyY2gpCisrCWlmIHRvb2xkaXIgPSBvcy5HZXRlbnYoIkdPVE9PTERJUiIpOyB0b29sZGlyID09ICIiIHsKKysJCXRvb2xkaXIgPSBwYXRoZigiJXMvcGtnL3Rvb2wvJXNfJXMiLCBnb3Jvb3QsIGdvaG9zdG9zLCBnb2hvc3RhcmNoKQorKwl9CisgfQorIAorIC8vIGNvbXBpbGVyRW52IHJldHVybnMgYSBtYXAgZnJvbSAiZ29vcy9nb2FyY2giIHRvIHRoZQorSW5kZXg6IGdvL3NyYy9jbWQvZ28vaW50ZXJuYWwvY2ZnL2NmZy5nbworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdvLm9yaWcvc3JjL2NtZC9nby9pbnRlcm5hbC9jZmcvY2ZnLmdvCisrKysgZ28vc3JjL2NtZC9nby9pbnRlcm5hbC9jZmcvY2ZnLmdvCitAQCAtMTE2LDcgKzExNiwxMSBAQCBmdW5jIGluaXQoKSB7CisgCQkvLyB2YXJpYWJsZXMuIFRoaXMgbWF0Y2hlcyB0aGUgaW5pdGlhbGl6YXRpb24gb2YgVG9vbERpciBpbgorIAkJLy8gZ28vYnVpbGQsIGV4Y2VwdCBmb3IgdXNpbmcgR09ST09UIHJhdGhlciB0aGFuCisgCQkvLyBydW50aW1lLkdPUk9PVC4KKy0JCWJ1aWxkLlRvb2xEaXIgPSBmaWxlcGF0aC5Kb2luKEdPUk9PVCwgInBrZy90b29sLyIrcnVudGltZS5HT09TKyJfIitydW50aW1lLkdPQVJDSCkKKysJCWlmIHMgOj0gb3MuR2V0ZW52KCJHT1RPT0xESVIiKTsgcyAhPSAiIiB7CisrCQkJYnVpbGQuVG9vbERpciA9IGZpbGVwYXRoLkNsZWFuKHMpCisrCQl9IGVsc2UgeworKwkJCWJ1aWxkLlRvb2xEaXIgPSBmaWxlcGF0aC5Kb2luKEdPUk9PVCwgInBrZy90b29sLyIrcnVudGltZS5HT09TKyJfIitydW50aW1lLkdPQVJDSCkKKysJCX0KKyAJfQorIH0KKyAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwNC1sZC1hZGQtc29uYW1lLXRvLXNoYXJlYWJsZS1vYmplY3RzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMi8wMDA0LWxkLWFkZC1zb25hbWUtdG8tc2hhcmVhYmxlLW9iamVjdHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDA0YTMzYQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwNC1sZC1hZGQtc29uYW1lLXRvLXNoYXJlYWJsZS1vYmplY3RzLnBhdGNoCkBAIC0wLDAgKzEsNDUgQEAKK0Zyb20gNTVlYjhjOTVhODlmMzJhZWMxNmI3NzY0ZTc4ZThjZjc1MTY5ZGM4MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hdHQgTWFkaXNvbiA8bWF0dEBtYWRpc29uLnN5c3RlbXM+CitEYXRlOiBTYXQsIDE3IEZlYiAyMDE4IDA2OjI2OjEwIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGxkOiBhZGQgc29uYW1lIHRvIHNoYXJlYWJsZSBvYmplY3RzCisKK3NvIHRoYXQgT0UncyBzaGFyZWQgbGlicmFyeSBkZXBlbmRlbmN5IGhhbmRsaW5nCitjYW4gZmluZCB0aGVtLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgorCistLS0KKyBzcmMvY21kL2xpbmsvaW50ZXJuYWwvbGQvbGliLmdvIHwgNCArKysrCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc3JjL2NtZC9saW5rL2ludGVybmFsL2xkL2xpYi5nbyBiL3NyYy9jbWQvbGluay9pbnRlcm5hbC9sZC9saWIuZ28KK2luZGV4IDIyMGFhYjMuLjcwMzkyNWYgMTAwNjQ0CistLS0gYS9zcmMvY21kL2xpbmsvaW50ZXJuYWwvbGQvbGliLmdvCisrKysgYi9zcmMvY21kL2xpbmsvaW50ZXJuYWwvbGQvbGliLmdvCitAQCAtMTEzNSw2ICsxMTM1LDcgQEAgZnVuYyAoY3R4dCAqTGluaykgaG9zdGxpbmsoKSB7CisgCQkJCWFyZ3YgPSBhcHBlbmQoYXJndiwgIi1XbCwteixyZWxybyIpCisgCQkJfQorIAkJCWFyZ3YgPSBhcHBlbmQoYXJndiwgIi1zaGFyZWQiKQorKwkJCWFyZ3YgPSBhcHBlbmQoYXJndiwgZm10LlNwcmludGYoIi1XbCwtc29uYW1lLCVzIiwgZmlsZXBhdGguQmFzZSgqZmxhZ091dGZpbGUpKSkKKyAJCQlpZiBjdHh0LkhlYWRUeXBlICE9IG9iamFiaS5Id2luZG93cyB7CisgCQkJCS8vIFBhc3MgLXogbm9kZWxldGUgdG8gbWFyayB0aGUgc2hhcmVkIGxpYnJhcnkgYXMKKyAJCQkJLy8gbm9uLWNsb3NlYWJsZTogYSBkbGNsb3NlIHdpbGwgZG8gbm90aGluZy4KK0BAIC0xMTQ2LDYgKzExNDcsOCBAQCBmdW5jIChjdHh0ICpMaW5rKSBob3N0bGluaygpIHsKKyAJCQlhcmd2ID0gYXBwZW5kKGFyZ3YsICItV2wsLXoscmVscm8iKQorIAkJfQorIAkJYXJndiA9IGFwcGVuZChhcmd2LCAiLXNoYXJlZCIpCisrCQlhcmd2ID0gYXBwZW5kKGFyZ3YsIGZtdC5TcHJpbnRmKCItV2wsLXNvbmFtZSwlcyIsIGZpbGVwYXRoLkJhc2UoKmZsYWdPdXRmaWxlKSkpCisrCisgCWNhc2UgQnVpbGRNb2RlUGx1Z2luOgorIAkJaWYgY3R4dC5IZWFkVHlwZSA9PSBvYmphYmkuSGRhcndpbiB7CisgCQkJYXJndiA9IGFwcGVuZChhcmd2LCAiLWR5bmFtaWNsaWIiKQorQEAgLTExNTQsNiArMTE1Nyw3IEBAIGZ1bmMgKGN0eHQgKkxpbmspIGhvc3RsaW5rKCkgeworIAkJCQlhcmd2ID0gYXBwZW5kKGFyZ3YsICItV2wsLXoscmVscm8iKQorIAkJCX0KKyAJCQlhcmd2ID0gYXBwZW5kKGFyZ3YsICItc2hhcmVkIikKKysJCQlhcmd2ID0gYXBwZW5kKGFyZ3YsIGZtdC5TcHJpbnRmKCItV2wsLXNvbmFtZSwlcyIsIGZpbGVwYXRoLkJhc2UoKmZsYWdPdXRmaWxlKSkpCisgCQl9CisgCX0KKyAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwNS1tYWtlLmJhc2gtb3ZlcnJpZGUtQ0Mtd2hlbi1idWlsZGluZy1kaXN0LWFuZC1nb19ib290LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMi8wMDA1LW1ha2UuYmFzaC1vdmVycmlkZS1DQy13aGVuLWJ1aWxkaW5nLWRpc3QtYW5kLWdvX2Jvb3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWNlOGRlOQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwNS1tYWtlLmJhc2gtb3ZlcnJpZGUtQ0Mtd2hlbi1idWlsZGluZy1kaXN0LWFuZC1nb19ib290LnBhdGNoCkBAIC0wLDAgKzEsMzcgQEAKK0Zyb20gMWJmMTVhYThmYjc3MzYwNGIyNTI0Y2ZkYWI0OTNmYTRkOGZhOTI4NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hdHQgTWFkaXNvbiA8bWF0dEBtYWRpc29uLnN5c3RlbXM+CitEYXRlOiBTYXQsIDE3IEZlYiAyMDE4IDA2OjMyOjQ1IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIG1ha2UuYmFzaDogb3ZlcnJpZGUgQ0Mgd2hlbiBidWlsZGluZyBkaXN0IGFuZCBnb19ib290c3RyYXAKKworZm9yIGhhbmRsaW5nIE9FIGNyb3NzLWNhbmFkaWFuIGJ1aWxkcy4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogTWF0dCBNYWRpc29uIDxtYXR0QG1hZGlzb24uc3lzdGVtcz4KKworLS0tCisgc3JjL21ha2UuYmFzaCB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvbWFrZS5iYXNoIGIvc3JjL21ha2UuYmFzaAoraW5kZXggNzg4ODJkOS4uMjU5NDNkMCAxMDA3NTUKKy0tLSBhL3NyYy9tYWtlLmJhc2gKKysrKyBiL3NyYy9tYWtlLmJhc2gKK0BAIC0xNjMsNyArMTYzLDcgQEAgaWYgWyAiJEdPUk9PVF9CT09UU1RSQVAiID0gIiRHT1JPT1QiIF07IHRoZW4KKyAJZXhpdCAxCisgZmkKKyBybSAtZiBjbWQvZGlzdC9kaXN0CistR09ST09UPSIkR09ST09UX0JPT1RTVFJBUCIgR09PUz0iIiBHT0FSQ0g9IiIgIiRHT1JPT1RfQk9PVFNUUkFQL2Jpbi9nbyIgYnVpbGQgLW8gY21kL2Rpc3QvZGlzdCAuL2NtZC9kaXN0CisrQ0M9IiR7QlVJTERfQ0M6LSR7Q0N9fSIgR09ST09UPSIkR09ST09UX0JPT1RTVFJBUCIgR09PUz0iIiBHT0FSQ0g9IiIgIiRHT1JPT1RfQk9PVFNUUkFQL2Jpbi9nbyIgYnVpbGQgLW8gY21kL2Rpc3QvZGlzdCAuL2NtZC9kaXN0CisgCisgIyAtZSBkb2Vzbid0IHByb3BhZ2F0ZSBvdXQgb2YgZXZhbCwgc28gY2hlY2sgc3VjY2VzcyBieSBoYW5kLgorIGV2YWwgJCguL2NtZC9kaXN0L2Rpc3QgZW52IC1wIHx8IGVjaG8gRkFJTD10cnVlKQorQEAgLTE5NCw3ICsxOTQsNyBAQCBmaQorICMgUnVuIGRpc3QgYm9vdHN0cmFwIHRvIGNvbXBsZXRlIG1ha2UuYmFzaC4KKyAjIEJvb3RzdHJhcCBpbnN0YWxscyBhIHByb3BlciBjbWQvZGlzdCwgYnVpbHQgd2l0aCB0aGUgbmV3IHRvb2xjaGFpbi4KKyAjIFRocm93IG91cnMsIGJ1aWx0IHdpdGggR28gMS40LCBhd2F5IGFmdGVyIGJvb3RzdHJhcC4KKy0uL2NtZC9kaXN0L2Rpc3QgYm9vdHN0cmFwICRidWlsZGFsbCAkdmZsYWcgJEdPX0RJU1RGTEFHUyAiJEAiCisrQ0M9IiR7QlVJTERfQ0M6LSR7Q0N9fSIgLi9jbWQvZGlzdC9kaXN0IGJvb3RzdHJhcCAkYnVpbGRhbGwgJHZmbGFnICRHT19ESVNURkxBR1MgIiRAIgorIHJtIC1mIC4vY21kL2Rpc3QvZGlzdAorIAorICMgRE8gTk9UIEFERCBBTlkgTkVXIENPREUgSEVSRS4KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwNi1jbWQtZGlzdC1zZXBhcmF0ZS1ob3N0LWFuZC10YXJnZXQtYnVpbGRzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMi8wMDA2LWNtZC1kaXN0LXNlcGFyYXRlLWhvc3QtYW5kLXRhcmdldC1idWlsZHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGMwZDVkYQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwNi1jbWQtZGlzdC1zZXBhcmF0ZS1ob3N0LWFuZC10YXJnZXQtYnVpbGRzLnBhdGNoCkBAIC0wLDAgKzEsMjgyIEBACitGcm9tIGZlMGZjYWY0M2VmM2FhYjgxNTQxZGFkMmE3MWI0NjI1NGRjNGNmNmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgorRGF0ZTogU2F0LCAxNyBGZWIgMjAxOCAxMDowMzo0OCAtMDgwMAorU3ViamVjdDogW1BBVENIXSBjbWQvZGlzdDogc2VwYXJhdGUgaG9zdCBhbmQgdGFyZ2V0IGJ1aWxkcworCitDaGFuZ2UgdGhlIGRpc3QgdG9vbCB0byBhbGxvdyBmb3IgT0Utc3R5bGUgY3Jvc3MtCithbmQgY3Jvc3MtY2FuYWRpYW4gYnVpbGRzOgorCisgLSBjb21tYW5kIGZsYWdzIC0taG9zdC1vbmx5IGFuZCAtLXRhcmdldCBvbmx5IGFyZSBhZGRlZDsKKyAgIGlmIG9uZSBpcyBwcmVzZW50LCB0aGUgb3RoZXIgY2hhbmdlcyBtZW50aW9uZWQgYmVsb3cKKyAgIHRha2UgZWZmZWN0LCBhbmQgYXJndW1lbnRzIG1heSBhbHNvIGJlIHNwZWNpZmllZCBvbgorICAgdGhlIGNvbW1hbmQgbGluZSB0byBlbnVtZXJhdGUgdGhlIHBhY2thZ2UocykgdG8gYmUKKyAgIGJ1aWx0LgorCisgLSBmb3IgT0UgY3Jvc3MgYnVpbGRzLCBnb19ib290c3RyYXAgaXMgYWx3YXlzIGJ1aWx0IGZvcgorICAgdGhlIGN1cnJlbnQgYnVpbGQgaG9zdCwgYW5kIGlzIG1vdmVkLCBhbG9uZyB3aXRoIHRoZSBzdXBwb3J0aW5nCisgICB0b29sY2hhaW4gKGFzbSwgY29tcGlsZSwgZXRjLikgdG8gYSBzZXBhcmF0ZSAnbmF0aXZlX25hdGl2ZScKKyAgIGRpcmVjdG9yeSB1bmRlciBHT1JPT1QvcGtnL3Rvb2wuCisKKyAtIGdvX2Jvb3RzdHJhcCBpcyBub3QgYXV0b21hdGljYWxseSByZW1vdmVkIGFmdGVyIHRoZSBidWlsZCwKKyAgIHNvIGl0IGNhbiBiZSByZXVzZWQgbGF0ZXIgKGUuZy4sIGJ1aWxkaW5nIGJvdGggc3RhdGljIGFuZAorICAgc2hhcmVkIHJ1bnRpbWUpLgorCitOb3RlIHRoYXQgZm9yIC0taG9zdC1vbmx5IGJ1aWxkcywgaXQgd291bGQgYmUgbmljZSB0byBzcGVjaWZ5CitqdXN0IHRoZSAiY21kIiBwYWNrYWdlIHRvIGJ1aWxkIG9ubHkgdGhlIGdvIGNvbW1hbmRzL3Rvb2xzLAordGhlIHN0YWxlbmVzcyBjaGVja3MgaW4gdGhlIGRpc3QgdG9vbCB3aWxsIGZhaWwgaWYgdGhlICJzdGQiCitsaWJyYXJ5IGhhcyBub3QgYWxzbyBiZWVuIGJ1aWx0LiAgU28gaG9zdC1vbmx5IGJ1aWxkcyBoYXZlIHRvCitidWlsZCBldmVyeXRoaW5nIGFueXdheS4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogTWF0dCBNYWRpc29uIDxtYXR0QG1hZGlzb24uc3lzdGVtcz4KKworbW9yZSBkaXN0IGNsZWFudXAKKworLS0tCisgc3JjL2NtZC9kaXN0L2J1aWxkLmdvIHwgMTUzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMTEgaW5zZXJ0aW9ucygrKSwgNDIgZGVsZXRpb25zKC0pCisKK0luZGV4OiBnby9zcmMvY21kL2Rpc3QvYnVpbGQuZ28KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnby5vcmlnL3NyYy9jbWQvZGlzdC9idWlsZC5nbworKysrIGdvL3NyYy9jbWQvZGlzdC9idWlsZC5nbworQEAgLTM5LDYgKzM5LDcgQEAgdmFyICgKKyAJZ29sZGZsYWdzICAgICAgICBzdHJpbmcKKyAJd29ya2RpciAgICAgICAgICBzdHJpbmcKKyAJdG9vbGRpciAgICAgICAgICBzdHJpbmcKKysJYnVpbGRfdG9vbGRpcgkgc3RyaW5nCisgCW9sZGdvb3MgICAgICAgICAgc3RyaW5nCisgCW9sZGdvYXJjaCAgICAgICAgc3RyaW5nCisgCWV4ZSAgICAgICAgICAgICAgc3RyaW5nCitAQCAtNTAsNiArNTEsNyBAQCB2YXIgKAorIAorIAlyZWJ1aWxkYWxsICAgYm9vbAorIAlkZWZhdWx0Y2xhbmcgYm9vbAorKwljcm9zc0J1aWxkICAgYm9vbAorIAorIAl2ZmxhZyBpbnQgLy8gdmVyYm9zaXR5CisgKQorQEAgLTIzMSw2ICsyMzMsOCBAQCBmdW5jIHhpbml0KCkgeworIAlpZiB0b29sZGlyID0gb3MuR2V0ZW52KCJHT1RPT0xESVIiKTsgdG9vbGRpciA9PSAiIiB7CisgCQl0b29sZGlyID0gcGF0aGYoIiVzL3BrZy90b29sLyVzXyVzIiwgZ29yb290LCBnb2hvc3RvcywgZ29ob3N0YXJjaCkKKyAJfQorKwlidWlsZF90b29sZGlyID0gcGF0aGYoIiVzL3BrZy90b29sL25hdGl2ZV9uYXRpdmUiLCBnb3Jvb3QpCisrCisgfQorIAorIC8vIGNvbXBpbGVyRW52IHJldHVybnMgYSBtYXAgZnJvbSAiZ29vcy9nb2FyY2giIHRvIHRoZQorQEAgLTI2MCw3ICsyNjQsNiBAQCBmdW5jIGNvbXBpbGVyRW52KGVudk5hbWUsIGRlZiBzdHJpbmcpIG1hCisgCQlpZiBnb2hvc3RvcyAhPSBnb29zIHx8IGdvaG9zdGFyY2ggIT0gZ29hcmNoIHsKKyAJCQltW2dvaG9zdG9zKyIvIitnb2hvc3RhcmNoXSA9IG1bIiJdCisgCQl9CistCQltWyIiXSA9IGVudgorIAl9CisgCisgCWZvciBfLCBnb29zIDo9IHJhbmdlIG9rZ29vcyB7CitAQCAtNDg3LDggKzQ5MCwxMCBAQCBmdW5jIHNldHVwKCkgeworIAkvLyBXZSBrZWVwIGl0IGluIHBrZy8sIGp1c3QgbGlrZSB0aGUgb2JqZWN0IGRpcmVjdG9yeSBhYm92ZS4KKyAJaWYgcmVidWlsZGFsbCB7CisgCQl4cmVtb3ZlYWxsKHRvb2xkaXIpCisrCQl4cmVtb3ZlYWxsKGJ1aWxkX3Rvb2xkaXIpCisgCX0KKyAJeG1rZGlyYWxsKHRvb2xkaXIpCisrCXhta2RpcmFsbChidWlsZF90b29sZGlyKQorIAorIAkvLyBSZW1vdmUgdG9vbCBiaW5hcmllcyBmcm9tIGJlZm9yZSB0aGUgdG9vbC9nb2hvc3Rvc19nb2hvc3RhcmNoCisgCXhyZW1vdmVhbGwocGF0aGYoIiVzL2Jpbi90b29sIiwgZ29yb290KSkKK0BAIC0xMTU1LDExICsxMTYwLDI5IEBAIGZ1bmMgY21kYm9vdHN0cmFwKCkgeworIAorIAl2YXIgbm9CYW5uZXIgYm9vbAorIAl2YXIgZGVidWcgYm9vbAorKwl2YXIgaG9zdE9ubHkgYm9vbAorKwl2YXIgdGFyZ2V0T25seSBib29sCisrCXZhciB0b0J1aWxkID0gW11zdHJpbmcgeyAic3RkIiwgImNtZCIgfQorKworIAlmbGFnLkJvb2xWYXIoJnJlYnVpbGRhbGwsICJhIiwgcmVidWlsZGFsbCwgInJlYnVpbGQgYWxsIikKKyAJZmxhZy5Cb29sVmFyKCZkZWJ1ZywgImQiLCBkZWJ1ZywgImVuYWJsZSBkZWJ1Z2dpbmcgb2YgYm9vdHN0cmFwIHByb2Nlc3MiKQorIAlmbGFnLkJvb2xWYXIoJm5vQmFubmVyLCAibm8tYmFubmVyIiwgbm9CYW5uZXIsICJkbyBub3QgcHJpbnQgYmFubmVyIikKKysJZmxhZy5Cb29sVmFyKCZob3N0T25seSwgImhvc3Qtb25seSIsIGhvc3RPbmx5LCAiYnVpbGQgb25seSBob3N0IGJpbmFyaWVzLCBub3QgdGFyZ2V0IikKKysJZmxhZy5Cb29sVmFyKCZ0YXJnZXRPbmx5LCAidGFyZ2V0LW9ubHkiLCB0YXJnZXRPbmx5LCAiYnVpbGQgb25seSB0YXJnZXQgYmluYXJpZXMsIG5vdCBob3N0IikKKyAKKy0JeGZsYWdwYXJzZSgwKQorKwl4ZmxhZ3BhcnNlKC0xKQorKworKwlpZiAoaG9zdE9ubHkgJiYgdGFyZ2V0T25seSkgeworKwkJZmF0YWxmKCJzcGVjaWZ5IG9ubHkgb25lIG9mIC0taG9zdC1vbmx5IG9yIC0tdGFyZ2V0LW9ubHlcbiIpCisrCX0KKysJY3Jvc3NCdWlsZCA9IGhvc3RPbmx5IHx8IHRhcmdldE9ubHkKKysJaWYgZmxhZy5OQXJnKCkgPiAwIHsKKysJCWlmIGNyb3NzQnVpbGQgeworKwkJCXRvQnVpbGQgPSBmbGFnLkFyZ3MoKQorKwkJfSBlbHNlIHsKKysJCQlmYXRhbGYoInBhY2thZ2UgbmFtZXMgbm90IHBlcm1pdHRlZCB3aXRob3V0IC0taG9zdC1vbmx5IG9yIC0tdGFyZ2V0LW9ubHlcbiIpCisrCQl9CisrCX0KKyAKKyAJaWYgZGVidWcgeworIAkJLy8gY21kL2J1aWxkaWQgaXMgdXNlZCBpbiBkZWJ1ZyBtb2RlLgorQEAgLTEyMDcsOCArMTIzMCwxMyBAQCBmdW5jIGNtZGJvb3RzdHJhcCgpIHsKKyAJCXhwcmludGYoIlxuIikKKyAJfQorIAorLQlnb2djZmxhZ3MgPSBvcy5HZXRlbnYoIkdPX0dDRkxBR1MiKSAvLyB3ZSB3ZXJlIHVzaW5nICRCT09UX0dPX0dDRkxBR1MgdW50aWwgbm93CistCWdvbGRmbGFncyA9IG9zLkdldGVudigiR09fTERGTEFHUyIpCisrCS8vIEZvciBzcGxpdCBob3N0L3RhcmdldCBjcm9zcy9jcm9zcy1jYW5hZGlhbiBidWlsZHMsIHdlIGRvbid0CisrCS8vIHdhbnQgdG8gYmUgc2V0dGluZyB0aGVzZSBmbGFncyB1bnRpbCBhZnRlciB3ZSBoYXZlIGNvbXBpbGVkCisrCS8vIHRoZSB0b29sY2hhaW4gdGhhdCBydW5zIG9uIHRoZSBidWlsZCBob3N0LgorKwlpZiAhIGNyb3NzQnVpbGQgeworKwkJZ29nY2ZsYWdzID0gb3MuR2V0ZW52KCJHT19HQ0ZMQUdTIikgLy8gd2Ugd2VyZSB1c2luZyAkQk9PVF9HT19HQ0ZMQUdTIHVudGlsIG5vdworKwkJZ29sZGZsYWdzID0gb3MuR2V0ZW52KCJHT19MREZMQUdTIikKKysJfQorIAlnb0Jvb3RzdHJhcCA6PSBwYXRoZigiJXMvZ29fYm9vdHN0cmFwIiwgdG9vbGRpcikKKyAJY21kR28gOj0gcGF0aGYoIiVzL2dvIiwgZ29iaW4pCisgCWlmIGRlYnVnIHsKK0BAIC0xMjM3LDcgKzEyNjUsMTEgQEAgZnVuYyBjbWRib290c3RyYXAoKSB7CisgCQl4cHJpbnRmKCJcbiIpCisgCX0KKyAJeHByaW50ZigiQnVpbGRpbmcgR28gdG9vbGNoYWluMiB1c2luZyBnb19ib290c3RyYXAgYW5kIEdvIHRvb2xjaGFpbjEuXG4iKQorLQlvcy5TZXRlbnYoIkNDIiwgY29tcGlsZXJFbnZMb29rdXAoZGVmYXVsdGNjLCBnb29zLCBnb2FyY2gpKQorKwlpZiBjcm9zc0J1aWxkIHsKKysJCW9zLlNldGVudigiQ0MiLCBkZWZhdWx0Y2NbIiJdKQorKwl9IGVsc2UgeworKwkJb3MuU2V0ZW52KCJDQyIsIGNvbXBpbGVyRW52TG9va3VwKGRlZmF1bHRjYywgZ29vcywgZ29hcmNoKSkKKysJfQorIAlnb0luc3RhbGwoZ29Cb290c3RyYXAsIGFwcGVuZChbXXN0cmluZ3siLWkifSwgdG9vbGNoYWluLi4uKS4uLikKKyAJaWYgZGVidWcgeworIAkJcnVuKCIiLCBTaG93T3V0cHV0fENoZWNrRXhpdCwgcGF0aGYoIiVzL2NvbXBpbGUiLCB0b29sZGlyKSwgIi1WPWZ1bGwiKQorQEAgLTEyNzQsNTAgKzEzMDYsODQgQEAgZnVuYyBjbWRib290c3RyYXAoKSB7CisgCX0KKyAJY2hlY2tOb3RTdGFsZShnb0Jvb3RzdHJhcCwgYXBwZW5kKHRvb2xjaGFpbiwgInJ1bnRpbWUvaW50ZXJuYWwvc3lzIikuLi4pCisgCistCWlmIGdvb3MgPT0gb2xkZ29vcyAmJiBnb2FyY2ggPT0gb2xkZ29hcmNoIHsKKy0JCS8vIENvbW1vbiBjYXNlIC0gbm90IHNldHRpbmcgdXAgZm9yIGNyb3NzLWNvbXBpbGF0aW9uLgorLQkJdGltZWxvZygiYnVpbGQiLCAidG9vbGNoYWluIikKKy0JCWlmIHZmbGFnID4gMCB7CistCQkJeHByaW50ZigiXG4iKQorKwlpZiBjcm9zc0J1aWxkIHsKKysJCWdvZ2NmbGFncyA9IG9zLkdldGVudigiR09fR0NGTEFHUyIpCisrCQlnb2xkZmxhZ3MgPSBvcy5HZXRlbnYoIkdPX0xERkxBR1MiKQorKwkJdG9vbF9maWxlcywgXyA6PSBmaWxlcGF0aC5HbG9iKHBhdGhmKCIlcy8qIiwgdG9vbGRpcikpCisrCQlmb3IgXywgZiA6PSByYW5nZSB0b29sX2ZpbGVzIHsKKysJCQljb3B5ZmlsZShwYXRoZigiJXMvJXMiLCBidWlsZF90b29sZGlyLCBmaWxlcGF0aC5CYXNlKGYpKSwgZiwgd3JpdGVFeGVjKQorKwkJCXhyZW1vdmUoZikKKysJCX0KKysJCW9zLlNldGVudigiR09UT09MRElSIiwgYnVpbGRfdG9vbGRpcikKKysJCWdvQm9vdHN0cmFwID0gcGF0aGYoIiVzL2dvX2Jvb3RzdHJhcCIsIGJ1aWxkX3Rvb2xkaXIpCisrCQlpZiBob3N0T25seSB7CisrCQkJdGltZWxvZygiYnVpbGQiLCAiaG9zdCB0b29sY2hhaW4iKQorKwkJCWlmIHZmbGFnID4gMCB7CisrCQkJCXhwcmludGYoIlxuIikKKysJCQl9CisrCQkJeHByaW50ZigiQnVpbGRpbmcgJXMgZm9yIGhvc3QsICVzLyVzLlxuIiwgc3RyaW5ncy5Kb2luKHRvQnVpbGQsICIsIiksIGdvb3MsIGdvYXJjaCkKKysJCQlnb0luc3RhbGwoZ29Cb290c3RyYXAsIHRvQnVpbGQuLi4pCisrCQkJY2hlY2tOb3RTdGFsZShnb0Jvb3RzdHJhcCwgdG9CdWlsZC4uLikKKysJCQkvLyBTa2lwIGNtZEdvIHN0YWxlbmVzcyBjaGVja3MgaGVyZSwgc2luY2Ugd2UgY2FuJ3QgbmVjZXNzYXJpbHkgcnVuIHRoZSBjbWRHbyBiaW5hcnkKKysKKysJCQl0aW1lbG9nKCJidWlsZCIsICJ0YXJnZXQgdG9vbGNoYWluIikKKysJCQlpZiB2ZmxhZyA+IDAgeworKwkJCQl4cHJpbnRmKCJcbiIpCisrCQkJfQorKwkJfSBlbHNlIGlmIHRhcmdldE9ubHkgeworKwkJCWdvb3MgPSBvbGRnb29zCisrCQkJZ29hcmNoID0gb2xkZ29hcmNoCisrCQkJb3MuU2V0ZW52KCJHT09TIiwgZ29vcykKKysJCQlvcy5TZXRlbnYoIkdPQVJDSCIsIGdvYXJjaCkKKysJCQlvcy5TZXRlbnYoIkNDIiwgY29tcGlsZXJFbnZMb29rdXAoZGVmYXVsdGNjLCBnb29zLCBnb2FyY2gpKQorKwkJCXhwcmludGYoIkJ1aWxkaW5nICVzIGZvciB0YXJnZXQsICVzLyVzLlxuIiwgc3RyaW5ncy5Kb2luKHRvQnVpbGQsICIsIiksIGdvb3MsIGdvYXJjaCkKKysJCQlnb0luc3RhbGwoZ29Cb290c3RyYXAsIHRvQnVpbGQuLi4pCisrCQkJY2hlY2tOb3RTdGFsZShnb0Jvb3RzdHJhcCwgdG9CdWlsZC4uLikKKysJCQkvLyBTa2lwIGNtZEdvIHN0YWxlbmVzcyBjaGVja3MgaGVyZSwgc2luY2Ugd2UgY2FuJ3QgcnVuIHRoZSB0YXJnZXQncyBjbWRHbyBiaW5hcnkKKyAJCX0KKy0JCXhwcmludGYoIkJ1aWxkaW5nIHBhY2thZ2VzIGFuZCBjb21tYW5kcyBmb3IgJXMvJXMuXG4iLCBnb29zLCBnb2FyY2gpCisgCX0gZWxzZSB7CistCQkvLyBHT09TL0dPQVJDSCBkb2VzIG5vdCBtYXRjaCBHT0hPU1RPUy9HT0hPU1RBUkNILgorLQkJLy8gRmluaXNoIEdPSE9TVE9TL0dPSE9TVEFSQ0ggaW5zdGFsbGF0aW9uIGFuZCB0aGVuCistCQkvLyBydW4gR09PUy9HT0FSQ0ggaW5zdGFsbGF0aW9uLgorLQkJdGltZWxvZygiYnVpbGQiLCAiaG9zdCB0b29sY2hhaW4iKQorLQkJaWYgdmZsYWcgPiAwIHsKKy0JCQl4cHJpbnRmKCJcbiIpCisrCisrCQlpZiBnb29zID09IG9sZGdvb3MgJiYgZ29hcmNoID09IG9sZGdvYXJjaCB7CisrCQkJLy8gQ29tbW9uIGNhc2UgLSBub3Qgc2V0dGluZyB1cCBmb3IgY3Jvc3MtY29tcGlsYXRpb24uCisrCQkJdGltZWxvZygiYnVpbGQiLCAidG9vbGNoYWluIikKKysJCQlpZiB2ZmxhZyA+IDAgeworKwkJCQl4cHJpbnRmKCJcbiIpCisrCQkJfQorKwkJCXhwcmludGYoIkJ1aWxkaW5nIHBhY2thZ2VzIGFuZCBjb21tYW5kcyBmb3IgJXMvJXMuXG4iLCBnb29zLCBnb2FyY2gpCisrCQl9IGVsc2UgeworKwkJCS8vIEdPT1MvR09BUkNIIGRvZXMgbm90IG1hdGNoIEdPSE9TVE9TL0dPSE9TVEFSQ0guCisrCQkJLy8gRmluaXNoIEdPSE9TVE9TL0dPSE9TVEFSQ0ggaW5zdGFsbGF0aW9uIGFuZCB0aGVuCisrCQkJLy8gcnVuIEdPT1MvR09BUkNIIGluc3RhbGxhdGlvbi4KKysJCQl0aW1lbG9nKCJidWlsZCIsICJob3N0IHRvb2xjaGFpbiIpCisrCQkJaWYgdmZsYWcgPiAwIHsKKysJCQkJeHByaW50ZigiXG4iKQorKwkJCX0KKysJCQl4cHJpbnRmKCJCdWlsZGluZyBwYWNrYWdlcyBhbmQgY29tbWFuZHMgZm9yIGhvc3QsICVzLyVzLlxuIiwgZ29vcywgZ29hcmNoKQorKwkJCWdvSW5zdGFsbChnb0Jvb3RzdHJhcCwgInN0ZCIsICJjbWQiKQorKwkJCWNoZWNrTm90U3RhbGUoZ29Cb290c3RyYXAsICJzdGQiLCAiY21kIikKKysJCQljaGVja05vdFN0YWxlKGNtZEdvLCAic3RkIiwgImNtZCIpCisrCisrCQkJdGltZWxvZygiYnVpbGQiLCAidGFyZ2V0IHRvb2xjaGFpbiIpCisrCQkJaWYgdmZsYWcgPiAwIHsKKysJCQkJeHByaW50ZigiXG4iKQorKwkJCX0KKysJCQlnb29zID0gb2xkZ29vcworKwkJCWdvYXJjaCA9IG9sZGdvYXJjaAorKwkJCW9zLlNldGVudigiR09PUyIsIGdvb3MpCisrCQkJb3MuU2V0ZW52KCJHT0FSQ0giLCBnb2FyY2gpCisrCQkJb3MuU2V0ZW52KCJDQyIsIGNvbXBpbGVyRW52TG9va3VwKGRlZmF1bHRjYywgZ29vcywgZ29hcmNoKSkKKysJCQl4cHJpbnRmKCJCdWlsZGluZyBwYWNrYWdlcyBhbmQgY29tbWFuZHMgZm9yIHRhcmdldCwgJXMvJXMuXG4iLCBnb29zLCBnb2FyY2gpCisgCQl9CistCQl4cHJpbnRmKCJCdWlsZGluZyBwYWNrYWdlcyBhbmQgY29tbWFuZHMgZm9yIGhvc3QsICVzLyVzLlxuIiwgZ29vcywgZ29hcmNoKQorIAkJZ29JbnN0YWxsKGdvQm9vdHN0cmFwLCAic3RkIiwgImNtZCIpCisgCQljaGVja05vdFN0YWxlKGdvQm9vdHN0cmFwLCAic3RkIiwgImNtZCIpCisgCQljaGVja05vdFN0YWxlKGNtZEdvLCAic3RkIiwgImNtZCIpCisgCistCQl0aW1lbG9nKCJidWlsZCIsICJ0YXJnZXQgdG9vbGNoYWluIikKKy0JCWlmIHZmbGFnID4gMCB7CistCQkJeHByaW50ZigiXG4iKQorLQkJfQorLQkJZ29vcyA9IG9sZGdvb3MKKy0JCWdvYXJjaCA9IG9sZGdvYXJjaAorLQkJb3MuU2V0ZW52KCJHT09TIiwgZ29vcykKKy0JCW9zLlNldGVudigiR09BUkNIIiwgZ29hcmNoKQorLQkJb3MuU2V0ZW52KCJDQyIsIGNvbXBpbGVyRW52TG9va3VwKGRlZmF1bHRjYywgZ29vcywgZ29hcmNoKSkKKy0JCXhwcmludGYoIkJ1aWxkaW5nIHBhY2thZ2VzIGFuZCBjb21tYW5kcyBmb3IgdGFyZ2V0LCAlcy8lcy5cbiIsIGdvb3MsIGdvYXJjaCkKKy0JfQorLQl0YXJnZXRzIDo9IFtdc3RyaW5neyJzdGQiLCAiY21kIn0KKy0JaWYgZ29vcyA9PSAianMiICYmIGdvYXJjaCA9PSAid2FzbSIgeworLQkJLy8gU2tpcCB0aGUgY21kIHRvb2xzIGZvciBqcy93YXNtLiBUaGV5J3JlIG5vdCB1c2FibGUuCistCQl0YXJnZXRzID0gdGFyZ2V0c1s6MV0KKy0JfQorLQlnb0luc3RhbGwoZ29Cb290c3RyYXAsIHRhcmdldHMuLi4pCistCWNoZWNrTm90U3RhbGUoZ29Cb290c3RyYXAsIHRhcmdldHMuLi4pCistCWNoZWNrTm90U3RhbGUoY21kR28sIHRhcmdldHMuLi4pCistCWlmIGRlYnVnIHsKKy0JCXJ1bigiIiwgU2hvd091dHB1dHxDaGVja0V4aXQsIHBhdGhmKCIlcy9jb21waWxlIiwgdG9vbGRpciksICItVj1mdWxsIikKKy0JCXJ1bigiIiwgU2hvd091dHB1dHxDaGVja0V4aXQsIHBhdGhmKCIlcy9idWlsZGlkIiwgdG9vbGRpciksIHBhdGhmKCIlcy9wa2cvJXNfJXMvcnVudGltZS9pbnRlcm5hbC9zeXMuYSIsIGdvcm9vdCwgZ29vcywgZ29hcmNoKSkKKy0JCWNoZWNrTm90U3RhbGUoZ29Cb290c3RyYXAsIGFwcGVuZCh0b29sY2hhaW4sICJydW50aW1lL2ludGVybmFsL3N5cyIpLi4uKQorLQkJY29weWZpbGUocGF0aGYoIiVzL2NvbXBpbGU0IiwgdG9vbGRpciksIHBhdGhmKCIlcy9jb21waWxlIiwgdG9vbGRpciksIHdyaXRlRXhlYykKKysJCWlmIGRlYnVnIHsKKysJCQlydW4oIiIsIFNob3dPdXRwdXR8Q2hlY2tFeGl0LCBwYXRoZigiJXMvY29tcGlsZSIsIHRvb2xkaXIpLCAiLVY9ZnVsbCIpCisrCQkJcnVuKCIiLCBTaG93T3V0cHV0fENoZWNrRXhpdCwgcGF0aGYoIiVzL2J1aWxkaWQiLCB0b29sZGlyKSwgcGF0aGYoIiVzL3BrZy8lc18lcy9ydW50aW1lL2ludGVybmFsL3N5cy5hIiwgZ29yb290LCBnb29zLCBnb2FyY2gpKQorKwkJCWNoZWNrTm90U3RhbGUoZ29Cb290c3RyYXAsIGFwcGVuZCh0b29sY2hhaW4sICJydW50aW1lL2ludGVybmFsL3N5cyIpLi4uKQorKwkJCWNvcHlmaWxlKHBhdGhmKCIlcy9jb21waWxlNCIsIHRvb2xkaXIpLCBwYXRoZigiJXMvY29tcGlsZSIsIHRvb2xkaXIpLCB3cml0ZUV4ZWMpCisrCQl9CisgCX0KKyAKKyAJLy8gQ2hlY2sgdGhhdCB0aGVyZSBhcmUgbm8gbmV3IGZpbGVzIGluICRHT1JPT1QvYmluIG90aGVyIHRoYW4KK0BAIC0xMzM1LDcgKzE0MDEsMTEgQEAgZnVuYyBjbWRib290c3RyYXAoKSB7CisgCX0KKyAKKyAJLy8gUmVtb3ZlIGdvX2Jvb3RzdHJhcCBub3cgdGhhdCB3ZSdyZSBkb25lLgorLQl4cmVtb3ZlKHBhdGhmKCIlcy9nb19ib290c3RyYXAiLCB0b29sZGlyKSkKKysJLy8gRXhjZXB0IHRoYXQgZm9yIHNwbGl0IGhvc3QvdGFyZ2V0IGNyb3NzLWJ1aWxkcywgd2UgbmVlZCB0bworKwkvLyBrZWVwIGl0LgorKwlpZiAhIGNyb3NzQnVpbGQgeworKwkJeHJlbW92ZShwYXRoZigiJXMvZ29fYm9vdHN0cmFwIiwgdG9vbGRpcikpCisrCX0KKyAKKyAJLy8gUHJpbnQgdHJhaWxpbmcgYmFubmVyIHVubGVzcyBpbnN0cnVjdGVkIG90aGVyd2lzZS4KKyAJaWYgIW5vQmFubmVyIHsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwNy1jbWQtZ28tbWFrZS1HT1JPT1QtcHJlY2lvdXMtYnktZGVmYXVsdC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwNy1jbWQtZ28tbWFrZS1HT1JPT1QtcHJlY2lvdXMtYnktZGVmYXVsdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOWVmOTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMi8wMDA3LWNtZC1nby1tYWtlLUdPUk9PVC1wcmVjaW91cy1ieS1kZWZhdWx0LnBhdGNoCkBAIC0wLDAgKzEsMTA2IEBACitGcm9tIDdjYzYwYjM4ODdiZTJkNTY3NGI5ZjVkNDIyZDAyMjk3NmNmMjA1ZTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgorRGF0ZTogRnJpLCAyIE1hciAyMDE4IDA2OjAwOjIwIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGNtZC9nbzogbWFrZSBHT1JPT1QgcHJlY2lvdXMgYnkgZGVmYXVsdAorCitUaGUgZ28gYnVpbGQgdG9vbCBub3JtYWxseSByZWJ1aWxkcyB3aGF0ZXZlciBpdCBkZXRlY3RzIGlzCitzdGFsZS4gIFRoaXMgY2FuIGJlIGEgcHJvYmxlbSB3aGVuIEdPUk9PVCBpcyBpbnRlbmRlZCB0bworYmUgcmVhZC1vbmx5IGFuZCB0aGUgZ28gcnVudGltZSBoYXMgYmVlbiBidWlsdCBhcyBhIHNoYXJlZAorbGlicmFyeSwgc2luY2Ugd2UgZG9uJ3Qgd2FudCBldmVyeSBhcHBsaWNhdGlvbiB0byBiZSByZWJ1aWxkaW5nCit0aGUgc2hhcmVkIHJ1bnRpbWUgLSBwYXJ0aWN1bGFybHkgaW4gY3Jvc3MtYnVpbGQvcGFja2FnaW5nCitzZXR1cHMsIHNpbmNlIHRoYXQgd291bGQgbGVhZCB0byAnYWJpIG1pc21hdGNoJyBydW50aW1lIGVycm9ycy4KKworVGhpcyBwYXRjaCBwcmV2ZW50cyB0aGUgaW5zdGFsbCBhbmQgbGlua3NoYXJlZCBhY3Rpb25zIGZyb20KK2luc3RhbGxpbmcgdG8gR09ST09UIHVubGVzcyBvdmVycmlkZGVuIHdpdGggdGhlIEdPUk9PVF9PVkVSUklERQorZW52aXJvbm1lbnQgdmFyaWFibGUuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0Ugc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IE1hdHQgTWFkaXNvbiA8bWF0dEBtYWRpc29uLnN5c3RlbXM+CisKKy0tLQorIHNyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9hY3Rpb24uZ28gfCAgMyArKysKKyBzcmMvY21kL2dvL2ludGVybmFsL3dvcmsvYnVpbGQuZ28gIHwgIDUgKysrKysKKyBzcmMvY21kL2dvL2ludGVybmFsL3dvcmsvZXhlYy5nbyAgIHwgMjUgKysrKysrKysrKysrKysrKysrKysrKysrKworIDMgZmlsZXMgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKQorCitJbmRleDogZ28vc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2FjdGlvbi5nbworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdvLm9yaWcvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2FjdGlvbi5nbworKysrIGdvL3NyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9hY3Rpb24uZ28KK0BAIC02MDAsNiArNjAwLDkgQEAgZnVuYyAoYiAqQnVpbGRlcikgYWRkVHJhbnNpdGl2ZUxpbmtEZXBzKAorIAkJCWlmIHAxID09IG5pbCB8fCBwMS5TaGxpYiA9PSAiIiB8fCBoYXZlU2hsaWJbZmlsZXBhdGguQmFzZShwMS5TaGxpYildIHsKKyAJCQkJY29udGludWUKKyAJCQl9CisrCQkJaWYgZ29Sb290UHJlY2lvdXMgJiYgKHAxLlN0YW5kYXJkIHx8IHAxLkdvcm9vdCkgeworKwkJCQljb250aW51ZQorKwkJCX0KKyAJCQloYXZlU2hsaWJbZmlsZXBhdGguQmFzZShwMS5TaGxpYildID0gdHJ1ZQorIAkJCS8vIFRPRE8ocnNjKTogVGhlIHVzZSBvZiBNb2RlSW5zdGFsbCBoZXJlIGlzIHN1c3BlY3QsIGJ1dCBpZiB3ZSBvbmx5IGRvIE1vZGVCdWlsZCwKKyAJCQkvLyB3ZSdsbCBlbmQgdXAgYnVpbGRpbmcgYW4gb3ZlcmFsbCBsaWJyYXJ5IG9yIGV4ZWN1dGFibGUgdGhhdCBkZXBlbmRzIGF0IHJ1bnRpbWUKK0luZGV4OiBnby9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvYnVpbGQuZ28KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnby5vcmlnL3NyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9idWlsZC5nbworKysrIGdvL3NyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9idWlsZC5nbworQEAgLTE0Nyw2ICsxNDcsNyBAQCBTZWUgYWxzbzogZ28gaW5zdGFsbCwgZ28gZ2V0LCBnbyBjbGVhbi4KKyB9CisgCisgY29uc3QgY29uY3VycmVudEdDQmFja2VuZENvbXBpbGF0aW9uRW5hYmxlZEJ5RGVmYXVsdCA9IHRydWUKKyt2YXIgZ29Sb290UHJlY2lvdXMgYm9vbCA9IHRydWUKKyAKKyBmdW5jIGluaXQoKSB7CisgCS8vIGJyZWFrIGluaXQgY3ljbGUKK0BAIC0xNjAsNiArMTYxLDEwIEBAIGZ1bmMgaW5pdCgpIHsKKyAKKyAJQWRkQnVpbGRGbGFncyhDbWRCdWlsZCkKKyAJQWRkQnVpbGRGbGFncyhDbWRJbnN0YWxsKQorKworKwlpZiB4IDo9IG9zLkdldGVudigiR09ST09UX09WRVJSSURFIik7IHggIT0gIiIgeworKwkJZ29Sb290UHJlY2lvdXMgPSBmYWxzZQorKwl9CisgfQorIAorIC8vIE5vdGUgdGhhdCBmbGFncyBjb25zdWx0ZWQgYnkgb3RoZXIgcGFydHMgb2YgdGhlIGNvZGUKK0luZGV4OiBnby9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvZXhlYy5nbworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdvLm9yaWcvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2V4ZWMuZ28KKysrKyBnby9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvZXhlYy5nbworQEAgLTQzNiw2ICs0MzYsMjMgQEAgZnVuYyAoYiAqQnVpbGRlcikgYnVpbGQoYSAqQWN0aW9uKSAoZXJyCisgCQlyZXR1cm4gZm10LkVycm9yZigibWlzc2luZyBvciBpbnZhbGlkIGJpbmFyeS1vbmx5IHBhY2thZ2U7IGV4cGVjdGVkIGZpbGUgJXEiLCBhLlBhY2thZ2UuVGFyZ2V0KQorIAl9CisgCisrCWlmIGdvUm9vdFByZWNpb3VzICYmIChhLlBhY2thZ2UuU3RhbmRhcmQgfHwgYS5QYWNrYWdlLkdvcm9vdCkgeworKwkJXywgZXJyIDo9IG9zLlN0YXQoYS5QYWNrYWdlLlRhcmdldCkKKysJCWlmIGVyciA9PSBuaWwgeworKwkJCWEuYnVpbHQgPSBhLlBhY2thZ2UuVGFyZ2V0CisrCQkJYS5UYXJnZXQgPSBhLlBhY2thZ2UuVGFyZ2V0CisrCQkJYS5idWlsZElEID0gYi5maWxlSGFzaChhLlBhY2thZ2UuVGFyZ2V0KQorKwkJCWEuUGFja2FnZS5TdGFsZSA9IGZhbHNlCisrCQkJYS5QYWNrYWdlLlN0YWxlUmVhc29uID0gIkdPUk9PVC1yZXNpZGVudCBwYWNrYWdlIgorKwkJCXJldHVybiBuaWwKKysJCX0KKysJCWEuUGFja2FnZS5TdGFsZSA9IHRydWUKKysJCWEuUGFja2FnZS5TdGFsZVJlYXNvbiA9ICJtaXNzaW5nIG9yIGludmFsaWQgR09ST09ULXJlc2lkZW50IHBhY2thZ2UiCisrCQlpZiBiLklzQ21kTGlzdCB7CisrCQkJcmV0dXJuIG5pbAorKwkJfQorKwl9CisrCisgCWlmIGVyciA6PSBiLk1rZGlyKGEuT2JqZGlyKTsgZXJyICE9IG5pbCB7CisgCQlyZXR1cm4gZXJyCisgCX0KK0BAIC0xNDM4LDYgKzE0NTUsMTQgQEAgZnVuYyBCdWlsZEluc3RhbGxGdW5jKGIgKkJ1aWxkZXIsIGEgKkFjdAorIAkJcmV0dXJuIG5pbAorIAl9CisgCisrCWlmIGdvUm9vdFByZWNpb3VzICYmIGEuUGFja2FnZSAhPSBuaWwgeworKwkJcCA6PSBhLlBhY2thZ2UKKysJCWlmIHAuU3RhbmRhcmQgfHwgcC5Hb3Jvb3QgeworKwkJCWVyciA6PSBmbXQuRXJyb3JmKCJhdHRlbXB0aW5nIHRvIGluc3RhbGwgcGFja2FnZSAlcyBpbnRvIHJlYWQtb25seSBHT1JPT1QiLCBwLkltcG9ydFBhdGgpCisrCQkJcmV0dXJuIGVycgorKwkJfQorKwl9CisrCisgCWlmIGVyciA6PSBiLk1rZGlyKGEuT2JqZGlyKTsgZXJyICE9IG5pbCB7CisgCQlyZXR1cm4gZXJyCisgCX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwOC11c2UtR09CVUlMRE1PREUtdG8tc2V0LWJ1aWxkbW9kZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwOC11c2UtR09CVUlMRE1PREUtdG8tc2V0LWJ1aWxkbW9kZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMjVjZjQzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMi8wMDA4LXVzZS1HT0JVSUxETU9ERS10by1zZXQtYnVpbGRtb2RlLnBhdGNoCkBAIC0wLDAgKzEsMzcgQEAKK0Zyb20gMGUwYzI0N2YwY2FlYzIzNTI4ODg5ZmYwOWQ5ODM0OGNiYTkwMjhmMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KK0RhdGU6IEZyaSwgMjYgT2N0IDIwMTggMTU6MDI6MzIgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gdXNlIEdPQlVJTERNT0RFIHRvIHNldCBidWlsZG1vZGUKKworV2hpbGUgYnVpbGRpbmcgZ28gaXRzZWxmLCB0aGUgZ28gYnVpbGQgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQKK3RvIHNldCBgLWJ1aWxkbW9kZT1waWUnIGZyb20gZW52aXJvbm1lbnQuCisKK0FkZCBHT0JVSUxETU9ERSB0byBzdXBwb3J0IGl0IHdoaWNoIG1ha2UgUElFIGV4ZWN1dGFibGVzIHRoZSBkZWZhdWx0CitidWlsZCBtb2RlLCBhcyBQSUUgZXhlY3V0YWJsZXMgYXJlIHJlcXVpcmVkIGFzIG9mIFlvY3RvCisKK1JlZmVyczogaHR0cHM6Ly9ncm91cHMuZ29vZ2xlLmNvbS9mb3J1bS8jIXRvcGljL2dvbGFuZy1kZXYvZ1JDZTVVUktld0kKK1Vwc3RyZWFtLVN0YXR1czogRGVuaWVkIFt1cHN0cmVhbSBjaG9vc2UgYW50b2hlciBzb2x1dGlvbjogYDE3YTI1NmIKK2NtZC9nbzogLWJ1aWxkbW9kZT1waWUgZm9yIGFuZHJvaWQvYXJtJ10KKworU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvIHwgNiArKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK0luZGV4OiBnby9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvYnVpbGQuZ28KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnby5vcmlnL3NyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9idWlsZC5nbworKysrIGdvL3NyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9idWlsZC5nbworQEAgLTIyMyw3ICsyMjMsMTEgQEAgZnVuYyBBZGRCdWlsZEZsYWdzKGNtZCAqYmFzZS5Db21tYW5kKSB7CisgCisgCWNtZC5GbGFnLlZhcigmbG9hZC5CdWlsZEFzbWZsYWdzLCAiYXNtZmxhZ3MiLCAiIikKKyAJY21kLkZsYWcuVmFyKGJ1aWxkQ29tcGlsZXJ7fSwgImNvbXBpbGVyIiwgIiIpCistCWNtZC5GbGFnLlN0cmluZ1ZhcigmY2ZnLkJ1aWxkQnVpbGRtb2RlLCAiYnVpbGRtb2RlIiwgImRlZmF1bHQiLCAiIikKKysJaWYgYm0gOj0gb3MuR2V0ZW52KCJHT0JVSUxETU9ERSIpOyBibSAhPSAiIiB7CisrCQljbWQuRmxhZy5TdHJpbmdWYXIoJmNmZy5CdWlsZEJ1aWxkbW9kZSwgImJ1aWxkbW9kZSIsIGJtLCAiIikKKysJfSBlbHNlIHsKKysJCWNtZC5GbGFnLlN0cmluZ1ZhcigmY2ZnLkJ1aWxkQnVpbGRtb2RlLCAiYnVpbGRtb2RlIiwgImRlZmF1bHQiLCAiIikKKysJfQorIAljbWQuRmxhZy5WYXIoJmxvYWQuQnVpbGRHY2ZsYWdzLCAiZ2NmbGFncyIsICIiKQorIAljbWQuRmxhZy5WYXIoJmxvYWQuQnVpbGRHY2Nnb2ZsYWdzLCAiZ2NjZ29mbGFncyIsICIiKQorIAljbWQuRmxhZy5TdHJpbmdWYXIoJmNmZy5CdWlsZE1vZCwgIm1vZCIsICIiLCAiIikKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwOS1sZC1yZXBsYWNlLWdsaWJjLWR5bmFtaWMtbGlua2VyLXdpdGgtbXVzbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwOS1sZC1yZXBsYWNlLWdsaWJjLWR5bmFtaWMtbGlua2VyLXdpdGgtbXVzbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NDBjZjRiCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMi8wMDA5LWxkLXJlcGxhY2UtZ2xpYmMtZHluYW1pYy1saW5rZXItd2l0aC1tdXNsLnBhdGNoCkBAIC0wLDAgKzEsMTEyIEBACitGcm9tIDM1ZWE0YmUzNGU5NDkxMmIwMDgzN2UwZjdjNzM4NWYyZTk4ZmU3NjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgorRGF0ZTogU3VuLCAxOCBGZWIgMjAxOCAwODoyNDowNSAtMDgwMAorU3ViamVjdDogW1BBVENIXSBsZDogcmVwbGFjZSBnbGliYyBkeW5hbWljIGxpbmtlciB3aXRoIG11c2wKKworUmV3b3JrIG9mIHBhdGNoIGJ5IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Citmb3IgZ28gMS4xMC4gIFNob3VsZCBiZSBhcHBsaWVkIGNvbmRpdGlvbmFsbHkgb24KK211c2wgYmVpbmcgdGhlIHN5c3RlbSBDIGxpYnJhcnkuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbUmVhbCBmaXggc2hvdWxkIGJlIHBvcnRhYmxlIGFjcm9zcyBsaWJjc10KKworU2lnbmVkLW9mZi1ieTogTWF0dCBNYWRpc29uIDxtYXR0QG1hZGlzb24uc3lzdGVtcz4KKworLS0tCisgc3JjL2NtZC9saW5rL2ludGVybmFsL2FtZDY0L29iai5nbyAgfCAyICstCisgc3JjL2NtZC9saW5rL2ludGVybmFsL2FybS9vYmouZ28gICAgfCAyICstCisgc3JjL2NtZC9saW5rL2ludGVybmFsL2FybTY0L29iai5nbyAgfCAyICstCisgc3JjL2NtZC9saW5rL2ludGVybmFsL21pcHMvb2JqLmdvICAgfCAyICstCisgc3JjL2NtZC9saW5rL2ludGVybmFsL21pcHM2NC9vYmouZ28gfCAyICstCisgc3JjL2NtZC9saW5rL2ludGVybmFsL3BwYzY0L29iai5nbyAgfCAyICstCisgc3JjL2NtZC9saW5rL2ludGVybmFsL3MzOTB4L29iai5nbyAgfCAyICstCisgc3JjL2NtZC9saW5rL2ludGVybmFsL3g4Ni9vYmouZ28gICAgfCAyICstCisgOCBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisKKy0tLSBhL3NyYy9jbWQvbGluay9pbnRlcm5hbC9hbWQ2NC9vYmouZ28KKysrKyBiL3NyYy9jbWQvbGluay9pbnRlcm5hbC9hbWQ2NC9vYmouZ28KK0BAIC02Miw3ICs2Miw3IEBAIGZ1bmMgSW5pdCgpICgqc3lzLkFyY2gsIGxkLkFyY2gpIHsKKyAJCVBFcmVsb2MxOiAgICAgICAgIHBlcmVsb2MxLAorIAkJVExTSUV0b0xFOiAgICAgICAgdGxzSUV0b0xFLAorIAorLQkJTGludXhkeW5sZDogICAgICIvbGliNjQvbGQtbGludXgteDg2LTY0LnNvLjIiLAorKwkJTGludXhkeW5sZDogICAgICIvbGliNjQvbGQtbXVzbC14ODYtNjQuc28uMSIsCisgCQlGcmVlYnNkZHlubGQ6ICAgIi9saWJleGVjL2xkLWVsZi5zby4xIiwKKyAJCU9wZW5ic2RkeW5sZDogICAiL3Vzci9saWJleGVjL2xkLnNvIiwKKyAJCU5ldGJzZGR5bmxkOiAgICAiL2xpYmV4ZWMvbGQuZWxmX3NvIiwKKy0tLSBhL3NyYy9jbWQvbGluay9pbnRlcm5hbC9hcm0vb2JqLmdvCisrKysgYi9zcmMvY21kL2xpbmsvaW50ZXJuYWwvYXJtL29iai5nbworQEAgLTU5LDcgKzU5LDcgQEAgZnVuYyBJbml0KCkgKCpzeXMuQXJjaCwgbGQuQXJjaCkgeworIAkJTWFjaG9yZWxvYzE6ICAgICAgbWFjaG9yZWxvYzEsCisgCQlQRXJlbG9jMTogICAgICAgICBwZXJlbG9jMSwKKyAKKy0JCUxpbnV4ZHlubGQ6ICAgICAiL2xpYi9sZC1saW51eC5zby4zIiwgLy8gMiBmb3IgT0FCSSwgMyBmb3IgRUFCSQorKwkJTGludXhkeW5sZDogICAgICIvbGliL2xkLW11c2wtYXJtaGYuc28uMSIsCisgCQlGcmVlYnNkZHlubGQ6ICAgIi91c3IvbGliZXhlYy9sZC1lbGYuc28uMSIsCisgCQlPcGVuYnNkZHlubGQ6ICAgIi91c3IvbGliZXhlYy9sZC5zbyIsCisgCQlOZXRic2RkeW5sZDogICAgIi9saWJleGVjL2xkLmVsZl9zbyIsCistLS0gYS9zcmMvY21kL2xpbmsvaW50ZXJuYWwvYXJtNjQvb2JqLmdvCisrKysgYi9zcmMvY21kL2xpbmsvaW50ZXJuYWwvYXJtNjQvb2JqLmdvCitAQCAtNTcsNyArNTcsNyBAQCBmdW5jIEluaXQoKSAoKnN5cy5BcmNoLCBsZC5BcmNoKSB7CisgCQlHZW50ZXh0OiAgICAgICAgICBnZW50ZXh0LAorIAkJTWFjaG9yZWxvYzE6ICAgICAgbWFjaG9yZWxvYzEsCisgCistCQlMaW51eGR5bmxkOiAiL2xpYi9sZC1saW51eC1hYXJjaDY0LnNvLjEiLAorKwkJTGludXhkeW5sZDogIi9saWIvbGQtbXVzbC1hYXJjaDY0LnNvLjEiLAorIAorIAkJRnJlZWJzZGR5bmxkOiAgICJYWFgiLAorIAkJT3BlbmJzZGR5bmxkOiAgICJYWFgiLAorLS0tIGEvc3JjL2NtZC9saW5rL2ludGVybmFsL21pcHMvb2JqLmdvCisrKysgYi9zcmMvY21kL2xpbmsvaW50ZXJuYWwvbWlwcy9vYmouZ28KK0BAIC02MCw3ICs2MCw3IEBAIGZ1bmMgSW5pdCgpICgqc3lzLkFyY2gsIGxkLkFyY2gpIHsKKyAJCUdlbnRleHQ6ICAgICAgICAgIGdlbnRleHQsCisgCQlNYWNob3JlbG9jMTogICAgICBtYWNob3JlbG9jMSwKKyAKKy0JCUxpbnV4ZHlubGQ6ICIvbGliL2xkLnNvLjEiLAorKwkJTGludXhkeW5sZDogIi9saWIvbGQtbXVzbC1taXBzbGUuc28uMSIsCisgCisgCQlGcmVlYnNkZHlubGQ6ICAgIlhYWCIsCisgCQlPcGVuYnNkZHlubGQ6ICAgIlhYWCIsCistLS0gYS9zcmMvY21kL2xpbmsvaW50ZXJuYWwvbWlwczY0L29iai5nbworKysrIGIvc3JjL2NtZC9saW5rL2ludGVybmFsL21pcHM2NC9vYmouZ28KK0BAIC01OSw3ICs1OSw3IEBAIGZ1bmMgSW5pdCgpICgqc3lzLkFyY2gsIGxkLkFyY2gpIHsKKyAJCUdlbnRleHQ6ICAgICAgICAgIGdlbnRleHQsCisgCQlNYWNob3JlbG9jMTogICAgICBtYWNob3JlbG9jMSwKKyAKKy0JCUxpbnV4ZHlubGQ6ICAgICAiL2xpYjY0L2xkNjQuc28uMSIsCisrCQlMaW51eGR5bmxkOiAgICAgIi9saWI2NC9sZC1tdXNsLW1pcHM2NGxlLnNvLjEiLAorIAkJRnJlZWJzZGR5bmxkOiAgICJYWFgiLAorIAkJT3BlbmJzZGR5bmxkOiAgICJYWFgiLAorIAkJTmV0YnNkZHlubGQ6ICAgICJYWFgiLAorLS0tIGEvc3JjL2NtZC9saW5rL2ludGVybmFsL3BwYzY0L29iai5nbworKysrIGIvc3JjL2NtZC9saW5rL2ludGVybmFsL3BwYzY0L29iai5nbworQEAgLTYyLDcgKzYyLDcgQEAgZnVuYyBJbml0KCkgKCpzeXMuQXJjaCwgbGQuQXJjaCkgeworIAkJTWFjaG9yZWxvYzE6ICAgICAgbWFjaG9yZWxvYzEsCisgCisgCQkvLyBUT0RPKGF1c3Rpbik6IEFCSSB2MSB1c2VzIC91c3IvbGliL2xkLnNvLjEsCistCQlMaW51eGR5bmxkOiAiL2xpYjY0L2xkNjQuc28uMSIsCisrCQlMaW51eGR5bmxkOiAiL2xpYjY0L2xkLW11c2wtcG93ZXJwYzY0bGUuc28uMSIsCisgCisgCQlGcmVlYnNkZHlubGQ6ICAgIlhYWCIsCisgCQlPcGVuYnNkZHlubGQ6ICAgIlhYWCIsCistLS0gYS9zcmMvY21kL2xpbmsvaW50ZXJuYWwvczM5MHgvb2JqLmdvCisrKysgYi9zcmMvY21kL2xpbmsvaW50ZXJuYWwvczM5MHgvb2JqLmdvCitAQCAtNTcsNyArNTcsNyBAQCBmdW5jIEluaXQoKSAoKnN5cy5BcmNoLCBsZC5BcmNoKSB7CisgCQlHZW50ZXh0OiAgICAgICAgICBnZW50ZXh0LAorIAkJTWFjaG9yZWxvYzE6ICAgICAgbWFjaG9yZWxvYzEsCisgCistCQlMaW51eGR5bmxkOiAiL2xpYjY0L2xkNjQuc28uMSIsCisrCQlMaW51eGR5bmxkOiAiL2xpYjY0L2xkLW11c2wtczM5MHguc28uMSIsCisgCisgCQkvLyBub3QgcmVsZXZhbnQgZm9yIHMzOTB4CisgCQlGcmVlYnNkZHlubGQ6ICAgIlhYWCIsCistLS0gYS9zcmMvY21kL2xpbmsvaW50ZXJuYWwveDg2L29iai5nbworKysrIGIvc3JjL2NtZC9saW5rL2ludGVybmFsL3g4Ni9vYmouZ28KK0BAIC01OCw3ICs1OCw3IEBAIGZ1bmMgSW5pdCgpICgqc3lzLkFyY2gsIGxkLkFyY2gpIHsKKyAJCU1hY2hvcmVsb2MxOiAgICAgIG1hY2hvcmVsb2MxLAorIAkJUEVyZWxvYzE6ICAgICAgICAgcGVyZWxvYzEsCisgCistCQlMaW51eGR5bmxkOiAgICIvbGliL2xkLWxpbnV4LnNvLjIiLAorKwkJTGludXhkeW5sZDogICAiL2xpYi9sZC1tdXNsLWkzODYuc28uMSIsCisgCQlGcmVlYnNkZHlubGQ6ICIvdXNyL2xpYmV4ZWMvbGQtZWxmLnNvLjEiLAorIAkJT3BlbmJzZGR5bmxkOiAiL3Vzci9saWJleGVjL2xkLnNvIiwKKyAJCU5ldGJzZGR5bmxkOiAgIi91c3IvbGliZXhlYy9sZC5lbGZfc28iLApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS5pbmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJhMWVhYTAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LmluYworKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLXJlcXVpcmUgZ28tY29tbW9uLmluYwotCi1HT19CQVNFVkVSU0lPTiA9ICIxLjkiCi1HT19NSU5PUiA9ICIuNyIKLVBWIC49ICIke0dPX01JTk9SfSIKLQotRklMRVNFWFRSQVBBVEhTX3ByZXBlbmQgOj0gIiR7RklMRV9ESVJOQU1FfS9nby0ke0dPX0JBU0VWRVJTSU9OfToiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTVkNDk1MGVjYjdiMjZkMmM1ZTRlN2I0ZTBkZDc0NzA3IgotCi1TUkNfVVJJICs9ICJcCi0gICAgICAgIGZpbGU6Ly8wMDAxLW1ha2UuYmFzaC1xdW90ZS1DQ19GT1JfVEFSR0VULnBhdGNoIFwKLSAgICAgICAgZmlsZTovLzAwMDItY21kLWdvLWZpeC1DQy1hbmQtQ1hYLWVudmlyb25tZW50LXZhcmlhYmxlLWNvbnN0cnVjdC5wYXRjaCBcCi0gICAgICAgIGZpbGU6Ly8wMDAzLW1ha2UuYmFzaC1iZXR0ZXItc2VwYXJhdGUtaG9zdC1hbmQtdGFyZ2V0LWJ1aWxkcy5wYXRjaCBcCi0gICAgICAgIGZpbGU6Ly8wMDA0LWNtZC1nby1hbGxvdy1HT1RPT0xESVItdG8tYmUtb3ZlcnJpZGRlbi1pbi10aGUtZW52aXIucGF0Y2ggXAotICAgICAgICBmaWxlOi8vMDAwNS1jbWQtZ28tbWFrZS1HT1JPT1QtcHJlY2lvdXMtYnktZGVmYXVsdC5wYXRjaCBcCi0gICAgICAgIGZpbGU6Ly8wMDA2LW1ha2UuYmFzaC1hZGQtR09UT09MRElSX0JPT1RTVFJBUC1lbnZpcm9ubWVudC12YXJpYWIucGF0Y2ggXAotICAgICAgICBmaWxlOi8vMDAwNy1sZC1hZGQtc29uYW1lLXRvLXNoYXJlYWJsZS1vYmplY3RzLnBhdGNoIFwKLSAgICAgICAgZmlsZTovLzAwMDgtbWFrZS5iYXNoLWFkZC1HT0hPU1R4eC1pbmRpcmVjdGlvbi1mb3ItY3Jvc3MtY2FuYWRpYS5wYXRjaCBcCi0gICAgICAgIGZpbGU6Ly8wMDA5LWNtZC1nby1idWlsZG1vZGUtcGllLWZvcmNlcy1leHRlcm5hbC1saW5raW5nLW1vZGUtb24ucGF0Y2ggXAotICAgICAgICBmaWxlOi8vMDAxMC1tYWtlLmJhc2gtb3ZlcnJpZGUtQ0Mtd2hlbi1idWlsZGluZy1kaXN0LWFuZC1nb19ib290LnBhdGNoIFwKLSAgICAgICAgZmlsZTovLzAwMTEtdXNlLUdPQlVJTERNT0RFLXRvLXNldC1idWlsZG1vZGUucGF0Y2ggXAotIgotU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsID0gIiBmaWxlOi8vc2V0LWV4dGVybmFsLWxpbmtlci5wYXRjaCIKLQotU1JDX1VSSVttYWluLm1kNXN1bV0gPSAiM2MyY2Y4NzZlZDY2MTJhMDIyNTc0YTU2NTIwNmM2ZWEiCi1TUkNfVVJJW21haW4uc2hhMjU2c3VtXSA9ICI1ODI4MTRmYTQ1ZThlY2IwODU5YTIwOGU1MTdiNDhhYTBhZDk1MWUzYjM2YzdmZmYyMDNkODM0ZTBlZjI3NzIyIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LzAwMDEtbWFrZS5iYXNoLXF1b3RlLUNDX0ZPUl9UQVJHRVQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAwMS1tYWtlLmJhc2gtcXVvdGUtQ0NfRk9SX1RBUkdFVC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzgwMDk3NS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAwMS1tYWtlLmJhc2gtcXVvdGUtQ0NfRk9SX1RBUkdFVC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLUZyb20gZDI0NzM0YWQ0NDAwNjc5MWZkNDhmYzQ1ZWEzNGZlNjA4ZmY2NzJmYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hdHQgTWFkaXNvbiA8bWF0dEBtYWRpc29uLnN5c3RlbXM+Ci1EYXRlOiBXZWQsIDEzIFNlcCAyMDE3IDA4OjA0OjIzIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggMS83XSBtYWtlLmJhc2g6IHF1b3RlIENDX0ZPUl9UQVJHRVQKLQotRm9yIE9FIGNyb3NzLWJ1aWxkcywgJENDX0ZPUl9UQVJHRVQgaGFzIG1vcmUgdGhhbgotb25lIHdvcmQgYW5kIG5lZWRzIHRvIGJlIHF1b3RlZC4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgotLS0tCi0gc3JjL21ha2UuYmFzaCB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9tYWtlLmJhc2ggYi9zcmMvbWFrZS5iYXNoCi1pbmRleCA3MWU3NTMxLi5kY2YzMjU2IDEwMDc1NQotLS0tIGEvc3JjL21ha2UuYmFzaAotKysrIGIvc3JjL21ha2UuYmFzaAotQEAgLTE3NSw3ICsxNzUsNyBAQCBlY2hvICIjIyMjIyBCdWlsZGluZyBwYWNrYWdlcyBhbmQgY29tbWFuZHMgZm9yICRHT09TLyRHT0FSQ0guIgotIAotIG9sZF9iaW5fZmlsZXM9JChjZCAkR09ST09UL2JpbiAmJiBlY2hvICopCi0gCi0tQ0M9JENDX0ZPUl9UQVJHRVQgIiRHT1RPT0xESVIiL2dvX2Jvb3RzdHJhcCBpbnN0YWxsICRHT19GTEFHUyAtZ2NmbGFncyAiJEdPX0dDRkxBR1MiIC1sZGZsYWdzICIkR09fTERGTEFHUyIgLXYgc3RkIGNtZAotK0NDPSIkQ0NfRk9SX1RBUkdFVCIgIiRHT1RPT0xESVIiL2dvX2Jvb3RzdHJhcCBpbnN0YWxsICRHT19GTEFHUyAtZ2NmbGFncyAiJEdPX0dDRkxBR1MiIC1sZGZsYWdzICIkR09fTERGTEFHUyIgLXYgc3RkIGNtZAotIAotICMgQ2hlY2sgdGhhdCB0aGVyZSBhcmUgbm8gbmV3IGZpbGVzIGluICRHT1JPT1QvYmluIG90aGVyIHRoYW4gZ28gYW5kIGdvZm10Ci0gIyBhbmQgJEdPT1NfJEdPQVJDSCAoYSBkaXJlY3RvcnkgdXNlZCB3aGVuIGNyb3NzLWNvbXBpbGluZykuCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDAyLWNtZC1nby1maXgtQ0MtYW5kLUNYWC1lbnZpcm9ubWVudC12YXJpYWJsZS1jb25zdHJ1Y3QucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAwMi1jbWQtZ28tZml4LUNDLWFuZC1DWFgtZW52aXJvbm1lbnQtdmFyaWFibGUtY29uc3RydWN0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNGU0MjI2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDAyLWNtZC1nby1maXgtQ0MtYW5kLUNYWC1lbnZpcm9ubWVudC12YXJpYWJsZS1jb25zdHJ1Y3QucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2NyArMCwwIEBACi1Gcm9tIGE3MTcwZDMyYTEzYWVhZDYwOGFiZDE4OTk2ZjZkYWIyZTJhNjMxYjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgotRGF0ZTogV2VkLCAxMyBTZXAgMjAxNyAwODowNjozNyAtMDcwMAotU3ViamVjdDogW1BBVENIIDIvN10gY21kL2dvOiBmaXggQ0MgYW5kIENYWCBlbnZpcm9ubWVudCB2YXJpYWJsZSBjb25zdHJ1Y3Rpb24KLQotRm9yIE9FIGNyb3NzLWJ1aWxkcywgQ0MgYW5kIENYWCBoYXZlIG11bHRpcGxlIHdvcmRzLCBhbmQKLXdlIG5lZWQgdGhlaXIgY29tcGxldGUgZGVmaW5pdGlvbnMgd2hlbiBzZXR0aW5nIHVwIHRoZQotZW52aXJvbm1lbnQgZHVyaW5nIEdvIGJ1aWxkcy4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgotLS0tCi0gc3JjL2NtZC9nby9pbnRlcm5hbC9lbnZjbWQvZW52LmdvIHwgIDQgKystLQotIHNyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9idWlsZC5nbyB8IDEyICsrKysrKysrKysrKwotIDIgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9jbWQvZ28vaW50ZXJuYWwvZW52Y21kL2Vudi5nbyBiL3NyYy9jbWQvZ28vaW50ZXJuYWwvZW52Y21kL2Vudi5nbwotaW5kZXggNDNkNDMzNC4uNTI5ZDIxZCAxMDA2NDQKLS0tLSBhL3NyYy9jbWQvZ28vaW50ZXJuYWwvZW52Y21kL2Vudi5nbwotKysrIGIvc3JjL2NtZC9nby9pbnRlcm5hbC9lbnZjbWQvZW52LmdvCi1AQCAtNzQsMTAgKzc0LDEwIEBAIGZ1bmMgTWtFbnYoKSBbXWNmZy5FbnZWYXIgewotIAl9Ci0gCi0gCWNtZCA6PSBiLkdjY0NtZCgiLiIpCi0tCWVudiA9IGFwcGVuZChlbnYsIGNmZy5FbnZWYXJ7TmFtZTogIkNDIiwgVmFsdWU6IGNtZFswXX0pCi0rCWVudiA9IGFwcGVuZChlbnYsIGNmZy5FbnZWYXJ7TmFtZTogIkNDIiwgVmFsdWU6IHN0cmluZ3MuSm9pbihiLkdjY0NtZEZvclJlYWwoKSwgIiAiKX0pCi0gCWVudiA9IGFwcGVuZChlbnYsIGNmZy5FbnZWYXJ7TmFtZTogIkdPR0NDRkxBR1MiLCBWYWx1ZTogc3RyaW5ncy5Kb2luKGNtZFszOl0sICIgIil9KQotIAljbWQgPSBiLkd4eENtZCgiLiIpCi0tCWVudiA9IGFwcGVuZChlbnYsIGNmZy5FbnZWYXJ7TmFtZTogIkNYWCIsIFZhbHVlOiBjbWRbMF19KQotKwllbnYgPSBhcHBlbmQoZW52LCBjZmcuRW52VmFye05hbWU6ICJDWFgiLCBWYWx1ZTogc3RyaW5ncy5Kb2luKGIuR3h4Q21kRm9yUmVhbCgpLCAiICIpfSkKLSAKLSAJaWYgY2ZnLkJ1aWxkQ29udGV4dC5DZ29FbmFibGVkIHsKLSAJCWVudiA9IGFwcGVuZChlbnYsIGNmZy5FbnZWYXJ7TmFtZTogIkNHT19FTkFCTEVEIiwgVmFsdWU6ICIxIn0pCi1kaWZmIC0tZ2l0IGEvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvIGIvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvCi1pbmRleCA3ZDY2N2ZmLi44NWRmMGIzIDEwMDY0NAotLS0tIGEvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvCi0rKysgYi9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvYnVpbGQuZ28KLUBAIC0zMTI3LDEyICszMTI3LDI0IEBAIGZ1bmMgKGIgKkJ1aWxkZXIpIEdjY0NtZChvYmpkaXIgc3RyaW5nKSBbXXN0cmluZyB7Ci0gCXJldHVybiBiLmNjb21waWxlckNtZCgiQ0MiLCBjZmcuRGVmYXVsdENDLCBvYmpkaXIpCi0gfQotIAotKy8vIGdjY0NtZCByZXR1cm5zIGEgZ2NjIGNvbW1hbmQgbGluZSBwcmVmaXgKLSsvLyBkZWZhdWx0Q0MgaXMgZGVmaW5lZCBpbiB6ZGVmYXVsdGNjLmdvLCB3cml0dGVuIGJ5IGNtZC9kaXN0LgotK2Z1bmMgKGIgKkJ1aWxkZXIpIEdjY0NtZEZvclJlYWwoKSBbXXN0cmluZyB7Ci0rCXJldHVybiBlbnZMaXN0KCJDQyIsIGNmZy5EZWZhdWx0Q0MpCi0rfQotKwotIC8vIGd4eENtZCByZXR1cm5zIGEgZysrIGNvbW1hbmQgbGluZSBwcmVmaXgKLSAvLyBkZWZhdWx0Q1hYIGlzIGRlZmluZWQgaW4gemRlZmF1bHRjYy5nbywgd3JpdHRlbiBieSBjbWQvZGlzdC4KLSBmdW5jIChiICpCdWlsZGVyKSBHeHhDbWQob2JqZGlyIHN0cmluZykgW11zdHJpbmcgewotIAlyZXR1cm4gYi5jY29tcGlsZXJDbWQoIkNYWCIsIGNmZy5EZWZhdWx0Q1hYLCBvYmpkaXIpCi0gfQotIAotKy8vIGd4eENtZCByZXR1cm5zIGEgZysrIGNvbW1hbmQgbGluZSBwcmVmaXgKLSsvLyBkZWZhdWx0Q1hYIGlzIGRlZmluZWQgaW4gemRlZmF1bHRjYy5nbywgd3JpdHRlbiBieSBjbWQvZGlzdC4KLStmdW5jIChiICpCdWlsZGVyKSBHeHhDbWRGb3JSZWFsKCkgW11zdHJpbmcgewotKwlyZXR1cm4gZW52TGlzdCgiQ1hYIiwgY2ZnLkRlZmF1bHRDWFgpCi0rfQotKwotIC8vIGdmb3J0cmFuQ21kIHJldHVybnMgYSBnZm9ydHJhbiBjb21tYW5kIGxpbmUgcHJlZml4LgotIGZ1bmMgKGIgKkJ1aWxkZXIpIGdmb3J0cmFuQ21kKG9iamRpciBzdHJpbmcpIFtdc3RyaW5nIHsKLSAJcmV0dXJuIGIuY2NvbXBpbGVyQ21kKCJGQyIsICJnZm9ydHJhbiIsIG9iamRpcikKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LzAwMDMtbWFrZS5iYXNoLWJldHRlci1zZXBhcmF0ZS1ob3N0LWFuZC10YXJnZXQtYnVpbGRzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LzAwMDMtbWFrZS5iYXNoLWJldHRlci1zZXBhcmF0ZS1ob3N0LWFuZC10YXJnZXQtYnVpbGRzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZmQ5ZjIzLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDAzLW1ha2UuYmFzaC1iZXR0ZXItc2VwYXJhdGUtaG9zdC1hbmQtdGFyZ2V0LWJ1aWxkcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDkyICswLDAgQEAKLUZyb20gMzFlODhmMDZhZjdhYjc4N2Q4ZmUwYzFjYTYyNTE5M2UxNzk5ZTE2NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hdHQgTWFkaXNvbiA8bWF0dEBtYWRpc29uLnN5c3RlbXM+Ci1EYXRlOiBXZWQsIDEzIFNlcCAyMDE3IDA4OjEyOjA0IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggMy83XSBtYWtlLmJhc2g6IGJldHRlciBzZXBhcmF0ZSBob3N0IGFuZCB0YXJnZXQgYnVpbGRzCi0KLUZvcmUgT0UgY3Jvc3MtYnVpbGRzLCB0aGUgc2ltcGxlIGNoZWNrcyBpbiBtYWtlLmJhc2ggYXJlCi1pbnN1ZmZpY2llbnQgZm9yIGRpc3Rpbmd1aXNoaW5nIGhvc3QgYW5kIHRhcmdldCBidWlsZAotZW52aXJvbm1lbnRzLCBzbyBhZGQgc29tZSBvcHRpb25zIGZvciB0ZWxsaW5nIHRoZQotc2NyaXB0IHdoaWNoIHBhcnRzIGFyZSBiZWluZyBidWlsdC4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgotLS0tCi0gc3JjL21ha2UuYmFzaCB8IDUxICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9tYWtlLmJhc2ggYi9zcmMvbWFrZS5iYXNoCi1pbmRleCBkY2YzMjU2Li45NTUzNjIzIDEwMDc1NQotLS0tIGEvc3JjL21ha2UuYmFzaAotKysrIGIvc3JjL21ha2UuYmFzaAotQEAgLTE1NiwxMyArMTU2LDIyIEBAIGlmIFsgIiQxIiA9ICItLW5vLWNsZWFuIiBdOyB0aGVuCi0gCWJ1aWxkYWxsPSIiCi0gCXNoaWZ0Ci0gZmkKLS0uL2NtZC9kaXN0L2Rpc3QgYm9vdHN0cmFwICRidWlsZGFsbCAkR09fRElTVEZMQUdTIC12ICMgYnVpbGRzIGdvX2Jvb3RzdHJhcAotK2RvX2hvc3RfYnVpbGQ9InllcyIKLStkb190YXJnZXRfYnVpbGQ9InllcyIKLStpZiBbICIkMSIgPSAiLS10YXJnZXQtb25seSIgXTsgdGhlbgotKwlkb19ob3N0X2J1aWxkPSJubyIKLSsJc2hpZnQKLStlbGlmIFsgIiQxIiA9ICItLWhvc3Qtb25seSIgXTsgdGhlbgotKwlkb190YXJnZXRfYnVpbGQ9Im5vIgotKwlzaGlmdAotK2ZpCi0gCi0tIyBEZWxheSBtb3ZlIG9mIGRpc3QgdG9vbCB0byBub3csIGJlY2F1c2UgYm9vdHN0cmFwIG1heSBjbGVhciB0b29sIGRpcmVjdG9yeS4KLS1tdiBjbWQvZGlzdC9kaXN0ICIkR09UT09MRElSIi9kaXN0Ci0tZWNobwotK2lmIFsgIiRkb19ob3N0X2J1aWxkIiA9ICJ5ZXMiIF07IHRoZW4KLSsJLi9jbWQvZGlzdC9kaXN0IGJvb3RzdHJhcCAkYnVpbGRhbGwgJEdPX0RJU1RGTEFHUyAtdiAjIGJ1aWxkcyBnb19ib290c3RyYXAKLSsJIyBEZWxheSBtb3ZlIG9mIGRpc3QgdG9vbCB0byBub3csIGJlY2F1c2UgYm9vdHN0cmFwIG1heSBjbGVhciB0b29sIGRpcmVjdG9yeS4KLSsJbXYgY21kL2Rpc3QvZGlzdCAiJEdPVE9PTERJUiIvZGlzdAotKwllY2hvCi0gCi0taWYgWyAiJEdPSE9TVEFSQ0giICE9ICIkR09BUkNIIiAtbyAiJEdPSE9TVE9TIiAhPSAiJEdPT1MiIF07IHRoZW4KLSAJZWNobyAiIyMjIyMgQnVpbGRpbmcgcGFja2FnZXMgYW5kIGNvbW1hbmRzIGZvciBob3N0LCAkR09IT1NUT1MvJEdPSE9TVEFSQ0guIgotIAkjIENDX0ZPUl9UQVJHRVQgaXMgcmVjb3JkZWQgYXMgdGhlIGRlZmF1bHQgY29tcGlsZXIgZm9yIHRoZSBnbyB0b29sLiBXaGVuIGJ1aWxkaW5nIGZvciB0aGUgaG9zdCwgaG93ZXZlciwKLSAJIyB1c2UgdGhlIGhvc3QgY29tcGlsZXIsIENDLCBmcm9tIGBjbWQvZGlzdC9kaXN0IGVudmAgaW5zdGVhZC4KLUBAIC0xNzEsMjQgKzE4MCwyMCBAQCBpZiBbICIkR09IT1NUQVJDSCIgIT0gIiRHT0FSQ0giIC1vICIkR09IT1NUT1MiICE9ICIkR09PUyIgXTsgdGhlbgotIAllY2hvCi0gZmkKLSAKLS1lY2hvICIjIyMjIyBCdWlsZGluZyBwYWNrYWdlcyBhbmQgY29tbWFuZHMgZm9yICRHT09TLyRHT0FSQ0guIgotLQotLW9sZF9iaW5fZmlsZXM9JChjZCAkR09ST09UL2JpbiAmJiBlY2hvICopCi0tCi0tQ0M9IiRDQ19GT1JfVEFSR0VUIiAiJEdPVE9PTERJUiIvZ29fYm9vdHN0cmFwIGluc3RhbGwgJEdPX0ZMQUdTIC1nY2ZsYWdzICIkR09fR0NGTEFHUyIgLWxkZmxhZ3MgIiRHT19MREZMQUdTIiAtdiBzdGQgY21kCi0tCi0tIyBDaGVjayB0aGF0IHRoZXJlIGFyZSBubyBuZXcgZmlsZXMgaW4gJEdPUk9PVC9iaW4gb3RoZXIgdGhhbiBnbyBhbmQgZ29mbXQKLS0jIGFuZCAkR09PU18kR09BUkNIIChhIGRpcmVjdG9yeSB1c2VkIHdoZW4gY3Jvc3MtY29tcGlsaW5nKS4KLS0oY2QgJEdPUk9PVC9iaW4gJiYgZm9yIGYgaW4gKjsgZG8KLS0JaWYgISBleHByICIgJG9sZF9iaW5fZmlsZXMgZ28gZ29mbXQgJHtHT09TfV8ke0dPQVJDSH0gIiA6ICIuKiAkZiAiID4vZGV2L251bGwgMj4vZGV2L251bGw7IHRoZW4KLS0JCWVjaG8gMT4mMiAiRVJST1I6IHVuZXhwZWN0ZWQgbmV3IGZpbGUgaW4gJEdPUk9PVC9iaW46ICRmIgotLQkJZXhpdCAxCi0tCWZpCi0tZG9uZSkKLS0KLS1lY2hvCi0tCi0tcm0gLWYgIiRHT1RPT0xESVIiL2dvX2Jvb3RzdHJhcAotK2lmIFsgIiRkb190YXJnZXRfYnVpbGQiID0gInllcyIgXTsgdGhlbgotKyAgICBHT19JTlNUQUxMPSIke0dPX1RBUkdFVF9JTlNUQUxMOi1zdGQgY21kfSIKLSsgICAgZWNobyAiIyMjIyMgQnVpbGRpbmcgcGFja2FnZXMgYW5kIGNvbW1hbmRzIGZvciAkR09PUy8kR09BUkNILiIKLSsgICAgaWYgWyAiJEdPSE9TVE9TIiA9ICIkR09PUyIgLWEgIiRHT0hPU1RBUkNIIiA9ICIkR09BUkNIIiAtYSAiJGRvX2hvc3RfYnVpbGQiID0gInllcyIgXTsgdGhlbgotKwlybSAtcmYgLi9ob3N0LXRvb2xzCi0rCW1rZGlyIC4vaG9zdC10b29scwotKwltdiAiJEdPVE9PTERJUiIvKiAuL2hvc3QtdG9vbHMKLSsJR09UT09MRElSPSIkUFdEL2hvc3QtdG9vbHMiCi0rICAgIGZpCi0rICAgIEdPVE9PTERJUj0iJEdPVE9PTERJUiIgQ0M9IiRDQ19GT1JfVEFSR0VUIiAiJEdPVE9PTERJUiIvZ29fYm9vdHN0cmFwIGluc3RhbGwgJEdPX0ZMQUdTIC1nY2ZsYWdzICIkR09fR0NGTEFHUyIgLWxkZmxhZ3MgIiRHT19MREZMQUdTIiAtdiAke0dPX0lOU1RBTEx9Ci0rICAgIGVjaG8KLSsKLSsgICAgcm0gLWYgIiRHT1RPT0xESVIiL2dvX2Jvb3RzdHJhcAotK2ZpCi0gCi0gaWYgWyAiJDEiICE9ICItLW5vLWJhbm5lciIgXTsgdGhlbgotIAkiJEdPVE9PTERJUiIvZGlzdCBiYW5uZXIKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LzAwMDQtY21kLWdvLWFsbG93LUdPVE9PTERJUi10by1iZS1vdmVycmlkZGVuLWluLXRoZS1lbnZpci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDA0LWNtZC1nby1hbGxvdy1HT1RPT0xESVItdG8tYmUtb3ZlcnJpZGRlbi1pbi10aGUtZW52aXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE4MGIwNmEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LzAwMDQtY21kLWdvLWFsbG93LUdPVE9PTERJUi10by1iZS1vdmVycmlkZGVuLWluLXRoZS1lbnZpci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAgQEAKLUZyb20gMTM2OTE3OGI0OTdiMTIwODhlYzRjMjc5NDYwNmNjOWYxNGNjMzI3YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hdHQgTWFkaXNvbiA8bWF0dEBtYWRpc29uLnN5c3RlbXM+Ci1EYXRlOiBXZWQsIDEzIFNlcCAyMDE3IDA4OjE1OjAzIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggNC83XSBjbWQvZ286IGFsbG93IEdPVE9PTERJUiB0byBiZSBvdmVycmlkZGVuIGluIHRoZQotIGVudmlyb25tZW50Ci0KLUZvciBPRSBjcm9zcy1idWlsZHMsIGhvc3Qtc2lkZSB0b29scyByZXNpZGUgaW4gdGhlIG5hdGl2ZQotR09ST09ULCBub3QgdGhlIHRhcmdldCBHT1JPT1QuICBBbGxvdyBHT1RPT0xESVIgdG8gYmUgc2V0Ci1pbiB0aGUgZW52aXJvbm1lbnQgdG8gYWxsb3cgdGhhdCBzcGxpdCwgcmF0aGVyIHRoYW4gYWx3YXlzCi1jb21wdXRpbmcgR09UT09MRElSIHJlbGF0aXZlIHRvIHRoZSBHT1JPT1Qgc2V0dGluZy4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgotLS0tCi0gc3JjL2NtZC9nby9pbnRlcm5hbC9jZmcvY2ZnLmdvICAgIHwgNyArKysrKystCi0gc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvIHwgMiArLQotIHNyYy9nby9idWlsZC9idWlsZC5nbyAgICAgICAgICAgICB8IDIgKy0KLSAzIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9jbWQvZ28vaW50ZXJuYWwvY2ZnL2NmZy5nbyBiL3NyYy9jbWQvZ28vaW50ZXJuYWwvY2ZnL2NmZy5nbwotaW5kZXggYjNhZDFjZS4uYzFkYzk3NCAxMDA2NDQKLS0tLSBhL3NyYy9jbWQvZ28vaW50ZXJuYWwvY2ZnL2NmZy5nbwotKysrIGIvc3JjL2NtZC9nby9pbnRlcm5hbC9jZmcvY2ZnLmdvCi1AQCAtOTEsNyArOTEsMTIgQEAgZnVuYyBpbml0KCkgewotIAkvLyBhcyB0aGUgdG9vbCBkaXJlY3RvcnkgZG9lcyBub3QgbW92ZSBiYXNlZCBvbiBlbnZpcm9ubWVudCB2YXJpYWJsZXMuCi0gCS8vIFRoaXMgbWF0Y2hlcyB0aGUgaW5pdGlhbGl6YXRpb24gb2YgVG9vbERpciBpbiBnby9idWlsZCwKLSAJLy8gZXhjZXB0IGZvciB1c2luZyBHT1JPT1QgcmF0aGVyIHRoYW4gcnVudGltZS5HT1JPT1QoKS4KLS0JYnVpbGQuVG9vbERpciA9IGZpbGVwYXRoLkpvaW4oR09ST09ULCAicGtnL3Rvb2wvIitydW50aW1lLkdPT1MrIl8iK3J1bnRpbWUuR09BUkNIKQotKwlzIDo9IG9zLkdldGVudigiR09UT09MRElSIikKLSsJaWYgcyA9PSAiIiB7Ci0rCQlidWlsZC5Ub29sRGlyID0gZmlsZXBhdGguSm9pbihHT1JPT1QsICJwa2cvdG9vbC8iK3J1bnRpbWUuR09PUysiXyIrcnVudGltZS5HT0FSQ0gpCi0rCX0gZWxzZSB7Ci0rCQlidWlsZC5Ub29sRGlyID0gcwotKwl9Ci0gfQotIAotIGZ1bmMgZmluZEdPUk9PVCgpIHN0cmluZyB7Ci1kaWZmIC0tZ2l0IGEvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvIGIvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvCi1pbmRleCA4NWRmMGIzLi43YjlhNjllIDEwMDY0NAotLS0tIGEvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvCi0rKysgYi9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvYnVpbGQuZ28KLUBAIC0xMzM3LDcgKzEzMzcsNyBAQCBmdW5jIChiICpCdWlsZGVyKSBidWlsZChhICpBY3Rpb24pIChlcnIgZXJyb3IpIHsKLSAJCX0KLSAKLSAJCXZhciBjZ29FeGUgc3RyaW5nCi0tCQlpZiBhLmNnbyAhPSBuaWwgJiYgYS5jZ28uVGFyZ2V0ICE9ICIiIHsKLSsJCWlmIGEuY2dvICE9IG5pbCAmJiBhLmNnby5UYXJnZXQgIT0gIiIgJiYgb3MuR2V0ZW52KCJHT1RPT0xESVIiKSA9PSAiIiB7Ci0gCQkJY2dvRXhlID0gYS5jZ28uVGFyZ2V0Ci0gCQl9IGVsc2UgewotIAkJCWNnb0V4ZSA9IGJhc2UuVG9vbCgiY2dvIikKLWRpZmYgLS1naXQgYS9zcmMvZ28vYnVpbGQvYnVpbGQuZ28gYi9zcmMvZ28vYnVpbGQvYnVpbGQuZ28KLWluZGV4IGZkODk4NzEuLmUxNjE0NWIgMTAwNjQ0Ci0tLS0gYS9zcmMvZ28vYnVpbGQvYnVpbGQuZ28KLSsrKyBiL3NyYy9nby9idWlsZC9idWlsZC5nbwotQEAgLTE1ODgsNyArMTU4OCw3IEBAIGZ1bmMgaW5pdCgpIHsKLSB9Ci0gCi0gLy8gVG9vbERpciBpcyB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYnVpbGQgdG9vbHMuCi0tdmFyIFRvb2xEaXIgPSBmaWxlcGF0aC5Kb2luKHJ1bnRpbWUuR09ST09UKCksICJwa2cvdG9vbC8iK3J1bnRpbWUuR09PUysiXyIrcnVudGltZS5HT0FSQ0gpCi0rdmFyIFRvb2xEaXIgPSBlbnZPcigiR09UT09MRElSIiwgZmlsZXBhdGguSm9pbihydW50aW1lLkdPUk9PVCgpLCAicGtnL3Rvb2wvIitydW50aW1lLkdPT1MrIl8iK3J1bnRpbWUuR09BUkNIKSkKLSAKLSAvLyBJc0xvY2FsSW1wb3J0IHJlcG9ydHMgd2hldGhlciB0aGUgaW1wb3J0IHBhdGggaXMKLSAvLyBhIGxvY2FsIGltcG9ydCBwYXRoLCBsaWtlICIuIiwgIi4uIiwgIi4vZm9vIiwgb3IgIi4uL2ZvbyIuCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDA1LWNtZC1nby1tYWtlLUdPUk9PVC1wcmVjaW91cy1ieS1kZWZhdWx0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LzAwMDUtY21kLWdvLW1ha2UtR09ST09ULXByZWNpb3VzLWJ5LWRlZmF1bHQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZlOTNiY2IuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LzAwMDUtY21kLWdvLW1ha2UtR09ST09ULXByZWNpb3VzLWJ5LWRlZmF1bHQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1Gcm9tIDQ0Zjk2MTk3NWRhYzZjZjQ2NGE3N2I1ZjZkZDBjNDdjYzE5MmM0ZmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgotRGF0ZTogV2VkLCAxMyBTZXAgMjAxNyAwODoxOTo1MiAtMDcwMAotU3ViamVjdDogW1BBVENIIDUvN10gY21kL2dvOiBtYWtlIEdPUk9PVCBwcmVjaW91cyBieSBkZWZhdWx0Ci0KLUZvciBPRSBidWlsZHMsIHdlIG5ldmVyIHdhbnQgcGFja2FnZXMgdGhhdCBoYXZlCi1hbHJlYWR5IGJlZW4gaW5zdGFsbGVkIGludG8gdGhlIGJ1aWxkIHJvb3QgdG8gYmUKLW1vZGlmaWVkLCBzbyBwcmV2ZW50IHRoZSBnbyBidWlsZCB0b29sIGZyb20gY2hlY2tpbmcKLWlmIHRoZXkgc2hvdWxkIGJlIHJlYnVpbHQuCi0KLUFsc28gYWRkIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIG92ZXJyaWRlIHRoaXMKLWJlaGF2aW9yLCBqdXN0IGZvciBidWlsZGluZyB0aGUgR28gcnVudGltZS4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IE1hdHQgTWFkaXNvbiA8bWF0dEBtYWRpc29uLnN5c3RlbXM+Ci0tLS0KLSBzcmMvY21kL2dvL2ludGVybmFsL2xvYWQvcGtnLmdvIHwgNyArKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2NtZC9nby9pbnRlcm5hbC9sb2FkL3BrZy5nbyBiL3NyYy9jbWQvZ28vaW50ZXJuYWwvbG9hZC9wa2cuZ28KLWluZGV4IDYwZGU2NjYuLjI2NjBkM2YgMTAwNjQ0Ci0tLS0gYS9zcmMvY21kL2dvL2ludGVybmFsL2xvYWQvcGtnLmdvCi0rKysgYi9zcmMvY21kL2dvL2ludGVybmFsL2xvYWQvcGtnLmdvCi1AQCAtMTUzMCw2ICsxNTMwLDEzIEBAIGZ1bmMgaXNTdGFsZShwICpQYWNrYWdlKSAoYm9vbCwgc3RyaW5nKSB7Ci0gCQlyZXR1cm4gdHJ1ZSwgImJ1aWxkIElEIG1pc21hdGNoIgotIAl9Ci0gCi0rCS8vIEZvciBPRSBidWlsZHMsIG1ha2UgYW55dGhpbmcgaW4gR09ST09UIG5vbi1zdGFsZSwKLSsJLy8gdG8gcHJldmVudCBhIHBhY2thZ2UgYnVpbGQgZnJvbSBvdmVyd3JpdGluZyB0aGUKLSsJLy8gYnVpbGQgcm9vdC4KLSsJaWYgcC5Hb3Jvb3QgJiYgb3MuR2V0ZW52KCJHT1JPT1RfT1ZFUlJJREUiKSAhPSAiMSIgewotKwkJcmV0dXJuIGZhbHNlLCAiR09ST09ULXJlc2lkZW50IHBhY2thZ2VzIGRvIG5vdCBnZXQgcmVidWlsdCIKLSsJfQotKwotIAkvLyBQYWNrYWdlIGlzIHN0YWxlIGlmIGEgZGVwZW5kZW5jeSBpcy4KLSAJZm9yIF8sIHAxIDo9IHJhbmdlIHAuSW50ZXJuYWwuRGVwcyB7Ci0gCQlpZiBwMS5TdGFsZSB7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDA2LW1ha2UuYmFzaC1hZGQtR09UT09MRElSX0JPT1RTVFJBUC1lbnZpcm9ubWVudC12YXJpYWIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAwNi1tYWtlLmJhc2gtYWRkLUdPVE9PTERJUl9CT09UU1RSQVAtZW52aXJvbm1lbnQtdmFyaWFiLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMGY1NjQwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDA2LW1ha2UuYmFzaC1hZGQtR09UT09MRElSX0JPT1RTVFJBUC1lbnZpcm9ubWVudC12YXJpYWIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1Gcm9tIGFhZTc0ZDEwNDVjYTAzMzA2YmE0MTU5MjA2ZWUzYmFjNzJiY2RmYmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgotRGF0ZTogV2VkLCAxMyBTZXAgMjAxNyAwODoyMzoyMyAtMDcwMAotU3ViamVjdDogW1BBVENIIDYvN10gbWFrZS5iYXNoOiBhZGQgR09UT09MRElSX0JPT1RTVFJBUCBlbnZpcm9ubWVudCB2YXJpYWJsZQotCi1Gb3IgY3Jvc3MtY2FuYWRpYW4gYnVpbGRzLCB3ZSBuZWVkIHRvIHVzZSB0aGUgbmF0aXZlCi1HT1RPT0xESVIgZHVyaW5nIHRoZSBib290c3RyYXAgcGhhc2UsIHNvIHByb3ZpZGUgYSB3YXkKLXRvIHBhc3MgdGhhdCBzZXR0aW5nIGludG8gdGhlIGJ1aWxkIHNjcmlwdC4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IE1hdHQgTWFkaXNvbiA8bWF0dEBtYWRpc29uLnN5c3RlbXM+Ci0tLS0KLSBzcmMvbWFrZS5iYXNoIHwgMyArKy0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvbWFrZS5iYXNoIGIvc3JjL21ha2UuYmFzaAotaW5kZXggOTU1MzYyMy4uMmU2ZmIwNSAxMDA3NTUKLS0tLSBhL3NyYy9tYWtlLmJhc2gKLSsrKyBiL3NyYy9tYWtlLmJhc2gKLUBAIC0xNzIsMTAgKzE3MiwxMSBAQCBpZiBbICIkZG9faG9zdF9idWlsZCIgPSAieWVzIiBdOyB0aGVuCi0gCW12IGNtZC9kaXN0L2Rpc3QgIiRHT1RPT0xESVIiL2Rpc3QKLSAJZWNobwotIAotKwlHT1RPT0xESVJfQk9PVFNUUkFQPSIke0dPVE9PTERJUl9CT09UU1RSQVA6LSRHT1RPT0xESVJ9IgotIAllY2hvICIjIyMjIyBCdWlsZGluZyBwYWNrYWdlcyBhbmQgY29tbWFuZHMgZm9yIGhvc3QsICRHT0hPU1RPUy8kR09IT1NUQVJDSC4iCi0gCSMgQ0NfRk9SX1RBUkdFVCBpcyByZWNvcmRlZCBhcyB0aGUgZGVmYXVsdCBjb21waWxlciBmb3IgdGhlIGdvIHRvb2wuIFdoZW4gYnVpbGRpbmcgZm9yIHRoZSBob3N0LCBob3dldmVyLAotIAkjIHVzZSB0aGUgaG9zdCBjb21waWxlciwgQ0MsIGZyb20gYGNtZC9kaXN0L2Rpc3QgZW52YCBpbnN0ZWFkLgotLQlDQz0kQ0MgR09PUz0kR09IT1NUT1MgR09BUkNIPSRHT0hPU1RBUkNIIFwKLSsJQ0M9JENDIEdPT1M9JEdPSE9TVE9TIEdPQVJDSD0kR09IT1NUQVJDSCBHT1RPT0xESVI9IiRHT1RPT0xESVJfQk9PVFNUUkFQIiBcCi0gCQkiJEdPVE9PTERJUiIvZ29fYm9vdHN0cmFwIGluc3RhbGwgLWdjZmxhZ3MgIiRHT19HQ0ZMQUdTIiAtbGRmbGFncyAiJEdPX0xERkxBR1MiIC12IHN0ZCBjbWQKLSAJZWNobwotIGZpCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDA3LWxkLWFkZC1zb25hbWUtdG8tc2hhcmVhYmxlLW9iamVjdHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAwNy1sZC1hZGQtc29uYW1lLXRvLXNoYXJlYWJsZS1vYmplY3RzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NDU5NzgyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDA3LWxkLWFkZC1zb25hbWUtdG8tc2hhcmVhYmxlLW9iamVjdHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBACi1Gcm9tIGU5NTdjMzQ1OGQ1M2UzN2JmNDE2ZjUxZDJmOGJmNTRjMTk1ZTUwZjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgotRGF0ZTogV2VkLCAxMyBTZXAgMjAxNyAwODoyNzowMiAtMDcwMAotU3ViamVjdDogW1BBVENIIDcvN10gbGQ6IGFkZCBzb25hbWUgdG8gc2hhcmVhYmxlIG9iamVjdHMKLQotU2hhcmVkIGxpYnJhcnkgaGFuZGxpbmcgaW4gT0UgZGVwZW5kcyBvbiB0aGUgaW5jbHVzaW9uCi1vZiBhbiBzb25hbWUgaGVhZGVyLCBzbyB1cGRhdGUgdGhlIGdvIGxpbmtlciB0byBhZGQgdGhhdAotaGVhZGVyIGZvciBib3RoIGludGVybmFsIGFuZCBleHRlcm5hbCBsaW5raW5nLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogTWF0dCBNYWRpc29uIDxtYXR0QG1hZGlzb24uc3lzdGVtcz4KLS0tLQotIHNyYy9jbWQvbGluay9pbnRlcm5hbC9sZC9saWIuZ28gfCAzICsrKwotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy9jbWQvbGluay9pbnRlcm5hbC9sZC9saWIuZ28gYi9zcmMvY21kL2xpbmsvaW50ZXJuYWwvbGQvbGliLmdvCi1pbmRleCAwMjM0MTA1Li4wYjllMmQwIDEwMDY0NAotLS0tIGEvc3JjL2NtZC9saW5rL2ludGVybmFsL2xkL2xpYi5nbwotKysrIGIvc3JjL2NtZC9saW5rL2ludGVybmFsL2xkL2xpYi5nbwotQEAgLTExMjQsMTIgKzExMjQsMTQgQEAgZnVuYyAobCAqTGluaykgaG9zdGxpbmsoKSB7Ci0gCQkJLy8gUGFzcyAteiBub2RlbGV0ZSB0byBtYXJrIHRoZSBzaGFyZWQgbGlicmFyeSBhcwotIAkJCS8vIG5vbi1jbG9zZWFibGU6IGEgZGxjbG9zZSB3aWxsIGRvIG5vdGhpbmcuCi0gCQkJYXJndiA9IGFwcGVuZChhcmd2LCAiLXNoYXJlZCIsICItV2wsLXosbm9kZWxldGUiKQotKwkJCWFyZ3YgPSBhcHBlbmQoYXJndiwgZm10LlNwcmludGYoIi1XbCwtc29uYW1lLCVzIiwgZmlsZXBhdGguQmFzZSgqZmxhZ091dGZpbGUpKSkKLSAJCX0KLSAJY2FzZSBCdWlsZG1vZGVTaGFyZWQ6Ci0gCQlpZiBVc2VSZWxybygpIHsKLSAJCQlhcmd2ID0gYXBwZW5kKGFyZ3YsICItV2wsLXoscmVscm8iKQotIAkJfQotIAkJYXJndiA9IGFwcGVuZChhcmd2LCAiLXNoYXJlZCIpCi0rCQlhcmd2ID0gYXBwZW5kKGFyZ3YsIGZtdC5TcHJpbnRmKCItV2wsLXNvbmFtZSwlcyIsIGZpbGVwYXRoLkJhc2UoKmZsYWdPdXRmaWxlKSkpCi0gCWNhc2UgQnVpbGRtb2RlUGx1Z2luOgotIAkJaWYgSGVhZHR5cGUgPT0gb2JqYWJpLkhkYXJ3aW4gewotIAkJCWFyZ3YgPSBhcHBlbmQoYXJndiwgIi1keW5hbWljbGliIikKLUBAIC0xMTM4LDYgKzExNDAsNyBAQCBmdW5jIChsICpMaW5rKSBob3N0bGluaygpIHsKLSAJCQkJYXJndiA9IGFwcGVuZChhcmd2LCAiLVdsLC16LHJlbHJvIikKLSAJCQl9Ci0gCQkJYXJndiA9IGFwcGVuZChhcmd2LCAiLXNoYXJlZCIpCi0rCQkJYXJndiA9IGFwcGVuZChhcmd2LCBmbXQuU3ByaW50ZigiLVdsLC1zb25hbWUsJXMiLCBmaWxlcGF0aC5CYXNlKCpmbGFnT3V0ZmlsZSkpKQotIAkJfQotIAl9Ci0gCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDA4LW1ha2UuYmFzaC1hZGQtR09IT1NUeHgtaW5kaXJlY3Rpb24tZm9yLWNyb3NzLWNhbmFkaWEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAwOC1tYWtlLmJhc2gtYWRkLUdPSE9TVHh4LWluZGlyZWN0aW9uLWZvci1jcm9zcy1jYW5hZGlhLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwOTc3Yzc4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDA4LW1ha2UuYmFzaC1hZGQtR09IT1NUeHgtaW5kaXJlY3Rpb24tZm9yLWNyb3NzLWNhbmFkaWEucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi1Gcm9tIDAzZTZjMzM5ZDRmYjcxMmZiYjhjNGNhNmVmMmZjNzEwMGRjZGIzZDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgotRGF0ZTogVGh1LCAxNCBTZXAgMjAxNyAwNTozODoxMCAtMDcwMAotU3ViamVjdDogW1BBVENIIDgvOF0gbWFrZS5iYXNoOiBhZGQgR09IT1NUeHggaW5kaXJlY3Rpb24gZm9yIGNyb3NzLWNhbmFkaWFuCi0gYnVpbGRzCi0KLUFkZCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZm9yIHNwZWNpZnlpbmcgdGhlIGhvc3QgT1MvYXJjaAotdGhhdCB3ZSBhcmUgYnVpbGRpbmcgdGhlIGNvbXBpbGVyIGZvciwgc28gaXQgY2FuIGRpZmZlciBmcm9tCi10aGUgYnVpbGQgaG9zdCBPUy9hcmNoLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogTWF0dCBNYWRpc29uIDxtYXR0QG1hZGlzb24uc3lzdGVtcz4KLS0tLQotIHNyYy9tYWtlLmJhc2ggfCAyICsrCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL21ha2UuYmFzaCBiL3NyYy9tYWtlLmJhc2gKLWluZGV4IDJlNmZiMDUuLjBiZGFkYzYgMTAwNzU1Ci0tLS0gYS9zcmMvbWFrZS5iYXNoCi0rKysgYi9zcmMvbWFrZS5iYXNoCi1AQCAtMTczLDYgKzE3Myw4IEBAIGlmIFsgIiRkb19ob3N0X2J1aWxkIiA9ICJ5ZXMiIF07IHRoZW4KLSAJZWNobwotIAotIAlHT1RPT0xESVJfQk9PVFNUUkFQPSIke0dPVE9PTERJUl9CT09UU1RSQVA6LSRHT1RPT0xESVJ9IgotKwlHT0hPU1RPUz0iJHtHT0hPU1RPU19DUk9TUzotJEdPSE9TVE9TfSIKLSsJR09IT1NUQVJDSD0iJHtHT0hPU1RBUkNIX0NST1NTOi0kR09IT1NUQVJDSH0iCi0gCWVjaG8gIiMjIyMjIEJ1aWxkaW5nIHBhY2thZ2VzIGFuZCBjb21tYW5kcyBmb3IgaG9zdCwgJEdPSE9TVE9TLyRHT0hPU1RBUkNILiIKLSAJIyBDQ19GT1JfVEFSR0VUIGlzIHJlY29yZGVkIGFzIHRoZSBkZWZhdWx0IGNvbXBpbGVyIGZvciB0aGUgZ28gdG9vbC4gV2hlbiBidWlsZGluZyBmb3IgdGhlIGhvc3QsIGhvd2V2ZXIsCi0gCSMgdXNlIHRoZSBob3N0IGNvbXBpbGVyLCBDQywgZnJvbSBgY21kL2Rpc3QvZGlzdCBlbnZgIGluc3RlYWQuCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDA5LWNtZC1nby1idWlsZG1vZGUtcGllLWZvcmNlcy1leHRlcm5hbC1saW5raW5nLW1vZGUtb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAwOS1jbWQtZ28tYnVpbGRtb2RlLXBpZS1mb3JjZXMtZXh0ZXJuYWwtbGlua2luZy1tb2RlLW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYTVmY2ZkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDA5LWNtZC1nby1idWlsZG1vZGUtcGllLWZvcmNlcy1leHRlcm5hbC1saW5raW5nLW1vZGUtb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi1Gcm9tIGFhZTQ0NTI3YzgwNjVkNTRmNmFjYWY4N2M4MmNiYTFhYzk2ZmFlNTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBJYW4gTGFuY2UgVGF5bG9yIDxpYW50QGdvbGFuZy5vcmc+Ci1EYXRlOiBGcmksIDE4IEF1ZyAyMDE3IDE3OjQ2OjAzIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIGNtZC9nbzogLWJ1aWxkbW9kZT1waWUgZm9yY2VzIGV4dGVybmFsIGxpbmtpbmcgbW9kZSBvbiBhbGwKLSBzeXN0ZW1zCi0KLVRoZSBnbyB0b29sIGFzc3VtZWQgdGhhdCAtYnVpbGRtb2RlPXBpZSBpbXBsaWVkIGludGVybmFsIGxpbmtpbmcgb24KLWxpbnV4LWFtZDY0LiBIb3dldmVyLCB0aGF0IHdhcyBjaGFuZ2VkIGJ5IENMIDM2NDE3IGZvciBpc3N1ZSAjMTg5NjguCi0KLUZpeGVzICMyMTQ1MgotCi1DaGFuZ2UtSWQ6IEk4ZWQxM2FlYTUyOTU5Y2M1YzUzMjIzZjRjNDFiYTM1MzI5NDQ1NTQ1Ci1SZXZpZXdlZC1vbjogaHR0cHM6Ly9nby1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS81NzIzMQotUnVuLVRyeUJvdDogSWFuIExhbmNlIFRheWxvciA8aWFudEBnb2xhbmcub3JnPgotVHJ5Qm90LVJlc3VsdDogR29ib3QgR29ib3QgPGdvYm90QGdvbGFuZy5vcmc+Ci1SZXZpZXdlZC1ieTogQXZlbGlubyA8dEBhdmVsaW5vLnh4eD4KLVJldmlld2VkLWJ5OiBSb2IgUGlrZSA8ckBnb2xhbmcub3JnPgotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi0gc3JjL2NtZC9nby9pbnRlcm5hbC9sb2FkL3BrZy5nbyB8IDcgKysrKy0tLQotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvY21kL2dvL2ludGVybmFsL2xvYWQvcGtnLmdvIGIvc3JjL2NtZC9nby9pbnRlcm5hbC9sb2FkL3BrZy5nbwotaW5kZXggMjY2MGQzZi4uZDQwNzczYiAxMDA2NDQKLS0tLSBhL3NyYy9jbWQvZ28vaW50ZXJuYWwvbG9hZC9wa2cuZ28KLSsrKyBiL3NyYy9jbWQvZ28vaW50ZXJuYWwvbG9hZC9wa2cuZ28KLUBAIC05NTQsMTEgKzk1NCwxMiBAQCBmdW5jIChwICpQYWNrYWdlKSBsb2FkKHN0ayAqSW1wb3J0U3RhY2ssIGJwICpidWlsZC5QYWNrYWdlLCBlcnIgZXJyb3IpICpQYWNrYWdlCi0gCi0gCWlmIGNmZy5CdWlsZENvbnRleHQuQ2dvRW5hYmxlZCAmJiBwLk5hbWUgPT0gIm1haW4iICYmICFwLkdvcm9vdCB7Ci0gCQkvLyBDdXJyZW50bHkgYnVpbGQgbW9kZXMgYy1zaGFyZWQsIHBpZSAob24gc3lzdGVtcyB0aGF0IGRvIG5vdAotLQkJLy8gc3VwcG9ydCBQSUUgd2l0aCBpbnRlcm5hbCBsaW5raW5nIG1vZGUpLCBwbHVnaW4sIGFuZAotLQkJLy8gLWxpbmtzaGFyZWQgZm9yY2UgZXh0ZXJuYWwgbGlua2luZyBtb2RlLCBhcyBvZiBjb3Vyc2UgZG9lcwotKwkJLy8gc3VwcG9ydCBQSUUgd2l0aCBpbnRlcm5hbCBsaW5raW5nIG1vZGUgKGN1cnJlbnRseSBhbGwKLSsJCS8vIHN5c3RlbXM6IGlzc3VlICMxODk2OCkpLCBwbHVnaW4sIGFuZCAtbGlua3NoYXJlZCBmb3JjZQotKwkJLy8gZXh0ZXJuYWwgbGlua2luZyBtb2RlLCBhcyBvZiBjb3Vyc2UgZG9lcwotIAkJLy8gLWxkZmxhZ3M9LWxpbmttb2RlPWV4dGVybmFsLiBFeHRlcm5hbCBsaW5raW5nIG1vZGUgZm9yY2VzCi0gCQkvLyBhbiBpbXBvcnQgb2YgcnVudGltZS9jZ28uCi0tCQlwaWVDZ28gOj0gY2ZnLkJ1aWxkQnVpbGRtb2RlID09ICJwaWUiICYmIChjZmcuQnVpbGRDb250ZXh0LkdPT1MgIT0gImxpbnV4IiB8fCBjZmcuQnVpbGRDb250ZXh0LkdPQVJDSCAhPSAiYW1kNjQiKQotKwkJcGllQ2dvIDo9IGNmZy5CdWlsZEJ1aWxkbW9kZSA9PSAicGllIgotIAkJbGlua21vZGVFeHRlcm5hbCA6PSBmYWxzZQotIAkJZm9yIGksIGEgOj0gcmFuZ2UgY2ZnLkJ1aWxkTGRmbGFncyB7Ci0gCQkJaWYgYSA9PSAiLWxpbmttb2RlPWV4dGVybmFsIiB7Ci0tLSAKLTIuMTQuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAxMC1tYWtlLmJhc2gtb3ZlcnJpZGUtQ0Mtd2hlbi1idWlsZGluZy1kaXN0LWFuZC1nb19ib290LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LzAwMTAtbWFrZS5iYXNoLW92ZXJyaWRlLUNDLXdoZW4tYnVpbGRpbmctZGlzdC1hbmQtZ29fYm9vdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODNmZDc4Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAxMC1tYWtlLmJhc2gtb3ZlcnJpZGUtQ0Mtd2hlbi1idWlsZGluZy1kaXN0LWFuZC1nb19ib290LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotRnJvbSAyMWQ4M2RkOTQ5OWU1YmUzMGVlYTI4ZGQ3MDM0ZDFlYTJhMDFjODM4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWF0dCBNYWRpc29uIDxtYXR0QG1hZGlzb24uc3lzdGVtcz4KLURhdGU6IFR1ZSwgMTQgTm92IDIwMTcgMDc6Mzg6NDIgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSCAxMC8xMF0gbWFrZS5iYXNoOiBvdmVycmlkZSBDQyB3aGVuIGJ1aWxkaW5nIGRpc3QgYW5kCi0gZ29fYm9vdHN0cmFwCi0KLUZvciBjcm9zcy1jYW5hZGlhbiBidWlsZHMsIGRpc3QgYW5kIGdvX2Jvb3RzdHJhcAotcnVuIG9uIHRoZSBidWlsZCBob3N0LCBzbyBDQyBuZWVkcyB0byBwb2ludCB0byB0aGUKLWJ1aWxkIGhvc3QncyBDIGNvbXBpbGVyLiAgQWRkIGEgQlVJTERfQ0MgZW52aXJvbm1lbnQKLWZvciB0aGlzLCBmYWxsaW5nIGJhY2sgdG8gJENDIGlmIG5vdCBwcmVzZW50LgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogTWF0dCBNYWRpc29uIDxtYXR0QG1hZGlzb24uc3lzdGVtcz4KLS0tLQotIHNyYy9tYWtlLmJhc2ggfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL21ha2UuYmFzaCBiL3NyYy9tYWtlLmJhc2gKLWluZGV4IDBiZGFkYzYuLmYxOTkzNDkgMTAwNzU1Ci0tLS0gYS9zcmMvbWFrZS5iYXNoCi0rKysgYi9zcmMvbWFrZS5iYXNoCi1AQCAtMTMxLDcgKzEzMSw3IEBAIGlmIFsgIiRHT1JPT1RfQk9PVFNUUkFQIiA9ICIkR09ST09UIiBdOyB0aGVuCi0gCWV4aXQgMQotIGZpCi0gcm0gLWYgY21kL2Rpc3QvZGlzdAotLUdPUk9PVD0iJEdPUk9PVF9CT09UU1RSQVAiIEdPT1M9IiIgR09BUkNIPSIiICIkR09ST09UX0JPT1RTVFJBUC9iaW4vZ28iIGJ1aWxkIC1vIGNtZC9kaXN0L2Rpc3QgLi9jbWQvZGlzdAotK0NDPSR7QlVJTERfQ0M6LSR7Q0N9fSBHT1JPT1Q9IiRHT1JPT1RfQk9PVFNUUkFQIiBHT09TPSIiIEdPQVJDSD0iIiAiJEdPUk9PVF9CT09UU1RSQVAvYmluL2dvIiBidWlsZCAtbyBjbWQvZGlzdC9kaXN0IC4vY21kL2Rpc3QKLSAKLSAjIC1lIGRvZXNuJ3QgcHJvcGFnYXRlIG91dCBvZiBldmFsLCBzbyBjaGVjayBzdWNjZXNzIGJ5IGhhbmQuCi0gZXZhbCAkKC4vY21kL2Rpc3QvZGlzdCBlbnYgLXAgfHwgZWNobyBGQUlMPXRydWUpCi1AQCAtMTY3LDcgKzE2Nyw3IEBAIGVsaWYgWyAiJDEiID0gIi0taG9zdC1vbmx5IiBdOyB0aGVuCi0gZmkKLSAKLSBpZiBbICIkZG9faG9zdF9idWlsZCIgPSAieWVzIiBdOyB0aGVuCi0tCS4vY21kL2Rpc3QvZGlzdCBib290c3RyYXAgJGJ1aWxkYWxsICRHT19ESVNURkxBR1MgLXYgIyBidWlsZHMgZ29fYm9vdHN0cmFwCi0rCUNDPSR7QlVJTERfQ0M6LSR7Q0N9fSAuL2NtZC9kaXN0L2Rpc3QgYm9vdHN0cmFwICRidWlsZGFsbCAkR09fRElTVEZMQUdTIC12ICMgYnVpbGRzIGdvX2Jvb3RzdHJhcAotIAkjIERlbGF5IG1vdmUgb2YgZGlzdCB0b29sIHRvIG5vdywgYmVjYXVzZSBib290c3RyYXAgbWF5IGNsZWFyIHRvb2wgZGlyZWN0b3J5LgotIAltdiBjbWQvZGlzdC9kaXN0ICIkR09UT09MRElSIi9kaXN0Ci0gCWVjaG8KLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LzAwMTEtdXNlLUdPQlVJTERNT0RFLXRvLXNldC1idWlsZG1vZGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAxMS11c2UtR09CVUlMRE1PREUtdG8tc2V0LWJ1aWxkbW9kZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGE5M2RjNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAxMS11c2UtR09CVUlMRE1PREUtdG8tc2V0LWJ1aWxkbW9kZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLUZyb20gYjkyOGZhZmFiMWQ5NDI1YWFlOTM0MTgwNmJkMmY2MTc4YmExZGExZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLURhdGU6IEZyaSwgMjYgT2N0IDIwMTggMTY6MzI6NTAgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gdXNlIEdPQlVJTERNT0RFIHRvIHNldCBidWlsZG1vZGUKLQotV2hpbGUgYnVpbGRpbmcgZ28gaXRzZWxmLCB0aGUgZ28gYnVpbGQgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQKLXRvIHNldCBgLWJ1aWxkbW9kZT1waWUnIGZyb20gZW52aXJvbm1lbnQuCi0KLUFkZCBHT0JVSUxETU9ERSB0byBzdXBwb3J0IGl0IHdoaWNoIG1ha2UgUElFIGV4ZWN1dGFibGVzIHRoZSBkZWZhdWx0Ci1idWlsZCBtb2RlLCBhcyBQSUUgZXhlY3V0YWJsZXMgYXJlIHJlcXVpcmVkIGFzIG9mIFlvY3RvCi0KLVJlZmVyczogaHR0cHM6Ly9ncm91cHMuZ29vZ2xlLmNvbS9mb3J1bS8jIXRvcGljL2dvbGFuZy1kZXYvZ1JDZTVVUktld0kKLVVwc3RyZWFtLVN0YXR1czogRGVuaWVkIFt1cHN0cmVhbSBjaG9vc2UgYW50b2hlciBzb2x1dGlvbjogYDE3YTI1NmIKLWNtZC9nbzogLWJ1aWxkbW9kZT1waWUgZm9yIGFuZHJvaWQvYXJtJ10KLQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvIHwgNiArKysrKy0KLSAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvYnVpbGQuZ28gYi9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvYnVpbGQuZ28KLWluZGV4IGIyNzZkZTUuLjE2ODNlN2UgMTAwNjQ0Ci0tLS0gYS9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvYnVpbGQuZ28KLSsrKyBiL3NyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9idWlsZC5nbwotQEAgLTIxMSw3ICsyMTEsMTEgQEAgZnVuYyBBZGRCdWlsZEZsYWdzKGNtZCAqYmFzZS5Db21tYW5kKSB7Ci0gCi0gCWNtZC5GbGFnLlZhcigoKmJhc2UuU3RyaW5nc0ZsYWcpKCZidWlsZEFzbWZsYWdzKSwgImFzbWZsYWdzIiwgIiIpCi0gCWNtZC5GbGFnLlZhcihidWlsZENvbXBpbGVye30sICJjb21waWxlciIsICIiKQotLQljbWQuRmxhZy5TdHJpbmdWYXIoJmNmZy5CdWlsZEJ1aWxkbW9kZSwgImJ1aWxkbW9kZSIsICJkZWZhdWx0IiwgIiIpCi0rCWlmIGJtIDo9IG9zLkdldGVudigiR09CVUlMRE1PREUiKTsgYm0gIT0gIiIgewotKwkJY21kLkZsYWcuU3RyaW5nVmFyKCZjZmcuQnVpbGRCdWlsZG1vZGUsICJidWlsZG1vZGUiLCBibSwgIiIpCi0rCX0gZWxzZSB7Ci0rCQljbWQuRmxhZy5TdHJpbmdWYXIoJmNmZy5CdWlsZEJ1aWxkbW9kZSwgImJ1aWxkbW9kZSIsICJkZWZhdWx0IiwgIiIpCi0rCX0KLSAJY21kLkZsYWcuVmFyKCgqYmFzZS5TdHJpbmdzRmxhZykoJmJ1aWxkR2NmbGFncyksICJnY2ZsYWdzIiwgIiIpCi0gCWNtZC5GbGFnLlZhcigoKmJhc2UuU3RyaW5nc0ZsYWcpKCZidWlsZEdjY2dvZmxhZ3MpLCAiZ2NjZ29mbGFncyIsICIiKQotIAljbWQuRmxhZy5TdHJpbmdWYXIoJmNmZy5CdWlsZENvbnRleHQuSW5zdGFsbFN1ZmZpeCwgImluc3RhbGxzdWZmaXgiLCAiIiwgIiIpCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS9zZXQtZXh0ZXJuYWwtbGlua2VyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45L3NldC1leHRlcm5hbC1saW5rZXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ2YmQ3ZmEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45L3NldC1leHRlcm5hbC1saW5rZXIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMTEgKzAsMCBAQAotQ2hhbmdlIHRoZSBkeW5hbWljIGxpbmtlciBoYXJkY29kaW5nIHRvIHVzZSBtdXNsIHdoZW4gbm90IHVzaW5nIGdsaWJjCi10aGlzIHNob3VsZCBiZSBhcHBsaWVkIGNvbmRpdGlvbmFsIHRvIG11c2wgYmVpbmcgdGhlIHN5c3RlbSBDIGxpYnJhcnkKLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtSZWFsIEZpeCBzaG91bGQgYmUgcG9ydGFibGUgYWNyb3NzIGxpYmNzXQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1JbmRleDogZ28vc3JjL2NtZC9saW5rL2ludGVybmFsL2FtZDY0L29iai5nbwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdvLm9yaWcvc3JjL2NtZC9saW5rL2ludGVybmFsL2FtZDY0L29iai5nbwotKysrIGdvL3NyYy9jbWQvbGluay9pbnRlcm5hbC9hbWQ2NC9vYmouZ28KLUBAIC02Nyw3ICs2Nyw3IEBAIGZ1bmMgSW5pdCgpIHsKLSAJbGQuVGhlYXJjaC5BcHBlbmQ2NCA9IGxkLkFwcGVuZDY0bAotIAlsZC5UaGVhcmNoLlRMU0lFdG9MRSA9IHRsc0lFdG9MRQotIAotLQlsZC5UaGVhcmNoLkxpbnV4ZHlubGQgPSAiL2xpYjY0L2xkLWxpbnV4LXg4Ni02NC5zby4yIgotKwlsZC5UaGVhcmNoLkxpbnV4ZHlubGQgPSAiL2xpYi9sZC1tdXNsLXg4Nl82NC5zby4xIgotIAlsZC5UaGVhcmNoLkZyZWVic2RkeW5sZCA9ICIvbGliZXhlYy9sZC1lbGYuc28uMSIKLSAJbGQuVGhlYXJjaC5PcGVuYnNkZHlubGQgPSAiL3Vzci9saWJleGVjL2xkLnNvIgotIAlsZC5UaGVhcmNoLk5ldGJzZGR5bmxkID0gIi9saWJleGVjL2xkLmVsZl9zbyIKLUluZGV4OiBnby9zcmMvY21kL2xpbmsvaW50ZXJuYWwvYXJtL29iai5nbwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdvLm9yaWcvc3JjL2NtZC9saW5rL2ludGVybmFsL2FybS9vYmouZ28KLSsrKyBnby9zcmMvY21kL2xpbmsvaW50ZXJuYWwvYXJtL29iai5nbwotQEAgLTYzLDcgKzYzLDcgQEAgZnVuYyBJbml0KCkgewotIAlsZC5UaGVhcmNoLkFwcGVuZDMyID0gbGQuQXBwZW5kMzJsCi0gCWxkLlRoZWFyY2guQXBwZW5kNjQgPSBsZC5BcHBlbmQ2NGwKLSAKLS0JbGQuVGhlYXJjaC5MaW51eGR5bmxkID0gIi9saWIvbGQtbGludXguc28uMyIgLy8gMiBmb3IgT0FCSSwgMyBmb3IgRUFCSQotKwlsZC5UaGVhcmNoLkxpbnV4ZHlubGQgPSAiL2xpYi9sZC1tdXNsLWFybWhmLnNvLjEiCi0gCWxkLlRoZWFyY2guRnJlZWJzZGR5bmxkID0gIi91c3IvbGliZXhlYy9sZC1lbGYuc28uMSIKLSAJbGQuVGhlYXJjaC5PcGVuYnNkZHlubGQgPSAiL3Vzci9saWJleGVjL2xkLnNvIgotIAlsZC5UaGVhcmNoLk5ldGJzZGR5bmxkID0gIi9saWJleGVjL2xkLmVsZl9zbyIKLUluZGV4OiBnby9zcmMvY21kL2xpbmsvaW50ZXJuYWwvYXJtNjQvb2JqLmdvCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ28ub3JpZy9zcmMvY21kL2xpbmsvaW50ZXJuYWwvYXJtNjQvb2JqLmdvCi0rKysgZ28vc3JjL2NtZC9saW5rL2ludGVybmFsL2FybTY0L29iai5nbwotQEAgLTYyLDcgKzYyLDcgQEAgZnVuYyBJbml0KCkgewotIAlsZC5UaGVhcmNoLkFwcGVuZDMyID0gbGQuQXBwZW5kMzJsCi0gCWxkLlRoZWFyY2guQXBwZW5kNjQgPSBsZC5BcHBlbmQ2NGwKLSAKLS0JbGQuVGhlYXJjaC5MaW51eGR5bmxkID0gIi9saWIvbGQtbGludXgtYWFyY2g2NC5zby4xIgotKwlsZC5UaGVhcmNoLkxpbnV4ZHlubGQgPSAiL2xpYi9sZC1tdXNsLWFhcmNoNjQuc28uMSIKLSAKLSAJbGQuVGhlYXJjaC5GcmVlYnNkZHlubGQgPSAiWFhYIgotIAlsZC5UaGVhcmNoLk9wZW5ic2RkeW5sZCA9ICJYWFgiCi1JbmRleDogZ28vc3JjL2NtZC9saW5rL2ludGVybmFsL21pcHMvb2JqLmdvCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ28ub3JpZy9zcmMvY21kL2xpbmsvaW50ZXJuYWwvbWlwcy9vYmouZ28KLSsrKyBnby9zcmMvY21kL2xpbmsvaW50ZXJuYWwvbWlwcy9vYmouZ28KLUBAIC03Nyw3ICs3Nyw3IEBAIGZ1bmMgSW5pdCgpIHsKLSAJCWxkLlRoZWFyY2guQXBwZW5kNjQgPSBsZC5BcHBlbmQ2NGIKLSAJfQotIAotLQlsZC5UaGVhcmNoLkxpbnV4ZHlubGQgPSAiL2xpYi9sZC5zby4xIgotKwlsZC5UaGVhcmNoLkxpbnV4ZHlubGQgPSAiL2xpYi9sZC1tdXNsLW1pcHNsZS5zby4xIgotIAotIAlsZC5UaGVhcmNoLkZyZWVic2RkeW5sZCA9ICJYWFgiCi0gCWxkLlRoZWFyY2guT3BlbmJzZGR5bmxkID0gIlhYWCIKLUluZGV4OiBnby9zcmMvY21kL2xpbmsvaW50ZXJuYWwvbWlwczY0L29iai5nbwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdvLm9yaWcvc3JjL2NtZC9saW5rL2ludGVybmFsL21pcHM2NC9vYmouZ28KLSsrKyBnby9zcmMvY21kL2xpbmsvaW50ZXJuYWwvbWlwczY0L29iai5nbwotQEAgLTc1LDcgKzc1LDcgQEAgZnVuYyBJbml0KCkgewotIAkJbGQuVGhlYXJjaC5BcHBlbmQ2NCA9IGxkLkFwcGVuZDY0YgotIAl9Ci0gCi0tCWxkLlRoZWFyY2guTGludXhkeW5sZCA9ICIvbGliNjQvbGQ2NC5zby4xIgotKwlsZC5UaGVhcmNoLkxpbnV4ZHlubGQgPSAiL2xpYjY0L2xkLW11c2wtbWlwczY0bGUuc28uMSIKLSAKLSAJbGQuVGhlYXJjaC5GcmVlYnNkZHlubGQgPSAiWFhYIgotIAlsZC5UaGVhcmNoLk9wZW5ic2RkeW5sZCA9ICJYWFgiCi1JbmRleDogZ28vc3JjL2NtZC9saW5rL2ludGVybmFsL3BwYzY0L29iai5nbwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdvLm9yaWcvc3JjL2NtZC9saW5rL2ludGVybmFsL3BwYzY0L29iai5nbwotKysrIGdvL3NyYy9jbWQvbGluay9pbnRlcm5hbC9wcGM2NC9vYmouZ28KLUBAIC03Nyw3ICs3Nyw3IEBAIGZ1bmMgSW5pdCgpIHsKLSAJfQotIAotIAkvLyBUT0RPKGF1c3Rpbik6IEFCSSB2MSB1c2VzIC91c3IvbGliL2xkLnNvLjEKLS0JbGQuVGhlYXJjaC5MaW51eGR5bmxkID0gIi9saWI2NC9sZDY0LnNvLjEiCi0rCWxkLlRoZWFyY2guTGludXhkeW5sZCA9ICIvbGliL2xkLW11c2wtcG93ZXJwYzY0bGUuc28uMSIKLSAKLSAJbGQuVGhlYXJjaC5GcmVlYnNkZHlubGQgPSAiWFhYIgotIAlsZC5UaGVhcmNoLk9wZW5ic2RkeW5sZCA9ICJYWFgiCi1JbmRleDogZ28vc3JjL2NtZC9saW5rL2ludGVybmFsL3MzOTB4L29iai5nbwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdvLm9yaWcvc3JjL2NtZC9saW5rL2ludGVybmFsL3MzOTB4L29iai5nbwotKysrIGdvL3NyYy9jbWQvbGluay9pbnRlcm5hbC9zMzkweC9vYmouZ28KLUBAIC02Miw3ICs2Miw3IEBAIGZ1bmMgSW5pdCgpIHsKLSAJbGQuVGhlYXJjaC5BcHBlbmQzMiA9IGxkLkFwcGVuZDMyYgotIAlsZC5UaGVhcmNoLkFwcGVuZDY0ID0gbGQuQXBwZW5kNjRiCi0gCi0tCWxkLlRoZWFyY2guTGludXhkeW5sZCA9ICIvbGliNjQvbGQ2NC5zby4xIgotKwlsZC5UaGVhcmNoLkxpbnV4ZHlubGQgPSAiL2xpYi9sZC1tdXNsLXMzOTB4LnNvLjEiCi0gCi0gCS8vIG5vdCByZWxldmFudCBmb3IgczM5MHgKLSAJbGQuVGhlYXJjaC5GcmVlYnNkZHlubGQgPSAiWFhYIgotSW5kZXg6IGdvL3NyYy9jbWQvbGluay9pbnRlcm5hbC94ODYvb2JqLmdvCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ28ub3JpZy9zcmMvY21kL2xpbmsvaW50ZXJuYWwveDg2L29iai5nbwotKysrIGdvL3NyYy9jbWQvbGluay9pbnRlcm5hbC94ODYvb2JqLmdvCi1AQCAtNjMsNyArNjMsNyBAQCBmdW5jIEluaXQoKSB7Ci0gCWxkLlRoZWFyY2guQXBwZW5kMzIgPSBsZC5BcHBlbmQzMmwKLSAJbGQuVGhlYXJjaC5BcHBlbmQ2NCA9IGxkLkFwcGVuZDY0bAotIAotLQlsZC5UaGVhcmNoLkxpbnV4ZHlubGQgPSAiL2xpYi9sZC1saW51eC5zby4yIgotKwlsZC5UaGVhcmNoLkxpbnV4ZHlubGQgPSAiL2xpYi9sZC1tdXNsLWkzODYuc28uMSIKLSAJbGQuVGhlYXJjaC5GcmVlYnNkZHlubGQgPSAiL3Vzci9saWJleGVjL2xkLWVsZi5zby4xIgotIAlsZC5UaGVhcmNoLk9wZW5ic2RkeW5sZCA9ICIvdXNyL2xpYmV4ZWMvbGQuc28iCi0gCWxkLlRoZWFyY2guTmV0YnNkZHlubGQgPSAiL3Vzci9saWJleGVjL2xkLmVsZl9zbyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNvbW1vbi5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jb21tb24uaW5jCmluZGV4IDExZDU1YzQuLjkzYTNkM2IgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNvbW1vbi5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tY29tbW9uLmluYwpAQCAtMjUsNyArMjUsNiBAQAogZXhwb3J0IEdPUk9PVF9PVkVSUklERSA9ICIxIgogZXhwb3J0IEdPVE1QRElSID89ICIke1dPUktESVJ9L2dvLXRtcCIKIEdPVE1QRElSW3ZhcmRlcHZhbHVlXSA9ICIiCi1leHBvcnQgR09DQUNIRSA9ICJvZmYiCiBleHBvcnQgQ0dPX0VOQUJMRUQgPSAiMSIKIAogZG9fY29tcGlsZV9wcmVwZW5kKCkgewpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tY3Jvc3MtY2FuYWRpYW4uaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tY3Jvc3MtY2FuYWRpYW4uaW5jCmluZGV4IGVhNjhiODguLjk0NWQwZjkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNyb3NzLWNhbmFkaWFuLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zcy1jYW5hZGlhbi5pbmMKQEAgLTEsMTAgKzEsMTggQEAKIGluaGVyaXQgY3Jvc3MtY2FuYWRpYW4KIAogREVQRU5EUyA9ICJnby1uYXRpdmUgdmlydHVhbC8ke0hPU1RfUFJFRklYfWdvLWNyb3Nzc2RrIHZpcnR1YWwvbmF0aXZlc2RrLSR7SE9TVF9QUkVGSVh9Z28tcnVudGltZSBcCi0gICAgICAgICAgIHZpcnR1YWwvJHtIT1NUX1BSRUZJWH1nY2MtY3Jvc3NzZGsgdmlydHVhbC9uYXRpdmVzZGstJHtIT1NUX1BSRUZJWH1saWJjLWZvci1nY2MgXAorICAgICAgICAgICB2aXJ0dWFsLyR7SE9TVF9QUkVGSVh9Z2NjLWNyb3Nzc2RrIHZpcnR1YWwvbmF0aXZlc2RrLWxpYmMgXAogICAgICAgICAgICB2aXJ0dWFsL25hdGl2ZXNkay0ke0hPU1RfUFJFRklYfWNvbXBpbGVybGlicyIKIFBOID0gImdvLWNyb3NzLWNhbmFkaWFuLSR7VFJBTlNMQVRFRF9UQVJHRVRfQVJDSH0iCiAKKyMgaXQgdXNlcyBnY2Mgb24gYnVpbGQgbWFjaGluZSBkdXJpbmcgZ28tY3Jvc3MtY2FuYWRpYW4gYm9vdHN0cmFwLCBidXQKKyMgdGhlIGdjYyB2ZXJzaW9uIG1heSBiZSBvbGQgYW5kIG5vdCBzdXBwb3J0IG9wdGlvbiAnLWZtYWNyby1wcmVmaXgtbWFwJworIyB3aGljaCBpcyBvbmUgb2YgZGVmYXVsdCB2YWx1ZXMgb2YgREVCVUdfUFJFRklYX01BUAorREVCVUdfUFJFRklYX01BUCA9ICItZmRlYnVnLXByZWZpeC1tYXA9JHtXT1JLRElSfT0vdXNyL3NyYy9kZWJ1Zy8ke1BOfS8ke0VYVEVORFBFfSR7UFZ9LSR7UFJ9IFwKKyAgICAgICAgICAgICAgICAgICAgLWZkZWJ1Zy1wcmVmaXgtbWFwPSR7U1RBR0lOR19ESVJfSE9TVH09IFwKKyAgICAgICAgICAgICAgICAgICAgLWZkZWJ1Zy1wcmVmaXgtbWFwPSR7U1RBR0lOR19ESVJfTkFUSVZFfT0gXAorICAgICAgICAgICAgICAgICAgICAiCisKIGV4cG9ydCBHT0hPU1RPUyA9ICIke0JVSUxEX0dPT1N9IgogZXhwb3J0IEdPSE9TVEFSQ0ggPSAiJHtCVUlMRF9HT0FSQ0h9IgogZXhwb3J0IEdPUk9PVF9CT09UU1RSQVAgPSAiJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L2dvIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tY3Jvc3MtY2FuYWRpYW5fMS4xMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNyb3NzLWNhbmFkaWFuXzEuMTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2FjOTQ0OQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNyb3NzLWNhbmFkaWFuXzEuMTIuYmIKQEAgLTAsMCArMSwyIEBACityZXF1aXJlIGdvLWNyb3NzLWNhbmFkaWFuLmluYworcmVxdWlyZSBnby0ke1BWfS5pbmMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNyb3NzLWNhbmFkaWFuXzEuOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNyb3NzLWNhbmFkaWFuXzEuOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzY3YTk2Ny4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zcy1jYW5hZGlhbl8xLjkuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1yZXF1aXJlIGdvLWNyb3NzLWNhbmFkaWFuLmluYwotcmVxdWlyZSBnby0ke1BWfS5pbmMKLQotZXhwb3J0IEdPSE9TVE9TX0NST1NTID0gIiR7SE9TVF9HT09TfSIKLWV4cG9ydCBHT0hPU1RBUkNIX0NST1NTID0gIiR7SE9TVF9HT0FSQ0h9IgotZXhwb3J0IENDX0ZPUl9UQVJHRVQgPSAiJHtIT1NUX1BSRUZJWH1nY2MgLS1zeXNyb290PSR7U1RBR0lOR19ESVJfSE9TVH0ke1NES1BBVEhOQVRJVkV9ICR7U0VDVVJJVFlfTk9QSUVfQ0ZMQUdTfSIKLWV4cG9ydCBDWFhfRk9SX1RBUkdFVCA9ICIke0hPU1RfUFJFRklYfWcrKyAtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9IT1NUfSR7U0RLUEFUSE5BVElWRX0gJHtTRUNVUklUWV9OT1BJRV9DRkxBR1N9IgotCi1kb19jb21waWxlX3ByZXBlbmQoKSB7Ci0JZXhwb3J0IEdPQklOPSIke0J9L2JpbiIKLQlleHBvcnQgVE1QRElSPSIkR09UTVBESVIiCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zcy5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zcy5pbmMKaW5kZXggNmQ5YWE1Yy4uMjljZTdmNiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tY3Jvc3MuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNyb3NzLmluYwpAQCAtMTQsNyArMTQsNiBAQAogZXhwb3J0IEdPTUlQUyA9ICIke1RBUkdFVF9HT01JUFN9IgogZXhwb3J0IEdPUk9PVF9CT09UU1RSQVAgPSAiJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L2dvIgogZXhwb3J0IEdPUk9PVF9GSU5BTCA9ICIke2xpYmRpcn0vZ28iCi1leHBvcnQgR09DQUNIRSA9ICJvZmYiCiBDQyA9ICIke0BkLmdldFZhcignQlVJTERfQ0MnKS5zdHJpcCgpfSIKIAogZG9fY29uZmlndXJlW25vZXhlY10gPSAiMSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNyb3NzXzEuMTIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zc18xLjEyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwYjVhMDMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zc18xLjEyLmJiCkBAIC0wLDAgKzEsMiBAQAorcmVxdWlyZSBnby1jcm9zcy5pbmMKK3JlcXVpcmUgZ28tJHtQVn0uaW5jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zc18xLjkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zc18xLjkuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ3MzljN2QuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tY3Jvc3NfMS45LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotcmVxdWlyZSBnby1jcm9zcy5pbmMKLXJlcXVpcmUgZ28tJHtQVn0uaW5jCi0KLWV4cG9ydCBDQ19GT1JfVEFSR0VUID0gIiR7VEFSR0VUX1BSRUZJWH1nY2MgJHtUQVJHRVRfQ0NfQVJDSH0gLS1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfSIKLWV4cG9ydCBDWFhfRk9SX1RBUkdFVCA9ICIke1RBUkdFVF9QUkVGSVh9ZysrICR7VEFSR0VUX0NDX0FSQ0h9IC0tc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH0iCi0KLWRvX2NvbXBpbGVfcHJlcGVuZCgpIHsKLQlleHBvcnQgR09CSU49IiR7Qn0vYmluIgotCWV4cG9ydCBUTVBESVI9IiRHT1RNUERJUiIKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNyb3Nzc2RrLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNyb3Nzc2RrLmluYwppbmRleCA0MzkxYjMyLi45NGY2ZmI4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zc3Nkay5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tY3Jvc3NzZGsuaW5jCkBAIC0xLDcgKzEsNyBAQAogaW5oZXJpdCBjcm9zc3NkawogCiBERVBFTkRTID0gImdvLW5hdGl2ZSB2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nY2MtY3Jvc3NzZGsgdmlydHVhbC9uYXRpdmVzZGstJHtUQVJHRVRfUFJFRklYfWNvbXBpbGVybGlicyB2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1iaW51dGlscy1jcm9zc3NkayIKLVBOID0gImdvLWNyb3Nzc2RrLSR7VEFSR0VUX0FSQ0h9IgorUE4gPSAiZ28tY3Jvc3NzZGstJHtTREtfU1lTfSIKIFBST1ZJREVTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdvLWNyb3Nzc2RrIgogCiBleHBvcnQgR09IT1NUT1MgPSAiJHtCVUlMRF9HT09TfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNyb3Nzc2RrXzEuMTIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zc3Nka18xLjEyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4NTdjOGEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zc3Nka18xLjEyLmJiCkBAIC0wLDAgKzEsMiBAQAorcmVxdWlyZSBnby1jcm9zc3Nkay5pbmMKK3JlcXVpcmUgZ28tJHtQVn0uaW5jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zc3Nka18xLjkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zc3Nka18xLjkuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNhYzYyOWIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tY3Jvc3NzZGtfMS45LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotcmVxdWlyZSBnby1jcm9zc3Nkay5pbmMKLXJlcXVpcmUgZ28tJHtQVn0uaW5jCi0KLWV4cG9ydCBDQ19GT1JfVEFSR0VUID0gIiR7VEFSR0VUX1BSRUZJWH1nY2MgJHtUQVJHRVRfQ0NfQVJDSH0gLS1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfSIKLWV4cG9ydCBDWFhfRk9SX1RBUkdFVCA9ICIke1RBUkdFVF9QUkVGSVh9ZysrICR7VEFSR0VUX0NDX0FSQ0h9IC0tc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH0iCi1leHBvcnQgR09fSU5TVEFMTCA9ICJjbWQiCi0KLWRvX2NvbXBpbGVfcHJlcGVuZCgpIHsKLQlleHBvcnQgR09CSU49IiR7Qn0vYmluIgotCWV4cG9ydCBUTVBESVI9IiRHT1RNUERJUiIKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLW5hdGl2ZV8xLjEyLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tbmF0aXZlXzEuMTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmJmM2MwZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLW5hdGl2ZV8xLjEyLmJiCkBAIC0wLDAgKzEsMiBAQAorcmVxdWlyZSAke1BOfS5pbmMKK3JlcXVpcmUgZ28tJHtQVn0uaW5jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1uYXRpdmVfMS45LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tbmF0aXZlXzEuOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODYyMWUxZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1uYXRpdmVfMS45LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1yZXF1aXJlICR7UE59LmluYwotcmVxdWlyZSBnby0ke1BWfS5pbmMKLQotR09NQUtFQVJHUyA9ICItLWhvc3Qtb25seSAtLW5vLWJhbm5lciIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLXJ1bnRpbWVfMS4xMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLXJ1bnRpbWVfMS4xMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40M2I2OGI0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tcnVudGltZV8xLjEyLmJiCkBAIC0wLDAgKzEsMiBAQAorcmVxdWlyZSBnby0ke1BWfS5pbmMKK3JlcXVpcmUgZ28tcnVudGltZS5pbmMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLXJ1bnRpbWVfMS45LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tcnVudGltZV8xLjkuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ1Mjc5ZWEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tcnVudGltZV8xLjkuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1yZXF1aXJlIGdvLSR7UFZ9LmluYwotcmVxdWlyZSBnby1ydW50aW1lLmluYwotCi1leHBvcnQgR09fVEFSR0VUX0lOU1RBTEwgPSAic3RkIgotZXhwb3J0IENDX0ZPUl9UQVJHRVQgPSAiJHtDQ30iCi1leHBvcnQgQ1hYX0ZPUl9UQVJHRVQgPSAiJHtDWFh9IgotCi1kb19jb21waWxlKCkgewotCWV4cG9ydCBHT0JJTj0iJHtCfS9iaW4iCi0JZXhwb3J0IFRNUERJUj0iJEdPVE1QRElSIgotCWV4cG9ydCBDQz0kQlVJTERfQ0MKLQotCWNkIHNyYwotCUNHT19DRkxBR1M9IiR7QlVJTERfQ0ZMQUdTfSIgQ0dPX0xERkxBR1M9IiR7QlVJTERfTERGTEFHU30iIC4vbWFrZS5iYXNoIC0taG9zdC1vbmx5Ci0JY3AgJHtCfS9wa2cvdG9vbC8ke0JVSUxEX0dPVFVQTEV9L2dvX2Jvb3RzdHJhcCAke0J9Ci0Jcm0gLXJmICR7Qn0vcGtnLyR7VEFSR0VUX0dPVFVQTEV9Ci0JLi9tYWtlLmJhc2ggLS10YXJnZXQtb25seQotCWlmIFsgLW4gIiR7R09fRFlOTElOS30iIF07IHRoZW4KLQkJY3AgJHtCfS9nb19ib290c3RyYXAgJHtCfS9wa2cvdG9vbC8ke0JVSUxEX0dPVFVQTEV9Ci0JCUdPX0ZMQUdTPSItYnVpbGRtb2RlPXNoYXJlZCIgR09fTERGTEFHUz0iLWV4dGxkZmxhZ3MgXCIke0xERkxBR1N9XCIiIC4vbWFrZS5iYXNoIC0tdGFyZ2V0LW9ubHkKLQlmaQotCWNkICR7Qn0KLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLXRhcmdldC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby10YXJnZXQuaW5jCmluZGV4IGMyMjlhYjIuLjM3OWY4N2IgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLXRhcmdldC5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tdGFyZ2V0LmluYwpAQCAtNDAsNyArNDAsNyBAQAogCWZvciBmIGluICR7Qn0vJHtHT19CVUlMRF9CSU5ESVJ9Lyo7IGRvCiAJCW5hbWU9YGJhc2VuYW1lICRmYAogCQlpbnN0YWxsIC1tIDA3NTUgJGYgJHtEfSR7bGliZGlyfS9nby9iaW4vCi0JCWxuIC1zZiAuLi8ke0JBU0VMSUJ9L2dvL2Jpbi8kbmFtZSAke0R9JHtiaW5kaXJ9LworCQlsbiAtc2YgLi4vJHtiYXNlbGlifS9nby9iaW4vJG5hbWUgJHtEfSR7YmluZGlyfS8KIAlkb25lCiB9CiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvXzEuMTIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nb18xLjEyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyY2RiMDQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nb18xLjEyLmJiCkBAIC0wLDAgKzEsMTQgQEAKK3JlcXVpcmUgZ28tJHtQVn0uaW5jCityZXF1aXJlIGdvLXRhcmdldC5pbmMKKworZXhwb3J0IEdPQlVJTERNT0RFPSIiCisKKyMgQWRkIHBpZSB0byBHT0JVSUxETU9ERSB0byBzYXRpc2Z5ICJ0ZXh0cmVsIiBRQSBjaGVja2luZywgYnV0IG1pcHMKKyMgZG9lc24ndCBzdXBwb3J0IC1idWlsZG1vZGU9cGllLCBzbyBza2lwIHRoZSBRQSBjaGVja2luZyBmb3IgbWlwcyBhbmQgaXRzCisjIHZhcmlhbnRzLgorcHl0aG9uKCkgeworICAgIGlmICdtaXBzJyBpbiBkLmdldFZhcignVEFSR0VUX0FSQ0gnKToKKyAgICAgICAgZC5hcHBlbmRWYXIoJ0lOU0FORV9TS0lQXyVzJyAlIGQuZ2V0VmFyKCdQTicpLCAiIHRleHRyZWwiKQorICAgIGVsc2U6CisgICAgICAgIGQuc2V0VmFyKCdHT0JVSUxETU9ERScsICdwaWUnKQorfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ29fMS45LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ29fMS45LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMjNlYTBjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvXzEuOS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLXJlcXVpcmUgZ28tJHtQVn0uaW5jCi1yZXF1aXJlIGdvLXRhcmdldC5pbmMKLQotZXhwb3J0IEdPX1RBUkdFVF9JTlNUQUxMID0gImNtZCIKLWV4cG9ydCBHT19GTEFHUyA9ICItYSIKLWV4cG9ydCBDQ19GT1JfVEFSR0VUID0gIiR7Q0N9IgotZXhwb3J0IENYWF9GT1JfVEFSR0VUID0gIiR7Q1hYfSIKLWV4cG9ydCBHT0JVSUxETU9ERT0iIgotCi1kb19jb21waWxlKCkgewotCWV4cG9ydCBHT0JJTj0iJHtCfS9iaW4iCi0JZXhwb3J0IFRNUERJUj0iJEdPVE1QRElSIgotCWV4cG9ydCBDQz0kQlVJTERfQ0MKLQotCWNkIHNyYwotCS4vbWFrZS5iYXNoCi0JY2QgJHtCfQotfQotCi0jIEFkZCBwaWUgdG8gR09CVUlMRE1PREUgdG8gc2F0aXNmeSAidGV4dHJlbCIgUUEgY2hlY2tpbmcsIGJ1dCBtaXBzCi0jIGRvZXNuJ3Qgc3VwcG9ydCAtYnVpbGRtb2RlPXBpZSwgc28gc2tpcCB0aGUgUUEgY2hlY2tpbmcgZm9yIG1pcHMgYW5kIGl0cwotIyB2YXJpYW50cy4KLXB5dGhvbigpIHsKLSAgICBpZiAnbWlwcycgaW4gZC5nZXRWYXIoJ1RBUkdFVF9BUkNIJyk6Ci0gICAgICAgIGQuYXBwZW5kVmFyKCdJTlNBTkVfU0tJUF8lcycgJSBkLmdldFZhcignUE4nKSwgIiB0ZXh0cmVsIikKLSAgICBlbHNlOgotICAgICAgICBkLnNldFZhcignR09CVUlMRE1PREUnLCAncGllJykKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2ljZWNjLXRvb2xjaGFpbi9pY2VjYy10b29sY2hhaW4vaWNlY2MtZW52LnNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvaWNlY2MtdG9vbGNoYWluL2ljZWNjLXRvb2xjaGFpbi9pY2VjYy1lbnYuc2gKaW5kZXggOTkwZDJmYi4uMGRjY2M0MSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvaWNlY2MtdG9vbGNoYWluL2ljZWNjLXRvb2xjaGFpbi9pY2VjYy1lbnYuc2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvaWNlY2MtdG9vbGNoYWluL2ljZWNjLXRvb2xjaGFpbi9pY2VjYy1lbnYuc2gKQEAgLTM4LDExICszOCwxMSBAQAogICAgICAgICBDWFhGTEFHUz0iJENYWEZMQUdTIC1mbm8tZGlhZ25vc3RpY3Mtc2hvdy1jYXJldCIKICAgICBmaQogICAgIGV4cG9ydCBJQ0VDQ19QQVRIIElDRUNDX0NBUkVUX1dPUktBUk9VTkQKLSAgICBleHBvcnQgSUNFQ0NfVkVSU0lPTj0iJE9FQ09SRV9OQVRJVkVfU1lTUk9PVC91c3Ivc2hhcmUvaWNlY3JlYW0vQFRPT0xDSEFJTl9FTlZAIgorICAgIGV4cG9ydCBJQ0VDQ19WRVJTSU9OPSIkKGVjaG8gIiRPRUNPUkVfTkFUSVZFX1NZU1JPT1QvdXNyL3NoYXJlLyR7VEFSR0VUX1BSRUZJWH1pY2VjcmVhbS9AVE9PTENIQUlOX0VOVkAiIHwgc2VkICJzLEBUQVJHRVRfUFJFRklYQCwkVEFSR0VUX1BSRUZJWCxnIikiCiAgICAgZXhwb3J0IElDRUNDPSIkKHdoaWNoICR7Q1JPU1NfQ09NUElMRX1nY2MpIgogICAgIGV4cG9ydCBJQ0VDWFg9IiQod2hpY2ggJHtDUk9TU19DT01QSUxFfWcrKykiCiAgICAgZXhwb3J0IElDRUFTPSIkKHdoaWNoICR7Q1JPU1NfQ09NUElMRX1hcykiCi0gICAgZXhwb3J0IFBBVEg9IiRPRUNPUkVfTkFUSVZFX1NZU1JPT1QvdXNyL3NoYXJlL2ljZWNyZWFtL2JpbjokUEFUSCIKKyAgICBleHBvcnQgUEFUSD0iJE9FQ09SRV9OQVRJVkVfU1lTUk9PVC91c3Ivc2hhcmUvJHtUQVJHRVRfUFJFRklYfWljZWNyZWFtL2JpbjokUEFUSCIKIGVsc2UKICAgICBlY2hvICJJY2VjYyBub3QgZm91bmQuIERpc2FibGluZyBkaXN0cmlidXRlZCBjb21waWxpbmciCiBmaQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvaWNlY2MtdG9vbGNoYWluL2ljZWNjLXRvb2xjaGFpbi9pY2VjYy1zZXR1cC5zaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2ljZWNjLXRvb2xjaGFpbi9pY2VjYy10b29sY2hhaW4vaWNlY2Mtc2V0dXAuc2gKaW5kZXggMjUyNTBiNy4uZmJkOWYwMyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvaWNlY2MtdG9vbGNoYWluL2ljZWNjLXRvb2xjaGFpbi9pY2VjYy1zZXR1cC5zaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9pY2VjYy10b29sY2hhaW4vaWNlY2MtdG9vbGNoYWluL2ljZWNjLXNldHVwLnNoCkBAIC0zMiw3ICszMiw3IEBACiBpY2VjYy1jcmVhdGUtZW52ICRJQ0VDQyAkSUNFQ1hYICRJQ0VBUyAkSUNFQ0NfVkVSU0lPTiB8fCBleGl0ICQ/CiAKICMgQ3JlYXRlIHN5bWJvbGljIGxpbmtzCi1kPSIkT0VDT1JFX05BVElWRV9TWVNST09UL3Vzci9zaGFyZS9pY2VjcmVhbS9iaW4iCitkPSIkT0VDT1JFX05BVElWRV9TWVNST09UL3Vzci9zaGFyZS8ke1RBUkdFVF9QUkVGSVh9aWNlY3JlYW0vYmluIgogbWtkaXIgLXAgIiRkIgotbG4gLXMgIiRJQ0VDQ19QQVRIIiAiJGQvJHtDUk9TU19DT01QSUxFfWdjYyIKLWxuIC1zICIkSUNFQ0NfUEFUSCIgIiRkLyR7Q1JPU1NfQ09NUElMRX1nKysiCitsbiAtc2YgIiRJQ0VDQ19QQVRIIiAiJGQvJHtDUk9TU19DT01QSUxFfWdjYyIKK2xuIC1zZiAiJElDRUNDX1BBVEgiICIkZC8ke0NST1NTX0NPTVBJTEV9ZysrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvaWNlY2MtdG9vbGNoYWluL25hdGl2ZXNkay1pY2VjYy10b29sY2hhaW5fMC4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvaWNlY2MtdG9vbGNoYWluL25hdGl2ZXNkay1pY2VjYy10b29sY2hhaW5fMC4xLmJiCmluZGV4IDlkMjc1MGUuLjMwNGFkN2YgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2ljZWNjLXRvb2xjaGFpbi9uYXRpdmVzZGstaWNlY2MtdG9vbGNoYWluXzAuMS5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9pY2VjYy10b29sY2hhaW4vbmF0aXZlc2RrLWljZWNjLXRvb2xjaGFpbl8wLjEuYmIKQEAgLTEzLDcgKzEzLDcgQEAKIAogaW5oZXJpdCBuYXRpdmVzZGsKIAotRU5WX05BTUU9IiR7RElTVFJPfS0ke1RDTElCQ30tJHtTREtfQVJDSH0tJHtUVU5FX1BLR0FSQ0h9LSR7RElTVFJPX1ZFUlNJT059LnRhci5neiIKK0VOVl9OQU1FPSIke0RJU1RST30tJHtUQ0xJQkN9LSR7U0RLX0FSQ0h9LUBUQVJHRVRfUFJFRklYQCR7RElTVFJPX1ZFUlNJT059LnRhci5neiIKIAogZG9fY29tcGlsZSgpIHsKIH0KQEAgLTI0LDEyICsyNCwxMiBAQAogICAgIGluc3RhbGwgLWQgJHtEfSR7U0RLUEFUSE5BVElWRX0vZW52aXJvbm1lbnQtc2V0dXAuZC8KICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9pY2VjYy1lbnYuc2ggJHtEfSR7U0RLUEFUSE5BVElWRX0vZW52aXJvbm1lbnQtc2V0dXAuZC8KICAgICBzZWQgLWkgJHtEfSR7U0RLUEFUSE5BVElWRX0vZW52aXJvbm1lbnQtc2V0dXAuZC9pY2VjYy1lbnYuc2ggXAotICAgICAgICAtZSAicyxAVE9PTENIQUlOX0VOVkAsJHtFTlZfTkFNRX0sZyIKKyAgICAgICAgLWUgJ3MsQFRPT0xDSEFJTl9FTlZALCR7RU5WX05BTUV9LGcnCiAKICAgICBpbnN0YWxsIC1kICR7RH0ke1NES1BBVEhOQVRJVkV9L3Bvc3QtcmVsb2NhdGUtc2V0dXAuZC8KICAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9pY2VjYy1zZXR1cC5zaCAke0R9JHtTREtQQVRITkFUSVZFfS9wb3N0LXJlbG9jYXRlLXNldHVwLmQvCiAgICAgc2VkIC1pICR7RH0ke1NES1BBVEhOQVRJVkV9L3Bvc3QtcmVsb2NhdGUtc2V0dXAuZC9pY2VjYy1zZXR1cC5zaCBcCi0gICAgICAgIC1lICJzLEBUT09MQ0hBSU5fRU5WQCwke0VOVl9OQU1FfSxnIgorICAgICAgICAtZSAncyxAVE9PTENIQUlOX0VOVkAsJHtFTlZfTkFNRX0sZycKIH0KIAogUEFDS0FHRVMgPSAiJHtQTn0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJjb21wcy9saWJjb21wcy8wMDAxLUFkZC1jcmMzMi5jLXRvLXNvdXJjZXMtbGlzdC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYmNvbXBzL2xpYmNvbXBzLzAwMDEtQWRkLWNyYzMyLmMtdG8tc291cmNlcy1saXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmOTAyNjkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJjb21wcy9saWJjb21wcy8wMDAxLUFkZC1jcmMzMi5jLXRvLXNvdXJjZXMtbGlzdC5wYXRjaApAQCAtMCwwICsxLDQ3IEBACitGcm9tIDgzNDA3YWE1MGUwNmQ5NjdkMGExMDk1YTE0MGJkN2IwZTVkNTFkMjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMjEgTm92IDIwMTggMTM6MDk6MDUgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gQWRkIGNyYzMyLmMgdG8gc291cmNlcyBsaXN0CisKK090aGVyd2lzZSwgdGhlcmUgaXMgYSBtaXNzaW5nIHN5bWJvbCBydW50aW1lIGVycm9yIHVuZGVyIG11c2wgQyBsaWJyYXJ5LgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorLS0tCisgbGliY29tcHMvc3JjL3B5dGhvbi9zcmMvQ01ha2VMaXN0cy50eHQgfCA0ICsrLS0KKyBsaWJjb21wcy9zcmMvcHl0aG9uL3NyYy9jcmMzMi5jICAgICAgICB8IDIgKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYmNvbXBzL3NyYy9weXRob24vc3JjL0NNYWtlTGlzdHMudHh0IGIvbGliY29tcHMvc3JjL3B5dGhvbi9zcmMvQ01ha2VMaXN0cy50eHQKK2luZGV4IDZlZDI1YmIuLmMxNWM4YjIgMTAwNjQ0CistLS0gYS9saWJjb21wcy9zcmMvcHl0aG9uL3NyYy9DTWFrZUxpc3RzLnR4dAorKysrIGIvbGliY29tcHMvc3JjL3B5dGhvbi9zcmMvQ01ha2VMaXN0cy50eHQKK0BAIC05LDEzICs5LDEzIEBAIHNldCAocHljb21wc19TUkNESVIgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9KQorIHNldCAocHljb21wc19TUkMgcHljb21wcy5jIHB5Y29tcHNfc2VxdWVuY2UuYworICAgICAgcHljb21wc19lbnZzLmMgcHljb21wc19jYXRlZ29yaWVzLmMgcHljb21wc19ncm91cHMuYworICAgICAgcHljb21wc19naWRzLmMgcHljb21wc191dGlscy5jIHB5Y29tcHNfZGljdC5jIHB5Y29tcHNfbWRpY3QuYworLSAgICAgcHljb21wc19oYXNoLmMgcHljb21wc19leGMuYyBweWNvbXBzX2xidy5jKQorKyAgICAgcHljb21wc19oYXNoLmMgcHljb21wc19leGMuYyBweWNvbXBzX2xidy5jIGNyYzMyLmMpCisgCisgc2V0IChweWNvbXBzX0hFQURFUlMgcHljb21wc18yM21hY3Jvcy5oIHB5Y29tcHNfc2VxdWVuY2UuaAorICAgICAgcHljb21wc19lbnZzLmggcHljb21wc19jYXRlZ29yaWVzLmggcHljb21wc19ncm91cHMuaAorICAgICAgcHljb21wc19naWRzLmggcHljb21wc191dGlscy5oIHB5Y29tcHNfZGljdC5oIHB5Y29tcHNfbWRpY3QuaAorICAgICAgcHljb21wc19oYXNoLmggcHljb21wc19leGMuaCBweWNvbXBzX2xidy5oCistICAgICBweWNvbXBzX3R5cGVzLmgpCisrICAgICBweWNvbXBzX3R5cGVzLmggY3JjMzIuaCkKKyAKKyAjc2V0KFRFU1RfRklMRVMgLi4vX19pbml0X18ucHkgX190ZXN0LnB5IHRlc3RfbWVyZ2VfY29tcHMucHkgdGVzdF9saWJjb21wcy5weQorICMgICAgICAgICAgICAgICB1dGVzdC5weSkKK2RpZmYgLS1naXQgYS9saWJjb21wcy9zcmMvcHl0aG9uL3NyYy9jcmMzMi5jIGIvbGliY29tcHMvc3JjL3B5dGhvbi9zcmMvY3JjMzIuYworaW5kZXggZDhmNWUzNC4uZjI2NjA2NyAxMDA2NDQKKy0tLSBhL2xpYmNvbXBzL3NyYy9weXRob24vc3JjL2NyYzMyLmMKKysrKyBiL2xpYmNvbXBzL3NyYy9weXRob24vc3JjL2NyYzMyLmMKK0BAIC00MSw3ICs0MSw3IEBACisgICovCisgCisgI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgorLSNpbmNsdWRlIDxzeXMvc3lzdG0uaD4KKysjaW5jbHVkZSA8c3RkaW50Lmg+CisgCisgc3RhdGljIHVpbnQzMl90IGNyYzMyX3RhYltdID0geworIAkweDAwMDAwMDAwLCAweDc3MDczMDk2LCAweGVlMGU2MTJjLCAweDk5MDk1MWJhLCAweDA3NmRjNDE5LCAweDcwNmFmNDhmLApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliY29tcHMvbGliY29tcHNfZ2l0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliY29tcHMvbGliY29tcHNfZ2l0LmJiCmluZGV4IGU2OWJmNjcuLmZmNjgyMDggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYmNvbXBzL2xpYmNvbXBzX2dpdC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJjb21wcy9saWJjb21wc19naXQuYmIKQEAgLTYsMTAgKzYsMTEgQEAKICAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LXNldC1QWVRIT05fSU5TVEFMTF9ESVItYnktcnVubmluZy1weXRob24ucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMi1TZXQtbGlicmFyeS1pbnN0YWxsYXRpb24tcGF0aC1jb3JyZWN0bHkucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1NYWtlLV9fY29tcHNfb2JqbXJ0cmVlX2FsbC1zdGF0aWMtaW5saW5lLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtQWRkLWNyYzMyLmMtdG8tc291cmNlcy1saXN0LnBhdGNoIFwKICAgICAgICAgICAgIgogCi1QViA9ICIwLjEuOCtnaXQke1NSQ1BWfSIKLVNSQ1JFViA9ICIwMWE0NzU5ODk0Y2NjZmY2NGQyNTYxNjE0YTU4MjgxYWRmNWNlODU5IgorUFYgPSAiMC4xLjEwIgorU1JDUkVWID0gIjg2YTgyZmNkMTU1YzI3MDkyMzQwZDE1YTM0ZjVjNzVjNGRhODgyNDMiCiAKIFMgPSAiJHtXT1JLRElSfS9naXQiCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYmRuZi9saWJkbmYvMDAwMS1BZGQtV0lUSF9URVNUUy1vcHRpb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJkbmYvbGliZG5mLzAwMDEtQWRkLVdJVEhfVEVTVFMtb3B0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjODEzMWIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJkbmYvbGliZG5mLzAwMDEtQWRkLVdJVEhfVEVTVFMtb3B0aW9uLnBhdGNoCkBAIC0wLDAgKzEsNDkgQEAKK0Zyb20gMGQwMTU1YzRkZDZjMGIzMzA1ZWEyYWIwZTEwYjBmODRkMDI0YTZlMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogVHVlLCA2IE5vdiAyMDE4IDEzOjU0OjQzICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBXSVRIX1RFU1RTIG9wdGlvbgorCitUaGlzIG1ha2VzIGEgZGVwZW5kZW5jeSBvbiBjcHB1bml0IG9wdGlvbmFsLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorCistLS0KKyBDTWFrZUxpc3RzLnR4dCAgICAgICAgICAgICAgIHwgMyArKysKKyBweXRob24vaGF3a2V5L0NNYWtlTGlzdHMudHh0IHwgMiArKworIDIgZmlsZXMgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0CitpbmRleCBiNzNhMDNkNy4uYTllMDIwMGYgMTAwNjQ0CistLS0gYS9DTWFrZUxpc3RzLnR4dAorKysrIGIvQ01ha2VMaXN0cy50eHQKK0BAIC0zNiw2ICszNiw3IEBAIE9QVElPTihXSVRIX01BTiAiRW5hYmxlcyBoYXdrZXkgbWFuIHBhZ2UgZ2VuZXJhdGlvbiIgT04pCisgT1BUSU9OKFdJVEhfSFRNTCAiRW5hYmxlcyBoYXdrZXkgSFRNTCBnZW5lcmF0aW9uIiBPTikKKyAKKyBPUFRJT04oV0lUSF9CSU5ESU5HUyAiRW5hYmxlcyBweXRob24vU1dJRyBiaW5kaW5ncyIgT04pCisrT1BUSU9OKFdJVEhfVEVTVFMgIkVuYWJsZXMgdW5pdCB0ZXN0cyIgT04pCisgCisgT1BUSU9OIChFTkFCTEVfU09MVl9VUlBNUkVPUkRFUiAiQnVpbGQgd2l0aCBzdXBwb3J0IGZvciBVUlBNLWxpa2Ugc29sdXRpb24gcmVvcmRlcmluZz8iIE9GRikKKyBvcHRpb24gKEVOQUJMRV9SSFNNX1NVUFBPUlQgIkJ1aWxkIHdpdGggUmVkIEhhdCBTdWJzY3JpcHRpb24gTWFuYWdlciBzdXBwb3J0PyIgT0ZGKQorQEAgLTEyMiw4ICsxMjMsMTAgQEAgSUYgKFdJVEhfQklORElOR1MpCisgIyBBRERfU1VCRElSRUNUT1JZIChiaW5kaW5ncy9wZXJsKQorIEFERF9TVUJESVJFQ1RPUlkgKGJpbmRpbmdzL3B5dGhvbikKKyBFTkRJRigpCisrSUYgKFdJVEhfVEVTVFMpCisgRU5BQkxFX1RFU1RJTkcoKQorIEFERF9TVUJESVJFQ1RPUlkgKHRlc3RzKQorK0VORElGKCkKKyBJRiAoV0lUSF9CSU5ESU5HUykKKyBBRERfU1VCRElSRUNUT1JZIChweXRob24vaGF3a2V5KQorIEFERF9TVUJESVJFQ1RPUlkgKGRvY3MvaGF3a2V5KQorZGlmZiAtLWdpdCBhL3B5dGhvbi9oYXdrZXkvQ01ha2VMaXN0cy50eHQgYi9weXRob24vaGF3a2V5L0NNYWtlTGlzdHMudHh0CitpbmRleCAzYzBiM2MwYy4uMzE0NjZlZDkgMTAwNjQ0CistLS0gYS9weXRob24vaGF3a2V5L0NNYWtlTGlzdHMudHh0CisrKysgYi9weXRob24vaGF3a2V5L0NNYWtlTGlzdHMudHh0CitAQCAtNDksNCArNDksNiBAQCBUQVJHRVRfTElOS19MSUJSQVJJRVMoX2hhd2tleW1vZHVsZSAke1BZVEhPTl9MSUJSQVJZfSkKKyBJTlNUQUxMKEZJTEVTIF9faW5pdF9fLnB5IERFU1RJTkFUSU9OICR7UFlUSE9OX0lOU1RBTExfRElSfS9oYXdrZXkpCisgSU5TVEFMTChUQVJHRVRTIF9oYXdrZXltb2R1bGUgTElCUkFSWSBERVNUSU5BVElPTiAke1BZVEhPTl9JTlNUQUxMX0RJUn0vaGF3a2V5KQorIAorK0lGIChXSVRIX1RFU1RTKQorIEFERF9TVUJESVJFQ1RPUlkodGVzdHMpCisrRU5ESUYoKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliZG5mL2xpYmRuZi8wMDAxLUdldC1wYXJhbWV0ZXJzLWZvci1ib3RoLWxpYnNvbHYtYW5kLWxpYnNvbHZleHQtbGliZG4ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJkbmYvbGliZG5mLzAwMDEtR2V0LXBhcmFtZXRlcnMtZm9yLWJvdGgtbGlic29sdi1hbmQtbGlic29sdmV4dC1saWJkbi5wYXRjaAppbmRleCBjYmQwMzYyLi4yNDZkYjM0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJkbmYvbGliZG5mLzAwMDEtR2V0LXBhcmFtZXRlcnMtZm9yLWJvdGgtbGlic29sdi1hbmQtbGlic29sdmV4dC1saWJkbi5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJkbmYvbGliZG5mLzAwMDEtR2V0LXBhcmFtZXRlcnMtZm9yLWJvdGgtbGlic29sdi1hbmQtbGlic29sdmV4dC1saWJkbi5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gMmJmMDY2NjU0NDI5M2RjZmFjMmY2N2I2NzhlMjQzNTNhY2RjZDRlNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYzEzOWE2YzkyOWNmZjkzZGJiOWI4Mjc5ZTk3MjYzZmM5ZTA1NTcyNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgogRGF0ZTogVHVlLCA3IEZlYiAyMDE3IDEyOjE2OjAzICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMi8yXSBHZXQgcGFyYW1ldGVycyBmb3IgYm90aCBsaWJzb2x2IGFuZCBsaWJzb2x2ZXh0IChsaWJkbmYgaXMKK1N1YmplY3Q6IFtQQVRDSF0gR2V0IHBhcmFtZXRlcnMgZm9yIGJvdGggbGlic29sdiBhbmQgbGlic29sdmV4dCAobGliZG5mIGlzCiAKICB1c2luZyBib3RoKQogCkBAIC0xMywxOCArMTMsMTUgQEAKICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKLWluZGV4IGNhMjgwZjMuLjZhYjk4MjcgMTAwNjQ0CitpbmRleCBjZDkxZjA4Li42NDIyNTM0IDEwMDY0NAogLS0tIGEvQ01ha2VMaXN0cy50eHQKICsrKyBiL0NNYWtlTGlzdHMudHh0Ci1AQCAtMjksNyArMjksNyBAQCBmaW5kX3BhY2thZ2UgKFBrZ0NvbmZpZyBSRVFVSVJFRCkKLSBTRVQgKENNQUtFX01PRFVMRV9QQVRIICR7Q01BS0VfU09VUkNFX0RJUn0vY21ha2UvbW9kdWxlcykKK0BAIC00Niw3ICs0Niw3IEBAIGVuZGlmKEFQUExFKQogIFBLR19DSEVDS19NT0RVTEVTKEdMSUIgZ2lvLXVuaXgtMi4wPj0yLjQ2LjAgUkVRVUlSRUQpCisgcGtnX2NoZWNrX21vZHVsZXMoU01BUlRDT0xTIFJFUVVJUkVEIHNtYXJ0Y29scykKICBGSU5EX0xJQlJBUlkgKFJQTURCX0xJQlJBUlkgTkFNRVMgcnBtZGIpCiAtUEtHX0NIRUNLX01PRFVMRVMgKExJQlNPTFYgUkVRVUlSRUQgbGlic29sdikKICtQS0dfQ0hFQ0tfTU9EVUxFUyAoTElCU09MViBSRVFVSVJFRCBsaWJzb2x2IGxpYnNvbHZleHQpCiAgc2V0KExJQlNPTFZfTElCUkFSWSAke0xJQlNPTFZfTElCUkFSSUVTfSkKICBpZiAoRU5BQkxFX1JIU01fU1VQUE9SVCkKLSAgICAgcGtnX2NoZWNrX21vZHVsZXMgKFJIU00gUkVRVUlSRUQgbGlicmhzbSkKLS0tIAotMi4xNC4yCi0KKyAgICAgcGtnX2NoZWNrX21vZHVsZXMgKFJIU00gUkVRVUlSRUQgbGlicmhzbT49MC4wLjMpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJkbmYvbGliZG5mLzAwMDEtaW5jbHVkZS1taXNzaW5nLXN0cmluZy1hbmQtZXJybm8uaC1oZWFkZXJzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliZG5mL2xpYmRuZi8wMDAxLWluY2x1ZGUtbWlzc2luZy1zdHJpbmctYW5kLWVycm5vLmgtaGVhZGVycy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MmRlNzg0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliZG5mL2xpYmRuZi8wMDAxLWluY2x1ZGUtbWlzc2luZy1zdHJpbmctYW5kLWVycm5vLmgtaGVhZGVycy5wYXRjaApAQCAtMCwwICsxLDY1IEBACitGcm9tIGNjYzg5ZmYwYzFmOGU1NWE0YTIyNDQ0ZDA1MTkyNTQwOGYyNjVkZjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogV2VkLCAzMCBKYW4gMjAxOSAxMDozMjoxMSAtMDgwMAorU3ViamVjdDogW1BBVENIXSBpbmNsdWRlIG1pc3NpbmcgPHN0cmluZz4gYW5kIGVycm5vLmggaGVhZGVycworCitUaGlzIGlzIHVuZWFydGhlZCB3aGVuIGNvbXBpbGluZyB3aXRoIGNsYW5nL2xpYmMrKworCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL3JwbS1zb2Z0d2FyZS1tYW5hZ2VtZW50L2xpYmRuZi9wdWxsLzY3N10KKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGxpYmRuZi9jb25mL0NvbmZpZ1BhcnNlci5ocHAgICAgICAgICAgICAgfCAxICsKKyBsaWJkbmYvbW9kdWxlL21vZHVsZW1kL01vZHVsZVByb2ZpbGUuaHBwIHwgMSArCisgbGliZG5mL3NhY2svY2hhbmdlbG9nLmhwcCAgICAgICAgICAgICAgICB8IDEgKworIGxpYmRuZi91dGlscy9zbWFydGNvbHMvQ2VsbC5ocHAgICAgICAgICAgfCAxICsKKyA0IGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvbGliZG5mL2NvbmYvQ29uZmlnUGFyc2VyLmhwcCBiL2xpYmRuZi9jb25mL0NvbmZpZ1BhcnNlci5ocHAKK2luZGV4IDk3ZjI1NTAwLi4yYTM4NTFmYSAxMDA2NDQKKy0tLSBhL2xpYmRuZi9jb25mL0NvbmZpZ1BhcnNlci5ocHAKKysrKyBiL2xpYmRuZi9jb25mL0NvbmZpZ1BhcnNlci5ocHAKK0BAIC0yMyw2ICsyMyw3IEBACisgCisgI2luY2x1ZGUgPG1hcD4KKyAjaW5jbHVkZSA8c3RkZXhjZXB0PgorKyNpbmNsdWRlIDxzdHJpbmc+CisgI2luY2x1ZGUgPHV0aWxpdHk+CisgCisgbmFtZXNwYWNlIGxpYmRuZiB7CitkaWZmIC0tZ2l0IGEvbGliZG5mL21vZHVsZS9tb2R1bGVtZC9Nb2R1bGVQcm9maWxlLmhwcCBiL2xpYmRuZi9tb2R1bGUvbW9kdWxlbWQvTW9kdWxlUHJvZmlsZS5ocHAKK2luZGV4IGFiMDE4ZGViLi44ZDk5NmZmNCAxMDA2NDQKKy0tLSBhL2xpYmRuZi9tb2R1bGUvbW9kdWxlbWQvTW9kdWxlUHJvZmlsZS5ocHAKKysrKyBiL2xpYmRuZi9tb2R1bGUvbW9kdWxlbWQvTW9kdWxlUHJvZmlsZS5ocHAKK0BAIC0yMyw2ICsyMyw3IEBACisgCisgCisgI2luY2x1ZGUgPG1lbW9yeT4KKysjaW5jbHVkZSA8c3RyaW5nPgorICNpbmNsdWRlIDx2ZWN0b3I+CisgCisgI2luY2x1ZGUgPG1vZHVsZW1kL21vZHVsZW1kLmg+CitkaWZmIC0tZ2l0IGEvbGliZG5mL3NhY2svY2hhbmdlbG9nLmhwcCBiL2xpYmRuZi9zYWNrL2NoYW5nZWxvZy5ocHAKK2luZGV4IGEzZDNmYzQ0Li5kODMwYzQxNCAxMDA2NDQKKy0tLSBhL2xpYmRuZi9zYWNrL2NoYW5nZWxvZy5ocHAKKysrKyBiL2xpYmRuZi9zYWNrL2NoYW5nZWxvZy5ocHAKK0BAIC0yMyw2ICsyMyw3IEBACisgI2RlZmluZSBfX0NIQU5HRUxPR19IUFAKKyAKKyAjaW5jbHVkZSA8Y3RpbWU+CisrI2luY2x1ZGUgPHN0cmluZz4KKyAKKyBuYW1lc3BhY2UgbGliZG5mIHsKKyAKK2RpZmYgLS1naXQgYS9saWJkbmYvdXRpbHMvc21hcnRjb2xzL0NlbGwuaHBwIGIvbGliZG5mL3V0aWxzL3NtYXJ0Y29scy9DZWxsLmhwcAoraW5kZXggMmU4MTFkZWUuLmI5MGYwMDUwIDEwMDY0NAorLS0tIGEvbGliZG5mL3V0aWxzL3NtYXJ0Y29scy9DZWxsLmhwcAorKysrIGIvbGliZG5mL3V0aWxzL3NtYXJ0Y29scy9DZWxsLmhwcAorQEAgLTIyLDYgKzIyLDcgQEAKKyAjZGVmaW5lIExJQkRORl9DRUxMX0hQUAorIAorICNpbmNsdWRlIDxsaWJzbWFydGNvbHMvbGlic21hcnRjb2xzLmg+CisrI2luY2x1ZGUgPGNlcnJubz4KKyAjaW5jbHVkZSA8c3RyaW5nPgorICNpbmNsdWRlIDxzdGRleGNlcHQ+CisgCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJkbmYvbGliZG5mLzAwMDItUHJlZml4LXN5c3Jvb3QtcGF0aC10by1pbnRyb3NwZWN0aW9uLXRvb2xzLXBhdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJkbmYvbGliZG5mLzAwMDItUHJlZml4LXN5c3Jvb3QtcGF0aC10by1pbnRyb3NwZWN0aW9uLXRvb2xzLXBhdGgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdlZWNjM2QuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliZG5mL2xpYmRuZi8wMDAyLVByZWZpeC1zeXNyb290LXBhdGgtdG8taW50cm9zcGVjdGlvbi10b29scy1wYXRoLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotRnJvbSBjODIxMWFkOTljY2FhNGFmNGE3NWUwYmE2Mzk1MjcyNjdmY2ZkNjllIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDMwIERlYyAyMDE2IDE4OjE3OjE5ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMi80XSBQcmVmaXggc3lzcm9vdCBwYXRoIHRvIGludHJvc3BlY3Rpb24gdG9vbHMgcGF0aC4KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9ycG0tc29mdHdhcmUtbWFuYWdlbWVudC9saWJkbmYvcHVsbC8zMTJdCi1TaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KLS0tLQotIGxpYmRuZi9DTWFrZUxpc3RzLnR4dCB8IDQgKystLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJkbmYvQ01ha2VMaXN0cy50eHQgYi9saWJkbmYvQ01ha2VMaXN0cy50eHQKLWluZGV4IDYzZjA3YmYuLjgzNzc5MmIgMTAwNjQ0Ci0tLS0gYS9saWJkbmYvQ01ha2VMaXN0cy50eHQKLSsrKyBiL2xpYmRuZi9DTWFrZUxpc3RzLnR4dAotQEAgLTEzMyw3ICsxMzMsNyBAQCBpZiAoR09CSkVDVF9JTlRST1NQRUNUSU9OX0ZPVU5EKQotICAgICAgICAgc2V0KEdJUl9UWVBFTElCICIke0dJUl9QUkVGSVh9LnR5cGVsaWIiKQotIAotICAgICAgICAgYWRkX2N1c3RvbV9jb21tYW5kKE9VVFBVVCAke0dJUl9YTUx9Ci0tICAgICAgICAgICAgQ09NTUFORCBlbnYgQ0ZMQUdTPSR7Q01BS0VfQ19GTEFHU30gJHtHT0JKRUNUX0lOVFJPU1BFQ1RJT05fMS4wX0dfSVJfU0NBTk5FUn0KLSsgICAgICAgICAgICBDT01NQU5EIGVudiBDRkxBR1M9JHtDTUFLRV9DX0ZMQUdTfSAkRU5We1BLR19DT05GSUdfU1lTUk9PVF9ESVJ9JHtHT0JKRUNUX0lOVFJPU1BFQ1RJT05fMS4wX0dfSVJfU0NBTk5FUn0KLSAgICAgICAgICAgICAgICAgICAgIC0tbmFtZXNwYWNlPURuZgotICAgICAgICAgICAgICAgICAgICAgLS1uc3ZlcnNpb249JHtETkZfU09fVkVSU0lPTn0uMAotICAgICAgICAgICAgICAgICAgICAgLS1saWJyYXJ5LXBhdGg9JHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9Ci1AQCAtMTUzLDcgKzE1Myw3IEBAIGlmIChHT0JKRUNUX0lOVFJPU1BFQ1RJT05fRk9VTkQpCi0gICAgICAgICAgICAgV09SS0lOR19ESVJFQ1RPUlkgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9KQotIAotICAgICAgICAgYWRkX2N1c3RvbV9jb21tYW5kKE9VVFBVVCAke0dJUl9UWVBFTElCfQotLSAgICAgICAgICAgIENPTU1BTkQgJHtHT0JKRUNUX0lOVFJPU1BFQ1RJT05fMS4wX0dfSVJfQ09NUElMRVJ9Ci0rICAgICAgICAgICAgQ09NTUFORCAkRU5We1BLR19DT05GSUdfU1lTUk9PVF9ESVJ9JHtHT0JKRUNUX0lOVFJPU1BFQ1RJT05fMS4wX0dfSVJfQ09NUElMRVJ9Ci0gICAgICAgICAgICAgICAgICAgICAtbyAke0dJUl9UWVBFTElCfQotICAgICAgICAgICAgICAgICAgICAgJHtHSVJfWE1MfQotICAgICAgICAgICAgIERFUEVORFMgJHtHSVJfWE1MfQotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliZG5mL2xpYmRuZi8wMDAzLVNldC10aGUtbGlicmFyeS1pbnN0YWxsYXRpb24tZGlyZWN0b3J5LWNvcnJlY3RseS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYmRuZi9saWJkbmYvMDAwMy1TZXQtdGhlLWxpYnJhcnktaW5zdGFsbGF0aW9uLWRpcmVjdG9yeS1jb3JyZWN0bHkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgxMjY0MDkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliZG5mL2xpYmRuZi8wMDAzLVNldC10aGUtbGlicmFyeS1pbnN0YWxsYXRpb24tZGlyZWN0b3J5LWNvcnJlY3RseS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLUZyb20gOGQyOTg3OWZlMzYwNmM3ODc2OWMxYmNkZGRmMGJjZmM3MTkxYzcxMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgotRGF0ZTogRnJpLCAzMCBEZWMgMjAxNiAxODoyMDowMSArMDIwMAotU3ViamVjdDogW1BBVENIIDMvNF0gU2V0IHRoZSBsaWJyYXJ5IGluc3RhbGxhdGlvbiBkaXJlY3RvcnkgY29ycmVjdGx5LgotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL3JwbS1zb2Z0d2FyZS1tYW5hZ2VtZW50L2xpYmRuZi9wdWxsLzMxMl0KLVNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgotLS0tCi0gQ01ha2VMaXN0cy50eHQgfCA0ICsrKy0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0Ci1pbmRleCBkMzVmMGQ3Li44ZWRiNjI3IDEwMDY0NAotLS0tIGEvQ01ha2VMaXN0cy50eHQKLSsrKyBiL0NNYWtlTGlzdHMudHh0Ci1AQCAtNjIsNyArNjIsOSBAQCBBRERfREVGSU5JVElPTlMoLURQQUNLQUdFX1ZFUlNJT049XFwiJHtMSUJETkZfVkVSU0lPTn1cXCIpCi0gSUYgKENNQUtFX1NJWkVPRl9WT0lEX1AgTUFUQ0hFUyAiOCIpCi0gICBTRVQgKExJQl9TVUZGSVggIjY0IikKLSBFTkRJRiAoQ01BS0VfU0laRU9GX1ZPSURfUCBNQVRDSEVTICI4IikKLS1TRVQgKExJQl9JTlNUQUxMX0RJUiAiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vbGliJHtMSUJfU1VGRklYfSIpCi0rI1NFVCAoTElCX0lOU1RBTExfRElSICIke0NNQUtFX0lOU1RBTExfUFJFRklYfS9saWIke0xJQl9TVUZGSVh9IikKLStTRVQgKExJQl9JTlNUQUxMX0RJUiAiJHtDTUFLRV9JTlNUQUxMX0xJQkRJUn0iKQotKwotIAotIEFERF9TVUJESVJFQ1RPUlkgKGxpYmRuZikKLSBFTkFCTEVfVEVTVElORygpCi0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJkbmYvbGliZG5mLzAwMDQtU2V0LWxpYnNvbHYtdmFyaWFibGVzLXdpdGgtcGtnLWNvbmZpZy1jbWFrZS1zLW93bi1tby5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYmRuZi9saWJkbmYvMDAwNC1TZXQtbGlic29sdi12YXJpYWJsZXMtd2l0aC1wa2ctY29uZmlnLWNtYWtlLXMtb3duLW1vLnBhdGNoCmluZGV4IDZjZjQ4YTQuLjgwYjFlZDcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYmRuZi9saWJkbmYvMDAwNC1TZXQtbGlic29sdi12YXJpYWJsZXMtd2l0aC1wa2ctY29uZmlnLWNtYWtlLXMtb3duLW1vLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYmRuZi9saWJkbmYvMDAwNC1TZXQtbGlic29sdi12YXJpYWJsZXMtd2l0aC1wa2ctY29uZmlnLWNtYWtlLXMtb3duLW1vLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSBiY2VhNWM1MDYzYTJkNWYwN2RiZTZmNDBhZWUzMDM3MGZjNGJhNjU2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAyYmNkMGI5ZjYzMTBiYWNkYzU1NGUwNzdlODUzMTlhNWU5MGU1Y2UwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CiBEYXRlOiBGcmksIDMwIERlYyAyMDE2IDE4OjI0OjUwICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8yXSBTZXQgbGlic29sdiB2YXJpYWJsZXMgd2l0aCBwa2ctY29uZmlnIChjbWFrZSdzIG93biBtb2R1bGUKK1N1YmplY3Q6IFtQQVRDSF0gU2V0IGxpYnNvbHYgdmFyaWFibGVzIHdpdGggcGtnLWNvbmZpZyAoY21ha2UncyBvd24gbW9kdWxlCiAKICBkb2Vzbid0IHdvcmsgcHJvcGVybHkpLgogCkBAIC0xMywxOSArMTMsMTYgQEAKICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0Ci1pbmRleCA4ODc1YmJmLi5jYTI4MGYzIDEwMDY0NAoraW5kZXggMGI0MDVjYi4uY2Q5MWYwOCAxMDA2NDQKIC0tLSBhL0NNYWtlTGlzdHMudHh0CiArKysgYi9DTWFrZUxpc3RzLnR4dAotQEAgLTI5LDcgKzI5LDggQEAgZmluZF9wYWNrYWdlIChQa2dDb25maWcgUkVRVUlSRUQpCi0gU0VUIChDTUFLRV9NT0RVTEVfUEFUSCAke0NNQUtFX1NPVVJDRV9ESVJ9L2NtYWtlL21vZHVsZXMpCitAQCAtNDYsNyArNDYsOCBAQCBlbmRpZihBUFBMRSkKICBQS0dfQ0hFQ0tfTU9EVUxFUyhHTElCIGdpby11bml4LTIuMD49Mi40Ni4wIFJFUVVJUkVEKQorIHBrZ19jaGVja19tb2R1bGVzKFNNQVJUQ09MUyBSRVFVSVJFRCBzbWFydGNvbHMpCiAgRklORF9MSUJSQVJZIChSUE1EQl9MSUJSQVJZIE5BTUVTIHJwbWRiKQotLWZpbmRfcGFja2FnZSAoTGliU29sdiAwLjYuMjEgUkVRVUlSRUQgQ09NUE9ORU5UUyBleHQpCistZmluZF9wYWNrYWdlIChMaWJTb2x2IDAuNi4zMCBSRVFVSVJFRCBDT01QT05FTlRTIGV4dCkKICtQS0dfQ0hFQ0tfTU9EVUxFUyAoTElCU09MViBSRVFVSVJFRCBsaWJzb2x2KQogK3NldChMSUJTT0xWX0xJQlJBUlkgJHtMSUJTT0xWX0xJQlJBUklFU30pCiAgaWYgKEVOQUJMRV9SSFNNX1NVUFBPUlQpCi0gICAgIHBrZ19jaGVja19tb2R1bGVzIChSSFNNIFJFUVVJUkVEIGxpYnJoc20pCisgICAgIHBrZ19jaGVja19tb2R1bGVzIChSSFNNIFJFUVVJUkVEIGxpYnJoc20+PTAuMC4zKQogICAgICBpbmNsdWRlX2RpcmVjdG9yaWVzICgke1JIU01fSU5DTFVERV9ESVJTfSkKLS0tIAotMi4xNC4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYmRuZi9saWJkbmZfMC4xMS4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliZG5mL2xpYmRuZl8wLjExLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRmYzFkNmQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliZG5mL2xpYmRuZl8wLjExLjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1TVU1NQVJZID0gIkxpYnJhcnkgcHJvdmlkaW5nIHNpbXBsaWZpZWQgQyBhbmQgUHl0aG9uIEFQSSB0byBsaWJzb2x2IgotTElDRU5TRSA9ICJMR1BMdjIuMSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIgotCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vcnBtLXNvZnR3YXJlLW1hbmFnZW1lbnQvbGliZG5mIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRmluZEd0a0RvYy5jbWFrZS1kcm9wLXRoZS1yZXF1aXJlbWVudC1mb3ItR1RLRE9DX1NDQS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLVByZWZpeC1zeXNyb290LXBhdGgtdG8taW50cm9zcGVjdGlvbi10b29scy1wYXRoLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtU2V0LXRoZS1saWJyYXJ5LWluc3RhbGxhdGlvbi1kaXJlY3RvcnktY29ycmVjdGx5LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDQtU2V0LWxpYnNvbHYtdmFyaWFibGVzLXdpdGgtcGtnLWNvbmZpZy1jbWFrZS1zLW93bi1tby5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUdldC1wYXJhbWV0ZXJzLWZvci1ib3RoLWxpYnNvbHYtYW5kLWxpYnNvbHZleHQtbGliZG4ucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ1JFViA9ICI2MGY5NzliZDhkYjY1MTIyOWM1NTljMTQxMmYxZWI4ODAyNTcxMjdkIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1ERVBFTkRTID0gImdsaWItMi4wIGxpYnNvbHYgbGliY2hlY2sgbGlicmVwbyBycG0gZ3RrLWRvYyIKLQotaW5oZXJpdCBndGstZG9jIGdvYmplY3QtaW50cm9zcGVjdGlvbiBjbWFrZSBwa2djb25maWcgZGlzdHV0aWxzMy1iYXNlCi0KLUVYVFJBX09FQ01BS0UgPSAiIC1EUFlUSE9OX0lOU1RBTExfRElSPSR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IC1EV0lUSF9NQU49T0ZGIC1EUFlUSE9OX0RFU0lSRUQ9MyBcCi0gICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnR0lfREFUQV9FTkFCTEVEJywgJ1RydWUnLCAnLURXSVRIX0dJUj1PTicsICctRFdJVEhfR0lSPU9GRicsIGQpfSBcCi0gICAgICAgICAgICAgICAgIgotRVhUUkFfT0VDTUFLRV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiAtRFdJVEhfR0lSPU9GRiIKLUVYVFJBX09FQ01BS0VfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgLURXSVRIX0dJUj1PRkYiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliZG5mL2xpYmRuZl8wLjI2LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJkbmYvbGliZG5mXzAuMjYuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YzIyNDdjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliZG5mL2xpYmRuZl8wLjI2LjAuYmIKQEAgLTAsMCArMSwyOSBAQAorU1VNTUFSWSA9ICJMaWJyYXJ5IHByb3ZpZGluZyBzaW1wbGlmaWVkIEMgYW5kIFB5dGhvbiBBUEkgdG8gbGlic29sdiIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3JwbS1zb2Z0d2FyZS1tYW5hZ2VtZW50L2xpYmRuZiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpbmRHdGtEb2MuY21ha2UtZHJvcC10aGUtcmVxdWlyZW1lbnQtZm9yLUdUS0RPQ19TQ0EucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1TZXQtbGlic29sdi12YXJpYWJsZXMtd2l0aC1wa2ctY29uZmlnLWNtYWtlLXMtb3duLW1vLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtR2V0LXBhcmFtZXRlcnMtZm9yLWJvdGgtbGlic29sdi1hbmQtbGlic29sdmV4dC1saWJkbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUFkZC1XSVRIX1RFU1RTLW9wdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWluY2x1ZGUtbWlzc2luZy1zdHJpbmctYW5kLWVycm5vLmgtaGVhZGVycy5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDUkVWID0gImJkMjMyMDRhYTgzZDEwZTNkMjkzYTlmMmQ0OTZjYmE2MDcwZjZhNGQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0RFUEVORFMgPSAiZ2xpYi0yLjAgbGlic29sdiBsaWJjaGVjayBsaWJyZXBvIHJwbSBndGstZG9jIGxpYm1vZHVsZW1kIGpzb24tYyBzd2lnLW5hdGl2ZSIKKworaW5oZXJpdCBndGstZG9jIGdvYmplY3QtaW50cm9zcGVjdGlvbiBjbWFrZSBwa2djb25maWcgZGlzdHV0aWxzMy1iYXNlCisKK0VYVFJBX09FQ01BS0UgPSAiIC1EUFlUSE9OX0lOU1RBTExfRElSPSR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IC1EV0lUSF9NQU49T0ZGIC1EUFlUSE9OX0RFU0lSRUQ9MyBcCisgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnR0lfREFUQV9FTkFCTEVEJywgJ1RydWUnLCAnLURXSVRIX0dJUj1PTicsICctRFdJVEhfR0lSPU9GRicsIGQpfSBcCisgICAgICAgICAgICAgICAgICAtRFdJVEhfVEVTVFM9T0ZGIFwKKyAgICAgICAgICAgICAgICAiCitFWFRSQV9PRUNNQUtFX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIC1EV0lUSF9HSVI9T0ZGIgorRVhUUkFfT0VDTUFLRV9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiAtRFdJVEhfR0lSPU9GRiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJtb2R1bGVtZC9saWJtb2R1bGVtZC8wMDAxLXNwZWNfdG1wbC5zaC11c2UtYmluLXNoLW5vdC11c3ItYmluLXNoLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlibW9kdWxlbWQvbGlibW9kdWxlbWQvMDAwMS1zcGVjX3RtcGwuc2gtdXNlLWJpbi1zaC1ub3QtdXNyLWJpbi1zaC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTk4YzE3Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlibW9kdWxlbWQvbGlibW9kdWxlbWQvMDAwMS1zcGVjX3RtcGwuc2gtdXNlLWJpbi1zaC1ub3QtdXNyLWJpbi1zaC5wYXRjaApAQCAtMCwwICsxLDIyIEBACitGcm9tIDc0ZWE2YTY2NWQwZjM0MTdlNzVmMWQzZDAyZjI3YTEyZjEyOGVjNzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgNiBOb3YgMjAxOCAxMzo0MToyOSArMDEwMAorU3ViamVjdDogW1BBVENIXSBzcGVjX3RtcGwuc2g6IHVzZSAvYmluL3NoLCBub3QgL3Vzci9iaW4vc2gKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKworLS0tCisgc3BlY190bXBsLnNoIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3BlY190bXBsLnNoIGIvc3BlY190bXBsLnNoCitpbmRleCAxNGU4OTVhLi5mYzgwZmM2IDEwMDc1NQorLS0tIGEvc3BlY190bXBsLnNoCisrKysgYi9zcGVjX3RtcGwuc2gKK0BAIC0xLDQgKzEsNCBAQAorLSMhL3Vzci9iaW4vc2gKKysjIS9iaW4vc2gKKyAKKyB2ZXJzaW9uPSQxCisgbGlibW9kdWxlbWRfdjFfdmVyc2lvbj0kMgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlibW9kdWxlbWQvbGlibW9kdWxlbWQvMDAwMi1tb2R1bGVtZC12MS1tZXNvbi5idWlsZC1kby1ub3QtZ2VuZXJhdGUtZ2lyLW9yLWd0a2RvLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlibW9kdWxlbWQvbGlibW9kdWxlbWQvMDAwMi1tb2R1bGVtZC12MS1tZXNvbi5idWlsZC1kby1ub3QtZ2VuZXJhdGUtZ2lyLW9yLWd0a2RvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzZTYyYmYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJtb2R1bGVtZC9saWJtb2R1bGVtZC8wMDAyLW1vZHVsZW1kLXYxLW1lc29uLmJ1aWxkLWRvLW5vdC1nZW5lcmF0ZS1naXItb3ItZ3RrZG8ucGF0Y2gKQEAgLTAsMCArMSw2NyBAQAorRnJvbSBiNzdjOWMzZDA3NDMwYjAxNGIyZDFiZmY0MjAyN2Y0ODNjODFmMTVhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDYgTm92IDIwMTggMTM6NDM6MDAgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gbW9kdWxlbWQvdlsxMl0vbWVzb24uYnVpbGQ6IGRvIG5vdCBnZW5lcmF0ZSBndGtkb2Mgb3IgcHl0aG9uCisgYmluZGluZ3MKKworQWxsIG9mIHRoZXNlIHJlYWxseSBuZWVkIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2UtY29yZSBzcGVjaWZpY10KK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorCistLS0KKyBtZXNvbi5idWlsZCAgICAgICAgICAgICB8IDMgKy0tCisgbW9kdWxlbWQvdjEvbWVzb24uYnVpbGQgfCA4IC0tLS0tLS0tCisgbW9kdWxlbWQvdjIvbWVzb24uYnVpbGQgfCA4IC0tLS0tLS0tCisgMyBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMTggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCitpbmRleCAyMjhiZDM0Li5hMWU2MGJiIDEwMDY0NAorLS0tIGEvbWVzb24uYnVpbGQKKysrKyBiL21lc29uLmJ1aWxkCitAQCAtNTIsNyArNTIsNiBAQCBnbm9tZSA9IGltcG9ydCgnZ25vbWUnKQorIHBrZyA9IGltcG9ydCgncGtnY29uZmlnJykKKyBnb2JqZWN0ID0gZGVwZW5kZW5jeSgnZ29iamVjdC0yLjAnKQorIHlhbWwgPSBkZXBlbmRlbmN5KCd5YW1sLTAuMScpCistZ3RrZG9jID0gZGVwZW5kZW5jeSgnZ3RrLWRvYycpCisgCisgc2ggPSBmaW5kX3Byb2dyYW0oJ3NoJykKKyBzZWQgPSBmaW5kX3Byb2dyYW0oJ3NlZCcpCitAQCAtMTEwLDQgKzEwOSw0IEBAIGNvbmZpZ3VyZV9maWxlKAorICkKKyAKKyBzdWJkaXIoJ21vZHVsZW1kJykKKy1zdWJkaXIoJ2JpbmRpbmdzL3B5dGhvbicpCisrCitkaWZmIC0tZ2l0IGEvbW9kdWxlbWQvdjEvbWVzb24uYnVpbGQgYi9tb2R1bGVtZC92MS9tZXNvbi5idWlsZAoraW5kZXggNzRkYjg5YS4uNGQ1NGU2OSAxMDA2NDQKKy0tLSBhL21vZHVsZW1kL3YxL21lc29uLmJ1aWxkCisrKysgYi9tb2R1bGVtZC92MS9tZXNvbi5idWlsZAorQEAgLTM0MSwxMSArMzQxLDMgQEAgY29uZmlndXJlX2ZpbGUoCisgICBjb25maWd1cmF0aW9uIDogeGNkYXRhCisgKQorIAorLWdub21lLmd0a2RvYygKKy0gICAgJ21vZHVsZW1kLTEuMCcsCistICAgIGluc3RhbGxfZGlyOiAnbW9kdWxlbWQtMS4wJywKKy0gICAgc3JjX2RpciA6ICcuL21vZHVsZW1kL3YxJywKKy0gICAgbWFpbl94bWwgOiAnbW9kdWxlbWQtdjEtZG9jcy54bWwnLAorLSAgICBpbnN0YWxsIDogdHJ1ZSwKKy0pCistCitkaWZmIC0tZ2l0IGEvbW9kdWxlbWQvdjIvbWVzb24uYnVpbGQgYi9tb2R1bGVtZC92Mi9tZXNvbi5idWlsZAoraW5kZXggN2I5NGUwYy4uYzVmNzJiOSAxMDA2NDQKKy0tLSBhL21vZHVsZW1kL3YyL21lc29uLmJ1aWxkCisrKysgYi9tb2R1bGVtZC92Mi9tZXNvbi5idWlsZAorQEAgLTUzMCwxMSArNTMwLDMgQEAgY29uZmlndXJlX2ZpbGUoCisgICBjb25maWd1cmF0aW9uIDogeGNkYXRhCisgKQorIAorLWdub21lLmd0a2RvYygKKy0gICAgJ21vZHVsZW1kLTIuMCcsCistICAgIGluc3RhbGxfZGlyOiAnbW9kdWxlbWQtMi4wJywKKy0gICAgc3JjX2RpciA6ICcuL21vZHVsZW1kL3YyJywKKy0gICAgbWFpbl94bWwgOiAnbW9kdWxlbWQtdjItZG9jcy54bWwnLAorLSAgICBpbnN0YWxsIDogdHJ1ZSwKKy0pCistCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJtb2R1bGVtZC9saWJtb2R1bGVtZF9naXQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJtb2R1bGVtZC9saWJtb2R1bGVtZF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODdlOTIxMQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYm1vZHVsZW1kL2xpYm1vZHVsZW1kX2dpdC5iYgpAQCAtMCwwICsxLDMwIEBACitTVU1NQVJZID0gIkMgTGlicmFyeSBmb3IgbWFuaXB1bGF0aW5nIG1vZHVsZSBtZXRhZGF0YSBmaWxlcyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjVhMzkyN2JmZjNlZTRmNWIyMWJjYjBlZDNmY2Q2YmIiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9mZWRvcmEtbW9kdWxhcml0eS9saWJtb2R1bGVtZDtwcm90b2NvbD1odHRwcyBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXNwZWNfdG1wbC5zaC11c2UtYmluLXNoLW5vdC11c3ItYmluLXNoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItbW9kdWxlbWQtdjEtbWVzb24uYnVpbGQtZG8tbm90LWdlbmVyYXRlLWdpci1vci1ndGtkby5wYXRjaCBcCisgICAgICAgICAgICIKKworUFYgPSAiMi4xLjAiCitTUkNSRVYgPSAiMDcyZTZlZTc5MWZlNzgyMmE2ZDQyM2JkYWM3ZTRhNWNiYjExOGJjZSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBtZXNvbiBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworRVhUUkFfT0VNRVNPTiA9ICItRGRldmVsb3Blcl9idWlsZD1mYWxzZSAtRGJ1aWxkX2FwaV92MT10cnVlIC1EYnVpbGRfYXBpX3YyPWZhbHNlIgorCitERVBFTkRTICs9ICJnbGliLTIuMCBsaWJ5YW1sIGdsaWItMi4wLW5hdGl2ZSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCitHSV9FTkFCTEVfRkxBRyA9ICItRHNraXBfaW50cm9zcGVjdGlvbj1mYWxzZSIKK0dJX0RJU0FCTEVfRkxBRyA9ICItRHNraXBfaW50cm9zcGVjdGlvbj10cnVlIgorCitFWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiICR7R0lfRElTQUJMRV9GTEFHfSIKK0VYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgJHtHSV9ESVNBQkxFX0ZMQUd9IgorCitFWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHSV9EQVRBX0VOQUJMRUQnLCAnVHJ1ZScsICcke0dJX0VOQUJMRV9GTEFHfScsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcke0dJX0RJU0FCTEVfRkxBR30nLCBkKX0gIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlicmVwby9saWJyZXBvLzAwMDItRG8tbm90LXRyeS10by1vYnRhaW4tUFlUSE9OX0lOU1RBTExfRElSLWJ5LXJ1bm5pbmctcC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYnJlcG8vbGlicmVwby8wMDAyLURvLW5vdC10cnktdG8tb2J0YWluLVBZVEhPTl9JTlNUQUxMX0RJUi1ieS1ydW5uaW5nLXAucGF0Y2gKaW5kZXggZDY5ZGViNS4uYjYxZjBjOSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlicmVwby9saWJyZXBvLzAwMDItRG8tbm90LXRyeS10by1vYnRhaW4tUFlUSE9OX0lOU1RBTExfRElSLWJ5LXJ1bm5pbmctcC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJyZXBvL2xpYnJlcG8vMDAwMi1Eby1ub3QtdHJ5LXRvLW9idGFpbi1QWVRIT05fSU5TVEFMTF9ESVItYnktcnVubmluZy1wLnBhdGNoCkBAIC0xLDggKzEsNyBAQAotRnJvbSA1YjY4NDlkOWQ3ZTAzMGMzYTUyMWI1MjQ1ZDg2Zjg1M2IwMjcxYTYxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBiMDhhM2I3MWU3MTZkZDA0ODVlZjUxMDM2ZDMyZTRjMzA0ZmI0ZTY3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CiBEYXRlOiBGcmksIDMwIERlYyAyMDE2IDE4OjA1OjM2ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8yXSBEbyBub3QgdHJ5IHRvIG9idGFpbiBQWVRIT05fSU5TVEFMTF9ESVIgYnkgcnVubmluZwotIHB5dGhvbi4KK1N1YmplY3Q6IFtQQVRDSF0gRG8gbm90IHRyeSB0byBvYnRhaW4gUFlUSE9OX0lOU1RBTExfRElSIGJ5IHJ1bm5pbmcgcHl0aG9uLgogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW29lLWNvcmUgc3BlY2lmaWNdCiBTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KQEAgLTEzLDEyICsxMiwxMCBAQAogIDIgZmlsZXMgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9saWJyZXBvL3B5dGhvbi9weXRob24yL0NNYWtlTGlzdHMudHh0IGIvbGlicmVwby9weXRob24vcHl0aG9uMi9DTWFrZUxpc3RzLnR4dAotaW5kZXggNWZmYmQ2Mi4uOTBkM2MyMiAxMDA2NDQKK2luZGV4IGEwZjFmOWEuLjE2NjUwNzkgMTAwNjQ0CiAtLS0gYS9saWJyZXBvL3B5dGhvbi9weXRob24yL0NNYWtlTGlzdHMudHh0CiArKysgYi9saWJyZXBvL3B5dGhvbi9weXRob24yL0NNYWtlTGlzdHMudHh0Ci1AQCAtMSwxMSArMSwxMSBAQAotIEZJTkRfUEFDS0FHRSAoUHl0aG9uTGlicyAyICkKLSBGSU5EX1BBQ0tBR0UgKFB5dGhvbkludGVycCAyIFJFUVVJUkVEKQorQEAgLTEsOSArMSw5IEBACiAtRVhFQ1VURV9QUk9DRVNTKENPTU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0gLWMgIgogLWZyb20gc3lzIGltcG9ydCBzdGRvdXQKIC1mcm9tIGRpc3R1dGlscyBpbXBvcnQgc3lzY29uZmlnCkBAIC0zNSwxMyArMzIsMTAgQEAKICAKICBNRVNTQUdFKFNUQVRVUyAiUHl0aG9uIGluc3RhbGwgZGlyIGlzICR7UFlUSE9OX0lOU1RBTExfRElSfSIpCiBkaWZmIC0tZ2l0IGEvbGlicmVwby9weXRob24vcHl0aG9uMy9DTWFrZUxpc3RzLnR4dCBiL2xpYnJlcG8vcHl0aG9uL3B5dGhvbjMvQ01ha2VMaXN0cy50eHQKLWluZGV4IDQ3NTU5ZjcuLmIzOWFkYzIgMTAwNjQ0CitpbmRleCA1MmJhNDRlLi5kYTUxZTEwIDEwMDY0NAogLS0tIGEvbGlicmVwby9weXRob24vcHl0aG9uMy9DTWFrZUxpc3RzLnR4dAogKysrIGIvbGlicmVwby9weXRob24vcHl0aG9uMy9DTWFrZUxpc3RzLnR4dAotQEAgLTEwLDEyICsxMCwxMiBAQCBtZXNzYWdlKCItLS0gJHtQWVRIT05fSU5DTFVERV9ESVJ9IikKLSAKLSBGSU5EX1BBQ0tBR0UoUHl0aG9uTGlicyAzLjApCi0gRklORF9QQUNLQUdFKFB5dGhvbkludGVycCAzLjAgUkVRVUlSRUQpCitAQCAtMSw5ICsxLDkgQEAKIC1FWEVDVVRFX1BST0NFU1MoQ09NTUFORCAke1BZVEhPTl9FWEVDVVRBQkxFfSAtYyAiCiAtZnJvbSBzeXMgaW1wb3J0IHN0ZG91dAogLWZyb20gZGlzdHV0aWxzIGltcG9ydCBzeXNjb25maWcKQEAgLTU3LDYgKzUxLDMgQEAKICBJTkNMVURFX0RJUkVDVE9SSUVTICgke1BZVEhPTl9JTkNMVURFX1BBVEh9KQogIAogIE1FU1NBR0UoU1RBVFVTICJQeXRob24zIGluc3RhbGwgZGlyIGlzICR7UFlUSE9OX0lOU1RBTExfRElSfSIpCi0tLSAKLTIuMTQuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJyZXBvL2xpYnJlcG8vMDAwNC1TZXQtZ3BnbWUtdmFyaWFibGVzLXdpdGgtcGtnLWNvbmZpZy1ub3Qtd2l0aC1jbWFrZS1tLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlicmVwby9saWJyZXBvLzAwMDQtU2V0LWdwZ21lLXZhcmlhYmxlcy13aXRoLXBrZy1jb25maWctbm90LXdpdGgtY21ha2UtbS5wYXRjaAppbmRleCBmN2Q3YWIzLi43MzkwMmU1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJyZXBvL2xpYnJlcG8vMDAwNC1TZXQtZ3BnbWUtdmFyaWFibGVzLXdpdGgtcGtnLWNvbmZpZy1ub3Qtd2l0aC1jbWFrZS1tLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYnJlcG8vbGlicmVwby8wMDA0LVNldC1ncGdtZS12YXJpYWJsZXMtd2l0aC1wa2ctY29uZmlnLW5vdC13aXRoLWNtYWtlLW0ucGF0Y2gKQEAgLTEsMjkgKzEsMjcgQEAKLUZyb20gYTM2YmU4MTkyNjE1ZTJhMWZiNWE1ODU2ZDQ0NTY1Mjc3ZjE1NTgzYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZjVhMWRmZTRjODdjMjI4MTY1YmMyNWU3ZmU0NjQxMjBkODEzOWEzZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgogRGF0ZTogRnJpLCAzMCBEZWMgMjAxNiAxODoyMzoyNyArMDIwMAotU3ViamVjdDogW1BBVENIIDQvNF0gU2V0IGdwZ21lIHZhcmlhYmxlcyB3aXRoIHBrZy1jb25maWcsIG5vdCB3aXRoIGNtYWtlCi0gbW9kdWxlICh3aGljaCBkb2Vzbid0IHdvcmsgcHJvcGVybHkpCitTdWJqZWN0OiBbUEFUQ0hdIFNldCBncGdtZSB2YXJpYWJsZXMgd2l0aCBwa2ctY29uZmlnLCBub3Qgd2l0aCBjbWFrZSBtb2R1bGUKKyAod2hpY2ggZG9lc24ndCB3b3JrIHByb3Blcmx5KQogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2dwZ21lIHVwc3RyZWFtIGRvZXMgbm90IGhhdmUgcGtnLWNvbmZpZyBzdXBwb3J0IGFuZCBpcyBub3QgaW50ZXJlc3RlZCBpbiBpdF0KIFNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorCiAtLS0KICBDTWFrZUxpc3RzLnR4dCB8IDMgKystCiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAotaW5kZXggZWYwN2QyZC4uZjFmYTA5YiAxMDA2NDQKK2luZGV4IGU5NDlkYmUuLmM5NTRiMmUgMTAwNjQ0CiAtLS0gYS9DTWFrZUxpc3RzLnR4dAogKysrIGIvQ01ha2VMaXN0cy50eHQKIEBAIC0zMSw3ICszMSw4IEBAIFBLR19DSEVDS19NT0RVTEVTKEdMSUIyIGdsaWItMi4wIFJFUVVJUkVEKQogIFBLR19TRUFSQ0hfTU9EVUxFKExJQkNSWVBUTyBSRVFVSVJFRCBsaWJjcnlwdG8gb3BlbnNzbCkKLSBGSU5EX1BBQ0tBR0UoRVhQQVQgUkVRVUlSRUQpCisgUEtHX0NIRUNLX01PRFVMRVMoTElCWE1MMiBsaWJ4bWwtMi4wIFJFUVVJUkVEKQogIEZJTkRfUEFDS0FHRShDVVJMIFJFUVVJUkVEKQogLUZJTkRfUEFDS0FHRShHcGdtZSBSRVFVSVJFRCkKICtQS0dfQ0hFQ0tfTU9EVUxFUyhHUEdNRSBncGdtZSBSRVFVSVJFRCkKICtzZXQoR1BHTUVfVkFOSUxMQV9MSUJSQVJJRVMgJHtHUEdNRV9MSUJSQVJJRVN9KQotIEZJTkRfUEFDS0FHRShYYXR0ciBSRVFVSVJFRCkKICAKLSBJTkNMVURFX0RJUkVDVE9SSUVTKCR7R0xJQjJfSU5DTFVERV9ESVJTfSkKLS0tIAotMi4xMS4wCi0KKyAKKyBJRiAoV0lUSF9aQ0hVTkspCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJyZXBvL2xpYnJlcG9fMS44LjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJyZXBvL2xpYnJlcG9fMS44LjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ1Njk4ODUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlicmVwby9saWJyZXBvXzEuOC4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotU1VNTUFSWSA9ICIgQSBsaWJyYXJ5IHByb3ZpZGluZyBDIGFuZCBQeXRob24gKGxpYmNVUkwgbGlrZSkgQVBJIGZvciBkb3dubG9hZGluZyBsaW51eCByZXBvc2l0b3J5IG1ldGFkYXRhIGFuZCBwYWNrYWdlcy4iCi1MSUNFTlNFID0gIkxHUEx2Mi4xIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9ycG0tc29mdHdhcmUtbWFuYWdlbWVudC9saWJyZXBvLmdpdCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLURvLW5vdC10cnktdG8tb2J0YWluLVBZVEhPTl9JTlNUQUxMX0RJUi1ieS1ydW5uaW5nLXAucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNC1TZXQtZ3BnbWUtdmFyaWFibGVzLXdpdGgtcGtnLWNvbmZpZy1ub3Qtd2l0aC1jbWFrZS1tLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNSRVYgPSAiN2I5YjdiZjM4OGYzZjA1OTUyOWM2ZjUwYzQwYjMwOTE5ZmVmMzBmOSIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotREVQRU5EUyA9ICJjdXJsIGV4cGF0IGdsaWItMi4wIG9wZW5zc2wgYXR0ciBncGdtZSIKLQotaW5oZXJpdCBjbWFrZSBkaXN0dXRpbHMzLWJhc2UgcGtnY29uZmlnCi0KLUVYVFJBX09FQ01BS0UgPSAiIC1EUFlUSE9OX0lOU1RBTExfRElSPSR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IC1EUFlUSE9OX0RFU0lSRUQ9MyAtREVOQUJMRV9URVNUUz1PRkYgLURFTkFCTEVfRE9DUz1PRkYiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlicmVwby9saWJyZXBvXzEuOS40LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlicmVwby9saWJyZXBvXzEuOS40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM0ZDZjMTYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJyZXBvL2xpYnJlcG9fMS45LjQuYmIKQEAgLTAsMCArMSwyMSBAQAorU1VNTUFSWSA9ICIgQSBsaWJyYXJ5IHByb3ZpZGluZyBDIGFuZCBQeXRob24gKGxpYmNVUkwgbGlrZSkgQVBJIGZvciBkb3dubG9hZGluZyBsaW51eCByZXBvc2l0b3J5IG1ldGFkYXRhIGFuZCBwYWNrYWdlcy4iCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9ycG0tc29mdHdhcmUtbWFuYWdlbWVudC9saWJyZXBvLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLURvLW5vdC10cnktdG8tb2J0YWluLVBZVEhPTl9JTlNUQUxMX0RJUi1ieS1ydW5uaW5nLXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1TZXQtZ3BnbWUtdmFyaWFibGVzLXdpdGgtcGtnLWNvbmZpZy1ub3Qtd2l0aC1jbWFrZS1tLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNSRVYgPSAiOTI4YzJkOWM2NmYwZDEwNDc3YjhjOWQxMTkyNzg1Yjg4ZTJiMTE1NSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworREVQRU5EUyA9ICJjdXJsIGdsaWItMi4wIG9wZW5zc2wgYXR0ciBncGdtZSBsaWJ4bWwyIgorCitpbmhlcml0IGNtYWtlIGRpc3R1dGlsczMtYmFzZSBwa2djb25maWcKKworRVhUUkFfT0VDTUFLRSA9ICIgLURQWVRIT05fSU5TVEFMTF9ESVI9JHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0gLURQWVRIT05fREVTSVJFRD0zIC1ERU5BQkxFX1RFU1RTPU9GRiAtREVOQUJMRV9ET0NTPU9GRiAtRFdJVEhfWkNIVU5LPU9GRiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJ0b29sL2xpYnRvb2wtMi40LjYuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlidG9vbC9saWJ0b29sLTIuNC42LmluYwppbmRleCBmMzA3YTEwLi44ZTE3YjU2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJ0b29sL2xpYnRvb2wtMi40LjYuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYnRvb2wvbGlidG9vbC0yLjQuNi5pbmMKQEAgLTIwLDYgKzIwLDcgQEAKICAgICAgICAgICAgZmlsZTovL25vaGFyZGNvZGVwYXRocy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly91bndpbmQtb3B0LXBhcnNpbmcucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1saWJ0b29sLUZpeC1zdXBwb3J0LWZvci1OSU9TMi1wcm9jZXNzb3IucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1saWJ0b29sLUNoZWNrLWZvci1zdGF0aWMtbGlicy1mb3ItaW50ZXJuYWwtY29tcGlsZXItLnBhdGNoIFwKICAgICAgICAgICAiCiAKIFNSQ19VUklbbWQ1c3VtXSA9ICJhZGRmNDRiNjQ2ZGRiNGUzOTE5ODA1YWE4OGZhN2M1ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYnRvb2wvbGlidG9vbC8wMDAxLWxpYnRvb2wtQ2hlY2stZm9yLXN0YXRpYy1saWJzLWZvci1pbnRlcm5hbC1jb21waWxlci0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJ0b29sL2xpYnRvb2wvMDAwMS1saWJ0b29sLUNoZWNrLWZvci1zdGF0aWMtbGlicy1mb3ItaW50ZXJuYWwtY29tcGlsZXItLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjN2MzOWYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJ0b29sL2xpYnRvb2wvMDAwMS1saWJ0b29sLUNoZWNrLWZvci1zdGF0aWMtbGlicy1mb3ItaW50ZXJuYWwtY29tcGlsZXItLnBhdGNoCkBAIC0wLDAgKzEsMzcgQEAKK0Zyb20gNDBhMmRhNzVlNmQ5NWNjN2M0OThlYmRhOTVhYjE5YWUwZGIyZWJmYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBTYXQsIDI2IEphbiAyMDE5IDEyOjU0OjI2IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGxpYnRvb2w6IENoZWNrIGZvciBzdGF0aWMgbGlicyBmb3IgaW50ZXJuYWwgY29tcGlsZXIKKyBsaWJyYXJpZXMKKworTGlidG9vbCBjaGVja3Mgb25seSBmb3IgbGlicmFyaWVzIGxpbmtlZCBhcyAtbCogd2hlbiB0cnlpbmcgdG8KK2ZpbmQgaW50ZXJuYWwgY29tcGlsZXIgbGlicmFyaWVzLiBDbGFuZywgaG93ZXZlciB1c2VzIHRoZSBhYnNvbHV0ZQorcGF0aCB0byBsaW5rIGl0cyBpbnRlcm5hbCBsaWJyYXJpZXMgZS5nLiBjb21waWxlcl9ydC4gVGhpcyBwYXRjaAoraGFuZGxlcyBjbGFuZydzIHN0YXRpY2FsbHkgbGlua2VkIGxpYnJhcmllcyB3aGVuIGZpbmRpbmcgaW50ZXJuYWwKK2NvbXBpbGVyIGxpYnJhcmllcy4KKworaHR0cHM6Ly9jcmJ1Zy5jb20vNzQ5MjYzCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2RlYmJ1Z3MuZ251Lm9yZy9jZ2kvYnVncmVwb3J0LmNnaT9idWc9Mjc4NjZdCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBtNC9saWJ0b29sLm00IHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbTQvbGlidG9vbC5tNCBiL200L2xpYnRvb2wubTQKK2luZGV4IGQwMzg5YTAuLjk2MTljNTcgMTAwNjQ0CistLS0gYS9tNC9saWJ0b29sLm00CisrKysgYi9tNC9saWJ0b29sLm00CitAQCAtNzUzNiw3ICs3NTM2LDcgQEAgaWYgQUNfVFJZX0VWQUwoYWNfY29tcGlsZSk7IHRoZW4KKyAgIGZvciBwIGluIGBldmFsICIkb3V0cHV0X3ZlcmJvc2VfbGlua19jbWQiYDsgZG8KKyAgICAgY2FzZSAkcHJldiRwIGluCisgCistICAgIC1MKiB8IC1SKiB8IC1sKikKKysgICAgLUwqIHwgLVIqIHwgLWwqIHwgKi9saWJjbGFuZ19ydC4qLmEpCisgICAgICAgICMgU29tZSBjb21waWxlcnMgcGxhY2Ugc3BhY2UgYmV0d2VlbiAiLXtMLFJ9IiBhbmQgdGhlIHBhdGguCisgICAgICAgICMgUmVtb3ZlIHRoZSBzcGFjZS4KKyAgICAgICAgaWYgdGVzdCB4LUwgPSAiJHAiIHx8CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9sbHZtL2xsdm0vMDAwMS1sbHZtLVRhcmdldExpYnJhcnlJbmZvLVVuZGVmaW5lLWxpYmMtZnVuY3Rpb25zLWlmLXRoLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGx2bS9sbHZtLzAwMDEtbGx2bS1UYXJnZXRMaWJyYXJ5SW5mby1VbmRlZmluZS1saWJjLWZ1bmN0aW9ucy1pZi10aC5wYXRjaAppbmRleCAyMDk3NjRjLi42ZGJiY2VkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9sbHZtL2xsdm0vMDAwMS1sbHZtLVRhcmdldExpYnJhcnlJbmZvLVVuZGVmaW5lLWxpYmMtZnVuY3Rpb25zLWlmLXRoLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xsdm0vbGx2bS8wMDAxLWxsdm0tVGFyZ2V0TGlicmFyeUluZm8tVW5kZWZpbmUtbGliYy1mdW5jdGlvbnMtaWYtdGgucGF0Y2gKQEAgLTEsMjQgKzEsMjIgQEAKLUZyb20gOTY1NThjNGYyNWQ1MTMyOTM2MDE0ZjZmMmQ2MjUyY2ZkZmRmNDc4YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gOTA1Y2FjODkzNGZiMTdlMjA0MTZhNGRmNzEyYTU2NmU3NTc0NzFhMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBTYXQsIDIxIE1heSAyMDE2IDAwOjMzOjIwICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8yXSBsbHZtOiBUYXJnZXRMaWJyYXJ5SW5mbzogVW5kZWZpbmUgbGliYyBmdW5jdGlvbnMgaWYgdGhleQotIGFyZSBtYWNyb3MKK1N1YmplY3Q6IFtQQVRDSCAxLzJdIGxsdm06IFRhcmdldExpYnJhcnlJbmZvOiBVbmRlZmluZSBsaWJjIGZ1bmN0aW9ucyBpZiB0aGV5IGFyZSBtYWNyb3MKIAogbXVzbCBkZWZpbmVzIHNvbWUgZnVuY3Rpb25zIGFzIG1hY3JvcyBhbmQgbm90IGlubGluZSBmdW5jdGlvbnMKIGlmIHRoaXMgaXMgdGhlIGNhc2UgdGhlbiBtYWtlIHN1cmUgdG8gdW5kZWZpbmUgdGhlbQogCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIFNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiAtLS0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCiAgaW5jbHVkZS9sbHZtL0FuYWx5c2lzL1RhcmdldExpYnJhcnlJbmZvLmRlZiB8IDIxICsrKysrKysrKysrKysrKysrKysrKwogIDEgZmlsZSBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspCiAKIGRpZmYgLS1naXQgYS9pbmNsdWRlL2xsdm0vQW5hbHlzaXMvVGFyZ2V0TGlicmFyeUluZm8uZGVmIGIvaW5jbHVkZS9sbHZtL0FuYWx5c2lzL1RhcmdldExpYnJhcnlJbmZvLmRlZgotaW5kZXggYTQ2MWVkODEzYjkuLmY5ZmQ5ZmFlZWUwIDEwMDY0NAoraW5kZXggNTE4YTg1ZWUxYTAuLjZiNGVhZDRlZmM2IDEwMDY0NAogLS0tIGEvaW5jbHVkZS9sbHZtL0FuYWx5c2lzL1RhcmdldExpYnJhcnlJbmZvLmRlZgogKysrIGIvaW5jbHVkZS9sbHZtL0FuYWx5c2lzL1RhcmdldExpYnJhcnlJbmZvLmRlZgotQEAgLTY2NSw2ICs2NjUsOSBAQCBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgiZm1vZGwiKQorQEAgLTczMSw2ICs3MzEsOSBAQCBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgiZm1vZGwiKQogIFRMSV9ERUZJTkVfRU5VTV9JTlRFUk5BTChmb3BlbikKICBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgiZm9wZW4iKQogIC8vLyBGSUxFICpmb3BlbjY0KGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBjb25zdCBjaGFyICpvcGVudHlwZSkKQEAgLTI3LDggKzI1LDggQEAKICsjZW5kaWYKICBUTElfREVGSU5FX0VOVU1fSU5URVJOQUwoZm9wZW42NCkKICBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgiZm9wZW42NCIpCi0gLy8vIGludCBmcHJpbnRmKEZJTEUgKnN0cmVhbSwgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pOwotQEAgLTcwMCw2ICs3MDMsOSBAQCBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgiZnNlZWsiKQorIC8vLyBpbnQgZm9yaygpOworQEAgLTc3OCw2ICs3ODEsOSBAQCBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgiZnNlZWsiKQogIC8vLyBpbnQgZnNlZWtvKEZJTEUgKnN0cmVhbSwgb2ZmX3Qgb2Zmc2V0LCBpbnQgd2hlbmNlKTsKICBUTElfREVGSU5FX0VOVU1fSU5URVJOQUwoZnNlZWtvKQogIFRMSV9ERUZJTkVfU1RSSU5HX0lOVEVSTkFMKCJmc2Vla28iKQpAQCAtMzgsNyArMzYsNyBAQAogIC8vLyBpbnQgZnNlZWtvNjQoRklMRSAqc3RyZWFtLCBvZmY2NF90IG9mZnNldCwgaW50IHdoZW5jZSkKICBUTElfREVGSU5FX0VOVU1fSU5URVJOQUwoZnNlZWtvNjQpCiAgVExJX0RFRklORV9TVFJJTkdfSU5URVJOQUwoImZzZWVrbzY0IikKLUBAIC03MTAsNiArNzE2LDkgQEAgVExJX0RFRklORV9TVFJJTkdfSU5URVJOQUwoImZzZXRwb3MiKQorQEAgLTc4OCw2ICs3OTQsOSBAQCBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgiZnNldHBvcyIpCiAgVExJX0RFRklORV9FTlVNX0lOVEVSTkFMKGZzdGF0KQogIFRMSV9ERUZJTkVfU1RSSU5HX0lOVEVSTkFMKCJmc3RhdCIpCiAgLy8vIGludCBmc3RhdDY0KGludCBmaWxlZGVzLCBzdHJ1Y3Qgc3RhdDY0ICpidWYpCkBAIC00OCw3ICs0Niw3IEBACiAgVExJX0RFRklORV9FTlVNX0lOVEVSTkFMKGZzdGF0NjQpCiAgVExJX0RFRklORV9TVFJJTkdfSU5URVJOQUwoImZzdGF0NjQiKQogIC8vLyBpbnQgZnN0YXR2ZnMoaW50IGZpbGRlcywgc3RydWN0IHN0YXR2ZnMgKmJ1Zik7Ci1AQCAtNzI1LDYgKzczNCw5IEBAIFRMSV9ERUZJTkVfU1RSSU5HX0lOVEVSTkFMKCJmdGVsbCIpCitAQCAtODAzLDYgKzgxMiw5IEBAIFRMSV9ERUZJTkVfU1RSSU5HX0lOVEVSTkFMKCJmdGVsbCIpCiAgVExJX0RFRklORV9FTlVNX0lOVEVSTkFMKGZ0ZWxsbykKICBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgiZnRlbGxvIikKICAvLy8gb2ZmNjRfdCBmdGVsbG82NChGSUxFICpzdHJlYW0pCkBAIC01OCw3ICs1Niw3IEBACiAgVExJX0RFRklORV9FTlVNX0lOVEVSTkFMKGZ0ZWxsbzY0KQogIFRMSV9ERUZJTkVfU1RSSU5HX0lOVEVSTkFMKCJmdGVsbG82NCIpCiAgLy8vIGludCBmdHJ5bG9ja2ZpbGUoRklMRSAqZmlsZSk7Ci1AQCAtODQ1LDYgKzg1Nyw5IEBAIFRMSV9ERUZJTkVfU1RSSU5HX0lOVEVSTkFMKCJsb2dsIikKK0BAIC05MjksNiArOTQxLDkgQEAgVExJX0RFRklORV9TVFJJTkdfSU5URVJOQUwoImxvZ2wiKQogIFRMSV9ERUZJTkVfRU5VTV9JTlRFUk5BTChsc3RhdCkKICBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgibHN0YXQiKQogIC8vLyBpbnQgbHN0YXQ2NChjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdDY0ICpidWYpOwpAQCAtNjgsNyArNjYsNyBAQAogIFRMSV9ERUZJTkVfRU5VTV9JTlRFUk5BTChsc3RhdDY0KQogIFRMSV9ERUZJTkVfU1RSSU5HX0lOVEVSTkFMKCJsc3RhdDY0IikKICAvLy8gdm9pZCAqbWFsbG9jKHNpemVfdCBzaXplKTsKLUBAIC0xMDY0LDYgKzEwNzksOSBAQCBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgic3NjYW5mIikKK0BAIC0xMTU0LDYgKzExNjksOSBAQCBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgic3NjYW5mIikKICBUTElfREVGSU5FX0VOVU1fSU5URVJOQUwoc3RhdCkKICBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgic3RhdCIpCiAgLy8vIGludCBzdGF0NjQoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0YXQ2NCAqYnVmKTsKQEAgLTc4LDcgKzc2LDcgQEAKICBUTElfREVGSU5FX0VOVU1fSU5URVJOQUwoc3RhdDY0KQogIFRMSV9ERUZJTkVfU1RSSU5HX0lOVEVSTkFMKCJzdGF0NjQiKQogIC8vLyBpbnQgc3RhdHZmcyhjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdHZmcyAqYnVmKTsKLUBAIC0xMTkzLDYgKzEyMTEsOSBAQCBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgidGltZXMiKQorQEAgLTEyODMsNiArMTMwMSw5IEBAIFRMSV9ERUZJTkVfU1RSSU5HX0lOVEVSTkFMKCJ0aW1lcyIpCiAgVExJX0RFRklORV9FTlVNX0lOVEVSTkFMKHRtcGZpbGUpCiAgVExJX0RFRklORV9TVFJJTkdfSU5URVJOQUwoInRtcGZpbGUiKQogIC8vLyBGSUxFICp0bXBmaWxlNjQodm9pZCkKQEAgLTg5LDUgKzg3LDUgQEAKICBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgidG1wZmlsZTY0IikKICAvLy8gaW50IHRvYXNjaWkoaW50IGMpOwogLS0gCi0yLjE2LjEKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9sbHZtL2xsdm0vMDAwMi1sbHZtLWFsbG93LWVudi1vdmVycmlkZS1vZi1leGUtcGF0aC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xsdm0vbGx2bS8wMDAyLWxsdm0tYWxsb3ctZW52LW92ZXJyaWRlLW9mLWV4ZS1wYXRoLnBhdGNoCmluZGV4IDZhOTI4MzMuLjEzNjliY2YgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xsdm0vbGx2bS8wMDAyLWxsdm0tYWxsb3ctZW52LW92ZXJyaWRlLW9mLWV4ZS1wYXRoLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xsdm0vbGx2bS8wMDAyLWxsdm0tYWxsb3ctZW52LW92ZXJyaWRlLW9mLWV4ZS1wYXRoLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBhZWNjZjE2ZWFjY2RkODBlNGQ1ZWNhYTUxNjczY2U0YjJiYWMxMTMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAwNTcwZmUwMmMwNzI0NGE4NzI0YzFlNmMwNDM3Zjg5M2M4YWE4ZTkzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogTWFydGluIEtlbGx5IDxta2VsbHlAeGV2by5jb20+CiBEYXRlOiBGcmksIDE5IE1heSAyMDE3IDAwOjIyOjU3IC0wNzAwCiBTdWJqZWN0OiBbUEFUQ0ggMi8yXSBsbHZtOiBhbGxvdyBlbnYgb3ZlcnJpZGUgb2YgZXhlIHBhdGgKQEAgLTE2LDE2ICsxNiwxNiBAQAogU2lnbmVkLW9mZi1ieTogTWFydGluIEtlbGx5IDxta2VsbHlAeGV2by5jb20+CiBTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogLS0tCi0gdG9vbHMvbGx2bS1jb25maWcvbGx2bS1jb25maWcuY3BwIHwgMTcgKysrKysrKysrKysrKysrKy0KLSAxIGZpbGUgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorIHRvb2xzL2xsdm0tY29uZmlnL2xsdm0tY29uZmlnLmNwcCB8IDM1ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS90b29scy9sbHZtLWNvbmZpZy9sbHZtLWNvbmZpZy5jcHAgYi90b29scy9sbHZtLWNvbmZpZy9sbHZtLWNvbmZpZy5jcHAKLWluZGV4IDA4YjA5NmFmYjA1Li4zNjBjYzVhYmY0ZSAxMDA2NDQKK2luZGV4IGJlYzg5ZmVmOThjLi45MWI0ZDZlNGM0MyAxMDA2NDQKIC0tLSBhL3Rvb2xzL2xsdm0tY29uZmlnL2xsdm0tY29uZmlnLmNwcAogKysrIGIvdG9vbHMvbGx2bS1jb25maWcvbGx2bS1jb25maWcuY3BwCi1AQCAtMjI1LDYgKzIyNSwxMyBAQCBUeXBpY2FsIGNvbXBvbmVudHM6XG5cCitAQCAtMjI2LDYgKzIyNiwxMyBAQCBUeXBpY2FsIGNvbXBvbmVudHM6XG5cCiAgCi0gLy8vIFxicmllZiBDb21wdXRlIHRoZSBwYXRoIHRvIHRoZSBtYWluIGV4ZWN1dGFibGUuCisgLy8vIENvbXB1dGUgdGhlIHBhdGggdG8gdGhlIG1haW4gZXhlY3V0YWJsZS4KICBzdGQ6OnN0cmluZyBHZXRFeGVjdXRhYmxlUGF0aChjb25zdCBjaGFyICpBcmd2MCkgewogKyAgLy8gSGFjayBmb3IgWW9jdG86IHdlIG5lZWQgdG8gb3ZlcnJpZGUgdGhlIHJvb3QgcGF0aCB3aGVuIHdlIGFyZSB1c2luZwogKyAgLy8gbGx2bS1jb25maWcgZnJvbSB3aXRoaW4gYSB0YXJnZXQgc3lzcm9vdC4KQEAgLTM3LDcgKzM3LDI1IEBACiAgICAvLyBUaGlzIGp1c3QgbmVlZHMgdG8gYmUgc29tZSBzeW1ib2wgaW4gdGhlIGJpbmFyeTsgQysrIGRvZXNuJ3QKICAgIC8vIGFsbG93IHRha2luZyB0aGUgYWRkcmVzcyBvZiA6Om1haW4gaG93ZXZlci4KICAgIHZvaWQgKlAgPSAodm9pZCAqKShpbnRwdHJfdClHZXRFeGVjdXRhYmxlUGF0aDsKLUBAIC0zMDYsMTIgKzMxMywyMCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKK0BAIC0yODQsNyArMjkxLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CisgICAvLyBiaW4gZGlyKS4KKyAgIHN5czo6ZnM6Om1ha2VfYWJzb2x1dGUoQ3VycmVudFBhdGgpOworICAgQ3VycmVudEV4ZWNQcmVmaXggPQorLSAgICAgIHN5czo6cGF0aDo6cGFyZW50X3BhdGgoc3lzOjpwYXRoOjpwYXJlbnRfcGF0aChDdXJyZW50UGF0aCkpLnN0cigpOworKyAgICAgIHN5czo6cGF0aDo6cGFyZW50X3BhdGgoc3lzOjpwYXRoOjpwYXJlbnRfcGF0aChzeXM6OnBhdGg6OnBhcmVudF9wYXRoKEN1cnJlbnRQYXRoKSkpLnN0cigpOworIAorICAgLy8gQ2hlY2sgdG8gc2VlIGlmIHdlIGFyZSBpbnNpZGUgYSBkZXZlbG9wbWVudCB0cmVlIGJ5IGNvbXBhcmluZyB0byBwb3NzaWJsZQorICAgLy8gbG9jYXRpb25zIChwcmVmaXggc3R5bGUgb3IgQ01ha2Ugc3R5bGUpLgorQEAgLTI5Myw3ICszMDAsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAgICAgRGV2ZWxvcG1lbnRUcmVlTGF5b3V0ID0gQ01ha2VTdHlsZTsKKyAgICAgQWN0aXZlT2JqUm9vdCA9IExMVk1fT0JKX1JPT1Q7CisgICB9IGVsc2UgaWYgKHN5czo6ZnM6OmVxdWl2YWxlbnQoQ3VycmVudEV4ZWNQcmVmaXgsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHdpbmUoTExWTV9PQkpfUk9PVCkgKyAiL2JpbiIpKSB7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHdpbmUoTExWTV9PQkpfUk9PVCkgKyAiL2Jpbi9sbHZtOC4wLjAiKSkgeworICAgICBJc0luRGV2ZWxvcG1lbnRUcmVlID0gdHJ1ZTsKKyAgICAgRGV2ZWxvcG1lbnRUcmVlTGF5b3V0ID0gQ01ha2VCdWlsZE1vZGVTdHlsZTsKKyAgICAgQWN0aXZlT2JqUm9vdCA9IExMVk1fT0JKX1JPT1Q7CitAQCAtMzA3LDM3ICszMTQsNDUgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgICBzdGQ6OnN0cmluZyBBY3RpdmVQcmVmaXgsIEFjdGl2ZUJpbkRpciwgQWN0aXZlSW5jbHVkZURpciwgQWN0aXZlTGliRGlyLAogICAgICAgICAgICAgICAgQWN0aXZlQ01ha2VEaXI7CiAgICBzdGQ6OnN0cmluZyBBY3RpdmVJbmNsdWRlT3B0aW9uOwpAQCAtNDUsMTEgKzYzLDEyIEBACiArICAvLyBsbHZtLWNvbmZpZyBmcm9tIHdpdGhpbiBhIHRhcmdldCBzeXNyb290LgogKyAgc3RkOjpzdHJpbmcgTXVsdGlsaWJkaXIgPSBzdGQ6OmdldGVudigiWU9DVE9fQUxURVJOQVRFX01VTFRJTElCX05BTUUiKTsKICsgIGlmIChNdWx0aWxpYmRpci5lbXB0eSgpKSB7Ci0rICAgIE11bHRpbGliZGlyID0gIi9saWIiIExMVk1fTElCRElSX1NVRkZJWDsKKysgICAgTXVsdGlsaWJkaXIgPSAiL2xpYi9sbHZtOC4wLjAiIExMVk1fTElCRElSX1NVRkZJWDsKICsgIH0KICsKICAgIGlmIChJc0luRGV2ZWxvcG1lbnRUcmVlKSB7Ci0gICAgIEFjdGl2ZUluY2x1ZGVEaXIgPSBzdGQ6OnN0cmluZyhMTFZNX1NSQ19ST09UKSArICIvaW5jbHVkZSI7CistICAgIEFjdGl2ZUluY2x1ZGVEaXIgPSBzdGQ6OnN0cmluZyhMTFZNX1NSQ19ST09UKSArICIvaW5jbHVkZSI7CisrICAgIEFjdGl2ZUluY2x1ZGVEaXIgPSBzdGQ6OnN0cmluZyhMTFZNX1NSQ19ST09UKSArICIvaW5jbHVkZS9sbHZtOC4wLjAiOwogICAgICBBY3RpdmVQcmVmaXggPSBDdXJyZW50RXhlY1ByZWZpeDsKICAKICAgICAgLy8gQ01ha2Ugb3JnYW5pemVzIHRoZSBwcm9kdWN0cyBkaWZmZXJlbnRseSB0aGFuIGEgbm9ybWFsIHByZWZpeCBzdHlsZQpAQCAtNTcsOCArNzYsMzEgQEAKICsKICAgICAgc3dpdGNoIChEZXZlbG9wbWVudFRyZWVMYXlvdXQpIHsKICAgICAgY2FzZSBDTWFrZVN0eWxlOgotICAgICAgIEFjdGl2ZUJpbkRpciA9IEFjdGl2ZU9ialJvb3QgKyAiL2JpbiI7Ci1AQCAtMzM2LDcgKzM1MSw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworLSAgICAgIEFjdGl2ZUJpbkRpciA9IEFjdGl2ZU9ialJvb3QgKyAiL2JpbiI7CistICAgICAgQWN0aXZlTGliRGlyID0gQWN0aXZlT2JqUm9vdCArICIvbGliIiArIExMVk1fTElCRElSX1NVRkZJWDsKKysgICAgICBBY3RpdmVCaW5EaXIgPSBBY3RpdmVPYmpSb290ICsgIi9iaW4vbGx2bTguMC4wIjsKKysgICAgICBBY3RpdmVMaWJEaXIgPSBBY3RpdmVPYmpSb290ICsgIi9saWIvbGx2bTguMC4wIiArIExMVk1fTElCRElSX1NVRkZJWDsKKyAgICAgICBBY3RpdmVDTWFrZURpciA9IEFjdGl2ZUxpYkRpciArICIvY21ha2UvbGx2bSI7CisgICAgICAgYnJlYWs7CisgICAgIGNhc2UgQ01ha2VCdWlsZE1vZGVTdHlsZToKKyAgICAgICBBY3RpdmVQcmVmaXggPSBBY3RpdmVPYmpSb290OworLSAgICAgIEFjdGl2ZUJpbkRpciA9IEFjdGl2ZU9ialJvb3QgKyAiL2Jpbi8iICsgYnVpbGRfbW9kZTsKKysgICAgICBBY3RpdmVCaW5EaXIgPSBBY3RpdmVPYmpSb290ICsgIi9iaW4vbGx2bTguMC4wLyIgKyBidWlsZF9tb2RlOworICAgICAgIEFjdGl2ZUxpYkRpciA9CistICAgICAgICAgIEFjdGl2ZU9ialJvb3QgKyAiL2xpYiIgKyBMTFZNX0xJQkRJUl9TVUZGSVggKyAiLyIgKyBidWlsZF9tb2RlOworKyAgICAgICAgICBBY3RpdmVPYmpSb290ICsgIi9saWIvbGx2bTguMC4wIiArIExMVk1fTElCRElSX1NVRkZJWCArICIvIiArIGJ1aWxkX21vZGU7CisgICAgICAgQWN0aXZlQ01ha2VEaXIgPSBBY3RpdmVMaWJEaXIgKyAiL2NtYWtlL2xsdm0iOworICAgICAgIGJyZWFrOworICAgICB9CisgCisgICAgIC8vIFdlIG5lZWQgdG8gaW5jbHVkZSBmaWxlcyBmcm9tIGJvdGggdGhlIHNvdXJjZSBhbmQgb2JqZWN0IHRyZWVzLgorICAgICBBY3RpdmVJbmNsdWRlT3B0aW9uID0KKy0gICAgICAgICgiLUkiICsgQWN0aXZlSW5jbHVkZURpciArICIgIiArICItSSIgKyBBY3RpdmVPYmpSb290ICsgIi9pbmNsdWRlIik7CisrICAgICAgICAoIi1JIiArIEFjdGl2ZUluY2x1ZGVEaXIgKyAiICIgKyAiLUkiICsgQWN0aXZlT2JqUm9vdCArICIvaW5jbHVkZS9sbHZtOC4wLjAiKTsKKyAgIH0gZWxzZSB7CisgICAgIEFjdGl2ZVByZWZpeCA9IEN1cnJlbnRFeGVjUHJlZml4OworLSAgICBBY3RpdmVJbmNsdWRlRGlyID0gQWN0aXZlUHJlZml4ICsgIi9pbmNsdWRlIjsKKysgICAgQWN0aXZlSW5jbHVkZURpciA9IEFjdGl2ZVByZWZpeCArICIvaW5jbHVkZS9sbHZtOC4wLjAiOwogICAgICBTbWFsbFN0cmluZzwyNTY+IHBhdGgoU3RyaW5nUmVmKExMVk1fVE9PTFNfSU5TVEFMTF9ESVIpKTsKICAgICAgc3lzOjpmczo6bWFrZV9hYnNvbHV0ZShBY3RpdmVQcmVmaXgsIHBhdGgpOwogICAgICBBY3RpdmVCaW5EaXIgPSBwYXRoLnN0cigpOwpAQCAtNjgsNSArMTEwLDUgQEAKICAgICAgQWN0aXZlSW5jbHVkZU9wdGlvbiA9ICItSSIgKyBBY3RpdmVJbmNsdWRlRGlyOwogICAgfQogLS0gCi0yLjE4LjAKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9sbHZtL2xsdm1fZ2l0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGx2bS9sbHZtX2dpdC5iYgppbmRleCA3Mjc4NzYzLi4wMDY3NjM1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9sbHZtL2xsdm1fZ2l0LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xsdm0vbGx2bV9naXQuYmIKQEAgLTYsNDEgKzYsNDYgQEAKIExJQ0VOU0UgPSAiTkNTQSIKIFNFQ1RJT04gPSAiZGV2ZWwiCiAKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UuVFhUO21kNT1lODI1ZTAxN2VkYzM1Y2ZkNThlMjYxMTZlNTI1MTc3MSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UuVFhUO21kNT1jNmI3NjZhNGU4NWRkMjgzMDFlZWVkNTRhNjY4NDY0OCIKIAogREVQRU5EUyA9ICJsaWJmZmkgbGlieG1sMiB6bGliIG5pbmphLW5hdGl2ZSBsbHZtLW5hdGl2ZSIKIAogUkRFUEVORFNfJHtQTn1fYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgbmN1cnNlcy10ZXJtaW5mbyIKIAotaW5oZXJpdCBwZXJsbmF0aXZlIHB5dGhvbm5hdGl2ZSBjbWFrZSBwa2djb25maWcKK2luaGVyaXQgY21ha2UgcGtnY29uZmlnCiAKIFBST1ZJREVTICs9ICJsbHZtJHtQVn0iCiAKIExMVk1fUkVMRUFTRSA9ICIke1BWfSIKIExMVk1fRElSID0gImxsdm0ke0xMVk1fUkVMRUFTRX0iCiAKLVNSQ1JFViA9ICI1MTM2ZGY0ZDA4OWEwODZiNzBkNDUyMTYwYWQ1NDUxODYxMjY5NDk4IgotUFYgPSAiNi4wIgotQlJBTkNIID0gInJlbGVhc2VfNjAiCi1QQVRDSF9WRVJTSU9OID0gIjEiCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbGx2bS1taXJyb3IvbGx2bS5naXQ7YnJhbmNoPSR7QlJBTkNIfTtwcm90b2NvbD1odHRwIFwKK1NSQ1JFViA9ICJkMjI5OGU3NDIzNTU5OGYxNTU5NGZlMmM5OWJiYWM4NzBhNTA3YzU5IgorCitCUkFOQ0ggPSAicmVsZWFzZS8ke01BSk9SX1ZFUlNJT059LngiCitNQUpPUl9WRVJTSU9OID0gIjgiCitNSU5PUl9WRVJTSU9OID0gIjAiCitQQVRDSF9WRVJTSU9OID0gIjAiCitTT0xJQlZFUiA9ICIxIgorUFYgPSAiJHtNQUpPUl9WRVJTSU9OfS4ke01JTk9SX1ZFUlNJT059LiR7UEFUQ0hfVkVSU0lPTn0iCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2plY3QuZ2l0O2JyYW5jaD0ke0JSQU5DSH0gXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1sbHZtLVRhcmdldExpYnJhcnlJbmZvLVVuZGVmaW5lLWxpYmMtZnVuY3Rpb25zLWlmLXRoLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDItbGx2bS1hbGxvdy1lbnYtb3ZlcnJpZGUtb2YtZXhlLXBhdGgucGF0Y2ggXAogICAgICAgICAgICIKLVVQU1RSRUFNX0NIRUNLX0NPTU1JVFMgPSAiMSIKLVMgPSAiJHtXT1JLRElSfS9naXQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQvbGx2bSIKIAogTExWTV9JTlNUQUxMX0RJUiA9ICIke1dPUktESVJ9L2xsdm0taW5zdGFsbCIKKwogZGVmIGdldF9sbHZtX2FyY2goYmIsIGQsIGFyY2hfdmFyKToKICAgICBpbXBvcnQgcmUKICAgICBhID0gZC5nZXRWYXIoYXJjaF92YXIpCi0gICAgaWYgICByZS5tYXRjaCgnKGkuODZ8YXRobG9ufHg4Ni42NCkkJywgYSk6ICAgICAgICAgcmV0dXJuICdYODYnCi0gICAgZWxpZiByZS5tYXRjaCgnYXJtJCcsIGEpOiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdBUk0nCi0gICAgZWxpZiByZS5tYXRjaCgnYXJtZWIkJywgYSk6ICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdBUk0nCi0gICAgZWxpZiByZS5tYXRjaCgnYWFyY2g2NCQnLCBhKTogICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdBQXJjaDY0JwotICAgIGVsaWYgcmUubWF0Y2goJ2FhcmNoNjRfYmUkJywgYSk6ICAgICAgICAgICAgICAgICAgIHJldHVybiAnQUFyY2g2NCcKLSAgICBlbGlmIHJlLm1hdGNoKCdtaXBzKGlzYXwpKDMyfDY0fCkocjZ8KShlbHwpJCcsIGEpOiByZXR1cm4gJ01pcHMnCi0gICAgZWxpZiByZS5tYXRjaCgncChwY3xvd2VycGMpKHw2NCknLCBhKTogICAgICAgICAgICAgcmV0dXJuICdQb3dlclBDJworICAgIGlmICAgcmUubWF0Y2gocicoaS44NnxhdGhsb258eDg2LjY0KSQnLCBhKTogICAgICAgICByZXR1cm4gJ1g4NicKKyAgICBlbGlmIHJlLm1hdGNoKHInYXJtJCcsIGEpOiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdBUk0nCisgICAgZWxpZiByZS5tYXRjaChyJ2FybWViJCcsIGEpOiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnQVJNJworICAgIGVsaWYgcmUubWF0Y2gocidhYXJjaDY0JCcsIGEpOiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ0FBcmNoNjQnCisgICAgZWxpZiByZS5tYXRjaChyJ2FhcmNoNjRfYmUkJywgYSk6ICAgICAgICAgICAgICAgICAgIHJldHVybiAnQUFyY2g2NCcKKyAgICBlbGlmIHJlLm1hdGNoKHInbWlwcyhpc2F8KSgzMnw2NHwpKHI2fCkoZWx8KSQnLCBhKTogcmV0dXJuICdNaXBzJworICAgIGVsaWYgcmUubWF0Y2gocidwKHBjfG93ZXJwYykofDY0KScsIGEpOiAgICAgICAgICAgICByZXR1cm4gJ1Bvd2VyUEMnCiAgICAgZWxzZToKICAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFJlY2lwZSgiQ2Fubm90IG1hcCAnJXMnIHRvIGEgc3VwcG9ydGVkIExMVk0gYXJjaGl0ZWN0dXJlIiAlIGEpCiAKQEAgLTYxLDkgKzY2LDEyIEBACiAgICAgICAgICAgICAgICAgICAtRExMVk1fQklORElOR1NfTElTVD0nJyBcCiAgICAgICAgICAgICAgICAgICAtRExMVk1fTElOS19MTFZNX0RZTElCPU9OIFwKICAgICAgICAgICAgICAgICAgIC1ETExWTV9FTkFCTEVfRkZJPU9OIFwKKyAgICAgICAgICAgICAgICAgIC1ETExWTV9FTkFCTEVfUlRUST1PTiBcCiAgICAgICAgICAgICAgICAgICAtREZGSV9JTkNMVURFX0RJUj0kKHBrZy1jb25maWcgLS12YXJpYWJsZT1pbmNsdWRlZGlyIGxpYmZmaSkgXAogICAgICAgICAgICAgICAgICAgLURMTFZNX09QVElNSVpFRF9UQUJMRUdFTj1PTiBcCiAgICAgICAgICAgICAgICAgICAtRExMVk1fVEFSR0VUU19UT19CVUlMRD0nJHtMTFZNX1RBUkdFVFN9JyBcCisgICAgICAgICAgICAgICAgICAtRExMVk1fVEVNUE9SQVJJTFlfQUxMT1dfT0xEX1RPT0xDSEFJTj1PTiBcCisgICAgICAgICAgICAgICAgICAtRFBZVEhPTl9FWEVDVVRBQkxFPSR7SE9TVFRPT0xTX0RJUn0vcHl0aG9uMiBcCiAgICAgICAgICAgICAgICAgICAtRyBOaW5qYSIKIAogRVhUUkFfT0VDTUFLRV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIlwKQEAgLTc4LDYgKzg2LDggQEAKICAgICAgICAgICAgICAgICAgIC1ETExWTV9DT05GSUdfUEFUSD0ke1NUQUdJTkdfQklORElSX05BVElWRX0vbGx2bS1jb25maWcke1BWfSBcCiAgICAgICAgICAgICAgICAgICIKIAorQ1hYRkxBR1NfYXBwZW5kX2NsYXNzLXRhcmdldF9wb3dlcnBjID0gIiAtbWxvbmdjYWxsIgorCiBkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKICMgRml4IHBhdGhzIGluIGxsdm0tY29uZmlnCiAJc2VkIC1pICJzfHN5czo6cGF0aDo6cGFyZW50X3BhdGgoQ3VycmVudFBhdGgpKVwuc3RyKCl8c3lzOjpwYXRoOjpwYXJlbnRfcGF0aChzeXM6OnBhdGg6OnBhcmVudF9wYXRoKEN1cnJlbnRQYXRoKSkpLnN0cigpfGciICR7U30vdG9vbHMvbGx2bS1jb25maWcvbGx2bS1jb25maWcuY3BwCkBAIC0xMTcsNzEgKzEyNyw1NCBAQAogCSMgUmVtb3ZlIHVubmVjZXNzYXJ5IGNtYWtlIGZpbGVzCiAJcm0gLXJmICR7RH0ke2xpYmRpcn0vJHtMTFZNX0RJUn0vY21ha2UKIAotCWxuIC1zICR7TExWTV9ESVJ9L2xpYkxMVk0tJHtQVn0ke1NPTElCU0RFVn0gJHtEfSR7bGliZGlyfS9saWJMTFZNLSR7UFZ9JHtTT0xJQlNERVZ9CisJbG4gLXMgJHtMTFZNX0RJUn0vbGliTExWTS0ke01BSk9SX1ZFUlNJT059JHtTT0xJQlNERVZ9ICR7RH0ke2xpYmRpcn0vbGliTExWTS0ke01BSk9SX1ZFUlNJT059JHtTT0xJQlNERVZ9CiAKIAkjIFdlJ2xsIGhhdmUgdG8gZGVsZXRlIHRoZSBsaWJMTFZNLnNvIGR1ZSB0byBtdWx0aXBsZSByZWFzb25zLi4uCiAJcm0gLXJmICR7RH0ke2xpYmRpcn0vJHtMTFZNX0RJUn0vbGliTExWTS5zbwogCXJtIC1yZiAke0R9JHtsaWJkaXJ9LyR7TExWTV9ESVJ9L2xpYkxUTy5zbwogfQorCiBkb19pbnN0YWxsX2NsYXNzLW5hdGl2ZSgpIHsKIAlpbnN0YWxsIC1EIC1tIDA3NTUgJHtCfS9iaW4vbGx2bS10YmxnZW4gJHtEfSR7YmluZGlyfS9sbHZtLXRibGdlbiR7UFZ9CiAJaW5zdGFsbCAtRCAtbSAwNzU1ICR7Qn0vYmluL2xsdm0tY29uZmlnICR7RH0ke2JpbmRpcn0vbGx2bS1jb25maWcke1BWfQotCWluc3RhbGwgLUQgLW0gMDc1NSAke0J9L2xpYi9saWJMTFZNLSR7UFZ9LnNvICR7RH0ke2xpYmRpcn0vbGliTExWTS0ke1BWfS5zbworCWluc3RhbGwgLUQgLW0gMDc1NSAke0J9L2xpYi9saWJMTFZNLSR7TUFKT1JfVkVSU0lPTn0uc28gJHtEfSR7bGliZGlyfS9saWJMTFZNLSR7TUFKT1JfVkVSU0lPTn0uc28KIH0KIAotUEFDS0FHRVMgKz0gIiR7UE59LWJ1Z3BvaW50cGFzc2VzICR7UE59LWxsdm1oZWxsbyIKLUFMTE9XX0VNUFRZXyR7UE59ID0gIjEiCi1BTExPV19FTVBUWV8ke1BOfS1zdGF0aWNkZXYgPSAiMSIKLUZJTEVTXyR7UE59ID0gIiIKLUZJTEVTXyR7UE59LXN0YXRpY2RldiA9ICIiCi1GSUxFU18ke1BOfS1kYmcgPSAiIFwKLSAgICAke2JpbmRpcn0vJHtMTFZNX0RJUn0vLmRlYnVnIFwKLSAgICAke2xpYmRpcn0vJHtMTFZNX0RJUn0vLmRlYnVnL0J1Z3BvaW50UGFzc2VzLnNvIFwKLSAgICAke2xpYmRpcn0vJHtMTFZNX0RJUn0vLmRlYnVnL0xMVk1IZWxsby5zbyBcCi0gICAgJHtsaWJkaXJ9LyR7TExWTV9ESVJ9Ly5kZWJ1Zy9saWJMVE8uc28qIFwKLSAgICAke2xpYmRpcn0vJHtMTFZNX0RJUn0vLmRlYnVnL2xsdm0tY29uZmlnIFwKLSAgICAvdXNyL3NyYy9kZWJ1ZyBcCi0iCitQQUNLQUdFUyA9KyAiJHtQTn0tYnVncG9pbnRwYXNzZXMgJHtQTn0tbGx2bWhlbGxvICR7UE59LWxpYmxsdm0gJHtQTn0tbGlib3B0cmVtYXJrcyAke1BOfS1saWJsdG8iCiAKLUZJTEVTXyR7UE59LWRldiA9ICIgXAotICAgICR7YmluZGlyfS8ke0xMVk1fRElSfSBcCi0gICAgJHtpbmNsdWRlZGlyfS8ke0xMVk1fRElSfSBcCi0gICAgJHtsaWJkaXJ9LyR7TExWTV9ESVJ9L2xsdm0tY29uZmlnIFwKLSIKLQotUlJFQ09NTUVORFNfJHtQTn0tZGV2ICs9ICIke1BOfS1idWdwb2ludHBhc3NlcyAke1BOfS1sbHZtaGVsbG8iCitSUkVDT01NRU5EU18ke1BOfS1kZXYgKz0gIiR7UE59LWJ1Z3BvaW50cGFzc2VzICR7UE59LWxsdm1oZWxsbyAke1BOfS1saWJvcHRyZW1hcmtzIgogCiBGSUxFU18ke1BOfS1idWdwb2ludHBhc3NlcyA9ICJcCiAgICAgJHtsaWJkaXJ9LyR7TExWTV9ESVJ9L0J1Z3BvaW50UGFzc2VzLnNvIFwKICIKLUZJTEVTXyR7UE59ICs9ICJcCisKK0ZJTEVTXyR7UE59LWxpYmxsdm0gPSAiXAorICAgICR7bGliZGlyfS8ke0xMVk1fRElSfS9saWJMTFZNLSR7TUFKT1JfVkVSU0lPTn0uc28gXAorICAgICR7bGliZGlyfS9saWJMTFZNLSR7TUFKT1JfVkVSU0lPTn0uc28gXAorIgorCitGSUxFU18ke1BOfS1saWJsdG8gKz0gIlwKICAgICAke2xpYmRpcn0vJHtMTFZNX0RJUn0vbGliTFRPLnNvLiogXAogIgogCitGSUxFU18ke1BOfS1saWJvcHRyZW1hcmtzICs9ICJcCisgICAgJHtsaWJkaXJ9LyR7TExWTV9ESVJ9L2xpYk9wdFJlbWFya3Muc28uKiBcCisiCisKIEZJTEVTXyR7UE59LWxsdm1oZWxsbyA9ICJcCiAgICAgJHtsaWJkaXJ9LyR7TExWTV9ESVJ9L0xMVk1IZWxsby5zbyBcCiAiCiAKLVBBQ0tBR0VTX0RZTkFNSUMgPSAiXmxpYmxsdm0ke0xMVk1fUkVMRUFTRX0tLiokIgotTk9BVVRPUEFDS0FHRURFQlVHID0gIjEiCitGSUxFU18ke1BOfS1kZXYgKz0gIiBcCisgICAgJHtsaWJkaXJ9LyR7TExWTV9ESVJ9L2xsdm0tY29uZmlnIFwKKyAgICAke2xpYmRpcn0vJHtMTFZNX0RJUn0vbGliT3B0UmVtYXJrcy5zbyBcCisgICAgJHtsaWJkaXJ9LyR7TExWTV9ESVJ9L2xpYkxMVk0tJHtNQUpPUl9WRVJTSU9OfS4ke01JTk9SX1ZFUlNJT059LiR7UEFUQ0hfVkVSU0lPTn0uc28gXAorIgogCi1JTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmxsdm0ke0xMVk1fUkVMRUFTRX0tbGx2bS0ke0xMVk1fUkVMRUFTRX0uJHtQQVRDSF9WRVJTSU9OfSArPSAiZGV2LXNvIgotSU5TQU5FX1NLSVBfJHtNTFBSRUZJWH1saWJsbHZtJHtMTFZNX1JFTEVBU0V9LWxsdm0tJHtMTFZNX1JFTEVBU0V9ICs9ICJkZXYtc28iCi1JTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmxsdm0ke0xMVk1fUkVMRUFTRX0tbGx2bSArPSAiZGV2LXNvIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICJcCisgICAgJHtsaWJkaXJ9LyR7TExWTV9ESVJ9LyouYSBcCisiCiAKLXB5dGhvbiBsbHZtX3BvcHVsYXRlX3BhY2thZ2VzKCkgewotICAgIGxpYmRpciA9IGJiLmRhdGEuZXhwYW5kKCcke2xpYmRpcn0nLCBkKQotICAgIGxpYmxsdm1fbGliZGlyID0gYmIuZGF0YS5leHBhbmQoJyR7bGliZGlyfS8ke0xMVk1fRElSfScsIGQpCi0gICAgc3BsaXRfZGJnX3BhY2thZ2VzID0gZG9fc3BsaXRfcGFja2FnZXMoZCwgbGlibGx2bV9saWJkaXIrJy8uZGVidWcnLCAnXmxpYiguKilcLnNvJCcsICdsaWJsbHZtJHtMTFZNX1JFTEVBU0V9LSVzLWRiZycsICdTcGxpdCBkZWJ1ZyBwYWNrYWdlIGZvciAlcycsIGFsbG93X2RpcnM9VHJ1ZSkKLSAgICBzcGxpdF9wYWNrYWdlcyA9IGRvX3NwbGl0X3BhY2thZ2VzKGQsIGxpYmRpciwgJ15saWIoLiopXC5zbyQnLCAnbGlibGx2bSR7TExWTV9SRUxFQVNFfS0lcycsICdTcGxpdCBwYWNrYWdlIGZvciAlcycsIGFsbG93X2RpcnM9VHJ1ZSwgYWxsb3dfbGlua3M9VHJ1ZSwgcmVjdXJzaXZlPVRydWUpCi0gICAgc3BsaXRfc3RhdGljZGV2X3BhY2thZ2VzID0gZG9fc3BsaXRfcGFja2FnZXMoZCwgbGlibGx2bV9saWJkaXIsICdebGliKC4qKVwuYSQnLCAnbGlibGx2bSR7TExWTV9SRUxFQVNFfS0lcy1zdGF0aWNkZXYnLCAnU3BsaXQgc3RhdGljZGV2IHBhY2thZ2UgZm9yICVzJywgYWxsb3dfZGlycz1UcnVlKQotICAgIGlmIHNwbGl0X3BhY2thZ2VzOgotICAgICAgICBwbiA9IGQuZ2V0VmFyKCdQTicpCi0gICAgICAgIGQuYXBwZW5kVmFyKCdSREVQRU5EU18nICsgcG4sICcgJysnICcuam9pbihzcGxpdF9wYWNrYWdlcykpCi0gICAgICAgIGQuYXBwZW5kVmFyKCdSREVQRU5EU18nICsgcG4gKyAnLWRiZycsICcgJysnICcuam9pbihzcGxpdF9kYmdfcGFja2FnZXMpKQotICAgICAgICBkLmFwcGVuZFZhcignUkRFUEVORFNfJyArIHBuICsgJy1zdGF0aWNkZXYnLCAnICcrJyAnLmpvaW4oc3BsaXRfc3RhdGljZGV2X3BhY2thZ2VzKSkKLX0KLQotUEFDS0FHRVNQTElURlVOQ1NfcHJlcGVuZCA9ICJsbHZtX3BvcHVsYXRlX3BhY2thZ2VzICIKK0lOU0FORV9TS0lQXyR7UE59LWxpYmxsdm0gKz0gImRldi1zbyIKIAogQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24uaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24uaW5jCmluZGV4IDYxYjIzOTEuLjJkMThmNzIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi5pbmMKQEAgLTksMTcgKzksMjAgQEAKICAgICAgICAgICAgZmlsZTovLzAwMDItZ29iamVjdC1pbnRyb3NwZWN0aW9uLWRldGVybWluZS1nLWlyLXNjYW5uZXItYW5kLWctaS5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLUxpbmtlci1ydWxlcy1tb3ZlLWNyb3NzX2FyZ3MtaW4tZnJvbnQtb2Ytb3V0cHV0X2FyZ3MucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMy1uYXRpdmVfYmluZGlyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2dpLWZsYWdzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2d0a2RvYy1mbGFncy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLXB5dGhvbi1tb2R1bGUtZG8tbm90LW1hbmlwdWxhdGUtdGhlLWVudmlyb25tZW50LXdoZW4ucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vZGlzYWJsZS1ycGF0aC1oYW5kbGluZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW1vZHVsZXMtd2luZG93cy1zcGxpdC1XSU5EUkVTLWVudi12YXJpYWJsZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLWVudmlyb25tZW50LnB5LWRldGVjdC13aW5kb3dzLWFsc28taWYtdGhlLXN5c3RlbS1zdHIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vY3Jvc3MtcHJvcC1kZWZhdWx0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL21hbnktY3Jvc3MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vY3Jvc3MtbGliZGlyLnBhdGNoIFwKICAgICAgICAgICAgIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjkyZDhhZmQ5MjE3NTEyNjFlMzYxNTE2NDM0NjRlZmQzMzk0MTYyZjY5ZWZiZThjZDUzZTBhNjZiMWNmMzk1ZWIiCi1TUkNfVVJJW21kNXN1bV0gPSAiMzFiZGEzNTE5ZDhjMGViMzQzODI2NzI2OGE3ODA4NWUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZWY5ZjE0MzI2ZWMxZTMwZDNiYTFhMjZkZjBmOTI4MjZlZGU1YTc5MjU1YWQ3MjNhZjc4YTI2OTFjMzcxMDlmZCIKK1NSQ19VUklbbWQ1c3VtXSA9ICIwMjY3YjA4NzEyNjYwNTYxODRjNDg0NzkyNTcyYzY4MiIKIAogU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBcCi0gICAgZmlsZTovLzAwMDItTWFrZS1DUFUtZmFtaWx5LXdhcm5pbmdzLWZhdGFsLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMS1TdXBwb3J0LWJ1aWxkaW5nLWFsbGFyY2gtcmVjaXBlcy1hZ2Fpbi5wYXRjaCBcCisgICAgZmlsZTovLzAwMDEtTWFrZS1DUFUtZmFtaWx5LXdhcm5pbmdzLWZhdGFsLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMi1TdXBwb3J0LWJ1aWxkaW5nLWFsbGFyY2gtcmVjaXBlcy1hZ2Fpbi5wYXRjaCBcCiAiCiAKIFVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vbWVzb25idWlsZC9tZXNvbi9yZWxlYXNlcyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDEtTWFrZS1DUFUtZmFtaWx5LXdhcm5pbmdzLWZhdGFsLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vMDAwMS1NYWtlLUNQVS1mYW1pbHktd2FybmluZ3MtZmF0YWwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmJjM2Y1YQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDEtTWFrZS1DUFUtZmFtaWx5LXdhcm5pbmdzLWZhdGFsLnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gMmRiODI5ZDg2NWJiNjQ2NGFjMTVkYmI0YTU4YzlhNjc1ZTI5Njg2NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CitEYXRlOiBUdWUsIDMgSnVsIDIwMTggMTM6NTk6MDkgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gTWFrZSBDUFUgZmFtaWx5IHdhcm5pbmdzIGZhdGFsCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0Ugc3BlY2lmaWNdCitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCistLS0KKyBtZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5IHwgNiArKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbWVzb25idWlsZC9lbnZpcm9ubWVudC5weSBiL21lc29uYnVpbGQvZW52aXJvbm1lbnQucHkKK2luZGV4IDJjY2QzMWUuLjVmY2Y5ZGYgMTAwNjQ0CistLS0gYS9tZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5CisrKysgYi9tZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5CitAQCAtMjY1LDkgKzI2NSw3IEBAIGRlZiBkZXRlY3RfY3B1X2ZhbWlseShjb21waWxlcnMpOgorICAgICAjIGJlbG93LgorIAorICAgICBpZiB0cmlhbCBub3QgaW4ga25vd25fY3B1X2ZhbWlsaWVzOgorLSAgICAgICAgbWxvZy53YXJuaW5nKCdVbmtub3duIENQVSBmYW1pbHkgeyFyfSwgcGxlYXNlIHJlcG9ydCB0aGlzIGF0ICcKKy0gICAgICAgICAgICAgICAgICAgICAnaHR0cHM6Ly9naXRodWIuY29tL21lc29uYnVpbGQvbWVzb24vaXNzdWVzL25ldyB3aXRoIHRoZScKKy0gICAgICAgICAgICAgICAgICAgICAnb3V0cHV0IG9mIGB1bmFtZSAtYWAgYW5kIGBjYXQgL3Byb2MvY3B1aW5mb2AnLmZvcm1hdCh0cmlhbCkpCisrICAgICAgICByYWlzZSBFbnZpcm9ubWVudEV4Y2VwdGlvbignVW5rbm93biBDUFUgZmFtaWx5ICVzLCBzZWUgaHR0cHM6Ly93aWtpLnlvY3RvcHJvamVjdC5vcmcvd2lraS9NZXNvbi9Vbmtub3duQ1BVIGZvciBkaXJlY3Rpb25zLicgJSB0cmlhbCkKKyAKKyAgICAgcmV0dXJuIHRyaWFsCisgCitAQCAtMTIzMiw3ICsxMjMwLDcgQEAgY2xhc3MgTWFjaGluZUluZm86CisgCisgICAgICAgICBjcHVfZmFtaWx5ID0gbGl0ZXJhbFsnY3B1X2ZhbWlseSddCisgICAgICAgICBpZiBjcHVfZmFtaWx5IG5vdCBpbiBrbm93bl9jcHVfZmFtaWxpZXM6CistICAgICAgICAgICAgbWxvZy53YXJuaW5nKCdVbmtub3duIENQVSBmYW1pbHkgJXMsIHBsZWFzZSByZXBvcnQgdGhpcyBhdCBodHRwczovL2dpdGh1Yi5jb20vbWVzb25idWlsZC9tZXNvbi9pc3N1ZXMvbmV3JyAlIGNwdV9mYW1pbHkpCisrICAgICAgICAgICAgcmFpc2UgRW52aXJvbm1lbnRFeGNlcHRpb24oJ1Vua25vd24gQ1BVIGZhbWlseSAlcywgc2VlIGh0dHBzOi8vd2lraS55b2N0b3Byb2plY3Qub3JnL3dpa2kvTWVzb24vVW5rbm93bkNQVSBmb3IgZGlyZWN0aW9ucy4nICUgY3B1X2ZhbWlseSkKKyAKKyAgICAgICAgIGVuZGlhbiA9IGxpdGVyYWxbJ2VuZGlhbiddCisgICAgICAgICBpZiBlbmRpYW4gbm90IGluICgnbGl0dGxlJywgJ2JpZycpOgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vMDAwMS1TdXBwb3J0LWJ1aWxkaW5nLWFsbGFyY2gtcmVjaXBlcy1hZ2Fpbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDEtU3VwcG9ydC1idWlsZGluZy1hbGxhcmNoLXJlY2lwZXMtYWdhaW4ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk2YmUxMDQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vMDAwMS1TdXBwb3J0LWJ1aWxkaW5nLWFsbGFyY2gtcmVjaXBlcy1hZ2Fpbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLUZyb20gZDgwZDAyYTNjYTZlMjFmYTNkMDU1Yzg4YzA1MjM0YzJlYjRkYjEyOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgotRGF0ZTogVGh1LCAyNiBKdWwgMjAxOCAxNjozMjo0OSArMDIwMAotU3ViamVjdDogW1BBVENIXSBTdXBwb3J0IGJ1aWxkaW5nIGFsbGFyY2ggcmVjaXBlcyBhZ2FpbgotCi1UaGlzIHJlZ2lzdGVycyAiYWxsYXJjaCIgYXMgYSBrbm93biBDUFUgZmFtaWx5LgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIHNwZWNpZmljXQotU2lnbmVkLW9mZi1ieTogUGV0ZXIgS2plbGxlcnN0ZWR0IDxwZXRlci5ramVsbGVyc3RlZHRAYXhpcy5jb20+Ci0tLS0KLSBtZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5IHwgMSArCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCi0KLUluZGV4OiBtZXNvbi0wLjQ3LjIvbWVzb25idWlsZC9lbnZpcm9ubWVudC5weQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIG1lc29uLTAuNDcuMi5vcmlnL21lc29uYnVpbGQvZW52aXJvbm1lbnQucHkKLSsrKyBtZXNvbi0wLjQ3LjIvbWVzb25idWlsZC9lbnZpcm9ubWVudC5weQotQEAgLTc1LDYgKzc1LDcgQEAgZnJvbSAuY29tcGlsZXJzIGltcG9ydCAoCi0gYnVpbGRfZmlsZW5hbWUgPSAnbWVzb24uYnVpbGQnCi0gCi0ga25vd25fY3B1X2ZhbWlsaWVzID0gKAotKyAgICAnYWxsYXJjaCcsCi0gICAgICdhYXJjaDY0JywKLSAgICAgJ2FybScsCi0gICAgICdlMmsnLApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vMDAwMS1ndGtkb2MtZml4LWlzc3Vlcy10aGF0LWFyaXNlLXdoZW4tY3Jvc3MtY29tcGlsaW5nLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vMDAwMS1ndGtkb2MtZml4LWlzc3Vlcy10aGF0LWFyaXNlLXdoZW4tY3Jvc3MtY29tcGlsaW5nLnBhdGNoCmluZGV4IDdmZmQ2YzUuLjExZmQ5ZWQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDEtZ3RrZG9jLWZpeC1pc3N1ZXMtdGhhdC1hcmlzZS13aGVuLWNyb3NzLWNvbXBpbGluZy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi8wMDAxLWd0a2RvYy1maXgtaXNzdWVzLXRoYXQtYXJpc2Utd2hlbi1jcm9zcy1jb21waWxpbmcucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDNhYzRlNThjNTQ5NGJkN2U2MDNhMzI1YjViNWMyYjgwNzU4NDlmZWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDFhZmJmNWNjZmY1NmU1ODIyMjljOGY2NzNmNTBhZWRmMmIyNDExN2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KIERhdGU6IEZyaSwgNCBBdWcgMjAxNyAxNjoxNjo0MSArMDMwMAogU3ViamVjdDogW1BBVENIXSBndGtkb2M6IGZpeCBpc3N1ZXMgdGhhdCBhcmlzZSB3aGVuIGNyb3NzLWNvbXBpbGluZwpAQCAtMTYsNzAgKzE2LDIxIEBACiBTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KIAogLS0tCi0gbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5ICAgICAgICB8IDE4ICsrKysrKysrKysrKysrKy0tLQotIG1lc29uYnVpbGQvc2NyaXB0cy9ndGtkb2NoZWxwZXIucHkgfCAgOSArKysrKysrLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisgbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5IHwgNCArKysrCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQogCiBkaWZmIC0tZ2l0IGEvbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5IGIvbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5Ci1pbmRleCBjYjY5NjQxLi43MjdlYjZhIDEwMDY0NAoraW5kZXggYmY0OTc3MC4uN2M1YTM2MyAxMDA2NDQKIC0tLSBhL21lc29uYnVpbGQvbW9kdWxlcy9nbm9tZS5weQogKysrIGIvbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5Ci1AQCAtNzkyLDYgKzc5MiwxMCBAQCBUaGlzIHdpbGwgYmVjb21lIGEgaGFyZCBlcnJvciBpbiB0aGUgZnV0dXJlLicnJykKK0BAIC05NzIsNiArOTcyLDEwIEBAIFRoaXMgd2lsbCBiZWNvbWUgYSBoYXJkIGVycm9yIGluIHRoZSBmdXR1cmUuJycnKQogICAgICAgICAgICAgICAgICAnLS1tb2RlPScgKyBtb2RlXQogICAgICAgICAgaWYgbmFtZXNwYWNlOgogICAgICAgICAgICAgIGFyZ3MuYXBwZW5kKCctLW5hbWVzcGFjZT0nICsgbmFtZXNwYWNlKQogKyAgICAgICAgZ3RrZG9jX2V4ZV93cmFwcGVyID0gc3RhdGUuZW52aXJvbm1lbnQuY3Jvc3NfaW5mby5jb25maWdbInByb3BlcnRpZXMiXS5nZXQoJ2d0a2RvY19leGVfd3JhcHBlcicsIE5vbmUpCiArICAgICAgICBpZiBndGtkb2NfZXhlX3dyYXBwZXIgaXMgbm90IE5vbmU6Ci0rICAgICAgICAgICAgYXJncy5hcHBlbmQoJy0tZ3RrZG9jLWV4ZS13cmFwcGVyPScgKyBndGtkb2NfZXhlX3dyYXBwZXIpCisrICAgICAgICAgICAgYXJncy5hcHBlbmQoJy0tcnVuPScgKyBndGtkb2NfZXhlX3dyYXBwZXIpCiArCiAgICAgICAgICBhcmdzICs9IHNlbGYuX3VucGFja19hcmdzKCctLWh0bWxhcmdzPScsICdodG1sX2FyZ3MnLCBrd2FyZ3MpCiAgICAgICAgICBhcmdzICs9IHNlbGYuX3VucGFja19hcmdzKCctLXNjYW5hcmdzPScsICdzY2FuX2FyZ3MnLCBrd2FyZ3MpCiAgICAgICAgICBhcmdzICs9IHNlbGYuX3VucGFja19hcmdzKCctLXNjYW5vYmpzYXJncz0nLCAnc2Nhbm9ianNfYXJncycsIGt3YXJncykKLWRpZmYgLS1naXQgYS9tZXNvbmJ1aWxkL3NjcmlwdHMvZ3RrZG9jaGVscGVyLnB5IGIvbWVzb25idWlsZC9zY3JpcHRzL2d0a2RvY2hlbHBlci5weQotaW5kZXggOTQ4ZGM1YS4uOWM1YmQxOSAxMDA2NDQKLS0tLSBhL21lc29uYnVpbGQvc2NyaXB0cy9ndGtkb2NoZWxwZXIucHkKLSsrKyBiL21lc29uYnVpbGQvc2NyaXB0cy9ndGtkb2NoZWxwZXIucHkKLUBAIC00NSw2ICs0NSw3IEBAIHBhcnNlci5hZGRfYXJndW1lbnQoJy0taWdub3JlLWhlYWRlcnMnLCBkZXN0PSdpZ25vcmVfaGVhZGVycycsIGRlZmF1bHQ9JycpCi0gcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1uYW1lc3BhY2UnLCBkZXN0PSduYW1lc3BhY2UnLCBkZWZhdWx0PScnKQotIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tbW9kZScsIGRlc3Q9J21vZGUnLCBkZWZhdWx0PScnKQotIHBhcnNlci5hZGRfYXJndW1lbnQoJy0taW5zdGFsbGRpcicsIGRlc3Q9J2luc3RhbGxfZGlyJykKLStwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWd0a2RvYy1leGUtd3JhcHBlcicsIGRlc3Q9J2d0a2RvY19leGVfd3JhcHBlcicpCi0gCi0gZGVmIGd0a2RvY19ydW5fY2hlY2soY21kLCBjd2QsIGxpYnJhcnlfcGF0aHM9Tm9uZSk6Ci0gICAgIGlmIGxpYnJhcnlfcGF0aHMgaXMgTm9uZToKLUBAIC02NCw3ICs2NSw3IEBAIGRlZiBndGtkb2NfcnVuX2NoZWNrKGNtZCwgY3dkLCBsaWJyYXJ5X3BhdGhzPU5vbmUpOgotICAgICAjIFRoaXMgcHJlc2VydmVzIHRoZSBvcmRlciBvZiBtZXNzYWdlcy4KLSAgICAgcCwgb3V0ID0gUG9wZW5fc2FmZShjbWQsIGN3ZD1jd2QsIGVudj1lbnYsIHN0ZGVycj1zdWJwcm9jZXNzLlNURE9VVClbMDoyXQotICAgICBpZiBwLnJldHVybmNvZGUgIT0gMDoKLS0gICAgICAgIGVycl9tc2cgPSBbInshcn0gZmFpbGVkIHdpdGggc3RhdHVzIHs6ZH0iLmZvcm1hdChjbWRbMF0sIHAucmV0dXJuY29kZSldCi0rICAgICAgICBlcnJfbXNnID0gWyJ7IXJ9IGZhaWxlZCB3aXRoIHN0YXR1cyB7OmR9Ii5mb3JtYXQoY21kLCBwLnJldHVybmNvZGUpXQotICAgICAgICAgaWYgb3V0OgotICAgICAgICAgICAgIGVycl9tc2cuYXBwZW5kKG91dCkKLSAgICAgICAgIHJhaXNlIE1lc29uRXhjZXB0aW9uKCdcbicuam9pbihlcnJfbXNnKSkKLUBAIC03NCw3ICs3NSw3IEBAIGRlZiBndGtkb2NfcnVuX2NoZWNrKGNtZCwgY3dkLCBsaWJyYXJ5X3BhdGhzPU5vbmUpOgotIGRlZiBidWlsZF9ndGtkb2Moc291cmNlX3Jvb3QsIGJ1aWxkX3Jvb3QsIGRvY19zdWJkaXIsIHNyY19zdWJkaXJzLAotICAgICAgICAgICAgICAgICAgbWFpbl9maWxlLCBtb2R1bGUsCi0gICAgICAgICAgICAgICAgICBodG1sX2FyZ3MsIHNjYW5fYXJncywgZml4eHJlZl9hcmdzLCBta2RiX2FyZ3MsCi0tICAgICAgICAgICAgICAgICBnb2JqZWN0X3R5cGVzZmlsZSwgc2Nhbm9ianNfYXJncywgbGQsIGNjLCBsZGZsYWdzLCBjZmxhZ3MsCi0rICAgICAgICAgICAgICAgICBnb2JqZWN0X3R5cGVzZmlsZSwgc2Nhbm9ianNfYXJncywgZ3RrZG9jX2V4ZV93cmFwcGVyLCBsZCwgY2MsIGxkZmxhZ3MsIGNmbGFncywKLSAgICAgICAgICAgICAgICAgIGh0bWxfYXNzZXRzLCBjb250ZW50X2ZpbGVzLCBpZ25vcmVfaGVhZGVycywgbmFtZXNwYWNlLAotICAgICAgICAgICAgICAgICAgZXhwYW5kX2NvbnRlbnRfZmlsZXMsIG1vZGUpOgotICAgICBwcmludCgiQnVpbGRpbmcgZG9jdW1lbnRhdGlvbiBmb3IgJXMiICUgbW9kdWxlKQotQEAgLTEzNSw2ICsxMzYsOSBAQCBkZWYgYnVpbGRfZ3RrZG9jKHNvdXJjZV9yb290LCBidWlsZF9yb290LCBkb2Nfc3ViZGlyLCBzcmNfc3ViZGlycywKLSAgICAgaWYgZ29iamVjdF90eXBlc2ZpbGU6Ci0gICAgICAgICBzY2Fub2Jqc19jbWQgPSBbJ2d0a2RvYy1zY2FuZ29iaiddICsgc2Nhbm9ianNfYXJncyArIFsnLS10eXBlcz0nICsgZ29iamVjdF90eXBlc2ZpbGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1tb2R1bGU9JyArIG1vZHVsZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLXJ1bj0nICsgZ3RrZG9jX2V4ZV93cmFwcGVyLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tY2M9JyArIGNjLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tbGQ9JyArIGxkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tY2ZsYWdzPScgKyBjZmxhZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1sZGZsYWdzPScgKyBsZGZsYWdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tY2M9JyArIGNjLAotQEAgLTIzOCw2ICsyNDIsNyBAQCBkZWYgcnVuKGFyZ3MpOgotICAgICAgICAgbWtkYmFyZ3MsCi0gICAgICAgICBvcHRpb25zLmdvYmplY3RfdHlwZXNmaWxlLAotICAgICAgICAgc2Nhbm9ianNhcmdzLAotKyAgICAgICAgb3B0aW9ucy5ndGtkb2NfZXhlX3dyYXBwZXIsCi0gICAgICAgICBvcHRpb25zLmxkLAotICAgICAgICAgb3B0aW9ucy5jYywKLSAgICAgICAgIG9wdGlvbnMubGRmbGFncywKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDEtbW9kdWxlcy13aW5kb3dzLXNwbGl0LVdJTkRSRVMtZW52LXZhcmlhYmxlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vMDAwMS1tb2R1bGVzLXdpbmRvd3Mtc3BsaXQtV0lORFJFUy1lbnYtdmFyaWFibGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzMzNGU2ZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDEtbW9kdWxlcy13aW5kb3dzLXNwbGl0LVdJTkRSRVMtZW52LXZhcmlhYmxlLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK0Zyb20gNTI5M2QwZjUwNjdiMmFlZWZlOWNlM2MxNzVjOTcyZGUzNjc1ODliYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogV2VkLCAxMyBGZWIgMjAxOSAxNzo0Mzo1NCArMDEwMAorU3ViamVjdDogW1BBVENIXSBtb2R1bGVzL3dpbmRvd3M6IHNwbGl0IFdJTkRSRVMgZW52IHZhcmlhYmxlCisKK0FzIGl0IG1heSBjb250YWluIG5vdCBqdXN0IHRoZSBiaW5hcnksIGJ1dCBhbHNvIHRoZSBhcmd1bWVudHMgdG8gaXQuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyBtZXNvbmJ1aWxkL21vZHVsZXMvd2luZG93cy5weSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL21lc29uYnVpbGQvbW9kdWxlcy93aW5kb3dzLnB5IGIvbWVzb25idWlsZC9tb2R1bGVzL3dpbmRvd3MucHkKK2luZGV4IGQxODVkODkuLmRiYWViOWIgMTAwNjQ0CistLS0gYS9tZXNvbmJ1aWxkL21vZHVsZXMvd2luZG93cy5weQorKysrIGIvbWVzb25idWlsZC9tb2R1bGVzL3dpbmRvd3MucHkKK0BAIC01Niw3ICs1Niw3IEBAIGNsYXNzIFdpbmRvd3NNb2R1bGUoRXh0ZW5zaW9uTW9kdWxlKToKKyAgICAgICAgICAgICBpZiAnV0lORFJFUycgaW4gb3MuZW52aXJvbjoKKyAgICAgICAgICAgICAgICAgIyBQaWNrLXVwIGVudiB2YXIgV0lORFJFUyBpZiBzZXQuIFRoaXMgaXMgb2Z0ZW4gdXNlZCBmb3IKKyAgICAgICAgICAgICAgICAgIyBzcGVjaWZ5aW5nIGFuIGFyY2gtc3BlY2lmaWMgd2luZHJlcy4KKy0gICAgICAgICAgICAgICAgcmVzY29tcCA9IEV4dGVybmFsUHJvZ3JhbSgnd2luZHJlcycsIGNvbW1hbmQ9b3MuZW52aXJvbi5nZXQoJ1dJTkRSRVMnKSwgc2lsZW50PVRydWUpCisrICAgICAgICAgICAgICAgIHJlc2NvbXAgPSBFeHRlcm5hbFByb2dyYW0oJ3dpbmRyZXMnLCBjb21tYW5kPW9zLmVudmlyb24uZ2V0KCdXSU5EUkVTJykuc3BsaXQoKSwgc2lsZW50PVRydWUpCisgCisgICAgICAgICBpZiBub3QgcmVzY29tcCBvciBub3QgcmVzY29tcC5mb3VuZCgpOgorICAgICAgICAgICAgICMgVGFrZSB3aW5kcmVzIGZyb20gdGhlIGNvbmZpZyBmaWxlIGFmdGVyIHRoZSBlbnZpcm9ubWVudCwgd2hpY2ggaXMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDEtcHl0aG9uLW1vZHVsZS1kby1ub3QtbWFuaXB1bGF0ZS10aGUtZW52aXJvbm1lbnQtd2hlbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDEtcHl0aG9uLW1vZHVsZS1kby1ub3QtbWFuaXB1bGF0ZS10aGUtZW52aXJvbm1lbnQtd2hlbi5wYXRjaAppbmRleCA2MDcyOTg1Li5iZjcxNWQxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi8wMDAxLXB5dGhvbi1tb2R1bGUtZG8tbm90LW1hbmlwdWxhdGUtdGhlLWVudmlyb25tZW50LXdoZW4ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vMDAwMS1weXRob24tbW9kdWxlLWRvLW5vdC1tYW5pcHVsYXRlLXRoZS1lbnZpcm9ubWVudC13aGVuLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA0NTQyNmYwNjY4OWE1MjBmYzQ3ZjgxZWUyOWI0OWQ1MDlmMTFiYTU4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAzY2IyYzgxMWRjNmQ0ODkwMzQyYWZhNWI3MDljZDMwY2Y3YjhmM2NhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CiBEYXRlOiBNb24sIDE5IE5vdiAyMDE4IDE0OjI0OjI2ICswMTAwCiBTdWJqZWN0OiBbUEFUQ0hdIHB5dGhvbiBtb2R1bGU6IGRvIG5vdCBtYW5pcHVsYXRlIHRoZSBlbnZpcm9ubWVudCB3aGVuIGNhbGxpbmcKQEAgLTYsMzggKzYsMzggQEAKIAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZS1jb3JlIHNwZWNpZmljXQogU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CisKIC0tLQotIG1lc29uYnVpbGQvbW9kdWxlcy9weXRob24ucHkgfCAxNCAtLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAxNCBkZWxldGlvbnMoLSkKKyBtZXNvbmJ1aWxkL21vZHVsZXMvcHl0aG9uLnB5IHwgMTIgLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDEyIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvbWVzb25idWlsZC9tb2R1bGVzL3B5dGhvbi5weSBiL21lc29uYnVpbGQvbW9kdWxlcy9weXRob24ucHkKLWluZGV4IDExOTVkOGEuLmRmODFkYTQgMTAwNjQ0CitpbmRleCA5Y2ZiZDZmLi4zZmY2ODdhIDEwMDY0NAogLS0tIGEvbWVzb25idWlsZC9tb2R1bGVzL3B5dGhvbi5weQogKysrIGIvbWVzb25idWlsZC9tb2R1bGVzL3B5dGhvbi5weQotQEAgLTY3LDI2ICs2NywxMiBAQCBjbGFzcyBQeXRob25EZXBlbmRlbmN5KEV4dGVybmFsRGVwZW5kZW5jeSk6Ci0gICAgICAgICBpZiBEZXBlbmRlbmN5TWV0aG9kcy5QS0dDT05GSUcgaW4gc2VsZi5tZXRob2RzIGFuZCBub3QgcHl0aG9uX2hvbGRlci5pc19weXB5OgotICAgICAgICAgICAgIHBrZ192ZXJzaW9uID0gc2VsZi52YXJpYWJsZXMuZ2V0KCdMRFZFUlNJT04nKSBvciBzZWxmLnZlcnNpb24KLSAgICAgICAgICAgICBwa2dfbGliZGlyID0gc2VsZi52YXJpYWJsZXMuZ2V0KCdMSUJQQycpCi0tICAgICAgICAgICAgb2xkX3BrZ19saWJkaXIgPSBvcy5lbnZpcm9uLmdldCgnUEtHX0NPTkZJR19MSUJESVInKQotLSAgICAgICAgICAgIG9sZF9wa2dfcGF0aCA9IG9zLmVudmlyb24uZ2V0KCdQS0dfQ09ORklHX1BBVEgnKQotLQotLSAgICAgICAgICAgIG9zLmVudmlyb24ucG9wKCdQS0dfQ09ORklHX1BBVEgnLCBOb25lKQotLQotLSAgICAgICAgICAgIGlmIHBrZ19saWJkaXI6Ci0tICAgICAgICAgICAgICAgIG9zLmVudmlyb25bJ1BLR19DT05GSUdfTElCRElSJ10gPSBwa2dfbGliZGlyCitAQCAtNzUsMTEgKzc1LDYgQEAgY2xhc3MgUHl0aG9uRGVwZW5kZW5jeShFeHRlcm5hbERlcGVuZGVuY3kpOgorICAgICAgICAgICAgICAgICBvbGRfcGtnX2xpYmRpciA9IG9zLmVudmlyb24uZ2V0KCdQS0dfQ09ORklHX0xJQkRJUicpCisgICAgICAgICAgICAgICAgIG9sZF9wa2dfcGF0aCA9IG9zLmVudmlyb24uZ2V0KCdQS0dfQ09ORklHX1BBVEgnKQogIAotICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgc2VsZi5wa2dkZXAgPSBQa2dDb25maWdEZXBlbmRlbmN5KCdweXRob24te30nLmZvcm1hdChwa2dfdmVyc2lvbiksIGVudmlyb25tZW50LCBrd2FyZ3MpCi0gICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKLSAgICAgICAgICAgICAgICAgcGFzcwotIAotLSAgICAgICAgICAgIGlmIG9sZF9wa2dfcGF0aCBpcyBub3QgTm9uZToKLS0gICAgICAgICAgICAgICAgb3MuZW52aXJvblsnUEtHX0NPTkZJR19QQVRIJ10gPSBvbGRfcGtnX3BhdGgKKy0gICAgICAgICAgICAgICAgb3MuZW52aXJvbi5wb3AoJ1BLR19DT05GSUdfUEFUSCcsIE5vbmUpCiAtCi0tICAgICAgICAgICAgaWYgb2xkX3BrZ19saWJkaXIgaXMgbm90IE5vbmU6Ci0tICAgICAgICAgICAgICAgIG9zLmVudmlyb25bJ1BLR19DT05GSUdfTElCRElSJ10gPSBvbGRfcGtnX2xpYmRpcgotLSAgICAgICAgICAgIGVsc2U6Ci0tICAgICAgICAgICAgICAgIG9zLmVudmlyb24ucG9wKCdQS0dfQ09ORklHX0xJQkRJUicsIE5vbmUpCistICAgICAgICAgICAgICAgIGlmIHBrZ19saWJkaXI6CistICAgICAgICAgICAgICAgICAgICBvcy5lbnZpcm9uWydQS0dfQ09ORklHX0xJQkRJUiddID0gcGtnX2xpYmRpcgorLQorICAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgICBzZWxmLnBrZ2RlcCA9IFBrZ0NvbmZpZ0RlcGVuZGVuY3koJ3B5dGhvbi17fScuZm9ybWF0KHBrZ192ZXJzaW9uKSwgZW52aXJvbm1lbnQsIGt3YXJncykKKyAgICAgICAgICAgICAgICAgICAgIG1sb2cuZGVidWcoJ0ZvdW5kICJweXRob24te30iIHZpYSBwa2djb25maWcgbG9va3VwIGluIExJQlBDICh7fSknLmZvcm1hdChwa2dfdmVyc2lvbiwgcGtnX2xpYmRpcikpCitAQCAtODgsMTMgKzgzLDYgQEAgY2xhc3MgUHl0aG9uRGVwZW5kZW5jeShFeHRlcm5hbERlcGVuZGVuY3kpOgorICAgICAgICAgICAgICAgICAgICAgbWxvZy5kZWJ1ZygnInB5dGhvbi17fSIgY291bGQgbm90IGJlIGZvdW5kIGluIExJQlBDICh7fSknLmZvcm1hdChwa2dfdmVyc2lvbiwgcGtnX2xpYmRpcikpCisgICAgICAgICAgICAgICAgICAgICBtbG9nLmRlYnVnKGUpCiAgCi0gICAgICAgICBpZiBzZWxmLnBrZ2RlcCBhbmQgc2VsZi5wa2dkZXAuZm91bmQoKToKLSAgICAgICAgICAgICBzZWxmLmNvbXBpbGVfYXJncyA9IHNlbGYucGtnZGVwLmdldF9jb21waWxlX2FyZ3MoKQorLSAgICAgICAgICAgICAgICBpZiBvbGRfcGtnX3BhdGggaXMgbm90IE5vbmU6CistICAgICAgICAgICAgICAgICAgICBvcy5lbnZpcm9uWydQS0dfQ09ORklHX1BBVEgnXSA9IG9sZF9wa2dfcGF0aAorLQorLSAgICAgICAgICAgICAgICBpZiBvbGRfcGtnX2xpYmRpciBpcyBub3QgTm9uZToKKy0gICAgICAgICAgICAgICAgICAgIG9zLmVudmlyb25bJ1BLR19DT05GSUdfTElCRElSJ10gPSBvbGRfcGtnX2xpYmRpcgorLSAgICAgICAgICAgICAgICBlbHNlOgorLSAgICAgICAgICAgICAgICAgICAgb3MuZW52aXJvbi5wb3AoJ1BLR19DT05GSUdfTElCRElSJywgTm9uZSkKKyAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICBtbG9nLmRlYnVnKCcicHl0aG9uLXt9IiBjb3VsZCBub3QgYmUgZm91bmQgaW4gTElCUEMgKHt9KSwgdGhpcyBpcyBsaWtlbHkgZHVlIHRvIGEgcmVsb2NhdGVkIHB5dGhvbiBpbnN0YWxsYXRpb24nLmZvcm1hdChwa2dfdmVyc2lvbiwgcGtnX2xpYmRpcikpCisgCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi8wMDAyLU1ha2UtQ1BVLWZhbWlseS13YXJuaW5ncy1mYXRhbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDItTWFrZS1DUFUtZmFtaWx5LXdhcm5pbmdzLWZhdGFsLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYTU2YTZhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDItTWFrZS1DUFUtZmFtaWx5LXdhcm5pbmdzLWZhdGFsLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotRnJvbSAyZTg1NTNmYzAxZTYyZWJjNGZhYTI0MGJmMjA5ODRhOGEwYWM3Mzg3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLURhdGU6IFR1ZSwgMyBKdWwgMjAxOCAxMzo1OTowOSArMDEwMAotU3ViamVjdDogW1BBVENIXSBNYWtlIENQVSBmYW1pbHkgd2FybmluZ3MgZmF0YWwKLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KLVNpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+Ci0KLS0tLQotIG1lc29uYnVpbGQvZW52aXJvbm1lbnQucHkgfCA2ICsrLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9tZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5IGIvbWVzb25idWlsZC9lbnZpcm9ubWVudC5weQotaW5kZXggZDI5YTc3Zi4uMjY3YWNmOSAxMDA2NDQKLS0tLSBhL21lc29uYnVpbGQvZW52aXJvbm1lbnQucHkKLSsrKyBiL21lc29uYnVpbGQvZW52aXJvbm1lbnQucHkKLUBAIC0yMzksOSArMjM5LDcgQEAgZGVmIGRldGVjdF9jcHVfZmFtaWx5KGNvbXBpbGVycyk6Ci0gICAgICAgICByZXR1cm4gJ3g4Nl82NCcKLSAKLSAgICAgaWYgdHJpYWwgbm90IGluIGtub3duX2NwdV9mYW1pbGllczoKLS0gICAgICAgIG1sb2cud2FybmluZygnVW5rbm93biBDUFUgZmFtaWx5IHshcn0sIHBsZWFzZSByZXBvcnQgdGhpcyBhdCAnCi0tICAgICAgICAgICAgICAgICAgICAgJ2h0dHBzOi8vZ2l0aHViLmNvbS9tZXNvbmJ1aWxkL21lc29uL2lzc3Vlcy9uZXcgd2l0aCB0aGUnCi0tICAgICAgICAgICAgICAgICAgICAgJ291dHB1dCBvZiBgdW5hbWUgLWFgIGFuZCBgY2F0IC9wcm9jL2NwdWluZm9gJy5mb3JtYXQodHJpYWwpKQotKyAgICAgICAgcmFpc2UgRW52aXJvbm1lbnRFeGNlcHRpb24oJ1Vua25vd24gQ1BVIGZhbWlseSAlcywgc2VlIGh0dHBzOi8vd2lraS55b2N0b3Byb2plY3Qub3JnL3dpa2kvTWVzb24vVW5rbm93bkNQVSBmb3IgZGlyZWN0aW9ucy4nICUgdHJpYWwpCi0gCi0gICAgIHJldHVybiB0cmlhbAotIAotQEAgLTEwMTQsNyArMTAxMiw3IEBAIGNsYXNzIENyb3NzQnVpbGRJbmZvOgotICAgICAgICAgICAgICAgICAgICAgcmFpc2UgRW52aXJvbm1lbnRFeGNlcHRpb24oJ01hbGZvcm1lZCB2YWx1ZSBpbiBjcm9zcyBmaWxlIHZhcmlhYmxlICVzLicgJSBlbnRyeSkKLSAKLSAgICAgICAgICAgICAgICAgaWYgZW50cnkgPT0gJ2NwdV9mYW1pbHknIGFuZCByZXMgbm90IGluIGtub3duX2NwdV9mYW1pbGllczoKLS0gICAgICAgICAgICAgICAgICAgIG1sb2cud2FybmluZygnVW5rbm93biBDUFUgZmFtaWx5ICVzLCBwbGVhc2UgcmVwb3J0IHRoaXMgYXQgaHR0cHM6Ly9naXRodWIuY29tL21lc29uYnVpbGQvbWVzb24vaXNzdWVzL25ldycgJSB2YWx1ZSkKLSsgICAgICAgICAgICAgICAgICAgIHJhaXNlIEVudmlyb25tZW50RXhjZXB0aW9uKCdVbmtub3duIENQVSBmYW1pbHkgJXMsIHNlZSBodHRwczovL3dpa2kueW9jdG9wcm9qZWN0Lm9yZy93aWtpL01lc29uL1Vua25vd25DUFUgZm9yIGRpcmVjdGlvbnMuJyAlIHZhbHVlKQotIAotICAgICAgICAgICAgICAgICBpZiBzZWxmLm9rX3R5cGUocmVzKToKLSAgICAgICAgICAgICAgICAgICAgIHNlbGYuY29uZmlnW3NdW2VudHJ5XSA9IHJlcwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vMDAwMi1TdXBwb3J0LWJ1aWxkaW5nLWFsbGFyY2gtcmVjaXBlcy1hZ2Fpbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDItU3VwcG9ydC1idWlsZGluZy1hbGxhcmNoLXJlY2lwZXMtYWdhaW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODE1NDhjZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDItU3VwcG9ydC1idWlsZGluZy1hbGxhcmNoLXJlY2lwZXMtYWdhaW4ucGF0Y2gKQEAgLTAsMCArMSwyNiBAQAorRnJvbSBmODQxOWQ1ZjI3OWYxZmI5YjVlN2VlYWQ0ZjE1NzliY2U3Y2IwZTRlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CitEYXRlOiBUaHUsIDI2IEp1bCAyMDE4IDE2OjMyOjQ5ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFN1cHBvcnQgYnVpbGRpbmcgYWxsYXJjaCByZWNpcGVzIGFnYWluCisKK1RoaXMgcmVnaXN0ZXJzICJhbGxhcmNoIiBhcyBhIGtub3duIENQVSBmYW1pbHkuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0Ugc3BlY2lmaWNdCitTaWduZWQtb2ZmLWJ5OiBQZXRlciBLamVsbGVyc3RlZHQgPHBldGVyLmtqZWxsZXJzdGVkdEBheGlzLmNvbT4KKworLS0tCisgbWVzb25idWlsZC9lbnZpcm9ubWVudC5weSB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvbWVzb25idWlsZC9lbnZpcm9ubWVudC5weSBiL21lc29uYnVpbGQvZW52aXJvbm1lbnQucHkKK2luZGV4IDVmY2Y5ZGYuLmI0ZmMwZGMgMTAwNjQ0CistLS0gYS9tZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5CisrKysgYi9tZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5CitAQCAtNzIsNiArNzIsNyBAQCBmcm9tIC5jb21waWxlcnMgaW1wb3J0ICgKKyBidWlsZF9maWxlbmFtZSA9ICdtZXNvbi5idWlsZCcKKyAKKyBrbm93bl9jcHVfZmFtaWxpZXMgPSAoCisrICAgICdhbGxhcmNoJywKKyAgICAgJ2FhcmNoNjQnLAorICAgICAnYXJjJywKKyAgICAgJ2FybScsCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi8wMDAyLWVudmlyb25tZW50LnB5LWRldGVjdC13aW5kb3dzLWFsc28taWYtdGhlLXN5c3RlbS1zdHIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi8wMDAyLWVudmlyb25tZW50LnB5LWRldGVjdC13aW5kb3dzLWFsc28taWYtdGhlLXN5c3RlbS1zdHIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWJlNWQ2NgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDItZW52aXJvbm1lbnQucHktZGV0ZWN0LXdpbmRvd3MtYWxzby1pZi10aGUtc3lzdGVtLXN0ci5wYXRjaApAQCAtMCwwICsxLDI1IEBACitGcm9tIDdiZjRjMmMwMmViN2ZlMWJmMjRiMjNlM2JhMmQ3ZGYzNjQ5NWUwYWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMTMgRmViIDIwMTkgMTc6NDU6MDkgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gZW52aXJvbm1lbnQucHk6IGRldGVjdCB3aW5kb3dzIGFsc28gaWYgdGhlIHN5c3RlbSBzdHJpbmcKKyBjb250YWlucyAnbWluZ3cnCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyBtZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5IHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbWVzb25idWlsZC9lbnZpcm9ubWVudC5weSBiL21lc29uYnVpbGQvZW52aXJvbm1lbnQucHkKK2luZGV4IGI0ZmMwZGMuLjg0NTA3N2UgMTAwNjQ0CistLS0gYS9tZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5CisrKysgYi9tZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5CitAQCAtMTI0Nyw3ICsxMjQ3LDcgQEAgY2xhc3MgTWFjaGluZUluZm86CisgICAgICAgICAiIiIKKyAgICAgICAgIE1hY2hpbmUgaXMgd2luZG93cz8KKyAgICAgICAgICIiIgorLSAgICAgICAgcmV0dXJuIHNlbGYuc3lzdGVtID09ICd3aW5kb3dzJworKyAgICAgICAgcmV0dXJuIHNlbGYuc3lzdGVtID09ICd3aW5kb3dzJyBvciAnbWluZ3cnIGluIHNlbGYuc3lzdGVtCisgCisgICAgIGRlZiBpc19jeWd3aW4oc2VsZik6CisgICAgICAgICAiIiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDItZ29iamVjdC1pbnRyb3NwZWN0aW9uLWRldGVybWluZS1nLWlyLXNjYW5uZXItYW5kLWctaS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDItZ29iamVjdC1pbnRyb3NwZWN0aW9uLWRldGVybWluZS1nLWlyLXNjYW5uZXItYW5kLWctaS5wYXRjaAppbmRleCBmMzIyNjdkLi42MWIyNmJiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi8wMDAyLWdvYmplY3QtaW50cm9zcGVjdGlvbi1kZXRlcm1pbmUtZy1pci1zY2FubmVyLWFuZC1nLWkucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vMDAwMi1nb2JqZWN0LWludHJvc3BlY3Rpb24tZGV0ZXJtaW5lLWctaXItc2Nhbm5lci1hbmQtZy1pLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAwYjg2MGNiOGEyMmFlODc2YjYwODg5MzlkYmFiY2EyMTZiYzI5NDMxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA5Y2NhZWQzODA3ODAxNzhjNGRhYjNhNjgxZjY1MmFjN2NkMjc0NTJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CiBEYXRlOiBGcmksIDQgQXVnIDIwMTcgMTY6MTg6NDcgKzAzMDAKIFN1YmplY3Q6IFtQQVRDSF0gZ29iamVjdC1pbnRyb3NwZWN0aW9uOiBkZXRlcm1pbmUgZy1pci1zY2FubmVyIGFuZApAQCAtMTIsMjggKzEyLDI5IEBACiBTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KIAogLS0tCi0gbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5IHwgNCArKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKyBtZXNvbmJ1aWxkL21vZHVsZXMvZ25vbWUucHkgfCA2ICsrKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9tZXNvbmJ1aWxkL21vZHVsZXMvZ25vbWUucHkgYi9tZXNvbmJ1aWxkL21vZHVsZXMvZ25vbWUucHkKLWluZGV4IGIyOWJhYjkuLmRjNGM0MDEgMTAwNjQ0CitpbmRleCA3YzVhMzYzLi4wMDAyNDk4IDEwMDY0NAogLS0tIGEvbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5CiArKysgYi9tZXNvbmJ1aWxkL21vZHVsZXMvZ25vbWUucHkKLUBAIC0zOTMsOCArMzkzLDYgQEAgY2xhc3MgR25vbWVNb2R1bGUoRXh0ZW5zaW9uTW9kdWxlKToKLSAgICAgICAgICAgICByYWlzZSBNZXNvbkV4Y2VwdGlvbignR2lyIHRha2VzIG9uZSBhcmd1bWVudCcpCitAQCAtNzQ0LDE1ICs3NDQsMTUgQEAgY2xhc3MgR25vbWVNb2R1bGUoRXh0ZW5zaW9uTW9kdWxlKToKICAgICAgICAgIGlmIGt3YXJncy5nZXQoJ2luc3RhbGxfZGlyJyk6CiAgICAgICAgICAgICAgcmFpc2UgTWVzb25FeGNlcHRpb24oJ2luc3RhbGxfZGlyIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBnZW5lcmF0ZV9naXIoKSwgc2VlICJpbnN0YWxsX2Rpcl9naXIiIGFuZCAiaW5zdGFsbF9kaXJfdHlwZWxpYiInKQorIAogLSAgICAgICAgZ2lzY2FubmVyID0gc2VsZi5pbnRlcnByZXRlci5maW5kX3Byb2dyYW1faW1wbCgnZy1pci1zY2FubmVyJykKIC0gICAgICAgIGdpY29tcGlsZXIgPSBzZWxmLmludGVycHJldGVyLmZpbmRfcHJvZ3JhbV9pbXBsKCdnLWlyLWNvbXBpbGVyJykKLSAgICAgICAgIGdpcnRhcmdldCA9IGFyZ3NbMF0KLSAgICAgICAgIHdoaWxlIGhhc2F0dHIoZ2lydGFyZ2V0LCAnaGVsZF9vYmplY3QnKToKLSAgICAgICAgICAgICBnaXJ0YXJnZXQgPSBnaXJ0YXJnZXQuaGVsZF9vYmplY3QKLUBAIC00MDUsNiArNDAzLDggQEAgY2xhc3MgR25vbWVNb2R1bGUoRXh0ZW5zaW9uTW9kdWxlKToKLSAgICAgICAgICAgICAgICAgc2VsZi5naXJfZGVwID0gUGtnQ29uZmlnRGVwZW5kZW5jeSgnZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUuZW52aXJvbm1lbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyduYXRpdmUnOiBUcnVlfSkKLSsgICAgICAgICAgICBnaXNjYW5uZXIgPSBvcy5lbnZpcm9uWydQS0dfQ09ORklHX1NZU1JPT1RfRElSJ10gKyBzZWxmLmdpcl9kZXAuZ2V0X3BrZ2NvbmZpZ192YXJpYWJsZSgnZ19pcl9zY2FubmVyJywge30pCi0rICAgICAgICAgICAgZ2ljb21waWxlciA9IG9zLmVudmlyb25bJ1BLR19DT05GSUdfU1lTUk9PVF9ESVInXSArIHNlbGYuZ2lyX2RlcC5nZXRfcGtnY29uZmlnX3ZhcmlhYmxlKCdnX2lyX2NvbXBpbGVyJywge30pCi0gICAgICAgICAgICAgcGtnYXJncyA9IHNlbGYuZ2lyX2RlcC5nZXRfY29tcGlsZV9hcmdzKCkKLSAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246Ci0gICAgICAgICAgICAgcmFpc2UgTWVzb25FeGNlcHRpb24oJ2dvYmplY3QtaW50cm9zcGVjdGlvbiBkZXBlbmRlbmN5IHdhcyBub3QgZm91bmQsIGdpciBjYW5ub3QgYmUgZ2VuZXJhdGVkLicpCistCisgICAgICAgICBnaXJ0YXJnZXRzID0gW3NlbGYuX3Vud3JhcF9naXJfdGFyZ2V0KGFyZywgc3RhdGUpIGZvciBhcmcgaW4gYXJnc10KKyAKKyAgICAgICAgIGlmIGxlbihnaXJ0YXJnZXRzKSA+IDEgYW5kIGFueShbaXNpbnN0YW5jZShlbCwgYnVpbGQuRXhlY3V0YWJsZSkgZm9yIGVsIGluIGdpcnRhcmdldHNdKToKKyAgICAgICAgICAgICByYWlzZSBNZXNvbkV4Y2VwdGlvbignZ2VuZXJhdGVfZ2lyIG9ubHkgYWNjZXB0cyBhIHNpbmdsZSBhcmd1bWVudCB3aGVuIG9uZSBvZiB0aGUgYXJndW1lbnRzIGlzIGFuIGV4ZWN1dGFibGUnKQorIAorICAgICAgICAgc2VsZi5naXJfZGVwLCBwa2dhcmdzID0gc2VsZi5fZ2V0X2dpcl9kZXAoc3RhdGUpCisrICAgICAgICBnaXNjYW5uZXIgPSBvcy5lbnZpcm9uWydQS0dfQ09ORklHX1NZU1JPT1RfRElSJ10gKyBzZWxmLmdpcl9kZXAuZ2V0X3BrZ2NvbmZpZ192YXJpYWJsZSgnZ19pcl9zY2FubmVyJywge30pCisrICAgICAgICBnaWNvbXBpbGVyID0gb3MuZW52aXJvblsnUEtHX0NPTkZJR19TWVNST09UX0RJUiddICsgc2VsZi5naXJfZGVwLmdldF9wa2djb25maWdfdmFyaWFibGUoJ2dfaXJfY29tcGlsZXInLCB7fSkKKysKKyAKKyAgICAgICAgIG5zID0ga3dhcmdzLnBvcCgnbmFtZXNwYWNlJykKKyAgICAgICAgIG5zdmVyc2lvbiA9IGt3YXJncy5wb3AoJ25zdmVyc2lvbicpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi9jcm9zcy1saWJkaXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi9jcm9zcy1saWJkaXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzM5NWZkYgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uL2Nyb3NzLWxpYmRpci5wYXRjaApAQCAtMCwwICsxLDM1IEBACitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitGcm9tIGNlMjRmMGQ2YTliZTIyYmE2MWQ4MGNkMjU0ZTA0MDlkZTJlYWZmZDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKdXNzaSBQYWtrYW5lbiA8anBha2thbmVAZ21haWwuY29tPgorRGF0ZTogVGh1LCAyNyBEZWMgMjAxOCAyMzo0MzozNSArMDIwMAorU3ViamVjdDogW1BBVENIXSBEZWZhdWx0IGxpYmRpciBpcyAibGliIiB3aGVuIGNyb3NzIGNvbXBpbGluZy4gQ2xvc2VzICMyNTM1LgorCistLS0KK2RpZmYgLS1naXQgYS9tZXNvbmJ1aWxkL2NvcmVkYXRhLnB5IGIvbWVzb25idWlsZC9jb3JlZGF0YS5weQoraW5kZXggZmY4MTA2ODMuLjllZTIzYTY5IDEwMDY0NAorLS0tIGEvbWVzb25idWlsZC9jb3JlZGF0YS5weQorKysrIGIvbWVzb25idWlsZC9jb3JlZGF0YS5weQorQEAgLTI5OCw2ICsyOTgsNyBAQCBjbGFzcyBDb3JlRGF0YToKKyAgICAgICAgICMgT25seSB0byBwcmludCBhIHdhcm5pbmcgaWYgaXQgY2hhbmdlcyBiZXR3ZWVuIE1lc29uIGludm9jYXRpb25zLgorICAgICAgICAgc2VsZi5wa2djb25mX2VudnZhciA9IG9zLmVudmlyb24uZ2V0KCdQS0dfQ09ORklHX1BBVEgnLCAnJykKKyAgICAgICAgIHNlbGYuY29uZmlnX2ZpbGVzID0gc2VsZi5fX2xvYWRfY29uZmlnX2ZpbGVzKG9wdGlvbnMubmF0aXZlX2ZpbGUpCisrICAgICAgICBzZWxmLmxpYmRpcl9jcm9zc19maXh1cCgpCisgCisgICAgIEBzdGF0aWNtZXRob2QKKyAgICAgZGVmIF9fbG9hZF9jb25maWdfZmlsZXMoZmlsZW5hbWVzKToKK0BAIC0zMDksNiArMzEwLDEzIEBAIGNsYXNzIENvcmVEYXRhOgorICAgICAgICAgICAgICAgICAgICAgIGZvciBmIGluIGZpbGVuYW1lc10KKyAgICAgICAgIHJldHVybiBmaWxlbmFtZXMKKyAKKysgICAgZGVmIGxpYmRpcl9jcm9zc19maXh1cChzZWxmKToKKysgICAgICAgICMgQnkgZGVmYXVsdCBzZXQgbGliZGlyIHRvICJsaWIiIHdoZW4gY3Jvc3MgY29tcGlsaW5nIHNpbmNlCisrICAgICAgICAjIGdldHRpbmcgdGhlICJzeXN0ZW0gZGVmYXVsdCIgaXMgYWx3YXlzIHdyb25nIG9uIG11bHRpYXJjaAorKyAgICAgICAgIyBwbGF0Zm9ybXMgYXMgaXQgZ2V0cyBhIHZhbHVlIGxpa2UgbGliL3g4Nl82NC1saW51eC1nbnUuCisrICAgICAgICBpZiBzZWxmLmNyb3NzX2ZpbGVzOgorKyAgICAgICAgICAgIHNlbGYuYnVpbHRpbnNbJ2xpYmRpciddLnZhbHVlID0gJ2xpYicKKysKKyAgICAgZGVmIHNhbml0aXplX3ByZWZpeChzZWxmLCBwcmVmaXgpOgorICAgICAgICAgaWYgbm90IG9zLnBhdGguaXNhYnMocHJlZml4KToKKyAgICAgICAgICAgICByYWlzZSBNZXNvbkV4Y2VwdGlvbigncHJlZml4IHZhbHVlIHshcn0gbXVzdCBiZSBhbiBhYnNvbHV0ZSBwYXRoJwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vY3Jvc3MtcHJvcC1kZWZhdWx0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vY3Jvc3MtcHJvcC1kZWZhdWx0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3MjM5NWUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi9jcm9zcy1wcm9wLWRlZmF1bHQucGF0Y2gKQEAgLTAsMCArMSwyMyBAQAorbWVzb24uYnVpbGQgZmlsZXMgdGhhdCB1c2UgY2MucnVuKCkgaW4gbmF0aXZlIGJ1aWxkcyBjYW4gc2lsZW50bHkgZmFsbGJhY2sgdG8KK21lc29uLmdldF9jcm9zc19wcm9wZXJ0eSgpIGluIGNyb3NzIGJ1aWxkcyB3aXRob3V0IGFuIGV4ZS13cmFwcGVyLCBidXQgdGhlcmUncworbm8gd2F5IHRvIGtub3cgdGhhdCB0aGlzIGlzIGhhcHBlbmluZy4KKworQXMgdGhlIGRlZmF1bHRzIG1heSBiZSBwZXNzaW1pc3RpYyAoZm9yIGV4YW1wbGUsIGRpc2FibGluZyB0aGUgc3VwcG9ydCBmb3IgYQorZmVhdHVyZSB0aGF0IHNob3VsZCBiZSBlbmFibGVkKSBlbWl0IGEgd2FybmluZyB3aGVuIHRoZSBkZWZhdWx0IGlzIHVzZWQsIHNvIHRoYXQKK3RoZSByZWNpcGUgY2FuIGV4cGxpY2l0bHkgc2V0IHRoZSBjcm9zcyBwcm9wZXJ0eSBhcyByZWxldmFudC4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9tZXNvbmJ1aWxkL21lc29uL3B1bGwvNTA3MV0KK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK2RpZmYgLS1naXQgYS9tZXNvbmJ1aWxkL2ludGVycHJldGVyLnB5IGIvbWVzb25idWlsZC9pbnRlcnByZXRlci5weQoraW5kZXggM2MzY2ZhZTAuLjEwZTc0MWFlIDEwMDY0NAorLS0tIGEvbWVzb25idWlsZC9pbnRlcnByZXRlci5weQorKysrIGIvbWVzb25idWlsZC9pbnRlcnByZXRlci5weQorQEAgLTE4OTAsNiArMTg5MCw3IEBAIGNsYXNzIE1lc29uTWFpbihJbnRlcnByZXRlck9iamVjdCk6CisgICAgICAgICAgICAgcmV0dXJuIHByb3BzW3Byb3BuYW1lXQorICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKyAgICAgICAgICAgICBpZiBsZW4oYXJncykgPT0gMjoKKysgICAgICAgICAgICAgICAgbWxvZy53YXJuaW5nKCdDcm9zcyBwcm9wZXJ0eSAlcyBpcyB1c2luZyBkZWZhdWx0IHZhbHVlICVzJyAlIChwcm9wbmFtZSwgYXJnc1sxXSkpCisgICAgICAgICAgICAgICAgIHJldHVybiBhcmdzWzFdCisgICAgICAgICAgICAgcmFpc2UgSW50ZXJwcmV0ZXJFeGNlcHRpb24oJ1Vua25vd24gY3Jvc3MgcHJvcGVydHk6ICVzLicgJSBwcm9wbmFtZSkKKyAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uL2dpLWZsYWdzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vZ2ktZmxhZ3MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlhNGMyOTYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vZ2ktZmxhZ3MucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1QYXNzIHRoZSBjb3JyZWN0IGNmbGFncy9sZGZsYWdzIHRvIHRoZSBnb2JqZWN0LWludHJvc3BlY3Rpb24gdG9vbHMuCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vbWVzb25idWlsZC9tZXNvbi9wdWxsLzQyNjFdCi1TaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotCi1kaWZmIC0tZ2l0IGEvbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5IGIvbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5Ci1pbmRleCBjYjY5NjQxZS4uYmI0NDQ5YTAgMTAwNjQ0Ci0tLS0gYS9tZXNvbmJ1aWxkL21vZHVsZXMvZ25vbWUucHkKLSsrKyBiL21lc29uYnVpbGQvbW9kdWxlcy9nbm9tZS5weQotQEAgLTU3OSw3ICs1NzksMTAgQEAgY2xhc3MgR25vbWVNb2R1bGUoRXh0ZW5zaW9uTW9kdWxlKToKLSAgICAgICAgIGV4dGVybmFsX2xkZmxhZ3MgKz0gbGlzdChkZXBfZXh0ZXJuYWxfbGRmbGFncykKLSAgICAgICAgIHNjYW5fY29tbWFuZCArPSBbJy0tY2ZsYWdzLWJlZ2luJ10KLSAgICAgICAgIHNjYW5fY29tbWFuZCArPSBjZmxhZ3MKLS0gICAgICAgIHNjYW5fY29tbWFuZCArPSBzdGF0ZS5lbnZpcm9ubWVudC5jb3JlZGF0YS5nZXRfZXh0ZXJuYWxfYXJncyhsYW5nKQotKyAgICAgICAgaWYgc3RhdGUuZW52aXJvbm1lbnQuaXNfY3Jvc3NfYnVpbGQoKToKLSsgICAgICAgICAgICBzY2FuX2NvbW1hbmQgKz0gc3RhdGUuZW52aXJvbm1lbnQuY3Jvc3NfaW5mby5jb25maWdbInByb3BlcnRpZXMiXS5nZXQobGFuZyArICdfYXJncycsICIiKQotKyAgICAgICAgZWxzZToKLSsgICAgICAgICAgICBzY2FuX2NvbW1hbmQgKz0gc3RhdGUuZW52aXJvbm1lbnQuY29yZWRhdGEuZ2V0X2V4dGVybmFsX2FyZ3MobGFuZykKLSAgICAgICAgIHNjYW5fY29tbWFuZCArPSBbJy0tY2ZsYWdzLWVuZCddCi0gICAgICAgICAjIG5lZWQgdG8gcHV0IG91ciBvdXRwdXQgZGlyZWN0b3J5IGZpcnN0IGFzIHdlIG5lZWQgdG8gdXNlIHRoZQotICAgICAgICAgIyBnZW5lcmF0ZWQgbGlicmFyaWVzIGluc3RlYWQgb2YgYW55IHBvc3NpYmx5IGluc3RhbGxlZCBzeXN0ZW0vcHJlZml4Ci1AQCAtNjE0LDcgKzYxNCwxMiBAQCBjbGFzcyBHbm9tZU1vZHVsZShFeHRlbnNpb25Nb2R1bGUpOgotICAgICAgICAgICAgICAgICBzY2FuX2NvbW1hbmQuYXBwZW5kKCctTCcgKyBkKQotICAgICAgICAgICAgIHNjYW5fY29tbWFuZCArPSBbJy0tbGlicmFyeScsIGxpYm5hbWVdCi0gCi0tICAgICAgICBmb3IgbGlua19hcmcgaW4gc3RhdGUuZW52aXJvbm1lbnQuY29yZWRhdGEuZ2V0X2V4dGVybmFsX2xpbmtfYXJncyhsYW5nKToKLSsgICAgICAgIGlmIHN0YXRlLmVudmlyb25tZW50LmlzX2Nyb3NzX2J1aWxkKCk6Ci0rICAgICAgICAgICAgbGlua19hcmdzID0gc3RhdGUuZW52aXJvbm1lbnQuY3Jvc3NfaW5mby5jb25maWdbInByb3BlcnRpZXMiXS5nZXQobGFuZyArICdfbGlua19hcmdzJywgIiIpCi0rICAgICAgICBlbHNlOgotKyAgICAgICAgICAgIGxpbmtfYXJncyA9IHN0YXRlLmVudmlyb25tZW50LmNvcmVkYXRhLmdldF9leHRlcm5hbF9saW5rX2FyZ3MobGFuZykKLSsKLSsgICAgICAgIGZvciBsaW5rX2FyZyBpbiBsaW5rX2FyZ3M6Ci0gICAgICAgICAgICAgaWYgbGlua19hcmcuc3RhcnRzd2l0aCgnLUwnKToKLSAgICAgICAgICAgICAgICAgc2Nhbl9jb21tYW5kLmFwcGVuZChsaW5rX2FyZykKLSAgICAgICAgIHNjYW5fY29tbWFuZCArPSBsaXN0KGV4dGVybmFsX2xkZmxhZ3MpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi9ndGtkb2MtZmxhZ3MucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi9ndGtkb2MtZmxhZ3MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVjZjM0ODkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vZ3RrZG9jLWZsYWdzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotRW5zdXJlIHRoYXQgaW4gYSBjcm9zcyBjb21waWxlIG9ubHkgdGhlIHRhcmdldCBmbGFncyBhcmUgcGFzc2VkIHRvIGd0ay1kb2MsIGFuZAotbm90IHRoZSBuYXRpdmUgZmxhZ3MuCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vbWVzb25idWlsZC9tZXNvbi9wdWxsLzQyNjFdCi1TaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotCi1kaWZmIC0tZ2l0IGEvbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5IGIvbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5Ci1pbmRleCA0YWYzMzMwNC4uODc1MWY1M2MgMTAwNjQ0Ci0tLS0gYS9tZXNvbmJ1aWxkL21vZHVsZXMvZ25vbWUucHkKLSsrKyBiL21lc29uYnVpbGQvbW9kdWxlcy9nbm9tZS5weQotQEAgLTg1MSwxNyArODUxLDMwIEBAIFRoaXMgd2lsbCBiZWNvbWUgYSBoYXJkIGVycm9yIGluIHRoZSBmdXR1cmUuJycnKQotICAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGluY2QuaGVsZF9vYmplY3QsIChzdHIsIGJ1aWxkLkluY2x1ZGVEaXJzKSk6Ci0gICAgICAgICAgICAgICAgIHJhaXNlIE1lc29uRXhjZXB0aW9uKAotICAgICAgICAgICAgICAgICAgICAgJ0dpciBpbmNsdWRlIGRpcnMgc2hvdWxkIGJlIGluY2x1ZGVfZGlyZWN0b3JpZXMoKS4nKQotKwotICAgICAgICAgY2ZsYWdzLnVwZGF0ZShnZXRfaW5jbHVkZV9hcmdzKGluY19kaXJzKSkKLS0gICAgICAgIGNmbGFncy51cGRhdGUoc3RhdGUuZW52aXJvbm1lbnQuY29yZWRhdGEuZ2V0X2V4dGVybmFsX2FyZ3MoJ2MnKSkKLSsgICAgICAgIGlmIHN0YXRlLmVudmlyb25tZW50LmlzX2Nyb3NzX2J1aWxkKCk6Ci0rICAgICAgICAgICAgY2ZsYWdzLnVwZGF0ZShzdGF0ZS5lbnZpcm9ubWVudC5jcm9zc19pbmZvLmNvbmZpZ1sicHJvcGVydGllcyJdLmdldCgnY19hcmdzJywgIiIpKQotKyAgICAgICAgZWxzZToKLSsgICAgICAgICAgICBjZmxhZ3MudXBkYXRlKHN0YXRlLmVudmlyb25tZW50LmNvcmVkYXRhLmdldF9leHRlcm5hbF9hcmdzKCdjJykpCi0rCi0gICAgICAgICBsZGZsYWdzID0gT3JkZXJlZFNldCgpCi0gICAgICAgICBsZGZsYWdzLnVwZGF0ZShpbnRlcm5hbF9sZGZsYWdzKQotLSAgICAgICAgbGRmbGFncy51cGRhdGUoc3RhdGUuZW52aXJvbm1lbnQuY29yZWRhdGEuZ2V0X2V4dGVybmFsX2xpbmtfYXJncygnYycpKQotKyAgICAgICAgaWYgc3RhdGUuZW52aXJvbm1lbnQuaXNfY3Jvc3NfYnVpbGQoKToKLSsgICAgICAgICAgICBsZGZsYWdzLnVwZGF0ZShzdGF0ZS5lbnZpcm9ubWVudC5jcm9zc19pbmZvLmNvbmZpZ1sicHJvcGVydGllcyJdLmdldCgnY19saW5rX2FyZ3MnLCAiIikpCi0rICAgICAgICBlbHNlOgotKyAgICAgICAgICAgIGxkZmxhZ3MudXBkYXRlKHN0YXRlLmVudmlyb25tZW50LmNvcmVkYXRhLmdldF9leHRlcm5hbF9saW5rX2FyZ3MoJ2MnKSkKLSAgICAgICAgIGxkZmxhZ3MudXBkYXRlKGV4dGVybmFsX2xkZmxhZ3MpCi0rCi0gICAgICAgICBpZiBjZmxhZ3M6Ci0gICAgICAgICAgICAgYXJncyArPSBbJy0tY2ZsYWdzPSVzJyAlICcgJy5qb2luKGNmbGFncyldCi0gICAgICAgICBpZiBsZGZsYWdzOgotICAgICAgICAgICAgIGFyZ3MgKz0gWyctLWxkZmxhZ3M9JXMnICUgJyAnLmpvaW4obGRmbGFncyldCi0tICAgICAgICBjb21waWxlciA9IHN0YXRlLmVudmlyb25tZW50LmNvcmVkYXRhLmNvbXBpbGVycy5nZXQoJ2MnKQotKwotKyAgICAgICAgaWYgc3RhdGUuZW52aXJvbm1lbnQuaXNfY3Jvc3NfYnVpbGQoKToKLSsgICAgICAgICAgICBjb21waWxlciA9IHN0YXRlLmVudmlyb25tZW50LmNvcmVkYXRhLmNyb3NzX2NvbXBpbGVycy5nZXQoJ2MnKQotKyAgICAgICAgZWxzZToKLSsgICAgICAgICAgICBjb21waWxlciA9IHN0YXRlLmVudmlyb25tZW50LmNvcmVkYXRhLmNvbXBpbGVycy5nZXQoJ2MnKQotICAgICAgICAgaWYgY29tcGlsZXI6Ci0gICAgICAgICAgICAgYXJncyArPSBbJy0tY2M9JXMnICUgJyAnLmpvaW4oY29tcGlsZXIuZ2V0X2V4ZWxpc3QoKSldCi0gICAgICAgICAgICAgYXJncyArPSBbJy0tbGQ9JXMnICUgJyAnLmpvaW4oY29tcGlsZXIuZ2V0X2xpbmtlcl9leGVsaXN0KCkpXQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vbWFueS1jcm9zcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uL21hbnktY3Jvc3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDA0YzI4YgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uL21hbnktY3Jvc3MucGF0Y2gKQEAgLTAsMCArMSwyMDcgQEAKK21lc29uYnVpbGQ6IGFsbG93IG11bHRpcGxlIC0tY3Jvc3MtZmlsZSBvcHRpb25zCisKK0p1c3QgbGlrZSAtLW5hdGl2ZS1maWxlLCBhbGxvdyBtdWx0aXBsZSAtLWNyb3NzLWZpbGUgb3B0aW9ucy4gIFRoaXMgaXMgbW9zdGx5Cit1bmlmeWluZyB0aGUgbG9naWMgYmV0d2VlbiBjcm9zc19maWxlcyBhbmQgY29uZmlnX2ZpbGVzLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFt3aWxsIGJlIGluIDAuNTAuMV0KK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK2RpZmYgLS1naXQgYS9tZXNvbmJ1aWxkL2JhY2tlbmQvYmFja2VuZHMucHkgYi9tZXNvbmJ1aWxkL2JhY2tlbmQvYmFja2VuZHMucHkKK2luZGV4IDQwNDAyNTEzLi40YjliY2I1OSAxMDA2NDQKKy0tLSBhL21lc29uYnVpbGQvYmFja2VuZC9iYWNrZW5kcy5weQorKysrIGIvbWVzb25idWlsZC9iYWNrZW5kL2JhY2tlbmRzLnB5CitAQCAtNzI2LDggKzcyNiw3IEBAIGNsYXNzIEJhY2tlbmQ6CisgICAgICAgICBkZXBzID0gW29zLnBhdGguam9pbihzZWxmLmJ1aWxkX3RvX3NyYywgZGYpCisgICAgICAgICAgICAgICAgIGZvciBkZiBpbiBzZWxmLmludGVycHJldGVyLmdldF9idWlsZF9kZWZfZmlsZXMoKV0KKyAgICAgICAgIGlmIHNlbGYuZW52aXJvbm1lbnQuaXNfY3Jvc3NfYnVpbGQoKToKKy0gICAgICAgICAgICBkZXBzLmFwcGVuZChvcy5wYXRoLmpvaW4oc2VsZi5idWlsZF90b19zcmMsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZW52aXJvbm1lbnQuY29yZWRhdGEuY3Jvc3NfZmlsZSkpCisrICAgICAgICAgICAgZGVwcy5leHRlbmQoc2VsZi5lbnZpcm9ubWVudC5jb3JlZGF0YS5jcm9zc19maWxlcykKKyAgICAgICAgIGRlcHMuYXBwZW5kKCdtZXNvbi1wcml2YXRlL2NvcmVkYXRhLmRhdCcpCisgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oc2VsZi5lbnZpcm9ubWVudC5nZXRfc291cmNlX2RpcigpLCAnbWVzb25fb3B0aW9ucy50eHQnKSk6CisgICAgICAgICAgICAgZGVwcy5hcHBlbmQob3MucGF0aC5qb2luKHNlbGYuYnVpbGRfdG9fc3JjLCAnbWVzb25fb3B0aW9ucy50eHQnKSkKK2RpZmYgLS1naXQgYS9tZXNvbmJ1aWxkL2NvcmVkYXRhLnB5IGIvbWVzb25idWlsZC9jb3JlZGF0YS5weQoraW5kZXggYzNmNWE3NDUuLmZmODEwNjgzIDEwMDY0NAorLS0tIGEvbWVzb25idWlsZC9jb3JlZGF0YS5weQorKysrIGIvbWVzb25idWlsZC9jb3JlZGF0YS5weQorQEAgLTIwMSw4ICsyMDEsOCBAQCBjbGFzcyBVc2VyRmVhdHVyZU9wdGlvbihVc2VyQ29tYm9PcHRpb24pOgorICAgICAgICAgcmV0dXJuIHNlbGYudmFsdWUgPT0gJ2F1dG8nCisgCisgCistZGVmIGxvYWRfY29uZmlncyhmaWxlbmFtZXMpOgorLSAgICAiIiJMb2FkIG5hdGl2ZSBmaWxlcy4iIiIKKytkZWYgbG9hZF9jb25maWdzKGZpbGVuYW1lcywgc3ViZGlyKToKKysgICAgIiIiTG9hZCBjb25maWd1cmF0aW9uIGZpbGVzIGZyb20gYSBuYW1lZCBzdWJkaXJlY3RvcnkuIiIiCisgICAgIGRlZiBnZW4oKToKKyAgICAgICAgIGZvciBmIGluIGZpbGVuYW1lczoKKyAgICAgICAgICAgICBmID0gb3MucGF0aC5leHBhbmR1c2VyKG9zLnBhdGguZXhwYW5kdmFycyhmKSkKK0BAIC0yMTUsNyArMjE1LDcgQEAgZGVmIGxvYWRfY29uZmlncyhmaWxlbmFtZXMpOgorICAgICAgICAgICAgICAgICAgICAgb3MuZW52aXJvbi5nZXQoJ1hER19EQVRBX0hPTUUnLCBvcy5wYXRoLmV4cGFuZHVzZXIoJ34vLmxvY2FsL3NoYXJlJykpLAorICAgICAgICAgICAgICAgICBdICsgb3MuZW52aXJvbi5nZXQoJ1hER19EQVRBX0RJUlMnLCAnL3Vzci9sb2NhbC9zaGFyZTovdXNyL3NoYXJlJykuc3BsaXQoJzonKQorICAgICAgICAgICAgICAgICBmb3IgcGF0aCBpbiBwYXRoczoKKy0gICAgICAgICAgICAgICAgICAgIHBhdGhfdG9fdHJ5ID0gb3MucGF0aC5qb2luKHBhdGgsICdtZXNvbicsICduYXRpdmUnLCBmKQorKyAgICAgICAgICAgICAgICAgICAgcGF0aF90b190cnkgPSBvcy5wYXRoLmpvaW4ocGF0aCwgJ21lc29uJywgc3ViZGlyLCBmKQorICAgICAgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUocGF0aF90b190cnkpOgorICAgICAgICAgICAgICAgICAgICAgICAgIHlpZWxkIHBhdGhfdG9fdHJ5CisgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKK0BAIC0yOTEsNyArMjkxLDcgQEAgY2xhc3MgQ29yZURhdGE6CisgICAgICAgICBzZWxmLmNvbXBpbGVyX29wdGlvbnMgPSB7fQorICAgICAgICAgc2VsZi5iYXNlX29wdGlvbnMgPSB7fQorICAgICAgICAgc2VsZi5leHRlcm5hbF9wcmVwcm9jZXNzX2FyZ3MgPSB7fSAjIENQUEZMQUdTIG9ubHkKKy0gICAgICAgIHNlbGYuY3Jvc3NfZmlsZSA9IHNlbGYuX19sb2FkX2Nyb3NzX2ZpbGUob3B0aW9ucy5jcm9zc19maWxlKQorKyAgICAgICAgc2VsZi5jcm9zc19maWxlcyA9IHNlbGYuX19sb2FkX2NvbmZpZ19maWxlcyhvcHRpb25zLmNyb3NzX2ZpbGUpCisgICAgICAgICBzZWxmLmNvbXBpbGVycyA9IE9yZGVyZWREaWN0KCkKKyAgICAgICAgIHNlbGYuY3Jvc3NfY29tcGlsZXJzID0gT3JkZXJlZERpY3QoKQorICAgICAgICAgc2VsZi5kZXBzID0gT3JkZXJlZERpY3QoKQorQEAgLTMwMSw1MiArMzAxLDE0IEBAIGNsYXNzIENvcmVEYXRhOgorIAorICAgICBAc3RhdGljbWV0aG9kCisgICAgIGRlZiBfX2xvYWRfY29uZmlnX2ZpbGVzKGZpbGVuYW1lcyk6CisrICAgICAgICAjIE5lZWQgdG8gdHJ5IGFuZCBtYWtlIHRoZSBwYXNzZWQgZmlsZW5hbWVzIGFic29sdXRlIGJlY2F1c2Ugd2hlbiB0aGUKKysgICAgICAgICMgZmlsZXMgYXJlIHBhcnNlZCBsYXRlciB3ZSdsbCBoYXZlIGNoZGlyKClkLgorICAgICAgICAgaWYgbm90IGZpbGVuYW1lczoKKyAgICAgICAgICAgICByZXR1cm4gW10KKyAgICAgICAgIGZpbGVuYW1lcyA9IFtvcy5wYXRoLmFic3BhdGgob3MucGF0aC5leHBhbmR1c2VyKG9zLnBhdGguZXhwYW5kdXNlcihmKSkpCisgICAgICAgICAgICAgICAgICAgICAgZm9yIGYgaW4gZmlsZW5hbWVzXQorICAgICAgICAgcmV0dXJuIGZpbGVuYW1lcworIAorLSAgICBAc3RhdGljbWV0aG9kCistICAgIGRlZiBfX2xvYWRfY3Jvc3NfZmlsZShmaWxlbmFtZSk6CistICAgICAgICAiIiJUcnkgdG8gbG9hZCB0aGUgY3Jvc3MgZmlsZS4KKy0KKy0gICAgICAgIElmIHRoZSBmaWxlbmFtZSBpcyBOb25lIHJldHVybiBOb25lLiBJZiB0aGUgZmlsZW5hbWUgaXMgYW4gYWJzb2x1dGUKKy0gICAgICAgIChhZnRlciByZXNvbHZpbmcgdmFyaWFibGVzIGFuZCB+KSwgcmV0dXJuIHRoYXQgYWJzb2x1dGUgcGF0aC4gTmV4dCwKKy0gICAgICAgIGNoZWNrIGlmIHRoZSBmaWxlIGlzIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHNvdXJjZSBkaXIuIElmIHRoZSBwYXRoCistICAgICAgICBzdGlsbCBpc24ndCByZXNvbHZlZCBkbyB0aGUgZm9sbG93aW5nOgorLSAgICAgICAgICAgIFdpbmRvd3M6CistICAgICAgICAgICAgICAgIC0gRXJyb3IKKy0gICAgICAgICAgICAqOgorLSAgICAgICAgICAgICAgICAtICRYREdfREFUQV9IT01FL21lc29uL2Nyb3NzIChvciB+Ly5sb2NhbC9zaGFyZS9tZXNvbi9jcm9zcyBpZgorLSAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCkKKy0gICAgICAgICAgICAgICAgLSAkWERHX0RBVEFfRElSUy9tZXNvbi9jcm9zcyAob3IKKy0gICAgICAgICAgICAgICAgICAvdXNyL2xvY2FsL3NoYXJlL21lc29uL2Nyb3NzOi91c3Ivc2hhcmUvbWVzb24vY3Jvc3MgaWYgdW5kZWZpbmVkKQorLSAgICAgICAgICAgICAgICAtIEVycm9yCistCistICAgICAgICBOb24tV2luZG93cyBmb2xsb3dzIHRoZSBMaW51eCBwYXRoIGFuZCB3aWxsIGhvbm9yIFhER18qIGlmIHNldC4gVGhpcworLSAgICAgICAgc2ltcGxpZmllcyB0aGUgaW1wbGVtZW50YXRpb24gc29tZXdoYXQuCistICAgICAgICAiIiIKKy0gICAgICAgIGlmIGZpbGVuYW1lIGlzIE5vbmU6CistICAgICAgICAgICAgcmV0dXJuIE5vbmUKKy0gICAgICAgIGZpbGVuYW1lID0gb3MucGF0aC5leHBhbmR1c2VyKG9zLnBhdGguZXhwYW5kdmFycyhmaWxlbmFtZSkpCistICAgICAgICBpZiBvcy5wYXRoLmlzYWJzKGZpbGVuYW1lKToKKy0gICAgICAgICAgICByZXR1cm4gZmlsZW5hbWUKKy0gICAgICAgIHBhdGhfdG9fdHJ5ID0gb3MucGF0aC5hYnNwYXRoKGZpbGVuYW1lKQorLSAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUocGF0aF90b190cnkpOgorLSAgICAgICAgICAgIHJldHVybiBwYXRoX3RvX3RyeQorLSAgICAgICAgaWYgc3lzLnBsYXRmb3JtICE9ICd3aW4zMic6CistICAgICAgICAgICAgcGF0aHMgPSBbCistICAgICAgICAgICAgICAgIG9zLmVudmlyb24uZ2V0KCdYREdfREFUQV9IT01FJywgb3MucGF0aC5leHBhbmR1c2VyKCd+Ly5sb2NhbC9zaGFyZScpKSwKKy0gICAgICAgICAgICBdICsgb3MuZW52aXJvbi5nZXQoJ1hER19EQVRBX0RJUlMnLCAnL3Vzci9sb2NhbC9zaGFyZTovdXNyL3NoYXJlJykuc3BsaXQoJzonKQorLSAgICAgICAgICAgIGZvciBwYXRoIGluIHBhdGhzOgorLSAgICAgICAgICAgICAgICBwYXRoX3RvX3RyeSA9IG9zLnBhdGguam9pbihwYXRoLCAnbWVzb24nLCAnY3Jvc3MnLCBmaWxlbmFtZSkKKy0gICAgICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUocGF0aF90b190cnkpOgorLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBhdGhfdG9fdHJ5CistICAgICAgICAgICAgcmFpc2UgTWVzb25FeGNlcHRpb24oJ0Nhbm5vdCBmaW5kIHNwZWNpZmllZCBjcm9zcyBmaWxlOiAnICsgZmlsZW5hbWUpCistCistICAgICAgICByYWlzZSBNZXNvbkV4Y2VwdGlvbignQ2Fubm90IGZpbmQgc3BlY2lmaWVkIGNyb3NzIGZpbGU6ICcgKyBmaWxlbmFtZSkKKy0KKyAgICAgZGVmIHNhbml0aXplX3ByZWZpeChzZWxmLCBwcmVmaXgpOgorICAgICAgICAgaWYgbm90IG9zLnBhdGguaXNhYnMocHJlZml4KToKKyAgICAgICAgICAgICByYWlzZSBNZXNvbkV4Y2VwdGlvbigncHJlZml4IHZhbHVlIHshcn0gbXVzdCBiZSBhbiBhYnNvbHV0ZSBwYXRoJworQEAgLTU1OCw4ICs1MjAsOCBAQCBkZWYgcmVhZF9jbWRfbGluZV9maWxlKGJ1aWxkX2Rpciwgb3B0aW9ucyk6CisgICAgIG9wdGlvbnMuY21kX2xpbmVfb3B0aW9ucyA9IGQKKyAKKyAgICAgcHJvcGVydGllcyA9IGNvbmZpZ1sncHJvcGVydGllcyddCistICAgIGlmIG9wdGlvbnMuY3Jvc3NfZmlsZSBpcyBOb25lOgorLSAgICAgICAgb3B0aW9ucy5jcm9zc19maWxlID0gcHJvcGVydGllcy5nZXQoJ2Nyb3NzX2ZpbGUnLCBOb25lKQorKyAgICBpZiBub3Qgb3B0aW9ucy5jcm9zc19maWxlOgorKyAgICAgICAgb3B0aW9ucy5jcm9zc19maWxlID0gYXN0LmxpdGVyYWxfZXZhbChwcm9wZXJ0aWVzLmdldCgnY3Jvc3NfZmlsZScsICdbXScpKQorICAgICBpZiBub3Qgb3B0aW9ucy5uYXRpdmVfZmlsZToKKyAgICAgICAgICMgVGhpcyB3aWxsIGJlIGEgc3RyaW5nIGluIHRoZSBmb3JtOiAiWydmaXJzdCcsICdzZWNvbmQnLCAuLi5dIiwgdXNlCisgICAgICAgICAjIGxpdGVyYWxfZXZhbCB0byBnZXQgaXQgaW50byB0aGUgbGlzdCBvZiBzdHJpbmdzLgorQEAgLTU3MCw3ICs1MzIsNyBAQCBkZWYgd3JpdGVfY21kX2xpbmVfZmlsZShidWlsZF9kaXIsIG9wdGlvbnMpOgorICAgICBjb25maWcgPSBDbWRMaW5lRmlsZVBhcnNlcigpCisgCisgICAgIHByb3BlcnRpZXMgPSB7fQorLSAgICBpZiBvcHRpb25zLmNyb3NzX2ZpbGUgaXMgbm90IE5vbmU6CisrICAgIGlmIG9wdGlvbnMuY3Jvc3NfZmlsZToKKyAgICAgICAgIHByb3BlcnRpZXNbJ2Nyb3NzX2ZpbGUnXSA9IG9wdGlvbnMuY3Jvc3NfZmlsZQorICAgICBpZiBvcHRpb25zLm5hdGl2ZV9maWxlOgorICAgICAgICAgcHJvcGVydGllc1snbmF0aXZlX2ZpbGUnXSA9IG9wdGlvbnMubmF0aXZlX2ZpbGUKK2RpZmYgLS1naXQgYS9tZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5IGIvbWVzb25idWlsZC9lbnZpcm9ubWVudC5weQoraW5kZXggNmQ4NmRhZjkuLjQwNmFiOGI4IDEwMDY0NAorLS0tIGEvbWVzb25idWlsZC9lbnZpcm9ubWVudC5weQorKysrIGIvbWVzb25idWlsZC9lbnZpcm9ubWVudC5weQorQEAgLTM1NSw4ICszNTUsOCBAQCBjbGFzcyBFbnZpcm9ubWVudDoKKyAgICAgICAgIHNlbGYubWFjaGluZXMgPSBNYWNoaW5lSW5mb3MoKQorICAgICAgICAgIyBXaWxsIGJlIGZ1bGx5IGluaXRpYWxpemVkIGxhdGVyIHVzaW5nIGNvbXBpbGVycyBsYXRlci4KKyAgICAgICAgIHNlbGYubWFjaGluZXMuZGV0ZWN0X2J1aWxkKCkKKy0gICAgICAgIGlmIHNlbGYuY29yZWRhdGEuY3Jvc3NfZmlsZToKKy0gICAgICAgICAgICBzZWxmLmNyb3NzX2luZm8gPSBDcm9zc0J1aWxkSW5mbyhzZWxmLmNvcmVkYXRhLmNyb3NzX2ZpbGUpCisrICAgICAgICBpZiBzZWxmLmNvcmVkYXRhLmNyb3NzX2ZpbGVzOgorKyAgICAgICAgICAgIHNlbGYuY3Jvc3NfaW5mbyA9IENyb3NzQnVpbGRJbmZvKHNlbGYuY29yZWRhdGEuY3Jvc3NfZmlsZXMpCisgICAgICAgICAgICAgaWYgJ2V4ZV93cmFwcGVyJyBpbiBzZWxmLmNyb3NzX2luZm8uY29uZmlnWydiaW5hcmllcyddOgorICAgICAgICAgICAgICAgICBmcm9tIC5kZXBlbmRlbmNpZXMgaW1wb3J0IEV4dGVybmFsUHJvZ3JhbQorICAgICAgICAgICAgICAgICBzZWxmLmV4ZV93cmFwcGVyID0gRXh0ZXJuYWxQcm9ncmFtLmZyb21fYmluX2xpc3QoCitAQCAtMzczLDcgKzM3Myw3IEBAIGNsYXNzIEVudmlyb25tZW50OgorIAorICAgICAgICAgaWYgc2VsZi5jb3JlZGF0YS5jb25maWdfZmlsZXM6CisgICAgICAgICAgICAgc2VsZi5jb25maWdfaW5mbyA9IGNvcmVkYXRhLkNvbmZpZ0RhdGEoCistICAgICAgICAgICAgICAgIGNvcmVkYXRhLmxvYWRfY29uZmlncyhzZWxmLmNvcmVkYXRhLmNvbmZpZ19maWxlcykpCisrICAgICAgICAgICAgICAgIGNvcmVkYXRhLmxvYWRfY29uZmlncyhzZWxmLmNvcmVkYXRhLmNvbmZpZ19maWxlcywgJ25hdGl2ZScpKQorICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICBzZWxmLmNvbmZpZ19pbmZvID0gY29yZWRhdGEuQ29uZmlnRGF0YSgpCisgCitAQCAtMTExMywxMyArMTExMyw4IEBAIGNsYXNzIENyb3NzQnVpbGRJbmZvOgorICAgICBkZWYgb2tfdHlwZShzZWxmLCBpKToKKyAgICAgICAgIHJldHVybiBpc2luc3RhbmNlKGksIChzdHIsIGludCwgYm9vbCkpCisgCistICAgIGRlZiBwYXJzZV9kYXRhZmlsZShzZWxmLCBmaWxlbmFtZSk6CistICAgICAgICBjb25maWcgPSBjb25maWdwYXJzZXIuQ29uZmlnUGFyc2VyKCkKKy0gICAgICAgIHRyeToKKy0gICAgICAgICAgICB3aXRoIG9wZW4oZmlsZW5hbWUsICdyJykgYXMgZjoKKy0gICAgICAgICAgICAgICAgY29uZmlnLnJlYWRfZmlsZShmLCBmaWxlbmFtZSkKKy0gICAgICAgIGV4Y2VwdCBGaWxlTm90Rm91bmRFcnJvcjoKKy0gICAgICAgICAgICByYWlzZSBFbnZpcm9ubWVudEV4Y2VwdGlvbignRmlsZSBub3QgZm91bmQ6ICVzLicgJSBmaWxlbmFtZSkKKysgICAgZGVmIHBhcnNlX2RhdGFmaWxlKHNlbGYsIGZpbGVuYW1lcyk6CisrICAgICAgICBjb25maWcgPSBjb3JlZGF0YS5sb2FkX2NvbmZpZ3MoZmlsZW5hbWVzLCAnY3Jvc3MnKQorICAgICAgICAgIyBUaGlzIGlzIGEgYml0IGhhY2tpc2ggYXQgdGhlIG1vbWVudC4KKyAgICAgICAgIGZvciBzIGluIGNvbmZpZy5zZWN0aW9ucygpOgorICAgICAgICAgICAgIHNlbGYuY29uZmlnW3NdID0ge30KK2RpZmYgLS1naXQgYS9tZXNvbmJ1aWxkL21zZXR1cC5weSBiL21lc29uYnVpbGQvbXNldHVwLnB5CitpbmRleCA1NmEwZTlhNy4uZjBhMWFlMTkgMTAwNjQ0CistLS0gYS9tZXNvbmJ1aWxkL21zZXR1cC5weQorKysrIGIvbWVzb25idWlsZC9tc2V0dXAucHkKK0BAIC0yNyw3ICsyNyw5IEBAIGZyb20gLm1lc29ubGliIGltcG9ydCBNZXNvbkV4Y2VwdGlvbgorIAorIGRlZiBhZGRfYXJndW1lbnRzKHBhcnNlcik6CisgICAgIGNvcmVkYXRhLnJlZ2lzdGVyX2J1aWx0aW5fYXJndW1lbnRzKHBhcnNlcikKKy0gICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1jcm9zcy1maWxlJywgZGVmYXVsdD1Ob25lLAorKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWNyb3NzLWZpbGUnLAorKyAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9W10sCisrICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSdhcHBlbmQnLAorICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J0ZpbGUgZGVzY3JpYmluZyBjcm9zcyBjb21waWxhdGlvbiBlbnZpcm9ubWVudC4nKQorICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLW5hdGl2ZS1maWxlJywKKyAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PVtdLAorZGlmZiAtLWdpdCBhL3J1bl91bml0dGVzdHMucHkgYi9ydW5fdW5pdHRlc3RzLnB5CitpbmRleCBlNjg3NGIyNS4uMWQyNDcyOTEgMTAwNzU1CistLS0gYS9ydW5fdW5pdHRlc3RzLnB5CisrKysgYi9ydW5fdW5pdHRlc3RzLnB5CitAQCAtNTI5LDcgKzUyOSw3IEBAIGNsYXNzIEludGVybmFsVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorICAgICAgICAgY29uZmlnLndyaXRlKGNvbmZpZ2ZpbGUpCisgICAgICAgICBjb25maWdmaWxlLmZsdXNoKCkKKyAgICAgICAgIGNvbmZpZ2ZpbGUuY2xvc2UoKQorLSAgICAgICAgZGV0ZWN0ZWRfdmFsdWUgPSBtZXNvbmJ1aWxkLmVudmlyb25tZW50LkNyb3NzQnVpbGRJbmZvKGNvbmZpZ2ZpbGUubmFtZSkubmVlZF9leGVfd3JhcHBlcigpCisrICAgICAgICBkZXRlY3RlZF92YWx1ZSA9IG1lc29uYnVpbGQuZW52aXJvbm1lbnQuQ3Jvc3NCdWlsZEluZm8oKGNvbmZpZ2ZpbGUubmFtZSwpKS5uZWVkX2V4ZV93cmFwcGVyKCkKKyAgICAgICAgIG9zLnVubGluayhjb25maWdmaWxlbmFtZSkKKyAKKyAgICAgICAgIGRlc2lyZWRfdmFsdWUgPSBub3QgZGV0ZWN0ZWRfdmFsdWUKK0BAIC01NDEsNyArNTQxLDcgQEAgY2xhc3MgSW50ZXJuYWxUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgICAgICBjb25maWdmaWxlbmFtZSA9IGNvbmZpZ2ZpbGUubmFtZQorICAgICAgICAgY29uZmlnLndyaXRlKGNvbmZpZ2ZpbGUpCisgICAgICAgICBjb25maWdmaWxlLmNsb3NlKCkKKy0gICAgICAgIGZvcmNlZF92YWx1ZSA9IG1lc29uYnVpbGQuZW52aXJvbm1lbnQuQ3Jvc3NCdWlsZEluZm8oY29uZmlnZmlsZS5uYW1lKS5uZWVkX2V4ZV93cmFwcGVyKCkKKysgICAgICAgIGZvcmNlZF92YWx1ZSA9IG1lc29uYnVpbGQuZW52aXJvbm1lbnQuQ3Jvc3NCdWlsZEluZm8oKGNvbmZpZ2ZpbGUubmFtZSwpKS5uZWVkX2V4ZV93cmFwcGVyKCkKKyAgICAgICAgIG9zLnVubGluayhjb25maWdmaWxlbmFtZSkKKyAKKyAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm9yY2VkX3ZhbHVlLCBkZXNpcmVkX3ZhbHVlKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vbWVzb24tc2V0dXAucHkgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi9tZXNvbi1zZXR1cC5weQppbmRleCBhOTc0OWVhLi44MDhlMmEwIDEwMDc1NQotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi9tZXNvbi1zZXR1cC5weQorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi9tZXNvbi1zZXR1cC5weQpAQCAtMSw2MiArMSwzMSBAQAogIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwogCiBpbXBvcnQgb3MKK2ltcG9ydCBzdHJpbmcKIGltcG9ydCBzeXMKIAotZGVmIGJhaWwobXNnKToKLSAgICBwcmludChtc2csIGZpbGU9c3lzLnN0ZGVycikKLSAgICBzeXMuZXhpdCgxKQorY2xhc3MgVGVtcGxhdGUoc3RyaW5nLlRlbXBsYXRlKToKKyAgICBkZWxpbWl0ZXIgPSAiQCIKIAotX01BUktFUiA9ICdAQCcKLWRlZiB0cmFuc2Zvcm1fbGluZShsaW5lKToKLSAgICAjIFN1YnN0aXR1dGUgYW55IHNwZWNpYWwgbWFya2VycyBvZiB0aGlzIGZvcm06Ci0gICAgIyBAQEVOVkBACi0gICAgIyB3aXRoIHRoZSB2YWx1ZSBvZiBFTlYsIHNwbGl0IGludG8gbWVzb24gYXJyYXkgc3ludGF4LgotICAgIHN0YXJ0ID0gbGluZS5maW5kKF9NQVJLRVIpCi0gICAgaWYgc3RhcnQgPT0gLTE6Ci0gICAgICAgIHJldHVybiBsaW5lCitjbGFzcyBFbnZpcm9uKCk6CisgICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIG5hbWUpOgorICAgICAgICB2YWwgPSBvcy5lbnZpcm9uW25hbWVdCisgICAgICAgIHZhbCA9IFsiJyVzJyIgJSB4IGZvciB4IGluIHZhbC5zcGxpdCgpXQorICAgICAgICB2YWwgPSAnLCAnLmpvaW4odmFsKQorICAgICAgICB2YWwgPSAnWyVzXScgJSB2YWwKKyAgICAgICAgcmV0dXJuIHZhbAogCi0gICAgZW5kID0gbGluZS5yZmluZChfTUFSS0VSKQotICAgIGlmIGVuZCA9PSBzdGFydDoKLSAgICAgICAgcmV0dXJuIGxpbmUKLQotICAgICMgTG9va3VwIHZhbHVlIG9mIHRoZSBlbnYgdmFyLgotICAgIHZhciA9IGxpbmVbc3RhcnQrbGVuKF9NQVJLRVIpOmVuZF0KLSAgICB0cnk6Ci0gICAgICAgIHZhbCA9IG9zLmVudmlyb25bdmFyXQotICAgIGV4Y2VwdCBLZXlFcnJvcjoKLSAgICAgICAgYmFpbCgnY2Fubm90IGdlbmVyYXRlIG1lc29uLmNyb3NzOyBlbnYgdmFyICVzIG5vdCBzZXQnICUgdmFyKQotCi0gICAgIyBUcmFuc2Zvcm0gaW50byBtZXNvbiBhcnJheS4KLSAgICB2YWwgPSBbIiclcyciICUgeCBmb3IgeCBpbiB2YWwuc3BsaXQoKV0KLSAgICB2YWwgPSAnLCAnLmpvaW4odmFsKQotICAgIHZhbCA9ICdbJXNdJyAlIHZhbAotCi0gICAgYmVmb3JlID0gbGluZVs6c3RhcnRdCi0gICAgYWZ0ZXIgPSBsaW5lW2VuZCtsZW4oX01BUktFUik6XQotCi0gICAgcmV0dXJuICclcyVzJXMnICUgKGJlZm9yZSwgdmFsLCBhZnRlcikKLQotIyBNYWtlIHN1cmUgdGhpcyBpcyByZWFsbHkgYW4gU0RLIGV4dHJhY3Rpb24gZW52aXJvbm1lbnQuCiB0cnk6CiAgICAgc3lzcm9vdCA9IG9zLmVudmlyb25bJ09FQ09SRV9OQVRJVkVfU1lTUk9PVCddCiBleGNlcHQgS2V5RXJyb3I6Ci0gICAgYmFpbCgnT0VDT1JFX05BVElWRV9TWVNST09UIGVudiB2YXIgbXVzdCBiZSBzZXQnKQorICAgIHByaW50KCJOb3QgaW4gZW52aXJvbm1lbnQgc2V0dXAsIGJhaWxpbmciKQorICAgIHN5cy5leGl0KDEpCiAKLWNyb3NzX2ZpbGUgPSBvcy5wYXRoLmpvaW4oc3lzcm9vdCwgJ3Vzci9zaGFyZS9tZXNvbi9tZXNvbi5jcm9zcycpCi10bXBfY3Jvc3NfZmlsZSA9ICclcy50bXAnICUgY3Jvc3NfZmlsZQordGVtcGxhdGVfZmlsZSA9IG9zLnBhdGguam9pbihzeXNyb290LCAndXNyL3NoYXJlL21lc29uL21lc29uLmNyb3NzLnRlbXBsYXRlJykKK2Nyb3NzX2ZpbGUgPSBvcy5wYXRoLmpvaW4oc3lzcm9vdCwgJ3Vzci9zaGFyZS9tZXNvbi8lc21lc29uLmNyb3NzJyAlIG9zLmVudmlyb25bIlRBUkdFVF9QUkVGSVgiXSkKIAotIyBSZWFkIHRocm91Z2ggYW5kIHRyYW5zZm9ybSB0aGUgY3VycmVudCBtZXNvbi5jcm9zcy4KLWxpbmVzID0gW10KLXdpdGggb3Blbihjcm9zc19maWxlLCAncicpIGFzIGY6Ci0gICAgZm9yIGxpbmUgaW4gZjoKLSAgICAgICAgbGluZXMuYXBwZW5kKHRyYW5zZm9ybV9saW5lKGxpbmUpKQotCi0jIFdyaXRlIHRoZSB0cmFuc2Zvcm1lZCByZXN1bHQgdG8gYSB0bXAgZmlsZSBhbmQgYXRvbWljYWxseSByZW5hbWUgaXQuIEluIGNhc2UKLSMgd2UgY3Jhc2ggZHVyaW5nIHRoZSBmaWxlIHdyaXRlLCB3ZSBkb24ndCB3YW50IGFuIGludmFsaWQgbWVzb24uY3Jvc3MgZmlsZS4KLXdpdGggb3Blbih0bXBfY3Jvc3NfZmlsZSwgJ3cnKSBhcyBmOgotICAgIGZvciBsaW5lIGluIGxpbmVzOgotICAgICAgICBmLndyaXRlKGxpbmUpCi0gICAgZi5mbHVzaCgpCi0gICAgb3MuZmRhdGFzeW5jKGYuZmlsZW5vKCkpCi1vcy5yZW5hbWUodG1wX2Nyb3NzX2ZpbGUsIGNyb3NzX2ZpbGUpCit3aXRoIG9wZW4odGVtcGxhdGVfZmlsZSkgYXMgaW5fZmlsZToKKyAgICB0ZW1wbGF0ZSA9IGluX2ZpbGUucmVhZCgpCisgICAgb3V0cHV0ID0gVGVtcGxhdGUodGVtcGxhdGUpLnN1YnN0aXR1dGUoRW52aXJvbigpKQorICAgIHdpdGggb3Blbihjcm9zc19maWxlLCAidyIpIGFzIG91dF9maWxlOgorICAgICAgICBvdXRfZmlsZS53cml0ZShvdXRwdXQpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi9tZXNvbi13cmFwcGVyIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vbWVzb24td3JhcHBlcgppbmRleCBiMmUwMGRhLi5kNGZmZTYwIDEwMDc1NQotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi9tZXNvbi13cmFwcGVyCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uL21lc29uLXdyYXBwZXIKQEAgLTEwLDUgKzEwLDUgQEAKIHVuc2V0IENDIENYWCBDUFAgTEQgQVIgTk0gU1RSSVAKIAogZXhlYyAiJE9FQ09SRV9OQVRJVkVfU1lTUk9PVC91c3IvYmluL21lc29uLnJlYWwiIFwKLSAgICAgLS1jcm9zcy1maWxlICIkT0VDT1JFX05BVElWRV9TWVNST09UL3Vzci9zaGFyZS9tZXNvbi9tZXNvbi5jcm9zcyIgXAorICAgICAtLWNyb3NzLWZpbGUgIiR7T0VDT1JFX05BVElWRV9TWVNST09UfS91c3Ivc2hhcmUvbWVzb24vJHtUQVJHRVRfUFJFRklYfW1lc29uLmNyb3NzIiBcCiAgICAgICIkQCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uXzAuNDcuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uXzAuNDcuMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODk3ZmExNC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbl8wLjQ3LjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWluY2x1ZGUgbWVzb24uaW5jCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb25fMC40OS4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb25fMC40OS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlOWI5MDUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbl8wLjQ5LjIuYmIKQEAgLTAsMCArMSw0IEBACitpbmNsdWRlIG1lc29uLmluYworCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbmF0aXZlc2RrLW1lc29uXzAuNDcuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL25hdGl2ZXNkay1tZXNvbl8wLjQ3LjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUzNTAzYWEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbmF0aXZlc2RrLW1lc29uXzAuNDcuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDc0ICswLDAgQEAKLWluY2x1ZGUgbWVzb24uaW5jCi0KLWluaGVyaXQgbmF0aXZlc2RrCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly9tZXNvbi1zZXR1cC5weSBcCi0gICAgICAgICAgICBmaWxlOi8vbWVzb24td3JhcHBlciIKLQotZGVmIG1lc29uX2FycmF5KHZhciwgZCk6Ci0gICAgcmV0dXJuICInLCAnIi5qb2luKGQuZ2V0VmFyKHZhcikuc3BsaXQoKSkuam9pbigoIiciLCAiJyIpKQotCi0jIGJvdGggYXJlIHJlcXVpcmVkIGJ1dCBub3QgdXNlZCBieSBtZXNvbgotTUVTT05fU0RLX0VORElBTiA9ICJib2d1cy1lbmRpYW4iCi1NRVNPTl9UQVJHRVRfRU5ESUFOID0gImJvZ3VzLWVuZGlhbiIKLQotTUVTT05fVE9PTENIQUlOX0FSR1MgPSAiJHtCVUlMRFNES19DQ19BUkNIfSR7VE9PTENIQUlOX09QVElPTlN9IgotTUVTT05fQ19BUkdTID0gIiR7TUVTT05fVE9PTENIQUlOX0FSR1N9ICR7QlVJTERTREtfQ0ZMQUdTfSIKLU1FU09OX0NQUF9BUkdTID0gIiR7TUVTT05fVE9PTENIQUlOX0FSR1N9ICR7QlVJTERTREtfQ1hYRkxBR1N9IgotTUVTT05fTElOS19BUkdTID0gIiR7TUVTT05fVE9PTENIQUlOX0FSR1N9ICR7QlVJTERTREtfTERGTEFHU30iCi0KLSMgVGhpcyBsb2dpYyBpcyBzaW1pbGFyIGJ1dCBub3QgaWRlbnRpY2FsIHRvIHRoYXQgaW4gbWVzb24uYmJjbGFzcywgc2luY2UgaXQncwotIyBnZW5lcmF0aW5nIGZvciBhbiBTREsgcmF0aGVyIHRoYW4gYSBjcm9zcy1jb21waWxlLiBJbXBvcnRhbnQgZGlmZmVyZW5jZXMgYXJlOgotIyAtIFdlIGNhbid0IHNldCB2YXJzIGxpa2UgQ0MsIENYWCwgZXRjLiB5ZXQgYmVjYXVzZSB0aGV5IHdpbGwgYmUgZmlsbGVkIGluIHdpdGgKLSMgICByZWFsIHBhdGhzIGJ5IG1lc29uLXNldHVwLnNoIHdoZW4gdGhlIFNESyBpcyBleHRyYWN0ZWQuCi0jIC0gU29tZSBvdmVycmlkZXMgYXJlbid0IG5lZWRlZCwgc2luY2UgdGhlIFNESyBpbmplY3RzIHBhdGhzIHRoYXQgdGFrZSBjYXJlIG9mCi0jICAgdGhlbS4KLWFkZHRhc2sgd3JpdGVfY29uZmlnIGJlZm9yZSBkb19pbnN0YWxsCi1kb193cml0ZV9jb25maWdbdmFyZGVwc10gKz0gIk1FU09OX0NfQVJHUyBNRVNPTl9DUFBfQVJHUyBNRVNPTl9MSU5LX0FSR1MgQ0MgQ1hYIExEIEFSIE5NIFNUUklQIFJFQURFTEYiCi1kb193cml0ZV9jb25maWcoKSB7Ci0gICAgIyBUaGlzIG5lZWRzIHRvIGJlIFB5IHRvIHNwbGl0IHRoZSBhcmdzIGludG8gc2luZ2xlLWVsZW1lbnQgbGlzdHMKLSAgICBjYXQgPiR7V09SS0RJUn0vbWVzb24uY3Jvc3MgPDxFT0YKLVtiaW5hcmllc10KLWMgPSBAQENDQEAKLWNwcCA9IEBAQ1hYQEAKLWFyID0gQEBBUkBACi1ubSA9IEBATk1AQAotbGQgPSBAQExEQEAKLXN0cmlwID0gQEBTVFJJUEBACi1wa2djb25maWcgPSAncGtnLWNvbmZpZycKLQotW3Byb3BlcnRpZXNdCi1uZWVkc19leGVfd3JhcHBlciA9IHRydWUKLWNfYXJncyA9IEBAQ0ZMQUdTQEAKLWNfbGlua19hcmdzID0gQEBMREZMQUdTQEAKLWNwcF9hcmdzID0gQEBDUFBGTEFHU0BACi1jcHBfbGlua19hcmdzID0gQEBMREZMQUdTQEAKLQotW2hvc3RfbWFjaGluZV0KLXN5c3RlbSA9ICcke1NES19PU30nCi1jcHVfZmFtaWx5ID0gJyR7U0RLX0FSQ0h9JwotY3B1ID0gJyR7U0RLX0FSQ0h9JwotZW5kaWFuID0gJyR7TUVTT05fU0RLX0VORElBTn0nCi1FT0YKLX0KLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9tZXNvbgotICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L21lc29uLmNyb3NzICR7RH0ke2RhdGFkaXJ9L21lc29uLwotCi0gICAgaW5zdGFsbCAtZCAke0R9JHtTREtQQVRITkFUSVZFfS9wb3N0LXJlbG9jYXRlLXNldHVwLmQKLSAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9tZXNvbi1zZXR1cC5weSAke0R9JHtTREtQQVRITkFUSVZFfS9wb3N0LXJlbG9jYXRlLXNldHVwLmQvCi0KLSAgICAjIFdlIG5lZWQgdG8gd3JhcCB0aGUgcmVhbCBtZXNvbiB3aXRoIGEgdGhpbiBlbnYgc2V0dXAgd3JhcHBlci4KLSAgICBtdiAke0R9JHtiaW5kaXJ9L21lc29uICR7RH0ke2JpbmRpcn0vbWVzb24ucmVhbAotICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L21lc29uLXdyYXBwZXIgJHtEfSR7YmluZGlyfS9tZXNvbgotfQotCi1SREVQRU5EU18ke1BOfSArPSAiXAotICAgIG5hdGl2ZXNkay1uaW5qYSBcCi0gICAgbmF0aXZlc2RrLXB5dGhvbjMtY29yZSBcCi0gICAgbmF0aXZlc2RrLXB5dGhvbjMtbWlzYyBcCi0gICAgbmF0aXZlc2RrLXB5dGhvbjMtbW9kdWxlcyBcCi0gICAgIgotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9tZXNvbiAke1NES1BBVEhOQVRJVkV9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbmF0aXZlc2RrLW1lc29uXzAuNDkuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL25hdGl2ZXNkay1tZXNvbl8wLjQ5LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTU0OTM1NwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL25hdGl2ZXNkay1tZXNvbl8wLjQ5LjIuYmIKQEAgLTAsMCArMSw3MSBAQAoraW5jbHVkZSBtZXNvbi5pbmMKKworaW5oZXJpdCBuYXRpdmVzZGsKK2luaGVyaXQgc2l0ZWluZm8KKworU1JDX1VSSSArPSAiZmlsZTovL21lc29uLXNldHVwLnB5IFwKKyAgICAgICAgICAgIGZpbGU6Ly9tZXNvbi13cmFwcGVyIgorCitkZWYgbWVzb25fZW5kaWFuKHByZWZpeCwgZCk6CisgICAgYXJjaCwgb3MgPSBkLmdldFZhcihwcmVmaXggKyAiX0FSQ0giKSwgZC5nZXRWYXIocHJlZml4ICsgIl9PUyIpCisgICAgc2l0ZWRhdGEgPSBzaXRlaW5mb19kYXRhX2Zvcl9tYWNoaW5lKGFyY2gsIG9zLCBkKQorICAgIGlmICJlbmRpYW4tbGl0dGxlIiBpbiBzaXRlZGF0YToKKyAgICAgICAgcmV0dXJuICJsaXR0bGUiCisgICAgZWxpZiAiZW5kaWFuLWJpZyIgaW4gc2l0ZWRhdGE6CisgICAgICAgIHJldHVybiAiYmlnIgorICAgIGVsc2U6CisgICAgICAgIGJiLmZhdGFsKCJDYW5ub3QgZGV0ZXJtaW5lIGVuZGlhbmlzbSBmb3IgJXMtJXMiICUgKGFyY2gsIG9zKSkKKworTUVTT05fVE9PTENIQUlOX0FSR1MgPSAiJHtCVUlMRFNES19DQ19BUkNIfSR7VE9PTENIQUlOX09QVElPTlN9IgorTUVTT05fQ19BUkdTID0gIiR7TUVTT05fVE9PTENIQUlOX0FSR1N9ICR7QlVJTERTREtfQ0ZMQUdTfSIKK01FU09OX0NQUF9BUkdTID0gIiR7TUVTT05fVE9PTENIQUlOX0FSR1N9ICR7QlVJTERTREtfQ1hYRkxBR1N9IgorTUVTT05fTElOS19BUkdTID0gIiR7TUVTT05fVE9PTENIQUlOX0FSR1N9ICR7QlVJTERTREtfTERGTEFHU30iCisKKyMgVGhlIGNyb3NzIGZpbGUgbG9naWMgaXMgc2ltaWxhciBidXQgbm90IGlkZW50aWNhbCB0byB0aGF0IGluIG1lc29uLmJiY2xhc3MsCisjIHNpbmNlIGl0J3MgZ2VuZXJhdGluZyBmb3IgYW4gU0RLIHJhdGhlciB0aGFuIGEgY3Jvc3MtY29tcGlsZS4gSW1wb3J0YW50CisjIGRpZmZlcmVuY2VzIGFyZToKKyMgLSBXZSBjYW4ndCBzZXQgdmFycyBsaWtlIENDLCBDWFgsIGV0Yy4geWV0IGJlY2F1c2UgdGhleSB3aWxsIGJlIGZpbGxlZCBpbiB3aXRoCisjICAgcmVhbCBwYXRocyBieSBtZXNvbi1zZXR1cC5zaCB3aGVuIHRoZSBTREsgaXMgZXh0cmFjdGVkLgorIyAtIFNvbWUgb3ZlcnJpZGVzIGFyZW4ndCBuZWVkZWQsIHNpbmNlIHRoZSBTREsgaW5qZWN0cyBwYXRocyB0aGF0IHRha2UgY2FyZSBvZgorIyAgIHRoZW0uCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L21lc29uCisgICAgY2F0ID4ke0R9JHtkYXRhZGlyfS9tZXNvbi9tZXNvbi5jcm9zcy50ZW1wbGF0ZSA8PEVPRgorW2JpbmFyaWVzXQorYyA9IEBDQworY3BwID0gQENYWAorYXIgPSBAQVIKK25tID0gQE5NCitsZCA9IEBMRAorc3RyaXAgPSBAU1RSSVAKK3BrZ2NvbmZpZyA9ICdwa2ctY29uZmlnJworCitbcHJvcGVydGllc10KK25lZWRzX2V4ZV93cmFwcGVyID0gdHJ1ZQorY19hcmdzID0gQENGTEFHUworY19saW5rX2FyZ3MgPSBATERGTEFHUworY3BwX2FyZ3MgPSBAQ1BQRkxBR1MKK2NwcF9saW5rX2FyZ3MgPSBATERGTEFHUworCitbaG9zdF9tYWNoaW5lXQorc3lzdGVtID0gJyR7U0RLX09TfScKK2NwdV9mYW1pbHkgPSAnJHtTREtfQVJDSH0nCitjcHUgPSAnJHtTREtfQVJDSH0nCitlbmRpYW4gPSAnJHtAbWVzb25fZW5kaWFuKCJTREsiLCBkKX0nCitFT0YKKworICAgIGluc3RhbGwgLWQgJHtEfSR7U0RLUEFUSE5BVElWRX0vcG9zdC1yZWxvY2F0ZS1zZXR1cC5kCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vbWVzb24tc2V0dXAucHkgJHtEfSR7U0RLUEFUSE5BVElWRX0vcG9zdC1yZWxvY2F0ZS1zZXR1cC5kLworCisgICAgIyBXZSBuZWVkIHRvIHdyYXAgdGhlIHJlYWwgbWVzb24gd2l0aCBhIHRoaW4gZW52IHNldHVwIHdyYXBwZXIuCisgICAgbXYgJHtEfSR7YmluZGlyfS9tZXNvbiAke0R9JHtiaW5kaXJ9L21lc29uLnJlYWwKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9tZXNvbi13cmFwcGVyICR7RH0ke2JpbmRpcn0vbWVzb24KK30KKworUkRFUEVORFNfJHtQTn0gKz0gIlwKKyAgICBuYXRpdmVzZGstbmluamEgXAorICAgIG5hdGl2ZXNkay1weXRob24zIFwKKyAgICBuYXRpdmVzZGstcHl0aG9uMy1zZXR1cHRvb2xzIFwKKyAgICAiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L21lc29uICR7U0RLUEFUSE5BVElWRX0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9ta2xpYnMvbWtsaWJzLW5hdGl2ZV8wLjEuNDMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9ta2xpYnMvbWtsaWJzLW5hdGl2ZV8wLjEuNDMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGExNjE0NzYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWtsaWJzL21rbGlicy1uYXRpdmVfMC4xLjQzLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotU1VNTUFSWSA9ICJTaGFyZWQgbGlicmFyeSBvcHRpbWlzYXRpb24gdG9vbCIKLURFU0NSSVBUSU9OID0gIm1rbGlicyBwcm9kdWNlcyBjdXQtZG93biBzaGFyZWQgbGlicmFyaWVzIHRoYXQgY29udGFpbiBvbmx5IHRoZSByb3V0aW5lcyByZXF1aXJlZCBieSBhIHBhcnRpY3VsYXIgc2V0IG9mIGV4ZWN1dGFibGVzLiIKLUhPTUVQQUdFID0gImh0dHBzOi8vbGF1bmNocGFkLm5ldC9ta2xpYnMiCi1TRUNUSU9OID0gImRldmVsIgotTElDRU5TRSA9ICJHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kZWJpYW4vY29weXJpZ2h0O21kNT05OGQzMTAzN2IxM2Q4OTZlMzM4OTA3MzhlZjAxYWY2NCIKLQotU1JDX1VSSSA9ICJodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi8yMDE2MTEyM1QxNTIwMTFaL3Bvb2wvbWFpbi9tL21rbGlicy9ta2xpYnNfJHtQVn0udGFyLnh6IFwKLQlmaWxlOi8vYWNfaW5pdF9maXgucGF0Y2hcCi0JZmlsZTovL2ZpeF9TVFRfR05VX0lGVU5DLnBhdGNoXAotCWZpbGU6Ly9zeXNyb290ZWQtbGRzby5wYXRjaCBcCi0JZmlsZTovL2F2b2lkLWZhaWx1cmUtb24tc3ltYm9sLXByb3ZpZGVkLWJ5LWFwcGxpY2F0aW9uLnBhdGNoIFwKLQlmaWxlOi8vc2hvdy1HTlUtdW5pcXVlLXN5bWJvbHMtYXMtcHJvdmlkZWQtc3ltYm9scy5wYXRjaCBcCi0JZmlsZTovL2ZpeF9jcm9zc19jb21waWxlLnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjM5YjA4YTE3MzQ1NGU1MjEwYWIzZjU5OGU5NDE3OWJmIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZmMGNmMjRhZGUxM2ZmZjc2ZTk0M2MwMDM0MTNkODVjM2U0OTdjOTg0Yzk1YzFlY2VhMWM5NzMxY2E4NmYxM2MiCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vbS9ta2xpYnMvIgotCi1pbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IG5hdGl2ZQotCi1TID0gIiR7V09SS0RJUn0vbWtsaWJzIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWtsaWJzL21rbGlicy1uYXRpdmVfMC4xLjQ0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWtsaWJzL21rbGlicy1uYXRpdmVfMC4xLjQ0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3ODRhZjEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9ta2xpYnMvbWtsaWJzLW5hdGl2ZV8wLjEuNDQuYmIKQEAgLTAsMCArMSwyMiBAQAorU1VNTUFSWSA9ICJTaGFyZWQgbGlicmFyeSBvcHRpbWlzYXRpb24gdG9vbCIKK0RFU0NSSVBUSU9OID0gIm1rbGlicyBwcm9kdWNlcyBjdXQtZG93biBzaGFyZWQgbGlicmFyaWVzIHRoYXQgY29udGFpbiBvbmx5IHRoZSByb3V0aW5lcyByZXF1aXJlZCBieSBhIHBhcnRpY3VsYXIgc2V0IG9mIGV4ZWN1dGFibGVzLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vbGF1bmNocGFkLm5ldC9ta2xpYnMiCitTRUNUSU9OID0gImRldmVsIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kZWJpYW4vY29weXJpZ2h0O21kNT05OGQzMTAzN2IxM2Q4OTZlMzM4OTA3MzhlZjAxYWY2NCIKKworU1JDX1VSSSA9ICJodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi8yMDE4MDgyOFQyMTQxMDJaL3Bvb2wvbWFpbi9tL21rbGlicy9ta2xpYnNfJHtQVn0udGFyLnh6IFwKKwlmaWxlOi8vYWNfaW5pdF9maXgucGF0Y2hcCisJZmlsZTovL2ZpeF9TVFRfR05VX0lGVU5DLnBhdGNoXAorCWZpbGU6Ly9zeXNyb290ZWQtbGRzby5wYXRjaCBcCisJZmlsZTovL2F2b2lkLWZhaWx1cmUtb24tc3ltYm9sLXByb3ZpZGVkLWJ5LWFwcGxpY2F0aW9uLnBhdGNoIFwKKwlmaWxlOi8vc2hvdy1HTlUtdW5pcXVlLXN5bWJvbHMtYXMtcHJvdmlkZWQtc3ltYm9scy5wYXRjaCBcCisJZmlsZTovL2ZpeF9jcm9zc19jb21waWxlLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjZiNmVlYjliNDAxNmM2YTczMTdhY2MyOGM4OWUzMmNjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNhZjBiNmJkMzVlNWI2ZmM1OGQ4YjY4ODI3ZmJhZTJmZjZiN2UyMGRkMmIyMzhjY2I5YjQ5ZDg0NzIyMDY2YzIiCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vbS9ta2xpYnMvIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IG5hdGl2ZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbXRkL210ZC11dGlsc19naXQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tdGQvbXRkLXV0aWxzX2dpdC5iYgppbmRleCBmNTNjNmMxLi45ZmZhYzJlIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tdGQvbXRkLXV0aWxzX2dpdC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tdGQvbXRkLXV0aWxzX2dpdC5iYgpAQCAtNyw3ICs3LDcgQEAKIAogaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHVwZGF0ZS1hbHRlcm5hdGl2ZXMKIAotREVQRU5EUyA9ICJ6bGliIGx6byBlMmZzcHJvZ3MgdXRpbC1saW51eCIKK0RFUEVORFMgPSAiemxpYiBlMmZzcHJvZ3MgdXRpbC1saW51eCIKIFJERVBFTkRTX210ZC11dGlscy10ZXN0cyArPSAiYmFzaCIKIAogUFYgPSAiMi4wLjIrJHtTUkNQVn0iCkBAIC0yNSw4ICsyNSw5IEBACiAjIHhhdHRyIHN1cHBvcnQgY3JlYXRlcyBhbiBhZGRpdGlvbmFsIGNvbXBpbGUtdGltZSBkZXBlbmRlbmN5IG9uIGFjbCBiZWNhdXNlCiAjIHRoZSBzeXMvYWNsLmggaGVhZGVyIGlzIG5lZWRlZC4gbGliYWNsIGlzIG5vdCBuZWVkZWQgYW5kIHRodXMgZW5hYmxpbmcgeGF0dHIKICMgcmVnYXJkbGVzcyB3aGV0aGVyIGFjbCBpcyBlbmFibGVkIG9yIGRpc2FibGVkIGluIHRoZSBkaXN0cm8gc2hvdWxkIGJlIG9rYXkuCi1QQUNLQUdFQ09ORklHID89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd4YXR0cicsIGQpfSIKLVBBQ0tBR0VDT05GSUdbeGF0dHJdID0gIiwsYWNsLCIKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd4YXR0cicsIGQpfSBsem8iCitQQUNLQUdFQ09ORklHW2x6b10gPSAiLS13aXRoLWx6bywtLXdpdGhvdXQtbHpvLGx6byIKK1BBQ0tBR0VDT05GSUdbeGF0dHJdID0gIi0td2l0aC14YXR0ciwtLXdpdGhvdXQteGF0dHIsYWNsIgogCiBDUFBGTEFHU19hcHBlbmRfcmlzY3Y2NCAgPSAiIC1wdGhyZWFkIC1EX1JFRU5UUkFOVCIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbXRvb2xzL210b29scy9kaXNhYmxlLWhhcmRjb2RlZC1jb25maWdzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbXRvb2xzL210b29scy9kaXNhYmxlLWhhcmRjb2RlZC1jb25maWdzLnBhdGNoCmluZGV4IDAxNDU1ZjEuLjQ2NGNjYzQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL210b29scy9tdG9vbHMvZGlzYWJsZS1oYXJkY29kZWQtY29uZmlncy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tdG9vbHMvbXRvb2xzL2Rpc2FibGUtaGFyZGNvZGVkLWNvbmZpZ3MucGF0Y2gKQEAgLTEsMTIgKzEsMjEgQEAKLURpc2FibGVkIHJlYWRpbmcgaG9zdCBjb25maWdzLgorRnJvbSA1YzI0MzU2NzYyYmM0Mjc0ZDNjYTQ5MzBiMGJjNzc1NGY0ZmZkMTliIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRWQgQmFydG9zaCA8ZWQuYmFydG9zaEBsaW51eC5pbnRlbC5jb20+CitEYXRlOiBUdWUsIDEzIEp1biAyMDE3IDE0OjU1OjUyICswMzAwCitTdWJqZWN0OiBbUEFUQ0hdIERpc2FibGVkIHJlYWRpbmcgaG9zdCBjb25maWdzLgogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW25hdGl2ZV0KIAogU2lnbmVkLW9mZi1ieTogRWQgQmFydG9zaCA8ZWQuYmFydG9zaEBsaW51eC5pbnRlbC5jb20+CiAKLS0tLSBtdG9vbHMtNC4wLjE4L2NvbmZpZy5jLm9yaWcJMjAxNy0wNi0xMyAxMjoyNzozOC42NDQwMDAwMDAgKzAzMDAKLSsrKyBtdG9vbHMtNC4wLjE4L2NvbmZpZy5jCTIwMTctMDYtMTMgMTI6Mjg6NDcuNTc2MDAwMDAwICswMzAwCi1AQCAtNzAxLDE0ICs3MDEsNiBAQAorLS0tCisgY29uZmlnLmMgfCA4IC0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWcuYyBiL2NvbmZpZy5jCitpbmRleCBmMDg2ODgzLi4xYzNmOWJkIDEwMDY0NAorLS0tIGEvY29uZmlnLmMKKysrKyBiL2NvbmZpZy5jCitAQCAtNzAxLDE0ICs3MDEsNiBAQCB2b2lkIHJlYWRfY29uZmlnKHZvaWQpCiAgCW1lbWNweShkZXZpY2VzLCBjb25zdF9kZXZpY2VzLAogIAkgICAgICAgbnJfY29uc3RfZGV2aWNlcypzaXplb2Yoc3RydWN0IGRldmljZSkpOwogIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbXRvb2xzL210b29sc180LjAuMTguYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tdG9vbHMvbXRvb2xzXzQuMC4xOC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2MzMWFjYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tdG9vbHMvbXRvb2xzXzQuMC4xOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAKLVNVTU1BUlkgPSAiVXRpbGl0aWVzIHRvIGFjY2VzcyBNUy1ET1MgZGlza3Mgd2l0aG91dCBtb3VudGluZyB0aGVtIgotREVTQ1JJUFRJT04gPSAiTXRvb2xzIGlzIGEgY29sbGVjdGlvbiBvZiB1dGlsaXRpZXMgdG8gYWNjZXNzIE1TLURPUyBkaXNrcyBmcm9tIEdOVSBhbmQgVW5peCB3aXRob3V0IG1vdW50aW5nIHRoZW0uIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL210b29scy8iCi1TRUNUSU9OID0gIm9wdGlvbmFsIgotTElDRU5TRSA9ICJHUEx2MyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgotCi1ERVBFTkRTICs9ICJ2aXJ0dWFsL2xpYmljb252IgotCi1SREVQRU5EU18ke1BOfV9saWJjLWdsaWJjID0gImdsaWJjLWdjb252LWlibTg1MCIKLVJSRUNPTU1FTkRTXyR7UE59X2xpYmMtZ2xpYmMgPSAiXAotCWdsaWJjLWdjb252LWlibTQzNyBcCi0JZ2xpYmMtZ2NvbnYtaWJtNzM3IFwKLQlnbGliYy1nY29udi1pYm03NzUgXAotCWdsaWJjLWdjb252LWlibTg1MSBcCi0JZ2xpYmMtZ2NvbnYtaWJtODUyIFwKLQlnbGliYy1nY29udi1pYm04NTUgXAotCWdsaWJjLWdjb252LWlibTg1NyBcCi0JZ2xpYmMtZ2NvbnYtaWJtODYwIFwKLQlnbGliYy1nY29udi1pYm04NjEgXAotCWdsaWJjLWdjb252LWlibTg2MiBcCi0JZ2xpYmMtZ2NvbnYtaWJtODYzIFwKLQlnbGliYy1nY29udi1pYm04NjUgXAotCWdsaWJjLWdjb252LWlibTg2NiBcCi0JZ2xpYmMtZ2NvbnYtaWJtODY5IFwKLQkiCi1TUkNfVVJJW21kNXN1bV0gPSAiYTIzNjQ2NjE3NTQ2YmY2YWQ1NmYwNjFkOGIyODNjODUiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTllOWNmODA4ODUzOTljNGYyMjllNWQ4N2U0OWMwYzJiZmVlYzA0NGUxMzg2ZDU5ZmNkMGIwYWVhZDZiMmY4NSIKLQotU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9L210b29scy9tdG9vbHMtJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9tdG9vbHMtbWFrZWluZm8ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbm8teDExLmdwbHYzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtQ29udGludWUtZXZlbi1pZi1mcy1zaXplLWlzLW5vdC1kaXZpc2libGUtYnktc2VjdG9ycy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXJlbW92ZS1MT0NLX05CLXRvLXVzZS1ibG9ja2luZy1yZXF1ZXN0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2NsYW5nX1VOVVNFRC5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBmaWxlOi8vZGlzYWJsZS1oYXJkY29kZWQtY29uZmlncy5wYXRjaCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgdGV4aW5mbwotCi1FWFRSQV9PRUNPTkYgPSAiLS13aXRob3V0LXgiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiIKLVBBQ0tBR0VDT05GSUdbbGliYnNkXSA9ICJhY19jdl9saWJfYnNkX21haW49eWVzLGFjX2N2X2xpYl9ic2RfbWFpbj1ubyxsaWJic2QiCi0KLWRvX2luc3RhbGxfcHJlcGVuZCAoKSB7Ci0gICAgIyBDcmVhdGUgYmluZGlyIHRvIGZpeCBwYXJhbGxlbCBpbnN0YWxsYXRpb24gaXNzdWVzCi0gICAgbWtkaXIgLXAgJHtEfS8ke2JpbmRpcn0KLSAgICBta2RpciAtcCAke0R9LyR7ZGF0YWRpcn0KLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL210b29scy9tdG9vbHNfNC4wLjE5LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbXRvb2xzL210b29sc180LjAuMTkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2Q1OWQ5MwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL210b29scy9tdG9vbHNfNC4wLjE5LmJiCkBAIC0wLDAgKzEsNTMgQEAKK1NVTU1BUlkgPSAiVXRpbGl0aWVzIHRvIGFjY2VzcyBNUy1ET1MgZGlza3Mgd2l0aG91dCBtb3VudGluZyB0aGVtIgorREVTQ1JJUFRJT04gPSAiTXRvb2xzIGlzIGEgY29sbGVjdGlvbiBvZiB1dGlsaXRpZXMgdG8gYWNjZXNzIE1TLURPUyBkaXNrcyBmcm9tIEdOVSBhbmQgVW5peCB3aXRob3V0IG1vdW50aW5nIHRoZW0uIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL210b29scy8iCitTRUNUSU9OID0gIm9wdGlvbmFsIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitERVBFTkRTICs9ICJ2aXJ0dWFsL2xpYmljb252IgorCitSREVQRU5EU18ke1BOfV9saWJjLWdsaWJjID0gImdsaWJjLWdjb252LWlibTg1MCIKK1JSRUNPTU1FTkRTXyR7UE59X2xpYmMtZ2xpYmMgPSAiXAorCWdsaWJjLWdjb252LWlibTQzNyBcCisJZ2xpYmMtZ2NvbnYtaWJtNzM3IFwKKwlnbGliYy1nY29udi1pYm03NzUgXAorCWdsaWJjLWdjb252LWlibTg1MSBcCisJZ2xpYmMtZ2NvbnYtaWJtODUyIFwKKwlnbGliYy1nY29udi1pYm04NTUgXAorCWdsaWJjLWdjb252LWlibTg1NyBcCisJZ2xpYmMtZ2NvbnYtaWJtODYwIFwKKwlnbGliYy1nY29udi1pYm04NjEgXAorCWdsaWJjLWdjb252LWlibTg2MiBcCisJZ2xpYmMtZ2NvbnYtaWJtODYzIFwKKwlnbGliYy1nY29udi1pYm04NjUgXAorCWdsaWJjLWdjb252LWlibTg2NiBcCisJZ2xpYmMtZ2NvbnYtaWJtODY5IFwKKwkiCitTUkNfVVJJW21kNXN1bV0gPSAiZjc1MDI0NmE2NWVlNmY5ZDJlODJkMTBiMDNhMGFhYWYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWJjMTk3MTk5ZWExYzJjMzE3ZjU5Nzg3OTQ4NmVlYjgxN2YzMTk5YjUyNmQ5NGNjNjg0MTYyNDc2OGQ5MTBkZiIKKworU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9L210b29scy9tdG9vbHMtJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9tdG9vbHMtbWFrZWluZm8ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbm8teDExLmdwbHYzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtQ29udGludWUtZXZlbi1pZi1mcy1zaXplLWlzLW5vdC1kaXZpc2libGUtYnktc2VjdG9ycy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXJlbW92ZS1MT0NLX05CLXRvLXVzZS1ibG9ja2luZy1yZXF1ZXN0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2NsYW5nX1VOVVNFRC5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBmaWxlOi8vZGlzYWJsZS1oYXJkY29kZWQtY29uZmlncy5wYXRjaCIKKworaW5oZXJpdCBhdXRvdG9vbHMgdGV4aW5mbyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworRVhUUkFfT0VDT05GID0gIi0td2l0aG91dC14IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2xpYmJzZF0gPSAiYWNfY3ZfbGliX2JzZF9tYWluPXllcyxhY19jdl9saWJfYnNkX21haW49bm8sbGliYnNkIgorCitkb19pbnN0YWxsX3ByZXBlbmQgKCkgeworICAgICMgQ3JlYXRlIGJpbmRpciB0byBmaXggcGFyYWxsZWwgaW5zdGFsbGF0aW9uIGlzc3VlcworICAgIG1rZGlyIC1wICR7RH0vJHtiaW5kaXJ9CisgICAgbWtkaXIgLXAgJHtEfS8ke2RhdGFkaXJ9Cit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uYXNtL25hc20vMDAwMS1WZXJpZnktdGhhdC13ZS1hcmUtbm90LXJlYWRpbmctcGFzdC1lbmQtb2YtYS1idWZmZXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uYXNtL25hc20vMDAwMS1WZXJpZnktdGhhdC13ZS1hcmUtbm90LXJlYWRpbmctcGFzdC1lbmQtb2YtYS1idWZmZXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE1NmEwOGIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbmFzbS9uYXNtLzAwMDEtVmVyaWZ5LXRoYXQtd2UtYXJlLW5vdC1yZWFkaW5nLXBhc3QtZW5kLW9mLWEtYnVmZmVyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjUgKzAsMCBAQAotRnJvbSBjNTc4NWZkZjFkNjYwZWFlZmI5NzExMjg0NDE0MjYyZDBjZmU4ODQzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWRhbSBNYWplciA8YW1hamVyQHN1c2UuZGU+Ci1EYXRlOiBGcmksIDE3IEF1ZyAyMDE4IDE0OjQ4OjE3ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIFZlcmlmeSB0aGF0IHdlIGFyZSBub3QgcmVhZGluZyBwYXN0IGVuZCBvZiBhIGJ1ZmZlcgotCi1TaW1wbGUgcmVwcm9kdWNlciBpcyBqdXN0LAotCi0gICAgcmV0ICZkOmVwCi0KLXdoaWNoIHRyaWdnZXJzIGEgYnVmZmVyIG92ZXJyZWFkIGR1ZSB0byBwYXJzaW5nIG9mIGFuIGludmFsaWQKLXNlZ21lbnQgb3ZlcnJpZGUuCi0KLVNpZ25lZC1vZmYtYnk6IEFkYW0gTWFqZXIgPGFtYWplckBzdXNlLmRlPgotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9idWd6aWxsYS5uYXNtLnVzL3Nob3dfYnVnLmNnaT9pZD0zMzkyNDQ3XQotQ1ZFOiBDVkUtMjAxOC04ODgzCi1TaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBpbmNsdWRlL29wZmxhZ3MuaCB8IDIgKy0KLSBpbmNsdWRlL3RhYmxlcy5oICB8IDEgKwotIHg4Ni9yZWdzLnBsICAgICAgIHwgMyArKy0KLSAzIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2luY2x1ZGUvb3BmbGFncy5oIGIvaW5jbHVkZS9vcGZsYWdzLmgKLWluZGV4IGVmMjgzOGMxLi44ZDRiNmIxZSAxMDA2NDQKLS0tLSBhL2luY2x1ZGUvb3BmbGFncy5oCi0rKysgYi9pbmNsdWRlL29wZmxhZ3MuaAotQEAgLTE2Niw3ICsxNjYsNyBAQAotICNkZWZpbmUgUkVHX0NMQVNTX0JORCAgICAgICAgICAgR0VOX1JFR19DTEFTUyg5KQotIAotICNkZWZpbmUgaXNfY2xhc3MoY2xhc3MsIG9wKSAgICAgICAgICghKChvcGZsYWdzX3QpKGNsYXNzKSAmIH4ob3BmbGFnc190KShvcCkpKQotLSNkZWZpbmUgaXNfcmVnX2NsYXNzKGNsYXNzLCByZWcpICAgIGlzX2NsYXNzKChjbGFzcyksIG5hc21fcmVnX2ZsYWdzWyhyZWcpXSkKLSsjZGVmaW5lIGlzX3JlZ19jbGFzcyhjbGFzcywgcmVnKSAgICBpc19jbGFzcygoY2xhc3MpLCAoKHJlZykgPCBuYXNtX3JlZ19mbGFnc19zaXplID8gbmFzbV9yZWdfZmxhZ3NbKHJlZyldIDogMCkpCi0gCi0gI2RlZmluZSBJU19TUkVHKHJlZykgICAgICAgICAgICAgICAgaXNfcmVnX2NsYXNzKFJFR19TUkVHLCAocmVnKSkKLSAjZGVmaW5lIElTX0ZTR1MocmVnKSAgICAgICAgICAgICAgICBpc19yZWdfY2xhc3MoUkVHX0ZTR1MsIChyZWcpKQotZGlmZiAtLWdpdCBhL2luY2x1ZGUvdGFibGVzLmggYi9pbmNsdWRlL3RhYmxlcy5oCi1pbmRleCAyNGE2NjVlMi4uNDU4NzUyY2UgMTAwNjQ0Ci0tLS0gYS9pbmNsdWRlL3RhYmxlcy5oCi0rKysgYi9pbmNsdWRlL3RhYmxlcy5oCi1AQCAtNjQsNiArNjQsNyBAQCBleHRlcm4gY29uc3QgY2hhciAqIGNvbnN0IG5hc21fcmVnX25hbWVzW107Ci0gdHlwZWRlZiB1aW50NjRfdCBvcGZsYWdzX3Q7Ci0gdHlwZWRlZiB1aW50MTZfdCAgZGVjb2ZsYWdzX3Q7Ci0gZXh0ZXJuIGNvbnN0IG9wZmxhZ3NfdCBuYXNtX3JlZ19mbGFnc1tdOwotK2V4dGVybiBjb25zdCBzaXplX3QgbmFzbV9yZWdfZmxhZ3Nfc2l6ZTsKLSAvKiByZWd2YWxzLmMgKi8KLSBleHRlcm4gY29uc3QgaW50IG5hc21fcmVndmFsc1tdOwotIAotZGlmZiAtLWdpdCBhL3g4Ni9yZWdzLnBsIGIveDg2L3JlZ3MucGwKLWluZGV4IDNhMWI1NmY1Li5jYjVjZWE2OCAxMDA3NTUKLS0tLSBhL3g4Ni9yZWdzLnBsCi0rKysgYi94ODYvcmVncy5wbAotQEAgLTE1OCw3ICsxNTgsOCBAQCBpZiAoICRmbXQgZXEgJ2gnICkgewotIAlwcmludGYgIiAgICAlLTE1cyAvKiAlLTVzICovXG4iLAotIAkJJHJlZ3N7JHJlZ30uJywnLCAkcmVnOwotICAgICB9Ci0tICAgIHByaW50ICJ9O1xuIjsKLSsgICAgcHJpbnQgIn07XG5cbiI7Ci0rICAgIHByaW50ICJjb25zdCBzaXplX3QgbmFzbV9yZWdfZmxhZ3Nfc2l6ZSA9IHNpemVvZihuYXNtX3JlZ19mbGFncykgLyBzaXplb2Yob3BmbGFnc190KTtcbiI7Ci0gfSBlbHNpZiAoICRmbXQgZXEgJ3ZjJyApIHsKLSAgICAgIyBPdXRwdXQgcmVndmFscy5jCi0gICAgIHByaW50ICIvKiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tICRmaWxlIC0gZG8gbm90IGVkaXQgKi9cblxuIjsKLS0tIAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25hc20vbmFzbS8wMDAxLWFzbWxpYi1Ecm9wLXB1cmUtZnVuY3Rpb24tYXR0cmlidXRlLWZyb20tc2VnX2luaXQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uYXNtL25hc20vMDAwMS1hc21saWItRHJvcC1wdXJlLWZ1bmN0aW9uLWF0dHJpYnV0ZS1mcm9tLXNlZ19pbml0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMmFlM2E5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25hc20vbmFzbS8wMDAxLWFzbWxpYi1Ecm9wLXB1cmUtZnVuY3Rpb24tYXR0cmlidXRlLWZyb20tc2VnX2luaXQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1Gcm9tIDc3YzNhNzcyMTBkOGNhOGI5NGU5OTljNzExMTU2ZTk4NGE4ZGM3MzcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU2F0LCAzMSBNYXIgMjAxOCAxMTowNTozMyAtMDcwMAotU3ViamVjdDogW1BBVENIXSBhc21saWI6IERyb3AgcHVyZSBmdW5jdGlvbiBhdHRyaWJ1dGUgZnJvbSBzZWdfaW5pdAotCi1zZWdfaW5pdCByZXR1cm5zIHZvaWQsIHNvIGl0IGlzIGltcHVyZSBmdW5jdGlvbgotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZAotCi0gaW5jbHVkZS9uYXNtbGliLmggfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9pbmNsdWRlL25hc21saWIuaCBiL2luY2x1ZGUvbmFzbWxpYi5oCi1pbmRleCA3OWU4NjZiLi5iODBiN2UyIDEwMDY0NAotLS0tIGEvaW5jbHVkZS9uYXNtbGliLmgKLSsrKyBiL2luY2x1ZGUvbmFzbWxpYi5oCi1AQCAtMTkxLDcgKzE5MSw3IEBAIGludDY0X3QgcmVhZHN0cm51bShjaGFyICpzdHIsIGludCBsZW5ndGgsIGJvb2wgKndhcm4pOwotICAqIHNlZ19pbml0OiBJbml0aWFsaXNlIHRoZSBzZWdtZW50LW51bWJlciBhbGxvY2F0b3IuCi0gICogc2VnX2FsbG9jOiBhbGxvY2F0ZSBhIGhpdGhlcnRvIHVudXNlZCBzZWdtZW50IG51bWJlci4KLSAgKi8KLS12b2lkIHB1cmVfZnVuYyBzZWdfaW5pdCh2b2lkKTsKLSt2b2lkIHNlZ19pbml0KHZvaWQpOwotIGludDMyX3QgcHVyZV9mdW5jIHNlZ19hbGxvYyh2b2lkKTsKLSAKLSAvKgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbmFzbS9uYXNtLzAwMDEtYXNzZW1ibGUtQ2hlY2stZ2xvYmFsLWxpbmUtbGltaXQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uYXNtL25hc20vMDAwMS1hc3NlbWJsZS1DaGVjay1nbG9iYWwtbGluZS1saW1pdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjgyZDRjNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uYXNtL25hc20vMDAwMS1hc3NlbWJsZS1DaGVjay1nbG9iYWwtbGluZS1saW1pdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLUZyb20gN2E0NmQ2YjllM2ExZDhhMGFiMGQ4MTZlZjFiZjE5NGFkMjg1ZTA4MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ICJDaGFuZyBTLiBCYWUiIDxjaGFuZy5zZW9rLmJhZUBpbnRlbC5jb20+Ci1EYXRlOiBGcmksIDE3IEF1ZyAyMDE4IDE0OjI2OjAzICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIGFzc2VtYmxlOiBDaGVjayBnbG9iYWwgbGluZSBsaW1pdAotCi1XaXRob3V0IHRoZSBsaW1pdCwgdGhlIHdoaWxlIGxvb3Agb3BlbnMgdG8gc2VtaS1pbmZpbml0ZQotdGhhdCB3aWxsIGV4aGF1c3RpdmVseSBjb25zdW1lIHRoZSBoZWFwIHNwYWNlLiBBbHNvLCB0aGUKLWluZGV4IHZhbHVlIGdldHMgaW50byB0aGUgZ2FyYmFnZS4KLQotaHR0cHM6Ly9idWd6aWxsYS5uYXNtLnVzL3Nob3dfYnVnLmNnaT9pZD0zMzkyNDc0Ci0KLVJlcG9ydGVkLWJ5IDogRG9uZ2xpYW5nIE11IDxtdWRvbmdsaWFuZ2FiY2RAZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogQ2hhbmcgUy4gQmFlIDxjaGFuZy5zZW9rLmJhZUBpbnRlbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBDeXJpbGwgR29yY3Vub3YgPGdvcmN1bm92QGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBmcm9tIHVwc3RyZWFtIFtodHRwOi8vcmVwby5vci5jei9uYXNtLmdpdF0KLUNWRTogQ1ZFLTIwMTgtMTAzMTYKLVNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLS0tLQotIGFzbS9uYXNtLmMgfCA3ICsrKysrKy0KLSAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9hc20vbmFzbS5jIGIvYXNtL25hc20uYwotaW5kZXggODQ5N2VjOS4uODFmNmNlZSAxMDA2NDQKLS0tLSBhL2FzbS9uYXNtLmMKLSsrKyBiL2FzbS9uYXNtLmMKLUBAIC05OSw2ICs5OSw4IEBAIHN0YXRpYyBjaGFyIG91dG5hbWVbRklMRU5BTUVfTUFYXTsKLSBzdGF0aWMgY2hhciBsaXN0bmFtZVtGSUxFTkFNRV9NQVhdOwotIHN0YXRpYyBjaGFyIGVycm5hbWVbRklMRU5BTUVfTUFYXTsKLSBzdGF0aWMgaW50IGdsb2JhbGxpbmVubzsgICAgICAgIC8qIGZvciBmb3J3YXJkLXJlZmVyZW5jZSB0cmFja2luZyAqLwotKyNkZWZpbmUgR0xPQkFMTElORU5PX01BWCAgICBJTlQzMl9NQVgKLSsKLSAvKiBzdGF0aWMgaW50IHBhc3MgPSAwOyAqLwotIGNvbnN0IHN0cnVjdCBvZm10ICpvZm10ID0gJk9GX0RFRkFVTFQ7Ci0gY29uc3Qgc3RydWN0IG9mbXRfYWxpYXMgKm9mbXRfYWxpYXMgPSBOVUxMOwotQEAgLTEzNjAsNyArMTM2MiwxMCBAQCBzdGF0aWMgdm9pZCBhc3NlbWJsZV9maWxlKGNoYXIgKmZuYW1lLCBTdHJMaXN0ICoqZGVwZW5kX3B0cikKLSAgICAgICAgIGxvY2F0aW9uLm9mZnNldCA9IG9mZnMgPSBnZXRfY3Vycl9vZmZzKCk7Ci0gCi0gICAgICAgICB3aGlsZSAoKGxpbmUgPSBwcmVwcm9jLT5nZXRsaW5lKCkpKSB7Ci0tICAgICAgICAgICAgZ2xvYmFsbGluZW5vKys7Ci0rICAgICAgICAgICAgaWYgKGdsb2JhbGxpbmVubysrID09IEdMT0JBTExJTkVOT19NQVgpCi0rICAgICAgICAgICAgICAgIG5hc21fZXJyb3IoRVJSX0ZBVEFMLAotKyAgICAgICAgICAgICAgICAgICAgIm92ZXJhbGwgbGluZSBudW1iZXIgcmVhY2hlcyB0aGUgbWF4aW11bSAlZFxuIiwKLSsgICAgICAgICAgICAgICAgICAgIEdMT0JBTExJTkVOT19NQVgpOwotIAotICAgICAgICAgICAgIC8qCi0gICAgICAgICAgICAgICogSGVyZSB3ZSBwYXJzZSBvdXIgZGlyZWN0aXZlczsgdGhpcyBpcyBub3QgaGFuZGxlZCBieSB0aGUKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbmFzbS9uYXNtLzAwMDEtZXZhbC1FbGltaW5hdGUtZGl2aXNpb24tYnktemVyby5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25hc20vbmFzbS8wMDAxLWV2YWwtRWxpbWluYXRlLWRpdmlzaW9uLWJ5LXplcm8ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZjMzMyNDkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbmFzbS9uYXNtLzAwMDEtZXZhbC1FbGltaW5hdGUtZGl2aXNpb24tYnktemVyby5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLUZyb20gY2VlYzBkODE4Nzk4YWVhYTc1ZWQ0OTA3ZTYxMzViMDI0N2VkNDZiMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEN5cmlsbCBHb3JjdW5vdiA8Z29yY3Vub3ZAZ21haWwuY29tPgotRGF0ZTogU3VuLCAxNCBPY3QgMjAxOCAwMToyNjoxOSArMDMwMAotU3ViamVjdDogW1BBVENIXSBldmFsOiBFbGltaW5hdGUgZGl2aXNpb24gYnkgemVybwotCi1XaGVuIGRvaW5nIGRpdmlzaW9uIHdlIHNob3VsZCBkZXRlY3QgaWYgdGhlIHZhbHVlIHdlJ3JlCi1kaXZpZGVkIGJ5IGlzIG5vdCB6ZXJvLiBJbnN0ZWFkIG9mIGlzX3Vua25vd24oKSBoZWxwZXIKLXdlIHNob3VsZCB1c2UgaXNfanVzdF91bmtub3duKCkuCi0KLWh0dHBzOi8vYnVnemlsbGEubmFzbS51cy9zaG93X2J1Zy5jZ2k/aWQ9MzM5MjUxNQotaHR0cHM6Ly9idWd6aWxsYS5uYXNtLnVzL3Nob3dfYnVnLmNnaT9pZD0zMzkyNDczCi0KLVJlcG9ydGVkLWJ5OiBKdW4gPGp4eDEzQHBzdS5lZHU+Ci1SZXBvcnRlZC1ieTogc3R1YXJ0bHkgPHNpdHVsaW5neXVuQGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEN5cmlsbCBHb3JjdW5vdiA8Z29yY3Vub3ZAZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGh1Yi5jb20vbmV0d2lkZS1hc3NlbWJsZXIvbmFzbS9jb21taXQvY2VlYzBkODE4Nzk4YWVhYTc1ZWQ0OTA3ZTYxMzViMDI0N2VkNDZiMi5wYXRjaF0KLUNWRTogQ1ZFLTIwMTgtMTAwMTYKLVNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLQotLS0tCi0gYXNtL2V2YWwuYyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2FzbS9ldmFsLmMgYi9hc20vZXZhbC5jCi1pbmRleCAxYTY2ODBmLi43ZTcyN2E0IDEwMDY0NAotLS0tIGEvYXNtL2V2YWwuYwotKysrIGIvYXNtL2V2YWwuYwotQEAgLTU4MCw3ICs1ODAsNyBAQCBzdGF0aWMgZXhwciAqZXhwcjUoaW50IGNyaXRpY2FsKQotICAgICAgICAgICAgICAgICAgICIgc2NhbGFyIHZhbHVlcyIpOwotICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICAgfQotLSAgICAgICAgaWYgKGogIT0gJyonICYmICFpc191bmtub3duKGYpICYmIHJlbG9jX3ZhbHVlKGYpID09IDApIHsKLSsgICAgICAgIGlmIChqICE9ICcqJyAmJiAhaXNfanVzdF91bmtub3duKGYpICYmIHJlbG9jX3ZhbHVlKGYpID09IDApIHsKLSAgICAgICAgICAgICBuYXNtX2Vycm9yKEVSUl9OT05GQVRBTCwgImRpdmlzaW9uIGJ5IHplcm8iKTsKLSAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgIH0KLS0tIAotMi4xMC4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25hc20vbmFzbS8wMDAxLWZpeC1DVkUtMjAxOC04ODgyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbmFzbS9uYXNtLzAwMDEtZml4LUNWRS0yMDE4LTg4ODIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJjNzA2YzMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbmFzbS9uYXNtLzAwMDEtZml4LUNWRS0yMDE4LTg4ODIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi1Gcm9tIDMzNDM4MDM3ZTAwZWM3NTBiZmYwMjA1NzhiMWE1YjZmNzVmNjA1NTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBZGFtIE1hamVyIDxhbWFqZXJAc3VzZS5kZT4KLURhdGU6IEZyaSwgMTcgQXVnIDIwMTggMTQ6NDE6MDIgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gZml4IENWRS0yMDE4LTg4ODIKLQotaHR0cHM6Ly9idWd6aWxsYS5uYXNtLnVzL3Nob3dfYnVnLmNnaT9pZD0zMzkyNDQ1Ci0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2J1Z3ppbGxhLm5hc20udXMvc2hvd19idWcuY2dpP2lkPTMzOTI0NDVdCi1DVkU6IENWRS0yMDE4LTg4ODIKLVNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLS0tLQotIGFzbS9mbG9hdC5jIHwgMiArKwotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2FzbS9mbG9hdC5jIGIvYXNtL2Zsb2F0LmMKLWluZGV4IGRjZjY5ZmVhLi4yOTY1ZDNkYiAxMDA2NDQKLS0tLSBhL2FzbS9mbG9hdC5jCi0rKysgYi9hc20vZmxvYXQuYwotQEAgLTYwOCw2ICs2MDgsOCBAQCBzdGF0aWMgdm9pZCBpZWVlX3NocihmcF9saW1iICptYW50LCBpbnQgaSkKLSAgICAgICAgIGlmIChvZmZzKQotICAgICAgICAgICAgIGZvciAoaiA9IE1BTlRfTElNQlMtMTsgaiA+PSBvZmZzOyBqLS0pCi0gICAgICAgICAgICAgICAgIG1hbnRbal0gPSBtYW50W2otb2Zmc107Ci0rICAgIH0gZWxzZSBpZiAoTUFOVF9MSU1CUy0xLW9mZnMgPCAwKSB7Ci0rICAgICAgICBqID0gTUFOVF9MSU1CUy0xOwotICAgICB9IGVsc2UgewotICAgICAgICAgbiA9IG1hbnRbTUFOVF9MSU1CUy0xLW9mZnNdID4+IHNyOwotICAgICAgICAgZm9yIChqID0gTUFOVF9MSU1CUy0xOyBqID4gb2Zmczsgai0tKSB7Ci0tLSAKLTIuMTcuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uYXNtL25hc20vMDAwMS1wcmVwcm9jLXBhcnNlX3NpemUtQ2hlY2stZm9yLXN0cmluZy1wcm92aWRlZC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25hc20vbmFzbS8wMDAxLXByZXByb2MtcGFyc2Vfc2l6ZS1DaGVjay1mb3Itc3RyaW5nLXByb3ZpZGVkLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMTIxZmQxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25hc20vbmFzbS8wMDAxLXByZXByb2MtcGFyc2Vfc2l6ZS1DaGVjay1mb3Itc3RyaW5nLXByb3ZpZGVkLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotRnJvbSBhMmY0MzMzMWE4NTNiN2NjNDQ5Y2FlMzM2MWVlMWZiNTRjN2ZhZDhkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ3lyaWxsIEdvcmN1bm92IDxnb3JjdW5vdkBnbWFpbC5jb20+Ci1EYXRlOiBTYXQsIDI5IFNlcCAyMDE4IDE0OjMwOjE0ICswMzAwCi1TdWJqZWN0OiBbUEFUQ0hdIHByZXByb2M6IHBhcnNlX3NpemUgLS0gQ2hlY2sgZm9yIHN0cmluZyBwcm92aWRlZAotCi1JbiBjYXNlIGlmIHRoZSBzdHJpbmcgaXMgbmlsIHdlIHdpbGwgaGF2ZSBzaWdzZWd2LgotCi1odHRwczovL2J1Z3ppbGxhLm5hc20udXMvc2hvd19idWcuY2dpP2lkPTMzOTI1MDcKLQotU2lnbmVkLW9mZi1ieTogQ3lyaWxsIEdvcmN1bm92IDxnb3JjdW5vdkBnbWFpbC5jb20+Ci0KLUNWRTogQ1ZFLTIwMTgtMTAwMDY2NwotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotaHR0cHM6Ly9yZXBvLm9yLmN6L25hc20vbmFzbS5naXQvY29tbWl0L2M3MTNiNWY5OTRjZjdiMjkxNjRjM2I2ODM4YjkxZjA0OTk1OTE0MzQKLQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gYXNtL3ByZXByb2MuYyB8IDMgKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvYXNtL3ByZXByb2MuYyBiL2FzbS9wcmVwcm9jLmMKLWluZGV4IDQ3NTkyNmQuLjFkNzcwYTUgMTAwNjQ0Ci0tLS0gYS9hc20vcHJlcHJvYy5jCi0rKysgYi9hc20vcHJlcHJvYy5jCi1AQCAtMjIxNiw4ICsyMjE2LDcgQEAgc3RhdGljIGludCBwYXJzZV9zaXplKGNvbnN0IGNoYXIgKnN0cikgewotICAgICAgICAgeyAiYnl0ZSIsICJkd29yZCIsICJvd29yZCIsICJxd29yZCIsICJ0d29yZCIsICJ3b3JkIiwgInl3b3JkIiB9OwotICAgICBzdGF0aWMgY29uc3QgaW50IHNpemVzW10gPQotICAgICAgICAgeyAwLCAxLCA0LCAxNiwgOCwgMTAsIDIsIDMyIH07Ci0tCi0tICAgIHJldHVybiBzaXplc1tic2lpKHN0ciwgc2l6ZV9uYW1lcywgQVJSQVlfU0laRShzaXplX25hbWVzKSkrMV07Ci0rICAgIHJldHVybiBzdHIgPyBzaXplc1tic2lpKHN0ciwgc2l6ZV9uYW1lcywgQVJSQVlfU0laRShzaXplX25hbWVzKSkrMV0gOiAwOwotIH0KLSAKLSAvKgotLS0gCi0yLjguMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uYXNtL25hc21fMi4xMy4wMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25hc20vbmFzbV8yLjEzLjAzLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZTRjNTU0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25hc20vbmFzbV8yLjEzLjAzLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotU1VNTUFSWSA9ICJHZW5lcmFsLXB1cnBvc2UgeDg2IGFzc2VtYmxlciIKLVNFQ1RJT04gPSAiZGV2ZWwiCi1MSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTkwOTA0NDg2ZjhmYmYxODYxY2Y0Mjc1MmUxYTM5ZWZlIgotCi1TUkNfVVJJID0gImh0dHA6Ly93d3cubmFzbS51cy9wdWIvbmFzbS9yZWxlYXNlYnVpbGRzLyR7UFZ9L25hc20tJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWFzbWxpYi1Ecm9wLXB1cmUtZnVuY3Rpb24tYXR0cmlidXRlLWZyb20tc2VnX2luaXQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1hc3NlbWJsZS1DaGVjay1nbG9iYWwtbGluZS1saW1pdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWZpeC1DVkUtMjAxOC04ODgyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtVmVyaWZ5LXRoYXQtd2UtYXJlLW5vdC1yZWFkaW5nLXBhc3QtZW5kLW9mLWEtYnVmZmVyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtZXZhbC1FbGltaW5hdGUtZGl2aXNpb24tYnktemVyby5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXByZXByb2MtcGFyc2Vfc2l6ZS1DaGVjay1mb3Itc3RyaW5nLXByb3ZpZGVkLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMGM1ODFkNDgyZjM5ZDUxMTE4NzljYTk2MDE5MzhmNzQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjNlYzg2NDc3YWQzZjBmNjI5MjMyNWZkODllMWQ5M2FlYTJlMmZkNDkwMDcwODYzZjE3ZDQ4ZjdjZDM4NzAxMSIKLQotaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKLQlpZiBbIC1mICR7U30vYWNsb2NhbC5tNCBdICYmIFsgISAtZiAke1N9L2FjaW5jbHVkZS5tNCBdOyB0aGVuCi0JCW12ICR7U30vYWNsb2NhbC5tNCAke1N9L2FjaW5jbHVkZS5tNAotCWZpCi19Ci0KLWRvX2luc3RhbGwoKSB7Ci0JaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9Ci0JaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjEKLQotCW9lX3J1bm1ha2UgJ0lOU1RBTExST09UPSR7RH0nIGluc3RhbGwKLX0KLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCi0KLURFUEVORFMgPSAiZ3JvZmYtbmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbmFzbS9uYXNtXzIuMTQuMDIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uYXNtL25hc21fMi4xNC4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lY2VjNzhkCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbmFzbS9uYXNtXzIuMTQuMDIuYmIKQEAgLTAsMCArMSwyMCBAQAorU1VNTUFSWSA9ICJHZW5lcmFsLXB1cnBvc2UgeDg2IGFzc2VtYmxlciIKK1NFQ1RJT04gPSAiZGV2ZWwiCitMSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTkwOTA0NDg2ZjhmYmYxODYxY2Y0Mjc1MmUxYTM5ZWZlIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cubmFzbS51cy9wdWIvbmFzbS9yZWxlYXNlYnVpbGRzLyR7UFZ9L25hc20tJHtQVn0udGFyLmJ6MiIKKworU1JDX1VSSVttZDVzdW1dID0gIjNmNDg5YWE0OGFkMmFhMWY5NjdkYzVlMjkzYmJkMDZmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM0ZmQyNmM3MGEyNzdhOWZkZDU0Y2I1ZWNmMzg5YmFkZWRhZjQ4MDQ3YjI2OWQxMDA4ZmJjODE5YjI0ZTgwYmMiCisKKyMgYnJva2Vuc2VwIHNpbmNlIHRoaXMgdXNlcyBhdXRvY29uZiBidXQgbm90IGF1dG9tYWtlCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworRVhUUkFfQVVUT1JFQ09ORiArPSAiLS1leGNsdWRlPWFjbG9jYWwiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitERVBFTkRTID0gImdyb2ZmLW5hdGl2ZSIKKworQ1ZFX1BST0RVQ1QgPSAibmV0d2lkZV9hc3NlbWJsZXIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uaW5qYS9uaW5qYS9maXgtbXVzbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25pbmphL25pbmphL2ZpeC1tdXNsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0M2Q0ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uaW5qYS9uaW5qYS9maXgtbXVzbC5wYXRjaApAQCAtMCwwICsxLDM5IEBACisyZmY1NGFkNzQ3OGE5MGJkNzVjOTFlNDM0MjM2YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IG1ha2Vwb3N0IDxtYWtlcG9zdEBmaXJlbWFpbC5jYz4KK0RhdGU6IE1vbiwgMjQgRGVjIDIwMTggMDM6MTM6MTYgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gVXNlIHN0X210aW0gaWYgc3RfbXRpbWUgaXMgbWFjcm8sIGZpeCAjMTUxMAorCitJbiBQT1NJWC4xLTIwMDgsIHN5c19zdGF0IGhhcyBhIHN0X210aW0gbWVtYmVyIGFuZCBhIHN0X210aW1lIGJhY2t3YXJkCitjb21wYXRpYmlsaXR5IG1hY3JvLiBTaG91bGQgaGVscCBhdm9pZCBoYXJkY29kaW5nIHBsYXRmb3JtIGRldGVjdGlvbi4KKy0tLQorIHNyYy9kaXNrX2ludGVyZmFjZS5jYyB8IDE0ICsrKystLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvZGlza19pbnRlcmZhY2UuY2MgYi9zcmMvZGlza19pbnRlcmZhY2UuY2MKK2luZGV4IGQ0YzJmYjA4Ny4uZGMyOTdjNDQ5IDEwMDY0NAorLS0tIHNyYy9kaXNrX2ludGVyZmFjZS5jYworKysrIC9zcmMvZGlza19pbnRlcmZhY2UuY2MKK0BAIC0yMDIsMTkgKzIwMiwxMyBAQCBUaW1lU3RhbXAgUmVhbERpc2tJbnRlcmZhY2U6OlN0YXQoY29uc3Qgc3RyaW5nJiBwYXRoLCBzdHJpbmcqIGVycikgY29uc3QgeworICAgLy8gdGhhdCBpdCBkb2Vzbid0IGV4aXN0LgorICAgaWYgKHN0LnN0X210aW1lID09IDApCisgICAgIHJldHVybiAxOworLSNpZiBkZWZpbmVkKF9fQVBQTEVfXykgJiYgIWRlZmluZWQoX1BPU0lYX0NfU09VUkNFKQorKyNpZiBkZWZpbmVkKF9BSVgpCisrICByZXR1cm4gKGludDY0X3Qpc3Quc3RfbXRpbWUgKiAxMDAwMDAwMDAwTEwgKyBzdC5zdF9tdGltZV9uOworKyNlbGlmIGRlZmluZWQoX19BUFBMRV9fKQorICAgcmV0dXJuICgoaW50NjRfdClzdC5zdF9tdGltZXNwZWMudHZfc2VjICogMTAwMDAwMDAwMExMICsKKyAgICAgICAgICAgc3Quc3RfbXRpbWVzcGVjLnR2X25zZWMpOworLSNlbGlmIChfUE9TSVhfQ19TT1VSQ0UgPj0gMjAwODA5TCB8fCBfWE9QRU5fU09VUkNFID49IDcwMCB8fCBkZWZpbmVkKF9CU0RfU09VUkNFKSB8fCBkZWZpbmVkKF9TVklEX1NPVVJDRSkgfHwgXAorLSAgICAgICBkZWZpbmVkKF9fQklPTklDX18pIHx8IChkZWZpbmVkIChfX1NWUjQpICYmIGRlZmluZWQgKF9fc3VuKSkgfHwgZGVmaW5lZChfX0ZyZWVCU0RfXykpCistICAvLyBGb3IgZ2xpYmMsIHNlZSAiVGltZXN0YW1wIGZpbGVzIiBpbiB0aGUgTm90ZXMgb2YgaHR0cDovL3d3dy5rZXJuZWwub3JnL2RvYy9tYW4tcGFnZXMvb25saW5lL3BhZ2VzL21hbjIvc3RhdC4yLmh0bWwKKy0gIC8vIG5ld2xpYiwgdUNsaWJjIGFuZCBtdXNsIGZvbGxvdyB0aGUga2VybmVsIChvciBDeWd3aW4pIGhlYWRlcnMgYW5kIGRlZmluZSB0aGUgcmlnaHQgbWFjcm8gdmFsdWVzIGFib3ZlLgorLSAgLy8gRm9yIGJzZCwgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mcmVlYnNkL2ZyZWVic2QvYmxvYi9tYXN0ZXIvc3lzL3N5cy9zdGF0LmggYW5kIHNpbWlsYXIKKy0gIC8vIEZvciBiaW9uaWMsIEMgYW5kIFBPU0lYIEFQSSBpcyBhbHdheXMgZW5hYmxlZC4KKy0gIC8vIEZvciBzb2xhcmlzLCBzZWUgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vY2QvRTg4MzUzXzAxL2h0bWwvRTM3ODQxL3N0YXQtMi5odG1sLgorKyNlbGlmIGRlZmluZWQoc3RfbXRpbWUpIC8vIEEgbWFjcm8sIHNvIHdlJ3JlIGxpa2VseSBvbiBtb2Rlcm4gUE9TSVguCisgICByZXR1cm4gKGludDY0X3Qpc3Quc3RfbXRpbS50dl9zZWMgKiAxMDAwMDAwMDAwTEwgKyBzdC5zdF9tdGltLnR2X25zZWM7CistI2VsaWYgZGVmaW5lZChfQUlYKQorLSAgcmV0dXJuIChpbnQ2NF90KXN0LnN0X210aW1lICogMTAwMDAwMDAwMExMICsgc3Quc3RfbXRpbWVfbjsKKyAjZWxzZQorICAgcmV0dXJuIChpbnQ2NF90KXN0LnN0X210aW1lICogMTAwMDAwMDAwMExMICsgc3Quc3RfbXRpbWVuc2VjOworICNlbmRpZgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbmluamEvbmluamFfMS44LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uaW5qYS9uaW5qYV8xLjguMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzZmY2ZlZi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uaW5qYS9uaW5qYV8xLjguMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLVNVTU1BUlkgPSAiTmluamEgaXMgYSBzbWFsbCBidWlsZCBzeXN0ZW0gd2l0aCBhIGZvY3VzIG9uIHNwZWVkLiIKLUhPTUVQQUdFID0gImh0dHA6Ly9tYXJ0aW5lLmdpdGh1Yi5jb20vbmluamEvIgotTElDRU5TRSA9ICJBcGFjaGUtMi4wIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTgxNTg2YTY0YWQ0ZTQ3NmM3OTFjZGE3ZTJmMmM1MmUiCi0KLURFUEVORFMgPSAicmUyYy1uYXRpdmUgbmluamEtbmF0aXZlIgotCi1TUkNSRVYgPSAiMjUzZTk0YzFmYTUxMTcwNGJhZWI2MWNmNjk5OTViYmYwOWJhNDM1ZSIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL25pbmphLWJ1aWxkL25pbmphLmdpdDticmFuY2g9cmVsZWFzZSIKLVVQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gInYoP1A8cHZlcj4uKikiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWRvX2NvbmZpZ3VyZVtub2V4ZWNdID0gIjEiCi0KLWRvX2NvbXBpbGVfY2xhc3MtbmF0aXZlKCkgewotCS4vY29uZmlndXJlLnB5IC0tYm9vdHN0cmFwCi19Ci0KLWRvX2NvbXBpbGUoKSB7Ci0JLi9jb25maWd1cmUucHkKLQluaW5qYQotfQotCi1kb19pbnN0YWxsKCkgewotCWluc3RhbGwgLUQgLW0gMDc1NSAgJHtTfS9uaW5qYSAke0R9JHtiaW5kaXJ9L25pbmphCi19Ci0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25pbmphL25pbmphXzEuOS4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbmluamEvbmluamFfMS45LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWIwNjMyOAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25pbmphL25pbmphXzEuOS4wLmJiCkBAIC0wLDAgKzEsMzIgQEAKK1NVTU1BUlkgPSAiTmluamEgaXMgYSBzbWFsbCBidWlsZCBzeXN0ZW0gd2l0aCBhIGZvY3VzIG9uIHNwZWVkLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9tYXJ0aW5lLmdpdGh1Yi5jb20vbmluamEvIgorTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTgxNTg2YTY0YWQ0ZTQ3NmM3OTFjZGE3ZTJmMmM1MmUiCisKK0RFUEVORFMgPSAicmUyYy1uYXRpdmUgbmluamEtbmF0aXZlIgorCitTUkNSRVYgPSAiYjI1YzA4YmRhNDk0OTE5MmM2OWNlYTRjZWUwNTc4ODczNDFhMmZmYyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL25pbmphLWJ1aWxkL25pbmphLmdpdDticmFuY2g9cmVsZWFzZSBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtbXVzbC5wYXRjaCBcCisiCitVUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICJ2KD9QPHB2ZXI+LiopIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitkb19jb25maWd1cmVbbm9leGVjXSA9ICIxIgorCitkb19jb21waWxlX2NsYXNzLW5hdGl2ZSgpIHsKKwkuL2NvbmZpZ3VyZS5weSAtLWJvb3RzdHJhcAorfQorCitkb19jb21waWxlKCkgeworCS4vY29uZmlndXJlLnB5CisJbmluamEKK30KKworZG9faW5zdGFsbCgpIHsKKwlpbnN0YWxsIC1EIC1tIDA3NTUgICR7U30vbmluamEgJHtEfSR7YmluZGlyfS9uaW5qYQorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHMvMDAwMS1Pbmx5LXVzZS1zb3J0LW5hbWUtb24tdmVyc2lvbnMtb2YtdGFyLXdoaWNoLXN1cHBvcnQtLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy11dGlscy9vcGtnLXV0aWxzLzAwMDEtT25seS11c2Utc29ydC1uYW1lLW9uLXZlcnNpb25zLW9mLXRhci13aGljaC1zdXBwb3J0LS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmI3Y2E3ZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHMvMDAwMS1Pbmx5LXVzZS1zb3J0LW5hbWUtb24tdmVyc2lvbnMtb2YtdGFyLXdoaWNoLXN1cHBvcnQtLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotRnJvbSBlZjVkYjA2MmI3ZDI1ZTYwNzBhY2M2OTIyZWE0OGY1MDQ5MTMxM2I1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWljaGFlbCBIYW5zZW4gPG1pY2hhZWwuai5oYW5zZW5AaHAuY29tPgotRGF0ZTogTW9uLCAyNiBGZWIgMjAxOCAwOTo0Mjo1NiAtMDgwMAotU3ViamVjdDogW1BBVENIIDEvMl0gT25seSB1c2UgLS1zb3J0PW5hbWUgb24gdmVyc2lvbnMgb2YgdGFyIHdoaWNoIHN1cHBvcnQgaXQuCi0gVGhpcyBmaXhlcyBjb21wYXRpYmlsaXR5IHdpdGggYnNkdGFyIGFuZCBvbGQgdmVyc2lvbnMgb2YgR05VIHRhciAoZS5nLgotIFJIRUw2KS4KLQotU2lnbmVkLW9mZi1ieTogTWljaGFlbCBIYW5zZW4gPG1pY2hhZWwuai5oYW5zZW5AaHAuY29tPgotU2lnbmVkLW9mZi1ieTogQWxlamFuZHJvIGRlbCBDYXN0aWxsbyA8YWxlamFuZHJvLmRlbGNhc3RpbGxvQG5pLmNvbT4KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotLS0tCi0gb3BrZy1idWlsZCB8IDExICsrKysrKysrLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotSW5kZXg6IG9wa2ctdXRpbHMtMC4zLjYvb3BrZy1idWlsZAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIG9wa2ctdXRpbHMtMC4zLjYub3JpZy9vcGtnLWJ1aWxkCi0rKysgb3BrZy11dGlscy0wLjMuNi9vcGtnLWJ1aWxkCi1AQCAtMjMyLDYgKzIzMiwxMSBAQCBpZiBbICRjb21wcmVzc29yID0gImd6aXAiIF0gOyB0aGVuCi0gCWNvbXByZXNzb3JhcmdzPSR6aXBhcmdzCi0gZmkKLSAKLSt0c29ydGFyZ3M9Ci0raWYgdGFyIC0taGVscCAyPiYxIHwgZ3JlcCAtLSAiLS1zb3J0PSIgPiAvZGV2L251bGw7IHRoZW4KLSsJdHNvcnRhcmdzPSItLXNvcnQ9bmFtZSIKLStmaQotKwotIHNoaWZ0ICQoKCRPUFRJTkQgLSAxKSkKLSAKLSAjIGNvbnRpbnVlIG9uIHRvIHByb2Nlc3MgYWRkaXRpb25hbCBhcmd1bWVudHMKLUBAIC0yODAsOCArMjg1LDggQEAgbWtkaXIgJHRtcF9kaXIKLSBidWlsZF9kYXRlPSIkKGRhdGUgLS11dGMgLS1kYXRlPSJAJHtTT1VSQ0VfREFURV9FUE9DSDotJChkYXRlICslcyl9IiArJVktJW0tJWQpIgotIAotIGVjaG8gJENPTlRST0wgPiAkdG1wX2Rpci90YXJYCi0tKCBjZCAkcGtnX2RpciAmJiB0YXIgJG9nYXJncyAtLXNvcnQ9bmFtZSAtLW10aW1lPSRidWlsZF9kYXRlIC1YICR0bXBfZGlyL3RhclggLWMgJHRhcmZvcm1hdCAuIHwgJGNvbXByZXNzb3IgJGNvbXByZXNzb3JhcmdzID4gJHRtcF9kaXIvZGF0YS50YXIuJGNleHQgKQotLSggY2QgJHBrZ19kaXIvJENPTlRST0wgJiYgdGFyICRvZ2FyZ3MgLS1zb3J0PW5hbWUgLS1tdGltZT0kYnVpbGRfZGF0ZSAtYyAkdGFyZm9ybWF0IC4gfCBnemlwICR6aXBhcmdzID4gJHRtcF9kaXIvY29udHJvbC50YXIuZ3ogKQotKyggY2QgJHBrZ19kaXIgJiYgdGFyICRvZ2FyZ3MgJHRzb3J0YXJncyAtLW10aW1lPSRidWlsZF9kYXRlIC1YICR0bXBfZGlyL3RhclggLWMgJHRhcmZvcm1hdCAuIHwgJGNvbXByZXNzb3IgJGNvbXByZXNzb3JhcmdzID4gJHRtcF9kaXIvZGF0YS50YXIuJGNleHQgKQotKyggY2QgJHBrZ19kaXIvJENPTlRST0wgJiYgdGFyICRvZ2FyZ3MgJHRzb3J0YXJncyAtLW10aW1lPSRidWlsZF9kYXRlIC1jICR0YXJmb3JtYXQgLiB8IGd6aXAgJHppcGFyZ3MgPiAkdG1wX2Rpci9jb250cm9sLnRhci5neiApCi0gcm0gJHRtcF9kaXIvdGFyWAotIAotIGVjaG8gIjIuMCIgPiAkdG1wX2Rpci9kZWJpYW4tYmluYXJ5Ci1AQCAtMjk2LDcgKzMwMSw3IEBAIHJtIC1mICRwa2dfZmlsZQotIGlmIFsgIiRvdXRlciIgPSAiYXIiIF0gOyB0aGVuCi0gICAoIGNkICR0bXBfZGlyICYmIGFyIC1jcmYgJHBrZ19maWxlIC4vZGViaWFuLWJpbmFyeSAuL2NvbnRyb2wudGFyLmd6IC4vZGF0YS50YXIuJGNleHQgKQotIGVsc2UKLS0gICggY2QgJHRtcF9kaXIgJiYgdGFyIC1jIC0tc29ydD1uYW1lIC0tbXRpbWU9JGJ1aWxkX2RhdGUgJHRhcmZvcm1hdCAuL2RlYmlhbi1iaW5hcnkgLi9jb250cm9sLnRhci5neiAuL2RhdGEudGFyLiRjZXh0IHwgZ3ppcCAkemlwYXJncyA+ICRwa2dfZmlsZSApCi0rICAoIGNkICR0bXBfZGlyICYmIHRhciAtYyAkdHNvcnRhcmdzIC0tbXRpbWU9JGJ1aWxkX2RhdGUgJHRhcmZvcm1hdCAuL2RlYmlhbi1iaW5hcnkgLi9jb250cm9sLnRhci5neiAuL2RhdGEudGFyLiRjZXh0IHwgZ3ppcCAkemlwYXJncyA+ICRwa2dfZmlsZSApCi0gZmkKLSAKLSBybSAkdG1wX2Rpci9kZWJpYW4tYmluYXJ5ICR0bXBfZGlyL2RhdGEudGFyLiRjZXh0ICR0bXBfZGlyL2NvbnRyb2wudGFyLmd6CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHMvMDAwMS1Td2l0Y2gtYWxsLXNjcmlwdHMtdG8tdXNlLVB5dGhvbi0zLngucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHMvMDAwMS1Td2l0Y2gtYWxsLXNjcmlwdHMtdG8tdXNlLVB5dGhvbi0zLngucGF0Y2gKaW5kZXggYzM2YWUyZi4uNjkxZWQ1MCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy11dGlscy9vcGtnLXV0aWxzLzAwMDEtU3dpdGNoLWFsbC1zY3JpcHRzLXRvLXVzZS1QeXRob24tMy54LnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2ctdXRpbHMvb3BrZy11dGlscy8wMDAxLVN3aXRjaC1hbGwtc2NyaXB0cy10by11c2UtUHl0aG9uLTMueC5wYXRjaApAQCAtNjQsOCArNjQsOSBAQAogQEAgLTEsNCArMSw0IEBACiAtIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCiArIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwotIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0Ci0gZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbgorICIiIgorICAgIFV0aWxpdHkgdG8gY3JlYXRlIG9wa2cgY29tcGF0aWJsZSBpbmRleGVzCisgIiIiCiAgCiBkaWZmIC0tZ2l0IGEvb3BrZy1zaG93LWRlcHMgYi9vcGtnLXNob3ctZGVwcwogaW5kZXggMTUzZjIxZS4uNGUxOGI0ZiAxMDA3NTUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2ctdXRpbHMvb3BrZy11dGlscy8wMDAxLW9wa2ctYnVpbGQtZG8tbm90LXNldC1tdGltZS1vbi1kYXRhLnRhci5YLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy11dGlscy9vcGtnLXV0aWxzLzAwMDEtb3BrZy1idWlsZC1kby1ub3Qtc2V0LW10aW1lLW9uLWRhdGEudGFyLlgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmMwNThjNwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2ctdXRpbHMvb3BrZy11dGlscy8wMDAxLW9wa2ctYnVpbGQtZG8tbm90LXNldC1tdGltZS1vbi1kYXRhLnRhci5YLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK0Zyb20gNDJhZmMxZjY1MmQyOGRjZTNjNWI5OTE1ZDBjZDMwODdhMTQ0ZTQ0NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZWphbmRybyBkZWwgQ2FzdGlsbG8gPGFsZWphbmRyby5kZWxjYXN0aWxsb0BuaS5jb20+CitEYXRlOiBNb24sIDE4IEZlYiAyMDE5IDExOjI1OjQzIC0wNjAwCitTdWJqZWN0OiBbUEFUQ0hdIG9wa2ctYnVpbGQ6IGRvIG5vdCBzZXQgbXRpbWUgb24gZGF0YS50YXIuWAorCitPcGtnIHNob3VsZCBtYWtlIHN1cmUgdGhlIGJpbmFyaWVzIGl0IGNyZWF0ZXMgYXJlIGNyZWF0ZWQgaW4gYQorcmVwb2R1Y2liZSB3YXksIGJ1dCBpdCBzaG91bGRuJ3QgbW9kaWZ5IHRoZSBtdGltZSBvZiB0aGUgYmluYXJpZXMgaXQKK2NvbnN1bWVzLiBEb2luZyBzbyBoYXMgc2lkZSBlZmZlY3RzLCBmb3IgZXhtYXBsZSwgUHl0aG9uIHB5YyBmaWxlcyBhcmUKK2ludmFsaWRhdGVkLgorCitTaWduZWQtb2ZmLWJ5OiBBbGVqYW5kcm8gZGVsIENhc3RpbGxvIDxhbGVqYW5kcm8uZGVsY2FzdGlsbG9AbmkuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZAorLS0tCisgb3BrZy1idWlsZCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL29wa2ctYnVpbGQgYi9vcGtnLWJ1aWxkCitpbmRleCAxMzc4MmVlLi4zNjNjZDAxIDEwMDc1NQorLS0tIGEvb3BrZy1idWlsZAorKysrIGIvb3BrZy1idWlsZAorQEAgLTMwMSw3ICszMDEsNyBAQCBidWlsZF9kYXRlPSIke1NPVVJDRV9EQVRFX0VQT0NIOi0kKGRhdGUgKyVzKX0iCisgCisgKCBjZCAkcGtnX2Rpci8kQ09OVFJPTCAmJiBmaW5kIC4gLXR5cGUgZiA+ICR0bXBfZGlyL2NvbnRyb2xfbGlzdCApCisgKCBjZCAkcGtnX2RpciAmJiBmaW5kIC4gLXBhdGggLi8kQ09OVFJPTCAtcHJ1bmUgLW8gLXByaW50ID4gJHRtcF9kaXIvZmlsZV9saXN0ICkKKy0oIGNkICRwa2dfZGlyICYmIHRhciAkb2dhcmdzICR0c29ydGFyZ3MgLS1uby1yZWN1cnNpb24gLS1tdGltZT1AJGJ1aWxkX2RhdGUgLWMgJHRhcmZvcm1hdCAtVCAkdG1wX2Rpci9maWxlX2xpc3QgfCAkY29tcHJlc3NvciAkY29tcHJlc3NvcmFyZ3MgPiAkdG1wX2Rpci9kYXRhLnRhci4kY2V4dCApCisrKCBjZCAkcGtnX2RpciAmJiB0YXIgJG9nYXJncyAkdHNvcnRhcmdzIC0tbm8tcmVjdXJzaW9uIC1jICR0YXJmb3JtYXQgLVQgJHRtcF9kaXIvZmlsZV9saXN0IHwgJGNvbXByZXNzb3IgJGNvbXByZXNzb3JhcmdzID4gJHRtcF9kaXIvZGF0YS50YXIuJGNleHQgKQorICggY2QgJHBrZ19kaXIvJENPTlRST0wgJiYgdGFyICRvZ2FyZ3MgJHRzb3J0YXJncyAtLW5vLXJlY3Vyc2lvbiAtLW10aW1lPUAkYnVpbGRfZGF0ZSAtYyAkdGFyZm9ybWF0IC1UICR0bXBfZGlyL2NvbnRyb2xfbGlzdCB8IGd6aXAgJHppcGFyZ3MgPiAkdG1wX2Rpci9jb250cm9sLnRhci5neiApCisgcm0gJHRtcF9kaXIvZmlsZV9saXN0Cisgcm0gJHRtcF9kaXIvY29udHJvbF9saXN0CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHMvMDAwMS11cGRhdGUtYWx0ZXJuYXRpdmVzLUZpeC1saW5rLXJlbG9jYXRpb24tc3VwcG9ydC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2ctdXRpbHMvb3BrZy11dGlscy8wMDAxLXVwZGF0ZS1hbHRlcm5hdGl2ZXMtRml4LWxpbmstcmVsb2NhdGlvbi1zdXBwb3J0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZGM0ODhiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2ctdXRpbHMvb3BrZy11dGlscy8wMDAxLXVwZGF0ZS1hbHRlcm5hdGl2ZXMtRml4LWxpbmstcmVsb2NhdGlvbi1zdXBwb3J0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotRnJvbSAxODU2MmNjYWU2OTk2NDMxZDM3NzY3NjUzYjA2MWQ0ZTllMWI5NDI0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTmlrbyBNYXVubyA8bmlrby5tYXVub0Bpa2kuZmk+Ci1EYXRlOiBTdW4sIDExIE5vdiAyMDE4IDE1OjUwOjIyICswMjAwCi1TdWJqZWN0OiBbb3BrZy11dGlscyBQQVRDSF0gdXBkYXRlLWFsdGVybmF0aXZlczogRml4IGxpbmsgcmVsb2NhdGlvbiBzdXBwb3J0Ci0KLUNvbW1pdCBmY2IyNjMzOTAwMDAyMWViOWJiNzExYWEyNjQyNDdhZWJjZmRkNGFlIHdoaWNoIGFkZGVkIERlYmlhbi1zdHlsZQotc3VwcG9ydCBmb3IgbGluayByZWxvY2F0aW9uIHRyaWVzIHRvIHJlbG9jYXRlIHN5bWJvbGljIGxpbmsgb24gaG9zdCBPUywKLXJlc3VsdGluZyBpbiBmb2xsb3dpbmctbGlrZSBlcnJvciB3aGVuIHR3byBhbHRlcm5hdGl2ZSBwYWNrYWdlcyBoYXZlCi1zeW1ib2xpYyBsaW5rIHNvdXJjZSBsb2NhdGVkIGluIGRpZmZlcmVudCBkaXJlY3RvcmllcyAoL2Jpbi9yZXYgLT4KLS9iaW4vYnVzeWJveC5ub3N1aWQgYW5kIC91c3IvYmluL3JldiAtPiAvdXNyL2Jpbi9yZXYudXRpbC1saW51eCk6Ci0KLSAgdXBkYXRlLWFsdGVybmF0aXZlczogcmVuYW1pbmcgcmV2IGxpbmsgZnJvbSAvYmluL3JldiB0byAvdXNyL2Jpbi9yZXYKLSAgbXY6IGNhbm5vdCBzdGF0ICcvYmluL3Jldic6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKLQotRml4IHRoZSBpc3N1ZSBieSBwcmVmaXhpbmcgJ29saW5rJyBhbmQgJ2xpbmsnIHZhcmlhYmxlIHJlZmVyZW5jZXMgd2l0aAotcGF0aCB0byB0YXJnZXRlZCByb290IGZpbGVzeXN0ZW0ncyByb290IGRpcmVjdG9yeS4KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW29wa2ctdXRpbHNdCi0KLVNpZ25lZC1vZmYtYnk6IE5pa28gTWF1bm8gPG5pa28ubWF1bm9AaWtpLmZpPgotLS0tCi0gdXBkYXRlLWFsdGVybmF0aXZlcyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3VwZGF0ZS1hbHRlcm5hdGl2ZXMgYi91cGRhdGUtYWx0ZXJuYXRpdmVzCi1pbmRleCA4OWE0NDBiLi5kNGZhN2ViIDEwMDY0NAotLS0tIGEvdXBkYXRlLWFsdGVybmF0aXZlcwotKysrIGIvdXBkYXRlLWFsdGVybmF0aXZlcwotQEAgLTU4LDcgKzU4LDcgQEAgcmVnaXN0ZXJfYWx0KCkgewotIAkJCWxvY2FsIGxpbmtfc3RyPWBlY2hvICRsaW5rIHwgcHJvdGVjdF9zbGFzaGVzYAotIAkJCXNlZCAtZSAiMXMvLiovJGxpbmtfc3RyLyIgJGFkLyRuYW1lID4gJGFkLyRuYW1lLm5ldwotIAkJCW12ICRhZC8kbmFtZS5uZXcgJGFkLyRuYW1lCi0tCQkJbXYgJG9saW5rICRsaW5rCi0rCQkJbXYgJE9QS0dfT0ZGTElORV9ST09UJG9saW5rICRPUEtHX09GRkxJTkVfUk9PVCRsaW5rCi0gCQlmaQotIAllbHNlCi0gCQllY2hvICIkbGluayIgPiAiJGFkLyRuYW1lIgotLS0gCi0yLjE5LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy11dGlscy9vcGtnLXV0aWxzLzAwMDItb3BrZy1idWlsZC1Vc2UtbG9jYWwtdGltZS1mb3ItYnVpbGRfZGF0ZS1zaW5jZS1vcGtnLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2ctdXRpbHMvb3BrZy11dGlscy8wMDAyLW9wa2ctYnVpbGQtVXNlLWxvY2FsLXRpbWUtZm9yLWJ1aWxkX2RhdGUtc2luY2Utb3BrZy0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUzMzg5MTQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy11dGlscy9vcGtnLXV0aWxzLzAwMDItb3BrZy1idWlsZC1Vc2UtbG9jYWwtdGltZS1mb3ItYnVpbGRfZGF0ZS1zaW5jZS1vcGtnLS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLUZyb20gNTcyNzgyNmI1MWNmOTlmZWFmZjM0ODNhOWRmOGFmMjA0M2U3ZWZjMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1pY2hhZWwgSGFuc2VuIDxtaWNoYWVsLmouaGFuc2VuQGhwLmNvbT4KLURhdGU6IE1vbiwgMjYgRmViIDIwMTggMTA6MTc6MDEgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSCAyLzJdIG9wa2ctYnVpbGQ6IFVzZSBsb2NhbCB0aW1lIGZvciBidWlsZF9kYXRlLCBzaW5jZSBvcGtnCi0gZXh0cmFjdHMgZmlsZXMgYXNzdW1pbmcgbG9jYWwgdGltZSByYXRoZXIgdGhhbiBVVEMuIEFsc28gaW5jcmVhc2UgcmVzb2x1dGlvbgotIG9mIGJ1aWxkIGRhdGUgZG93biB0byB0aGUgc2Vjb25kLCByYXRoZXIgdGhhbiBjbGFtcGluZyB0byBtaWRuaWdodCBvZiB0aGUKLSBjdXJyZW50IGRhdGUuCi0KLVNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgSGFuc2VuIDxtaWNoYWVsLmouaGFuc2VuQGhwLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEFsZWphbmRybyBkZWwgQ2FzdGlsbG8gPGFsZWphbmRyby5kZWxjYXN0aWxsb0BuaS5jb20+Ci1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0KLS0tLQotIG9wa2ctYnVpbGQgfCA4ICsrKystLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotSW5kZXg6IG9wa2ctdXRpbHMtMC4zLjYvb3BrZy1idWlsZAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIG9wa2ctdXRpbHMtMC4zLjYub3JpZy9vcGtnLWJ1aWxkCi0rKysgb3BrZy11dGlscy0wLjMuNi9vcGtnLWJ1aWxkCi1AQCAtMjgyLDExICsyODIsMTEgQEAgZmkKLSB0bXBfZGlyPSRkZXN0X2Rpci9JUEtHX0JVSUxELiQkCi0gbWtkaXIgJHRtcF9kaXIKLSAKLS1idWlsZF9kYXRlPSIkKGRhdGUgLS11dGMgLS1kYXRlPSJAJHtTT1VSQ0VfREFURV9FUE9DSDotJChkYXRlICslcyl9IiArJVktJW0tJWQpIgotK2J1aWxkX2RhdGU9IiQoZGF0ZSAtLWRhdGU9IkAke1NPVVJDRV9EQVRFX0VQT0NIOi0kKGRhdGUgKyVzKX0iICIrJVktJW0tJWQgJUg6JU06JVMiKSIKLSAKLSBlY2hvICRDT05UUk9MID4gJHRtcF9kaXIvdGFyWAotLSggY2QgJHBrZ19kaXIgJiYgdGFyICRvZ2FyZ3MgJHRzb3J0YXJncyAtLW10aW1lPSRidWlsZF9kYXRlIC1YICR0bXBfZGlyL3RhclggLWMgJHRhcmZvcm1hdCAuIHwgJGNvbXByZXNzb3IgJGNvbXByZXNzb3JhcmdzID4gJHRtcF9kaXIvZGF0YS50YXIuJGNleHQgKQotLSggY2QgJHBrZ19kaXIvJENPTlRST0wgJiYgdGFyICRvZ2FyZ3MgJHRzb3J0YXJncyAtLW10aW1lPSRidWlsZF9kYXRlIC1jICR0YXJmb3JtYXQgLiB8IGd6aXAgJHppcGFyZ3MgPiAkdG1wX2Rpci9jb250cm9sLnRhci5neiApCi0rKCBjZCAkcGtnX2RpciAmJiB0YXIgJG9nYXJncyAkdHNvcnRhcmdzIC0tbXRpbWU9IiRidWlsZF9kYXRlIiAtWCAkdG1wX2Rpci90YXJYIC1jICR0YXJmb3JtYXQgLiB8ICRjb21wcmVzc29yICRjb21wcmVzc29yYXJncyA+ICR0bXBfZGlyL2RhdGEudGFyLiRjZXh0ICkKLSsoIGNkICRwa2dfZGlyLyRDT05UUk9MICYmIHRhciAkb2dhcmdzICR0c29ydGFyZ3MgLS1tdGltZT0iJGJ1aWxkX2RhdGUiIC1jICR0YXJmb3JtYXQgLiB8IGd6aXAgJHppcGFyZ3MgPiAkdG1wX2Rpci9jb250cm9sLnRhci5neiApCi0gcm0gJHRtcF9kaXIvdGFyWAotIAotIGVjaG8gIjIuMCIgPiAkdG1wX2Rpci9kZWJpYW4tYmluYXJ5Ci1AQCAtMzAxLDcgKzMwMSw3IEBAIHJtIC1mICRwa2dfZmlsZQotIGlmIFsgIiRvdXRlciIgPSAiYXIiIF0gOyB0aGVuCi0gICAoIGNkICR0bXBfZGlyICYmIGFyIC1jcmYgJHBrZ19maWxlIC4vZGViaWFuLWJpbmFyeSAuL2NvbnRyb2wudGFyLmd6IC4vZGF0YS50YXIuJGNleHQgKQotIGVsc2UKLS0gICggY2QgJHRtcF9kaXIgJiYgdGFyIC1jICR0c29ydGFyZ3MgLS1tdGltZT0kYnVpbGRfZGF0ZSAkdGFyZm9ybWF0IC4vZGViaWFuLWJpbmFyeSAuL2NvbnRyb2wudGFyLmd6IC4vZGF0YS50YXIuJGNleHQgfCBnemlwICR6aXBhcmdzID4gJHBrZ19maWxlICkKLSsgICggY2QgJHRtcF9kaXIgJiYgdGFyIC1jICR0c29ydGFyZ3MgLS1tdGltZT0iJGJ1aWxkX2RhdGUiICR0YXJmb3JtYXQgLi9kZWJpYW4tYmluYXJ5IC4vY29udHJvbC50YXIuZ3ogLi9kYXRhLnRhci4kY2V4dCB8IGd6aXAgJHppcGFyZ3MgPiAkcGtnX2ZpbGUgKQotIGZpCi0gCi0gcm0gJHRtcF9kaXIvZGViaWFuLWJpbmFyeSAkdG1wX2Rpci9kYXRhLnRhci4kY2V4dCAkdG1wX2Rpci9jb250cm9sLnRhci5negpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy11dGlscy9vcGtnLXV0aWxzL3BpZ3oucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHMvcGlnei5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGQ0MzNlOC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHMvcGlnei5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAKLUZyb20gYWIxNDM2OTI3YjQ3YmFkY2QyMTlhNWYwNzVkZmM4NDgwMjBlMDYxZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1pa2UgQ3Jvd2UgPG1hY0BtY3Jvd2UuY29tPgotRGF0ZTogVGh1LCA0IE9jdCAyMDE4IDE3OjU0OjE5ICswMTAwCi1TdWJqZWN0OiBbb3BrZy11dGlscyBQQVRDSF0gb3BrZy1idWlsZDogQWRkIHN1cHBvcnQgZm9yIGV4cGxpY2l0IHVzZSBvZiBwaWd6Ci1Ubzogb3BrZy1kZXZlbEBnb29nbGVncm91cHMuY29tLAotICAgIHlvY3RvQHlvY3RvcHJvamVjdC5vcmcKLQotb2UtY29yZSBoYXMgc3RvcHBlZFsxXSBpbnN0YWxsaW5nIHBpZ3ogYXMgZ3ppcC4gVGhpcyBtZWFucyB0aGF0IGluCi1vcmRlciB0byBwZXJzdWFkZSBvcGtnLWJ1aWxkIHRvIHVzZSBwaWd6IGl0IG11c3QgYmUgc3BlY2lmaWVkCi1leHBsaWNpdGx5LiBMZXQncyB0ZWFjaCBvcGtnLWJ1aWxkIHRvIGRlYWwgd2l0aCBiZWluZyBwYXNzZWQgcGlneiBhcyBhCi1jb21wcmVzc29yLgotCi1XZSBjYW4ndCBjb21iaW5lIHRoZSBjaGVjayBmb3Igd2hldGhlciAtVCBpcyByZXF1aXJlZCB3aXRoIHRoZSBvbmUgZm9yCi1nemlwIGJlY2F1c2Ugb3BrZy1idWlsZCBuZWVkcyB0byBjYWxsICRjb21wcmVzc29yIGFuZCBnemlwIHNlcGFyYXRlbHkKLXRvIGNvbnN0cnVjdCB0aGUgcGFja2FnZS4KLQotWzFdIGh0dHA6Ly9saXN0cy5vcGVuZW1iZWRkZWQub3JnL3BpcGVybWFpbC9vcGVuZW1iZWRkZWQtY29tbWl0cy8yMDE4LUZlYnJ1YXJ5LzIxODc2Ny5odG1sCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtvcGtnLWRldmVsQGdvb2dsZWdyb3Vwcy5jb20gaHR0cHM6Ly9ncm91cHMuZ29vZ2xlLmNvbS9mb3J1bS8jIXRvcGljL29wa2ctZGV2ZWwvRTBXVk9oaks2MXddCi1TaWduZWQtb2ZmLWJ5OiBNaWtlIENyb3dlIDxtYWNAbWNyb3dlLmNvbT4KLS0tLQotIG9wa2ctYnVpbGQgfCA2ICsrKysrLQotIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL29wa2ctYnVpbGQgYi9vcGtnLWJ1aWxkCi1pbmRleCA5M2E3OTU2Li5mODQwM2VhIDEwMDc1NQotLS0tIGEvb3BrZy1idWlsZAotKysrIGIvb3BrZy1idWlsZAotQEAgLTE3MCw3ICsxNzAsNyBAQCBmaQotIAotIGNvbXByZXNzb3JfZXh0KCkgewotICAgICBjYXNlICQxIGluCi0tCWd6aXApCi0rCWd6aXB8cGlneikKLSAJICAgIGVjaG8gZ3oKLSAJICAgIDs7Ci0gCWJ6aXAyKQotQEAgLTIzMiw2ICsyMzIsMTAgQEAgaWYgWyAkY29tcHJlc3NvciA9ICJnemlwIiBdIDsgdGhlbgotIAljb21wcmVzc29yYXJncz0kemlwYXJncwotIGVsaWYgWyAkY29tcHJlc3NvciA9ICJ4eiIgXSA7IHRoZW4KLSAJY29tcHJlc3NvcmFyZ3M9Ii0tdGhyZWFkcyAwIgotK2VsaWYgWyAkY29tcHJlc3NvciA9ICJwaWd6IiBdIDsgdGhlbgotKwlpZiAkY29tcHJlc3NvciAtLWhlbHAgMj4mMSB8IGdyZXAgLS0gIi1UIiA+IC9kZXYvbnVsbDsgdGhlbgotKwkJY29tcHJlc3NvcmFyZ3M9Ii05blQiCi0rCWZpCi0gZmkKLSAKLSB0c29ydGFyZ3M9Ci0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHMvdGFyX2lnbm9yZV9lcnJvci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2ctdXRpbHMvb3BrZy11dGlscy90YXJfaWdub3JlX2Vycm9yLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkODkzMWIyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2ctdXRpbHMvb3BrZy11dGlscy90YXJfaWdub3JlX2Vycm9yLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotSWYgYSB0aGUgbnVtYmVyIG9mIGhhcmQgbGlua3MgZGVjcmVhc2VzIG9yIGluY3JlYXNlcyB3aGlsZSBjcmVhdGluZwotdGhlIHRhciBmaWxlcyB1c2VkIGZvciBhbiBpcGsgcGFja2FnZSwgdGFyIGZhaWxzIHdpdGggZXJyb3IgY29kZSAxOgotCi18IERFQlVHOiBFeGVjdXRpbmcgcHl0aG9uIGZ1bmN0aW9uIGRvX3BhY2thZ2VfaXBrCi18IHRhcjogLi91c3Ivc3JjL2RlYnVnL2dwZXJmLzMuMC40LXIwL2dwZXJmLTMuMC40L3NyYy9tYWluLmNjOiBmaWxlIGNoYW5nZWQgYXMgd2UgcmVhZCBpdAotTk9URTogcmVjaXBlIGdwZXJmLTMuMC40LXIwOiB0YXNrIGRvX3BhY2thZ2Vfd3JpdGVfaXBrOiBGYWlsZWQKLUVSUk9SOiBUYXNrIDY1MzkgKHJlY2lwZXMtZXh0ZW5kZWQvZ3BlcmYvZ3BlcmZfMy4wLjQuYmIsIGRvX3BhY2thZ2Vfd3JpdGVfaXBrKSBmYWlsZWQgd2l0aCBleGl0IGNvZGUgJzEnCi0KLQotV2UgZGV0ZWN0IGlmIHRoZSBlcnJvciBjb2RlIHByb2R1Y2VkIGJ5IHRhciBpcyAxIGFuZCBpbiB0aGlzIGNhc2UgaWdub3JlIGl0LgotCi1UaGlzIGEgc2ltaWxhciBiZWhhdmlvciB0byB0aGUgb25lIG9uIGRwa2c6Ci1odHRwOi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvY2dpdC9jZ2l0LmNnaS9wb2t5L2NvbW1pdC8/aWQ9NDA3MzE5NDI1MTVlYzhkODBjNzI3YWQ1NjExNzQ5ODZkNGYwNTgxOAotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUKLQotU2lnbmVkLW9mZi1ieTogQWxlamFuZHJvIEhlcm5hbmRleiA8YWxlamFuZHJvLmhlcm5hbmRlekBsaW51eC5pbnRlbC5jb20+Ci0KLQotSW5kZXg6IGdpdC9vcGtnLWJ1aWxkCi0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnaXQub3JpZy9vcGtnLWJ1aWxkCi0rKysgZ2l0L29wa2ctYnVpbGQKLUBAIC0yODUsOCArMjg1LDIxIEBAIG1rZGlyICR0bXBfZGlyCi0gYnVpbGRfZGF0ZT0iJChkYXRlIC0tZGF0ZT0iQCR7U09VUkNFX0RBVEVfRVBPQ0g6LSQoZGF0ZSArJXMpfSIgIislWS0lbS0lZCAlSDolTTolUyIpIgotIAotIGVjaG8gJENPTlRST0wgPiAkdG1wX2Rpci90YXJYCi0tKCBjZCAkcGtnX2RpciAmJiB0YXIgJG9nYXJncyAkdHNvcnRhcmdzIC0tbXRpbWU9IiRidWlsZF9kYXRlIiAtWCAkdG1wX2Rpci90YXJYIC1jICR0YXJmb3JtYXQgLiB8ICRjb21wcmVzc29yICRjb21wcmVzc29yYXJncyA+ICR0bXBfZGlyL2RhdGEudGFyLiRjZXh0ICkKLS0oIGNkICRwa2dfZGlyLyRDT05UUk9MICYmIHRhciAkb2dhcmdzICR0c29ydGFyZ3MgLS1tdGltZT0iJGJ1aWxkX2RhdGUiIC1jICR0YXJmb3JtYXQgLiB8IGd6aXAgJHppcGFyZ3MgPiAkdG1wX2Rpci9jb250cm9sLnRhci5neiApCi0rCi0rCi0rIyBJZ25vcmUgZXJyb3IgY29kZSAxLCBjYXVzZWQgYnkgbW9kaWZ5aW5nIHRoZSBudW1iZXIgb2YgaGFyZCBsaW5rcyB3aGlsZSBjcmVhdGluZyB0aGUgdGFyIGZpbGUKLStyYz0wCi0rKCBjZCAkcGtnX2RpciAmJiB0YXIgJG9nYXJncyAkdHNvcnRhcmdzIC0tbXRpbWU9IiRidWlsZF9kYXRlIiAtWCAkdG1wX2Rpci90YXJYIC1jICR0YXJmb3JtYXQgLiB8ICRjb21wcmVzc29yICRjb21wcmVzc29yYXJncyA+ICR0bXBfZGlyL2RhdGEudGFyLiRjZXh0ICkgfHwgcmM9JD8KLStpZiBbICRyYyAtbmUgMSBdICYmIFsgJHJjIC1uZSAwIF07IHRoZW4KLSsgICAgICAgIGV4aXQgJHJjIAotK2ZpCi0rCi0rcmM9MAotKyggY2QgJHBrZ19kaXIvJENPTlRST0wgJiYgdGFyICRvZ2FyZ3MgJHRzb3J0YXJncyAtLW10aW1lPSIkYnVpbGRfZGF0ZSIgLWMgJHRhcmZvcm1hdCAuIHwgZ3ppcCAkemlwYXJncyA+ICR0bXBfZGlyL2NvbnRyb2wudGFyLmd6ICkgfHwgcmM9JD8KLStpZiBbICRyYyAtbmUgMSBdICYmIFsgJHJjIC1uZSAwIF07IHRoZW4KLSsgICAgICAgIGV4aXQgJHJjCi0rZmkKLSsKLSBybSAkdG1wX2Rpci90YXJYCi0gCi0gZWNobyAiMi4wIiA+ICR0bXBfZGlyL2RlYmlhbi1iaW5hcnkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2ctdXRpbHMvb3BrZy11dGlscy90aHJlYWRlZC14ei5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2ctdXRpbHMvb3BrZy11dGlscy90aHJlYWRlZC14ei5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTNhNDlmOS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHMvdGhyZWFkZWQteHoucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1QYXNzIC0tdGhyZWFkcz0wIHRvIHh6IHNvIHRoYXQgaXQgd2lsbCB1c2UgYXMgbWFueSB0aHJlYWRzIGFzIHRoZXJlIGFyZSBjb3JlcyB0byBjb21wcmVzcyB0aGUgcGFja2FnZXMuICBUaGlzIG1ha2VzIHFlbXUncyBkb19wYWNrYWdlX2lwayBydW4gaW4gMzRzIGluc3RlYWQgb2YgMjc1cyBvbiBteSBtYWNoaW5lLgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgKHVnbHkgYnV0IHdvcmtzLCBkaXNjdXNzaW5nIHdpdGggdXBzdHJlYW0gbm93KQotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotZGlmZiAtLWdpdCBhL29wa2ctYnVpbGQgYi9vcGtnLWJ1aWxkCi1pbmRleCAwMDUwYzJiLi45M2E3OTU2IDEwMDc1NQotLS0tIGEvb3BrZy1idWlsZAotKysrIGIvb3BrZy1idWlsZAotQEAgLTIzMCw2ICsyMzAsOCBAQCBpZiBnemlwIC0taGVscCAyPiYxIHwgZ3JlcCAtLSAiLVQiID4gL2Rldi9udWxsOyB0aGVuCi0gZmkKLSBpZiBbICRjb21wcmVzc29yID0gImd6aXAiIF0gOyB0aGVuCi0gCWNvbXByZXNzb3JhcmdzPSR6aXBhcmdzCi0rZWxpZiBbICRjb21wcmVzc29yID0gInh6IiBdIDsgdGhlbgotKwljb21wcmVzc29yYXJncz0iLS10aHJlYWRzIDAiCi0gZmkKLSAKLSB0c29ydGFyZ3M9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHNfMC4zLjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHNfMC4zLjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRjNDE3NzQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy11dGlscy9vcGtnLXV0aWxzXzAuMy42LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNjkgKzAsMCBAQAotU1VNTUFSWSA9ICJBZGRpdGlvbmFsIHV0aWxpdGllcyBmb3IgdGhlIG9wa2cgcGFja2FnZSBtYW5hZ2VyIgotU1VNTUFSWV91cGRhdGUtYWx0ZXJuYXRpdmVzLW9wa2cgPSAiVXRpbGl0eSBmb3IgbWFuYWdpbmcgdGhlIGFsdGVybmF0aXZlcyBzeXN0ZW0iCi1TRUNUSU9OID0gImJhc2UiCi1IT01FUEFHRSA9ICJodHRwOi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvY2dpdC9jZ2l0LmNnaS9vcGtnLXV0aWxzIgotTElDRU5TRSA9ICJHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9vcGtnLnB5O2JlZ2lubGluZT0yO2VuZGxpbmU9MTg7bWQ1PTYzY2U5ZTZiY2M0NDUxODFjZDllNGJhZjRiNGNjYzM1IgotUFJPVklERVMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3VwZGF0ZS1hbHRlcm5hdGl2ZXMnLCAndmlydHVhbC91cGRhdGUtYWx0ZXJuYXRpdmVzJywgJycsIGQpfSIKLQotU1JDX1VSSSA9ICJodHRwOi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvY2dpdC9jZ2l0LmNnaS8ke0JQTn0vc25hcHNob3QvJHtCUE59LSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLVN3aXRjaC1hbGwtc2NyaXB0cy10by11c2UtUHl0aG9uLTMueC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLU9ubHktdXNlLXNvcnQtbmFtZS1vbi12ZXJzaW9ucy1vZi10YXItd2hpY2gtc3VwcG9ydC0ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1vcGtnLWJ1aWxkLVVzZS1sb2NhbC10aW1lLWZvci1idWlsZF9kYXRlLXNpbmNlLW9wa2ctLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3RocmVhZGVkLXh6LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3BpZ3oucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS11cGRhdGUtYWx0ZXJuYXRpdmVzLUZpeC1saW5rLXJlbG9jYXRpb24tc3VwcG9ydC5wYXRjaCBcCi0iCi1TUkNfVVJJX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGZpbGU6Ly90YXJfaWdub3JlX2Vycm9yLnBhdGNoIgotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHA6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy9jZ2l0L2NnaXQuY2dpL29wa2ctdXRpbHMvcmVmcy8iCi0KLQotU1JDX1VSSVttZDVzdW1dID0gIjM5MWMxYzgwYWNhMjY5NjEzNzVkZDIyZTFkMmQwY2JmIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI2YjNmNGRkMWMxZWY2NWY1MTlkNGNkZGZiMzVlYmVhNDFhZThhZjk4OWFlYTI2OTlhMzk3ODM1OThjMzM3NjkiCi0KLVRBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgotCi0jIEZvciBuYXRpdmUgYnVpbGRzIHdlIHVzZSB0aGUgaG9zdCBQeXRob24KLVBZVEhPTlJERVBTID0gInB5dGhvbjMgcHl0aG9uMy1zaGVsbCBweXRob24zLWlvIHB5dGhvbjMtbWF0aCBweXRob24zLWNyeXB0IHB5dGhvbjMtbG9nZ2luZyBweXRob24zLWZjbnRsIHB5dGhvbjMtcGlja2xlIHB5dGhvbjMtY29tcHJlc3Npb24gcHl0aG9uMy1zdHJpbmdvbGQiCi1QWVRIT05SREVQU19jbGFzcy1uYXRpdmUgPSAiIgotCi1QQUNLQUdFQ09ORklHID0gInB5dGhvbiB1cGRhdGUtYWx0ZXJuYXRpdmVzIgotUEFDS0FHRUNPTkZJR1tweXRob25dID0gIiwsLCR7UFlUSE9OUkRFUFN9IgotUEFDS0FHRUNPTkZJR1t1cGRhdGUtYWx0ZXJuYXRpdmVzXSA9ICIsLCwiCi0KLWRvX2luc3RhbGwoKSB7Ci0Jb2VfcnVubWFrZSBQUkVGSVg9JHtwcmVmaXh9IERFU1RESVI9JHtEfSBpbnN0YWxsCi0JaWYgISAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICd1cGRhdGUtYWx0ZXJuYXRpdmVzJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KLQkJcm0gLWYgIiR7RH0ke2JpbmRpcn0vdXBkYXRlLWFsdGVybmF0aXZlcyIKLQlmaQotCi0gICAgaWYgISAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24nLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgotICAgICAgICBncmVwIC1sWiAiL3Vzci9iaW4vZW52LipweXRob24iICR7RH0ke2JpbmRpcn0vKiB8IHhhcmdzIC0wIHJtCi0gICAgZmkKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgewotCWlmIFsgLWUgIiR7RH0ke2JpbmRpcn0vdXBkYXRlLWFsdGVybmF0aXZlcyIgXTsgdGhlbgotCQlzZWQgLWkgJHtEfSR7YmluZGlyfS91cGRhdGUtYWx0ZXJuYXRpdmVzIC1lICdzLC91c3IvYmluLCR7YmluZGlyfSxnOyBzLC91c3IvbGliLCR7bm9uYXJjaF9saWJkaXJ9LGcnCi0JZmkKLX0KLQotIyBUaGVzZSBhcmUgZW1wdHkgYW5kIHdpbGwgcHVsbCBweXRob24zLWRldiBpbnRvIGltYWdlcyB3aGVyZSBpdCB3b3VsZG4ndAotIyBoYXZlIGJlZW4gb3RoZXJ3aXNlLCBzbyBkb24ndCBnZW5lcmF0ZSB0aGVtLgotUEFDS0FHRVNfcmVtb3ZlID0gIiR7UE59LWRldiAke1BOfS1zdGF0aWNkZXYiCi0KLVBBQ0tBR0VTID0rICJ1cGRhdGUtYWx0ZXJuYXRpdmVzLW9wa2ciCi1GSUxFU191cGRhdGUtYWx0ZXJuYXRpdmVzLW9wa2cgPSAiJHtiaW5kaXJ9L3VwZGF0ZS1hbHRlcm5hdGl2ZXMiCi1SUFJPVklERVNfdXBkYXRlLWFsdGVybmF0aXZlcy1vcGtnID0gInVwZGF0ZS1hbHRlcm5hdGl2ZXMgdXBkYXRlLWFsdGVybmF0aXZlcy1jd29ydGgiCi1SUkVQTEFDRVNfdXBkYXRlLWFsdGVybmF0aXZlcy1vcGtnID0gInVwZGF0ZS1hbHRlcm5hdGl2ZXMtY3dvcnRoIgotUkNPTkZMSUNUU191cGRhdGUtYWx0ZXJuYXRpdmVzLW9wa2cgPSAidXBkYXRlLWFsdGVybmF0aXZlcy1jd29ydGgiCi0KLXBrZ19wb3N0cm1fdXBkYXRlLWFsdGVybmF0aXZlcy1vcGtnKCkgewotCXJtIC1yZiAkRCR7bm9uYXJjaF9saWJkaXJ9L29wa2cvYWx0ZXJuYXRpdmVzCi0Jcm1kaXIgJEQke25vbmFyY2hfbGliZGlyfS9vcGtnIHx8IHRydWUKLX0KLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgotCi1DTEVBTkJST0tFTiA9ICIxIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy11dGlscy9vcGtnLXV0aWxzXzAuNC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy11dGlscy9vcGtnLXV0aWxzXzAuNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhM2UwNmIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHNfMC40LjAuYmIKQEAgLTAsMCArMSw2NCBAQAorU1VNTUFSWSA9ICJBZGRpdGlvbmFsIHV0aWxpdGllcyBmb3IgdGhlIG9wa2cgcGFja2FnZSBtYW5hZ2VyIgorU1VNTUFSWV91cGRhdGUtYWx0ZXJuYXRpdmVzLW9wa2cgPSAiVXRpbGl0eSBmb3IgbWFuYWdpbmcgdGhlIGFsdGVybmF0aXZlcyBzeXN0ZW0iCitTRUNUSU9OID0gImJhc2UiCitIT01FUEFHRSA9ICJodHRwOi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvY2dpdC9jZ2l0LmNnaS9vcGtnLXV0aWxzIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9vcGtnLnB5O2JlZ2lubGluZT0yO2VuZGxpbmU9MTg7bWQ1PTYzY2U5ZTZiY2M0NDUxODFjZDllNGJhZjRiNGNjYzM1IgorUFJPVklERVMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3VwZGF0ZS1hbHRlcm5hdGl2ZXMnLCAndmlydHVhbC91cGRhdGUtYWx0ZXJuYXRpdmVzJywgJycsIGQpfSIKKworU1JDX1VSSSA9ICJodHRwOi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvY2dpdC9jZ2l0LmNnaS8ke0JQTn0vc25hcHNob3QvJHtCUE59LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVN3aXRjaC1hbGwtc2NyaXB0cy10by11c2UtUHl0aG9uLTMueC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW9wa2ctYnVpbGQtZG8tbm90LXNldC1tdGltZS1vbi1kYXRhLnRhci5YLnBhdGNoIFwKKyIKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvY2dpdC9jZ2l0LmNnaS9vcGtnLXV0aWxzL3JlZnMvIgorCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2ZTFjMmVhZTk2MjM5NTIwYThlYjNkMDUzNzI3NzNlYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4MTUzZjRlNWRhZGRlNDIyZDM1ZmVhZjg2YmY1OTUyNjZhZjlkMDAzNzM4OWJjNDE4ZmE4N2ZlYjA0MzdlZmIzIgorCitUQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKKworIyBGb3IgbmF0aXZlIGJ1aWxkcyB3ZSB1c2UgdGhlIGhvc3QgUHl0aG9uCitQWVRIT05SREVQUyA9ICJweXRob24zIHB5dGhvbjMtc2hlbGwgcHl0aG9uMy1pbyBweXRob24zLW1hdGggcHl0aG9uMy1jcnlwdCBweXRob24zLWxvZ2dpbmcgcHl0aG9uMy1mY250bCBweXRob24zLXBpY2tsZSBweXRob24zLWNvbXByZXNzaW9uIHB5dGhvbjMtc3RyaW5nb2xkIgorUFlUSE9OUkRFUFNfY2xhc3MtbmF0aXZlID0gIiIKKworUEFDS0FHRUNPTkZJRyA9ICJweXRob24gdXBkYXRlLWFsdGVybmF0aXZlcyIKK1BBQ0tBR0VDT05GSUdbcHl0aG9uXSA9ICIsLCwke1BZVEhPTlJERVBTfSIKK1BBQ0tBR0VDT05GSUdbdXBkYXRlLWFsdGVybmF0aXZlc10gPSAiLCwsIgorCitkb19pbnN0YWxsKCkgeworCW9lX3J1bm1ha2UgUFJFRklYPSR7cHJlZml4fSBERVNURElSPSR7RH0gaW5zdGFsbAorCWlmICEgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAndXBkYXRlLWFsdGVybmF0aXZlcycsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisJCXJtIC1mICIke0R9JHtiaW5kaXJ9L3VwZGF0ZS1hbHRlcm5hdGl2ZXMiCisJZmkKKworICAgIGlmICEgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHl0aG9uJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgZ3JlcCAtbFogIi91c3IvYmluL2Vudi4qcHl0aG9uIiAke0R9JHtiaW5kaXJ9LyogfCB4YXJncyAtMCBybQorICAgIGZpCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLXRhcmdldCgpIHsKKwlpZiBbIC1lICIke0R9JHtiaW5kaXJ9L3VwZGF0ZS1hbHRlcm5hdGl2ZXMiIF07IHRoZW4KKwkJc2VkIC1pICR7RH0ke2JpbmRpcn0vdXBkYXRlLWFsdGVybmF0aXZlcyAtZSAncywvdXNyL2Jpbiwke2JpbmRpcn0sZzsgcywvdXNyL2xpYiwke25vbmFyY2hfbGliZGlyfSxnJworCWZpCit9CisKKyMgVGhlc2UgYXJlIGVtcHR5IGFuZCB3aWxsIHB1bGwgcHl0aG9uMy1kZXYgaW50byBpbWFnZXMgd2hlcmUgaXQgd291bGRuJ3QKKyMgaGF2ZSBiZWVuIG90aGVyd2lzZSwgc28gZG9uJ3QgZ2VuZXJhdGUgdGhlbS4KK1BBQ0tBR0VTX3JlbW92ZSA9ICIke1BOfS1kZXYgJHtQTn0tc3RhdGljZGV2IgorCitQQUNLQUdFUyA9KyAidXBkYXRlLWFsdGVybmF0aXZlcy1vcGtnIgorRklMRVNfdXBkYXRlLWFsdGVybmF0aXZlcy1vcGtnID0gIiR7YmluZGlyfS91cGRhdGUtYWx0ZXJuYXRpdmVzIgorUlBST1ZJREVTX3VwZGF0ZS1hbHRlcm5hdGl2ZXMtb3BrZyA9ICJ1cGRhdGUtYWx0ZXJuYXRpdmVzIHVwZGF0ZS1hbHRlcm5hdGl2ZXMtY3dvcnRoIgorUlJFUExBQ0VTX3VwZGF0ZS1hbHRlcm5hdGl2ZXMtb3BrZyA9ICJ1cGRhdGUtYWx0ZXJuYXRpdmVzLWN3b3J0aCIKK1JDT05GTElDVFNfdXBkYXRlLWFsdGVybmF0aXZlcy1vcGtnID0gInVwZGF0ZS1hbHRlcm5hdGl2ZXMtY3dvcnRoIgorCitwa2dfcG9zdHJtX3VwZGF0ZS1hbHRlcm5hdGl2ZXMtb3BrZygpIHsKKwlybSAtcmYgJEQke25vbmFyY2hfbGliZGlyfS9vcGtnL2FsdGVybmF0aXZlcworCXJtZGlyICREJHtub25hcmNoX2xpYmRpcn0vb3BrZyB8fCB0cnVlCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworQ0xFQU5CUk9LRU4gPSAiMSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2cvb3BrZy8wMDAxLWxpYm9wa2ctYWRkLWFkZC1pZ25vcmUtcmVjb21tZW5kcy1vcHRpb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnL29wa2cvMDAwMS1saWJvcGtnLWFkZC1hZGQtaWdub3JlLXJlY29tbWVuZHMtb3B0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3ZDFiM2MKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnL29wa2cvMDAwMS1saWJvcGtnLWFkZC1hZGQtaWdub3JlLXJlY29tbWVuZHMtb3B0aW9uLnBhdGNoCkBAIC0wLDAgKzEsMjU5IEBACitGcm9tIDY0YWE5ODY0NmExN2MyOTliZjM3YWYyOTc1Yjk4ZGFmNWQ3ZDMwYjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGVqYW5kcm8gZGVsIENhc3RpbGxvIDxhbGVqYW5kcm8uZGVsY2FzdGlsbG9AbmkuY29tPgorRGF0ZTogVGh1LCAzMSBKYW4gMjAxOSAxODoxNjowOCAtMDYwMAorU3ViamVjdDogW1BBVENIXSBsaWJvcGtnOiBhZGQgLS1hZGQtaWdub3JlLXJlY29tbWVuZHMgb3B0aW9uCisKK0FkZCBvcHRpb24gdG8gaWdub3JlIHNwZWNpZmljIHJlY29tbWVuZGVkIHBhY2thZ2VzLiBPbiB0aGUgbGlic29sdgorYmFja2VkLCB0aGlzIGZlYXR1cmUgd2lsbCBvbmx5IHdvcmsgb24gbGlic29sdiB2ZXJzaW9uID4gMC43LjIgWzFdLgorCitbMV0gaHR0cHM6Ly91cmxkZWZlbnNlLnByb29mcG9pbnQuY29tL3YyL3VybD91PWh0dHBzLTNBX19naXRodWIuY29tX29wZW5TVVNFX2xpYnNvbHZfaXNzdWVzXzI1NCZkPUR3SUJhUSZjPUlfMFl3b0t5N3o1TE1UVmR5TzZZQ2lFMnV6STFqalpadUlQZWxjU2ppeEEmcj13TmNyTDJha1JuNmpmeGhIYUthdlVySkJfQzlKQU1YdHluakxkOFp6Z1hRJm09R09iTkh6RkpwV3BmX1ByaXBJcmYtSzJSaHNrdFlkQVVFaWVBSmV4WE9LdyZzPTNHLW1lQ2hVcUNsRmdnRlBxc3JBeElaQmZMblJLSUhtNjJVdXkxWDZuUVEmZT0KKworU2lnbmVkLW9mZi1ieTogQWxlamFuZHJvIGRlbCBDYXN0aWxsbyA8YWxlamFuZHJvLmRlbGNhc3RpbGxvQG5pLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBBY2NlcHRlZAorLS0tCisgbGlib3BrZy9vcGtnX2NvbmYuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKworIGxpYm9wa2cvb3BrZ19jb25mLmggICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxICsKKyAuLi4vc29sdmVycy9pbnRlcm5hbC9wa2dfZGVwZW5kc19pbnRlcm5hbC5jICAgfCAgMyArLQorIGxpYm9wa2cvc29sdmVycy9saWJzb2x2L29wa2dfc29sdmVyX2xpYnNvbHYuYyB8IDIxICsrKysrKy0KKyBtYW4vb3BrZy4xLmluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMyArCisgc3JjL29wa2cuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDYgKysKKyB0ZXN0cy9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMSArCisgdGVzdHMvY29yZS80M19hZGRfaWdub3JlX3JlY29tbWVuZHMucHkgICAgICAgIHwgNjIgKysrKysrKysrKysrKysrKysrKworIDggZmlsZXMgY2hhbmdlZCwgOTcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA3NTUgdGVzdHMvY29yZS80M19hZGRfaWdub3JlX3JlY29tbWVuZHMucHkKKworZGlmZiAtLWdpdCBhL2xpYm9wa2cvb3BrZ19jb25mLmMgYi9saWJvcGtnL29wa2dfY29uZi5jCitpbmRleCAwNjg4MGExLi5mMjMzMGNkIDEwMDY0NAorLS0tIGEvbGlib3BrZy9vcGtnX2NvbmYuYworKysrIGIvbGlib3BrZy9vcGtnX2NvbmYuYworQEAgLTU5Nyw2ICs1OTcsNyBAQCBpbnQgb3BrZ19jb25mX2luaXQodm9pZCkKKyAgICAgcGtnX2Rlc3RfbGlzdF9pbml0KCZvcGtnX2NvbmZpZy0+dG1wX2Rlc3RfbGlzdCk7CisgICAgIG52X3BhaXJfbGlzdF9pbml0KCZvcGtnX2NvbmZpZy0+YXJjaF9saXN0KTsKKyAgICAgc3RyX2xpc3RfaW5pdCgmb3BrZ19jb25maWctPmV4Y2x1ZGVfbGlzdCk7CisrICAgIHN0cl9saXN0X2luaXQoJm9wa2dfY29uZmlnLT5pZ25vcmVfcmVjb21tZW5kc19saXN0KTsKKyAKKyAgICAgcmV0dXJuIDA7CisgfQorQEAgLTkzOCw2ICs5MzksNyBAQCB2b2lkIG9wa2dfY29uZl9kZWluaXQodm9pZCkKKyAgICAgcGtnX2Rlc3RfbGlzdF9kZWluaXQoJm9wa2dfY29uZmlnLT5wa2dfZGVzdF9saXN0KTsKKyAgICAgbnZfcGFpcl9saXN0X2RlaW5pdCgmb3BrZ19jb25maWctPmFyY2hfbGlzdCk7CisgICAgIHN0cl9saXN0X2RlaW5pdCgmb3BrZ19jb25maWctPmV4Y2x1ZGVfbGlzdCk7CisrICAgIHN0cl9saXN0X2RlaW5pdCgmb3BrZ19jb25maWctPmlnbm9yZV9yZWNvbW1lbmRzX2xpc3QpOworIAorICAgICBpZiAob3BrZ19jb25maWctPnZlcmJvc2l0eSA+PSBERUJVRykgeworICAgICAgICAgaGFzaF9wcmludF9zdGF0cygmb3BrZ19jb25maWctPnBrZ19oYXNoKTsKK2RpZmYgLS1naXQgYS9saWJvcGtnL29wa2dfY29uZi5oIGIvbGlib3BrZy9vcGtnX2NvbmYuaAoraW5kZXggZWI1NmEyOS4uMzE2YzUwMCAxMDA2NDQKKy0tLSBhL2xpYm9wa2cvb3BrZ19jb25mLmgKKysrKyBiL2xpYm9wa2cvb3BrZ19jb25mLmgKK0BAIC02MSw2ICs2MSw3IEBAIHR5cGVkZWYgc3RydWN0IG9wa2dfY29uZiB7CisgICAgIHBrZ19kZXN0X2xpc3RfdCB0bXBfZGVzdF9saXN0OworICAgICBudl9wYWlyX2xpc3RfdCBhcmNoX2xpc3Q7CisgICAgIHN0cl9saXN0X3QgZXhjbHVkZV9saXN0OworKyAgICBzdHJfbGlzdF90IGlnbm9yZV9yZWNvbW1lbmRzX2xpc3Q7CisgCisgICAgIGludCByZXN0cmljdF90b19kZWZhdWx0X2Rlc3Q7CisgICAgIHBrZ19kZXN0X3QgKmRlZmF1bHRfZGVzdDsKK2RpZmYgLS1naXQgYS9saWJvcGtnL3NvbHZlcnMvaW50ZXJuYWwvcGtnX2RlcGVuZHNfaW50ZXJuYWwuYyBiL2xpYm9wa2cvc29sdmVycy9pbnRlcm5hbC9wa2dfZGVwZW5kc19pbnRlcm5hbC5jCitpbmRleCBjZDU2ZDg0Li41ZGVlZTcwIDEwMDY0NAorLS0tIGEvbGlib3BrZy9zb2x2ZXJzL2ludGVybmFsL3BrZ19kZXBlbmRzX2ludGVybmFsLmMKKysrKyBiL2xpYm9wa2cvc29sdmVycy9pbnRlcm5hbC9wa2dfZGVwZW5kc19pbnRlcm5hbC5jCitAQCAtMjI4LDcgKzIyOCw4IEBAIGludCBwa2dfaGFzaF9mZXRjaF91bnNhdGlzZmllZF9kZXBlbmRlbmNpZXMocGtnX3QgKnBrZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgY29tcG91bmRfZGVwZW5kLT50eXBlID09IFNVR0dFU1QpCisgICAgICAgICAgICAgICAgICAgICAgICAgJiYgKHNhdGlzZnlpbmdfcGtnLT5zdGF0ZV93YW50ID09IFNXX0RFSU5TVEFMTAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCBzYXRpc2Z5aW5nX3BrZy0+c3RhdGVfd2FudCA9PSBTV19QVVJHRQorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCBvcGtnX2NvbmZpZy0+bm9faW5zdGFsbF9yZWNvbW1lbmRzKTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgb3BrZ19jb25maWctPm5vX2luc3RhbGxfcmVjb21tZW5kcworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCBzdHJfbGlzdF9jb250YWlucygmb3BrZ19jb25maWctPmlnbm9yZV9yZWNvbW1lbmRzX2xpc3QsIHNhdGlzZnlpbmdfcGtnLT5uYW1lKSk7CisgICAgICAgICAgICAgICAgIGlmIChpZ25vcmUpIHsKKyAgICAgICAgICAgICAgICAgICAgIG9wa2dfbXNnKE5PVElDRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlczogaWdub3JpbmcgcmVjb21tZW5kYXRpb24gZm9yICIKK2RpZmYgLS1naXQgYS9saWJvcGtnL3NvbHZlcnMvbGlic29sdi9vcGtnX3NvbHZlcl9saWJzb2x2LmMgYi9saWJvcGtnL3NvbHZlcnMvbGlic29sdi9vcGtnX3NvbHZlcl9saWJzb2x2LmMKK2luZGV4IDJiMjdlM2EuLjQwM2UwN2IgMTAwNjQ0CistLS0gYS9saWJvcGtnL3NvbHZlcnMvbGlic29sdi9vcGtnX3NvbHZlcl9saWJzb2x2LmMKKysrKyBiL2xpYm9wa2cvc29sdmVycy9saWJzb2x2L29wa2dfc29sdmVyX2xpYnNvbHYuYworQEAgLTQ4NCw2ICs0ODQsNyBAQCBzdGF0aWMgdm9pZCBwa2cyc29sdmFibGUocGtnX3QgKnBrZywgU29sdmFibGUgKnNvbHZhYmxlX291dCkKKyBzdGF0aWMgdm9pZCBwb3B1bGF0ZV9pbnN0YWxsZWRfcmVwbyhsaWJzb2x2X3NvbHZlcl90ICpsaWJzb2x2X3NvbHZlcikKKyB7CisgICAgIGludCBpOworKyAgICBJZCB3aGF0OworIAorICAgICBwa2dfdmVjX3QgKmluc3RhbGxlZF9wa2dzID0gcGtnX3ZlY19hbGxvYygpOworIAorQEAgLTUwNyw2ICs1MDgsMTUgQEAgc3RhdGljIHZvaWQgcG9wdWxhdGVfaW5zdGFsbGVkX3JlcG8obGlic29sdl9zb2x2ZXJfdCAqbGlic29sdl9zb2x2ZXIpCisgICAgICAgICAvKiBzZXQgc29sdmFibGUgYXR0cmlidXRlcyAqLworICAgICAgICAgcGtnMnNvbHZhYmxlKHBrZywgc29sdmFibGUpOworIAorKyAgICAgICAgLyogaWYgdGhlIHBhY2thZ2UgaXMgaW4gaWdub3JlLXJlY29tbWVuZHMtbGlzdCwgZGlzZmF2b3IgaW5zdGFsbGF0aW9uICovCisrICAgICAgICBpZiAoc3RyX2xpc3RfY29udGFpbnMoJm9wa2dfY29uZmlnLT5pZ25vcmVfcmVjb21tZW5kc19saXN0LCBwa2ctPm5hbWUpKSB7CisrICAgICAgICAgICAgb3BrZ19tZXNzYWdlKE5PVElDRSwgIkRpc2Zhdm9yIHBhY2thZ2U6ICVzXG4iLAorKyAgICAgICAgICAgICAgICAgICAgICAgICBwa2ctPm5hbWUpOworKyAgICAgICAgICAgIHdoYXQgPSBwb29sX3N0cjJpZChsaWJzb2x2X3NvbHZlci0+cG9vbCwgcGtnLT5uYW1lLCAxKTsKKysgICAgICAgICAgICBxdWV1ZV9wdXNoMigmbGlic29sdl9zb2x2ZXItPnNvbHZlcl9qb2JzLCBTT0xWRVJfU09MVkFCTEVfTkFNRQorKyAgICAgICAgICAgICAgICAgICAgICAgIHwgU09MVkVSX0RJU0ZBVk9SLCB3aGF0KTsKKysgICAgICAgIH0KKysKKyAgICAgICAgIC8qIGlmIHRoZSBwYWNrYWdlIGlzIG5vdCBhdXRvaW5zdGFsbGVkLCBtYXJrIGl0IGFzIHVzZXIgaW5zdGFsbGVkICovCisgICAgICAgICBpZiAoIXBrZy0+YXV0b19pbnN0YWxsZWQpCisgICAgICAgICAgICAgcXVldWVfcHVzaDIoJmxpYnNvbHZfc29sdmVyLT5zb2x2ZXJfam9icywgU09MVkVSX1NPTFZBQkxFCitAQCAtNTM5LDcgKzU0OSw3IEBAIHN0YXRpYyB2b2lkIHBvcHVsYXRlX2F2YWlsYWJsZV9yZXBvcyhsaWJzb2x2X3NvbHZlcl90ICpsaWJzb2x2X3NvbHZlcikKKyB7CisgICAgIGludCBpOworICAgICBTb2x2YWJsZSAqc29sdmFibGU7CistICAgIElkIHNvbHZhYmxlX2lkOworKyAgICBJZCBzb2x2YWJsZV9pZCwgd2hhdDsKKyAKKyAgICAgcGtnX3ZlY190ICphdmFpbGFibGVfcGtncyA9IHBrZ192ZWNfYWxsb2MoKTsKKyAKK0BAIC02MDgsNiArNjE4LDE1IEBAIHN0YXRpYyB2b2lkIHBvcHVsYXRlX2F2YWlsYWJsZV9yZXBvcyhsaWJzb2x2X3NvbHZlcl90ICpsaWJzb2x2X3NvbHZlcikKKyAgICAgICAgIHNvbHZhYmxlID0gcG9vbF9pZDJzb2x2YWJsZShsaWJzb2x2X3NvbHZlci0+cG9vbCwgc29sdmFibGVfaWQpOworICAgICAgICAgcGtnMnNvbHZhYmxlKHBrZywgc29sdmFibGUpOworIAorKyAgICAgICAgLyogaWYgdGhlIHBhY2thZ2UgaXMgaW4gaWdub3JlLXJlY29tbWVuZHMtbGlzdCwgZGlzZmF2b3IgaW5zdGFsbGF0aW9uICovCisrICAgICAgICBpZiAoc3RyX2xpc3RfY29udGFpbnMoJm9wa2dfY29uZmlnLT5pZ25vcmVfcmVjb21tZW5kc19saXN0LCBwa2ctPm5hbWUpKSB7CisrICAgICAgICAgICAgb3BrZ19tZXNzYWdlKE5PVElDRSwgIkRpc2Zhdm9yIHBhY2thZ2U6ICVzXG4iLAorKyAgICAgICAgICAgICAgICAgICAgICAgICBwa2ctPm5hbWUpOworKyAgICAgICAgICAgIHdoYXQgPSBwb29sX3N0cjJpZChsaWJzb2x2X3NvbHZlci0+cG9vbCwgcGtnLT5uYW1lLCAxKTsKKysgICAgICAgICAgICBxdWV1ZV9wdXNoMigmbGlic29sdl9zb2x2ZXItPnNvbHZlcl9qb2JzLCBTT0xWRVJfU09MVkFCTEVfTkFNRQorKyAgICAgICAgICAgICAgICAgICAgICAgIHwgU09MVkVSX0RJU0ZBVk9SLCB3aGF0KTsKKysgICAgICAgIH0KKysKKyAgICAgICAgIC8qIGlmIHRoZSAtLWZvcmNlLWRlcGVuZHMgb3B0aW9uIGlzIHNwZWNpZmllZCBtYWtlIGRlcGVuZGVuY2llcyB3ZWFrICovCisgICAgICAgICBpZiAob3BrZ19jb25maWctPmZvcmNlX2RlcGVuZHMpCisgICAgICAgICAgICAgcXVldWVfcHVzaDIoJmxpYnNvbHZfc29sdmVyLT5zb2x2ZXJfam9icywgU09MVkVSX1NPTFZBQkxFCitkaWZmIC0tZ2l0IGEvbWFuL29wa2cuMS5pbiBiL21hbi9vcGtnLjEuaW4KK2luZGV4IDI3ZmE5YzEuLmYxOTJjM2IgMTAwNjQ0CistLS0gYS9tYW4vb3BrZy4xLmluCisrKysgYi9tYW4vb3BrZy4xLmluCitAQCAtMTYyLDYgKzE2Miw5IEBAIHByaW9yaXR5IFxmSXByaW9cZlAuIExvd2VyIHByaW9yaXRpZXMgdGFrZSBwcmVjZWRlbmNlLgorIFxmQlwtLWFkZC1leGNsdWRlIDxcZkluYW1lXGZQPlxmUgorIFJlZ2lzdGVyIHBhY2thZ2UgdG8gYmUgZXhjbHVkZWQgZnJvbSBpbnN0YWxsCisgLlRQCisrXGZCXC0tYWRkLWlnbm9yZS1yZWNvbW1lbmRzIDxcZkluYW1lXGZQPlxmUgorK1JlZ2lzdGVyIHBhY2thZ2UgdG8gYmUgaWdub3JlZCBhcyBhIHJlY29tZW5kZWUKKysuVFAKKyBcZkJcLS1wcmVmZXItYXJjaC10by12ZXJzaW9uXGZSCisgVXNlIHRoZSBhcmNoaXRlY3R1cmUgcHJpb3JpdHkgcGFja2FnZSByYXRoZXIgdGhhbiB0aGUgaGlnaGVyIHZlcnNpb24KKyBvbmUgaWYgbW9yZSB0aGFuIG9uZSBjYW5kaWRhdGUgaXMgZm91bmQuCitkaWZmIC0tZ2l0IGEvc3JjL29wa2cuYyBiL3NyYy9vcGtnLmMKK2luZGV4IDY1MGUyNzguLjNjOTNhM2IgMTAwNjQ0CistLS0gYS9zcmMvb3BrZy5jCisrKysgYi9zcmMvb3BrZy5jCitAQCAtNTEsNiArNTEsNyBAQCBlbnVtIHsKKyAgICAgQVJHU19PUFRfQUREX0RFU1QsCisgICAgIEFSR1NfT1BUX1NJWkUsCisgICAgIEFSR1NfT1BUX0FERF9FWENMVURFLAorKyAgICBBUkdTX09QVF9BRERfSUdOT1JFX1JFQ09NTUVORFMsCisgICAgIEFSR1NfT1BUX05PQUNUSU9OLAorICAgICBBUkdTX09QVF9ET1dOTE9BRF9PTkxZLAorICAgICBBUkdTX09QVF9OT0RFUFMsCitAQCAtMTEyLDYgKzExMyw3IEBAIHN0YXRpYyBzdHJ1Y3Qgb3B0aW9uIGxvbmdfb3B0aW9uc1tdID0geworICAgICB7ImFkZC1kZXN0IiwgMSwgMCwgQVJHU19PUFRfQUREX0RFU1R9LAorICAgICB7InNpemUiLCAwLCAwLCBBUkdTX09QVF9TSVpFfSwKKyAgICAgeyJhZGQtZXhjbHVkZSIsIDEsIDAsIEFSR1NfT1BUX0FERF9FWENMVURFfSwKKysgICAgeyJhZGQtaWdub3JlLXJlY29tbWVuZHMiLCAxLCAwLCBBUkdTX09QVF9BRERfSUdOT1JFX1JFQ09NTUVORFN9LAorICAgICB7InRlc3QiLCAwLCAwLCBBUkdTX09QVF9OT0FDVElPTn0sCisgICAgIHsidG1wLWRpciIsIDEsIDAsICd0J30sCisgICAgIHsidG1wX2RpciIsIDEsIDAsICd0J30sCitAQCAtMjM0LDYgKzIzNiw5IEBAIHN0YXRpYyBpbnQgYXJnc19wYXJzZShpbnQgYXJnYywgY2hhciAqYXJndltdKQorICAgICAgICAgY2FzZSBBUkdTX09QVF9BRERfRVhDTFVERToKKyAgICAgICAgICAgICBzdHJfbGlzdF9hcHBlbmQoJm9wa2dfY29uZmlnLT5leGNsdWRlX2xpc3QsIG9wdGFyZyk7CisgICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIEFSR1NfT1BUX0FERF9JR05PUkVfUkVDT01NRU5EUzoKKysgICAgICAgICAgICBzdHJfbGlzdF9hcHBlbmQoJm9wa2dfY29uZmlnLT5pZ25vcmVfcmVjb21tZW5kc19saXN0LCBvcHRhcmcpOworKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgY2FzZSBBUkdTX09QVF9TSVpFOgorICAgICAgICAgICAgIG9wa2dfY29uZmlnLT5zaXplID0gMTsKKyAgICAgICAgICAgICBicmVhazsKK0BAIC0zNDMsNiArMzQ4LDcgQEAgc3RhdGljIHZvaWQgdXNhZ2UoKQorICAgICBwcmludGYoIlx0LS1hZGQtZGVzdCA8bmFtZT46PHBhdGg+ICAgICAgICBSZWdpc3RlciBkZXN0aW5hdGlvbiB3aXRoIGdpdmVuIHBhdGhcbiIpOworICAgICBwcmludGYoIlx0LS1hZGQtYXJjaCA8YXJjaD46PHByaW8+ICAgICAgICBSZWdpc3RlciBhcmNoaXRlY3R1cmUgd2l0aCBnaXZlbiBwcmlvcml0eVxuIik7CisgICAgIHByaW50ZigiXHQtLWFkZC1leGNsdWRlIDxuYW1lPiAgICAgICAgICAgIFJlZ2lzdGVyIHBhY2thZ2UgdG8gYmUgZXhjbHVkZWQgZnJvbSBpbnN0YWxsXG4iKTsKKysgICAgcHJpbnRmKCJcdC0tYWRkLWlnbm9yZS1yZWNvbW1lbmRzIDxuYW1lPiAgUmVnaXN0ZXIgcGFja2FnZSB0byBiZSBpZ25vcmVkIGFzIGEgcmVjb21lbmRlZVxuIik7CisgICAgIHByaW50ZigiXHQtLXByZWZlci1hcmNoLXRvLXZlcnNpb24gICAgICAgIFVzZSB0aGUgYXJjaGl0ZWN0dXJlIHByaW9yaXR5IHBhY2thZ2UgcmF0aGVyXG4iKTsKKyAgICAgcHJpbnRmKCJcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhbiB0aGUgaGlnaGVyIHZlcnNpb24gb25lIGlmIG1vcmVcbiIpOworICAgICBwcmludGYoIlx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIG9uZSBjYW5kaWRhdGUgaXMgZm91bmQuXG4iKTsKK2RpZmYgLS1naXQgYS90ZXN0cy9NYWtlZmlsZSBiL3Rlc3RzL01ha2VmaWxlCitpbmRleCA4ZTViZTA4Li43OTk4MTZkIDEwMDY0NAorLS0tIGEvdGVzdHMvTWFrZWZpbGUKKysrKyBiL3Rlc3RzL01ha2VmaWxlCitAQCAtNDIsNiArNDIsNyBAQCBSRUdSRVNTSU9OX1RFU1RTIDo9IGNvcmUvMDFfaW5zdGFsbC5weSBcCisgCQkgICAgY29yZS80MF9hcmNoLnB5IFwKKyAJCSAgICBjb3JlLzQxX2luZm9fZmllbGRzLnB5IFwKKyAJCSAgICBjb3JlLzQyX2luZm9fZGVzY3JpcHRpb24ucHkgXAorKwkJICAgIGNvcmUvNDNfYWRkX2lnbm9yZV9yZWNvbW1lbmRzLnB5IFwKKyAJCSAgICByZWdyZXNzL2lzc3VlMjYucHkgXAorIAkJICAgIHJlZ3Jlc3MvaXNzdWUzMS5weSBcCisgCQkgICAgcmVncmVzcy9pc3N1ZTMyLnB5IFwKK2RpZmYgLS1naXQgYS90ZXN0cy9jb3JlLzQzX2FkZF9pZ25vcmVfcmVjb21tZW5kcy5weSBiL3Rlc3RzL2NvcmUvNDNfYWRkX2lnbm9yZV9yZWNvbW1lbmRzLnB5CituZXcgZmlsZSBtb2RlIDEwMDc1NQoraW5kZXggMDAwMDAwMC4uN2RhMDA5NgorLS0tIC9kZXYvbnVsbAorKysrIGIvdGVzdHMvY29yZS80M19hZGRfaWdub3JlX3JlY29tbWVuZHMucHkKK0BAIC0wLDAgKzEsNjIgQEAKKysjISAvdXNyL2Jpbi9lbnYgcHl0aG9uMworKyMKKysjIENyZWF0ZSBwYWNrYWdlICdhJyAoMS4wKSB3aGljaCBSZWNvbW1lbmRzICdjJy4KKysjIEluc3RhbGwgJ2EnIHdpdGggLS1hZGQtaWdub3JlLXJlY29tbWVuZHMgJ2MnLgorKyMgQ2hlY2sgdGhhdCBvbmx5ICdhJyAoMS4wKSBpcyBpbnN0YWxsZWQuCisrIyBDcmVhdGUgcGFja2FnZSAnYicgd2hpY2ggRGVwZW5kcyBvbiAnYycuCisrIyBJbnN0YWxsICdhJyAmICdiJywgd2l0aCAtLWFkZC1pZ25vcmUtcmVjb21tZW5kcyAnYycuCisrIyBWZXJpZnkgdGhhdCAnYScsJ2InICYgJ2MnIGFyZSBpbnN0YWxsZWQuCisrIyBVbmluc3RhbGwgJ2InICYgJ2MnLgorKyMgQ3JlYXRlIHBhY2thZ2UgJ2EnICgyLjApLCB3aGljaCBSZWNvbW1lbmRzICdjJy4KKysjIFVwZ3JhZGUgJ2EnIHdpdGggLS1hZGQtaWdub3JlLXJlY29tbWVuZHMgJ2MnCisrIyBWZXJpZnkgdGhhdCBvbmx5ICdhJyAoMi4wKSBpcyBpbnN0YWxsZWQKKysjCisrCisraW1wb3J0IG9zCisraW1wb3J0IG9waywgY2ZnLCBvcGtnY2wKKysKKytvcGsucmVncmVzc19pbml0KCkKKytvID0gb3BrLk9wa0dyb3VwKCkKKysKKytvLmFkZChQYWNrYWdlPSdhJywgUmVjb21tZW5kcz0nYycsIFZlcnNpb249JzEuMCcpCisrby5hZGQoUGFja2FnZT0nYicsIERlcGVuZHM9J2MnKQorK28uYWRkKFBhY2thZ2U9J2MnKQorK28ud3JpdGVfb3BrKCkKKytvLndyaXRlX2xpc3QoKQorKworK29wa2djbC51cGRhdGUoKQorKworK29wa2djbC5pbnN0YWxsKCdhJywgJy0tYWRkLWlnbm9yZS1yZWNvbW1lbmRzIGMnKQorKworK2lmIG5vdCBvcGtnY2wuaXNfaW5zdGFsbGVkKCdhJyk6CisrCW9way5mYWlsKCJQYWNrYWdlICdhJyBpbnN0YWxsZWQgYnV0IHJlcG9ydHMgYXMgbm90IGluc3RhbGxlZC4iKQorKworK2lmIG9wa2djbC5pc19pbnN0YWxsZWQoJ2MnKToKKysJb3BrLnhmYWlsKCJbbGlic29sdjwwLjcuM10gUGFja2FnZSAnYycgc2hvdWxkIG5vdCBoYXZlIGJlZW4gaW5zdGFsbGVkIHNpbmNlIGl0IHdhcyBpbiAtLWFkZC1pZ25vcmUtcmVjb21tZW5kcy4iKQorKworK29wa2djbC5yZW1vdmUoJ2EnKQorK29wa2djbC5pbnN0YWxsKCdhIGInLCAnLS1hZGQtaWdub3JlLXJlY29tbWVuZHMgYycpCisrCisraWYgbm90IG9wa2djbC5pc19pbnN0YWxsZWQoJ2EnKToKKysJb3BrLmZhaWwoIlBhY2thZ2UgJ2EnIGluc3RhbGxlZCBidXQgcmVwb3J0cyBhcyBub3QgaW5zdGFsbGVkLiIpCisrCisraWYgbm90IG9wa2djbC5pc19pbnN0YWxsZWQoJ2InKToKKysJb3BrLmZhaWwoIlBhY2thZ2UgJ2InIGluc3RhbGxlZCBidXQgcmVwb3J0cyBhcyBub3QgaW5zdGFsbGVkLiIpCisrCisraWYgbm90IG9wa2djbC5pc19pbnN0YWxsZWQoJ2MnKToKKysJb3BrLmZhaWwoIlBhY2thZ2UgJ2MnIHNob3VsZCBoYXZlIGJlZW4gaW5zdGFsbGVkIHNpbmNlICdiJyBkZXBlbmRzIG9uIGl0LiIpCisrCisrb3BrZ2NsLnJlbW92ZSgnYiBjJywgJy0tZm9yY2UtZGVwZW5kcycpCisrby5hZGQoUGFja2FnZT0nYScsIFJlY29tbWVuZHM9J2MnLCBWZXJzaW9uPScyLjAnKQorK28ud3JpdGVfb3BrKCkKKytvLndyaXRlX2xpc3QoKQorKworK29wa2djbC51cGRhdGUoKQorKworK29wa2djbC51cGdyYWRlKCdhJywgJy0tYWRkLWlnbm9yZS1yZWNvbW1lbmRzIGMnKQorKworK2lmIG5vdCBvcGtnY2wuaXNfaW5zdGFsbGVkKCdhJywgJzIuMCcpOgorKwlvcGsuZmFpbCgiUGFja2FnZSAnYSAoMi4wKScgaW5zdGFsbGVkIGJ1dCByZXBvcnRzIGFzIG5vdCBpbnN0YWxsZWQuIikKKysKKytpZiBvcGtnY2wuaXNfaW5zdGFsbGVkKCdjJyk6CisrCW9way5mYWlsKCJQYWNrYWdlICdjJyBzaG91bGQgbm90IGhhdmUgYmVlbiBpbnN0YWxsZWQgc2luY2UgaXQgd2FzIGluIC0tYWRkLWlnbm9yZS1yZWNvbW1lbmRzLiIpCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnL29wa2cvMDAwMS1yZW1vdmVfbWFpbnRhaW5lcl9zY3JpcHRzLXVzZS1zdHJpY3QtbWF0Y2hpbmcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnL29wa2cvMDAwMS1yZW1vdmVfbWFpbnRhaW5lcl9zY3JpcHRzLXVzZS1zdHJpY3QtbWF0Y2hpbmcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVjMTYwMjkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy9vcGtnLzAwMDEtcmVtb3ZlX21haW50YWluZXJfc2NyaXB0cy11c2Utc3RyaWN0LW1hdGNoaW5nLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTYgKzAsMCBAQAotRnJvbSA1NWM0YWQ2NjZlNzYyODFiZGQwZGI1NWZhNmY0YWIyNzQ0ZmVhN2U0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxlamFuZHJvIGRlbCBDYXN0aWxsbyA8YWxlamFuZHJvLmRlbGNhc3RpbGxvQG5pLmNvbT4KLURhdGU6IFR1ZSwgNCBTZXAgMjAxOCAxODowNjowMCAtMDUwMAotU3ViamVjdDogW1BBVENIXSByZW1vdmVfbWFpbnRhaW5lcl9zY3JpcHRzOiB1c2Ugc3RyaWN0IG1hdGNoaW5nCi0KLVRoZSBmdW5jdGlvbiBpcyB1c2luZyBhIGdsb2IgdG8gc2VsZWN0IHdoaWNoIG1ldGFkYXRhIGZpbGVzIG5lZWRzIHRvIGJlCi1kZWxldGVkIGR1cmluZyBwYWNrYWdlIHJlbW92YWwsIG9uIHRoZSBpbmZvX2Rpci4gSG93ZXZlciwgdGhlIGdsb2IgbWF5Ci1tYXRjaCBtZXRhZGF0YSBmaWxlcyBmcm9tIHBhY2thZ2VzIHdpdGggc2ltaWxhciBuYW1lcy4gRm9yIGV4YW1wbGUsCi1kdXJpbmcgcmVtb3ZhbCBvZiBwYWNrYWdlIGdsaWJjLWJpbmFyeS1sb2NhbGVkYXRhLWRlLWF0LCB0aGUgY3VycmVudAotbG9naWMgd2FzIGFsc28gcmVtb3ZpbmcgdGhlIG1ldGFkYXRhIGZvcgotZ2xpYmMtYmluYXJ5LWxvY2FsZWRhdGEtZGUtYXQuaXNvLTg4NTktMS4gQWRkIGNoZWNrIGZvciBhbiBleGFjdCBtYXRjaAotYmVmb3JlIGRlbGV0aW9uLgotCi1GaXhlcyBidWd6aWxsYTogMTI5MDUKLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ3JvdXBzLmdvb2dsZS5jb20vZm9ydW0vIyF0b3BpYy9vcGtnLWRldmVsL0ZyNDBZdDBOQm5vXQotU2lnbmVkLW9mZi1ieTogQWxlamFuZHJvIGRlbCBDYXN0aWxsbyA8YWxlamFuZHJvLmRlbGNhc3RpbGxvQG5pLmNvbT4KLS0tLQotIGxpYm9wa2cvb3BrZ19yZW1vdmUuYyB8IDE0ICsrKysrKysrKysrLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJvcGtnL29wa2dfcmVtb3ZlLmMgYi9saWJvcGtnL29wa2dfcmVtb3ZlLmMKLWluZGV4IDgyMTI1ZmEuLjM5MzY2MjggMTAwNjQ0Ci0tLS0gYS9saWJvcGtnL29wa2dfcmVtb3ZlLmMKLSsrKyBiL2xpYm9wa2cvb3BrZ19yZW1vdmUuYwotQEAgLTEzNyw3ICsxMzcsNyBAQCB2b2lkIHJlbW92ZV9tYWludGFpbmVyX3NjcmlwdHMocGtnX3QgKiBwa2cpCi0gewotICAgICB1bnNpZ25lZCBpbnQgaTsKLSAgICAgaW50IGVycjsKLS0gICAgY2hhciAqZ2xvYnBhdHRlcm47Ci0rICAgIGNoYXIgKmdsb2JwYXR0ZXJuLCAqZmlsZW5hbWUsICpsYXN0ZG90OwotICAgICBnbG9iX3QgZ2xvYmJ1ZjsKLSAKLSAgICAgaWYgKG9wa2dfY29uZmlnLT5ub2FjdGlvbikKLUBAIC0xNTEsOCArMTUxLDE2IEBAIHZvaWQgcmVtb3ZlX21haW50YWluZXJfc2NyaXB0cyhwa2dfdCAqIHBrZykKLSAgICAgICAgIHJldHVybjsKLSAKLSAgICAgZm9yIChpID0gMDsgaSA8IGdsb2JidWYuZ2xfcGF0aGM7IGkrKykgewotLSAgICAgICAgb3BrZ19tc2coSU5GTywgIkRlbGV0aW5nICVzLlxuIiwgZ2xvYmJ1Zi5nbF9wYXRodltpXSk7Ci0tICAgICAgICB1bmxpbmsoZ2xvYmJ1Zi5nbF9wYXRodltpXSk7Ci0rICAgICAgICBmaWxlbmFtZSA9IHhzdHJkdXAoYmFzZW5hbWUoZ2xvYmJ1Zi5nbF9wYXRodltpXSkpOwotKyAgICAgICAgbGFzdGRvdCA9IHN0cnJjaHIoZmlsZW5hbWUsICcuJyk7Ci0rICAgICAgICAqbGFzdGRvdCA9ICdcMCc7Ci0rICAgICAgICAvLyBPbmx5IGRlbGV0ZSBmaWxlcyB0aGF0IG1hdGNoIHRoZSBwYWNrYWdlIG5hbWUgKHRoZSBnbG9iIG1heSBtYXRjaCBmaWxlcwotKyAgICAgICAgLy8gd2l0aCBzaW1pbGFyIG5hbWVzKQotKyAgICAgICAgaWYgKCFzdHJjbXAoZmlsZW5hbWUsIHBrZy0+bmFtZSkpIHsKLSsgICAgICAgICAgICBvcGtnX21zZyhJTkZPLCAiRGVsZXRpbmcgJXMuXG4iLCBnbG9iYnVmLmdsX3BhdGh2W2ldKTsKLSsgICAgICAgICAgICB1bmxpbmsoZ2xvYmJ1Zi5nbF9wYXRodltpXSk7Ci0rICAgICAgICB9Ci0rICAgICAgICBmcmVlKGZpbGVuYW1lKTsKLSAgICAgfQotICAgICBnbG9iZnJlZSgmZ2xvYmJ1Zik7Ci0gfQotLS0gCi0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy9vcGtnXzAuMy42LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy9vcGtnXzAuMy42LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZWJkNThiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2cvb3BrZ18wLjMuNi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDYyICswLDAgQEAKLVNVTU1BUlkgPSAiT3BlbiBQYWNrYWdlIE1hbmFnZXIiCi1TVU1NQVJZX2xpYm9wa2cgPSAiT3BlbiBQYWNrYWdlIE1hbmFnZXIgbGlicmFyeSIKLVNFQ1RJT04gPSAiYmFzZSIKLUhPTUVQQUdFID0gImh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9vcGtnLyIKLUJVR1RSQUNLRVIgPSAiaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL29wa2cvaXNzdWVzL2xpc3QiCi1MSUNFTlNFID0gIkdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9vcGtnLmM7YmVnaW5saW5lPTI7ZW5kbGluZT0yMTttZDU9OTA0MzVhNTE5YzZlYTY5ZWYyMmU0YTg4YmNjNTJmYTAiCi0KLURFUEVORFMgPSAibGliYXJjaGl2ZSIKLQotUEUgPSAiMSIKLQotU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvcmVsZWFzZXMvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vb3BrZy5jb25mIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtb3BrZ19jb25mLWNyZWF0ZS1vcGtnLmxvY2staW4tcnVuLWluc3RlYWQtb2YtdmFyLXJ1bi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXJlbW92ZV9tYWludGFpbmVyX3NjcmlwdHMtdXNlLXN0cmljdC1tYXRjaGluZy5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI3OWUwNDMwN2Y2ZjU0ZGI0MzFjMjUxNzcyZDdkOTg3YyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJmNjA3ZjBlNjFiZThjZjhhM2JiZDBkMmRjY2Q5ZWM5ZTliNmMyMWRkNDMwN2I2NzFjNjAwZDZlZWFmODRkMzBiIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgc3lzdGVtZAotCi10YXJnZXRfbG9jYWxzdGF0ZWRpciA6PSAiJHtsb2NhbHN0YXRlZGlyfSIKLU9QS0dMSUJESVIgPSAiJHt0YXJnZXRfbG9jYWxzdGF0ZWRpcn0vbGliIgotCi1QQUNLQUdFQ09ORklHID8/PSAibGlic29sdiIKLQotUEFDS0FHRUNPTkZJR1tncGddID0gIi0tZW5hYmxlLWdwZywtLWRpc2FibGUtZ3BnLGdwZ21lIGxpYmdwZy1lcnJvcixnbnVwZyIKLVBBQ0tBR0VDT05GSUdbY3VybF0gPSAiLS1lbmFibGUtY3VybCwtLWRpc2FibGUtY3VybCxjdXJsIgotUEFDS0FHRUNPTkZJR1tzc2wtY3VybF0gPSAiLS1lbmFibGUtc3NsLWN1cmwsLS1kaXNhYmxlLXNzbC1jdXJsLGN1cmwgb3BlbnNzbCIKLVBBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS1lbmFibGUtb3BlbnNzbCwtLWRpc2FibGUtb3BlbnNzbCxvcGVuc3NsIgotUEFDS0FHRUNPTkZJR1tzaGEyNTZdID0gIi0tZW5hYmxlLXNoYTI1NiwtLWRpc2FibGUtc2hhMjU2IgotUEFDS0FHRUNPTkZJR1twYXRoZmluZGVyXSA9ICItLWVuYWJsZS1wYXRoZmluZGVyLC0tZGlzYWJsZS1wYXRoZmluZGVyLHBhdGhmaW5kZXIiCi1QQUNLQUdFQ09ORklHW2xpYnNvbHZdID0gIi0td2l0aC1saWJzb2x2LC0td2l0aG91dC1saWJzb2x2LGxpYnNvbHYiCi0KLUVYVFJBX09FQ09ORl9jbGFzcy1uYXRpdmUgPSAiLS1sb2NhbHN0YXRlZGlyPS8ke0Bvcy5wYXRoLnJlbHBhdGgoJyR7bG9jYWxzdGF0ZWRpcn0nLCAnJHtTVEFHSU5HX0RJUl9OQVRJVkV9Jyl9IC0tc3lzY29uZmRpcj0vJHtAb3MucGF0aC5yZWxwYXRoKCcke3N5c2NvbmZkaXJ9JywgJyR7U1RBR0lOR19ESVJfTkFUSVZFfScpfSIKLQotZG9faW5zdGFsbF9hcHBlbmQgKCkgewotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vb3BrZwotCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L29wa2cuY29uZiAke0R9JHtzeXNjb25mZGlyfS9vcGtnL29wa2cuY29uZgotCWVjaG8gIm9wdGlvbiBsaXN0c19kaXIgJHtPUEtHTElCRElSfS9vcGtnL2xpc3RzIiA+PiR7RH0ke3N5c2NvbmZkaXJ9L29wa2cvb3BrZy5jb25mCi0KLQkjIFdlIG5lZWQgdG8gY3JlYXRlIHRoZSBsb2NrIGRpcmVjdG9yeQotCWluc3RhbGwgLWQgJHtEfSR7T1BLR0xJQkRJUn0vb3BrZwotfQotCi1SREVQRU5EU18ke1BOfSA9ICIke1ZJUlRVQUwtUlVOVElNRV91cGRhdGUtYWx0ZXJuYXRpdmVzfSBvcGtnLWFyY2gtY29uZmlnIGxpYmFyY2hpdmUiCi1SREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiIgotUkRFUEVORFNfJHtQTn1fY2xhc3MtbmF0aXZlc2RrID0gIiIKLVJSRVBMQUNFU18ke1BOfSA9ICJvcGtnLW5vZ3BnIG9wa2ctY29sbGF0ZXJhbCIKLVJDT05GTElDVFNfJHtQTn0gPSAib3BrZy1jb2xsYXRlcmFsIgotUlBST1ZJREVTXyR7UE59ID0gIm9wa2ctY29sbGF0ZXJhbCIKLQotUEFDS0FHRVMgPSsgImxpYm9wa2ciCi0KLUZJTEVTX2xpYm9wa2cgPSAiJHtsaWJkaXJ9Lyouc28uKiAke09QS0dMSUJESVJ9L29wa2cvIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KLUNPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L29wa2cvb3BrZy5jb25mIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy9vcGtnXzAuNC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy9vcGtnXzAuNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyMzI5ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnL29wa2dfMC40LjAuYmIKQEAgLTAsMCArMSw2MiBAQAorU1VNTUFSWSA9ICJPcGVuIFBhY2thZ2UgTWFuYWdlciIKK1NVTU1BUllfbGlib3BrZyA9ICJPcGVuIFBhY2thZ2UgTWFuYWdlciBsaWJyYXJ5IgorU0VDVElPTiA9ICJiYXNlIgorSE9NRVBBR0UgPSAiaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL29wa2cvIgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vY29kZS5nb29nbGUuY29tL3Avb3BrZy9pc3N1ZXMvbGlzdCIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL29wa2cuYztiZWdpbmxpbmU9MjtlbmRsaW5lPTIxO21kNT05MDQzNWE1MTljNmVhNjllZjIyZTRhODhiY2M1MmZhMCIKKworREVQRU5EUyA9ICJsaWJhcmNoaXZlIgorCitQRSA9ICIxIgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9yZWxlYXNlcy8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9vcGtnLmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1vcGtnX2NvbmYtY3JlYXRlLW9wa2cubG9jay1pbi1ydW4taW5zdGVhZC1vZi12YXItcnVuLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbGlib3BrZy1hZGQtYWRkLWlnbm9yZS1yZWNvbW1lbmRzLW9wdGlvbi5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhZTUxZDk1ZmVlNTk5YmI0ZGNlMDg0NTM1MjkxNThmNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmNmMwMDUxNWQ4YTJhZDhmNjc0MmE4ZTczODMwMzE1ZDE5ODNlZDA0NTljYmE3N2M0ZDY1NmNmYzllN2ZlNmZlIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgc3lzdGVtZAorCit0YXJnZXRfbG9jYWxzdGF0ZWRpciA6PSAiJHtsb2NhbHN0YXRlZGlyfSIKK09QS0dMSUJESVIgPSAiJHt0YXJnZXRfbG9jYWxzdGF0ZWRpcn0vbGliIgorCitQQUNLQUdFQ09ORklHID8/PSAibGlic29sdiIKKworUEFDS0FHRUNPTkZJR1tncGddID0gIi0tZW5hYmxlLWdwZywtLWRpc2FibGUtZ3BnLGdwZ21lIGxpYmdwZy1lcnJvcixnbnVwZyIKK1BBQ0tBR0VDT05GSUdbY3VybF0gPSAiLS1lbmFibGUtY3VybCwtLWRpc2FibGUtY3VybCxjdXJsIgorUEFDS0FHRUNPTkZJR1tzc2wtY3VybF0gPSAiLS1lbmFibGUtc3NsLWN1cmwsLS1kaXNhYmxlLXNzbC1jdXJsLGN1cmwgb3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS1lbmFibGUtb3BlbnNzbCwtLWRpc2FibGUtb3BlbnNzbCxvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1tzaGEyNTZdID0gIi0tZW5hYmxlLXNoYTI1NiwtLWRpc2FibGUtc2hhMjU2IgorUEFDS0FHRUNPTkZJR1twYXRoZmluZGVyXSA9ICItLWVuYWJsZS1wYXRoZmluZGVyLC0tZGlzYWJsZS1wYXRoZmluZGVyLHBhdGhmaW5kZXIiCitQQUNLQUdFQ09ORklHW2xpYnNvbHZdID0gIi0td2l0aC1saWJzb2x2LC0td2l0aG91dC1saWJzb2x2LGxpYnNvbHYiCisKK0VYVFJBX09FQ09ORl9jbGFzcy1uYXRpdmUgPSAiLS1sb2NhbHN0YXRlZGlyPS8ke0Bvcy5wYXRoLnJlbHBhdGgoJyR7bG9jYWxzdGF0ZWRpcn0nLCAnJHtTVEFHSU5HX0RJUl9OQVRJVkV9Jyl9IC0tc3lzY29uZmRpcj0vJHtAb3MucGF0aC5yZWxwYXRoKCcke3N5c2NvbmZkaXJ9JywgJyR7U1RBR0lOR19ESVJfTkFUSVZFfScpfSIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vb3BrZworCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L29wa2cuY29uZiAke0R9JHtzeXNjb25mZGlyfS9vcGtnL29wa2cuY29uZgorCWVjaG8gIm9wdGlvbiBsaXN0c19kaXIgJHtPUEtHTElCRElSfS9vcGtnL2xpc3RzIiA+PiR7RH0ke3N5c2NvbmZkaXJ9L29wa2cvb3BrZy5jb25mCisKKwkjIFdlIG5lZWQgdG8gY3JlYXRlIHRoZSBsb2NrIGRpcmVjdG9yeQorCWluc3RhbGwgLWQgJHtEfSR7T1BLR0xJQkRJUn0vb3BrZworfQorCitSREVQRU5EU18ke1BOfSA9ICIke1ZJUlRVQUwtUlVOVElNRV91cGRhdGUtYWx0ZXJuYXRpdmVzfSBvcGtnLWFyY2gtY29uZmlnIGxpYmFyY2hpdmUiCitSREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiIgorUkRFUEVORFNfJHtQTn1fY2xhc3MtbmF0aXZlc2RrID0gIiIKK1JSRVBMQUNFU18ke1BOfSA9ICJvcGtnLW5vZ3BnIG9wa2ctY29sbGF0ZXJhbCIKK1JDT05GTElDVFNfJHtQTn0gPSAib3BrZy1jb2xsYXRlcmFsIgorUlBST1ZJREVTXyR7UE59ID0gIm9wa2ctY29sbGF0ZXJhbCIKKworUEFDS0FHRVMgPSsgImxpYm9wa2ciCisKK0ZJTEVTX2xpYm9wa2cgPSAiJHtsaWJkaXJ9Lyouc28uKiAke09QS0dMSUJESVJ9L29wa2cvIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK0NPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L29wa2cvb3BrZy5jb25mIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3JjL29yY18wLjQuMjguYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcmMvb3JjXzAuNC4yOC5iYgppbmRleCA0MTVkZTY0Li4wM2NkZGFkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcmMvb3JjXzAuNC4yOC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcmMvb3JjXzAuNC4yOC5iYgpAQCAtMTksNyArMTksNyBAQAogCiBweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CiAgICAgbGliZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfScpCi0gICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgbGliZGlyLCAnXmxpYiguKilcLnNvXC4qJywgJ2xpYiVzJywgJ09SQyAlcyBsaWJyYXJ5JywgZXh0cmFfZGVwZW5kcz0nJywgYWxsb3dfbGlua3M9VHJ1ZSkKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBsaWJkaXIsIHInXmxpYiguKilcLnNvXC4qJywgJ2xpYiVzJywgJ09SQyAlcyBsaWJyYXJ5JywgZXh0cmFfZGVwZW5kcz0nJywgYWxsb3dfbGlua3M9VHJ1ZSkKIH0KIAogZG9fY29tcGlsZV9wcmVwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy8wMDAxLUV4dFV0aWxzLU1ha2VNYWtlci1hZGQtTERGTEFHUy13aGVuLWxpbmtpbmctYmluYXJ5LW0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy8wMDAxLUV4dFV0aWxzLU1ha2VNYWtlci1hZGQtTERGTEFHUy13aGVuLWxpbmtpbmctYmluYXJ5LW0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2Q1YzA3OQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L2ZpbGVzLzAwMDEtRXh0VXRpbHMtTWFrZU1ha2VyLWFkZC1MREZMQUdTLXdoZW4tbGlua2luZy1iaW5hcnktbS5wYXRjaApAQCAtMCwwICsxLDI2IEBACitGcm9tIDJmNzRhODk5NDc0ZjQyOGE0YTUzNjhhOTRhY2NmODAxYzVmOTdhZTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgNCBKdW4gMjAxOCAxODozMzo1MCArMDMwMAorU3ViamVjdDogW1BBVENIXSBFeHRVdGlscy1NYWtlTWFrZXI6IGFkZCAkKExERkxBR1MpIHdoZW4gbGlua2luZyBiaW5hcnkKKyBtb2R1bGVzCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CisKKy0tLQorIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0gYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQoraW5kZXggZmU1M2JlMS4uMjQ5YzA0OCAxMDA2NDQKKy0tLSBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCisrKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQorQEAgLTEwNTAsNyArMTA1MCw3IEBAIHN1YiB4c19tYWtlX2R5bmFtaWNfbGliIHsKKyAgICAgfQorIAorICAgICBwdXNoIEBtLCBzcHJpbnRmIDw8J01BS0UnLCAkbGRfcnVuX3BhdGhfc2hlbGwsICRsZHJ1biwgJGRsc3ltc19hcmcsICRsZGZyb20sICRzZWxmLT54c19vYmpfb3B0KCckQCcpLCAkbGlicywgJGV4cG9ydGxpc3Q7CistCSVzJChMRCkgJXMgJChMRERMRkxBR1MpICVzICVzICQoT1RIRVJMREZMQUdTKSAlcyAkKE1ZRVhUTElCKSBcCisrCSVzJChMRCkgJXMgJChMRERMRkxBR1MpICVzICVzICQoTERGTEFHUykgJChPVEhFUkxERkxBR1MpICVzICQoTVlFWFRMSUIpIFwKKyAJICAkKFBFUkxfQVJDSElWRSkgJXMgJChQRVJMX0FSQ0hJVkVfQUZURVIpICVzIFwKKyAJICAkKElOU1RfRFlOQU1JQ19GSVgpCisgCSQoQ0hNT0QpICQoUEVSTV9SV1gpICRACmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy8wMDAxLVNvbWVob3ctdGhpcy1tb2R1bGUtYnJlYWtzLXRocm91Z2gtdGhlLXBlcmwtd3JhcHBlci0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy8wMDAxLVNvbWVob3ctdGhpcy1tb2R1bGUtYnJlYWtzLXRocm91Z2gtdGhlLXBlcmwtd3JhcHBlci0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWQ4ZWMxZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L2ZpbGVzLzAwMDEtU29tZWhvdy10aGlzLW1vZHVsZS1icmVha3MtdGhyb3VnaC10aGUtcGVybC13cmFwcGVyLS5wYXRjaApAQCAtMCwwICsxLDM0IEBACitGcm9tIGU4ZTA5NWI5YzcxYzU4ZjgxOTdkNjMxNTM1OTQ0NmI2YjA4NGNiMmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgNSBKdW4gMjAxOCAxNDo1ODo0MiArMDMwMAorU3ViamVjdDogW1BBVENIXSBTb21laG93IHRoaXMgbW9kdWxlIGJyZWFrcyB0aHJvdWdoIHRoZSBwZXJsIHdyYXBwZXIgYW5kCisgZGVjbGFyZXMgcGVybCBiaW5hcnkgdG8gYmUgJ3BlcmwucmVhbCcuIFRoaXMgcGF0Y2ggZm9yY2VzIGl0IGJhY2sgdG8gcGVybC4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZS1jb3JlIHNwZWNpZmljXQorU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbSB8IDQgKysrKworIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KK2luZGV4IDk0OGM0NzYuLmY1Mzc1MjYgMTAwNjQ0CistLS0gYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQorKysrIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KK0BAIC0xMTEwLDYgKzExMTAsOSBAQCBXQVJOSU5HCisgICAgIH0KKyAKKyAgICAgZm9yZWFjaCBteSAkbmFtZSAoQCRuYW1lcyl7CisrICAgICAgICAjIEdldHRpbmcgTWFrZU1ha2VyLnBtIHVzZSBwZXJsIHdyYXBwZXIgaW5zdGVhZCBvZiAncGVybC5yZWFsJyBkaXJlY3RseQorKyAgICAgICAgJG5hbWUgPX4gcy9wZXJsXC5yZWFsL3BlcmwvIGlmICgkbmFtZSA9fiAvcGVybFwucmVhbC8pOworKworICAgICAgICAgbXkgKCRhYnMsICR1c2VfZGlyKTsKKyAgICAgICAgIGlmICgkc2VsZi0+ZmlsZV9uYW1lX2lzX2Fic29sdXRlKCRuYW1lKSkgeyAgICAgIyAvZm9vL2JhcgorICAgICAgICAgICAgICRhYnMgPSAkbmFtZTsKK0BAIC0yMDA2LDYgKzIwMDksNyBAQCBzdWIgaW5pdF9QRVJMIHsKKyAKKyAgICAgJHNlbGYtPntQRVJMfSB8fD0KKyAgICAgICAgICRzZWxmLT5maW5kX3BlcmwoNS4wLCBcQHBlcmxzLCBcQGRlZnBhdGgsICRWZXJib3NlICk7CisrICAgIAorIAorICAgICBteSAkcGVybCA9ICRzZWxmLT57UEVSTH07CisgICAgICRwZXJsID1+IHMvXiIvLzsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L2ZpbGVzLzAwMDEtY29uZmlndXJlX3BhdGguc2gtZG8tbm90LWhhcmRjb2RlLXByZWZpeC1saWItYXMtbGlici5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L2ZpbGVzLzAwMDEtY29uZmlndXJlX3BhdGguc2gtZG8tbm90LWhhcmRjb2RlLXByZWZpeC1saWItYXMtbGlici5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYjBmYzQ1Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC1zYW5pdHkvZmlsZXMvMDAwMS1jb25maWd1cmVfcGF0aC5zaC1kby1ub3QtaGFyZGNvZGUtcHJlZml4LWxpYi1hcy1saWJyLnBhdGNoCkBAIC0wLDAgKzEsNjkgQEAKK0Zyb20gMTljMTk4N2I0NTU5OThkMjk1OWE1ZmRmM2QxZWQ5MTFkMzVlNzBmMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogV2VkLCAyIEphbiAyMDE5IDE3OjU1OjM1ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZV9wYXRoLnNoOiBkbyBub3QgaGFyZGNvZGUgJHByZWZpeC9saWIgYXMgbGlicmFyeQorIHBhdGgKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKworLS0tCisgY25mL2NvbmZpZ3VyZV9hcmdzLnNoIHwgIDIgKy0KKyBjbmYvY29uZmlndXJlX3BhdGguc2ggfCAxMSArKysrKystLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY25mL2NvbmZpZ3VyZV9hcmdzLnNoIGIvY25mL2NvbmZpZ3VyZV9hcmdzLnNoCitpbmRleCAyOWNhNGY1Li4zMjk3ZmIzIDEwMDY0NAorLS0tIGEvY25mL2NvbmZpZ3VyZV9hcmdzLnNoCisrKysgYi9jbmYvY29uZmlndXJlX2FyZ3Muc2gKK0BAIC0xNTUsNyArMTU1LDcgQEAgd2hpbGUgWyAkaSAtbGUgJCMgLW8gLW4gIiRuIiBdOyBkbworIAkJaGVscCkgbW9kZT0iaGVscCIgOzsKKyAJCXJlZ2VufHJlZ2VuZXJhdGUpIG1vZGU9InJlZ2VuIiA7OworIAkJa2VlcGxvZykgZGVmdXNlciAiJGEiIDEgOzsKKy0JCXByZWZpeHxodG1sWzEzXWRpcnxsaWJzZGlyKQlkZWZ1c2VyICRhICIkdiIgOzsKKysJCXByZWZpeHxodG1sWzEzXWRpcnxsaWJzZGlyfGxpYmRpcikJZGVmdXNlciAkYSAiJHYiIDs7CisgCQltYW5bMTNdZGlyfG90aGVybGlic2RpcikJZGVmdXNlciAkYSAiJHYiIDs7CisgCQlzaXRlcHJlZml4fHNpdGVodG1sWzEzXWRpcikJZGVmdXNlciAkYSAiJHYiIDs7CisgCQlzaXRlbWFuWzEzXWRpcnx2ZW5kb3JtYW5bMTNdZGlyKWRlZnVzZXIgJGEgIiR2IiA7OworZGlmZiAtLWdpdCBhL2NuZi9jb25maWd1cmVfcGF0aC5zaCBiL2NuZi9jb25maWd1cmVfcGF0aC5zaAoraW5kZXggZmU3ZWFjNy4uYmNiYThiOCAxMDA2NDQKKy0tLSBhL2NuZi9jb25maWd1cmVfcGF0aC5zaAorKysrIGIvY25mL2NvbmZpZ3VyZV9wYXRoLnNoCitAQCAtMzAsNiArMzAsNyBAQCBkZWZpbnN0KCkgeworIAlkZWZpbmUgIiQxIiAiJGluc3RhbGxwYXRoJHYiCisgfQorIAorK2RlZmluZSBsaWJkaXIgIiRwcmVmaXgvbGliIgorIGRlZmluZSBzaGFyZWRpciAiJHByZWZpeC9zaGFyZSIKKyBkZWZpbmUgaHRtbDFkaXIgIiRzaGFyZWRpci9kb2MvJHBlcmxuYW1lL2h0bWwiCisgZGVmaW5lIGh0bWwzZGlyICIkc2hhcmVkaXIvZG9jLyRwZXJsbmFtZS9odG1sIgorQEAgLTM4LDE2ICszOSwxNiBAQCBkZWZpbmUgbWFuMWV4dCAiMSIKKyBkZWZpbmUgbWFuM2RpciAiJHNoYXJlZGlyL21hbi9tYW4zIgorIGRlZmluZSBtYW4zZXh0ICIzIgorIGRlZmluZSBiaW4gIiRwcmVmaXgvYmluIgorLWRlZmluZSBsaWIgIiRwcmVmaXgvbGliIgorK2RlZmluZSBsaWIgIiRsaWJkaXIiCisgZGVmaW5lIHNjcmlwdGRpciAiJHByZWZpeC9iaW4iCisgZGVmaW5lIGxpYnNkaXJzICcgJworLWRlZnJlbCBwcml2bGliICIkcHJlZml4L2xpYi8kcGFja2FnZS8kdmVyc2lvbiIKKy1kZWZyZWwgYXJjaGxpYiAiJHByZWZpeC9saWIvJHBhY2thZ2UvJHZlcnNpb24vJGFyY2huYW1lIgorK2RlZnJlbCBwcml2bGliICIkbGliZGlyLyRwYWNrYWdlLyR2ZXJzaW9uIgorK2RlZnJlbCBhcmNobGliICIkbGliZGlyLyRwYWNrYWdlLyR2ZXJzaW9uLyRhcmNobmFtZSIKKyBkZWZpbmUgcGVybHBhdGggIiRwcmVmaXgvYmluLyRwZXJsbmFtZSIKKyBkZWZpbmUgZF9hcmNobGliICdkZWZpbmUnCisgCisgZGVmaW5lIHNpdGViaW4JIiRwcmVmaXgvYmluIgorLWRlZnJlbCBzaXRlbGliX3N0ZW0gIiRwcmVmaXgvbGliLyRwYWNrYWdlL3NpdGVfcGVybCIKKytkZWZyZWwgc2l0ZWxpYl9zdGVtICIkbGliZGlyLyRwYWNrYWdlL3NpdGVfcGVybCIKKyBkZWZpbmUgc2l0ZWxpYiAiJHNpdGVsaWJfc3RlbS8kdmVyc2lvbiIKKyBkZWZpbmUgc2l0ZWFyY2ggIiRzaXRlbGliX3N0ZW0vJHZlcnNpb24vJGFyY2huYW1lIgorIGRlZmluZSBzaXRlcHJlZml4ICIkcHJlZml4IgorQEAgLTE0NSw3ICsxNDYsNyBAQCB2ZW5kb3J0ZXN0KCkgeworIH0KKyAKKyB2ZW5kb3JwYXRoIHZlbmRvcmJpbiAiJHZlbmRvcnByZWZpeC9iaW4iCistdmVuZG9ycGF0aCB2ZW5kb3JsaWJfc3RlbSAiJHZlbmRvcnByZWZpeC9saWIvJHBhY2thZ2UvdmVuZG9yX3BlcmwiCisrdmVuZG9ycGF0aCB2ZW5kb3JsaWJfc3RlbSAiJGxpYmRpci8kcGFja2FnZS92ZW5kb3JfcGVybCIKKyB2ZW5kb3JwYXRoIHZlbmRvcmxpYiAiJHZlbmRvcmxpYl9zdGVtLyR2ZXJzaW9uIgorIHZlbmRvcnBhdGggdmVuZG9yYXJjaCAiJHZlbmRvcmxpYl9zdGVtLyR2ZXJzaW9uLyRhcmNobmFtZSIKKyB2ZW5kb3JwYXRoIHZlbmRvcnNjcmlwdCAiJHZlbmRvcnByZWZpeC9iaW4iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy8wMDAxLWNvbmZpZ3VyZV90b29sLnNoLWRvLW5vdC1xdW90ZS10aGUtYXJndW1lbnQtdG8tY29tbWEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy8wMDAxLWNvbmZpZ3VyZV90b29sLnNoLWRvLW5vdC1xdW90ZS10aGUtYXJndW1lbnQtdG8tY29tbWEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGFhZWFhMgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L2ZpbGVzLzAwMDEtY29uZmlndXJlX3Rvb2wuc2gtZG8tbm90LXF1b3RlLXRoZS1hcmd1bWVudC10by1jb21tYS5wYXRjaApAQCAtMCwwICsxLDI5IEBACitGcm9tIGE2NjgxMWM0ODdlY2Y4YmE4NzI0ODc5YzI1M2JiMTBkZmE4MmFlYjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMSBKdW4gMjAxOCAxOTo1NzozMiArMDMwMAorU3ViamVjdDogW1BBVENIXSBjb25maWd1cmVfdG9vbC5zaDogZG8gbm90IHF1b3RlIHRoZSBhcmd1bWVudCB0byAnY29tbWFuZCcKKworQXMgaXQgc2VlbXMgdG8gYnJlYWsgdGhpbmdzIGlmIHRoZSBhcmd1bWVudCBoYXMgc3BhY2VzIGFuZCBhcmd1bWVudHMgaW4gaXQuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyBjbmYvY29uZmlndXJlX3Rvb2wuc2ggfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9jbmYvY29uZmlndXJlX3Rvb2wuc2ggYi9jbmYvY29uZmlndXJlX3Rvb2wuc2gKK2luZGV4IDMyMjAxYzAuLjQ2MWJjNjggMTAwNjQ0CistLS0gYS9jbmYvY29uZmlndXJlX3Rvb2wuc2gKKysrKyBiL2NuZi9jb25maWd1cmVfdG9vbC5zaAorQEAgLTIsNyArMiw3IEBACisgCisgdHJ5cHJvZygpIHsKKyAJbG9nICJ0cnlpbmcgJDE9JDIiCistCWlmIGNvbW1hbmQgLXYgIiQyIiAxPi9kZXYvbnVsbCAyPi9kZXYvbnVsbDsgdGhlbgorKwlpZiBjb21tYW5kIC12ICQyIDE+L2Rldi9udWxsIDI+L2Rldi9udWxsOyB0aGVuCisgCQlkZWZpbmUgIiQxIiAiJDIiCisgCQlyZXN1bHQgIiQyIgorIAkJcmV0dXJuIDAKKy0tIAorMi4xNy4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L2ZpbGVzLzAwMDEtcGVybC1jcm9zcy1hZGQtTERGTEFHUy13aGVuLWxpbmtpbmctbGlicGVybC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L2ZpbGVzLzAwMDEtcGVybC1jcm9zcy1hZGQtTERGTEFHUy13aGVuLWxpbmtpbmctbGlicGVybC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNzk4NTAzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC1zYW5pdHkvZmlsZXMvMDAwMS1wZXJsLWNyb3NzLWFkZC1MREZMQUdTLXdoZW4tbGlua2luZy1saWJwZXJsLnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK0Zyb20gZjgyNGNiZWM5YWM4ZjExM2E0YWUzNWQ1N2JkMTg2MjVkNDE1YTcxYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogVHVlLCAyNyBOb3YgMjAxOCAxNTozNzo0MCArMDEwMAorU3ViamVjdDogW1BBVENIXSBwZXJsLWNyb3NzOiBhZGQgTERGTEFHUyB3aGVuIGxpbmtpbmcgbGlicGVybAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorLS0tCisgTWFrZWZpbGUgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCAwMTY0NGNkLi5iZTgxMWE3IDEwMDY0NAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtMTgwLDcgKzE4MCw3IEBAIGVuZGlmCisgCisgaWZlcSAoJCh1c2VzaHJwbGliKSx0cnVlKQorICQoTElCUEVSTCk6CistCSQoQ0MpICQoTERETEZMQUdTKSAtbyAkQCAkKGZpbHRlciAlJG8sJF4pICQoTElCUykKKysJJChDQykgJChMREZMQUdTKSAkKExERExGTEFHUykgLW8gJEAgJChmaWx0ZXIgJSRvLCReKSAkKExJQlMpCisgZWxzZQorICQoTElCUEVSTCk6CisgCSQoQVIpIGNydSAkQCAkKGZpbHRlciAlJG8sJF4pCistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2Vycm5vX3Zlci5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC1zYW5pdHkvZmlsZXMvZXJybm9fdmVyLmRpZmYKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZXJybm9fdmVyLmRpZmYKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L2ZpbGVzL2Vycm5vX3Zlci5kaWZmCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy9uYXRpdmUtcGVybGluYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L2ZpbGVzL25hdGl2ZS1wZXJsaW5jLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyZTFhZWYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy9uYXRpdmUtcGVybGluYy5wYXRjaApAQCAtMCwwICsxLDI3IEBACitVcHN0cmVhbS1TdGF0dXM6SW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKworSW5kZXg6IHBlcmwtNS44LjgvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBwZXJsLTUuMTIuMy5vcmlnL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCTIwMDgtMTAtMzEgMjI6MDE6MzUuMDAwMDAwMDAwICswMDAwCisrKysgcGVybC01LjEyLjMvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0JMjAwOC0xMC0zMSAyMjowMTozNS4wMDAwMDAwMDAgKzAwMDAKK0BAIC0xNTk3LDYgKzE1OTcsMTkgQEAKKyAJJHNlbGYtPntQRVJMX0xJQn0gICAgIHx8PSAkQ29uZmlne3ByaXZsaWJleHB9OworIAkkc2VsZi0+e1BFUkxfQVJDSExJQn0gfHw9ICRDb25maWd7YXJjaGxpYmV4cH07CisgCSRzZWxmLT57UEVSTF9JTkN9ICAgICA9ICRzZWxmLT5jYXRkaXIoIiRzZWxmLT57UEVSTF9BUkNITElCfSIsIkNPUkUiKTsgIyB3aWxkIGd1ZXNzIGZvciBub3cKKysJIyBDaGVjayBmb3IgZW52aXJvbm1lbnQgb3ZlcnJpZGUgc28gd2UnbGwgZmluZCB0aGUgaGVhZGVycyBpbiB0aGUgY29ycmVjdCBwbGFjZQorKyAgICAgICAgaWYgKGRlZmluZWQgJEVOVntQRVJMX0xJQn0pCisrICAgICAgICB7CisrICAgICAgICAgICAgJHNlbGYtPntQRVJMX0xJQn0gPSAkRU5We1BFUkxfTElCfTsKKysgICAgICAgIH0KKysgICAgICAgIGlmIChkZWZpbmVkICRFTlZ7UEVSTF9BUkNITElCfSkKKysgICAgICAgIHsKKysgICAgICAgICAgICAkc2VsZi0+e1BFUkxfQVJDSExJQn0gPSAkRU5We1BFUkxfQVJDSExJQn07CisrICAgICAgICB9CisrICAgICAgICBpZiAoZGVmaW5lZCAkRU5We1BFUkxfSU5DfSkKKysgICAgICAgIHsKKysgICAgICAgICAgICAkc2VsZi0+e1BFUkxfSU5DfSA9ICRFTlZ7UEVSTF9JTkN9OworKyAgICAgICAgfQorIAlteSAkcGVybF9oOworIAorIAlpZiAobm90IC1mICgkcGVybF9oID0gJHNlbGYtPmNhdGZpbGUoJHNlbGYtPntQRVJMX0lOQ30sInBlcmwuaCIpKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC1zYW5pdHkvZmlsZXMvcGVybC1jb25maWdwbS1zd2l0Y2gucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy9wZXJsLWNvbmZpZ3BtLXN3aXRjaC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNmYyM2VlCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC1zYW5pdHkvZmlsZXMvcGVybC1jb25maWdwbS1zd2l0Y2gucGF0Y2gKQEAgLTAsMCArMSw0OCBAQAorVGhpcyBwYXRjaCBpcyB1c2VkIGZvciBwZXJsLW5hdGl2ZSBvbmx5LiBJdCBlbmFibGVzIHRoZSBzd2l0Y2hpbmcgb2YKK2NvbmZpZ3VyYXRpb24gZmlsZXMgYmV0d2VlbiBDb25maWdfaGVhdnkucGwgYW5kCitDb25maWdfaGVhdnktdGFyZ2V0LnBsIGJ5IHNldHRpbmcgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlcworUEVSTENPTkZJR1RBUkdFVCAtIHRoZSBsYXRlciBjb250YWluaW5nIHNldHRpbmdzIGZvciB0aGUgdGFyZ2V0IHdoaWxlCit0aGUgZm9ybWVyIGNvbnRhaW5zIHRob3NlIGZvciB0aGUgaG9zdC4gVGhpcyB3aWxsIGFsbG93IGNwYW4uYmJjbGFzcwordG8gdXNlIHRoZSBzZXR0aW5ncyBhcHByb3ByaWF0ZSBmb3IgdGhlIG5hdGl2ZSBhbmQvb3IgdGFyZ2V0IGJ1aWxkcworYXMgcmVxdWlyZWQuIFRoaXMgYWxzbyBkaXNhYmxlcyB0aGUgdXNlIG9mIHRoZSBjYWNoZSBzaW5jZSB0aGUgY2FjaGVkCit2YWx1ZXMgd291bGQgYmUgdmFsaWQgZm9yIHRoZSBob3N0IG9ubHkuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbmF0aXZlXQorU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CisKK0luZGV4OiBwZXJsLTUuMTQuMi9jb25maWdwbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHBlcmwtNS4xNC4yLm9yaWcvY29uZmlncG0KKysrKyBwZXJsLTUuMTQuMi9jb25maWdwbQorQEAgLTY1OCw3ICs2NTgsNyBAQCBzdWIgRkVUQ0ggeworICAgICBteSgkc2VsZiwgJGtleSkgPSBAXzsKKyAKKyAgICAgIyBjaGVjayBmb3IgY2FjaGVkIHZhbHVlICh3aGljaCBtYXkgYmUgdW5kZWYgc28gd2UgdXNlIGV4aXN0cyBub3QgZGVmaW5lZCkKKy0gICAgcmV0dXJuIGV4aXN0cyAkc2VsZi0+eyRrZXl9ID8gJHNlbGYtPnska2V5fSA6ICRzZWxmLT5mZXRjaF9zdHJpbmcoJGtleSk7CisrICAgIHJldHVybiAkc2VsZi0+ZmV0Y2hfc3RyaW5nKCRrZXkpOworIH0KKyAKKyBFTkRPRkVORAorQEAgLTgxNiw3ICs4MTYsMjEgQEAgJGNvbmZpZ190eHQgLj0gc3ByaW50ZiA8PCdFTkRPRlRJRScsICRmYQorIHN1YiBERVNUUk9ZIHsgfQorIAorIHN1YiBBVVRPTE9BRCB7CistICAgIHJlcXVpcmUgJ0NvbmZpZ19oZWF2eS5wbCc7CisrICAgIG15ICRjZmdmaWxlID0gJ0NvbmZpZ19oZWF2eS5wbCc7CisrICAgIGlmIChkZWZpbmVkICRFTlZ7UEVSTENPTkZJR1RBUkdFVH0gYW5kICRFTlZ7UEVSTENPTkZJR1RBUkdFVH0gZXEgInllcyIpCisrICAgIHsKKysgICAgICAgICRjZmdmaWxlID0gJ0NvbmZpZ19oZWF2eS10YXJnZXQucGwnOworKyAgICB9CisrICAgIGlmIChkZWZpbmVkICRFTlZ7UEVSTF9BUkNITElCfSkKKysgICAgeworKyAgICAgICAgcHVzaCBASU5DLCAkRU5We1BFUkxfQVJDSExJQn07CisrICAgICAgICByZXF1aXJlICRjZmdmaWxlOworKyAgICAgICAgcG9wIEBJTkM7CisrICAgIH0KKysgICAgZWxzZQorKyAgICB7CisrICAgICAgICByZXF1aXJlICRjZmdmaWxlOworKyAgICB9CisgICAgIGdvdG8gXCZsYXVuY2hlciB1bmxlc3MgJENvbmZpZzo6QVVUT0xPQUQgPX4gL2xhdW5jaGVyJC87CisgICAgIGRpZSAiJkNvbmZpZzo6QVVUT0xPQUQgZmFpbGVkIG9uICRDb25maWc6OkFVVE9MT0FEIjsKKyB9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy9wZXJsLWR5bmxvYWRlci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L2ZpbGVzL3BlcmwtZHlubG9hZGVyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiYjgzMmEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy9wZXJsLWR5bmxvYWRlci5wYXRjaApAQCAtMCwwICsxLDM4IEBACitVcHN0cmVhbS1TdGF0dXM6SW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK0FsbG93IHRoZSBsb2NhdGlvbiB0aGF0IC5zbyBmaWxlcyBhcmUgc2VhcmNoZWQgZm9yIGZvciBkeW5hbWljCitsb2FkaW5nIHRvIGJlIGNoYW5nZWQgdmlhIGFuIGVudmlyb25tZW50IHZhcmlhYmxlLiBUaGlzIGlzIHRvIGFsbG93Cit1cyB0byBsb2FkIC5zbydzIGZyb20gdGhlIGhvc3Qgc3lzdGVtIHdoaWxlIGJ1aWxkaW5nIGZvciB0aGUgdGFyZ2V0CitzeXN0ZW0uCisKK1VwZGF0ZSBieSBOaXRpbiBBIEthbWJsZSA8bml0aW4uYS5rYW1ibGVAaW50ZWwuY29tPiAyMDExLzA0LzIxCisKK0luZGV4OiBwZXJsLTUuMjQuMS9kaXN0L1hTTG9hZGVyL1hTTG9hZGVyX3BtLlBMCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gcGVybC01LjI0LjEub3JpZy9kaXN0L1hTTG9hZGVyL1hTTG9hZGVyX3BtLlBMCisrKysgcGVybC01LjI0LjEvZGlzdC9YU0xvYWRlci9YU0xvYWRlcl9wbS5QTAorQEAgLTUyLDYgKzUyLDI0IEBAIHN1YiBsb2FkIHsKKyAgICAgbXkgKCRjYWxsZXIsICRtb2RsaWJuYW1lKSA9IGNhbGxlcigpOworICAgICBteSAkbW9kdWxlID0gJGNhbGxlcjsKKyAKKysgICAgIyBPRTogQWxsb3cgZW52IHRvIGZvcm0gZHluYW1pYyBsb2FkZXIgdG8gbG9vayBpbiBhIGRpZmZlcmVudCBwbGFjZQorKyAgICAjIFRoaXMgaXMgc28gaXQgZmluZHMgdGhlIGhvc3QgLnNvIGZpbGVzLCBub3QgdGhlIHRhcmdldHMKKysgICAgaWYgKGRlZmluZWQgJEVOVntQRVJMSE9TVExJQn0pCisrICAgIHsKKysgICAgICAgIG15ICRob3N0bGliID0gJEVOVntQRVJMSE9TVExJQn07CisrICAgICAgICBteSAkaG9zdGFyY2hsaWIgPSAkRU5We1BFUkxIT1NUQVJDSExJQn07CisrICAgICAgICBwcmludCBTVERFUlIgIioqKiBNb2R1bGUgbmFtZSBJTjogJG1vZGxpYm5hbWVcbiI7CisrICAgICAgICAoJHAxLCAkcDIsICRwMywgJHA0LCAkcDUsICRwNiwgJHA3KSA9ICRtb2RsaWJuYW1lID1+IG0vKF4oLipsaWJcdypcLyk/KSgocGVybDVcL1swLTlcLl0qXC8pPykoKFteXC9dKilcLyk/KC4qKSQvOworKyAgICAgICAgcHJpbnQgU1RERVJSICIqKiogcDE6ICRwMSAgcDM6ICRwMyAgcDU6ICRwNSBwNzogJHA3XG4iOworKyAgICAgICAgaWYgKCAkcDEgbmUgIiIgKSB7CisrICAgICAgICAgICAgJG1vZGxpYm5hbWUgPSAkaG9zdGxpYi4kcDc7CisrICAgICAgICB9CisrICAgICAgICBpZiAoICRwNiBuZSAiIiApIHsKKysgICAgICAgICAgICAkbW9kbGlibmFtZSA9ICRob3N0YXJjaGxpYi4kcDc7CisrICAgICAgICB9CisrICAgICAgICBwcmludCBTVERFUlIgIioqKiBNb2R1bGUgbmFtZSBPVVQ6ICRtb2RsaWJuYW1lXG4iOworKyAgICB9CisrCisgICAgIGlmIChAXykgeworICAgICAgICAgJG1vZHVsZSA9ICRfWzBdOworICAgICB9IGVsc2UgewpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC1zYW5pdHkvZmlsZXMvcGVybC1yZGVwZW5kcy50eHQgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy9wZXJsLXJkZXBlbmRzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOTNiYmM3Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC1zYW5pdHkvZmlsZXMvcGVybC1yZGVwZW5kcy50eHQKQEAgLTAsMCArMSw0Mjk2IEBACitSREVQRU5EU19wZXJsLW1vZHVsZS1hbnlkYm0tZmlsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYW55ZGJtLWZpbGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS1jcGFuIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLWN3ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS1kYXRhLWR1bXBlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLWZpbGUtZmluZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS1nZXRvcHQtc3RkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLWlmIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLW5ldC1waW5nIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS11c2VyLXB3ZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtY3BhbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUgKz0gInBlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZSArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZSArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUgKz0gInBlcmwtbW9kdWxlLWdldG9wdC1sb25nIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLXByb3ZlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUgKz0gInBlcmwtbW9kdWxlLXRhcC1oYXJuZXNzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLXByb3ZlICs9ICJwZXJsLW1vZHVsZS10YXAtaGFybmVzcy1lbnYiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUgKz0gInBlcmwtbW9kdWxlLXRleHQtcGFyc2V3b3JkcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gInBlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZS1yZXN1bHQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXJlYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXdyaXRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUtcmVzdWx0ICs9ICJwZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUtcmVzdWx0LXRlc3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUtcmVzdWx0ICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZS1yZXN1bHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZS1yZXN1bHQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlLXJlc3VsdC10ZXN0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUtcmVzdWx0LXRlc3QgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJ6aXAyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyLWNvbnN0YW50ICs9ICJwZXJsLW1vZHVsZS10aW1lLWxvY2FsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItZmlsZSArPSAicGVybC1tb2R1bGUtYXJjaGl2ZS10YXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhci1maWxlICs9ICJwZXJsLW1vZHVsZS1hcmNoaXZlLXRhci1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyLWZpbGUgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhci1maWxlICs9ICJwZXJsLW1vZHVsZS1pby1maWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItZmlsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItZmlsZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyICs9ICJwZXJsLW1vZHVsZS1hcmNoaXZlLXRhci1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyICs9ICJwZXJsLW1vZHVsZS1hcmNoaXZlLXRhci1maWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXIgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhciArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhciArPSAicGVybC1tb2R1bGUtZmlsZS1wYXRoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXIgKz0gInBlcmwtbW9kdWxlLWlvLWZpbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhciArPSAicGVybC1tb2R1bGUtaW8temxpYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhciArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyeWJhc2UgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXR0cmlidXRlLWhhbmRsZXJzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdHRyaWJ1dGUtaGFuZGxlcnMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXR0cmlidXRlcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdHRyaWJ1dGVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdHRyaWJ1dGVzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF0dHJpYnV0ZXMgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gInBlcmwtbW9kdWxlLWZhdGFsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gInBlcmwtbW9kdWxlLWZjbnRsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtZXhjZXB0aW9uICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtZXhjZXB0aW9uLXN5c3RlbSArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24tc3lzdGVtICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLWV4Y2VwdGlvbi1zeXN0ZW0gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1oaW50cyArPSAicGVybC1tb2R1bGUtYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtaGludHMgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1oaW50cyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1oaW50cyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUgKz0gInBlcmwtbW9kdWxlLWxpYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1zY29wZS1ndWFyZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1zY29wZS1ndWFyZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLXNjb3BlLWd1YXJkc3RhY2sgKz0gInBlcmwtbW9kdWxlLWF1dG9kaWUtc2NvcGUtZ3VhcmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLXNjb3BlLWd1YXJkc3RhY2sgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtc2NvcGUtZ3VhcmRzdGFjayArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLXNraXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtc2tpcCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLXV0aWwgKz0gInBlcmwtbW9kdWxlLWF1dG9kaWUtc2NvcGUtZ3VhcmRzdGFjayIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtdXRpbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLXV0aWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtdXRpbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvbG9hZGVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvc3BsaXQgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9zcGxpdCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvc3BsaXQgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvc3BsaXQgKz0gInBlcmwtbW9kdWxlLWZpbGUtcGF0aCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9zcGxpdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmFzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1jb25jaXNlICs9ICJwZXJsLW1vZHVsZS1iIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1jb25jaXNlICs9ICJwZXJsLW1vZHVsZS1iLW9wLXByaXZhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLWNvbmNpc2UgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWItY29uY2lzZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLWNvbmNpc2UgKz0gInBlcmwtbW9kdWxlLWZlYXR1cmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLWNvbmNpc2UgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWItY29uY2lzZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLWRlYnVnICs9ICJwZXJsLW1vZHVsZS1iIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1kZWJ1ZyArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1kZWJ1ZyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmVuY2htYXJrICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJlbmNobWFyayArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmlnaW50ICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ2ludCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnaW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmlnaW50ICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC10cmFjZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ2ludCArPSAicGVybC1tb2R1bGUtb3ZlcmxvYWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ2ludCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdudW0gKz0gInBlcmwtbW9kdWxlLWJpZ2ludCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ251bSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdudW0gKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdudW0gKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQtdHJhY2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdudW0gKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnaW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmlnbnVtICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC10cmFjZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ251bSArPSAicGVybC1tb2R1bGUtb3ZlcmxvYWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdudW0gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ251bSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdyYXQgKz0gInBlcmwtbW9kdWxlLWJpZ2ludCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ3JhdCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdyYXQgKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdyYXQgKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnaW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmlncmF0ICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC10cmFjZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ3JhdCArPSAicGVybC1tb2R1bGUtbWF0aC1iaWdyYXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdyYXQgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmlncmF0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdyYXQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmxpYiArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWItc2hvd2xleCArPSAicGVybC1tb2R1bGUtYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWItc2hvd2xleCArPSAicGVybC1tb2R1bGUtYi1jb25jaXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1zaG93bGV4ICs9ICJwZXJsLW1vZHVsZS1iLXRlcnNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1zaG93bGV4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLXRlcnNlICs9ICJwZXJsLW1vZHVsZS1iIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi10ZXJzZSArPSAicGVybC1tb2R1bGUtYi1jb25jaXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi10ZXJzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi14cmVmICs9ICJwZXJsLW1vZHVsZS1iIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi14cmVmICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLXhyZWYgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJ5dGVzICs9ICJwZXJsLW1vZHVsZS1ieXRlcy1oZWF2eSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLS1jaGFybmFtZXMgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY2hhcm5hbWVzICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNoYXJuYW1lcyArPSAicGVybC1tb2R1bGUtLWNoYXJuYW1lcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLS1jaGFybmFtZXMgKz0gInBlcmwtbW9kdWxlLXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY2hhcm5hbWVzICs9ICJwZXJsLW1vZHVsZS1yZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLS1jaGFybmFtZXMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNoYXJuYW1lcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtLWNoYXJuYW1lcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jaGFybmFtZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNsYXNzLXN0cnVjdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiArPSAicGVybC1tb2R1bGUtYnl0ZXMgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LWJ6aXAyICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiArPSAicGVybC1tb2R1bGUtZHluYWxvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctYnppcDIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctYnppcDIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiArPSAicGVybC1tb2R1bGUtYnl0ZXMgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIgKz0gInBlcmwtbW9kdWxlLWR5bmFsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiArPSAicGVybC1tb2R1bGUtc3RyaWN0ICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy16bGliICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS1ieXRlcyAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29tcHJlc3MtemxpYiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWd1bnppcCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb25maWctZXh0ZW5zaW9ucyArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uZmlnLWV4dGVuc2lvbnMgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uZmlnLWV4dGVuc2lvbnMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbmZpZyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uZmlnICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbmZpZy1wZXJsLXYgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbmZpZy1wZXJsLXYgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uZmlnLXBlcmwtdiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uZmlnLXBlcmwtdiArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbmZpZy1wZXJsLXYgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbnN0YW50ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvcmVsaXN0ICs9ICJwZXJsLW1vZHVsZS1saXN0LXV0aWwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb3JlbGlzdCArPSAicGVybC1tb2R1bGUtY29yZWxpc3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb3JlbGlzdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29yZWxpc3QgKz0gInBlcmwtbW9kdWxlLXZlcnNpb24iCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb3JlbGlzdCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1iIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtZGF0YS1kdW1wZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1kaXJoYW5kbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1lcnJubyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1maWxlLWNvcHkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1maWxlaGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtZmlsZS1wYXRoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtbGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtbmV0LXBpbmciCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLXBvc2l4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtc2FmZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLXN5cy1ob3N0bmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLXRlcm0tcmVhZGxpbmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS10ZXh0LXdyYXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS10aW1lLWxvY2FsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3dkICs9ICJwZXJsLW1vZHVsZS1lcnJubyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWN3ZCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jd2QgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWN3ZCArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kYXRhLWR1bXBlciArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci1jb21wcmVzcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci1jb21wcmVzcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kYm0tZmlsdGVyLWVuY29kZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci1pbnQzMiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci1pbnQzMiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kYm0tZmlsdGVyLW51bGwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRibS1maWx0ZXItbnVsbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kYm0tZmlsdGVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kYm0tZmlsdGVyICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRibS1maWx0ZXItdXRmOCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci11dGY4ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRiICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kZXByZWNhdGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRlcHJlY2F0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kZXZlbC1wZWVrICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRldmVsLXBlZWsgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGV2ZWwtcHBwb3J0ICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kZXZlbC1wcHBvcnQgKz0gInBlcmwtbW9kdWxlLWdldG9wdC1sb25nIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGV2ZWwtcHBwb3J0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kZXZlbC1wcHBvcnQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kZXZlbC1zZWxmc3R1YmJlciArPSAicGVybC1tb2R1bGUtc2VsZmxvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpYWdub3N0aWNzICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWFnbm9zdGljcyArPSAicGVybC1tb2R1bGUtZ2V0b3B0LXN0ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpYWdub3N0aWNzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWFnbm9zdGljcyArPSAicGVybC1tb2R1bGUtdGV4dC10YWJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LWJhc2UgKz0gInBlcmwtbW9kdWxlLW1pbWUtYmFzZTY0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LWJhc2UgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1iYXNlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LWZpbGUgKz0gInBlcmwtbW9kdWxlLWRpZ2VzdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1maWxlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1maWxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWdlc3QtZmlsZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1tZDUgKz0gInBlcmwtbW9kdWxlLWRpZ2VzdC1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LW1kNSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWdlc3QtbWQ1ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWdlc3QtbWQ1ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LW1kNSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWdlc3QgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1zaGEgKz0gInBlcmwtbW9kdWxlLWRpZ2VzdC1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LXNoYSArPSAicGVybC1tb2R1bGUtZHluYWxvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1zaGEgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LXNoYSArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWdlc3Qtc2hhICs9ICJwZXJsLW1vZHVsZS1pbnRlZ2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LXNoYSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LXNoYSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1zaGEgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LXNoYSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1keW5hbG9hZGVyICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtYWxpYXMgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWFsaWFzICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtYWxpYXMgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWFsaWFzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtYWxpYXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWJ5dGUgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1ieXRlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtYnl0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtYnl0ZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtY2prY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1jamtjb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1jamtjb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNuLWh6ICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtY24taHogKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1jbi1oeiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNuLWh6ICs9ICJwZXJsLW1vZHVsZS11dGY4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNuLWh6ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNuLWh6ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1jbiArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNuICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUtY24taHoiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtY24gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1jbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtY24gKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNvbmZpZyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNvbmZpZyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZWJjZGljICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZWJjZGljICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZWJjZGljICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1lYmNkaWMgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWVuY29kZXIgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWVuY29kZXIgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1lbmNvZGVyICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1lbmNvZGVyICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1lbmNvZGVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZW5jb2RlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWVuY29kaW5nICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1taW1lLW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1lbmNvZGluZyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZ3NtMDMzOCArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWdzbTAzMzggKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1nc20wMzM4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZ3NtMDMzOCArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1nc20wMzM4ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWdzbTAzMzggKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWd1ZXNzICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1ndWVzcyArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZ3Vlc3MgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1ndWVzcyArPSAicGVybC1tb2R1bGUtZW5jb2RlLXVuaWNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZ3Vlc3MgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1ndWVzcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWd1ZXNzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1qcC1oMnogKz0gInBlcmwtbW9kdWxlLWVuY29kZS1jamtjb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtaDJ6ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtaDJ6ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwLWgyeiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtamlzNyArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtamlzNyArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwLWppczcgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1jamtjb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtamlzNyArPSAicGVybC1tb2R1bGUtZW5jb2RlLWpwLWgyeiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1qcC1qaXM3ICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtamlzNyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwLWppczcgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1qcC1qaXM3IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1rci0yMDIyLWtyICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUta3ItMjAyMi1rciArPSAicGVybC1tb2R1bGUtZW5jb2RlLWNqa2NvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1rci0yMDIyLWtyICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUta3ItMjAyMi1rciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWtyLTIwMjIta3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWtyICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUta3IgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1rci0yMDIyLWtyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWtyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUta3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWtyICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlci1pc28tMjAyMi1qcCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtbWltZS1oZWFkZXItaXNvLTIwMjItanAgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1jamtjb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtbWltZS1oZWFkZXItaXNvLTIwMjItanAgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlci1pc28tMjAyMi1qcCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyLWlzby0yMDIyLWpwICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlciArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyICs9ICJwZXJsLW1vZHVsZS1taW1lLWJhc2U2NCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlciArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtbWltZS1oZWFkZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLW1pbWUtbmFtZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLW1pbWUtbmFtZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZSArPSAicGVybC1tb2R1bGUtZW5jb2RlLWFsaWFzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUtY29uZmlnbG9jYWwtcG0iCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1taW1lLW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLXN0b3JhYmxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1zeW1ib2wgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1zeW1ib2wgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1zeW1ib2wgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLXN5bWJvbCArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdHcgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS10dyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLXR3ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS10dyArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdW5pY29kZSArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLXVuaWNvZGUgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS11bmljb2RlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdW5pY29kZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdW5pY29kZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdW5pY29kZS11dGY3ICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdW5pY29kZS11dGY3ICs9ICJwZXJsLW1vZHVsZS1taW1lLWJhc2U2NCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS11bmljb2RlLXV0ZjcgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS11bmljb2RlLXV0ZjcgKz0gInBlcmwtbW9kdWxlLXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLXVuaWNvZGUtdXRmNyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLXVuaWNvZGUtdXRmNyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGluZyArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kaW5nICs9ICJwZXJsLW1vZHVsZS1maWx0ZXItdXRpbC1jYWxsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLWkxOG4tbGFuZ2luZm8iCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGluZyArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGluZyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGluZyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGluZy13YXJuaW5ncyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2Rpbmctd2FybmluZ3MgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5nbGlzaCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbnYgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVudiArPSAicGVybC1tb2R1bGUtdGllLWFycmF5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXJybm8gKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXJybm8gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4cGVyaW1lbnRhbCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXhwZXJpbWVudGFsICs9ICJwZXJsLW1vZHVsZS12ZXJzaW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXhwZXJpbWVudGFsICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4cG9ydGVyLWhlYXZ5ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4cG9ydGVyLWhlYXZ5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHBvcnRlciArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXItaGVhdnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1keW5hbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWtzeW1saXN0cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1maWxlLXRlbXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1pcGMtY21kIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAicGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlciArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyICs9ICJwZXJsLW1vZHVsZS1maWxlLXBhdGgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tYWl4ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tYWl4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1haXggKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tYW5kcm9pZCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tYW5kcm9pZCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWFuZHJvaWQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWFuZHJvaWQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tY3lnd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tY3lnd2luICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1jeWd3aW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tZGFyd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tZGFyd2luICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1kYXJ3aW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tZGVjLW9zZiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWRlYy1vc2YgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWRlYy1vc2YgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tb3MyICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tb3MyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1vczIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXVuaXggKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXVuaXggKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdm1zICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS12bXMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS12bXMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXZtcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS13aW5kb3dzLWJjYyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cy1iY2MgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cy1nY2MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MtZ2NjICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MtbXN2YyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cy1tc3ZjICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS13aW5kb3dzICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cyArPSAicGVybC1tb2R1bGUtaW8tZmlsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb21tYW5kLW1tICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jb21tYW5kIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQtbW0gKz0gInBlcmwtbW9kdWxlLWdldG9wdC1sb25nIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAicGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb21tYW5kICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gInBlcmwtbW9kdWxlLWZpbGUtY29weSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gInBlcmwtbW9kdWxlLWZpbGUtZmluZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gInBlcmwtbW9kdWxlLWZpbGUtcGF0aCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1iYXNlICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LWJhc2UgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXV0aWxzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtYmFzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtYmFzZSArPSAicGVybC1tb2R1bGUtdGV4dC13cmFwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtYmFzZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1wcm94eXN1YnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtdXRpbHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQteHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAicGVybC1tb2R1bGUtZmlsZWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXByb3h5c3VicyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtdXRpbHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1wcm94eXN1YnMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXhzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtcHJveHlzdWJzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1wcm94eXN1YnMgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC11dGlscyArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC11dGlscyArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC11dGlscyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtdXRpbHMgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC14cyArPSAicGVybC1tb2R1bGUtZGF0YS1kdW1wZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC14cyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC14cyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXhzICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC11dGlscyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXhzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC14cyArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1lbWJlZCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1lbWJlZCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1lbWJlZCArPSAicGVybC1tb2R1bGUtZ2V0b3B0LXN0ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsZWQgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWluc3RhbGxlZCArPSAicGVybC1tb2R1bGUtZGF0YS1kdW1wZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsZWQgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWluc3RhbGxlZCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFja2xpc3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsZWQgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsZWQgKz0gInBlcmwtbW9kdWxlLWZpbGUtZmluZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWluc3RhbGxlZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbGVkICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAicGVybC1tb2R1bGUtYXV0b3NwbGl0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1wYWNrbGlzdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWluc3RhbGwgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1maWxlLWNvbXBhcmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1maWxlLWNvcHkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1maWxlLXBhdGgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0LWtpZCArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0LWtpZCArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWxpYmxpc3Qta2lkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0LWtpZCArPSAicGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItbG9jYWxlICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWxvY2FsZSArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWxvY2FsZSArPSAicGVybC1tb2R1bGUtZW5jb2RlLWFsaWFzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWxvY2FsZSArPSAicGVybC1tb2R1bGUtaTE4bi1sYW5naW5mbyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1sb2NhbGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtY3BhbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLXZlcnNpb24iCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbXkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIgKz0gInBlcmwtbW9kdWxlLWZpbGUtcGF0aCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICJwZXJsLW1vZHVsZS12ZXJzaW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLXZlcnNpb24gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci12ZXJzaW9uICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QgKz0gInBlcmwtbW9kdWxlLWZpbGUtY29weSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYW5pZmVzdCArPSAicGVybC1tb2R1bGUtZmlsZS1wYXRoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1pbmlwZXJsICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1pbmlwZXJsICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1lbWJlZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1pbmlwZXJsICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1ta2Jvb3RzdHJhcCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWtib290c3RyYXAgKz0gInBlcmwtbW9kdWxlLWR5bmFsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1ta2Jvb3RzdHJhcCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1ta2Jvb3RzdHJhcCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWtzeW1saXN0cyArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWtzeW1saXN0cyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1ta3N5bWxpc3RzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1haXggKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1haXggKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1haXggKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSArPSAicGVybC1tb2R1bGUtYXV0b3NwbGl0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICJwZXJsLW1vZHVsZS1jcGFuIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICJwZXJsLW1vZHVsZS1kYXRhLWR1bXBlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1hbnkgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSArPSAicGVybC1tb2R1bGUtdmVyc2lvbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWJlb3MgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1iZW9zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS1hbnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1iZW9zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYmVvcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tY3lnd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tY3lnd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tY3lnd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWN5Z3dpbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tZGFyd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tZGFyd2luICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1kb3MgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWRvcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWRvcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tbWFjb3MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLW53NSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tbnc1ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tbnc1ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLW53NSArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLW53NSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tb3MyICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1vczIgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLW9zMiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLW9zMiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0gKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLWxpYmxpc3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0gKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tcW54ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tcW54ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXggKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXggKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCArPSAicGVybC1tb2R1bGUtdmVyc2lvbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXV3aW4gKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11d2luICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS12bXMgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0LWtpZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXZtcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS1hbnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS12bXMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS12bXMgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS12bXMgKz0gInBlcmwtbW9kdWxlLWZpbGUtZmluZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXZtcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdm9zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdm9zICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0td2luMzIgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0td2luMzIgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjMyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW45NSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjk1ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjk1ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1teSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbW0iCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1teSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFja2xpc3QgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLXBhY2tsaXN0ICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYWNrbGlzdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFja2xpc3QgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLWNvbnN0YW50cyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb3VudGxpbmVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLWV2YWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMtZXZhbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb3VudGxpbmVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1ldmFsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy11dGlsaXRpZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cyArPSAicGVybC1tb2R1bGUtcmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy11dGlsaXRpZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdGVzdGxpYiArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdGVzdGxpYiArPSAicGVybC1tb2R1bGUtbGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdGVzdGxpYiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdGVzdGxpYiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1jbWQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtY21kICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLXR5cGVtYXBzLWNtZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtY21kICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLXR5cGVtYXBzLWlucHV0bWFwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1pbnB1dG1hcCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1vdXRwdXRtYXAgKz0gInBlcmwtbW9kdWxlLXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtb3V0cHV0bWFwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1vdXRwdXRtYXAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtaW5wdXRtYXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtb3V0cHV0bWFwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLXR5cGVtYXBzLXR5cGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtdHlwZSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy10eXBlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy10eXBlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZhdGFsICs9ICJwZXJsLW1vZHVsZS1hdXRvZGllIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmF0YWwgKz0gInBlcmwtbW9kdWxlLWF1dG9kaWUtZXhjZXB0aW9uLXN5c3RlbSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZhdGFsICs9ICJwZXJsLW1vZHVsZS1hdXRvZGllLWhpbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmF0YWwgKz0gInBlcmwtbW9kdWxlLWF1dG9kaWUtdXRpbCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZhdGFsICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1mYXRhbCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1mYXRhbCArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1mYXRhbCArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1mYXRhbCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmF0YWwgKz0gInBlcmwtbW9kdWxlLXRpZS1yZWZoYXNoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmF0YWwgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmNudGwgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmNudGwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZjbnRsICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpZWxkcyArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpZWxkcyArPSAicGVybC1tb2R1bGUtaGFzaC11dGlsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmllbGRzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUgKz0gInBlcmwtbW9kdWxlLXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlY2FjaGUgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGVjYWNoZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1jb21wYXJlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtY29tcGFyZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1jb21wYXJlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtY29weSArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1jb3B5ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtY29weSArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtY29weSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1jb3B5ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZG9zZ2xvYiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1kb3NnbG9iICs9ICJwZXJsLW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWRvc2dsb2IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1kb3NnbG9iICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmV0Y2ggKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1mZXRjaCArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1mZXRjaCArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmV0Y2ggKz0gInBlcmwtbW9kdWxlLWZpbGUtY29weSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmV0Y2ggKz0gInBlcmwtbW9kdWxlLWZpbGVoYW5kbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS1maWxlLXBhdGgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS1maWxlLXRlbXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS1pcGMtY21kIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1mZXRjaCArPSAicGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0LXNpbXBsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmV0Y2ggKz0gInBlcmwtbW9kdWxlLWxvYWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS1wYXJhbXMtY2hlY2siCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1maW5kICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZpbmQgKz0gInBlcmwtbW9kdWxlLWN3ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmluZCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZpbmQgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZpbmQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmluZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZpbmQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1nbG9ibWFwcGVyICs9ICJwZXJsLW1vZHVsZS1maWxlLWdsb2IiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWdsb2JtYXBwZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZ2xvYm1hcHBlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWdsb2IgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1nbG9iICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWdsb2IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1nbG9iICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGVoYW5kbGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZWhhbmRsZSArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlaGFuZGxlICs9ICJwZXJsLW1vZHVsZS1pby1maWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZWhhbmRsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1wYXRoICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXBhdGggKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1wYXRoICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1wYXRoICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXBhdGggKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXN0YXQgKz0gInBlcmwtbW9kdWxlLWNsYXNzLXN0cnVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtc3RhdCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXN0YXQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1zdGF0ICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtc3RhdCArPSAicGVybC1tb2R1bGUtb3ZlcmxvYWQgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1zdGF0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXN0YXQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1zdGF0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXRlbXAgKz0gInBlcmwtbW9kdWxlLWN3ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtZXJybm8iCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXRlbXAgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS10ZW1wICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtZmlsZS1wYXRoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS10ZW1wICs9ICJwZXJsLW1vZHVsZS1pby1zZWVrYWJsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtb3ZlcmxvYWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXRlbXAgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXRlbXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbHRlci1zaW1wbGUgKz0gInBlcmwtbW9kdWxlLWZpbHRlci11dGlsLWNhbGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWx0ZXItc2ltcGxlICs9ICJwZXJsLW1vZHVsZS10ZXh0LWJhbGFuY2VkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsdGVyLXV0aWwtY2FsbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWx0ZXItdXRpbC1jYWxsICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWx0ZXItdXRpbC1jYWxsICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbHRlci11dGlsLWNhbGwgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmluZGJpbiArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmluZGJpbiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maW5kYmluICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gInBlcmwtbW9kdWxlLXBvZC11c2FnZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWdldG9wdC1sb25nICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyArPSAicGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1nZXRvcHQtc3RkICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWhhc2gtdXRpbC1maWVsZGhhc2ggKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaGFzaC11dGlsLWZpZWxkaGFzaCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaGFzaC11dGlsLWZpZWxkaGFzaCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1oYXNoLXV0aWwtZmllbGRoYXNoICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWhhc2gtdXRpbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1oYXNoLXV0aWwgKz0gInBlcmwtbW9kdWxlLWhhc2gtdXRpbC1maWVsZGhhc2giCitSREVQRU5EU19wZXJsLW1vZHVsZS1oYXNoLXV0aWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWhhc2gtdXRpbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1oYXNoLXV0aWwgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaGFzaC11dGlsICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWkxOG4tY29sbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pMThuLWNvbGxhdGUgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1jb2xsYXRlICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWkxOG4tY29sbGF0ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1jb2xsYXRlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWkxOG4tbGFuZ2luZm8gKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1sYW5naW5mbyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1sYW5naW5mbyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pMThuLWxhbmdpbmZvICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWkxOG4tbGFuZ3RhZ3MtZGV0ZWN0ICs9ICJwZXJsLW1vZHVsZS1pMThuLWxhbmd0YWdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1sYW5ndGFncy1kZXRlY3QgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWkxOG4tbGFuZ3RhZ3MtbGlzdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1sYW5ndGFncyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pMThuLWxhbmd0YWdzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWJ6aXAyICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItYnppcDIgKz0gInBlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItYnppcDIgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1iemlwMiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1iemlwMiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWlkZW50aXR5ICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24gKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24gKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24gKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICJwZXJsLW1vZHVsZS1maWxlLWdsb2JtYXBwZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiArPSAicGVybC1tb2R1bGUtc3RyaWN0ICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZSArPSAicGVybC1tb2R1bGUtaW8tZmlsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iemlwMiArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iemlwMiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYnppcDIgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItYnppcDIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iemlwMiArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJ6aXAyICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJ6aXAyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYnppcDIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWRlZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXJhd2RlZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy16bGliLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWRlZmxhdGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtZ3ppcC1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtZ3ppcCArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtZ3ppcCArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItZXh0cmEiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtZ3ppcCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXJhd2RlZmxhdGUgKz0gInBlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy16aXAtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcC1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwLWNvbnN0YW50cyArPSAicGVybC1tb2R1bGUtc3RyaWN0ICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcC1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAicGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy16aXAgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1kZWZsYXRlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWlkZW50aXR5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYnppcDIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy16aXAtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy16bGliLWV4dHJhIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1leHRyYSArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy16bGliLWV4dHJhICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItZXh0cmEgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy16bGliLWV4dHJhICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWRpciArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1kaXIgKz0gInBlcmwtbW9kdWxlLWZpbGUtc3RhdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWRpciArPSAicGVybC1tb2R1bGUtaW8tZmlsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWRpciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tZGlyICs9ICJwZXJsLW1vZHVsZS10aWUtaGFzaCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWZpbGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tZmlsZSArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1maWxlICs9ICJwZXJsLW1vZHVsZS1pby1zZWVrYWJsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWZpbGUgKz0gInBlcmwtbW9kdWxlLXNlbGVjdHNhdmVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tZmlsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8taGFuZGxlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWhhbmRsZSArPSAicGVybC1tb2R1bGUtaW8iCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1oYW5kbGUgKz0gInBlcmwtbW9kdWxlLWlvLWZpbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1oYW5kbGUgKz0gInBlcmwtbW9kdWxlLXNlbGVjdHNhdmVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8taGFuZGxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pbyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8gKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tcGlwZSArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1waXBlICs9ICJwZXJsLW1vZHVsZS1pby1oYW5kbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1waXBlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1wb2xsICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXBvbGwgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXBvbGwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNlZWthYmxlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNlZWthYmxlICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNlZWthYmxlICs9ICJwZXJsLW1vZHVsZS1pby1oYW5kbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zZWVrYWJsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc2VsZWN0ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNlbGVjdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc2VsZWN0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pbmV0ICs9ICJwZXJsLW1vZHVsZS1lcnJubyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pbmV0ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pbmV0ICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zb2NrZXQtaW5ldCArPSAicGVybC1tb2R1bGUtc29ja2V0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0LWluZXQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pcCArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pcCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zb2NrZXQtaXAgKz0gInBlcmwtbW9kdWxlLWVycm5vIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0LWlwICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pcCArPSAicGVybC1tb2R1bGUtc29ja2V0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0LWlwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zb2NrZXQtaXAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0ICs9ICJwZXJsLW1vZHVsZS1lcnJubyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zb2NrZXQgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldCArPSAicGVybC1tb2R1bGUtaW8tc2VsZWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0ICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQtaW5ldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldCArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0LXVuaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zb2NrZXQgKz0gInBlcmwtbW9kdWxlLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0LXVuaXggKz0gInBlcmwtbW9kdWxlLWlvLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC11bml4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItYnVuemlwMiArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItYnVuemlwMiArPSAicGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LWJ6aXAyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1idW56aXAyICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gInBlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWlkZW50aXR5ICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwLWNvbnN0YW50cyAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFueWluZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFueWluZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1yYXdpbmZsYXRlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFueWluZmxhdGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnl1bmNvbXByZXNzICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55dW5jb21wcmVzcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnl1bmNvbXByZXNzICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55dW5jb21wcmVzcyArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnl1bmNvbXByZXNzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFueXVuY29tcHJlc3MgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJhc2UgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICJwZXJsLW1vZHVsZS1pby1maWxlICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSArPSAicGVybC1tb2R1bGUtbGlzdC11dGlsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYnVuemlwMiArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYnVuemlwMiArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1idW56aXAyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1idW56aXAyICs9ICJwZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gInBlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy16bGliLWV4dHJhIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1pbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1pbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWluZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0ICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXJhd2luZmxhdGUgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1yYXdpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1yYXdpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXJhd2luZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0ICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gInBlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItZXh0cmEiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1pby1maWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWlkZW50aXR5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXJhd2luZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXpsaWIgKz0gInBlcmwtbW9kdWxlLWZjbnRsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8temxpYiArPSAicGVybC1tb2R1bGUtaW8taGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8temxpYiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8temxpYiArPSAicGVybC1tb2R1bGUtdGllLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXpsaWIgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1jbWQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLWNtZCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLWNtZCArPSAicGVybC1tb2R1bGUtZmlsZWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1jbWQgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1jbWQgKz0gInBlcmwtbW9kdWxlLWlvLXNlbGVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1jbWQgKz0gInBlcmwtbW9kdWxlLWlwYy1vcGVuMyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1jbWQgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS1sb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLWNtZCArPSAicGVybC1tb2R1bGUtcGFyYW1zLWNoZWNrIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLWNtZCArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS10aW1lLWhpcmVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLWNtZCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1tc2cgKz0gInBlcmwtbW9kdWxlLWNsYXNzLXN0cnVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1tc2cgKz0gInBlcmwtbW9kdWxlLWlwYy1zeXN2IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLW1zZyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLW1zZyArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1vcGVuMiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtb3BlbjIgKz0gInBlcmwtbW9kdWxlLWlwYy1vcGVuMyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1vcGVuMiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLW9wZW4zICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1vcGVuMyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtb3BlbjMgKz0gInBlcmwtbW9kdWxlLWZjbnRsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLW9wZW4zICs9ICJwZXJsLW1vZHVsZS1pby1waXBlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLW9wZW4zICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1vcGVuMyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXNlbWFwaG9yZSArPSAicGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXNlbWFwaG9yZSArPSAicGVybC1tb2R1bGUtaXBjLXN5c3YiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtc2VtYXBob3JlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtc2VtYXBob3JlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXNoYXJlZG1lbSArPSAicGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXNoYXJlZG1lbSArPSAicGVybC1tb2R1bGUtaXBjLXN5c3YiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtc2hhcmVkbWVtICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtc2hhcmVkbWVtICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXN5c3YgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1zeXN2ICs9ICJwZXJsLW1vZHVsZS1keW5hbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXN5c3YgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXN5c3YgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1zeXN2ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtanNvbi1wcC1ib29sZWFuICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWpzb24tcHAtYm9vbGVhbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtanNvbi1wcCArPSAicGVybC1tb2R1bGUtYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWpzb24tcHAgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtanNvbi1wcCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1qc29uLXBwICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1qc29uLXBwICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWpzb24tcHAgKz0gInBlcmwtbW9kdWxlLWpzb24tcHAtYm9vbGVhbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWpzb24tcHAgKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1qc29uLXBwICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWpzb24tcHAgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtanNvbi1wcCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtanNvbi1wcCArPSAicGVybC1tb2R1bGUtc3VicyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxlc3MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxlc3MgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbGliICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1saWIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxpc3QtdXRpbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1saXN0LXV0aWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxpc3QtdXRpbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1saXN0LXV0aWwgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbGlzdC11dGlsLXhzICs9ICJwZXJsLW1vZHVsZS1saXN0LXV0aWwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1saXN0LXV0aWwteHMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxpc3QtdXRpbC14cyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2FkZWQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWRlZCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9hZCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2FkICs9ICJwZXJsLW1vZHVsZS1maWxlaGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9hZCArPSAicGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0LXNpbXBsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLWNvcmVsaXN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9hZCArPSAicGVybC1tb2R1bGUtbG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLXBhcmFtcy1jaGVjayIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2FkICs9ICJwZXJsLW1vZHVsZS12ZXJzaW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9hZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeS1jb2RlcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnktY29kZXMgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeS1jb2RlcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAicGVybC1tb2R1bGUtaWYiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnkgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnkgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnktcmV0aXJlZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnktcmV0aXJlZCArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb3VudHJ5LXJldGlyZWQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5LWNvZGVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3ktY29kZXMgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3ktY29kZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeSArPSAicGVybC1tb2R1bGUtaWYiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3kgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeS1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3ktcmV0aXJlZCArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeS1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0LWNvZGVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dC1jb2RlcyArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0LWNvZGVzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0ICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0ICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dCArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dC1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dC1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS11dGY4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdleHQtcmV0aXJlZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbS1jb2RlcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0tY29kZXMgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbS1jb2RlcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAicGVybC1tb2R1bGUtaWYiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0gKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0tcmV0aXJlZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0tcmV0aXJlZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UtY29kZXMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZS1jb2RlcyArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZS1jb2RlcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlLXJldGlyZWQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZS1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS11dGY4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlLXJldGlyZWQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXItY29kZXMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyLWNvZGVzICs9ICJwZXJsLW1vZHVsZS11dGY4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXItY29kZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gInBlcmwtbW9kdWxlLWlmIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyLXJldGlyZWQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyLXJldGlyZWQgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3Zhci1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMgKz0gInBlcmwtbW9kdWxlLWlmIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdC1jb2RlcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdC1jb2RlcyArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQtY29kZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQtcmV0aXJlZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdC1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS11dGY4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdC1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb3VudHJ5ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb3VudHJ5ICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb3VudHJ5ICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY291bnRyeSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb3VudHJ5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY291bnRyeSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY3VycmVuY3kgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWN1cnJlbmN5ICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jdXJyZW5jeSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWN1cnJlbmN5ICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWN1cnJlbmN5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY3VycmVuY3kgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWxhbmd1YWdlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1sYW5ndWFnZSArPSAicGVybC1tb2R1bGUtaWYiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtbGFuZ3VhZ2UgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1sYW5ndWFnZSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1sYW5ndWFnZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWxhbmd1YWdlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1ndXRzbG9hZGVyICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtbWFrZXRleHQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtbWFrZXRleHQtZ3V0cyArPSAicGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0ICs9ICJwZXJsLW1vZHVsZS1pMThuLWxhbmd0YWdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0ICs9ICJwZXJsLW1vZHVsZS1pMThuLWxhbmd0YWdzLWRldGVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dCArPSAicGVybC1tb2R1bGUtaW50ZWdlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0LXNpbXBsZSArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1zaW1wbGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZSArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLXNjcmlwdCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1zY3JpcHQgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1zY3JpcHQgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdmbG9hdCArPSAicGVybC1tb2R1bGUtbWF0aC1iaWdpbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0ICs9ICJwZXJsLW1vZHVsZS1tYXRoLWNvbXBsZXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0ICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdmbG9hdC10cmFjZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdmbG9hdC10cmFjZSArPSAicGVybC1tb2R1bGUtb3ZlcmxvYWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0LXRyYWNlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LWNhbGNlbXUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LWNhbGNlbXUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1jYWxjICs9ICJwZXJsLW1vZHVsZS1pbnRlZ2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyArPSAicGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtbGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1mYXN0Y2FsYyArPSAicGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LWZhc3RjYWxjICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1mYXN0Y2FsYyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1mYXN0Y2FsYyArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1saWIgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtbGliICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1saWIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludCArPSAicGVybC1tb2R1bGUtbWF0aC1jb21wbGV4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC10cmFjZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ3JhdCArPSAicGVybC1tb2R1bGUtbWF0aC1iaWdmbG9hdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlncmF0ICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlncmF0ICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlncmF0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ3JhdCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWNvbXBsZXggKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtY29tcGxleCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWNvbXBsZXggKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1jb21wbGV4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWNvbXBsZXggKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC10cmlnICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtdHJpZyArPSAicGVybC1tb2R1bGUtbWF0aC1jb21wbGV4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC10cmlnICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tZW1vaXplLWFueWRibS1maWxlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWVtb2l6ZSArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWVtb2l6ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tZW1vaXplICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tZW1vaXplICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWVtb2l6ZS1zZGJtLWZpbGUgKz0gInBlcmwtbW9kdWxlLXNkYm0tZmlsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1lbW9pemUtc3RvcmFibGUgKz0gInBlcmwtbW9kdWxlLXN0b3JhYmxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWltZS1iYXNlNjQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWltZS1iYXNlNjQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1pbWUtYmFzZTY0ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWltZS1iYXNlNjQgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWltZS1xdW90ZWRwcmludCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1taW1lLXF1b3RlZHByaW50ICs9ICJwZXJsLW1vZHVsZS1taW1lLWJhc2U2NCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1pbWUtcXVvdGVkcHJpbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1pbWUtcXVvdGVkcHJpbnQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tcm8gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1ybyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tcm8gKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWNtZCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtY21kICs9ICJwZXJsLW1vZHVsZS1lcnJubyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1jbWQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWNtZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWNtZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtY29uZmlnICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1jb25maWcgKz0gInBlcmwtbW9kdWxlLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1jb25maWcgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1jb25maWcgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWRvbWFpbiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZG9tYWluICs9ICJwZXJsLW1vZHVsZS1uZXQtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWRvbWFpbiArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZG9tYWluICs9ICJwZXJsLW1vZHVsZS1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZG9tYWluICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZG9tYWluICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtYSArPSAicGVybC1tb2R1bGUtbmV0LWZ0cC1kYXRhY29ubiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtYSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cC1hICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtZGF0YWNvbm4gKz0gInBlcmwtbW9kdWxlLWVycm5vIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cC1kYXRhY29ubiArPSAicGVybC1tb2R1bGUtbmV0LWNtZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtZGF0YWNvbm4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtZGF0YWNvbm4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cC1lICs9ICJwZXJsLW1vZHVsZS1uZXQtZnRwLWkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwLWUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwLWkgKz0gInBlcmwtbW9kdWxlLW5ldC1mdHAtZGF0YWNvbm4iCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwLWkgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtaSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwLWwgKz0gInBlcmwtbW9kdWxlLW5ldC1mdHAtaSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtbCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cC1sICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cCArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cCArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cCArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0LWlwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cCArPSAicGVybC1tb2R1bGUtbmV0LWNtZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAgKz0gInBlcmwtbW9kdWxlLW5ldC1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS1uZXQtZnRwLWEiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS1uZXQtbmV0cmMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS10aW1lLWxvY2FsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtaG9zdGVudCArPSAicGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWhvc3RlbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWhvc3RlbnQgKz0gInBlcmwtbW9kdWxlLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1ob3N0ZW50ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtbmV0ZW50ICs9ICJwZXJsLW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtbmV0ZW50ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1uZXRlbnQgKz0gInBlcmwtbW9kdWxlLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1uZXRlbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1uZXRyYyArPSAicGVybC1tb2R1bGUtZmlsZWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1uZXRyYyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LW5ldHJjICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1ubnRwICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtbm50cCArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0LWlwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LW5udHAgKz0gInBlcmwtbW9kdWxlLW5ldC1jbWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtbm50cCArPSAicGVybC1tb2R1bGUtbmV0LWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1ubnRwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtbm50cCArPSAicGVybC1tb2R1bGUtdGltZS1sb2NhbCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1ubnRwICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1waW5nICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1waW5nICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1waW5nICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1waW5nICs9ICJwZXJsLW1vZHVsZS1maWxlaGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBpbmcgKz0gInBlcmwtbW9kdWxlLWlvLXNvY2tldC1pbmV0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBpbmcgKz0gInBlcmwtbW9kdWxlLXBvc2l4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBpbmcgKz0gInBlcmwtbW9kdWxlLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1waW5nICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtcGluZyArPSAicGVybC1tb2R1bGUtdGltZS1oaXJlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1wb3AzICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtcG9wMyArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0LWlwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBvcDMgKz0gInBlcmwtbW9kdWxlLW1pbWUtYmFzZTY0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBvcDMgKz0gInBlcmwtbW9kdWxlLW5ldC1jbWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtcG9wMyArPSAicGVybC1tb2R1bGUtbmV0LWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1wb3AzICs9ICJwZXJsLW1vZHVsZS1uZXQtbmV0cmMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtcG9wMyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBvcDMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXByb3RvZW50ICs9ICJwZXJsLW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtcHJvdG9lbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXByb3RvZW50ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtc2VydmVudCArPSAicGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXNlcnZlbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXNlcnZlbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1zbXRwICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtc210cCArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0LWlwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXNtdHAgKz0gInBlcmwtbW9kdWxlLW1pbWUtYmFzZTY0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXNtdHAgKz0gInBlcmwtbW9kdWxlLW5ldC1jbWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtc210cCArPSAicGVybC1tb2R1bGUtbmV0LWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1zbXRwICs9ICJwZXJsLW1vZHVsZS1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtc210cCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXNtdHAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXRpbWUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXRpbWUgKz0gInBlcmwtbW9kdWxlLWlvLXNlbGVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC10aW1lICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtdGltZSArPSAicGVybC1tb2R1bGUtbmV0LWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC10aW1lICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtdGltZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXh0ICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5leHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5leHQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb2sgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW9rICs9ICJwZXJsLW1vZHVsZS10ZXN0LW1vcmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1vcGNvZGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb3Bjb2RlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1vcGNvZGUgKz0gInBlcmwtbW9kdWxlLXN1YnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1vcGNvZGUgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb3BlbiArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb3BlbiArPSAicGVybC1tb2R1bGUtZW5jb2RpbmciCitSREVQRU5EU19wZXJsLW1vZHVsZS1vcGVuICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW8gKz0gInBlcmwtbW9kdWxlLWIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1vcHMgKz0gInBlcmwtbW9kdWxlLW9wY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW92ZXJsb2FkaW5nICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZC1udW1iZXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb3ZlcmxvYWRpbmcgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb3ZlcmxvYWQgKz0gInBlcmwtbW9kdWxlLW1ybyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW92ZXJsb2FkICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBhcmFtcy1jaGVjayArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wYXJhbXMtY2hlY2sgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wYXJhbXMtY2hlY2sgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBhcmFtcy1jaGVjayArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBhcmVudCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGFyZW50ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGVybGZhcSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGVybGZhcSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wZXJsaW8tZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBlcmxpby1lbmNvZGluZyArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wZXJsaW8tbW1hcCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGVybGlvLW1tYXAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGVybGlvLW1tYXAgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGVybGlvLXNjYWxhciArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wZXJsaW8tdmlhICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBlcmxpby12aWEtcXVvdGVkcHJpbnQgKz0gInBlcmwtbW9kdWxlLW1pbWUtcXVvdGVkcHJpbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wZXJsaW8tdmlhLXF1b3RlZHByaW50ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtY2hlY2tlciArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1jaGVja2VyICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1jaGVja2VyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtY2hlY2tlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZXNjYXBlcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZXNjYXBlcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLWVzY2FwZXMgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZXNjYXBlcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZmluZCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLWZpbmQgKz0gInBlcmwtbW9kdWxlLWN3ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1maW5kICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1maW5kICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZmluZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLWZpbmQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZnVuY3Rpb25zICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1mdW5jdGlvbnMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1pbnB1dG9iamVjdHMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1pbnB1dG9iamVjdHMgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtbWFuICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLW1hbiArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1tYW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1tYW4gKz0gInBlcmwtbW9kdWxlLXN1YnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtbWFuICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLW1hbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGFyc2VsaW5rICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wYXJzZWxpbmsgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wYXJzZWxpbmsgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGFyc2VsaW5rICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBhcnNlciArPSAicGVybC1tb2R1bGUtcG9kLWlucHV0b2JqZWN0cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGFyc2V1dGlscyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBhcnNldXRpbHMgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy1iYXNldG8gKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLWJhc2V0byArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtYmFzZXRvICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtYmFzZXRvICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLWdldG9wdHNvbyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtZ2V0b3B0c29vICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYyArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYyArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jICs9ICJwZXJsLW1vZHVsZS1maWxlLXRlbXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYyArPSAicGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtZ2V0b3B0c29vIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jICs9ICJwZXJsLW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYyArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvYW5zaSArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9hbnNpICs9ICJwZXJsLW1vZHVsZS1wb2QtdGV4dC1jb2xvciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvYW5zaSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9hbnNpICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9hbnNpICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvY2hlY2tlciArPSAicGVybC1tb2R1bGUtcG9kLWNoZWNrZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b2NoZWNrZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvY2hlY2tlciArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvY2hlY2tlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b21hbiArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvbWFuICs9ICJwZXJsLW1vZHVsZS1pby1zZWxlY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b21hbiArPSAicGVybC1tb2R1bGUtaXBjLW9wZW4zIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvbWFuICs9ICJwZXJsLW1vZHVsZS1wb2QtbWFuIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gInBlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvcG9kIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvbWFuICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9ucm9mZiArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9ucm9mZiArPSAicGVybC1tb2R1bGUtcG9kLW1hbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvbnJvZmYgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvbnJvZmYgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b25yb2ZmICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvcG9kICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3BvZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9wb2QgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3BvZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3J0ZiArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9ydGYgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvcnRmICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9ydGYgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG90ZXJtICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3Rlcm0gKz0gInBlcmwtbW9kdWxlLXBvZC10ZXh0LXRlcm1jYXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3Rlcm0gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGVybSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGVybSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3RleHQgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGV4dCArPSAicGVybC1tb2R1bGUtcG9kLXRleHQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3RleHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGV4dCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGV4dCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3htbCArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG94bWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRveG1sICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG94bWwgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBsYWludGV4dCArPSAicGVybC1tb2R1bGUtcG9kLXNlbGVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wbGFpbnRleHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wbGFpbnRleHQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2VsZWN0ICs9ICJwZXJsLW1vZHVsZS1wb2QtcGFyc2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNlbGVjdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNlbGVjdCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtYmxhY2tib3ggKz0gInBlcmwtbW9kdWxlLWludGVnZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWJsYWNrYm94ICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1ibGFja2JveCArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWJsYWNrYm94ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWJsYWNrYm94ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1jaGVja2VyICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1jaGVja2VyICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLW1ldGhvZHkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWNoZWNrZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtY2hlY2tlciArPSAicGVybC1tb2R1bGUtdGV4dC13cmFwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1jaGVja2VyICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1kZWJ1ZyArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtZGVidWcgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtZGVidWcgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWR1bXBhc3RleHQgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWR1bXBhc3RleHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtZHVtcGFzeG1sICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1kdW1wYXN4bWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtZHVtcGFzeG1sICs9ICJwZXJsLW1vZHVsZS10ZXh0LXdyYXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWxpbmtzZWN0aW9uICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtbGlua3NlY3Rpb24gKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUtYmxhY2tib3giCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWxpbmtzZWN0aW9uICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWxpbmtzZWN0aW9uICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1tZXRob2R5ICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1tZXRob2R5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLW1ldGhvZHkgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlICs9ICJwZXJsLW1vZHVsZS1pbnRlZ2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZSArPSAicGVybC1tb2R1bGUtcG9kLWVzY2FwZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWJsYWNrYm94IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZSArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZS1saW5rc2VjdGlvbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUtdGllZG91dGZoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHJvZ3Jlc3MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcmVuZHRva2VuICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJ0b2tlbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcmVuZHRva2VuICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJlbmR0b2tlbiArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VyZW5kdG9rZW4iCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXIgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcnN0YXJ0dG9rZW4iCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXIgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcnRleHR0b2tlbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2Vyc3RhcnR0b2tlbiArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydG9rZW4iCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJzdGFydHRva2VuICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJzdGFydHRva2VuICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydGV4dHRva2VuICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJ0b2tlbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcnRleHR0b2tlbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydGV4dHRva2VuICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydG9rZW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcnRmICs9ICJwZXJsLW1vZHVsZS1pbnRlZ2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1ydGYgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcnRmICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXJ0ZiArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtc2VhcmNoICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXNlYXJjaCArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1zZWFyY2ggKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXNlYXJjaCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1zZWFyY2ggKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXNpbXBsZXRyZWUgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXNpbXBsZXRyZWUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtc2ltcGxldHJlZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtdGV4dGNvbnRlbnQgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRleHRjb250ZW50ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRleHRjb250ZW50ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10ZXh0ICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10ZXh0ICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLW1ldGhvZHkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRleHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtdGV4dCArPSAicGVybC1tb2R1bGUtdGV4dC13cmFwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10ZXh0ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10aWVkb3V0ZmggKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtdGllZG91dGZoICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGVkdW1iICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZWR1bWIgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGUgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZXNtYXJ0ICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZXNtYXJ0ICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGVzbWFydCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGVzbWFydCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUteG1sb3V0c3RyZWFtICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS14bWxvdXRzdHJlYW0gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUteG1sb3V0c3RyZWFtICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtY29sb3IgKz0gInBlcmwtbW9kdWxlLXBvZC10ZXh0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtY29sb3IgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC10ZXh0LWNvbG9yICs9ICJwZXJsLW1vZHVsZS10ZXJtLWFuc2ljb2xvciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC10ZXh0LWNvbG9yICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtY29sb3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtb3ZlcnN0cmlrZSArPSAicGVybC1tb2R1bGUtcG9kLXRleHQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dC1vdmVyc3RyaWtlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dC1vdmVyc3RyaWtlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtb3ZlcnN0cmlrZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dCArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dC10ZXJtY2FwICs9ICJwZXJsLW1vZHVsZS1wb2QtdGV4dCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC10ZXh0LXRlcm1jYXAgKz0gInBlcmwtbW9kdWxlLXBvc2l4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtdGVybWNhcCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtdGVybWNhcCArPSAicGVybC1tb2R1bGUtdGVybS1jYXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dC10ZXJtY2FwICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtdGVybWNhcCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdXNhZ2UgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC11c2FnZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdXNhZ2UgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC11c2FnZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvc2l4ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvc2l4ICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvc2l4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb3NpeCArPSAicGVybC1tb2R1bGUtdGllLWhhc2giCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb3NpeCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb3NpeCArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1yZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1yZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcmUgKz0gInBlcmwtbW9kdWxlLXRlcm0tY2FwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcmUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcmUgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc2FmZSArPSAicGVybC1tb2R1bGUtYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNhZmUgKz0gInBlcmwtbW9kdWxlLW9wY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNhZmUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNhZmUgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zZGJtLWZpbGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc2RibS1maWxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zZGJtLWZpbGUgKz0gInBlcmwtbW9kdWxlLXRpZS1oYXNoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc2RibS1maWxlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNkYm0tZmlsZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zZWFyY2gtZGljdCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zZWFyY2gtZGljdCArPSAicGVybC1tb2R1bGUtZmVhdHVyZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNlYXJjaC1kaWN0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zZWxmbG9hZGVyICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNlbGZsb2FkZXIgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNlbGZsb2FkZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNvY2tldCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zb2NrZXQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNvY2tldCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zb2NrZXQgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc29ydCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3RvcmFibGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3RvcmFibGUgKz0gInBlcmwtbW9kdWxlLWlvLWZpbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zdG9yYWJsZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zdWItdXRpbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zdWItdXRpbCArPSAicGVybC1tb2R1bGUtbGlzdC11dGlsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3ViLXV0aWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN1Yi11dGlsICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN5cy1ob3N0bmFtZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtaG9zdG5hbWUgKz0gInBlcmwtbW9kdWxlLXBvc2l4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLWhvc3RuYW1lICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtaG9zdG5hbWUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLWhvc3RuYW1lICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN5cy1zeXNsb2cgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN5cy1zeXNsb2cgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLXN5c2xvZyArPSAicGVybC1tb2R1bGUtZHluYWxvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN5cy1zeXNsb2cgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLXN5c2xvZyArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLXN5c2xvZyArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS1zeXMtaG9zdG5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLXN5c2xvZyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN5cy1zeXNsb2cgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWJhc2UgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtYmFzZSArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtYmFzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWJhc2UgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItYmFzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbG9yIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29sb3IgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbG9yICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29sb3IgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29sb3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXBhcmFsbGVsc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29uc29sZS1wYXJhbGxlbHNlc3Npb24gKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXBhcmFsbGVsc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtZmlsZS1wYXRoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXBhcmFsbGVsc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXBhcmFsbGVsc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUgKz0gInBlcmwtbW9kdWxlLXBvc2l4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXNlc3Npb24gKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUtc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXNlc3Npb24gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1maWxlICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1maWxlICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1maWxlICs9ICJwZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWZpbGUtc2Vzc2lvbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWZpbGUtc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZS1zZXNzaW9uICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWZpbGUtc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLXNlc3Npb24gKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLXNlc3Npb24gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtaGFybmVzcy1lbnYgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWhhcm5lc3MtZW52ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtaGFybmVzcy1lbnYgKz0gInBlcmwtbW9kdWxlLXRhcC1vYmplY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtaGFybmVzcy1lbnYgKz0gInBlcmwtbW9kdWxlLXRleHQtcGFyc2V3b3JkcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1oYXJuZXNzLWVudiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtaGFybmVzcyArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS1maWxlLXBhdGgiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtaGFybmVzcyArPSAicGVybC1tb2R1bGUtaW8taGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWhhcm5lc3MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1vYmplY3QgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1vYmplY3QgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1hZ2dyZWdhdG9yICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1hZ2dyZWdhdG9yICs9ICJwZXJsLW1vZHVsZS1iZW5jaG1hcmsiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWFnZ3JlZ2F0b3IgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItYWdncmVnYXRvciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWdyYW1tYXIgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWdyYW1tYXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItZ3JhbW1hciArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1ncmFtbWFyICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtcmVhZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1ncmFtbWFyICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItYXJyYXkgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLWFycmF5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLWFycmF5ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3JmYWN0b3J5ICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvciArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3IgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLXByb2Nlc3MgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItcHJvY2VzcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3Itc3RyZWFtICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1zdHJlYW0gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3Itc3RyZWFtICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItbXVsdGlwbGV4ZXIgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLW11bHRpcGxleGVyICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItbXVsdGlwbGV4ZXIgKz0gInBlcmwtbW9kdWxlLWlvLXNlbGVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItbXVsdGlwbGV4ZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItbXVsdGlwbGV4ZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlciArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItZ3JhbW1hciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3IiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlciArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlciArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZXhlY3V0YWJsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1maWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlciArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1wZXJsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlciArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXJhd3RhcCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtYmFpbG91dCArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWJhaWxvdXQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWJhaWxvdXQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtY29tbWVudCArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWNvbW1lbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWNvbW1lbnQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5ICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWJhaWxvdXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWNvbW1lbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXBsYW4iCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXByYWdtYSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdGVzdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdW5rbm93biIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdmVyc2lvbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQteWFtbCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdCArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wbGFuICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtcGxhbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtcGxhbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wcmFnbWEgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wcmFnbWEgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXByYWdtYSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC10ZXN0ICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdGVzdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdGVzdCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC11bmtub3duICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdW5rbm93biArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdW5rbm93biArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC12ZXJzaW9uICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdmVyc2lvbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdmVyc2lvbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC15YW1sICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQteWFtbCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQteWFtbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlci1qb2IgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc2NoZWR1bGVyLWpvYiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItc2NoZWR1bGVyLWpvYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc2NoZWR1bGVyICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlci1zcGlubmVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXItc3Bpbm5lciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXItc3Bpbm5lciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZXhlY3V0YWJsZSArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1leGVjdXRhYmxlICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1leGVjdXRhYmxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZXhlY3V0YWJsZSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZXhlY3V0YWJsZSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWV4ZWN1dGFibGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWZpbGUgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZmlsZSArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZmlsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWZpbGUgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3JmYWN0b3J5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWZpbGUgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3Itc3RyZWFtIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWZpbGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWhhbmRsZSArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1oYW5kbGUgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWhhbmRsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWhhbmRsZSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItaGFuZGxlICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLXN0cmVhbSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1oYW5kbGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3IiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1wZXJsICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1wZXJsICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLXByb2Nlc3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCArPSAicGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXJhd3RhcCArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1yYXd0YXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1yYXd0YXAgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItYXJyYXkiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcmF3dGFwICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1yYXd0YXAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2UgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZSArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZSArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtcmVhZGVyICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXJlYWRlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXJlYWRlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtd3JpdGVyICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXdyaXRlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXdyaXRlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXJtLWFuc2ljb2xvciArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXJtLWFuc2ljb2xvciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVybS1hbnNpY29sb3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVybS1jYXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlcm0tY2FwICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVybS1jb21wbGV0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXJtLWNvbXBsZXRlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXJtLXJlYWRsaW5lICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXJtLXJlYWRsaW5lICs9ICJwZXJsLW1vZHVsZS10ZXJtLWNhcCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtYnVpbGRlci1mb3JtYXR0ZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtYnVpbGRlci1mb3JtYXR0ZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLW1vZHVsZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItbW9kdWxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItbW9kdWxlICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXIgKz0gInBlcmwtbW9kdWxlLWRhdGEtZHVtcGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtYnVpbGRlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItZm9ybWF0dGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItdG9kb2RpYWciCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3Rlci1jb2xvciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3Rlci1jb2xvciArPSAicGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtYnVpbGRlci10ZXN0ZXIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3RlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3RlciArPSAicGVybC1tb2R1bGUtdGVzdC1idWlsZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRvZG9kaWFnICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItdG9kb2RpYWcgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWhhcm5lc3MgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWhhcm5lc3MgKz0gInBlcmwtbW9kdWxlLXRhcC1oYXJuZXNzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWFnZ3JlZ2F0b3IiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWhhcm5lc3MgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtaGFybmVzcyArPSAicGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtbW9yZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1tb3JlICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItbW9kdWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1tb3JlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdCArPSAicGVybC1tb2R1bGUtZmlsZS10ZW1wIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1zaW1wbGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3Qtc2ltcGxlICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItbW9kdWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZSArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZSArPSAicGVybC1tb2R1bGUtdGVzdC1idWlsZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZSArPSAicGVybC1tb2R1bGUtdGhyZWFkcy1zaGFyZWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LXRlc3Rlci1jYXB0dXJlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZXJ1bm5lciArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LXRlc3Rlci1jYXB0dXJlcnVubmVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LXRlc3Rlci1jYXB0dXJlcnVubmVyICs9ICJwZXJsLW1vZHVsZS10ZXN0LXRlc3Rlci1jYXB0dXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItZGVsZWdhdGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtdGVzdGVyLWRlbGVnYXRlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItZGVsZWdhdGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtdGVzdGVyICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LXRlc3RlciArPSAicGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZXJ1bm5lciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtdGVzdGVyICs9ICJwZXJsLW1vZHVsZS10ZXN0LXRlc3Rlci1kZWxlZ2F0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtdGVzdGVyICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC1hYmJyZXYgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC1iYWxhbmNlZCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXh0LWJhbGFuY2VkICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRleHQtYmFsYW5jZWQgKz0gInBlcmwtbW9kdWxlLXNlbGZsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXh0LWJhbGFuY2VkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXh0LWJhbGFuY2VkICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRleHQtcGFyc2V3b3JkcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC10YWJzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRleHQtdGFicyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC10YWJzICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC13cmFwICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRleHQtd3JhcCArPSAicGVybC1tb2R1bGUtcmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXh0LXdyYXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRleHQtd3JhcCArPSAicGVybC1tb2R1bGUtdGV4dC10YWJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC13cmFwICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC13cmFwICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkICs9ICJwZXJsLW1vZHVsZS10aHJlYWRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkICs9ICJwZXJsLW1vZHVsZS10aHJlYWRzLXNoYXJlZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWQtcXVldWUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZC1xdWV1ZSArPSAicGVybC1tb2R1bGUtdGhyZWFkcy1zaGFyZWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWQtcXVldWUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkLXNlbWFwaG9yZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkLXNlbWFwaG9yZSArPSAicGVybC1tb2R1bGUtdGhyZWFkcy1zaGFyZWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWQtc2VtYXBob3JlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZHMgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZHMgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWRzICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZHMtc2hhcmVkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWRzLXNoYXJlZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWRzLXNoYXJlZCArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtYXJyYXkgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1maWxlICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1maWxlICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1maWxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtaGFuZGxlICs9ICJwZXJsLW1vZHVsZS10aWUtc3RkaGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGllLWhhbmRsZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtaGFzaC1uYW1lZGNhcHR1cmUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1oYXNoLW5hbWVkY2FwdHVyZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtaGFzaCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtbWVtb2l6ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGllLW1lbW9pemUgKz0gInBlcmwtbW9kdWxlLXRpZS1oYXNoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGllLXJlZmhhc2ggKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1yZWZoYXNoICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1yZWZoYXNoICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtcmVmaGFzaCArPSAicGVybC1tb2R1bGUtdGllLWhhc2giCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtcmVmaGFzaCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1zY2FsYXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGllLXN0ZGhhbmRsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGllLXN0ZGhhbmRsZSArPSAicGVybC1tb2R1bGUtdGllLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1zdWJzdHJoYXNoICs9ICJwZXJsLW1vZHVsZS1pbnRlZ2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1nbXRpbWUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1nbXRpbWUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtZ210aW1lICs9ICJwZXJsLW1vZHVsZS10aW1lLXRtIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1oaXJlcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWhpcmVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWhpcmVzICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtbG9jYWwgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtbG9jYWwgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1sb2NhbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWxvY2FsICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWxvY2FsICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWxvY2FsdGltZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWxvY2FsdGltZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1sb2NhbHRpbWUgKz0gInBlcmwtbW9kdWxlLXRpbWUtdG0iCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLXBpZWNlICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtcGllY2UgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1waWVjZSArPSAicGVybC1tb2R1bGUtaW50ZWdlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtcGllY2UgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1waWVjZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1waWVjZSArPSAicGVybC1tb2R1bGUtdGltZS1sb2NhbCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtcGllY2UgKz0gInBlcmwtbW9kdWxlLXRpbWUtc2Vjb25kcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtcGllY2UgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1zZWNvbmRzICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtc2Vjb25kcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLXNlY29uZHMgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1zZWNvbmRzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLXRtICs9ICJwZXJsLW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLXRtICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLWJpZzUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstYmlnNSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLWdiMjMxMiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1nYjIzMTIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1qaXN4MDIwOCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1qaXN4MDIwOCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLWtvcmVhbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1rb3JlYW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1waW55aW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstcGlueWluICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstc3Ryb2tlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLXN0cm9rZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLXpodXlpbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay16aHV5aW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWxvY2FsZSArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1sb2NhbGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1sb2NhbGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLW5vcm1hbGl6ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLW5vcm1hbGl6ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1ub3JtYWxpemUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1ub3JtYWxpemUgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS11Y2QgKz0gInBlcmwtbW9kdWxlLWNoYXJuYW1lcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtdWNkICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtdWNkICs9ICJwZXJsLW1vZHVsZS1mZWF0dXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS11Y2QgKz0gInBlcmwtbW9kdWxlLWlmIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS11Y2QgKz0gInBlcmwtbW9kdWxlLWludGVnZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLXVjZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS11Y2QgKz0gInBlcmwtbW9kdWxlLXVuaWNvZGUtbm9ybWFsaXplIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS11Y2QgKz0gInBlcmwtbW9kdWxlLXV0ZjgtaGVhdnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLXVjZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS11c2VyLWdyZW50ICs9ICJwZXJsLW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS11c2VyLWdyZW50ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVzZXItZ3JlbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVzZXItcHdlbnQgKz0gInBlcmwtbW9kdWxlLWNsYXNzLXN0cnVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVzZXItcHdlbnQgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVzZXItcHdlbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdXNlci1wd2VudCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdXNlci1wd2VudCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS11dGY4ICs9ICJwZXJsLW1vZHVsZS11dGY4LWhlYXZ5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdmVyc2lvbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdmVyc2lvbiArPSAicGVybC1tb2R1bGUtdmVyc2lvbi1yZWdleCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXZlcnNpb24gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdmVyc2lvbi1yZWdleCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUteHNsb2FkZXIgKz0gInBlcmwtbW9kdWxlLWR5bmFsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hbnlkYm0tZmlsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYW55ZGJtLWZpbGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS1jcGFuIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLWN3ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS1kYXRhLWR1bXBlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLWZpbGUtZmluZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS1nZXRvcHQtc3RkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLWlmIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLW5ldC1waW5nIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS11c2VyLXB3ZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtY3BhbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUgKz0gInBlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZSArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZSArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUgKz0gInBlcmwtbW9kdWxlLWdldG9wdC1sb25nIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLXByb3ZlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUgKz0gInBlcmwtbW9kdWxlLXRhcC1oYXJuZXNzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLXByb3ZlICs9ICJwZXJsLW1vZHVsZS10YXAtaGFybmVzcy1lbnYiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUgKz0gInBlcmwtbW9kdWxlLXRleHQtcGFyc2V3b3JkcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gInBlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZS1yZXN1bHQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXJlYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXdyaXRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUtcmVzdWx0ICs9ICJwZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUtcmVzdWx0LXRlc3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUtcmVzdWx0ICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZS1yZXN1bHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZS1yZXN1bHQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlLXJlc3VsdC10ZXN0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUtcmVzdWx0LXRlc3QgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJ6aXAyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyLWNvbnN0YW50ICs9ICJwZXJsLW1vZHVsZS10aW1lLWxvY2FsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItZmlsZSArPSAicGVybC1tb2R1bGUtYXJjaGl2ZS10YXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhci1maWxlICs9ICJwZXJsLW1vZHVsZS1hcmNoaXZlLXRhci1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyLWZpbGUgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhci1maWxlICs9ICJwZXJsLW1vZHVsZS1pby1maWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItZmlsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItZmlsZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyICs9ICJwZXJsLW1vZHVsZS1hcmNoaXZlLXRhci1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyICs9ICJwZXJsLW1vZHVsZS1hcmNoaXZlLXRhci1maWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXIgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhciArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhciArPSAicGVybC1tb2R1bGUtZmlsZS1wYXRoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXIgKz0gInBlcmwtbW9kdWxlLWlvLWZpbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhciArPSAicGVybC1tb2R1bGUtaW8temxpYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhciArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyeWJhc2UgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXR0cmlidXRlLWhhbmRsZXJzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdHRyaWJ1dGUtaGFuZGxlcnMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXR0cmlidXRlcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdHRyaWJ1dGVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdHRyaWJ1dGVzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF0dHJpYnV0ZXMgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gInBlcmwtbW9kdWxlLWZhdGFsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gInBlcmwtbW9kdWxlLWZjbnRsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtZXhjZXB0aW9uICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtZXhjZXB0aW9uLXN5c3RlbSArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24tc3lzdGVtICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLWV4Y2VwdGlvbi1zeXN0ZW0gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1oaW50cyArPSAicGVybC1tb2R1bGUtYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtaGludHMgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1oaW50cyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1oaW50cyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUgKz0gInBlcmwtbW9kdWxlLWxpYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1zY29wZS1ndWFyZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1zY29wZS1ndWFyZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLXNjb3BlLWd1YXJkc3RhY2sgKz0gInBlcmwtbW9kdWxlLWF1dG9kaWUtc2NvcGUtZ3VhcmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLXNjb3BlLWd1YXJkc3RhY2sgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtc2NvcGUtZ3VhcmRzdGFjayArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLXNraXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtc2tpcCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLXV0aWwgKz0gInBlcmwtbW9kdWxlLWF1dG9kaWUtc2NvcGUtZ3VhcmRzdGFjayIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtdXRpbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLXV0aWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtdXRpbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvbG9hZGVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvc3BsaXQgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9zcGxpdCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvc3BsaXQgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvc3BsaXQgKz0gInBlcmwtbW9kdWxlLWZpbGUtcGF0aCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9zcGxpdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmFzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1jb25jaXNlICs9ICJwZXJsLW1vZHVsZS1iIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1jb25jaXNlICs9ICJwZXJsLW1vZHVsZS1iLW9wLXByaXZhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLWNvbmNpc2UgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWItY29uY2lzZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLWNvbmNpc2UgKz0gInBlcmwtbW9kdWxlLWZlYXR1cmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLWNvbmNpc2UgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWItY29uY2lzZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLWRlYnVnICs9ICJwZXJsLW1vZHVsZS1iIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1kZWJ1ZyArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1kZWJ1ZyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmVuY2htYXJrICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJlbmNobWFyayArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmlnaW50ICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ2ludCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnaW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmlnaW50ICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC10cmFjZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ2ludCArPSAicGVybC1tb2R1bGUtb3ZlcmxvYWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ2ludCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdudW0gKz0gInBlcmwtbW9kdWxlLWJpZ2ludCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ251bSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdudW0gKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdudW0gKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQtdHJhY2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdudW0gKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnaW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmlnbnVtICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC10cmFjZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ251bSArPSAicGVybC1tb2R1bGUtb3ZlcmxvYWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdudW0gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ251bSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdyYXQgKz0gInBlcmwtbW9kdWxlLWJpZ2ludCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ3JhdCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdyYXQgKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdyYXQgKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnaW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmlncmF0ICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC10cmFjZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ3JhdCArPSAicGVybC1tb2R1bGUtbWF0aC1iaWdyYXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdyYXQgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmlncmF0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdyYXQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmxpYiArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWItc2hvd2xleCArPSAicGVybC1tb2R1bGUtYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWItc2hvd2xleCArPSAicGVybC1tb2R1bGUtYi1jb25jaXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1zaG93bGV4ICs9ICJwZXJsLW1vZHVsZS1iLXRlcnNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1zaG93bGV4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLXRlcnNlICs9ICJwZXJsLW1vZHVsZS1iIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi10ZXJzZSArPSAicGVybC1tb2R1bGUtYi1jb25jaXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi10ZXJzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi14cmVmICs9ICJwZXJsLW1vZHVsZS1iIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi14cmVmICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLXhyZWYgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJ5dGVzICs9ICJwZXJsLW1vZHVsZS1ieXRlcy1oZWF2eSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLS1jaGFybmFtZXMgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY2hhcm5hbWVzICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNoYXJuYW1lcyArPSAicGVybC1tb2R1bGUtLWNoYXJuYW1lcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLS1jaGFybmFtZXMgKz0gInBlcmwtbW9kdWxlLXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY2hhcm5hbWVzICs9ICJwZXJsLW1vZHVsZS1yZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLS1jaGFybmFtZXMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNoYXJuYW1lcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtLWNoYXJuYW1lcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jaGFybmFtZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNsYXNzLXN0cnVjdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiArPSAicGVybC1tb2R1bGUtYnl0ZXMgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LWJ6aXAyICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiArPSAicGVybC1tb2R1bGUtZHluYWxvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctYnppcDIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctYnppcDIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiArPSAicGVybC1tb2R1bGUtYnl0ZXMgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIgKz0gInBlcmwtbW9kdWxlLWR5bmFsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiArPSAicGVybC1tb2R1bGUtc3RyaWN0ICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy16bGliICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS1ieXRlcyAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29tcHJlc3MtemxpYiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWd1bnppcCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb25maWctZXh0ZW5zaW9ucyArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uZmlnLWV4dGVuc2lvbnMgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uZmlnLWV4dGVuc2lvbnMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbmZpZyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uZmlnICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbmZpZy1wZXJsLXYgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbmZpZy1wZXJsLXYgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uZmlnLXBlcmwtdiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uZmlnLXBlcmwtdiArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbmZpZy1wZXJsLXYgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbnN0YW50ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvcmVsaXN0ICs9ICJwZXJsLW1vZHVsZS1saXN0LXV0aWwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb3JlbGlzdCArPSAicGVybC1tb2R1bGUtY29yZWxpc3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb3JlbGlzdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29yZWxpc3QgKz0gInBlcmwtbW9kdWxlLXZlcnNpb24iCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb3JlbGlzdCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1iIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtZGF0YS1kdW1wZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1kaXJoYW5kbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1lcnJubyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1maWxlLWNvcHkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1maWxlaGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtZmlsZS1wYXRoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtbGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtbmV0LXBpbmciCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLXBvc2l4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtc2FmZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLXN5cy1ob3N0bmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLXRlcm0tcmVhZGxpbmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS10ZXh0LXdyYXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS10aW1lLWxvY2FsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3dkICs9ICJwZXJsLW1vZHVsZS1lcnJubyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWN3ZCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jd2QgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWN3ZCArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kYXRhLWR1bXBlciArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci1jb21wcmVzcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci1jb21wcmVzcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kYm0tZmlsdGVyLWVuY29kZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci1pbnQzMiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci1pbnQzMiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kYm0tZmlsdGVyLW51bGwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRibS1maWx0ZXItbnVsbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kYm0tZmlsdGVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kYm0tZmlsdGVyICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRibS1maWx0ZXItdXRmOCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci11dGY4ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRiICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kZXByZWNhdGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRlcHJlY2F0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kZXZlbC1wZWVrICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRldmVsLXBlZWsgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGV2ZWwtcHBwb3J0ICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kZXZlbC1wcHBvcnQgKz0gInBlcmwtbW9kdWxlLWdldG9wdC1sb25nIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGV2ZWwtcHBwb3J0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kZXZlbC1wcHBvcnQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kZXZlbC1zZWxmc3R1YmJlciArPSAicGVybC1tb2R1bGUtc2VsZmxvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpYWdub3N0aWNzICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWFnbm9zdGljcyArPSAicGVybC1tb2R1bGUtZ2V0b3B0LXN0ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpYWdub3N0aWNzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWFnbm9zdGljcyArPSAicGVybC1tb2R1bGUtdGV4dC10YWJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LWJhc2UgKz0gInBlcmwtbW9kdWxlLW1pbWUtYmFzZTY0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LWJhc2UgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1iYXNlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LWZpbGUgKz0gInBlcmwtbW9kdWxlLWRpZ2VzdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1maWxlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1maWxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWdlc3QtZmlsZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1tZDUgKz0gInBlcmwtbW9kdWxlLWRpZ2VzdC1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LW1kNSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWdlc3QtbWQ1ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWdlc3QtbWQ1ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LW1kNSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWdlc3QgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1zaGEgKz0gInBlcmwtbW9kdWxlLWRpZ2VzdC1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LXNoYSArPSAicGVybC1tb2R1bGUtZHluYWxvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1zaGEgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LXNoYSArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWdlc3Qtc2hhICs9ICJwZXJsLW1vZHVsZS1pbnRlZ2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LXNoYSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LXNoYSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1zaGEgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LXNoYSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1keW5hbG9hZGVyICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtYWxpYXMgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWFsaWFzICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtYWxpYXMgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWFsaWFzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtYWxpYXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWJ5dGUgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1ieXRlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtYnl0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtYnl0ZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtY2prY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1jamtjb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1jamtjb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNuLWh6ICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtY24taHogKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1jbi1oeiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNuLWh6ICs9ICJwZXJsLW1vZHVsZS11dGY4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNuLWh6ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNuLWh6ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1jbiArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNuICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUtY24taHoiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtY24gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1jbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtY24gKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNvbmZpZyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNvbmZpZyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZWJjZGljICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZWJjZGljICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZWJjZGljICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1lYmNkaWMgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWVuY29kZXIgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWVuY29kZXIgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1lbmNvZGVyICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1lbmNvZGVyICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1lbmNvZGVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZW5jb2RlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWVuY29kaW5nICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1taW1lLW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1lbmNvZGluZyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZ3NtMDMzOCArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWdzbTAzMzggKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1nc20wMzM4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZ3NtMDMzOCArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1nc20wMzM4ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWdzbTAzMzggKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWd1ZXNzICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1ndWVzcyArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZ3Vlc3MgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1ndWVzcyArPSAicGVybC1tb2R1bGUtZW5jb2RlLXVuaWNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZ3Vlc3MgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1ndWVzcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWd1ZXNzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1qcC1oMnogKz0gInBlcmwtbW9kdWxlLWVuY29kZS1jamtjb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtaDJ6ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtaDJ6ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwLWgyeiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtamlzNyArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtamlzNyArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwLWppczcgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1jamtjb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtamlzNyArPSAicGVybC1tb2R1bGUtZW5jb2RlLWpwLWgyeiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1qcC1qaXM3ICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtamlzNyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwLWppczcgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1qcC1qaXM3IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1rci0yMDIyLWtyICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUta3ItMjAyMi1rciArPSAicGVybC1tb2R1bGUtZW5jb2RlLWNqa2NvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1rci0yMDIyLWtyICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUta3ItMjAyMi1rciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWtyLTIwMjIta3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWtyICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUta3IgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1rci0yMDIyLWtyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWtyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUta3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWtyICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlci1pc28tMjAyMi1qcCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtbWltZS1oZWFkZXItaXNvLTIwMjItanAgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1jamtjb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtbWltZS1oZWFkZXItaXNvLTIwMjItanAgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlci1pc28tMjAyMi1qcCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyLWlzby0yMDIyLWpwICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlciArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyICs9ICJwZXJsLW1vZHVsZS1taW1lLWJhc2U2NCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlciArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtbWltZS1oZWFkZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLW1pbWUtbmFtZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLW1pbWUtbmFtZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZSArPSAicGVybC1tb2R1bGUtZW5jb2RlLWFsaWFzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUtY29uZmlnbG9jYWwtcG0iCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1taW1lLW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLXN0b3JhYmxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1zeW1ib2wgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1zeW1ib2wgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1zeW1ib2wgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLXN5bWJvbCArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdHcgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS10dyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLXR3ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS10dyArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdW5pY29kZSArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLXVuaWNvZGUgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS11bmljb2RlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdW5pY29kZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdW5pY29kZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdW5pY29kZS11dGY3ICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdW5pY29kZS11dGY3ICs9ICJwZXJsLW1vZHVsZS1taW1lLWJhc2U2NCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS11bmljb2RlLXV0ZjcgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS11bmljb2RlLXV0ZjcgKz0gInBlcmwtbW9kdWxlLXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLXVuaWNvZGUtdXRmNyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLXVuaWNvZGUtdXRmNyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGluZyArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kaW5nICs9ICJwZXJsLW1vZHVsZS1maWx0ZXItdXRpbC1jYWxsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLWkxOG4tbGFuZ2luZm8iCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGluZyArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGluZyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGluZyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGluZy13YXJuaW5ncyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2Rpbmctd2FybmluZ3MgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5nbGlzaCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbnYgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVudiArPSAicGVybC1tb2R1bGUtdGllLWFycmF5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXJybm8gKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXJybm8gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4cGVyaW1lbnRhbCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXhwZXJpbWVudGFsICs9ICJwZXJsLW1vZHVsZS12ZXJzaW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXhwZXJpbWVudGFsICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4cG9ydGVyLWhlYXZ5ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4cG9ydGVyLWhlYXZ5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHBvcnRlciArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXItaGVhdnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1keW5hbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWtzeW1saXN0cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1maWxlLXRlbXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1pcGMtY21kIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAicGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlciArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyICs9ICJwZXJsLW1vZHVsZS1maWxlLXBhdGgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tYWl4ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tYWl4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1haXggKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tYW5kcm9pZCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tYW5kcm9pZCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWFuZHJvaWQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWFuZHJvaWQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tY3lnd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tY3lnd2luICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1jeWd3aW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tZGFyd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tZGFyd2luICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1kYXJ3aW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tZGVjLW9zZiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWRlYy1vc2YgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWRlYy1vc2YgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tb3MyICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tb3MyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1vczIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXVuaXggKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXVuaXggKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdm1zICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS12bXMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS12bXMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXZtcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS13aW5kb3dzLWJjYyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cy1iY2MgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cy1nY2MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MtZ2NjICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MtbXN2YyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cy1tc3ZjICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS13aW5kb3dzICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cyArPSAicGVybC1tb2R1bGUtaW8tZmlsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb21tYW5kLW1tICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jb21tYW5kIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQtbW0gKz0gInBlcmwtbW9kdWxlLWdldG9wdC1sb25nIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAicGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb21tYW5kICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gInBlcmwtbW9kdWxlLWZpbGUtY29weSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gInBlcmwtbW9kdWxlLWZpbGUtZmluZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gInBlcmwtbW9kdWxlLWZpbGUtcGF0aCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1iYXNlICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LWJhc2UgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXV0aWxzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtYmFzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtYmFzZSArPSAicGVybC1tb2R1bGUtdGV4dC13cmFwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtYmFzZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1wcm94eXN1YnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtdXRpbHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQteHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAicGVybC1tb2R1bGUtZmlsZWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXByb3h5c3VicyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtdXRpbHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1wcm94eXN1YnMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXhzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtcHJveHlzdWJzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1wcm94eXN1YnMgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC11dGlscyArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC11dGlscyArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC11dGlscyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtdXRpbHMgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC14cyArPSAicGVybC1tb2R1bGUtZGF0YS1kdW1wZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC14cyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC14cyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXhzICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC11dGlscyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXhzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC14cyArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1lbWJlZCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1lbWJlZCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1lbWJlZCArPSAicGVybC1tb2R1bGUtZ2V0b3B0LXN0ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsZWQgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWluc3RhbGxlZCArPSAicGVybC1tb2R1bGUtZGF0YS1kdW1wZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsZWQgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWluc3RhbGxlZCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFja2xpc3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsZWQgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsZWQgKz0gInBlcmwtbW9kdWxlLWZpbGUtZmluZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWluc3RhbGxlZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbGVkICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAicGVybC1tb2R1bGUtYXV0b3NwbGl0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1wYWNrbGlzdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWluc3RhbGwgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1maWxlLWNvbXBhcmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1maWxlLWNvcHkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1maWxlLXBhdGgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0LWtpZCArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0LWtpZCArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWxpYmxpc3Qta2lkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0LWtpZCArPSAicGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItbG9jYWxlICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWxvY2FsZSArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWxvY2FsZSArPSAicGVybC1tb2R1bGUtZW5jb2RlLWFsaWFzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWxvY2FsZSArPSAicGVybC1tb2R1bGUtaTE4bi1sYW5naW5mbyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1sb2NhbGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtY3BhbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLXZlcnNpb24iCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbXkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIgKz0gInBlcmwtbW9kdWxlLWZpbGUtcGF0aCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICJwZXJsLW1vZHVsZS12ZXJzaW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLXZlcnNpb24gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci12ZXJzaW9uICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QgKz0gInBlcmwtbW9kdWxlLWZpbGUtY29weSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYW5pZmVzdCArPSAicGVybC1tb2R1bGUtZmlsZS1wYXRoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1pbmlwZXJsICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1pbmlwZXJsICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1lbWJlZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1pbmlwZXJsICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1ta2Jvb3RzdHJhcCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWtib290c3RyYXAgKz0gInBlcmwtbW9kdWxlLWR5bmFsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1ta2Jvb3RzdHJhcCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1ta2Jvb3RzdHJhcCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWtzeW1saXN0cyArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWtzeW1saXN0cyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1ta3N5bWxpc3RzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1haXggKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1haXggKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1haXggKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSArPSAicGVybC1tb2R1bGUtYXV0b3NwbGl0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICJwZXJsLW1vZHVsZS1jcGFuIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICJwZXJsLW1vZHVsZS1kYXRhLWR1bXBlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1hbnkgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSArPSAicGVybC1tb2R1bGUtdmVyc2lvbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWJlb3MgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1iZW9zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS1hbnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1iZW9zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYmVvcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tY3lnd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tY3lnd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tY3lnd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWN5Z3dpbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tZGFyd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tZGFyd2luICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1kb3MgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWRvcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWRvcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tbWFjb3MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLW53NSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tbnc1ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tbnc1ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLW53NSArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLW53NSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tb3MyICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1vczIgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLW9zMiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLW9zMiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0gKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLWxpYmxpc3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0gKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tcW54ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tcW54ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXggKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXggKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCArPSAicGVybC1tb2R1bGUtdmVyc2lvbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXV3aW4gKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11d2luICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS12bXMgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0LWtpZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXZtcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS1hbnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS12bXMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS12bXMgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS12bXMgKz0gInBlcmwtbW9kdWxlLWZpbGUtZmluZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXZtcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdm9zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdm9zICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0td2luMzIgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0td2luMzIgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjMyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW45NSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjk1ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjk1ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1teSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbW0iCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1teSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFja2xpc3QgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLXBhY2tsaXN0ICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYWNrbGlzdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFja2xpc3QgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLWNvbnN0YW50cyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb3VudGxpbmVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLWV2YWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMtZXZhbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb3VudGxpbmVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1ldmFsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy11dGlsaXRpZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cyArPSAicGVybC1tb2R1bGUtcmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy11dGlsaXRpZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdGVzdGxpYiArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdGVzdGxpYiArPSAicGVybC1tb2R1bGUtbGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdGVzdGxpYiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdGVzdGxpYiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1jbWQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtY21kICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLXR5cGVtYXBzLWNtZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtY21kICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLXR5cGVtYXBzLWlucHV0bWFwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1pbnB1dG1hcCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1vdXRwdXRtYXAgKz0gInBlcmwtbW9kdWxlLXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtb3V0cHV0bWFwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1vdXRwdXRtYXAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtaW5wdXRtYXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtb3V0cHV0bWFwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLXR5cGVtYXBzLXR5cGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtdHlwZSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy10eXBlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy10eXBlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZhdGFsICs9ICJwZXJsLW1vZHVsZS1hdXRvZGllIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmF0YWwgKz0gInBlcmwtbW9kdWxlLWF1dG9kaWUtZXhjZXB0aW9uLXN5c3RlbSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZhdGFsICs9ICJwZXJsLW1vZHVsZS1hdXRvZGllLWhpbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmF0YWwgKz0gInBlcmwtbW9kdWxlLWF1dG9kaWUtdXRpbCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZhdGFsICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1mYXRhbCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1mYXRhbCArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1mYXRhbCArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1mYXRhbCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmF0YWwgKz0gInBlcmwtbW9kdWxlLXRpZS1yZWZoYXNoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmF0YWwgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmNudGwgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmNudGwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZjbnRsICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpZWxkcyArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpZWxkcyArPSAicGVybC1tb2R1bGUtaGFzaC11dGlsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmllbGRzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUgKz0gInBlcmwtbW9kdWxlLXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlY2FjaGUgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGVjYWNoZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1jb21wYXJlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtY29tcGFyZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1jb21wYXJlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtY29weSArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1jb3B5ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtY29weSArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtY29weSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1jb3B5ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZG9zZ2xvYiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1kb3NnbG9iICs9ICJwZXJsLW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWRvc2dsb2IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1kb3NnbG9iICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmV0Y2ggKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1mZXRjaCArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1mZXRjaCArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmV0Y2ggKz0gInBlcmwtbW9kdWxlLWZpbGUtY29weSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmV0Y2ggKz0gInBlcmwtbW9kdWxlLWZpbGVoYW5kbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS1maWxlLXBhdGgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS1maWxlLXRlbXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS1pcGMtY21kIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1mZXRjaCArPSAicGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0LXNpbXBsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmV0Y2ggKz0gInBlcmwtbW9kdWxlLWxvYWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS1wYXJhbXMtY2hlY2siCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1maW5kICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZpbmQgKz0gInBlcmwtbW9kdWxlLWN3ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmluZCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZpbmQgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZpbmQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmluZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZpbmQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1nbG9ibWFwcGVyICs9ICJwZXJsLW1vZHVsZS1maWxlLWdsb2IiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWdsb2JtYXBwZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZ2xvYm1hcHBlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWdsb2IgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1nbG9iICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWdsb2IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1nbG9iICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGVoYW5kbGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZWhhbmRsZSArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlaGFuZGxlICs9ICJwZXJsLW1vZHVsZS1pby1maWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZWhhbmRsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1wYXRoICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXBhdGggKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1wYXRoICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1wYXRoICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXBhdGggKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXN0YXQgKz0gInBlcmwtbW9kdWxlLWNsYXNzLXN0cnVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtc3RhdCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXN0YXQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1zdGF0ICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtc3RhdCArPSAicGVybC1tb2R1bGUtb3ZlcmxvYWQgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1zdGF0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXN0YXQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1zdGF0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXRlbXAgKz0gInBlcmwtbW9kdWxlLWN3ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtZXJybm8iCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXRlbXAgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS10ZW1wICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtZmlsZS1wYXRoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS10ZW1wICs9ICJwZXJsLW1vZHVsZS1pby1zZWVrYWJsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtb3ZlcmxvYWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXRlbXAgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXRlbXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbHRlci1zaW1wbGUgKz0gInBlcmwtbW9kdWxlLWZpbHRlci11dGlsLWNhbGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWx0ZXItc2ltcGxlICs9ICJwZXJsLW1vZHVsZS10ZXh0LWJhbGFuY2VkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsdGVyLXV0aWwtY2FsbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWx0ZXItdXRpbC1jYWxsICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWx0ZXItdXRpbC1jYWxsICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbHRlci11dGlsLWNhbGwgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmluZGJpbiArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmluZGJpbiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maW5kYmluICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gInBlcmwtbW9kdWxlLXBvZC11c2FnZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWdldG9wdC1sb25nICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyArPSAicGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1nZXRvcHQtc3RkICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWhhc2gtdXRpbC1maWVsZGhhc2ggKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaGFzaC11dGlsLWZpZWxkaGFzaCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaGFzaC11dGlsLWZpZWxkaGFzaCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1oYXNoLXV0aWwtZmllbGRoYXNoICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWhhc2gtdXRpbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1oYXNoLXV0aWwgKz0gInBlcmwtbW9kdWxlLWhhc2gtdXRpbC1maWVsZGhhc2giCitSREVQRU5EU19wZXJsLW1vZHVsZS1oYXNoLXV0aWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWhhc2gtdXRpbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1oYXNoLXV0aWwgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaGFzaC11dGlsICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWkxOG4tY29sbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pMThuLWNvbGxhdGUgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1jb2xsYXRlICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWkxOG4tY29sbGF0ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1jb2xsYXRlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWkxOG4tbGFuZ2luZm8gKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1sYW5naW5mbyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1sYW5naW5mbyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pMThuLWxhbmdpbmZvICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWkxOG4tbGFuZ3RhZ3MtZGV0ZWN0ICs9ICJwZXJsLW1vZHVsZS1pMThuLWxhbmd0YWdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1sYW5ndGFncy1kZXRlY3QgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWkxOG4tbGFuZ3RhZ3MtbGlzdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1sYW5ndGFncyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pMThuLWxhbmd0YWdzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWJ6aXAyICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItYnppcDIgKz0gInBlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItYnppcDIgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1iemlwMiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1iemlwMiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWlkZW50aXR5ICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24gKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24gKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24gKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICJwZXJsLW1vZHVsZS1maWxlLWdsb2JtYXBwZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiArPSAicGVybC1tb2R1bGUtc3RyaWN0ICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZSArPSAicGVybC1tb2R1bGUtaW8tZmlsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iemlwMiArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iemlwMiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYnppcDIgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItYnppcDIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iemlwMiArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJ6aXAyICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJ6aXAyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYnppcDIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWRlZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXJhd2RlZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy16bGliLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWRlZmxhdGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtZ3ppcC1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtZ3ppcCArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtZ3ppcCArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItZXh0cmEiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtZ3ppcCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXJhd2RlZmxhdGUgKz0gInBlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy16aXAtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcC1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwLWNvbnN0YW50cyArPSAicGVybC1tb2R1bGUtc3RyaWN0ICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcC1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAicGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy16aXAgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1kZWZsYXRlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWlkZW50aXR5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYnppcDIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy16aXAtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy16bGliLWV4dHJhIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1leHRyYSArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy16bGliLWV4dHJhICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItZXh0cmEgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy16bGliLWV4dHJhICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWRpciArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1kaXIgKz0gInBlcmwtbW9kdWxlLWZpbGUtc3RhdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWRpciArPSAicGVybC1tb2R1bGUtaW8tZmlsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWRpciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tZGlyICs9ICJwZXJsLW1vZHVsZS10aWUtaGFzaCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWZpbGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tZmlsZSArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1maWxlICs9ICJwZXJsLW1vZHVsZS1pby1zZWVrYWJsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWZpbGUgKz0gInBlcmwtbW9kdWxlLXNlbGVjdHNhdmVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tZmlsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8taGFuZGxlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWhhbmRsZSArPSAicGVybC1tb2R1bGUtaW8iCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1oYW5kbGUgKz0gInBlcmwtbW9kdWxlLWlvLWZpbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1oYW5kbGUgKz0gInBlcmwtbW9kdWxlLXNlbGVjdHNhdmVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8taGFuZGxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pbyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8gKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tcGlwZSArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1waXBlICs9ICJwZXJsLW1vZHVsZS1pby1oYW5kbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1waXBlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1wb2xsICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXBvbGwgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXBvbGwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNlZWthYmxlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNlZWthYmxlICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNlZWthYmxlICs9ICJwZXJsLW1vZHVsZS1pby1oYW5kbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zZWVrYWJsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc2VsZWN0ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNlbGVjdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc2VsZWN0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pbmV0ICs9ICJwZXJsLW1vZHVsZS1lcnJubyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pbmV0ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pbmV0ICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zb2NrZXQtaW5ldCArPSAicGVybC1tb2R1bGUtc29ja2V0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0LWluZXQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pcCArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pcCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zb2NrZXQtaXAgKz0gInBlcmwtbW9kdWxlLWVycm5vIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0LWlwICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pcCArPSAicGVybC1tb2R1bGUtc29ja2V0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0LWlwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zb2NrZXQtaXAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0ICs9ICJwZXJsLW1vZHVsZS1lcnJubyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zb2NrZXQgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldCArPSAicGVybC1tb2R1bGUtaW8tc2VsZWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0ICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQtaW5ldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldCArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0LXVuaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zb2NrZXQgKz0gInBlcmwtbW9kdWxlLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0LXVuaXggKz0gInBlcmwtbW9kdWxlLWlvLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC11bml4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItYnVuemlwMiArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItYnVuemlwMiArPSAicGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LWJ6aXAyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1idW56aXAyICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gInBlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWlkZW50aXR5ICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwLWNvbnN0YW50cyAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFueWluZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFueWluZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1yYXdpbmZsYXRlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFueWluZmxhdGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnl1bmNvbXByZXNzICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55dW5jb21wcmVzcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnl1bmNvbXByZXNzICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55dW5jb21wcmVzcyArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnl1bmNvbXByZXNzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFueXVuY29tcHJlc3MgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJhc2UgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICJwZXJsLW1vZHVsZS1pby1maWxlICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSArPSAicGVybC1tb2R1bGUtbGlzdC11dGlsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYnVuemlwMiArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYnVuemlwMiArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1idW56aXAyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1idW56aXAyICs9ICJwZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gInBlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy16bGliLWV4dHJhIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1pbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1pbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWluZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0ICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXJhd2luZmxhdGUgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1yYXdpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1yYXdpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXJhd2luZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0ICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gInBlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItZXh0cmEiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1pby1maWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWlkZW50aXR5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXJhd2luZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXpsaWIgKz0gInBlcmwtbW9kdWxlLWZjbnRsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8temxpYiArPSAicGVybC1tb2R1bGUtaW8taGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8temxpYiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8temxpYiArPSAicGVybC1tb2R1bGUtdGllLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXpsaWIgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1jbWQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLWNtZCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLWNtZCArPSAicGVybC1tb2R1bGUtZmlsZWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1jbWQgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1jbWQgKz0gInBlcmwtbW9kdWxlLWlvLXNlbGVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1jbWQgKz0gInBlcmwtbW9kdWxlLWlwYy1vcGVuMyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1jbWQgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS1sb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLWNtZCArPSAicGVybC1tb2R1bGUtcGFyYW1zLWNoZWNrIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLWNtZCArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS10aW1lLWhpcmVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLWNtZCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1tc2cgKz0gInBlcmwtbW9kdWxlLWNsYXNzLXN0cnVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1tc2cgKz0gInBlcmwtbW9kdWxlLWlwYy1zeXN2IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLW1zZyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLW1zZyArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1vcGVuMiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtb3BlbjIgKz0gInBlcmwtbW9kdWxlLWlwYy1vcGVuMyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1vcGVuMiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLW9wZW4zICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1vcGVuMyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtb3BlbjMgKz0gInBlcmwtbW9kdWxlLWZjbnRsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLW9wZW4zICs9ICJwZXJsLW1vZHVsZS1pby1waXBlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLW9wZW4zICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1vcGVuMyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXNlbWFwaG9yZSArPSAicGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXNlbWFwaG9yZSArPSAicGVybC1tb2R1bGUtaXBjLXN5c3YiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtc2VtYXBob3JlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtc2VtYXBob3JlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXNoYXJlZG1lbSArPSAicGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXNoYXJlZG1lbSArPSAicGVybC1tb2R1bGUtaXBjLXN5c3YiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtc2hhcmVkbWVtICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtc2hhcmVkbWVtICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXN5c3YgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1zeXN2ICs9ICJwZXJsLW1vZHVsZS1keW5hbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXN5c3YgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXN5c3YgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1zeXN2ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtanNvbi1wcC1ib29sZWFuICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWpzb24tcHAtYm9vbGVhbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtanNvbi1wcCArPSAicGVybC1tb2R1bGUtYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWpzb24tcHAgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtanNvbi1wcCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1qc29uLXBwICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1qc29uLXBwICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWpzb24tcHAgKz0gInBlcmwtbW9kdWxlLWpzb24tcHAtYm9vbGVhbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWpzb24tcHAgKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1qc29uLXBwICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWpzb24tcHAgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtanNvbi1wcCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtanNvbi1wcCArPSAicGVybC1tb2R1bGUtc3VicyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxlc3MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxlc3MgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbGliICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1saWIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxpc3QtdXRpbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1saXN0LXV0aWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxpc3QtdXRpbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1saXN0LXV0aWwgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbGlzdC11dGlsLXhzICs9ICJwZXJsLW1vZHVsZS1saXN0LXV0aWwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1saXN0LXV0aWwteHMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxpc3QtdXRpbC14cyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2FkZWQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWRlZCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9hZCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2FkICs9ICJwZXJsLW1vZHVsZS1maWxlaGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9hZCArPSAicGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0LXNpbXBsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLWNvcmVsaXN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9hZCArPSAicGVybC1tb2R1bGUtbG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLXBhcmFtcy1jaGVjayIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2FkICs9ICJwZXJsLW1vZHVsZS12ZXJzaW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9hZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeS1jb2RlcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnktY29kZXMgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeS1jb2RlcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAicGVybC1tb2R1bGUtaWYiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnkgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnkgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnktcmV0aXJlZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnktcmV0aXJlZCArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb3VudHJ5LXJldGlyZWQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5LWNvZGVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3ktY29kZXMgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3ktY29kZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeSArPSAicGVybC1tb2R1bGUtaWYiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3kgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeS1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3ktcmV0aXJlZCArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeS1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0LWNvZGVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dC1jb2RlcyArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0LWNvZGVzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0ICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0ICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dCArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dC1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dC1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS11dGY4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdleHQtcmV0aXJlZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbS1jb2RlcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0tY29kZXMgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbS1jb2RlcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAicGVybC1tb2R1bGUtaWYiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0gKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0tcmV0aXJlZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0tcmV0aXJlZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UtY29kZXMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZS1jb2RlcyArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZS1jb2RlcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlLXJldGlyZWQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZS1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS11dGY4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlLXJldGlyZWQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXItY29kZXMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyLWNvZGVzICs9ICJwZXJsLW1vZHVsZS11dGY4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXItY29kZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gInBlcmwtbW9kdWxlLWlmIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyLXJldGlyZWQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyLXJldGlyZWQgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3Zhci1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMgKz0gInBlcmwtbW9kdWxlLWlmIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdC1jb2RlcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdC1jb2RlcyArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQtY29kZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQtcmV0aXJlZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdC1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS11dGY4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdC1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb3VudHJ5ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb3VudHJ5ICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb3VudHJ5ICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY291bnRyeSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb3VudHJ5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY291bnRyeSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY3VycmVuY3kgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWN1cnJlbmN5ICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jdXJyZW5jeSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWN1cnJlbmN5ICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWN1cnJlbmN5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY3VycmVuY3kgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWxhbmd1YWdlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1sYW5ndWFnZSArPSAicGVybC1tb2R1bGUtaWYiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtbGFuZ3VhZ2UgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1sYW5ndWFnZSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1sYW5ndWFnZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWxhbmd1YWdlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1ndXRzbG9hZGVyICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtbWFrZXRleHQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtbWFrZXRleHQtZ3V0cyArPSAicGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0ICs9ICJwZXJsLW1vZHVsZS1pMThuLWxhbmd0YWdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0ICs9ICJwZXJsLW1vZHVsZS1pMThuLWxhbmd0YWdzLWRldGVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dCArPSAicGVybC1tb2R1bGUtaW50ZWdlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0LXNpbXBsZSArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1zaW1wbGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZSArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLXNjcmlwdCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1zY3JpcHQgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1zY3JpcHQgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdmbG9hdCArPSAicGVybC1tb2R1bGUtbWF0aC1iaWdpbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0ICs9ICJwZXJsLW1vZHVsZS1tYXRoLWNvbXBsZXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0ICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdmbG9hdC10cmFjZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdmbG9hdC10cmFjZSArPSAicGVybC1tb2R1bGUtb3ZlcmxvYWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0LXRyYWNlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LWNhbGNlbXUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LWNhbGNlbXUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1jYWxjICs9ICJwZXJsLW1vZHVsZS1pbnRlZ2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyArPSAicGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtbGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1mYXN0Y2FsYyArPSAicGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LWZhc3RjYWxjICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1mYXN0Y2FsYyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1mYXN0Y2FsYyArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1saWIgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtbGliICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1saWIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludCArPSAicGVybC1tb2R1bGUtbWF0aC1jb21wbGV4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC10cmFjZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ3JhdCArPSAicGVybC1tb2R1bGUtbWF0aC1iaWdmbG9hdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlncmF0ICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlncmF0ICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlncmF0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ3JhdCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWNvbXBsZXggKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtY29tcGxleCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWNvbXBsZXggKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1jb21wbGV4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWNvbXBsZXggKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC10cmlnICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtdHJpZyArPSAicGVybC1tb2R1bGUtbWF0aC1jb21wbGV4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC10cmlnICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tZW1vaXplLWFueWRibS1maWxlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWVtb2l6ZSArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWVtb2l6ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tZW1vaXplICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tZW1vaXplICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWVtb2l6ZS1zZGJtLWZpbGUgKz0gInBlcmwtbW9kdWxlLXNkYm0tZmlsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1lbW9pemUtc3RvcmFibGUgKz0gInBlcmwtbW9kdWxlLXN0b3JhYmxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWltZS1iYXNlNjQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWltZS1iYXNlNjQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1pbWUtYmFzZTY0ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWltZS1iYXNlNjQgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWltZS1xdW90ZWRwcmludCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1taW1lLXF1b3RlZHByaW50ICs9ICJwZXJsLW1vZHVsZS1taW1lLWJhc2U2NCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1pbWUtcXVvdGVkcHJpbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1pbWUtcXVvdGVkcHJpbnQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tcm8gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1ybyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tcm8gKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWNtZCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtY21kICs9ICJwZXJsLW1vZHVsZS1lcnJubyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1jbWQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWNtZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWNtZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtY29uZmlnICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1jb25maWcgKz0gInBlcmwtbW9kdWxlLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1jb25maWcgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1jb25maWcgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWRvbWFpbiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZG9tYWluICs9ICJwZXJsLW1vZHVsZS1uZXQtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWRvbWFpbiArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZG9tYWluICs9ICJwZXJsLW1vZHVsZS1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZG9tYWluICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZG9tYWluICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtYSArPSAicGVybC1tb2R1bGUtbmV0LWZ0cC1kYXRhY29ubiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtYSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cC1hICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtZGF0YWNvbm4gKz0gInBlcmwtbW9kdWxlLWVycm5vIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cC1kYXRhY29ubiArPSAicGVybC1tb2R1bGUtbmV0LWNtZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtZGF0YWNvbm4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtZGF0YWNvbm4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cC1lICs9ICJwZXJsLW1vZHVsZS1uZXQtZnRwLWkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwLWUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwLWkgKz0gInBlcmwtbW9kdWxlLW5ldC1mdHAtZGF0YWNvbm4iCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwLWkgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtaSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwLWwgKz0gInBlcmwtbW9kdWxlLW5ldC1mdHAtaSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtbCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cC1sICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cCArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cCArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cCArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0LWlwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cCArPSAicGVybC1tb2R1bGUtbmV0LWNtZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAgKz0gInBlcmwtbW9kdWxlLW5ldC1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS1uZXQtZnRwLWEiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS1uZXQtbmV0cmMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS10aW1lLWxvY2FsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtaG9zdGVudCArPSAicGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWhvc3RlbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWhvc3RlbnQgKz0gInBlcmwtbW9kdWxlLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1ob3N0ZW50ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtbmV0ZW50ICs9ICJwZXJsLW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtbmV0ZW50ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1uZXRlbnQgKz0gInBlcmwtbW9kdWxlLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1uZXRlbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1uZXRyYyArPSAicGVybC1tb2R1bGUtZmlsZWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1uZXRyYyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LW5ldHJjICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1ubnRwICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtbm50cCArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0LWlwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LW5udHAgKz0gInBlcmwtbW9kdWxlLW5ldC1jbWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtbm50cCArPSAicGVybC1tb2R1bGUtbmV0LWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1ubnRwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtbm50cCArPSAicGVybC1tb2R1bGUtdGltZS1sb2NhbCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1ubnRwICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1waW5nICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1waW5nICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1waW5nICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1waW5nICs9ICJwZXJsLW1vZHVsZS1maWxlaGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBpbmcgKz0gInBlcmwtbW9kdWxlLWlvLXNvY2tldC1pbmV0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBpbmcgKz0gInBlcmwtbW9kdWxlLXBvc2l4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBpbmcgKz0gInBlcmwtbW9kdWxlLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1waW5nICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtcGluZyArPSAicGVybC1tb2R1bGUtdGltZS1oaXJlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1wb3AzICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtcG9wMyArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0LWlwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBvcDMgKz0gInBlcmwtbW9kdWxlLW1pbWUtYmFzZTY0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBvcDMgKz0gInBlcmwtbW9kdWxlLW5ldC1jbWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtcG9wMyArPSAicGVybC1tb2R1bGUtbmV0LWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1wb3AzICs9ICJwZXJsLW1vZHVsZS1uZXQtbmV0cmMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtcG9wMyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBvcDMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXByb3RvZW50ICs9ICJwZXJsLW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtcHJvdG9lbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXByb3RvZW50ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtc2VydmVudCArPSAicGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXNlcnZlbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXNlcnZlbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1zbXRwICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtc210cCArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0LWlwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXNtdHAgKz0gInBlcmwtbW9kdWxlLW1pbWUtYmFzZTY0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXNtdHAgKz0gInBlcmwtbW9kdWxlLW5ldC1jbWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtc210cCArPSAicGVybC1tb2R1bGUtbmV0LWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1zbXRwICs9ICJwZXJsLW1vZHVsZS1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtc210cCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXNtdHAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXRpbWUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXRpbWUgKz0gInBlcmwtbW9kdWxlLWlvLXNlbGVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC10aW1lICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtdGltZSArPSAicGVybC1tb2R1bGUtbmV0LWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC10aW1lICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtdGltZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXh0ICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5leHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5leHQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb2sgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW9rICs9ICJwZXJsLW1vZHVsZS10ZXN0LW1vcmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1vcGNvZGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb3Bjb2RlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1vcGNvZGUgKz0gInBlcmwtbW9kdWxlLXN1YnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1vcGNvZGUgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb3BlbiArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb3BlbiArPSAicGVybC1tb2R1bGUtZW5jb2RpbmciCitSREVQRU5EU19wZXJsLW1vZHVsZS1vcGVuICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW8gKz0gInBlcmwtbW9kdWxlLWIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1vcHMgKz0gInBlcmwtbW9kdWxlLW9wY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW92ZXJsb2FkaW5nICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZC1udW1iZXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb3ZlcmxvYWRpbmcgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb3ZlcmxvYWQgKz0gInBlcmwtbW9kdWxlLW1ybyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW92ZXJsb2FkICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBhcmFtcy1jaGVjayArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wYXJhbXMtY2hlY2sgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wYXJhbXMtY2hlY2sgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBhcmFtcy1jaGVjayArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBhcmVudCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGFyZW50ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGVybGZhcSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGVybGZhcSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wZXJsaW8tZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBlcmxpby1lbmNvZGluZyArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wZXJsaW8tbW1hcCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGVybGlvLW1tYXAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGVybGlvLW1tYXAgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGVybGlvLXNjYWxhciArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wZXJsaW8tdmlhICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBlcmxpby12aWEtcXVvdGVkcHJpbnQgKz0gInBlcmwtbW9kdWxlLW1pbWUtcXVvdGVkcHJpbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wZXJsaW8tdmlhLXF1b3RlZHByaW50ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtY2hlY2tlciArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1jaGVja2VyICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1jaGVja2VyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtY2hlY2tlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZXNjYXBlcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZXNjYXBlcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLWVzY2FwZXMgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZXNjYXBlcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZmluZCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLWZpbmQgKz0gInBlcmwtbW9kdWxlLWN3ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1maW5kICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1maW5kICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZmluZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLWZpbmQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZnVuY3Rpb25zICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1mdW5jdGlvbnMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1pbnB1dG9iamVjdHMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1pbnB1dG9iamVjdHMgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtbWFuICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLW1hbiArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1tYW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1tYW4gKz0gInBlcmwtbW9kdWxlLXN1YnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtbWFuICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLW1hbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGFyc2VsaW5rICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wYXJzZWxpbmsgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wYXJzZWxpbmsgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGFyc2VsaW5rICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBhcnNlciArPSAicGVybC1tb2R1bGUtcG9kLWlucHV0b2JqZWN0cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGFyc2V1dGlscyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBhcnNldXRpbHMgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy1iYXNldG8gKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLWJhc2V0byArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtYmFzZXRvICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtYmFzZXRvICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLWdldG9wdHNvbyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtZ2V0b3B0c29vICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYyArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYyArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jICs9ICJwZXJsLW1vZHVsZS1maWxlLXRlbXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYyArPSAicGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtZ2V0b3B0c29vIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jICs9ICJwZXJsLW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYyArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvYW5zaSArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9hbnNpICs9ICJwZXJsLW1vZHVsZS1wb2QtdGV4dC1jb2xvciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvYW5zaSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9hbnNpICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9hbnNpICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvY2hlY2tlciArPSAicGVybC1tb2R1bGUtcG9kLWNoZWNrZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b2NoZWNrZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvY2hlY2tlciArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvY2hlY2tlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b21hbiArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvbWFuICs9ICJwZXJsLW1vZHVsZS1pby1zZWxlY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b21hbiArPSAicGVybC1tb2R1bGUtaXBjLW9wZW4zIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvbWFuICs9ICJwZXJsLW1vZHVsZS1wb2QtbWFuIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gInBlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvcG9kIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvbWFuICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9ucm9mZiArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9ucm9mZiArPSAicGVybC1tb2R1bGUtcG9kLW1hbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvbnJvZmYgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvbnJvZmYgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b25yb2ZmICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvcG9kICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3BvZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9wb2QgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3BvZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3J0ZiArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9ydGYgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvcnRmICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9ydGYgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG90ZXJtICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3Rlcm0gKz0gInBlcmwtbW9kdWxlLXBvZC10ZXh0LXRlcm1jYXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3Rlcm0gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGVybSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGVybSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3RleHQgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGV4dCArPSAicGVybC1tb2R1bGUtcG9kLXRleHQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3RleHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGV4dCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGV4dCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3htbCArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG94bWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRveG1sICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG94bWwgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBsYWludGV4dCArPSAicGVybC1tb2R1bGUtcG9kLXNlbGVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wbGFpbnRleHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wbGFpbnRleHQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2VsZWN0ICs9ICJwZXJsLW1vZHVsZS1wb2QtcGFyc2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNlbGVjdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNlbGVjdCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtYmxhY2tib3ggKz0gInBlcmwtbW9kdWxlLWludGVnZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWJsYWNrYm94ICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1ibGFja2JveCArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWJsYWNrYm94ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWJsYWNrYm94ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1jaGVja2VyICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1jaGVja2VyICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLW1ldGhvZHkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWNoZWNrZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtY2hlY2tlciArPSAicGVybC1tb2R1bGUtdGV4dC13cmFwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1jaGVja2VyICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1kZWJ1ZyArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtZGVidWcgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtZGVidWcgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWR1bXBhc3RleHQgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWR1bXBhc3RleHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtZHVtcGFzeG1sICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1kdW1wYXN4bWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtZHVtcGFzeG1sICs9ICJwZXJsLW1vZHVsZS10ZXh0LXdyYXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWxpbmtzZWN0aW9uICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtbGlua3NlY3Rpb24gKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUtYmxhY2tib3giCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWxpbmtzZWN0aW9uICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWxpbmtzZWN0aW9uICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1tZXRob2R5ICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1tZXRob2R5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLW1ldGhvZHkgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlICs9ICJwZXJsLW1vZHVsZS1pbnRlZ2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZSArPSAicGVybC1tb2R1bGUtcG9kLWVzY2FwZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWJsYWNrYm94IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZSArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZS1saW5rc2VjdGlvbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUtdGllZG91dGZoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHJvZ3Jlc3MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcmVuZHRva2VuICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJ0b2tlbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcmVuZHRva2VuICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJlbmR0b2tlbiArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VyZW5kdG9rZW4iCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXIgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcnN0YXJ0dG9rZW4iCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXIgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcnRleHR0b2tlbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2Vyc3RhcnR0b2tlbiArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydG9rZW4iCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJzdGFydHRva2VuICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJzdGFydHRva2VuICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydGV4dHRva2VuICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJ0b2tlbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcnRleHR0b2tlbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydGV4dHRva2VuICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydG9rZW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcnRmICs9ICJwZXJsLW1vZHVsZS1pbnRlZ2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1ydGYgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcnRmICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXJ0ZiArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtc2VhcmNoICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXNlYXJjaCArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1zZWFyY2ggKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXNlYXJjaCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1zZWFyY2ggKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXNpbXBsZXRyZWUgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXNpbXBsZXRyZWUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtc2ltcGxldHJlZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtdGV4dGNvbnRlbnQgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRleHRjb250ZW50ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRleHRjb250ZW50ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10ZXh0ICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10ZXh0ICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLW1ldGhvZHkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRleHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtdGV4dCArPSAicGVybC1tb2R1bGUtdGV4dC13cmFwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10ZXh0ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10aWVkb3V0ZmggKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtdGllZG91dGZoICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGVkdW1iICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZWR1bWIgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGUgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZXNtYXJ0ICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZXNtYXJ0ICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGVzbWFydCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGVzbWFydCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUteG1sb3V0c3RyZWFtICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS14bWxvdXRzdHJlYW0gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUteG1sb3V0c3RyZWFtICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtY29sb3IgKz0gInBlcmwtbW9kdWxlLXBvZC10ZXh0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtY29sb3IgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC10ZXh0LWNvbG9yICs9ICJwZXJsLW1vZHVsZS10ZXJtLWFuc2ljb2xvciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC10ZXh0LWNvbG9yICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtY29sb3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtb3ZlcnN0cmlrZSArPSAicGVybC1tb2R1bGUtcG9kLXRleHQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dC1vdmVyc3RyaWtlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dC1vdmVyc3RyaWtlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtb3ZlcnN0cmlrZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dCArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dC10ZXJtY2FwICs9ICJwZXJsLW1vZHVsZS1wb2QtdGV4dCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC10ZXh0LXRlcm1jYXAgKz0gInBlcmwtbW9kdWxlLXBvc2l4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtdGVybWNhcCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtdGVybWNhcCArPSAicGVybC1tb2R1bGUtdGVybS1jYXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dC10ZXJtY2FwICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtdGVybWNhcCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdXNhZ2UgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC11c2FnZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdXNhZ2UgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC11c2FnZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvc2l4ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvc2l4ICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvc2l4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb3NpeCArPSAicGVybC1tb2R1bGUtdGllLWhhc2giCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb3NpeCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb3NpeCArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1yZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1yZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcmUgKz0gInBlcmwtbW9kdWxlLXRlcm0tY2FwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcmUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcmUgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc2FmZSArPSAicGVybC1tb2R1bGUtYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNhZmUgKz0gInBlcmwtbW9kdWxlLW9wY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNhZmUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNhZmUgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zZGJtLWZpbGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc2RibS1maWxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zZGJtLWZpbGUgKz0gInBlcmwtbW9kdWxlLXRpZS1oYXNoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc2RibS1maWxlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNkYm0tZmlsZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zZWFyY2gtZGljdCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zZWFyY2gtZGljdCArPSAicGVybC1tb2R1bGUtZmVhdHVyZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNlYXJjaC1kaWN0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zZWxmbG9hZGVyICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNlbGZsb2FkZXIgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNlbGZsb2FkZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNvY2tldCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zb2NrZXQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNvY2tldCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zb2NrZXQgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc29ydCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3RvcmFibGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3RvcmFibGUgKz0gInBlcmwtbW9kdWxlLWlvLWZpbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zdG9yYWJsZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zdWItdXRpbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zdWItdXRpbCArPSAicGVybC1tb2R1bGUtbGlzdC11dGlsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3ViLXV0aWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN1Yi11dGlsICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN5cy1ob3N0bmFtZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtaG9zdG5hbWUgKz0gInBlcmwtbW9kdWxlLXBvc2l4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLWhvc3RuYW1lICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtaG9zdG5hbWUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLWhvc3RuYW1lICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN5cy1zeXNsb2cgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN5cy1zeXNsb2cgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLXN5c2xvZyArPSAicGVybC1tb2R1bGUtZHluYWxvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN5cy1zeXNsb2cgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLXN5c2xvZyArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLXN5c2xvZyArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS1zeXMtaG9zdG5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLXN5c2xvZyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN5cy1zeXNsb2cgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWJhc2UgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtYmFzZSArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtYmFzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWJhc2UgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItYmFzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbG9yIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29sb3IgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbG9yICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29sb3IgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29sb3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXBhcmFsbGVsc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29uc29sZS1wYXJhbGxlbHNlc3Npb24gKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXBhcmFsbGVsc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtZmlsZS1wYXRoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXBhcmFsbGVsc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXBhcmFsbGVsc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUgKz0gInBlcmwtbW9kdWxlLXBvc2l4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXNlc3Npb24gKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUtc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXNlc3Npb24gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1maWxlICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1maWxlICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1maWxlICs9ICJwZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWZpbGUtc2Vzc2lvbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWZpbGUtc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZS1zZXNzaW9uICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWZpbGUtc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLXNlc3Npb24gKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLXNlc3Npb24gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtaGFybmVzcy1lbnYgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWhhcm5lc3MtZW52ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtaGFybmVzcy1lbnYgKz0gInBlcmwtbW9kdWxlLXRhcC1vYmplY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtaGFybmVzcy1lbnYgKz0gInBlcmwtbW9kdWxlLXRleHQtcGFyc2V3b3JkcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1oYXJuZXNzLWVudiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtaGFybmVzcyArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS1maWxlLXBhdGgiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtaGFybmVzcyArPSAicGVybC1tb2R1bGUtaW8taGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWhhcm5lc3MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1vYmplY3QgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1vYmplY3QgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1hZ2dyZWdhdG9yICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1hZ2dyZWdhdG9yICs9ICJwZXJsLW1vZHVsZS1iZW5jaG1hcmsiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWFnZ3JlZ2F0b3IgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItYWdncmVnYXRvciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWdyYW1tYXIgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWdyYW1tYXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItZ3JhbW1hciArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1ncmFtbWFyICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtcmVhZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1ncmFtbWFyICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItYXJyYXkgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLWFycmF5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLWFycmF5ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3JmYWN0b3J5ICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvciArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3IgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLXByb2Nlc3MgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItcHJvY2VzcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3Itc3RyZWFtICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1zdHJlYW0gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3Itc3RyZWFtICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItbXVsdGlwbGV4ZXIgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLW11bHRpcGxleGVyICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItbXVsdGlwbGV4ZXIgKz0gInBlcmwtbW9kdWxlLWlvLXNlbGVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItbXVsdGlwbGV4ZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItbXVsdGlwbGV4ZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlciArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItZ3JhbW1hciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3IiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlciArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlciArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZXhlY3V0YWJsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1maWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlciArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1wZXJsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlciArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXJhd3RhcCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtYmFpbG91dCArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWJhaWxvdXQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWJhaWxvdXQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtY29tbWVudCArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWNvbW1lbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWNvbW1lbnQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5ICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWJhaWxvdXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWNvbW1lbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXBsYW4iCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXByYWdtYSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdGVzdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdW5rbm93biIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdmVyc2lvbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQteWFtbCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdCArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wbGFuICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtcGxhbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtcGxhbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wcmFnbWEgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wcmFnbWEgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXByYWdtYSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC10ZXN0ICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdGVzdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdGVzdCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC11bmtub3duICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdW5rbm93biArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdW5rbm93biArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC12ZXJzaW9uICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdmVyc2lvbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdmVyc2lvbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC15YW1sICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQteWFtbCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQteWFtbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlci1qb2IgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc2NoZWR1bGVyLWpvYiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItc2NoZWR1bGVyLWpvYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc2NoZWR1bGVyICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlci1zcGlubmVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXItc3Bpbm5lciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXItc3Bpbm5lciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZXhlY3V0YWJsZSArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1leGVjdXRhYmxlICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1leGVjdXRhYmxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZXhlY3V0YWJsZSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZXhlY3V0YWJsZSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWV4ZWN1dGFibGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWZpbGUgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZmlsZSArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZmlsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWZpbGUgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3JmYWN0b3J5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWZpbGUgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3Itc3RyZWFtIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWZpbGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWhhbmRsZSArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1oYW5kbGUgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWhhbmRsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWhhbmRsZSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItaGFuZGxlICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLXN0cmVhbSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1oYW5kbGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3IiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1wZXJsICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1wZXJsICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLXByb2Nlc3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCArPSAicGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXJhd3RhcCArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1yYXd0YXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1yYXd0YXAgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItYXJyYXkiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcmF3dGFwICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1yYXd0YXAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2UgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZSArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZSArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtcmVhZGVyICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXJlYWRlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXJlYWRlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtd3JpdGVyICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXdyaXRlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXdyaXRlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXJtLWFuc2ljb2xvciArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXJtLWFuc2ljb2xvciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVybS1hbnNpY29sb3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVybS1jYXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlcm0tY2FwICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVybS1jb21wbGV0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXJtLWNvbXBsZXRlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXJtLXJlYWRsaW5lICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXJtLXJlYWRsaW5lICs9ICJwZXJsLW1vZHVsZS10ZXJtLWNhcCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtYnVpbGRlci1mb3JtYXR0ZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtYnVpbGRlci1mb3JtYXR0ZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLW1vZHVsZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItbW9kdWxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItbW9kdWxlICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXIgKz0gInBlcmwtbW9kdWxlLWRhdGEtZHVtcGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtYnVpbGRlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItZm9ybWF0dGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItdG9kb2RpYWciCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3Rlci1jb2xvciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3Rlci1jb2xvciArPSAicGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtYnVpbGRlci10ZXN0ZXIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3RlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3RlciArPSAicGVybC1tb2R1bGUtdGVzdC1idWlsZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRvZG9kaWFnICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItdG9kb2RpYWcgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWhhcm5lc3MgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWhhcm5lc3MgKz0gInBlcmwtbW9kdWxlLXRhcC1oYXJuZXNzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWFnZ3JlZ2F0b3IiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWhhcm5lc3MgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtaGFybmVzcyArPSAicGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtbW9yZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1tb3JlICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItbW9kdWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1tb3JlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdCArPSAicGVybC1tb2R1bGUtZmlsZS10ZW1wIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1zaW1wbGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3Qtc2ltcGxlICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItbW9kdWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZSArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZSArPSAicGVybC1tb2R1bGUtdGVzdC1idWlsZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZSArPSAicGVybC1tb2R1bGUtdGhyZWFkcy1zaGFyZWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LXRlc3Rlci1jYXB0dXJlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZXJ1bm5lciArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LXRlc3Rlci1jYXB0dXJlcnVubmVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LXRlc3Rlci1jYXB0dXJlcnVubmVyICs9ICJwZXJsLW1vZHVsZS10ZXN0LXRlc3Rlci1jYXB0dXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItZGVsZWdhdGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtdGVzdGVyLWRlbGVnYXRlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItZGVsZWdhdGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtdGVzdGVyICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LXRlc3RlciArPSAicGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZXJ1bm5lciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtdGVzdGVyICs9ICJwZXJsLW1vZHVsZS10ZXN0LXRlc3Rlci1kZWxlZ2F0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtdGVzdGVyICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC1hYmJyZXYgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC1iYWxhbmNlZCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXh0LWJhbGFuY2VkICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRleHQtYmFsYW5jZWQgKz0gInBlcmwtbW9kdWxlLXNlbGZsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXh0LWJhbGFuY2VkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXh0LWJhbGFuY2VkICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRleHQtcGFyc2V3b3JkcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC10YWJzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRleHQtdGFicyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC10YWJzICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC13cmFwICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRleHQtd3JhcCArPSAicGVybC1tb2R1bGUtcmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXh0LXdyYXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRleHQtd3JhcCArPSAicGVybC1tb2R1bGUtdGV4dC10YWJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC13cmFwICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC13cmFwICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkICs9ICJwZXJsLW1vZHVsZS10aHJlYWRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkICs9ICJwZXJsLW1vZHVsZS10aHJlYWRzLXNoYXJlZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWQtcXVldWUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZC1xdWV1ZSArPSAicGVybC1tb2R1bGUtdGhyZWFkcy1zaGFyZWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWQtcXVldWUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkLXNlbWFwaG9yZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkLXNlbWFwaG9yZSArPSAicGVybC1tb2R1bGUtdGhyZWFkcy1zaGFyZWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWQtc2VtYXBob3JlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZHMgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZHMgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWRzICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZHMtc2hhcmVkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWRzLXNoYXJlZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWRzLXNoYXJlZCArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtYXJyYXkgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1maWxlICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1maWxlICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1maWxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtaGFuZGxlICs9ICJwZXJsLW1vZHVsZS10aWUtc3RkaGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGllLWhhbmRsZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtaGFzaC1uYW1lZGNhcHR1cmUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1oYXNoLW5hbWVkY2FwdHVyZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtaGFzaCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtbWVtb2l6ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGllLW1lbW9pemUgKz0gInBlcmwtbW9kdWxlLXRpZS1oYXNoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGllLXJlZmhhc2ggKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1yZWZoYXNoICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1yZWZoYXNoICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtcmVmaGFzaCArPSAicGVybC1tb2R1bGUtdGllLWhhc2giCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtcmVmaGFzaCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1zY2FsYXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGllLXN0ZGhhbmRsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGllLXN0ZGhhbmRsZSArPSAicGVybC1tb2R1bGUtdGllLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1zdWJzdHJoYXNoICs9ICJwZXJsLW1vZHVsZS1pbnRlZ2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1nbXRpbWUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1nbXRpbWUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtZ210aW1lICs9ICJwZXJsLW1vZHVsZS10aW1lLXRtIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1oaXJlcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWhpcmVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWhpcmVzICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtbG9jYWwgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtbG9jYWwgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1sb2NhbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWxvY2FsICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWxvY2FsICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWxvY2FsdGltZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWxvY2FsdGltZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1sb2NhbHRpbWUgKz0gInBlcmwtbW9kdWxlLXRpbWUtdG0iCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLXBpZWNlICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtcGllY2UgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1waWVjZSArPSAicGVybC1tb2R1bGUtaW50ZWdlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtcGllY2UgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1waWVjZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1waWVjZSArPSAicGVybC1tb2R1bGUtdGltZS1sb2NhbCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtcGllY2UgKz0gInBlcmwtbW9kdWxlLXRpbWUtc2Vjb25kcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtcGllY2UgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1zZWNvbmRzICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtc2Vjb25kcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLXNlY29uZHMgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1zZWNvbmRzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLXRtICs9ICJwZXJsLW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLXRtICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLWJpZzUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstYmlnNSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLWdiMjMxMiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1nYjIzMTIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1qaXN4MDIwOCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1qaXN4MDIwOCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLWtvcmVhbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1rb3JlYW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1waW55aW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstcGlueWluICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstc3Ryb2tlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLXN0cm9rZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLXpodXlpbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay16aHV5aW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWxvY2FsZSArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1sb2NhbGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1sb2NhbGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLW5vcm1hbGl6ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLW5vcm1hbGl6ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1ub3JtYWxpemUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1ub3JtYWxpemUgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS11Y2QgKz0gInBlcmwtbW9kdWxlLWNoYXJuYW1lcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtdWNkICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtdWNkICs9ICJwZXJsLW1vZHVsZS1mZWF0dXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS11Y2QgKz0gInBlcmwtbW9kdWxlLWlmIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS11Y2QgKz0gInBlcmwtbW9kdWxlLWludGVnZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLXVjZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS11Y2QgKz0gInBlcmwtbW9kdWxlLXVuaWNvZGUtbm9ybWFsaXplIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS11Y2QgKz0gInBlcmwtbW9kdWxlLXV0ZjgtaGVhdnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLXVjZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS11c2VyLWdyZW50ICs9ICJwZXJsLW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS11c2VyLWdyZW50ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVzZXItZ3JlbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVzZXItcHdlbnQgKz0gInBlcmwtbW9kdWxlLWNsYXNzLXN0cnVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVzZXItcHdlbnQgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVzZXItcHdlbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdXNlci1wd2VudCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdXNlci1wd2VudCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS11dGY4ICs9ICJwZXJsLW1vZHVsZS11dGY4LWhlYXZ5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdmVyc2lvbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdmVyc2lvbiArPSAicGVybC1tb2R1bGUtdmVyc2lvbi1yZWdleCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXZlcnNpb24gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdmVyc2lvbi1yZWdleCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUteHNsb2FkZXIgKz0gInBlcmwtbW9kdWxlLWR5bmFsb2FkZXIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcnVuLXB0ZXN0IGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC1zYW5pdHkvZmlsZXMvcnVuLXB0ZXN0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcnVuLXB0ZXN0CnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy9ydW4tcHRlc3QKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L3BlcmwtcHRlc3QuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC1zYW5pdHkvcGVybC1wdGVzdC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWRkOWI3ZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L3BlcmwtcHRlc3QuaW5jCkBAIC0wLDAgKzEsNTcgQEAKK2luaGVyaXQgcHRlc3QKKworU1JDX1VSSSArPSAiZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgICIKK2RvX2luc3RhbGxfcHRlc3QgKCkgeworCW1rZGlyIC1wICR7RH0ke1BURVNUX1BBVEh9CisJc2VkIC1lICJzOlwvdXNyXC9sb2NhbDoke2JpbmRpcn06ZyIgLWkgY3Bhbi92ZXJzaW9uL3QvKgorCXNlZCAtZSAiczpcL29wdDpcL3VzcjoiIC1pIFBvcnRpbmcvYWRkLXBhY2thZ2UucGwKKwlzZWQgLWUgInM6XC9sb2NhbFwvZ251XC86XC86IiAtaSBoaW50cy9jeHV4LnNoCisJdGFyIC1jIC0tZXhjbHVkZT10cnkgLS1leGNsdWRlPWEub3V0IC0tZXhjbHVkZT0nKi5vJyAtLWV4Y2x1ZGU9bGlicGVybC5zbyogLS1leGNsdWRlPU1ha2VmaWxlIC0tZXhjbHVkZT1tYWtlZmlsZSAtLWV4Y2x1ZGU9aG9zdHBlcmwgXAorCSAgICAtLWV4Y2x1ZGU9Y3lnd2luIC0tZXhjbHVkZT1vczIgLS1leGNsdWRlPWRqZ3BwIC0tZXhjbHVkZT1xbnggLS1leGNsdWRlPXN5bWJpYW4gLS1leGNsdWRlPWhhaWt1IFwKKwkgICAgLS1leGNsdWRlPXZtcyAtLWV4Y2x1ZGU9dm9zIC0tZXhjbHVkZT1OZXRXYXJlIC0tZXhjbHVkZT1hbWlnYW9zNCAgLS1leGNsdWRlPWJ1aWxkY3VzdG9taXplLnBsIFwKKwkgICAgLS1leGNsdWRlPSd3aW4zMi9jb25maWcuKicgLS1leGNsdWRlPXBsYW45IC0tZXhjbHVkZT1SRUFETUUucGxhbjkgLS1leGNsdWRlPXBlcmxwbGFuOS5wb2QgLS1leGNsdWRlPUNvbmZpZ3VyZSBcCisJICAgIC0tZXhjbHVkZT12ZXJ5Y2xlYW4uc2ggLS1leGNsdWRlPXJlYWxjbGVhbi5zaCAgLS1leGNsdWRlPWdldGlvY3Rsc2l6ZXMgXAorCSAgICAtLWV4Y2x1ZGU9ZGxfYWl4LnhzIC0tZXhjbHVkZT1zZGJtLjMgLS1leGNsdWRlPSdjZmxhZ3MuU0gnIC0tZXhjbHVkZT1tYWtlZmlsZS5vbGQgXAorCQktLWV4Y2x1ZGU9bWluaXBlcmwgLS1leGNsdWRlPWdlbmVyYXRlX3V1ZG1hcCAtLWV4Y2x1ZGU9cGF0Y2hlcyAqIHwgKCBjZCAke0R9JHtQVEVTVF9QQVRIfSAmJiB0YXIgLXggKQorCisJbG4gLXNmICR7YmluZGlyfS9wZXJsICR7RH0ke1BURVNUX1BBVEh9L3QvcGVybAorCisJIyBSZW1vdmUgYnVpbGQgaG9zdCByZWZlcmVuY2VzIGZyb20gdmFyaW91cyBzY2F0dGVyZWQgZmlsZXMuLi4KKwlmaW5kICIke0R9JHtQVEVTVF9QQVRIfSIgXAorCSAgICAgXCggLW5hbWUgJyouUEwnIC1vIC1uYW1lICdteWNvbmZpZycgLW8gLW5hbWUgJ2NmbGFncycgLW8gLW5hbWUgJyoucGwnIC1vIC1uYW1lICcqLnNoJyAtbyAtbmFtZSAnKi5wbScgXAorCSAgICAgLW8gLW5hbWUgJ2gyeHMnIC1vIC1uYW1lICdoMnBoJyBcCisJICAgICAtbyAtbmFtZSAnKi5oJyAtbyAtbmFtZSAnY29uZmlnLnNoLSonIC1vIC1uYW1lICdwb2QybWFuJyAgLW8gLW5hbWUgJ3BvZDJ0ZXh0JyBcKSBcCisJICAgIC10eXBlIGYgLWV4ZWMgc2VkIC1pIFwKKwkgICAgICAgLWUgInMsJHtEfSwsZyIgXAorCSAgICAgICAtZSAicywtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9IT1NUfSwsZyIgXAorCSAgICAgICAtZSAicywtaXN5c3RlbSR7U1RBR0lOR19JTkNESVJ9ICwsZyIgXAorCSAgICAgICAtZSAnc3wke0RFQlVHX1BSRUZJWF9NQVB9fHxnJyBcCisJICAgICAgIC1lICJzLCR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9wZXJsLW5hdGl2ZS8sJHtiaW5kaXJ9LyxnIiBcCisJICAgICAgIC1lICJzLCR7U1RBR0lOR19MSUJESVJ9LCR7bGliZGlyfSxnIiBcCisJICAgICAgIC1lICJzLCR7U1RBR0lOR19CSU5ESVJ9LCR7YmluZGlyfSxnIiBcCisJICAgICAgIC1lICJzLCR7U1RBR0lOR19JTkNESVJ9LCR7aW5jbHVkZWRpcn0sZyIgXAorCSAgICAgICAtZSAicywke1NUQUdJTkdfQklORElSX05BVElWRX0vLCxnIiBcCisJICAgICAgIC1lICJzLCR7U1RBR0lOR19CSU5ESVJfVE9PTENIQUlOfS8ke1RBUkdFVF9QUkVGSVh9LCR7YmluZGlyfSxnIiBcCisJICAgICAgIC1lICdzOiR7UkVDSVBFX1NZU1JPT1RfTkFUSVZFfTo6ZycgXAorCSAgICAgICAtZSAnczoke1JFQ0lQRV9TWVNST09UfTo6ZycgXAorCSAgICAgICAge30gKworCisJICMgUmVtb3ZlIGEgdXNlbGVzcyB0aW1lc3RhbXAuLi4KKwkgc2VkIC1pIC1lICcvQXV0b2dlbmVyYXRlZCBzdGFydGluZyBvbi9kJyAke0R9JHtQVEVTVF9QQVRIfS9saWIvdW5pY29yZS9ta3RhYmxlcy5sc3QKK30KKworcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQoKSB7CisgICAgIyBQdXQgYWxsICoudCBmaWxlcyBmcm9tIHRoZSBsaWIgZGlyIGluIHRoZSBwdGVzdCBwYWNrYWdlCisgICAgIyBkb19zcGxpdF9wYWNrYWdlcyByZXF1aXJlcyBhIHBhaXIgb2YgKCkgaW4gdGhlIHJlZ2V4LCBidXQgd2UgaGF2ZSBub3RoaW5nCisgICAgIyB0byBtYXRjaCwgc28gdXNlIGFuIGVtcHR5IHBhaXIuCisgICAgaWYgYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwdGVzdCcsIFRydWUsIEZhbHNlLCBkKToKKyAgICAgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZC5leHBhbmQoJyR7bGliZGlyfS9wZXJsLyR7UFZ9JyksIHInLipcLnQoKScsCisgICAgICAgICAgICAnJHtQTn0tcHRlc3QlcycsICclcycsIHJlY3Vyc2l2ZT1UcnVlLCBtYXRjaF9wYXRoPVRydWUpCit9CisKK1JERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICIke1BOfS1tb2R1bGVzICR7UE59LWRvYyBzZWQiCisKKyMgVGhlIHBlcmwtcHRlc3QgcGFja2FnZSBjb250YWlucyBQZXJsIGludGVybmFsIG1vZHVsZXMgYW5kIGdlbmVyYXRpbmcgZmlsZQorIyBkZXBlbmRlbmNpZXMgZm9yIGl0IGNhdXNlcyBwcm9ibGVtcy4KK1NLSVBfRklMRURFUFNfJHtQTn0tcHRlc3QgPSAnMScKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L3BlcmxfNS4yOC4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC1zYW5pdHkvcGVybF81LjI4LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjM5NDhhNQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L3BlcmxfNS4yOC4xLmJiCkBAIC0wLDAgKzEsMzA0IEBACitTVU1NQVJZID0gIlBlcmwgc2NyaXB0aW5nIGxhbmd1YWdlIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5wZXJsLm9yZy8iCitTRUNUSU9OID0gImRldmVsIgorTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NvcHlpbmc7bWQ1PTViMTIyYTM2ZDBmNmRjNTUyNzlhMGViYzY5ZjNjNjBiIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0FydGlzdGljO21kNT03MWE0ZDVkOWFjYzE4YzA5NTJhNmRmMjIxOGJiNjhkYSBcCisgICAgICAgICAgICAgICAgICAgICIKKworCitTUkNfVVJJID0gImh0dHBzOi8vd3d3LmNwYW4ub3JnL3NyYy81LjAvcGVybC0ke1BWfS50YXIuZ3o7bmFtZT1wZXJsIFwKKyAgICAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL2Fyc3YvcGVybC1jcm9zcy9yZWxlYXNlcy9kb3dubG9hZC8xLjIuMi9wZXJsLWNyb3NzLTEuMi4yLnRhci5nejtuYW1lPXBlcmwtY3Jvc3MgXAorICAgICAgICAgICBmaWxlOi8vcGVybC1yZGVwZW5kcy50eHQgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25maWd1cmVfdG9vbC5zaC1kby1ub3QtcXVvdGUtdGhlLWFyZ3VtZW50LXRvLWNvbW1hLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRXh0VXRpbHMtTWFrZU1ha2VyLWFkZC1MREZMQUdTLXdoZW4tbGlua2luZy1iaW5hcnktbS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVNvbWVob3ctdGhpcy1tb2R1bGUtYnJlYWtzLXRocm91Z2gtdGhlLXBlcmwtd3JhcHBlci0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZXJybm9fdmVyLmRpZmYgXAorICAgICAgICAgICBmaWxlOi8vbmF0aXZlLXBlcmxpbmMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1wZXJsLWNyb3NzLWFkZC1MREZMQUdTLXdoZW4tbGlua2luZy1saWJwZXJsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3BlcmwtZHlubG9hZGVyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlX3BhdGguc2gtZG8tbm90LWhhcmRjb2RlLXByZWZpeC1saWItYXMtbGlici5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgXAorICAgICAgICAgICBmaWxlOi8vcGVybC1jb25maWdwbS1zd2l0Y2gucGF0Y2ggXAorIgorCitTUkNfVVJJW3BlcmwubWQ1c3VtXSA9ICI4MzgxOThjNDNkNGYzOWQ3YWY3OTdlMmY1OWMyYmVlNSIKK1NSQ19VUklbcGVybC5zaGEyNTZzdW1dID0gIjNlYmY4NWZlNjVkZjJlZTE2NWIyMjU5NjU0MGI3ZDVkNDJmODRkNGI3MmQ4NDgzNGY3NGUyZTBiODk1NmMzNDciCitTUkNfVVJJW3BlcmwtY3Jvc3MubWQ1c3VtXSA9ICI5YTZjMDU0OTdiZGRlOWEzMTA2ZTNiZTkyNDZmNGRhMSIKK1NSQ19VUklbcGVybC1jcm9zcy5zaGEyNTZzdW1dID0gImU2OTg3ODM4ZjI3ZDhjZDMzNjhlYTY4ZmM1NmE2OGNjNTIzNzE1MDU5NTA5MjdiOGI3YzVjYjc2ZTNhOTRjYWEiCisKK1BSID0gInIxIgorCitTID0gIiR7V09SS0RJUn0vcGVybC0ke1BWfSIKKworaW5oZXJpdCB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4KKworREVQRU5EUyArPSAiZGIgZ2RibSB6bGliIHZpcnR1YWwvY3J5cHQiCisKK1BFUkxfTElCX1ZFUiA9ICIke0AnLicuam9pbihkLmdldFZhcignUFYnKS5zcGxpdCgnLicpWzA6Ml0pfS4wIgorCitkb191bnBhY2tfYXBwZW5kKCkgeworICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygnZG9fY29weV9wZXJsY3Jvc3MnLCBkKQorfQorCitkb19jb3B5X3Blcmxjcm9zcygpIHsKKyAgICBjcCAtcmYgJHtXT1JLRElSfS9wZXJsLWNyb3NzKi8qICR7U30KK30KKworZG9fY29uZmlndXJlX2NsYXNzLXRhcmdldCgpIHsKKyAgICAuL2NvbmZpZ3VyZSAtLXByZWZpeD0ke3ByZWZpeH0gLS1saWJkaXI9JHtsaWJkaXJ9IFwKKyAgICAtLXRhcmdldD0ke1RBUkdFVF9TWVN9IFwKKyAgICAtRHVzZXNocnBsaWIgXAorICAgIC1Ec29uYW1lPWxpYnBlcmwuc28uNSBcCisgICAgLUR2ZW5kb3JwcmVmaXg9JHtwcmVmaXh9IFwKKyAgICAtRGFyY2hsaWJleHA9JHtTVEFHSU5HX0xJQkRJUn0vcGVybDUvJHtQVn0vJHtUQVJHRVRfQVJDSH0tbGludXgKKworICAgICNwZXJsLmMgdXNlcyBhbiBBUkNITElCX0VYUCBkZWZpbmUgdG8gZ2VuZXJhdGUgY29tcGlsZS10aW1lIGNvZGUgdGhhdAorICAgICNhZGRzIHRoZSBhcmNobGliZXhwIHBhdGggdG8gQElOQyBkdXJpbmcgcnVuLXRpbWUgaW5pdGlhbGl6YXRpb24gb2YgYQorICAgICNuZXcgcGVybCBpbnRlcnByZXRlci4KKworICAgICNCZWNhdXNlIHdlJ3ZlIGNoYW5nZWQgdGhpcyB2YWx1ZSBpbiBhIHRlbXBvcmFyeSB3YXkgdG8gbWFrZSBpdAorICAgICNwb3NzaWJsZSB0byB1c2UgRXh0VXRpbHM6OkVtYmVkIGluIHRoZSB0YXJnZXQgYnVpbGQgKHRoZSB0ZW1wb3JhcnkKKyAgICAjdmFsdWUgaW4gY29uZmlnLnNoIGdldHMgcmUtc3RyaXBwZWQgb3V0IGR1cmluZyBwYWNrYWdpbmcpLCB0aGUKKyAgICAjQVJDSExJQl9FWFAgdmFsdWUgdGhhdCBnZXRzIGdlbmVyYXRlZCBzdGlsbCB1c2VzIHRoZSB0ZW1wb3JhcnkgdmVyc2lvbgorICAgICNpbnN0ZWFkIG9mIHRoZSBvcmlnaW5hbCBleHBlY3RlZCB2ZXJzaW9uIChpLmUuIGJlY2F1c2VzIGl0J3MgaW4gdGhlCisgICAgI2dlbmVyYXRlZCBjb25maWcuaCwgaXQgZG9lc24ndCBnZXQgc3RyaXBwZWQgb3V0IGR1cmluZyBwYWNrYWdpbmcgbGlrZQorICAgICN0aGUgb3RoZXJzIGluIGNvbmZpZy5zaCkuCisKKyAgICBzZWQgLWkgLWUgInMsJHtTVEFHSU5HX0xJQkRJUn0sJHtsaWJkaXJ9LGciIGNvbmZpZy5oCit9CisKK2RvX2NvbmZpZ3VyZV9jbGFzcy1uYXRpdmVzZGsoKSB7CisgICAgLi9jb25maWd1cmUgLS1wcmVmaXg9JHtwcmVmaXh9IFwKKyAgICAtLXRhcmdldD0ke1RBUkdFVF9TWVN9IFwKKyAgICAtRHVzZXNocnBsaWIgXAorICAgIC1Ec29uYW1lPWxpYnBlcmwuc28uNSBcCisgICAgLUR2ZW5kb3JwcmVmaXg9JHtwcmVmaXh9IFwKKyAgICAtRGFyY2hsaWJleHA9JHtTVEFHSU5HX0xJQkRJUn0vcGVybDUvJHtQVn0vJHtUQVJHRVRfQVJDSH0tbGludXgKKworICAgICMgU2VlIHRoZSBjb21tZW50IGFib3ZlCisgICAgc2VkIC1pIC1lICJzLCR7U1RBR0lOR19MSUJESVJ9LCR7bGliZGlyfSxnIiBjb25maWcuaAorfQorCitkb19jb25maWd1cmVfY2xhc3MtbmF0aXZlKCkgeworICAgIC4vY29uZmlndXJlIC0tcHJlZml4PSR7cHJlZml4fSBcCisgICAgLURiaW49JHtiaW5kaXJ9L3BlcmwtbmF0aXZlIFwKKyAgICAtRHVzZXNocnBsaWIgXAorICAgIC1Ec29uYW1lPWxpYnBlcmwuc28uNSBcCisgICAgLUR2ZW5kb3JwcmVmaXg9JHtwcmVmaXh9IFwKKyAgICAtVWlfeGxvY2FsZQorfQorCitkb19jb21waWxlKCkgeworICAgIG9lX3J1bm1ha2UKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwKKworICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS9wZXJsNQorICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS9wZXJsNS8ke1BWfS8KKyAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0vcGVybDUvJHtQVn0vRXh0VXRpbHMvCisKKyAgICAjIFNhdmUgbmF0aXZlIGNvbmZpZworICAgIGluc3RhbGwgY29uZmlnLnNoICR7RH0ke2xpYmRpcn0vcGVybDUKKyAgICBpbnN0YWxsIGxpYi9Db25maWcucG0gJHtEfSR7bGliZGlyfS9wZXJsNS8ke1BWfS8KKyAgICBpbnN0YWxsIGxpYi9FeHRVdGlscy90eXBlbWFwICR7RH0ke2xpYmRpcn0vcGVybDUvJHtQVn0vRXh0VXRpbHMvCisKKyAgICAjIEZpeCB1cCBzaGFyZWQgbGlicmFyeQorICAgIHJtICR7RH0vJHtsaWJkaXJ9L3Blcmw1LyR7UFZ9LyovQ09SRS9saWJwZXJsLnNvCisgICAgbG4gLXNmIC4uLy4uLy4uLy4uL2xpYnBlcmwuc28uJHtQRVJMX0xJQl9WRVJ9ICQoZWNobyAke0R9LyR7bGliZGlyfS9wZXJsNS8ke1BWfS8qL0NPUkUpL2xpYnBlcmwuc28KK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgeworICAgICMgVGhpcyBpcyB1c2VkIHRvIHN1YnN0aXR1dGUgdGFyZ2V0IGNvbmZpZ3VyYXRpb24gd2hlbiBydW5uaW5nIG5hdGl2ZSBwZXJsIHZpYSBwZXJsLWNvbmZpZ3BtLXN3aXRjaC5wYXRjaAorICAgIGxuIC1zIENvbmZpZ19oZWF2eS5wbCAke0R9JHtsaWJkaXJ9L3Blcmw1LyR7UFZ9LyR7VEFSR0VUX0FSQ0h9LWxpbnV4L0NvbmZpZ19oZWF2eS10YXJnZXQucGwKKworfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsoKSB7CisgICAgIyBUaGlzIGlzIHVzZWQgdG8gc3Vic3RpdHV0ZSB0YXJnZXQgY29uZmlndXJhdGlvbiB3aGVuIHJ1bm5pbmcgbmF0aXZlIHBlcmwgdmlhIHBlcmwtY29uZmlncG0tc3dpdGNoLnBhdGNoCisgICAgbG4gLXMgQ29uZmlnX2hlYXZ5LnBsICR7RH0ke2xpYmRpcn0vcGVybDUvJHtQVn0vJHtUQVJHRVRfQVJDSH0tbGludXgvQ29uZmlnX2hlYXZ5LXRhcmdldC5wbAorCisgICAgY3JlYXRlX3dyYXBwZXIgJHtEfSR7YmluZGlyfS9wZXJsIFwKKyAgICAgICAgUEVSTDVMSUI9JyRQRVJMNUxJQjokT0VDT1JFX05BVElWRV9TWVNST09ULyR7bGliZGlyX25hdGl2ZXNka30vcGVybDUvc2l0ZV9wZXJsLyR7UFZ9OiRPRUNPUkVfTkFUSVZFX1NZU1JPT1QvJHtsaWJkaXJfbmF0aXZlc2RrfS9wZXJsNS92ZW5kb3JfcGVybC8ke1BWfTokT0VDT1JFX05BVElWRV9TWVNST09ULyR7bGliZGlyX25hdGl2ZXNka30vcGVybDUvJHtQVn0nCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7CisgICAgIyBUaG9zZSB3cmFwcGVycyBtZWFuIHRoYXQgcGVybCBpbnN0YWxsZWQgZnJvbSBzc3RhdGUgKHdoaWNoIG1heSBjaGFuZ2UKKyAgICAjIHBhdGggbG9jYXRpb24pIHdvcmtzIGFuZCB0aGF0IGluIHRoZSBuYXRpdmVzZGsgY2FzZSwgdGhlIFNESyBjYW4gYmUKKyAgICAjIGluc3RhbGxlZCB0byBhIGRpZmZlcmVudCBsb2NhdGlvbiBmcm9tIHRoZSBvbmUgaXQgd2FzIGJ1aWx0IGZvci4KKyAgICBjcmVhdGVfd3JhcHBlciAke0R9JHtiaW5kaXJ9L3BlcmwtbmF0aXZlL3BlcmwgUEVSTDVMSUI9JyRQRVJMNUxJQjoke1NUQUdJTkdfTElCRElSfS9wZXJsNS9zaXRlX3BlcmwvJHtQVn06JHtTVEFHSU5HX0xJQkRJUn0vcGVybDUvdmVuZG9yX3BlcmwvJHtQVn06JHtTVEFHSU5HX0xJQkRJUn0vcGVybDUvJHtQVn0nCisKKyAgICAjIFVzZSAvdXNyL2Jpbi9lbnYgbmF0aXZlcGVybCBmb3IgdGhlIHBlcmwgc2NyaXB0LgorICAgIGZvciBmIGluIGBncmVwIC1JbCAnIyEgKiR7YmluZGlyfS9wZXJsJyAke0R9LyR7YmluZGlyfS8qYDsgZG8KKyAgICAgICAgICAgIHNlZCAtaSAtZSAnc3wke2JpbmRpcn0vcGVybHwvdXNyL2Jpbi9lbnYgbmF0aXZlcGVybHwnICRmCisgICAgZG9uZQorfQorCitQQUNLQUdFX1BSRVBST0NFU1NfRlVOQ1MgKz0gInBlcmxfcGFja2FnZV9wcmVwcm9jZXNzIgorCitwZXJsX3BhY2thZ2VfcHJlcHJvY2VzcyAoKSB7CisgICAgICAgICMgRml4IHVwIGluc3RhbGxlZCBjb25maWd1cmF0aW9uCisgICAgICAgIHNlZCAtaSAtZSAicywke0R9LCxnIiBcCisgICAgICAgICAgICAgICAtZSAicywke0RFQlVHX1BSRUZJWF9NQVB9LCxnIiBcCisgICAgICAgICAgICAgICAtZSAicywtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9IT1NUfSwsZyIgXAorICAgICAgICAgICAgICAgLWUgInMsLWlzeXN0ZW0ke1NUQUdJTkdfSU5DRElSfSAsLGciIFwKKyAgICAgICAgICAgICAgIC1lICJzLCR7U1RBR0lOR19MSUJESVJ9LCR7bGliZGlyfSxnIiBcCisgICAgICAgICAgICAgICAtZSAicywke1NUQUdJTkdfQklORElSfSwke2JpbmRpcn0sZyIgXAorICAgICAgICAgICAgICAgLWUgInMsJHtTVEFHSU5HX0lOQ0RJUn0sJHtpbmNsdWRlZGlyfSxnIiBcCisgICAgICAgICAgICAgICAtZSAicywke1NUQUdJTkdfQklORElSX05BVElWRX0vcGVybC1uYXRpdmUvLCR7YmluZGlyfS8sZyIgXAorICAgICAgICAgICAgICAgLWUgInMsJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9LywsZyIgXAorICAgICAgICAgICAgICAgLWUgInMsJHtTVEFHSU5HX0JJTkRJUl9UT09MQ0hBSU59LyR7VEFSR0VUX1BSRUZJWH0sJHtiaW5kaXJ9LGciIFwKKyAgICAgICAgICAgICAgIC1lICdzOiR7UkVDSVBFX1NZU1JPT1R9OjpnJyBcCisgICAgICAgICAgICAke1BLR0R9JHtiaW5kaXJ9L2gyeHMgXAorICAgICAgICAgICAgJHtQS0dEfSR7YmluZGlyfS9oMnBoIFwKKyAgICAgICAgICAgICR7UEtHRH0ke2JpbmRpcn0vcG9kMm1hbiBcCisgICAgICAgICAgICAke1BLR0R9JHtiaW5kaXJ9L3BvZDJ0ZXh0IFwKKyAgICAgICAgICAgICR7UEtHRH0ke2JpbmRpcn0vcG9kMnVzYWdlIFwKKyAgICAgICAgICAgICR7UEtHRH0ke2JpbmRpcn0vcG9kY2hlY2tlciBcCisgICAgICAgICAgICAke1BLR0R9JHtiaW5kaXJ9L3BvZHNlbGVjdCBcCisgICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3Blcmw1LyR7UFZ9LyR7VEFSR0VUX0FSQ0h9LWxpbnV4L0NPUkUvY29uZmlnLmggXAorICAgICAgICAgICAgJHtQS0dEfSR7bGliZGlyfS9wZXJsNS8ke1BWfS8ke1RBUkdFVF9BUkNIfS1saW51eC9DT1JFL3BlcmwuaCBcCisgICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3Blcmw1LyR7UFZ9LyR7VEFSR0VUX0FSQ0h9LWxpbnV4L0NPUkUvcHAuaCBcCisgICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3Blcmw1LyR7UFZ9L0NvbmZpZy5wbSBcCisgICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3Blcmw1LyR7UFZ9LyR7VEFSR0VUX0FSQ0h9LWxpbnV4L0NvbmZpZy5wbSBcCisgICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3Blcmw1LyR7UFZ9LyR7VEFSR0VUX0FSQ0h9LWxpbnV4L0NvbmZpZy5wb2QgXAorICAgICAgICAgICAgJHtQS0dEfSR7bGliZGlyfS9wZXJsNS8ke1BWfS8ke1RBUkdFVF9BUkNIfS1saW51eC9Db25maWdfaGVhdnkucGwgXAorICAgICAgICAgICAgJHtQS0dEfSR7bGliZGlyfS9wZXJsNS8ke1BWfS9FeHRVdGlscy9MaWJsaXN0L0tpZC5wbSBcCisgICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3Blcmw1LyR7UFZ9L0ZpbGVDYWNoZS5wbSBcCisgICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3Blcmw1LyR7UFZ9L3BvZC8qLnBvZCBcCisgICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3Blcmw1L2NvbmZpZy5zaAorfQorCityZXF1aXJlIHBlcmwtcHRlc3QuaW5jCisKK0ZJTEVTXyR7UE59ID0gIiR7YmluZGlyfS9wZXJsICR7YmluZGlyfS9wZXJsLnJlYWwgJHtiaW5kaXJ9L3Blcmwke1BWfSAke2xpYmRpcn0vbGlicGVybC5zbyogXAorICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3Blcmw1L3NpdGVfcGVybCBcCisgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybDUvJHtQVn0vQ29uZmlnLnBtIFwKKyAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsNS8ke1BWfS8qL0NvbmZpZ19oZWF2eS10YXJnZXQucGwgXAorICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3Blcmw1L2NvbmZpZy5zaCBcCisgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybDUvJHtQVn0vc3RyaWN0LnBtIFwKKyAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsNS8ke1BWfS93YXJuaW5ncy5wbSBcCisgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybDUvJHtQVn0vd2FybmluZ3MgXAorICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3Blcmw1LyR7UFZ9L3ZhcnMucG0gXAorICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3Blcmw1L3NpdGVfcGVybCBcCisgICAgICAgICAgICAgICAiCitSUFJPVklERVNfJHtQTn0gKz0gInBlcmwtbW9kdWxlLXN0cmljdCBwZXJsLW1vZHVsZS12YXJzIHBlcmwtbW9kdWxlLWNvbmZpZyBwZXJsLW1vZHVsZS13YXJuaW5ncyBcCisgICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgorCitGSUxFU18ke1BOfS1zdGF0aWNkZXZfYXBwZW5kID0gIiAke2xpYmRpcn0vcGVybDUvJHtQVn0vKi9DT1JFL2xpYnBlcmwuYSIKKworRklMRVNfJHtQTn0tZGV2X2FwcGVuZCA9ICIgJHtsaWJkaXJ9L3Blcmw1LyR7UFZ9LyovQ09SRSIKKworRklMRVNfJHtQTn0tZG9jX2FwcGVuZCA9ICIgJHtsaWJkaXJ9L3Blcmw1LyR7UFZ9L1VuaWNvZGUvQ29sbGF0ZS8qLnR4dCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybDUvJHtQVn0vKi8ucGFja2xpc3QgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3Blcmw1LyR7UFZ9L0V4dFV0aWxzL01BTklGRVNULlNLSVAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3Blcmw1LyR7UFZ9L0V4dFV0aWxzL3hzdWJwcCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybDUvJHtQVn0vRXh0VXRpbHMvdHlwZW1hcCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybDUvJHtQVn0vRW5jb2RlL2VuY29kZS5oIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiCitQQUNLQUdFUyArPSAiJHtQTn0tbWlzYyIKKworRklMRVNfJHtQTn0tbWlzYyA9ICIke2JpbmRpcn0vKiIKKworUEFDS0FHRVMgKz0gIiR7UE59LXBvZCIKKworRklMRVNfJHtQTn0tcG9kID0gIiR7bGliZGlyfS9wZXJsNS8ke1BWfS9wb2QgXAorICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsNS8ke1BWfS8qLnBvZCBcCisgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3Blcmw1LyR7UFZ9LyovKi5wb2QgXAorICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsNS8ke1BWfS8qLyovKi5wb2QgXCAKKyAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybDUvJHtQVn0vKi8qLyovKi5wb2QgXCAKKyAgICAgICAgICAgICAgICAgICIKKworUEFDS0FHRVMgKz0gIiR7UE59LW1vZHVsZS1jcGFuICR7UE59LW1vZHVsZS11bmljb3JlIgorCitGSUxFU18ke1BOfS1tb2R1bGUtY3BhbiArPSAiJHtsaWJkaXJ9L3Blcmw1LyR7UFZ9L0NQQU4gXAorICAgICAgICAgICAgICAgICAgICAgICAgICAiCitGSUxFU18ke1BOfS1tb2R1bGUtdW5pY29yZSArPSAiJHtsaWJkaXJ9L3Blcmw1LyR7UFZ9L3VuaWNvcmUiCisKKyMgQ3JlYXRlIGEgcGVybC1tb2R1bGVzIHBhY2thZ2UgcmVjb21tZW5kaW5nIGFsbCB0aGUgb3RoZXIgcGVybAorIyBwYWNrYWdlcyAoYWN0dWFsbHkgdGhlIG5vbiBtb2R1bGVzIHBhY2thZ2VzIGFuZCBub3QgY3JlYXRlZCB0b28pCitBTExPV19FTVBUWV8ke1BOfS1tb2R1bGVzID0gIjEiCitQQUNLQUdFUyArPSAiJHtQTn0tbW9kdWxlcyAiCisKK1BBQ0tBR0VTUExJVEZVTkNTX3ByZXBlbmQgPSAic3BsaXRfcGVybF9wYWNrYWdlcyAiCisKK3B5dGhvbiBzcGxpdF9wZXJsX3BhY2thZ2VzICgpIHsKKyAgICBsaWJkaXIgPSBkLmV4cGFuZCgnJHtsaWJkaXJ9L3Blcmw1LyR7UFZ9JykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBsaWJkaXIsIHInLiovYXV0by8oW14uXSopL1teL10qXC4oc298bGR8aXh8YWwpJywgJyR7UE59LW1vZHVsZS0lcycsICdwZXJsIG1vZHVsZSAlcycsIHJlY3Vyc2l2ZT1UcnVlLCBtYXRjaF9wYXRoPVRydWUsIHByZXBlbmQ9RmFsc2UpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgbGliZGlyLCByJy4qbGludXgvKFteXC9dKilcLnBtJywgJyR7UE59LW1vZHVsZS0lcycsICdwZXJsIG1vZHVsZSAlcycsIHJlY3Vyc2l2ZT1UcnVlLCBhbGxvd19kaXJzPUZhbHNlLCBtYXRjaF9wYXRoPVRydWUsIHByZXBlbmQ9RmFsc2UpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgbGliZGlyLCByJ01vZHVsZS8oW15cL10qKVwucG0nLCAnJHtQTn0tbW9kdWxlLSVzJywgJ3BlcmwgbW9kdWxlICVzJywgcmVjdXJzaXZlPVRydWUsIGFsbG93X2RpcnM9RmFsc2UsIG1hdGNoX3BhdGg9VHJ1ZSwgcHJlcGVuZD1GYWxzZSkKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBsaWJkaXIsIHInTW9kdWxlLyhbXlwvXSopLy4qJywgJyR7UE59LW1vZHVsZS0lcycsICdwZXJsIG1vZHVsZSAlcycsIHJlY3Vyc2l2ZT1UcnVlLCBhbGxvd19kaXJzPUZhbHNlLCBtYXRjaF9wYXRoPVRydWUsIHByZXBlbmQ9RmFsc2UpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgbGliZGlyLCByJy4qbGludXgvKFteXC9dLiopXC4ocG18cGx8ZTJ4KScsICcke1BOfS1tb2R1bGUtJXMnLCAncGVybCBtb2R1bGUgJXMnLCByZWN1cnNpdmU9VHJ1ZSwgYWxsb3dfZGlycz1GYWxzZSwgbWF0Y2hfcGF0aD1UcnVlLCBwcmVwZW5kPUZhbHNlKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGxpYmRpciwgcicoXig/IShDUEFOXC98Q1BBTlBMVVNcL3xNb2R1bGVcL3x1bmljb3JlXC8pW15cL10pLiopXC4ocG18cGx8ZTJ4KScsICcke1BOfS1tb2R1bGUtJXMnLCAncGVybCBtb2R1bGUgJXMnLCByZWN1cnNpdmU9VHJ1ZSwgYWxsb3dfZGlycz1GYWxzZSwgbWF0Y2hfcGF0aD1UcnVlLCBwcmVwZW5kPUZhbHNlKQorCisgICAgIyBwZXJsLW1vZHVsZXMgc2hvdWxkIHJlY29tbWVuZCBldmVyeSBwZXJsIG1vZHVsZSwgYW5kIG9ubHkgdGhlCisgICAgIyBtb2R1bGVzLiBEb24ndCBhdHRlbXB0IHRvIHVzZSB0aGUgcmVzdWx0IG9mIGRvX3NwbGl0X3BhY2thZ2VzKCkgYXMgc29tZQorICAgICMgbW9kdWxlcyBhcmUgbWFudWFsbHkgc3BsaXQgKGVnLiBwZXJsLW1vZHVsZS11bmljb3JlKS4KKyAgICBwYWNrYWdlcyA9IGZpbHRlcihsYW1iZGEgcDogJ3BlcmwtbW9kdWxlLScgaW4gcCwgZC5nZXRWYXIoJ1BBQ0tBR0VTJykuc3BsaXQoKSkKKyAgICBkLnNldFZhcihkLmV4cGFuZCgiUlJFQ09NTUVORFNfJHtQTn0tbW9kdWxlcyIpLCAnICcuam9pbihwYWNrYWdlcykpCisKKyAgICAjIFJlYWQgdGhlIHByZS1nZW5lcmF0ZWQgZGVwZW5kZW5jeSBmaWxlLCBhbmQgdXNlIGl0IHRvIHNldCBtb2R1bGUgZGVwZW5kZWNpZXMKKyAgICBmb3IgbGluZSBpbiBvcGVuKGQuZXhwYW5kKCIke1dPUktESVJ9IikgKyAnL3BlcmwtcmRlcGVuZHMudHh0JykucmVhZGxpbmVzKCk6CisgICAgICAgIHNwbGl0bGluZSA9IGxpbmUuc3BsaXQoKQorICAgICAgICBtb2R1bGUgPSBzcGxpdGxpbmVbMF0ucmVwbGFjZSgiUkRFUEVORFNfcGVybCIsICJSREVQRU5EU18ke1BOfSIpCisgICAgICAgIGRlcGVuZHMgPSBzcGxpdGxpbmVbMl0uc3RyaXAoJyInKS5yZXBsYWNlKCJwZXJsLW1vZHVsZSIsICIke1BOfS1tb2R1bGUiKQorICAgICAgICBkLmFwcGVuZFZhcihkLmV4cGFuZChtb2R1bGUpLCAiICIgKyBkZXBlbmRzKQorfQorCitQQUNLQUdFU19EWU5BTUlDX2NsYXNzLXRhcmdldCArPSAiXnBlcmwtbW9kdWxlLS4qIgorUEFDS0FHRVNfRFlOQU1JQ19jbGFzcy1uYXRpdmVzZGsgKz0gIl5uYXRpdmVzZGstcGVybC1tb2R1bGUtLioiCisKK1JERVBFTkRTXyR7UE59LW1pc2MgKz0gInBlcmwgcGVybC1tb2R1bGVzIgorUkRFUEVORFNfJHtQTn0tcG9kICs9ICJwZXJsIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK1NTVEFURV9TQ0FOX0ZJTEVTICs9ICIqLnBtICoucG9kICouaCAqLnBsICouc2giCisKK2RvX2NyZWF0ZV9yZGVwZW5kc19pbmMoKSB7CisgICAgY2QgJHtXT1JLRElSfQorICAgIGNhdCA8PCdFT1BSRUFNQkxFJyA+ICR7V09SS0RJUn0vcGVybC1yZGVwZW5kcy5pbmMKKworIyBTb21lIGFkZGl0aW9uYWwgZGVwZW5kZW5jaWVzIHRoYXQgdGhlIGFib3ZlIGRvZXNuJ3QgbWFuYWdlIHRvIGZpZ3VyZSBvdXQKK1JERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXNwZWMgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMtdW5peCIKK1JERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludCArPSAiJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50LWNhbGMiCitSREVQRU5EU18ke1BOfS1tb2R1bGUtdGhyZWFkLXF1ZXVlICs9ICIke1BOfS1tb2R1bGUtYXR0cmlidXRlcyIKK1JERVBFTkRTXyR7UE59LW1vZHVsZS1vdmVybG9hZCArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkaW5nIgorCisjIEdlbmVyYXRlZCBkZXBlbmRzIGxpc3QgYmV5b25kIHRoaXMgbGluZQorRU9QUkVBTUJMRQorICAgIHRlc3QgLWUgcGFja2FnZXMtc3BsaXQubmV3ICYmIHJtIC1yZiBwYWNrYWdlcy1zcGxpdC5uZXcKKyAgICBjcCAtciBwYWNrYWdlcy1zcGxpdCBwYWNrYWdlcy1zcGxpdC5uZXcgJiYgY2QgcGFja2FnZXMtc3BsaXQubmV3CisgICAgZmluZCAuIC1uYW1lIFwqLnBtIHwgeGFyZ3Mgc2VkIC1pICcvXj1oZWFkLywvXj1jdXQvZCcKKyAgICBlZ3JlcCAtciAiXlxzKihcPHVzZSAuKnxcPHJlcXVpcmUgLiopOz8iIHBlcmwtbW9kdWxlLSogLS1pbmNsdWRlPSIqLnBtIiB8IFwKKyAgICBzZWQgInMvXC8uKlwucG06ICovICs9IC9nO3MvW1wiXCddLy9nO3MvOy4qL1wiL2c7cy8rPSAuKlwocmVxdWlyZVx8dXNlXClcPiAqLys9IFwicGVybC1tb2R1bGUtL2c7cy9DUEFOUExVUzo6LiovY3BhbnBsdXMvZztzL0NQQU46Oi4qL2NwYW4vZztzLzo6Ly0vZztzLyBbXitcIl0uKi8vZztzL18vLS9nO3MvXC5wbFwiJC9cIi87cy9cIlw/XCQvXCIvO3MvKC8vOyIgfCB0ciBbOnVwcGVyOl0gWzpsb3dlcjpdIHwgXAorICAgIGF3ayAne2lmICgkMyAhPSAiXHgyMiIkMSJceDIyIil7IHByaW50ICQwfX0nfCBcCisgICAgZ3JlcCAtdiAtZSAiXC12bXNcLSIgLWUgbW9kdWxlLTUgLWUgIl4kIiAtZSAiXFwkIiAtZSB5b3VyIC1lIHRrIC1lIGF1dG9wZXJsIC1lIGh0bWwgLWUgaHR0cCAtZSBwYXJzZS1jcGFuIC1lIHBlcmwtb3N0eXBlIC1lIG5kYm0tZmlsZSAtZSBtb2R1bGUtbWFjIC1lIGZjZ2kgLWUgbHdwIC1lIGRiZCAtZSBkYml4IHwgXAorICAgIHNvcnQgLXUgfCBcCisgICAgc2VkICdzL14vUkRFUEVORFNfLztzL3BlcmwtbW9kdWxlLS8ke1BOfS1tb2R1bGUtL2c7cy9tb2R1bGUtXChtb2R1bGUtXCkvXDEvZztzL1wobW9kdWxlLWxvYWRcKS1jb25kaXRpb25hbC9cMS9nO3MvZW5jb2RlLWNvbmZpZ2xvY2FsLyYtcG0vOycgfCBcCisgICAgZWdyZXAgLXd2ICc9Pnxtb2R1bGUtYXxtb2R1bGUtYXBhY2hlLj98bW9kdWxlLWFwcnxtb2R1bGUtYXV0aGVuLXNhc2x8bW9kdWxlLWItYXNtZGF0YXxtb2R1bGUtY29udmVydC1lYmNkaWN8bW9kdWxlLWRldmVsLXNpemV8bW9kdWxlLWRpZ2VzdC1wZXJsLW1kNXxtb2R1bGUtZHVtcHZhbHVlfG1vZHVsZS1leHR1dGlscy1jb25zdGFudC1hYWFyZ2g1Nmhhc2h8bW9kdWxlLWV4dHV0aWxzLXhzc3ltc2V0fG1vZHVsZS1maWxlLWJzZGdsb2J8bW9kdWxlLWZvcnxtb2R1bGUtaXR8bW9kdWxlLWlvLXNvY2tldC1pbmV0Nnxtb2R1bGUtaW8tc29ja2V0LXNzbHxtb2R1bGUtaW8tc3RyaW5nfG1vZHVsZS1pcGMtc3lzdGVtLXNpbXBsZXxtb2R1bGUtbGV4aWNhbHxtb2R1bGUtbG9jYWwtbGlifG1ldGFkYXRhfG1vZHVsZS1tb2RwZXJsLXV0aWx8bW9kdWxlLXBsdWdnYWJsZS1vYmplY3R8bW9kdWxlLXRlc3QtYnVpbGRlci1pby1zY2FsYXJ8bW9kdWxlLXRlc3QyfG1vZHVsZS10ZXh0LXVuaWRlY29kZXxtb2R1bGUtdW5pY29yZXxtb2R1bGUtd2luMzJ8b2JqZWN0c1xzbG9hZHxzeXNjYWxsLnBofHN5c3RlbWluZm8ucGh8JXMnIHwgXAorICAgIGVncmVwIC13diAnPT58bW9kdWxlLWFsZ29yaXRobS1kaWZmfG1vZHVsZS1jYXJwfG1vZHVsZS1jPGV4dHV0aWxzLW1tLXVuaXg+fG1vZHVsZS1lbmNvZGUtaGFuZXh0cmF8bW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci12ZXJzaW9uLXJlZ2V4fG1vZHVsZS1maWxlLXNwZWN8bW9kdWxlLWlvLWNvbXByZXNzLWx6bWF8bW9kdWxlLWxvY2FsZS1tYWtldGV4dC1sZXhpY29ufG1vZHVsZS1sb2ctYWdlbnR8bW9kdWxlLW1ldGEtbm90YXRpb258bW9kdWxlLW5ldC1sb2NhbGNmZ3xtb2R1bGUtbmV0LXBpbmctZXh0ZXJuYWx8bW9kdWxlLWItZGVwYXJzZXxtb2R1bGUtc2NhbGFyLXV0aWx8bW9kdWxlLXNvbWUtbW9kdWxlfG1vZHVsZS1zeW1ib2x8bW9kdWxlLXVyaXxtb2R1bGUtd2luMzJhcGktZmlsZScgPj4gJHtXT1JLRElSfS9wZXJsLXJkZXBlbmRzLmdlbmVyYXRlZAorICAgIGNwICR7V09SS0RJUn0vcGVybC1yZGVwZW5kcy5nZW5lcmF0ZWQgJHtUSElTRElSfS9maWxlcy9wZXJsLXJkZXBlbmRzLnR4dAorfQorCisjIGJpdGJha2UgcGVybCAtYyBjcmVhdGVfcmRlcGVuZHNfaW5jCithZGR0YXNrIGRvX2NyZWF0ZV9yZGVwZW5kc19pbmMKKworU1lTUk9PVF9QUkVQUk9DRVNTX0ZVTkNTICs9ICJwZXJsX3N5c3Jvb3RfY3JlYXRlX3dyYXBwZXIiCisKK3Blcmxfc3lzcm9vdF9jcmVhdGVfd3JhcHBlciAoKSB7CisgICAgICAgbWtkaXIgLXAgJHtTWVNST09UX0RFU1RESVJ9JHtiaW5kaXJ9CisgICAgICAgIyBDcmVhdGUgYSB3cmFwcGVyIHRoYXQgL3Vzci9iaW4vZW52IHBlcmwgd2lsbCB1c2UgdG8gZ2V0IHBlcmwtbmF0aXZlLgorICAgICAgICMgVGhpcyBNVVNUIGxpdmUgaW4gdGhlIG5vcm1hbCBiaW5kaXIuCisgICAgICAgY2F0ID4gJHtTWVNST09UX0RFU1RESVJ9JHtiaW5kaXJ9L25hdGl2ZXBlcmwgPDwgRU9GCisjIS9iaW4vc2gKK3JlYWxwYXRoPVxgcmVhZGxpbmsgLWZuIFwkMFxgCitleGVjIFxgZGlybmFtZSBcJHJlYWxwYXRoXGAvcGVybC1uYXRpdmUvcGVybCAiXCRAIgorRU9GCisgICAgICAgY2htb2QgMDc1NSAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcn0vbmF0aXZlcGVybAorICAgICAgIGNhdCAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcn0vbmF0aXZlcGVybAorfQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL2xpYmVycm9yLXBlcmxfMC4xNzAyNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvbGliZXJyb3ItcGVybF8wLjE3MDI2LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZjQyYjQ3Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvbGliZXJyb3ItcGVybF8wLjE3MDI2LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotU1VNTUFSWSA9ICJFcnJvciAtIEVycm9yL2V4Y2VwdGlvbiBoYW5kbGluZyBpbiBhbiBPTy1pc2ggd2F5IgotREVTQ1JJUFRJT04gPSAiVGhlIEVycm9yIHBhY2thZ2UgcHJvdmlkZXMgdHdvIGludGVyZmFjZXMuIEZpcnN0bHkgXAotRXJyb3IgcHJvdmlkZXMgYSBwcm9jZWR1cmFsIGludGVyZmFjZSB0byBleGNlcHRpb24gaGFuZGxpbmcuIFwKLVNlY29uZGx5IEVycm9yIGlzIGEgYmFzZSBjbGFzcyBmb3IgZXJyb3JzL2V4Y2VwdGlvbnMgdGhhdCBjYW4gXAotZWl0aGVyIGJlIHRocm93biwgZm9yIHN1YnNlcXVlbnQgY2F0Y2gsIG9yIGNhbiBzaW1wbHkgYmUgcmVjb3JkZWQuIgotCi1TRUNUSU9OID0gImxpYnMiCi1MSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT04ZjM0OTlkMDllZTc0YTA1MGMwMzE5MzkxZmY5ZDEwMCIKLQotREVQRU5EUyArPSAicGVybCIKLQotU1JDX1VSSSA9ICJodHRwOi8vY3Bhbi5tZXRhY3Bhbi5vcmcvYXV0aG9ycy9pZC9TL1NIL1NITE9NSUYvRXJyb3ItJHtQVn0udGFyLmd6IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMGRjZDk0NjQwZjYxN2RmMDJiNmQ2YzFlNGU5MjAxOGMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzc1OTBhOTYyY2Q3M2FlMDM0NzBlMWZmMTY0NTlhNmNiYzUyNzNmYzU3NjI2Yjg5ODFkYWI5YzI0MzMxNTVkOSIKLQotUyA9ICIke1dPUktESVJ9L0Vycm9yLSR7UFZ9IgotCi1pbmhlcml0IGNwYW4gcHRlc3QtcGVybAotCi1kb19jb21waWxlKCkgewotCWV4cG9ydCBMSUJDPSIkKGZpbmQgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7YmFzZV9saWJkaXJ9LyAtbmFtZSAnbGliYy0qLnNvJykiCi0JY3Bhbl9kb19jb21waWxlCi19Ci0KLWRvX2luc3RhbGxfcHJlcGVuZCgpIHsKLQkjIHRlc3QgcmVxdWlyZXMgIi1UIiAodGFpbnQpIGNvbW1hbmQgbGluZSBvcHRpb24KLQlybSAtcmYgJHtCfS90L3BvZC1jb3ZlcmFnZS50Ci19Ci0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9saWJlcnJvci1wZXJsXzAuMTcwMjcuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL2xpYmVycm9yLXBlcmxfMC4xNzAyNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZjFmNmQ2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9saWJlcnJvci1wZXJsXzAuMTcwMjcuYmIKQEAgLTAsMCArMSw0NyBAQAorU1VNTUFSWSA9ICJFcnJvciAtIEVycm9yL2V4Y2VwdGlvbiBoYW5kbGluZyBpbiBhbiBPTy1pc2ggd2F5IgorREVTQ1JJUFRJT04gPSAiVGhlIEVycm9yIHBhY2thZ2UgcHJvdmlkZXMgdHdvIGludGVyZmFjZXMuIEZpcnN0bHkgXAorRXJyb3IgcHJvdmlkZXMgYSBwcm9jZWR1cmFsIGludGVyZmFjZSB0byBleGNlcHRpb24gaGFuZGxpbmcuIFwKK1NlY29uZGx5IEVycm9yIGlzIGEgYmFzZSBjbGFzcyBmb3IgZXJyb3JzL2V4Y2VwdGlvbnMgdGhhdCBjYW4gXAorZWl0aGVyIGJlIHRocm93biwgZm9yIHN1YnNlcXVlbnQgY2F0Y2gsIG9yIGNhbiBzaW1wbHkgYmUgcmVjb3JkZWQuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9iaXRidWNrZXQub3JnL3NobG9taWYvcGVybC1lcnJvci5wbSIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PThmMzQ5OWQwOWVlNzRhMDUwYzAzMTkzOTFmZjlkMTAwIgorCitERVBFTkRTICs9ICJwZXJsIgorCitSREVQRU5EU18ke1BOfSArPSAiIFwKKyAgICBwZXJsLW1vZHVsZS1jYXJwIFwKKyAgICBwZXJsLW1vZHVsZS1leHBvcnRlciBcCisgICAgcGVybC1tb2R1bGUtc2NhbGFyLXV0aWwgXAorICAgIHBlcmwtbW9kdWxlLW92ZXJsb2FkIFwKKyAgICBwZXJsLW1vZHVsZS1zdHJpY3QgXAorICAgIHBlcmwtbW9kdWxlLXZhcnMgXAorICAgIHBlcmwtbW9kdWxlLXdhcm5pbmdzIFwKKyIKKworUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIiBcCisgICAgcGVybC1tb2R1bGUtYmFzZSBcCisgICAgcGVybC1tb2R1bGUtZmlsZS1zcGVjIFwKKyAgICBwZXJsLW1vZHVsZS1pby1oYW5kbGUgXAorICAgIHBlcmwtbW9kdWxlLWlwYy1vcGVuMyBcCisgICAgcGVybC1tb2R1bGUtbGliIFwKKyAgICBwZXJsLW1vZHVsZS10ZXN0LW1vcmUgXAorIgorCitTUkNfVVJJID0gImh0dHA6Ly9jcGFuLm1ldGFjcGFuLm9yZy9hdXRob3JzL2lkL1MvU0gvU0hMT01JRi9FcnJvci0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0ZWY5YjI4OTBmYjE0NGQ4MDQ1MjdiYTMyNTczZGQ1NiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwN2IyYWM4Mjc1ZGZhMDQxNDQ3NDVhNmMxOTAwYTU5NjI4MGY4NjJiOTdkMjJiYWIwYzVjZTAyNjgyZWJkM2JlIgorCitTID0gIiR7V09SS0RJUn0vRXJyb3ItJHtQVn0iCisKK2luaGVyaXQgY3BhbiBwdGVzdC1wZXJsCisKK2RvX2luc3RhbGxfcHJlcGVuZCgpIHsKKwkjIHRlc3QgcmVxdWlyZXMgIi1UIiAodGFpbnQpIGNvbW1hbmQgbGluZSBvcHRpb24KKwlybSAtcmYgJHtCfS90L3BvZC1jb3ZlcmFnZS50Cit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsLW5hdGl2ZV81LjI0LjQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwtbmF0aXZlXzUuMjQuNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODFkM2ZkNDguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsLW5hdGl2ZV81LjI0LjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNDAgKzAsMCBAQAotcmVxdWlyZSBwZXJsLmluYwotCi0jIFdlIG5lZWQgZ251Z3JlcCAoZm9yIC1JKQotREVQRU5EUyA9ICJkYi1uYXRpdmUgZ3JlcC1uYXRpdmUgZ2RibS1uYXRpdmUgemxpYi1uYXRpdmUiCi0KLUVYVFJBX09FTUFLRSA9ICItZSBNQUtFRkxBR1M9IgotCi1TUkNfVVJJICs9ICJcCi0gICAgICAgICAgIGZpbGU6Ly9Db25maWd1cmUtbXVsdGlsaWIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcGVybC1jb25maWdwbS1zd2l0Y2gucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbmF0aXZlLW5vcGFja2xpc3QucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbmF0aXZlLXBlcmxpbmMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vTU1fVW5peC5wbS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vZXJybm9fdmVyLmRpZmYgXAotICAgICAgICAgICBmaWxlOi8vZHluYWxvYWRlcmhhY2sucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcGVybC1QYXRoVG9vbHMtZG9uLXQtZmlsdGVyLW91dC1ibGliLWZyb20tSU5DLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtQ29uZmlndXJlLVJlbW92ZS1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZy1mb3ItbmF0aXZlLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9wZXJsLTUuMjYuMS1ndWFyZF9vbGRfbGliY3J5cHRfZml4LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRXh0VXRpbHMtTU1fVW5peC5wbS1maXgtcmFjZS1pc3N1ZXMucGF0Y2ggXAotICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gIjA0NjIyYmM0ZDM5NDFkYzdlYjU3MWM1MmI3YzAyOTkzIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdmMDgwMjg3ZmY2NDc1MDI3MDY4OTg0M2FlOTQ1ZjAyMTU5YTMzY2I4ZjJmYzkxMDI0OGMxNWJlZmJhNWRiODQiCi0KLWluaGVyaXQgbmF0aXZlCi0KLU5BVElWRV9QQUNLQUdFX1BBVEhfU1VGRklYID0gIi8ke1BOfSIKLQotZXhwb3J0IExEPSIke0NDTER9IgotCi1kb19jb25maWd1cmUgKCkgewotCS4vQ29uZmlndXJlIFwKLQkJLURjYz0iJHtDQ30iIFwKLQkJLURjZmxhZ3M9IiR7Q0ZMQUdTfSIgXAotCQktRGxkZmxhZ3M9IiR7TERGTEFHU30iIFwKLQkJLURsZGRsZmxhZ3M9IiR7TERGTEFHU30gLXNoYXJlZCIgXAotCQktRGNmX2J5PSJPcGVuIEVtYmVkZGVkIiBcCi0JCS1EcHJlZml4PSR7cHJlZml4fSBcCi0JCS1EdmVuZG9ycHJlZml4PSR7cHJlZml4fSBcCi0JCS1Ec2l0ZXByZWZpeD0ke3ByZWZpeH0gXAotCQlcCi0JCS1EYmluPSR7U1RBR0lOR19CSU5ESVJ9LyR7UE59IFwKLQkJLURwcml2bGliPSR7U1RBR0lOR19MSUJESVJ9L3BlcmwvJHtQVn0gXAotCQktRGFyY2hsaWI9JHtTVEFHSU5HX0xJQkRJUn0vcGVybC8ke1BWfSBcCi0JCS1EdmVuZG9ybGliPSR7U1RBR0lOR19MSUJESVJ9L3BlcmwvdmVuZG9yX3BlcmwvJHtQVn0gXAotCQktRHZlbmRvcmFyY2g9JHtTVEFHSU5HX0xJQkRJUn0vcGVybC92ZW5kb3JfcGVybC8ke1BWfSBcCi0JCS1Ec2l0ZWxpYj0ke1NUQUdJTkdfTElCRElSfS9wZXJsL3NpdGVfcGVybC8ke1BWfSBcCi0JCS1Ec2l0ZWFyY2g9JHtTVEFHSU5HX0xJQkRJUn0vcGVybC9zaXRlX3BlcmwvJHtQVn0gXAotCQlcCi0JCS1EdXNlc2hycGxpYiBcCi0JCS1EdXNldGhyZWFkcyBcCi0JCS1EdXNlaXRocmVhZHMgXAotCQktRHVzZWxhcmdlZmlsZXMgXAotCQktRG5vZXh0ZW5zaW9ucz1PREJNX0ZpbGUgXAotCQktVWRfZG9zdWlkIFwKLQkJLVVpX2RiIFwKLQkJLVVpX25kYm0gXAotCQktVWlfZ2RibSBcCi0JCS1VaV9nZGJtX25kYm0gXAotCQktVWlfZ2RibW5kYm0gXAotCQktRGlfc2hhZG93IFwKLQkJLURpX3N5c2xvZyBcCi0JCS1EdXNlcGVybGlvIFwKLQkJLURtYW4zZXh0PTNwbSBcCi0JCS1Ec2VkPS9iaW4vc2VkIFwKLQkJLVVhZnMgXAotCQktVWRfY3NoIFwKLQkJLVV1c2VzZmlvIFwKLQkJLVV1c2VubSAtZGVzCi19Ci0KLWRvX2luc3RhbGwgKCkgewotCW9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbAotCi0JIyBXZSBuZWVkIGEgaG9zdHBlcmwgbGluayBmb3IgYnVpbGRpbmcgcGVybAotCWxuIC1zZiBwZXJsJHtQVn0gJHtEfSR7YmluZGlyfS9ob3N0cGVybAotCi0gICAgICAgIGxuIC1zZiBwZXJsICR7RH0ke2xpYmRpcn0vcGVybDUKLQotCWluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS9wZXJsLyR7UFZ9L0NPUkUgXAotCSAgICAgICAgICAgJHtEfSR7ZGF0YWRpcn0vcGVybC8ke1BWfS9FeHRVdGlscwotCi0JIyBTYXZlIG5hdGl2ZSBjb25maWcgCi0JaW5zdGFsbCBjb25maWcuc2ggJHtEfSR7bGliZGlyfS9wZXJsCi0JaW5zdGFsbCBsaWIvQ29uZmlnLnBtICR7RH0ke2xpYmRpcn0vcGVybC8ke1BWfS8KLQlpbnN0YWxsIGxpYi9FeHRVdGlscy90eXBlbWFwICR7RH0ke2xpYmRpcn0vcGVybC8ke1BWfS9FeHRVdGlscy8KLQotCSMgcGVybCBzaGFyZWQgbGlicmFyeSBoZWFkZXJzCi0JIyByZWZlcmVuY2UgcGVybCA1LjIwLjAtMSBpbiBkZWJpYW46Ci0JIyBodHRwczovL3BhY2thZ2VzLmRlYmlhbi5vcmcvZXhwZXJpbWVudGFsL2kzODYvcGVybC9maWxlbGlzdAotCWZvciBpIGluIGF2LmggYml0Y291bnQuaCBjaGFyY2xhc3NfaW52bGlzdHMuaCBjb25maWcuaCBjb3AuaCBjdi5oIGRvc2lzaC5oIFwKLQkJZW1iZWQuaCBlbWJlZHZhci5oIEVYVEVSTi5oIGZha2VzZGlvLmggZmVhdHVyZS5oIGZvcm0uaCBnaXRfdmVyc2lvbi5oIFwKLQkJZ3YuaCBoYW5keS5oIGh2X2Z1bmMuaCBodi5oIGlubGluZS5oIElOVEVSTi5oIGludHJwdmFyLmggaXBlcmxzeXMuaCBcCi0JCWtleXdvcmRzLmggbDFfY2hhcl9jbGFzc190YWIuaCBtYWxsb2NfY3RsLmggbWV0YWNvbmZpZy5oIG1nX2RhdGEuaCBcCi0JCW1nLmggbWdfcmF3LmggbWdfdnRhYmxlLmggbXlkdHJhY2UuaCBub3N0ZGlvLmggb3Bjb2RlLmggb3AuaCBcCi0JCW9wbmFtZXMuaCBvcF9yZWdfY29tbW9uLmggb3ZlcmxvYWQuaCBwYWQuaCBwYXJzZXIuaCBwYXRjaGxldmVsLmggXAotCQlwZXJsYXBpLmggcGVybC5oIHBlcmxpby5oIHBlcmxpb2wuaCBwZXJsc2Rpby5oIHBlcmx2YXJzLmggcGVybHkuaCBcCi0JCXBwLmggcHBfcHJvdG8uaCBwcm90by5oIHJlZW50ci5oIHJlZ2NoYXJjbGFzcy5oIHJlZ2NvbXAuaCByZWdleHAuaCBcCi0JCXJlZ25vZGVzLmggc2NvcGUuaCBzdi5oIHRocmVhZC5oIHRpbWU2NF9jb25maWcuaCB0aW1lNjQuaCB1Y29uZmlnLmggXAotCQl1bmljb2RlX2NvbnN0YW50cy5oIHVuaXhpc2guaCB1dGY4LmggdXRmZWJjZGljLmggdXRpbC5oIHV1ZG1hcC5oIFwKLQkJdnV0aWwuaCB3YXJuaW5ncy5oIFhTVUIuaAotCWRvCi0JCWluc3RhbGwgJGkgJHtEfSR7bGliZGlyfS9wZXJsLyR7UFZ9L0NPUkUKLQlkb25lCi0KLQkjIFRob3NlIHdyYXBwZXJzIG1lYW4gdGhhdCBwZXJsIGluc3RhbGxlZCBmcm9tIHNzdGF0ZSAod2hpY2ggbWF5IGNoYW5nZQotCSMgcGF0aCBsb2NhdGlvbikgd29ya3MgYW5kIHRoYXQgaW4gdGhlIG5hdGl2ZXNkayBjYXNlLCB0aGUgU0RLIGNhbiBiZQotCSMgaW5zdGFsbGVkIHRvIGEgZGlmZmVyZW50IGxvY2F0aW9uIGZyb20gdGhlIG9uZSBpdCB3YXMgYnVpbHQgZm9yLgotCWNyZWF0ZV93cmFwcGVyICR7RH0ke2JpbmRpcn0vcGVybCBQRVJMNUxJQj0nJFBFUkw1TElCOiR7U1RBR0lOR19MSUJESVJ9L3Blcmwvc2l0ZV9wZXJsLyR7UFZ9OiR7U1RBR0lOR19MSUJESVJ9L3BlcmwvdmVuZG9yX3BlcmwvJHtQVn06JHtTVEFHSU5HX0xJQkRJUn0vcGVybC8ke1BWfScKLQljcmVhdGVfd3JhcHBlciAke0R9JHtiaW5kaXJ9L3Blcmwke1BWfSBQRVJMNUxJQj0nJFBFUkw1TElCOiR7U1RBR0lOR19MSUJESVJ9L3Blcmwvc2l0ZV9wZXJsLyR7UFZ9OiR7U1RBR0lOR19MSUJESVJ9L3BlcmwvdmVuZG9yX3BlcmwvJHtQVn06JHtTVEFHSU5HX0xJQkRJUn0vcGVybC8ke1BWfScKLQotCSMgVXNlIC91c3IvYmluL2VudiBuYXRpdmVwZXJsIGZvciB0aGUgcGVybCBzY3JpcHQuCi0JZm9yIGYgaW4gYGdyZXAgLUlsICcjISAqJHtiaW5kaXJ9L3BlcmwnICR7RH0vJHtiaW5kaXJ9LypgOyBkbwotCQlzZWQgLWkgLWUgJ3N8JHtiaW5kaXJ9L3Blcmx8L3Vzci9iaW4vZW52IG5hdGl2ZXBlcmx8JyAkZgotCWRvbmUKLQotCSMgVGhlIHBhY2tsaXN0IGlzIGxhcmdlIHdpdGggaGFyZGNvZGVkIHBhdGhzIG1lYW5pbmcgaXQgbmVlZHMgcmVsb2NhdGluZwotCSMgc28ganVzdCByZW1vdmUgaXQuCi0Jcm0gJHtEfSR7bGliZGlyfS9wZXJsLyR7UFZ9Ly5wYWNrbGlzdAotfQotCi1TWVNST09UX1BSRVBST0NFU1NfRlVOQ1MgKz0gInBlcmxfc3lzcm9vdF9jcmVhdGVfd3JhcHBlciIKLQotcGVybF9zeXNyb290X2NyZWF0ZV93cmFwcGVyICgpIHsKLQlta2RpciAtcCAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcn0KLQkjIENyZWF0ZSBhIHdyYXBwZXIgdGhhdCAvdXNyL2Jpbi9lbnYgcGVybCB3aWxsIHVzZSB0byBnZXQgcGVybC1uYXRpdmUuCi0JIyBUaGlzIE1VU1QgbGl2ZSBpbiB0aGUgbm9ybWFsIGJpbmRpci4KLQljYXQgPiAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcn0vLi4vbmF0aXZlcGVybCA8PCBFT0YKLSMhL2Jpbi9zaAotcmVhbHBhdGg9XGByZWFkbGluayAtZm4gXCQwXGAKLWV4ZWMgXGBkaXJuYW1lIFwkcmVhbHBhdGhcYC9wZXJsLW5hdGl2ZS9wZXJsICJcJEAiCi1FT0YKLQljaG1vZCAwNzU1ICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyfS8uLi9uYXRpdmVwZXJsCi0JY2F0ICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyfS8uLi9uYXRpdmVwZXJsCi19Ci0KLSMgRml4IHRoZSBwYXRoIGluIHNzdGF0ZQotU1NUQVRFX1NDQU5fRklMRVMgKz0gIioucG0gKi5wb2QgKi5oICoucGwgKi5zaCIKLQotUEFDS0FHRVNfRFlOQU1JQ19jbGFzcy1uYXRpdmUgPSAiXnBlcmwtbW9kdWxlLS4qbmF0aXZlJCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC1wdGVzdC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwtcHRlc3QuaW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZDQ2NDQ4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC1wdGVzdC5pbmMKKysrIC9kZXYvbnVsbApAQCAtMSw1NyArMCwwIEBACi1pbmhlcml0IHB0ZXN0Ci0KLVNSQ19VUkkgKz0gImZpbGU6Ly9ydW4tcHRlc3QgXAotICAgICAgICAgICAiCi1kb19pbnN0YWxsX3B0ZXN0ICgpIHsKLQlta2RpciAtcCAke0R9JHtQVEVTVF9QQVRIfQotCXNlZCAtZSAiczpcL3VzclwvbG9jYWw6JHtiaW5kaXJ9OmciIC1pIGNwYW4vdmVyc2lvbi90LyoKLQlzZWQgLWUgInM6XC9vcHQ6XC91c3I6IiAtaSBQb3J0aW5nL2FkZC1wYWNrYWdlLnBsCi0Jc2VkIC1lICJzOlwvbG9jYWxcL2dudVwvOlwvOiIgLWkgaGludHMvY3h1eC5zaAotCXRhciAtYyAtLWV4Y2x1ZGU9JyoubycgLS1leGNsdWRlPWxpYnBlcmwuc28gLS1leGNsdWRlPU1ha2VmaWxlIC0tZXhjbHVkZT1tYWtlZmlsZSAtLWV4Y2x1ZGU9aG9zdHBlcmwgXAotCSAgICAtLWV4Y2x1ZGU9Y3lnd2luIC0tZXhjbHVkZT1vczIgLS1leGNsdWRlPWRqZ3BwIC0tZXhjbHVkZT1xbnggLS1leGNsdWRlPXN5bWJpYW4gLS1leGNsdWRlPWhhaWt1IFwKLQkgICAgLS1leGNsdWRlPXZtcyAtLWV4Y2x1ZGU9dm9zIC0tZXhjbHVkZT1OZXRXYXJlIC0tZXhjbHVkZT1hbWlnYW9zNCAgLS1leGNsdWRlPWJ1aWxkY3VzdG9taXplLnBsIFwKLQkgICAgLS1leGNsdWRlPSd3aW4zMi9jb25maWcuKicgLS1leGNsdWRlPXBsYW45IC0tZXhjbHVkZT1SRUFETUUucGxhbjkgLS1leGNsdWRlPXBlcmxwbGFuOS5wb2QgLS1leGNsdWRlPUNvbmZpZ3VyZSBcCi0JICAgIC0tZXhjbHVkZT12ZXJ5Y2xlYW4uc2ggLS1leGNsdWRlPXJlYWxjbGVhbi5zaCAgLS1leGNsdWRlPWdldGlvY3Rsc2l6ZXMgXAotCSAgICAtLWV4Y2x1ZGU9ZGxfYWl4LnhzIC0tZXhjbHVkZT1zZGJtLjMgLS1leGNsdWRlPSdjZmxhZ3MuU0gnIC0tZXhjbHVkZT1tYWtlZmlsZS5vbGQgXAotCQktLWV4Y2x1ZGU9bWluaXBlcmwgLS1leGNsdWRlPWdlbmVyYXRlX3V1ZG1hcCAtLWV4Y2x1ZGU9cGF0Y2hlcyAqIHwgKCBjZCAke0R9JHtQVEVTVF9QQVRIfSAmJiB0YXIgLXggKQotCi0JbG4gLXNmICR7YmluZGlyfS9wZXJsICR7RH0ke1BURVNUX1BBVEh9L3QvcGVybAotCi0JIyBSZW1vdmUgYnVpbGQgaG9zdCByZWZlcmVuY2VzIGZyb20gdmFyaW91cyBzY2F0dGVyZWQgZmlsZXMuLi4KLQlmaW5kICIke0R9JHtQVEVTVF9QQVRIfSIgXAotCSAgICAgXCggLW5hbWUgJyouUEwnIC1vIC1uYW1lICdteWNvbmZpZycgLW8gLW5hbWUgJ2NmbGFncycgLW8gLW5hbWUgJyoucGwnIC1vIC1uYW1lICcqLnNoJyAtbyAtbmFtZSAnKi5wbScgXAotCSAgICAgLW8gLW5hbWUgJ2gyeHMnIC1vIC1uYW1lICdoMnBoJyBcCi0JICAgICAtbyAtbmFtZSAnKi5oJyAtbyAtbmFtZSAnY29uZmlnLnNoLSonIC1vIC1uYW1lICdwb2QybWFuJyAgLW8gLW5hbWUgJ3BvZDJ0ZXh0JyBcKSBcCi0JICAgIC10eXBlIGYgLWV4ZWMgc2VkIC1pIFwKLQkgICAgICAgLWUgInMsJHtEfSwsZyIgXAotCSAgICAgICAtZSAicywtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9IT1NUfSwsZyIgXAotCSAgICAgICAtZSAicywtaXN5c3RlbSR7U1RBR0lOR19JTkNESVJ9ICwsZyIgXAotCSAgICAgICAtZSAnc3wke0RFQlVHX1BSRUZJWF9NQVB9fHxnJyBcCi0JICAgICAgIC1lICJzLCR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9wZXJsLW5hdGl2ZS8sJHtiaW5kaXJ9LyxnIiBcCi0JICAgICAgIC1lICJzLCR7U1RBR0lOR19MSUJESVJ9LCR7bGliZGlyfSxnIiBcCi0JICAgICAgIC1lICJzLCR7U1RBR0lOR19CSU5ESVJ9LCR7YmluZGlyfSxnIiBcCi0JICAgICAgIC1lICJzLCR7U1RBR0lOR19JTkNESVJ9LCR7aW5jbHVkZWRpcn0sZyIgXAotCSAgICAgICAtZSAicywke1NUQUdJTkdfQklORElSX05BVElWRX0vLCxnIiBcCi0JICAgICAgIC1lICJzLCR7U1RBR0lOR19CSU5ESVJfVE9PTENIQUlOfS8ke1RBUkdFVF9QUkVGSVh9LCR7YmluZGlyfSxnIiBcCi0JICAgICAgIC1lICdzOiR7UkVDSVBFX1NZU1JPT1RfTkFUSVZFfTo6ZycgXAotCSAgICAgICAtZSAnczoke1JFQ0lQRV9TWVNST09UfTo6ZycgXAotCSAgICAgICAge30gKwotCi0JICMgUmVtb3ZlIGEgdXNlbGVzcyB0aW1lc3RhbXAuLi4KLQkgc2VkIC1pIC1lICcvQXV0b2dlbmVyYXRlZCBzdGFydGluZyBvbi9kJyAke0R9JHtQVEVTVF9QQVRIfS9saWIvdW5pY29yZS9ta3RhYmxlcy5sc3QKLX0KLQotcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQoKSB7Ci0gICAgIyBQdXQgYWxsICoudCBmaWxlcyBmcm9tIHRoZSBsaWIgZGlyIGluIHRoZSBwdGVzdCBwYWNrYWdlCi0gICAgIyBkb19zcGxpdF9wYWNrYWdlcyByZXF1aXJlcyBhIHBhaXIgb2YgKCkgaW4gdGhlIHJlZ2V4LCBidXQgd2UgaGF2ZSBub3RoaW5nCi0gICAgIyB0byBtYXRjaCwgc28gdXNlIGFuIGVtcHR5IHBhaXIuCi0gICAgaWYgYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwdGVzdCcsIFRydWUsIEZhbHNlLCBkKToKLSAgICAgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZC5leHBhbmQoJyR7bGliZGlyfS9wZXJsLyR7UFZ9JyksICcuKlwudCgpJywKLSAgICAgICAgICAgICcke1BOfS1wdGVzdCVzJywgJyVzJywgcmVjdXJzaXZlPVRydWUsIG1hdGNoX3BhdGg9VHJ1ZSkKLX0KLQotUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIiR7UE59LW1vZHVsZXMgJHtQTn0tZG9jICR7UE59LW1pc2Mgc2VkIgotCi0jIFRoZSBwZXJsLXB0ZXN0IHBhY2thZ2UgY29udGFpbnMgUGVybCBpbnRlcm5hbCBtb2R1bGVzIGFuZCBnZW5lcmF0aW5nIGZpbGUKLSMgZGVwZW5kZW5jaWVzIGZvciBpdCBjYXVzZXMgcHJvYmxlbXMuCi1TS0lQX0ZJTEVERVBTXyR7UE59LXB0ZXN0ID0gJzEnCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwtcmRlcGVuZHNfNS4yNC40LmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC1yZGVwZW5kc181LjI0LjQuaW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMGUzYzA0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC1yZGVwZW5kc181LjI0LjQuaW5jCisrKyAvZGV2L251bGwKQEAgLTEsMjU3NSArMCwwIEBACi0jIFRvIGNyZWF0ZS91cGRhdGUgdGhlIHBlcmwtcmRlcGVuZHNfJHtQVn0uaW5jIHVzZSB0aGlzIHBpZWNlIG9mIHVnbHkgc2NyaXB0IChtb2RpZmllZCBmb3IgeW91ciBhcmNoL3BhdGhzIGV0Yyk6Ci0KLSNqaWFob25neHU6NS4yMC4wLXIxJCBwd2QKLSMvaG9tZS9qaWFob25neHUveW9jdG8vYnVpbGQtMjAxNDA2MTgtcGVybC90bXAvd29yay9pNTg2LXBva3ktbGludXgvcGVybC81LjIwLjAtcjEKLQotIzEgY3AgLXIgcGFja2FnZXMtc3BsaXQgcGFja2FnZXMtc3BsaXQubmV3ICYmIGNkIHBhY2thZ2VzLXNwbGl0Lm5ldwotIzIgZmluZCAuIC1uYW1lIFwqLnBtIHwgeGFyZ3Mgc2VkIC1pICcvXj1oZWFkLywvXj1jdXQvZCcKLSMzIGVncmVwIC1yICJeXHMqKFw8dXNlIC4qfFw8cmVxdWlyZSAuKik7PyIgcGVybC1tb2R1bGUtKiAtLWluY2x1ZGU9IioucG0iIAotI3wgc2VkICJzL1wvLipcLnBtOiAqLyArPSAvZztzL1tcIlwnXS8vZztzLzsuKi9cIi9nO3MvKz0gLipcKHJlcXVpcmVcfHVzZVwpXD4gKi8rPSBcInBlcmwtbW9kdWxlLS9nO3MvQ1BBTlBMVVM6Oi4qL2NwYW5wbHVzL2c7cy9DUEFOOjouKi9jcGFuL2c7cy86Oi8tL2c7cy8gW14rXCJdLiovL2c7cy9fLy0vZztzL1wucGxcIiQvXCIvO3MvXCJcP1wkL1wiLztzLygvLzsiIHwgdHIgWzp1cHBlcjpdIFs6bG93ZXI6XSAKLSN8IGF3ayAne2lmICgkMyAhPSAiXHgyMiIkMSJceDIyIil7IHByaW50ICQwfX0nCi0jfCBncmVwIC12IC1lICJcLXZtc1wtIiAtZSBtb2R1bGUtNSAtZSAiXiQiIC1lICJcXCQiIC1lIHlvdXIgLWUgdGsgLWUgYXV0b3BlcmwgLWUgaHRtbCAtZSBodHRwIC1lIHBhcnNlLWNwYW4gLWUgcGVybC1vc3R5cGUgLWUgbmRibS1maWxlIC1lIG1vZHVsZS1tYWMgLWUgZmNnaSAtZSBsd3AgLWUgZGJkIC1lIGRiaXggCi0jfCBzb3J0IC11IAotI3wgc2VkICdzL14vUkRFUEVORFNfLztzL3BlcmwtbW9kdWxlLS8ke1BOfS1tb2R1bGUtL2c7cy9tb2R1bGUtXChtb2R1bGUtXCkvXDEvZztzL1wobW9kdWxlLWxvYWRcKS1jb25kaXRpb25hbC9cMS9nO3MvZW5jb2RlLWNvbmZpZ2xvY2FsLyYtcG0vOycgCi0jfCBlZ3JlcCAtd3YgJz0+fG1vZHVsZS1hfG1vZHVsZS1hcGFjaGUuP3xtb2R1bGUtYXByfG1vZHVsZS1hdXRoZW4tc2FzbHxtb2R1bGUtYi1hc21kYXRhfG1vZHVsZS1jb252ZXJ0LWViY2RpY3xtb2R1bGUtZGV2ZWwtc2l6ZXxtb2R1bGUtZGlnZXN0LXBlcmwtbWQ1fG1vZHVsZS1kdW1wdmFsdWV8bW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LWFhYXJnaDU2aGFzaHxtb2R1bGUtZXh0dXRpbHMteHNzeW1zZXR8bW9kdWxlLWZpbGUtYnNkZ2xvYnxtb2R1bGUtZm9yfG1vZHVsZS1pdHxtb2R1bGUtaW8tc3RyaW5nfG1vZHVsZS1pcGMtc3lzdGVtLXNpbXBsZXxtb2R1bGUtbGV4aWNhbHxtb2R1bGUtbG9jYWwtbGlifG1ldGFkYXRhfG1vZHVsZS1tb2RwZXJsLXV0aWx8bW9kdWxlLXBsdWdnYWJsZS1vYmplY3R8bW9kdWxlLXRlc3QtYnVpbGRlci1pby1zY2FsYXJ8bW9kdWxlLXRleHQtdW5pZGVjb2RlfG1vZHVsZS13aW4zMnxvYmplY3RzXHNsb2FkfHN5c2NhbGwucGh8c3lzdGVtaW5mby5waHwlcycgPiAvdG1wL3BlcmwtcmRlcGVuZHMKLQotUkRFUEVORFNfcGVybC1taXNjICs9ICJwZXJsIHBlcmwtbW9kdWxlcyIKLVJERVBFTkRTXyR7UE59LXBvZCArPSAicGVybCIKLQotIyBTb21lIGFkZGl0aW9uYWwgZGVwZW5kZW5jaWVzIHRoYXQgdGhlIGFib3ZlIGRvZXNuJ3QgbWFuYWdlIHRvIGZpZ3VyZSBvdXQKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXNwZWMgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMtdW5peCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludCArPSAiJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50LWNhbGMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGhyZWFkLXF1ZXVlICs9ICIke1BOfS1tb2R1bGUtYXR0cmlidXRlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vdmVybG9hZCArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkaW5nIgotCi0jIERlcGVuZHMgbGlzdAotIyBjb3B5IGNvbnRlbnRzIG9mIC90bXAvcGVybC1yZGVwZW5kcyBpbiB0aGlzIGZpbGUKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hbnlkYm0tZmlsZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hbnlkYm0tZmlsZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1jcGFuICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1jcGFuICs9ICIke1BOfS1tb2R1bGUtY3BhbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWN3ZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWRhdGEtZHVtcGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1jcGFuICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWZpbGUtZmluZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy1mdW5jdGlvbnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1nZXRvcHQtc3RkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1jcGFuICs9ICIke1BOfS1tb2R1bGUtaWYiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1uZXQtcGluZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtY3BhbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtY3BhbiArPSAiJHtQTn0tbW9kdWxlLXVzZXItcHdlbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLWNwYW4gKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1jcGFuICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlICs9ICIke1BOfS1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1wcm92ZSArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtcHJvdmUgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtcHJvdmUgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlICs9ICIke1BOfS1tb2R1bGUtZ2V0b3B0LWxvbmciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1wcm92ZSArPSAiJHtQTn0tbW9kdWxlLXRhcC1oYXJuZXNzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1wcm92ZSArPSAiJHtQTn0tbW9kdWxlLXRhcC1oYXJuZXNzLWVudiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtcHJvdmUgKz0gIiR7UE59LW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlICs9ICIke1BOfS1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlLXJlc3VsdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlICs9ICIke1BOfS1tb2R1bGUtZmlsZS1maW5kIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXJlYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtd3JpdGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZS1yZXN1bHQgKz0gIiR7UE59LW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUtcmVzdWx0LXRlc3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlLXJlc3VsdCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlLXJlc3VsdCArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZS1yZXN1bHQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlLXJlc3VsdCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZS1yZXN1bHQtdGVzdCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUtcmVzdWx0LXRlc3QgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhci1jb25zdGFudCArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyLWNvbnN0YW50ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iemlwMiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhci1jb25zdGFudCArPSAiJHtQTn0tbW9kdWxlLXRpbWUtbG9jYWwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXJjaGl2ZS10YXItZmlsZSArPSAiJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyLWZpbGUgKz0gIiR7UE59LW1vZHVsZS1hcmNoaXZlLXRhci1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhci1maWxlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhci1maWxlICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhci1maWxlICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyLWZpbGUgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMtdW5peCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhci1maWxlICs9ICIke1BOfS1tb2R1bGUtaW8tZmlsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhci1maWxlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyLWZpbGUgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyICs9ICIke1BOfS1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXJjaGl2ZS10YXIgKz0gIiR7UE59LW1vZHVsZS1hcmNoaXZlLXRhci1maWxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhciArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhciArPSAiJHtQTn0tbW9kdWxlLWN3ZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhciArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyICs9ICIke1BOfS1tb2R1bGUtZmlsZS1wYXRoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjLXVuaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXJjaGl2ZS10YXIgKz0gIiR7UE59LW1vZHVsZS1pby1maWxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyICs9ICIke1BOfS1tb2R1bGUtaW8temxpYiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhciArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXJ5YmFzZSArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF0dHJpYnV0ZS1oYW5kbGVycyArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXR0cmlidXRlLWhhbmRsZXJzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF0dHJpYnV0ZS1oYW5kbGVycyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXR0cmlidXRlLWhhbmRsZXJzICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXR0cmlidXRlcyArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXR0cmlidXRlcyArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF0dHJpYnV0ZXMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXR0cmlidXRlcyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF0dHJpYnV0ZXMgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLWV4Y2VwdGlvbiArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLWV4Y2VwdGlvbiArPSAiJHtQTn0tbW9kdWxlLWZhdGFsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9kaWUtZXhjZXB0aW9uICs9ICIke1BOfS1tb2R1bGUtZmNudGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gIiR7UE59LW1vZHVsZS1vdmVybG9hZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLWV4Y2VwdGlvbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLWV4Y2VwdGlvbiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9kaWUtZXhjZXB0aW9uLXN5c3RlbSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24tc3lzdGVtICs9ICIke1BOfS1tb2R1bGUtcGFyZW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9kaWUtZXhjZXB0aW9uLXN5c3RlbSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLWV4Y2VwdGlvbi1zeXN0ZW0gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLWhpbnRzICs9ICIke1BOfS1tb2R1bGUtYiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLWhpbnRzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLWhpbnRzICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b2RpZS1oaW50cyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLWhpbnRzICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b2RpZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b2RpZSArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9kaWUgKz0gIiR7UE59LW1vZHVsZS1saWIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b2RpZSArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9kaWUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLXNjb3BlLWd1YXJkICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9kaWUtc2NvcGUtZ3VhcmQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLXNjb3BlLWd1YXJkc3RhY2sgKz0gIiR7UE59LW1vZHVsZS1hdXRvZGllLXNjb3BlLWd1YXJkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9kaWUtc2NvcGUtZ3VhcmRzdGFjayArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLXNjb3BlLWd1YXJkc3RhY2sgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLXNraXAgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b2RpZS1za2lwICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b2RpZS11dGlsICs9ICIke1BOfS1tb2R1bGUtYXV0b2RpZS1zY29wZS1ndWFyZHN0YWNrIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9kaWUtdXRpbCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9kaWUtdXRpbCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLXV0aWwgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvbG9hZGVyICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvbG9hZGVyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9zcGxpdCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b3NwbGl0ICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9zcGxpdCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9zcGxpdCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b3NwbGl0ICs9ICIke1BOfS1tb2R1bGUtZmlsZS1wYXRoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9zcGxpdCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy1mdW5jdGlvbnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b3NwbGl0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG91c2UgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYmFzZSArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi1jb25jaXNlICs9ICIke1BOfS1tb2R1bGUtYiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iLWNvbmNpc2UgKz0gIiR7UE59LW1vZHVsZS1iLW9wLXByaXZhdGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi1jb25jaXNlICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWItY29uY2lzZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWItY29uY2lzZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iLWNvbmNpc2UgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iLWRlYnVnICs9ICIke1BOfS1tb2R1bGUtYiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iLWRlYnVnICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWItZGVidWcgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi1kZXBhcnNlICs9ICIke1BOfS1tb2R1bGUtYiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iLWRlcGFyc2UgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWItZGVwYXJzZSArPSAiJHtQTn0tbW9kdWxlLWRhdGEtZHVtcGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWItZGVwYXJzZSArPSAiJHtQTn0tbW9kdWxlLWZlYXR1cmUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi1kZXBhcnNlICs9ICIke1BOfS1tb2R1bGUtb3ZlcmxvYWRpbmciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi1kZXBhcnNlICs9ICIke1BOfS1tb2R1bGUtcmUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi1kZXBhcnNlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWItZGVwYXJzZSArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi1kZXBhcnNlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYmVuY2htYXJrICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iZW5jaG1hcmsgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iZW5jaG1hcmsgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYmlnaW50ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdpbnQgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdpbnQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdpbnQgKz0gIiR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdpbnQgKz0gIiR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludC10cmFjZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdpbnQgKz0gIiR7UE59LW1vZHVsZS1vdmVybG9hZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdpbnQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYmlnaW50ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYmlnbnVtICs9ICIke1BOfS1tb2R1bGUtYmlnaW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJpZ251bSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYmlnbnVtICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYmlnbnVtICs9ICIke1BOfS1tb2R1bGUtbWF0aC1iaWdmbG9hdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdudW0gKz0gIiR7UE59LW1vZHVsZS1tYXRoLWJpZ2Zsb2F0LXRyYWNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJpZ251bSArPSAiJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJpZ251bSArPSAiJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJpZ251bSArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJpZ251bSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdudW0gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdyYXQgKz0gIiR7UE59LW1vZHVsZS1iaWdpbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYmlncmF0ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdyYXQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdyYXQgKz0gIiR7UE59LW1vZHVsZS1tYXRoLWJpZ2Zsb2F0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJpZ3JhdCArPSAiJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJpZ3JhdCArPSAiJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJpZ3JhdCArPSAiJHtQTn0tbW9kdWxlLW1hdGgtYmlncmF0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJpZ3JhdCArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJpZ3JhdCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdyYXQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1ibGliICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJsaWIgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYmxpYiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYiArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYiArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWItc2hvd2xleCArPSAiJHtQTn0tbW9kdWxlLWIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi1zaG93bGV4ICs9ICIke1BOfS1tb2R1bGUtYi1jb25jaXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWItc2hvd2xleCArPSAiJHtQTn0tbW9kdWxlLWItdGVyc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi1zaG93bGV4ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWItdGVyc2UgKz0gIiR7UE59LW1vZHVsZS1iIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWItdGVyc2UgKz0gIiR7UE59LW1vZHVsZS1iLWNvbmNpc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi10ZXJzZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi10ZXJzZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iLXhyZWYgKz0gIiR7UE59LW1vZHVsZS1iIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWIteHJlZiArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iLXhyZWYgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYnl0ZXMgKz0gIiR7UE59LW1vZHVsZS1ieXRlcy1oZWF2eSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1ieXRlcyArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY2FycC1oZWF2eSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY2FycCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNhcnAgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY2FycCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLS1jaGFybmFtZXMgKz0gIiR7UE59LW1vZHVsZS1ieXRlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jaGFybmFtZXMgKz0gIiR7UE59LW1vZHVsZS1ieXRlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS0tY2hhcm5hbWVzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jaGFybmFtZXMgKz0gIiR7UE59LW1vZHVsZS0tY2hhcm5hbWVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLS1jaGFybmFtZXMgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtLWNoYXJuYW1lcyArPSAiJHtQTn0tbW9kdWxlLXJlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNoYXJuYW1lcyArPSAiJHtQTn0tbW9kdWxlLXJlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLS1jaGFybmFtZXMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY2hhcm5hbWVzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLS1jaGFybmFtZXMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jaGFybmFtZXMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jbGFzcy1zdHJ1Y3QgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNsYXNzLXN0cnVjdCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNsYXNzLXN0cnVjdCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jbGFzcy1zdHJ1Y3QgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb21wcmVzcy1yYXctYnppcDIgKz0gIiR7UE59LW1vZHVsZS1ieXRlcyAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29tcHJlc3MtcmF3LWJ6aXAyICs9ICIke1BOfS1tb2R1bGUtY2FycCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29tcHJlc3MtcmF3LWJ6aXAyICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29tcHJlc3MtcmF3LWJ6aXAyICs9ICIke1BOfS1tb2R1bGUtZHluYWxvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb21wcmVzcy1yYXctYnppcDIgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb21wcmVzcy1yYXctYnppcDIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb21wcmVzcy1yYXctYnppcDIgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiArPSAiJHtQTn0tbW9kdWxlLWNhcnAgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbXByZXNzLXJhdy16bGliICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIgKz0gIiR7UE59LW1vZHVsZS1keW5hbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbXByZXNzLXJhdy16bGliICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbXByZXNzLXJhdy16bGliICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbXByZXNzLXJhdy16bGliICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29tcHJlc3MtemxpYiArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb21wcmVzcy16bGliICs9ICIke1BOfS1tb2R1bGUtY2FycCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29tcHJlc3MtemxpYiArPSAiJHtQTn0tbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb21wcmVzcy16bGliICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29tcHJlc3MtemxpYiArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1nemlwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1nemlwLWNvbnN0YW50cyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb21wcmVzcy16bGliICs9ICIke1BOfS1tb2R1bGUtaW8taGFuZGxlICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb21wcmVzcy16bGliICs9ICIke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29tcHJlc3MtemxpYiArPSAiJHtQTn0tbW9kdWxlLXNjYWxhci11dGlsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29uZmlnLWV4dGVuc2lvbnMgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29uZmlnLWV4dGVuc2lvbnMgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb25maWctZXh0ZW5zaW9ucyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb25maWctZXh0ZW5zaW9ucyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29uZmlnLXBlcmwtdiArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb25maWctcGVybC12ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29uZmlnLXBlcmwtdiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb25maWctcGVybC12ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb25maWctcGVybC12ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29uc3RhbnQgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbnN0YW50ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbnN0YW50ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29yZWxpc3QgKz0gIiR7UE59LW1vZHVsZS1saXN0LXV0aWwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29yZWxpc3QgKz0gIiR7UE59LW1vZHVsZS1jb3JlbGlzdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb3JlbGlzdCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb3JlbGlzdCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29yZWxpc3QgKz0gIiR7UE59LW1vZHVsZS12ZXJzaW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvcmVsaXN0ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jcGFuICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1kYXRhLWR1bXBlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jcGFuICs9ICIke1BOfS1tb2R1bGUtZGlyaGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jcGFuICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tYW5pZmVzdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jcGFuICs9ICIke1BOfS1tb2R1bGUtZmNudGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWZpbGUtY29weSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jcGFuICs9ICIke1BOfS1tb2R1bGUtZmlsZS1maW5kIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1maWxlaGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1maWxlLXBhdGgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jcGFuICs9ICIke1BOfS1tb2R1bGUtbGliIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1uZXQtcGluZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jcGFuICs9ICIke1BOfS1tb2R1bGUtb3ZlcmxvYWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY3BhbiArPSAiJHtQTn0tbW9kdWxlLXBvc2l4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1zYWZlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jcGFuICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1zeXMtaG9zdG5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY3BhbiArPSAiJHtQTn0tbW9kdWxlLXRlcm0tcmVhZGxpbmUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY3BhbiArPSAiJHtQTn0tbW9kdWxlLXRleHQtcGFyc2V3b3JkcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jcGFuICs9ICIke1BOfS1tb2R1bGUtdGV4dC13cmFwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS10aW1lLWxvY2FsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jd2QgKz0gIiR7UE59LW1vZHVsZS1keW5hbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWN3ZCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWN3ZCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jd2QgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY3dkICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jd2QgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYXRhLWR1bXBlciArPSAiJHtQTn0tbW9kdWxlLWItZGVwYXJzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYXRhLWR1bXBlciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGF0YS1kdW1wZXIgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGF0YS1kdW1wZXIgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYXRhLWR1bXBlciArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRhdGEtZHVtcGVyICs9ICIke1BOfS1tb2R1bGUtb3ZlcmxvYWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGF0YS1kdW1wZXIgKz0gIiR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYXRhLWR1bXBlciArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRibS1maWx0ZXItY29tcHJlc3MgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRibS1maWx0ZXItY29tcHJlc3MgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGJtLWZpbHRlci1jb21wcmVzcyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRibS1maWx0ZXItZW5jb2RlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYm0tZmlsdGVyLWVuY29kZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYm0tZmlsdGVyLWVuY29kZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRibS1maWx0ZXItaW50MzIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGJtLWZpbHRlci1pbnQzMiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRibS1maWx0ZXItbnVsbCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYm0tZmlsdGVyLW51bGwgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYm0tZmlsdGVyICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYm0tZmlsdGVyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRibS1maWx0ZXIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYm0tZmlsdGVyLXV0ZjggKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRibS1maWx0ZXItdXRmOCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYm0tZmlsdGVyLXV0ZjggKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kZXByZWNhdGUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRlcHJlY2F0ZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kZXByZWNhdGUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kZXZlbC1wZWVrICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGV2ZWwtcGVlayArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRldmVsLXBwcG9ydCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtZmluZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kZXZlbC1wcHBvcnQgKz0gIiR7UE59LW1vZHVsZS1nZXRvcHQtbG9uZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kZXZlbC1wcHBvcnQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGV2ZWwtcHBwb3J0ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kZXZlbC1zZWxmc3R1YmJlciArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kZXZlbC1zZWxmc3R1YmJlciArPSAiJHtQTn0tbW9kdWxlLXNlbGZsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlhZ25vc3RpY3MgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRpYWdub3N0aWNzICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRpYWdub3N0aWNzICs9ICIke1BOfS1tb2R1bGUtZ2V0b3B0LXN0ZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWFnbm9zdGljcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWFnbm9zdGljcyArPSAiJHtQTn0tbW9kdWxlLXRleHQtdGFicyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWdlc3QtYmFzZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlnZXN0LWJhc2UgKz0gIiR7UE59LW1vZHVsZS1taW1lLWJhc2U2NCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWdlc3QtYmFzZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWdlc3QtYmFzZSArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlnZXN0LWZpbGUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRpZ2VzdC1maWxlICs9ICIke1BOfS1tb2R1bGUtZGlnZXN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRpZ2VzdC1maWxlICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlnZXN0LWZpbGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlnZXN0LWZpbGUgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRpZ2VzdC1tZDUgKz0gIiR7UE59LW1vZHVsZS1kaWdlc3QtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWdlc3QtbWQ1ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlnZXN0LW1kNSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWdlc3QtbWQ1ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWdlc3QtbWQ1ICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlnZXN0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRpZ2VzdCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlnZXN0LXNoYSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlnZXN0LXNoYSArPSAiJHtQTn0tbW9kdWxlLWRpZ2VzdC1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRpZ2VzdC1zaGEgKz0gIiR7UE59LW1vZHVsZS1keW5hbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRpZ2VzdC1zaGEgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWdlc3Qtc2hhICs9ICIke1BOfS1tb2R1bGUtZmNudGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlnZXN0LXNoYSArPSAiJHtQTn0tbW9kdWxlLWludGVnZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlnZXN0LXNoYSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWdlc3Qtc2hhICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWdlc3Qtc2hhICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlyaGFuZGxlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaXJoYW5kbGUgKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZHluYWxvYWRlciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZHluYWxvYWRlciArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtYWxpYXMgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtYWxpYXMgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWFsaWFzICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWFsaWFzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1hbGlhcyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1ieXRlICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1ieXRlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1ieXRlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWJ5dGUgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtY2prY29uc3RhbnRzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtY2prY29uc3RhbnRzICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWNqa2NvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtY2prY29uc3RhbnRzICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWNuLWh6ICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1jbi1oeiArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtY24taHogKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWNuLWh6ICs9ICIke1BOfS1tb2R1bGUtdXRmOCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtY24taHogKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1jbi1oeiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1jbiArPSAiJHtQTn0tbW9kdWxlLWVuY29kZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtY24gKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUtY24taHoiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWNuICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1jbiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1jbiArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1jb25maWcgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWNvbmZpZyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1lYmNkaWMgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWViY2RpYyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZWJjZGljICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWViY2RpYyArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1lbmNvZGVyICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZW5jb2RlciArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1lbmNvZGVyICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1lbmNvZGVyICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWVuY29kZXIgKz0gIiR7UE59LW1vZHVsZS1vdmVybG9hZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZW5jb2RlciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZW5jb2RlciArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1lbmNvZGluZyArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWVuY29kaW5nICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1lbmNvZGluZyArPSAiJHtQTn0tbW9kdWxlLWVuY29kZS1taW1lLW5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWVuY29kaW5nICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1lbmNvZGluZyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1nc20wMzM4ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZ3NtMDMzOCArPSAiJHtQTn0tbW9kdWxlLWVuY29kZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZ3NtMDMzOCArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZ3NtMDMzOCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZ3NtMDMzOCArPSAiJHtQTn0tbW9kdWxlLXV0ZjgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWdzbTAzMzggKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1nc20wMzM4ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWd1ZXNzICs9ICIke1BOfS1tb2R1bGUtYnl0ZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWd1ZXNzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZ3Vlc3MgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZ3Vlc3MgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWd1ZXNzICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlLXVuaWNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWd1ZXNzICs9ICIke1BOfS1tb2R1bGUtcGFyZW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1ndWVzcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZ3Vlc3MgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtanAtaDJ6ICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlLWNqa2NvbnN0YW50cyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtanAtaDJ6ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1qcC1oMnogKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1qcC1oMnogKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtanAtamlzNyArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1qcC1qaXM3ICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1qcC1qaXM3ICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlLWNqa2NvbnN0YW50cyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtanAtamlzNyArPSAiJHtQTn0tbW9kdWxlLWVuY29kZS1qcC1oMnoiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWpwLWppczcgKz0gIiR7UE59LW1vZHVsZS1wYXJlbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWpwLWppczcgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWpwLWppczcgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtanAgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWpwICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlLWpwLWppczciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWpwICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1qcCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1qcCArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1rci0yMDIyLWtyICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1rci0yMDIyLWtyICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlLWNqa2NvbnN0YW50cyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUta3ItMjAyMi1rciArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUta3ItMjAyMi1rciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUta3ItMjAyMi1rciArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1rciArPSAiJHtQTn0tbW9kdWxlLWVuY29kZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUta3IgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUta3ItMjAyMi1rciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUta3IgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWtyICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWtyICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyLWlzby0yMDIyLWpwICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyLWlzby0yMDIyLWpwICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlLWNqa2NvbnN0YW50cyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtbWltZS1oZWFkZXItaXNvLTIwMjItanAgKz0gIiR7UE59LW1vZHVsZS1wYXJlbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyLWlzby0yMDIyLWpwICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlci1pc28tMjAyMi1qcCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlciArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlciArPSAiJHtQTn0tbW9kdWxlLW1pbWUtYmFzZTY0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlciArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtbWltZS1oZWFkZXIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyICs9ICIke1BOfS1tb2R1bGUtdXRmOCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtbWltZS1oZWFkZXIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtbWltZS1uYW1lICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1taW1lLW5hbWUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUgKz0gIiR7UE59LW1vZHVsZS1ieXRlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZSArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZSArPSAiJHtQTn0tbW9kdWxlLWVuY29kZS1hbGlhcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZSArPSAiJHtQTn0tbW9kdWxlLWVuY29kZS1jb25maWdsb2NhbC1wbSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUtZW5jb2RpbmciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZSArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1zeW1ib2wgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXN5bWJvbCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtc3ltYm9sICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXN5bWJvbCArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS10dyArPSAiJHtQTn0tbW9kdWxlLWVuY29kZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtdHcgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXR3ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXR3ICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXVuaWNvZGUgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXVuaWNvZGUgKz0gIiR7UE59LW1vZHVsZS1wYXJlbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXVuaWNvZGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXVuaWNvZGUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtdW5pY29kZSArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS11bmljb2RlLXV0ZjcgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXVuaWNvZGUtdXRmNyArPSAiJHtQTn0tbW9kdWxlLW1pbWUtYmFzZTY0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS11bmljb2RlLXV0ZjcgKz0gIiR7UE59LW1vZHVsZS1wYXJlbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXVuaWNvZGUtdXRmNyArPSAiJHtQTn0tbW9kdWxlLXJlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS11bmljb2RlLXV0ZjcgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXVuaWNvZGUtdXRmNyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kaW5nICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGluZyArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGluZyArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kaW5nICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kaW5nICs9ICIke1BOfS1tb2R1bGUtZmlsdGVyLXV0aWwtY2FsbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGluZyArPSAiJHtQTn0tbW9kdWxlLWkxOG4tbGFuZ2luZm8iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RpbmcgKz0gIiR7UE59LW1vZHVsZS1wb3NpeCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGluZyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGluZyArPSAiJHtQTn0tbW9kdWxlLXV0ZjgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RpbmcgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGluZy13YXJuaW5ncyArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2Rpbmctd2FybmluZ3MgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2Rpbmctd2FybmluZ3MgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmdsaXNoICs9ICIke1BOfS1tb2R1bGUtY2FycCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5nbGlzaCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVudiArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbnYgKz0gIiR7UE59LW1vZHVsZS10aWUtYXJyYXkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXJybm8gKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVycm5vICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXJybm8gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXhwZXJpbWVudGFsICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHBlcmltZW50YWwgKz0gIiR7UE59LW1vZHVsZS1mZWF0dXJlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4cGVyaW1lbnRhbCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHBlcmltZW50YWwgKz0gIiR7UE59LW1vZHVsZS12ZXJzaW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4cGVyaW1lbnRhbCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4cG9ydGVyLWhlYXZ5ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHBvcnRlci1oZWF2eSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4cG9ydGVyLWhlYXZ5ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4cG9ydGVyICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXItaGVhdnkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1keW5hbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1ta3N5bWxpc3RzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1maWxlLWJhc2VuYW1lIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAiJHtQTn0tbW9kdWxlLWZpbGUtdGVtcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICIke1BOfS1tb2R1bGUtaXBjLWNtZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UgKz0gIiR7UE59LW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlciArPSAiJHtQTn0tbW9kdWxlLWZpbGUtcGF0aCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlciArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlciArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1haXggKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWFpeCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1haXggKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tYWl4ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1haXggKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1hbmRyb2lkICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWFuZHJvaWQgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWFuZHJvaWQgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tYW5kcm9pZCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1hbmRyb2lkICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1hbmRyb2lkICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tY3lnd2luICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1jeWd3aW4gKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tY3lnd2luICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWN5Z3dpbiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tY3lnd2luICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tZGFyd2luICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1kYXJ3aW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tZGFyd2luICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1kYXJ3aW4gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1kZWMtb3NmICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1kZWMtb3NmICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWRlYy1vc2YgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tZGVjLW9zZiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tZGVjLW9zZiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLW9zMiArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXVuaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tb3MyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLW9zMiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tb3MyICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdm1zICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXZtcyArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdm1zICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjLWZ1bmN0aW9ucyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS12bXMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdm1zICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS12bXMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS13aW5kb3dzLWJjYyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS13aW5kb3dzLWJjYyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MtZ2NjICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MtZ2NjICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cy1tc3ZjICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MtbXN2YyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MgKz0gIiR7UE59LW1vZHVsZS1maWxlLWJhc2VuYW1lIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cyArPSAiJHtQTn0tbW9kdWxlLWlvLWZpbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS13aW5kb3dzICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS13aW5kb3dzICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQtbW0gKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1jb21tYW5kIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQtbW0gKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1pbnN0YWxsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQtbW0gKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAiJHtQTn0tbW9kdWxlLWdldG9wdC1sb25nIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQtbW0gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAiJHtQTn0tbW9kdWxlLXRlc3QtaGFybmVzcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb21tYW5kLW1tICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gIiR7UE59LW1vZHVsZS1maWxlLWNvcHkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtZmluZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb21tYW5kICs9ICIke1BOfS1tb2R1bGUtZmlsZS1wYXRoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb21tYW5kICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1iYXNlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1iYXNlICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtYmFzZSArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXV0aWxzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LWJhc2UgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtYmFzZSArPSAiJHtQTn0tbW9kdWxlLXRleHQtd3JhcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1iYXNlICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXByb3h5c3VicyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXV0aWxzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50ICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQteHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQgKz0gIiR7UE59LW1vZHVsZS1maWxlaGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1wcm94eXN1YnMgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXByb3h5c3VicyArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXV0aWxzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXByb3h5c3VicyArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXhzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXByb3h5c3VicyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1wcm94eXN1YnMgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXV0aWxzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudC11dGlscyArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXV0aWxzICs9ICIke1BOfS1tb2R1bGUtcG9zaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtdXRpbHMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtdXRpbHMgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXhzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudC14cyArPSAiJHtQTn0tbW9kdWxlLWRhdGEtZHVtcGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXhzICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQteHMgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXhzICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtdXRpbHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQteHMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQteHMgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtZW1iZWQgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1saWJsaXN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICIke1BOfS1tb2R1bGUtZ2V0b3B0LXN0ZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1lbWJlZCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1lbWJlZCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbGVkICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1pbnN0YWxsZWQgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbGVkICs9ICIke1BOfS1tb2R1bGUtZGF0YS1kdW1wZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbGVkICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWluc3RhbGxlZCArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhY2tsaXN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWluc3RhbGxlZCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbGVkICs9ICIke1BOfS1tb2R1bGUtZmlsZS1maW5kIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWluc3RhbGxlZCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1pbnN0YWxsZWQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbGVkICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICIke1BOfS1tb2R1bGUtYXV0b3NwbGl0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWluc3RhbGwgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWluc3RhbGwgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAiJHtQTn0tbW9kdWxlLWN3ZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhY2tsaXN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWluc3RhbGwgKz0gIiR7UE59LW1vZHVsZS1maWxlLWJhc2VuYW1lIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWluc3RhbGwgKz0gIiR7UE59LW1vZHVsZS1maWxlLWNvbXBhcmUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtY29weSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICIke1BOfS1tb2R1bGUtZmlsZS1maW5kIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWluc3RhbGwgKz0gIiR7UE59LW1vZHVsZS1maWxlLXBhdGgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWluc3RhbGwgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWxpYmxpc3Qta2lkICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWxpYmxpc3Qta2lkICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1saWJsaXN0LWtpZCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQgKz0gIiR7UE59LW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1saWJsaXN0ICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1saWJsaXN0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWcgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItbG9jYWxlICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItbG9jYWxlICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1sb2NhbGUgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUtYWxpYXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWxvY2FsZSArPSAiJHtQTn0tbW9kdWxlLWkxOG4tbGFuZ2luZm8iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWxvY2FsZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIgKz0gIiR7UE59LW1vZHVsZS1iIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLXZlcnNpb24iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbXkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICIke1BOfS1tb2R1bGUtZmlsZS1wYXRoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICIke1BOfS1tb2R1bGUtdmVyc2lvbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItdmVyc2lvbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItdmVyc2lvbiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QgKz0gIiR7UE59LW1vZHVsZS1maWxlLWJhc2VuYW1lIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICIke1BOfS1tb2R1bGUtZmlsZS1jb3B5IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICIke1BOfS1tb2R1bGUtZmlsZS1maW5kIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICIke1BOfS1tb2R1bGUtZmlsZS1wYXRoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWluaXBlcmwgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1taW5pcGVybCArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWVtYmVkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1pbmlwZXJsICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1pbmlwZXJsICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1ta2Jvb3RzdHJhcCArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1ta2Jvb3RzdHJhcCArPSAiJHtQTn0tbW9kdWxlLWR5bmFsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWtib290c3RyYXAgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1ta2Jvb3RzdHJhcCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1ta3N5bWxpc3RzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1ta3N5bWxpc3RzICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1rc3ltbGlzdHMgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1ta3N5bWxpc3RzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWFpeCArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1haXggKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWFpeCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1hbnkgKz0gIiR7UE59LW1vZHVsZS1hdXRvc3BsaXQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1hbnkgKz0gIiR7UE59LW1vZHVsZS1jcGFuIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWFueSArPSAiJHtQTn0tbW9kdWxlLWRhdGEtZHVtcGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWFueSArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1hbnkgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWFueSArPSAiJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICIke1BOfS1tb2R1bGUtZmlsZS1maW5kIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWFueSArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1hbnkgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICIke1BOfS1tb2R1bGUtdmVyc2lvbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1iZW9zICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1iZW9zICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tYW55IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWJlb3MgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWJlb3MgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tYmVvcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1jeWd3aW4gKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWN5Z3dpbiArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tY3lnd2luICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0td2luMzIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tY3lnd2luICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWN5Z3dpbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1kYXJ3aW4gKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWRhcndpbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1kb3MgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1hbnkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tZG9zICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1kb3MgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tbWFjb3MgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tbnc1ICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLW53NSArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tbnc1ICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0td2luMzIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tbnc1ICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1udzUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tb3MyICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLW9zMiArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWFueSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1vczIgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLW9zMiArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1vczIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0gKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1saWJsaXN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1xbnggKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXFueCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXggKz0gIiR7UE59LW1vZHVsZS1kaXJoYW5kbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCArPSAiJHtQTn0tbW9kdWxlLWVuY29kZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXggKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXggKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1hbnkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtZmluZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXggKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXggKz0gIiR7UE59LW1vZHVsZS12ZXJzaW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXV3aW4gKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXV3aW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXZtcyArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tYW55IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXZtcyArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS12bXMgKz0gIiR7UE59LW1vZHVsZS1maWxlLWZpbmQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXZvcyArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdm9zICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjMyICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjMyICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWFueSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0td2luMzIgKz0gIiR7UE59LW1vZHVsZS1maWxlLWJhc2VuYW1lIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjMyICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjMyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjk1ICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS13aW45NSArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjMyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjk1ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW15ICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbXkgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFja2xpc3QgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhY2tsaXN0ICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhY2tsaXN0ICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhY2tsaXN0ICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhY2tsaXN0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhY2tsaXN0ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLWNvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLWNvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLXN5bWJvbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLWNvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMtY291bnRsaW5lcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLWV2YWwgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1ldmFsICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cyArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb25zdGFudHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cyArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMtY291bnRsaW5lcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1ldmFsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMgKz0gIiR7UE59LW1vZHVsZS1yZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMgKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy11dGlsaXRpZXMgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcyArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMtY29uc3RhbnRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMtdXRpbGl0aWVzICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy11dGlsaXRpZXMgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy11dGlsaXRpZXMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy11dGlsaXRpZXMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10ZXN0bGliICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXRlc3RsaWIgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtdGVzdGxpYiArPSAiJHtQTn0tbW9kdWxlLWxpYiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10ZXN0bGliICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXRlc3RsaWIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1jbWQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1jbWQgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1jbWQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtY21kICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtaW5wdXRtYXAgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtaW5wdXRtYXAgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1vdXRwdXRtYXAgKz0gIiR7UE59LW1vZHVsZS1yZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1vdXRwdXRtYXAgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtb3V0cHV0bWFwICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXR5cGVtYXBzICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb25zdGFudHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1pbnB1dG1hcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXR5cGVtYXBzLW91dHB1dG1hcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXR5cGVtYXBzLXR5cGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy10eXBlICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtdHlwZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy10eXBlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmF0YWwgKz0gIiR7UE59LW1vZHVsZS1hdXRvZGllIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZhdGFsICs9ICIke1BOfS1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24tc3lzdGVtIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZhdGFsICs9ICIke1BOfS1tb2R1bGUtYXV0b2RpZS1oaW50cyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1mYXRhbCArPSAiJHtQTn0tbW9kdWxlLWF1dG9kaWUtdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1mYXRhbCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmF0YWwgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmF0YWwgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1mYXRhbCArPSAiJHtQTn0tbW9kdWxlLWZjbnRsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZhdGFsICs9ICIke1BOfS1tb2R1bGUtcG9zaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmF0YWwgKz0gIiR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1mYXRhbCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1mYXRhbCArPSAiJHtQTn0tbW9kdWxlLXRpZS1yZWZoYXNoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZhdGFsICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmNudGwgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1mY250bCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1mY250bCArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZlYXR1cmUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpZWxkcyArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmllbGRzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWVsZHMgKz0gIiR7UE59LW1vZHVsZS1oYXNoLXV0aWwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmllbGRzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpZWxkcyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUgKz0gIiR7UE59LW1vZHVsZS1yZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWJhc2VuYW1lICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlY2FjaGUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGVjYWNoZSArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlY2FjaGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZWNhY2hlICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWNvbXBhcmUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtY29tcGFyZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtY29tcGFyZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWNvbXBhcmUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWNvcHkgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtY29weSArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWNvcHkgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWNvcHkgKz0gIiR7UE59LW1vZHVsZS1maWxlLWJhc2VuYW1lIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtY29weSArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWNvcHkgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1jb3B5ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1kb3NnbG9iICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtZG9zZ2xvYiArPSAiJHtQTn0tbW9kdWxlLXRleHQtcGFyc2V3b3JkcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWRvc2dsb2IgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWRvc2dsb2IgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZldGNoICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZldGNoICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1mZXRjaCArPSAiJHtQTn0tbW9kdWxlLWN3ZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZldGNoICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZldGNoICs9ICIke1BOfS1tb2R1bGUtZmlsZS1jb3B5IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtZmV0Y2ggKz0gIiR7UE59LW1vZHVsZS1maWxlaGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtZmV0Y2ggKz0gIiR7UE59LW1vZHVsZS1maWxlLXBhdGgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1mZXRjaCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZldGNoICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjLXVuaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1mZXRjaCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtdGVtcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZldGNoICs9ICIke1BOfS1tb2R1bGUtaXBjLWNtZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZldGNoICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0LXNpbXBsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZldGNoICs9ICIke1BOfS1tb2R1bGUtbG9hZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZldGNoICs9ICIke1BOfS1tb2R1bGUtcGFyYW1zLWNoZWNrIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtZmV0Y2ggKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1mZXRjaCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1maW5kICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtZmluZCArPSAiJHtQTn0tbW9kdWxlLWN3ZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZpbmQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZpbmQgKz0gIiR7UE59LW1vZHVsZS1maWxlLWJhc2VuYW1lIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtZmluZCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZpbmQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1maW5kICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1maW5kICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1nbG9ibWFwcGVyICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWdsb2JtYXBwZXIgKz0gIiR7UE59LW1vZHVsZS1maWxlLWdsb2IiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1nbG9ibWFwcGVyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtZ2xvYm1hcHBlciArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtZ2xvYiArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtZ2xvYiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWdsb2IgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlaGFuZGxlICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZWhhbmRsZSArPSAiJHtQTn0tbW9kdWxlLWZjbnRsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGVoYW5kbGUgKz0gIiR7UE59LW1vZHVsZS1pby1maWxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGVoYW5kbGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1wYXRoICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXBhdGggKz0gIiR7UE59LW1vZHVsZS1jd2QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1wYXRoICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1wYXRoICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXBhdGggKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1wYXRoICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtcGF0aCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLWFtaWdhb3MgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMtdW5peCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXNwZWMtYW1pZ2FvcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXNwZWMtYW1pZ2FvcyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLWN5Z3dpbiArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy1jeWd3aW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLWN5Z3dpbiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLWVwb2MgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMtdW5peCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXNwZWMtZXBvYyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXNwZWMtZXBvYyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLWZ1bmN0aW9ucyArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy1mdW5jdGlvbnMgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLWZ1bmN0aW9ucyArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy1mdW5jdGlvbnMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLWZ1bmN0aW9ucyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLW1hYyArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy1tYWMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLW1hYyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLW9zMiArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy1vczIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLW9zMiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLXVuaXggKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXNwZWMtdW5peCArPSAiJHtQTn0tbW9kdWxlLWN3ZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXNwZWMtdW5peCArPSAiJHtQTn0tbW9kdWxlLXNjYWxhci11dGlsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy11bml4ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy11bml4ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXNwZWMtdW5peCArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy12bXMgKz0gIiR7UE59LW1vZHVsZS1maWxlLWJhc2VuYW1lIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy12bXMgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMtdW5peCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXNwZWMtdm1zICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy12bXMgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy13aW4zMiArPSAiJHtQTn0tbW9kdWxlLWN3ZCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLXdpbjMyICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjLXVuaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLXdpbjMyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy13aW4zMiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zdGF0ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXN0YXQgKz0gIiR7UE59LW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zdGF0ICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zdGF0ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zdGF0ICs9ICIke1BOfS1tb2R1bGUtZmNudGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zdGF0ICs9ICIke1BOfS1tb2R1bGUtb3ZlcmxvYWQgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3RhdCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXN0YXQgKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zdGF0ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXN0YXQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXN0YXQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXRlbXAgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtdGVtcCArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtdGVtcCArPSAiJHtQTn0tbW9kdWxlLWN3ZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXRlbXAgKz0gIiR7UE59LW1vZHVsZS1lcnJubyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXRlbXAgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXRlbXAgKz0gIiR7UE59LW1vZHVsZS1mY250bCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXRlbXAgKz0gIiR7UE59LW1vZHVsZS1maWxlLXBhdGgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS10ZW1wICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtdGVtcCArPSAiJHtQTn0tbW9kdWxlLWlvLXNlZWthYmxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtdGVtcCArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtdGVtcCArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXRlbXAgKz0gIiR7UE59LW1vZHVsZS1wb3NpeCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXRlbXAgKz0gIiR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXRlbXAgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS10ZW1wICs9ICIke1BOfS1tb2R1bGUtc3ltYm9sIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtdGVtcCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsdGVyLXNpbXBsZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsdGVyLXNpbXBsZSArPSAiJHtQTn0tbW9kdWxlLWZpbHRlci11dGlsLWNhbGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsdGVyLXNpbXBsZSArPSAiJHtQTn0tbW9kdWxlLXRleHQtYmFsYW5jZWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsdGVyLXNpbXBsZSArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsdGVyLXV0aWwtY2FsbCArPSAiJHtQTn0tbW9kdWxlLWNhcnAgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbHRlci11dGlsLWNhbGwgKz0gIiR7UE59LW1vZHVsZS1keW5hbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbHRlci11dGlsLWNhbGwgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWx0ZXItdXRpbC1jYWxsICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbHRlci11dGlsLWNhbGwgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbHRlci11dGlsLWNhbGwgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maW5kYmluICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maW5kYmluICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbmRiaW4gKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maW5kYmluICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maW5kYmluICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWdldG9wdC1sb25nICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1nZXRvcHQtbG9uZyArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWdldG9wdC1sb25nICs9ICIke1BOfS1tb2R1bGUtcG9kLXVzYWdlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWdldG9wdC1sb25nICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWdldG9wdC1sb25nICs9ICIke1BOfS1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWdldG9wdC1sb25nICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1nZXRvcHQtc3RkICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaGFzaC11dGlsLWZpZWxkaGFzaCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWhhc2gtdXRpbC1maWVsZGhhc2ggKz0gIiR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1oYXNoLXV0aWwtZmllbGRoYXNoICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWhhc2gtdXRpbC1maWVsZGhhc2ggKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1oYXNoLXV0aWwtZmllbGRoYXNoICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaGFzaC11dGlsICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1oYXNoLXV0aWwgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1oYXNoLXV0aWwgKz0gIiR7UE59LW1vZHVsZS1oYXNoLXV0aWwtZmllbGRoYXNoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWhhc2gtdXRpbCArPSAiJHtQTn0tbW9kdWxlLXNjYWxhci11dGlsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWhhc2gtdXRpbCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1oYXNoLXV0aWwgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1oYXNoLXV0aWwgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1oYXNoLXV0aWwgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pMThuLWNvbGxhdGUgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pMThuLWNvbGxhdGUgKz0gIiR7UE59LW1vZHVsZS1vdmVybG9hZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pMThuLWNvbGxhdGUgKz0gIiR7UE59LW1vZHVsZS1wb3NpeCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pMThuLWNvbGxhdGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaTE4bi1jb2xsYXRlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaTE4bi1sYW5naW5mbyArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaTE4bi1sYW5naW5mbyArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWkxOG4tbGFuZ2luZm8gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaTE4bi1sYW5naW5mbyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWkxOG4tbGFuZ2luZm8gKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pMThuLWxhbmd0YWdzLWRldGVjdCArPSAiJHtQTn0tbW9kdWxlLWkxOG4tbGFuZ3RhZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaTE4bi1sYW5ndGFncy1kZXRlY3QgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaTE4bi1sYW5ndGFncy1kZXRlY3QgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWkxOG4tbGFuZ3RhZ3MtbGlzdCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pMThuLWxhbmd0YWdzLWxpc3QgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWkxOG4tbGFuZ3RhZ3MgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pMThuLWxhbmd0YWdzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWkxOG4tbGFuZ3RhZ3MgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItYnppcDIgKz0gIiR7UE59LW1vZHVsZS1ieXRlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWJ6aXAyICs9ICIke1BOfS1tb2R1bGUtY29tcHJlc3MtcmF3LWJ6aXAyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItYnppcDIgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWJ6aXAyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItYnppcDIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1ieXRlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1kZWZsYXRlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWlkZW50aXR5ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24gKz0gIiR7UE59LW1vZHVsZS1maWxlLWdsb2JtYXBwZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24gKz0gIiR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24gKz0gIiR7UE59LW1vZHVsZS11dGY4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZSArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1pby1maWxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1pby1oYW5kbGUgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0ICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlICs9ICIke1BOfS1tb2R1bGUtc3ltYm9sIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iemlwMiArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJ6aXAyICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJ6aXAyICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1iemlwMiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iemlwMiArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYnppcDIgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iemlwMiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYnppcDIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICIke1BOfS1tb2R1bGUtYnl0ZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtZGVmbGF0ZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1kZWZsYXRlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWRlZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1jb25zdGFudHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtZGVmbGF0ZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtZGVmbGF0ZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzICs9ICIke1BOfS1tb2R1bGUtYnl0ZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtZ3ppcC1jb25zdGFudHMgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1nemlwLWNvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0ICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1nemlwLWNvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAgKz0gIiR7UE59LW1vZHVsZS1ieXRlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtZ3ppcCArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1nemlwLWNvbnN0YW50cyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1leHRyYSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0ICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXJhd2RlZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXJhd2RlZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1mY250bCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1kZWZsYXRlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXJhd2RlZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXJhd2RlZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0ICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemlwLWNvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXppcC1jb25zdGFudHMgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16aXAtY29uc3RhbnRzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0ICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16aXAtY29uc3RhbnRzICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICIke1BOfS1tb2R1bGUtYnl0ZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICIke1BOfS1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16aXAgKz0gIiR7UE59LW1vZHVsZS1mY250bCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16aXAgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1kZWZsYXRlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYnppcDIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16aXAgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16aXAtY29uc3RhbnRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItZXh0cmEiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0ICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16aXAgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16bGliLWNvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItY29uc3RhbnRzICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1jb25zdGFudHMgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16bGliLWNvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1jb25zdGFudHMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16bGliLWV4dHJhICs9ICIke1BOfS1tb2R1bGUtYnl0ZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1leHRyYSArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItZXh0cmEgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItZXh0cmEgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1kaXIgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWRpciArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWRpciArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1kaXIgKz0gIiR7UE59LW1vZHVsZS1maWxlLXN0YXQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tZGlyICs9ICIke1BOfS1tb2R1bGUtaW8tZmlsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1kaXIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tZGlyICs9ICIke1BOfS1tb2R1bGUtc3ltYm9sIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWRpciArPSAiJHtQTn0tbW9kdWxlLXRpZS1oYXNoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWZpbGUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWZpbGUgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1maWxlICs9ICIke1BOfS1tb2R1bGUtZmNudGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tZmlsZSArPSAiJHtQTn0tbW9kdWxlLWlvLXNlZWthYmxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWZpbGUgKz0gIiR7UE59LW1vZHVsZS1zZWxlY3RzYXZlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1maWxlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWZpbGUgKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8taGFuZGxlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1oYW5kbGUgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1oYW5kbGUgKz0gIiR7UE59LW1vZHVsZS1pbyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1oYW5kbGUgKz0gIiR7UE59LW1vZHVsZS1pby1maWxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWhhbmRsZSArPSAiJHtQTn0tbW9kdWxlLXNlbGVjdHNhdmVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWhhbmRsZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1oYW5kbGUgKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8gKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8gKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1waXBlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1waXBlICs9ICIke1BOfS1tb2R1bGUtZmNudGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tcGlwZSArPSAiJHtQTn0tbW9kdWxlLWlvLWhhbmRsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1waXBlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXBpcGUgKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tcG9sbCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXBvbGwgKz0gIiR7UE59LW1vZHVsZS1pby1oYW5kbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tcG9sbCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1zZWVrYWJsZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tc2Vla2FibGUgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1zZWVrYWJsZSArPSAiJHtQTn0tbW9kdWxlLWZjbnRsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNlZWthYmxlICs9ICIke1BOfS1tb2R1bGUtaW8taGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNlZWthYmxlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNlbGVjdCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNlbGVjdCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1zZWxlY3QgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNlbGVjdCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldC1pbmV0ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1zb2NrZXQtaW5ldCArPSAiJHtQTn0tbW9kdWxlLWVycm5vIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldC1pbmV0ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tc29ja2V0LWluZXQgKz0gIiR7UE59LW1vZHVsZS1pby1zb2NrZXQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tc29ja2V0LWluZXQgKz0gIiR7UE59LW1vZHVsZS1zb2NrZXQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tc29ja2V0LWluZXQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tc29ja2V0LWlwICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1zb2NrZXQtaXAgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldC1pcCArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldC1pcCArPSAiJHtQTn0tbW9kdWxlLWVycm5vIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldC1pcCArPSAiJHtQTn0tbW9kdWxlLXBvc2l4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldC1pcCArPSAiJHtQTn0tbW9kdWxlLXNvY2tldCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1zb2NrZXQtaXAgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tc29ja2V0LWlwICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tc29ja2V0ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1zb2NrZXQgKz0gIiR7UE59LW1vZHVsZS1lcnJubyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1zb2NrZXQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1zb2NrZXQgKz0gIiR7UE59LW1vZHVsZS1pby1oYW5kbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tc29ja2V0ICs9ICIke1BOfS1tb2R1bGUtaW8tc2VsZWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldCArPSAiJHtQTn0tbW9kdWxlLWlvLXNvY2tldC1pbmV0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldCArPSAiJHtQTn0tbW9kdWxlLWlvLXNvY2tldC11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldCArPSAiJHtQTn0tbW9kdWxlLXNvY2tldCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1zb2NrZXQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tc29ja2V0LXVuaXggKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldC11bml4ICs9ICIke1BOfS1tb2R1bGUtaW8tc29ja2V0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldC11bml4ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1idW56aXAyICs9ICIke1BOfS1tb2R1bGUtYnl0ZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWJ1bnppcDIgKz0gIiR7UE59LW1vZHVsZS1jb21wcmVzcy1yYXctYnppcDIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWJ1bnppcDIgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItYnVuemlwMiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItYnVuemlwMiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAiJHtQTn0tbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXppcC1jb25zdGFudHMgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaW5mbGF0ZSArPSAiJHtQTn0tbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFueWluZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1ieXRlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFueWluZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55aW5mbGF0ZSArPSAiJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55aW5mbGF0ZSArPSAiJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFueWluZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLXJhd2luZmxhdGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFueWluZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnl1bmNvbXByZXNzICs9ICIke1BOfS1tb2R1bGUtYnl0ZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnl1bmNvbXByZXNzICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55dW5jb21wcmVzcyArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55dW5jb21wcmVzcyArPSAiJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFueXVuY29tcHJlc3MgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnl1bmNvbXByZXNzICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICIke1BOfS1tb2R1bGUtY2FycCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICIke1BOfS1tb2R1bGUtaW8tZmlsZSAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICIke1BOfS1tb2R1bGUtbGlzdC11dGlsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSArPSAiJHtQTn0tbW9kdWxlLXNjYWxhci11dGlsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICIke1BOfS1tb2R1bGUtc3ltYm9sIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYnVuemlwMiArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYnVuemlwMiArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gIiR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItYnVuemlwMiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gIiR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1idW56aXAyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0ICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWd1bnppcCArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwICs9ICIke1BOfS1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWd1bnppcCArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1leHRyYSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWd1bnppcCArPSAiJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWd1bnppcCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWluZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1ieXRlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWluZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1pbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1pbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1jb25zdGFudHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1pbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1yYXdpbmZsYXRlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1pbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1yYXdpbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1yYXdpbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAiJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pbmZsYXRlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAiJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLXJhd2luZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gIiR7UE59LW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICIke1BOfS1tb2R1bGUtZmNudGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16aXAtY29uc3RhbnRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16bGliLWV4dHJhIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gIiR7UE59LW1vZHVsZS1pby1maWxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gIiR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAiJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pbmZsYXRlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gIiR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLXJhd2luZmxhdGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAiJHtQTn0tbW9kdWxlLXBvc2l4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby16bGliICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby16bGliICs9ICIke1BOfS1tb2R1bGUtZmNudGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8temxpYiArPSAiJHtQTn0tbW9kdWxlLWlvLWhhbmRsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby16bGliICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXpsaWIgKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8temxpYiArPSAiJHtQTn0tbW9kdWxlLXRpZS1oYW5kbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8temxpYiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLWNtZCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLWNtZCArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1jbWQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtY21kICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1jbWQgKz0gIiR7UE59LW1vZHVsZS1maWxlaGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1jbWQgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLWNtZCArPSAiJHtQTn0tbW9kdWxlLWlvLWhhbmRsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtY21kICs9ICIke1BOfS1tb2R1bGUtaW8tc2VsZWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1jbWQgKz0gIiR7UE59LW1vZHVsZS1pcGMtb3BlbjMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLWNtZCArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1zaW1wbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLWNtZCArPSAiJHtQTn0tbW9kdWxlLWxvYWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLWNtZCArPSAiJHtQTn0tbW9kdWxlLXBhcmFtcy1jaGVjayIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtY21kICs9ICIke1BOfS1tb2R1bGUtcG9zaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLWNtZCArPSAiJHtQTn0tbW9kdWxlLXNvY2tldCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtY21kICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1jbWQgKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLWNtZCArPSAiJHtQTn0tbW9kdWxlLXRleHQtcGFyc2V3b3JkcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtY21kICs9ICIke1BOfS1tb2R1bGUtdGltZS1oaXJlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtY21kICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtbXNnICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtbXNnICs9ICIke1BOfS1tb2R1bGUtY2xhc3Mtc3RydWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1tc2cgKz0gIiR7UE59LW1vZHVsZS1pcGMtc3lzdiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtbXNnICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1tc2cgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1vcGVuMiArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1vcGVuMiArPSAiJHtQTn0tbW9kdWxlLWlwYy1vcGVuMyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtb3BlbjIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLW9wZW4zICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtb3BlbjMgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtb3BlbjMgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtb3BlbjMgKz0gIiR7UE59LW1vZHVsZS1mY250bCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtb3BlbjMgKz0gIiR7UE59LW1vZHVsZS1pby1waXBlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1vcGVuMyArPSAiJHtQTn0tbW9kdWxlLXBvc2l4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1vcGVuMyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtb3BlbjMgKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLXNlbWFwaG9yZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLXNlbWFwaG9yZSArPSAiJHtQTn0tbW9kdWxlLWNsYXNzLXN0cnVjdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtc2VtYXBob3JlICs9ICIke1BOfS1tb2R1bGUtaXBjLXN5c3YiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLXNlbWFwaG9yZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtc2VtYXBob3JlICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtc2hhcmVkbWVtICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtc2hhcmVkbWVtICs9ICIke1BOfS1tb2R1bGUtY2xhc3Mtc3RydWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1zaGFyZWRtZW0gKz0gIiR7UE59LW1vZHVsZS1pcGMtc3lzdiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtc2hhcmVkbWVtICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1zaGFyZWRtZW0gKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1zeXN2ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtc3lzdiArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtc3lzdiArPSAiJHtQTn0tbW9kdWxlLWR5bmFsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLXN5c3YgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtc3lzdiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtc3lzdiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtanNvbi1wcC1ib29sZWFuICs9ICIke1BOfS1tb2R1bGUtanNvbi1wcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1qc29uLXBwLWJvb2xlYW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtanNvbi1wcCArPSAiJHtQTn0tbW9kdWxlLWIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtanNvbi1wcCArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtanNvbi1wcCArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWpzb24tcHAgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWpzb24tcHAgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1qc29uLXBwICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWpzb24tcHAgKz0gIiR7UE59LW1vZHVsZS1tYXRoLWJpZ2Zsb2F0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWpzb24tcHAgKz0gIiR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1qc29uLXBwICs9ICIke1BOfS1tb2R1bGUtb3ZlcmxvYWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtanNvbi1wcCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1qc29uLXBwICs9ICIke1BOfS1tb2R1bGUtc3VicyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sZXNzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxlc3MgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1saWIgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxpYiArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1saWIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbGlzdC11dGlsICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbGlzdC11dGlsICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxpc3QtdXRpbCArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxpc3QtdXRpbC14cyArPSAiJHtQTn0tbW9kdWxlLWxpc3QtdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1saXN0LXV0aWwteHMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9hZGVkICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2FkZWQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9hZGVkICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2FkICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2FkICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvYWQgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2FkICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9hZCArPSAiJHtQTn0tbW9kdWxlLWZpbGVoYW5kbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9hZCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2FkICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0LXNpbXBsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2FkICs9ICIke1BOfS1tb2R1bGUtY29yZWxpc3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9hZCArPSAiJHtQTn0tbW9kdWxlLWxvYWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9hZCArPSAiJHtQTn0tbW9kdWxlLXBhcmFtcy1jaGVjayIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2FkICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvYWQgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvYWQgKz0gIiR7UE59LW1vZHVsZS12ZXJzaW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvYWQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb3VudHJ5LWNvZGVzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb3VudHJ5LWNvZGVzICs9ICIke1BOfS1tb2R1bGUtdXRmOCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeS1jb2RlcyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb3VudHJ5ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb3VudHJ5ICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb3VudHJ5ICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb3VudHJ5LWNvZGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb3VudHJ5ICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnktcmV0aXJlZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb3VudHJ5LXJldGlyZWQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnktcmV0aXJlZCArPSAiJHtQTn0tbW9kdWxlLXV0ZjgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnktcmV0aXJlZCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeS1jb2RlcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3ktY29kZXMgKz0gIiR7UE59LW1vZHVsZS11dGY4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeS1jb2RlcyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5ICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeSArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5ICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5LWNvZGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeSArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeS1yZXRpcmVkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3kgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3ktcmV0aXJlZCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3ktcmV0aXJlZCArPSAiJHtQTn0tbW9kdWxlLXV0ZjgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5LXJldGlyZWQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dC1jb2RlcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dC1jb2RlcyArPSAiJHtQTn0tbW9kdWxlLXV0ZjgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdleHQtY29kZXMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdleHQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dCArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2RlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dCArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdleHQgKz0gIiR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dC1jb2RlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dCArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0LXJldGlyZWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdleHQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdleHQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dC1yZXRpcmVkICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0LXJldGlyZWQgKz0gIiR7UE59LW1vZHVsZS11dGY4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0LXJldGlyZWQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbS1jb2RlcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbS1jb2RlcyArPSAiJHtQTn0tbW9kdWxlLXV0ZjgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0tY29kZXMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0gKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2RlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0gKz0gIiR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbS1jb2RlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZmFtLXJldGlyZWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbS1yZXRpcmVkICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZmFtLXJldGlyZWQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UtY29kZXMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlLWNvZGVzICs9ICIke1BOfS1tb2R1bGUtdXRmOCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UtY29kZXMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZSArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2RlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UgKz0gIiR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZSArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZS1jb2RlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UgKz0gIiR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UtcmV0aXJlZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlLXJldGlyZWQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlLXJldGlyZWQgKz0gIiR7UE59LW1vZHVsZS11dGY4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZS1yZXRpcmVkICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXItY29kZXMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXItY29kZXMgKz0gIiR7UE59LW1vZHVsZS11dGY4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyLWNvZGVzICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gIiR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gIiR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXItY29kZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gIiR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3Zhci1yZXRpcmVkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXItcmV0aXJlZCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3Zhci1yZXRpcmVkICs9ICIke1BOfS1tb2R1bGUtdXRmOCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3Zhci1yZXRpcmVkICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMgKz0gIiR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2RlcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0LWNvZGVzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQtY29kZXMgKz0gIiR7UE59LW1vZHVsZS11dGY4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQtY29kZXMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdCArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2RlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdC1jb2RlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdC1yZXRpcmVkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQtcmV0aXJlZCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0LXJldGlyZWQgKz0gIiR7UE59LW1vZHVsZS11dGY4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQtcmV0aXJlZCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb3VudHJ5ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvdW50cnkgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvdW50cnkgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY3VycmVuY3kgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY3VycmVuY3kgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWN1cnJlbmN5ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWxhbmd1YWdlICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWxhbmd1YWdlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1sYW5ndWFnZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1ndXRzbG9hZGVyICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1ndXRzICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1tYWtldGV4dCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0ICs9ICIke1BOfS1tb2R1bGUtaTE4bi1sYW5ndGFncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtbWFrZXRleHQgKz0gIiR7UE59LW1vZHVsZS1pMThuLWxhbmd0YWdzLWRldGVjdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtbWFrZXRleHQgKz0gIiR7UE59LW1vZHVsZS1pbnRlZ2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1tYWtldGV4dCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtbWFrZXRleHQgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1zaW1wbGUgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1zaW1wbGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLXNjcmlwdCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1zY3JpcHQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLXNjcmlwdCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnZmxvYXQgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnZmxvYXQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2Zsb2F0ICs9ICIke1BOfS1tb2R1bGUtbWF0aC1iaWdpbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdmbG9hdCArPSAiJHtQTn0tbW9kdWxlLW1hdGgtY29tcGxleCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2Zsb2F0ICs9ICIke1BOfS1tb2R1bGUtb3ZlcmxvYWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdmbG9hdCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2Zsb2F0ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdmbG9hdC10cmFjZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnZmxvYXQtdHJhY2UgKz0gIiR7UE59LW1vZHVsZS1tYXRoLWJpZ2Zsb2F0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnZmxvYXQtdHJhY2UgKz0gIiR7UE59LW1vZHVsZS1vdmVybG9hZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2Zsb2F0LXRyYWNlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnZmxvYXQtdHJhY2UgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludC1jYWxjZW11ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50LWNhbGNlbXUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludC1jYWxjICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludC1jYWxjICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyArPSAiJHtQTn0tbW9kdWxlLWludGVnZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludC1jYWxjICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdpbnQtZmFzdGNhbGMgKz0gIiR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludC1jYWxjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50LWZhc3RjYWxjICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50LWZhc3RjYWxjICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdpbnQtZmFzdGNhbGMgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludCArPSAiJHtQTn0tbW9kdWxlLW1hdGgtYmlnZmxvYXQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gIiR7UE59LW1vZHVsZS1tYXRoLWNvbXBsZXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gIiR7UE59LW1vZHVsZS1vdmVybG9hZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdpbnQtdHJhY2UgKz0gIiR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludC10cmFjZSArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdyYXQgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlncmF0ICs9ICIke1BOfS1tb2R1bGUtbWF0aC1iaWdmbG9hdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ3JhdCArPSAiJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlncmF0ICs9ICIke1BOfS1tb2R1bGUtb3ZlcmxvYWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdyYXQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdyYXQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWNvbXBsZXggKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1jb21wbGV4ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1jb21wbGV4ICs9ICIke1BOfS1tb2R1bGUtb3ZlcmxvYWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1jb21wbGV4ICs9ICIke1BOfS1tb2R1bGUtc2NhbGFyLXV0aWwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1jb21wbGV4ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtY29tcGxleCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtdHJpZyArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtdHJpZyArPSAiJHtQTn0tbW9kdWxlLW1hdGgtY29tcGxleCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLXRyaWcgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWVtb2l6ZS1hbnlkYm0tZmlsZSArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWVtb2l6ZS1leHBpcmVmaWxlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tZW1vaXplLWV4cGlyZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWVtb2l6ZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWVtb2l6ZSArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tZW1vaXplICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWVtb2l6ZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tZW1vaXplICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tZW1vaXplLXNkYm0tZmlsZSArPSAiJHtQTn0tbW9kdWxlLXNkYm0tZmlsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tZW1vaXplLXN0b3JhYmxlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tZW1vaXplLXN0b3JhYmxlICs9ICIke1BOfS1tb2R1bGUtc3RvcmFibGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWV0YS1ub3RhdGlvbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tZXRhLW5vdGF0aW9uICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWltZS1iYXNlNjQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1taW1lLWJhc2U2NCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1taW1lLWJhc2U2NCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWltZS1iYXNlNjQgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1taW1lLXF1b3RlZHByaW50ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWltZS1xdW90ZWRwcmludCArPSAiJHtQTn0tbW9kdWxlLW1pbWUtYmFzZTY0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1pbWUtcXVvdGVkcHJpbnQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWltZS1xdW90ZWRwcmludCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbXJvICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1ybyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1ybyArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1jbWQgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1jbWQgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtY21kICs9ICIke1BOfS1tb2R1bGUtZXJybm8iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWNtZCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1jbWQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWNtZCArPSAiJHtQTn0tbW9kdWxlLXN5bWJvbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtY21kICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWNvbmZpZyArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1jb25maWcgKz0gIiR7UE59LW1vZHVsZS1zb2NrZXQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWNvbmZpZyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtY29uZmlnICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWRvbWFpbiArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWRvbWFpbiArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1kb21haW4gKz0gIiR7UE59LW1vZHVsZS1uZXQtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1kb21haW4gKz0gIiR7UE59LW1vZHVsZS1wb3NpeCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtZG9tYWluICs9ICIke1BOfS1tb2R1bGUtc29ja2V0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1kb21haW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWRvbWFpbiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAtYSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cC1hICs9ICIke1BOfS1tb2R1bGUtbmV0LWZ0cC1kYXRhY29ubiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtZnRwLWEgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cC1hICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cC1kYXRhY29ubiArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cC1kYXRhY29ubiArPSAiJHtQTn0tbW9kdWxlLWVycm5vIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAtZGF0YWNvbm4gKz0gIiR7UE59LW1vZHVsZS1uZXQtY21kIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAtZGF0YWNvbm4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cC1kYXRhY29ubiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAtZSArPSAiJHtQTn0tbW9kdWxlLW5ldC1mdHAtaSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtZnRwLWUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cC1lICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cC1pICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtZnRwLWkgKz0gIiR7UE59LW1vZHVsZS1uZXQtZnRwLWRhdGFjb25uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAtaSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtZnRwLWkgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtZnRwLWwgKz0gIiR7UE59LW1vZHVsZS1uZXQtZnRwLWkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cC1sICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAtbCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtZnRwICs9ICIke1BOfS1tb2R1bGUtZmNudGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cCArPSAiJHtQTn0tbW9kdWxlLWlvLXNvY2tldCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtZnRwICs9ICIke1BOfS1tb2R1bGUtaW8tc29ja2V0LWlwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAgKz0gIiR7UE59LW1vZHVsZS1uZXQtY21kIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAgKz0gIiR7UE59LW1vZHVsZS1uZXQtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAgKz0gIiR7UE59LW1vZHVsZS1uZXQtZnRwLWEiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cCArPSAiJHtQTn0tbW9kdWxlLW5ldC1uZXRyYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtZnRwICs9ICIke1BOfS1tb2R1bGUtc29ja2V0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cCArPSAiJHtQTn0tbW9kdWxlLXRpbWUtbG9jYWwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1ob3N0ZW50ICs9ICIke1BOfS1tb2R1bGUtY2xhc3Mtc3RydWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1ob3N0ZW50ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWhvc3RlbnQgKz0gIiR7UE59LW1vZHVsZS1zb2NrZXQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWhvc3RlbnQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWhvc3RlbnQgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1uZXRlbnQgKz0gIiR7UE59LW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LW5ldGVudCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1uZXRlbnQgKz0gIiR7UE59LW1vZHVsZS1zb2NrZXQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LW5ldGVudCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtbmV0ZW50ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtbmV0cmMgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1uZXRyYyArPSAiJHtQTn0tbW9kdWxlLWZpbGVoYW5kbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LW5ldHJjICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1uZXRyYyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1ubnRwICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtbm50cCArPSAiJHtQTn0tbW9kdWxlLWlvLXNvY2tldCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtbm50cCArPSAiJHtQTn0tbW9kdWxlLWlvLXNvY2tldC1pcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtbm50cCArPSAiJHtQTn0tbW9kdWxlLW5ldC1jbWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LW5udHAgKz0gIiR7UE59LW1vZHVsZS1uZXQtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1ubnRwICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1ubnRwICs9ICIke1BOfS1tb2R1bGUtdGltZS1sb2NhbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtbm50cCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1waW5nICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtcGluZyArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1waW5nICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXBpbmcgKz0gIiR7UE59LW1vZHVsZS1mY250bCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtcGluZyArPSAiJHtQTn0tbW9kdWxlLWZpbGVoYW5kbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXBpbmcgKz0gIiR7UE59LW1vZHVsZS1wb3NpeCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtcGluZyArPSAiJHtQTn0tbW9kdWxlLXNvY2tldCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtcGluZyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtcGluZyArPSAiJHtQTn0tbW9kdWxlLXRpbWUtaGlyZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXBpbmcgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1wb3AzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtcG9wMyArPSAiJHtQTn0tbW9kdWxlLWlvLXNvY2tldCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtcG9wMyArPSAiJHtQTn0tbW9kdWxlLWlvLXNvY2tldC1pcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtcG9wMyArPSAiJHtQTn0tbW9kdWxlLW1pbWUtYmFzZTY0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1wb3AzICs9ICIke1BOfS1tb2R1bGUtbmV0LWNtZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtcG9wMyArPSAiJHtQTn0tbW9kdWxlLW5ldC1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXBvcDMgKz0gIiR7UE59LW1vZHVsZS1uZXQtbmV0cmMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXBvcDMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXBvcDMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtcHJvdG9lbnQgKz0gIiR7UE59LW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXByb3RvZW50ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXByb3RvZW50ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1wcm90b2VudCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXNlcnZlbnQgKz0gIiR7UE59LW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXNlcnZlbnQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtc2VydmVudCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtc2VydmVudCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXNtdHAgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1zbXRwICs9ICIke1BOfS1tb2R1bGUtaW8tc29ja2V0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1zbXRwICs9ICIke1BOfS1tb2R1bGUtaW8tc29ja2V0LWlwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1zbXRwICs9ICIke1BOfS1tb2R1bGUtbWltZS1iYXNlNjQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXNtdHAgKz0gIiR7UE59LW1vZHVsZS1uZXQtY21kIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1zbXRwICs9ICIke1BOfS1tb2R1bGUtbmV0LWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtc210cCArPSAiJHtQTn0tbW9kdWxlLXNvY2tldCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtc210cCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtc210cCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC10aW1lICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtdGltZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC10aW1lICs9ICIke1BOfS1tb2R1bGUtaW8tc2VsZWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC10aW1lICs9ICIke1BOfS1tb2R1bGUtaW8tc29ja2V0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC10aW1lICs9ICIke1BOfS1tb2R1bGUtbmV0LWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtdGltZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtdGltZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5leHQgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5leHQgKz0gIiR7UE59LW1vZHVsZS1vdmVybG9hZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXh0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW9kYm0tZmlsZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vZGJtLWZpbGUgKz0gIiR7UE59LW1vZHVsZS10aWUtaGFzaCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vZGJtLWZpbGUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vZGJtLWZpbGUgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vayArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vayArPSAiJHtQTn0tbW9kdWxlLXRlc3QtbW9yZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vcGNvZGUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW9wY29kZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW9wY29kZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vcGNvZGUgKz0gIiR7UE59LW1vZHVsZS1zdWJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW9wY29kZSArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW9wZW4gKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW9wZW4gKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtb3BlbiArPSAiJHtQTn0tbW9kdWxlLWVuY29kaW5nIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW9wZW4gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vICs9ICIke1BOfS1tb2R1bGUtYiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vcHMgKz0gIiR7UE59LW1vZHVsZS1vcGNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtb3ZlcmxvYWRpbmcgKz0gIiR7UE59LW1vZHVsZS1vdmVybG9hZC1udW1iZXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW92ZXJsb2FkaW5nICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtb3ZlcmxvYWQgKz0gIiR7UE59LW1vZHVsZS1tcm8iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtb3ZlcmxvYWQgKz0gIiR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vdmVybG9hZCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBhcmFtcy1jaGVjayArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcGFyYW1zLWNoZWNrICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcGFyYW1zLWNoZWNrICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0LXNpbXBsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wYXJhbXMtY2hlY2sgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcGFyYW1zLWNoZWNrICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wYXJlbnQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcGFyZW50ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wZXJsZmFxICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBlcmxmYXEgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wZXJsaW8tZW5jb2RpbmcgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcGVybGlvLWVuY29kaW5nICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcGVybGlvLW1tYXAgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcGVybGlvLW1tYXAgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wZXJsaW8tbW1hcCArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBlcmxpby1zY2FsYXIgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wZXJsaW8tdmlhICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcGVybGlvLXZpYS1xdW90ZWRwcmludCArPSAiJHtQTn0tbW9kdWxlLW1pbWUtcXVvdGVkcHJpbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcGVybGlvLXZpYS1xdW90ZWRwcmludCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtY2hlY2tlciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLWNoZWNrZXIgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtY2hlY2tlciArPSAiJHtQTn0tbW9kdWxlLXBvZC1wYXJzZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLWNoZWNrZXIgKz0gIiR7UE59LW1vZHVsZS1wb2QtcGFyc2V1dGlscyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtY2hlY2tlciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtY2hlY2tlciArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLWVzY2FwZXMgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtZXNjYXBlcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtZXNjYXBlcyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLWVzY2FwZXMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtZmluZCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLWZpbmQgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLWZpbmQgKz0gIiR7UE59LW1vZHVsZS1jd2QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLWZpbmQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtZmluZCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtZmluZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtZmluZCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtZmluZCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtZmluZCArPSAiJHtQTn0tbW9kdWxlLXN5bWJvbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtZmluZCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLWZ1bmN0aW9ucyArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1mdW5jdGlvbnMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLWlucHV0b2JqZWN0cyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtaW5wdXRvYmplY3RzICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtbWFuICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtbWFuICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtbWFuICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1tYW4gKz0gIiR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1tYW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLW1hbiArPSAiJHtQTn0tbW9kdWxlLXN1YnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLW1hbiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLW1hbiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wYXJzZWxpbmsgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGFyc2VsaW5rICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wYXJzZWxpbmsgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wYXJzZWxpbmsgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGFyc2VyICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGFyc2VyICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBhcnNlciArPSAiJHtQTn0tbW9kdWxlLXBvZC1pbnB1dG9iamVjdHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBhcnNlciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGFyc2VyICs9ICIke1BOfS1tb2R1bGUtc3ltYm9sIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wYXJzZXIgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wYXJzZXV0aWxzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGFyc2V1dGlscyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGFyc2V1dGlscyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtYmFzZXRvICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy1iYXNldG8gKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtYmFzZXRvICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjLWZ1bmN0aW9ucyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy1iYXNldG8gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtYmFzZXRvICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy1iYXNldG8gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy1nZXRvcHRzb28gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtZ2V0b3B0c29vICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYyArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MgKz0gIiR7UE59LW1vZHVsZS1mY250bCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYyArPSAiJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMtZnVuY3Rpb25zIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jICs9ICIke1BOfS1tb2R1bGUtZmlsZS10ZW1wIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jICs9ICIke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtZ2V0b3B0c29vIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jICs9ICIke1BOfS1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jLXRvYW5zaSArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b2Fuc2kgKz0gIiR7UE59LW1vZHVsZS1wb2QtdGV4dC1jb2xvciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b2Fuc2kgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9hbnNpICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b2Fuc2kgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b2NoZWNrZXIgKz0gIiR7UE59LW1vZHVsZS1wb2QtY2hlY2tlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b2NoZWNrZXIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9jaGVja2VyICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b2NoZWNrZXIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b21hbiArPSAiJHtQTn0tbW9kdWxlLWVuY29kZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b21hbiArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy1mdW5jdGlvbnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gIiR7UE59LW1vZHVsZS1pby1oYW5kbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gIiR7UE59LW1vZHVsZS1pby1zZWxlY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gIiR7UE59LW1vZHVsZS1pcGMtb3BlbjMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gIiR7UE59LW1vZHVsZS1wYXJlbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gIiR7UE59LW1vZHVsZS1wb2QtbWFuIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jLXRvbWFuICs9ICIke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9wb2QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jLXRvbWFuICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9ucm9mZiArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b25yb2ZmICs9ICIke1BOfS1tb2R1bGUtcG9kLW1hbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b25yb2ZmICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jLXRvbnJvZmYgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jLXRvbnJvZmYgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b3BvZCArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b3BvZCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b3BvZCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9wb2QgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b3J0ZiArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b3J0ZiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b3J0ZiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9ydGYgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b3Rlcm0gKz0gIiR7UE59LW1vZHVsZS1wYXJlbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG90ZXJtICs9ICIke1BOfS1tb2R1bGUtcG9kLXRleHQtdGVybWNhcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b3Rlcm0gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG90ZXJtICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b3Rlcm0gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b3RleHQgKz0gIiR7UE59LW1vZHVsZS1wYXJlbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG90ZXh0ICs9ICIke1BOfS1tb2R1bGUtcG9kLXRleHQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG90ZXh0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGV4dCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG90ZXh0ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG94bWwgKz0gIiR7UE59LW1vZHVsZS1wYXJlbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG94bWwgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG94bWwgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jLXRveG1sICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBsYWludGV4dCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBsYWludGV4dCArPSAiJHtQTn0tbW9kdWxlLXBvZC1zZWxlY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBsYWludGV4dCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGxhaW50ZXh0ICs9ICIke1BOfS1tb2R1bGUtc3ltYm9sIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wbGFpbnRleHQgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zZWxlY3QgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zZWxlY3QgKz0gIiR7UE59LW1vZHVsZS1wb2QtcGFyc2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zZWxlY3QgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNlbGVjdCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1ibGFja2JveCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1ibGFja2JveCArPSAiJHtQTn0tbW9kdWxlLWludGVnZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1ibGFja2JveCArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1ibGFja2JveCArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdHJhbnNjb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtYmxhY2tib3ggKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1ibGFja2JveCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1jaGVja2VyICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLWNoZWNrZXIgKz0gIiR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtY2hlY2tlciArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtbWV0aG9keSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLWNoZWNrZXIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1jaGVja2VyICs9ICIke1BOfS1tb2R1bGUtdGV4dC13cmFwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtY2hlY2tlciArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1kZWJ1ZyArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1kZWJ1ZyArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1kZWJ1ZyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLWRlYnVnICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLWR1bXBhc3RleHQgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtZHVtcGFzdGV4dCArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1kdW1wYXN0ZXh0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtZHVtcGFzeG1sICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLWR1bXBhc3htbCArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1kdW1wYXN4bWwgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1kdW1wYXN4bWwgKz0gIiR7UE59LW1vZHVsZS10ZXh0LXdyYXAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1saW5rc2VjdGlvbiArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtbGlua3NlY3Rpb24gKz0gIiR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLWJsYWNrYm94IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtbGlua3NlY3Rpb24gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1saW5rc2VjdGlvbiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1tZXRob2R5ICs9ICIke1BOfS1tb2R1bGUtcG9kLXNpbXBsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLW1ldGhvZHkgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1tZXRob2R5ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlICs9ICIke1BOfS1tb2R1bGUtaW50ZWdlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlICs9ICIke1BOfS1tb2R1bGUtcG9kLWVzY2FwZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZSArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtYmxhY2tib3giCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZSArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtbGlua3NlY3Rpb24iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZSArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdGllZG91dGZoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZSArPSAiJHtQTn0tbW9kdWxlLXN5bWJvbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXByb2dyZXNzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcmVuZHRva2VuICs9ICIke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydG9rZW4iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VyZW5kdG9rZW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VyZW5kdG9rZW4gKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VyICs9ICIke1BOfS1tb2R1bGUtcG9kLXNpbXBsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXIgKz0gIiR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJlbmR0b2tlbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXIgKz0gIiR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJzdGFydHRva2VuIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcnRleHR0b2tlbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2Vyc3RhcnR0b2tlbiArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2Vyc3RhcnR0b2tlbiArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcnRva2VuIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcnN0YXJ0dG9rZW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2Vyc3RhcnR0b2tlbiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydGV4dHRva2VuICs9ICIke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydG9rZW4iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydGV4dHRva2VuICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcnRleHR0b2tlbiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydG9rZW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1ydGYgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtcnRmICs9ICIke1BOfS1tb2R1bGUtaW50ZWdlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXJ0ZiArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXJ0ZiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXJ0ZiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1zZWFyY2ggKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtc2VhcmNoICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtc2VhcmNoICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtc2VhcmNoICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXNlYXJjaCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXNlYXJjaCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXNlYXJjaCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1zaW1wbGV0cmVlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXNpbXBsZXRyZWUgKz0gIiR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtc2ltcGxldHJlZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXNpbXBsZXRyZWUgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdGV4dGNvbnRlbnQgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdGV4dGNvbnRlbnQgKz0gIiR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdGV4dGNvbnRlbnQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS10ZXh0Y29udGVudCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS10ZXh0ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXRleHQgKz0gIiR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdGV4dCArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtbWV0aG9keSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXRleHQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS10ZXh0ICs9ICIke1BOfS1tb2R1bGUtdGV4dC13cmFwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdGV4dCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS10aWVkb3V0ZmggKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdGllZG91dGZoICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdGllZG91dGZoICs9ICIke1BOfS1tb2R1bGUtc3ltYm9sIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdGllZG91dGZoICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZWR1bWIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGVkdW1iICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZSArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGVzbWFydCArPSAiJHtQTn0tbW9kdWxlLWVuY29kZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZXNtYXJ0ICs9ICIke1BOfS1tb2R1bGUtcG9kLXNpbXBsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZXNtYXJ0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdHJhbnNjb2Rlc21hcnQgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUteG1sb3V0c3RyZWFtICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXhtbG91dHN0cmVhbSArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS14bWxvdXRzdHJlYW0gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS14bWxvdXRzdHJlYW0gKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC10ZXh0LWNvbG9yICs9ICIke1BOfS1tb2R1bGUtcG9kLXRleHQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXRleHQtY29sb3IgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXRleHQtY29sb3IgKz0gIiR7UE59LW1vZHVsZS10ZXJtLWFuc2ljb2xvciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtdGV4dC1jb2xvciArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXRleHQtY29sb3IgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtdGV4dC1vdmVyc3RyaWtlICs9ICIke1BOfS1tb2R1bGUtcG9kLXRleHQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXRleHQtb3ZlcnN0cmlrZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtdGV4dC1vdmVyc3RyaWtlICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtdGV4dC1vdmVyc3RyaWtlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXRleHQgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC10ZXh0ICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC10ZXh0ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXRleHQgKz0gIiR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC10ZXh0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC10ZXh0ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtdGV4dCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC10ZXh0LXRlcm1jYXAgKz0gIiR7UE59LW1vZHVsZS1wb2QtdGV4dCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtdGV4dC10ZXJtY2FwICs9ICIke1BOfS1tb2R1bGUtcG9zaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXRleHQtdGVybWNhcCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtdGV4dC10ZXJtY2FwICs9ICIke1BOfS1tb2R1bGUtdGVybS1jYXAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXRleHQtdGVybWNhcCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXRleHQtdGVybWNhcCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC11c2FnZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXVzYWdlICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC11c2FnZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC11c2FnZSArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtdXNhZ2UgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXVzYWdlICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb3NpeCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvc2l4ICs9ICIke1BOfS1tb2R1bGUtZmNudGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9zaXggKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9zaXggKz0gIiR7UE59LW1vZHVsZS10aWUtaGFzaCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb3NpeCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvc2l4ICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcmUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXJlICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcmUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcmUgKz0gIiR7UE59LW1vZHVsZS10ZXJtLWNhcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1yZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXJlICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2FmZSArPSAiJHtQTn0tbW9kdWxlLWIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2FmZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2FmZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAtaGVhdnkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2FmZSArPSAiJHtQTn0tbW9kdWxlLW9wY29kZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zYWZlICs9ICIke1BOfS1tb2R1bGUtc2NhbGFyLXV0aWwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2FmZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zYWZlICs9ICIke1BOfS1tb2R1bGUtdXRmOCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2NhbGFyLXV0aWwgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCArPSAiJHtQTn0tbW9kdWxlLWxpc3QtdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zZGJtLWZpbGUgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zZGJtLWZpbGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2RibS1maWxlICs9ICIke1BOfS1tb2R1bGUtdGllLWhhc2giCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2RibS1maWxlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2RibS1maWxlICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2VhcmNoLWRpY3QgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zZWFyY2gtZGljdCArPSAiJHtQTn0tbW9kdWxlLWZlYXR1cmUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2VhcmNoLWRpY3QgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2VsZWN0c2F2ZXIgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXNlbGVjdHNhdmVyICs9ICIke1BOfS1tb2R1bGUtc3ltYm9sIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXNlbGZsb2FkZXIgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zZWxmbG9hZGVyICs9ICIke1BOfS1tb2R1bGUtaW8taGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXNlbGZsb2FkZXIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2VsZmxvYWRlciArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2lndHJhcCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2lndHJhcCArPSAiJHtQTn0tbW9kdWxlLXN5bWJvbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zb2NrZXQgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXNvY2tldCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXNvY2tldCArPSAiJHtQTn0tbW9kdWxlLXNjYWxhci11dGlsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXNvY2tldCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zb2NrZXQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zb2NrZXQgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zb3J0ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zb3J0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXN0b3JhYmxlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zdG9yYWJsZSArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zdG9yYWJsZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXN0b3JhYmxlICs9ICIke1BOfS1tb2R1bGUtaW8tZmlsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zdG9yYWJsZSArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc3RvcmFibGUgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zdWItdXRpbCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXN1Yi11dGlsICs9ICIke1BOfS1tb2R1bGUtbGlzdC11dGlsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXN1Yi11dGlsICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXN1Yi11dGlsICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc3ltYm9sICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc3lzLWhvc3RuYW1lICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zeXMtaG9zdG5hbWUgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zeXMtaG9zdG5hbWUgKz0gIiR7UE59LW1vZHVsZS1wb3NpeCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zeXMtaG9zdG5hbWUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc3lzLWhvc3RuYW1lICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc3lzLXN5c2xvZyArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc3lzLXN5c2xvZyArPSAiJHtQTn0tbW9kdWxlLWR5bmFsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc3lzLXN5c2xvZyArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXN5cy1zeXNsb2cgKz0gIiR7UE59LW1vZHVsZS1mY250bCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zeXMtc3lzbG9nICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zeXMtc3lzbG9nICs9ICIke1BOfS1tb2R1bGUtcG9zaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc3lzLXN5c2xvZyArPSAiJHtQTn0tbW9kdWxlLXNvY2tldCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zeXMtc3lzbG9nICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXN5cy1zeXNsb2cgKz0gIiR7UE59LW1vZHVsZS1zeXMtaG9zdG5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc3lzLXN5c2xvZyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc3lzLXN5c2xvZyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXN5cy1zeXNsb2cgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zeXMtc3lzbG9nICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1iYXNlICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWJhc2UgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItYmFzZSArPSAiJHtQTn0tbW9kdWxlLXBvc2l4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItYmFzZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWJhc2UgKz0gIiR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbG9yIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItYmFzZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29sb3IgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29sb3IgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbG9yICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29sb3IgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUtcGFyYWxsZWxzZXNzaW9uICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUtcGFyYWxsZWxzZXNzaW9uICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUtcGFyYWxsZWxzZXNzaW9uICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXBhcmFsbGVsc2Vzc2lvbiArPSAiJHtQTn0tbW9kdWxlLWZpbGUtcGF0aCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUtcGFyYWxsZWxzZXNzaW9uICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29uc29sZS1wYXJhbGxlbHNlc3Npb24gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXBhcmFsbGVsc2Vzc2lvbiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29uc29sZSArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlICs9ICIke1BOfS1tb2R1bGUtcG9zaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29uc29sZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29uc29sZS1zZXNzaW9uICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUtc2Vzc2lvbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUtc2Vzc2lvbiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZSArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWZvcm1hdHRlci1maWxlICs9ICIke1BOfS1tb2R1bGUtcG9zaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWZvcm1hdHRlci1maWxlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZSArPSAiJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZS1zZXNzaW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZS1zZXNzaW9uICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWZpbGUtc2Vzc2lvbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWZpbGUtc2Vzc2lvbiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItc2Vzc2lvbiArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWZvcm1hdHRlci1zZXNzaW9uICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItc2Vzc2lvbiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1oYXJuZXNzLWVudiArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1oYXJuZXNzLWVudiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtaGFybmVzcy1lbnYgKz0gIiR7UE59LW1vZHVsZS10YXAtb2JqZWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1oYXJuZXNzLWVudiArPSAiJHtQTn0tbW9kdWxlLXRleHQtcGFyc2V3b3JkcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtaGFybmVzcy1lbnYgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtaGFybmVzcyArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWhhcm5lc3MgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1oYXJuZXNzICs9ICIke1BOfS1tb2R1bGUtZmlsZS1wYXRoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1oYXJuZXNzICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1oYXJuZXNzICs9ICIke1BOfS1tb2R1bGUtaW8taGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1oYXJuZXNzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1oYXJuZXNzICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLW9iamVjdCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLW9iamVjdCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtb2JqZWN0ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1hZ2dyZWdhdG9yICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWFnZ3JlZ2F0b3IgKz0gIiR7UE59LW1vZHVsZS1iZW5jaG1hcmsiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1hZ2dyZWdhdG9yICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWFnZ3JlZ2F0b3IgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1hZ2dyZWdhdG9yICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1ncmFtbWFyICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWdyYW1tYXIgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItZ3JhbW1hciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWdyYW1tYXIgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1ncmFtbWFyICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXJlYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWdyYW1tYXIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLWFycmF5ICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLWFycmF5ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItYXJyYXkgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3JmYWN0b3J5ICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkgKz0gIiR7UE59LW1vZHVsZS1maWxlLWJhc2VuYW1lIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3JmYWN0b3J5ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3JmYWN0b3J5ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvciArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLXByb2Nlc3MgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzICs9ICIke1BOfS1tb2R1bGUtaW8taGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItcHJvY2VzcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLXByb2Nlc3MgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLXN0cmVhbSArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1zdHJlYW0gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1zdHJlYW0gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLW11bHRpcGxleGVyICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLW11bHRpcGxleGVyICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1tdWx0aXBsZXhlciArPSAiJHtQTn0tbW9kdWxlLWlvLXNlbGVjdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLW11bHRpcGxleGVyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItbXVsdGlwbGV4ZXIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXIgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWdyYW1tYXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlciArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3IiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlciArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3JmYWN0b3J5IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXIgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXIgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWV4ZWN1dGFibGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlciArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1maWxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXIgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItaGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXIgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXJhd3RhcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtYmFpbG91dCArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtYmFpbG91dCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1iYWlsb3V0ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtY29tbWVudCArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtY29tbWVudCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1jb21tZW50ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5ICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1iYWlsb3V0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWNvbW1lbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5ICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtcGxhbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wcmFnbWEiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5ICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdGVzdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC11bmtub3duIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXZlcnNpb24iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5ICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQteWFtbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdCArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wbGFuICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wbGFuICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXBsYW4gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wcmFnbWEgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXByYWdtYSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wcmFnbWEgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC10ZXN0ICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC10ZXN0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXRlc3QgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC11bmtub3duICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC11bmtub3duICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXVua25vd24gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC12ZXJzaW9uICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC12ZXJzaW9uICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXZlcnNpb24gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC15YW1sICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC15YW1sICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXlhbWwgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlci1qb2IgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc2NoZWR1bGVyLWpvYiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlci1qb2IgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXIgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlci1qb2IiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXIgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlci1zcGlubmVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc2NoZWR1bGVyICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXItc3Bpbm5lciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXItc3Bpbm5lciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlci1zcGlubmVyICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWV4ZWN1dGFibGUgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1leGVjdXRhYmxlICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWV4ZWN1dGFibGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWV4ZWN1dGFibGUgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZXhlY3V0YWJsZSArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItcHJvY2VzcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZXhlY3V0YWJsZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1maWxlICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZmlsZSArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1maWxlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1maWxlICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWZpbGUgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLXN0cmVhbSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZmlsZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1oYW5kbGUgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1oYW5kbGUgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItaGFuZGxlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1oYW5kbGUgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItaGFuZGxlICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1zdHJlYW0iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWhhbmRsZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlciArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlciArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3IiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1wZXJsICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1wZXJsICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItcHJvY2VzcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCArPSAiJHtQTn0tbW9kdWxlLXRleHQtcGFyc2V3b3JkcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1yYXd0YXAgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1yYXd0YXAgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXJhd3RhcCArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItYXJyYXkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXJhd3RhcCArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3JmYWN0b3J5IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1yYXd0YXAgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZSArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2UgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZSArPSAiJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2UgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2UgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtcmVhZGVyICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtcmVhZGVyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXIteWFtbGlzaC1yZWFkZXIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtd3JpdGVyICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtd3JpdGVyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXIteWFtbGlzaC13cml0ZXIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXJtLWFuc2ljb2xvciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVybS1hbnNpY29sb3IgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXJtLWFuc2ljb2xvciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXJtLWFuc2ljb2xvciArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlcm0tY2FwICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXJtLWNhcCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXJtLWNhcCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVybS1jb21wbGV0ZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlcm0tY29tcGxldGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVybS1yZWFkbGluZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXJtLXJlYWRsaW5lICs9ICIke1BOfS1tb2R1bGUtdGVybS1jYXAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC1idWlsZGVyLW1vZHVsZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtYnVpbGRlci1tb2R1bGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC1idWlsZGVyLW1vZHVsZSArPSAiJHtQTn0tbW9kdWxlLXRlc3QtYnVpbGRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LWJ1aWxkZXIgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC1idWlsZGVyICs9ICIke1BOfS1tb2R1bGUtcGVybGlvIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtYnVpbGRlciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LWJ1aWxkZXIgKz0gIiR7UE59LW1vZHVsZS10aHJlYWRzLXNoYXJlZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LWJ1aWxkZXIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LWJ1aWxkZXItdGVzdGVyLWNvbG9yICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtYnVpbGRlci10ZXN0ZXItY29sb3IgKz0gIiR7UE59LW1vZHVsZS10ZXN0LWJ1aWxkZXItdGVzdGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtYnVpbGRlci10ZXN0ZXIgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtYnVpbGRlci10ZXN0ZXIgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LWJ1aWxkZXItdGVzdGVyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtYnVpbGRlci10ZXN0ZXIgKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3RlciArPSAiJHtQTn0tbW9kdWxlLXRlc3QtYnVpbGRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LWhhcm5lc3MgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtaGFybmVzcyArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LWhhcm5lc3MgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LWhhcm5lc3MgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICIke1BOfS1tb2R1bGUtdGFwLWhhcm5lc3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1hZ2dyZWdhdG9yIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtaGFybmVzcyArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtaGFybmVzcyArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1wZXJsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtaGFybmVzcyArPSAiJHtQTn0tbW9kdWxlLXRleHQtcGFyc2V3b3JkcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LWhhcm5lc3MgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LW1vcmUgKz0gIiR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LW1vcmUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC1tb3JlICs9ICIke1BOfS1tb2R1bGUtdGVzdC1idWlsZGVyLW1vZHVsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LW1vcmUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtdGVtcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3Qtc2ltcGxlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3Qtc2ltcGxlICs9ICIke1BOfS1tb2R1bGUtdGVzdC1idWlsZGVyLW1vZHVsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LXRlc3Rlci1jYXB0dXJlICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtdGVzdGVyLWNhcHR1cmUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZSArPSAiJHtQTn0tbW9kdWxlLXRlc3QtYnVpbGRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LXRlc3Rlci1jYXB0dXJlICs9ICIke1BOfS1tb2R1bGUtdGhyZWFkcy1zaGFyZWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZSArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZXJ1bm5lciArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtdGVzdGVyLWNhcHR1cmVydW5uZXIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZXJ1bm5lciArPSAiJHtQTn0tbW9kdWxlLXRlc3QtdGVzdGVyLWNhcHR1cmUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC10ZXN0ZXItZGVsZWdhdGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC10ZXN0ZXItZGVsZWdhdGUgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtdGVzdGVyLWRlbGVnYXRlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC10ZXN0ZXIgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LXRlc3RlciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LXRlc3RlciArPSAiJHtQTn0tbW9kdWxlLXRlc3QtYnVpbGRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LXRlc3RlciArPSAiJHtQTn0tbW9kdWxlLXRlc3QtdGVzdGVyLWNhcHR1cmVydW5uZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC10ZXN0ZXIgKz0gIiR7UE59LW1vZHVsZS10ZXN0LXRlc3Rlci1kZWxlZ2F0ZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LXRlc3RlciArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGV4dC1hYmJyZXYgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXh0LWJhbGFuY2VkICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXh0LWJhbGFuY2VkICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGV4dC1iYWxhbmNlZCArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRleHQtYmFsYW5jZWQgKz0gIiR7UE59LW1vZHVsZS1zZWxmbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRleHQtYmFsYW5jZWQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGV4dC1iYWxhbmNlZCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXh0LXBhcnNld29yZHMgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXh0LXBhcnNld29yZHMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGV4dC10YWJzICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGV4dC10YWJzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRleHQtdGFicyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGV4dC13cmFwICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGV4dC13cmFwICs9ICIke1BOfS1tb2R1bGUtcmUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGV4dC13cmFwICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRleHQtd3JhcCArPSAiJHtQTn0tbW9kdWxlLXRleHQtdGFicyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXh0LXdyYXAgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRleHQtd3JhcCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRocmVhZCArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGhyZWFkICs9ICIke1BOfS1tb2R1bGUtdGhyZWFkcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWQgKz0gIiR7UE59LW1vZHVsZS10aHJlYWRzLXNoYXJlZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWQtcXVldWUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRocmVhZC1xdWV1ZSArPSAiJHtQTn0tbW9kdWxlLXNjYWxhci11dGlsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRocmVhZC1xdWV1ZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWQtcXVldWUgKz0gIiR7UE59LW1vZHVsZS10aHJlYWRzLXNoYXJlZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWQtcXVldWUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWQtc2VtYXBob3JlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWQtc2VtYXBob3JlICs9ICIke1BOfS1tb2R1bGUtc2NhbGFyLXV0aWwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGhyZWFkLXNlbWFwaG9yZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWQtc2VtYXBob3JlICs9ICIke1BOfS1tb2R1bGUtdGhyZWFkcy1zaGFyZWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGhyZWFkLXNlbWFwaG9yZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRocmVhZHMgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRocmVhZHMgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGhyZWFkcyArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRocmVhZHMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGhyZWFkcyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRocmVhZHMgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWRzLXNoYXJlZCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGhyZWFkcy1zaGFyZWQgKz0gIiR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWRzLXNoYXJlZCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWRzLXNoYXJlZCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRocmVhZHMtc2hhcmVkICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLWFycmF5ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtYXJyYXkgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLWFycmF5ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtZmlsZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLWZpbGUgKz0gIiR7UE59LW1vZHVsZS1mY250bCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtZmlsZSArPSAiJHtQTn0tbW9kdWxlLXBvc2l4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpZS1maWxlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpZS1maWxlICs9ICIke1BOfS1tb2R1bGUtc3ltYm9sIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpZS1oYW5kbGUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpZS1oYW5kbGUgKz0gIiR7UE59LW1vZHVsZS10aWUtc3RkaGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpZS1oYW5kbGUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtaGFzaC1uYW1lZGNhcHR1cmUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLWhhc2gtbmFtZWRjYXB0dXJlICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLWhhc2ggKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpZS1oYXNoICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLW1lbW9pemUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLW1lbW9pemUgKz0gIiR7UE59LW1vZHVsZS10aWUtaGFzaCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtcmVmaGFzaCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLXJlZmhhc2ggKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLXJlZmhhc2ggKz0gIiR7UE59LW1vZHVsZS1vdmVybG9hZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtcmVmaGFzaCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtcmVmaGFzaCArPSAiJHtQTn0tbW9kdWxlLXRpZS1oYXNoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpZS1yZWZoYXNoICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtc2NhbGFyICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtc2NhbGFyICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLXN0ZGhhbmRsZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtc3RkaGFuZGxlICs9ICIke1BOfS1tb2R1bGUtdGllLWhhbmRsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtc3RkaGFuZGxlICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtc3Vic3RyaGFzaCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLXN1YnN0cmhhc2ggKz0gIiR7UE59LW1vZHVsZS1pbnRlZ2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtZ210aW1lICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGltZS1nbXRpbWUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGltZS1nbXRpbWUgKz0gIiR7UE59LW1vZHVsZS10aW1lLXRtIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtZ210aW1lICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLWhpcmVzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLWhpcmVzICs9ICIke1BOfS1tb2R1bGUtZHluYWxvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLWhpcmVzICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGltZS1oaXJlcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLWxvY2FsICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLWxvY2FsICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtbG9jYWwgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLWxvY2FsICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGltZS1sb2NhbCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLWxvY2FsICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLWxvY2FsdGltZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtbG9jYWx0aW1lICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtbG9jYWx0aW1lICs9ICIke1BOfS1tb2R1bGUtdGltZS10bSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLWxvY2FsdGltZSArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGltZS1waWVjZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGltZS1waWVjZSArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtcGllY2UgKz0gIiR7UE59LW1vZHVsZS1keW5hbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtcGllY2UgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLXBpZWNlICs9ICIke1BOfS1tb2R1bGUtaW50ZWdlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLXBpZWNlICs9ICIke1BOfS1tb2R1bGUtb3ZlcmxvYWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGltZS1waWVjZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLXBpZWNlICs9ICIke1BOfS1tb2R1bGUtdGltZS1sb2NhbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLXBpZWNlICs9ICIke1BOfS1tb2R1bGUtdGltZS1zZWNvbmRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtc2Vjb25kcyArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtc2Vjb25kcyArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtc2Vjb25kcyArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtc2Vjb25kcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLXRtICs9ICIke1BOfS1tb2R1bGUtY2xhc3Mtc3RydWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtdG0gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1iaWc1ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstYmlnNSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstZ2IyMzEyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstZ2IyMzEyICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1qaXN4MDIwOCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLWppc3gwMjA4ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1rb3JlYW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1rb3JlYW4gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLXBpbnlpbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLXBpbnlpbiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstc3Ryb2tlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstc3Ryb2tlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay16aHV5aW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay16aHV5aW4gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLWNvbGxhdGUtbG9jYWxlICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLWNvbGxhdGUtbG9jYWxlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLWNvbGxhdGUtbG9jYWxlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1sb2NhbGUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLWNvbGxhdGUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtY29sbGF0ZSArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtY29sbGF0ZSArPSAiJHtQTn0tbW9kdWxlLWR5bmFsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS1jb2xsYXRlICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtY29sbGF0ZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLWNvbGxhdGUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLW5vcm1hbGl6ZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS1ub3JtYWxpemUgKz0gIiR7UE59LW1vZHVsZS1keW5hbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtbm9ybWFsaXplICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS1ub3JtYWxpemUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS1ub3JtYWxpemUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLXVjZCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS11Y2QgKz0gIiR7UE59LW1vZHVsZS1jaGFybmFtZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS11Y2QgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLXVjZCArPSAiJHtQTn0tbW9kdWxlLWZlYXR1cmUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS11Y2QgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS11Y2QgKz0gIiR7UE59LW1vZHVsZS1pZiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLXVjZCArPSAiJHtQTn0tbW9kdWxlLWludGVnZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS11Y2QgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS11Y2QgKz0gIiR7UE59LW1vZHVsZS11bmljb2RlLW5vcm1hbGl6ZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLXVjZCArPSAiJHtQTn0tbW9kdWxlLXVuaWNvcmUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS11Y2QgKz0gIiR7UE59LW1vZHVsZS11dGY4LWhlYXZ5IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtdWNkICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29yZSArPSAiJHtQTn0tbW9kdWxlLWludGVnZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pdmVyc2FsICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11c2VyLWdyZW50ICs9ICIke1BOfS1tb2R1bGUtY2xhc3Mtc3RydWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVzZXItZ3JlbnQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11c2VyLWdyZW50ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVzZXItZ3JlbnQgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVzZXItcHdlbnQgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVzZXItcHdlbnQgKz0gIiR7UE59LW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdXNlci1wd2VudCArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11c2VyLXB3ZW50ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdXNlci1wd2VudCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11c2VyLXB3ZW50ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11c2VyLXB3ZW50ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdXRmOCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdXRmOCArPSAiJHtQTn0tbW9kdWxlLXV0ZjgtaGVhdnkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdmVyc2lvbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS12ZXJzaW9uICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS12ZXJzaW9uICs9ICIke1BOfS1tb2R1bGUtdmVyc2lvbi1yZWdleCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS12ZXJzaW9uICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdmVyc2lvbi1yZWdleCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS12ZXJzaW9uLXJlZ2V4ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS14c2xvYWRlciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUteHNsb2FkZXIgKz0gIiR7UE59LW1vZHVsZS1keW5hbG9hZGVyIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC5pbmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMzMTNhOTQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsLmluYworKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLVNVTU1BUlkgPSAiUGVybCBzY3JpcHRpbmcgbGFuZ3VhZ2UiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LnBlcmwub3JnLyIKLVNFQ1RJT04gPSAiZGV2ZWwiCi1MSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ29weWluZzttZDU9NWIxMjJhMzZkMGY2ZGM1NTI3OWEwZWJjNjlmM2M2MGIgXAotCQkgICAgZmlsZTovL0FydGlzdGljO21kNT0yZTZmZDI0NzUzMzVhZjg5MjQ5NGZlMWY3MzI3YmFmMyIKLQotU1JDX1VSSSA9ICJodHRwOi8vd3d3LmNwYW4ub3JnL3NyYy81LjAvJHtCUH0udGFyLnh6IgotCi1pbmhlcml0IHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsLzAwMDEtQ29uZmlndXJlLVJlbW92ZS1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZy1mb3ItbmF0aXZlLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC8wMDAxLUNvbmZpZ3VyZS1SZW1vdmUtZnN0YWNrLXByb3RlY3Rvci1zdHJvbmctZm9yLW5hdGl2ZS0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE0YTA1ZDIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsLzAwMDEtQ29uZmlndXJlLVJlbW92ZS1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZy1mb3ItbmF0aXZlLS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEwMyArMCwwIEBACi1Tb21lIGRpc3RyaWJ1dGlvbnMgKGxpa2Ugb3BlbnN1c2U0MjEpIHN1cHBvcnRlZCBieSB0aGUgcHJvamVjdAotY29tZXMgd2l0aCBvbGRlciBnY2MgcmVsZWFzZXMsIC1mc3RhY2stcHJvdGVjdG9yPXN0cm9uZyBpcyBzdXBwb3J0ZWQKLWJ5IEdDQz49NC45LgotCi1UaGlzIGNhdXNlcyBhIGJ1aWxkIGZhaWx1cmUgd2hlbiBpbnN0YWxsIHBlcmwtbmF0aXZlIGZyb20gYSBzc3RhdGUgdGhhdAotY29tZXMgZnJvbSBhIG1hY2hpbmUgc3VwcG9ydGluZyAtZnN0YWNrLXByb3RlY3Rvcj1zdHJvbmcgWzFdLgotCi1TbyBkaXNhYmxlIHVzYWdlIG9mIHRoaXMgZmxhZyBpbiBwZXJsLW5hdGl2ZSBidWlsZHMsIHRoaXMgcGF0Y2ggY291bGQKLWJlIHJlbW92ZWQgd2hlbiBhbGwgc3VwcG9ydGVkIGRpc3Ryb3MgY29tZXMgd2l0aCBHQ0M+PTQuOS4KLQotW1lPQ1RPICMxMDMzOF0KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQotCi1bMV0gaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzEwOTU4OS8KLQotU2lnbmVkLW9mZi1ieTogQW7DrWJhbCBMaW3Ds24gPGFuaWJhbC5saW1vbkBsaW51eC5pbnRlbC5jb20+Ci0tLS0KLSBDb25maWd1cmUgfCA1NCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNTQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9Db25maWd1cmUgYi9Db25maWd1cmUKLWluZGV4IGVmYmRjZmQuLmQ1YmQ5OGMgMTAwNzU1Ci0tLS0gYS9Db25maWd1cmUKLSsrKyBiL0NvbmZpZ3VyZQotQEAgLTU0NjgsMzAgKzU0NjgsNiBAQCBkZWZhdWx0fHJlY29tbWVuZGVkKQotIAkJZXZhbCAkY2hlY2tjY2ZsYWcKLSAJCTs7Ci0gCWVzYWMKLS0KLS0JIyBvbiB4ODZfNjQgKGF0IGxlYXN0KSB3ZSByZXF1aXJlIGFuIGV4dHJhIGxpYnJhcnkgKGxpYnNzcCkgaW4gdGhlCi0tCSMgbGluayBjb21tYW5kIGxpbmUuIFRoaXMgbGlicmFyeSBpcyBub3QgbmFtZWQsIHNvIEkgaW5mZXIgdGhhdCBpdCBpcwotLQkjIGFuIGltcGxlbWVudGF0aW9uIGRldGFpbCB0aGF0IG1heSBjaGFuZ2UuIEhlbmNlIHRoZSBzYWZlc3QgYXBwcm9hY2gKLS0JIyBpcyB0byBhZGQgdGhlIGZsYWcgdG8gdGhlIGZsYWdzIHBhc3NlZCB0byB0aGUgY29tcGlsZXIgYXQgbGluayB0aW1lLAotLQkjIGFzIHRoYXQgd2F5IHRoZSBjb21waWxlciBjYW4gZG8gdGhlIHJpZ2h0IGltcGxlbWVudGF0aW9uIGRlcGVuZGFudAotLQkjIHRoaW5nLiAoTldDKQotLQljYXNlICIkb3NuYW1lIiBpbgotLQlhbWlnYW9zKSA7OyAjIC1mc3RhY2stcHJvdGVjdG9yIGJ1aWxkcyBidXQgZG9lc24ndCB3b3JrCi0tCSopCWNhc2UgIiRnY2N2ZXJzaW9uIiBpbgotLQkJPyopCXNldCBzdGFjay1wcm90ZWN0b3Itc3Ryb25nIC1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZwotLQkJCWV2YWwgJGNoZWNrY2NmbGFnCi0tCQkJY2FzZSAiJGRmbHQiIGluCi0tCQkJKi1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZyopIDs7ICMgSXQgZ290IGFkZGVkLgotLQkJCSopICMgVHJ5IHRoZSBwbGFpbi9vbGRlciAtZnN0YWNrLXByb3RlY3Rvci4KLS0JCQkgICBzZXQgc3RhY2stcHJvdGVjdG9yIC1mc3RhY2stcHJvdGVjdG9yCi0tCQkJICAgZXZhbCAkY2hlY2tjY2ZsYWcKLS0JCQkgICA7OwotLQkJCWVzYWMKLS0JCQk7OwotLQkJZXNhYwotLQkJOzsKLS0JZXNhYwotLQk7OwotIGVzYWMKLSAKLSBjYXNlICIkbWlwc190eXBlIiBpbgotQEAgLTU2MzQsMjEgKzU2MTAsNiBAQCBjYXNlICIkbGRmbGFncyIgaW4KLSAJOzsKLSAqKSBkZmx0PSIkbGRmbGFncyI7OwotIGVzYWMKLS0jIFNlZSBub3RlIGFib3ZlIGFib3V0IC1mc3RhY2stcHJvdGVjdG9yCi0tY2FzZSAiJGNjZmxhZ3MiIGluCi0tKi1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZyopCi0tCWNhc2UgIiRkZmx0IiBpbgotLQkqLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nKikgOzsgIyBEb24ndCBhZGQgaXQgYWdhaW4KLS0JKikgZGZsdD0iJGRmbHQgLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nIiA7OwotLQllc2FjCi0tCTs7Ci0tKi1mc3RhY2stcHJvdGVjdG9yKikKLS0JY2FzZSAiJGRmbHQiIGluCi0tCSotZnN0YWNrLXByb3RlY3RvciopIDs7ICMgRG9uJ3QgYWRkIGl0IGFnYWluCi0tCSopIGRmbHQ9IiRkZmx0IC1mc3RhY2stcHJvdGVjdG9yIiA7OwotLQllc2FjCi0tCTs7Ci0tZXNhYwotIAotIDogVHJ5IHRvIGd1ZXNzIGFkZGl0aW9uYWwgZmxhZ3MgdG8gcGljayB1cCBsb2NhbCBsaWJyYXJpZXMuCi0gZm9yIHRoaXNsaWJkaXIgaW4gJGxpYnB0aDsgZG8KLUBAIC04NTcxLDIxICs4NTMyLDYgQEAgRU9NCi0gCSAgICAnJ3wnICcpIGRmbHQ9J25vbmUnIDs7Ci0gCWVzYWMKLSAKLS0JY2FzZSAiJGxkZmxhZ3MiIGluCi0tCSAgICAqLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nKikKLS0JCWNhc2UgIiRkZmx0IiBpbgotLQkJICAgICotZnN0YWNrLXByb3RlY3Rvci1zdHJvbmcqKSA7OyAjIERvbid0IGFkZCBpdCBhZ2FpbgotLQkJICAgICopIGRmbHQ9IiRkZmx0IC1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZyIgOzsKLS0JCWVzYWMKLS0JCTs7Ci0tCSAgICAqLWZzdGFjay1wcm90ZWN0b3IqKQotLQkJY2FzZSAiJGRmbHQiIGluCi0tCQkgICAgKi1mc3RhY2stcHJvdGVjdG9yKikgOzsgIyBEb24ndCBhZGQgaXQgYWdhaW4KLS0JCSAgICAqKSBkZmx0PSIkZGZsdCAtZnN0YWNrLXByb3RlY3RvciIgOzsKLS0JCWVzYWMKLS0JCTs7Ci0tCWVzYWMKLS0KLSAJcnA9IkFueSBzcGVjaWFsIGZsYWdzIHRvIHBhc3MgdG8gJGxkIHRvIGNyZWF0ZSBhIGR5bmFtaWNhbGx5IGxvYWRlZCBsaWJyYXJ5PyIKLSAJLiAuL215cmVhZAotIAljYXNlICIkYW5zIiBpbgotLS0gCi0yLjEuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvMDAwMS1FeHRVdGlscy1NTV9Vbml4LnBtLWZpeC1yYWNlLWlzc3Vlcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC8wMDAxLUV4dFV0aWxzLU1NX1VuaXgucG0tZml4LXJhY2UtaXNzdWVzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNDNmYmJhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC8wMDAxLUV4dFV0aWxzLU1NX1VuaXgucG0tZml4LXJhY2UtaXNzdWVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotRnJvbSA0MDcwMmFiZjMxNTZmYTkyZWY3MGVlNWQ0NDVmZTUyZGQ2Y2ZiYzdkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDIwIFNlcCAyMDE4IDE4OjQ4OjQ4ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIEV4dFV0aWxzL01NX1VuaXgucG06IGZpeCByYWNlIGlzc3VlcwotCi1GaXhlZCBhIHJhY2UgaXNzdWUgd2hlbiBjb21waWxlIGxpYmh0bWwtcGFyc2VyLXBlcmwgYW5kIG90aGVycyB3aG8gdXNlIE1ha2VNYWtlcjoKLVtzbmlwXQotY2htb2QgNzU1IGJsaWIvYXJjaC9hdXRvL0hUTUwvUGFyc2VyL1BhcnNlci5zbyAKLWNobW9kIDY0NCAiUGFyc2VyLmJzIgotW3NuaXBdCi0KLVRoZSBydWxlIElOU1RfRFlOQU1JQyByZW1vdmVzICcuYnMnIGZpbGUgd2hpY2ggYXJlIGdlbmVyYXRlZCBieSBCT09UU1RSQVAsIGJ1dAotdGhlIGhhdmUgbm8gZGVwZW5kZW5jaWVzLCBzbyB0aGVyZSBpcyBhIHJhY2UgaXNzdWU6Ci0KLUJPT1RTVFJBUDoKLSAgICB0b3VjaCBmb28uYnMKLSAgICBjaG1vZCA3NTUgZm9vLmJzCi0KLUlOU1RfRFlOQU1JQzoKLSAgICBybSAtZnIgZm9vLmJzCi0KLVRoZSBlcnJvciB3b3VsZCBoYXBwZW4gd2hlbiBJTlNUX0RZTkFNSUMgcmVtb3ZlcyBmb28uYnMgYWZ0ZXIgQk9PVFNUUkFQIHRvdWNoZWQKLWl0IGJ1dCBiZWZvcmUgY2htb2Qgb24gaXQuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0aHViLmNvbS9QZXJsLVRvb2xjaGFpbi1HYW5nL0V4dFV0aWxzLU1ha2VNYWtlci9jb21taXQvNDRlOTVlNzE3MzcyYWJlMmIwYTZlZTU1ZGU0YjY4Njc2MGI2NTM2MF0KLQotTm90ZSwgVGhpcyBpcyBub3QgYSByZWFsIGJhY2twb3J0LCB1cHN0cmVhbSBoYXMgdG90YWxseSByZWZhY3RvcmVkIGl0IGluIG9uZQotcGF0Y2gsIHBsZWFzZSBzZWUgdGhlIGxpbmsgYWJvdmUsIGl0J3Mgbm90IGEgZ29vZCBpZGVhIHRvIGJhY2twb3J0IHN1Y2ggYSBiaWcKLXBhdGNoLCBJIGp1c3QgcmVmZXJyZWQgaXQgdG8gZml4IHRoZSBwcm9ibGVtIGluIGEgc2ltcGxlIHdheS4gSSBtYXJrIGl0IGFzCi1iYWNrcG9ydCBpcyBiZWNhdXNlIHdlIGNhbiBkcm9wIHRoZSBwYXRjaCBhZnRlciB1cGdyYWRlIHBlcmwgdG8gNS4yNiBvciA1LjI4LgotCi1TaWduZWQtb2ZmLWJ5OiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KLS0tLQotIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0gYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQotaW5kZXggOTVkOTc2MS4uOWNhYmUyZCAxMDA2NDQKLS0tLSBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCi0rKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQotQEAgLTkzMyw3ICs5MzMsNyBAQCBPVEhFUkxERkxBR1MgPSAnLiRsZF9vcHQuJG90aGVybGRmbGFncy4nCi0gSU5TVF9EWU5BTUlDX0RFUCA9ICcuJGluc3RfZHluYW1pY19kZXAuJwotIElOU1RfRFlOQU1JQ19GSVggPSAnLiRsZF9maXguJwotIAotLSQoSU5TVF9EWU5BTUlDKTogJChPQkpFQ1QpICQoTVlFWFRMSUIpICQoSU5TVF9BUkNIQVVUT0RJUikkKERGU0VQKS5leGlzdHMgJChFWFBPUlRfTElTVCkgJChQRVJMX0FSQ0hJVkVERVApICQoUEVSTF9BUkNISVZFX0FGVEVSKSAkKElOU1RfRFlOQU1JQ19ERVApCi0rJChJTlNUX0RZTkFNSUMpOiAkKE9CSkVDVCkgJChNWUVYVExJQikgJChJTlNUX0FSQ0hBVVRPRElSKSQoREZTRVApLmV4aXN0cyAkKEVYUE9SVF9MSVNUKSAkKFBFUkxfQVJDSElWRURFUCkgJChQRVJMX0FSQ0hJVkVfQUZURVIpICQoSU5TVF9EWU5BTUlDX0RFUCkgJChCT09UU1RSQVApCi0gJyk7Ci0gICAgIGlmICgkYXJtYXliZSBuZSAnOicpewotIAkkbGRmcm9tID0gJ3RtcCQoTElCX0VYVCknOwotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvMDAwMS1Ta2lwLXZhcmlvdXMtdGVzdHMtaWYtUEVSTF9CVUlMRF9QQUNLQUdJTkctaXMtc2V0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsLzAwMDEtU2tpcC12YXJpb3VzLXRlc3RzLWlmLVBFUkxfQlVJTERfUEFDS0FHSU5HLWlzLXNldC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzVkYjFiNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvMDAwMS1Ta2lwLXZhcmlvdXMtdGVzdHMtaWYtUEVSTF9CVUlMRF9QQUNLQUdJTkctaXMtc2V0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTI2ICswLDAgQEAKLUZyb20gYmE2NzMzMjE2MjAyNTIzYTk1YjBiN2VlMmU1MzRiOGUzMGI2ZDdkZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IERvbWluaWMgSGFyZ3JlYXZlcyA8ZG9tQGVhcnRoLmxpPgotRGF0ZTogU2F0LCAxNCBPY3QgMjAxNyAxNjoyNzo1MyArMDIwMAotU3ViamVjdDogW1BBVENIXSBTa2lwIHZhcmlvdXMgdGVzdHMgaWYgUEVSTF9CVUlMRF9QQUNLQUdJTkcgaXMgc2V0Ci0KLVRoZXNlIGFyZSB0ZXN0cyB3aGljaCB0ZW5kIG5vdCB0byBiZSB1c2VmdWwgZm9yIGRvd25zdHJlYW0gcGFja2FnZXJzCi0KLXQvcG9ydGluZy9jdXN0b21pemVkLnQgY2hhbmdlIG9yaWdpbmFsbHkgZnJvbSBUb2RkIFJpbmFsZG8KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydFtodHRwczovL3Blcmw1LmdpdC5wZXJsLm9yZy9wZXJsLmdpdC9iYTY3MzMyMTYyMDI1MjNhOTViMGI3ZWUyZTUzNGI4ZTMwYjZkN2RmXQotCi1TaWduZWQtb2ZmLWJ5OiBBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPgotLS0tCi0gSU5TVEFMTCAgICAgICAgICAgICAgICB8ICAzICsrLQotIE1BTklGRVNUICAgICAgICAgICAgICAgfCAgMSArCi0gUEFDS0FHSU5HICAgICAgICAgICAgICB8IDMwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwotIHJlZ2VuL2xpYl9jbGVhbnVwLnBsICAgfCAgNSArKysrKwotIHQvcG9ydGluZy9jdXN0b21pemVkLnQgfCAgMSArCi0gdC90ZXN0LnBsICAgICAgICAgICAgICB8ICAzICsrKwotIDYgZmlsZXMgY2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCBQQUNLQUdJTkcKLQotZGlmZiAtLWdpdCBhL0lOU1RBTEwgYi9JTlNUQUxMCi1pbmRleCA2MzZmNGJkNTJmLi4xMjg1ZmM2OWEyIDEwMDY0NAotLS0tIGEvSU5TVEFMTAotKysrIGIvSU5TVEFMTAotQEAgLTI3MTQsNCArMjcxNCw1IEBAIFRoaXMgZG9jdW1lbnQgaXMgcGFydCBvZiB0aGUgUGVybCBwYWNrYWdlIGFuZCBtYXkgYmUgZGlzdHJpYnV0ZWQgdW5kZXIKLSB0aGUgc2FtZSB0ZXJtcyBhcyBwZXJsIGl0c2VsZiwgd2l0aCB0aGUgZm9sbG93aW5nIGFkZGl0aW9uYWwgcmVxdWVzdDoKLSBJZiB5b3UgYXJlIGRpc3RyaWJ1dGluZyBhIG1vZGlmaWVkIHZlcnNpb24gb2YgcGVybCAocGVyaGFwcyBhcyBwYXJ0IG9mCi0gYSBsYXJnZXIgcGFja2FnZSkgcGxlYXNlIEI8ZG8+IG1vZGlmeSB0aGVzZSBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zCi0tYW5kIHRoZSBjb250YWN0IGluZm9ybWF0aW9uIHRvIG1hdGNoIHlvdXIgZGlzdHJpYnV0aW9uLgotK2FuZCB0aGUgY29udGFjdCBpbmZvcm1hdGlvbiB0byBtYXRjaCB5b3VyIGRpc3RyaWJ1dGlvbi4gQWRkaXRpb25hbAotK2luZm9ybWF0aW9uIGZvciBwYWNrYWdlcnMgaXMgaW4gRjxQQUNLQUdJTkc+LgotZGlmZiAtLWdpdCBhL01BTklGRVNUIGIvTUFOSUZFU1QKLWluZGV4IGIzMjA3MDMwYTkuLjMyZGU4MjRjYTEgMTAwNjQ0Ci0tLS0gYS9NQU5JRkVTVAotKysrIGIvTUFOSUZFU1QKLUBAIC00OTMyLDYgKzQ5MzIsNyBAQCBvczIvcGVybHJleHguYwkJCVN1cHBvcnQgcGVybCBpbnRlcnByZXRlciBlbWJlZGRlZCBpbiBSRVhYCi0gb3MyL3BlcmxyZXh4LmNtZAkJVGVzdCBwZXJsIGludGVycHJldGVyIGVtYmVkZGVkIGluIFJFWFgKLSBvdmVybG9hZC5oCQkJZ2VuZXJhdGVkIG92ZXJsb2FkIGVudW0gKHB1YmxpYykKLSBvdmVybG9hZC5pbmMJCQlnZW5lcmF0ZWQgb3ZlcmxvYWQgbmFtZSB0YWJsZSAoaW1wbGVtZW50YXRpb24pCi0rUEFDS0FHSU5HCQkJbm90ZXMgYW5kIGJlc3QgcHJhY3RpY2UgZm9yIHBhY2thZ2luZyBwZXJsIDUKLSBwYWNrc2l6ZXRhYmxlcy5pbmMJCVRoZSBnZW5lcmF0ZWQgcGFja3Byb3BzIGFycmF5IHVzZWQgaW4gcHBfcGFjay5jCi0gcGFkLmMJCQkJU2NyYXRjaHBhZCBmdW5jdGlvbnMKLSBwYWQuaAkJCQlTY3JhdGNocGFkIGhlYWRlcnMKLWRpZmYgLS1naXQgYS9QQUNLQUdJTkcgYi9QQUNLQUdJTkcKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwLi4wYzY5Yjg3YmE2Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9QQUNLQUdJTkcKLUBAIC0wLDAgKzEsMzAgQEAKLStJZiB5b3UgcmVhZCB0aGlzIGZpbGUgX2FzX2lzXywganVzdCBpZ25vcmUgdGhlIGZ1bm55IGNoYXJhY3RlcnMgeW91Ci0rc2VlLiAgSXQgaXMgd3JpdHRlbiBpbiB0aGUgUE9EIGZvcm1hdCAoc2VlIHBvZC9wZXJscG9kLnBvZCkgd2hpY2ggaXMKLStzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gYmUgcmVhZGFibGUgYXMgaXMuCi0rCi0rPWhlYWQxIE5BTUUKLSsKLStQQUNLQUdJTkcgLSBub3RlcyBhbmQgYmVzdCBwcmFjdGljZSBmb3IgcGFja2FnaW5nIHBlcmwgNQotKwotKz1oZWFkMSBTWU5PUFNJUwotKwotK1RoaXMgZG9jdW1lbnQgaXMgYWltZWQgYXQgYW55b25lIHdobyBpcyBwcm9kdWNpbmcgdGhlaXIgb3duIHZlcnNpb24gb2YKLStwZXJsIGZvciBkaXN0cmlidXRpb24gdG8gb3RoZXIgdXNlcnMuIEl0IGlzIGludGVuZGVkIGFzIGEgY29sbGVjdGlvbgotK29mIHVzZWZ1bCB0aXBzLCBhZHZpY2UgYW5kIGJlc3QgcHJhY3RpY2UsIHJhdGhlciB0aGFuIGJlaW5nIGEgY29tcGxldGUKLStwYWNrYWdpbmcgbWFudWFsLiBUaGUgc3RhcnRpbmcgcG9pbnQgZm9yIGluc3RhbGxpbmcgcGVybCByZW1haW5zCi0rRjxJTlNUQUxMPi4KLSsKLSs9aGVhZDEgQ3VzdG9taXppbmcgdGVzdCBydW5uaW5nCi0rCi0rQSBzbWFsbCBudW1iZXIgb2YgcG9ydGluZyB0ZXN0cyAodGhvc2UgaW4gdC9wb3J0aW5nKSBhcmUgbm90IHdlbGwgc3VpdGVkCi0rdG8gdHlwaWNhbCBkaXN0cmlidXRpb24gcGFja2FnaW5nIHNjZW5hcmlvcy4gRm9yIGV4YW1wbGUsIHRoZXkgYXNzdW1lCi0rdGhleSBhcmUgd29ya2luZyBpbiBhIGdpdCBjbG9uZSBvZiB0aGUgdXBzdHJlYW0gUGVybCByZXBvc2l0b3J5LCBvcgotK2VuZm9yY2UgcnVsZXMgd2hpY2ggYXJlIG5vdCByZWxldmFudCB0byBkb3duc3RyZWFtIHBhY2thZ2Vycy4gVGhlc2UgY2FuCi0rYmUgc2tpcHBlZCBieSBzZXR0aW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBQRVJMX0JVSUxEX1BBQ0tBR0lORy4KLStBIGNvbXBsZXRlIGxpc3Qgb2YgdGVzdHMgd2hpY2ggdGhpcyBhcHBsaWVkIHRvIGNhbiBiZSBmb3VuZCBieSBzZWFyY2hpbmcKLSt0aGUgY29kZWJhc2UgZm9yIHRoaXMgc3RyaW5nLgotKwotK0FuIGFsdGVybmF0aXZlIHN0cmF0ZWd5IHdvdWxkIGJlIHRvIHNraXAgYWxsIHBvcnRpbmcgdGVzdHMsIGJ1dCBtYW55IG9mCi0rdGhlbSBhcmUgdXNlZnVsIGlmIGFkZGl0aW9uYWwgcGF0Y2hlcyBtaWdodCBiZSBhcHBsaWVkLgotKwotKz1jdXQKLWRpZmYgLS1naXQgYS9yZWdlbi9saWJfY2xlYW51cC5wbCBiL3JlZ2VuL2xpYl9jbGVhbnVwLnBsCi1pbmRleCA1ZTQwYjQwNWE0Li42Y2FmNzRhNTYzIDEwMDY0NAotLS0tIGEvcmVnZW4vbGliX2NsZWFudXAucGwKLSsrKyBiL3JlZ2VuL2xpYl9jbGVhbnVwLnBsCi1AQCAtMTY0LDYgKzE2NCwxMSBAQCBpZiAoJFRBUCAmJiAhLWQgJy5naXQnICYmICEtZiAnbGliLy5naXRpZ25vcmUnKSB7Ci0gICAgIGV4aXQgMDsKLSB9Ci0gCi0raWYgKCRFTlZ7J1BFUkxfQlVJTERfUEFDS0FHSU5HJ30pIHsKLSsgICAgcHJpbnQgIm9rICMgc2tpcCBleHBsaWNpdGx5IGRpc2FibGVkIGdpdCB0ZXN0cyBieSBQRVJMX0JVSUxEX1BBQ0tBR0lOR1xuIjsKLSsgICAgZXhpdCAwOwotK30KLSsKLSAkZmggPSBvcGVuX25ldygnbGliLy5naXRpZ25vcmUnLCAnPicsCi0gICAgICAgICAgICAgICAgeyBieSA9PiAkMCwKLSAgICAgICAgICAgICAgICAgIGZyb20gPT4gJ01BTklGRVNUIGFuZCBwYXJzaW5nIGZpbGVzIGluIGNwYW4vIGRpc3QvIGFuZCBleHQvJ30pOwotZGlmZiAtLWdpdCBhL3QvcG9ydGluZy9jdXN0b21pemVkLnQgYi90L3BvcnRpbmcvY3VzdG9taXplZC50Ci1pbmRleCA0NWZjYWZiMTAwLi41YzM3MzkxOThjIDEwMDY0NAotLS0tIGEvdC9wb3J0aW5nL2N1c3RvbWl6ZWQudAotKysrIGIvdC9wb3J0aW5nL2N1c3RvbWl6ZWQudAotQEAgLTEzLDYgKzEzLDcgQEAgQkVHSU4gewotICAgICBASU5DID0gcXcobGliIFBvcnRpbmcgdCk7Ci0gICAgIHJlcXVpcmUgJ3Rlc3QucGwnOwotICAgICBza2lwX2FsbCgicHJlLWNvbXB1dGVkIFNIQTEgd29uJ3QgbWF0Y2ggdW5kZXIgRUJDRElDIikgaWYgJDo6SVNfRUJDRElDOwotKyAgICBza2lwX2FsbCgiVGhpcyBkaXN0cm8gbWF5IGhhdmUgbW9kaWZpZWQgc29tZSBmaWxlcyBpbiBjcGFuLy4gU2tpcHBpbmcgdmFsaWRhdGlvbi4iKSBpZiAkRU5WeydQRVJMX0JVSUxEX1BBQ0tBR0lORyd9OwotIH0KLSAKLSB1c2Ugc3RyaWN0OwotZGlmZiAtLWdpdCBhL3QvdGVzdC5wbCBiL3QvdGVzdC5wbAotaW5kZXggNzllNmUyNWU5NS4uMTc4MmRjZjczYyAxMDA2NDQKLS0tLSBhL3QvdGVzdC5wbAotKysrIGIvdC90ZXN0LnBsCi1AQCAtMjEyLDYgKzIxMiw5IEBAIHN1YiBmaW5kX2dpdF9vcl9za2lwIHsKLSAgICAgfSBlbHNlIHsKLSAJJHJlYXNvbiA9ICdub3QgYmVpbmcgcnVuIGZyb20gYSBnaXQgY2hlY2tvdXQnOwotICAgICB9Ci0rICAgIGlmICgkRU5WeydQRVJMX0JVSUxEX1BBQ0tBR0lORyd9KSB7Ci0rCSRyZWFzb24gPSAnUEVSTF9CVUlMRF9QQUNLQUdJTkcgaXMgc2V0JzsKLSsgICAgfQotICAgICBza2lwX2FsbCgkcmVhc29uKSBpZiAkX1swXSAmJiAkX1swXSBlcSAnYWxsJzsKLSAgICAgc2tpcCgkcmVhc29uLCBAXyk7Ci0gfQotLS0gCi0yLjE3LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL0NWRS0yMDE4LTEyMDE1LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL0NWRS0yMDE4LTEyMDE1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMzNkZWFmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9DVkUtMjAxOC0xMjAxNS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLUZyb20gYWU2NTY1MWVhYjA1M2ZjNmRjNDU5MGRiYjg2M2EyNjgyMTVjMWZjNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9QZXRyPTIwUD1DMz1BRHNhPUM1PTk5Pz0gPHBwaXNhckByZWRoYXQuY29tPgotRGF0ZTogRnJpLCA4IEp1biAyMDE4IDExOjQ1OjQwICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIFtQQVRDSF0gUmVtb3ZlIGV4aXN0aW5nIGZpbGVzIGJlZm9yZSBvdmVyd3JpdGluZyB0aGVtCi0KLUFyY2hpdmUgc2hvdWxkIGV4dHJhY3Qgb25seSB0aGUgbGF0ZXN0IHNhbWUtbmFtZWQgZW50cnkuCi1FeHRyYWN0ZWQgcmVndWxhciBmaWxlIHNob3VsZCBub3QgYmUgd3JpdHRlbnQgaW50byBleGlzdGluZyBibG9jawotZGV2aWNlIChvciBhbnkgb3RoZXIgb25lKS4KLQotaHR0cHM6Ly9ydC5jcGFuLm9yZy9UaWNrZXQvRGlzcGxheS5odG1sP2lkPTEyNTUyMwotCi1DVkU6IENWRS0yMDE4LTEyMDE1Ci1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGh1Yi5jb20vamliL2FyY2hpdmUtdGFyLW5ldy9jb21taXQvYWU2NTY1MWVhYjA1M2ZjNmRjNDU5MGRiYjg2M2EyNjgyMTVjMWZjNV0KLQotU2lnbmVkLW9mZi1ieTogQ2hyaXMgJ0JpbkdPcycgV2lsbGlhbXMgPGNocmlzQGJpbmdvc25ldC5jby51az4KLVNpZ25lZC1vZmYtYnk6IEphZ2FkZWVzaCBLcmlzaG5hbmphbmFwcGEgPGprcmlzaG5hbmphbmFwcGFAbXZpc3RhLmNvbT4KLS0tLQotIGxpYi9BcmNoaXZlL1Rhci5wbSB8IDE0ICsrKysrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2NwYW4vQXJjaGl2ZS1UYXIvbGliL0FyY2hpdmUvVGFyLnBtIGIvY3Bhbi9BcmNoaXZlLVRhci9saWIvQXJjaGl2ZS9UYXIucG0KLWluZGV4IDYyNDQzNjkuLmE4Mzk3NWYgMTAwNjQ0Ci0tLS0gYS9jcGFuL0FyY2hpdmUtVGFyL2xpYi9BcmNoaXZlL1Rhci5wbQotKysrIGIvY3Bhbi9BcmNoaXZlLVRhci9saWIvQXJjaGl2ZS9UYXIucG0KLUBAIC04NDUsNiArODQ1LDIwIEBAIHN1YiBfZXh0cmFjdF9maWxlIHsKLSAgICAgICAgIHJldHVybjsKLSAgICAgfQotIAotKyAgICAjIyMgSWYgYSBmaWxlIHN5c3RlbSBhbHJlYWR5IGNvbnRhaW5zIGEgYmxvY2sgZGV2aWNlIHdpdGggdGhlIHNhbWUgbmFtZSBhcwotKyAgICAjIyMgdGhlIGJlaW5nIGV4dHJhY3RlZCByZWd1bGFyIGZpbGUsIHdlIHdvdWxkIHdyaXRlIHRoZSBmaWxlJ3MgY29udGVudAotKyAgICAjIyMgdG8gdGhlIGJsb2NrIGRldmljZS4gU28gcmVtb3ZlIHRoZSBleGlzdGluZyBmaWxlIChibG9jayBkZXZpY2UpIG5vdy4KLSsgICAgIyMjIElmIGFuIGFyY2hpdmUgY29udGFpbnMgbXVsdGlwbGUgc2FtZS1uYW1lZCBlbnRyaWVzLCB0aGUgbGFzdCBvbmUKLSsgICAgIyMjIHNob3VsZCByZXBsYWNlIHRoZSBwcmV2aW91cyBvbmVzLiBTbyByZW1vdmUgdGhlIG9sZCBmaWxlIG5vdy4KLSsgICAgIyMjIElmIHRoZSBvbGQgZW50cnkgaXMgYSBzeW1saW5rIHRvIGEgZmlsZSBvdXRzaWRlIG9mIHRoZSBDV0QsIHRoZSBuZXcKLSsgICAgIyMjIGVudHJ5IHdvdWxkIGNyZWF0ZSBhIGZpbGUgdGhlcmUuIFRoaXMgaXMgQ1ZFLTIwMTgtMTIwMTUKLSsgICAgIyMjIDxodHRwczovL3J0LmNwYW4ub3JnL1RpY2tldC9EaXNwbGF5Lmh0bWw/aWQ9MTI1NTIzPi4KLSsgICAgaWYgKC1sICRmdWxsIHx8IC1lIF8pIHsKLSsJaWYgKCF1bmxpbmsgJGZ1bGwpIHsKLSsJICAgICRzZWxmLT5fZXJyb3IoIHFxW0NvdWxkIG5vdCByZW1vdmUgb2xkIGZpbGUgJyRmdWxsJzogJCFdICk7Ci0rCSAgICByZXR1cm47Ci0rCX0KLSsgICAgfQotICAgICBpZiggbGVuZ3RoICRlbnRyeS0+dHlwZSAmJiAkZW50cnktPmlzX2ZpbGUgKSB7Ci0gICAgICAgICBteSAkZmggPSBJTzo6RmlsZS0+bmV3OwotICAgICAgICAgJGZoLT5vcGVuKCAnPicgLiAkZnVsbCApIG9yICgKLS0tIAotMi4xMy4zCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9Db25maWd1cmUtbXVsdGlsaWIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvQ29uZmlndXJlLW11bHRpbGliLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NjI1YjBiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9Db25maWd1cmUtbXVsdGlsaWIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1VcHN0cmVhbS1TdGF0dXM6UGVuZGluZwotCi1JbmRleDogcGVybC01LjEyLjMvQ29uZmlndXJlCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gcGVybC01LjEyLjMub3JpZy9Db25maWd1cmUKLSsrKyBwZXJsLTUuMTIuMy9Db25maWd1cmUKLUBAIC0xMzE2LDggKzEzMTYsOSBAQCBsb2NsaWJwdGg9Ii91c3IvbG9jYWwvbGliIC9vcHQvbG9jYWwvbGliCi0gbG9jbGlicHRoPSIkbG9jbGlicHRoIC9vcHQvZ251L2xpYiAvdXNyL0dOVS9saWIgL29wdC9HTlUvbGliIgotIAotIDogZ2VuZXJhbCBsb29raW5nIHBhdGggZm9yIGxvY2F0aW5nIGxpYnJhcmllcwotLWdsaWJwdGg9Ii9saWIgL3Vzci9saWIgJHhsaWJwdGgiCi0rZ2xpYnB0aD0iL2xpYiAvdXNyL2xpYiAvbGliNjQgL3Vzci9saWI2NCAkeGxpYnB0aCIKLSBnbGlicHRoPSIkZ2xpYnB0aCAvdXNyL2Njcy9saWIgL3Vzci91Y2JsaWIgL3Vzci9sb2NhbC9saWIiCi0rdGVzdCAtZiAvdXNyL2xpYi8qLWxpbnV4LWdudS9saWJjLnNvICYmIGdsaWJwdGg9Ii91c3IvbGliLyotbGludXgtZ251ICRnbGlicHRoIgotIHRlc3QgLWYgL3Vzci9zaGxpYi9saWJjLnNvICYmIGdsaWJwdGg9Ii91c3Ivc2hsaWIgJGdsaWJwdGgiCi0gdGVzdCAtZiAvc2hsaWIvbGliYy5zbyAgICAgJiYgZ2xpYnB0aD0iL3NobGliICRnbGlicHRoIgotIHRlc3QgLWQgL3Vzci9saWI2NCAgICAgICAgICYmIGdsaWJwdGg9IiRnbGlicHRoIC9saWI2NCAvdXNyL2xpYjY0IC91c3IvbG9jYWwvbGliNjQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvTU1fVW5peC5wbS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9NTV9Vbml4LnBtLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlYjkyY2NiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9NTV9Vbml4LnBtLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOlBlbmRpbmcKLQotVGhlIHBlcmwtbmF0aXZlIHNob3VsZCBiZSByZWxvY2F0YWJsZSB3aGlsZSByZS11c2Ugc3N0YXRlLWNhY2hlIGZyb20KLWFub3RoZXIgYnVpbGQsIGVzcGVjaWFsbHkgdGhlIG9yaWdpbmFsIGJ1aWxkIHdhcyByZW5hbWVkL3JlbW92ZWQuCi0KLVRvIGdldCB0aGUgTWFrZU1ha2VyLnBtIHdvcmtzIGluIHRoaXMgY2FzZSwgd2UgbmVlZCBwZXJsIHdyYXBwZXIgaGVyZQotaW5zdGVhZCBvZiByZWFsIHBlcmwgYmluYXJ5LgotCi1TaWduZWQtb2ZmLWJ5OiBXZW56b25nIEZhbiA8d2Vuem9uZy5mYW5Ad2luZHJpdmVyLmNvbT4KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwZXJsLTUuMTIuMy9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbS5vcmlnCTIwMTEtMDgtMTIgMTY6MDc6MzAuMDAwMDAwMDAwICswODAwCi0rKysgcGVybC01LjEyLjMvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0JMjAxMS0wOC0xMiAxNjowODo1Ni4wMDAwMDAwMDAgKzA4MDAKLUBAIC0xMDE5LDYgKzEwMTksOSBAQAotICAgICB9Ci0gCi0gICAgIGZvcmVhY2ggbXkgJG5hbWUgKEAkbmFtZXMpewotKyAgICAgICAgIyBHZXR0aW5nIE1ha2VNYWtlci5wbSB1c2UgcGVybCB3cmFwcGVyIGluc3RlYWQgb2YgJ3BlcmwucmVhbCcgZGlyZWN0bHkKLSsgICAgICAgICRuYW1lID1+IHMvcGVybFwucmVhbC9wZXJsLyBpZiAoJG5hbWUgPX4gL3BlcmxcLnJlYWwvKTsKLSsKLSAgICAgICAgIGZvcmVhY2ggbXkgJGRpciAoQCRkaXJzKXsKLSAgICAgICAgICAgICBuZXh0IHVubGVzcyBkZWZpbmVkICRkaXI7ICMgJHNlbGYtPntQRVJMX1NSQ30gbWF5IGJlIHVuZGVmaW5lZAotICAgICAgICAgICAgIG15ICgkYWJzLCAkdmFsKTsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9NYWtlZmlsZS5TSC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9NYWtlZmlsZS5TSC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTRjMzQyNi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvTWFrZWZpbGUuU0gucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzODMgKzAsMCBAQAotRnJvbSA0ZGQ5ZjNmODFkOGM4MWM5NmZmMWVhMDg5MGVhNTU2ODVmMjhiN2U5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotRGF0ZTogVHVlLCAxIEp1bCAyMDE0IDE1OjUxOjUzICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggMjgvNDldIHBlcmwsIHBlcmwtbmF0aXZlLCBwZXJsLXB0ZXN0OiB1cGdyYWRlIGZyb20gNS4xNC4zIHRvCi0gNS4yMC4wCi0KLVVwc3RyZWFtLVN0YXR1czpJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotCi0tLS0KLSBNYWtlZmlsZS5TSCB8IDE0NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNjggaW5zZXJ0aW9ucygrKSwgNzkgZGVsZXRpb25zKC0pCi0KLUluZGV4OiBwZXJsLTUuMjQuNC9NYWtlZmlsZS5TSAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHBlcmwtNS4yNC40Lm9yaWcvTWFrZWZpbGUuU0gKLSsrKyBwZXJsLTUuMjQuNC9NYWtlZmlsZS5TSAotQEAgLTQ4LDEwICs0OCwxMCBAQCBjYXNlICIkdXNlc2hycGxpYiIgaW4KLSB0cnVlKQotIAkjIFByZWZpeCBhbGwgcnVucyBvZiAnbWluaXBlcmwnIGFuZCAncGVybCcgd2l0aAotIAkjICRsZGxpYnB0aCBzbyB0aGF0IC4vcGVybCBmaW5kcyAqdGhpcyogc2hhcmVkIGxpYnBlcmwuCi0tCWNhc2UgIiRMRF9MSUJSQVJZX1BBVEgiIGluCi0tCScnKSAgbGRsaWJwdGg9IkxEX0xJQlJBUllfUEFUSD1gIHF1b3RlICIkcHdkIiBgIiA7OwotLQkqKSAgIGxkbGlicHRoPSJMRF9MSUJSQVJZX1BBVEg9YCBxdW90ZSAiJHB3ZCIgYDpgIHF1b3RlICIkTERfTElCUkFSWV9QQVRIIiBgIiA7OwotLQllc2FjCi0rCSNjYXNlICIkTERfTElCUkFSWV9QQVRIIiBpbgotKwkjJycpICBsZGxpYnB0aD0iTERfTElCUkFSWV9QQVRIPWAgcXVvdGUgIiRwd2QiIGAiIDs7Ci0rCSMqKSAgIGxkbGlicHRoPSJMRF9MSUJSQVJZX1BBVEg9YCBxdW90ZSAiJHB3ZCIgYDpgIHF1b3RlICIkTERfTElCUkFSWV9QQVRIIiBgIiA7OwotKwkjZXNhYwotIAotIAlwbGRsZmxhZ3M9IiRjY2NkbGZsYWdzIgotIAlzdGF0aWNfbGRmbGFncz0nJwotQEAgLTEzMSwxMCArMTMxLDExIEBAIHRydWUpCi0gCSAgICAqKQotIAkJZXZhbCAibGRsaWJwdGh2YWw9XCJcJCRsZGxpYnB0aG5hbWVcIiIKLSAKLS0JCWNhc2UgIiRsZGxpYnB0aHZhbCIgaW4KLS0JCScnKSAgbGRsaWJwdGg9IiRsZGxpYnB0aG5hbWU9YCBxdW90ZSAiJHB3ZCIgYCIgOzsKLS0JCSopICAgbGRsaWJwdGg9IiRsZGxpYnB0aG5hbWU9YCBxdW90ZSAiJHB3ZCIgYDpgIHF1b3RlICIkbGRsaWJwdGh2YWwiIGAiIDs7Ci0tCQllc2FjCi0rIyBXZSBjb21waWxlIGluIHRoZSBsaWJyYXJ5IHBhdGggaW4gT0UgZnJvbSBjcm9zcy1jb21waWxlLCBzbyBsZXRzIG5vdCBkbyB0aGlzCi0rIwkJY2FzZSAiJGxkbGlicHRodmFsIiBpbgotKyMJCScnKSAgbGRsaWJwdGg9IiRsZGxpYnB0aG5hbWU9YCBxdW90ZSAiJHB3ZCIgYCIgOzsKLSsjCQkqKSAgIGxkbGlicHRoPSIkbGRsaWJwdGhuYW1lPWAgcXVvdGUgIiRwd2QiIGA6YCBxdW90ZSAiJGxkbGlicHRodmFsIiBgIiA7OwotKyMJCWVzYWMKLSAKLSAJCTs7Ci0gCSAgICBlc2FjCi1AQCAtMTUwLDE4ICsxNTEsNyBAQCB0cnVlKQotIAkgICAgIyBJTlNUQUxMIGZpbGUsIHVuZGVyICJCdWlsZGluZyBhIHNoYXJlZCBwZXJsIGxpYnJhcnkiLgotIAkgICAgIyBJZiB0aGVyZSBpcyBubyBwcmUtZXhpc3RpbmcgJGxpYnBlcmwsIHdlIGRvbid0IG5lZWQKLSAJICAgICMgdG8gZG8gYW55dGhpbmcgZnVydGhlci4KLS0JICAgIGlmIHRlc3QgLWYgJGFyY2hsaWIvQ09SRS8kbGlicGVybDsgdGhlbgotLQkJcm0gLWYgcHJlbG9hZAotLQkJY2F0IDw8J0VPVCcgPiBwcmVsb2FkCi0tIyEgL2Jpbi9zaAotLWxpYj0kMQotLXNoaWZ0Ci0tdGVzdCAtciAkbGliICYmIGV4cG9ydCBMRF9QUkVMT0FEPSIkbGliICRMRF9QUkVMT0FEIgotLWV4ZWMgIiRAIgotLUVPVAotLQkJY2htb2QgNzU1IHByZWxvYWQKLS0JCWxkbGlicHRoPSIkbGRsaWJwdGggYHB3ZGAvcHJlbG9hZCBgcHdkYC8kbGlicGVybCIKLS0JICAgIGZpCi0rCSAgICBlY2hvIGxpbnV4IGxpYnJhcmllcyBvdmVyd3JpdHRlbiBieSBjcm9zcy1jb21waWxlIHBhdGNoZXMKLSAJICAgIDs7Ci0gCW9zMzkwKQl0ZXN0IC1mIC9iaW4vZW52ICYmIGxkbGlicHRoPSIvYmluL2VudiAkbGRsaWJwdGgiCi0gCQk7OwotQEAgLTU5NiwxMyArNTg2LDIzIEBAIHNwbGludGZpbGVzID0gJChjMSkKLSAJQGVjaG8gYCQoQ0NDTURTUkMpYCAtUyAkKi5jCi0gCUBgJChDQ0NNRFNSQylgIC1TICQqLmMKLSAKLS1hbGw6ICQoRklSU1RNQUtFRklMRSkgJChNSU5JUEVSTF9FWEUpICQoZ2VuZXJhdGVkX3BvZHMpICQocHJpdmF0ZSkgJCh1bmlkYXRhZmlsZXMpICQocHVibGljKSAkKGR5bmFtaWNfZXh0KSAkKG5vbnhzX2V4dCkgZXh0cmFzLm1ha2UgJChNQU5JRkVTVF9TUlQpCi0tCUBlY2hvICIgIjsKLS0JQGVjaG8gIglFdmVyeXRoaW5nIGlzIHVwIHRvIGRhdGUuIFR5cGUgJyQoTUFLRSkgdGVzdCcgdG8gcnVuIHRlc3Qgc3VpdGUuIgotLQotLSQoTUFOSUZFU1RfU1JUKToJTUFOSUZFU1QgJChQRVJMX0VYRSkKLS0JQCQoUlVOX1BFUkwpIFBvcnRpbmcvbWFuaXNvcnQgLXEgfHwgKGVjaG8gIldBUk5JTkc6IHJlLXNvcnRpbmcgTUFOSUZFU1QiOyBcCi0tCSAgICAkKFJVTl9QRVJMKSBQb3J0aW5nL21hbmlzb3J0IC1xIC1vIE1BTklGRVNUOyBzaCAtYyB0cnVlKQotKyNhbGw6ICQoRklSU1RNQUtFRklMRSkgJChNSU5JUEVSTF9FWEUpICQoZ2VuZXJhdGVkX3BvZHMpICQocHJpdmF0ZSkgJCh1bmlkYXRhZmlsZXMpICQocHVibGljKSAkKGR5bmFtaWNfZXh0KSAkKG5vbnhzX2V4dCkgZXh0cmFzLm1ha2UgJChNQU5JRkVTVF9TUlQpCi0rIwlAZWNobyAiICI7Ci0rIwlAZWNobyAiCUV2ZXJ5dGhpbmcgaXMgdXAgdG8gZGF0ZS4gVHlwZSAnJChNQUtFKSB0ZXN0JyB0byBydW4gdGVzdCBzdWl0ZS4iCi0rCi0rYWxsOiAkKEZJUlNUTUFLRUZJTEUpICQoTUlOSVBFUkxfRVhFKSBtaW5pcGVybCAkKHVuaWRhdGFmaWxlcykKLSsKLSttb3JlOiAkKGdlbmVyYXRlZF9wb2RzKSAkKHByaXZhdGUpICQocHVibGljKQotKwotK21vcmUyOiAkKGR5bmFtaWNfZXh0KQotKwotK21vcmUzOiAkKG5vbnhzX2V4dCkKLSsKLSttb3JlNDogZXh0cmFzLm1ha2UgJChNQU5JRkVTVF9TUlQpCi0rCi0rJChNQU5JRkVTVF9TUlQpOglNQU5JRkVTVAotKwlAJChNSU5JUEVSTCkgUG9ydGluZy9tYW5pc29ydCAtcSB8fCAoZWNobyAiV0FSTklORzogcmUtc29ydGluZyBNQU5JRkVTVCI7IFwKLSsJICAgICQoTUlOSVBFUkwpIFBvcnRpbmcvbWFuaXNvcnQgLXEgLW8gTUFOSUZFU1Q7IHNoIC1jIHRydWUpCi0gCUB0b3VjaCAkKE1BTklGRVNUX1NSVCkKLSAKLSAuUEhPTlk6IGFsbCB1dGlsaXRpZXMKLUBAIC02MTEsNyArNjExLDcgQEAgJChNQU5JRkVTVF9TUlQpOglNQU5JRkVTVCAkKFBFUkxfRVhFKQotICMgYnkgbWFrZV9wYXRjaG51bS5wbC4KLSBnaXRfdmVyc2lvbi5oOiBsaWIvQ29uZmlnX2dpdC5wbAotIAotLWxpYi9Db25maWdfZ2l0LnBsOiAkKE1JTklQRVJMX0VYRSkgbWFrZV9wYXRjaG51bS5wbAotK2xpYi9Db25maWdfZ2l0LnBsOiBtYWtlX3BhdGNobnVtLnBsCi0gCSQoTUlOSVBFUkwpIG1ha2VfcGF0Y2hudW0ucGwKLSAKLSAjIG1ha2Ugc3VyZSB0aGF0IHdlIHJlY29tcGlsZSBwZXJsLmMgaWYgdGhlIGdpdCB2ZXJzaW9uIGNoYW5nZXMKLUBAIC02MjQsNyArNjI0LDcgQEAgcGVybCQoT0JKX0VYVCk6IGdpdF92ZXJzaW9uLmgKLSAjIGxvYWRpbmcsIHdlIG5lZWQgdG8gYnVpbGQgcGVybCBmaXJzdC4KLSBjYXNlICIkdXNlZGwkc3RhdGljX2N3ZCIgaW4KLSBkZWZpbmV1bmRlZikKLS0gICAgdXRpbF9kZXBzPSckKE1JTklQRVJMX0VYRSkgJChDT05GSUdQTSkgbGliL2F1dG8vQ3dkL0N3ZCQoRExTVUZGSVgpIEZPUkNFJwotKyAgICB1dGlsX2RlcHM9JyQoQ09ORklHUE0pIGxpYi9hdXRvL0N3ZC9Dd2QkKERMU1VGRklYKSBGT1JDRScKLSAgICAgOzsKLSBkZWZpbmVkZWZpbmUpCi0gICAgIHV0aWxfZGVwcz0nJChQRVJMX0VYRSkgJChDT05GSUdQTSkgRk9SQ0UnCi1AQCAtNjM0LDcgKzYzNCw3IEBAIGRlZmluZWRlZmluZSkKLSBlc2FjCi0gCi0gJHNwaXRzaGVsbCA+PiRNYWtlZmlsZSA8PCFHUk9LIVRISVMhCi0tdXRpbHMvTWFrZWZpbGU6IFwkKE1JTklQRVJMX0VYRSkgXCQoQ09ORklHUE0pIHV0aWxzL01ha2VmaWxlLlBMCi0rdXRpbHMvTWFrZWZpbGU6IFwkKENPTkZJR1BNKSB1dGlscy9NYWtlZmlsZS5QTAotIAlcJChNSU5JUEVSTCkgLUlsaWIgdXRpbHMvTWFrZWZpbGUuUEwKLSAKLSB1dGlsaXRpZXM6CXV0aWxzL01ha2VmaWxlICR1dGlsX2RlcHMKLUBAIC03NDMsNyArNzQzLDcgQEAgZXh0LmxpYnM6ICQoc3RhdGljX2V4dCkKLSA7OwotICopCi0gJHNwaXRzaGVsbCA+PiRNYWtlZmlsZSA8PCchTk8hU1VCUyEnCi0tcGVybG1haW4uYzogJChNSU5JUEVSTF9FWEUpIGV4dC9FeHRVdGlscy1NaW5pcGVybC9wbV90b19ibGliCi0rcGVybG1haW4uYzogZXh0L0V4dFV0aWxzLU1pbmlwZXJsL2xpYi9FeHRVdGlscy9NaW5pcGVybC5wbQotIAkkKE1JTklQRVJMKSAtSWxpYiAtTUV4dFV0aWxzOjpNaW5pcGVybCAtZSAnd3JpdGVtYWluKFwicGVybG1haW4uYyIsIEBBUkdWKScgRHluYUxvYWRlciAkKHN0YXRpY19leHQpCi0gCi0gIyBUaGUgZmlsZSBleHQubGlicyBpcyBhIGxpc3Qgb2YgbGlicmFyaWVzIHRoYXQgbXVzdCBiZSBsaW5rZWQgaW4KLUBAIC04MDYsNyArODA2LDcgQEAgUEVSTEVYUE9SVAkJPSBwZXJsLmV4cAotIAk7OwotIAllc2FjCi0gCSRzcGl0c2hlbGwgPj4kTWFrZWZpbGUgPDwnIU5PIVNVQlMhJwotLXBlcmwuZXhwOiAkKE1JTklQRVJMRVhQKSBtYWtlZGVmLnBsICQoQ09ORklHUE0pICQoU1lNKSAkKFNZTUgpCi0rcGVybC5leHA6IG1ha2VkZWYucGwgJChDT05GSUdQTSkgJChTWU0pICQoU1lNSCkKLSAJLi8kKE1JTklQRVJMRVhQKSBtYWtlZGVmLnBsIC0tc29ydC1mb2xkIFBMQVRGT1JNPWFpeCBDQ19GTEFHUz0iJChPUFRJTUlaRSkiID4gcGVybC5leHAKLSAKLSAhTk8hU1VCUyEKLUBAIC04MTUsNyArODE1LDcgQEAgb3MyKQotIAkkc3BpdHNoZWxsID4+JE1ha2VmaWxlIDw8JyFOTyFTVUJTIScKLSBNSU5JUEVSTEVYUAkJPSBtaW5pcGVybAotIAotLXBlcmw1LmRlZjogJChNSU5JUEVSTEVYUCkgbWFrZWRlZi5wbCAkKENPTkZJR1BNKSAkKFNZTSkgJChTWU1IKSBtaW5pcGVybC5tYXAKLStwZXJsNS5kZWY6IG1ha2VkZWYucGwgJChDT05GSUdQTSkgJChTWU0pICQoU1lNSCkgbWluaXBlcmwubWFwCi0gCS4vJChNSU5JUEVSTEVYUCkgbWFrZWRlZi5wbCBQTEFURk9STT1vczIgLURQRVJMX0RMTD0kKFBFUkxfRExMKSBDQ19GTEFHUz0iJChPUFRJTUlaRSkiID4gcGVybDUuZGVmCi0gCi0gIU5PIVNVQlMhCi1AQCAtODc4LDcgKzg3OCw3IEBAICQoTElCUEVSTCk6ICQmICQocGVybGxpYl9vYmpzKSAkKERZTkFMT0EKLSAJdHJ1ZSkKLSAJCSRzcGl0c2hlbGwgPj4kTWFrZWZpbGUgPDwnIU5PIVNVQlMhJwotIAlybSAtZiAkQAotLQkkKExEKSAtbyAkQCAkKFNIUlBMREZMQUdTKSAkKHBlcmxsaWJfb2JqcykgJChEWU5BTE9BREVSKSAkKGxpYnMpCi0rCSQoTEQpIC1vICRAICQoU0hSUExERkxBR1MpICQocGVybGxpYl9vYmpzKSAkKERZTkFMT0FERVIpICQobGlicykgLVdsLC1zb25hbWUsbGlicGVybC5zby41Ci0gIU5PIVNVQlMhCi0gCQljYXNlICIkb3NuYW1lIiBpbgotIAkJYWl4KQotQEAgLTkzNiwxNSArOTM2LDE5IEBAIGxpYi9idWlsZGN1c3RvbWl6ZS5wbDogJCYgJChtaW5pcGVybF9vYmoKLSAJCSRzcGl0c2hlbGwgPj4kTWFrZWZpbGUgPDwnIU5PIVNVQlMhJwotIGxpYi9idWlsZGN1c3RvbWl6ZS5wbDogJCYgJChtaW5pcGVybF9vYmpzKQotIAkkKENDKSAtbyAkKE1JTklQRVJMX0VYRSkgJChDTERGTEFHUykgJChtaW5pcGVybF9vYmpzKSAkKGxpYnMpCi0tCSQoTERMSUJQVEgpIC4vbWluaXBlcmwkKEhPU1RfRVhFX0VYVCkgLXcgLUlsaWIgLUlkaXN0L0V4cG9ydGVyL2xpYiAtTUV4cG9ydGVyIC1lICc8Pz4nIHx8IHNoIC1jICdlY2hvID4mMiBGYWlsZWQgdG8gYnVpbGQgbWluaXBlcmwuICBQbGVhc2UgcnVuIG1ha2UgbWluaXRlc3Q7IGV4aXQgMScKLSsJbXYgLWYgbWluaXBlcmwgbWluaXBlcmwtdGFyZ2V0Ci0rCWxuIC1zIGhvc3RwZXJsIG1pbmlwZXJsCi0rCSMkKExETElCUFRIKSAuL21pbmlwZXJsJChIT1NUX0VYRV9FWFQpIC13IC1JbGliIC1JZGlzdC9FeHBvcnRlci9saWIgLU1FeHBvcnRlciAtZSAnPD8+JyB8fCBzaCAtYyAnZWNobyA+JjIgRmFpbGVkIHRvIGJ1aWxkIG1pbmlwZXJsLiAgUGxlYXNlIHJ1biBtYWtlIG1pbml0ZXN0OyBleGl0IDEnCi0gCSQoTUlOSVBFUkwpIC1mIHdyaXRlX2J1aWxkY3VzdG9taXplLnBsCi0gIU5PIVNVQlMhCi0gCQk7OwotIAluZXh0NCopCi0gCQkkc3BpdHNoZWxsID4+JE1ha2VmaWxlIDw8JyFOTyFTVUJTIScKLSBsaWIvYnVpbGRjdXN0b21pemUucGw6ICQmICQobWluaXBlcmxfb2Jqcykgd3JpdGUgICAgbGRjdXN0b21pemUucGwKLS0JJChDQykgLW8gJChNSU5JUEVSTF9FWEUpICQobWluaXBlcmxfb2JqcyAgICBsaWJzKQotLQkkKExETElCUFRIKSAuL21pbmlwZXJsJChIT1NUICAgIF9FWFQpIC13IC1JbGliIC1JZGlzdC9FeHBvcnRlci9saWIgLU1FeHBvcnRlciAtZSAnPD8+JyB8fCBzaCAtYyAnZWNobyA+JjIgRmFpbGVkIHRvIGJ1aWxkIG1pbmlwZXJsLiAgUGxlYXNlIHJ1biBtYWtlIG1pbml0ZXN0OyBleGl0IDEnCi0rCSQoQ0MpIC1vICQoTUlOSVBFUkxfRVhFKSAkKG1pbmlwZXJsX29ianMgICBsaWJzKQotKwltdiAtZiBtaW5pcGVybCBtaW5pcGVybC10YXJnZXQKLSsJbG4gLXMgaG9zdHBlcmwgbWluaXBlcmwKLSsJIyQoTERMSUJQVEgpIC4vbWluaXBlcmwkKEhPU1QgICAgX0VYVCkgLXcgLUlsaWIgLUlkaXN0L0V4cG9ydGVyL2xpYiAtTUV4cG9ydGVyIC1lICc8Pz4nIHx8IHNoIC1jICdlY2hvID4mMiBGYWlsZWQgdG8gYnVpbGQgbWluaXBlcmwuICBQbGVhc2UgcnVuIG1ha2UgbWluaXRlc3Q7IGV4aXQgMScKLSAJJChNSU5JUEVSTCkgLWYgd3JpdGVfYnVpbGRjdXN0b21pemUucGwgICAgCi0gIU5PIVNVQlMhCi0gCQk7OwotQEAgLTk2Niw3ICs5NzAsOSBAQCBsaWIvYnVpbGRjdXN0b21pemUucGw6ICQmICQobWluaXBlcmxfb2JqCi0gCS1Acm0gLWYgbWluaXBlcmwueG9rCi0gCSQoQ0MpICQoQ0xERkxBR1MpICQoTkFNRVNQQUNFRkxBR1MpIC1vICQoTUlOSVBFUkxfRVhFKSBcCi0gCSAgICAkKG1pbmlwZXJsX29ianMpICQobGlicykKLS0JJChMRExJQlBUSCkgLi9taW5pcGVybCQoSE9TVF9FWEVfRVhUKSAtdyAtSWxpYiAtSWRpc3QvRXhwb3J0ZXIvbGliIC1NRXhwb3J0ZXIgLWUgJzw/PicgfHwgc2ggLWMgJ2VjaG8gPiYyIEZhaWxlZCB0byBidWlsZCBtaW5pcGVybC4gIFBsZWFzZSBydW4gbWFrZSBtaW5pdGVzdDsgZXhpdCAxJwotKwltdiAtZiBtaW5pcGVybCBtaW5pcGVybC10YXJnZXQKLSsJbG4gLXMgaG9zdHBlcmwgbWluaXBlcmwKLSsJIyQoTERMSUJQVEgpIC4vbWluaXBlcmwkKEhPU1RfRVhFX0VYVCkgLXcgLUlsaWIgLUlkaXN0L0V4cG9ydGVyL2xpYiAtTUV4cG9ydGVyIC1lICc8Pz4nIHx8IHNoIC1jICdlY2hvID4mMiBGYWlsZWQgdG8gYnVpbGQgbWluaXBlcmwuICBQbGVhc2UgcnVuIG1ha2UgbWluaXRlc3Q7IGV4aXQgMScKLSAJJChNSU5JUEVSTCkgLWYgd3JpdGVfYnVpbGRjdXN0b21pemUucGwKLSAhTk8hU1VCUyEKLSAJCTs7Ci1AQCAtOTc3LDcgKzk4Myw5IEBAIGxpYi9idWlsZGN1c3RvbWl6ZS5wbDogXCQmIFwkKG1pbmlwZXJsX28KLSAJLUBybSAtZiBtaW5pcGVybC54b2sKLSAJLUBybSBcJChNSU5JUEVSTF9FWEUpCi0gCVwkKExOUykgXCQoSE9TVF9QRVJMKSBcJChNSU5JUEVSTF9FWEUpCi0tCVwkKExETElCUFRIKSAuL21pbmlwZXJsXCQoSE9TVF9FWEVfRVhUKSAtdyAtSWxpYiAtSWRpc3QvRXhwb3J0ZXIvbGliIC1NRXhwb3J0ZXIgLWUgJzw/PicgfHwgc2ggLWMgJ2VjaG8gPiYyIEZhaWxlZCB0byBidWlsZCBtaW5pcGVybC4gIFBsZWFzZSBydW4gbWFrZSBtaW5pdGVzdDsgZXhpdCAxJwotKwltdiAtZiBtaW5pcGVybCBtaW5pcGVybC10YXJnZXQKLSsJbG4gLXMgaG9zdHBlcmwgbWluaXBlcmwKLSsJI1wkKExETElCUFRIKSAuL21pbmlwZXJsXCQoSE9TVF9FWEVfRVhUKSAtdyAtSWxpYiAtSWRpc3QvRXhwb3J0ZXIvbGliIC1NRXhwb3J0ZXIgLWUgJzw/PicgfHwgc2ggLWMgJ2VjaG8gPiYyIEZhaWxlZCB0byBidWlsZCBtaW5pcGVybC4gIFBsZWFzZSBydW4gbWFrZSBtaW5pdGVzdDsgZXhpdCAxJwotIAlcJChNSU5JUEVSTCkgLWYgd3JpdGVfYnVpbGRjdXN0b21pemUucGwgJ29zbmFtZScgIiRvc25hbWUiCi0gIUdST0shVEhJUyEKLSAJCWVsc2UKLUBAIC05ODYsNyArOTk0LDkgQEAgbGliL2J1aWxkY3VzdG9taXplLnBsOiAkJiAkKG1pbmlwZXJsX29iagotIAktQHJtIC1mIG1pbmlwZXJsLnhvawotIAkkKENDKSAkKENMREZMQUdTKSAtbyAkKE1JTklQRVJMX0VYRSkgXAotIAkgICAgJChtaW5pcGVybF9vYmpzKSAkKGxpYnMpCi0tCSQoTERMSUJQVEgpIC4vbWluaXBlcmwkKEhPU1RfRVhFX0VYVCkgLXcgLUlsaWIgLUlkaXN0L0V4cG9ydGVyL2xpYiAtTUV4cG9ydGVyIC1lICc8Pz4nIHx8IHNoIC1jICdlY2hvID4mMiBGYWlsZWQgdG8gYnVpbGQgbWluaXBlcmwuICBQbGVhc2UgcnVuIG1ha2UgbWluaXRlc3Q7IGV4aXQgMScKLSsJbXYgLWYgbWluaXBlcmwgbWluaXBlcmwtdGFyZ2V0Ci0rCWxuIC1zIGhvc3RwZXJsIG1pbmlwZXJsCi0rCSMkKExETElCUFRIKSAuL21pbmlwZXJsJChIT1NUX0VYRV9FWFQpIC13IC1JbGliIC1JZGlzdC9FeHBvcnRlci9saWIgLU1FeHBvcnRlciAtZSAnPD8+JyB8fCBzaCAtYyAnZWNobyA+JjIgRmFpbGVkIHRvIGJ1aWxkIG1pbmlwZXJsLiAgUGxlYXNlIHJ1biBtYWtlIG1pbml0ZXN0OyBleGl0IDEnCi0gCSQoTUlOSVBFUkwpIC1mIHdyaXRlX2J1aWxkY3VzdG9taXplLnBsCi0gIU5PIVNVQlMhCi0gCQlmaQotQEAgLTEwMzYsNyArMTA0Niw3IEBAIGNhc2UgIiR7b3NuYW1lfSIgaW4KLSBjYXRhbW91bnQpCi0gJHNwaXRzaGVsbCA+PiRNYWtlZmlsZSA8PCFHUk9LIVRISVMhCi0gLlBIT05ZOiBtYWtlcHBwb3J0Ci0tbWFrZXBwcG9ydDogXCQoTUlOSVBFUkxfRVhFKSBcJChDT05GSUdQTSkKLSttYWtlcHBwb3J0OiBcJChDT05GSUdQTSkKLSAJLUBmb3IgZiBpbiBNYWtlZmlsZS5QTCBQUFBvcnRfcG0uUEwgUFBQb3J0X3hzLlBMIHBwcG9ydF9oLlBMOyBkbyBcCi0gCShjZCBleHQvRGV2ZWwtUFBQb3J0ICYmIGBwd2RgL3J1bi5zaCAuLi8uLi8kKE1JTklQRVJMX0VYRSkgLUkuLi8uLi9saWIgXCRcJGYpOyBcCi0gCWRvbmUKLUBAIC0xMDQ2LDcgKzEwNTYsNyBAQCBtYWtlcHBwb3J0OiBcJChNSU5JUEVSTF9FWEUpIFwkKENPTkZJR1BNCi0gKikKLSAkc3BpdHNoZWxsID4+JE1ha2VmaWxlIDw8JyFOTyFTVUJTIScKLSAuUEhPTlk6IG1ha2VwcHBvcnQKLS1tYWtlcHBwb3J0OiAkKE1JTklQRVJMX0VYRSkgJChDT05GSUdQTSkgJChub254c19leHQpCi0rbWFrZXBwcG9ydDogJChDT05GSUdQTSkgJChub254c19leHQpCi0gCSQoTUlOSVBFUkwpIG1rcHBwb3J0Ci0gCi0gIU5PIVNVQlMhCi1AQCAtMTA1NiwxNiArMTA2NiwxNiBAQCBlc2FjCi0gJHNwaXRzaGVsbCA+PiRNYWtlZmlsZSA8PCchTk8hU1VCUyEnCi0gCi0gLlBIT05ZOiBwcmVwbGlicmFyeQotLXByZXBsaWJyYXJ5OiAkKE1JTklQRVJMX0VYRSkgJChDT05GSUdQTSkgJChQUkVQTElCUkFSWV9MSUJQRVJMKQotK3ByZXBsaWJyYXJ5OiAkKENPTkZJR1BNKSAkKFBSRVBMSUJSQVJZX0xJQlBFUkwpCi0gCi0gJChDT05GSUdQTV9GUk9NX0NPTkZJR19TSCk6ICQoQ09ORklHUE9EKQotIAotLSQoQ09ORklHUE9EKTogY29uZmlnLnNoICQoTUlOSVBFUkxfRVhFKSBjb25maWdwbSBQb3J0aW5nL0dsb3NzYXJ5IGxpYi9Db25maWdfZ2l0LnBsCi0rJChDT05GSUdQT0QpOiBjb25maWcuc2ggY29uZmlncG0gUG9ydGluZy9HbG9zc2FyeSBsaWIvQ29uZmlnX2dpdC5wbAotIAkkKE1JTklQRVJMKSBjb25maWdwbQotIAotIHVuaWRhdGFmaWxlcyAkKHVuaWRhdGFmaWxlcykgcG9kL3Blcmx1bmlwcm9wcy5wb2Q6IHVuaS5kYXRhCi0gCi0tdW5pLmRhdGE6ICQoTUlOSVBFUkxfRVhFKSAkKENPTkZJR1BNKSBsaWIvdW5pY29yZS9ta3RhYmxlcyAkKG5vbnhzX2V4dCkKLSt1bmkuZGF0YTogJChDT05GSUdQTSkgbGliL3VuaWNvcmUvbWt0YWJsZXMgJChub254c19leHQpCi0gCSQoTUlOSVBFUkwpIGxpYi91bmljb3JlL21rdGFibGVzIC1DIGxpYi91bmljb3JlIC1QIHBvZCAtbWFrZXRlc3QgLW1ha2VsaXN0IC1wCi0gIwlDb21tZW50ZWQgb3V0IHNvIGFsd2F5cyBydW5zLCBta3RhYmxlcyBsb29rcyBhdCBmYXIgbW9yZSBmaWxlcyB0aGFuIHdlCi0gIwljYW4gaW4gdGhpcyBtYWtlZmlsZSB0byBkZWNpZGUgaWYgbmVlZHMgdG8gcnVuIG9yIG5vdAotQEAgLTEwNzQsMTIgKzEwODQsMTIgQEAgdW5pLmRhdGE6ICQoTUlOSVBFUkxfRVhFKSAkKENPTkZJR1BNKSBsaQotICMgJChQRVJMX0VYRSkgYW5kIGV4dCBiZWNhdXNlIHBvZF9saWIucGwgbmVlZHMgRGlnZXN0OjpNRDUKLSAjIEJ1dCBhbHNvIHRoaXMgZW5zdXJlcyB0aGF0IGFsbCBleHRlbnNpb25zIGFyZSBidWlsdCBiZWZvcmUgd2UgdHJ5IHRvIHNjYW4KLSAjIHRoZW0sIHdoaWNoIHBpY2tzIHVwIERldmVsOjpQUFBvcnQncyBkb2N1bWVudGF0aW9uLgotLXBvZC9wZXJsdG9jLnBvZDogJChwZXJsdG9jX3BvZF9wcmVyZXFzKSAgJChQRVJMX0VYRSkgJChleHQpIHBvZC9idWlsZHRvYwotLQkkKFJVTl9QRVJMKSAtZiBwb2QvYnVpbGR0b2MgLXEKLStwb2QvcGVybHRvYy5wb2Q6ICQocGVybHRvY19wb2RfcHJlcmVxcykgJChleHQpIHBvZC9idWlsZHRvYwotKwkkKE1JTklQRVJMKSAtZiBwb2QvYnVpbGR0b2MgLXEKLSAKLSBwb2QvcGVybGFwaS5wb2Q6IHBvZC9wZXJsaW50ZXJuLnBvZAotIAotLXBvZC9wZXJsaW50ZXJuLnBvZDogJChNSU5JUEVSTF9FWEUpIGF1dG9kb2MucGwgZW1iZWQuZm5jCi0rcG9kL3BlcmxpbnRlcm4ucG9kOiBhdXRvZG9jLnBsIGVtYmVkLmZuYwotIAkkKE1JTklQRVJMKSBhdXRvZG9jLnBsCi0gCi0gcG9kL3Blcmxtb2RsaWIucG9kOiAkKE1JTklQRVJMX0VYRSkgcG9kL3Blcmxtb2RsaWIuUEwgTUFOSUZFU1QKLUBAIC0xMDg5LDcgKzEwOTksNyBAQCBwb2QvcGVybDUyNDRkZWx0YS5wb2Q6IHBvZC9wZXJsZGVsdGEucG9kCi0gCSQoUk1TKSBwb2QvcGVybDUyNDRkZWx0YS5wb2QKLSAJJChMTlMpIHBlcmxkZWx0YS5wb2QgcG9kL3Blcmw1MjQ0ZGVsdGEucG9kCi0gCi0tZXh0cmEucG9kczogJChNSU5JUEVSTF9FWEUpCi0rZXh0cmEucG9kczoKLSAJLUB0ZXN0ICEgLWYgZXh0cmEucG9kcyB8fCBybSAtZiBgY2F0IGV4dHJhLnBvZHNgCi0gCS1Acm0gLWYgZXh0cmEucG9kcwotIAktQGZvciB4IGluIGBncmVwIC1sICdePVthLXpdJyBSRUFETUUuKiB8IGdyZXAgLXYgUkVBRE1FLnZtc2AgOyBkbyBcCi1AQCAtMTEzMyw4ICsxMTQzLDcgQEAgRU9UCi0gICAgICAgICAkc3BpdHNoZWxsID4+JE1ha2VmaWxlIDw8RU9UCi0gCi0gaW5zdGFsbF8kbmFtZSBpbnN0YWxsLSRuYW1lOiBcJChJTlNUQUxMX0RFUEVOREVOQ0UpIGluc3RhbGxwZXJsIGFsbCBpbnN0YWxsbWFuCi0tCVwkKFJVTl9QRVJMKSBpbnN0YWxscGVybCAtLWRlc3RkaXI9XCQoREVTVERJUikgJGZsYWdzIFwkKElOU1RBTExGTEFHUykgXCQoU1RSSVBGTEFHUykKLS0JXCQoUlVOX1BFUkwpIGluc3RhbGxtYW4gLS1kZXN0ZGlyPVwkKERFU1RESVIpICRmbGFncwotKwkuL2hvc3RwZXJsIC1JZmFrZV9jb25maWdfbGlicmFyeSAtSWxpYiAtTUNvbmZpZyBpbnN0YWxscGVybCAtLWRlc3RkaXI9XCQoREVTVERJUikgJGZsYWdzICBcJChJTlNUQUxMRkxBR1MpIFwkKFNUUklQRkxBR1MpCi0gRU9UCi0gICAgIGZpCi0gCi1AQCAtMTE0NCwxMSArMTE1Myw3IEBAIGRvbmUKLSBpZiB0ZXN0ICJYJGhvc3RwZXJsIiAhPSBYOyB0aGVuCi0gCSRzcGl0c2hlbGwgPj4kTWFrZWZpbGUgPDwnIU5PIVNVQlMhJwotIGluc3RhbGwucGVybDoJJChJTlNUQUxMX0RFUEVOREVOQ0UpIGluc3RhbGxwZXJsCi0tCSQoSE9TVF9QRVJMKSBpbnN0YWxscGVybCAtLWRlc3RkaXI9JChERVNURElSKSAkKElOU1RBTExGTEFHUykgJChTVFJJUEZMQUdTKQotLQktQHRlc3QgISAtcyBleHRyYXMubHN0IHx8ICQoTUFLRSkgZXh0cmFzLmluc3RhbGwKLS0KLS1pbnN0YWxsLm1hbjoJYWxsIGluc3RhbGxtYW4KLS0JJChIT1NUX1BFUkwpIGluc3RhbGxtYW4gLS1kZXN0ZGlyPSQoREVTVERJUikgJChJTlNUQUxMRkxBR1MpCi0rCS4vaG9zdHBlcmwgLUlmYWtlX2NvbmZpZ19saWJyYXJ5IC1JbGliIC1NQ29uZmlnIGluc3RhbGxwZXJsIC0tZGVzdGRpcj0kKERFU1RESVIpICQoSU5TVEFMTEZMQUdTKSAkKFNUUklQRkxBR1MpCi0gCi0gIyBYWFggRXhwZXJpbWVudGFsLiBIYXJkd2lyZWQgdmFsdWVzLCBidXQgdXNlZnVsIGZvciB0ZXN0aW5nLgotICMgRXZlbnR1YWxseSBDb25maWd1cmUgY291bGQgYXNrIGZvciBzb21lIG9mIHRoZXNlIHZhbHVlcy4KLUBAIC0xMTY2LDI0ICsxMTcxLDggQEAgaW5zdGFsbC5odG1sOiBhbGwgaW5zdGFsbGh0bWwKLSBlbHNlCi0gCSRzcGl0c2hlbGwgPj4kTWFrZWZpbGUgPDwnIU5PIVNVQlMhJwotIGluc3RhbGwucGVybDoJJChJTlNUQUxMX0RFUEVOREVOQ0UpIGluc3RhbGxwZXJsCi0tCSQoUlVOX1BFUkwpIGluc3RhbGxwZXJsIC0tZGVzdGRpcj0kKERFU1RESVIpICQoSU5TVEFMTEZMQUdTKSAkKFNUUklQRkxBR1MpCi0tCS1AdGVzdCAhIC1zIGV4dHJhcy5sc3QgfHwgUEFUSD0iYHB3ZGA6XCR7UEFUSH0iIFBFUkw1TElCPSJgcHdkYC9saWIiIFwkKFJVTl9QRVJMKSAtSWxpYiAtTUNQQU4gLWUgJ0BBUkdWJiZpbnN0YWxsKEBBUkdWKScgYGNhdCBleHRyYXMubHN0YAotLQotLWluc3RhbGwubWFuOglhbGwgaW5zdGFsbG1hbgotLQkkKFJVTl9QRVJMKSBpbnN0YWxsbWFuIC0tZGVzdGRpcj0kKERFU1RESVIpICQoSU5TVEFMTEZMQUdTKQotKwkuL2hvc3RwZXJsIC1JZmFrZV9jb25maWdfbGlicmFyeSAtSWxpYiAtTUNvbmZpZyBpbnN0YWxscGVybCAtLWRlc3RkaXI9JChERVNURElSKSAkKElOU1RBTExGTEFHUykgJChTVFJJUEZMQUdTKQotIAotLSMgWFhYIEV4cGVyaW1lbnRhbC4gSGFyZHdpcmVkIHZhbHVlcywgYnV0IHVzZWZ1bCBmb3IgdGVzdGluZy4KLS0jIEV2ZW50dWFsbHkgQ29uZmlndXJlIGNvdWxkIGFzayBmb3Igc29tZSBvZiB0aGVzZSB2YWx1ZXMuCi0taW5zdGFsbC5odG1sOiBhbGwgaW5zdGFsbGh0bWwKLS0JLUB0ZXN0IC1mIFJFQURNRS52bXMgJiYgY2Qgdm1zICYmICQoTE5TKSAuLi9SRUFETUUudm1zIFJFQURNRV92bXMucG9kICYmIGNkIC4uCi0tCSQoUlVOX1BFUkwpIGluc3RhbGxodG1sICAgXAotLSAgICAgIC0tcG9kcm9vdD0uIC0tcG9kcGF0aD0uIC0tcmVjdXJzZSAgXAotLSAgICAgIC0taHRtbGRpcj0kKHByaXZsaWIpL2h0bWwgICBcCi0tICAgICAgLS1odG1scm9vdD0kKHByaXZsaWIpL2h0bWwgIFwKLS0gICAgICAtLXNwbGl0aGVhZD1wb2QvcGVybGlwYyAgICAgXAotLSAgICAgIC0tc3BsaXRpdGVtPXBvZC9wZXJsZnVuYyAgICBcCi0tICAgICAgLS1pZ25vcmU9UG9ydGluZy9NYWludGFpbmVycy5wbSxQb3J0aW5nL3B1bXBraW4ucG9kLFBvcnRpbmcvcmVwb3NpdG9yeS5wb2QgXAotLSAgICAgIC0tdmVyYm9zZQotICFOTyFTVUJTIQotIGZpCi0gCi1AQCAtMTI3NSwxMyArMTI2NCwxMyBAQCBtYW5pY2hlY2s6CUZPUkNFCi0gIwotICMgRHluYUxvYWRlciBtYXkgYmUgbmVlZGVkIGZvciBleHRlbnNpb25zIHRoYXQgdXNlIE1ha2VmaWxlLlBMLgotIAotLSQoRFlOQUxPQURFUik6CSQoTUlOSVBFUkxfRVhFKSBsaWIvYnVpbGRjdXN0b21pemUucGwgcHJlcGxpYnJhcnkgRk9SQ0UgJChub254c19leHQpCi0rJChEWU5BTE9BREVSKTogbGliL2J1aWxkY3VzdG9taXplLnBsIHByZXBsaWJyYXJ5IEZPUkNFICQobm9ueHNfZXh0KQotIAkkKE1JTklQRVJMKSBtYWtlX2V4dC5wbCAkQCAkKE1BS0VfRVhUX0FSR1MpIE1BS0U9IiQoTUFLRSkiIExJQlBFUkxfQT0kKExJQlBFUkwpIExJTktUWVBFPXN0YXRpYyAkKFNUQVRJQ19MREZMQUdTKQotIAotLWRfZHVtbXkgJChkeW5hbWljX2V4dCk6CSQoTUlOSVBFUkxfRVhFKSBsaWIvYnVpbGRjdXN0b21pemUucGwgcHJlcGxpYnJhcnkgbWFrZXBwcG9ydCAkKERZTkFMT0FERVIpIEZPUkNFICQoUEVSTEVYUE9SVCkgJChMSUJQRVJMKQotK2RfZHVtbXkgJChkeW5hbWljX2V4dCk6CWxpYi9idWlsZGN1c3RvbWl6ZS5wbCBwcmVwbGlicmFyeSBtYWtlcHBwb3J0ICQoRFlOQUxPQURFUikgRk9SQ0UgJChQRVJMRVhQT1JUKSAkKExJQlBFUkwpCi0gCSQoTUlOSVBFUkwpIG1ha2VfZXh0LnBsICRAICQoTUFLRV9FWFRfQVJHUykgTUFLRT0iJChNQUtFKSIgTElCUEVSTF9BPSQoTElCUEVSTCkgTElOS1RZUEU9ZHluYW1pYwotIAotLXNfZHVtbXkgJChzdGF0aWNfZXh0KToJJChNSU5JUEVSTF9FWEUpIGxpYi9idWlsZGN1c3RvbWl6ZS5wbCBwcmVwbGlicmFyeSBtYWtlcHBwb3J0ICQoRFlOQUxPQURFUikgRk9SQ0UKLStzX2R1bW15ICQoc3RhdGljX2V4dCk6CWxpYi9idWlsZGN1c3RvbWl6ZS5wbCBwcmVwbGlicmFyeSBtYWtlcHBwb3J0ICQoRFlOQUxPQURFUikgRk9SQ0UKLSAJJChNSU5JUEVSTCkgbWFrZV9leHQucGwgJEAgJChNQUtFX0VYVF9BUkdTKSBNQUtFPSIkKE1BS0UpIiBMSUJQRVJMX0E9JChMSUJQRVJMKSBMSU5LVFlQRT1zdGF0aWMgJChTVEFUSUNfTERGTEFHUykKLSAKLSBuX2R1bW15ICQobm9ueHNfZXh0KToJJChNSU5JUEVSTF9FWEUpIGxpYi9idWlsZGN1c3RvbWl6ZS5wbCBwcmVwbGlicmFyeSBGT1JDRQotQEAgLTE0NzksMTQgKzE0NjgsMTQgQEAgdGVzdF9wcmVwX3ByZTogcHJlcGxpYnJhcnkgdXRpbGl0aWVzICQobgotIAotIGNhc2UgIiR0YXJnZXRob3N0IiBpbgotICcnKSAkc3BpdHNoZWxsID4+JE1ha2VmaWxlIDw8JyFOTyFTVUJTIScKLS10ZXN0X3ByZXAgdGVzdC1wcmVwOiB0ZXN0X3ByZXBfcHJlICQoTUlOSVBFUkxfRVhFKSAkKHVuaWRhdGFmaWxlcykgJChQRVJMX0VYRSkgXAotK3Rlc3RfcHJlcCB0ZXN0LXByZXA6IHRlc3RfcHJlcF9wcmUgJCh1bmlkYXRhZmlsZXMpICQoUEVSTF9FWEUpIFwKLSAJJChkeW5hbWljX2V4dCkgJChURVNUX1BFUkxfRExMKSBydW50ZXN0cyAkKGdlbmVyYXRlZF9wb2RzKQotIAljZCB0ICYmIChybSAtZiAkKFBFUkxfRVhFKTsgJChMTlMpIC4uLyQoUEVSTF9FWEUpICQoUEVSTF9FWEUpKQotIAotICFOTyFTVUJTIQotIDs7Ci0gKikgJHNwaXRzaGVsbCA+PiRNYWtlZmlsZSA8PCFHUk9LIVRISVMhCi0tdGVzdF9wcmVwIHRlc3QtcHJlcDogdGVzdF9wcmVwX3ByZSBcJChNSU5JUEVSTF9FWEUpIFwkKHVuaWRhdGFmaWxlcykgXCQoUEVSTF9FWEUpIFwKLSt0ZXN0X3ByZXAgdGVzdC1wcmVwOiB0ZXN0X3ByZXBfcHJlIFwkKHVuaWRhdGFmaWxlcykgXCQoUEVSTF9FWEUpIFwKLSAJXCQoZHluYW1pY19leHQpIFwkKFRFU1RfUEVSTF9ETEwpIHJ1bnRlc3RzIFwKLSAJXCQoZ2VuZXJhdGVkX3BvZHMpCi0gCSR0byBsaWJwZXJsLioKLUBAIC0xNTM5LDcgKzE1MjgsNyBAQCB0ZXN0X3ByZXAgdGVzdC1wcmVwOiB0ZXN0X3ByZXBfcHJlIFwkKE1JCi0gZXNhYwotIAotICRzcGl0c2hlbGwgPj4kTWFrZWZpbGUgPDwnIU5PIVNVQlMhJwotLXRlc3RfcHJlcF9yZW9ubHk6ICQoTUlOSVBFUkxfRVhFKSAkKFBFUkxfRVhFKSAkKGR5bmFtaWNfZXh0X3JlKSAkKFRFU1RfUEVSTF9ETEwpCi0rdGVzdF9wcmVwX3Jlb25seTogJChQRVJMX0VYRSkgJChkeW5hbWljX2V4dF9yZSkgJChURVNUX1BFUkxfRExMKQotIAkkKE1JTklQRVJMKSBtYWtlX2V4dC5wbCAkKGR5bmFtaWNfZXh0X3JlKSBNQUtFPSIkKE1BS0UpIiBMSUJQRVJMX0E9JChMSUJQRVJMKSBMSU5LVFlQRT1keW5hbWljCi0gCWNkIHQgJiYgKHJtIC1mICQoUEVSTF9FWEUpOyAkKExOUykgLi4vJChQRVJMX0VYRSkgJChQRVJMX0VYRSkpCi0gIU5PIVNVQlMhCi1AQCAtMTYwMCw3ICsxNTg5LDcgQEAgbWluaXRlc3RfcHJlcDoKLSAKLSBNSU5JVEVTVF9URVNUUyA9IGJhc2UvKi50IGNvbXAvKi50IGNtZC8qLnQgcnVuLyoudCBpby8qLnQgcmUvKi50IG9wYmFzaWMvKi50IG9wLyoudCB1bmkvKi50IHBlcmYvKi50Ci0gCi0tbWluaXRlc3Q6ICQoTUlOSVBFUkxfRVhFKSBtaW5pdGVzdF9wcmVwCi0rbWluaXRlc3Q6IG1pbml0ZXN0X3ByZXAKLSAJLSBjZCB0ICYmICQoUlVOX1BFUkwpIFRFU1QgJChNSU5JVEVTVF9URVNUUykgPCQoZGV2dHR5KQotIAotIG1pbml0ZXN0LW5vdHR5IG1pbml0ZXN0X25vdHR5OiAkKE1JTklQRVJMX0VYRSkgbWluaXRlc3RfcHJlcApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL01ha2VmaWxlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL01ha2VmaWxlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NThlMmUxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9NYWtlZmlsZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU4ICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czpJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLQotSW5kZXg6IHBlcmwtNS4xNC4yL0Nyb3NzL01ha2VmaWxlCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gcGVybC01LjE0LjIub3JpZy9Dcm9zcy9NYWtlZmlsZQotKysrIHBlcmwtNS4xNC4yL0Nyb3NzL01ha2VmaWxlCi1AQCAtMSw2ICsxLDcgQEAKLSAjIyBUb3BsZXZlbCBNYWtlZmlsZSBmb3IgY3Jvc3MtY29tcGlsYXRpb24gb2YgcGVybAotIAotLWV4cG9ydCBUT1BESVI9JHtzaGVsbCBwd2R9Ci0rb3ZlcnJpZGUgVE9QRElSPSR7c2hlbGwgcHdkfQotK2V4cG9ydCBUT1BESVIKLSBpbmNsdWRlICQoVE9QRElSKS9jb25maWcKLSBleHBvcnQgQ0ZMQUdTCi0gZXhwb3J0IFNZUz0kKEFSQ0gpLSQoT1MpCi1AQCAtMTAsNyArMTEsNyBAQCBleHBvcnQgT1BUSU1JWkFUSU9OID0gLU8yCi0gCi0gZXhwb3J0IENDID0gJChDUk9TUylnY2MKLSBleHBvcnQgQ1hYID0gJChDUk9TUylnKysKLS1leHBvcnQgTEQgPSAkKENST1NTKWxkCi0rZXhwb3J0IExEID0gJChDQykKLSBleHBvcnQgU1RSSVAgPSAkKENST1NTKXN0cmlwCi0gZXhwb3J0IEFSID0gJChDUk9TUylhcgotIGV4cG9ydCBSQU5MSUIgPSAkKENST1NTKXJhbmxpYgotQEAgLTMyLDE3ICszMyw2IEBAIENGTEFHUys9JChGVUxMX09QVElNSVpBVElPTikKLSBhbGw6Ci0gCUBlY2hvIFBsZWFzZSByZWFkIHRoZSBSRUFETUUgZmlsZSBiZWZvcmUgZG9pbmcgYW55dGhpbmcgZWxzZS4KLSAKLS1nZW5fcGF0Y2g6Ci0tCWRpZmYgLUJidXIgLi4vTWFrZWZpbGUuU0ggTWFrZWZpbGUuU0ggPiBNYWtlZmlsZS5TSC5wYXRjaAotLQlkaWZmIC1CYnVyIC4uL2luc3RhbGxwZXJsIGluc3RhbGxwZXJsID4gaW5zdGFsbHBlcmwucGF0Y2gKLS0KLS1wYXRjaDoKLS0JY2QgLi4gOyBpZiBbICEgLWUgLi9DUk9TU19QQVRDSEVEIF0gOyB0aGVuIFwKLS0JCXBhdGNoIC1wMSA8IENyb3NzL01ha2VmaWxlLlNILnBhdGNoOyBcCi0tCQlwYXRjaCAtcDEgPCBDcm9zcy9pbnN0YWxscGVybC5wYXRjaCA7IG12IGluc3RhbGxwZXJsIGluc3RhbGxwZXJsLXBhdGNoZWQ7IFwKLS0JCXNlZCAtZSAncy9YWFNUUklQWFgvJChTWVMpLycgaW5zdGFsbHBlcmwtcGF0Y2hlZCA+IGluc3RhbGxwZXJsOyBcCi0tCQl0b3VjaCBDUk9TU19QQVRDSEVEIDsgZmkKLS0KLSBwZXJsOgotIAlAZWNobyBQZXJsIGNyb3NzLWJ1aWxkIGRpcmVjdG9yeSBpcyAkKFRPUERJUikKLSAJQGVjaG8gVGFyZ2V0IGFyY2ggaXMgJChTWVMpCi1AQCAtNTIsMTEgKzQyLDExIEBAIHBlcmw6Ci0gCSQoVE9QRElSKS9nZW5lcmF0ZV9jb25maWdfc2ggY29uZmlnLnNoLSQoU1lTKSA+ICQoVE9QRElSKS8uLi9jb25maWcuc2gKLSAJY2QgJChUT1BESVIpLy4uIDsgLi9Db25maWd1cmUgLVMgOyBtYWtlIGRlcGVuZCA7IG1ha2UgOyBtYWtlIG1vcmUKLSAJY2QgJChUT1BESVIpLy4uIDsgbWtkaXIgLXAgZmFrZV9jb25maWdfbGlicmFyeSA7IGNwIGxpYi9Db25maWcucG0gbGliL0NvbmZpZ19oZWF2eS5wbCBmYWtlX2NvbmZpZ19saWJyYXJ5Ci0tCWNkICQoVE9QRElSKS8uLiA7ICQoTUFLRSkgbW9yZTIgIlBFUkxSVU49L3Vzci9iaW4vcGVybCAtSSQoVE9QRElSKS8uLi9mYWtlX2NvbmZpZ19saWJyYXJ5IC1NQ29uZmlnIgotLQljZCAkKFRPUERJUikvLi4gOyAkKE1BS0UpIG1vcmUzICJQRVJMUlVOPS91c3IvYmluL3BlcmwgLUkkKFRPUERJUikvLi4vZmFrZV9jb25maWdfbGlicmFyeSAtTUNvbmZpZyIKLS0JY2QgJChUT1BESVIpLy4uIDsgJChNQUtFKSBtb3JlNCAiUEVSTFJVTj0vdXNyL2Jpbi9wZXJsIC1JJChUT1BESVIpLy4uL2Zha2VfY29uZmlnX2xpYnJhcnkgLU1Db25maWciCi0rCWNkICQoVE9QRElSKS8uLiA7ICQoTUFLRSkgbW9yZTIgIlBFUkxSVU49aG9zdHBlcmwgLUkkKFRPUERJUikvLi4vZmFrZV9jb25maWdfbGlicmFyeSAtTUNvbmZpZyIKLSsJY2QgJChUT1BESVIpLy4uIDsgJChNQUtFKSBtb3JlMyAiUEVSTFJVTj1ob3N0cGVybCAtSSQoVE9QRElSKS8uLi9mYWtlX2NvbmZpZ19saWJyYXJ5IC1NQ29uZmlnIgotKwljZCAkKFRPUERJUikvLi4gOyAkKE1BS0UpIG1vcmU0ICJQRVJMUlVOPWhvc3RwZXJsIC1JJChUT1BESVIpLy4uL2Zha2VfY29uZmlnX2xpYnJhcnkgLU1Db25maWciCi0gCWNkICQoVE9QRElSKS8uLiA7IHJtIC1yZiBpbnN0YWxsX21lX2hlcmUKLS0JY2QgJChUT1BESVIpLy4uIDsgbWFrZSBpbnN0YWxsLXN0cmlwCi0rIwljZCAkKFRPUERJUikvLi4gOyBtYWtlIGluc3RhbGwtc3RyaXAKLSAJY2QgJChUT1BESVIpLy4uIDsgc2ggLXggQ3Jvc3Mvd2FycAotIAotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2NvbmZpZy5zaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9jb25maWcuc2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIxYjU4MzQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2NvbmZpZy5zaAorKysgL2Rldi9udWxsCkBAIC0xLDEyNDkgKzAsMCBAQAotIyEvYmluL3NoCi0jCi0jIFRoaXMgZmlsZSB3YXMgcHJvZHVjZWQgYnkgcnVubmluZyB0aGUgQ29uZmlndXJlIHNjcmlwdC4gSXQgaG9sZHMgYWxsIHRoZQotIyBkZWZpbml0aW9ucyBmaWd1cmVkIG91dCBieSBDb25maWd1cmUuIFNob3VsZCB5b3UgbW9kaWZ5IG9uZSBvZiB0aGVzZSB2YWx1ZXMsCi0jIGRvIG5vdCBmb3JnZXQgdG8gcHJvcGFnYXRlIHlvdXIgY2hhbmdlcyBieSBydW5uaW5nICJDb25maWd1cmUgLWRlciIuIFlvdSBtYXkKLSMgaW5zdGVhZCBjaG9vc2UgdG8gcnVuIGVhY2ggb2YgdGhlIC5TSCBmaWxlcyBieSB5b3Vyc2VsZiwgb3IgIkNvbmZpZ3VyZSAtUyIuCi0jCi0KLSMgUGFja2FnZSBuYW1lICAgICAgOiBwZXJsNQotIyBTb3VyY2UgZGlyZWN0b3J5ICA6IC4KLSMgQ29uZmlndXJhdGlvbiB0aW1lOiBGcmkgTWF5ICA2IDIwOjEzOjQ2IFBEVCAyMDE2Ci0jIENvbmZpZ3VyZWQgYnkgICAgIDogT3BlbiBFbWJlZGRlZAotIyBUYXJnZXQgc3lzdGVtICAgICA6IGxpbnV4IHFlbXV4ODYtNjQgMy4xOS41LXlvY3RvLXN0YW5kYXJkICMxIHNtcCBwcmVlbXB0IHR1ZSBqdW4gMTYgMDA6Mjg6MTcgcGR0IDIwMTUgeDg2XzY0IGdudWxpbnV4Ci0KLTogQ29uZmlndXJlIGNvbW1hbmQgbGluZSBhcmd1bWVudHMuCi1jb25maWdfYXJnMD0nQ29uZmlndXJlJwotY29uZmlnX2FyZ3M9Jy1kZXMgLURvcHRpbWl6ZT0tTzIgLURteWhvc3RuYW1lPWxvY2FsaG9zdCAtRHBlcmxhZG1pbj1yb290QGxvY2FsaG9zdCAtRGNjPWdjYyAtRGNmX2J5PU9wZW4gRW1iZWRkZWQgLURpbnN0YWxscHJlZml4PUBFWEVDUFJFRklYQCAtRHByZWZpeD1ARVhFQ1BSRUZJWEAgLUR2ZW5kb3JwcmVmaXg9QEVYRUNQUkVGSVhAIC1Ec2l0ZXByZWZpeD1ARVhFQ1BSRUZJWEAgLURvdGhlcmxpYmRpcnM9QExJQkRJUkAvcGVybC81LjI0LjQgLUR1c2VzaHJwbGliIC1EdXNldGhyZWFkcyAtRHVzZWl0aHJlYWRzIC1EdXNlbGFyZ2VmaWxlcyAtVWRfZG9zdWlkIC1EZF9zZW1jdGxfc2VtdW4gLVVpX2RiIC1VaV9uZGJtIC1VaV9nZGJtIC1EaV9zaGFkb3cgLURpX3N5c2xvZyAtRG1hbjNleHQ9M3BtIC1EdXNlcGVybGlvIC1EaW5zdGFsbHVzcmJpbnBlcmwgLVViaW5jb21wYXQ1MDA1IC1VdmVyc2lvbm9ubHkgLURwYWdlcj1AVVNSQklOQC9sZXNzIC1pc3InCi1jb25maWdfYXJnYz0yOAotY29uZmlnX2FyZzE9Jy1kZXMnCi1jb25maWdfYXJnMj0nLURvcHRpbWl6ZT0tTzInCi1jb25maWdfYXJnMz0nLURteWhvc3RuYW1lPWxvY2FsaG9zdCcKLWNvbmZpZ19hcmc0PSctRHBlcmxhZG1pbj1yb290QGxvY2FsaG9zdCcKLWNvbmZpZ19hcmc1PSctRGNjPWdjYycKLWNvbmZpZ19hcmc2PSctRGNmX2J5PU9wZW4gRW1iZWRkZWQnCi1jb25maWdfYXJnNz0nLURpbnN0YWxscHJlZml4PUBFWEVDUFJFRklYQCcKLWNvbmZpZ19hcmc4PSctRHByZWZpeD1ARVhFQ1BSRUZJWEAnCi1jb25maWdfYXJnOT0nLUR2ZW5kb3JwcmVmaXg9QEVYRUNQUkVGSVhAJwotY29uZmlnX2FyZzEwPSctRHNpdGVwcmVmaXg9QEVYRUNQUkVGSVhAJwotY29uZmlnX2FyZzExPSctRG90aGVybGliZGlycz1ATElCRElSQC9wZXJsLzUuMjQuNCcKLWNvbmZpZ19hcmcxMj0nLUR1c2VzaHJwbGliJwotY29uZmlnX2FyZzEzPSctRHVzZXRocmVhZHMnCi1jb25maWdfYXJnMTQ9Jy1EdXNlaXRocmVhZHMnCi1jb25maWdfYXJnMTU9Jy1EdXNlbGFyZ2VmaWxlcycKLWNvbmZpZ19hcmcxNj0nLVVkX2Rvc3VpZCcKLWNvbmZpZ19hcmcxNz0nLURkX3NlbWN0bF9zZW11bicKLWNvbmZpZ19hcmcxOD0nLVVpX2RiJwotY29uZmlnX2FyZzE5PSctVWlfbmRibScKLWNvbmZpZ19hcmcyMD0nLVVpX2dkYm0nCi1jb25maWdfYXJnMjE9Jy1EaV9zaGFkb3cnCi1jb25maWdfYXJnMjI9Jy1EaV9zeXNsb2cnCi1jb25maWdfYXJnMjM9Jy1EbWFuM2V4dD0zcG0nCi1jb25maWdfYXJnMjQ9Jy1EdXNlcGVybGlvJwotY29uZmlnX2FyZzI1PSctRGluc3RhbGx1c3JiaW5wZXJsJwotY29uZmlnX2FyZzI2PSctVWJpbmNvbXBhdDUwMDUnCi1jb25maWdfYXJnMjc9Jy1VdmVyc2lvbm9ubHknCi1jb25maWdfYXJnMjg9Jy1EcGFnZXI9QFVTUkJJTkAvbGVzcyAtaXNyJwotCi1BdXRob3I9JycKLURhdGU9JycKLUhlYWRlcj0nJwotSWQ9JycKLUxvY2tlcj0nJwotTG9nPScnCi1SQ1NmaWxlPScnCi1SZXZpc2lvbj0nJwotU291cmNlPScnCi1TdGF0ZT0nJwotX2E9Jy5hJwotX2V4ZT0nJwotX289Jy5vJwotYWZzPSdmYWxzZScKLWFmc3Jvb3Q9Jy9hZnMnCi1hbGlnbmJ5dGVzPSc4JwotYW5zaTJrbnI9JycKLWFwaG9zdG5hbWU9JycKLWFwaV9yZXZpc2lvbj0nNScKLWFwaV9zdWJ2ZXJzaW9uPSc0JwotYXBpX3ZlcnNpb249JzI0JwotYXBpX3ZlcnNpb25zdHJpbmc9JzUuMjQuNCcKLWFyPSdhcicKLWFyY2hsaWI9J0BMSUJESVJAL3BlcmwvNS4yNC40L0BBUkNIQC10aHJlYWQtbXVsdGknCi1hcmNobGliZXhwPSdAU1RBR0lOR0RJUkBATElCRElSQC9wZXJsLzUuMjQuNC9AQVJDSEAtdGhyZWFkLW11bHRpJwotYXJjaGxpYl9leHA9J0BMSUJESVJAL3BlcmwvNS4yNC40L0BBUkNIQC10aHJlYWQtbXVsdGknCi1hcmNobmFtZTY0PScnCi1hcmNobmFtZT0nQEFSQ0hALXRocmVhZC1tdWx0aScKLWFyY2hvYmpzPScnCi1hc2N0aW1lX3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19CX1NCJwotYXdrPSdhd2snCi1iYXNlcmV2PSc1LjAnCi1iYXNoPScnCi1iaW49J0BVU1JCSU5AJwotYmluX0VMRj0nZGVmaW5lJwotYmluZXhwPSdAVVNSQklOQCcKLWJpc29uPSdiaXNvbicKLWJ5YWNjPSdieWFjYycKLWM9JycKLWNhc3RmbGFncz0nMCcKLWNhdD0nY2F0JwotY2M9J2djYycKLWNjY2RsZmxhZ3M9Jy1mUElDJwotY2NkbGZsYWdzPSctV2wsLUUgLVdsLC1ycGF0aCxATElCRElSQC9wZXJsLzUuMjQuNC9AQVJDSEAtdGhyZWFkLW11bHRpL0NPUkUnCi1jY2ZsYWdzPSctRF9SRUVOVFJBTlQgLURfR05VX1NPVVJDRSAtZndyYXB2IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0xBUkdFRklMRV9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9GT1JUSUZZX1NPVVJDRT0yJwotY2NmbGFnc191c2VsYXJnZWZpbGVzPSctRF9MQVJHRUZJTEVfU09VUkNFIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQnCi1jY25hbWU9J2djYycKLWNjc3ltYm9scz0nJwotY2N2ZXJzaW9uPScnCi1jZl9ieT0nT3BlbiBFbWJlZGRlZCcKLWNmX2VtYWlsPSdPcGVuIEVtYmVkZGVkQGxvY2FsaG9zdC5sb2NhbGRvbWFpbicKLWNmX3RpbWU9J0ZyaSBNYXkgIDYgMjA6MTM6NDYgUERUIDIwMTYnCi1jaGFyYml0cz0nOCcKLWNoYXJzaXplPScxJwotY2hncnA9JycKLWNobW9kPSdjaG1vZCcKLWNob3duPScnCi1jbG9ja3R5cGU9J2Nsb2NrX3QnCi1jb21tPSdjb21tJwotY29tcHJlc3M9JycKLWNvbnRhaW5zPSdncmVwJwotY3A9J2NwJwotY3Bpbz0nJwotY3BwPSdjcHAnCi1jcHBfc3R1ZmY9JzQyJwotY3BwY2NzeW1ib2xzPScnCi1jcHBmbGFncz0nLURfUkVFTlRSQU5UIC1EX0dOVV9TT1VSQ0UgLWZ3cmFwdiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZScKLWNwcGxhc3Q9Jy0nCi1jcHBtaW51cz0nLScKLWNwcHJ1bj0nZ2NjICAtRScKLWNwcHN0ZGluPSdnY2MgIC1FJwotY3J5cHRfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0JfQ0NTJwotY3J5cHRsaWI9JycKLWNzaD0nY3NoJwotY3Rlcm1pZF9yX3Byb3RvPScwJwotY3RpbWVfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0JfU0InCi1kX0djb252ZXJ0PSdnY3Z0KCh4KSwobiksKGIpKScKLWRfUFJJRVVsZGJsPSdkZWZpbmUnCi1kX1BSSUZVbGRibD0nZGVmaW5lJwotZF9QUklHVWxkYmw9J2RlZmluZScKLWRfUFJJWFU2ND0nZGVmaW5lJwotZF9QUklkNjQ9J2RlZmluZScKLWRfUFJJZWxkYmw9J2RlZmluZScKLWRfUFJJZmxkYmw9J2RlZmluZScKLWRfUFJJZ2xkYmw9J2RlZmluZScKLWRfUFJJaTY0PSdkZWZpbmUnCi1kX1BSSW82ND0nZGVmaW5lJwotZF9QUkl1NjQ9J2RlZmluZScKLWRfUFJJeDY0PSdkZWZpbmUnCi1kX1NDTmZsZGJsPSdkZWZpbmUnCi1kX19md2Fsaz0ndW5kZWYnCi1kX2FjY2Vzcz0nZGVmaW5lJwotZF9hY2Nlc3N4PSd1bmRlZicKLWRfYWNvc2g9J2RlZmluZScKLWRfYWludGw9J3VuZGVmJwotZF9hbGFybT0nZGVmaW5lJwotZF9hcmNobGliPSdkZWZpbmUnCi1kX2FzY3RpbWU2ND0ndW5kZWYnCi1kX2FzY3RpbWVfcj0nZGVmaW5lJwotZF9hc2luaD0nZGVmaW5lJwotZF9hdGFuaD0nZGVmaW5lJwotZF9hdG9sZj0ndW5kZWYnCi1kX2F0b2xsPSdkZWZpbmUnCi1kX2F0dHJpYnV0ZV9kZXByZWNhdGVkPSdkZWZpbmUnCi1kX2F0dHJpYnV0ZV9mb3JtYXQ9J2RlZmluZScKLWRfYXR0cmlidXRlX21hbGxvYz0nZGVmaW5lJwotZF9hdHRyaWJ1dGVfbm9ubnVsbD0nZGVmaW5lJwotZF9hdHRyaWJ1dGVfbm9yZXR1cm49J2RlZmluZScKLWRfYXR0cmlidXRlX3B1cmU9J2RlZmluZScKLWRfYXR0cmlidXRlX3VudXNlZD0nZGVmaW5lJwotZF9hdHRyaWJ1dGVfd2Fybl91bnVzZWRfcmVzdWx0PSdkZWZpbmUnCi1kX2JhY2t0cmFjZT0nZGVmaW5lJwotZF9iY21wPSdkZWZpbmUnCi1kX2Jjb3B5PSdkZWZpbmUnCi1kX2JzZD0ndW5kZWYnCi1kX2JzZGdldHBncnA9J3VuZGVmJwotZF9ic2RzZXRwZ3JwPSd1bmRlZicKLWRfYnVpbHRpbl9jaG9vc2VfZXhwcj0nZGVmaW5lJwotZF9idWlsdGluX2V4cGVjdD0nZGVmaW5lJwotZF9iemVybz0nZGVmaW5lJwotZF9jOTlfdmFyaWFkaWNfbWFjcm9zPSdkZWZpbmUnCi1kX2Nhc3RpMzI9J2RlZmluZScKLWRfY2FzdG5lZz0nZGVmaW5lJwotZF9jYnJ0PSdkZWZpbmUnCi1kX2NoYXJ2c3ByPSd1bmRlZicKLWRfY2hvd249J2RlZmluZScKLWRfY2hyb290PSdkZWZpbmUnCi1kX2Noc2l6ZT0ndW5kZWYnCi1kX2NsYXNzPSd1bmRlZicKLWRfY2xlYXJlbnY9J2RlZmluZScKLWRfY2xvc2VkaXI9J2RlZmluZScKLWRfY21zZ2hkcl9zPSdkZWZpbmUnCi1kX2NvbnN0PSdkZWZpbmUnCi1kX2NvcHlzaWduPSdkZWZpbmUnCi1kX2NvcHlzaWdubD0nZGVmaW5lJwotZF9jcGx1c3BsdXM9J3VuZGVmJwotZF9jcnlwdD0nZGVmaW5lJwotZF9jcnlwdF9yPSdkZWZpbmUnCi1kX2NzaD0ndW5kZWYnCi1kX2N0ZXJtaWQ9J2RlZmluZScKLWRfY3Rlcm1pZF9yPSd1bmRlZicKLWRfY3RpbWU2ND0ndW5kZWYnCi1kX2N0aW1lX3I9J2RlZmluZScKLWRfY3VzZXJpZD0nZGVmaW5lJwotZF9kYmxfZGlnPSdkZWZpbmUnCi1kX2RibWluaXRwcm90bz0nZGVmaW5lJwotZF9kaWZmdGltZTY0PSd1bmRlZicKLWRfZGlmZnRpbWU9J2RlZmluZScKLWRfZGlyX2RkX2ZkPSd1bmRlZicKLWRfZGlyZmQ9J2RlZmluZScKLWRfZGlybmFtbGVuPSd1bmRlZicKLWRfZGxhZGRyPSdkZWZpbmUnCi1kX2RsZXJyb3I9J2RlZmluZScKLWRfZGxvcGVuPSdkZWZpbmUnCi1kX2Rsc3ltdW49J3VuZGVmJwotZF9kb3N1aWQ9J3VuZGVmJwotZF9kcmFuZDQ4X3I9J2RlZmluZScKLWRfZHJhbmQ0OHByb3RvPSdkZWZpbmUnCi1kX2R1cDI9J2RlZmluZScKLWRfZWFjY2Vzcz0nZGVmaW5lJwotZF9lbmRncmVudD0nZGVmaW5lJwotZF9lbmRncmVudF9yPSd1bmRlZicKLWRfZW5kaGVudD0nZGVmaW5lJwotZF9lbmRob3N0ZW50X3I9J3VuZGVmJwotZF9lbmRuZW50PSdkZWZpbmUnCi1kX2VuZG5ldGVudF9yPSd1bmRlZicKLWRfZW5kcGVudD0nZGVmaW5lJwotZF9lbmRwcm90b2VudF9yPSd1bmRlZicKLWRfZW5kcHdlbnQ9J2RlZmluZScKLWRfZW5kcHdlbnRfcj0ndW5kZWYnCi1kX2VuZHNlbnQ9J2RlZmluZScKLWRfZW5kc2VydmVudF9yPSd1bmRlZicKLWRfZW9mbmJsaz0nZGVmaW5lJwotZF9lcmY9J2RlZmluZScKLWRfZXJmYz0nZGVmaW5lJwotZF9ldW5pY2U9J3VuZGVmJwotZF9leHAyPSdkZWZpbmUnCi1kX2V4cG0xPSdkZWZpbmUnCi1kX2Zhc3RzdGRpbz0ndW5kZWYnCi1kX2ZjaGRpcj0nZGVmaW5lJwotZF9mY2htb2Q9J2RlZmluZScKLWRfZmNob3duPSdkZWZpbmUnCi1kX2ZjbnRsPSdkZWZpbmUnCi1kX2ZjbnRsX2Nhbl9sb2NrPSdkZWZpbmUnCi1kX2ZkX21hY3Jvcz0nZGVmaW5lJwotZF9mZF9zZXQ9J2RlZmluZScKLWRfZmRpbT0nZGVmaW5lJwotZF9mZHNfYml0cz0nZGVmaW5lJwotZF9mZWdldHJvdW5kPSdkZWZpbmUnCi1kX2ZnZXRwb3M9J2RlZmluZScKLWRfZmluaXRlPSdkZWZpbmUnCi1kX2Zpbml0ZWw9J2RlZmluZScKLWRfZmxleGZuYW09J2RlZmluZScKLWRfZmxvY2s9J2RlZmluZScKLWRfZmxvY2twcm90bz0nZGVmaW5lJwotZF9mbWE9J2RlZmluZScKLWRfZm1heD0nZGVmaW5lJwotZF9mbWluPSdkZWZpbmUnCi1kX2Zvcms9J2RlZmluZScKLWRfZnBfY2xhc3M9J3VuZGVmJwotZF9mcF9jbGFzc2lmeT0ndW5kZWYnCi1kX2ZwX2NsYXNzbD0ndW5kZWYnCi1kX2ZwYXRoY29uZj0nZGVmaW5lJwotZF9mcGNsYXNzPSd1bmRlZicKLWRfZnBjbGFzc2lmeT0nZGVmaW5lJwotZF9mcGNsYXNzbD0ndW5kZWYnCi1kX2ZwZ2V0cm91bmQ9J3VuZGVmJwotZF9mcG9zNjRfdD0ndW5kZWYnCi1kX2ZyZXhwbD0nZGVmaW5lJwotZF9mc19kYXRhX3M9J3VuZGVmJwotZF9mc2Vla289J2RlZmluZScKLWRfZnNldHBvcz0nZGVmaW5lJwotZF9mc3RhdGZzPSdkZWZpbmUnCi1kX2ZzdGF0dmZzPSdkZWZpbmUnCi1kX2ZzeW5jPSdkZWZpbmUnCi1kX2Z0ZWxsbz0nZGVmaW5lJwotZF9mdGltZT0ndW5kZWYnCi1kX2Z1dGltZXM9J2RlZmluZScKLWRfZ2RibV9uZGJtX2hfdXNlc19wcm90b3R5cGVzPSd1bmRlZicKLWRfZ2RibW5kYm1faF91c2VzX3Byb3RvdHlwZXM9J2RlZmluZScKLWRfZ2V0YWRkcmluZm89J2RlZmluZScKLWRfZ2V0Y3dkPSdkZWZpbmUnCi1kX2dldGVzcHduYW09J3VuZGVmJwotZF9nZXRmc3N0YXQ9J3VuZGVmJwotZF9nZXRncmVudD0nZGVmaW5lJwotZF9nZXRncmVudF9yPSdkZWZpbmUnCi1kX2dldGdyZ2lkX3I9J2RlZmluZScKLWRfZ2V0Z3JuYW1fcj0nZGVmaW5lJwotZF9nZXRncnBzPSdkZWZpbmUnCi1kX2dldGhieWFkZHI9J2RlZmluZScKLWRfZ2V0aGJ5bmFtZT0nZGVmaW5lJwotZF9nZXRoZW50PSdkZWZpbmUnCi1kX2dldGhuYW1lPSdkZWZpbmUnCi1kX2dldGhvc3RieWFkZHJfcj0nZGVmaW5lJwotZF9nZXRob3N0YnluYW1lX3I9J2RlZmluZScKLWRfZ2V0aG9zdGVudF9yPSdkZWZpbmUnCi1kX2dldGhvc3Rwcm90b3M9J2RlZmluZScKLWRfZ2V0aXRpbWVyPSdkZWZpbmUnCi1kX2dldGxvZ2luPSdkZWZpbmUnCi1kX2dldGxvZ2luX3I9J2RlZmluZScKLWRfZ2V0bW50PSd1bmRlZicKLWRfZ2V0bW50ZW50PSdkZWZpbmUnCi1kX2dldG5hbWVpbmZvPSdkZWZpbmUnCi1kX2dldG5ieWFkZHI9J2RlZmluZScKLWRfZ2V0bmJ5bmFtZT0nZGVmaW5lJwotZF9nZXRuZW50PSdkZWZpbmUnCi1kX2dldG5ldGJ5YWRkcl9yPSdkZWZpbmUnCi1kX2dldG5ldGJ5bmFtZV9yPSdkZWZpbmUnCi1kX2dldG5ldGVudF9yPSdkZWZpbmUnCi1kX2dldG5ldHByb3Rvcz0nZGVmaW5lJwotZF9nZXRwYWdzej0nZGVmaW5lJwotZF9nZXRwYnluYW1lPSdkZWZpbmUnCi1kX2dldHBieW51bWJlcj0nZGVmaW5lJwotZF9nZXRwZW50PSdkZWZpbmUnCi1kX2dldHBnaWQ9J2RlZmluZScKLWRfZ2V0cGdycDI9J3VuZGVmJwotZF9nZXRwZ3JwPSdkZWZpbmUnCi1kX2dldHBwaWQ9J2RlZmluZScKLWRfZ2V0cHJpb3I9J2RlZmluZScKLWRfZ2V0cHJvdG9ieW5hbWVfcj0nZGVmaW5lJwotZF9nZXRwcm90b2J5bnVtYmVyX3I9J2RlZmluZScKLWRfZ2V0cHJvdG9lbnRfcj0nZGVmaW5lJwotZF9nZXRwcm90b3Byb3Rvcz0nZGVmaW5lJwotZF9nZXRwcnB3bmFtPSd1bmRlZicKLWRfZ2V0cHdlbnQ9J2RlZmluZScKLWRfZ2V0cHdlbnRfcj0nZGVmaW5lJwotZF9nZXRwd25hbV9yPSdkZWZpbmUnCi1kX2dldHB3dWlkX3I9J2RlZmluZScKLWRfZ2V0c2J5bmFtZT0nZGVmaW5lJwotZF9nZXRzYnlwb3J0PSdkZWZpbmUnCi1kX2dldHNlbnQ9J2RlZmluZScKLWRfZ2V0c2VydmJ5bmFtZV9yPSdkZWZpbmUnCi1kX2dldHNlcnZieXBvcnRfcj0nZGVmaW5lJwotZF9nZXRzZXJ2ZW50X3I9J2RlZmluZScKLWRfZ2V0c2VydnByb3Rvcz0nZGVmaW5lJwotZF9nZXRzcG5hbT0nZGVmaW5lJwotZF9nZXRzcG5hbV9yPSdkZWZpbmUnCi1kX2dldHRpbWVvZD0nZGVmaW5lJwotZF9nbXRpbWU2ND0ndW5kZWYnCi1kX2dtdGltZV9yPSdkZWZpbmUnCi1kX2dudWxpYmM9J2RlZmluZScKLWRfZ3JwYXNzd2Q9J2RlZmluZScKLWRfaGFzbW50b3B0PSdkZWZpbmUnCi1kX2h0b25sPSdkZWZpbmUnCi1kX2h5cG90PSdkZWZpbmUnCi1kX2lsb2diPSdkZWZpbmUnCi1kX2lsb2dibD0nZGVmaW5lJwotZF9pbmNfdmVyc2lvbl9saXN0PSd1bmRlZicKLWRfaW5kZXg9J3VuZGVmJwotZF9pbmV0YXRvbj0nZGVmaW5lJwotZF9pbmV0bnRvcD0nZGVmaW5lJwotZF9pbmV0cHRvbj0nZGVmaW5lJwotZF9pbnQ2NF90PSdkZWZpbmUnCi1kX2lwX21yZXE9J2RlZmluZScKLWRfaXBfbXJlcV9zb3VyY2U9J2RlZmluZScKLWRfaXB2Nl9tcmVxPSdkZWZpbmUnCi1kX2lwdjZfbXJlcV9zb3VyY2U9J3VuZGVmJwotZF9pc2FzY2lpPSdkZWZpbmUnCi1kX2lzYmxhbms9J2RlZmluZScKLWRfaXNmaW5pdGU9J2RlZmluZScKLWRfaXNmaW5pdGVsPSd1bmRlZicKLWRfaXNpbmY9J2RlZmluZScKLWRfaXNpbmZsPSdkZWZpbmUnCi1kX2lzbGVzcz0ndW5kZWYnCi1kX2lzbmFuPSdkZWZpbmUnCi1kX2lzbmFubD0nZGVmaW5lJwotZF9pc25vcm1hbD0nZGVmaW5lJwotZF9qMD0nZGVmaW5lJwotZF9qMGw9J2RlZmluZScKLWRfa2lsbHBnPSdkZWZpbmUnCi1kX2xjX21vbmV0YXJ5XzIwMDg9J2RlZmluZScKLWRfbGNob3duPSdkZWZpbmUnCi1kX2xkYmxfZGlnPSdkZWZpbmUnCi1kX2xkZXhwbD0nZGVmaW5lJwotZF9sZ2FtbWE9J2RlZmluZScKLWRfbGdhbW1hX3I9J2RlZmluZScKLWRfbGlibV9saWJfdmVyc2lvbj0ndW5kZWYnCi1kX2xpYm5hbWVfdW5pcXVlPSd1bmRlZicKLWRfbGluaz0nZGVmaW5lJwotZF9sbHJpbnQ9J2RlZmluZScKLWRfbGxyaW50bD0nZGVmaW5lJwotZF9sbHJvdW5kPSdkZWZpbmUnCi1kX2xscm91bmRsPSdkZWZpbmUnCi1kX2xvY2FsdGltZTY0PSd1bmRlZicKLWRfbG9jYWx0aW1lX3I9J2RlZmluZScKLWRfbG9jYWx0aW1lX3JfbmVlZHNfdHpzZXQ9J2RlZmluZScKLWRfbG9jY29udj0nZGVmaW5lJwotZF9sb2NrZj0nZGVmaW5lJwotZF9sb2cxcD0nZGVmaW5lJwotZF9sb2cyPSdkZWZpbmUnCi1kX2xvZ2I9J2RlZmluZScKLWRfbG9uZ2RibD0nZGVmaW5lJwotZF9sb25nbG9uZz0nZGVmaW5lJwotZF9scmludD0nZGVmaW5lJwotZF9scmludGw9J2RlZmluZScKLWRfbHJvdW5kPSdkZWZpbmUnCi1kX2xyb3VuZGw9J2RlZmluZScKLWRfbHNlZWtwcm90bz0nZGVmaW5lJwotZF9sc3RhdD0nZGVmaW5lJwotZF9tYWR2aXNlPSdkZWZpbmUnCi1kX21hbGxvY19nb29kX3NpemU9J3VuZGVmJwotZF9tYWxsb2Nfc2l6ZT0ndW5kZWYnCi1kX21ibGVuPSdkZWZpbmUnCi1kX21ic3Rvd2NzPSdkZWZpbmUnCi1kX21idG93Yz0nZGVmaW5lJwotZF9tZW1jaHI9J2RlZmluZScKLWRfbWVtY21wPSdkZWZpbmUnCi1kX21lbWNweT0nZGVmaW5lJwotZF9tZW1tb3ZlPSdkZWZpbmUnCi1kX21lbXNldD0nZGVmaW5lJwotZF9ta2Rpcj0nZGVmaW5lJwotZF9ta2R0ZW1wPSdkZWZpbmUnCi1kX21rZmlmbz0nZGVmaW5lJwotZF9ta3N0ZW1wPSdkZWZpbmUnCi1kX21rc3RlbXBzPSdkZWZpbmUnCi1kX21rdGltZTY0PSd1bmRlZicKLWRfbWt0aW1lPSdkZWZpbmUnCi1kX21tYXA9J2RlZmluZScKLWRfbW9kZmw9J2RlZmluZScKLWRfbW9kZmxfcG93MzJfYnVnPSd1bmRlZicKLWRfbW9kZmxwcm90bz0nZGVmaW5lJwotZF9tcHJvdGVjdD0nZGVmaW5lJwotZF9tc2c9J2RlZmluZScKLWRfbXNnX2N0cnVuYz0nZGVmaW5lJwotZF9tc2dfZG9udHJvdXRlPSdkZWZpbmUnCi1kX21zZ19vb2I9J2RlZmluZScKLWRfbXNnX3BlZWs9J2RlZmluZScKLWRfbXNnX3Byb3h5PSdkZWZpbmUnCi1kX21zZ2N0bD0nZGVmaW5lJwotZF9tc2dnZXQ9J2RlZmluZScKLWRfbXNnaGRyX3M9J2RlZmluZScKLWRfbXNncmN2PSdkZWZpbmUnCi1kX21zZ3NuZD0nZGVmaW5lJwotZF9tc3luYz0nZGVmaW5lJwotZF9tdW5tYXA9J2RlZmluZScKLWRfbXltYWxsb2M9J3VuZGVmJwotZF9uYW49J2RlZmluZScKLWRfbmRibT0nZGVmaW5lJwotZF9uZGJtX2hfdXNlc19wcm90b3R5cGVzPSd1bmRlZicKLWRfbmVhcmJ5aW50PSdkZWZpbmUnCi1kX25leHRhZnRlcj0nZGVmaW5lJwotZF9uZXh0dG93YXJkPSdkZWZpbmUnCi1kX25pY2U9J2RlZmluZScKLWRfbmxfbGFuZ2luZm89J2RlZmluZScKLWRfbnZfcHJlc2VydmVzX3V2PSd1bmRlZicKLWRfbnZfemVyb19pc19hbGxiaXRzX3plcm89J2RlZmluZScKLWRfb2ZmNjRfdD0nZGVmaW5lJwotZF9vbGRfcHRocmVhZF9jcmVhdGVfam9pbmFibGU9J3VuZGVmJwotZF9vbGRwdGhyZWFkcz0ndW5kZWYnCi1kX29sZHNvY2s9J3VuZGVmJwotZF9vcGVuMz0nZGVmaW5lJwotZF9wYXRoY29uZj0nZGVmaW5lJwotZF9wYXVzZT0nZGVmaW5lJwotZF9wZXJsX290aGVybGliZGlycz0nZGVmaW5lJwotZF9waG9zdG5hbWU9J3VuZGVmJwotZF9waXBlPSdkZWZpbmUnCi1kX3BvbGw9J2RlZmluZScKLWRfcG9ydGFibGU9J2RlZmluZScKLWRfcHJjdGw9J2RlZmluZScKLWRfcHJjdGxfc2V0X25hbWU9J2RlZmluZScKLWRfcHJpbnRmX2Zvcm1hdF9udWxsPSd1bmRlZicKLWRfcHJvY3NlbGZleGU9J2RlZmluZScKLWRfcHNldWRvZm9yaz0ndW5kZWYnCi1kX3B0aHJlYWRfYXRmb3JrPSdkZWZpbmUnCi1kX3B0aHJlYWRfYXR0cl9zZXRzY29wZT0nZGVmaW5lJwotZF9wdGhyZWFkX3lpZWxkPSdkZWZpbmUnCi1kX3B0cmRpZmZfdD0nZGVmaW5lJwotZF9wd2FnZT0ndW5kZWYnCi1kX3B3Y2hhbmdlPSd1bmRlZicKLWRfcHdjbGFzcz0ndW5kZWYnCi1kX3B3Y29tbWVudD0ndW5kZWYnCi1kX3B3ZXhwaXJlPSd1bmRlZicKLWRfcHdnZWNvcz0nZGVmaW5lJwotZF9wd3Bhc3N3ZD0nZGVmaW5lJwotZF9wd3F1b3RhPSd1bmRlZicKLWRfcWdjdnQ9J2RlZmluZScKLWRfcXVhZD0nZGVmaW5lJwotZF9yYW5kb21fcj0nZGVmaW5lJwotZF9yZV9jb21wPSd1bmRlZicKLWRfcmVhZGRpcjY0X3I9J2RlZmluZScKLWRfcmVhZGRpcj0nZGVmaW5lJwotZF9yZWFkZGlyX3I9J2RlZmluZScKLWRfcmVhZGxpbms9J2RlZmluZScKLWRfcmVhZHY9J2RlZmluZScKLWRfcmVjdm1zZz0nZGVmaW5lJwotZF9yZWdjbXA9J3VuZGVmJwotZF9yZWdjb21wPSdkZWZpbmUnCi1kX3JlbWFpbmRlcj0nZGVmaW5lJwotZF9yZW1xdW89J2RlZmluZScKLWRfcmVuYW1lPSdkZWZpbmUnCi1kX3Jld2luZGRpcj0nZGVmaW5lJwotZF9yaW50PSdkZWZpbmUnCi1kX3JtZGlyPSdkZWZpbmUnCi1kX3JvdW5kPSdkZWZpbmUnCi1kX3NhZmViY3B5PSd1bmRlZicKLWRfc2FmZW1jcHk9J3VuZGVmJwotZF9zYW5lbWNtcD0nZGVmaW5lJwotZF9zYnJrcHJvdG89J2RlZmluZScKLWRfc2NhbGJuPSdkZWZpbmUnCi1kX3NjYWxibmw9J2RlZmluZScKLWRfc2NoZWRfeWllbGQ9J2RlZmluZScKLWRfc2NtX3JpZ2h0cz0nZGVmaW5lJwotZF9zZWVrZGlyPSdkZWZpbmUnCi1kX3NlbGVjdD0nZGVmaW5lJwotZF9zZW09J2RlZmluZScKLWRfc2VtY3RsPSdkZWZpbmUnCi1kX3NlbWN0bF9zZW1pZF9kcz0nZGVmaW5lJwotZF9zZW1jdGxfc2VtdW49J2RlZmluZScKLWRfc2VtZ2V0PSdkZWZpbmUnCi1kX3NlbW9wPSdkZWZpbmUnCi1kX3NlbmRtc2c9J2RlZmluZScKLWRfc2V0ZWdpZD0nZGVmaW5lJwotZF9zZXRldWlkPSdkZWZpbmUnCi1kX3NldGdyZW50PSdkZWZpbmUnCi1kX3NldGdyZW50X3I9J3VuZGVmJwotZF9zZXRncnBzPSdkZWZpbmUnCi1kX3NldGhlbnQ9J2RlZmluZScKLWRfc2V0aG9zdGVudF9yPSd1bmRlZicKLWRfc2V0aXRpbWVyPSdkZWZpbmUnCi1kX3NldGxpbmVidWY9J2RlZmluZScKLWRfc2V0bG9jYWxlPSdkZWZpbmUnCi1kX3NldGxvY2FsZV9yPSd1bmRlZicKLWRfc2V0bmVudD0nZGVmaW5lJwotZF9zZXRuZXRlbnRfcj0ndW5kZWYnCi1kX3NldHBlbnQ9J2RlZmluZScKLWRfc2V0cGdpZD0nZGVmaW5lJwotZF9zZXRwZ3JwMj0ndW5kZWYnCi1kX3NldHBncnA9J2RlZmluZScKLWRfc2V0cHJpb3I9J2RlZmluZScKLWRfc2V0cHJvY3RpdGxlPSd1bmRlZicKLWRfc2V0cHJvdG9lbnRfcj0ndW5kZWYnCi1kX3NldHB3ZW50PSdkZWZpbmUnCi1kX3NldHB3ZW50X3I9J3VuZGVmJwotZF9zZXRyZWdpZD0nZGVmaW5lJwotZF9zZXRyZXNnaWQ9J2RlZmluZScKLWRfc2V0cmVzdWlkPSdkZWZpbmUnCi1kX3NldHJldWlkPSdkZWZpbmUnCi1kX3NldHJnaWQ9J3VuZGVmJwotZF9zZXRydWlkPSd1bmRlZicKLWRfc2V0c2VudD0nZGVmaW5lJwotZF9zZXRzZXJ2ZW50X3I9J3VuZGVmJwotZF9zZXRzaWQ9J2RlZmluZScKLWRfc2V0dmJ1Zj0nZGVmaW5lJwotZF9zaG09J2RlZmluZScKLWRfc2htYXQ9J2RlZmluZScKLWRfc2htYXRwcm90b3R5cGU9J2RlZmluZScKLWRfc2htY3RsPSdkZWZpbmUnCi1kX3NobWR0PSdkZWZpbmUnCi1kX3NobWdldD0nZGVmaW5lJwotZF9zaWdhY3Rpb249J2RlZmluZScKLWRfc2lnbmJpdD0nZGVmaW5lJwotZF9zaWdwcm9jbWFzaz0nZGVmaW5lJwotZF9zaWdzZXRqbXA9J2RlZmluZScKLWRfc2luNl9zY29wZV9pZD0nZGVmaW5lJwotZF9zaXRlYXJjaD0nZGVmaW5lJwotZF9zbnByaW50Zj0nZGVmaW5lJwotZF9zb2NrYWRkcl9pbjY9J2RlZmluZScKLWRfc29ja2FkZHJfc2FfbGVuPSd1bmRlZicKLWRfc29ja2F0bWFyaz0nZGVmaW5lJwotZF9zb2NrYXRtYXJrcHJvdG89J2RlZmluZScKLWRfc29ja2V0PSdkZWZpbmUnCi1kX3NvY2tsZW5fdD0nZGVmaW5lJwotZF9zb2NrcGFpcj0nZGVmaW5lJwotZF9zb2NrczVfaW5pdD0ndW5kZWYnCi1kX3NwcmludGZfcmV0dXJuc19zdHJsZW49J2RlZmluZScKLWRfc3FydGw9J2RlZmluZScKLWRfc3JhbmQ0OF9yPSdkZWZpbmUnCi1kX3NyYW5kb21fcj0nZGVmaW5lJwotZF9zcmVzZ3Byb3RvPSdkZWZpbmUnCi1kX3NyZXN1cHJvdG89J2RlZmluZScKLWRfc3RhdD0nZGVmaW5lJwotZF9zdGF0Ymxrcz0nZGVmaW5lJwotZF9zdGF0ZnNfZl9mbGFncz0nZGVmaW5lJwotZF9zdGF0ZnNfcz0nZGVmaW5lJwotZF9zdGF0aWNfaW5saW5lPSdkZWZpbmUnCi1kX3N0YXR2ZnM9J2RlZmluZScKLWRfc3RkaW9fY250X2x2YWw9J3VuZGVmJwotZF9zdGRpb19wdHJfbHZhbD0ndW5kZWYnCi1kX3N0ZGlvX3B0cl9sdmFsX25vY2hhbmdlX2NudD0ndW5kZWYnCi1kX3N0ZGlvX3B0cl9sdmFsX3NldHNfY250PSd1bmRlZicKLWRfc3RkaW9fc3RyZWFtX2FycmF5PSd1bmRlZicKLWRfc3RkaW9iYXNlPSd1bmRlZicKLWRfc3Rkc3RkaW89J3VuZGVmJwotZF9zdHJjaHI9J2RlZmluZScKLWRfc3RyY29sbD0nZGVmaW5lJwotZF9zdHJjdGNweT0nZGVmaW5lJwotZF9zdHJlcnJtPSdzdHJlcnJvcihlKScKLWRfc3RyZXJyb3I9J2RlZmluZScKLWRfc3RyZXJyb3Jfcj0nZGVmaW5lJwotZF9zdHJmdGltZT0nZGVmaW5lJwotZF9zdHJsY2F0PSd1bmRlZicKLWRfc3RybGNweT0ndW5kZWYnCi1kX3N0cnRvZD0nZGVmaW5lJwotZF9zdHJ0b2w9J2RlZmluZScKLWRfc3RydG9sZD0nZGVmaW5lJwotZF9zdHJ0b2xsPSdkZWZpbmUnCi1kX3N0cnRvcT0nZGVmaW5lJwotZF9zdHJ0b3VsPSdkZWZpbmUnCi1kX3N0cnRvdWxsPSdkZWZpbmUnCi1kX3N0cnRvdXE9J2RlZmluZScKLWRfc3RyeGZybT0nZGVmaW5lJwotZF9zdWlkc2FmZT0ndW5kZWYnCi1kX3N5bWxpbms9J2RlZmluZScKLWRfc3lzY2FsbD0nZGVmaW5lJwotZF9zeXNjYWxscHJvdG89J2RlZmluZScKLWRfc3lzY29uZj0nZGVmaW5lJwotZF9zeXNlcm5sc3Q9JycKLWRfc3lzZXJybHN0PSdkZWZpbmUnCi1kX3N5c3RlbT0nZGVmaW5lJwotZF90Y2dldHBncnA9J2RlZmluZScKLWRfdGNzZXRwZ3JwPSdkZWZpbmUnCi1kX3RlbGxkaXI9J2RlZmluZScKLWRfdGVsbGRpcnByb3RvPSdkZWZpbmUnCi1kX3RnYW1tYT0nZGVmaW5lJwotZF90aW1lPSdkZWZpbmUnCi1kX3RpbWVnbT0nZGVmaW5lJwotZF90aW1lcz0nZGVmaW5lJwotZF90bV90bV9nbXRvZmY9J2RlZmluZScKLWRfdG1fdG1fem9uZT0nZGVmaW5lJwotZF90bXBuYW1fcj0nZGVmaW5lJwotZF90cnVuYz0nZGVmaW5lJwotZF90cnVuY2F0ZT0nZGVmaW5lJwotZF90cnVuY2w9J2RlZmluZScKLWRfdHR5bmFtZV9yPSdkZWZpbmUnCi1kX3R6bmFtZT0nZGVmaW5lJwotZF91MzJhbGlnbj0nZGVmaW5lJwotZF91YWxhcm09J2RlZmluZScKLWRfdW1hc2s9J2RlZmluZScKLWRfdW5hbWU9J2RlZmluZScKLWRfdW5pb25fc2VtdW49J3VuZGVmJwotZF91bm9yZGVyZWQ9J3VuZGVmJwotZF91bnNldGVudj0nZGVmaW5lJwotZF91c2xlZXA9J2RlZmluZScKLWRfdXNsZWVwcHJvdG89J2RlZmluZScKLWRfdXN0YXQ9J2RlZmluZScKLWRfdmVuZG9yYXJjaD0nZGVmaW5lJwotZF92ZW5kb3JiaW49J2RlZmluZScKLWRfdmVuZG9ybGliPSdkZWZpbmUnCi1kX3ZlbmRvcnNjcmlwdD0nZGVmaW5lJwotZF92Zm9yaz0ndW5kZWYnCi1kX3ZvaWRfY2xvc2VkaXI9J3VuZGVmJwotZF92b2lkc2lnPSdkZWZpbmUnCi1kX3ZvaWR0dHk9JycKLWRfdm9sYXRpbGU9J2RlZmluZScKLWRfdnByaW50Zj0nZGVmaW5lJwotZF92c25wcmludGY9J2RlZmluZScKLWRfd2FpdDQ9J2RlZmluZScKLWRfd2FpdHBpZD0nZGVmaW5lJwotZF93Y3NjbXA9J2RlZmluZScKLWRfd2NzdG9tYnM9J2RlZmluZScKLWRfd2NzeGZybT0nZGVmaW5lJwotZF93Y3RvbWI9J2RlZmluZScKLWRfd3JpdGV2PSdkZWZpbmUnCi1kX3hlbml4PSd1bmRlZicKLWRhdGU9J2RhdGUnCi1kYl9oYXNodHlwZT0ndV9pbnQzMl90JwotZGJfcHJlZml4dHlwZT0nc2l6ZV90JwotZGJfdmVyc2lvbl9tYWpvcj0nJwotZGJfdmVyc2lvbl9taW5vcj0nJwotZGJfdmVyc2lvbl9wYXRjaD0nJwotZGlyZW50cnl0eXBlPSdzdHJ1Y3QgZGlyZW50JwotZGxleHQ9J3NvJwotZGxzcmM9J2RsX2Rsb3Blbi54cycKLWRvdWJsZWluZmJ5dGVzPScweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGYwLCAweDdmJwotZG91Ymxla2luZD0nMycKLWRvdWJsZW1hbnRiaXRzPSc1MicKLWRvdWJsZW5hbmJ5dGVzPScweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGY4LCAweGZmJwotZG91Ymxlc2l6ZT0nOCcKLWRyYW5kMDE9J1BlcmxfZHJhbmQ0OCgpJwotZHJhbmQ0OF9yX3Byb3RvPSdSRUVOVFJBTlRfUFJPVE9fSV9TVCcKLWR0cmFjZT0nJwotZHRyYWNlb2JqZWN0PScnCi1keW5hbWljX2V4dD0nQiBDb21wcmVzcy9SYXcvQnppcDIgQ29tcHJlc3MvUmF3L1psaWIgQ3dkIERhdGEvRHVtcGVyIERldmVsL1BQUG9ydCBEZXZlbC9QZWVrIERpZ2VzdC9NRDUgRGlnZXN0L1NIQSBFbmNvZGUgRmNudGwgRmlsZS9Eb3NHbG9iIEZpbGUvR2xvYiBGaWx0ZXIvVXRpbC9DYWxsIEhhc2gvVXRpbCBIYXNoL1V0aWwvRmllbGRIYXNoIEkxOE4vTGFuZ2luZm8gSU8gSVBDL1N5c1YgTGlzdC9VdGlsIE1JTUUvQmFzZTY0IE1hdGgvQmlnSW50L0Zhc3RDYWxjIE5EQk1fRmlsZSBPREJNX0ZpbGUgT3Bjb2RlIFBPU0lYIFBlcmxJTy9lbmNvZGluZyBQZXJsSU8vbW1hcCBQZXJsSU8vc2NhbGFyIFBlcmxJTy92aWEgU0RCTV9GaWxlIFNvY2tldCBTdG9yYWJsZSBTeXMvSG9zdG5hbWUgU3lzL1N5c2xvZyBUaWUvSGFzaC9OYW1lZENhcHR1cmUgVGltZS9IaVJlcyBUaW1lL1BpZWNlIFVuaWNvZGUvQ29sbGF0ZSBYUy9BUEl0ZXN0IFhTL1R5cGVtYXAgYXJ5YmFzZSBhdHRyaWJ1dGVzIG1ybyByZSB0aHJlYWRzIHRocmVhZHMvc2hhcmVkJwotZWFnYWluPSdFQUdBSU4nCi1lYmNkaWM9J3VuZGVmJwotZWNobz0nZWNobycKLWVncmVwPSdlZ3JlcCcKLWVtYWNzPScnCi1lbmRncmVudF9yX3Byb3RvPScwJwotZW5kaG9zdGVudF9yX3Byb3RvPScwJwotZW5kbmV0ZW50X3JfcHJvdG89JzAnCi1lbmRwcm90b2VudF9yX3Byb3RvPScwJwotZW5kcHdlbnRfcl9wcm90bz0nMCcKLWVuZHNlcnZlbnRfcl9wcm90bz0nMCcKLWV1bmljZWZpeD0nOicKLWV4ZV9leHQ9JycKLWV4cHI9J2V4cHInCi1leHRlbnNpb25zPSdCIENvbXByZXNzL1Jhdy9CemlwMiBDb21wcmVzcy9SYXcvWmxpYiBDd2QgRGF0YS9EdW1wZXIgRGV2ZWwvUFBQb3J0IERldmVsL1BlZWsgRGlnZXN0L01ENSBEaWdlc3QvU0hBIEVuY29kZSBGY250bCBGaWxlL0Rvc0dsb2IgRmlsZS9HbG9iIEZpbHRlci9VdGlsL0NhbGwgSGFzaC9VdGlsIEhhc2gvVXRpbC9GaWVsZEhhc2ggSTE4Ti9MYW5naW5mbyBJTyBJUEMvU3lzViBMaXN0L1V0aWwgTUlNRS9CYXNlNjQgTWF0aC9CaWdJbnQvRmFzdENhbGMgTkRCTV9GaWxlIE9EQk1fRmlsZSBPcGNvZGUgUE9TSVggUGVybElPL2VuY29kaW5nIFBlcmxJTy9tbWFwIFBlcmxJTy9zY2FsYXIgUGVybElPL3ZpYSBTREJNX0ZpbGUgU29ja2V0IFN0b3JhYmxlIFN5cy9Ib3N0bmFtZSBTeXMvU3lzbG9nIFRpZS9IYXNoL05hbWVkQ2FwdHVyZSBUaW1lL0hpUmVzIFRpbWUvUGllY2UgVW5pY29kZS9Db2xsYXRlIFhTL0FQSXRlc3QgWFMvVHlwZW1hcCBhcnliYXNlIGF0dHJpYnV0ZXMgbXJvIHJlIHRocmVhZHMgdGhyZWFkcy9zaGFyZWQgQXJjaGl2ZS9UYXIgQXR0cmlidXRlL0hhbmRsZXJzIEF1dG9Mb2FkZXIgQi9EZWJ1ZyBDUEFOIENQQU4vTWV0YSBDUEFOL01ldGEvUmVxdWlyZW1lbnRzIENQQU4vTWV0YS9ZQU1MIENhcnAgQ29uZmlnL1BlcmwvViBEZXZlbC9TZWxmU3R1YmJlciBEaWdlc3QgRHVtcHZhbHVlIEVudiBFcnJubyBFeHBvcnRlciBFeHRVdGlscy9DQnVpbGRlciBFeHRVdGlscy9Db21tYW5kIEV4dFV0aWxzL0NvbnN0YW50IEV4dFV0aWxzL0luc3RhbGwgRXh0VXRpbHMvTWFrZU1ha2VyIEV4dFV0aWxzL01hbmlmZXN0IEV4dFV0aWxzL01pbmlwZXJsIEV4dFV0aWxzL1BhcnNlWFMgRmlsZS9GZXRjaCBGaWxlL0ZpbmQgRmlsZS9QYXRoIEZpbGUvVGVtcCBGaWxlQ2FjaGUgRmlsdGVyL1NpbXBsZSBHZXRvcHQvTG9uZyBIVFRQL1RpbnkgSTE4Ti9Db2xsYXRlIEkxOE4vTGFuZ1RhZ3MgSU8vQ29tcHJlc3MgSU8vU29ja2V0L0lQIElPL1psaWIgSVBDL0NtZCBJUEMvT3BlbjMgSlNPTi9QUCBMb2NhbGUvQ29kZXMgTG9jYWxlL01ha2V0ZXh0IExvY2FsZS9NYWtldGV4dC9TaW1wbGUgTWF0aC9CaWdJbnQgTWF0aC9CaWdSYXQgTWF0aC9Db21wbGV4IE1lbW9pemUgTW9kdWxlL0NvcmVMaXN0IE1vZHVsZS9Mb2FkIE1vZHVsZS9Mb2FkL0NvbmRpdGlvbmFsIE1vZHVsZS9Mb2FkZWQgTW9kdWxlL01ldGFkYXRhIE5FWFQgTmV0L1BpbmcgUGFyYW1zL0NoZWNrIFBhcnNlL0NQQU4vTWV0YSBQZXJsL09TVHlwZSBQZXJsSU8vdmlhL1F1b3RlZFByaW50IFBvZC9DaGVja2VyIFBvZC9Fc2NhcGVzIFBvZC9GdW5jdGlvbnMgUG9kL0h0bWwgUG9kL1BhcnNlciBQb2QvUGVybGRvYyBQb2QvU2ltcGxlIFBvZC9Vc2FnZSBTYWZlIFNlYXJjaC9EaWN0IFNlbGZMb2FkZXIgVGVybS9BTlNJQ29sb3IgVGVybS9DYXAgVGVybS9Db21wbGV0ZSBUZXJtL1JlYWRMaW5lIFRlc3QgVGVzdC9IYXJuZXNzIFRlc3QvU2ltcGxlIFRleHQvQWJicmV2IFRleHQvQmFsYW5jZWQgVGV4dC9QYXJzZVdvcmRzIFRleHQvVGFicyBUaHJlYWQvUXVldWUgVGhyZWFkL1NlbWFwaG9yZSBUaWUvRmlsZSBUaWUvTWVtb2l6ZSBUaWUvUmVmSGFzaCBUaW1lL0xvY2FsIFVuaWNvZGUvTm9ybWFsaXplIFhTTG9hZGVyIGF1dG9kaWUgYXV0b3VzZSBiYXNlIGJpZ251bSBjb25zdGFudCBlbmNvZGluZy93YXJuaW5ncyBleHBlcmltZW50YWwgaWYgbGliIGxpYm5ldCBwYXJlbnQgcGVybGZhcSBwb2RsYXRvcnMgdmVyc2lvbicKLWV4dGVybl9DPSdleHRlcm4nCi1leHRyYXM9JycKLWZmbHVzaE5VTEw9J2RlZmluZScKLWZmbHVzaGFsbD0ndW5kZWYnCi1maW5kPScnCi1maXJzdG1ha2VmaWxlPSdtYWtlZmlsZScKLWZsZXg9JycKLWZwb3NzaXplPScxNicKLWZwb3N0eXBlPSdmcG9zX3QnCi1mcmVldHlwZT0ndm9pZCcKLWZyb209JzonCi1mdWxsX2FyPSdhcicKLWZ1bGxfY3NoPSdjc2gnCi1mdWxsX3NlZD0nc2VkJwotZ2NjYW5zaXBlZGFudGljPScnCi1nY2Nvc2FuZHZlcnM9JycKLWdjY3ZlcnNpb249JzQuOS4yJwotZ2V0Z3JlbnRfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfU0JXUicKLWdldGdyZ2lkX3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19JX1RTQldSJwotZ2V0Z3JuYW1fcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfQ1NCV1InCi1nZXRob3N0YnlhZGRyX3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19JX1RzSVNCV1JFJwotZ2V0aG9zdGJ5bmFtZV9yX3Byb3RvPSdSRUVOVFJBTlRfUFJPVE9fSV9DU0JXUkUnCi1nZXRob3N0ZW50X3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19JX1NCV1JFJwotZ2V0bG9naW5fcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfQlcnCi1nZXRuZXRieWFkZHJfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfdUlTQldSRScKLWdldG5ldGJ5bmFtZV9yX3Byb3RvPSdSRUVOVFJBTlRfUFJPVE9fSV9DU0JXUkUnCi1nZXRuZXRlbnRfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfU0JXUkUnCi1nZXRwcm90b2J5bmFtZV9yX3Byb3RvPSdSRUVOVFJBTlRfUFJPVE9fSV9DU0JXUicKLWdldHByb3RvYnludW1iZXJfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfSVNCV1InCi1nZXRwcm90b2VudF9yX3Byb3RvPSdSRUVOVFJBTlRfUFJPVE9fSV9TQldSJwotZ2V0cHdlbnRfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfU0JXUicKLWdldHB3bmFtX3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19JX0NTQldSJwotZ2V0cHd1aWRfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfVFNCV1InCi1nZXRzZXJ2YnluYW1lX3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19JX0NDU0JXUicKLWdldHNlcnZieXBvcnRfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfSUNTQldSJwotZ2V0c2VydmVudF9yX3Byb3RvPSdSRUVOVFJBTlRfUFJPVE9fSV9TQldSJwotZ2V0c3BuYW1fcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfQ1NCV1InCi1naWRmb3JtYXQ9JyJ1IicKLWdpZHNpZ249JzEnCi1naWRzaXplPSc0JwotZ2lkdHlwZT0nZ2lkX3QnCi1nbGlicHRoPSdARVhFQ1BSRUZJWEAvc2hsaWIgIEBCQVNFTElCRElSQCBATElCRElSQCBATElCRElSQC8zODYgQEJBU0VMSUJESVJAMzg2IEBFWEVDUFJFRklYQC9jY3NAQkFTRUxJQkRJUkAgQEVYRUNQUkVGSVhAL3VjYmxpYiBARVhFQ1BSRUZJWEAvbG9jYWxAQkFTRUxJQkRJUkAgQEJBU0VMSUJESVJAIEBMSUJESVJAIEBFWEVDUFJFRklYQC9sb2NhbEBCQVNFTElCRElSQCAnCi1nbWFrZT0nZ21ha2UnCi1nbXRpbWVfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX1NfVFMnCi1nbnVsaWJjX3ZlcnNpb249JzIuMjEnCi1ncmVwPSdncmVwJwotZ3JvdXBjYXQ9J2NhdCAvZXRjL2dyb3VwJwotZ3JvdXBzdHlwZT0nZ2lkX3QnCi1nemlwPSdnemlwJwotaF9mY250bD0nZmFsc2UnCi1oX3N5c2ZpbGU9J3RydWUnCi1oaW50PSdyZWNvbW1lbmRlZCcKLWhvc3RjYXQ9J2NhdCAvZXRjL2hvc3RzJwotaG9zdGdlbmVyYXRlPScnCi1ob3N0b3NuYW1lPScnCi1ob3N0cGVybD0nJwotaHRtbDFkaXI9JyAnCi1odG1sMWRpcmV4cD0nJwotaHRtbDNkaXI9JyAnCi1odG1sM2RpcmV4cD0nJwotaTE2c2l6ZT0nMicKLWkxNnR5cGU9J3Nob3J0JwotaTMyc2l6ZT0nNCcKLWkzMnR5cGU9J2ludCcKLWk2NHNpemU9JzgnCi1pNjR0eXBlPSdsb25nJwotaThzaXplPScxJwotaTh0eXBlPSdzaWduZWQgY2hhcicKLWlfYXJwYWluZXQ9J2RlZmluZScKLWlfYXNzZXJ0PSdkZWZpbmUnCi1pX2JmZD0nZGVmaW5lJwotaV9ic2Rpb2N0bD0nJwotaV9jcnlwdD0nZGVmaW5lJwotaV9kYj0ndW5kZWYnCi1pX2RibT0nZGVmaW5lJwotaV9kaXJlbnQ9J2RlZmluZScKLWlfZGxmY249J2RlZmluZScKLWlfZXhlY2luZm89J2RlZmluZScKLWlfZmNudGw9J3VuZGVmJwotaV9mZW52PSdkZWZpbmUnCi1pX2Zsb2F0PSdkZWZpbmUnCi1pX2ZwPSd1bmRlZicKLWlfZnBfY2xhc3M9J3VuZGVmJwotaV9nZGJtPSd1bmRlZicKLWlfZ2RibV9uZGJtPSd1bmRlZicKLWlfZ2RibW5kYm09J2RlZmluZScKLWlfZ3JwPSdkZWZpbmUnCi1pX2llZWVmcD0ndW5kZWYnCi1pX2ludHR5cGVzPSdkZWZpbmUnCi1pX2xhbmdpbmZvPSdkZWZpbmUnCi1pX2xpYnV0aWw9J3VuZGVmJwotaV9saW1pdHM9J2RlZmluZScKLWlfbG9jYWxlPSdkZWZpbmUnCi1pX21hY2hjdGhyPSd1bmRlZicKLWlfbWFsbG9jPSdkZWZpbmUnCi1pX21hbGxvY21hbGxvYz0ndW5kZWYnCi1pX21hdGg9J2RlZmluZScKLWlfbWVtb3J5PSd1bmRlZicKLWlfbW50ZW50PSdkZWZpbmUnCi1pX25kYm09J3VuZGVmJwotaV9uZXRkYj0nZGVmaW5lJwotaV9uZXRlcnJubz0ndW5kZWYnCi1pX25ldGluZXR0Y3A9J2RlZmluZScKLWlfbmlpbj0nZGVmaW5lJwotaV9wb2xsPSdkZWZpbmUnCi1pX3Byb3Q9J3VuZGVmJwotaV9wdGhyZWFkPSdkZWZpbmUnCi1pX3B3ZD0nZGVmaW5lJwotaV9xdWFkbWF0aD0ndW5kZWYnCi1pX3JwY3N2Y2RibT0ndW5kZWYnCi1pX3NndHR5PSd1bmRlZicKLWlfc2hhZG93PSdkZWZpbmUnCi1pX3NvY2tzPSd1bmRlZicKLWlfc3RkYXJnPSdkZWZpbmUnCi1pX3N0ZGJvb2w9J2RlZmluZScKLWlfc3RkZGVmPSdkZWZpbmUnCi1pX3N0ZGludD0nZGVmaW5lJwotaV9zdGRsaWI9J2RlZmluZScKLWlfc3RyaW5nPSdkZWZpbmUnCi1pX3N1bm1hdGg9J3VuZGVmJwotaV9zeXNhY2Nlc3M9J3VuZGVmJwotaV9zeXNkaXI9J2RlZmluZScKLWlfc3lzZmlsZT0nZGVmaW5lJwotaV9zeXNmaWxpbz0ndW5kZWYnCi1pX3N5c2luPSd1bmRlZicKLWlfc3lzaW9jdGw9J2RlZmluZScKLWlfc3lzbG9nPSdkZWZpbmUnCi1pX3N5c21tYW49J2RlZmluZScKLWlfc3lzbW9kZT0ndW5kZWYnCi1pX3N5c21vdW50PSdkZWZpbmUnCi1pX3N5c25kaXI9J3VuZGVmJwotaV9zeXNwYXJhbT0nZGVmaW5lJwotaV9zeXNwb2xsPSdkZWZpbmUnCi1pX3N5c3Jlc3JjPSdkZWZpbmUnCi1pX3N5c3NlY3J0PSd1bmRlZicKLWlfc3lzc2VsY3Q9J2RlZmluZScKLWlfc3lzc29ja2lvPSd1bmRlZicKLWlfc3lzc3RhdD0nZGVmaW5lJwotaV9zeXNzdGF0ZnM9J2RlZmluZScKLWlfc3lzc3RhdHZmcz0nZGVmaW5lJwotaV9zeXN0aW1lPSdkZWZpbmUnCi1pX3N5c3RpbWVrPSd1bmRlZicKLWlfc3lzdGltZXM9J2RlZmluZScKLWlfc3lzdHlwZXM9J2RlZmluZScKLWlfc3lzdWlvPSdkZWZpbmUnCi1pX3N5c3VuPSdkZWZpbmUnCi1pX3N5c3V0c25hbWU9J2RlZmluZScKLWlfc3lzdmZzPSdkZWZpbmUnCi1pX3N5c3dhaXQ9J2RlZmluZScKLWlfdGVybWlvPSd1bmRlZicKLWlfdGVybWlvcz0nZGVmaW5lJwotaV90aW1lPSdkZWZpbmUnCi1pX3VuaXN0ZD0nZGVmaW5lJwotaV91c3RhdD0nZGVmaW5lJwotaV91dGltZT0nZGVmaW5lJwotaV92YWx1ZXM9J2RlZmluZScKLWlfdmFyYXJncz0ndW5kZWYnCi1pX3Zhcmhkcj0nc3RkYXJnLmgnCi1pX3Zmb3JrPSd1bmRlZicKLWlnbm9yZV92ZXJzaW9uZWRfc29saWJzPSd5JwotaW5jX3ZlcnNpb25fbGlzdD0nICcKLWluY192ZXJzaW9uX2xpc3RfaW5pdD0nMCcKLWluY3BhdGg9JycKLWluZXdzPScnCi1pbml0aWFsaW5zdGFsbGxvY2F0aW9uPSdAVVNSQklOQCcKLWluc3RhbGxhcmNobGliPSdATElCRElSQC9wZXJsLzUuMjQuNC9AQVJDSEAtdGhyZWFkLW11bHRpJwotaW5zdGFsbGJpbj0nQFVTUkJJTkAnCi1pbnN0YWxsaHRtbDFkaXI9JycKLWluc3RhbGxodG1sM2Rpcj0nJwotaW5zdGFsbG1hbjFkaXI9JycKLWluc3RhbGxtYW4zZGlyPScnCi1pbnN0YWxscHJlZml4PSdARVhFQ1BSRUZJWEAnCi1pbnN0YWxscHJlZml4ZXhwPSdARVhFQ1BSRUZJWEAnCi1pbnN0YWxscHJpdmxpYj0nQExJQkRJUkAvcGVybC81LjI0LjQnCi1pbnN0YWxsc2NyaXB0PSdAVVNSQklOQCcKLWluc3RhbGxzaXRlYXJjaD0nQExJQkRJUkAvcGVybC9zaXRlX3BlcmwvNS4yNC40L0BBUkNIQC10aHJlYWQtbXVsdGknCi1pbnN0YWxsc2l0ZWJpbj0nQFVTUkJJTkAnCi1pbnN0YWxsc2l0ZWh0bWwxZGlyPScnCi1pbnN0YWxsc2l0ZWh0bWwzZGlyPScnCi1pbnN0YWxsc2l0ZWxpYj0nQExJQkRJUkAvcGVybC9zaXRlX3BlcmwvNS4yNC40JwotaW5zdGFsbHNpdGVtYW4xZGlyPScnCi1pbnN0YWxsc2l0ZW1hbjNkaXI9JycKLWluc3RhbGxzaXRlc2NyaXB0PSdAVVNSQklOQCcKLWluc3RhbGxzdHlsZT0nbGliL3BlcmwnCi1pbnN0YWxsdXNyYmlucGVybD0nZGVmaW5lJwotaW5zdGFsbHZlbmRvcmFyY2g9J0BMSUJESVJAL3BlcmwvdmVuZG9yX3BlcmwvNS4yNC40L0BBUkNIQC10aHJlYWQtbXVsdGknCi1pbnN0YWxsdmVuZG9yYmluPSdAVVNSQklOQCcKLWluc3RhbGx2ZW5kb3JodG1sMWRpcj0nJwotaW5zdGFsbHZlbmRvcmh0bWwzZGlyPScnCi1pbnN0YWxsdmVuZG9ybGliPSdATElCRElSQC9wZXJsL3ZlbmRvcl9wZXJsLzUuMjQuNCcKLWluc3RhbGx2ZW5kb3JtYW4xZGlyPScnCi1pbnN0YWxsdmVuZG9ybWFuM2Rpcj0nJwotaW5zdGFsbHZlbmRvcnNjcmlwdD0nQFVTUkJJTkAnCi1pbnRzaXplPSc0JwotaXNzeW1saW5rPSd0ZXN0IC1oJwotaXZkZm9ybWF0PScibGQiJwotaXZzaXplPSc4JwotaXZ0eXBlPSdsb25nJwota25vd25fZXh0ZW5zaW9ucz0nQXJjaGl2ZS9UYXIgQXR0cmlidXRlL0hhbmRsZXJzIEF1dG9Mb2FkZXIgQiBCL0RlYnVnIENQQU4gQ1BBTi9NZXRhIENQQU4vTWV0YS9SZXF1aXJlbWVudHMgQ1BBTi9NZXRhL1lBTUwgQ2FycCBDb21wcmVzcy9SYXcvQnppcDIgQ29tcHJlc3MvUmF3L1psaWIgQ29uZmlnL1BlcmwvViBDd2QgREJfRmlsZSBEYXRhL0R1bXBlciBEZXZlbC9QUFBvcnQgRGV2ZWwvUGVlayBEZXZlbC9TZWxmU3R1YmJlciBEaWdlc3QgRGlnZXN0L01ENSBEaWdlc3QvU0hBIER1bXB2YWx1ZSBFbmNvZGUgRW52IEVycm5vIEV4cG9ydGVyIEV4dFV0aWxzL0NCdWlsZGVyIEV4dFV0aWxzL0NvbW1hbmQgRXh0VXRpbHMvQ29uc3RhbnQgRXh0VXRpbHMvSW5zdGFsbCBFeHRVdGlscy9NYWtlTWFrZXIgRXh0VXRpbHMvTWFuaWZlc3QgRXh0VXRpbHMvTWluaXBlcmwgRXh0VXRpbHMvUGFyc2VYUyBGY250bCBGaWxlL0Rvc0dsb2IgRmlsZS9GZXRjaCBGaWxlL0ZpbmQgRmlsZS9HbG9iIEZpbGUvUGF0aCBGaWxlL1RlbXAgRmlsZUNhY2hlIEZpbHRlci9TaW1wbGUgRmlsdGVyL1V0aWwvQ2FsbCBHREJNX0ZpbGUgR2V0b3B0L0xvbmcgSFRUUC9UaW55IEhhc2gvVXRpbCBIYXNoL1V0aWwvRmllbGRIYXNoIEkxOE4vQ29sbGF0ZSBJMThOL0xhbmdUYWdzIEkxOE4vTGFuZ2luZm8gSU8gSU8vQ29tcHJlc3MgSU8vU29ja2V0L0lQIElPL1psaWIgSVBDL0NtZCBJUEMvT3BlbjMgSVBDL1N5c1YgSlNPTi9QUCBMaXN0L1V0aWwgTG9jYWxlL0NvZGVzIExvY2FsZS9NYWtldGV4dCBMb2NhbGUvTWFrZXRleHQvU2ltcGxlIE1JTUUvQmFzZTY0IE1hdGgvQmlnSW50IE1hdGgvQmlnSW50L0Zhc3RDYWxjIE1hdGgvQmlnUmF0IE1hdGgvQ29tcGxleCBNZW1vaXplIE1vZHVsZS9Db3JlTGlzdCBNb2R1bGUvTG9hZCBNb2R1bGUvTG9hZC9Db25kaXRpb25hbCBNb2R1bGUvTG9hZGVkIE1vZHVsZS9NZXRhZGF0YSBOREJNX0ZpbGUgTkVYVCBOZXQvUGluZyBPREJNX0ZpbGUgT3Bjb2RlIFBPU0lYIFBhcmFtcy9DaGVjayBQYXJzZS9DUEFOL01ldGEgUGVybC9PU1R5cGUgUGVybElPL2VuY29kaW5nIFBlcmxJTy9tbWFwIFBlcmxJTy9zY2FsYXIgUGVybElPL3ZpYSBQZXJsSU8vdmlhL1F1b3RlZFByaW50IFBvZC9DaGVja2VyIFBvZC9Fc2NhcGVzIFBvZC9GdW5jdGlvbnMgUG9kL0h0bWwgUG9kL1BhcnNlciBQb2QvUGVybGRvYyBQb2QvU2ltcGxlIFBvZC9Vc2FnZSBTREJNX0ZpbGUgU2FmZSBTZWFyY2gvRGljdCBTZWxmTG9hZGVyIFNvY2tldCBTdG9yYWJsZSBTeXMvSG9zdG5hbWUgU3lzL1N5c2xvZyBUZXJtL0FOU0lDb2xvciBUZXJtL0NhcCBUZXJtL0NvbXBsZXRlIFRlcm0vUmVhZExpbmUgVGVzdCBUZXN0L0hhcm5lc3MgVGVzdC9TaW1wbGUgVGV4dC9BYmJyZXYgVGV4dC9CYWxhbmNlZCBUZXh0L1BhcnNlV29yZHMgVGV4dC9UYWJzIFRocmVhZC9RdWV1ZSBUaHJlYWQvU2VtYXBob3JlIFRpZS9GaWxlIFRpZS9IYXNoL05hbWVkQ2FwdHVyZSBUaWUvTWVtb2l6ZSBUaWUvUmVmSGFzaCBUaW1lL0hpUmVzIFRpbWUvTG9jYWwgVGltZS9QaWVjZSBVbmljb2RlL0NvbGxhdGUgVW5pY29kZS9Ob3JtYWxpemUgVk1TL0RDTHN5bSBWTVMvRmlsZXNwZWMgVk1TL1N0ZGlvIFdpbjMyIFdpbjMyQVBJL0ZpbGUgV2luMzJDT1JFIFhTL0FQSXRlc3QgWFMvVHlwZW1hcCBYU0xvYWRlciBhcnliYXNlIGF0dHJpYnV0ZXMgYXV0b2RpZSBhdXRvdXNlIGJhc2UgYmlnbnVtIGNvbnN0YW50IGVuY29kaW5nL3dhcm5pbmdzIGV4cGVyaW1lbnRhbCBpZiBsaWIgbGlibmV0IG1ybyBwYXJlbnQgcGVybGZhcSBwb2RsYXRvcnMgcmUgdGhyZWFkcyB0aHJlYWRzL3NoYXJlZCB2ZXJzaW9uICcKLWtzaD0nJwotbGQ9J2djYycKLWxkX2Nhbl9zY3JpcHQ9J2RlZmluZScKLWxkZGxmbGFncz0nLXNoYXJlZCAtTzInCi1sZGZsYWdzPScnCi1sZGZsYWdzX3VzZWxhcmdlZmlsZXM9JycKLWxkbGlicHRobmFtZT0nTERfTElCUkFSWV9QQVRIJwotbGVzcz0nbGVzcycKLWxpYl9leHQ9Jy5hJwotbGliYz0nbGliYy0yLjIxLnNvJwotbGlicGVybD0nbGlicGVybC5zbycKLWxpYnB0aD0nQExJQkRJUkAgQEJBU0VMSUJESVJAJwotbGlicz0nLWxwdGhyZWFkIC1sbnNsIC1sZ2RibSAtbGRiIC1sZGwgLWxtIC1sY3J5cHQgLWx1dGlsIC1sYyAtbGdkYm1fY29tcGF0JwotbGlic2RpcnM9JyBATElCRElSQCcKLWxpYnNmaWxlcz0nIGxpYnB0aHJlYWQuc28gbGlibnNsLnNvIGxpYmdkYm0uc28gbGliZGIuc28gbGliZGwuc28gbGlibS5zbyBsaWJjcnlwdC5zbyBsaWJ1dGlsLnNvIGxpYmMuc28gbGliZ2RibV9jb21wYXQuc28nCi1saWJzZm91bmQ9JyBATElCRElSQC9saWJwdGhyZWFkLnNvIEBMSUJESVJAL2xpYm5zbC5zbyBATElCRElSQC9saWJnZGJtLnNvIEBMSUJESVJAL2xpYmRiLnNvIEBMSUJESVJAL2xpYmRsLnNvIEBMSUJESVJAL2xpYm0uc28gQExJQkRJUkAvbGliY3J5cHQuc28gQExJQkRJUkAvbGlidXRpbC5zbyBATElCRElSQC9saWJjLnNvIEBMSUJESVJAL2xpYmdkYm1fY29tcGF0LnNvJwotbGlic3BhdGg9JyBATElCRElSQCBAQkFTRUxJQkRJUkAnCi1saWJzd2FudGVkPSdjbCBwdGhyZWFkIHNvY2tldCBpbmV0IG5zbCBubSBnZGJtIGRibSBkYiBtYWxsb2MgZGwgbGQgc3VuIG0gY3J5cHQgc2VjIHV0aWwgYyBjcG9zaXggcG9zaXggdWNiIEJTRCBnZGJtX2NvbXBhdCcKLWxpYnN3YW50ZWRfdXNlbGFyZ2VmaWxlcz0nJwotbGluZT0nJwotbGludD0nJwotbGtmbGFncz0nJwotbG49J2xuJwotbG5zPScvYmluL2xuIC1zJwotbG9jYWx0aW1lX3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19TX1RTJwotbG9jaW5jcHRoPSdARVhFQ1BSRUZJWEAvbG9jYWwvaW5jbHVkZSAvb3B0L2xvY2FsL2luY2x1ZGUgQEVYRUNQUkVGSVhAL2dudS9pbmNsdWRlIC9vcHQvZ251L2luY2x1ZGUgQEVYRUNQUkVGSVhAL0dOVS9pbmNsdWRlIC9vcHQvR05VL2luY2x1ZGUnCi1sb2NsaWJwdGg9J0BFWEVDUFJFRklYQC9sb2NhbEBCQVNFTElCRElSQCAvb3B0L2xvY2FsQEJBU0VMSUJESVJAIEBFWEVDUFJFRklYQC9nbnVAQkFTRUxJQkRJUkAgL29wdC9nbnVAQkFTRUxJQkRJUkAgQEVYRUNQUkVGSVhAL0dOVUBCQVNFTElCRElSQCAvb3B0L0dOVUBCQVNFTElCRElSQCcKLWxvbmdkYmxpbmZieXRlcz0nMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHg4MCwgMHhmZiwgMHg3ZiwgMHgwMCwgMHgwMCcKLWxvbmdkYmxraW5kPSczJwotbG9uZ2RibG1hbnRiaXRzPSc2NCcKLWxvbmdkYmxuYW5ieXRlcz0nMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhjMCwgMHhmZiwgMHhmZiwgMHgzMiwgMHhmNycKLWxvbmdkYmxzaXplPScxNicKLWxvbmdsb25nc2l6ZT0nOCcKLWxvbmdzaXplPSc4JwotbHA9JycKLWxwcj0nJwotbHM9J2xzJwotbHNlZWtzaXplPSc4JwotbHNlZWt0eXBlPSdvZmZfdCcKLW1haWw9JycKLW1haWx4PScnCi1tYWtlPSdtYWtlJwotbWFrZV9zZXRfbWFrZT0nIycKLW1hbGxvY29iaj0nJwotbWFsbG9jc3JjPScnCi1tYWxsb2N0eXBlPSd2b2lkIConCi1tYW4xZGlyPScgJwotbWFuMWRpcmV4cD0nJwotbWFuMWV4dD0nMCcKLW1hbjNkaXI9JyAnCi1tYW4zZGlyZXhwPScnCi1tYW4zZXh0PScwJwotbWlwc190eXBlPScnCi1taXN0cnVzdG5tPScnCi1ta2Rpcj0nbWtkaXInCi1tbWFwdHlwZT0ndm9pZCAqJwotbW9kZXR5cGU9J21vZGVfdCcKLW1vcmU9J21vcmUnCi1tdWx0aWFyY2g9J3VuZGVmJwotbXY9JycKLW15YXJjaG5hbWU9J0BBUkNIQCcKLW15ZG9tYWluPScubG9jYWxkb21haW4nCi1teWhvc3RuYW1lPSdsb2NhbGhvc3QnCi1teXVuYW1lPSdsaW51eCBxZW11eDg2LTY0IDMuMTkuNS15b2N0by1zdGFuZGFyZCAjMSBzbXAgcHJlZW1wdCB0dWUganVuIDE2IDAwOjI4OjE3IHBkdCAyMDE1IHg4Nl82NCBnbnVsaW51eCAnCi1uPSctbicKLW5lZWRfdmFfY29weT0nZGVmaW5lJwotbmV0ZGJfaGxlbl90eXBlPSdzaXplX3QnCi1uZXRkYl9ob3N0X3R5cGU9J2NoYXIgKicKLW5ldGRiX25hbWVfdHlwZT0nY29uc3QgY2hhciAqJwotbmV0ZGJfbmV0X3R5cGU9J2luX2FkZHJfdCcKLW5tPSdubScKLW5tX29wdD0nJwotbm1fc29fb3B0PSctLWR5bmFtaWMnCi1ub254c19leHQ9J0FyY2hpdmUvVGFyIEF0dHJpYnV0ZS9IYW5kbGVycyBBdXRvTG9hZGVyIEIvRGVidWcgQ1BBTiBDUEFOL01ldGEgQ1BBTi9NZXRhL1JlcXVpcmVtZW50cyBDUEFOL01ldGEvWUFNTCBDYXJwIENvbmZpZy9QZXJsL1YgRGV2ZWwvU2VsZlN0dWJiZXIgRGlnZXN0IER1bXB2YWx1ZSBFbnYgRXJybm8gRXhwb3J0ZXIgRXh0VXRpbHMvQ0J1aWxkZXIgRXh0VXRpbHMvQ29tbWFuZCBFeHRVdGlscy9Db25zdGFudCBFeHRVdGlscy9JbnN0YWxsIEV4dFV0aWxzL01ha2VNYWtlciBFeHRVdGlscy9NYW5pZmVzdCBFeHRVdGlscy9NaW5pcGVybCBFeHRVdGlscy9QYXJzZVhTIEZpbGUvRmV0Y2ggRmlsZS9GaW5kIEZpbGUvUGF0aCBGaWxlL1RlbXAgRmlsZUNhY2hlIEZpbHRlci9TaW1wbGUgR2V0b3B0L0xvbmcgSFRUUC9UaW55IEkxOE4vQ29sbGF0ZSBJMThOL0xhbmdUYWdzIElPL0NvbXByZXNzIElPL1NvY2tldC9JUCBJTy9abGliIElQQy9DbWQgSVBDL09wZW4zIEpTT04vUFAgTG9jYWxlL0NvZGVzIExvY2FsZS9NYWtldGV4dCBMb2NhbGUvTWFrZXRleHQvU2ltcGxlIE1hdGgvQmlnSW50IE1hdGgvQmlnUmF0IE1hdGgvQ29tcGxleCBNZW1vaXplIE1vZHVsZS9Db3JlTGlzdCBNb2R1bGUvTG9hZCBNb2R1bGUvTG9hZC9Db25kaXRpb25hbCBNb2R1bGUvTG9hZGVkIE1vZHVsZS9NZXRhZGF0YSBORVhUIE5ldC9QaW5nIFBhcmFtcy9DaGVjayBQYXJzZS9DUEFOL01ldGEgUGVybC9PU1R5cGUgUGVybElPL3ZpYS9RdW90ZWRQcmludCBQb2QvQ2hlY2tlciBQb2QvRXNjYXBlcyBQb2QvRnVuY3Rpb25zIFBvZC9IdG1sIFBvZC9QYXJzZXIgUG9kL1Blcmxkb2MgUG9kL1NpbXBsZSBQb2QvVXNhZ2UgU2FmZSBTZWFyY2gvRGljdCBTZWxmTG9hZGVyIFRlcm0vQU5TSUNvbG9yIFRlcm0vQ2FwIFRlcm0vQ29tcGxldGUgVGVybS9SZWFkTGluZSBUZXN0IFRlc3QvSGFybmVzcyBUZXN0L1NpbXBsZSBUZXh0L0FiYnJldiBUZXh0L0JhbGFuY2VkIFRleHQvUGFyc2VXb3JkcyBUZXh0L1RhYnMgVGhyZWFkL1F1ZXVlIFRocmVhZC9TZW1hcGhvcmUgVGllL0ZpbGUgVGllL01lbW9pemUgVGllL1JlZkhhc2ggVGltZS9Mb2NhbCBVbmljb2RlL05vcm1hbGl6ZSBYU0xvYWRlciBhdXRvZGllIGF1dG91c2UgYmFzZSBiaWdudW0gY29uc3RhbnQgZW5jb2Rpbmcvd2FybmluZ3MgZXhwZXJpbWVudGFsIGlmIGxpYiBsaWJuZXQgcGFyZW50IHBlcmxmYXEgcG9kbGF0b3JzIHZlcnNpb24nCi1ucm9mZj0nbnJvZmYnCi1udkVVZm9ybWF0PSciRSInCi1udkZVZm9ybWF0PSciRiInCi1udkdVZm9ybWF0PSciRyInCi1udl9vdmVyZmxvd3NfaW50ZWdlcnNfYXQ9JzI1Ni4wKjI1Ni4wKjI1Ni4wKjI1Ni4wKjI1Ni4wKjI1Ni4wKjIuMCoyLjAqMi4wKjIuMCoyLjAnCi1udl9wcmVzZXJ2ZXNfdXZfYml0cz0nNTMnCi1udmVmb3JtYXQ9JyJlIicKLW52ZmZvcm1hdD0nImYiJwotbnZnZm9ybWF0PSciZyInCi1udm1hbnRiaXRzPSc1MicKLW52c2l6ZT0nOCcKLW52dHlwZT0nZG91YmxlJwotb19ub25ibG9jaz0nT19OT05CTE9DSycKLW9ial9leHQ9Jy5vJwotb2xkX3B0aHJlYWRfY3JlYXRlX2pvaW5hYmxlPScnCi1vcHRpbWl6ZT0nLU8yJwotb3JkZXJsaWI9J2ZhbHNlJwotb3NuYW1lPSdsaW51eCcKLW9zdmVycz0nMy4xOS41LXlvY3RvLXN0YW5kYXJkJwotb3RoZXJsaWJkaXJzPSdATElCRElSQC9wZXJsLzUuMjQuNCcKLXBhY2thZ2U9J3BlcmwnCi1wYWdlcj0nL3Vzci9iaW4vbGVzcyAtaXNyJwotcGFzc2NhdD0nY2F0IC9ldGMvcGFzc3dkJwotcGF0Y2hsZXZlbD0nMjQnCi1wYXRoX3NlcD0nOicKLXBlcmw1PSdAVVNSQklOQC9wZXJsJwotcGVybD0ncGVybCcKLXBlcmxfcGF0Y2hsZXZlbD0nJwotcGVybF9zdGF0aWNfaW5saW5lPSdzdGF0aWMgX19pbmxpbmVfXycKLXBlcmxhZG1pbj0ncm9vdEBsb2NhbGhvc3QnCi1wZXJsbGlicz0nLWxwdGhyZWFkIC1sbnNsIC1sZGwgLWxtIC1sY3J5cHQgLWx1dGlsIC1sYycKLXBlcmxwYXRoPSdAVVNSQklOQC9wZXJsJwotcGc9J3BnJwotcGhvc3RuYW1lPScnCi1waWR0eXBlPSdwaWRfdCcKLXBsaWJwdGg9J0BMSUJESVJAIEBCQVNFTElCRElSQCcKLXBtYWtlPScnCi1wcj0nJwotcHJlZml4PSdARVhFQ1BSRUZJWEAnCi1wcmVmaXhleHA9J0BFWEVDUFJFRklYQCcKLXByaXZsaWI9J0BMSUJESVJAL3BlcmwvNS4yNC40JwotcHJpdmxpYmV4cD0nQExJQkRJUkAvcGVybC81LjI0LjQnCi1wcm9jc2VsZmV4ZT0nIi9wcm9jL3NlbGYvZXhlIicKLXByb3RvdHlwZT0nZGVmaW5lJwotcHRyc2l6ZT0nOCcKLXF1YWRraW5kPScyJwotcXVhZHR5cGU9J2xvbmcnCi1yYW5kYml0cz0nNDgnCi1yYW5kZnVuYz0nUGVybF9kcmFuZDQ4JwotcmFuZG9tX3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19JX1N0JwotcmFuZHNlZWR0eXBlPSdVMzInCi1yYW5saWI9JzonCi1yZF9ub2RhdGE9Jy0xJwotcmVhZGRpcjY0X3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19JX1RTUicKLXJlYWRkaXJfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfVFNSJwotcmV2aXNpb249JzUnCi1ybT0ncm0nCi1ybV90cnk9Jy9iaW4vcm0gLWYgdHJ5IHRyeSBhLm91dCAub3V0IHRyeS5bY2hvXSB0cnkuLm8gY29yZSBjb3JlLnRyeSogdHJ5LmNvcmUqJwotcm1haWw9JycKLXJ1bj0nJwotcnVubm09J2ZhbHNlJwotc0dNVElNRV9tYXg9JzY3NzY4MDM2MTkxNjc2Nzk5Jwotc0dNVElNRV9taW49Jy02MjE2NzIxOTIwMCcKLXNMT0NBTFRJTUVfbWF4PSc2Nzc2ODAzNjE5MTY3Njc5OScKLXNMT0NBTFRJTUVfbWluPSctNjIxNjcyMTkyMDAnCi1zUFJJRVVsZGJsPSciTEUiJwotc1BSSUZVbGRibD0nIkxGIicKLXNQUklHVWxkYmw9JyJMRyInCi1zUFJJWFU2ND0nImxYIicKLXNQUklkNjQ9JyJsZCInCi1zUFJJZWxkYmw9JyJMZSInCi1zUFJJZmxkYmw9JyJMZiInCi1zUFJJZ2xkYmw9JyJMZyInCi1zUFJJaTY0PScibGkiJwotc1BSSW82ND0nImxvIicKLXNQUkl1NjQ9JyJsdSInCi1zUFJJeDY0PScibHgiJwotc1NDTmZsZGJsPSciTGYiJwotc2NoZWRfeWllbGQ9J3NjaGVkX3lpZWxkKCknCi1zY3JpcHRkaXI9J0BVU1JCSU5AJwotc2NyaXB0ZGlyZXhwPSdAVVNSQklOQCcKLXNlZD0nc2VkJwotc2VlZGZ1bmM9J1BlcmxfZHJhbmQ0OF9pbml0Jwotc2VsZWN0bWluYml0cz0nNjQnCi1zZWxlY3R0eXBlPSdmZF9zZXQgKicKLXNlbmRtYWlsPScnCi1zZXRncmVudF9yX3Byb3RvPScwJwotc2V0aG9zdGVudF9yX3Byb3RvPScwJwotc2V0bG9jYWxlX3JfcHJvdG89JzAnCi1zZXRuZXRlbnRfcl9wcm90bz0nMCcKLXNldHByb3RvZW50X3JfcHJvdG89JzAnCi1zZXRwd2VudF9yX3Byb3RvPScwJwotc2V0c2VydmVudF9yX3Byb3RvPScwJwotc2g9Jy9iaW4vc2gnCi1zaGFyPScnCi1zaGFycGJhbmc9JyMhJwotc2htYXR0eXBlPSd2b2lkIConCi1zaG9ydHNpemU9JzInCi1zaHJwZW52PScnCi1zaHNoYXJwPSd0cnVlJwotc2lnX2NvdW50PSc2NScKLXNpZ19uYW1lPSdaRVJPIEhVUCBJTlQgUVVJVCBJTEwgVFJBUCBBQlJUIEJVUyBGUEUgS0lMTCBVU1IxIFNFR1YgVVNSMiBQSVBFIEFMUk0gVEVSTSBTVEtGTFQgQ0hMRCBDT05UIFNUT1AgVFNUUCBUVElOIFRUT1UgVVJHIFhDUFUgWEZTWiBWVEFMUk0gUFJPRiBXSU5DSCBJTyBQV1IgU1lTIE5VTTMyIE5VTTMzIFJUTUlOIE5VTTM1IE5VTTM2IE5VTTM3IE5VTTM4IE5VTTM5IE5VTTQwIE5VTTQxIE5VTTQyIE5VTTQzIE5VTTQ0IE5VTTQ1IE5VTTQ2IE5VTTQ3IE5VTTQ4IE5VTTQ5IE5VTTUwIE5VTTUxIE5VTTUyIE5VTTUzIE5VTTU0IE5VTTU1IE5VTTU2IE5VTTU3IE5VTTU4IE5VTTU5IE5VTTYwIE5VTTYxIE5VTTYyIE5VTTYzIFJUTUFYIElPVCBDTEQgUE9MTCBVTlVTRUQgJwotc2lnX25hbWVfaW5pdD0nIlpFUk8iLCAiSFVQIiwgIklOVCIsICJRVUlUIiwgIklMTCIsICJUUkFQIiwgIkFCUlQiLCAiQlVTIiwgIkZQRSIsICJLSUxMIiwgIlVTUjEiLCAiU0VHViIsICJVU1IyIiwgIlBJUEUiLCAiQUxSTSIsICJURVJNIiwgIlNUS0ZMVCIsICJDSExEIiwgIkNPTlQiLCAiU1RPUCIsICJUU1RQIiwgIlRUSU4iLCAiVFRPVSIsICJVUkciLCAiWENQVSIsICJYRlNaIiwgIlZUQUxSTSIsICJQUk9GIiwgIldJTkNIIiwgIklPIiwgIlBXUiIsICJTWVMiLCAiTlVNMzIiLCAiTlVNMzMiLCAiUlRNSU4iLCAiTlVNMzUiLCAiTlVNMzYiLCAiTlVNMzciLCAiTlVNMzgiLCAiTlVNMzkiLCAiTlVNNDAiLCAiTlVNNDEiLCAiTlVNNDIiLCAiTlVNNDMiLCAiTlVNNDQiLCAiTlVNNDUiLCAiTlVNNDYiLCAiTlVNNDciLCAiTlVNNDgiLCAiTlVNNDkiLCAiTlVNNTAiLCAiTlVNNTEiLCAiTlVNNTIiLCAiTlVNNTMiLCAiTlVNNTQiLCAiTlVNNTUiLCAiTlVNNTYiLCAiTlVNNTciLCAiTlVNNTgiLCAiTlVNNTkiLCAiTlVNNjAiLCAiTlVNNjEiLCAiTlVNNjIiLCAiTlVNNjMiLCAiUlRNQVgiLCAiSU9UIiwgIkNMRCIsICJQT0xMIiwgIlVOVVNFRCIsIDAnCi1zaWdfbnVtPScwIDEgMiAzIDQgNSA2IDcgOCA5IDEwIDExIDEyIDEzIDE0IDE1IDE2IDE3IDE4IDE5IDIwIDIxIDIyIDIzIDI0IDI1IDI2IDI3IDI4IDI5IDMwIDMxIDMyIDMzIDM0IDM1IDM2IDM3IDM4IDM5IDQwIDQxIDQyIDQzIDQ0IDQ1IDQ2IDQ3IDQ4IDQ5IDUwIDUxIDUyIDUzIDU0IDU1IDU2IDU3IDU4IDU5IDYwIDYxIDYyIDYzIDY0IDYgMTcgMjkgMzEgJwotc2lnX251bV9pbml0PScwLCAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMTcsIDE4LCAxOSwgMjAsIDIxLCAyMiwgMjMsIDI0LCAyNSwgMjYsIDI3LCAyOCwgMjksIDMwLCAzMSwgMzIsIDMzLCAzNCwgMzUsIDM2LCAzNywgMzgsIDM5LCA0MCwgNDEsIDQyLCA0MywgNDQsIDQ1LCA0NiwgNDcsIDQ4LCA0OSwgNTAsIDUxLCA1MiwgNTMsIDU0LCA1NSwgNTYsIDU3LCA1OCwgNTksIDYwLCA2MSwgNjIsIDYzLCA2NCwgNiwgMTcsIDI5LCAzMSwgMCcKLXNpZ19zaXplPSc2OScKLXNpZ25hbF90PSd2b2lkJwotc2l0ZWFyY2g9J0BMSUJESVJAL3Blcmwvc2l0ZV9wZXJsLzUuMjQuNC9AQVJDSEAtdGhyZWFkLW11bHRpJwotc2l0ZWFyY2hleHA9J0BMSUJESVJAL3Blcmwvc2l0ZV9wZXJsLzUuMjQuNC9AQVJDSEAtdGhyZWFkLW11bHRpJwotc2l0ZWJpbj0nQFVTUkJJTkAnCi1zaXRlYmluZXhwPSdAVVNSQklOQCcKLXNpdGVodG1sMWRpcj0nJwotc2l0ZWh0bWwxZGlyZXhwPScnCi1zaXRlaHRtbDNkaXI9JycKLXNpdGVodG1sM2RpcmV4cD0nJwotc2l0ZWxpYj0nQExJQkRJUkAvcGVybC9zaXRlX3BlcmwvNS4yNC40Jwotc2l0ZWxpYl9zdGVtPSdATElCRElSQC9wZXJsL3NpdGVfcGVybCcKLXNpdGVsaWJleHA9J0BMSUJESVJAL3Blcmwvc2l0ZV9wZXJsLzUuMjQuNCcKLXNpdGVtYW4xZGlyPScnCi1zaXRlbWFuMWRpcmV4cD0nJwotc2l0ZW1hbjNkaXI9JycKLXNpdGVtYW4zZGlyZXhwPScnCi1zaXRlcHJlZml4PSdARVhFQ1BSRUZJWEAnCi1zaXRlcHJlZml4ZXhwPSdARVhFQ1BSRUZJWEAnCi1zaXRlc2NyaXB0PSdAVVNSQklOQCcKLXNpdGVzY3JpcHRleHA9J0BVU1JCSU5AJwotc2l6ZXNpemU9JzgnCi1zaXpldHlwZT0nc2l6ZV90Jwotc2xlZXA9JycKLXNtYWlsPScnCi1zbz0nc28nCi1zb2NrZXRoZHI9JycKLXNvY2tldGxpYj0nJwotc29ja3NpemV0eXBlPSdzb2NrbGVuX3QnCi1zb3J0PSdzb3J0Jwotc3BhY2thZ2U9J1Blcmw1Jwotc3BpdHNoZWxsPSdjYXQnCi1zcmFuZDQ4X3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19JX0xTJwotc3JhbmRvbV9yX3Byb3RvPSdSRUVOVFJBTlRfUFJPVE9fSV9UUycKLXNyYz0nLicKLXNzaXpldHlwZT0nc3NpemVfdCcKLXN0X2lub19zaWduPScxJwotc3RfaW5vX3NpemU9JzgnCi1zdGFydHBlcmw9JyMhQFVTUkJJTkAvcGVybCcKLXN0YXJ0c2g9JyMhL2Jpbi9zaCcKLXN0YXRpY19leHQ9JyAnCi1zdGRjaGFyPSdjaGFyJwotc3RkaW9fYmFzZT0nKChmcCktPl9JT19yZWFkX2Jhc2UpJwotc3RkaW9fYnVmc2l6PScoKGZwKS0+X0lPX3JlYWRfZW5kIC0gKGZwKS0+X0lPX3JlYWRfYmFzZSknCi1zdGRpb19jbnQ9JygoZnApLT5fSU9fcmVhZF9lbmQgLSAoZnApLT5fSU9fcmVhZF9wdHIpJwotc3RkaW9fZmlsYnVmPScnCi1zdGRpb19wdHI9JygoZnApLT5fSU9fcmVhZF9wdHIpJwotc3RkaW9fc3RyZWFtX2FycmF5PScnCi1zdHJlcnJvcl9yX3Byb3RvPSdSRUVOVFJBTlRfUFJPVE9fQl9JQlcnCi1zdHJpbmdzPSdASU5DTFVERURJUkAvc3RyaW5nLmgnCi1zdWJtaXQ9JycKLXN1YnZlcnNpb249JzQnCi1zeXNtYW49J0BFWEVDUFJFRklYQC9zaGFyZS9tYW4vbWFuMScKLXN5c3Jvb3Q9JycKLXRhaWw9JycKLXRhcj0nJwotdGFyZ2V0YXJjaD0nJwotdGFyZ2V0ZGlyPScnCi10YXJnZXRlbnY9JycKLXRhcmdldGhvc3Q9JycKLXRhcmdldG1rZGlyPScnCi10YXJnZXRwb3J0PScnCi10YXJnZXRzaD0nL2Jpbi9zaCcKLXRibD0nJwotdGVlPScnCi10ZXN0PSd0ZXN0JwotdGltZWluY2w9J0BJTkNMVURFRElSQC9zeXMvdGltZS5oIEBJTkNMVURFRElSQC90aW1lLmggJwotdGltZXR5cGU9J3RpbWVfdCcKLXRtcG5hbV9yX3Byb3RvPSdSRUVOVFJBTlRfUFJPVE9fQl9CJwotdG89JzonCi10b3VjaD0ndG91Y2gnCi10cj0ndHInCi10cm5sPSdcbicKLXRyb2ZmPScnCi10dHluYW1lX3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19JX0lCVycKLXUxNnNpemU9JzInCi11MTZ0eXBlPSd1bnNpZ25lZCBzaG9ydCcKLXUzMnNpemU9JzQnCi11MzJ0eXBlPSd1bnNpZ25lZCBpbnQnCi11NjRzaXplPSc4JwotdTY0dHlwZT0ndW5zaWduZWQgbG9uZycKLXU4c2l6ZT0nMScKLXU4dHlwZT0ndW5zaWduZWQgY2hhcicKLXVpZGZvcm1hdD0nInUiJwotdWlkc2lnbj0nMScKLXVpZHNpemU9JzQnCi11aWR0eXBlPSd1aWRfdCcKLXVuYW1lPSd1bmFtZScKLXVuaXE9J3VuaXEnCi11cXVhZHR5cGU9J3Vuc2lnbmVkIGxvbmcnCi11c2U1MDA1dGhyZWFkcz0ndW5kZWYnCi11c2U2NGJpdGFsbD0ndW5kZWYnCi11c2U2NGJpdGludD0ndW5kZWYnCi11c2VjYmFja3RyYWNlPSd1bmRlZicKLXVzZWNyb3NzY29tcGlsZT0nZGVmaW5lJwotdXNlZGV2ZWw9J3VuZGVmJwotdXNlZGw9J2RlZmluZScKLXVzZWR0cmFjZT0ndW5kZWYnCi11c2VmYXN0c3RkaW89J3VuZGVmJwotdXNlaXRocmVhZHM9J2RlZmluZScKLXVzZWtlcm5wcm9jcGF0aG5hbWU9J3VuZGVmJwotdXNlbGFyZ2VmaWxlcz0nZGVmaW5lJwotdXNlbG9uZ2RvdWJsZT0ndW5kZWYnCi11c2VtYWxsb2N3cmFwPSdkZWZpbmUnCi11c2Vtb3JlYml0cz0ndW5kZWYnCi11c2VtdWx0aXBsaWNpdHk9J2RlZmluZScKLXVzZW15bWFsbG9jPSduJwotdXNlbm09J2ZhbHNlJwotdXNlbnNnZXRleGVjdXRhYmxlcGF0aD0ndW5kZWYnCi11c2VvcGNvZGU9J3RydWUnCi11c2VwZXJsaW89J2RlZmluZScKLXVzZXBvc2l4PSd0cnVlJwotdXNlcXVhZG1hdGg9J3VuZGVmJwotdXNlcmVlbnRyYW50PSd1bmRlZicKLXVzZXJlbG9jYXRhYmxlaW5jPSd1bmRlZicKLXVzZXNocnBsaWI9J3RydWUnCi11c2VzaXRlY3VzdG9taXplPSd1bmRlZicKLXVzZXNvY2tzPSd1bmRlZicKLXVzZXRocmVhZHM9J2RlZmluZScKLXVzZXZlbmRvcnByZWZpeD0nZGVmaW5lJwotdXNldmVyc2lvbmVkYXJjaG5hbWU9J3VuZGVmJwotdXNldmZvcms9J2ZhbHNlJwotdXNyaW5jPSdASU5DTFVERURJUkAnCi11dW5hbWU9JycKLXV2WFVmb3JtYXQ9JyJsWCInCi11dm9mb3JtYXQ9JyJsbyInCi11dnNpemU9JzgnCi11dnR5cGU9J3Vuc2lnbmVkIGxvbmcnCi11dnVmb3JtYXQ9JyJsdSInCi11dnhmb3JtYXQ9JyJseCInCi12YXByb3RvPSdkZWZpbmUnCi12ZW5kb3JhcmNoPSdATElCRElSQC9wZXJsL3ZlbmRvcl9wZXJsLzUuMjQuNC9AQVJDSEAtdGhyZWFkLW11bHRpJwotdmVuZG9yYXJjaGV4cD0nQExJQkRJUkAvcGVybC92ZW5kb3JfcGVybC81LjI0LjQvQEFSQ0hALXRocmVhZC1tdWx0aScKLXZlbmRvcmJpbj0nQFVTUkJJTkAnCi12ZW5kb3JiaW5leHA9J0BVU1JCSU5AJwotdmVuZG9yaHRtbDFkaXI9JyAnCi12ZW5kb3JodG1sMWRpcmV4cD0nJwotdmVuZG9yaHRtbDNkaXI9JyAnCi12ZW5kb3JodG1sM2RpcmV4cD0nJwotdmVuZG9ybGliPSdATElCRElSQC9wZXJsL3ZlbmRvcl9wZXJsLzUuMjQuNCcKLXZlbmRvcmxpYl9zdGVtPSdATElCRElSQC9wZXJsL3ZlbmRvcl9wZXJsJwotdmVuZG9ybGliZXhwPSdATElCRElSQC9wZXJsL3ZlbmRvcl9wZXJsLzUuMjQuNCcKLXZlbmRvcm1hbjFkaXI9JyAnCi12ZW5kb3JtYW4xZGlyZXhwPScnCi12ZW5kb3JtYW4zZGlyPScgJwotdmVuZG9ybWFuM2RpcmV4cD0nJwotdmVuZG9ycHJlZml4PSdARVhFQ1BSRUZJWEAnCi12ZW5kb3JwcmVmaXhleHA9J0BFWEVDUFJFRklYQCcKLXZlbmRvcnNjcmlwdD0nQFVTUkJJTkAnCi12ZW5kb3JzY3JpcHRleHA9J0BVU1JCSU5AJwotdmVyc2lvbj0nNS4yNC40JwotdmVyc2lvbl9wYXRjaGxldmVsX3N0cmluZz0ndmVyc2lvbiAyNCBzdWJ2ZXJzaW9uIDQnCi12ZXJzaW9ub25seT0ndW5kZWYnCi12aT0nJwoteGxpYnB0aD0nQExJQkRJUkAvMzg2IEBCQVNFTElCRElSQDM4NicKLXlhY2M9J3lhY2MnCi15YWNjZmxhZ3M9JycKLXpjYXQ9JycKLXppcD0nemlwJwotUEVSTF9SRVZJU0lPTj01Ci1QRVJMX1ZFUlNJT049MjQKLVBFUkxfU1VCVkVSU0lPTj00Ci1QRVJMX0FQSV9SRVZJU0lPTj01Ci1QRVJMX0FQSV9WRVJTSU9OPTI0Ci1QRVJMX0FQSV9TVUJWRVJTSU9OPTQKLVBFUkxfUEFUQ0hMRVZFTD0nJwotUEVSTF9DT05GSUdfU0g9dHJ1ZQotOiBWYXJpYWJsZXMgcHJvcGFnYXRlZCBmcm9tIHByZXZpb3VzIGNvbmZpZy5zaCBmaWxlLgotbGliZGJfbmVlZHNfcHRocmVhZD0nTicKLQotIyBmb3IgVGltZS1IaVJlcwotZF9jbG9ja19uYW5vc2xlZXA9J2RlZmluZScKLWRfY2xvY2tfZ2V0dGltZT0nZGVmaW5lJwotZF9jbG9ja19nZXRyZXM9J2RlZmluZScKLWRfY2xvY2s9J2RlZmluZScKLWRfbmFub3NsZWVwPSdkZWZpbmUnCi0KLSMgZm9yIFNpZ25pbmZvCi1kX3NpZ2luZm9fc2lfZXJybm89J2RlZmluZScKLWRfc2lnaW5mb19zaV9waWQ9J2RlZmluZScKLWRfc2lnaW5mb19zaV91aWQ9J2RlZmluZScKLWRfc2lnaW5mb19zaV9hZGRyPSdkZWZpbmUnCi1kX3NpZ2luZm9fc2lfc3RhdHVzPSdkZWZpbmUnCi1kX3NpZ2luZm9fc2lfYmFuZD0nZGVmaW5lJwotZF9zaWdpbmZvX3NpX3ZhbHVlPSdkZWZpbmUnCi0KLSMgZG9uJ3Qgc3VwcG9ydCBmZGNsb3NlCi1kX2ZkY2xvc2U9J3VuZGVmJwotCi0jIHN1cHBvcnQgbWVtbWVtCi1kX21lbW1lbT0nZGVmaW5lJwotCi0jIGZvciBsb2NhbGUKLWRfbmV3bG9jYWxlPSdkZWZpbmUnCi1kX2ZyZWVsb2NhbGU9J2RlZmluZScKLWRfdXNlbG9jYWxlPSdkZWZpbmUnCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvY29uZmlnLnNoLTMyIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2NvbmZpZy5zaC0zMgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzI1OWEwYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvY29uZmlnLnNoLTMyCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotYWxpZ25ieXRlcz0nNCcKLWNmX3RpbWU9J1RodSBEZWMgMjMgMDM6NTc6NTEgVVRDIDIwMTAnCi1jcHBzeW1ib2xzPSdfRklMRV9PRkZTRVRfQklUUz02NCBfR05VX1NPVVJDRT0xIF9MQVJHRUZJTEU2NF9TT1VSQ0U9MSBfTEFSR0VGSUxFX1NPVVJDRT0xIF9QT1NJWF9DX1NPVVJDRT0yMDA4MDlMIF9QT1NJWF9TT1VSQ0U9MSBfUkVFTlRSQU5UPTEgX1hPUEVOX1NPVVJDRT03MDAgX1hPUEVOX1NPVVJDRV9FWFRFTkRFRD0xIF9fQklHR0VTVF9BTElHTk1FTlRfXz0xNiBfX0NIQVIxNl9UWVBFX189c2hvcnRcIHVuc2lnbmVkXCBpbnQgX19DSEFSMzJfVFlQRV9fPXVuc2lnbmVkXCBpbnQgX19DSEFSX0JJVF9fPTggX19EQkxfREVOT1JNX01JTl9fPSgoZG91YmxlKTQuOTQwNjU2NDU4NDEyNDY1NDQxNzdlLTMyNEwpIF9fREJMX0RJR19fPTE1IF9fREJMX0VQU0lMT05fXz0oKGRvdWJsZSkyLjIyMDQ0NjA0OTI1MDMxMzA4MDg1ZS0xNkwpIF9fREJMX0hBU19ERU5PUk1fXz0xIF9fREJMX0hBU19JTkZJTklUWV9fPTEgX19EQkxfSEFTX1FVSUVUX05BTl9fPTEgX19EQkxfTUFOVF9ESUdfXz01MyBfX0RCTF9NQVhfMTBfRVhQX189MzA4IF9fREJMX01BWF9FWFBfXz0xMDI0IF9fREJMX01BWF9fPSgoZG91YmxlKTEuNzk3NjkzMTM0ODYyMzE1NzA4MTVlKzMwOEwpIF9fREJMX01JTl8xMF9FWFBfXz0oLTMwNykgX19EQkxfTUlOX0VYUF9fPSgtMTAyMSkgX19EQkxfTUlOX189KChkb3VibGUpMi4yMjUwNzM4NTg1MDcyMDEzODMwOWUtMzA4TCkgX19ERUMxMjhfRVBTSUxPTl9fPTFFLTMzREwgX19ERUMxMjhfTUFOVF9ESUdfXz0zNCBfX0RFQzEyOF9NQVhfRVhQX189NjE0NSBfX0RFQzEyOF9NQVhfXz05Ljk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OUU2MTQ0REwgX19ERUMxMjhfTUlOX0VYUF9fPSgtNjE0MikgX19ERUMxMjhfTUlOX189MUUtNjE0M0RMIF9fREVDMTI4X1NVQk5PUk1BTF9NSU5fXz0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUUtNjE0M0RMIF9fREVDMzJfRVBTSUxPTl9fPTFFLTZERiBfX0RFQzMyX01BTlRfRElHX189NyBfX0RFQzMyX01BWF9FWFBfXz05NyBfX0RFQzMyX01BWF9fPTkuOTk5OTk5RTk2REYgX19ERUMzMl9NSU5fRVhQX189KC05NCkgX19ERUMzMl9NSU5fXz0xRS05NURGIF9fREVDMzJfU1VCTk9STUFMX01JTl9fPTAuMDAwMDAxRS05NURGIF9fREVDNjRfRVBTSUxPTl9fPTFFLTE1REQgX19ERUM2NF9NQU5UX0RJR19fPTE2IF9fREVDNjRfTUFYX0VYUF9fPTM4NSBfX0RFQzY0X01BWF9fPTkuOTk5OTk5OTk5OTk5OTk5RTM4NEREIF9fREVDNjRfTUlOX0VYUF9fPSgtMzgyKSBfX0RFQzY0X01JTl9fPTFFLTM4M0REIF9fREVDNjRfU1VCTk9STUFMX01JTl9fPTAuMDAwMDAwMDAwMDAwMDAxRS0zODNERCBfX0RFQ0lNQUxfQklEX0ZPUk1BVF9fPTEgX19ERUNJTUFMX0RJR19fPTIxIF9fREVDX0VWQUxfTUVUSE9EX189MiBfX0VMRl9fPTEgX19GSU5JVEVfTUFUSF9PTkxZX189MCBfX0ZMVF9ERU5PUk1fTUlOX189MS40MDEyOTg0NjQzMjQ4MTcwNzA5MmUtNDVGIF9fRkxUX0RJR19fPTYgX19GTFRfRVBTSUxPTl9fPTEuMTkyMDkyODk1NTA3ODEyNTAwMDBlLTdGIF9fRkxUX0VWQUxfTUVUSE9EX189MiBfX0ZMVF9IQVNfREVOT1JNX189MSBfX0ZMVF9IQVNfSU5GSU5JVFlfXz0xIF9fRkxUX0hBU19RVUlFVF9OQU5fXz0xIF9fRkxUX01BTlRfRElHX189MjQgX19GTFRfTUFYXzEwX0VYUF9fPTM4IF9fRkxUX01BWF9FWFBfXz0xMjggX19GTFRfTUFYX189My40MDI4MjM0NjYzODUyODg1OTgxMmUrMzhGIF9fRkxUX01JTl8xMF9FWFBfXz0oLTM3KSBfX0ZMVF9NSU5fRVhQX189KC0xMjUpIF9fRkxUX01JTl9fPTEuMTc1NDk0MzUwODIyMjg3NTA3OTdlLTM4RiBfX0ZMVF9SQURJWF9fPTIgX19HQ0NfSEFWRV9TWU5DX0NPTVBBUkVfQU5EX1NXQVBfMT0xIF9fR0NDX0hBVkVfU1lOQ19DT01QQVJFX0FORF9TV0FQXzI9MSBfX0dDQ19IQVZFX1NZTkNfQ09NUEFSRV9BTkRfU1dBUF80PTEgX19HQ0NfSEFWRV9TWU5DX0NPTVBBUkVfQU5EX1NXQVBfOD0xIF9fR0xJQkNfTUlOT1JfXz0xMiBfX0dMSUJDX189MiBfX0dOVUNfR05VX0lOTElORV9fPTEgX19HTlVDX01JTk9SX189NSBfX0dOVUNfUEFUQ0hMRVZFTF9fPTEgX19HTlVDX189NCBfX0dOVV9MSUJSQVJZX189NiBfX0dYWF9BQklfVkVSU0lPTj0xMDAyIF9fSU5UMTZfQyhjKT1jIF9fSU5UMTZfTUFYX189MzI3NjcgX19JTlQxNl9UWVBFX189c2hvcnRcIGludCBfX0lOVDMyX0MoYyk9YyBfX0lOVDMyX01BWF9fPTIxNDc0ODM2NDcgX19JTlQzMl9UWVBFX189aW50IF9fSU5UNjRfQyhjKT1jTEwgX19JTlQ2NF9NQVhfXz05MjIzMzcyMDM2ODU0Nzc1ODA3TEwgX19JTlQ2NF9UWVBFX189bG9uZ1wgbG9uZ1wgaW50IF9fSU5UOF9DKGMpPWMgX19JTlQ4X01BWF9fPTEyNyBfX0lOVDhfVFlQRV9fPXNpZ25lZFwgY2hhciBfX0lOVE1BWF9DKGMpPWNMTCBfX0lOVE1BWF9NQVhfXz05MjIzMzcyMDM2ODU0Nzc1ODA3TEwgX19JTlRNQVhfVFlQRV9fPWxvbmdcIGxvbmdcIGludCBfX0lOVFBUUl9NQVhfXz0yMTQ3NDgzNjQ3IF9fSU5UUFRSX1RZUEVfXz1pbnQgX19JTlRfRkFTVDE2X01BWF9fPTIxNDc0ODM2NDcgX19JTlRfRkFTVDE2X1RZUEVfXz1pbnQgX19JTlRfRkFTVDMyX01BWF9fPTIxNDc0ODM2NDcgX19JTlRfRkFTVDMyX1RZUEVfXz1pbnQgX19JTlRfRkFTVDY0X01BWF9fPTkyMjMzNzIwMzY4NTQ3NzU4MDdMTCBfX0lOVF9GQVNUNjRfVFlQRV9fPWxvbmdcIGxvbmdcIGludCBfX0lOVF9GQVNUOF9NQVhfXz0xMjcgX19JTlRfRkFTVDhfVFlQRV9fPXNpZ25lZFwgY2hhciBfX0lOVF9MRUFTVDE2X01BWF9fPTMyNzY3IF9fSU5UX0xFQVNUMTZfVFlQRV9fPXNob3J0XCBpbnQgX19JTlRfTEVBU1QzMl9NQVhfXz0yMTQ3NDgzNjQ3IF9fSU5UX0xFQVNUMzJfVFlQRV9fPWludCBfX0lOVF9MRUFTVDY0X01BWF9fPTkyMjMzNzIwMzY4NTQ3NzU4MDdMTCBfX0lOVF9MRUFTVDY0X1RZUEVfXz1sb25nXCBsb25nXCBpbnQgX19JTlRfTEVBU1Q4X01BWF9fPTEyNyBfX0lOVF9MRUFTVDhfVFlQRV9fPXNpZ25lZFwgY2hhciBfX0lOVF9NQVhfXz0yMTQ3NDgzNjQ3IF9fTERCTF9ERU5PUk1fTUlOX189My42NDUxOTk1MzE4ODI0NzQ2MDI1M2UtNDk1MUwgX19MREJMX0RJR19fPTE4IF9fTERCTF9FUFNJTE9OX189MS4wODQyMDIxNzI0ODU1MDQ0MzQwMWUtMTlMIF9fTERCTF9IQVNfREVOT1JNX189MSBfX0xEQkxfSEFTX0lORklOSVRZX189MSBfX0xEQkxfSEFTX1FVSUVUX05BTl9fPTEgX19MREJMX01BTlRfRElHX189NjQgX19MREJMX01BWF8xMF9FWFBfXz00OTMyIF9fTERCTF9NQVhfRVhQX189MTYzODQgX19MREJMX01BWF9fPTEuMTg5NzMxNDk1MzU3MjMxNzY1MDJlKzQ5MzJMIF9fTERCTF9NSU5fMTBfRVhQX189KC00OTMxKSBfX0xEQkxfTUlOX0VYUF9fPSgtMTYzODEpIF9fTERCTF9NSU5fXz0zLjM2MjEwMzE0MzExMjA5MzUwNjI2ZS00OTMyTCBfX0xPTkdfTE9OR19NQVhfXz05MjIzMzcyMDM2ODU0Nzc1ODA3TEwgX19MT05HX01BWF9fPTIxNDc0ODM2NDdMIF9fUFJBR01BX1JFREVGSU5FX0VYVE5BTUU9MSBfX1BUUkRJRkZfTUFYX189MjE0NzQ4MzY0NyBfX1BUUkRJRkZfVFlQRV9fPWludCBfX1JFR0lTVEVSX1BSRUZJWF9fPSBfX1NDSEFSX01BWF9fPTEyNyBfX1NIUlRfTUFYX189MzI3NjcgX19TSUdfQVRPTUlDX01BWF9fPTIxNDc0ODM2NDcgX19TSUdfQVRPTUlDX01JTl9fPSgtMjE0NzQ4MzY0N1wgLVwgMSkgX19TSUdfQVRPTUlDX1RZUEVfXz1pbnQgX19TSVpFT0ZfRE9VQkxFX189OCBfX1NJWkVPRl9GTE9BVF9fPTQgX19TSVpFT0ZfSU5UX189NCBfX1NJWkVPRl9MT05HX0RPVUJMRV9fPTEyIF9fU0laRU9GX0xPTkdfTE9OR19fPTggX19TSVpFT0ZfTE9OR19fPTQgX19TSVpFT0ZfUE9JTlRFUl9fPTQgX19TSVpFT0ZfUFRSRElGRl9UX189NCBfX1NJWkVPRl9TSE9SVF9fPTIgX19TSVpFT0ZfU0laRV9UX189NCBfX1NJWkVPRl9XQ0hBUl9UX189NCBfX1NJWkVPRl9XSU5UX1RfXz00IF9fU0laRV9NQVhfXz00Mjk0OTY3Mjk1VSBfX1NJWkVfVFlQRV9fPXVuc2lnbmVkXCBpbnQgX19TVERDX0hPU1RFRF9fPTEgX19TVERDX189MSBfX1VJTlQxNl9DKGMpPWMgX19VSU5UMTZfTUFYX189NjU1MzUgX19VSU5UMTZfVFlQRV9fPXNob3J0XCB1bnNpZ25lZFwgaW50IF9fVUlOVDMyX0MoYyk9Y1UgX19VSU5UMzJfTUFYX189NDI5NDk2NzI5NVUgX19VSU5UMzJfVFlQRV9fPXVuc2lnbmVkXCBpbnQgX19VSU5UNjRfQyhjKT1jVUxMIF9fVUlOVDY0X01BWF9fPTE4NDQ2NzQ0MDczNzA5NTUxNjE1VUxMIF9fVUlOVDY0X1RZUEVfXz1sb25nXCBsb25nXCB1bnNpZ25lZFwgaW50IF9fVUlOVDhfQyhjKT1jIF9fVUlOVDhfTUFYX189MjU1IF9fVUlOVDhfVFlQRV9fPXVuc2lnbmVkXCBjaGFyIF9fVUlOVE1BWF9DKGMpPWNVTEwgX19VSU5UTUFYX01BWF9fPTE4NDQ2NzQ0MDczNzA5NTUxNjE1VUxMIF9fVUlOVE1BWF9UWVBFX189bG9uZ1wgbG9uZ1wgdW5zaWduZWRcIGludCBfX1VJTlRQVFJfTUFYX189NDI5NDk2NzI5NVUgX19VSU5UUFRSX1RZUEVfXz11bnNpZ25lZFwgaW50IF9fVUlOVF9GQVNUMTZfTUFYX189NDI5NDk2NzI5NVUgX19VSU5UX0ZBU1QxNl9UWVBFX189dW5zaWduZWRcIGludCBfX1VJTlRfRkFTVDMyX01BWF9fPTQyOTQ5NjcyOTVVIF9fVUlOVF9GQVNUMzJfVFlQRV9fPXVuc2lnbmVkXCBpbnQgX19VSU5UX0ZBU1Q2NF9NQVhfXz0xODQ0Njc0NDA3MzcwOTU1MTYxNVVMTCBfX1VJTlRfRkFTVDY0X1RZUEVfXz1sb25nXCBsb25nXCB1bnNpZ25lZFwgaW50IF9fVUlOVF9GQVNUOF9NQVhfXz0yNTUgX19VSU5UX0ZBU1Q4X1RZUEVfXz11bnNpZ25lZFwgY2hhciBfX1VJTlRfTEVBU1QxNl9NQVhfXz02NTUzNSBfX1VJTlRfTEVBU1QxNl9UWVBFX189c2hvcnRcIHVuc2lnbmVkXCBpbnQgX19VSU5UX0xFQVNUMzJfTUFYX189NDI5NDk2NzI5NVUgX19VSU5UX0xFQVNUMzJfVFlQRV9fPXVuc2lnbmVkXCBpbnQgX19VSU5UX0xFQVNUNjRfTUFYX189MTg0NDY3NDQwNzM3MDk1NTE2MTVVTEwgX19VSU5UX0xFQVNUNjRfVFlQRV9fPWxvbmdcIGxvbmdcIHVuc2lnbmVkXCBpbnQgX19VSU5UX0xFQVNUOF9NQVhfXz0yNTUgX19VSU5UX0xFQVNUOF9UWVBFX189dW5zaWduZWRcIGNoYXIgX19VU0VSX0xBQkVMX1BSRUZJWF9fPSBfX1VTRV9CU0Q9MSBfX1VTRV9GSUxFX09GRlNFVDY0PTEgX19VU0VfR05VPTEgX19VU0VfTEFSR0VGSUxFNjQ9MSBfX1VTRV9MQVJHRUZJTEU9MSBfX1VTRV9NSVNDPTEgX19VU0VfUE9TSVgxOTkzMDk9MSBfX1VTRV9QT1NJWDE5OTUwNj0xIF9fVVNFX1BPU0lYMj0xIF9fVVNFX1BPU0lYPTEgX19VU0VfUkVFTlRSQU5UPTEgX19VU0VfU1ZJRD0xIF9fVVNFX1VOSVg5OD0xIF9fVVNFX1hPUEVOPTEgX19VU0VfWE9QRU5fRVhURU5ERUQ9MSBfX1ZFUlNJT05fXz0iNC41LjEiIF9fV0NIQVJfTUFYX189MjE0NzQ4MzY0N0wgX19XQ0hBUl9NSU5fXz0oLTIxNDc0ODM2NDdMXCAtXCAxKSBfX1dDSEFSX1RZUEVfXz1sb25nXCBpbnQgX19XSU5UX01BWF9fPTQyOTQ5NjcyOTVVIF9fV0lOVF9NSU5fXz0wVSBfX1dJTlRfVFlQRV9fPXVuc2lnbmVkXCBpbnQgX19nbnVfbGludXhfXz0xIF9faTM4Nj0xIF9faTM4Nl9fPTEgX19pNTg2PTEgX19pNTg2X189MSBfX2xpbnV4PTEgX19saW51eF9fPTEgX19wZW50aXVtPTEgX19wZW50aXVtX189MSBfX3R1bmVfaTU4Nl9fPTEgX190dW5lX3BlbnRpdW1fXz0xIF9fdW5peD0xIF9fdW5peF9fPTEgaTM4Nj0xIGxpbnV4PTEgdW5peD0xJwotZF9udl9wcmVzZXJ2ZXNfdXY9J2RlZmluZScKLWRfcHJpbnRmX2Zvcm1hdF9udWxsPSdkZWZpbmUnCi1kX3UzMmFsaWduPSd1bmRlZicKLWdpZGZvcm1hdD0nImx1IicKLWkzMnR5cGU9J2xvbmcnCi1pNjR0eXBlPSdsb25nIGxvbmcnCi1pdnNpemU9JzQnCi1sb25nZGJsc2l6ZT0nMTInCi1sb25nc2l6ZT0nNCcKLW15dW5hbWU9J2xpbnV4IHFlbXV4ODYgMi42LjM3LXJjNS15b2N0by1zdGFuZGFyZCsgIzEgcHJlZW1wdCBtb24gZGVjIDIwIDE0OjIxOjI3IHBzdCAyMDEwIGk2ODYgZ251bGludXggJwotbmVlZF92YV9jb3B5PSd1bmRlZicKLW5ldGRiX2hvc3RfdHlwZT0nY29uc3Qgdm9pZCAqJwotbnZfcHJlc2VydmVzX3V2X2JpdHM9JzMyJwotcHRyc2l6ZT0nNCcKLXF1YWRraW5kPSczJwotcXVhZHR5cGU9J2xvbmcgbG9uZycKLXNHTVRJTUVfbWF4PScyMTQ3NDgzNjQ3Jwotc0dNVElNRV9taW49Jy0yMTQ3NDgzNjQ4Jwotc0xPQ0FMVElNRV9tYXg9JzIxNDc0ODM2NDcnCi1zTE9DQUxUSU1FX21pbj0nLTIxNDc0ODM2NDgnCi1zUFJJWFU2ND0nIkxYIicKLXNQUklkNjQ9JyJMZCInCi1zUFJJaTY0PSciTGkiJwotc1BSSW82ND0nIkxvIicKLXNQUkl1NjQ9JyJMdSInCi1zUFJJeDY0PSciTHgiJwotc2VsZWN0bWluYml0cz0nMzInCi1zaXplc2l6ZT0nNCcKLXUzMnR5cGU9J3Vuc2lnbmVkIGxvbmcnCi11NjR0eXBlPSd1bnNpZ25lZCBsb25nIGxvbmcnCi11aWRmb3JtYXQ9JyJsdSInCi11cXVhZHR5cGU9J3Vuc2lnbmVkIGxvbmcgbG9uZycKLXVzZTY0Yml0YWxsPSd1bmRlZicKLXVzZTY0Yml0aW50PSd1bmRlZicKLXV2c2l6ZT0nNCcKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9jb25maWcuc2gtMzItYmUgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvY29uZmlnLnNoLTMyLWJlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNTlhOWFiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9jb25maWcuc2gtMzItYmUKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1ieXRlb3JkZXI9JzQzMjEnCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvY29uZmlnLnNoLTMyLWxlIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2NvbmZpZy5zaC0zMi1sZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTBlNDIyNi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvY29uZmlnLnNoLTMyLWxlCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotYnl0ZW9yZGVyPScxMjM0JwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2NvbmZpZy5zaC02NCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9jb25maWcuc2gtNjQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY5MjlkM2EuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2NvbmZpZy5zaC02NAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLWFsaWduYnl0ZXM9JzgnCi1jZl90aW1lPSdUaHUgRGVjIDIzIDAyOjA2OjQyIFVUQyAyMDEwJwotY3Bwc3ltYm9scz0nX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgX0dOVV9TT1VSQ0U9MSBfTEFSR0VGSUxFNjRfU09VUkNFPTEgX0xBUkdFRklMRV9TT1VSQ0U9MSBfTFA2ND0xIF9QT1NJWF9DX1NPVVJDRT0yMDA4MDlMIF9QT1NJWF9TT1VSQ0U9MSBfUkVFTlRSQU5UPTEgX1hPUEVOX1NPVVJDRT03MDAgX1hPUEVOX1NPVVJDRV9FWFRFTkRFRD0xIF9fQklHR0VTVF9BTElHTk1FTlRfXz0xNiBfX0NIQVIxNl9UWVBFX189c2hvcnRcIHVuc2lnbmVkXCBpbnQgX19DSEFSMzJfVFlQRV9fPXVuc2lnbmVkXCBpbnQgX19DSEFSX0JJVF9fPTggX19EQkxfREVOT1JNX01JTl9fPSgoZG91YmxlKTQuOTQwNjU2NDU4NDEyNDY1NDQxNzdlLTMyNEwpIF9fREJMX0RJR19fPTE1IF9fREJMX0VQU0lMT05fXz0oKGRvdWJsZSkyLjIyMDQ0NjA0OTI1MDMxMzA4MDg1ZS0xNkwpIF9fREJMX0hBU19ERU5PUk1fXz0xIF9fREJMX0hBU19JTkZJTklUWV9fPTEgX19EQkxfSEFTX1FVSUVUX05BTl9fPTEgX19EQkxfTUFOVF9ESUdfXz01MyBfX0RCTF9NQVhfMTBfRVhQX189MzA4IF9fREJMX01BWF9FWFBfXz0xMDI0IF9fREJMX01BWF9fPSgoZG91YmxlKTEuNzk3NjkzMTM0ODYyMzE1NzA4MTVlKzMwOEwpIF9fREJMX01JTl8xMF9FWFBfXz0oLTMwNykgX19EQkxfTUlOX0VYUF9fPSgtMTAyMSkgX19EQkxfTUlOX189KChkb3VibGUpMi4yMjUwNzM4NTg1MDcyMDEzODMwOWUtMzA4TCkgX19ERUMxMjhfRVBTSUxPTl9fPTFFLTMzREwgX19ERUMxMjhfTUFOVF9ESUdfXz0zNCBfX0RFQzEyOF9NQVhfRVhQX189NjE0NSBfX0RFQzEyOF9NQVhfXz05Ljk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OUU2MTQ0REwgX19ERUMxMjhfTUlOX0VYUF9fPSgtNjE0MikgX19ERUMxMjhfTUlOX189MUUtNjE0M0RMIF9fREVDMTI4X1NVQk5PUk1BTF9NSU5fXz0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUUtNjE0M0RMIF9fREVDMzJfRVBTSUxPTl9fPTFFLTZERiBfX0RFQzMyX01BTlRfRElHX189NyBfX0RFQzMyX01BWF9FWFBfXz05NyBfX0RFQzMyX01BWF9fPTkuOTk5OTk5RTk2REYgX19ERUMzMl9NSU5fRVhQX189KC05NCkgX19ERUMzMl9NSU5fXz0xRS05NURGIF9fREVDMzJfU1VCTk9STUFMX01JTl9fPTAuMDAwMDAxRS05NURGIF9fREVDNjRfRVBTSUxPTl9fPTFFLTE1REQgX19ERUM2NF9NQU5UX0RJR19fPTE2IF9fREVDNjRfTUFYX0VYUF9fPTM4NSBfX0RFQzY0X01BWF9fPTkuOTk5OTk5OTk5OTk5OTk5RTM4NEREIF9fREVDNjRfTUlOX0VYUF9fPSgtMzgyKSBfX0RFQzY0X01JTl9fPTFFLTM4M0REIF9fREVDNjRfU1VCTk9STUFMX01JTl9fPTAuMDAwMDAwMDAwMDAwMDAxRS0zODNERCBfX0RFQ0lNQUxfQklEX0ZPUk1BVF9fPTEgX19ERUNJTUFMX0RJR19fPTIxIF9fREVDX0VWQUxfTUVUSE9EX189MiBfX0VMRl9fPTEgX19GSU5JVEVfTUFUSF9PTkxZX189MCBfX0ZMVF9ERU5PUk1fTUlOX189MS40MDEyOTg0NjQzMjQ4MTcwNzA5MmUtNDVGIF9fRkxUX0RJR19fPTYgX19GTFRfRVBTSUxPTl9fPTEuMTkyMDkyODk1NTA3ODEyNTAwMDBlLTdGIF9fRkxUX0VWQUxfTUVUSE9EX189MCBfX0ZMVF9IQVNfREVOT1JNX189MSBfX0ZMVF9IQVNfSU5GSU5JVFlfXz0xIF9fRkxUX0hBU19RVUlFVF9OQU5fXz0xIF9fRkxUX01BTlRfRElHX189MjQgX19GTFRfTUFYXzEwX0VYUF9fPTM4IF9fRkxUX01BWF9FWFBfXz0xMjggX19GTFRfTUFYX189My40MDI4MjM0NjYzODUyODg1OTgxMmUrMzhGIF9fRkxUX01JTl8xMF9FWFBfXz0oLTM3KSBfX0ZMVF9NSU5fRVhQX189KC0xMjUpIF9fRkxUX01JTl9fPTEuMTc1NDk0MzUwODIyMjg3NTA3OTdlLTM4RiBfX0ZMVF9SQURJWF9fPTIgX19HQ0NfSEFWRV9EV0FSRjJfQ0ZJX0FTTT0xIF9fR0NDX0hBVkVfU1lOQ19DT01QQVJFX0FORF9TV0FQXzE9MSBfX0dDQ19IQVZFX1NZTkNfQ09NUEFSRV9BTkRfU1dBUF8yPTEgX19HQ0NfSEFWRV9TWU5DX0NPTVBBUkVfQU5EX1NXQVBfND0xIF9fR0NDX0hBVkVfU1lOQ19DT01QQVJFX0FORF9TV0FQXzg9MSBfX0dMSUJDX01JTk9SX189MTIgX19HTElCQ19fPTIgX19HTlVDX0dOVV9JTkxJTkVfXz0xIF9fR05VQ19NSU5PUl9fPTUgX19HTlVDX1BBVENITEVWRUxfXz0xIF9fR05VQ19fPTQgX19HTlVfTElCUkFSWV9fPTYgX19HWFhfQUJJX1ZFUlNJT049MTAwMiBfX0lOVDE2X0MoYyk9YyBfX0lOVDE2X01BWF9fPTMyNzY3IF9fSU5UMTZfVFlQRV9fPXNob3J0XCBpbnQgX19JTlQzMl9DKGMpPWMgX19JTlQzMl9NQVhfXz0yMTQ3NDgzNjQ3IF9fSU5UMzJfVFlQRV9fPWludCBfX0lOVDY0X0MoYyk9Y0wgX19JTlQ2NF9NQVhfXz05MjIzMzcyMDM2ODU0Nzc1ODA3TCBfX0lOVDY0X1RZUEVfXz1sb25nXCBpbnQgX19JTlQ4X0MoYyk9YyBfX0lOVDhfTUFYX189MTI3IF9fSU5UOF9UWVBFX189c2lnbmVkXCBjaGFyIF9fSU5UTUFYX0MoYyk9Y0wgX19JTlRNQVhfTUFYX189OTIyMzM3MjAzNjg1NDc3NTgwN0wgX19JTlRNQVhfVFlQRV9fPWxvbmdcIGludCBfX0lOVFBUUl9NQVhfXz05MjIzMzcyMDM2ODU0Nzc1ODA3TCBfX0lOVFBUUl9UWVBFX189bG9uZ1wgaW50IF9fSU5UX0ZBU1QxNl9NQVhfXz05MjIzMzcyMDM2ODU0Nzc1ODA3TCBfX0lOVF9GQVNUMTZfVFlQRV9fPWxvbmdcIGludCBfX0lOVF9GQVNUMzJfTUFYX189OTIyMzM3MjAzNjg1NDc3NTgwN0wgX19JTlRfRkFTVDMyX1RZUEVfXz1sb25nXCBpbnQgX19JTlRfRkFTVDY0X01BWF9fPTkyMjMzNzIwMzY4NTQ3NzU4MDdMIF9fSU5UX0ZBU1Q2NF9UWVBFX189bG9uZ1wgaW50IF9fSU5UX0ZBU1Q4X01BWF9fPTEyNyBfX0lOVF9GQVNUOF9UWVBFX189c2lnbmVkXCBjaGFyIF9fSU5UX0xFQVNUMTZfTUFYX189MzI3NjcgX19JTlRfTEVBU1QxNl9UWVBFX189c2hvcnRcIGludCBfX0lOVF9MRUFTVDMyX01BWF9fPTIxNDc0ODM2NDcgX19JTlRfTEVBU1QzMl9UWVBFX189aW50IF9fSU5UX0xFQVNUNjRfTUFYX189OTIyMzM3MjAzNjg1NDc3NTgwN0wgX19JTlRfTEVBU1Q2NF9UWVBFX189bG9uZ1wgaW50IF9fSU5UX0xFQVNUOF9NQVhfXz0xMjcgX19JTlRfTEVBU1Q4X1RZUEVfXz1zaWduZWRcIGNoYXIgX19JTlRfTUFYX189MjE0NzQ4MzY0NyBfX0xEQkxfREVOT1JNX01JTl9fPTMuNjQ1MTk5NTMxODgyNDc0NjAyNTNlLTQ5NTFMIF9fTERCTF9ESUdfXz0xOCBfX0xEQkxfRVBTSUxPTl9fPTEuMDg0MjAyMTcyNDg1NTA0NDM0MDFlLTE5TCBfX0xEQkxfSEFTX0RFTk9STV9fPTEgX19MREJMX0hBU19JTkZJTklUWV9fPTEgX19MREJMX0hBU19RVUlFVF9OQU5fXz0xIF9fTERCTF9NQU5UX0RJR19fPTY0IF9fTERCTF9NQVhfMTBfRVhQX189NDkzMiBfX0xEQkxfTUFYX0VYUF9fPTE2Mzg0IF9fTERCTF9NQVhfXz0xLjE4OTczMTQ5NTM1NzIzMTc2NTAyZSs0OTMyTCBfX0xEQkxfTUlOXzEwX0VYUF9fPSgtNDkzMSkgX19MREJMX01JTl9FWFBfXz0oLTE2MzgxKSBfX0xEQkxfTUlOX189My4zNjIxMDMxNDMxMTIwOTM1MDYyNmUtNDkzMkwgX19MT05HX0xPTkdfTUFYX189OTIyMzM3MjAzNjg1NDc3NTgwN0xMIF9fTE9OR19NQVhfXz05MjIzMzcyMDM2ODU0Nzc1ODA3TCBfX0xQNjRfXz0xIF9fTU1YX189MSBfX1BSQUdNQV9SRURFRklORV9FWFROQU1FPTEgX19QVFJESUZGX01BWF9fPTkyMjMzNzIwMzY4NTQ3NzU4MDdMIF9fUFRSRElGRl9UWVBFX189bG9uZ1wgaW50IF9fUkVHSVNURVJfUFJFRklYX189IF9fU0NIQVJfTUFYX189MTI3IF9fU0hSVF9NQVhfXz0zMjc2NyBfX1NJR19BVE9NSUNfTUFYX189MjE0NzQ4MzY0NyBfX1NJR19BVE9NSUNfTUlOX189KC0yMTQ3NDgzNjQ3XCAtXCAxKSBfX1NJR19BVE9NSUNfVFlQRV9fPWludCBfX1NJWkVPRl9ET1VCTEVfXz04IF9fU0laRU9GX0ZMT0FUX189NCBfX1NJWkVPRl9JTlRfXz00IF9fU0laRU9GX0xPTkdfRE9VQkxFX189MTYgX19TSVpFT0ZfTE9OR19MT05HX189OCBfX1NJWkVPRl9MT05HX189OCBfX1NJWkVPRl9QT0lOVEVSX189OCBfX1NJWkVPRl9QVFJESUZGX1RfXz04IF9fU0laRU9GX1NIT1JUX189MiBfX1NJWkVPRl9TSVpFX1RfXz04IF9fU0laRU9GX1dDSEFSX1RfXz00IF9fU0laRU9GX1dJTlRfVF9fPTQgX19TSVpFX01BWF9fPTE4NDQ2NzQ0MDczNzA5NTUxNjE1VUwgX19TSVpFX1RZUEVfXz1sb25nXCB1bnNpZ25lZFwgaW50IF9fU1NFMl9NQVRIX189MSBfX1NTRTJfXz0xIF9fU1NFX01BVEhfXz0xIF9fU1NFX189MSBfX1NURENfSE9TVEVEX189MSBfX1NURENfXz0xIF9fVUlOVDE2X0MoYyk9YyBfX1VJTlQxNl9NQVhfXz02NTUzNSBfX1VJTlQxNl9UWVBFX189c2hvcnRcIHVuc2lnbmVkXCBpbnQgX19VSU5UMzJfQyhjKT1jVSBfX1VJTlQzMl9NQVhfXz00Mjk0OTY3Mjk1VSBfX1VJTlQzMl9UWVBFX189dW5zaWduZWRcIGludCBfX1VJTlQ2NF9DKGMpPWNVTCBfX1VJTlQ2NF9NQVhfXz0xODQ0Njc0NDA3MzcwOTU1MTYxNVVMIF9fVUlOVDY0X1RZUEVfXz1sb25nXCB1bnNpZ25lZFwgaW50IF9fVUlOVDhfQyhjKT1jIF9fVUlOVDhfTUFYX189MjU1IF9fVUlOVDhfVFlQRV9fPXVuc2lnbmVkXCBjaGFyIF9fVUlOVE1BWF9DKGMpPWNVTCBfX1VJTlRNQVhfTUFYX189MTg0NDY3NDQwNzM3MDk1NTE2MTVVTCBfX1VJTlRNQVhfVFlQRV9fPWxvbmdcIHVuc2lnbmVkXCBpbnQgX19VSU5UUFRSX01BWF9fPTE4NDQ2NzQ0MDczNzA5NTUxNjE1VUwgX19VSU5UUFRSX1RZUEVfXz1sb25nXCB1bnNpZ25lZFwgaW50IF9fVUlOVF9GQVNUMTZfTUFYX189MTg0NDY3NDQwNzM3MDk1NTE2MTVVTCBfX1VJTlRfRkFTVDE2X1RZUEVfXz1sb25nXCB1bnNpZ25lZFwgaW50IF9fVUlOVF9GQVNUMzJfTUFYX189MTg0NDY3NDQwNzM3MDk1NTE2MTVVTCBfX1VJTlRfRkFTVDMyX1RZUEVfXz1sb25nXCB1bnNpZ25lZFwgaW50IF9fVUlOVF9GQVNUNjRfTUFYX189MTg0NDY3NDQwNzM3MDk1NTE2MTVVTCBfX1VJTlRfRkFTVDY0X1RZUEVfXz1sb25nXCB1bnNpZ25lZFwgaW50IF9fVUlOVF9GQVNUOF9NQVhfXz0yNTUgX19VSU5UX0ZBU1Q4X1RZUEVfXz11bnNpZ25lZFwgY2hhciBfX1VJTlRfTEVBU1QxNl9NQVhfXz02NTUzNSBfX1VJTlRfTEVBU1QxNl9UWVBFX189c2hvcnRcIHVuc2lnbmVkXCBpbnQgX19VSU5UX0xFQVNUMzJfTUFYX189NDI5NDk2NzI5NVUgX19VSU5UX0xFQVNUMzJfVFlQRV9fPXVuc2lnbmVkXCBpbnQgX19VSU5UX0xFQVNUNjRfTUFYX189MTg0NDY3NDQwNzM3MDk1NTE2MTVVTCBfX1VJTlRfTEVBU1Q2NF9UWVBFX189bG9uZ1wgdW5zaWduZWRcIGludCBfX1VJTlRfTEVBU1Q4X01BWF9fPTI1NSBfX1VJTlRfTEVBU1Q4X1RZUEVfXz11bnNpZ25lZFwgY2hhciBfX1VTRVJfTEFCRUxfUFJFRklYX189IF9fVVNFX0JTRD0xIF9fVVNFX0ZJTEVfT0ZGU0VUNjQ9MSBfX1VTRV9HTlU9MSBfX1VTRV9MQVJHRUZJTEU2ND0xIF9fVVNFX0xBUkdFRklMRT0xIF9fVVNFX01JU0M9MSBfX1VTRV9QT1NJWDE5OTMwOT0xIF9fVVNFX1BPU0lYMTk5NTA2PTEgX19VU0VfUE9TSVgyPTEgX19VU0VfUE9TSVg9MSBfX1VTRV9SRUVOVFJBTlQ9MSBfX1VTRV9TVklEPTEgX19VU0VfVU5JWDk4PTEgX19VU0VfWE9QRU49MSBfX1VTRV9YT1BFTl9FWFRFTkRFRD0xIF9fVkVSU0lPTl9fPSI0LjUuMSIgX19XQ0hBUl9NQVhfXz0yMTQ3NDgzNjQ3IF9fV0NIQVJfTUlOX189KC0yMTQ3NDgzNjQ3XCAtXCAxKSBfX1dDSEFSX1RZUEVfXz1pbnQgX19XSU5UX01BWF9fPTQyOTQ5NjcyOTVVIF9fV0lOVF9NSU5fXz0wVSBfX1dJTlRfVFlQRV9fPXVuc2lnbmVkXCBpbnQgX19hbWQ2ND0xIF9fYW1kNjRfXz0xIF9fZ251X2xpbnV4X189MSBfX2s4PTEgX19rOF9fPTEgX19saW51eD0xIF9fbGludXhfXz0xIF9fdW5peD0xIF9fdW5peF9fPTEgX194ODZfNjQ9MSBfX3g4Nl82NF9fPTEgbGludXg9MSB1bml4PTEnCi1kX252X3ByZXNlcnZlc191dj0ndW5kZWYnCi1kX3ByaW50Zl9mb3JtYXRfbnVsbD0ndW5kZWYnCi1kX3UzMmFsaWduPSdkZWZpbmUnCi1naWRmb3JtYXQ9JyJ1IicKLWkzMnR5cGU9J2ludCcKLWk2NHR5cGU9J2xvbmcnCi1pdnNpemU9JzgnCi1sb25nZGJsc2l6ZT0nMTYnCi1sb25nc2l6ZT0nOCcKLW15dW5hbWU9J2xpbnV4IHFlbXV4ODYtNjQgMi42LjM3LXJjNS15b2N0by1zdGFuZGFyZCsgIzEgc21wIHByZWVtcHQgbW9uIGRlYyAyMCAxNzoxOTo1MCBwc3QgMjAxMCB4ODZfNjQgZ251bGludXggJwotbmVlZF92YV9jb3B5PSdkZWZpbmUnCi1uZXRkYl9ob3N0X3R5cGU9J2NoYXIgKicKLW52X3ByZXNlcnZlc191dl9iaXRzPSc1MycKLXB0cnNpemU9JzgnCi1xdWFka2luZD0nMicKLXF1YWR0eXBlPSdsb25nJwotc0dNVElNRV9tYXg9JzY3NzY4MDM2MTkxNjc2Nzk5Jwotc0dNVElNRV9taW49Jy02MjE2NzIxOTIwMCcKLXNMT0NBTFRJTUVfbWF4PSc2Nzc2ODAzNjE5MTY3Njc5OScKLXNMT0NBTFRJTUVfbWluPSctNjIxNjcyMTkyMDAnCi1zUFJJWFU2ND0nImxYIicKLXNQUklkNjQ9JyJsZCInCi1zUFJJaTY0PScibGkiJwotc1BSSW82ND0nImxvIicKLXNQUkl1NjQ9JyJsdSInCi1zUFJJeDY0PScibHgiJwotc2VsZWN0bWluYml0cz0nNjQnCi1zaXplc2l6ZT0nOCcKLXUzMnR5cGU9J3Vuc2lnbmVkIGludCcKLXU2NHR5cGU9J3Vuc2lnbmVkIGxvbmcnCi11aWRmb3JtYXQ9JyJ1IicKLXVxdWFkdHlwZT0ndW5zaWduZWQgbG9uZycKLXVzZTY0Yml0YWxsPSdkZWZpbmUnCi11c2U2NGJpdGludD0nZGVmaW5lJwotdXZzaXplPSc4JwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2NvbmZpZy5zaC02NC1iZSBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9jb25maWcuc2gtNjQtYmUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMwOGNlM2MuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2NvbmZpZy5zaC02NC1iZQorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLWJ5dGVvcmRlcj0nODc2NTQzMjEnCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvY29uZmlnLnNoLTY0LWxlIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2NvbmZpZy5zaC02NC1sZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjc3ZDJhOS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvY29uZmlnLnNoLTY0LWxlCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotYnl0ZW9yZGVyPScxMjM0NTY3OCcKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9jcm9zcy1nZW5lcmF0ZV91dWRtYXAucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvY3Jvc3MtZ2VuZXJhdGVfdXVkbWFwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzM2UyMjIyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9jcm9zcy1nZW5lcmF0ZV91dWRtYXAucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi1VcHN0cmVhbS1TdGF0dXM6SW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0KLUluZGV4OiBwZXJsLTUuMjQuMS9NYWtlZmlsZS5TSAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHBlcmwtNS4yNC4xLm9yaWcvTWFrZWZpbGUuU0gKLSsrKyBwZXJsLTUuMjQuMS9NYWtlZmlsZS5TSAotQEAgLTcxMCw3ICs3MTAsNyBAQCBiaXRjb3VudC5oOiBnZW5lcmF0ZV91dWRtYXBcJChIT1NUX0VYRV9FCi0gCi0gJHNwaXRzaGVsbCA+PiRNYWtlZmlsZSA8PCchTk8hU1VCUyEnCi0gZ2VuZXJhdGVfdXVkbWFwJChIT1NUX0VYRV9FWFQpOiBnZW5lcmF0ZV91dWRtYXAkKE9CSl9FWFQpCi0tCSQoQ0MpIC1vIGdlbmVyYXRlX3V1ZG1hcCQoRVhFX0VYVCkgJChMREZMQUdTKSBnZW5lcmF0ZV91dWRtYXAkKE9CSl9FWFQpICQobGlicykKLSsJJChCVUlMRF9DQykgLW8gZ2VuZXJhdGVfdXVkbWFwJChFWEVfRVhUKSBnZW5lcmF0ZV91dWRtYXAuYwotIAotICFOTyFTVUJTIQotIDs7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2NwYW4tbWlzc2luZy1zaXRlLWRpcnMuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vY3Bhbi1taXNzaW5nLXNpdGUtZGlycy5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNTk3NzAxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vY3Bhbi1taXNzaW5nLXNpdGUtZGlycy5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsNjMgKzAsMCBAQAotRnJvbSBkMzNkNDY5NjMwMzVlZjcyNjE0NGRjNjZiZTJhZTljMDBhZWMwMzMzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTmlrbyBUeW5pIDxudHluaUBkZWJpYW4ub3JnPgotRGF0ZTogVHVlLCAxNiBPY3QgMjAxMiAyMzowNzo1NiArMDMwMAotU3ViamVjdDogRml4IENQQU46OkZpcnN0VGltZSBkZWZhdWx0cyB3aXRoIG5vbmV4aXN0aW5nIHNpdGUgZGlycyBpZiBhIHBhcmVudAotIGlzIHdyaXRhYmxlCi0KLVRoZSBzaXRlIGRpcmVjdG9yaWVzIGRvIG5vdCBleGlzdCBvbiBhIHR5cGljYWwgRGViaWFuIHN5c3RlbS4gIFRoZSBidWlsZAotc3lzdGVtcyB3aWxsIGNyZWF0ZSB0aGVtIHdoZW4gbmVjZXNzYXJ5LCBzbyB0aGVyZSdzIG5vIG5lZWQgZm9yIGEgcHJvbXB0Ci1zdWdnZXN0aW5nIGxvY2FsOjpsaWIgaWYgdGhlIGZpcnN0IGV4aXN0aW5nIHBhcmVudCBkaXJlY3RvcnkgaXMgd3JpdGFibGUuCi0KLUFsc28sIHdyaXRhYmlsaXR5IG9mIHRoZSBjb3JlIGRpcmVjdG9yaWVzIGlzIG5vdCBpbnRlcmVzdGluZyBhcyB3ZQotZXhwbGljaXRseSB0ZWxsIENQQU4gbm90IHRvIHRvdWNoIHRob3NlIHdpdGggSU5TVEFMTERJUlM9c2l0ZS4KLQotQnVnLURlYmlhbjogaHR0cDovL2J1Z3MuZGViaWFuLm9yZy82ODg4NDIKLVBhdGNoLU5hbWU6IGRlYmlhbi9jcGFuLW1pc3Npbmctc2l0ZS1kaXJzLmRpZmYKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gY3Bhbi9DUEFOL2xpYi9DUEFOL0ZpcnN0VGltZS5wbSB8IDMxICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMjcgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NwYW4vQ1BBTi9saWIvQ1BBTi9GaXJzdFRpbWUucG0gYi9jcGFuL0NQQU4vbGliL0NQQU4vRmlyc3RUaW1lLnBtCi1pbmRleCAzMzA1NGNkLi43YjBiZWNmIDEwMDY0NAotLS0tIGEvY3Bhbi9DUEFOL2xpYi9DUEFOL0ZpcnN0VGltZS5wbQotKysrIGIvY3Bhbi9DUEFOL2xpYi9DUEFOL0ZpcnN0VGltZS5wbQotQEAgLTIwNTcsMTEgKzIwNTcsMzQgQEAgc3ViIF9wcmludF91cmxsaXN0IHsKLSAgICAgfTsKLSB9Ci0gCi0rIyBEZWJpYW4gbW9kaWZpY2F0aW9uOiByZXR1cm4gdHJ1ZSBpZiB0aGlzIGRpcmVjdG9yeQotKyMgb3IgdGhlIGZpcnN0IGV4aXN0aW5nIG9uZSB1cHdhcmRzIGlzIHdyaXRhYmxlCi0rc3ViIF9jYW5fd3JpdGVfdG9fdGhpc19vcl9wYXJlbnQgewotKyAgICBteSAoJGRpcikgPSBAXzsKLSsgICAgbXkgQHBhcnRzID0gRmlsZTo6U3BlYy0+c3BsaXRkaXIoJGRpcik7Ci0rICAgIHdoaWxlIChAcGFydHMpIHsKLSsgICAgICAgIG15ICRjdXIgPSBGaWxlOjpTcGVjLT5jYXRkaXIoQHBhcnRzKTsKLSsgICAgICAgIHJldHVybiAxIGlmIC13ICRjdXI7Ci0rICAgICAgICByZXR1cm4gMCBpZiAtZSBfOwotKyAgICAgICAgcG9wIEBwYXJ0czsKLSsgICAgfQotKyAgICByZXR1cm4gMDsKLSt9Ci0rCi0rIyBEZWJpYW4gc3BlY2lmaWMgbW9kaWZpY2F0aW9uOiB0aGUgc2l0ZSBkaXJlY3RvcmllcyBkb24ndCBuZWNlc3NhcmlseQotKyMgZXhpc3Qgb24gdGhlIHN5c3RlbSwgYnV0IHRoZSBidWlsZCBzeXN0ZW1zIGNyZWF0ZSB0aGVtIHdoZW4gbmVjZXNzYXJ5LAotKyMgc28gcmV0dXJuIHRydWUgaWYgdGhlIGZpcnN0IGV4aXN0aW5nIGRpcmVjdG9yeSB1cHdhcmRzIGlzIHdyaXRhYmxlCi0rIwotKyMgRnVydGhlcm1vcmUsIG9uIERlYmlhbiwgb25seSB0ZXN0IHRoZSBzaXRlIGRpcmVjdG9yaWVzCi0rIyAoaW5zdGFsbHNpdGUqLCBleHBhbmRlZCB0byAvdXNyL2xvY2FsL3tzaGFyZSxsaWJ9L3BlcmwpLAotKyMgbm90IHRoZSBjb3JlIG9uZXMgCi0rIyAoaW5zdGFsbCpsaWIsIGV4cGFuZGVkIHRvIC91c3Ive3NoYXJlLGxpYn0vcGVybCkuCi0rIyBXZSBwYXNzIElOU1RBTExESVJTPXNpdGUgYnkgZGVmYXVsdCB0byBrZWVwIENQQU4gZnJvbSB0b3VjaGluZwotKyMgdGhlIGNvcmUgZGlyZWN0b3JpZXMuCi0rCi0gc3ViIF9jYW5fd3JpdGVfdG9fbGliZGlycyB7Ci0tICAgIHJldHVybiAtdyAkQ29uZmlne2luc3RhbGxwcml2bGlifQotLSAgICAgICAgJiYgLXcgJENvbmZpZ3tpbnN0YWxsYXJjaGxpYn0KLS0gICAgICAgICYmIC13ICRDb25maWd7aW5zdGFsbHNpdGVsaWJ9Ci0tICAgICAgICAmJiAtdyAkQ29uZmlne2luc3RhbGxzaXRlYXJjaH0KLSsgICAgcmV0dXJuIF9jYW5fd3JpdGVfdG9fdGhpc19vcl9wYXJlbnQoJENvbmZpZ3tpbnN0YWxsc2l0ZWxpYn0pCi0rICAgICAgICAmJiBfY2FuX3dyaXRlX3RvX3RoaXNfb3JfcGFyZW50KCRDb25maWd7aW5zdGFsbHNpdGVhcmNofSkKLSB9Ci0gCi0gc3ViIF91c2luZ19pbnN0YWxsYmFzZSB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2NwYW5fZGVmaW5zdGFsbGRpcnMuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vY3Bhbl9kZWZpbnN0YWxsZGlycy5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NzJmMTQ5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vY3Bhbl9kZWZpbnN0YWxsZGlycy5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotRnJvbSA1ZmYxZjIxNDg0YWFiNjhlZmUzMjFmZjRiYTVkMzU5MjhmNzJhZjk2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQnJlbmRhbiBPJ0RlYSA8Ym9kQGRlYmlhbi5vcmc+Ci1EYXRlOiBUdWUsIDggTWFyIDIwMDUgMTk6MzA6MzggKzExMDAKLVN1YmplY3Q6IFByb3ZpZGUgYSBzZW5zaWJsZSBJTlNUQUxMRElSUyBkZWZhdWx0IGZvciBtb2R1bGVzIGluc3RhbGxlZCBmcm9tCi0gQ1BBTi4KLQotU29tZSBtb2R1bGVzIHdoaWNoIGFyZSBpbmNsdWRlZCBpbiBjb3JlIHNldCBJTlNUQUxMRElSUyA9PiAncGVybCcKLWV4cGxpY2l0bHkgaW4gTWFrZWZpbGUuUEwgb3IgQnVpbGQuUEwuICBUaGlzIG1ha2VzIHNlbnNlIGZvciB0aGUgbm9ybWFsIEBJTkMKLW9yZGVyaW5nLCBidXQgbm90IG91cnMuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9jcGFuX2RlZmluc3RhbGxkaXJzLmRpZmYKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gY3Bhbi9DUEFOL2xpYi9DUEFOL0ZpcnN0VGltZS5wbSB8IDQgKystLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jcGFuL0NQQU4vbGliL0NQQU4vRmlyc3RUaW1lLnBtIGIvY3Bhbi9DUEFOL2xpYi9DUEFOL0ZpcnN0VGltZS5wbQotaW5kZXggOTE4ZTAwOS4uMzMwNTRjZCAxMDA2NDQKLS0tLSBhL2NwYW4vQ1BBTi9saWIvQ1BBTi9GaXJzdFRpbWUucG0KLSsrKyBiL2NwYW4vQ1BBTi9saWIvQ1BBTi9GaXJzdFRpbWUucG0KLUBAIC0xMDI0LDcgKzEwMjQsNyBAQCBzdWIgaW5pdCB7Ci0gICAgIG15X3Byb21wdF9sb29wKHByZWZlcl9pbnN0YWxsZXIgPT4gJ01CJywgJG1hdGNoZXIsICdNQnxFVU1NfFJBTkQnKTsKLSAKLSAgICAgaWYgKCEkbWF0Y2hlciBvciAnbWFrZXBsX2FyZyBtYWtlX2FyZycgPX4gLyRtYXRjaGVyLykgewotLSAgICAgICAgbXlfZGZsdF9wcm9tcHQobWFrZXBsX2FyZyA9PiAiIiwgJG1hdGNoZXIpOwotKyAgICAgICAgbXlfZGZsdF9wcm9tcHQobWFrZXBsX2FyZyA9PiAiSU5TVEFMTERJUlM9c2l0ZSIsICRtYXRjaGVyKTsKLSAgICAgICAgIG15X2RmbHRfcHJvbXB0KG1ha2VfYXJnID0+ICIiLCAkbWF0Y2hlcik7Ci0gICAgICAgICBpZiAoICRDUEFOOjpDb25maWctPnttYWtlcGxfYXJnfSA9fiAvTElCUz18SU5DPS8gKSB7Ci0gICAgICAgICAgICAgJENQQU46OkZyb250ZW5kLT5teXdhcm4oCi1AQCAtMTA1Niw3ICsxMDU2LDcgQEAgc3ViIGluaXQgewotICAgICBteV9kZmx0X3Byb21wdChtYWtlX2luc3RhbGxfYXJnID0+ICRDUEFOOjpDb25maWctPnttYWtlX2FyZ30gfHwgIiIsCi0gICAgICAgICAgICAgICAgICAgICRtYXRjaGVyKTsKLSAKLS0gICAgbXlfZGZsdF9wcm9tcHQobWJ1aWxkcGxfYXJnID0+ICIiLCAkbWF0Y2hlcik7Ci0rICAgIG15X2RmbHRfcHJvbXB0KG1idWlsZHBsX2FyZyA9PiAiLS1pbnN0YWxsZGlycyBzaXRlIiwgJG1hdGNoZXIpOwotICAgICBteV9kZmx0X3Byb21wdChtYnVpbGRfYXJnID0+ICIiLCAkbWF0Y2hlcik7Ci0gCi0gICAgIGlmIChleGlzdHMgJENQQU46OkhhbmRsZUNvbmZpZzo6a2V5c3ttYnVpbGRfaW5zdGFsbF9idWlsZF9jb21tYW5kfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9kYl9maWxlX3Zlci5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9kYl9maWxlX3Zlci5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwODYxNjUwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZGJfZmlsZV92ZXIuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLUZyb20gMDE0MjFmOGE4MGQ1YzYyMzk1OTY5NWJhMmI4MTY3ZjMwMTEyZDMzMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEJyZW5kYW4gTydEZWEgPGJvZEBkZWJpYW4ub3JnPgotRGF0ZTogRnJpLCAxNiBEZWMgMjAwNSAwMTozMjoxNCArMTEwMAotU3ViamVjdDogUmVtb3ZlIG92ZXJseSByZXN0cmljdGl2ZSBEQl9GaWxlIHZlcnNpb24gY2hlY2suCi0KLUJ1Zy1EZWJpYW46IGh0dHA6Ly9idWdzLmRlYmlhbi5vcmcvMzQwMDQ3Ci0KLVBhY2thZ2UgZGVwZW5kZW5jaWVzIGVuc3VyZSB0aGUgY29ycmVjdCBsaWJyYXJ5IGlzIGxpbmtlZCBhdCBydW4tdGltZS4KLQotUGF0Y2gtTmFtZTogZGViaWFuL2RiX2ZpbGVfdmVyLmRpZmYKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gY3Bhbi9EQl9GaWxlL3ZlcnNpb24uYyB8IDIgKysKLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9jcGFuL0RCX0ZpbGUvdmVyc2lvbi5jIGIvY3Bhbi9EQl9GaWxlL3ZlcnNpb24uYwotaW5kZXggZTAxZjZmNi4uNTQ0ZTZlZSAxMDA2NDQKLS0tLSBhL2NwYW4vREJfRmlsZS92ZXJzaW9uLmMKLSsrKyBiL2NwYW4vREJfRmlsZS92ZXJzaW9uLmMKLUBAIC00OCw2ICs0OCw3IEBAIF9fZ2V0QmVya2VsZXlEQkluZm8oKQotIAotICAgICAodm9pZClkYl92ZXJzaW9uKCZNYWpvciwgJk1pbm9yLCAmUGF0Y2gpIDsKLSAKLSsjaWZuZGVmIERFQklBTgotICAgICAvKiBDaGVjayB0aGF0IHRoZSB2ZXJzaW9ucyBvZiBkYi5oIGFuZCBsaWJkYi5hIGFyZSB0aGUgc2FtZSAqLwotICAgICBpZiAoTWFqb3IgIT0gREJfVkVSU0lPTl9NQUpPUiB8fCBNaW5vciAhPSBEQl9WRVJTSU9OX01JTk9SICkKLSAJCS8qIHx8IFBhdGNoICE9IERCX1ZFUlNJT05fUEFUQ0gpICovCi1AQCAtNTUsNiArNTYsNyBAQCBfX2dldEJlcmtlbGV5REJJbmZvKCkKLSAJY3JvYWsoIlxuREJfRmlsZSB3YXMgYnVpbGQgd2l0aCBsaWJkYiB2ZXJzaW9uICVkLiVkLiVkLFxuYnV0IHlvdSBhcmUgYXR0ZW1wdGluZyB0byBydW4gaXQgd2l0aCBsaWJkYiB2ZXJzaW9uICVkLiVkLiVkXG4iLAotIAkJREJfVkVSU0lPTl9NQUpPUiwgREJfVkVSU0lPTl9NSU5PUiwgREJfVkVSU0lPTl9QQVRDSCwgCi0gCQlNYWpvciwgTWlub3IsIFBhdGNoKSA7Ci0rI2VuZGlmIC8qIERFQklBTiAqLwotICAgICAKLSAgICAgLyogY2hlY2sgdGhhdCBsaWJkYiBpcyByZWNlbnQgZW5vdWdoICAtLSB3ZSBuZWVkIDIuMy40IG9yIGdyZWF0ZXIgKi8KLSAgICAgaWYgKE1ham9yID09IDIgJiYgKE1pbm9yIDwgMyB8fCAoTWlub3IgPT0gIDMgJiYgUGF0Y2ggPCA0KSkpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2RlcHJlY2F0ZS13aXRoLWFwdC5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9kZXByZWNhdGUtd2l0aC1hcHQuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzJhYzRhMy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2RlcHJlY2F0ZS13aXRoLWFwdC5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAotRnJvbSBkZWY0YWEzODE3Zjk4YWFlNjI1ZTYwMWI3OTFlZjA2ODI3NmYwNWQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRG9taW5pYyBIYXJncmVhdmVzIDxkb21AZWFydGgubGk+Ci1EYXRlOiBNb24sIDE3IE1heSAyMDEwIDEzOjIzOjA3ICswMzAwCi1TdWJqZWN0OiBQb2ludCB1c2VycyB0byBEZWJpYW4gcGFja2FnZXMgb2YgZGVwcmVjYXRlZCBjb3JlIG1vZHVsZXMKLQotQnVnLURlYmlhbjogaHR0cDovL2J1Z3MuZGViaWFuLm9yZy83NDc2MjgKLQotU2V2ZXJhbCBtb2R1bGVzIGFyZSBiZWluZyBkZXByZWNhdGVkIHdpdGggcGVybCA1LjIwLgotVG8gZ2V0IGEgY2xlYW4gdHJhbnNpdGlvbiwgcGVybC9wZXJsLW1vZHVsZXMgaXMgZ29pbmcgdG8gcmVjb21tZW5kIHRoZQotc2VwYXJhdGUgRGViaWFuIHBhY2thZ2VzIG9mIHRoZXNlIGZvciBvbmUgcmVsZWFzZSBjeWNsZSBzbyB0aGF0IHRoZXkgd2lsbCBiZQotcHVsbGVkIGluIGJ5IGRlZmF1bHQgb24gdXBncmFkZXMuIFRoaXMgaXMgdGFraW5nIHBsYWNlIGZvciBwZXJsIDUuMjAvamVzc2llLgotCi1Ib3dldmVyLCBvbiBzeXN0ZW1zIGNvbmZpZ3VyZWQgdG8gaWdub3JlIHJlY29tbWVuZGF0aW9ucyB0aGUgZGVwcmVjYXRpb24KLXdhcm5pbmdzIHdpbGwgc3RpbGwgYmUgdXNlZnVsLCBzbyBtb2RpZnkgdGhlbSBzbGlnaHRseSB0byBwb2ludCB0byB0aGUKLXNlcGFyYXRlIHBhY2thZ2VzIGluc3RlYWQuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9kZXByZWNhdGUtd2l0aC1hcHQuZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBsaWIvZGVwcmVjYXRlLnBtIHwgMTUgKysrKysrKysrKysrKystCi0gMSBmaWxlIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2xpYi9kZXByZWNhdGUucG0gYi9saWIvZGVwcmVjYXRlLnBtCi1pbmRleCA0N2JjMTEyLi5iMGM2MWRmIDEwMDY0NAotLS0tIGEvbGliL2RlcHJlY2F0ZS5wbQotKysrIGIvbGliL2RlcHJlY2F0ZS5wbQotQEAgLTcsNiArNywxMyBAQCBvdXIgJFZFUlNJT04gPSAwLjAzOwotIG91ciAlQ29uZmlnOwotIHVubGVzcyAoJUNvbmZpZykgeyByZXF1aXJlIENvbmZpZzsgKkNvbmZpZyA9IFwlQ29uZmlnOjpDb25maWc7IH0KLSAKLSsjIERlYmlhbi1zcGVjaWZpYyBjaGFuZ2U6IHJlY29tbWVuZCB0aGUgc2VwYXJhdGUgRGViaWFuIHBhY2thZ2VzIG9mCi0rIyBkZXByZWNhdGVkIG1vZHVsZXMgd2hlcmUgYXZhaWxhYmxlCi0rCi0rb3VyICVERUJJQU5fUEFDS0FHRVMgPSAoCi0rICAgICMgTm9uZSBmb3IgdGhlIHBlcmwgNS4yMiBjeWNsZQotKyk7Ci0rCi0gIyBUaGlzIGlzbid0IGEgcHVibGljIEFQSS4gSXQncyBpbnRlcm5hbCB0byBjb2RlIG1haW50YWluZWQgYnkgdGhlIHBlcmwtcG9ydGVycwotICMgSWYgeW91IHdvdWxkIGxpa2UgaXQgdG8gYmUgYSBwdWJsaWMgQVBJLCBwbGVhc2Ugc2VuZCBhIHBhdGNoIHdpdGgKLSAjIGRvY3VtZW50YXRpb24gYW5kIHRlc3RzLiBVbnRpbCB0aGVuLCBpdCBtYXkgY2hhbmdlIHdpdGhvdXQgd2FybmluZy4KLUBAIC01OCw5ICs2NSwxNSBAQCBFT00KLSAJaWYgKGRlZmluZWQgJGNhbGxlcnNfYml0bWFzawotIAkgICAgJiYgKHZlYygkY2FsbGVyc19iaXRtYXNrLCAkd2FybmluZ3M6Ok9mZnNldHN7ZGVwcmVjYXRlZH0sIDEpCi0gCQl8fCB2ZWMoJGNhbGxlcnNfYml0bWFzaywgJHdhcm5pbmdzOjpPZmZzZXRze2FsbH0sIDEpKSkgewotLQkgICAgd2FybiA8PCJFT00iOwotKwkJaWYgKG15ICRkZWIgPSAkREVCSUFOX1BBQ0tBR0VTeyRwYWNrYWdlfSkgewotKwkJICAgIHdhcm4gPDwiRU9NIjsKLSskcGFja2FnZSB3aWxsIGJlIHJlbW92ZWQgZnJvbSB0aGUgUGVybCBjb3JlIGRpc3RyaWJ1dGlvbiBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlLiBQbGVhc2UgaW5zdGFsbCB0aGUgc2VwYXJhdGUgJGRlYiBwYWNrYWdlLiBJdCBpcyBiZWluZyB1c2VkIGF0ICRjYWxsX2ZpbGUsIGxpbmUgJGNhbGxfbGluZS4KLStFT00KLSsJCX0gZWxzZSB7Ci0rCQkgICAgd2FybiA8PCJFT00iOwotICRwYWNrYWdlIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIHRoZSBQZXJsIGNvcmUgZGlzdHJpYnV0aW9uIGluIHRoZSBuZXh0IG1ham9yIHJlbGVhc2UuIFBsZWFzZSBpbnN0YWxsIGl0IGZyb20gQ1BBTi4gSXQgaXMgYmVpbmcgdXNlZCBhdCAkY2FsbF9maWxlLCBsaW5lICRjYWxsX2xpbmUuCi0gRU9NCi0rCQl9Ci0gCX0KLSAgICAgfQotIH0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZG9jX2luZm8uZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZG9jX2luZm8uZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDY2MmVjZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2RvY19pbmZvLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1Gcm9tIGUxOGY4MWU2OWM1NWQ2OThhYmQyOTNlNzEwNjNkNmI2YjI3NWNjMDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCcmVuZGFuIE8nRGVhIDxib2RAZGViaWFuLm9yZz4KLURhdGU6IEZyaSwgMTggTWFyIDIwMDUgMjI6MjI6MjUgKzExMDAKLVN1YmplY3Q6IFJlcGxhY2UgZ2VuZXJpYyBtYW4oMSkgaW5zdHJ1Y3Rpb25zIHdpdGggRGViaWFuLXNwZWNpZmljIGluZm9ybWF0aW9uLgotCi1JbmRpY2F0ZSB0aGF0IHRoZSB1c2VyIG5lZWRzIHRvIGluc3RhbGwgdGhlIHBlcmwtZG9jIHBhY2thZ2UuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9kb2NfaW5mby5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIHBvZC9wZXJsLnBvZCB8IDEyICsrKysrKysrKystLQotIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvcG9kL3BlcmwucG9kIGIvcG9kL3BlcmwucG9kCi1pbmRleCAzNjRlOTU3Li5mOTdlMTAzIDEwMDY0NAotLS0tIGEvcG9kL3BlcmwucG9kCi0rKysgYi9wb2QvcGVybC5wb2QKLUBAIC0yOTEsOCArMjkxLDE2IEBAIGF1eCBjMnBoIGgycGggaDJ4cyBwZXJsYnVnIHBsMnBtIHBvZDJodG1sIHBvZDJtYW4gc3BsYWluIHhzdWJwcAotIAotID1mb3IgYnVpbGR0b2MgX19FTkRfXwotIAotLU9uIGEgVW5peC1saWtlIHN5c3RlbSwgdGhlc2UgZG9jdW1lbnRhdGlvbiBmaWxlcyB3aWxsIHVzdWFsbHkgYWxzbyBiZQotLWF2YWlsYWJsZSBhcyBtYW5wYWdlcyBmb3IgdXNlIHdpdGggdGhlIEY8bWFuPiBwcm9ncmFtLgotK09uIERlYmlhbiBzeXN0ZW1zLCB5b3UgbmVlZCB0byBpbnN0YWxsIHRoZSBCPHBlcmwtZG9jPiBwYWNrYWdlIHdoaWNoCi0rY29udGFpbnMgdGhlIG1ham9yaXR5IG9mIHRoZSBzdGFuZGFyZCBQZXJsIGRvY3VtZW50YXRpb24gYW5kIHRoZQotK0Y8cGVybGRvYz4gcHJvZ3JhbS4KLSsKLStFeHRlbnNpdmUgYWRkaXRpb25hbCBkb2N1bWVudGF0aW9uIGZvciBQZXJsIG1vZHVsZXMgaXMgYXZhaWxhYmxlLCBib3RoCi0rdGhvc2UgZGlzdHJpYnV0ZWQgd2l0aCBQZXJsIGFuZCB0aGlyZC1wYXJ0eSBtb2R1bGVzIHdoaWNoIGFyZSBwYWNrYWdlZAotK29yIGxvY2FsbHkgaW5zdGFsbGVkLgotKwotK1lvdSBzaG91bGQgYmUgYWJsZSB0byB2aWV3IFBlcmwncyBkb2N1bWVudGF0aW9uIHdpdGggeW91ciBtYW4oMSkKLStwcm9ncmFtIG9yIHBlcmxkb2MoMSkuCi0gCi0gU29tZSBkb2N1bWVudGF0aW9uIGlzIG5vdCBhdmFpbGFibGUgYXMgbWFuIHBhZ2VzLCBzbyBpZiBhCi0gY3Jvc3MtcmVmZXJlbmNlIGlzIG5vdCBmb3VuZCBieSBtYW4sIHRyeSBpdCB3aXRoIEw8cGVybGRvYz4uICBQZXJsZG9jIGNhbgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9lbmMyeHNfaW5jLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2VuYzJ4c19pbmMuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjNiZDU4Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2VuYzJ4c19pbmMuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDcxICswLDAgQEAKLUZyb20gN2ZlNTlhM2QwNjAxYzZkODYzNGVhZTRmOTlkYWUzMDI0Y2QwMmE5MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEJyZW5kYW4gTydEZWEgPGJvZEBkZWJpYW4ub3JnPgotRGF0ZTogVHVlLCA4IE1hciAyMDA1IDE5OjMwOjM4ICsxMTAwCi1TdWJqZWN0OiBUd2VhayBlbmMyeHMgdG8gZm9sbG93IHN5bWxpbmtzIGFuZCBpZ25vcmUgbWlzc2luZyBASU5DIGRpcmVjdG9yaWVzLgotCi1CdWctRGViaWFuOiBodHRwOi8vYnVncy5kZWJpYW4ub3JnLzI5MDMzNgotCi0tIGlnbm9yZSBtaXNzaW5nIGRpcmVjdG9yaWVzLAotLSBmb2xsb3cgc3ltbGlua3MgKC91c3Ivc2hhcmUvcGVybC81LjggLT4gNS44LjQpLgotLSBmaWx0ZXIgIi4iIG91dCB3aGVuIHJ1bm5pbmcgImVuYzJ4cyAtQyIsIGl0J3MgdW5uZWNlc3NhcnkgYW5kIGNhdXNlcwotICBpc3N1ZXMgd2l0aCBmb2xsb3cgPT4gMSAoc2VlICM2MDM2ODYgYW5kIFtydC5jcGFuLm9yZyAjNjQ1ODVdKQotCi1QYXRjaC1OYW1lOiBkZWJpYW4vZW5jMnhzX2luYy5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNwYW4vRW5jb2RlL2Jpbi9lbmMyeHMgfCA4ICsrKystLS0tCi0gdC9wb3J0aW5nL2N1c3RvbWl6ZWQudCB8IDMgKysrCi0gMiBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jcGFuL0VuY29kZS9iaW4vZW5jMnhzIGIvY3Bhbi9FbmNvZGUvYmluL2VuYzJ4cwotaW5kZXggMTlmMmIyYi4uNGQ2NGUzOCAxMDA2NDQKLS0tLSBhL2NwYW4vRW5jb2RlL2Jpbi9lbmMyeHMKLSsrKyBiL2NwYW4vRW5jb2RlL2Jpbi9lbmMyeHMKLUBAIC05NDQsMTEgKzk0NCwxMSBAQCB1c2UgdmFycyBxdygKLSBzdWIgZmluZF9lMnh7Ci0gICAgIGV2YWwgeyByZXF1aXJlIEZpbGU6OkZpbmQ7IH07Ci0gICAgIG15IChAaW5jLCAlZTJ4X2Rpcik7Ci0tICAgIGZvciBteSAkaW5jIChASU5DKXsKLSsgICAgZm9yIG15ICRpbmMgKGdyZXAgLWQsIEBJTkMpewotICAgICBwdXNoIEBpbmMsICRpbmMgdW5sZXNzICRpbmMgZXEgJy4nOyAjc2tpcCBjdXJyZW50IGRpcgotICAgICB9Ci0gICAgIEZpbGU6OkZpbmQ6OmZpbmQoCi0tICAgICAgICAgc3ViIHsKLSsgICAgICAgICB7IHdhbnRlZCA9PiBzdWIgewotICAgICAgICAgIG15ICgkZGV2LCRpbm8sJG1vZGUsJG5saW5rLCR1aWQsJGdpZCwkcmRldiwkc2l6ZSwKLSAgICAgICAgICAgICAgJGF0aW1lLCRtdGltZSwkY3RpbWUsJGJsa3NpemUsJGJsb2NrcykKLSAgICAgICAgICAgICAgPSBsc3RhdCgkXykgb3IgcmV0dXJuOwotQEAgLTk1OCw3ICs5NTgsNyBAQCBzdWIgZmluZF9lMnh7Ci0gICAgICAgICAgICAgICRlMnhfZGlyeyRGaWxlOjpGaW5kOjpkaXJ9IHx8PSAkbXRpbWU7Ci0gICAgICAgICAgfQotICAgICAgICAgIHJldHVybjsKLS0gICAgICAgICB9LCBAaW5jKTsKLSsgICAgICAgICB9LCBmb2xsb3cgPT4gMX0sIEBpbmMpOwotICAgICB3YXJuIGpvaW4oIlxuIiwga2V5cyAlZTJ4X2RpciksICJcbiI7Ci0gICAgIGZvciBteSAkZCAoc29ydCB7JGUyeF9kaXJ7JGF9IDw9PiAkZTJ4X2RpcnskYn19IGtleXMgJWUyeF9kaXIpewotICAgICAkX0UyWCA9ICRkOwotQEAgLTEwMjUsNyArMTAyNSw3IEBAIHN1YiBtYWtlX2NvbmZpZ2xvY2FsX3BtIHsKLSAJICAgICRMb2NhbE1vZHskZW5jfSB8fD0gJG1vZDsKLSAJfQotICAgICB9OwotLSAgICBGaWxlOjpGaW5kOjpmaW5kKHt3YW50ZWQgPT4gJHdhbnRlZH0sIEBJTkMpOwotKyAgICBGaWxlOjpGaW5kOjpmaW5kKHt3YW50ZWQgPT4gJHdhbnRlZCwgZm9sbG93ID0+IDF9LCBncmVwIC1kICYmICEvXlwuLywgQElOQyk7Ci0gICAgICRfTW9kTGluZXMgPSAiIjsKLSAgICAgZm9yIG15ICRlbmMgKCBzb3J0IGtleXMgJUxvY2FsTW9kICkgewotICAgICAgICAgJF9Nb2RMaW5lcyAuPQotZGlmZiAtLWdpdCBhL3QvcG9ydGluZy9jdXN0b21pemVkLnQgYi90L3BvcnRpbmcvY3VzdG9taXplZC50Ci1pbmRleCA0NWZjYWZiLi4zYmQ2YWRiIDEwMDY0NAotLS0tIGEvdC9wb3J0aW5nL2N1c3RvbWl6ZWQudAotKysrIGIvdC9wb3J0aW5nL2N1c3RvbWl6ZWQudAotQEAgLTEwMSw4ICsxMDEsMTEgQEAgZm9yZWFjaCBteSAkbW9kdWxlICggc29ydCBrZXlzICVNb2R1bGVzICkgewotICAgICAgIHByaW50ICRkYXRhX2ZoIGpvaW4oJyAnLCAkbW9kdWxlLCAkZmlsZSwgJGlkKSwgIlxuIjsKLSAgICAgICBuZXh0OwotICAgICB9Ci0rU0tJUDogewotKyAgICBza2lwKCIkZmlsZSBtb2RpZmllZCBmb3IgRGViaWFuIiwgMSkgaWYgJGZpbGUgZXEgJ2NwYW4vRW5jb2RlL2Jpbi9lbmMyeHMnOwotICAgICBteSAkc2hvdWxkX2JlID0gJGN1c3RvbWlzZWR7ICRtb2R1bGUgfS0+eyAkZmlsZSB9OwotICAgICBpcyggJGlkLCAkc2hvdWxkX2JlLCAiU0hBIGZvciAkZmlsZSBtYXRjaGVzIHN0YXNoZWQgU0hBIiApOwotK30KLSAgIH0KLSB9Ci0gCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2V4dHV0aWxzX3NldF9saWJwZXJsX3BhdGguZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZXh0dXRpbHNfc2V0X2xpYnBlcmxfcGF0aC5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMDIzMDM4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZXh0dXRpbHNfc2V0X2xpYnBlcmxfcGF0aC5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotRnJvbSA0MzEyNzUwNzhiMDQ5MGQyZTA5MjQ0MmQ5NTgyYmUwNmJiOTViMzU0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTmlrbyBUeW5pIDxudHluaUBkZWJpYW4ub3JnPgotRGF0ZTogU2F0LCAxMCBNYXkgMjAxNCAyMzozNDoxNCArMDMwMAotU3ViamVjdDogRVU6TU06IHNldCBsb2NhdGlvbiBvZiBsaWJwZXJsLmEgdW5kZXIgL3Vzci9saWIKLQotVGhlIERlYmlhbiBwYWNrYWdpbmcgbW92ZXMgbGlicGVybC5hIGEgY291cGxlIG9mIGxldmVscyB1cCBmcm9tIHRoZQotQ09SRSBkaXJlY3RvcnkgdG8gbWF0Y2ggb3RoZXIgc3RhdGljIGxpYnJhcmllcy4KLQotUGF0Y2gtTmFtZTogZGViaWFuL2V4dHV0aWxzX3NldF9saWJwZXJsX3BhdGguZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbSB8IDIgKy0KLSBwcC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KLWluZGV4IDVmMWI4N2YuLjU3MGE2MzEgMTAwNjQ0Ci0tLS0gYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQotKysrIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KLUBAIC0yNTA1LDcgKzI1MDUsNyBAQCBNQVBfUFJFTElCUyAgID0gJENvbmZpZ3twZXJsbGlic30gJENvbmZpZ3tjcnlwdGxpYn0KLSAJKCRscGVybCA9ICRsaWJwZXJsKSA9fiBzL1wkXChBXCkvJHNlbGYtPntMSUJfRVhUfS87Ci0gICAgIH0KLSAgICAgdW5sZXNzICgkbGlicGVybCAmJiAtZiAkbHBlcmwpIHsgIyBJbHlhJ3MgY29kZS4uLgotLQlteSAkZGlyID0gJHNlbGYtPntQRVJMX1NSQ30gfHwgIiRzZWxmLT57UEVSTF9BUkNITElCfS9DT1JFIjsKLSsJbXkgJGRpciA9ICRzZWxmLT57UEVSTF9TUkN9IHx8ICIkc2VsZi0+e1BFUkxfQVJDSExJQn0vLi4vLi4iOwotIAkkZGlyID0gIiRzZWxmLT57UEVSTF9BUkNITElCfS8uLiIgaWYgJHNlbGYtPntVTklOU1RBTExFRF9QRVJMfTsKLSAJJGxpYnBlcmwgfHw9ICJsaWJwZXJsJHNlbGYtPntMSUJfRVhUfSI7Ci0gCSRsaWJwZXJsICAgPSAiJGRpci8kbGlicGVybCI7Ci1kaWZmIC0tZ2l0IGEvcHAuYyBiL3BwLmMKLWluZGV4IDQyZjE1NmEuLjc3YzEyNzkgMTAwNjQ0Ci0tLS0gYS9wcC5jCi0rKysgYi9wcC5jCi1AQCAtMSw0ICsxLDQgQEAKLS0vKiAgICBwcC5jCi0rIC8qICAgIHBwLmMKLSAgKgotICAqICAgIENvcHlyaWdodCAoQykgMTk5MSwgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCwKLSAgKiAgICAyMDAxLCAyMDAyLCAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4IGJ5IExhcnJ5IFdhbGwgYW5kIG90aGVycwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9mYWtlcm9vdC5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9mYWtlcm9vdC5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZGYzNGQxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZmFrZXJvb3QuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLUZyb20gMjdhZTdiMTgwNzhkODAxYTJjOTQzYWE2ZGUyZjdlOTgwODE3NzI1MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEJyZW5kYW4gTydEZWEgPGJvZEBkZWJpYW4ub3JnPgotRGF0ZTogRnJpLCAxOCBNYXIgMjAwNSAyMjoyMjoyNSArMTEwMAotU3ViamVjdDogUG9zdHBvbmUgTERfTElCUkFSWV9QQVRIIGV2YWx1YXRpb24gdG8gdGhlIGJpbmFyeSB0YXJnZXRzLgotCi1Nb2RpZnkgdGhlIHNldHRpbmcgb2YgTERfTElCUkFSWV9QQVRIIHRvIGFwcGVuZCBwcmUtZXhpc3RpbmcgdmFsdWVzIGF0IHRoZQotdGltZSB0aGUgcnVsZSBpcyBldmFsdWF0ZWQgcmF0aGVyIHRoYW4gd2hlbiB0aGUgTWFrZWZpbGUgaXMgY3JlYXRlZC4KLQotVGhpcyBpcyByZXF1aXJlZCB3aGVuIGJ1aWxkaW5nIHBhY2thZ2VzIHdpdGggZHBrZy1idWlsZHBhY2thZ2UgYW5kIGZha2Vyb290LAotc2luY2UgZmFrZXJvb3QgKHdoaWNoIG5vdyBzZXRzIExEX0xJQlJBUllfUEFUSCkgaXMgbm90IHVzZWQgZm9yIHRoZSAiYnVpbGQiCi1ydWxlIHdoZXJlIHRoZSBNYWtlZmlsZSBpcyBjcmVhdGVkLCBidXQgaXMgZm9yIHRoZSBjbGVhbi9iaW5hcnkqIHRhcmdldHMuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9mYWtlcm9vdC5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIE1ha2VmaWxlLlNIIHwgNyArKy0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL01ha2VmaWxlLlNIIGIvTWFrZWZpbGUuU0gKLWluZGV4IDAzNGQ4MTIuLjA0ZGQ3ZDUgMTAwNzU1Ci0tLS0gYS9NYWtlZmlsZS5TSAotKysrIGIvTWFrZWZpbGUuU0gKLUBAIC0zOSwxMCArMzksNyBAQCBjYXNlICIkdXNlc2hycGxpYiIgaW4KLSB0cnVlKQotIAkjIFByZWZpeCBhbGwgcnVucyBvZiAnbWluaXBlcmwnIGFuZCAncGVybCcgd2l0aAotIAkjICRsZGxpYnB0aCBzbyB0aGF0IC4vcGVybCBmaW5kcyAqdGhpcyogc2hhcmVkIGxpYnBlcmwuCi0tCWNhc2UgIiRMRF9MSUJSQVJZX1BBVEgiIGluCi0tCScnKSAgbGRsaWJwdGg9IkxEX0xJQlJBUllfUEFUSD1gIHF1b3RlICIkcHdkIiBgIiA7OwotLQkqKSAgIGxkbGlicHRoPSJMRF9MSUJSQVJZX1BBVEg9YCBxdW90ZSAiJHB3ZCIgYDpgIHF1b3RlICIkTERfTElCUkFSWV9QQVRIIiBgIiA7OwotLQllc2FjCi0rCWxkbGlicHRoPSJMRF9MSUJSQVJZX1BBVEg9YCBxdW90ZSAiJHB3ZCIgYCInJCR7TERfTElCUkFSWV9QQVRIOis6fSQkTERfTElCUkFSWV9QQVRIJwotIAotIAlwbGRsZmxhZ3M9IiRjY2NkbGZsYWdzIgotIAlzdGF0aWNfbGRmbGFncz0nJwotQEAgLTExMyw3ICsxMTAsNyBAQCB0cnVlKQotIAkgICAgOzsKLSAJZXNhYwotIAljYXNlICIkbGRsaWJwdGhuYW1lIiBpbgotLQknJykgOzsKLSsJJyd8TERfTElCUkFSWV9QQVRIKSA7OwotIAkqKQotIAkgICAgY2FzZSAiJG9zbmFtZSIgaW4KLSAJICAgIG9zMikKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZmluZF9odG1sMnRleHQuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZmluZF9odG1sMnRleHQuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDgyNzA5MS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpbmRfaHRtbDJ0ZXh0LmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1Gcm9tIGM4MWRiZGVkZmY5ZTliNGZiNzVhYzAyOGFhNzE4ODM4YzAyOTJkMmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbmRyZWFzIE1hcnNjaGtlIDxhbmRyZWFzLm1hcnNjaGtlQGdvb2dsZW1haWwuY29tPgotRGF0ZTogU2F0LCAxNyBTZXAgMjAxMSAxMTozODo0MiArMDEwMAotU3ViamVjdDogQ29uZmlndXJlIENQQU46OkRpc3RyaWJ1dGlvbiB3aXRoIGNvcnJlY3QgbmFtZSBvZiBodG1sMnRleHQKLQotQnVnLURlYmlhbjogaHR0cDovL2J1Z3MuZGViaWFuLm9yZy82NDA0NzkKLVBhdGNoLU5hbWU6IGRlYmlhbi9maW5kX2h0bWwydGV4dC5kaWZmCi0KLUlmIHlvdSB1c2UgY3BhbiBmcm9tIERlYmlhbiB5b3UgdXN1YWxseSB3aW5kIHVwIHRyeWluZyB0byByZWFkIG9ubGluZQotZG9jdW1lbnRhdGlvbiB0aHJvdWdoIGl0LiBVbmZvcnR1bmF0ZWx5IGNwYW4gY2FuJ3QgZmluZCB0aGUKLWh0bWwydGV4dC5wbCBzY3JpcHQgZXZlbiB0aG91Z2ggaXQgaXMgaW5zdGFsbGVkIHVzaW5nIHRoZSBEZWJpYW4KLXBhY2thZ2UgJ2h0bWwydGV4dCcuCi0KLVBsZWFzZSBzZWUgdGhlIGF0dGFjaGVkIHBhdGNoIGZvciBhIHF1aWNrIGZpeCBvZiB0aGlzIGlzc3VlLgotCi1bTWFpbnRhaW5lcidzIG5vdGU6IGh0bWwydGV4dCBpbiBEZWJpYW4gaXMgbm90IHRoZSBzYW1lIGltcGxlbWVudGF0aW9uCi1hcyB0aGUgaHRtbDJ0ZXh0LnBsIHdoaWNoIGlzIGV4cGVjdGVkLCBidXQgc2hvdWxkIHByb3ZpZGUgc2ltaWxhcgotZnVuY3Rpb25hbGl0eV0uCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNwYW4vQ1BBTi9saWIvQ1BBTi9EaXN0cmlidXRpb24ucG0gfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9jcGFuL0NQQU4vbGliL0NQQU4vRGlzdHJpYnV0aW9uLnBtIGIvY3Bhbi9DUEFOL2xpYi9DUEFOL0Rpc3RyaWJ1dGlvbi5wbQotaW5kZXggMDkyYjc4MS4uNWMyYmFlMSAxMDA2NDQKLS0tLSBhL2NwYW4vQ1BBTi9saWIvQ1BBTi9EaXN0cmlidXRpb24ucG0KLSsrKyBiL2NwYW4vQ1BBTi9saWIvQ1BBTi9EaXN0cmlidXRpb24ucG0KLUBAIC00MDk5LDcgKzQwOTksNyBAQCBzdWIgX2Rpc3BsYXlfdXJsIHsKLSAgICAgICBpZiAkQ1BBTjo6REVCVUc7Ci0gCi0gICAgICMgc2hvdWxkIHdlIGRlZmluZSBpdCBpbiB0aGUgY29uZmlnIGluc3RlYWQ/Ci0tICAgIG15ICRodG1sX2NvbnZlcnRlciA9ICJodG1sMnRleHQucGwiOwotKyAgICBteSAkaHRtbF9jb252ZXJ0ZXIgPSAiaHRtbDJ0ZXh0IjsKLSAKLSAgICAgbXkgJHdlYl9icm93c2VyID0gJENQQU46OkNvbmZpZy0+eydseW54J30gfHwgdW5kZWY7Ci0gICAgIG15ICR3ZWJfYnJvd3Nlcl9vdXQgPSAkd2ViX2Jyb3dzZXIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZml4ZXMvZG9jdW1lbnRfbWFrZW1ha2VyX2NjZmxhZ3MuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZml4ZXMvZG9jdW1lbnRfbWFrZW1ha2VyX2NjZmxhZ3MuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjNkOTI1OC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL2RvY3VtZW50X21ha2VtYWtlcl9jY2ZsYWdzLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1Gcm9tIDlmYWY2ZGNjM2E1YzQxNTQ0ODRkODEyZWIzY2MzZGQ3OGIzNTU2M2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBOaWtvIFR5bmkgPG50eW5pQGRlYmlhbi5vcmc+Ci1EYXRlOiBNb24sIDMwIE1heSAyMDExIDIyOjU0OjI0ICswMzAwCi1TdWJqZWN0OiBEb2N1bWVudCB0aGF0IENDRkxBR1Mgc2hvdWxkIGluY2x1ZGUgJENvbmZpZ3tjY2ZsYWdzfQotCi1CdWc6IGh0dHBzOi8vcnQuY3Bhbi5vcmcvUHVibGljL0J1Zy9EaXNwbGF5Lmh0bWw/aWQ9Njg2MTMKLUJ1Zy1EZWJpYW46IGh0dHA6Ly9idWdzLmRlYmlhbi5vcmcvNjI4NTIyCi0KLUNvbXBpbGluZyBYUyBleHRlbnNpb25zIHdpdGhvdXQgJENvbmZpZ3tjY2ZsYWdzfSBjYW4gYnJlYWsgdGhlCi1iaW5hcnkgaW50ZXJmYWNlIG9uIHNvbWUgcGxhdGZvcm1zLgotCi1QYXRjaC1OYW1lOiBmaXhlcy9kb2N1bWVudF9tYWtlbWFrZXJfY2NmbGFncy5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NYWtlTWFrZXIucG0gfCA0ICsrKysKLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTWFrZU1ha2VyLnBtIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01ha2VNYWtlci5wbQotaW5kZXggZmU5NWIyNy4uOTA0MDNlOCAxMDA2NDQKLS0tLSBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NYWtlTWFrZXIucG0KLSsrKyBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NYWtlTWFrZXIucG0KLUBAIC0xNzc0LDYgKzE3NzQsMTAgQEAgY3VycmVudGx5IHVzZWQgYnkgTWFrZU1ha2VyIGJ1dCBtYXkgYmUgaGFuZHkgaW4gTWFrZWZpbGUuUExzLgotIFN0cmluZyB0aGF0IHdpbGwgYmUgaW5jbHVkZWQgaW4gdGhlIGNvbXBpbGVyIGNhbGwgY29tbWFuZCBsaW5lIGJldHdlZW4KLSB0aGUgYXJndW1lbnRzIElOQyBhbmQgT1BUSU1JWkUuCi0gCi0rVGhlIGRlZmF1bHQgdmFsdWUgaXMgdGFrZW4gZnJvbSAkQ29uZmlne2NjZmxhZ3N9LiBXaGVuIG92ZXJyaWRpbmcKLStDQ0ZMQUdTLCBtYWtlIHN1cmUgdG8gaW5jbHVkZSB0aGUgJENvbmZpZ3tjY2ZsYWdzfSBzZXR0aW5ncyB0byBhdm9pZAotK2JpbmFyeSBpbmNvbXBhdGliaWxpdGllcy4KLSsKLSA9aXRlbSBDT05GSUcKLSAKLSBBcnJheXJlZi4gRS5nLiBbcXcoYXJjaG5hbWUgbWFuZXh0KV0gZGVmaW5lcyBBUkNITkFNRSAmIE1BTkVYVCBmcm9tCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL21lbW9pemVfc3RvcmFibGVfbnN0b3JlLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL21lbW9pemVfc3RvcmFibGVfbnN0b3JlLmRpZmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ5YjM2ZjYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9maXhlcy9tZW1vaXplX3N0b3JhYmxlX25zdG9yZS5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsMTExICswLDAgQEAKLUZyb20gNTVkNDMwZWIwMmZjMTE2NTgxODQ3MzA0Y2EyMDMyMTY4Nzk3ODI2OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEpvbmF0aGFuIE5pZWRlciA8anJuaWVkZXJAZ21haWwuY29tPgotRGF0ZTogRnJpLCAyNyBKdWwgMjAxMiAxMDozNTowNyAtMDUwMAotU3ViamVjdDogTWVtb2l6ZTo6U3RvcmFibGU6IHJlc3BlY3QgJ25zdG9yZScgb3B0aW9uIG5vdCByZXNwZWN0ZWQKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotTWVtb2l6ZSgzcGVybCkgc2F5czoKLQotICAgICAgICAgICAgICAgIHRpZSBteSAlY2FjaGUgPT4gJ01lbW9pemU6OlN0b3JhYmxlJywgJGZpbGVuYW1lLCAnbnN0b3JlJzsKLSAgICAgICAgICAgICAgICBtZW1vaXplICdmdW5jdGlvbicsIFNDQUxBUl9DQUNIRSA9PiBbSEFTSCA9PiBcJWNhY2hlXTsKLQotICAgICAgICBJbmNsdWRlIHRoZSDigJhuc3RvcmXigJkgb3B0aW9uIHRvIGhhdmUgdGhlICJTdG9yYWJsZSIgZGF0YWJhc2UKLSAgICAgICAgd3JpdHRlbiBpbiDigJhuZXR3b3JrIG9yZGVy4oCZLiAgKFNlZSBTdG9yYWJsZSBmb3IgbW9yZSBkZXRhaWxzCi0gICAgICAgIGFib3V0IHRoaXMuKQotCi1JbiBmYWN0IHRoZSAibnN0b3JlIiBvcHRpb24gZG9lcyBubyBzdWNoIHRoaW5nLiAgT3B0aW9uIHBhcnNpbmcgbG9va3MKLWxpa2UgdGhpczoKLQotICAgICAgICBAb3B0aW9uc3tAX30gPSAoKTsKLQotJHNlbGYtPntPUFRJT05TfXsnbnN0b3JlJ30gaXMgYWNjb3JkaW5nbHkgc2V0IHRvIHVuZGVmLiAgTGF0ZXIKLU1lbW9pemU6OlN0b3JhYmxlIGNoZWNrcyBpZiB0aGUgb3B0aW9uIGlzIHRydWUsIGFuZCBzaW5jZSB1bmRlZiBpcwotbm90IHRydWUsIHRoZSAiZWxzZSIgYnJhbmNoIGlzIGFsd2F5cyB0YWtlbi4KLQotICAgICAgICBpZiAoJHNlbGYtPntPUFRJT05TfXsnbnN0b3JlJ30pIHsKLSAgICAgICAgICAgICAgICBTdG9yYWJsZTo6bnN0b3JlKCRzZWxmLT57SH0sICRzZWxmLT57RklMRU5BTUV9KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBTdG9yYWJsZTo6c3RvcmUoJHNlbGYtPntIfSwgJHNlbGYtPntGSUxFTkFNRX0pOwotICAgICAgICB9Ci0KLUNvcnJlY3RpbmcgdGhlIGNvbmRpdGlvbiB0byAoZXhpc3RzICRzZWxmLT57T1BUSU9OU317J25zdG9yZSd9KSBmaXhlcwotaXQuCi0KLU5vdGljZWQgYmVjYXVzZSBnaXQtc3ZuLCB3aGljaCB1c2VzIHRoZSAnbnN0b3JlJyBvcHRpb24gZm9yIGl0cwotb24tZGlzayBjYWNoZXMsIHdhcyBwcm9kdWNpbmcKLQotICAgICAgICBCeXRlIG9yZGVyIGlzIG5vdCBjb21wYXRpYmxlIGF0IC4uLy4uL2xpYi9TdG9yYWJsZS5wbQotCi13aGVuIHJ1biB1c2luZyBhIHBlcmwgd2l0aCBhIGRpZmZlcmVudCBpbnRlZ2VyIHNpemUgKGFuZCBoZW5jZQotYnl0ZW9yZGVyKS4KLQotUmVwb3J0ZWQgYnkgVGltIFJldG91dCAoUlQjNzc3OTApCi0KLUJ1Zy1EZWJpYW46IGh0dHA6Ly9idWdzLmRlYmlhbi5vcmcvNTg3NjUwCi1CdWc6IGh0dHBzOi8vcnQuY3Bhbi5vcmcvUHVibGljL0J1Zy9EaXNwbGF5Lmh0bWw/aWQ9Nzc3OTAKLUZvcndhcmRlZDogaHR0cHM6Ly9ydC5jcGFuLm9yZy9QdWJsaWMvQnVnL0Rpc3BsYXkuaHRtbD9pZD03Nzc5MAotUGF0Y2gtTmFtZTogZml4ZXMvbWVtb2l6ZV9zdG9yYWJsZV9uc3RvcmUuZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBjcGFuL01lbW9pemUvTWVtb2l6ZS9TdG9yYWJsZS5wbSB8ICAyICstCi0gY3Bhbi9NZW1vaXplL3QvdGllX3N0b3JhYmxlLnQgICAgfCAyNCArKysrKysrKysrKysrKysrKysrKy0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jcGFuL01lbW9pemUvTWVtb2l6ZS9TdG9yYWJsZS5wbSBiL2NwYW4vTWVtb2l6ZS9NZW1vaXplL1N0b3JhYmxlLnBtCi1pbmRleCAxMzE0Nzk3Li44Nzg3NmYyIDEwMDY0NAotLS0tIGEvY3Bhbi9NZW1vaXplL01lbW9pemUvU3RvcmFibGUucG0KLSsrKyBiL2NwYW4vTWVtb2l6ZS9NZW1vaXplL1N0b3JhYmxlLnBtCi1AQCAtNTUsNyArNTUsNyBAQCBzdWIgREVTVFJPWSB7Ci0gICByZXF1aXJlIENhcnAgaWYgJFZlcmJvc2U7Ci0gICBteSAkc2VsZj0gc2hpZnQ7Ci0gICBwcmludCBTVERFUlIgIk1lbW9pemU6OlN0b3JhYmxlOjpERVNUUk9ZKEBfKVxuIiBpZiAkVmVyYm9zZTsKLS0gIGlmICgkc2VsZi0+e09QVElPTlN9eyduc3RvcmUnfSkgewotKyAgaWYgKGV4aXN0cyAkc2VsZi0+e09QVElPTlN9eyduc3RvcmUnfSkgewotICAgICBTdG9yYWJsZTo6bnN0b3JlKCRzZWxmLT57SH0sICRzZWxmLT57RklMRU5BTUV9KTsKLSAgIH0gZWxzZSB7Ci0gICAgIFN0b3JhYmxlOjpzdG9yZSgkc2VsZi0+e0h9LCAkc2VsZi0+e0ZJTEVOQU1FfSk7Ci1kaWZmIC0tZ2l0IGEvY3Bhbi9NZW1vaXplL3QvdGllX3N0b3JhYmxlLnQgYi9jcGFuL01lbW9pemUvdC90aWVfc3RvcmFibGUudAotaW5kZXggZGUzYjhkYy4uYTYyNDIzOCAxMDA2NDQKLS0tLSBhL2NwYW4vTWVtb2l6ZS90L3RpZV9zdG9yYWJsZS50Ci0rKysgYi9jcGFuL01lbW9pemUvdC90aWVfc3RvcmFibGUudAotQEAgLTMxLDE4ICszMSwzNCBAQCBpZiAoJEApIHsKLSAgIGV4aXQgMDsKLSB9Ci0gCi0tcHJpbnQgIjEuLjRcbiI7Ci0rcHJpbnQgIjEuLjlcbiI7Ci0gCi0gJGZpbGUgPSAic3RvcmFibGUkJCI7Ci0gMSB3aGlsZSB1bmxpbmsgJGZpbGU7Ci0gdHJ5b3V0KCdNZW1vaXplOjpTdG9yYWJsZScsICRmaWxlLCAxKTsgICMgVGVzdCAxLi40Ci0gMSB3aGlsZSB1bmxpbmsgJGZpbGU7Ci0rdHJ5b3V0KCdNZW1vaXplOjpTdG9yYWJsZScsICRmaWxlLCA1LCAnbnN0b3JlJyk7ICAjIFRlc3QgNS4uOAotK2Fzc2VydF9uZXRvcmRlcigkZmlsZSwgOSk7ICAjIFRlc3QgOQotKzEgd2hpbGUgdW5saW5rICRmaWxlOwotKwotKwotK3N1YiBhc3NlcnRfbmV0b3JkZXIgewotKyAgbXkgKCRmaWxlLCAkdGVzdG5vKSA9IEBfOwotKwotKyAgbXkgJG5ldG9yZGVyID0gU3RvcmFibGU6OmZpbGVfbWFnaWMoJGZpbGUpLT57J25ldG9yZGVyJ307Ci0rICBwcmludCAoJG5ldG9yZGVyID8gIm9rICR0ZXN0bm9cbiIgOiAibm90IG9rICR0ZXN0bm9cbiIpOwotK30KLSAKLSBzdWIgdHJ5b3V0IHsKLS0gIG15ICgkdGllcGFjaywgJGZpbGUsICR0ZXN0bm8pID0gQF87Ci0rICBteSAoJHRpZXBhY2ssICRmaWxlLCAkdGVzdG5vLCAkb3B0aW9uKSA9IEBfOwotIAotLSAgdGllIG15ICVjYWNoZSA9PiAkdGllcGFjaywgJGZpbGUKLS0gICAgb3IgZGllICQhOwotKyAgaWYgKGRlZmluZWQgJG9wdGlvbikgewotKyAgICB0aWUgbXkgJWNhY2hlID0+ICR0aWVwYWNrLCAkZmlsZSwgJG9wdGlvbgotKyAgICAgIG9yIGRpZSAkITsKLSsgIH0gZWxzZSB7Ci0rICAgIHRpZSBteSAlY2FjaGUgPT4gJHRpZXBhY2ssICRmaWxlCi0rICAgICAgb3IgZGllICQhOwotKyAgfQotIAotICAgbWVtb2l6ZSAnYzUnLCAKLSAgIFNDQUxBUl9DQUNIRSA9PiBbSEFTSCA9PiBcJWNhY2hlXSwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZml4ZXMvbmV0X3NtdHBfZG9jcy5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9maXhlcy9uZXRfc210cF9kb2NzLmRpZmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFmY2Y3ZmIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9maXhlcy9uZXRfc210cF9kb2NzLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1Gcm9tIGZhMDg1ZmVkZDljNDA2ZWRjZDRhMWEyNTZjMDI1ZDVmZjdmNmM2ZGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCcmVuZGFuIE8nRGVhIDxib2RAZGViaWFuLm9yZz4KLURhdGU6IFRodSwgMjAgU2VwIDIwMDcgMTk6NDc6MTQgKzEwMDAKLVN1YmplY3Q6IERvY3VtZW50IHRoZSBOZXQ6OlNNVFAgJ1BvcnQnIG9wdGlvbgotCi1CdWctRGViaWFuOiBodHRwOi8vYnVncy5kZWJpYW4ub3JnLzEwMDE5NQotQnVnOiBodHRwOi8vcnQuY3Bhbi5vcmcvUHVibGljL0J1Zy9EaXNwbGF5Lmh0bWw/aWQ9MzYwMzgKLQotUGF0Y2gtTmFtZTogZml4ZXMvbmV0X3NtdHBfZG9jcy5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNwYW4vbGlibmV0L2xpYi9OZXQvU01UUC5wbSB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvY3Bhbi9saWJuZXQvbGliL05ldC9TTVRQLnBtIGIvY3Bhbi9saWJuZXQvbGliL05ldC9TTVRQLnBtCi1pbmRleCBhZmQwMTdhLi42YWU3ZDllIDEwMDY0NAotLS0tIGEvY3Bhbi9saWJuZXQvbGliL05ldC9TTVRQLnBtCi0rKysgYi9jcGFuL2xpYm5ldC9saWIvTmV0L1NNVFAucG0KLUBAIC03MzgsNiArNzM4LDcgQEAgTmV0OjpTTVRQIHdpbGwgYXR0ZW1wdCB0byBleHRyYWN0IHRoZSBhZGRyZXNzIGZyb20gdGhlIHZhbHVlIHBhc3NlZC4KLSAKLSBCPERlYnVnPiAtIEVuYWJsZSBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24KLSAKLStCPFBvcnQ+IC0gU2VsZWN0IGEgcG9ydCBvbiB0aGUgcmVtb3RlIGhvc3QgdG8gY29ubmVjdCB0byAoZGVmYXVsdCBpcyAyNSkKLSAKLSBFeGFtcGxlOgotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9maXhlcy9wZXJsLUNubi5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9maXhlcy9wZXJsLUNubi5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YmRmNDFiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZml4ZXMvcGVybC1Dbm4uZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDc0ICswLDAgQEAKLUZyb20gMGVjZjgzZjI1OWRiMDljYjM4Y2IzN2M5YjIyZTcyYmUxODVhZmE4ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEh1Z28gdmFuIGRlciBTYW5kZW4gPGh2QGNyeXB0Lm9yZz4KLURhdGU6IFRodSwgMTEgSnVuIDIwMTUgMTI6MjU6NDAgKzAxMDAKLVN1YmplY3Q6IGZpeCAtQ25uIHBhcnNpbmcKLQotQ29tbWl0IDIyZmYzMTMwNjggZm9yIFtwZXJsICMxMjM4MTRdIGluYWR2ZXJ0ZW50bHkgY2hhbmdlZCB0aGUgbG9naWMgd2hlbgotcGFyc2luZyBhIG51bWVyaWMgcGFyYW1ldGVyIHRvIHRoZSAtQyBvcHRpb24sIHN1Y2ggdGhhdCB0aGUgc3VjY2Vzc2Z1bGx5Ci1wYXJzZWQgbnVtYmVyIHdhcyBub3Qgc2F2ZWQgYXMgdGhlIG9wdGlvbiB2YWx1ZSBpZiBpdCBwYXJzZWQgdG8gdGhlIGVuZAotb2YgdGhlIGFyZ3VtZW50LgotCi1CdWc6IGh0dHBzOi8vcnQucGVybC5vcmcvVGlja2V0L0Rpc3BsYXkuaHRtbD9pZD0xMjUzODEKLUJ1Zy1EZWJpYW46IGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzc4ODYzNgotT3JpZ2luOiB1cHN0cmVhbSwgaHR0cDovL3Blcmw1LmdpdC5wZXJsLm9yZy9wZXJsLmdpdC9jb21taXQvODlkODRmZjk2NQotUGF0Y2gtTmFtZTogZml4ZXMvcGVybC1Dbm4uZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSB0L3J1bi9zd2l0Y2hDLnQgfCAgNyArKysrKystCi0gdXRpbC5jICAgICAgICAgIHwgMTcgKysrKysrKystLS0tLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvdC9ydW4vc3dpdGNoQy50IGIvdC9ydW4vc3dpdGNoQy50Ci1pbmRleCBmNmFhODY4Li40ZjYzYzNiIDEwMDY0NAotLS0tIGEvdC9ydW4vc3dpdGNoQy50Ci0rKysgYi90L3J1bi9zd2l0Y2hDLnQKLUBAIC0xMSw3ICsxMSw3IEBAIEJFR0lOIHsKLSAgICAgc2tpcF9hbGxfaWZfbWluaXBlcmwoJy1DIGFuZCAkRU5We1BFUkxfVU5JQ09ERX0gYXJlIGRpc2FibGVkIG9uIG1pbmlwZXJsJyk7Ci0gfQotIAotLXBsYW4odGVzdHMgPT4gMTMpOwotK3BsYW4odGVzdHMgPT4gMTQpOwotIAotIG15ICRyOwotIAotQEAgLTI1LDYgKzI1LDExIEBAICRyID0gcnVucGVybCggc3dpdGNoZXMgPT4gWyAnLUNPJywgJy13JyBdLAotICAgICAgICAgICAgICAgc3RkZXJyICAgPT4gMSApOwotIGxpa2UoICRyLCBxci9eJGIoPzpccj9cbik/JC9zLCAnLUNPOiBubyB3YXJuaW5nIG9uIFVURi04IG91dHB1dCcgKTsKLSAKLSskciA9IHJ1bnBlcmwoIHN3aXRjaGVzID0+IFsgJy1DMicsICctdycgXSwKLSsJICAgICAgcHJvZyAgICAgPT4gJ3ByaW50IGNocigyNTYpJywKLSsgICAgICAgICAgICAgIHN0ZGVyciAgID0+IDEgKTsKLStsaWtlKCAkciwgcXIvXiRiKD86XHI/XG4pPyQvcywgJy1DMjogbm8gd2FybmluZyBvbiBVVEYtOCBvdXRwdXQnICk7Ci0rCi0gU0tJUDogewotICAgICBpZiAoZXhpc3RzICRFTlZ7UEVSTF9VTklDT0RFfSAmJgotIAkoJEVOVntQRVJMX1VOSUNPREV9IGVxICIiIHx8ICRFTlZ7UEVSTF9VTklDT0RFfSA9fiAvW1NPXS8pKSB7Ci1kaWZmIC0tZ2l0IGEvdXRpbC5jIGIvdXRpbC5jCi1pbmRleCA4Y2Y2MmY1Li5lZTIzMzE0IDEwMDY0NAotLS0tIGEvdXRpbC5jCi0rKysgYi91dGlsLmMKLUBAIC00NDIwLDE2ICs0NDIwLDE1IEBAIFBlcmxfcGFyc2VfdW5pY29kZV9vcHRzKHBUSFhfIGNvbnN0IGNoYXIgKipwb3B0KQotICAgICAgICBpZiAoaXNESUdJVCgqcCkpIHsKLSAgICAgICAgICAgICBjb25zdCBjaGFyKiBlbmRwdHI7Ci0gICAgICAgICAgICAgVVYgdXY7Ci0tICAgICAgICAgICAgaWYgKGdyb2tfYXRvVVYocCwgJnV2LCAmZW5kcHRyKQotLSAgICAgICAgICAgICAgICAmJiB1diA8PSBVMzJfTUFYCi0tICAgICAgICAgICAgICAgICYmIChwID0gZW5kcHRyKQotLSAgICAgICAgICAgICAgICAmJiAqcCAmJiAqcCAhPSAnXG4nICYmICpwICE9ICdccicKLS0gICAgICAgICAgICApIHsKLSsgICAgICAgICAgICBpZiAoZ3Jva19hdG9VVihwLCAmdXYsICZlbmRwdHIpICYmIHV2IDw9IFUzMl9NQVgpIHsKLSAgICAgICAgICAgICAgICAgb3B0ID0gKFUzMil1djsKLS0gICAgICAgICAgICAgICAgaWYgKGlzU1BBQ0UoKnApKQotLSAgICAgICAgICAgICAgICAgICAgZ290byB0aGVfZW5kX29mX3RoZV9vcHRzX3BhcnNlcjsKLS0gICAgICAgICAgICAgICAgZWxzZQotLSAgICAgICAgICAgICAgICAgICAgUGVybF9jcm9hayhhVEhYXyAiVW5rbm93biBVbmljb2RlIG9wdGlvbiBsZXR0ZXIgJyVjJyIsICpwKTsKLSsgICAgICAgICAgICAgICAgcCA9IGVuZHB0cjsKLSsgICAgICAgICAgICAgICAgaWYgKHAgJiYgKnAgJiYgKnAgIT0gJ1xuJyAmJiAqcCAhPSAnXHInKSB7Ci0rICAgICAgICAgICAgICAgICAgICBpZiAoaXNTUEFDRSgqcCkpCi0rICAgICAgICAgICAgICAgICAgICAgICAgZ290byB0aGVfZW5kX29mX3RoZV9vcHRzX3BhcnNlcjsKLSsgICAgICAgICAgICAgICAgICAgIGVsc2UKLSsgICAgICAgICAgICAgICAgICAgICAgICBQZXJsX2Nyb2FrKGFUSFhfICJVbmtub3duIFVuaWNvZGUgb3B0aW9uIGxldHRlciAnJWMnIiwgKnApOwotKyAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgfQotICAgICAgICAgfQotICAgICAgICAgZWxzZSB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL3BvZF9tYW5fcmVwcm9kdWNpYmxlX2RhdGUuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZml4ZXMvcG9kX21hbl9yZXByb2R1Y2libGVfZGF0ZS5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMjM1NzNmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZml4ZXMvcG9kX21hbl9yZXByb2R1Y2libGVfZGF0ZS5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsMTcxICswLDAgQEAKLUZyb20gOTA1N2FkYzEwNmQ2YmJlZjUzYzllNzA2NTIzY2Q5NGYxYTdhMDhkNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJ1c3MgQWxsYmVyeSA8cnJhQGRlYmlhbi5vcmc+Ci1EYXRlOiBTYXQsIDMwIEF1ZyAyMDE0IDE1OjEwOjQxIC0wNzAwCi1TdWJqZWN0OiBTdXBwb3J0IFBPRF9NQU5fREFURSBpbiBQb2Q6Ok1hbiBmb3IgdGhlIGxlZnQtaGFuZCBmb290ZXIKLQotSG9ub3IgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIFBPRF9NQU5fREFURSBhbmQgdXNlIGl0cyBjb250ZW50cywgaWYKLXNldCwgYXMgdGhlIHZhbHVlIG9mIHRoZSBsZWZ0LWhhbmQgZm9vdGVyIGlmIHRoZSBkYXRlIG9wdGlvbiBpcyBub3QKLXNldCwgb3ZlcnJpZGluZyB0aGUgdGltZXN0YW1wIG9mIHRoZSBpbnB1dCBmaWxlLiAgVGhpcyBpcyBwcmltYXJpbHkKLXVzZWZ1bCB0byBlbnN1cmUgcmVwcm9kdWNpYmxlIGJ1aWxkcyBvZiB0aGUgc2FtZSBvdXRwdXQgZmlsZSBnaXZlbiB0aGUKLXNhbWUgc291Y2UgYW5kIFBvZDo6TWFuIHZlcnNpb24sIGV2ZW4gd2hlbiBmaWxlIHRpbWVzdGFtcHMgbWF5IG5vdCBiZQotY29uc2lzdGVudC4gIFRoYW5rcywgTmlrbyBUeW5pLgotCi1CdWctRGViaWFuOiBodHRwOi8vYnVncy5kZWJpYW4ub3JnLzc1OTQwNQotT3JpZ2luOiB1cHN0cmVhbQotUGF0Y2gtTmFtZTogZml4ZXMvcG9kX21hbl9yZXByb2R1Y2libGVfZGF0ZS5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNwYW4vcG9kbGF0b3JzL2xpYi9Qb2QvTWFuLnBtICB8IDY5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQotIGNwYW4vcG9kbGF0b3JzL3QvZGV2aXNlLWRhdGUudCB8IDI5ICsrKysrKysrKysrKystLS0tLQotIDIgZmlsZXMgY2hhbmdlZCwgNzIgaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbSBiL2NwYW4vcG9kbGF0b3JzL2xpYi9Qb2QvTWFuLnBtCi1pbmRleCA3MmNhOWZmLi4wNTM2NjYyIDEwMDY0NAotLS0tIGEvY3Bhbi9wb2RsYXRvcnMvbGliL1BvZC9NYW4ucG0KLSsrKyBiL2NwYW4vcG9kbGF0b3JzL2xpYi9Qb2QvTWFuLnBtCi1AQCAtODc2LDI1ICs4NzYsNDIgQEAgc3ViIGRldmlzZV90aXRsZSB7Ci0gfQotIAotICMgRGV0ZXJtaW5lIHRoZSBtb2RpZmljYXRpb24gZGF0ZSBhbmQgcmV0dXJuIHRoYXQsIHByb3Blcmx5IGZvcm1hdHRlZCBpbiBJU08KLS0jIGZvcm1hdC4gIElmIHdlIGNhbid0IGdldCB0aGUgbW9kaWZpY2F0aW9uIGRhdGUgb2YgdGhlIGlucHV0LCBpbnN0ZWFkIHVzZSB0aGUKLS0jIGN1cnJlbnQgdGltZS4gIFBvZDo6U2ltcGxlIHJldHVybnMgYSBjb21wbGV0ZWx5IHVudXNlZnVsIHN0cmluZ2lmaWVkIGZpbGUKLS0jIGhhbmRsZSBhcyB0aGUgc291cmNlX2ZpbGVuYW1lIGZvciBpbnB1dCBmcm9tIGEgZmlsZSBoYW5kbGUsIHNvIHdlIGhhdmUgdG8KLS0jIGRlYWwgd2l0aCB0aGF0IGFzIHdlbGwuCi0rIyBmb3JtYXQuCi0rIwotKyMgSWYgUE9EX01BTl9EQVRFIGlzIHNldCwgdGhhdCBvdmVycmlkZXMgYW55dGhpbmcgZWxzZS4gIFRoaXMgY2FuIGJlIHVzZWQgZm9yCi0rIyByZXByb2R1Y2libGUgZ2VuZXJhdGlvbiBvZiB0aGUgc2FtZSBmaWxlIGV2ZW4gaWYgdGhlIGlucHV0IGZpbGUgdGltZXN0YW1wcwotKyMgYXJlIHVucHJlZGljdGFibGUgb3IgdGhlIFBPRCBjb21zIGZyb20gc3RhbmRhcmQgaW5wdXQuCi0rIwotKyMgT3RoZXJ3aXNlLCB1c2UgdGhlIG1vZGlmaWNhdGlvbiBkYXRlIG9mIHRoZSBpbnB1dCBpZiB3ZSBjYW4gc3RhdCBpdC4gIEJlCi0rIyBhd2FyZSB0aGF0IFBvZDo6U2ltcGxlIHJldHVybnMgdGhlIHN0cmluZ2lmaWNhdGlvbiBvZiB0aGUgZmlsZSBoYW5kbGUgYXMKLSsjIHNvdXJjZV9maWxlbmFtZSBmb3IgaW5wdXQgZnJvbSBhIGZpbGUgaGFuZGxlLCBzbyB3ZSdsbCBzdGF0IHNvbWUgcmFuZG9tIHJlZgotKyMgc3RyaW5nIGluIHRoYXQgY2FzZS4gIElmIHRoYXQgZmFpbHMsIGluc3RlYWQgdXNlIHRoZSBjdXJyZW50IHRpbWUuCi0rIwotKyMgJHNlbGYgLSBQb2Q6Ok1hbiBvYmplY3QsIHVzZWQgdG8gZ2V0IHRoZSBzb3VyY2UgZmlsZQotKyMKLSsjIFJldHVybnM6IFlZWVktTU0tREQgZGF0ZSBzdWl0YWJsZSBmb3IgdGhlIGxlZnQtaGFuZCBmb290ZXIKLSBzdWIgZGV2aXNlX2RhdGUgewotICAgICBteSAoJHNlbGYpID0gQF87Ci0rCi0rICAgICMgSWYgUE9EX01BTl9EQVRFIGlzIHNldCwgYWx3YXlzIHVzZSBpdC4KLSsgICAgaWYgKCRFTlZ7UE9EX01BTl9EQVRFfSkgewotKyAgICAgICAgcmV0dXJuICRFTlZ7UE9EX01BTl9EQVRFfTsKLSsgICAgfQotKwotKyAgICAjIE90aGVyd2lzZSwgZ2V0IHRoZSBpbnB1dCBmaWxlbmFtZSBhbmQgdHJ5IHRvIHN0YXQgaXQuICBJZiB0aGF0IGZhaWxzLAotKyAgICAjIHVzZSB0aGUgY3VycmVudCB0aW1lLgotICAgICBteSAkaW5wdXQgPSAkc2VsZi0+c291cmNlX2ZpbGVuYW1lOwotICAgICBteSAkdGltZTsKLSAgICAgaWYgKCRpbnB1dCkgewotLSAgICAgICAgJHRpbWUgPSAoc3RhdCAkaW5wdXQpWzldIHx8IHRpbWU7Ci0rICAgICAgICAkdGltZSA9IChzdGF0KCRpbnB1dCkpWzldIHx8IHRpbWUoKTsKLSAgICAgfSBlbHNlIHsKLS0gICAgICAgICR0aW1lID0gdGltZTsKLSsgICAgICAgICR0aW1lID0gdGltZSgpOwotICAgICB9Ci0gCi0tICAgICMgQ2FuJ3QgdXNlIFBPU0lYOjpzdHJmdGltZSgpLCB3aGljaCB1c2VzIEZjbnRsLCBiZWNhdXNlIE1ha2VNYWtlcgotLSAgICAjIHVzZXMgdGhpcyBhbmQgaXQgaGFzIHRvIHdvcmsgaW4gdGhlIGNvcmUgd2hpY2ggY2FuJ3QgbG9hZCBkeW5hbWljCi0tICAgICMgbGlicmFyaWVzLgotLSAgICBteSAoJHllYXIsICRtb250aCwgJGRheSkgPSAobG9jYWx0aW1lICR0aW1lKVs1LDQsM107Ci0tICAgIHJldHVybiBzcHJpbnRmICgiJTA0ZC0lMDJkLSUwMmQiLCAkeWVhciArIDE5MDAsICRtb250aCArIDEsICRkYXkpOwotKyAgICAjIENhbid0IHVzZSBQT1NJWDo6c3RyZnRpbWUoKSwgd2hpY2ggdXNlcyBGY250bCwgYmVjYXVzZSBNYWtlTWFrZXIgdXNlcwotKyAgICAjIHRoaXMgYW5kIGl0IGhhcyB0byB3b3JrIGluIHRoZSBjb3JlIHdoaWNoIGNhbid0IGxvYWQgZHluYW1pYyBsaWJyYXJpZXMuCi0rICAgIG15ICgkeWVhciwgJG1vbnRoLCAkZGF5KSA9IChsb2NhbHRpbWUoJHRpbWUpKVs1LDQsM107Ci0rICAgIHJldHVybiBzcHJpbnRmKCIlMDRkLSUwMmQtJTAyZCIsICR5ZWFyICsgMTkwMCwgJG1vbnRoICsgMSwgJGRheSk7Ci0gfQotIAotICMgUHJpbnQgb3V0IHRoZSBwcmVhbWJsZSBhbmQgdGhlIHRpdGxlLiAgVGhlIG1lYW5pbmcgb2YgdGhlIGFyZ3VtZW50cyB0byAuVEgKLUBAIC0xNjMyLDYgKzE2NDksMTUgQEAgYXJndW1lbnQuCi0gU2V0cyB0aGUgY2VudGVyZWQgcGFnZSBoZWFkZXIgdG8gdXNlIGluc3RlYWQgb2YgIlVzZXIgQ29udHJpYnV0ZWQgUGVybAotIERvY3VtZW50YXRpb24iLgotIAotKz1pdGVtIGRhdGUKLSsKLStTZXRzIHRoZSBsZWZ0LWhhbmQgZm9vdGVyLiAgSWYgdGhpcyBvcHRpb24gaXMgbm90IHNldCwgdGhlIGNvbnRlbnRzIG9mIHRoZQotK2Vudmlyb25tZW50IHZhcmlhYmxlIFBPRF9NQU5fREFURSwgaWYgc2V0LCB3aWxsIGJlIHVzZWQuICBGYWlsaW5nIHRoYXQsCi0rdGhlIG1vZGlmaWNhdGlvbiBkYXRlIG9mIHRoZSBpbnB1dCBmaWxlIHdpbGwgYmUgdXNlZCwgb3IgdGhlIGN1cnJlbnQgdGltZQotK2lmIHN0YXQoKSBjYW4ndCBmaW5kIHRoYXQgZmlsZSAod2hpY2ggd2lsbCBiZSB0aGUgY2FzZSBpZiB0aGUgaW5wdXQgaXMKLStmcm9tIEM8U1RESU4+KS4gIElmIG9idGFpbmVkIGZyb20gdGhlIGZpbGUgbW9kaWZpY2F0aW9uIGRhdGUgb3IgdGhlCi0rY3VycmVudCB0aW1lLCBoZSBkYXRlIHdpbGwgYmUgZm9ybWF0dGVkIGFzIEM8WVlZWS1NTS1ERD4uCi0rCi0gPWl0ZW0gZXJyb3JzCi0gCi0gSG93IHRvIHJlcG9ydCBlcnJvcnMuICBDPGRpZT4gc2F5cyB0byB0aHJvdyBhbiBleGNlcHRpb24gb24gYW55IFBPRAotQEAgLTE2NDIsMTMgKzE2NjgsNiBAQCBQT0QgZXJyb3JzIGVudGlyZWx5LCBhcyBtdWNoIGFzIHBvc3NpYmxlLgotIAotIFRoZSBkZWZhdWx0IGlzIEM8cG9kPi4KLSAKLS09aXRlbSBkYXRlCi0tCi0tU2V0cyB0aGUgbGVmdC1oYW5kIGZvb3Rlci4gIEJ5IGRlZmF1bHQsIHRoZSBtb2RpZmljYXRpb24gZGF0ZSBvZiB0aGUgaW5wdXQKLS1maWxlIHdpbGwgYmUgdXNlZCwgb3IgdGhlIGN1cnJlbnQgZGF0ZSBpZiBzdGF0KCkgY2FuJ3QgZmluZCB0aGF0IGZpbGUgKHRoZQotLWNhc2UgaWYgdGhlIGlucHV0IGlzIGZyb20gQzxTVERJTj4pLCBhbmQgdGhlIGRhdGUgd2lsbCBiZSBmb3JtYXR0ZWQgYXMKLS1DPFlZWVktTU0tREQ+LgotLQotID1pdGVtIGZpeGVkCi0gCi0gVGhlIGZpeGVkLXdpZHRoIGZvbnQgdG8gdXNlIGZvciB2ZXJiYXRpbSB0ZXh0IGFuZCBjb2RlLiAgRGVmYXVsdHMgdG8KLUBAIC0xODEwLDYgKzE4MjksMjAgQEAgb3B0aW9uIHdhcyBzZXQgdG8gQzxkaWU+LgotIAotID1iYWNrCi0gCi0rPWhlYWQxIEVOVklST05NRU5UCi0rCi0rPW92ZXIgNAotKwotKz1pdGVtIFBPRF9NQU5fREFURQotKwotK0lmIHNldCwgdGhpcyB3aWxsIGJlIHVzZWQgYXMgdGhlIHZhbHVlIG9mIHRoZSBsZWZ0LWhhbmQgZm9vdGVyIHVubGVzcyB0aGUKLStDPGRhdGU+IG9wdGlvbiBpcyBleHBsaWNpdGx5IHNldCwgb3ZlcnJpZGluZyB0aGUgdGltZXN0YW1wIG9mIHRoZSBpbnB1dAotK2ZpbGUgb3IgdGhlIGN1cnJlbnQgdGltZS4gIFRoaXMgaXMgcHJpbWFyaWx5IHVzZWZ1bCB0byBlbnN1cmUgcmVwcm9kdWNpYmxlCi0rYnVpbGRzIG9mIHRoZSBzYW1lIG91dHB1dCBmaWxlIGdpdmVuIHRoZSBzYW1lIHNvdWNlIGFuZCBQb2Q6Ok1hbiB2ZXJzaW9uLAotK2V2ZW4gd2hlbiBmaWxlIHRpbWVzdGFtcHMgbWF5IG5vdCBiZSBjb25zaXN0ZW50LgotKwotKz1iYWNrCi0rCi0gPWhlYWQxIEJVR1MKLSAKLSBFbmNvZGluZyBoYW5kbGluZyBhc3N1bWVzIHRoYXQgUGVybElPIGlzIGF2YWlsYWJsZSBhbmQgZG9lcyBub3Qgd29yawotZGlmZiAtLWdpdCBhL2NwYW4vcG9kbGF0b3JzL3QvZGV2aXNlLWRhdGUudCBiL2NwYW4vcG9kbGF0b3JzL3QvZGV2aXNlLWRhdGUudAotaW5kZXggM2NjZTlmNS4uYzYxMGRkOSAxMDA2NDQKLS0tLSBhL2NwYW4vcG9kbGF0b3JzL3QvZGV2aXNlLWRhdGUudAotKysrIGIvY3Bhbi9wb2RsYXRvcnMvdC9kZXZpc2UtZGF0ZS50Ci1AQCAtMSwxNSArMSwyOCBAQAotLSMhL3Vzci9iaW4vcGVybCAtdwotLQotLSMgSW4gb3JkZXIgZm9yIE1ha2VNYWtlciB0byBidWlsZCBpbiB0aGUgY29yZSwgbm90aGluZyBjYW4gdXNlCi0tIyBGY250bCB3aGljaCBpbmNsdWRlcyBQT1NJWC4gIGRldmlzZV9kYXRlKCkncyB1c2Ugb2Ygc3RyZnRpbWUoKQotLSMgd2FzIHJlcGxhY2VkLiAgVGhpcyB0ZXN0cyB0aGF0IGl0J3MgaWRlbnRpY2FsLgotKyMhL3Vzci9iaW4vcGVybAotKyMKLSsjIEluIG9yZGVyIGZvciBNYWtlTWFrZXIgdG8gYnVpbGQgaW4gdGhlIGNvcmUsIG5vdGhpbmcgY2FuIHVzZSBGY250bCB3aGljaAotKyMgaW5jbHVkZXMgUE9TSVguICBkZXZpc2VfZGF0ZSgpJ3MgdXNlIG9mIHN0cmZ0aW1lKCkgd2FzIHJlcGxhY2VkLiAgVGhpcyB0ZXN0cwotKyMgdGhhdCBpdCdzIGlkZW50aWNhbC4gIEl0IGFsc28gdGVzdHMgc3BlY2lhbCBoYW5kbGluZyBvZiB0aGUgUE9EX01BTl9EQVRFCi0rIyBlbnZpcm9ubWVudCB2YXJpYWJsZS4KLSAKLSt1c2UgNS4wMDY7Ci0gdXNlIHN0cmljdDsKLS0KLS11c2UgVGVzdDo6TW9yZSB0ZXN0cyA9PiAxOwotK3VzZSB3YXJuaW5nczsKLSAKLSB1c2UgUG9kOjpNYW47Ci0gdXNlIFBPU0lYIHF3KHN0cmZ0aW1lKTsKLSAKLSt1c2UgVGVzdDo6TW9yZSB0ZXN0cyA9PiAyOwotKwotKyMgQ2hlY2sgdGhhdCB0aGUgcmVzdWx0cyBvZiBkZXZpY2VfZGF0ZSBtYXRjaGVzIHN0cmZ0aW1lLiAgVGhlcmUgaXMgbm8gaW5wdXQKLSsjIGZpbGUgbmFtZSwgc28gdGhpcyB3aWxsIHVzZSB0aGUgY3VycmVudCB0aW1lLgotIG15ICRwYXJzZXIgPSBQb2Q6Ok1hbi0+bmV3OwotLWlzICRwYXJzZXItPmRldmlzZV9kYXRlLCBzdHJmdGltZSgiJVktJW0tJWQiLCBsb2NhbHRpbWUpOwotK2lzKAotKyAgICAkcGFyc2VyLT5kZXZpc2VfZGF0ZSwKLSsgICAgc3RyZnRpbWUoJyVZLSVtLSVkJywgbG9jYWx0aW1lKCkpLAotKyAgICAnZGV2aXNlX2RhdGUgbWF0Y2hlcyBzdHJmdGltZScKLSspOwotKwotKyMgU2V0IHRoZSBvdmVycmlkZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBhbmQgZW5zdXJlIHRoYXQgaXQncyBob25vcmVkLgotK2xvY2FsICRFTlZ7UE9EX01BTl9EQVRFfSA9ICcyMDE0LTAxLTAxJzsKLStpcygkcGFyc2VyLT5kZXZpc2VfZGF0ZSwgJzIwMTQtMDEtMDEnLCAnZGV2aXNlX2RhdGUgaG9ub3JzIFBPRF9NQU5fREFURScpOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9maXhlcy9wb2RtYW4tZW1wdHktZGF0ZS5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9maXhlcy9wb2RtYW4tZW1wdHktZGF0ZS5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZGUyOWI4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZml4ZXMvcG9kbWFuLWVtcHR5LWRhdGUuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAKLUZyb20gMTgzYmI0YWY3YWQ4NjJhMmNmMzFkMGRjYjNkZDQ1YzEwMGY3Njc3NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJ1c3MgQWxsYmVyeSA8cnJhQGNwYW4ub3JnPgotRGF0ZTogV2VkLCAxNSBBcHIgMjAxNSAyMjoyMToyNSAtMDcwMAotU3ViamVjdDogU3VwcG9ydCBhbiBlbXB0eSBQT0RfTUFOX0RBVEUgZW52aXJvbm1lbnQgdmFyaWFibGUKLQotT25lIG1heSB3YW50IHRvIHNldCB0aGlzIHRvIGFuIGVtcHR5IHN0cmluZy4gIEhhbmRsZSB0aGF0IGNvcnJlY3RseS4KLQotKGJhY2twb3J0ZWQgdG8gUGVybCA1LjIwLjIgYnkgTmlrbyBUeW5pIDxudHluaUBkZWJpYW4ub3JnPikKLQotT3JpZ2luOiB1cHN0cmVhbSwgaHR0cDovL2dpdC5leXJpZS5vcmcvP3A9cGVybC9wb2RsYXRvcnMuZ2l0O2E9Y29tbWl0ZGlmZjtoPWUwZTlmY2I1M2U4ZmM5NTRiMmIxOTU1Mzg1ZWVhMThjMjdmODY5YWYKLUJ1Zy1EZWJpYW46IGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzc4MDI1OQotUGF0Y2gtTmFtZTogZml4ZXMvcG9kbWFuLWVtcHR5LWRhdGUuZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBjcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbSAgfCAyICstCi0gY3Bhbi9wb2RsYXRvcnMvdC9kZXZpc2UtZGF0ZS50IHwgNiArKysrKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NwYW4vcG9kbGF0b3JzL2xpYi9Qb2QvTWFuLnBtIGIvY3Bhbi9wb2RsYXRvcnMvbGliL1BvZC9NYW4ucG0KLWluZGV4IDM2NTg5MmUuLjg5OTdhMTUgMTAwNjQ0Ci0tLS0gYS9jcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbQotKysrIGIvY3Bhbi9wb2RsYXRvcnMvbGliL1BvZC9NYW4ucG0KLUBAIC04OTQsNyArODk0LDcgQEAgc3ViIGRldmlzZV9kYXRlIHsKLSAgICAgbXkgKCRzZWxmKSA9IEBfOwotIAotICAgICAjIElmIFBPRF9NQU5fREFURSBpcyBzZXQsIGFsd2F5cyB1c2UgaXQuCi0tICAgIGlmICgkRU5We1BPRF9NQU5fREFURX0pIHsKLSsgICAgaWYgKGRlZmluZWQoJEVOVntQT0RfTUFOX0RBVEV9KSkgewotICAgICAgICAgcmV0dXJuICRFTlZ7UE9EX01BTl9EQVRFfTsKLSAgICAgfQotIAotZGlmZiAtLWdpdCBhL2NwYW4vcG9kbGF0b3JzL3QvZGV2aXNlLWRhdGUudCBiL2NwYW4vcG9kbGF0b3JzL3QvZGV2aXNlLWRhdGUudAotaW5kZXggOWRhOWQxYi4uMjcyNzFkOSAxMDA2NDQKLS0tLSBhL2NwYW4vcG9kbGF0b3JzL3QvZGV2aXNlLWRhdGUudAotKysrIGIvY3Bhbi9wb2RsYXRvcnMvdC9kZXZpc2UtZGF0ZS50Ci1AQCAtMTIsNyArMTIsNyBAQCB1c2Ugd2FybmluZ3M7Ci0gdXNlIFBvZDo6TWFuOwotIHVzZSBQT1NJWCBxdyhzdHJmdGltZSk7Ci0gCi0tdXNlIFRlc3Q6Ok1vcmUgdGVzdHMgPT4gMjsKLSt1c2UgVGVzdDo6TW9yZSB0ZXN0cyA9PiAzOwotIAotICMgQ2hlY2sgdGhhdCB0aGUgcmVzdWx0cyBvZiBkZXZpY2VfZGF0ZSBtYXRjaGVzIHN0cmZ0aW1lLiAgVGhlcmUgaXMgbm8gaW5wdXQKLSAjIGZpbGUgbmFtZSwgc28gdGhpcyB3aWxsIHVzZSB0aGUgY3VycmVudCB0aW1lLgotQEAgLTI2LDMgKzI2LDcgQEAgaXMoCi0gIyBTZXQgdGhlIG92ZXJyaWRlIGVudmlyb25tZW50IHZhcmlhYmxlIGFuZCBlbnN1cmUgdGhhdCBpdCdzIGhvbm9yZWQuCi0gbG9jYWwgJEVOVntQT0RfTUFOX0RBVEV9ID0gJzIwMTQtMDEtMDEnOwotIGlzKCRwYXJzZXItPmRldmlzZV9kYXRlLCAnMjAxNC0wMS0wMScsICdkZXZpc2VfZGF0ZSBob25vcnMgUE9EX01BTl9EQVRFJyk7Ci0rCi0rIyBDaGVjayB0aGF0IGFuIGVtcHR5IGVudmlyb25tZW50IHZhcmlhYmxlIGlzIGhvbm9yZWQuCi0rbG9jYWwgJEVOVntQT0RfTUFOX0RBVEV9ID0gcXt9OwotK2lzKCRwYXJzZXItPmRldmlzZV9kYXRlLCBxe30sICdkZXZpc2VfZGF0ZSBob25vcnMgZW1wdHkgUE9EX01BTl9EQVRFJyk7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL3BvZG1hbi1waXBlLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL3BvZG1hbi1waXBlLmRpZmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ4ODU4ZDguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9maXhlcy9wb2RtYW4tcGlwZS5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsMTEwICswLDAgQEAKLUZyb20gNzY3MWQxMDFiYWE3NWQ3YTc5YmZiZDhjNzVjMTU5NWZiYjNmNTNiYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJ1c3MgQWxsYmVyeSA8cnJhQGNwYW4ub3JnPgotRGF0ZTogU2F0LCA3IEZlYiAyMDE1IDE5OjAzOjM0IC0wODAwCi1TdWJqZWN0OiBCZXR0ZXIgZXJyb3JzIGZvciBtYW4gcGFnZXMgZnJvbSBzdGFuZGFyZCBpbnB1dAotCi1bUG9kOjpNYW5dIEF0dGVtcHQgdG8gZGV0ZWN0IGlmIHRoZSBpbnB1dCBjYW1lIGZyb20gYSBwaXBlIGFuZAotdGhlcmVmb3JlIGhhcyBhIGNvbXBsZXRlbHkgdW5oZWxwZnVsIChhbmQgbm9ucmVwcm9kdWNpYmxlKSBzb3VyY2UgZmlsZQotbmFtZSwgYW5kIGRpYWdub3NlIHRoaXMgYXMgYW4gZXJyb3IuICBEb2N1bWVudCB0aGF0IHRoZSBuYW1lIG9wdGlvbgotKC0tbmFtZSB0byBwb2QybWFuKSBpcyByZXF1aXJlZCB3aGVuIHByb2Nlc3NpbmcgUE9EIHNvdXJjZSBmcm9tCi1zdGFuZGFyZCBpbnB1dC4gIChEZWJpYW4gQnVnIzc3NzQwNSkKLQotKGJhY2twb3J0ZWQgdG8gUGVybCA1LjIwLjIgYnkgTmlrbyBUeW5pIDxudHluaUBkZWJpYW4ub3JnPikKLQotT3JpZ2luOiB1cHN0cmVhbSwgaHR0cDovL2dpdC5leXJpZS5vcmcvP3A9cGVybC9wb2RsYXRvcnMuZ2l0O2E9Y29tbWl0ZGlmZjtoPWQ5ODg3MmU0NmM5Mzg2MWI3YWJhMTQ5NDllMTI1ODcxMjA4N2RjNTUKLUJ1Zy1EZWJpYW46IGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzc3NzQwNQotUGF0Y2gtTmFtZTogZml4ZXMvcG9kbWFuLXBpcGUuZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBjcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbSAgICAgfCAxNSArKysrKysrKysrKysrKysKLSBjcGFuL3BvZGxhdG9ycy9zY3JpcHRzL3BvZDJtYW4uUEwgfCAgNCArKysrCi0gY3Bhbi9wb2RsYXRvcnMvdC9kZXZpc2UtdGl0bGUudCAgIHwgMzIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKLSAzIGZpbGVzIGNoYW5nZWQsIDUxIGluc2VydGlvbnMoKykKLSBjcmVhdGUgbW9kZSAxMDA3NTUgY3Bhbi9wb2RsYXRvcnMvdC9kZXZpc2UtdGl0bGUudAotCi1kaWZmIC0tZ2l0IGEvY3Bhbi9wb2RsYXRvcnMvbGliL1BvZC9NYW4ucG0gYi9jcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbQotaW5kZXggODk5N2ExNS4uOTY5ZWFmZiAxMDA2NDQKLS0tLSBhL2NwYW4vcG9kbGF0b3JzL2xpYi9Qb2QvTWFuLnBtCi0rKysgYi9jcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbQotQEAgLTgyOCw2ICs4MjgsMTcgQEAgc3ViIGRldmlzZV90aXRsZSB7Ci0gICAgICRzZWN0aW9uID0gMyBpZiAoISQkc2VsZntzZWN0aW9ufSAmJiAkbmFtZSA9fiAvXC5wbVx6L2kpOwotICAgICAkbmFtZSA9fiBzL1wucChvZHxbbG1dKVx6Ly9pOwotIAotKyAgICAjIElmIFBvZDo6UGFyc2VyIGdhdmUgdXMgYW4gSU86OkZpbGUgcmVmZXJlbmNlIGFzIHRoZSBzb3VyY2UgZmlsZSBuYW1lLAotKyAgICAjIGNvbnZlcnQgdGhhdCB0byB0aGUgZW1wdHkgc3RyaW5nIGFzIHdlbGwuICBUaGVuLCBpZiB3ZSBkb24ndCBoYXZlIGEKLSsgICAgIyB2YWxpZCBuYW1lLCBlbWl0IGEgd2FybmluZyBhbmQgY29udmVydCBpdCB0byBTVERJTi4KLSsgICAgaWYgKCRuYW1lID1+IC9eSU86OkZpbGUoPzo9XHcrKVwoMHhbXGRhLWZdK1wpJC9pKSB7Ci0rICAgICAgICAkbmFtZSA9ICcnOwotKyAgICB9Ci0rICAgIGlmICgkbmFtZSBlcSAnJykgewotKyAgICAgICAgJHNlbGYtPndoaW5lICgxLCAnTm8gbmFtZSBnaXZlbiBmb3IgZG9jdW1lbnQnKTsKLSsgICAgICAgICRuYW1lID0gJ1NURElOJzsKLSsgICAgfQotKwotICAgICAjIElmIHRoZSBzZWN0aW9uIGlzbid0IDMsIHRoZW4gdGhlIG5hbWUgZGVmYXVsdHMgdG8ganVzdCB0aGUgYmFzZW5hbWUgb2YKLSAgICAgIyB0aGUgZmlsZS4gIE90aGVyd2lzZSwgYXNzdW1lIHdlJ3JlIGRlYWxpbmcgd2l0aCBhIG1vZHVsZS4gIFdlIHdhbnQgdG8KLSAgICAgIyBmaWd1cmUgb3V0IHRoZSBmdWxsIG1vZHVsZSBuYW1lIGZyb20gdGhlIHBhdGggdG8gdGhlIGZpbGUsIGJ1dCB3ZSBkb24ndAotQEAgLTE3MDUsNiArMTcxNiwxMCBAQCBtb2R1bGUgcGF0aC4gIElmIGl0IGlzLCBhIHBhdGggbGlrZSBDPC4uLi9saWIvUG9kL01hbi5wbT4gaXMgY29udmVydGVkIGludG8KLSBhIG5hbWUgbGlrZSBDPFBvZDo6TWFuPi4gIFRoaXMgb3B0aW9uLCBpZiBnaXZlbiwgb3ZlcnJpZGVzIGFueSBhdXRvbWF0aWMKLSBkZXRlcm1pbmF0aW9uIG9mIHRoZSBuYW1lLgotIAotK0lmIGdlbmVyYXRpbmcgYSBtYW51YWwgcGFnZSBmcm9tIHN0YW5kYXJkIGlucHV0LCB0aGlzIG9wdGlvbiBpcyByZXF1aXJlZCwKLStzaW5jZSB0aGVyZSdzIG90aGVyd2lzZSBubyB3YXkgZm9yIFBvZDo6TWFuIHRvIGtub3cgd2hhdCB0byB1c2UgZm9yIHRoZQotK21hbnVhbCBwYWdlIG5hbWUuCi0rCi0gPWl0ZW0gbm91cmxzCi0gCi0gTm9ybWFsbHksIExaPD48PiBmb3JtYXR0aW5nIGNvZGVzIHdpdGggYSBVUkwgYnV0IGFuY2hvciB0ZXh0IGFyZSBmb3JtYXR0ZWQKLWRpZmYgLS1naXQgYS9jcGFuL3BvZGxhdG9ycy9zY3JpcHRzL3BvZDJtYW4uUEwgYi9jcGFuL3BvZGxhdG9ycy9zY3JpcHRzL3BvZDJtYW4uUEwKLWluZGV4IDM4Njk1ZjguLjQzZTM1ZGYgMTAwNjQ0Ci0tLS0gYS9jcGFuL3BvZGxhdG9ycy9zY3JpcHRzL3BvZDJtYW4uUEwKLSsrKyBiL2NwYW4vcG9kbGF0b3JzL3NjcmlwdHMvcG9kMm1hbi5QTAotQEAgLTIzNiw2ICsyMzYsMTAgQEAgTm90ZSB0aGF0IHRoaXMgb3B0aW9uIGlzIHByb2JhYmx5IG5vdCB1c2VmdWwgd2hlbiBjb252ZXJ0aW5nIG11bHRpcGxlIFBPRAotIGZpbGVzIGF0IG9uY2UuICBUaGUgY29udmVudGlvbiBmb3IgVW5peCBtYW4gcGFnZXMgZm9yIGNvbW1hbmRzIGlzIGZvciB0aGUKLSBtYW4gcGFnZSB0aXRsZSB0byBiZSBpbiBhbGwtdXBwZXJjYXNlIGV2ZW4gaWYgdGhlIGNvbW1hbmQgaXNuJ3QuCi0gCi0rV2hlbiBjb252ZXJ0aW5nIFBPRCBzb3VyY2UgZnJvbSBzdGFuZGFyZCBpbnB1dCwgdGhpcyBvcHRpb24gaXMgcmVxdWlyZWQsCi0rc2luY2UgdGhlcmUncyBvdGhlcndpc2Ugbm8gd2F5IHRvIGtub3cgd2hhdCB0byB1c2UgYXMgdGhlIG5hbWUgb2YgdGhlCi0rbWFudWFsIHBhZ2UuCi0rCi0gPWl0ZW0gQjwtLW5vdXJscz4KLSAKLSBOb3JtYWxseSwgTFo8Pjw+IGZvcm1hdHRpbmcgY29kZXMgd2l0aCBhIFVSTCBidXQgYW5jaG9yIHRleHQgYXJlIGZvcm1hdHRlZAotZGlmZiAtLWdpdCBhL2NwYW4vcG9kbGF0b3JzL3QvZGV2aXNlLXRpdGxlLnQgYi9jcGFuL3BvZGxhdG9ycy90L2RldmlzZS10aXRsZS50Ci1uZXcgZmlsZSBtb2RlIDEwMDc1NQotaW5kZXggMDAwMDAwMC4uODYzOTQ0MQotLS0tIC9kZXYvbnVsbAotKysrIGIvY3Bhbi9wb2RsYXRvcnMvdC9kZXZpc2UtdGl0bGUudAotQEAgLTAsMCArMSwzMiBAQAotKyMhL3Vzci9iaW4vcGVybAotKyMKLSsjIFRlc3RzIGZvciB0aGUgYXV0b21hdGljIGRldGVybWluYXRpb24gb2YgdGhlIG1hbnVhbCBwYWdlIHRpdGxlIGlmIG5vdAotKyMgc3BlY2lmaWVkIHZpYSBvcHRpb25zIHRvIHBvZDJtYW4gb3IgdGhlIFBvZDo6TWFuIGNvbnN0cnVjdG9yLgotKwotK3VzZSA1LjAwNjsKLSt1c2Ugc3RyaWN0OwotK3VzZSB3YXJuaW5nczsKLSsKLSt1c2UgRmlsZTo6U3BlYzsKLSt1c2UgSU86OkZpbGU7Ci0rdXNlIFRlc3Q6Ok1vcmUgdGVzdHMgPT4gMzsKLSsKLStCRUdJTiB7Ci0rICAgIHVzZV9vaygnUG9kOjpNYW4nKTsKLSt9Ci0rCi0rIyBDcmVhdGUgYSBwYXJzZXIgYW5kIHNldCBpdCB1cCB3aXRoIGFuIGlucHV0IHNvdXJjZS4gIFRoZXJlIGlzbid0IGEgd2F5IHRvIGRvCi0rIyB0aGlzIGluIFBvZDo6U2ltcGxlIHdpdGhvdXQgYWN0dWFsbHkgcGFyc2luZyB0aGUgZG9jdW1lbnQsIHNvIHNlbmQgdGhlCi0rIyBvdXRwdXQgdG8gYSBzdHJpbmcgdGhhdCB3ZSdsbCBpZ25vcmUuCi0rbXkgJHBhdGggPSBGaWxlOjpTcGVjLT5jYXRkaXIoJ3QnLCAnZGF0YScsICdiYXNpYy5wb2QnKTsKLStteSAkaGFuZGxlID0gSU86OkZpbGUtPm5ldygkcGF0aCwgJ3InKTsKLStteSAkcGFyc2VyID0gUG9kOjpNYW4tPm5ldyhlcnJvcnMgPT4gJ3BvZCcpOwotK215ICRvdXRwdXQ7Ci0rJHBhcnNlci0+b3V0cHV0X3N0cmluZyhcJG91dHB1dCk7Ci0rJHBhcnNlci0+cGFyc2VfZmlsZSgkaGFuZGxlKTsKLSsKLSsjIENoZWNrIHRoZSByZXN1bHRzIG9mIGRldmlzZV90aXRsZSBmb3IgdGhpcy4gIFdlIHNob3VsZCBnZXQgYmFjayBTVERJTiwgYW5kCi0rIyB3ZSBzaG91bGQgaGF2ZSByZXBvcnRlZCBhbiBlcnJvci4KLStteSAoJG5hbWUsICRzZWN0aW9uKSA9ICRwYXJzZXItPmRldmlzZV90aXRsZTsKLStpcygkbmFtZSwgJ1NURElOJywgJ2RldmlzZV90aXRsZSB1c2VzIFNURElOIGZvciBmaWxlIGhhbmRsZSBpbnB1dCcpOwotK29rKCRwYXJzZXItPmVycm9yc19zZWVuLCAnLi4uYW5kIGVycm9ycyB3ZXJlIHNlZW4nKTsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZml4ZXMvcG9kbWFuLXV0Yy1kb2NzLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL3BvZG1hbi11dGMtZG9jcy5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNmFlNDA5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZml4ZXMvcG9kbWFuLXV0Yy1kb2NzLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSw4NyArMCwwIEBACi1Gcm9tIDYxOTg4NTZiNTMyM2Q2MjA0MDk0MjkzZjAxYjg5MDQ3MjYxOGYxODIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSdXNzIEFsbGJlcnkgPHJyYUBjcGFuLm9yZz4KLURhdGU6IFdlZCwgMTUgQXByIDIwMTUgMjA6NDk6MDcgLTA3MDAKLVN1YmplY3Q6IERvY3VtZW50YXRpb24gYW5kIHRlc3Qgc3VpdGUgdXBkYXRlcyBmb3IgVVRDIGZpeAotCi1VcGRhdGUgdGhlIFBvZDo6TWFuIGFuZCBwb2QybWFuIGRvY3VtZW50YXRpb24gYW5kIHRoZSB0ZXN0IHN1aXRlCi1mb3IgdGhlIG5ldyBVVEMtYmFzZWQgZGVmYXVsdCBwYWdlIGZvb3RlciwgYW5kIGFkZCBhIENoYW5nZXMKLWVudHJ5LgotCi0oYmFja3BvcnRlZCB0byBQZXJsIDUuMjAuMiBieSBOaWtvIFR5bmkgPG50eW5pQGRlYmlhbi5vcmc+KQotCi1PcmlnaW46IHVwc3RyZWFtLCBodHRwOi8vZ2l0LmV5cmllLm9yZy8/cD1wZXJsL3BvZGxhdG9ycy5naXQ7YT1jb21taXRkaWZmO2g9NTJkYjkzYmY4MGU0YTA2Zjg0OTdlNGViYWRlMDUwNmI2ZWUwZTcwZAotQnVnLURlYmlhbjogaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvNzgwMjU5Ci1QYXRjaC1OYW1lOiBmaXhlcy9wb2RtYW4tdXRjLWRvY3MuZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBjcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbSAgICAgfCAgNiArKysrKy0KLSBjcGFuL3BvZGxhdG9ycy9zY3JpcHRzL3BvZDJtYW4uUEwgfCAxMSArKysrKystLS0tLQotIGNwYW4vcG9kbGF0b3JzL3QvZGV2aXNlLWRhdGUudCAgICB8ICAyICstCi0gMyBmaWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY3Bhbi9wb2RsYXRvcnMvbGliL1BvZC9NYW4ucG0gYi9jcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbQotaW5kZXggYzNiYTIwMS4uMzY1ODkyZSAxMDA2NDQKLS0tLSBhL2NwYW4vcG9kbGF0b3JzL2xpYi9Qb2QvTWFuLnBtCi0rKysgYi9jcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbQotQEAgLTkxMCw2ICs5MTAsOCBAQCBzdWIgZGV2aXNlX2RhdGUgewotIAotICAgICAjIENhbid0IHVzZSBQT1NJWDo6c3RyZnRpbWUoKSwgd2hpY2ggdXNlcyBGY250bCwgYmVjYXVzZSBNYWtlTWFrZXIgdXNlcwotICAgICAjIHRoaXMgYW5kIGl0IGhhcyB0byB3b3JrIGluIHRoZSBjb3JlIHdoaWNoIGNhbid0IGxvYWQgZHluYW1pYyBsaWJyYXJpZXMuCi0rICAgICMgVXNlIGdtdGltZSBpbnN0ZWFkIG9mIGxvY2FsdGltZSBzbyB0aGF0IHRoZSBnZW5lcmF0ZWQgbWFuIHBhZ2UgZG9lcyBub3QKLSsgICAgIyBkZXBlbmQgb24gdGhlIGxvY2FsIHRpbWUgem9uZSBzZXR0aW5nIGFuZCBpcyBtb3JlIHJlcHJvZHVjaWJsZQotICAgICBteSAoJHllYXIsICRtb250aCwgJGRheSkgPSAoZ210aW1lKCR0aW1lKSlbNSw0LDNdOwotICAgICByZXR1cm4gc3ByaW50ZigiJTA0ZC0lMDJkLSUwMmQiLCAkeWVhciArIDE5MDAsICRtb250aCArIDEsICRkYXkpOwotIH0KLUBAIC0xNjU2LDcgKzE2NTgsOSBAQCBlbnZpcm9ubWVudCB2YXJpYWJsZSBQT0RfTUFOX0RBVEUsIGlmIHNldCwgd2lsbCBiZSB1c2VkLiAgRmFpbGluZyB0aGF0LAotIHRoZSBtb2RpZmljYXRpb24gZGF0ZSBvZiB0aGUgaW5wdXQgZmlsZSB3aWxsIGJlIHVzZWQsIG9yIHRoZSBjdXJyZW50IHRpbWUKLSBpZiBzdGF0KCkgY2FuJ3QgZmluZCB0aGF0IGZpbGUgKHdoaWNoIHdpbGwgYmUgdGhlIGNhc2UgaWYgdGhlIGlucHV0IGlzCi0gZnJvbSBDPFNURElOPikuICBJZiBvYnRhaW5lZCBmcm9tIHRoZSBmaWxlIG1vZGlmaWNhdGlvbiBkYXRlIG9yIHRoZQotLWN1cnJlbnQgdGltZSwgaGUgZGF0ZSB3aWxsIGJlIGZvcm1hdHRlZCBhcyBDPFlZWVktTU0tREQ+LgotK2N1cnJlbnQgdGltZSwgdGhlIGRhdGUgd2lsbCBiZSBmb3JtYXR0ZWQgYXMgQzxZWVlZLU1NLUREPiBhbmQgd2lsbCBiZSBiYXNlZAotK29uIFVUQyAoc28gdGhhdCB0aGUgb3V0cHV0IHdpbGwgYmUgcmVwcm9kdWNpYmxlIHJlZ2FyZGxlc3Mgb2YgbG9jYWwgdGltZQotK3pvbmUpLgotIAotID1pdGVtIGVycm9ycwotIAotZGlmZiAtLWdpdCBhL2NwYW4vcG9kbGF0b3JzL3NjcmlwdHMvcG9kMm1hbi5QTCBiL2NwYW4vcG9kbGF0b3JzL3NjcmlwdHMvcG9kMm1hbi5QTAotaW5kZXggNmFmMzQ3NC4uMzg2OTVmOCAxMDA2NDQKLS0tLSBhL2NwYW4vcG9kbGF0b3JzL3NjcmlwdHMvcG9kMm1hbi5QTAotKysrIGIvY3Bhbi9wb2RsYXRvcnMvc2NyaXB0cy9wb2QybWFuLlBMCi1AQCAtMTc0LDkgKzE3NCwxMCBAQCBDb250cmlidXRlZCBQZXJsIERvY3VtZW50YXRpb24iLCBidXQgYWxzbyBzZWUgQjwtLW9mZmljaWFsPiBiZWxvdy4KLSAKLSA9aXRlbSBCPC1kPiBJPHN0cmluZz4sIEI8LS1kYXRlPj1JPHN0cmluZz4KLSAKLS1TZXQgdGhlIGxlZnQtaGFuZCBmb290ZXIgc3RyaW5nIHRvIHRoaXMgdmFsdWUuICBCeSBkZWZhdWx0LCB0aGUgbW9kaWZpY2F0aW9uCi0tZGF0ZSBvZiB0aGUgaW5wdXQgZmlsZSB3aWxsIGJlIHVzZWQsIG9yIHRoZSBjdXJyZW50IGRhdGUgaWYgaW5wdXQgY29tZXMgZnJvbQotLUM8U1RESU4+LgotK1NldCB0aGUgbGVmdC1oYW5kIGZvb3RlciBzdHJpbmcgdG8gdGhpcyB2YWx1ZS4gIEJ5IGRlZmF1bHQsIHRoZQotK21vZGlmaWNhdGlvbiBkYXRlIG9mIHRoZSBpbnB1dCBmaWxlIHdpbGwgYmUgdXNlZCwgb3IgdGhlIGN1cnJlbnQgZGF0ZSBpZgotK2lucHV0IGNvbWVzIGZyb20gQzxTVERJTj4sIGFuZCB3aWxsIGJlIGJhc2VkIG9uIFVUQyAoc28gdGhhdCB0aGUgb3V0cHV0Ci0rd2lsbCBiZSByZXByb2R1Y2libGUgcmVnYXJkbGVzcyBvZiBsb2NhbCB0aW1lIHpvbmUpLgotIAotID1pdGVtIEI8LWVycm9ycz49STxzdHlsZT4KLSAKLUBAIC0zODMsOCArMzg0LDggQEAgQjxwb2QybWFuPiBieSBMYXJyeSBXYWxsIGFuZCBUb20gQ2hyaXN0aWFuc2VuLgotIAotID1oZWFkMSBDT1BZUklHSFQgQU5EIExJQ0VOU0UKLSAKLS1Db3B5cmlnaHQgMTk5OSwgMjAwMCwgMjAwMSwgMjAwNCwgMjAwNiwgMjAwOCwgMjAxMCwgMjAxMiwgMjAxMyBSdXNzCi0tQWxsYmVyeSA8cnJhQHN0YW5mb3JkLmVkdT4uCi0rQ29weXJpZ2h0IDE5OTksIDIwMDAsIDIwMDEsIDIwMDQsIDIwMDYsIDIwMDgsIDIwMTAsIDIwMTIsIDIwMTMsIDIwMTQsCi0rMjAxNSBSdXNzIEFsbGJlcnkgPHJyYUBjcGFuLm9yZz4uCi0gCi0gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBtYXkgcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKLSB1bmRlciB0aGUgc2FtZSB0ZXJtcyBhcyBQZXJsIGl0c2VsZi4KLWRpZmYgLS1naXQgYS9jcGFuL3BvZGxhdG9ycy90L2RldmlzZS1kYXRlLnQgYi9jcGFuL3BvZGxhdG9ycy90L2RldmlzZS1kYXRlLnQKLWluZGV4IGM2MTBkZDkuLjlkYTlkMWIgMTAwNjQ0Ci0tLS0gYS9jcGFuL3BvZGxhdG9ycy90L2RldmlzZS1kYXRlLnQKLSsrKyBiL2NwYW4vcG9kbGF0b3JzL3QvZGV2aXNlLWRhdGUudAotQEAgLTE5LDcgKzE5LDcgQEAgdXNlIFRlc3Q6Ok1vcmUgdGVzdHMgPT4gMjsKLSBteSAkcGFyc2VyID0gUG9kOjpNYW4tPm5ldzsKLSBpcygKLSAgICAgJHBhcnNlci0+ZGV2aXNlX2RhdGUsCi0tICAgIHN0cmZ0aW1lKCclWS0lbS0lZCcsIGxvY2FsdGltZSgpKSwKLSsgICAgc3RyZnRpbWUoJyVZLSVtLSVkJywgZ210aW1lKCkpLAotICAgICAnZGV2aXNlX2RhdGUgbWF0Y2hlcyBzdHJmdGltZScKLSApOwotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9maXhlcy9wb2RtYW4tdXRjLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL3BvZG1hbi11dGMuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2ZiN2MyMC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL3BvZG1hbi11dGMuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLUZyb20gYzc5Njc3NWNkYmQyY2NlMDZhY2JiN2FjMzU1MTg3ZDQwNjMwMTdhMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENocmlzIExhbWIgPGxhbWJ5QGRlYmlhbi5vcmc+Ci1EYXRlOiBXZWQsIDE1IEFwciAyMDE1IDIwOjQyOjUzIC0wNzAwCi1TdWJqZWN0OiBNYWtlIHRoZSBlbWJlZGRlZCBkYXRlIGZyb20gUG9kOjpNYW4gcmVwcm9kdWNpYmxlCi0KLVdoaWxlIHdvcmtpbmcgb24gdGhlICJyZXByb2R1Y2libGUgYnVpbGRzIiBlZmZvcnQsIHdlIGhhdmUgbm90aWNlZAotdGhhdCBQb2Q6Ok1hbiBnZW5lcmF0ZXMgb3V0cHV0IHRoYXQgdmFyaWVzIGRlcGVuZGluZyBvbiB0aGUgY3VycmVudAotdGltZXpvbmUuCi0KLVRoZSBhdHRhY2hlZCBwYXRjaCBmaXhlcyB0aGlzIGJ5IHVzaW5nIEdNVCAoflVUQykgZGF0ZXMgaW5zdGVhZC4KLQotKGJhY2twb3J0ZWQgdG8gUGVybCA1LjIwLjIgYnkgTmlrbyBUeW5pIDxudHluaUBkZWJpYW4ub3JnPikKLQotT3JpZ2luOiB1cHN0cmVhbSwgaHR0cDovL2dpdC5leXJpZS5vcmcvP3A9cGVybC9wb2RsYXRvcnMuZ2l0O2E9Y29tbWl0ZGlmZjtoPTkxM2ZiYjJiZDJjZTA3MWUyMDEyODYyOTMwMmFlMjg1MjU1NGNhZDQKLUJ1Zy1EZWJpYW46IGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzc4MDI1OQotUGF0Y2gtTmFtZTogZml4ZXMvcG9kbWFuLXV0Yy5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNwYW4vcG9kbGF0b3JzL2xpYi9Qb2QvTWFuLnBtIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvY3Bhbi9wb2RsYXRvcnMvbGliL1BvZC9NYW4ucG0gYi9jcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbQotaW5kZXggMDUzNjY2Mi4uYzNiYTIwMSAxMDA2NDQKLS0tLSBhL2NwYW4vcG9kbGF0b3JzL2xpYi9Qb2QvTWFuLnBtCi0rKysgYi9jcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbQotQEAgLTkxMCw3ICs5MTAsNyBAQCBzdWIgZGV2aXNlX2RhdGUgewotIAotICAgICAjIENhbid0IHVzZSBQT1NJWDo6c3RyZnRpbWUoKSwgd2hpY2ggdXNlcyBGY250bCwgYmVjYXVzZSBNYWtlTWFrZXIgdXNlcwotICAgICAjIHRoaXMgYW5kIGl0IGhhcyB0byB3b3JrIGluIHRoZSBjb3JlIHdoaWNoIGNhbid0IGxvYWQgZHluYW1pYyBsaWJyYXJpZXMuCi0tICAgIG15ICgkeWVhciwgJG1vbnRoLCAkZGF5KSA9IChsb2NhbHRpbWUoJHRpbWUpKVs1LDQsM107Ci0rICAgIG15ICgkeWVhciwgJG1vbnRoLCAkZGF5KSA9IChnbXRpbWUoJHRpbWUpKVs1LDQsM107Ci0gICAgIHJldHVybiBzcHJpbnRmKCIlMDRkLSUwMmQtJTAyZCIsICR5ZWFyICsgMTkwMCwgJG1vbnRoICsgMSwgJGRheSk7Ci0gfQotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9maXhlcy9yZXNwZWN0X3VtYXNrLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL3Jlc3BlY3RfdW1hc2suZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzg2NjNmNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL3Jlc3BlY3RfdW1hc2suZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDE1NCArMCwwIEBACi1Gcm9tIGQ5ZDUzNWVmOTdmNTdhZjZlOTcyODA3NTk0NGMzM2YzYjBiNTM3MmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCcmVuZGFuIE8nRGVhIDxib2RAZGViaWFuLm9yZz4KLURhdGU6IFR1ZSwgOCBNYXIgMjAwNSAxOTozMDozOCArMTEwMAotU3ViamVjdDogUmVzcGVjdCB1bWFzayBkdXJpbmcgaW5zdGFsbGF0aW9uCi0KLVRoaXMgaXMgbmVlZGVkIHRvIHNhdGlzZnkgRGViaWFuIHBvbGljeSByZWdhcmRpbmcgZ3JvdXAtd3JpdGFibGUKLXNpdGUgZGlyZWN0b3JpZXMuCi0KLVBhdGNoLU5hbWU6IGZpeGVzL3Jlc3BlY3RfdW1hc2suZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBjcGFuL0V4dFV0aWxzLUluc3RhbGwvbGliL0V4dFV0aWxzL0luc3RhbGwucG0gICB8IDE4ICsrKysrKysrKy0tLS0tLS0tLQotIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtIHwgMTggKysrKysrKysrLS0tLS0tLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NwYW4vRXh0VXRpbHMtSW5zdGFsbC9saWIvRXh0VXRpbHMvSW5zdGFsbC5wbSBiL2NwYW4vRXh0VXRpbHMtSW5zdGFsbC9saWIvRXh0VXRpbHMvSW5zdGFsbC5wbQotaW5kZXggMWU4YWM0Yy4uM2U3OTEyMSAxMDA2NDQKLS0tLSBhL2NwYW4vRXh0VXRpbHMtSW5zdGFsbC9saWIvRXh0VXRpbHMvSW5zdGFsbC5wbQotKysrIGIvY3Bhbi9FeHRVdGlscy1JbnN0YWxsL2xpYi9FeHRVdGlscy9JbnN0YWxsLnBtCi1AQCAtNDUxLDcgKzQ1MSw3IEBAIHN1YiBfY2FuX3dyaXRlX2RpciB7Ci0gCi0gPXBvZAotIAotLT1pdGVtIF9ta3BhdGgoJGRpciwkc2hvdywkbW9kZSwkdmVyYm9zZSwkZHJ5X3J1bikKLSs9aXRlbSBfbWtwYXRoKCRkaXIsJHNob3csJHZlcmJvc2UsJGRyeV9ydW4pCi0gCi0gV3JhcHBlciBhcm91bmQgRmlsZTo6UGF0aDo6bWtwYXRoKCkgdG8gaGFuZGxlIGVycm9ycy4KLSAKLUBAIC00NjgsMTMgKzQ2OCwxMyBAQCB3cml0YWJsZS4KLSA9Y3V0Ci0gCi0gc3ViIF9ta3BhdGggewotLSAgICBteSAoJGRpciwkc2hvdywkbW9kZSwkdmVyYm9zZSwkZHJ5X3J1bik9QF87Ci0rICAgIG15ICgkZGlyLCRzaG93LCR2ZXJib3NlLCRkcnlfcnVuKT1AXzsKLSAgICAgaWYgKCAkdmVyYm9zZSAmJiAkdmVyYm9zZSA+IDEgJiYgISAtZCAkZGlyKSB7Ci0gICAgICAgICAkc2hvdz0gMTsKLS0gICAgICAgIHByaW50ZiAibWtwYXRoKCVzLCVkLCUjbylcbiIsICRkaXIsICRzaG93LCAkbW9kZTsKLSsgICAgICAgIHByaW50ZiAibWtwYXRoKCVzLCVkKVxuIiwgJGRpciwgJHNob3c7Ci0gICAgIH0KLSAgICAgaWYgKCEkZHJ5X3J1bikgewotLSAgICAgICAgaWYgKCAhIGV2YWwgeyBGaWxlOjpQYXRoOjpta3BhdGgoJGRpciwkc2hvdywkbW9kZSk7IDEgfSApIHsKLSsgICAgICAgIGlmICggISBldmFsIHsgRmlsZTo6UGF0aDo6bWtwYXRoKCRkaXIsJHNob3cpOyAxIH0gKSB7Ci0gICAgICAgICAgICAgX2Nob2tlKCJDYW4ndCBjcmVhdGUgJyRkaXInIiwiJEAiKTsKLSAgICAgICAgIH0KLSAKLUBAIC03ODMsNyArNzgzLDcgQEAgc3ViIGluc3RhbGwgeyAjWFhYIE9TLVNQRUNJRklDCi0gICAgICAgICBfY2hkaXIoJGN3ZCk7Ci0gICAgIH0KLSAgICAgZm9yZWFjaCBteSAkdGFyZ2V0ZGlyIChzb3J0IGtleXMgJWNoZWNrX2RpcnMpIHsKLS0gICAgICAgIF9ta3BhdGgoICR0YXJnZXRkaXIsIDAsIDA3NTUsICR2ZXJib3NlLCAkZHJ5X3J1biApOwotKyAgICAgICAgX21rcGF0aCggJHRhcmdldGRpciwgMCwgJHZlcmJvc2UsICRkcnlfcnVuICk7Ci0gICAgIH0KLSAgICAgZm9yZWFjaCBteSAkZm91bmQgKEBmb3VuZF9maWxlcykgewotICAgICAgICAgbXkgKCRkaWZmLCAkZmZkLCAkb3JpZ2ZpbGUsICRtb2RlLCAkc2l6ZSwgJGF0aW1lLCAkbXRpbWUsCi1AQCAtNzk3LDcgKzc5Nyw3IEBAIHN1YiBpbnN0YWxsIHsgI1hYWCBPUy1TUEVDSUZJQwotICAgICAgICAgICAgICAgICAgICAgJHRhcmdldGZpbGU9IF91bmxpbmtfb3JfcmVuYW1lKCAkdGFyZ2V0ZmlsZSwgJ3RyeWhhcmQnLCAnaW5zdGFsbCcgKQotICAgICAgICAgICAgICAgICAgICAgICAgIHVubGVzcyAkZHJ5X3J1bjsKLSAgICAgICAgICAgICAgICAgfSBlbHNpZiAoICEgLWQgJHRhcmdldGRpciApIHsKLS0gICAgICAgICAgICAgICAgICAgIF9ta3BhdGgoICR0YXJnZXRkaXIsIDAsIDA3NTUsICR2ZXJib3NlLCAkZHJ5X3J1biApOwotKyAgICAgICAgICAgICAgICAgICAgX21rcGF0aCggJHRhcmdldGRpciwgMCwgJHZlcmJvc2UsICRkcnlfcnVuICk7Ci0gICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgcHJpbnQgIkluc3RhbGxpbmcgJHRhcmdldGZpbGVcbiI7Ci0gCi1AQCAtODM3LDcgKzgzNyw3IEBAIHN1YiBpbnN0YWxsIHsgI1hYWCBPUy1TUEVDSUZJQwotIAotICAgICBpZiAoJHBhY2t7J3dyaXRlJ30pIHsKLSAgICAgICAgICRkaXIgPSBpbnN0YWxsX3Jvb3RlZF9kaXIoZGlybmFtZSgkcGFja3snd3JpdGUnfSkpOwotLSAgICAgICAgX21rcGF0aCggJGRpciwgMCwgMDc1NSwgJHZlcmJvc2UsICRkcnlfcnVuICk7Ci0rICAgICAgICBfbWtwYXRoKCAkZGlyLCAwLCAkdmVyYm9zZSwgJGRyeV9ydW4gKTsKLSAgICAgICAgIHByaW50ICJXcml0aW5nICRwYWNreyd3cml0ZSd9XG4iIGlmICR2ZXJib3NlOwotICAgICAgICAgJHBhY2tsaXN0LT53cml0ZShpbnN0YWxsX3Jvb3RlZF9maWxlKCRwYWNreyd3cml0ZSd9KSkgdW5sZXNzICRkcnlfcnVuOwotICAgICB9Ci1AQCAtMTE4MCw3ICsxMTgwLDcgQEAgZW52aXJvbm1lbnQgdmFyaWFibGUgd2lsbCBzaWxlbmNlIHRoaXMgb3V0cHV0LgotIHN1YiBwbV90b19ibGliIHsKLSAgICAgbXkoJGZyb210bywkYXV0b2RpciwkcG1fZmlsdGVyKSA9IEBfOwotIAotLSAgICBfbWtwYXRoKCRhdXRvZGlyLDAsMDc1NSk7Ci0rICAgIF9ta3BhdGgoJGF1dG9kaXIsMCk7Ci0gICAgIHdoaWxlKG15KCRmcm9tLCAkdG8pID0gZWFjaCAlJGZyb210bykgewotICAgICAgICAgaWYoIC1mICR0byAmJiAtcyAkZnJvbSA9PSAtcyAkdG8gJiYgLU0gJHRvIDwgLU0gJGZyb20gKSB7Ci0gICAgICAgICAgICAgcHJpbnQgIlNraXAgJHRvICh1bmNoYW5nZWQpXG4iIHVubGVzcyAkSU5TVEFMTF9RVUlFVDsKLUBAIC0xMjAzLDcgKzEyMDMsNyBAQCBzdWIgcG1fdG9fYmxpYiB7Ci0gICAgICAgICAgICAgIyB3ZSB3b250IHRyeSBoYXJkIGhlcmUuIGl0cyB0b28gbGlrZWx5IHRvIG1lc3MgdGhpbmdzIHVwLgotICAgICAgICAgICAgIGZvcmNldW5saW5rKCR0byk7Ci0gICAgICAgICB9IGVsc2UgewotLSAgICAgICAgICAgIF9ta3BhdGgoZGlybmFtZSgkdG8pLDAsMDc1NSk7Ci0rICAgICAgICAgICAgX21rcGF0aChkaXJuYW1lKCR0byksMCk7Ci0gICAgICAgICB9Ci0gICAgICAgICBpZiAoJG5lZWRfZmlsdGVyaW5nKSB7Ci0gICAgICAgICAgICAgcnVuX2ZpbHRlcigkcG1fZmlsdGVyLCAkZnJvbSwgJHRvKTsKLWRpZmYgLS1naXQgYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbSBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCi1pbmRleCBmNjMxNDVjLi4xOTdmMTAyIDEwMDY0NAotLS0tIGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KLSsrKyBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCi1AQCAtMjExOCw3ICsyMTE4LDcgQEAgZG9jX19pbnN0YWxsIDogZG9jX3NpdGVfaW5zdGFsbAotIAkkKE5PRUNITykgJChFQ0hPKSBJTlNUQUxMRElSUyBub3QgZGVmaW5lZCwgZGVmYXVsdGluZyB0byBJTlNUQUxMRElSUz1zaXRlCi0gCi0gcHVyZV9wZXJsX2luc3RhbGwgOjogYWxsCi0tCSQoTk9FQ0hPKSAkKE1PRF9JTlNUQUxMKSBcCi0rCSQoTk9FQ0hPKSB1bWFzayAwMjI7ICQoTU9EX0lOU1RBTEwpIFwKLSB9OwotIAotICAgICBwdXNoIEBtLAotQEAgLTIxMzgsNyArMjEzOCw3IEBAIHF7CQkiJChJTlNUX0xJQikiICIkKERFU1RJTlNUQUxMUFJJVkxJQikiIFwKLSAKLSAKLSBwdXJlX3NpdGVfaW5zdGFsbCA6OiBhbGwKLS0JJChOT0VDSE8pICQoTU9EX0lOU1RBTEwpIFwKLSsJJChOT0VDSE8pIHVtYXNrIDAyMjsgJChNT0RfSU5TVEFMTCkgXAotIH07Ci0gICAgIHB1c2ggQG0sCi0gcXsJCXJlYWQgIn0uJHNlbGYtPmNhdGZpbGUoJyQoU0lURUFSQ0hFWFApJywnYXV0bycsJyQoRlVMTEVYVCknLCcucGFja2xpc3QnKS5xeyIgXAotQEAgLTIxNTYsNyArMjE1Niw3IEBAIHF7CQkiJChJTlNUX0xJQikiICIkKERFU1RJTlNUQUxMU0lURUxJQikiIFwKLSAJCSJ9LiRzZWxmLT5jYXRkaXIoJyQoUEVSTF9BUkNITElCKScsJ2F1dG8nLCckKEZVTExFWFQpJykucXsiCi0gCi0gcHVyZV92ZW5kb3JfaW5zdGFsbCA6OiBhbGwKLS0JJChOT0VDSE8pICQoTU9EX0lOU1RBTEwpIFwKLSsJJChOT0VDSE8pIHVtYXNrIDAyMjsgJChNT0RfSU5TVEFMTCkgXAotIH07Ci0gICAgIHB1c2ggQG0sCi0gcXsJCXJlYWQgIn0uJHNlbGYtPmNhdGZpbGUoJyQoVkVORE9SQVJDSEVYUCknLCdhdXRvJywnJChGVUxMRVhUKScsJy5wYWNrbGlzdCcpLnF7IiBcCi1AQCAtMjE4OCw4ICsyMTg4LDggQEAgZG9jX3ZlbmRvcl9pbnN0YWxsIDo6IGFsbAotICAgICBwdXNoIEBtLCBxewotIGRvY19wZXJsX2luc3RhbGwgOjogYWxsCi0gCSQoTk9FQ0hPKSAkKEVDSE8pIEFwcGVuZGluZyBpbnN0YWxsYXRpb24gaW5mbyB0byAiJChERVNUSU5TVEFMTEFSQ0hMSUIpL3Blcmxsb2NhbC5wb2QiCi0tCS0kKE5PRUNITykgJChNS1BBVEgpICIkKERFU1RJTlNUQUxMQVJDSExJQikiCi0tCS0kKE5PRUNITykgJChET0NfSU5TVEFMTCkgXAotKwktJChOT0VDSE8pIHVtYXNrIDAyMjsgJChNS1BBVEgpICIkKERFU1RJTlNUQUxMQVJDSExJQikiCi0rCS0kKE5PRUNITykgdW1hc2sgMDIyOyAkKERPQ19JTlNUQUxMKSBcCi0gCQkiTW9kdWxlIiAiJChOQU1FKSIgXAotIAkJImluc3RhbGxlZCBpbnRvIiAkKElOU1RBTExQUklWTElCKSBcCi0gCQlMSU5LVFlQRSAiJChMSU5LVFlQRSkiIFwKLUBAIC0yMTk5LDggKzIxOTksOCBAQCBkb2NfcGVybF9pbnN0YWxsIDo6IGFsbAotIAotIGRvY19zaXRlX2luc3RhbGwgOjogYWxsCi0gCSQoTk9FQ0hPKSAkKEVDSE8pIEFwcGVuZGluZyBpbnN0YWxsYXRpb24gaW5mbyB0byAiJChERVNUSU5TVEFMTEFSQ0hMSUIpL3Blcmxsb2NhbC5wb2QiCi0tCS0kKE5PRUNITykgJChNS1BBVEgpICIkKERFU1RJTlNUQUxMQVJDSExJQikiCi0tCS0kKE5PRUNITykgJChET0NfSU5TVEFMTCkgXAotKwktJChOT0VDSE8pIHVtYXNrIDAyMjsgJChNS1BBVEgpICIkKERFU1RJTlNUQUxMQVJDSExJQikiCi0rCS0kKE5PRUNITykgdW1hc2sgMDIyOyAkKERPQ19JTlNUQUxMKSBcCi0gCQkiTW9kdWxlIiAiJChOQU1FKSIgXAotIAkJImluc3RhbGxlZCBpbnRvIiAkKElOU1RBTExTSVRFTElCKSBcCi0gCQlMSU5LVFlQRSAiJChMSU5LVFlQRSkiIFwKLUBAIC0yMjEwLDggKzIyMTAsOCBAQCBkb2Nfc2l0ZV9pbnN0YWxsIDo6IGFsbAotIAotIGRvY192ZW5kb3JfaW5zdGFsbCA6OiBhbGwKLSAJJChOT0VDSE8pICQoRUNITykgQXBwZW5kaW5nIGluc3RhbGxhdGlvbiBpbmZvIHRvICIkKERFU1RJTlNUQUxMQVJDSExJQikvcGVybGxvY2FsLnBvZCIKLS0JLSQoTk9FQ0hPKSAkKE1LUEFUSCkgIiQoREVTVElOU1RBTExBUkNITElCKSIKLS0JLSQoTk9FQ0hPKSAkKERPQ19JTlNUQUxMKSBcCi0rCS0kKE5PRUNITykgdW1hc2sgMDIyOyAkKE1LUEFUSCkgIiQoREVTVElOU1RBTExBUkNITElCKSIKLSsJLSQoTk9FQ0hPKSB1bWFzayAwMjI7ICQoRE9DX0lOU1RBTEwpIFwKLSAJCSJNb2R1bGUiICIkKE5BTUUpIiBcCi0gCQkiaW5zdGFsbGVkIGludG8iICQoSU5TVEFMTFZFTkRPUkxJQikgXAotIAkJTElOS1RZUEUgIiQoTElOS1RZUEUpIiBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2luc3Rtb2RzaF9kb2MuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vaW5zdG1vZHNoX2RvYy5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZTFmZDY5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vaW5zdG1vZHNoX2RvYy5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotRnJvbSAyNjIwOWI1NTIwMWExYjJkMjUyNTJhYzNiNDI1YmM0OTA4MTI5OWRlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQnJlbmRhbiBPJ0RlYSA8Ym9kQGRlYmlhbi5vcmc+Ci1EYXRlOiBUdWUsIDggTWFyIDIwMDUgMTk6MzA6MzggKzExMDAKLVN1YmplY3Q6IERlYmlhbiBwb2xpY3kgZG9lc24ndCBpbnN0YWxsIC5wYWNrbGlzdCBmaWxlcyBmb3IgY29yZSBvciB2ZW5kb3IuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9pbnN0bW9kc2hfZG9jLmRpZmYKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvYmluL2luc3Rtb2RzaCB8IDQgKysrLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2Jpbi9pbnN0bW9kc2ggYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9iaW4vaW5zdG1vZHNoCi1pbmRleCA4YjlhYTk1Li5lNTUxNDM0IDEwMDY0NAotLS0tIGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvYmluL2luc3Rtb2RzaAotKysrIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvYmluL2luc3Rtb2RzaAotQEAgLTE4LDkgKzE4LDExIEBAIGluc3Rtb2RzaCAtIEEgc2hlbGwgdG8gZXhhbWluZSBpbnN0YWxsZWQgbW9kdWxlcwotIAotID1oZWFkMSBERVNDUklQVElPTgotIAotLUEgbGl0dGxlIGludGVyZmFjZSB0byBFeHRVdGlsczo6SW5zdGFsbGVkIHRvIGV4YW1pbmUgaW5zdGFsbGVkIG1vZHVsZXMsCi0rQSBsaXR0bGUgaW50ZXJmYWNlIHRvIEV4dFV0aWxzOjpJbnN0YWxsZWQgdG8gZXhhbWluZSBsb2NhbGx5KiBpbnN0YWxsZWQgbW9kdWxlcywKLSB2YWxpZGF0ZSB5b3VyIHBhY2tsaXN0cyBhbmQgZXZlbiBjcmVhdGUgYSB0YXJiYWxsIGZyb20gYW4gaW5zdGFsbGVkIG1vZHVsZS4KLSAKLSsqT24gRGViaWFuIHN5c3RlbSwgQjxjb3JlPiBhbmQgQjx2ZW5kb3I+IG1vZHVsZXMgYXJlIG1hbmFnZWQgYnkgQzxkcGtnPi4KLSsKLSA9aGVhZDEgU0VFIEFMU08KLSAKLSBFeHRVdGlsczo6SW5zdGFsbGVkCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2xkX3J1bl9wYXRoLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2xkX3J1bl9wYXRoLmRpZmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZmMGIyODcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9sZF9ydW5fcGF0aC5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotRnJvbSA1M2NlNjkwODU5MTgyMzJhMWI3ZTI2ZTc3NjJjMWIyZjcwYjFlYjRhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQnJlbmRhbiBPJ0RlYSA8Ym9kQGRlYmlhbi5vcmc+Ci1EYXRlOiBGcmksIDE4IE1hciAyMDA1IDIyOjIyOjI1ICsxMTAwCi1TdWJqZWN0OiBSZW1vdmUgc3RhbmRhcmQgbGlicyBmcm9tIExEX1JVTl9QQVRIIGFzIHBlciBEZWJpYW4gcG9saWN5LgotCi1QYXRjaC1OYW1lOiBkZWJpYW4vbGRfcnVuX3BhdGguZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTGlibGlzdC9LaWQucG0gfCAzICsrKwotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9MaWJsaXN0L0tpZC5wbSBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9MaWJsaXN0L0tpZC5wbQotaW5kZXggMzdiY2ZkNC4uYmQ2NmU2NSAxMDA2NDQKLS0tLSBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9MaWJsaXN0L0tpZC5wbQotKysrIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL0xpYmxpc3QvS2lkLnBtCi1AQCAtNTYsNiArNTYsOSBAQCBzdWIgX3VuaXhfb3MyX2V4dCB7Ci0gICAgIG15ICggJHB3ZCApICAgPSBjd2QoKTsgICAgIyBmcm9tIEN3ZC5wbQotICAgICBteSAoICRmb3VuZCApID0gMDsKLSAKLSsgICAgIyBEZWJpYW4tc3BlY2lmaWM6IGRvbid0IHVzZSBMRF9SVU5fUEFUSCBmb3Igc3RhbmRhcmQgZGlycwotKyAgICAkbGRfcnVuX3BhdGhfc2VlbnskX30rKyBmb3IgQGxpYnBhdGg7Ci0rCi0gICAgIGZvcmVhY2ggbXkgJHRoaXNsaWIgKCBzcGxpdCAnICcsICRwb3RlbnRpYWxfbGlicyApIHsKLSAgICAgICAgIG15ICggJGN1c3RvbV9uYW1lICkgPSAnJzsKLSAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbGlibmV0X2NvbmZpZ19wYXRoLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2xpYm5ldF9jb25maWdfcGF0aC5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNTM0NzQyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbGlibmV0X2NvbmZpZ19wYXRoLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi1Gcm9tIGE3ZjZkNDUzZTYwMjU2ZDMyOTQ2OWE3NWI2NDJjY2E4NTRjZWJlYTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCcmVuZGFuIE8nRGVhIDxib2RAZGViaWFuLm9yZz4KLURhdGU6IFR1ZSwgOCBNYXIgMjAwNSAxOTozMDozOCArMTEwMAotU3ViamVjdDogU2V0IGxvY2F0aW9uIG9mIGxpYm5ldC5jZmcgdG8gL2V0Yy9wZXJsL05ldCBhcyAvdXNyIG1heSBub3QgYmUKLSB3cml0YWJsZS4KLQotUGF0Y2gtTmFtZTogZGViaWFuL2xpYm5ldF9jb25maWdfcGF0aC5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNwYW4vbGlibmV0L2xpYi9OZXQvQ29uZmlnLnBtIHwgNyArKystLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NwYW4vbGlibmV0L2xpYi9OZXQvQ29uZmlnLnBtIGIvY3Bhbi9saWJuZXQvbGliL05ldC9Db25maWcucG0KLWluZGV4IDk1M2E4MjYuLjYxYmExMmEgMTAwNjQ0Ci0tLS0gYS9jcGFuL2xpYm5ldC9saWIvTmV0L0NvbmZpZy5wbQotKysrIGIvY3Bhbi9saWJuZXQvbGliL05ldC9Db25maWcucG0KLUBAIC02OCw5ICs2OCw4IEBAIG15ICVuYyA9ICgKLSBUUllfSU5URVJORVRfQ09ORklHCi0gfQotIAotLW15ICRmaWxlID0gX19GSUxFX187Ci0rbXkgJGZpbGUgPSAnL2V0Yy9wZXJsL05ldC9saWJuZXQuY2ZnJzsKLSBteSAkcmVmOwotLSRmaWxlID1+IHMvQ29uZmlnLnBtL2xpYm5ldC5jZmcvOwotIGlmICgtZiAkZmlsZSkgewotICAgJHJlZiA9IGV2YWwgeyBsb2NhbCAkU0lHe19fRElFX199OyBkbyAkZmlsZSB9OwotICAgaWYgKHJlZigkcmVmKSBlcSAnSEFTSCcpIHsKLUBAIC0xNDIsOCArMTQxLDggQEAgTmV0OjpDb25maWcgLSBMb2NhbCBjb25maWd1cmF0aW9uIGRhdGEgZm9yIGxpYm5ldAotIEM8TmV0OjpDb25maWc+IGhvbGRzIGNvbmZpZ3VyYXRpb24gZGF0YSBmb3IgdGhlIG1vZHVsZXMgaW4gdGhlIGxpYm5ldAotIGRpc3RyaWJ1dGlvbi4gRHVyaW5nIGluc3RhbGxhdGlvbiB5b3Ugd2lsbCBiZSBhc2tlZCBmb3IgdGhlc2UgdmFsdWVzLgotIAotLVRoZSBjb25maWd1cmF0aW9uIGRhdGEgaXMgaGVsZCBnbG9iYWxseSBpbiBhIGZpbGUgaW4gdGhlIHBlcmwgaW5zdGFsbGF0aW9uCi0tdHJlZSwgYnV0IGEgdXNlciBtYXkgb3ZlcnJpZGUgYW55IG9mIHRoZXNlIHZhbHVlcyBieSBwcm92aWRpbmcgdGhlaXIgb3duLiBUaGlzCi0rVGhlIGNvbmZpZ3VyYXRpb24gZGF0YSBpcyBoZWxkIGdsb2JhbGx5IGluIEM8L2V0Yy9wZXJsL05ldC9saWJuZXQuY2ZnPiwKLStidXQgYSB1c2VyIG1heSBvdmVycmlkZSBhbnkgb2YgdGhlc2UgdmFsdWVzIGJ5IHByb3ZpZGluZyB0aGVpciBvd24uIFRoaXMKLSBjYW4gYmUgZG9uZSBieSBoYXZpbmcgYSBDPC5saWJuZXRyYz4gZmlsZSBpbiB0aGVpciBob21lIGRpcmVjdG9yeS4gVGhpcyBmaWxlCi0gc2hvdWxkIHJldHVybiBhIHJlZmVyZW5jZSB0byBhIEhBU0ggY29udGFpbmluZyB0aGUga2V5cyBkZXNjcmliZWQgYmVsb3cuCi0gRm9yIGV4YW1wbGUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbGlicGVybF9lbWJlZF9kb2MuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbGlicGVybF9lbWJlZF9kb2MuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGNkYzBkMy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2xpYnBlcmxfZW1iZWRfZG9jLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1Gcm9tIGZiOGJkYmI0YmY1NjM4MmRlMDk5ZTYyYzI1NjQyODZiOWRmZGE0NmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCcmVuZGFuIE8nRGVhIDxib2RAZGViaWFuLm9yZz4KLURhdGU6IFR1ZSwgOCBNYXIgMjAwNSAxOTozMDozOCArMTEwMAotU3ViamVjdDogTm90ZSB0aGF0IGxpYnBlcmwtZGV2IHBhY2thZ2UgaXMgcmVxdWlyZWQgZm9yIGVtYmVkZGVkIGxpbmtpbmcKLQotQnVnLURlYmlhbjogaHR0cDovL2J1Z3MuZGViaWFuLm9yZy8xODY3NzgKLQotUGF0Y2gtTmFtZTogZGViaWFuL2xpYnBlcmxfZW1iZWRfZG9jLmRpZmYKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gbGliL0V4dFV0aWxzL0VtYmVkLnBtIHwgMyArKysKLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9saWIvRXh0VXRpbHMvRW1iZWQucG0gYi9saWIvRXh0VXRpbHMvRW1iZWQucG0KLWluZGV4IDNmOTgzYzEuLjBlYzhhNjcgMTAwNjQ0Ci0tLS0gYS9saWIvRXh0VXRpbHMvRW1iZWQucG0KLSsrKyBiL2xpYi9FeHRVdGlscy9FbWJlZC5wbQotQEAgLTI5Niw2ICsyOTYsOSBAQCBhbmQgZXh0ZW5zaW9ucyBpbiB5b3VyIEMvQysrIGFwcGxpY2F0aW9ucy4KLSBUeXBpY2FsbHksIGFuIGFwcGxpY2F0aW9uIEY8TWFrZWZpbGU+IHdpbGwgaW52b2tlIEM8RXh0VXRpbHM6OkVtYmVkPgotIGZ1bmN0aW9ucyB3aGlsZSBidWlsZGluZyB5b3VyIGFwcGxpY2F0aW9uLiAgCi0gCi0rTm90ZSB0aGF0IG9uIERlYmlhbiBzeXN0ZW1zIHRoZSBCPGxpYnBlcmwtZGV2PiBwYWNrYWdlIGlzIHJlcXVpcmVkIGZvcgotK2NvbXBpbGluZyBhcHBsaWNhdGlvbnMgd2hpY2ggZW1iZWQgYW4gaW50ZXJwcmV0ZXIuCi0rCi0gPWhlYWQxIEBFWFBPUlQKLSAKLSBDPEV4dFV0aWxzOjpFbWJlZD4gZXhwb3J0cyB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uczoKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbG9jYWxlLXJvYnVzdG5lc3MuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbG9jYWxlLXJvYnVzdG5lc3MuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2NmMTI0Mi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2xvY2FsZS1yb2J1c3RuZXNzLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi1Gcm9tIDI4OWVhZjg3ZjhkZTRkOWViZmQ2NjFkNGU0Mjk5YzI5NTI0MzUyNDMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBOaWtvIFR5bmkgPG50eW5pQGRlYmlhbi5vcmc+Ci1EYXRlOiBGcmksIDEwIEFwciAyMDE1IDEwOjE5OjUxICswMzAwCi1TdWJqZWN0OiBNYWtlIHQvcnVuL2xvY2FsZS50IHN1cnZpdmUgbWlzc2luZyBsb2NhbGVzIG1hc2tlZCBieSBMQ19BTEwKLQotSWYgTENfQUxMIGlzIHNldCB0byBhIHZhbGlkIGxvY2FsZSBidXQgYW5vdGhlciBMQ18qIHNldHRpbmcgbGlrZSBMQ19DVFlQRQotaXNuJ3QsIHQvcnVuL2xvY2FsZS50IHdvdWxkIGZhaWwgYmVjYXVzZSBpdCBleHBsaWNpdGx5IHVuc2V0cyBMQ19BTEwsCi11bm1hc2tpbmcgdGhlIHByb2JsZW0gdW5kZXJuZWF0aC4gQWxsIHRoZSBvdGhlciB0ZXN0cyBzdXJ2aXZlIHN1Y2gKLWEgc2NlbmFyaW8uCi0KLVdoaWxlIHRoaXMgaXMgY2xlYXJseSBhbiBlcnJvciBpbiB0aGUgYnVpbGQgZW52aXJvbm1lbnQsIGl0J3MgZWFzeSB0byBtYWtlCi10aGUgdGVzdCBtb3JlIHJvYnVzdCBieSBmaXJzdCBjbGVhcmluZyBhbGwgdGhlIGxvY2FsZSByZWxldmFudCB2YXJpYWJsZXMuCi0KLUJ1ZzogaHR0cHM6Ly9ydC5wZXJsLm9yZy9UaWNrZXQvRGlzcGxheS5odG1sP2lkPTEyNDMxMAotQnVnLURlYmlhbjogaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvNzgyMDY4Ci1QYXRjaC1OYW1lOiBkZWJpYW4vbG9jYWxlLXJvYnVzdG5lc3MuZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSB0L3J1bi9sb2NhbGUudCB8IDcgKysrLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS90L3J1bi9sb2NhbGUudCBiL3QvcnVuL2xvY2FsZS50Ci1pbmRleCBiZDFhMDM0Li4yMTA1MzM5IDEwMDY0NAotLS0tIGEvdC9ydW4vbG9jYWxlLnQKLSsrKyBiL3QvcnVuL2xvY2FsZS50Ci1AQCAtMjcsNiArMjcsOSBAQCBteSBAbG9jYWxlcyA9IGV2YWwgeyBmaW5kX2xvY2FsZXMoIFsgJkxDX0FMTCwgJkxDX0NUWVBFLCAmTENfTlVNRVJJQyBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgfTsKLSBza2lwX2FsbCgibm8gbG9jYWxlcyBhdmFpbGFibGUiKSB1bmxlc3MgQGxvY2FsZXM7Ci0gCi0rIyByZXNldCB0aGUgbG9jYWxlIGVudmlyb25tZW50Ci0rbG9jYWwgQEVOVnsnTEFORycsIChncmVwIC9eTENfLywga2V5cyAlRU5WKX07Ci0rCi0gcGxhbiB0ZXN0cyA9PiAmbGFzdDsKLSAKLSBteSAkbm9uX0NfbG9jYWxlOwotQEAgLTU4LDkgKzYxLDYgQEAgRU9GCi0gU0tJUDogewotICAgICBza2lwKCJXaW5kb3dzIHN0b3JlcyBsb2NhbGUgZGVmYXVsdHMgaW4gdGhlIHJlZ2lzdHJ5IiwgMSApCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgJF5PIGVxICdNU1dpbjMyJzsKLS0gICAgbG9jYWwgJEVOVntMQ19OVU1FUklDfTsgIyBTbyBub3QgdGFrZW4gYXMgYSBkZWZhdWx0Ci0tICAgIGxvY2FsICRFTlZ7TENfQUxMfTsgIyBzbyBpdCBuZXZlciBvdmVycmlkZXMgTENfTlVNRVJJQwotLSAgICBsb2NhbCAkRU5We0xBTkd9OyAgICMgU28gbm90IHRha2VuIGFzIGEgZGVmYXVsdAotICAgICBmcmVzaF9wZXJsX2lzKCJmb3IgKHF3KEBsb2NhbGVzKSkge1xuIiAuIDw8J0VPRicsCi0gICAgICAgICB1c2UgUE9TSVggcXcobG9jYWxlX2gpOwotICAgICAgICAgdXNlIGxvY2FsZTsKLUBAIC0zNDgsNyArMzQ4LDYgQEAgRU9GCi0gCi0gICAgIHsKLSAJbG9jYWwgJEVOVntMQ19OVU1FUklDfSA9ICRkaWZmZXJlbnQ7Ci0tCWxvY2FsICRFTlZ7TENfQUxMfTsgIyBzbyBpdCBuZXZlciBvdmVycmlkZXMgTENfTlVNRVJJQwotIAlmcmVzaF9wZXJsX2lzKDw8IkVPRiIsCi0gCSAgICB1c2UgUE9TSVggcXcobG9jYWxlX2gpOwotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9tYWtlbWFrZXItcGFzdGhydS5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9tYWtlbWFrZXItcGFzdGhydS5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZjA3MTgwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbWFrZW1ha2VyLXBhc3RocnUuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLUZyb20gNTkzZGQ1MmY1MzViMWY0MzlkZmQwYWZlNTIyMTFhZTg5NjBlOTgwYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE5pa28gVHluaSA8bnR5bmlAZGViaWFuLm9yZz4KLURhdGU6IFN1biwgMjQgQXVnIDIwMTQgMTI6NTY6MTEgLTA3MDAKLVN1YmplY3Q6IFBhc3MgTEQgc2V0dGluZ3MgdGhyb3VnaCB0byBzdWJkaXJlY3RvcmllcwotCi1bcnQuY3Bhbi5vcmcgIzI4NjMyXSBmaXhlZCBtb3N0IGlzc3VlcyB3aXRoIHBhc3NpbmcgTEQgZG93biB0bwotc3ViZGlyZWN0b3J5IE1ha2VmaWxlLlBMIGZpbGVzLiBIb3dldmVyLCB0aGVyZSBhcmUgc29tZSBkaXN0cmlidXRpb25zCi0oaW5jbHVkaW5nIFd4LCBQYXI6OlBhY2tlciwgYW5kIFZlcmlsb2ctUGVybCkgdGhhdCBleHBsaWNpdGx5IHNldAotTEQuIFRob3NlIHN0aWxsIGNhbid0IGJlIG92ZXJyaWRkZW4gZnJvbSB0aGUgY29tbWFuZCBsaW5lLiBBZGRpbmcgTEQgdG8KLXRoZSBQQVNUSFJVIGxpc3QgZml4ZXMgdGhpcy4KLQotQnVnLURlYmlhbjogaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvNzU4NDcxCi1QYXRjaC1OYW1lOiBkZWJpYW4vbWFrZW1ha2VyLXBhc3RocnUuZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbSB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KLWluZGV4IDRhOGUxNGMuLjU0OGQ5OGUgMTAwNjQ0Ci0tLS0gYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQotKysrIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KLUBAIC0yNzkzLDcgKzI3OTMsNyBAQCBzdWIgcGFzdGhydSB7Ci0gICAgIG15KCRzZXApID0gJElze1ZNU30gPyAnLCcgOiAnJzsKLSAgICAgJHNlcCAuPSAiXFxcblx0IjsKLSAKLS0gICAgZm9yZWFjaCBteSAka2V5IChxdyhMSUIgTElCUEVSTF9BIExJTktUWVBFIE9QVElNSVpFCi0rICAgIGZvcmVhY2ggbXkgJGtleSAocXcoTElCIExJQlBFUkxfQSBMSU5LVFlQRSBPUFRJTUlaRSBMRAotICAgICAgICAgICAgICAgICAgICAgIFBSRUZJWCBJTlNUQUxMX0JBU0UpCi0gICAgICAgICAgICAgICAgICApCi0gICAgIHsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbWFrZW1ha2VyX2N1c3RvbWl6ZWQuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbWFrZW1ha2VyX2N1c3RvbWl6ZWQuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDg3MGI2MC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL21ha2VtYWtlcl9jdXN0b21pemVkLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi1Gcm9tIDYzNDQ0OTA2NmE5YzgxMGU4MTUwNjQyNWQyY2E5MjViMmZkNzJhYjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBEb21pbmljIEhhcmdyZWF2ZXMgPGRvbUBlYXJ0aC5saT4KLURhdGU6IFNhdCwgMjMgTWF5IDIwMTUgMjE6MTU6MDYgKzAyMDAKLVN1YmplY3Q6IFVwZGF0ZSB0L3BvcnRpbmcvY3VzdG9taXplZC5kYXQgZm9yIGZpbGVzIHBhdGNoZWQgaW4gRGViaWFuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9tYWtlbWFrZXJfY3VzdG9taXplZC5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIHQvcG9ydGluZy9jdXN0b21pemVkLmRhdCB8IDggKysrKy0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvdC9wb3J0aW5nL2N1c3RvbWl6ZWQuZGF0IGIvdC9wb3J0aW5nL2N1c3RvbWl6ZWQuZGF0Ci1pbmRleCA3ZGYzOThkLi5mODU3YmQyIDEwMDY0NAotLS0tIGEvdC9wb3J0aW5nL2N1c3RvbWl6ZWQuZGF0Ci0rKysgYi90L3BvcnRpbmcvY3VzdG9taXplZC5kYXQKLUBAIC0xLDcgKzEsNyBAQAotIEV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL0NvbW1hbmQvTU0ucG0gN2Y0ZGZkMGZlODg0YmQ0MjQxMmJjZjA0Y2E4MGVmOTdiMzljMWQ1NAotIEV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL0xpYmxpc3QucG0gYmVmMDk5OTg4YjE1ZmIwYjJhMWY1YWM0OGMwMWFmMWY3ZjM2ZDMyOQotLUV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL0xpYmxpc3QvS2lkLnBtIDgxNjhlMThmMGUzY2UzZWNlNGJiN2U3YzcyZDU3ZWMwN2M2N2M0MDIKLS1FeHRVdGlsczo6TWFrZU1ha2VyIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NYWtlTWFrZXIucG0gNzExNWU5N2E1MzU1OWNiM2VjMDYxZGQ2ZjdmMzQ0ZTUyMjcyNGM0YQotK0V4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL0xpYmxpc3QvS2lkLnBtIDM0OTNhZTZmOTMyNjRlOTY3ZjU4ZGVkYWEzZGJmM2RiY2IyNDk4NTMKLStFeHRVdGlsczo6TWFrZU1ha2VyIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NYWtlTWFrZXIucG0gM2Q3YWJkNjc0YjE1ZWQzMjNmNzQzNTk0ZWYwYmQwOWRiNzZiMWFlZQotIEV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01ha2VNYWtlci9Db25maWcucG0gZjhkYjhkNDI0NWJmMDY4NGI4MjEwYzgxMWY1MGQ3Y2ZiMWEyN2Q3OAotIEV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01ha2VNYWtlci9GQVEucG9kIDc1N2JmZmI0Nzg1NzUyMTMxMWY4ZjNiZGU0M2ViZTE2NWY4ZDUxOTEKLSBFeHRVdGlsczo6TWFrZU1ha2VyIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NYWtlTWFrZXIvTG9jYWxlLnBtIDgyYmUwNjg1MWRlYjg0YzY0MTlhZDAwM2NlOWI2ZDE5NTdmMzk1ZjMKLUBAIC0xMyw3ICsxMyw3IEBAIEV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01rYm9vdHN0cmFwLnBtIDU4ODcyZDY2Ci0gRXh0VXRpbHM6Ok1ha2VNYWtlciBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTWtzeW1saXN0cy5wbSBhYjgwMDI5YWIxNmQzOGQ0ZjJlNDFkYzg4ZDJjZWI5ZjM3OTBlNDc3Ci0gRXh0VXRpbHM6Ok1ha2VNYWtlciBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU0ucG0gNDUzZTBhYmJjNGJiMzhkYjRjMDgyMGFkNWM0ODQ2ZjMxM2I2NjI5MQotIEV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX0FJWC5wbSBjMWIxYmFiZGE4ZjQzYWU3YTJjYWJhMWNiNGY3MGY5MmFmNWEwZTM0Ci0tRXh0VXRpbHM6Ok1ha2VNYWtlciBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fQW55LnBtIDZmOTBkOTRhZDNlN2FhMDA0NWEzYjFhMTBhMWJiMTgzOTFmODlmNTcKLStFeHRVdGlsczo6TWFrZU1ha2VyIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9BbnkucG0gMjFiZGU1MzI5MGJmMWE0ZGE0NDU3MjkwYjY1YmQxYjBjYTZmMWQxNgotIEV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX0JlT1MucG0gY2FiMmIzY2UwOGI3MWE0Y2U4OWFhNjMwZjIzNmViMDhiODUyNDM5ZAotIEV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX0N5Z3dpbi5wbSA2MWZjZWQwZmFmNTE4YmY4N2MyNjVmY2I1MWVkMzMwYmEzNTQ2MjNmCi0gRXh0VXRpbHM6Ok1ha2VNYWtlciBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fRGFyd2luLnBtIGFlMGVmNTFhN2I2ZGQwYjA1YWE2MWM3NzlkZjcxNjdkZGE1ZjUxMTkKLUBAIC0yMiw3ICsyMiw3IEBAIEV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX01hY09TLnBtIDA1NDQzMDFmNzEyCi0gRXh0VXRpbHM6Ok1ha2VNYWtlciBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fTlc1LnBtIDQzMzEzNWVlY2I4NWI0YjFkOTBkMzAyNzQzMmYzMjk0MzZjNzg0NDcKLSBFeHRVdGlsczo6TWFrZU1ha2VyIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9PUzIucG0gMWZiYjU2MDViZmI0N2ZlZWU0MDgzZmViYThhYTg1ZTY1OTYyOGY3MAotIEV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1FOWC5wbSA1YjY2ZDFmNDg1YTYwMzRkOTZmYzI0YmExNjY1YjFiYWQ5ZTQ0N2YxCi0tRXh0VXRpbHM6Ok1ha2VNYWtlciBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbSA4Y2VmOTlhOWJkMzcwZWNmZDA3ZGRiMGVmYmRjYmI0MTAxMjU1ZTQ1Ci0rRXh0VXRpbHM6Ok1ha2VNYWtlciBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbSBjNDU1YzkxNWZiN2RjM2VlYjEyMDBlZDFjZDE5MDQ4ZTZmMjFlNmIxCi0gRXh0VXRpbHM6Ok1ha2VNYWtlciBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVVdJTi5wbSA5Mzk1NzJmZGUzZDU5YmE3N2MyZTY3N2ZlMmRmMmJlZDRiZWQ1ODk4Ci0gRXh0VXRpbHM6Ok1ha2VNYWtlciBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVk1TLnBtIDA5YzIwNDliZmQyNWI3MzVlMmE1YmNmNTZhNmNmZjdiNDgyN2Y5YzgKLSBFeHRVdGlsczo6TWFrZU1ha2VyIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9WT1MucG0gZDY1ZDYzZjgyMTdhNTVjMzZmNjJlMjQ5ODE0OTg4OTc0ZjU5M2M3OQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9tb2RfcGF0aHMuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbW9kX3BhdGhzLmRpZmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdlMjI0ODQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9tb2RfcGF0aHMuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDEwMCArMCwwIEBACi1Gcm9tIDZjNmNmMTRlMjA0ZjNjMDMxMzcyYmZkOTYwNGFkNTI0ZDU2OTExODYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCcmVuZGFuIE8nRGVhIDxib2RAZGViaWFuLm9yZz4KLURhdGU6IEZyaSwgMTggTWFyIDIwMDUgMjI6MjI6MjUgKzExMDAKLVN1YmplY3Q6IFR3ZWFrIEBJTkMgb3JkZXJpbmcgZm9yIERlYmlhbgotCi1PdXIgb3JkZXIgaXM6Ci0KLSAgICBldGMgKGZvciBjb25maWcgZmlsZXMpCi0gICAgc2l0ZSAoNS44LjEpCi0gICAgdmVuZG9yIChhbGwpCi0gICAgY29yZSAoNS44LjEpCi0gICAgc2l0ZSAodmVyc2lvbi1pbmRlcCkKLSAgICBzaXRlIChwcmUtNS44LjEpCi0KLVRoZSByYXRpb25hbGUgYmVpbmcgdGhhdCBhbiBhZG1pbiAodmlhIHNpdGUpLCBvciBtb2R1bGUgcGFja2FnZXIKLSh2ZW5kb3IpIGNhbiBjaG9zZSB0byBzaGFkb3cgY29yZSBtb2R1bGVzIHdoZW4gdGhlcmUgaXMgYSBuZXdlcgotdmVyc2lvbiB0aGFuIGlzIGluY2x1ZGVkIGluIGNvcmUuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9tb2RfcGF0aHMuZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBwZXJsLmMgfCA1OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDU4IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3BlcmwuYyBiL3BlcmwuYwotaW5kZXggMDg2NjQ1Yi4uZTY0ZjFmNCAxMDA2NDQKLS0tLSBhL3BlcmwuYwotKysrIGIvcGVybC5jCi1AQCAtNDM3Myw2ICs0MzczLDExIEBAIFNfaW5pdF9wZXJsbGliKHBUSFgpCi0gCQkgICAgICBJTkNQVVNIX0FERF9TVUJfRElSU3xJTkNQVVNIX0NBTl9SRUxPQ0FURSk7Ci0gI2VuZGlmCi0gCi0rI2lmZGVmIERFQklBTgotKyAgICAvKiBmb3IgY29uZmlndXJhdGlvbiB3aGVyZSAvdXNyIGlzIG1vdW50ZWQgcm8gKENQQU46OkNvbmZpZywgTmV0OjpDb25maWcpICovCi0rICAgIFNfaW5jcHVzaF91c2Vfc2VwKGFUSFhfIFNUUl9XSVRIX0xFTigiL2V0Yy9wZXJsIiksIDB4MCk7Ci0rI2VuZGlmCi0rCi0gI2lmZGVmIFNJVEVBUkNIX0VYUAotICAgICAvKiBzaXRlYXJjaCBpcyBhbHdheXMgcmVsYXRpdmUgdG8gc2l0ZWxpYiBvbiBXaW5kb3dzIGZvcgotICAgICAgKiBETEwtYmFzZWQgcGF0aCBpbnR1aXRpb24gdG8gd29yayBjb3JyZWN0bHkgKi8KLUBAIC00NDkwLDYgKzQ0OTUsNTkgQEAgU19pbml0X3BlcmxsaWIocFRIWCkKLSAJCSAgICAgIElOQ1BVU0hfQUREX09MRF9WRVJTfElOQ1BVU0hfQ0FOX1JFTE9DQVRFKTsKLSAjZW5kaWYKLSAKLSsjaWZkZWYgREVCSUFOCi0rICAgIC8qIE5vbi12ZXJzaW9uZWQgc2l0ZSBkaXJlY3RvcnkgZm9yIGxvY2FsIG1vZHVsZXMgYW5kIGZvcgotKyAgICAgICBjb21wYXRhYmlsaXR5IHdpdGggdGhlIHByZXZpb3VzIHBhY2thZ2VzJyBzaXRlIGRpcnMgKi8KLSsgICAgU19pbmNwdXNoX3VzZV9zZXAoYVRIWF8gU1RSX1dJVEhfTEVOKCIvdXNyL2xvY2FsL2xpYi9zaXRlX3BlcmwiKSwKLSsJCSAgICAgIElOQ1BVU0hfQUREX1NVQl9ESVJTKTsKLSsKLSsjaWZkZWYgUEVSTF9JTkNfVkVSU0lPTl9MSVNUCi0rICAgIHsKLSsJc3RydWN0IHN0YXQgczsKLSsKLSsJLyogYWRkIHNtYWxsIGJ1ZmZlciBpbiBjYXNlIG9sZCB2ZXJzaW9ucyBhcmUgbG9uZ2VyIHRoYW4gdGhlCi0rCSAgIGN1cnJlbnQgdmVyc2lvbiAqLwotKwljaGFyIHNpdGVhcmNoW3NpemVvZihTSVRFQVJDSF9FWFApKzE2XSA9IFNJVEVBUkNIX0VYUDsKLSsJY2hhciBzaXRlbGliW3NpemVvZihTSVRFTElCX0VYUCkrMTZdID0gU0lURUxJQl9FWFA7Ci0rCWNoYXIgY29uc3QgKnZlcnNbXSA9IHsgUEVSTF9JTkNfVkVSU0lPTl9MSVNUIH07Ci0rCWNoYXIgY29uc3QgKipwOwotKwotKwljaGFyICphcmNoX3ZlcnMgPSBzdHJyY2hyKHNpdGVhcmNoLCAnLycpOwotKwljaGFyICpsaWJfdmVycyA9IHN0cnJjaHIoc2l0ZWxpYiwgJy8nKTsKLSsKLSsJaWYgKGFyY2hfdmVycyAmJiBpc2RpZ2l0KCorK2FyY2hfdmVycykpCi0rCSAgICAqYXJjaF92ZXJzID0gMDsKLSsJZWxzZQotKwkgICAgYXJjaF92ZXJzID0gMDsKLSsKLSsJaWYgKGxpYl92ZXJzICYmIGlzZGlnaXQoKisrbGliX3ZlcnMpKQotKwkgICAgKmxpYl92ZXJzID0gMDsKLSsJZWxzZQotKwkgICAgbGliX3ZlcnMgPSAwOwotKwotKwkvKiB0aGVyZSBpcyBzb21lIGR1cGxpY2F0aW9uIGhlcmUgYXMgaW5jcHVzaCBkb2VzIHNvbWV0aGluZwotKwkgICBzaW1pbGFyIGludGVybmFsbHksIGJ1dCByZXF1aXJlZCBhcyBzaXRlYXJjaCBpcyBub3QgYQotKwkgICBzdWJkaXJlY3Rvcnkgb2Ygc2l0ZWxpYiAqLwotKwlmb3IgKHAgPSB2ZXJzOyAqcDsgcCsrKQotKwl7Ci0rCSAgICBpZiAoYXJjaF92ZXJzKQotKwkgICAgewotKwkJc3RyY3B5KGFyY2hfdmVycywgKnApOwotKwkJaWYgKFBlcmxMSU9fc3RhdChzaXRlYXJjaCwgJnMpID49IDAgJiYgU19JU0RJUihzLnN0X21vZGUpKQotKwkJICAgIFNfaW5jcHVzaF91c2Vfc2VwKGFUSFhfIHNpdGVhcmNoLCBzdHJsZW4oc2l0ZWFyY2gpLCAweDApOwotKwkgICAgfQotKwotKwkgICAgaWYgKGxpYl92ZXJzKQotKwkgICAgewotKwkJc3RyY3B5KGxpYl92ZXJzLCAqcCk7Ci0rCQlpZiAoUGVybExJT19zdGF0KHNpdGVsaWIsICZzKSA+PSAwICYmIFNfSVNESVIocy5zdF9tb2RlKSkKLSsJCSAgICBTX2luY3B1c2hfdXNlX3NlcChhVEhYXyBzaXRlbGliLCBzdHJsZW4oc2l0ZWxpYiksIDB4MCk7Ci0rCSAgICB9Ci0rCX0KLSsgICAgfQotKyNlbmRpZgotKyNlbmRpZgotKwotICNpZmRlZiBQRVJMX09USEVSTElCRElSUwotICAgICBTX2luY3B1c2hfdXNlX3NlcChhVEhYXyBTVFJfV0lUSF9MRU4oUEVSTF9PVEhFUkxJQkRJUlMpLAotIAkJICAgICAgSU5DUFVTSF9BRERfT0xEX1ZFUlN8SU5DUFVTSF9BRERfQVJDSE9OTFlfU1VCX0RJUlMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbm9fcGFja2xpc3RfcGVybGxvY2FsLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL25vX3BhY2tsaXN0X3Blcmxsb2NhbC5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NDg0YmVjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbm9fcGFja2xpc3RfcGVybGxvY2FsLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSw5MyArMCwwIEBACi1Gcm9tIDI0MGYyZjRhZWIzODUwYmMwYzUzNzBiOWZiYzM5MDk1NzNiZWQ5YjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCcmVuZGFuIE8nRGVhIDxib2RAZGViaWFuLm9yZz4KLURhdGU6IFR1ZSwgOCBNYXIgMjAwNSAxOTozMDozOCArMTEwMAotU3ViamVjdDogRG9uJ3QgaW5zdGFsbCAucGFja2xpc3Qgb3IgcGVybGxvY2FsLnBvZCBmb3IgcGVybCBvciB2ZW5kb3IKLQotUGF0Y2gtTmFtZTogZGViaWFuL25vX3BhY2tsaXN0X3Blcmxsb2NhbC5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtIHwgMzUgKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0gYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQotaW5kZXggNTcwYTYzMS4uMzkxZGMyMiAxMDA2NDQKLS0tLSBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCi0rKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQotQEAgLTIxMjIsMTEgKzIxMjIsNiBAQCBwdXJlX3BlcmxfaW5zdGFsbCA6OiBhbGwKLSB9OwotIAotICAgICBwdXNoIEBtLAotLXF7CQlyZWFkICJ9LiRzZWxmLT5jYXRmaWxlKCckKFBFUkxfQVJDSExJQiknLCdhdXRvJywnJChGVUxMRVhUKScsJy5wYWNrbGlzdCcpLnF7IiBcCi0tCQl3cml0ZSAifS4kc2VsZi0+Y2F0ZmlsZSgnJChERVNUSU5TVEFMTEFSQ0hMSUIpJywnYXV0bycsJyQoRlVMTEVYVCknLCcucGFja2xpc3QnKS5xeyIgXAotLX0gdW5sZXNzICRzZWxmLT57Tk9fUEFDS0xJU1R9OwotLQotLSAgICBwdXNoIEBtLAotIHF7CQkiJChJTlNUX0xJQikiICIkKERFU1RJTlNUQUxMUFJJVkxJQikiIFwKLSAJCSIkKElOU1RfQVJDSExJQikiICIkKERFU1RJTlNUQUxMQVJDSExJQikiIFwKLSAJCSIkKElOU1RfQklOKSIgIiQoREVTVElOU1RBTExCSU4pIiBcCi1AQCAtMjE1OCwxMCArMjE1Myw2IEBAIHF7CQkiJChJTlNUX0xJQikiICIkKERFU1RJTlNUQUxMU0lURUxJQikiIFwKLSBwdXJlX3ZlbmRvcl9pbnN0YWxsIDo6IGFsbAotIAkkKE5PRUNITykgdW1hc2sgMDIyOyAkKE1PRF9JTlNUQUxMKSBcCi0gfTsKLS0gICAgcHVzaCBAbSwKLS1xewkJcmVhZCAifS4kc2VsZi0+Y2F0ZmlsZSgnJChWRU5ET1JBUkNIRVhQKScsJ2F1dG8nLCckKEZVTExFWFQpJywnLnBhY2tsaXN0JykucXsiIFwKLS0JCXdyaXRlICJ9LiRzZWxmLT5jYXRmaWxlKCckKERFU1RJTlNUQUxMVkVORE9SQVJDSCknLCdhdXRvJywnJChGVUxMRVhUKScsJy5wYWNrbGlzdCcpLnF7IiBcCi0tfSB1bmxlc3MgJHNlbGYtPntOT19QQUNLTElTVH07Ci0gCi0gICAgIHB1c2ggQG0sCi0gcXsJCSIkKElOU1RfTElCKSIgIiQoREVTVElOU1RBTExWRU5ET1JMSUIpIiBcCi1AQCAtMjE4NywzNyArMjE3OCwxOSBAQCBkb2NfdmVuZG9yX2luc3RhbGwgOjogYWxsCi0gCi0gICAgIHB1c2ggQG0sIHF7Ci0gZG9jX3BlcmxfaW5zdGFsbCA6OiBhbGwKLS0JJChOT0VDSE8pICQoRUNITykgQXBwZW5kaW5nIGluc3RhbGxhdGlvbiBpbmZvIHRvICIkKERFU1RJTlNUQUxMQVJDSExJQikvcGVybGxvY2FsLnBvZCIKLS0JLSQoTk9FQ0hPKSB1bWFzayAwMjI7ICQoTUtQQVRIKSAiJChERVNUSU5TVEFMTEFSQ0hMSUIpIgotLQktJChOT0VDSE8pIHVtYXNrIDAyMjsgJChET0NfSU5TVEFMTCkgXAotLQkJIk1vZHVsZSIgIiQoTkFNRSkiIFwKLS0JCSJpbnN0YWxsZWQgaW50byIgJChJTlNUQUxMUFJJVkxJQikgXAotLQkJTElOS1RZUEUgIiQoTElOS1RZUEUpIiBcCi0tCQlWRVJTSU9OICIkKFZFUlNJT04pIiBcCi0tCQlFWEVfRklMRVMgIiQoRVhFX0ZJTEVTKSIgXAotLQkJPj4gIn0uJHNlbGYtPmNhdGZpbGUoJyQoREVTVElOU1RBTExBUkNITElCKScsJ3Blcmxsb2NhbC5wb2QnKS5xeyIKLSAKLSBkb2Nfc2l0ZV9pbnN0YWxsIDo6IGFsbAotLQkkKE5PRUNITykgJChFQ0hPKSBBcHBlbmRpbmcgaW5zdGFsbGF0aW9uIGluZm8gdG8gIiQoREVTVElOU1RBTExBUkNITElCKS9wZXJsbG9jYWwucG9kIgotLQktJChOT0VDSE8pIHVtYXNrIDAyOyAkKE1LUEFUSCkgIiQoREVTVElOU1RBTExBUkNITElCKSIKLSsJJChOT0VDSE8pICQoRUNITykgQXBwZW5kaW5nIGluc3RhbGxhdGlvbiBpbmZvIHRvICIkKERFU1RJTlNUQUxMU0lURUFSQ0gpL3Blcmxsb2NhbC5wb2QiCi0rCS0kKE5PRUNITykgdW1hc2sgMDI7ICQoTUtQQVRIKSAiJChERVNUSU5TVEFMTFNJVEVBUkNIKSIKLSAJLSQoTk9FQ0hPKSB1bWFzayAwMjsgJChET0NfSU5TVEFMTCkgXAotIAkJIk1vZHVsZSIgIiQoTkFNRSkiIFwKLSAJCSJpbnN0YWxsZWQgaW50byIgJChJTlNUQUxMU0lURUxJQikgXAotIAkJTElOS1RZUEUgIiQoTElOS1RZUEUpIiBcCi0gCQlWRVJTSU9OICIkKFZFUlNJT04pIiBcCi0gCQlFWEVfRklMRVMgIiQoRVhFX0ZJTEVTKSIgXAotLQkJPj4gIn0uJHNlbGYtPmNhdGZpbGUoJyQoREVTVElOU1RBTExBUkNITElCKScsJ3Blcmxsb2NhbC5wb2QnKS5xeyIKLSsJCT4+ICJ9LiRzZWxmLT5jYXRmaWxlKCckKERFU1RJTlNUQUxMU0lURUFSQ0gpJywncGVybGxvY2FsLnBvZCcpLnF7IgotIAotIGRvY192ZW5kb3JfaW5zdGFsbCA6OiBhbGwKLS0JJChOT0VDSE8pICQoRUNITykgQXBwZW5kaW5nIGluc3RhbGxhdGlvbiBpbmZvIHRvICIkKERFU1RJTlNUQUxMQVJDSExJQikvcGVybGxvY2FsLnBvZCIKLS0JLSQoTk9FQ0hPKSB1bWFzayAwMjI7ICQoTUtQQVRIKSAiJChERVNUSU5TVEFMTEFSQ0hMSUIpIgotLQktJChOT0VDSE8pIHVtYXNrIDAyMjsgJChET0NfSU5TVEFMTCkgXAotLQkJIk1vZHVsZSIgIiQoTkFNRSkiIFwKLS0JCSJpbnN0YWxsZWQgaW50byIgJChJTlNUQUxMVkVORE9STElCKSBcCi0tCQlMSU5LVFlQRSAiJChMSU5LVFlQRSkiIFwKLS0JCVZFUlNJT04gIiQoVkVSU0lPTikiIFwKLS0JCUVYRV9GSUxFUyAiJChFWEVfRklMRVMpIiBcCi0tCQk+PiAifS4kc2VsZi0+Y2F0ZmlsZSgnJChERVNUSU5TVEFMTEFSQ0hMSUIpJywncGVybGxvY2FsLnBvZCcpLnF7IgotIAotIH0gdW5sZXNzICRzZWxmLT57Tk9fUEVSTExPQ0FMfTsKLSAKLUBAIC0yMjI2LDEzICsyMTk5LDExIEBAIHVuaW5zdGFsbCA6OiB1bmluc3RhbGxfZnJvbV8kKElOU1RBTExESVJTKWRpcnMKLSAJJChOT0VDSE8pICQoTk9PUCkKLSAKLSB1bmluc3RhbGxfZnJvbV9wZXJsZGlycyA6OgotLQkkKE5PRUNITykgJChVTklOU1RBTEwpICJ9LiRzZWxmLT5jYXRmaWxlKCckKFBFUkxfQVJDSExJQiknLCdhdXRvJywnJChGVUxMRVhUKScsJy5wYWNrbGlzdCcpLnF7IgotIAotIHVuaW5zdGFsbF9mcm9tX3NpdGVkaXJzIDo6Ci0gCSQoTk9FQ0hPKSAkKFVOSU5TVEFMTCkgIn0uJHNlbGYtPmNhdGZpbGUoJyQoU0lURUFSQ0hFWFApJywnYXV0bycsJyQoRlVMTEVYVCknLCcucGFja2xpc3QnKS5xeyIKLSAKLSB1bmluc3RhbGxfZnJvbV92ZW5kb3JkaXJzIDo6Ci0tCSQoTk9FQ0hPKSAkKFVOSU5TVEFMTCkgIn0uJHNlbGYtPmNhdGZpbGUoJyQoVkVORE9SQVJDSEVYUCknLCdhdXRvJywnJChGVUxMRVhUKScsJy5wYWNrbGlzdCcpLnF7IgotIH07Ci0gCi0gICAgIGpvaW4oIiIsQG0pOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9wYXRjaGxldmVsLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3BhdGNobGV2ZWwuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmQwNWFlNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3BhdGNobGV2ZWwuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLUZyb20gYjUxN2M1ZTE1ZDA4NzFlMzZkMGYxMTg3NjYxZmUxZGQyOGRkZjgyMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE5pa28gVHluaSA8bnR5bmlAZGViaWFuLm9yZz4KLURhdGU6IFN1biwgMTUgTWF5IDIwMTEgMTk6MzU6NTggKzAzMDAKLVN1YmplY3Q6IExpc3QgcGFja2FnZWQgcGF0Y2hlcyBpbiBwYXRjaGxldmVsLmgKLQotT3JpZ2luOiB2ZW5kb3IKLUJ1Zy1EZWJpYW46IGh0dHA6Ly9idWdzLmRlYmlhbi5vcmcvNTY3NDg5Ci0KLVRoZSBsaXN0IG9mIHBhY2thZ2VkIHBhdGNoZXMgaXMgaW4gcGF0Y2hsZXZlbC1kZWJpYW4uaCwgd2hpY2ggaXMgZ2VuZXJhdGVkCi1mcm9tIHRoZSBkZWJpYW4vcGF0Y2hlcy8gZGlyZWN0b3J5IHdoZW4gYnVpbGRpbmcgdGhlIHBhY2thZ2UuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9wYXRjaGxldmVsLmRpZmYKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gcGF0Y2hsZXZlbC5oIHwgMyArKysKLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9wYXRjaGxldmVsLmggYi9wYXRjaGxldmVsLmgKLWluZGV4IGEwYWQ3OGIuLjAxMzY3YjcgMTAwNjQ0Ci0tLS0gYS9wYXRjaGxldmVsLmgKLSsrKyBiL3BhdGNobGV2ZWwuaAotQEAgLTEzNyw2ICsxMzcsOSBAQCBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGxvY2FsX3BhdGNoZXNbXSA9IHsKLSAJLCJ1bmNvbW1pdHRlZC1jaGFuZ2VzIgotICNlbmRpZgotIAlQRVJMX0dJVF9VTlBVU0hFRF9DT01NSVRTICAgIAkvKiBkbyBub3QgcmVtb3ZlIHRoaXMgbGluZSAqLwotKyNpZmRlZiBERUJJQU4KLSsjaW5jbHVkZSAicGF0Y2hsZXZlbC1kZWJpYW4uaCIKLSsjZW5kaWYKLSAJLE5VTEwKLSB9OwotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9wZXJsNWRiLXgtdGVybWluYWwtZW11bGF0b3IucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3Blcmw1ZGIteC10ZXJtaW5hbC1lbXVsYXRvci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmYxNjI1Yi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3Blcmw1ZGIteC10ZXJtaW5hbC1lbXVsYXRvci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLUZyb20gYzk5YzYxZThmODYzYTUwOGEwNzkzMTY4MDExYzk4ZGM3NGFiYmQwNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IERvbWluaWMgSGFyZ3JlYXZlcyA8ZG9tQGVhcnRoLmxpPgotRGF0ZTogU2F0LCAxNCBBcHIgMjAxMiAxMTozNDowNSArMDEwMAotU3ViamVjdDogSW52b2tlIHgtdGVybWluYWwtZW11bGF0b3IgcmF0aGVyIHRoYW4geHRlcm0gaW4gcGVybDVkYi5wbAotCi1JbiBEZWJpYW4gc3lzdGVtcywgeHRlcm0gbWlnaHQgbm90IGV4aXN0IG9yIG1pZ2h0IG5vdCBiZSB0aGUgcHJlZmVycmVkCi10ZXJtaW5hbCBlbXVsYXRvci4gVXNlIHgtdGVybWluYWwtZW11bGF0b3IgaW5zdGVhZAotCi1CdWctRGViaWFuOiBodHRwOi8vYnVncy5kZWJpYW4ub3JnLzY2ODQ5MAotRm9yd2FyZGVkOiBub3QtbmVlZGVkCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9wZXJsNWRiLXgtdGVybWluYWwtZW11bGF0b3IucGF0Y2gKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gbGliL3Blcmw1ZGIucGwgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9saWIvcGVybDVkYi5wbCBiL2xpYi9wZXJsNWRiLnBsCi1pbmRleCA3ZTcxOTRlLi5jNDY2YmYzIDEwMDY0NAotLS0tIGEvbGliL3Blcmw1ZGIucGwKLSsrKyBiL2xpYi9wZXJsNWRiLnBsCi1AQCAtNjk2MCw3ICs2OTYwLDcgQEAgcHJvcGVybHkgc2V0IHVwLgotIHN1YiB4dGVybV9nZXRfZm9ya19UVFkgewotICAgICAoIG15ICRuYW1lID0gJDAgKSA9fiBzLF4uKlsvXFxdLCxzOwotICAgICBvcGVuIFhULAotLXFxWzM+JjEgeHRlcm0gLXRpdGxlICJEYXVnaHRlciBQZXJsIGRlYnVnZ2VyICRwaWRzICRuYW1lIiAtZSBzaCAtYyAndHR5IDE+JjM7XAotK3FxWzM+JjEgeC10ZXJtaW5hbC1lbXVsYXRvciAtVCAiRGF1Z2h0ZXIgUGVybCBkZWJ1Z2dlciAkcGlkcyAkbmFtZSIgLWUgc2ggLWMgJ3R0eSAxPiYzO1wKLSAgc2xlZXAgMTAwMDAwMDAnIHxdOwotIAotICAgICAjIEdldCB0aGUgb3V0cHV0IGZyb20gJ3R0eScgYW5kIGNsZWFuIGl0IHVwIGEgbGl0dGxlLgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9wZXJsaXZwLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3BlcmxpdnAuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWM3NDEzYi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3BlcmxpdnAuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLUZyb20gZmJmYmViN2E2OTBkNzAzYTNjZGM1NmY5MjNlODllYjdiNzk5N2QzMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE5pa28gVHluaSA8bnR5bmlAZGViaWFuLm9yZz4KLURhdGU6IEZyaSwgOSBKYW4gMjAwOSAxODo1NDo0NyArMDIwMAotU3ViamVjdDogTWFrZSBwZXJsaXZwIHNraXAgaW5jbHVkZSBkaXJlY3RvcmllcyBpbiAvdXNyL2xvY2FsCi0KLUJ1Zy1EZWJpYW46IGh0dHA6Ly9idWdzLmRlYmlhbi5vcmcvNTEwODk1Ci0KLU9uIFNhdCwgSmFuIDEwLCAyMDA5IGF0IDEyOjM3OjE4QU0gKzExMDAsIEJyZW5kYW4gTydEZWEgd3JvdGU6Ci0+IE9uIFdlZCwgSmFuIDcsIDIwMDkgYXQgMTI6MjEgQU0sIE5pa28gVHluaSA8bnR5bmlAZGViaWFuLm9yZz4gd3JvdGU6Ci0KLT4gPiBXZSBjb3VsZCBjcmVhdGUgdGhlIGRpcmVjdG9yaWVzIGluIGEgcG9zdGluc3Qgc2NyaXB0LCBidXQgSSdtIG5vdCBzdXJlCi0+ID4gSSBzZWUgdGhlIHBvaW50LiBUaGV5IHdpbGwgYmUgY3JlYXRlZCBhdXRvbWF0aWNhbGx5IHdoZW4gaW5zdGFsbGluZwotPiA+IENQQU4gbW9kdWxlcy4KLT4KLT4gVGhlIGRpcmVjdG9yaWVzIGFyZSBpbnRlbnRpb25hbGx5IG5vdCBjcmVhdGVkLCBhcyB0aGlzIHdheSB0aGV5IGFyZQotPiBleGNsdWRlZCBmcm9tIHRoZSBzZWFyY2ggcGF0aCBhdCBzdGFydC11cCwgc2F2aW5nIGEgYnVuY2ggb2Ygd2FzdGVkCi0+IHN0YXRzIGF0IHVzZS9yZXF1aXJlIHRpbWUgaW4gdGhlIGNvbW1vbiBjYXNlIHRoYXQgdGhlIHVzZXIgaGFzIG5vdAotPiBpbnN0YWxsZWQgYW55IGxvY2FsIHBhY2thZ2VzLiAgQXMgTmlrbyBwb2ludHMgb3V0LCB0aGV5IHdpbGwgYmUKLT4gY3JlYXRlZCBhcyByZXF1aXJlZC4KLQotU2lnbmVkLW9mZi1ieTogTmlrbyBUeW5pIDxudHluaUBkZWJpYW4ub3JnPgotCi1QYXRjaC1OYW1lOiBkZWJpYW4vcGVybGl2cC5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIHV0aWxzL3BlcmxpdnAuUEwgfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL3V0aWxzL3BlcmxpdnAuUEwgYi91dGlscy9wZXJsaXZwLlBMCi1pbmRleCBjMmYwYTExLi5jYzQ5Zjk2IDEwMDY0NAotLS0tIGEvdXRpbHMvcGVybGl2cC5QTAotKysrIGIvdXRpbHMvcGVybGl2cC5QTAotQEAgLTE1Myw2ICsxNTMsNyBAQCBteSAkSU5DX3RvdGFsID0gMDsKLSBteSAkSU5DX3RoZXJlID0gMDsKLSBmb3JlYWNoIChASU5DKSB7Ci0gICAgIG5leHQgaWYgJF8gZXEgJy4nOyAjIHNraXAgLWQgdGVzdCBoZXJlCi0rICAgIG5leHQgaWYgbXwvdXNyL2xvY2FsfDsgIyBub3Qgc2hpcHBlZCBvbiBEZWJpYW4KLSAgICAgaWYgKC1kICRfKSB7Ci0gICAgICAgICBwcmludCAiIyMgUGVybCBcQElOQyBkaXJlY3RvcnkgJyRfJyBleGlzdHMuXG4iIGlmICRvcHR7J3YnfTsKLSAgICAgICAgICRJTkNfdGhlcmUrKzsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vcG9kMm1hbi1jdXN0b21pemVkLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3BvZDJtYW4tY3VzdG9taXplZC5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NzA3NTYyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vcG9kMm1hbi1jdXN0b21pemVkLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1Gcm9tIDI3YTQ5NTJjMmU1MzE5NDdkYzlmMmYwMmUyMDYzZDExN2UyZTY5OWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBOaWtvIFR5bmkgPG50eW5pQGRlYmlhbi5vcmc+Ci1EYXRlOiBTYXQsIDE4IEFwciAyMDE1IDE3OjM5OjMyICswMzAwCi1TdWJqZWN0OiBVcGRhdGUgcG9ydGluZy9jdXN0b21pemVkLmRhdCBmb3IgcG9kMm1hbiBtb2RpZmljYXRpb25zCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9wb2QybWFuLWN1c3RvbWl6ZWQuZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSB0L3BvcnRpbmcvY3VzdG9taXplZC5kYXQgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS90L3BvcnRpbmcvY3VzdG9taXplZC5kYXQgYi90L3BvcnRpbmcvY3VzdG9taXplZC5kYXQKLWluZGV4IDBlZWQ5ZjcuLjdkZjM5OGQgMTAwNjQ0Ci0tLS0gYS90L3BvcnRpbmcvY3VzdG9taXplZC5kYXQKLSsrKyBiL3QvcG9ydGluZy9jdXN0b21pemVkLmRhdAotQEAgLTQyLDcgKzQyLDcgQEAgV2luMzJBUEk6OkZpbGUgY3Bhbi9XaW4zMkFQSS1GaWxlL01ha2VmaWxlLlBMIDYwNWQwYWVlMzFhZWJlODRhOTk0MDhmOWFiNWY2NDRkYjUKLSBXaW4zMkFQSTo6RmlsZSBjcGFuL1dpbjMyQVBJLUZpbGUvdC9maWxlLnQgMTI0ZTY0YWE3N2U3NTUyMzVlYjI5NzY0NGE4N2ZhYzUzODhkM2Q3OAotIFdpbjMyQVBJOjpGaWxlIGNwYW4vV2luMzJBUEktRmlsZS90L3RpZS50IDcxMmVhN2VkZDBjYzgwNWNlMWMwYjgxNzJjMDFiMDNkZDE5YjU4M2QKLSBXaW4zMkFQSTo6RmlsZSBjcGFuL1dpbjMyQVBJLUZpbGUvdHlwZW1hcCAyNGJmZjA4OGJhYmVhZGFjMDg3M2U4ZGYzOTBkMTY2NmQ5ZDlkYjRhCi0tcG9kbGF0b3JzIGNwYW4vcG9kbGF0b3JzL3NjcmlwdHMvcG9kMm1hbi5QTCBmODFhY2Y1M2YzZmY0NmNkY2M1ZWJkZDY2MWM1ZDEzZWIzNWQyMGQ2Ci0rcG9kbGF0b3JzIGNwYW4vcG9kbGF0b3JzL3NjcmlwdHMvcG9kMm1hbi5QTCA3NjFmMzVkM2ZjZjkxYzFiYzJmOWUwMjRhOWZhNWM2MmZkM2ZjMzM4Ci0gcG9kbGF0b3JzIGNwYW4vcG9kbGF0b3JzL3NjcmlwdHMvcG9kMnRleHQuUEwgYjQ2OTNmY2ZlNGEwYTFiMzhhMjE1Y2ZiODk4NWE2NWQ1ZDAyNWQ2OQotIHZlcnNpb24gY3Bhbi92ZXJzaW9uL2xpYi92ZXJzaW9uLnBtIGQwOTIzYjg5NWQ1N2YxZDY2OWFlMzZmY2Y4NWM4N2IxNmRiMzQxZDEKLSB2ZXJzaW9uIHZ1dGlsLmMgNjY4ZjE3Y2E0M2UyNTI3NjQ1Njc0ZDI5YmE3NzJiODYzMzBkNTY2MwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9wcmVmaXhfY2hhbmdlcy5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9wcmVmaXhfY2hhbmdlcy5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNjgxYzNlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vcHJlZml4X2NoYW5nZXMuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDExOSArMCwwIEBACi1Gcm9tIDkxNDk0OGYwMjZlZmNlMDJjZjBhYmZmOGIwMzEyYWFhZDk2NTkyZWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCcmVuZGFuIE8nRGVhIDxib2RAZGViaWFuLm9yZz4KLURhdGU6IFR1ZSwgOCBNYXIgMjAwNSAxOTozMDozOCArMTEwMAotU3ViamVjdDogRmlkZGxlIHdpdGggKlBSRUZJWCBhbmQgdmFyaWFibGVzIHdyaXR0ZW4gdG8gdGhlIG1ha2VmaWxlCi0KLUZpZGRsZSB3aXRoICpQUkVGSVggYW5kIHZhcmlhYmxlcyB3cml0dGVuIHRvIHRoZSBtYWtlZmlsZSBzbyB0aGF0Ci1pbnN0YWxsIGRpcmVjdG9yaWVzIG1heSBiZSBjaGFuZ2VkIHdoZW4gbWFrZSBpcyBydW4gYnkgcGFzc2luZwotUFJFRklYPSB0byB0aGUgIm1ha2UgaW5zdGFsbCIgY29tbWFuZCAodXNlZCB3aGVuIHBhY2thZ2luZwotbW9kdWxlcykuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9wcmVmaXhfY2hhbmdlcy5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9BbnkucG0gIHwgMTIgKysrKysrLS0tLS0tCi0gY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0gfCAgMyArLS0KLSBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L0lOU1QudCAgICAgICAgICAgICAgICB8ICA0ICstLS0KLSBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L0lOU1RfUFJFRklYLnQgICAgICAgICB8IDEwICsrKysrLS0tLS0KLSA0IGZpbGVzIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX0FueS5wbSBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9BbnkucG0KLWluZGV4IDRjMDAxMjkuLjFlYTIwMzUgMTAwNjQ0Ci0tLS0gYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fQW55LnBtCi0rKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fQW55LnBtCi1AQCAtOTAyLDggKzkwMiw2IEBAIGFsbCBQT0QgZmlsZXMgaW4gTUFOMVBPRFMgYW5kIE1BTjNQT0RTLgotIHN1YiBtYW5pZnlwb2RzX3RhcmdldCB7Ci0gICAgIG15KCRzZWxmKSA9IHNoaWZ0OwotIAotLSAgICBteSAkbWFuMXBvZHMgICAgICA9ICcnOwotLSAgICBteSAkbWFuM3BvZHMgICAgICA9ICcnOwotICAgICBteSAkZGVwZW5kZW5jaWVzICA9ICcnOwotIAotICAgICAjIHBvcHVsYXRlIG1hblhwb2RzICYgZGVwZW5kZW5jaWVzOgotQEAgLTkxOSw3ICs5MTcsNyBAQCBFTkQKLSAgICAgZm9yZWFjaCBteSAkc2VjdGlvbiAocXcoMSAzKSkgewotICAgICAgICAgbXkgJHBvZHMgPSAkc2VsZi0+eyJNQU4ke3NlY3Rpb259UE9EUyJ9OwotICAgICAgICAgbXkgJHAybSA9IHNwcmludGYgPDxDTUQsICRdID4gNS4wMDggPyAiIC11IiA6ICIiOwotLQlcJChOT0VDSE8pIFwkKFBPRDJNQU4pIC0tc2VjdGlvbj0kc2VjdGlvbiAtLXBlcm1fcnc9XCQoUEVSTV9SVyklcwotKwlcJChOT0VDSE8pIFwkKFBPRDJNQU4pIC0tc2VjdGlvbj1cJChNQU4ke3NlY3Rpb259RVhUKSAtLXBlcm1fcnc9XCQoUEVSTV9SVyklcwotIENNRAotICAgICAgICAgcHVzaCBAbWFuX2NtZHMsICRzZWxmLT5zcGxpdF9jb21tYW5kKCRwMm0sIG1hcCB7KCRfLCRwb2RzLT57JF99KX0gc29ydCBrZXlzICUkcG9kcyk7Ci0gICAgIH0KLUBAIC0xODc1LDkgKzE4NzMsMTEgQEAgc3ViIGluaXRfSU5TVEFMTF9mcm9tX1BSRUZJWCB7Ci0gICAgICAgICAkc2VsZi0+e1NJVEVQUkVGSVh9ICAgfHw9ICRzcHJlZml4OwotICAgICAgICAgJHNlbGYtPntWRU5ET1JQUkVGSVh9IHx8PSAkdnByZWZpeDsKLSAKLS0gICAgICAgICMgTG90cyBvZiBNTSBleHRlbnNpb24gYXV0aG9ycyBsaWtlIHRvIHVzZSAkKFBSRUZJWCkgc28gd2UKLS0gICAgICAgICMgcHV0IHNvbWV0aGluZyBzZW5zaWJsZSBpbiB0aGVyZSBubyBtYXR0ZXIgd2hhdC4KLS0gICAgICAgICRzZWxmLT57UFJFRklYfSA9ICckKCcudWMgJHNlbGYtPntJTlNUQUxMRElSU30uJ1BSRUZJWCknOwotKwlteSAkcCA9ICRzZWxmLT57UFJFRklYfSA9ICRzZWxmLT57UEVSTFBSRUZJWH07Ci0rCWZvciBteSAkdCAocXcvUEVSTCBTSVRFIFZFTkRPUi8pCi0rCXsKLSsJICAgICRzZWxmLT57IiR7dH1QUkVGSVgifSA9fiBzIV5cUSRwXEUoPz0vfCQpIVwkKFBSRUZJWCkhOwotKwl9Ci0gICAgIH0KLSAKLSAgICAgbXkgJGFyY2ggICAgPSAkQ29uZmlne2FyY2huYW1lfTsKLWRpZmYgLS1naXQgYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbSBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCi1pbmRleCAzOTFkYzIyLi40YThlMTRjIDEwMDY0NAotLS0tIGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KLSsrKyBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCi1AQCAtMzA3Nyw4ICszMDc3LDcgQEAgc3ViIHByZWZpeGlmeSB7Ci0gICAgIHdhcm4gIiAgcHJlZml4aWZ5ICR2YXIgPT4gJHBhdGhcbiIgaWYgJFZlcmJvc2UgPj0gMjsKLSAgICAgd2FybiAiICAgIGZyb20gJHNwcmVmaXggdG8gJHJwcmVmaXhcbiIgaWYgJFZlcmJvc2UgPj0gMjsKLSAKLS0gICAgaWYoICRzZWxmLT57QVJHU317UFJFRklYfSAmJgotLSAgICAgICAgJHBhdGggIX4gc3teXFEkc3ByZWZpeFxFXGJ9eyRycHJlZml4fXMgKQotKyAgICBpZiggJHBhdGggIX4gc3teXFEkc3ByZWZpeFxFXGJ9eyRycHJlZml4fXMgJiYgJHNlbGYtPntBUkdTfXtQUkVGSVh9ICkKLSAgICAgewotIAotICAgICAgICAgd2FybiAiICAgIGNhbm5vdCBwcmVmaXgsIHVzaW5nIGRlZmF1bHQuXG4iIGlmICRWZXJib3NlID49IDI7Ci1kaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9JTlNULnQgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L0lOU1QudAotaW5kZXggOTEwNThiYi4uZTM5OWNlZCAxMDA2NDQKLS0tLSBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvSU5TVC50Ci0rKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L0lOU1QudAotQEAgLTY1LDkgKzY1LDcgQEAgaXNhX29rKCAkbW0sICdFeHRVdGlsczo6TWFrZU1ha2VyJyApOwotIGlzKCAkbW0tPntOQU1FfSwgJ0JpZzo6RHVtbXknLCAgJ05BTUUnICk7Ci0gaXMoICRtbS0+e1ZFUlNJT059LCAwLjAxLCAgICAgICAgICAgICdWRVJTSU9OJyApOwotIAotLW15ICRjb25maWdfcHJlZml4ID0gJENvbmZpZ3tpbnN0YWxscHJlZml4ZXhwfSB8fCAkQ29uZmlne2luc3RhbGxwcmVmaXh9IHx8Ci0tICAgICAgICAgICAgICAgICAgICAkQ29uZmlne3ByZWZpeGV4cH0gICAgICAgIHx8ICRDb25maWd7cHJlZml4fTsKLS1pcyggJG1tLT57UEVSTFBSRUZJWH0sICRjb25maWdfcHJlZml4LCAgICdQRVJMUFJFRklYJyApOwotK2lzKCAkbW0tPntQRVJMUFJFRklYfSwgJyQoUFJFRklYKScsICAgJ1BFUkxQUkVGSVgnICk7Ci0gCi0gaXMoICEhJG1tLT57UEVSTF9DT1JFfSwgISEkRU5We1BFUkxfQ09SRX0sICdQRVJMX0NPUkUnICk7Ci0gCi1kaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9JTlNUX1BSRUZJWC50IGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9JTlNUX1BSRUZJWC50Ci1pbmRleCBlOGRlN2M2Li4zZmIzZjEyIDEwMDY0NAotLS0tIGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9JTlNUX1BSRUZJWC50Ci0rKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L0lOU1RfUFJFRklYLnQKLUBAIC0xMCw3ICsxMCw3IEBAIEJFR0lOIHsKLSB9Ci0gCi0gdXNlIHN0cmljdDsKLS11c2UgVGVzdDo6TW9yZSB0ZXN0cyA9PiA1MjsKLSt1c2UgVGVzdDo6TW9yZSB0ZXN0cyA9PiA0NzsKLSB1c2UgTWFrZU1ha2VyOjpUZXN0OjpVdGlsczsKLSB1c2UgTWFrZU1ha2VyOjpUZXN0OjpTZXR1cDo6QkZEOwotIHVzZSBFeHRVdGlsczo6TWFrZU1ha2VyOwotQEAgLTYyLDE2ICs2MiwxNiBAQCBsaWtlKCAkc3Rkb3V0LT5yZWFkLCBxcnsKLSAgICAgICAgICAgICAgICAgICAgICAgICAoPzpXcml0aW5nXCBNWU1FVEEueW1sXCBhbmRcIE1ZTUVUQS5qc29uXG4pPwotIH14ICk7Ci0gCi0taXMoICRtbS0+e1BSRUZJWH0sICckKFNJVEVQUkVGSVgpJywgJ1BSRUZJWCBzZXQgYmFzZWQgb24gSU5TVEFMTERJUlMnICk7Ci0rI2lzKCAkbW0tPntQUkVGSVh9LCAnJChTSVRFUFJFRklYKScsICdQUkVGSVggc2V0IGJhc2VkIG9uIElOU1RBTExESVJTJyApOwotIAotIGlzYV9vayggJG1tLCAnRXh0VXRpbHM6Ok1ha2VNYWtlcicgKTsKLSAKLSBpcyggJG1tLT57TkFNRX0sICdCaWc6OkR1bW15JywgICdOQU1FJyApOwotIGlzKCAkbW0tPntWRVJTSU9OfSwgMC4wMSwgICAgICAgICAgICAnVkVSU0lPTicgKTsKLSAKLS1mb3JlYWNoIG15ICRwcmVmaXggKHF3KFBSRUZJWCBQRVJMUFJFRklYIFNJVEVQUkVGSVggVkVORE9SUFJFRklYKSkgewotLSAgICB1bmxpa2UoICRtbS0+eyRwcmVmaXh9LCBxci9cJFwoUFJFRklYXCkvICk7Ci0tfQotKyNmb3JlYWNoIG15ICRwcmVmaXggKHF3KFBSRUZJWCBQRVJMUFJFRklYIFNJVEVQUkVGSVggVkVORE9SUFJFRklYKSkgewotKyMgICAgdW5saWtlKCAkbW0tPnskcHJlZml4fSwgcXIvXCRcKFBSRUZJWFwpLyApOwotKyN9Ci0gCi0gCi0gbXkgJFBSRUZJWCA9IEZpbGU6OlNwZWMtPmNhdGRpcignZm9vJywgJ2JhcicpOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9wcnVuZV9saWJzLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3BydW5lX2xpYnMuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTJlZDUyYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3BydW5lX2xpYnMuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLUZyb20gYzQ1MzhmOTY2YzQ5ZTM1NjU5OTM1OGRlZjdkMWZlYmY2MWJjYTIxZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEJyZW5kYW4gTydEZWEgPGJvZEBkZWJpYW4ub3JnPgotRGF0ZTogRnJpLCAxOCBNYXIgMjAwNSAyMjoyMjoyNSArMTEwMAotU3ViamVjdDogW1BBVENIIDE1LzQ5XSBQcnVuZSB0aGUgbGlzdCBvZiBsaWJyYXJpZXMgd2FudGVkIHRvIHdoYXQgd2UgYWN0dWFsbHkKLSBuZWVkLgotCi1CdWctRGViaWFuOiBodHRwOi8vYnVncy5kZWJpYW4ub3JnLzEyODM1NQotCi1XZSB3YW50IHRvIGtlZXAgdGhlIGRlcGVuZGVuY2llcyBvbiBwZXJsLWJhc2UgYXMgc21hbGwgYXMgcG9zc2libGUsCi1hbmQgc29tZSBvZiB0aGUgb3JpZ2luYWwgbGlzdCBtYXkgYmUgcHJlc2VudCBvbiBidWlsZGRzIChzZWUgQnVnIzEyODM1NSkuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9wcnVuZV9saWJzLmRpZmYKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gQ29uZmlndXJlIHwgNSArKy0tLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9Db25maWd1cmUgYi9Db25maWd1cmUKLWluZGV4IDVhMzUzZDYuLmEwMGRmNjQgMTAwNzU1Ci0tLS0gYS9Db25maWd1cmUKLSsrKyBiL0NvbmZpZ3VyZQotQEAgLTE0NzksOCArMTQ3OSw3IEBAIGFyY2huYW1lPScnCi0gdXNlcmVlbnRyYW50PSd1bmRlZicKLSA6IExpc3Qgb2YgbGlicmFyaWVzIHdlIHdhbnQuCi0gOiBJZiBhbnlvbmUgbmVlZHMgZXh0cmEgLWx4eHgsIHB1dCB0aG9zZSBpbiBhIGhpbnQgZmlsZS4KLS1saWJzd2FudGVkPSJjbCBwdGhyZWFkIHNvY2tldCBiaW5kIGluZXQgbnNsIG5kYm0gZ2RibSBkYm0gZGIgbWFsbG9jIGRsIGxkIgotLWxpYnN3YW50ZWQ9IiRsaWJzd2FudGVkIHN1biBtIGNyeXB0IHNlYyB1dGlsIGMgY3Bvc2l4IHBvc2l4IHVjYiBic2QgQlNEIgotK2xpYnN3YW50ZWQ9J2dkYm0gZ2RibV9jb21wYXQgZGIgZGwgbSBjIGNyeXB0JwotIDogV2UgcHJvYmFibHkgd2FudCB0byBzZWFyY2ggL3Vzci9zaGxpYiBiZWZvcmUgbW9zdCBvdGhlciBsaWJyYXJpZXMuCi0gOiBUaGlzIGlzIG9ubHkgdXNlZCBieSB0aGUgbGliL0V4dFV0aWxzL01ha2VNYWtlci5wbSByb3V0aW5lIGV4dGxpYmxpc3QuCi0gZ2xpYnB0aD1gZWNobyAiICRnbGlicHRoICIgfCBzZWQgLWUgJ3MhIC91c3Ivc2hsaWIgISAhJ2AKLUBAIC0yNDAwNyw3ICsyNDAwNiw3IEBAIHN1bm9zKlg0KikKLSAgICAgOzsKLSAqKSBjYXNlICIkdXNlZGwiIGluCi0gICAgICRkZWZpbmV8dHJ1ZXxbeVldKikKLS0JICAgIHNldCBYIGBlY2hvICIgJGxpYnMgIiB8IHNlZCAtZSAnc0AgLWxuZGJtIEAgQCcgLWUgJ3NAIC1sZ2RibSBAIEAnIC1lICdzQCAtbGdkYm1fY29tcGF0IEAgQCcgLWUgJ3NAIC1sZGJtIEAgQCcgLWUgJ3NAIC1sZGIgQCBAJ2AKLSsJICAgIHNldCBYIGBlY2hvICIgJGxpYnMgIiB8IHNlZCAtZSAnc0AgLWxnZGJtIEAgQCcgLWUgJ3NAIC1sZ2RibV9jb21wYXQgQCBAJyAtZSAnc0AgLWxkYiBAIEAnYAotIAkgICAgc2hpZnQKLSAJICAgIHBlcmxsaWJzPSIkKiIKLSAJICAgIDs7Ci0tLSAKLTIuMS40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vcmVnZW4tc2tpcC5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9yZWdlbi1za2lwLmRpZmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVkOWE3YzQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9yZWdlbi1za2lwLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1Gcm9tIGNiM2U5OGUxN2E2NjY4OTYxNTBiMTA5Njk0ZTllYjkyNzg2MjA4NDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBOaWtvIFR5bmkgPG50eW5pQGRlYmlhbi5vcmc+Ci1EYXRlOiBTYXQsIDE3IE1heSAyMDE0IDE0OjU3OjAxICswMzAwCi1TdWJqZWN0OiBTa2lwIGEgcmVnZW5lcmF0aW9uIGNoZWNrIGluIHVucmVsYXRlZCBnaXQgcmVwb3NpdG9yaWVzCi0KLUlmIHRoZSB0ZXN0IGlzIHJ1biBpbiBhIGdpdCByZXBvc2l0b3J5IHdpdGhvdXQgbGliLy5naXRpZ25vcmUsCi1mb3IgaW5zdGFuY2UgYmVjYXVzZSB0aGUgcmVwb3NpdG9yeSBvbmx5IGltcG9ydGVkIHRoZSBQZXJsIHRhcmJhbGwsCi10aGUgcmVnZW5lcmF0aW9uIGNoZWNrIGlzIGJyb2tlbiBiZWNhdXNlIGxpYi8uZ2l0aWdub3JlIGlzIG1pc3NpbmcuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9yZWdlbi1za2lwLmRpZmYKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gcmVnZW4vbGliX2NsZWFudXAucGwgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9yZWdlbi9saWJfY2xlYW51cC5wbCBiL3JlZ2VuL2xpYl9jbGVhbnVwLnBsCi1pbmRleCBjOWQ2ZTQzLi5mZWNlMWVkIDEwMDY0NAotLS0tIGEvcmVnZW4vbGliX2NsZWFudXAucGwKLSsrKyBiL3JlZ2VuL2xpYl9jbGVhbnVwLnBsCi1AQCAtMTU5LDcgKzE1OSw3IEBAIGZvcmVhY2ggKCd3aW4zMi9NYWtlZmlsZScsICd3aW4zMi9tYWtlZmlsZS5taycpIHsKLSB9Ci0gCi0gIyBUaGlzIG11c3QgY29tZSBsYXN0IGFzIGl0IGNhbiBleGl0IGVhcmx5OgotLWlmICgkVEFQICYmICEtZCAnLmdpdCcgJiYgIS1mICdsaWIvLmdpdGlnbm9yZScpIHsKLStpZiAoJFRBUCAmJiAhLWQgJy5naXQnIHx8ICEtZiAnbGliLy5naXRpZ25vcmUnKSB7Ci0gICAgIHByaW50ICJvayAjIHNraXAgbm90IGJlaW5nIHJ1biBmcm9tIGEgZ2l0IGNoZWNrb3V0LCBoZW5jZSBubyBsaWIvLmdpdGlnbm9yZVxuIjsKLSAgICAgZXhpdCAwOwotIH0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vc2tpcC1rZnJlZWJzZC1jcmFzaC5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9za2lwLWtmcmVlYnNkLWNyYXNoLmRpZmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNiMzc0NTIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9za2lwLWtmcmVlYnNkLWNyYXNoLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1Gcm9tIDQyODUzYWY2NWEyODA2NmIxMTlkMjNkOTZlOTY0ZTk0YjU1YTg1NDEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBOaWtvIFR5bmkgPG50eW5pQGRlYmlhbi5vcmc+Ci1EYXRlOiBGcmksIDUgQXVnIDIwMTEgMTA6NTA6MTggKzAzMDAKLVN1YmplY3Q6IFNraXAgYSBjcmFzaGluZyB0ZXN0IGNhc2UgaW4gdC9vcC90aHJlYWRzLnQgb24gR05VL2tGcmVlQlNECi0KLUJ1ZzogaHR0cDovL3J0LnBlcmwub3JnL3J0My9UaWNrZXQvRGlzcGxheS5odG1sP2lkPTk2MjcyCi1CdWctRGViaWFuOiBodHRwOi8vYnVncy5kZWJpYW4ub3JnLzYyODQ5MwotCi1UaGUgY3Jhc2ggaXMgbm90IGEgcmVncmVzc2lvbiBpbiA1LjE0LCBpdCBqdXN0IGdldHMgdHJpZ2dlcmVkIHRoZXJlIGJ5Ci1hIG5ldyB1bnJlbGF0ZWQgdGVzdCBjYXNlLgotCi1Ta2lwIHRoZSB0ZXN0IHVudGlsIHRoZSBjdWxwcml0IGlzIGZvdW5kLgotCi1QYXRjaC1OYW1lOiBkZWJpYW4vc2tpcC1rZnJlZWJzZC1jcmFzaC5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIHQvb3AvdGhyZWFkcy50IHwgNCArKysrCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvdC9vcC90aHJlYWRzLnQgYi90L29wL3RocmVhZHMudAotaW5kZXggZTc2Yzk1Ni4uYmVjMjEwYiAxMDA2NDQKLS0tLSBhL3Qvb3AvdGhyZWFkcy50Ci0rKysgYi90L29wL3RocmVhZHMudAotQEAgLTM3Niw2ICszNzYsOSBAQCBFT0YKLSB9Ci0gCi0gCi0rU0tJUDogewotKyAgICBza2lwICJbcGVybCAjOTYyNzJdIGF2b2lkIGNyYXNoIG9uIEdOVS9rRnJlZUJTRCIsIDEKLSsgICAgICAgIGlmICReTyBlcSAnZ251a2ZyZWVic2QnOwotICMgW3BlcmwgIzc4NDk0XSBQaXBlcyBzaGFyZWQgYmV0d2VlbiB0aHJlYWRzIGJsb2NrIHdoZW4gY2xvc2VkCi0gewotICAgbXkgJHBlcmwgPSB3aGljaF9wZXJsOwotQEAgLTM4NCw2ICszODcsNyBAQCBFT0YKLSAgIHRocmVhZHMtPmNyZWF0ZShzdWIgeyB9KS0+am9pbjsKLSAgIG9rKDEsICJQaXBlcyBzaGFyZWQgYmV0d2VlbiB0aHJlYWRzIGRvIG5vdCBibG9jayB3aGVuIGNsb3NlZCIpOwotIH0KLSt9Ci0gCi0gIyBbcGVybCAjMTA1MjA4XSBUeXBlZ2xvYiBjbG9uZXMgc2hvdWxkIG5vdCBiZSBjbG9uZWQgYWdhaW4gZHVyaW5nIGEgam9pbgotIHsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vc2tpcC11cHN0cmVhbS1naXQtdGVzdHMuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vc2tpcC11cHN0cmVhbS1naXQtdGVzdHMuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjc5ZjRhYi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3NraXAtdXBzdHJlYW0tZ2l0LXRlc3RzLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1Gcm9tIGFlOWI2NDVkNmRhMjk5MGZkMDU1MzY4ZWNhMmM2N2M0NDk0NzRlMzggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBOaWtvIFR5bmkgPG50eW5pQGRlYmlhbi5vcmc+Ci1EYXRlOiBGcmksIDIyIEFwciAyMDExIDExOjE1OjMyICswMzAwCi1TdWJqZWN0OiBTa2lwIHRlc3RzIHNwZWNpZmljIHRvIHRoZSB1cHN0cmVhbSBHaXQgcmVwb3NpdG9yeQotCi1UaGVzZSB0ZXN0cyBmYWlsIGlmIHJ1biBmcm9tIGEgZGlmZmVyZW50IGdpdCByZXBvc2l0b3J5IHRoYW4KLXVwc3RyZWFtLiBUaGlzIGNvbXBsaWNhdGVzIHRoaW5ncyBuZWVkbGVzc2x5IGZvciBkb3duc3RyZWFtIHBhY2thZ2Vycy4KLQotU2tpcCB0aGUgdGVzdHMgYWx0b2dldGhlciBldmVuIGlmIHRoZSAuZ2l0IGRpcmVjdG9yeSBleGlzdHMuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9za2lwLXVwc3RyZWFtLWdpdC10ZXN0cy5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIHQvdGVzdC5wbCB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3QvdGVzdC5wbCBiL3QvdGVzdC5wbAotaW5kZXggY2RhMzg0MC4uYWY1NzlhMiAxMDA2NDQKLS0tLSBhL3QvdGVzdC5wbAotKysrIGIvdC90ZXN0LnBsCi1AQCAtMTc0LDcgKzE3NCw3IEBAIHN1YiBza2lwX2FsbF93aXRob3V0X3VuaWNvZGVfdGFibGVzIHsgIyAoYnV0IG9ubHkgdW5kZXIgbWluaXBlcmwpCi0gCi0gc3ViIGZpbmRfZ2l0X29yX3NraXAgewotICAgICBteSAoJHNvdXJjZV9kaXIsICRyZWFzb24pOwotLSAgICBpZiAoLWQgJy5naXQnKSB7Ci0rICAgIGlmICgtZCAnLmdpdCcgJiYgISAtZCAnZGViaWFuJykgewotIAkkc291cmNlX2RpciA9ICcuJzsKLSAgICAgfSBlbHNpZiAoLWwgJ01BTklGRVNUJyAmJiAtbCAnQVVUSE9SUycpIHsKLSAJbXkgJHdoZXJlID0gcmVhZGxpbmsgJ01BTklGRVNUJzsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vc3F1ZWxjaC1sb2NhbGUtd2FybmluZ3MuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vc3F1ZWxjaC1sb2NhbGUtd2FybmluZ3MuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDk2NGU0OC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3NxdWVsY2gtbG9jYWxlLXdhcm5pbmdzLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSw1NyArMCwwIEBACi1Gcm9tIDQ4N2E2ZDZhZGEwYjA4ZTZhNzI3NjUyMGViYzYxY2Q4NTEwMDVlN2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBOaWtvIFR5bmkgPG50eW5pQGRlYmlhbi5vcmc+Ci1EYXRlOiBTdW4sIDMgT2N0IDIwMTAgMjE6MzY6MTcgKzAzMDAKLVN1YmplY3Q6IFNxdWVsY2ggbG9jYWxlIHdhcm5pbmdzIGluIERlYmlhbiBwYWNrYWdlIG1haW50YWluZXIgc2NyaXB0cwotCi1CdWctRGViaWFuOiBodHRwOi8vYnVncy5kZWJpYW4ub3JnLzUwODc2NAotCi1UaGUgc3lzdGVtIGxvY2FsZXMgYXJlIHJhdGhlciBmcmVxdWVudGx5IG91dCBvZiBzeW5jIHdpdGggdGhlIEMgbGlicmFyeQotZHVyaW5nIHBhY2thZ2UgdXBncmFkZXMsIGNhdXNpbmcgYSBodWdlIGFtb3VudCBvZiB1c2VsZXNzIFBlcmwgbG9jYWxlCi13YXJuaW5ncy4gU3F1ZWxjaCB0aGVtIHdoZW4gcnVubmluZyBwYWNrYWdlIG1haW50YWluZXIgc2NyaXB0cywgZGV0ZWN0ZWQKLWJ5IHRoZSBEUEtHX1JVTk5JTkdfVkVSU0lPTiBlbnZpcm9ubWVudCB2YXJpYWJsZS4KLQotQW55IHJlYWwgbG9jYWxlIHByb2JsZW0gd2lsbCBzaG93IHVwIGFmdGVyIHRoZSBzeXN0ZW0gdXBncmFkZSB0b28sIGFuZAotdGhlIHdhcm5pbmcgd2lsbCBiZSB0cmlnZ2VyZWQgbm9ybWFsbHkgYWdhaW4gYXQgdGhhdCBwb2ludC4KLQotUGF0Y2gtTmFtZTogZGViaWFuL3NxdWVsY2gtbG9jYWxlLXdhcm5pbmdzLmRpZmYKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gbG9jYWxlLmMgICAgICAgICAgIHwgNSArKysrLQotIHBvZC9wZXJsbG9jYWxlLnBvZCB8IDggKysrKysrKysKLSAyIGZpbGVzIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2xvY2FsZS5jIGIvbG9jYWxlLmMKLWluZGV4IDdhNGE0MTguLmZkZjkxMWQgMTAwNjQ0Ci0tLS0gYS9sb2NhbGUuYwotKysrIGIvbG9jYWxlLmMKLUBAIC02NzQsNyArNjc0LDEwIEBAIFBlcmxfaW5pdF9pMThubDEwbihwVEhYXyBpbnQgcHJpbnR3YXJuKQotIAotICAgICBjb25zdCBib29sIGxvY3dhcm4gPSAocHJpbnR3YXJuID4gMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgKHByaW50d2FybgotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmICghIGJhZF9sYW5nX3VzZV9vbmNlCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBEZWJpYW4gc3BlY2lmaWMgY2hhbmdlIC0gc2VlIGh0dHA6Ly9idWdzLmRlYmlhbi5vcmcvNTA4NzY0ICovCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCFQZXJsRW52X2dldGVudigiRFBLR19SVU5OSU5HX1ZFUlNJT04iKSkgJiYKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoISBiYWRfbGFuZ191c2Vfb25jZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogZGlzYWxsb3cgd2l0aCAiIiBvciAiMCIgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqYmFkX2xhbmdfdXNlX29uY2UKLWRpZmYgLS1naXQgYS9wb2QvcGVybGxvY2FsZS5wb2QgYi9wb2QvcGVybGxvY2FsZS5wb2QKLWluZGV4IDcwMWI0MjIuLjU4Y2FiYWYgMTAwNjQ0Ci0tLS0gYS9wb2QvcGVybGxvY2FsZS5wb2QKLSsrKyBiL3BvZC9wZXJsbG9jYWxlLnBvZAotQEAgLTEyMTcsNiArMTIxNywxNCBAQCBCPE5PVEU+OiBDPFBFUkxfQkFETEFORz4gb25seSBnaXZlcyB5b3UgYSB3YXkgdG8gaGlkZSB0aGUgd2FybmluZyBtZXNzYWdlLgotIFRoZSBtZXNzYWdlIHRlbGxzIGFib3V0IHNvbWUgcHJvYmxlbSBpbiB5b3VyIHN5c3RlbSdzIGxvY2FsZSBzdXBwb3J0LAotIGFuZCB5b3Ugc2hvdWxkIGludmVzdGlnYXRlIHdoYXQgdGhlIHByb2JsZW0gaXMuCi0gCi0rPWl0ZW0gRFBLR19SVU5OSU5HX1ZFUlNJT04KLSsKLStPbiBEZWJpYW4gc3lzdGVtcywgaWYgdGhlIERQS0dfUlVOTklOR19WRVJTSU9OIGVudmlyb25tZW50IHZhcmlhYmxlIGlzCi0rc2V0ICh0byBhbnkgdmFsdWUpLCB0aGUgbG9jYWxlIGZhaWx1cmUgd2FybmluZ3Mgd2lsbCBiZSBzdXBwcmVzc2VkIGp1c3QKLStsaWtlIHdpdGggYSB6ZXJvIFBFUkxfQkFETEFORyBzZXR0aW5nLiBUaGlzIGlzIGRvbmUgdG8gYXZvaWQgZmxvb2RzCi0rb2Ygc3B1cmlvdXMgd2FybmluZ3MgZHVyaW5nIHN5c3RlbSB1cGdyYWRlcy4KLStTZWUgTDxodHRwOi8vYnVncy5kZWJpYW4ub3JnLzUwODc2ND4uCi0rCi0gPWJhY2sKLSAKLSBUaGUgZm9sbG93aW5nIGVudmlyb25tZW50IHZhcmlhYmxlcyBhcmUgbm90IHNwZWNpZmljIHRvIFBlcmw6IFRoZXkgYXJlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3dyaXRhYmxlX3NpdGVfZGlycy5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi93cml0YWJsZV9zaXRlX2RpcnMuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWIzNzNiMy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3dyaXRhYmxlX3NpdGVfZGlycy5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotRnJvbSA1OTFjMWY5YjdkNDc1NWJmYzU5ZDk2NjViYWIxZjJjYTQxMGRlNzY1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQnJlbmRhbiBPJ0RlYSA8Ym9kQGRlYmlhbi5vcmc+Ci1EYXRlOiBUdWUsIDggTWFyIDIwMDUgMTk6MzA6MzggKzExMDAKLVN1YmplY3Q6IFNldCB1bWFzayBhcHByb3Byb2F0ZWx5IGZvciBzaXRlIGluc3RhbGwgZGlyZWN0b3JpZXMKLQotUG9saWN5IHJlcXVpcmVzIGdyb3VwIHdyaXRhYmxlIHNpdGUgZGlyZWN0b3JpZXMKLQotUGF0Y2gtTmFtZTogZGViaWFuL3dyaXRhYmxlX3NpdGVfZGlycy5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtIHwgNiArKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0gYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQotaW5kZXggMTk3ZjEwMi4uNWYxYjg3ZiAxMDA2NDQKLS0tLSBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCi0rKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQotQEAgLTIxMzgsNyArMjEzOCw3IEBAIHF7CQkiJChJTlNUX0xJQikiICIkKERFU1RJTlNUQUxMUFJJVkxJQikiIFwKLSAKLSAKLSBwdXJlX3NpdGVfaW5zdGFsbCA6OiBhbGwKLS0JJChOT0VDSE8pIHVtYXNrIDAyMjsgJChNT0RfSU5TVEFMTCkgXAotKwkkKE5PRUNITykgdW1hc2sgMDI7ICQoTU9EX0lOU1RBTEwpIFwKLSB9OwotICAgICBwdXNoIEBtLAotIHF7CQlyZWFkICJ9LiRzZWxmLT5jYXRmaWxlKCckKFNJVEVBUkNIRVhQKScsJ2F1dG8nLCckKEZVTExFWFQpJywnLnBhY2tsaXN0JykucXsiIFwKLUBAIC0yMTk5LDggKzIxOTksOCBAQCBkb2NfcGVybF9pbnN0YWxsIDo6IGFsbAotIAotIGRvY19zaXRlX2luc3RhbGwgOjogYWxsCi0gCSQoTk9FQ0hPKSAkKEVDSE8pIEFwcGVuZGluZyBpbnN0YWxsYXRpb24gaW5mbyB0byAiJChERVNUSU5TVEFMTEFSQ0hMSUIpL3Blcmxsb2NhbC5wb2QiCi0tCS0kKE5PRUNITykgdW1hc2sgMDIyOyAkKE1LUEFUSCkgIiQoREVTVElOU1RBTExBUkNITElCKSIKLS0JLSQoTk9FQ0hPKSB1bWFzayAwMjI7ICQoRE9DX0lOU1RBTEwpIFwKLSsJLSQoTk9FQ0hPKSB1bWFzayAwMjsgJChNS1BBVEgpICIkKERFU1RJTlNUQUxMQVJDSExJQikiCi0rCS0kKE5PRUNITykgdW1hc2sgMDI7ICQoRE9DX0lOU1RBTEwpIFwKLSAJCSJNb2R1bGUiICIkKE5BTUUpIiBcCi0gCQkiaW5zdGFsbGVkIGludG8iICQoSU5TVEFMTFNJVEVMSUIpIFwKLSAJCUxJTktUWVBFICIkKExJTktUWVBFKSIgXApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2R5bmFsb2FkZXJoYWNrLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2R5bmFsb2FkZXJoYWNrLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MTlmMDdjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9keW5hbG9hZGVyaGFjay5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLUZyb20gMmUwY2U1ZDI3ZTcwZGVmZDY2YWNlMDY2MWFmN2MyNGRhYWUzNGY4YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPgotRGF0ZTogU2F0LCAxOSBKYW4gMjAxMyAyMzo0OToyNCArMDAwMAotU3ViamVjdDogW1BBVENIIDcvOF0gcGVybDogQWRkIGR5YW5sb2FkZXIgYnVpbGQgaGFjawotCi1IYWNrIHRoZSBkeW5hbWljIG1vZHVsZSBsb2FkZXIgc28gdGhhdCB3ZSB1c2UgbmF0aXZlIG1vZHVsZXMgc2luY2Ugd2UgY2FuJ3QgbG9hZAotdGhlIHRhcmdldCBvbmVzLgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUKLQotUlAKLTIwMTMvMDEvMTMKLQotLS0tCi0gZXh0L0R5bmFMb2FkZXIvRHluYUxvYWRlcl9wbS5QTCB8IDQgKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2V4dC9EeW5hTG9hZGVyL0R5bmFMb2FkZXJfcG0uUEwgYi9leHQvRHluYUxvYWRlci9EeW5hTG9hZGVyX3BtLlBMCi1pbmRleCBlODI4ZjM1Li40MDIxNTU5IDEwMDY0NAotLS0tIGEvZXh0L0R5bmFMb2FkZXIvRHluYUxvYWRlcl9wbS5QTAotKysrIGIvZXh0L0R5bmFMb2FkZXIvRHluYUxvYWRlcl9wbS5QTAotQEAgLTM0Myw2ICszNDMsMTAgQEAgc3ViIGJvb3RzdHJhcCB7Ci0gICAgIGZvcmVhY2ggKEBJTkMpIHsKLSAJPDwkXk8tZXEtVk1TPj5jaG9wKCRfID0gVk1TOjpGaWxlc3BlYzo6dW5peHBhdGgoJF8pKTs8PC8kXk8tZXEtVk1TPj4KLSAJICAgICRkaXIgPSAiJF8vYXV0by8kbW9kcG5hbWUiOwotKwotKwlpZiAoZGVmaW5lZCAkRU5We1BFUkxfTElCfSBhbmQgZGVmaW5lZCAkRU5We1BFUkxIT1NUTElCfSkgewotKwkgICAgJGRpciA9fiBzLyRFTlZ7UEVSTF9MSUJ9LyRFTlZ7UEVSTEhPU1RMSUJ9L2c7Ci0rCX0KLSAJCi0gCW5leHQgdW5sZXNzIC1kICRkaXI7ICMgc2tpcCBvdmVyIHVuaW50ZXJlc3RpbmcgZGlyZWN0b3JpZXMKLSAJCi0tLSAKLTIuMS40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9leHQtT0RCTV9GaWxlLWhpbnRzLWxpbnV4LnBsLWxpbmstbGliZ2RibV9jb21wYXQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZXh0LU9EQk1fRmlsZS1oaW50cy1saW51eC5wbC1saW5rLWxpYmdkYm1fY29tcGF0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OTRlZjcwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9leHQtT0RCTV9GaWxlLWhpbnRzLWxpbnV4LnBsLWxpbmstbGliZ2RibV9jb21wYXQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1Gcm9tIGJhNGVkMGI1YjdiYWFkNTM1M2MxZTY1YjY1NWY0MWQ0NWUwMWM5OTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KLURhdGU6IE1vbiwgMjIgSnVuIDIwMTUgMjA6MDA6MTEgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gZXh0L09EQk1fRmlsZS9oaW50cy9saW51eC5wbDogbGluayBsaWJnZGJtX2NvbXBhdAotCi1GaXhlZCBmb3IgdGVzdCBjYXNlIC4uL2V4dC9PREJNX0ZpbGUvdC9vZGJtLnQ6Ci1vayAxIC0gdXNlIE9EQk1fRmlsZTsKLW9rIDIgLSB1c2UgRmNudGw7Ci0uL3Blcmw6IHN5bWJvbCBsb29rdXAgZXJyb3I6IC91c3IvbGliL3BlcmwvNS4yMi4wL2F1dG8vT0RCTV9GaWxlL09EQk1fRmlsZS5zbzogdW5kZWZpbmVkIHN5bWJvbDogZGJtaW5pdAotCi1UaGUgY2hlY2tpbmcgImlmIC1lICRfLicvbGliZ2RibV9jb21wYXQuc28nIiBkb2Vzbid0IHdvcmsgd2hlbiBjcm9zcwotYnVpbGQsIHNvIGFsd2F5cyBsaW5rIGxpYmdkYm1fY29tcGF0LCBzaW5jZSBwZXJsIGRlcGVuZHMgb24gZ2RibSBhbmQgd2UKLWFsd2F5cyBoYXZlIGxpYmdkYm1fY29tcGF0LgotCi1VcHN0cmVhbS1TdGF0dXM6SW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotLS0tCi0gZXh0L09EQk1fRmlsZS9oaW50cy9saW51eC5wbCB8ICAgIDYgLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9leHQvT0RCTV9GaWxlL2hpbnRzL2xpbnV4LnBsIGIvZXh0L09EQk1fRmlsZS9oaW50cy9saW51eC5wbAotaW5kZXggMjA0YmJhMC4uOTI3MWI0NSAxMDA2NDQKLS0tLSBhL2V4dC9PREJNX0ZpbGUvaGludHMvbGludXgucGwKLSsrKyBiL2V4dC9PREJNX0ZpbGUvaGludHMvbGludXgucGwKLUBAIC0xLDggKzEsMiBAQAotICMgdXNlcyBHREJNIGRibSBjb21wYXRpYmlsaXR5IGZlYXR1cmUgLSBhdCBsZWFzdCBvbiBTdVNFIDguMAotLSRzZWxmLT57TElCU30gPSBbJy1sZ2RibSddOwotLQotLSMgRGViaWFuL1VidW50dSBoYXZlIGxpYmdkYm1fY29tcGF0LnNvIGJ1dCBub3QgdGhpcyBmaWxlLAotLSMgc28gbGlua2luZyBtYXkgZmFpbAotLWZvcmVhY2ggKHNwbGl0IC8gLywgJENvbmZpZ3tsaWJwdGh9KSB7Ci0tICAgICRzZWxmLT57TElCU30tPlswXSAuPSAnIC1sZ2RibV9jb21wYXQnIGlmIC1lICRfLicvbGliZ2RibV9jb21wYXQuc28nOwotLX0KLSskc2VsZi0+e0xJQlN9ID0gWyctbGdkYm0gLWxnZGJtX2NvbXBhdCddOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2V4dC1PREJNX0ZpbGUtdC1vZGJtLnQtZml4LXRoZS1wYXRoLW9mLWRibXRfY29tbW9uLnAucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZXh0LU9EQk1fRmlsZS10LW9kYm0udC1maXgtdGhlLXBhdGgtb2YtZGJtdF9jb21tb24ucC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjg1YjUwYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZXh0LU9EQk1fRmlsZS10LW9kYm0udC1maXgtdGhlLXBhdGgtb2YtZGJtdF9jb21tb24ucC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLUZyb20gYjg0MmUxZGU3Nzk4YTFmN2RmNzcwYmIzZjE4NWFkMzM1NmU0OTBlNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotRGF0ZTogTW9uLCAyMiBKdW4gMjAxNSAyMDowNjo1NiAtMDcwMAotU3ViamVjdDogW1BBVENIXSBleHQvT0RCTV9GaWxlL3Qvb2RibS50OiBmaXggdGhlICBwYXRoIG9mIGRibXRfY29tbW9uLnBsCi0KLUl0IHNob3VsZCBiZSBsaWIvZGJtdF9jb21tb24ucGwgd2hlbiBydW4gYnkgcnVuLXB0ZXN0LgotCi1GaXhlZDoKLUNhbid0IGxvY2F0ZSAuLi8uLi90L2xpYi9kYm10X2NvbW1vbi5wbCBpbiBASU5DCi0KLVNpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGV4dC9PREJNX0ZpbGUvdC9vZGJtLnQgfCAgICAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9leHQvT0RCTV9GaWxlL3Qvb2RibS50IGIvZXh0L09EQk1fRmlsZS90L29kYm0udAotaW5kZXggMDc5YjlmMS4uMjUwYjk5MSAxMDA2NDQKLS0tLSBhL2V4dC9PREJNX0ZpbGUvdC9vZGJtLnQKLSsrKyBiL2V4dC9PREJNX0ZpbGUvdC9vZGJtLnQKLUBAIC0yLDcgKzIsNyBAQAotIAotIG91ciAkREJNX0NsYXNzID0gJ09EQk1fRmlsZSc7Ci0gCi0tcmVxdWlyZSAnLi4vLi4vdC9saWIvZGJtdF9jb21tb24ucGwnOwotK3JlcXVpcmUgJ2xpYi9kYm10X2NvbW1vbi5wbCc7Ci0gCi0gaWYgKCReTyBlcSAnaHB1eCcpIHsKLSAgICAgcHJpbnQgPDxFT007Ci0tLSAKLTEuNy45LjUKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2ZpeF9iYWRfcnBhdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZml4X2JhZF9ycGF0aC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDllZmNiZS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZml4X2JhZF9ycGF0aC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czpJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLVNpZ25lZC1vZmYtYnk6IE5pdGluIEEgS2FtYmxlIDxuaXRpbi5hLmthbWJsZUBpbnRlbC5jb20+Ci0yMDExLzA3LzAxCi0KLUZpeCB0aGVzZSBQYWNrYWdlIFFBIHdhcm5pbmdzIGJlZm9yZSB0aGV5IGFyZSBjb252ZXJ0ZWQgaW50byBmZXRhbCBlcnJvcnM6Ci0KLVdBUk5JTkc6IFFBIElzc3VlOiBwYWNrYWdlIHBlcmwtbW9kdWxlLWNvbXByZXNzIGNvbnRhaW5zIGJhZCBSUEFUSCAvYnVpbGRfZGlzay9wb2t5X2J1aWxkL2J1aWxkMC90bXAvc3lzcm9vdHMvcWVtdXg4Ni91c3IvbGliIGluIGZpbGUgL2J1aWxkX2Rpc2svcG9reV9idWlsZC9idWlsZDAvdG1wL3dvcmsvaTU4Ni1wb2t5LWxpbnV4L3BlcmwtNS4xMi4zLXIxL3BhY2thZ2VzLXNwbGl0L3BlcmwtbW9kdWxlLWNvbXByZXNzL3Vzci9saWIvcGVybC81LjEyLjMvYXV0by9Db21wcmVzcy9SYXcvWmxpYi9abGliLnNvCi0KLVRoaXMgZml4ZXMgdGhpcyB3YXJuaW5nIGZvciBwZXJsIHJlY2lwZSBhcyB3ZWxsIGFzIGxpYnhtbC1wYXJzZXItcGVybCByZWNpcGUuIAotSXQgaXMgYSBmaXggdG8gTWFrZU1ha2VyIHdpdGhpbiBwZXJsLCBzbyBhbGwgc3VjaCBwZXJsIHJlY2lwZXMgd2lsbCBnZXQgCi1maXhlZCB3aXRoIHRoaXMgcGVybCBmaXguCi0KLUluZGV4OiBwZXJsLTUuMjQuMS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTGlibGlzdC9LaWQucG0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwZXJsLTUuMjQuMS5vcmlnL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9MaWJsaXN0L0tpZC5wbQotKysrIHBlcmwtNS4yNC4xL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9MaWJsaXN0L0tpZC5wbQotQEAgLTU3LDYgKzU3LDcgQEAgc3ViIF91bml4X29zMl9leHQgewotICAgICBteSAoICRmb3VuZCApID0gMDsKLSAKLSAgICAgIyBEZWJpYW4tc3BlY2lmaWM6IGRvbid0IHVzZSBMRF9SVU5fUEFUSCBmb3Igc3RhbmRhcmQgZGlycwotKyAgICBwdXNoKEBsaWJwYXRoLCAiU1lTUk9PVExJQiIpOwotICAgICAkbGRfcnVuX3BhdGhfc2VlbnskX30rKyBmb3IgQGxpYnBhdGg7Ci0gCi0gICAgIGZvcmVhY2ggbXkgJHRoaXNsaWIgKCBzcGxpdCAnICcsICRwb3RlbnRpYWxfbGlicyApIHsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9nZW5lcmF0ZS1zaC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9nZW5lcmF0ZS1zaC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjdmNmU2OS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZ2VuZXJhdGUtc2gucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi1VcHN0cmVhbS1TdGF0dXM6SW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0KLVVzZSB0aGUgbGQgZmxhZ3MgZnJvbSB0aGUgc3VwcGxpZWQgY29uZmlndXJhdGlvbiBmaWxlLiBGb3Igc2ggd2UgbmVlZCB0aGUKLWZsYWdzIHRoYXQgc3BlY2lmeSB0byBidWlsZCBQSUMgY29kZSBzbyB0aGF0IHRoZSBzaGFyZWQgbGlicmFyaWVzIHdvcmsuCi0KLUluZGV4OiBwZXJsLTUuMTQuMi9Dcm9zcy9nZW5lcmF0ZV9jb25maWdfc2gKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwZXJsLTUuMTQuMi5vcmlnL0Nyb3NzL2dlbmVyYXRlX2NvbmZpZ19zaAkyMDEwLTEyLTMwIDA0OjA3OjE0LjAwMDAwMDAwMCArMDIwMAotKysrIHBlcmwtNS4xNC4yL0Nyb3NzL2dlbmVyYXRlX2NvbmZpZ19zaAkyMDEyLTExLTIyIDE1OjU4OjQ5Ljg1Mjg1MjgwNSArMDIwMAotQEAgLTE5LDEwICsxOSwxMCBAQAotICRjYWxsYmFja3MtPnsnYXInfSA9IFtcJnNpbXBsZV9wcm9jZXNzLCBbIkFSIiwgImFybS1saW51eC1hciJdXTsKLSAkY2FsbGJhY2tzLT57J2FyY2huYW1lJ30gPSBbXCZzaW1wbGVfcHJvY2VzcywgWyJTWVMiLCAiYXJtdjRsLWxpbnV4Il1dOwotICRjYWxsYmFja3MtPnsnY2MnfSA9IFtcJnNpbXBsZV9wcm9jZXNzLCBbIkNDIiwgImFybS1saW51eC1nY2MiXV07Ci0tJGNhbGxiYWNrcy0+eydjY2NkbGZsYWdzJ30gPSBbXCZzaW1wbGVfcHJvY2VzcywgWyJDRkxBR1MiLCAiIl1dOwotLSRjYWxsYmFja3MtPnsnY2NkbGZsYWdzJ30gPSBbXCZzaW1wbGVfcHJvY2VzcywgWyJDRkxBR1MiLCAiIl1dOwotLSRjYWxsYmFja3MtPnsnY2NmbGFncyd9ID0gW1wmc2ltcGxlX3Byb2Nlc3MsIFsiQ0ZMQUdTIiwgIi1mbm8tc3RyaWN0LWFsaWFzaW5nIC1EX0xBUkdFRklMRV9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCJdXTsKLS0kY2FsbGJhY2tzLT57J2NjZmxhZ3NfdXNlbGFyZ2VmaWxlcyd9ID0gW1wmc2ltcGxlX3Byb2Nlc3MsIFsiQ0ZMQUdTIiwgIi1EX0xBUkdFRklMRV9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCJdXTsKLSsjJGNhbGxiYWNrcy0+eydjY2NkbGZsYWdzJ30gPSBbXCZzaW1wbGVfcHJvY2VzcywgWyJDRkxBR1MiLCAiIl1dOwotKyMkY2FsbGJhY2tzLT57J2NjZGxmbGFncyd9ID0gW1wmc2ltcGxlX3Byb2Nlc3MsIFsiQ0ZMQUdTIiwgIiJdXTsKLSskY2FsbGJhY2tzLT57J2NjZmxhZ3MnfSA9IFtcJnNpbXBsZV9wcm9jZXNzX2luc2VydCwgWyJDRkxBR1MiLCAiLWZuby1zdHJpY3QtYWxpYXNpbmcgLURfR05VX1NPVVJDRSAtRFRIUkVBRFNfSEFWRV9QSURTIC1EX0xBUkdFRklMRV9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCJdXTsKLSskY2FsbGJhY2tzLT57J2NjZmxhZ3NfdXNlbGFyZ2VmaWxlcyd9ID0gW1wmc2ltcGxlX3Byb2Nlc3NfaW5zZXJ0LCBbIkNGTEFHUyIsICItRF9HTlVfU09VUkNFIC1EVEhSRUFEU19IQVZFX1BJRFMgLURfTEFSR0VGSUxFX1NPVVJDRSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0Il1dOwotICRjYWxsYmFja3MtPnsnY2NuYW1lJ30gPSBbXCZzaW1wbGVfcHJvY2VzcywgWyJDQyIsICJhcm0tbGludXgtZ2NjIl1dOwotICRjYWxsYmFja3MtPnsnY3BwJ30gPSBbXCZzaW1wbGVfcHJvY2VzcywgWyJDQ1AiLCAiYXJtLWxpbnV4LWNwcCJdXTsKLSAkY2FsbGJhY2tzLT57J2NwcGZsYWdzJ30gPSBbXCZzaW1wbGVfcHJvY2VzcywgWyJDQ1BGTEFHUyIsICItZm5vLXN0cmljdC1hbGlhc2luZyJdXTsKLUBAIC0zMCw2ICszMCw3IEBACi0gJGNhbGxiYWNrcy0+eydjcHBzdGRpbid9ID0gW1wmc2ltcGxlX3Byb2Nlc3NfYXBwZW5kLCBbIkNDIiwgImFybS1saW51eC1nY2MgLUUiLCAiLUUiXV07Ci0gJGNhbGxiYWNrcy0+eydmdWxsX2FyJ30gPSBbXCZiYWNrdGljaywgWyJBUiIsICJ3aGljaCAkRU5We0FSfSIsICIvdXNyL2xvY2FsL2FybS8yLjk1LjMvYmluL2FybS1saW51eC1hciJdXTsKLSAkY2FsbGJhY2tzLT57J2xkJ30gPSBbXCZzaW1wbGVfcHJvY2VzcywgWyJMRCIsICJhcm0tbGludXgtbGQiXV07Ci0rJGNhbGxiYWNrcy0+eydsZGRsZmxhZ3MnfSA9IFtcJnNpbXBsZV9wcm9jZXNzLCBbIkxERExGTEFHUyIsICIiXV07Ci0gJGNhbGxiYWNrcy0+eydsZGZsYWdzJ30gPSBbXCZzaW1wbGVfcHJvY2VzcywgWyJMREZMQUdTIiwgIiJdXTsKLSAkY2FsbGJhY2tzLT57J2xkZmxhZ3NfdXNlbGFyZ2VmaWxlcyd9ID0gW1wmc2ltcGxlX3Byb2Nlc3MsIFsiTERGTEFHUyIsICIiXV07Ci0gJGNhbGxiYWNrcy0+eydteWFyY2huYW1lJ30gPSBbXCZzaW1wbGVfcHJvY2VzcywgWyJTWVMiLCAiYXJtdjRsLWxpbnV4Il1dOwotQEAgLTEwNSw2ICsxMDYsMjMgQEAKLSAKLSB9Ci0gCi0rIyBJbnNlcnQgZW52IHZhciBpbnRvIHRoZSB2YXJpYWJsZXMgdmFsdWUKLStzdWIgc2ltcGxlX3Byb2Nlc3NfaW5zZXJ0IHsKLSsJbXkgJGtleSA9IHNoaWZ0OwotKwlteSAkdmFsdWUgPSBzaGlmdDsKLSsJbXkgJGVudnZhciA9ICRjYWxsYmFja3MtPnska2V5fS0+WzFdWzBdOwotKwotKwlpZiAoJEVOVnskZW52dmFyfSkgewotKwkJIyBTdHJpcCBxdW90ZXMgZnJvbSB2YWx1ZQotKwkJJHZhbHVlID1+IHMvXlwnLy87Ci0rCQkkdmFsdWUgPX4gcy9cJyQvLzsKLSsJCSMgUmVtb3ZlIC1JL3Vzci9sb2NhbC8uLi4gZnJvbSB0aGUgdmFsdWUKLSsJCSR2YWx1ZSA9fiBzI1xXLUkvdXNyL2xvY2FsL1x3K1xXIyAjZzsKLSsJCSMgUHJlcGVuZCBlbnYgdmFyIChPRSBzZXR0aW5nKSB0byB2YWx1ZQotKwkJcHJpbnQoIiRrZXk9XCckRU5WeyRlbnZ2YXJ9ICR2YWx1ZVwnXG4iKTsKLSsJfQotK30KLSsKLSBzdWIgbGlicmFyeV9tdW5nZSB7Ci0gCW15ICRrZXkgPSBzaGlmdDsKLSAJbXkgJHZhbHVlID0gc2hpZnQ7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvaW5zdGFsbHBlcmwucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvaW5zdGFsbHBlcmwucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdmZDFmNTAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2luc3RhbGxwZXJsLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOkluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQotCi1JbmRleDogcGVybC01LjI0LjEvaW5zdGFsbHBlcmwKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwZXJsLTUuMjQuMS5vcmlnL2luc3RhbGxwZXJsCi0rKysgcGVybC01LjI0LjEvaW5zdGFsbHBlcmwKLUBAIC0yLDggKzIsOCBAQAotIAotIEJFR0lOIHsKLSAgICAgY2hkaXIgJy4uJyBpZiAhLWQgJ2xpYicgYW5kIC1kICcuLi9saWInOwotLSAgICBASU5DID0gJ2xpYic7Ci0tICAgICRFTlZ7UEVSTDVMSUJ9ID0gJ2xpYic7Ci0rIyAgICBASU5DID0gJ2xpYic7Ci0rIyAgICAkRU5We1BFUkw1TElCfSA9ICdsaWInOwotIAotICAgICAjIFRoaXMgbmVlZHMgdG8gYmUgYXQgQkVHSU4gdGltZSwgYmVmb3JlIGFueSB1c2Ugb2YgQ29uZmlnCi0gICAgICMgaW5zdGFsbF9saWIgaXRzZWxmIGxvYWRzIGFuZCBpbXBvcnRzIENvbmZpZyBpbnRvIG1haW46OgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2xldGdjYy1maW5kLWVycm5vLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2xldGdjYy1maW5kLWVycm5vLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MTYxZTRjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9sZXRnY2MtZmluZC1lcnJuby5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czpJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLQotVGhpcyByZW1vdmVzIGFsbCB0aGUgbG9naWMgdGhhdCBwZXJsIHVzZXMgdG8gbG9jYXRlIGFuIGFwcHJvcHJpYXRlCi1lcnJuby5oIGZvciB0aGUgdGFyZ2V0LiBJbnN0ZWFkIHdlIHNpbXBsZSBjcmVhdGUgYSBmaWxlIHRoYXQgZG9lcwotCi0gICNpbmNsdWRlICJlcnJuby5oIgotCi1hbmQgdXNlIHRoYXQgYXMgdGhlIGZpbGUgdG8gcGFyc2UuIFRoaXMgaXMgbmVlZGVkIHdoZW4gdXNpbmcgYW4KLWV4dGVybmFsIHRvb2xjaGFpbiBzaW5jZSBwZXJsIHdpbGwgc2VhcmNoIGluICR7U1RBR0lOR19JTkNESVJ9IGZvcgotZXJybm8uaCAod2hlbiB1c2luZyBnY2MpIGFuZCB0aGF0IGlzbid0IHdoZXJlIGl0J3MgbG9jYXRlZCAtIGl0cwotd2hlcmV2ZXIgdGhlIGV4dGVybmFsIHRvb2xjaGFpbiBrZWVwcyBpdCdzIGhlYWRlcnMuCi0KLUluZGV4OiBwZXJsLTUuMTIuMy9leHQvRXJybm8vRXJybm9fcG0uUEwKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwZXJsLTUuMTIuMy5vcmlnL2V4dC9FcnJuby9FcnJub19wbS5QTAotKysrIHBlcmwtNS4xMi4zL2V4dC9FcnJuby9FcnJub19wbS5QTAotQEAgLTE3LDggKzE3LDE4IEBAIHVubGluayAiRXJybm8udG1wIiBpZiAtZiAiRXJybm8udG1wIjsKLSBvcGVuIE9VVCwgIj5FcnJuby50bXAiIG9yIGRpZSAiQ2Fubm90IG9wZW4gRXJybm8udG1wOiAkISI7Ci0gc2VsZWN0IE9VVDsKLSBteSAkZmlsZTsKLS1teSBAZmlsZXMgPSBnZXRfZmlsZXMoKTsKLS1pZiAoJENvbmZpZ3tnY2N2ZXJzaW9ufSBuZSAnJyAmJiAkXk8gZXEgJ01TV2luMzInKSB7Ci0rI215IEBmaWxlcyA9IGdldF9maWxlcygpOwotK215IEBmaWxlcyA9ICgiZXJybm8uaCIpOwotKwotK2lmICgxKSB7Ci0rICAgIG9wZW4gSU5DUywgJz5pbmNsdWRlcy5jJyBvcgotKwlkaWUgIkNhbm5vdCBvcGVuIGluY2x1ZGVzLmMiOwotKyAgICBwcmludCBJTkNTIHFxWyNpbmNsdWRlICJlcnJuby5oIlxuXTsKLSsgICAgY2xvc2UgSU5DUzsKLSsgICAgcHJvY2Vzc19maWxlKCdpbmNsdWRlcy5jJyk7Ci0rICAgIHVubGluayAnaW5jbHVkZXMuYyc7Ci0rfQotK2Vsc2lmICgkQ29uZmlne2djY3ZlcnNpb259IG5lICcnICYmICReTyBlcSAnTVNXaW4zMicpIHsKLSAgICAgIyBNaW5HVyBjb21wbGFpbnMgIndhcm5pbmc6ICNwcmFnbWEgc3lzdGVtX2hlYWRlciBpZ25vcmVkIG91dHNpZGUgaW5jbHVkZQotICAgICAjIGZpbGUiIGlmIHRoZSBoZWFkZXIgZmlsZXMgYXJlIHByb2Nlc3NlZCBpbmRpdmlkdWFsbHksIHNvIGluY2x1ZGUgdGhlbQotICAgICAjIGFsbCBpbiAuYyBmaWxlIGFuZCBwcm9jZXNzIHRoYXQgaW5zdGVhZC4KLUBAIC01Myw3ICs2Myw3IEBAIHN1YiBwcm9jZXNzX2ZpbGUgewotICAgICAgICAgY2hvbXAoJGZpbGUgPSBgY3lncGF0aCAtdyAiJGZpbGUiYCk7Ci0gICAgIH0KLSAKLS0gICAgcmV0dXJuIHVubGVzcyBkZWZpbmVkICRmaWxlIGFuZCAtZiAkZmlsZTsKLSsjICAgIHJldHVybiB1bmxlc3MgZGVmaW5lZCAkZmlsZSBhbmQgLWYgJGZpbGU7Ci0gIyAgICB3YXJuICJQcm9jZXNzaW5nICRmaWxlXG4iOwotIAotICAgICBsb2NhbCAqRkg7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvbWFrZV9leHQucGwtZml4LXJlZ2VuZXJhdGUtbWFrZWZpbGUtZmFpbGVkLXdoaWxlLWNjLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9tYWtlX2V4dC5wbC1maXgtcmVnZW5lcmF0ZS1tYWtlZmlsZS1mYWlsZWQtd2hpbGUtY2MtLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMmM1OTc5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9tYWtlX2V4dC5wbC1maXgtcmVnZW5lcmF0ZS1tYWtlZmlsZS1mYWlsZWQtd2hpbGUtY2MtLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotbWFrZV9leHQucGw6IGZpeCByZWdlbmVyYXRlIG1ha2VmaWxlIGZhaWxlZCB3aGlsZSAkY2MgY2hhbmdlZAotCi1XaGlsZSAkY2MgY2hhbmdlZCwgdGhlIGV4aXN0YW5jZSBvZiAneGRlZmluZScgY2F1c2VkIG1ha2VmaWxlCi1yZWdlbmVyYXRpb24gZmFpbGVkLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gbWFrZV9leHQucGwgfCA0ICsrKysKLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCi0KLUluZGV4OiBwZXJsLTUuMjQuMS9tYWtlX2V4dC5wbAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHBlcmwtNS4yNC4xLm9yaWcvbWFrZV9leHQucGwKLSsrKyBwZXJsLTUuMjQuMS9tYWtlX2V4dC5wbAotQEAgLTMzNSw2ICszMzUsMTAgQEAgc3ViIGJ1aWxkX2V4dGVuc2lvbiB7Ci0gICAgICAgICAgICAgICAgIHByaW50ICJEZWxldGluZyBub24tQ3Jvc3MgbWFrZWZpbGVcbiI7Ci0gICAgICAgICAgICAgICAgIGNsb3NlICRtZmggb3IgZGllICJjbG9zZSAkbWFrZWZpbGU6ICQhIjsKLSAgICAgICAgICAgICAgICAgX3VubGluaygkbWFrZWZpbGUpOwotKyAgICAgICAgICAgICAgICBpZigtZSAneGRlZmluZScpIHsKLSsgICAgICAgICAgICAgICAgICAgIHByaW50ICJEZWxldGluZyB4ZGVmaW5lIGZvciByZWdlbmVyYXRlIG1ha2VmaWxlXG4iOwotKyAgICAgICAgICAgICAgICAgICAgX3VubGluaygneGRlZmluZScpOwotKyAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgfQotICAgICAgICAgfQotICAgICB9IGVsc2UgewpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL25hdGl2ZS1ub3BhY2tsaXN0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL25hdGl2ZS1ub3BhY2tsaXN0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NDgyZGNiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9uYXRpdmUtbm9wYWNrbGlzdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDkxICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czpJbmFwcHJvcHJpYXRlIFtkZWJpYW4gcGF0Y2hdCi0KLVBhcnQgb2YgNTJfZGViaWFuX2V4dHV0aWxzX2hhY2tzLnBhdGNoIGp1c3QgdG8gZXhjbHVkZSB0aGUgaW5zdGFsbGF0aW9uIG9mIC5wYWNrbGlzdCBmaWxlcwotCi1TaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbSB8ICAgMzUgKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KLWluZGV4IGY2MzE0NWMuLmE1ODk3MTAgMTAwNjQ0Ci0tLS0gYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQotKysrIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KLUBAIC0yMTIyLDExICsyMTIyLDYgQEAgcHVyZV9wZXJsX2luc3RhbGwgOjogYWxsCi0gfTsKLSAKLSAgICAgcHVzaCBAbSwKLS1xewkJcmVhZCAifS4kc2VsZi0+Y2F0ZmlsZSgnJChQRVJMX0FSQ0hMSUIpJywnYXV0bycsJyQoRlVMTEVYVCknLCcucGFja2xpc3QnKS5xeyIgXAotLQkJd3JpdGUgIn0uJHNlbGYtPmNhdGZpbGUoJyQoREVTVElOU1RBTExBUkNITElCKScsJ2F1dG8nLCckKEZVTExFWFQpJywnLnBhY2tsaXN0JykucXsiIFwKLS19IHVubGVzcyAkc2VsZi0+e05PX1BBQ0tMSVNUfTsKLS0KLS0gICAgcHVzaCBAbSwKLSBxewkJIiQoSU5TVF9MSUIpIiAiJChERVNUSU5TVEFMTFBSSVZMSUIpIiBcCi0gCQkiJChJTlNUX0FSQ0hMSUIpIiAiJChERVNUSU5TVEFMTEFSQ0hMSUIpIiBcCi0gCQkiJChJTlNUX0JJTikiICIkKERFU1RJTlNUQUxMQklOKSIgXAotQEAgLTIxNTgsMTAgKzIxNTMsNiBAQCBxewkJIiQoSU5TVF9MSUIpIiAiJChERVNUSU5TVEFMTFNJVEVMSUIpIiBcCi0gcHVyZV92ZW5kb3JfaW5zdGFsbCA6OiBhbGwKLSAJJChOT0VDSE8pICQoTU9EX0lOU1RBTEwpIFwKLSB9OwotLSAgICBwdXNoIEBtLAotLXF7CQlyZWFkICJ9LiRzZWxmLT5jYXRmaWxlKCckKFZFTkRPUkFSQ0hFWFApJywnYXV0bycsJyQoRlVMTEVYVCknLCcucGFja2xpc3QnKS5xeyIgXAotLQkJd3JpdGUgIn0uJHNlbGYtPmNhdGZpbGUoJyQoREVTVElOU1RBTExWRU5ET1JBUkNIKScsJ2F1dG8nLCckKEZVTExFWFQpJywnLnBhY2tsaXN0JykucXsiIFwKLS19IHVubGVzcyAkc2VsZi0+e05PX1BBQ0tMSVNUfTsKLSAKLSAgICAgcHVzaCBAbSwKLSBxewkJIiQoSU5TVF9MSUIpIiAiJChERVNUSU5TVEFMTFZFTkRPUkxJQikiIFwKLUBAIC0yMTg3LDM3ICsyMTc4LDE5IEBAIGRvY192ZW5kb3JfaW5zdGFsbCA6OiBhbGwKLSAKLSAgICAgcHVzaCBAbSwgcXsKLSBkb2NfcGVybF9pbnN0YWxsIDo6IGFsbAotLQkkKE5PRUNITykgJChFQ0hPKSBBcHBlbmRpbmcgaW5zdGFsbGF0aW9uIGluZm8gdG8gIiQoREVTVElOU1RBTExBUkNITElCKS9wZXJsbG9jYWwucG9kIgotLQktJChOT0VDSE8pICQoTUtQQVRIKSAiJChERVNUSU5TVEFMTEFSQ0hMSUIpIgotLQktJChOT0VDSE8pICQoRE9DX0lOU1RBTEwpIFwKLS0JCSJNb2R1bGUiICIkKE5BTUUpIiBcCi0tCQkiaW5zdGFsbGVkIGludG8iICQoSU5TVEFMTFBSSVZMSUIpIFwKLS0JCUxJTktUWVBFICIkKExJTktUWVBFKSIgXAotLQkJVkVSU0lPTiAiJChWRVJTSU9OKSIgXAotLQkJRVhFX0ZJTEVTICIkKEVYRV9GSUxFUykiIFwKLS0JCT4+ICJ9LiRzZWxmLT5jYXRmaWxlKCckKERFU1RJTlNUQUxMQVJDSExJQiknLCdwZXJsbG9jYWwucG9kJykucXsiCi0gCi0gZG9jX3NpdGVfaW5zdGFsbCA6OiBhbGwKLS0JJChOT0VDSE8pICQoRUNITykgQXBwZW5kaW5nIGluc3RhbGxhdGlvbiBpbmZvIHRvICIkKERFU1RJTlNUQUxMQVJDSExJQikvcGVybGxvY2FsLnBvZCIKLS0JLSQoTk9FQ0hPKSAkKE1LUEFUSCkgIiQoREVTVElOU1RBTExBUkNITElCKSIKLSsJJChOT0VDSE8pICQoRUNITykgQXBwZW5kaW5nIGluc3RhbGxhdGlvbiBpbmZvIHRvICIkKERFU1RJTlNUQUxMU0lURUFSQ0gpL3Blcmxsb2NhbC5wb2QiCi0rCS0kKE5PRUNITykgJChNS1BBVEgpICIkKERFU1RJTlNUQUxMU0lURUFSQ0gpIgotIAktJChOT0VDSE8pICQoRE9DX0lOU1RBTEwpIFwKLSAJCSJNb2R1bGUiICIkKE5BTUUpIiBcCi0gCQkiaW5zdGFsbGVkIGludG8iICQoSU5TVEFMTFNJVEVMSUIpIFwKLSAJCUxJTktUWVBFICIkKExJTktUWVBFKSIgXAotIAkJVkVSU0lPTiAiJChWRVJTSU9OKSIgXAotIAkJRVhFX0ZJTEVTICIkKEVYRV9GSUxFUykiIFwKLS0JCT4+ICJ9LiRzZWxmLT5jYXRmaWxlKCckKERFU1RJTlNUQUxMQVJDSExJQiknLCdwZXJsbG9jYWwucG9kJykucXsiCi0rCQk+PiAifS4kc2VsZi0+Y2F0ZmlsZSgnJChERVNUSU5TVEFMTFNJVEVBUkNIKScsJ3Blcmxsb2NhbC5wb2QnKS5xeyIKLSAKLSBkb2NfdmVuZG9yX2luc3RhbGwgOjogYWxsCi0tCSQoTk9FQ0hPKSAkKEVDSE8pIEFwcGVuZGluZyBpbnN0YWxsYXRpb24gaW5mbyB0byAiJChERVNUSU5TVEFMTEFSQ0hMSUIpL3Blcmxsb2NhbC5wb2QiCi0tCS0kKE5PRUNITykgJChNS1BBVEgpICIkKERFU1RJTlNUQUxMQVJDSExJQikiCi0tCS0kKE5PRUNITykgJChET0NfSU5TVEFMTCkgXAotLQkJIk1vZHVsZSIgIiQoTkFNRSkiIFwKLS0JCSJpbnN0YWxsZWQgaW50byIgJChJTlNUQUxMVkVORE9STElCKSBcCi0tCQlMSU5LVFlQRSAiJChMSU5LVFlQRSkiIFwKLS0JCVZFUlNJT04gIiQoVkVSU0lPTikiIFwKLS0JCUVYRV9GSUxFUyAiJChFWEVfRklMRVMpIiBcCi0tCQk+PiAifS4kc2VsZi0+Y2F0ZmlsZSgnJChERVNUSU5TVEFMTEFSQ0hMSUIpJywncGVybGxvY2FsLnBvZCcpLnF7IgotIAotIH0gdW5sZXNzICRzZWxmLT57Tk9fUEVSTExPQ0FMfTsKLSAKLUBAIC0yMjI2LDEzICsyMTk5LDExIEBAIHVuaW5zdGFsbCA6OiB1bmluc3RhbGxfZnJvbV8kKElOU1RBTExESVJTKWRpcnMKLSAJJChOT0VDSE8pICQoTk9PUCkKLSAKLSB1bmluc3RhbGxfZnJvbV9wZXJsZGlycyA6OgotLQkkKE5PRUNITykgJChVTklOU1RBTEwpICJ9LiRzZWxmLT5jYXRmaWxlKCckKFBFUkxfQVJDSExJQiknLCdhdXRvJywnJChGVUxMRVhUKScsJy5wYWNrbGlzdCcpLnF7IgotIAotIHVuaW5zdGFsbF9mcm9tX3NpdGVkaXJzIDo6Ci0gCSQoTk9FQ0hPKSAkKFVOSU5TVEFMTCkgIn0uJHNlbGYtPmNhdGZpbGUoJyQoU0lURUFSQ0hFWFApJywnYXV0bycsJyQoRlVMTEVYVCknLCcucGFja2xpc3QnKS5xeyIKLSAKLSB1bmluc3RhbGxfZnJvbV92ZW5kb3JkaXJzIDo6Ci0tCSQoTk9FQ0hPKSAkKFVOSU5TVEFMTCkgIn0uJHNlbGYtPmNhdGZpbGUoJyQoVkVORE9SQVJDSEVYUCknLCdhdXRvJywnJChGVUxMRVhUKScsJy5wYWNrbGlzdCcpLnF7IgotIH07Ci0gCi0gICAgIGpvaW4oIiIsQG0pOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL25hdGl2ZS1wZXJsaW5jLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL25hdGl2ZS1wZXJsaW5jLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMGJiMWY2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9uYXRpdmUtcGVybGluYy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czpJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLQotSW5kZXg6IHBlcmwtNS44LjgvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwZXJsLTUuMTIuMy5vcmlnL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCTIwMDgtMTAtMzEgMjI6MDE6MzUuMDAwMDAwMDAwICswMDAwCi0rKysgcGVybC01LjEyLjMvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0JMjAwOC0xMC0zMSAyMjowMTozNS4wMDAwMDAwMDAgKzAwMDAKLUBAIC0xNTk3LDYgKzE1OTcsMTkgQEAKLSAJJHNlbGYtPntQRVJMX0xJQn0gICAgIHx8PSAkQ29uZmlne3ByaXZsaWJleHB9OwotIAkkc2VsZi0+e1BFUkxfQVJDSExJQn0gfHw9ICRDb25maWd7YXJjaGxpYmV4cH07Ci0gCSRzZWxmLT57UEVSTF9JTkN9ICAgICA9ICRzZWxmLT5jYXRkaXIoIiRzZWxmLT57UEVSTF9BUkNITElCfSIsIkNPUkUiKTsgIyB3aWxkIGd1ZXNzIGZvciBub3cKLSsJIyBDaGVjayBmb3IgZW52aXJvbm1lbnQgb3ZlcnJpZGUgc28gd2UnbGwgZmluZCB0aGUgaGVhZGVycyBpbiB0aGUgY29ycmVjdCBwbGFjZQotKyAgICAgICAgaWYgKGRlZmluZWQgJEVOVntQRVJMX0xJQn0pCi0rICAgICAgICB7Ci0rICAgICAgICAgICAgJHNlbGYtPntQRVJMX0xJQn0gPSAkRU5We1BFUkxfTElCfTsKLSsgICAgICAgIH0KLSsgICAgICAgIGlmIChkZWZpbmVkICRFTlZ7UEVSTF9BUkNITElCfSkKLSsgICAgICAgIHsKLSsgICAgICAgICAgICAkc2VsZi0+e1BFUkxfQVJDSExJQn0gPSAkRU5We1BFUkxfQVJDSExJQn07Ci0rICAgICAgICB9Ci0rICAgICAgICBpZiAoZGVmaW5lZCAkRU5We1BFUkxfSU5DfSkKLSsgICAgICAgIHsKLSsgICAgICAgICAgICAkc2VsZi0+e1BFUkxfSU5DfSA9ICRFTlZ7UEVSTF9JTkN9OwotKyAgICAgICAgfQotIAlteSAkcGVybF9oOwotIAotIAlpZiAobm90IC1mICgkcGVybF9oID0gJHNlbGYtPmNhdGZpbGUoJHNlbGYtPntQRVJMX0lOQ30sInBlcmwuaCIpKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3BlcmwtNS4yNi4xLWd1YXJkX29sZF9saWJjcnlwdF9maXgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcGVybC01LjI2LjEtZ3VhcmRfb2xkX2xpYmNyeXB0X2ZpeC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmYzZDZkYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcGVybC01LjI2LjEtZ3VhcmRfb2xkX2xpYmNyeXB0X2ZpeC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLWNvbW1pdCAxM2U3MGIzOTdkY2IwZDFiZjRhODY5YjY3MGYwNDFjMWQ3YjczMGQwCi1BdXRob3I6IEJq4Lij4LiWcm4gRXNzZXIgPGJlc3NlcjgyQGZlZG9yYXByb2plY3Qub3JnPgotRGF0ZTogICBTYXQgSmFuIDIwIDIwOjIyOjUzIDIwMTggKzAxMDAKLQotICAgIHBwOiBHdWFyZCBmaXggZm9yIHJlYWxseSBvbGQgYnVnIGluIGdsaWJjIGxpYmNyeXB0Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotU2lnbmVkLW9mZi1ieTogUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+Ci0KLWRpZmYgLS1naXQgYS9wcC5jIGIvcHAuYwotaW5kZXggZDUwYWQ3ZGRiZi4uNjUxMGM3YjE1YyAxMDA2NDQKLS0tLSBhL3BwLmMKLSsrKyBiL3BwLmMKLUBAIC0zNjUwLDggKzM2NTAsMTIgQEAgUFAocHBfY3J5cHQpCi0gI2lmIGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKF9fRU1YX18pCi0gCWlmIChQTF9yZWVudHJhbnRfYnVmZmVyLT5fY3J5cHRfc3RydWN0X2J1ZmZlcikgewotIAkgICAgUExfcmVlbnRyYW50X2J1ZmZlci0+X2NyeXB0X3N0cnVjdF9idWZmZXItPmluaXRpYWxpemVkID0gMDsKLS0JICAgIC8qIHdvcmsgYXJvdW5kIGdsaWJjLTIuMi41IGJ1ZyAqLwotKyNpZiAoZGVmaW5lZChfX0dMSUJDX18pICYmIF9fR0xJQkNfXyA9PSAyKSAmJiBcCi0rICAgIChkZWZpbmVkKF9fR0xJQkNfTUlOT1JfXykgJiYgX19HTElCQ19NSU5PUl9fID49IDIgJiYgX19HTElCQ19NSU5PUl9fIDwgNCkKLSsJICAgIC8qIHdvcmsgYXJvdW5kIGdsaWJjLTIuMi41IGJ1ZywgaGFzIGJlZW4gZml4ZWQgYXQgc29tZQotKwkgICAgICogdGltZSBpbiBnbGliYy0yLjMuWCAqLwotIAkgICAgUExfcmVlbnRyYW50X2J1ZmZlci0+X2NyeXB0X3N0cnVjdF9idWZmZXItPmN1cnJlbnRfc2FsdGJpdHMgPSAwOwotKyNlbmRpZgotIAl9Ci0gI2VuZGlmCi0gICAgIH0KLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3BlcmwtUGF0aFRvb2xzLWRvbi10LWZpbHRlci1vdXQtYmxpYi1mcm9tLUlOQy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9wZXJsLVBhdGhUb29scy1kb24tdC1maWx0ZXItb3V0LWJsaWItZnJvbS1JTkMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdkZDkwNDEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3BlcmwtUGF0aFRvb2xzLWRvbi10LWZpbHRlci1vdXQtYmxpYi1mcm9tLUlOQy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLUZyb20gOTBjMjUyY2VjYzM4YWVkNWQ1ZmFlZGIzMDQ4NWRkNmVlZTJlNTRlYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFdlbnpvbmcgRmFuIDx3ZW56b25nLmZhbkB3aW5kcml2ZXIuY29tPgotRGF0ZTogV2VkLCAxMSBGZWIgMjAxNSAxNToxNDo0MCArMDgwMAotU3ViamVjdDogW1BBVENIXSBwZXJsIC8gUGF0aFRvb2xzOiBkb24ndCBmaWx0ZXIgb3V0IGJsaWIgZnJvbSBASU5DCi0KLUlmICRUT1BESVIgaW5jbHVkZXMgdGhlIHN0cmluZyAiYmxpYiIsIGZpbHRlciBpdCBvdXQgZnJvbSBASU5DIG1heSBlbXB0eQotdGhlIEBJTkMgYW5kIGNhdXNlIGJ1aWxkIGVycm9ycyBsaWtlOgotCi0gIENhbid0IGxvY2F0ZSBFeHRVdGlscy9NYWtlTWFrZXIucG0gaW4gQElOQyBcCi0gICh5b3UgbWF5IG5lZWQgdG8gaW5zdGFsbCB0aGUgRXh0VXRpbHM6Ok1ha2VNYWtlciBtb2R1bGUpIFwKLSAgKEBJTkMgY29udGFpbnM6IC4pIGF0IE1ha2VmaWxlLlBMCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBXZW56b25nIEZhbiA8d2Vuem9uZy5mYW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIGRpc3QvUGF0aFRvb2xzL01ha2VmaWxlLlBMIHwgMyAtLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2Rpc3QvUGF0aFRvb2xzL01ha2VmaWxlLlBMIGIvZGlzdC9QYXRoVG9vbHMvTWFrZWZpbGUuUEwKLWluZGV4IDFiMjFkZTQuLmY1NjJjYjIgMTAwNjQ0Ci0tLS0gYS9kaXN0L1BhdGhUb29scy9NYWtlZmlsZS5QTAotKysrIGIvZGlzdC9QYXRoVG9vbHMvTWFrZWZpbGUuUEwKLUBAIC0xLDYgKzEsMyBAQAotLQotLUJFR0lOIHsgQElOQyA9IGdyZXAgeyEvYmxpYi99IEBJTkMgfQotLQotIHJlcXVpcmUgNS4wMDU7Ci0gdXNlIEV4dFV0aWxzOjpNYWtlTWFrZXI7Ci0gV3JpdGVNYWtlZmlsZQotLS0gCi0xLjkuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcGVybC1hcmNobGliLWV4cC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9wZXJsLWFyY2hsaWItZXhwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzN2JmNTIzLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9wZXJsLWFyY2hsaWItZXhwLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotcGVybDogYWRkIGFyY2hsaWJfZXhwIHZhcmlhYmxlIHVzZWQgdG8gZ2VuZXJhdGUgQVJDSExJQl9FWFAgaW4gY29uZmlnLmgKLSAgICAKLXBlcmwuYyB1c2VzIGFuIEFSQ0hMSUJfRVhQIGRlZmluZSB0byBnZW5lcmF0ZSBjb21waWxlLXRpbWUgY29kZSB0aGF0Ci1hZGRzIHRoZSBhcmNobGliZXhwIHBhdGggdG8gQElOQyBkdXJpbmcgcnVuLXRpbWUgaW5pdGlhbGl6YXRpb24gb2YgYQotbmV3IHBlcmwgaW50ZXJwcmV0ZXIuCi0gICAgCi1CZWNhdXNlIHdlJ3ZlIGNoYW5nZWQgdGhpcyB2YWx1ZSBpbiBhIHRlbXBvcmFyeSB3YXkgdG8gbWFrZSBpdAotcG9zc2libGUgdG8gdXNlIEV4dFV0aWxzOjpFbWJlZCBpbiB0aGUgdGFyZ2V0IGJ1aWxkICh0aGUgdGVtcG9yYXJ5Ci12YWx1ZSBpbiBjb25maWcuc2ggZ2V0cyByZS1zdHJpcHBlZCBvdXQgZHVyaW5nIHBhY2thZ2luZyksIHRoZQotQVJDSExJQl9FWFAgdmFsdWUgdGhhdCBnZXRzIGdlbmVyYXRlZCBzdGlsbCB1c2VzIHRoZSB0ZW1wb3JhcnkgdmVyc2lvbgotaW5zdGVhZCBvZiB0aGUgb3JpZ2luYWwgZXhwZWN0ZWQgdmVyc2lvbiAoaS5lLiBiZWNhdXNlcyBpdCdzIGluIHRoZQotZ2VuZXJhdGVkIGNvbmZpZy5oLCBpdCBkb2Vzbid0IGdldCBzdHJpcHBlZCBvdXQgZHVyaW5nIHBhY2thZ2luZyBsaWtlCi10aGUgb3RoZXJzIGluIGNvbmZpZy5zaCkuCi0KLVRoaXMgY3JlYXRlcyBhbiB1bm1vZGlmaWVkIHZlcnNpb24gY2FsbGVkIGFyY2hsaWJfZXhwIHRoYXQgZ2V0cyB1c2VkCi1ieSBhIG1vZGlmaWVkIGNvbmZpZ19oLlNIIHRvIGdldCB0aGUgY29ycmVjdCB2YWx1ZSBpbnRvIGNvbmZpZy5oCi0gICAgCi1UaGlzIHBhdGNoIHVzZXMgYW4gdW5tb2RpZmllZCB2ZXJzaW9uIG9mIGFyY2hsaWJleHAgY2FsbGVkCi1hcmNobGliX2V4cCwgaW50cm9kdWNlZCB0byBjb25maWcuc2gsIHdoaWNoIGlzIHVzZWQgdG8gZ2VuZXJhdGUgdGhlCi1jb3JyZWN0IHZhbHVlIG9mIEFSQ0hMSUJfRVhQIGludG8gY29uZmlnLmgKLSAgCi1TZWUgWU9DVE8gIzMwOTkgZm9yIG1vcmUgaW5mby4KLQotVXBzdHJlYW0tU3RhdHVzOkluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBUb20gWmFudXNzaSA8dG9tLnphbnVzc2lAaW50ZWwuY29tPgotCi1JbmRleDogcGVybC01LjI0LjEvY29uZmlnX2guU0gKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwZXJsLTUuMjQuMS5vcmlnL2NvbmZpZ19oLlNICi0rKysgcGVybC01LjI0LjEvY29uZmlnX2guU0gKLUBAIC0xNDM0LDcgKzE0MzQsNyBAQCBzZWQgPDwhR1JPSyFUSElTISA+JENPTkZJR19IIC1lICdzIV4jdW5kCi0gICoJaW4gcHJvZ3JhbXMgdGhhdCBhcmUgbm90IHByZXBhcmVkIHRvIGRlYWwgd2l0aCB+IGV4cGFuc2lvbiBhdCBydW4tdGltZS4KLSAgKi8KLSAjJGRfYXJjaGxpYiBBUkNITElCICIkYXJjaGxpYiIJCS8qKi8KLS0jJGRfYXJjaGxpYiBBUkNITElCX0VYUCAiJGFyY2hsaWJleHAiCQkvKiovCi0rIyRkX2FyY2hsaWIgQVJDSExJQl9FWFAgIiRhcmNobGliX2V4cCIJCS8qKi8KLSAKLSAvKiBCSU46Ci0gICoJVGhpcyBzeW1ib2wgaG9sZHMgdGhlIHBhdGggb2YgdGhlIGJpbiBkaXJlY3Rvcnkgd2hlcmUgdGhlIHBhY2thZ2Ugd2lsbApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3BlcmwtY29uZmlncG0tc3dpdGNoLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3BlcmwtY29uZmlncG0tc3dpdGNoLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNmNjMTVjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9wZXJsLWNvbmZpZ3BtLXN3aXRjaC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czpJbmFwcHJvcHJpYXRlIFtuYXRpdmVdCi0KLVRoaXMgcGF0Y2ggaXMgdXNlZCBmb3IgcGVybC1uYXRpdmUgb25seS4gSXQgZW5hYmxlcyB0aGUgc3dpdGNoaW5nIG9mCi1jb25maWd1cmF0aW9uIGZpbGVzIGJldHdlZW4gQ29uZmlnX2hlYXZ5LnBsIGFuZAotQ29uZmlnX2hlYXZ5LXRhcmdldC5wbCBieSBzZXR0aW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMKLVBFUkxDT05GSUdUQVJHRVQgLSB0aGUgbGF0ZXIgY29udGFpbmluZyBzZXR0aW5ncyBmb3IgdGhlIHRhcmdldCB3aGlsZQotdGhlIGZvcm1lciBjb250YWlucyB0aG9zZSBmb3IgdGhlIGhvc3QuIFRoaXMgd2lsbCBhbGxvdyBjcGFuLmJiY2xhc3MKLXRvIHVzZSB0aGUgc2V0dGluZ3MgYXBwcm9wcmlhdGUgZm9yIHRoZSBuYXRpdmUgYW5kL29yIHRhcmdldCBidWlsZHMKLWFzIHJlcXVpcmVkLiBUaGlzIGFsc28gZGlzYWJsZXMgdGhlIHVzZSBvZiB0aGUgY2FjaGUgc2luY2UgdGhlIGNhY2hlZAotdmFsdWVzIHdvdWxkIGJlIHZhbGlkIGZvciB0aGUgaG9zdCBvbmx5LgotCi1JbmRleDogcGVybC01LjE0LjIvY29uZmlncG0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwZXJsLTUuMTQuMi5vcmlnL2NvbmZpZ3BtCi0rKysgcGVybC01LjE0LjIvY29uZmlncG0KLUBAIC02NTgsNyArNjU4LDcgQEAgc3ViIEZFVENIIHsKLSAgICAgbXkoJHNlbGYsICRrZXkpID0gQF87Ci0gCi0gICAgICMgY2hlY2sgZm9yIGNhY2hlZCB2YWx1ZSAod2hpY2ggbWF5IGJlIHVuZGVmIHNvIHdlIHVzZSBleGlzdHMgbm90IGRlZmluZWQpCi0tICAgIHJldHVybiBleGlzdHMgJHNlbGYtPnska2V5fSA/ICRzZWxmLT57JGtleX0gOiAkc2VsZi0+ZmV0Y2hfc3RyaW5nKCRrZXkpOwotKyAgICByZXR1cm4gJHNlbGYtPmZldGNoX3N0cmluZygka2V5KTsKLSB9Ci0gCi0gRU5ET0ZFTkQKLUBAIC04MTYsNyArODE2LDIxIEBAICRjb25maWdfdHh0IC49IHNwcmludGYgPDwnRU5ET0ZUSUUnLCAkZmEKLSBzdWIgREVTVFJPWSB7IH0KLSAKLSBzdWIgQVVUT0xPQUQgewotLSAgICByZXF1aXJlICdDb25maWdfaGVhdnkucGwnOwotKyAgICBteSAkY2ZnZmlsZSA9ICdDb25maWdfaGVhdnkucGwnOwotKyAgICBpZiAoZGVmaW5lZCAkRU5We1BFUkxDT05GSUdUQVJHRVR9IGFuZCAkRU5We1BFUkxDT05GSUdUQVJHRVR9IGVxICJ5ZXMiKQotKyAgICB7Ci0rICAgICAgICAkY2ZnZmlsZSA9ICdDb25maWdfaGVhdnktdGFyZ2V0LnBsJzsKLSsgICAgfQotKyAgICBpZiAoZGVmaW5lZCAkRU5We1BFUkxfQVJDSExJQn0pCi0rICAgIHsKLSsgICAgICAgIHB1c2ggQElOQywgJEVOVntQRVJMX0FSQ0hMSUJ9OwotKyAgICAgICAgcmVxdWlyZSAkY2ZnZmlsZTsKLSsgICAgICAgIHBvcCBASU5DOwotKyAgICB9Ci0rICAgIGVsc2UKLSsgICAgewotKyAgICAgICAgcmVxdWlyZSAkY2ZnZmlsZTsKLSsgICAgfQotICAgICBnb3RvIFwmbGF1bmNoZXIgdW5sZXNzICRDb25maWc6OkFVVE9MT0FEID1+IC9sYXVuY2hlciQvOwotICAgICBkaWUgIiZDb25maWc6OkFVVE9MT0FEIGZhaWxlZCBvbiAkQ29uZmlnOjpBVVRPTE9BRCI7Ci0gfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3BlcmwtY29uZmlndXJlLnNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3BlcmwtY29uZmlndXJlLnNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAyNWU3ZjhiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9wZXJsLWNvbmZpZ3VyZS5zaAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLSMhIC9iaW4vc2gKLQotIwotIyBHZW5lcmF0ZSB0aGUgY29tbW9uIHBlcmwgY29uZmlndXJhdGlvbgotIyBOZWVkcyB0byBiZSBydW4gb24gYSBob3N0IHRoYXQgbWF0Y2hlcyB0aGUgYml0c2l6ZSBvZiB0aGUgdGFyZ2V0IHBsYXRmb3JtCi0jCi0KLWVjaG8gc2ggQ29uZmlndXJlIC1kZXMgXAotICAgICAgICAtRG9wdGltaXplPS1PMiBcCi0gICAgICAgIC1EbXlob3N0bmFtZT1sb2NhbGhvc3QgXAotICAgICAgICAtRHBlcmxhZG1pbj1yb290QGxvY2FsaG9zdCBcCi0gICAgICAgIC1EY2M9Z2NjIFwKLSAgICAgICAgLURjZl9ieT0nT3BlbiBFbWJlZGRlZCcgXAotICAgICAgICAtRGluc3RhbGxwcmVmaXg9QERFU1RESVJAIFwKLSAgICAgICAgLURwcmVmaXg9L3VzciBcCi0gICAgICAgIC1EdmVuZG9ycHJlZml4PS91c3IgXAotICAgICAgICAtRHNpdGVwcmVmaXg9L3VzciBcCi0gICAgICAgIC1Eb3RoZXJsaWJkaXJzPS91c3IvbGliL3Blcmw1LzUuMjIuMSBcCi0gICAgICAgIC1EdXNlc2hycGxpYiBcCi0gICAgICAgIC1EdXNldGhyZWFkcyBcCi0gICAgICAgIC1EdXNlaXRocmVhZHMgXAotICAgICAgICAtRHVzZWxhcmdlZmlsZXMgXAotICAgICAgICAtVWRfZG9zdWlkIFwKLSAgICAgICAgLURkX3NlbWN0bF9zZW11biBcCi0gICAgICAgIC1VaV9kYiBcCi0gICAgICAgIC1VaV9uZGJtIFwKLSAgICAgICAgLVVpX2dkYm0gXAotICAgICAgICAtRGlfc2hhZG93IFwKLSAgICAgICAgLURpX3N5c2xvZyBcCi0gICAgICAgIC1EbWFuM2V4dD0zcG0gXAotICAgICAgICAtRHVzZXBlcmxpbyBcCi0gICAgICAgIC1EaW5zdGFsbHVzcmJpbnBlcmwgXAotICAgICAgICAtVWJpbmNvbXBhdDUwMDUgXAotICAgICAgICAtVXZlcnNpb25vbmx5IFwKLSAgICAgICAgLURwYWdlcj0nL3Vzci9iaW4vbGVzcyAtaXNyJwotCi1jcCAtZiBjb25maWcuc2ggY29uZmlnLnNoLkNPTU1PTgotCi1UQVJHRVRPUz0kKGdyZXAgbXlhcmNobmFtZSBjb25maWcuc2guQ09NTU9OIHwgc2VkICJzIy4qJ1woLipcKScuKiNcMSMiKQotCi1zZWQgLXIgLWkgY29uZmlnLnNoLkNPTU1PTiBcCi0JLWUgInMjKGluc3RhbGwuKj0nKSgvdXNyKS9sb2NhbCguKicpI1wxQERFU1RESVJAXDJcMyNnIiBcCi0JLWUgJ3MjJyRUQVJHRVRPUycjQEFSQ0hAI2cnCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcGVybC1keW5sb2FkZXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcGVybC1keW5sb2FkZXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1NzIwNjcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3BlcmwtZHlubG9hZGVyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOkluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQotCi1BbGxvdyB0aGUgbG9jYXRpb24gdGhhdCAuc28gZmlsZXMgYXJlIHNlYXJjaGVkIGZvciBmb3IgZHluYW1pYwotbG9hZGluZyB0byBiZSBjaGFuZ2VkIHZpYSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZS4gVGhpcyBpcyB0byBhbGxvdwotdXMgdG8gbG9hZCAuc28ncyBmcm9tIHRoZSBob3N0IHN5c3RlbSB3aGlsZSBidWlsZGluZyBmb3IgdGhlIHRhcmdldAotc3lzdGVtLgotCi1VcGRhdGUgYnkgTml0aW4gQSBLYW1ibGUgPG5pdGluLmEua2FtYmxlQGludGVsLmNvbT4gMjAxMS8wNC8yMQotCi1JbmRleDogcGVybC01LjI0LjEvZGlzdC9YU0xvYWRlci9YU0xvYWRlcl9wbS5QTAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHBlcmwtNS4yNC4xLm9yaWcvZGlzdC9YU0xvYWRlci9YU0xvYWRlcl9wbS5QTAotKysrIHBlcmwtNS4yNC4xL2Rpc3QvWFNMb2FkZXIvWFNMb2FkZXJfcG0uUEwKLUBAIC01Miw2ICs1MiwyMCBAQCBzdWIgbG9hZCB7Ci0gICAgIG15ICgkY2FsbGVyLCAkbW9kbGlibmFtZSkgPSBjYWxsZXIoKTsKLSAgICAgbXkgJG1vZHVsZSA9ICRjYWxsZXI7Ci0gCi0rICAgICMgT0U6IEFsbG93IGVudiB0byBmb3JtIGR5bmFtaWMgbG9hZGVyIHRvIGxvb2sgaW4gYSBkaWZmZXJlbnQgcGxhY2UKLSsgICAgIyBUaGlzIGlzIHNvIGl0IGZpbmRzIHRoZSBob3N0IC5zbyBmaWxlcywgbm90IHRoZSB0YXJnZXRzCi0rICAgIGlmIChkZWZpbmVkICRFTlZ7UEVSTEhPU1RMSUJ9KQotKyAgICB7Ci0rICAgICAgICBteSAkaG9zdGxpYiA9ICRFTlZ7UEVSTEhPU1RMSUJ9OwotKyAgICAgICAgcHJpbnQgU1RERVJSICIqKiogTW9kdWxlIG5hbWUgSU46ICRtb2RsaWJuYW1lXG4iOwotKyAgICAgICAgKCRwMSwgJHAyLCAkcDMsICRwNCwgJHA1KSA9ICRtb2RsaWJuYW1lID1+IG0vKF4oLipsaWJcdypcLyk/KSgocGVybFwvWzAtOVwuXSpcLyk/KSguKikkLzsKLSsgICAgICAgIHByaW50IFNUREVSUiAiKioqIHAxOiAkcDEgIHAzOiAkcDMgIHA1OiAkcDVcbiI7Ci0rICAgICAgICBpZiAoICRwMSBuZSAiIiApIHsKLSsgICAgICAgICAgICAkbW9kbGlibmFtZSA9ICRob3N0bGliLiRwNTsKLSsgICAgICAgIH0KLSsgICAgICAgIHByaW50IFNUREVSUiAiKioqIE1vZHVsZSBuYW1lIE9VVDogJG1vZGxpYm5hbWVcbiI7Ci0rICAgIH0KLSsKLSAgICAgaWYgKEBfKSB7Ci0gICAgICAgICAkbW9kdWxlID0gJF9bMF07Ci0gICAgIH0gZWxzZSB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcGVybC1lcnJuby1nZW5lcmF0aW9uLWdjYzUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcGVybC1lcnJuby1nZW5lcmF0aW9uLWdjYzUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDczNzlkOGIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3BlcmwtZXJybm8tZ2VuZXJhdGlvbi1nY2M1LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOkluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQotCi1UaGUgdXBzdHJlYW0gY29kZSBhc3N1bWVzIHRoYXQgdGhlIGNvbXBpbGVyIHZlcnNpb24gdXNlZCB0byBjb21waWxlciBtaW5pcGVybC9wZXJsLW5hdGl2ZQotaXMgdGhlIHNhbWUgYXMgdGhlIG9uZSBiZWluZyB1c2VkIHRvIGJ1aWxkIHRoZSBwZXJsIGJpbmFyeS4gU2luY2UgbW9zdCBwZW9wbGUgYXJlIG5vdCBydW5uaW5nCi1zeXN0ZW1zIHdpdGggZ2NjIDUsIGl0IGlzIHVubGlrZWx5IHRoYXQgaXQgd2lsbCB3b3JrIG9uIGFueSBzdXBwb3J0ZWQgaG9zdC4gU3dpdGNoIG91dCBnY2N2ZXJzaW9uCi1mb3IgdGhlIHZlcnNpb24gZXh0cmFjdGVkIGZyb20gJENDIC0tdmVyc2lvbi4KLQotSmVyZW15IFB1aGxtYW4gPGpwdWhsbWFuQG12aXN0YS5jb20+Ci0KLUZpeCBzcGFjZXMgaW4gYnJhY2tldHMgd2hpbGUgcnVubmluZyAkQ0MgLS12ZXJzaW9uCi1TaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBleHQvRXJybm8vRXJybm9fcG0uUEwgfCA2ICsrKysrLQotIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2V4dC9FcnJuby9FcnJub19wbS5QTCBiL2V4dC9FcnJuby9FcnJub19wbS5QTAotaW5kZXggMWZkMjlkMC4uNzk3NmVhMiAxMDA2NDQKLS0tLSBhL2V4dC9FcnJuby9FcnJub19wbS5QTAotKysrIGIvZXh0L0Vycm5vL0Vycm5vX3BtLlBMCi1AQCAtMjI0LDkgKzIyNCwxMyBAQCBzdWIgd3JpdGVfZXJybm9fcG0gewotIAotICAgICB7CSMgQmVPUyAoc3VwcG9ydCBub3cgcmVtb3ZlZCkgZGlkIG5vdCBlbnRlciB0aGlzIGJsb2NrCi0gICAgICMgaW52b2tlIENQUCBhbmQgcmVhZCB0aGUgb3V0cHV0Ci0rICAgICAgICBteSAkY29tcGlsZXIgPSAkRU5WeydDQyd9OwotKyAgICAgICAgbXkgJGNvbXBpbGVyX291dCA9IGAkY29tcGlsZXIgLS12ZXJzaW9uYDsKLSsgICAgICAgICRjb21waWxlcl9vdXQgPX4gcy9cKC4qXCkvOy87Ci0rICAgICAgICBteSBAY29tcGlsZXJfdmVyc2lvbiA9IHNwbGl0IC8gLywkY29tcGlsZXJfb3V0OyAKLSAKLSAJbXkgJGluaGliaXRfbGluZW1hcmtlcnMgPSAnJzsKLS0JaWYgKCRDb25maWd7Z2NjdmVyc2lvbn0gPX4gL1xBKFxkKylcLi8gYW5kICQxID49IDUpIHsKLSsJaWYgKEBjb21waWxlcl92ZXJzaW9uWzJdID1+IC9cQShcZCspXC4vIGFuZCAkMSA+PSA1KSB7Ci0gCSAgICAjIEdDQyA1LjAgaW50ZXJsZWF2ZXMgZXhwYW5kZWQgbWFjcm9zIHdpdGggbGluZSBudW1iZXJzIGJyZWFraW5nCi0gCSAgICAjIGVhY2ggbGluZSBpbnRvIG11bHRpcGxlIGxpbmVzLiBSVCMxMjM3ODQKLSAJICAgICRpbmhpYml0X2xpbmVtYXJrZXJzID0gJyAtUCc7Ci0tLSAKLTEuOS4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9wZXJsLWZpeC1jb25mbGljdC1iZXR3ZWVuLXNraXBfYWxsLWFuZC1FTkQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcGVybC1maXgtY29uZmxpY3QtYmV0d2Vlbi1za2lwX2FsbC1hbmQtRU5ELnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZTk0NmRiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9wZXJsLWZpeC1jb25mbGljdC1iZXR3ZWVuLXNraXBfYWxsLWFuZC1FTkQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxODEgKzAsMCBAQAotU29tZSBQZXJsIHRlc3RzIGZhaWwgd2hlbiBydW4gb24gYSBjcm9zcy1jb21waWxlZCB0YXJnZXQgbWFjaGluZS4gQXBwbHkKLWEgc2xpZ2h0bHkgdHdlYWtlZCB1cHN0cmVhbSBwYXRjaCB0byBmaXggdGhlIHByb2JsZW1zLiBOb3RlczoKLSAgICAxLiBhcyBvZiAyIEp1biAyMDE2LCB0aGUgb3JpZ2luYWwgcGF0Y2ggaGFzIGJlZW4gYXBwbGllZCB0byB0aGUgY3VycmVudAotICAgICAgIEVVTU0gcmVsZWFzZXMsIGJ1dCBoYXMgbm90IG1hZGUgaXQgaW50byBwZXJsIGNvcmUgeWV0LgotICAgIDIuIHdoZW4gdGhlIGJhc2UgcGVybCBwYWNrYWdlIGlzIHVwZ3JhZGVkIGluIFlvY3RvLCB0aGlzIHBhdGNoIG1heSBuZWVkCi0gICAgICAgdG8gYmUgcmVwbGFjZWQgYnkgdGhlIG9yaWdpbmFsIHVwc3RyZWFtIHZlcnNpb24gdG8gY29ycmVjdGx5IGFwcGx5Ci0gICAgICAgdG8gdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiBFeHRVdGlscy1NYWtlTWFrZXIgYXQgdGhhdCB0aW1lLgotCi1bWU9DVE8gIzg2NTZdCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotU2lnbmVkLW9mZi1ieTogQmlsbCBSYW5kbGUgPHdpbGxpYW0uYy5yYW5kbGVAaW50ZWwuY29tPgotCi1Gcm9tIDRhMDdhM2JkMTgzNjM5ODYxMTJjZjJiMzlkZWMzYzI5ODUzNTNmZmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGcmFuY29pcyBQZXJyYWQgPGZyYW5jb2lzLnBlcnJhZEBnYWR6Lm9yZz4KLURhdGU6IE1vbiwgMjIgRGVjIDIwMTQgMTk6MDQ6MzQgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gZml4IGNvbmZsaWN0IGJldHdlZW4gc2tpcF9hbGwgYW5kIEVORCBzZWN0aW9uCi0KLXNpbmNlIHRoZSBjb21taXQgNDMwZGU3ODE4MDlhNmJlM2JjZDI1YTM0OWRjNDBjZTU0NDA1YWI1MwotdGhlIHRlc3Qgc3VpdGUgZmFpbHMgaW4gY3Jvc3MtY29tcGlsIGVudmlyb25tZW50IChwZXJsLTUuMjEuNiAmIHBlcmwtNS4yMS43KQotbGlrZSB0aGlzIDoKLQotICAgICQgLi9wZXJsIGhhcm5lc3MgLXYgLi4vY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9JTlNUQUxMX0JBU0UudAotICAgIC4uL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvSU5TVEFMTF9CQVNFLnQgLi4KLSAgICAxLi4wICMgU0tJUCBjcm9zcy1jb21waWxpbmcgYW5kIG1ha2Ugbm90IGF2YWlsYWJsZQotICAgIG9rIDEgLSBjaGRpciB1cGRpcgotICAgIG9rIDIgLSB0ZWFyZG93bgotICAgICMgTG9va3MgbGlrZSB5b3UgcGxhbm5lZCAwIHRlc3RzIGJ1dCByYW4gMi4KLSAgICBza2lwcGVkOiBjcm9zcy1jb21waWxpbmcgYW5kIG1ha2Ugbm90IGF2YWlsYWJsZQotCi10aGlzIGNvbW1pdCByZXN0b3JlcyB0aGUgaW1wbGljaXQgY2FsbCBvZiBwbGFuKCkgYXQgaW1wb3J0IHRpbWUgb2YgVGVzdDo6TW9yZQotCi1TaWduZWQtb2ZmLWJ5OiBGcmFuY29pcyBQZXJyYWQgPGZyYW5jb2lzLnBlcnJhZEBnYWR6Lm9yZz4KLS0tLQotIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvSU5TVEFMTF9CQVNFLnQgICAgIHwgNyArKysrLS0tCi0gY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9QTF9GSUxFUy50ICAgICAgICAgfCA0ICsrLS0KLSBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L2Jhc2ljLnQgICAgICAgICAgICB8IDQgKystLQotIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvZWNoby50ICAgICAgICAgICAgIHwgNiArKystLS0KLSBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L21pbl9wZXJsX3ZlcnNpb24udCB8IDQgKystLQotIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvcG1fdG9fYmxpYi50ICAgICAgIHwgNCArKy0tCi0gY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9yZWN1cnMudCAgICAgICAgICAgfCA0ICsrLS0KLSBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L3NldmVyYWxfYXV0aG9ycy50ICB8IDQgKystLQotIDggZmlsZXMgY2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L0lOU1RBTExfQkFTRS50IGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9JTlNUQUxMX0JBU0UudAotaW5kZXggZjI3YjYyYy4uM2JiYjNhNiAxMDA2NDQKLS0tLSBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvSU5TVEFMTF9CQVNFLnQKLSsrKyBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvSU5TVEFMTF9CQVNFLnQKLUBAIC0xNSwxMiArMTUsMTMgQEAgJENMRUFOVVAgJiY9IDE7ICMgc28gYWx3YXlzIDEgb3IgbnVtZXJpY2FsbHkgMAotIAotIHVzZSBNYWtlTWFrZXI6OlRlc3Q6OlV0aWxzOwotIHVzZSBNYWtlTWFrZXI6OlRlc3Q6OlNldHVwOjpCRkQ7Ci0tdXNlIFRlc3Q6Ok1vcmU7Ci0gdXNlIENvbmZpZzsKLSB1c2UgRXh0VXRpbHM6Ok1NOwotLXBsYW4gIU1NLT5jYW5fcnVuKG1ha2UoKSkgJiYgJEVOVntQRVJMX0NPUkV9ICYmICRDb25maWd7J3VzZWNyb3NzY29tcGlsZSd9Ci0rdXNlIFRlc3Q6Ok1vcmUKLSsgICAgIU1NLT5jYW5fcnVuKG1ha2UoKSkgJiYgJEVOVntQRVJMX0NPUkV9ICYmICRDb25maWd7J3VzZWNyb3NzY29tcGlsZSd9Ci0gICAgID8gKHNraXBfYWxsID0+ICJjcm9zcy1jb21waWxpbmcgYW5kIG1ha2Ugbm90IGF2YWlsYWJsZSIpCi0tICAgIDogKHRlc3RzID0+IDMgKyAkQ0xFQU5VUCArIEBJTlNURElSUyAqICgxNSArICRDTEVBTlVQKSk7Ci0rICAgIDogKCk7Ci0rcGxhbiB0ZXN0cyA9PiAzICsgJENMRUFOVVAgKyBASU5TVERJUlMgKiAoMTUgKyAkQ0xFQU5VUCk7Ci0gCi0gbXkgJElzX1ZNUyA9ICReTyBlcSAnVk1TJzsKLSAKLWRpZmYgLS1naXQgYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L1BMX0ZJTEVTLnQgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L1BMX0ZJTEVTLnQKLWluZGV4IDA3NzlkYmIuLjg1ZDUzYTUgMTAwNjQ0Ci0tLS0gYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L1BMX0ZJTEVTLnQKLSsrKyBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvUExfRklMRVMudAotQEAgLTExLDkgKzExLDkgQEAgdXNlIEZpbGU6OlRlbXAgcXdbdGVtcGRpcl07Ci0gdXNlIE1ha2VNYWtlcjo6VGVzdDo6U2V0dXA6OlBMX0ZJTEVTOwotIHVzZSBNYWtlTWFrZXI6OlRlc3Q6OlV0aWxzOwotIHVzZSBDb25maWc7Ci0tdXNlIFRlc3Q6Ok1vcmU7Ci0gdXNlIEV4dFV0aWxzOjpNTTsKLS1wbGFuICFNTS0+Y2FuX3J1bihtYWtlKCkpICYmICRFTlZ7UEVSTF9DT1JFfSAmJiAkQ29uZmlneyd1c2Vjcm9zc2NvbXBpbGUnfQotK3VzZSBUZXN0OjpNb3JlCi0rICAgICFNTS0+Y2FuX3J1bihtYWtlKCkpICYmICRFTlZ7UEVSTF9DT1JFfSAmJiAkQ29uZmlneyd1c2Vjcm9zc2NvbXBpbGUnfQotICAgICA/IChza2lwX2FsbCA9PiAiY3Jvc3MtY29tcGlsaW5nIGFuZCBtYWtlIG5vdCBhdmFpbGFibGUiKQotICAgICA6ICh0ZXN0cyA9PiA5KTsKLSAKLWRpZmYgLS1naXQgYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L2Jhc2ljLnQgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L2Jhc2ljLnQKLWluZGV4IDNkZDY2YWQuLmVkZGYyZTkgMTAwNjQ0Ci0tLS0gYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L2Jhc2ljLnQKLSsrKyBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvYmFzaWMudAotQEAgLTIwLDkgKzIwLDkgQEAgdXNlIHV0Zjg7Ci0gdXNlIE1ha2VNYWtlcjo6VGVzdDo6VXRpbHM7Ci0gdXNlIE1ha2VNYWtlcjo6VGVzdDo6U2V0dXA6OkJGRDsKLSB1c2UgQ29uZmlnOwotLXVzZSBUZXN0OjpNb3JlOwotIHVzZSBFeHRVdGlsczo6TU07Ci0tcGxhbiAhTU0tPmNhbl9ydW4obWFrZSgpKSAmJiAkRU5We1BFUkxfQ09SRX0gJiYgJENvbmZpZ3sndXNlY3Jvc3Njb21waWxlJ30KLSt1c2UgVGVzdDo6TW9yZQotKyAgICAhTU0tPmNhbl9ydW4obWFrZSgpKSAmJiAkRU5We1BFUkxfQ09SRX0gJiYgJENvbmZpZ3sndXNlY3Jvc3Njb21waWxlJ30KLSAgICAgPyAoc2tpcF9hbGwgPT4gImNyb3NzLWNvbXBpbGluZyBhbmQgbWFrZSBub3QgYXZhaWxhYmxlIikKLSAgICAgOiAodGVzdHMgPT4gMTcxKTsKLSB1c2UgRmlsZTo6RmluZDsKLWRpZmYgLS1naXQgYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L2VjaG8udCBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvZWNoby50Ci1pbmRleCA3ODliODVmLi5jNDNiYzQ3IDEwMDY0NAotLS0tIGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9lY2hvLnQKLSsrKyBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvZWNoby50Ci1AQCAtMTQsMTEgKzE0LDExIEBAIHVzZSBNYWtlTWFrZXI6OlRlc3Q6OlV0aWxzOwotIHVzZSBGaWxlOjpUZW1wOwotIHVzZSBDd2QgJ2Fic19wYXRoJzsKLSAKLS11c2UgVGVzdDo6TW9yZTsKLSB1c2UgRXh0VXRpbHM6Ok1NOwotLXBsYW4gIU1NLT5jYW5fcnVuKG1ha2UoKSkgJiYgJEVOVntQRVJMX0NPUkV9ICYmICRDb25maWd7J3VzZWNyb3NzY29tcGlsZSd9Ci0rdXNlIFRlc3Q6Ok1vcmUKLSsgICAgIU1NLT5jYW5fcnVuKG1ha2UoKSkgJiYgJEVOVntQRVJMX0NPUkV9ICYmICRDb25maWd7J3VzZWNyb3NzY29tcGlsZSd9Ci0gICAgID8gKHNraXBfYWxsID0+ICJjcm9zcy1jb21waWxpbmcgYW5kIG1ha2Ugbm90IGF2YWlsYWJsZSIpCi0tICAgIDogKCk7Ci0rICAgIDogKHRlc3RzID0+IDE4KTsKLSAKLSAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFNldHVwCi0gCi1kaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9taW5fcGVybF92ZXJzaW9uLnQgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L21pbl9wZXJsX3ZlcnNpb24udAotaW5kZXggYzVkNzhkNi4uMmVmMTE4ZCAxMDA2NDQKLS0tLSBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvbWluX3BlcmxfdmVyc2lvbi50Ci0rKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L21pbl9wZXJsX3ZlcnNpb24udAotQEAgLTEzLDkgKzEzLDkgQEAgdXNlIFRpZU91dDsKLSB1c2UgTWFrZU1ha2VyOjpUZXN0OjpVdGlsczsKLSB1c2UgTWFrZU1ha2VyOjpUZXN0OjpTZXR1cDo6TVBWOwotIHVzZSBDb25maWc7Ci0tdXNlIFRlc3Q6Ok1vcmU7Ci0gdXNlIEV4dFV0aWxzOjpNTTsKLS1wbGFuICFNTS0+Y2FuX3J1bihtYWtlKCkpICYmICRFTlZ7UEVSTF9DT1JFfSAmJiAkQ29uZmlneyd1c2Vjcm9zc2NvbXBpbGUnfQotK3VzZSBUZXN0OjpNb3JlCi0rICAgICFNTS0+Y2FuX3J1bihtYWtlKCkpICYmICRFTlZ7UEVSTF9DT1JFfSAmJiAkQ29uZmlneyd1c2Vjcm9zc2NvbXBpbGUnfQotICAgICA/IChza2lwX2FsbCA9PiAiY3Jvc3MtY29tcGlsaW5nIGFuZCBtYWtlIG5vdCBhdmFpbGFibGUiKQotICAgICA6ICh0ZXN0cyA9PiAzNik7Ci0gdXNlIEZpbGU6OlBhdGg7Ci1kaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9wbV90b19ibGliLnQgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L3BtX3RvX2JsaWIudAotaW5kZXggZjFlMzQ4ZS4uZWJmYTI2YyAxMDA2NDQKLS0tLSBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvcG1fdG9fYmxpYi50Ci0rKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L3BtX3RvX2JsaWIudAotQEAgLTEyLDkgKzEyLDkgQEAgdXNlIEV4dFV0aWxzOjpNYWtlTWFrZXI7Ci0gdXNlIE1ha2VNYWtlcjo6VGVzdDo6VXRpbHM7Ci0gdXNlIE1ha2VNYWtlcjo6VGVzdDo6U2V0dXA6OkJGRDsKLSB1c2UgQ29uZmlnOwotLXVzZSBUZXN0OjpNb3JlOwotIHVzZSBFeHRVdGlsczo6TU07Ci0tcGxhbiAhTU0tPmNhbl9ydW4obWFrZSgpKSAmJiAkRU5We1BFUkxfQ09SRX0gJiYgJENvbmZpZ3sndXNlY3Jvc3Njb21waWxlJ30KLSt1c2UgVGVzdDo6TW9yZQotKyAgICAhTU0tPmNhbl9ydW4obWFrZSgpKSAmJiAkRU5We1BFUkxfQ09SRX0gJiYgJENvbmZpZ3sndXNlY3Jvc3Njb21waWxlJ30KLSAgICAgPyAoc2tpcF9hbGwgPT4gImNyb3NzLWNvbXBpbGluZyBhbmQgbWFrZSBub3QgYXZhaWxhYmxlIikKLSAgICAgOiAnbm9fcGxhbic7Ci0gCi1kaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9yZWN1cnMudCBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvcmVjdXJzLnQKLWluZGV4IDg0YzA5YTIuLjY2MWUwZGIgMTAwNjQ0Ci0tLS0gYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L3JlY3Vycy50Ci0rKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L3JlY3Vycy50Ci1AQCAtMTQsOSArMTQsOSBAQCB1c2UgRmlsZTo6VGVtcCBxd1t0ZW1wZGlyXTsKLSB1c2UgTWFrZU1ha2VyOjpUZXN0OjpVdGlsczsKLSB1c2UgTWFrZU1ha2VyOjpUZXN0OjpTZXR1cDo6UmVjdXJzOwotIHVzZSBDb25maWc7Ci0tdXNlIFRlc3Q6Ok1vcmU7Ci0gdXNlIEV4dFV0aWxzOjpNTTsKLS1wbGFuICFNTS0+Y2FuX3J1bihtYWtlKCkpICYmICRFTlZ7UEVSTF9DT1JFfSAmJiAkQ29uZmlneyd1c2Vjcm9zc2NvbXBpbGUnfQotK3VzZSBUZXN0OjpNb3JlCi0rICAgICFNTS0+Y2FuX3J1bihtYWtlKCkpICYmICRFTlZ7UEVSTF9DT1JFfSAmJiAkQ29uZmlneyd1c2Vjcm9zc2NvbXBpbGUnfQotICAgICA/IChza2lwX2FsbCA9PiAiY3Jvc3MtY29tcGlsaW5nIGFuZCBtYWtlIG5vdCBhdmFpbGFibGUiKQotICAgICA6ICh0ZXN0cyA9PiAyNik7Ci0gCi1kaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9zZXZlcmFsX2F1dGhvcnMudCBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3Qvc2V2ZXJhbF9hdXRob3JzLnQKLWluZGV4IDFhNzVhM2UuLjg2OWU5ZjAgMTAwNjQ0Ci0tLS0gYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L3NldmVyYWxfYXV0aG9ycy50Ci0rKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L3NldmVyYWxfYXV0aG9ycy50Ci1AQCAtMTMsOSArMTMsOSBAQCB1c2UgVGllT3V0OwotIHVzZSBNYWtlTWFrZXI6OlRlc3Q6OlV0aWxzOwotIHVzZSBNYWtlTWFrZXI6OlRlc3Q6OlNldHVwOjpTQVM7Ci0gdXNlIENvbmZpZzsKLS11c2UgVGVzdDo6TW9yZTsKLSB1c2UgRXh0VXRpbHM6Ok1NOwotLXBsYW4gIU1NLT5jYW5fcnVuKG1ha2UoKSkgJiYgJEVOVntQRVJMX0NPUkV9ICYmICRDb25maWd7J3VzZWNyb3NzY29tcGlsZSd9Ci0rdXNlIFRlc3Q6Ok1vcmUKLSsgICAgIU1NLT5jYW5fcnVuKG1ha2UoKSkgJiYgJEVOVntQRVJMX0NPUkV9ICYmICRDb25maWd7J3VzZWNyb3NzY29tcGlsZSd9Ci0gICAgID8gKHNraXBfYWxsID0+ICJjcm9zcy1jb21waWxpbmcgYW5kIG1ha2Ugbm90IGF2YWlsYWJsZSIpCi0gICAgIDogKHRlc3RzID0+IDIwKTsKLSB1c2UgRmlsZTo6UGF0aDsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9wZXJsLW1vcmVjb25maWcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcGVybC1tb3JlY29uZmlnLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1OWNlODVhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9wZXJsLW1vcmVjb25maWcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1VcHN0cmVhbS1TdGF0dXM6SW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0KLVdlIG5lZWQgbGQgaW4gdGhlIGZha2UgY29uZmlnIGxpYnJhcnksIGJ1dCBpdCdzIG5vdCBpbmNsdWRlZCBieSBkZWZhdWx0LiBTbwotZXhwYW5kIHRoZSBudW1iZXIgb2YgaXRlbXMgaW5jbHVkZWQuIFdoaWxlIHRoaXMgd29ya3MgaXQgaW5kaWNhdGVzIHRoYXQgdGhlCi1yZXN0IG9mIHRoZSBjb25maWcgaXRlbXMgYXJlIG5vdCBiZWluZyBwaWNrZWQgdXAgYW5kL29yIGFyZSBiZWluZyBwaWNrZWQgdXAKLWZyb20gdGhlIGhvc3QuIE1vcmUgaW52ZXN0aWdhdGlvbiBuZWVkZWQuCi0KLS0tLSBwZXJsLTUuOC44L2NvbmZpZ3BtCTIwMDcvMDQvMjAgMDk6NDg6MDUJMS4xCi0rKysgcGVybC01LjguOC9jb25maWdwbQkyMDA3LzA0LzIwIDA5OjU3OjEyCi1AQCAtMiw3ICsyLDcgQEAKLSB1c2Ugc3RyaWN0OwotIHVzZSB2YXJzIHF3KCVDb25maWcgJENvbmZpZ19TSF9leHBhbmRlZCk7Ci0gCi0tbXkgJGhvd19tYW55X2NvbW1vbiA9IDIyOwotK215ICRob3dfbWFueV9jb21tb24gPSA1MDsKLSAKLSAjIGNvbW1vbmx5IHVzZWQgbmFtZXMgdG8gcHJlY2FjaGUgKGFuZCBoZW5jZSBsb29rdXAgZmFzdGVzdCkKLSBteSAlQ29tbW9uOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3QtcnVuLXN3aXRjaGVzLnQtcGVybDUtcGVybC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC90LXJ1bi1zd2l0Y2hlcy50LXBlcmw1LXBlcmwucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAzZmRmNGEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3QtcnVuLXN3aXRjaGVzLnQtcGVybDUtcGVybC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLUZyb20gMTU2MTU0OWVhMzZlMzdjYzI1NzA2ZjA5NGExOTVkZTQ5MjhmNDIxMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotRGF0ZTogRnJpLCAxOSBKdW4gMjAxNSAwMToyMzo0NiAtMDcwMAotU3ViamVjdDogW1BBVENIXSB0L3J1bi9zd2l0Y2hlcy50OiBwZXJsNSAtPiBwZXJsCi0KLVdlIGNhbGwgaXQgcGVybCByYXRoZXIgdGhhbiBwZXJsNSBpbiBvZS4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZSBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci0tLS0KLSB0L3J1bi9zd2l0Y2hlcy50IHwgICAgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvdC9ydW4vc3dpdGNoZXMudCBiL3QvcnVuL3N3aXRjaGVzLnQKLWluZGV4IDc4OTE1ZTAuLmU5ZTRiNDUgMTAwNjQ0Ci0tLS0gYS90L3J1bi9zd2l0Y2hlcy50Ci0rKysgYi90L3J1bi9zd2l0Y2hlcy50Ci1AQCAtMjY5LDcgKzI2OSw3IEBAIGlzIHJ1bnBlcmwoc3RkZXJyID0+IDEsIHByb2cgPT4gJyMhcGVybCAtTScpLAotICAgICAgICAgICAnLVYgZ2VuZXJhdGVzIDIwKyBsaW5lcycgKTsKLSAKLSAgICAgbGlrZSggcnVucGVybCggc3dpdGNoZXMgPT4gWyctViddICksCi0tCSAgcXIvXEFTdW1tYXJ5IG9mIG15IHBlcmw1IC4qY29uZmlndXJhdGlvbjovLAotKwkgIHFyL1xBU3VtbWFyeSBvZiBteSBwZXJsIC4qY29uZmlndXJhdGlvbjovLAotICAgICAgICAgICAnLVYgbG9va3Mgb2theScgKTsKLSAKLSAgICAgIyBsb29rdXAgYSBrbm93biBjb25maWcgdmFyCi0tLSAKLTEuNy45LjUKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3Rlc3QvZGlzdC10aHJlYWRzLXQtam9pbi50LWFkanVzdC1wcy1vcHRpb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvdGVzdC9kaXN0LXRocmVhZHMtdC1qb2luLnQtYWRqdXN0LXBzLW9wdGlvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzgyOTNjMy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvdGVzdC9kaXN0LXRocmVhZHMtdC1qb2luLnQtYWRqdXN0LXBzLW9wdGlvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLWRpc3QvdGhyZWFkcy90L2pvaW4udDogYWRqdXN0IHBzIG9wdGlvbgotCi1UaGUgcHMncyBvcHRpb24gJy1mJyBpcyBub3Qgc3VwcG9ydGVkIGJ5IGJ1c3lib3ggaW4gb2UuCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gZGlzdC90aHJlYWRzL3Qvam9pbi50IHwgNiArKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZGlzdC90aHJlYWRzL3Qvam9pbi50IGIvZGlzdC90aHJlYWRzL3Qvam9pbi50Ci0tLS0gYS9kaXN0L3RocmVhZHMvdC9qb2luLnQKLSsrKyBiL2Rpc3QvdGhyZWFkcy90L2pvaW4udAotQEAgLTExOCw3ICsxMTgsNyBAQCBpZiAoJF5PIGVxICdsaW51eCcpIHsKLSAgICAgICAgICAgICAgICAgIH0pLT5qb2luOwotICAgICAjcHJpbnQgIiMgbWFpbnRocmVhZDogXCQwID0gJDBcbiI7Ci0gICAgICNwcmludCAiIyBwaWQgPSAkJFxuIjsKLS0gICAgaWYgKG9wZW4gUFMsICJwcyAtZiB8IikgeyAjIE5vdGU6IG11c3Qgd29yayBpbiAoYWxsKSBzeXN0ZW1zLgotKyAgICBpZiAob3BlbiBQUywgInBzIHwiKSB7ICMgTm90ZTogbXVzdCB3b3JrIGluIChhbGwpIHN5c3RlbXMuCi0gICAgICAgICBteSAoJHNhd3BpZCwgJHNhd2V4ZSk7Ci0gICAgICAgICB3aGlsZSAoPFBTPikgewotICAgICAgICAgICAgIGNob21wOwotQEAgLTEzNSwxMCArMTM1LDEwIEBAIGlmICgkXk8gZXEgJ2xpbnV4JykgewotICAgICAgICAgaWYgKCRzYXdwaWQpIHsKLSAgICAgICAgICAgICBvaygkc2F3cGlkICYmICRzYXdleGUsICdhbHRlcmluZyAkMCBpcyBlZmZlY3RpdmUnKTsKLSAgICAgICAgIH0gZWxzZSB7Ci0tICAgICAgICAgICAgc2tpcCgiXCQwIGNoZWNrOiBkaWQgbm90IHNlZSBwaWQgJCQgaW4gJ3BzIC1mIHwnIik7Ci0rICAgICAgICAgICAgc2tpcCgiXCQwIGNoZWNrOiBkaWQgbm90IHNlZSBwaWQgJCQgaW4gJ3BzIHwnIik7Ci0gICAgICAgICB9Ci0gICAgIH0gZWxzZSB7Ci0tICAgICAgICBza2lwKCJcJDAgY2hlY2s6IG9wZW5pbmcgJ3BzIC1mIHwnIGZhaWxlZDogJCEiKTsKLSsgICAgICAgIHNraXAoIlwkMCBjaGVjazogb3BlbmluZyAncHMgfCcgZmFpbGVkOiAkISIpOwotICAgICB9Ci0gfSBlbHNlIHsKLSAgICAgc2tpcCgiXCQwIGNoZWNrOiBvbmx5IG9uIExpbnV4Iik7Ci0tLSAKLTEuOC4xLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3Rlc3QvZXh0LUR5bmFMb2FkZXItdC1EeW5hTG9hZGVyLnQtZml4LWNhbGxpbmctZGxfZmluZGZpbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC90ZXN0L2V4dC1EeW5hTG9hZGVyLXQtRHluYUxvYWRlci50LWZpeC1jYWxsaW5nLWRsX2ZpbmRmaWwucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNlNTc3ZmUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3Rlc3QvZXh0LUR5bmFMb2FkZXItdC1EeW5hTG9hZGVyLnQtZml4LWNhbGxpbmctZGxfZmluZGZpbC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLWV4dC9EeW5hTG9hZGVyL3QvRHluYUxvYWRlci50OiBmaXggY2FsbGluZyBkbF9maW5kZmlsZSgpIGZhaWxlZAotCi1Vc2UgJyRDb25maWd7bGliY30nIGFzIHRoZSBsaWJjIGZpbGUgbmFtZQotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUKLVNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLS0tLQotIGV4dC9EeW5hTG9hZGVyL3QvRHluYUxvYWRlci50IHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvZXh0L0R5bmFMb2FkZXIvdC9EeW5hTG9hZGVyLnQgYi9leHQvRHluYUxvYWRlci90L0R5bmFMb2FkZXIudAotaW5kZXggYWRlMWY4ZS4uMzU2N2FmZSAxMDA2NDQKLS0tLSBhL2V4dC9EeW5hTG9hZGVyL3QvRHluYUxvYWRlci50Ci0rKysgYi9leHQvRHluYUxvYWRlci90L0R5bmFMb2FkZXIudAotQEAgLTEwNiw3ICsxMDYsNyBAQCBvayggZGVmaW5lZCAkZGxlcnIsICJkbF9lcnJvcigpIHJldHVybmluZyBhbiBlcnJvciBtZXNzYWdlOiAnJGRsZXJyJyIgKTsKLSAjIC4uLiBkbF9maW5kZmlsZSgpCi0gU0tJUDogewotICAgICBteSBAZmlsZXMgPSAoKTsKLS0gICAgZXZhbCB7IEBmaWxlcyA9IER5bmFMb2FkZXI6OmRsX2ZpbmRmaWxlKCJjIikgfTsKLSsgICAgZXZhbCB7IEBmaWxlcyA9IER5bmFMb2FkZXI6OmRsX2ZpbmRmaWxlKCRDb25maWd7bGliY30pIH07Ci0gICAgIGlzKCAkQCwgJycsICJjYWxsaW5nIGRsX2ZpbmRmaWxlKCkiICk7Ci0gICAgICMgU29tZSBwbGF0Zm9ybXMgYXJlIGtub3duIHRvIG5vdCBoYXZlIGEgImxpYmMiCi0gICAgICMgKG5vdCBhdCBsZWFzdCBieSB0aGF0IG5hbWUpIHRoYXQgdGhlIGRsX2ZpbmRmaWxlKCkKLS0tIAotMS44LjEuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmxfNS4yNC40LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsXzUuMjQuNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTY0NDk3MC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmxfNS4yNC40LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzUzICswLDAgQEAKLXJlcXVpcmUgcGVybC5pbmMKLQotIyBXZSBuZWVkIGdudWdyZXAgKGZvciAtSSkKLURFUEVORFMgPSAiZGIgZ3JlcC1uYXRpdmUgZ2RibSB6bGliIHZpcnR1YWwvY3J5cHQiCi0KLSMgUGljayB1cCBwYXRjaGVzIGZyb20gZGViaWFuCi0jIGh0dHA6Ly9mdHAuZGUuZGViaWFuLm9yZy9kZWJpYW4vcG9vbC9tYWluL3AvcGVybC9wZXJsXzUuMjIuMC0xLmRlYmlhbi50YXIueHoKLVNSQ19VUkkgKz0gIiBcCi0JZmlsZTovL2RlYmlhbi9jcGFuX2RlZmluc3RhbGxkaXJzLmRpZmYgXAotCWZpbGU6Ly9kZWJpYW4vZGJfZmlsZV92ZXIuZGlmZiBcCi0JZmlsZTovL2RlYmlhbi9kb2NfaW5mby5kaWZmIFwKLQlmaWxlOi8vZGViaWFuL2VuYzJ4c19pbmMuZGlmZiBcCi0JZmlsZTovL2RlYmlhbi9lcnJub192ZXIuZGlmZiBcCi0JZmlsZTovL2RlYmlhbi9saWJwZXJsX2VtYmVkX2RvYy5kaWZmIFwKLQlmaWxlOi8vZGViaWFuL2ZpeGVzL3Jlc3BlY3RfdW1hc2suZGlmZiBcCi0JZmlsZTovL2RlYmlhbi93cml0YWJsZV9zaXRlX2RpcnMuZGlmZiBcCi0JZmlsZTovL2RlYmlhbi9leHR1dGlsc19zZXRfbGlicGVybF9wYXRoLmRpZmYgXAotCWZpbGU6Ly9kZWJpYW4vbm9fcGFja2xpc3RfcGVybGxvY2FsLmRpZmYgXAotCWZpbGU6Ly9kZWJpYW4vcHJlZml4X2NoYW5nZXMuZGlmZiBcCi0JZmlsZTovL2RlYmlhbi9pbnN0bW9kc2hfZG9jLmRpZmYgXAotCWZpbGU6Ly9kZWJpYW4vbGRfcnVuX3BhdGguZGlmZiBcCi0JZmlsZTovL2RlYmlhbi9saWJuZXRfY29uZmlnX3BhdGguZGlmZiBcCi0JZmlsZTovL2RlYmlhbi9tb2RfcGF0aHMuZGlmZiBcCi0JZmlsZTovL2RlYmlhbi9wcnVuZV9saWJzLmRpZmYgXAotCWZpbGU6Ly9kZWJpYW4vZml4ZXMvbmV0X3NtdHBfZG9jcy5kaWZmIFwKLQlmaWxlOi8vZGViaWFuL3BlcmxpdnAuZGlmZiBcCi0JZmlsZTovL2RlYmlhbi9zcXVlbGNoLWxvY2FsZS13YXJuaW5ncy5kaWZmIFwKLQlmaWxlOi8vZGViaWFuL3NraXAtdXBzdHJlYW0tZ2l0LXRlc3RzLmRpZmYgXAotCWZpbGU6Ly9kZWJpYW4vc2tpcC1rZnJlZWJzZC1jcmFzaC5kaWZmIFwKLQlmaWxlOi8vZGViaWFuL2ZpeGVzL2RvY3VtZW50X21ha2VtYWtlcl9jY2ZsYWdzLmRpZmYgXAotCWZpbGU6Ly9kZWJpYW4vZmluZF9odG1sMnRleHQuZGlmZiBcCi0JZmlsZTovL2RlYmlhbi9wZXJsNWRiLXgtdGVybWluYWwtZW11bGF0b3IucGF0Y2ggXAotCWZpbGU6Ly9kZWJpYW4vY3Bhbi1taXNzaW5nLXNpdGUtZGlycy5kaWZmIFwKLQlmaWxlOi8vZGViaWFuL2ZpeGVzL21lbW9pemVfc3RvcmFibGVfbnN0b3JlLmRpZmYgXAotCWZpbGU6Ly9kZWJpYW4vcmVnZW4tc2tpcC5kaWZmIFwKLSIKLQotU1JDX1VSSSArPSAiIFwKLSAgICAgICAgZmlsZTovL01ha2VmaWxlLnBhdGNoIFwKLSAgICAgICAgZmlsZTovL01ha2VmaWxlLlNILnBhdGNoIFwKLSAgICAgICAgZmlsZTovL2luc3RhbGxwZXJsLnBhdGNoIFwKLSAgICAgICAgZmlsZTovL3BlcmwtYXJjaGxpYi1leHAucGF0Y2ggXAotICAgICAgICBmaWxlOi8vcGVybC1keW5sb2FkZXIucGF0Y2ggXAotICAgICAgICBmaWxlOi8vcGVybC1tb3JlY29uZmlnLnBhdGNoIFwKLSAgICAgICAgZmlsZTovL2xldGdjYy1maW5kLWVycm5vLnBhdGNoIFwKLSAgICAgICAgZmlsZTovL2dlbmVyYXRlLXNoLnBhdGNoIFwKLSAgICAgICAgZmlsZTovL25hdGl2ZS1wZXJsaW5jLnBhdGNoIFwKLSAgICAgICAgZmlsZTovL2Nyb3NzLWdlbmVyYXRlX3V1ZG1hcC5wYXRjaCBcCi0gICAgICAgIGZpbGU6Ly9maXhfYmFkX3JwYXRoLnBhdGNoIFwKLSAgICAgICAgZmlsZTovL2R5bmFsb2FkZXJoYWNrLnBhdGNoIFwKLSAgICAgICAgZmlsZTovL2NvbmZpZy5zaCBcCi0gICAgICAgIGZpbGU6Ly9jb25maWcuc2gtMzIgXAotICAgICAgICBmaWxlOi8vY29uZmlnLnNoLTMyLWxlIFwKLSAgICAgICAgZmlsZTovL2NvbmZpZy5zaC0zMi1iZSBcCi0gICAgICAgIGZpbGU6Ly9jb25maWcuc2gtNjQgXAotICAgICAgICBmaWxlOi8vY29uZmlnLnNoLTY0LWxlIFwKLSAgICAgICAgZmlsZTovL2NvbmZpZy5zaC02NC1iZSBcCi0gICAgICAgIGZpbGU6Ly9tYWtlX2V4dC5wbC1maXgtcmVnZW5lcmF0ZS1tYWtlZmlsZS1mYWlsZWQtd2hpbGUtY2MtLnBhdGNoIFwKLSAgICAgICAgZmlsZTovL3QtcnVuLXN3aXRjaGVzLnQtcGVybDUtcGVybC5wYXRjaCBcCi0gICAgICAgIGZpbGU6Ly9leHQtT0RCTV9GaWxlLWhpbnRzLWxpbnV4LnBsLWxpbmstbGliZ2RibV9jb21wYXQucGF0Y2ggXAotICAgICAgICBmaWxlOi8vZXh0LU9EQk1fRmlsZS10LW9kYm0udC1maXgtdGhlLXBhdGgtb2YtZGJtdF9jb21tb24ucC5wYXRjaCBcCi0gICAgICAgIGZpbGU6Ly9wZXJsLVBhdGhUb29scy1kb24tdC1maWx0ZXItb3V0LWJsaWItZnJvbS1JTkMucGF0Y2ggXAotICAgICAgICBmaWxlOi8vcGVybC1lcnJuby1nZW5lcmF0aW9uLWdjYzUucGF0Y2ggXAotICAgICAgICBmaWxlOi8vcGVybC1maXgtY29uZmxpY3QtYmV0d2Vlbi1za2lwX2FsbC1hbmQtRU5ELnBhdGNoIFwKLSAgICAgICAgZmlsZTovL3BlcmwtNS4yNi4xLWd1YXJkX29sZF9saWJjcnlwdF9maXgucGF0Y2ggXAotICAgICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTIwMTUucGF0Y2ggXAotICAgICAgICBmaWxlOi8vMDAwMS1FeHRVdGlscy1NTV9Vbml4LnBtLWZpeC1yYWNlLWlzc3Vlcy5wYXRjaCBcCi0iCi0KLSMgRml4IHRlc3QgY2FzZSBpc3N1ZXMKLVNSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgXAotICAgICAgICAgICAgZmlsZTovL3Rlc3QvZGlzdC10aHJlYWRzLXQtam9pbi50LWFkanVzdC1wcy1vcHRpb24ucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL3Rlc3QvZXh0LUR5bmFMb2FkZXItdC1EeW5hTG9hZGVyLnQtZml4LWNhbGxpbmctZGxfZmluZGZpbC5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1Ta2lwLXZhcmlvdXMtdGVzdHMtaWYtUEVSTF9CVUlMRF9QQUNLQUdJTkctaXMtc2V0LnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMDQ2MjJiYzRkMzk0MWRjN2ViNTcxYzUyYjdjMDI5OTMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2YwODAyODdmZjY0NzUwMjcwNjg5ODQzYWU5NDVmMDIxNTlhMzNjYjhmMmZjOTEwMjQ4YzE1YmVmYmE1ZGI4NCIKLQotaW5oZXJpdCBwZXJsbmF0aXZlIHNpdGVpbmZvCi0KLSMgV2hlcmUgdG8gZmluZCB0aGUgbmF0aXZlIHBlcmwKLUhPU1RQRVJMID0gIiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9wZXJsLW5hdGl2ZS9wZXJsJHtQVn0iCi0KLSMgV2hlcmUgdG8gZmluZCAuc28gZmlsZXMgLSB1c2UgdGhlIC1uYXRpdmUgdmVyc2lvbnMgbm90IHRob3NlIGZyb20gdGhlIHRhcmdldCBidWlsZAotZXhwb3J0IFBFUkxIT1NUTElCID0gIiR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9wZXJsLW5hdGl2ZS9wZXJsLyR7UFZ9LyIKLQotIyBXaGVyZSB0byBmaW5kIHBlcmwgQElOQy8jaW5jbHVkZSBmaWxlcwotIyAtIHVzZSB0aGUgLW5hdGl2ZSB2ZXJzaW9ucyBub3QgdGhvc2UgZnJvbSB0aGUgdGFyZ2V0IGJ1aWxkCi1leHBvcnQgUEVSTF9MSUIgPSAiJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L3BlcmwtbmF0aXZlL3BlcmwvJHtQVn0vIgotZXhwb3J0IFBFUkxfQVJDSExJQiA9ICIke1NUQUdJTkdfTElCRElSX05BVElWRX0vcGVybC1uYXRpdmUvcGVybC8ke1BWfS8iCi0KLUVYVFJBX09FTUFLRSA9ICItZSBNQUtFRkxBR1M9IgotCi0jIExERkxBR1MgZm9yIHNoYXJlZCBsaWJyYXJpZXMKLWV4cG9ydCBMRERMRkxBR1MgPSAiJHtMREZMQUdTfSAtc2hhcmVkIgotCi1MREZMQUdTX2FwcGVuZCA9ICIgLWZzdGFjay1wcm90ZWN0b3IiCi0KLSMgV2UncmUgYWxtb3N0IERlYmlhbiwgYXJlbid0IHdlPwotQ0ZMQUdTICs9ICItRERFQklBTiIKLQotZG9fY29uZmlndXJlKCkgewotICAgICAgICAjIE1ha2UgaG9zdHBlcmwgaW4gYnVpbGQgZGlyZWN0b3J5IGJlIHRoZSBuYXRpdmUgcGVybAotICAgICAgICBsbiAtc2YgJHtIT1NUUEVSTH0gaG9zdHBlcmwKLQotCWlmIFsgLW4gIiR7Q09ORklHVVJFU1RBTVBGSUxFfSIgLWEgLWUgIiR7Q09ORklHVVJFU1RBTVBGSUxFfSIgXTsgdGhlbgotCQlpZiBbICJgY2F0ICR7Q09ORklHVVJFU1RBTVBGSUxFfWAiICE9ICIke0JCX1RBU0tIQVNIfSIgLWEgLWUgTWFrZWZpbGUgXTsgdGhlbgotCQkJJHtNQUtFfSBjbGVhbgotCQlmaQotCQlmaW5kICR7U30gLW5hbWUgKi5zbyAtZGVsZXRlCi0JZmkKLQlpZiBbIC1uICIke0NPTkZJR1VSRVNUQU1QRklMRX0iIF07IHRoZW4KLQkJZWNobyAke0JCX1RBU0tIQVNIfSA+ICR7Q09ORklHVVJFU1RBTVBGSUxFfQotCWZpCi0KLSAgICAgICAgIyBEbyBvdXIgd29yayBpbiB0aGUgY3Jvc3Mgc3ViZGlyCi0gICAgICAgIGNkIENyb3NzCi0KLSAgICAgICAgIyBHZW5lcmF0ZSBjb25maWd1cmF0aW9uCi0gICAgICAgIHJtIC1mIGNvbmZpZy5zaC0ke1RBUkdFVF9BUkNIfS0ke1RBUkdFVF9PU30KLSAgICAgICAgZm9yIGkgaW4gJHtXT1JLRElSfS9jb25maWcuc2ggXAotICAgICAgICAgICAgICAgICAke1dPUktESVJ9L2NvbmZpZy5zaC0ke1NJVEVJTkZPX0JJVFN9IFwKLSAgICAgICAgICAgICAgICAgJHtXT1JLRElSfS9jb25maWcuc2gtJHtTSVRFSU5GT19CSVRTfS0ke1NJVEVJTkZPX0VORElBTk5FU1N9OyBkbwotICAgICAgICAgICAgY2F0ICRpID4+IGNvbmZpZy5zaC0ke1RBUkdFVF9BUkNIfS0ke1RBUkdFVF9PU30KLSAgICAgICAgZG9uZQotCi0gICAgICAgICMgRml4dXBzIGZvciBtdXNsCi0gICAgICAgIGlmIFsgIiR7VEFSR0VUX09TfSIgPSAibGludXgtbXVzbCIgLW8gIiR7VEFSR0VUX09TfSIgPSAibGludXgtbXVzbGVhYmkiIC1vICIke1RBUkdFVF9PU30iID0gImxpbnV4LW11c2x4MzIiIF07IHRoZW4KLSAgICAgICAgICAgICAgICBzZWQgLWkgLWUgInMsXChkX2xpYm1fbGliX3ZlcnNpb249XCknZGVmaW5lJyxcMSd1bmRlZicsZyIgXAotICAgICAgICAgICAgICAgICAgICAgICAtZSAicyxcKGRfc3RkaW9fcHRyX2x2YWw9XCknZGVmaW5lJyxcMSd1bmRlZicsZyIgXAotICAgICAgICAgICAgICAgICAgICAgICAtZSAicyxcKGRfc3RkaW9fcHRyX2x2YWxfc2V0c19jbnQ9XCknZGVmaW5lJyxcMSd1bmRlZicsZyIgXAotICAgICAgICAgICAgICAgICAgICAgICAtZSAicyxcKGRfc3RkaW9iYXNlPVwpJ2RlZmluZScsXDEndW5kZWYnLGciIFwKLSAgICAgICAgICAgICAgICAgICAgICAgLWUgInMsXChkX3N0ZHN0ZGlvPVwpJ2RlZmluZScsXDEndW5kZWYnLGciIFwKLSAgICAgICAgICAgICAgICAgICAgICAgLWUgInMsXChkX2dldG5ldGJ5bmFtZV9yPVwpJ2RlZmluZScsXDEndW5kZWYnLGciIFwKLSAgICAgICAgICAgICAgICAgICAgICAgLWUgInMsXChkX2Zpbml0ZWw9XCknZGVmaW5lJyxcMSd1bmRlZicsZyIgXAotICAgICAgICAgICAgICAgICAgICAgICAtZSAicyxcKGdldHByb3RvYnluYW1lX3I9XCknZGVmaW5lJyxcMSd1bmRlZicsZyIgXAotICAgICAgICAgICAgICAgICAgICAgICAtZSAicyxcKGdldHB3ZW50X3I9XCknZGVmaW5lJyxcMSd1bmRlZicsZyIgXAotICAgICAgICAgICAgICAgICAgICAgICAtZSAicyxcKGdldHNlcnZlbnRfcj1cKSdkZWZpbmUnLFwxJ3VuZGVmJyxnIiBcCi0gICAgICAgICAgICAgICAgICAgICAgIC1lICJzLFwoZ2V0aG9zdGVudF9yPVwpJ2RlZmluZScsXDEndW5kZWYnLGciIFwKLSAgICAgICAgICAgICAgICAgICAgICAgLWUgInMsXChnZXRuZXRlbnRfcj1cKSdkZWZpbmUnLFwxJ3VuZGVmJyxnIiBcCi0gICAgICAgICAgICAgICAgICAgICAgIC1lICJzLFwoZ2V0bmV0YnlhZGRyX3I9XCknZGVmaW5lJyxcMSd1bmRlZicsZyIgXAotICAgICAgICAgICAgICAgICAgICAgICAtZSAicyxcKGdldHByb3RvZW50X3I9XCknZGVmaW5lJyxcMSd1bmRlZicsZyIgXAotICAgICAgICAgICAgICAgICAgICAgICAtZSAicyxcKGdldHByb3RvYnludW1iZXJfcj1cKSdkZWZpbmUnLFwxJ3VuZGVmJyxnIiBcCi0gICAgICAgICAgICAgICAgICAgICAgIC1lICJzLFwoZ2V0Z3JlbnRfcj1cKSdkZWZpbmUnLFwxJ3VuZGVmJyxnIiBcCi0gICAgICAgICAgICAgICAgICAgICAgIC1lICJzLFwoaV9mY250bD1cKSd1bmRlZicsXDEnZGVmaW5lJyxnIiBcCi0gICAgICAgICAgICAgICAgICAgICAgIC1lICJzLFwoaF9mY250bD1cKSdmYWxzZScsXDEndHJ1ZScsZyIgXAotICAgICAgICAgICAgICAgICAgICAgICAtZSAicywtZnN0YWNrLXByb3RlY3RvciwtZm5vLXN0YWNrLXByb3RlY3RvcixnIiBcCi0gICAgICAgICAgICAgICAgICAgIGNvbmZpZy5zaC0ke1RBUkdFVF9BUkNIfS0ke1RBUkdFVF9PU30KLSAgICAgICAgZmkKLQotICAgICAgICAjIFVwZGF0ZSBzb21lIHBhdGhzIGluIHRoZSBjb25maWd1cmF0aW9uCi0gICAgICAgIHNlZCAtaSAtZSAncyxAQVJDSEAtdGhyZWFkLW11bHRpLCxnJyBcCi0gICAgICAgICAgICAgICAtZSAncyxAQVJDSEAsJHtUQVJHRVRfQVJDSH0tJHtUQVJHRVRfT1N9LGcnIFwKLSAgICAgICAgICAgICAgIC1lICdzLEBTVEFHSU5HRElSQCwke1NUQUdJTkdfRElSX0hPU1R9LGcnIFwKLSAgICAgICAgICAgICAgIC1lICJzLEBJTkNMVURFRElSQCwke1NUQUdJTkdfSU5DRElSfSxnIiBcCi0gICAgICAgICAgICAgICAtZSAicyxATElCRElSQCwke2xpYmRpcn0sZyIgXAotICAgICAgICAgICAgICAgLWUgInMsQEJBU0VMSUJESVJALCR7YmFzZV9saWJkaXJ9LGciIFwKLSAgICAgICAgICAgICAgIC1lICJzLEBFWEVDUFJFRklYQCwke2V4ZWNfcHJlZml4fSxnIiBcCi0gICAgICAgICAgICAgICAtZSAncyxAVVNSQklOQCwke2JpbmRpcn0sZycgXAotICAgICAgICAgICAgICAgLWUgInMsLWxuc2wsLGciIFwKLSAgICAgICAgICAgIGNvbmZpZy5zaC0ke1RBUkdFVF9BUkNIfS0ke1RBUkdFVF9PU30KLQotCWNhc2UgIiR7VEFSR0VUX0FSQ0h9IiBpbgotCQl4ODZfNjQgfCBwb3dlcnBjIHwgczM5MCkKLQkJCXNlZCAtaSAtZSAicyxcKG5lZWRfdmFfY29weT1cKSd1bmRlZicsXDEnZGVmaW5lJyxnIiBcCi0JCQkJY29uZmlnLnNoLSR7VEFSR0VUX0FSQ0h9LSR7VEFSR0VUX09TfQotCQkJOzsKLQkJYXJtKQotCQkJc2VkIC1pIC1lICJzLFwoZF91MzJhbGlnbj1cKSd1bmRlZicsXDEnZGVmaW5lJyxnIiBcCi0JCQkJY29uZmlnLnNoLSR7VEFSR0VUX0FSQ0h9LSR7VEFSR0VUX09TfQotCQkJOzsKLQllc2FjCi0gICAgICAgICMgVGhlc2UgYXJlIHN0cmV3biBhbGwgb3ZlciB0aGUgc291cmNlIHRyZWUKLSAgICAgICAgZm9yIGZvbyBpbiBgZ3JlcCAtSSAtLWV4Y2x1ZGU9IioucGF0Y2giIC0tZXhjbHVkZT0iKi5kaWZmIiAtLWV4Y2x1ZGU9IioucG9kIiAtLWV4Y2x1ZGU9IlJFQURNRSoiIC0tZXhjbHVkZT0iR2xvc3NhcnkiIC1tMSAiL3Vzci9pbmNsdWRlLy4qXC5oIiAke1N9LyogLXIgLWxgICR7U30vdXRpbHMvaDJ4cy5QTCA7IGRvCi0gICAgICAgICAgICBlY2hvIEZpeGluZzogJGZvbwotICAgICAgICAgICAgc2VkIC1lICdzfFwoWyAiXidcJydJXVwrXCkvdXNyL2luY2x1ZGUvfFwxJHtTVEFHSU5HX0lOQ0RJUn0vfGcnIC1pICRmb28KLSAgICAgICAgZG9uZQotCi0gICAgICAgIHJtIC1mIGNvbmZpZwotICAgICAgICBlY2hvICJBUkNIID0gJHtUQVJHRVRfQVJDSH0iID4gY29uZmlnCi0gICAgICAgIGVjaG8gIk9TID0gJHtUQVJHRVRfT1N9IiA+PiBjb25maWcKLX0KLQotZG9fY29tcGlsZSgpIHsKLSAgICAgICAgIyBGaXggdG8gYXZvaWQgcmVjdXJzaXZlIHN1YnN0aXR1dGlvbiBvZiBwYXRoCi0gICAgICAgIHNlZCAtaSAtZSAnc3woQGxpYnBhdGgsICIuKiJ8KEBsaWJwYXRoLCAiJHtTVEFHSU5HX0xJQkRJUn0ifGcnIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9MaWJsaXN0L0tpZC5wbQotCi0gICAgICAgIGNkIENyb3NzCi0gICAgICAgIG9lX3J1bm1ha2UgcGVybCBMRD0iJHtDQ0xEfSIKLX0KLQotZG9fY29tcGlsZV9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgewotICAgICAgICAjIFJlbW92ZSBidWlsZCBob3N0IHJlZmVyZW5jZXMgZnJvbSBudW1lcm91cyBjb21tZW50cy4uLgotICAgICAgICBmaW5kICIke1N9L2NwYW4vRW5jb2RlIiAtdHlwZSBmIFwKLSAgICAgICAgICAgIFwoIC1uYW1lICcqLmV4aCcgLW8gLW5hbWUgJyouYycgLW8gLW5hbWUgJyouaCcgXClcCi0gICAgICAgICAgICAtZXhlYyBzZWQgLWkgLWUgJ3M6JHtSRUNJUEVfU1lTUk9PVF9OQVRJVkV9OjpnJyB7fSArCi0gICAgICAgIHNlZCAtaSAtZSAnczoke1JFQ0lQRV9TWVNST09UfTo6ZycgJHtTfS9wZXJsLmggJHtTfS9wcC5oCi0gICAgICAgIHNlZCAtaSAtZSAnczoke1JFQ0lQRV9TWVNST09UX05BVElWRX0vdXNyL2Jpbi9wZXJsLW5hdGl2ZS9wZXJsJHtQVn0ucmVhbDovdXNyL2Jpbi9wZXJsJHtQVn06ZycgIFwKLSAgICAgICAgICAgICR7U30vY3Bhbi9Db21wcmVzcy1SYXctQnppcDIvY29uc3RhbnRzLmggXAotICAgICAgICAgICAgJHtTfS9jcGFuL0NvbXByZXNzLVJhdy1abGliL2NvbnN0YW50cy5oIFwKLSAgICAgICAgICAgICR7U30vY3Bhbi9JUEMtU3lzVi9jb25zdC1jLmluYyBcCi0gICAgICAgICAgICAke1N9L2Rpc3QvVGltZS1IaVJlcy9jb25zdC1jLmluYwotfQotCi1kb19pbnN0YWxsKCkgewotCSNleHBvcnQgaG9zdHBlcmw9IiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9wZXJsLW5hdGl2ZS9wZXJsJHtQVn0iCi0Jb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfQotICAgICAgICAjIEFkZCBwZXJsIHBvaW50aW5nIGF0IGN1cnJlbnQgdmVyc2lvbgotICAgICAgICBsbiAtc2YgcGVybCR7UFZ9ICR7RH0ke2JpbmRpcn0vcGVybAotCi0gICAgICAgIGxuIC1zZiBwZXJsICR7RH0vJHtsaWJkaXJ9L3Blcmw1Ci0KLSAgICAgICAgIyBSZW1vdmUgdW53YW50ZWQgZmlsZSBhbmQgZW1wdHkgZGlyZWN0b3JpZXMKLSAgICAgICAgcm0gLWYgJHtEfS8ke2xpYmRpcn0vcGVybC8ke1BWfS8ucGFja2xpc3QKLQlybWRpciAke0R9LyR7bGliZGlyfS9wZXJsL3NpdGVfcGVybC8ke1BWfQotCXJtZGlyICR7RH0vJHtsaWJkaXJ9L3Blcmwvc2l0ZV9wZXJsCi0KLSAgICAgICAgIyBGaXggdXAgc2hhcmVkIGxpYnJhcnkKLSAgICAgICAgbXYgJHtEfS8ke2xpYmRpcn0vcGVybC8ke1BWfS9DT1JFL2xpYnBlcmwuc28gJHtEfS8ke2xpYmRpcn0vbGlicGVybC5zby4ke1BWfQotICAgICAgICBsbiAtc2YgbGlicGVybC5zby4ke1BWfSAke0R9LyR7bGliZGlyfS9saWJwZXJsLnNvLjUKLSAgICAgICAgbG4gLXNmIC4uLy4uLy4uL2xpYnBlcmwuc28uJHtQVn0gJHtEfS8ke2xpYmRpcn0vcGVybC8ke1BWfS9DT1JFL2xpYnBlcmwuc28KLQotICAgICAgICAjIHRhcmdldCBjb25maWcsIHVzZWQgYnkgY3Bhbi5iYmNsYXNzIHRvIGV4dHJhY3QgdmVyc2lvbiBpbmZvcm1hdGlvbgotICAgICAgICBpbnN0YWxsIGNvbmZpZy5zaCAke0R9JHtsaWJkaXJ9L3BlcmwKLQotICAgICAgICBsbiAtcyBDb25maWdfaGVhdnkucGwgJHtEfSR7bGliZGlyfS9wZXJsLyR7UFZ9L0NvbmZpZ19oZWF2eS10YXJnZXQucGwKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrICgpIHsKLSAgICAgICAgY3JlYXRlX3dyYXBwZXIgJHtEfSR7YmluZGlyfS9wZXJsIFwKLSAgICAgICAgICAgIFBFUkw1TElCPSckUEVSTDVMSUI6JE9FQ09SRV9OQVRJVkVfU1lTUk9PVC8ke2xpYmRpcl9uYXRpdmVzZGt9L3Blcmwvc2l0ZV9wZXJsLyR7UFZ9OiRPRUNPUkVfTkFUSVZFX1NZU1JPT1QvJHtsaWJkaXJfbmF0aXZlc2RrfS9wZXJsL3ZlbmRvcl9wZXJsLyR7UFZ9OiRPRUNPUkVfTkFUSVZFX1NZU1JPT1QvJHtsaWJkaXJfbmF0aXZlc2RrfS9wZXJsLyR7UFZ9JwotfQotCi1QQUNLQUdFX1BSRVBST0NFU1NfRlVOQ1MgKz0gInBlcmxfcGFja2FnZV9wcmVwcm9jZXNzIgotCi1wZXJsX3BhY2thZ2VfcHJlcHJvY2VzcyAoKSB7Ci0gICAgICAgICMgRml4IHVwIGluc3RhbGxlZCBjb25maWd1cmF0aW9uCi0gICAgICAgIHNlZCAtaSAtZSAicywke0R9LCxnIiBcCi0gICAgICAgICAgICAgICAtZSAicywke0RFQlVHX1BSRUZJWF9NQVB9LCxnIiBcCi0gICAgICAgICAgICAgICAtZSAicywtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9IT1NUfSwsZyIgXAotICAgICAgICAgICAgICAgLWUgInMsLWlzeXN0ZW0ke1NUQUdJTkdfSU5DRElSfSAsLGciIFwKLSAgICAgICAgICAgICAgIC1lICJzLCR7U1RBR0lOR19MSUJESVJ9LCR7bGliZGlyfSxnIiBcCi0gICAgICAgICAgICAgICAtZSAicywke1NUQUdJTkdfQklORElSfSwke2JpbmRpcn0sZyIgXAotICAgICAgICAgICAgICAgLWUgInMsJHtTVEFHSU5HX0lOQ0RJUn0sJHtpbmNsdWRlZGlyfSxnIiBcCi0gICAgICAgICAgICAgICAtZSAicywke1NUQUdJTkdfQklORElSX05BVElWRX0vcGVybC1uYXRpdmUvLCR7YmluZGlyfS8sZyIgXAotICAgICAgICAgICAgICAgLWUgInMsJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9LywsZyIgXAotICAgICAgICAgICAgICAgLWUgInMsJHtTVEFHSU5HX0JJTkRJUl9UT09MQ0hBSU59LyR7VEFSR0VUX1BSRUZJWH0sJHtiaW5kaXJ9LGciIFwKLSAgICAgICAgICAgICAgIC1lICdzOiR7UkVDSVBFX1NZU1JPT1R9OjpnJyBcCi0gICAgICAgICAgICAke1BLR0R9JHtiaW5kaXJ9L2gyeHMgXAotICAgICAgICAgICAgJHtQS0dEfSR7YmluZGlyfS9oMnBoIFwKLSAgICAgICAgICAgICR7UEtHRH0ke2JpbmRpcn0vcG9kMm1hbiBcCi0gICAgICAgICAgICAke1BLR0R9JHtiaW5kaXJ9L3BvZDJ0ZXh0IFwKLSAgICAgICAgICAgICR7UEtHRH0ke2JpbmRpcn0vcG9kMnVzYWdlIFwKLSAgICAgICAgICAgICR7UEtHRH0ke2JpbmRpcn0vcG9kY2hlY2tlciBcCi0gICAgICAgICAgICAke1BLR0R9JHtiaW5kaXJ9L3BvZHNlbGVjdCBcCi0gICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3BlcmwvJHtQVn0vQ09SRS9jb25maWcuaCBcCi0gICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3BlcmwvJHtQVn0vQ09SRS9wZXJsLmggXAotICAgICAgICAgICAgJHtQS0dEfSR7bGliZGlyfS9wZXJsLyR7UFZ9L0NPUkUvcHAuaCBcCi0gICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3BlcmwvJHtQVn0vQ29uZmlnLnBtIFwKLSAgICAgICAgICAgICR7UEtHRH0ke2xpYmRpcn0vcGVybC8ke1BWfS9Db25maWcucG9kIFwKLSAgICAgICAgICAgICR7UEtHRH0ke2xpYmRpcn0vcGVybC8ke1BWfS9Db25maWdfaGVhdnkucGwgXAotICAgICAgICAgICAgJHtQS0dEfSR7bGliZGlyfS9wZXJsLyR7UFZ9L0V4dFV0aWxzL0xpYmxpc3QvS2lkLnBtIFwKLSAgICAgICAgICAgICR7UEtHRH0ke2xpYmRpcn0vcGVybC8ke1BWfS9GaWxlQ2FjaGUucG0gXAotICAgICAgICAgICAgJHtQS0dEfSR7bGliZGlyfS9wZXJsLyR7UFZ9L3BvZC8qLnBvZCBcCi0gICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3BlcmwvY29uZmlnLnNoCi19Ci0KLVBBQ0tBR0VTID0gInBlcmwtZGJnIHBlcmwgcGVybC1taXNjIHBlcmwtZGV2IHBlcmwtcG9kIHBlcmwtZG9jIHBlcmwtbGliIFwKLSAgICAgICAgICAgIHBlcmwtbW9kdWxlLWNwYW4gcGVybC1tb2R1bGUtY3BhbnBsdXMgcGVybC1tb2R1bGUtdW5pY29yZSIKLUZJTEVTXyR7UE59ID0gIiR7YmluZGlyfS9wZXJsICR7YmluZGlyfS9wZXJsJHtQVn0gXAotICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vQ29uZmlnLnBtIFwKLSAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsLyR7UFZ9L3N0cmljdC5wbSBcCi0gICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS93YXJuaW5ncy5wbSBcCi0gICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS93YXJuaW5ncyBcCi0gICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS92YXJzLnBtIFwKLSAgICAgICAgICAgICAgIgotRklMRVNfJHtQTn1fYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgJHtiaW5kaXJ9L3BlcmwucmVhbCIKLVJQUk9WSURFU18ke1BOfSArPSAicGVybC1tb2R1bGUtc3RyaWN0IHBlcmwtbW9kdWxlLXZhcnMgcGVybC1tb2R1bGUtY29uZmlnIHBlcmwtbW9kdWxlLXdhcm5pbmdzIFwKLSAgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCi1GSUxFU18ke1BOfS1kZXYgPSAiJHtsaWJkaXJ9L3BlcmwvJHtQVn0vQ09SRSIKLUZJTEVTXyR7UE59LWxpYiA9ICIke2xpYmRpcn0vbGlicGVybC5zbyogXAotICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsNSBcCi0gICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvY29uZmlnLnNoIFwKLQkJICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vQ29uZmlnX2dpdC5wbCBcCi0gICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vQ29uZmlnX2hlYXZ5LnBsIFwKLSAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS9Db25maWdfaGVhdnktdGFyZ2V0LnBsIgotRklMRVNfJHtQTn0tcG9kID0gIiR7bGliZGlyfS9wZXJsLyR7UFZ9L3BvZCBcCi0JCSAgICR7bGliZGlyfS9wZXJsLyR7UFZ9LyoucG9kIFwKLSAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS8qLyoucG9kIFwKLSAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS8qLyovKi5wb2QgIgotRklMRVNfcGVybC1taXNjID0gIiR7YmluZGlyfS8qIgotRklMRVNfJHtQTn0tZG9jID0gIiR7bGliZGlyfS9wZXJsLyR7UFZ9LyovKi50eHQgXAotICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsLyR7UFZ9LyovKi8qLnR4dCBcCi0gICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vYXV0by9YUy9UeXBlbWFwIFwKLSAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS9CL2Fzc2VtYmxlIFwKLSAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS9CL2NjX2hhcm5lc3MgXAotICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsLyR7UFZ9L0IvZGlzYXNzZW1ibGUgXAotICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsLyR7UFZ9L0IvbWFrZWxpYmxpbmtzIFwKLSAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS9DR0kvZWcgXAotICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsLyR7UFZ9L0NQQU4vUEFVU0UyMDAzLnB1YiBcCi0gICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vQ1BBTi9TSUdOQVRVUkUgXAotCQkgICAke2xpYmRpcn0vcGVybC8ke1BWfS9DUEFOUExVUy9TaGVsbC9EZWZhdWx0L1BsdWdpbnMvSE9XVE8ucG9kIFwKLSAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS9FbmNvZGUvZW5jb2RlLmggXAotICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsLyR7UFZ9L0V4dFV0aWxzL01BTklGRVNULlNLSVAgXAotICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsLyR7UFZ9L0V4dFV0aWxzL05PVEVTIFwKLSAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS9FeHRVdGlscy9QQVRDSElORyBcCi0gICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vRXh0VXRpbHMvdHlwZW1hcCBcCi0gICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vRXh0VXRpbHMveHN1YnBwIFwKLQkJICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vRXh0VXRpbHMvQ2hhbmdlc19FVS1JbnN0YWxsIFwKLSAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS9OZXQvKi5lZyBcCi0gICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vdW5pY29yZS9ta3RhYmxlcyBcCi0gICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vdW5pY29yZS9ta3RhYmxlcy5sc3QgXAotICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsLyR7UFZ9L3VuaWNvcmUvdmVyc2lvbiAiCi0KLUZJTEVTX3BlcmwtbW9kdWxlLWNwYW4gKz0gIiR7bGliZGlyfS9wZXJsLyR7UFZ9L0NQQU4gXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vQ1BBTi5wbSIKLUZJTEVTX3BlcmwtbW9kdWxlLWNwYW5wbHVzICs9ICIke2xpYmRpcn0vcGVybC8ke1BWfS9DUEFOUExVUyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vQ1BBTlBMVVMucG0iCi1GSUxFU19wZXJsLW1vZHVsZS11bmljb3JlICs9ICIke2xpYmRpcn0vcGVybC8ke1BWfS91bmljb3JlIgotCi0jIENyZWF0ZSBhIHBlcmwtbW9kdWxlcyBwYWNrYWdlIHJlY29tbWVuZGluZyBhbGwgdGhlIG90aGVyIHBlcmwKLSMgcGFja2FnZXMgKGFjdHVhbGx5IHRoZSBub24gbW9kdWxlcyBwYWNrYWdlcyBhbmQgbm90IGNyZWF0ZWQgdG9vKQotQUxMT1dfRU1QVFlfcGVybC1tb2R1bGVzID0gIjEiCi1QQUNLQUdFU19hcHBlbmQgPSAiIHBlcmwtbW9kdWxlcyAiCi0KLVBBQ0tBR0VTUExJVEZVTkNTX3ByZXBlbmQgPSAic3BsaXRfcGVybF9wYWNrYWdlcyAiCi0KLXB5dGhvbiBzcGxpdF9wZXJsX3BhY2thZ2VzICgpIHsKLSAgICBsaWJkaXIgPSBkLmV4cGFuZCgnJHtsaWJkaXJ9L3BlcmwvJHtQVn0nKQotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGxpYmRpciwgJ2F1dG8vKFteLl0qKS9bXi9dKlwuKHNvfGxkfGl4fGFsKScsICdwZXJsLW1vZHVsZS0lcycsICdwZXJsIG1vZHVsZSAlcycsIHJlY3Vyc2l2ZT1UcnVlLCBtYXRjaF9wYXRoPVRydWUsIHByZXBlbmQ9RmFsc2UpCi0gICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgbGliZGlyLCAnTW9kdWxlLyhbXlwvXSopXC5wbScsICdwZXJsLW1vZHVsZS0lcycsICdwZXJsIG1vZHVsZSAlcycsIHJlY3Vyc2l2ZT1UcnVlLCBhbGxvd19kaXJzPUZhbHNlLCBtYXRjaF9wYXRoPVRydWUsIHByZXBlbmQ9RmFsc2UpCi0gICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgbGliZGlyLCAnTW9kdWxlLyhbXlwvXSopLy4qJywgJ3BlcmwtbW9kdWxlLSVzJywgJ3BlcmwgbW9kdWxlICVzJywgcmVjdXJzaXZlPVRydWUsIGFsbG93X2RpcnM9RmFsc2UsIG1hdGNoX3BhdGg9VHJ1ZSwgcHJlcGVuZD1GYWxzZSkKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBsaWJkaXIsICcoXig/IShDUEFOXC98Q1BBTlBMVVNcL3xNb2R1bGVcL3x1bmljb3JlXC98YXV0b1wvKVteXC9dKS4qKVwuKHBtfHBsfGUyeCknLCAncGVybC1tb2R1bGUtJXMnLCAncGVybCBtb2R1bGUgJXMnLCByZWN1cnNpdmU9VHJ1ZSwgYWxsb3dfZGlycz1GYWxzZSwgbWF0Y2hfcGF0aD1UcnVlLCBwcmVwZW5kPUZhbHNlKQotCi0gICAgIyBwZXJsLW1vZHVsZXMgc2hvdWxkIHJlY29tbWVuZCBldmVyeSBwZXJsIG1vZHVsZSwgYW5kIG9ubHkgdGhlCi0gICAgIyBtb2R1bGVzLiBEb24ndCBhdHRlbXB0IHRvIHVzZSB0aGUgcmVzdWx0IG9mIGRvX3NwbGl0X3BhY2thZ2VzKCkgYXMgc29tZQotICAgICMgbW9kdWxlcyBhcmUgbWFudWFsbHkgc3BsaXQgKGVnLiBwZXJsLW1vZHVsZS11bmljb3JlKS4KLSAgICBwYWNrYWdlcyA9IGZpbHRlcihsYW1iZGEgcDogJ3BlcmwtbW9kdWxlLScgaW4gcCwgZC5nZXRWYXIoJ1BBQ0tBR0VTJykuc3BsaXQoKSkKLSAgICBkLnNldFZhcihkLmV4cGFuZCgiUlJFQ09NTUVORFNfJHtQTn0tbW9kdWxlcyIpLCAnICcuam9pbihwYWNrYWdlcykpCi19Ci0KLVBBQ0tBR0VTX0RZTkFNSUMgKz0gIl5wZXJsLW1vZHVsZS0uKig/PCFcLW5hdGl2ZSkkIgotUEFDS0FHRVNfRFlOQU1JQ19jbGFzcy1uYXRpdmVzZGsgPSAiXm5hdGl2ZXNkay1wZXJsLW1vZHVsZS0uKiIKLQotUlBST1ZJREVTX3BlcmwtbGliID0gInBlcmwtbGliIgotCi1yZXF1aXJlIHBlcmwtcmRlcGVuZHNfJHtQVn0uaW5jCi1yZXF1aXJlIHBlcmwtcHRlc3QuaW5jCi0KLVNTVEFURV9TQ0FOX0ZJTEVTICs9ICIqLnBtICoucG9kICouaCAqLnBsICouc2giCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGtnY29uZi9wa2djb25mXzEuNS4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGtnY29uZi9wa2djb25mXzEuNS4zLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MTU0NzhkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BrZ2NvbmYvcGtnY29uZl8xLjUuMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDY5ICswLDAgQEAKLVNVTU1BUlkgPSAicGtnY29uZiBwcm92aWRlcyBjb21waWxlciBhbmQgbGlua2VyIGNvbmZpZ3VyYXRpb24gZm9yIGRldmVsb3BtZW50IGZyYW1ld29ya3MuIgotREVTQ1JJUFRJT04gPSAicGtnY29uZiBpcyBhIHByb2dyYW0gd2hpY2ggaGVscHMgdG8gY29uZmlndXJlIGNvbXBpbGVyIGFuZCBsaW5rZXIgXAotZmxhZ3MgZm9yIGRldmVsb3BtZW50IGZyYW1ld29ya3MuIEl0IGlzIHNpbWlsYXIgdG8gcGtnLWNvbmZpZyBmcm9tIFwKLWZyZWVkZXNrdG9wLm9yZywgcHJvdmlkaW5nIGFkZGl0aW9uYWwgZnVuY3Rpb25hbGl0eSB3aGlsZSBhbHNvIG1haW50YWluaW5nIFwKLWNvbXBhdGliaWxpdHkuIgotSE9NRVBBR0UgPSAiaHR0cDovL3BrZ2NvbmYub3JnIgotQlVHVFJBQ0tFUiA9ICJodHRwczovL2dpdGh1Yi5jb20vcGtnY29uZi9wa2djb25mL2lzc3VlcyIKLVNFQ1RJT04gPSAiZGV2ZWwiCi1QUk9WSURFUyArPSAicGtnY29uZmlnIgotUlBST1ZJREVTXyR7UE59ICs9ICJwa2djb25maWciCi1ERUZBVUxUX1BSRUZFUkVOQ0UgPSAiLTEiCi0KLSMgVGhlIHBrZ2NvbmYgbGljZW5zZSBzZWVtcyB0byBiZSBmdW5jdGlvbmFsbHkgZXF1aXZhbGVudCB0byBCU0QtMi1DbGF1c2Ugb3IKLSMgSVNDLCBidXQgaGFzIGRpZmZlcmVudCB3b3JkaW5nLCBzbyBuZWVkcyBpdHMgb3duIG5hbWUuCi1MSUNFTlNFID0gInBrZ2NvbmYiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yMjE0MjIyZWMxYTgyMGJkNmNjNzUxNjdhNTY5MjVlMCIKLQotU1JDX1VSSSA9ICJcCi0gICAgaHR0cHM6Ly9kaXN0ZmlsZXMuZGVyZWZlcmVuY2VkLm9yZy9wa2djb25mL3BrZ2NvbmYtJHtQVn0udGFyLnh6IFwKLSAgICBmaWxlOi8vcGtnLWNvbmZpZy13cmFwcGVyIFwKLSAgICBmaWxlOi8vcGtnLWNvbmZpZy1uYXRpdmUuaW4gXAotICAgIGZpbGU6Ly9wa2ctY29uZmlnLWVzZGsuaW4gXAotIgotU1JDX1VSSVttZDVzdW1dID0gImMyMTc0M2JjYTE0Yzg4MmMwZjI4Mjc0NjE2OGE1ZWRjIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImQzNDY4MzA4NTUzYzk0Mzg5ZGFkZmQxMGM0ZDEwNjcyNjkwNTJiNTM2NDI3NmE5ZDI0YTY0M2M4ODQ4NWY3MTUiCi0KLWluaGVyaXQgYXV0b3Rvb2xzCi0KLUVYVFJBX09FQ09ORiArPSAiLS13aXRoLXBrZy1jb25maWctZGlyPScke2xpYmRpcn0vcGtnY29uZmlnOiR7ZGF0YWRpcn0vcGtnY29uZmlnJyIKLQotZG9faW5zdGFsbF9hcHBlbmQgKCkgewotICAgICMgSW5zdGFsbCBhIHdyYXBwZXIgd2hpY2ggZGVhbHMsIGFzIG11Y2ggYXMgcG9zc2libGUgd2l0aCBwa2djb25mIHZzCi0gICAgIyBwa2ctY29uZmlnIGNvbXBhdGliaWxpdHkgaXNzdWVzLgotICAgIGluc3RhbGwgLW0gMDc1NSAiJHtXT1JLRElSfS9wa2ctY29uZmlnLXdyYXBwZXIiICIke0R9JHtiaW5kaXJ9L3BrZy1jb25maWciCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7Ci0gICAgIyBJbnN0YWxsIGEgcGtnLWNvbmZpZy1uYXRpdmUgd3JhcHBlciB0aGF0IHdpbGwgdXNlIHRoZSBuYXRpdmUgc3lzcm9vdCBpbnN0ZWFkCi0gICAgIyBvZiB0aGUgTUFDSElORSBzeXNyb290LCBmb3IgdXNpbmcgcGtnLWNvbmZpZyB3aGVuIGJ1aWxkaW5nIG5hdGl2ZSB0b29scy4KLSAgICBzZWQgLWUgInN8QFBBVEhfTkFUSVZFQHwke1BLR19DT05GSUdfUEFUSH18IiBcCi0gICAgICAgIDwgJHtXT1JLRElSfS9wa2ctY29uZmlnLW5hdGl2ZS5pbiA+ICR7Qn0vcGtnLWNvbmZpZy1uYXRpdmUKLSAgICBpbnN0YWxsIC1tNzU1ICR7Qn0vcGtnLWNvbmZpZy1uYXRpdmUgJHtEfSR7YmluZGlyfS9wa2ctY29uZmlnLW5hdGl2ZQotICAgIHNlZCAtZSAic3xAUEFUSF9OQVRJVkVAfCR7UEtHX0NPTkZJR19QQVRIfXwiIFwKLSAgICAgICAgLWUgInN8QExJQkRJUl9OQVRJVkVAfCR7UEtHX0NPTkZJR19MSUJESVJ9fCIgXAotICAgICAgICA8ICR7V09SS0RJUn0vcGtnLWNvbmZpZy1lc2RrLmluID4gJHtCfS9wa2ctY29uZmlnLWVzZGsKLSAgICBpbnN0YWxsIC1tNzU1ICR7Qn0vcGtnLWNvbmZpZy1lc2RrICR7RH0ke2JpbmRpcn0vcGtnLWNvbmZpZy1lc2RrCi19Ci0KLSMgV2hlbiB1c2luZyB0aGUgUlBNIGdlbmVyYXRlZCBhdXRvbWF0aWMgcGFja2FnZSBkZXBlbmRlbmNpZXMsIHNvbWUgcGFja2FnZXMKLSMgd2lsbCBlbmQgdXAgcmVxdWlyaW5nICdwa2djb25maWcocGtnLWNvbmZpZyknLiAgQWxsb3cgdGhpcyBiZWhhdmlvciBieQotIyBzcGVjaWZ5aW5nIGFuIGFwcHJvcHJpYXRlIHByb3ZpZGUuCi1SUFJPVklERVNfJHtQTn0gKz0gInBrZ2NvbmZpZyhwa2ctY29uZmlnKSIKLQotIyBJbmNsdWRlIHBrZy5tNCBpbiB0aGUgbWFpbiBwYWNrYWdlLCBsZWF2aW5nIGxpYnBrZ2NvbmYgZGV2IGZpbGVzIGluIC1kZXYKLUZJTEVTXyR7UE59LWRldl9yZW1vdmUgPSAiJHtkYXRhZGlyfS9hY2xvY2FsIgotRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vYWNsb2NhbCIKLQotQkJDTEFTU0VYVEVORCArPSAibmF0aXZlIG5hdGl2ZXNkayIKLQotcGtnY29uZl9zc3RhdGVfZml4dXBfZXNkayAoKSB7Ci0gICBpZiBbICIke0JCX0NVUlJFTlRUQVNLfSIgPSAicG9wdWxhdGVfc3lzcm9vdF9zZXRzY2VuZSIgLWEgIiR7V0lUSElOX0VYVF9TREt9IiA9ICIxIiBdIDsgdGhlbgotICAgICAgIHBrZ2NvbmZkaXI9IiR7U1NUQVRFX0lOU1RESVJ9L3JlY2lwZS1zeXNyb290LW5hdGl2ZS8ke2JpbmRpcl9uYXRpdmV9IgotICAgICAgIG12ICRwa2djb25mZGlyL3BrZy1jb25maWcgJHBrZ2NvbmZkaXIvcGtnLWNvbmZpZy5yZWFsCi0gICAgICAgbG5yICRwa2djb25mZGlyL3BrZy1jb25maWctZXNkayAkcGtnY29uZmRpci9wa2ctY29uZmlnCi0gICAgICAgc2VkIC1pIC1lICJzfF5wa2ctY29uZmlnfHBrZy1jb25maWcucmVhbHwiICRwa2djb25mZGlyL3BrZy1jb25maWctbmF0aXZlCi0gICBmaQotfQotCi1TU1RBVEVQT1NUVU5QQUNLRlVOQ1NfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgcGtnY29uZl9zc3RhdGVfZml4dXBfZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BrZ2NvbmYvcGtnY29uZl8xLjYuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BrZ2NvbmYvcGtnY29uZl8xLjYuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNDUyODc1Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGtnY29uZi9wa2djb25mXzEuNi4wLmJiCkBAIC0wLDAgKzEsNjkgQEAKK1NVTU1BUlkgPSAicGtnY29uZiBwcm92aWRlcyBjb21waWxlciBhbmQgbGlua2VyIGNvbmZpZ3VyYXRpb24gZm9yIGRldmVsb3BtZW50IGZyYW1ld29ya3MuIgorREVTQ1JJUFRJT04gPSAicGtnY29uZiBpcyBhIHByb2dyYW0gd2hpY2ggaGVscHMgdG8gY29uZmlndXJlIGNvbXBpbGVyIGFuZCBsaW5rZXIgXAorZmxhZ3MgZm9yIGRldmVsb3BtZW50IGZyYW1ld29ya3MuIEl0IGlzIHNpbWlsYXIgdG8gcGtnLWNvbmZpZyBmcm9tIFwKK2ZyZWVkZXNrdG9wLm9yZywgcHJvdmlkaW5nIGFkZGl0aW9uYWwgZnVuY3Rpb25hbGl0eSB3aGlsZSBhbHNvIG1haW50YWluaW5nIFwKK2NvbXBhdGliaWxpdHkuIgorSE9NRVBBR0UgPSAiaHR0cDovL3BrZ2NvbmYub3JnIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2dpdGh1Yi5jb20vcGtnY29uZi9wa2djb25mL2lzc3VlcyIKK1NFQ1RJT04gPSAiZGV2ZWwiCitQUk9WSURFUyArPSAicGtnY29uZmlnIgorUlBST1ZJREVTXyR7UE59ICs9ICJwa2djb25maWciCitERUZBVUxUX1BSRUZFUkVOQ0UgPSAiLTEiCisKKyMgVGhlIHBrZ2NvbmYgbGljZW5zZSBzZWVtcyB0byBiZSBmdW5jdGlvbmFsbHkgZXF1aXZhbGVudCB0byBCU0QtMi1DbGF1c2Ugb3IKKyMgSVNDLCBidXQgaGFzIGRpZmZlcmVudCB3b3JkaW5nLCBzbyBuZWVkcyBpdHMgb3duIG5hbWUuCitMSUNFTlNFID0gInBrZ2NvbmYiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yMjE0MjIyZWMxYTgyMGJkNmNjNzUxNjdhNTY5MjVlMCIKKworU1JDX1VSSSA9ICJcCisgICAgaHR0cHM6Ly9kaXN0ZmlsZXMuZGVyZWZlcmVuY2VkLm9yZy9wa2djb25mL3BrZ2NvbmYtJHtQVn0udGFyLnh6IFwKKyAgICBmaWxlOi8vcGtnLWNvbmZpZy13cmFwcGVyIFwKKyAgICBmaWxlOi8vcGtnLWNvbmZpZy1uYXRpdmUuaW4gXAorICAgIGZpbGU6Ly9wa2ctY29uZmlnLWVzZGsuaW4gXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjBjOTM0OTJkN2YwMDFlNTE3NWIwMzQ3YjU0NzJlODZkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjYxMzVhM2FiYjU3NjY3MmJhNTRhODk5ODYwNDQyYmExODUwNjNmMGY5MGRhZTU4OTJmNjRmN2JhZThlMWVjZTUiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0VYVFJBX09FQ09ORiArPSAiLS13aXRoLXBrZy1jb25maWctZGlyPScke2xpYmRpcn0vcGtnY29uZmlnOiR7ZGF0YWRpcn0vcGtnY29uZmlnJyIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgICMgSW5zdGFsbCBhIHdyYXBwZXIgd2hpY2ggZGVhbHMsIGFzIG11Y2ggYXMgcG9zc2libGUgd2l0aCBwa2djb25mIHZzCisgICAgIyBwa2ctY29uZmlnIGNvbXBhdGliaWxpdHkgaXNzdWVzLgorICAgIGluc3RhbGwgLW0gMDc1NSAiJHtXT1JLRElSfS9wa2ctY29uZmlnLXdyYXBwZXIiICIke0R9JHtiaW5kaXJ9L3BrZy1jb25maWciCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7CisgICAgIyBJbnN0YWxsIGEgcGtnLWNvbmZpZy1uYXRpdmUgd3JhcHBlciB0aGF0IHdpbGwgdXNlIHRoZSBuYXRpdmUgc3lzcm9vdCBpbnN0ZWFkCisgICAgIyBvZiB0aGUgTUFDSElORSBzeXNyb290LCBmb3IgdXNpbmcgcGtnLWNvbmZpZyB3aGVuIGJ1aWxkaW5nIG5hdGl2ZSB0b29scy4KKyAgICBzZWQgLWUgInN8QFBBVEhfTkFUSVZFQHwke1BLR19DT05GSUdfUEFUSH18IiBcCisgICAgICAgIDwgJHtXT1JLRElSfS9wa2ctY29uZmlnLW5hdGl2ZS5pbiA+ICR7Qn0vcGtnLWNvbmZpZy1uYXRpdmUKKyAgICBpbnN0YWxsIC1tNzU1ICR7Qn0vcGtnLWNvbmZpZy1uYXRpdmUgJHtEfSR7YmluZGlyfS9wa2ctY29uZmlnLW5hdGl2ZQorICAgIHNlZCAtZSAic3xAUEFUSF9OQVRJVkVAfCR7UEtHX0NPTkZJR19QQVRIfXwiIFwKKyAgICAgICAgLWUgInN8QExJQkRJUl9OQVRJVkVAfCR7UEtHX0NPTkZJR19MSUJESVJ9fCIgXAorICAgICAgICA8ICR7V09SS0RJUn0vcGtnLWNvbmZpZy1lc2RrLmluID4gJHtCfS9wa2ctY29uZmlnLWVzZGsKKyAgICBpbnN0YWxsIC1tNzU1ICR7Qn0vcGtnLWNvbmZpZy1lc2RrICR7RH0ke2JpbmRpcn0vcGtnLWNvbmZpZy1lc2RrCit9CisKKyMgV2hlbiB1c2luZyB0aGUgUlBNIGdlbmVyYXRlZCBhdXRvbWF0aWMgcGFja2FnZSBkZXBlbmRlbmNpZXMsIHNvbWUgcGFja2FnZXMKKyMgd2lsbCBlbmQgdXAgcmVxdWlyaW5nICdwa2djb25maWcocGtnLWNvbmZpZyknLiAgQWxsb3cgdGhpcyBiZWhhdmlvciBieQorIyBzcGVjaWZ5aW5nIGFuIGFwcHJvcHJpYXRlIHByb3ZpZGUuCitSUFJPVklERVNfJHtQTn0gKz0gInBrZ2NvbmZpZyhwa2ctY29uZmlnKSIKKworIyBJbmNsdWRlIHBrZy5tNCBpbiB0aGUgbWFpbiBwYWNrYWdlLCBsZWF2aW5nIGxpYnBrZ2NvbmYgZGV2IGZpbGVzIGluIC1kZXYKK0ZJTEVTXyR7UE59LWRldl9yZW1vdmUgPSAiJHtkYXRhZGlyfS9hY2xvY2FsIgorRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vYWNsb2NhbCIKKworQkJDTEFTU0VYVEVORCArPSAibmF0aXZlIG5hdGl2ZXNkayIKKworcGtnY29uZl9zc3RhdGVfZml4dXBfZXNkayAoKSB7CisgICBpZiBbICIke0JCX0NVUlJFTlRUQVNLfSIgPSAicG9wdWxhdGVfc3lzcm9vdF9zZXRzY2VuZSIgLWEgIiR7V0lUSElOX0VYVF9TREt9IiA9ICIxIiBdIDsgdGhlbgorICAgICAgIHBrZ2NvbmZkaXI9IiR7U1NUQVRFX0lOU1RESVJ9L3JlY2lwZS1zeXNyb290LW5hdGl2ZS8ke2JpbmRpcl9uYXRpdmV9IgorICAgICAgIG12ICRwa2djb25mZGlyL3BrZy1jb25maWcgJHBrZ2NvbmZkaXIvcGtnLWNvbmZpZy5yZWFsCisgICAgICAgbG5yICRwa2djb25mZGlyL3BrZy1jb25maWctZXNkayAkcGtnY29uZmRpci9wa2ctY29uZmlnCisgICAgICAgc2VkIC1pIC1lICJzfF5wa2ctY29uZmlnfHBrZy1jb25maWcucmVhbHwiICRwa2djb25mZGlyL3BrZy1jb25maWctbmF0aXZlCisgICBmaQorfQorCitTU1RBVEVQT1NUVU5QQUNLRlVOQ1NfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgcGtnY29uZl9zc3RhdGVfZml4dXBfZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BrZ2NvbmZpZy9wa2djb25maWcvcGtnLWNvbmZpZy1uYXRpdmUuaW4gYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wa2djb25maWcvcGtnY29uZmlnL3BrZy1jb25maWctbmF0aXZlLmluCmluZGV4IDVlNDRiYjQuLmE5MzI0ZGUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BrZ2NvbmZpZy9wa2djb25maWcvcGtnLWNvbmZpZy1uYXRpdmUuaW4KKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGtnY29uZmlnL3BrZ2NvbmZpZy9wa2ctY29uZmlnLW5hdGl2ZS5pbgpAQCAtMSw3ICsxLDcgQEAKICMhIC9iaW4vc2gKIAotUEtHX0NPTkZJR19QQVRIPSJAUEFUSF9OQVRJVkVAIgotUEtHX0NPTkZJR19MSUJESVI9IkBMSUJESVJfTkFUSVZFQCIKK2V4cG9ydCBQS0dfQ09ORklHX1BBVEg9IkBQQVRIX05BVElWRUAiCitleHBvcnQgUEtHX0NPTkZJR19MSUJESVI9IkBMSUJESVJfTkFUSVZFQCIKIHVuc2V0IFBLR19DT05GSUdfU1lTUk9PVF9ESVIKIAogcGtnLWNvbmZpZyAiJEAiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wc2V1ZG8vcHNldWRvLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BzZXVkby9wc2V1ZG8uaW5jCmluZGV4IGNkYzJhNTguLjhiMDU3MzUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BzZXVkby9wc2V1ZG8uaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BzZXVkby9wc2V1ZG8uaW5jCkBAIC0xNyw3ICsxNyw3IEBACiAKIE1BS0VPUFRTID0gIiIKIAotaW5oZXJpdCBzaXRlaW5mbworaW5oZXJpdCBzaXRlaW5mbyBwa2djb25maWcKIAogZG9fY29uZmlndXJlICgpIHsKIAk6CkBAIC0zMCwxMCArMzAsMjMgQEAKIAogIyBDb21waWxlIGZvciB0aGUgbG9jYWwgbWFjaGluZSBhcmNoLi4uCiBkb19jb21waWxlICgpIHsKKyAgICAgICAgU1FMSVRFX0xEQUREPSckKFNRTElURSkvJChTUUxJVEVfTElCKS9saWJzcWxpdGUzLmEnCisJZm9yIHNxbGl0ZV9saW5rX29wdCBpbiAkKHBrZy1jb25maWcgc3FsaXRlMyAtLWxpYnMgLS1zdGF0aWMpCisJZG8KKwkgICAgY2FzZSAiJHNxbGl0ZV9saW5rX29wdCIgaW4KKwkgICAgLWxzcWxpdGUzKQorCQk7OworCSAgICAtbCopCisJCVNRTElURV9MREFERD0iJHtTUUxJVEVfTERBRER9ICR7c3FsaXRlX2xpbmtfb3B0fSIKKwkJOzsKKwkgICAgKikKKwkJOzsKKwkgICAgZXNhYworCWRvbmUKIAlpZiBbICIke1NJVEVJTkZPX0JJVFN9IiA9ICI2NCIgXTsgdGhlbgotCSAgJHtTfS9jb25maWd1cmUgJHtQU0VVRE9fRVhUUkFfT1BUU30gLS1wcmVmaXg9JHtwcmVmaXh9IC0tbGliZGlyPSR7cHJlZml4fS9saWIvcHNldWRvL2xpYiR7U0lURUlORk9fQklUU30gLS13aXRoLXNxbGl0ZS1saWI9JHtiYXNlbGlifSAtLXdpdGgtc3FsaXRlPSR7U1RBR0lOR19ESVJfVEFSR0VUfSR7ZXhlY19wcmVmaXh9IC0tY2ZsYWdzPSIke0NGTEFHU30iIC0tYml0cz0ke1NJVEVJTkZPX0JJVFN9IC0tZW5hYmxlLXN0YXRpYy1zcWxpdGUgLS13aXRob3V0LXJwYXRoCisJICAke1N9L2NvbmZpZ3VyZSAke1BTRVVET19FWFRSQV9PUFRTfSAtLXByZWZpeD0ke3ByZWZpeH0gLS1saWJkaXI9JHtwcmVmaXh9L2xpYi9wc2V1ZG8vbGliJHtTSVRFSU5GT19CSVRTfSAtLXdpdGgtc3FsaXRlLWxpYj0ke2Jhc2VsaWJ9IC0td2l0aC1zcWxpdGU9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtleGVjX3ByZWZpeH0gLS1jZmxhZ3M9IiR7Q0ZMQUdTfSIgLS1iaXRzPSR7U0lURUlORk9fQklUU30gLS13aXRoLXN0YXRpYy1zcWxpdGU9IiRTUUxJVEVfTERBREQiIC0td2l0aG91dC1ycGF0aAogCWVsc2UKLQkgICR7U30vY29uZmlndXJlICR7UFNFVURPX0VYVFJBX09QVFN9IC0tcHJlZml4PSR7cHJlZml4fSAtLWxpYmRpcj0ke3ByZWZpeH0vbGliL3BzZXVkby9saWIgLS13aXRoLXNxbGl0ZS1saWI9JHtiYXNlbGlifSAtLXdpdGgtc3FsaXRlPSR7U1RBR0lOR19ESVJfVEFSR0VUfSR7ZXhlY19wcmVmaXh9IC0tY2ZsYWdzPSIke0NGTEFHU30iIC0tYml0cz0ke1NJVEVJTkZPX0JJVFN9IC0tZW5hYmxlLXN0YXRpYy1zcWxpdGUgLS13aXRob3V0LXJwYXRoCisJICAke1N9L2NvbmZpZ3VyZSAke1BTRVVET19FWFRSQV9PUFRTfSAtLXByZWZpeD0ke3ByZWZpeH0gLS1saWJkaXI9JHtwcmVmaXh9L2xpYi9wc2V1ZG8vbGliIC0td2l0aC1zcWxpdGUtbGliPSR7YmFzZWxpYn0gLS13aXRoLXNxbGl0ZT0ke1NUQUdJTkdfRElSX1RBUkdFVH0ke2V4ZWNfcHJlZml4fSAtLWNmbGFncz0iJHtDRkxBR1N9IiAtLWJpdHM9JHtTSVRFSU5GT19CSVRTfSAtLXdpdGgtc3RhdGljLXNxbGl0ZT0iJFNRTElURV9MREFERCIgLS13aXRob3V0LXJwYXRoCiAJZmkKIAlvZV9ydW5tYWtlICR7TUFLRU9QVFN9CiB9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vZmlsZXMvMDAwMS1jb25kaXRpb25hbGx5LWRvLW5vdC1mZXRjaC1jb2RlLWJ5LWVhc3lfaW5zdGFsbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9maWxlcy8wMDAxLWNvbmRpdGlvbmFsbHktZG8tbm90LWZldGNoLWNvZGUtYnktZWFzeV9pbnN0YWxsLnBhdGNoCmluZGV4IDRiMTc5MjEuLjE2OWQxYjEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9maWxlcy8wMDAxLWNvbmRpdGlvbmFsbHktZG8tbm90LWZldGNoLWNvZGUtYnktZWFzeV9pbnN0YWxsLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9maWxlcy8wMDAxLWNvbmRpdGlvbmFsbHktZG8tbm90LWZldGNoLWNvZGUtYnktZWFzeV9pbnN0YWxsLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAwMTk0MjJkMTljNjQwMWZhOGY0NWIxMzExZWNkMzFiYjA4N2M4MDlkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA1YmJhNGY1N2YwNDgwMTZhYTkyY2U1OTA5ZTllMzcyZGI2MTk1NTRlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogRGF0ZTogVHVlLCAxNyBKdWwgMjAxOCAxMDoxMzozOCArMDgwMAogU3ViamVjdDogW1BBVENIXSBjb25kaXRpb25hbGx5IGRvIG5vdCBmZXRjaCBjb2RlIGJ5IGVhc3lfaW5zdGFsbApAQCAtOSwxNSArOSwxNiBAQAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZSBzcGVjaWZpY10KIAogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorCiAtLS0KICBzZXR1cHRvb2xzL2NvbW1hbmQvZWFzeV9pbnN0YWxsLnB5IHwgNSArKysrKwogIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKIAogZGlmZiAtLWdpdCBhL3NldHVwdG9vbHMvY29tbWFuZC9lYXN5X2luc3RhbGwucHkgYi9zZXR1cHRvb2xzL2NvbW1hbmQvZWFzeV9pbnN0YWxsLnB5Ci1pbmRleCA4NWVlNDBmLi43ZWI5ZDJhIDEwMDc1NQoraW5kZXggMDU1MDhjZS4uOTQ1ZTExOCAxMDA3NTUKIC0tLSBhL3NldHVwdG9vbHMvY29tbWFuZC9lYXN5X2luc3RhbGwucHkKICsrKyBiL3NldHVwdG9vbHMvY29tbWFuZC9lYXN5X2luc3RhbGwucHkKLUBAIC02MzcsNiArNjM3LDExIEBAIGNsYXNzIGVhc3lfaW5zdGFsbChDb21tYW5kKToKK0BAIC02NDAsNiArNjQwLDExIEBAIGNsYXNzIGVhc3lfaW5zdGFsbChDb21tYW5kKToKICAgICAgICAgICAgICBvcy5wYXRoLmV4aXN0cyh0bXBkaXIpIGFuZCBybXRyZWUocm10cmVlX3NhZmUodG1wZGlyKSkKICAKICAgICAgZGVmIGVhc3lfaW5zdGFsbChzZWxmLCBzcGVjLCBkZXBzPUZhbHNlKToKQEAgLTI5LDYgKzMwLDMgQEAKICAgICAgICAgIGlmIG5vdCBzZWxmLmVkaXRhYmxlOgogICAgICAgICAgICAgIHNlbGYuaW5zdGFsbF9zaXRlX3B5KCkKICAKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1hc3luYy5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWFzeW5jLmluYwppbmRleCA2NjY0YWIwLi4xMzliZjJjIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWFzeW5jLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWFzeW5jLmluYwpAQCAtMTEsNCArMTEsNCBAQAogCiBSREVQRU5EU18ke1BOfSArPSAiJHtQWVRIT05fUE59LXRocmVhZGluZyIKIAotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmVzZGsiCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdpdC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdpdC5pbmMKaW5kZXggN2NjZjE2OC4uZjk3M2U5ZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1naXQuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ2l0LmluYwpAQCAtMjksNCArMjksNCBAQAogICAgICAgICAgICAgICAgICAgICR7UFlUSE9OX1BOfS11bml4YWRtaW4gXAogICAgICAgICAgICAgICAgICAgIGdpdCBcCiAiCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZXNkayIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ2l0ZGIuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1naXRkYi5pbmMKaW5kZXggNzg5YWI5NS4uNjMzNzUyZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1naXRkYi5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1naXRkYi5pbmMKQEAgLTgsOCArOCw4IEBACiAKIFBZUElfUEFDS0FHRSA9ICJnaXRkYjIiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICI2ZTIxZjU3OTVhMjA0ZjdhZmVjYjBhNzJmZmY2NjkzMiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJiYjRjODViOGE1ODUzMWM1MTM3M2M4OWY5MjE2M2I5MmYzMGY4MTM2OTYwNWE2N2NkNTJkMWZjMjEyNDZjMDQ0IgorU1JDX1VSSVttZDVzdW1dID0gIjk0ZTU5ZTVmYjAwOTYwNTQxZjZlMTM3YjE0NTZhYjBhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjgzMzYxMTMxYTE4MzY2NjFhMTU1MTcyOTMyYTEzYzA4YmRhMmRiMzY3NGU0Y2FhMzIzNjhhYTZlYjAyZjM4YzIiCiAKIERFUEVORFMgPSAiJHtQWVRIT05fUE59LWFzeW5jICR7UFlUSE9OX1BOfS1zZXR1cHRvb2xzLW5hdGl2ZSAke1BZVEhPTl9QTn0tc21tYXAiCiAKQEAgLTIxLDQgKzIxLDQgQEAKICAgICAgICAgICAgICAgICAgICAke1BZVEhPTl9QTn0tc2hlbGwgXAogICAgICAgICAgICAgICAgICAgICR7UFlUSE9OX1BOfS1zbW1hcCBcCiAiCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZXNkayIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbmF0aXZlLzAwMDEtcHl0aG9uLW5hdGl2ZS1maXgtb25lLWRvX3BvcHVsYXRlX3N5c3Jvb3Qtd2FybmluZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbmF0aXZlLzAwMDEtcHl0aG9uLW5hdGl2ZS1maXgtb25lLWRvX3BvcHVsYXRlX3N5c3Jvb3Qtd2FybmluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ODk4MTg5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1uYXRpdmUvMDAwMS1weXRob24tbmF0aXZlLWZpeC1vbmUtZG9fcG9wdWxhdGVfc3lzcm9vdC13YXJuaW5nLnBhdGNoCkBAIC0wLDAgKzEsMzkgQEAKK0Zyb20gMTIyOTI0NDRlMWIzNjYyYjk5NGJjMjIzZDkyYjgzMzhmYjA4OTVmZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitEYXRlOiBUaHUsIDI1IE9jdCAyMDE4IDA3OjMyOjE0ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIHB5dGhvbi1uYXRpdmU6IGZpeCBvbmUgZG9fcG9wdWxhdGVfc3lzcm9vdCB3YXJuaW5nCisKK0ZpeCBiZWxvdyB3YXJuaW5nOgorV0FSTklORzogU2tpcHBpbmcgUlBBVEggL3Vzci9saWI2NCBhcyBpcyBhIHN0YW5kYXJkIHNlYXJjaCBwYXRoIGZvcgord29yay94ODZfNjQtbGludXgvcHl0aG9uLW5hdGl2ZS8yLjcuMTUtcjEuMS9yZWNpcGUtc3lzcm9vdC1uYXRpdmUvCit1c3IvbGliL3B5dGhvbjIuNy9saWItZHlubG9hZC9fYnNkZGIuc28KKworc2V0dXAucHkgd2lsbCBjaGVjayBkYi5oIHVuZGVyIGluY2x1ZGVfZGlycywgZm9yIG5hdGl2ZSBidWlsZCwKKy91c3IvbGliNjQgd2lsbCBiZSBpbnNlcnQgdG8gcG9zdGlvbiAwIG9mIGluY2x1ZGVfZGlycywgc28KK2l0J3MgcHJpb3JpdHkgaXMgaGlnaGVyIHRoZW4gb3VyIHN5c3Jvb3QsIGNhdXNlIGRiLmggc3lzcm9vdAoraXMgaWdub3JlZCwgYW5kIHJwYXRoIHNldCB0byAvdXNyL2xpYjY0LiBhbmQgdGhpcyBjYXVzZSB3YXJuaW5nCit3aGVuIGRvX3BvcHVsYXRlX3N5c3Jvb3QuIHVzZSBhcHBlbmQgdG8gZml4IGl0LgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW29lLXNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgc2V0dXAucHkgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zZXR1cC5weSBiL3NldHVwLnB5CitpbmRleCA3YmYxM2VkLi42YzBmMjliIDEwMDY0NAorLS0tIGEvc2V0dXAucHkKKysrKyBiL3NldHVwLnB5CitAQCAtNDAsNyArNDAsNyBAQCBkZWYgYWRkX2Rpcl90b19saXN0KGRpcmxpc3QsIGRpcik6CisgICAgIDEpICdkaXInIGlzIG5vdCBhbHJlYWR5IGluICdkaXJsaXN0JworICAgICAyKSAnZGlyJyBhY3R1YWxseSBleGlzdHMsIGFuZCBpcyBhIGRpcmVjdG9yeS4iIiIKKyAgICAgaWYgZGlyIGlzIG5vdCBOb25lIGFuZCBvcy5wYXRoLmlzZGlyKGRpcikgYW5kIGRpciBub3QgaW4gZGlybGlzdDoKKy0gICAgICAgIGRpcmxpc3QuaW5zZXJ0KDAsIGRpcikKKysgICAgICAgIGRpcmxpc3QuYXBwZW5kKGRpcikKKworIGRlZiBtYWNvc3hfc2RrX3Jvb3QoKToKKyAgICAgIiIiCistLSAKKzIuMTguMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW5hdGl2ZV8yLjcuMTUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW5hdGl2ZV8yLjcuMTUuYmIKaW5kZXggOWQwZmUzYi4uMjZkNjdkZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1uYXRpdmVfMi43LjE1LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbmF0aXZlXzIuNy4xNS5iYgpAQCAtMTYsNiArMTYsOCBAQAogICAgICAgICAgICAgZmlsZTovL2J1aWxkZGlyLnBhdGNoIFwKICAgICAgICAgICAgIGZpbGU6Ly9wYXJhbGxlbC1tYWtlaW5zdC1jcmVhdGUtYmluZGlyLnBhdGNoIFwKICAgICAgICAgICAgIGZpbGU6Ly9yZXZlcnRfdXNlX29mX3N5c2NvbmZpZ2RhdGEucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtcHl0aG9uLW5hdGl2ZS1maXgtb25lLWRvX3BvcHVsYXRlX3N5c3Jvb3Qtd2FybmluZy5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwMS0yLjctYnBvLTM0NjIzLVVzZS1YTUxfU2V0SGFzaFNhbHQtaW4tX2VsZW1lbnR0cmVlLUdILnBhdGNoIFwKICAgICAgICAgICAgIgogCiBTID0gIiR7V09SS0RJUn0vUHl0aG9uLSR7UFZ9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYnIuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYnIuaW5jCmluZGV4IDVhMjk1YzUuLjBlNjQ1MDEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGJyLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBici5pbmMKQEAgLTUsOSArNSw2IEBACiBMSUNFTlNFID0gIkFwYWNoZS0yLjAiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0xZGVjZTc4MjFiZjNmZDcwZmUxMzA5ZWFhMzdkNTJhMiIKIAotU1JDX1VSSVttZDVzdW1dID0gIjY2MTk3ODA4OTZjYTgxYzdjZDE5YzZlMmY0MzliNmM5IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFiOGJlNTBkOTM4YzliYjc1ZDBlYWY3ZWRhMTExZWVjMWJmNmRjODhhNjJhNjQxMmUzM2JmMDc3NDU3ZTBmNDUiCi0KIGluaGVyaXQgcHlwaQogCiBSREVQRU5EU18ke1BOfSArPSAiJHtQWVRIT05fUE59LXBpcCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc2V0dXB0b29scy5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNldHVwdG9vbHMuaW5jCmluZGV4IDMxNWJhMzEuLjkwOTJkN2EgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc2V0dXB0b29scy5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zZXR1cHRvb2xzLmluYwpAQCAtMTAsOCArMTAsOCBAQAogCiBTUkNfVVJJX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGZpbGU6Ly8wMDAxLWNvbmRpdGlvbmFsbHktZG8tbm90LWZldGNoLWNvZGUtYnktZWFzeV9pbnN0YWxsLnBhdGNoIgogCi1TUkNfVVJJW21kNXN1bV0gPSAiMjYwNjMwYWUxYTY0YmFmYTM5ZGNjNTM0MDRkNjM4MjkiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDEyYWRiOGUyNWZiZmQ2NGM2NTJlOTllN2JhYjU4Nzk5YTNhYWYwNWQzOWFiMzg1NjFmNjkxOTBhOTA5MDE1ZiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI3MTI2OTdhNWJjOTc1Y2Y0NzlkNDg3Y2Q2ODIwNmMyMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2ZTRlZWM5MDMzN2U4NDlhZGU3MTAzNzIzYjlhOTk2MzFjMWYwZDE5OTkwZDZlODQxMmRjNDJmNWFlOGIzMDRkIgogCiBERVBFTkRTICs9ICIke1BZVEhPTl9QTn0iCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc2V0dXB0b29sc180MC4wLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNldHVwdG9vbHNfNDAuOC4wLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNldHVwdG9vbHNfNDAuMC4wLmJiCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNldHVwdG9vbHNfNDAuOC4wLmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNpeC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNpeC5pbmMKaW5kZXggYzc3NDk4NC4uYzcwNmRjYSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zaXguaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc2l4LmluYwpAQCAtMiwxMCArMiwxMCBAQAogSE9NRVBBR0UgPSAiaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcHlwaS9zaXgvIgogU0VDVElPTiA9ICJkZXZlbC9weXRob24iCiBMSUNFTlNFID0gIk1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTM1Y2VjNWJmMDRkZDA4MjBkMGExODUzM2VhN2M3NzRhIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ODNlMGY2MjJiZDVhYzdkNTc1ZGJkODNkMDk0ZDY5YjUiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICJkMTI3ODlmOWJhZjdlOWZiMjUyNGMwYzY0ZjE3NzNmOCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI3MGU4YTc3YmVlZDQ1NjJlN2YxNGZlMjNhNzg2YjU0ZjYyOTZlMzQzNDRjMjNiYzQyZjA3YjE1MDE4ZmY5OGU5IgorU1JDX1VSSVttZDVzdW1dID0gIjlhZTVkMWZlZWQ4YzAyMTVmNGFlNGFkY2Q5MjA3ZmNiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQxNmEwMTQxZWMxYTE4NDA1Y2Q0Y2U4YjQ2MTMxMDFkYTc1ZGEwZTlhN2FlYzViZGQ0ZmE4MDRkMGUwZWJhNzMiCiAKIGluaGVyaXQgcHlwaQogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNtbWFwLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc21tYXAuaW5jCmluZGV4IDU1YWE1MTYuLjFhMjI1OWUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc21tYXAuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc21tYXAuaW5jCkBAIC05LDEwICs5LDEyIEBACiAKIGluaGVyaXQgcHlwaQogCi1TUkNfVVJJW21kNXN1bV0gPSAiZDc5MzJkNWFjZTIwNmJmNGFlMTUxOThjZjM2ZmI2YWIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGUyYjYyYjQ5N2JkNWYwYWZlYmMwMDJlZGE0ZDkwZGY5ZDIwOWMzMGVmMjU3ZTg2NzNjOTBhNmI1YzExOWQ2MiIKK1BZUElfUEFDS0FHRSA9ICJzbW1hcDIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxYzU5YTk4NWJlNWFhNjQ1YzRjNWE0ZTA2M2E0MGRkNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyOWE5ZmZhMDQ5N2U3ZjJiZTk0Y2EwZWQxY2ExYWEzY2Q0Y2YyNWExZjZiNGY1Zjg3Zjc0YjQ2ZWQ5MWQ2MDlhIgogCiBSREVQRU5EU18ke1BOfSArPSAiJHtQWVRIT05fUE59LWNvZGVjcyBcCiAgICAgICAgICAgICAgICAgICAgJHtQWVRIT05fUE59LW1tYXAgXAogIgotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmVzZGsiCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLzAwMDEtcHl0aG9uMi11c2UtY2NfYmFzZW5hbWUtdG8tcmVwbGFjZS1DQy1mb3ItY2hlY2tpbmctYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24vMDAwMS1weXRob24yLXVzZS1jY19iYXNlbmFtZS10by1yZXBsYWNlLUNDLWZvci1jaGVja2luZy1jLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlNGY4MjAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLzAwMDEtcHl0aG9uMi11c2UtY2NfYmFzZW5hbWUtdG8tcmVwbGFjZS1DQy1mb3ItY2hlY2tpbmctYy5wYXRjaApAQCAtMCwwICsxLDExNCBAQAorRnJvbSAzZjQ5YmU4MWUzMWMxNjQ2NTRhZWIxMGI2NWViYWRlOTgyY2EyZWQ4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMjIgT2N0IDIwMTggMTU6MjQ6NDggKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gcHl0aG9uMjogdXNlIGNjX2Jhc2VuYW1lIHRvIHJlcGxhY2UgQ0MgZm9yIGNoZWNraW5nIGNvbXBpbGVyCisKK1doZW4gd29ya2luZyBwYXRoIGNvbnRhaW5zICJjbGFuZyIvImdjYyIvImljYyIsIGl0IG1pZ2h0IGJlIHBhcnQgb2YgJENDCitiZWNhdXNlIG9mIHRoZSAiLS1zeXNyb290IiBwYXJhbWV0ZXIuIFRoYXQgY291bGQgY2F1c2UganVkZ2VtZW50IGVycm9yCithYm91dCBjbGFuZy9nY2MvaWNjIGNvbXBpbGVycy4gZS5nLgorV2hlbiAiaWNjIiBpcyBjb250YWluZGVkIGluIHdvcmtpbmcgcGF0aCwgYmVsb3cgZXJyb3JzIGFyZSByZXBvcnRlZCB3aGVuCitjb21waWxpbmcgcHl0aG9uOgoreDg2XzY0LXdycy1saW51eC1nY2M6IGVycm9yOiBzdHJpY3Q6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKK3g4Nl82NC13cnMtbGludXgtZ2NjOiBlcnJvcjogdW5yZWNvZ25pemVkIGNvbW1hbmQgbGluZSBvcHRpb24gJy1mcC1tb2RlbCcKKworSGVyZSB1c2UgY2NfYmFzZW5hbWUgdG8gcmVwbGFjZSBDQyBmb3IgY2hlY2tpbmcgY29tcGlsZXIgdG8gYXZvaWQgc3VjaAora2luZCBvZiBpc3N1ZS4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IExpIFpob3UgPGxpLnpob3VAd2luZHJpdmVyLmNvbT4KKworUGF0Y2ggb3JpZ25hbGx5IGZyb20gTGkgWmhvdSwgSSBqdXN0IHJld29yayBpdCB0byBuZXcgdmVyc2lvbgorCitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgMTggKysrKysrKysrLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggZGIxYzk0MC4uZGZjZDg5YSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNjg0LDcgKzY4NCw3IEBAIEFDX01TR19SRVNVTFQoJHdpdGhfY3h4X21haW4pCisgcHJlc2V0X2N4eD0iJENYWCIKKyBpZiB0ZXN0IC16ICIkQ1hYIgorIHRoZW4KKy0gICAgICAgIGNhc2UgIiRDQyIgaW4KKysgICAgICAgIGNhc2UgIiRjY19iYXNlbmFtZSIgaW4KKyAgICAgICAgIGdjYykgICAgQUNfUEFUSF9UT09MKENYWCwgW2crK10sIFtnKytdLCBbbm90Zm91bmRdKSA7OworICAgICAgICAgY2MpICAgICBBQ19QQVRIX1RPT0woQ1hYLCBbYysrXSwgW2MrK10sIFtub3Rmb3VuZF0pIDs7CisgICAgICAgICBlc2FjCitAQCAtNzU3LDE0ICs3NTcsMTQgQEAgcm1kaXIgQ2FzZVNlbnNpdGl2ZVRlc3REaXIKKyAKKyBjYXNlICRNQUNIREVQIGluCisgYnNkb3MqKQorLSAgICBjYXNlICRDQyBpbgorKyAgICBjYXNlICRjY19iYXNlbmFtZSBpbgorICAgICBnY2MpIENDPSIkQ0MgLURfSEFWRV9CU0RJIjs7CisgICAgIGVzYWM7OworIGVzYWMKKyAKKyBjYXNlICRhY19zeXNfc3lzdGVtIGluCisgaHAqfEhQKikKKy0gICAgY2FzZSAkQ0MgaW4KKysgICAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KKyAgICAgY2N8Ki9jYykgQ0M9IiRDQyAtQWUiOzsKKyAgICAgZXNhYzs7CisgU3VuT1MqKQorQEAgLTEwODQsNyArMTA4NCw3IEBAIHRoZW4KKyAgICAgICAgIGZpCisgCisgICAgICAgICAjIENsYW5nIGFsc28gbmVlZHMgLWZ3cmFwdgorLSAgICAgICAgY2FzZSAkQ0MgaW4KKysgICAgICAgIGNhc2UgJGNjX2Jhc2VuYW1lIGluCisgICAgICAgICAgICAgKmNsYW5nKikgV1JBUD0iLWZ3cmFwdiIKKyAgICAgICAgICAgICA7OworICAgICAgICAgZXNhYworQEAgLTEzMDQsNyArMTMwNCw3IEBAIHllcykKKyBlc2FjCisgCisgIyBJQ0MgbmVlZHMgLWZwLW1vZGVsIHN0cmljdCBvciBmbG9hdHMgYmVoYXZlIGJhZGx5CistY2FzZSAiJENDIiBpbgorK2Nhc2UgIiRjY19iYXNlbmFtZSIgaW4KKyAqaWNjKikKKyAgICAgQkFTRUNGTEFHUz0iJEJBU0VDRkxBR1MgLWZwLW1vZGVsIHN0cmljdCIKKyAgICAgOzsKK0BAIC0xNDQzLDcgKzE0NDMsNyBAQCBlbHNlCisgZmldLAorIFtBQ19NU0dfUkVTVUxUKG5vKV0pCisgaWYgdGVzdCAiJFB5X0xUTyIgPSAndHJ1ZScgOyB0aGVuCistICBjYXNlICRDQyBpbgorKyAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KKyAgICAgKmNsYW5nKikKKyAgICAgICAjIEFueSBjaGFuZ2VzIG1hZGUgaGVyZSBzaG91bGQgYmUgcmVmbGVjdGVkIGluIHRoZSBHQ0MrRGFyd2luIGNhc2UgYmVsb3cKKyAgICAgICBMVE9GTEFHUz0iLWZsdG8iCitAQCAtMTUwOCw3ICsxNTA4LDcgQEAgdGhlbgorICAgZmkKKyBmaQorIExMVk1fUFJPRl9FUlI9bm8KKy1jYXNlICRDQyBpbgorK2Nhc2UgJGNjX2Jhc2VuYW1lIGluCisgICAqY2xhbmcqKQorICAgICAjIEFueSBjaGFuZ2VzIG1hZGUgaGVyZSBzaG91bGQgYmUgcmVmbGVjdGVkIGluIHRoZSBHQ0MrRGFyd2luIGNhc2UgYmVsb3cKKyAgICAgUEdPX1BST0ZfR0VOX0ZMQUc9Ii1mcHJvZmlsZS1pbnN0ci1nZW5lcmF0ZSIKK0BAIC0yMzIyLDcgKzIzMjIsNyBAQCB0aGVuCisgCQl0aGVuIENDU0hBUkVEPSItZlBJQyIKKyAJCWVsc2UgQ0NTSEFSRUQ9Ii1LcGljIC1iZWxmIgorIAkJZmk7OworLQlJUklYKi82KikgIGNhc2UgJENDIGluCisrCUlSSVgqLzYqKSAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KKyAJCSAgICpnY2MqKSBDQ1NIQVJFRD0iLXNoYXJlZCI7OworIAkJICAgKikgQ0NTSEFSRUQ9IiI7OworIAkJICAgZXNhYzs7CitAQCAtMjM2Niw3ICsyMzY2LDcgQEAgdGhlbgorIAkJdGhlbgorIAkJCUxJTktGT1JTSEFSRUQ9Ii1XbCwtLWV4cG9ydC1keW5hbWljIgorIAkJZmk7OworLQlTdW5PUy81KikgY2FzZSAkQ0MgaW4KKysJU3VuT1MvNSopIGNhc2UgJGNjX2Jhc2VuYW1lIGluCisgCQkgICpnY2MqKQorIAkJICAgIGlmICRDQyAtWGxpbmtlciAtLWhlbHAgMj4mMSB8IGdyZXAgZXhwb3J0LWR5bmFtaWMgPi9kZXYvbnVsbAorIAkJICAgIHRoZW4KKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi9jcmVhdGVfbWFuaWZlc3QyLnB5IGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi9jcmVhdGVfbWFuaWZlc3QyLnB5CmluZGV4IGI2NzQ4NjUuLjM0NjU5NTEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24vY3JlYXRlX21hbmlmZXN0Mi5weQorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uL2NyZWF0ZV9tYW5pZmVzdDIucHkKQEAgLTIwOSw3ICsyMDksMTMgQEAKIAogICAgICAgICAgICAgaW5Gb2xkZXJzPUZhbHNlCiAgICAgICAgICAgICBmb3IgZm9sZGVyIGluIGFsbGZvbGRlcnM6Ci0gICAgICAgICAgICAgICAgaWYgZm9sZGVyIGluIGl0ZW06CisgICAgICAgICAgICAgICAgIyBUaGUgbW9kdWxlIGNvdWxkIGhhdmUgYSBkaXJlY3RvcnkgbmFtZWQgYWZ0ZXIgaXQsIGUuZy4geG1sLCBpZiB3ZSB0YWtlIG91dCB0aGUgZmlsZW5hbWUgZnJvbSB0aGUgcGF0aAorICAgICAgICAgICAgICAgICMgd2UnbGwgZW5kIHVwIHdpdGggJHtsaWJkaXJ9LCBhbmQgd2Ugd2FudCAke2xpYmRpcn0veG1sCisgICAgICAgICAgICAgICAgaWYgaXNGb2xkZXIoaXRlbSk6CisgICAgICAgICAgICAgICAgICAgIGNoZWNrX3BhdGggPSBpdGVtCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgY2hlY2tfcGF0aCA9IG9zLnBhdGguZGlybmFtZShpdGVtKQorICAgICAgICAgICAgICAgIGlmIGZvbGRlciBpbiBjaGVja19wYXRoIDoKICAgICAgICAgICAgICAgICAgICAgaW5Gb2xkZXJzID0gVHJ1ZSAjIERpZCB3ZSBmaW5kIGEgZm9sZGVyPwogICAgICAgICAgICAgICAgICAgICBmb2xkZXJGb3VuZCA9IEZhbHNlICMgU2Vjb25kIGZsYWcgdG8gYnJlYWsgaW5uZXIgZm9yCiAgICAgICAgICAgICAgICAgICAgICMgTG9vcCBvbmx5IHRocm91Z2ggcGFja2FnZXMgd2hpY2ggY29udGFpbiBmb2xkZXJzCkBAIC0yNjIsMTYgKzI2OCwxNiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3X21hbmlmZXN0W2tleV1bJ3JkZXBlbmRzJ10uYXBwZW5kKG5ld2tleSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgIyBEZWJ1ZwotICAgICAgICAgICAgICAgICAgICAgIHByaW50KCdBZGRpbmcgJXMgdG8gJXMgRklMRVMnICUgKGl0ZW0sIGtleSkpCi0gICAgICAgICAgICAgICAgICAgICAgIyBTaW5jZSBpdCB3YXNudCBmb3VuZCBvbiBhbm90aGVyIHBhY2thZ2UsIGl0cyBub3QgYW4gUkRFUCwgc28gYWRkIGl0IHRvIEZJTEVTIGZvciB0aGlzIHBhY2thZ2UKLSAgICAgICAgICAgICAgICAgICAgICBuZXdfbWFuaWZlc3Rba2V5XVsnZmlsZXMnXS5hcHBlbmQoaXRlbSkKLSAgICAgICAgICAgICAgICAgICAgICBpZiBpdGVtLmVuZHN3aXRoKCcqJyk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIHdpbGRjYXJkcy5hcHBlbmQoaXRlbSkKLSAgICAgICAgICAgICAgICAgICAgICBpZiBpdGVtIG5vdCBpbiBhbGxmaWxlczoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsZmlsZXMuYXBwZW5kKGl0ZW0pCi0gICAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwZWF0ZWQuYXBwZW5kKGl0ZW0pCisgICAgICAgICAgICAgICAgICAgICAgICAjIERlYnVnCisgICAgICAgICAgICAgICAgICAgICAgICBwcmludCgnQWRkaW5nICVzIHRvICVzIEZJTEVTJyAlIChpdGVtLCBrZXkpKQorICAgICAgICAgICAgICAgICAgICAgICAgIyBTaW5jZSBpdCB3YXNudCBmb3VuZCBvbiBhbm90aGVyIHBhY2thZ2UsIGl0cyBub3QgYW4gUkRFUCwgc28gYWRkIGl0IHRvIEZJTEVTIGZvciB0aGlzIHBhY2thZ2UKKyAgICAgICAgICAgICAgICAgICAgICAgIG5ld19tYW5pZmVzdFtrZXldWydmaWxlcyddLmFwcGVuZChpdGVtKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgaXRlbS5lbmRzd2l0aCgnKicpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbGRjYXJkcy5hcHBlbmQoaXRlbSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIGl0ZW0gbm90IGluIGFsbGZpbGVzOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsbGZpbGVzLmFwcGVuZChpdGVtKQorICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBlYXRlZC5hcHBlbmQoaXRlbSkKIAogcHJpbnQgKCdUaGUgZm9sbG93aW5nIGZpbGVzIGFyZSByZXBlYXRlZCAoY29udGFpbmVkIGluIG1vcmUgdGhhbiBvbmUgcGFja2FnZSksIHBsZWFzZSBjaGVjayB3aGljaCBwYWNrYWdlIHNob3VsZCBnZXQgaXQ6JykKIHByaW50IChyZXBlYXRlZCkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24vcHl0aG9uMi1tYW5pZmVzdC5qc29uIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi9weXRob24yLW1hbmlmZXN0Lmpzb24KaW5kZXggYzA5MmU2OS4uZWI1MmU4NiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi9weXRob24yLW1hbmlmZXN0Lmpzb24KKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi9weXRob24yLW1hbmlmZXN0Lmpzb24KQEAgLTEwOSw3ICsxMDksNyBAQAogICAgICAgICAgICAgImNvcmUiCiAgICAgICAgIF0sIAogICAgICAgICAiZmlsZXMiOiBbCi0gICAgICAgICAgICAiJHtiaW5kaXJ9LzJ0bzMiLCAKKyAgICAgICAgICAgICIke2JpbmRpcn0vMnRvMyoiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24yLjcvbGliMnRvMyIKICAgICAgICAgXQogICAgIH0sIApAQCAtMTA1Niw2ICsxMDU2LDcgQEAKICAgICAgICAgICAgICJjb3JlIgogICAgICAgICBdLCAKICAgICAgICAgImZpbGVzIjogWworICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2xpYi1keW5sb2FkL190a2ludGVyLnNvIiwKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uMi43L2xpYi10ayIKICAgICAgICAgXQogICAgIH0sIApAQCAtMTEyMSw3ICsxMTIyLDggQEAKICAgICAgICAgXSwgCiAgICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uMi43L0RvY1hNTFJQQ1NlcnZlci5weSIsIAotICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24yLjcvU2ltcGxlWE1MUlBDU2VydmVyLnB5IgorICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24yLjcvU2ltcGxlWE1MUlBDU2VydmVyLnB5IiwgCisgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbjIuNy94bWxycGNsaWIucHkiCiAgICAgICAgIF0KICAgICB9LCAKICAgICAiemxpYiI6IHsKQEAgLTExMzMsNCArMTEzNSw0IEBACiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbjIuNy9saWItZHlubG9hZC96bGliLnNvIgogICAgICAgICBdCiAgICAgfQotfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24vcnVuLXB0ZXN0IGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi9ydW4tcHRlc3QKaW5kZXggODMyNTUxYS4uMTNkZmM5OSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi9ydW4tcHRlc3QKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi9ydW4tcHRlc3QKQEAgLTEsMyArMSwzIEBACiAjIS9iaW4vc2gKIAotcHl0aG9uIC1tIHRlc3QucmVncnRlc3QgLXYgfCBzZWQgLWUgJy9cLlwuXC4gb2svIHMvXi9QQVNTOiAvZycgLWUgJy9cLlwuXC4gW0VSUk9SfEZBSUxdLyBzL14vRkFJTDogL2cnIC1lICcvXC5cLlwuIHNraXBwZWQvIHMvXi9TS0lQOiAvZycgLWUgJ3MvIFwuXC5cLiBvay8vZycgLWUgJ3MvIFwuXC5cLiBFUlJPUi8vZycgLWUgJ3MvIFwuXC5cLiBGQUlMLy9nJyAtZSAncy8gXC5cLlwuIHNraXBwZWQvL2cnCitweXRob24gLW10ZXN0IC1XIHwgc2VkIC1lICcvXC5cLlwuIG9rLyBzL14vUEFTUzogL2cnIC1lICcvXC5cLlwuIFtFUlJPUnxGQUlMXS8gcy9eL0ZBSUw6IC9nJyAtZSAnL1wuXC5cLiBza2lwcGVkLyBzL14vU0tJUDogL2cnIC1lICdzLyBcLlwuXC4gb2svL2cnIC1lICdzLyBcLlwuXC4gRVJST1IvL2cnIC1lICdzLyBcLlwuXC4gRkFJTC8vZycgLWUgJ3MvIFwuXC5cLiBza2lwcGVkLy9nJwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZ2l0ZGJfMi4wLjQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1naXRkYl8yLjAuNS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZ2l0ZGJfMi4wLjQuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWdpdGRiXzIuMC41LmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1uYXRpdmVfMy41LjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1uYXRpdmVfMy41LjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM3YmM0ZjMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtbmF0aXZlXzMuNS42LmJiCisrKyAvZGV2L251bGwKQEAgLTEsOTkgKzAsMCBAQAotcmVxdWlyZSByZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLmluYwotCi1ESVNUUk9fU1JDX1VSSSA/PSAiZmlsZTovL3NpdGVjdXN0b21pemUucHkiCi1ESVNUUk9fU1JDX1VSSV9saW51eHN0ZGJhc2UgPSAiIgotU1JDX1VSSSA9ICJodHRwOi8vd3d3LnB5dGhvbi5vcmcvZnRwL3B5dGhvbi8ke1BWfS9QeXRob24tJHtQVn0udGFyLnh6IFwKLWZpbGU6Ly8xMi1kaXN0dXRpbHMtcHJlZml4LWlzLWluc2lkZS1zdGFnaW5nLWFyZWEucGF0Y2ggXAotZmlsZTovL3B5dGhvbi1jb25maWcucGF0Y2ggXAotZmlsZTovLzAzMC1maXh1cC1pbmNsdWRlLWRpcnMucGF0Y2ggXAotZmlsZTovLzA4MC1kaXN0dXRpbHMtZG9udF9hZGp1c3RfZmlsZXMucGF0Y2ggXAotZmlsZTovLzEzMC1yZWFkbGluZS1zZXR1cC5wYXRjaCBcCi1maWxlOi8vMTUwLWZpeC1zZXR1cHRlcm0ucGF0Y2ggXAotZmlsZTovL3B5dGhvbi0zLjMtbXVsdGlsaWIucGF0Y2ggXAotZmlsZTovLzAzLWZpeC10a2ludGVyLWRldGVjdGlvbi5wYXRjaCBcCi1maWxlOi8vYXZvaWRfd2FybmluZ19hYm91dF90a2ludGVyLnBhdGNoIFwKLWZpbGU6Ly8wMDAxLWgycHktRml4LWlzc3VlLTEzMDMyLXdoZXJlLWl0LWZhaWxzLXdpdGgtVW5pY29kZURlY28ucGF0Y2ggXAotZmlsZTovL3N5c3Jvb3QtaW5jbHVkZS1oZWFkZXJzLnBhdGNoIFwKLWZpbGU6Ly91bml4Y2NvbXBpbGVyLnBhdGNoIFwKLSR7RElTVFJPX1NSQ19VUkl9IFwKLWZpbGU6Ly9zeXNjb25maWcucHktYWRkLV9QWVRIT05fUFJPSkVDVF9TUkMucGF0Y2ggXAotZmlsZTovL3NldHVwLnB5LWNoZWNrLWNyb3NzX2NvbXBpbGluZy13aGVuLWdldC1GTEFHUy5wYXRjaCBcCi1maWxlOi8vMDAwMS1Eby1ub3QtdXNlLXRoZS1zaGVsbC12ZXJzaW9uLW9mLXB5dGhvbi1jb25maWctdGhhdC13LnBhdGNoIFwKLWZpbGU6Ly9zdXBwb3J0X1NPVVJDRV9EQVRFX0VQT0NIX2luX3B5X2NvbXBpbGUucGF0Y2ggXAotZmlsZTovL3JlZ2VuLWFsbC5wYXRjaCBcCi1maWxlOi8vMDAwMS1Jc3N1ZS0yODA0My1TU0xDb250ZXh0LWhhcy1pbXByb3ZlZC1kZWZhdWx0LXNldHRpbmdzLnBhdGNoIFwKLWZpbGU6Ly8wMDAyLWJwby0yOTEzNi1BZGQtVExTLTEuMy1jaXBoZXItc3VpdGVzLWFuZC1PUF9OT19UTFN2MV8ucGF0Y2ggXAotZmlsZTovLzAwMDMtYnBvLTMyOTQ3LUZpeGVzLWZvci1UTFMtMS4zLWFuZC1PcGVuU1NMLTEuMS4xLUdILTg3Ni5wYXRjaCBcCi1maWxlOi8vMDAwNC1icG8tMzM1NzAtVExTLTEuMy1jaXBoZXJzLWZvci1PcGVuU1NMLTEuMS4xLUdILTY5NzYucGF0Y2ggXAotZmlsZTovLzAwMDUtYnBvLTMwNzE0LUFMUE4tY2hhbmdlcy1mb3ItT3BlblNTTC0xLjEuMGYtMjMwNS5wYXRjaCBcCi0iCi0KLUVYVFJBTkFUSVZFUEFUSCArPSAiYnppcDItbmF0aXZlIgotREVQRU5EUyA9ICJvcGVuc3NsLW5hdGl2ZSBiemlwMi1yZXBsYWNlbWVudC1uYXRpdmUgemxpYi1uYXRpdmUgcmVhZGxpbmUtbmF0aXZlIHNxbGl0ZTMtbmF0aXZlIGdkYm0tbmF0aXZlIgotCi1pbmhlcml0IG5hdGl2ZQotCi1FWFRSQV9PRUNPTkZfYXBwZW5kID0gIiAtLWJpbmRpcj0ke2JpbmRpcn0vJHtQTn0gLS13aXRob3V0LWVuc3VyZXBpcCIKLQotRVhUUkFfT0VNQUtFID0gJ1wKLSAgTElCQz0iIiBcCi0gIFNUQUdJTkdfTElCRElSPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfSBcCi0gIFNUQUdJTkdfSU5DRElSPSR7U1RBR0lOR19JTkNESVJfTkFUSVZFfSBcCi0gIExJQj0ke2Jhc2VsaWJ9IFwKLSAgQVJDSD0ke1RBUkdFVF9BUkNIfSBcCi0nCi0KLWRvX2NvbmZpZ3VyZV9hcHBlbmQoKSB7Ci0JYXV0b3JlY29uZiAtLXZlcmJvc2UgLS1pbnN0YWxsIC0tZm9yY2UgLS1leGNsdWRlPWF1dG9wb2ludCAuLi9QeXRob24tJHtQVn0vTW9kdWxlcy9fY3R5cGVzL2xpYmZmaQotCXNlZCAtaSAtZSAncywjZGVmaW5lIEhBVkVfR0VUUkFORE9NIDEsL1wqICN1bmRlZiBIQVZFX0dFVFJBTkRPTSBcKi8sJyAke0J9L3B5Y29uZmlnLmgKLX0KLQotIyBSZWdlbmVyYXRlIGFsbCBvZiB0aGUgZ2VuZXJhdGVkIGZpbGVzCi0jIFRoaXMgZW5zdXJlcyB0aGF0IHBnZW4gYW5kIGZyaWVuZHMgZ2V0IGNyZWF0ZWQgZHVyaW5nIHRoZSBjb21waWxlIHBoYXNlCi0jCi1kb19jb21waWxlX3ByZXBlbmQoKSB7Ci0gICAgIyBBc3N1bWluZyBodHRwczovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTMzMDgwIGhhcyBiZWVuIGFkZHJlc3NlZCBpbiBNYWtlZmlsZS4KLSAgICBvZV9ydW5tYWtlIHJlZ2VuLWFsbAotfQotCi1kb19pbnN0YWxsKCkgewotCWluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS9wa2djb25maWcKLQlvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwKLQlpZiBbIC1lICR7V09SS0RJUn0vc2l0ZWN1c3RvbWl6ZS5weSBdOyB0aGVuCi0JCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3NpdGVjdXN0b21pemUucHkgJHtEfS8ke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfQotCWZpCi0JaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9LyR7UE59Ci0JaW5zdGFsbCAtbSAwNzU1IFBhcnNlci9wZ2VuICR7RH0ke2JpbmRpcn0vJHtQTn0KLQotCSMgTWFrZSBzdXJlIHdlIHVzZSAvdXNyL2Jpbi9lbnYgcHl0aG9uCi0JZm9yIFBZVEhTQ1JJUFQgaW4gYGdyZXAgLXJJbCAke2JpbmRpcn0vJHtQTn0vcHl0aG9uICR7RH0ke2JpbmRpcn0vJHtQTn1gOyBkbwotCQlzZWQgLWkgLWUgJzFzfF4jIS4qfCMhL3Vzci9iaW4vZW52IHB5dGhvbjN8JyAkUFlUSFNDUklQVAotCWRvbmUKLQotICAgICAgICAjIEFkZCBhIHN5bWxpbmsgdG8gdGhlIG5hdGl2ZSBQeXRob24gc28gdGhhdCBzY3JpcHRzIGNhbiBqdXN0IGludm9rZQotICAgICAgICAjICJuYXRpdmVweXRob24iIGFuZCBnZXQgdGhlIHJpZ2h0IG9uZSB3aXRob3V0IG5lZWRpbmcgYWJzb2x1dGUgcGF0aHMKLSAgICAgICAgIyAodGhlc2Ugb2Z0ZW4gZW5kIHVwIHRvbyBsb25nIGZvciB0aGUgIyEgcGFyc2VyIGluIHRoZSBrZXJuZWwgYXMgdGhlCi0gICAgICAgICMgYnVmZmVyIGlzIDEyOCBieXRlcyBsb25nKS4KLSAgICAgICAgbG4gLXMgcHl0aG9uMy1uYXRpdmUvcHl0aG9uMyAke0R9JHtiaW5kaXJ9L25hdGl2ZXB5dGhvbjMKLX0KLQotcHl0aG9uKCl7Ci0KLSAgICAjIFJlYWQgSlNPTiBtYW5pZmVzdAotICAgIGltcG9ydCBqc29uCi0gICAgcHl0aG9uZGlyID0gZC5nZXRWYXIoJ1RISVNESVInKQotICAgIHdpdGggb3BlbihweXRob25kaXIrJy9weXRob24zL3B5dGhvbjMtbWFuaWZlc3QuanNvbicpIGFzIG1hbmlmZXN0X2ZpbGU6Ci0gICAgICAgIHB5dGhvbl9tYW5pZmVzdD1qc29uLmxvYWQobWFuaWZlc3RfZmlsZSkKLQotICAgIHJwcm92aWRlcyA9IGQuZ2V0VmFyKCdSUFJPVklERVMnKS5zcGxpdCgpCi0KLSAgICAjIEhhcmRjb2RlZCBzaW5jZSBpdCBjYW50IGJlIHB5dGhvbjMtbmF0aXZlLWZvbywgc2hvdWxkIGJlIHB5dGhvbjMtZm9vLW5hdGl2ZQotICAgIHBuID0gJ3B5dGhvbjMnCi0KLSAgICBmb3Iga2V5IGluIHB5dGhvbl9tYW5pZmVzdDoKLSAgICAgICAgcHlwYWNrYWdlID0gcG4gKyAnLScgKyBrZXkgKyAnLW5hdGl2ZScKLSAgICAgICAgaWYgcHlwYWNrYWdlIG5vdCBpbiBycHJvdmlkZXM6Ci0gICAgICAgICAgICAgIHJwcm92aWRlcy5hcHBlbmQocHlwYWNrYWdlKQotCi0gICAgZC5zZXRWYXIoJ1JQUk9WSURFUycsICcgJy5qb2luKHJwcm92aWRlcykpCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1wYnJfNC4yLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1wYnJfNC4yLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk3ZTczNjEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcGJyXzQuMi4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1pbmhlcml0IHNldHVwdG9vbHMzCi1yZXF1aXJlIHB5dGhvbi1wYnIuaW5jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1wYnJfNS4xLjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1wYnJfNS4xLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2JhMWQwMwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXBicl81LjEuMi5iYgpAQCAtMCwwICsxLDUgQEAKK2luaGVyaXQgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLXBici5pbmMKK1NSQ19VUklbbWQ1c3VtXSA9ICJiZWE1NTY3ODM0NWJkNzdiNGZmNWIyZWJiNzI5ZmQ2ZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkNzE3NTczMzUxY2ZlMDlmNDlkZjYxOTA2Y2QyNzJhYmFhNzU5YjNlOTE3NDQzOTZiODA0OTY1ZmY3YmZmMzhiIgorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1waXBfMTguMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXBpcF8xOC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZmNkYjgwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXBpcF8xOC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotU1VNTUFSWSA9ICJUaGUgUHlQQSByZWNvbW1lbmRlZCB0b29sIGZvciBpbnN0YWxsaW5nIFB5dGhvbiBwYWNrYWdlcyIKLUhPTUVQQUdFID0gImh0dHBzOi8vcHlwaS5weXRob24ub3JnL3B5cGkvcGlwIgotU0VDVElPTiA9ICJkZXZlbC9weXRob24iCi1MSUNFTlNFID0gIk1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT01OTNjNmNkOWQ2MzkzMDcyMjY5NzhjYmNhZTYxYWQ0YiIKLQotREVQRU5EUyArPSAicHl0aG9uMyBweXRob24zLXNldHVwdG9vbHMtbmF0aXZlIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNTJmNzVjZWIyMWU5NmMyNThmMjg5ODU5YTI5OTZiNjAiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTBlMTE2NDVlZTM3YzkwYjQwYzQ2ZDYwNzA3MGM0ZmQ1ODNlMmNkNDYyMzFiMWMwNmUzODljNWU4MTRlZWQ3NiIKLQotaW5oZXJpdCBweXBpIGRpc3R1dGlsczMKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgIyBJbnN0YWxsIGFzIHBpcDMgYW5kIGxlYXZlIHBpcDIgYXMgZGVmYXVsdAotICAgIHJtICR7RH0vJHtiaW5kaXJ9L3BpcAotfQotCi1SREVQRU5EU18ke1BOfSA9ICJcCi0gIHB5dGhvbjMtY29tcGlsZSBcCi0gIHB5dGhvbjMtaW8gXAotICBweXRob24zLWh0bWwgXAotICBweXRob24zLWpzb24gXAotICBweXRob24zLW5ldHNlcnZlciBcCi0gIHB5dGhvbjMtc2V0dXB0b29scyBcCi0gIHB5dGhvbjMtdW5peGFkbWluIFwKLSAgcHl0aG9uMy14bWxycGMgXAotIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1waXBfMTkuMC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcGlwXzE5LjAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kODFhNjBjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcGlwXzE5LjAuMi5iYgpAQCAtMCwwICsxLDMwIEBACitTVU1NQVJZID0gIlRoZSBQeVBBIHJlY29tbWVuZGVkIHRvb2wgZm9yIGluc3RhbGxpbmcgUHl0aG9uIHBhY2thZ2VzIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcHlwaS9waXAiCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PThiYTA2ZDUyOWM5NTUwNDhlNWRkZDdjNDU0NTllYjJlIgorCitERVBFTkRTICs9ICJweXRob24zIHB5dGhvbjMtc2V0dXB0b29scy1uYXRpdmUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1MjZmZDllYzFlNmVhOTU2YjM1NzFlYmZiNDJjZjgzYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmODUxMTMzZjhiNTgyODNmYTUwZDhjNzg2NzVlYjg4ZDRmZjRjZGUyOWI2YzQxMjA1Y2Q5MzhiMDYzMzhlMGU1IgorCitpbmhlcml0IHB5cGkgZGlzdHV0aWxzMworCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAjIEluc3RhbGwgYXMgcGlwMyBhbmQgbGVhdmUgcGlwMiBhcyBkZWZhdWx0CisgICAgcm0gJHtEfS8ke2JpbmRpcn0vcGlwCit9CisKK1JERVBFTkRTXyR7UE59ID0gIlwKKyAgcHl0aG9uMy1jb21waWxlIFwKKyAgcHl0aG9uMy1pbyBcCisgIHB5dGhvbjMtaHRtbCBcCisgIHB5dGhvbjMtanNvbiBcCisgIHB5dGhvbjMtbmV0c2VydmVyIFwKKyAgcHl0aG9uMy1zZXR1cHRvb2xzIFwKKyAgcHl0aG9uMy11bml4YWRtaW4gXAorICBweXRob24zLXhtbHJwYyBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNldHVwdG9vbHNfNDAuMC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtc2V0dXB0b29sc180MC44LjAuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNldHVwdG9vbHNfNDAuMC4wLmJiCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1zZXR1cHRvb2xzXzQwLjguMC5iYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtc2l4XzEuMTEuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNpeF8xLjEyLjAuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNpeF8xLjExLjAuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNpeF8xLjEyLjAuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNtbWFwXzAuOS4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtc21tYXBfMi4wLjUuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNtbWFwXzAuOS4wLmJiCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1zbW1hcF8yLjAuNS5iYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMuaW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNTY1YjNmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLmluYworKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLVNVTU1BUlkgPSAiVGhlIFB5dGhvbiBQcm9ncmFtbWluZyBMYW5ndWFnZSIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cucHl0aG9uLm9yZyIKLUxJQ0VOU0UgPSAiUFNGdjIiCi1TRUNUSU9OID0gImRldmVsL3B5dGhvbiIKLQotIyBUT0RPIFJlbW92ZSB0aGlzIHdoZW4gd2UgdXBncmFkZQotSU5DX1BSID0gInIxIgotUFIgPSAiJHtJTkNfUFJ9LjAiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWI2ZWM1MTViMjI2MThmNTVmYTA3Mjc2Yjg5N2JhY2VhIgotCi0jIFRPRE8gY29uc29saWRhdGUgcGF0Y2ggc2V0Ci1TUkNfVVJJW21kNXN1bV0gPSAiZjVhOTlmNzY1ZTc2NTMzNmEzZWJiYjJhMjRjYTJiZTMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjU1Y2RlMDRmNTIxZjI3M2M3Y2JhMDg5MTI5MjFjYzU2NDJjZmMxNWNhN2IyMmQ1ODI5ZjBhZmY0MzcxMTU1ZiIKLQotIyBleGNsdWRlIHByZS1yZWxlYXNlcyBmb3IgYm90aCBweXRob24gMi54IGFuZCAzLngKLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gIltQcF15dGhvbi0oP1A8cHZlcj5cZCsoXC5cZCspKykudGFyIgotCi1DVkVfUFJPRFVDVCA9ICJweXRob24iCi0KLVBZVEhPTl9NQUpNSU4gPSAiMy41IgotUFlUSE9OX0JJTkFCSSA9ICIke1BZVEhPTl9NQUpNSU59bSIKLQotUyA9ICIke1dPUktESVJ9L1B5dGhvbi0ke1BWfSIKLQotaW5oZXJpdCBhdXRvdG9vbHMgYmx1ZXRvb3RoIHBrZ2NvbmZpZwotCi1FWFRSQV9PRUNPTkYgPSAiXAotICAtLXdpdGgtdGhyZWFkcyBcCi0gIC0td2l0aC1weW1hbGxvYyBcCi0gIC0td2l0aG91dC1jeHgtbWFpbiBcCi0gIC0td2l0aC1zaWduYWwtbW9kdWxlIFwKLSAgLS1lbmFibGUtc2hhcmVkIFwKLSAgLS1lbmFibGUtaXB2Nj0ke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCAneWVzJywgJ25vJywgZCl9IFwKLSIKLQotUEFDS0FHRUNPTkZJR1tibHVldG9vdGhdID0gIixhY19jdl9oZWFkZXJfYmx1ZXRvb3RoX2JsdWV0b290aF9oPW5vIGFjX2N2X2hlYWRlcl9ibHVldG9vdGhfaD1ubywke0JMVUVafSIKLQotZG9faW5zdGFsbF9hcHBlbmQgKCkgewotCXNlZCAtaSAtZSAnczoke0hPU1RUT09MU19ESVJ9L2luc3RhbGw6aW5zdGFsbDpnJyBcCi0JCS1lICdzOiR7SE9TVFRPT0xTX0RJUn0vbWtkaXI6bWtkaXI6ZycgXAotCQkke0R9LyR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L19zeXNjb25maWdkYXRhLnB5Ci19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAxLURvLW5vdC1hZGQtdXNyLWxpYi10ZXJtY2FwLXRvLWxpbmtlci1mbGFncy10by1hdm9pZC0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAxLURvLW5vdC1hZGQtdXNyLWxpYi10ZXJtY2FwLXRvLWxpbmtlci1mbGFncy10by1hdm9pZC0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDlmMjc5YmEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAxLURvLW5vdC1hZGQtdXNyLWxpYi10ZXJtY2FwLXRvLWxpbmtlci1mbGFncy10by1hdm9pZC0ucGF0Y2gKQEAgLTAsMCArMSwyNSBAQAorRnJvbSAyMzI5NGM2YmE2ODk2MTE1ODI4MjkzZmRiN2U2N2I0N2IzOGJhNjc1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI1IEphbiAyMDE5IDE5OjA0OjEzICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIERvIG5vdCBhZGQgL3Vzci9saWIvdGVybWNhcCB0byBsaW5rZXIgZmxhZ3MgdG8gYXZvaWQgaG9zdAorIGNvbnRhbWluYXRpb24KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZS1jb3JlIHNwZWNpZmljXQorU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CisKKy0tLQorIHNldHVwLnB5IHwgMSAtCisgMSBmaWxlIGNoYW5nZWQsIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NldHVwLnB5IGIvc2V0dXAucHkKK2luZGV4IGI0MzU3ZTMuLmZiZWMwMGQgMTAwNjQ0CistLS0gYS9zZXR1cC5weQorKysrIGIvc2V0dXAucHkKK0BAIC04NTYsNyArODU2LDYgQEAgY2xhc3MgUHlCdWlsZEV4dChidWlsZF9leHQpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Rlcm1jYXAnKToKKyAgICAgICAgICAgICAgICAgcmVhZGxpbmVfbGlicy5hcHBlbmQoJ3Rlcm1jYXAnKQorICAgICAgICAgICAgIGV4dHMuYXBwZW5kKCBFeHRlbnNpb24oJ3JlYWRsaW5lJywgWydyZWFkbGluZS5jJ10sCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJyYXJ5X2RpcnM9WycvdXNyL2xpYi90ZXJtY2FwJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRyYV9saW5rX2FyZ3M9cmVhZGxpbmVfZXh0cmFfbGlua19hcmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlicmFyaWVzPXJlYWRsaW5lX2xpYnMpICkKKyAgICAgICAgIGVsc2U6CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAxLURvLW5vdC1oYXJkY29kZS1saWItYXMtbG9jYXRpb24tZm9yLXNpdGUtcGFja2FnZXMtYW4ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAxLURvLW5vdC1oYXJkY29kZS1saWItYXMtbG9jYXRpb24tZm9yLXNpdGUtcGFja2FnZXMtYW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjYxZjUyZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtRG8tbm90LWhhcmRjb2RlLWxpYi1hcy1sb2NhdGlvbi1mb3Itc2l0ZS1wYWNrYWdlcy1hbi5wYXRjaApAQCAtMCwwICsxLDE5NiBAQAorRnJvbSAwZmJkYWQxZWFmNTQxYThlOTJiZTgxZjM5NTE0Y2QyNDliM2IwODAxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDUgRmViIDIwMTkgMTU6NTI6MDIgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRG8gbm90IGhhcmRjb2RlICJsaWIiIGFzIGxvY2F0aW9uIGZvciBtb2R1bGVzLCBzaXRlLXBhY2thZ2VzCisgYW5kIGxpYi1keW5sb2FkCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2UtY29yZSBzcGVjaWZpY10KK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorCistLS0KKyBJbmNsdWRlL3B5dGhvbnJ1bi5oICB8ICAyICsrCisgTGliL3NpdGUucHkgICAgICAgICAgfCAgNCArKy0tCisgTWFrZWZpbGUucHJlLmluICAgICAgfCAgNSArKystLQorIE1vZHVsZXMvZ2V0cGF0aC5jICAgIHwgMTggKysrKysrKysrKysrLS0tLS0tCisgUHl0aG9uL2dldHBsYXRmb3JtLmMgfCAxMCArKysrKysrKysrCisgUHl0aG9uL3N5c21vZHVsZS5jICAgfCAgMiArKworIDYgZmlsZXMgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9JbmNsdWRlL3B5dGhvbnJ1bi5oIGIvSW5jbHVkZS9weXRob25ydW4uaAoraW5kZXggNmYwYzZmYy4uMGExN2VkZCAxMDA2NDQKKy0tLSBhL0luY2x1ZGUvcHl0aG9ucnVuLmgKKysrKyBiL0luY2x1ZGUvcHl0aG9ucnVuLmgKK0BAIC03LDYgKzcsOCBAQAorIGV4dGVybiAiQyIgeworICNlbmRpZgorIAorK1B5QVBJX0ZVTkMoY29uc3QgY2hhciAqKSBQeV9HZXRMaWIodm9pZCk7CisrCisgI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQorIFB5QVBJX0ZVTkMoaW50KSBQeVJ1bl9TaW1wbGVTdHJpbmdGbGFncyhjb25zdCBjaGFyICosIFB5Q29tcGlsZXJGbGFncyAqKTsKKyBQeUFQSV9GVU5DKGludCkgUHlSdW5fQW55RmlsZUZsYWdzKEZJTEUgKiwgY29uc3QgY2hhciAqLCBQeUNvbXBpbGVyRmxhZ3MgKik7CitkaWZmIC0tZ2l0IGEvTGliL3NpdGUucHkgYi9MaWIvc2l0ZS5weQoraW5kZXggZmZkMTMyYi4uYjU1ZjZkOCAxMDA2NDQKKy0tLSBhL0xpYi9zaXRlLnB5CisrKysgYi9MaWIvc2l0ZS5weQorQEAgLTMzNCwxMiArMzM0LDEyIEBAIGRlZiBnZXRzaXRlcGFja2FnZXMocHJlZml4ZXM9Tm9uZSk6CisgICAgICAgICBzZWVuLmFkZChwcmVmaXgpCisgCisgICAgICAgICBpZiBvcy5zZXAgPT0gJy8nOgorLSAgICAgICAgICAgIHNpdGVwYWNrYWdlcy5hcHBlbmQob3MucGF0aC5qb2luKHByZWZpeCwgImxpYiIsCisrICAgICAgICAgICAgc2l0ZXBhY2thZ2VzLmFwcGVuZChvcy5wYXRoLmpvaW4ocHJlZml4LCBzeXMubGliLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHl0aG9uJWQuJWQiICUgc3lzLnZlcnNpb25faW5mb1s6Ml0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaXRlLXBhY2thZ2VzIikpCisgICAgICAgICBlbHNlOgorICAgICAgICAgICAgIHNpdGVwYWNrYWdlcy5hcHBlbmQocHJlZml4KQorLSAgICAgICAgICAgIHNpdGVwYWNrYWdlcy5hcHBlbmQob3MucGF0aC5qb2luKHByZWZpeCwgImxpYiIsICJzaXRlLXBhY2thZ2VzIikpCisrICAgICAgICAgICAgc2l0ZXBhY2thZ2VzLmFwcGVuZChvcy5wYXRoLmpvaW4ocHJlZml4LCBzeXMubGliLCAic2l0ZS1wYWNrYWdlcyIpKQorICAgICByZXR1cm4gc2l0ZXBhY2thZ2VzCisgCisgZGVmIGFkZHNpdGVwYWNrYWdlcyhrbm93bl9wYXRocywgcHJlZml4ZXM9Tm9uZSk6CitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUucHJlLmluIGIvTWFrZWZpbGUucHJlLmluCitpbmRleCA2ZTgxYjJmLi42NzFhMjBlIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUucHJlLmluCisrKysgYi9NYWtlZmlsZS5wcmUuaW4KK0BAIC0xNDIsNyArMTQyLDcgQEAgTElCRElSPQkJQGxpYmRpckAKKyBNQU5ESVI9CQlAbWFuZGlyQAorIElOQ0xVREVESVI9CUBpbmNsdWRlZGlyQAorIENPTkZJTkNMVURFRElSPQkkKGV4ZWNfcHJlZml4KS9pbmNsdWRlCistU0NSSVBURElSPQkkKHByZWZpeCkvbGliCisrU0NSSVBURElSPQlAbGliZGlyQAorIEFCSUZMQUdTPQlAQUJJRkxBR1NACisgCisgIyBEZXRhaWxlZCBkZXN0aW5hdGlvbiBkaXJlY3RvcmllcworQEAgLTc2OCw2ICs3NjgsNyBAQCBNb2R1bGVzL2dldHBhdGgubzogJChzcmNkaXIpL01vZHVsZXMvZ2V0cGF0aC5jIE1ha2VmaWxlCisgCQktREVYRUNfUFJFRklYPSciJChleGVjX3ByZWZpeCkiJyBcCisgCQktRFZFUlNJT049JyIkKFZFUlNJT04pIicgXAorIAkJLURWUEFUSD0nIiQoVlBBVEgpIicgXAorKwkJLURMSUI9JyIkKExJQikiJyBcCisgCQktbyAkQCAkKHNyY2RpcikvTW9kdWxlcy9nZXRwYXRoLmMKKyAKKyBQcm9ncmFtcy9weXRob24ubzogJChzcmNkaXIpL1Byb2dyYW1zL3B5dGhvbi5jCitAQCAtODU2LDcgKzg1Nyw3IEBAIHJlZ2VuLW9wY29kZToKKyBQeXRob24vY29tcGlsZS5vIFB5dGhvbi9zeW10YWJsZS5vIFB5dGhvbi9hc3RfdW5wYXJzZS5vIFB5dGhvbi9hc3QubzogJChzcmNkaXIpL0luY2x1ZGUvZ3JhbWluaXQuaCAkKHNyY2RpcikvSW5jbHVkZS9QeXRob24tYXN0LmgKKyAKKyBQeXRob24vZ2V0cGxhdGZvcm0ubzogJChzcmNkaXIpL1B5dGhvbi9nZXRwbGF0Zm9ybS5jCistCQkkKENDKSAtYyAkKFBZX0NPUkVfQ0ZMQUdTKSAtRFBMQVRGT1JNPSciJChNQUNIREVQKSInIC1vICRAICQoc3JjZGlyKS9QeXRob24vZ2V0cGxhdGZvcm0uYworKwkJJChDQykgLWMgJChQWV9DT1JFX0NGTEFHUykgLURQTEFURk9STT0nIiQoTUFDSERFUCkiJyAtRExJQj0nIiQoTElCKSInIC1vICRAICQoc3JjZGlyKS9QeXRob24vZ2V0cGxhdGZvcm0uYworIAorIFB5dGhvbi9pbXBvcnRkbC5vOiAkKHNyY2RpcikvUHl0aG9uL2ltcG9ydGRsLmMKKyAJCSQoQ0MpIC1jICQoUFlfQ09SRV9DRkxBR1MpIC1JJChETElOQ0xESVIpIC1vICRAICQoc3JjZGlyKS9QeXRob24vaW1wb3J0ZGwuYworZGlmZiAtLWdpdCBhL01vZHVsZXMvZ2V0cGF0aC5jIGIvTW9kdWxlcy9nZXRwYXRoLmMKK2luZGV4IGU2YTNlOGUuLjBjNjJhZjYgMTAwNjQ0CistLS0gYS9Nb2R1bGVzL2dldHBhdGguYworKysrIGIvTW9kdWxlcy9nZXRwYXRoLmMKK0BAIC0xMjMsNiArMTIzLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgeworICAgICB3Y2hhcl90ICpleGVjX3ByZWZpeDsgICAgICAgICAgICAgIC8qIEVYRUNfUFJFRklYIGRlZmluZSAqLworIAorICAgICB3Y2hhcl90ICpsaWJfcHl0aG9uOyAgICAgICAgICAgICAgIC8qICJsaWIvcHl0aG9uWC5ZIiAqLworKyAgICB3Y2hhcl90ICptdWx0aWxpYl9weXRob247ICAgICAgICAgICAgICAgLyogImxpYltzdWZmaXhdL3B5dGhvblguWSIgKi8KKyAgICAgd2NoYXJfdCBhcmd2MF9wYXRoW01BWFBBVEhMRU4rMV07CisgICAgIHdjaGFyX3QgemlwX3BhdGhbTUFYUEFUSExFTisxXTsgICAgLyogIi4uLi9saWIvcHl0aG9uWFkuemlwIiAqLworIAorQEAgLTMxNCw3ICszMTUsNyBAQCBzZWFyY2hfZm9yX3ByZWZpeChjb25zdCBfUHlDb3JlQ29uZmlnICpjb3JlX2NvbmZpZywKKyAgICAgICAgIGlmIChkZWxpbSkgeworICAgICAgICAgICAgICpkZWxpbSA9IEwnXDAnOworICAgICAgICAgfQorLSAgICAgICAgam9pbnBhdGgocHJlZml4LCBjYWxjdWxhdGUtPmxpYl9weXRob24pOworKyAgICAgICAgam9pbnBhdGgocHJlZml4LCBjYWxjdWxhdGUtPm11bHRpbGliX3B5dGhvbik7CisgICAgICAgICBqb2lucGF0aChwcmVmaXgsIExBTkRNQVJLKTsKKyAgICAgICAgIHJldHVybiAxOworICAgICB9CitAQCAtMzQzLDcgKzM0NCw3IEBAIHNlYXJjaF9mb3JfcHJlZml4KGNvbnN0IF9QeUNvcmVDb25maWcgKmNvcmVfY29uZmlnLAorICAgICBjb3B5X2Fic29sdXRlKHByZWZpeCwgY2FsY3VsYXRlLT5hcmd2MF9wYXRoLCBNQVhQQVRITEVOKzEpOworICAgICBkbyB7CisgICAgICAgICBuID0gd2NzbGVuKHByZWZpeCk7CistICAgICAgICBqb2lucGF0aChwcmVmaXgsIGNhbGN1bGF0ZS0+bGliX3B5dGhvbik7CisrICAgICAgICBqb2lucGF0aChwcmVmaXgsIGNhbGN1bGF0ZS0+bXVsdGlsaWJfcHl0aG9uKTsKKyAgICAgICAgIGpvaW5wYXRoKHByZWZpeCwgTEFORE1BUkspOworICAgICAgICAgaWYgKGlzbW9kdWxlKHByZWZpeCkpIHsKKyAgICAgICAgICAgICByZXR1cm4gMTsKK0BAIC0zNTUsNyArMzU2LDcgQEAgc2VhcmNoX2Zvcl9wcmVmaXgoY29uc3QgX1B5Q29yZUNvbmZpZyAqY29yZV9jb25maWcsCisgICAgIC8qIExvb2sgYXQgY29uZmlndXJlJ3MgUFJFRklYICovCisgICAgIHdjc25jcHkocHJlZml4LCBjYWxjdWxhdGUtPnByZWZpeCwgTUFYUEFUSExFTik7CisgICAgIHByZWZpeFtNQVhQQVRITEVOXSA9IEwnXDAnOworLSAgICBqb2lucGF0aChwcmVmaXgsIGNhbGN1bGF0ZS0+bGliX3B5dGhvbik7CisrICAgIGpvaW5wYXRoKHByZWZpeCwgY2FsY3VsYXRlLT5tdWx0aWxpYl9weXRob24pOworICAgICBqb2lucGF0aChwcmVmaXgsIExBTkRNQVJLKTsKKyAgICAgaWYgKGlzbW9kdWxlKHByZWZpeCkpIHsKKyAgICAgICAgIHJldHVybiAxOworQEAgLTQyNyw3ICs0MjgsNyBAQCBzZWFyY2hfZm9yX2V4ZWNfcHJlZml4KGNvbnN0IF9QeUNvcmVDb25maWcgKmNvcmVfY29uZmlnLAorICAgICAgICAgICAgIHdjc25jcHkoZXhlY19wcmVmaXgsIGNvcmVfY29uZmlnLT5ob21lLCBNQVhQQVRITEVOKTsKKyAgICAgICAgIH0KKyAgICAgICAgIGV4ZWNfcHJlZml4W01BWFBBVEhMRU5dID0gTCdcMCc7CistICAgICAgICBqb2lucGF0aChleGVjX3ByZWZpeCwgY2FsY3VsYXRlLT5saWJfcHl0aG9uKTsKKysgICAgICAgIGpvaW5wYXRoKGV4ZWNfcHJlZml4LCBjYWxjdWxhdGUtPm11bHRpbGliX3B5dGhvbik7CisgICAgICAgICBqb2lucGF0aChleGVjX3ByZWZpeCwgTCJsaWItZHlubG9hZCIpOworICAgICAgICAgcmV0dXJuIDE7CisgICAgIH0KK0BAIC00NjQsNyArNDY1LDcgQEAgc2VhcmNoX2Zvcl9leGVjX3ByZWZpeChjb25zdCBfUHlDb3JlQ29uZmlnICpjb3JlX2NvbmZpZywKKyAgICAgY29weV9hYnNvbHV0ZShleGVjX3ByZWZpeCwgY2FsY3VsYXRlLT5hcmd2MF9wYXRoLCBNQVhQQVRITEVOKzEpOworICAgICBkbyB7CisgICAgICAgICBuID0gd2NzbGVuKGV4ZWNfcHJlZml4KTsKKy0gICAgICAgIGpvaW5wYXRoKGV4ZWNfcHJlZml4LCBjYWxjdWxhdGUtPmxpYl9weXRob24pOworKyAgICAgICAgam9pbnBhdGgoZXhlY19wcmVmaXgsIGNhbGN1bGF0ZS0+bXVsdGlsaWJfcHl0aG9uKTsKKyAgICAgICAgIGpvaW5wYXRoKGV4ZWNfcHJlZml4LCBMImxpYi1keW5sb2FkIik7CisgICAgICAgICBpZiAoaXNkaXIoZXhlY19wcmVmaXgpKSB7CisgICAgICAgICAgICAgcmV0dXJuIDE7CitAQCAtNDc2LDcgKzQ3Nyw3IEBAIHNlYXJjaF9mb3JfZXhlY19wcmVmaXgoY29uc3QgX1B5Q29yZUNvbmZpZyAqY29yZV9jb25maWcsCisgICAgIC8qIExvb2sgYXQgY29uZmlndXJlJ3MgRVhFQ19QUkVGSVggKi8KKyAgICAgd2NzbmNweShleGVjX3ByZWZpeCwgY2FsY3VsYXRlLT5leGVjX3ByZWZpeCwgTUFYUEFUSExFTik7CisgICAgIGV4ZWNfcHJlZml4W01BWFBBVEhMRU5dID0gTCdcMCc7CistICAgIGpvaW5wYXRoKGV4ZWNfcHJlZml4LCBjYWxjdWxhdGUtPmxpYl9weXRob24pOworKyAgICBqb2lucGF0aChleGVjX3ByZWZpeCwgY2FsY3VsYXRlLT5tdWx0aWxpYl9weXRob24pOworICAgICBqb2lucGF0aChleGVjX3ByZWZpeCwgTCJsaWItZHlubG9hZCIpOworICAgICBpZiAoaXNkaXIoZXhlY19wcmVmaXgpKSB7CisgICAgICAgICByZXR1cm4gMTsKK0BAIC04NzEsNiArODcyLDEwIEBAIGNhbGN1bGF0ZV9pbml0KFB5Q2FsY3VsYXRlUGF0aCAqY2FsY3VsYXRlLAorICAgICBpZiAoIWNhbGN1bGF0ZS0+bGliX3B5dGhvbikgeworICAgICAgICAgcmV0dXJuIERFQ09ERV9MT0NBTEVfRVJSKCJFWEVDX1BSRUZJWCBkZWZpbmUiLCBsZW4pOworICAgICB9CisrICAgIGNhbGN1bGF0ZS0+bXVsdGlsaWJfcHl0aG9uID0gUHlfRGVjb2RlTG9jYWxlKExJQiAiL3B5dGhvbiIgVkVSU0lPTiwgJmxlbik7CisrICAgIGlmICghY2FsY3VsYXRlLT5tdWx0aWxpYl9weXRob24pIHsKKysgICAgICAgIHJldHVybiBERUNPREVfTE9DQUxFX0VSUigiRVhFQ19QUkVGSVggZGVmaW5lIiwgbGVuKTsKKysgICAgfQorICAgICByZXR1cm4gX1B5X0lOSVRfT0soKTsKKyB9CisgCitAQCAtODgyLDYgKzg4Nyw3IEBAIGNhbGN1bGF0ZV9mcmVlKFB5Q2FsY3VsYXRlUGF0aCAqY2FsY3VsYXRlKQorICAgICBQeU1lbV9SYXdGcmVlKGNhbGN1bGF0ZS0+cHJlZml4KTsKKyAgICAgUHlNZW1fUmF3RnJlZShjYWxjdWxhdGUtPmV4ZWNfcHJlZml4KTsKKyAgICAgUHlNZW1fUmF3RnJlZShjYWxjdWxhdGUtPmxpYl9weXRob24pOworKyAgICBQeU1lbV9SYXdGcmVlKGNhbGN1bGF0ZS0+bXVsdGlsaWJfcHl0aG9uKTsKKyAgICAgUHlNZW1fUmF3RnJlZShjYWxjdWxhdGUtPnBhdGhfZW52KTsKKyB9CisgCitkaWZmIC0tZ2l0IGEvUHl0aG9uL2dldHBsYXRmb3JtLmMgYi9QeXRob24vZ2V0cGxhdGZvcm0uYworaW5kZXggODFhMGY3YS4uZDU1Mzk2YiAxMDA2NDQKKy0tLSBhL1B5dGhvbi9nZXRwbGF0Zm9ybS5jCisrKysgYi9QeXRob24vZ2V0cGxhdGZvcm0uYworQEAgLTEwLDMgKzEwLDEzIEBAIFB5X0dldFBsYXRmb3JtKHZvaWQpCisgeworICAgICByZXR1cm4gUExBVEZPUk07CisgfQorKworKyNpZm5kZWYgTElCCisrI2RlZmluZSBMSUIgImxpYiIKKysjZW5kaWYKKysKKytjb25zdCBjaGFyICoKKytQeV9HZXRMaWIodm9pZCkKKyt7CisrCXJldHVybiBMSUI7CisrfQorZGlmZiAtLWdpdCBhL1B5dGhvbi9zeXNtb2R1bGUuYyBiL1B5dGhvbi9zeXNtb2R1bGUuYworaW5kZXggZWZlNWIyOS4uZGU3N2IxNyAxMDA2NDQKKy0tLSBhL1B5dGhvbi9zeXNtb2R1bGUuYworKysrIGIvUHl0aG9uL3N5c21vZHVsZS5jCitAQCAtMjMxOSw2ICsyMzE5LDggQEAgX1B5U3lzX0JlZ2luSW5pdChQeU9iamVjdCAqKnN5c21vZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRnJvbVN0cmluZyhQeV9HZXRDb3B5cmlnaHQoKSkpOworICAgICBTRVRfU1lTX0ZST01fU1RSSU5HKCJwbGF0Zm9ybSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0Zyb21TdHJpbmcoUHlfR2V0UGxhdGZvcm0oKSkpOworKyAgICBTRVRfU1lTX0ZST01fU1RSSU5HKCJsaWIiLAorKyAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9Gcm9tU3RyaW5nKFB5X0dldExpYigpKSk7CisgICAgIFNFVF9TWVNfRlJPTV9TVFJJTkcoIm1heHNpemUiLAorICAgICAgICAgICAgICAgICAgICAgICAgIFB5TG9uZ19Gcm9tU3NpemVfdChQWV9TU0laRV9UX01BWCkpOworICAgICBTRVRfU1lTX0ZST01fU1RSSU5HKCJmbG9hdF9pbmZvIiwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtRG8tbm90LXVzZS10aGUtc2hlbGwtdmVyc2lvbi1vZi1weXRob24tY29uZmlnLXRoYXQtdy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtRG8tbm90LXVzZS10aGUtc2hlbGwtdmVyc2lvbi1vZi1weXRob24tY29uZmlnLXRoYXQtdy5wYXRjaAppbmRleCA4ZWEzZjAzLi44M2ZkNTJkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAxLURvLW5vdC11c2UtdGhlLXNoZWxsLXZlcnNpb24tb2YtcHl0aG9uLWNvbmZpZy10aGF0LXcucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMS1Eby1ub3QtdXNlLXRoZS1zaGVsbC12ZXJzaW9uLW9mLXB5dGhvbi1jb25maWctdGhhdC13LnBhdGNoCkBAIC0xLDYgKzEsNiBAQAotRnJvbSAwNGRmOTU5MzY1ZTJiNTRkNzUwM2VkZjBlNTUzNGZmMDk0Mjg0ZjJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAxNDg4NjFmYTE2ZjJhYWFjZDUxODc3MGYzMzdlYTU0YjUxODJmOTgxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDIzIE9jdCAyMDE1IDEyOjI1OjA5ICswMzAwCitEYXRlOiBUdWUsIDI5IEphbiAyMDE5IDE1OjAzOjAxICswMTAwCiBTdWJqZWN0OiBbUEFUQ0hdIERvIG5vdCB1c2UgdGhlIHNoZWxsIHZlcnNpb24gb2YgcHl0aG9uLWNvbmZpZyB0aGF0IHdhcwogIGludHJvZHVjZWQgaW4gMy40CiAKQEAgLTE0LDI1ICsxNCwyMiBAQAogIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9NYWtlZmlsZS5wcmUuaW4gYi9NYWtlZmlsZS5wcmUuaW4KLWluZGV4IDIzNmYwMDUuLjVjNDMzN2YgMTAwNjQ0CitpbmRleCAyZDJlMTFmLi5jYzE5OTQyIDEwMDY0NAogLS0tIGEvTWFrZWZpbGUucHJlLmluCiArKysgYi9NYWtlZmlsZS5wcmUuaW4KLUBAIC0xMzQ4LDEyICsxMzQ4LDkgQEAgcHl0aG9uLWNvbmZpZzogJChzcmNkaXIpL01pc2MvcHl0aG9uLWNvbmZpZy5pbiBNaXNjL3B5dGhvbi1jb25maWcuc2gKK0BAIC0xNDMxLDEyICsxNDMxLDkgQEAgcHl0aG9uLWNvbmZpZzogJChzcmNkaXIpL01pc2MvcHl0aG9uLWNvbmZpZy5pbiBNaXNjL3B5dGhvbi1jb25maWcuc2gKICAJc2VkIC1lICJzLEBFWEVOQU1FQCwkKEJJTkRJUikvcHl0aG9uJChMRFZFUlNJT04pJChFWEUpLCIgPCAkKHNyY2RpcikvTWlzYy9weXRob24tY29uZmlnLmluID5weXRob24tY29uZmlnLnB5Ci0gCSMgUmVwbGFjZSBtYWtlZmlsZSBjb21wYXQuIHZhcmlhYmxlIHJlZmVyZW5jZXMgd2l0aCBzaGVsbCBzY3JpcHQgY29tcGF0LiBvbmVzOyAkKFZBUikgLT4gJHtWQVJ9CisgCUAgIyBSZXBsYWNlIG1ha2VmaWxlIGNvbXBhdC4gdmFyaWFibGUgcmVmZXJlbmNlcyB3aXRoIHNoZWxsIHNjcmlwdCBjb21wYXQuIG9uZXM7ICQoVkFSKSAtPiAke1ZBUn0KICAJTENfQUxMPUMgc2VkIC1lICdzLFwkJChcKFtBLVphLXowLTlfXSpcKSksXCQkXHtcMVx9LGcnIDwgTWlzYy9weXRob24tY29uZmlnLnNoID5weXRob24tY29uZmlnCi0tCSMgT24gRGFyd2luLCBhbHdheXMgdXNlIHRoZSBweXRob24gdmVyc2lvbiBvZiB0aGUgc2NyaXB0LCB0aGUgc2hlbGwKLS0JIyB2ZXJzaW9uIGRvZXNuJ3QgdXNlIHRoZSBjb21waWxlciBjdXN0b21pemF0aW9ucyB0aGF0IGFyZSBwcm92aWRlZAotLQkjIGluIHB5dGhvbiAoX29zeF9zdXBwb3J0LnB5KS4KLS0JaWYgdGVzdCBgdW5hbWUgLXNgID0gRGFyd2luOyB0aGVuIFwKKy0JQCAjIE9uIERhcndpbiwgYWx3YXlzIHVzZSB0aGUgcHl0aG9uIHZlcnNpb24gb2YgdGhlIHNjcmlwdCwgdGhlIHNoZWxsCistCUAgIyB2ZXJzaW9uIGRvZXNuJ3QgdXNlIHRoZSBjb21waWxlciBjdXN0b21pemF0aW9ucyB0aGF0IGFyZSBwcm92aWRlZAorLQlAICMgaW4gcHl0aG9uIChfb3N4X3N1cHBvcnQucHkpLgorLQlAaWYgdGVzdCBgdW5hbWUgLXNgID0gRGFyd2luOyB0aGVuIFwKIC0JCWNwIHB5dGhvbi1jb25maWcucHkgcHl0aG9uLWNvbmZpZzsgXAogLQlmaQotKwkjIEluIE9wZW5FbWJlZGRlZCwgYWx3YXlzIHVzZSB0aGUgcHl0aG9uIHZlcnNpb24gb2YgdGhlIHNjcmlwdCwgdGhlIHNoZWxsCi0rCSMgdmVyc2lvbiBpcyBicm9rZW4gaW4gbXVsdGlwbGUgd2F5cywgYW5kIGRvZXNuJ3QgcmV0dXJuIGNvcnJlY3QgZGlyZWN0b3JpZXMKKysJQCAgIyBJbiBPcGVuRW1iZWRkZWQsIGFsd2F5cyB1c2UgdGhlIHB5dGhvbiB2ZXJzaW9uIG9mIHRoZSBzY3JpcHQsIHRoZSBzaGVsbAorKwlAICAjIHZlcnNpb24gaXMgYnJva2VuIGluIG11bHRpcGxlIHdheXMsIGFuZCBkb2Vzbid0IHJldHVybiBjb3JyZWN0IGRpcmVjdG9yaWVzCiArCWNwIHB5dGhvbi1jb25maWcucHkgcHl0aG9uLWNvbmZpZwogIAogIAogICMgSW5zdGFsbCB0aGUgaW5jbHVkZSBmaWxlcwotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMS1Jc3N1ZS0yMTI3Mi1Vc2UtX3N5c2NvbmZpZ2RhdGEucHktdG8taW5pdGlhbGl6ZS1kaXN0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMS1Jc3N1ZS0yMTI3Mi1Vc2UtX3N5c2NvbmZpZ2RhdGEucHktdG8taW5pdGlhbGl6ZS1kaXN0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMWM5MmU5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtSXNzdWUtMjEyNzItVXNlLV9zeXNjb25maWdkYXRhLnB5LXRvLWluaXRpYWxpemUtZGlzdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDY2ICswLDAgQEAKLUZyb20gYmNkZGJmNDBjN2YxYjgwMzM2MjY4Y2RkZGFjYzE3MzY5ZmIwY2NlYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IExpYmluIERhbmcgPGxpYmluLmRhbmdAd2luZHJpdmVyLmNvbT4KLURhdGU6IFR1ZSwgMTEgQXByIDIwMTcgMTQ6MTI6MTUgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gSXNzdWUgIzIxMjcyOiBVc2UgX3N5c2NvbmZpZ2RhdGEucHkgdG8gaW5pdGlhbGl6ZQotIGRpc3R1dGlscy5zeXNjb25maWcKLQotQmFja3BvcnQgdXBzdHJlYW0gY29tbWl0Ci1odHRwczovL2dpdGh1Yi5jb20vcHl0aG9uL2NweXRob24vY29tbWl0LzQwOTQ4MjI1MWIwNmZlNzVjNGVlNTZlODVmZmJiNGIyM2Q5MzQxNTkKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotCi1TaWduZWQtb2ZmLWJ5OiBMaSBaaG91IDxsaS56aG91QHdpbmRyaXZlci5jb20+Ci0tLS0KLSBMaWIvZGlzdHV0aWxzL3N5c2NvbmZpZy5weSB8IDM1ICsrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMzEgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL3N5c2NvbmZpZy5weSBiL0xpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5Ci1pbmRleCA2ZDVjZmQwLi45OTI1ZDI0IDEwMDY0NAotLS0tIGEvTGliL2Rpc3R1dGlscy9zeXNjb25maWcucHkKLSsrKyBiL0xpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5Ci1AQCAtNDI0LDM4ICs0MjQsMTEgQEAgX2NvbmZpZ192YXJzID0gTm9uZQotIAotIGRlZiBfaW5pdF9wb3NpeCgpOgotICAgICAiIiJJbml0aWFsaXplIHRoZSBtb2R1bGUgYXMgYXBwcm9wcmlhdGUgZm9yIFBPU0lYIHN5c3RlbXMuIiIiCi0tICAgIGcgPSB7fQotLSAgICAjIGxvYWQgdGhlIGluc3RhbGxlZCBNYWtlZmlsZToKLS0gICAgdHJ5OgotLSAgICAgICAgZmlsZW5hbWUgPSBnZXRfbWFrZWZpbGVfZmlsZW5hbWUoKQotLSAgICAgICAgcGFyc2VfbWFrZWZpbGUoZmlsZW5hbWUsIGcpCi0tICAgIGV4Y2VwdCBPU0Vycm9yIGFzIG1zZzoKLS0gICAgICAgIG15X21zZyA9ICJpbnZhbGlkIFB5dGhvbiBpbnN0YWxsYXRpb246IHVuYWJsZSB0byBvcGVuICVzIiAlIGZpbGVuYW1lCi0tICAgICAgICBpZiBoYXNhdHRyKG1zZywgInN0cmVycm9yIik6Ci0tICAgICAgICAgICAgbXlfbXNnID0gbXlfbXNnICsgIiAoJXMpIiAlIG1zZy5zdHJlcnJvcgotLQotLSAgICAgICAgcmFpc2UgRGlzdHV0aWxzUGxhdGZvcm1FcnJvcihteV9tc2cpCi0tCi0tICAgICMgbG9hZCB0aGUgaW5zdGFsbGVkIHB5Y29uZmlnLmg6Ci0tICAgIHRyeToKLS0gICAgICAgIGZpbGVuYW1lID0gZ2V0X2NvbmZpZ19oX2ZpbGVuYW1lKCkKLS0gICAgICAgIHdpdGggb3BlbihmaWxlbmFtZSkgYXMgZmlsZToKLS0gICAgICAgICAgICBwYXJzZV9jb25maWdfaChmaWxlLCBnKQotLSAgICBleGNlcHQgT1NFcnJvciBhcyBtc2c6Ci0tICAgICAgICBteV9tc2cgPSAiaW52YWxpZCBQeXRob24gaW5zdGFsbGF0aW9uOiB1bmFibGUgdG8gb3BlbiAlcyIgJSBmaWxlbmFtZQotLSAgICAgICAgaWYgaGFzYXR0cihtc2csICJzdHJlcnJvciIpOgotLSAgICAgICAgICAgIG15X21zZyA9IG15X21zZyArICIgKCVzKSIgJSBtc2cuc3RyZXJyb3IKLS0KLS0gICAgICAgIHJhaXNlIERpc3R1dGlsc1BsYXRmb3JtRXJyb3IobXlfbXNnKQotLQotLSAgICAjIE9uIEFJWCwgdGhlcmUgYXJlIHdyb25nIHBhdGhzIHRvIHRoZSBsaW5rZXIgc2NyaXB0cyBpbiB0aGUgTWFrZWZpbGUKLS0gICAgIyAtLSB0aGVzZSBwYXRocyBhcmUgcmVsYXRpdmUgdG8gdGhlIFB5dGhvbiBzb3VyY2UsIGJ1dCB3aGVuIGluc3RhbGxlZAotLSAgICAjIHRoZSBzY3JpcHRzIGFyZSBpbiBhbm90aGVyIGRpcmVjdG9yeS4KLS0gICAgaWYgcHl0aG9uX2J1aWxkOgotLSAgICAgICAgZ1snTERTSEFSRUQnXSA9IGdbJ0JMRFNIQVJFRCddCi0tCi0rICAgICMgX3N5c2NvbmZpZ2RhdGEgaXMgZ2VuZXJhdGVkIGF0IGJ1aWxkIHRpbWUsIHNlZSB0aGUgc3lzY29uZmlnIG1vZHVsZQotKyAgICBmcm9tIF9zeXNjb25maWdkYXRhIGltcG9ydCBidWlsZF90aW1lX3ZhcnMKLSAgICAgZ2xvYmFsIF9jb25maWdfdmFycwotLSAgICBfY29uZmlnX3ZhcnMgPSBnCi0rICAgIF9jb25maWdfdmFycyA9IHt9Ci0rICAgIF9jb25maWdfdmFycy51cGRhdGUoYnVpbGRfdGltZV92YXJzKQotIAotIAotIGRlZiBfaW5pdF9udCgpOgotLS0gCi0xLjguMy4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtSXNzdWUtMjgwNDMtU1NMQ29udGV4dC1oYXMtaW1wcm92ZWQtZGVmYXVsdC1zZXR0aW5ncy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtSXNzdWUtMjgwNDMtU1NMQ29udGV4dC1oYXMtaW1wcm92ZWQtZGVmYXVsdC1zZXR0aW5ncy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzIxYjRhZi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAxLUlzc3VlLTI4MDQzLVNTTENvbnRleHQtaGFzLWltcHJvdmVkLWRlZmF1bHQtc2V0dGluZ3MucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNzIgKzAsMCBAQAotRnJvbSA3NThlNzQ2M2MxMDRmNzFiODEwYzg1ODgxNjY3NDdlZWFiNjE0OGQ3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ2hyaXN0aWFuIEhlaW1lcyA8Y2hyaXN0aWFuQHB5dGhvbi5vcmc+Ci1EYXRlOiBTYXQsIDEwIFNlcCAyMDE2IDIyOjQzOjQ4ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMS80XSBJc3N1ZSAyODA0MzogU1NMQ29udGV4dCBoYXMgaW1wcm92ZWQgZGVmYXVsdCBzZXR0aW5ncwotCi1UaGUgb3B0aW9ucyBPUF9OT19DT01QUkVTU0lPTiwgT1BfQ0lQSEVSX1NFUlZFUl9QUkVGRVJFTkNFLCBPUF9TSU5HTEVfREhfVVNFLCBPUF9TSU5HTEVfRUNESF9VU0UsIE9QX05PX1NTTHYyIChleGNlcHQgZm9yIFBST1RPQ09MX1NTTHYyKSwgYW5kIE9QX05PX1NTTHYzIChleGNlcHQgZm9yIFBST1RPQ09MX1NTTHYzKSBhcmUgc2V0IGJ5IGRlZmF1bHQuIFRoZSBpbml0aWFsIGNpcGhlciBzdWl0ZSBsaXN0IGNvbnRhaW5zIG9ubHkgSElHSCBjaXBoZXJzLCBubyBOVUxMIGNpcGhlcnMgYW5kIE1ENSBjaXBoZXJzIChleGNlcHQgZm9yIFBST1RPQ09MX1NTTHYyKS4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotW2h0dHBzOi8vZ2l0aHViLmNvbS9weXRob24vY3B5dGhvbi9jb21taXQvMzU4Y2ZkNDI2Y2NjMGZjZDZhNzk0MGQzMDY2MDIxMzhlNzY0MjBhZV0KLQotU2lnbmVkLW9mZi1ieTogQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4KLS0tLQotIERvYy9saWJyYXJ5L3NzbC5yc3QgIHwgIDkgKysrKysrLQotIExpYi9zc2wucHkgICAgICAgICAgIHwgMzAgKysrKystLS0tLS0tLS0tLS0tLS0tCi0gTGliL3Rlc3QvdGVzdF9zc2wucHkgfCA2MiArKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIE1vZHVsZXMvX3NzbC5jICAgICAgIHwgMzEgKysrKysrKysrKysrKysrKysrKysrKwotIDQgZmlsZXMgY2hhbmdlZCwgNzggaW5zZXJ0aW9ucygrKSwgNTQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9zc2wucnN0IGIvRG9jL2xpYnJhcnkvc3NsLnJzdAotaW5kZXggYTJmMDA4MzQ2Yi4uMTRmMmQ2ODIxNyAxMDA2NDQKLS0tLSBhL0RvYy9saWJyYXJ5L3NzbC5yc3QKLSsrKyBiL0RvYy9saWJyYXJ5L3NzbC5yc3QKLUBAIC0xMTUxLDcgKzExNTEsMTQgQEAgdG8gc3BlZWQgdXAgcmVwZWF0ZWQgY29ubmVjdGlvbnMgZnJvbSB0aGUgc2FtZSBjbGllbnRzLgotIAotICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41LjMKLSAKLS0gICAgICA6ZGF0YTpgUFJPVE9DT0xfVExTYCBpcyB0aGUgZGVmYXVsdCB2YWx1ZS4KLSsgICAgICBUaGUgY29udGV4dCBpcyBjcmVhdGVkIHdpdGggc2VjdXJlIGRlZmF1bHQgdmFsdWVzLiBUaGUgb3B0aW9ucwotKyAgICAgIDpkYXRhOmBPUF9OT19DT01QUkVTU0lPTmAsIDpkYXRhOmBPUF9DSVBIRVJfU0VSVkVSX1BSRUZFUkVOQ0VgLAotKyAgICAgIDpkYXRhOmBPUF9TSU5HTEVfREhfVVNFYCwgOmRhdGE6YE9QX1NJTkdMRV9FQ0RIX1VTRWAsCi0rICAgICAgOmRhdGE6YE9QX05PX1NTTHYyYCAoZXhjZXB0IGZvciA6ZGF0YTpgUFJPVE9DT0xfU1NMdjJgKSwKLSsgICAgICBhbmQgOmRhdGE6YE9QX05PX1NTTHYzYCAoZXhjZXB0IGZvciA6ZGF0YTpgUFJPVE9DT0xfU1NMdjNgKSBhcmUKLSsgICAgICBzZXQgYnkgZGVmYXVsdC4gVGhlIGluaXRpYWwgY2lwaGVyIHN1aXRlIGxpc3QgY29udGFpbnMgb25seSBgYEhJR0hgYAotKyAgICAgIGNpcGhlcnMsIG5vIGBgTlVMTGBgIGNpcGhlcnMgYW5kIG5vIGBgTUQ1YGAgY2lwaGVycyAoZXhjZXB0IGZvcgotKyAgICAgIDpkYXRhOmBQUk9UT0NPTF9TU0x2MmApLgotIAotIAotIDpjbGFzczpgU1NMQ29udGV4dGAgb2JqZWN0cyBoYXZlIHRoZSBmb2xsb3dpbmcgbWV0aG9kcyBhbmQgYXR0cmlidXRlczoKLWRpZmYgLS1naXQgYS9MaWIvc3NsLnB5IGIvTGliL3NzbC5weQotaW5kZXggZTE5MTM5MDRmMy4uNGQzMDJhNzhmYSAxMDA2NDQKLS0tLSBhL0xpYi9zc2wucHkKLSsrKyBiL0xpYi9zc2wucHkKLUBAIC00NDYsMzIgKzQ0NiwxNiBAQCBkZWYgY3JlYXRlX2RlZmF1bHRfY29udGV4dChwdXJwb3NlPVB1cnBvc2UuU0VSVkVSX0FVVEgsICosIGNhZmlsZT1Ob25lLAotICAgICBpZiBub3QgaXNpbnN0YW5jZShwdXJwb3NlLCBfQVNOMU9iamVjdCk6Ci0gICAgICAgICByYWlzZSBUeXBlRXJyb3IocHVycG9zZSkKLSAKLSsgICAgIyBTU0xDb250ZXh0IHNldHMgT1BfTk9fU1NMdjIsIE9QX05PX1NTTHYzLCBPUF9OT19DT01QUkVTU0lPTiwKLSsgICAgIyBPUF9DSVBIRVJfU0VSVkVSX1BSRUZFUkVOQ0UsIE9QX1NJTkdMRV9ESF9VU0UgYW5kIE9QX1NJTkdMRV9FQ0RIX1VTRQotKyAgICAjIGJ5IGRlZmF1bHQuCi0gICAgIGNvbnRleHQgPSBTU0xDb250ZXh0KFBST1RPQ09MX1RMUykKLSAKLS0gICAgIyBTU0x2MiBjb25zaWRlcmVkIGhhcm1mdWwuCi0tICAgIGNvbnRleHQub3B0aW9ucyB8PSBPUF9OT19TU0x2MgotLQotLSAgICAjIFNTTHYzIGhhcyBwcm9ibGVtYXRpYyBzZWN1cml0eSBhbmQgaXMgb25seSByZXF1aXJlZCBmb3IgcmVhbGx5IG9sZAotLSAgICAjIGNsaWVudHMgc3VjaCBhcyBJRTYgb24gV2luZG93cyBYUAotLSAgICBjb250ZXh0Lm9wdGlvbnMgfD0gT1BfTk9fU1NMdjMKLS0KLS0gICAgIyBkaXNhYmxlIGNvbXByZXNzaW9uIHRvIHByZXZlbnQgQ1JJTUUgYXR0YWNrcyAoT3BlblNTTCAxLjArKQotLSAgICBjb250ZXh0Lm9wdGlvbnMgfD0gZ2V0YXR0cihfc3NsLCAiT1BfTk9fQ09NUFJFU1NJT04iLCAwKQotLQotICAgICBpZiBwdXJwb3NlID09IFB1cnBvc2UuU0VSVkVSX0FVVEg6Ci0gICAgICAgICAjIHZlcmlmeSBjZXJ0cyBhbmQgaG9zdCBuYW1lIGluIGNsaWVudCBtb2RlCi0gICAgICAgICBjb250ZXh0LnZlcmlmeV9tb2RlID0gQ0VSVF9SRVFVSVJFRAotICAgICAgICAgY29udGV4dC5jaGVja19ob3N0bmFtZSA9IFRydWUKLSAgICAgZWxpZiBwdXJwb3NlID09IFB1cnBvc2UuQ0xJRU5UX0FVVEg6Ci0tICAgICAgICAjIFByZWZlciB0aGUgc2VydmVyJ3MgY2lwaGVycyBieSBkZWZhdWx0IHNvIHRoYXQgd2UgZ2V0IHN0cm9uZ2VyCi0tICAgICAgICAjIGVuY3J5cHRpb24KLS0gICAgICAgIGNvbnRleHQub3B0aW9ucyB8PSBnZXRhdHRyKF9zc2wsICJPUF9DSVBIRVJfU0VSVkVSX1BSRUZFUkVOQ0UiLCAwKQotLQotLSAgICAgICAgIyBVc2Ugc2luZ2xlIHVzZSBrZXlzIGluIG9yZGVyIHRvIGltcHJvdmUgZm9yd2FyZCBzZWNyZWN5Ci0tICAgICAgICBjb250ZXh0Lm9wdGlvbnMgfD0gZ2V0YXR0cihfc3NsLCAiT1BfU0lOR0xFX0RIX1VTRSIsIDApCi0tICAgICAgICBjb250ZXh0Lm9wdGlvbnMgfD0gZ2V0YXR0cihfc3NsLCAiT1BfU0lOR0xFX0VDREhfVVNFIiwgMCkKLS0KLS0gICAgICAgICMgZGlzYWxsb3cgY2lwaGVycyB3aXRoIGtub3duIHZ1bG5lcmFiaWxpdGllcwotICAgICAgICAgY29udGV4dC5zZXRfY2lwaGVycyhfUkVTVFJJQ1RFRF9TRVJWRVJfQ0lQSEVSUykKLSAKLSAgICAgaWYgY2FmaWxlIG9yIGNhcGF0aCBvciBjYWRhdGE6Ci1AQCAtNDk3LDEyICs0ODEsMTAgQEAgZGVmIF9jcmVhdGVfdW52ZXJpZmllZF9jb250ZXh0KHByb3RvY29sPVBST1RPQ09MX1RMUywgKiwgY2VydF9yZXFzPU5vbmUsCi0gICAgIGlmIG5vdCBpc2luc3RhbmNlKHB1cnBvc2UsIF9BU04xT2JqZWN0KToKLSAgICAgICAgIHJhaXNlIFR5cGVFcnJvcihwdXJwb3NlKQotIAotKyAgICAjIFNTTENvbnRleHQgc2V0cyBPUF9OT19TU0x2MiwgT1BfTk9fU1NMdjMsIE9QX05PX0NPTVBSRVNTSU9OLAotKyAgICAjIE9QX0NJUEhFUl9TRVJWRVJfUFJFRkVSRU5DRSwgT1BfU0lOR0xFX0RIX1VTRSBhbmQgT1BfU0lOR0xFX0VDREhfVVNFCi0rICAgICMgYnkgZGVmYXVsdC4KLSAgICAgY29udGV4dCA9IFNTTENvbnRleHQocHJvdG9jb2wpCi0tICAgICMgU1NMdjIgY29uc2lkZXJlZCBoYXJtZnVsLgotLSAgICBjb250ZXh0Lm9wdGlvbnMgfD0gT1BfTk9fU1NMdjIKLS0gICAgIyBTU0x2MyBoYXMgcHJvYmxlbWF0aWMgc2VjdXJpdHkgYW5kIGlzIG9ubHkgcmVxdWlyZWQgZm9yIHJlYWxseSBvbGQKLS0gICAgIyBjbGllbnRzIHN1Y2ggYXMgSUU2IG9uIFdpbmRvd3MgWFAKLS0gICAgY29udGV4dC5vcHRpb25zIHw9IE9QX05PX1NTTHYzCi0gCi0gICAgIGlmIGNlcnRfcmVxcyBpcyBub3QgTm9uZToKLSAgICAgICAgIGNvbnRleHQudmVyaWZ5X21vZGUgPSBjZXJ0X3JlcXMKLWRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3NzbC5weSBiL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5Ci1pbmRleCBmZmI3MzE0ZjU3Li5mOTFhZjdiZDA1IDEwMDY0NAotLS0tIGEvTGliL3Rlc3QvdGVzdF9zc2wucHkKLSsrKyBiL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5Ci1AQCAtNzMsNiArNzMsMTIgQEAgTlVMTEJZVEVDRVJUID0gZGF0YV9maWxlKCJudWxsYnl0ZWNlcnQucGVtIikKLSBESEZJTEUgPSBkYXRhX2ZpbGUoImRoMTAyNC5wZW0iKQotIEJZVEVTX0RIRklMRSA9IG9zLmZzZW5jb2RlKERIRklMRSkKLSAKLSsjIE5vdCBkZWZpbmVkIGluIGFsbCB2ZXJzaW9ucyBvZiBPcGVuU1NMCi0rT1BfTk9fQ09NUFJFU1NJT04gPSBnZXRhdHRyKHNzbCwgIk9QX05PX0NPTVBSRVNTSU9OIiwgMCkKLStPUF9TSU5HTEVfREhfVVNFID0gZ2V0YXR0cihzc2wsICJPUF9TSU5HTEVfREhfVVNFIiwgMCkKLStPUF9TSU5HTEVfRUNESF9VU0UgPSBnZXRhdHRyKHNzbCwgIk9QX1NJTkdMRV9FQ0RIX1VTRSIsIDApCi0rT1BfQ0lQSEVSX1NFUlZFUl9QUkVGRVJFTkNFID0gZ2V0YXR0cihzc2wsICJPUF9DSVBIRVJfU0VSVkVSX1BSRUZFUkVOQ0UiLCAwKQotKwotIAotIGRlZiBoYW5kbGVfZXJyb3IocHJlZml4KToKLSAgICAgZXhjX2Zvcm1hdCA9ICcgJy5qb2luKHRyYWNlYmFjay5mb3JtYXRfZXhjZXB0aW9uKCpzeXMuZXhjX2luZm8oKSkpCi1AQCAtODM5LDggKzg0NSw5IEBAIGNsYXNzIENvbnRleHRUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgICAgICBjdHggPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfVExTdjEpCi0gICAgICAgICAjIE9QX0FMTCB8IE9QX05PX1NTTHYyIHwgT1BfTk9fU1NMdjMgaXMgdGhlIGRlZmF1bHQgdmFsdWUKLSAgICAgICAgIGRlZmF1bHQgPSAoc3NsLk9QX0FMTCB8IHNzbC5PUF9OT19TU0x2MiB8IHNzbC5PUF9OT19TU0x2MykKLS0gICAgICAgIGlmIG5vdCBJU19MSUJSRVNTTCBhbmQgc3NsLk9QRU5TU0xfVkVSU0lPTl9JTkZPID49ICgxLCAxLCAwKToKLS0gICAgICAgICAgICBkZWZhdWx0IHw9IHNzbC5PUF9OT19DT01QUkVTU0lPTgotKyAgICAgICAgIyBTU0xDb250ZXh0IGFsc28gZW5hYmxlcyB0aGVzZSBieSBkZWZhdWx0Ci0rICAgICAgICBkZWZhdWx0IHw9IChPUF9OT19DT01QUkVTU0lPTiB8IE9QX0NJUEhFUl9TRVJWRVJfUFJFRkVSRU5DRSB8Ci0rICAgICAgICAgICAgICAgICAgICBPUF9TSU5HTEVfREhfVVNFIHwgT1BfU0lOR0xFX0VDREhfVVNFKQotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkZWZhdWx0LCBjdHgub3B0aW9ucykKLSAgICAgICAgIGN0eC5vcHRpb25zIHw9IHNzbC5PUF9OT19UTFN2MQotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkZWZhdWx0IHwgc3NsLk9QX05PX1RMU3YxLCBjdHgub3B0aW9ucykKLUBAIC0xMjA1LDE2ICsxMjEyLDI5IEBAIGNsYXNzIENvbnRleHRUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgICAgICAgICAgc3RhdHNbIng1MDkiXSArPSAxCi0gICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjdHguY2VydF9zdG9yZV9zdGF0cygpLCBzdGF0cykKLSAKLSsgICAgZGVmIF9hc3NlcnRfY29udGV4dF9vcHRpb25zKHNlbGYsIGN0eCk6Ci0rICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN0eC5vcHRpb25zICYgc3NsLk9QX05PX1NTTHYyLCBzc2wuT1BfTk9fU1NMdjIpCi0rICAgICAgICBpZiBPUF9OT19DT01QUkVTU0lPTiAhPSAwOgotKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3R4Lm9wdGlvbnMgJiBPUF9OT19DT01QUkVTU0lPTiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9QX05PX0NPTVBSRVNTSU9OKQotKyAgICAgICAgaWYgT1BfU0lOR0xFX0RIX1VTRSAhPSAwOgotKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3R4Lm9wdGlvbnMgJiBPUF9TSU5HTEVfREhfVVNFLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT1BfU0lOR0xFX0RIX1VTRSkKLSsgICAgICAgIGlmIE9QX1NJTkdMRV9FQ0RIX1VTRSAhPSAwOgotKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3R4Lm9wdGlvbnMgJiBPUF9TSU5HTEVfRUNESF9VU0UsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPUF9TSU5HTEVfRUNESF9VU0UpCi0rICAgICAgICBpZiBPUF9DSVBIRVJfU0VSVkVSX1BSRUZFUkVOQ0UgIT0gMDoKLSsgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN0eC5vcHRpb25zICYgT1BfQ0lQSEVSX1NFUlZFUl9QUkVGRVJFTkNFLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT1BfQ0lQSEVSX1NFUlZFUl9QUkVGRVJFTkNFKQotKwotICAgICBkZWYgdGVzdF9jcmVhdGVfZGVmYXVsdF9jb250ZXh0KHNlbGYpOgotICAgICAgICAgY3R4ID0gc3NsLmNyZWF0ZV9kZWZhdWx0X2NvbnRleHQoKQotKwotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjdHgucHJvdG9jb2wsIHNzbC5QUk9UT0NPTF9TU0x2MjMpCi0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN0eC52ZXJpZnlfbW9kZSwgc3NsLkNFUlRfUkVRVUlSRUQpCi0gICAgICAgICBzZWxmLmFzc2VydFRydWUoY3R4LmNoZWNrX2hvc3RuYW1lKQotLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjdHgub3B0aW9ucyAmIHNzbC5PUF9OT19TU0x2Miwgc3NsLk9QX05PX1NTTHYyKQotLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKLS0gICAgICAgICAgICBjdHgub3B0aW9ucyAmIGdldGF0dHIoc3NsLCAiT1BfTk9fQ09NUFJFU1NJT04iLCAwKSwKLS0gICAgICAgICAgICBnZXRhdHRyKHNzbCwgIk9QX05PX0NPTVBSRVNTSU9OIiwgMCksCi0tICAgICAgICApCi0rICAgICAgICBzZWxmLl9hc3NlcnRfY29udGV4dF9vcHRpb25zKGN0eCkKLSsKLSAKLSAgICAgICAgIHdpdGggb3BlbihTSUdOSU5HX0NBKSBhcyBmOgotICAgICAgICAgICAgIGNhZGF0YSA9IGYucmVhZCgpCi1AQCAtMTIyMiw0MCArMTI0MiwyNCBAQCBjbGFzcyBDb250ZXh0VGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FkYXRhPWNhZGF0YSkKLSAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3R4LnByb3RvY29sLCBzc2wuUFJPVE9DT0xfU1NMdjIzKQotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjdHgudmVyaWZ5X21vZGUsIHNzbC5DRVJUX1JFUVVJUkVEKQotLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjdHgub3B0aW9ucyAmIHNzbC5PUF9OT19TU0x2Miwgc3NsLk9QX05PX1NTTHYyKQotLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKLS0gICAgICAgICAgICBjdHgub3B0aW9ucyAmIGdldGF0dHIoc3NsLCAiT1BfTk9fQ09NUFJFU1NJT04iLCAwKSwKLS0gICAgICAgICAgICBnZXRhdHRyKHNzbCwgIk9QX05PX0NPTVBSRVNTSU9OIiwgMCksCi0tICAgICAgICApCi0rICAgICAgICBzZWxmLl9hc3NlcnRfY29udGV4dF9vcHRpb25zKGN0eCkKLSAKLSAgICAgICAgIGN0eCA9IHNzbC5jcmVhdGVfZGVmYXVsdF9jb250ZXh0KHNzbC5QdXJwb3NlLkNMSUVOVF9BVVRIKQotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjdHgucHJvdG9jb2wsIHNzbC5QUk9UT0NPTF9TU0x2MjMpCi0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN0eC52ZXJpZnlfbW9kZSwgc3NsLkNFUlRfTk9ORSkKLS0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3R4Lm9wdGlvbnMgJiBzc2wuT1BfTk9fU1NMdjIsIHNzbC5PUF9OT19TU0x2MikKLS0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCi0tICAgICAgICAgICAgY3R4Lm9wdGlvbnMgJiBnZXRhdHRyKHNzbCwgIk9QX05PX0NPTVBSRVNTSU9OIiwgMCksCi0tICAgICAgICAgICAgZ2V0YXR0cihzc2wsICJPUF9OT19DT01QUkVTU0lPTiIsIDApLAotLSAgICAgICAgKQotLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKLS0gICAgICAgICAgICBjdHgub3B0aW9ucyAmIGdldGF0dHIoc3NsLCAiT1BfU0lOR0xFX0RIX1VTRSIsIDApLAotLSAgICAgICAgICAgIGdldGF0dHIoc3NsLCAiT1BfU0lOR0xFX0RIX1VTRSIsIDApLAotLSAgICAgICAgKQotLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKLS0gICAgICAgICAgICBjdHgub3B0aW9ucyAmIGdldGF0dHIoc3NsLCAiT1BfU0lOR0xFX0VDREhfVVNFIiwgMCksCi0tICAgICAgICAgICAgZ2V0YXR0cihzc2wsICJPUF9TSU5HTEVfRUNESF9VU0UiLCAwKSwKLS0gICAgICAgICkKLSsgICAgICAgIHNlbGYuX2Fzc2VydF9jb250ZXh0X29wdGlvbnMoY3R4KQotIAotICAgICBkZWYgdGVzdF9fY3JlYXRlX3N0ZGxpYl9jb250ZXh0KHNlbGYpOgotICAgICAgICAgY3R4ID0gc3NsLl9jcmVhdGVfc3RkbGliX2NvbnRleHQoKQotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjdHgucHJvdG9jb2wsIHNzbC5QUk9UT0NPTF9TU0x2MjMpCi0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN0eC52ZXJpZnlfbW9kZSwgc3NsLkNFUlRfTk9ORSkKLSAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoY3R4LmNoZWNrX2hvc3RuYW1lKQotLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjdHgub3B0aW9ucyAmIHNzbC5PUF9OT19TU0x2Miwgc3NsLk9QX05PX1NTTHYyKQotKyAgICAgICAgc2VsZi5fYXNzZXJ0X2NvbnRleHRfb3B0aW9ucyhjdHgpCi0gCi0gICAgICAgICBjdHggPSBzc2wuX2NyZWF0ZV9zdGRsaWJfY29udGV4dChzc2wuUFJPVE9DT0xfVExTdjEpCi0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN0eC5wcm90b2NvbCwgc3NsLlBST1RPQ09MX1RMU3YxKQotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjdHgudmVyaWZ5X21vZGUsIHNzbC5DRVJUX05PTkUpCi0tICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN0eC5vcHRpb25zICYgc3NsLk9QX05PX1NTTHYyLCBzc2wuT1BfTk9fU1NMdjIpCi0rICAgICAgICBzZWxmLl9hc3NlcnRfY29udGV4dF9vcHRpb25zKGN0eCkKLSAKLSAgICAgICAgIGN0eCA9IHNzbC5fY3JlYXRlX3N0ZGxpYl9jb250ZXh0KHNzbC5QUk9UT0NPTF9UTFN2MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRfcmVxcz1zc2wuQ0VSVF9SRVFVSVJFRCwKLUBAIC0xMjYzLDEyICsxMjY3LDEyIEBAIGNsYXNzIENvbnRleHRUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN0eC5wcm90b2NvbCwgc3NsLlBST1RPQ09MX1RMU3YxKQotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjdHgudmVyaWZ5X21vZGUsIHNzbC5DRVJUX1JFUVVJUkVEKQotICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGN0eC5jaGVja19ob3N0bmFtZSkKLS0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3R4Lm9wdGlvbnMgJiBzc2wuT1BfTk9fU1NMdjIsIHNzbC5PUF9OT19TU0x2MikKLSsgICAgICAgIHNlbGYuX2Fzc2VydF9jb250ZXh0X29wdGlvbnMoY3R4KQotIAotICAgICAgICAgY3R4ID0gc3NsLl9jcmVhdGVfc3RkbGliX2NvbnRleHQocHVycG9zZT1zc2wuUHVycG9zZS5DTElFTlRfQVVUSCkKLSAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3R4LnByb3RvY29sLCBzc2wuUFJPVE9DT0xfU1NMdjIzKQotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjdHgudmVyaWZ5X21vZGUsIHNzbC5DRVJUX05PTkUpCi0tICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN0eC5vcHRpb25zICYgc3NsLk9QX05PX1NTTHYyLCBzc2wuT1BfTk9fU1NMdjIpCi0rICAgICAgICBzZWxmLl9hc3NlcnRfY29udGV4dF9vcHRpb25zKGN0eCkKLSAKLSAgICAgZGVmIHRlc3RfY2hlY2tfaG9zdG5hbWUoc2VsZik6Ci0gICAgICAgICBjdHggPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfVExTdjEpCi1kaWZmIC0tZ2l0IGEvTW9kdWxlcy9fc3NsLmMgYi9Nb2R1bGVzL19zc2wuYwotaW5kZXggODY0ODI2NzdhZS4uMGQ1YzEyMWQyYyAxMDA2NDQKLS0tLSBhL01vZHVsZXMvX3NzbC5jCi0rKysgYi9Nb2R1bGVzL19zc2wuYwotQEAgLTIzMzAsNiArMjMzMCw3IEBAIF9zc2xfX1NTTENvbnRleHRfaW1wbChQeVR5cGVPYmplY3QgKnR5cGUsIGludCBwcm90b192ZXJzaW9uKQotICAgICBQeVNTTENvbnRleHQgKnNlbGY7Ci0gICAgIGxvbmcgb3B0aW9uczsKLSAgICAgU1NMX0NUWCAqY3R4ID0gTlVMTDsKLSsgICAgaW50IHJlc3VsdDsKLSAjaWYgZGVmaW5lZChTU0xfTU9ERV9SRUxFQVNFX0JVRkZFUlMpCi0gICAgIHVuc2lnbmVkIGxvbmcgbGlidmVyOwotICNlbmRpZgotQEAgLTIzOTMsOCArMjM5NCwzOCBAQCBfc3NsX19TU0xDb250ZXh0X2ltcGwoUHlUeXBlT2JqZWN0ICp0eXBlLCBpbnQgcHJvdG9fdmVyc2lvbikKLSAgICAgICAgIG9wdGlvbnMgfD0gU1NMX09QX05PX1NTTHYyOwotICAgICBpZiAocHJvdG9fdmVyc2lvbiAhPSBQWV9TU0xfVkVSU0lPTl9TU0wzKQotICAgICAgICAgb3B0aW9ucyB8PSBTU0xfT1BfTk9fU1NMdjM7Ci0rICAgIC8qIE1pbmltYWwgc2VjdXJpdHkgZmxhZ3MgZm9yIHNlcnZlciBhbmQgY2xpZW50IHNpZGUgY29udGV4dC4KLSsgICAgICogQ2xpZW50IHNvY2tldHMgaWdub3JlIHNlcnZlci1zaWRlIHBhcmFtZXRlcnMuICovCi0rI2lmZGVmIFNTTF9PUF9OT19DT01QUkVTU0lPTgotKyAgICBvcHRpb25zIHw9IFNTTF9PUF9OT19DT01QUkVTU0lPTjsKLSsjZW5kaWYKLSsjaWZkZWYgU1NMX09QX0NJUEhFUl9TRVJWRVJfUFJFRkVSRU5DRQotKyAgICBvcHRpb25zIHw9IFNTTF9PUF9DSVBIRVJfU0VSVkVSX1BSRUZFUkVOQ0U7Ci0rI2VuZGlmCi0rI2lmZGVmIFNTTF9PUF9TSU5HTEVfREhfVVNFCi0rICAgIG9wdGlvbnMgfD0gU1NMX09QX1NJTkdMRV9ESF9VU0U7Ci0rI2VuZGlmCi0rI2lmZGVmIFNTTF9PUF9TSU5HTEVfRUNESF9VU0UKLSsgICAgb3B0aW9ucyB8PSBTU0xfT1BfU0lOR0xFX0VDREhfVVNFOwotKyNlbmRpZgotICAgICBTU0xfQ1RYX3NldF9vcHRpb25zKHNlbGYtPmN0eCwgb3B0aW9ucyk7Ci0gCi0rICAgIC8qIEEgYmFyZSBtaW5pbXVtIGNpcGhlciBsaXN0IHdpdGhvdXQgY29tcGxldGx5IGJyb2tlbiBjaXBoZXIgc3VpdGVzLgotKyAgICAgKiBJdCdzIGZhciBmcm9tIHBlcmZlY3QgYnV0IGdpdmVzIHVzZXJzIGEgYmV0dGVyIGhlYWQgc3RhcnQuICovCi0rICAgIGlmIChwcm90b192ZXJzaW9uICE9IFBZX1NTTF9WRVJTSU9OX1NTTDIpIHsKLSsgICAgICAgIHJlc3VsdCA9IFNTTF9DVFhfc2V0X2NpcGhlcl9saXN0KGN0eCwgIkhJR0g6IWFOVUxMOiFlTlVMTDohTUQ1Iik7Ci0rICAgIH0gZWxzZSB7Ci0rICAgICAgICAvKiBTU0x2MiBuZWVkcyBNRDUgKi8KLSsgICAgICAgIHJlc3VsdCA9IFNTTF9DVFhfc2V0X2NpcGhlcl9saXN0KGN0eCwgIkhJR0g6IWFOVUxMOiFlTlVMTCIpOwotKyAgICB9Ci0rICAgIGlmIChyZXN1bHQgPT0gMCkgewotKyAgICAgICAgUHlfREVDUkVGKHNlbGYpOwotKyAgICAgICAgRVJSX2NsZWFyX2Vycm9yKCk7Ci0rICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlTU0xFcnJvck9iamVjdCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAiTm8gY2lwaGVyIGNhbiBiZSBzZWxlY3RlZC4iKTsKLSsgICAgICAgIHJldHVybiBOVUxMOwotKyAgICB9Ci0rCi0gI2lmIGRlZmluZWQoU1NMX01PREVfUkVMRUFTRV9CVUZGRVJTKQotICAgICAvKiBTZXQgU1NMX01PREVfUkVMRUFTRV9CVUZGRVJTLiBUaGlzIHBvdGVudGlhbGx5IGdyZWF0bHkgcmVkdWNlcyBtZW1vcnkKLSAgICAgICAgdXNhZ2UgZm9yIG5vIGNvc3QgYXQgYWxsLiBIb3dldmVyLCBkb24ndCBkbyB0aGlzIGZvciBPcGVuU1NMIHZlcnNpb25zCi0tLSAKLTIuMTcuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAxLU1ha2VmaWxlLnByZS11c2UtcWVtdS13cmFwcGVyLXdoZW4tZ2F0aGVyaW5nLXByb2ZpbGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAxLU1ha2VmaWxlLnByZS11c2UtcWVtdS13cmFwcGVyLXdoZW4tZ2F0aGVyaW5nLXByb2ZpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmE3NzM1ZgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtTWFrZWZpbGUucHJlLXVzZS1xZW11LXdyYXBwZXItd2hlbi1nYXRoZXJpbmctcHJvZmlsZS5wYXRjaApAQCAtMCwwICsxLDI1IEBACitGcm9tIGNmNmE5MTAwOTAyNDg0ZTRkMDI4ZWU4ODc0MmRkMjQ4N2IwMTRhOTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMzAgSmFuIDIwMTkgMTI6NDE6MDQgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gTWFrZWZpbGUucHJlOiB1c2UgcWVtdSB3cmFwcGVyIHdoZW4gZ2F0aGVyaW5nIHByb2ZpbGUgZGF0YQorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW29lLWNvcmUgc3BlY2lmaWNdCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKy0tLQorIE1ha2VmaWxlLnByZS5pbiB8IDMgKy0tCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUucHJlLmluIGIvTWFrZWZpbGUucHJlLmluCitpbmRleCBhM2EwMmE3Li5kNTUwM2RkIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUucHJlLmluCisrKysgYi9NYWtlZmlsZS5wcmUuaW4KK0BAIC01MDcsOCArNTA3LDcgQEAgYnVpbGRfYWxsX2dlbmVyYXRlX3Byb2ZpbGU6CisgCSQoTUFLRSkgQERFRl9NQUtFX1JVTEVAIENGTEFHU19OT0RJU1Q9IiQoQ0ZMQUdTX05PRElTVCkgJChQR09fUFJPRl9HRU5fRkxBRykiIExERkxBR1NfTk9ESVNUPSIkKExERkxBR1NfTk9ESVNUKSAkKFBHT19QUk9GX0dFTl9GTEFHKSIgTElCUz0iJChMSUJTKSIKKyAKKyBydW5fcHJvZmlsZV90YXNrOgorLQlAICMgRklYTUU6IGNhbid0IHJ1biBmb3IgYSBjcm9zcyBidWlsZAorLQkkKExMVk1fUFJPRl9GSUxFKSAkKFJVTlNIQVJFRCkgLi8kKEJVSUxEUFlUSE9OKSAkKFBST0ZJTEVfVEFTSykgfHwgdHJ1ZQorKwkuL3Bnby13cmFwcGVyIC4vcHl0aG9uIC1tIHRlc3QucmVncnRlc3QgLS1wZ28gdGVzdF9ncmFtbWFyIHRlc3Rfb3Bjb2RlcyB0ZXN0X2RpY3QgdGVzdF9idWlsdGluIHRlc3RfZXhjZXB0aW9ucyB0ZXN0X3R5cGVzIHRlc3Rfc3VwcG9ydCB8fCB0cnVlCisgCisgYnVpbGRfYWxsX21lcmdlX3Byb2ZpbGU6CisgCSQoTExWTV9QUk9GX01FUkdFUikKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtZGlzdHV0aWxzLXN5c2NvbmZpZy1hcHBlbmQtU1RBR0lOR19MSUJESVItcHl0aG9uLXN5cy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtZGlzdHV0aWxzLXN5c2NvbmZpZy1hcHBlbmQtU1RBR0lOR19MSUJESVItcHl0aG9uLXN5cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MDgzMzQ1Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMS1kaXN0dXRpbHMtc3lzY29uZmlnLWFwcGVuZC1TVEFHSU5HX0xJQkRJUi1weXRob24tc3lzLnBhdGNoCkBAIC0wLDAgKzEsNDIgQEAKK0Zyb20gNDg2NTYxNWEyYmMyYjc4YzczOWU0YzMzZjUzNjcxMmM3ZjlhZjA2MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogVGh1LCAzMSBKYW4gMjAxOSAxNjo0NjozMCArMDEwMAorU3ViamVjdDogW1BBVENIXSBkaXN0dXRpbHMvc3lzY29uZmlnOiBhcHBlbmQKKyBTVEFHSU5HX0xJQkRJUi9weXRob24tc3lzY29uZmlnZGF0YSB0byBzeXMucGF0aAorCitTbyB0aGF0IHRhcmdldCBjb25maWd1cmF0aW9uIGNhbiBiZSB1c2VkIHdoZW4gcnVubmluZyBuYXRpdmUgcHl0aG9uCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2UtY29yZSBzcGVjaWZpY10KK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorCistLS0KKyBMaWIvZGlzdHV0aWxzL3N5c2NvbmZpZy5weSB8IDIgKysKKyBMaWIvc3lzY29uZmlnLnB5ICAgICAgICAgICB8IDIgKysKKyAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy9zeXNjb25maWcucHkgYi9MaWIvZGlzdHV0aWxzL3N5c2NvbmZpZy5weQoraW5kZXggZTA3YTZjOC4uNmI4YzEyOSAxMDA2NDQKKy0tLSBhL0xpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5CisrKysgYi9MaWIvZGlzdHV0aWxzL3N5c2NvbmZpZy5weQorQEAgLTQyMSw2ICs0MjEsOCBAQCBkZWYgX2luaXRfcG9zaXgoKToKKyAgICAgICAgIHBsYXRmb3JtPXN5cy5wbGF0Zm9ybSwKKyAgICAgICAgIG11bHRpYXJjaD1nZXRhdHRyKHN5cy5pbXBsZW1lbnRhdGlvbiwgJ19tdWx0aWFyY2gnLCAnJyksCisgICAgICkpCisrICAgIGlmICdTVEFHSU5HX0xJQkRJUicgaW4gb3MuZW52aXJvbjoKKysgICAgICAgIHN5cy5wYXRoLmFwcGVuZChvcy5lbnZpcm9uWydTVEFHSU5HX0xJQkRJUiddKycvcHl0aG9uLXN5c2NvbmZpZ2RhdGEnKQorICAgICBfdGVtcCA9IF9faW1wb3J0X18obmFtZSwgZ2xvYmFscygpLCBsb2NhbHMoKSwgWydidWlsZF90aW1lX3ZhcnMnXSwgMCkKKyAgICAgYnVpbGRfdGltZV92YXJzID0gX3RlbXAuYnVpbGRfdGltZV92YXJzCisgICAgIGdsb2JhbCBfY29uZmlnX3ZhcnMKK2RpZmYgLS1naXQgYS9MaWIvc3lzY29uZmlnLnB5IGIvTGliL3N5c2NvbmZpZy5weQoraW5kZXggOWVlNGQzMS4uZTU4NmFiZCAxMDA2NDQKKy0tLSBhL0xpYi9zeXNjb25maWcucHkKKysrKyBiL0xpYi9zeXNjb25maWcucHkKK0BAIC00MTIsNiArNDEyLDggQEAgZGVmIF9pbml0X3Bvc2l4KHZhcnMpOgorICAgICAiIiJJbml0aWFsaXplIHRoZSBtb2R1bGUgYXMgYXBwcm9wcmlhdGUgZm9yIFBPU0lYIHN5c3RlbXMuIiIiCisgICAgICMgX3N5c2NvbmZpZ2RhdGEgaXMgZ2VuZXJhdGVkIGF0IGJ1aWxkIHRpbWUsIHNlZSBfZ2VuZXJhdGVfcG9zaXhfdmFycygpCisgICAgIG5hbWUgPSBfZ2V0X3N5c2NvbmZpZ2RhdGFfbmFtZSgpCisrICAgIGlmICdTVEFHSU5HX0xJQkRJUicgaW4gb3MuZW52aXJvbjoKKysgICAgICAgIHN5cy5wYXRoLmFwcGVuZChvcy5lbnZpcm9uWydTVEFHSU5HX0xJQkRJUiddKycvcHl0aG9uLXN5c2NvbmZpZ2RhdGEnKQorICAgICBfdGVtcCA9IF9faW1wb3J0X18obmFtZSwgZ2xvYmFscygpLCBsb2NhbHMoKSwgWydidWlsZF90aW1lX3ZhcnMnXSwgMCkKKyAgICAgYnVpbGRfdGltZV92YXJzID0gX3RlbXAuYnVpbGRfdGltZV92YXJzCisgICAgIHZhcnMudXBkYXRlKGJ1aWxkX3RpbWVfdmFycykKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtaDJweS1GaXgtaXNzdWUtMTMwMzItd2hlcmUtaXQtZmFpbHMtd2l0aC1Vbmljb2RlRGVjby5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtaDJweS1GaXgtaXNzdWUtMTMwMzItd2hlcmUtaXQtZmFpbHMtd2l0aC1Vbmljb2RlRGVjby5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGQ2YjI0Zi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAxLWgycHktRml4LWlzc3VlLTEzMDMyLXdoZXJlLWl0LWZhaWxzLXdpdGgtVW5pY29kZURlY28ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi1Gcm9tIDJmNWE0YzcwOGQ5MGZhOGRiMjFmNDQ2YWU4NzljZmY3OTM4NzQ0OGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogTW9uLCAyMCBNYXkgMjAxMyAyMTowMzoxNiAtMDcwMAotU3ViamVjdDogW1BBVENIXSBoMnB5OiBGaXggaXNzdWUgMTMwMzIgd2hlcmUgaXQgZmFpbHMgd2l0aCBVbmljb2RlRGVjb2RlRXJyb3IKLQotdXNlIHV0Zi04IHRvIG9wZW4gdGhlIGZpbGVzCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gVG9vbHMvc2NyaXB0cy9oMnB5LnB5IHwgNCArKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL1Rvb2xzL3NjcmlwdHMvaDJweS5weSBiL1Rvb2xzL3NjcmlwdHMvaDJweS5weQotaW5kZXggNGY4NzFkOS4uYTUzZmJlMCAxMDA3NTUKLS0tLSBhL1Rvb2xzL3NjcmlwdHMvaDJweS5weQotKysrIGIvVG9vbHMvc2NyaXB0cy9oMnB5LnB5Ci1AQCAtNjksMTMgKzY5LDEzIEBAIGRlZiBtYWluKCk6Ci0gICAgICAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgnIyBHZW5lcmF0ZWQgYnkgaDJweSBmcm9tIHN0ZGluXG4nKQotICAgICAgICAgICAgIHByb2Nlc3Moc3lzLnN0ZGluLCBzeXMuc3Rkb3V0KQotICAgICAgICAgZWxzZToKLS0gICAgICAgICAgICBmcCA9IG9wZW4oZmlsZW5hbWUsICdyJykKLSsgICAgICAgICAgICBmcCA9IG9wZW4oZmlsZW5hbWUsICdyJywgZW5jb2Rpbmc9J3V0Zi04JykKLSAgICAgICAgICAgICBvdXRmaWxlID0gb3MucGF0aC5iYXNlbmFtZShmaWxlbmFtZSkKLSAgICAgICAgICAgICBpID0gb3V0ZmlsZS5yZmluZCgnLicpCi0gICAgICAgICAgICAgaWYgaSA+IDA6IG91dGZpbGUgPSBvdXRmaWxlWzppXQotICAgICAgICAgICAgIG1vZG5hbWUgPSBvdXRmaWxlLnVwcGVyKCkKLSAgICAgICAgICAgICBvdXRmaWxlID0gbW9kbmFtZSArICcucHknCi0tICAgICAgICAgICAgb3V0ZnAgPSBvcGVuKG91dGZpbGUsICd3JykKLSsgICAgICAgICAgICBvdXRmcCA9IG9wZW4ob3V0ZmlsZSwgJ3cnLCBlbmNvZGluZz0ndXRmLTgnKQotICAgICAgICAgICAgIG91dGZwLndyaXRlKCcjIEdlbmVyYXRlZCBieSBoMnB5IGZyb20gJXNcbicgJSBmaWxlbmFtZSkKLSAgICAgICAgICAgICBmaWxlZGljdCA9IHt9Ci0gICAgICAgICAgICAgZm9yIGRpciBpbiBzZWFyY2hkaXJzOgotLS0gCi0xLjguMS4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtcHl0aG9uMy11c2UtY2NfYmFzZW5hbWUtdG8tcmVwbGFjZS1DQy1mb3ItY2hlY2tpbmctYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtcHl0aG9uMy11c2UtY2NfYmFzZW5hbWUtdG8tcmVwbGFjZS1DQy1mb3ItY2hlY2tpbmctYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NzM1OTU0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMS1weXRob24zLXVzZS1jY19iYXNlbmFtZS10by1yZXBsYWNlLUNDLWZvci1jaGVja2luZy1jLnBhdGNoCkBAIC0wLDAgKzEsMTIwIEBACitGcm9tIDI2NDUzMTdmZWYwOWFmZTMxYjAxYmIyYzFkNGZlNWI5YWZkYmIxMWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyMiBPY3QgMjAxOCAxNToxOTo1MSArMDgwMAorU3ViamVjdDogW1BBVENIXSBweXRob24zOiB1c2UgY2NfYmFzZW5hbWUgdG8gcmVwbGFjZSBDQyBmb3IgY2hlY2tpbmcgY29tcGlsZXIKKworV2hlbiB3b3JraW5nIHBhdGggY29udGFpbnMgImNsYW5nIi8iZ2NjIi8iaWNjIiwgaXQgbWlnaHQgYmUgcGFydCBvZiAkQ0MKK2JlY2F1c2Ugb2YgdGhlICItLXN5c3Jvb3QiIHBhcmFtZXRlci4gVGhhdCBjb3VsZCBjYXVzZSBqdWRnZW1lbnQgZXJyb3IKK2Fib3V0IGNsYW5nL2djYy9pY2MgY29tcGlsZXJzLiBlLmcuCitXaGVuICJpY2MiIGlzIGNvbnRhaW5kZWQgaW4gd29ya2luZyBwYXRoLCBiZWxvdyBlcnJvcnMgYXJlIHJlcG9ydGVkIHdoZW4KK2NvbXBpbGluZyBweXRob24zOgoreDg2XzY0LXdycy1saW51eC1nY2M6IGVycm9yOiBzdHJpY3Q6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKK3g4Nl82NC13cnMtbGludXgtZ2NjOiBlcnJvcjogdW5yZWNvZ25pemVkIGNvbW1hbmQgbGluZSBvcHRpb24gJy1mcC1tb2RlbCcKKworSGVyZSB1c2UgY2NfYmFzZW5hbWUgdG8gcmVwbGFjZSBDQyBmb3IgY2hlY2tpbmcgY29tcGlsZXIgdG8gYXZvaWQgc3VjaAora2luZCBvZiBpc3N1ZS4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IExpIFpob3UgPGxpLnpob3VAd2luZHJpdmVyLmNvbT4KKworcGF0Y2ggb3JpZ2luYWxseSBmcm9tIExpIFpob3UsIEkganVzdCByZXdvcmsgaXQgdG8gbmV3IHZlcnNpb24KKworU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8IDE5ICsrKysrKysrKystLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggYTdkZTkwMS4uNGEzNjgxZiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNTQsNiArNTQsNyBAQCBBQ19DT05GSUdfSEVBREVSKHB5Y29uZmlnLmgpCisgQUNfQ0FOT05JQ0FMX0hPU1QKKyBBQ19TVUJTVChidWlsZCkKKyBBQ19TVUJTVChob3N0KQorK0xUX0lOSVQKKyAKKyAjIHB5YnVpbGRkaXIudHh0IHdpbGwgYmUgY3JlYXRlZCBieSAtLWdlbmVyYXRlLXBvc2l4LXZhcnMgaW4gdGhlIE1ha2VmaWxlCisgcm0gLWYgcHlidWlsZGRpci50eHQKK0BAIC02OTUsNyArNjk2LDcgQEAgQUNfTVNHX1JFU1VMVCgkd2l0aF9jeHhfbWFpbikKKyBwcmVzZXRfY3h4PSIkQ1hYIgorIGlmIHRlc3QgLXogIiRDWFgiCisgdGhlbgorLSAgICAgICAgY2FzZSAiJENDIiBpbgorKyAgICAgICAgY2FzZSAiJGNjX2Jhc2VuYW1lIiBpbgorICAgICAgICAgZ2NjKSAgICBBQ19QQVRIX1RPT0woQ1hYLCBbZysrXSwgW2crK10sIFtub3Rmb3VuZF0pIDs7CisgICAgICAgICBjYykgICAgIEFDX1BBVEhfVE9PTChDWFgsIFtjKytdLCBbYysrXSwgW25vdGZvdW5kXSkgOzsKKyAgICAgICAgIGNsYW5nfCovY2xhbmcpICAgICBBQ19QQVRIX1RPT0woQ1hYLCBbY2xhbmcrK10sIFtjbGFuZysrXSwgW25vdGZvdW5kXSkgOzsKK0BAIC05NzksNyArOTgwLDcgQEAgcm1kaXIgQ2FzZVNlbnNpdGl2ZVRlc3REaXIKKyAKKyBjYXNlICRhY19zeXNfc3lzdGVtIGluCisgaHAqfEhQKikKKy0gICAgY2FzZSAkQ0MgaW4KKysgICAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KKyAgICAgY2N8Ki9jYykgQ0M9IiRDQyAtQWUiOzsKKyAgICAgZXNhYzs7CisgZXNhYworQEAgLTEzMzYsNyArMTMzNyw3IEBAIGVsc2UKKyBmaV0sCisgW0FDX01TR19SRVNVTFQobm8pXSkKKyBpZiB0ZXN0ICIkUHlfTFRPIiA9ICd0cnVlJyA7IHRoZW4KKy0gIGNhc2UgJENDIGluCisrICBjYXNlICRjY19iYXNlbmFtZSBpbgorICAgICAqY2xhbmcqKQorICAgICAgIEFDX1NVQlNUKExMVk1fQVIpCisgICAgICAgQUNfUEFUSF9UQVJHRVRfVE9PTChMTFZNX0FSLCBsbHZtLWFyLCAnJywgJHtsbHZtX3BhdGh9KQorQEAgLTE0MjYsNyArMTQyNyw3IEBAIHRoZW4KKyAgIGZpCisgZmkKKyBMTFZNX1BST0ZfRVJSPW5vCistY2FzZSAkQ0MgaW4KKytjYXNlICRjY19iYXNlbmFtZSBpbgorICAgKmNsYW5nKikKKyAgICAgIyBBbnkgY2hhbmdlcyBtYWRlIGhlcmUgc2hvdWxkIGJlIHJlZmxlY3RlZCBpbiB0aGUgR0NDK0RhcndpbiBjYXNlIGJlbG93CisgICAgIFBHT19QUk9GX0dFTl9GTEFHPSItZnByb2ZpbGUtaW5zdHItZ2VuZXJhdGUiCitAQCAtMTUwMCw3ICsxNTAxLDcgQEAgdGhlbgorICAgICAgICAgICAgV1JBUD0iLWZ3cmFwdiIKKyAgICAgICAgIGZpCisgCistICAgICAgICBjYXNlICRDQyBpbgorKyAgICAgICAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KKyAgICAgICAgICAgICAqY2xhbmcqKQorICAgICAgICAgICAgICAgICBjY19pc19jbGFuZz0xCisgICAgICAgICAgICAgICAgIDs7CitAQCAtMTYyMyw3ICsxNjI0LDcgQEAgeWVzKQorIAorICAgICAjIElDQyBkb2Vzbid0IHJlY29nbml6ZSB0aGUgb3B0aW9uLCBidXQgb25seSBlbWl0cyBhIHdhcm5pbmcKKyAgICAgIyMgWFhYIGRvZXMgaXQgZW1pdCBhbiB1bnVzZWQgcmVzdWx0IHdhcm5pbmcgYW5kIGNhbiBpdCBiZSBkaXNhYmxlZD8KKy0gICAgY2FzZSAiJENDIiBpbgorKyAgICBjYXNlICIkY2NfYmFzZW5hbWUiIGluCisgICAgICppY2MqKQorICAgICBhY19jdl9kaXNhYmxlX3VudXNlZF9yZXN1bHRfd2FybmluZz1ubworICAgICA7OworQEAgLTE5NjUsNyArMTk2Niw3IEBAIHllcykKKyBlc2FjCisgCisgIyBJQ0MgbmVlZHMgLWZwLW1vZGVsIHN0cmljdCBvciBmbG9hdHMgYmVoYXZlIGJhZGx5CistY2FzZSAiJENDIiBpbgorK2Nhc2UgIiRjY19iYXNlbmFtZSIgaW4KKyAqaWNjKikKKyAgICAgQ0ZMQUdTX05PRElTVD0iJENGTEFHU19OT0RJU1QgLWZwLW1vZGVsIHN0cmljdCIKKyAgICAgOzsKK0BAIC0yNzI3LDcgKzI3MjgsNyBAQCB0aGVuCisgCQl0aGVuCisgCQkJTElOS0ZPUlNIQVJFRD0iLVdsLC0tZXhwb3J0LWR5bmFtaWMiCisgCQlmaTs7CistCVN1bk9TLzUqKSBjYXNlICRDQyBpbgorKwlTdW5PUy81KikgY2FzZSAkY2NfYmFzZW5hbWUgaW4KKyAJCSAgKmdjYyopCisgCQkgICAgaWYgJENDIC1YbGlua2VyIC0taGVscCAyPiYxIHwgZ3JlcCBleHBvcnQtZHluYW1pYyA+L2Rldi9udWxsCisgCQkgICAgdGhlbgorQEAgLTU0MjksNyArNTQzMCw3IEBAIGlmIHRlc3QgIiRoYXZlX2djY19hc21fZm9yX3g4NyIgPSB5ZXM7IHRoZW4KKyAgICAgIyBTb21lIHZlcnNpb25zIG9mIGdjYyBtaXNjb21waWxlIGlubGluZSBhc206CisgICAgICMgaHR0cDovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD00NjQ5MQorICAgICAjIGh0dHA6Ly9nY2MuZ251Lm9yZy9tbC9nY2MvMjAxMC0xMS9tc2cwMDM2Ni5odG1sCistICAgIGNhc2UgJENDIGluCisrICAgIGNhc2UgJGNjX2Jhc2VuYW1lIGluCisgICAgICAgICAqZ2NjKikKKyAgICAgICAgICAgICBBQ19NU0dfQ0hFQ0tJTkcoZm9yIGdjYyBpcGEtcHVyZS1jb25zdCBidWcpCisgICAgICAgICAgICAgc2F2ZWRfY2ZsYWdzPSIkQ0ZMQUdTIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMi1Eb24tdC1kby1ydW50aW1lLXRlc3QtdG8tZ2V0LWZsb2F0LWJ5dGUtb3JkZXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAyLURvbi10LWRvLXJ1bnRpbWUtdGVzdC10by1nZXQtZmxvYXQtYnl0ZS1vcmRlci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNzIxZTdjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMi1Eb24tdC1kby1ydW50aW1lLXRlc3QtdG8tZ2V0LWZsb2F0LWJ5dGUtb3JkZXIucGF0Y2gKQEAgLTAsMCArMSwxOTkgQEAKK0Zyb20gZmE5NmE3ZmQxOWUxN2I5YzZiNGRkMDFjM2MzNzc0ZmIzODJkZGRjNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CitEYXRlOiBXZWQsIDUgU2VwIDIwMTggMTE6NDU6NTIgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRG9uJ3QgZG8gcnVudGltZSB0ZXN0IHRvIGdldCBmbG9hdCBieXRlIG9yZGVyCisKK1B5dGhvbiB1c2VzIEFDX1JVTl9JRkVMU0UgdG8gZGV0ZXJtaW5lIHRoZSBieXRlIG9yZGVyIGZvciBmbG9hdHMgYW5kIGRvdWJsZXMsCithbmQgZmFsbHMgYmFjayBvbnRvICJJIGRvbid0IGtub3ciIGlmIGl0IGNhbid0IHJ1biBjb2RlLiAgVGhpcyByZXN1bHRzIGluCitjcmlwcGxlZCBmbG9hdGluZyBwb2ludCBudW1iZXJzIGluIFB5dGhvbiwgYW5kIHRoZSByZWdyZXNzaW9uIHRlc3RzIGZhaWwuCisKK0luc3RlYWQgb2YgcnVubmluZyBjb2RlLCB0YWtlIGEgbWFjcm8gZnJvbSBhdXRvY29uZi1hcmNoaXZlIHdoaWNoIGNvbXBpbGVzIEMKK3dpdGggYSBzcGVjaWFsIGRvdWJsZSBpbiB3aGljaCBoYXMgYW4gQVNDSUkgcmVwcmVzZW50YXRpb24sIGFuZCB0aGVuIGdyZXBzIHRoZQorYmluYXJ5IHRvIGlkZW50aWZ5IHRoZSBmb3JtYXQuCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTM0NTg1XQorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgICAgICAgICAgIHwgNzIgKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgbTQvYXhfY19mbG9hdF93b3Jkc19iaWdlbmRpYW4ubTQgfCA4MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDIgZmlsZXMgY2hhbmdlZCwgOTAgaW5zZXJ0aW9ucygrKSwgNjUgZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IG00L2F4X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuLm00CisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDRhMzY4MWYuLjRhYjE5YTYgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTQzMjgsNzcgKzQzMjgsMTkgQEAgZmkKKyAjICogQ2hlY2sgZm9yIHZhcmlvdXMgcHJvcGVydGllcyBvZiBmbG9hdGluZyBwb2ludCAqCisgIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIAorLUFDX01TR19DSEVDS0lORyh3aGV0aGVyIEMgZG91YmxlcyBhcmUgbGl0dGxlLWVuZGlhbiBJRUVFIDc1NCBiaW5hcnk2NCkKKy1BQ19DQUNIRV9WQUwoYWNfY3ZfbGl0dGxlX2VuZGlhbl9kb3VibGUsIFsKKy1BQ19SVU5fSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbWworLSNpbmNsdWRlIDxzdHJpbmcuaD4KKy1pbnQgbWFpbigpIHsKKy0gICAgZG91YmxlIHggPSA5MDA2MTA0MDcxODMyNTgxLjA7CistICAgIGlmIChtZW1jbXAoJngsICJceDA1XHgwNFx4MDNceDAyXHgwMVx4ZmZceDNmXHg0MyIsIDgpID09IDApCistICAgICAgICByZXR1cm4gMDsKKy0gICAgZWxzZQorLSAgICAgICAgcmV0dXJuIDE7CistfQorLV1dKV0sCistW2FjX2N2X2xpdHRsZV9lbmRpYW5fZG91YmxlPXllc10sCistW2FjX2N2X2xpdHRsZV9lbmRpYW5fZG91YmxlPW5vXSwKKy1bYWNfY3ZfbGl0dGxlX2VuZGlhbl9kb3VibGU9bm9dKV0pCistQUNfTVNHX1JFU1VMVCgkYWNfY3ZfbGl0dGxlX2VuZGlhbl9kb3VibGUpCistaWYgdGVzdCAiJGFjX2N2X2xpdHRsZV9lbmRpYW5fZG91YmxlIiA9IHllcworLXRoZW4KKy0gIEFDX0RFRklORShET1VCTEVfSVNfTElUVExFX0VORElBTl9JRUVFNzU0LCAxLAorLSAgW0RlZmluZSBpZiBDIGRvdWJsZXMgYXJlIDY0LWJpdCBJRUVFIDc1NCBiaW5hcnkgZm9ybWF0LCBzdG9yZWQKKy0gICB3aXRoIHRoZSBsZWFzdCBzaWduaWZpY2FudCBieXRlIGZpcnN0XSkKKy1maQorLQorLUFDX01TR19DSEVDS0lORyh3aGV0aGVyIEMgZG91YmxlcyBhcmUgYmlnLWVuZGlhbiBJRUVFIDc1NCBiaW5hcnk2NCkKKy1BQ19DQUNIRV9WQUwoYWNfY3ZfYmlnX2VuZGlhbl9kb3VibGUsIFsKKy1BQ19SVU5fSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbWworLSNpbmNsdWRlIDxzdHJpbmcuaD4KKy1pbnQgbWFpbigpIHsKKy0gICAgZG91YmxlIHggPSA5MDA2MTA0MDcxODMyNTgxLjA7CistICAgIGlmIChtZW1jbXAoJngsICJceDQzXHgzZlx4ZmZceDAxXHgwMlx4MDNceDA0XHgwNSIsIDgpID09IDApCistICAgICAgICByZXR1cm4gMDsKKy0gICAgZWxzZQorLSAgICAgICAgcmV0dXJuIDE7CistfQorLV1dKV0sCistW2FjX2N2X2JpZ19lbmRpYW5fZG91YmxlPXllc10sCistW2FjX2N2X2JpZ19lbmRpYW5fZG91YmxlPW5vXSwKKy1bYWNfY3ZfYmlnX2VuZGlhbl9kb3VibGU9bm9dKV0pCistQUNfTVNHX1JFU1VMVCgkYWNfY3ZfYmlnX2VuZGlhbl9kb3VibGUpCistaWYgdGVzdCAiJGFjX2N2X2JpZ19lbmRpYW5fZG91YmxlIiA9IHllcworK0FYX0NfRkxPQVRfV09SRFNfQklHRU5ESUFOCisraWYgdGVzdCAiJGF4X2N2X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuIiA9ICJ5ZXMiCisgdGhlbgorICAgQUNfREVGSU5FKERPVUJMRV9JU19CSUdfRU5ESUFOX0lFRUU3NTQsIDEsCisgICBbRGVmaW5lIGlmIEMgZG91YmxlcyBhcmUgNjQtYml0IElFRUUgNzU0IGJpbmFyeSBmb3JtYXQsIHN0b3JlZAorICAgIHdpdGggdGhlIG1vc3Qgc2lnbmlmaWNhbnQgYnl0ZSBmaXJzdF0pCistZmkKKy0KKy0jIFNvbWUgQVJNIHBsYXRmb3JtcyB1c2UgYSBtaXhlZC1lbmRpYW4gcmVwcmVzZW50YXRpb24gZm9yIGRvdWJsZXMuCistIyBXaGlsZSBQeXRob24gZG9lc24ndCBjdXJyZW50bHkgaGF2ZSBmdWxsIHN1cHBvcnQgZm9yIHRoZXNlIHBsYXRmb3JtcworLSMgKHNlZSBlLmcuLCBpc3N1ZSAxNzYyNTYxKSwgd2UgY2FuIGF0IGxlYXN0IG1ha2Ugc3VyZSB0aGF0IGZsb2F0IDwtPiBzdHJpbmcKKy0jIGNvbnZlcnNpb25zIHdvcmsuCistQUNfTVNHX0NIRUNLSU5HKHdoZXRoZXIgQyBkb3VibGVzIGFyZSBBUk0gbWl4ZWQtZW5kaWFuIElFRUUgNzU0IGJpbmFyeTY0KQorLUFDX0NBQ0hFX1ZBTChhY19jdl9taXhlZF9lbmRpYW5fZG91YmxlLCBbCistQUNfUlVOX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW1sKKy0jaW5jbHVkZSA8c3RyaW5nLmg+CistaW50IG1haW4oKSB7CistICAgIGRvdWJsZSB4ID0gOTAwNjEwNDA3MTgzMjU4MS4wOworLSAgICBpZiAobWVtY21wKCZ4LCAiXHgwMVx4ZmZceDNmXHg0M1x4MDVceDA0XHgwM1x4MDIiLCA4KSA9PSAwKQorLSAgICAgICAgcmV0dXJuIDA7CistICAgIGVsc2UKKy0gICAgICAgIHJldHVybiAxOworLX0KKy1dXSldLAorLVthY19jdl9taXhlZF9lbmRpYW5fZG91YmxlPXllc10sCistW2FjX2N2X21peGVkX2VuZGlhbl9kb3VibGU9bm9dLAorLVthY19jdl9taXhlZF9lbmRpYW5fZG91YmxlPW5vXSldKQorLUFDX01TR19SRVNVTFQoJGFjX2N2X21peGVkX2VuZGlhbl9kb3VibGUpCistaWYgdGVzdCAiJGFjX2N2X21peGVkX2VuZGlhbl9kb3VibGUiID0geWVzCisrZWxpZiB0ZXN0ICIkYXhfY3ZfY19mbG9hdF93b3Jkc19iaWdlbmRpYW4iID0gIm5vIgorIHRoZW4KKy0gIEFDX0RFRklORShET1VCTEVfSVNfQVJNX01JWEVEX0VORElBTl9JRUVFNzU0LCAxLAorKyAgQUNfREVGSU5FKERPVUJMRV9JU19MSVRUTEVfRU5ESUFOX0lFRUU3NTQsIDEsCisgICBbRGVmaW5lIGlmIEMgZG91YmxlcyBhcmUgNjQtYml0IElFRUUgNzU0IGJpbmFyeSBmb3JtYXQsIHN0b3JlZAorLSAgIGluIEFSTSBtaXhlZC1lbmRpYW4gb3JkZXIgKGJ5dGUgb3JkZXIgNDU2NzAxMjMpXSkKKysgICB3aXRoIHRoZSBsZWFzdCBzaWduaWZpY2FudCBieXRlIGZpcnN0XSkKKytlbHNlCisrICBBQ19NU0dfRVJST1IoW0Nhbm5vdCBpZGVudGlmeSBmbG9hdGluZyBwb2ludCBieXRlIG9yZGVyXSkKKyBmaQorIAorICMgVGhlIHNob3J0IGZsb2F0IHJlcHIgaW50cm9kdWNlZCBpbiBQeXRob24gMy4xIHJlcXVpcmVzIHRoZQorZGlmZiAtLWdpdCBhL200L2F4X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuLm00IGIvbTQvYXhfY19mbG9hdF93b3Jkc19iaWdlbmRpYW4ubTQKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi4yMTZiOTBkCistLS0gL2Rldi9udWxsCisrKysgYi9tNC9heF9jX2Zsb2F0X3dvcmRzX2JpZ2VuZGlhbi5tNAorQEAgLTAsMCArMSw4MyBAQAorKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorKyMgIGh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvYXV0b2NvbmYtYXJjaGl2ZS9heF9jX2Zsb2F0X3dvcmRzX2JpZ2VuZGlhbi5odG1sCisrIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrIworKyMgU1lOT1BTSVMKKysjCisrIyAgIEFYX0NfRkxPQVRfV09SRFNfQklHRU5ESUFOKFtBQ1RJT04tSUYtVFJVRV0sIFtBQ1RJT04tSUYtRkFMU0VdLCBbQUNUSU9OLUlGLVVOS05PV05dKQorKyMKKysjIERFU0NSSVBUSU9OCisrIworKyMgICBDaGVja3MgdGhlIG9yZGVyaW5nIG9mIHdvcmRzIHdpdGhpbiBhIG11bHRpLXdvcmQgZmxvYXQuIFRoaXMgY2hlY2sgaXMKKysjICAgbmVjZXNzYXJ5IGJlY2F1c2Ugb24gc29tZSBzeXN0ZW1zIChlLmcuIGNlcnRhaW4gQVJNIHN5c3RlbXMpLCB0aGUgZmxvYXQKKysjICAgd29yZCBvcmRlcmluZyBjYW4gYmUgZGlmZmVyZW50IGZyb20gdGhlIGJ5dGUgb3JkZXJpbmcuIEluIGEgbXVsdGktd29yZAorKyMgICBmbG9hdCBjb250ZXh0LCAiYmlnLWVuZGlhbiIgaW1wbGllcyB0aGF0IHRoZSB3b3JkIGNvbnRhaW5pbmcgdGhlIHNpZ24KKysjICAgYml0IGlzIGZvdW5kIGluIHRoZSBtZW1vcnkgbG9jYXRpb24gd2l0aCB0aGUgbG93ZXN0IGFkZHJlc3MuIFRoaXMKKysjICAgaW1wbGVtZW50YXRpb24gd2FzIGluc3BpcmVkIGJ5IHRoZSBBQ19DX0JJR0VORElBTiBtYWNybyBpbiBhdXRvY29uZi4KKysjCisrIyAgIFRoZSBlbmRpYW5uZXNzIGlzIGRldGVjdGVkIGJ5IGZpcnN0IGNvbXBpbGluZyBDIGNvZGUgdGhhdCBjb250YWlucyBhCisrIyAgIHNwZWNpYWwgZG91YmxlIGZsb2F0IHZhbHVlLCB0aGVuIGdyZXBwaW5nIHRoZSByZXN1bHRpbmcgb2JqZWN0IGZpbGUgZm9yCisrIyAgIGNlcnRhaW4gc3RyaW5ncyBvZiBBU0NJSSB2YWx1ZXMuIFRoZSBkb3VibGUgaXMgc3BlY2lhbGx5IGNyYWZ0ZWQgdG8gaGF2ZQorKyMgICBhIGJpbmFyeSByZXByZXNlbnRhdGlvbiB0aGF0IGNvcnJlc3BvbmRzIHdpdGggYSBzaW1wbGUgc3RyaW5nLiBJbiB0aGlzCisrIyAgIGltcGxlbWVudGF0aW9uLCB0aGUgc3RyaW5nICJub29uc2VlcyIgd2FzIHNlbGVjdGVkIGJlY2F1c2UgdGhlCisrIyAgIGluZGl2aWR1YWwgd29yZCB2YWx1ZXMgKCJub29uIiBhbmQgInNlZXMiKSBhcmUgcGFsaW5kcm9tZXMsIHRodXMgbWFraW5nCisrIyAgIHRoaXMgdGVzdCBieXRlLW9yZGVyIGFnbm9zdGljLiBJZiBncmVwIGZpbmRzIHRoZSBzdHJpbmcgIm5vb25zZWVzIiBpbgorKyMgICB0aGUgb2JqZWN0IGZpbGUsIHRoZSB0YXJnZXQgcGxhdGZvcm0gc3RvcmVzIGZsb2F0IHdvcmRzIGluIGJpZy1lbmRpYW4KKysjICAgb3JkZXIuIElmIGdyZXAgZmluZHMgInNlZXNub29uIiwgZmxvYXQgd29yZHMgYXJlIGluIGxpdHRsZS1lbmRpYW4gb3JkZXIuCisrIyAgIElmIG5laXRoZXIgdmFsdWUgaXMgZm91bmQsIHRoZSB1c2VyIGlzIGluc3RydWN0ZWQgdG8gc3BlY2lmeSB0aGUKKysjICAgb3JkZXJpbmcuCisrIworKyMgTElDRU5TRQorKyMKKysjICAgQ29weXJpZ2h0IChjKSAyMDA4IERhbmllbCBBbWVsYW5nIDxkYW5AYW1lbGFuZy5uZXQ+CisrIworKyMgICBDb3B5aW5nIGFuZCBkaXN0cmlidXRpb24gb2YgdGhpcyBmaWxlLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUKKysjICAgcGVybWl0dGVkIGluIGFueSBtZWRpdW0gd2l0aG91dCByb3lhbHR5IHByb3ZpZGVkIHRoZSBjb3B5cmlnaHQgbm90aWNlCisrIyAgIGFuZCB0aGlzIG5vdGljZSBhcmUgcHJlc2VydmVkLiBUaGlzIGZpbGUgaXMgb2ZmZXJlZCBhcy1pcywgd2l0aG91dCBhbnkKKysjICAgd2FycmFudHkuCisrCisrI3NlcmlhbCAxMQorKworK0FDX0RFRlVOKFtBWF9DX0ZMT0FUX1dPUkRTX0JJR0VORElBTl0sCisrICBbQUNfQ0FDSEVfQ0hFQ0sod2hldGhlciBmbG9hdCB3b3JkIG9yZGVyaW5nIGlzIGJpZ2VuZGlhbiwKKysgICAgICAgICAgICAgICAgICBheF9jdl9jX2Zsb2F0X3dvcmRzX2JpZ2VuZGlhbiwgWworKworK2F4X2N2X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuPXVua25vd24KKytBQ19DT01QSUxFX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW1sKKysKKytkb3VibGUgZCA9IDkwOTA0MjM0OTY3MDM2ODEwMzM3NDcwNDc4OTA1NTA1MDExNDc2MjExNjkyNzM1NjE1NjMyMDE0Nzk3MTIwODQ0MDUzNDg4ODY1ODE2Njk1MjczNzIzNDY5MDk3ODU4MDU2MjU3NTE3MDIwMTkxMjQ3NDg3NDI5NTE2OTMyMTMwNTAzNTYwNjUwMDAyMzI3NTY0NTE3NTcwNzc4NDgwMjM2NzI0NTI1MTQwNTIwMTIxMzcxNzM5MjAxNDk2NTQwMTMyNjQwMTA5OTc3Nzc5NDIwNTY1Nzc2NTY4OTQyNTkyLjA7CisrCisrXV0pXSwgWworKworK2lmIGdyZXAgbm9vbnNlZXMgY29uZnRlc3QuJGFjX29iamV4dCA+L2Rldi9udWxsIDsgdGhlbgorKyAgYXhfY3ZfY19mbG9hdF93b3Jkc19iaWdlbmRpYW49eWVzCisrZmkKKytpZiBncmVwIHNlZXNub29uIGNvbmZ0ZXN0LiRhY19vYmpleHQgPi9kZXYvbnVsbCA7IHRoZW4KKysgIGlmIHRlc3QgIiRheF9jdl9jX2Zsb2F0X3dvcmRzX2JpZ2VuZGlhbiIgPSB1bmtub3duOyB0aGVuCisrICAgIGF4X2N2X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuPW5vCisrICBlbHNlCisrICAgIGF4X2N2X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuPXVua25vd24KKysgIGZpCisrZmkKKysKKytdKV0pCisrCisrY2FzZSAkYXhfY3ZfY19mbG9hdF93b3Jkc19iaWdlbmRpYW4gaW4KKysgIHllcykKKysgICAgbTRfZGVmYXVsdChbJDFdLAorKyAgICAgIFtBQ19ERUZJTkUoW0ZMT0FUX1dPUkRTX0JJR0VORElBTl0sIDEsCisrICAgICAgICAgICAgICAgICBbRGVmaW5lIHRvIDEgaWYgeW91ciBzeXN0ZW0gc3RvcmVzIHdvcmRzIHdpdGhpbiBmbG9hdHMKKysgICAgICAgICAgICAgICAgICB3aXRoIHRoZSBtb3N0IHNpZ25pZmljYW50IHdvcmQgZmlyc3RdKV0pIDs7CisrICBubykKKysgICAgJDIgOzsKKysgICopCisrICAgIG00X2RlZmF1bHQoWyQzXSwKKysgICAgICBbQUNfTVNHX0VSUk9SKFsKKysKKytVbmtub3duIGZsb2F0IHdvcmQgb3JkZXJpbmcuIFlvdSBuZWVkIHRvIG1hbnVhbGx5IHByZXNldAorK2F4X2N2X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuPW5vIChvciB5ZXMpIGFjY29yZGluZyB0byB5b3VyIHN5c3RlbS4KKysKKysgICAgXSldKSA7OworK2VzYWMKKysKKytdKSMgQVhfQ19GTE9BVF9XT1JEU19CSUdFTkRJQU4KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDItTWFrZWZpbGUtYWRkLXRhcmdldC10by1zcGxpdC1wcm9maWxlLWdlbmVyYXRpb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAyLU1ha2VmaWxlLWFkZC10YXJnZXQtdG8tc3BsaXQtcHJvZmlsZS1nZW5lcmF0aW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYjRiYTMxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDItTWFrZWZpbGUtYWRkLXRhcmdldC10by1zcGxpdC1wcm9maWxlLWdlbmVyYXRpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi1Gcm9tIDk4NTg2ZDZkYzU5OGU0MGI4YjgyMWIwZGRlNTc1OTllMTg4YTdjYTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPgotRGF0ZTogVHVlLCA3IEF1ZyAyMDE4IDE2OjQzOjE3ICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggMi8yXSBNYWtlZmlsZTogYWRkIHRhcmdldCB0byBzcGxpdCBwcm9maWxlIGdlbmVyYXRpb24KLQotV2UgZG9uJ3Qgd2FudCB0byBoYXZlIHByb2ZpbGUgdGFzayBpbnZva2VkIGZyb20gaGVyZSBhbmQgd2FudCB0byB1c2UKLXFlbXUtdXNlciBpbnN0ZWFkLiBTcGxpdCB0aGUgcHJvZmlsZS1vcHQgdGFzayBzbyBxZW11IGNhbiBiZSBpbnZva2VkCi1vbmNlIGJpbmFyaWVzIGhhdmUgYmVlbiBidWlsdCB3aXRoIGluc3RydW1lbnRhdGlvbiBhbmQgdGhlbiB3ZSBjYW4gZ28KLWFoZWFkIGFuZCBidWlsZCBhZ2FpbiB1c2luZyB0aGUgcHJvZmlsZSBkYXRhIGdlbmVyYXRlZC4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRS1zcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4KLS0tLQotIE1ha2VmaWxlLnByZS5pbiB8IDYgKystLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL01ha2VmaWxlLnByZS5pbiBiL01ha2VmaWxlLnByZS5pbgotaW5kZXggODRiYzNmZi4uMDE3YTJjNCAxMDA2NDQKLS0tLSBhL01ha2VmaWxlLnByZS5pbgotKysrIGIvTWFrZWZpbGUucHJlLmluCi1AQCAtNDY5LDEzICs0NjksMTIgQEAgcHJvZmlsZS1vcHQ6Ci0gCSQoTUFLRSkgcHJvZmlsZS1yZW1vdmFsCi0gCSQoTUFLRSkgYnVpbGRfYWxsX2dlbmVyYXRlX3Byb2ZpbGUKLSAJJChNQUtFKSBwcm9maWxlLXJlbW92YWwKLS0JQGVjaG8gIlJ1bm5pbmcgY29kZSB0byBnZW5lcmF0ZSBwcm9maWxlIGRhdGEgKHRoaXMgY2FuIHRha2UgYSB3aGlsZSk6IgotLQkkKE1BS0UpIHJ1bl9wcm9maWxlX3Rhc2sKLS0JJChNQUtFKSBidWlsZF9hbGxfbWVyZ2VfcHJvZmlsZQotKwotK2NsZWFuX2FuZF91c2VfcHJvZmlsZToKLSAJQGVjaG8gIlJlYnVpbGRpbmcgd2l0aCBwcm9maWxlIGd1aWRlZCBvcHRpbWl6YXRpb25zOiIKLSAJJChNQUtFKSBjbGVhbgotIAkkKE1BS0UpIGJ1aWxkX2FsbF91c2VfcHJvZmlsZQotIAkkKE1BS0UpIHByb2ZpbGUtcmVtb3ZhbAotIAotIGJ1aWxkX2FsbF9nZW5lcmF0ZV9wcm9maWxlOgotIAkkKE1BS0UpIEBERUZfTUFLRV9SVUxFQCBDRkxBR1NfTk9ESVNUPSIkKENGTEFHUykgJChFWFRSQV9DRkxBR1MpICQoUEdPX1BST0ZfR0VOX0ZMQUcpIEBMVE9GTEFHU0AiIExERkxBR1M9IiQoTERGTEFHUykgJChQR09fUFJPRl9HRU5fRkxBRykgQExUT0ZMQUdTQCIgTElCUz0iJChMSUJTKSIKLS0tIAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDItYnBvLTI5MTM2LUFkZC1UTFMtMS4zLWNpcGhlci1zdWl0ZXMtYW5kLU9QX05PX1RMU3YxXy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDItYnBvLTI5MTM2LUFkZC1UTFMtMS4zLWNpcGhlci1zdWl0ZXMtYW5kLU9QX05PX1RMU3YxXy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDQ4Y2FkNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAyLWJwby0yOTEzNi1BZGQtVExTLTEuMy1jaXBoZXItc3VpdGVzLWFuZC1PUF9OT19UTFN2MV8ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMjcgKzAsMCBAQAotRnJvbSBlOTUwZWE2OGRhYjAwNjk0NGFmMTk0Yzk5MTBiOGYyMzQxZDE0MzdkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ2hyaXN0aWFuIEhlaW1lcyA8Y2hyaXN0aWFuQHB5dGhvbi5vcmc+Ci1EYXRlOiBUaHUsIDcgU2VwIDIwMTcgMjA6MjM6NTIgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gYnBvLTI5MTM2OiBBZGQgVExTIDEuMyBjaXBoZXIgc3VpdGVzIGFuZCBPUF9OT19UTFN2MV8zCi0gKEdILTEzNjMpICgjMzQ0NCkKLQotKiBicG8tMjkxMzY6IEFkZCBUTFMgMS4zIHN1cHBvcnQKLQotVExTIDEuMyBpbnRyb2R1Y2VzIGEgbmV3LCBkaXN0aW5jdCBzZXQgb2YgY2lwaGVyIHN1aXRlcy4gVGhlIFRMUyAxLjMKLWNpcGhlciBzdWl0ZXMgZG9uJ3Qgb3ZlcmxhcCB3aXRoIGNpcGhlciBzdWl0ZXMgZnJvbSBUTFMgMS4yIGFuZCBlYXJsaWVyLgotU2luY2UgUHl0aG9uIHNldHMgaXRzIG93biBzZXQgb2YgcGVybWl0dGVkIGNpcGhlcnMsIFRMUyAxLjMgaGFuZHNoYWtlCi13aWxsIGZhaWwgYXMgc29vbiBhcyBPcGVuU1NMIDEuMS4xIGlzIHJlbGVhc2VkLiBMZXQncyBlbmFibGUgdGhlIGNvbW1vbgotQUVTLUdDTSBhbmQgQ2hhQ2hhMjAgc3VpdGVzLgotCi1BZGRpdGlvbmFsbHkgdGhlIGZsYWcgT1BfTk9fVExTdjFfMyBpcyBhZGRlZC4gSXQgZGVmYXVsdHMgdG8gMCAobm8gb3ApIHdpdGgKLU9wZW5TU0wgcHJpb3IgdG8gMS4xLjEuIFRoaXMgYWxsb3dzIGFwcGxpY2F0aW9ucyB0byBvcHQtb3V0IGZyb20gVExTIDEuMwotbm93LgotCi1TaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gSGVpbWVzIDxjaHJpc3RpYW5AcHl0aG9uLm9yZz4uCi0oY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBjYjViNjhhYmRlYjFiMWQ1NmM1ODFkNWI0ZDY0NzAxODcwM2Q2MWUzKQotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1baHR0cHM6Ly9naXRodWIuY29tL3B5dGhvbi9jcHl0aG9uL2NvbW1pdC9jYjViNjhhYmRlYjFiMWQ1NmM1ODFkNWI0ZDY0NzAxODcwM2Q2MWUzXQotCi1TaWduZWQtb2ZmLWJ5OiBBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPgotLS0tCi0gRG9jL2xpYnJhcnkvc3NsLnJzdCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjEgKysrKysrKysrKysrKysKLSBMaWIvc3NsLnB5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNyArKysrKwotIExpYi90ZXN0L3Rlc3Rfc3NsLnB5ICAgICAgICAgICAgICAgICAgICAgICAgICB8IDI5ICsrKysrKysrKysrKysrKysrKy0KLSAuLi4vMjAxNy0wOS0wNC0xNi0zOS00OS5icG8tMjkxMzYudlNuMW9SLnJzdCAgfCAgMSArCi0gTW9kdWxlcy9fc3NsLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTMgKysrKysrKysrCi0gNSBmaWxlcyBjaGFuZ2VkLCA3MCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IE1pc2MvTkVXUy5kL25leHQvTGlicmFyeS8yMDE3LTA5LTA0LTE2LTM5LTQ5LmJwby0yOTEzNi52U24xb1IucnN0Ci0KLWRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9zc2wucnN0IGIvRG9jL2xpYnJhcnkvc3NsLnJzdAotaW5kZXggMTRmMmQ2ODIxNy4uMjljNWU5NGNmNiAxMDA2NDQKLS0tLSBhL0RvYy9saWJyYXJ5L3NzbC5yc3QKLSsrKyBiL0RvYy9saWJyYXJ5L3NzbC5yc3QKLUBAIC0yODUsNiArMjg1LDExIEBAIHB1cnBvc2VzLgotIAotICAgICAgM0RFUyB3YXMgZHJvcHBlZCBmcm9tIHRoZSBkZWZhdWx0IGNpcGhlciBzdHJpbmcuCi0gCi0rICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjcKLSsKLSsgICAgIFRMUyAxLjMgY2lwaGVyIHN1aXRlcyBUTFNfQUVTXzEyOF9HQ01fU0hBMjU2LCBUTFNfQUVTXzI1Nl9HQ01fU0hBMzg0LAotKyAgICAgYW5kIFRMU19DSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYgd2VyZSBhZGRlZCB0byB0aGUgZGVmYXVsdCBjaXBoZXIgc3RyaW5nLgotKwotIAotIFJhbmRvbSBnZW5lcmF0aW9uCi0gXl5eXl5eXl5eXl5eXl5eXl4KLUBAIC03MTksNiArNzI0LDE2IEBAIENvbnN0YW50cwotIAotICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNAotIAotKy4uIGRhdGE6OiBPUF9OT19UTFN2MV8zCi0rCi0rICAgUHJldmVudHMgYSBUTFN2MS4zIGNvbm5lY3Rpb24uIFRoaXMgb3B0aW9uIGlzIG9ubHkgYXBwbGljYWJsZSBpbiBjb25qdW5jdGlvbgotKyAgIHdpdGggOmNvbnN0OmBQUk9UT0NPTF9UTFNgLiBJdCBwcmV2ZW50cyB0aGUgcGVlcnMgZnJvbSBjaG9vc2luZyBUTFN2MS4zIGFzCi0rICAgdGhlIHByb3RvY29sIHZlcnNpb24uIFRMUyAxLjMgaXMgYXZhaWxhYmxlIHdpdGggT3BlblNTTCAxLjEuMSBvciBsYXRlci4KLSsgICBXaGVuIFB5dGhvbiBoYXMgYmVlbiBjb21waWxlZCBhZ2FpbnN0IGFuIG9sZGVyIHZlcnNpb24gb2YgT3BlblNTTCwgdGhlCi0rICAgZmxhZyBkZWZhdWx0cyB0byAqMCouCi0rCi0rICAgLi4gdmVyc2lvbmFkZGVkOjogMy43Ci0rCi0gLi4gZGF0YTo6IE9QX0NJUEhFUl9TRVJWRVJfUFJFRkVSRU5DRQotIAotICAgIFVzZSB0aGUgc2VydmVyJ3MgY2lwaGVyIG9yZGVyaW5nIHByZWZlcmVuY2UsIHJhdGhlciB0aGFuIHRoZSBjbGllbnQncy4KLUBAIC03ODMsNiArNzk4LDEyIEBAIENvbnN0YW50cwotIAotICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMwotIAotKy4uIGRhdGE6OiBIQVNfVExTdjFfMwotKwotKyAgIFdoZXRoZXIgdGhlIE9wZW5TU0wgbGlicmFyeSBoYXMgYnVpbHQtaW4gc3VwcG9ydCBmb3IgdGhlIFRMUyAxLjMgcHJvdG9jb2wuCi0rCi0rICAgLi4gdmVyc2lvbmFkZGVkOjogMy43Ci0rCi0gLi4gZGF0YTo6IENIQU5ORUxfQklORElOR19UWVBFUwotIAotICAgIExpc3Qgb2Ygc3VwcG9ydGVkIFRMUyBjaGFubmVsIGJpbmRpbmcgdHlwZXMuICBTdHJpbmdzIGluIHRoaXMgbGlzdAotZGlmZiAtLWdpdCBhL0xpYi9zc2wucHkgYi9MaWIvc3NsLnB5Ci1pbmRleCA0ZDMwMmE3OGZhLi5mMjMzZTcyZTFmIDEwMDY0NAotLS0tIGEvTGliL3NzbC5weQotKysrIGIvTGliL3NzbC5weQotQEAgLTEyMiw2ICsxMjIsNyBAQCBfaW1wb3J0X3N5bWJvbHMoJ09QXycpCi0gX2ltcG9ydF9zeW1ib2xzKCdBTEVSVF9ERVNDUklQVElPTl8nKQotIF9pbXBvcnRfc3ltYm9scygnU1NMX0VSUk9SXycpCi0gX2ltcG9ydF9zeW1ib2xzKCdWRVJJRllfJykKLStmcm9tIF9zc2wgaW1wb3J0IEhBU19TTkksIEhBU19FQ0RILCBIQVNfTlBOLCBIQVNfQUxQTiwgSEFTX1RMU3YxXzMKLSAKLSBmcm9tIF9zc2wgaW1wb3J0IEhBU19TTkksIEhBU19FQ0RILCBIQVNfTlBOLCBIQVNfQUxQTgotIAotQEAgLTE2Miw2ICsxNjMsNyBAQCBlbHNlOgotICMgKE9wZW5TU0wncyBkZWZhdWx0IHNldHRpbmcgaXMgJ0RFRkFVTFQ6IWFOVUxMOiFlTlVMTCcpCi0gIyBFbmFibGUgYSBiZXR0ZXIgc2V0IG9mIGNpcGhlcnMgYnkgZGVmYXVsdAotICMgVGhpcyBsaXN0IGhhcyBiZWVuIGV4cGxpY2l0bHkgY2hvc2VuIHRvOgotKyMgICAqIFRMUyAxLjMgQ2hhQ2hhMjAgYW5kIEFFUy1HQ00gY2lwaGVyIHN1aXRlcwotICMgICAqIFByZWZlciBjaXBoZXIgc3VpdGVzIHRoYXQgb2ZmZXIgcGVyZmVjdCBmb3J3YXJkIHNlY3JlY3kgKERIRS9FQ0RIRSkKLSAjICAgKiBQcmVmZXIgRUNESEUgb3ZlciBESEUgZm9yIGJldHRlciBwZXJmb3JtYW5jZQotICMgICAqIFByZWZlciBBRUFEIG92ZXIgQ0JDIGZvciBiZXR0ZXIgcGVyZm9ybWFuY2UgYW5kIHNlY3VyaXR5Ci1AQCAtMTczLDYgKzE3NSw4IEBAIGVsc2U6Ci0gIyAgICogRGlzYWJsZSBOVUxMIGF1dGhlbnRpY2F0aW9uLCBOVUxMIGVuY3J5cHRpb24sIDNERVMgYW5kIE1ENSBNQUNzCi0gIyAgICAgZm9yIHNlY3VyaXR5IHJlYXNvbnMKLSBfREVGQVVMVF9DSVBIRVJTID0gKAotKyAgICAnVExTMTMtQUVTLTI1Ni1HQ00tU0hBMzg0OlRMUzEzLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NjonCi0rICAgICdUTFMxMy1BRVMtMTI4LUdDTS1TSEEyNTY6JwotICAgICAnRUNESCtBRVNHQ006RUNESCtDSEFDSEEyMDpESCtBRVNHQ006REgrQ0hBQ0hBMjA6RUNESCtBRVMyNTY6REgrQUVTMjU2OicKLSAgICAgJ0VDREgrQUVTMTI4OkRIK0FFUzpFQ0RIK0hJR0g6REgrSElHSDpSU0ErQUVTR0NNOlJTQStBRVM6UlNBK0hJR0g6JwotICAgICAnIWFOVUxMOiFlTlVMTDohTUQ1OiEzREVTJwotQEAgLTE4MCw2ICsxODQsNyBAQCBfREVGQVVMVF9DSVBIRVJTID0gKAotIAotICMgUmVzdHJpY3RlZCBhbmQgbW9yZSBzZWN1cmUgY2lwaGVycyBmb3IgdGhlIHNlcnZlciBzaWRlCi0gIyBUaGlzIGxpc3QgaGFzIGJlZW4gZXhwbGljaXRseSBjaG9zZW4gdG86Ci0rIyAgICogVExTIDEuMyBDaGFDaGEyMCBhbmQgQUVTLUdDTSBjaXBoZXIgc3VpdGVzCi0gIyAgICogUHJlZmVyIGNpcGhlciBzdWl0ZXMgdGhhdCBvZmZlciBwZXJmZWN0IGZvcndhcmQgc2VjcmVjeSAoREhFL0VDREhFKQotICMgICAqIFByZWZlciBFQ0RIRSBvdmVyIERIRSBmb3IgYmV0dGVyIHBlcmZvcm1hbmNlCi0gIyAgICogUHJlZmVyIEFFQUQgb3ZlciBDQkMgZm9yIGJldHRlciBwZXJmb3JtYW5jZSBhbmQgc2VjdXJpdHkKLUBAIC0xOTAsNiArMTk1LDggQEAgX0RFRkFVTFRfQ0lQSEVSUyA9ICgKLSAjICAgKiBEaXNhYmxlIE5VTEwgYXV0aGVudGljYXRpb24sIE5VTEwgZW5jcnlwdGlvbiwgTUQ1IE1BQ3MsIERTUywgUkM0LCBhbmQKLSAjICAgICAzREVTIGZvciBzZWN1cml0eSByZWFzb25zCi0gX1JFU1RSSUNURURfU0VSVkVSX0NJUEhFUlMgPSAoCi0rICAgICdUTFMxMy1BRVMtMjU2LUdDTS1TSEEzODQ6VExTMTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2OicKLSsgICAgJ1RMUzEzLUFFUy0xMjgtR0NNLVNIQTI1NjonCi0gICAgICdFQ0RIK0FFU0dDTTpFQ0RIK0NIQUNIQTIwOkRIK0FFU0dDTTpESCtDSEFDSEEyMDpFQ0RIK0FFUzI1NjpESCtBRVMyNTY6JwotICAgICAnRUNESCtBRVMxMjg6REgrQUVTOkVDREgrSElHSDpESCtISUdIOlJTQStBRVNHQ006UlNBK0FFUzpSU0ErSElHSDonCi0gICAgICchYU5VTEw6IWVOVUxMOiFNRDU6IURTUzohUkM0OiEzREVTJwotZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5IGIvTGliL3Rlc3QvdGVzdF9zc2wucHkKLWluZGV4IGY5MWFmN2JkMDUuLjFhY2MxMmVjMmQgMTAwNjQ0Ci0tLS0gYS9MaWIvdGVzdC90ZXN0X3NzbC5weQotKysrIGIvTGliL3Rlc3QvdGVzdF9zc2wucHkKLUBAIC0xNTAsNiArMTUwLDEzIEBAIGNsYXNzIEJhc2ljU29ja2V0VGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgotICAgICAgICAgICAgIHNzbC5PUF9OT19DT01QUkVTU0lPTgotICAgICAgICAgc2VsZi5hc3NlcnRJbihzc2wuSEFTX1NOSSwge1RydWUsIEZhbHNlfSkKLSAgICAgICAgIHNlbGYuYXNzZXJ0SW4oc3NsLkhBU19FQ0RILCB7VHJ1ZSwgRmFsc2V9KQotKyAgICAgICAgc3NsLk9QX05PX1NTTHYyCi0rICAgICAgICBzc2wuT1BfTk9fU1NMdjMKLSsgICAgICAgIHNzbC5PUF9OT19UTFN2MQotKyAgICAgICAgc3NsLk9QX05PX1RMU3YxXzMKLSsgICAgaWYgc3NsLk9QRU5TU0xfVkVSU0lPTl9JTkZPID49ICgxLCAwLCAxKToKLSsgICAgICAgICAgICBzc2wuT1BfTk9fVExTdjFfMQotKyAgICAgICAgICAgIHNzbC5PUF9OT19UTFN2MV8yCi0gCi0gICAgIGRlZiB0ZXN0X3N0cl9mb3JfZW51bXMoc2VsZik6Ci0gICAgICAgICAjIE1ha2Ugc3VyZSB0aGF0IHRoZSBQUk9UT0NPTF8qIGNvbnN0YW50cyBoYXZlIGVudW0tbGlrZSBzdHJpbmcKLUBAIC0zMDI4LDEyICszMDM1LDMzIEBAIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMudmVyc2lvbigpLCAnVExTdjEnKQotICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzKHMudmVyc2lvbigpLCBOb25lKQotIAotKyAgICAgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3Moc3NsLkhBU19UTFN2MV8zLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlc3QgcmVxdWlyZXMgVExTdjEuMyBlbmFibGVkIE9wZW5TU0wiKQotKyAgICAgICAgZGVmIHRlc3RfdGxzMV8zKHNlbGYpOgotKyAgICAgICAgICAgIGNvbnRleHQgPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfVExTKQotKyAgICAgICAgICAgIGNvbnRleHQubG9hZF9jZXJ0X2NoYWluKENFUlRGSUxFKQotKyAgICAgICAgICAgICMgZGlzYWJsZSBhbGwgYnV0IFRMUyAxLjMKLSsgICAgICAgICAgICBjb250ZXh0Lm9wdGlvbnMgfD0gKAotKyAgICAgICAgICAgICAgICBzc2wuT1BfTk9fVExTdjEgfCBzc2wuT1BfTk9fVExTdjFfMSB8IHNzbC5PUF9OT19UTFN2MV8yCi0rICAgICAgICAgICAgKQotKyAgICAgICAgICAgIHdpdGggVGhyZWFkZWRFY2hvU2VydmVyKGNvbnRleHQ9Y29udGV4dCkgYXMgc2VydmVyOgotKyAgICAgICAgICAgICAgICB3aXRoIGNvbnRleHQud3JhcF9zb2NrZXQoc29ja2V0LnNvY2tldCgpKSBhcyBzOgotKyAgICAgICAgICAgICAgICAgICAgcy5jb25uZWN0KChIT1NULCBzZXJ2ZXIucG9ydCkpCi0rICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKHMuY2lwaGVyKClbMF0sIFsKLSsgICAgICAgICAgICAgICAgICAgICAgICAnVExTMTMtQUVTLTI1Ni1HQ00tU0hBMzg0JywKLSsgICAgICAgICAgICAgICAgICAgICAgICAnVExTMTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2JywKLSsgICAgICAgICAgICAgICAgICAgICAgICAnVExTMTMtQUVTLTEyOC1HQ00tU0hBMjU2JywKLSsgICAgICAgICAgICAgICAgICAgIF0pCi0rCi0gICAgICAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhzc2wuSEFTX0VDREgsICJ0ZXN0IHJlcXVpcmVzIEVDREgtZW5hYmxlZCBPcGVuU1NMIikKLSAgICAgICAgIGRlZiB0ZXN0X2RlZmF1bHRfZWNkaF9jdXJ2ZShzZWxmKToKLSAgICAgICAgICAgICAjIElzc3VlICMyMTAxNTogZWxsaXB0aWMgY3VydmUtYmFzZWQgRGlmZmllIEhlbGxtYW4ga2V5IGV4Y2hhbmdlCi0gICAgICAgICAgICAgIyBzaG91bGQgYmUgZW5hYmxlZCBieSBkZWZhdWx0IG9uIFNTTCBjb250ZXh0cy4KLSAgICAgICAgICAgICBjb250ZXh0ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1NTTHYyMykKLSAgICAgICAgICAgICBjb250ZXh0LmxvYWRfY2VydF9jaGFpbihDRVJURklMRSkKLSsgICAgICAgICAgICAjIFRMU3YxLjMgZGVmYXVsdHMgdG8gUEZTIGtleSBhZ3JlZW1lbnQgYW5kIG5vIGxvbmdlciBoYXMgS0VBIGluCi0rICAgICAgICAgICAgIyBjaXBoZXIgbmFtZS4KLSsgICAgICAgICAgICBjb250ZXh0Lm9wdGlvbnMgfD0gc3NsLk9QX05PX1RMU3YxXzMKLSAgICAgICAgICAgICAjIFByaW9yIHRvIE9wZW5TU0wgMS4wLjAsIEVDREggY2lwaGVycyBoYXZlIHRvIGJlIGVuYWJsZWQKLSAgICAgICAgICAgICAjIGV4cGxpY2l0bHkgdXNpbmcgdGhlICdFQ0NkcmFmdCcgY2lwaGVyIGFsaWFzLiAgT3RoZXJ3aXNlLAotICAgICAgICAgICAgICMgb3VyIGRlZmF1bHQgY2lwaGVyIGxpc3Qgc2hvdWxkIHByZWZlciBFQ0RILWJhc2VkIGNpcGhlcnMKLUBAIC0zMzk0LDcgKzM0MjIsNiBAQCBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgIHMuc2VuZGZpbGUoZmlsZSkKLSAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMucmVjdigxMDI0KSwgVEVTVF9EQVRBKQotIAotLQotIGRlZiB0ZXN0X21haW4odmVyYm9zZT1GYWxzZSk6Ci0gICAgIGlmIHN1cHBvcnQudmVyYm9zZToKLSAgICAgICAgIGltcG9ydCB3YXJuaW5ncwotZGlmZiAtLWdpdCBhL01pc2MvTkVXUy5kL25leHQvTGlicmFyeS8yMDE3LTA5LTA0LTE2LTM5LTQ5LmJwby0yOTEzNi52U24xb1IucnN0IGIvTWlzYy9ORVdTLmQvbmV4dC9MaWJyYXJ5LzIwMTctMDktMDQtMTYtMzktNDkuYnBvLTI5MTM2LnZTbjFvUi5yc3QKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwLi5lNzY5OTdlZjgzCi0tLS0gL2Rldi9udWxsCi0rKysgYi9NaXNjL05FV1MuZC9uZXh0L0xpYnJhcnkvMjAxNy0wOS0wNC0xNi0zOS00OS5icG8tMjkxMzYudlNuMW9SLnJzdAotQEAgLTAsMCArMSBAQAotK0FkZCBUTFMgMS4zIGNpcGhlciBzdWl0ZXMgYW5kIE9QX05PX1RMU3YxXzMuCi1kaWZmIC0tZ2l0IGEvTW9kdWxlcy9fc3NsLmMgYi9Nb2R1bGVzL19zc2wuYwotaW5kZXggMGQ1YzEyMWQyYy4uYzcxZDg5NjA3YyAxMDA2NDQKLS0tLSBhL01vZHVsZXMvX3NzbC5jCi0rKysgYi9Nb2R1bGVzL19zc2wuYwotQEAgLTQ4NDIsNiArNDg0MiwxMSBAQCBQeUluaXRfX3NzbCh2b2lkKQotICNpZiBIQVZFX1RMU3YxXzIKLSAgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk9QX05PX1RMU3YxXzEiLCBTU0xfT1BfTk9fVExTdjFfMSk7Ci0gICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJPUF9OT19UTFN2MV8yIiwgU1NMX09QX05PX1RMU3YxXzIpOwotKyNlbmRpZgotKyNpZmRlZiBTU0xfT1BfTk9fVExTdjFfMwotKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiT1BfTk9fVExTdjFfMyIsIFNTTF9PUF9OT19UTFN2MV8zKTsKLSsjZWxzZQotKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiT1BfTk9fVExTdjFfMyIsIDApOwotICNlbmRpZgotICAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiT1BfQ0lQSEVSX1NFUlZFUl9QUkVGRVJFTkNFIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1NMX09QX0NJUEhFUl9TRVJWRVJfUFJFRkVSRU5DRSk7Ci1AQCAtNDg5MCw2ICs0ODk1LDE0IEBAIFB5SW5pdF9fc3NsKHZvaWQpCi0gICAgIFB5X0lOQ1JFRihyKTsKLSAgICAgUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJIQVNfQUxQTiIsIHIpOwotIAotKyNpZiBkZWZpbmVkKFRMUzFfM19WRVJTSU9OKSAmJiAhZGVmaW5lZChPUEVOU1NMX05PX1RMUzFfMykKLSsgICAgciA9IFB5X1RydWU7Ci0rI2Vsc2UKLSsgICAgciA9IFB5X0ZhbHNlOwotKyNlbmRpZgotKyAgICBQeV9JTkNSRUYocik7Ci0rICAgIFB5TW9kdWxlX0FkZE9iamVjdChtLCAiSEFTX1RMU3YxXzMiLCByKTsKLSsKLSAgICAgLyogTWFwcGluZ3MgZm9yIGVycm9yIGNvZGVzICovCi0gICAgIGVycl9jb2Rlc190b19uYW1lcyA9IFB5RGljdF9OZXcoKTsKLSAgICAgZXJyX25hbWVzX3RvX2NvZGVzID0gUHlEaWN0X05ldygpOwotLS0gCi0yLjE3LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMy1icG8tMzI5NDctRml4ZXMtZm9yLVRMUy0xLjMtYW5kLU9wZW5TU0wtMS4xLjEtR0gtODc2LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMy1icG8tMzI5NDctRml4ZXMtZm9yLVRMUy0xLjMtYW5kLU9wZW5TU0wtMS4xLjEtR0gtODc2LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NmQ1OTFkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDMtYnBvLTMyOTQ3LUZpeGVzLWZvci1UTFMtMS4zLWFuZC1PcGVuU1NMLTEuMS4xLUdILTg3Ni5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE3MyArMCwwIEBACi1Gcm9tIDE3MGE2MTQ5MDRmZWJkMTRmZjZjZmQ3YTc1YzliY2NjMTE0YjM5NDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaHJpc3RpYW4gSGVpbWVzIDxjaHJpc3RpYW5AcHl0aG9uLm9yZz4KLURhdGU6IFR1ZSwgMTQgQXVnIDIwMTggMTY6NTY6MzIgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gYnBvLTMyOTQ3OiBGaXhlcyBmb3IgVExTIDEuMyBhbmQgT3BlblNTTCAxLjEuMSAoR0gtODc2MSkKLQotQmFja3BvcnQgb2YgVExTIDEuMyByZWxhdGVkIGZpeGVzIGZyb20gMy43LgotCi1NaXNjIGZpeGVzIGFuZCB3b3JrYXJvdW5kcyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIE9wZW5TU0wgMS4xLjEgZnJvbSBnaXQKLW1hc3RlciBhbmQgVExTIDEuMyBzdXBwb3J0LiBXaXRoIE9wZW5TU0wgMS4xLjEsIFB5dGhvbiBuZWdvdGlhdGVzIFRMUyAxLjMgYnkKLWRlZmF1bHQuIFNvbWUgdGVzdCBjYXNlcyBvbmx5IGFwcGx5IHRvIFRMUyAxLjIuCi0KLU9wZW5TU0wgMS4xLjEgaGFzIGFkZGVkIGEgbmV3IG9wdGlvbiBPUF9FTkFCTEVfTUlERExFQk9YX0NPTVBBVCBmb3IgVExTCi0xLjMuIFRoZSBmZWF0dXJlIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCBmb3IgbWF4aW11bSBjb21wYXRpYmlsaXR5IHdpdGgKLWJyb2tlbiBtaWRkbGUgYm94ZXMuIFVzZXJzIHNob3VsZCBiZSBhYmxlIHRvIGRpc2FibGUgdGhlIGhhY2sgYW5kIENQeXRob24ncyB0ZXN0IHN1aXRlIG5lZWRzCi1pdCB0byB2ZXJpZnkgZGVmYXVsdCBvcHRpb25zCi0KLVNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBIZWltZXMgPGNocmlzdGlhbkBweXRob24ub3JnPgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1baHR0cHM6Ly9naXRodWIuY29tL3B5dGhvbi9jcHl0aG9uL2NvbW1pdC8yYTRlZThhYTAxZDYxYjZhOWM4ZTljNjVjMjExZTYxYmRiNDcxODI2XQotCi1TaWduZWQtb2ZmLWJ5OiBBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPgotLS0tCi0gRG9jL2xpYnJhcnkvc3NsLnJzdCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDkgKysrKysrCi0gTGliL3Rlc3QvdGVzdF9hc3luY2lvL3Rlc3RfZXZlbnRzLnB5ICAgICAgICAgIHwgIDYgKysrLQotIExpYi90ZXN0L3Rlc3Rfc3NsLnB5ICAgICAgICAgICAgICAgICAgICAgICAgICB8IDI5ICsrKysrKysrKysrKysrKy0tLS0KLSAuLi4vMjAxOC0wOC0xNC0wOC01Ny0wMS5icG8tMzI5NDcubXFTdFZXLnJzdCAgfCAgMiArKwotIE1vZHVsZXMvX3NzbC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrKwotIDUgZmlsZXMgY2hhbmdlZCwgNDQgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKLSBjcmVhdGUgbW9kZSAxMDA2NDQgTWlzYy9ORVdTLmQvbmV4dC9MaWJyYXJ5LzIwMTgtMDgtMTQtMDgtNTctMDEuYnBvLTMyOTQ3Lm1xU3RWVy5yc3QKLQotZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3NzbC5yc3QgYi9Eb2MvbGlicmFyeS9zc2wucnN0Ci1pbmRleCAyOWM1ZTk0Y2Y2Li5mNjNhM2RlZWM1IDEwMDY0NAotLS0tIGEvRG9jL2xpYnJhcnkvc3NsLnJzdAotKysrIGIvRG9jL2xpYnJhcnkvc3NsLnJzdAotQEAgLTc1Nyw2ICs3NTcsMTUgQEAgQ29uc3RhbnRzCi0gCi0gICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCi0gCi0rLi4gZGF0YTo6IE9QX0VOQUJMRV9NSURETEVCT1hfQ09NUEFUCi0rCi0rICAgU2VuZCBkdW1teSBDaGFuZ2UgQ2lwaGVyIFNwZWMgKENDUykgbWVzc2FnZXMgaW4gVExTIDEuMyBoYW5kc2hha2UgdG8gbWFrZQotKyAgIGEgVExTIDEuMyBjb25uZWN0aW9uIGxvb2sgbW9yZSBsaWtlIGEgVExTIDEuMiBjb25uZWN0aW9uLgotKwotKyAgIFRoaXMgb3B0aW9uIGlzIG9ubHkgYXZhaWxhYmxlIHdpdGggT3BlblNTTCAxLjEuMSBhbmQgbGF0ZXIuCi0rCi0rICAgLi4gdmVyc2lvbmFkZGVkOjogMy42LjcKLSsKLSAuLiBkYXRhOjogT1BfTk9fQ09NUFJFU1NJT04KLSAKLSAgICBEaXNhYmxlIGNvbXByZXNzaW9uIG9uIHRoZSBTU0wgY2hhbm5lbC4gIFRoaXMgaXMgdXNlZnVsIGlmIHRoZSBhcHBsaWNhdGlvbgotZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfYXN5bmNpby90ZXN0X2V2ZW50cy5weSBiL0xpYi90ZXN0L3Rlc3RfYXN5bmNpby90ZXN0X2V2ZW50cy5weQotaW5kZXggNDkyYTg0YTIzMS4uNmYyMDg0NzRiOSAxMDA2NDQKLS0tLSBhL0xpYi90ZXN0L3Rlc3RfYXN5bmNpby90ZXN0X2V2ZW50cy5weQotKysrIGIvTGliL3Rlc3QvdGVzdF9hc3luY2lvL3Rlc3RfZXZlbnRzLnB5Ci1AQCAtMTE2OSw3ICsxMTY5LDExIEBAIGNsYXNzIEV2ZW50TG9vcFRlc3RzTWl4aW46Ci0gICAgICAgICAgICAgICAgICAgICBzZWxmLmxvb3AucnVuX3VudGlsX2NvbXBsZXRlKGZfYykKLSAKLSAgICAgICAgICMgY2xvc2UgY29ubmVjdGlvbgotLSAgICAgICAgcHJvdG8udHJhbnNwb3J0LmNsb3NlKCkKLSsgICAgICAgICMgdHJhbnNwb3J0IG1heSBiZSBOb25lIHdpdGggVExTIDEuMywgYmVjYXVzZSBjb25uZWN0aW9uIGlzCi0rICAgICAgICAjIGludGVycnVwdGVkLCBzZXJ2ZXIgaXMgdW5hYmxlIHRvIHNlbmQgc2Vzc2lvbiB0aWNrZXRzLCBhbmQKLSsgICAgICAgICMgdHJhbnNwb3J0IGlzIGNsb3NlZC4KLSsgICAgICAgIGlmIHByb3RvLnRyYW5zcG9ydCBpcyBub3QgTm9uZToKLSsgICAgICAgICAgICBwcm90by50cmFuc3BvcnQuY2xvc2UoKQotICAgICAgICAgc2VydmVyLmNsb3NlKCkKLSAKLSAgICAgZGVmIHRlc3RfbGVnYWN5X2NyZWF0ZV9zZXJ2ZXJfc3NsX21hdGNoX2ZhaWxlZChzZWxmKToKLWRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3NzbC5weSBiL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5Ci1pbmRleCAxYWNjMTJlYzJkLi5hMmUxZDMyYTYyIDEwMDY0NAotLS0tIGEvTGliL3Rlc3QvdGVzdF9zc2wucHkKLSsrKyBiL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5Ci1AQCAtNzgsNiArNzgsNyBAQCBPUF9OT19DT01QUkVTU0lPTiA9IGdldGF0dHIoc3NsLCAiT1BfTk9fQ09NUFJFU1NJT04iLCAwKQotIE9QX1NJTkdMRV9ESF9VU0UgPSBnZXRhdHRyKHNzbCwgIk9QX1NJTkdMRV9ESF9VU0UiLCAwKQotIE9QX1NJTkdMRV9FQ0RIX1VTRSA9IGdldGF0dHIoc3NsLCAiT1BfU0lOR0xFX0VDREhfVVNFIiwgMCkKLSBPUF9DSVBIRVJfU0VSVkVSX1BSRUZFUkVOQ0UgPSBnZXRhdHRyKHNzbCwgIk9QX0NJUEhFUl9TRVJWRVJfUFJFRkVSRU5DRSIsIDApCi0rT1BfRU5BQkxFX01JRERMRUJPWF9DT01QQVQgPSBnZXRhdHRyKHNzbCwgIk9QX0VOQUJMRV9NSURETEVCT1hfQ09NUEFUIiwgMCkKLSAKLSAKLSBkZWYgaGFuZGxlX2Vycm9yKHByZWZpeCk6Ci1AQCAtMTU1LDggKzE1Niw4IEBAIGNsYXNzIEJhc2ljU29ja2V0VGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgotICAgICAgICAgc3NsLk9QX05PX1RMU3YxCi0gICAgICAgICBzc2wuT1BfTk9fVExTdjFfMwotICAgICBpZiBzc2wuT1BFTlNTTF9WRVJTSU9OX0lORk8gPj0gKDEsIDAsIDEpOgotLSAgICAgICAgICAgIHNzbC5PUF9OT19UTFN2MV8xCi0tICAgICAgICAgICAgc3NsLk9QX05PX1RMU3YxXzIKLSsgICAgICAgIHNzbC5PUF9OT19UTFN2MV8xCi0rICAgICAgICBzc2wuT1BfTk9fVExTdjFfMgotIAotICAgICBkZWYgdGVzdF9zdHJfZm9yX2VudW1zKHNlbGYpOgotICAgICAgICAgIyBNYWtlIHN1cmUgdGhhdCB0aGUgUFJPVE9DT0xfKiBjb25zdGFudHMgaGF2ZSBlbnVtLWxpa2Ugc3RyaW5nCi1AQCAtODU0LDcgKzg1NSw4IEBAIGNsYXNzIENvbnRleHRUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgICAgICBkZWZhdWx0ID0gKHNzbC5PUF9BTEwgfCBzc2wuT1BfTk9fU1NMdjIgfCBzc2wuT1BfTk9fU1NMdjMpCi0gICAgICAgICAjIFNTTENvbnRleHQgYWxzbyBlbmFibGVzIHRoZXNlIGJ5IGRlZmF1bHQKLSAgICAgICAgIGRlZmF1bHQgfD0gKE9QX05PX0NPTVBSRVNTSU9OIHwgT1BfQ0lQSEVSX1NFUlZFUl9QUkVGRVJFTkNFIHwKLS0gICAgICAgICAgICAgICAgICAgIE9QX1NJTkdMRV9ESF9VU0UgfCBPUF9TSU5HTEVfRUNESF9VU0UpCi0rICAgICAgICAgICAgICAgICAgICBPUF9TSU5HTEVfREhfVVNFIHwgT1BfU0lOR0xFX0VDREhfVVNFIHwKLSsgICAgICAgICAgICAgICAgICAgIE9QX0VOQUJMRV9NSURETEVCT1hfQ09NUEFUKQotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkZWZhdWx0LCBjdHgub3B0aW9ucykKLSAgICAgICAgIGN0eC5vcHRpb25zIHw9IHNzbC5PUF9OT19UTFN2MQotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkZWZhdWx0IHwgc3NsLk9QX05PX1RMU3YxLCBjdHgub3B0aW9ucykKLUBAIC0xODYwLDExICsxODYyLDI2IEBAIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zb2NrLCBzZXJ2ZXJfc2lkZT1UcnVlKQotICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXIuc2VsZWN0ZWRfbnBuX3Byb3RvY29scy5hcHBlbmQoc2VsZi5zc2xjb25uLnNlbGVjdGVkX25wbl9wcm90b2NvbCgpKQotICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXIuc2VsZWN0ZWRfYWxwbl9wcm90b2NvbHMuYXBwZW5kKHNlbGYuc3NsY29ubi5zZWxlY3RlZF9hbHBuX3Byb3RvY29sKCkpCi0tICAgICAgICAgICAgICAgIGV4Y2VwdCAoc3NsLlNTTEVycm9yLCBDb25uZWN0aW9uUmVzZXRFcnJvcikgYXMgZToKLSsgICAgICAgICAgICAgICAgZXhjZXB0IChDb25uZWN0aW9uUmVzZXRFcnJvciwgQnJva2VuUGlwZUVycm9yKSBhcyBlOgotICAgICAgICAgICAgICAgICAgICAgIyBXZSB0cmVhdCBDb25uZWN0aW9uUmVzZXRFcnJvciBhcyB0aG91Z2ggaXQgd2VyZSBhbgotICAgICAgICAgICAgICAgICAgICAgIyBTU0xFcnJvciAtIE9wZW5TU0wgb24gVWJ1bnR1IGFicnVwdGx5IGNsb3NlcyB0aGUKLSAgICAgICAgICAgICAgICAgICAgICMgY29ubmVjdGlvbiB3aGVuIGFza2VkIHRvIHVzZSBhbiB1bnN1cHBvcnRlZCBwcm90b2NvbC4KLSAgICAgICAgICAgICAgICAgICAgICMKLSsgICAgICAgICAgICAgICAgICAgICMgQnJva2VuUGlwZUVycm9yIGlzIHJhaXNlZCBpbiBUTFMgMS4zIG1vZGUsIHdoZW4gT3BlblNTTAotKyAgICAgICAgICAgICAgICAgICAgIyB0cmllcyB0byBzZW5kIHNlc3Npb24gdGlja2V0cyBhZnRlciBoYW5kc2hha2UuCi0rICAgICAgICAgICAgICAgICAgICAjIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3NsL29wZW5zc2wvaXNzdWVzLzYzNDIKLSsgICAgICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyLmNvbm5fZXJyb3JzLmFwcGVuZChzdHIoZSkpCi0rICAgICAgICAgICAgICAgICAgICBpZiBzZWxmLnNlcnZlci5jaGF0dHk6Ci0rICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlX2Vycm9yKAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXG4gc2VydmVyOiAgYmFkIGNvbm5lY3Rpb24gYXR0ZW1wdCBmcm9tICIgKyByZXByKAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hZGRyKSArICI6XG4iKQotKyAgICAgICAgICAgICAgICAgICAgc2VsZi5ydW5uaW5nID0gRmFsc2UKLSsgICAgICAgICAgICAgICAgICAgIHNlbGYuY2xvc2UoKQotKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0rICAgICAgICAgICAgICAgIGV4Y2VwdCAoc3NsLlNTTEVycm9yLCBPU0Vycm9yKSBhcyBlOgotKyAgICAgICAgICAgICAgICAgICAgIyBPU0Vycm9yIG1heSBvY2N1ciB3aXRoIHdyb25nIHByb3RvY29scywgZS5nLiBib3RoCi0rICAgICAgICAgICAgICAgICAgICAjIHNpZGVzIHVzZSBQUk9UT0NPTF9UTFNfU0VSVkVSLgotKyAgICAgICAgICAgICAgICAgICAgIwotICAgICAgICAgICAgICAgICAgICAgIyBYWFggVmFyaW91cyBlcnJvcnMgY2FuIGhhdmUgaGFwcGVuZWQgaGVyZSwgZm9yIGV4YW1wbGUKLSAgICAgICAgICAgICAgICAgICAgICMgYSBtaXNtYXRjaGluZyBwcm90b2NvbCB2ZXJzaW9uLCBhbiBpbnZhbGlkIGNlcnRpZmljYXRlLAotICAgICAgICAgICAgICAgICAgICAgIyBvciBhIGxvdy1sZXZlbCBidWcuIFRoaXMgc2hvdWxkIGJlIG1hZGUgbW9yZSBkaXNjcmltaW5hdGluZy4KLUBAIC0yOTc0LDcgKzI5OTEsNyBAQCBlbHNlOgotICAgICAgICAgICAgICAgICAjIEJsb2NrIG9uIHRoZSBhY2NlcHQgYW5kIHdhaXQgb24gdGhlIGNvbm5lY3Rpb24gdG8gY2xvc2UuCi0gICAgICAgICAgICAgICAgIGV2dC5zZXQoKQotICAgICAgICAgICAgICAgICByZW1vdGUsIHBlZXIgPSBzZXJ2ZXIuYWNjZXB0KCkKLS0gICAgICAgICAgICAgICAgcmVtb3RlLnJlY3YoMSkKLSsgICAgICAgICAgICAgICAgcmVtb3RlLnNlbmQocmVtb3RlLnJlY3YoNCkpCi0gCi0gICAgICAgICAgICAgdCA9IHRocmVhZGluZy5UaHJlYWQodGFyZ2V0PXNlcnZlKQotICAgICAgICAgICAgIHQuc3RhcnQoKQotQEAgLTI5ODIsNiArMjk5OSw4IEBAIGVsc2U6Ci0gICAgICAgICAgICAgZXZ0LndhaXQoKQotICAgICAgICAgICAgIGNsaWVudCA9IGNvbnRleHQud3JhcF9zb2NrZXQoc29ja2V0LnNvY2tldCgpKQotICAgICAgICAgICAgIGNsaWVudC5jb25uZWN0KChob3N0LCBwb3J0KSkKLSsgICAgICAgICAgICBjbGllbnQuc2VuZChiJ2RhdGEnKQotKyAgICAgICAgICAgIGNsaWVudC5yZWN2KCkKLSAgICAgICAgICAgICBjbGllbnRfYWRkciA9IGNsaWVudC5nZXRzb2NrbmFtZSgpCi0gICAgICAgICAgICAgY2xpZW50LmNsb3NlKCkKLSAgICAgICAgICAgICB0LmpvaW4oKQotZGlmZiAtLWdpdCBhL01pc2MvTkVXUy5kL25leHQvTGlicmFyeS8yMDE4LTA4LTE0LTA4LTU3LTAxLmJwby0zMjk0Ny5tcVN0VlcucnN0IGIvTWlzYy9ORVdTLmQvbmV4dC9MaWJyYXJ5LzIwMTgtMDgtMTQtMDgtNTctMDEuYnBvLTMyOTQ3Lm1xU3RWVy5yc3QKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwLi4yOGRlMzYwYzM2Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9NaXNjL05FV1MuZC9uZXh0L0xpYnJhcnkvMjAxOC0wOC0xNC0wOC01Ny0wMS5icG8tMzI5NDcubXFTdFZXLnJzdAotQEAgLTAsMCArMSwyIEBACi0rQWRkIE9QX0VOQUJMRV9NSURETEVCT1hfQ09NUEFUIGFuZCB0ZXN0IHdvcmthcm91bmQgZm9yIFRMU3YxLjMgZm9yIGZ1dHVyZQotK2NvbXBhdGliaWxpdHkgd2l0aCBPcGVuU1NMIDEuMS4xLgotZGlmZiAtLWdpdCBhL01vZHVsZXMvX3NzbC5jIGIvTW9kdWxlcy9fc3NsLmMKLWluZGV4IGM3MWQ4OTYwN2MuLmViMTIzYTg3YmEgMTAwNjQ0Ci0tLS0gYS9Nb2R1bGVzL19zc2wuYwotKysrIGIvTW9kdWxlcy9fc3NsLmMKLUBAIC00ODU4LDYgKzQ4NTgsMTAgQEAgUHlJbml0X19zc2wodm9pZCkKLSAgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk9QX05PX0NPTVBSRVNTSU9OIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1NMX09QX05PX0NPTVBSRVNTSU9OKTsKLSAjZW5kaWYKLSsjaWZkZWYgU1NMX09QX0VOQUJMRV9NSURETEVCT1hfQ09NUEFUCi0rICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJPUF9FTkFCTEVfTUlERExFQk9YX0NPTVBBVCIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNTTF9PUF9FTkFCTEVfTUlERExFQk9YX0NPTVBBVCk7Ci0rI2VuZGlmCi0gCi0gI2lmIEhBVkVfU05JCi0gICAgIHIgPSBQeV9UcnVlOwotLS0gCi0yLjE3LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMy1zZXR1cC5weS1wYXNzLW1pc3NpbmctbGlicmFyaWVzLXRvLUV4dGVuc2lvbi1mb3ItbXVsLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMy1zZXR1cC5weS1wYXNzLW1pc3NpbmctbGlicmFyaWVzLXRvLUV4dGVuc2lvbi1mb3ItbXVsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5ZDViYzkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAzLXNldHVwLnB5LXBhc3MtbWlzc2luZy1saWJyYXJpZXMtdG8tRXh0ZW5zaW9uLWZvci1tdWwucGF0Y2gKQEAgLTAsMCArMSw4MCBAQAorRnJvbSBiODgxYTc5YWRjZDRhZTVhYzhmZTRmNDlkMGZjNzdjNDdmNzc3OTE5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorRGF0ZTogRnJpLCA0IEF1ZyAyMDE3IDExOjE2OjE0ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIHNldHVwLnB5OiBwYXNzIG1pc3NpbmcgbGlicmFyaWVzIHRvIEV4dGVuc2lvbiBmb3IKKyBtdWx0aXByb2Nlc3NpbmcgbW9kdWxlCisKK0luIHRoZSBmb2xsb3dpbmcgY29tbWl0OgorLi4uCitjb21taXQgZTcxMWNhZmFiMTNlZmM5YzFmZTZjNWNkNzU4MjY0MDE0NDVlYjU4NQorQXV0aG9yOiBCZW5qYW1pbiBQZXRlcnNvbiA8YmVuamFtaW5AcHl0aG9uLm9yZz4KK0RhdGU6ICAgV2VkIEp1biAxMSAxNjo0NDowNCAyMDA4ICswMDAwCisKKyAgICBNZXJnZWQgcmV2aXNpb25zIDY0MTA0LDY0MTE3IHZpYSBzdm5tZXJnZSBmcm9tCisgICAgc3ZuK3NzaDovL3B5dGhvbmRldkBzdm4ucHl0aG9uLm9yZy9weXRob24vdHJ1bmsKKy4uLgorKHNlZSBkaWZmIGluIHNldHVwLnB5KQorSXQgYXNzaWduZWQgbGlicmFyaWVzIGZvciBtdWx0aXByb2Nlc3NpbmcgbW9kdWxlIGFjY29yZGluZwordGhlIGhvc3RfcGxhdGZvcm0sIGJ1dCBub3QgcGFzcyBpdCB0byBFeHRlbnNpb24uCisKK0luIGdsaWJjLCB0aGUgZm9sbG93aW5nIGNvbW1pdCBjYXVzZWQgdHdvIGRlZmluaXRpb24gb2YKK3NlbV9nZXR2YWx1ZSBhcmUgZGlmZmVyZW50LgoraHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9naXQvP3A9Z2xpYmMuZ2l0O2E9Y29tbWl0O2g9MDQyZTE1MjFjNzk0YTk0NWVkYzQzYjViZmE3ZTY5YWQ3MDQyMDUyNAorKHNlZSBkaWZmIGluIG5wdGwvc2VtX2dldHZhbHVlLmMgZm9yIGRldGFpbCkKK2BfX25ld19zZW1fZ2V0dmFsdWUnIGlzIHRoZSBsYXRlc3Qgc2VtX2dldHZhbHVlQEBHTElCQ18yLjEKK2FuZCBgX19vbGRfc2VtX2dldHZhbHVlJyBpcyB0byBjb21wYXQgdGhlIG9sZCB2ZXJzaW9uCitzZW1fZ2V0dmFsdWVAR0xJQkNfMi4wLgorCitUbyBidWlsZCBweXRob24gZm9yIGVtYmVkZGVkIExpbnV4IHN5c3RlbXM6CitodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjMuMS95b2N0by1wcm9qZWN0LXFzL3lvY3RvLXByb2plY3QtcXMuaHRtbAorSWYgbm90IGV4cGxpY2l0bHkgbGluayB0byBsaWJyYXJ5IHB0aHJlYWQgKC1scHRocmVhZCksIGl0IHdpbGwKK2xvYWQgZ2xpYmMncyBzZW1fZ2V0dmFsdWUgcmFuZG9tbHkgYXQgcnVudGltZS4KKworU3VjaCBhcyBidWlsZCBweXRob24gb24gbGludXggeDg2XzY0IGhvc3QgYW5kIHJ1biB0aGUgcHl0aG9uCitvbiBsaW51eCB4ODZfMzIgdGFyZ2V0LiBJZiBub3QgbGluayBsaWJyYXJ5IHB0aHJlYWQsIGl0IGNhdXNlZAorbXVsdGlwcm9jZXNzaW5nIGJvdW5kZWQgc2VtYXBob3JlIGNvdWxkIG5vdCB3b3JrIGNvcnJlY3RseS4KKy4uLgorPj4+IGltcG9ydCBtdWx0aXByb2Nlc3NpbmcKKz4+PiBwb29sX3NlbWEgPSBtdWx0aXByb2Nlc3NpbmcuQm91bmRlZFNlbWFwaG9yZSh2YWx1ZT0xKQorPj4+IHBvb2xfc2VtYS5hY3F1aXJlKCkKK1RydWUKKz4+PiBwb29sX3NlbWEucmVsZWFzZSgpCitUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CisgIEZpbGUgIjxzdGRpbj4iLCBsaW5lIDEsIGluIDxtb2R1bGU+CitWYWx1ZUVycm9yOiBzZW1hcGhvcmUgb3IgbG9jayByZWxlYXNlZCB0b28gbWFueSB0aW1lcworLi4uCisKK0FuZCB0aGUgc2VtYXBob3JlIGlzc3VlIGFsc28gY2F1c2VkIG11bHRpcHJvY2Vzc2luZy5RdWV1ZSgpLnB1dCgpIGh1bmcuCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vcHl0aG9uL2NweXRob24vcHVsbC8yOTk5XQorCitTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CistLS0KKyBzZXR1cC5weSB8IDcgKysrKystLQorIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zZXR1cC5weSBiL3NldHVwLnB5CitpbmRleCBiN2EzNmE2Li42NThlYWQzIDEwMDY0NAorLS0tIGEvc2V0dXAucHkKKysrKyBiL3NldHVwLnB5CitAQCAtMTU4NCw4ICsxNTg0LDEwIEBAIGNsYXNzIFB5QnVpbGRFeHQoYnVpbGRfZXh0KToKKyAgICAgICAgIGVsaWYgaG9zdF9wbGF0Zm9ybS5zdGFydHN3aXRoKCduZXRic2QnKToKKyAgICAgICAgICAgICBtYWNyb3MgPSBkaWN0KCkKKyAgICAgICAgICAgICBsaWJyYXJpZXMgPSBbXQorLQorLSAgICAgICAgZWxzZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgTGludXggYW5kIG90aGVyIHVuaWNlcworKyAgICAgICAgZWxpZiBob3N0X3BsYXRmb3JtLnN0YXJ0c3dpdGgoKCdsaW51eCcpKToKKysgICAgICAgICAgICBtYWNyb3MgPSBkaWN0KCkKKysgICAgICAgICAgICBsaWJyYXJpZXMgPSBbJ3B0aHJlYWQnXQorKyAgICAgICAgZWxzZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgT3RoZXIgdW5pY2VzCisgICAgICAgICAgICAgbWFjcm9zID0gZGljdCgpCisgICAgICAgICAgICAgbGlicmFyaWVzID0gWydydCddCisgCitAQCAtMTYwMyw2ICsxNjA1LDcgQEAgY2xhc3MgUHlCdWlsZEV4dChidWlsZF9leHQpOgorIAorICAgICAgICAgZXh0cy5hcHBlbmQgKCBFeHRlbnNpb24oJ19tdWx0aXByb2Nlc3NpbmcnLCBtdWx0aXByb2Nlc3Npbmdfc3JjcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZV9tYWNyb3M9bGlzdChtYWNyb3MuaXRlbXMoKSksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJyYXJpZXM9bGlicmFyaWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZV9kaXJzPVsiTW9kdWxlcy9fbXVsdGlwcm9jZXNzaW5nIl0pKQorICAgICAgICAgIyBFbmQgbXVsdGlwcm9jZXNzaW5nCisgCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDA0LWJwby0zMzU3MC1UTFMtMS4zLWNpcGhlcnMtZm9yLU9wZW5TU0wtMS4xLjEtR0gtNjk3Ni5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDQtYnBvLTMzNTcwLVRMUy0xLjMtY2lwaGVycy1mb3ItT3BlblNTTC0xLjEuMS1HSC02OTc2LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOTdkNTUwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDQtYnBvLTMzNTcwLVRMUy0xLjMtY2lwaGVycy1mb3ItT3BlblNTTC0xLjEuMS1HSC02OTc2LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTEwICswLDAgQEAKLUZyb20gMGM5MzU0MzYyYmZhNWY5MGZiZWE4ZmY4MjM3YTFmMWY1ZGJhNjg2ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENocmlzdGlhbiBIZWltZXMgPGNocmlzdGlhbkBweXRob24ub3JnPgotRGF0ZTogV2VkLCAxMiBTZXAgMjAxOCAxNToyMDozMSArMDgwMAotU3ViamVjdDogW1BBVENIXSBicG8tMzM1NzA6IFRMUyAxLjMgY2lwaGVycyBmb3IgT3BlblNTTCAxLjEuMSAoR0gtNjk3NikKLQotQ2hhbmdlIFRMUyAxLjMgY2lwaGVyIHN1aXRlIHNldHRpbmdzIGZvciBjb21wYXRpYmlsaXR5IHdpdGggT3BlblNTTAotMS4xLjEtcHJlNiBhbmQgbmV3ZXIuIE9wZW5TU0wgMS4xLjEgd2lsbCBoYXZlIFRMUyAxLjMgY2lwZXJzIGVuYWJsZWQgYnkKLWRlZmF1bHQuCi0KLUFsc28gdXBkYXRlIG11bHRpc3NsdGVzdHMgYW5kIFRyYXZpcyBjb25maWcgdG8gdGVzdCB3aXRoIGxhdGVzdCBPcGVuU1NMLgotCi1TaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gSGVpbWVzIDxjaHJpc3RpYW5AcHl0aG9uLm9yZz4KLShjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGU4ZWI2Y2I3OTIwZGVkNjZhYmM1ZDI4NDMxOWE4NTM5YmRjMmJhZTMpCi0KLUNvLWF1dGhvcmVkLWJ5OiBDaHJpc3RpYW4gSGVpbWVzIDxjaHJpc3RpYW5AcHl0aG9uLm9yZwotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1baHR0cHM6Ly9naXRodWIuY29tL3B5dGhvbi9jcHl0aG9uL2NvbW1pdC8zZTYzMGM1NDFiMzVjOTZiZmU1NjE5MTY1MjU1ZTU1OWY1NzdlZTcxXQotCi1Ud2Vha2VkIHBhdGNoIHRvIG5vdCB0YWtlIGNoYW5nZXMgZm9yIG11bHRpc3NsdGVzdHMgYW5kIFRyYXZpcyBjb25maWcuCi0KLVNpZ25lZC1vZmYtYnk6IEFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+Ci0tLS0KLSBMaWIvdGVzdC90ZXN0X3NzbC5weSB8IDUxICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zc2wucHkgYi9MaWIvdGVzdC90ZXN0X3NzbC5weQotaW5kZXggYTJlMWQzMmE2Mi4uYzQ4NGVhZDVmZiAxMDA2NDQKLS0tLSBhL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5Ci0rKysgYi9MaWIvdGVzdC90ZXN0X3NzbC5weQotQEAgLTMwMjQsMTcgKzMwMjQsMjEgQEAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgIHNvY2suZG9faGFuZHNoYWtlKCkKLSAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24uZXJybm8sIGVycm5vLkVOT1RDT05OKQotIAotLSAgICAgICAgZGVmIHRlc3RfZGVmYXVsdF9jaXBoZXJzKHNlbGYpOgotLSAgICAgICAgICAgIGNvbnRleHQgPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfU1NMdjIzKQotLSAgICAgICAgICAgIHRyeToKLS0gICAgICAgICAgICAgICAgIyBGb3JjZSBhIHNldCBvZiB3ZWFrIGNpcGhlcnMgb24gb3VyIGNsaWVudCBjb250ZXh0Ci0tICAgICAgICAgICAgICAgIGNvbnRleHQuc2V0X2NpcGhlcnMoIkRFUyIpCi0tICAgICAgICAgICAgZXhjZXB0IHNzbC5TU0xFcnJvcjoKLS0gICAgICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgibm8gREVTIGNpcGhlciBhdmFpbGFibGUiKQotLSAgICAgICAgICAgIHdpdGggVGhyZWFkZWRFY2hvU2VydmVyKENFUlRGSUxFLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzbF92ZXJzaW9uPXNzbC5QUk9UT0NPTF9TU0x2MjMsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhdHR5PUZhbHNlKSBhcyBzZXJ2ZXI6Ci0tICAgICAgICAgICAgICAgIHdpdGggY29udGV4dC53cmFwX3NvY2tldChzb2NrZXQuc29ja2V0KCkpIGFzIHM6Ci0rICAgICAgICBkZWYgdGVzdF9ub19zaGFyZWRfY2lwaGVycyhzZWxmKToKLSsgICAgICAgICAgICBzZXJ2ZXJfY29udGV4dCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9TU0x2MjMpCi0rICAgICAgICAgICAgc2VydmVyX2NvbnRleHQubG9hZF9jZXJ0X2NoYWluKFNJR05FRF9DRVJURklMRSkKLSsgICAgICAgICAgICBjbGllbnRfY29udGV4dCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9TU0x2MjMpCi0rICAgICAgICAgICAgY2xpZW50X2NvbnRleHQudmVyaWZ5X21vZGUgPSBzc2wuQ0VSVF9SRVFVSVJFRAotKyAgICAgICAgICAgIGNsaWVudF9jb250ZXh0LmNoZWNrX2hvc3RuYW1lID0gVHJ1ZQotKwotKyAgICAgICAgICAgIGNsaWVudF9jb250ZXh0LnNldF9jaXBoZXJzKCJBRVMxMjgiKQotKyAgICAgICAgICAgIHNlcnZlcl9jb250ZXh0LnNldF9jaXBoZXJzKCJBRVMyNTYiKQotKyAgICAgICAgICAgICMgT3BlblNTTCBlbmFibGVzIGFsbCBUTFMgMS4zIGNpcGhlcnMsIGVuZm9yY2UgVExTIDEuMiBmb3IgdGVzdAotKyAgICAgICAgICAgIGNsaWVudF9jb250ZXh0Lm9wdGlvbnMgfD0gc3NsLk9QX05PX1RMU3YxXzMKLSsgICAgICAgICAgICB3aXRoIFRocmVhZGVkRWNob1NlcnZlcihjb250ZXh0PXNlcnZlcl9jb250ZXh0KSBhcyBzZXJ2ZXI6Ci0rICAgICAgICAgICAgICAgIHdpdGggY2xpZW50X2NvbnRleHQud3JhcF9zb2NrZXQoCi0rICAgICAgICAgICAgICAgICAgICAgICAgc29ja2V0LnNvY2tldCgpLAotKyAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcl9ob3N0bmFtZT0ibG9jYWxob3N0IikgYXMgczoKLSAgICAgICAgICAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvcik6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgcy5jb25uZWN0KChIT1NULCBzZXJ2ZXIucG9ydCkpCi0gICAgICAgICAgICAgc2VsZi5hc3NlcnRJbigibm8gc2hhcmVkIGNpcGhlciIsIHN0cihzZXJ2ZXIuY29ubl9lcnJvcnNbMF0pKQotQEAgLTMwNjcsOSArMzA3MSw5IEBAIGVsc2U6Ci0gICAgICAgICAgICAgICAgIHdpdGggY29udGV4dC53cmFwX3NvY2tldChzb2NrZXQuc29ja2V0KCkpIGFzIHM6Ci0gICAgICAgICAgICAgICAgICAgICBzLmNvbm5lY3QoKEhPU1QsIHNlcnZlci5wb3J0KSkKLSAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4ocy5jaXBoZXIoKVswXSwgWwotLSAgICAgICAgICAgICAgICAgICAgICAgICdUTFMxMy1BRVMtMjU2LUdDTS1TSEEzODQnLAotLSAgICAgICAgICAgICAgICAgICAgICAgICdUTFMxMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYnLAotLSAgICAgICAgICAgICAgICAgICAgICAgICdUTFMxMy1BRVMtMTI4LUdDTS1TSEEyNTYnLAotKyAgICAgICAgICAgICAgICAgICAgICAgICdUTFNfQUVTXzI1Nl9HQ01fU0hBMzg0JywKLSsgICAgICAgICAgICAgICAgICAgICAgICAnVExTX0NIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NicsCi0rICAgICAgICAgICAgICAgICAgICAgICAgJ1RMU19BRVNfMTI4X0dDTV9TSEEyNTYnLAotICAgICAgICAgICAgICAgICAgICAgXSkKLSAKLSAgICAgICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKHNzbC5IQVNfRUNESCwgInRlc3QgcmVxdWlyZXMgRUNESC1lbmFibGVkIE9wZW5TU0wiKQotQEAgLTMzOTEsMjIgKzMzOTUsMTkgQEAgZWxzZToKLSAgICAgICAgICAgICBjbGllbnRfY29udGV4dCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9UTFN2MSkKLSAgICAgICAgICAgICBjbGllbnRfY29udGV4dC52ZXJpZnlfbW9kZSA9IHNzbC5DRVJUX1JFUVVJUkVECi0gICAgICAgICAgICAgY2xpZW50X2NvbnRleHQubG9hZF92ZXJpZnlfbG9jYXRpb25zKFNJR05JTkdfQ0EpCi0tICAgICAgICAgICAgaWYgc3NsLk9QRU5TU0xfVkVSU0lPTl9JTkZPID49ICgxLCAwLCAyKToKLS0gICAgICAgICAgICAgICAgY2xpZW50X2NvbnRleHQuc2V0X2NpcGhlcnMoIkFFUzEyODpBRVMyNTYiKQotLSAgICAgICAgICAgICAgICBzZXJ2ZXJfY29udGV4dC5zZXRfY2lwaGVycygiQUVTMjU2IikKLS0gICAgICAgICAgICAgICAgYWxnMSA9ICJBRVMyNTYiCi0tICAgICAgICAgICAgICAgIGFsZzIgPSAiQUVTLTI1NiIKLS0gICAgICAgICAgICBlbHNlOgotLSAgICAgICAgICAgICAgICBjbGllbnRfY29udGV4dC5zZXRfY2lwaGVycygiQUVTOjNERVMiKQotLSAgICAgICAgICAgICAgICBzZXJ2ZXJfY29udGV4dC5zZXRfY2lwaGVycygiM0RFUyIpCi0tICAgICAgICAgICAgICAgIGFsZzEgPSAiM0RFUyIKLS0gICAgICAgICAgICAgICAgYWxnMiA9ICJERVMtQ0JDMyIKLSsgICAgICAgICAgICBjbGllbnRfY29udGV4dC5zZXRfY2lwaGVycygiQUVTMTI4OkFFUzI1NiIpCi0rICAgICAgICAgICAgc2VydmVyX2NvbnRleHQuc2V0X2NpcGhlcnMoIkFFUzI1NiIpCi0rICAgICAgICAgICAgZXhwZWN0ZWRfYWxncyA9IFsKLSsgICAgICAgICAgICAgICAgIkFFUzI1NiIsICJBRVMtMjU2IiwKLSsgICAgICAgICAgICAgICAgICMgVExTIDEuMyBjaXBoZXJzIGFyZSBhbHdheXMgZW5hYmxlZAotKyAgICAgICAgICAgICAgICAgIlRMU19DSEFDSEEyMCIsICJUTFNfQUVTIiwKLSsgICAgICAgICAgICBdCi0gCi0gICAgICAgICAgICAgc3RhdHMgPSBzZXJ2ZXJfcGFyYW1zX3Rlc3QoY2xpZW50X2NvbnRleHQsIHNlcnZlcl9jb250ZXh0KQotICAgICAgICAgICAgIGNpcGhlcnMgPSBzdGF0c1snc2VydmVyX3NoYXJlZF9jaXBoZXJzJ11bMF0KLSAgICAgICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXIobGVuKGNpcGhlcnMpLCAwKQotICAgICAgICAgICAgIGZvciBuYW1lLCB0bHNfdmVyc2lvbiwgYml0cyBpbiBjaXBoZXJzOgotLSAgICAgICAgICAgICAgICBpZiBub3QgYWxnMSBpbiBuYW1lLnNwbGl0KCItIikgYW5kIGFsZzIgbm90IGluIG5hbWU6Ci0rICAgICAgICAgICAgICAgIGlmIG5vdCBhbnkgKGFsZyBpbiBuYW1lIGZvciBhbGcgaW4gZXhwZWN0ZWRfYWxncyk6Ci0gICAgICAgICAgICAgICAgICAgICBzZWxmLmZhaWwobmFtZSkKLSAKLSAgICAgICAgIGRlZiB0ZXN0X3JlYWRfd3JpdGVfYWZ0ZXJfY2xvc2VfcmFpc2VzX3ZhbHVlcnJvcihzZWxmKToKLS0tIAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDUtYnBvLTMwNzE0LUFMUE4tY2hhbmdlcy1mb3ItT3BlblNTTC0xLjEuMGYtMjMwNS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDUtYnBvLTMwNzE0LUFMUE4tY2hhbmdlcy1mb3ItT3BlblNTTC0xLjEuMGYtMjMwNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDYwOTg0Ny4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDA1LWJwby0zMDcxNC1BTFBOLWNoYW5nZXMtZm9yLU9wZW5TU0wtMS4xLjBmLTIzMDUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2OCArMCwwIEBACi1Gcm9tIDdiNDBjYjcyOTNjYjE0ZTVjN2M4ZWQxMjNlZmFmOWFjYjMzZWRhZTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaHJpc3RpYW4gSGVpbWVzIDxjaHJpc3RpYW5AcHl0aG9uLm9yZz4KLURhdGU6IFR1ZSwgMTUgQXVnIDIwMTcgMTA6MzM6NDMgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gYnBvLTMwNzE0OiBBTFBOIGNoYW5nZXMgZm9yIE9wZW5TU0wgMS4xLjBmICgjMjMwNSkKLQotT3BlblNTTCAxLjEuMCB0byAxLjEuMGUgYWJvcnRlZCB0aGUgaGFuZHNoYWtlIHdoZW4gc2VydmVyIGFuZCBjbGllbnQKLWNvdWxkIG5vdCBhZ3JlZSBvbiBhIHByb3RvY29sIHVzaW5nIEFMUE4uIE9wZW5TU0wgMS4xLjBmIGNoYW5nZWQgdGhhdC4KLVRoZSBtb3N0IHJlY2VudCB2ZXJzaW9uIG5vdyBiZWhhdmVzIGxpa2UgT3BlblNTTCAxLjAuMiBhZ2Fpbi4gVGhlIEFMUE4KLWNhbGxiYWNrIGNhbiBwcmV0ZW5kIHRvIG5vdCBiZWVuIHNldC4KLQotU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3NsL29wZW5zc2wvcHVsbC8zMTU4IGZvciBtb3JlIGRldGFpbHMKLQotU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEhlaW1lcyA8Y2hyaXN0aWFuQHB5dGhvbi5vcmc+Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVtodHRwczovL2dpdGh1Yi5jb20vcHl0aG9uL2NweXRob24vY29tbWl0LzdiNDBjYjcyOTNjYjE0ZTVjN2M4ZWQxMjNlZmFmOWFjYjMzZWRhZTJdCi0KLVNpZ25lZC1vZmYtYnk6IEFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+Ci0tLS0KLSBEb2MvbGlicmFyeS9zc2wucnN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA1ICsrKy0tCi0gTGliL3Rlc3QvdGVzdF9zc2wucHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgNSArKystLQotIC4uLi9uZXh0L1Rlc3RzLzIwMTctMDctMjUtMTUtMjctNDQuYnBvLTMwNzE1LlNwN2JURi5yc3QgICAgICB8IDIgKysKLSAzIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLSBjcmVhdGUgbW9kZSAxMDA2NDQgTWlzYy9ORVdTLmQvbmV4dC9UZXN0cy8yMDE3LTA3LTI1LTE1LTI3LTQ0LmJwby0zMDcxNS5TcDdiVEYucnN0Ci0KLWRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9zc2wucnN0IGIvRG9jL2xpYnJhcnkvc3NsLnJzdAotaW5kZXggNzI5YTIzOWExYi4uMGEwOWU3ZTlkNCAxMDA2NDQKLS0tLSBhL0RvYy9saWJyYXJ5L3NzbC5yc3QKLSsrKyBiL0RvYy9saWJyYXJ5L3NzbC5yc3QKLUBAIC0xNDQ3LDggKzE0NDcsOSBAQCB0byBzcGVlZCB1cCByZXBlYXRlZCBjb25uZWN0aW9ucyBmcm9tIHRoZSBzYW1lIGNsaWVudHMuCi0gICAgVGhpcyBtZXRob2Qgd2lsbCByYWlzZSA6ZXhjOmBOb3RJbXBsZW1lbnRlZEVycm9yYCBpZiA6ZGF0YTpgSEFTX0FMUE5gIGlzCi0gICAgRmFsc2UuCi0gCi0tICAgT3BlblNTTCAxLjEuMCsgd2lsbCBhYm9ydCB0aGUgaGFuZHNoYWtlIGFuZCByYWlzZSA6ZXhjOmBTU0xFcnJvcmAgd2hlbgotLSAgIGJvdGggc2lkZXMgc3VwcG9ydCBBTFBOIGJ1dCBjYW5ub3QgYWdyZWUgb24gYSBwcm90b2NvbC4KLSsgICBPcGVuU1NMIDEuMS4wIHRvIDEuMS4wZSB3aWxsIGFib3J0IHRoZSBoYW5kc2hha2UgYW5kIHJhaXNlIDpleGM6YFNTTEVycm9yYAotKyAgIHdoZW4gYm90aCBzaWRlcyBzdXBwb3J0IEFMUE4gYnV0IGNhbm5vdCBhZ3JlZSBvbiBhIHByb3RvY29sLiAxLjEuMGYrCi0rICAgYmVoYXZlcyBsaWtlIDEuMC4yLCA6bWV0aDpgU1NMU29ja2V0LnNlbGVjdGVkX2FscG5fcHJvdG9jb2xgIHJldHVybnMgTm9uZS4KLSAKLSAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKLSAKLWRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3NzbC5weSBiL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5Ci1pbmRleCBkOTYwZDgyMDY1Li4xMDRiN2YzNzdhIDEwMDY0NAotLS0tIGEvTGliL3Rlc3QvdGVzdF9zc2wucHkKLSsrKyBiL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5Ci1AQCAtMzI2OCw4ICszMjY4LDkgQEAgaWYgX2hhdmVfdGhyZWFkczoKLSAgICAgICAgICAgICAgICAgZXhjZXB0IHNzbC5TU0xFcnJvciBhcyBlOgotICAgICAgICAgICAgICAgICAgICAgc3RhdHMgPSBlCi0gCi0tICAgICAgICAgICAgICAgIGlmIGV4cGVjdGVkIGlzIE5vbmUgYW5kIElTX09QRU5TU0xfMV8xOgotLSAgICAgICAgICAgICAgICAgICAgIyBPcGVuU1NMIDEuMS4wIHJhaXNlcyBoYW5kc2hha2UgZXJyb3IKLSsgICAgICAgICAgICAgICAgaWYgKGV4cGVjdGVkIGlzIE5vbmUgYW5kIElTX09QRU5TU0xfMV8xCi0rICAgICAgICAgICAgICAgICAgICAgICAgYW5kIHNzbC5PUEVOU1NMX1ZFUlNJT05fSU5GTyA8ICgxLCAxLCAwLCA2KSk6Ci0rICAgICAgICAgICAgICAgICAgICAjIE9wZW5TU0wgMS4xLjAgdG8gMS4xLjBlIHJhaXNlcyBoYW5kc2hha2UgZXJyb3IKLSAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShzdGF0cywgc3NsLlNTTEVycm9yKQotICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgbXNnID0gImZhaWxlZCB0cnlpbmcgJXMgKHMpIGFuZCAlcyAoYykuXG4iIFwKLWRpZmYgLS1naXQgYS9NaXNjL05FV1MuZC9uZXh0L1Rlc3RzLzIwMTctMDctMjUtMTUtMjctNDQuYnBvLTMwNzE1LlNwN2JURi5yc3QgYi9NaXNjL05FV1MuZC9uZXh0L1Rlc3RzLzIwMTctMDctMjUtMTUtMjctNDQuYnBvLTMwNzE1LlNwN2JURi5yc3QKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwLi44ODM5NGU1ODVjCi0tLS0gL2Rldi9udWxsCi0rKysgYi9NaXNjL05FV1MuZC9uZXh0L1Rlc3RzLzIwMTctMDctMjUtMTUtMjctNDQuYnBvLTMwNzE1LlNwN2JURi5yc3QKLUBAIC0wLDAgKzEsMiBAQAotK0FkZHJlc3MgQUxQTiBjYWxsYmFjayBjaGFuZ2VzIGZvciBPcGVuU1NMIDEuMS4wZi4gVGhlIGxhdGVzdCB2ZXJzaW9uIGJlaGF2ZXMKLStsaWtlIE9wZW5TU0wgMS4wLjIgYW5kIG5vIGxvbmdlciBhYm9ydHMgaGFuZHNoYWtlLgotLS0gCi0yLjE3LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDMtZml4LXRraW50ZXItZGV0ZWN0aW9uLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDMtZml4LXRraW50ZXItZGV0ZWN0aW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZGRmZDJiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAzLWZpeC10a2ludGVyLWRldGVjdGlvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0KLSMgV2UgbmVlZCB0byBzdXBwbHkgU1RBR0lOR19JTkNESVIgaGVyZSwgb3RoZXJ3aXNlIHRoZSBUayBoZWFkZXJzCi0jIHdpbGwgbm90IGJlIGZvdW5kLgotIyBTaWduZWQtT2ZmOiBNaWNoYWVsICdNaWNrZXknIExhdWVyIDxtaWNrZXlAdmFuaWxsZS5kZT4KLQotSW5kZXg6IFB5dGhvbi0zLjMuMHJjMi9zZXR1cC5weQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIFB5dGhvbi0zLjMuMHJjMi5vcmlnL3NldHVwLnB5CTIwMTItMDktMjAgMTU6MjQ6MTQuMDA5MTI0MDAzIC0wNzAwCi0rKysgUHl0aG9uLTMuMy4wcmMyL3NldHVwLnB5CTIwMTItMDktMjAgMTU6MjU6MDguNDQ5MTI0OTYzIC0wNzAwCi1AQCAtMTYyMCw3ICsxNjIwLDcgQEAKLSAgICAgICAgICAgICAgICAgZG90dmVyc2lvbiA9IGRvdHZlcnNpb25bOi0xXSArICcuJyArIGRvdHZlcnNpb25bLTFdCi0gICAgICAgICAgICAgdGNsX2luY2x1ZGVfc3ViID0gW10KLSAgICAgICAgICAgICB0a19pbmNsdWRlX3N1YiA9IFtdCi0tICAgICAgICAgICAgZm9yIGRpciBpbiBpbmNfZGlyczoKLSsgICAgICAgICAgICBmb3IgZGlyIGluIFtvcy5nZXRlbnYoIlNUQUdJTkdfSU5DRElSIildOgotICAgICAgICAgICAgICAgICB0Y2xfaW5jbHVkZV9zdWIgKz0gW2RpciArIG9zLnNlcCArICJ0Y2wiICsgZG90dmVyc2lvbl0KLSAgICAgICAgICAgICAgICAgdGtfaW5jbHVkZV9zdWIgKz0gW2RpciArIG9zLnNlcCArICJ0ayIgKyBkb3R2ZXJzaW9uXQotICAgICAgICAgICAgIHRrX2luY2x1ZGVfc3ViICs9IHRjbF9pbmNsdWRlX3N1YgotQEAgLTE2MzksMjIgKzE2MzksNiBAQAotICAgICAgICAgICAgIGlmIGRpciBub3QgaW4gaW5jbHVkZV9kaXJzOgotICAgICAgICAgICAgICAgICBpbmNsdWRlX2RpcnMuYXBwZW5kKGRpcikKLSAKLS0gICAgICAgICMgQ2hlY2sgZm9yIHZhcmlvdXMgcGxhdGZvcm0tc3BlY2lmaWMgZGlyZWN0b3JpZXMKLS0gICAgICAgIGlmIGhvc3RfcGxhdGZvcm0gPT0gJ3N1bm9zNSc6Ci0tICAgICAgICAgICAgaW5jbHVkZV9kaXJzLmFwcGVuZCgnL3Vzci9vcGVud2luL2luY2x1ZGUnKQotLSAgICAgICAgICAgIGFkZGVkX2xpYl9kaXJzLmFwcGVuZCgnL3Vzci9vcGVud2luL2xpYicpCi0tICAgICAgICBlbGlmIG9zLnBhdGguZXhpc3RzKCcvdXNyL1gxMVI2L2luY2x1ZGUnKToKLS0gICAgICAgICAgICBpbmNsdWRlX2RpcnMuYXBwZW5kKCcvdXNyL1gxMVI2L2luY2x1ZGUnKQotLSAgICAgICAgICAgIGFkZGVkX2xpYl9kaXJzLmFwcGVuZCgnL3Vzci9YMTFSNi9saWI2NCcpCi0tICAgICAgICAgICAgYWRkZWRfbGliX2RpcnMuYXBwZW5kKCcvdXNyL1gxMVI2L2xpYicpCi0tICAgICAgICBlbGlmIG9zLnBhdGguZXhpc3RzKCcvdXNyL1gxMVI1L2luY2x1ZGUnKToKLS0gICAgICAgICAgICBpbmNsdWRlX2RpcnMuYXBwZW5kKCcvdXNyL1gxMVI1L2luY2x1ZGUnKQotLSAgICAgICAgICAgIGFkZGVkX2xpYl9kaXJzLmFwcGVuZCgnL3Vzci9YMTFSNS9saWInKQotLSAgICAgICAgZWxzZToKLS0gICAgICAgICAgICAjIEFzc3VtZSBkZWZhdWx0IGxvY2F0aW9uIGZvciBYMTEKLS0gICAgICAgICAgICBpbmNsdWRlX2RpcnMuYXBwZW5kKCcvdXNyL1gxMS9pbmNsdWRlJykKLS0gICAgICAgICAgICBhZGRlZF9saWJfZGlycy5hcHBlbmQoJy91c3IvWDExL2xpYicpCi0tCi0gICAgICAgICAjIElmIEN5Z3dpbiwgdGhlbiB2ZXJpZnkgdGhhdCBYIGlzIGluc3RhbGxlZCBiZWZvcmUgcHJvY2VlZGluZwotICAgICAgICAgaWYgaG9zdF9wbGF0Zm9ybSA9PSAnY3lnd2luJzoKLSAgICAgICAgICAgICB4MTFfaW5jID0gZmluZF9maWxlKCdYMTEvWGxpYi5oJywgW10sIGluY2x1ZGVfZGlycykKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAzMC1maXh1cC1pbmNsdWRlLWRpcnMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMzAtZml4dXAtaW5jbHVkZS1kaXJzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YmVhYzdiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAzMC1maXh1cC1pbmNsdWRlLWRpcnMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi1EbyBub3QgaGFyZGNvZGUgL3VzciBpbnRvIGluY2x1ZGUgcGF0aHMgd2hlbiBjcm9zcyBjb21waWxpbmcKLQotLUtoZW0KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0gCi0tLS0KLSBzZXR1cC5weSB8ICAgMTUgKystLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCi0KLUluZGV4OiBQeXRob24tMy4zLjIvc2V0dXAucHkKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBQeXRob24tMy4zLjIub3JpZy9zZXR1cC5weQotKysrIFB5dGhvbi0zLjMuMi9zZXR1cC5weQotQEAgLTQ0NCw3ICs0NDQsOCBAQCBjbGFzcyBQeUJ1aWxkRXh0KGJ1aWxkX2V4dCk6Ci0gICAgICAgICAjIG9ubHkgY2hhbmdlIHRoaXMgZm9yIGNyb3NzIGJ1aWxkcyBmb3IgMy4zLCBpc3N1ZXMgb24gTWFnZWlhCi0gICAgICAgICBpZiBjcm9zc19jb21waWxpbmc6Ci0gICAgICAgICAgICAgc2VsZi5hZGRfZ2NjX3BhdGhzKCkKLS0gICAgICAgIHNlbGYuYWRkX211bHRpYXJjaF9wYXRocygpCi0rICAgICAgICBpZiBub3QgY3Jvc3NfY29tcGlsaW5nOgotKyAgICAgICAgICAgIHNlbGYuYWRkX211bHRpYXJjaF9wYXRocygpCi0gCi0gICAgICAgICAjIEFkZCBwYXRocyBzcGVjaWZpZWQgaW4gdGhlIGVudmlyb25tZW50IHZhcmlhYmxlcyBMREZMQUdTIGFuZAotICAgICAgICAgIyBDUFBGTEFHUyBmb3IgaGVhZGVyIGFuZCBsaWJyYXJ5IGZpbGVzLgotQEAgLTQ4MCw3ICs0ODEsNyBAQCBjbGFzcyBQeUJ1aWxkRXh0KGJ1aWxkX2V4dCk6Ci0gICAgICAgICAgICAgICAgICAgICBmb3IgZGlyZWN0b3J5IGluIHJldmVyc2VkKG9wdGlvbnMuZGlycyk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgYWRkX2Rpcl90b19saXN0KGRpcl9saXN0LCBkaXJlY3RvcnkpCi0gCi0tICAgICAgICBpZiBvcy5wYXRoLm5vcm1wYXRoKHN5cy5iYXNlX3ByZWZpeCkgIT0gJy91c3InIFwKLSsgICAgICAgIGlmIG5vdCBjcm9zc19jb21waWxpbmcgYW5kIG9zLnBhdGgubm9ybXBhdGgoc3lzLmJhc2VfcHJlZml4KSAhPSAnL3VzcicgXAotICAgICAgICAgICAgICAgICBhbmQgbm90IHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcignUFlUSE9ORlJBTUVXT1JLJyk6Ci0gICAgICAgICAgICAgIyBPU1ggbm90ZTogRG9uJ3QgYWRkIExJQkRJUiBhbmQgSU5DTFVERURJUiB0byBidWlsZGluZyBhIGZyYW1ld29yawotICAgICAgICAgICAgICMgKFBZVEhPTkZSQU1FV09SSyBpcyBzZXQpIHRvIGF2b2lkICMgbGlua2luZyBwcm9ibGVtcyB3aGVuCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wODAtZGlzdHV0aWxzLWRvbnRfYWRqdXN0X2ZpbGVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDgwLWRpc3R1dGlscy1kb250X2FkanVzdF9maWxlcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjk2NDE5YS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wODAtZGlzdHV0aWxzLWRvbnRfYWRqdXN0X2ZpbGVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTIgKzAsMCBAQAotZG8gbm90ICJhZGp1c3QiIHB5dGhvbiBmaWxlcyBiZWZvcmUgY29weWluZwotCi0tS2hlbQotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW0VtYmVkZGVkLVNwZWNpZmljXQotCi0tLS0KLSBMaWIvZGlzdHV0aWxzL2NvbW1hbmQvYnVpbGRfc2NyaXB0cy5weSB8ICAgNDMgKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMzkgZGVsZXRpb25zKC0pCi0KLS0tLSBhL0xpYi9kaXN0dXRpbHMvY29tbWFuZC9idWlsZF9zY3JpcHRzLnB5Ci0rKysgYi9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvYnVpbGRfc2NyaXB0cy5weQotQEAgLTUxLDEwICs1MSw3IEBAIGNsYXNzIGJ1aWxkX3NjcmlwdHMoQ29tbWFuZCk6Ci0gCi0gCi0gICAgIGRlZiBjb3B5X3NjcmlwdHMoc2VsZik6Ci0tICAgICAgICAiIiJDb3B5IGVhY2ggc2NyaXB0IGxpc3RlZCBpbiAnc2VsZi5zY3JpcHRzJzsgaWYgaXQncyBtYXJrZWQgYXMgYQotLSAgICAgICAgUHl0aG9uIHNjcmlwdCBpbiB0aGUgVW5peCB3YXkgKGZpcnN0IGxpbmUgbWF0Y2hlcyAnZmlyc3RfbGluZV9yZScsCi0tICAgICAgICBpZS4gc3RhcnRzIHdpdGggIlwjISIgYW5kIGNvbnRhaW5zICJweXRob24iKSwgdGhlbiBhZGp1c3QgdGhlIGZpcnN0Ci0tICAgICAgICBsaW5lIHRvIHJlZmVyIHRvIHRoZSBjdXJyZW50IFB5dGhvbiBpbnRlcnByZXRlciBhcyB3ZSBjb3B5LgotKyAgICAgICAgIiIiQ29weSBlYWNoIHNjcmlwdCBsaXN0ZWQgaW4gJ3NlbGYuc2NyaXB0cycKLSAgICAgICAgICIiIgotICAgICAgICAgc2VsZi5ta3BhdGgoc2VsZi5idWlsZF9kaXIpCi0gICAgICAgICBvdXRmaWxlcyA9IFtdCi1AQCAtNzgsNjQgKzc1LDEwIEBAIGNsYXNzIGJ1aWxkX3NjcmlwdHMoQ29tbWFuZCk6Ci0gICAgICAgICAgICAgICAgIGlmIG5vdCBzZWxmLmRyeV9ydW46Ci0gICAgICAgICAgICAgICAgICAgICByYWlzZQotICAgICAgICAgICAgICAgICBmID0gTm9uZQotLSAgICAgICAgICAgIGVsc2U6Ci0tICAgICAgICAgICAgICAgIGVuY29kaW5nLCBsaW5lcyA9IHRva2VuaXplLmRldGVjdF9lbmNvZGluZyhmLnJlYWRsaW5lKQotLSAgICAgICAgICAgICAgICBmLnNlZWsoMCkKLS0gICAgICAgICAgICAgICAgZmlyc3RfbGluZSA9IGYucmVhZGxpbmUoKQotLSAgICAgICAgICAgICAgICBpZiBub3QgZmlyc3RfbGluZToKLS0gICAgICAgICAgICAgICAgICAgIHNlbGYud2FybigiJXMgaXMgYW4gZW1wdHkgZmlsZSAoc2tpcHBpbmcpIiAlIHNjcmlwdCkKLS0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0tCi0tICAgICAgICAgICAgICAgIG1hdGNoID0gZmlyc3RfbGluZV9yZS5tYXRjaChmaXJzdF9saW5lKQotLSAgICAgICAgICAgICAgICBpZiBtYXRjaDoKLS0gICAgICAgICAgICAgICAgICAgIGFkanVzdCA9IFRydWUKLS0gICAgICAgICAgICAgICAgICAgIHBvc3RfaW50ZXJwID0gbWF0Y2guZ3JvdXAoMSkgb3IgYicnCi0tCi0tICAgICAgICAgICAgaWYgYWRqdXN0OgotLSAgICAgICAgICAgICAgICBsb2cuaW5mbygiY29weWluZyBhbmQgYWRqdXN0aW5nICVzIC0+ICVzIiwgc2NyaXB0LAotLSAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmJ1aWxkX2RpcikKLS0gICAgICAgICAgICAgICAgdXBkYXRlZF9maWxlcy5hcHBlbmQob3V0ZmlsZSkKLS0gICAgICAgICAgICAgICAgaWYgbm90IHNlbGYuZHJ5X3J1bjoKLS0gICAgICAgICAgICAgICAgICAgIGlmIG5vdCBzeXNjb25maWcucHl0aG9uX2J1aWxkOgotLSAgICAgICAgICAgICAgICAgICAgICAgIGV4ZWN1dGFibGUgPSBzZWxmLmV4ZWN1dGFibGUKLS0gICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0tICAgICAgICAgICAgICAgICAgICAgICAgZXhlY3V0YWJsZSA9IG9zLnBhdGguam9pbigKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzY29uZmlnLmdldF9jb25maWdfdmFyKCJCSU5ESVIiKSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAicHl0aG9uJXMlcyIgJSAoc3lzY29uZmlnLmdldF9jb25maWdfdmFyKCJWRVJTSU9OIiksCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcigiRVhFIikpKQotLSAgICAgICAgICAgICAgICAgICAgZXhlY3V0YWJsZSA9IG9zLmZzZW5jb2RlKGV4ZWN1dGFibGUpCi0tICAgICAgICAgICAgICAgICAgICBzaGViYW5nID0gYiIjISIgKyBleGVjdXRhYmxlICsgcG9zdF9pbnRlcnAgKyBiIlxuIgotLSAgICAgICAgICAgICAgICAgICAgIyBQeXRob24gcGFyc2VyIHN0YXJ0cyB0byByZWFkIGEgc2NyaXB0IHVzaW5nIFVURi04IHVudGlsCi0tICAgICAgICAgICAgICAgICAgICAjIGl0IGdldHMgYSAjY29kaW5nOnh4eCBjb29raWUuIFRoZSBzaGViYW5nIGhhcyB0byBiZSB0aGUKLS0gICAgICAgICAgICAgICAgICAgICMgZmlyc3QgbGluZSBvZiBhIGZpbGUsIHRoZSAjY29kaW5nOnh4eCBjb29raWUgY2Fubm90IGJlCi0tICAgICAgICAgICAgICAgICAgICAjIHdyaXR0ZW4gYmVmb3JlLiBTbyB0aGUgc2hlYmFuZyBoYXMgdG8gYmUgZGVjb2RhYmxlIGZyb20KLS0gICAgICAgICAgICAgICAgICAgICMgVVRGLTguCi0tICAgICAgICAgICAgICAgICAgICB0cnk6Ci0tICAgICAgICAgICAgICAgICAgICAgICAgc2hlYmFuZy5kZWNvZGUoJ3V0Zi04JykKLS0gICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBVbmljb2RlRGVjb2RlRXJyb3I6Ci0tICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRoZSBzaGViYW5nICh7IXJ9KSBpcyBub3QgZGVjb2RhYmxlICIKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImZyb20gdXRmLTgiLmZvcm1hdChzaGViYW5nKSkKLS0gICAgICAgICAgICAgICAgICAgICMgSWYgdGhlIHNjcmlwdCBpcyBlbmNvZGVkIHRvIGEgY3VzdG9tIGVuY29kaW5nICh1c2UgYQotLSAgICAgICAgICAgICAgICAgICAgIyAjY29kaW5nOnh4eCBjb29raWUpLCB0aGUgc2hlYmFuZyBoYXMgdG8gYmUgZGVjb2RhYmxlIGZyb20KLS0gICAgICAgICAgICAgICAgICAgICMgdGhlIHNjcmlwdCBlbmNvZGluZyB0b28uCi0tICAgICAgICAgICAgICAgICAgICB0cnk6Ci0tICAgICAgICAgICAgICAgICAgICAgICAgc2hlYmFuZy5kZWNvZGUoZW5jb2RpbmcpCi0tICAgICAgICAgICAgICAgICAgICBleGNlcHQgVW5pY29kZURlY29kZUVycm9yOgotLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUaGUgc2hlYmFuZyAoeyFyfSkgaXMgbm90IGRlY29kYWJsZSAiCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tIHRoZSBzY3JpcHQgZW5jb2RpbmcgKHt9KSIKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZvcm1hdChzaGViYW5nLCBlbmNvZGluZykpCi0tICAgICAgICAgICAgICAgICAgICB3aXRoIG9wZW4ob3V0ZmlsZSwgIndiIikgYXMgb3V0ZjoKLS0gICAgICAgICAgICAgICAgICAgICAgICBvdXRmLndyaXRlKHNoZWJhbmcpCi0tICAgICAgICAgICAgICAgICAgICAgICAgb3V0Zi53cml0ZWxpbmVzKGYucmVhZGxpbmVzKCkpCi0tICAgICAgICAgICAgICAgIGlmIGY6Ci0tICAgICAgICAgICAgICAgICAgICBmLmNsb3NlKCkKLS0gICAgICAgICAgICBlbHNlOgotLSAgICAgICAgICAgICAgICBpZiBmOgotKyAgICAgICAgICAgIGlmIGY6Ci0gICAgICAgICAgICAgICAgICAgICBmLmNsb3NlKCkKLS0gICAgICAgICAgICAgICAgdXBkYXRlZF9maWxlcy5hcHBlbmQob3V0ZmlsZSkKLS0gICAgICAgICAgICAgICAgc2VsZi5jb3B5X2ZpbGUoc2NyaXB0LCBvdXRmaWxlKQotKyAgICAgICAgICAgIHVwZGF0ZWRfZmlsZXMuYXBwZW5kKG91dGZpbGUpCi0rICAgICAgICAgICAgc2VsZi5jb3B5X2ZpbGUoc2NyaXB0LCBvdXRmaWxlKQotIAotICAgICAgICAgaWYgb3MubmFtZSA9PSAncG9zaXgnOgotICAgICAgICAgICAgIGZvciBmaWxlIGluIG91dGZpbGVzOgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMTItZGlzdHV0aWxzLXByZWZpeC1pcy1pbnNpZGUtc3RhZ2luZy1hcmVhLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMTItZGlzdHV0aWxzLXByZWZpeC1pcy1pbnNpZGUtc3RhZ2luZy1hcmVhLnBhdGNoCmluZGV4IGM1M2VjMGMuLmRjYzA5MzIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzEyLWRpc3R1dGlscy1wcmVmaXgtaXMtaW5zaWRlLXN0YWdpbmctYXJlYS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8xMi1kaXN0dXRpbHMtcHJlZml4LWlzLWluc2lkZS1zdGFnaW5nLWFyZWEucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDc2MzBhYjIyNTc4NzQ2ZDNkNzkwZDA1OThjMGQyNzljZjdhZmVkOTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDEzOTc5NzllZTQ0NWZmNjgyNmFhNTQ2OTUxMWUwMDM1MzlmNzdiYjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogVHVlLCAxNCBNYXkgMjAxMyAxNTowMDoyNiAtMDcwMAotU3ViamVjdDogW1BBVENIIDAxLzIwXSBweXRob24zOiBBZGQgdGFyZ2V0IGFuZCBuYXRpdmUgcmVjaXBlcworU3ViamVjdDogW1BBVENIXSBweXRob24zOiBBZGQgdGFyZ2V0IGFuZCBuYXRpdmUgcmVjaXBlcwogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQogCkBAIC0xOCw3ICsxOCw3IEBACiAgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL0xpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5IGIvTGliL2Rpc3R1dGlscy9zeXNjb25maWcucHkKLWluZGV4IDU3MzcyNGQuLjM5MGM0ODUgMTAwNjQ0CitpbmRleCA2YjhjMTI5Li4zY2E3Zjc5IDEwMDY0NAogLS0tIGEvTGliL2Rpc3R1dGlscy9zeXNjb25maWcucHkKICsrKyBiL0xpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5CiBAQCAtODQsNyArODQsOSBAQCBkZWYgZ2V0X3B5dGhvbl9pbmMocGxhdF9zcGVjaWZpYz0wLCBwcmVmaXg9Tm9uZSk6CkBAIC0zMiw3ICszMiw3IEBACiAgICAgICAgICBwcmVmaXggPSBwbGF0X3NwZWNpZmljIGFuZCBCQVNFX0VYRUNfUFJFRklYIG9yIEJBU0VfUFJFRklYCiAgICAgIGlmIG9zLm5hbWUgPT0gInBvc2l4IjoKICAgICAgICAgIGlmIHB5dGhvbl9idWlsZDoKLUBAIC0xMjUsNiArMTI3LDEwIEBAIGRlZiBnZXRfcHl0aG9uX2xpYihwbGF0X3NwZWNpZmljPTAsIHN0YW5kYXJkX2xpYj0wLCBwcmVmaXg9Tm9uZSk6CitAQCAtMTIyLDYgKzEyNCwxMCBAQCBkZWYgZ2V0X3B5dGhvbl9saWIocGxhdF9zcGVjaWZpYz0wLCBzdGFuZGFyZF9saWI9MCwgcHJlZml4PU5vbmUpOgogICAgICBJZiAncHJlZml4JyBpcyBzdXBwbGllZCwgdXNlIGl0IGluc3RlYWQgb2Ygc3lzLmJhc2VfcHJlZml4IG9yCiAgICAgIHN5cy5iYXNlX2V4ZWNfcHJlZml4IC0tIGkuZS4sIGlnbm9yZSAncGxhdF9zcGVjaWZpYycuCiAgICAgICIiIgpAQCAtNDMsNyArNDMsNyBAQAogICAgICBpZiBwcmVmaXggaXMgTm9uZToKICAgICAgICAgIGlmIHN0YW5kYXJkX2xpYjoKICAgICAgICAgICAgICBwcmVmaXggPSBwbGF0X3NwZWNpZmljIGFuZCBCQVNFX0VYRUNfUFJFRklYIG9yIEJBU0VfUFJFRklYCi1AQCAtMTMzLDcgKzEzOSw3IEBAIGRlZiBnZXRfcHl0aG9uX2xpYihwbGF0X3NwZWNpZmljPTAsIHN0YW5kYXJkX2xpYj0wLCBwcmVmaXg9Tm9uZSk6CitAQCAtMTMwLDcgKzEzNiw3IEBAIGRlZiBnZXRfcHl0aG9uX2xpYihwbGF0X3NwZWNpZmljPTAsIHN0YW5kYXJkX2xpYj0wLCBwcmVmaXg9Tm9uZSk6CiAgCiAgICAgIGlmIG9zLm5hbWUgPT0gInBvc2l4IjoKICAgICAgICAgIGxpYnB5dGhvbiA9IG9zLnBhdGguam9pbihwcmVmaXgsCkBAIC01Miw2ICs1MiwzIEBACiAgICAgICAgICBpZiBzdGFuZGFyZF9saWI6CiAgICAgICAgICAgICAgcmV0dXJuIGxpYnB5dGhvbgogICAgICAgICAgZWxzZToKLS0tIAotMi44LjAucmMzCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzEzMC1yZWFkbGluZS1zZXR1cC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzEzMC1yZWFkbGluZS1zZXR1cC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzgwNTY1Mi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8xMzAtcmVhZGxpbmUtc2V0dXAucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi1wYWNrYWdlIHB5dGhvbi1yZWFkbGluZQotCi0tS2hlbQotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW0VtYmVkZGVkIFNwZWNpZmljXQotCi0tLS0gYS9zZXR1cC5weQotKysrIGIvc2V0dXAucHkKLUBAIC02NjYsNDUgKzY2Niw3IEBAIGNsYXNzIFB5QnVpbGRFeHQoYnVpbGRfZXh0KToKLSAgICAgICAgICMgcmVhZGxpbmUKLSAgICAgICAgIGRvX3JlYWRsaW5lID0gc2VsZi5jb21waWxlci5maW5kX2xpYnJhcnlfZmlsZShsaWJfZGlycywgJ3JlYWRsaW5lJykKLSAgICAgICAgIHJlYWRsaW5lX3Rlcm1jYXBfbGlicmFyeSA9ICIiCi0tICAgICAgICBjdXJzZXNfbGlicmFyeSA9ICIiCi0tICAgICAgICAjIENhbm5vdCB1c2Ugb3MucG9wZW4gaGVyZSBpbiBweTNrLgotLSAgICAgICAgdG1wZmlsZSA9IG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX3RlbXAsICdyZWFkbGluZV90ZXJtY2FwX2xpYicpCi0tICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoc2VsZi5idWlsZF90ZW1wKToKLS0gICAgICAgICAgICBvcy5tYWtlZGlycyhzZWxmLmJ1aWxkX3RlbXApCi0tICAgICAgICAjIERldGVybWluZSBpZiByZWFkbGluZSBpcyBhbHJlYWR5IGxpbmtlZCBhZ2FpbnN0IGN1cnNlcyBvciB0aW5mby4KLS0gICAgICAgIGlmIGRvX3JlYWRsaW5lOgotLSAgICAgICAgICAgIGlmIGNyb3NzX2NvbXBpbGluZzoKLS0gICAgICAgICAgICAgICAgcmV0ID0gb3Muc3lzdGVtKCIlcyAtZCAlcyB8IGdyZXAgJyhORUVERUQpJyA+ICVzIiBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIChzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoJ1JFQURFTEYnKSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvX3JlYWRsaW5lLCB0bXBmaWxlKSkKLS0gICAgICAgICAgICBlbGlmIGZpbmRfZXhlY3V0YWJsZSgnbGRkJyk6Ci0tICAgICAgICAgICAgICAgIHJldCA9IG9zLnN5c3RlbSgibGRkICVzID4gJXMiICUgKGRvX3JlYWRsaW5lLCB0bXBmaWxlKSkKLS0gICAgICAgICAgICBlbHNlOgotLSAgICAgICAgICAgICAgICByZXQgPSAyNTYKLS0gICAgICAgICAgICBpZiByZXQgPj4gOCA9PSAwOgotLSAgICAgICAgICAgICAgICB3aXRoIG9wZW4odG1wZmlsZSkgYXMgZnA6Ci0tICAgICAgICAgICAgICAgICAgICBmb3IgbG4gaW4gZnA6Ci0tICAgICAgICAgICAgICAgICAgICAgICAgaWYgJ2N1cnNlcycgaW4gbG46Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRsaW5lX3Rlcm1jYXBfbGlicmFyeSA9IHJlLnN1YigKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHInLipsaWIobj9jdXJzZXN3PylcLnNvLionLCByJ1wxJywgbG4KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKS5yc3RyaXAoKQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhawotLSAgICAgICAgICAgICAgICAgICAgICAgICMgdGVybWNhcCBpbnRlcmZhY2Ugc3BsaXQgb3V0IGZyb20gbmN1cnNlcwotLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICd0aW5mbycgaW4gbG46Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRsaW5lX3Rlcm1jYXBfbGlicmFyeSA9ICd0aW5mbycKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLS0gICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyh0bXBmaWxlKToKLS0gICAgICAgICAgICAgICAgb3MudW5saW5rKHRtcGZpbGUpCi0tICAgICAgICAjIElzc3VlIDczODQ6IElmIHJlYWRsaW5lIGlzIGFscmVhZHkgbGlua2VkIGFnYWluc3QgY3Vyc2VzLAotLSAgICAgICAgIyB1c2UgdGhlIHNhbWUgbGlicmFyeSBmb3IgdGhlIHJlYWRsaW5lIGFuZCBjdXJzZXMgbW9kdWxlcy4KLS0gICAgICAgIGlmICdjdXJzZXMnIGluIHJlYWRsaW5lX3Rlcm1jYXBfbGlicmFyeToKLS0gICAgICAgICAgICBjdXJzZXNfbGlicmFyeSA9IHJlYWRsaW5lX3Rlcm1jYXBfbGlicmFyeQotLSAgICAgICAgZWxpZiBzZWxmLmNvbXBpbGVyLmZpbmRfbGlicmFyeV9maWxlKGxpYl9kaXJzLCAnbmN1cnNlc3cnKToKLS0gICAgICAgICAgICBjdXJzZXNfbGlicmFyeSA9ICduY3Vyc2VzdycKLS0gICAgICAgIGVsaWYgc2VsZi5jb21waWxlci5maW5kX2xpYnJhcnlfZmlsZShsaWJfZGlycywgJ25jdXJzZXMnKToKLS0gICAgICAgICAgICBjdXJzZXNfbGlicmFyeSA9ICduY3Vyc2VzJwotLSAgICAgICAgZWxpZiBzZWxmLmNvbXBpbGVyLmZpbmRfbGlicmFyeV9maWxlKGxpYl9kaXJzLCAnY3Vyc2VzJyk6Ci0tICAgICAgICAgICAgY3Vyc2VzX2xpYnJhcnkgPSAnY3Vyc2VzJwotKyAgICAgICAgY3Vyc2VzX2xpYnJhcnkgPSAibmN1cnNlcyIKLSAKLSAgICAgICAgIGlmIGhvc3RfcGxhdGZvcm0gPT0gJ2Rhcndpbic6Ci0gICAgICAgICAgICAgb3NfcmVsZWFzZSA9IGludChvcy51bmFtZSgpWzJdLnNwbGl0KCcuJylbMF0pCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8xNTAtZml4LXNldHVwdGVybS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzE1MC1maXgtc2V0dXB0ZXJtLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3OGQ3Yzc4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzE1MC1maXgtc2V0dXB0ZXJtLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotRml4IHdhcm5pbmcgd2l0aCBuZXdlciBjb21waWxlcgotCi0tS2hlbQotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotLS0tIGEvTW9kdWxlcy9fY3Vyc2VzbW9kdWxlLmMKLSsrKyBiL01vZHVsZXMvX2N1cnNlc21vZHVsZS5jCi1AQCAtMTE2LDcgKzExNiw3IEBAIGNoYXIgKlB5Q3Vyc2VzVmVyc2lvbiA9ICIyLjIiOwotICAgICAjZGVmaW5lcyBtYW55IGNvbW1vbiBzeW1ib2xzIChzdWNoIGFzICJsaW5lcyIpIHdoaWNoIGJyZWFrcyB0aGUKLSAgICAgY3Vyc2VzIG1vZHVsZSBpbiBvdGhlciB3YXlzLiAgU28gdGhlIGNvZGUgd2lsbCBqdXN0IHNwZWNpZnkKLSAgICAgZXhwbGljaXQgcHJvdG90eXBlcyBoZXJlLiAqLwotLWV4dGVybiBpbnQgc2V0dXB0ZXJtKGNoYXIgKixpbnQsaW50ICopOwotKy8vZXh0ZXJuIGludCBzZXR1cHRlcm0oY2hhciAqLGludCxpbnQgKik7Ci0gI2lmZGVmIF9fc2dpCi0gI2luY2x1ZGUgPHRlcm0uaD4KLSAjZW5kaWYKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL1VzZS1jb3JyZWN0LUNGTEFHUy1mb3ItZXh0ZW5zaW9ucy13aGVuLWNyb3NzLWNvbXBpbGkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9Vc2UtY29ycmVjdC1DRkxBR1MtZm9yLWV4dGVuc2lvbnMtd2hlbi1jcm9zcy1jb21waWxpLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZTc0ZWY1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL1VzZS1jb3JyZWN0LUNGTEFHUy1mb3ItZXh0ZW5zaW9ucy13aGVuLWNyb3NzLWNvbXBpbGkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi1Gcm9tIDdmZDEyMWJiN2Q2YzI1YzJlMGExYzMxY2Y3NmZiOWJkNGE5Nzk0ZGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXJrdXMgTGVodG9uZW4gPG1hcmt1cy5sZWh0b25lbkBsaW51eC5pbnRlbC5jb20+Ci1EYXRlOiBUdWUsIDE0IEF1ZyAyMDE4IDE0OjExOjM1ICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8yXSBVc2UgY29ycmVjdCBDRkxBR1MgZm9yIGV4dGVuc2lvbnMgd2hlbiBjcm9zcy1jb21waWxpbmcKLQotVGFrZSBQWV9DRkxBR1NfTk9ESVNUIGludG8gYWNjb3VudCwgbGlrZSBpbiBuYXRpdmUgYnVpbGQuIFRoaXMgaXMgbmVlZGVkCi1pbiBvcmRlciB0byB0byBwcm9maWxlLW9wdGltaXplZCBidWlsZC4gQWxzbywgcGFzcyBFWFRSQV9DRkxBR1MgdG8KLXByb2ZpbGUtb3B0aW1pemVkIGJ1aWxkLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogTWFya3VzIExlaHRvbmVuIDxtYXJrdXMubGVodG9uZW5AbGludXguaW50ZWwuY29tPgotLS0tCi0gTWFrZWZpbGUucHJlLmluIHwgNCArKy0tCi0gc2V0dXAucHkgICAgICAgIHwgMyArKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL01ha2VmaWxlLnByZS5pbiBiL01ha2VmaWxlLnByZS5pbgotaW5kZXggZTJkNWQzZC4uODRiYzNmZiAxMDA2NDQKLS0tLSBhL01ha2VmaWxlLnByZS5pbgotKysrIGIvTWFrZWZpbGUucHJlLmluCi1AQCAtNDc4LDcgKzQ3OCw3IEBAIHByb2ZpbGUtb3B0OgotIAkkKE1BS0UpIHByb2ZpbGUtcmVtb3ZhbAotIAotIGJ1aWxkX2FsbF9nZW5lcmF0ZV9wcm9maWxlOgotLQkkKE1BS0UpIEBERUZfTUFLRV9SVUxFQCBDRkxBR1NfTk9ESVNUPSIkKENGTEFHUykgJChQR09fUFJPRl9HRU5fRkxBRykgQExUT0ZMQUdTQCIgTERGTEFHUz0iJChMREZMQUdTKSAkKFBHT19QUk9GX0dFTl9GTEFHKSBATFRPRkxBR1NAIiBMSUJTPSIkKExJQlMpIgotKwkkKE1BS0UpIEBERUZfTUFLRV9SVUxFQCBDRkxBR1NfTk9ESVNUPSIkKENGTEFHUykgJChFWFRSQV9DRkxBR1MpICQoUEdPX1BST0ZfR0VOX0ZMQUcpIEBMVE9GTEFHU0AiIExERkxBR1M9IiQoTERGTEFHUykgJChQR09fUFJPRl9HRU5fRkxBRykgQExUT0ZMQUdTQCIgTElCUz0iJChMSUJTKSIKLSAKLSBydW5fcHJvZmlsZV90YXNrOgotIAk6ICMgRklYTUU6IGNhbid0IHJ1biBmb3IgYSBjcm9zcyBidWlsZAotQEAgLTQ4OCw3ICs0ODgsNyBAQCBidWlsZF9hbGxfbWVyZ2VfcHJvZmlsZToKLSAJJChMTFZNX1BST0ZfTUVSR0VSKQotIAotIGJ1aWxkX2FsbF91c2VfcHJvZmlsZToKLS0JJChNQUtFKSBAREVGX01BS0VfUlVMRUAgQ0ZMQUdTX05PRElTVD0iJChDRkxBR1MpICQoUEdPX1BST0ZfVVNFX0ZMQUcpIEBMVE9GTEFHU0AiIExERkxBR1M9IiQoTERGTEFHUykgQExUT0ZMQUdTQCIKLSsJJChNQUtFKSBAREVGX01BS0VfUlVMRUAgQ0ZMQUdTX05PRElTVD0iJChDRkxBR1MpICQoRVhUUkFfQ0ZMQUdTKSAkKFBHT19QUk9GX1VTRV9GTEFHKSBATFRPRkxBR1NAIiBMREZMQUdTPSIkKExERkxBR1MpIEBMVE9GTEFHU0AiCi0gCi0gIyBDb21waWxlIGFuZCBydW4gd2l0aCBnY292Ci0gLlBIT05ZPWNvdmVyYWdlIGNvdmVyYWdlLWxjb3YgY292ZXJhZ2UtcmVwb3J0Ci1kaWZmIC0tZ2l0IGEvc2V0dXAucHkgYi9zZXR1cC5weQotaW5kZXggYWRkMzM0Ni4uNjVlODNiMSAxMDA2NDQKLS0tLSBhL3NldHVwLnB5Ci0rKysgYi9zZXR1cC5weQotQEAgLTI2Myw3ICsyNjMsOCBAQCBjbGFzcyBQeUJ1aWxkRXh0KGJ1aWxkX2V4dCk6Ci0gICAgICAgICAjIGNvbXBpbGVycwotICAgICAgICAgaWYgY29tcGlsZXIgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgaWYgY3Jvc3NfY29tcGlsaW5nOgotLSAgICAgICAgICAgICAgICAoY2NzaGFyZWQsY2ZsYWdzKSA9IChvcy5lbnZpcm9uLmdldCgnQ0NTSEFSRUQnKSBvciAnJywgb3MuZW52aXJvbi5nZXQoJ0NGTEFHUycpIG9yICcnKQotKyAgICAgICAgICAgICAgICAoY2NzaGFyZWQsY2ZsYWdzKSA9IChvcy5lbnZpcm9uLmdldCgnQ0NTSEFSRUQnKSBvciAnJywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9zLmVudmlyb24uZ2V0KCdDRkxBR1MnKSBvciAnJykgKyAnICcgKyBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoJ1BZX0NGTEFHU19OT0RJU1QnKSkKLSAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAoY2NzaGFyZWQsY2ZsYWdzKSA9IHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcnMoJ0NDU0hBUkVEJywnQ0ZMQUdTJykKLSAgICAgICAgICAgICBhcmdzWydjb21waWxlcl9zbyddID0gY29tcGlsZXIgKyAnICcgKyBjY3NoYXJlZCArICcgJyArIGNmbGFncwotLS0gCi0yLjE3LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvYXZvaWQtbmN1cnNlc3ctaW5jbHVkZS1wYXRoLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvYXZvaWQtbmN1cnNlc3ctaW5jbHVkZS1wYXRoLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMjlhZTUzLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2F2b2lkLW5jdXJzZXN3LWluY2x1ZGUtcGF0aC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1XZSBzaG91bGQgbWFrZSBzdXJlIHRoYXQgc3lzcm9vdCBpcyB1c2VkIGJ5IGdjYyBpbnN0ZWFkIG9mIGFzc3VtaW5nCi1oYXJkY29kZWQgbG9jYXRpb25zIGZvciBpbmNsdWRlIHBhdGhzCi0KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotSW5kZXg6IFB5dGhvbi0zLjQuMi9jb25maWd1cmUuYWMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBQeXRob24tMy40LjIub3JpZy9jb25maWd1cmUuYWMKLSsrKyBQeXRob24tMy40LjIvY29uZmlndXJlLmFjCi1AQCAtNDQzNCw3ICs0NDM0LDcgQEAgZmkKLSAKLSAjIGZpcnN0IGN1cnNlcyBoZWFkZXIgY2hlY2sKLSBhY19zYXZlX2NwcGZsYWdzPSIkQ1BQRkxBR1MiCi0tQ1BQRkxBR1M9IiRDUFBGTEFHUyAtSS91c3IvaW5jbHVkZS9uY3Vyc2VzdyIKLStDUFBGTEFHUz0iJENQUEZMQUdTIC1JPS91c3IvaW5jbHVkZS9uY3Vyc2VzdyIKLSAKLSBBQ19DSEVDS19IRUFERVJTKGN1cnNlcy5oIG5jdXJzZXMuaCkKLSAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2F2b2lkX3dhcm5pbmdfYWJvdXRfdGtpbnRlci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2F2b2lkX3dhcm5pbmdfYWJvdXRfdGtpbnRlci5wYXRjaAppbmRleCBhM2NjNDhjLi4yNGU2N2I0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9hdm9pZF93YXJuaW5nX2Fib3V0X3RraW50ZXIucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvYXZvaWRfd2FybmluZ19hYm91dF90a2ludGVyLnBhdGNoCkBAIC0xLDE3ICsxLDI0IEBACi1fdGtpbnRlciBtb2R1bGUgbmVlZHMgdGsgbW9kdWxlIGFsb25nIHdpdGggdGNsLiB0ayBpcyBub3QgeWV0IGludGVncmF0ZWQKLWluIHlvY3RvIHNvIHdlIHNraXAgdGhlIGNoZWNrIGZvciB0aGlzIG1vZHVsZS4KLUF2b2lkIGEgd2FybmluZyBieSBub3QgYWRkaW5nIHRoaXMgbW9kdWxlIHRvIG1pc3NpbmcgdmFyaWFibGUuCitGcm9tIGZlYWQ0OGM4YjUwMWE4ZDdjM2RiMjFkZjJlNTk5ZjkwZjM4ZjExZDMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbmRyZWkgR2hlcnphbiA8YW5kcmVpQGdoZXJ6YW4ucm8+CitEYXRlOiBNb24sIDI4IEphbiAyMDE5IDE1OjU3OjU0ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIF90a2ludGVyIG1vZHVsZSBuZWVkcyB0ayBtb2R1bGUgYWxvbmcgd2l0aCB0Y2wuIHRrIGlzIG5vdCB5ZXQKKyBpbnRlZ3JhdGVkIGluIHlvY3RvIHNvIHdlIHNraXAgdGhlIGNoZWNrIGZvciB0aGlzIG1vZHVsZS4gQXZvaWQgYSB3YXJuaW5nIGJ5Cisgbm90IGFkZGluZyB0aGlzIG1vZHVsZSB0byBtaXNzaW5nIHZhcmlhYmxlLgogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2Rpc3RyaWJ1dGlvbl0KIAogQWxzbyBzaW1wbHkgZGlzYWJsZSB0aGUgdGsgbW9kdWxlIHNpbmNlIGl0cyBub3QgaW4gREVQRU5EUy4KIFNpZ25lZC1vZmYtYnk6IEFuZHJlaSBHaGVyemFuIDxhbmRyZWlAZ2hlcnphbi5ybz4KIAotSW5kZXg6IFB5dGhvbi0zLjUuMy9zZXR1cC5weQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIFB5dGhvbi0zLjUuMy5vcmlnL3NldHVwLnB5Ci0rKysgUHl0aG9uLTMuNS4zL3NldHVwLnB5Ci1AQCAtMTU1OCwxMCArMTU1OCwxMiBAQCBjbGFzcyBQeUJ1aWxkRXh0KGJ1aWxkX2V4dCk6CistLS0KKyBzZXR1cC5weSB8IDggKysrKystLS0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc2V0dXAucHkgYi9zZXR1cC5weQoraW5kZXggZmJlYzAwZC4uYjdhMzZhNiAxMDA2NDQKKy0tLSBhL3NldHVwLnB5CisrKysgYi9zZXR1cC5weQorQEAgLTE2MjMsMTAgKzE2MjMsMTIgQEAgY2xhc3MgUHlCdWlsZEV4dChidWlsZF9leHQpOgogICAgICAgICAgc2VsZi5leHRlbnNpb25zLmV4dGVuZChleHRzKQogIAogICAgICAgICAgIyBDYWxsIHRoZSBtZXRob2QgZm9yIGRldGVjdGluZyB3aGV0aGVyIF90a2ludGVyIGNhbiBiZSBjb21waWxlZApAQCAtMjUsNSArMzIsNSBAQAogKyAgICAgICAgI2lmICdfdGtpbnRlcicgbm90IGluIFtlLm5hbWUgZm9yIGUgaW4gc2VsZi5leHRlbnNpb25zXToKICsgICAgICAgICMgICAgbWlzc2luZy5hcHBlbmQoJ190a2ludGVyJykKICAKLSAjIyAgICAgICAgICMgVW5jb21tZW50IHRoZXNlIGxpbmVzIGlmIHlvdSB3YW50IHRvIHBsYXkgd2l0aCB4eG1vZHVsZS5jCi0gIyMgICAgICAgICBleHQgPSBFeHRlbnNpb24oJ3h4JywgWyd4eG1vZHVsZS5jJ10pCisgICAgICAgICAjIEJ1aWxkIHRoZSBfdXVpZCBtb2R1bGUgaWYgcG9zc2libGUKKyAgICAgICAgIHV1aWRfaW5jcyA9IGZpbmRfZmlsZSgidXVpZC5oIiwgaW5jX2RpcnMsIFsiL3Vzci9pbmNsdWRlL3V1aWQiXSkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2NnaV9weS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2NnaV9weS5wYXRjaAppbmRleCBkZTUwNGY5Li42YzRiYTU0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9jZ2lfcHkucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvY2dpX3B5LnBhdGNoCkBAIC0xLDExICsxLDIwIEBACi1MaWIvY2dpLnB5OiBVcGRhdGUgdGhlIHNjcmlwdCBhcyBtZW50aW9uZWQgaW4gdGhlIGNvbW1lbnQKK0Zyb20gNjIzMzYyODVjYmEzODAxN2IzNWNiNzYxYzAzZjBjN2U4MGE2NzFhMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFdlZCwgMjEgU2VwIDIwMTEgMjA6NTU6MzMgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gTGliL2NnaS5weTogVXBkYXRlIHRoZSBzY3JpcHQgYXMgbWVudGlvbmVkIGluIHRoZSBjb21tZW50CiAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZGlzdHJpYnV0aW9uXQogCiBTaWduZWQtb2ZmLWJ5OiBNYXJrIEhhdGxlIDxtYXJrLmhhdGxlQHdpbmRyaXZlci5jb20+CiAKLS0tLSBQeXRob24tMi42LjYvTGliL2NnaS5weS5vcmlnCTIwMTAtMDgtMDEgMjI6MTQ6MjcuMDAwMDAwMDAwIC0wNTAwCi0rKysgUHl0aG9uLTIuNi42L0xpYi9jZ2kucHkJMjAxMS0wOS0yMSAxNToyODo0MC40NzgyMDg2MzEgLTA1MDAKKy0tLQorIExpYi9jZ2kucHkgfCAxMSArLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMTAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9MaWIvY2dpLnB5IGIvTGliL2NnaS5weQoraW5kZXggOGNmNjY4Ny4uMDk0YzdiNCAxMDA3NTUKKy0tLSBhL0xpYi9jZ2kucHkKKysrKyBiL0xpYi9jZ2kucHkKIEBAIC0xLDEzICsxLDQgQEAKIC0jISAvdXNyL2xvY2FsL2Jpbi9weXRob24KIC0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2NoZWNrX2J1aWxkX2NvbXBsZXRlbmVzcy5weSBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2NoZWNrX2J1aWxkX2NvbXBsZXRlbmVzcy5weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMWVhY2UzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvY2hlY2tfYnVpbGRfY29tcGxldGVuZXNzLnB5CkBAIC0wLDAgKzEsMTcgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKK2ltcG9ydCBzeXMKK2xvZ2ZpbGUgPSBvcGVuKHN5cy5hcmd2WzFdKS5yZWFkKCkKKworbmVjZXNzYXJ5X2JpdHMgPSBsb2dmaWxlLmZpbmQoIlRoZSBuZWNlc3NhcnkgYml0cyB0byBidWlsZCB0aGVzZSBvcHRpb25hbCBtb2R1bGVzIHdlcmUgbm90IGZvdW5kIikKK3RvX2ZpbmRfYml0cyA9IGxvZ2ZpbGUuZmluZCgiVG8gZmluZCB0aGUgbmVjZXNzYXJ5IGJpdHMsIGxvb2sgaW4gc2V0dXAucHkgaW4gZGV0ZWN0X21vZHVsZXMoKSBmb3IgdGhlIG1vZHVsZSdzIG5hbWUuIikKK2lmIG5lY2Vzc2FyeV9iaXRzICE9IC0xOgorICAgIHByaW50KCIlcyIgJShsb2dmaWxlW25lY2Vzc2FyeV9iaXRzOnRvX2ZpbmRfYml0c10pKQorCitmYWlsZWRfdG9fYnVpbGQgPSBsb2dmaWxlLmZpbmQoIkZhaWxlZCB0byBidWlsZCB0aGVzZSBtb2R1bGVzOiIpCitpZiBmYWlsZWRfdG9fYnVpbGQgIT0gLTE6CisgICAgZmFpbGVkX3RvX2J1aWxkX2VuZCA9IGxvZ2ZpbGUuZmluZCgiXG5cbiIsIGZhaWxlZF90b19idWlsZCkKKyAgICBwcmludCgiJXMiICUobG9nZmlsZVtmYWlsZWRfdG9fYnVpbGQ6ZmFpbGVkX3RvX2J1aWxkX2VuZF0pKQorCitpZiBuZWNlc3NhcnlfYml0cyAhPSAtMSBvciBmYWlsZWRfdG9fYnVpbGQgIT0gLTE6CisgICAgc3lzLmV4aXQoMSkKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvY29uZmlndXJlLmFjLWZpeC1MSUJQTC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2NvbmZpZ3VyZS5hYy1maXgtTElCUEwucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk3MjE0ZjkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvY29uZmlndXJlLmFjLWZpeC1MSUJQTC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLUZyb20gN2M0ZjhkODc0NzNkNjIzOGMxMjBlYzYwMzFiNThmODNhMTdhMzlhNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotRGF0ZTogTW9uLCAyOCBEZWMgMjAxNSAyMjo1MjowNiAtMDgwMAotU3ViamVjdDogW1BBVENIXSBjb25maWd1cmUuYWM6IGZpeCBMSUJQTAotCi1Vc2UgTElCRElSIHJhdGhlciB0aGFuIHByZWZpeC9saWIsIHNvIHRoYXQgaXQgd291bGQgd29yayB3aGVuIGxpYjY0LgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBjb25maWd1cmUuYWMgfCAgICAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDYzYWVmOGUuLmFlZmIyN2YgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuYWMKLSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTQzNjYsNyArNDM2Niw3IEBAIEFDX01TR19SRVNVTFQoJExEVkVSU0lPTikKLSAKLSBkbmwgZGVmaW5lIExJQlBMIGFmdGVyIEFCSUZMQUdTIGFuZCBMRFZFUlNJT04gaXMgZGVmaW5lZC4KLSBBQ19TVUJTVChQWV9FTkFCTEVfU0hBUkVEKQotLUxJQlBMPSckKHByZWZpeCknIi9saWIvcHl0aG9uJHtWRVJTSU9OfS9jb25maWctJHtMRFZFUlNJT059IgotK0xJQlBMPSckKExJQkRJUiknIi9weXRob24ke1ZFUlNJT059L2NvbmZpZy0ke0xEVkVSU0lPTn0iCi0gQUNfU1VCU1QoTElCUEwpCi0gCi0gIyBDaGVjayB3aGV0aGVyIHJpZ2h0IHNoaWZ0aW5nIGEgbmVnYXRpdmUgaW50ZWdlciBleHRlbmRzIHRoZSBzaWduIGJpdAotLS0gCi0xLjcuOS41Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2NyZWF0ZV9tYW5pZmVzdDMucHkgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9jcmVhdGVfbWFuaWZlc3QzLnB5CmluZGV4IGZkZGIyM2MuLjRkYTAyYTIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2NyZWF0ZV9tYW5pZmVzdDMucHkKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvY3JlYXRlX21hbmlmZXN0My5weQpAQCAtMjIsNyArMjIsNyBAQAogIwogIwogIyBUaGlzIHdheSB3ZSB3aWxsIGNyZWF0ZSBhIG5ldyBtYW5pZmVzdCBmcm9tIHRoZSBkYXRhIHN0cnVjdHVyZSB0aGF0IHdhcyBidWlsdCBkdXJpbmcKLSMgdGhpcyBwcm9jZXNzLCBvbnQgdGhpcyBuZXcgbWFuaWZlc3QgZWFjaCBwYWNrYWdlIHdpbGwgY29udGFpbiBzcGVjaWZpY2FsbHkgb25seQorIyB0aGlzIHByb2Nlc3MsIG9uIHRoaXMgbmV3IG1hbmlmZXN0IGVhY2ggcGFja2FnZSB3aWxsIGNvbnRhaW4gc3BlY2lmaWNhbGx5IG9ubHkKICMgd2hhdCBpdCBuZWVkcyB0byBydW4uCiAjCiAjIFRoZXJlIGFyZSBzb21lIGNhdmVhdHMgd2hpY2ggd2UgdHJ5IHRvIGRlYWwgd2l0aCwgc3VjaCBhcyByZXBlYXRlZCBmaWxlcyBvbiBkaWZmZXJlbnQKQEAgLTM2LDcgKzM2LDcgQEAKICMgVGhhIG1ldGhvZCB0byBoYW5kbGUgY2FjaGVkIGZpbGVzIGRvZXMgbm90IHdvcmsgd2hlbiBhIG1vZHVsZSBpbmNsdWRlcyBhIGZvbGRlciB3aGljaAogIyBpdHNlbGYgY29udGFpbnMgdGhlIHB5Y2FjaGUgZm9sZGVyLCBnbGFkbHkgdGhpcyBpcyBhbG1vc3QgbmV2ZXIgdGhlIGNhc2UuCiAjCi0jIEF1dGhvcjogQWxlamFuZHJvIEVuZWRpbm8gSGVybmFuZGV6IFNhbWFuaWVnbyAiYWVoczI5IiA8YWVoczI5QGdtYWlsLmNvbT4KKyMgQXV0aG9yOiBBbGVqYW5kcm8gRW5lZGlubyBIZXJuYW5kZXogU2FtYW5pZWdvICJhZWhzMjkiIDxhZWhzMjkgYXQgZ21haWwgZG90IGNvbT4KIAogCiBpbXBvcnQgc3lzCkBAIC03OCw5ICs3OCwyMSBAQAogICAgIGVsc2U6CiAgICAgICAgIHJldHVybiBGYWxzZQogCitkZWYgcHJlcGVuZF9jb21tZW50cyhjb21tZW50cywganNvbl9tYW5pZmVzdCk6CisgICAgd2l0aCBvcGVuKGpzb25fbWFuaWZlc3QsICdyKycpIGFzIG1hbmlmZXN0OgorICAgICAgICBqc29uX2NvbnRlbnRzID0gbWFuaWZlc3QucmVhZCgpCisgICAgICAgIG1hbmlmZXN0LnNlZWsoMCwgMCkKKyAgICAgICAgbWFuaWZlc3Qud3JpdGUoY29tbWVudHMgKyBqc29uX2NvbnRlbnRzKQorCiAjIFJlYWQgZXhpc3RpbmcgSlNPTiBtYW5pZmVzdAogd2l0aCBvcGVuKCdweXRob24zLW1hbmlmZXN0Lmpzb24nKSBhcyBtYW5pZmVzdDoKLSAgICBvbGRfbWFuaWZlc3QgPSBqc29uLmxvYWQobWFuaWZlc3QsIG9iamVjdF9wYWlyc19ob29rPWNvbGxlY3Rpb25zLk9yZGVyZWREaWN0KQorICAgICMgVGhlIEpTT04gZm9ybWF0IGRvZXNuJ3QgYWxsb3cgY29tbWVudHMgc28gd2UgaGFjayB0aGUgY2FsbCB0byBrZWVwIHRoZSBjb21tZW50cyB1c2luZyBhIG1hcmtlcgorICAgIG1hbmlmZXN0X3N0ciA9ICBtYW5pZmVzdC5yZWFkKCkKKyAgICBqc29uX3N0YXJ0ID0gbWFuaWZlc3Rfc3RyLmZpbmQoJyMgRU9DJykgKyA2ICMgRU9DICsgXG4KKyAgICBtYW5pZmVzdC5zZWVrKDApCisgICAgY29tbWVudHMgPSBtYW5pZmVzdC5yZWFkKGpzb25fc3RhcnQpCisgICAgbWFuaWZlc3Rfc3RyID0gbWFuaWZlc3QucmVhZCgpCisgICAgb2xkX21hbmlmZXN0ID0ganNvbi5sb2FkcyhtYW5pZmVzdF9zdHIsIG9iamVjdF9wYWlyc19ob29rPWNvbGxlY3Rpb25zLk9yZGVyZWREaWN0KQogCiAjCiAjIEZpcnN0IHBhc3MgdG8gZ2V0IGNvcmUtcGFja2FnZSBmdW5jdGlvbmFsaXR5LCBiZWNhdXNlIHdlIGJhc2UgZXZlcnl0aGluZyBvbiB0aGUgZmFjdCB0aGF0IGNvcmUgaXMgYWN0dWFsbHkgd29ya2luZwpAQCAtMjk4LDcgKzMxMCwxMyBAQAogICAgICAgICAgICAgcHltb2R1bGVfZGVwID0gcHltb2R1bGVfZGVwLnJlcGxhY2UocHl2ZXJzaW9uLCcke1BZVEhPTl9NQUpNSU59JykKICAgICAgICAgICAgIGluRm9sZGVycyA9IEZhbHNlCiAgICAgICAgICAgICBmb3IgZm9sZGVyIGluIGFsbGZvbGRlcnM6Ci0gICAgICAgICAgICAgICAgaWYgZm9sZGVyIGluIHB5bW9kdWxlX2RlcDoKKyAgICAgICAgICAgICAgICAjIFRoZSBtb2R1bGUgY291bGQgaGF2ZSBhIGRpcmVjdG9yeSBuYW1lZCBhZnRlciBpdCwgZS5nLiB4bWwsIGlmIHdlIHRha2Ugb3V0IHRoZSBmaWxlbmFtZSBmcm9tIHRoZSBwYXRoCisgICAgICAgICAgICAgICAgIyB3ZSdsbCBlbmQgdXAgd2l0aCAke2xpYmRpcn0sIGFuZCB3ZSB3YW50ICR7bGliZGlyfS94bWwKKyAgICAgICAgICAgICAgICBpZiBpc0ZvbGRlcihweW1vZHVsZV9kZXApOgorICAgICAgICAgICAgICAgICAgICBjaGVja19wYXRoID0gcHltb2R1bGVfZGVwCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgY2hlY2tfcGF0aCA9IG9zLnBhdGguZGlybmFtZShweW1vZHVsZV9kZXApCisgICAgICAgICAgICAgICAgaWYgZm9sZGVyIGluIGNoZWNrX3BhdGggOgogICAgICAgICAgICAgICAgICAgICBpbkZvbGRlcnMgPSBUcnVlICMgRGlkIHdlIGZpbmQgYSBmb2xkZXI/CiAgICAgICAgICAgICAgICAgICAgIGZvbGRlckZvdW5kID0gRmFsc2UgIyBTZWNvbmQgZmxhZyB0byBicmVhayBpbm5lciBmb3IKICAgICAgICAgICAgICAgICAgICAgIyBMb29wIG9ubHkgdGhyb3VnaCBwYWNrYWdlcyB3aGljaCBjb250YWluIGZvbGRlcnMKQEAgLTQwMiw2ICs0MjAsOCBAQAogICAgIGpzb24uZHVtcChuZXdfbWFuaWZlc3Qsb3V0ZmlsZSwgaW5kZW50PTQpCiAgICAgb3V0ZmlsZS53cml0ZSgnXG4nKQogCitwcmVwZW5kX2NvbW1lbnRzKGNvbW1lbnRzLCdweXRob24zLW1hbmlmZXN0Lmpzb24ubmV3JykKKwogaWYgKHJlcGVhdGVkKToKICAgICBlcnJvcl9tc2cgPSAnXG5cbkVSUk9SOlxuJwogICAgIGVycm9yX21zZyArPSAnVGhlIGZvbGxvd2luZyBmaWxlcyBhcmUgcmVwZWF0ZWQgKGNvbnRhaW5lZCBpbiBtb3JlIHRoYW4gb25lIHBhY2thZ2UpLFxuJwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvZml4X2Zvcl91c2luZ19kaWZmZXJlbnRfbGliZGlyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvZml4X2Zvcl91c2luZ19kaWZmZXJlbnRfbGliZGlyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNjEwNTY1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2ZpeF9mb3JfdXNpbmdfZGlmZmVyZW50X2xpYmRpci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbRW1iZWRkZWQgc3BlY2lmaWNdCi0KLVRoaXMgcGF0Y2ggZml4ZXMgaXNzdWluZyB3aXRoIGRpZmZlcmVudCBsaWJkaXIgbGlrZSBsaWI2NC4KLVRoaXMgcGF0Y2ggbWFrZXMgdGhlIG5hdGl2ZSBweXRob24gYmluYXJ5IG1vZHVsZXMgZmluZGFibGUKLWluIHRoZSBpbnN0YWxsIHByb2Nlc3Mgb2YgdGhlIGhvc3QgcHl0aG9uLgotCi1TaWduZWQtb2ZmLWJ5OiBOaXRpbiBBIEthbWJsZSA8bml0aW4uYS5rYW1ibGVAaW50ZWwuY29tPgotRGF0ZTogMjAxMi8wMy8xNAotCi1VcGRhdGVkIGZvciBweXRob24gMi43LjMKLVNpZ25lZC1vZmYtYnk6IE5pdGluIEEgS2FtYmxlIDxuaXRpbi5hLmthbWJsZUBpbnRlbC5jb20+Ci1EYXRlOiAyMDEyLzA1LzAxCi0KLUluZGV4OiBQeXRob24tMy4zLjByYzIvTGliL3N5c2NvbmZpZy5weQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIFB5dGhvbi0zLjMuMHJjMi5vcmlnL0xpYi9zeXNjb25maWcucHkJMjAxMi0wOS0yMCAyMjo1MDoxMS4wMDAwMDAwMDAgLTA3MDAKLSsrKyBQeXRob24tMy4zLjByYzIvTGliL3N5c2NvbmZpZy5weQkyMDEyLTA5LTIwIDIyOjUzOjAxLjU2MTEyMzM5NiAtMDcwMAotQEAgLTIxLDkgKzIxLDkgQEAKLSAKLSBfSU5TVEFMTF9TQ0hFTUVTID0gewotICAgICAncG9zaXhfcHJlZml4JzogewotLSAgICAgICAgJ3N0ZGxpYic6ICd7aW5zdGFsbGVkX2Jhc2V9Lycrc3lzLmxpYisnL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fScsCi0rICAgICAgICAnc3RkbGliJzogJ3tiYXNlfS8nK3N5cy5saWIrJy9weXRob257cHlfdmVyc2lvbl9zaG9ydH0nLAotICAgICAgICAgJ3BsYXRzdGRsaWInOiAne3BsYXRiYXNlfS8nK3N5cy5saWIrJy9weXRob257cHlfdmVyc2lvbl9zaG9ydH0nLAotLSAgICAgICAgJ3B1cmVsaWInOiAne2Jhc2V9L2xpYi9weXRob257cHlfdmVyc2lvbl9zaG9ydH0vc2l0ZS1wYWNrYWdlcycsCi0rICAgICAgICAncHVyZWxpYic6ICd7YmFzZX0vJytzeXMubGliKycvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9L3NpdGUtcGFja2FnZXMnLAotICAgICAgICAgJ3BsYXRsaWInOiAne3BsYXRiYXNlfS8nK3N5cy5saWIrJy9weXRob257cHlfdmVyc2lvbl9zaG9ydH0vc2l0ZS1wYWNrYWdlcycsCi0gICAgICAgICAnaW5jbHVkZSc6Ci0gICAgICAgICAgICAgJ3tpbnN0YWxsZWRfYmFzZX0vaW5jbHVkZS9weXRob257cHlfdmVyc2lvbl9zaG9ydH17YWJpZmxhZ3N9JywKLUBAIC04Myw3ICs4Myw3IEBACi0gICAgICdwb3NpeF91c2VyJzogewotICAgICAgICAgJ3N0ZGxpYic6ICd7dXNlcmJhc2V9Lycrc3lzLmxpYisnL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fScsCi0gICAgICAgICAncGxhdHN0ZGxpYic6ICd7dXNlcmJhc2V9Lycrc3lzLmxpYisnL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fScsCi0tICAgICAgICAncHVyZWxpYic6ICd7dXNlcmJhc2V9L2xpYi9weXRob257cHlfdmVyc2lvbl9zaG9ydH0vc2l0ZS1wYWNrYWdlcycsCi0rICAgICAgICAncHVyZWxpYic6ICd7dXNlcmJhc2V9Lycrc3lzLmxpYisnL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fS9zaXRlLXBhY2thZ2VzJywKLSAgICAgICAgICdwbGF0bGliJzogJ3t1c2VyYmFzZX0vJytzeXMubGliKycvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9L3NpdGUtcGFja2FnZXMnLAotICAgICAgICAgJ2luY2x1ZGUnOiAne3VzZXJiYXNlfS9pbmNsdWRlL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fScsCi0gICAgICAgICAnc2NyaXB0cyc6ICd7dXNlcmJhc2V9L2JpbicsCi1JbmRleDogUHl0aG9uLTMuMy4wcmMyL01ha2VmaWxlLnByZS5pbgotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIFB5dGhvbi0zLjMuMHJjMi5vcmlnL01ha2VmaWxlLnByZS5pbgkyMDEyLTA5LTIwIDIyOjUwOjExLjAwMDAwMDAwMCAtMDcwMAotKysrIFB5dGhvbi0zLjMuMHJjMi9NYWtlZmlsZS5wcmUuaW4JMjAxMi0wOS0yMCAyMjo1MDo1NC4yNDUxMjM5OTcgLTA3MDAKLUBAIC0xMDgwLDkgKzEwODAsOSBAQAotIAkJJChJTlNUQUxMX0RBVEEpICQoc3JjZGlyKS9Nb2R1bGVzL3h4bW9kdWxlLmMgXAotIAkJCSQoREVTVERJUikkKExJQkRFU1QpL2Rpc3R1dGlscy90ZXN0cyA7IFwKLSAJZmkKLS0JLVBZVEhPTlBBVEg9JChERVNURElSKSQoTElCREVTVCkgJChSVU5TSEFSRUQpIFwKLSsJLVBZVEhPTlBBVEg9JChERVNURElSKSQoTElCREVTVCk6JHtDUk9TU1BZVEhPTlBBVEh9ICQoUlVOU0hBUkVEKSBcCi0gCQkkKFBZVEhPTl9GT1JfQlVJTEQpIC1tIGxpYjJ0bzMucGdlbjIuZHJpdmVyICQoREVTVERJUikkKExJQkRFU1QpL2xpYjJ0bzMvR3JhbW1hci50eHQKLS0JLVBZVEhPTlBBVEg9JChERVNURElSKSQoTElCREVTVCkgJChSVU5TSEFSRUQpIFwKLSsJLVBZVEhPTlBBVEg9JChERVNURElSKSQoTElCREVTVCk6JHtDUk9TU1BZVEhPTlBBVEh9ICQoUlVOU0hBUkVEKSBcCi0gCQkkKFBZVEhPTl9GT1JfQlVJTEQpIC1tIGxpYjJ0bzMucGdlbjIuZHJpdmVyICQoREVTVERJUikkKExJQkRFU1QpL2xpYjJ0bzMvUGF0dGVybkdyYW1tYXIudHh0Ci0gCi0gIyBDcmVhdGUgdGhlIFBMQVRESVIgc291cmNlIGRpcmVjdG9yeSwgaWYgb25lIHdhc24ndCBkaXN0cmlidXRlZC4uCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9mbG9hdC1lbmRpYW4ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9mbG9hdC1lbmRpYW4ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZiYTNmNWMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvZmxvYXQtZW5kaWFuLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjEyICswLDAgQEAKLVB5dGhvbiB1c2VzIEFDX1JVTl9JRkVMU0UgdG8gZGV0ZXJtaW5lIHRoZSBieXRlIG9yZGVyIGZvciBmbG9hdHMgYW5kIGRvdWJsZXMsCi1hbmQgZmFsbHMgYmFjayBvbnRvICJJIGRvbid0IGtub3ciIGlmIGl0IGNhbid0IHJ1biBjb2RlLiAgVGhpcyByZXN1bHRzIGluCi1jcmlwcGxlZCBmbG9hdGluZyBwb2ludCBudW1iZXJzIGluIFB5dGhvbiwgYW5kIHRoZSByZWdyZXNzaW9uIHRlc3RzIGZhaWwuCi0KLUluc3RlYWQgb2YgcnVubmluZyBjb2RlLCB0YWtlIGEgbWFjcm8gZnJvbSBhdXRvY29uZi1hcmNoaXZlIHdoaWNoIGNvbXBpbGVzIEMKLXdpdGggYSBzcGVjaWFsIGRvdWJsZSBpbiB3aGljaCBoYXMgYW4gQVNDSUkgcmVwcmVzZW50YXRpb24sIGFuZCB0aGVuIGdyZXBzIHRoZQotYmluYXJ5IHRvIGlkZW50aWZ5IHRoZSBmb3JtYXQuCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTM0NTg1XQotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotRnJvbSA1MGRmMmE0YzNhNjVlZDA2MzIyYmU3YzI2ZDQyYjA2Y2U4MTczMGMxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLURhdGU6IFdlZCwgNSBTZXAgMjAxOCAxMTo0NTo1MiArMDEwMAotU3ViamVjdDogW1BBVENIXSBEb24ndCBkbyBydW50aW1lIHRlc3QgdG8gZ2V0IGZsb2F0IGJ5dGUgb3JkZXIKLQotLS0tCi0gY29uZmlndXJlLmFjICAgICAgICAgICAgICAgICAgICAgfCA3NCArKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIG00L2F4X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuLm00IHwgODMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwotIDIgZmlsZXMgY2hhbmdlZCwgOTIgaW5zZXJ0aW9ucygrKSwgNjUgZGVsZXRpb25zKC0pCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IG00L2F4X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuLm00Ci0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IGM5Yjc1NWYwZjQuLjEyMTU5Njk4NzEgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuYWMKLSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTksNiArOSw4IEBAIEFDX1BSRVJFUSgyLjY1KQotIAotIEFDX0lOSVQocHl0aG9uLCBQWVRIT05fVkVSU0lPTiwgaHR0cHM6Ly9idWdzLnB5dGhvbi5vcmcvKQotIAotK0FDX0NPTkZJR19NQUNST19ESVIobTQpCi0rCi0gQUNfU1VCU1QoQkFTRUNQUEZMQUdTKQotIGlmIHRlc3QgIiRzcmNkaXIiICE9IC4gLWEgIiRzcmNkaXIiICE9ICIkKHB3ZCkiOyB0aGVuCi0gICAgICMgSWYgd2UncmUgYnVpbGRpbmcgb3V0LW9mLXRyZWUsIHdlIG5lZWQgdG8gbWFrZSBzdXJlIHRoZSBmb2xsb3dpbmcKLUBAIC00MTI4LDc3ICs0MTMwLDE5IEBAIGZpCi0gIyAqIENoZWNrIGZvciB2YXJpb3VzIHByb3BlcnRpZXMgb2YgZmxvYXRpbmcgcG9pbnQgKgotICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAKLS1BQ19NU0dfQ0hFQ0tJTkcod2hldGhlciBDIGRvdWJsZXMgYXJlIGxpdHRsZS1lbmRpYW4gSUVFRSA3NTQgYmluYXJ5NjQpCi0tQUNfQ0FDSEVfVkFMKGFjX2N2X2xpdHRsZV9lbmRpYW5fZG91YmxlLCBbCi0tQUNfUlVOX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW1sKLS0jaW5jbHVkZSA8c3RyaW5nLmg+Ci0taW50IG1haW4oKSB7Ci0tICAgIGRvdWJsZSB4ID0gOTAwNjEwNDA3MTgzMjU4MS4wOwotLSAgICBpZiAobWVtY21wKCZ4LCAiXHgwNVx4MDRceDAzXHgwMlx4MDFceGZmXHgzZlx4NDMiLCA4KSA9PSAwKQotLSAgICAgICAgcmV0dXJuIDA7Ci0tICAgIGVsc2UKLS0gICAgICAgIHJldHVybiAxOwotLX0KLS1dXSldLAotLVthY19jdl9saXR0bGVfZW5kaWFuX2RvdWJsZT15ZXNdLAotLVthY19jdl9saXR0bGVfZW5kaWFuX2RvdWJsZT1ub10sCi0tW2FjX2N2X2xpdHRsZV9lbmRpYW5fZG91YmxlPW5vXSldKQotLUFDX01TR19SRVNVTFQoJGFjX2N2X2xpdHRsZV9lbmRpYW5fZG91YmxlKQotLWlmIHRlc3QgIiRhY19jdl9saXR0bGVfZW5kaWFuX2RvdWJsZSIgPSB5ZXMKLS10aGVuCi0tICBBQ19ERUZJTkUoRE9VQkxFX0lTX0xJVFRMRV9FTkRJQU5fSUVFRTc1NCwgMSwKLS0gIFtEZWZpbmUgaWYgQyBkb3VibGVzIGFyZSA2NC1iaXQgSUVFRSA3NTQgYmluYXJ5IGZvcm1hdCwgc3RvcmVkCi0tICAgd2l0aCB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgYnl0ZSBmaXJzdF0pCi0tZmkKLS0KLS1BQ19NU0dfQ0hFQ0tJTkcod2hldGhlciBDIGRvdWJsZXMgYXJlIGJpZy1lbmRpYW4gSUVFRSA3NTQgYmluYXJ5NjQpCi0tQUNfQ0FDSEVfVkFMKGFjX2N2X2JpZ19lbmRpYW5fZG91YmxlLCBbCi0tQUNfUlVOX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW1sKLS0jaW5jbHVkZSA8c3RyaW5nLmg+Ci0taW50IG1haW4oKSB7Ci0tICAgIGRvdWJsZSB4ID0gOTAwNjEwNDA3MTgzMjU4MS4wOwotLSAgICBpZiAobWVtY21wKCZ4LCAiXHg0M1x4M2ZceGZmXHgwMVx4MDJceDAzXHgwNFx4MDUiLCA4KSA9PSAwKQotLSAgICAgICAgcmV0dXJuIDA7Ci0tICAgIGVsc2UKLS0gICAgICAgIHJldHVybiAxOwotLX0KLS1dXSldLAotLVthY19jdl9iaWdfZW5kaWFuX2RvdWJsZT15ZXNdLAotLVthY19jdl9iaWdfZW5kaWFuX2RvdWJsZT1ub10sCi0tW2FjX2N2X2JpZ19lbmRpYW5fZG91YmxlPW5vXSldKQotLUFDX01TR19SRVNVTFQoJGFjX2N2X2JpZ19lbmRpYW5fZG91YmxlKQotLWlmIHRlc3QgIiRhY19jdl9iaWdfZW5kaWFuX2RvdWJsZSIgPSB5ZXMKLStBWF9DX0ZMT0FUX1dPUkRTX0JJR0VORElBTgotK2lmIHRlc3QgIiRheF9jdl9jX2Zsb2F0X3dvcmRzX2JpZ2VuZGlhbiIgPSAieWVzIgotIHRoZW4KLSAgIEFDX0RFRklORShET1VCTEVfSVNfQklHX0VORElBTl9JRUVFNzU0LCAxLAotICAgW0RlZmluZSBpZiBDIGRvdWJsZXMgYXJlIDY0LWJpdCBJRUVFIDc1NCBiaW5hcnkgZm9ybWF0LCBzdG9yZWQKLSAgICB3aXRoIHRoZSBtb3N0IHNpZ25pZmljYW50IGJ5dGUgZmlyc3RdKQotLWZpCi0tCi0tIyBTb21lIEFSTSBwbGF0Zm9ybXMgdXNlIGEgbWl4ZWQtZW5kaWFuIHJlcHJlc2VudGF0aW9uIGZvciBkb3VibGVzLgotLSMgV2hpbGUgUHl0aG9uIGRvZXNuJ3QgY3VycmVudGx5IGhhdmUgZnVsbCBzdXBwb3J0IGZvciB0aGVzZSBwbGF0Zm9ybXMKLS0jIChzZWUgZS5nLiwgaXNzdWUgMTc2MjU2MSksIHdlIGNhbiBhdCBsZWFzdCBtYWtlIHN1cmUgdGhhdCBmbG9hdCA8LT4gc3RyaW5nCi0tIyBjb252ZXJzaW9ucyB3b3JrLgotLUFDX01TR19DSEVDS0lORyh3aGV0aGVyIEMgZG91YmxlcyBhcmUgQVJNIG1peGVkLWVuZGlhbiBJRUVFIDc1NCBiaW5hcnk2NCkKLS1BQ19DQUNIRV9WQUwoYWNfY3ZfbWl4ZWRfZW5kaWFuX2RvdWJsZSwgWwotLUFDX1JVTl9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFtbCi0tI2luY2x1ZGUgPHN0cmluZy5oPgotLWludCBtYWluKCkgewotLSAgICBkb3VibGUgeCA9IDkwMDYxMDQwNzE4MzI1ODEuMDsKLS0gICAgaWYgKG1lbWNtcCgmeCwgIlx4MDFceGZmXHgzZlx4NDNceDA1XHgwNFx4MDNceDAyIiwgOCkgPT0gMCkKLS0gICAgICAgIHJldHVybiAwOwotLSAgICBlbHNlCi0tICAgICAgICByZXR1cm4gMTsKLS19Ci0tXV0pXSwKLS1bYWNfY3ZfbWl4ZWRfZW5kaWFuX2RvdWJsZT15ZXNdLAotLVthY19jdl9taXhlZF9lbmRpYW5fZG91YmxlPW5vXSwKLS1bYWNfY3ZfbWl4ZWRfZW5kaWFuX2RvdWJsZT1ub10pXSkKLS1BQ19NU0dfUkVTVUxUKCRhY19jdl9taXhlZF9lbmRpYW5fZG91YmxlKQotLWlmIHRlc3QgIiRhY19jdl9taXhlZF9lbmRpYW5fZG91YmxlIiA9IHllcwotK2VsaWYgdGVzdCAiJGF4X2N2X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuIiA9ICJubyIKLSB0aGVuCi0tICBBQ19ERUZJTkUoRE9VQkxFX0lTX0FSTV9NSVhFRF9FTkRJQU5fSUVFRTc1NCwgMSwKLSsgIEFDX0RFRklORShET1VCTEVfSVNfTElUVExFX0VORElBTl9JRUVFNzU0LCAxLAotICAgW0RlZmluZSBpZiBDIGRvdWJsZXMgYXJlIDY0LWJpdCBJRUVFIDc1NCBiaW5hcnkgZm9ybWF0LCBzdG9yZWQKLS0gICBpbiBBUk0gbWl4ZWQtZW5kaWFuIG9yZGVyIChieXRlIG9yZGVyIDQ1NjcwMTIzKV0pCi0rICAgd2l0aCB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgYnl0ZSBmaXJzdF0pCi0rZWxzZQotKyAgQUNfTVNHX0VSUk9SKFtDYW5ub3QgaWRlbnRpZnkgZmxvYXRpbmcgcG9pbnQgYnl0ZSBvcmRlcl0pCi0gZmkKLSAKLSAjIFRoZSBzaG9ydCBmbG9hdCByZXByIGludHJvZHVjZWQgaW4gUHl0aG9uIDMuMSByZXF1aXJlcyB0aGUKLWRpZmYgLS1naXQgYS9tNC9heF9jX2Zsb2F0X3dvcmRzX2JpZ2VuZGlhbi5tNCBiL200L2F4X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuLm00Ci1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMC4uMjE2YjkwZDgwMwotLS0tIC9kZXYvbnVsbAotKysrIGIvbTQvYXhfY19mbG9hdF93b3Jkc19iaWdlbmRpYW4ubTQKLUBAIC0wLDAgKzEsODMgQEAKLSsjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSsjICBodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2F1dG9jb25mLWFyY2hpdmUvYXhfY19mbG9hdF93b3Jkc19iaWdlbmRpYW4uaHRtbAotKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotKyMKLSsjIFNZTk9QU0lTCi0rIwotKyMgICBBWF9DX0ZMT0FUX1dPUkRTX0JJR0VORElBTihbQUNUSU9OLUlGLVRSVUVdLCBbQUNUSU9OLUlGLUZBTFNFXSwgW0FDVElPTi1JRi1VTktOT1dOXSkKLSsjCi0rIyBERVNDUklQVElPTgotKyMKLSsjICAgQ2hlY2tzIHRoZSBvcmRlcmluZyBvZiB3b3JkcyB3aXRoaW4gYSBtdWx0aS13b3JkIGZsb2F0LiBUaGlzIGNoZWNrIGlzCi0rIyAgIG5lY2Vzc2FyeSBiZWNhdXNlIG9uIHNvbWUgc3lzdGVtcyAoZS5nLiBjZXJ0YWluIEFSTSBzeXN0ZW1zKSwgdGhlIGZsb2F0Ci0rIyAgIHdvcmQgb3JkZXJpbmcgY2FuIGJlIGRpZmZlcmVudCBmcm9tIHRoZSBieXRlIG9yZGVyaW5nLiBJbiBhIG11bHRpLXdvcmQKLSsjICAgZmxvYXQgY29udGV4dCwgImJpZy1lbmRpYW4iIGltcGxpZXMgdGhhdCB0aGUgd29yZCBjb250YWluaW5nIHRoZSBzaWduCi0rIyAgIGJpdCBpcyBmb3VuZCBpbiB0aGUgbWVtb3J5IGxvY2F0aW9uIHdpdGggdGhlIGxvd2VzdCBhZGRyZXNzLiBUaGlzCi0rIyAgIGltcGxlbWVudGF0aW9uIHdhcyBpbnNwaXJlZCBieSB0aGUgQUNfQ19CSUdFTkRJQU4gbWFjcm8gaW4gYXV0b2NvbmYuCi0rIwotKyMgICBUaGUgZW5kaWFubmVzcyBpcyBkZXRlY3RlZCBieSBmaXJzdCBjb21waWxpbmcgQyBjb2RlIHRoYXQgY29udGFpbnMgYQotKyMgICBzcGVjaWFsIGRvdWJsZSBmbG9hdCB2YWx1ZSwgdGhlbiBncmVwcGluZyB0aGUgcmVzdWx0aW5nIG9iamVjdCBmaWxlIGZvcgotKyMgICBjZXJ0YWluIHN0cmluZ3Mgb2YgQVNDSUkgdmFsdWVzLiBUaGUgZG91YmxlIGlzIHNwZWNpYWxseSBjcmFmdGVkIHRvIGhhdmUKLSsjICAgYSBiaW5hcnkgcmVwcmVzZW50YXRpb24gdGhhdCBjb3JyZXNwb25kcyB3aXRoIGEgc2ltcGxlIHN0cmluZy4gSW4gdGhpcwotKyMgICBpbXBsZW1lbnRhdGlvbiwgdGhlIHN0cmluZyAibm9vbnNlZXMiIHdhcyBzZWxlY3RlZCBiZWNhdXNlIHRoZQotKyMgICBpbmRpdmlkdWFsIHdvcmQgdmFsdWVzICgibm9vbiIgYW5kICJzZWVzIikgYXJlIHBhbGluZHJvbWVzLCB0aHVzIG1ha2luZwotKyMgICB0aGlzIHRlc3QgYnl0ZS1vcmRlciBhZ25vc3RpYy4gSWYgZ3JlcCBmaW5kcyB0aGUgc3RyaW5nICJub29uc2VlcyIgaW4KLSsjICAgdGhlIG9iamVjdCBmaWxlLCB0aGUgdGFyZ2V0IHBsYXRmb3JtIHN0b3JlcyBmbG9hdCB3b3JkcyBpbiBiaWctZW5kaWFuCi0rIyAgIG9yZGVyLiBJZiBncmVwIGZpbmRzICJzZWVzbm9vbiIsIGZsb2F0IHdvcmRzIGFyZSBpbiBsaXR0bGUtZW5kaWFuIG9yZGVyLgotKyMgICBJZiBuZWl0aGVyIHZhbHVlIGlzIGZvdW5kLCB0aGUgdXNlciBpcyBpbnN0cnVjdGVkIHRvIHNwZWNpZnkgdGhlCi0rIyAgIG9yZGVyaW5nLgotKyMKLSsjIExJQ0VOU0UKLSsjCi0rIyAgIENvcHlyaWdodCAoYykgMjAwOCBEYW5pZWwgQW1lbGFuZyA8ZGFuQGFtZWxhbmcubmV0PgotKyMKLSsjICAgQ29weWluZyBhbmQgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlsZSwgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlCi0rIyAgIHBlcm1pdHRlZCBpbiBhbnkgbWVkaXVtIHdpdGhvdXQgcm95YWx0eSBwcm92aWRlZCB0aGUgY29weXJpZ2h0IG5vdGljZQotKyMgICBhbmQgdGhpcyBub3RpY2UgYXJlIHByZXNlcnZlZC4gVGhpcyBmaWxlIGlzIG9mZmVyZWQgYXMtaXMsIHdpdGhvdXQgYW55Ci0rIyAgIHdhcnJhbnR5LgotKwotKyNzZXJpYWwgMTEKLSsKLStBQ19ERUZVTihbQVhfQ19GTE9BVF9XT1JEU19CSUdFTkRJQU5dLAotKyAgW0FDX0NBQ0hFX0NIRUNLKHdoZXRoZXIgZmxvYXQgd29yZCBvcmRlcmluZyBpcyBiaWdlbmRpYW4sCi0rICAgICAgICAgICAgICAgICAgYXhfY3ZfY19mbG9hdF93b3Jkc19iaWdlbmRpYW4sIFsKLSsKLStheF9jdl9jX2Zsb2F0X3dvcmRzX2JpZ2VuZGlhbj11bmtub3duCi0rQUNfQ09NUElMRV9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFtbCi0rCi0rZG91YmxlIGQgPSA5MDkwNDIzNDk2NzAzNjgxMDMzNzQ3MDQ3ODkwNTUwNTAxMTQ3NjIxMTY5MjczNTYxNTYzMjAxNDc5NzEyMDg0NDA1MzQ4ODg2NTgxNjY5NTI3MzcyMzQ2OTA5Nzg1ODA1NjI1NzUxNzAyMDE5MTI0NzQ4NzQyOTUxNjkzMjEzMDUwMzU2MDY1MDAwMjMyNzU2NDUxNzU3MDc3ODQ4MDIzNjcyNDUyNTE0MDUyMDEyMTM3MTczOTIwMTQ5NjU0MDEzMjY0MDEwOTk3Nzc3OTQyMDU2NTc3NjU2ODk0MjU5Mi4wOwotKwotK11dKV0sIFsKLSsKLStpZiBncmVwIG5vb25zZWVzIGNvbmZ0ZXN0LiRhY19vYmpleHQgPi9kZXYvbnVsbCA7IHRoZW4KLSsgIGF4X2N2X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuPXllcwotK2ZpCi0raWYgZ3JlcCBzZWVzbm9vbiBjb25mdGVzdC4kYWNfb2JqZXh0ID4vZGV2L251bGwgOyB0aGVuCi0rICBpZiB0ZXN0ICIkYXhfY3ZfY19mbG9hdF93b3Jkc19iaWdlbmRpYW4iID0gdW5rbm93bjsgdGhlbgotKyAgICBheF9jdl9jX2Zsb2F0X3dvcmRzX2JpZ2VuZGlhbj1ubwotKyAgZWxzZQotKyAgICBheF9jdl9jX2Zsb2F0X3dvcmRzX2JpZ2VuZGlhbj11bmtub3duCi0rICBmaQotK2ZpCi0rCi0rXSldKQotKwotK2Nhc2UgJGF4X2N2X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuIGluCi0rICB5ZXMpCi0rICAgIG00X2RlZmF1bHQoWyQxXSwKLSsgICAgICBbQUNfREVGSU5FKFtGTE9BVF9XT1JEU19CSUdFTkRJQU5dLCAxLAotKyAgICAgICAgICAgICAgICAgW0RlZmluZSB0byAxIGlmIHlvdXIgc3lzdGVtIHN0b3JlcyB3b3JkcyB3aXRoaW4gZmxvYXRzCi0rICAgICAgICAgICAgICAgICAgd2l0aCB0aGUgbW9zdCBzaWduaWZpY2FudCB3b3JkIGZpcnN0XSldKSA7OwotKyAgbm8pCi0rICAgICQyIDs7Ci0rICAqKQotKyAgICBtNF9kZWZhdWx0KFskM10sCi0rICAgICAgW0FDX01TR19FUlJPUihbCi0rCi0rVW5rbm93biBmbG9hdCB3b3JkIG9yZGVyaW5nLiBZb3UgbmVlZCB0byBtYW51YWxseSBwcmVzZXQKLStheF9jdl9jX2Zsb2F0X3dvcmRzX2JpZ2VuZGlhbj1ubyAob3IgeWVzKSBhY2NvcmRpbmcgdG8geW91ciBzeXN0ZW0uCi0rCi0rICAgIF0pXSkgOzsKLStlc2FjCi0rCi0rXSkjIEFYX0NfRkxPQVRfV09SRFNfQklHRU5ESUFOCi0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9mdHBsaWIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9mdHBsaWIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ5YzViMjcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvZnRwbGliLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjAgKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotRnJvbSBjYWJlOTE2ZGM2OTQ5OTdkNDg5MmI1ODk4NmU3M2E3MTNkNWEyZjhkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogIk1pc3MgSXNsaW5ndG9uIChib3QpIgotIDwzMTQ4ODkwOSttaXNzLWlzbGluZ3RvbkB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+Ci1EYXRlOiBUaHUsIDE2IEF1ZyAyMDE4IDE1OjM4OjAzIC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIFszLjZdIGJwby0zNDM5MTogRml4IGZ0cGxpYiB0ZXN0IGZvciBUTFMgMS4zIChHSC04Nzg3KQotICgjODc5MCkKLQotUmVhZCBmcm9tIGRhdGEgc29ja2V0IHRvIGF2b2lkICJbU1NMXSBzaHV0ZG93biB3aGlsZSBpbiBpbml0IiBleGNlcHRpb24KLWR1cmluZyBzaHV0ZG93biBvZiB0aGUgZHVtbXkgc2VydmVyLgotCi1TaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gSGVpbWVzIDxjaHJpc3RpYW5AcHl0aG9uLm9yZz4KLQotCi08IS0tIGlzc3VlLW51bWJlcjogW2Jwby0zNDM5MV0oaHR0cHM6Ly93d3cuYnVncy5weXRob24ub3JnL2lzc3VlMzQzOTEpIC0tPgotaHR0cHM6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWUzNDM5MQotPCEtLSAvaXNzdWUtbnVtYmVyIC0tPgotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMTU5MGMzOTMzNjBkZjA1OTE2MDE0NWU3NDc1NzU0NDI3YmZjNjY4MCkKLQotCi1Dby1hdXRob3JlZC1ieTogQ2hyaXN0aWFuIEhlaW1lcyA8Y2hyaXN0aWFuQHB5dGhvbi5vcmc+Ci0tLS0KLSBMaWIvdGVzdC90ZXN0X2Z0cGxpYi5weSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA1ICsrKysrCi0gTWlzYy9ORVdTLmQvbmV4dC9UZXN0cy8yMDE4LTA4LTE2LTE4LTQ4LTQ3LmJwby0zNDM5MS5vdU5meEMucnN0IHwgMSArCi0gMiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKLSBjcmVhdGUgbW9kZSAxMDA2NDQgTWlzYy9ORVdTLmQvbmV4dC9UZXN0cy8yMDE4LTA4LTE2LTE4LTQ4LTQ3LmJwby0zNDM5MS5vdU5meEMucnN0Ci0KLWRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2Z0cGxpYi5weSBiL0xpYi90ZXN0L3Rlc3RfZnRwbGliLnB5Ci1pbmRleCA0NGRkNzNhZWNhLi40ZmYyZjcxYWZiIDEwMDY0NAotLS0tIGEvTGliL3Rlc3QvdGVzdF9mdHBsaWIucHkKLSsrKyBiL0xpYi90ZXN0L3Rlc3RfZnRwbGliLnB5Ci1AQCAtODc2LDE4ICs4NzYsMjMgQEAgY2xhc3MgVGVzdFRMU19GVFBDbGFzcyhUZXN0Q2FzZSk6Ci0gICAgICAgICAjIGNsZWFyIHRleHQKLSAgICAgICAgIHdpdGggc2VsZi5jbGllbnQudHJhbnNmZXJjbWQoJ2xpc3QnKSBhcyBzb2NrOgotICAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90SXNJbnN0YW5jZShzb2NrLCBzc2wuU1NMU29ja2V0KQotKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29jay5yZWN2KDEwMjQpLCBMSVNUX0RBVEEuZW5jb2RlKCdhc2NpaScpKQotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNsaWVudC52b2lkcmVzcCgpLCAiMjI2IHRyYW5zZmVyIGNvbXBsZXRlIikKLSAKLSAgICAgICAgICMgc2VjdXJlZCwgYWZ0ZXIgUFJPVCBQCi0gICAgICAgICBzZWxmLmNsaWVudC5wcm90X3AoKQotICAgICAgICAgd2l0aCBzZWxmLmNsaWVudC50cmFuc2ZlcmNtZCgnbGlzdCcpIGFzIHNvY2s6Ci0gICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKHNvY2ssIHNzbC5TU0xTb2NrZXQpCi0rICAgICAgICAgICAgIyBjb25zdW1lIGZyb20gU1NMIHNvY2tldCB0byBmaW5hbGl6ZSBoYW5kc2hha2UgYW5kIGF2b2lkCi0rICAgICAgICAgICAgIyAiU1NMRXJyb3IgW1NTTF0gc2h1dGRvd24gd2hpbGUgaW4gaW5pdCIKLSsgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNvY2sucmVjdigxMDI0KSwgTElTVF9EQVRBLmVuY29kZSgnYXNjaWknKSkKLSAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jbGllbnQudm9pZHJlc3AoKSwgIjIyNiB0cmFuc2ZlciBjb21wbGV0ZSIpCi0gCi0gICAgICAgICAjIFBST1QgQyBpcyBpc3N1ZWQsIHRoZSBjb25uZWN0aW9uIG11c3QgYmUgaW4gY2xlYXJ0ZXh0IGFnYWluCi0gICAgICAgICBzZWxmLmNsaWVudC5wcm90X2MoKQotICAgICAgICAgd2l0aCBzZWxmLmNsaWVudC50cmFuc2ZlcmNtZCgnbGlzdCcpIGFzIHNvY2s6Ci0gICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RJc0luc3RhbmNlKHNvY2ssIHNzbC5TU0xTb2NrZXQpCi0rICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb2NrLnJlY3YoMTAyNCksIExJU1RfREFUQS5lbmNvZGUoJ2FzY2lpJykpCi0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2xpZW50LnZvaWRyZXNwKCksICIyMjYgdHJhbnNmZXIgY29tcGxldGUiKQotIAotICAgICBkZWYgdGVzdF9sb2dpbihzZWxmKToKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2hvc3RfaW5jbHVkZV9jb250YW1pbmF0aW9uLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvaG9zdF9pbmNsdWRlX2NvbnRhbWluYXRpb24ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVmMjA1NGQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvaG9zdF9pbmNsdWRlX2NvbnRhbWluYXRpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi13aGVuIGJ1aWxkaW5nIHB5dGhvbiBmb3IgcWVtdXg4Ni02NCBvbiB1YnVudHUgMTEuMTAvNjRiaXQKLWl0IGdyb3BlcyBpbnRvIGhvc3QgaW5jbHVkZXMgYW5kIHRoZW4gbWl4ZXMgdGhlbSB3aXRoIGNyb3NzCi1pbmNsdWRlcyBhbmQgYXMgYSByZXN1bHQgc29tZSBtb2R1bGVzIGZhaWwgdG8gY29tcGlsZSBhbmQgbGluawotb25lIG9mIHRoZSBtb2R1bGVzIGlzIHB5dGhvbi1lbGVtZW50dHJlZSB3aGljaCBpcyB0aGVuIG5vdAotZm91bmQgZHVyaW5nIGltYWdlIGNyZWF0aW9uCi0KLVByb2JsZSBpcyB0aGF0IHNldHVwLnB5IHRyaWVzIHRvIGFkZCBuYXRpdmUgaW5jbHVkZXMgdGhhdCBuZXdlcgotdWJ1bnR1IGhhcyBpbnRyb2R1Y2VkIGZvciBtdWx0aWFyY2ggc3VwcG9ydC4gQnV0IHRoYXQgc2hvdWxkCi1vbmx5IGhhcHBlbiBmb3IgbmF0aXZlIGJ1aWxkcyBhbmQgbm90IGNyb3NzIGJ1aWxkaW5nIHB5dGhvbgotc28gd2UgYWRkIGEgY2hlY2sgaGVyZS4KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1JbmRleDogUHl0aG9uLTMuMy4wcmMyL3NldHVwLnB5Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gUHl0aG9uLTMuMy4wcmMyLm9yaWcvc2V0dXAucHkJMjAxMi0wOS0yMCAyMTo1NDo1MC4wMDAwMDAwMDAgLTA3MDAKLSsrKyBQeXRob24tMy4zLjByYzIvc2V0dXAucHkJMjAxMi0wOS0yMCAyMTo1NzozNS4wMjkxMjM4NTggLTA3MDAKLUBAIC00MDIsNiArNDAyLDkgQEAKLSAKLSAgICAgICAgIGlmIG5vdCBmaW5kX2V4ZWN1dGFibGUoJ2Rwa2ctYXJjaGl0ZWN0dXJlJyk6Ci0gICAgICAgICAgICAgcmV0dXJuCi0rICAgICAgICBpZiBjcm9zc19jb21waWxpbmc6Ci0rICAgICAgICAgICAgcmV0dXJuCi0rCi0gICAgICAgICBvcHQgPSAnJwotICAgICAgICAgaWYgY3Jvc3NfY29tcGlsaW5nOgotICAgICAgICAgICAgIG9wdCA9ICctdCcgKyBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoJ0hPU1RfR05VX1RZUEUnKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvcGFzcy1taXNzaW5nLWxpYnJhcmllcy10by1FeHRlbnNpb24tZm9yLW11bC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3Bhc3MtbWlzc2luZy1saWJyYXJpZXMtdG8tRXh0ZW5zaW9uLWZvci1tdWwucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVjM2FmNmIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvcGFzcy1taXNzaW5nLWxpYnJhcmllcy10by1FeHRlbnNpb24tZm9yLW11bC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDgyICswLDAgQEAKLUZyb20gYTc4NGI3MGQ0N2JhMjEwNGFmYmNmZDgwNWUyYTY2Y2RjMjEwOWVjNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLURhdGU6IEZyaSwgNCBBdWcgMjAxNyAxMToxNjoxNCArMDgwMAotU3ViamVjdDogW1BBVENIXSBzZXR1cC5weTogcGFzcyBtaXNzaW5nIGxpYnJhcmllcyB0byBFeHRlbnNpb24gZm9yIG11bHRpcHJvY2Vzc2luZyBtb2R1bGUKLQotSW4gdGhlIGZvbGxvd2luZyBjb21taXQ6Ci0uLi4KLWNvbW1pdCBlNzExY2FmYWIxM2VmYzljMWZlNmM1Y2Q3NTgyNjQwMTQ0NWViNTg1Ci1BdXRob3I6IEJlbmphbWluIFBldGVyc29uIDxiZW5qYW1pbkBweXRob24ub3JnPgotRGF0ZTogICBXZWQgSnVuIDExIDE2OjQ0OjA0IDIwMDggKzAwMDAKLQotICAgIE1lcmdlZCByZXZpc2lvbnMgNjQxMDQsNjQxMTcgdmlhIHN2bm1lcmdlIGZyb20KLSAgICBzdm4rc3NoOi8vcHl0aG9uZGV2QHN2bi5weXRob24ub3JnL3B5dGhvbi90cnVuawotLi4uCi0oc2VlIGRpZmYgaW4gc2V0dXAucHkpCi1JdCBhc3NpZ25lZCBsaWJyYXJpZXMgZm9yIG11bHRpcHJvY2Vzc2luZyBtb2R1bGUgYWNjb3JkaW5nCi10aGUgaG9zdF9wbGF0Zm9ybSwgYnV0IG5vdCBwYXNzIGl0IHRvIEV4dGVuc2lvbi4KLQotSW4gZ2xpYmMsIHRoZSBmb2xsb3dpbmcgY29tbWl0IGNhdXNlZCB0d28gZGVmaW5pdGlvbiBvZgotc2VtX2dldHZhbHVlIGFyZSBkaWZmZXJlbnQuCi1odHRwczovL3NvdXJjZXdhcmUub3JnL2dpdC8/cD1nbGliYy5naXQ7YT1jb21taXQ7aD0wNDJlMTUyMWM3OTRhOTQ1ZWRjNDNiNWJmYTdlNjlhZDcwNDIwNTI0Ci0oc2VlIGRpZmYgaW4gbnB0bC9zZW1fZ2V0dmFsdWUuYyBmb3IgZGV0YWlsKQotYF9fbmV3X3NlbV9nZXR2YWx1ZScgaXMgdGhlIGxhdGVzdCBzZW1fZ2V0dmFsdWVAQEdMSUJDXzIuMQotYW5kIGBfX29sZF9zZW1fZ2V0dmFsdWUnIGlzIHRvIGNvbXBhdCB0aGUgb2xkIHZlcnNpb24KLXNlbV9nZXR2YWx1ZUBHTElCQ18yLjAuCi0KLVRvIGJ1aWxkIHB5dGhvbiBmb3IgZW1iZWRkZWQgTGludXggc3lzdGVtczoKLWh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuMy4xL3lvY3RvLXByb2plY3QtcXMveW9jdG8tcHJvamVjdC1xcy5odG1sCi1JZiBub3QgZXhwbGljaXRseSBsaW5rIHRvIGxpYnJhcnkgcHRocmVhZCAoLWxwdGhyZWFkKSwgaXQgd2lsbAotbG9hZCBnbGliYydzIHNlbV9nZXR2YWx1ZSByYW5kb21seSBhdCBydW50aW1lLgotCi1TdWNoIGFzIGJ1aWxkIHB5dGhvbiBvbiBsaW51eCB4ODZfNjQgaG9zdCBhbmQgcnVuIHRoZSBweXRob24KLW9uIGxpbnV4IHg4Nl8zMiB0YXJnZXQuIElmIG5vdCBsaW5rIGxpYnJhcnkgcHRocmVhZCwgaXQgY2F1c2VkCi1tdWx0aXByb2Nlc3NpbmcgYm91bmRlZCBzZW1hcGhvcmUgY291bGQgbm90IHdvcmsgY29ycmVjdGx5LgotLi4uCi0+Pj4gaW1wb3J0IG11bHRpcHJvY2Vzc2luZwotPj4+IHBvb2xfc2VtYSA9IG11bHRpcHJvY2Vzc2luZy5Cb3VuZGVkU2VtYXBob3JlKHZhbHVlPTEpCi0+Pj4gcG9vbF9zZW1hLmFjcXVpcmUoKQotVHJ1ZQotPj4+IHBvb2xfc2VtYS5yZWxlYXNlKCkKLVRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKLSAgRmlsZSAiPHN0ZGluPiIsIGxpbmUgMSwgaW4gPG1vZHVsZT4KLVZhbHVlRXJyb3I6IHNlbWFwaG9yZSBvciBsb2NrIHJlbGVhc2VkIHRvbyBtYW55IHRpbWVzCi0uLi4KLQotQW5kIHRoZSBzZW1hcGhvcmUgaXNzdWUgYWxzbyBjYXVzZWQgbXVsdGlwcm9jZXNzaW5nLlF1ZXVlKCkucHV0KCkgaHVuZy4KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9weXRob24vY3B5dGhvbi9wdWxsLzI5OTldCi0KLVNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLS0tLQotIHNldHVwLnB5IHwgNyArKysrKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NldHVwLnB5IGIvc2V0dXAucHkKLWluZGV4IDRmMGY1MjIuLmQwNTcwN2QgMTAwNjQ0Ci0tLS0gYS9zZXR1cC5weQotKysrIGIvc2V0dXAucHkKLUBAIC0xNjA2LDggKzE2MDYsMTAgQEAgY2xhc3MgUHlCdWlsZEV4dChidWlsZF9leHQpOgotICAgICAgICAgZWxpZiBob3N0X3BsYXRmb3JtLnN0YXJ0c3dpdGgoJ25ldGJzZCcpOgotICAgICAgICAgICAgIG1hY3JvcyA9IGRpY3QoKQotICAgICAgICAgICAgIGxpYnJhcmllcyA9IFtdCi0tCi0tICAgICAgICBlbHNlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBMaW51eCBhbmQgb3RoZXIgdW5pY2VzCi0rICAgICAgICBlbGlmIGhvc3RfcGxhdGZvcm0uc3RhcnRzd2l0aCgoJ2xpbnV4JykpOgotKyAgICAgICAgICAgIG1hY3JvcyA9IGRpY3QoKQotKyAgICAgICAgICAgIGxpYnJhcmllcyA9IFsncHRocmVhZCddCi0rICAgICAgICBlbHNlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBPdGhlciB1bmljZXMKLSAgICAgICAgICAgICBtYWNyb3MgPSBkaWN0KCkKLSAgICAgICAgICAgICBsaWJyYXJpZXMgPSBbJ3J0J10KLSAKLUBAIC0xNjI2LDYgKzE2MjgsNyBAQCBjbGFzcyBQeUJ1aWxkRXh0KGJ1aWxkX2V4dCk6Ci0gICAgICAgICBpZiBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoJ1dJVEhfVEhSRUFEJyk6Ci0gICAgICAgICAgICAgZXh0cy5hcHBlbmQgKCBFeHRlbnNpb24oJ19tdWx0aXByb2Nlc3NpbmcnLCBtdWx0aXByb2Nlc3Npbmdfc3JjcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmVfbWFjcm9zPWxpc3QobWFjcm9zLml0ZW1zKCkpLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnJhcmllcz1saWJyYXJpZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZV9kaXJzPVsiTW9kdWxlcy9fbXVsdGlwcm9jZXNzaW5nIl0pKQotICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICBtaXNzaW5nLmFwcGVuZCgnX211bHRpcHJvY2Vzc2luZycpCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3B5dGhvbi0zLjMtbXVsdGlsaWIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9weXRob24tMy4zLW11bHRpbGliLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYzM1ZGMxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3B5dGhvbi0zLjMtbXVsdGlsaWIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNjMgKzAsMCBAQAotRnJvbSA1MWZlNmYyMmQwYmExMTM2NzRmYjM1OGJkMTFkNzVmZTY1OWJkMjZlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMTQgTWF5IDIwMTMgMTU6MDA6MjYgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSCAwMS8xM10gZ2V0IHRoZSBzeXMubGliIGZyb20gcHl0aG9uIGl0c2VsZiBhbmQgZG8gbm90IHVzZQotIGhhcmRjb2RlZCB2YWx1ZSBvZiAnbGliJwotCi0wMi8yMDE1IFJlYmFzZWQgZm9yIDMuNC4yCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEFsZWphbmRybyBIZXJuYW5kZXogPGFsZWphbmRyby5oZXJuYW5kZXpAbGludXguaW50ZWwuY29tPgotCi0tLS0KLSBJbmNsdWRlL3B5dGhvbnJ1bi5oICAgICAgICAgICAgICB8ICAzICsrKwotIExpYi9kaXN0dXRpbHMvY29tbWFuZC9pbnN0YWxsLnB5IHwgIDQgKysrLQotIExpYi9weWRvYy5weSAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KLSBMaWIvc2l0ZS5weSAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KLSBMaWIvc3lzY29uZmlnLnB5ICAgICAgICAgICAgICAgICB8IDE4ICsrKysrKysrKy0tLS0tLS0tLQotIExpYi90cmFjZS5weSAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQotIE1ha2VmaWxlLnByZS5pbiAgICAgICAgICAgICAgICAgIHwgIDcgKysrKystLQotIE1vZHVsZXMvZ2V0cGF0aC5jICAgICAgICAgICAgICAgIHwgMTAgKysrKysrKysrLQotIFB5dGhvbi9nZXRwbGF0Zm9ybS5jICAgICAgICAgICAgIHwgMjAgKysrKysrKysrKysrKysrKysrKysKLSBQeXRob24vc3lzbW9kdWxlLmMgICAgICAgICAgICAgICB8ICA0ICsrKysKLSBjb25maWd1cmUuYWMgICAgICAgICAgICAgICAgICAgICB8IDM1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0gc2V0dXAucHkgICAgICAgICAgICAgICAgICAgICAgICAgfCAgOSArKysrLS0tLS0KLSAxMiBmaWxlcyBjaGFuZ2VkLCA5NyBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKLQotSW5kZXg6IFB5dGhvbi0zLjUuNC9JbmNsdWRlL3B5dGhvbnJ1bi5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gUHl0aG9uLTMuNS40Lm9yaWcvSW5jbHVkZS9weXRob25ydW4uaAotKysrIFB5dGhvbi0zLjUuNC9JbmNsdWRlL3B5dGhvbnJ1bi5oCi1AQCAtMjMsNiArMjMsOSBAQCB0eXBlZGVmIHN0cnVjdCB7Ci0gfSBQeUNvbXBpbGVyRmxhZ3M7Ci0gI2VuZGlmCi0gCi0rUHlBUElfRlVOQyhjb25zdCBjaGFyICopIFB5X0dldEFyY2godm9pZCk7Ci0rUHlBUElfRlVOQyhjb25zdCBjaGFyICopIFB5X0dldExpYih2b2lkKTsKLSsKLSAjaWZuZGVmIFB5X0xJTUlURURfQVBJCi0gUHlBUElfRlVOQyhpbnQpIFB5UnVuX1NpbXBsZVN0cmluZ0ZsYWdzKGNvbnN0IGNoYXIgKiwgUHlDb21waWxlckZsYWdzICopOwotIFB5QVBJX0ZVTkMoaW50KSBQeVJ1bl9BbnlGaWxlRmxhZ3MoRklMRSAqLCBjb25zdCBjaGFyICosIFB5Q29tcGlsZXJGbGFncyAqKTsKLUluZGV4OiBQeXRob24tMy41LjQvTGliL2Rpc3R1dGlscy9jb21tYW5kL2luc3RhbGwucHkKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBQeXRob24tMy41LjQub3JpZy9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvaW5zdGFsbC5weQotKysrIFB5dGhvbi0zLjUuNC9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvaW5zdGFsbC5weQotQEAgLTE5LDYgKzE5LDggQEAgZnJvbSBzaXRlIGltcG9ydCBVU0VSX0JBU0UKLSBmcm9tIHNpdGUgaW1wb3J0IFVTRVJfU0lURQotIEhBU19VU0VSX1NJVEUgPSBUcnVlCi0gCi0rbGlibmFtZSA9IHN5cy5saWIKLSsKLSBXSU5ET1dTX1NDSEVNRSA9IHsKLSAgICAgJ3B1cmVsaWInOiAnJGJhc2UvTGliL3NpdGUtcGFja2FnZXMnLAotICAgICAncGxhdGxpYic6ICckYmFzZS9MaWIvc2l0ZS1wYWNrYWdlcycsCi1AQCAtMjksOCArMzEsOCBAQCBXSU5ET1dTX1NDSEVNRSA9IHsKLSAKLSBJTlNUQUxMX1NDSEVNRVMgPSB7Ci0gICAgICd1bml4X3ByZWZpeCc6IHsKLS0gICAgICAgICdwdXJlbGliJzogJyRiYXNlL2xpYi9weXRob24kcHlfdmVyc2lvbl9zaG9ydC9zaXRlLXBhY2thZ2VzJywKLS0gICAgICAgICdwbGF0bGliJzogJyRwbGF0YmFzZS9saWIvcHl0aG9uJHB5X3ZlcnNpb25fc2hvcnQvc2l0ZS1wYWNrYWdlcycsCi0rICAgICAgICAncHVyZWxpYic6ICckcGxhdGJhc2UvJytsaWJuYW1lKycvcHl0aG9uJHB5X3ZlcnNpb25fc2hvcnQvc2l0ZS1wYWNrYWdlcycsCi0rICAgICAgICAncGxhdGxpYic6ICckcGxhdGJhc2UvJytsaWJuYW1lKycvcHl0aG9uJHB5X3ZlcnNpb25fc2hvcnQvc2l0ZS1wYWNrYWdlcycsCi0gICAgICAgICAnaGVhZGVycyc6ICckYmFzZS9pbmNsdWRlL3B5dGhvbiRweV92ZXJzaW9uX3Nob3J0JGFiaWZsYWdzLyRkaXN0X25hbWUnLAotICAgICAgICAgJ3NjcmlwdHMnOiAnJGJhc2UvYmluJywKLSAgICAgICAgICdkYXRhJyAgIDogJyRiYXNlJywKLUluZGV4OiBQeXRob24tMy41LjQvTGliL3B5ZG9jLnB5Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gUHl0aG9uLTMuNS40Lm9yaWcvTGliL3B5ZG9jLnB5Ci0rKysgUHl0aG9uLTMuNS40L0xpYi9weWRvYy5weQotQEAgLTM4OSw3ICszODksNyBAQCBjbGFzcyBEb2M6Ci0gICAgIGRvY21vZHVsZSA9IGRvY2NsYXNzID0gZG9jcm91dGluZSA9IGRvY290aGVyID0gZG9jcHJvcGVydHkgPSBkb2NkYXRhID0gZmFpbAotIAotICAgICBkZWYgZ2V0ZG9jbG9jKHNlbGYsIG9iamVjdCwKLS0gICAgICAgICAgICAgICAgICBiYXNlZGlyPW9zLnBhdGguam9pbihzeXMuYmFzZV9leGVjX3ByZWZpeCwgImxpYiIsCi0rICAgICAgICAgICAgICAgICAgYmFzZWRpcj1vcy5wYXRoLmpvaW4oc3lzLmJhc2VfZXhlY19wcmVmaXgsIHN5cy5saWIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInB5dGhvbiVkLiVkIiAlICBzeXMudmVyc2lvbl9pbmZvWzoyXSkpOgotICAgICAgICAgIiIiUmV0dXJuIHRoZSBsb2NhdGlvbiBvZiBtb2R1bGUgZG9jcyBvciBOb25lIiIiCi0gCi1JbmRleDogUHl0aG9uLTMuNS40L0xpYi9zaXRlLnB5Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gUHl0aG9uLTMuNS40Lm9yaWcvTGliL3NpdGUucHkKLSsrKyBQeXRob24tMy41LjQvTGliL3NpdGUucHkKLUBAIC0zMDMsMTIgKzMwMywxMiBAQCBkZWYgZ2V0c2l0ZXBhY2thZ2VzKHByZWZpeGVzPU5vbmUpOgotICAgICAgICAgc2Vlbi5hZGQocHJlZml4KQotIAotICAgICAgICAgaWYgb3Muc2VwID09ICcvJzoKLS0gICAgICAgICAgICBzaXRlcGFja2FnZXMuYXBwZW5kKG9zLnBhdGguam9pbihwcmVmaXgsICJsaWIiLAotKyAgICAgICAgICAgIHNpdGVwYWNrYWdlcy5hcHBlbmQob3MucGF0aC5qb2luKHByZWZpeCwgc3lzLmxpYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInB5dGhvbiIgKyBzeXMudmVyc2lvbls6M10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaXRlLXBhY2thZ2VzIikpCi0gICAgICAgICBlbHNlOgotICAgICAgICAgICAgIHNpdGVwYWNrYWdlcy5hcHBlbmQocHJlZml4KQotLSAgICAgICAgICAgIHNpdGVwYWNrYWdlcy5hcHBlbmQob3MucGF0aC5qb2luKHByZWZpeCwgImxpYiIsICJzaXRlLXBhY2thZ2VzIikpCi0rICAgICAgICAgICAgc2l0ZXBhY2thZ2VzLmFwcGVuZChvcy5wYXRoLmpvaW4ocHJlZml4LCBzeXMubGliLCAic2l0ZS1wYWNrYWdlcyIpKQotICAgICAgICAgaWYgc3lzLnBsYXRmb3JtID09ICJkYXJ3aW4iOgotICAgICAgICAgICAgICMgZm9yIGZyYW1ld29yayBidWlsZHMgKm9ubHkqIHdlIGFkZCB0aGUgc3RhbmRhcmQgQXBwbGUKLSAgICAgICAgICAgICAjIGxvY2F0aW9ucy4KLUluZGV4OiBQeXRob24tMy41LjQvTGliL3N5c2NvbmZpZy5weQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIFB5dGhvbi0zLjUuNC5vcmlnL0xpYi9zeXNjb25maWcucHkKLSsrKyBQeXRob24tMy41LjQvTGliL3N5c2NvbmZpZy5weQotQEAgLTIwLDEwICsyMCwxMCBAQCBfX2FsbF9fID0gWwotIAotIF9JTlNUQUxMX1NDSEVNRVMgPSB7Ci0gICAgICdwb3NpeF9wcmVmaXgnOiB7Ci0tICAgICAgICAnc3RkbGliJzogJ3tpbnN0YWxsZWRfYmFzZX0vbGliL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fScsCi0tICAgICAgICAncGxhdHN0ZGxpYic6ICd7cGxhdGJhc2V9L2xpYi9weXRob257cHlfdmVyc2lvbl9zaG9ydH0nLAotLSAgICAgICAgJ3B1cmVsaWInOiAne2Jhc2V9L2xpYi9weXRob257cHlfdmVyc2lvbl9zaG9ydH0vc2l0ZS1wYWNrYWdlcycsCi0tICAgICAgICAncGxhdGxpYic6ICd7cGxhdGJhc2V9L2xpYi9weXRob257cHlfdmVyc2lvbl9zaG9ydH0vc2l0ZS1wYWNrYWdlcycsCi0rICAgICAgICAnc3RkbGliJzogJ3tpbnN0YWxsZWRfYmFzZX0vJytzeXMubGliKycvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9JywKLSsgICAgICAgICdwbGF0c3RkbGliJzogJ3twbGF0YmFzZX0vJytzeXMubGliKycvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9JywKLSsgICAgICAgICdwdXJlbGliJzogJ3twbGF0YmFzZX0vJytzeXMubGliKycvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9L3NpdGUtcGFja2FnZXMnLAotKyAgICAgICAgJ3BsYXRsaWInOiAne3BsYXRiYXNlfS8nK3N5cy5saWIrJy9weXRob257cHlfdmVyc2lvbl9zaG9ydH0vc2l0ZS1wYWNrYWdlcycsCi0gICAgICAgICAnaW5jbHVkZSc6Ci0gICAgICAgICAgICAgJ3tpbnN0YWxsZWRfYmFzZX0vaW5jbHVkZS9weXRob257cHlfdmVyc2lvbl9zaG9ydH17YWJpZmxhZ3N9JywKLSAgICAgICAgICdwbGF0aW5jbHVkZSc6Ci1AQCAtMzIsMTAgKzMyLDEwIEBAIF9JTlNUQUxMX1NDSEVNRVMgPSB7Ci0gICAgICAgICAnZGF0YSc6ICd7YmFzZX0nLAotICAgICAgICAgfSwKLSAgICAgJ3Bvc2l4X2hvbWUnOiB7Ci0tICAgICAgICAnc3RkbGliJzogJ3tpbnN0YWxsZWRfYmFzZX0vbGliL3B5dGhvbicsCi0tICAgICAgICAncGxhdHN0ZGxpYic6ICd7YmFzZX0vbGliL3B5dGhvbicsCi0tICAgICAgICAncHVyZWxpYic6ICd7YmFzZX0vbGliL3B5dGhvbicsCi0tICAgICAgICAncGxhdGxpYic6ICd7YmFzZX0vbGliL3B5dGhvbicsCi0rICAgICAgICAnc3RkbGliJzogJ3tpbnN0YWxsZWRfYmFzZX0vJytzeXMubGliKycvcHl0aG9uJywKLSsgICAgICAgICdwbGF0c3RkbGliJzogJ3tiYXNlfS8nK3N5cy5saWIrJy9weXRob24nLAotKyAgICAgICAgJ3B1cmVsaWInOiAne2Jhc2V9Lycrc3lzLmxpYisnL3B5dGhvbicsCi0rICAgICAgICAncGxhdGxpYic6ICd7YmFzZX0vJytzeXMubGliKycvcHl0aG9uJywKLSAgICAgICAgICdpbmNsdWRlJzogJ3tpbnN0YWxsZWRfYmFzZX0vaW5jbHVkZS9weXRob24nLAotICAgICAgICAgJ3BsYXRpbmNsdWRlJzogJ3tpbnN0YWxsZWRfYmFzZX0vaW5jbHVkZS9weXRob24nLAotICAgICAgICAgJ3NjcmlwdHMnOiAne2Jhc2V9L2JpbicsCi1AQCAtNjEsMTAgKzYxLDEwIEBAIF9JTlNUQUxMX1NDSEVNRVMgPSB7Ci0gICAgICAgICAnZGF0YSc6ICd7dXNlcmJhc2V9JywKLSAgICAgICAgIH0sCi0gICAgICdwb3NpeF91c2VyJzogewotLSAgICAgICAgJ3N0ZGxpYic6ICd7dXNlcmJhc2V9L2xpYi9weXRob257cHlfdmVyc2lvbl9zaG9ydH0nLAotLSAgICAgICAgJ3BsYXRzdGRsaWInOiAne3VzZXJiYXNlfS9saWIvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9JywKLS0gICAgICAgICdwdXJlbGliJzogJ3t1c2VyYmFzZX0vbGliL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fS9zaXRlLXBhY2thZ2VzJywKLS0gICAgICAgICdwbGF0bGliJzogJ3t1c2VyYmFzZX0vbGliL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fS9zaXRlLXBhY2thZ2VzJywKLSsgICAgICAgICdzdGRsaWInOiAne3VzZXJiYXNlfS8nK3N5cy5saWIrJy9weXRob257cHlfdmVyc2lvbl9zaG9ydH0nLAotKyAgICAgICAgJ3BsYXRzdGRsaWInOiAne3VzZXJiYXNlfS8nK3N5cy5saWIrJy9weXRob257cHlfdmVyc2lvbl9zaG9ydH0nLAotKyAgICAgICAgJ3B1cmVsaWInOiAne3VzZXJiYXNlfS8nK3N5cy5saWIrJy9weXRob257cHlfdmVyc2lvbl9zaG9ydH0vc2l0ZS1wYWNrYWdlcycsCi0rICAgICAgICAncGxhdGxpYic6ICd7dXNlcmJhc2V9Lycrc3lzLmxpYisnL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fS9zaXRlLXBhY2thZ2VzJywKLSAgICAgICAgICdpbmNsdWRlJzogJ3t1c2VyYmFzZX0vaW5jbHVkZS9weXRob257cHlfdmVyc2lvbl9zaG9ydH0nLAotICAgICAgICAgJ3NjcmlwdHMnOiAne3VzZXJiYXNlfS9iaW4nLAotICAgICAgICAgJ2RhdGEnOiAne3VzZXJiYXNlfScsCi1JbmRleDogUHl0aG9uLTMuNS40L0xpYi90cmFjZS5weQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIFB5dGhvbi0zLjUuNC5vcmlnL0xpYi90cmFjZS5weQotKysrIFB5dGhvbi0zLjUuNC9MaWIvdHJhY2UucHkKLUBAIC03NDksMTAgKzc0OSwxMCBAQCBkZWYgbWFpbihhcmd2PU5vbmUpOgotICAgICAgICAgICAgICAgICAjIHNob3VsZCBJIGFsc28gY2FsbCBleHBhbmR1c2VyPyAoYWZ0ZXIgYWxsLCBjb3VsZCB1c2UgJEhPTUUpCi0gCi0gICAgICAgICAgICAgICAgIHMgPSBzLnJlcGxhY2UoIiRwcmVmaXgiLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbihzeXMuYmFzZV9wcmVmaXgsICJsaWIiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbihzeXMuYmFzZV9wcmVmaXgsIHN5cy5saWIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJweXRob24iICsgc3lzLnZlcnNpb25bOjNdKSkKLSAgICAgICAgICAgICAgICAgcyA9IHMucmVwbGFjZSgiJGV4ZWNfcHJlZml4IiwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4oc3lzLmJhc2VfZXhlY19wcmVmaXgsICJsaWIiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbihzeXMuYmFzZV9leGVjX3ByZWZpeCwgc3lzLmxpYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInB5dGhvbiIgKyBzeXMudmVyc2lvbls6M10pKQotICAgICAgICAgICAgICAgICBzID0gb3MucGF0aC5ub3JtcGF0aChzKQotICAgICAgICAgICAgICAgICBpZ25vcmVfZGlycy5hcHBlbmQocykKLUluZGV4OiBQeXRob24tMy41LjQvTWFrZWZpbGUucHJlLmluCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gUHl0aG9uLTMuNS40Lm9yaWcvTWFrZWZpbGUucHJlLmluCi0rKysgUHl0aG9uLTMuNS40L01ha2VmaWxlLnByZS5pbgotQEAgLTEwOSw2ICsxMDksOCBAQCBDRkxBR1NfQUxJQVNJTkc9QENGTEFHU19BTElBU0lOR0AKLSAKLSAjIE1hY2hpbmUtZGVwZW5kZW50IHN1YmRpcmVjdG9yaWVzCi0gTUFDSERFUD0JQE1BQ0hERVBACi0rTElCPQkJQExJQkAKLStBUkNIPQkJQEFSQ0hACi0gCi0gIyBNdWx0aWFyY2ggZGlyZWN0b3J5IChtYXkgYmUgZW1wdHkpCi0gTVVMVElBUkNIPQlATVVMVElBUkNIQAotQEAgLTEyOCw3ICsxMzAsNyBAQCBMSUJESVI9CQlAbGliZGlyQAotIE1BTkRJUj0JCUBtYW5kaXJACi0gSU5DTFVERURJUj0JQGluY2x1ZGVkaXJACi0gQ09ORklOQ0xVREVESVI9CSQoZXhlY19wcmVmaXgpL2luY2x1ZGUKLS1TQ1JJUFRESVI9CSQocHJlZml4KS9saWIKLStTQ1JJUFRESVI9CUBsaWJkaXJACi0gQUJJRkxBR1M9CUBBQklGTEFHU0AKLSAKLSAjIERldGFpbGVkIGRlc3RpbmF0aW9uIGRpcmVjdG9yaWVzCi1AQCAtNzMxLDYgKzczMyw3IEBAIE1vZHVsZXMvZ2V0cGF0aC5vOiAkKHNyY2RpcikvTW9kdWxlcy9nZXQKLSAJCS1ERVhFQ19QUkVGSVg9JyIkKGV4ZWNfcHJlZml4KSInIFwKLSAJCS1EVkVSU0lPTj0nIiQoVkVSU0lPTikiJyBcCi0gCQktRFZQQVRIPSciJChWUEFUSCkiJyBcCi0rCQktREFSQ0g9JyIkKEFSQ0gpIicgLURMSUI9JyIkKExJQikiJyBcCi0gCQktbyAkQCAkKHNyY2RpcikvTW9kdWxlcy9nZXRwYXRoLmMKLSAKLSBQcm9ncmFtcy9weXRob24ubzogJChzcmNkaXIpL1Byb2dyYW1zL3B5dGhvbi5jCi1AQCAtODEzLDcgKzgxNiw3IEBAIHJlZ2VuLW9wY29kZToKLSBQeXRob24vY29tcGlsZS5vIFB5dGhvbi9zeW10YWJsZS5vIFB5dGhvbi9hc3QubzogJChzcmNkaXIpL0luY2x1ZGUvZ3JhbWluaXQuaCAkKHNyY2RpcikvSW5jbHVkZS9QeXRob24tYXN0LmgKLSAKLSBQeXRob24vZ2V0cGxhdGZvcm0ubzogJChzcmNkaXIpL1B5dGhvbi9nZXRwbGF0Zm9ybS5jCi0tCQkkKENDKSAtYyAkKFBZX0NPUkVfQ0ZMQUdTKSAtRFBMQVRGT1JNPSciJChNQUNIREVQKSInIC1vICRAICQoc3JjZGlyKS9QeXRob24vZ2V0cGxhdGZvcm0uYwotKwkJJChDQykgLWMgJChQWV9DT1JFX0NGTEFHUykgLURQTEFURk9STT0nIiQoTUFDSERFUCkiJyAtREFSQ0g9JyIkKEFSQ0gpIicgLURMSUI9JyIkKExJQikiJyAtbyAkQCAkKHNyY2RpcikvUHl0aG9uL2dldHBsYXRmb3JtLmMKLSAKLSBQeXRob24vaW1wb3J0ZGwubzogJChzcmNkaXIpL1B5dGhvbi9pbXBvcnRkbC5jCi0gCQkkKENDKSAtYyAkKFBZX0NPUkVfQ0ZMQUdTKSAtSSQoRExJTkNMRElSKSAtbyAkQCAkKHNyY2RpcikvUHl0aG9uL2ltcG9ydGRsLmMKLUluZGV4OiBQeXRob24tMy41LjQvTW9kdWxlcy9nZXRwYXRoLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBQeXRob24tMy41LjQub3JpZy9Nb2R1bGVzL2dldHBhdGguYwotKysrIFB5dGhvbi0zLjUuNC9Nb2R1bGVzL2dldHBhdGguYwotQEAgLTEwNSw2ICsxMDUsMTMgQEAKLSAjZXJyb3IgIlBSRUZJWCwgRVhFQ19QUkVGSVgsIFZFUlNJT04sIGFuZCBWUEFUSCBtdXN0IGJlIGNvbnN0YW50IGRlZmluZWQiCi0gI2VuZGlmCi0gCi0rI2RlZmluZSBMSUJfUFlUSE9OIExJQiAiL3B5dGhvbiIgVkVSU0lPTgotKwotKyNpZm5kZWYgUFlUSE9OUEFUSAotKyNkZWZpbmUgUFlUSE9OUEFUSCBQUkVGSVggIi8iIExJQl9QWVRIT04gIjoiIFwKLSsgICAgICAgIEVYRUNfUFJFRklYICIvIiBMSUJfUFlUSE9OICIvbGliLWR5bmxvYWQiCi0rI2VuZGlmCi0rCi0gI2lmbmRlZiBMQU5ETUFSSwotICNkZWZpbmUgTEFORE1BUksgTCJvcy5weSIKLSAjZW5kaWYKLUBAIC0xMTMsNiArMTIwLDcgQEAgc3RhdGljIHdjaGFyX3QgcHJlZml4W01BWFBBVEhMRU4rMV07Ci0gc3RhdGljIHdjaGFyX3QgZXhlY19wcmVmaXhbTUFYUEFUSExFTisxXTsKLSBzdGF0aWMgd2NoYXJfdCBwcm9ncGF0aFtNQVhQQVRITEVOKzFdOwotIHN0YXRpYyB3Y2hhcl90ICptb2R1bGVfc2VhcmNoX3BhdGggPSBOVUxMOwotK3N0YXRpYyB3Y2hhcl90ICpsaWJfcHl0aG9uID0gTCIiIExJQl9QWVRIT047Ci0gCi0gLyogR2V0IGZpbGUgc3RhdHVzLiBFbmNvZGUgdGhlIHBhdGggdG8gdGhlIGxvY2FsZSBlbmNvZGluZy4gKi8KLSAKLUBAIC00OTQsNyArNTAyLDcgQEAgY2FsY3VsYXRlX3BhdGgodm9pZCkKLSAgICAgX3B5dGhvbnBhdGggPSBQeV9EZWNvZGVMb2NhbGUoUFlUSE9OUEFUSCwgTlVMTCk7Ci0gICAgIF9wcmVmaXggPSBQeV9EZWNvZGVMb2NhbGUoUFJFRklYLCBOVUxMKTsKLSAgICAgX2V4ZWNfcHJlZml4ID0gUHlfRGVjb2RlTG9jYWxlKEVYRUNfUFJFRklYLCBOVUxMKTsKLS0gICAgbGliX3B5dGhvbiA9IFB5X0RlY29kZUxvY2FsZSgibGliL3B5dGhvbiIgVkVSU0lPTiwgTlVMTCk7Ci0rICAgIGxpYl9weXRob24gPSBQeV9EZWNvZGVMb2NhbGUoTElCX1BZVEhPTiwgTlVMTCk7Ci0gCi0gICAgIGlmICghX3B5dGhvbnBhdGggfHwgIV9wcmVmaXggfHwgIV9leGVjX3ByZWZpeCB8fCAhbGliX3B5dGhvbikgewotICAgICAgICAgUHlfRmF0YWxFcnJvcigKLUluZGV4OiBQeXRob24tMy41LjQvUHl0aG9uL2dldHBsYXRmb3JtLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBQeXRob24tMy41LjQub3JpZy9QeXRob24vZ2V0cGxhdGZvcm0uYwotKysrIFB5dGhvbi0zLjUuNC9QeXRob24vZ2V0cGxhdGZvcm0uYwotQEAgLTEwLDMgKzEwLDIzIEBAIFB5X0dldFBsYXRmb3JtKHZvaWQpCi0gewotIAlyZXR1cm4gUExBVEZPUk07Ci0gfQotKwotKyNpZm5kZWYgQVJDSAotKyNkZWZpbmUgQVJDSCAidW5rbm93biIKLSsjZW5kaWYKLSsKLStjb25zdCBjaGFyICoKLStQeV9HZXRBcmNoKHZvaWQpCi0rewotKwlyZXR1cm4gQVJDSDsKLSt9Ci0rCi0rI2lmbmRlZiBMSUIKLSsjZGVmaW5lIExJQiAibGliIgotKyNlbmRpZgotKwotK2NvbnN0IGNoYXIgKgotK1B5X0dldExpYih2b2lkKQotK3sKLSsJcmV0dXJuIExJQjsKLSt9Ci1JbmRleDogUHl0aG9uLTMuNS40L1B5dGhvbi9zeXNtb2R1bGUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIFB5dGhvbi0zLjUuNC5vcmlnL1B5dGhvbi9zeXNtb2R1bGUuYwotKysrIFB5dGhvbi0zLjUuNC9QeXRob24vc3lzbW9kdWxlLmMKLUBAIC0xODI3LDYgKzE4MjcsMTAgQEAgX1B5U3lzX0luaXQodm9pZCkKLSAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRnJvbVN0cmluZyhQeV9HZXRDb3B5cmlnaHQoKSkpOwotICAgICBTRVRfU1lTX0ZST01fU1RSSU5HKCJwbGF0Zm9ybSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0Zyb21TdHJpbmcoUHlfR2V0UGxhdGZvcm0oKSkpOwotKyAgICBTRVRfU1lTX0ZST01fU1RSSU5HKCJhcmNoIiwKLSsgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRnJvbVN0cmluZyhQeV9HZXRBcmNoKCkpKTsKLSsgICAgU0VUX1NZU19GUk9NX1NUUklORygibGliIiwKLSsgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRnJvbVN0cmluZyhQeV9HZXRMaWIoKSkpOwotICAgICBTRVRfU1lTX0ZST01fU1RSSU5HKCJleGVjdXRhYmxlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRnJvbVdpZGVDaGFyKAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9HZXRQcm9ncmFtRnVsbFBhdGgoKSwgLTEpKTsKLUluZGV4OiBQeXRob24tMy41LjQvY29uZmlndXJlLmFjCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gUHl0aG9uLTMuNS40Lm9yaWcvY29uZmlndXJlLmFjCi0rKysgUHl0aG9uLTMuNS40L2NvbmZpZ3VyZS5hYwotQEAgLTg4NSw2ICs4ODUsNDEgQEAgUExBVERJUj1wbGF0LSRNQUNIREVQCi0gQUNfU1VCU1QoUExBVERJUikKLSBBQ19TVUJTVChQTEFURk9STV9UUklQTEVUKQotIAotK0FDX1NVQlNUKEFSQ0gpCi0rQUNfTVNHX0NIRUNLSU5HKEFSQ0gpCi0rQVJDSD1gdW5hbWUgLW1gCi0rY2FzZSAkQVJDSCBpbgotK2k/ODYpIEFSQ0g9aTM4Njs7Ci0rZXNhYwotK0FDX01TR19SRVNVTFQoJEFSQ0gpCi0rCi0rQUNfU1VCU1QoTElCKQotK0FDX01TR19DSEVDS0lORyhMSUIpCi0rY2FzZSAkYWNfc3lzX3N5c3RlbSBpbgotK0xpbnV4KikKLSsgICMgVGVzdCBpZiB0aGUgY29tcGlsZXIgaXMgNjRiaXQKLSsgIGVjaG8gJ2ludCBpOycgPiBjb25mdGVzdC4kYWNfZXh0Ci0rICBweXRob25fY3ZfY2NfNjRiaXRfb3V0cHV0PW5vCi0rICBpZiBBQ19UUllfRVZBTChhY19jb21waWxlKTsgdGhlbgotKyAgICBjYXNlIGAvdXNyL2Jpbi9maWxlIGNvbmZ0ZXN0LiRhY19vYmpleHRgIGluCi0rICAgICoiRUxGIDY0IiopCi0rICAgICAgcHl0aG9uX2N2X2NjXzY0Yml0X291dHB1dD15ZXMKLSsgICAgICA7OwotKyAgICBlc2FjCi0rICBmaQotKyAgcm0gLXJmIGNvbmZ0ZXN0KgotKyAgOzsKLStlc2FjCi0rCi0rY2FzZSAkQVJDSDokcHl0aG9uX2N2X2NjXzY0Yml0X291dHB1dCBpbgotK3BwYzY0OnllcyB8IHBvd2VycGM2NDp5ZXMgfCBzMzkweDp5ZXMgfCBzcGFyYzY0OnllcyB8IHg4Nl82NDp5ZXMpCi0rICBMSUI9ImxpYjY0IgotKyAgOzsKLSsqOiopCi0rICBMSUI9ImxpYiIKLSsgIDs7Ci0rZXNhYwotK0FDX01TR19SRVNVTFQoJExJQikKLSAKLSBBQ19NU0dfQ0hFQ0tJTkcoW2ZvciAtV2wsLS1uby1hcy1uZWVkZWRdKQotIHNhdmVfTERGTEFHUz0iJExERkxBR1MiCi1JbmRleDogUHl0aG9uLTMuNS40L3NldHVwLnB5Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gUHl0aG9uLTMuNS40Lm9yaWcvc2V0dXAucHkKLSsrKyBQeXRob24tMy41LjQvc2V0dXAucHkKLUBAIC00OTQsNyArNDk0LDcgQEAgY2xhc3MgUHlCdWlsZEV4dChidWlsZF9leHQpOgotICAgICAgICAgIyBkaXJlY3RvcmllcyAoaS5lLiAnLicgYW5kICdJbmNsdWRlJykgbXVzdCBiZSBmaXJzdC4gIFNlZSBpc3N1ZQotICAgICAgICAgIyAxMDUyMC4KLSAgICAgICAgIGlmIG5vdCBjcm9zc19jb21waWxpbmc6Ci0tICAgICAgICAgICAgYWRkX2Rpcl90b19saXN0KHNlbGYuY29tcGlsZXIubGlicmFyeV9kaXJzLCAnL3Vzci9sb2NhbC9saWInKQotKyAgICAgICAgICAgIGFkZF9kaXJfdG9fbGlzdChzZWxmLmNvbXBpbGVyLmxpYnJhcnlfZGlycywgb3MucGF0aC5qb2luKCcvdXNyL2xvY2FsJywgc3lzLmxpYikpCi0gICAgICAgICAgICAgYWRkX2Rpcl90b19saXN0KHNlbGYuY29tcGlsZXIuaW5jbHVkZV9kaXJzLCAnL3Vzci9sb2NhbC9pbmNsdWRlJykKLSAgICAgICAgICMgb25seSBjaGFuZ2UgdGhpcyBmb3IgY3Jvc3MgYnVpbGRzIGZvciAzLjMsIGlzc3VlcyBvbiBNYWdlaWEKLSAgICAgICAgIGlmIGNyb3NzX2NvbXBpbGluZzoKLUBAIC01NTIsOCArNTUyLDcgQEAgY2xhc3MgUHlCdWlsZEV4dChidWlsZF9leHQpOgotICAgICAgICAgIyBiZSBhc3N1bWVkIHRoYXQgbm8gYWRkaXRpb25hbCAtSSwtTCBkaXJlY3RpdmVzIGFyZSBuZWVkZWQuCi0gICAgICAgICBpZiBub3QgY3Jvc3NfY29tcGlsaW5nOgotICAgICAgICAgICAgIGxpYl9kaXJzID0gc2VsZi5jb21waWxlci5saWJyYXJ5X2RpcnMgKyBbCi0tICAgICAgICAgICAgICAgICcvbGliNjQnLCAnL3Vzci9saWI2NCcsCi0tICAgICAgICAgICAgICAgICcvbGliJywgJy91c3IvbGliJywKLSsgICAgICAgICAgICAgICAgJy8nICsgc3lzLmxpYiwgJy91c3IvJyArIHN5cy5saWIsCi0gICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgICBpbmNfZGlycyA9IHNlbGYuY29tcGlsZXIuaW5jbHVkZV9kaXJzICsgWycvdXNyL2luY2x1ZGUnXQotICAgICAgICAgZWxzZToKLUBAIC03NDUsMTEgKzc0NCwxMSBAQCBjbGFzcyBQeUJ1aWxkRXh0KGJ1aWxkX2V4dCk6Ci0gICAgICAgICAgICAgZWxpZiBjdXJzZXNfbGlicmFyeToKLSAgICAgICAgICAgICAgICAgcmVhZGxpbmVfbGlicy5hcHBlbmQoY3Vyc2VzX2xpYnJhcnkpCi0gICAgICAgICAgICAgZWxpZiBzZWxmLmNvbXBpbGVyLmZpbmRfbGlicmFyeV9maWxlKGxpYl9kaXJzICsKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsnL3Vzci9saWIvdGVybWNhcCddLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWycvdXNyLycrc3lzLmxpYisnL3Rlcm1jYXAnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0ZXJtY2FwJyk6Ci0gICAgICAgICAgICAgICAgIHJlYWRsaW5lX2xpYnMuYXBwZW5kKCd0ZXJtY2FwJykKLSAgICAgICAgICAgICBleHRzLmFwcGVuZCggRXh0ZW5zaW9uKCdyZWFkbGluZScsIFsncmVhZGxpbmUuYyddLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlicmFyeV9kaXJzPVsnL3Vzci9saWIvdGVybWNhcCddLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlicmFyeV9kaXJzPVsnL3Vzci8nK3N5cy5saWIrJy90ZXJtY2FwJ10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRyYV9saW5rX2FyZ3M9cmVhZGxpbmVfZXh0cmFfbGlua19hcmdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlicmFyaWVzPXJlYWRsaW5lX2xpYnMpICkKLSAgICAgICAgIGVsc2U6CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9weXRob24zLW1hbmlmZXN0Lmpzb24gYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9weXRob24zLW1hbmlmZXN0Lmpzb24KaW5kZXggNTMyOWJmNy4uMGE0YWIyYyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvcHl0aG9uMy1tYW5pZmVzdC5qc29uCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3B5dGhvbjMtbWFuaWZlc3QuanNvbgpAQCAtMSwzICsxLDkzIEBACisjIERPIE5PVCAoZW50aXJlbHkpIG1vZGlmeSB0aGlzIGZpbGUgbWFudWFsbHksIHBsZWFzZSByZWFkLgorIworIyBJTVBPUlRBTlQgTk9URToKKyMgUGxlYXNlIGtlZXAgaW4gbWluZCB0aGF0IHRoZSBjcmVhdGVfbWFuaWZlc3QgdGFzayByZWxpZXMgb24gdGhlIGZhY3QgdGhlIHRoZQorIyB0YXJnZXQgYW5kIG5hdGl2ZSBQeXRob24gcGFja2FnZXMgYXJlIHRoZSBzYW1lLCBhbmQgaXQgYWxzbyBuZWVkcyB0byBiZSBleGVjdXRlZAorIyB3aXRoIGEgZnVsbHkgd29ya2luZyBuYXRpdmUgcGFja2FnZSAod2l0aCBhbGwgdGhlIFBBQ0tBR0VDT05GSUdzIGVuYWJsZWQgYW5kIGFsbAorIyBhbmQgYWxsIHRoZSBtb2R1bGVzIHNob3VsZCBiZSB3b3JraW5nLCBjaGVjayBsb2cuZG9fY29tcGlsZSksIG90aGVyd2lzZSB0aGUgc2NyaXB0CisjIHdpbGwgZmFpbCB0byBmaW5kIGRlcGVuZGVuY2llcyBjb3JyZWN0bHksIHRoaXMgbm90ZSBpcyB2YWxpZCBlaXRoZXIgaWYgeW91IGFyZQorIyB1cGdyYWRpbmcgdG8gYSBuZXcgUHl0aG9uIHZlcnNpb24gb3IgYWRkaW5nIGEgbmV3IHBhY2thZ2UuCisjCisjCisjIElmIHlvdSBhcmUgYWRkaW5nIGEgbmV3IHBhY2thZ2UgcGxlYXNlIGZvbGxvdyB0aGUgbmV4dCBzdGVwczoKKyMgICAgIEhvdyB0byBhZGQgYSBuZXcgcGFja2FnZToKKyMgICAgIC0gSWYgYSB1c2VyIHdhbnRzIHRvIGFkZCBhIG5ldyBwYWNrYWdlIGFsbCB0aGF0IGhhcyB0byBiZSBkb25lIGlzOgorIyAgICAgTW9kaWZ5IHRoZSBweXRob24zLW1hbmlmZXN0Lmpzb24gZmlsZSwgYW5kIGFkZCB0aGUgcmVxdWlyZWQgZmlsZShzKSB0byB0aGUgRklMRVMgbGlzdCwKKyMgICAgIGZpbGwgdXAgdGhlIFNVTU1BUlkgc2VjdGlvbiBhcyB3ZWxsLCB0aGUgc2NyaXB0IHNob3VsZCBoYW5kbGUgYWxsIHRoZSByZXN0LgorIworIyAgICAgUmVhbCBleGFtcGxlOgorIyAgICAgV2Ugd2FudCB0byBhZGQgYSB3ZWIgYnJvd3NlciBwYWNrYWdlLCBpbmNsdWRpbmcgdGhlIGZpbGUgd2ViYnJvd3Nlci5weQorIyAgICAgd2hpY2ggYXQgdGhlIG1vbWVudCBpcyBvbiBweXRob24zLW1pc2MuCisjICAgICAid2ViYnJvd3NlciI6IHsKKyMgICAgICAgICAiZmlsZXMiOiBbIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2xpYi1keW5sb2FkL3dlYmJyb3dzZXIucHkiXSwKKyMgICAgICAgICAicmRlcGVuZHMiOiBbXSwKKyMgICAgICAgICAic3VtbWFyeSI6ICJQeXRob24gV2ViIEJyb3dzZXIgc3VwcG9ydCJ9CisjCisjICAgICAqIE5vdGUgdGhhdCB0aGUgcmRlcGVuZHMgZmllbGQgd2FzIGxlZnQgZW1wdHkKKyMKKyMgICAgIFdlIHJ1biAkIGJpdGJha2UgcHl0aG9uMyAtYyBjcmVhdGVfbWFuaWZlc3QgYW5kIHRoZSByZXN1bHRpbmcgbWFuaWZlc3QKKyMgICAgIHNob3VsZCBiZSBjb21wbGV0ZWQgYWZ0ZXIgYSBmZXcgc2Vjb25kcywgc2hvd2luZyBzb21ldGhpbmcgbGlrZToKKyMgICAgICJ3ZWJicm93c2VyIjogeworIyAgICAgICAgICJmaWxlcyI6IFsiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vd2ViYnJvd3Nlci5weSJdLAorIyAgICAgICAgICJyZGVwZW5kcyI6IFsiY29yZSIsImZjbnRsIiwiaW8iLCJwaWNrbGUiLCJzaGVsbCIsInN1YnByb2Nlc3MiXSwKKyMgICAgICAgICAic3VtbWFyeSI6ICJQeXRob24gV2ViIEJyb3dzZXIgc3VwcG9ydCJ9CisjCisjCisjIElmIHlvdSBhcmUgdXBncmFkaW5nIFB5dGhvbiB0byBhIG5ldyB2ZXJzaW9uIHBsZWFzZSBmb2xsb3cgdGhlIG5leHQgc3RlcHM6CisjICAgICBBZnRlciBlYWNoIFB5dGhvbiB1cGdyYWRlLCB0aGUgY3JlYXRlX21hbmlmZXN0IHRhc2sgc2hvdWxkIGJlIGV4ZWN1dGVkLCBiZWNhdXNlIHdlCisjICAgICBkb24ndCBjb250cm9sIHdoYXQgY2hhbmdlcyBvbiB1cHN0cmVhbSBQeXRob24sIHNvLCBzb21lIG1vZHVsZSBkZXBlbmRlbmN5CisjICAgICBtaWdodCBoYXZlIGNoYW5nZWQgd2l0aG91dCB1cyByZWFsaXppbmcgaXQsIGEgY2VydGFpbiBtb2R1bGUgY2FuIGVpdGhlciBoYXZlCisjICAgICBtb3JlIG9yIGxlc3MgZGVwZW5kZW5jaWVzLCBvciBjb3VsZCBiZSBkZXBlbmRpbmcgb24gYSBuZXcgZmlsZSB0aGF0IHdhcyBqdXN0CisjICAgICBjcmVhdGVkIG9uIHRoZSBuZXcgcmVsZWFzZSBhbmQgZm9yIG9idmlvdXMgcmVhc29ucyB3ZSB3b3VsZG4ndCBoYXZlIGl0IG9uIG91cgorIyAgICAgb2xkIG1hbmlmZXN0LCBhbGwgb2YgdGhlc2UgaXNzdWVzIHdvdWxkIGNhdXNlIHJ1bnRpbWUgZXJyb3JzIG9uIG91ciBzeXN0ZW0uCisjCisjICAgICAtIFVwZ3JhZGUgYm90aCB0aGUgbmF0aXZlIGFuZCB0YXJnZXQgUHl0aG9uIHBhY2thZ2VzIHRvIGEgbmV3IHZlcnNpb24KKyMgICAgIC0gUnVuIHRoZSBjcmVhdGVfbWFuaWZlc3QgdGFzayBmb3IgdGhlIHRhcmdldCBQeXRob24gcGFja2FnZSBhcyBpdHMgc2hvd24gYmVsb3c6CisjCisjICAgICAkIGJpdGJha2UgcHl0aG9uMyAtYyBjcmVhdGVfbWFuaWZlc3QKKyMKKyMgICAgIFRoaXMgd2lsbCBhdXRvbWF0aWNhbGx5IHJlcGxhY2UgeW91ciBtYW5pZmVzdCBmaWxlIGxvY2F0ZWQgdW5kZXIgdGhlIFB5dGhvbiBkaXJlY3RvcnkKKyMgICAgIHdpdGggYW4gbmV3IG9uZSwgd2hpY2ggY29udGFpbnMgdGhlIG5ldyBkZXBlbmRlbmNpZXMgKGlmIGFueSkuCisjCisjICAgICBTZXZlcmFsIHRoaW5ncyBjb3VsZCBoYXZlIGdvbmUgd3JvbmcgaGVyZSwgSSB3aWxsIHRyeSB0byBleHBsYWluIGEgZmV3OgorIworIyAgICAgYSkgQSBuZXcgZmlsZSB3YXMgaW50cm9kdWNlZCBvbiB0aGlzIHJlbGVhc2UsIGUuZy4gc2hhMyouc286CisjICAgICAgICBUaGUgdGFzayB3aWxsIGNoZWNrIHdoYXQgaXRzIG5lZWRlZCB0byBpbXBvcnQgZXZlcnkgbW9kdWxlLCBtb3JlIHRoYW4gb25lIG1vZHVsZSB3b3VsZAorIyAgICAgICAgd291bGQgcHJvYmFibHkgZGVwZW5kIG9uIHNoYTMqLnNvLCBhbHRob3VnaCBvbmx5IG9uZSBtb2R1bGUgc2hvdWxkIGNvbnRhaW4gaXQuCisjCisjICAgICAgICBBZnRlciBydW5uaW5nIHRoZSB0YXNrLCB0aGUgbmV3IG1hbmlmZXN0IHdpbGwgaGF2ZSB0aGUgc2hhMyouc28gZmlsZSBvbiBtb3JlIHRoYW4gb25lCisjICAgICAgICBtb2R1bGUsIHlvdSBuZWVkIHRvIG1hbnVhbGx5IGRlY2lkZSB3aGljaCBvbmUgb2YgdGhlbSBzaG91bGQgZ2V0IGl0IGFuZCBkZWxldGUgaXQgZnJvbQorIyAgICAgICAgdGhlIG90aGVycywgZm9yIGV4YW1wbGUgc2hhMyouc28gc2hvdWxkIGxpa2VseSBiZSBvbiAke1BOfS1jcnlwdC4KKyMgICAgICAgIE9uY2UgeW91IGhhdmUgZGVsZXRlZCBmcm9tIHRoZSBvdGhlcnMgeW91IG5lZWQgdG8gcnVuIHRoZSBjcmVhdGVfbWFuaWZlc3QgdGFzayBhZ2FpbiwKKyMgICAgICAgIHRoaXMgd2lsbCBwb3B1bGF0ZSB0aGUgb3RoZXIgbW9kdWxlJ3MgcmRlcGVuZHMgZmllbGRzLCB3aXRoICR7UE59LWNyeXB0IGFuZCB5b3Ugc2hvdWxkIGJlCisjICAgICAgICBnb29kIHRvIGdvLgorIworIyAgICAgYikgVGhlIG5hdGl2ZSBwYWNrYWdlIHdhc24ndCBidWlsdCBjb3JyZWN0bHkgYW5kIGl0cyBtaXNzaW5nIGEgY2VydGFpbiBtb2R1bGU6CisjICAgICAgICBBcyBtZW50aW9uZWQgYmVmb3JlLCB5b3UgbmVlZCB0byBtYWtlIHN1cmUgdGhlIG5hdGl2ZSBwYWNrYWdlIHdhcyBidWlsdCB3aXRoIGFsbCB0aGUgbW9kdWxlcworIyAgICAgICAgYmVjYXVzZSBpdCBpcyB1c2VkIGFzIGJhc2UgdG8gYnVpbGQgdGhlIG1hbmlmZXN0IGZpbGUsIHlvdSBuZWVkIHRvIG1hbnVhbGx5IGNoZWNrIGxvZy5kb19jb21waWxlCisjICAgICAgICBzaW5jZSBpdCB3b24ndCBlcnJvciBvdXQgdGhlIGNvbXBpbGUgZnVuY3Rpb24gaWYgaXRzIG9ubHkgbWlzc2luZyBhIGNvdXBsZSBvZiBtb2R1bGVzLgorIworIyAgICAgICAgZS5nLiBtaXNzaW5nIHRoZSBfdXVpZCBtb2R1bGUsIGxvZy5kb19jb21waWxlIHdvdWxkIHNob3cgdGhlIGZvbGxvd2luZzoKKyMgICAgICAgIFB5dGhvbiBidWlsZCBmaW5pc2hlZCBzdWNjZXNzZnVsbHkhCisjICAgICAgICBUaGUgbmVjZXNzYXJ5IGJpdHMgdG8gYnVpbGQgdGhlc2Ugb3B0aW9uYWwgbW9kdWxlcyB3ZXJlIG5vdCBmb3VuZDoKKyMgICAgICAgIF91dWlkCisjCisjICAgICAgICBXaGF0IHdpbGwgaGFwcGVuIGhlcmUgaXMgdGhhdCB0aGUgbmV3IG1hbmlmZXN0IHdvdWxkIG5vdCBiZSBhd2FyZSB0aGF0IHRoZSBfdXVpZCBtb2R1bGUgZXhpc3RzLCBzbworIyAgICAgICAgbm90IG9ubHkgd2Ugd29uJ3Qga25vdyBvZiBhbnkgZGVwZW5kZW5jaWVzIHRvIGl0LCBidXQgYWxzbywgdGhlIF91dWlkKiBmaWxlcyB3aWxsIGJlIHBhY2thZ2VkIG9uCisjICAgICAgICB0aGUgbWlzYyBwYWNrYWdlICh3aGljaCBpcyB3aGVyZSBhbnkgZmlsZSB0aGF0IGRvZXNuJ3QgYmVsb25nIGFueXdoZXJlIGVsc2UgZW5kcyB1cCkuCisjCisjICAgICAgICBUaGlzIHdpbGwgZXZlbnR1YWxseSBjYXVzZSBydW50aW1lIGVycm9ycyBvbiBvdXIgc3lzdGVtIGlmIHdlIGRvbid0IGluY2x1ZGUgdGhlIG1pc2MgcGFja2FnZSBvbgorIyAgICAgICAgb24gb3VyIGltYWdlLCBiZWNhdXNlIHRoZSBfdXVpZCBmaWxlcyB3aWxsIGJlIG1pc3NpbmcuCisjICAgICAgICBJZiB3ZSBidWlsZCB0aGUgX3V1aWQgbW9kdWxlIGNvcnJlY3RseSBhbmQgcnVuIHRoZSBjcmVhdGVfbWFuaWZlc3QgdGFzayB0aGUgX3V1aWQgZmlsZXMgd2lsbCBiZQorIyAgICAgICAgZGV0ZWN0ZWQgY29ycmVjdGx5IGFsb25nIHdpdGggaXRzIGRlcGVuZGVuY2llcywgYW5kIHdlIHdpbGwgZ2V0IGEgd29ya2luZyBtYW5pZmVzdC4KKyMKKyMgICAgICAgIFRoaXMgaXMgdGhlIHJlYXNvbiB3aHkgaXQgaXMgaW1wb3J0YW50IHRvIG1ha2Ugc3VyZSB3ZSBoYXZlIGEgZnVsbHkgd29ya2luZyBuYXRpdmUgYnVpbGQsCisjICAgICAgICBzbyB3ZSBjYW4gYXZvaWQgdGhlc2UgZXJyb3JzLgorIworIworIworIyBETyBOT1QgTU9ESUZZIFRIRSBORVhUIExJTkUhLCBJVCBJUyBVU0VEIEFTIEEgTUFSS0VSIEZPUiBUSEUgQUNUVUFMIEpTT04gTUFOSUZFU1QKKyMgRU9DCiB7CiAgICAgInRlc3RzIjogewogICAgICAgICAic3VtbWFyeSI6ICJQeXRob24gdGVzdCBzdWl0ZSIsCkBAIC0xOSw3ICsxMDksNyBAQAogICAgICAgICAgICAgImNvcmUiCiAgICAgICAgIF0sCiAgICAgICAgICJmaWxlcyI6IFsKLSAgICAgICAgICAgICIke2JpbmRpcn0vMnRvMy0qIiwKKyAgICAgICAgICAgICIke2JpbmRpcn0vMnRvMyoiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2xpYjJ0bzMiCiAgICAgICAgIF0sCiAgICAgICAgICJjYWNoZWQiOiBbXQpAQCAtMjcsMjQgKzExNywxOCBAQAogICAgICJhc3luY2lvIjogewogICAgICAgICAic3VtbWFyeSI6ICJQeXRob24gQXN5bmNocm9ub3VzIEkvIiwKICAgICAgICAgInJkZXBlbmRzIjogWwotICAgICAgICAgICAgImNvbXByZXNzaW9uIiwKICAgICAgICAgICAgICJjb3JlIiwKLSAgICAgICAgICAgICJjcnlwdCIsCiAgICAgICAgICAgICAiaW8iLAogICAgICAgICAgICAgImxvZ2dpbmciLAotICAgICAgICAgICAgIm1hdGgiLAotICAgICAgICAgICAgIm11bHRpcHJvY2Vzc2luZyIsCiAgICAgICAgICAgICAibmV0Y2xpZW50IiwKLSAgICAgICAgICAgICJwaWNrbGUiLAotICAgICAgICAgICAgInNoZWxsIiwKLSAgICAgICAgICAgICJzdHJpbmdvbGQiLAotICAgICAgICAgICAgInRocmVhZGluZyIsCi0gICAgICAgICAgICAidW5peGFkbWluIgorICAgICAgICAgICAgIm51bWJlcnMiLAorICAgICAgICAgICAgInN0cmluZ29sZCIKICAgICAgICAgXSwKICAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2FzeW5jaW8iLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2NvbmN1cnJlbnQiLAotICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2NvbmN1cnJlbnQvZnV0dXJlcyIKKyAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9jb25jdXJyZW50L2Z1dHVyZXMiLAorICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2xpYi1keW5sb2FkL19hc3luY2lvLiouc28iCiAgICAgICAgIF0sCiAgICAgICAgICJjYWNoZWQiOiBbXQogICAgIH0sCkBAIC04NCwxOSArMTY4LDcgQEAKICAgICAiY29tcGlsZSI6IHsKICAgICAgICAgInN1bW1hcnkiOiAiUHl0aG9uIGJ5dGVjb2RlIGNvbXBpbGF0aW9uIHN1cHBvcnQiLAogICAgICAgICAicmRlcGVuZHMiOiBbCi0gICAgICAgICAgICAiYXN5bmNpbyIsCi0gICAgICAgICAgICAiY29tcHJlc3Npb24iLAotICAgICAgICAgICAgImNvcmUiLAotICAgICAgICAgICAgImNyeXB0IiwKLSAgICAgICAgICAgICJpbyIsCi0gICAgICAgICAgICAibG9nZ2luZyIsCi0gICAgICAgICAgICAibWF0aCIsCi0gICAgICAgICAgICAibXVsdGlwcm9jZXNzaW5nIiwKLSAgICAgICAgICAgICJwaWNrbGUiLAotICAgICAgICAgICAgInNoZWxsIiwKLSAgICAgICAgICAgICJzdHJpbmdvbGQiLAotICAgICAgICAgICAgInRocmVhZGluZyIsCi0gICAgICAgICAgICAidW5peGFkbWluIgorICAgICAgICAgICAgImNvcmUiCiAgICAgICAgIF0sCiAgICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9jb21waWxlYWxsLnB5IiwKQEAgLTE0MCw2ICsyMTIsNyBAQAogICAgICAgICAiZmlsZXMiOiBbCiAgICAgICAgICAgICAiJHtiaW5kaXJ9L3B5dGhvbipbIS1jb25maWddIiwKICAgICAgICAgICAgICIke2luY2x1ZGVkaXJ9L3B5dGhvbiR7UFlUSE9OX0JJTkFCSX0vcHljb25maWcqLmgiLAorICAgICAgICAgICAgIiR7cHJlZml4fS9saWIvcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9jb25maWcqLypbIS5hXSIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vVXNlckRpY3QucHkiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L1VzZXJMaXN0LnB5IiwKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9Vc2VyU3RyaW5nLnB5IiwKQEAgLTE0OSw3ICsyMjIsNyBAQAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L19jb2xsZWN0aW9uc19hYmMucHkiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L19tYXJrdXBiYXNlLnB5IiwKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9fc2l0ZWJ1aWx0aW5zLnB5IiwKLSAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9fc3lzY29uZmlnZGF0YS5weSIsCisgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vX3N5c2NvbmZpZ2RhdGEqLnB5IiwKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9fd2Vha3JlZnNldC5weSIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vYWJjLnB5IiwKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9hcmdwYXJzZS5weSIsCkBAIC0zMjMsOSArMzk2LDEzIEBACiAgICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9jcnlwdC5weSIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vaGFzaGxpYi5weSIsCisgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vbGliLWR5bmxvYWQvX2JsYWtlMi4qLnNvIiwKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9saWItZHlubG9hZC9fY3J5cHQuKi5zbyIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vbGliLWR5bmxvYWQvX2hhc2hsaWIuKi5zbyIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vbGliLWR5bmxvYWQvX3NoYTI1Ni4qLnNvIiwKKyAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9saWItZHlubG9hZC9fc2hhMy4qLnNvIiwKKyAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9saWItZHlubG9hZC9fc2hhMS4qLnNvIiwKKyAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9saWItZHlubG9hZC9fbWQ1Liouc28iLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2xpYi1keW5sb2FkL19zaGE1MTIuKi5zbyIKICAgICAgICAgXSwKICAgICAgICAgImNhY2hlZCI6IFsKQEAgLTQxNSw5ICs0OTIsNyBAQAogICAgICAgICAgICAgIiR7bGliZGlyfS8qLmxhIiwKICAgICAgICAgICAgICIke2xpYmRpcn0vKi5vIiwKICAgICAgICAgICAgICIke2xpYmRpcn0vbGliKiR7U09MSUJTREVWfSIsCi0gICAgICAgICAgICAiJHtsaWJkaXJ9L3BrZ2NvbmZpZyIsCi0gICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vY29uZmlnKi9NYWtlZmlsZSIsCi0gICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vY29uZmlnKi9NYWtlZmlsZS9fX3B5Y2FjaGVfXyIKKyAgICAgICAgICAgICIke2xpYmRpcn0vcGtnY29uZmlnIgogICAgICAgICBdLAogICAgICAgICAicmRlcGVuZHMiOiBbCiAgICAgICAgICAgICAiY29yZSIKQEAgLTczMCw3ICs4MDUsOSBAQAogICAgICJtdWx0aXByb2Nlc3NpbmciOiB7CiAgICAgICAgICJzdW1tYXJ5IjogIlB5dGhvbiBtdWx0aXByb2Nlc3Npbmcgc3VwcG9ydCIsCiAgICAgICAgICJyZGVwZW5kcyI6IFsKLSAgICAgICAgICAgICJjb3JlIgorICAgICAgICAgICAgImNvcmUiLAorICAgICAgICAgICAgImlvIiwKKyAgICAgICAgICAgICJwaWNrbGUiCiAgICAgICAgIF0sCiAgICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9saWItZHlubG9hZC9fbXVsdGlwcm9jZXNzaW5nLiouc28iLApAQCAtNzQxLDE4ICs4MTgsMTQgQEAKICAgICAibmV0Y2xpZW50IjogewogICAgICAgICAic3VtbWFyeSI6ICJQeXRob24gSW50ZXJuZXQgUHJvdG9jb2wgY2xpZW50cyIsCiAgICAgICAgICJyZGVwZW5kcyI6IFsKLSAgICAgICAgICAgICJjb21wcmVzc2lvbiIsCiAgICAgICAgICAgICAiY29yZSIsCiAgICAgICAgICAgICAiY3J5cHQiLAotICAgICAgICAgICAgImN0eXBlcyIsCiAgICAgICAgICAgICAiZGF0ZXRpbWUiLAogICAgICAgICAgICAgImVtYWlsIiwKICAgICAgICAgICAgICJpbyIsCiAgICAgICAgICAgICAibWF0aCIsCiAgICAgICAgICAgICAibWltZSIsCi0gICAgICAgICAgICAic2hlbGwiLAotICAgICAgICAgICAgInN0cmluZ29sZCIsCi0gICAgICAgICAgICAidW5peGFkbWluIgorICAgICAgICAgICAgInN0cmluZ29sZCIKICAgICAgICAgXSwKICAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2Jhc2U2NC5weSIsCkBAIC03NjAsNiArODMzLDcgQEAKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9obWFjLnB5IiwKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9odHRwIiwKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9odHRwL19fcHljYWNoZV9fIiwKKyAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9saWItZHlubG9hZC9fdXVpZC4qLnNvIiwKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9taW1ldHlwZXMucHkiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L25udHBsaWIucHkiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L3BvcGxpYi5weSIsCkBAIC04MTQsMTMgKzg4OCwxNiBAQAogICAgICAgICBdLAogICAgICAgICAiZmlsZXMiOiBbCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vX3B5ZGVjaW1hbC5weSIsCisgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vY29udGV4dHZhcnMucHkiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2RlY2ltYWwucHkiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2ZyYWN0aW9ucy5weSIsCisgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vbGliLWR5bmxvYWQvX2NvbnRleHR2YXJzLiouc28iLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2xpYi1keW5sb2FkL19kZWNpbWFsLiouc28iLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L251bWJlcnMucHkiCiAgICAgICAgIF0sCiAgICAgICAgICJjYWNoZWQiOiBbCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vX19weWNhY2hlX18vX3B5ZGVjaW1hbC4qLnB5YyIsCisgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vX19weWNhY2hlX18vY29udGV4dHZhcnMuKi5weWMiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L19fcHljYWNoZV9fL2RlY2ltYWwuKi5weWMiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L19fcHljYWNoZV9fL2ZyYWN0aW9ucy4qLnB5YyIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vX19weWNhY2hlX18vbnVtYmVycy4qLnB5YyIKQEAgLTEwNDQsMTMgKzExMjEsMTIgQEAKICAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L19kdW1teV90aHJlYWQucHkiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L190aHJlYWRpbmdfbG9jYWwucHkiLAotICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2R1bW15X3RocmVhZGluZy5weSIsCisgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vbGliLWR5bmxvYWQvX3F1ZXVlLiouc28iLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L3F1ZXVlLnB5IgogICAgICAgICBdLAogICAgICAgICAiY2FjaGVkIjogWwogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L19fcHljYWNoZV9fL19kdW1teV90aHJlYWQuKi5weWMiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L19fcHljYWNoZV9fL190aHJlYWRpbmdfbG9jYWwuKi5weWMiLAotICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L19fcHljYWNoZV9fL2R1bW15X3RocmVhZGluZy4qLnB5YyIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vX19weWNhY2hlX18vcXVldWUuKi5weWMiCiAgICAgICAgIF0KICAgICB9LApAQCAtMTA2MCw2ICsxMTM2LDcgQEAKICAgICAgICAgICAgICJjb3JlIgogICAgICAgICBdLAogICAgICAgICAiZmlsZXMiOiBbCisgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vbGliLWR5bmxvYWQvX3RraW50ZXIuKi5zbyIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vdGtpbnRlciIKICAgICAgICAgXSwKICAgICAgICAgImNhY2hlZCI6IFtdCkBAIC0xMTE5LDggKzExOTYsOCBAQAogICAgICAgICAgICAgInVuaXhhZG1pbiIKICAgICAgICAgXSwKICAgICAgICAgImZpbGVzIjogWwotICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L3ZlbnYiLAotICAgICAgICAgICAgIiR7YmluZGlyfS9weXZlbnYqIgorICAgICAgICAgICAgIiR7YmluZGlyfS9weXZlbnYqIiwKKyAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS92ZW52IgogICAgICAgICBdLAogICAgICAgICAiY2FjaGVkIjogW10KICAgICB9LApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvcHl0aG9uMy11c2UtQ1JPU1NQWVRIT05QQVRILWZvci1QWVRIT05fRk9SX0JVSUxELnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvcHl0aG9uMy11c2UtQ1JPU1NQWVRIT05QQVRILWZvci1QWVRIT05fRk9SX0JVSUxELnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNGY4YmQ0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3B5dGhvbjMtdXNlLUNST1NTUFlUSE9OUEFUSC1mb3ItUFlUSE9OX0ZPUl9CVUlMRC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLUZyb20gNTNlZDIxNmQ3YmY3MGRkMmE5MjU0MzJiNjgwNWE3MDFlNWZjM2UwZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBNb24sIDE3IE5vdiAyMDE0IDA2OjQ0OjQ3ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIHB5dGhvbjMgdXNlIENST1NTUFlUSE9OUEFUSCBmb3IgUFlUSE9OX0ZPUl9CVUlMRAotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW0Nyb3NzIGNvbXBpbGUgc3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBjb25maWd1cmUuYWMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLUluZGV4OiBQeXRob24tMy41LjQvY29uZmlndXJlLmFjCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gUHl0aG9uLTMuNS40Lm9yaWcvY29uZmlndXJlLmFjCi0rKysgUHl0aG9uLTMuNS40L2NvbmZpZ3VyZS5hYwotQEAgLTczLDcgKzczLDcgQEAgaWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgPSB5ZXM7IHRoZW4KLSAJICAgIEFDX01TR19FUlJPUihbcHl0aG9uJFBBQ0tBR0VfVkVSU0lPTiBpbnRlcnByZXRlciBub3QgZm91bmRdKQotIAlmaQotICAgICAgICAgQUNfTVNHX1JFU1VMVCgkaW50ZXJwKQotLQlQWVRIT05fRk9SX0JVSUxEPSdfUFlUSE9OX1BST0pFQ1RfQkFTRT0kKGFic19idWlsZGRpcikgX1BZVEhPTl9IT1NUX1BMQVRGT1JNPSQoX1BZVEhPTl9IT1NUX1BMQVRGT1JNKSBQWVRIT05QQVRIPSQoc2hlbGwgdGVzdCAtZiBweWJ1aWxkZGlyLnR4dCAmJiBlY2hvICQoYWJzX2J1aWxkZGlyKS9gY2F0IHB5YnVpbGRkaXIudHh0YDopJChzcmNkaXIpL0xpYjokKHNyY2RpcikvTGliLyQoUExBVERJUikgJyRpbnRlcnAKLSsJUFlUSE9OX0ZPUl9CVUlMRD0nX1BZVEhPTl9QUk9KRUNUX0JBU0U9JChhYnNfYnVpbGRkaXIpIF9QWVRIT05fSE9TVF9QTEFURk9STT0kKF9QWVRIT05fSE9TVF9QTEFURk9STSkgUFlUSE9OUEFUSD0kKENST1NTUFlUSE9OUEFUSCkgJyRpbnRlcnAKLSAgICAgZmkKLSBlbGlmIHRlc3QgIiRjcm9zc19jb21waWxpbmciID0gbWF5YmU7IHRoZW4KLSAgICAgQUNfTVNHX0VSUk9SKFtDcm9zcyBjb21waWxpbmcgcmVxdWlyZWQgLS1ob3N0PUhPU1QtVFVQTEUgYW5kIC0tYnVpbGQ9QVJDSF0pCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9yZWdlbi1hbGwucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9yZWdlbi1hbGwucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM2YjlkOWQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvcmVnZW4tYWxsLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotcHl0aG9uMy1uYXRpdmU6IHJ1biByZWdlbi1pbXBvcnRsaWIgdGFyZ2V0IGNvcnJlY3RseQotCi1yZWdlbi1pbXBvcnRsaWIgZGVwZW5kcyBvbiBvdGhlciByZWdlbi0gdGFyZ2V0cywgc28gd2UgbXVzdCBiZSBzdXJlIHRvCi1ydW4gaXQgYWZ0ZXIgKG1vc3Qgb2YpIHRoZSBvdGhlcnMuICBJbiByZWFsaXR5LCB3ZSBkbyBub3QgbmVlZCB0byBydW4gaXQKLWF0IGFsbCBzaW5jZSAibWFrZSIgd2lsbCBpbnZva2UgaXQsIGlmIG5lY2Vzc2FyeS4gIFdlIGRvIG5vdCB3YW50IHRvCi1yZWx5IG9uIHRoYXQsIHRob3VnaC4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEpvZSBTbGF0ZXIgPGpvZS5zbGF0ZXJAd2luZHJpdmVyLmNvbT4KLQotCi0KLS0tLSBhL01ha2VmaWxlLnByZS5pbgotKysrIGIvTWFrZWZpbGUucHJlLmluCi1AQCAtNzA5LDcgKzcwOSw4IEBAIHJlZ2VuLWltcG9ydGxpYjogUHJvZ3JhbXMvX2ZyZWV6ZV9pbXBvcnQKLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0gIyBSZWdlbmVyYXRlIGFsbCBnZW5lcmF0ZWQgZmlsZXMKLSAKLS1yZWdlbi1hbGw6IHJlZ2VuLW9wY29kZSByZWdlbi1vcGNvZGUtdGFyZ2V0cyByZWdlbi10eXBlc2xvdHMgcmVnZW4tZ3JhbW1hciByZWdlbi1hc3QgcmVnZW4taW1wb3J0bGliCi0rcmVnZW4tYWxsOiByZWdlbi1vcGNvZGUgcmVnZW4tb3Bjb2RlLXRhcmdldHMgcmVnZW4tdHlwZXNsb3RzIHJlZ2VuLWdyYW1tYXIgcmVnZW4tYXN0Ci0rCSQoTUFLRSkgcmVnZW4taW1wb3J0bGliCi0gCi0gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotICMgU3BlY2lhbCBydWxlcyBmb3Igb2JqZWN0IGZpbGVzCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9ydW4tcHRlc3QgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9ydW4tcHRlc3QKaW5kZXggMzg2M2M2ZC4uMjBjOTI3NCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvcnVuLXB0ZXN0CisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3J1bi1wdGVzdApAQCAtMSwzICsxLDMgQEAKICMhL2Jpbi9zaAogCi1weXRob24zIC1tIHRlc3QgLXYgfCBzZWQgLWUgJy9cLlwuXC4gb2svIHMvXi9QQVNTOiAvZycgLWUgJy9cLlwuXC4gW0VSUk9SfEZBSUxdLyBzL14vRkFJTDogL2cnIC1lICcvXC5cLlwuIHNraXBwZWQvIHMvXi9TS0lQOiAvZycgLWUgJ3MvIFwuXC5cLiBvay8vZycgLWUgJ3MvIFwuXC5cLiBFUlJPUi8vZycgLWUgJ3MvIFwuXC5cLiBGQUlMLy9nJyAtZSAncy8gXC5cLlwuIHNraXBwZWQvL2cnCitweXRob24zIC1tIHRlc3QgLVcgfCBzZWQgLWUgJy9cLlwuXC4gb2svIHMvXi9QQVNTOiAvZycgLWUgJy9cLlwuXC4gW0VSUk9SfEZBSUxdLyBzL14vRkFJTDogL2cnIC1lICcvXC5cLlwuIHNraXBwZWQvIHMvXi9TS0lQOiAvZycgLWUgJ3MvIFwuXC5cLiBvay8vZycgLWUgJ3MvIFwuXC5cLiBFUlJPUi8vZycgLWUgJ3MvIFwuXC5cLiBGQUlMLy9nJyAtZSAncy8gXC5cLlwuIHNraXBwZWQvL2cnCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zZXR1cC5weS1jaGVjay1jcm9zc19jb21waWxpbmctd2hlbi1nZXQtRkxBR1MucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zZXR1cC5weS1jaGVjay1jcm9zc19jb21waWxpbmctd2hlbi1nZXQtRkxBR1MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZjMmUxMmQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvc2V0dXAucHktY2hlY2stY3Jvc3NfY29tcGlsaW5nLXdoZW4tZ2V0LUZMQUdTLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotRnJvbSA4ZGFkODEwZjNhM2QwNzNmMDlhZDcyZTFhM2VlMGE4OTVlYWIyY2ExIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBTdW4sIDE4IEphbiAyMDE1IDE5OjA1OjM2IC0wODAwCi1TdWJqZWN0OiBbUEFUQ0hdIHNldHVwLnB5OmNoZWNrIGNyb3NzX2NvbXBpbGluZyB3aGVuIGdldCBGTEFHUwotCi1GaXhlZCB3aGVuIGNvbXBpbGUgdGFyZ2V0IHB5dGhub24zOgotZ2NjIC1pc3lzdGVtL3BhdGgvdG8vc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9pbmNsdWRlIFwKLSAgICAtTD0vcGF0aC90by9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYgotCi1UaGlzIGlzIGluY29ycmVjdCwgdGhlIG5hdGl2ZSBzeXNyb290IHNob3VsZCBub3QgYmUgdXNlZCBieSB0YXJnZXQKLXB5dGhvbjMuCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KLS0tLQotIHNldHVwLnB5IHwgICAxMCArKysrKysrKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NldHVwLnB5IGIvc2V0dXAucHkKLWluZGV4IGU4MzM5Y2QuLjgzZmQzMWYgMTAwNjQ0Ci0tLS0gYS9zZXR1cC5weQotKysrIGIvc2V0dXAucHkKLUBAIC0yMzgsNyArMjM4LDEwIEBAIGNsYXNzIFB5QnVpbGRFeHQoYnVpbGRfZXh0KToKLSAgICAgICAgICMgdW5mb3J0dW5hdGVseSwgZGlzdHV0aWxzIGRvZXNuJ3QgbGV0IHVzIHByb3ZpZGUgc2VwYXJhdGUgQyBhbmQgQysrCi0gICAgICAgICAjIGNvbXBpbGVycwotICAgICAgICAgaWYgY29tcGlsZXIgaXMgbm90IE5vbmU6Ci0tICAgICAgICAgICAgKGNjc2hhcmVkLGNmbGFncykgPSBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXJzKCdDQ1NIQVJFRCcsJ0NGTEFHUycpCi0rICAgICAgICAgICAgaWYgY3Jvc3NfY29tcGlsaW5nOgotKyAgICAgICAgICAgICAgICAoY2NzaGFyZWQsY2ZsYWdzKSA9IChvcy5lbnZpcm9uLmdldCgnQ0NTSEFSRUQnKSBvciAnJywgb3MuZW52aXJvbi5nZXQoJ0NGTEFHUycpIG9yICcnKQotKyAgICAgICAgICAgIGVsc2U6Ci0rICAgICAgICAgICAgICAgIChjY3NoYXJlZCxjZmxhZ3MpID0gc3lzY29uZmlnLmdldF9jb25maWdfdmFycygnQ0NTSEFSRUQnLCdDRkxBR1MnKQotICAgICAgICAgICAgIGFyZ3NbJ2NvbXBpbGVyX3NvJ10gPSBjb21waWxlciArICcgJyArIGNjc2hhcmVkICsgJyAnICsgY2ZsYWdzCi0gICAgICAgICBzZWxmLmNvbXBpbGVyLnNldF9leGVjdXRhYmxlcygqKmFyZ3MpCi0gCi1AQCAtNDU3LDcgKzQ2MCwxMCBAQCBjbGFzcyBQeUJ1aWxkRXh0KGJ1aWxkX2V4dCk6Ci0gICAgICAgICAgICAgICAgICgnTERGTEFHUycsICctUicsIHNlbGYuY29tcGlsZXIucnVudGltZV9saWJyYXJ5X2RpcnMpLAotICAgICAgICAgICAgICAgICAoJ0xERkxBR1MnLCAnLUwnLCBzZWxmLmNvbXBpbGVyLmxpYnJhcnlfZGlycyksCi0gICAgICAgICAgICAgICAgICgnQ1BQRkxBR1MnLCAnLUknLCBzZWxmLmNvbXBpbGVyLmluY2x1ZGVfZGlycykpOgotLSAgICAgICAgICAgIGVudl92YWwgPSBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoZW52X3ZhcikKLSsgICAgICAgICAgICBpZiBjcm9zc19jb21waWxpbmc6Ci0rICAgICAgICAgICAgICAgIGVudl92YWwgPSBvcy5lbnZpcm9uLmdldChlbnZfdmFyKQotKyAgICAgICAgICAgIGVsc2U6Ci0rICAgICAgICAgICAgICAgIGVudl92YWwgPSBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoZW52X3ZhcikKLSAgICAgICAgICAgICBpZiBlbnZfdmFsOgotICAgICAgICAgICAgICAgICAjIFRvIHByZXZlbnQgb3B0cGFyc2UgZnJvbSByYWlzaW5nIGFuIGV4Y2VwdGlvbiBhYm91dCBhbnkKLSAgICAgICAgICAgICAgICAgIyBvcHRpb25zIGluIGVudl92YWwgdGhhdCBpdCBkb2Vzbid0IGtub3cgYWJvdXQgd2Ugc3RyaXAgb3V0Ci0tLSAKLTEuNy45LjUKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvc2V0dXB0d2Vha3MucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zZXR1cHR3ZWFrcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2E5MWIxOS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zZXR1cHR3ZWFrcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU3ICswLDAgQEAKLVRoaXMgcGF0Y2ggcmVtb3ZlcyB2YXJpb3VzIHdheXMgbmF0aXZlIHN5c3RlbSBvcHRpb25zIGNhbiBwYXNzIGludG8gdGhlIHB5dGhvbiAKLWNvbXBpbGF0aW9uIGFuZCBzb21laG93IGJyZWFrIEMgbW9kdWxlcy4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBTcGVjaWZpY10KLQotUlAgMjAxMi8wNC8yMwotCi1JbmRleDogUHl0aG9uLTIuNy4yL3NldHVwLnB5Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gUHl0aG9uLTIuNy4yLm9yaWcvc2V0dXAucHkJMjAxMi0wNC0yMyAyMDowMzo0Ny4yOTU1ODI1NTMgKzAwMDAKLSsrKyBQeXRob24tMi43LjIvc2V0dXAucHkJMjAxMi0wNC0yMyAyMDowMzoxNS4wMDAwMDAwMDAgKzAwMDAKLUBAIC0yMzEsNyArMjMxLDEzIEBACi0gICAgICAgICAjIGNvbXBpbGVycwotICAgICAgICAgaWYgY29tcGlsZXIgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgKGNjc2hhcmVkLGNmbGFncykgPSBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXJzKCdDQ1NIQVJFRCcsJ0NGTEFHUycpCi0tICAgICAgICAgICAgYXJnc1snY29tcGlsZXJfc28nXSA9IGNvbXBpbGVyICsgJyAnICsgY2NzaGFyZWQgKyAnICcgKyBjZmxhZ3MKLSsgICAgICAgICAgICAjIE5lZWQgdG8gZmlsdGVyIG91dCAtaXN5c3Jvb3QgZnJvbSB0aGUgZmxhZ3MuIElkZWFsbHkgc2hvdWxkIAotKyAgICAgICAgICAgICMgZmlndXJlIG91dCB0YXJnZXQgZmxhZ3MgaGVyZS4KLSsgICAgICAgICAgICBmbGFncyA9IFtdCi0rICAgICAgICAgICAgZm9yIGYgaW4gY2ZsYWdzLnNwbGl0KCk6Ci0rICAgICAgICAgICAgICAgIGlmIG5vdCBmLnN0YXJ0c3dpdGgoIi1pc3lzdGVtIik6Ci0rICAgICAgICAgICAgICAgICAgICBmbGFncy5hcHBlbmQoZikKLSsgICAgICAgICAgICBhcmdzWydjb21waWxlcl9zbyddID0gY29tcGlsZXIgKyAnICcgKyBjY3NoYXJlZCArICcgJyArICcgJy5qb2luKGZsYWdzKQotICAgICAgICAgc2VsZi5jb21waWxlci5zZXRfZXhlY3V0YWJsZXMoKiphcmdzKQotIAotICAgICAgICAgYnVpbGRfZXh0LmJ1aWxkX2V4dGVuc2lvbnMoc2VsZikKLUBAIC0zOTMsNyArMzk5LDYgQEAKLSAgICAgICAgICMgaW50byBjb25maWd1cmUgYW5kIHN0b3JlZCBpbiB0aGUgTWFrZWZpbGUgKGlzc3VlIGZvdW5kIG9uIE9TIFggMTAuMykuCi0gICAgICAgICBmb3IgZW52X3ZhciwgYXJnX25hbWUsIGRpcl9saXN0IGluICgKLSAgICAgICAgICAgICAgICAgKCdMREZMQUdTJywgJy1SJywgc2VsZi5jb21waWxlci5ydW50aW1lX2xpYnJhcnlfZGlycyksCi0tICAgICAgICAgICAgICAgICgnTERGTEFHUycsICctTCcsIHNlbGYuY29tcGlsZXIubGlicmFyeV9kaXJzKSwKLSAgICAgICAgICAgICAgICAgKCdDUFBGTEFHUycsICctSScsIHNlbGYuY29tcGlsZXIuaW5jbHVkZV9kaXJzKSk6Ci0gICAgICAgICAgICAgZW52X3ZhbCA9IHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcihlbnZfdmFyKQotICAgICAgICAgICAgIGlmIGVudl92YWw6Ci1AQCAtNDE5LDE2ICs0MjQsMTYgQEAKLSAgICAgICAgICAgICAgICAgICAgIGZvciBkaXJlY3RvcnkgaW4gcmV2ZXJzZWQob3B0aW9ucy5kaXJzKToKLSAgICAgICAgICAgICAgICAgICAgICAgICBhZGRfZGlyX3RvX2xpc3QoZGlyX2xpc3QsIGRpcmVjdG9yeSkKLSAKLS0gICAgICAgIGlmIG9zLnBhdGgubm9ybXBhdGgoc3lzLnByZWZpeCkgIT0gJy91c3InIFwKLS0gICAgICAgICAgICAgICAgYW5kIG5vdCBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoJ1BZVEhPTkZSQU1FV09SSycpOgotKyMgICAgICAgIGlmIG9zLnBhdGgubm9ybXBhdGgoc3lzLnByZWZpeCkgIT0gJy91c3InIFwKLSsjICAgICAgICAgICAgICAgIGFuZCBub3Qgc3lzY29uZmlnLmdldF9jb25maWdfdmFyKCdQWVRIT05GUkFNRVdPUksnKToKLSAgICAgICAgICAgICAjIE9TWCBub3RlOiBEb24ndCBhZGQgTElCRElSIGFuZCBJTkNMVURFRElSIHRvIGJ1aWxkaW5nIGEgZnJhbWV3b3JrCi0gICAgICAgICAgICAgIyAoUFlUSE9ORlJBTUVXT1JLIGlzIHNldCkgdG8gYXZvaWQgIyBsaW5raW5nIHByb2JsZW1zIHdoZW4KLSAgICAgICAgICAgICAjIGJ1aWxkaW5nIGEgZnJhbWV3b3JrIHdpdGggZGlmZmVyZW50IGFyY2hpdGVjdHVyZXMgdGhhbgotICAgICAgICAgICAgICMgdGhlIG9uZSB0aGF0IGlzIGN1cnJlbnRseSBpbnN0YWxsZWQgKGlzc3VlICM3NDczKQotLSAgICAgICAgICAgIGFkZF9kaXJfdG9fbGlzdChzZWxmLmNvbXBpbGVyLmxpYnJhcnlfZGlycywKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzY29uZmlnLmdldF9jb25maWdfdmFyKCJMSUJESVIiKSkKLS0gICAgICAgICAgICBhZGRfZGlyX3RvX2xpc3Qoc2VsZi5jb21waWxlci5pbmNsdWRlX2RpcnMsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcigiSU5DTFVERURJUiIpKQotKyMgICAgICAgICAgICBhZGRfZGlyX3RvX2xpc3Qoc2VsZi5jb21waWxlci5saWJyYXJ5X2RpcnMsCi0rIyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoIkxJQkRJUiIpKQotKyMgICAgICAgICAgICBhZGRfZGlyX3RvX2xpc3Qoc2VsZi5jb21waWxlci5pbmNsdWRlX2RpcnMsCi0rIyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoIklOQ0xVREVESVIiKSkKLSAKLSAgICAgICAgIHRyeToKLSAgICAgICAgICAgICBoYXZlX3VuaWNvZGUgPSB1bmljb2RlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zaWduYWwucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zaWduYWwucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUzNGEwOTcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvc2lnbmFsLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTYgKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotRnJvbSA0MzE1Mzg5ZGYzYzRlOGMxZjk0YTE4YWIxMWE0YjIzNDc2MjEzMmIxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQW50b2luZSBQaXRyb3UgPHBpdHJvdUBmcmVlLmZyPgotRGF0ZTogTW9uLCAyMyBBcHIgMjAxOCAyMjoyMjo0OSArMDIwMAotU3ViamVjdDogW1BBVENIXSBbMy42XSBicG8tMzMzMjk6IEZpeCBtdWx0aXByb2Nlc3NpbmcgcmVncmVzc2lvbiBvbiBuZXdlcgotIGdsaWJjcyAoR0gtNjU3NSkgKEdILTY1ODIpCi0KLVN0YXJ0aW5nIHdpdGggZ2xpYmMgMi4yNy45MDAwLXh4eCwgc2lnYWRkc2V0KCkgY2FuIHJldHVybiBFSU5WQUwgZm9yIHNvbWUKLXJlc2VydmVkIHNpZ25hbCBudW1iZXJzIGJldHdlZW4gMSBhbmQgTlNJRy4gIFRoZSBgcmFuZ2UoMSwgTlNJRylgIGlkaW9tCi1pcyBjb21tb25seSB1c2VkIHRvIHNlbGVjdCBhbGwgc2lnbmFscyBmb3IgYmxvY2tpbmcgd2l0aCBgcHRocmVhZF9zaWdtYXNrYC4KLVNvIHdlIGlnbm9yZSB0aGUgc2lnYWRkc2V0KCkgcmV0dXJuIHZhbHVlIHVudGlsIHdlIGV4cG9zZSBzaWdmaWxsc2V0KCkKLXRvIHByb3ZpZGUgYSBiZXR0ZXIgaWRpb20uCi0oY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAyNTAzOGVjZmI2NjViZWY2NDFhYmY4Y2I2MWFmZmY3NTA1YjBlMDA4KQotLS0tCi0gLi4uL25leHQvTGlicmFyeS8yMDE4LTA0LTIzLTEzLTIxLTM5LmJwby0zMzMyOS5sUS1Fb2QucnN0ICB8ICAxICsKLSBNb2R1bGVzL3NpZ25hbG1vZHVsZS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTQgKysrKysrKystLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKLSBjcmVhdGUgbW9kZSAxMDA2NDQgTWlzYy9ORVdTLmQvbmV4dC9MaWJyYXJ5LzIwMTgtMDQtMjMtMTMtMjEtMzkuYnBvLTMzMzI5LmxRLUVvZC5yc3QKLQotZGlmZiAtLWdpdCBhL01vZHVsZXMvc2lnbmFsbW9kdWxlLmMgYi9Nb2R1bGVzL3NpZ25hbG1vZHVsZS5jCi1pbmRleCBlMGQwNmI0MzRkLi4xMzhlNzRlOGE5IDEwMDY0NAotLS0tIGEvTW9kdWxlcy9zaWduYWxtb2R1bGUuYwotKysrIGIvTW9kdWxlcy9zaWduYWxtb2R1bGUuYwotQEAgLTc0NCw3ICs3NDQsNiBAQCBpdGVyYWJsZV90b19zaWdzZXQoUHlPYmplY3QgKml0ZXJhYmxlLCBzaWdzZXRfdCAqbWFzaykKLSAgICAgaW50IHJlc3VsdCA9IC0xOwotICAgICBQeU9iamVjdCAqaXRlcmF0b3IsICppdGVtOwotICAgICBsb25nIHNpZ251bTsKLS0gICAgaW50IGVycjsKLSAKLSAgICAgc2lnZW1wdHlzZXQobWFzayk7Ci0gCi1AQCAtNzY2LDExICs3NjUsMTQgQEAgaXRlcmFibGVfdG9fc2lnc2V0KFB5T2JqZWN0ICppdGVyYWJsZSwgc2lnc2V0X3QgKm1hc2spCi0gICAgICAgICBQeV9ERUNSRUYoaXRlbSk7Ci0gICAgICAgICBpZiAoc2lnbnVtID09IC0xICYmIFB5RXJyX09jY3VycmVkKCkpCi0gICAgICAgICAgICAgZ290byBlcnJvcjsKLS0gICAgICAgIGlmICgwIDwgc2lnbnVtICYmIHNpZ251bSA8IE5TSUcpCi0tICAgICAgICAgICAgZXJyID0gc2lnYWRkc2V0KG1hc2ssIChpbnQpc2lnbnVtKTsKLS0gICAgICAgIGVsc2UKLS0gICAgICAgICAgICBlcnIgPSAxOwotLSAgICAgICAgaWYgKGVycikgewotKyAgICAgICAgaWYgKDAgPCBzaWdudW0gJiYgc2lnbnVtIDwgTlNJRykgewotKyAgICAgICAgICAgIC8qIGJwby0zMzMyOTogaWdub3JlIHNpZ2FkZHNldCgpIHJldHVybiB2YWx1ZSBhcyBpdCBjYW4gZmFpbAotKyAgICAgICAgICAgICAqIGZvciBzb21lIHJlc2VydmVkIHNpZ25hbHMsIGJ1dCB3ZSB3YW50IHRoZSBgcmFuZ2UoMSwgTlNJRylgCi0rICAgICAgICAgICAgICogaWRpb20gdG8gYWxsb3cgc2VsZWN0aW5nIGFsbCB2YWxpZCBzaWduYWxzLgotKyAgICAgICAgICAgICAqLwotKyAgICAgICAgICAgICh2b2lkKSBzaWdhZGRzZXQobWFzaywgKGludClzaWdudW0pOwotKyAgICAgICAgfQotKyAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJzaWduYWwgbnVtYmVyICVsZCBvdXQgb2YgcmFuZ2UiLCBzaWdudW0pOwotICAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zaXRlY3VzdG9taXplLnB5IGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvc2l0ZWN1c3RvbWl6ZS5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGM4YjVlMi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zaXRlY3VzdG9taXplLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotIyBPcGVuRW1iZWRkZWQgc2l0ZWN1c3RvbWl6ZS5weSAoQykgMjAwMi0yMDA4IE1pY2hhZWwgJ01pY2tleScgTGF1ZXIgPG1sYXVlckB2YW5pbGxlLW1lZGlhLmRlPgotIyBHUEx2MiBvciBsYXRlcgotIyBWZXJzaW9uOiAyMDA4MTEyMwotIyBGZWF0dXJlczoKLSMgKiBzZXQgcHJvcGVyIGRlZmF1bHQgZW5jb2RpbmcKLSMgKiBlbmFibGUgcmVhZGxpbmUgY29tcGxldGlvbiBpbiB0aGUgaW50ZXJhY3RpdmUgaW50ZXJwcmV0ZXIKLSMgKiBsb2FkIGNvbW1hbmQgbGluZSBoaXN0b3J5IG9uIHN0YXJ0dXAKLSMgKiBzYXZlIGNvbW1hbmQgbGluZSBoaXN0b3J5IG9uIGV4aXQgCi0KLWltcG9ydCBvcwotCi1kZWYgX19leGl0aGFuZGxlcigpOgotICAgIHRyeToKLSAgICAgICAgcmVhZGxpbmUud3JpdGVfaGlzdG9yeV9maWxlKCAiJXMvLnB5dGhvbi1oaXN0b3J5IiAlIG9zLmdldGVudiggIkhPTUUiLCAiL3RtcCIgKSApCi0gICAgZXhjZXB0IElPRXJyb3I6Ci0gICAgICAgIHBhc3MKLQotZGVmIF9fcmVnaXN0ZXJFeGl0SGFuZGxlcigpOgotICAgIGltcG9ydCBhdGV4aXQKLSAgICBhdGV4aXQucmVnaXN0ZXIoIF9fZXhpdGhhbmRsZXIgKQotCi1kZWYgX19lbmFibGVSZWFkbGluZVN1cHBvcnQoKToKLSAgICByZWFkbGluZS5zZXRfaGlzdG9yeV9sZW5ndGgoIDEwMDAgKQotICAgIHJlYWRsaW5lLnBhcnNlX2FuZF9iaW5kKCAidGFiOiBjb21wbGV0ZSIgKQotICAgIHRyeToKLSAgICAgICAgcmVhZGxpbmUucmVhZF9oaXN0b3J5X2ZpbGUoICIlcy8ucHl0aG9uLWhpc3RvcnkiICUgb3MuZ2V0ZW52KCAiSE9NRSIsICIvdG1wIiApICkKLSAgICBleGNlcHQgSU9FcnJvcjoKLSAgICAgICAgcGFzcwotCi1pbXBvcnQgc3lzCi10cnk6Ci0gICAgaW1wb3J0IHJsY29tcGxldGVyLCByZWFkbGluZQotZXhjZXB0IEltcG9ydEVycm9yOgotICAgIHBhc3MKLWVsc2U6Ci0gICAgX19yZWdpc3RlckV4aXRIYW5kbGVyKCkKLSAgICBfX2VuYWJsZVJlYWRsaW5lU3VwcG9ydCgpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zdXBwb3J0X1NPVVJDRV9EQVRFX0VQT0NIX2luX3B5X2NvbXBpbGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zdXBwb3J0X1NPVVJDRV9EQVRFX0VQT0NIX2luX3B5X2NvbXBpbGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMyZWNhYjkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvc3VwcG9ydF9TT1VSQ0VfREFURV9FUE9DSF9pbl9weV9jb21waWxlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTcgKzAsMCBAQAotVGhlIGNvbXBpbGVkIC5weWMgZmlsZXMgY29udGFpbiB0aW1lIHN0YW1wIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGNvbXBpbGUgdGltZS4KLVRoaXMgcHJldmVudHMgYmluYXJ5IHJlcHJvZHVjaWJpbGl0eS4gVGhpcyBwYXRjaCBhbGxvd3MgdG8gYWNoaWV2ZSBiaW5hcnkKLXJlcHJvZHVjaWJpbGl0eSBieSBvdmVycmlkaW5nIHRoZSBidWlsZCB0aW1lIHN0YW1wIGJ5IHRoZSB2YWx1ZSAKLWV4cG9ydGVkIHZpYSBTT1VSQ0VfREFURV9FUE9DSC4gCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotU2lnbmVkLW9mZi1ieTogSnVybyBCeXN0cmlja3kgPGp1cm8uYnlzdHJpY2t5QGludGVsLmNvbT4KLQotCi1Gcm9tIGFlYWI0ODg2MzBmZGIxYjU2YThkMGIwYzEzZmE4ODcwNmIyYWZlOWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiAiQmVybmhhcmQgTS4gV2llZGVtYW5uIiA8YndpZWRlbWFubkBzdXNlLmRlPgotRGF0ZTogU2F0LCAyNSBGZWIgMjAxNyAwNjo0MjoyOCArMDEwMAotU3ViamVjdDogW1BBVENIXSBicG8tMjk3MDg6IHN1cHBvcnQgU09VUkNFX0RBVEVfRVBPQ0ggZW52IHZhciBpbiBweV9jb21waWxlCi0KLXRvIGFsbG93IGZvciByZXByb2R1Y2libGUgYnVpbGRzIG9mIHB5dGhvbiBwYWNrYWdlcwotCi1TZWUgaHR0cHM6Ly9yZXByb2R1Y2libGUtYnVpbGRzLm9yZy8gZm9yIHdoeSB0aGlzIGlzIGdvb2QKLWFuZCBodHRwczovL3JlcHJvZHVjaWJsZS1idWlsZHMub3JnL3NwZWNzL3NvdXJjZS1kYXRlLWVwb2NoLwotZm9yIHRoZSBkZWZpbml0aW9uIG9mIHRoaXMgdmFyaWFibGUuCi0KLUJhY2tncm91bmQ6Ci1JbiBzb21lIGRpc3RyaWJ1dGlvbnMgbGlrZSBvcGVuU1VTRSwgYmluYXJ5IHJwbXMgY29udGFpbiBwcmVjb21waWxlZCAucHljIGZpbGVzLgotCi1BbmQgcGFja2FnZXMgbGlrZSBhbXFwIG9yIHR3aXN0ZWQgZHluYW1pY2FsbHkgZ2VuZXJhdGUgLnB5IGZpbGVzIGF0IGJ1aWxkIHRpbWUKLXNvIHRob3NlIGhhdmUgdGhlIGN1cnJlbnQgdGltZSBhbmQgdGhhdCB0aW1lc3RhbXAgZ2V0cyBlbWJlZGRlZAotaW50byB0aGUgLnB5YyBmaWxlIGhlYWRlci4KLVdoZW4gd2UgdGhlbiBhZGFwdCBmaWxlIHRpbWVzdGFtcHMgaW4gcnBtcyB0byBiZSBjb25zdGFudCwKLXRoZSB0aW1lc3RhbXAgaW4gdGhlIC5weWMgaGVhZGVyIHdpbGwgbm8gbW9yZSBtYXRjaAotdGhlIC5weSB0aW1lc3RhbXAgaW4gdGhlIGZpbGVzeXN0ZW0uCi1UaGUgc29mdHdhcmUgd2lsbCBzdGlsbCB3b3JrLCBidXQgaXQgd2lsbCBub3QgdXNlIHRoZSAucHljIGZpbGUgYXMgaXQgc2hvdWxkLgotLS0tCi0gRG9jL2xpYnJhcnkvcHlfY29tcGlsZS5yc3QgIHwgIDQgKysrKwotIExpYi9weV9jb21waWxlLnB5ICAgICAgICAgICB8ICA0ICsrKysKLSBMaWIvdGVzdC90ZXN0X3B5X2NvbXBpbGUucHkgfCAxOSArKysrKysrKysrKysrKysrKysrCi0gMyBmaWxlcyBjaGFuZ2VkLCAyNyBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9weV9jb21waWxlLnJzdCBiL0RvYy9saWJyYXJ5L3B5X2NvbXBpbGUucnN0Ci1pbmRleCAwYWY4ZmIxLi44NDFmM2U4IDEwMDY0NAotLS0tIGEvRG9jL2xpYnJhcnkvcHlfY29tcGlsZS5yc3QKLSsrKyBiL0RvYy9saWJyYXJ5L3B5X2NvbXBpbGUucnN0Ci1AQCAtNTMsNiArNTMsMTAgQEAgYnl0ZS1jb2RlIGNhY2hlIGZpbGVzIGluIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgc291cmNlIGNvZGUuCi0gICAgOmZ1bmM6YGNvbXBpbGVgIGZ1bmN0aW9uLiAgVGhlIGRlZmF1bHQgb2YgYGAtMWBgIHNlbGVjdHMgdGhlIG9wdGltaXphdGlvbgotICAgIGxldmVsIG9mIHRoZSBjdXJyZW50IGludGVycHJldGVyLgotIAotKyAgIElmIHRoZSBTT1VSQ0VfREFURV9FUE9DSCBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBzZXQsIHRoZSAucHkgZmlsZSBtdGltZQotKyAgIGFuZCB0aW1lc3RhbXAgZW50cnkgaW4gLnB5YyBmaWxlIGhlYWRlciwgd2lsbCBiZSBsaW1pdGVkIHRvIHRoaXMgdmFsdWUuCi0rICAgU2VlIGh0dHBzOi8vcmVwcm9kdWNpYmxlLWJ1aWxkcy5vcmcvc3BlY3Mvc291cmNlLWRhdGUtZXBvY2gvIGZvciBtb3JlIGluZm8uCi0rCi0gICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjIKLSAgICAgICBDaGFuZ2VkIGRlZmF1bHQgdmFsdWUgb2YgKmNmaWxlKiB0byBiZSA6UEVQOmAzMTQ3YC1jb21wbGlhbnQuICBQcmV2aW91cwotICAgICAgIGRlZmF1bHQgd2FzICpmaWxlKiArIGBgJ2MnYGAgKGBgJ28nYGAgaWYgb3B0aW1pemF0aW9uIHdhcyBlbmFibGVkKS4KLWRpZmYgLS1naXQgYS9MaWIvcHlfY29tcGlsZS5weSBiL0xpYi9weV9jb21waWxlLnB5Ci1pbmRleCAxMWM1YjUwLi42MmRjZGM3IDEwMDY0NAotLS0tIGEvTGliL3B5X2NvbXBpbGUucHkKLSsrKyBiL0xpYi9weV9jb21waWxlLnB5Ci1AQCAtMTM3LDYgKzEzNywxMCBAQCBkZWYgY29tcGlsZShmaWxlLCBjZmlsZT1Ob25lLCBkZmlsZT1Ob25lLCBkb3JhaXNlPUZhbHNlLCBvcHRpbWl6ZT0tMSk6Ci0gICAgIGV4Y2VwdCBGaWxlRXhpc3RzRXJyb3I6Ci0gICAgICAgICBwYXNzCi0gICAgIHNvdXJjZV9zdGF0cyA9IGxvYWRlci5wYXRoX3N0YXRzKGZpbGUpCi0rICAgIHNkZSA9IG9zLmVudmlyb24uZ2V0KCdTT1VSQ0VfREFURV9FUE9DSCcpCi0rICAgIGlmIHNkZSBhbmQgc291cmNlX3N0YXRzWydtdGltZSddID4gaW50KHNkZSk6Ci0rICAgICAgICBzb3VyY2Vfc3RhdHNbJ210aW1lJ10gPSBpbnQoc2RlKQotKyAgICAgICAgb3MudXRpbWUoZmlsZSwgKHNvdXJjZV9zdGF0c1snbXRpbWUnXSwgc291cmNlX3N0YXRzWydtdGltZSddKSkKLSAgICAgYnl0ZWNvZGUgPSBpbXBvcnRsaWIuX2Jvb3RzdHJhcF9leHRlcm5hbC5fY29kZV90b19ieXRlY29kZSgKLSAgICAgICAgICAgICBjb2RlLCBzb3VyY2Vfc3RhdHNbJ210aW1lJ10sIHNvdXJjZV9zdGF0c1snc2l6ZSddKQotICAgICBtb2RlID0gaW1wb3J0bGliLl9ib290c3RyYXBfZXh0ZXJuYWwuX2NhbGNfbW9kZShmaWxlKQotZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcHlfY29tcGlsZS5weSBiL0xpYi90ZXN0L3Rlc3RfcHlfY29tcGlsZS5weQotaW5kZXggNGE2Y2FhNS4uM2QwOTk2MyAxMDA2NDQKLS0tLSBhL0xpYi90ZXN0L3Rlc3RfcHlfY29tcGlsZS5weQotKysrIGIvTGliL3Rlc3QvdGVzdF9weV9jb21waWxlLnB5Ci1AQCAtOTgsNiArOTgsMjUgQEAgZGVmIHRlc3RfYmFkX2NvZGluZyhzZWxmKToKLSAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3MucGF0aC5leGlzdHMoCi0gICAgICAgICAgICAgaW1wb3J0bGliLnV0aWwuY2FjaGVfZnJvbV9zb3VyY2UoYmFkX2NvZGluZykpKQotIAotKyAgICBkZWYgdGVzdF9zb3VyY2VfZGF0ZV9lcG9jaChzZWxmKToKLSsgICAgICAgIHRlc3R0aW1lID0gMTIzNDU2Nzg5Ci0rICAgICAgICBvcmlnX3NkZSA9IG9zLmdldGVudigiU09VUkNFX0RBVEVfRVBPQ0giKQotKyAgICAgICAgb3MuZW52aXJvblsiU09VUkNFX0RBVEVfRVBPQ0giXSA9IHN0cih0ZXN0dGltZSkKLSsgICAgICAgIHB5X2NvbXBpbGUuY29tcGlsZShzZWxmLnNvdXJjZV9wYXRoLCBzZWxmLnB5Y19wYXRoKQotKyAgICAgICAgaWYgb3JpZ19zZGU6Ci0rICAgICAgICAgICAgb3MuZW52aXJvblsiU09VUkNFX0RBVEVfRVBPQ0giXSA9IG9yaWdfc2RlCi0rICAgICAgICBlbHNlOgotKyAgICAgICAgICAgIGRlbCBvcy5lbnZpcm9uWyJTT1VSQ0VfREFURV9FUE9DSCJdCi0rICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5leGlzdHMoc2VsZi5weWNfcGF0aCkpCi0rICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG9zLnBhdGguZXhpc3RzKHNlbGYuY2FjaGVfcGF0aCkpCi0rICAgICAgICBzdGF0aW5mbyA9IG9zLnN0YXQoc2VsZi5zb3VyY2VfcGF0aCkKLSsgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdGluZm8uc3RfbXRpbWUsIHRlc3R0aW1lKQotKyAgICAgICAgZiA9IG9wZW4oc2VsZi5weWNfcGF0aCwgInJiIikKLSsgICAgICAgIGYucmVhZCg0KQotKyAgICAgICAgdGltZWJ5dGVzID0gZi5yZWFkKDQpICMgcmVhZCB0aW1lc3RhbXAgZnJvbSBweWMgaGVhZGVyCi0rICAgICAgICBmLmNsb3NlKCkKLSsgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGltZWJ5dGVzLCAodGVzdHRpbWUpLnRvX2J5dGVzKDQsICdsaXR0bGUnKSkKLSsKLSAgICAgQHVuaXR0ZXN0LnNraXBJZihzeXMuZmxhZ3Mub3B0aW1pemUgPiAwLCAndGVzdCBkb2VzIG5vdCB3b3JrIHdpdGggLU8nKQotICAgICBkZWYgdGVzdF9kb3VibGVfZG90X25vX2Nsb2JiZXIoc2VsZik6Ci0gICAgICAgICAjIGh0dHA6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWUyMjk2NgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvc3lzY29uZmlnLnB5LWFkZC1fUFlUSE9OX1BST0pFQ1RfU1JDLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvc3lzY29uZmlnLnB5LWFkZC1fUFlUSE9OX1BST0pFQ1RfU1JDLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjODlkOWEzLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3N5c2NvbmZpZy5weS1hZGQtX1BZVEhPTl9QUk9KRUNUX1NSQy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAKLUZyb20gZmM5M2IzY2MyM2I0Zjk2OThhZTkyYTQyOTg2ZGJiMDJiNmYxOTU4OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotRGF0ZTogU3VuLCAxOCBKYW4gMjAxNSAwNjoyOTo1MCAtMDgwMAotU3ViamVjdDogW1BBVENIXSBzeXNjb25maWcucHk6IGFkZCBfUFlUSE9OX1BST0pFQ1RfU1JDCi0KLXB5dGhvbjMgaGFzIGludHJvZHVjZWQgX1BZVEhPTl9QUk9KRUNUX0JBU0Ugd2hpY2ggaXMgdXNlZCBmb3Igc2VwYXJhdGUgQgotYW5kIFMsIGJ1dCBpdCBkb2Vzbid0IHdvcmsgd2hlbiBjb21waWxlIE1vZHVsZXMsIHRoZSB0YXJnZXQgcHl0aG9uMyBydW5zCi1weXRob24zLW5hdGl2ZSdzIHN5c2NvbmZpZyB0byBnZXQgc3JjZGlyIHdoaWNoIGlzIHRoZSBuYXRpdmUncywgdGhlcmUKLXdvdWxkIGJlIGVycm9ycyB3aGVuIG5hdGl2ZSdzIHNyY2RpciBoYXMgYmVlbiByZW1vdmVkLCBhZGQKLV9QWVRIT05fUFJPSkVDVF9TUkMgdG8gZml4IHRoZSBwcm9ibGVtLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBMaWIvZGlzdHV0aWxzL3N5c2NvbmZpZy5weSB8ICAgIDUgKysrKy0KLSBMaWIvc3lzY29uZmlnLnB5ICAgICAgICAgICB8ICAgIDUgKysrKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotSW5kZXg6IFB5dGhvbi0zLjUuMy9MaWIvZGlzdHV0aWxzL3N5c2NvbmZpZy5weQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIFB5dGhvbi0zLjUuMy5vcmlnL0xpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5Ci0rKysgUHl0aG9uLTMuNS4zL0xpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5Ci1AQCAtNDk4LDcgKzQ5OCwxMCBAQCBkZWYgZ2V0X2NvbmZpZ192YXJzKCphcmdzKToKLSAgICAgICAgICAgICBfY29uZmlnX3ZhcnNbJ1NPJ10gPSBTTwotIAotICAgICAgICAgIyBBbHdheXMgY29udmVydCBzcmNkaXIgdG8gYW4gYWJzb2x1dGUgcGF0aAotLSAgICAgICAgc3JjZGlyID0gX2NvbmZpZ192YXJzLmdldCgnc3JjZGlyJywgcHJvamVjdF9iYXNlKQotKyAgICAgICAgaWYgIl9QWVRIT05fUFJPSkVDVF9TUkMiIGluIG9zLmVudmlyb246Ci0rICAgICAgICAgICAgc3JjZGlyID0gb3MucGF0aC5hYnNwYXRoKG9zLmVudmlyb25bIl9QWVRIT05fUFJPSkVDVF9TUkMiXSkKLSsgICAgICAgIGVsc2U6Ci0rICAgICAgICAgICAgc3JjZGlyID0gX2NvbmZpZ192YXJzLmdldCgnc3JjZGlyJywgcHJvamVjdF9iYXNlKQotICAgICAgICAgaWYgb3MubmFtZSA9PSAncG9zaXgnOgotICAgICAgICAgICAgIGlmIHB5dGhvbl9idWlsZDoKLSAgICAgICAgICAgICAgICAgIyBJZiBzcmNkaXIgaXMgYSByZWxhdGl2ZSBwYXRoICh0eXBpY2FsbHkgJy4nIG9yICcuLicpCi1JbmRleDogUHl0aG9uLTMuNS4zL0xpYi9zeXNjb25maWcucHkKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBQeXRob24tMy41LjMub3JpZy9MaWIvc3lzY29uZmlnLnB5Ci0rKysgUHl0aG9uLTMuNS4zL0xpYi9zeXNjb25maWcucHkKLUBAIC01NDQsNyArNTQ0LDEwIEBAIGRlZiBnZXRfY29uZmlnX3ZhcnMoKmFyZ3MpOgotICAgICAgICAgX0NPTkZJR19WQVJTWyd1c2VyYmFzZSddID0gX2dldHVzZXJiYXNlKCkKLSAKLSAgICAgICAgICMgQWx3YXlzIGNvbnZlcnQgc3JjZGlyIHRvIGFuIGFic29sdXRlIHBhdGgKLS0gICAgICAgIHNyY2RpciA9IF9DT05GSUdfVkFSUy5nZXQoJ3NyY2RpcicsIF9QUk9KRUNUX0JBU0UpCi0rICAgICAgICBpZiAiX1BZVEhPTl9QUk9KRUNUX1NSQyIgaW4gb3MuZW52aXJvbjoKLSsgICAgICAgICAgICBzcmNkaXIgPSBvcy5wYXRoLmFic3BhdGgob3MuZW52aXJvblsiX1BZVEhPTl9QUk9KRUNUX1NSQyJdKQotKyAgICAgICAgZWxzZToKLSsgICAgICAgICAgICBzcmNkaXIgPSBfQ09ORklHX1ZBUlMuZ2V0KCdzcmNkaXInLCBfUFJPSkVDVF9CQVNFKQotICAgICAgICAgaWYgb3MubmFtZSA9PSAncG9zaXgnOgotICAgICAgICAgICAgIGlmIF9QWVRIT05fQlVJTEQ6Ci0gICAgICAgICAgICAgICAgICMgSWYgc3JjZGlyIGlzIGEgcmVsYXRpdmUgcGF0aCAodHlwaWNhbGx5ICcuJyBvciAnLi4nKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvc3lzcm9vdC1pbmNsdWRlLWhlYWRlcnMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zeXNyb290LWluY2x1ZGUtaGVhZGVycy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzg1YjU1Ni4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zeXNyb290LWluY2x1ZGUtaGVhZGVycy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLURvbnQgc2VhcmNoIGhhcmRjb2RlZCBwYXRocywgd2UgbWlnaHQgYmUgZG9pbmcgYSBjcm9zcy1idWlsZAotVXNlICc9JyBpbi1mcm9udCB0byBsZXQgY29tcGlsZXIgYXBwZW5kIHN5c3Jvb3QsIGlmIGl0IGNhbgotCi1TaG91bGQgZml4IHRoaW5ncyBsaWtlCi0KLWNvbmZpZ3VyZTo2OTcyOiBhcm0tYW5nc3Ryb20tbGludXgtZ251ZWFiaS1nY2MgIC1tYXJjaD1hcm12Ny1hIC1tdGh1bWItaW50ZXJ3b3JrIC1tZmxvYXQtYWJpPWhhcmQgLW1mcHU9bmVvbiAtbXR1bmU9Y29ydGV4LWE4IC1ETkRFQlVHIC1mbm8taW5saW5lIC1EX19TT0ZURlBfXyAtLXN5c3Jvb3Q9L2J1aWxkL3YyMDEzLjA2L2J1aWxkL3RtcC1hbmdzdHJvbV92MjAxM18wNi1lZ2xpYmMvc3lzcm9vdHMvYmVhZ2xlYm9uZSAtYyAtTzIgLXBpcGUgLWcgLWZlbGltaW5hdGUtdW51c2VkLWRlYnVnLXR5cGVzICAtSS91c3IvaW5jbHVkZS9uY3Vyc2VzdyBjb25mdGVzdC5jID4mNQotY2MxOiB3YXJuaW5nOiBpbmNsdWRlIGxvY2F0aW9uICIvdXNyL2luY2x1ZGUvbmN1cnNlc3ciIGlzIHVuc2FmZSBmb3IgY3Jvc3MtY29tcGlsYXRpb24gWy1XcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllc10KLQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhagotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLQotSW5kZXg6IFB5dGhvbi0zLjMuMi9zZXR1cC5weQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIFB5dGhvbi0zLjMuMi5vcmlnL3NldHVwLnB5CTIwMTMtMDctMzAgMDE6MzA6NDguMDAwMDAwMDAwIC0wNzAwCi0rKysgUHl0aG9uLTMuMy4yL3NldHVwLnB5CTIwMTMtMDctMzAgMDE6NDE6MTEuNjk3ODYyNzIzIC0wNzAwCi1AQCAtMTIxMCw3ICsxMjEwLDcgQEAKLSAgICAgICAgIHBhbmVsX2xpYnJhcnkgPSAncGFuZWwnCi0gICAgICAgICBpZiBjdXJzZXNfbGlicmFyeSA9PSAnbmN1cnNlc3cnOgotICAgICAgICAgICAgIGN1cnNlc19kZWZpbmVzLmFwcGVuZCgoJ0hBVkVfTkNVUlNFU1cnLCAnMScpKQotLSAgICAgICAgICAgIGN1cnNlc19pbmNsdWRlcy5hcHBlbmQoJy91c3IvaW5jbHVkZS9uY3Vyc2VzdycpCi0rICAgICAgICAgICAgY3Vyc2VzX2luY2x1ZGVzLmFwcGVuZCgnPS91c3IvaW5jbHVkZS9uY3Vyc2VzdycpCi0gICAgICAgICAgICAgIyBCdWcgMTQ2NDA1NjogSWYgX2N1cnNlcy5zbyBsaW5rcyB3aXRoIG5jdXJzZXN3LAotICAgICAgICAgICAgICMgX2N1cnNlc19wYW5lbC5zbyBtdXN0IGxpbmsgd2l0aCBwYW5lbHcuCi0gICAgICAgICAgICAgcGFuZWxfbGlicmFyeSA9ICdwYW5lbHcnCi1AQCAtMTgxOSw3ICsxODE5LDcgQEAKLSAgICAgICAgIGlmIGhvc3RfcGxhdGZvcm0gPT0gJ2Rhcndpbic6Ci0gICAgICAgICAgICAgIyBPUyBYIDEwLjUgY29tZXMgd2l0aCBsaWJmZmkuZHlsaWI7IHRoZSBpbmNsdWRlIGZpbGVzIGFyZQotICAgICAgICAgICAgICMgaW4gL3Vzci9pbmNsdWRlL2ZmaQotLSAgICAgICAgICAgIGluY19kaXJzLmFwcGVuZCgnL3Vzci9pbmNsdWRlL2ZmaScpCi0rICAgICAgICAgICAgaW5jX2RpcnMuYXBwZW5kKCc9L3Vzci9pbmNsdWRlL2ZmaScpCi0gCi0gICAgICAgICBmZmlfaW5jID0gW3N5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcigiTElCRkZJX0lOQ0xVREVESVIiKV0KLSAgICAgICAgIGlmIG5vdCBmZmlfaW5jIG9yIGZmaV9pbmNbMF0gPT0gJyc6CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy90d2Vhay1NVUxUSUFSQ0gtZm9yLXBvd2VycGMtbGludXgtZ251c3BlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvdHdlYWstTVVMVElBUkNILWZvci1wb3dlcnBjLWxpbnV4LWdudXNwZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGQwMzcyNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy90d2Vhay1NVUxUSUFSQ0gtZm9yLXBvd2VycGMtbGludXgtZ251c3BlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotRnJvbSA1ZDY1MDkzMTMxOThlYzliNjg2Y2FkNTBiMDAyMjEyZTQzNDQwMDRiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotRGF0ZTogRnJpLCAxMSBNYXIgMjAxNiAwMToxNTo0NSAtMDUwMAotU3ViamVjdDogW1BBVENIXSBjb25maWd1cmUuYWM6IHR3ZWFrIE1VTFRJQVJDSCBmb3IgcG93ZXJwYy1saW51eC1nbnVzcGUKLQotRm9yIHAxMDIyZHMgYnNwLCB0aGUgTVVMVElBUkNIIGlzIHBvd2VycGMtbGludXgtZ251c3BldjEgYW5kCi1weXRob24zIGRpZCBub3QgcmVjb2duaXplIHRoZSBleHRyYSAndjEnIHdoaWNoIGNhdXNlZCBweXRob24zCi1jb25maWd1cmUgZXJyb3IgZm9yIHRoZSBwbGF0Zm9ybSB0cmlwbGV0LgotCi1ROldoeSBQeXRob24zIGNoZWNrIHBsYXRmb3JtIHRyaXBsZXQ/Ci0KLUE6VW5kZXIgTGludXgsIEdOVS9LRnJlZUJTRCBhbmQgdGhlIEh1cmQsIEMgZXh0ZW5zaW9ucyBub3cgaW5jbHVkZQotdGhlIGFyY2hpdGVjdHVyZSB0cmlwbGV0IGluIHRoZSBleHRlbnNpb24gbmFtZSwgdG8gbWFrZSBpdCBlYXN5IHRvCi10ZXN0IGJ1aWxkcyBmb3IgZGlmZmVyZW50IEFCSXMgaW4gdGhlIHNhbWUgd29ya2luZyB0cmVlLgotCi1IZXJlIGlzIHRoZSBnZW5lcmF0ZWQgIEMgZXh0ZW5zaW9ucyB3aGljaCB0YWtlIHBsYXRmb3JtIHRyaXBsZXQgaW50byBhY2NvdW50LgotLi4uCi18aW1hZ2UvdXNyL2xpYi9weXRob24zLjUvbGliLWR5bmxvYWQvX2RhdGV0aW1lLmNweXRob24tMzVtLXBvd2VycGMtbGludXgtZ251c3BlLnNvCi0uLi4KLQotaHR0cHM6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWUyMjk4MAotaHR0cHM6Ly93d3cucHl0aG9uLm9yZy9kZXYvcGVwcy9wZXAtMzE0OS8KLWh0dHBzOi8vYnVncy5weXRob24ub3JnL3Jldmlldy8yMjk4MC9wYXRjaC8xNDU5My81NDgwOAotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gY29uZmlndXJlLmFjIHwgNyArKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCA5ZWIzZDIyLi5jMzRhOWEwIDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmFjCi0rKysgYi9jb25maWd1cmUuYWMKLUBAIC03MjQsNiArNzI0LDEzIEBAIGZpCi0gCi0gCi0gTVVMVElBUkNIPSQoJENDIC0tcHJpbnQtbXVsdGlhcmNoIDI+L2Rldi9udWxsKQotKwotKyMgVHdlYWsgTVVMVElBUkNICi0raWYgdGVzdCB4JE1VTFRJQVJDSCA9IHhwb3dlcnBjLWxpbnV4LWdudXNwZXYxCi0rdGhlbgotKwlNVUxUSUFSQ0g9InBvd2VycGMtbGludXgtZ251c3BlIgotK2ZpCi0rCi0gQUNfU1VCU1QoTVVMVElBUkNIKQotIAotIEFDX01TR19DSEVDS0lORyhbZm9yIHRoZSBwbGF0Zm9ybSB0cmlwbGV0IGJhc2VkIG9uIGNvbXBpbGVyIGNoYXJhY3RlcmlzdGljc10pCi0tLSAKLTEuOS4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3VuaXhjY29tcGlsZXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy91bml4Y2NvbXBpbGVyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZTJiMWQxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3VuaXhjY29tcGlsZXIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotVGhlIENDIHZhcmlhYmxlLHNvbWV0aW1lcyBsaWtlOiJ4ODZfNjQtcG9reS1saW51eC1nY2MgICAtbTY0IC0tc3lzcm9vdD0vJHtUTVBESVJ9L3N5c3Jvb3RzL3FlbXV4ODYtNjQiLCBjb250YWlucyBvcHRpb24gaW5mb3JtYXRpb24uIAotVGhpcyB3aWxsIGxlYWQgdG8gd3JvbmcgY29tcGlsZXIgbmFtZSAicWVtdXg4Ni02NCIgcmF0aGVyIHRoYW4gIng4Nl82NC1wb2t5LWxpbnV4LWdjYyIgd2hlbiBweXRob24gZmluZGluZyB0aGUgY29tcGlsZXIgbmFtZS4KLQotU2Vjb25kbHkgYWRkIC1MPTxwYXRoPiB0aGlzIHdheSBsaW5rZXIgd2lsbCBiZSBhYmxlIHRvIHJlc29sdmUgL3Vzci9saWIgdy5yLnQgc3lzcm9vdCBhbmQgbm90Ci11c2UgaGFyZGNvZGVkIC91c3IvbGliIHRvIGxvb2sgZm9yIGxpYnMgd2hpY2ggaXMgd3JvbmcgaW4gY3Jvc3MgY29tcGlsZSBlbnZpcm9ubWVudCBhbmQgdGhpcyB3aWxsIHdvcmsKLW9rIG9uIG5hdGl2ZSBzeXN0ZW1zIHRvbyBzaW5jZSBzeXNyb290IGZvciBuYXRpdmUgY29tcGlsZXJzIGlzIC8KLQotU2lnbmVkLW9mZi1ieTogTWVpIExlaSA8bGVpLm1laUBpbnRlbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotSW5kZXg6IFB5dGhvbi0zLjMuMi9MaWIvZGlzdHV0aWxzL3VuaXhjY29tcGlsZXIucHkKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBQeXRob24tMy4zLjIub3JpZy9MaWIvZGlzdHV0aWxzL3VuaXhjY29tcGlsZXIucHkJMjAxMy0wNS0xNSAwOTozMjo1NC4wMDAwMDAwMDAgLTA3MDAKLSsrKyBQeXRob24tMy4zLjIvTGliL2Rpc3R1dGlscy91bml4Y2NvbXBpbGVyLnB5CTIwMTMtMDgtMDEgMDA6NTg6MTguNjI5MDU2Mjg2IC0wNzAwCi1AQCAtMjAyLDcgKzIwMiw5IEBACi0gICAgICMgY2NvbXBpbGVyLnB5LgotIAotICAgICBkZWYgbGlicmFyeV9kaXJfb3B0aW9uKHNlbGYsIGRpcik6Ci0tICAgICAgICByZXR1cm4gIi1MIiArIGRpcgotKyAgICAgICAgaWYgZGlyLnN0YXJ0c3dpdGgoIi8iKToKLSsgICAgICAgICAgICByZXR1cm4gIi1MPSIgKyBkaXIKLSsgICAgICAgIHJldHVybiAiLUwiICsgZGlyCi0gCi0gICAgIGRlZiBfaXNfZ2NjKHNlbGYsIGNvbXBpbGVyX25hbWUpOgotICAgICAgICAgcmV0dXJuICJnY2MiIGluIGNvbXBpbGVyX25hbWUgb3IgImcrKyIgaW4gY29tcGlsZXJfbmFtZQotQEAgLTIyMSw3ICsyMjEsNyBAQAotICAgICAgICAgIyB0aGlzIHRpbWUsIHRoZXJlJ3Mgbm8gd2F5IHRvIGRldGVybWluZSB0aGlzIGluZm9ybWF0aW9uIGZyb20KLSAgICAgICAgICMgdGhlIGNvbmZpZ3VyYXRpb24gZGF0YSBzdG9yZWQgaW4gdGhlIFB5dGhvbiBpbnN0YWxsYXRpb24sIHNvCi0gICAgICAgICAjIHdlIHVzZSB0aGlzIGhhY2suCi0tICAgICAgICBjb21waWxlciA9IG9zLnBhdGguYmFzZW5hbWUoc3lzY29uZmlnLmdldF9jb25maWdfdmFyKCJDQyIpKQotKyAgICAgICAgY29tcGlsZXIgPSBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoIkNDIikKLSAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybVs6Nl0gPT0gImRhcndpbiI6Ci0gICAgICAgICAgICAgIyBNYWNPU1gncyBsaW5rZXIgZG9lc24ndCB1bmRlcnN0YW5kIHRoZSAtUiBmbGFnIGF0IGFsbAotICAgICAgICAgICAgIHJldHVybiAiLUwiICsgZGlyCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uM18zLjUuNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zXzMuNS42LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyY2I2NTA0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zXzMuNS42LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzI3ICswLDAgQEAKLXJlcXVpcmUgcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy5pbmMKLQotREVQRU5EUyA9ICJweXRob24zLW5hdGl2ZSBsaWJmZmkgYnppcDIgZ2RibSBvcGVuc3NsIFwKLSAgICAgICAgICAgc3FsaXRlMyB6bGliIHZpcnR1YWwvbGliaW50bCB4eiBxZW11LW5hdGl2ZSBcCi0gICAgICAgICAgIHFlbXUtaGVscGVyLW5hdGl2ZSB2aXJ0dWFsL2NyeXB0IgotCi1ESVNUUk9fU1JDX1VSSSA/PSAiZmlsZTovL3NpdGVjdXN0b21pemUucHkiCi1ESVNUUk9fU1JDX1VSSV9saW51eHN0ZGJhc2UgPSAiIgotU1JDX1VSSSA9ICJodHRwOi8vd3d3LnB5dGhvbi5vcmcvZnRwL3B5dGhvbi8ke1BWfS9QeXRob24tJHtQVn0udGFyLnh6IFwKLWZpbGU6Ly9weXRob24tY29uZmlnLnBhdGNoIFwKLWZpbGU6Ly8wMzAtZml4dXAtaW5jbHVkZS1kaXJzLnBhdGNoIFwKLWZpbGU6Ly8xMzAtcmVhZGxpbmUtc2V0dXAucGF0Y2ggXAotZmlsZTovLzE1MC1maXgtc2V0dXB0ZXJtLnBhdGNoIFwKLWZpbGU6Ly8wMDAxLWgycHktRml4LWlzc3VlLTEzMDMyLXdoZXJlLWl0LWZhaWxzLXdpdGgtVW5pY29kZURlY28ucGF0Y2ggXAotZmlsZTovL3R3ZWFrLU1VTFRJQVJDSC1mb3ItcG93ZXJwYy1saW51eC1nbnVzcGUucGF0Y2ggXAotZmlsZTovL3N1cHBvcnRfU09VUkNFX0RBVEVfRVBPQ0hfaW5fcHlfY29tcGlsZS5wYXRjaCBcCi0ke0RJU1RST19TUkNfVVJJfSBcCi0iCi0KLVNSQ19VUkkgKz0gIlwKLSAgICAgICAgICAgIGZpbGU6Ly8wMy1maXgtdGtpbnRlci1kZXRlY3Rpb24ucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL2F2b2lkX3dhcm5pbmdfYWJvdXRfdGtpbnRlci5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vY2dpX3B5LnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9ob3N0X2luY2x1ZGVfY29udGFtaW5hdGlvbi5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vcHl0aG9uLTMuMy1tdWx0aWxpYi5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vc3lzcm9vdC1pbmNsdWRlLWhlYWRlcnMucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL3VuaXhjY29tcGlsZXIucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL2F2b2lkLW5jdXJzZXN3LWluY2x1ZGUtcGF0aC5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vcHl0aG9uMy11c2UtQ1JPU1NQWVRIT05QQVRILWZvci1QWVRIT05fRk9SX0JVSUxELnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9zeXNjb25maWcucHktYWRkLV9QWVRIT05fUFJPSkVDVF9TUkMucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL3NldHVwLnB5LWNoZWNrLWNyb3NzX2NvbXBpbGluZy13aGVuLWdldC1GTEFHUy5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLmFjLWZpeC1MSUJQTC5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1Jc3N1ZS0yMTI3Mi1Vc2UtX3N5c2NvbmZpZ2RhdGEucHktdG8taW5pdGlhbGl6ZS1kaXN0LnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9wYXNzLW1pc3NpbmctbGlicmFyaWVzLXRvLUV4dGVuc2lvbi1mb3ItbXVsLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9Vc2UtY29ycmVjdC1DRkxBR1MtZm9yLWV4dGVuc2lvbnMtd2hlbi1jcm9zcy1jb21waWxpLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAyLU1ha2VmaWxlLWFkZC10YXJnZXQtdG8tc3BsaXQtcHJvZmlsZS1nZW5lcmF0aW9uLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9mbG9hdC1lbmRpYW4ucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL2Z0cGxpYi5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vc2lnbmFsLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAxLUlzc3VlLTI4MDQzLVNTTENvbnRleHQtaGFzLWltcHJvdmVkLWRlZmF1bHQtc2V0dGluZ3MucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDItYnBvLTI5MTM2LUFkZC1UTFMtMS4zLWNpcGhlci1zdWl0ZXMtYW5kLU9QX05PX1RMU3YxXy5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMy1icG8tMzI5NDctRml4ZXMtZm9yLVRMUy0xLjMtYW5kLU9wZW5TU0wtMS4xLjEtR0gtODc2LnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDA0LWJwby0zMzU3MC1UTFMtMS4zLWNpcGhlcnMtZm9yLU9wZW5TU0wtMS4xLjEtR0gtNjk3Ni5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwNS1icG8tMzA3MTQtQUxQTi1jaGFuZ2VzLWZvci1PcGVuU1NMLTEuMS4wZi0yMzA1LnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAotICAgICAgICAgICAiCi0KLWluaGVyaXQgbXVsdGlsaWJfaGVhZGVyIHB5dGhvbjNuYXRpdmUgdXBkYXRlLWFsdGVybmF0aXZlcyBxZW11IHB0ZXN0Ci0KLU1VTFRJTElCX1NVRkZJWCA9ICIke0BkLmdldFZhcignYmFzZV9saWJkaXInLDEpLnNwbGl0KCcvJylbLTFdfSIKLQotQUxURVJOQVRJVkVfJHtQTn0tZGV2ID0gInB5dGhvbi1jb25maWciCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbcHl0aG9uLWNvbmZpZ10gPSAiJHtiaW5kaXJ9L3B5dGhvbiR7UFlUSE9OX0JJTkFCSX0tY29uZmlnIgotQUxURVJOQVRJVkVfVEFSR0VUW3B5dGhvbi1jb25maWddID0gIiR7YmluZGlyfS9weXRob24ke1BZVEhPTl9CSU5BQkl9LWNvbmZpZy0ke01VTFRJTElCX1NVRkZJWH0iCi0KLUNPTkZJR1VSRU9QVFMgKz0gIiAtLXdpdGgtc3lzdGVtLWZmaSAiCi0KLUNBQ0hFRF9DT05GSUdVUkVWQVJTID0gImFjX2N2X2hhdmVfY2hmbGFncz1ubyBcCi0gICAgICAgICAgICAgICAgYWNfY3ZfaGF2ZV9sY2hmbGFncz1ubyBcCi0gICAgICAgICAgICAgICAgYWNfY3ZfaGF2ZV9sb25nX2xvbmdfZm9ybWF0PXllcyBcCi0gICAgICAgICAgICAgICAgYWNfY3ZfYnVnZ3lfZ2V0YWRkcmluZm89bm8gXAotICAgICAgICAgICAgICAgIGFjX2N2X2ZpbGVfX2Rldl9wdG14PXllcyBcCi0gICAgICAgICAgICAgICAgYWNfY3ZfZmlsZV9fZGV2X3B0Yz1ubyBcCi0iCi0KLVRBUkdFVF9DQ19BUkNIICs9ICItRE5ERUJVRyAtZm5vLWlubGluZSIKLVNES19DQ19BUkNIICs9ICItRE5ERUJVRyAtZm5vLWlubGluZSIKLUVYVFJBX09FTUFLRSArPSAiQ1JPU1NfQ09NUElMRT15ZXMiCi1FWFRSQV9PRUNPTkYgKz0gIkNST1NTUFlUSE9OUEFUSD0ke1NUQUdJTkdfTElCRElSX05BVElWRX0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9saWItZHlubG9hZC8gLS13aXRob3V0LWVuc3VyZXBpcCIKLQotUFlUSE9OM19QUk9GSUxFX1RBU0sgPz0gIi4vcHl0aG9uIC1tIHRlc3QucmVncnRlc3QgLS1wZ28gdGVzdF9ncmFtbWFyIHRlc3Rfb3Bjb2RlcyB0ZXN0X2RpY3QgdGVzdF9idWlsdGluIHRlc3RfZXhjZXB0aW9ucyB0ZXN0X3R5cGVzIHRlc3Rfc3VwcG9ydCB8fCB0cnVlIgotCi1leHBvcnQgQ1JPU1NfQ09NUElMRSA9ICIke1RBUkdFVF9QUkVGSVh9IgotZXhwb3J0IENDU0hBUkVEID0gIi1mUElDIgotCi0jIEZpeCBjcm9zcyBjb21waWxhdGlvbiBvZiBkaWZmZXJlbnQgbW9kdWxlcwotZXhwb3J0IENST1NTUFlUSE9OUEFUSCA9ICIke1NUQUdJTkdfTElCRElSX05BVElWRX0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9saWItZHlubG9hZC86JHtCfS9idWlsZC9saWIubGludXgtJHtUQVJHRVRfQVJDSH0tJHtQWVRIT05fTUFKTUlOfToke1N9L0xpYjoke1N9L0xpYi9wbGF0LWxpbnV4IgotCi1QQUNLQUdFQ09ORklHID8/PSAicmVhZGxpbmUgJHtAYmIudXRpbHMuY29udGFpbnMoJ01BQ0hJTkVfRkVBVFVSRVMnLCAncWVtdS11c2VybW9kZScsICdwZ28nLCAnJywgZCl9IgotUEFDS0FHRUNPTkZJR1tyZWFkbGluZV0gPSAiLCxyZWFkbGluZSIKLSMgVXNlIHByb2ZpbGUgZ3VpZGVkIG9wdGltaXNhdGlvbiBieSBydW5uaW5nIFB5QmVuY2ggaW5zaWRlIHFlbXUtdXNlcgotUEFDS0FHRUNPTkZJR1twZ29dID0gIi0tZW5hYmxlLW9wdGltaXphdGlvbnMiCi0KLWRvX2NvbmZpZ3VyZV9hcHBlbmQoKSB7Ci0Jcm0gLWYgJHtTfS9NYWtlZmlsZS5vcmlnCi19Ci0KLXJ1bl9tYWtlKCkgewotCW9lX3J1bm1ha2UgUEdFTj0ke1NUQUdJTkdfQklORElSX05BVElWRX0vcHl0aG9uMy1uYXRpdmUvcGdlbiBcCi0JCUhPU1RQWVRIT049JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3B5dGhvbjMtbmF0aXZlL3B5dGhvbjMgXAotCQlTVEFHSU5HX0xJQkRJUj0ke1NUQUdJTkdfTElCRElSfSBcCi0JCVNUQUdJTkdfSU5DRElSPSR7U1RBR0lOR19JTkNESVJ9IFwKLQkJU1RBR0lOR19CQVNFTElCRElSPSR7U1RBR0lOR19CQVNFTElCRElSfSBcCi0JCUxJQj0ke2Jhc2VsaWJ9IFwKLQkJQVJDSD0ke1RBUkdFVF9BUkNIfSBcCi0JCU9QVD0iJHtDRkxBR1N9IiBcCi0JCSIkQCIKLX0KLQotZG9fY29tcGlsZSgpIHsKLQkjIHJlZ2VuZXJhdGUgcGxhdGZvcm0gc3BlY2lmaWMgZmlsZXMsIGJlY2F1c2UgdGhleSBkZXBlbmQgb24gc3lzdGVtIGhlYWRlcnMKLQljZCAke1N9L0xpYi9wbGF0LWxpbnV4KgotCWluY2x1ZGU9JHtTVEFHSU5HX0lOQ0RJUn0gJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3B5dGhvbjMtbmF0aXZlL3B5dGhvbjMgXAotCQkke1N9L1Rvb2xzL3NjcmlwdHMvaDJweS5weSAtaSAnKHVfbG9uZyknIFwKLQkJJHtTVEFHSU5HX0lOQ0RJUn0vZGxmY24uaCBcCi0JCSR7U1RBR0lOR19JTkNESVJ9L2xpbnV4L2Nkcm9tLmggXAotCQkke1NUQUdJTkdfSU5DRElSfS9uZXRpbmV0L2luLmggXAotCQkke1NUQUdJTkdfSU5DRElSfS9zeXMvdHlwZXMuaAotCXNlZCAtZSAncywke1NUQUdJTkdfRElSX0hPU1R9LCxnJyAtaSAqLnB5Ci0JY2QgLQotCi0JIyByZW1vdmUgYW55IGJvZ3VzIExEX0xJQlJBUllfUEFUSAotCXNlZCAtaSAtZSBzLFJVTlNIQVJFRD0uKixSVU5TSEFSRUQ9LCBNYWtlZmlsZQotCi0JaWYgWyAhIC1mIE1ha2VmaWxlLm9yaWcgXTsgdGhlbgotCQlpbnN0YWxsIC1tIDA2NDQgTWFrZWZpbGUgTWFrZWZpbGUub3JpZwotCWZpCi0Jc2VkIC1pIC1lICdzLF5DT05GSUdVUkVfTERGTEFHUz0uKixDT05GSUdVUkVfTERGTEFHUz0tTC4gLUwke1NUQUdJTkdfTElCRElSfSxnJyBcCi0JCS1lICdzLGxpYmRpcj0ke2xpYmRpcn0sbGliZGlyPSR7U1RBR0lOR19MSUJESVJ9LGcnIFwKLQkJLWUgJ3MsbGliZXhlY2Rpcj0ke2xpYmV4ZWNkaXJ9LGxpYmV4ZWNkaXI9JHtTVEFHSU5HX0RJUl9IT1NUfSR7bGliZXhlY2Rpcn0sZycgXAotCQktZSAncyxeTElCRElSPS4qLExJQkRJUj0ke1NUQUdJTkdfTElCRElSfSxnJyBcCi0JCS1lICdzLGluY2x1ZGVkaXI9JHtpbmNsdWRlZGlyfSxpbmNsdWRlZGlyPSR7U1RBR0lOR19JTkNESVJ9LGcnIFwKLQkJLWUgJ3MsXklOQ0xVREVESVI9LiosSU5DTFVERT0ke1NUQUdJTkdfSU5DRElSfSxnJyBcCi0JCS1lICdzLF5DT05GSU5DTFVERURJUj0uKixDT05GSU5DTFVERT0ke1NUQUdJTkdfSU5DRElSfSxnJyBcCi0JCU1ha2VmaWxlCi0JIyBzYXZlIGNvcHkgb2YgaXQgbm93LCBiZWNhdXNlIGlmIHdlIGRvIGl0IGluIGRvX2luc3RhbGwgYW5kIAotCSMgdGhlbiBjYWxsIGRvX2luc3RhbGwgdHdpY2Ugd2UgZ2V0IE1ha2VmaWxlLm9yaWcgPT0gTWFrZWZpbGUuc3lzcm9vdAotCWluc3RhbGwgLW0gMDY0NCBNYWtlZmlsZSBNYWtlZmlsZS5zeXNyb290Ci0KLQlpZiAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdwZ28nLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgotCQlydW5fbWFrZSBwcm9maWxlLW9wdAotCQlxZW11X2JpbmFyeT0iJHtAcWVtdV93cmFwcGVyX2NtZGxpbmUoZCwgJyR7U1RBR0lOR19ESVJfVEFSR0VUfScsIFsnJHtCfScsICcke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtiYXNlX2xpYmRpcn0nXSl9IgotCQljYXQgPnBnby13cmFwcGVyIDw8RU9GCi0jIS9iaW4vc2gKLWNkICR7Qn0KLSRxZW11X2JpbmFyeSAiXCRAIgotRU9GCi0JCWNobW9kICt4IHBnby13cmFwcGVyCi0JCWJibm90ZSBHYXRoZXJpbmcgcHJvZmlsaW5nIGRhdGEKLQkJLi9wZ28td3JhcHBlciAke1BZVEhPTjNfUFJPRklMRV9UQVNLfQotCQliYm5vdGUgUHJvZmlsaW5nIGRhdGEgZ2F0aGVyZWQsIHJlYnVpbGRpbmcKLQkJcnVuX21ha2UgY2xlYW5fYW5kX3VzZV9wcm9maWxlCi0JZWxzZQotCQlydW5fbWFrZSBsaWJweXRob24zLnNvCi0JCXJ1bl9tYWtlCi0JZmkKLX0KLQotZG9faW5zdGFsbCgpIHsKLQkjIG1ha2UgaW5zdGFsbCBuZWVkcyB0aGUgb3JpZ2luYWwgTWFrZWZpbGUsIG9yIG90aGVyd2lzZSB0aGUgaW5jbHVlcyB3b3VsZAotCSMgZ28gdG8gJHtEfSR7U1RBR0lORy4uLn0vLi4uCi0JaW5zdGFsbCAtbSAwNjQ0IE1ha2VmaWxlLm9yaWcgTWFrZWZpbGUKLQotCWluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS9wa2djb25maWcKLQlpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9jb25maWcKLQotCSMgcmVydW4gdGhlIGJ1aWxkIG9uY2UgYWdhaW4gd2l0aCBvcmlnaW5hbCBtYWtlZmlsZSB0aGlzIHRpbWUKLQkjIHJ1biBpbnN0YWxsIGluIGEgc2VwYXJhdGUgc3RlcCB0byBhdm9pZCBjb21waWxlL2luc3RhbGwgcmFjZQotCWlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3BnbycsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0JCXJ1bl9tYWtlIERFU1RESVI9JHtEfSBMSUJESVI9JHtsaWJkaXJ9IGJ1aWxkX2FsbF91c2VfcHJvZmlsZQotCWVsc2UKLQkJcnVuX21ha2UgREVTVERJUj0ke0R9IExJQkRJUj0ke2xpYmRpcn0KLQlmaQotCi0JcnVuX21ha2UgREVTVERJUj0ke0R9IExJQkRJUj0ke2xpYmRpcn0gaW5zdGFsbAotCi0JIyBhdm9pZCBjb25mbGljdCB3aXRoIDJ0bzMgZnJvbSBQeXRob24gMgotCXJtIC1mICR7RH0vJHtiaW5kaXJ9LzJ0bzMKLQotCWluc3RhbGwgLW0gMDY0NCBNYWtlZmlsZS5zeXNyb290ICR7RH0vJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vY29uZmlnL01ha2VmaWxlCi0JaW5zdGFsbCAtbSAwNjQ0IE1ha2VmaWxlLnN5c3Jvb3QgJHtEfS8ke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9jb25maWctJHtQWVRIT05fTUFKTUlOfSR7UFlUSE9OX0FCSX0vTWFrZWZpbGUKLQotCWlmIFsgLWUgJHtXT1JLRElSfS9zaXRlY3VzdG9taXplLnB5IF07IHRoZW4KLQkJaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vc2l0ZWN1c3RvbWl6ZS5weSAke0R9LyR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59Ci0JZmkKLQotCW9lX211bHRpbGliX2hlYWRlciBweXRob24ke1BZVEhPTl9CSU5BQkl9L3B5Y29uZmlnLmgKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrICgpIHsKLQljcmVhdGVfd3JhcHBlciAke0R9JHtiaW5kaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0gUFlUSE9OSE9NRT0nJHtwcmVmaXh9JyBURVJNSU5GT19ESVJTPScke3N5c2NvbmZkaXJ9L3Rlcm1pbmZvOi9ldGMvdGVybWluZm86L3Vzci9zaGFyZS90ZXJtaW5mbzovdXNyL3NoYXJlL21pc2MvdGVybWluZm86L2xpYi90ZXJtaW5mbycgUFlUSE9OTk9VU0VSU0lURT0nMScKLX0KLQotU1NUQVRFX1NDQU5fRklMRVMgKz0gIk1ha2VmaWxlIgotUEFDS0FHRV9QUkVQUk9DRVNTX0ZVTkNTICs9ICJweV9wYWNrYWdlX3ByZXByb2Nlc3MiCi0KLXB5X3BhY2thZ2VfcHJlcHJvY2VzcyAoKSB7Ci0JIyBjb3B5IGJhY2sgdGhlIG9sZCBNYWtlZmlsZSB0byBmaXggdGFyZ2V0IHBhY2thZ2UKLQlpbnN0YWxsIC1tIDA2NDQgJHtCfS9NYWtlZmlsZS5vcmlnICR7UEtHRH0vJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vY29uZmlnL01ha2VmaWxlCi0JaW5zdGFsbCAtbSAwNjQ0ICR7Qn0vTWFrZWZpbGUub3JpZyAke1BLR0R9LyR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2NvbmZpZy0ke1BZVEhPTl9NQUpNSU59JHtQWVRIT05fQUJJfS9NYWtlZmlsZQotCSMgUmVtb3ZlIHJlZmVyZW5jZXMgdG8gYnVpbGRtYWNoaW5lIHBhdGhzIGluIHRhcmdldCBNYWtlZmlsZSBhbmQgX3N5c2NvbmZpZ2RhdGEKLQlzZWQgLWkgLWUgJ3M6LS1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfTo6ZycgLWUgczonLS13aXRoLWxpYnRvb2wtc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH0nOjpnIFwKLQkJLWUgJ3N8JHtERUJVR19QUkVGSVhfTUFQfXx8ZycgXAotCQktZSAnczoke0hPU1RUT09MU19ESVJ9Lzo6ZycgXAotCQktZSAnczoke1JFQ0lQRV9TWVNST09UX05BVElWRX06OmcnIFwKLQkJLWUgJ3M6JHtSRUNJUEVfU1lTUk9PVH06OmcnIFwKLQkJLWUgJ3M6JHtCQVNFX1dPUktESVJ9LyR7TVVMVElNQUNIX1RBUkdFVF9TWVN9OjpnJyBcCi0JCSR7UEtHRH0vJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vY29uZmlnL01ha2VmaWxlIFwKLQkJJHtQS0dEfS8ke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9jb25maWctJHtQWVRIT05fTUFKTUlOfSR7UFlUSE9OX0FCSX0vTWFrZWZpbGUgXAotCQkke1BLR0R9LyR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L19zeXNjb25maWdkYXRhLnB5IFwKLQkJJHtQS0dEfS8ke2JpbmRpcn0vcHl0aG9uJHtQWVRIT05fQklOQUJJfS1jb25maWcKLQotCSMgUmVjb21waWxlIF9zeXNjb25maWdkYXRhIGFmdGVyIG1vZGlmeWluZyBpdAotCWNkICR7UEtHRH0KLQkke1NUQUdJTkdfQklORElSX05BVElWRX0vJHtQWVRIT05fUE59LW5hdGl2ZS8ke1BZVEhPTl9QTn0gXAotCSAgICAgLWMgImZyb20gcHlfY29tcGlsZSBpbXBvcnQgY29tcGlsZTsgY29tcGlsZSgnLi8ke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9fc3lzY29uZmlnZGF0YS5weScpIgotCSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS8ke1BZVEhPTl9QTn0tbmF0aXZlLyR7UFlUSE9OX1BOfSBcCi0JICAgICAtYyAiZnJvbSBweV9jb21waWxlIGltcG9ydCBjb21waWxlOyBjb21waWxlKCcuLyR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L19zeXNjb25maWdkYXRhLnB5Jywgb3B0aW1pemU9MSkiCi0JJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9LyR7UFlUSE9OX1BOfS1uYXRpdmUvJHtQWVRIT05fUE59IFwKLQkgICAgIC1jICJmcm9tIHB5X2NvbXBpbGUgaW1wb3J0IGNvbXBpbGU7IGNvbXBpbGUoJy4vJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vX3N5c2NvbmZpZ2RhdGEucHknLCBvcHRpbWl6ZT0yKSIKLQljZCAtCi0KLQltdiAke1BLR0R9LyR7YmluZGlyfS9weXRob24ke1BZVEhPTl9CSU5BQkl9LWNvbmZpZyAke1BLR0R9LyR7YmluZGlyfS9weXRob24ke1BZVEhPTl9CSU5BQkl9LWNvbmZpZy0ke01VTFRJTElCX1NVRkZJWH0KLX0KLQotUEFDS0FHRVNfcmVtb3ZlID0gIiR7UE59IgotCi0jIG1hbnVhbCBkZXBlbmRlbmN5IGFkZGl0aW9ucwotUlBST1ZJREVTXyR7UE59LW1vZHVsZXMgPSAiJHtQTn0iCi1SUkVDT01NRU5EU18ke1BOfS1jb3JlX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiIG5hdGl2ZXNkay1weXRob24zLW1vZHVsZXMiCi1SUkVDT01NRU5EU18ke1BOfS1jcnlwdCA9ICJvcGVuc3NsIGNhLWNlcnRpZmljYXRlcyIKLQotRklMRVNfJHtQTn0tMnRvMyArPSAiJHtiaW5kaXJ9LzJ0bzMtJHtQWVRIT05fTUFKTUlOfSIKLUZJTEVTXyR7UE59LXB5ZG9jICs9ICIke2JpbmRpcn0vcHlkb2Mke1BZVEhPTl9NQUpNSU59ICR7YmluZGlyfS9weWRvYzMiCi1GSUxFU18ke1BOfS1pZGxlICs9ICIke2JpbmRpcn0vaWRsZTMgJHtiaW5kaXJ9L2lkbGUke1BZVEhPTl9NQUpNSU59IgotCi0jIHByb3ZpZGUgcHl0aG9uLXB5dmVudiBmcm9tIHB5dGhvbjMtdmVudgotUlBST1ZJREVTXyR7UE59LXZlbnYgKz0gIiR7UE59LXB5dmVudiIKLQotIyBwYWNrYWdlIGxpYnB5dGhvbjMKLVBBQ0tBR0VTID0rICJsaWJweXRob24zIGxpYnB5dGhvbjMtc3RhdGljZGV2IgotRklMRVNfbGlicHl0aG9uMyA9ICIke2xpYmRpcn0vbGlicHl0aG9uKi5zby4qIgotRklMRVNfbGlicHl0aG9uMy1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2NvbmZpZy0ke1BZVEhPTl9CSU5BQkl9L2xpYnB5dGhvbiR7UFlUSE9OX0JJTkFCSX0uYSIKLUlOU0FORV9TS0lQXyR7UE59LWRldiArPSAiZGV2LWVsZiIKLQotIyBjYXRjaCBhbGwgdGhlIHJlc3QgKHVuc29ydGVkKQotUEFDS0FHRVMgKz0gIiR7UE59LW1pc2MiCi1SREVQRU5EU18ke1BOfS1taXNjICs9ICIke1BOfS1jb3JlICR7UE59LWVtYWlsICR7UE59LWNvZGVjcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZXMgKz0gIiR7UE59LW1pc2MiCi1GSUxFU18ke1BOfS1taXNjID0gIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59IgotCi0jIGNhdGNoIG1hbnBhZ2UKLVBBQ0tBR0VTICs9ICIke1BOfS1tYW4iCi1GSUxFU18ke1BOfS1tYW4gPSAiJHtkYXRhZGlyfS9tYW4iCi0KLVJERVBFTkRTXyR7UE59LXB0ZXN0ID0gIiR7UE59LW1vZHVsZXMgJHtQTn0tdGVzdHMgdW56aXAgYnppcDIiCi0KLVJERVBFTkRTXyR7UE59LWRldiA9ICIiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlc2RrIgotCi0jIFdlIHdhbnQgYnl0ZWNvZGUgcHJlY29tcGlsZWQgLnB5IGZpbGVzICgucHljJ3MpIGJ5IGRlZmF1bHQKLSMgYnV0IHRoZSB1c2VyIG1heSBzZXQgaXQgb24gdGhlaXIgb3duIGNvbmYKLUlOQ0xVREVfUFlDUyA/PSAiMSIKLQotcHl0aG9uKCl7Ci0gICAgaW1wb3J0IGNvbGxlY3Rpb25zLCBqc29uCi0KLSAgICBmaWxlbmFtZSA9IG9zLnBhdGguam9pbihkLmdldFZhcignVEhJU0RJUicpLCAncHl0aG9uMycsICdweXRob24zLW1hbmlmZXN0Lmpzb24nKQotICAgICMgVGhpcyBweXRob24gY2hhbmdlcyB0aGUgZGF0YXN0b3JlIGJhc2VkIG9uIHRoZSBjb250ZW50cyBvZiBhIGZpbGUsIHNvIG1hcmsKLSAgICAjIHRoYXQgZGVwZW5kZW5jeS4KLSAgICBiYi5wYXJzZS5tYXJrX2RlcGVuZGVuY3koZCwgZmlsZW5hbWUpCi0KLSAgICB3aXRoIG9wZW4oZmlsZW5hbWUpIGFzIG1hbmlmZXN0X2ZpbGU6Ci0gICAgICAgIHB5dGhvbl9tYW5pZmVzdD1qc29uLmxvYWQobWFuaWZlc3RfZmlsZSwgb2JqZWN0X3BhaXJzX2hvb2s9Y29sbGVjdGlvbnMuT3JkZXJlZERpY3QpCi0KLSAgICBpbmNsdWRlX3B5Y3MgPSBkLmdldFZhcignSU5DTFVERV9QWUNTJykKLQotICAgIHBhY2thZ2VzID0gZC5nZXRWYXIoJ1BBQ0tBR0VTJykuc3BsaXQoKQotICAgIHBuID0gZC5nZXRWYXIoJ1BOJykKLQotICAgIG5ld3BhY2thZ2VzPVtdCi0gICAgZm9yIGtleSBpbiBweXRob25fbWFuaWZlc3Q6Ci0gICAgICAgIHB5cGFja2FnZT0gcG4gKyAnLScgKyBrZXkKLQotICAgICAgICBpZiBweXBhY2thZ2Ugbm90IGluIHBhY2thZ2VzOgotICAgICAgICAgICAgIyBXZSBuZWVkIHRvIHByZXBlbmQsIG90aGVyd2lzZSBweXRob24tbWlzYyBnZXRzIGV2ZXJ5dGhpbmcKLSAgICAgICAgICAgICMgc28gd2UgdXNlIGEgbmV3IHZhcmlhYmxlCi0gICAgICAgICAgICBuZXdwYWNrYWdlcy5hcHBlbmQocHlwYWNrYWdlKQotCi0gICAgICAgICMgIkJ1aWxkIiBweXRob24ncyBtYW5pZmVzdCBGSUxFUywgUkRFUEVORFMgYW5kIFNVTU1BUlkKLSAgICAgICAgZC5zZXRWYXIoJ0ZJTEVTXycgKyBweXBhY2thZ2UsICcnKQotICAgICAgICBmb3IgdmFsdWUgaW4gcHl0aG9uX21hbmlmZXN0W2tleV1bJ2ZpbGVzJ106Ci0gICAgICAgICAgICBkLmFwcGVuZFZhcignRklMRVNfJyArIHB5cGFja2FnZSwgJyAnICsgdmFsdWUpCi0KLSAgICAgICAgIyBBZGQgY2FjaGVkIGZpbGVzCi0gICAgICAgIGlmIGluY2x1ZGVfcHljcyA9PSAnMSc6Ci0gICAgICAgICAgICBmb3IgdmFsdWUgaW4gcHl0aG9uX21hbmlmZXN0W2tleV1bJ2NhY2hlZCddOgotICAgICAgICAgICAgICAgICAgICBkLmFwcGVuZFZhcignRklMRVNfJyArIHB5cGFja2FnZSwgJyAnICsgdmFsdWUpCi0KLSAgICAgICAgZm9yIHZhbHVlIGluIHB5dGhvbl9tYW5pZmVzdFtrZXldWydyZGVwZW5kcyddOgotICAgICAgICAgICAgIyBNYWtlIGl0IHdvcmsgd2l0aCBvciB3aXRob3V0ICRQTgotICAgICAgICAgICAgaWYgJyR7UE59JyBpbiB2YWx1ZToKLSAgICAgICAgICAgICAgICB2YWx1ZT12YWx1ZS5zcGxpdCgnLScpWzFdCi0gICAgICAgICAgICBkLmFwcGVuZFZhcignUkRFUEVORFNfJyArIHB5cGFja2FnZSwgJyAnICsgcG4gKyAnLScgKyB2YWx1ZSkKLSAgICAgICAgZC5zZXRWYXIoJ1NVTU1BUllfJyArIHB5cGFja2FnZSwgcHl0aG9uX21hbmlmZXN0W2tleV1bJ3N1bW1hcnknXSkKLQotICAgICMgUHJlcGVuZGluZyBzbyB0byBhdm9pZCBweXRob24tbWlzYyBnZXR0aW5nIGV2ZXJ5dGhpbmcKLSAgICBwYWNrYWdlcyA9IG5ld3BhY2thZ2VzICsgcGFja2FnZXMKLSAgICBkLnNldFZhcignUEFDS0FHRVMnLCAnICcuam9pbihwYWNrYWdlcykpCi0gICAgZC5zZXRWYXIoJ0FMTE9XX0VNUFRZXyR7UE59LW1vZHVsZXMnLCAnMScpCi19Ci0KLSMgRmlsZXMgbmVlZGVkIHRvIGNyZWF0ZSBhIG5ldyBtYW5pZmVzdAotU1JDX1VSSSArPSAiZmlsZTovL2NyZWF0ZV9tYW5pZmVzdDMucHkgZmlsZTovL2dldF9tb2R1bGVfZGVwczMucHkgZmlsZTovL3B5dGhvbjMtbWFuaWZlc3QuanNvbiIKLQotZG9fY3JlYXRlX21hbmlmZXN0KCkgewotICAgICMgVGhpcyB0YXNrIHNob3VsZCBiZSBydW4gd2l0aCBldmVyeSBuZXcgcmVsZWFzZSBvZiBQeXRob24uCi0gICAgIyBXZSBtdXN0IGVuc3VyZSB0aGF0IFBBQ0tBR0VDT05GSUcgZW5hYmxlcyBldmVyeXRoaW5nIHdoZW4gY3JlYXRpbmcKLSAgICAjIGEgbmV3IG1hbmlmZXN0LCB0aGlzIGlzIHRvIGJhc2Ugb3VyIG5ldyBtYW5pZmVzdCBvbiBhIGNvbXBsZXRlCi0gICAgIyBuYXRpdmUgcHl0aG9uIGJ1aWxkLCBjb250YWluaW5nIGFsbCBkZXBlbmRlbmNpZXMsIG90aGVyd2lzZSB0aGUgdGFzawotICAgICMgd29udCBiZSBhYmxlIHRvIGZpbmQgdGhlIHJlcXVpcmVkIGZpbGVzLgotICAgICMgZS5nLiBCZXJrZWxleURCIGlzIGFuIG9wdGlvbmFsIGJ1aWxkIGRlcGVuZGVuY3kgc28gaXQgbWF5IG9yIG1heSBub3QKLSAgICAjIGJlIHByZXNlbnQsIHdlIG11c3QgZW5zdXJlIGl0IGlzLgotCi0gICAgY2QgJHtXT1JLRElSfQotICAgICMgVGhpcyBuZWVkcyB0byBiZSBleGVjdXRlZCBieSBweXRob24tbmF0aXZlIGFuZCBOT1QgYnkgSE9TVCdzIHB5dGhvbgotICAgIG5hdGl2ZXB5dGhvbjMgY3JlYXRlX21hbmlmZXN0My5weSAke1BZVEhPTl9NQUpNSU59Ci0gICAgY3AgcHl0aG9uMy1tYW5pZmVzdC5qc29uLm5ldyAke1RISVNESVJ9L3B5dGhvbjMvcHl0aG9uMy1tYW5pZmVzdC5qc29uCi19Ci0KLSMgYml0YmFrZSBweXRob24gLWMgY3JlYXRlX21hbmlmZXN0Ci1hZGR0YXNrIGRvX2NyZWF0ZV9tYW5pZmVzdAotCi0jIE1ha2Ugc3VyZSB3ZSBoYXZlIG5hdGl2ZSBweXRob24gcmVhZHkgd2hlbiB3ZSBjcmVhdGUgYSBuZXcgbWFuaWZlc3QKLWRvX2NyZWF0ZV9tYW5pZmVzdFtkZXBlbmRzXSArPSAicHl0aG9uMzpkb19wcmVwYXJlX3JlY2lwZV9zeXNyb290IgotZG9fY3JlYXRlX21hbmlmZXN0W2RlcGVuZHNdICs9ICJweXRob24zOmRvX3BhdGNoIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjNfMy43LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uM18zLjcuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzY0YmM4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjNfMy43LjIuYmIKQEAgLTAsMCArMSwyOTAgQEAKK1NVTU1BUlkgPSAiVGhlIFB5dGhvbiBQcm9ncmFtbWluZyBMYW5ndWFnZSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cucHl0aG9uLm9yZyIKK0xJQ0VOU0UgPSAiUFNGdjIiCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZjI1N2NjMTRmODE2ODU2OTE2NTJhM2QzZTFiNWQ3NTQiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5weXRob24ub3JnL2Z0cC9weXRob24vJHtQVn0vUHl0aG9uLSR7UFZ9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorICAgICAgICAgICBmaWxlOi8vY3JlYXRlX21hbmlmZXN0My5weSBcCisgICAgICAgICAgIGZpbGU6Ly9nZXRfbW9kdWxlX2RlcHMzLnB5IFwKKyAgICAgICAgICAgZmlsZTovL3B5dGhvbjMtbWFuaWZlc3QuanNvbiBcCisgICAgICAgICAgIGZpbGU6Ly9jaGVja19idWlsZF9jb21wbGV0ZW5lc3MucHkgXAorICAgICAgICAgICBmaWxlOi8vY2dpX3B5LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LWFkZC11c3ItbGliLXRlcm1jYXAtdG8tbGlua2VyLWZsYWdzLXRvLWF2b2lkLS5wYXRjaCBcCisgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3RrJywgJycsICdmaWxlOi8vYXZvaWRfd2FybmluZ19hYm91dF90a2ludGVyLnBhdGNoJywgZCl9IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LXVzZS10aGUtc2hlbGwtdmVyc2lvbi1vZi1weXRob24tY29uZmlnLXRoYXQtdy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9weXRob24tY29uZmlnLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtTWFrZWZpbGUucHJlLXVzZS1xZW11LXdyYXBwZXItd2hlbi1nYXRoZXJpbmctcHJvZmlsZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC1oYXJkY29kZS1saWItYXMtbG9jYXRpb24tZm9yLXNpdGUtcGFja2FnZXMtYW4ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1weXRob24zLXVzZS1jY19iYXNlbmFtZS10by1yZXBsYWNlLUNDLWZvci1jaGVja2luZy1jLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItRG9uLXQtZG8tcnVudGltZS10ZXN0LXRvLWdldC1mbG9hdC1ieXRlLW9yZGVyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtc2V0dXAucHktcGFzcy1taXNzaW5nLWxpYnJhcmllcy10by1FeHRlbnNpb24tZm9yLW11bC5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWRpc3R1dGlscy1zeXNjb25maWctYXBwZW5kLVNUQUdJTkdfTElCRElSLXB5dGhvbi1zeXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMTItZGlzdHV0aWxzLXByZWZpeC1pcy1pbnNpZGUtc3RhZ2luZy1hcmVhLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZGY2ZWMzNjAxMTgwODIwNWJlZGEyMzljNzJmOTQ3Y2IiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDgzZmU4Y2U1MWIxYmI0OGJiY2YwNTUwZmQyNjViOWE3NWNkZmRmYTkzZjkxNmY5ZTcwMGFlZjg0NDRiZjFiYiIKKworIyBleGNsdWRlIHByZS1yZWxlYXNlcyBmb3IgYm90aCBweXRob24gMi54IGFuZCAzLngKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gIltQcF15dGhvbi0oP1A8cHZlcj5cZCsoXC5cZCspKykudGFyIgorCitDVkVfUFJPRFVDVCA9ICJweXRob24iCisKK1BZVEhPTl9NQUpNSU4gPSAiMy43IgorUFlUSE9OX0JJTkFCSSA9ICIke1BZVEhPTl9NQUpNSU59bSIKKworUyA9ICIke1dPUktESVJ9L1B5dGhvbi0ke1BWfSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgcWVtdSBwdGVzdCBtdWx0aWxpYl9oZWFkZXIgdXBkYXRlLWFsdGVybmF0aXZlcworCitNVUxUSUxJQl9TVUZGSVggPSAiJHtAZC5nZXRWYXIoJ2Jhc2VfbGliZGlyJywxKS5zcGxpdCgnLycpWy0xXX0iCisKK0FMVEVSTkFUSVZFXyR7UE59LWRldiA9ICJweXRob24tY29uZmlnIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3B5dGhvbi1jb25maWddID0gIiR7YmluZGlyfS9weXRob24ke1BZVEhPTl9CSU5BQkl9LWNvbmZpZyIKK0FMVEVSTkFUSVZFX1RBUkdFVFtweXRob24tY29uZmlnXSA9ICIke2JpbmRpcn0vcHl0aG9uJHtQWVRIT05fQklOQUJJfS1jb25maWctJHtNVUxUSUxJQl9TVUZGSVh9IgorCisKK0RFUEVORFMgPSAiYnppcDItcmVwbGFjZW1lbnQtbmF0aXZlIGxpYmZmaSBiemlwMiBnZGJtIG9wZW5zc2wgc3FsaXRlMyB6bGliIHZpcnR1YWwvbGliaW50bCB4eiB2aXJ0dWFsL2NyeXB0IHV0aWwtbGludXggbGlidGlycGMgbGlibnNsMiIKK0RFUEVORFNfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgcHl0aG9uMy1uYXRpdmUiCitERVBFTkRTX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiIHB5dGhvbjMtbmF0aXZlIgorCitFWFRSQV9PRUNPTkYgPSAiIC0td2l0aG91dC1lbnN1cmVwaXAgLS1lbmFibGUtc2hhcmVkIgorRVhUUkFfT0VDT05GX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIC0tYmluZGlyPSR7YmluZGlyfS8ke1BOfSIKKworCitFWFRSQU5BVElWRVBBVEggKz0gInB5dGhvbjMtbmF0aXZlIgorCitDQUNIRURfQ09ORklHVVJFVkFSUyA9ICIgXAorICAgICAgICAgICAgICAgIGFjX2N2X2ZpbGVfX2Rldl9wdG14PXllcyBcCisgICAgICAgICAgICAgICAgYWNfY3ZfZmlsZV9fZGV2X3B0Yz1ubyBcCisgICAgICAgICAgICAgICAgYWNfY3Zfd29ya2luZ190enNldD15ZXMgXAorIgorCitQQUNLQUdFQ09ORklHX2NsYXNzLXRhcmdldCA/Pz0gInJlYWRsaW5lICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdNQUNISU5FX0ZFQVRVUkVTJywgJ3FlbXUtdXNlcm1vZGUnLCAncGdvJywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlID8/PSAicmVhZGxpbmUiCitQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZXNkayA/Pz0gInJlYWRsaW5lIgorUEFDS0FHRUNPTkZJR1tyZWFkbGluZV0gPSAiLCxyZWFkbGluZSIKKyMgVXNlIHByb2ZpbGUgZ3VpZGVkIG9wdGltaXNhdGlvbiBieSBydW5uaW5nIFB5QmVuY2ggaW5zaWRlIHFlbXUtdXNlcgorUEFDS0FHRUNPTkZJR1twZ29dID0gIi0tZW5hYmxlLW9wdGltaXphdGlvbnMsLHFlbXUtbmF0aXZlIgorUEFDS0FHRUNPTkZJR1t0a10gPSAiLCx0ayIKKworQ1BQRkxBR1NfYXBwZW5kID0gIiAtSSR7U1RBR0lOR19JTkNESVJ9L25jdXJzZXN3IC1JJHtTVEFHSU5HX0lOQ0RJUn0vdXVpZCIKKworRVhUUkFfT0VNQUtFID0gJ1wKKyAgU1RBR0lOR19MSUJESVI9JHtTVEFHSU5HX0xJQkRJUn0gXAorICBTVEFHSU5HX0lOQ0RJUj0ke1NUQUdJTkdfSU5DRElSfSBcCisgIExJQj0ke2Jhc2VsaWJ9IFwKKycKKworZG9fY29tcGlsZV9wcmVwZW5kX2NsYXNzLXRhcmdldCgpIHsKKyAgICAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdwZ28nLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICAgICAgICAgIHFlbXVfYmluYXJ5PSIke0BxZW11X3dyYXBwZXJfY21kbGluZShkLCAnJHtTVEFHSU5HX0RJUl9UQVJHRVR9JywgWycke0J9JywgJyR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2Jhc2VfbGliZGlyfSddKX0iCisgICAgICAgICAgICAgICAgY2F0ID5wZ28td3JhcHBlciA8PEVPRgorIyEvYmluL3NoCitjZCAke0J9CiskcWVtdV9iaW5hcnkgIlwkQCIKK0VPRgorICAgICAgICAgICAgICAgIGNobW9kICt4IHBnby13cmFwcGVyCisgICAgICAgIGZpCit9CisKK2RvX2luc3RhbGxfcHJlcGVuZCgpIHsKKyAgICAgICAgJHtXT1JLRElSfS9jaGVja19idWlsZF9jb21wbGV0ZW5lc3MucHkgJHtUfS9sb2cuZG9fY29tcGlsZQorfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy10YXJnZXQoKSB7CisgICAgICAgIG9lX211bHRpbGliX2hlYWRlciBweXRob24ke1BZVEhPTl9CSU5BQkl9L3B5Y29uZmlnLmgKK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlKCkgeworICAgICAgICAjIE1ha2Ugc3VyZSB3ZSB1c2UgL3Vzci9iaW4vZW52IHB5dGhvbgorICAgICAgICBmb3IgUFlUSFNDUklQVCBpbiBgZ3JlcCAtcklsICR7YmluZGlyfS8ke1BOfS9weXRob24gJHtEfSR7YmluZGlyfS8ke1BOfWA7IGRvCisgICAgICAgICAgICAgICAgc2VkIC1pIC1lICcxc3xeIyEuKnwjIS91c3IvYmluL2VudiBweXRob24zfCcgJFBZVEhTQ1JJUFQKKyAgICAgICAgZG9uZQorICAgICAgICAjIEFkZCBhIHN5bWxpbmsgdG8gdGhlIG5hdGl2ZSBQeXRob24gc28gdGhhdCBzY3JpcHRzIGNhbiBqdXN0IGludm9rZQorICAgICAgICAjICJuYXRpdmVweXRob24iIGFuZCBnZXQgdGhlIHJpZ2h0IG9uZSB3aXRob3V0IG5lZWRpbmcgYWJzb2x1dGUgcGF0aHMKKyAgICAgICAgIyAodGhlc2Ugb2Z0ZW4gZW5kIHVwIHRvbyBsb25nIGZvciB0aGUgIyEgcGFyc2VyIGluIHRoZSBrZXJuZWwgYXMgdGhlCisgICAgICAgICMgYnVmZmVyIGlzIDEyOCBieXRlcyBsb25nKS4KKyAgICAgICAgbG4gLXMgcHl0aG9uMy1uYXRpdmUvcHl0aG9uMyAke0R9JHtiaW5kaXJ9L25hdGl2ZXB5dGhvbjMKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgICAgIG1rZGlyIC1wICR7RH0ke2xpYmRpcn0vcHl0aG9uLXN5c2NvbmZpZ2RhdGEKKyAgICAgICAgc3lzY29uZmlnZmlsZT1gZmluZCAke0R9IC1uYW1lIF9zeXNjb25maWcqLnB5YAorICAgICAgICBjcCAkc3lzY29uZmlnZmlsZSAke0R9JHtsaWJkaXJ9L3B5dGhvbi1zeXNjb25maWdkYXRhL19zeXNjb25maWdkYXRhLnB5CisKKyAgICAgICAgc2VkIC1pICBcCisgICAgICAgICAgICAgICAgLWUgInMsXiAnTElCRElSJy4qLCAnTElCRElSJzogJyR7U1RBR0lOR19MSUJESVJ9J1wsLGciIFwKKyAgICAgICAgICAgICAgICAtZSAicyxeICdJTkNMVURFRElSJy4qLCAnSU5DTFVERURJUic6ICcke1NUQUdJTkdfSU5DRElSfSdcLCxnIiBcCisgICAgICAgICAgICAgICAgLWUgInMsXiAnQ09ORklOQ0xVREVESVInLiosICdDT05GSU5DTFVERURJUic6ICcke1NUQUdJTkdfSU5DRElSfSdcLCxnIiBcCisgICAgICAgICAgICAgICAgLWUgIi9eICdJTkNMRElSU1RPTUFLRScve047IHMsL3Vzci9pbmNsdWRlLCR7U1RBR0lOR19JTkNESVJ9LGd9IiBcCisgICAgICAgICAgICAgICAgLWUgIi9eICdJTkNMVURFUFknL3MsL3Vzci9pbmNsdWRlLCR7U1RBR0lOR19JTkNESVJ9LGciIFwKKyAgICAgICAgICAgICAgICAke0R9JHtsaWJkaXJ9L3B5dGhvbi1zeXNjb25maWdkYXRhL19zeXNjb25maWdkYXRhLnB5Cit9CisKK1NTVEFURV9TQ0FOX0ZJTEVTICs9ICJNYWtlZmlsZSBfc3lzY29uZmlnZGF0YS5weSIKK1BBQ0tBR0VfUFJFUFJPQ0VTU19GVU5DUyArPSAicHlfcGFja2FnZV9wcmVwcm9jZXNzIgorCitweV9wYWNrYWdlX3ByZXByb2Nlc3MgKCkgeworICAgICAgICAjIFJlbW92ZSByZWZlcmVuY2VzIHRvIGJ1aWxkbWFjaGluZSBwYXRocyBpbiB0YXJnZXQgTWFrZWZpbGUgYW5kIF9zeXNjb25maWdkYXRhCisgICAgICAgIHNlZCAtaSAtZSAnczotLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9UQVJHRVR9OjpnJyAtZSBzOictLXdpdGgtbGlidG9vbC1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfSc6OmcgXAorICAgICAgICAgICAgICAgIC1lICdzfCR7REVCVUdfUFJFRklYX01BUH18fGcnIFwKKyAgICAgICAgICAgICAgICAtZSAnczoke0hPU1RUT09MU19ESVJ9Lzo6ZycgXAorICAgICAgICAgICAgICAgIC1lICdzOiR7UkVDSVBFX1NZU1JPT1RfTkFUSVZFfTo6ZycgXAorICAgICAgICAgICAgICAgIC1lICdzOiR7UkVDSVBFX1NZU1JPT1R9OjpnJyBcCisgICAgICAgICAgICAgICAgLWUgJ3M6JHtCQVNFX1dPUktESVJ9LyR7TVVMVElNQUNIX1RBUkdFVF9TWVN9OjpnJyBcCisgICAgICAgICAgICAgICAgJHtQS0dEfS8ke3ByZWZpeH0vbGliL3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vY29uZmlnLSR7UFlUSE9OX01BSk1JTn0ke1BZVEhPTl9BQkl9Ki9NYWtlZmlsZSBcCisgICAgICAgICAgICAgICAgJHtQS0dEfS8ke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9fc3lzY29uZmlnZGF0YSoucHkgXAorICAgICAgICAgICAgICAgICR7UEtHRH0vJHtiaW5kaXJ9L3B5dGhvbiR7UFlUSE9OX0JJTkFCSX0tY29uZmlnCisKKyAgICAgICAgIyBSZWNvbXBpbGUgX3N5c2NvbmZpZ2RhdGEgYWZ0ZXIgbW9kaWZ5aW5nIGl0CisgICAgICAgIGNkICR7UEtHRH0KKyAgICAgICAgc3lzY29uZmlnZmlsZT1gZmluZCAuIC1uYW1lIF9zeXNjb25maWdkYXRhXyoucHlgCisgICAgICAgICR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9weXRob24zLW5hdGl2ZS9weXRob24zIFwKKyAgICAgICAgICAgICAtYyAiZnJvbSBweV9jb21waWxlIGltcG9ydCBjb21waWxlOyBjb21waWxlKCckc3lzY29uZmlnZmlsZScpIgorICAgICAgICAke1NUQUdJTkdfQklORElSX05BVElWRX0vcHl0aG9uMy1uYXRpdmUvcHl0aG9uMyBcCisgICAgICAgICAgICAgLWMgImZyb20gcHlfY29tcGlsZSBpbXBvcnQgY29tcGlsZTsgY29tcGlsZSgnJHN5c2NvbmZpZ2ZpbGUnLCBvcHRpbWl6ZT0xKSIKKyAgICAgICAgJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3B5dGhvbjMtbmF0aXZlL3B5dGhvbjMgXAorICAgICAgICAgICAgIC1jICJmcm9tIHB5X2NvbXBpbGUgaW1wb3J0IGNvbXBpbGU7IGNvbXBpbGUoJyRzeXNjb25maWdmaWxlJywgb3B0aW1pemU9MikiCisgICAgICAgIGNkIC0KKworICAgICAgICBtdiAke1BLR0R9LyR7YmluZGlyfS9weXRob24ke1BZVEhPTl9CSU5BQkl9LWNvbmZpZyAke1BLR0R9LyR7YmluZGlyfS9weXRob24ke1BZVEhPTl9CSU5BQkl9LWNvbmZpZy0ke01VTFRJTElCX1NVRkZJWH0KKyAgICAgICAgCisgICAgICAgICNSZW1vdmUgdGhlIHVubmVlZGVkIGNvcHkgb2YgdGFyZ2V0IHN5c2NvbmZpZyBkYXRhCisgICAgICAgIHJtIC1yZiAke1BLR0R9LyR7bGliZGlyfS9weXRob24tc3lzY29uZmlnZGF0YQorfQorCisjIFdlIHdhbnQgYnl0ZWNvZGUgcHJlY29tcGlsZWQgLnB5IGZpbGVzICgucHljJ3MpIGJ5IGRlZmF1bHQKKyMgYnV0IHRoZSB1c2VyIG1heSBzZXQgaXQgb24gdGhlaXIgb3duIGNvbmYKK0lOQ0xVREVfUFlDUyA/PSAiMSIKKworcHl0aG9uKCl7CisgICAgaW1wb3J0IGNvbGxlY3Rpb25zLCBqc29uCisKKyAgICBmaWxlbmFtZSA9IG9zLnBhdGguam9pbihkLmdldFZhcignVEhJU0RJUicpLCAncHl0aG9uMycsICdweXRob24zLW1hbmlmZXN0Lmpzb24nKQorICAgICMgVGhpcyBweXRob24gY2hhbmdlcyB0aGUgZGF0YXN0b3JlIGJhc2VkIG9uIHRoZSBjb250ZW50cyBvZiBhIGZpbGUsIHNvIG1hcmsKKyAgICAjIHRoYXQgZGVwZW5kZW5jeS4KKyAgICBiYi5wYXJzZS5tYXJrX2RlcGVuZGVuY3koZCwgZmlsZW5hbWUpCisKKyAgICB3aXRoIG9wZW4oZmlsZW5hbWUpIGFzIG1hbmlmZXN0X2ZpbGU6CisgICAgICAgIG1hbmlmZXN0X3N0ciA9ICBtYW5pZmVzdF9maWxlLnJlYWQoKQorICAgICAgICBqc29uX3N0YXJ0ID0gbWFuaWZlc3Rfc3RyLmZpbmQoJyMgRU9DJykgKyA2CisgICAgICAgIG1hbmlmZXN0X2ZpbGUuc2Vlayhqc29uX3N0YXJ0KQorICAgICAgICBtYW5pZmVzdF9zdHIgPSBtYW5pZmVzdF9maWxlLnJlYWQoKQorICAgICAgICBweXRob25fbWFuaWZlc3QgPSBqc29uLmxvYWRzKG1hbmlmZXN0X3N0ciwgb2JqZWN0X3BhaXJzX2hvb2s9Y29sbGVjdGlvbnMuT3JkZXJlZERpY3QpCisKKyAgICAjIEZpcnN0IHNldCBSUFJPVklERVMgZm9yIC1uYXRpdmUgY2FzZQorICAgICMgSGFyZGNvZGVkIHNpbmNlIGl0IGNhbnQgYmUgcHl0aG9uMy1uYXRpdmUtZm9vLCBzaG91bGQgYmUgcHl0aG9uMy1mb28tbmF0aXZlCisgICAgcG4gPSAncHl0aG9uMycKKyAgICBycHJvdmlkZXMgPSBkLmdldFZhcignUlBST1ZJREVTJykuc3BsaXQoKQorCisgICAgZm9yIGtleSBpbiBweXRob25fbWFuaWZlc3Q6CisgICAgICAgIHB5cGFja2FnZSA9IHBuICsgJy0nICsga2V5ICsgJy1uYXRpdmUnCisgICAgICAgIGlmIHB5cGFja2FnZSBub3QgaW4gcnByb3ZpZGVzOgorICAgICAgICAgICAgICBycHJvdmlkZXMuYXBwZW5kKHB5cGFja2FnZSkKKworICAgIGQuc2V0VmFyKCdSUFJPVklERVNfY2xhc3MtbmF0aXZlJywgJyAnLmpvaW4ocnByb3ZpZGVzKSkKKworICAgICMgVGhlbiB3b3JrIG9uIHRoZSB0YXJnZXQKKyAgICBpbmNsdWRlX3B5Y3MgPSBkLmdldFZhcignSU5DTFVERV9QWUNTJykKKworICAgIHBhY2thZ2VzID0gZC5nZXRWYXIoJ1BBQ0tBR0VTJykuc3BsaXQoKQorICAgIHBuID0gZC5nZXRWYXIoJ1BOJykKKworICAgIG5ld3BhY2thZ2VzPVtdCisgICAgZm9yIGtleSBpbiBweXRob25fbWFuaWZlc3Q6CisgICAgICAgIHB5cGFja2FnZT0gcG4gKyAnLScgKyBrZXkKKworICAgICAgICBpZiBweXBhY2thZ2Ugbm90IGluIHBhY2thZ2VzOgorICAgICAgICAgICAgIyBXZSBuZWVkIHRvIHByZXBlbmQsIG90aGVyd2lzZSBweXRob24tbWlzYyBnZXRzIGV2ZXJ5dGhpbmcKKyAgICAgICAgICAgICMgc28gd2UgdXNlIGEgbmV3IHZhcmlhYmxlCisgICAgICAgICAgICBuZXdwYWNrYWdlcy5hcHBlbmQocHlwYWNrYWdlKQorCisgICAgICAgICMgIkJ1aWxkIiBweXRob24ncyBtYW5pZmVzdCBGSUxFUywgUkRFUEVORFMgYW5kIFNVTU1BUlkKKyAgICAgICAgZC5zZXRWYXIoJ0ZJTEVTXycgKyBweXBhY2thZ2UsICcnKQorICAgICAgICBmb3IgdmFsdWUgaW4gcHl0aG9uX21hbmlmZXN0W2tleV1bJ2ZpbGVzJ106CisgICAgICAgICAgICBkLmFwcGVuZFZhcignRklMRVNfJyArIHB5cGFja2FnZSwgJyAnICsgdmFsdWUpCisKKyAgICAgICAgIyBBZGQgY2FjaGVkIGZpbGVzCisgICAgICAgIGlmIGluY2x1ZGVfcHljcyA9PSAnMSc6CisgICAgICAgICAgICBmb3IgdmFsdWUgaW4gcHl0aG9uX21hbmlmZXN0W2tleV1bJ2NhY2hlZCddOgorICAgICAgICAgICAgICAgICAgICBkLmFwcGVuZFZhcignRklMRVNfJyArIHB5cGFja2FnZSwgJyAnICsgdmFsdWUpCisKKyAgICAgICAgZm9yIHZhbHVlIGluIHB5dGhvbl9tYW5pZmVzdFtrZXldWydyZGVwZW5kcyddOgorICAgICAgICAgICAgIyBNYWtlIGl0IHdvcmsgd2l0aCBvciB3aXRob3V0ICRQTgorICAgICAgICAgICAgaWYgJyR7UE59JyBpbiB2YWx1ZToKKyAgICAgICAgICAgICAgICB2YWx1ZT12YWx1ZS5zcGxpdCgnLScpWzFdCisgICAgICAgICAgICBkLmFwcGVuZFZhcignUkRFUEVORFNfJyArIHB5cGFja2FnZSwgJyAnICsgcG4gKyAnLScgKyB2YWx1ZSkKKyAgICAgICAgZC5zZXRWYXIoJ1NVTU1BUllfJyArIHB5cGFja2FnZSwgcHl0aG9uX21hbmlmZXN0W2tleV1bJ3N1bW1hcnknXSkKKworICAgICMgUHJlcGVuZGluZyBzbyB0byBhdm9pZCBweXRob24tbWlzYyBnZXR0aW5nIGV2ZXJ5dGhpbmcKKyAgICBwYWNrYWdlcyA9IG5ld3BhY2thZ2VzICsgcGFja2FnZXMKKyAgICBkLnNldFZhcignUEFDS0FHRVMnLCAnICcuam9pbihwYWNrYWdlcykpCisgICAgZC5zZXRWYXIoJ0FMTE9XX0VNUFRZXyR7UE59LW1vZHVsZXMnLCAnMScpCit9CisKKyMgRmlsZXMgbmVlZGVkIHRvIGNyZWF0ZSBhIG5ldyBtYW5pZmVzdAorCitkb19jcmVhdGVfbWFuaWZlc3QoKSB7CisgICAgIyBUaGlzIHRhc2sgc2hvdWxkIGJlIHJ1biB3aXRoIGV2ZXJ5IG5ldyByZWxlYXNlIG9mIFB5dGhvbi4KKyAgICAjIFdlIG11c3QgZW5zdXJlIHRoYXQgUEFDS0FHRUNPTkZJRyBlbmFibGVzIGV2ZXJ5dGhpbmcgd2hlbiBjcmVhdGluZworICAgICMgYSBuZXcgbWFuaWZlc3QsIHRoaXMgaXMgdG8gYmFzZSBvdXIgbmV3IG1hbmlmZXN0IG9uIGEgY29tcGxldGUKKyAgICAjIG5hdGl2ZSBweXRob24gYnVpbGQsIGNvbnRhaW5pbmcgYWxsIGRlcGVuZGVuY2llcywgb3RoZXJ3aXNlIHRoZSB0YXNrCisgICAgIyB3b250IGJlIGFibGUgdG8gZmluZCB0aGUgcmVxdWlyZWQgZmlsZXMuCisgICAgIyBlLmcuIEJlcmtlbGV5REIgaXMgYW4gb3B0aW9uYWwgYnVpbGQgZGVwZW5kZW5jeSBzbyBpdCBtYXkgb3IgbWF5IG5vdAorICAgICMgYmUgcHJlc2VudCwgd2UgbXVzdCBlbnN1cmUgaXQgaXMuCisKKyAgICBjZCAke1dPUktESVJ9CisgICAgIyBUaGlzIG5lZWRzIHRvIGJlIGV4ZWN1dGVkIGJ5IHB5dGhvbi1uYXRpdmUgYW5kIE5PVCBieSBIT1NUJ3MgcHl0aG9uCisgICAgbmF0aXZlcHl0aG9uMyBjcmVhdGVfbWFuaWZlc3QzLnB5ICR7UFlUSE9OX01BSk1JTn0KKyAgICBjcCBweXRob24zLW1hbmlmZXN0Lmpzb24ubmV3ICR7VEhJU0RJUn0vcHl0aG9uMy9weXRob24zLW1hbmlmZXN0Lmpzb24KK30KKworIyBiaXRiYWtlIHB5dGhvbiAtYyBjcmVhdGVfbWFuaWZlc3QKK2FkZHRhc2sgZG9fY3JlYXRlX21hbmlmZXN0CisKKyMgTWFrZSBzdXJlIHdlIGhhdmUgbmF0aXZlIHB5dGhvbiByZWFkeSB3aGVuIHdlIGNyZWF0ZSBhIG5ldyBtYW5pZmVzdAorZG9fY3JlYXRlX21hbmlmZXN0W2RlcGVuZHNdICs9ICIke1BOfTpkb19wcmVwYXJlX3JlY2lwZV9zeXNyb290IgorZG9fY3JlYXRlX21hbmlmZXN0W2RlcGVuZHNdICs9ICIke1BOfTpkb19wYXRjaCIKKworIyBtYW51YWwgZGVwZW5kZW5jeSBhZGRpdGlvbnMKK1JQUk9WSURFU18ke1BOfS1tb2R1bGVzID0gIiR7UE59IgorUlJFQ09NTUVORFNfJHtQTn0tY29yZV9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiBuYXRpdmVzZGstcHl0aG9uMy1tb2R1bGVzIgorUlJFQ09NTUVORFNfJHtQTn0tY3J5cHRfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgb3BlbnNzbCBjYS1jZXJ0aWZpY2F0ZXMiCitSUkVDT01NRU5EU18ke1BOfS1jcnlwdF9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiBvcGVuc3NsIGNhLWNlcnRpZmljYXRlcyIKKworRklMRVNfJHtQTn0tcHlkb2MgKz0gIiR7YmluZGlyfS9weWRvYyR7UFlUSE9OX01BSk1JTn0gJHtiaW5kaXJ9L3B5ZG9jMyIKK0ZJTEVTXyR7UE59LWlkbGUgKz0gIiR7YmluZGlyfS9pZGxlMyAke2JpbmRpcn0vaWRsZSR7UFlUSE9OX01BSk1JTn0iCisKKyMgcHJvdmlkZSBweXRob24tcHl2ZW52IGZyb20gcHl0aG9uMy12ZW52CitSUFJPVklERVNfJHtQTn0tdmVudiArPSAicHl0aG9uMy1weXZlbnYiCisKKyMgcGFja2FnZSBsaWJweXRob24zCitQQUNLQUdFUyA9KyAibGlicHl0aG9uMyBsaWJweXRob24zLXN0YXRpY2RldiIKK0ZJTEVTX2xpYnB5dGhvbjMgPSAiJHtsaWJkaXJ9L2xpYnB5dGhvbiouc28uKiIKK0ZJTEVTX2xpYnB5dGhvbjMtc3RhdGljZGV2ICs9ICIke3ByZWZpeH0vbGliL3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vY29uZmlnLSR7UFlUSE9OX0JJTkFCSX0tKi9saWJweXRob24ke1BZVEhPTl9CSU5BQkl9LmEiCitJTlNBTkVfU0tJUF8ke1BOfS1kZXYgKz0gImRldi1lbGYiCisKKyMgY2F0Y2ggYWxsIHRoZSByZXN0ICh1bnNvcnRlZCkKK1BBQ0tBR0VTICs9ICIke1BOfS1taXNjIgorUkRFUEVORFNfJHtQTn0tbWlzYyArPSAicHl0aG9uMy1jb3JlIHB5dGhvbjMtZW1haWwgcHl0aG9uMy1jb2RlY3MiCitSREVQRU5EU18ke1BOfS1tb2R1bGVzX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIHB5dGhvbjMtbWlzYyIKK1JERVBFTkRTXyR7UE59LW1vZHVsZXNfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgcHl0aG9uMy1taXNjIgorRklMRVNfJHtQTn0tbWlzYyA9ICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfSAke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9saWItZHlubG9hZCIKKworIyBjYXRjaCBtYW5wYWdlCitQQUNLQUdFUyArPSAiJHtQTn0tbWFuIgorRklMRVNfJHtQTn0tbWFuID0gIiR7ZGF0YWRpcn0vbWFuIgorCitSREVQRU5EU18ke1BOfS1wdGVzdCA9ICIke1BOfS1tb2R1bGVzICR7UE59LXRlc3RzIHVuemlwIGJ6aXAyIGxpYmdjYyB0emRhdGEtZXVyb3BlIGNvcmV1dGlscyIKK1JERVBFTkRTXyR7UE59LXRraW50ZXIgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3RrJywgJ3RrJywgJycsIGQpfSIKK1JERVBFTkRTXyR7UE59LWRldiA9ICIiCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob25fMi43LjE1LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbl8yLjcuMTUuYmIKaW5kZXggYzIyYzc2Mi4uYzQ1OWFmMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbl8yLjcuMTUuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbl8yLjcuMTUuYmIKQEAgLTIxLDcgKzIxLDcgQEAKICAgZmlsZTovL3NldHVwdHdlYWtzLnBhdGNoIFwKICAgZmlsZTovL2NoZWNrLWlmLXRhcmdldC1pcy02NGItbm90LWhvc3QucGF0Y2ggXAogICBmaWxlOi8vc2VhcmNoX2RiX2hfaW5faW5jX2RpcnNfYW5kX2F2b2lkX3dhcm5pbmcucGF0Y2ggXAotICBmaWxlOi8vYXZvaWRfd2FybmluZ19hYm91dF90a2ludGVyLnBhdGNoIFwKKyAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAndGsnLCAnJywgJ2ZpbGU6Ly9hdm9pZF93YXJuaW5nX2Fib3V0X3RraW50ZXIucGF0Y2gnLCBkKX0gXAogICBmaWxlOi8vYXZvaWRfd2FybmluZ19mb3Jfc3Vub3Nfc3BlY2lmaWNfbW9kdWxlLnBhdGNoIFwKICAgZmlsZTovL3B5dGhvbi0yLjcuMy1yZW1vdmUtYnNkYi1ycGF0aC5wYXRjaCBcCiAgIGZpbGU6Ly9ydW4tcHRlc3QgXApAQCAtMzMsNiArMzMsNyBAQAogICBmaWxlOi8vZmxvYXQtZW5kaWFuLnBhdGNoIFwKICAgZmlsZTovLzAwMDEtY2xvc2VzLWJwby0zNDU0MC1Db252ZXJ0LXNodXRpbC5fY2FsbF9leHRlcm5hbF96aXAtdC5wYXRjaCBcCiAgIGZpbGU6Ly8wMDAxLTIuNy1icG8tMzQ2MjMtVXNlLVhNTF9TZXRIYXNoU2FsdC1pbi1fZWxlbWVudHRyZWUtR0gucGF0Y2ggXAorICBmaWxlOi8vMDAwMS1weXRob24yLXVzZS1jY19iYXNlbmFtZS10by1yZXBsYWNlLUNDLWZvci1jaGVja2luZy1jLnBhdGNoIFwKICIKIAogUyA9ICIke1dPUktESVJ9L1B5dGhvbi0ke1BWfSIKQEAgLTQxLDEwICs0MiwxMSBAQAogCiBDT05GSUdVUkVPUFRTICs9ICIgLS13aXRoLXN5c3RlbS1mZmkgIgogCi1FWFRSQV9PRUNPTkYgKz0gImFjX2N2X2ZpbGVfX2Rldl9wdG14PXllcyBhY19jdl9maWxlX19kZXZfcHRjPW5vIgorRVhUUkFfT0VDT05GICs9ICJhY19jdl9maWxlX19kZXZfcHRteD15ZXMgYWNfY3ZfZmlsZV9fZGV2X3B0Yz1ubyBhY19jdl93b3JraW5nX3R6c2V0PXllcyIKIAogUEFDS0FHRUNPTkZJRyA/Pz0gImJkYiIKIFBBQ0tBR0VDT05GSUdbYmRiXSA9ICIsLGRiIgorUEFDS0FHRUNPTkZJR1t0a10gPSAiLCx0ayIKIAogZG9fY29uZmlndXJlX2FwcGVuZCgpIHsKIAlybSAtZiAke1N9L01ha2VmaWxlLm9yaWcKQEAgLTEyOSw2ICsxMzEsOSBAQAogICAgIGlmIFsgLXogIiR7QGJiLnV0aWxzLmZpbHRlcignUEFDS0FHRUNPTkZJRycsICdiZGInLCBkKX0iIF07IHRoZW4KICAgICAgICAgcm0gLXJmICR7RH0vJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vYnNkZGIKICAgICBmaQorCisgICAgIyBQeXRob24gMy54IHZlcnNpb24gb2YgMnRvMyBpcyBub3cgdGhlIGRlZmF1bHQKKyAgICBtdiAke0R9LyR7YmluZGlyfS8ydG8zICR7RH0vJHtiaW5kaXJ9LzJ0bzMtJHtQWVRIT05fTUFKTUlOfQogfQogCiBkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgKCkgewpAQCAtMTcxLDggKzE3Niw4IEBACiBSREVQRU5EU18ke1BOfS1tb2R1bGVzICs9ICIke1BOfS1taXNjIgogCiAjIHB0ZXN0Ci1SREVQRU5EU18ke1BOfS1wdGVzdCA9ICIke1BOfS1tb2R1bGVzICR7UE59LXRlc3RzIHVuemlwIgotCitSREVQRU5EU18ke1BOfS1wdGVzdCA9ICIke1BOfS1tb2R1bGVzICR7UE59LXRlc3RzIHVuemlwIHR6ZGF0YS1ldXJvcGUgY29yZXV0aWxzIgorUkRFUEVORFNfJHtQTn0tdGtpbnRlciArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAndGsnLCAndGsnLCAnJywgZCl9IgogIyBjYXRjaCBtYW5wYWdlCiBQQUNLQUdFUyArPSAiJHtQTn0tbWFuIgogRklMRVNfJHtQTn0tbWFuID0gIiR7ZGF0YWRpcn0vbWFuIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LWhlbHBlci1uYXRpdmVfMS4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LWhlbHBlci1uYXRpdmVfMS4wLmJiCmluZGV4IGQ4NmIxNTUuLmQ5ZDlkYTAgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS1oZWxwZXItbmF0aXZlXzEuMC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUtaGVscGVyLW5hdGl2ZV8xLjAuYmIKQEAgLTEsNiArMSw2IEBACiBTVU1NQVJZID0gIkhlbHBlciB1dGlsaXRpZXMgbmVlZGVkIGJ5IHRoZSBydW5xZW11IHNjcmlwdCIKIExJQ0VOU0UgPSAiR1BMdjIiCi1SREVQRU5EU18ke1BOfSA9ICJxZW11LW5hdGl2ZSIKK1JERVBFTkRTXyR7UE59ID0gInFlbXUtc3lzdGVtLW5hdGl2ZSIKIFBSID0gInIxIgogCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1dPUktESVJ9L3R1bmN0bC5jO2VuZGxpbmU9NDttZDU9ZmYzYTA5OTk2YmM1ZmZmNmJjNWQ0ZTBiNGMyOGY5OTkiCkBAIC0yMCw1ICsyMCw1IEBACiAJaW5zdGFsbCB0dW5jdGwgJHtEfSR7YmluZGlyfS8KIH0KIAotREVQRU5EUyArPSAicWVtdS1uYXRpdmUiCitERVBFTkRTICs9ICJxZW11LXN5c3RlbS1uYXRpdmUiCiBhZGR0YXNrIGFkZHRvX3JlY2lwZV9zeXNyb290IGFmdGVyIGRvX3BvcHVsYXRlX3N5c3Jvb3QgYmVmb3JlIGRvX2J1aWxkCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUtbmF0aXZlLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS1uYXRpdmUuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzNzNhZDkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUtbmF0aXZlLmluYwpAQCAtMCwwICsxLDE3IEBACitpbmhlcml0IG5hdGl2ZQorCityZXF1aXJlIHFlbXUuaW5jCisKK1NSQ19VUklfYXBwZW5kID0gIiBcCisgICAgICAgICAgICBmaWxlOi8vMDAxMi1maXgtbGliY2FwLWhlYWRlci1pc3N1ZS1vbi1zb21lLWRpc3Ryby5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAxMy1jcHVzLmMtQWRkLWVycm9yLW1lc3NhZ2VzLXdoZW4tcWVtaV9jcHVfa2lja190aHJlYWQtLnBhdGNoIFwKKyAgICAgICAgICAgICIKK0VYVFJBX09FQ09ORl9hcHBlbmQgPSAiIC0tcHl0aG9uPXB5dGhvbjIuNyIKKworRVhUUkFfT0VNQUtFX2FwcGVuZCA9ICIgTEQ9JyR7TER9JyBBUj0nJHtBUn0nIE9CSkNPUFk9JyR7T0JKQ09QWX0nIExERkxBR1M9JyR7TERGTEFHU30nIgorCitMREZMQUdTX2FwcGVuZCA9ICIgLWZ1c2UtbGQ9YmZkIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZ3RrKycsICdtYWtlX3FlbXVfd3JhcHBlcicsICcnLCBkKX0KK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS1uYXRpdmVfMy4xLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUtbmF0aXZlXzMuMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4YWNmZjgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUtbmF0aXZlXzMuMS4wLmJiCkBAIC0wLDAgKzEsOSBAQAorQlBOID0gInFlbXUiCisKK0RFUEVORFMgPSAiZ2xpYi0yLjAtbmF0aXZlIHpsaWItbmF0aXZlIgorCityZXF1aXJlIHFlbXUtbmF0aXZlLmluYworCitFWFRSQV9PRUNPTkZfYXBwZW5kID0gIiAtLXRhcmdldC1saXN0PSR7QGdldF9xZW11X3VzZXJtb2RlX3RhcmdldF9saXN0KGQpfSAtLWRpc2FibGUtdG9vbHMgLS1kaXNhYmxlLWJsb2JzIC0tZGlzYWJsZS1ndWVzdC1hZ2VudCIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS1zeXN0ZW0tbmF0aXZlXzMuMS4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LXN5c3RlbS1uYXRpdmVfMy4xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWJmNTI4YgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS1zeXN0ZW0tbmF0aXZlXzMuMS4wLmJiCkBAIC0wLDAgKzEsMjMgQEAKK0JQTiA9ICJxZW11IgorCityZXF1aXJlIHFlbXUtbmF0aXZlLmluYworCisjIEFzIHNvbWUgb2YgdGhlIGZpbGVzIGluc3RhbGxlZCBieSBxZW11LW5hdGl2ZSBhbmQgcWVtdS1zeXN0ZW0tbmF0aXZlIAorIyBhcmUgdGhlIHNhbWUsIHdlIGRlcGVuZCBvbiBxZW11LW5hdGl2ZSB0byBnZXQgdGhlIGZ1bGwgaW5zdGFsbGF0aW9uIHNldAorIyBhbmQgYXZvaWQgZmlsZSBjbGFzaGVzCitERVBFTkRTID0gImdsaWItMi4wLW5hdGl2ZSB6bGliLW5hdGl2ZSBwaXhtYW4tbmF0aXZlIHFlbXUtbmF0aXZlIgorCitFWFRSQV9PRUNPTkZfYXBwZW5kID0gIiAtLXRhcmdldC1saXN0PSR7QGdldF9xZW11X3N5c3RlbV90YXJnZXRfbGlzdChkKX0iCisKK1BBQ0tBR0VDT05GSUcgPz89ICJmZHQgYWxzYSBrdm0iCisKKyMgSGFuZGxlIGRpc3Ryb3Mgc3VjaCBhcyBDZW50T1MgNSAzMi1iaXQgdGhhdCBkbyBub3QgaGF2ZSBrdm0gc3VwcG9ydAorUEFDS0FHRUNPTkZJR19yZW1vdmUgPSAiJHtAJ2t2bScgaWYgbm90IG9zLnBhdGguZXhpc3RzKCcvdXNyL2luY2x1ZGUvbGludXgva3ZtLmgnKSBlbHNlICcnfSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtRG0gMDc1NSAke1dPUktESVJ9L3Bvd2VycGNfcm9tLmJpbiAke0R9JHtkYXRhZGlyfS9xZW11CisKKyAgICAjIFRoZSBmb2xsb3dpbmcgaXMgYWxzbyBpbnN0YWxsZWQgYnkgcWVtdS1uYXRpdmUKKyAgICBybSAtZiAke0R9JHtkYXRhZGlyfS9xZW11L3RyYWNlLWV2ZW50cy1hbGwKKyAgICBybSAtcmYgJHtEfSR7ZGF0YWRpcn0vcWVtdS9rZXltYXBzCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUtdGFyZ2V0cy5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUtdGFyZ2V0cy5pbmMKaW5kZXggODEwNDAxZC4uNTUwZDZmMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LXRhcmdldHMuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS10YXJnZXRzLmluYwpAQCAtMSw2ICsxLDcgQEAKLSMgcG9zc2libGUgYXJjaCB2YWx1ZXMgYXJlIGFybSBhYXJjaDY0IG1pcHMgbWlwc2VsIG1pcHM2NCBtaXBzNjRlbCBwcGMgcHBjNjQgcHBjNjRhYmkzMgotIyBwcGNlbWIgYXJtZWIgYWxwaGEgc3BhcmMzMnBsdXMgaTM4NiB4ODZfNjQgY3JpcyBtNjhrIG1pY3JvYmxhemUgc3BhcmMgc3BhcmMzMgotIyBzcGFyYzMycGx1cworIyBwb3NzaWJsZSBhcmNoIHZhbHVlcyBhcmU6CisjICAgIGFhcmNoNjQgYXJtIGFybWViIGFscGhhIGNyaXMgaTM4NiB4ODZfNjQgbTY4ayBtaWNyb2JsYXplCisjICAgIG1pcHMgbWlwc2VsIG1pcHM2NCBtaXBzNjRlbCBwcGMgcHBjNjQgcHBjNjRhYmkzMiBwcGNlbWIKKyMgICAgcmlzY3YzMiByaXNjdjY0IHNwYXJjIHNwYXJjMzIgc3BhcmMzMnBsdXMKIAogZGVmIGdldF9xZW11X3RhcmdldF9saXN0KGQpOgogICAgIGltcG9ydCBiYgpAQCAtMjAsMyArMjEsOCBAQAogICAgICAgICByZXR1cm4gc29mdG1tdW9ubHkgKyAnJy5qb2luKFthcmNoICsgIi1zb2Z0bW11IiArICIsIiBmb3IgYXJjaCBpbiBhcmNoc10pLnJzdHJpcCgnLCcpCiAgICAgcmV0dXJuIHNvZnRtbXVvbmx5ICsgbGludXh1c2Vyb25seSArICcnLmpvaW4oW2FyY2ggKyAiLWxpbnV4LXVzZXIiICsgIiwiICsgYXJjaCArICItc29mdG1tdSIgKyAiLCIgZm9yIGFyY2ggaW4gYXJjaHNdKS5yc3RyaXAoJywnKQogCitkZWYgZ2V0X3FlbXVfdXNlcm1vZGVfdGFyZ2V0X2xpc3QoZCk6CisgICAgcmV0dXJuICIsIi5qb2luKGZpbHRlcihsYW1iZGEgaTogIi1saW51eC11c2VyIiBpbiBpLCBnZXRfcWVtdV90YXJnZXRfbGlzdChkKS5zcGxpdCgnLCcpKSkKKworZGVmIGdldF9xZW11X3N5c3RlbV90YXJnZXRfbGlzdChkKToKKyAgICByZXR1cm4gIiwiLmpvaW4oZmlsdGVyKGxhbWJkYSBpOiAiLWxpbnV4LXVzZXIiIG5vdCBpbiBpLCBnZXRfcWVtdV90YXJnZXRfbGlzdChkKS5zcGxpdCgnLCcpKSkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUuaW5jCmluZGV4IGIwNWMxY2UuLmU1MDNhYTggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LmluYwpAQCAtMSwxMiArMSw2NiBAQAogU1VNTUFSWSA9ICJGYXN0IG9wZW4gc291cmNlIHByb2Nlc3NvciBlbXVsYXRvciIKIEhPTUVQQUdFID0gImh0dHA6Ly9xZW11Lm9yZyIKIExJQ0VOU0UgPSAiR1BMdjIgJiBMR1BMdjIuMSIKLURFUEVORFMgPSAiZ2xpYi0yLjAgemxpYiBwaXhtYW4iCi1SREVQRU5EU18ke1BOfV9jbGFzcy10YXJnZXQgKz0gImJhc2giCisKK1JERVBFTkRTXyR7UE59LXB0ZXN0ID0gImJhc2ggbWFrZSIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NDQxYzI4ZDJjZjg2ZTE1YTM3ZmE0N2UxNWE3MmZiYWMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7ZW5kbGluZT0yNDttZDU9YzA0ZGVmN2FlMzg4NTBlN2QzZWY1NDg1ODgxNTk5MTMiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9kb3dubG9hZC5xZW11Lm9yZy8ke0JQTn0tJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovL3Bvd2VycGNfcm9tLmJpbiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXNkbC5jLWFsbG93LXVzZXItdG8tZGlzYWJsZS1wb2ludGVyLWdyYWJzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItcWVtdS1BZGQtbWlzc2luZy13YWNvbS1ISUQtZGVzY3JpcHRvci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAzLUFkZC1zdWJwYWNrYWdlLXB0ZXN0LXdoaWNoLXJ1bnMtYWxsLXVuaXQtdGVzdC1jYXNlcy0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDQtcWVtdS1BZGQtYWRkaXRpb24tZW52aXJvbm1lbnQtc3BhY2UtdG8tYm9vdC1sb2FkZXItcS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA1LXFlbXUtZGlzYWJsZS1WYWxncmluZC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA2LXFlbXUtTGltaXQtcGF0aHMtc2VhcmNoZWQtZHVyaW5nLXVzZXItbW9kZS1lbXVsYXRpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNy1xZW11LW5hdGl2ZS1zZXQtbGQuYmZkLWZpeC1jZmxhZ3MtYW5kLXNldC1zb21lLWVudmlyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDgtY2hhcmRldi1jb25uZWN0LXNvY2tldC10by1hLXNwYXduZWQtY29tbWFuZC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA5LWFwaWMtZml4dXAtZmFsbHRocm91Z2gtdG8tUElDLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTAtbGludXgtdXNlci1GaXgtd2Via2l0Z3RrLWhhbmdzLW9uLTMyLWJpdC14ODYtdGFyZ2V0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTEtUmV2ZXJ0LWxpbnV4LXVzZXItZml4LW1tYXAtbXVubWFwLW1wcm90ZWN0LW1yZW1hcC1zaC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUFkZC1hLW1pc3NpbmctWDExLWluY2x1ZGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1lZ2wtaGVhZGxlc3MtYWRkLWVnbF9jcmVhdGVfY29udGV4dC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDE0LWZpeC1DVkUtMjAxOC0xNjg3Mi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDE1LWZpeC1DVkUtMjAxOC0yMDEyNC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDE2LWZpeC1DVkUtMjAxOC0yMDEyNS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDE3LWZpeC1DVkUtMjAxOC0yMDEyNi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDE4LWZpeC1DVkUtMjAxOC0yMDE5MS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDE5LWZpeC1DVkUtMjAxOC0yMDIxNi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOS0zODEyLnBhdGNoIFwKKyAgICAgICAgICAgIgorVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAicWVtdS0oP1A8cHZlcj5cZCsoXC5cZCspKylcLnRhciIKKworU1JDX1VSSVttZDVzdW1dID0gImZiNjg3Y2UwYjAyZDNiZjQzMjdlMzZkM2I5OTQyN2E4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZhMDUwOGRmMDc5YTBhMzNjMjQ4N2NhOTM2YTU2YzEyMTIyZjEwNWI4YTk2YTQ0Mzc0NzA0YmVmNmM2OWFiZmMiCisKK0NPTVBBVElCTEVfSE9TVF9taXBzYXJjaG4zMiA9ICJudWxsIgorQ09NUEFUSUJMRV9IT1NUX21pcHNhcmNobjY0ID0gIm51bGwiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICMgUHJldmVudCBRQSB3YXJuaW5ncyBhYm91dCBpbnN0YWxsZWQgJHtsb2NhbHN0YXRlZGlyfS9ydW4KKyAgICBpZiBbIC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1biBdOyB0aGVuIHJtZGlyICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bjsgZmkKK30KKworZG9fY29tcGlsZV9wdGVzdCgpIHsKKwltYWtlIGJ1aWxkdGVzdC1URVNUUworfQorCitkb19pbnN0YWxsX3B0ZXN0KCkgeworCWNwIC1yTCAke0J9L3Rlc3RzICR7RH0ke1BURVNUX1BBVEh9CisJZmluZCAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cyAtdHlwZSBmIC1uYW1lICIqLltTc2hjb2RdIiB8IHhhcmdzIC1pIHJtIC1yZiB7fQorCisJY3AgJHtTfS90ZXN0cy9NYWtlZmlsZS5pbmNsdWRlICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzCisJIyBEb24ndCBjaGVjayB0aGUgZmlsZSBnZW5yZWF0ZWQgYnkgY29uZmlndXJlCisJc2VkIC1pIC1lICcvd2lsZGNhcmQgY29uZmlnLWhvc3QubWFrL2QnIFwKKwkgICAgICAgLWUgJyQgey9lbmRpZi9kfScgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMvTWFrZWZpbGUuaW5jbHVkZQorfQorCiAKIHJlcXVpcmUgcWVtdS10YXJnZXRzLmluYwotaW5oZXJpdCBwa2djb25maWcgYmx1ZXRvb3RoCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCitpbmhlcml0IHBrZ2NvbmZpZyBibHVldG9vdGggcHRlc3QKIAogIyBRRU1VX1RBUkdFVFMgaXMgb3ZlcnJpZGFibGUgdmFyaWFibGUKIFFFTVVfVEFSR0VUUyA/PSAiYXJtIGFhcmNoNjQgaTM4NiBtaXBzIG1pcHNlbCBtaXBzNjQgbWlwczY0ZWwgcHBjIHJpc2N2MzIgcmlzY3Y2NCBzaDQgeDg2XzY0IgpAQCAtMjUsMTUgKzc5LDkgQEAKICAgICAtLXdpdGgtY29uZnN1ZmZpeD0vJHtCUE59IFwKICAgICAtLWRpc2FibGUtc3RyaXAgXAogICAgIC0tZGlzYWJsZS13ZXJyb3IgXAotICAgIC0tdGFyZ2V0LWxpc3Q9JHtAZ2V0X3FlbXVfdGFyZ2V0X2xpc3QoZCl9IFwKICAgICAtLWV4dHJhLWNmbGFncz0nJHtDRkxBR1N9JyBcCiAgICAgJHtQQUNLQUdFQ09ORklHX0NPTkZBUkdTfSBcCiAgICAgIgotRVhUUkFfT0VDT05GX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIC0tcHl0aG9uPXB5dGhvbjIuNyIKLQotRVhUUkFfT0VNQUtFX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIExEPScke0xEfScgQVI9JyR7QVJ9JyBPQkpDT1BZPScke09CSkNPUFl9JyBMREZMQUdTPScke0xERkxBR1N9JyIKLQotTERGTEFHU19hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiAtZnVzZS1sZD1iZmQiCiAKIGV4cG9ydCBMSUJUT09MPSIke0hPU1RfU1lTfS1saWJ0b29sIgogCkBAIC03MCwxOSArMTE4LDIwIEBACiB9CiAjIEVORCBvZiBxZW11LW1pcHMgd29ya2Fyb3VuZAogCi1QQUNLQUdFQ09ORklHID8/PSAiIFwKLSAgICBmZHQgc2RsIGt2bSBcCi0gICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnYWxzYSB4ZW4nLCBkKX0gXAotIgotUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmUgPz89ICJmZHQgYWxzYSBrdm0iCi1QQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZXNkayA/Pz0gImZkdCBzZGwga3ZtIgorbWFrZV9xZW11X3dyYXBwZXIoKSB7CisgICAgICAgIGdka19waXhidWZfbW9kdWxlX2ZpbGU9YHBrZy1jb25maWcgLS12YXJpYWJsZT1nZGtfcGl4YnVmX2NhY2hlX2ZpbGUgZ2RrLXBpeGJ1Zi0yLjBgCiAKLSMgSGFuZGxlIGRpc3Ryb3Mgc3VjaCBhcyBDZW50T1MgNSAzMi1iaXQgdGhhdCBkbyBub3QgaGF2ZSBrdm0gc3VwcG9ydAotUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmVfcmVtb3ZlID0gIiR7QCdrdm0nIGlmIG5vdCBvcy5wYXRoLmV4aXN0cygnL3Vzci9pbmNsdWRlL2xpbnV4L2t2bS5oJykgZWxzZSAnJ30iCisgICAgICAgIGZvciB0b29sIGluIGBscyAke0R9JHtiaW5kaXJ9L3FlbXUtc3lzdGVtLSpgOyBkbworICAgICAgICAgICAgICAgIGNyZWF0ZV93cmFwcGVyICR0b29sIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIEdES19QSVhCVUZfTU9EVUxFX0ZJTEU9JGdka19waXhidWZfbW9kdWxlX2ZpbGUgXAorICAgICAgICAgICAgICAgICAgICAgICAgRk9OVENPTkZJR19QQVRIPS9ldGMvZm9udHMgXAorICAgICAgICAgICAgICAgICAgICAgICAgR1RLX1RIRU1FPUFkd2FpdGEKKyAgICAgICAgZG9uZQorfQogCi0jIERpc2FibGUga3ZtIG9uIHRhcmdldHMgdGhhdCBkbyBub3Qgc3VwcG9ydCBpdAotUEFDS0FHRUNPTkZJR19yZW1vdmVfZGFyd2luID0gImt2bSIKLVBBQ0tBR0VDT05GSUdfcmVtb3ZlX21pbmd3MzIgPSAia3ZtIgorIyBEaXNhYmxlIGt2bS92aXJnbC9tZXNhIG9uIHRhcmdldHMgdGhhdCBkbyBub3Qgc3VwcG9ydCBpdAorUEFDS0FHRUNPTkZJR19yZW1vdmVfZGFyd2luID0gImt2bSB2aXJnbHJlbmRlcmVyIGdseCBndGsrIgorUEFDS0FHRUNPTkZJR19yZW1vdmVfbWluZ3czMiA9ICJrdm0gdmlyZ2xyZW5kZXJlciBnbHggZ3RrKyIKIAogUEFDS0FHRUNPTkZJR1tzZGxdID0gIi0tZW5hYmxlLXNkbCAtLXdpdGgtc2RsYWJpPTIuMCwtLWRpc2FibGUtc2RsLGxpYnNkbDIiCiBQQUNLQUdFQ09ORklHW3ZpcnRmc10gPSAiLS1lbmFibGUtdmlydGZzIC0tZW5hYmxlLWF0dHIsLS1kaXNhYmxlLXZpcnRmcyxsaWJjYXAgYXR0ciwiCkBAIC05NSw3ICsxNDQsNyBAQAogUEFDS0FHRUNPTkZJR1tsaWJjdXJsXSA9ICItLWVuYWJsZS1jdXJsLC0tZGlzYWJsZS1jdXJsLGxpYmN1cmwsIgogUEFDS0FHRUNPTkZJR1tuc3NdID0gIi0tZW5hYmxlLXNtYXJ0Y2FyZCwtLWRpc2FibGUtc21hcnRjYXJkLG5zcywiCiBQQUNLQUdFQ09ORklHW2N1cnNlc10gPSAiLS1lbmFibGUtY3Vyc2VzLC0tZGlzYWJsZS1jdXJzZXMsbmN1cnNlcywiCi1QQUNLQUdFQ09ORklHW2d0aytdID0gIi0tZW5hYmxlLWd0ayAtLXdpdGgtZ3RrYWJpPTMuMCAtLWVuYWJsZS12dGUsLS1kaXNhYmxlLWd0ayAtLWRpc2FibGUtdnRlLGd0ayszIHZ0ZSIKK1BBQ0tBR0VDT05GSUdbZ3RrK10gPSAiLS1lbmFibGUtZ3RrIC0tZW5hYmxlLXZ0ZSwtLWRpc2FibGUtZ3RrIC0tZGlzYWJsZS12dGUsZ3RrKzMgdnRlIGdldHRleHQtbmF0aXZlIgogUEFDS0FHRUNPTkZJR1tsaWJjYXAtbmddID0gIi0tZW5hYmxlLWNhcC1uZywtLWRpc2FibGUtY2FwLW5nLGxpYmNhcC1uZywiCiBQQUNLQUdFQ09ORklHW3NzaDJdID0gIi0tZW5hYmxlLWxpYnNzaDIsLS1kaXNhYmxlLWxpYnNzaDIsbGlic3NoMiwiCiBQQUNLQUdFQ09ORklHW2djcnlwdF0gPSAiLS1lbmFibGUtZ2NyeXB0LC0tZGlzYWJsZS1nY3J5cHQsbGliZ2NyeXB0LCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDAxLUFkZC1hLW1pc3NpbmctWDExLWluY2x1ZGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwMS1BZGQtYS1taXNzaW5nLVgxMS1pbmNsdWRlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5MjkzNmUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwMS1BZGQtYS1taXNzaW5nLVgxMS1pbmNsdWRlLnBhdGNoCkBAIC0wLDAgKzEsNjUgQEAKK0Zyb20gZWIxYTIxNWE0Zjg2ZGRlNDQ5M2MzZTIyYWQ5ZjZkNjk4ODUwOTE1ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogVGh1LCAyMCBEZWMgMjAxOCAxODowNjoyOSArMDEwMAorU3ViamVjdDogW1BBVENIXSBlZ2wtaGVscGVycy5oOiBkbyBub3QgZGVwZW5kIG9uIFgxMSBXaW5kb3cgdHlwZSwgdXNlCisgRUdMTmF0aXZlV2luZG93VHlwZQorCitJdCB3YXMgYXNzdW1lZCB0aGF0IG1lc2EgcHJvdmlkZXMgdGhlIG5lY2Vzc2FyeSBYMTEgaW5jbHVkZXMsCitidXQgaXQgaXMgbm90IGFsd2F5cyB0aGUgY2FzZSwgYXMgaXQgY2FuIGJlIGNvbmZpZ3VyZWQgd2l0aG91dCB4MTEgc3VwcG9ydC4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHA6Ly9saXN0cy5ub25nbnUub3JnL2FyY2hpdmUvaHRtbC9xZW11LWRldmVsLzIwMTktMDEvbXNnMDM3MDYuaHRtbF0KK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorCistLS0KKyBpbmNsdWRlL3VpL2VnbC1oZWxwZXJzLmggfCAyICstCisgdWkvZWdsLWhlbHBlcnMuYyAgICAgICAgIHwgNCArKy0tCisgdWkvZ3RrLWVnbC5jICAgICAgICAgICAgIHwgMiArLQorIDMgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaW5jbHVkZS91aS9lZ2wtaGVscGVycy5oIGIvaW5jbHVkZS91aS9lZ2wtaGVscGVycy5oCitpbmRleCA5ZGI3MjkzYi4uM2ZjNjU2YTcgMTAwNjQ0CistLS0gYS9pbmNsdWRlL3VpL2VnbC1oZWxwZXJzLmgKKysrKyBiL2luY2x1ZGUvdWkvZWdsLWhlbHBlcnMuaAorQEAgLTQzLDcgKzQzLDcgQEAgdm9pZCBlZ2xfZG1hYnVmX3JlbGVhc2VfdGV4dHVyZShRZW11RG1hQnVmICpkbWFidWYpOworIAorICNlbmRpZgorIAorLUVHTFN1cmZhY2UgcWVtdV9lZ2xfaW5pdF9zdXJmYWNlX3gxMShFR0xDb250ZXh0IGVjdHgsIFdpbmRvdyB3aW4pOworK0VHTFN1cmZhY2UgcWVtdV9lZ2xfaW5pdF9zdXJmYWNlX3gxMShFR0xDb250ZXh0IGVjdHgsIEVHTE5hdGl2ZVdpbmRvd1R5cGUgd2luKTsKKyAKKyBpbnQgcWVtdV9lZ2xfaW5pdF9kcHlfeDExKEVHTE5hdGl2ZURpc3BsYXlUeXBlIGRweSwgRGlzcGxheUdMTW9kZSBtb2RlKTsKKyBpbnQgcWVtdV9lZ2xfaW5pdF9kcHlfbWVzYShFR0xOYXRpdmVEaXNwbGF5VHlwZSBkcHksIERpc3BsYXlHTE1vZGUgbW9kZSk7CitkaWZmIC0tZ2l0IGEvdWkvZWdsLWhlbHBlcnMuYyBiL3VpL2VnbC1oZWxwZXJzLmMKK2luZGV4IDRmNDc1MTQyLi41ZTExNWIzZiAxMDA2NDQKKy0tLSBhL3VpL2VnbC1oZWxwZXJzLmMKKysrKyBiL3VpL2VnbC1oZWxwZXJzLmMKK0BAIC0yNzMsMTQgKzI3MywxNCBAQCB2b2lkIGVnbF9kbWFidWZfcmVsZWFzZV90ZXh0dXJlKFFlbXVEbWFCdWYgKmRtYWJ1ZikKKyAKKyAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisgCistRUdMU3VyZmFjZSBxZW11X2VnbF9pbml0X3N1cmZhY2VfeDExKEVHTENvbnRleHQgZWN0eCwgV2luZG93IHdpbikKKytFR0xTdXJmYWNlIHFlbXVfZWdsX2luaXRfc3VyZmFjZV94MTEoRUdMQ29udGV4dCBlY3R4LCBFR0xOYXRpdmVXaW5kb3dUeXBlIHdpbikKKyB7CisgICAgIEVHTFN1cmZhY2UgZXN1cmZhY2U7CisgICAgIEVHTEJvb2xlYW4gYjsKKyAKKyAgICAgZXN1cmZhY2UgPSBlZ2xDcmVhdGVXaW5kb3dTdXJmYWNlKHFlbXVfZWdsX2Rpc3BsYXksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxZW11X2VnbF9jb25maWcsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoRUdMTmF0aXZlV2luZG93VHlwZSl3aW4sIE5VTEwpOworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luLCBOVUxMKTsKKyAgICAgaWYgKGVzdXJmYWNlID09IEVHTF9OT19TVVJGQUNFKSB7CisgICAgICAgICBlcnJvcl9yZXBvcnQoImVnbDogZWdsQ3JlYXRlV2luZG93U3VyZmFjZSBmYWlsZWQiKTsKKyAgICAgICAgIHJldHVybiBOVUxMOworZGlmZiAtLWdpdCBhL3VpL2d0ay1lZ2wuYyBiL3VpL2d0ay1lZ2wuYworaW5kZXggNTQyMGMyMzYuLjFmOTQxMTYyIDEwMDY0NAorLS0tIGEvdWkvZ3RrLWVnbC5jCisrKysgYi91aS9ndGstZWdsLmMKK0BAIC01NCw3ICs1NCw3IEBAIHZvaWQgZ2RfZWdsX2luaXQoVmlydHVhbENvbnNvbGUgKnZjKQorICAgICB9CisgCisgICAgIHZjLT5nZnguZWN0eCA9IHFlbXVfZWdsX2luaXRfY3R4KCk7CistICAgIHZjLT5nZnguZXN1cmZhY2UgPSBxZW11X2VnbF9pbml0X3N1cmZhY2VfeDExKHZjLT5nZnguZWN0eCwgeDExX3dpbmRvdyk7CisrICAgIHZjLT5nZnguZXN1cmZhY2UgPSBxZW11X2VnbF9pbml0X3N1cmZhY2VfeDExKHZjLT5nZnguZWN0eCwgKEVHTE5hdGl2ZVdpbmRvd1R5cGUpeDExX3dpbmRvdyk7CisgCisgICAgIGFzc2VydCh2Yy0+Z2Z4LmVzdXJmYWNlKTsKKyB9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwMS1lZ2wtaGVhZGxlc3MtYWRkLWVnbF9jcmVhdGVfY29udGV4dC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDAxLWVnbC1oZWFkbGVzcy1hZGQtZWdsX2NyZWF0ZV9jb250ZXh0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5MzI2YzAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwMS1lZ2wtaGVhZGxlc3MtYWRkLWVnbF9jcmVhdGVfY29udGV4dC5wYXRjaApAQCAtMCwwICsxLDUwIEBACitGcm9tIDk1MmU1ZDU4NGY1YWFiZTQxMjk4YzI3ODA2NWZlNjI4ZjNmN2FhN2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBHZXJkIEhvZmZtYW5uIDxrcmF4ZWxAcmVkaGF0LmNvbT4KK0RhdGU6IFRodSwgMjkgTm92IDIwMTggMTM6MzU6MDIgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gZWdsLWhlYWRsZXNzOiBhZGQgZWdsX2NyZWF0ZV9jb250ZXh0CisKK1dlIG11c3Qgc2V0IHRoZSBjb3JyZWN0IGNvbnRleHQgKHZpYSBlZ2xNYWtlQ3VycmVudCkgYmVmb3JlCitjYWxsaW5nIHFlbXVfZWdsX2NyZWF0ZV9jb250ZXh0LCBzbyB3ZSBuZWVkIGEgdGhpbiB3cmFwcGVyIGFuZCBjYW4ndAoraG9vayBxZW11X2VnbF9jcmVhdGVfY29udGV4dCBkaXJlY3RseSBhcyAtPmRweV9nbF9jdHhfY3JlYXRlIGNhbGxiYWNrLgorCitSZXBvcnRlZC1ieTogRnJlZGVyaWsgQ2FybGllciA8ZnJlZGVyaWsuY2FybGllckBxdWFtb3Rpb24ubW9iaT4KK1NpZ25lZC1vZmYtYnk6IEdlcmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPgorTWVzc2FnZS1pZDogMjAxODExMjkxMjM1MDIuMzAxMjktMS1rcmF4ZWxAcmVkaGF0LmNvbQorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdC5xZW11Lm9yZy8/cD1xZW11LmdpdDthPWNvbW1pdDtoPTk1MmU1ZDU4NGY1YWFiZTQxMjk4YzI3ODA2NWZlNjI4ZjNmN2FhN2FdCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKy0tLQorIHVpL2VnbC1oZWFkbGVzcy5jIHwgMTAgKysrKysrKysrLQorIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3VpL2VnbC1oZWFkbGVzcy5jIGIvdWkvZWdsLWhlYWRsZXNzLmMKK2luZGV4IDRjZjNiYmMwZTQuLjUxOWU3YmFkMzIgMTAwNjQ0CistLS0gYS91aS9lZ2wtaGVhZGxlc3MuYworKysrIGIvdWkvZWdsLWhlYWRsZXNzLmMKK0BAIC0zOCw2ICszOCwxNCBAQCBzdGF0aWMgdm9pZCBlZ2xfZ2Z4X3N3aXRjaChEaXNwbGF5Q2hhbmdlTGlzdGVuZXIgKmRjbCwKKyAgICAgZWRweS0+ZHMgPSBuZXdfc3VyZmFjZTsKKyB9CisgCisrc3RhdGljIFFFTVVHTENvbnRleHQgZWdsX2NyZWF0ZV9jb250ZXh0KERpc3BsYXlDaGFuZ2VMaXN0ZW5lciAqZGNsLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRRU1VR0xQYXJhbXMgKnBhcmFtcykKKyt7CisrICAgIGVnbE1ha2VDdXJyZW50KHFlbXVfZWdsX2Rpc3BsYXksIEVHTF9OT19TVVJGQUNFLCBFR0xfTk9fU1VSRkFDRSwKKysgICAgICAgICAgICAgICAgICAgcWVtdV9lZ2xfcm5fY3R4KTsKKysgICAgcmV0dXJuIHFlbXVfZWdsX2NyZWF0ZV9jb250ZXh0KGRjbCwgcGFyYW1zKTsKKyt9CisrCisgc3RhdGljIHZvaWQgZWdsX3NjYW5vdXRfZGlzYWJsZShEaXNwbGF5Q2hhbmdlTGlzdGVuZXIgKmRjbCkKKyB7CisgICAgIGVnbF9kcHkgKmVkcHkgPSBjb250YWluZXJfb2YoZGNsLCBlZ2xfZHB5LCBkY2wpOworQEAgLTE1MCw3ICsxNTgsNyBAQCBzdGF0aWMgY29uc3QgRGlzcGxheUNoYW5nZUxpc3RlbmVyT3BzIGVnbF9vcHMgPSB7CisgICAgIC5kcHlfZ2Z4X3VwZGF0ZSAgICAgICAgICA9IGVnbF9nZnhfdXBkYXRlLAorICAgICAuZHB5X2dmeF9zd2l0Y2ggICAgICAgICAgPSBlZ2xfZ2Z4X3N3aXRjaCwKKyAKKy0gICAgLmRweV9nbF9jdHhfY3JlYXRlICAgICAgID0gcWVtdV9lZ2xfY3JlYXRlX2NvbnRleHQsCisrICAgIC5kcHlfZ2xfY3R4X2NyZWF0ZSAgICAgICA9IGVnbF9jcmVhdGVfY29udGV4dCwKKyAgICAgLmRweV9nbF9jdHhfZGVzdHJveSAgICAgID0gcWVtdV9lZ2xfZGVzdHJveV9jb250ZXh0LAorICAgICAuZHB5X2dsX2N0eF9tYWtlX2N1cnJlbnQgPSBxZW11X2VnbF9tYWtlX2NvbnRleHRfY3VycmVudCwKKyAgICAgLmRweV9nbF9jdHhfZ2V0X2N1cnJlbnQgID0gcWVtdV9lZ2xfZ2V0X2N1cnJlbnRfY29udGV4dCwKKy0tIAorMi4xNy4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDAxLXNkbC5jLWFsbG93LXVzZXItdG8tZGlzYWJsZS1wb2ludGVyLWdyYWJzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDEtc2RsLmMtYWxsb3ctdXNlci10by1kaXNhYmxlLXBvaW50ZXItZ3JhYnMucGF0Y2gKaW5kZXggYjhhOTIwNi4uNWI5YTFmOSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDEtc2RsLmMtYWxsb3ctdXNlci10by1kaXNhYmxlLXBvaW50ZXItZ3JhYnMucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDEtc2RsLmMtYWxsb3ctdXNlci10by1kaXNhYmxlLXBvaW50ZXItZ3JhYnMucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDE4ZmI0NWMzNGE0NzNjNGJhMjQ3YmI4MmJjZWE5NGI3YzNiYTQ5M2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGM1M2RkYjVhY2JlZTU2ZGI2NDIzZjM2OWI5ZjlhOWI2MjUwMWI0YWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgogRGF0ZTogV2VkLCAxOCBTZXAgMjAxMyAxNDowNDo1NCArMDEwMAogU3ViamVjdDogW1BBVENIXSBzZGwuYzogYWxsb3cgdXNlciB0byBkaXNhYmxlIHBvaW50ZXIgZ3JhYnMKQEAgLTIxLDE1ICsyMSwxNiBAQAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCiBTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgogU2lnbmVkLW9mZi1ieTogRXJpYyBCw6luYXJkIDxlcmljQGV1a3JlYS5jb20+CisKIC0tLQogIHVpL3NkbC5jIHwgMTMgKysrKysrKysrKystLQogIDEgZmlsZSBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvdWkvc2RsLmMgYi91aS9zZGwuYwotaW5kZXggYTVmZDUwM2MyNS4uYWI4ZDFiMWViMSAxMDA2NDQKK2luZGV4IDE5MGIxNmY1Li5hYTg5NDcxZCAxMDA2NDQKIC0tLSBhL3VpL3NkbC5jCiArKysgYi91aS9zZGwuYwotQEAgLTY4LDYgKzY4LDExIEBAIHN0YXRpYyBpbnQgaWRsZV9jb3VudGVyOworQEAgLTY5LDYgKzY5LDExIEBAIHN0YXRpYyBpbnQgaWRsZV9jb3VudGVyOwogIHN0YXRpYyBjb25zdCBndWludDE2ICprZXljb2RlX21hcDsKICBzdGF0aWMgc2l6ZV90IGtleWNvZGVfbWFwbGVuOwogIApAQCAtNDEsNyArNDIsNyBAQAogICNkZWZpbmUgU0RMX1JFRlJFU0hfSU5URVJWQUxfQlVTWSAxMAogICNkZWZpbmUgU0RMX01BWF9JRExFX0NPVU5UICgyICogR1VJX1JFRlJFU0hfSU5URVJWQUxfREVGQVVMVCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gU0RMX1JFRlJFU0hfSU5URVJWQUxfQlVTWSArIDEpCi1AQCAtMzk4LDE0ICs0MDMsMTYgQEAgc3RhdGljIHZvaWQgc2RsX2dyYWJfc3RhcnQodm9pZCkKK0BAIC0zOTksMTQgKzQwNCwxNiBAQCBzdGF0aWMgdm9pZCBzZGxfZ3JhYl9zdGFydCh2b2lkKQogICAgICAgICAgfQogICAgICB9IGVsc2UKICAgICAgICAgIHNkbF9oaWRlX2N1cnNvcigpOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDItcWVtdS1BZGQtbWlzc2luZy13YWNvbS1ISUQtZGVzY3JpcHRvci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDAyLXFlbXUtQWRkLW1pc3Npbmctd2Fjb20tSElELWRlc2NyaXB0b3IucGF0Y2gKaW5kZXggOTBlNGI4MC4uNGRlMjY4OCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDItcWVtdS1BZGQtbWlzc2luZy13YWNvbS1ISUQtZGVzY3JpcHRvci5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwMi1xZW11LUFkZC1taXNzaW5nLXdhY29tLUhJRC1kZXNjcmlwdG9yLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA0MTYwM2Y3NDVjYWFlY2RjN2M5ZDc2MGZiN2QyZGYwMWNjYzYwMTI4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA3YWMzYzg0ZjI4ODY2NDkxYzU4Y2MwZjUyYTI1YTcwNjk0OWM4ZWYzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+CiBEYXRlOiBUaHUsIDI3IE5vdiAyMDE0IDE0OjA0OjI5ICswMDAwCiBTdWJqZWN0OiBbUEFUQ0hdIHFlbXU6IEFkZCBtaXNzaW5nIHdhY29tIEhJRCBkZXNjcmlwdG9yCkBAIC0xMywxMiArMTMsMTMgQEAKIAogVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKIDIwMTQvMTEvMjcKKwogLS0tCiAgaHcvdXNiL2Rldi13YWNvbS5jIHwgOTQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogIDEgZmlsZSBjaGFuZ2VkLCA5MyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9ody91c2IvZGV2LXdhY29tLmMgYi9ody91c2IvZGV2LXdhY29tLmMKLWluZGV4IGJmNzAwMTMwNTkuLjJmNmUxMjk3MzIgMTAwNjQ0CitpbmRleCBhYzBiYzgzYi4uNmY5YjIyZDQgMTAwNjQ0CiAtLS0gYS9ody91c2IvZGV2LXdhY29tLmMKICsrKyBiL2h3L3VzYi9kZXYtd2Fjb20uYwogQEAgLTcyLDYgKzcyLDg5IEBAIHN0YXRpYyBjb25zdCBVU0JEZXNjU3RyaW5ncyBkZXNjX3N0cmluZ3MgPSB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwMy1BZGQtc3VicGFja2FnZS1wdGVzdC13aGljaC1ydW5zLWFsbC11bml0LXRlc3QtY2FzZXMtLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDMtQWRkLXN1YnBhY2thZ2UtcHRlc3Qtd2hpY2gtcnVucy1hbGwtdW5pdC10ZXN0LWNhc2VzLS5wYXRjaAppbmRleCAwZDQzMjcxLi42NjhmYzQ2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwMy1BZGQtc3VicGFja2FnZS1wdGVzdC13aGljaC1ydW5zLWFsbC11bml0LXRlc3QtY2FzZXMtLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDAzLUFkZC1zdWJwYWNrYWdlLXB0ZXN0LXdoaWNoLXJ1bnMtYWxsLXVuaXQtdGVzdC1jYXNlcy0ucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIGE5YTY2OTQ0OGJhNmYxYjI5NTQyN2UyNzFkOTlmNjE3MzZmYzUxODkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGFhYzg4MzRiZmQ1Yjc5ZTcyNGYyNTkzODk1ODQ3YjUwOTY4YTEyMjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBKdXJvIEJ5c3RyaWNreSA8anVyby5ieXN0cmlja3lAaW50ZWwuY29tPgogRGF0ZTogVGh1LCAzMSBBdWcgMjAxNyAxMTowNjo1NiAtMDcwMAogU3ViamVjdDogW1BBVENIXSBBZGQgc3VicGFja2FnZSAtcHRlc3Qgd2hpY2ggcnVucyBhbGwgdW5pdCB0ZXN0IGNhc2VzIGZvcgpAQCAtOSwxNSArOSwxNiBAQAogU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CiAKIFNpZ25lZC1vZmYtYnk6IEp1cm8gQnlzdHJpY2t5IDxqdXJvLmJ5c3RyaWNreUBpbnRlbC5jb20+CisKIC0tLQogIHRlc3RzL01ha2VmaWxlLmluY2x1ZGUgfCA4ICsrKysrKysrCiAgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKQogCiBkaWZmIC0tZ2l0IGEvdGVzdHMvTWFrZWZpbGUuaW5jbHVkZSBiL3Rlc3RzL01ha2VmaWxlLmluY2x1ZGUKLWluZGV4IDNiOWE1ZTMxYTIuLmRmYmNkNzI4ZDcgMTAwNjQ0CitpbmRleCBmYjBiNDQ5Yy4uYWZlZGFiZDQgMTAwNjQ0CiAtLS0gYS90ZXN0cy9NYWtlZmlsZS5pbmNsdWRlCiArKysgYi90ZXN0cy9NYWtlZmlsZS5pbmNsdWRlCi1AQCAtOTcyLDQgKzk3MiwxMiBAQCBhbGw6ICQoUUVNVV9JT1RFU1RTX0hFTFBFUlMteSkKK0BAIC05NjcsNCArOTY3LDEyIEBAIGFsbDogJChRRU1VX0lPVEVTVFNfSEVMUEVSUy15KQogIC1pbmNsdWRlICQod2lsZGNhcmQgdGVzdHMvKi5kKQogIC1pbmNsdWRlICQod2lsZGNhcmQgdGVzdHMvbGlicW9zLyouZCkKICAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDA0LXFlbXUtQWRkLWFkZGl0aW9uLWVudmlyb25tZW50LXNwYWNlLXRvLWJvb3QtbG9hZGVyLXEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwNC1xZW11LUFkZC1hZGRpdGlvbi1lbnZpcm9ubWVudC1zcGFjZS10by1ib290LWxvYWRlci1xLnBhdGNoCmluZGV4IDUxNTJkY2EuLmI0ZDRjNTggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDA0LXFlbXUtQWRkLWFkZGl0aW9uLWVudmlyb25tZW50LXNwYWNlLXRvLWJvb3QtbG9hZGVyLXEucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDQtcWVtdS1BZGQtYWRkaXRpb24tZW52aXJvbm1lbnQtc3BhY2UtdG8tYm9vdC1sb2FkZXItcS5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gZGQ0NDA0YTMzNGE1NDVlOWJlYWZhMWIxZTQxYjNhOGYzNWVmMzFhOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gM2RlN2E1NjM1MDkzYzMxZGNiOTYwY2U5ZGZmMjdkYTYyOWI4NWQ0ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEphc29uIFdlc3NlbCA8amFzb24ud2Vzc2VsQHdpbmRyaXZlci5jb20+CiBEYXRlOiBGcmksIDI4IE1hciAyMDE0IDE3OjQyOjQzICswODAwCiBTdWJqZWN0OiBbUEFUQ0hdIHFlbXU6IEFkZCBhZGRpdGlvbiBlbnZpcm9ubWVudCBzcGFjZSB0byBib290IGxvYWRlcgpAQCAtMTMsMTIgKzEzLDEzIEBACiAKIFNpZ25lZC1vZmYtYnk6IEphc29uIFdlc3NlbCA8amFzb24ud2Vzc2VsQHdpbmRyaXZlci5jb20+CiBTaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CisKIC0tLQogIGh3L21pcHMvbWlwc19tYWx0YS5jIHwgMiArLQogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvaHcvbWlwcy9taXBzX21hbHRhLmMgYi9ody9taXBzL21pcHNfbWFsdGEuYwotaW5kZXggZjY1MTNhNGZkNS4uZDVlZmFmYjFlOCAxMDA2NDQKK2luZGV4IGMxY2YwZmUxLi5kZWNmZmQyZiAxMDA2NDQKIC0tLSBhL2h3L21pcHMvbWlwc19tYWx0YS5jCiArKysgYi9ody9taXBzL21pcHNfbWFsdGEuYwogQEAgLTYyLDcgKzYyLDcgQEAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDA1LXFlbXUtZGlzYWJsZS1WYWxncmluZC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDA1LXFlbXUtZGlzYWJsZS1WYWxncmluZC5wYXRjaAppbmRleCA3MGJhZjBmLi5mMGNmODE0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwNS1xZW11LWRpc2FibGUtVmFsZ3JpbmQucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDUtcWVtdS1kaXNhYmxlLVZhbGdyaW5kLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA0NDc1YjNkOTczNzFlNTg4NTQwMzMzOTg4YTk3ZDdkZjNlYzJjNjVhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAzMmU4YTk0YjZhZTY2NGQ5YjU2ODllMTlkNDk1ZTMwNGMwZjQxOTU0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KIERhdGU6IFR1ZSwgMjAgT2N0IDIwMTUgMjI6MTk6MDggKzAxMDAKIFN1YmplY3Q6IFtQQVRDSF0gcWVtdTogZGlzYWJsZSBWYWxncmluZApAQCAtNywxNSArNywxNiBAQAogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUKIFNpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKIC0tLQogIGNvbmZpZ3VyZSB8IDkgLS0tLS0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDkgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKLWluZGV4IDBhMTliMDMzYmMuLjY5ZTA1ZmI2YzAgMTAwNzU1CitpbmRleCAwYTNjNmE3Mi4uMDY5ZTBkYWEgMTAwNzU1CiAtLS0gYS9jb25maWd1cmUKICsrKyBiL2NvbmZpZ3VyZQotQEAgLTQ4OTUsMTUgKzQ4OTUsNiBAQCBmaQorQEAgLTUwNDQsMTUgKzUwNDQsNiBAQCBmaQogICMgY2hlY2sgaWYgd2UgaGF2ZSB2YWxncmluZC92YWxncmluZC5oCiAgCiAgdmFsZ3JpbmRfaD1ubwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDYtcWVtdS1MaW1pdC1wYXRocy1zZWFyY2hlZC1kdXJpbmctdXNlci1tb2RlLWVtdWxhdGlvbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDA2LXFlbXUtTGltaXQtcGF0aHMtc2VhcmNoZWQtZHVyaW5nLXVzZXItbW9kZS1lbXVsYXRpb24ucGF0Y2gKaW5kZXggYTlkNzk4Yy4uNGIyZjAxMyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDYtcWVtdS1MaW1pdC1wYXRocy1zZWFyY2hlZC1kdXJpbmctdXNlci1tb2RlLWVtdWxhdGlvbi5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwNi1xZW11LUxpbWl0LXBhdGhzLXNlYXJjaGVkLWR1cmluZy11c2VyLW1vZGUtZW11bGF0aW9uLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBjNTMyYmNkYWU4MjU5YjBmNzE3MjNjZGEzMzFkZWQ0ZGJiMGZhOTA4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAwMmY4MGVlODE2ODFiNjMwN2E4MDMyMTI4YTA3Njg2MTgzNjYyMjcwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+CiBEYXRlOiBXZWQsIDkgTWFyIDIwMTYgMjI6NDk6MDIgKzAwMDAKIFN1YmplY3Q6IFtQQVRDSF0gcWVtdTogTGltaXQgcGF0aHMgc2VhcmNoZWQgZHVyaW5nIHVzZXIgbW9kZSBlbXVsYXRpb24KQEAgLTE5LDEyICsxOSwxMyBAQAogUlAKIDIwMTYvMy85CiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKwogLS0tCiAgdXRpbC9wYXRoLmMgfCA0NCArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL3V0aWwvcGF0aC5jIGIvdXRpbC9wYXRoLmMKLWluZGV4IDdmOWZjMjcyZmIuLmE0MTZjZDRhYzIgMTAwNjQ0CitpbmRleCA3ZjlmYzI3Mi4uYTQxNmNkNGEgMTAwNjQ0CiAtLS0gYS91dGlsL3BhdGguYwogKysrIGIvdXRpbC9wYXRoLmMKIEBAIC0xNSw2ICsxNSw3IEBAIHN0cnVjdCBwYXRoZWxlbQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDctcWVtdS1uYXRpdmUtc2V0LWxkLmJmZC1maXgtY2ZsYWdzLWFuZC1zZXQtc29tZS1lbnZpci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDA3LXFlbXUtbmF0aXZlLXNldC1sZC5iZmQtZml4LWNmbGFncy1hbmQtc2V0LXNvbWUtZW52aXIucGF0Y2gKaW5kZXggMTI0NTZiYi4uNDE2M2U1MSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDctcWVtdS1uYXRpdmUtc2V0LWxkLmJmZC1maXgtY2ZsYWdzLWFuZC1zZXQtc29tZS1lbnZpci5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwNy1xZW11LW5hdGl2ZS1zZXQtbGQuYmZkLWZpeC1jZmxhZ3MtYW5kLXNldC1zb21lLWVudmlyLnBhdGNoCkBAIC0xLDE4ICsxLDE5IEBACi1Gcm9tIDJkMjlkNTJiNmY3NTU3NThjZmNhNmFmMGJjZmQ3ODA5MWUxNmE3YmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDc0YmNlMzViNzFmNDczM2MxM2U5NmY5NmUyNTk1NmZmOTQzZmFlMjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBTdGVwaGVuIEFybm9sZCA8c2Fybm9sZEB2Y3RsYWJzLmNvbT4KIERhdGU6IFN1biwgMTIgSnVuIDIwMTYgMTg6MDk6NTYgLTA3MDAKIFN1YmplY3Q6IFtQQVRDSF0gcWVtdS1uYXRpdmU6IHNldCBsZC5iZmQsIGZpeCBjZmxhZ3MsIGFuZCBzZXQgc29tZSBlbnZpcm9ubWVudAogCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKwogLS0tCiAgY29uZmlndXJlIHwgNCAtLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDQgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKLWluZGV4IDY5ZTA1ZmI2YzAuLjEyZmMzZDhiZGMgMTAwNzU1CitpbmRleCAwNjllMGRhYS4uNWI5N2YzYzEgMTAwNzU1CiAtLS0gYS9jb25maWd1cmUKICsrKyBiL2NvbmZpZ3VyZQotQEAgLTU0MTMsMTAgKzU0MTMsNiBAQCB3cml0ZV9jX3NrZWxldG9uCitAQCAtNTYyMiwxMCArNTYyMiw2IEBAIHdyaXRlX2Nfc2tlbGV0b24KICBpZiB0ZXN0ICIkZ2NvdiIgPSAieWVzIiA7IHRoZW4KICAgIENGTEFHUz0iLWZwcm9maWxlLWFyY3MgLWZ0ZXN0LWNvdmVyYWdlIC1nICRDRkxBR1MiCiAgICBMREZMQUdTPSItZnByb2ZpbGUtYXJjcyAtZnRlc3QtY292ZXJhZ2UgJExERkxBR1MiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwOC1jaGFyZGV2LWNvbm5lY3Qtc29ja2V0LXRvLWEtc3Bhd25lZC1jb21tYW5kLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDgtY2hhcmRldi1jb25uZWN0LXNvY2tldC10by1hLXNwYXduZWQtY29tbWFuZC5wYXRjaAppbmRleCAyYWZlNGU5Li5lNWEyZDRhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwOC1jaGFyZGV2LWNvbm5lY3Qtc29ja2V0LXRvLWEtc3Bhd25lZC1jb21tYW5kLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDA4LWNoYXJkZXYtY29ubmVjdC1zb2NrZXQtdG8tYS1zcGF3bmVkLWNvbW1hbmQucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDIwYTA5YmIxODkwN2U2NzU2NWM1NGZjNTA1YTc0MWNiYmVmNTNmN2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDljMWU5NzYyOTBlODdhODNhYjFiZmUzOGViN2ZmMzUyMWZmMGQ2ODQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBBbGlzdGFpciBGcmFuY2lzIDxhbGlzdGFpci5mcmFuY2lzQHhpbGlueC5jb20+CiBEYXRlOiBUaHUsIDIxIERlYyAyMDE3IDExOjM1OjE2IC0wODAwCiBTdWJqZWN0OiBbUEFUQ0hdIGNoYXJkZXY6IGNvbm5lY3Qgc29ja2V0IHRvIGEgc3Bhd25lZCBjb21tYW5kCkBAIC00NCw2ICs0NCw3IEBACiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQogCiBTaWduZWQtb2ZmLWJ5OiBQYXRyaWNrIE9obHkgPHBhdHJpY2sub2hseUBpbnRlbC5jb20+CisKIC0tLQogIGNoYXJkZXYvY2hhci1zb2NrZXQuYyB8IDEwMiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKICBjaGFyZGV2L2NoYXIuYyAgICAgICAgfCAgIDMgKysKQEAgLTUxLDEwICs1MiwxMCBAQAogIDMgZmlsZXMgY2hhbmdlZCwgMTEwIGluc2VydGlvbnMoKykKIAogZGlmZiAtLWdpdCBhL2NoYXJkZXYvY2hhci1zb2NrZXQuYyBiL2NoYXJkZXYvY2hhci1zb2NrZXQuYwotaW5kZXggMTU5ZTY5YzNiMS4uODQ3NzhjZjMxYSAxMDA2NDQKK2luZGV4IGVhYThlOGI2Li45NTllZDE4MyAxMDA2NDQKIC0tLSBhL2NoYXJkZXYvY2hhci1zb2NrZXQuYwogKysrIGIvY2hhcmRldi9jaGFyLXNvY2tldC5jCi1AQCAtOTM0LDYgKzkzNCw2OCBAQCBzdGF0aWMgZ2Jvb2xlYW4gc29ja2V0X3JlY29ubmVjdF90aW1lb3V0KGdwb2ludGVyIG9wYXF1ZSkKK0BAIC05ODcsNiArOTg3LDY4IEBAIHN0YXRpYyBnYm9vbGVhbiBzb2NrZXRfcmVjb25uZWN0X3RpbWVvdXQoZ3BvaW50ZXIgb3BhcXVlKQogICAgICByZXR1cm4gZmFsc2U7CiAgfQogIApAQCAtMTIzLDcgKzEyNCw3IEBACiAgc3RhdGljIHZvaWQgcW1wX2NoYXJkZXZfb3Blbl9zb2NrZXQoQ2hhcmRldiAqY2hyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENoYXJkZXZCYWNrZW5kICpiYWNrZW5kLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgKmJlX29wZW5lZCwKLUBAIC05NDEsNiArMTAwMyw5IEBAIHN0YXRpYyB2b2lkIHFtcF9jaGFyZGV2X29wZW5fc29ja2V0KENoYXJkZXYgKmNociwKK0BAIC05OTQsNiArMTA1Niw5IEBAIHN0YXRpYyB2b2lkIHFtcF9jaGFyZGV2X29wZW5fc29ja2V0KENoYXJkZXYgKmNociwKICB7CiAgICAgIFNvY2tldENoYXJkZXYgKnMgPSBTT0NLRVRfQ0hBUkRFVihjaHIpOwogICAgICBDaGFyZGV2U29ja2V0ICpzb2NrID0gYmFja2VuZC0+dS5zb2NrZXQuZGF0YTsKQEAgLTEzMyw3ICsxMzQsNyBAQAogICAgICBib29sIGRvX25vZGVsYXkgICAgID0gc29jay0+aGFzX25vZGVsYXkgPyBzb2NrLT5ub2RlbGF5IDogZmFsc2U7CiAgICAgIGJvb2wgaXNfbGlzdGVuICAgICAgPSBzb2NrLT5oYXNfc2VydmVyICA/IHNvY2stPnNlcnZlciAgOiB0cnVlOwogICAgICBib29sIGlzX3RlbG5ldCAgICAgID0gc29jay0+aGFzX3RlbG5ldCAgPyBzb2NrLT50ZWxuZXQgIDogZmFsc2U7Ci1AQCAtMTAwOCw2ICsxMDczLDE0IEBAIHN0YXRpYyB2b2lkIHFtcF9jaGFyZGV2X29wZW5fc29ja2V0KENoYXJkZXYgKmNociwKK0BAIC0xMDcyLDYgKzExMzcsMTQgQEAgc3RhdGljIHZvaWQgcW1wX2NoYXJkZXZfb3Blbl9zb2NrZXQoQ2hhcmRldiAqY2hyLAogICAgICAgICAgcy0+cmVjb25uZWN0X3RpbWUgPSByZWNvbm5lY3Q7CiAgICAgIH0KICAKQEAgLTE0NSwxMCArMTQ2LDEwIEBACiArICAgICAgICAqYmVfb3BlbmVkID0gdHJ1ZTsKICsgICAgfSBlbHNlCiArI2VuZGlmCi0gICAgIC8qIElmIHJlY29ubmVjdF90aW1lIGlzIHNldCwgd2lsbCBkbyB0aGF0IGluIGNocl9tYWNoaW5lX2RvbmUuICovCi0gICAgIGlmICghcy0+cmVjb25uZWN0X3RpbWUpIHsKLSAgICAgICAgIGlmIChzLT5pc19saXN0ZW4pIHsKLUBAIC0xMDY1LDkgKzExMzgsMjYgQEAgc3RhdGljIHZvaWQgcWVtdV9jaHJfcGFyc2Vfc29ja2V0KFFlbXVPcHRzICpvcHRzLCBDaGFyZGV2QmFja2VuZCAqYmFja2VuZCwKKyAgICAgaWYgKHMtPnJlY29ubmVjdF90aW1lKSB7CisgICAgICAgICB0Y3BfY2hyX2Nvbm5lY3RfYXN5bmMoY2hyKTsKKyAgICAgfSBlbHNlIHsKK0BAIC0xMTMxLDkgKzEyMDQsMjYgQEAgc3RhdGljIHZvaWQgcWVtdV9jaHJfcGFyc2Vfc29ja2V0KFFlbXVPcHRzICpvcHRzLCBDaGFyZGV2QmFja2VuZCAqYmFja2VuZCwKICAgICAgY29uc3QgY2hhciAqcG9ydCA9IHFlbXVfb3B0X2dldChvcHRzLCAicG9ydCIpOwogICAgICBjb25zdCBjaGFyICpmZCA9IHFlbXVfb3B0X2dldChvcHRzLCAiZmQiKTsKICAgICAgY29uc3QgY2hhciAqdGxzX2NyZWRzID0gcWVtdV9vcHRfZ2V0KG9wdHMsICJ0bHMtY3JlZHMiKTsKQEAgLTE3NSw3ICsxNzYsNyBAQAogICAgICBpZiAoKCEhcGF0aCArICEhZmQgKyAhIWhvc3QpICE9IDEpIHsKICAgICAgICAgIGVycm9yX3NldGcoZXJycCwKICAgICAgICAgICAgICAgICAgICAgIkV4YWN0bHkgb25lIG9mICdwYXRoJywgJ2ZkJyBvciAnaG9zdCcgcmVxdWlyZWQiKTsKLUBAIC0xMTEyLDEyICsxMjAyLDI0IEBAIHN0YXRpYyB2b2lkIHFlbXVfY2hyX3BhcnNlX3NvY2tldChRZW11T3B0cyAqb3B0cywgQ2hhcmRldkJhY2tlbmQgKmJhY2tlbmQsCitAQCAtMTE4MCwxMiArMTI3MCwyNCBAQCBzdGF0aWMgdm9pZCBxZW11X2Nocl9wYXJzZV9zb2NrZXQoUWVtdU9wdHMgKm9wdHMsIENoYXJkZXZCYWNrZW5kICpiYWNrZW5kLAogICAgICBzb2NrLT5yZWNvbm5lY3QgPSByZWNvbm5lY3Q7CiAgICAgIHNvY2stPnRsc19jcmVkcyA9IGdfc3RyZHVwKHRsc19jcmVkcyk7CiAgCkBAIC0yMDEsMTAgKzIwMiwxMCBAQAogICAgICAgICAgYWRkci0+dHlwZSA9IFNPQ0tFVF9BRERSRVNTX0xFR0FDWV9LSU5EX0lORVQ7CiAgICAgICAgICBhZGRyLT51LmluZXQuZGF0YSA9IGdfbmV3KEluZXRTb2NrZXRBZGRyZXNzLCAxKTsKIGRpZmYgLS1naXQgYS9jaGFyZGV2L2NoYXIuYyBiL2NoYXJkZXYvY2hhci5jCi1pbmRleCA3NmQ4NjZlNmZlLi45NzQ3ZDUxZDdjIDEwMDY0NAoraW5kZXggMTUyZGRlNTMuLjYyZDViNTc4IDEwMDY0NAogLS0tIGEvY2hhcmRldi9jaGFyLmMKICsrKyBiL2NoYXJkZXYvY2hhci5jCi1AQCAtNzkyLDYgKzc5Miw5IEBAIFFlbXVPcHRzTGlzdCBxZW11X2NoYXJkZXZfb3B0cyA9IHsKK0BAIC04MTgsNiArODE4LDkgQEAgUWVtdU9wdHNMaXN0IHFlbXVfY2hhcmRldl9vcHRzID0gewogICAgICAgICAgfSx7CiAgICAgICAgICAgICAgLm5hbWUgPSAicGF0aCIsCiAgICAgICAgICAgICAgLnR5cGUgPSBRRU1VX09QVF9TVFJJTkcsCkBAIC0yMTUsMTAgKzIxNiwxMCBAQAogICAgICAgICAgICAgIC5uYW1lID0gImhvc3QiLAogICAgICAgICAgICAgIC50eXBlID0gUUVNVV9PUFRfU1RSSU5HLAogZGlmZiAtLWdpdCBhL3FhcGkvY2hhci5qc29uIGIvcWFwaS9jaGFyLmpzb24KLWluZGV4IGFlMTlkY2QxZWQuLjZkZTBmMjliY2QgMTAwNjQ0CitpbmRleCA3OWJhYzU5OC4uOTdiZDE2MWEgMTAwNjQ0CiAtLS0gYS9xYXBpL2NoYXIuanNvbgogKysrIGIvcWFwaS9jaGFyLmpzb24KLUBAIC0yNDEsNiArMjQxLDEwIEBACitAQCAtMjQyLDYgKzI0MiwxMCBAQAogICMKICAjIEBhZGRyOiBzb2NrZXQgYWRkcmVzcyB0byBsaXN0ZW4gb24gKHNlcnZlcj10cnVlKQogICMgICAgICAgIG9yIGNvbm5lY3QgdG8gKHNlcnZlcj1mYWxzZSkKQEAgLTIyOSw3ICsyMzAsNyBAQAogICMgQHRscy1jcmVkczogdGhlIElEIG9mIHRoZSBUTFMgY3JlZGVudGlhbHMgb2JqZWN0IChzaW5jZSAyLjYpCiAgIyBAc2VydmVyOiBjcmVhdGUgc2VydmVyIHNvY2tldCAoZGVmYXVsdDogdHJ1ZSkKICAjIEB3YWl0OiB3YWl0IGZvciBpbmNvbWluZyBjb25uZWN0aW9uIG9uIHNlcnZlcgotQEAgLTI1OCw2ICsyNjIsNyBAQAorQEAgLTI2MSw2ICsyNjUsNyBAQAogICMgU2luY2U6IDEuNAogICMjCiAgeyAnc3RydWN0JzogJ0NoYXJkZXZTb2NrZXQnLCAnZGF0YSc6IHsgJ2FkZHInICAgICAgIDogJ1NvY2tldEFkZHJlc3NMZWdhY3knLApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDktYXBpYy1maXh1cC1mYWxsdGhyb3VnaC10by1QSUMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwOS1hcGljLWZpeHVwLWZhbGx0aHJvdWdoLXRvLVBJQy5wYXRjaAppbmRleCA1OTY5ZDkzLi4xZDNhMmI1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwOS1hcGljLWZpeHVwLWZhbGx0aHJvdWdoLXRvLVBJQy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwOS1hcGljLWZpeHVwLWZhbGx0aHJvdWdoLXRvLVBJQy5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNTA0NmMyMWVmZGJjNzQxM2NkZGQ1YzVkYmQ5ZTFkNTMyNThkM2U4YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNDgyOWRhMTMxOTk2NTQ4ZGM4Njc3NWI4Yjk3YTI5YzQzNmYzZDEzMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IE1hcmsgQXNzZWxzdGluZSA8bWFyay5hc3NlbHN0aW5lQHdpbmRyaXZlci5jb20+CiBEYXRlOiBUdWUsIDI2IEZlYiAyMDEzIDExOjQzOjI4IC0wNTAwCiBTdWJqZWN0OiBbUEFUQ0hdIGFwaWM6IGZpeHVwIGZhbGx0aHJvdWdoIHRvIFBJQwpAQCAtMjQsMTIgKzI0LDEzIEBACiBTaWduZWQtb2ZmLWJ5OiBNYXJrIEFzc2Vsc3RpbmUgPG1hcmsuYXNzZWxzdGluZUB3aW5kcml2ZXIuY29tPgogVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvcWVtdS1kZXZlbC8yMDEzLTA0L21zZzAwODc4Lmh0bWxdCiBTaWduZWQtb2ZmLWJ5OiBIZSBaaGUgPHpoZS5oZUB3aW5kcml2ZXIuY29tPgorCiAtLS0KICBody9pbnRjL2FwaWMuYyB8IDIgKy0KICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL2h3L2ludGMvYXBpYy5jIGIvaHcvaW50Yy9hcGljLmMKLWluZGV4IDZmZGE1MmI4NmMuLmNkNzI5MTk2MmQgMTAwNjQ0CitpbmRleCA5N2ZmZGQ4Mi4uZWYyMzQzMGUgMTAwNjQ0CiAtLS0gYS9ody9pbnRjL2FwaWMuYwogKysrIGIvaHcvaW50Yy9hcGljLmMKIEBAIC02MDMsNyArNjAzLDcgQEAgaW50IGFwaWNfYWNjZXB0X3BpY19pbnRyKERldmljZVN0YXRlICpkZXYpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxMC1saW51eC11c2VyLUZpeC13ZWJraXRndGstaGFuZ3Mtb24tMzItYml0LXg4Ni10YXJnZXQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxMC1saW51eC11c2VyLUZpeC13ZWJraXRndGstaGFuZ3Mtb24tMzItYml0LXg4Ni10YXJnZXQucGF0Y2gKaW5kZXggZTExMGY2My4uYzBkNzkxNCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMTAtbGludXgtdXNlci1GaXgtd2Via2l0Z3RrLWhhbmdzLW9uLTMyLWJpdC14ODYtdGFyZ2V0LnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDEwLWxpbnV4LXVzZXItRml4LXdlYmtpdGd0ay1oYW5ncy1vbi0zMi1iaXQteDg2LXRhcmdldC5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gM2NkOTJjN2E4ODVlNDk5N2VmNjg0MzMxMzI5OGMxZDc0OGQ2Y2EzOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYmNlMjVjOWNkYTczNTY5OTYzNjE1ZmZkMzFlZDk0OWNiZTNhMzc4MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEFsaXN0YWlyIEZyYW5jaXMgPGFsaXN0YWlyLmZyYW5jaXNAeGlsaW54LmNvbT4KIERhdGU6IFdlZCwgMTcgSmFuIDIwMTggMTA6NTE6NDkgLTA4MDAKIFN1YmplY3Q6IFtQQVRDSF0gbGludXgtdXNlcjogRml4IHdlYmtpdGd0ayBoYW5ncyBvbiAzMi1iaXQgeDg2IHRhcmdldApAQCAtMTMsMTUgKzEzLDE2IEBACiAKIFVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIGh0dHA6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9xZW11LWRldmVsLzIwMTgtMDEvbXNnMDQxODUuaHRtbAogU2lnbmVkLW9mZi1ieTogQWxpc3RhaXIgRnJhbmNpcyA8YWxpc3RhaXIuZnJhbmNpc0B4aWxpbnguY29tPgorCiAtLS0KICBsaW51eC11c2VyL21haW4uYyB8IDIgKy0KICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL2xpbnV4LXVzZXIvbWFpbi5jIGIvbGludXgtdXNlci9tYWluLmMKLWluZGV4IDg5MDdhODQxMTQuLmVhNDJjNDM2MTAgMTAwNjQ0CitpbmRleCA5MjNjYmI3NS4uZmUwYjlmZjQgMTAwNjQ0CiAtLS0gYS9saW51eC11c2VyL21haW4uYwogKysrIGIvbGludXgtdXNlci9tYWluLmMKLUBAIC03OSw3ICs3OSw3IEBAIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKK0BAIC02OSw3ICs2OSw3IEBAIGludCBoYXZlX2d1ZXN0X2Jhc2U7CiAgICAgICAgKFRBUkdFVF9MT05HX0JJVFMgPT0gMzIgfHwgZGVmaW5lZChUQVJHRVRfQUJJMzIpKQogIC8qIFRoZXJlIGFyZSBhIG51bWJlciBvZiBwbGFjZXMgd2hlcmUgd2UgYXNzaWduIHJlc2VydmVkX3ZhIHRvIGEgdmFyaWFibGUKICAgICBvZiB0eXBlIGFiaV91bG9uZyBhbmQgZXhwZWN0IGl0IHRvIGZpdC4gIEF2b2lkIHRoZSBsYXN0IHBhZ2UuICAqLwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMTEtUmV2ZXJ0LWxpbnV4LXVzZXItZml4LW1tYXAtbXVubWFwLW1wcm90ZWN0LW1yZW1hcC1zaC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDExLVJldmVydC1saW51eC11c2VyLWZpeC1tbWFwLW11bm1hcC1tcHJvdGVjdC1tcmVtYXAtc2gucGF0Y2gKaW5kZXggNDE2MjZlYi4uMDY2ZWE3OCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMTEtUmV2ZXJ0LWxpbnV4LXVzZXItZml4LW1tYXAtbXVubWFwLW1wcm90ZWN0LW1yZW1hcC1zaC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxMS1SZXZlcnQtbGludXgtdXNlci1maXgtbW1hcC1tdW5tYXAtbXByb3RlY3QtbXJlbWFwLXNoLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAzZWQyNmJlMjA5MTQzNjI5NjkzM2VkMjE0NmY3MjY5Yzc5MWM3YmZlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA0OTYyMzE3NzRmOGJjMTdlY2ZhZjU0M2E2NjAzZTNjYWQzZjNmNzRlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogTWFydGluIEphbnNhIDxtYXJ0aW4uamFuc2FAbGdlLmNvbT4KIERhdGU6IEZyaSwgMSBKdW4gMjAxOCAwODo0MTowNyArMDAwMAogU3ViamVjdDogW1BBVENIXSBSZXZlcnQgImxpbnV4LXVzZXI6IGZpeCBtbWFwL211bm1hcC9tcHJvdGVjdC9tcmVtYXAvc2htYXQiCkBAIC0xNCw2ICsxNCw3IEBACiBUaGlzIHJldmVydHMgY29tbWl0IGViZjlhMzYzMGM5MTFkMGNmYzljMjBmN2NhZmU5YmE0Zjg4Y2Y1ODMuCiAKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZworCiAtLS0KICBpbmNsdWRlL2V4ZWMvY3B1LWFsbC5oICB8ICA2ICstLS0tLQogIGluY2x1ZGUvZXhlYy9jcHVfbGRzdC5oIHwgMTYgKysrKysrKysrLS0tLS0tLQpAQCAtMjIsMTAgKzIzLDEwIEBACiAgNCBmaWxlcyBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCAyOSBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2luY2x1ZGUvZXhlYy9jcHUtYWxsLmggYi9pbmNsdWRlL2V4ZWMvY3B1LWFsbC5oCi1pbmRleCBmNGZhOTRlOTY2Li4wYjE0MTY4M2YwIDEwMDY0NAoraW5kZXggMTE3ZDJmYmIuLjkwNTU4YzE0IDEwMDY0NAogLS0tIGEvaW5jbHVkZS9leGVjL2NwdS1hbGwuaAogKysrIGIvaW5jbHVkZS9leGVjL2NwdS1hbGwuaAotQEAgLTE1OSwxMiArMTU5LDggQEAgZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZ3Vlc3RfYmFzZTsKK0BAIC0xNjMsMTIgKzE2Myw4IEBAIGV4dGVybiB1bnNpZ25lZCBsb25nIGd1ZXN0X2Jhc2U7CiAgZXh0ZXJuIGludCBoYXZlX2d1ZXN0X2Jhc2U7CiAgZXh0ZXJuIHVuc2lnbmVkIGxvbmcgcmVzZXJ2ZWRfdmE7CiAgCkBAIC00MCwxMiArNDEsMTIgQEAKICAKICAjaW5jbHVkZSAiZXhlYy9od2FkZHIuaCIKIGRpZmYgLS1naXQgYS9pbmNsdWRlL2V4ZWMvY3B1X2xkc3QuaCBiL2luY2x1ZGUvZXhlYy9jcHVfbGRzdC5oCi1pbmRleCA1ZGU4YzhhNWFmLi4xOTFmMmU5NjJhIDEwMDY0NAoraW5kZXggOTU5MDY4NDkuLmVkMTdiM2Y2IDEwMDY0NAogLS0tIGEvaW5jbHVkZS9leGVjL2NwdV9sZHN0LmgKICsrKyBiL2luY2x1ZGUvZXhlYy9jcHVfbGRzdC5oCi1AQCAtNTEsMTMgKzUxLDE1IEBACitAQCAtNjIsMTMgKzYyLDE1IEBAIHR5cGVkZWYgdWludDY0X3QgYWJpX3B0cjsKICAvKiBBbGwgZGlyZWN0IHVzZXMgb2YgZzJoIGFuZCBoMmcgbmVlZCB0byBnbyBhd2F5IGZvciB1c2VybW9kZSBzb2Z0bW11LiAgKi8KLSAjZGVmaW5lIGcyaCh4KSAoKHZvaWQgKikoKHVuc2lnbmVkIGxvbmcpKHRhcmdldF91bG9uZykoeCkgKyBndWVzdF9iYXNlKSkKKyAjZGVmaW5lIGcyaCh4KSAoKHZvaWQgKikoKHVuc2lnbmVkIGxvbmcpKGFiaV9wdHIpKHgpICsgZ3Vlc3RfYmFzZSkpCiAgCiAtI2RlZmluZSBndWVzdF9hZGRyX3ZhbGlkKHgpICgoeCkgPD0gR1VFU1RfQUREUl9NQVgpCiAtI2RlZmluZSBoMmdfdmFsaWQoeCkgZ3Vlc3RfYWRkcl92YWxpZCgodW5zaWduZWQgbG9uZykoeCkgLSBndWVzdF9iYXNlKQpAQCAtNjcsMTAgKzY4LDEwIEBACiAgI2RlZmluZSBoMmdfbm9jaGVjayh4KSAoeyBcCiAgICAgIHVuc2lnbmVkIGxvbmcgX19yZXQgPSAodW5zaWduZWQgbG9uZykoeCkgLSBndWVzdF9iYXNlOyBcCiBkaWZmIC0tZ2l0IGEvbGludXgtdXNlci9tbWFwLmMgYi9saW51eC11c2VyL21tYXAuYwotaW5kZXggOTE2OGEyMDUxYy4uZGU4NTY2OWFhYiAxMDA2NDQKK2luZGV4IDQxZTA5ODNjLi5kMGVlMWM1MyAxMDA2NDQKIC0tLSBhL2xpbnV4LXVzZXIvbW1hcC5jCiArKysgYi9saW51eC11c2VyL21tYXAuYwotQEAgLTgwLDcgKzgwLDcgQEAgaW50IHRhcmdldF9tcHJvdGVjdChhYmlfdWxvbmcgc3RhcnQsIGFiaV91bG9uZyBsZW4sIGludCBwcm90KQorQEAgLTc5LDcgKzc5LDcgQEAgaW50IHRhcmdldF9tcHJvdGVjdChhYmlfdWxvbmcgc3RhcnQsIGFiaV91bG9uZyBsZW4sIGludCBwcm90KQogICAgICAgICAgcmV0dXJuIC1UQVJHRVRfRUlOVkFMOwogICAgICBsZW4gPSBUQVJHRVRfUEFHRV9BTElHTihsZW4pOwogICAgICBlbmQgPSBzdGFydCArIGxlbjsKQEAgLTc5LDcgKzgwLDcgQEAKICAgICAgICAgIHJldHVybiAtVEFSR0VUX0VOT01FTTsKICAgICAgfQogICAgICBwcm90ICY9IFBST1RfUkVBRCB8IFBST1RfV1JJVEUgfCBQUk9UX0VYRUM7Ci1AQCAtNDgyLDggKzQ4Miw4IEBAIGFiaV9sb25nIHRhcmdldF9tbWFwKGFiaV91bG9uZyBzdGFydCwgYWJpX3Vsb25nIGxlbiwgaW50IHByb3QsCitAQCAtNDkwLDggKzQ5MCw4IEBAIGFiaV9sb25nIHRhcmdldF9tbWFwKGFiaV91bG9uZyBzdGFydCwgYWJpX3Vsb25nIGxlbiwgaW50IHByb3QsCiAgCSAqIEl0IGNhbiBmYWlsIG9ubHkgb24gNjQtYml0IGhvc3Qgd2l0aCAzMi1iaXQgdGFyZ2V0LgogIAkgKiBPbiBhbnkgb3RoZXIgdGFyZ2V0L2hvc3QgaG9zdCBtbWFwKCkgaGFuZGxlcyB0aGlzIGVycm9yIGNvcnJlY3RseS4KICAJICovCkBAIC05MCw3ICs5MSw3IEBACiAgICAgICAgICAgICAgZ290byBmYWlsOwogICAgICAgICAgfQogIAotQEAgLTYyMywxMCArNjIzLDggQEAgaW50IHRhcmdldF9tdW5tYXAoYWJpX3Vsb25nIHN0YXJ0LCBhYmlfdWxvbmcgbGVuKQorQEAgLTYzMSwxMCArNjMxLDggQEAgaW50IHRhcmdldF9tdW5tYXAoYWJpX3Vsb25nIHN0YXJ0LCBhYmlfdWxvbmcgbGVuKQogICAgICBpZiAoc3RhcnQgJiB+VEFSR0VUX1BBR0VfTUFTSykKICAgICAgICAgIHJldHVybiAtVEFSR0VUX0VJTlZBTDsKICAgICAgbGVuID0gVEFSR0VUX1BBR0VfQUxJR04obGVuKTsKQEAgLTEwMiw3ICsxMDMsNyBAQAogICAgICBtbWFwX2xvY2soKTsKICAgICAgZW5kID0gc3RhcnQgKyBsZW47CiAgICAgIHJlYWxfc3RhcnQgPSBzdGFydCAmIHFlbXVfaG9zdF9wYWdlX21hc2s7Ci1AQCAtNjgxLDEzICs2NzksNiBAQCBhYmlfbG9uZyB0YXJnZXRfbXJlbWFwKGFiaV91bG9uZyBvbGRfYWRkciwgYWJpX3Vsb25nIG9sZF9zaXplLAorQEAgLTY4OSwxMyArNjg3LDYgQEAgYWJpX2xvbmcgdGFyZ2V0X21yZW1hcChhYmlfdWxvbmcgb2xkX2FkZHIsIGFiaV91bG9uZyBvbGRfc2l6ZSwKICAgICAgaW50IHByb3Q7CiAgICAgIHZvaWQgKmhvc3RfYWRkcjsKICAKQEAgLTExNywxMCArMTE4LDEwIEBACiAgCiAgICAgIGlmIChmbGFncyAmIE1SRU1BUF9GSVhFRCkgewogZGlmZiAtLWdpdCBhL2xpbnV4LXVzZXIvc3lzY2FsbC5jIGIvbGludXgtdXNlci9zeXNjYWxsLmMKLWluZGV4IDY0M2I4ODMzZGUuLjI3MWYyMTUxNDcgMTAwNjQ0CitpbmRleCAyODAxMzdkYS4uZWZkZDAwMDYgMTAwNjQ0CiAtLS0gYS9saW51eC11c2VyL3N5c2NhbGwuYwogKysrIGIvbGludXgtdXNlci9zeXNjYWxsLmMKLUBAIC00OTE5LDkgKzQ5MTksNiBAQCBzdGF0aWMgaW5saW5lIGFiaV91bG9uZyBkb19zaG1hdChDUFVBcmNoU3RhdGUgKmNwdV9lbnYsCitAQCAtMzgxOCw5ICszODE4LDYgQEAgc3RhdGljIGlubGluZSBhYmlfdWxvbmcgZG9fc2htYXQoQ1BVQXJjaFN0YXRlICpjcHVfZW52LAogICAgICAgICAgICAgIHJldHVybiAtVEFSR0VUX0VJTlZBTDsKICAgICAgICAgIH0KICAgICAgfQpAQCAtMTMwLDcgKzEzMSw3IEBACiAgCiAgICAgIG1tYXBfbG9jaygpOwogIAotQEAgLTc0OTcsNyArNzQ5NCw3IEBAIHN0YXRpYyBpbnQgb3Blbl9zZWxmX21hcHModm9pZCAqY3B1X2VudiwgaW50IGZkKQorQEAgLTY1ODIsNyArNjU3OSw3IEBAIHN0YXRpYyBpbnQgb3Blbl9zZWxmX21hcHModm9pZCAqY3B1X2VudiwgaW50IGZkKQogICAgICAgICAgfQogICAgICAgICAgaWYgKGgyZ192YWxpZChtaW4pKSB7CiAgICAgICAgICAgICAgaW50IGZsYWdzID0gcGFnZV9nZXRfZmxhZ3MoaDJnKG1pbikpOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMTItZml4LWxpYmNhcC1oZWFkZXItaXNzdWUtb24tc29tZS1kaXN0cm8ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxMi1maXgtbGliY2FwLWhlYWRlci1pc3N1ZS1vbi1zb21lLWRpc3Ryby5wYXRjaAppbmRleCBhYTI0ZjcyLi45Y2JlODM4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxMi1maXgtbGliY2FwLWhlYWRlci1pc3N1ZS1vbi1zb21lLWRpc3Ryby5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxMi1maXgtbGliY2FwLWhlYWRlci1pc3N1ZS1vbi1zb21lLWRpc3Ryby5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gYmI5ZTQ4ZTMzMWVlZTA2ZDdiYWMxZGNlODA5YzcwMTkxZDFhM2I0ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZDNlMGI4ZGFjN2MyZWIyMGQ3ZmNmZjc0N2JjOThiOTgxZjQzOThlZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KIERhdGU6IFR1ZSwgMTIgTWFyIDIwMTMgMDk6NTQ6MDYgKzA4MDAKIFN1YmplY3Q6IFtQQVRDSF0gZml4IGxpYmNhcCBoZWFkZXIgaXNzdWUgb24gc29tZSBkaXN0cm8KQEAgLTU0LDEyICs1NCwxMyBAQAogCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIFNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKwogLS0tCiAgZnNkZXYvdmlydGZzLXByb3h5LWhlbHBlci5jIHwgNyArKysrKy0tCiAgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2ZzZGV2L3ZpcnRmcy1wcm94eS1oZWxwZXIuYyBiL2ZzZGV2L3ZpcnRmcy1wcm94eS1oZWxwZXIuYwotaW5kZXggNmYxMzJjNWZmMS4uODMyOTk1MGMyNiAxMDA2NDQKK2luZGV4IDZmMTMyYzVmLi44MzI5OTUwYyAxMDA2NDQKIC0tLSBhL2ZzZGV2L3ZpcnRmcy1wcm94eS1oZWxwZXIuYwogKysrIGIvZnNkZXYvdmlydGZzLXByb3h5LWhlbHBlci5jCiBAQCAtMTMsNyArMTMsNiBAQApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMTMtY3B1cy5jLUFkZC1lcnJvci1tZXNzYWdlcy13aGVuLXFlbWlfY3B1X2tpY2tfdGhyZWFkLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDEzLWNwdXMuYy1BZGQtZXJyb3ItbWVzc2FnZXMtd2hlbi1xZW1pX2NwdV9raWNrX3RocmVhZC0ucGF0Y2gKaW5kZXggOGE5MTQxYS4uMjdlNTA4YyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMTMtY3B1cy5jLUFkZC1lcnJvci1tZXNzYWdlcy13aGVuLXFlbWlfY3B1X2tpY2tfdGhyZWFkLS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxMy1jcHVzLmMtQWRkLWVycm9yLW1lc3NhZ2VzLXdoZW4tcWVtaV9jcHVfa2lja190aHJlYWQtLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBlZGM4ZGJhNzRjN2E0YTIxMjFkNzZjOTgyYmUwMDc0MTgzYmYwODBhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA4NjFjNTIyZGY3NzkxZDdlOTM3NDNkNTY0MWYzZWYyYTVhM2M0NjMyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogPT9VVEYtOD9xP0FuPUMzPUFEYmFsPTIwTGltPUMzPUIzbj89IDxhbmliYWwubGltb25AbGludXguaW50ZWwuY29tPgogRGF0ZTogV2VkLCAxMiBBdWcgMjAxNSAxNToxMTozMCAtMDUwMAogU3ViamVjdDogW1BBVENIXSBjcHVzLmM6IEFkZCBlcnJvciBtZXNzYWdlcyB3aGVuIHFlbWlfY3B1X2tpY2tfdGhyZWFkIGZhaWxzLgpAQCAtMTIsNiArMTIsNyBAQAogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUKIFNpZ25lZC1vZmYtYnk6IEFuw61iYWwgTGltw7NuIDxhbmliYWwubGltb25AbGludXguaW50ZWwuY29tPgorCiAtLS0KICBjcHVzLmMgICAgICAgICB8ICA1ICsrKysrCiAgY3VzdG9tX2RlYnVnLmggfCAyNCArKysrKysrKysrKysrKysrKysrKysrKysKQEAgLTE5LDEwICsyMCwxMCBAQAogIGNyZWF0ZSBtb2RlIDEwMDY0NCBjdXN0b21fZGVidWcuaAogCiBkaWZmIC0tZ2l0IGEvY3B1cy5jIGIvY3B1cy5jCi1pbmRleCAzOGViYThiZmYzLi5iODRhNjBhNGYzIDEwMDY0NAoraW5kZXggMGRkZWVlZmMuLjRmM2E1NjI0IDEwMDY0NAogLS0tIGEvY3B1cy5jCiArKysgYi9jcHVzLmMKLUBAIC0xNjkwLDYgKzE2OTAsOCBAQCBzdGF0aWMgdm9pZCAqcWVtdV90Y2dfY3B1X3RocmVhZF9mbih2b2lkICphcmcpCitAQCAtMTc2OCw2ICsxNzY4LDggQEAgc3RhdGljIHZvaWQgKnFlbXVfdGNnX2NwdV90aHJlYWRfZm4odm9pZCAqYXJnKQogICAgICByZXR1cm4gTlVMTDsKICB9CiAgCkBAIC0zMSw3ICszMiw3IEBACiAgc3RhdGljIHZvaWQgcWVtdV9jcHVfa2lja190aHJlYWQoQ1BVU3RhdGUgKmNwdSkKICB7CiAgI2lmbmRlZiBfV0lOMzIKLUBAIC0xNzAyLDYgKzE3MDQsOSBAQCBzdGF0aWMgdm9pZCBxZW11X2NwdV9raWNrX3RocmVhZChDUFVTdGF0ZSAqY3B1KQorQEAgLTE3ODAsNiArMTc4Miw5IEBAIHN0YXRpYyB2b2lkIHFlbXVfY3B1X2tpY2tfdGhyZWFkKENQVVN0YXRlICpjcHUpCiAgICAgIGVyciA9IHB0aHJlYWRfa2lsbChjcHUtPnRocmVhZC0+dGhyZWFkLCBTSUdfSVBJKTsKICAgICAgaWYgKGVycikgewogICAgICAgICAgZnByaW50ZihzdGRlcnIsICJxZW11OiVzOiAlcyIsIF9fZnVuY19fLCBzdHJlcnJvcihlcnIpKTsKQEAgLTQzLDcgKzQ0LDcgQEAKICAjZWxzZSAvKiBfV0lOMzIgKi8KIGRpZmYgLS1naXQgYS9jdXN0b21fZGVidWcuaCBiL2N1c3RvbV9kZWJ1Zy5oCiBuZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMC4uZjAyOWU0NTU0NworaW5kZXggMDAwMDAwMDAuLmYwMjllNDU1CiAtLS0gL2Rldi9udWxsCiArKysgYi9jdXN0b21fZGVidWcuaAogQEAgLTAsMCArMSwyNCBAQApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMTQtZml4LUNWRS0yMDE4LTE2ODcyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMTQtZml4LUNWRS0yMDE4LTE2ODcyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxMmFhMTYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxNC1maXgtQ1ZFLTIwMTgtMTY4NzIucGF0Y2gKQEAgLTAsMCArMSw4NSBAQAorQ1ZFOiBDVkUtMjAxOC0xNjg3MgorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXQucWVtdS5vcmcvP3A9cWVtdS5naXQ7YT1jb21taXQ7aD1iYWI5ZGYzNV0KKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CisKK0Zyb20gYmFiOWRmMzVjZTczZDFjOGUxOWEzN2UyNzM3NzE3ZWExYzk4NGRjMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEdlcmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPgorRGF0ZTogVGh1LCAxMyBEZWMgMjAxOCAxMzoyNToxMSArMDEwMAorU3ViamVjdDogW1BBVENIXSB1c2ItbXRwOiB1c2UgT19OT0ZPTExPVyBhbmQgT19DTE9FWEVDLgorCitPcGVuIGZpbGVzIGFuZCBkaXJlY3RvcmllcyB3aXRoIE9fTk9GT0xMT1cgdG8gYXZvaWQgc3ltbGlua3MgYXR0YWNrcy4KK1doaWxlIGJlaW5nIGF0IGl0IGFsc28gYWRkIE9fQ0xPRVhFQy4KKwordXNiLW10cCBvbmx5IGhhbmRsZXMgcmVndWxhciBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgYW5kIGlnbm9yZXMKK2V2ZXJ5dGhpbmcgZWxzZSwgc28gdXNlcnMgc2hvdWxkIG5vdCBzZWUgYSBkaWZmZXJlbmNlLgorCitCZWNhdXNlIHFlbXUgaWdub3JlcyBzeW1saW5rcywgY2Fycnlpbmcgb3V0IGEgc3VjY2Vzc2Z1bCBzeW1saW5rIGF0dGFjaworcmVxdWlyZXMgc3dhcHBpbmcgYW4gZXhpc3RpbmcgZmlsZSBvciBkaXJlY3RvcnkgYmVsb3cgcm9vdGRpciBmb3IgYQorc3ltbGluayBhbmQgd2lubmluZyB0aGUgcmFjZSBhZ2FpbnN0IHRoZSBpbm90aWZ5IG5vdGlmaWNhdGlvbiB0byBxZW11LgorCitGaXhlczogQ1ZFLTIwMTgtMTY4NzIKK0NjOiBQcmFzYWQgSiBQYW5kaXQgPHBwYW5kaXRAcmVkaGF0LmNvbT4KK0NjOiBCYW5kYW4gRGFzIDxic2RAcmVkaGF0LmNvbT4KK1JlcG9ydGVkLWJ5OiBNaWNoYWVsIEhhbnNlbG1hbm4gPHB1YmxpY0BoYW5zbWkuY2g+CitTaWduZWQtb2ZmLWJ5OiBHZXJkIEhvZmZtYW5uIDxrcmF4ZWxAcmVkaGF0LmNvbT4KK1Jldmlld2VkLWJ5OiBNaWNoYWVsIEhhbnNlbG1hbm4gPHB1YmxpY0BoYW5zbWkuY2g+CitNZXNzYWdlLWlkOiAyMDE4MTIxMzEyMjUxMS4xMzg1My0xLWtyYXhlbEByZWRoYXQuY29tCistLS0KKyBody91c2IvZGV2LW10cC5jIHwgMTMgKysrKysrKysrLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9ody91c2IvZGV2LW10cC5jIGIvaHcvdXNiL2Rldi1tdHAuYworaW5kZXggMTAwYjcxNzFmNC4uMzZjNDNiOGMyMCAxMDA2NDQKKy0tLSBhL2h3L3VzYi9kZXYtbXRwLmMKKysrKyBiL2h3L3VzYi9kZXYtbXRwLmMKK0BAIC02NTMsMTMgKzY1MywxOCBAQCBzdGF0aWMgdm9pZCB1c2JfbXRwX29iamVjdF9yZWFkZGlyKE1UUFN0YXRlICpzLCBNVFBPYmplY3QgKm8pCisgeworICAgICBzdHJ1Y3QgZGlyZW50ICplbnRyeTsKKyAgICAgRElSICpkaXI7CisrICAgIGludCBmZDsKKyAKKyAgICAgaWYgKG8tPmhhdmVfY2hpbGRyZW4pIHsKKyAgICAgICAgIHJldHVybjsKKyAgICAgfQorICAgICBvLT5oYXZlX2NoaWxkcmVuID0gdHJ1ZTsKKyAKKy0gICAgZGlyID0gb3BlbmRpcihvLT5wYXRoKTsKKysgICAgZmQgPSBvcGVuKG8tPnBhdGgsIE9fRElSRUNUT1JZIHwgT19DTE9FWEVDIHwgT19OT0ZPTExPVyk7CisrICAgIGlmIChmZCA8IDApIHsKKysgICAgICAgIHJldHVybjsKKysgICAgfQorKyAgICBkaXIgPSBmZG9wZW5kaXIoZmQpOworICAgICBpZiAoIWRpcikgeworICAgICAgICAgcmV0dXJuOworICAgICB9CitAQCAtMTAwNyw3ICsxMDEyLDcgQEAgc3RhdGljIE1UUERhdGEgKnVzYl9tdHBfZ2V0X29iamVjdChNVFBTdGF0ZSAqcywgTVRQQ29udHJvbCAqYywKKyAKKyAgICAgdHJhY2VfdXNiX210cF9vcF9nZXRfb2JqZWN0KHMtPmRldi5hZGRyLCBvLT5oYW5kbGUsIG8tPnBhdGgpOworIAorLSAgICBkLT5mZCA9IG9wZW4oby0+cGF0aCwgT19SRE9OTFkpOworKyAgICBkLT5mZCA9IG9wZW4oby0+cGF0aCwgT19SRE9OTFkgfCBPX0NMT0VYRUMgfCBPX05PRk9MTE9XKTsKKyAgICAgaWYgKGQtPmZkID09IC0xKSB7CisgICAgICAgICB1c2JfbXRwX2RhdGFfZnJlZShkKTsKKyAgICAgICAgIHJldHVybiBOVUxMOworQEAgLTEwMzEsNyArMTAzNiw3IEBAIHN0YXRpYyBNVFBEYXRhICp1c2JfbXRwX2dldF9wYXJ0aWFsX29iamVjdChNVFBTdGF0ZSAqcywgTVRQQ29udHJvbCAqYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0+YXJndlsxXSwgYy0+YXJndlsyXSk7CisgCisgICAgIGQgPSB1c2JfbXRwX2RhdGFfYWxsb2MoYyk7CistICAgIGQtPmZkID0gb3BlbihvLT5wYXRoLCBPX1JET05MWSk7CisrICAgIGQtPmZkID0gb3BlbihvLT5wYXRoLCBPX1JET05MWSB8IE9fQ0xPRVhFQyB8IE9fTk9GT0xMT1cpOworICAgICBpZiAoZC0+ZmQgPT0gLTEpIHsKKyAgICAgICAgIHVzYl9tdHBfZGF0YV9mcmVlKGQpOworICAgICAgICAgcmV0dXJuIE5VTEw7CitAQCAtMTY1OCw3ICsxNjYzLDcgQEAgc3RhdGljIHZvaWQgdXNiX210cF93cml0ZV9kYXRhKE1UUFN0YXRlICpzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIDAsIDAsIDApOworICAgICAgICAgICAgIGdvdG8gZG9uZTsKKyAgICAgICAgIH0KKy0gICAgICAgIGQtPmZkID0gb3BlbihwYXRoLCBPX0NSRUFUIHwgT19XUk9OTFksIG1hc2spOworKyAgICAgICAgZC0+ZmQgPSBvcGVuKHBhdGgsIE9fQ1JFQVQgfCBPX1dST05MWSB8IE9fQ0xPRVhFQyB8IE9fTk9GT0xMT1csIG1hc2spOworICAgICAgICAgaWYgKGQtPmZkID09IC0xKSB7CisgICAgICAgICAgICAgdXNiX210cF9xdWV1ZV9yZXN1bHQocywgUkVTX1NUT1JFX0ZVTEwsIGQtPnRyYW5zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIDAsIDAsIDApOworLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMTUtZml4LUNWRS0yMDE4LTIwMTI0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMTUtZml4LUNWRS0yMDE4LTIwMTI0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4NWI4MTkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxNS1maXgtQ1ZFLTIwMTgtMjAxMjQucGF0Y2gKQEAgLTAsMCArMSw2MCBAQAorQ1ZFOiBDVkUtMjAxOC0yMDEyNAorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXQucWVtdS5vcmcvP3A9cWVtdS5naXQ7YT1jb21taXQ7aD0wZTY4MzczXQorCitCYWNrcG9ydCBwYXRjaCB0byBmaXggQ1ZFLTIwMTgtMjAxMjQuIFVwZGF0ZSBjb250ZXh0IGFuZCBzdGF5IHdpdGggY3VycmVudAorZnVuY3Rpb24gY29tcF9oYW5kbGVyKCkgd2hpY2ggaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCBjb21wbGV0ZV93b3JrKCkgaW4gbGF0ZXN0CitnaXQgcmVwby4KKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CisKK0Zyb20gMGU2ODM3M2NjMmIzYTA2M2NlMDY3YmMwY2MzZWRhZjM3MDc1Mjg5MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFByYXNhZCBKIFBhbmRpdCA8cGpwQGZlZG9yYXByb2plY3Qub3JnPgorRGF0ZTogVGh1LCAxMyBEZWMgMjAxOCAwMTowMDozNCArMDUzMAorU3ViamVjdDogW1BBVENIXSByZG1hOiBjaGVjayBudW1fc2dlIGRvZXMgbm90IGV4Y2VlZCBNQVhfU0dFCisKK3JkbWEgYmFjay1lbmQgaGFzIHNjYXR0ZXIvZ2F0aGVyIGFycmF5IGlidl9zZ2VbTUFYX1NHRT00XSBzZXQKK3RvIGhhdmUgNCBlbGVtZW50cy4gQSBndWVzdCBjb3VsZCBzZW5kIGEgJ1B2cmRtYVNxV3FlJyByaW5nIGVsZW1lbnQKK3dpdGggJ251bV9zZ2UnIHNldCB0byA+IE1BWF9TR0UsIHdoaWNoIG1heSBsZWFkIHRvIE9PQiBhY2Nlc3MgaXNzdWUuCitBZGQgY2hlY2sgdG8gYXZvaWQgaXQuCisKK1JlcG9ydGVkLWJ5OiBTYWFyIEFtYXIgPHNhYXJhbWFyNUBnbWFpbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBQcmFzYWQgSiBQYW5kaXQgPHBqcEBmZWRvcmFwcm9qZWN0Lm9yZz4KK1Jldmlld2VkLWJ5OiBZdXZhbCBTaGFpYSA8eXV2YWwuc2hhaWFAb3JhY2xlLmNvbT4KK1NpZ25lZC1vZmYtYnk6IE1hcmNlbCBBcGZlbGJhdW0gPG1hcmNlbC5hcGZlbGJhdW1AZ21haWwuY29tPgorLS0tCisgaHcvcmRtYS9yZG1hX2JhY2tlbmQuYyB8IDEyICsrKysrKy0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9ody9yZG1hL3JkbWFfYmFja2VuZC5jIGIvaHcvcmRtYS9yZG1hX2JhY2tlbmQuYworaW5kZXggZDdhNGJiZDkuLjdmODAyOGY4IDEwMDY0NAorLS0tIGEvaHcvcmRtYS9yZG1hX2JhY2tlbmQuYworKysrIGIvaHcvcmRtYS9yZG1hX2JhY2tlbmQuYworQEAgLTMxMSw5ICszMTEsOSBAQCB2b2lkIHJkbWFfYmFja2VuZF9wb3N0X3NlbmQoUmRtYUJhY2tlbmREZXYgKmJhY2tlbmRfZGV2LAorICAgICB9CisgCisgICAgIHByX2RiZygibnVtX3NnZT0lZFxuIiwgbnVtX3NnZSk7CistICAgIGlmICghbnVtX3NnZSkgeworLSAgICAgICAgcHJfZGJnKCJudW1fc2dlPTBcbiIpOworLSAgICAgICAgY29tcF9oYW5kbGVyKElCVl9XQ19HRU5FUkFMX0VSUiwgVkVORE9SX0VSUl9OT19TR0UsIGN0eCk7CisrICAgIGlmICghbnVtX3NnZSB8fCBudW1fc2dlID4gTUFYX1NHRSkgeworKyAgICAgICAgcHJfZGJnKCJpbnZhbGlkIG51bV9zZ2U9JWRcbiIsIG51bV9zZ2UpOworKyAgICAgICAgY29tcF9oYW5kbGVyKElCVl9XQ19HRU5FUkFMX0VSUiwgVkVORE9SX0VSUl9OT19TR0UsIGN0eCk7CisgICAgICAgICByZXR1cm47CisgICAgIH0KKyAKK0BAIC0zOTAsOSArMzkwLDkgQEAgdm9pZCByZG1hX2JhY2tlbmRfcG9zdF9yZWN2KFJkbWFCYWNrZW5kRGV2ICpiYWNrZW5kX2RldiwKKyAgICAgfQorIAorICAgICBwcl9kYmcoIm51bV9zZ2U9JWRcbiIsIG51bV9zZ2UpOworLSAgICBpZiAoIW51bV9zZ2UpIHsKKy0gICAgICAgIHByX2RiZygibnVtX3NnZT0wXG4iKTsKKy0gICAgICAgIGNvbXBfaGFuZGxlcihJQlZfV0NfR0VORVJBTF9FUlIsIFZFTkRPUl9FUlJfTk9fU0dFLCBjdHgpOworKyAgICBpZiAoIW51bV9zZ2UgfHwgbnVtX3NnZSA+IE1BWF9TR0UpIHsKKysgICAgICAgIHByX2RiZygiaW52YWxpZCBudW1fc2dlPSVkXG4iLCBudW1fc2dlKTsKKysgICAgICAgIGNvbXBfaGFuZGxlcihJQlZfV0NfR0VORVJBTF9FUlIsIFZFTkRPUl9FUlJfTk9fU0dFLCBjdHgpOworICAgICAgICAgcmV0dXJuOworICAgICB9CisgCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxNi1maXgtQ1ZFLTIwMTgtMjAxMjUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxNi1maXgtQ1ZFLTIwMTgtMjAxMjUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTY1NTljOAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDE2LWZpeC1DVkUtMjAxOC0yMDEyNS5wYXRjaApAQCAtMCwwICsxLDU0IEBACitDVkU6IENWRS0yMDE4LTIwMTI1CitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdC5xZW11Lm9yZy8/cD1xZW11LmdpdDthPWNvbW1pdDtoPTJjODU4Y2VdCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorCitGcm9tIDJjODU4Y2U1ZGE4YWU2Njg5Yzc1MTgyYjczYmM0NTVhMjkxY2FkNDEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBQcmFzYWQgSiBQYW5kaXQgPHBqcEBmZWRvcmFwcm9qZWN0Lm9yZz4KK0RhdGU6IFRodSwgMTMgRGVjIDIwMTggMDE6MDA6MzYgKzA1MzAKK1N1YmplY3Q6IFtQQVRDSF0gcHZyZG1hOiBjaGVjayBudW1iZXIgb2YgcGFnZXMgd2hlbiBjcmVhdGluZyByaW5ncworCitXaGVuIGNyZWF0aW5nIENRL1FQIHJpbmdzLCBhbiBvYmplY3QgY2FuIGhhdmUgdXAgdG8KK1BWUkRNQV9NQVhfRkFTVF9SRUdfUEFHRVMgOCBwYWdlcy4gQ2hlY2sgJ25wYWdlcycgcGFyYW1ldGVyCit0byBhdm9pZCBleGNlc3NpdmUgbWVtb3J5IGFsbG9jYXRpb24gb3IgYSBudWxsIGRlcmVmZXJlbmNlLgorCitSZXBvcnRlZC1ieTogTGkgUWlhbmcgPGxpcTNlYUAxNjMuY29tPgorU2lnbmVkLW9mZi1ieTogUHJhc2FkIEogUGFuZGl0IDxwanBAZmVkb3JhcHJvamVjdC5vcmc+CitSZXZpZXdlZC1ieTogWXV2YWwgU2hhaWEgPHl1dmFsLnNoYWlhQG9yYWNsZS5jb20+CitTaWduZWQtb2ZmLWJ5OiBNYXJjZWwgQXBmZWxiYXVtIDxtYXJjZWwuYXBmZWxiYXVtQGdtYWlsLmNvbT4KKy0tLQorIGh3L3JkbWEvdm13L3B2cmRtYV9jbWQuYyB8IDExICsrKysrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2h3L3JkbWEvdm13L3B2cmRtYV9jbWQuYyBiL2h3L3JkbWEvdm13L3B2cmRtYV9jbWQuYworaW5kZXggM2I5NDU0NTc2MS4uZjIzNmFjNDc5NSAxMDA2NDQKKy0tLSBhL2h3L3JkbWEvdm13L3B2cmRtYV9jbWQuYworKysrIGIvaHcvcmRtYS92bXcvcHZyZG1hX2NtZC5jCitAQCAtMjU5LDYgKzI1OSwxMSBAQCBzdGF0aWMgaW50IGNyZWF0ZV9jcV9yaW5nKFBDSURldmljZSAqcGNpX2RldiAsIFB2cmRtYVJpbmcgKipyaW5nLAorICAgICBpbnQgcmMgPSAtRUlOVkFMOworICAgICBjaGFyIHJpbmdfbmFtZVtNQVhfUklOR19OQU1FX1NaXTsKKyAKKysgICAgaWYgKCFuY2h1bmtzIHx8IG5jaHVua3MgPiBQVlJETUFfTUFYX0ZBU1RfUkVHX1BBR0VTKSB7CisrICAgICAgICBwcl9kYmcoImludmFsaWQgbmNodW5rczogJWRcbiIsIG5jaHVua3MpOworKyAgICAgICAgcmV0dXJuIHJjOworKyAgICB9CisrCisgICAgIHByX2RiZygicGRpcl9kbWE9MHglbGx4XG4iLCAobG9uZyBsb25nIHVuc2lnbmVkIGludClwZGlyX2RtYSk7CisgICAgIGRpciA9IHJkbWFfcGNpX2RtYV9tYXAocGNpX2RldiwgcGRpcl9kbWEsIFRBUkdFVF9QQUdFX1NJWkUpOworICAgICBpZiAoIWRpcikgeworQEAgLTM3Miw2ICszNzcsMTIgQEAgc3RhdGljIGludCBjcmVhdGVfcXBfcmluZ3MoUENJRGV2aWNlICpwY2lfZGV2LCB1aW50NjRfdCBwZGlyX2RtYSwKKyAgICAgY2hhciByaW5nX25hbWVbTUFYX1JJTkdfTkFNRV9TWl07CisgICAgIHVpbnQzMl90IHdxZV9zejsKKyAKKysgICAgaWYgKCFzcGFnZXMgfHwgc3BhZ2VzID4gUFZSRE1BX01BWF9GQVNUX1JFR19QQUdFUworKyAgICAgICAgfHwgIXJwYWdlcyB8fCBycGFnZXMgPiBQVlJETUFfTUFYX0ZBU1RfUkVHX1BBR0VTKSB7CisrICAgICAgICBwcl9kYmcoImludmFsaWQgcGFnZXM6ICVkLCAlZFxuIiwgc3BhZ2VzLCBycGFnZXMpOworKyAgICAgICAgcmV0dXJuIHJjOworKyAgICB9CisrCisgICAgIHByX2RiZygicGRpcl9kbWE9MHglbGx4XG4iLCAobG9uZyBsb25nIHVuc2lnbmVkIGludClwZGlyX2RtYSk7CisgICAgIGRpciA9IHJkbWFfcGNpX2RtYV9tYXAocGNpX2RldiwgcGRpcl9kbWEsIFRBUkdFVF9QQUdFX1NJWkUpOworICAgICBpZiAoIWRpcikgeworLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMTctZml4LUNWRS0yMDE4LTIwMTI2LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMTctZml4LUNWRS0yMDE4LTIwMTI2LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzMjlmMmMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxNy1maXgtQ1ZFLTIwMTgtMjAxMjYucGF0Y2gKQEAgLTAsMCArMSwxMTMgQEAKK0NWRTogQ1ZFLTIwMTgtMjAxMjYKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0LnFlbXUub3JnLz9wPXFlbXUuZ2l0O2E9Y29tbWl0O2g9NTA5ZjU3Y10KKworQmFja3BvcnQgYW5kIHJlYmFzZSBwYXRjaCB0byBmaXggQ1ZFLTIwMTgtMjAxMjYuCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorCitGcm9tIDUwOWY1N2M5OGU3NTM2OTA1YmI0OTAyMzYzZDBjYmE2NmNlN2UwODkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBQcmFzYWQgSiBQYW5kaXQgPHBqcEBmZWRvcmFwcm9qZWN0Lm9yZz4KK0RhdGU6IFRodSwgMTMgRGVjIDIwMTggMDE6MDA6MzcgKzA1MzAKK1N1YmplY3Q6IFtQQVRDSF0gcHZyZG1hOiByZWxlYXNlIHJpbmcgb2JqZWN0IGluIGNhc2Ugb2YgYW4gZXJyb3IKKworY3JlYXRlX2NxIGFuZCBjcmVhdGVfcXAgcm91dGluZXMgYWxsb2NhdGUgcmluZyBvYmplY3QsIGJ1dCBpdCdzCitub3QgcmVsZWFzZWQgaW4gY2FzZSBvZiBhbiBlcnJvciwgbGVhZGluZyB0byBtZW1vcnkgbGVha2FnZS4KKworUmVwb3J0ZWQtYnk6IExpIFFpYW5nIDxsaXEzZWFAMTYzLmNvbT4KK1NpZ25lZC1vZmYtYnk6IFByYXNhZCBKIFBhbmRpdCA8cGpwQGZlZG9yYXByb2plY3Qub3JnPgorUmV2aWV3ZWQtYnk6IFl1dmFsIFNoYWlhIDx5dXZhbC5zaGFpYUBvcmFjbGUuY29tPgorU2lnbmVkLW9mZi1ieTogTWFyY2VsIEFwZmVsYmF1bSA8bWFyY2VsLmFwZmVsYmF1bUBnbWFpbC5jb20+CistLS0KKyBody9yZG1hL3Ztdy9wdnJkbWFfY21kLmMgfCA0MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAzMCBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2h3L3JkbWEvdm13L3B2cmRtYV9jbWQuYyBiL2h3L3JkbWEvdm13L3B2cmRtYV9jbWQuYworaW5kZXggNGZhZWIyMS4uOWI2Nzk2ZiAxMDA2NDQKKy0tLSBhL2h3L3JkbWEvdm13L3B2cmRtYV9jbWQuYworKysrIGIvaHcvcmRtYS92bXcvcHZyZG1hX2NtZC5jCitAQCAtMzEwLDYgKzMxMCwxNCBAQCBvdXQ6CisgICAgIHJldHVybiByYzsKKyB9CisgCisrc3RhdGljIHZvaWQgZGVzdHJveV9jcV9yaW5nKFB2cmRtYVJpbmcgKnJpbmcpCisreworKyAgICBwdnJkbWFfcmluZ19mcmVlKHJpbmcpOworKyAgICAvKiByaW5nX3N0YXRlIHdhcyBpbiBzbG90IDEsIG5vdCAwIHNvIG5lZWQgdG8ganVtcCBiYWNrICovCisrICAgIHJkbWFfcGNpX2RtYV91bm1hcChyaW5nLT5kZXYsIC0tcmluZy0+cmluZ19zdGF0ZSwgVEFSR0VUX1BBR0VfU0laRSk7CisrICAgIGdfZnJlZShyaW5nKTsKKyt9CisrCisgc3RhdGljIGludCBjcmVhdGVfY3EoUFZSRE1BRGV2ICpkZXYsIHVuaW9uIHB2cmRtYV9jbWRfcmVxICpyZXEsCisgICAgICAgICAgICAgICAgICAgICAgdW5pb24gcHZyZG1hX2NtZF9yZXNwICpyc3ApCisgeworQEAgLTMzMyw2ICszNDEsMTAgQEAgc3RhdGljIGludCBjcmVhdGVfY3EoUFZSRE1BRGV2ICpkZXYsIHVuaW9uIHB2cmRtYV9jbWRfcmVxICpyZXEsCisgCisgICAgIHJlc3AtPmhkci5lcnIgPSByZG1hX3JtX2FsbG9jX2NxKCZkZXYtPnJkbWFfZGV2X3JlcywgJmRldi0+YmFja2VuZF9kZXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtZC0+Y3FlLCAmcmVzcC0+Y3FfaGFuZGxlLCByaW5nKTsKKysgICAgaWYgKHJlc3AtPmhkci5lcnIpIHsKKysgICAgICAgIGRlc3Ryb3lfY3FfcmluZyhyaW5nKTsKKysgICAgfQorKworICAgICByZXNwLT5jcWUgPSBjbWQtPmNxZTsKKyAKKyBvdXQ6CitAQCAtMzU2LDEwICszNjgsNyBAQCBzdGF0aWMgaW50IGRlc3Ryb3lfY3EoUFZSRE1BRGV2ICpkZXYsIHVuaW9uIHB2cmRtYV9jbWRfcmVxICpyZXEsCisgICAgIH0KKyAKKyAgICAgcmluZyA9IChQdnJkbWFSaW5nICopY3EtPm9wYXF1ZTsKKy0gICAgcHZyZG1hX3JpbmdfZnJlZShyaW5nKTsKKy0gICAgLyogcmluZ19zdGF0ZSB3YXMgaW4gc2xvdCAxLCBub3QgMCBzbyBuZWVkIHRvIGp1bXAgYmFjayAqLworLSAgICByZG1hX3BjaV9kbWFfdW5tYXAoUENJX0RFVklDRShkZXYpLCAtLXJpbmctPnJpbmdfc3RhdGUsIFRBUkdFVF9QQUdFX1NJWkUpOworLSAgICBnX2ZyZWUocmluZyk7CisrICAgIGRlc3Ryb3lfY3FfcmluZyhyaW5nKTsKKyAKKyAgICAgcmRtYV9ybV9kZWFsbG9jX2NxKCZkZXYtPnJkbWFfZGV2X3JlcywgY21kLT5jcV9oYW5kbGUpOworIAorQEAgLTQ1MSw2ICs0NjAsMTcgQEAgb3V0OgorICAgICByZXR1cm4gcmM7CisgfQorIAorK3N0YXRpYyB2b2lkIGRlc3Ryb3lfcXBfcmluZ3MoUHZyZG1hUmluZyAqcmluZykKKyt7CisrICAgIHByX2RiZygic3Jpbmc9JXBcbiIsICZyaW5nWzBdKTsKKysgICAgcHZyZG1hX3JpbmdfZnJlZSgmcmluZ1swXSk7CisrICAgIHByX2RiZygicnJpbmc9JXBcbiIsICZyaW5nWzFdKTsKKysgICAgcHZyZG1hX3JpbmdfZnJlZSgmcmluZ1sxXSk7CisrCisrICAgIHJkbWFfcGNpX2RtYV91bm1hcChyaW5nLT5kZXYsIHJpbmctPnJpbmdfc3RhdGUsIFRBUkdFVF9QQUdFX1NJWkUpOworKyAgICBnX2ZyZWUocmluZyk7CisrfQorKworIHN0YXRpYyBpbnQgY3JlYXRlX3FwKFBWUkRNQURldiAqZGV2LCB1bmlvbiBwdnJkbWFfY21kX3JlcSAqcmVxLAorICAgICAgICAgICAgICAgICAgICAgIHVuaW9uIHB2cmRtYV9jbWRfcmVzcCAqcnNwKQorIHsKK0BAIC00ODIsNiArNTAyLDExIEBAIHN0YXRpYyBpbnQgY3JlYXRlX3FwKFBWUkRNQURldiAqZGV2LCB1bmlvbiBwdnJkbWFfY21kX3JlcSAqcmVxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbWQtPm1heF9yZWN2X3dyLCBjbWQtPm1heF9yZWN2X3NnZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY21kLT5yZWN2X2NxX2hhbmRsZSwgcmluZ3MsICZyZXNwLT5xcG4pOworIAorKyAgICBpZiAocmVzcC0+aGRyLmVycikgeworKyAgICAgICAgZGVzdHJveV9xcF9yaW5ncyhyaW5ncyk7CisrICAgICAgICByZXR1cm4gcmVzcC0+aGRyLmVycjsKKysgICAgfQorKworICAgICByZXNwLT5tYXhfc2VuZF93ciA9IGNtZC0+bWF4X3NlbmRfd3I7CisgICAgIHJlc3AtPm1heF9yZWN2X3dyID0gY21kLT5tYXhfcmVjdl93cjsKKyAgICAgcmVzcC0+bWF4X3NlbmRfc2dlID0gY21kLT5tYXhfc2VuZF9zZ2U7CitAQCAtNTU1LDEzICs1ODAsNyBAQCBzdGF0aWMgaW50IGRlc3Ryb3lfcXAoUFZSRE1BRGV2ICpkZXYsIHVuaW9uIHB2cmRtYV9jbWRfcmVxICpyZXEsCisgICAgIHJkbWFfcm1fZGVhbGxvY19xcCgmZGV2LT5yZG1hX2Rldl9yZXMsIGNtZC0+cXBfaGFuZGxlKTsKKyAKKyAgICAgcmluZyA9IChQdnJkbWFSaW5nICopcXAtPm9wYXF1ZTsKKy0gICAgcHJfZGJnKCJzcmluZz0lcFxuIiwgJnJpbmdbMF0pOworLSAgICBwdnJkbWFfcmluZ19mcmVlKCZyaW5nWzBdKTsKKy0gICAgcHJfZGJnKCJycmluZz0lcFxuIiwgJnJpbmdbMV0pOworLSAgICBwdnJkbWFfcmluZ19mcmVlKCZyaW5nWzFdKTsKKy0KKy0gICAgcmRtYV9wY2lfZG1hX3VubWFwKFBDSV9ERVZJQ0UoZGV2KSwgcmluZy0+cmluZ19zdGF0ZSwgVEFSR0VUX1BBR0VfU0laRSk7CistICAgIGdfZnJlZShyaW5nKTsKKysgICAgZGVzdHJveV9xcF9yaW5ncyhyaW5nKTsKKyAKKyAgICAgcmV0dXJuIDA7CisgfQorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMTgtZml4LUNWRS0yMDE4LTIwMTkxLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMTgtZml4LUNWRS0yMDE4LTIwMTkxLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmOGZmMDUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxOC1maXgtQ1ZFLTIwMTgtMjAxOTEucGF0Y2gKQEAgLTAsMCArMSw0NyBAQAorQ1ZFOiBDVkUtMjAxOC0yMDE5MQorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXQucWVtdS5vcmcvP3A9cWVtdS5naXQ7YT1jb21taXQ7aD0yYWE4NjQ1XQorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKworRnJvbSAyYWE4NjQ1NmZiOTM4YTExZjJiN2JkNTdjODY0M2MyMTMyMTg2ODFjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUHJhc2FkIEogUGFuZGl0IDxwanBAZmVkb3JhcHJvamVjdC5vcmc+CitEYXRlOiBUaHUsIDEzIERlYyAyMDE4IDAxOjAwOjM1ICswNTMwCitTdWJqZWN0OiBbUEFUQ0hdIHB2cmRtYTogYWRkIHVhcl9yZWFkIHJvdXRpbmUKKworRGVmaW5lIHNrZWxldG9uICd1YXJfcmVhZCcgcm91dGluZS4gQXZvaWQgTlVMTCBkZXJlZmVyZW5jZS4KKworUmVwb3J0ZWQtYnk6IExpIFFpYW5nIDxsaXEzZWFAMTYzLmNvbT4KK1NpZ25lZC1vZmYtYnk6IFByYXNhZCBKIFBhbmRpdCA8cGpwQGZlZG9yYXByb2plY3Qub3JnPgorUmV2aWV3ZWQtYnk6IE1hcmNlbCBBcGZlbGJhdW0gPG1hcmNlbC5hcGZlbGJhdW1AZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogTWFyY2VsIEFwZmVsYmF1bSA8bWFyY2VsLmFwZmVsYmF1bUBnbWFpbC5jb20+CistLS0KKyBody9yZG1hL3Ztdy9wdnJkbWFfbWFpbi5jIHwgNiArKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9ody9yZG1hL3Ztdy9wdnJkbWFfbWFpbi5jIGIvaHcvcmRtYS92bXcvcHZyZG1hX21haW4uYworaW5kZXggNjRkZTE2ZmI1Mi4uODM4YWQ4YTk0OSAxMDA2NDQKKy0tLSBhL2h3L3JkbWEvdm13L3B2cmRtYV9tYWluLmMKKysrKyBiL2h3L3JkbWEvdm13L3B2cmRtYV9tYWluLmMKK0BAIC00NDgsNiArNDQ4LDExIEBAIHN0YXRpYyBjb25zdCBNZW1vcnlSZWdpb25PcHMgcmVnc19vcHMgPSB7CisgICAgIH0sCisgfTsKKyAKKytzdGF0aWMgdWludDY0X3QgdWFyX3JlYWQodm9pZCAqb3BhcXVlLCBod2FkZHIgYWRkciwgdW5zaWduZWQgc2l6ZSkKKyt7CisrICAgIHJldHVybiAweGZmZmZmZmZmOworK30KKysKKyBzdGF0aWMgdm9pZCB1YXJfd3JpdGUodm9pZCAqb3BhcXVlLCBod2FkZHIgYWRkciwgdWludDY0X3QgdmFsLCB1bnNpZ25lZCBzaXplKQorIHsKKyAgICAgUFZSRE1BRGV2ICpkZXYgPSBvcGFxdWU7CitAQCAtNDg5LDYgKzQ5NCw3IEBAIHN0YXRpYyB2b2lkIHVhcl93cml0ZSh2b2lkICpvcGFxdWUsIGh3YWRkciBhZGRyLCB1aW50NjRfdCB2YWwsIHVuc2lnbmVkIHNpemUpCisgfQorIAorIHN0YXRpYyBjb25zdCBNZW1vcnlSZWdpb25PcHMgdWFyX29wcyA9IHsKKysgICAgLnJlYWQgPSB1YXJfcmVhZCwKKyAgICAgLndyaXRlID0gdWFyX3dyaXRlLAorICAgICAuZW5kaWFubmVzcyA9IERFVklDRV9MSVRUTEVfRU5ESUFOLAorICAgICAuaW1wbCA9IHsKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDE5LWZpeC1DVkUtMjAxOC0yMDIxNi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDE5LWZpeC1DVkUtMjAxOC0yMDIxNi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMDJiYWQzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMTktZml4LUNWRS0yMDE4LTIwMjE2LnBhdGNoCkBAIC0wLDAgKzEsODUgQEAKK0NWRTogQ1ZFLTIwMTgtMjAyMTYKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0LnFlbXUub3JnLz9wPXFlbXUuZ2l0O2E9Y29tbWl0O2g9ZjFlMmUzOF0KKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CisKK0Zyb20gZjFlMmUzOGVlMDEzNmI3NzEwYTJjYWEzNDcwNDk4MThhZmQ1N2ExYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFByYXNhZCBKIFBhbmRpdCA8cGpwQGZlZG9yYXByb2plY3Qub3JnPgorRGF0ZTogVGh1LCAxMyBEZWMgMjAxOCAwMTowMDozOSArMDUzMAorU3ViamVjdDogW1BBVENIXSBwdnJkbWE6IGNoZWNrIHJldHVybiB2YWx1ZSBmcm9tIHB2cmRtYV9pZHhfcmluZ19oYXNfIHJvdXRpbmVzCisKK3B2cmRtYV9pZHhfcmluZ19oYXNfW2RhdGEvc3BhY2VdIHJvdXRpbmVzIGFsc28gcmV0dXJuIGludmFsaWQKK2luZGV4IFBWUkRNQV9JTlZBTElEX0lEWFs9LTFdLCBpZiByaW5nIGhhcyBubyBkYXRhL3NwYWNlLiBDaGVjaworcmV0dXJuIHZhbHVlIGZyb20gdGhlc2Ugcm91dGluZXMgdG8gYXZvaWQgcGxhdXNpYmxlIGluZmluaXRlIGxvb3BzLgorCitSZXBvcnRlZC1ieTogTGkgUWlhbmcgPGxpcTNlYUAxNjMuY29tPgorU2lnbmVkLW9mZi1ieTogUHJhc2FkIEogUGFuZGl0IDxwanBAZmVkb3JhcHJvamVjdC5vcmc+CitSZXZpZXdlZC1ieTogWXV2YWwgU2hhaWEgPHl1dmFsLnNoYWlhQG9yYWNsZS5jb20+CitTaWduZWQtb2ZmLWJ5OiBNYXJjZWwgQXBmZWxiYXVtIDxtYXJjZWwuYXBmZWxiYXVtQGdtYWlsLmNvbT4KKy0tLQorIGh3L3JkbWEvdm13L3B2cmRtYV9kZXZfcmluZy5jIHwgMjkgKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9ody9yZG1hL3Ztdy9wdnJkbWFfZGV2X3JpbmcuYyBiL2h3L3JkbWEvdm13L3B2cmRtYV9kZXZfcmluZy5jCitpbmRleCAwMTI0N2ZjMDQxLi5lOGU1YjUwMmY2IDEwMDY0NAorLS0tIGEvaHcvcmRtYS92bXcvcHZyZG1hX2Rldl9yaW5nLmMKKysrKyBiL2h3L3JkbWEvdm13L3B2cmRtYV9kZXZfcmluZy5jCitAQCAtNzMsMjMgKzczLDE2IEBAIG91dDoKKyAKKyB2b2lkICpwdnJkbWFfcmluZ19uZXh0X2VsZW1fcmVhZChQdnJkbWFSaW5nICpyaW5nKQorIHsKKysgICAgaW50IGU7CisgICAgIHVuc2lnbmVkIGludCBpZHggPSAwLCBvZmZzZXQ7CisgCistICAgIC8qCistICAgIHByX2RiZygiJXM6IHQ9JWQsIGg9JWRcbiIsIHJpbmctPm5hbWUsIHJpbmctPnJpbmdfc3RhdGUtPnByb2RfdGFpbCwKKy0gICAgICAgICAgIHJpbmctPnJpbmdfc3RhdGUtPmNvbnNfaGVhZCk7CistICAgICovCistCistICAgIGlmICghcHZyZG1hX2lkeF9yaW5nX2hhc19kYXRhKHJpbmctPnJpbmdfc3RhdGUsIHJpbmctPm1heF9lbGVtcywgJmlkeCkpIHsKKysgICAgZSA9IHB2cmRtYV9pZHhfcmluZ19oYXNfZGF0YShyaW5nLT5yaW5nX3N0YXRlLCByaW5nLT5tYXhfZWxlbXMsICZpZHgpOworKyAgICBpZiAoZSA8PSAwKSB7CisgICAgICAgICBwcl9kYmcoIk5vIG1vcmUgZGF0YSBpbiByaW5nXG4iKTsKKyAgICAgICAgIHJldHVybiBOVUxMOworICAgICB9CisgCisgICAgIG9mZnNldCA9IGlkeCAqIHJpbmctPmVsZW1fc3o7CistICAgIC8qCistICAgIHByX2RiZygiaWR4PSVkXG4iLCBpZHgpOworLSAgICBwcl9kYmcoIm9mZnNldD0lZFxuIiwgb2Zmc2V0KTsKKy0gICAgKi8KKyAgICAgcmV0dXJuIHJpbmctPnBhZ2VzW29mZnNldCAvIFRBUkdFVF9QQUdFX1NJWkVdICsgKG9mZnNldCAlIFRBUkdFVF9QQUdFX1NJWkUpOworIH0KKyAKK0BAIC0xMDUsMjAgKzk4LDIwIEBAIHZvaWQgcHZyZG1hX3JpbmdfcmVhZF9pbmMoUHZyZG1hUmluZyAqcmluZykKKyAKKyB2b2lkICpwdnJkbWFfcmluZ19uZXh0X2VsZW1fd3JpdGUoUHZyZG1hUmluZyAqcmluZykKKyB7CistICAgIHVuc2lnbmVkIGludCBpZHgsIG9mZnNldCwgdGFpbDsKKysgICAgaW50IGlkeDsKKysgICAgdW5zaWduZWQgaW50IG9mZnNldCwgdGFpbDsKKyAKKy0gICAgLyoKKy0gICAgcHJfZGJnKCIlczogdD0lZCwgaD0lZFxuIiwgcmluZy0+bmFtZSwgcmluZy0+cmluZ19zdGF0ZS0+cHJvZF90YWlsLAorLSAgICAgICAgICAgcmluZy0+cmluZ19zdGF0ZS0+Y29uc19oZWFkKTsKKy0gICAgKi8KKy0KKy0gICAgaWYgKCFwdnJkbWFfaWR4X3JpbmdfaGFzX3NwYWNlKHJpbmctPnJpbmdfc3RhdGUsIHJpbmctPm1heF9lbGVtcywgJnRhaWwpKSB7CisrICAgIGlkeCA9IHB2cmRtYV9pZHhfcmluZ19oYXNfc3BhY2UocmluZy0+cmluZ19zdGF0ZSwgcmluZy0+bWF4X2VsZW1zLCAmdGFpbCk7CisrICAgIGlmIChpZHggPD0gMCkgeworICAgICAgICAgcHJfZGJnKCJDUSBpcyBmdWxsXG4iKTsKKyAgICAgICAgIHJldHVybiBOVUxMOworICAgICB9CisgCisgICAgIGlkeCA9IHB2cmRtYV9pZHgoJnJpbmctPnJpbmdfc3RhdGUtPnByb2RfdGFpbCwgcmluZy0+bWF4X2VsZW1zKTsKKy0gICAgLyogVE9ETzogdGFpbCA9PSBpZHggKi8KKysgICAgaWYgKGlkeCA8IDAgfHwgdGFpbCAhPSBpZHgpIHsKKysgICAgICAgIHByX2RiZygiaW52YWxpZCBpZHhcbiIpOworKyAgICAgICAgcmV0dXJuIE5VTEw7CisrICAgIH0KKyAKKyAgICAgb2Zmc2V0ID0gaWR4ICogcmluZy0+ZWxlbV9zejsKKyAgICAgcmV0dXJuIHJpbmctPnBhZ2VzW29mZnNldCAvIFRBUkdFVF9QQUdFX1NJWkVdICsgKG9mZnNldCAlIFRBUkdFVF9QQUdFX1NJWkUpOworLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11L0NWRS0yMDE4LTEwODM5LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11L0NWRS0yMDE4LTEwODM5LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZTFlNDQyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS9DVkUtMjAxOC0xMDgzOS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAKLUZyb20gZmRjODllOTBmYWM0MGM1Y2EyNjg2NzMzZGYxN2I2NDIzZmI4ZDhmYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEphc29uIFdhbmcgPGphc293YW5nQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDMwIE1heSAyMDE4IDEzOjA4OjE1ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIG5lMjAwMDogZml4IHBvc3NpYmxlIG91dCBvZiBib3VuZCBhY2Nlc3MgaW4gbmUyMDAwX3JlY2VpdmUKLQotSW4gbmUyMDAwX3JlY2VpdmUoKSwgd2UgdHJ5IHRvIGFzc2lnbiBzaXplXyB0byBzaXplIHdoaWNoIGNvbnZlcnRzCi1mcm9tIHNpemVfdCB0byBpbnRlZ2VyLiBUaGlzIHdpbGwgY2F1c2UgdHJvdWJsZXMgd2hlbiBzaXplXyBpcyBncmVhdGVyCi1JTlRfTUFYLCB0aGlzIHdpbGwgbGVhZCBhIG5lZ2F0aXZlIHZhbHVlIGluIHNpemUgYW5kIGl0IGNhbiB0aGVuIHBhc3MKLXRoZSBjaGVjayBvZiBzaXplIDwgTUlOX0JVRl9TSVpFIHdoaWNoIG1heSBsZWFkIG91dCBvZiBib3VuZCBhY2Nlc3Mgb2YKLWZvciBib3RoIGJ1ZiBhbmQgYnVmMS4KLQotRml4aW5nIGJ5IGNvbnZlcnRpbmcgdGhlIHR5cGUgb2Ygc2l6ZSB0byBzaXplX3QuCi0KLUNDOiBxZW11LXN0YWJsZUBub25nbnUub3JnCi1SZXBvcnRlZC1ieTogRGFuaWVsIFNoYXBpcmEgPGRhbmllbEB0d2lzdGxvY2suY29tPgotUmV2aWV3ZWQtYnk6IE1pY2hhZWwgUy4gVHNpcmtpbiA8bXN0QHJlZGhhdC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBKYXNvbiBXYW5nIDxqYXNvd2FuZ0ByZWRoYXQuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdC5xZW11Lm9yZy8/cD1xZW11LmdpdDthPWNvbW1pdGRpZmYKLTtoPWZkYzg5ZTkwZmFjNDBjNWNhMjY4NjczM2RmMTdiNjQyM2ZiOGQ4ZmIjcGF0Y2gxXQotCi1DVkU6IENWRS0yMDE4LTEwODM5Ci0KLVNpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBody9uZXQvbmUyMDAwLmMgfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvaHcvbmV0L25lMjAwMC5jIGIvaHcvbmV0L25lMjAwMC5jCi1pbmRleCAwN2Q3OWUzLi44Njk1MThlIDEwMDY0NAotLS0tIGEvaHcvbmV0L25lMjAwMC5jCi0rKysgYi9ody9uZXQvbmUyMDAwLmMKLUBAIC0xNzQsNyArMTc0LDcgQEAgc3RhdGljIGludCBuZTIwMDBfYnVmZmVyX2Z1bGwoTkUyMDAwU3RhdGUgKnMpCi0gc3NpemVfdCBuZTIwMDBfcmVjZWl2ZShOZXRDbGllbnRTdGF0ZSAqbmMsIGNvbnN0IHVpbnQ4X3QgKmJ1Ziwgc2l6ZV90IHNpemVfKQotIHsKLSAgICAgTkUyMDAwU3RhdGUgKnMgPSBxZW11X2dldF9uaWNfb3BhcXVlKG5jKTsKLS0gICAgaW50IHNpemUgPSBzaXplXzsKLSsgICAgc2l6ZV90IHNpemUgPSBzaXplXzsKLSAgICAgdWludDhfdCAqcDsKLSAgICAgdW5zaWduZWQgaW50IHRvdGFsX2xlbiwgbmV4dCwgYXZhaWwsIGxlbiwgaW5kZXgsIG1jYXN0X2lkeDsKLSAgICAgdWludDhfdCBidWYxWzYwXTsKLUBAIC0xODIsNyArMTgyLDcgQEAgc3NpemVfdCBuZTIwMDBfcmVjZWl2ZShOZXRDbGllbnRTdGF0ZSAqbmMsIGNvbnN0IHVpbnQ4X3QgKmJ1Ziwgc2l6ZV90IHNpemVfKQotICAgICAgICAgeyAweGZmLCAweGZmLCAweGZmLCAweGZmLCAweGZmLCAweGZmIH07Ci0gCi0gI2lmIGRlZmluZWQoREVCVUdfTkUyMDAwKQotLSAgICBwcmludGYoIk5FMjAwMDogcmVjZWl2ZWQgbGVuPSVkXG4iLCBzaXplKTsKLSsgICAgcHJpbnRmKCJORTIwMDA6IHJlY2VpdmVkIGxlbj0lenVcbiIsIHNpemUpOwotICNlbmRpZgotIAotICAgICBpZiAocy0+Y21kICYgRTgzOTBfU1RPUCB8fCBuZTIwMDBfYnVmZmVyX2Z1bGwocykpCi0tLSAKLTEuOC4zLjEKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS9DVkUtMjAxOC0xNTc0Ni5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS9DVkUtMjAxOC0xNTc0Ni5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmY2MWVhMC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvQ1ZFLTIwMTgtMTU3NDYucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2NCArMCwwIEBACi1Gcm9tIDlhY2Y0YzY0ZGQ0NTYwYmQyNjgwMDZkNzM1NmM3NDU1ZmFiN2U1YjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgotRGF0ZTogVGh1LCA2IFNlcCAyMDE4IDE0OjUyOjEyICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIHNlY2NvbXA6IHNldCB0aGUgc2VjY29tcCBmaWx0ZXIgdG8gYWxsIHRocmVhZHMKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotV2hlbiB1c2luZyAiLXNlY2NvbXAgb24iLCB0aGUgc2VjY29tcCBwb2xpY3kgaXMgb25seSBhcHBsaWVkIHRvIHRoZQotbWFpbiB0aHJlYWQsIHRoZSB2Y3B1IHdvcmtlciB0aHJlYWQgYW5kIG90aGVyIHdvcmtlciB0aHJlYWRzIGNyZWF0ZWQKLWFmdGVyIHNlY2NvbXAgcG9saWN5IGlzIGFwcGxpZWQ7IHRoZSBzZWNjb21wIHBvbGljeSBpcyBub3QgYXBwbGllZCB0bwotZS5nLiB0aGUgUkNVIHRocmVhZCBiZWNhdXNlIGl0IGlzIGNyZWF0ZWQgYmVmb3JlIHRoZSBzZWNjb21wIHBvbGljeSBpcwotYXBwbGllZCBhbmQgU0VDQ09NUF9GSUxURVJfRkxBR19UU1lOQyBpc24ndCB1c2VkLgotCi1UaGlzIGNhbiBiZSB2ZXJpZmllZCB3aXRoCi1mb3IgdGFzayBpbiAvcHJvYy9gcGlkb2YgcWVtdWAvdGFzay8qOyBkbyBjYXQgJHRhc2svc3RhdHVzIHwgZ3JlcCBTZWNjIDsgZG9uZQotU2VjY29tcDoJMgotU2VjY29tcDoJMAotU2VjY29tcDoJMAotU2VjY29tcDoJMgotU2VjY29tcDoJMgotU2VjY29tcDoJMgotCi1TdGFydGluZyB3aXRoIGxpYnNlY2NvbXAgMi4yLjAgYW5kIGtlcm5lbCA+PSAzLjE3LCB3ZSBjYW4gdXNlCi1zZWNjb21wX2F0dHJfc2V0KGN0eCwgPiBTQ01QX0ZMVEFUUl9DVExfVFNZTkMsIDEpIHRvIHVwZGF0ZSB0aGUgcG9saWN5Ci1vbiBhbGwgdGhyZWFkcy4KLQotbGlic2VjY29tcCByZXF1aXJlbWVudCB3YXMgYnVtcGVkIHRvIDIuMi4wIGluIHByZXZpb3VzIHBhdGNoLgotbGlic2VjY29tcCBzaG91bGQgZmFpbCB0byBzZXQgdGhlIGZpbHRlciBpZiBpdCBjYW4ndCBob25vdXIKLVNDTVBfRkxUQVRSX0NUTF9UU1lOQyAodW50ZXN0ZWQpLCBhbmQgdGh1cyAtc2FuZGJveCB3aWxsIG5vdyBmYWlsIG9uCi1rZXJuZWwgPCAzLjE3LgotCi1TaWduZWQtb2ZmLWJ5OiBNYXJjLUFuZHLDqSBMdXJlYXUgPG1hcmNhbmRyZS5sdXJlYXVAcmVkaGF0LmNvbT4KLUFja2VkLWJ5OiBFZHVhcmRvIE90dWJvIDxvdHVib0ByZWRoYXQuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0W2h0dHBzOi8vZ2l0aHViLmNvbS9xZW11L3FlbXUvY29tbWl0LwotNzBkZmFiZWFhNzliYTRkN2EzYjY5OWFiZTFhMDQ3YzgwMTJkYjExNCNkaWZmLTE4MTA2ZDNiNDdhMmQyNDlmOWQ0MWU3NzJiN2RiMjJkXQotCi1DVkU6IENWRS0yMDE4LTE1NzQ2Ci0KLVNpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBxZW11LXNlY2NvbXAuYyB8IDUgKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9xZW11LXNlY2NvbXAuYyBiL3FlbXUtc2VjY29tcC5jCi1pbmRleCA5Y2Q4ZWI5Li5iYTU1MDBhIDEwMDY0NAotLS0tIGEvcWVtdS1zZWNjb21wLmMKLSsrKyBiL3FlbXUtc2VjY29tcC5jCi1AQCAtMTIwLDYgKzEyMCwxMSBAQCBzdGF0aWMgaW50IHNlY2NvbXBfc3RhcnQodWludDMyX3Qgc2VjY29tcF9vcHRzKQotICAgICAgICAgZ290byBzZWNjb21wX3JldHVybjsKLSAgICAgfQotIAotKyAgICByYyA9IHNlY2NvbXBfYXR0cl9zZXQoY3R4LCBTQ01QX0ZMVEFUUl9DVExfVFNZTkMsIDEpOwotKyAgICBpZiAocmMgIT0gMCkgewotKyAgICAgICAgZ290byBzZWNjb21wX3JldHVybjsKLSsgICAgfQotKwotICAgICBmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShibGFja2xpc3QpOyBpKyspIHsKLSAgICAgICAgIGlmICghKHNlY2NvbXBfb3B0cyAmIGJsYWNrbGlzdFtpXS5zZXQpKSB7Ci0gICAgICAgICAgICAgY29udGludWU7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS9DVkUtMjAxOC0xNzk1OC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS9DVkUtMjAxOC0xNzk1OC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWY0MGZmMi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvQ1ZFLTIwMTgtMTc5NTgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi1Gcm9tIDA2ZTg4Y2E3OGQwNTZlYTRkZTg4NWUzYTE0OTY4MDUxNzlkYzQ3YmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgotRGF0ZTogTW9uLCAxNSBPY3QgMjAxOCAxNjozMzowNCArMDgwMAotU3ViamVjdDogW1BBVENIXSBuZTIwMDA6IGZpeCBwb3NzaWJsZSBvdXQgb2YgYm91bmQgYWNjZXNzIGluIG5lMjAwMF9yZWNlaXZlCi0KLUluIG5lMjAwMF9yZWNlaXZlKCksIHdlIHRyeSB0byBhc3NpZ24gc2l6ZV8gdG8gc2l6ZSB3aGljaCBjb252ZXJ0cwotZnJvbSBzaXplX3QgdG8gaW50ZWdlci4gVGhpcyB3aWxsIGNhdXNlIHRyb3VibGVzIHdoZW4gc2l6ZV8gaXMgZ3JlYXRlcgotSU5UX01BWCwgdGhpcyB3aWxsIGxlYWQgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBzaXplIGFuZCBpdCBjYW4gdGhlbiBwYXNzCi10aGUgY2hlY2sgb2Ygc2l6ZSA8IE1JTl9CVUZfU0laRSB3aGljaCBtYXkgbGVhZCBvdXQgb2YgYm91bmQgYWNjZXNzIG9mCi1mb3IgYm90aCBidWYgYW5kIGJ1ZjEuCi0KLUZpeGluZyBieSBjb252ZXJ0aW5nIHRoZSB0eXBlIG9mIHNpemUgdG8gc2l6ZV90LgotCi1DQzogYWRkcmVzc0BoaWRkZW4KLVJlcG9ydGVkLWJ5OiBEYW5pZWwgU2hhcGlyYSA8YWRkcmVzc0BoaWRkZW4+Ci1SZXZpZXdlZC1ieTogTWljaGFlbCBTLiBUc2lya2luIDxhZGRyZXNzQGhpZGRlbj4KLVNpZ25lZC1vZmYtYnk6IEphc29uIFdhbmcgPGFkZHJlc3NAaGlkZGVuPgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL3FlbXUtZGV2ZWwvMjAxOC0wOS9tc2cwMzI3My5odG1sXQotCi1DVkU6IENWRS0yMDE4LTE3OTU4Ci0KLVNpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBody9uZXQvbmUyMDAwLmMgfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvaHcvbmV0L25lMjAwMC5jIGIvaHcvbmV0L25lMjAwMC5jCi1pbmRleCAwN2Q3OWUzLi44Njk1MThlIDEwMDY0NAotLS0tIGEvaHcvbmV0L25lMjAwMC5jCi0rKysgYi9ody9uZXQvbmUyMDAwLmMKLUBAIC0xNzQsNyArMTc0LDcgQEAgc3RhdGljIGludCBuZTIwMDBfYnVmZmVyX2Z1bGwoTkUyMDAwU3RhdGUgKnMpCi0gc3NpemVfdCBuZTIwMDBfcmVjZWl2ZShOZXRDbGllbnRTdGF0ZSAqbmMsIGNvbnN0IHVpbnQ4X3QgKmJ1Ziwgc2l6ZV90IHNpemVfKQotIHsKLSAgICAgTkUyMDAwU3RhdGUgKnMgPSBxZW11X2dldF9uaWNfb3BhcXVlKG5jKTsKLS0gICAgaW50IHNpemUgPSBzaXplXzsKLSsgICAgc2l6ZV90IHNpemUgPSBzaXplXzsKLSAgICAgdWludDhfdCAqcDsKLSAgICAgdW5zaWduZWQgaW50IHRvdGFsX2xlbiwgbmV4dCwgYXZhaWwsIGxlbiwgaW5kZXgsIG1jYXN0X2lkeDsKLSAgICAgdWludDhfdCBidWYxWzYwXTsKLUBAIC0xODIsNyArMTgyLDcgQEAgc3NpemVfdCBuZTIwMDBfcmVjZWl2ZShOZXRDbGllbnRTdGF0ZSAqbmMsIGNvbnN0IHVpbnQ4X3QgKmJ1Ziwgc2l6ZV90IHNpemVfKQotICAgICAgICAgeyAweGZmLCAweGZmLCAweGZmLCAweGZmLCAweGZmLCAweGZmIH07Ci0gCi0gI2lmIGRlZmluZWQoREVCVUdfTkUyMDAwKQotLSAgICBwcmludGYoIk5FMjAwMDogcmVjZWl2ZWQgbGVuPSVkXG4iLCBzaXplKTsKLSsgICAgcHJpbnRmKCJORTIwMDA6IHJlY2VpdmVkIGxlbj0lenVcbiIsIHNpemUpOwotICNlbmRpZgotIAotICAgICBpZiAocy0+Y21kICYgRTgzOTBfU1RPUCB8fCBuZTIwMDBfYnVmZmVyX2Z1bGwocykpCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS9DVkUtMjAxOC0xNzk2Mi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS9DVkUtMjAxOC0xNzk2Mi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODhiZmQ4MS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvQ1ZFLTIwMTgtMTc5NjIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3MCArMCwwIEBACi1Gcm9tIDIwYWJlNDQzYWQ5NDY0YjE4YWM0OTRmNzFmN2Q1M2YxOWVlMzc0OGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgotRGF0ZTogTW9uLCAxNSBPY3QgMjAxOCAxNjozODowOCArMDgwMAotU3ViamVjdDogW1BBVENIXSBydGw4MTM5OiBmaXggcG9zc2libGUgb3V0IG9mIGJvdW5kIGFjY2VzcwotCi1JbiBydGw4MTM5X2RvX3JlY2VpdmUoKSwgd2UgdHJ5IHRvIGFzc2lnbiBzaXplXyB0byBzaXplIHdoaWNoIGNvbnZlcnRzCi1mcm9tIHNpemVfdCB0byBpbnRlZ2VyLiBUaGlzIHdpbGwgY2F1c2UgdHJvdWJsZXMgd2hlbiBzaXplXyBpcyBncmVhdGVyCi1JTlRfTUFYLCB0aGlzIHdpbGwgbGVhZCBhIG5lZ2F0aXZlIHZhbHVlIGluIHNpemUgYW5kIGl0IGNhbiB0aGVuIHBhc3MKLXRoZSBjaGVjayBvZiBzaXplIDwgTUlOX0JVRl9TSVpFIHdoaWNoIG1heSBsZWFkIG91dCBvZiBib3VuZCBhY2Nlc3Mgb2YKLWZvciBib3RoIGJ1ZiBhbmQgYnVmMS4KLQotRml4aW5nIGJ5IGNvbnZlcnRpbmcgdGhlIHR5cGUgb2Ygc2l6ZSB0byBzaXplX3QuCi0KLUNDOiBhZGRyZXNzQGhpZGRlbgotUmVwb3J0ZWQtYnk6IERhbmllbCBTaGFwaXJhIDxhZGRyZXNzQGhpZGRlbj4KLVJldmlld2VkLWJ5OiBNaWNoYWVsIFMuIFRzaXJraW4gPGFkZHJlc3NAaGlkZGVuPgotU2lnbmVkLW9mZi1ieTogSmFzb24gV2FuZyA8YWRkcmVzc0BoaWRkZW4+Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvcWVtdS1kZXZlbC8yMDE4LTA5L21zZzAzMjY5Lmh0bWxdCi0KLUNWRTogQ1ZFLTIwMTgtMTc5NjIKLQotU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KLS0tLQotIGh3L25ldC9ydGw4MTM5LmMgfCA4ICsrKystLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2h3L25ldC9ydGw4MTM5LmMgYi9ody9uZXQvcnRsODEzOS5jCi1pbmRleCA0NmRhYTE2Li4yMzQyYTA5IDEwMDY0NAotLS0tIGEvaHcvbmV0L3J0bDgxMzkuYwotKysrIGIvaHcvbmV0L3J0bDgxMzkuYwotQEAgLTgxNyw3ICs4MTcsNyBAQCBzdGF0aWMgc3NpemVfdCBydGw4MTM5X2RvX3JlY2VpdmUoTmV0Q2xpZW50U3RhdGUgKm5jLCBjb25zdCB1aW50OF90ICpidWYsIHNpemVfdAotICAgICBSVEw4MTM5U3RhdGUgKnMgPSBxZW11X2dldF9uaWNfb3BhcXVlKG5jKTsKLSAgICAgUENJRGV2aWNlICpkID0gUENJX0RFVklDRShzKTsKLSAgICAgLyogc2l6ZSBpcyB0aGUgbGVuZ3RoIG9mIHRoZSBidWZmZXIgcGFzc2VkIHRvIHRoZSBkcml2ZXIgKi8KLS0gICAgaW50IHNpemUgPSBzaXplXzsKLSsgICAgc2l6ZV90IHNpemUgPSBzaXplXzsKLSAgICAgY29uc3QgdWludDhfdCAqZG90MXFfYnVmID0gTlVMTDsKLSAKLSAgICAgdWludDMyX3QgcGFja2V0X2hlYWRlciA9IDA7Ci1AQCAtODI2LDcgKzgyNiw3IEBAIHN0YXRpYyBzc2l6ZV90IHJ0bDgxMzlfZG9fcmVjZWl2ZShOZXRDbGllbnRTdGF0ZSAqbmMsIGNvbnN0IHVpbnQ4X3QgKmJ1Ziwgc2l6ZV90Ci0gICAgIHN0YXRpYyBjb25zdCB1aW50OF90IGJyb2FkY2FzdF9tYWNhZGRyWzZdID0KLSAgICAgICAgIHsgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiB9OwotIAotLSAgICBEUFJJTlRGKCI+Pj4gcmVjZWl2ZWQgbGVuPSVkXG4iLCBzaXplKTsKLSsgICAgRFBSSU5URigiPj4+IHJlY2VpdmVkIGxlbj0lenVcbiIsIHNpemUpOwotIAotICAgICAvKiB0ZXN0IGlmIGJvYXJkIGNsb2NrIGlzIHN0b3BwZWQgKi8KLSAgICAgaWYgKCFzLT5jbG9ja19lbmFibGVkKQotQEAgLTEwMzUsNyArMTAzNSw3IEBAIHN0YXRpYyBzc2l6ZV90IHJ0bDgxMzlfZG9fcmVjZWl2ZShOZXRDbGllbnRTdGF0ZSAqbmMsIGNvbnN0IHVpbnQ4X3QgKmJ1Ziwgc2l6ZV90Ci0gCi0gICAgICAgICBpZiAoc2l6ZSs0ID4gcnhfc3BhY2UpCi0gICAgICAgICB7Ci0tICAgICAgICAgICAgRFBSSU5URigiQysgUnggbW9kZSA6IGRlc2NyaXB0b3IgJWQgc2l6ZSAlZCByZWNlaXZlZCAlZCArIDRcbiIsCi0rICAgICAgICAgICAgRFBSSU5URigiQysgUnggbW9kZSA6IGRlc2NyaXB0b3IgJWQgc2l6ZSAlZCByZWNlaXZlZCAlenUgKyA0XG4iLAotICAgICAgICAgICAgICAgICBkZXNjcmlwdG9yLCByeF9zcGFjZSwgc2l6ZSk7Ci0gCi0gICAgICAgICAgICAgcy0+SW50clN0YXR1cyB8PSBSeE92ZXJmbG93OwotQEAgLTExNDgsNyArMTE0OCw3IEBAIHN0YXRpYyBzc2l6ZV90IHJ0bDgxMzlfZG9fcmVjZWl2ZShOZXRDbGllbnRTdGF0ZSAqbmMsIGNvbnN0IHVpbnQ4X3QgKmJ1Ziwgc2l6ZV90Ci0gICAgICAgICBpZiAoYXZhaWwgIT0gMCAmJiBSWF9BTElHTihzaXplICsgOCkgPj0gYXZhaWwpCi0gICAgICAgICB7Ci0gICAgICAgICAgICAgRFBSSU5URigicnggb3ZlcmZsb3c6IHJ4IGJ1ZmZlciBsZW5ndGggJWQgaGVhZCAweCUwNHggIgotLSAgICAgICAgICAgICAgICAicmVhZCAweCUwNHggPT09IGF2YWlsYWJsZSAweCUwNHggbmVlZCAweCUwNHhcbiIsCi0rICAgICAgICAgICAgICAgICJyZWFkIDB4JTA0eCA9PT0gYXZhaWxhYmxlIDB4JTA0eCBuZWVkIDB4JTA0enhcbiIsCi0gICAgICAgICAgICAgICAgIHMtPlJ4QnVmZmVyU2l6ZSwgcy0+UnhCdWZBZGRyLCBzLT5SeEJ1ZlB0ciwgYXZhaWwsIHNpemUgKyA4KTsKLSAKLSAgICAgICAgICAgICBzLT5JbnRyU3RhdHVzIHw9IFJ4T3ZlcmZsb3c7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS9DVkUtMjAxOC0xNzk2My5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS9DVkUtMjAxOC0xNzk2My5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDU0Y2RjOC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvQ1ZFLTIwMTgtMTc5NjMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MSArMCwwIEBACi1Gcm9tIGU1ZmY3MmE4MDA1ZGQxZDljMGY2M2Y4YTljYzQyOThkZjViYjc1NTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgotRGF0ZTogTW9uLCAxNSBPY3QgMjAxOCAxNjozOTo0NiArMDgwMAotU3ViamVjdDogW1BBVENIXSBwY25ldDogZml4IHBvc3NpYmxlIGJ1ZmZlciBvdmVyZmxvdwotCi1JbiBwY25ldF9yZWNlaXZlKCksIHdlIHRyeSB0byBhc3NpZ24gc2l6ZV8gdG8gc2l6ZSB3aGljaCBjb252ZXJ0cyBmcm9tCi1zaXplX3QgdG8gaW50ZWdlci4gVGhpcyB3aWxsIGNhdXNlIHRyb3VibGVzIHdoZW4gc2l6ZV8gaXMgZ3JlYXRlcgotSU5UX01BWCwgdGhpcyB3aWxsIGxlYWQgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBzaXplIGFuZCBpdCBjYW4gdGhlbiBwYXNzCi10aGUgY2hlY2sgb2Ygc2l6ZSA8IE1JTl9CVUZfU0laRSB3aGljaCBtYXkgbGVhZCBvdXQgb2YgYm91bmQgYWNjZXNzCi1mb3IgYm90aCBidWYgYW5kIGJ1ZjEuCi0KLUZpeGluZyBieSBjb252ZXJ0aW5nIHRoZSB0eXBlIG9mIHNpemUgdG8gc2l6ZV90LgotCi1DQzogYWRkcmVzc0BoaWRkZW4KLVJlcG9ydGVkLWJ5OiBEYW5pZWwgU2hhcGlyYSA8YWRkcmVzc0BoaWRkZW4+Ci1SZXZpZXdlZC1ieTogTWljaGFlbCBTLiBUc2lya2luIDxhZGRyZXNzQGhpZGRlbj4KLVNpZ25lZC1vZmYtYnk6IEphc29uIFdhbmcgPGFkZHJlc3NAaGlkZGVuPgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL3FlbXUtZGV2ZWwvMjAxOC0wOS9tc2cwMzI2OC5odG1sXQotCi1DVkU6IENWRS0yMDE4LTE3OTYzCi0KLVNpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBody9uZXQvcGNuZXQuYyB8IDQgKystLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9ody9uZXQvcGNuZXQuYyBiL2h3L25ldC9wY25ldC5jCi1pbmRleCAwYzQ0NTU0Li5kOWJhMDRiIDEwMDY0NAotLS0tIGEvaHcvbmV0L3BjbmV0LmMKLSsrKyBiL2h3L25ldC9wY25ldC5jCi1AQCAtOTg4LDE0ICs5ODgsMTQgQEAgc3NpemVfdCBwY25ldF9yZWNlaXZlKE5ldENsaWVudFN0YXRlICpuYywgY29uc3QgdWludDhfdCAqYnVmLCBzaXplX3Qgc2l6ZV8pCi0gICAgIHVpbnQ4X3QgYnVmMVs2MF07Ci0gICAgIGludCByZW1haW5pbmc7Ci0gICAgIGludCBjcmNfZXJyID0gMDsKLS0gICAgaW50IHNpemUgPSBzaXplXzsKLSsgICAgc2l6ZV90IHNpemUgPSBzaXplXzsKLSAKLSAgICAgaWYgKENTUl9EUlgocykgfHwgQ1NSX1NUT1AocykgfHwgQ1NSX1NQTkQocykgfHwgIXNpemUgfHwKLSAgICAgICAgIChDU1JfTE9PUChzKSAmJiAhcy0+bG9vcHRlc3QpKSB7Ci0gICAgICAgICByZXR1cm4gLTE7Ci0gICAgIH0KLSAjaWZkZWYgUENORVRfREVCVUcKLS0gICAgcHJpbnRmKCJwY25ldF9yZWNlaXZlIHNpemU9JWRcbiIsIHNpemUpOwotKyAgICBwcmludGYoInBjbmV0X3JlY2VpdmUgc2l6ZT0lenVcbiIsIHNpemUpOwotICNlbmRpZgotIAotICAgICAvKiBpZiB0b28gc21hbGwgYnVmZmVyLCB0aGVuIGV4cGFuZCBpdCAqLwotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvQ1ZFLTIwMTktMzgxMi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS9DVkUtMjAxOS0zODEyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkZTU4ODIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvQ1ZFLTIwMTktMzgxMi5wYXRjaApAQCAtMCwwICsxLDM5IEBACitRRU1VLCB0aHJvdWdoIHZlcnNpb24gMi4xMCBhbmQgdGhyb3VnaCB2ZXJzaW9uIDMuMS4wLCBpcyB2dWxuZXJhYmxlIHRvIGFuCitvdXQtb2YtYm91bmRzIHJlYWQgb2YgdXAgdG8gMTI4IGJ5dGVzIGluIHRoZSBody9pMmMvaTJjLWRkYy5jOmkyY19kZGMoKQorZnVuY3Rpb24uIEEgbG9jYWwgYXR0YWNrZXIgd2l0aCBwZXJtaXNzaW9uIHRvIGV4ZWN1dGUgaTJjIGNvbW1hbmRzIGNvdWxkIGV4cGxvaXQKK3RoaXMgdG8gcmVhZCBzdGFjayBtZW1vcnkgb2YgdGhlIHFlbXUgcHJvY2VzcyBvbiB0aGUgaG9zdC4KKworQ1ZFOiBDVkUtMjAxOS0zODEyCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitGcm9tIGIwNWIyNjc4NDA1MTU3MzBkYmY2NzUzNDk1ZDViN2JkOGIwNGFkMWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBHZXJkIEhvZmZtYW5uIDxrcmF4ZWxAcmVkaGF0LmNvbT4KK0RhdGU6IFR1ZSwgOCBKYW4gMjAxOSAxMToyMzowMSArMDEwMAorU3ViamVjdDogW1BBVENIXSBpMmMtZGRjOiBmaXggb29iIHJlYWQKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworU3VnZ2VzdGVkLWJ5OiBNaWNoYWVsIEhhbnNlbG1hbm4gPHB1YmxpY0BoYW5zbWkuY2g+CitTaWduZWQtb2ZmLWJ5OiBHZXJkIEhvZmZtYW5uIDxrcmF4ZWxAcmVkaGF0LmNvbT4KK1Jldmlld2VkLWJ5OiBNaWNoYWVsIEhhbnNlbG1hbm4gPHB1YmxpY0BoYW5zbWkuY2g+CitSZXZpZXdlZC1ieTogUGhpbGlwcGUgTWF0aGlldS1EYXVkw6kgPHBoaWxtZEByZWRoYXQuY29tPgorTWVzc2FnZS1pZDogMjAxOTAxMDgxMDIzMDEuMTk1Ny0xLWtyYXhlbEByZWRoYXQuY29tCistLS0KKyBody9pMmMvaTJjLWRkYy5jIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvaHcvaTJjL2kyYy1kZGMuYyBiL2h3L2kyYy9pMmMtZGRjLmMKK2luZGV4IGJlMzRmZTA3MmNmLi4wYTAzNjdmZjM4ZiAxMDA2NDQKKy0tLSBhL2h3L2kyYy9pMmMtZGRjLmMKKysrKyBiL2h3L2kyYy9pMmMtZGRjLmMKK0BAIC01Niw3ICs1Niw3IEBAIHN0YXRpYyBpbnQgaTJjX2RkY19yeChJMkNTbGF2ZSAqaTJjKQorICAgICBJMkNERENTdGF0ZSAqcyA9IEkyQ0REQyhpMmMpOworIAorICAgICBpbnQgdmFsdWU7CistICAgIHZhbHVlID0gcy0+ZWRpZF9ibG9iW3MtPnJlZ107CisrICAgIHZhbHVlID0gcy0+ZWRpZF9ibG9iW3MtPnJlZyAlIHNpemVvZihzLT5lZGlkX2Jsb2IpXTsKKyAgICAgcy0+cmVnKys7CisgICAgIHJldHVybiB2YWx1ZTsKKyB9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXVfMy4wLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXVfMy4wLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc3NjU0OGIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11XzMuMC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNjAgKzAsMCBAQAotcmVxdWlyZSBxZW11LmluYwotCi1pbmhlcml0IHB0ZXN0Ci0KLVJERVBFTkRTXyR7UE59LXB0ZXN0ID0gImJhc2ggbWFrZSIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NDQxYzI4ZDJjZjg2ZTE1YTM3ZmE0N2UxNWE3MmZiYWMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7ZW5kbGluZT0yNDttZDU9YzA0ZGVmN2FlMzg4NTBlN2QzZWY1NDg1ODgxNTk5MTMiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly9kb3dubG9hZC5xZW11Lm9yZy8ke0JQTn0tJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovL3Bvd2VycGNfcm9tLmJpbiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXNkbC5jLWFsbG93LXVzZXItdG8tZGlzYWJsZS1wb2ludGVyLWdyYWJzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItcWVtdS1BZGQtbWlzc2luZy13YWNvbS1ISUQtZGVzY3JpcHRvci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAzLUFkZC1zdWJwYWNrYWdlLXB0ZXN0LXdoaWNoLXJ1bnMtYWxsLXVuaXQtdGVzdC1jYXNlcy0ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDQtcWVtdS1BZGQtYWRkaXRpb24tZW52aXJvbm1lbnQtc3BhY2UtdG8tYm9vdC1sb2FkZXItcS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA1LXFlbXUtZGlzYWJsZS1WYWxncmluZC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA2LXFlbXUtTGltaXQtcGF0aHMtc2VhcmNoZWQtZHVyaW5nLXVzZXItbW9kZS1lbXVsYXRpb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNy1xZW11LW5hdGl2ZS1zZXQtbGQuYmZkLWZpeC1jZmxhZ3MtYW5kLXNldC1zb21lLWVudmlyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDgtY2hhcmRldi1jb25uZWN0LXNvY2tldC10by1hLXNwYXduZWQtY29tbWFuZC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA5LWFwaWMtZml4dXAtZmFsbHRocm91Z2gtdG8tUElDLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTAtbGludXgtdXNlci1GaXgtd2Via2l0Z3RrLWhhbmdzLW9uLTMyLWJpdC14ODYtdGFyZ2V0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTEtUmV2ZXJ0LWxpbnV4LXVzZXItZml4LW1tYXAtbXVubWFwLW1wcm90ZWN0LW1yZW1hcC1zaC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOC0xNTc0Ni5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOC0xNzk1OC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOC0xNzk2Mi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOC0xNzk2My5wYXRjaCBcCi0gICAgICAgICAgICIKLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gInFlbXUtKD9QPHB2ZXI+XGQrKFwuXGQrKSspXC50YXIiCi0KLVNSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgXAotICAgICAgICAgICAgZmlsZTovLzAwMTItZml4LWxpYmNhcC1oZWFkZXItaXNzdWUtb24tc29tZS1kaXN0cm8ucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMTMtY3B1cy5jLUFkZC1lcnJvci1tZXNzYWdlcy13aGVuLXFlbWlfY3B1X2tpY2tfdGhyZWFkLS5wYXRjaCBcCi0gICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI2YTVjOGRmNTgzNDA2ZWEyNGVmMjViMjM5YzMyNDNlMCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI4ZDdhZjY0ZmU4YmQ1ZWE1YzNiZGYxNzEzMWE4Yjg1ODQ5MWJjY2UxZWUzODM5NDI1YTZkOTFmYjgyMWI1NzEzIgotCi1DT01QQVRJQkxFX0hPU1RfbWlwc2FyY2huMzIgPSAibnVsbCIKLUNPTVBBVElCTEVfSE9TVF9taXBzYXJjaG42NCA9ICJudWxsIgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICAjIFByZXZlbnQgUUEgd2FybmluZ3MgYWJvdXQgaW5zdGFsbGVkICR7bG9jYWxzdGF0ZWRpcn0vcnVuCi0gICAgaWYgWyAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4gXTsgdGhlbiBybWRpciAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW47IGZpCi0gICAgaW5zdGFsbCAtRG0gMDc1NSAke1dPUktESVJ9L3Bvd2VycGNfcm9tLmJpbiAke0R9JHtkYXRhZGlyfS9xZW11Ci19Ci0KLWRvX2NvbXBpbGVfcHRlc3QoKSB7Ci0JbWFrZSBidWlsZHRlc3QtVEVTVFMKLX0KLQotZG9faW5zdGFsbF9wdGVzdCgpIHsKLQljcCAtckwgJHtCfS90ZXN0cyAke0R9JHtQVEVTVF9QQVRIfQotCWZpbmQgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMgLXR5cGUgZiAtbmFtZSAiKi5bU3NoY29kXSIgfCB4YXJncyAtaSBybSAtcmYge30KLQotCWNwICR7U30vdGVzdHMvTWFrZWZpbGUuaW5jbHVkZSAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cwotCSMgRG9uJ3QgY2hlY2sgdGhlIGZpbGUgZ2VucmVhdGVkIGJ5IGNvbmZpZ3VyZQotCXNlZCAtaSAtZSAnL3dpbGRjYXJkIGNvbmZpZy1ob3N0Lm1hay9kJyBcCi0JICAgICAgIC1lICckIHsvZW5kaWYvZH0nICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzL01ha2VmaWxlLmluY2x1ZGUKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdV8zLjEuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdV8zLjEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNGQ4YmVlCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11XzMuMS4wLmJiCkBAIC0wLDAgKzEsMjIgQEAKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlc2RrIgorCityZXF1aXJlIHFlbXUuaW5jCisKK0RFUEVORFMgPSAiZ2xpYi0yLjAgemxpYiBwaXhtYW4iCisKK1JERVBFTkRTXyR7UE59X2NsYXNzLXRhcmdldCArPSAiYmFzaCIKKworRVhUUkFfT0VDT05GX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIC0tdGFyZ2V0LWxpc3Q9JHtAZ2V0X3FlbXVfdGFyZ2V0X2xpc3QoZCl9IgorRVhUUkFfT0VDT05GX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiIC0tdGFyZ2V0LWxpc3Q9JHtAZ2V0X3FlbXVfdGFyZ2V0X2xpc3QoZCl9IgorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsoKSB7CisgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2d0aysnLCAnbWFrZV9xZW11X3dyYXBwZXInLCAnJywgZCl9Cit9CisKK1BBQ0tBR0VDT05GSUcgPz89ICIgXAorICAgIGZkdCBzZGwga3ZtIFwKKyAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdhbHNhIHhlbicsIGQpfSBcCisiCitQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZXNkayA/Pz0gImZkdCBzZGwga3ZtIgorCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdXdyYXBwZXItY3Jvc3NfMS4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11d3JhcHBlci1jcm9zc18xLjAuYmIKaW5kZXggNGFhZGE1Mi4uYTA0NDhhMSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11d3JhcHBlci1jcm9zc18xLjAuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11d3JhcHBlci1jcm9zc18xLjAuYmIKQEAgLTIwLDggKzIwLDkgQEAKICMhL2Jpbi9zaAogc2V0IC14CiAKLWlmIFsgJHtAYmIudXRpbHMuY29udGFpbnMoJ01BQ0hJTkVfRkVBVFVSRVMnLCAncWVtdS11c2VybW9kZScsICdUcnVlJywgJ0ZhbHNlJywgZCl9ID0gRmFsc2UgXTsgdGhlbgotICAgICAgICBlY2hvICJxZW11d3JhcHBlcjogcWVtdSB1c2VybW9kZSBpcyBub3Qgc3VwcG9ydGVkIgoraWYgWyAke0BiYi51dGlscy5jb250YWlucygnTUFDSElORV9GRUFUVVJFUycsICdxZW11LXVzZXJtb2RlJywgJ1RydWUnLCAnRmFsc2UnLCBkKX0gPSBGYWxzZSAtYSAiJHtQTn0iICE9ICJuYXRpdmVzZGstcWVtdXdyYXBwZXItY3Jvc3MiIF07IHRoZW4KKwllY2hvICJxZW11d3JhcHBlcjogcWVtdSB1c2VybW9kZSBpcyBub3Qgc3VwcG9ydGVkIgorCWV4aXQgMQogZmkKIAogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xdWlsdC9xdWlsdC1uYXRpdmUuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcXVpbHQvcXVpbHQtbmF0aXZlLmluYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzcwNjcwNC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xdWlsdC9xdWlsdC1uYXRpdmUuaW5jCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotUkRFUEVORFNfJHtQTn0gPSAiZGlmZnN0YXQtbmF0aXZlIHBhdGNoLW5hdGl2ZSBiemlwMi1uYXRpdmUgdXRpbC1saW51eC1uYXRpdmUiCi0KLUlOSElCSVRfQVVUT1RPT0xTX0RFUFMgPSAiMSIKLQotaW5oZXJpdCBuYXRpdmUKLQotUEFUQ0hUT09MID0gInBhdGNoIgotRVhUUkFfT0VDT05GX2FwcGVuZCA9ICIgLS1kaXNhYmxlLW5scyIKLQotZG9fY29uZmlndXJlICgpIHsKLQlvZV9ydW5jb25mCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kICgpIHsKLQkjIER1bW15IHF1aWx0cmMgZmlsZSBmb3IgcGF0Y2guYmJjbGFzcwotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vCi0JdG91Y2ggJHtEfSR7c3lzY29uZmRpcn0vcXVpbHRyYwotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcXVpbHQvcXVpbHQtbmF0aXZlXzAuNjUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xdWlsdC9xdWlsdC1uYXRpdmVfMC42NS5iYgppbmRleCA2YmM3ZGNkLi4yMjM3NDQyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xdWlsdC9xdWlsdC1uYXRpdmVfMC42NS5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xdWlsdC9xdWlsdC1uYXRpdmVfMC42NS5iYgpAQCAtMSwyICsxLDIgQEAKIHJlcXVpcmUgcXVpbHQuaW5jCi1yZXF1aXJlIHF1aWx0LW5hdGl2ZS5pbmMKK2luaGVyaXQgbmF0aXZlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xdWlsdC9xdWlsdC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xdWlsdC9xdWlsdC5pbmMKaW5kZXggNDhlZDliYS4uMTUwZGYzZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcXVpbHQvcXVpbHQuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3F1aWx0L3F1aWx0LmluYwpAQCAtMTEsMTQgKzExLDIxIEBACiAgICAgICAgIGZpbGU6Ly8wMDAxLXRlc3RzLUFsbG93LWRpZmZlcmVudC1vdXRwdXQtZnJvbS1tdi5wYXRjaCBcCiAiCiAKK1NSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgZmlsZTovL2dudV9wYXRjaF90ZXN0X2ZpeF90YXJnZXQucGF0Y2giCisKIFNSQ19VUklbbWQ1c3VtXSA9ICJjNjdiYTAyMjhmNWI3YjhiYmU0Njk0NzQ2NjFmOTJkNiIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICJmNmNiYzc4OGU1Y2JiYjM4MWEzYzZlYWI1YjllZmNlNjdjNzc2YTg2NjJhNzc5NWM3NDMyZmQyN2FhMDk2ODE5IgogCiBpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcHRlc3QKIAorSU5ISUJJVF9BVVRPVE9PTFNfREVQU19jbGFzcy1uYXRpdmUgPSAiMSIKK1BBVENIVE9PTF9jbGFzcy1uYXRpdmUgPSAicGF0Y2giCisKIENMRUFOQlJPS0VOID0gIjEiCiAKIEVYVFJBX09FQ09ORiA9ICItLXdpdGgtcGVybD0nJHtVU1JCSU5QQVRIfS9lbnYgcGVybCcgLS13aXRoLXBhdGNoPXBhdGNoIgorRVhUUkFfT0VDT05GX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIC0tZGlzYWJsZS1ubHMiCitFWFRSQV9BVVRPUkVDT05GICs9ICItLWV4Y2x1ZGU9YWNsb2NhbCIKIAogQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImFjX2N2X3BhdGhfQkFTSD0vYmluL2Jhc2giCiAKQEAgLTMzLDYgKzQwLDEwIEBACiAJc2VkIC1lICdzLF5DT01QQVRfU1lNTElOS1MuKjo9LiosQ09NUEFUX1NZTUxJTktTCTo9LCcgLWkgJHtTfS9NYWtlZmlsZQogfQogCitkb19jb25maWd1cmVfY2xhc3MtbmF0aXZlICgpIHsKKyAgICBvZV9ydW5jb25mCit9CisKICMgcXVpbHQgTWFrZWZpbGVzIGluc3RhbGwgdG8gQlVJTERfUk9PVCBpbnN0ZWFkIG9mIERFU1RESVIKIGRvX2luc3RhbGwgKCkgewogCW9lX3J1bm1ha2UgJ0JVSUxEX1JPT1Q9JHtEfScgaW5zdGFsbApAQCAtNDAsNiArNTEsMTIgQEAKIAlybSAtcmYgJHtEfS8ke2RhdGFkaXJ9L2VtYWNzCiB9CiAKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7CisgICAgIyBEdW1teSBxdWlsdHJjIGZpbGUgZm9yIHBhdGNoLmJiY2xhc3MKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9LworICAgIHRvdWNoICR7RH0ke3N5c2NvbmZkaXJ9L3F1aWx0cmMKK30KKwogZG9fY29tcGlsZV9wdGVzdCgpIHsKIAlvZV9ydW5tYWtlIGJpbi9wYXRjaC13cmFwcGVyIHRlc3QvLmRlcGVuZAogfQpAQCAtNjEsNyArNzgsOSBAQAogRklMRVNfJHtQTn0tZG9jID0gIiR7bWFuZGlyfS9tYW4xL3F1aWx0LjEgJHtkb2NkaXJ9LyR7QlBOfSIKIEZJTEVTX2d1YXJkcy1kb2MgPSAiJHttYW5kaXJ9L21hbjEvZ3VhcmRzLjEiCiAKLVJERVBFTkRTXyR7UE59ID0gImJhc2giCitSREVQRU5EU18ke1BOfSA9ICJiYXNoIHBhdGNoIGRpZmZzdGF0IGJ6aXAyIHV0aWwtbGludXgiCitSREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiZGlmZnN0YXQtbmF0aXZlIHBhdGNoLW5hdGl2ZSBiemlwMi1uYXRpdmUiCisKIFJERVBFTkRTXyR7UE59LXB0ZXN0ID0gIm1ha2UgZmlsZSBzZWQgZ2F3ayBkaWZmdXRpbHMgZmluZHV0aWxzIGVkIHBlcmwgXAogICAgICAgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZmlsZWhhbmRsZSBwZXJsLW1vZHVsZS1nZXRvcHQtc3RkIFwKICAgICAgICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXBvc2l4IHBlcmwtbW9kdWxlLWZpbGUtdGVtcCBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xdWlsdC9xdWlsdF8wLjY1LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcXVpbHQvcXVpbHRfMC42NS5iYgppbmRleCA1YmY4MThkLi5mZjk3MjY1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xdWlsdC9xdWlsdF8wLjY1LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3F1aWx0L3F1aWx0XzAuNjUuYmIKQEAgLTEsOCArMSwyIEBACiByZXF1aXJlIHF1aWx0LmluYwogaW5oZXJpdCBnZXR0ZXh0Ci0KLVNSQ19VUkkgKz0gImZpbGU6Ly9nbnVfcGF0Y2hfdGVzdF9maXhfdGFyZ2V0LnBhdGNoIgotCi1FWFRSQV9BVVRPUkVDT05GICs9ICItLWV4Y2x1ZGU9YWNsb2NhbCIKLQotUkRFUEVORFNfJHtQTn0gKz0gInBhdGNoIGRpZmZzdGF0IGJ6aXAyIHV0aWwtbGludXgiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9ycG0vZmlsZXMvMDAxNi1ycG1zY3JpcHQuYy1jaGFuZ2UtbG9nZ2luZy1sZXZlbC1hcm91bmQtc2NyaXB0bGV0cy10LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcnBtL2ZpbGVzLzAwMTYtcnBtc2NyaXB0LmMtY2hhbmdlLWxvZ2dpbmctbGV2ZWwtYXJvdW5kLXNjcmlwdGxldHMtdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40M2U5ODU5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcnBtL2ZpbGVzLzAwMTYtcnBtc2NyaXB0LmMtY2hhbmdlLWxvZ2dpbmctbGV2ZWwtYXJvdW5kLXNjcmlwdGxldHMtdC5wYXRjaApAQCAtMCwwICsxLDU1IEBACitGcm9tIDk4OWU0MjVkNDE2NDc0YzE5MWIwMjBkMDgyNTg5NWUzZGY0YmQwMzMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMTAgSmFuIDIwMTkgMTg6MTQ6MTggKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gcnBtc2NyaXB0LmM6IGNoYW5nZSBsb2dnaW5nIGxldmVsIGFyb3VuZCBzY3JpcHRsZXRzIHRvIElORk8KKyBmcm9tIERFQlVHCisKK1RoYXQgd2F5IHdlIGNhbiBkZWJ1ZyBzY3JpcHRsZXQgZmFpbHVyZXMgd2l0aG91dCB3cml0aW5nIGxvdHMgb2YKK2lycmVsZXZhbnQgbm9pc2UgdG8gcm9vdGZzIGxvZ3MuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2UtY29yZSBzcGVjaWZpY10KK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorLS0tCisgbGliL3JwbXNjcmlwdC5jIHwgOCArKysrLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWIvcnBtc2NyaXB0LmMgYi9saWIvcnBtc2NyaXB0LmMKK2luZGV4IDJiMGU0Mzg2Mi4uZTMxOTY3M2YxIDEwMDY0NAorLS0tIGEvbGliL3JwbXNjcmlwdC5jCisrKysgYi9saWIvcnBtc2NyaXB0LmMKK0BAIC0yMjYsNyArMjI2LDcgQEAgc3RhdGljIGNoYXIgKiB3cml0ZVNjcmlwdChjb25zdCBjaGFyICpjbWQsIGNvbnN0IGNoYXIgKnNjcmlwdCkKKyAgICAgaWYgKEZlcnJvcihmZCkpCisgCWdvdG8gZXhpdDsKKyAKKy0gICAgaWYgKHJwbUlzRGVidWcoKSAmJiAocnN0cmVxKGNtZCwgIi9iaW4vc2giKSB8fCByc3RyZXEoY21kLCAiL2Jpbi9iYXNoIikpKSB7CisrICAgIGlmIChycG1Jc1ZlcmJvc2UoKSAmJiAocnN0cmVxKGNtZCwgIi9iaW4vc2giKSB8fCByc3RyZXEoY21kLCAiL2Jpbi9iYXNoIikpKSB7CisgCXN0YXRpYyBjb25zdCBjaGFyIHNldF94W10gPSAic2V0IC14XG4iOworIAkvKiBBc3N1bWUgZmFpbHVyZXMgd2lsbCBiZSBjYXVnaHQgYnkgdGhlIHdyaXRlIGJlbG93ICovCisgCUZ3cml0ZShzZXRfeCwgc2l6ZW9mKHNldF94WzBdKSwgc2l6ZW9mKHNldF94KS0xLCBmZCk7CitAQCAtMjU4LDcgKzI1OCw3IEBAIHN0YXRpYyBycG1SQyBydW5FeHRTY3JpcHQocnBtUGx1Z2lucyBwbHVnaW5zLCBBUkdWX2NvbnN0X3QgcHJlZml4ZXMsCisgICAgIGNoYXIgKm1saW5lID0gTlVMTDsKKyAgICAgcnBtUkMgcmMgPSBSUE1SQ19GQUlMOworIAorLSAgICBycG1sb2coUlBNTE9HX0RFQlVHLCAiJXM6IHNjcmlwdGxldCBzdGFydFxuIiwgc25hbWUpOworKyAgICBycG1sb2coUlBNTE9HX0lORk8sICIlczogc2NyaXB0bGV0IHN0YXJ0XG4iLCBzbmFtZSk7CisgCisgICAgIGlmIChzY3JpcHQpIHsKKyAJZm4gPSB3cml0ZVNjcmlwdCgqYXJndnBbMF0sIHNjcmlwdCk7CitAQCAtMzEwLDcgKzMxMCw3IEBAIHN0YXRpYyBycG1SQyBydW5FeHRTY3JpcHQocnBtUGx1Z2lucyBwbHVnaW5zLCBBUkdWX2NvbnN0X3QgcHJlZml4ZXMsCisgCQlzbmFtZSwgc3RyZXJyb3IoZXJybm8pKTsKKyAJZ290byBleGl0OworICAgICB9IGVsc2UgaWYgKHBpZCA9PSAwKSB7LyogQ2hpbGQgKi8KKy0JcnBtbG9nKFJQTUxPR19ERUJVRywgIiVzOiBleGVjdiglcykgcGlkICVkXG4iLAorKwlycG1sb2coUlBNTE9HX0lORk8sICIlczogZXhlY3YoJXMpIHBpZCAlZFxuIiwKKyAJICAgICAgIHNuYW1lLCAqYXJndnBbMF0sICh1bnNpZ25lZClnZXRwaWQoKSk7CisgCisgCWZjbG9zZShpbik7CitAQCAtMzUzLDcgKzM1Myw3IEBAIHN0YXRpYyBycG1SQyBydW5FeHRTY3JpcHQocnBtUGx1Z2lucyBwbHVnaW5zLCBBUkdWX2NvbnN0X3QgcHJlZml4ZXMsCisgCXJlYXBlZCA9IHdhaXRwaWQocGlkLCAmc3RhdHVzLCAwKTsKKyAgICAgfSB3aGlsZSAocmVhcGVkID09IC0xICYmIGVycm5vID09IEVJTlRSKTsKKyAKKy0gICAgcnBtbG9nKFJQTUxPR19ERUJVRywgIiVzOiB3YWl0cGlkKCVkKSByYyAlZCBzdGF0dXMgJXhcbiIsCisrICAgIHJwbWxvZyhSUE1MT0dfSU5GTywgIiVzOiB3YWl0cGlkKCVkKSByYyAlZCBzdGF0dXMgJXhcbiIsCisgCSAgIHNuYW1lLCAodW5zaWduZWQpcGlkLCAodW5zaWduZWQpcmVhcGVkLCBzdGF0dXMpOworIAorICAgICBpZiAocmVhcGVkIDwgMCkgewpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcnBtL3JwbV80LjE0LjIuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3JwbS9ycG1fNC4xNC4yLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDYzZjQyNgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3JwbS9ycG1fNC4xNC4yLjEuYmIKQEAgLTAsMCArMSwxNTIgQEAKK1NVTU1BUlkgPSAiVGhlIFJQTSBwYWNrYWdlIG1hbmFnZW1lbnQgc3lzdGVtIgorREVTQ1JJUFRJT04gPSAiVGhlIFJQTSBQYWNrYWdlIE1hbmFnZXIgKFJQTSkgaXMgYSBwb3dlcmZ1bCBjb21tYW5kIGxpbmUgZHJpdmVuIFwKK3BhY2thZ2UgbWFuYWdlbWVudCBzeXN0ZW0gY2FwYWJsZSBvZiBpbnN0YWxsaW5nLCB1bmluc3RhbGxpbmcsIFwKK3ZlcmlmeWluZywgcXVlcnlpbmcsIGFuZCB1cGRhdGluZyBzb2Z0d2FyZSBwYWNrYWdlcy4gRWFjaCBzb2Z0d2FyZSBcCitwYWNrYWdlIGNvbnNpc3RzIG9mIGFuIGFyY2hpdmUgb2YgZmlsZXMgYWxvbmcgd2l0aCBpbmZvcm1hdGlvbiBhYm91dCBcCit0aGUgcGFja2FnZSBsaWtlIGl0cyB2ZXJzaW9uLCBhIGRlc2NyaXB0aW9uLCBldGMuIgorCitTVU1NQVJZXyR7UE59LWRldiA9ICJEZXZlbG9wbWVudCBmaWxlcyBmb3IgbWFuaXB1bGF0aW5nIFJQTSBwYWNrYWdlcyIKK0RFU0NSSVBUSU9OXyR7UE59LWRldiA9ICJUaGlzIHBhY2thZ2UgY29udGFpbnMgdGhlIFJQTSBDIGxpYnJhcnkgYW5kIGhlYWRlciBmaWxlcy4gVGhlc2UgXAorZGV2ZWxvcG1lbnQgZmlsZXMgd2lsbCBzaW1wbGlmeSB0aGUgcHJvY2VzcyBvZiB3cml0aW5nIHByb2dyYW1zIHRoYXQgXAorbWFuaXB1bGF0ZSBSUE0gcGFja2FnZXMgYW5kIGRhdGFiYXNlcy4gVGhlc2UgZmlsZXMgYXJlIGludGVuZGVkIHRvIFwKK3NpbXBsaWZ5IHRoZSBwcm9jZXNzIG9mIGNyZWF0aW5nIGdyYXBoaWNhbCBwYWNrYWdlIG1hbmFnZXJzIG9yIGFueSBcCitvdGhlciB0b29scyB0aGF0IG5lZWQgYW4gaW50aW1hdGUga25vd2xlZGdlIG9mIFJQTSBwYWNrYWdlcyBpbiBvcmRlciBcCit0byBmdW5jdGlvbi4iCisKK1NVTU1BUllfcHl0aG9uMy1ycG0gPSAiUHl0aG9uIGJpbmRpbmdzIGZvciBhcHBzIHdoaWNoIHdpbGwgbWFudXB1bGF0ZSBSUE0gcGFja2FnZXMiCitERVNDUklQVElPTl9weXRob24zLXJwbSA9ICJUaGUgcHl0aG9uMy1ycG0gcGFja2FnZSBjb250YWlucyBhIG1vZHVsZSB0aGF0IHBlcm1pdHMgYXBwbGljYXRpb25zIFwKK3dyaXR0ZW4gaW4gdGhlIFB5dGhvbiBwcm9ncmFtbWluZyBsYW5ndWFnZSB0byB1c2UgdGhlIGludGVyZmFjZSBcCitzdXBwbGllZCBieSB0aGUgUlBNIFBhY2thZ2UgTWFuYWdlciBsaWJyYXJpZXMuIgorCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnJwbS5vcmciCisKKyMgbGlicmFyaWVzIGFyZSBhbHNvIExHUEwgLSBob3cgdG8gZXhwcmVzcyB0aGlzPworTElDRU5TRSA9ICJHUEwtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YzBiZjAxN2MwZmQxOTIwZTYxNThhMzMzYWNhYmZkNGEiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9ycG0tc29mdHdhcmUtbWFuYWdlbWVudC9ycG07YnJhbmNoPXJwbS00LjE0LnggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3QtYWRkLWFuLXVuc2F0aXNmaWFibGUtZGVwZW5kZW5jeS13aGVuLWJ1aWxkaW5nLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LXJlYWQtY29uZmlnLWZpbGVzLWZyb20tSE9NRS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVdoZW4tY3Jvc3MtaW5zdGFsbGluZy1leGVjdXRlLXBhY2thZ2Utc2NyaXB0bGV0cy13aXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3QtcmVzZXQtdGhlLVBBVEgtZW52aXJvbm1lbnQtdmFyaWFibGUtYmVmb3JlLXJ1LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItQWRkLXN1cHBvcnQtZm9yLXByZWZpeGluZy1ldGMtZnJvbS1SUE1fRVRDQ09ORklHRElSLS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC1oYXJkY29kZS1saWItcnBtLWFzLXRoZS1pbnN0YWxsYXRpb24tcGF0aC1mb3IucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtYnVpbGQtd2l0aC1tdXNsLUMtbGlicmFyeS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUFkZC1hLWNvbG9yLXNldHRpbmctZm9yLW1pcHM2NF9uMzItYmluYXJpZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxMS1Eby1ub3QtcmVxdWlyZS10aGF0LUVMRi1iaW5hcmllcy1hcmUtZXhlY3V0YWJsZS10by1iLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtU3BsaXQtYmluYXJ5LXBhY2thZ2UtYnVpbGRpbmctaW50by1hLXNlcGFyYXRlLWZ1bmN0aS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLVJ1bi1iaW5hcnktcGFja2FnZS1jcmVhdGlvbi12aWEtdGhyZWFkLXBvb2xzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtcnBtc3RycG9vbC5jLW1ha2Utb3BlcmF0aW9ucy1vdmVyLXN0cmluZy1wb29scy10aHJlYS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA0LWJ1aWxkLXBhY2suYy1yZW1vdmUtc3RhdGljLWxvY2FsLXZhcmlhYmxlcy1mcm9tLWJ1aWwucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1wZXJsLWRpc2FibGUtYXV0by1yZXFzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtcnBtLXJwbWlvLmMtcmVzdHJpY3QtdmlydHVhbC1tZW1vcnktdXNhZ2UtaWYtbGltaXQtcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDE2LXJwbXNjcmlwdC5jLWNoYW5nZS1sb2dnaW5nLWxldmVsLWFyb3VuZC1zY3JpcHRsZXRzLXQucGF0Y2ggXAorICAgICAgICAgICAiCisKK1BFID0gIjEiCitTUkNSRVYgPSAiNGE5NDQwMDA2Mzk4NjQ2NTgzZjBkOWFlMTgzN2RhZDI4NzUwMTNhYSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworREVQRU5EUyA9ICJuc3MgbGliYXJjaGl2ZSBkYiBmaWxlIHBvcHQgeHogYnppcDIgZGJ1cyBlbGZ1dGlscyBweXRob24zIgorREVQRU5EU19hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBmaWxlLXJlcGxhY2VtZW50LW5hdGl2ZSBiemlwMi1yZXBsYWNlbWVudC1uYXRpdmUiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnIHB5dGhvbjNuYXRpdmUKK2V4cG9ydCBQWVRIT05fQUJJCisKKyMgT0UtY29yZSBwYXRjaGVzIGF1dG9yZWNvbmYgdG8gYWRkaXRpb25hbGx5IHJ1biBnbnUtY29uZmlnaXplLCB3aGljaCBmYWlscyB3aXRoIHRoaXMgcmVjaXBlCitFWFRSQV9BVVRPUkVDT05GX2FwcGVuZCA9ICIgLS1leGNsdWRlPWdudS1jb25maWdpemUiCisKK0VYVFJBX09FQ09ORl9hcHBlbmQgPSAiIC0td2l0aG91dC1sdWEgLS1lbmFibGUtcHl0aG9uIgorRVhUUkFfT0VDT05GX2FwcGVuZF9saWJjLW11c2wgPSAiIC0tZGlzYWJsZS1ubHMiCisKKyMgLS1zeXNjb25mZGlyIHByZXZlbnRzIHJwbSBmcm9tIGF0dGVtcHRpbmcgdG8gYWNjZXNzIG1hY2hpbmUtc3BlY2lmaWMgY29uZmlndXJhdGlvbiBpbiBzeXNyb290L2V0Yzsgd2UgbmVlZCB0byBoYXZlIGl0IGluIHJvb3RmcworIworIyAtLWxvY2Fsc3RhdGVkaXIgcHJldmVudHMgcnBtIGZyb20gd3JpdGluZyBpdHMgZGF0YWJhc2UgdG8gbmF0aXZlIHN5c3Jvb3Qgd2hlbiBidWlsZGluZyBpbWFnZXMKKyMKKyMgRGlzYWJsZSBkYnVzIGZvciBuYXRpdmUsIHNvIHRoYXQgcnBtIGRvZXNuJ3QgYXR0ZW1wdCB0byBpbmhpYml0IHNodXRkb3duIHZpYSBzZXNzaW9uIGRidXMgZXZlbiB3aGVuIHBsdWdpbnMgc3VwcG9ydCBpcyBlbmFibGVkLgorIyBBbHNvIGRpc2FibGUgcGx1Z2lucyBieSBkZWZhdWx0IGZvciBuYXRpdmUuCitFWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgLS1zeXNjb25mZGlyPS9ldGMgLS1sb2NhbHN0YXRlZGlyPS92YXIgLS1kaXNhYmxlLXBsdWdpbnMiCitFWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgLS1zeXNjb25mZGlyPS9ldGMgLS1sb2NhbHN0YXRlZGlyPS92YXIgLS1kaXNhYmxlLXBsdWdpbnMiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbaW1hZXZtXSA9ICItLXdpdGgtaW1hZXZtLCxpbWEtZXZtLXV0aWxzIgorCitBU05FRURFRCA9ICIiCisKKyMgRGlyZWN0IHJwbS1uYXRpdmUgdG8gcmVhZCBjb25maWd1cmF0aW9uIGZyb20gb3VyIHN5c3Jvb3QsIG5vdCB0aGUgb25lIGl0IHdhcyBjb21waWxlZCBpbgorIyBsaWJtYWdpYyBhbHNvIGhhcyBzeXNyb290IHBhdGggY29udGFtaW5hdGlvbiwgc28gb3ZlcnJpZGUgaXQKKworV1JBUFBFUl9UT09MUyA9ICIgXAorICAgJHtiaW5kaXJ9L3JwbSBcCisgICAke2JpbmRpcn0vcnBtMmFyY2hpdmUgXAorICAgJHtiaW5kaXJ9L3JwbTJjcGlvIFwKKyAgICR7YmluZGlyfS9ycG1idWlsZCBcCisgICAke2JpbmRpcn0vcnBtZGIgXAorICAgJHtiaW5kaXJ9L3JwbWdyYXBoIFwKKyAgICR7YmluZGlyfS9ycG1rZXlzIFwKKyAgICR7YmluZGlyfS9ycG1zaWduIFwKKyAgICR7YmluZGlyfS9ycG1zcGVjIFwKKyAgICR7bGliZGlyfS9ycG0vcnBtZGVwcyBcCisiCisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKKyAgICAgICAgZm9yIHRvb2wgaW4gJHtXUkFQUEVSX1RPT0xTfTsgZG8KKyAgICAgICAgICAgICAgICBjcmVhdGVfd3JhcHBlciAke0R9JHRvb2wgXAorICAgICAgICAgICAgICAgICAgICAgICAgUlBNX0NPTkZJR0RJUj0ke1NUQUdJTkdfTElCRElSX05BVElWRX0vcnBtIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIFJQTV9FVENDT05GSUdESVI9JHtTVEFHSU5HX0RJUl9OQVRJVkV9IFwKKyAgICAgICAgICAgICAgICAgICAgICAgIE1BR0lDPSR7U1RBR0lOR19ESVJfTkFUSVZFfSR7ZGF0YWRpcl9uYXRpdmV9L21pc2MvbWFnaWMubWdjIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIFJQTV9OT19DSFJPT1RfRk9SX1NDUklQVFM9MQorICAgICAgICBkb25lCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkaygpIHsKKyAgICAgICAgZm9yIHRvb2wgaW4gJHtXUkFQUEVSX1RPT0xTfTsgZG8KKyAgICAgICAgICAgICAgICBjcmVhdGVfd3JhcHBlciAke0R9JHRvb2wgXAorICAgICAgICAgICAgICAgICAgICAgICAgUlBNX0NPTkZJR0RJUj0nYGRpcm5hbWUgJCcncmVhbHBhdGhgJy8ke0Bvcy5wYXRoLnJlbHBhdGgoZC5nZXRWYXIoJ2xpYmRpcicpLCBkLmdldFZhcignYmluZGlyJykpfS9ycG0gXAorICAgICAgICAgICAgICAgICAgICAgICAgUlBNX0VUQ0NPTkZJR0RJUj0nJCd7UlBNX0VUQ0NPTkZJR0RJUi0nYGRpcm5hbWUgJCcncmVhbHBhdGhgJy8ke0Bvcy5wYXRoLnJlbHBhdGgoZC5nZXRWYXIoJ3N5c2NvbmZkaXInKSwgZC5nZXRWYXIoJ2JpbmRpcicpKX0vLi59IFwKKyAgICAgICAgICAgICAgICAgICAgICAgIE1BR0lDPSdgZGlybmFtZSAkJydyZWFscGF0aGAnLyR7QG9zLnBhdGgucmVscGF0aChkLmdldFZhcignZGF0YWRpcicpLCBkLmdldFZhcignYmluZGlyJykpfS9taXNjL21hZ2ljLm1nYyBcCisgICAgICAgICAgICAgICAgICAgICAgICBSUE1fTk9fQ0hST09UX0ZPUl9TQ1JJUFRTPTEKKyAgICAgICAgZG9uZQorCisgICAgICAgIHJtIC1yZiAke0R9L3ZhcgorfQorCisjIFJwbSdzIG1ha2UgaW5zdGFsbCBjcmVhdGVzIHZhci90bXAgd2hpY2ggY2xhc2hlcyB3aXRoIGJhc2UtZmlsZXMgcGFja2FnaW5nCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy10YXJnZXQoKSB7CisgICAgcm0gLXJmICR7RH0vdmFyCit9CisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKwlzZWQgLWkgLWUgJ3M6JHtIT1NUVE9PTFNfRElSfS86OmcnIFwKKwkgICAgJHtEfS8ke2xpYmRpcn0vcnBtL21hY3JvcworCisJc2VkIC1pIC1lICdzfC91c3IvYmluL3B5dGhvbnwke1VTUkJJTlBBVEh9L2VudiAke1BZVEhPTl9QTn18JyBcCisJICAgICR7RH0ke2xpYmRpcn0vcnBtL3B5dGhvbmRpc3RkZXBzLnB5IFwKKwkgICAgJHtEfSR7bGliZGlyfS9ycG0vcHl0aG9uLW1hY3JvLWhlbHBlcgorfQorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3JwbS1wbHVnaW5zLyouc28gXAorICAgICAgICAgICAgICAgIgorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9ycG0tcGx1Z2lucy8qLmxhIFwKKyAgICAgICAgICAgICAgICAgICAgIgorCitQQUNLQUdFUyArPSAicHl0aG9uMy1ycG0iCitQUk9WSURFUyArPSAicHl0aG9uMy1ycG0iCitGSUxFU19weXRob24zLXJwbSA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS9ycG0vKiIKKworIyBycG0gNS54IHdhcyBwYWNrYWdpbmcgdGhlIHJwbSBidWlsZCB0b29scyBzZXBhcmF0ZWx5CitSUFJPVklERVNfJHtQTn0gKz0gInJwbS1idWlsZCIKKworUkRFUEVORFNfJHtQTn0gPSAiYmFzaCBwZXJsIHB5dGhvbjMtY29yZSIKKworUEFDS0FHRV9QUkVQUk9DRVNTX0ZVTkNTICs9ICJycG1fcGFja2FnZV9wcmVwcm9jZXNzIgorCisjIERvIG5vdCBzcGVjaWZ5IGEgc3lzcm9vdCB3aGVuIGNvbXBpbGluZyBvbiBhIHRhcmdldC4KK3JwbV9wYWNrYWdlX3ByZXByb2Nlc3MgKCkgeworCXNlZCAtaSAtZSAnczotLXN5c3Jvb3RbXiBdKjo6ZycgXAorCSAgICAke1BLR0R9LyR7bGliZGlyfS9ycG0vbWFjcm9zCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9ycG0vcnBtXzQuMTQuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3JwbS9ycG1fNC4xNC4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NWVmM2Y0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3JwbS9ycG1fNC4xNC4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTUxICswLDAgQEAKLVNVTU1BUlkgPSAiVGhlIFJQTSBwYWNrYWdlIG1hbmFnZW1lbnQgc3lzdGVtIgotREVTQ1JJUFRJT04gPSAiVGhlIFJQTSBQYWNrYWdlIE1hbmFnZXIgKFJQTSkgaXMgYSBwb3dlcmZ1bCBjb21tYW5kIGxpbmUgZHJpdmVuIFwKLXBhY2thZ2UgbWFuYWdlbWVudCBzeXN0ZW0gY2FwYWJsZSBvZiBpbnN0YWxsaW5nLCB1bmluc3RhbGxpbmcsIFwKLXZlcmlmeWluZywgcXVlcnlpbmcsIGFuZCB1cGRhdGluZyBzb2Z0d2FyZSBwYWNrYWdlcy4gRWFjaCBzb2Z0d2FyZSBcCi1wYWNrYWdlIGNvbnNpc3RzIG9mIGFuIGFyY2hpdmUgb2YgZmlsZXMgYWxvbmcgd2l0aCBpbmZvcm1hdGlvbiBhYm91dCBcCi10aGUgcGFja2FnZSBsaWtlIGl0cyB2ZXJzaW9uLCBhIGRlc2NyaXB0aW9uLCBldGMuIgotCi1TVU1NQVJZXyR7UE59LWRldiA9ICJEZXZlbG9wbWVudCBmaWxlcyBmb3IgbWFuaXB1bGF0aW5nIFJQTSBwYWNrYWdlcyIKLURFU0NSSVBUSU9OXyR7UE59LWRldiA9ICJUaGlzIHBhY2thZ2UgY29udGFpbnMgdGhlIFJQTSBDIGxpYnJhcnkgYW5kIGhlYWRlciBmaWxlcy4gVGhlc2UgXAotZGV2ZWxvcG1lbnQgZmlsZXMgd2lsbCBzaW1wbGlmeSB0aGUgcHJvY2VzcyBvZiB3cml0aW5nIHByb2dyYW1zIHRoYXQgXAotbWFuaXB1bGF0ZSBSUE0gcGFja2FnZXMgYW5kIGRhdGFiYXNlcy4gVGhlc2UgZmlsZXMgYXJlIGludGVuZGVkIHRvIFwKLXNpbXBsaWZ5IHRoZSBwcm9jZXNzIG9mIGNyZWF0aW5nIGdyYXBoaWNhbCBwYWNrYWdlIG1hbmFnZXJzIG9yIGFueSBcCi1vdGhlciB0b29scyB0aGF0IG5lZWQgYW4gaW50aW1hdGUga25vd2xlZGdlIG9mIFJQTSBwYWNrYWdlcyBpbiBvcmRlciBcCi10byBmdW5jdGlvbi4iCi0KLVNVTU1BUllfcHl0aG9uMy1ycG0gPSAiUHl0aG9uIGJpbmRpbmdzIGZvciBhcHBzIHdoaWNoIHdpbGwgbWFudXB1bGF0ZSBSUE0gcGFja2FnZXMiCi1ERVNDUklQVElPTl9weXRob24zLXJwbSA9ICJUaGUgcHl0aG9uMy1ycG0gcGFja2FnZSBjb250YWlucyBhIG1vZHVsZSB0aGF0IHBlcm1pdHMgYXBwbGljYXRpb25zIFwKLXdyaXR0ZW4gaW4gdGhlIFB5dGhvbiBwcm9ncmFtbWluZyBsYW5ndWFnZSB0byB1c2UgdGhlIGludGVyZmFjZSBcCi1zdXBwbGllZCBieSB0aGUgUlBNIFBhY2thZ2UgTWFuYWdlciBsaWJyYXJpZXMuIgotCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LnJwbS5vcmciCi0KLSMgbGlicmFyaWVzIGFyZSBhbHNvIExHUEwgLSBob3cgdG8gZXhwcmVzcyB0aGlzPwotTElDRU5TRSA9ICJHUEwtMi4wIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YzBiZjAxN2MwZmQxOTIwZTYxNThhMzMzYWNhYmZkNGEiCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9ycG0tc29mdHdhcmUtbWFuYWdlbWVudC9ycG07YnJhbmNoPXJwbS00LjE0LnggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3QtYWRkLWFuLXVuc2F0aXNmaWFibGUtZGVwZW5kZW5jeS13aGVuLWJ1aWxkaW5nLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LXJlYWQtY29uZmlnLWZpbGVzLWZyb20tSE9NRS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLVdoZW4tY3Jvc3MtaW5zdGFsbGluZy1leGVjdXRlLXBhY2thZ2Utc2NyaXB0bGV0cy13aXQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3QtcmVzZXQtdGhlLVBBVEgtZW52aXJvbm1lbnQtdmFyaWFibGUtYmVmb3JlLXJ1LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItQWRkLXN1cHBvcnQtZm9yLXByZWZpeGluZy1ldGMtZnJvbS1SUE1fRVRDQ09ORklHRElSLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC1oYXJkY29kZS1saWItcnBtLWFzLXRoZS1pbnN0YWxsYXRpb24tcGF0aC1mb3IucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtYnVpbGQtd2l0aC1tdXNsLUMtbGlicmFyeS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUFkZC1hLWNvbG9yLXNldHRpbmctZm9yLW1pcHM2NF9uMzItYmluYXJpZXMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxMS1Eby1ub3QtcmVxdWlyZS10aGF0LUVMRi1iaW5hcmllcy1hcmUtZXhlY3V0YWJsZS10by1iLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtU3BsaXQtYmluYXJ5LXBhY2thZ2UtYnVpbGRpbmctaW50by1hLXNlcGFyYXRlLWZ1bmN0aS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLVJ1bi1iaW5hcnktcGFja2FnZS1jcmVhdGlvbi12aWEtdGhyZWFkLXBvb2xzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtcnBtc3RycG9vbC5jLW1ha2Utb3BlcmF0aW9ucy1vdmVyLXN0cmluZy1wb29scy10aHJlYS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA0LWJ1aWxkLXBhY2suYy1yZW1vdmUtc3RhdGljLWxvY2FsLXZhcmlhYmxlcy1mcm9tLWJ1aWwucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1wZXJsLWRpc2FibGUtYXV0by1yZXFzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtcnBtLXJwbWlvLmMtcmVzdHJpY3QtdmlydHVhbC1tZW1vcnktdXNhZ2UtaWYtbGltaXQtcy5wYXRjaCBcCi0gICAgICAgICAgICIKLQotUEUgPSAiMSIKLVNSQ1JFViA9ICI3NTNmNjk0MWRjMzJlOTQwNDdiN2NmZTcxM2RkZDYwNGE4MTBiNGRiIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1ERVBFTkRTID0gIm5zcyBsaWJhcmNoaXZlIGRiIGZpbGUgcG9wdCB4eiBiemlwMiBkYnVzIGVsZnV0aWxzIHB5dGhvbjMiCi1ERVBFTkRTX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGZpbGUtcmVwbGFjZW1lbnQtbmF0aXZlIGJ6aXAyLXJlcGxhY2VtZW50LW5hdGl2ZSIKLQotaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcgcHl0aG9uM25hdGl2ZQotZXhwb3J0IFBZVEhPTl9BQkkKLQotIyBPRS1jb3JlIHBhdGNoZXMgYXV0b3JlY29uZiB0byBhZGRpdGlvbmFsbHkgcnVuIGdudS1jb25maWdpemUsIHdoaWNoIGZhaWxzIHdpdGggdGhpcyByZWNpcGUKLUVYVFJBX0FVVE9SRUNPTkZfYXBwZW5kID0gIiAtLWV4Y2x1ZGU9Z251LWNvbmZpZ2l6ZSIKLQotRVhUUkFfT0VDT05GX2FwcGVuZCA9ICIgLS13aXRob3V0LWx1YSAtLWVuYWJsZS1weXRob24iCi1FWFRSQV9PRUNPTkZfYXBwZW5kX2xpYmMtbXVzbCA9ICIgLS1kaXNhYmxlLW5scyIKLQotIyAtLXN5c2NvbmZkaXIgcHJldmVudHMgcnBtIGZyb20gYXR0ZW1wdGluZyB0byBhY2Nlc3MgbWFjaGluZS1zcGVjaWZpYyBjb25maWd1cmF0aW9uIGluIHN5c3Jvb3QvZXRjOyB3ZSBuZWVkIHRvIGhhdmUgaXQgaW4gcm9vdGZzCi0jCi0jIC0tbG9jYWxzdGF0ZWRpciBwcmV2ZW50cyBycG0gZnJvbSB3cml0aW5nIGl0cyBkYXRhYmFzZSB0byBuYXRpdmUgc3lzcm9vdCB3aGVuIGJ1aWxkaW5nIGltYWdlcwotIwotIyBEaXNhYmxlIGRidXMgZm9yIG5hdGl2ZSwgc28gdGhhdCBycG0gZG9lc24ndCBhdHRlbXB0IHRvIGluaGliaXQgc2h1dGRvd24gdmlhIHNlc3Npb24gZGJ1cyBldmVuIHdoZW4gcGx1Z2lucyBzdXBwb3J0IGlzIGVuYWJsZWQuCi0jIEFsc28gZGlzYWJsZSBwbHVnaW5zIGJ5IGRlZmF1bHQgZm9yIG5hdGl2ZS4KLUVYVFJBX09FQ09ORl9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiAtLXN5c2NvbmZkaXI9L2V0YyAtLWxvY2Fsc3RhdGVkaXI9L3ZhciAtLWRpc2FibGUtcGx1Z2lucyIKLUVYVFJBX09FQ09ORl9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiAtLXN5c2NvbmZkaXI9L2V0YyAtLWxvY2Fsc3RhdGVkaXI9L3ZhciAtLWRpc2FibGUtcGx1Z2lucyIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgotCi1QQUNLQUdFQ09ORklHID8/PSAiIgotUEFDS0FHRUNPTkZJR1tpbWFldm1dID0gIi0td2l0aC1pbWFldm0sLGltYS1ldm0tdXRpbHMiCi0KLUFTTkVFREVEID0gIiIKLQotIyBEaXJlY3QgcnBtLW5hdGl2ZSB0byByZWFkIGNvbmZpZ3VyYXRpb24gZnJvbSBvdXIgc3lzcm9vdCwgbm90IHRoZSBvbmUgaXQgd2FzIGNvbXBpbGVkIGluCi0jIGxpYm1hZ2ljIGFsc28gaGFzIHN5c3Jvb3QgcGF0aCBjb250YW1pbmF0aW9uLCBzbyBvdmVycmlkZSBpdAotCi1XUkFQUEVSX1RPT0xTID0gIiBcCi0gICAke2JpbmRpcn0vcnBtIFwKLSAgICR7YmluZGlyfS9ycG0yYXJjaGl2ZSBcCi0gICAke2JpbmRpcn0vcnBtMmNwaW8gXAotICAgJHtiaW5kaXJ9L3JwbWJ1aWxkIFwKLSAgICR7YmluZGlyfS9ycG1kYiBcCi0gICAke2JpbmRpcn0vcnBtZ3JhcGggXAotICAgJHtiaW5kaXJ9L3JwbWtleXMgXAotICAgJHtiaW5kaXJ9L3JwbXNpZ24gXAotICAgJHtiaW5kaXJ9L3JwbXNwZWMgXAotICAgJHtsaWJkaXJ9L3JwbS9ycG1kZXBzIFwKLSIKLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlKCkgewotICAgICAgICBmb3IgdG9vbCBpbiAke1dSQVBQRVJfVE9PTFN9OyBkbwotICAgICAgICAgICAgICAgIGNyZWF0ZV93cmFwcGVyICR7RH0kdG9vbCBcCi0gICAgICAgICAgICAgICAgICAgICAgICBSUE1fQ09ORklHRElSPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9ycG0gXAotICAgICAgICAgICAgICAgICAgICAgICAgUlBNX0VUQ0NPTkZJR0RJUj0ke1NUQUdJTkdfRElSX05BVElWRX0gXAotICAgICAgICAgICAgICAgICAgICAgICAgTUFHSUM9JHtTVEFHSU5HX0RJUl9OQVRJVkV9JHtkYXRhZGlyX25hdGl2ZX0vbWlzYy9tYWdpYy5tZ2MgXAotICAgICAgICAgICAgICAgICAgICAgICAgUlBNX05PX0NIUk9PVF9GT1JfU0NSSVBUUz0xCi0gICAgICAgIGRvbmUKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrKCkgewotICAgICAgICBmb3IgdG9vbCBpbiAke1dSQVBQRVJfVE9PTFN9OyBkbwotICAgICAgICAgICAgICAgIGNyZWF0ZV93cmFwcGVyICR7RH0kdG9vbCBcCi0gICAgICAgICAgICAgICAgICAgICAgICBSUE1fQ09ORklHRElSPSdgZGlybmFtZSAkJydyZWFscGF0aGAnLyR7QG9zLnBhdGgucmVscGF0aChkLmdldFZhcignbGliZGlyJyksIGQuZ2V0VmFyKCdiaW5kaXInKSl9L3JwbSBcCi0gICAgICAgICAgICAgICAgICAgICAgICBSUE1fRVRDQ09ORklHRElSPSckJ3tSUE1fRVRDQ09ORklHRElSLSdgZGlybmFtZSAkJydyZWFscGF0aGAnLyR7QG9zLnBhdGgucmVscGF0aChkLmdldFZhcignc3lzY29uZmRpcicpLCBkLmdldFZhcignYmluZGlyJykpfS8uLn0gXAotICAgICAgICAgICAgICAgICAgICAgICAgTUFHSUM9J2BkaXJuYW1lICQnJ3JlYWxwYXRoYCcvJHtAb3MucGF0aC5yZWxwYXRoKGQuZ2V0VmFyKCdkYXRhZGlyJyksIGQuZ2V0VmFyKCdiaW5kaXInKSl9L21pc2MvbWFnaWMubWdjIFwKLSAgICAgICAgICAgICAgICAgICAgICAgIFJQTV9OT19DSFJPT1RfRk9SX1NDUklQVFM9MQotICAgICAgICBkb25lCi0KLSAgICAgICAgcm0gLXJmICR7RH0vdmFyCi19Ci0KLSMgUnBtJ3MgbWFrZSBpbnN0YWxsIGNyZWF0ZXMgdmFyL3RtcCB3aGljaCBjbGFzaGVzIHdpdGggYmFzZS1maWxlcyBwYWNrYWdpbmcKLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLXRhcmdldCgpIHsKLSAgICBybSAtcmYgJHtEfS92YXIKLX0KLQotZG9faW5zdGFsbF9hcHBlbmQgKCkgewotCXNlZCAtaSAtZSAnczoke0hPU1RUT09MU19ESVJ9Lzo6ZycgXAotCSAgICAke0R9LyR7bGliZGlyfS9ycG0vbWFjcm9zCi0KLQlzZWQgLWkgLWUgJ3N8L3Vzci9iaW4vcHl0aG9ufCR7VVNSQklOUEFUSH0vZW52ICR7UFlUSE9OX1BOfXwnIFwKLQkgICAgJHtEfSR7bGliZGlyfS9ycG0vcHl0aG9uZGlzdGRlcHMucHkgXAotCSAgICAke0R9JHtsaWJkaXJ9L3JwbS9weXRob24tbWFjcm8taGVscGVyCi19Ci0KLUZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vcnBtLXBsdWdpbnMvKi5zbyBcCi0gICAgICAgICAgICAgICAiCi0KLUZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L3JwbS1wbHVnaW5zLyoubGEgXAotICAgICAgICAgICAgICAgICAgICAiCi0KLVBBQ0tBR0VTICs9ICJweXRob24zLXJwbSIKLVBST1ZJREVTICs9ICJweXRob24zLXJwbSIKLUZJTEVTX3B5dGhvbjMtcnBtID0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9L3JwbS8qIgotCi0jIHJwbSA1Lnggd2FzIHBhY2thZ2luZyB0aGUgcnBtIGJ1aWxkIHRvb2xzIHNlcGFyYXRlbHkKLVJQUk9WSURFU18ke1BOfSArPSAicnBtLWJ1aWxkIgotCi1SREVQRU5EU18ke1BOfSA9ICJiYXNoIHBlcmwgcHl0aG9uMy1jb3JlIgotCi1QQUNLQUdFX1BSRVBST0NFU1NfRlVOQ1MgKz0gInJwbV9wYWNrYWdlX3ByZXByb2Nlc3MiCi0KLSMgRG8gbm90IHNwZWNpZnkgYSBzeXNyb290IHdoZW4gY29tcGlsaW5nIG9uIGEgdGFyZ2V0LgotcnBtX3BhY2thZ2VfcHJlcHJvY2VzcyAoKSB7Ci0Jc2VkIC1pIC1lICdzOi0tc3lzcm9vdFteIF0qOjpnJyBcCi0JICAgICR7UEtHRH0vJHtsaWJkaXJ9L3JwbS9tYWNyb3MKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3J1YnkvcnVieS5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9ydWJ5L3J1YnkuaW5jCmluZGV4IDVhNWJlZjIuLmVhZjVkMTMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3J1YnkvcnVieS5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcnVieS9ydWJ5LmluYwpAQCAtMTUsNyArMTUsNyBAQAogIgogCiBERVBFTkRTID0gInJ1YnktbmF0aXZlIHpsaWIgb3BlbnNzbCB0Y2wgbGlieWFtbCBnZGJtIHJlYWRsaW5lIgotREVQRU5EU19jbGFzcy1uYXRpdmUgPSAib3BlbnNzbC1uYXRpdmUgbGlieWFtbC1uYXRpdmUiCitERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICJvcGVuc3NsLW5hdGl2ZSBsaWJ5YW1sLW5hdGl2ZSByZWFkbGluZS1uYXRpdmUiCiAKIFNIUlRfVkVSID0gIiR7QG9lLnV0aWxzLnRyaW1fdmVyc2lvbigiJHtQVn0iLCAyKX0iCiBTUkNfVVJJID0gImh0dHA6Ly9jYWNoZS5ydWJ5LWxhbmcub3JnL3B1Yi9ydWJ5LyR7U0hSVF9WRVJ9L3J1YnktJHtQVn0udGFyLmd6IFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3J1YnkvcnVieS9DVkUtMjAxOC0xMDAwMDczLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcnVieS9ydWJ5L0NWRS0yMDE4LTEwMDAwNzMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIyZmExYjUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcnVieS9ydWJ5L0NWRS0yMDE4LTEwMDAwNzMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi1Gcm9tIDFiOTMxZmMwM2I4MTliOWEwMjE0YmUzZWFjYTg0NGVmNTM0MTc1ZTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKb25hdGhhbiBDbGF1ZGl1cyA8amNsYXVkaXVzQG1vemlsbGEuY29tPgotRGF0ZTogV2VkLCA3IEZlYiAyMDE4IDIzOjU0OjUyIC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0hdIE5vbi13b3JraW5nIHBhdGNoIGZvciBkZWR1Y2luZyBzeW1saW5rZWQgYmFzZS1kaXJzCi0KLS0tLQotQ1ZFOiBDVkUtMjAxOC0xMDAwMDczCi0KLUZpeGVkIGluIHJ1YnkgMi43LjYuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2dpdGh1Yi5jb20vcnVieWdlbXMvcnVieWdlbXMvY29tbWl0LzFiOTMxZmMuLi5dCi0KLVNpZ25lZC1vZmYtYnk6IEpvZSBTbGF0ZXIgPGpvZS5zbGF0ZXJAd2luZHJpdmVyLmNvbT4KLQotLS0tCi0gbGliL3J1YnlnZW1zL3BhY2thZ2UucmIgfCAgICAyICsrCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvbGliL3J1YnlnZW1zL3BhY2thZ2UucmIgYi9saWIvcnVieWdlbXMvcGFja2FnZS5yYgotaW5kZXggZGVkZTk1OS4uY2I5Yzc0YSAxMDA2NDQKLS0tLSBhL2xpYi9ydWJ5Z2Vtcy9wYWNrYWdlLnJiCi0rKysgYi9saWIvcnVieWdlbXMvcGFja2FnZS5yYgotQEAgLTQyMSw2ICs0MjEsOCBAQCBFT00KLSAgICAgZGVzdGluYXRpb25fZGlyID0gRmlsZS5leHBhbmRfcGF0aCBkZXN0aW5hdGlvbl9kaXIKLSAKLSAgICAgZGVzdGluYXRpb24gPSBGaWxlLmpvaW4gZGVzdGluYXRpb25fZGlyLCBmaWxlbmFtZQotKyAgICBkZXN0aW5hdGlvbiA9IEZpbGUucmVhbHBhdGggZGVzdGluYXRpb24gaWYKLSsgICAgICBGaWxlLnJlc3BvbmRfdG8/IDpyZWFscGF0aAotICAgICBkZXN0aW5hdGlvbiA9IEZpbGUuZXhwYW5kX3BhdGggZGVzdGluYXRpb24KLSAKLSAgICAgcmFpc2UgR2VtOjpQYWNrYWdlOjpQYXRoRXJyb3IubmV3KGRlc3RpbmF0aW9uLCBkZXN0aW5hdGlvbl9kaXIpIHVubGVzcwotLS0gCi0xLjcuOS41Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3J1YnkvcnVieV8yLjUuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3J1YnkvcnVieV8yLjUuMy5iYgppbmRleCBlOWYwNDUzLi4zZmI0MjdlIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9ydWJ5L3J1YnlfMi41LjMuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcnVieS9ydWJ5XzIuNS4zLmJiCkBAIC0zLDcgKzMsNiBAQAogU1JDX1VSSSArPSAiIFwKICAgICAgICAgICAgZmlsZTovL3J1YnktQ1ZFLTIwMTctOTIyNi5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9ydWJ5LUNWRS0yMDE3LTkyMjgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTAwMDA3My5wYXRjaCBcCiAgICAgICAgICAgICIKIAogU1JDX1VSSVttZDVzdW1dID0gIjIwYzg1YjY3ODQ2ZDQ5NjIyZWYzYjI0MjMwODAzZmVmIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3F1YXNoZnMtdG9vbHMvc3F1YXNoZnMtdG9vbHNfZ2l0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3F1YXNoZnMtdG9vbHMvc3F1YXNoZnMtdG9vbHNfZ2l0LmJiCmluZGV4IDJmNDEyNjMuLmU4NzFmMWMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3NxdWFzaGZzLXRvb2xzL3NxdWFzaGZzLXRvb2xzX2dpdC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zcXVhc2hmcy10b29scy9zcXVhc2hmcy10b29sc19naXQuYmIKQEAgLTIsMTYgKzIsMTIgQEAKICMgYW5kIEkgZG9uJ3QgdGhpbmsgdGhlIGtlcm5lbCBzdXBwb3J0cyBpdCBhbnkgbW9yZS4KIFNVTU1BUlkgPSAiVG9vbHMgZm9yIG1hbmlwdWxhdGluZyBTcXVhc2hGUyBmaWxlc3lzdGVtcyIKIFNFQ1RJT04gPSAiYmFzZSIKLUxJQ0VOU0UgPSAiR1BMLTIgJiBQRCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLy4uL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovLy4uLy4uLzd6Qy50eHQ7YmVnaW5saW5lPTEyO2VuZGxpbmU9MTY7bWQ1PTIwNTZjZDZkOTE5ZWJjMzgwNzYwMjE0M2M3NDQ5YTdjIFwKLSIKLURFUEVORFMgPSAiYXR0ciB6bGliIHh6IGx6byBsejQiCitMSUNFTlNFID0gIkdQTC0yIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vLi4vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCiAKIFBWID0gIjQuMytnaXRyJHtTUkNQVn0iCiBTUkNSRVYgPSAiOWMxZGI2ZDEzYTUxYTJlMDA5ZjAwMjdlZjMzNmNlMDM2MjRlYWMwZCIKIFNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9wbG91Z2hlci9zcXVhc2hmcy10b29scy5naXQ7cHJvdG9jb2w9aHR0cHMgXAotICAgICAgICAgICBodHRwOi8vZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC9zZXZlbnppcC9sem1hNDY1LnRhci5iejI7bmFtZT1sem1hIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtbWtzcXVhc2hmcy5jLWdldC1pbmxpbmUtZnVuY3Rpb25zLXdvcmstd2l0aC1DOTkucGF0Y2g7c3RyaXBsZXZlbD0yIFwKICAgICAgICAgICAgZmlsZTovL3NxdWFzaGZzLXRvb2xzLTQuMy1zeXNtYWNyb3MucGF0Y2g7c3RyaXBsZXZlbD0yIFwKICAgICAgICAgICAgZmlsZTovL2ZpeC1jb21wYXQucGF0Y2ggXApAQCAtMjMsMTQgKzE5LDIwIEBACiAKIFMgPSAiJHtXT1JLRElSfS9naXQvc3F1YXNoZnMtdG9vbHMiCiAKLSMgRVhUUkFfT0VNQUtFIGlzIHR5cGljYWxseTogLWUgTUFLRUZMQUdTPQotIyB0aGUgLWUgY2F1c2VzIHByb2JsZW1zIGFzIENGTEFHUyBpcyBtb2RpZmllZCBpbiB0aGUgTWFrZWZpbGUsIHNvCi0jIHdlIHJlZGVmaW5lIEVYVFJBX09FTUFLRSBoZXJlCi1FWFRSQV9PRU1BS0UgPSAiTUFLRUZMQUdTPSBMWk1BX1NVUFBPUlQ9MSBMWk1BX0RJUj0uLi8uLiBYWl9TVVBQT1JUPTEgTFpPX1NVUFBPUlQ9MSBMWjRfU1VQUE9SVD0xIgorRVhUUkFfT0VNQUtFID0gIiR7UEFDS0FHRUNPTkZJR19DT05GQVJHU30iCisKK1BBQ0tBR0VDT05GSUcgPz89ICJnemlwIHh6IGx6byBsejQgbHptYSB4YXR0ciIKK1BBQ0tBR0VDT05GSUdbZ3ppcF0gPSAiR1pJUF9TVVBQT1JUPTEsR1pJUF9TVVBQT1JUPTAsemxpYiIKK1BBQ0tBR0VDT05GSUdbeHpdID0gIlhaX1NVUFBPUlQ9MSxYWl9TVVBQT1JUPTAseHoiCitQQUNLQUdFQ09ORklHW2x6b10gPSAiTFpPX1NVUFBPUlQ9MSxMWk9fU1VQUE9SVD0wLGx6byIKK1BBQ0tBR0VDT05GSUdbbHo0XSA9ICJMWjRfU1VQUE9SVD0xLExaNF9TVVBQT1JUPTAsbHo0IgorUEFDS0FHRUNPTkZJR1tsem1hXSA9ICJMWk1BX1haX1NVUFBPUlQ9MSxMWk1BX1haX1NVUFBPUlQ9MCx4eiIKK1BBQ0tBR0VDT05GSUdbeGF0dHJdID0gIlhBVFRSX1NVUFBPUlQ9MSxYQVRUUl9TVVBQT1JUPTAsYXR0ciIKIAogZG9fY29tcGlsZSgpIHsKIAlvZV9ydW5tYWtlIG1rc3F1YXNoZnMgdW5zcXVhc2hmcwogfQorCiBkb19pbnN0YWxsICgpIHsKIAlpbnN0YWxsIC1kICR7RH0ke3NiaW5kaXJ9CiAJaW5zdGFsbCAtbSAwNzU1IG1rc3F1YXNoZnMgJHtEfSR7c2JpbmRpcn0vCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlLzAwMDEtRml4LWJ1aWxkLXdoZW4tdXNpbmctbm9uLWdsaWJjLWxpYmMtaW1wbGVtZW50YXRpb24tby5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2UvMDAwMS1GaXgtYnVpbGQtd2hlbi11c2luZy1ub24tZ2xpYmMtbGliYy1pbXBsZW1lbnRhdGlvbi1vLnBhdGNoCmluZGV4IDdmNTkyMTAuLmRhYWZjZWIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2UvMDAwMS1GaXgtYnVpbGQtd2hlbi11c2luZy1ub24tZ2xpYmMtbGliYy1pbXBsZW1lbnRhdGlvbi1vLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2UvMDAwMS1GaXgtYnVpbGQtd2hlbi11c2luZy1ub24tZ2xpYmMtbGliYy1pbXBsZW1lbnRhdGlvbi1vLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAxZjBjMjJiNzkwNDVjZmNkYzk3NjY0M2YzODNjMWQwOTU4OWQzMDg3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBhZjFmZGNlNzhiZmY0MzQzZjNjODRlYTExOGFiZGMzYzczOWZjNjQ2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFNhdCwgMzAgQXByIDIwMTYgMTY6MjM6NTYgKzAwMDAKIFN1YmplY3Q6IFtQQVRDSF0gRml4IGJ1aWxkIHdoZW4gdXNpbmcgbm9uLWdsaWJjIGxpYmMgaW1wbGVtZW50YXRpb24gb24gcHBjCkBAIC04LDE1ICs4LDE2IEBACiAKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZwogU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKwogLS0tCiAgcHRyYWNlLmggfCA4ICsrKysrKystCiAgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvcHRyYWNlLmggYi9wdHJhY2UuaAotaW5kZXggZDhhZjk3Ni4uNDk3OGE2OSAxMDA2NDQKK2luZGV4IDg5ZDRiOTUuLmIzZjQ1YmIgMTAwNjQ0CiAtLS0gYS9wdHJhY2UuaAogKysrIGIvcHRyYWNlLmgKLUBAIC01Miw3ICs1MiwxMyBAQCBleHRlcm4gbG9uZyBwdHJhY2UoaW50LCBpbnQsIGNoYXIgKiwgbG9uZyk7CitAQCAtMzAsNyArMzAsMTMgQEAKICAjIGRlZmluZSBwdHJhY2VfcGVla3NpZ2luZm9fYXJncyBYWFhfcHRyYWNlX3BlZWtzaWdpbmZvX2FyZ3MKICAjZW5kaWYKICAKQEAgLTMxLDYgKzMyLDMgQEAKICAKICAjaWZkZWYgSEFWRV9TVFJVQ1RfSUE2NF9GUFJFRwogICMgdW5kZWYgaWE2NF9mcHJlZwotLS0gCi0xLjguMy4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2UvMDAwMS1jYXBzLWFiYnJldi5hd2stZml4LWdhd2stcy1wYXRoLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS8wMDAxLWNhcHMtYWJicmV2LmF3ay1maXgtZ2F3ay1zLXBhdGgucGF0Y2gKaW5kZXggNGYxMzcwNi4uNTJkMmNkYyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS8wMDAxLWNhcHMtYWJicmV2LmF3ay1maXgtZ2F3ay1zLXBhdGgucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS8wMDAxLWNhcHMtYWJicmV2LmF3ay1maXgtZ2F3ay1zLXBhdGgucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDgzNzU3NTIzYzUwNzQ4ZWE4NDVjMWUyMjBiMWMzYjIwODBkM2NjNDkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGQyMjVhYWE4ODQxZjQ3YmE4YWE3YjM1M2IwYWMzMDI4ZDU5MTNlZmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KIERhdGU6IFRodSwgOSBGZWIgMjAxNyAwMToyNzo0OSAtMDgwMAogU3ViamVjdDogW1BBVENIXSBjYXBzLWFiYnJldi5hd2s6IGZpeCBnYXdrJ3MgcGF0aApAQCAtOCw2ICs4LDcgQEAKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZwogCiBTaWduZWQtb2ZmLWJ5OiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KKwogLS0tCiAgdGVzdHMtbTMyL2NhcHMtYWJicmV2LmF3ayAgfCAyICstCiAgdGVzdHMtbXgzMi9jYXBzLWFiYnJldi5hd2sgfCAyICstCkBAIC0xNSw3ICsxNiw3IEBACiAgMyBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS90ZXN0cy1tMzIvY2Fwcy1hYmJyZXYuYXdrIGIvdGVzdHMtbTMyL2NhcHMtYWJicmV2LmF3awotaW5kZXggODZkZTdmMi4uMDUzNWNhYyAxMDA2NDQKK2luZGV4IGMwMDAyM2IuLmE1NmNkNTYgMTAwNjQ0CiAtLS0gYS90ZXN0cy1tMzIvY2Fwcy1hYmJyZXYuYXdrCiArKysgYi90ZXN0cy1tMzIvY2Fwcy1hYmJyZXYuYXdrCiBAQCAtMSw0ICsxLDQgQEAKQEAgLTI1LDcgKzI2LDcgQEAKICAjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGNhcHMgc3RyYWNlIHRlc3QuCiAgIwogZGlmZiAtLWdpdCBhL3Rlc3RzLW14MzIvY2Fwcy1hYmJyZXYuYXdrIGIvdGVzdHMtbXgzMi9jYXBzLWFiYnJldi5hd2sKLWluZGV4IDg2ZGU3ZjIuLjA1MzVjYWMgMTAwNjQ0CitpbmRleCBjMDAwMjNiLi5hNTZjZDU2IDEwMDY0NAogLS0tIGEvdGVzdHMtbXgzMi9jYXBzLWFiYnJldi5hd2sKICsrKyBiL3Rlc3RzLW14MzIvY2Fwcy1hYmJyZXYuYXdrCiBAQCAtMSw0ICsxLDQgQEAKQEAgLTM1LDcgKzM2LDcgQEAKICAjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGNhcHMgc3RyYWNlIHRlc3QuCiAgIwogZGlmZiAtLWdpdCBhL3Rlc3RzL2NhcHMtYWJicmV2LmF3ayBiL3Rlc3RzL2NhcHMtYWJicmV2LmF3awotaW5kZXggODZkZTdmMi4uMDUzNWNhYyAxMDA2NDQKK2luZGV4IGMwMDAyM2IuLmE1NmNkNTYgMTAwNjQ0CiAtLS0gYS90ZXN0cy9jYXBzLWFiYnJldi5hd2sKICsrKyBiL3Rlc3RzL2NhcHMtYWJicmV2LmF3awogQEAgLTEsNCArMSw0IEBACkBAIC00NCw2ICs0NSwzIEBACiAgIwogICMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgY2FwcyBzdHJhY2UgdGVzdC4KICAjCi0tLSAKLTIuMTAuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlLzAwMDEtbWlwcy1vMzItZml4LWJ1aWxkLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS8wMDAxLW1pcHMtbzMyLWZpeC1idWlsZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNWRjY2ZiCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS8wMDAxLW1pcHMtbzMyLWZpeC1idWlsZC5wYXRjaApAQCAtMCwwICsxLDk4IEBACitGcm9tIDJjOGI2ZGU5MTM5NzMyNzRlODc3NjM5NjU4ZTllNzI3M2EwMTJhZGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiAiRG1pdHJ5IFYuIExldmluIiA8bGR2QGFsdGxpbnV4Lm9yZz4KK0RhdGU6IFR1ZSwgOCBKYW4gMjAxOSAxOToyMzo0NCArMDAwMAorU3ViamVjdDogW1BBVENIXSBtaXBzIG8zMjogZml4IGJ1aWxkCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworQ29tbWl0IDkxN2MyY2NmM2E2NyAiUmVmYWN0b3Igc3RhY2sgcG9pbnRlcnMiIG1vdmVkIG1pcHNfUkVHXyogbWFjcm9zCitmcm9tIGxpbnV4L21pcHMvYXJjaF9yZWdzLmggdG8gbGludXgvbWlwcy9hcmNoX3JlZ3MuYyBiZWNhdXNlIHRoZXNlCittYWNyb3MgYXJlIG5vIGxvbmdlciB1c2VkIG91dHNpZGUgc3lzY2FsbC5jIG9yIGZpbGVzIGluY2x1ZGVkIGJ5CitzeXNjYWxsLmMsIGJ1dCB0aGlzIGNhdXNlZCBhIGJ1aWxkIHJlZ3Jlc3Npb24gb24gbWlwcyBvMzIgYmVjYXVzZQorZGVjb2RlX3N5c2NhbGxfc3ViY2FsbCgpIHVzZXMgbWlwc19SRUdfU1AgcHJpb3IgdG8gaXRzIGRlZmluaXRpb24uCisKKyogc3lzY2FsbC5jIChkZWNvZGVfc3lzY2FsbF9zdWJjYWxsKTogTW92ZSAuLi4KKyogbGludXgvbWlwcy9nZXRfc3lzY2FsbF9hcmdzLmM6IC4uLiBoZXJlLgorCitSZXBvcnRlZC1ieTogQmFydWNoIFNpYWNoIDxiYXJ1Y2hAdGtvcy5jby5pbD4KK0ZpeGVzOiB2NC4yNn42MSAiUmVmYWN0b3Igc3RhY2sgcG9pbnRlcnMiCistLS0KKyBsaW51eC9taXBzL2dldF9zeXNjYWxsX2FyZ3MuYyB8IDI2ICsrKysrKysrKysrKysrKysrKysrKysrKysrCisgc3lzY2FsbC5jICAgICAgICAgICAgICAgICAgICAgfCAyNyArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDI5IGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGludXgvbWlwcy9nZXRfc3lzY2FsbF9hcmdzLmMgYi9saW51eC9taXBzL2dldF9zeXNjYWxsX2FyZ3MuYworaW5kZXggMzg3YWE4NTIuLmUyODg5Zjk4IDEwMDY0NAorLS0tIGEvbGludXgvbWlwcy9nZXRfc3lzY2FsbF9hcmdzLmMKKysrKyBiL2xpbnV4L21pcHMvZ2V0X3N5c2NhbGxfYXJncy5jCitAQCAtMzcsMyArMzcsMjkgQEAgYXJjaF9nZXRfc3lzY2FsbF9hcmdzKHN0cnVjdCB0Y2IgKnRjcCkKKyAjZW5kaWYKKyAJcmV0dXJuIDE7CisgfQorKworKyNpZmRlZiBTWVNfc3lzY2FsbF9zdWJjYWxsCisrc3RhdGljIHZvaWQKKytkZWNvZGVfc3lzY2FsbF9zdWJjYWxsKHN0cnVjdCB0Y2IgKnRjcCkKKyt7CisrCWlmICghc2Nub19pc192YWxpZCh0Y3AtPnVfYXJnWzBdKSkKKysJCXJldHVybjsKKysJdGNwLT5zY25vID0gdGNwLT51X2FyZ1swXTsKKysJdGNwLT5xdWFsX2ZsZyA9IHF1YWxfZmxhZ3ModGNwLT5zY25vKTsKKysJdGNwLT5zX2VudCA9ICZzeXNlbnRbdGNwLT5zY25vXTsKKysJbWVtbW92ZSgmdGNwLT51X2FyZ1swXSwgJnRjcC0+dV9hcmdbMV0sCisrCQlzaXplb2YodGNwLT51X2FyZykgLSBzaXplb2YodGNwLT51X2FyZ1swXSkpOworKwkvKgorKwkgKiBGZXRjaGluZyB0aGUgbGFzdCBhcmcgb2YgNy1hcmcgc3lzY2FsbHMgKGZhZHZpc2U2NF82NAorKwkgKiBhbmQgc3luY19maWxlX3JhbmdlKSByZXF1aXJlcyBhZGRpdGlvbmFsIGNvZGUsCisrCSAqIHNlZSBsaW51eC9taXBzL2dldF9zeXNjYWxsX2FyZ3MuYworKwkgKi8KKysJaWYgKHRjcC0+c19lbnQtPm5hcmdzID09IE1BWF9BUkdTKSB7CisrCQlpZiAodW1vdmVuKHRjcCwKKysJCQkgICBtaXBzX1JFR19TUCArIE1BWF9BUkdTICogc2l6ZW9mKHRjcC0+dV9hcmdbMF0pLAorKwkJCSAgIHNpemVvZih0Y3AtPnVfYXJnWzBdKSwKKysJCQkgICAmdGNwLT51X2FyZ1tNQVhfQVJHUyAtIDFdKSA8IDApCisrCQl0Y3AtPnVfYXJnW01BWF9BUkdTIC0gMV0gPSAwOworKwl9CisrfQorKyNlbmRpZiAvKiBTWVNfc3lzY2FsbF9zdWJjYWxsICovCitkaWZmIC0tZ2l0IGEvc3lzY2FsbC5jIGIvc3lzY2FsbC5jCitpbmRleCBkNzhmNTFkZC4uNTFmY2M3MjEgMTAwNjQ0CistLS0gYS9zeXNjYWxsLmMKKysrKyBiL3N5c2NhbGwuYworQEAgLTM0OSwzMSArMzQ5LDggQEAgZGVjb2RlX2lwY19zdWJjYWxsKHN0cnVjdCB0Y2IgKnRjcCkKKyAjZW5kaWYgLyogU1lTX2lwY19zdWJjYWxsICovCisgCisgI2lmZGVmIFNZU19zeXNjYWxsX3N1YmNhbGwKKy1zdGF0aWMgdm9pZAorLWRlY29kZV9zeXNjYWxsX3N1YmNhbGwoc3RydWN0IHRjYiAqdGNwKQorLXsKKy0JaWYgKCFzY25vX2lzX3ZhbGlkKHRjcC0+dV9hcmdbMF0pKQorLQkJcmV0dXJuOworLQl0Y3AtPnNjbm8gPSB0Y3AtPnVfYXJnWzBdOworLQl0Y3AtPnF1YWxfZmxnID0gcXVhbF9mbGFncyh0Y3AtPnNjbm8pOworLQl0Y3AtPnNfZW50ID0gJnN5c2VudFt0Y3AtPnNjbm9dOworLQltZW1tb3ZlKCZ0Y3AtPnVfYXJnWzBdLCAmdGNwLT51X2FyZ1sxXSwKKy0JCXNpemVvZih0Y3AtPnVfYXJnKSAtIHNpemVvZih0Y3AtPnVfYXJnWzBdKSk7CistIyBpZmRlZiBMSU5VWF9NSVBTTzMyCistCS8qCistCSAqIEZldGNoaW5nIHRoZSBsYXN0IGFyZyBvZiA3LWFyZyBzeXNjYWxscyAoZmFkdmlzZTY0XzY0CistCSAqIGFuZCBzeW5jX2ZpbGVfcmFuZ2UpIHJlcXVpcmVzIGFkZGl0aW9uYWwgY29kZSwKKy0JICogc2VlIGxpbnV4L21pcHMvZ2V0X3N5c2NhbGxfYXJncy5jCistCSAqLworLQlpZiAodGNwLT5zX2VudC0+bmFyZ3MgPT0gTUFYX0FSR1MpIHsKKy0JCWlmICh1bW92ZW4odGNwLAorLQkJCSAgIG1pcHNfUkVHX1NQICsgTUFYX0FSR1MgKiBzaXplb2YodGNwLT51X2FyZ1swXSksCistCQkJICAgc2l6ZW9mKHRjcC0+dV9hcmdbMF0pLAorLQkJCSAgICZ0Y3AtPnVfYXJnW01BWF9BUkdTIC0gMV0pIDwgMCkKKy0JCXRjcC0+dV9hcmdbTUFYX0FSR1MgLSAxXSA9IDA7CistCX0KKy0jIGVuZGlmIC8qIExJTlVYX01JUFNPMzIgKi8KKy19CisrLyogVGhlIGltcGxlbWVudGF0aW9uIGlzIGFyY2hpdGVjdHVyZSBzcGVjaWZpYy4gICovCisrc3RhdGljIHZvaWQgZGVjb2RlX3N5c2NhbGxfc3ViY2FsbChzdHJ1Y3QgdGNiICopOworICNlbmRpZiAvKiBTWVNfc3lzY2FsbF9zdWJjYWxsICovCisgCisgc3RhdGljIHZvaWQKKy0tIAorMi4xNy4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2UvMDAwMS10ZXN0cy1zaWdhY3Rpb24tQ2hlY2stZm9yLW1pcHMtYW5kLWFscGhhLWJlZm9yZS11c2luLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS8wMDAxLXRlc3RzLXNpZ2FjdGlvbi1DaGVjay1mb3ItbWlwcy1hbmQtYWxwaGEtYmVmb3JlLXVzaW4ucGF0Y2gKaW5kZXggNTIwOTZiMi4uYmVjZWU3OSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS8wMDAxLXRlc3RzLXNpZ2FjdGlvbi1DaGVjay1mb3ItbWlwcy1hbmQtYWxwaGEtYmVmb3JlLXVzaW4ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS8wMDAxLXRlc3RzLXNpZ2FjdGlvbi1DaGVjay1mb3ItbWlwcy1hbmQtYWxwaGEtYmVmb3JlLXVzaW4ucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDlmM2ZkMzg4YWU3YzQ2NDIwYmNjYmE0MDU0Njg2OTBlZDQ2ZDY2OWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDg3OWFlNzFjNDcyY2U1MjJmMWIzNTE0ZDJhYmY2YWQ0OWI0YWNjMDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogTW9uLCAxOCBTZXAgMjAxNyAyMjo1MTozMiAtMDcwMAogU3ViamVjdDogW1BBVENIXSB0ZXN0cy9zaWdhY3Rpb246IENoZWNrIGZvciBtaXBzIGFuZCBhbHBoYSBiZWZvcmUgdXNpbmcKQEAgLTEyLDE4ICsxMiwxOCBAQAogfCAuLi8uLi9zdHJhY2UtNC4xOC90ZXN0cy9zaWdhY3Rpb24uYzoxNzc6MzY6IGVycm9yOiAnc3RydWN0X3NldF9zYSB7YWthIHN0cnVjdCBzZXRfc2F9JyBoYXMgbm8gbWVtYmVyIG5hbWVkICdyZXN0b3JlcicKIHwgICMgZGVmaW5lIFNBX1JFU1RPUkVSX0FSR1MgLCBuZXdfYWN0LT5yZXN0b3JlcgogCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiAKKy0tLQogIHRlc3RzL3NpZ2FjdGlvbi5jIHwgMiArLQogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvdGVzdHMvc2lnYWN0aW9uLmMgYi90ZXN0cy9zaWdhY3Rpb24uYwotaW5kZXggN2I0Njk0NC4uZjQ2Y2RhNyAxMDA2NDQKK2luZGV4IDk1YmUxOTcuLjU0ODE5ZjkgMTAwNjQ0CiAtLS0gYS90ZXN0cy9zaWdhY3Rpb24uYwogKysrIGIvdGVzdHMvc2lnYWN0aW9uLmMKLUBAIC0xNzAsNyArMTcwLDcgQEAgbWFpbih2b2lkKQorQEAgLTE1Niw3ICsxNTYsNyBAQCBtYWluKHZvaWQpCiAgCXNpZ2RlbHNldChtYXNrLmxpYmMsIFNJR0hVUCk7CiAgCiAgCW1lbWNweShuZXdfYWN0LT5tYXNrLCBtYXNrLm9sZCwgc2l6ZW9mKG1hc2sub2xkKSk7CkBAIC0zMiw2ICszMiwzIEBACiAgCW5ld19hY3QtPmZsYWdzID0gU0FfUkVTVE9SRVI7CiAgCW5ld19hY3QtPnJlc3RvcmVyID0gKHVuc2lnbmVkIGxvbmcpIDB4ZGVhZGZhY2VjYWZlZjAwZFVMTDsKICAjIGRlZmluZSBTQV9SRVNUT1JFUl9GTVQgIiwgc2FfZmxhZ3M9U0FfUkVTVE9SRVIsIHNhX3Jlc3RvcmVyPSUjbHgiCi0tLSAKLTIuMTQuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlL01ha2VmaWxlLXB0ZXN0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS9NYWtlZmlsZS1wdGVzdC5wYXRjaAppbmRleCA0NjBiNmUyLi4wOGZhNWM1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlL01ha2VmaWxlLXB0ZXN0LnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2UvTWFrZWZpbGUtcHRlc3QucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDIwN2ZjNzgxNGJiZWIwMjQxMzgyMzI5MjE1ZDIxZmQzYjU3MDY2ZjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGVmNTA0MGI0ZjE1MDA2YTIyYWM2M2EzYmFjZmNlYWMzNmZmYzIwNDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBHYWJyaWVsIEJhcmJ1IDxnYWJyaWVsLmJhcmJ1QGVuZWEuY29tPgogRGF0ZTogVGh1LCAyNSBKdWwgMjAxMyAxNToyODozMyArMDIwMAogU3ViamVjdDogW1BBVENIXSBzdHJhY2U6IEFkZCBwdGVzdApAQCAtMTQsMTAgKzE0LDEwIEBACiAgMSBmaWxlIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKykKIAogZGlmZiAtLWdpdCBhL3Rlc3RzL01ha2VmaWxlLmFtIGIvdGVzdHMvTWFrZWZpbGUuYW0KLWluZGV4IGEyZjM5NTAuLjRmYTk3ZTIgMTAwNjQ0CitpbmRleCA4MjVjOTg5Li40NjIzYzQ4IDEwMDY0NAogLS0tIGEvdGVzdHMvTWFrZWZpbGUuYW0KICsrKyBiL3Rlc3RzL01ha2VmaWxlLmFtCi1AQCAtMzQsNiArMzQsNyBAQCBTSVpFT0ZfTE9ORyA9IEBTSVpFT0ZfTE9OR0AKK0BAIC0xNCw2ICsxNCw3IEBAIFNJWkVPRl9MT05HID0gQFNJWkVPRl9MT05HQAogIE1QRVJTX05BTUUgPQogIE1QRVJTX0NDX0ZMQUdTID0KICBBUkNIX01GTEFHUyA9CkBAIC0yNSw3ICsyNSw3IEBACiAgQU1fQ0ZMQUdTID0gJChXQVJOX0NGTEFHUykKICBBTV9DUFBGTEFHUyA9ICQoQVJDSF9NRkxBR1MpIFwKICAJICAgICAgLUkkKGJ1aWxkZGlyKSBcCi1AQCAtNDkwLDMgKzQ5MSwyMSBAQCBCVUlMVF9TT1VSQ0VTID0ga3N5c2VudC5oCitAQCAtNDc3LDMgKzQ3OCwyMSBAQCBCVUlMVF9TT1VSQ0VTID0ga3N5c2VudC5oCiAgQ0xFQU5GSUxFUyA9IGtzeXNlbnQuaAogIAogIGluY2x1ZGUgLi4vc2Nuby5hbQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS9kaXNhYmxlLWdpdC12ZXJzaW9uLWdlbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2UvZGlzYWJsZS1naXQtdmVyc2lvbi1nZW4ucGF0Y2gKaW5kZXggOWU1ZWMxMS4uZDYzNTRiZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS9kaXNhYmxlLWdpdC12ZXJzaW9uLWdlbi5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlL2Rpc2FibGUtZ2l0LXZlcnNpb24tZ2VuLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBiZWUwNjgwNzU0NzMwNDk4NDg1ZTI0ZGQwMzczMDMzMThjNjg5MTZjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBlZDMwYTRmYzRkYzI2NGNlNWY1ODgxNDYyZTAzYWUxM2M5MjFiZmVkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQW5kcmUgTWNDdXJkeSA8YXJtY2N1cmR5QGdtYWlsLmNvbT4KIERhdGU6IE1vbiwgMTggSmFuIDIwMTYgMTM6MzM6NTAgLTA4MDAKIFN1YmplY3Q6IFtQQVRDSF0gc3RyYWNlOiByZW1vdmUgbmVlZCBmb3Igc2NyaXB0cwpAQCAtMTYsMTAgKzE2LDEwIEBACiAgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotaW5kZXggYWQxZDAwZi4uOTZmYTIwNSAxMDA2NDQKK2luZGV4IDgwNDVlYmQuLjQzMTk3MDkgMTAwNjQ0CiAtLS0gYS9jb25maWd1cmUuYWMKICsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTMyLDEyICszMiwxMiBAQAorQEAgLTEyLDEyICsxMiwxMiBAQAogIAogIEFDX1BSRVJFUSgyLjU3KQogIEFDX0lOSVQoW3N0cmFjZV0sCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlL21pcHMtU0lHRU1ULnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS9taXBzLVNJR0VNVC5wYXRjaAppbmRleCBiMjQzNzhiLi4wZDMxOTJiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlL21pcHMtU0lHRU1ULnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2UvbWlwcy1TSUdFTVQucGF0Y2gKQEAgLTEsMyArMSw4IEBACitGcm9tIDIwYzE4NGE3YWIzZmI3YmU2N2ZiNzYyNmM0MTFlNzU2ZWE2MWQyZjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogU3VuLCA3IEF1ZyAyMDE2IDIzOjQ3OjU3IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIHN0cmFjZTogRml4IGJ1aWxkIHdpdGggbWlwcy9taXBzNjQgb24gbXVzbAorCiBTSUdFTVQgaXMgbm90IGRlZmluZWQgZXZlcnl3aGVyZSBlLmcgbXVzbCBkb2VzCiBub3QgZGVmaW5lIGl0LiBUaGVyZWZvcmUgY2hlY2sgaXQgYmVpbmcgZGVmaW5lZAogYmVmb3JlIHVzaW5nIGl0LgpAQCAtOCwxMSArMTMsMTUgQEAKIFNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIAotSW5kZXg6IHN0cmFjZS00LjEzL3Rlc3RzL3NpZ25hbDJuYW1lLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBzdHJhY2UtNC4xMy5vcmlnL3Rlc3RzL3NpZ25hbDJuYW1lLmMKLSsrKyBzdHJhY2UtNC4xMy90ZXN0cy9zaWduYWwybmFtZS5jCi1AQCAtNDIsNyArNDIsOSBAQCBzaWduYWwybmFtZShpbnQgc2lnKQorLS0tCisgdGVzdHMvc2lnbmFsMm5hbWUuYyB8IDIgKysKKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS90ZXN0cy9zaWduYWwybmFtZS5jIGIvdGVzdHMvc2lnbmFsMm5hbWUuYworaW5kZXggMWQ4ZTdjNS4uNjcyMmFhMSAxMDA2NDQKKy0tLSBhL3Rlc3RzL3NpZ25hbDJuYW1lLmMKKysrKyBiL3Rlc3RzL3NpZ25hbDJuYW1lLmMKK0BAIC00OSw3ICs0OSw5IEBAIHNpZ25hbDJuYW1lKGludCBzaWcpCiAgCUNBU0UoU0lHRU1UKTsKICAJQ0FTRShTSUdMT1NUKTsKICAjZWxpZiBkZWZpbmVkIE1JUFMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2UvbW9yZS1yb2J1c3QtdGVzdC1mb3ItbTMyLW14MzItY29tcGlsZS1zdXBwb3J0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS9tb3JlLXJvYnVzdC10ZXN0LWZvci1tMzItbXgzMi1jb21waWxlLXN1cHBvcnQucGF0Y2gKaW5kZXggM2Q0OTEzZC4uYTliZDkwMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS9tb3JlLXJvYnVzdC10ZXN0LWZvci1tMzItbXgzMi1jb21waWxlLXN1cHBvcnQucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS9tb3JlLXJvYnVzdC10ZXN0LWZvci1tMzItbXgzMi1jb21waWxlLXN1cHBvcnQucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDE1NGFmNTBlZDdlZDhiOTE4MzhkNzEzMDUyZWJmMjliMGIxNGY3NjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGNjOTczMDdlOGUzOWE4MTk5OWM2YTM2NWQwNTc0ODdhMDJlNjEyOGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBBbmRyZSBNY0N1cmR5IDxhcm1jY3VyZHlAZ21haWwuY29tPgogRGF0ZTogTW9uLCAxOCBKYW4gMjAxNiAxMTowMDowMCAtMDgwMAogU3ViamVjdDogW1BBVENIXSBtcGVycy5tNDogbW9yZSByb2J1c3QgdGVzdCBmb3IgLW0zMi8tbXgzMiBjb21waWxlIHN1cHBvcnQKQEAgLTE4LDE1ICsxOCwxNiBAQAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCiAKIFNpZ25lZC1vZmYtYnk6IEFuZHJlIE1jQ3VyZHkgPGFybWNjdXJkeUBnbWFpbC5jb20+CisKIC0tLQogIG00L21wZXJzLm00IHwgMiArKwogIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKIAotSW5kZXg6IHN0cmFjZS00LjIyL200L21wZXJzLm00Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gc3RyYWNlLTQuMjIub3JpZy9tNC9tcGVycy5tNAotKysrIHN0cmFjZS00LjIyL200L21wZXJzLm00Ci1AQCAtMTA4LDYgKzEwOCw3IEBAIGNhc2UgIiRhcmNoIiBpbgorZGlmZiAtLWdpdCBhL200L21wZXJzLm00IGIvbTQvbXBlcnMubTQKK2luZGV4IDEzNzI1ZDcuLmQ4NTc4ZWEgMTAwNjQ0CistLS0gYS9tNC9tcGVycy5tNAorKysrIGIvbTQvbXBlcnMubTQKK0BAIC04OCw2ICs4OCw3IEBAIGNhc2UgIiRhcmNoIiBpbgogIAlDRkxBR1M9IiRDRkxBR1MgTVBFUlNfQ0ZMQUdTICRJRkxBRyIKICAJQUNfQ0FDSEVfQ0hFQ0soW2ZvciBtcGVyc19uYW1lIHBlcnNvbmFsaXR5IGNvbXBpbGUgc3VwcG9ydF0sIFtzdF9jdl9jY10sCiAgCQlbQUNfQ09NUElMRV9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFtbI2luY2x1ZGUgPHN0ZGludC5oPgpAQCAtMzQsNyArMzUsNyBAQAogIAkJCQkJCSAgICAgaW50IG1haW4oKXtyZXR1cm4gMDt9XV0pXSwKICAJCQkJICAgW3N0X2N2X2NjPXllc10sCiAgCQkJCSAgIFtzdF9jdl9jYz1ub10pXSkKLUBAIC0xMTUsNiArMTE2LDcgQEAgY2FzZSAiJGFyY2giIGluCitAQCAtOTUsNiArOTYsNyBAQCBjYXNlICIkYXJjaCIgaW4KICAJCUFDX0NBQ0hFX0NIRUNLKFtmb3IgbXBlcnNfbmFtZSBwZXJzb25hbGl0eSBydW50aW1lIHN1cHBvcnRdLAogIAkJCVtzdF9jdl9ydW50aW1lXSwKICAJCQlbQUNfUlVOX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW1sjaW5jbHVkZSA8c3RkaW50Lmg+CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlL3VwZGF0ZS1nYXdrLXBhdGhzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS91cGRhdGUtZ2F3ay1wYXRocy5wYXRjaAppbmRleCBmNmZmYThlLi43MDc3MDQ4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlL3VwZGF0ZS1nYXdrLXBhdGhzLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2UvdXBkYXRlLWdhd2stcGF0aHMucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDM4MzY1MThjNDZiZDViYjNlNzEzNzFiMWIxODI3NGJmMmQ0ODcxMzMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGYwZDdlYmY0ODQ0MWUwYjA5MGMzZTYwNTNiOGM4NDVkMGE0YTNiMTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBBbmRyZSBNY0N1cmR5IDxhcm1jY3VyZHlAZ21haWwuY29tPgogRGF0ZTogTW9uLCAxOCBKYW4gMjAxNiAxMTowMTowMCAtMDgwMAogU3ViamVjdDogW1BBVENIXSB1cGRhdGUgZ2F3ayBwYXRocywgL2Jpbi9nYXdrIC0+IC91c3IvYmluL2dhd2sKQEAgLTExLDYgKzExLDcgQEAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KIAogU2lnbmVkLW9mZi1ieTogQW5kcmUgTWNDdXJkeSA8YXJtY2N1cmR5QGdtYWlsLmNvbT4KKwogLS0tCiAgbXBlcnMuYXdrICAgICAgICAgICAgICAgICAgIHwgMiArLQogIHRlc3RzLW0zMi9jYXBzLmF3ayAgICAgICAgICB8IDIgKy0KQEAgLTI1LDcgKzI2LDcgQEAKICAxMCBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL21wZXJzLmF3ayBiL21wZXJzLmF3awotaW5kZXggZmU1NDc2My4uYjUyMzhhOCAxMDA2NDQKK2luZGV4IDE3ZjhmMmIuLmQ2OWRjZDUgMTAwNjQ0CiAtLS0gYS9tcGVycy5hd2sKICsrKyBiL21wZXJzLmF3awogQEAgLTEsNCArMSw0IEBACkBAIC0zNSw3ICszNiw3IEBACiAgIyBDb3B5cmlnaHQgKGMpIDIwMTUgRWx2aXJhIEtoYWJpcm92YSA8bGluZXByaW50ZXIwQGdtYWlsLmNvbT4KICAjIENvcHlyaWdodCAoYykgMjAxNS0yMDE2IERtaXRyeSBWLiBMZXZpbiA8bGR2QGFsdGxpbnV4Lm9yZz4KIGRpZmYgLS1naXQgYS90ZXN0cy1tMzIvY2Fwcy5hd2sgYi90ZXN0cy1tMzIvY2Fwcy5hd2sKLWluZGV4IGM2ZTMxZWYuLjVlZmM2Y2MgMTAwNjQ0CitpbmRleCA5NDE1NjRhLi4wYmNjM2ZmIDEwMDY0NAogLS0tIGEvdGVzdHMtbTMyL2NhcHMuYXdrCiArKysgYi90ZXN0cy1tMzIvY2Fwcy5hd2sKIEBAIC0xLDQgKzEsNCBAQApAQCAtNDUsMTcgKzQ2LDE3IEBACiAgIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBjYXBzIHN0cmFjZSB0ZXN0LgogICMKIGRpZmYgLS1naXQgYS90ZXN0cy1tMzIvbWF0Y2guYXdrIGIvdGVzdHMtbTMyL21hdGNoLmF3awotaW5kZXggYWJmYmFlOS4uZjI3NDBiZiAxMDA2NDQKK2luZGV4IGQ5MWM1MTguLmVlNWQ5MDggMTAwNjQ0CiAtLS0gYS90ZXN0cy1tMzIvbWF0Y2guYXdrCiArKysgYi90ZXN0cy1tMzIvbWF0Y2guYXdrCiBAQCAtMSw0ICsxLDQgQEAKIC0jIS9iaW4vZ2F3awogKyMhL3Vzci9iaW4vZ2F3awogICMKLSAjIENvcHlyaWdodCAoYykgMjAxNC0yMDE1IERtaXRyeSBWLiBMZXZpbiA8bGR2QGFsdGxpbnV4Lm9yZz4KKyAjIENvcHlyaWdodCAoYykgMjAxNC0yMDE4IERtaXRyeSBWLiBMZXZpbiA8bGR2QGFsdGxpbnV4Lm9yZz4KICAjIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiBkaWZmIC0tZ2l0IGEvdGVzdHMtbTMyL3J0X3NpZ2FjdGlvbi5hd2sgYi90ZXN0cy1tMzIvcnRfc2lnYWN0aW9uLmF3awotaW5kZXggOWMzYTllZC4uODQxNDI0MyAxMDA2NDQKK2luZGV4IDgxZGQ4MTMuLjljZDk1NDkgMTAwNjQ0CiAtLS0gYS90ZXN0cy1tMzIvcnRfc2lnYWN0aW9uLmF3awogKysrIGIvdGVzdHMtbTMyL3J0X3NpZ2FjdGlvbi5hd2sKIEBAIC0xLDQgKzEsNCBAQApAQCAtNjUsNyArNjYsNyBAQAogICMgQ29weXJpZ2h0IChjKSAyMDE0LTIwMTUgRG1pdHJ5IFYuIExldmluIDxsZHZAYWx0bGludXgub3JnPgogICMgQ29weXJpZ2h0IChjKSAyMDE2IEVsdmlyYSBLaGFiaXJvdmEgPGxpbmVwcmludGVyMEBnbWFpbC5jb20+CiBkaWZmIC0tZ2l0IGEvdGVzdHMtbXgzMi9jYXBzLmF3ayBiL3Rlc3RzLW14MzIvY2Fwcy5hd2sKLWluZGV4IGM2ZTMxZWYuLjVlZmM2Y2MgMTAwNjQ0CitpbmRleCA5NDE1NjRhLi4wYmNjM2ZmIDEwMDY0NAogLS0tIGEvdGVzdHMtbXgzMi9jYXBzLmF3awogKysrIGIvdGVzdHMtbXgzMi9jYXBzLmF3awogQEAgLTEsNCArMSw0IEBACkBAIC03NSwxNyArNzYsMTcgQEAKICAjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGNhcHMgc3RyYWNlIHRlc3QuCiAgIwogZGlmZiAtLWdpdCBhL3Rlc3RzLW14MzIvbWF0Y2guYXdrIGIvdGVzdHMtbXgzMi9tYXRjaC5hd2sKLWluZGV4IGFiZmJhZTkuLmYyNzQwYmYgMTAwNjQ0CitpbmRleCBkOTFjNTE4Li5lZTVkOTA4IDEwMDY0NAogLS0tIGEvdGVzdHMtbXgzMi9tYXRjaC5hd2sKICsrKyBiL3Rlc3RzLW14MzIvbWF0Y2guYXdrCiBAQCAtMSw0ICsxLDQgQEAKIC0jIS9iaW4vZ2F3awogKyMhL3Vzci9iaW4vZ2F3awogICMKLSAjIENvcHlyaWdodCAoYykgMjAxNC0yMDE1IERtaXRyeSBWLiBMZXZpbiA8bGR2QGFsdGxpbnV4Lm9yZz4KKyAjIENvcHlyaWdodCAoYykgMjAxNC0yMDE4IERtaXRyeSBWLiBMZXZpbiA8bGR2QGFsdGxpbnV4Lm9yZz4KICAjIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiBkaWZmIC0tZ2l0IGEvdGVzdHMtbXgzMi9ydF9zaWdhY3Rpb24uYXdrIGIvdGVzdHMtbXgzMi9ydF9zaWdhY3Rpb24uYXdrCi1pbmRleCA5YzNhOWVkLi44NDE0MjQzIDEwMDY0NAoraW5kZXggODFkZDgxMy4uOWNkOTU0OSAxMDA2NDQKIC0tLSBhL3Rlc3RzLW14MzIvcnRfc2lnYWN0aW9uLmF3awogKysrIGIvdGVzdHMtbXgzMi9ydF9zaWdhY3Rpb24uYXdrCiBAQCAtMSw0ICsxLDQgQEAKQEAgLTk1LDcgKzk2LDcgQEAKICAjIENvcHlyaWdodCAoYykgMjAxNC0yMDE1IERtaXRyeSBWLiBMZXZpbiA8bGR2QGFsdGxpbnV4Lm9yZz4KICAjIENvcHlyaWdodCAoYykgMjAxNiBFbHZpcmEgS2hhYmlyb3ZhIDxsaW5lcHJpbnRlcjBAZ21haWwuY29tPgogZGlmZiAtLWdpdCBhL3Rlc3RzL2NhcHMuYXdrIGIvdGVzdHMvY2Fwcy5hd2sKLWluZGV4IGM2ZTMxZWYuLjVlZmM2Y2MgMTAwNjQ0CitpbmRleCA5NDE1NjRhLi4wYmNjM2ZmIDEwMDY0NAogLS0tIGEvdGVzdHMvY2Fwcy5hd2sKICsrKyBiL3Rlc3RzL2NhcHMuYXdrCiBAQCAtMSw0ICsxLDQgQEAKQEAgLTEwNSwxNyArMTA2LDE3IEBACiAgIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBjYXBzIHN0cmFjZSB0ZXN0LgogICMKIGRpZmYgLS1naXQgYS90ZXN0cy9tYXRjaC5hd2sgYi90ZXN0cy9tYXRjaC5hd2sKLWluZGV4IGFiZmJhZTkuLmYyNzQwYmYgMTAwNjQ0CitpbmRleCBkOTFjNTE4Li5lZTVkOTA4IDEwMDY0NAogLS0tIGEvdGVzdHMvbWF0Y2guYXdrCiArKysgYi90ZXN0cy9tYXRjaC5hd2sKIEBAIC0xLDQgKzEsNCBAQAogLSMhL2Jpbi9nYXdrCiArIyEvdXNyL2Jpbi9nYXdrCiAgIwotICMgQ29weXJpZ2h0IChjKSAyMDE0LTIwMTUgRG1pdHJ5IFYuIExldmluIDxsZHZAYWx0bGludXgub3JnPgorICMgQ29weXJpZ2h0IChjKSAyMDE0LTIwMTggRG1pdHJ5IFYuIExldmluIDxsZHZAYWx0bGludXgub3JnPgogICMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGRpZmYgLS1naXQgYS90ZXN0cy9ydF9zaWdhY3Rpb24uYXdrIGIvdGVzdHMvcnRfc2lnYWN0aW9uLmF3awotaW5kZXggOWMzYTllZC4uODQxNDI0MyAxMDA2NDQKK2luZGV4IDgxZGQ4MTMuLjljZDk1NDkgMTAwNjQ0CiAtLS0gYS90ZXN0cy9ydF9zaWdhY3Rpb24uYXdrCiArKysgYi90ZXN0cy9ydF9zaWdhY3Rpb24uYXdrCiBAQCAtMSw0ICsxLDQgQEAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2VfNC4yNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2VfNC4yNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWU0MGEwNi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlXzQuMjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw2NCArMCwwIEBACi1TVU1NQVJZID0gIlN5c3RlbSBjYWxsIHRyYWNpbmcgdG9vbCIKLUhPTUVQQUdFID0gImh0dHA6Ly9zdHJhY2UuaW8iCi1TRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCi1MSUNFTlNFID0gIkJTRCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTZkZGI5MTczNGI5YzcwNWYzZTg3MzYyZTk3ZTVmNjRiIgotCi1TUkNfVVJJID0gImh0dHBzOi8vc3RyYWNlLmlvL2ZpbGVzLyR7UFZ9L3N0cmFjZS0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vZGlzYWJsZS1naXQtdmVyc2lvbi1nZW4ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbW9yZS1yb2J1c3QtdGVzdC1mb3ItbTMyLW14MzItY29tcGlsZS1zdXBwb3J0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3VwZGF0ZS1nYXdrLXBhdGhzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL01ha2VmaWxlLXB0ZXN0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1idWlsZC13aGVuLXVzaW5nLW5vbi1nbGliYy1saWJjLWltcGxlbWVudGF0aW9uLW8ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbWlwcy1TSUdFTVQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1jYXBzLWFiYnJldi5hd2stZml4LWdhd2stcy1wYXRoLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtdGVzdHMtc2lnYWN0aW9uLUNoZWNrLWZvci1taXBzLWFuZC1hbHBoYS1iZWZvcmUtdXNpbi5wYXRjaCBcCi0gICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICI4NzgwMTM2ODQ5Yzg1YWNmNzZhZDNhNTIyYWE0NDYyYSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIxZjRlNTlmYzFlZGZhMmJmYjRhZGYyYTc0ODYyM2RjMjViMTA1ZWM3OTcxM2RkODQ0MDQxOTlmOTFiMGIwNjM0IgotCi1pbmhlcml0IGF1dG90b29scyBwdGVzdCBibHVldG9vdGgKLQotUEFDS0FHRUNPTkZJR19jbGFzcy10YXJnZXQgPz89ICJcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdibHVldG9vdGgnLCAnYmx1ZXonLCAnJywgZCl9IFwKLSIKLQotUEFDS0FHRUNPTkZJR1tibHVlel0gPSAiYWNfY3ZfaGVhZGVyX2JsdWV0b290aF9ibHVldG9vdGhfaD15ZXMsYWNfY3ZfaGVhZGVyX2JsdWV0b290aF9ibHVldG9vdGhfaD1ubywke0JMVUVafSIKLVBBQ0tBR0VDT05GSUdbbGlidW53aW5kXSA9ICItLXdpdGgtbGlidW53aW5kLC0td2l0aG91dC1saWJ1bndpbmQsbGlidW53aW5kIgotCi1FWFRSQV9PRUNPTkYgKz0gIi0tZW5hYmxlLW1wZXJzPW5vIgotCi1DRkxBR1NfYXBwZW5kX2xpYmMtbXVzbCA9ICIgLURzaWdjb250ZXh0X3N0cnVjdD1zaWdjb250ZXh0IgotCi1URVNURElSID0gInRlc3RzIgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLQkjIFdlIGRvbid0IHNoaXAgc3RyYWNlLWdyYXBoIGhlcmUgYmVjYXVzZSBpdCBuZWVkcyBwZXJsCi0Jcm0gJHtEfSR7YmluZGlyfS9zdHJhY2UtZ3JhcGgKLX0KLQotZG9fY29tcGlsZV9wdGVzdCgpIHsKLQlvZV9ydW5tYWtlIC1DICR7VEVTVERJUn0gYnVpbGR0ZXN0LVRFU1RTCi19Ci0KLWRvX2luc3RhbGxfcHRlc3QoKSB7Ci0Jb2VfcnVubWFrZSAtQyAke1RFU1RESVJ9IGluc3RhbGwtcHRlc3QgQlVJTERESVI9JHtCfSBERVNURElSPSR7RH0ke1BURVNUX1BBVEh9IFRFU1RESVI9JHtURVNURElSfQotCWluc3RhbGwgLW0gNzU1ICR7U30vdGVzdC1kcml2ZXIgJHtEfSR7UFRFU1RfUEFUSH0KLQlpbnN0YWxsIC1tIDY0NCAke0J9L2NvbmZpZy5oICR7RH0ke1BURVNUX1BBVEh9Ci0Jc2VkIC1pIC1lICcvXnNyYy9zL3N0cmFjZS4qWzEtOV0vcHRlc3QvJyBcCi0JICAgIC1lICdzLC0tc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH0sLGcnIFwKLQkgICAgLWUgJ3N8JHtERUJVR19QUkVGSVhfTUFQfXx8ZycgXAotCSAgICAtZSAnczoke0hPU1RUT09MU19ESVJ9Lzo6ZycgXAotCSAgICAtZSAnczoke1JFQ0lQRV9TWVNST09UX05BVElWRX06OmcnIFwKLQkgICAgLWUgJ3M6JHtSRUNJUEVfU1lTUk9PVH06OmcnIFwKLQkgICAgLWUgJ3M6JHtCQVNFX1dPUktESVJ9LyR7TVVMVElNQUNIX1RBUkdFVF9TWVN9OjpnJyBcCi0JICAgIC1lICcvXkRFQl9DSEFOR0VMT0dUSU1FL2QnIFwKLQkgICAgLWUgJy9eUlBNX0NIQU5HRUxPR1RJTUUvZCcgXAotCSR7RH0vJHtQVEVTVF9QQVRIfS8ke1RFU1RESVJ9L01ha2VmaWxlCi19Ci0KLVJERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICJtYWtlIGNvcmV1dGlscyBncmVwIGdhd2sgc2VkIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKLVRPT0xDSEFJTiA9ICJnY2MiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlXzQuMjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlXzQuMjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjRmOTJjOQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2VfNC4yNi5iYgpAQCAtMCwwICsxLDU3IEBACitTVU1NQVJZID0gIlN5c3RlbSBjYWxsIHRyYWNpbmcgdG9vbCIKK0hPTUVQQUdFID0gImh0dHA6Ly9zdHJhY2UuaW8iCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitMSUNFTlNFID0gIkxHUEwtMi4xKyAmIEdQTC0yKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTVjODRkMWM2ZTQ4ZTc5NjFjY2QyY2QyYWUzMmY3YmYxIgorCitTUkNfVVJJID0gImh0dHBzOi8vc3RyYWNlLmlvL2ZpbGVzLyR7UFZ9L3N0cmFjZS0ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vZGlzYWJsZS1naXQtdmVyc2lvbi1nZW4ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbW9yZS1yb2J1c3QtdGVzdC1mb3ItbTMyLW14MzItY29tcGlsZS1zdXBwb3J0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3VwZGF0ZS1nYXdrLXBhdGhzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL01ha2VmaWxlLXB0ZXN0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1idWlsZC13aGVuLXVzaW5nLW5vbi1nbGliYy1saWJjLWltcGxlbWVudGF0aW9uLW8ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbWlwcy1TSUdFTVQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1jYXBzLWFiYnJldi5hd2stZml4LWdhd2stcy1wYXRoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtdGVzdHMtc2lnYWN0aW9uLUNoZWNrLWZvci1taXBzLWFuZC1hbHBoYS1iZWZvcmUtdXNpbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW1pcHMtbzMyLWZpeC1idWlsZC5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICJkYWE1MWFjYzBjN2M2OTYyMjFlYzAzY2YwYjMwYTdhZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3YzRkMmZmZWVmNGY3ZDFjZGM3MTA2MmNhNzhkMTEzMGViNTJmOTQ3YzJmY2E4MmY1OWY2YTExODNiZmExZTFjIgorCitpbmhlcml0IGF1dG90b29scyBwdGVzdCBibHVldG9vdGgKKworUEFDS0FHRUNPTkZJR19jbGFzcy10YXJnZXQgPz89ICJcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdibHVldG9vdGgnLCAnYmx1ZXonLCAnJywgZCl9IFwKKyIKKworUEFDS0FHRUNPTkZJR1tibHVlel0gPSAiYWNfY3ZfaGVhZGVyX2JsdWV0b290aF9ibHVldG9vdGhfaD15ZXMsYWNfY3ZfaGVhZGVyX2JsdWV0b290aF9ibHVldG9vdGhfaD1ubywke0JMVUVafSIKK1BBQ0tBR0VDT05GSUdbbGlidW53aW5kXSA9ICItLXdpdGgtbGlidW53aW5kLC0td2l0aG91dC1saWJ1bndpbmQsbGlidW53aW5kIgorCitFWFRSQV9PRUNPTkYgKz0gIi0tZW5hYmxlLW1wZXJzPW5vIgorCitDRkxBR1NfYXBwZW5kX2xpYmMtbXVzbCA9ICIgLURzaWdjb250ZXh0X3N0cnVjdD1zaWdjb250ZXh0IgorCitURVNURElSID0gInRlc3RzIgorUFRFU1RfQlVJTERfSE9TVF9QQVRURVJOID0gIl4oREVCX0NIQU5HRUxPR1RJTUV8UlBNX0NIQU5HRUxPR1RJTUV8V0FSTl9DRkxBR1NfRk9SX0JVSUxEfExERkxBR1NfRk9SX0JVSUxEKSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisJIyBXZSBkb24ndCBzaGlwIHN0cmFjZS1ncmFwaCBoZXJlIGJlY2F1c2UgaXQgbmVlZHMgcGVybAorCXJtICR7RH0ke2JpbmRpcn0vc3RyYWNlLWdyYXBoCit9CisKK2RvX2NvbXBpbGVfcHRlc3QoKSB7CisJb2VfcnVubWFrZSAtQyAke1RFU1RESVJ9IGJ1aWxkdGVzdC1URVNUUworfQorCitkb19pbnN0YWxsX3B0ZXN0KCkgeworCW9lX3J1bm1ha2UgLUMgJHtURVNURElSfSBpbnN0YWxsLXB0ZXN0IEJVSUxERElSPSR7Qn0gREVTVERJUj0ke0R9JHtQVEVTVF9QQVRIfSBURVNURElSPSR7VEVTVERJUn0KKwlpbnN0YWxsIC1tIDc1NSAke1N9L3Rlc3QtZHJpdmVyICR7RH0ke1BURVNUX1BBVEh9CisJaW5zdGFsbCAtbSA2NDQgJHtCfS9jb25maWcuaCAke0R9JHtQVEVTVF9QQVRIfQorICAgICAgICBzZWQgLWkgLWUgJy9ec3JjL3Mvc3RyYWNlLipbMS05XS9wdGVzdC8nICR7RH0vJHtQVEVTVF9QQVRIfS8ke1RFU1RESVJ9L01ha2VmaWxlCit9CisKK1JERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICJtYWtlIGNvcmV1dGlscyBncmVwIGdhd2sgc2VkIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKK1RPT0xDSEFJTiA9ICJnY2MiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdWJ2ZXJzaW9uL3N1YnZlcnNpb24vc2VyZi5tNC1SZWdleC1tb2RpZmllZC10by1hbGxvdy1ELWluLXBhdGhzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3VidmVyc2lvbi9zdWJ2ZXJzaW9uL3NlcmYubTQtUmVnZXgtbW9kaWZpZWQtdG8tYWxsb3ctRC1pbi1wYXRocy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWZlZDNjZi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdWJ2ZXJzaW9uL3N1YnZlcnNpb24vc2VyZi5tNC1SZWdleC1tb2RpZmllZC10by1hbGxvdy1ELWluLXBhdGhzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAotRnJvbSBmMWI2ZTQ5ZjEyYTE4ZWFiZTg4ZWI3MzJiNTc4YTE2MjgxZDA5NDk5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSm9zZSBMYW1lZ28gPGpvc2UuYS5sYW1lZ29AbGludXguaW50ZWwuY29tPgotRGF0ZTogVGh1LCAyIEp1bCAyMDE1IDExOjM3OjQzICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIHNlcmYubTQ6IFJlZ2V4IG1vZGlmaWVkIHRvIGFsbG93ICctRCcgaW4gcGF0aHMKLQotVXBzdHJlYW0tU3RhdHVzOiBBY2NlcHRlZAotCi1UaGUgcGF0Y2ggaXMgbWVyZ2VkIGJ5IHN1YnZlcnNpb24gdXBzdHJlYW0gd2l0aCByZXBsYWNpbmcgJ1tbOnNwYWNlOl1dJyB3aXRoICcgJy4KLQotaHR0cDovL3N2bi5hcGFjaGUub3JnL3ZpZXd2Yy9zdWJ2ZXJzaW9uL3RydW5rL2J1aWxkL2FjLW1hY3Jvcy9zZXJmLm00P3IxPTE1OTQxNTYmcjI9MTY4OTgyNCAgCi0KLVNpZ25lZC1vZmYtYnk6IEpvc2UgTGFtZWdvIDxqb3NlLmEubGFtZWdvQGxpbnV4LmludGVsLmNvbT4KLS0tLQotIGJ1aWxkL2FjLW1hY3Jvcy9zZXJmLm00IHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvYnVpbGQvYWMtbWFjcm9zL3NlcmYubTQgYi9idWlsZC9hYy1tYWNyb3Mvc2VyZi5tNAotaW5kZXggYWUxMWU3NS4uZmY4Y2JhZSAxMDA2NDQKLS0tLSBhL2J1aWxkL2FjLW1hY3Jvcy9zZXJmLm00Ci0rKysgYi9idWlsZC9hYy1tYWNyb3Mvc2VyZi5tNAotQEAgLTE2OCw3ICsxNjgsNyBAQAotICAgICAgICAgaWYgJFBLR19DT05GSUcgJHNlcmZfcGNfYXJnIC0tYXRsZWFzdC12ZXJzaW9uPSRzZXJmX2NoZWNrX3ZlcnNpb247IHRoZW4KLSAgICAgICAgICAgQUNfTVNHX1JFU1VMVChbeWVzXSkKLSAgICAgICAgICAgc2VyZl9mb3VuZD15ZXMKLS0gICAgICAgICAgU1ZOX1NFUkZfSU5DTFVERVM9W2AkUEtHX0NPTkZJRyAkc2VyZl9wY19hcmcgLS1jZmxhZ3MgfCAkU0VEIC1lICdzLy1EW14gXSovL2cnYF0KLSsgICAgICAgICAgU1ZOX1NFUkZfSU5DTFVERVM9W2AkUEtHX0NPTkZJRyAkc2VyZl9wY19hcmcgLS1jZmxhZ3MgfCAkU0VEIC1lICdzLyAtRFteIF0qLy9nJyAtZSAncy9eLURbXiBdKi8vZydgXQotICAgICAgICAgICBTVk5fU0VSRl9MSUJTPWAkUEtHX0NPTkZJRyAkc2VyZl9wY19hcmcgLS1saWJzLW9ubHktbGAgCi0gICAgICAgICAgIGRubCBkb24ndCB1c2UgLS1saWJzLW9ubHktTCBiZWNhdXNlIHRoZW4gd2UgbWlnaHQgbWlzcyBzb21lIG9wdGlvbnMKLSAgICAgICAgICAgTERGTEFHUz1bIiRMREZMQUdTIGAkUEtHX0NPTkZJRyAkc2VyZl9wY19hcmcgLS1saWJzIHwgJFNFRCAtZSAncy8tbFteIF0qLy9nJ2AiXQotLS0gCi0xLjguNC41Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N1YnZlcnNpb24vc3VidmVyc2lvbl8xLjEwLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdWJ2ZXJzaW9uL3N1YnZlcnNpb25fMS4xMC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MmMyNTYyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N1YnZlcnNpb24vc3VidmVyc2lvbl8xLjEwLjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1OCArMCwwIEBACi1TVU1NQVJZID0gIlN1YnZlcnNpb24gKHN2bikgdmVyc2lvbiBjb250cm9sIHN5c3RlbSBjbGllbnQiCi1IT01FUEFHRSA9ICJodHRwOi8vc3VidmVyc2lvbi5hcGFjaGUub3JnIgotU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCi1MSUNFTlNFID0gIkFwYWNoZS0yICYgTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ODMyMDZmMzk4MTllN2E0ZGZjYTJmZjdjMTkwZjZjZTAiCi0KLURFUEVORFMgPSAiYXByLXV0aWwgc2VyZiBzcWxpdGUzIGZpbGUgbHo0IgotREVQRU5EU19hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBmaWxlLXJlcGxhY2VtZW50LW5hdGl2ZSIKLQotU1JDX1VSSSA9ICIke0FQQUNIRV9NSVJST1J9LyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9kaXNhYmxlX21hY29zLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWxpYnRvb2wtbmFtZS1pbi1jb25maWd1cmUuYWMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vc2VyZm1hY3JvLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMDEyNjg0N2Y5ZThjYjhlZDBiOTBhNmExOGIyMDMzMDkiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmNmMjNmM2FiYjgzN2RlYTA1ODVhNmIwZWJkNzBlODBlMDFmOTViZGRlZjdjMWFhMDk3YzE4ZTNlYWE2YjU4NCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdldHRleHQKLQotUEFDS0FHRUNPTkZJRyA/PSAiIgotCi1QQUNLQUdFQ09ORklHW3Nhc2xdID0gIi0td2l0aC1zYXNsLC0td2l0aG91dC1zYXNsLGN5cnVzLXNhc2wiCi1QQUNLQUdFQ09ORklHW2dub21lLWtleXJpbmddID0gIi0td2l0aC1nbm9tZS1rZXlyaW5nLC0td2l0aG91dC1nbm9tZS1rZXlyaW5nLGdsaWItMi4wIGdub21lLWtleXJpbmciCi0KLUVYVFJBX09FQ09ORiA9ICIgXAotICAgIC0td2l0aC1hcHI9JHtTVEFHSU5HX0JJTkRJUl9DUk9TU30gXAotICAgIC0td2l0aC1hcHItdXRpbD0ke1NUQUdJTkdfQklORElSX0NST1NTfSBcCi0gICAgLS13aXRob3V0LWFweHMgXAotICAgIC0td2l0aG91dC1iZXJrZWxleS1kYiBcCi0gICAgLS13aXRob3V0LXN3aWcgXAotICAgIC0tZGlzYWJsZS1rZXljaGFpbiBcCi0gICAgLS13aXRoLXV0Zjhwcm9jPWludGVybmFsIFwKLSAgICBhY19jdl9wYXRoX1JVQlk9bm9uZSBcCi0iCi0KLWFjcGF0aHMgPSAiLUkgYnVpbGQvIC1JIGJ1aWxkL2FjLW1hY3Jvcy8iCi0KLUNQUEZMQUdTICs9ICItUCIKLUJVSUxEX0NQUEZMQUdTICs9ICItUCIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgewotCXJtIC1mICR7U30vbGlidG9vbAotCXJtIC1mICR7U30vYnVpbGQvbGlidG9vbC5tNCAke1N9L2J1aWxkL2x0bWFpbi5zaCAke1N9L2J1aWxkL2x0b3B0aW9ucy5tNCAke1N9L2J1aWxkL2x0c3VnYXIubTQgJHtTfS9idWlsZC9sdHZlcnNpb24ubTQgJHtTfS9idWlsZC9sdH5vYnNvbGV0ZS5tNAotCXJtIC1mICR7U30vYWNsb2NhbC5tNAotCXNlZCAtaSAtZSAnczp3aXRoX3Nhc2w9Ii91c3IvbG9jYWwiOndpdGhfc2FzbD0iJHtTVEFHSU5HX0RJUn0iOicgJHtTfS9idWlsZC9hYy1tYWNyb3Mvc2FzbC5tNAotfQotCi0jfCB4ODZfNjQtbGludXgtbGlidG9vbDogaW5zdGFsbDogd2FybmluZzogYC9ob21lL3Bva3lidWlsZC95b2N0by1hdXRvYnVpbGRlci95b2N0by13b3JrZXIvbmlnaHRseS1xYS1sb2dyb3RhdGUvYnVpbGQvYnVpbGQvdG1wL3dvcmsveDg2XzY0LWxpbnV4L3N1YnZlcnNpb24tbmF0aXZlLzEuOC45LXIwL2J1aWxkL3N1YnZlcnNpb24vbGlic3ZuX3JhX2xvY2FsL2xpYnN2bl9yYV9sb2NhbC0xLmxhJyBoYXMgbm90IGJlZW4gaW5zdGFsbGVkIGluIGAvaG9tZS9wb2t5YnVpbGQveW9jdG8tYXV0b2J1aWxkZXIveW9jdG8td29ya2VyL25pZ2h0bHktcWEtbG9ncm90YXRlL2J1aWxkL2J1aWxkL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYid8IHg4Nl82NC1saW51eC1saWJ0b29sOiBpbnN0YWxsOiB3YXJuaW5nOiBgL2hvbWUvcG9reWJ1aWxkL3lvY3RvLWF1dG9idWlsZGVyL3lvY3RvLXdvcmtlci9uaWdodGx5LXFhLWxvZ3JvdGF0ZS9idWlsZC9idWlsZC90bXAvd29yay94ODZfNjQtbGludXgvc3VidmVyc2lvbi1uYXRpdmUvMS44LjktcjAvYnVpbGQvc3VidmVyc2lvbi9saWJzdm5fcmVwb3MvbGlic3ZuX3JlcG9zLTEubGEnIGhhcyBub3QgYmVlbiBpbnN0YWxsZWQgaW4gYC9ob21lL3Bva3lidWlsZC95b2N0by1hdXRvYnVpbGRlci95b2N0by13b3JrZXIvbmlnaHRseS1xYS1sb2dyb3RhdGUvYnVpbGQvYnVpbGQvdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliJ3wgL3Vzci9iaW4vbGQ6IGNhbm5vdCBmaW5kIC1sc3ZuX2RlbHRhLTF8IGNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzfCB4ODZfNjQtbGludXgtbGlidG9vbDogaW5zdGFsbDogd2FybmluZzogYC9ob21lL3Bva3lidWlsZC95b2N0by1hdXRvYnVpbGRlci95b2N0by13b3JrZXIvbmlnaHRseS1xYS1sb2dyb3RhdGUvYnVpbGQvYnVpbGQvdG1wL3dvcmsveDg2XzY0LWxpbnV4L3N1YnZlcnNpb24tbmF0aXZlLzEuOC45LXIwL2J1aWxkL3N1YnZlcnNpb24vbGlic3ZuX3JhX3N2bi9saWJzdm5fcmFfc3ZuLTEubGEnIGhhcyBub3QgYmVlbiBpbnN0YWxsZWQgaW4gYC9ob21lL3Bva3lidWlsZC95b2N0by1hdXRvYnVpbGRlci95b2N0by13b3JrZXIvbmlnaHRseS1xYS1sb2dyb3RhdGUvYnVpbGQvYnVpbGQvdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliJ3wgeDg2XzY0LWxpbnV4LWxpYnRvb2w6IGluc3RhbGw6IHdhcm5pbmc6IGAvaG9tZS9wb2t5YnVpbGQveW9jdG8tYXV0b2J1aWxkZXIveW9jdG8td29ya2VyL25pZ2h0bHktcWEtbG9ncm90YXRlL2J1aWxkL2J1aWxkL3RtcC93b3JrL3g4Nl82NC1saW51eC9zdWJ2ZXJzaW9uLW5hdGl2ZS8xLjguOS1yMC9idWlsZC9zdWJ2ZXJzaW9uL2xpYnN2bl9yYV9zZXJmL2xpYnN2bl9yYV9zZXJmLTEubGEnIGhhcyBub3QgYmVlbiBpbnN0YWxsZWQgaW4gYC9ob21lL3Bva3lidWlsZC95b2N0by1hdXRvYnVpbGRlci95b2N0by13b3JrZXIvbmlnaHRseS1xYS1sb2dyb3RhdGUvYnVpbGQvYnVpbGQvdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliJwotI3wgeDg2XzY0LWxpbnV4LWxpYnRvb2w6IGluc3RhbGw6IGVycm9yOiByZWxpbmsgYGxpYnN2bl9yYV9zZXJmLTEubGEnIHdpdGggdGhlIGFib3ZlIGNvbW1hbmQgYmVmb3JlIGluc3RhbGxpbmcgaXQKLSN8IHg4Nl82NC1saW51eC1saWJ0b29sOiBpbnN0YWxsOiB3YXJuaW5nOiBgLi4vLi4vc3VidmVyc2lvbi9saWJzdm5fcmVwb3MvbGlic3ZuX3JlcG9zLTEubGEnIGhhcyBub3QgYmVlbiBpbnN0YWxsZWQgaW4gYC9ob21lL3Bva3lidWlsZC95b2N0by1hdXRvYnVpbGRlci95b2N0by13b3JrZXIvbmlnaHRseS1xYS1sb2dyb3RhdGUvYnVpbGQvYnVpbGQvdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliJwotI3wgL2hvbWUvcG9reWJ1aWxkL3lvY3RvLWF1dG9idWlsZGVyL3lvY3RvLXdvcmtlci9uaWdodGx5LXFhLWxvZ3JvdGF0ZS9idWlsZC9idWlsZC90bXAvd29yay94ODZfNjQtbGludXgvc3VidmVyc2lvbi1uYXRpdmUvMS44LjktcjAvc3VidmVyc2lvbi0xLjguOS9idWlsZC1vdXRwdXRzLm1rOjEwOTA6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsLXNlcmYtbGliJyBmYWlsZWQKLSN8IG1ha2U6ICoqKiBbaW5zdGFsbC1zZXJmLWxpYl0gRXJyb3IgMQotUEFSQUxMRUxfTUFLRUlOU1QgPSAiIgotCi1SREVQRU5EU18ke1BOfSA9ICJzZXJmIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N1YnZlcnNpb24vc3VidmVyc2lvbl8xLjExLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdWJ2ZXJzaW9uL3N1YnZlcnNpb25fMS4xMS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhYmFjNzQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdWJ2ZXJzaW9uL3N1YnZlcnNpb25fMS4xMS4xLmJiCkBAIC0wLDAgKzEsNTggQEAKK1NVTU1BUlkgPSAiU3VidmVyc2lvbiAoc3ZuKSB2ZXJzaW9uIGNvbnRyb2wgc3lzdGVtIGNsaWVudCIKK0hPTUVQQUdFID0gImh0dHA6Ly9zdWJ2ZXJzaW9uLmFwYWNoZS5vcmciCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIgJiBNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT04MzIwNmYzOTgxOWU3YTRkZmNhMmZmN2MxOTBmNmNlMCIKKworREVQRU5EUyA9ICJhcHItdXRpbCBzZXJmIHNxbGl0ZTMgZmlsZSBsejQiCitERVBFTkRTX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGZpbGUtcmVwbGFjZW1lbnQtbmF0aXZlIgorCitTUkNfVVJJID0gIiR7QVBBQ0hFX01JUlJPUn0vJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL2Rpc2FibGVfbWFjb3MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtbGlidG9vbC1uYW1lLWluLWNvbmZpZ3VyZS5hYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zZXJmbWFjcm8ucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1Nzk3YmY3MDFkMmQ4NjhmYTk2NGM3YmJjNDkzMTI2NyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5ZWZkMjc1MGNhNGQ3MmVjOTAzNDMxYTI0YjljNzMyYjZjYmI4NGFhZDliNzU2M2Y1OWRkOTZkZWE1YmU2MGJiIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dAorCitQQUNLQUdFQ09ORklHID89ICIiCisKK1BBQ0tBR0VDT05GSUdbc2FzbF0gPSAiLS13aXRoLXNhc2wsLS13aXRob3V0LXNhc2wsY3lydXMtc2FzbCIKK1BBQ0tBR0VDT05GSUdbZ25vbWUta2V5cmluZ10gPSAiLS13aXRoLWdub21lLWtleXJpbmcsLS13aXRob3V0LWdub21lLWtleXJpbmcsZ2xpYi0yLjAgZ25vbWUta2V5cmluZyIKKworRVhUUkFfT0VDT05GID0gIiBcCisgICAgLS13aXRoLWFwcj0ke1NUQUdJTkdfQklORElSX0NST1NTfSBcCisgICAgLS13aXRoLWFwci11dGlsPSR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9IFwKKyAgICAtLXdpdGhvdXQtYXB4cyBcCisgICAgLS13aXRob3V0LWJlcmtlbGV5LWRiIFwKKyAgICAtLXdpdGhvdXQtc3dpZyBcCisgICAgLS1kaXNhYmxlLWtleWNoYWluIFwKKyAgICAtLXdpdGgtdXRmOHByb2M9aW50ZXJuYWwgXAorICAgIGFjX2N2X3BhdGhfUlVCWT1ub25lIFwKKyIKKworYWNwYXRocyA9ICItSSBidWlsZC8gLUkgYnVpbGQvYWMtbWFjcm9zLyIKKworQ1BQRkxBR1MgKz0gIi1QIgorQlVJTERfQ1BQRkxBR1MgKz0gIi1QIgorCitkb19jb25maWd1cmVfcHJlcGVuZCAoKSB7CisJcm0gLWYgJHtTfS9saWJ0b29sCisJcm0gLWYgJHtTfS9idWlsZC9saWJ0b29sLm00ICR7U30vYnVpbGQvbHRtYWluLnNoICR7U30vYnVpbGQvbHRvcHRpb25zLm00ICR7U30vYnVpbGQvbHRzdWdhci5tNCAke1N9L2J1aWxkL2x0dmVyc2lvbi5tNCAke1N9L2J1aWxkL2x0fm9ic29sZXRlLm00CisJcm0gLWYgJHtTfS9hY2xvY2FsLm00CisJc2VkIC1pIC1lICdzOndpdGhfc2FzbD0iL3Vzci9sb2NhbCI6d2l0aF9zYXNsPSIke1NUQUdJTkdfRElSfSI6JyAke1N9L2J1aWxkL2FjLW1hY3Jvcy9zYXNsLm00Cit9CisKKyN8IHg4Nl82NC1saW51eC1saWJ0b29sOiBpbnN0YWxsOiB3YXJuaW5nOiBgL2hvbWUvcG9reWJ1aWxkL3lvY3RvLWF1dG9idWlsZGVyL3lvY3RvLXdvcmtlci9uaWdodGx5LXFhLWxvZ3JvdGF0ZS9idWlsZC9idWlsZC90bXAvd29yay94ODZfNjQtbGludXgvc3VidmVyc2lvbi1uYXRpdmUvMS44LjktcjAvYnVpbGQvc3VidmVyc2lvbi9saWJzdm5fcmFfbG9jYWwvbGlic3ZuX3JhX2xvY2FsLTEubGEnIGhhcyBub3QgYmVlbiBpbnN0YWxsZWQgaW4gYC9ob21lL3Bva3lidWlsZC95b2N0by1hdXRvYnVpbGRlci95b2N0by13b3JrZXIvbmlnaHRseS1xYS1sb2dyb3RhdGUvYnVpbGQvYnVpbGQvdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliJ3wgeDg2XzY0LWxpbnV4LWxpYnRvb2w6IGluc3RhbGw6IHdhcm5pbmc6IGAvaG9tZS9wb2t5YnVpbGQveW9jdG8tYXV0b2J1aWxkZXIveW9jdG8td29ya2VyL25pZ2h0bHktcWEtbG9ncm90YXRlL2J1aWxkL2J1aWxkL3RtcC93b3JrL3g4Nl82NC1saW51eC9zdWJ2ZXJzaW9uLW5hdGl2ZS8xLjguOS1yMC9idWlsZC9zdWJ2ZXJzaW9uL2xpYnN2bl9yZXBvcy9saWJzdm5fcmVwb3MtMS5sYScgaGFzIG5vdCBiZWVuIGluc3RhbGxlZCBpbiBgL2hvbWUvcG9reWJ1aWxkL3lvY3RvLWF1dG9idWlsZGVyL3lvY3RvLXdvcmtlci9uaWdodGx5LXFhLWxvZ3JvdGF0ZS9idWlsZC9idWlsZC90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWInfCAvdXNyL2Jpbi9sZDogY2Fubm90IGZpbmQgLWxzdm5fZGVsdGEtMXwgY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXN8IHg4Nl82NC1saW51eC1saWJ0b29sOiBpbnN0YWxsOiB3YXJuaW5nOiBgL2hvbWUvcG9reWJ1aWxkL3lvY3RvLWF1dG9idWlsZGVyL3lvY3RvLXdvcmtlci9uaWdodGx5LXFhLWxvZ3JvdGF0ZS9idWlsZC9idWlsZC90bXAvd29yay94ODZfNjQtbGludXgvc3VidmVyc2lvbi1uYXRpdmUvMS44LjktcjAvYnVpbGQvc3VidmVyc2lvbi9saWJzdm5fcmFfc3ZuL2xpYnN2bl9yYV9zdm4tMS5sYScgaGFzIG5vdCBiZWVuIGluc3RhbGxlZCBpbiBgL2hvbWUvcG9reWJ1aWxkL3lvY3RvLWF1dG9idWlsZGVyL3lvY3RvLXdvcmtlci9uaWdodGx5LXFhLWxvZ3JvdGF0ZS9idWlsZC9idWlsZC90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWInfCB4ODZfNjQtbGludXgtbGlidG9vbDogaW5zdGFsbDogd2FybmluZzogYC9ob21lL3Bva3lidWlsZC95b2N0by1hdXRvYnVpbGRlci95b2N0by13b3JrZXIvbmlnaHRseS1xYS1sb2dyb3RhdGUvYnVpbGQvYnVpbGQvdG1wL3dvcmsveDg2XzY0LWxpbnV4L3N1YnZlcnNpb24tbmF0aXZlLzEuOC45LXIwL2J1aWxkL3N1YnZlcnNpb24vbGlic3ZuX3JhX3NlcmYvbGlic3ZuX3JhX3NlcmYtMS5sYScgaGFzIG5vdCBiZWVuIGluc3RhbGxlZCBpbiBgL2hvbWUvcG9reWJ1aWxkL3lvY3RvLWF1dG9idWlsZGVyL3lvY3RvLXdvcmtlci9uaWdodGx5LXFhLWxvZ3JvdGF0ZS9idWlsZC9idWlsZC90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWInCisjfCB4ODZfNjQtbGludXgtbGlidG9vbDogaW5zdGFsbDogZXJyb3I6IHJlbGluayBgbGlic3ZuX3JhX3NlcmYtMS5sYScgd2l0aCB0aGUgYWJvdmUgY29tbWFuZCBiZWZvcmUgaW5zdGFsbGluZyBpdAorI3wgeDg2XzY0LWxpbnV4LWxpYnRvb2w6IGluc3RhbGw6IHdhcm5pbmc6IGAuLi8uLi9zdWJ2ZXJzaW9uL2xpYnN2bl9yZXBvcy9saWJzdm5fcmVwb3MtMS5sYScgaGFzIG5vdCBiZWVuIGluc3RhbGxlZCBpbiBgL2hvbWUvcG9reWJ1aWxkL3lvY3RvLWF1dG9idWlsZGVyL3lvY3RvLXdvcmtlci9uaWdodGx5LXFhLWxvZ3JvdGF0ZS9idWlsZC9idWlsZC90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWInCisjfCAvaG9tZS9wb2t5YnVpbGQveW9jdG8tYXV0b2J1aWxkZXIveW9jdG8td29ya2VyL25pZ2h0bHktcWEtbG9ncm90YXRlL2J1aWxkL2J1aWxkL3RtcC93b3JrL3g4Nl82NC1saW51eC9zdWJ2ZXJzaW9uLW5hdGl2ZS8xLjguOS1yMC9zdWJ2ZXJzaW9uLTEuOC45L2J1aWxkLW91dHB1dHMubWs6MTA5MDogcmVjaXBlIGZvciB0YXJnZXQgJ2luc3RhbGwtc2VyZi1saWInIGZhaWxlZAorI3wgbWFrZTogKioqIFtpbnN0YWxsLXNlcmYtbGliXSBFcnJvciAxCitQQVJBTExFTF9NQUtFSU5TVCA9ICIiCisKK1JERVBFTkRTXyR7UE59ID0gInNlcmYiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3dpZy9zd2lnLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N3aWcvc3dpZy5pbmMKaW5kZXggYWVjNTQ0OS4uMDBiOWM1YiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3dpZy9zd2lnLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zd2lnL3N3aWcuaW5jCkBAIC03LDcgKzcsNyBAQAogCiBTRUNUSU9OID0gImRldmVsIgogCi1ERVBFTkRTID0gImxpYnBjcmUiCitERVBFTkRTID0gImxpYnBjcmUgYmlzb24tbmF0aXZlIgogCiBTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci5neiIKIApAQCAtMzgsMTQgKzM4LDE0IEBACiAgICAgLS13aXRob3V0LXRjbCBcCiAiCiAKK0VYVFJBX0FVVE9SRUNPTkYgKz0gIi1JIFRvb2xzL2NvbmZpZyIKKwogQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgogCi1kb19jb25maWd1cmUoKSB7Ci0gICAgaW5zdGFsbCAtbSAwNzU1ICR7U1RBR0lOR19EQVRBRElSX05BVElWRX0vZ251LWNvbmZpZy9jb25maWcuZ3Vlc3MgJHtTfS9Ub29scy9jb25maWcKLSAgICBpbnN0YWxsIC1tIDA3NTUgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9nbnUtY29uZmlnL2NvbmZpZy5zdWIgJHtTfS9Ub29scy9jb25maWcKLSAgICBpbnN0YWxsIC1tIDA3NTUgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9nbnUtY29uZmlnL2NvbmZpZy5ndWVzcyAke1N9Ci0gICAgaW5zdGFsbCAtbSAwNzU1ICR7U1RBR0lOR19EQVRBRElSX05BVElWRX0vZ251LWNvbmZpZy9jb25maWcuc3ViICR7U30KLSAgICBvZV9ydW5jb25mCisjIG5lY2Vzc2FyeSB0b2dldGhlciB3aXRoIGJpc29uIGRlcGVuZGVuY3kgdW50aWwgYSBuZXcgdXBzdHJlYW0gdmVyc2lvbiBhZnRlcgorIyAzLjAuMTIgaW5jbHVkZXMgMDAwMS1GaXgtZ2VuZXJhdGVkLWNvZGUtZm9yLWNvbnN0YW50LWV4cHJlc3Npb25zLWNvbnRhaW5pLnBhdGNoCitkb19jb25maWd1cmVfYXBwZW5kKCkgeworICAgIG1rZGlyIC1wICR7Qn0vU291cmNlL0NQYXJzZQogfQogCiBkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsoKSB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zd2lnL3N3aWcvMDAwMS1GaXgtZ2VuZXJhdGVkLWNvZGUtZm9yLWNvbnN0YW50LWV4cHJlc3Npb25zLWNvbnRhaW5pLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3dpZy9zd2lnLzAwMDEtRml4LWdlbmVyYXRlZC1jb2RlLWZvci1jb25zdGFudC1leHByZXNzaW9ucy1jb250YWluaS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNGVkNzgyCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3dpZy9zd2lnLzAwMDEtRml4LWdlbmVyYXRlZC1jb2RlLWZvci1jb25zdGFudC1leHByZXNzaW9ucy1jb250YWluaS5wYXRjaApAQCAtMCwwICsxLDE3OSBAQAorRnJvbSA5MGJhMTc0ZmNlYTE2MThhZjU3YWE1OTQxOTk1NDFkNDdhODliN2Y2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogV2lsbGlhbSBTIEZ1bHRvbiA8d3NmQGZ1bHRvbmRlc2lnbnMuY28udWs+CitEYXRlOiBTdW4sIDE3IFNlcCAyMDE3IDE5OjAyOjU1ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMS8yXSBGaXggZ2VuZXJhdGVkIGNvZGUgZm9yIGNvbnN0YW50IGV4cHJlc3Npb25zIGNvbnRhaW5pbmcKKyB3Y2hhcl90IEwgbGl0ZXJhbHMuCisKK1N1Y2ggYXM6CisgICMgZGVmaW5lIF9fV0NIQVJfTUFYICAgICgweDdmZmZmZmZmICsgTCdcMCcpCisKK1JlcG9ydGVkIG9uIHN3aWctdXNlciBtYWlsaW5nIGxpc3QuCistLS0KKyBDSEFOR0VTLmN1cnJlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgNSArKysrKworIEV4YW1wbGVzL3Rlc3Qtc3VpdGUvY3NoYXJwL3ByZXByb2NfY29uc3RhbnRzX2NfcnVubWUuY3MgfCAzICsrLQorIEV4YW1wbGVzL3Rlc3Qtc3VpdGUvY3NoYXJwL3ByZXByb2NfY29uc3RhbnRzX3J1bm1lLmNzICAgfCAyICsrCisgRXhhbXBsZXMvdGVzdC1zdWl0ZS9kL3ByZXByb2NfY29uc3RhbnRzX2NfcnVubWUuMS5kICAgICB8IDIgKysKKyBFeGFtcGxlcy90ZXN0LXN1aXRlL2QvcHJlcHJvY19jb25zdGFudHNfY19ydW5tZS4yLmQgICAgIHwgMiArKworIEV4YW1wbGVzL3Rlc3Qtc3VpdGUvZC9wcmVwcm9jX2NvbnN0YW50c19ydW5tZS4xLmQgICAgICAgfCAyICsrCisgRXhhbXBsZXMvdGVzdC1zdWl0ZS9kL3ByZXByb2NfY29uc3RhbnRzX3J1bm1lLjIuZCAgICAgICB8IDIgKysKKyBFeGFtcGxlcy90ZXN0LXN1aXRlL3BocC9wcmVwcm9jX2NvbnN0YW50c19jX3J1bm1lLnBocCAgIHwgMiArKworIEV4YW1wbGVzL3Rlc3Qtc3VpdGUvcGhwL3ByZXByb2NfY29uc3RhbnRzX3J1bm1lLnBocCAgICAgfCAyICsrCisgRXhhbXBsZXMvdGVzdC1zdWl0ZS9waHA1L3ByZXByb2NfY29uc3RhbnRzX2NfcnVubWUucGhwICB8IDIgKysKKyBFeGFtcGxlcy90ZXN0LXN1aXRlL3BocDUvcHJlcHJvY19jb25zdGFudHNfcnVubWUucGhwICAgIHwgMiArKworIEV4YW1wbGVzL3Rlc3Qtc3VpdGUvcHJlcHJvY19jb25zdGFudHMuaSAgICAgICAgICAgICAgICAgfCAzICsrKworIFNvdXJjZS9DUGFyc2UvcGFyc2VyLnkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyICstCisgMTMgZmlsZXMgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorW2h0dHBzOi8vZ2l0aHViLmNvbS9zd2lnL3N3aWcvY29tbWl0LzkwYmExNzRmY2VhMTYxOGFmNTdhYTU5NDE5OTU0MWQ0N2E4OWI3ZjZdCitTaWduZWQtb2ZmLWJ5OiBMdWNhIEJvY2Nhc3NpIDxsdWNhLmJvY2Nhc3NpQG1pY3Jvc29mdC5jb20+CisKK2RpZmYgLS1naXQgYS9FeGFtcGxlcy90ZXN0LXN1aXRlL2NzaGFycC9wcmVwcm9jX2NvbnN0YW50c19jX3J1bm1lLmNzIGIvRXhhbXBsZXMvdGVzdC1zdWl0ZS9jc2hhcnAvcHJlcHJvY19jb25zdGFudHNfY19ydW5tZS5jcworaW5kZXggNzZjNjg0ZC4uMWMyOGU0OSAxMDA2NDQKKy0tLSBhL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvY3NoYXJwL3ByZXByb2NfY29uc3RhbnRzX2NfcnVubWUuY3MKKysrKyBiL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvY3NoYXJwL3ByZXByb2NfY29uc3RhbnRzX2NfcnVubWUuY3MKK0BAIC02MSw3ICs2MSw4IEBAIHB1YmxpYyBjbGFzcyBydW5tZSB7CisgICAgIGFzc2VydCggdHlwZW9mKGludCkgPT0gcHJlcHJvY19jb25zdGFudHNfYy5FWFBSX0xBTkQuR2V0VHlwZSgpICk7CisgICAgIGFzc2VydCggdHlwZW9mKGludCkgPT0gcHJlcHJvY19jb25zdGFudHNfYy5FWFBSX0xPUi5HZXRUeXBlKCkgKTsKKyAgICAgYXNzZXJ0KCB0eXBlb2YoZG91YmxlKSA9PSBwcmVwcm9jX2NvbnN0YW50c19jLkVYUFJfQ09ORElUSU9OQUwuR2V0VHlwZSgpICk7CistCisrICAgIGFzc2VydCggdHlwZW9mKGludCkgPT0gcHJlcHJvY19jb25zdGFudHNfYy5FWFBSX1dDSEFSX01BWC5HZXRUeXBlKCkgKTsKKysgICAgYXNzZXJ0KCB0eXBlb2YoaW50KSA9PSBwcmVwcm9jX2NvbnN0YW50c19jLkVYUFJfV0NIQVJfTUlOLkdldFR5cGUoKSApOworICAgfQorICAgc3RhdGljIHZvaWQgYXNzZXJ0KGJvb2wgYXNzZXJ0aW9uKSB7CisgICAgIGlmICghYXNzZXJ0aW9uKQorZGlmZiAtLWdpdCBhL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvY3NoYXJwL3ByZXByb2NfY29uc3RhbnRzX3J1bm1lLmNzIGIvRXhhbXBsZXMvdGVzdC1zdWl0ZS9jc2hhcnAvcHJlcHJvY19jb25zdGFudHNfcnVubWUuY3MKK2luZGV4IDlmYWU1OTEuLjZiMDJlMzAgMTAwNjQ0CistLS0gYS9FeGFtcGxlcy90ZXN0LXN1aXRlL2NzaGFycC9wcmVwcm9jX2NvbnN0YW50c19ydW5tZS5jcworKysrIGIvRXhhbXBsZXMvdGVzdC1zdWl0ZS9jc2hhcnAvcHJlcHJvY19jb25zdGFudHNfcnVubWUuY3MKK0BAIC02MCw2ICs2MCw4IEBAIHB1YmxpYyBjbGFzcyBydW5tZSB7CisgICAgIGFzc2VydCggdHlwZW9mKGJvb2wpID09IHByZXByb2NfY29uc3RhbnRzLkVYUFJfTEFORC5HZXRUeXBlKCkgKTsKKyAgICAgYXNzZXJ0KCB0eXBlb2YoYm9vbCkgPT0gcHJlcHJvY19jb25zdGFudHMuRVhQUl9MT1IuR2V0VHlwZSgpICk7CisgICAgIGFzc2VydCggdHlwZW9mKGRvdWJsZSkgPT0gcHJlcHJvY19jb25zdGFudHMuRVhQUl9DT05ESVRJT05BTC5HZXRUeXBlKCkgKTsKKysgICAgYXNzZXJ0KCB0eXBlb2YoaW50KSA9PSBwcmVwcm9jX2NvbnN0YW50cy5FWFBSX1dDSEFSX01BWC5HZXRUeXBlKCkgKTsKKysgICAgYXNzZXJ0KCB0eXBlb2YoaW50KSA9PSBwcmVwcm9jX2NvbnN0YW50cy5FWFBSX1dDSEFSX01JTi5HZXRUeXBlKCkgKTsKKyAKKyAgIH0KKyAgIHN0YXRpYyB2b2lkIGFzc2VydChib29sIGFzc2VydGlvbikgeworZGlmZiAtLWdpdCBhL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvZC9wcmVwcm9jX2NvbnN0YW50c19jX3J1bm1lLjEuZCBiL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvZC9wcmVwcm9jX2NvbnN0YW50c19jX3J1bm1lLjEuZAoraW5kZXggZDg0NmM3MS4uMmIzNDlhZiAxMDA2NDQKKy0tLSBhL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvZC9wcmVwcm9jX2NvbnN0YW50c19jX3J1bm1lLjEuZAorKysrIGIvRXhhbXBsZXMvdGVzdC1zdWl0ZS9kL3ByZXByb2NfY29uc3RhbnRzX2NfcnVubWUuMS5kCitAQCAtNjEsNCArNjEsNiBAQCB2b2lkIG1haW4oKSB7CisgICBzdGF0aWMgYXNzZXJ0KGlzKGludCA9PSB0eXBlb2YoRVhQUl9MQU5EKCkpKSk7CisgICBzdGF0aWMgYXNzZXJ0KGlzKGludCA9PSB0eXBlb2YoRVhQUl9MT1IoKSkpKTsKKyAgIHN0YXRpYyBhc3NlcnQoaXMoZG91YmxlID09IHR5cGVvZihFWFBSX0NPTkRJVElPTkFMKCkpKSk7CisrICBzdGF0aWMgYXNzZXJ0KGlzKGludCA9PSB0eXBlb2YoRVhQUl9XQ0hBUl9NQVgoKSkpKTsKKysgIHN0YXRpYyBhc3NlcnQoaXMoaW50ID09IHR5cGVvZihFWFBSX1dDSEFSX01JTigpKSkpOworIH0KK2RpZmYgLS1naXQgYS9FeGFtcGxlcy90ZXN0LXN1aXRlL2QvcHJlcHJvY19jb25zdGFudHNfY19ydW5tZS4yLmQgYi9FeGFtcGxlcy90ZXN0LXN1aXRlL2QvcHJlcHJvY19jb25zdGFudHNfY19ydW5tZS4yLmQKK2luZGV4IDliZGJiOTMuLjFiYWM1MjUgMTAwNjQ0CistLS0gYS9FeGFtcGxlcy90ZXN0LXN1aXRlL2QvcHJlcHJvY19jb25zdGFudHNfY19ydW5tZS4yLmQKKysrKyBiL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvZC9wcmVwcm9jX2NvbnN0YW50c19jX3J1bm1lLjIuZAorQEAgLTYxLDQgKzYxLDYgQEAgdm9pZCBtYWluKCkgeworICAgc3RhdGljIGFzc2VydChpcyhpbnQgPT0gdHlwZW9mKEVYUFJfTEFORCgpKSkpOworICAgc3RhdGljIGFzc2VydChpcyhpbnQgPT0gdHlwZW9mKEVYUFJfTE9SKCkpKSk7CisgICBzdGF0aWMgYXNzZXJ0KGlzKGRvdWJsZSA9PSB0eXBlb2YoRVhQUl9DT05ESVRJT05BTCgpKSkpOworKyAgc3RhdGljIGFzc2VydChpcyhpbnQgPT0gdHlwZW9mKEVYUFJfV0NIQVJfTUFYKCkpKSk7CisrICBzdGF0aWMgYXNzZXJ0KGlzKGludCA9PSB0eXBlb2YoRVhQUl9XQ0hBUl9NSU4oKSkpKTsKKyB9CitkaWZmIC0tZ2l0IGEvRXhhbXBsZXMvdGVzdC1zdWl0ZS9kL3ByZXByb2NfY29uc3RhbnRzX3J1bm1lLjEuZCBiL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvZC9wcmVwcm9jX2NvbnN0YW50c19ydW5tZS4xLmQKK2luZGV4IDAwOTQwNWYuLmY3NDNmNDggMTAwNjQ0CistLS0gYS9FeGFtcGxlcy90ZXN0LXN1aXRlL2QvcHJlcHJvY19jb25zdGFudHNfcnVubWUuMS5kCisrKysgYi9FeGFtcGxlcy90ZXN0LXN1aXRlL2QvcHJlcHJvY19jb25zdGFudHNfcnVubWUuMS5kCitAQCAtNjAsNCArNjAsNiBAQCB2b2lkIG1haW4oKSB7CisgICBzdGF0aWMgYXNzZXJ0KGlzKGJvb2wgPT0gdHlwZW9mKEVYUFJfTEFORCgpKSkpOworICAgc3RhdGljIGFzc2VydChpcyhib29sID09IHR5cGVvZihFWFBSX0xPUigpKSkpOworICAgc3RhdGljIGFzc2VydChpcyhkb3VibGUgPT0gdHlwZW9mKEVYUFJfQ09ORElUSU9OQUwoKSkpKTsKKysgIHN0YXRpYyBhc3NlcnQoaXMoaW50ID09IHR5cGVvZihFWFBSX1dDSEFSX01BWCgpKSkpOworKyAgc3RhdGljIGFzc2VydChpcyhpbnQgPT0gdHlwZW9mKEVYUFJfV0NIQVJfTUlOKCkpKSk7CisgfQorZGlmZiAtLWdpdCBhL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvZC9wcmVwcm9jX2NvbnN0YW50c19ydW5tZS4yLmQgYi9FeGFtcGxlcy90ZXN0LXN1aXRlL2QvcHJlcHJvY19jb25zdGFudHNfcnVubWUuMi5kCitpbmRleCAyZDkyZWYwLi4wZDk2YzM3IDEwMDY0NAorLS0tIGEvRXhhbXBsZXMvdGVzdC1zdWl0ZS9kL3ByZXByb2NfY29uc3RhbnRzX3J1bm1lLjIuZAorKysrIGIvRXhhbXBsZXMvdGVzdC1zdWl0ZS9kL3ByZXByb2NfY29uc3RhbnRzX3J1bm1lLjIuZAorQEAgLTYwLDQgKzYwLDYgQEAgdm9pZCBtYWluKCkgeworICAgc3RhdGljIGFzc2VydChpcyhib29sID09IHR5cGVvZihFWFBSX0xBTkQoKSkpKTsKKyAgIHN0YXRpYyBhc3NlcnQoaXMoYm9vbCA9PSB0eXBlb2YoRVhQUl9MT1IoKSkpKTsKKyAgIHN0YXRpYyBhc3NlcnQoaXMoZG91YmxlID09IHR5cGVvZihFWFBSX0NPTkRJVElPTkFMKCkpKSk7CisrICBzdGF0aWMgYXNzZXJ0KGlzKGludCA9PSB0eXBlb2YoRVhQUl9XQ0hBUl9NQVgoKSkpKTsKKysgIHN0YXRpYyBhc3NlcnQoaXMoaW50ID09IHR5cGVvZihFWFBSX1dDSEFSX01JTigpKSkpOworIH0KK2RpZmYgLS1naXQgYS9FeGFtcGxlcy90ZXN0LXN1aXRlL3BocC9wcmVwcm9jX2NvbnN0YW50c19jX3J1bm1lLnBocCBiL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvcGhwL3ByZXByb2NfY29uc3RhbnRzX2NfcnVubWUucGhwCitpbmRleCBhZjliNzZlLi5lNTlmZTE4IDEwMDY0NAorLS0tIGEvRXhhbXBsZXMvdGVzdC1zdWl0ZS9waHAvcHJlcHJvY19jb25zdGFudHNfY19ydW5tZS5waHAKKysrKyBiL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvcGhwL3ByZXByb2NfY29uc3RhbnRzX2NfcnVubWUucGhwCitAQCAtNjIsNSArNjIsNyBAQCBjaGVjazo6ZXF1YWwoZ2V0dHlwZShwcmVwcm9jX2NvbnN0YW50c19jOjpFWFBSX09SKSwgImludGVnZXIiLCAicHJlcHJvY19jb25zdGFudAorIGNoZWNrOjplcXVhbChnZXR0eXBlKHByZXByb2NfY29uc3RhbnRzX2M6OkVYUFJfTEFORCksICJpbnRlZ2VyIiwgInByZXByb2NfY29uc3RhbnRzLkVYUFJfTEFORCBoYXMgdW5leHBlY3RlZCB0eXBlIik7CisgY2hlY2s6OmVxdWFsKGdldHR5cGUocHJlcHJvY19jb25zdGFudHNfYzo6RVhQUl9MT1IpLCAiaW50ZWdlciIsICJwcmVwcm9jX2NvbnN0YW50cy5FWFBSX0xPUiBoYXMgdW5leHBlY3RlZCB0eXBlIik7CisgY2hlY2s6OmVxdWFsKGdldHR5cGUocHJlcHJvY19jb25zdGFudHNfYzo6RVhQUl9DT05ESVRJT05BTCksICJkb3VibGUiLCAicHJlcHJvY19jb25zdGFudHMuRVhQUl9DT05ESVRJT05BTCBoYXMgdW5leHBlY3RlZCB0eXBlIik7CisrY2hlY2s6OmVxdWFsKGdldHR5cGUocHJlcHJvY19jb25zdGFudHNfYzo6RVhQUl9XQ0hBUl9NQVgpLCAiaW50ZWdlciIsICJwcmVwcm9jX2NvbnN0YW50cy5FWFBSX1dDSEFSX01BWCBoYXMgdW5leHBlY3RlZCB0eXBlIik7CisrY2hlY2s6OmVxdWFsKGdldHR5cGUocHJlcHJvY19jb25zdGFudHNfYzo6RVhQUl9XQ0hBUl9NSU4pLCAiaW50ZWdlciIsICJwcmVwcm9jX2NvbnN0YW50cy5FWFBSX1dDSEFSX01JTiBoYXMgdW5leHBlY3RlZCB0eXBlIik7CisgCisgPz4KK2RpZmYgLS1naXQgYS9FeGFtcGxlcy90ZXN0LXN1aXRlL3BocC9wcmVwcm9jX2NvbnN0YW50c19ydW5tZS5waHAgYi9FeGFtcGxlcy90ZXN0LXN1aXRlL3BocC9wcmVwcm9jX2NvbnN0YW50c19ydW5tZS5waHAKK2luZGV4IDVjOTExOWIuLjhlMTE3ZWEgMTAwNjQ0CistLS0gYS9FeGFtcGxlcy90ZXN0LXN1aXRlL3BocC9wcmVwcm9jX2NvbnN0YW50c19ydW5tZS5waHAKKysrKyBiL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvcGhwL3ByZXByb2NfY29uc3RhbnRzX3J1bm1lLnBocAorQEAgLTYxLDUgKzYxLDcgQEAgY2hlY2s6OmVxdWFsKGdldHR5cGUocHJlcHJvY19jb25zdGFudHM6OkVYUFJfT1IpLCAiaW50ZWdlciIsICJwcmVwcm9jX2NvbnN0YW50cy4KKyBjaGVjazo6ZXF1YWwoZ2V0dHlwZShwcmVwcm9jX2NvbnN0YW50czo6RVhQUl9MQU5EKSwgImJvb2xlYW4iLCAicHJlcHJvY19jb25zdGFudHMuRVhQUl9MQU5EIGhhcyB1bmV4cGVjdGVkIHR5cGUiKTsKKyBjaGVjazo6ZXF1YWwoZ2V0dHlwZShwcmVwcm9jX2NvbnN0YW50czo6RVhQUl9MT1IpLCAiYm9vbGVhbiIsICJwcmVwcm9jX2NvbnN0YW50cy5FWFBSX0xPUiBoYXMgdW5leHBlY3RlZCB0eXBlIik7CisgY2hlY2s6OmVxdWFsKGdldHR5cGUocHJlcHJvY19jb25zdGFudHM6OkVYUFJfQ09ORElUSU9OQUwpLCAiZG91YmxlIiwgInByZXByb2NfY29uc3RhbnRzLkVYUFJfQ09ORElUSU9OQUwgaGFzIHVuZXhwZWN0ZWQgdHlwZSIpOworK2NoZWNrOjplcXVhbChnZXR0eXBlKHByZXByb2NfY29uc3RhbnRzOjpFWFBSX1dDSEFSX01BWCksICJpbnRlZ2VyIiwgInByZXByb2NfY29uc3RhbnRzLkVYUFJfV0NIQVJfTUFYIGhhcyB1bmV4cGVjdGVkIHR5cGUiKTsKKytjaGVjazo6ZXF1YWwoZ2V0dHlwZShwcmVwcm9jX2NvbnN0YW50czo6RVhQUl9XQ0hBUl9NSU4pLCAiaW50ZWdlciIsICJwcmVwcm9jX2NvbnN0YW50cy5FWFBSX1dDSEFSX01JTiBoYXMgdW5leHBlY3RlZCB0eXBlIik7CisgCisgPz4KK2RpZmYgLS1naXQgYS9FeGFtcGxlcy90ZXN0LXN1aXRlL3BocDUvcHJlcHJvY19jb25zdGFudHNfY19ydW5tZS5waHAgYi9FeGFtcGxlcy90ZXN0LXN1aXRlL3BocDUvcHJlcHJvY19jb25zdGFudHNfY19ydW5tZS5waHAKK2luZGV4IDFlYTAxOTUuLmQ5NzhmYWIgMTAwNjQ0CistLS0gYS9FeGFtcGxlcy90ZXN0LXN1aXRlL3BocDUvcHJlcHJvY19jb25zdGFudHNfY19ydW5tZS5waHAKKysrKyBiL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvcGhwNS9wcmVwcm9jX2NvbnN0YW50c19jX3J1bm1lLnBocAorQEAgLTYyLDUgKzYyLDcgQEAgY2hlY2s6OmVxdWFsKGdldHR5cGUocHJlcHJvY19jb25zdGFudHNfYzo6RVhQUl9PUiksICJpbnRlZ2VyIiwgInByZXByb2NfY29uc3RhbnQKKyBjaGVjazo6ZXF1YWwoZ2V0dHlwZShwcmVwcm9jX2NvbnN0YW50c19jOjpFWFBSX0xBTkQpLCAiaW50ZWdlciIsICJwcmVwcm9jX2NvbnN0YW50cy5FWFBSX0xBTkQgaGFzIHVuZXhwZWN0ZWQgdHlwZSIpOworIGNoZWNrOjplcXVhbChnZXR0eXBlKHByZXByb2NfY29uc3RhbnRzX2M6OkVYUFJfTE9SKSwgImludGVnZXIiLCAicHJlcHJvY19jb25zdGFudHMuRVhQUl9MT1IgaGFzIHVuZXhwZWN0ZWQgdHlwZSIpOworIGNoZWNrOjplcXVhbChnZXR0eXBlKHByZXByb2NfY29uc3RhbnRzX2M6OkVYUFJfQ09ORElUSU9OQUwpLCAiZG91YmxlIiwgInByZXByb2NfY29uc3RhbnRzLkVYUFJfQ09ORElUSU9OQUwgaGFzIHVuZXhwZWN0ZWQgdHlwZSIpOworK2NoZWNrOjplcXVhbChnZXR0eXBlKHByZXByb2NfY29uc3RhbnRzX2M6OkVYUFJfV0NIQVJfTUFYKSwgImludGVnZXIiLCAicHJlcHJvY19jb25zdGFudHMuRVhQUl9XQ0hBUl9NQVggaGFzIHVuZXhwZWN0ZWQgdHlwZSIpOworK2NoZWNrOjplcXVhbChnZXR0eXBlKHByZXByb2NfY29uc3RhbnRzX2M6OkVYUFJfV0NIQVJfTUlOKSwgImludGVnZXIiLCAicHJlcHJvY19jb25zdGFudHMuRVhQUl9XQ0hBUl9NSU4gaGFzIHVuZXhwZWN0ZWQgdHlwZSIpOworIAorID8+CitkaWZmIC0tZ2l0IGEvRXhhbXBsZXMvdGVzdC1zdWl0ZS9waHA1L3ByZXByb2NfY29uc3RhbnRzX3J1bm1lLnBocCBiL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvcGhwNS9wcmVwcm9jX2NvbnN0YW50c19ydW5tZS5waHAKK2luZGV4IGZiOWVlNGYuLjc1MjcwMjYgMTAwNjQ0CistLS0gYS9FeGFtcGxlcy90ZXN0LXN1aXRlL3BocDUvcHJlcHJvY19jb25zdGFudHNfcnVubWUucGhwCisrKysgYi9FeGFtcGxlcy90ZXN0LXN1aXRlL3BocDUvcHJlcHJvY19jb25zdGFudHNfcnVubWUucGhwCitAQCAtNzAsNSArNzAsNyBAQCBjaGVjazo6ZXF1YWwoZ2V0dHlwZShwcmVwcm9jX2NvbnN0YW50czo6RVhQUl9MQU5EKSwgImludGVnZXIiLCAicHJlcHJvY19jb25zdGFudAorIGNoZWNrOjplcXVhbChnZXR0eXBlKHByZXByb2NfY29uc3RhbnRzOjpFWFBSX0xPUiksICJpbnRlZ2VyIiwgInByZXByb2NfY29uc3RhbnRzLkVYUFJfTE9SIGhhcyB1bmV4cGVjdGVkIHR5cGUiKTsKKyAKKyBjaGVjazo6ZXF1YWwoZ2V0dHlwZShwcmVwcm9jX2NvbnN0YW50czo6RVhQUl9DT05ESVRJT05BTCksICJkb3VibGUiLCAicHJlcHJvY19jb25zdGFudHMuRVhQUl9DT05ESVRJT05BTCBoYXMgdW5leHBlY3RlZCB0eXBlIik7CisrY2hlY2s6OmVxdWFsKGdldHR5cGUocHJlcHJvY19jb25zdGFudHM6OkVYUFJfV0NIQVJfTUFYKSwgImludGVnZXIiLCAicHJlcHJvY19jb25zdGFudHMuRVhQUl9XQ0hBUl9NQVggaGFzIHVuZXhwZWN0ZWQgdHlwZSIpOworK2NoZWNrOjplcXVhbChnZXR0eXBlKHByZXByb2NfY29uc3RhbnRzOjpFWFBSX1dDSEFSX01JTiksICJpbnRlZ2VyIiwgInByZXByb2NfY29uc3RhbnRzLkVYUFJfV0NIQVJfTUlOIGhhcyB1bmV4cGVjdGVkIHR5cGUiKTsKKyAKKyA/PgorZGlmZiAtLWdpdCBhL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvcHJlcHJvY19jb25zdGFudHMuaSBiL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvcHJlcHJvY19jb25zdGFudHMuaQoraW5kZXggM2E5OTlhZC4uMTZiNDRjOSAxMDA2NDQKKy0tLSBhL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvcHJlcHJvY19jb25zdGFudHMuaQorKysrIGIvRXhhbXBsZXMvdGVzdC1zdWl0ZS9wcmVwcm9jX2NvbnN0YW50cy5pCitAQCAtODcsNiArODcsOSBAQAorICNkZWZpbmUgRVhQUl9MT1IgICAgICAgICAweEZGIHx8IDEKKyAjZGVmaW5lIEVYUFJfQ09ORElUSU9OQUwgdHJ1ZSA/IDIgOiAyLjIKKyAKKysjZGVmaW5lIEVYUFJfV0NIQVJfTUFYICAgKDB4N2ZmZmZmZmYgKyBMJ1wwJykKKysjZGVmaW5lIEVYUFJfV0NIQVJfTUlOICAgKC1FWFBSX1dDSEFSX01BWCAtIDEpCisrCisgI2RlZmluZSBFWFBSX0NIQVJfQ09NUE9VTkRfQUREICdBJyArIDEyCisgI2RlZmluZSBFWFBSX0NIQVJfQ09NUE9VTkRfTFNISUZUICdCJyA8PCA2CisgI2RlZmluZSBIX1NVUFBSRVNTX1NDQUxJTkdfTUFHSUMgKCgncyc8PDI0KSB8ICgndSc8PDE2KSB8ICgncCc8PDgpIHwgJ3AnKQorZGlmZiAtLWdpdCBhL1NvdXJjZS9DUGFyc2UvcGFyc2VyLnkgYi9Tb3VyY2UvQ1BhcnNlL3BhcnNlci55CitpbmRleCAyZTkyY2QwLi4yNzNkYWRiIDEwMDY0NAorLS0tIGEvU291cmNlL0NQYXJzZS9wYXJzZXIueQorKysrIGIvU291cmNlL0NQYXJzZS9wYXJzZXIueQorQEAgLTE5NCw3ICsxOTQsNyBAQCBpbnQgU1dJR19jcGFyc2VfdGVtcGxhdGVfcmVkdWNlKGludCB0cmVkdWNlKSB7CisgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKyAKKyBzdGF0aWMgaW50IHByb21vdGVfdHlwZShpbnQgdCkgeworLSAgaWYgKHQgPD0gVF9VQ0hBUiB8fCB0ID09IFRfQ0hBUikgcmV0dXJuIFRfSU5UOworKyAgaWYgKHQgPD0gVF9VQ0hBUiB8fCB0ID09IFRfQ0hBUiB8fCB0ID09IFRfV0NIQVIpIHJldHVybiBUX0lOVDsKKyAgIHJldHVybiB0OworIH0KKyAKKy0tIAorMi45LjUKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3dpZy9zd2lnXzMuMC4xMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N3aWcvc3dpZ18zLjAuMTIuYmIKaW5kZXggZmU5ZDA3NC4uNDUwMjZjOSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3dpZy9zd2lnXzMuMC4xMi5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zd2lnL3N3aWdfMy4wLjEyLmJiCkBAIC01LDYgKzUsNyBAQAogICAgICAgICAgICAgZmlsZTovLzAwMDEtQWRkLU5vZGUtNy54LWFrYS1WOC01LjItc3VwcG9ydC5wYXRjaCBcCiAgICAgICAgICAgICBmaWxlOi8vc3dpZy0zLjAuMTItQ292ZXJpdHktZml4LWlzc3VlLXJlcG9ydGVkLWZvci1TV0lHX1B5dGhvbl9GaXhNZXRoby5wYXRjaCBcCiAgICAgICAgICAgICBmaWxlOi8vUHl0aG9uLUZpeC1uZXctR0NDOC13YXJuaW5ncy1pbi1nZW5lcmF0ZWQtY29kZS5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtZ2VuZXJhdGVkLWNvZGUtZm9yLWNvbnN0YW50LWV4cHJlc3Npb25zLWNvbnRhaW5pLnBhdGNoIFwKICAgICAgICAgICAgIgogU1JDX1VSSVttZDVzdW1dID0gIjgyMTMzZGZhN2JiYTc1ZmY5YWQ5OGE3MDQ2YmU2ODdjIgogU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdjZjlmNDQ3YWU3ZWQxYzUxNzIyZWZjNDVlN2YxNDQxOGQxNWQ3YTFlMTQzYWM5ZjA5YTY2ODk5OWY0ZmM5NGQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zeXNsaW51eC9zeXNsaW51eC8wMDAxLWluc3RhbGwtZG9uLXQtaW5zdGFsbC1vYnNvbGV0ZS1maWxlLWNvbTMyLmxkLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3lzbGludXgvc3lzbGludXgvMDAwMS1pbnN0YWxsLWRvbi10LWluc3RhbGwtb2Jzb2xldGUtZmlsZS1jb20zMi5sZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZmQ3ZjQxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3lzbGludXgvc3lzbGludXgvMDAwMS1pbnN0YWxsLWRvbi10LWluc3RhbGwtb2Jzb2xldGUtZmlsZS1jb20zMi5sZC5wYXRjaApAQCAtMCwwICsxLDMyIEBACitGcm9tIGJmNmRiNWI0OGVjMjVmODM5MzlmMWZkZWJiNTkwMjhiYzNjNDBiMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiAiSC4gUGV0ZXIgQW52aW4gKEludGVsKSIgPGhwYUB6eXRvci5jb20+CitEYXRlOiBXZWQsIDYgRmViIDIwMTkgMTE6MzA6NTEgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gaW5zdGFsbDogZG9uJ3QgaW5zdGFsbCBvYnNvbGV0ZSBmaWxlIGNvbTMyLmxkCisKK2NvbTMyLmxkIGhhcyBiZWVuIG9ic29sZXRlIGZvciBhIGxvbmcgdGltZSwgYW5kIGhhcyBiZWVuIHJlbW92ZWQgbm93OworZG9uJ3QgaW5zdGFsbCBpdCBlaXRoZXIuCisKK1JlcG9ydGVkLWJ5OiBKb2FraW0gVGplcm5sdW5kIDxKb2FraW0uVGplcm5sdW5kQGluZmluZXJhLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEguIFBldGVyIEFudmluIChJbnRlbCkgPGhwYUB6eXRvci5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKK1NpZ25lZC1vZmYtYnk6IEFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+CistLS0KKyBjb20zMi9saWIvTWFrZWZpbGUgfCAxIC0KKyAxIGZpbGUgY2hhbmdlZCwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvY29tMzIvbGliL01ha2VmaWxlIGIvY29tMzIvbGliL01ha2VmaWxlCitpbmRleCA3NGZmZjE0OS4uNmE5MzE0OTIgMTAwNjQ0CistLS0gYS9jb20zMi9saWIvTWFrZWZpbGUKKysrKyBiL2NvbTMyL2xpYi9NYWtlZmlsZQorQEAgLTExMyw3ICsxMTMsNiBAQCBzcG90bGVzczogY2xlYW4KKyAKKyBpbnN0YWxsOiBhbGwKKyAJbWtkaXIgLW0gNzU1IC1wICQoSU5TVEFMTFJPT1QpJChDT00zMkRJUikKKy0JaW5zdGFsbCAtbSA2NDQgJChTUkMpL2NvbTMyLmxkICQoSU5TVEFMTFJPT1QpJChDT00zMkRJUikKKyAJLXJtIC1yZiAkKElOU1RBTExST09UKSQoQ09NMzJESVIpL2luY2x1ZGUKKyAJY3AgLXIgJChTUkMpLy4uL2luY2x1ZGUgJChJTlNUQUxMUk9PVCkkKENPTTMyRElSKQorIAorLS0gCisyLjE3LjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3lzbGludXgvc3lzbGludXgvMDAwOC1saWJpbnN0YWxsZXItc3lzbGludXhleHQtaW1wbGVtZW50LXN5c2xpbnV4X3BhdGNoX2JvLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3lzbGludXgvc3lzbGludXgvMDAwOC1saWJpbnN0YWxsZXItc3lzbGludXhleHQtaW1wbGVtZW50LXN5c2xpbnV4X3BhdGNoX2JvLnBhdGNoCmluZGV4IDI0MDBjOTguLmYxZDAxZmEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N5c2xpbnV4L3N5c2xpbnV4LzAwMDgtbGliaW5zdGFsbGVyLXN5c2xpbnV4ZXh0LWltcGxlbWVudC1zeXNsaW51eF9wYXRjaF9iby5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zeXNsaW51eC9zeXNsaW51eC8wMDA4LWxpYmluc3RhbGxlci1zeXNsaW51eGV4dC1pbXBsZW1lbnQtc3lzbGludXhfcGF0Y2hfYm8ucGF0Y2gKQEAgLTEsOCArMSw3IEBACi1Gcm9tIDc4ZDc2Yjg3YTRiODU1ZTZiNjYxYWU0NTcyODNhNjNmMzg1YzA0YzkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGVmY2U4N2U1YWI5ODY2NGM1N2U1ZjRlMzk1NWEyZjM3NDdkZjU3MzcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KIERhdGU6IEZyaSwgMiBKYW4gMjAxNSAxMjoyNjo0NiArMDgwMAotU3ViamVjdDogW1BBVENIIDgvOV0gbGliaW5zdGFsbGVyL3N5c2xpbnV4ZXh0OiBpbXBsZW1lbnQKLSBzeXNsaW51eF9wYXRjaF9ib290c2VjdCgpCitTdWJqZWN0OiBbUEFUQ0hdIGxpYmluc3RhbGxlci9zeXNsaW51eGV4dDogaW1wbGVtZW50IHN5c2xpbnV4X3BhdGNoX2Jvb3RzZWN0KCkKIAogTW92ZSB0aGUgcmVsYXRlZCBmcm9tIGV4dGxpbnV4L21haW4uYyB0byBsaWJpbnN0YWxsZXIvc3lzbGludXhleHQuYywgdGhlCiBzeXNsaW51eF9wYXRjaF9ib290c2VjdCgpIGFyZSB1c2VkIGJ5IGJvdGggZXh0bGludXgvbWFpbi5jIGFuZApAQCAtMTIsMTcgKzExLDIxIEBACiAKIFNpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgogVGVzdGVkLWJ5OiBEdSBEb2xwaGVyIDxkb2xwaGVyLmR1QGludGVsLmNvbT4KKworRWRpdGVkIHRvIGluY2x1ZGUgc3lzbWFjcm9zLmgKKworU2lnbmVkLW9mZi1ieTogQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4KIC0tLQogIGV4dGxpbnV4L01ha2VmaWxlICAgICAgICAgIHwgICAzICstCi0gZXh0bGludXgvbWFpbi5jICAgICAgICAgICAgfCAxNjcgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBsaWJpbnN0YWxsZXIvc3lzbGludXhleHQuYyB8IDE3MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKLSAzIGZpbGVzIGNoYW5nZWQsIDE3NSBpbnNlcnRpb25zKCspLCAxNjUgZGVsZXRpb25zKC0pCisgZXh0bGludXgvbWFpbi5jICAgICAgICAgICAgfCAxNjcgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgbGliaW5zdGFsbGVyL3N5c2xpbnV4ZXh0LmMgfCAxNzEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDMgZmlsZXMgY2hhbmdlZCwgMTc2IGluc2VydGlvbnMoKyksIDE2NSBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2V4dGxpbnV4L01ha2VmaWxlIGIvZXh0bGludXgvTWFrZWZpbGUKLWluZGV4IDAyZDFkYjUuLjkwZGQ5MmYgMTAwNjQ0CitpbmRleCAxNzIxZWU1NC4uNjJhNDk3MjggMTAwNjQ0CiAtLS0gYS9leHRsaW51eC9NYWtlZmlsZQogKysrIGIvZXh0bGludXgvTWFrZWZpbGUKLUBAIC0zMSw3ICszMSw4IEBAIFNSQ1MgICAgID0gbWFpbi5jIFwKK0BAIC0zMiw3ICszMiw4IEBAIFNSQ1MgICAgID0gbWFpbi5jIFwKICAJICAgLi4vbGliaW5zdGFsbGVyL2FkdmlvLmMgXAogIAkgICAuLi9saWJpbnN0YWxsZXIvYm9vdHNlY3RfYmluLmMgXAogIAkgICAuLi9saWJpbnN0YWxsZXIvbGRsaW51eGMzMl9iaW4uYyBcCkBAIC0zMywxMCArMzYsMTAgQEAKICAKICAuU1VGRklYRVM6IC5jIC5vIC5pIC5zIC5TCiBkaWZmIC0tZ2l0IGEvZXh0bGludXgvbWFpbi5jIGIvZXh0bGludXgvbWFpbi5jCi1pbmRleCAwOTc0MGJkLi42ZmUwMjZlIDEwMDY0NAoraW5kZXggZWJmZjdlYWUuLjlhZGQ1MGZiIDEwMDY0NAogLS0tIGEvZXh0bGludXgvbWFpbi5jCiArKysgYi9leHRsaW51eC9tYWluLmMKLUBAIC02MCw2ICs2MCw3IEBACitAQCAtNjIsNiArNjIsNyBAQAogICNpbmNsdWRlICJzZXRhZHYuaCIKICAjaW5jbHVkZSAic3lzbHhvcHQuaCIgLyogdW5pZmllZCBvcHRpb25zICovCiAgI2luY2x1ZGUgIm1vdW50aW5mby5oIgpAQCAtNDQsNyArNDcsNyBAQAogIAogICNpZmRlZiBERUJVRwogICMgZGVmaW5lIGRwcmludGYgcHJpbnRmCi1AQCAtNjcsMTAgKzY4LDYgQEAKK0BAIC02OSwxMCArNzAsNiBAQAogICMgZGVmaW5lIGRwcmludGYoLi4uKSAoKHZvaWQpMCkKICAjZW5kaWYKICAKQEAgLTU1LDEwICs1OCwxMSBAQAogIC8qIFNpbmNlIHdlIGhhdmUgdW51c2VkIDIwNDggYnl0ZXMgaW4gdGhlIHByaW1hcnkgQUcgb2YgYW4gWEZTIHBhcnRpdGlvbiwKICAgKiB3ZSB3aWxsIHVzZSB0aGUgZmlyc3QgMH41MTIgYnl0ZXMgc3RhcnRpbmcgZnJvbSAyMDQ4IGZvciB0aGUgU3lzbGludXgKICAgKiBib290IHNlY3Rvci4KLUBAIC05MiwxMzYgKzg5LDYgQEAgc3RhdGljIGNoYXIgc3Vidm9sW0JUUkZTX1NVQlZPTF9NQVhdOworQEAgLTkzLDEzNiArOTAsNiBAQCBzdGF0aWMgY2hhciBzdWJ2b2xbQlRSRlNfU1VCVk9MX01BWF07CisgI2RlZmluZSBCVFJGU19BRFZfT0ZGU0VUIChCVFJGU19CT09UX0FSRUFfQV9PRkZTRVQgKyBCVFJGU19CT09UX0FSRUFfQV9TSVpFIFwKICAJCQkgIC0gMipBRFZfU0laRSkKICAKLSAvKgorLS8qCiAtICogR2V0IHRoZSBzaXplIG9mIGEgYmxvY2sgZGV2aWNlCiAtICovCiAtc3RhdGljIHVpbnQ2NF90IGdldF9zaXplKGludCBkZXZmZCkKQEAgLTE4OCwxMSArMTkyLDEwIEBACiAtICAgIHJldHVybiBydjsKIC19CiAtCi0tLyoKKyAvKgogICAqIFF1ZXJ5IHRoZSBkZXZpY2UgZ2VvbWV0cnkgYW5kIHB1dCBpdCBpbnRvIHRoZSBib290IHNlY3Rvci4KICAgKiBNYXAgdGhlIGZpbGUgYW5kIHB1dCB0aGUgbWFwIGluIHRoZSBib290IHNlY3RvciBhbmQgZmlsZS4KLSAgKiBTdGljayB0aGUgImN1cnJlbnQgZGlyZWN0b3J5IiBpbm9kZSBudW1iZXIgaW50byB0aGUgZmlsZS4KLUBAIC0yMzEsMTEgKzk4LDggQEAgb2s6CitAQCAtMjMzLDExICsxMDAsOCBAQCBvazoKICBzdGF0aWMgaW50IHBhdGNoX2ZpbGVfYW5kX2Jvb3RibG9jayhpbnQgZmQsIGNvbnN0IGNoYXIgKmRpciwgaW50IGRldmZkKQogIHsKICAgICAgc3RydWN0IHN0YXQgZGlyc3QsIHhkc3Q7CkBAIC0yMDQsNyArMjA3LDcgQEAKICAgICAgY2hhciAqZGlycGF0aCwgKnN1YnBhdGgsICp4ZGlycGF0aDsKICAgICAgaW50IHJ2OwogIAotQEAgLTI3OSwzMyArMTQzLDggQEAgc3RhdGljIGludCBwYXRjaF9maWxlX2FuZF9ib290YmxvY2soaW50IGZkLCBjb25zdCBjaGFyICpkaXIsIGludCBkZXZmZCkKK0BAIC0yODEsMzMgKzE0NSw4IEBAIHN0YXRpYyBpbnQgcGF0Y2hfZmlsZV9hbmRfYm9vdGJsb2NrKGludCBmZCwgY29uc3QgY2hhciAqZGlyLCBpbnQgZGV2ZmQpCiAgICAgIC8qIE5vdyBzdWJwYXRoIHNob3VsZCBjb250YWluIHRoZSBwYXRoIHJlbGF0aXZlIHRvIHRoZSBmcyBiYXNlICovCiAgICAgIGRwcmludGYoInN1YnBhdGggPSAlc1xuIiwgc3VicGF0aCk7CiAgCkBAIC0yNDEsMTQgKzI0NCwxNSBAQAogICAgICAvKiBDb25zdHJ1Y3QgdGhlIGJvb3QgZmlsZSBtYXAgKi8KICAKIGRpZmYgLS1naXQgYS9saWJpbnN0YWxsZXIvc3lzbGludXhleHQuYyBiL2xpYmluc3RhbGxlci9zeXNsaW51eGV4dC5jCi1pbmRleCBiYjU0Y2VmLi41YTQ0MjNiIDEwMDY0NAoraW5kZXggYmI1NGNlZmMuLjlhZTgyODg0IDEwMDY0NAogLS0tIGEvbGliaW5zdGFsbGVyL3N5c2xpbnV4ZXh0LmMKICsrKyBiL2xpYmluc3RhbGxlci9zeXNsaW51eGV4dC5jCi1AQCAtMSw3ICsxLDE3NyBAQAorQEAgLTEsNyArMSwxNzggQEAKICAjZGVmaW5lIF9HTlVfU09VUkNFCiAgCiArI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CiArI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorKyNpbmNsdWRlIDxzeXMvc3lzbWFjcm9zLmg+CiArI2luY2x1ZGUgPGdldG9wdC5oPgogKyNpbmNsdWRlIDxleHQyZnMvZXh0MmZzLmg+CiArCkBAIC00MjMsNSArNDI3LDUgQEAKICB9CiAgCiAtLSAKLTEuOS4xCisyLjE3LjEKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3lzbGludXgvc3lzbGludXgvMDAxMC1nY2M0Ni1jb21wYXRpYmlsaXR5LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3lzbGludXgvc3lzbGludXgvMDAxMC1nY2M0Ni1jb21wYXRpYmlsaXR5LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2Mjc5MjU4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N5c2xpbnV4L3N5c2xpbnV4LzAwMTAtZ2NjNDYtY29tcGF0aWJpbGl0eS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLWRvbid0IGJyZWFrIHdpdGggb2xkIGNvbXBpbGVycyBhbmQgLURHTlVfRUZJX1VTRV9NU19BQkkKLUl0J3MgZW50aXJlbHkgbGVnaXRpbWF0ZSB0byByZXF1ZXN0IEdOVV9FRklfVVNFX01TX0FCSSBldmVuIGlmIHRoZSBjdXJyZW50Ci1jb21waWxlciBkb2Vzbid0IHN1cHBvcnQgaXQsIGFuZCBnbnUtZWZpIHNob3VsZCB0cmFuc3BhcmVudGx5IGZhbGwgYmFjayB0bwotdXNpbmcgbGVnYWN5IHRlY2huaXF1ZXMgdG8gc2V0IHRoZSBjYWxsaW5nIGNvbnZlbnRpb24uICBXZSBkb24ndCBnZXQgdHlwZQotY2hlY2tpbmcsIGJ1dCBhdCBsZWFzdCBpdCB3aWxsIHN0aWxsIGNvbXBpbGUuCi0KLUFkYXB0ZWQgZnJvbSBnbnUtZWZpCi0KLUF1dGhvcjogU3RldmUgTGFuZ2FzZWsgPHN0ZXZlLmxhbmdhc2VrQHVidW50dS5jb20+Ci1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotSW5kZXg6IHN5c2xpbnV4LTYuMDMvZWZpNjQvaW5jbHVkZS9lZmkveDg2XzY0L2VmaWJpbmQuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHN5c2xpbnV4LTYuMDMub3JpZy9lZmk2NC9pbmNsdWRlL2VmaS94ODZfNjQvZWZpYmluZC5oCi0rKysgc3lzbGludXgtNi4wMy9lZmk2NC9pbmNsdWRlL2VmaS94ODZfNjQvZWZpYmluZC5oCi1AQCAtMjUsOCArMjUsNiBAQCBSZXZpc2lvbiBIaXN0b3J5Ci0gI2lmIGRlZmluZWQoR05VX0VGSV9VU0VfTVNfQUJJKQotICAgICAjaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgKF9fR05VQ19fID4gNCB8fCAoX19HTlVDX18gPT0gNCAmJiBfX0dOVUNfTUlOT1JfXyA+PSA3KSkKLSAgICAgICAgICNkZWZpbmUgSEFWRV9VU0VfTVNfQUJJIDEKLS0gICAgI2Vsc2UKLS0gICAgICAgICNlcnJvciBDb21waWxlciBpcyB0b28gb2xkIGZvciBHTlVfRUZJX1VTRV9NU19BQkkKLSAgICAgI2VuZGlmCi0gI2VuZGlmCi0gCi1JbmRleDogc3lzbGludXgtNi4wMy9nbnUtZWZpL2dudS1lZmktMy4wL2luYy94ODZfNjQvZWZpYmluZC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gc3lzbGludXgtNi4wMy5vcmlnL2dudS1lZmkvZ251LWVmaS0zLjAvaW5jL3g4Nl82NC9lZmliaW5kLmgKLSsrKyBzeXNsaW51eC02LjAzL2dudS1lZmkvZ251LWVmaS0zLjAvaW5jL3g4Nl82NC9lZmliaW5kLmgKLUBAIC0yNSw4ICsyNSw2IEBAIFJldmlzaW9uIEhpc3RvcnkKLSAjaWYgZGVmaW5lZChHTlVfRUZJX1VTRV9NU19BQkkpCi0gICAgICNpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiAoX19HTlVDX18gPiA0IHx8IChfX0dOVUNfXyA9PSA0ICYmIF9fR05VQ19NSU5PUl9fID49IDcpKQotICAgICAgICAgI2RlZmluZSBIQVZFX1VTRV9NU19BQkkgMQotLSAgICAjZWxzZQotLSAgICAgICAgI2Vycm9yIENvbXBpbGVyIGlzIHRvbyBvbGQgZm9yIEdOVV9FRklfVVNFX01TX0FCSQotICAgICAjZW5kaWYKLSAjZW5kaWYKLSAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N5c2xpbnV4L3N5c2xpbnV4LzAwMTEtbWstTU1ELWRvZXMtbm90LXRha2UtYW55LWFyZ3VtZW50cy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N5c2xpbnV4L3N5c2xpbnV4LzAwMTEtbWstTU1ELWRvZXMtbm90LXRha2UtYW55LWFyZ3VtZW50cy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDQzYzFjYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zeXNsaW51eC9zeXNsaW51eC8wMDExLW1rLU1NRC1kb2VzLW5vdC10YWtlLWFueS1hcmd1bWVudHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi1Gcm9tIDBmM2Q4M2MyNTQ5MTk1MWYxZmE4NGM3OTU3MzU4ZWYzZDFiY2Q4YTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogV2VkLCA5IFNlcCAyMDE1IDE3OjM5OjIyICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIG1rOiAtTU1EIGRvZXMgbm90IHRha2UgYW55IGFyZ3VtZW50cwotCi1TcGVjaWZ5IC1XcCBmb3IgZWFjaCBvcHRpb24sIGNsYW5nIHNlZW1zIHRvIG5vdCBhY2NlcHQKLS1XcCwteCx5LC1hLGIKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLSBtay9zeXNsaW51eC5tayB8IDQgKystLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLUluZGV4OiBzeXNsaW51eC02LjAzL21rL3N5c2xpbnV4Lm1rCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gc3lzbGludXgtNi4wMy5vcmlnL21rL3N5c2xpbnV4Lm1rCi0rKysgc3lzbGludXgtNi4wMy9tay9zeXNsaW51eC5tawotQEAgLTgyLDExICs4MiwxMSBAQCBBUkNIID89ICQoc3RyaXAgJChTVUJBUkNIKSkKLSBHQ0NXQVJOICA9IC1XIC1XYWxsIC1Xc3RyaWN0LXByb3RvdHlwZXMgJChERUJVR09QVCkKLSAKLSAjIENvbW1vbiBzdGFuemEgdG8gbWFrZSBnY2MgZ2VuZXJhdGUgLiouZCBkZXBlbmRlbmN5IGZpbGVzCi0tTUFLRURFUFMgPSAtV3AsLU1ULCRALC1NRCwkKGRpciAkQCkuJChub3RkaXIgJEApLmQKLStNQUtFREVQUyA9IC1NVCAkQCAtTUQKLSAKLSAjIERlcGVuZGVuY2llcyB0aGF0IGV4Y2x1ZGUgc3lzdGVtIGhlYWRlcnM7IHVzZSB3aGVuZXZlciB3ZSB1c2UKLSAjIGhlYWRlciBmaWxlcyBmcm9tIHRoZSBwbGF0Zm9ybS4KLS1VTUFLRURFUFMgPSAtV3AsLU1ULCRALC1NTUQsJChkaXIgJEApLiQobm90ZGlyICRAKS5kCi0rVU1BS0VERVBTID0gLU1UICRAIC1NTUQKLSAKLSAjIEl0ZW1zIHRoYXQgYXJlIG9ubHkgYXBwcm9wcmlhdGUgZHVyaW5nIGRldmVsb3BtZW50OyB0aGlzIGZpbGUgaXMKLSAjIHJlbW92ZWQgd2hlbiB0YXJiYWxscyBhcmUgZ2VuZXJhdGVkLgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3lzbGludXgvc3lzbGludXgvc3lzbGludXgtNi4wMy1zeXNtYWNyb3MucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zeXNsaW51eC9zeXNsaW51eC9zeXNsaW51eC02LjAzLXN5c21hY3Jvcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2NlNDZkYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zeXNsaW51eC9zeXNsaW51eC9zeXNsaW51eC02LjAzLXN5c21hY3Jvcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ1ICswLDAgQEAKLWh0dHBzOi8vYnVncy5nZW50b28ub3JnLzU3OTkyOAotCi1Gcm9tIGQ4NGRiMzRkYmUzOWQ1NWI0ZDdlODY4NzY0YzA1NjY4OWFhMDc5M2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+Ci1EYXRlOiBUdWUsIDE5IEFwciAyMDE2IDAxOjU2OjQxIC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGV4dGxpbnV4OiBwdWxsIGluIHN5cy9zeXNtYWNyb3MuaCBmb3IgbWFqb3IvbWlub3IvbWFrZWRldgotCi1UaGVzZSBmdW5jdGlvbnMgYXJlIGRlZmluZWQgaW4gc3lzL3N5c21hY3Jvcy5oLCBzbyBhZGQgdGhlIGluY2x1ZGUgdG8KLW1haW4uYy4gIFRoaXMgaXMgYWxyZWFkeSBoYW5kbGVkIGNvcnJlY3RseSBpbiBtb3VudGluZm8uYy4gIE90aGVyd2lzZQotd2UgZ2V0IGJ1aWxkIGZhaWx1cmVzIGxpa2U6Ci0KLW1haW4ubzogSW4gZnVuY3Rpb24gJ2ZpbmRfZGV2aWNlX3N5c2ZzJzoKLWV4dGxpbnV4L21haW4uYzoxMTMxOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvICdtaW5vcicKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi1TaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+Ci0KLVRoZSBmaXJzdCBwYXJ0IHdhc24ndCBlbm91Z2ggaW4gT0UgYnVpbGQsIEkgaGFkIHRvIGFkZCB0aGUgc2FtZSBmb3Igc3lzbGludXhleHQuYy4KLS0tLQotIGV4dGxpbnV4L21haW4uYyB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvZXh0bGludXgvbWFpbi5jIGIvZXh0bGludXgvbWFpbi5jCi1pbmRleCBhN2ViZDQ5Li5lYmZmN2VhIDEwMDY0NAotLS0tIGEvZXh0bGludXgvbWFpbi5jCi0rKysgYi9leHRsaW51eC9tYWluLmMKLUBAIC0zOCw2ICszOCw3IEBACi0gI2luY2x1ZGUgPHN5c2V4aXRzLmg+Ci0gI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgotICNpbmNsdWRlIDxzeXMvc3RhdC5oPgotKyNpbmNsdWRlIDxzeXMvc3lzbWFjcm9zLmg+Ci0gI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotICNpbmNsdWRlIDxzeXMvbW91bnQuaD4KLSAjaW5jbHVkZSA8c3lzL3Zmcy5oPgotLS0tIGEvbGliaW5zdGFsbGVyL3N5c2xpbnV4ZXh0LmMJMjAxNy0wMi0yMiAyMDoxNzowNS4zMzY4NjkxODEgKzAxMDAKLSsrKyBiL2xpYmluc3RhbGxlci9zeXNsaW51eGV4dC5jCTIwMTctMDItMjIgMjA6MTY6NDcuNTAwODY4NzUxICswMTAwCi1AQCAtMiw2ICsyLDcgQEAKLSAKLSAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KLSAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0rI2luY2x1ZGUgPHN5cy9zeXNtYWNyb3MuaD4KLSAjaW5jbHVkZSA8Z2V0b3B0Lmg+Ci0gI2luY2x1ZGUgPGV4dDJmcy9leHQyZnMuaD4KLSAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N5c2xpbnV4L3N5c2xpbnV4L3N5c2xpbnV4LWZpeC1wYXJhbGxlbC1idWlsZGluZy1pc3N1ZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N5c2xpbnV4L3N5c2xpbnV4L3N5c2xpbnV4LWZpeC1wYXJhbGxlbC1idWlsZGluZy1pc3N1ZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzEyYjFlOC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zeXNsaW51eC9zeXNsaW51eC9zeXNsaW51eC1maXgtcGFyYWxsZWwtYnVpbGRpbmctaXNzdWUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1zeXNsaW51eC1uYXRpdmU6IGZpeCBwYXJhbGxlbCBidWlsZGluZyBpc3N1ZQotCi1UaGVyZSBtaWdodCBiZSBhbiBlcnJvciB3aGVuIHBhcmFsbGVsIGJ1aWxkOgotCi1bc25pcF0KLWNwOiBjYW5ub3QgY3JlYXRlIGRpcmVjdG9yeSBgdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3Ivc2hhcmUvCi1zeXNsaW51eC9jb20zMi9pbmNsdWRlL2dwbGluY2x1ZGUnOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Ci1tYWtlWzRdOiAqKiogW2luc3RhbGxdIEVycm9yIDEKLW1ha2VbM106ICoqKiBbZ3BsbGliXSBFcnJvciAyCi1bc25pcF0KLQotVGhpcyBpcyBhIHBvdGVudGlhbCBpc3N1ZS4gSW4gJHtTfS9jb20zMi9ncGxsaWIvTWFrZWZpbGUgZmlsZSwKLWluc3RhbGwgdGFyZ2V0IHdhbnRzIHRvIGNvcHkgJChTUkMpLy4uL2dwbGluY2x1ZGUgdG8KLSQoSU5TVEFMTFJPT1QpJChDT00zMkRJUikvaW5jbHVkZS8gZGlyZWN0b3J5LCBidXQgaW4gJHtTfS9jb20zMi9saWIvTWFrZWZpbGUKLWZpbGUsIHRoZSBpbnN0YWxsIHRhcmdldCB3aWxsIHJlbW92ZSAkKElOU1RBTExST09UKSQoQ09NMzJESVIpL2luY2x1ZGUKLWRpcmVjdG9yeS4gV2UgbmVlZCB0byBkbyBjb20zMi9saWIgZmlyc3QuCi0KLVRoZSBwYXRjaCBtYWtlIGNvbTMyL2dwbGxpYiBkZXBlbmRzIG9uIGNvbTMyL2xpYiB0byBmaXggdGhpcyBpc3N1ZS4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IENob25nIEx1IDxDaG9uZy5MdUB3aW5kcml2ZXIuY29tPgotLS0tCi0gY29tMzIvTWFrZWZpbGUgfCAgICAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotSW5kZXg6IHN5c2xpbnV4LTYuMDMvY29tMzIvTWFrZWZpbGUKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBzeXNsaW51eC02LjAzLm9yaWcvY29tMzIvTWFrZWZpbGUKLSsrKyBzeXNsaW51eC02LjAzL2NvbTMyL01ha2VmaWxlCi1AQCAtMjEsMyArMjEsNCBAQCByb3NoOiBsaWIgbGlidXRpbAotIHNhbXBsZXM6IGxpYnV0aWwgZWxmbGluay9sZGxpbnV4Ci0gc3lzZHVtcDogbGliIGxpYnV0aWwgbGlidXBsb2FkIGdwbGxpYgotIGx1YS9zcmM6IGNtZW51IG1vZHVsZXMKLStncGxsaWI6IGxpYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3lzbGludXgvc3lzbGludXgvc3lzbGludXgtbGlidXBsb2FkLWRlcGVuZC1saWIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zeXNsaW51eC9zeXNsaW51eC9zeXNsaW51eC1saWJ1cGxvYWQtZGVwZW5kLWxpYi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmJhOTZhZS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zeXNsaW51eC9zeXNsaW51eC9zeXNsaW51eC1saWJ1cGxvYWQtZGVwZW5kLWxpYi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLUZyb20gNDkwZmMzYmJkNjVjMmMyNTJjMWZkZjNkYTBmYWM5ODk4YWE5ZWVhNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotRGF0ZTogRnJpLCAxNSBBdWcgMjAxNCAyMTowOToxNiAtMDcwMAotU3ViamVjdDogW1BBVENIXSBjb20zMi9NYWtlZmlsZTogZml4IHBhcmFsbGVsIGlzc3VlCi0KLUZpeGVkOgotY3AgLXIgc3lzbGludXgtNi4wMS9jb20zMi9saWJ1cGxvYWQvKi5oIGltYWdlL3Vzci9zaGFyZS9zeXNsaW51eC9jb20zMi9pbmNsdWRlLwotW3NuaXBdCi1ybSAtcmYgaW1hZ2UvdXNyL3NoYXJlL3N5c2xpbnV4L2NvbTMyL2luY2x1ZGUKLVtzbmlwXQotY3A6IGNhbm5vdCBjcmVhdGUgcmVndWxhciBmaWxlIGBpbWFnZS91c3Ivc2hhcmUvc3lzbGludXgvY29tMzIvaW5jbHVkZS9zZXJpYWwuaCc6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKLQotVGhlIGNwIGlzIGhhcHBlbmVkIGluIHRoZSAibGlidXBsb2FkIiBkaXIsIHdoaWxlICJybSAtZnIiIGlzIGhhcHBlbmQgaW4KLSJsaWIiIGRpciwgbGV0ICJsaWJ1cGxvYWQiIGRlcGVuZCAibGliIiB3aWxsIGZpeCB0aGUgcHJvYmxlbS4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotLS0tCi0gY29tMzIvTWFrZWZpbGUgfCAgICAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotSW5kZXg6IHN5c2xpbnV4LTYuMDMvY29tMzIvTWFrZWZpbGUKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBzeXNsaW51eC02LjAzLm9yaWcvY29tMzIvTWFrZWZpbGUKLSsrKyBzeXNsaW51eC02LjAzL2NvbTMyL01ha2VmaWxlCi1AQCAtMjIsMyArMjIsNCBAQCBzYW1wbGVzOiBsaWJ1dGlsIGVsZmxpbmsvbGRsaW51eAotIHN5c2R1bXA6IGxpYiBsaWJ1dGlsIGxpYnVwbG9hZCBncGxsaWIKLSBsdWEvc3JjOiBjbWVudSBtb2R1bGVzCi0gZ3BsbGliOiBsaWIKLStsaWJ1cGxvYWQ6IGxpYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3lzbGludXgvc3lzbGludXhfNi4wMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N5c2xpbnV4L3N5c2xpbnV4XzYuMDMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY4YjEwOTQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3lzbGludXgvc3lzbGludXhfNi4wMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDkwICswLDAgQEAKLVNVTU1BUlkgPSAiTXVsdGktcHVycG9zZSBsaW51eCBib290bG9hZGVyIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5zeXNsaW51eC5vcmcvIgotTElDRU5TRSA9ICJHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNjM2ZTczZmYwMjE1ZThkNjcyZGM0YzMyYzMxN2JiMyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTM1O2VuZGxpbmU9NDE7bWQ1PTU1OGYyYzcxY2IxZmI5YmE1MTFjY2Q0ODU4ZTQ4ZThhIgotCi0jIElmIHlvdSByZWFsbHkgd2FudCB0byBydW4gc3lzbGludXgsIHlvdSBuZWVkIG10b29scy4gIFdlIGp1c3Qgd2FudCB0aGUKLSMgbGRsaW51eC4qIHN0dWZmIGZvciBub3csIHNvIHNraXAgbXRvb2xzLW5hdGl2ZQotREVQRU5EUyA9ICJuYXNtLW5hdGl2ZSB1dGlsLWxpbnV4IGUyZnNwcm9ncyIKLQotU1JDX1VSSSA9ICIke0tFUk5FTE9SR19NSVJST1J9L2xpbnV4L3V0aWxzL2Jvb3Qvc3lzbGludXgvc3lzbGludXgtJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovL3N5c2xpbnV4LWZpeC1wYXJhbGxlbC1idWlsZGluZy1pc3N1ZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9zeXNsaW51eC1saWJ1cGxvYWQtZGVwZW5kLWxpYi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9zeXNsaW51eC1yZW1vdmUtY2xlYW4tc2NyaXB0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtbGludXgtc3lzbGludXgtc3VwcG9ydC1leHQyLTMtNC1kZXZpY2UucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1saW51eC1zeXNsaW51eC1pbXBsZW1lbnQtb3Blbl9leHQyX2ZzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtbGludXgtc3lzbGludXgtaW1wbGVtZW50LWluc3RhbGxfdG9fZXh0Mi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA0LWxpbnV4LXN5c2xpbnV4LWFkZC1leHRfZmlsZV9yZWFkLWFuZC1leHRfZmlsZV93cml0ZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA1LWxpbnV4LXN5c2xpbnV4LWltcGxlbWVudC1oYW5kbGVfYWR2X29uX2V4dC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA2LWxpbnV4LXN5c2xpbnV4LWltcGxlbWVudC13cml0ZV90b19leHQtYW5kLWFkZC1zeXNsaW4ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNy1saW51eC1zeXNsaW51eC1pbXBsZW1lbnQtZXh0X2NvbnN0cnVjdF9zZWN0bWFwX2ZzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDgtbGliaW5zdGFsbGVyLXN5c2xpbnV4ZXh0LWltcGxlbWVudC1zeXNsaW51eF9wYXRjaF9iby5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA5LWxpbnV4LXN5c2xpbnV4LWltcGxlbWVudC1pbnN0YWxsX2Jvb3RibG9jay5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDEwLWdjYzQ2LWNvbXBhdGliaWxpdHkucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxMS1tay1NTUQtZG9lcy1ub3QtdGFrZS1hbnktYXJndW1lbnRzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3N5c2xpbnV4LTYuMDMtc3lzbWFjcm9zLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiOTJhMjUzZGY5MjExZTljMjAxNzI3OTZlY2YzODhmMTMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjZkMzk4NmQyYmVhMTA5ZDVkYzBlNGY4YzQ4MjJhNDU5Mjc2Y2YwMjExMjVlOGM5ZjIzYzNjY2E1ZDhjODUwZSIKLQotQ09NUEFUSUJMRV9IT1NUID0gJyh4ODZfNjR8aS44NikuKi0obGludXh8ZnJlZWJzZC4qKScKLSMgRG9uJ3QgbGV0IHRoZSBzYW5pdHkgY2hlY2tlciB0cmlwIG9uIHRoZSAzMiBiaXQgcmVhbCBtb2RlIEJJT1MgYmluYXJpZXMKLUlOU0FORV9TS0lQXyR7UE59LW1pc2MgPSAiYXJjaCIKLUlOU0FORV9TS0lQXyR7UE59LWNoYWluID0gImFyY2giCi0KLUVYVFJBX09FTUFLRSA9ICIgXAotCUJJTkRJUj0ke2JpbmRpcn0gU0JJTkRJUj0ke3NiaW5kaXJ9IExJQkRJUj0ke2xpYmRpcn0gXAotCURBVEFESVI9JHtkYXRhZGlyfSBNQU5ESVI9JHttYW5kaXJ9IElOQ0RJUj0ke2luY2x1ZGVkaXJ9IFwKLSIKLQotZG9fY29uZmlndXJlKCkgewotCSMgZHJvcCB3aW4zMiB0YXJnZXRzIG9yIGJ1aWxkIGZhaWxzCi0Jc2VkIC1lICdzLHdpbjMyL1xTKiwsZycgLWkgTWFrZWZpbGUKLQotCSMgY2xlYW4gaW5zdGFsbGVyIGV4ZWN1dGFibGVzIGluY2x1ZGVkIGluIHNvdXJjZSB0YXJiYWxsCi0Jb2VfcnVubWFrZSBjbGVhbiBmaXJtd2FyZT0iZWZpMzIiIEVGSUlOQz0iJHtpbmNsdWRlZGlyfSIKLQkjIE5PVEU6IFRoZXJlIGlzIGEgdGVtcG9yYXJ5IHdvcmsgYXJvdW5kIGFib3ZlIHRvIHNwZWNpZnkKLQkjCXRoZSBlZmkzMiBhcyB0aGUgZmlybXdhcmUgZWxzZSB0aGUgcHJlLWJ1aWx0IGJpb3MKLQkjCWZpbGVzIGdldCBlcmFzZWQgY29udHJhcnkgdG8gdGhlIGRvYy9kaXN0aWIudHh0Ci0JIwlJbiB0aGUgZnV0dXJlIHRoaXMgc2hvdWxkIGJlICJiaW9zIiBhbmQgbm90ICJlZmkzMiIuCi19Ci0KLWRvX2NvbXBpbGUoKSB7Ci0JIyBNYWtlIHN1cmUgdGhlIHJlY29tcGlsZSBpcyBPSy4KLQkjIFRob3VnaCB0aGUgJHtCfSBzaG91bGQgYWx3YXlzIGV4aXN0LCBzdGlsbCBjaGVjayBpdCBiZWZvcmUgZmluZCBhbmQgcm0uCi0JWyAtZCAiJHtCfSIgXSAmJiBmaW5kICR7Qn0gLW5hbWUgJy4qLmQnIC10eXBlIGYgLWV4ZWMgcm0gLWYge30gXDsKLQotCSMgUmVidWlsZCBvbmx5IHRoZSBpbnN0YWxsZXI7IGtlZXAgcHJlY29tcGlsZWQgYm9vdGxvYWRlcnMKLQkjIGFzIHBlciBhdXRob3IncyByZXF1ZXN0IChkb2MvZGlzdHJpYi50eHQpCi0Jb2VfcnVubWFrZSBDQz0iJHtDQ30gJHtDRkxBR1N9IiBMRD0iJHtMRH0iIExERkxBR1M9IiR7TERGTEFHU30iIGZpcm13YXJlPSJiaW9zIiBpbnN0YWxsZXIKLX0KLQotZG9faW5zdGFsbCgpIHsKLQlvZV9ydW5tYWtlIENDPSIke0NDfSAke0NGTEFHU30iIExEPSIke0xEfSIgaW5zdGFsbCBJTlNUQUxMUk9PVD0iJHtEfSIgZmlybXdhcmU9ImJpb3MiCi0KLQlpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L3N5c2xpbnV4LwotCWluc3RhbGwgLW0gNjQ0ICR7U30vYmlvcy9jb3JlL2xkbGludXguc3lzICR7RH0ke2RhdGFkaXJ9L3N5c2xpbnV4LwotCWluc3RhbGwgLW0gNjQ0ICR7U30vYmlvcy9jb3JlL2xkbGludXguYnNzICR7RH0ke2RhdGFkaXJ9L3N5c2xpbnV4LwotCWluc3RhbGwgLW0gNzU1ICR7U30vYmlvcy9saW51eC9zeXNsaW51eC1ub210b29scyAke0R9JHtiaW5kaXJ9LwotfQotCi1QQUNLQUdFUyArPSAiJHtQTn0tbm9tdG9vbHMgJHtQTn0tZXh0bGludXggJHtQTn0tbWJyICR7UE59LWNoYWluICR7UE59LXB4ZWxpbnV4ICR7UE59LWlzb2xpbnV4ICR7UE59LW1pc2MiCi0KLVJERVBFTkRTXyR7UE59ICs9ICJtdG9vbHMiCi1SREVQRU5EU18ke1BOfS1ub210b29scyArPSAibGliZXh0MmZzIgotUkRFUEVORFNfJHtQTn0tbWlzYyArPSAicGVybCIKLQotRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9L3N5c2xpbnV4IgotRklMRVNfJHtQTn0tbm9tdG9vbHMgPSAiJHtiaW5kaXJ9L3N5c2xpbnV4LW5vbXRvb2xzIgotRklMRVNfJHtQTn0tZXh0bGludXggPSAiJHtzYmluZGlyfS9leHRsaW51eCIKLUZJTEVTXyR7UE59LW1iciA9ICIke2RhdGFkaXJ9LyR7QlBOfS9tYnIuYmluIgotRklMRVNfJHtQTn0tY2hhaW4gPSAiJHtkYXRhZGlyfS8ke0JQTn0vY2hhaW4uYzMyIgotRklMRVNfJHtQTn0taXNvbGludXggPSAiJHtkYXRhZGlyfS8ke0JQTn0vaXNvbGludXguYmluIgotRklMRVNfJHtQTn0tcHhlbGludXggPSAiJHtkYXRhZGlyfS8ke0JQTn0vcHhlbGludXguMCIKLUZJTEVTXyR7UE59LWRldiArPSAiJHtkYXRhZGlyfS8ke0JQTn0vY29tMzIvbGliKiR7U09MSUJTfSAke2RhdGFkaXJ9LyR7QlBOfS9jb20zMi9pbmNsdWRlICR7ZGF0YWRpcn0vJHtCUE59L2NvbTMyL2NvbTMyLmxkIgotRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2RhdGFkaXJ9LyR7QlBOfS9jb20zMi9saWIqLmEgJHtsaWJkaXJ9LyR7QlBOfS9jb20zMi9saWIqLmEiCi1GSUxFU18ke1BOfS1taXNjID0gIiR7ZGF0YWRpcn0vJHtCUE59LyogJHtsaWJkaXJ9LyR7QlBOfS8qICR7YmluZGlyfS8qIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zeXNsaW51eC9zeXNsaW51eF82LjA0LXByZTIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zeXNsaW51eC9zeXNsaW51eF82LjA0LXByZTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjdlNWQ1NwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N5c2xpbnV4L3N5c2xpbnV4XzYuMDQtcHJlMi5iYgpAQCAtMCwwICsxLDkxIEBACitTVU1NQVJZID0gIk11bHRpLXB1cnBvc2UgbGludXggYm9vdGxvYWRlciIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuc3lzbGludXgub3JnLyIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDYzNmU3M2ZmMDIxNWU4ZDY3MmRjNGMzMmMzMTdiYjMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT0zNTtlbmRsaW5lPTQxO21kNT01NThmMmM3MWNiMWZiOWJhNTExY2NkNDg1OGU0OGU4YSIKKworIyBJZiB5b3UgcmVhbGx5IHdhbnQgdG8gcnVuIHN5c2xpbnV4LCB5b3UgbmVlZCBtdG9vbHMuICBXZSBqdXN0IHdhbnQgdGhlCisjIGxkbGludXguKiBzdHVmZiBmb3Igbm93LCBzbyBza2lwIG10b29scy1uYXRpdmUKK0RFUEVORFMgPSAibmFzbS1uYXRpdmUgdXRpbC1saW51eCBlMmZzcHJvZ3MiCitQViA9ICI2LjA0LXByZTIiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly93d3cuenl0b3IuY29tL3B1Yi9zeXNsaW51eC9UZXN0aW5nLzYuMDQvc3lzbGludXgtJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovL3N5c2xpbnV4LXJlbW92ZS1jbGVhbi1zY3JpcHQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1saW51eC1zeXNsaW51eC1zdXBwb3J0LWV4dDItMy00LWRldmljZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLWxpbnV4LXN5c2xpbnV4LWltcGxlbWVudC1vcGVuX2V4dDJfZnMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1saW51eC1zeXNsaW51eC1pbXBsZW1lbnQtaW5zdGFsbF90b19leHQyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDQtbGludXgtc3lzbGludXgtYWRkLWV4dF9maWxlX3JlYWQtYW5kLWV4dF9maWxlX3dyaXRlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDUtbGludXgtc3lzbGludXgtaW1wbGVtZW50LWhhbmRsZV9hZHZfb25fZXh0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDYtbGludXgtc3lzbGludXgtaW1wbGVtZW50LXdyaXRlX3RvX2V4dC1hbmQtYWRkLXN5c2xpbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA3LWxpbnV4LXN5c2xpbnV4LWltcGxlbWVudC1leHRfY29uc3RydWN0X3NlY3RtYXBfZnMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwOC1saWJpbnN0YWxsZXItc3lzbGludXhleHQtaW1wbGVtZW50LXN5c2xpbnV4X3BhdGNoX2JvLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDktbGludXgtc3lzbGludXgtaW1wbGVtZW50LWluc3RhbGxfYm9vdGJsb2NrLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtaW5zdGFsbC1kb24tdC1pbnN0YWxsLW9ic29sZXRlLWZpbGUtY29tMzIubGQucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyYjMxYzc4ZjA4N2Y5OTE3OWZlYjM1N2RhMzEyZDdlYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0NDQxYTVkNTkzZjg1YmI2ZThkNTc4Y2Y2NjUzZmI0ZWMzMGY5ZThmNGEyMzE1YTNkOGYyZDBhOGIzZmFkZjk0IgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly93d3cuenl0b3IuY29tL3B1Yi9zeXNsaW51eC8iCitVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJzeXNsaW51eC0oP1A8cHZlcj4uKylcLnRhciIKK1VQU1RSRUFNX1ZFUlNJT05fVU5LTk9XTiA9ICIxIgorCitDT01QQVRJQkxFX0hPU1QgPSAnKHg4Nl82NHxpLjg2KS4qLShsaW51eHxmcmVlYnNkLiopJworIyBEb24ndCBsZXQgdGhlIHNhbml0eSBjaGVja2VyIHRyaXAgb24gdGhlIDMyIGJpdCByZWFsIG1vZGUgQklPUyBiaW5hcmllcworSU5TQU5FX1NLSVBfJHtQTn0tbWlzYyA9ICJhcmNoIgorSU5TQU5FX1NLSVBfJHtQTn0tY2hhaW4gPSAiYXJjaCIKKworRVhUUkFfT0VNQUtFID0gIiBcCisJQklORElSPSR7YmluZGlyfSBTQklORElSPSR7c2JpbmRpcn0gTElCRElSPSR7bGliZGlyfSBcCisJREFUQURJUj0ke2RhdGFkaXJ9IE1BTkRJUj0ke21hbmRpcn0gSU5DRElSPSR7aW5jbHVkZWRpcn0gXAorIgorCitkb19jb25maWd1cmUoKSB7CisJIyBkcm9wIHdpbjMyIHRhcmdldHMgb3IgYnVpbGQgZmFpbHMKKwlzZWQgLWUgJ3Msd2luMzIvXFMqLCxnJyAtaSBNYWtlZmlsZQorCisJIyBjbGVhbiBpbnN0YWxsZXIgZXhlY3V0YWJsZXMgaW5jbHVkZWQgaW4gc291cmNlIHRhcmJhbGwKKwlvZV9ydW5tYWtlIGNsZWFuIGZpcm13YXJlPSJlZmkzMiIgRUZJSU5DPSIke2luY2x1ZGVkaXJ9IgorCSMgTk9URTogVGhlcmUgaXMgYSB0ZW1wb3Jhcnkgd29yayBhcm91bmQgYWJvdmUgdG8gc3BlY2lmeQorCSMJdGhlIGVmaTMyIGFzIHRoZSBmaXJtd2FyZSBlbHNlIHRoZSBwcmUtYnVpbHQgYmlvcworCSMJZmlsZXMgZ2V0IGVyYXNlZCBjb250cmFyeSB0byB0aGUgZG9jL2Rpc3RpYi50eHQKKwkjCUluIHRoZSBmdXR1cmUgdGhpcyBzaG91bGQgYmUgImJpb3MiIGFuZCBub3QgImVmaTMyIi4KK30KKworZG9fY29tcGlsZSgpIHsKKwkjIE1ha2Ugc3VyZSB0aGUgcmVjb21waWxlIGlzIE9LLgorCSMgVGhvdWdoIHRoZSAke0J9IHNob3VsZCBhbHdheXMgZXhpc3QsIHN0aWxsIGNoZWNrIGl0IGJlZm9yZSBmaW5kIGFuZCBybS4KKwlbIC1kICIke0J9IiBdICYmIGZpbmQgJHtCfSAtbmFtZSAnLiouZCcgLXR5cGUgZiAtZXhlYyBybSAtZiB7fSBcOworCisJIyBSZWJ1aWxkIG9ubHkgdGhlIGluc3RhbGxlcjsga2VlcCBwcmVjb21waWxlZCBib290bG9hZGVycworCSMgYXMgcGVyIGF1dGhvcidzIHJlcXVlc3QgKGRvYy9kaXN0cmliLnR4dCkKKwlvZV9ydW5tYWtlIENDPSIke0NDfSAke0NGTEFHU30iIExEPSIke0xEfSIgTERGTEFHUz0iJHtMREZMQUdTfSIgZmlybXdhcmU9ImJpb3MiIGluc3RhbGxlcgorfQorCitkb19pbnN0YWxsKCkgeworCW9lX3J1bm1ha2UgQ0M9IiR7Q0N9ICR7Q0ZMQUdTfSIgTEQ9IiR7TER9IiBmaXJtd2FyZT0iYmlvcyIgaW5zdGFsbCBJTlNUQUxMUk9PVD0iJHtEfSIKKworCWluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vc3lzbGludXgvCisJaW5zdGFsbCAtbSA2NDQgJHtTfS9iaW9zL2NvcmUvbGRsaW51eC5zeXMgJHtEfSR7ZGF0YWRpcn0vc3lzbGludXgvCisJaW5zdGFsbCAtbSA2NDQgJHtTfS9iaW9zL2NvcmUvbGRsaW51eC5ic3MgJHtEfSR7ZGF0YWRpcn0vc3lzbGludXgvCisJaW5zdGFsbCAtbSA3NTUgJHtTfS9iaW9zL2xpbnV4L3N5c2xpbnV4LW5vbXRvb2xzICR7RH0ke2JpbmRpcn0vCit9CisKK1BBQ0tBR0VTICs9ICIke1BOfS1ub210b29scyAke1BOfS1leHRsaW51eCAke1BOfS1tYnIgJHtQTn0tY2hhaW4gJHtQTn0tcHhlbGludXggJHtQTn0taXNvbGludXggJHtQTn0tbWlzYyIKKworUkRFUEVORFNfJHtQTn0gKz0gIm10b29scyIKK1JERVBFTkRTXyR7UE59LW5vbXRvb2xzICs9ICJsaWJleHQyZnMiCitSREVQRU5EU18ke1BOfS1taXNjICs9ICJwZXJsIgorCitGSUxFU18ke1BOfSA9ICIke2JpbmRpcn0vc3lzbGludXgiCitGSUxFU18ke1BOfS1ub210b29scyA9ICIke2JpbmRpcn0vc3lzbGludXgtbm9tdG9vbHMiCitGSUxFU18ke1BOfS1leHRsaW51eCA9ICIke3NiaW5kaXJ9L2V4dGxpbnV4IgorRklMRVNfJHtQTn0tbWJyID0gIiR7ZGF0YWRpcn0vJHtCUE59L21ici5iaW4iCitGSUxFU18ke1BOfS1jaGFpbiA9ICIke2RhdGFkaXJ9LyR7QlBOfS9jaGFpbi5jMzIiCitGSUxFU18ke1BOfS1pc29saW51eCA9ICIke2RhdGFkaXJ9LyR7QlBOfS9pc29saW51eC5iaW4iCitGSUxFU18ke1BOfS1weGVsaW51eCA9ICIke2RhdGFkaXJ9LyR7QlBOfS9weGVsaW51eC4wIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2RhdGFkaXJ9LyR7QlBOfS9jb20zMi9saWIqJHtTT0xJQlN9ICR7ZGF0YWRpcn0vJHtCUE59L2NvbTMyL2luY2x1ZGUgJHtkYXRhZGlyfS8ke0JQTn0vY29tMzIvY29tMzIubGQiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7ZGF0YWRpcn0vJHtCUE59L2NvbTMyL2xpYiouYSAke2xpYmRpcn0vJHtCUE59L2NvbTMyL2xpYiouYSIKK0ZJTEVTXyR7UE59LW1pc2MgPSAiJHtkYXRhZGlyfS8ke0JQTn0vKiAke2xpYmRpcn0vJHtCUE59LyogJHtiaW5kaXJ9LyoiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3RjZi1hZ2VudC90Y2YtYWdlbnRfZ2l0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdGNmLWFnZW50L3RjZi1hZ2VudF9naXQuYmIKaW5kZXggZDkwMWMxOC4uYjRiZDRjYSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdGNmLWFnZW50L3RjZi1hZ2VudF9naXQuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdGNmLWFnZW50L3RjZi1hZ2VudF9naXQuYmIKQEAgLTQxLDYgKzQxLDcgQEAKIAogIyBUaGVzZSBmZWF0dXJlcyBkb24ndCBjb21waWxlIGZvciBzZXZlcmFsIGNhc2VzLgogIworQ0ZMQUdTX2FwcGVuZF9hcmMgPSAiICR7TENMX1NUT1BfU0VSVklDRVN9IgogQ0ZMQUdTX2FwcGVuZF9taXBzID0gIiAke0xDTF9TVE9QX1NFUlZJQ0VTfSIKIENGTEFHU19hcHBlbmRfbWlwczY0ID0gIiAke0xDTF9TVE9QX1NFUlZJQ0VTfSIKIENGTEFHU19hcHBlbmRfbGliYy1tdXNsID0gIiAke0xDTF9TVE9QX1NFUlZJQ0VTfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RjbC9ydW4tcHRlc3QgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90Y2wvcnVuLXB0ZXN0CmluZGV4IGRhZGJhNjUuLjIyYmI2OWEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RjbC9ydW4tcHRlc3QKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGNsL3J1bi1wdGVzdApAQCAtMSw4ICsxLDEzIEBACiAjIS9iaW4vc2gKIAotZm9yIGkgaW4gYGxzIHRlc3RzLyoudGVzdCB8YXdrIC1GLyAne3ByaW50ICQyfSdgOyBcCi0gICAgZG8gVENMX0xJQlJBUlk9bGlicmFyeSAuL3RjbHRlc3QgdGVzdHMvYWxsLnRjbCAtZmlsZSAkaSA+JGkudG1wIDI+JjE7IFwKLSAgICBncmVwIC1xICJeRmlsZXMgd2l0aCBmYWlsaW5nIHRlc3RzOiIgJGkudG1wOyBcCi0gICAgaWYgWyAkPyAtZXEgMCBdOyB0aGVuIGVjaG8gIkZBSUw6ICRpIjsgXAotICAgIGVsc2UgZWNobyAiUEFTUzogJGkiOyBybSAtZiAkaS50bXA7IGZpOyBcCitmb3IgaSBpbiBgbHMgdGVzdHMvKi50ZXN0IHwgYXdrIC1GLyAne3ByaW50ICQyfSdgOyBkbworICAgIFRDTF9MSUJSQVJZPWxpYnJhcnkgLi90Y2x0ZXN0IHRlc3RzL2FsbC50Y2wgLWZpbGUgJGkgPiRpLmxvZyAyPiYxCisgICAgZ3JlcCAtcSAiXkZpbGVzIHdpdGggZmFpbGluZyB0ZXN0czoiICRpLmxvZworICAgIGlmIFsgJD8gLWVxIDAgXTsgdGhlbgorICAgICAgICBlY2hvICJGQUlMOiAkaSIKKyAgICAgICAgY2F0ICRpLmxvZworICAgIGVsc2UKKyAgICAgICAgZWNobyAiUEFTUzogJGkiCisgICAgZmkKKyAgICBybSAtZiAkaS5sb2cKIGRvbmUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RjbF84LjYuOC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RjbF84LjYuOC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGJlMmU4OS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90Y2xfOC42LjguYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMDEgKzAsMCBAQAotU1VNTUFSWSA9ICJUb29sIENvbW1hbmQgTGFuZ3VhZ2UiCi1IT01FUEFHRSA9ICJodHRwOi8vdGNsLnNvdXJjZWZvcmdlLm5ldCIKLVNFQ1RJT04gPSAiZGV2ZWwvdGNsdGsiCi0KLSMgaHR0cDovL3d3dy50Y2wudGsvc29mdHdhcmUvdGNsdGsvbGljZW5zZS5odG1sCi1MSUNFTlNFID0gInRjbCAmIEJTRC0zLUNsYXVzZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLy4uL2xpY2Vuc2UudGVybXM7bWQ1PTA1OGY2MjI5Nzk4MjgxYmJjYWM0MjM5Yzc4OGNmYTM4IFwKLSAgICBmaWxlOi8vLi4vY29tcGF0L2xpY2Vuc2UudGVybXM7bWQ1PTA1OGY2MjI5Nzk4MjgxYmJjYWM0MjM5Yzc4OGNmYTM4IFwKLSAgICBmaWxlOi8vLi4vbGlicmFyeS9saWNlbnNlLnRlcm1zO21kNT0wNThmNjIyOTc5ODI4MWJiY2FjNDIzOWM3ODhjZmEzOCBcCi0gICAgZmlsZTovLy4uL21hY29zeC9saWNlbnNlLnRlcm1zO21kNT0wNThmNjIyOTc5ODI4MWJiY2FjNDIzOWM3ODhjZmEzOCBcCi0gICAgZmlsZTovLy4uL3Rlc3RzL2xpY2Vuc2UudGVybXM7bWQ1PTA1OGY2MjI5Nzk4MjgxYmJjYWM0MjM5Yzc4OGNmYTM4IFwKLSAgICBmaWxlOi8vLi4vd2luL2xpY2Vuc2UudGVybXM7bWQ1PTA1OGY2MjI5Nzk4MjgxYmJjYWM0MjM5Yzc4OGNmYTM4IFwKLSIKLQotREVQRU5EUyA9ICJ0Y2wtbmF0aXZlIHpsaWIiCi0KLUJBU0VfU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vdGNsLyR7QlBOfSR7UFZ9LXNyYy50YXIuZ3ogXAotICAgICAgICAgICAgICAgIGZpbGU6Ly90Y2wtYWRkLXNvbmFtZS5wYXRjaCIKLVNSQ19VUkkgPSAiJHtCQVNFX1NSQ19VUkl9IFwKLSAgICAgICAgICAgZmlsZTovL2ZpeF9ub25fbmF0aXZlX2J1aWxkX2lzc3VlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2ZpeF9pc3N1ZV93aXRoX29sZF9kaXN0cm9fZ2xpYmMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbm9fcGFja2FnZXMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vdGNsLXJlbW92ZS1oYXJkY29kZWQtaW5zdGFsbC1wYXRoLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2FsdGVyLWluY2x1ZGVkaXIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSIKLVNSQ19VUklbbWQ1c3VtXSA9ICI4MTY1NmQzMzY3YWYwMzJlMGFlNjE1N2VmZjEzNGY4OSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJjNDNjYjBjMTUxOGNlNDJiMDBlN2M4ZjZlYWRkZDUxOTVjNTNhOThmOTRhZGM3MTcyMzRhNjVjYmNmZDNmOTZhIgotCi1TUkNfVVJJX2NsYXNzLW5hdGl2ZSA9ICIke0JBU0VfU1JDX1VSSX0iCi0KLVMgPSAiJHtXT1JLRElSfS8ke0JQTn0ke1BWfS91bml4IgotCi1WRVIgPSAiJHtQVn0iCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHB0ZXN0IGJpbmNvbmZpZwotCi1FWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtdGhyZWFkcyAtLWRpc2FibGUtcnBhdGggLS1saWJkaXI9JHtsaWJkaXJ9IgotCi1kb19jb21waWxlX3ByZXBlbmQoKSB7Ci0JZWNobyA+ICR7U30vLi4vY29tcGF0L2ZpeHN0cnRvZC5jCi19Ci0KLWRvX2luc3RhbGwoKSB7Ci0JYXV0b3Rvb2xzX2RvX2luc3RhbGwKLQlvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwtcHJpdmF0ZS1oZWFkZXJzCi0JbG4gLXNmIC4vdGNsc2gke1ZFUn0gJHtEfSR7YmluZGlyfS90Y2xzaAotCWxuIC1zZiB0Y2xzaDguNiAke0R9JHtiaW5kaXJ9L3RjbHNoJHtWRVJ9Ci0Jc2VkIC1pICJzOy1MJHtCfTstTCR7U1RBR0lOR19MSUJESVJ9O2ciIHRjbENvbmZpZy5zaAotCXNlZCAtaSAiczsnJHtXT1JLRElSfTsnJHtTVEFHSU5HX0lOQ0RJUn07ZyIgdGNsQ29uZmlnLnNoCi0JaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJfY3Jvc3NzY3JpcHRzfQotCWluc3RhbGwgLW0gMDc1NSB0Y2xDb25maWcuc2ggJHtEfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30KLQlpbnN0YWxsIC1tIDA3NTUgdGNsQ29uZmlnLnNoICR7RH0ke2xpYmRpcn0KLQlmb3IgZGlyIGluIGNvbXBhdCBnZW5lcmljIHVuaXg7IGRvCi0JCWluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0vJHtCUE59JHtWRVJ9LyRkaXIKLQkJaW5zdGFsbCAtbSAwNjQ0ICR7U30vLi4vJGRpci8qLmggJHtEfSR7aW5jbHVkZWRpcn0vJHtCUE59JHtWRVJ9LyRkaXIvCi0JZG9uZQotfQotCi1TWVNST09UX0RJUlMgKz0gIiR7YmluZGlyX2Nyb3Nzc2NyaXB0c30iCi0KLVBBQ0tBR0VTID0rICJ0Y2wtbGliIgotRklMRVNfdGNsLWxpYiA9ICIke2xpYmRpcn0vbGlidGNsOC42LnNvLioiCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3RjbCR7VkVSfSAke2xpYmRpcn0vdGNsOC42ICR7bGliZGlyfS90Y2w4IgotRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vdGNsQ29uZmlnLnNoICR7bGliZGlyfS90Y2xvb0NvbmZpZy5zaCIKLQotIyBpc24ndCBnZXR0aW5nIHBpY2tlZCB1cCBieSBzaGxpYnMgY29kZQotUkRFUEVORFNfJHtQTn0gKz0gInRjbC1saWIiCi1SREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiIgotUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gImxpYmdjYyIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgotCi1kb19jb21waWxlX3B0ZXN0KCkgewotCW9lX3J1bm1ha2UgdGNsdGVzdAotfQotCi1kb19pbnN0YWxsX3B0ZXN0KCkgewotCWNwICR7Qn0vdGNsdGVzdCAke0R9JHtQVEVTVF9QQVRIfQotCWNwIC1yICR7U30vLi4vbGlicmFyeSAke0R9JHtQVEVTVF9QQVRIfQotCWNwIC1yICR7U30vLi4vdGVzdHMgJHtEfSR7UFRFU1RfUEFUSH0KLX0KLQotIyBGaXggc29tZSBwYXRocyB0aGF0IG1pZ2h0IGJlIHVzZWQgYnkgVGNsIGV4dGVuc2lvbnMKLUJJTkNPTkZJR19HTE9CID0gIipDb25maWcuc2giCi0KLSMgRml4IHRoZSBwYXRoIGluIHNzdGF0ZQotU1NUQVRFX1NDQU5fRklMRVMgKz0gIipDb25maWcuc2giCi0KLSMgQ2xlYW51cCBob3N0IHBhdGggZnJvbSAke2xpYmRpcn0vdGNsQ29uZmlnLnNoIGFuZCByZW1vdmUgdGhlCi0jICR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vdGNsQ29uZmlnLnNoIGZyb20gdGFyZ2V0Ci1QQUNLQUdFX1BSRVBST0NFU1NfRlVOQ1MgKz0gInRjbF9wYWNrYWdlX3ByZXByb2Nlc3MiCi10Y2xfcGFja2FnZV9wcmVwcm9jZXNzKCkgewotCXNlZCAtaSAtZSAiczske0RFQlVHX1BSRUZJWF9NQVB9OztnIiBcCi0JICAgICAgIC1lICJzOy1MJHtTVEFHSU5HX0xJQkRJUn07LUwke2xpYmRpcn07ZyIgXAotCSAgICAgICAtZSAiczske1NUQUdJTkdfSU5DRElSfTske2luY2x1ZGVkaXJ9O2ciIFwKLQkgICAgICAgLWUgInM7LS1zeXNyb290PSR7UkVDSVBFX1NZU1JPT1R9OztnIiBcCi0JICAgICAgICR7UEtHRH0ke2xpYmRpcn0vdGNsQ29uZmlnLnNoCi0KLQlybSAtZiAke1BLR0R9JHtiaW5kaXJfY3Jvc3NzY3JpcHRzfS90Y2xDb25maWcuc2gKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RjbF84LjYuOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RjbF84LjYuOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZjM3NzgxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGNsXzguNi45LmJiCkBAIC0wLDAgKzEsMTAxIEBACitTVU1NQVJZID0gIlRvb2wgQ29tbWFuZCBMYW5ndWFnZSIKK0hPTUVQQUdFID0gImh0dHA6Ly90Y2wuc291cmNlZm9yZ2UubmV0IgorU0VDVElPTiA9ICJkZXZlbC90Y2x0ayIKKworIyBodHRwOi8vd3d3LnRjbC50ay9zb2Z0d2FyZS90Y2x0ay9saWNlbnNlLmh0bWwKK0xJQ0VOU0UgPSAidGNsICYgQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vLi4vbGljZW5zZS50ZXJtczttZDU9MDU4ZjYyMjk3OTgyODFiYmNhYzQyMzljNzg4Y2ZhMzggXAorICAgIGZpbGU6Ly8uLi9jb21wYXQvbGljZW5zZS50ZXJtczttZDU9MDU4ZjYyMjk3OTgyODFiYmNhYzQyMzljNzg4Y2ZhMzggXAorICAgIGZpbGU6Ly8uLi9saWJyYXJ5L2xpY2Vuc2UudGVybXM7bWQ1PTA1OGY2MjI5Nzk4MjgxYmJjYWM0MjM5Yzc4OGNmYTM4IFwKKyAgICBmaWxlOi8vLi4vbWFjb3N4L2xpY2Vuc2UudGVybXM7bWQ1PTA1OGY2MjI5Nzk4MjgxYmJjYWM0MjM5Yzc4OGNmYTM4IFwKKyAgICBmaWxlOi8vLi4vdGVzdHMvbGljZW5zZS50ZXJtczttZDU9MDU4ZjYyMjk3OTgyODFiYmNhYzQyMzljNzg4Y2ZhMzggXAorICAgIGZpbGU6Ly8uLi93aW4vbGljZW5zZS50ZXJtczttZDU9MDU4ZjYyMjk3OTgyODFiYmNhYzQyMzljNzg4Y2ZhMzggXAorIgorCitERVBFTkRTID0gInRjbC1uYXRpdmUgemxpYiIKKworQkFTRV9TUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS90Y2wvJHtCUE59JHtQVn0tc3JjLnRhci5neiBcCisgICAgICAgICAgICAgICAgZmlsZTovL3RjbC1hZGQtc29uYW1lLnBhdGNoIgorU1JDX1VSSSA9ICIke0JBU0VfU1JDX1VSSX0gXAorICAgICAgICAgICBmaWxlOi8vZml4X25vbl9uYXRpdmVfYnVpbGRfaXNzdWUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZml4X2lzc3VlX3dpdGhfb2xkX2Rpc3Ryb19nbGliYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9ub19wYWNrYWdlcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly90Y2wtcmVtb3ZlLWhhcmRjb2RlZC1pbnN0YWxsLXBhdGgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYWx0ZXItaW5jbHVkZWRpci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorIgorU1JDX1VSSVttZDVzdW1dID0gImFhMGExMjFkOTVhMGU3YjczYTAzNmYyNjAyODUzOGQ0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFkMGNkMmRlMmM4N2I5YmE4MDg2YjQzOTU3YTBkZTNlYjJlYjU2NWM3MTU5ZDVmNTNjY2JiYTNmZWI5MTVmNGUiCisKK1NSQ19VUklfY2xhc3MtbmF0aXZlID0gIiR7QkFTRV9TUkNfVVJJfSIKKworUyA9ICIke1dPUktESVJ9LyR7QlBOfSR7UFZ9L3VuaXgiCisKK1ZFUiA9ICIke1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcHRlc3QgYmluY29uZmlnCisKK0VYVFJBX09FQ09ORiA9ICItLWVuYWJsZS10aHJlYWRzIC0tZGlzYWJsZS1ycGF0aCAtLWxpYmRpcj0ke2xpYmRpcn0iCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKwllY2hvID4gJHtTfS8uLi9jb21wYXQvZml4c3RydG9kLmMKK30KKworZG9faW5zdGFsbCgpIHsKKwlhdXRvdG9vbHNfZG9faW5zdGFsbAorCW9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbC1wcml2YXRlLWhlYWRlcnMKKwlsbiAtc2YgLi90Y2xzaCR7VkVSfSAke0R9JHtiaW5kaXJ9L3RjbHNoCisJbG4gLXNmIHRjbHNoOC42ICR7RH0ke2JpbmRpcn0vdGNsc2gke1ZFUn0KKwlzZWQgLWkgInM7LUwke0J9Oy1MJHtTVEFHSU5HX0xJQkRJUn07ZyIgdGNsQ29uZmlnLnNoCisJc2VkIC1pICJzOycke1dPUktESVJ9Oycke1NUQUdJTkdfSU5DRElSfTtnIiB0Y2xDb25maWcuc2gKKwlpbnN0YWxsIC1kICR7RH0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9CisJaW5zdGFsbCAtbSAwNzU1IHRjbENvbmZpZy5zaCAke0R9JHtiaW5kaXJfY3Jvc3NzY3JpcHRzfQorCWluc3RhbGwgLW0gMDc1NSB0Y2xDb25maWcuc2ggJHtEfSR7bGliZGlyfQorCWZvciBkaXIgaW4gY29tcGF0IGdlbmVyaWMgdW5peDsgZG8KKwkJaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfS8ke0JQTn0ke1ZFUn0vJGRpcgorCQlpbnN0YWxsIC1tIDA2NDQgJHtTfS8uLi8kZGlyLyouaCAke0R9JHtpbmNsdWRlZGlyfS8ke0JQTn0ke1ZFUn0vJGRpci8KKwlkb25lCit9CisKK1NZU1JPT1RfRElSUyArPSAiJHtiaW5kaXJfY3Jvc3NzY3JpcHRzfSIKKworUEFDS0FHRVMgPSsgInRjbC1saWIiCitGSUxFU190Y2wtbGliID0gIiR7bGliZGlyfS9saWJ0Y2w4LjYuc28uKiIKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vdGNsJHtWRVJ9ICR7bGliZGlyfS90Y2w4LjYgJHtsaWJkaXJ9L3RjbDgiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS90Y2xDb25maWcuc2ggJHtsaWJkaXJ9L3RjbG9vQ29uZmlnLnNoIgorCisjIGlzbid0IGdldHRpbmcgcGlja2VkIHVwIGJ5IHNobGlicyBjb2RlCitSREVQRU5EU18ke1BOfSArPSAidGNsLWxpYiIKK1JERVBFTkRTXyR7UE59X2NsYXNzLW5hdGl2ZSA9ICIiCitSREVQRU5EU18ke1BOfS1wdGVzdCArPSAibGliZ2NjIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK2RvX2NvbXBpbGVfcHRlc3QoKSB7CisJb2VfcnVubWFrZSB0Y2x0ZXN0Cit9CisKK2RvX2luc3RhbGxfcHRlc3QoKSB7CisJY3AgJHtCfS90Y2x0ZXN0ICR7RH0ke1BURVNUX1BBVEh9CisJY3AgLXIgJHtTfS8uLi9saWJyYXJ5ICR7RH0ke1BURVNUX1BBVEh9CisJY3AgLXIgJHtTfS8uLi90ZXN0cyAke0R9JHtQVEVTVF9QQVRIfQorfQorCisjIEZpeCBzb21lIHBhdGhzIHRoYXQgbWlnaHQgYmUgdXNlZCBieSBUY2wgZXh0ZW5zaW9ucworQklOQ09ORklHX0dMT0IgPSAiKkNvbmZpZy5zaCIKKworIyBGaXggdGhlIHBhdGggaW4gc3N0YXRlCitTU1RBVEVfU0NBTl9GSUxFUyArPSAiKkNvbmZpZy5zaCIKKworIyBDbGVhbnVwIGhvc3QgcGF0aCBmcm9tICR7bGliZGlyfS90Y2xDb25maWcuc2ggYW5kIHJlbW92ZSB0aGUKKyMgJHtiaW5kaXJfY3Jvc3NzY3JpcHRzfS90Y2xDb25maWcuc2ggZnJvbSB0YXJnZXQKK1BBQ0tBR0VfUFJFUFJPQ0VTU19GVU5DUyArPSAidGNsX3BhY2thZ2VfcHJlcHJvY2VzcyIKK3RjbF9wYWNrYWdlX3ByZXByb2Nlc3MoKSB7CisJc2VkIC1pIC1lICJzOyR7REVCVUdfUFJFRklYX01BUH07O2ciIFwKKwkgICAgICAgLWUgInM7LUwke1NUQUdJTkdfTElCRElSfTstTCR7bGliZGlyfTtnIiBcCisJICAgICAgIC1lICJzOyR7U1RBR0lOR19JTkNESVJ9OyR7aW5jbHVkZWRpcn07ZyIgXAorCSAgICAgICAtZSAiczstLXN5c3Jvb3Q9JHtSRUNJUEVfU1lTUk9PVH07O2ciIFwKKwkgICAgICAgJHtQS0dEfSR7bGliZGlyfS90Y2xDb25maWcuc2gKKworCXJtIC1mICR7UEtHRH0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9L3RjbENvbmZpZy5zaAorfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdmFsYS92YWxhL2Rpc2FibGUtZ3JhcGh2aXoucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy92YWxhL3ZhbGEvZGlzYWJsZS1ncmFwaHZpei5wYXRjaAppbmRleCA0Nzc1MDRkLi5lNTIxYmM4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy92YWxhL3ZhbGEvZGlzYWJsZS1ncmFwaHZpei5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy92YWxhL3ZhbGEvZGlzYWJsZS1ncmFwaHZpei5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNTdmNmI2NjFkNzg2NWU4Y2VjZDE3YmUzNmZhYjY4ZjdmODQ0Nzk5OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYjI3MjNmZjE4YjcwYzY3YzhhN2ZhYjUzNzVhN2YzYzQ0MmQ0OTc5MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFJpY28gVHpzY2hpY2hob2x6IDxyaWNvdHpAdWJ1bnR1LmNvbT4KIERhdGU6IFdlZCwgNiBTZXAgMjAxNyAxODo1Mjo1NSArMDIwMAogU3ViamVjdDogW1BBVENIXSBsaWJ2YWxhZG9jOiBBbGxvdyBkaXNhYmxpbmcgdGhlIGdyYXBodml6IGRlcGVuZGVuY3kgb2YKQEAgLTEwLDEwICsxMCwxMCBAQAogVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2J1Z3ppbGxhIGxpbmsgYWJvdmVdCiAKIC0tLQotIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCA2MCArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQotIGxpYnZhbGFkb2MvTWFrZWZpbGUuYW0gICAgICAgICAgICAgICAgfCAyNSArKysrKysrKysrKy0tLS0KLSBsaWJ2YWxhZG9jL2h0bWwvYmFzaWNkb2NsZXQudmFsYSAgICAgIHwgIDggKysrKysKLSBsaWJ2YWxhZG9jL2h0bWwvaHRtbG1hcmt1cHdyaXRlci52YWxhIHwgIDQgKysrCisgY29uZmlndXJlLmFjICAgICAgICAgICAgICAgICAgICAgICAgICB8IDYwICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQorIGxpYnZhbGFkb2MvTWFrZWZpbGUuYW0gICAgICAgICAgICAgICAgfCAyNSArKysrKysrKy0tLQorIGxpYnZhbGFkb2MvaHRtbC9iYXNpY2RvY2xldC52YWxhICAgICAgfCAgOCArKysrCisgbGlidmFsYWRvYy9odG1sL2h0bWxtYXJrdXB3cml0ZXIudmFsYSB8ICA0ICsrCiAgNCBmaWxlcyBjaGFuZ2VkLCA2MyBpbnNlcnRpb25zKCspLCAzNCBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwpAQCAtODgsMTAgKzg4LDEwIEBACiAgCiAgQUNfUEFUSF9QUk9HKFtYU0xUUFJPQ10sIFt4c2x0cHJvY10sIDopCiBkaWZmIC0tZ2l0IGEvbGlidmFsYWRvYy9NYWtlZmlsZS5hbSBiL2xpYnZhbGFkb2MvTWFrZWZpbGUuYW0KLWluZGV4IDM4NDI5MmYuLmNjZTUwZDggMTAwNjQ0CitpbmRleCBmM2Y3OTBlLi4zYzVkYzRjIDEwMDY0NAogLS0tIGEvbGlidmFsYWRvYy9NYWtlZmlsZS5hbQogKysrIGIvbGlidmFsYWRvYy9NYWtlZmlsZS5hbQotQEAgLTEyNiwxMCArMTI2LDYgQEAgbGlidmFsYWRvY19sYV9WQUxBU09VUkNFUyA9IFwKK0BAIC0xMjgsMTAgKzEyOCw2IEBAIGxpYnZhbGFkb2NfbGFfVkFMQVNPVVJDRVMgPSBcCiAgCWNvbnRlbnQvdGFibGVyb3cudmFsYSBcCiAgCWNvbnRlbnQvdGFnbGV0LnZhbGEgXAogIAljb250ZW50L3RleHQudmFsYSBcCkBAIC0xMDIsNyArMTAyLDcgQEAKICAJcGFyc2VyL21hbnlydWxlLnZhbGEgXAogIAlwYXJzZXIvb25lb2ZydWxlLnZhbGEgXAogIAlwYXJzZXIvb3B0aW9uYWxydWxlLnZhbGEgXAotQEAgLTE1NiwxMyArMTUyLDI0IEBAIGxpYnZhbGFkb2NfbGFfVkFMQVNPVVJDRVMgPSBcCitAQCAtMTU4LDEzICsxNTQsMjQgQEAgbGlidmFsYWRvY19sYV9WQUxBU09VUkNFUyA9IFwKICAJaGlnaGxpZ2h0ZXIvY29kZXRva2VuLnZhbGEgXAogIAloaWdobGlnaHRlci9oaWdobGlnaHRlci52YWxhIFwKICAJaHRtbC9iYXNpY2RvY2xldC52YWxhIFwKQEAgLTEyOCwxOCArMTI4LDIwIEBACiAgbGlidmFsYWRvY0BQQUNLQUdFX1NVRkZJWEBfbGFfU09VUkNFUyA9IFwKICAJbGlidmFsYWRvYy52YWxhLnN0YW1wIFwKICAJJChsaWJ2YWxhZG9jX2xhX1ZBTEFTT1VSQ0VTOi52YWxhPS5jKSBcCi1AQCAtMTgyLDkgKzE4OSw5IEBAIGxpYnZhbGFkb2MudmFsYS5zdGFtcDogJChsaWJ2YWxhZG9jX2xhX1ZBTEFTT1VSQ0VTKQorQEAgLTE4NCwxMSArMTkxLDExIEBAIGxpYnZhbGFkb2MudmFsYS5zdGFtcDogJChsaWJ2YWxhZG9jX2xhX1ZBTEFTT1VSQ0VTKQogIAkJLS1saWJyYXJ5IHZhbGFkb2MgXAogIAkJLS12YXBpIHZhbGFkb2NAUEFDS0FHRV9TVUZGSVhALnZhcGkgXAogIAkJLS12YXBpZGlyICQodG9wX3NyY2RpcikvdmFwaSAtLXBrZyBnbW9kdWxlLTIuMCBcCiAtCQktLXZhcGlkaXIgJCh0b3Bfc3JjZGlyKS92YXBpIC0tcGtnIGxpYmd2YyBcCiAgCQktLXZhcGlkaXIgJCh0b3Bfc3JjZGlyKS9nZWUgLS1wa2cgZ2VlIFwKICAJCS0tdmFwaWRpciAkKHRvcF9zcmNkaXIpL3ZhbGEgLS1wa2cgdmFsYSBcCisgCQktLXZhcGlkaXIgJCh0b3Bfc3JjZGlyKS9jY29kZSAtLXBrZyBjY29kZSBcCisgCQktLXZhcGlkaXIgJCh0b3Bfc3JjZGlyKS9jb2RlZ2VuIC0tcGtnIGNvZGVnZW4gXAogKwkJJChMSUJHVkNfUEtHKSBcCiAgCQktLXBrZyBjb25maWcgXAogIAkJJChmaWx0ZXIgJS52YWxhICUuYywkXikKICAJdG91Y2ggJEAKLUBAIC0yMTEsNiArMjE4LDkgQEAgbm9kaXN0X3BrZ2NvbmZpZ19EQVRBID0gdmFsYWRvY0BQQUNLQUdFX1NVRkZJWEAucGMKK0BAIC0yMTcsNiArMjI0LDkgQEAgbm9kaXN0X3BrZ2NvbmZpZ19EQVRBID0gdmFsYWRvY0BQQUNLQUdFX1NVRkZJWEAucGMKICAKICB2YWxhZG9jQFBBQ0tBR0VfU1VGRklYQC5wYzogdmFsYWRvYy5wYwogIAljcCAkPCAkQApAQCAtMTQ5LDcgKzE1MSw3IEBACiAgCiAgdmFwaWRpciA9ICQoZGF0YWRpcikvdmFsYS92YXBpCiAgZGlzdF92YXBpX0RBVEEgPSB2YWxhZG9jQFBBQ0tBR0VfU1VGRklYQC52YXBpCi1AQCAtMjE4LDYgKzIyOCw5IEBAIG5vZGlzdF92YXBpX0RBVEEgPSB2YWxhZG9jQFBBQ0tBR0VfU1VGRklYQC5kZXBzCitAQCAtMjI0LDYgKzIzNCw5IEBAIG5vZGlzdF92YXBpX0RBVEEgPSB2YWxhZG9jQFBBQ0tBR0VfU1VGRklYQC5kZXBzCiAgCiAgdmFsYWRvY0BQQUNLQUdFX1NVRkZJWEAuZGVwczogdmFsYWRvYy5kZXBzCiAgCWNwICQ8ICRACkBAIC0xNjAsNyArMTYyLDcgQEAKICBFWFRSQV9ESVNUID0gXAogIAkkKGxpYnZhbGFkb2NfbGFfVkFMQVNPVVJDRVMpIFwKIGRpZmYgLS1naXQgYS9saWJ2YWxhZG9jL2h0bWwvYmFzaWNkb2NsZXQudmFsYSBiL2xpYnZhbGFkb2MvaHRtbC9iYXNpY2RvY2xldC52YWxhCi1pbmRleCAzN2M3MzFjLi5lMDMyNmVmIDEwMDY0NAoraW5kZXggMTkyZTQ4OC4uZWMwOTYwMiAxMDA2NDQKIC0tLSBhL2xpYnZhbGFkb2MvaHRtbC9iYXNpY2RvY2xldC52YWxhCiArKysgYi9saWJ2YWxhZG9jL2h0bWwvYmFzaWNkb2NsZXQudmFsYQogQEAgLTQ2LDcgKzQ2LDExIEBAIHB1YmxpYyBhYnN0cmFjdCBjbGFzcyBWYWxhZG9jLkh0bWwuQmFzaWNEb2NsZXQgOiBBcGkuVmlzaXRvciwgRG9jbGV0IHsKQEAgLTE4NSw3ICsxODcsNyBAQAogIAl9CiAgCiAgCi1AQCAtMTAyNSw2ICsxMDMxLDcgQEAgcHVibGljIGFic3RyYWN0IGNsYXNzIFZhbGFkb2MuSHRtbC5CYXNpY0RvY2xldCA6IEFwaS5WaXNpdG9yLCBEb2NsZXQgeworQEAgLTEwMjYsNiArMTAzMiw3IEBAIHB1YmxpYyBhYnN0cmFjdCBjbGFzcyBWYWxhZG9jLkh0bWwuQmFzaWNEb2NsZXQgOiBBcGkuVmlzaXRvciwgRG9jbGV0IHsKICAJfQogIAogIAlwcm90ZWN0ZWQgdm9pZCB3cml0ZV9pbWFnZV9ibG9jayAoQXBpLk5vZGUgZWxlbWVudCkgewpAQCAtMTkzLDcgKzE5NSw3IEBACiAgCQlpZiAoZWxlbWVudCBpcyBDbGFzcyB8fCBlbGVtZW50IGlzIEludGVyZmFjZSB8fCBlbGVtZW50IGlzIFN0cnVjdCkgewogIAkJCXVub3duZWQgc3RyaW5nIGZvcm1hdCA9IChzZXR0aW5ncy51c2Vfc3ZnX2ltYWdlcyA/ICJzdmciIDogInBuZyIpOwogIAkJCXZhciBjaGFydCA9IG5ldyBDaGFydHMuSGllcmFyY2h5IChpbWFnZV9mYWN0b3J5LCBlbGVtZW50KTsKLUBAIC0xMDQ0LDYgKzEwNTEsNyBAQCBwdWJsaWMgYWJzdHJhY3QgY2xhc3MgVmFsYWRvYy5IdG1sLkJhc2ljRG9jbGV0IDogQXBpLlZpc2l0b3IsIERvY2xldCB7CitAQCAtMTA0NSw2ICsxMDUyLDcgQEAgcHVibGljIGFic3RyYWN0IGNsYXNzIFZhbGFkb2MuSHRtbC5CYXNpY0RvY2xldCA6IEFwaS5WaXNpdG9yLCBEb2NsZXQgewogIAkJCQkJCQkJCSAgIHRoaXMuZ2V0X2ltZ19wYXRoX2h0bWwgKGVsZW1lbnQsIGZvcm1hdCl9KTsKICAJCQl3cml0ZXIuYWRkX3VzZW1hcCAoY2hhcnQpOwogIAkJfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdmFsYS92YWxhXzAuNDIuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGEvdmFsYV8wLjQyLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJiMDJlMGMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdmFsYS92YWxhXzAuNDIuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLXJlcXVpcmUgJHtCUE59LmluYwotCi1TUkNfVVJJICs9ICIgZmlsZTovLzAwMDEtZ2l0LXZlcnNpb24tZ2VuLWRvbi10LWFwcGVuZC1kaXJ0eS1pZi13ZS1yZS1ub3QtaW4tZy5wYXRjaCBcCi0gICAgICAgICAgICAgZmlsZTovLzAwMDEtdmFwaWdlbi5tNC11c2UtUEtHX0NPTkZJR19TWVNST09UX0RJUi5wYXRjaCBcCi0JICAgICBmaWxlOi8vZGlzYWJsZS1ncmFwaHZpei5wYXRjaCBcCi0JICAgICBmaWxlOi8vMDAwMS1EaXNhYmxlLXZhbGFkb2MucGF0Y2ggXAotIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiYWE2ZWI4MDk3ZDI1YjU4NDdhZDNmYWIzNGMwZmY4NjUiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjJhNTU5ODZkYTIzY2YzYWFhZmQ3NjI0YzMyZGIyYTFhZjExYzg0MTllMGJiMDc1MTcyN2QxMGYxZjdhYjdiZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGEvdmFsYV8wLjQyLjUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy92YWxhL3ZhbGFfMC40Mi41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlYTE3NjYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy92YWxhL3ZhbGFfMC40Mi41LmJiCkBAIC0wLDAgKzEsMTAgQEAKK3JlcXVpcmUgJHtCUE59LmluYworCitTUkNfVVJJICs9ICIgZmlsZTovLzAwMDEtZ2l0LXZlcnNpb24tZ2VuLWRvbi10LWFwcGVuZC1kaXJ0eS1pZi13ZS1yZS1ub3QtaW4tZy5wYXRjaCBcCisgICAgICAgICAgICAgZmlsZTovLzAwMDEtdmFwaWdlbi5tNC11c2UtUEtHX0NPTkZJR19TWVNST09UX0RJUi5wYXRjaCBcCisJICAgICBmaWxlOi8vZGlzYWJsZS1ncmFwaHZpei5wYXRjaCBcCisJICAgICBmaWxlOi8vMDAwMS1EaXNhYmxlLXZhbGFkb2MucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZDIwNGViNGZhMjEwOTk1ZTczMWUyYTlhMDFjOGM3NzIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGMzM2I0YWJjMDU3M2QzNjQ3ODFiYmZlNTRhMTY2OGVkMzQ5NTY5MDJlNDcxMTkxYTMxY2YwNWRjODdjNmUxMiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGdyaW5kL3ZhbGdyaW5kLzAwMDEtRml4LWRlcGVuZGVuY2llcy1iZXR3ZWVuLWxpYmNvcmVncmluZC0uYS1hbmQtbV9tYWluLi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGdyaW5kL3ZhbGdyaW5kLzAwMDEtRml4LWRlcGVuZGVuY2llcy1iZXR3ZWVuLWxpYmNvcmVncmluZC0uYS1hbmQtbV9tYWluLi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZWRmMWMxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdmFsZ3JpbmQvdmFsZ3JpbmQvMDAwMS1GaXgtZGVwZW5kZW5jaWVzLWJldHdlZW4tbGliY29yZWdyaW5kLS5hLWFuZC1tX21haW4uLnBhdGNoCkBAIC0wLDAgKzEsNDUgQEAKK0Zyb20gNzgyMGZjMjY4ZmFlNDM1MzExOGI2MzU1ZjFkNGI5ZTFiN2VlZWJlYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFBoaWxpcHBlIFdhcm9xdWllcnMgPHBoaWxpcHBlLndhcm9xdWllcnNAc2t5bmV0LmJlPgorRGF0ZTogU3VuLCAyOCBPY3QgMjAxOCAxODozNToxMSArMDEwMAorU3ViamVjdDogW1BBVENIXSBGaXggZGVwZW5kZW5jaWVzIGJldHdlZW4gbGliY29yZWdyaW5kKi5hIGFuZAorICptX21haW4uby8qbV9saWJjc2V0am1wLm8KKworVGhlIHByaW1hcnkgYW5kIHNlY29uZGFyeSBjb3JlZ3JpbmQgbGlicmFyaWVzIG11c3QgYmUgdXBkYXRlZAord2hlbiBtX21haW4uYyBvciBtX2xpYmNzZXRqbXAuYyBhcmUgY2hhbmdlZC4KKworQSBkZXBlbmRlbmN5IHdhcyBtaXNzaW5nIGJldHdlZW4gbGliY29yZWdyaW5kKi5hIGFuZCBsaWJub2x0b19jb3JlZ3JpbmQqLmEsCithbmQgc28gdG9vbHMgd2VyZSBub3QgcmVsaW5rZWQgd2hlbiBtX21haW4uYyBvciBtX2xpYmNzZXRqbXAuYyB3ZXJlCitjaGFuZ2VkLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0W2dpdDovL3NvdXJjZXdhcmUub3JnL2dpdC92YWxncmluZC5naXQgNzgyMGZjMjY4ZmFlNDM1MzExOGI2MzU1ZjFkNGI5ZTFiN2VlZWJlY10KKworU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBjb3JlZ3JpbmQvTWFrZWZpbGUuYW0gfCA0ICsrKysKKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9jb3JlZ3JpbmQvTWFrZWZpbGUuYW0gYi9jb3JlZ3JpbmQvTWFrZWZpbGUuYW0KK2luZGV4IDkxNGEyNzAuLjhkZTE5OTYgMTAwNjQ0CistLS0gYS9jb3JlZ3JpbmQvTWFrZWZpbGUuYW0KKysrKyBiL2NvcmVncmluZC9NYWtlZmlsZS5hbQorQEAgLTUxMSw2ICs1MTEsOCBAQCBsaWJjb3JlZ3JpbmRfQFZHQ09ORl9BUkNIX1BSSUBfQFZHQ09ORl9PU0BfYV9DRkxBR1MgKz0gXAorIGVuZGlmCisgbGliY29yZWdyaW5kX0BWR0NPTkZfQVJDSF9QUklAX0BWR0NPTkZfT1NAX2FfTElCQUREID0gXAorICAgICAkKGxpYm5vbHRvX2NvcmVncmluZF9AVkdDT05GX0FSQ0hfUFJJQF9AVkdDT05GX09TQF9hX09CSkVDVFMpCisrbGliY29yZWdyaW5kX0BWR0NPTkZfQVJDSF9QUklAX0BWR0NPTkZfT1NAX2FfREVQRU5ERU5DSUVTID0gXAorKyAgICBsaWJub2x0b19jb3JlZ3JpbmQtQFZHQ09ORl9BUkNIX1BSSUAtQFZHQ09ORl9PU0AuYQorIAorIGlmIFZHQ09ORl9IQVZFX1BMQVRGT1JNX1NFQworIGxpYmNvcmVncmluZF9AVkdDT05GX0FSQ0hfU0VDQF9AVkdDT05GX09TQF9hX1NPVVJDRVMgPSBcCitAQCAtNTMxLDYgKzUzMyw4IEBAIGxpYmNvcmVncmluZF9AVkdDT05GX0FSQ0hfU0VDQF9AVkdDT05GX09TQF9hX0NGTEFHUyArPSBcCisgZW5kaWYKKyBsaWJjb3JlZ3JpbmRfQFZHQ09ORl9BUkNIX1NFQ0BfQFZHQ09ORl9PU0BfYV9MSUJBREQgPSBcCisgICAgICQobGlibm9sdG9fY29yZWdyaW5kX0BWR0NPTkZfQVJDSF9TRUNAX0BWR0NPTkZfT1NAX2FfT0JKRUNUUykKKytsaWJjb3JlZ3JpbmRfQFZHQ09ORl9BUkNIX1NFQ0BfQFZHQ09ORl9PU0BfYV9ERVBFTkRFTkNJRVMgPSBcCisrICAgIGxpYm5vbHRvX2NvcmVncmluZC1AVkdDT05GX0FSQ0hfU0VDQC1AVkdDT05GX09TQC5hCisgZW5kaWYKKyAKKyAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLS0gCisyLjEwLjIKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdmFsZ3JpbmQvdmFsZ3JpbmQvMDAwMS1HdWFyZC1hZ2FpbnN0LV9fR0xJQkNfUFJFUkVRLWZvci1tdXNsLWxpYmMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy92YWxncmluZC92YWxncmluZC8wMDAxLUd1YXJkLWFnYWluc3QtX19HTElCQ19QUkVSRVEtZm9yLW11c2wtbGliYy5wYXRjaAppbmRleCAzZWZlNjVhLi44MWFiMjlmIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy92YWxncmluZC92YWxncmluZC8wMDAxLUd1YXJkLWFnYWluc3QtX19HTElCQ19QUkVSRVEtZm9yLW11c2wtbGliYy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy92YWxncmluZC92YWxncmluZC8wMDAxLUd1YXJkLWFnYWluc3QtX19HTElCQ19QUkVSRVEtZm9yLW11c2wtbGliYy5wYXRjaApAQCAtMyw3ICszLDcgQEAKIERhdGU6IEZyaSwgMTkgT2N0IDIwMTggMTA6MzE6MTIgLTA0MDAKIFN1YmplY3Q6IFtQQVRDSF0gR3VhcmQgYWdhaW5zdCBfX0dMSUJDX1BSRVJFUSBmb3IgbXVzbCBsaWJjCiAKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgaHR0cHM6Ly9idWdzLmtkZS5vcmcvc2hvd19idWcuY2dpP2lkPTQwMDE2MgogCiBTaWduZWQtb2ZmLWJ5OiBSYW5keSBNYWNMZW9kIDxSYW5keS5NYWNMZW9kQHdpbmRyaXZlci5jb20+CiAtLS0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGdyaW5kL3ZhbGdyaW5kLzAwMDEtTWFrZS1sb2NhbC1mdW5jdGlvbnMtc3RhdGljLXRvLWF2b2lkLWFzc2VtYmxlci1lcnJvci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGdyaW5kL3ZhbGdyaW5kLzAwMDEtTWFrZS1sb2NhbC1mdW5jdGlvbnMtc3RhdGljLXRvLWF2b2lkLWFzc2VtYmxlci1lcnJvci5wYXRjaAppbmRleCA0NWU1ZWEzLi44ZDJjYTU3IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy92YWxncmluZC92YWxncmluZC8wMDAxLU1ha2UtbG9jYWwtZnVuY3Rpb25zLXN0YXRpYy10by1hdm9pZC1hc3NlbWJsZXItZXJyb3IucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdmFsZ3JpbmQvdmFsZ3JpbmQvMDAwMS1NYWtlLWxvY2FsLWZ1bmN0aW9ucy1zdGF0aWMtdG8tYXZvaWQtYXNzZW1ibGVyLWVycm9yLnBhdGNoCkBAIC0xOCw3ICsxOCw3IEBACiAvdG1wL2NjZTIyaWl3LnM6OTE1OiBFcnJvcjogc3ltYm9sIGBleGl0XzAnIGlzIGFscmVhZHkgZGVmaW5lZAogL3RtcC9jY2UyMmlpdy5zOjkxNzogRXJyb3I6IHN5bWJvbCBgZXhpdCcgaXMgYWxyZWFkeSBkZWZpbmVkCiAKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgaHR0cHM6Ly9idWdzLmtkZS5vcmcvc2hvd19idWcuY2dpP2lkPTQwMDE2NAogCiBTaWduZWQtb2ZmLWJ5OiBSYW5keSBNYWNMZW9kIDxSYW5keS5NYWNMZW9kQHdpbmRyaXZlci5jb20+CiAtLS0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGdyaW5kL3ZhbGdyaW5kLzAwMDEtdGVzdHMtYW1kNjQtRG8tbm90LWNsb2JiZXItcnNwLXJlZ2lzdGVyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdmFsZ3JpbmQvdmFsZ3JpbmQvMDAwMS10ZXN0cy1hbWQ2NC1Eby1ub3QtY2xvYmJlci1yc3AtcmVnaXN0ZXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjU3ZjgwMwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGdyaW5kL3ZhbGdyaW5kLzAwMDEtdGVzdHMtYW1kNjQtRG8tbm90LWNsb2JiZXItcnNwLXJlZ2lzdGVyLnBhdGNoCkBAIC0wLDAgKzEsMzcgQEAKK0Zyb20gOGMxZWJiNTY0ZjVlY2EyYmFlZWRjMjdhNzAzMjAwNzg2ZDFhYmIwYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBTYXQsIDIyIERlYyAyMDE4IDE1OjI4OjQwIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIHRlc3RzL2FtZDY0OiBEbyBub3QgY2xvYmJlciAlcnNwIHJlZ2lzdGVyCisKK1RoaXMgaXMgc2VlbiB3aXRoIGdjYy05LjAgY29tcGlsZXIgbm93IHdoaWNoIGlzIGZpeCB0aGF0IGdjYyBjb21tdW5pdHkKK2RpZCByZWNlbnRseQoraHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NTI4MTMKKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vYnVncy5rZGUub3JnL3Nob3dfYnVnLmNnaT9pZD00MDI0ODBdCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBub25lL3Rlc3RzL2FtZDY0LWxpbnV4L2J1ZzM0NTg4Ny5jIHwgNSArKystLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9ub25lL3Rlc3RzL2FtZDY0LWxpbnV4L2J1ZzM0NTg4Ny5jIGIvbm9uZS90ZXN0cy9hbWQ2NC1saW51eC9idWczNDU4ODcuYworaW5kZXggMGY5MjM3ZC4uNGIwN2ZlMSAxMDA2NDQKKy0tLSBhL25vbmUvdGVzdHMvYW1kNjQtbGludXgvYnVnMzQ1ODg3LmMKKysrKyBiL25vbmUvdGVzdHMvYW1kNjQtbGludXgvYnVnMzQ1ODg3LmMKK0BAIC0yMCwxMyArMjAsMTQgQEAgc3RhdGljIHZvaWQgaW5uZXIodm9pZCkKKyAgICAgICAibW92cSAkMHgxMGQsICUlcjE0XG4iCisgICAgICAgIm1vdnEgJDB4MTBlLCAlJXIxNVxuIgorICAgICAgIC8vIG5vdCAlcmJwIGFzIG1kYiBpcyB0aGVuIG5vdCBhYmxlIHRvIHJlY29uc3RydWN0IHN0YWNrIHRyYWNlCistICAgICAgIm1vdnEgJDB4MTBmLCAlJXJzcFxuIgorKyAgICAgIC8vIG5vdCAlcnNwIHNpbmNlIGdjYyBpZ25vcmVzIGl0IGFuZCBzaW5jZSBnY2MgPj0gOS4wIGVycm9ycyBhYm91dCBpdAorKyAgICAgIC8vIHNlZSBodHRwczovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD01MjgxMworICAgICAgICJtb3ZxICQweDEyMzQsICglJXJheClcbiIgIC8vIHNob3VsZCBjYXVzZSBTRUdWIGhlcmUKKyAgICAgICAidWQyIiAgICAgICAgICAgICAgICAgICAgICAvLyBzaG91bGQgbmV2ZXIgZ2V0IGhlcmUKKyAgICAgICA6IC8vIG5vIG91dHB1dCByZWdpc3RlcnMKKyAgICAgICA6IC8vIG5vIGlucHV0IHJlZ2lzdGVycworICAgICAgIDogIm1lbW9yeSIsICIlcmF4IiwgIiVyYngiLCAiJXJjeCIsICIlcmR4IiwgIiVyc2kiLCAiJXJkaSIsCistICAgICAgICAiJXI4IiwgIiVyOSIsICIlcjEwIiwgIiVyMTEiLCAiJXIxMiIsICIlcjEzIiwgIiVyMTQiLCAiJXIxNSIsICIlcnNwIik7CisrICAgICAgICAiJXI4IiwgIiVyOSIsICIlcjEwIiwgIiVyMTEiLCAiJXIxMiIsICIlcjEzIiwgIiVyMTQiLCAiJXIxNSIpOworIH0KKyAKKyBfX2F0dHJpYnV0ZV9fKChub2lubGluZSkpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy92YWxncmluZC92YWxncmluZF8zLjE0LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy92YWxncmluZC92YWxncmluZF8zLjE0LjAuYmIKaW5kZXggNTBmODIyMS4uZGIxYmQ5ZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdmFsZ3JpbmQvdmFsZ3JpbmRfMy4xNC4wLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGdyaW5kL3ZhbGdyaW5kXzMuMTQuMC5iYgpAQCAtMzYsNiArMzYsOCBAQAogICAgICAgICAgICBmaWxlOi8vMDAwMS1maXgtb3Bjb2RlLW5vdC1zdXBwb3J0ZWQtb24tbWlwczMyLWxpbnV4LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtR3VhcmQtYWdhaW5zdC1fX0dMSUJDX1BSRVJFUS1mb3ItbXVzbC1saWJjLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtTWFrZS1sb2NhbC1mdW5jdGlvbnMtc3RhdGljLXRvLWF2b2lkLWFzc2VtYmxlci1lcnJvci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXRlc3RzLWFtZDY0LURvLW5vdC1jbG9iYmVyLXJzcC1yZWdpc3Rlci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1kZXBlbmRlbmNpZXMtYmV0d2Vlbi1saWJjb3JlZ3JpbmQtLmEtYW5kLW1fbWFpbi4ucGF0Y2ggXAogICAgICAgICAgICAiCiBTUkNfVVJJW21kNXN1bV0gPSAiNzQxNzU0MjZhZmEyODAxODRiNjI1OTFiNThjNjcxYjMiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDM3YzExYmZlZmQ0NzdjYzZlOWViZThmMTkzYmIyMzdmZTM5N2Y3Y2U3OTFiNGE0Y2UzZmExYzZhNTIwYmFhNSIKQEAgLTU2LDYgKzU4LDkgQEAKIENPTVBBVElCTEVfSE9TVF9taXBzYXJjaHI2ID0gJ251bGwnCiBDT01QQVRJQkxFX0hPU1RfbGludXgtZ251bjMyID0gJ251bGwnCiAKKyMgRGlzYWJsZSBmb3IgcG93ZXJwYzY0IHdpdGggbXVzbAorQ09NUEFUSUJMRV9IT1NUX2xpYmMtbXVzbF9wb3dlcnBjNjQgPSAnbnVsbCcKKwogaW5oZXJpdCBhdXRvdG9vbHMgcHRlc3QgbXVsdGlsaWJfaGVhZGVyCiAKIEVYVFJBX09FQ09ORiA9ICItLWVuYWJsZS10bHMgLS13aXRob3V0LW1waWNjIgpAQCAtNjMsNyArNjgsNiBAQAogCiAjIHZhbGdyaW5kIGNoZWNrcyBob3N0X2NwdSAiYXJtdjcqKSIsIHNvIHdlIG5lZWQgdG8gb3Zlci1yaWRlIHRoZSBhdXRvdG9vbHMuYmJjbGFzcyBkZWZhdWx0IC0taG9zdCBvcHRpb24KIEVYVFJBX09FQ09ORl9hcHBlbmRfYXJtID0gIiAtLWhvc3Q9YXJtdjcke0hPU1RfVkVORE9SfS0ke0hPU1RfT1N9IgotVEFSR0VUX0NDX0FSQ0hfcmVtb3ZlX2FybSA9ICIke0BnZXRfbWNwdShkKX0iCiAKIEVYVFJBX09FTUFLRSA9ICItdyIKIApAQCAtNzUsMTQgKzc5LDYgQEAKICMgd2hpY2ggZml4ZXMgYnVpbGQgcGF0aCBpc3N1ZSBpbiBEV0FSRi4KIFNFTEVDVEVEX09QVElNSVpBVElPTiA9ICIke0RFQlVHX0ZMQUdTfSIKIAotZGVmIGdldF9tY3B1KGQpOgotICAgIGZvciBhcmcgaW4gKGQuZ2V0VmFyKCdUVU5FX0NDQVJHUycpIG9yICcnKS5zcGxpdCgpOgotICAgICAgICBpZiBhcmcuc3RhcnRzd2l0aCgnLW1jcHU9Jyk6Ci0gICAgICAgICAgICByZXR1cm4gYXJnCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBjb250aW51ZQotICAgIHJldHVybiAiIgotCiBkb19jb25maWd1cmVfcHJlcGVuZCAoKSB7CiAgICAgcm0gLXJmICR7U30vY29uZmlnLmgKICAgICBzZWQgLWkgLWUgJ3M6JChhYnNfdG9wX2J1aWxkZGlyKTokKHBrZ2xpYmRpcikvcHRlc3Q6ZycgJHtTfS9ub25lL3Rlc3RzL01ha2VmaWxlLmFtCkBAIC05NCw4ICs5MCw2IEBACiAgICAgb2VfbXVsdGlsaWJfaGVhZGVyIHZhbGdyaW5kL2NvbmZpZy5oCiB9CiAKLVRVTkUgPSAiJHtAc3RyaXBfbWNwdShkKX0iCi0KIFZBTEdSSU5EQVJDSCA/PSAiJHtUQVJHRVRfQVJDSH0iCiBWQUxHUklOREFSQ0hfYWFyY2g2NCA9ICJhcm02NCIKIFZBTEdSSU5EQVJDSF94ODYtNjQgPSAiYW1kNjQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy94bWx0by9maWxlcy9jYXRhbG9nLnhtbCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3htbHRvL2ZpbGVzL2NhdGFsb2cueG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2Yjg4MzNkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3htbHRvL2ZpbGVzL2NhdGFsb2cueG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08IURPQ1RZUEUgY2F0YWxvZyBQVUJMSUMgIi0vL09BU0lTLy9EVEQgRW50aXR5IFJlc29sdXRpb24gWE1MIENhdGFsb2cgVjEuMC8vRU4iICJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2NvbW1pdHRlZXMvZW50aXR5L3JlbGVhc2UvMS4wL2NhdGFsb2cuZHRkIj4KLTxjYXRhbG9nIHhtbG5zPSJ1cm46b2FzaXM6bmFtZXM6dGM6ZW50aXR5OnhtbG5zOnhtbDpjYXRhbG9nIj4KLTxkZWxlZ2F0ZVN5c3RlbSBzeXN0ZW1JZFN0YXJ0U3RyaW5nPSJodHRwOi8vZG9jYm9vay5vcmcveG1sLyIgY2F0YWxvZz0iLi9kb2Nib29rLXhtbC54bWwiLz4KLTxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRUxFTUVOVFMgRG9jQm9vayIgY2F0YWxvZz0iLi9kb2Nib29rLXhtbC54bWwiLz4KLTxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRFREIERvY0Jvb2sgWE1MIiBjYXRhbG9nPSIuL2RvY2Jvb2steG1sLnhtbCIvPgotPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9EVEQgWE1MIEV4Y2hhbmdlIFRhYmxlIE1vZGVsIDE5OTkwMzE1IiBjYXRhbG9nPSIuL2RvY2Jvb2steG1sLnhtbCIvPgotPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL05vcm1hbiBXYWxzaC8vRFREIENBTFMgVGFibGUgTW9kZWwgWE1MIiBjYXRhbG9nPSIuL2RvY2Jvb2steG1sLnhtbCIvPgotPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL05vcm1hbiBXYWxzaC8vRUxFTUVOVFMgRG9jQmsgWE1MIiBjYXRhbG9nPSIuL2RvY2Jvb2steG1sLnhtbCIvPgotPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL05vcm1hbiBXYWxzaC8vRFREIERvY0Jvb2sgWE1MIiBjYXRhbG9nPSIuL2RvY2Jvb2steG1sLnhtbCIvPgotPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTlRJVElFUyBEb2NCb29rIiBjYXRhbG9nPSIuL2RvY2Jvb2steG1sLnhtbCIvPgotPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL05vcm1hbiBXYWxzaC8vRU5USVRJRVMgRG9jQmsgWE1MIiBjYXRhbG9nPSIuL2RvY2Jvb2steG1sLnhtbCIvPgotPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL05vcm1hbiBXYWxzaC8vRFREIERvY0JrIFhNTCIgY2F0YWxvZz0iLi9kb2Nib29rLXhtbC54bWwiLz4KLTxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9Ob3JtYWwgV2Fsc2gvL0V4Y2hhbmdlIFRhYmxlIE1vZGVsIDE5OTYwNDMwIiBjYXRhbG9nPSIuL2RvY2Jvb2steG1sLnhtbCIvPgotPGRlbGVnYXRlU3lzdGVtIHN5c3RlbUlkU3RhcnRTdHJpbmc9Imh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvIiBjYXRhbG9nPSIuL2RvY2Jvb2steG1sLnhtbCIvPgotPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9EVEQgRG9jQm9vayBDQUxTIFRhYmxlIE1vZGVsIiBjYXRhbG9nPSIuL2RvY2Jvb2steG1sLnhtbCIvPgotPGRlbGVnYXRlVVJJIHVyaVN0YXJ0U3RyaW5nPSJodHRwOi8vZG9jYm9vay5zb3VyY2Vmb3JnZS5uZXQvcmVsZWFzZS94c2wvIiBjYXRhbG9nPSIuL2RvY2Jvb2steHNsLnhtbCIvPgotPGRlbGVnYXRlU3lzdGVtIHN5c3RlbUlkU3RhcnRTdHJpbmc9Imh0dHA6Ly9kb2Nib29rLnNvdXJjZWZvcmdlLm5ldC9yZWxlYXNlL3hzbC8iIGNhdGFsb2c9Ii4vZG9jYm9vay14c2wueG1sIi8+Ci08L2NhdGFsb2c+CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy94bWx0by94bWx0b18wLjAuMjguYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy94bWx0by94bWx0b18wLjAuMjguYmIKaW5kZXggNjIxNmQ3Ny4uZGY3OThkZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMveG1sdG8veG1sdG9fMC4wLjI4LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3htbHRvL3htbHRvXzAuMC4yOC5iYgpAQCAtNywyMiArNywyMyBAQAogCiBTUkNfVVJJID0gImh0dHBzOi8vcmVsZWFzZXMucGFndXJlLm9yZy94bWx0by94bWx0by0ke1BWfS50YXIuZ3ogXAogICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLmluLWRyb3AtdGhlLXRlc3Qtb2YteG1sbGludC1hbmQteHNsdHByb2MucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vY2F0YWxvZy54bWwgXAogIgogU1JDX1VSSVttZDVzdW1dID0gImExZmVmYWQ5ZDgzNDk5YTE1NTc2NzY4ZjYwZjg0N2M2IgogU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJmOTg2YjdjOWEwZTlhYzY3MjgxNDc2NjhlNzc2ZDQwNTQ2NTI4NGUxM2M3NGQ0MTQ2YzljYmM1MWZkOGFhZDMiCiAKIGluaGVyaXQgYXV0b3Rvb2xzCi1SREVQRU5EU19jbGFzcy1uYXRpdmUgPSAibGlieHNsdC1uYXRpdmUiCiAKLSMgeG1sdG8gbmVlZHMgZ2V0b3B0L3htbGxpbnQveHNsdHByb2MvYmFzaC90YWlsIGF0IHJ1bnRpbWUKK0RFUEVORFMgPSAibGlieG1sMi1uYXRpdmUiCisKIFJERVBFTkRTXyR7UE59ID0gImRvY2Jvb2steG1sLWR0ZDQgXAogICAgICAgICAgICAgICAgICAgZG9jYm9vay14c2wtc3R5bGVzaGVldHMgXAogICAgICAgICAgICAgICAgICAgdXRpbC1saW51eCBcCiAgICAgICAgICAgICAgICAgICBsaWJ4bWwyIFwKKyAgICAgICAgICAgICAgICAgIGxpYnhzbHQgXAogICAgICAgICAgICAgICAgICAgYmFzaCBcCiAiCiBSREVQRU5EU18ke1BOfV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBcCisgICAgICAgICAgICAgICAgICBsaWJ4bWwyLXV0aWxzIFwKICAgICAgICAgICAgICAgICAgIGxpYnhzbHQtYmluIFwKICAgICAgICAgICAgICAgICAgIGNvcmV1dGlscyBcCiAiCkBAIC0zMiwxMCArMzMsOCBAQAogCiBFWFRSQV9PRUNPTkZfYXBwZW5kID0gIiBCQVNIPS9iaW4vYmFzaCBHQ1A9L2Jpbi9jcCBYTUxMSU5UPXhtbGxpbnQgWFNMVFBST0M9eHNsdHByb2MiCiAKLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0veG1sLwotICAgIGluc3RhbGwgLW0gNzU1ICAke1dPUktESVJ9L2NhdGFsb2cueG1sICR7RH0ke3N5c2NvbmZkaXJ9L3htbC9jYXRhbG9nLnhtbAotICAgIGNyZWF0ZV93cmFwcGVyICR7RH0vJHtiaW5kaXJ9L3htbHRvIFhNTF9DQVRBTE9HX0ZJTEVTPSR7c3lzY29uZmRpcn0veG1sL2NhdGFsb2cueG1sCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7CisgICAgY3JlYXRlX3dyYXBwZXIgJHtEfSR7YmluZGlyfS94bWx0byBYTUxfQ0FUQUxPR19GSUxFUz0ke3N5c2NvbmZkaXJ9L3htbC9jYXRhbG9nCiB9CiAKIGRvX3BvcHVsYXRlX3N5c3Jvb3RbcmRlcHRhc2tdID0gImRvX3BvcHVsYXRlX3N5c3Jvb3QiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9hc2NpaWRvYy9hc2NpaWRvYy9hdXRvLWNhdGFsb2dzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXNjaWlkb2MvYXNjaWlkb2MvYXV0by1jYXRhbG9ncy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYTE3MGRiCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXNjaWlkb2MvYXNjaWlkb2MvYXV0by1jYXRhbG9ncy5wYXRjaApAQCAtMCwwICsxLDUzIEBACitJZiBTR01MX0NBVEFMT0dfRklMRVMgaXMgaW4gdGhlIGVudmlyb25tZW50LCBwYXNzIC0tY2F0YWxvZ3MgdG8geG1sbGludCBhbmQKK3hzbHRwcm9jLiBBbHNvIHBhc3MgLS1ub25ldCB0byB4c2x0cHJvYyB0byBkZXRlY3QgZnV0dXJlIG1pc3Npbmcgc3R5bGVzaGVldAorcHJvYmxlbXMuCisKK0FuIGVhcmxpZXIgdmVyc2lvbiBvZiB0aGlzIHBhdGNoIHdhcyBmaWxlZCB1cHN0cmVhbSBhdAoraHR0cHM6Ly9naXRodWIuY29tL2FzY2lpZG9jL2FzY2lpZG9jLXB5My9pc3N1ZXMvNjEgc28gZGVwZW5kaW5nIG9uIGhvdyB0aGF0IGdvZXMKK3RoaXMgY291bGQgZ2V0IG1lcmdlZC4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlCitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitkaWZmIC0tZ2l0IGEvYTJ4LnB5IGIvYTJ4LnB5CitpbmRleCAyZDc2OTlhLi41ODJkODA5IDEwMDc1NQorLS0tIGEvYTJ4LnB5CisrKysgYi9hMngucHkKK0BAIC01Nyw2ICs1NywxMCBAQCBMWU5YX09QVFMgPSAnLWR1bXAnCisgVzNNX09QVFMgPSAnLWR1bXAgLWNvbHMgNzAgLVQgdGV4dC9odG1sIC1uby1ncmFwaCcKKyBYU0xUUFJPQ19PUFRTID0gJycKKyAKKytpZiAiU0dNTF9DQVRBTE9HX0ZJTEVTIiBpbiBvcy5lbnZpcm9uOgorKyAgWE1MTElOVCArPSAiIC0tY2F0YWxvZ3MiCisrICBYU0xUUFJPQyArPSAiIC0tY2F0YWxvZ3MiCisrCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICMgRW5kIG9mIGNvbmZpZ3VyYXRpb24gZmlsZSBwYXJhbWV0ZXJzLgorICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKK0BAIC0yOTgsNyArMzAyLDcgQEAgZGVmIGV4ZWNfeHNsdHByb2MoeHNsX2ZpbGUsIHhtbF9maWxlLCBkc3RfZGlyLCBvcHRzID0gJycpOgorICAgICBjd2QgPSBvcy5nZXRjd2QoKQorICAgICBzaGVsbF9jZChkc3RfZGlyKQorICAgICB0cnk6CistICAgICAgICBzaGVsbCgnIiVzIiAlcyAiJXMiICIlcyInICUgKFhTTFRQUk9DLCBvcHRzLCB4c2xfZmlsZSwgeG1sX2ZpbGUpKQorKyAgICAgICAgc2hlbGwoJyVzICVzICIlcyIgIiVzIicgJSAoWFNMVFBST0MsIG9wdHMsIHhzbF9maWxlLCB4bWxfZmlsZSkpCisgICAgIGZpbmFsbHk6CisgICAgICAgICBzaGVsbF9jZChjd2QpCisgCitAQCAtNDgzLDcgKzQ4Nyw3IEBAIGNsYXNzIEEyWChBdHRyRGljdCk6CisgICAgICAgICAgICAgc2VsZi5hc2NpaWRvY19vcHRzICs9ICcgLS1kb2N0eXBlICVzJyAlIHNlbGYuZG9jdHlwZQorICAgICAgICAgZm9yIGF0dHIgaW4gc2VsZi5hdHRyaWJ1dGVzOgorICAgICAgICAgICAgIHNlbGYuYXNjaWlkb2Nfb3B0cyArPSAnIC0tYXR0cmlidXRlICIlcyInICUgYXR0cgorLSMgICAgICAgIHNlbGYueHNsdHByb2Nfb3B0cyArPSAnIC0tbm9uZXQnCisrICAgICAgICBzZWxmLnhzbHRwcm9jX29wdHMgKz0gJyAtLW5vbmV0JworICAgICAgICAgaWYgc2VsZi52ZXJib3NlOgorICAgICAgICAgICAgIHNlbGYuYXNjaWlkb2Nfb3B0cyArPSAnIC0tdmVyYm9zZScKKyAgICAgICAgICAgICBzZWxmLmRibGF0ZXhfb3B0cyArPSAnIC1WJworQEAgLTYzNCw3ICs2MzgsNyBAQCBjbGFzcyBBMlgoQXR0ckRpY3QpOgorICAgICAgICAgc2hlbGwoJyIlcyIgLS1iYWNrZW5kIGRvY2Jvb2sgLWEgImEyeC1mb3JtYXQ9JXMiICVzIC0tb3V0LWZpbGUgIiVzIiAiJXMiJyAlCisgICAgICAgICAgICAgIChzZWxmLmFzY2lpZG9jLCBzZWxmLmZvcm1hdCwgc2VsZi5hc2NpaWRvY19vcHRzLCBkb2Nib29rX2ZpbGUsIHNlbGYuYXNjaWlkb2NfZmlsZSkpCisgICAgICAgICBpZiBub3Qgc2VsZi5ub194bWxsaW50IGFuZCBYTUxMSU5UOgorLSAgICAgICAgICAgIHNoZWxsKCciJXMiIC0tbm9uZXQgLS1ub291dCAtLXZhbGlkICIlcyInICUgKFhNTExJTlQsIGRvY2Jvb2tfZmlsZSkpCisrICAgICAgICAgICAgc2hlbGwoJyVzIC0tbm9uZXQgLS1ub291dCAtLXZhbGlkICIlcyInICUgKFhNTExJTlQsIGRvY2Jvb2tfZmlsZSkpCisgCisgICAgIGRlZiB0b194aHRtbChzZWxmKToKKyAgICAgICAgIHNlbGYudG9fZG9jYm9vaygpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9hc2NpaWRvYy9hc2NpaWRvY184LjYuOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2FzY2lpZG9jL2FzY2lpZG9jXzguNi45LmJiCmluZGV4IDM4MTY0ZDUuLjc1MWJmMGYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2FzY2lpZG9jL2FzY2lpZG9jXzguNi45LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2FzY2lpZG9jL2FzY2lpZG9jXzguNi45LmJiCkBAIC04LDE3ICs4LDI1IEBACiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT04Y2E0M2NiYzg0MmMyMzM2ZTgzNTkyNmMyMTY2YzI4YiBcCiAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZUklHSFQ7bWQ1PTAyOWFkNTQyOGJhNWVmYTIwMTc2YjM5NjIyMmQ0MDY5IgogCi1TUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L3Byb2plY3QvJHtCUE59LyR7QlBOfS8ke1BWfS8ke0JQfS50YXIuZ3oiCi1TUkNfVVJJW21kNXN1bV0gPSAiYzU5MDE4ZjEwNWJlOGQwMjI3MTRiODI2YjBiZTEzMGEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzhkYjlkMDU2N2M4YWI2NTcwYTZlZmY3ZmZkZjg0ZWFkZDkxZjJkZmMwYTkyYTJkMDEwNWQzMjNjYWI0ZTFmMCIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9hc2NpaWRvYy9hc2NpaWRvYy1weTM7cHJvdG9jb2w9aHR0cHMgXAorICAgICAgICAgICBmaWxlOi8vYXV0by1jYXRhbG9ncy5wYXRjaCIKK1NSQ1JFViA9ICI2MThmNmU2ZjZiNTU4ZWQxZTVmMjU4OGNkNjBhNWE2YjRmODgxY2EwIgorUFYgLj0gIitweTMtZ2l0JHtTUkNQVn0iCiAKLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9hc2NpaWRvYy9maWxlcy8iCitERVBFTkRTID0gImxpYnhtbDItbmF0aXZlIGxpYnhzbHQtbmF0aXZlIGRvY2Jvb2steG1sLWR0ZDQtbmF0aXZlIGRvY2Jvb2steHNsLXN0eWxlc2hlZXRzLW5hdGl2ZSIKIAorUyA9ICIke1dPUktESVJ9L2dpdCIKKworIyBUZWxsIHhtbGxpbnQgd2hlcmUgdG8gZmluZCB0aGUgRG9jQm9vayBYTUwgY2F0YWxvZ3VlLCBiZWNhdXNlIHJpZ2h0IG5vdyBpdAorIyBvcGVucyAvZXRjL3htbC9jYXRhbG9nIG9uIHRoZSBob3N0LiBEZXBlbmRzIG9uIGF1dG8tY2F0YWxvZ3MucGF0Y2gKK2V4cG9ydCBTR01MX0NBVEFMT0dfRklMRVM9ImZpbGU6Ly8ke1NUQUdJTkdfRVRDRElSX05BVElWRX0veG1sL2NhdGFsb2ciCisKKyMgTm90IHVzaW5nIGF1dG9tYWtlCiBpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKLQotZXhwb3J0IERFU1RESVIgPSAiJHtEfSIKLURFUEVORFNfY2xhc3MtbmF0aXZlID0gImRvY2Jvb2steG1sLWR0ZDQtbmF0aXZlIgotUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbiIgCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKLQogQ0xFQU5CUk9LRU4gPSAiMSIKKworIyB0YXJnZXQgYW5kIG5hdGl2ZXNkayBuZWVkcyBweXRob24zLCBidXQgZm9yIG5hdGl2ZSB3ZSBjYW4gdXNlIHRoZSBob3N0LgorUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbjMiCitSREVQRU5EU19yZW1vdmVfY2xhc3MtbmF0aXZlID0gInB5dGhvbjMiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2F0L2F0L2ZpeF9wYXJhbGxlbF9idWlsZF9lcnJvci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2F0L2F0L2ZpeF9wYXJhbGxlbF9idWlsZF9lcnJvci5wYXRjaAppbmRleCAxMDBmODg5Li4zMGQyMzI0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9hdC9hdC9maXhfcGFyYWxsZWxfYnVpbGRfZXJyb3IucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXQvYXQvZml4X3BhcmFsbGVsX2J1aWxkX2Vycm9yLnBhdGNoCkBAIC0xLDMgKzEsOCBAQAorRnJvbSAyNGVmMmE2NTQ0ZjljN2VjMDFiYzdhZTczZGZmYTI5NzRhMWUyNTFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogV2VkLCA1IERlYyAyMDE4IDA5OjQ2OjIyICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGZpeCBwYXJhbGxlbCBidWlsZCBlcnJvcgorCiBtYWtlIC1qIHdhcyBmYWlsaW5nIHNvbWV0aW1lc2EgbGlrZSB0aGlzCiB8IGNjYWNoZSBpNTg2LXBva3ktbGludXgtZ2NjIC1tYXJjaD1pNTg2IC0tc3lzcm9vdD0vaG9tZS9uaXRpbi9idWlsZC9idWlsZDAvdG1wL3N5c3Jvb3RzL2k1ODYtcG9reS1saW51eCAtSS4gLWZleHBlbnNpdmUtb3B0aW1pemF0aW9ucyAtZm9taXQtZnJhbWUtcG9pbnRlciAtZnJlbmFtZS1yZWdpc3RlcnMgLU8yIC1nZ2RiIC1mZWxpbWluYXRlLXVudXNlZC1kZWJ1Zy10eXBlcyAtbyBhdGQgYXRkLm8gZGFlbW9uLm8gIC1sZmwgIC1scGFtIC1XbCwtTzEgLVdsLC0tYXMtbmVlZGVkCiB8IHBhcnNldGltZS5sOjU6MTk6IGZhdGFsIGVycm9yOiB5LnRhYi5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CkBAIC0xMiwyNCArMTcsMjQgQEAKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZwogCiBTaWduZWQtb2ZmLWJ5OiBTY290dCBHYXJtYW4gPHNjb3R0LmEuZ2FybWFuQGludGVsLmNvbT4KLQorU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgogLS0tCiAgTWFrZWZpbGUuaW4gfCAyICsrCiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQogCiBkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuaW4gYi9NYWtlZmlsZS5pbgotaW5kZXggZGQzYzJmOC4uNzg5N2U0NSAxMDA2NDQKK2luZGV4IDRjMTE5MTMuLjE4ZWNjMjMgMTAwNjQ0CiAtLS0gYS9NYWtlZmlsZS5pbgogKysrIGIvTWFrZWZpbGUuaW4KLUBAIC04Miw2ICs4Miw4IEBAIHkudGFiLmMgeS50YWIuaDogcGFyc2V0aW1lLnkKK0BAIC04Myw2ICs4Myw4IEBAIHkudGFiLmMgeS50YWIuaDogcGFyc2V0aW1lLnkKICBsZXgueXkuYzogcGFyc2V0aW1lLmwKICAJJChMRVgpIC1pIHBhcnNldGltZS5sCiAgCiArcGFyc2V0aW1lLmw6IHkudGFiLmgKICsKICBhdGQuc2VydmljZTogYXRkLnNlcnZpY2UuaW4KLSAJc2VkIC1lICdzIVtAXXNiaW5kaXJbQF0hJChzYmluZGlyKSFnJyA8ICQ8ID4gJEAKKyAJY2F0ICQ8IHwgc2VkIC1lICdzIVtAXXNiaW5kaXJbQF0hJChzYmluZGlyKSFnJyB8IHNlZCAtZSAncyFbQF1hdGpvYmRpcltAXSEkKGF0am9iZGlyKSFnJyA+ICRACiAgCiAtLSAKLTEuOS4xCisyLjcuNAogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9hdC9hdC9wYW0uY29uZi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2F0L2F0L3BhbS5jb25mLnBhdGNoCmluZGV4IGI1Y2ViOWEuLmM5ZjMzN2UgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2F0L2F0L3BhbS5jb25mLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2F0L2F0L3BhbS5jb25mLnBhdGNoCkBAIC0xLDI3ICsxLDM1IEBACitGcm9tIDhjOGEwYjZiYTE5OTMyN2QyZWFmZWZkNjYxMTM1M2UxYzQ4M2E4NTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBXZWQsIDUgRGVjIDIwMTggMTA6MDA6MzYgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gZml4IHBhbS5jb25mCisKIG9lIGRvZXNuJ3Qgc3VwcG9ydCAiQGluY2x1ZGUiLCB1c2UgdGhlIGNvbmNyZXRlIGRpcmVjdGl2ZSBpbnN0ZWFkLgogCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIAogU2lnbmVkLW9mZi1ieTogV2Vuem9uZyBGYW4gPHdlbnpvbmcuZmFuQHdpbmRyaXZlci5jb20+Ci1JbmRleDogYXQtMy4xLjE1L3BhbS5jb25mCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gYXQtMy4xLjE1Lm9yaWcvcGFtLmNvbmYKLSsrKyBhdC0zLjEuMTUvcGFtLmNvbmYKLUBAIC0xLDEwICsxLDExIEBACi0gIworU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgcGFtLmNvbmYgfCA2ICsrKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9wYW0uY29uZiBiL3BhbS5jb25mCitpbmRleCAzNjc0YzBhLi4yZjhkNTg2IDEwMDY0NAorLS0tIGEvcGFtLmNvbmYKKysrKyBiL3BhbS5jb25mCitAQCAtMiw5ICsyLDkgQEAKICAjIFRoZSBQQU0gY29uZmlndXJhdGlvbiBmaWxlIGZvciB0aGUgYXQgZGFlbW9uCiAgIwotKyAKLSthdXRoICAgIHJlcXVpcmVkICAgIHBhbV9lbnYuc28KLSthdXRoICAgIGluY2x1ZGUgICAgIGNvbW1vbi1hdXRoCi0rYWNjb3VudCBpbmNsdWRlICAgICBjb21tb24tYWNjb3VudAotK3Nlc3Npb24gaW5jbHVkZSAgICAgY29tbW9uLXNlc3Npb24tbm9uaW50ZXJhY3RpdmUKLStzZXNzaW9uIHJlcXVpcmVkICAgIHBhbV9saW1pdHMuc28KLStzZXNzaW9uIHJlcXVpcmVkICAgIHBhbV9sb2dpbnVpZC5zbwogIAotLWF1dGgJcmVxdWlyZWQJcGFtX2Vudi5zbwogLUBpbmNsdWRlIGNvbW1vbi1hdXRoCiAtQGluY2x1ZGUgY29tbW9uLWFjY291bnQKLS1zZXNzaW9uICAgIHJlcXVpcmVkICAgcGFtX2xvZ2ludWlkLnNvCisrYXV0aCAgICAgICBpbmNsdWRlICAgIGNvbW1vbi1hdXRoCisrYWNvdW50ICAgICBpbmNsdWRlICAgIGNvbW1vbi1hY2NvdW50Cisgc2Vzc2lvbiAgICByZXF1aXJlZCAgIHBhbV9sb2dpbnVpZC5zbwogLUBpbmNsdWRlIGNvbW1vbi1zZXNzaW9uLW5vbmludGVyYWN0aXZlCi0tc2Vzc2lvbiAgICByZXF1aXJlZCAgIHBhbV9saW1pdHMuc28KKytzZXNzaW9uICAgIGluY2x1ZGUgICAgY29tbW9uLXNlc3Npb24tbm9uaW50ZXJhY3RpdmUKKyBzZXNzaW9uICAgIHJlcXVpcmVkICAgcGFtX2xpbWl0cy5zbworIGF1dGgJcmVxdWlyZWQJcGFtX2Vudi5zbyB1c2VyX3JlYWRlbnY9MQorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9hdC9hdF8zLjEuMjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9hdC9hdF8zLjEuMjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI3NmU4M2QuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXQvYXRfMy4xLjIwLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNzggKzAsMCBAQAotU1VNTUFSWSA9ICJEZWxheWVkIGpvYiBleGVjdXRpb24gYW5kIGJhdGNoIHByb2Nlc3NpbmciCi1IT01FUEFHRSA9ICJodHRwOi8vYmxvZy5jYWxoYXJpei5jb20vIgotREVTQ1JJUFRJT04gPSAiQXQgYWxsb3dzIGZvciBjb21tYW5kcyB0byBiZSBydW4gYXQgYSBwYXJ0aWN1bGFyIHRpbWUuICBCYXRjaCB3aWxsIGV4ZWN1dGUgY29tbWFuZHMgd2hlbiBcCi10aGUgc3lzdGVtIGxvYWQgbGV2ZWxzIGRyb3AgdG8gYSBwYXJ0aWN1bGFyIGxldmVsLiIKLVNFQ1RJT04gPSAiYmFzZSIKLUxJQ0VOU0UgPSAiR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NDMyNWFmZDM5NmZlYmNiNjU5YzM2YjQ5NTMzMTM1ZDQiCi1ERVBFTkRTID0gImZsZXggZmxleC1uYXRpdmUgYmlzb24tbmF0aXZlIFwKLSAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnbGlicGFtJywgJycsIGQpfSIKLQotUEFDS0FHRUNPTkZJRyA/PSAiXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc2VsaW51eCcsICdzZWxpbnV4JywgJycsIGQpfSBcCi0iCi0KLVBBQ0tBR0VDT05GSUdbc2VsaW51eF0gPSAiLS13aXRoLXNlbGludXgsLS13aXRob3V0LXNlbGludXgsbGlic2VsaW51eCwiCi0KLVJERVBFTkRTXyR7UE59ID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJyR7UEFNX0RFUFN9JywgJycsIGQpfSBcCi0iCi0KLVBBTV9ERVBTID0gImxpYnBhbSBsaWJwYW0tcnVudGltZSBwYW0tcGx1Z2luLWVudiBwYW0tcGx1Z2luLWxpbWl0cyIKLQotUkNPTkZMSUNUU18ke1BOfSA9ICJhdGQiCi1SUkVQTEFDRVNfJHtQTn0gPSAiYXRkIgotCi1TUkNfVVJJID0gImh0dHA6Ly9zbmFwc2hvdC5kZWJpYW4ub3JnL2FyY2hpdmUvZGViaWFuLzIwMTYwNzI4VDA0MzQ0M1ovcG9vbC9tYWluL2EvJHtCUE59LyR7QlBOfV8ke1BWfS5vcmlnLnRhci5neiBcCi0gICAgZmlsZTovL2ZpeF9wYXJhbGxlbF9idWlsZF9lcnJvci5wYXRjaCBcCi0gICAgZmlsZTovL3Bvc2l4dG0uYyBcCi0gICAgZmlsZTovL3Bvc2l4dG0uaCBcCi0gICAgZmlsZTovL2ZpbGVfcmVwbGFjZW1lbnRfd2l0aF9ncGx2Mi5wYXRjaCBcCi0gICAgZmlsZTovL2F0ZC5pbml0IFwKLSAgICBmaWxlOi8vYXRkLnNlcnZpY2UgXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJyR7UEFNX1NSQ19VUkl9JywgJycsIGQpfSBcCi0gICAgZmlsZTovL21ha2VmaWxlLWZpeC1wYXJhbGxlbC5wYXRjaCBcCi0gICAgZmlsZTovLzAwMDEtcmVtb3ZlLWdsaWJjLWFzc3VtcHRpb24ucGF0Y2ggXAotICAgICIKLQotUEFNX1NSQ19VUkkgPSAiZmlsZTovL3BhbS5jb25mLnBhdGNoIFwKLSAgICAgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUtYWRkLWVuYWJsZS1wYW0ucGF0Y2giCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJlN2JkN2I3ODViMmNiYjE3ZTEzM2Q2YmRjMGZiMDk5ZSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIwODcxOTIzY2FiNzMwNTBiOThhY2UwMjA2NjRlYjJkZGMxZTY2OWU0MTY2YjVhYmI2NGQ4NjRkMDJmY2VmYWI5IgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiJHtERUJJQU5fTUlSUk9SfS9tYWluL2EvYXQvIgotCi1FWFRSQV9PRUNPTkYgKz0gImFjX2N2X3BhdGhfU0VORE1BSUw9L2Jpbi90cnVlIFwKLSAgICAgICAgICAgICAgICAgLS13aXRoLWRhZW1vbl91c2VybmFtZT1yb290IFwKLSAgICAgICAgICAgICAgICAgLS13aXRoLWRhZW1vbl9ncm91cG5hbWU9cm9vdCBcCi0gICAgICAgICAgICAgICAgIC0td2l0aC1qb2JkaXI9L3Zhci9zcG9vbC9hdC9qb2JzIFwKLSAgICAgICAgICAgICAgICAgLS13aXRoLWF0c3Bvb2w9L3Zhci9zcG9vbC9hdC9zcG9vbCBcCi0gICAgICAgICAgICAgICAgIGFjX2N2X2hlYWRlcl9zZWN1cml0eV9wYW1fYXBwbF9oPSR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ3llcycsICdubycsIGQpfSAiCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBzeXN0ZW1kIHVwZGF0ZS1yYy5kCi0KLUlOSVRTQ1JJUFRfTkFNRSA9ICJhdGQiCi1JTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyIKLQotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImF0ZC5zZXJ2aWNlIgotCi1jb3B5X3NvdXJjZXMoKSB7Ci0JY3AgLWYgJHtXT1JLRElSfS9wb3NpeHRtLltjaF0gJHtTfQotfQotZG9fcGF0Y2hbcG9zdGZ1bmNzXSArPSAiY29weV9zb3VyY2VzIgotCi1kb19pbnN0YWxsICgpIHsKLQlvZV9ydW5tYWtlIC1lICJJUk9PVD0ke0R9IiBpbnN0YWxsCi0KLQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAotCWluc3RhbGwgLW0gMDc1NSAgICAke1dPUktESVJ9L2F0ZC5pbml0CQkke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvYXRkCi0KLQkjIGluc3RhbGwgc3lzdGVtZCB1bml0IGZpbGVzCi0JaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2F0ZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0Jc2VkIC1pIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2F0ZC5zZXJ2aWNlCi0KLQlpZiBbICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCBkKX0iIF07IHRoZW4KLQkJaW5zdGFsbCAtRCAtbSAwNjQ0ICR7V09SS0RJUn0vJHtCUH0vcGFtLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vcGFtLmQvYXRkCi0JZmkKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2F0L2F0XzMuMS4yMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2F0L2F0XzMuMS4yMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNzQ4ODJkCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXQvYXRfMy4xLjIzLmJiCkBAIC0wLDAgKzEsNzggQEAKK1NVTU1BUlkgPSAiRGVsYXllZCBqb2IgZXhlY3V0aW9uIGFuZCBiYXRjaCBwcm9jZXNzaW5nIgorSE9NRVBBR0UgPSAiaHR0cDovL2Jsb2cuY2FsaGFyaXouY29tLyIKK0RFU0NSSVBUSU9OID0gIkF0IGFsbG93cyBmb3IgY29tbWFuZHMgdG8gYmUgcnVuIGF0IGEgcGFydGljdWxhciB0aW1lLiAgQmF0Y2ggd2lsbCBleGVjdXRlIGNvbW1hbmRzIHdoZW4gXAordGhlIHN5c3RlbSBsb2FkIGxldmVscyBkcm9wIHRvIGEgcGFydGljdWxhciBsZXZlbC4iCitTRUNUSU9OID0gImJhc2UiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTQzMjVhZmQzOTZmZWJjYjY1OWMzNmI0OTUzMzEzNWQ0IgorREVQRU5EUyA9ICJmbGV4IGZsZXgtbmF0aXZlIGJpc29uLW5hdGl2ZSBcCisgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ2xpYnBhbScsICcnLCBkKX0iCisKK1BBQ0tBR0VDT05GSUcgPz0gIlwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3NlbGludXgnLCAnc2VsaW51eCcsICcnLCBkKX0gXAorIgorCitQQUNLQUdFQ09ORklHW3NlbGludXhdID0gIi0td2l0aC1zZWxpbnV4LC0td2l0aG91dC1zZWxpbnV4LGxpYnNlbGludXgsIgorCitSREVQRU5EU18ke1BOfSA9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICcke1BBTV9ERVBTfScsICcnLCBkKX0gXAorIgorCitQQU1fREVQUyA9ICJsaWJwYW0gbGlicGFtLXJ1bnRpbWUgcGFtLXBsdWdpbi1lbnYgcGFtLXBsdWdpbi1saW1pdHMiCisKK1JDT05GTElDVFNfJHtQTn0gPSAiYXRkIgorUlJFUExBQ0VTXyR7UE59ID0gImF0ZCIKKworU1JDX1VSSSA9ICJodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi8yMDE4MDgyNVQwOTAyNDhaL3Bvb2wvbWFpbi9hLyR7QlBOfS8ke0JQTn1fJHtQVn0ub3JpZy50YXIuZ3ogXAorICAgIGZpbGU6Ly9maXhfcGFyYWxsZWxfYnVpbGRfZXJyb3IucGF0Y2ggXAorICAgIGZpbGU6Ly9wb3NpeHRtLmMgXAorICAgIGZpbGU6Ly9wb3NpeHRtLmggXAorICAgIGZpbGU6Ly9maWxlX3JlcGxhY2VtZW50X3dpdGhfZ3BsdjIucGF0Y2ggXAorICAgIGZpbGU6Ly9hdGQuaW5pdCBcCisgICAgZmlsZTovL2F0ZC5zZXJ2aWNlIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICcke1BBTV9TUkNfVVJJfScsICcnLCBkKX0gXAorICAgIGZpbGU6Ly9tYWtlZmlsZS1maXgtcGFyYWxsZWwucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAxLXJlbW92ZS1nbGliYy1hc3N1bXB0aW9uLnBhdGNoIFwKKyAgICAiCisKK1BBTV9TUkNfVVJJID0gImZpbGU6Ly9wYW0uY29uZi5wYXRjaCBcCisgICAgICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLWFkZC1lbmFibGUtcGFtLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMWNlYzk0NTUwNmI1ZGRmMWQ3NzZjOTJjMzE1ZmM1ODEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTc0NTBhYTk1NGFhYThhNzAyMThjYzhlNjFhMzNkZjlmZWU5Zjg2NTI3ZTlmODYxZGUzMDJmYjdhM2M4MTcxMCIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9hL2F0LyIKKworRVhUUkFfT0VDT05GICs9ICJhY19jdl9wYXRoX1NFTkRNQUlMPS9iaW4vdHJ1ZSBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1kYWVtb25fdXNlcm5hbWU9cm9vdCBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1kYWVtb25fZ3JvdXBuYW1lPXJvb3QgXAorICAgICAgICAgICAgICAgICAtLXdpdGgtam9iZGlyPS92YXIvc3Bvb2wvYXQvam9icyBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1hdHNwb29sPS92YXIvc3Bvb2wvYXQvc3Bvb2wgXAorICAgICAgICAgICAgICAgICBhY19jdl9oZWFkZXJfc2VjdXJpdHlfcGFtX2FwcGxfaD0ke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICd5ZXMnLCAnbm8nLCBkKX0gIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgc3lzdGVtZCB1cGRhdGUtcmMuZAorCitJTklUU0NSSVBUX05BTUUgPSAiYXRkIgorSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMiCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJhdGQuc2VydmljZSIKKworY29weV9zb3VyY2VzKCkgeworCWNwIC1mICR7V09SS0RJUn0vcG9zaXh0bS5bY2hdICR7U30KK30KK2RvX3BhdGNoW3Bvc3RmdW5jc10gKz0gImNvcHlfc291cmNlcyIKKworZG9faW5zdGFsbCAoKSB7CisJb2VfcnVubWFrZSAtZSAiSVJPT1Q9JHtEfSIgaW5zdGFsbAorCisJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKwlpbnN0YWxsIC1tIDA3NTUgICAgJHtXT1JLRElSfS9hdGQuaW5pdAkJJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2F0ZAorCisJIyBpbnN0YWxsIHN5c3RlbWQgdW5pdCBmaWxlcworCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKwlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9hdGQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCXNlZCAtaSAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9hdGQuc2VydmljZQorCisJaWYgWyAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgZCl9IiBdOyB0aGVuCisJCWluc3RhbGwgLUQgLW0gMDY0NCAke1dPUktESVJ9LyR7QlB9L3BhbS5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L3BhbS5kL2F0ZAorCWZpCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ibGt0b29sL2Jsa3Rvb2wvMDAwNC1maXgtZnRiZnMtZ2xpYmMtMi4yOC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2Jsa3Rvb2wvYmxrdG9vbC8wMDA0LWZpeC1mdGJmcy1nbGliYy0yLjI4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1YmNhNjUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ibGt0b29sL2Jsa3Rvb2wvMDAwNC1maXgtZnRiZnMtZ2xpYmMtMi4yOC5wYXRjaApAQCAtMCwwICsxLDE5IEBACitEZXNjcmlwdGlvbjogRml4IEZUQkZTIHdpdGggZ2xpYmMgMi4yOAorQXV0aG9yOiBBZHJpYW4gQnVuayA8YnVua0BkZWJpYW4ub3JnPgorQnVnLURlYmlhbjogaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvOTE3MDU1CisKK1RoaXMgcGF0Y2ggaXMgdGFrZW4gZnJvbQoraHR0cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sL21haW4vYi9ibGt0b29sL2Jsa3Rvb2xfNC03LjEuZGViaWFuLnRhci54egorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW3Vwc3RyZWFtIGlzIGRlYWRdCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKy0tLSBibGt0b29sLTQub3JpZy9ibGt0b29sLmMKKysrKyBibGt0b29sLTQvYmxrdG9vbC5jCitAQCAtMTgsNiArMTgsNyBAQAorICNpbmNsdWRlIDx1bmlzdGQuaD4KKyAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyAjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisrI2luY2x1ZGUgPHN5cy9zeXNtYWNyb3MuaD4KKyAjaW5jbHVkZSA8ZmNudGwuaD4KKyAjaW5jbHVkZSA8ZXJybm8uaD4KKyAjaW5jbHVkZSA8Z2V0b3B0Lmg+CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ibGt0b29sL2Jsa3Rvb2wvYmxrdG9vbC1nbnVsaWItbWFrZWRldi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2Jsa3Rvb2wvYmxrdG9vbC9ibGt0b29sLWdudWxpYi1tYWtlZGV2LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZWVhNjA4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2Jsa3Rvb2wvYmxrdG9vbC9ibGt0b29sLWdudWxpYi1tYWtlZGV2LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPiBmb3IgbWFqb3IvbWlub3IgZGVmaW50aW9ucwotCi1GaXhlcwotCi18IC4uL2Jsa3Rvb2wtNC5vcmlnL2Jsa3Rvb2wuYzogSW4gZnVuY3Rpb24gJ2RldGVjdF9kZXZfY2xhc3MnOgotfCAuLi9ibGt0b29sLTQub3JpZy9ibGt0b29sLmM6Mjk1OjEwOiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnbWFqb3InIFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQotfCAgIHN3aXRjaCAobWFqb3Ioc3RfcmRldikpIHsKLXwgICAgICAgICAgIF5+fn5+Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLUluZGV4OiBibGt0b29sLTQub3JpZy9ibGt0b29sLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBibGt0b29sLTQub3JpZy5vcmlnL2Jsa3Rvb2wuYwotKysrIGJsa3Rvb2wtNC5vcmlnL2Jsa3Rvb2wuYwotQEAgLTI3LDYgKzI3LDcgQEAKLSAjaW5jbHVkZSA8bGludXgvY2Ryb20uaD4KLSAjaW5jbHVkZSA8bGludXgvbWFqb3IuaD4KLSAjaW5jbHVkZSA8c2NzaS9zY3NpLmg+Ci0rI2luY2x1ZGUgPHN5cy9zeXNtYWNyb3MuaD4KLSAKLSAjaW5jbHVkZSAiYmxrdG9vbC5oIgotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYmxrdG9vbC9ibGt0b29sXzQtNy4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYmxrdG9vbC9ibGt0b29sXzQtNy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmMmVhYTUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ibGt0b29sL2Jsa3Rvb2xfNC03LjEuYmIKQEAgLTAsMCArMSwyOSBAQAorU1VNTUFSWSA9ICJUdW5lIGxvdy1sZXZlbCBibG9jayBkZXZpY2UgcGFyYW1ldGVycyIKK0RFU0NSSVBUSU9OID0gImJsa3Rvb2wgaXMgdXNlZCBmb3IgcXVlcnlpbmcgYW5kL29yIGNoYW5naW5nIHNldHRpbmdzIFwKK29mIGEgYmxvY2sgZGV2aWNlLiBJdCBpcyBsaWtlIGhkcGFybSBidXQgYSBtb3JlIGdlbmVyYWwgdG9vbCwgYXMgaXQgXAord29ya3Mgb24gU0NTSSwgSURFIGFuZCBTQVRBIGRldmljZXMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3BhY2thZ2VzLmRlYmlhbi5vcmcvdW5zdGFibGUvYWRtaW4vYmxrdG9vbCIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vYmxrdG9vbC5jO2JlZ2lubGluZT03O2VuZGxpbmU9ODttZDU9YTVlNzk4ZWE5OGZkNTA5NzIwODg5NjhhMTVlNWYzNzMiCisKK0RFUEVORFMgPSAiZ2xpYi0yLjAiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NuYXBzaG90LmRlYmlhbi5vcmcvYXJjaGl2ZS9kZWJpYW4vMjAxNjA3MjhUMDQzNDQzWi9wb29sL21haW4vYi8ke0JQTn0vJHtCUE59XzQub3JpZy50YXIuZ3o7bmFtZT10YXJiYWxsIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZml4LXR5cG9zLWluLW1hbnBhZ2UucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1maXgtc3RyaW5nLWVycm9yLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtRml4LTMtZC1hcmd1bWVudC1mb3ItQkxLUk9TRVQtaXQtbXVzdC1iZS1jb25zdC1pbnQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1maXgtZnRiZnMtZ2xpYmMtMi4yOC5wYXRjaCBcCisgICAgICAgICAgIgorCitTUkNfVVJJW3RhcmJhbGwubWQ1c3VtXSA9ICI2MmVkYzA5Yzk5MDgxMDdlNjkzOTFjODdmNGYzZmQ0MCIKK1NSQ19VUklbdGFyYmFsbC5zaGEyNTZzdW1dID0gImIxZTZkNTkxMjU0NmQyYTRiNzA0ZWM2NWMyYjk2NjRhYTNiNDY2M2U3ZDgwMGUwNjgwMzMzMDMzNWEyY2I3NjQiCisKKyMgZm9yIHRoaXMgcGFja2FnZSB3ZSdyZSBtb3N0bHkgaW50ZXJlc3RlZCBpbiB0cmFja2luZyBkZWJpYW4gcGF0Y2hlcywKKyMgYW5kIG5vdCBpbiB0aGUgdXBzdHJlYW0gdmVyc2lvbiB3aGVyZSBhbGwgZGV2ZWxvcG1lbnQgaGFzIGVmZmVjdGl2ZWx5IHN0b3BwZWQKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vYi9ibGt0b29sLyIKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gIig/UDxwdmVyPigoXGQrXC4qKSspLSgoXGQrXC4qKSspKVwuKGRpZmZ8ZGViaWFuXC50YXIpXC4oZ3p8eHopIgorCitTID0gIiR7V09SS0RJUn0vJHtCUE59LTQub3JpZyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ibGt0b29sL2Jsa3Rvb2xfNC03LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYmxrdG9vbC9ibGt0b29sXzQtNy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGU2ZjdlZS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ibGt0b29sL2Jsa3Rvb2xfNC03LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotU1VNTUFSWSA9ICJUdW5lIGxvdy1sZXZlbCBibG9jayBkZXZpY2UgcGFyYW1ldGVycyIKLURFU0NSSVBUSU9OID0gImJsa3Rvb2wgaXMgdXNlZCBmb3IgcXVlcnlpbmcgYW5kL29yIGNoYW5naW5nIHNldHRpbmdzIFwKLW9mIGEgYmxvY2sgZGV2aWNlLiBJdCBpcyBsaWtlIGhkcGFybSBidXQgYSBtb3JlIGdlbmVyYWwgdG9vbCwgYXMgaXQgXAotd29ya3Mgb24gU0NTSSwgSURFIGFuZCBTQVRBIGRldmljZXMuIgotSE9NRVBBR0UgPSAiaHR0cDovL3BhY2thZ2VzLmRlYmlhbi5vcmcvdW5zdGFibGUvYWRtaW4vYmxrdG9vbCIKLUxJQ0VOU0UgPSAiR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vYmxrdG9vbC5jO2JlZ2lubGluZT03O2VuZGxpbmU9ODttZDU9YTVlNzk4ZWE5OGZkNTA5NzIwODg5NjhhMTVlNWYzNzMiCi0KLURFUEVORFMgPSAiZ2xpYi0yLjAiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3NuYXBzaG90LmRlYmlhbi5vcmcvYXJjaGl2ZS9kZWJpYW4vMjAxNjA3MjhUMDQzNDQzWi9wb29sL21haW4vYi8ke0JQTn0vJHtCUE59XzQub3JpZy50YXIuZ3o7bmFtZT10YXJiYWxsIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtZml4LXR5cG9zLWluLW1hbnBhZ2UucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1maXgtc3RyaW5nLWVycm9yLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtRml4LTMtZC1hcmd1bWVudC1mb3ItQkxLUk9TRVQtaXQtbXVzdC1iZS1jb25zdC1pbnQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vYmxrdG9vbC1nbnVsaWItbWFrZWRldi5wYXRjaCBcCi0gICAgICAgICAgIgotCi1TUkNfVVJJW3RhcmJhbGwubWQ1c3VtXSA9ICI2MmVkYzA5Yzk5MDgxMDdlNjkzOTFjODdmNGYzZmQ0MCIKLVNSQ19VUklbdGFyYmFsbC5zaGEyNTZzdW1dID0gImIxZTZkNTkxMjU0NmQyYTRiNzA0ZWM2NWMyYjk2NjRhYTNiNDY2M2U3ZDgwMGUwNjgwMzMzMDMzNWEyY2I3NjQiCi0KLSMgZm9yIHRoaXMgcGFja2FnZSB3ZSdyZSBtb3N0bHkgaW50ZXJlc3RlZCBpbiB0cmFja2luZyBkZWJpYW4gcGF0Y2hlcywKLSMgYW5kIG5vdCBpbiB0aGUgdXBzdHJlYW0gdmVyc2lvbiB3aGVyZSBhbGwgZGV2ZWxvcG1lbnQgaGFzIGVmZmVjdGl2ZWx5IHN0b3BwZWQKLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vYi9ibGt0b29sLyIKLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gIig/UDxwdmVyPigoXGQrXC4qKSspLSgoXGQrXC4qKSspKVwuKGRpZmZ8ZGViaWFuXC50YXIpXC4oZ3p8eHopIgotCi1TID0gIiR7V09SS0RJUn0vJHtCUE59LTQub3JpZyIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9iemlwMi9iemlwMl8xLjAuNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2J6aXAyL2J6aXAyXzEuMC42LmJiCmluZGV4IDAyNWY0NWMuLjdkMDRlMzAgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2J6aXAyL2J6aXAyXzEuMC42LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2J6aXAyL2J6aXAyXzEuMC42LmJiCkBAIC0yOSw3ICsyOSw3IEBACiBpbmhlcml0IGF1dG90b29scyB1cGRhdGUtYWx0ZXJuYXRpdmVzIHB0ZXN0IHJlbGF0aXZlX3N5bWxpbmtzCiAKIEFMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjEwMCIKLUFMVEVSTkFUSVZFXyR7UE59ID0gImJ1bnppcDIgYnpjYXQiCitBTFRFUk5BVElWRV8ke1BOfSA9ICJidW56aXAyIGJ6Y2F0IGJ6aXAyIgogCiAjaW5zdGFsbCBiaW5hcmllcyB0byBiemlwMi1uYXRpdmUgdW5kZXIgc3lzcm9vdCBmb3IgcmVwbGFjZW1lbnQtbmF0aXZlCiBFWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgLS1iaW5kaXI9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9LyR7UE59IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvY3Bpby9jcGlvLTIuMTIvMDAwMS1GaXgtc2VnZmF1bHQtd2l0aC1hcHBlbmQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jcGlvL2NwaW8tMi4xMi8wMDAxLUZpeC1zZWdmYXVsdC13aXRoLWFwcGVuZC5wYXRjaAppbmRleCAyMDQzYzg5Li5lYzhiMzAzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jcGlvL2NwaW8tMi4xMi8wMDAxLUZpeC1zZWdmYXVsdC13aXRoLWFwcGVuZC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jcGlvL2NwaW8tMi4xMi8wMDAxLUZpeC1zZWdmYXVsdC13aXRoLWFwcGVuZC5wYXRjaApAQCAtMSw4NyArMSw1MSBAQAotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2J1Z3MtY3Bpb10KK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKIFNpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CiAKLUZyb20gM2YwYmQ1YTQwYWQwY2VhZWU3OGM3NGE1MmE3MTY2ZWQ3ZjA4ZGI4MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFBhdmVsIFJhaXNrdXAgPHByYWlza3VwQHJlZGhhdC5jb20+Ci1EYXRlOiBUaHUsIDI5IE5vdiAyMDE4IDA3OjAzOjQ4ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIEZpeCBzZWdmYXVsdCB3aXRoIC0tYXBwZW5kCitGcm9tIDMyZDk1ZmUwYzkwYzU5MzUyYTBjZTMxMDJmYzk4NjZjYmZiMGY2MjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBTZXJnZXkgUG96bnlha29mZiA8Z3JheUBnbnUub3JnPgorRGF0ZTogU2F0LCAxIERlYyAyMDE4IDExOjQwOjAyICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBzaWdmYXVsdCB3aGVuIGFwcGVuZGluZyB0byBhcmNoaXZlCiAKLVRoZSAtLWFwcGVuZCBtb2RlIGNvbWJpbmVzIGJvdGggcHJvY2Vzc19jb3B5X2luKCkgYW5kCi1wcm9jZXNzX2NvcHlfb3V0KCkgbWV0aG9kcywgZWFjaCBvZiB0aGVtIHdvcmtpbmcgd2l0aCBkaWZmZXJlbnQKLShsb2NhbCkgZmlsZV9oZHItPmNfbmFtZSBidWZmZXJzLiAgU28gZW5zdXJlIHRoYXQKLWNwaW9fc2V0X2NfbmFtZSgpIGlzbid0IHVzaW5nIHRoZSBzYW1lIHN0YXRpYyB2YXJpYWJsZSBmb3IKLW1haW50YWluaW5nIGxlbmd0aCBvZiBkaWZmZXJlbnQgYnVmZmVycy4KK0J1ZyByZXBvcnRlZCBieSBSb3NzIEJ1cnRvbi4gU2VlCis8aHR0cDovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2J1Zy1jcGlvLzIwMTgtMTEvbXNnMDAwMDAuaHRtbD4KIAotQ29tcGxlbWVudHMgZDM2ZWM1ZjRlOTMxMzBlZmIyNGZiOS4gIFRoYW5rcyB0byBSb3NzIEJ1cnRvbi4KLQotKiBzcmMvY29weWluLmMgKHByb2Nlc3NfY29weV9pbik6IEFsd2F5cyBpbml0aWFsaXplIGZpbGVfaGRyLgotKiBzcmMvY29weW91dC5jIChwcm9jZXNzX2NvcHlfb3V0KTogTGlrZXdpc2UuCi0qIHNyYy9jcGlvaGRyLmggKGNwaW9fZmlsZV9zdGF0KTogQWRkIGNfbmFtZV9idWZsZW4gdmFyaWFibGUuCi0qIHNyYy91dGlsLmMgKGNwaW9fc2V0X2NfbmFtZSk6IFVzZSBmaWxlX2hkci0+Y19uYW1lX2J1Zmxlbi4KKyogc3JjL3V0aWwuYzogS2VlcCBzdGF0aWMgY29weSBvZiB0aGUgYnVmZmVyIHBvaW50ZXI7IGFsd2F5cworYXNzaWduIGl0IHRvIGZpbGVfaGRyLT5jX25hbWUuIFVzZSB4MnJlYWxsb2MgZm9yIG1lbW9yeSBtYW5hZ2VtZW50LgogLS0tCi0gc3JjL2NvcHlpbi5jICB8IDEgKwotIHNyYy9jb3B5b3V0LmMgfCAxICsKLSBzcmMvY3Bpb2hkci5oIHwgMSArCi0gc3JjL3V0aWwuYyAgICB8IDMgKystCi0gNCBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKyBzcmMvdXRpbC5jIHwgMTcgKysrKy0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKIAotZGlmZiAtLWdpdCBhL3NyYy9jb3B5aW4uYyBiL3NyYy9jb3B5aW4uYwotaW5kZXggYmE4ODdhZS4uNzY3YzJmOCAxMDA2NDQKLS0tLSBhL3NyYy9jb3B5aW4uYwotKysrIGIvc3JjL2NvcHlpbi5jCi1AQCAtMTIxMyw2ICsxMjEzLDcgQEAgcHJvY2Vzc19jb3B5X2luICgpCi0gCi0gICBuZXdkaXJfdW1hc2sgPSB1bWFzayAoMCk7ICAgICAvKiBSZXNldCB1bWFzayB0byBwcmVzZXJ2ZSBtb2RlcyBvZgotIAkJCQkgICBjcmVhdGVkIGZpbGVzICAqLwotKyAgbWVtc2V0ICgmZmlsZV9oZHIsIDAsIHNpemVvZiAoc3RydWN0IGNwaW9fZmlsZV9zdGF0KSk7Ci0gICAKLSAgIC8qIEluaXRpYWxpemUgdGhlIGNvcHkgaW4uICAqLwotICAgaWYgKHBhdHRlcm5fZmlsZV9uYW1lKQotZGlmZiAtLWdpdCBhL3NyYy9jb3B5b3V0LmMgYi9zcmMvY29weW91dC5jCi1pbmRleCA3NTMyZGFjLi5mYjg5MGNiIDEwMDY0NAotLS0tIGEvc3JjL2NvcHlvdXQuYwotKysrIGIvc3JjL2NvcHlvdXQuYwotQEAgLTU5NCw2ICs1OTQsNyBAQCBwcm9jZXNzX2NvcHlfb3V0ICgpCi0gCi0gICAvKiBJbml0aWFsaXplIHRoZSBjb3B5IG91dC4gICovCi0gICBkc19pbml0ICgmaW5wdXRfbmFtZSwgMTI4KTsKLSsgIG1lbXNldCAoJmZpbGVfaGRyLCAwLCBzaXplb2YgKHN0cnVjdCBjcGlvX2ZpbGVfc3RhdCkpOwotICAgZmlsZV9oZHIuY19tYWdpYyA9IDA3MDcwNzsKLSAKLSAgIC8qIENoZWNrIHdoZXRoZXIgdGhlIG91dHB1dCBmaWxlIG1pZ2h0IGJlIGEgdGFwZS4gICovCi1kaWZmIC0tZ2l0IGEvc3JjL2NwaW9oZHIuaCBiL3NyYy9jcGlvaGRyLmgKLWluZGV4IDU4ODEzNWIuLmNmNjRmM2UgMTAwNjQ0Ci0tLS0gYS9zcmMvY3Bpb2hkci5oCi0rKysgYi9zcmMvY3Bpb2hkci5oCi1AQCAtMTI3LDYgKzEyNyw3IEBAIHN0cnVjdCBjcGlvX2ZpbGVfc3RhdCAvKiBJbnRlcm5hbCByZXByZXNlbnRhdGlvbiBvZiBhIENQSU8gaGVhZGVyICovCi0gICB1aW50MzJfdCBjX2Noa3N1bTsKLSAgIGNoYXIgKmNfbmFtZTsKLSAgIGNoYXIgKmNfdGFyX2xpbmtuYW1lOwotKyAgc2l6ZV90IGNfbmFtZV9idWZsZW47Ci0gfTsKLSAKLSB2b2lkIGNwaW9fc2V0X2NfbmFtZShzdHJ1Y3QgY3Bpb19maWxlX3N0YXQgKmZpbGVfaGRyLCBjaGFyICpuYW1lKTsKIGRpZmYgLS1naXQgYS9zcmMvdXRpbC5jIGIvc3JjL3V0aWwuYwotaW5kZXggMTA0ODZkYy4uMTI1NjQ2OSAxMDA2NDQKK2luZGV4IDEwNDg2ZGMuLjRlNDkxMjQgMTAwNjQ0CiAtLS0gYS9zcmMvdXRpbC5jCiArKysgYi9zcmMvdXRpbC5jCi1AQCAtMTQxMyw3ICsxNDEzLDcgQEAgc2V0X2ZpbGVfdGltZXMgKGludCBmZCwKK0BAIC0xNDEzLDIyICsxNDEzLDEzIEBAIHNldF9maWxlX3RpbWVzIChpbnQgZmQsCiAgdm9pZAogIGNwaW9fc2V0X2NfbmFtZSAoc3RydWN0IGNwaW9fZmlsZV9zdGF0ICpmaWxlX2hkciwgY2hhciAqbmFtZSkKICB7Ci0tICBzdGF0aWMgc2l6ZV90IGJ1ZmxlbiA9IDA7Ci0rICBzaXplX3QgYnVmbGVuID0gZmlsZV9oZHItPmNfbmFtZV9idWZsZW47CisrICBzdGF0aWMgY2hhciAqYnVmID0gTlVMTDsKKyAgIHN0YXRpYyBzaXplX3QgYnVmbGVuID0gMDsKICAgIHNpemVfdCBsZW4gPSBzdHJsZW4gKG5hbWUpICsgMTsKICAKLSAgIGlmIChidWZsZW4gPT0gMCkKLUBAIC0xNDMwLDYgKzE0MzAsNyBAQCBjcGlvX3NldF9jX25hbWUgKHN0cnVjdCBjcGlvX2ZpbGVfc3RhdCAqZmlsZV9oZHIsIGNoYXIgKm5hbWUpCi0gICAgIH0KLSAKKy0gIGlmIChidWZsZW4gPT0gMCkKKy0gICAgeworLSAgICAgIGJ1ZmxlbiA9IGxlbjsKKy0gICAgICBpZiAoYnVmbGVuIDwgMzIpCistICAgICAgICBidWZsZW4gPSAzMjsKKy0gICAgICBmaWxlX2hkci0+Y19uYW1lID0geG1hbGxvYyAoYnVmbGVuKTsKKy0gICAgfQorLSAgZWxzZSBpZiAoYnVmbGVuIDwgbGVuKQorLSAgICB7CistICAgICAgYnVmbGVuID0gbGVuOworLSAgICAgIGZpbGVfaGRyLT5jX25hbWUgPSB4cmVhbGxvYyAoZmlsZV9oZHItPmNfbmFtZSwgYnVmbGVuKTsKKy0gICAgfQorLQorKyAgd2hpbGUgKGJ1ZmxlbiA8IGxlbikKKysgICAgYnVmID0geDJyZWFsbG9jIChidWYsICZidWZsZW4pOworKyAgZmlsZV9oZHItPmNfbmFtZSA9IGJ1ZjsKICAgIGZpbGVfaGRyLT5jX25hbWVzaXplID0gbGVuOwotKyAgZmlsZV9oZHItPmNfbmFtZV9idWZsZW4gPSBidWZsZW47CiAgICBtZW1tb3ZlIChmaWxlX2hkci0+Y19uYW1lLCBuYW1lLCBsZW4pOwogIH0KLSAKIC0tIAotMi4xMS4wCisyLjE4LjAKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvY3Bpby9jcGlvXzIuMTIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jcGlvL2NwaW9fMi4xMi5iYgppbmRleCA2YmE4MzM3Li5jYjg0NWMzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jcGlvL2NwaW9fMi4xMi5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jcGlvL2NwaW9fMi4xMi5iYgpAQCAtMjcsNiArMjcsOSBAQAogICAgICAgICBtdiAiJHtEfSR7YmluZGlyfS9jcGlvIiAiJHtEfSR7YmFzZV9iaW5kaXJ9L2NwaW8iCiAgICAgICAgIHJtZGlyICR7RH0ke2JpbmRpcn0vCiAgICAgZmkKKworICAgICMgQXZvaWQgY29uZmxpY3RzIHdpdGggdGhlIHZlcnNpb24gZnJvbSB0YXIKKyAgICBtdiAiJHtEfSR7bWFuZGlyfS9tYW44L3JtdC44IiAiJHtEfSR7bWFuZGlyfS9tYW44L3JtdC1jcGlvLjgiCiB9CiAKIFBBQ0tBR0VTID0rICIke1BOfS1ybXQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jdXBzL2N1cHMuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvY3Vwcy9jdXBzLmluYwppbmRleCBjMTQyYTRkLi41MDEwZjA4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jdXBzL2N1cHMuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2N1cHMvY3Vwcy5pbmMKQEAgLTI5LDcgKzI5LDcgQEAKICAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdwYW0gc3lzdGVtZCcsIGQpfSIKIFBBQ0tBR0VDT05GSUdbYXZhaGldID0gIi0tZW5hYmxlLWF2YWhpLC0tZGlzYWJsZS1hdmFoaSxhdmFoaSIKIFBBQ0tBR0VDT05GSUdbYWNsXSA9ICItLWVuYWJsZS1hY2wsLS1kaXNhYmxlLWFjbCxhY2wiCi1QQUNLQUdFQ09ORklHW3BhbV0gPSAiLS1lbmFibGUtcGFtLCAtLWRpc2FibGUtcGFtLCBsaWJwYW0iCitQQUNLQUdFQ09ORklHW3BhbV0gPSAiLS1lbmFibGUtcGFtIC0td2l0aC1wYW0tbW9kdWxlPXVuaXgsIC0tZGlzYWJsZS1wYW0sIGxpYnBhbSIKIFBBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS13aXRoLXN5c3RlbWQ9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfSwtLXdpdGhvdXQtc3lzdGVtZCxzeXN0ZW1kIgogUEFDS0FHRUNPTkZJR1t4aW5ldGRdID0gIi0td2l0aC14aW5ldGQ9JHtzeXNjb25mZGlyfS94aW5ldGQuZCwtLXdpdGhvdXQteGluZXRkLHhpbmV0ZCIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvY3Vwcy9jdXBzLzAwMDEtZG9uLXQtdHJ5LXRvLXJ1bi1nZW5lcmF0ZWQtYmluYXJpZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jdXBzL2N1cHMvMDAwMS1kb24tdC10cnktdG8tcnVuLWdlbmVyYXRlZC1iaW5hcmllcy5wYXRjaAppbmRleCBkYjAxM2NmLi5kNmE2OWYyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jdXBzL2N1cHMvMDAwMS1kb24tdC10cnktdG8tcnVuLWdlbmVyYXRlZC1iaW5hcmllcy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jdXBzL2N1cHMvMDAwMS1kb24tdC10cnktdG8tcnVuLWdlbmVyYXRlZC1iaW5hcmllcy5wYXRjaApAQCAtMSwyMCArMSwyMSBAQAotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLQotRnJvbSA5MDA2OTU4NjE2N2I5MzBiZWZjZTczMDNhZWE1NzA3OGYwNGI0ZWQ4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAxZmIwNzE2MmE5ZWQxODdjY2NmMDZlMzRjOWJmODQxZDE1YzZlNjRlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KIERhdGU6IFN1biwgMzAgSmFuIDIwMTEgMTY6Mzc6MjcgKzAxMDAKIFN1YmplY3Q6IFtQQVRDSF0gZG9uJ3QgdHJ5IHRvIHJ1biBnZW5lcmF0ZWQgYmluYXJpZXMKIAotU2lnbmVkLW9mZi1ieTogS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KLS0tLQotIHBwZGMvTWFrZWZpbGUgfCAgIDMwICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQogCi1JbmRleDogY3Vwcy0yLjIuNi9wcGRjL01ha2VmaWxlCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY3Vwcy0yLjIuNi5vcmlnL3BwZGMvTWFrZWZpbGUKLSsrKyBjdXBzLTIuMi42L3BwZGMvTWFrZWZpbGUKLUBAIC0yMjgsOCArMjI4LDggQEAgZ2Vuc3RyaW5nczoJCWdlbnN0cmluZ3MubyBsaWJjdXBzcHBkYy5hCitTaWduZWQtb2ZmLWJ5OiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorCistLS0KKyBwcGRjL01ha2VmaWxlIHwgMzIgKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9wcGRjL01ha2VmaWxlIGIvcHBkYy9NYWtlZmlsZQoraW5kZXggZTU2Mzk4OC4uOTczZGQzZiAxMDA2NDQKKy0tLSBhL3BwZGMvTWFrZWZpbGUKKysrKyBiL3BwZGMvTWFrZWZpbGUKK0BAIC0xODksOCArMTg5LDggQEAgZ2Vuc3RyaW5nczoJCWdlbnN0cmluZ3MubyBsaWJjdXBzcHBkYy5hIC4uL2N1cHMvJChMSUJDVVBTU1RBVElDKSBcCiAgCSQoTERfQ1hYKSAkKEFSQ0hGTEFHUykgJChMREZMQUdTKSAtbyBnZW5zdHJpbmdzIGdlbnN0cmluZ3MubyBcCiAgCQlsaWJjdXBzcHBkYy5hIC4uL2N1cHMvJChMSUJDVVBTU1RBVElDKSAkKExJQkdTU0FQSSkgJChTU0xMSUJTKSBcCiAgCQkkKEROU1NETElCUykgJChDT01NT05MSUJTKSAkKExJQlopCkBAIC0yNSwxMCArMjYsMTAgQEAKICAKICAKICAjCi1AQCAtMjQ2LDkgKzI0Niw5IEBAIHBwZGMtc3RhdGljOgkJcHBkYy5vIGxpYmN1cHNwcGRjLmEgLi4vY3UKLSAJJChMRF9DWFgpICQoQVJDSEZMQUdTKSAkKExERkxBR1MpIC1vIHBwZGMtc3RhdGljIHBwZGMubyBsaWJjdXBzcHBkYy5hIFwKK0BAIC0yMDksOSArMjA5LDkgQEAgcHBkYy1zdGF0aWM6CQlwcGRjLm8gbGliY3Vwc3BwZGMuYSAuLi9jdXBzLyQoTElCQ1VQU1NUQVRJQykgZm9vLmRydiBmb28tZnIucG8KICAJCS4uL2N1cHMvJChMSUJDVVBTU1RBVElDKSAkKExJQkdTU0FQSSkgJChTU0xMSUJTKSAkKEROU1NETElCUykgXAogIAkJJChDT01NT05MSUJTKSAkKExJQlopCisgCSQoQ09ERV9TSUdOKSAtcyAiJChDT0RFX1NJR05fSURFTlRJVFkpIiAkQAogLQllY2hvIFRlc3RpbmcgUFBEIGNvbXBpbGVyLi4uCiAtCS4vcHBkYy1zdGF0aWMgLWwgZW4sZnIgLUkgLi4vZGF0YSBmb28uZHJ2CiAtCS4vcHBkYy1zdGF0aWMgLWwgZW4sZnIgLXogLUkgLi4vZGF0YSBmb28uZHJ2CkBAIC0zOCwxMCArMzksMTAgQEAKICAKICAKICAjCi1AQCAtMjc0LDE3ICsyNzQsMTcgQEAgcHBkaS1zdGF0aWM6CQlwcGRjLXN0YXRpYyBwcGRpLm8gbGliY3VwcwotIAkkKExEX0NYWCkgJChBUkNIRkxBR1MpICQoTERGTEFHUykgLW8gcHBkaS1zdGF0aWMgcHBkaS5vIGxpYmN1cHNwcGRjLmEgXAorQEAgLTI0MCwxNyArMjQwLDE3IEBAIHBwZGktc3RhdGljOgkJcHBkYy1zdGF0aWMgcHBkaS5vIGxpYmN1cHNwcGRjLmEgIC4uL2N1cHMvJChMSUJDVVBTU1RBVElDKQogIAkJLi4vY3Vwcy8kKExJQkNVUFNTVEFUSUMpICQoTElCR1NTQVBJKSAkKFNTTExJQlMpICQoRE5TU0RMSUJTKSBcCiAgCQkkKENPTU1PTkxJQlMpICQoTElCWikKKyAJJChDT0RFX1NJR04pIC1zICIkKENPREVfU0lHTl9JREVOVElUWSkiICRACiAtCWVjaG8gVGVzdGluZyBQUEQgaW1wb3J0ZXIuLi4KIC0JJChSTSkgLXIgcHBkIHBwZDIgc2FtcGxlLWltcG9ydC5kcnYKIC0JLi9wcGRjLXN0YXRpYyAtbCBlbiAtSSAuLi9kYXRhIHNhbXBsZS5kcnYKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2N1cHMvY3Vwc18yLjIuMTAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jdXBzL2N1cHNfMi4yLjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ5MGM4NGUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jdXBzL2N1cHNfMi4yLjEwLmJiCkBAIC0wLDAgKzEsNiBAQAorcmVxdWlyZSBjdXBzLmluYworCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9ZjIxMmI0MzM4ZGIwZGE4Y2I4OTJlOTRiZjI5NDk0NjAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzZDIyZDc0NzQwM2VjNWRjZDBiNjZkMTMzMjU2NDgxNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3N2M4YjJiM2JiN2ZlOGI1ZmJmZmZjMzA3ZjJjODE3YjJkN2VjNjdiNjU3ZjI2MWExZGQxYzYxYWI4MTIwNWJiIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvY3Vwcy9jdXBzXzIuMi44LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvY3Vwcy9jdXBzXzIuMi44LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZTFiZDg0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2N1cHMvY3Vwc18yLjIuOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotcmVxdWlyZSBjdXBzLmluYwotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9ZjIxMmI0MzM4ZGIwZGE4Y2I4OTJlOTRiZjI5NDk0NjAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIzMzE1MGQwODk5M2EwNGM4ZTIyMTc2ZTkzODA1YTA1MSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIzOTY4ZmMxZDI2ZmM0ODcyNzUwOGRiMWMxMzgwZTM2YzY2OTRhYjkwMTc3ZmQ2OTIwYWVjNWY2Y2M3M2FmOWU0IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZGlmZnV0aWxzL2RpZmZ1dGlscy0zLjYvMDAwMS1VbnNldC1uZWVkX2NoYXJzZXRfYWxpYXMtd2hlbi1idWlsZGluZy1mb3ItbXVzbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHMtMy42LzAwMDEtVW5zZXQtbmVlZF9jaGFyc2V0X2FsaWFzLXdoZW4tYnVpbGRpbmctZm9yLW11c2wucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJhMWE0YmEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZGlmZnV0aWxzL2RpZmZ1dGlscy0zLjYvMDAwMS1VbnNldC1uZWVkX2NoYXJzZXRfYWxpYXMtd2hlbi1idWlsZGluZy1mb3ItbXVzbC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLUZyb20gYjk1NjVkYzJmZTBjNGY3ZGFhZWM5MWI3ZTgzYmM3MzEzZGVlMmY0YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDEzIEFwciAyMDE1IDE3OjAyOjEzIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIFVuc2V0IG5lZWRfY2hhcnNldF9hbGlhcyB3aGVuIGJ1aWxkaW5nIGZvciBtdXNsCi0KLWxvY2FsY2hhcnNldCB1c2VzIGFjX2N2X2dudV9saWJyYXJ5XzJfMSBmcm9tIGdsaWJjMjEubTQKLXdoaWNoIGFjdHVhbGx5IHNob3VkbCBiZSBmaXhlZCBpbiBnbnVsaWIgYW5kIHRoZW4gYWxsIGRvd25zdHJlYW0KLXByb2plY3RzIHdpbGwgZ2V0IGl0IGV2ZW50dWFsbHkuIEZvciBub3cgd2UgYXBwbHkgdGhlIGZpeCB0bwotY29yZXV0aWxzCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gbGliL2dudWxpYi5tayB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2xpYi9nbnVsaWIubWsgYi9saWIvZ251bGliLm1rCi1pbmRleCBlMWQ3NGRiLi5jMGU5MmRkIDEwMDY0NAotLS0tIGEvbGliL2dudWxpYi5tawotKysrIGIvbGliL2dudWxpYi5tawotQEAgLTE4ODIsNyArMTg4Miw3IEBAIGluc3RhbGwtZXhlYy1sb2NhbGNoYXJzZXQ6IGFsbC1sb2NhbAotIAkgIGNhc2UgJyQoaG9zdF9vcyknIGluIFwKLSAJICAgIGRhcndpbls1Nl0qKSBcCi0gCSAgICAgIG5lZWRfY2hhcnNldF9hbGlhcz10cnVlIDs7IFwKLS0JICAgIGRhcndpbiogfCBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBjZWdjYyopIFwKLSsJICAgIGRhcndpbiogfCBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBjZWdjYyogfCBsaW51eC1tdXNsKikgXAotIAkgICAgICBuZWVkX2NoYXJzZXRfYWxpYXM9ZmFsc2UgOzsgXAotIAkgICAgKikgXAotIAkgICAgICBuZWVkX2NoYXJzZXRfYWxpYXM9dHJ1ZSA7OyBcCi0tLSAKLTIuMS40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHMtMy42LzAwMDEtZXhwbGljaXRseS1kaXNhYmxlLXJlcGxhY2luZy1nZXRvcHQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9kaWZmdXRpbHMvZGlmZnV0aWxzLTMuNi8wMDAxLWV4cGxpY2l0bHktZGlzYWJsZS1yZXBsYWNpbmctZ2V0b3B0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNTFmODdjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHMtMy42LzAwMDEtZXhwbGljaXRseS1kaXNhYmxlLXJlcGxhY2luZy1nZXRvcHQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi1TdWJqZWN0OiBleHBsaWNpdGx5IGRpc2FibGUgcmVwbGFjaW5nIGdldG9wdAotCi1FeHBsaWNpdGx5IGRpc2FibGUgcmVwbGFjaW5nIGdldG9wdCB0byBhdm9pZCBjb21waWxhdGlvbiBlcnJvciBsaWtlIGJlbG93LgotCi0gIHhzdHJ0b2wtZXJyb3IuYzo4NDoyNjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnBsX29wdGlvbicKLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFt3b3JrYXJvdW5kXQotU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotLS0tCi0gbTQvZ2V0b3B0Lm00IHwgNCArKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL200L2dldG9wdC5tNCBiL200L2dldG9wdC5tNAotaW5kZXggM2ViYzdiNy4uODkzNDQyNiAxMDA2NDQKLS0tLSBhL200L2dldG9wdC5tNAotKysrIGIvbTQvZ2V0b3B0Lm00Ci1AQCAtMjIsOCArMjIsOCBAQCBBQ19ERUZVTihbZ2xfRlVOQ19HRVRPUFRfUE9TSVhdLAotICAgICBmaQotICAgXSkKLSAgIGlmIHRlc3QgJFJFUExBQ0VfR0VUT1BUID0gMTsgdGhlbgotLSAgICBkbmwgQXJyYW5nZSBmb3IgZ2V0b3B0LmggdG8gYmUgY3JlYXRlZC4KLS0gICAgZ2xfR0VUT1BUX1NVQlNUSVRVVEVfSEVBREVSCi0rICAgIGRubCBFeHBsaWNpdGx5IGRpc2FibGUgcmVwbGFjaW5nIGdldG9wdAotKyAgICA6Ci0gICBmaQotIF0pCi0gCi0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9kaWZmdXRpbHMvZGlmZnV0aWxzLTMuNi9ydW4tcHRlc3QgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9kaWZmdXRpbHMvZGlmZnV0aWxzL3J1bi1wdGVzdApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZGlmZnV0aWxzL2RpZmZ1dGlscy0zLjYvcnVuLXB0ZXN0CnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9kaWZmdXRpbHMvZGlmZnV0aWxzL3J1bi1wdGVzdApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZGlmZnV0aWxzL2RpZmZ1dGlsc18zLjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9kaWZmdXRpbHMvZGlmZnV0aWxzXzMuNi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGJhODk3ZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9kaWZmdXRpbHMvZGlmZnV0aWxzXzMuNi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQxICswLDAgQEAKLUxJQ0VOU0UgPSAiR1BMdjMrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCi0KLXJlcXVpcmUgZGlmZnV0aWxzLmluYwotCi1TUkNfVVJJID0gIiR7R05VX01JUlJPUn0vZGlmZnV0aWxzL2RpZmZ1dGlscy0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1VbnNldC1uZWVkX2NoYXJzZXRfYWxpYXMtd2hlbi1idWlsZGluZy1mb3ItbXVzbC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAotIgotU1JDX1VSSV9hcHBlbmRfbGliYy1nbGliYyA9ICIgZmlsZTovLzAwMDEtZXhwbGljaXRseS1kaXNhYmxlLXJlcGxhY2luZy1nZXRvcHQucGF0Y2giCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIwN2NmMjg2NjcyY2VkMjZmYmE1NGNkMDMxM2JkYzA3MSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJkNjIxZThiZGQ0YjU3MzkxOGM4MTQ1ZjdhZTYxODE3ZDFiZTlkZWI0YzhkMjMyOGE2NWNlYThlMTFkNzgzYmQ2IgotCi1FWFRSQV9PRUNPTkYgKz0gImFjX2N2X3BhdGhfUFJfUFJPR1JBTT0ke2JpbmRpcn0vcHIgLS13aXRob3V0LWxpYnNpZ3NlZ3YtcHJlZml4IgotCi0jIEZpeCAiQXJndW1lbnQgbGlzdCB0b28gbG9uZyIgZXJyb3Igd2hlbiBsZW4oVE1QRElSKSA9IDQxMAotYWNwYXRocyA9ICItSSAuL200IgotCi1pbmhlcml0IHB0ZXN0Ci0KLVJERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICJtYWtlIgotCi1kb19pbnN0YWxsX3B0ZXN0KCkgewotCXQ9JHtEfSR7UFRFU1RfUEFUSH0KLQlpbnN0YWxsIC1EICR7U30vYnVpbGQtYXV4L3Rlc3QtZHJpdmVyICR0L2J1aWxkLWF1eC90ZXN0LWRyaXZlcgotCWNwIC1yICR7U30vdGVzdHMgJHQvCi0JaW5zdGFsbCAke0J9L3Rlc3RzL01ha2VmaWxlICR0L3Rlc3RzLwotCXNlZCAtZSAncywtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9UQVJHRVR9LCxnJyBcCi0JICAgIC1lICdzfCR7REVCVUdfUFJFRklYX01BUH18fGcnIFwKLQkgICAgLWUgJ3M6JHtIT1NUVE9PTFNfRElSfS86OmcnIFwKLQkgICAgLWUgJ3M6JHtSRUNJUEVfU1lTUk9PVF9OQVRJVkV9OjpnJyBcCi0JICAgIC1lICdzOiR7QkFTRV9XT1JLRElSfS8ke01VTFRJTUFDSF9UQVJHRVRfU1lTfTo6ZycgXAotCSAgICAtZSAnc3xeTWFrZWZpbGU6fF9NYWtlZmlsZTp8JyBcCi0JICAgIC1lICdzfGJhc2h8c2h8JyBcCi0JICAgIC1lICdzfF50b3Bfc3JjZGlyID0gXCguKlwpfHRvcF9zcmNkaXIgPSAuLlwvfCcgXAotCSAgICAtZSAnc3xec3JjZGlyID0gXCguKlwpfHNyY2RpciA9IC58JyBcCi0JICAgIC1lICdzfCJgJChidWlsdF9wcm9ncmFtcylgInxkaWZmfCcgXAotCSAgICAtZSAnc3xnYXdrfGF3a3xnJyBcCi0JICAgIC1pICR0L3Rlc3RzL01ha2VmaWxlCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9kaWZmdXRpbHMvZGlmZnV0aWxzXzMuNy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHNfMy43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkYWVlZTMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9kaWZmdXRpbHMvZGlmZnV0aWxzXzMuNy5iYgpAQCAtMCwwICsxLDM5IEBACitMSUNFTlNFID0gIkdQTHYzKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCityZXF1aXJlIGRpZmZ1dGlscy5pbmMKKworU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9L2RpZmZ1dGlscy9kaWZmdXRpbHMtJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0ODI0YWRjMGU5NWRiYmYxMWRmYmRmYWFkNmExZTQ2MSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiM2E3YTYyMjFjM2RjOTE2MDg1ZjBkMjA1YWJmNmI4ZTFiYTQ0M2Q0ZGQ5NjUxMThkYTM2NGExZGMxY2IzYTI2IgorCitFWFRSQV9PRUNPTkYgKz0gImFjX2N2X3BhdGhfUFJfUFJPR1JBTT0ke2JpbmRpcn0vcHIgLS13aXRob3V0LWxpYnNpZ3NlZ3YtcHJlZml4IgorCisjIEZpeCAiQXJndW1lbnQgbGlzdCB0b28gbG9uZyIgZXJyb3Igd2hlbiBsZW4oVE1QRElSKSA9IDQxMAorYWNwYXRocyA9ICItSSAuL200IgorCitpbmhlcml0IHB0ZXN0CisKK1JERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICJtYWtlIgorCitkb19pbnN0YWxsX3B0ZXN0KCkgeworCXQ9JHtEfSR7UFRFU1RfUEFUSH0KKwlpbnN0YWxsIC1EICR7U30vYnVpbGQtYXV4L3Rlc3QtZHJpdmVyICR0L2J1aWxkLWF1eC90ZXN0LWRyaXZlcgorCWNwIC1yICR7U30vdGVzdHMgJHQvCisJaW5zdGFsbCAke0J9L3Rlc3RzL01ha2VmaWxlICR0L3Rlc3RzLworCXNlZCAtZSAncywtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9UQVJHRVR9LCxnJyBcCisJICAgIC1lICdzfCR7REVCVUdfUFJFRklYX01BUH18fGcnIFwKKwkgICAgLWUgJ3M6JHtIT1NUVE9PTFNfRElSfS86OmcnIFwKKwkgICAgLWUgJ3M6JHtSRUNJUEVfU1lTUk9PVF9OQVRJVkV9OjpnJyBcCisJICAgIC1lICdzOiR7QkFTRV9XT1JLRElSfS8ke01VTFRJTUFDSF9UQVJHRVRfU1lTfTo6ZycgXAorCSAgICAtZSAnc3xeTWFrZWZpbGU6fF9NYWtlZmlsZTp8JyBcCisJICAgIC1lICdzfGJhc2h8c2h8JyBcCisJICAgIC1lICdzfF50b3Bfc3JjZGlyID0gXCguKlwpfHRvcF9zcmNkaXIgPSAuLlwvfCcgXAorCSAgICAtZSAnc3xec3JjZGlyID0gXCguKlwpfHNyY2RpciA9IC58JyBcCisJICAgIC1lICdzfCJgJChidWlsdF9wcm9ncmFtcylgInxkaWZmfCcgXAorCSAgICAtZSAnc3xnYXdrfGF3a3xnJyBcCisJICAgIC1pICR0L3Rlc3RzL01ha2VmaWxlCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9lZC9lZF8xLjE0LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9lZC9lZF8xLjE0LjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg3ZDAzYjEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZWQvZWRfMS4xNC4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotU1VNTUFSWSA9ICJMaW5lLW9yaWVudGVkIHRleHQgZWRpdG9yIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VkLyIKLQotTElDRU5TRSA9ICJHUEx2MysiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wYzcwNTFhZWY5MjE5ZGM3MjM3ZjIwNmM1YzQxNzlhNyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9lZC5oO2VuZGxpbmU9MjA7bWQ1PTRlMzZiN2E0MGUxMzdmNDJhZWU3MTgxNjU1OTBkMTI1IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL21haW4uYztlbmRsaW5lPTE3O21kNT1jNWI4Zjc4ZjExNWRmMTg3YWY3Njg2OGEyYWVhZDE2YSIKLQotU0VDVElPTiA9ICJiYXNlIgotCi0jIExTQiBzdGF0ZXMgdGhhdCBlZCBzaG91bGQgYmUgaW4gL2Jpbi8KLWJpbmRpciA9ICIke2Jhc2VfYmluZGlyfSIKLQotIyBVcHN0cmVhbSByZWd1bGFybHkgcmVtb3ZlcyBwcmV2aW91cyByZWxlYXNlcyBmcm9tIGh0dHBzOi8vZnRwLmdudS5vcmcvZ251L2VkLwotU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9L2VkLyR7QlB9LnRhci5seiIKLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICIke0dOVV9NSVJST1J9L2VkLyIKLQotU1JDX1VSSVttZDVzdW1dID0gIjI3M2QwNDc3OGIyYTUxZjdjM2NiZmNkMjAwMTg3NmJmIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImY1Nzk2MmJhOTMwZDcwZDAyZmM3MWQ2YmU1YzVmMjM0NmIxNjk5MmE0NTVhYjljNDNiZTcwNjFkZWM5ODEwZGIiCi0KLUVYVFJBX09FTUFLRSA9ICItZSBNQUtFRkxBR1M9IgotCi1pbmhlcml0IHRleGluZm8KLQotZG9fY29uZmlndXJlKCkgewotCSR7U30vY29uZmlndXJlCi19Ci0KLWRvX2luc3RhbGwoKSB7Ci0Jb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsCi0JIyBJbmZvIGRpciBsaXN0aW5nIGlzbid0IGludGVyZXN0aW5nIGF0IHRoaXMgcG9pbnQgc28gcmVtb3ZlIGl0IGlmIGl0IGV4aXN0cy4KLQlpZiBbIC1lICIke0R9JHtpbmZvZGlyfS9kaXIiIF07IHRoZW4KLQkJcm0gLWYgJHtEfSR7aW5mb2Rpcn0vZGlyCi0JZmkKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2VkL2VkXzEuMTUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9lZC9lZF8xLjE1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3OTMxMDMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9lZC9lZF8xLjE1LmJiCkBAIC0wLDAgKzEsMzYgQEAKK1NVTU1BUlkgPSAiTGluZS1vcmllbnRlZCB0ZXh0IGVkaXRvciIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lZC8iCisKK0xJQ0VOU0UgPSAiR1BMdjMrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MGM3MDUxYWVmOTIxOWRjNzIzN2YyMDZjNWM0MTc5YTcgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZWQuaDtlbmRsaW5lPTIwO21kNT04YWY4ZTdkYzcyNzVkY2EwNWNlNmM5ZTdlY2U3YWVjOCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9tYWluLmM7ZW5kbGluZT0xNzttZDU9ZDRkZDZhNjJjNTAyNzEyMzU4Y2ExODU1MWY5Nzg3ODEgXAorICAgICAgICAgICAgICAgICAgICAiCisKK1NFQ1RJT04gPSAiYmFzZSIKKworIyBMU0Igc3RhdGVzIHRoYXQgZWQgc2hvdWxkIGJlIGluIC9iaW4vCitiaW5kaXIgPSAiJHtiYXNlX2JpbmRpcn0iCisKKyMgVXBzdHJlYW0gcmVndWxhcmx5IHJlbW92ZXMgcHJldmlvdXMgcmVsZWFzZXMgZnJvbSBodHRwczovL2Z0cC5nbnUub3JnL2dudS9lZC8KK1NSQ19VUkkgPSAiJHtHTlVfTUlSUk9SfS9lZC8ke0JQfS50YXIubHoiCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiJHtHTlVfTUlSUk9SfS9lZC8iCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkM2FhZWI1ZWIwMzIxNDI5NDhkN2EyZjk4YTI0ODk5YiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhZDQ0ODljMGFkN2ExMDhjNTE0MjYyZGEyOGU2YzJhNDI2OTQ2ZmI0MDhhMzk3N2VmMWVkMzQzMDhiZGZkMTc0IgorCitFWFRSQV9PRU1BS0UgPSAiLWUgTUFLRUZMQUdTPSIKKworaW5oZXJpdCB0ZXhpbmZvCisKK2RvX2NvbmZpZ3VyZSgpIHsKKwkke1N9L2NvbmZpZ3VyZQorfQorCitkb19pbnN0YWxsKCkgeworCW9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbAorCSMgSW5mbyBkaXIgbGlzdGluZyBpc24ndCBpbnRlcmVzdGluZyBhdCB0aGlzIHBvaW50IHNvIHJlbW92ZSBpdCBpZiBpdCBleGlzdHMuCisJaWYgWyAtZSAiJHtEfSR7aW5mb2Rpcn0vZGlyIiBdOyB0aGVuCisJCXJtIC1mICR7RH0ke2luZm9kaXJ9L2RpcgorCWZpCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9maW5kdXRpbHMvZmluZHV0aWxzXzQuNi4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZmluZHV0aWxzL2ZpbmR1dGlsc180LjYuMC5iYgppbmRleCA1ZTRjYTk0Li4zYjYyZWQ5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9maW5kdXRpbHMvZmluZHV0aWxzXzQuNi4wLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2ZpbmR1dGlscy9maW5kdXRpbHNfNC42LjAuYmIKQEAgLTE2LDYgKzE2LDYgQEAKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICJkZWQ0YzlmNzM3MzFjZDQ4ZmVjM2I2YmRhY2NjZTg5NjQ3M2I2ZDhlMzM3ZTk2MTJlMTZjZjE0MzFiYjExNjlkIgogCiAjIGh0dHA6Ly9zYXZhbm5haC5nbnUub3JnL2J1Z3MvPzI3Mjk5Ci1DQUNIRURfQ09ORklHVVJFVkFSUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsaWJjLXBvc2l4LWNsYW5nLXdjaGFyJywgJ2dsX2N2X2Z1bmNfd2N3aWR0aF93b3Jrcz15ZXMnLCAnJywgZCl9IgorQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImdsX2N2X2Z1bmNfd2N3aWR0aF93b3Jrcz15ZXMiCiAKIEVYVFJBX09FQ09ORiArPSAiYWNfY3ZfcGF0aF9TT1JUPSR7YmluZGlyfS9zb3J0IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZ2hvc3RzY3JpcHQvQ1ZFLTIwMTktNjExNi0wMDAxLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZ2hvc3RzY3JpcHQvQ1ZFLTIwMTktNjExNi0wMDAxLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMmMxYWRlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dob3N0c2NyaXB0L2dob3N0c2NyaXB0L0NWRS0yMDE5LTYxMTYtMDAwMS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE3NyArMCwwIEBACi1Gcm9tIGM4Yzc3NjkwMTk5YjY3N2Y3MDA5MzgyNDM4MmYwODgxZTY0M2UxN2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaHJpcyBMaWRkZWxsIDxjaHJpcy5saWRkZWxsQGFydGlmZXguY29tPgotRGF0ZTogV2VkLCA1IERlYyAyMDE4IDEyOjIyOjEzICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMS83XSBTYW5pdGl6ZSBvcCBzdGFjayBmb3IgZXJyb3IgY29uZGl0aW9ucwotCi1XZSBzYXZlIHRoZSBzdGFja3MgdG8gYW4gYXJyYXkgYW5kIHN0b3JlIHRoZSBhcnJheSBmb3IgdGhlIGVycm9yIGhhbmRsZXIgdG8KLWFjY2Vzcy4KLQotRm9yIFNBRkVSLCB3ZSB0cmF2ZXJzZSB0aGUgYXJyYXksIGFuZCBkZWVwIGNvcHkgYW55IG9wIGFycmF5cyAocHJvY2VkdXJlcykuIEFzCi13ZSBtYWtlIHRoZXNlIGNvcGllcywgd2UgY2hlY2sgZm9yIG9wZXJhdG9ycyB0aGF0IGRvICpub3QqIGV4aXN0IGluIHN5c3RlbWRpY3QsCi13aGVuIHdlIGZpbmQgb25lLCB3ZSByZXBsYWNlIHRoZSBvcGVyYXRvciB3aXRoIGEgbmFtZSBvYmplY3QgKG9mIHRoZSBmb3JtCi0iLy0tb3BuYW1lLS0iKS4KLQotQ1ZFOiBDVkUtMjAxOS02MTE2Ci1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtnaXQ6Ly9naXQuZ2hvc3RzY3JpcHQuY29tL2dob3N0cGRsLmdpdF0KLQotU2lnbmVkLW9mZi1ieTogT3ZpZGl1IFBhbmFpdCA8b3ZpZGl1LnBhbmFpdEB3aW5kcml2ZXIuY29tPgotLS0tCi0gcHNpL2ludC5tYWsgIHwgIDMgKy0KLSBwc2kvaW50ZXJwLmMgfCAgOCArKysrKysKLSBwc2kvaXN0YWNrLmMgfCA3OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0gcHNpL2lzdGFjay5oIHwgIDMgKysKLSA0IGZpbGVzIGNoYW5nZWQsIDkxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3BzaS9pbnQubWFrIGIvcHNpL2ludC5tYWsKLWluZGV4IDZhYjViZjAuLjZiMzQ5Y2IgMTAwNjQ0Ci0tLS0gYS9wc2kvaW50Lm1hawotKysrIGIvcHNpL2ludC5tYWsKLUBAIC0yMDQsNyArMjA0LDggQEAgJChQU09CSilpcGFyYW0uJChPQkopIDogJChQU1NSQylpcGFyYW0uYyAkKEdIKVwKLSAkKFBTT0JKKWlzdGFjay4kKE9CSikgOiAkKFBTU1JDKWlzdGFjay5jICQoR0gpICQobWVtb3J5X19oKVwKLSAgJChpZXJyb3JzX2gpICQoZ3NzdHJ1Y3RfaCkgJChnc3V0aWxfaClcCi0gICQoaWFsbG9jX2gpICQoaXN0YWNrX2gpICQoaXN0a3Bhcm1faCkgJChpc3RydWN0X2gpICQoaXV0aWxfaCkgJChpdm1zcGFjZV9oKVwKLS0gJChzdG9yZV9oKSAkKElOVF9NQUspICQoTUFLRURJUlMpCi0rICQoc3RvcmVfaCkgJChpY3N0YXRlX2gpICQoaW5hbWVfaCkgJChkc3RhY2tfaCkgJChpZGljdF9oKSBcCi0rICQoSU5UX01BSykgJChNQUtFRElSUykKLSAJJChQU0NDKSAkKFBTT18paXN0YWNrLiQoT0JKKSAkKENfKSAkKFBTU1JDKWlzdGFjay5jCi0gCi0gJChQU09CSilpdXRpbC4kKE9CSikgOiAkKFBTU1JDKWl1dGlsLmMgJChHSCkgJChtYXRoX19oKSAkKG1lbW9yeV9faCkgJChzdHJpbmdfX2gpXAotZGlmZiAtLWdpdCBhL3BzaS9pbnRlcnAuYyBiL3BzaS9pbnRlcnAuYwotaW5kZXggNmRjMGRkYS4uYWE1Nzc5YyAxMDA2NDQKLS0tLSBhL3BzaS9pbnRlcnAuYwotKysrIGIvcHNpL2ludGVycC5jCi1AQCAtNzYxLDYgKzc2MSw3IEBAIGNvcHlfc3RhY2soaV9jdHhfdCAqaV9jdHhfcCwgY29uc3QgcmVmX3N0YWNrX3QgKiBwc3RhY2ssIGludCBza2lwLCByZWYgKiBhcnIpCi0gICAgIHVpbnQgc2l6ZSA9IHJlZl9zdGFja19jb3VudChwc3RhY2spIC0gc2tpcDsKLSAgICAgdWludCBzYXZlX3NwYWNlID0gaWFsbG9jX3NwYWNlKGlkbWVtb3J5KTsKLSAgICAgaW50IGNvZGUsIGk7Ci0rICAgIHJlZiAqc2FmZXR5LCAqc2FmZTsKLSAKLSAgICAgaWYgKHNpemUgPiA2NTUzNSkKLSAgICAgICAgIHNpemUgPSA2NTUzNTsKLUBAIC03NzgsNiArNzc5LDEzIEBAIGNvcHlfc3RhY2soaV9jdHhfdCAqaV9jdHhfcCwgY29uc3QgcmVmX3N0YWNrX3QgKiBwc3RhY2ssIGludCBza2lwLCByZWYgKiBhcnIpCi0gICAgICAgICAgICAgICAgIG1ha2VfbnVsbCgmYXJyLT52YWx1ZS5yZWZzW2ldKTsKLSAgICAgICAgIH0KLSAgICAgfQotKyAgICBpZiAocHN0YWNrID09ICZvX3N0YWNrICYmIGRpY3RfZmluZF9zdHJpbmcoc3lzdGVtZGljdCwgIlNBRkVUWSIsICZzYWZldHkpID4gMCAmJgotKyAgICAgICAgZGljdF9maW5kX3N0cmluZyhzYWZldHksICJzYWZlIiwgJnNhZmUpID4gMCAmJiByX2hhc190eXBlKHNhZmUsIHRfYm9vbGVhbikgJiYKLSsgICAgICAgIHNhZmUtPnZhbHVlLmJvb2x2YWwgPT0gdHJ1ZSkgewotKyAgICAgICAgY29kZSA9IHJlZl9zdGFja19hcnJheV9zYW5pdGl6ZShpX2N0eF9wLCBhcnIsIGFycik7Ci0rICAgICAgICBpZiAoY29kZSA8IDApCi0rICAgICAgICAgICAgcmV0dXJuIGNvZGU7Ci0rICAgIH0KLSAgICAgaWFsbG9jX3NldF9zcGFjZShpZG1lbW9yeSwgc2F2ZV9zcGFjZSk7Ci0gICAgIHJldHVybiBjb2RlOwotIH0KLWRpZmYgLS1naXQgYS9wc2kvaXN0YWNrLmMgYi9wc2kvaXN0YWNrLmMKLWluZGV4IDhmZTE1MWYuLmYxYTNlNTEgMTAwNjQ0Ci0tLS0gYS9wc2kvaXN0YWNrLmMKLSsrKyBiL3BzaS9pc3RhY2suYwotQEAgLTI3LDYgKzI3LDEwIEBACi0gI2luY2x1ZGUgIml1dGlsLmgiCi0gI2luY2x1ZGUgIml2bXNwYWNlLmgiCQkvKiBmb3IgbG9jYWwvZ2xvYmFsIHRlc3QgKi8KLSAjaW5jbHVkZSAic3RvcmUuaCIKLSsjaW5jbHVkZSAiaWNzdGF0ZS5oIgotKyNpbmNsdWRlICJpbmFtZS5oIgotKyNpbmNsdWRlICJkc3RhY2suaCIKLSsjaW5jbHVkZSAiaWRpY3QuaCIKLSAKLSAvKiBGb3J3YXJkIHJlZmVyZW5jZXMgKi8KLSBzdGF0aWMgdm9pZCBpbml0X2Jsb2NrKHJlZl9zdGFja190ICpwc3RhY2ssIGNvbnN0IHJlZiAqcGJsb2NrX2FycmF5LAotQEAgLTI5NCw2ICsyOTgsODAgQEAgcmVmX3N0YWNrX3N0b3JlX2NoZWNrKGNvbnN0IHJlZl9zdGFja190ICpwc3RhY2ssIHJlZiAqcGFycmF5LCB1aW50IGNvdW50LAotICAgICByZXR1cm4gMDsKLSB9Ci0gCi0raW50Ci0rcmVmX3N0YWNrX2FycmF5X3Nhbml0aXplKGlfY3R4X3QgKmlfY3R4X3AsIHJlZiAqc2FyciwgcmVmICpkYXJyKQotK3sKLSsgICAgaW50IGksIGNvZGU7Ci0rICAgIHJlZiBvYmosIGFycjI7Ci0rICAgIHJlZiAqcG9iajI7Ci0rICAgIGdzX21lbW9yeV90ICptZW0gPSAoZ3NfbWVtb3J5X3QgKilpZG1lbW9yeS0+Y3VycmVudDsKLSsKLSsgICAgaWYgKCFyX2lzX2FycmF5KHNhcnIpIHx8ICFyX2hhc190eXBlKGRhcnIsIHRfYXJyYXkpKQotKyAgICAgICAgcmV0dXJuX2Vycm9yKGdzX2Vycm9yX3R5cGVjaGVjayk7Ci0rCi0rICAgIGZvciAoaSA9IDA7IGkgPCByX3NpemUoc2Fycik7IGkrKykgewotKyAgICAgICAgY29kZSA9IGFycmF5X2dldChtZW0sIHNhcnIsIGksICZvYmopOwotKyAgICAgICAgaWYgKGNvZGUgPCAwKQotKyAgICAgICAgICAgIG1ha2VfbnVsbCgmb2JqKTsKLSsgICAgICAgIHN3aXRjaChyX3R5cGUoJm9iaikpIHsKLSsgICAgICAgICAgY2FzZSB0X29wZXJhdG9yOgotKyAgICAgICAgICB7Ci0rICAgICAgICAgICAgaW50IGluZGV4ID0gb3BfaW5kZXgoJm9iaik7Ci0rCi0rICAgICAgICAgICAgaWYgKGluZGV4ID4gMCAmJiBpbmRleCA8IG9wX2RlZl9jb3VudCkgewotKyAgICAgICAgICAgICAgICBjb25zdCBieXRlICpkYXRhID0gKGNvbnN0IGJ5dGUgKikob3BfaW5kZXhfZGVmKGluZGV4KS0+b25hbWUgKyAxKTsKLSsgICAgICAgICAgICAgICAgaWYgKGRpY3RfZmluZF9zdHJpbmcoc3lzdGVtZGljdCwgKGNvbnN0IGNoYXIgKilkYXRhLCAmcG9iajIpIDw9IDApIHsKLSsgICAgICAgICAgICAgICAgICAgIGJ5dGUgKnMgPSBnc19hbGxvY19ieXRlcyhtZW0sIHN0cmxlbigoY2hhciAqKWRhdGEpICsgNSwgInJlZl9zdGFja19hcnJheV9zYW5pdGl6ZSIpOwotKyAgICAgICAgICAgICAgICAgICAgaWYgKHMpIHsKLSsgICAgICAgICAgICAgICAgICAgICAgICBzWzBdID0gICdcMCc7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgc3RyY3B5KChjaGFyICopcywgIi0tIik7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgc3RyY3B5KChjaGFyICopcyArIDIsIChjaGFyICopZGF0YSk7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgc3RyY3B5KChjaGFyICopcyArIHN0cmxlbigoY2hhciAqKWRhdGEpICsgMiwgIi0tIik7Ci0rICAgICAgICAgICAgICAgICAgICB9Ci0rICAgICAgICAgICAgICAgICAgICBlbHNlIHsKLSsgICAgICAgICAgICAgICAgICAgICAgICBzID0gKGJ5dGUgKilkYXRhOwotKyAgICAgICAgICAgICAgICAgICAgfQotKyAgICAgICAgICAgICAgICAgICAgY29kZSA9IG5hbWVfcmVmKGltZW1vcnksIHMsIHN0cmxlbigoY2hhciAqKXMpLCAmb2JqLCAxKTsKLSsgICAgICAgICAgICAgICAgICAgIGlmIChjb2RlIDwgMCkgbWFrZV9udWxsKCZvYmopOwotKyAgICAgICAgICAgICAgICAgICAgaWYgKHMgIT0gZGF0YSkKLSsgICAgICAgICAgICAgICAgICAgICAgICBnc19mcmVlX29iamVjdChtZW0sIHMsICJyZWZfc3RhY2tfYXJyYXlfc2FuaXRpemUiKTsKLSsgICAgICAgICAgICAgICAgfQotKyAgICAgICAgICAgIH0KLSsgICAgICAgICAgICBlbHNlIHsKLSsgICAgICAgICAgICAgICAgbWFrZV9udWxsKCZvYmopOwotKyAgICAgICAgICAgIH0KLSsgICAgICAgICAgICByZWZfYXNzaWduKGRhcnItPnZhbHVlLnJlZnMgKyBpLCAmb2JqKTsKLSsgICAgICAgICAgICBicmVhazsKLSsgICAgICAgICAgfQotKyAgICAgICAgICBjYXNlIHRfYXJyYXk6Ci0rICAgICAgICAgIGNhc2UgdF9zaG9ydGFycmF5OgotKyAgICAgICAgICBjYXNlIHRfbWl4ZWRhcnJheToKLSsgICAgICAgICAgewotKyAgICAgICAgICAgIGludCBhdHRycyA9IHJfdHlwZV9hdHRycygmb2JqKSAmIChhX3dyaXRlIHwgYV9yZWFkIHwgYV9leGVjdXRlIHwgYV9leGVjdXRhYmxlKTsKLSsgICAgICAgICAgICAvKiBXZSBvbmx5IHdhbnQgdG8gY29weSBleGVjdXRhYmxlIGFycmF5cyAqLwotKyAgICAgICAgICAgIGlmIChhdHRycyAmIChhX2V4ZWN1dGUgfCBhX2V4ZWN1dGFibGUpKSB7Ci0rICAgICAgICAgICAgICAgIGNvZGUgPSBpYWxsb2NfcmVmX2FycmF5KCZhcnIyLCBhdHRycywgcl9zaXplKCZvYmopLCAicmVmX3N0YWNrX2FycmF5X3Nhbml0aXplIik7Ci0rICAgICAgICAgICAgICAgIGlmIChjb2RlIDwgMCkgewotKyAgICAgICAgICAgICAgICAgICAgbWFrZV9udWxsKCZhcnIyKTsKLSsgICAgICAgICAgICAgICAgfQotKyAgICAgICAgICAgICAgICBlbHNlIHsKLSsgICAgICAgICAgICAgICAgICAgIGNvZGUgPSByZWZfc3RhY2tfYXJyYXlfc2FuaXRpemUoaV9jdHhfcCwgJm9iaiwgJmFycjIpOwotKyAgICAgICAgICAgICAgICB9Ci0rICAgICAgICAgICAgICAgIHJlZl9hc3NpZ24oZGFyci0+dmFsdWUucmVmcyArIGksICZhcnIyKTsKLSsgICAgICAgICAgICB9Ci0rICAgICAgICAgICAgZWxzZSB7Ci0rICAgICAgICAgICAgICAgIHJlZl9hc3NpZ24oZGFyci0+dmFsdWUucmVmcyArIGksICZvYmopOwotKyAgICAgICAgICAgIH0KLSsgICAgICAgICAgICBicmVhazsKLSsgICAgICAgICAgfQotKyAgICAgICAgICBkZWZhdWx0OgotKyAgICAgICAgICAgIHJlZl9hc3NpZ24oZGFyci0+dmFsdWUucmVmcyArIGksICZvYmopOwotKyAgICAgICAgfQotKyAgICB9Ci0rICAgIHJldHVybiAwOwotK30KLSsKLSsKLSAvKgotICAqIFN0b3JlIHRoZSB0b3AgJ2NvdW50JyBlbGVtZW50cyBvZiBhIHN0YWNrLCBzdGFydGluZyAnc2tpcCcgZWxlbWVudHMgYmVsb3cKLSAgKiB0aGUgdG9wLCBpbnRvIGFuIGFycmF5LCB3aXRoIG9yIHdpdGhvdXQgc3RvcmUvdW5kbyBjaGVja2luZy4gIGFnZT0tMSBmb3IKLWRpZmYgLS1naXQgYS9wc2kvaXN0YWNrLmggYi9wc2kvaXN0YWNrLmgKLWluZGV4IDA1MWRjYmUuLjU0YmU0MDUgMTAwNjQ0Ci0tLS0gYS9wc2kvaXN0YWNrLmgKLSsrKyBiL3BzaS9pc3RhY2suaAotQEAgLTEyOSw2ICsxMjksOSBAQCBpbnQgcmVmX3N0YWNrX3N0b3JlKGNvbnN0IHJlZl9zdGFja190ICpwc3RhY2ssIHJlZiAqcGFycmF5LCB1aW50IGNvdW50LAotICAgICAgICAgICAgICAgICAgICAgdWludCBza2lwLCBpbnQgYWdlLCBib29sIGNoZWNrLAotICAgICAgICAgICAgICAgICAgICAgZ3NfZHVhbF9tZW1vcnlfdCAqaWRtZW0sIGNsaWVudF9uYW1lX3QgY25hbWUpOwotIAotK2ludAotK3JlZl9zdGFja19hcnJheV9zYW5pdGl6ZShpX2N0eF90ICppX2N0eF9wLCByZWYgKnNhcnIsIHJlZiAqZGFycik7Ci0rCi0gLyoKLSAgKiBQb3AgdGhlIHRvcCBOIGVsZW1lbnRzIG9mZiBhIHN0YWNrLgotICAqIFRoZSBudW1iZXIgbXVzdCBub3QgZXhjZWVkIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdXNlLgotLS0gCi0yLjE4LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZ2hvc3RzY3JpcHQvQ1ZFLTIwMTktNjExNi0wMDAyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZ2hvc3RzY3JpcHQvQ1ZFLTIwMTktNjExNi0wMDAyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5N2M3NGU3Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dob3N0c2NyaXB0L2dob3N0c2NyaXB0L0NWRS0yMDE5LTYxMTYtMDAwMi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ0MiArMCwwIEBACi1Gcm9tIDIwMDAxZDJiZGYzY2M2MGU3NjI0MWE2YWU3MmIxZGYwMWM1NDI0YzUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaHJpcyBMaWRkZWxsIDxjaHJpcy5saWRkZWxsQGFydGlmZXguY29tPgotRGF0ZTogVGh1LCAxMyBEZWMgMjAxOCAxNToyODozNCArMDAwMAotU3ViamVjdDogW1BBVENIIDIvN10gQW55IHRyYW5zaWVudCBwcm9jZWR1cmVzIHRoYXQgY2FsbCAuZm9yY2UqIG9wZXJhdG9ycwotCi0oaS5lLiBmb3IgY29uZGl0aW9uYWxzIG9yIGxvb3BzKSBtYWtlIHRoZW0gZXhlY3V0ZW9ubHkuCi0KLUNWRTogQ1ZFLTIwMTktNjExNgotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbZ2l0Oi8vZ2l0Lmdob3N0c2NyaXB0LmNvbS9naG9zdHBkbC5naXRdCi0KLVNpZ25lZC1vZmYtYnk6IE92aWRpdSBQYW5haXQgPG92aWRpdS5wYW5haXRAd2luZHJpdmVyLmNvbT4KLS0tLQotIFJlc291cmNlL0luaXQvZ3NfZGlza24ucHMgfCAgMiArLQotIFJlc291cmNlL0luaXQvZ3NfZHBzMS5wcyAgfCAgNCArKy0tCi0gUmVzb3VyY2UvSW5pdC9nc19mbnRlbS5wcyB8ICA0ICsrLS0KLSBSZXNvdXJjZS9Jbml0L2dzX2ZvbnRzLnBzIHwgMTIgKysrKysrLS0tLS0tCi0gUmVzb3VyY2UvSW5pdC9nc19pbml0LnBzICB8ICA0ICsrLS0KLSBSZXNvdXJjZS9Jbml0L2dzX2xldjIucHMgIHwgMTEgKysrKysrLS0tLS0KLSBSZXNvdXJjZS9Jbml0L2dzX3BkZndyLnBzIHwgIDIgKy0KLSBSZXNvdXJjZS9Jbml0L2dzX3Jlcy5wcyAgIHwgIDQgKystLQotIFJlc291cmNlL0luaXQvZ3Nfc2V0cGQucHMgfCAgMiArLQotIFJlc291cmNlL0luaXQvcGRmX2Jhc2UucHMgfCAxMyArKysrKysrKy0tLS0tCi0gUmVzb3VyY2UvSW5pdC9wZGZfZHJhdy5wcyB8IDE2ICsrKysrKysrKy0tLS0tLS0KLSBSZXNvdXJjZS9Jbml0L3BkZl9mb250LnBzIHwgIDYgKysrLS0tCi0gUmVzb3VyY2UvSW5pdC9wZGZfbWFpbi5wcyB8ICA0ICsrLS0KLSBSZXNvdXJjZS9Jbml0L3BkZl9vcHMucHMgIHwgIDcgKysrKy0tLQotIDE0IGZpbGVzIGNoYW5nZWQsIDQ5IGluc2VydGlvbnMoKyksIDQyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvUmVzb3VyY2UvSW5pdC9nc19kaXNrbi5wcyBiL1Jlc291cmNlL0luaXQvZ3NfZGlza24ucHMKLWluZGV4IGZkNjk0YmMuLjhiZjIwNTQgMTAwNjQ0Ci0tLS0gYS9SZXNvdXJjZS9Jbml0L2dzX2Rpc2tuLnBzCi0rKysgYi9SZXNvdXJjZS9Jbml0L2dzX2Rpc2tuLnBzCi1AQCAtNTEsNyArNTEsNyBAQCBzeXN0ZW1kaWN0IGJlZ2luCi0gICAgIG1hcmsgNSAxIHJvbGwgXSBtYXJrIGV4Y2ggeyB7IH0gZm9yYWxsIH0gZm9yYWxsIF0KLSAgICAgLy9zeXN0ZW1kaWN0IC8uc2VhcmNoYWJsZWRldnMgMiBpbmRleCAuZm9yY2VwdXQKLSAgICAgZXhjaCAuc2V0Z2xvYmFsCi0tICB9Ci0rICB9IGV4ZWN1dGVvbmx5Ci0gICBpZgotIH0gLmJpbmQgZXhlY3V0ZW9ubHkgb2RlZiAlIG11c3QgYmUgYm91bmQgYW5kIGhpZGRlbiBmb3IgLmZvcmNlcHV0Ci0gCi1kaWZmIC0tZ2l0IGEvUmVzb3VyY2UvSW5pdC9nc19kcHMxLnBzIGIvUmVzb3VyY2UvSW5pdC9nc19kcHMxLnBzCi1pbmRleCBlYzVkYjYxLi40ZmFlMjgzIDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9nc19kcHMxLnBzCi0rKysgYi9SZXNvdXJjZS9Jbml0L2dzX2RwczEucHMKLUBAIC03OCw3ICs3OCw3IEBAIGxldmVsMmRpY3QgYmVnaW4KLSAgICAuY3VycmVudGdsb2JhbAotICAgICB7CQklIEN1cnJlbnQgbW9kZSBpcyBnbG9iYWw7IGRlbGV0ZSBmcm9tIGxvY2FsIGRpcmVjdG9yeSB0b28uCi0gICAgICAgLy9zeXN0ZW1kaWN0IC9Mb2NhbEZvbnREaXJlY3RvcnkgLmtub3duZ2V0Ci0tICAgICAgIHsgMSBpbmRleCAuZm9yY2V1bmRlZiB9CQklIExvY2FsRm9udERpcmVjdG9yeSBpcyByZWFkb25seQotKyAgICAgICB7IDEgaW5kZXggLmZvcmNldW5kZWYgfSBleGVjdXRlb25seQkJJSBMb2NhbEZvbnREaXJlY3RvcnkgaXMgcmVhZG9ubHkKLSAgICAgICBpZgotICAgICB9Ci0gICAgIHsJCSUgQ3VycmVudCBtb2RlIGlzIGxvY2FsOyBpZiB0aGVyZSB3YXMgYSBzaGFkb3dlZCBnbG9iYWwKLUBAIC0xMjYsNyArMTI2LDcgQEAgbGV2ZWwyZGljdCBiZWdpbgotICAgICAgICAgICB9Ci0gICAgICAgICAgaWZlbHNlCi0gICAgICAgIH0gZm9yYWxsCi0tICAgICAgcG9wIGNvdW50dG9tYXJrIDIgaWRpdiB7IC5mb3JjZXVuZGVmIH0gcmVwZWF0IHBvcAkJJSByZWFkb25seQotKyAgICAgIHBvcCBjb3VudHRvbWFyayAyIGlkaXYgeyAuZm9yY2V1bmRlZiB9IGV4ZWN1dGVvbmx5IHJlcGVhdCBwb3AJCSUgcmVhZG9ubHkKLSAgICAgfQotICAgIGlmCi0gICAgLy9TaGFyZWRGb250RGlyZWN0b3J5IGV4Y2ggLmZvcmNlY29weW5ldyBwb3AKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L2dzX2ZudGVtLnBzIGIvUmVzb3VyY2UvSW5pdC9nc19mbnRlbS5wcwotaW5kZXggYzFmNzY1MS4uNmViNjcyYSAxMDA2NDQKLS0tLSBhL1Jlc291cmNlL0luaXQvZ3NfZm50ZW0ucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvZ3NfZm50ZW0ucHMKLUBAIC00MDEsMTIgKzQwMSwxMiBAQCBjdXJyZW50ZGljdCBlbmQgZGVmCi0gICAgICAgLmZvcmNlcHV0ICUgRm9udEluZm8gY2FuIGJlIHJlYWQtb25seS4KLSAgICAgICBwb3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgYm9vbCA8Zm9udD4KLSAgICAgICBleGl0Ci0tICAgIH0gaWYKLSsgICAgfSBleGVjdXRlb25seSBpZgotICAgICBkdXAgL0ZvbnRJbmZvIGdldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSBib29sIDxmb250PiA8Rkk+Ci0gICAgIC9HbHlwaE5hbWVzMlVuaWNvZGUgL1VuaWNvZGUgL0RlY29kaW5nIGZpbmRyZXNvdXJjZQotICAgICAuZm9yY2VwdXQgJSBGb250SW5mbyBjYW4gYmUgcmVhZC1vbmx5LgotICAgICBleGl0Ci0tICB9IGxvb3AKLSsgIH0gZXhlY3V0ZW9ubHkgbG9vcAotICAgZXhjaCBzZXRnbG9iYWwKLSB9IC5iaW5kIGV4ZWN1dGVvbmx5IG9kZWYgJSBtdXN0IGJlIGJvdW5kIGFuZCBoaWRkZW4gZm9yIC5mb3JjZXB1dAotIAotZGlmZiAtLWdpdCBhL1Jlc291cmNlL0luaXQvZ3NfZm9udHMucHMgYi9SZXNvdXJjZS9Jbml0L2dzX2ZvbnRzLnBzCi1pbmRleCA4MDNmYWNhLi4yOTBkYTBjIDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9nc19mb250cy5wcwotKysrIGIvUmVzb3VyY2UvSW5pdC9nc19mb250cy5wcwotQEAgLTM3NCw3ICszNzQsNyBAQCBGT05UUEFUSCBsZW5ndGggMCBlcSB7ICglRU5EIEZPTlRQQVRIKSAuc2tpcGVvZiB9IGlmCi0gLy5zZXRuYXRpdmVmb250bWFwYnVpbHQgeyAlIHNldCB3aGV0aGVyIHdlJ3ZlIGJlZW4gcnVuCi0gICBkdXAgdHlwZSAvYm9vbGVhbnR5cGUgZXEgewotICAgICAgIHN5c3RlbWRpY3QgZXhjaCAvLm5hdGl2ZWZvbnRtYXBidWlsdCBleGNoIC5mb3JjZXB1dAotLSAgfQotKyAgfSBleGVjdXRlb25seQotICAge3BvcH0KLSAgIGlmZWxzZQotIH0gLmJpbmQgZXhlY3V0ZW9ubHkgb2RlZgotQEAgLTEwMDcsMTEgKzEwMDcsMTEgQEAgJGVycm9yIC9TdWJzdGl0dXRlRm9udCB7IH0gcHV0Ci0geyAyIGluZGV4IGdjaGVjayBjdXJyZW50Z2xvYmFsCi0gICAyIGNvcHkgZXEgewotICAgICBwb3AgcG9wIC5mb3JjZXB1dAotLSAgfSB7Ci0rICB9IGV4ZWN1dGVvbmx5IHsKLSAgICAgNSAxIHJvbGwgc2V0Z2xvYmFsCi0gICAgIGR1cCBsZW5ndGggc3RyaW5nIGNvcHkKLSAgICAgLmZvcmNlcHV0IHNldGdsb2JhbAotLSAgfSBpZmVsc2UKLSsgIH0gZXhlY3V0ZW9ubHkgaWZlbHNlCi0gfSAuYmluZCBleGVjdXRlb25seSBvZGVmICUgbXVzdCBiZSBib3VuZCBhbmQgaGlkZGVuIGZvciAuZm9yY2VwdXQKLSAKLSAlIEF0dGVtcHQgdG8gbG9hZCBhIGZvbnQgZnJvbSBhIGZpbGUuCi1AQCAtMTA4NCw3ICsxMDg0LDcgQEAgJGVycm9yIC9TdWJzdGl0dXRlRm9udCB7IH0gcHV0Ci0gICAgICAgICAgICAuRm9udERpcmVjdG9yeSAzIGluZGV4IC5mb3JjZXVuZGVmCQklIHJlYWRvbmx5Ci0gICAgICAgICAgICAxIGluZGV4IChyKSBmaWxlIC5sb2FkZm9udCAuRm9udERpcmVjdG9yeSBleGNoCi0gICAgICAgICAgICAvLnNldGdsb2JhbCAuc3lzdGVtdmFyIGV4ZWMKLS0gICAgICAgICB9Ci0rICAgICAgICAgfSBleGVjdXRlb25seQotICAgICAgICAgIHsgLmxvYWRmb250IC5Gb250RGlyZWN0b3J5Ci0gICAgICAgICAgfQotICAgICAgICAgaWZlbHNlCi1AQCAtMTEwNSw3ICsxMTA1LDcgQEAgJGVycm9yIC9TdWJzdGl0dXRlRm9udCB7IH0gcHV0Ci0gICAgICAgICBkdXAgMyBpbmRleCAuZm9udGtub3duZ2V0Ci0gICAgICAgICAgeyBkdXAgL1BhdGhMb2FkIDQgaW5kZXggLnB1dGdzdHJpbmdjb3B5Ci0gICAgICAgICAgICA0IDEgcm9sbCBwb3AgcG9wIHBvcCAvL3RydWUgZXhpdAotLSAgICAgICAgIH0gaWYKLSsgICAgICAgICB9IGV4ZWN1dGVvbmx5IGlmCi0gCi0gICAgICAgICAgICAgICAgICUgTWF5YmUgdGhlIGZpbGUgaGFkIGEgZGlmZmVyZW50IEZvbnROYW1lLgotICAgICAgICAgICAgICAgICAlIFNlZSBpZiB3ZSBjYW4gZ2V0IGEgRm9udE5hbWUgZnJvbSB0aGUgZmlsZSwgYW5kIGlmIHNvLAotQEAgLTExMzQsNyArMTEzNCw3IEBAICRlcnJvciAvU3Vic3RpdHV0ZUZvbnQgeyB9IHB1dAotICAgICAgICAgICAgICAgaWZlbHNlICAlIFN0YWNrOiBvcmlnZm9udG5hbWUgZm9udGRpY3QKLSAgICAgICAgICAgICAgIGV4Y2ggcG9wIC8vdHJ1ZSBleGl0Ci0gICAgICAgICAgICAgICAgICAgICAgICUgU3RhY2s6IGZvbnRkaWN0Ci0tICAgICAgICAgICAgfQotKyAgICAgICAgICAgIH0gZXhlY3V0ZW9ubHkKLSAgICAgICAgICAgIGlmIHBvcCAlIFN0YWNrOiBvcmlnZm9udG5hbWUgZm9udGRpcmVjdG9yeSBwYXRoCi0gICAgICAgICAgfQotICAgICAgICAgaWYgcG9wIHBvcCAgJSBTdGFjazogb3JpZ2ZvbnRuYW1lCi1kaWZmIC0tZ2l0IGEvUmVzb3VyY2UvSW5pdC9nc19pbml0LnBzIGIvUmVzb3VyY2UvSW5pdC9nc19pbml0LnBzCi1pbmRleCBkNzMzMTI0Li41NmMwYmQyIDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9nc19pbml0LnBzCi0rKysgYi9SZXNvdXJjZS9Jbml0L2dzX2luaXQucHMKLUBAIC0yMzU3LDcgKzIzNTcsNyBAQCBTQUZFUiB7IC5zZXRzYWZlZ2xvYmFsIH0gaWYKLSAgICAgICAgICUgVXBkYXRlIHRoZSBjb3B5IG9mIHRoZSB1c2VyIHBhcmFtZXRlcnMuCi0gICBtYXJrIC5jdXJyZW50dXNlcnBhcmFtcyBjb3VudHRvbWFyayAyIGlkaXYgewotICAgICB1c2VycGFyYW1zIDMgMSByb2xsIC5mb3JjZXB1dAklIHVzZXJwYXJhbXMgaXMgcmVhZC1vbmx5Ci0tICB9IHJlcGVhdCBwb3AKLSsgIH0gZXhlY3V0ZW9ubHkgcmVwZWF0IHBvcAotICAgICAgICAgJSBUdXJuIG9uIGlkaW9tIHJlY29nbml0aW9uLCBpZiBhdmFpbGFibGUuCi0gICBjdXJyZW50dXNlcnBhcmFtcyAvSWRpb21SZWNvZ25pdGlvbiBrbm93biB7Ci0gICAgIC9JZGlvbVJlY29nbml0aW9uIC8vdHJ1ZSAuZGVmaW5lcHN1c2VycGFyYW0KLUBAIC0yMzc2LDcgKzIzNzYsNyBAQCBTQUZFUiB7IC5zZXRzYWZlZ2xvYmFsIH0gaWYKLSAgICAgICAgICUgUmVtb3ZlIHJlYWwgc3lzdGVtIHBhcmFtcyBmcm9tIHBzc3lzdGVtcGFyYW1zLgotICAgbWFyayAuY3VycmVudHN5c3RlbXBhcmFtcyBjb3VudHRvbWFyayAyIGlkaXYgewotICAgICBwb3AgcHNzeXN0ZW1wYXJhbXMgZXhjaCAuZm9yY2V1bmRlZgotLSAgfSByZXBlYXQgcG9wCi0rICB9IGV4ZWN1dGVvbmx5IHJlcGVhdCBwb3AKLSB9IGlmCi0gCi0gJSBTZXQgdXAgQWxpZ25Ub1BpeGVscyA6Ci1kaWZmIC0tZ2l0IGEvUmVzb3VyY2UvSW5pdC9nc19sZXYyLnBzIGIvUmVzb3VyY2UvSW5pdC9nc19sZXYyLnBzCi1pbmRleCA0NGZlNjE5Li4wZjBkNTczIDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9nc19sZXYyLnBzCi0rKysgYi9SZXNvdXJjZS9Jbml0L2dzX2xldjIucHMKLUBAIC0xNTQsNyArMTU0LDggQEAgZW5kCi0gICAgICAgJSBwcm90ZWN0IHRvcCBsZXZlbCBvZiBwYXJhbWV0ZXJzIHRoYXQgd2UgY29waWVkCi0gICAgICAgZHVwIHR5cGUgZHVwIC9hcnJheXR5cGUgZXEgZXhjaCAvc3RyaW5ndHlwZSBlcSBvciB7IHJlYWRvbmx5IH0gaWYKLSAgICAgICAvdXNlcnBhcmFtcyAuc3lzdGVtdmFyIDMgMSByb2xsIC5mb3JjZXB1dCAgJSB1c2VycGFyYW1zIGlzIHJlYWQtb25seQotLSAgICB9IHsKLSsgICAgfSBleGVjdXRlb25seQotKyAgICB7Ci0gICAgICAgcG9wIHBvcAotICAgICB9IGlmZWxzZQotICAgfSBmb3JhbGwKLUBAIC0yMjQsNyArMjI1LDcgQEAgZW5kCi0gICAgICAgICAgJSBwcm90ZWN0IHRvcCBsZXZlbCBwYXJhbWV0ZXJzIHRoYXQgd2UgY29waWVkCi0gICAgICAgICAgZHVwIHR5cGUgZHVwIC9hcnJheXR5cGUgZXEgZXhjaCAvc3RyaW5ndHlwZSBlcSBvciB7IHJlYWRvbmx5IH0gaWYKLSAgICAgICAgICAvL3Bzc3lzdGVtcGFyYW1zIDMgMSByb2xsIC5mb3JjZXB1dAklIHBzc3lzdGVtcGFyYW1zIGlzIHJlYWQtb25seQotLSAgICAgICB9Ci0rICAgICAgIH0gZXhlY3V0ZW9ubHkKLSAgICAgICAgeyBwb3AgcG9wCi0gICAgICAgIH0KLSAgICAgICBpZmVsc2UKLUBAIC05MzQsNyArOTM1LDcgQEAgbWFyawotICAgZHVwIC9QYWludFByb2MgZ2V0Ci0gICAxIGluZGV4IC9JbXBsZW1lbnRhdGlvbiBrbm93biBub3QgewotICAgICAxIGluZGV4IGR1cCAvSW1wbGVtZW50YXRpb24gLy9udWxsIC5mb3JjZXB1dCByZWFkb25seSBwb3AKLS0gIH0gaWYKLSsgIH0gZXhlY3V0ZW9ubHkgaWYKLSAgIGV4ZWMKLSB9LmJpbmQgb2RlZgotIAotQEAgLTk1OCw3ICs5NTksNyBAQCBtYXJrCi0gICBkdXAgL1BhaW50UHJvYyBnZXQKLSAgIDEgaW5kZXggL0ltcGxlbWVudGF0aW9uIGtub3duIG5vdCB7Ci0gICAgIDEgaW5kZXggZHVwIC9JbXBsZW1lbnRhdGlvbiAvL251bGwgLmZvcmNlcHV0IHJlYWRvbmx5IHBvcAotLSAgfSBpZgotKyAgfSBleGVjdXRlb25seSBpZgotICAgL1VOUk9MTEZPUk1TIHdoZXJlIHsvVU5ST0xMRk9STVMgZ2V0fXtmYWxzZX1pZmVsc2Ugbm90Ci0gICAlJSBbQ1RNXSA8PEZvcm0+PiBQYWludFByb2MgLmJlZ2luZm9ybSAtCi0gICB7Ci1AQCAtMTAwNSw3ICsxMDA2LDcgQEAgbWFyawotICAgICAgICAgJSUgRm9ybSBkaWN0aW9hbnJ5IHVzaW5nIHRoZSAvSW1wbGVtZW50YXRpb24ga2V5KS4KLSAgICAgICAgIDEgZGljdCBkdXAgL0Zvcm1JRCA0IC0xIHJvbGwgcHV0Ci0gICAgICAgICAxIGluZGV4IGV4Y2ggL0ltcGxlbWVudGF0aW9uIGV4Y2ggLmZvcmNlcHV0IHJlYWRvbmx5IHBvcAotLSAgICAgIH0KLSsgICAgICB9IGV4ZWN1dGVvbmx5Ci0gICAgICAgaWZlbHNlCi0gICAgIH0KLSAgICAgewotZGlmZiAtLWdpdCBhL1Jlc291cmNlL0luaXQvZ3NfcGRmd3IucHMgYi9SZXNvdXJjZS9Jbml0L2dzX3BkZndyLnBzCi1pbmRleCA1OGU3NWQzLi5iNDI1MTAzIDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9nc19wZGZ3ci5wcwotKysrIGIvUmVzb3VyY2UvSW5pdC9nc19wZGZ3ci5wcwotQEAgLTY1MCw3ICs2NTAsNyBAQCBjdXJyZW50ZGljdCAvLnBkZm1hcmtwYXJhbXMgLnVuZGVmCi0gICAgICAgICAgICAgfSBpZmVsc2UKLSAgICAgICAgICAgfSBiaW5kIC5tYWtlb3BlcmF0b3IgLmZvcmNlcHV0Ci0gICAgICAgICAgIHN5c3RlbWRpY3QgLy5wZGZfaG9va2VkX0RTQ19DcmVhdG9yIC8vdHJ1ZSAuZm9yY2VwdXQKLS0gICAgICAgIH0gaWYKLSsgICAgICAgIH0gZXhlY3V0ZW9ubHkgaWYKLSAgICAgICAgIHBvcAotICAgICAgIH0gaWYKLSAgICAgfSB7Ci1kaWZmIC0tZ2l0IGEvUmVzb3VyY2UvSW5pdC9nc19yZXMucHMgYi9SZXNvdXJjZS9Jbml0L2dzX3Jlcy5wcwotaW5kZXggOGViOGJiMC4uZDliMzQ1OSAxMDA2NDQKLS0tLSBhL1Jlc291cmNlL0luaXQvZ3NfcmVzLnBzCi0rKysgYi9SZXNvdXJjZS9Jbml0L2dzX3Jlcy5wcwotQEAgLTE1Miw3ICsxNTIsNyBAQCBzZXRnbG9iYWwKLSAgICAgICAgICAgICAgICAgJSB1c2UgLmZvcmNlcHV0IC8gLmZvcmNlZGVmIGxhdGVyIHRvIHJlcGxhY2UgdGhlIGR1bW15LAotICAgICAgICAgICAgICAgICAlIGVtcHR5IC5JbnN0YW5jZXMgZGljdGlvbmFyeSB3aXRoIHRoZSByZWFsIG9uZSBsYXRlci4KLSAgICAgICAgICAgcmVhZG9ubHkKLS0gICAgICAgIH0gewotKyAgICAgICAgfXsKLSAgICAgICAgICAgL2RlZmluZXJlc291cmNlIGN2eCAvdHlwZWNoZWNrIHNpZ25hbG9wZXJyb3IKLSAgICAgICAgIH0gaWZlbHNlCi0gfSBiaW5kIGV4ZWN1dGVvbmx5IG9kZWYKLUBAIC00MjQsNyArNDI0LDcgQEAgc3RhdHVzIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAlIEFzIG5vdGVkIGFib3ZlLCBDYXRlZ29yeSBkaWN0aW9uYXJpZXMgYXJlIHJlYWQtb25seSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAlIHNvIHdlIGhhdmUgdG8gdXNlIC5mb3JjZWRlZiBoZXJlLgotICAgICAgICAgICAgICAgICAgIC8uSW5zdGFuY2VzIDEgaW5kZXggLmZvcmNlZGVmCSUgQ2F0ZWdvcnkgZGljdCBpcyByZWFkLW9ubHkKLS0gICAgICAgICAgICAgICAgfSBpZgotKyAgICAgICAgICAgICAgICB9IGV4ZWN1dGVvbmx5IGlmCi0gICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICB7IC5Mb2NhbEluc3RhbmNlcyBkdXAgLy8uZW1wdHlkaWN0IGVxCi0gICAgICAgICAgICAgICAgICB7IHBvcCAzIGRpY3QgbG9jYWxpbnN0YW5jZWRpY3QgQ2F0ZWdvcnkgMiBpbmRleCBwdXQKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L2dzX3NldHBkLnBzIGIvUmVzb3VyY2UvSW5pdC9nc19zZXRwZC5wcwotaW5kZXggZTIyNTk3ZS4uNzg3NWQxZiAxMDA2NDQKLS0tLSBhL1Jlc291cmNlL0luaXQvZ3Nfc2V0cGQucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvZ3Nfc2V0cGQucHMKLUBAIC02MzQsNyArNjM0LDcgQEAgTk9NRURJQUFUVFJTIHsKLSAgIFNFVFBEREVCVUcgeyAoUm9sbGluZyBiYWNrLikgPSBwc3RhY2sgZmx1c2ggfSBpZgotICAgMyBpbmRleCAyIGluZGV4IDMgLTEgcm9sbCAuZm9yY2VwdXQKLSAgIDQgaW5kZXggMSBpbmRleCAua25vd25nZXQKLS0gIHsgNCBpbmRleCAzIDEgcm9sbCAuZm9yY2VwdXQgfQotKyAgeyA0IGluZGV4IDMgMSByb2xsIC5mb3JjZXB1dCB9IGV4ZWN1dGVvbmx5Ci0gICB7IDMgaW5kZXggZXhjaCAudW5kZWYgfQotICAgaWZlbHNlCi0gfSBiaW5kIGV4ZWN1dGVvbmx5IG9kZWYKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L3BkZl9iYXNlLnBzIGIvUmVzb3VyY2UvSW5pdC9wZGZfYmFzZS5wcwotaW5kZXggYjQ1ZTk4MC4uNzMxMjcyOSAxMDA2NDQKLS0tLSBhL1Jlc291cmNlL0luaXQvcGRmX2Jhc2UucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvcGRmX2Jhc2UucHMKLUBAIC0xMzAsMjYgKzEzMCwyOSBAQCBjdXJyZW50ZGljdCAvbnVtLWNoYXJzLWRpY3QgLnVuZGVmCi0gCi0gLy5wZGZleGVjdG9rZW4gewkJJSA8Y291bnQ+IDxvcGRpY3Q+IDxleGVjdG9rZW4+IC5wZGZleGVjdG9rZW4gPwotICAgUERGREVCVUcgewotLSAgICBwZGZkaWN0IC9QREZTVEVQY291bnQga25vd24gbm90IHsgcGRmZGljdCAvUERGU1RFUGNvdW50IDEgLmZvcmNlcHV0IH0gaWYKLSsgICAgcGRmZGljdCAvUERGU1RFUGNvdW50IGtub3duIG5vdCB7IHBkZmRpY3QgL1BERlNURVBjb3VudCAxIC5mb3JjZXB1dCB9IGV4ZWN1dGVvbmx5IGlmCi0gICAgIFBERlNURVAgewotICAgICAgIHBkZmRpY3QgL1BERnRva2VuY291bnQgMiBjb3B5IC5rbm93bmdldCB7IDEgYWRkIH0geyAxIH0gaWZlbHNlIC5mb3JjZXB1dAotICAgICAgIFBERlNURVBjb3VudCAxIGd0IHsKLSAgICAgICAgIHBkZmRpY3QgL1BERlNURVBjb3VudCBQREZTVEVQY291bnQgMSBzdWIgLmZvcmNlcHV0Ci0tICAgICAgfSB7Ci0rICAgICAgfSBleGVjdXRlb25seQotKyAgICAgIHsKLSAgICAgICAgIGR1cCA9PW9ubHkKLSAgICAgICAgICggICAgc3RlcCAjICkgcHJpbnQgUERGdG9rZW5jb3VudCA9b25seQotICAgICAgICAgKCA/ICkgcHJpbnQgZmx1c2ggMSAvL2ZhbHNlIC5vdXRwdXRwYWdlCi0gICAgICAgICAoJXN0ZGluKSAocikgZmlsZSAyNTUgc3RyaW5nIHJlYWRsaW5lIHsKLSAgICAgICAgICAgdG9rZW4gewotICAgICAgICAgICAgIGV4Y2ggcG9wIHBkZmRpY3QgL1BERlNURVBjb3VudCAzIC0xIHJvbGwgLmZvcmNlcHV0Ci0tICAgICAgICAgIH0gewotKyAgICAgICAgICB9IGV4ZWN1dGVvbmx5Ci0rICAgICAgICAgIHsKLSAgICAgICAgICAgICBwZGZkaWN0IC9QREZTVEVQY291bnQgMSAuZm9yY2VwdXQKLS0gICAgICAgICAgfSBpZmVsc2UgJSB0b2tlbgotKyAgICAgICAgICB9IGV4ZWN1dGVvbmx5IGlmZWxzZSAlIHRva2VuCi0gICAgICAgICB9IHsKLSAgICAgICAgICAgcG9wIC9QREZTVEVQIC8vZmFsc2UgZGVmCSAlIEVPRiBvbiBzdGRpbgotICAgICAgICAgfSBpZmVsc2UgJSByZWFkbGluZQotICAgICAgIH0gaWZlbHNlICUgUERGU1RFUGNvdW50ID4gMQotLSAgICB9IHsKLSsgICAgfSBleGVjdXRlb25seQotKyAgICB7Ci0gICAgICAgZHVwID09b25seSAoKSA9IGZsdXNoCi0gICAgIH0gaWZlbHNlICUgUERGU1RFUAotICAgfSBpZiAlIFBERkRFQlVHCi1kaWZmIC0tZ2l0IGEvUmVzb3VyY2UvSW5pdC9wZGZfZHJhdy5wcyBiL1Jlc291cmNlL0luaXQvcGRmX2RyYXcucHMKLWluZGV4IDZiMGJhOTMuLjQwYzZhYzggMTAwNjQ0Ci0tLS0gYS9SZXNvdXJjZS9Jbml0L3BkZl9kcmF3LnBzCi0rKysgYi9SZXNvdXJjZS9Jbml0L3BkZl9kcmF3LnBzCi1AQCAtMTExOCwxNCArMTExOCwxNCBAQCBjdXJyZW50ZGljdCBlbmQgcmVhZG9ubHkgZGVmCi0gICAgICAgICAgIHBkZmRpY3QgLy5RcXdhcm5pbmdfaXNzdWVkIC8vdHJ1ZSAuZm9yY2VwdXQKLSAgICAgICAgICAgLnNldGdsb2JhbAotICAgICAgICAgICBwZGZmb3JtYXRlcnJvcgotLSAgICAgICAgfSBpZmVsc2UKLSsgICAgICAgIH0gZXhlY3V0ZW9ubHkgaWZlbHNlCi0gICAgICAgfQotICAgICAgIHsKLSAgICAgICAgIGN1cnJlbnRnbG9iYWwgcGRmZGljdCBnY2hlY2sgLnNldGdsb2JhbAotICAgICAgICAgcGRmZGljdCAvLlFxd2FybmluZ19pc3N1ZWQgLy90cnVlIC5mb3JjZXB1dAotICAgICAgICAgLnNldGdsb2JhbAotICAgICAgICAgcGRmZm9ybWF0ZXJyb3IKLS0gICAgICB9IGlmZWxzZQotKyAgICAgIH0gZXhlY3V0ZW9ubHkgaWZlbHNlCi0gICAgICAgZW5kCi0gICAgIH0gaWZlbHNlCi0gICB9IGxvb3AKLUBAIC0xMTQxLDE0ICsxMTQxLDE0IEBAIGN1cnJlbnRkaWN0IGVuZCByZWFkb25seSBkZWYKLSAgICAgICAgIHBkZmRpY3QgLy5RcXdhcm5pbmdfaXNzdWVkIC8vdHJ1ZSAuZm9yY2VwdXQKLSAgICAgICAgIC5zZXRnbG9iYWwKLSAgICAgICAgIHBkZmZvcm1hdGVycm9yCi0tICAgICAgfSBpZmVsc2UKLSsgICAgICB9IGV4ZWN1dGVvbmx5IGlmZWxzZQotICAgICB9Ci0gICAgIHsKLSAgICAgICBjdXJyZW50Z2xvYmFsIHBkZmRpY3QgZ2NoZWNrIC5zZXRnbG9iYWwKLSAgICAgICBwZGZkaWN0IC8uUXF3YXJuaW5nX2lzc3VlZCAvL3RydWUgLmZvcmNlcHV0Ci0gICAgICAgLnNldGdsb2JhbAotICAgICAgIHBkZmZvcm1hdGVycm9yCi0tICAgIH0gaWZlbHNlCi0rICAgIH0gZXhlY3V0ZW9ubHkgaWZlbHNlCi0gICB9IGlmCi0gICBwb3AKLSAKLUBAIC0yMzUwLDkgKzIzNTAsMTAgQEAgY3VycmVudGRpY3QgL2xhc3QtZGl0Y2gtYnBjLWNzcCB1bmRlZgotIC9JbmNyZW1lbnRBcHBlYXJhbmNlTnVtYmVyIHsKLSAgIHBkZmRpY3QgL0FwcGVhcmFuY2VOdW1iZXIgLmtub3duZ2V0IHsKLSAgICAgMSBhZGQgcGRmZGljdCAvQXBwZWFyYW5jZU51bWJlciAzIC0xIHJvbGwgLmZvcmNlcHV0Ci0tICB9ewotKyAgfSBleGVjdXRlb25seQotKyAgewotICAgICBwZGZkaWN0IC9BcHBlYXJhbmNlTnVtYmVyIDAgLmZvcmNlcHV0Ci0tICB9IGlmZWxzZQotKyAgfSBleGVjdXRlb25seSBpZmVsc2UKLSB9YmluZCBleGVjdXRlb25seSBvZGVmCi0gCi0gL01ha2VBcHBlYXJhbmNlTmFtZSB7Ci1AQCAtMjUxMCw3ICsyNTExLDggQEAgY3VycmVudGRpY3QgL2xhc3QtZGl0Y2gtYnBjLWNzcCB1bmRlZgotICAgICAlJSB3YW50IHRvIHByZXNlcnZlIGl0LgotICAgICBwZGZkaWN0IC8uUHJlc2VydmVQREZGb3JtIGZhbHNlIC5mb3JjZXB1dAotICAgICAvcSBjdnggL2V4ZWNmb3JtIGN2eCA1IC0yIHJvbGwKLS0gIH17Ci0rICB9IGV4ZWN1dGVvbmx5Ci0rICB7Ci0gICAgIC9xIGN2eCAvUERGZXhlY2Zvcm0gY3Z4IDUgLTIgcm9sbAotICAgfSBpZmVsc2UKLSAKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L3BkZl9mb250LnBzIGIvUmVzb3VyY2UvSW5pdC9wZGZfZm9udC5wcwotaW5kZXggYmVhOWVhOS4uNGNkNjJiOSAxMDA2NDQKLS0tLSBhL1Jlc291cmNlL0luaXQvcGRmX2ZvbnQucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvcGRmX2ZvbnQucHMKLUBAIC03MTQsNyArNzE0LDcgQEAgY3VycmVudGRpY3QgZW5kIHJlYWRvbmx5IGRlZgotICAgICBwb3AgcG9wIHBvcAotICAgICBjdXJyZW50ZGljdCAvLnN0YWNrZGVwdGggLmZvcmNldW5kZWYKLSAgICAgY3VycmVudGRpY3QgLy5kc3RhY2tkZXB0aCAuZm9yY2V1bmRlZgotLSAgfQotKyAgfSBleGVjdXRlb25seQotICAge3BvcCBwb3AgcG9wfQotICAgaWZlbHNlCi0gCi1AQCAtMTIzMiw3ICsxMjMyLDcgQEAgY3VycmVudGRpY3QgL2VleGVjX3BkZl9wYXJhbV9kaWN0IC51bmRlZgotICAgICAgICAgICAgICAgICAoXG4gICAqKioqIFdhcm5pbmc6IFR5cGUgMyBnbHlwaCBoYXMgdW5iYWxhbmNlZCBxL1Egb3BlcmF0b3JzIFwodG9vIG1hbnkgcSdzXClcbiAgICAgICAgICAgICAgIE91dHB1dCBtYXkgYmUgaW5jb3JyZWN0LlxuKQotICAgICAgICAgICAgICAgICBwZGZmb3JtYXR3YXJuaW5nCi0gICAgICAgICAgICAgICAgIHBkZmRpY3QgLy5RcXdhcm5pbmdfaXNzdWVkIC8vdHJ1ZSAuZm9yY2VwdXQKLS0gICAgICAgICAgICAgIH0gaWYKLSsgICAgICAgICAgICAgIH0gZXhlY3V0ZW9ubHkgaWYKLSAgICAgICAgICAgICAgIFEKLSAgICAgICAgICAgICB9IHJlcGVhdAotICAgICAgICAgICAgIFEKLUBAIC0yMDE2LDcgKzIwMTYsNyBAQCBjdXJyZW50ZGljdCAvQ01hcF9yZWFkX2RpY3QgdW5kZWYKLSAgICAgICAgICAgICAgIC9DSURGYWxsQmFjayAvQ0lERm9udCBmaW5kcmVzb3VyY2UKLSAgICAgICAgICAgICB9IGlmCi0gICAgICAgICAgICAgZXhpdAotLSAgICAgICAgICB9IGlmCi0rICAgICAgICAgIH0gZXhlY3V0ZW9ubHkgaWYKLSAgICAgICAgIH0gaWYKLSAgICAgICB9IGlmCi0gCi1kaWZmIC0tZ2l0IGEvUmVzb3VyY2UvSW5pdC9wZGZfbWFpbi5wcyBiL1Jlc291cmNlL0luaXQvcGRmX21haW4ucHMKLWluZGV4IDAwZGE0N2EuLjM3ZTY5YjMgMTAwNjQ0Ci0tLS0gYS9SZXNvdXJjZS9Jbml0L3BkZl9tYWluLnBzCi0rKysgYi9SZXNvdXJjZS9Jbml0L3BkZl9tYWluLnBzCi1AQCAtMjcwMSwxNCArMjcwMSwxNCBAQCBjdXJyZW50ZGljdCAvUERGMlBTX21hdHJpeF9rZXkgdW5kZWYKLSAgICAgICAgICAgcGRmZGljdCAvLlFxd2FybmluZ19pc3N1ZWQgLy90cnVlIC5mb3JjZXB1dAotICAgICAgICAgICAuc2V0Z2xvYmFsCi0gICAgICAgICAgIHBkZmZvcm1hdGVycm9yCi0tICAgICAgICB9IGlmZWxzZQotKyAgICAgICAgfSBleGVjdXRlb25seSBpZmVsc2UKLSAgICAgICB9Ci0gICAgICAgewotICAgICAgICAgY3VycmVudGdsb2JhbCBwZGZkaWN0IGdjaGVjayAuc2V0Z2xvYmFsCi0gICAgICAgICBwZGZkaWN0IC8uUXF3YXJuaW5nX2lzc3VlZCAvL3RydWUgLmZvcmNlcHV0Ci0gICAgICAgICAuc2V0Z2xvYmFsCi0gICAgICAgICBwZGZmb3JtYXRlcnJvcgotLSAgICAgIH0gaWZlbHNlCi0rICAgICAgfSBleGVjdXRlb25seSBpZmVsc2UKLSAgICAgfSBpZgotICAgfSBpZgotICAgcG9wCi1kaWZmIC0tZ2l0IGEvUmVzb3VyY2UvSW5pdC9wZGZfb3BzLnBzIGIvUmVzb3VyY2UvSW5pdC9wZGZfb3BzLnBzCi1pbmRleCA4NjcyZDYxLi5hYTA5NjQxIDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9wZGZfb3BzLnBzCi0rKysgYi9SZXNvdXJjZS9Jbml0L3BkZl9vcHMucHMKLUBAIC0xODQsMTQgKzE4NCwxNCBAQCBjdXJyZW50ZGljdCAvZ3B1dF9hbHdheXNfYWxsb3cgLnVuZGVmCi0gICAgICAgICBwZGZkaWN0IC8uUXF3YXJuaW5nX2lzc3VlZCAvL3RydWUgLmZvcmNlcHV0Ci0gICAgICAgICAuc2V0Z2xvYmFsCi0gICAgICAgICBwZGZmb3JtYXRlcnJvcgotLSAgICAgIH0gaWZlbHNlCi0rICAgICAgfSBleGVjdXRlb25seSBpZmVsc2UKLSAgICAgfQotICAgICB7Ci0gICAgICAgY3VycmVudGdsb2JhbCBwZGZkaWN0IGdjaGVjayAuc2V0Z2xvYmFsCi0gICAgICAgcGRmZGljdCAvLlFxd2FybmluZ19pc3N1ZWQgLy90cnVlIC5mb3JjZXB1dAotICAgICAgIC5zZXRnbG9iYWwKLSAgICAgICBwZGZmb3JtYXRlcnJvcgotLSAgICB9IGlmZWxzZQotKyAgICB9IGV4ZWN1dGVvbmx5IGlmZWxzZQotICAgfSBpZgotIH0gYmluZCBleGVjdXRlb25seSBvZGVmCi0gCi1AQCAtNDM5LDcgKzQzOSw4IEBAIGN1cnJlbnRkaWN0IC9ncHV0X2Fsd2F5c19hbGxvdyAudW5kZWYKLSAgIGR1cCB0eXBlIC9ib29sZWFudHlwZSBlcSB7Ci0gICAgIC5jdXJyZW50U01hc2sgdHlwZSAvZGljdHR5cGUgZXEgewotICAgICAgIC5jdXJyZW50U01hc2sgL1Byb2Nlc3NlZCAyIGluZGV4IC5mb3JjZXB1dAotLSAgICB9IHsKLSsgIH0gZXhlY3V0ZW9ubHkKLSsgIHsKLSAgICAgICAuc2V0U01hc2sKLSAgIH1pZmVsc2UKLSAgIH17Ci0tLSAKLTIuMTguMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdC9DVkUtMjAxOS02MTE2LTAwMDMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdC9DVkUtMjAxOS02MTE2LTAwMDMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAyYjFkYzkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZ2hvc3RzY3JpcHQvQ1ZFLTIwMTktNjExNi0wMDAzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAotRnJvbSA2MGI3N2I4YmY4YjZlNGQzMDUxOWM0NzcyNDYzMTAxMmI1MzBjZjBlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ2hyaXMgTGlkZGVsbCA8Y2hyaXMubGlkZGVsbEBhcnRpZmV4LmNvbT4KLURhdGU6IFNhdCwgMTUgRGVjIDIwMTggMDk6MDg6MzIgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzLzddIEJ1ZzcwMDMxNzogRml4IGxvZ2ljIGZvciBhbiBvbGRlciBjaGFuZ2UKLQotVW5saWtlIGFsbW9zdCBldmVyeSBvdGhlciBmdW5jdGlvbiBpbiBncywgZGljdF9maW5kX3N0cmluZygpIHJldHVybnMgMSBvbgotc3VjY2VzcyAwIG9yIDwwIG9uIGZhaWx1cmUuIFRoZSBsb2dpYyBmb3IgdGhpcyBjYXNlIHdhcyB3cm9uZy4KLQotQ1ZFOiBDVkUtMjAxOS02MTE2Ci1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtnaXQ6Ly9naXQuZ2hvc3RzY3JpcHQuY29tL2dob3N0cGRsLmdpdF0KLQotU2lnbmVkLW9mZi1ieTogT3ZpZGl1IFBhbmFpdCA8b3ZpZGl1LnBhbmFpdEB3aW5kcml2ZXIuY29tPgotLS0tCi0gcHNpL2ludGVycC5jIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvcHNpL2ludGVycC5jIGIvcHNpL2ludGVycC5jCi1pbmRleCBhYTU3NzljLi5mNmM0NWJiIDEwMDY0NAotLS0tIGEvcHNpL2ludGVycC5jCi0rKysgYi9wc2kvaW50ZXJwLmMKLUBAIC03MDMsNyArNzAzLDcgQEAgYWdhaW46Ci0gICAgICAgICAgICAgICAgICAqIGkuZS4gaXQncyBhbiBpbnRlcm5hbCBvcGVyYXRvciB3ZSBoYXZlIGhpZGRlbgotICAgICAgICAgICAgICAgICAgKi8KLSAgICAgICAgICAgICAgICAgY29kZSA9IGRpY3RfZmluZF9zdHJpbmcoc3lzdGVtZGljdCwgKGNvbnN0IGNoYXIgKilidWZwdHIsICZ0b2JqKTsKLS0gICAgICAgICAgICAgICAgaWYgKGNvZGUgPCAwKSB7Ci0rICAgICAgICAgICAgICAgIGlmIChjb2RlIDw9IDApIHsKLSAgICAgICAgICAgICAgICAgICAgIGJ1ZlswXSA9IGJ1ZlsxXSA9IGJ1ZltybGVuICsgMl0gPSBidWZbcmxlbiArIDNdID0gJy0nOwotICAgICAgICAgICAgICAgICAgICAgcmxlbiArPSA0OwotICAgICAgICAgICAgICAgICAgICAgYnVmcHRyID0gYnVmOwotLS0gCi0yLjE4LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZ2hvc3RzY3JpcHQvQ1ZFLTIwMTktNjExNi0wMDA0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZ2hvc3RzY3JpcHQvQ1ZFLTIwMTktNjExNi0wMDA0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYzE1NDUzLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dob3N0c2NyaXB0L2dob3N0c2NyaXB0L0NWRS0yMDE5LTYxMTYtMDAwNC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEzNiArMCwwIEBACi1Gcm9tIGQ3Mzk1NjU1MzRlOTU1YzQzMzY3MzFlNGVhNGVlYmM4OTVjMDljNWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaHJpcyBMaWRkZWxsIDxjaHJpcy5saWRkZWxsQGFydGlmZXguY29tPgotRGF0ZTogVHVlLCAxOCBEZWMgMjAxOCAxMDo0MjoxMCArMDAwMAotU3ViamVjdDogW1BBVENIIDQvN10gSGFyZGVuIHNvbWUgdXNlcyBvZiAuZm9yY2UqIG9wZXJhdG9ycwotCi1ieSBhZGRpbmcgYSBmZXcgaW1tZWRpYXRlIGV2YWx1dGlvbnMKLQotQ1ZFOiBDVkUtMjAxOS02MTE2Ci1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtnaXQ6Ly9naXQuZ2hvc3RzY3JpcHQuY29tL2dob3N0cGRsLmdpdF0KLQotU2lnbmVkLW9mZi1ieTogT3ZpZGl1IFBhbmFpdCA8b3ZpZGl1LnBhbmFpdEB3aW5kcml2ZXIuY29tPgotLS0tCi0gUmVzb3VyY2UvSW5pdC9nc19kcHMxLnBzICB8ICA0ICsrLS0KLSBSZXNvdXJjZS9Jbml0L2dzX2ZvbnRzLnBzIHwgMjAgKysrKysrKysrKy0tLS0tLS0tLS0KLSBSZXNvdXJjZS9Jbml0L2dzX2luaXQucHMgIHwgIDYgKysrLS0tCi0gMyBmaWxlcyBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL1Jlc291cmNlL0luaXQvZ3NfZHBzMS5wcyBiL1Jlc291cmNlL0luaXQvZ3NfZHBzMS5wcwotaW5kZXggNGZhZTI4My4uYjc1ZWExNCAxMDA2NDQKLS0tLSBhL1Jlc291cmNlL0luaXQvZ3NfZHBzMS5wcwotKysrIGIvUmVzb3VyY2UvSW5pdC9nc19kcHMxLnBzCi1AQCAtNzQsNyArNzQsNyBAQCBsZXZlbDJkaWN0IGJlZ2luCi0gIH0gb2RlZgotICUgdW5kZWZpbmVmb250IGhhcyB0byB0YWtlIGxvY2FsL2dsb2JhbCBWTSBpbnRvIGFjY291bnQuCi0gL3VuZGVmaW5lZm9udAkJJSA8Zm9udG5hbWU+IHVuZGVmaW5lZm9udCAtCi0tIHsgLkZvbnREaXJlY3RvcnkgMSAuYXJnaW5kZXggLmZvcmNldW5kZWYJJSBGb250RGlyZWN0b3J5IGlzIHJlYWRvbmx5Ci0rIHsgLy8uRm9udERpcmVjdG9yeSAxIC5hcmdpbmRleCAuZm9yY2V1bmRlZgklIEZvbnREaXJlY3RvcnkgaXMgcmVhZG9ubHkKLSAgICAuY3VycmVudGdsb2JhbAotICAgICB7CQklIEN1cnJlbnQgbW9kZSBpcyBnbG9iYWw7IGRlbGV0ZSBmcm9tIGxvY2FsIGRpcmVjdG9yeSB0b28uCi0gICAgICAgLy9zeXN0ZW1kaWN0IC9Mb2NhbEZvbnREaXJlY3RvcnkgLmtub3duZ2V0Ci1AQCAtODUsNyArODUsNyBAQCBsZXZlbDJkaWN0IGJlZ2luCi0gICAgICAgICAgICAgICAgICUgZGVmaW5pdGlvbiwgY29weSBpdCBpbnRvIHRoZSBsb2NhbCBkaXJlY3RvcnkuCi0gICAgICAgLy9zeXN0ZW1kaWN0IC9TaGFyZWRGb250RGlyZWN0b3J5IC5rbm93bmdldAotICAgICAgICB7IDEgaW5kZXggLmtub3duZ2V0Ci0tICAgICAgICAgIHsgLkZvbnREaXJlY3RvcnkgMiBpbmRleCAzIC0xIHJvbGwgeyBwdXQgfSBzeXN0ZW1kaWN0IC9zdXBlcmV4ZWMga25vd24gey8vc3VwZXJleGVjfXsxMTgzNjE1ODY5IGludGVybmFsZGljdCAvc3VwZXJleGVjIGdldCBleGVjfSBpZmVsc2UgfSAlIHJlYWRvbmx5Ci0rICAgICAgICAgIHsgLy8uRm9udERpcmVjdG9yeSAyIGluZGV4IDMgLTEgcm9sbCB7IHB1dCB9IHN5c3RlbWRpY3QgL3N1cGVyZXhlYyBrbm93biB7Ly9zdXBlcmV4ZWN9ezExODM2MTU4NjkgaW50ZXJuYWxkaWN0IC9zdXBlcmV4ZWMgZ2V0IGV4ZWN9IGlmZWxzZSB9ICUgcmVhZG9ubHkKLSAgICAgICAgICBpZgotICAgICAgICB9Ci0gICAgICAgaWYKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L2dzX2ZvbnRzLnBzIGIvUmVzb3VyY2UvSW5pdC9nc19mb250cy5wcwotaW5kZXggMjkwZGEwYy4uYzEzYTJmYyAxMDA2NDQKLS0tLSBhL1Jlc291cmNlL0luaXQvZ3NfZm9udHMucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvZ3NfZm9udHMucHMKLUBAIC01MTYsNyArNTE2LDcgQEAgYnVpbGRmb250ZGljdCAzIC8uYnVpbGRmb250MyBjdnggcHV0Ci0gICAgICAgaWYKLSAgICAgfQotICAgIGlmCi0tICAgZHVwIC5Gb250RGlyZWN0b3J5IDQgLTIgcm9sbCB7IC5ncm93cHV0IH0gc3lzdGVtZGljdCAvc3VwZXJleGVjIGtub3duIHsvL3N1cGVyZXhlY317MTE4MzYxNTg2OSBpbnRlcm5hbGRpY3QgL3N1cGVyZXhlYyBnZXQgZXhlY30gaWZlbHNlCSUgcmVhZG9ubHkKLSsgICBkdXAgLy8uRm9udERpcmVjdG9yeSA0IC0yIHJvbGwgeyAuZ3Jvd3B1dCB9IHN5c3RlbWRpY3QgL3N1cGVyZXhlYyBrbm93biB7Ly9zdXBlcmV4ZWN9ezExODM2MTU4NjkgaW50ZXJuYWxkaWN0IC9zdXBlcmV4ZWMgZ2V0IGV4ZWN9IGlmZWxzZQklIHJlYWRvbmx5Ci0gICAgICAgICAgICAgICAgICUgSWYgdGhlIGZvbnQgb3JpZ2luYXRlZCBhcyBhIHJlc291cmNlLCByZWdpc3RlciBpdC4KLSAgICBjdXJyZW50ZmlsZSAuY3VycmVudHJlc291cmNlZmlsZSBlcSB7IGR1cCAucmVnaXN0ZXJmb250IH0gaWYKLSAgICByZWFkb25seQotQEAgLTk0Myw3ICs5NDMsNyBAQCAkZXJyb3IgL1N1YnN0aXR1dGVGb250IHsgfSBwdXQKLSAlIFRyeSB0byBmaW5kIGEgZm9udCB1c2luZyBvbmx5IHRoZSBwcmVzZW50IGNvbnRlbnRzIG9mIEZvbnRtYXAuCi0gLy50cnlmaW5kZm9udCB7ICAgICAgICAgJSA8Zm9udG5hbWU+IC50cnlmaW5kZm9udCA8Zm9udD4gdHJ1ZQotICAgICAgICAgICAgICAgICAgICAgICAgICUgPGZvbnRuYW1lPiAudHJ5ZmluZGZvbnQgZmFsc2UKLS0gIC5Gb250RGlyZWN0b3J5IDEgaW5kZXggLmZvbnRrbm93bmdldAotKyAgLy8uRm9udERpcmVjdG9yeSAxIGluZGV4IC5mb250a25vd25nZXQKLSAgICAgeyAgICAgICAgICAgICAgICAgICAlIEFscmVhZHkgbG9hZGVkCi0gICAgICAgZXhjaCBwb3AgLy90cnVlCi0gICAgIH0KLUBAIC05NzUsNyArOTc1LDcgQEAgJGVycm9yIC9TdWJzdGl0dXRlRm9udCB7IH0gcHV0Ci0gICAgICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAlIEZvbnQgd2l0aCBhIHByb2NlZHVyYWwgZGVmaW5pdGlvbgotICAgICAgICAgICAgICAgICAgZXhlYyAgICAgICAgICAgJSBUaGUgcHJvY2VkdXJlIHdpbGwgbG9hZCB0aGUgZm9udC4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgQ2hlY2sgdG8gbWFrZSBzdXJlIHRoaXMgcmVhbGx5IGhhcHBlbmVkLgotLSAgICAgICAgICAgICAgICAgLkZvbnREaXJlY3RvcnkgMSBpbmRleCAua25vd25nZXQKLSsgICAgICAgICAgICAgICAgIC8vLkZvbnREaXJlY3RvcnkgMSBpbmRleCAua25vd25nZXQKLSAgICAgICAgICAgICAgICAgICB7IGV4Y2ggcG9wIC8vdHJ1ZSBleGl0IH0KLSAgICAgICAgICAgICAgICAgIGlmCi0gICAgICAgICAgICAgICAgfQotQEAgLTEwODEsMTEgKzEwODEsMTEgQEAgJGVycm9yIC9TdWJzdGl0dXRlRm9udCB7IH0gcHV0Ci0gICAgICAgICAgICAgICAgICUgYmVjYXVzZSBpdCdzIGRpZmZlcmVudCBkZXBlbmRpbmcgb24gbGFuZ3VhZ2UgbGV2ZWwuCi0gICAgICAgICAgICAuY3VycmVudGdsb2JhbCBleGNoIC8uc2V0Z2xvYmFsIC5zeXN0ZW12YXIgZXhlYwotICAgICAgICAgICAgICAgICAlIFJlbW92ZSB0aGUgZmFrZSBkZWZpbml0aW9uLCBpZiBhbnkuCi0tICAgICAgICAgICAuRm9udERpcmVjdG9yeSAzIGluZGV4IC5mb3JjZXVuZGVmCQklIHJlYWRvbmx5Ci0tICAgICAgICAgICAxIGluZGV4IChyKSBmaWxlIC5sb2FkZm9udCAuRm9udERpcmVjdG9yeSBleGNoCi0rICAgICAgICAgICAvLy5Gb250RGlyZWN0b3J5IDMgaW5kZXggLmZvcmNldW5kZWYJCSUgcmVhZG9ubHkKLSsgICAgICAgICAgIDEgaW5kZXggKHIpIGZpbGUgLmxvYWRmb250IC8vLkZvbnREaXJlY3RvcnkgZXhjaAotICAgICAgICAgICAgLy5zZXRnbG9iYWwgLnN5c3RlbXZhciBleGVjCi0gICAgICAgICAgfSBleGVjdXRlb25seQotLSAgICAgICAgIHsgLmxvYWRmb250IC5Gb250RGlyZWN0b3J5Ci0rICAgICAgICAgeyAubG9hZGZvbnQgLy8uRm9udERpcmVjdG9yeQotICAgICAgICAgIH0KLSAgICAgICAgIGlmZWxzZQotICAgICAgICAgICAgICAgICAlIFN0YWNrOiBmb250bmFtZSBmb250ZmlsZW5hbWUgZm9udGRpcmVjdG9yeQotQEAgLTExMTksOCArMTExOSw4IEBAICRlcnJvciAvU3Vic3RpdHV0ZUZvbnQgeyB9IHB1dAotICAgICAgICAgICAgICAgICAgICAgICAlIFN0YWNrOiBvcmlnZm9udG5hbWUgZm9udGRpcmVjdG9yeSBmaWxlZm9udG5hbWUgZm9udGRpY3QKLSAgICAgICAgICAgICAgIDMgLTEgcm9sbCBwb3AKLSAgICAgICAgICAgICAgICAgICAgICAgJSBTdGFjazogb3JpZ2ZvbnRuYW1lIGZpbGVmb250bmFtZSBmb250ZGljdAotLSAgICAgICAgICAgICAgZHVwIC9Gb250TmFtZSBnZXQgZHVwIEZvbnREaXJlY3RvcnkgZXhjaCAuZm9yY2V1bmRlZgotLSAgICAgICAgICAgICAgR2xvYmFsRm9udERpcmVjdG9yeSBleGNoIC5mb3JjZXVuZGVmCi0rICAgICAgICAgICAgICBkdXAgL0ZvbnROYW1lIGdldCBkdXAgLy8uRm9udERpcmVjdG9yeSBleGNoIC5mb3JjZXVuZGVmCi0rICAgICAgICAgICAgICAvR2xvYmFsRm9udERpcmVjdG9yeSAuc3lzdGVtdmFyIGV4Y2ggLmZvcmNldW5kZWYKLSAgICAgICAgICAgICAgIGR1cCBsZW5ndGggZGljdCAuY29weWRpY3QgZHVwIDMgaW5kZXggL0ZvbnROYW1lIGV4Y2ggcHV0Ci0gICAgICAgICAgICAgICAyIGluZGV4IGV4Y2ggZGVmaW5lZm9udAotICAgICAgICAgICAgICAgZXhjaAotQEAgLTExNzYsMTAgKzExNzYsMTAgQEAgY3VycmVudGRpY3QgLy5wdXRnc3RyaW5nY29weSAudW5kZWYKLSAgICAgICB7Ci0gICAgICAgICB7Ci0gICAgICAgICAgIHBvcCBkdXAgdHlwZSAvc3RyaW5ndHlwZSBlcSB7IGN2biB9IGlmCi0tICAgICAgICAgIC5Gb250RGlyZWN0b3J5IDEgaW5kZXgga25vd24gbm90IHsKLSsgICAgICAgICAgLy8uRm9udERpcmVjdG9yeSAxIGluZGV4IGtub3duIG5vdCB7Ci0gICAgICAgICAgICAgMiBkaWN0IGR1cCAvRm9udE5hbWUgMyBpbmRleCBwdXQKLSAgICAgICAgICAgICBkdXAgL0ZvbnRUeXBlIDEgcHV0Ci0tICAgICAgICAgICAgLkZvbnREaXJlY3RvcnkgMyAxIHJvbGwgeyBwdXQgfSBzeXN0ZW1kaWN0IC9zdXBlcmV4ZWMga25vd24gey8vc3VwZXJleGVjfXsxMTgzNjE1ODY5IGludGVybmFsZGljdCAvc3VwZXJleGVjIGdldCBleGVjfSBpZmVsc2UgICAlIHJlYWRvbmx5Ci0rICAgICAgICAgICAgLy8uRm9udERpcmVjdG9yeSAzIDEgcm9sbCB7IHB1dCB9IHN5c3RlbWRpY3QgL3N1cGVyZXhlYyBrbm93biB7Ly9zdXBlcmV4ZWN9ezExODM2MTU4NjkgaW50ZXJuYWxkaWN0IC9zdXBlcmV4ZWMgZ2V0IGV4ZWN9IGlmZWxzZSAgICUgcmVhZG9ubHkKLSAgICAgICAgICAgfSB7Ci0gICAgICAgICAgICAgcG9wCi0gICAgICAgICAgIH0gaWZlbHNlCi1kaWZmIC0tZ2l0IGEvUmVzb3VyY2UvSW5pdC9nc19pbml0LnBzIGIvUmVzb3VyY2UvSW5pdC9nc19pbml0LnBzCi1pbmRleCA1NmMwYmQyLi5kOWEwODI5IDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9nc19pbml0LnBzCi0rKysgYi9SZXNvdXJjZS9Jbml0L2dzX2luaXQucHMKLUBAIC0xMTY4LDggKzExNjgsOCBAQCBlcnJvcmRpY3QgL3Vua25vd25lcnJvciAudW5kZWYKLSAgICAgfWlmZWxzZQotICAgfWZvcmFsbAotICAgbm9hY2Nlc3MgcG9wCi0tICBzeXN0ZW1kaWN0IC8uc2V0c2FmZWVycm9ycyAuZm9yY2V1bmRlZgotLSAgc3lzdGVtZGljdCAvLlNBRkVSRVJST1JMSVNUIC5mb3JjZXVuZGVmCi0rICAvL3N5c3RlbWRpY3QgLy5zZXRzYWZlZXJyb3JzIC5mb3JjZXVuZGVmCi0rICAvL3N5c3RlbWRpY3QgLy5TQUZFUkVSUk9STElTVCAuZm9yY2V1bmRlZgotIH0gYmluZCBleGVjdXRlb25seSBvZGVmCi0gCi0gU0FGRVJFUlJPUlMgey5zZXRzYWZlcmVycm9yc30gaWYKLUBAIC0yMTE0LDcgKzIxMTQsNyBAQCBjdXJyZW50ZGljdCAvdGVtcGZpbGVwYXRocyB1bmRlZgotIAotIC8ubG9ja3NhZmUgewotICAgLmxvY2tzYWZlX3VzZXJwYXJhbXMKLS0gIHN5c3RlbWRpY3QgL2dldGVudiB7cG9wIC8vZmFsc2V9IC5mb3JjZXB1dAotKyAgLy9zeXN0ZW1kaWN0IC9nZXRlbnYge3BvcCAvL2ZhbHNlfSAuZm9yY2VwdXQKLSAgICUgc2V0cGFnZWRldmljZSBoYXMgdGhlIHNpZGUgZWZmZWN0IG9mIGNsZWFyaW5nIHRoZSBwYWdlLCBidXQKLSAgICUgd2Ugd2lsbCBqdXN0IGRvY3VtZW50IHRoYXQuIFVzaW5nIHNldHBhZ2VkZXZpY2Uga2VlcHMgdGhlIGRldmljZQotICAgJSBwcm9wZXJ0aWVzIGFuZCBwYWdlZGV2aWNlIC5Mb2NrU2FmZXR5UGFyYW1zIGluIGFncmVlbWVudCBldmVuCi0tLSAKLTIuMTguMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdC9DVkUtMjAxOS02MTE2LTAwMDUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdC9DVkUtMjAxOS02MTE2LTAwMDUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRiNzBiYmEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZ2hvc3RzY3JpcHQvQ1ZFLTIwMTktNjExNi0wMDA1LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjUwICswLDAgQEAKLUZyb20gMWU4MzBjYWZhNTZjNmUzZTFiMDhkMjQ2ZWFmNTQ5NmZlODFhMDAzMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE5hbmN5IER1cmdpbiA8bmFuY3kuZHVyZ2luQGFydGlmZXguY29tPgotRGF0ZTogVHVlLCAyNyBOb3YgMjAxOCAxMjozNjoxNCAtMDgwMAotU3ViamVjdDogW1BBVENIIDUvN10gVW5kZWYgYSBidW5jaCBvZiBpbnRlcm5hbCB0aGluZ3MgaW4gZ3NfcmVzLnBzCi0KLUNWRTogQ1ZFLTIwMTktNjExNgotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbZ2l0Oi8vZ2l0Lmdob3N0c2NyaXB0LmNvbS9naG9zdHBkbC5naXRdCi0KLVNpZ25lZC1vZmYtYnk6IE92aWRpdSBQYW5haXQgPG92aWRpdS5wYW5haXRAd2luZHJpdmVyLmNvbT4KLS0tLQotIFJlc291cmNlL0luaXQvZ3NfcmVzLnBzICAgfCA3MiArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KLSBSZXNvdXJjZS9Jbml0L2dzX3Jlc21wLnBzIHwgIDQgKy0tCi0gMiBmaWxlcyBjaGFuZ2VkLCA0OSBpbnNlcnRpb25zKCspLCAyNyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL1Jlc291cmNlL0luaXQvZ3NfcmVzLnBzIGIvUmVzb3VyY2UvSW5pdC9nc19yZXMucHMKLWluZGV4IGQ5YjM0NTkuLjE4ZDU0NTIgMTAwNjQ0Ci0tLS0gYS9SZXNvdXJjZS9Jbml0L2dzX3Jlcy5wcwotKysrIGIvUmVzb3VyY2UvSW5pdC9nc19yZXMucHMKLUBAIC0xOTcsNyArMTk3LDcgQEAgc2V0Z2xvYmFsCi0gLy5maW5kcmVzb3VyY2UgewkJJSA8a2V5PiA8Y2F0ZWdvcnk+IGZpbmRyZXNvdXJjZSA8aW5zdGFuY2U+Ci0gICAgICAgICAyIGNvcHkgZHVwIC9DYXRlZ29yeSBlcQotICAgICAgICAgICB7IHBvcCAvL0NhdGVnb3J5IDAgZ2V0IGJlZ2luIH0geyAuZmluZGNhdGVnb3J5IH0gaWZlbHNlCi0tICAgICAgICAvRmluZFJlc291cmNlIC5yZXNvdXJjZWV4ZWMgZXhjaCBwb3AgZXhjaCBwb3AKLSsgICAgICAgIC9GaW5kUmVzb3VyY2UgLy8ucmVzb3VyY2VleGVjIGV4ZWMgZXhjaCBwb3AgZXhjaCBwb3AKLSB9IGJpbmQKLSBlbmQJCSUgLkluc3RhbmNlcyBvZiBDYXRlZ29yeQotIGRlZgotQEAgLTIyMyw3ICsyMjMsNyBAQCBkZWYKLSAgICAgICAgICAgICBub3QgeyAvZGVmaW5lcmVzb3VyY2UgY3Z4IC90eXBlY2hlY2sgc2lnbmFsb3BlcnJvciB9IGlmCi0gICAgICAgICAgIH0gaWYKLSAgICAgICAgIH0gaWYKLS0gICAgICAgIC9EZWZpbmVSZXNvdXJjZSAucmVzb3VyY2VleGVjCi0rICAgICAgICAvRGVmaW5lUmVzb3VyY2UgLy8ucmVzb3VyY2VleGVjIGV4ZWMKLSAgICAgICAgIDQgMSByb2xsIHBvcCBwb3AgcG9wCi0gICAgIH0gLmVycm9yZXhlYwotIH0gYmluZCBleGVjdXRlb25seSBvZGVmCi1AQCAtMjUyLDcgKzI1Miw3IEBAIGRlZgotICAgICAgICUgd2l0aG91dCB0aGUgY2hlY2suCi0gICAgICAgL3Jlc291cmNlc3RhdHVzIGN2eCAvdHlwZWNoZWNrIHNpZ25hbGVycm9yCi0gICAgIH0gaWYKLS0gICAgMiBjb3B5IC5maW5kY2F0ZWdvcnkgL1Jlc291cmNlU3RhdHVzIC5yZXNvdXJjZWV4ZWMKLSsgICAgMiBjb3B5IC5maW5kY2F0ZWdvcnkgL1Jlc291cmNlU3RhdHVzIC8vLnJlc291cmNlZXhlYyBleGVjCi0gICAgIHsgNCAyIHJvbGwgcG9wIHBvcCAvL3RydWUgfSB7IHBvcCBwb3AgLy9mYWxzZSB9IGlmZWxzZQotICAgfSBzdG9wcGVkIHsKLSAgICAgJSBBbHRob3VnaCByZXNvdXJjZXN0YXR1cyBpcyBhbiBvcGVyYXRvciwgQWRvYmUgdXNlcyBleGVjdXRhYmxlIG5hbWUKLUBAIC0yNjYsNyArMjY2LDcgQEAgZGVmCi0gICB9IGlmCi0gICAxIC5hcmdpbmRleCAxIGluZGV4CQklIGNhdGNoIHN0YWNrdW5kZXJmbG93Ci0gCi0tICB7IC5maW5kY2F0ZWdvcnkgL1VuZGVmaW5lUmVzb3VyY2UgLnJlc291cmNlZXhlYyBwb3AgcG9wCi0rICB7IC5maW5kY2F0ZWdvcnkgL1VuZGVmaW5lUmVzb3VyY2UgLy8ucmVzb3VyY2VleGVjIGV4ZWMgcG9wIHBvcAotICAgfSBzdG9wcGVkIHsKLSAgICAgJSBBbHRob3VnaCB1bmRlZmluZXJlc291cmNlIGlzIGFuIG9wZXJhdG9yLCBBZG9iZSB1c2VzIGV4ZWN1dGFibGUgbmFtZQotICAgICAlIGhlcmUgYnV0IHVzZXMgb3BlcmF0b3IgZm9yIHRoZSBlcnJvcnMgYWJvdmUuIENFVCAyMy0zMwotQEAgLTMxNSwxMCArMzE1LDEwIEBAIGN1cnJlbnRkaWN0IC9wc3N5c3RlbXBhcmFtcyBrbm93biBub3QgewotICAgL3Bzc3lzdGVtcGFyYW1zIDEwIGRpY3QgcmVhZG9ubHkgZGVmCi0gfSBpZgotIHBzc3lzdGVtcGFyYW1zIGJlZ2luCi0tICAuZGVmYXVsdF9yZXNvdXJjZV9kaXIKLS0gIC9Gb250UmVzb3VyY2VEaXIgKEZvbnQpIC5yZXNvdXJjZV9kaXJfbmFtZQotKyAgLy8uZGVmYXVsdF9yZXNvdXJjZV9kaXIgZXhlYwotKyAgL0ZvbnRSZXNvdXJjZURpciAoRm9udCkgLy8ucmVzb3VyY2VfZGlyX25hbWUgZXhlYwotICAgICAgcmVhZG9ubHkgLmZvcmNlZGVmCSUgcHNzeXMncGFyYW1zIGlzIHItbwotLSAgL0dlbmVyaWNSZXNvdXJjZURpciAoKSAucmVzb3VyY2VfZGlyX25hbWUKLSsgIC9HZW5lcmljUmVzb3VyY2VEaXIgKCkgLy8ucmVzb3VyY2VfZGlyX25hbWUgZXhlYwotICAgICAgcmVhZG9ubHkgLmZvcmNlZGVmCSUgcHNzeXMncGFyYW1zIGlzIHItbwotICAgcG9wICUgLmRlZmF1bHRfcmVzb3VyY2VfZGlyCi0gICAvR2VuZXJpY1Jlc291cmNlUGF0aFNlcAotQEAgLTM4NywxMyArMzg3LDEzIEBAIHN0YXR1cyB7Ci0gfSBiaW5kIGRlZgotIC8ubG9jYWxyZXNvdXJjZWZvcmFsbCB7CQklIDxrZXk+IDx2YWx1ZT4gPGFyZ3M+IC5sb2NhbHInZm9yYWxsIC0KLSAgIGV4Y2ggcG9wCi0tICAyIGNvcHkgMCBnZXQgLnN0cmluZ21hdGNoIHsgLmVudW1lcmF0ZXJlc291cmNlIH0geyBwb3AgcG9wIH0gaWZlbHNlCi0rICAyIGNvcHkgMCBnZXQgLnN0cmluZ21hdGNoIHsgLy8uZW51bWVyYXRlcmVzb3VyY2UgZXhlYyB9IHsgcG9wIHBvcCB9IGlmZWxzZQotIH0gYmluZCBkZWYKLSAvLmdsb2JhbHJlc291cmNlZm9yYWxsIHsJJSA8a2V5PiA8dmFsdWU+IDxhcmdzPiAuZ2xvYmFscidmb3JhbGwgLQotICAgZXhjaCBwb3AKLSAgIDIgY29weSAwIGdldCAuc3RyaW5nbWF0Y2ggewotICAgICBkdXAgMyBnZXQgYmVnaW4gLkxvY2FsSW5zdGFuY2VzIGVuZCAyIGluZGV4IGtub3duIG5vdCB7Ci0tICAgICAgLmVudW1lcmF0ZXJlc291cmNlCi0rICAgICAgLy8uZW51bWVyYXRlcmVzb3VyY2UgZXhlYwotICAgICB9IHsKLSAgICAgICBwb3AgcG9wCi0gICAgIH0gaWZlbHNlCi1AQCAtNDA4LDcgKzQwOCw3IEBAIHN0YXR1cyB7Ci0gICAzIGluZGV4IGtub3duIHsKLSAgICAgcG9wIHBvcCBwb3AKLSAgIH0gewotLSAgICAyIGluZGV4IGtub3duIHsgcG9wIHBvcCB9IHsgLmVudW1lcmF0ZXJlc291cmNlIH0gaWZlbHNlCi0rICAgIDIgaW5kZXgga25vd24geyBwb3AgcG9wIH0geyAvLy5lbnVtZXJhdGVyZXNvdXJjZSBleGVjIH0gaWZlbHNlCi0gICB9IGlmZWxzZQotIH0gYmluZCBkZWYKLSAKLUBAIC00NjgsMTkgKzQ2OCwxOSBAQCBzdGF0dXMgewotICAgICAgICAgICAlIC5rbm93bmdldCBkb2Vzbid0IGZhaWwgb24gbnVsbAotICAgICAgICAgICAvZmluZHJlc291cmNlIGN2eCAvdHlwZWNoZWNrIHNpZ25hbG9wZXJyb3IKLSAgICAgICAgIH0gaWYKLS0gICAgICAgIGR1cCAuZ2V0dm1pbnN0YW5jZSB7Ci0rICAgICAgICBkdXAgLy8uZ2V0dm1pbnN0YW5jZSBleGVjIHsKLSAgICAgICAgICAgZXhjaCBwb3AgMCBnZXQKLSAgICAgICAgIH0gewotICAgICAgICAgICBkdXAgUmVzb3VyY2VTdGF0dXMgewotICAgICAgICAgICAgIHBvcCAxIGd0IHsKLS0gICAgICAgICAgICAgIC5Eb0xvYWRSZXNvdXJjZSAuZ2V0dm1pbnN0YW5jZSBub3QgewotLSAgICAgICAgICAgICAgICAvZmluZHJlc291cmNlIGN2eCAudW5kZWZpbmVkcmVzb3VyY2UKLSsgICAgICAgICAgICAgIC5Eb0xvYWRSZXNvdXJjZSAvLy5nZXR2bWluc3RhbmNlIGV4ZWMgbm90IHsKLSsgICAgICAgICAgICAgICAgL2ZpbmRyZXNvdXJjZSBjdnggLy8udW5kZWZpbmVkcmVzb3VyY2UgZXhlYwotICAgICAgICAgICAgICAgfSBpZiAwIGdldAotICAgICAgICAgICAgIH0gewotICAgICAgICAgICAgICAgLkdldEluc3RhbmNlIHBvcCAwIGdldAotICAgICAgICAgICAgIH0gaWZlbHNlCi0gICAgICAgICAgIH0gewotLSAgICAgICAgICAgL2ZpbmRyZXNvdXJjZSBjdnggLnVuZGVmaW5lZHJlc291cmNlCi0rICAgICAgICAgICAvZmluZHJlc291cmNlIGN2eCAvLy51bmRlZmluZWRyZXNvdXJjZSBleGVjCi0gICAgICAgICAgIH0gaWZlbHNlCi0gICAgICAgICB9IGlmZWxzZQotIH0gYmluZCBleGVjdXRlb25seQotQEAgLTYyMSw3ICs2MjEsNyBAQCBzdGF0dXMgewotICAgICAuY3VycmVudGdsb2JhbCBub3QgLnNldGdsb2JhbAotICAgICB2bXN0YXR1cyBwb3AgZXhjaCBwb3AgYWRkCi0gICB9IHJlcGVhdAotLX0gYmluZCBkZWYKLSt9IGJpbmQgZXhlY3V0ZW9ubHkgb2RlZgotIC8uRG9Mb2FkUmVzb3VyY2UgewotICAgICAgICAgICAgICAgICAlIC5Mb2FkUmVzb3VyY2UgbWF5IHB1c2ggZW50cmllcyBvbiB0aGUgb3BlcmFuZCBzdGFjay4KLSAgICAgICAgICAgICAgICAgJSBJdCBpcyBhbiB1bmRvY3VtZW50ZWQgZmVhdHVyZSBvZiBBZG9iZSBpbXBsZW1lbnRhdGlvbnMsCi1AQCAtNjMzLDggKzYzMyw4IEBAIHN0YXR1cyB7Ci0gICAgICAgICB7LkxvYWRSZXNvdXJjZX0gNCAxIHJvbGwgNCAuZXhlY24KLSAgICAgICAgICAgICAgICAgJSBTdGFjazogLi4uIGNvdW50IGtleSBtZW11c2VkCi0gICAgICAgICAudm11c2VkIGV4Y2ggc3ViCi0tICAgICAgICAxIGluZGV4IC5nZXR2bWluc3RhbmNlIG5vdCB7Ci0tICAgICAgICAgIHBvcCBkdXAgLnVuZGVmaW5lZHJlc291cmNlCSUgZGlkbid0IGxvYWQKLSsgICAgICAgIDEgaW5kZXggLy8uZ2V0dm1pbnN0YW5jZSBleGVjIG5vdCB7Ci0rICAgICAgICAgIHBvcCBkdXAgLy8udW5kZWZpbmVkcmVzb3VyY2UgZXhlYwklIGRpZG4ndCBsb2FkCi0gICAgICAgICB9IGlmCi0gICAgICAgICBkdXAgMSAxIHB1dAotICAgICAgICAgMiAzIC0xIHJvbGwgcHV0Ci1AQCAtNjQ4LDcgKzY0OCw3IEBAIHN0YXR1cyB7Ci0gICAgICAgICAgICAgICB7IC8vdHJ1ZSBzZXRnbG9iYWwgeyAucnVucmVzb3VyY2UgfSBzdG9wcGVkIC8vZmFsc2Ugc2V0Z2xvYmFsIHsgc3RvcCB9IGlmIH0KLSAgICAgICAgICAgICAgaWZlbHNlCi0gICAgICAgICAgICB9Ci0tICAgICAgICAgICB7IGR1cCAudW5kZWZpbmVkcmVzb3VyY2UKLSsgICAgICAgICAgIHsgZHVwIC8vLnVuZGVmaW5lZHJlc291cmNlIGV4ZWMKLSAgICAgICAgICAgIH0KLSAgICAgICAgICBpZmVsc2UKLSAgICAgICAgIH0gYmluZAotQEAgLTc1OCw3ICs3NTgsNyBAQCBjb3VudHRvbWFyayAyIGlkaXYKLSAgICAvRmluZFJlc291cmNlCi0gICAgICAgICB7IC5JbnN0YW5jZXMgMSBpbmRleCAua25vd25nZXQKLSAgICAgICAgICAgIHsgZXhjaCBwb3AgfQotLSAgICAgICAgICAgeyAvZmluZHJlc291cmNlIGN2eCAudW5kZWZpbmVkcmVzb3VyY2UgfQotKyAgICAgICAgICAgeyAvZmluZHJlc291cmNlIGN2eCAvLy51bmRlZmluZWRyZXNvdXJjZSBleGVjIH0KLSAgICAgICAgICAgaWZlbHNlCi0gICAgICAgICB9IGJpbmQgZXhlY3V0ZW9ubHkKLSAgICAvUmVzb3VyY2VTdGF0dXMKLUBAIC04NjIsNyArODYyLDcgQEAgdXNlcmRpY3QgLy5sb2NhbGNzZGVmYXVsdHMgLy9mYWxzZSBwdXQKLSAgIDIgY29weSAvR2VuZXJpYyAvQ2F0ZWdvcnkgZmluZHJlc291cmNlIC9EZWZpbmVSZXNvdXJjZSBnZXQgZXhlYwotICAgZXhjaCBwb3AKLSAgIGV4Y2ggLy8uZGVmYXVsdGNzbmFtZXMgZXhjaCAua25vd25nZXQgewotLSAgICAxIGluZGV4IC5kZWZpbmVkZWZhdWx0Y3MKLSsgICAgMSBpbmRleCAvLy5kZWZpbmVkZWZhdWx0Y3MgZXhlYwotICAgICBjdXJyZW50Z2xvYmFsIG5vdCB7IC51c2VyZGljdCAvLmxvY2FsY3NkZWZhdWx0cyAvL3RydWUgcHV0IH0gaWYKLSAgIH0gaWYKLSB9IGJpbmQgZXhlY3V0ZW9ubHkKLUBAIC04NzIsMTMgKzg3MiwxMyBAQCB1c2VyZGljdCAvLmxvY2FsY3NkZWZhdWx0cyAvL2ZhbHNlIHB1dAotICAgLy8uZGVmYXVsdGNzbmFtZXMgMSBpbmRleCAua25vd25nZXQgewotICAgICAgICAgJSBTdGFjazogcmVzbmFtZSBpbmRleAotICAgICBjdXJyZW50Z2xvYmFsIHsKLS0gICAgICAudW5kZWZpbmVkZWZhdWx0Y3MgcG9wCi0rICAgICAgLy8udW5kZWZpbmVkZWZhdWx0Y3MgZXhlYyBwb3AKLSAgICAgfSB7Ci0gICAgICAgICAlIFdlIHJlbW92ZWQgdGhlIGxvY2FsIGRlZmluaXRpb24sIGJ1dCB0aGVyZSBtaWdodCBiZSBhIGdsb2JhbCBvbmUuCi0gICAgICAgZXhjaCAuR2V0SW5zdGFuY2UgewotLSAgICAgICAgMCBnZXQgLmRlZmluZWRlZmF1bHRjcwotKyAgICAgICAgMCBnZXQgLy8uZGVmaW5lZGVmYXVsdGNzIGV4ZWMKLSAgICAgICB9IHsKLS0gICAgICAgIC51bmRlZmluZWRlZmF1bHRjcwotKyAgICAgICAgLy8udW5kZWZpbmVkZWZhdWx0Y3MgZXhlYwotICAgICAgIH0gaWZlbHNlCi0gICAgICAgICAlIFJlY29tcHV0ZSAubG9jYWxjc2RlZmF1bHRzIGJ5IHNjYW5uaW5nLiAgVGhpcyBpcyByYXJlbHkgbmVlZGVkLgotICAgICAgIC51c2VyZGljdCAvLmxvY2FsY3NkZWZhdWx0cyAvL2ZhbHNlIC8vLmRlZmF1bHRjc25hbWVzIHsKLUBAIC05OTcsNyArOTk3LDcgQEAgY3VycmVudGRpY3QgLy5mb250c3RhdHVzYXV4IC51bmRlZgotICAgICAgICAgICAvR2VuZXJpYyAvQ2F0ZWdvcnkgZmluZHJlc291cmNlIC9VbmRlZmluZVJlc291cmNlIGdldCBleGVjCi0gICAgICAgICB9IGJpbmQgZXhlY3V0ZW9ubHkKLSAvRmluZFJlc291cmNlIHsKLS0gICAgICAgIGR1cCAuZ2V0dm1pbnN0YW5jZSB7Ci0rICAgICAgICBkdXAgLy8uZ2V0dm1pbnN0YW5jZSBleGVjIHsKLSAgICAgICAgICAgZXhjaCBwb3AgMCBnZXQKLSAgICAgICAgIH0gewotICAgICAgICAgICBkdXAgUmVzb3VyY2VTdGF0dXMgewotQEAgLTEwMjQsNyArMTAyNCw3IEBAIGN1cnJlbnRkaWN0IC8uZm9udHN0YXR1c2F1eCAudW5kZWYKLSAgICAgICAgICAgICAgICAgJSBzdGFjazogbmFtZSBmb250IHZtdXNlZAotICAgICAgICAgICAgICAgICAlIGZpbmRmb250IGhhcyB0aGUgcHJlcm9nYXRpdmUgb2Ygbm90IGNhbGxpbmcgZGVmaW5lZm9udAotICAgICAgICAgICAgICAgICAlIGluIGNlcnRhaW4gb2JzY3VyZSBjYXNlcyBvZiBmb250IHN1YnN0aXR1dGlvbi4KLS0gICAgICAgIDIgaW5kZXggLmdldHZtaW5zdGFuY2UgewotKyAgICAgICAgMiBpbmRleCAvLy5nZXR2bWluc3RhbmNlIGV4ZWMgewotICAgICAgICAgICBkdXAgMSAxIHB1dAotICAgICAgICAgICAyIDMgLTEgcm9sbCBwdXQKLSAgICAgICAgIH0gewotQEAgLTExNTksMyArMTE1OSwyNSBAQCBlbmQJCQkJJSBsZXZlbDJkaWN0Ci0gCi0gJSUgUmVwbGFjZSAxIChnc19yZXNtcC5wcykKLSAoZ3NfcmVzbXAucHMpICBkdXAgcnVubGliZmlsZSBWTURFQlVHCi0rCi0rWwotKyAgICAvLmRlZmF1bHRfcmVzb3VyY2VfZGlyCi0rICAgIC8ucmVzb3VyY2VfZGlyX25hbWUKLStdCi0re3N5c3RlbWRpY3QgZXhjaCAuZm9yY2V1bmRlZn0gZm9yYWxsCi0rCi0rWwotKyAgICAvLmRlZmluZWRlZmF1bHRjcwotKyAgICAvLnVuZGVmaW5lZGVmYXVsdGNzCi0rICAgIC8uZGVmYXVsdGNzbmFtZXMKLSsgICAgLy5lbnVtZXJhdGVyZXNvdXJjZQotKyAgICAvLmV4dGVybmFscmVzb3VyY2Vmb3JhbGwKLSsgICAgLy5nZXR2bWluc3RhbmNlCi0rICAgIC8uZ2xvYmFscmVzb3VyY2Vmb3JhbGwKLSsgICAgLy5sb2NhbHJlc291cmNlZm9yYWxsCi0rICAgIC9yZXNvdXJjZWZvcmFsbDEKLSsgICAgLy5yZXNvdXJjZWV4ZWMKLSsgICAgLy51bmRlZmluZWRyZXNvdXJjZQotKyAgICAvLnZtdXNlZAotK10KLSt7bGV2ZWwyZGljdCBleGNoIC5mb3JjZXVuZGVmfSBmb3JhbGwKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L2dzX3Jlc21wLnBzIGIvUmVzb3VyY2UvSW5pdC9nc19yZXNtcC5wcwotaW5kZXggOWJiNDI2My4uY2I5NDhkMSAxMDA2NDQKLS0tLSBhL1Jlc291cmNlL0luaXQvZ3NfcmVzbXAucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvZ3NfcmVzbXAucHMKLUBAIC0yMzAsNyArMjMwLDcgQEAgY3VycmVudHBhY2tpbmcgLy9mYWxzZSBzZXRwYWNraW5nCi0gICAgICAgfSB7Ci0gICAgICAgICBkdXAgZHVwIC5tYXAgZXhjaCAua25vd25nZXQgeyAgICAgICUgL05hbWUgL05hbWUgPDxyZWNvcmQ+PgotICAgICAgICAgICBkdXAgZHVwIC9SZWNvcmRWaXJ0dWFsTWV0aG9kcyBnZXQgL0lzQWN0aXZlIGdldCBleGVjIHsKLS0gICAgICAgICAgICAxIGluZGV4IC5nZXR2bWluc3RhbmNlIHsgICAgICAgJSAvTmFtZSAvTmFtZSA8PHJlY29yZD4+IGhvbGRlcgotKyAgICAgICAgICAgIDEgaW5kZXggLy8uZ2V0dm1pbnN0YW5jZSBleGVjIHsgICAgICAgJSAvTmFtZSAvTmFtZSA8PHJlY29yZD4+IGhvbGRlcgotICAgICAgICAgICAgICAgMSBnZXQgMSBlcQotICAgICAgICAgICAgIH0gewotICAgICAgICAgICAgICAgLy90cnVlCi1AQCAtMjQyLDcgKzI0Miw3IEBAIGN1cnJlbnRwYWNraW5nIC8vZmFsc2Ugc2V0cGFja2luZwotICAgICAgICAgICAgIERlZmluZVJlc291cmNlIGV4ZWMgICAgICAgICAgICAlIHNpemUgYlN0YXR1c0lzMSAvTmFtZSBJbnN0YW5jZQotICAgICAgICAgICAgICUgTWFrZSBSZXNvdXJjZVN0YXR1cyB0byByZXR1cm4gY29ycmVjdCB2YWx1ZXMgZm9yIHRoaXMgaW5zdGFuY2UgOgotICAgICAgICAgICAgICUgSGFjazogd2UgcmVwbGFjZSBzdGF0dXMgdmFsdWVzIGluIHRoZSBpbnN0YW5jZSBob2xkZXIgOgotLSAgICAgICAgICAgIGV4Y2ggLmdldHZtaW5zdGFuY2UgcG9wICAgICAgICAlIHNpemUgYlN0YXR1c0lzMSBJbnN0YW5jZSBob2xkZXIKLSsgICAgICAgICAgICBleGNoIC8vLmdldHZtaW5zdGFuY2UgZXhlYyBwb3AgICAgICAgICUgc2l6ZSBiU3RhdHVzSXMxIEluc3RhbmNlIGhvbGRlcgotICAgICAgICAgICAgIGR1cCA1IC0xIHJvbGwgMiBleGNoIHB1dCAgICAgICAlIGJTdGF0dXNJczEgSW5zdGFuY2UgaG9sZGVyCi0gICAgICAgICAgICAgMyAyIHJvbGwgeyAgICAgICAgICAgICAgICAgICAgICUgSW5zdGFuY2UgaG9sZGVyCi0gICAgICAgICAgICAgICAxIDEgcHV0ICAgICAgICAgICAgICAgICAgICAgICUgSW5zdGFuY2UKLS0tIAotMi4xOC4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dob3N0c2NyaXB0L2dob3N0c2NyaXB0L0NWRS0yMDE5LTYxMTYtMDAwNi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dob3N0c2NyaXB0L2dob3N0c2NyaXB0L0NWRS0yMDE5LTYxMTYtMDAwNi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzllNjQwYi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdC9DVkUtMjAxOS02MTE2LTAwMDYucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1OTYgKzAsMCBAQAotRnJvbSA5N2Y5MDUyY2U0OWU2ODQ0YjA2YTQ5ZmY5ZTRiOGZjMWVhZjZiZDEwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ2hyaXMgTGlkZGVsbCA8Y2hyaXMubGlkZGVsbEBhcnRpZmV4LmNvbT4KLURhdGU6IFdlZCwgOSBKYW4gMjAxOSAxNDoyNDowNyArMDAwMAotU3ViamVjdDogW1BBVENIIDYvN10gVW5kZWZpbmUgYSBidW5jaCBvZiBnc19mb250cy5wcyBzcGVjaWZpYyBwcm9jcwotCi1BbHNvIHJlb3JkZXIgYW5kIGFkZCBzb21lIGltbWVkaWF0ZSBldmFsdWF0aW9uLCBzbyBpdCBzdGlsbCB3b3JrcyB3aXRoIHRoZQotdW5kZWZpbmluZy4KLQotQ1ZFOiBDVkUtMjAxOS02MTE2Ci1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtnaXQ6Ly9naXQuZ2hvc3RzY3JpcHQuY29tL2dob3N0cGRsLmdpdF0KLQotU2lnbmVkLW9mZi1ieTogT3ZpZGl1IFBhbmFpdCA8b3ZpZGl1LnBhbmFpdEB3aW5kcml2ZXIuY29tPgotLS0tCi0gUmVzb3VyY2UvSW5pdC9nc19kcHMxLnBzICB8ICAgMyArLQotIFJlc291cmNlL0luaXQvZ3NfZm9udHMucHMgfCAyNzUgKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0KLSBSZXNvdXJjZS9Jbml0L2dzX3Jlcy5wcyAgIHwgICA3ICstCi0gMyBmaWxlcyBjaGFuZ2VkLCAxNTcgaW5zZXJ0aW9ucygrKSwgMTI4IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvUmVzb3VyY2UvSW5pdC9nc19kcHMxLnBzIGIvUmVzb3VyY2UvSW5pdC9nc19kcHMxLnBzCi1pbmRleCBiNzVlYTE0Li44NzAwYzhjIDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9nc19kcHMxLnBzCi0rKysgYi9SZXNvdXJjZS9Jbml0L2dzX2RwczEucHMKLUBAIC02Nyw3ICs2Nyw4IEBAIGxldmVsMmRpY3QgYmVnaW4KLSAKLSAvc2VsZWN0Zm9udAkJJSA8Zm9udG5hbWU+IDxzaXplPiBzZWxlY3Rmb250IC0KLSAgewotLSAgIHsgMSAuYXJnaW5kZXggZmluZGZvbnQKLSsgICB7Ci0rICAgICAxIC5hcmdpbmRleCBmaW5kZm9udAotICAgICAgMSBpbmRleCBkdXAgdHlwZSAvYXJyYXl0eXBlIGVxIHsgbWFrZWZvbnQgfSB7IHNjYWxlZm9udCB9IGlmZWxzZQotICAgICAgc2V0Zm9udCBwb3AgcG9wCi0gICAgfSBzdG9wcGVkIHsgL3NlbGVjdGZvbnQgLnN5c3RlbXZhciAkZXJyb3IgL2Vycm9ybmFtZSBnZXQgc2lnbmFsZXJyb3IgfSBpZgotZGlmZiAtLWdpdCBhL1Jlc291cmNlL0luaXQvZ3NfZm9udHMucHMgYi9SZXNvdXJjZS9Jbml0L2dzX2ZvbnRzLnBzCi1pbmRleCBjMTNhMmZjLi4wNTYyMjM1IDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9nc19mb250cy5wcwotKysrIGIvUmVzb3VyY2UvSW5pdC9nc19mb250cy5wcwotQEAgLTEwMCw3ICsxMDAsNyBAQCB1c2VyZGljdCAvLm5hdGl2ZUZvbnRtYXAgLkZvbnREaXJlY3RvcnkgbWF4bGVuZ3RoIGRpY3QgcHV0Ci0gICAgICAgIHsgMiBpbmRleCB0b2tlbiBub3QKLSAgICAgICAgICAgeyAoRm9udG1hcCBlbnRyeSBmb3IgKSBwcmludCAxIGluZGV4ID1vbmx5Ci0gICAgICAgICAgICAgKCBlbmRzIHByZW1hdHVyZWx5ISAgR2l2aW5nIHVwLikgPSBmbHVzaAotLSAgICAgICAgICAgIHsubG9hZEZvbnRtYXB9IDAgZ2V0IDEgLnF1aXQKLSsgICAgICAgICAgICB7Ly8ubG9hZEZvbnRtYXAgZXhlY30gMCBnZXQgMSAucXVpdAotICAgICAgICAgICB9IGlmCi0gICAgICAgICAgZHVwIC87IGVxIHsgcG9wIDMgaW5kZXggMyAxIHJvbGwgLmdyb3dwdXQgZXhpdCB9IGlmCi0gICAgICAgICAgcG9wCi1AQCAtMjAyLDYgKzIwMiwxNCBAQCBOT0ZPTlRQQVRIIHsgL0ZPTlRQQVRIICgpIGRlZiB9IGlmCi0gIHsgcG9wIH0KLSAgeyAvRk9OVFBBVEggKEdTX0ZPTlRQQVRIKSBnZXRlbnYgbm90IHsgKCkgfSBpZiBkZWYgfQotIGlmZWxzZQotKwotKyUgVGhlIGZvbGxvd2luZyBhcmUgZHVtbXkgZGVmaW5pdGlvbnMgdGhhdCwgaWYgd2UgaGF2ZSBhIEZPTlRQQVRILCB3aWxsCi0rJSBiZSByZXBsYWNlZCBpbiB0aGUgZm9sbG93aW5nIHNlY3Rpb24uCi0rJSBUaGV5IGFyZSBoZXJlIHNvIGltbWVkaWF0ZWx5IGV2YXVsYXRpb24gd2lsbCB3b3JrLCBhbmQgYWxsb3cgdGhlbSB0bwotKyUgdW5kZWZpbmVkIGF0IHRoZSBib3R0b20gb2YgdGhlIGZpbGUuCi0rLy5zY2FuZm9udGJlZ2lue30gYmluZCBkZWYKLSsvLnNjYW5mb250ZGlyIHt9IGJpbmQgZGVmCi0rCi0gRk9OVFBBVEggbGVuZ3RoIDAgZXEgeyAoJUVORCBGT05UUEFUSCkgLnNraXBlb2YgfSBpZgotIC9GT05UUEFUSCBbIEZPTlRQQVRIIC5wYXRobGlzdCBdIGRlZgotIAotQEAgLTI0MiwxMiArMjUwLDEyIEBAIEZPTlRQQVRIIGxlbmd0aCAwIGVxIHsgKCVFTkQgRk9OVFBBVEgpIC5za2lwZW9mIH0gaWYKLSAvLnNjYW5mb250YmVnaW4KLSAgeyAgICAgICUgQ29uc3RydWN0IHRoZSB0YWJsZSBvZiBhbGwgZmlsZSBuYW1lcyBhbHJlYWR5IGluIEZvbnRtYXAuCi0gICAgY3VycmVudGdsb2JhbCAvL3RydWUgc2V0Z2xvYmFsCi0tICAgLnNjYW5mb250ZGljdCBkdXAgbWF4bGVuZ3RoIEZvbnRtYXAgbGVuZ3RoIDIgYWRkIC5tYXggLnNldG1heGxlbmd0aAotKyAgIC8vLnNjYW5mb250ZGljdCBkdXAgbWF4bGVuZ3RoIEZvbnRtYXAgbGVuZ3RoIDIgYWRkIC5tYXggLnNldG1heGxlbmd0aAotICAgIEZvbnRtYXAKLSAgICAgeyBleGNoIHBvcAotICAgICAgICB7IGR1cCB0eXBlIC9zdHJpbmd0eXBlIGVxCi0tICAgICAgICAgIHsgLnNwbGl0ZmlsZW5hbWUgcG9wIC5mb250dGVtcHN0cmluZyBjb3B5IC5sb3dlcnN0cmluZyBjdm4KLS0gICAgICAgICAgICAuc2NhbmZvbnRkaWN0IGV4Y2ggLy90cnVlIHB1dAotKyAgICAgICAgICB7IC8vLnNwbGl0ZmlsZW5hbWUgZXhlYyBwb3AgLy8uZm9udHRlbXBzdHJpbmcgY29weSAvLy5sb3dlcnN0cmluZyBleGVjIGN2bgotKyAgICAgICAgICAgIC8vLnNjYW5mb250ZGljdCBleGNoIC8vdHJ1ZSBwdXQKLSAgICAgICAgICAgfQotICAgICAgICAgICB7IHBvcAotICAgICAgICAgICB9Ci1AQCAtMjgwLDkgKzI4OCw5IEBAIEZPTlRQQVRIIGxlbmd0aCAwIGVxIHsgKCVFTkQgRk9OVFBBVEgpIC5za2lwZW9mIH0gaWYKLSAgIC90eHQgLy90cnVlCi0gLmRpY3R0b21hcmsgZGVmCi0gLy5zY2FuMWZvbnRzdHJpbmcgODE5MiBzdHJpbmcgZGVmCi0tJSAlJUJlZ2luRm9udDogaXMgbm90IHBlciBBZG9iZSBkb2N1bWVudGF0aW9uLCBidXQgYSBmZXcgZm9udHMgaGF2ZSBpdC4KLSslIEJlZ2luRm9udDogaXMgbm90IHBlciBBZG9iZSBkb2N1bWVudGF0aW9uLCBidXQgYSBmZXcgZm9udHMgaGF2ZSBpdC4KLSAvLnNjYW5mb250aGVhZGVycyBbKCUhUFMtQWRvYmUqKSAoJSFGb250VHlwZSopICglJUJlZ2luRm9udDoqKV0gZGVmCi0tMCAuc2NhbmZvbnRoZWFkZXJzIHsgbGVuZ3RoIC5tYXggfSBmb3JhbGwgNiBhZGQgJSBleHRyYSBmb3IgUEZCIGhlYWRlcgotKzAgLy8uc2NhbmZvbnRoZWFkZXJzIHsgbGVuZ3RoIC5tYXggfSBmb3JhbGwgNiBhZGQgJSBleHRyYSBmb3IgUEZCIGhlYWRlcgotIC8uc2NhbjFmb250Zmlyc3QgZXhjaCBzdHJpbmcgZGVmCi0gLy5zY2FuZm9udGRpciAgICAgICAgICAgJSA8ZGlybmFtZT4gLnNjYW5mb250ZGlyIC0KLSAgeyBjdXJyZW50Z2xvYmFsIGV4Y2ggLy90cnVlIHNldGdsb2JhbAotQEAgLTI5MSwxMCArMjk5LDEwIEBAIEZPTlRQQVRIIGxlbmd0aCAwIGVxIHsgKCVFTkQgRk9OVFBBVEgpIC5za2lwZW9mIH0gaWYKLSAgICAwIDAgMCA0IC0xIHJvbGwgICAgICAlIGZvdW5kIHNjYW5uZWQgZmlsZXMKLSAgICAgeyAgICAgICAgICAgJSBzdGFjazogPGZvbnRjb3VudD4gPHNjYW5jb3VudD4gPGZpbGVjb3VudD4gPGZpbGVuYW1lPgotICAgICAgIGV4Y2ggMSBhZGQgZXhjaCAgICAgICAgICAgICAgICAgICAlIGluY3JlbWVudCBmaWxlY291bnQKLS0gICAgICBkdXAgLnNwbGl0ZmlsZW5hbWUgLmZvbnR0ZW1wc3RyaW5nIGNvcHkgLmxvd2Vyc3RyaW5nCi0rICAgICAgZHVwIC8vLnNwbGl0ZmlsZW5hbWUgZXhlYyAvLy5mb250dGVtcHN0cmluZyBjb3B5IC8vLmxvd2Vyc3RyaW5nIGV4ZWMKLSAgICAgICAgICAgICAgICAgJSBzdGFjazogPGZvbnRjb3VudD4gPHNjYW5jb3VudD4gPGZpbGVjb3VudCsxPiA8ZmlsZW5hbWU+Ci0gICAgICAgICAgICAgICAgICUgICAgICAgPEJBU0U+IDxleHQ+Ci0tICAgICAgLnNjYW5mb250c2tpcCBleGNoIGtub3duIGV4Y2ggLnNjYW5mb250ZGljdCBleGNoIGtub3duIG9yCi0rICAgICAgLy8uc2NhbmZvbnRza2lwIGV4Y2gga25vd24gZXhjaCAvLy5zY2FuZm9udGRpY3QgZXhjaCBrbm93biBvcgotICAgICAgICB7IHBvcAotICAgICAgICAgICAgICAgICAlIHN0YWNrOiA8Zm9udGNvdW50PiA8c2NhbmNvdW50PiA8ZmlsZWNvdW50KzE+Ci0gICAgICAgIH0KLUBAIC0zMDksNyArMzE3LDcgQEAgRk9OVFBBVEggbGVuZ3RoIDAgZXEgeyAoJUVORCBGT05UUEFUSCkgLnNraXBlb2YgfSBpZgotICAgICAgICAgICAgICAgICAlIE9uIHNvbWUgcGxhdGZvcm1zLCB0aGUgZmlsZSBvcGVyYXRvciB3aWxsIG9wZW4gZGlyZWN0b3JpZXMsCi0gICAgICAgICAgICAgICAgICUgYnV0IGFuIGVycm9yIHdpbGwgb2NjdXIgaWYgd2UgdHJ5IHRvIHJlYWQgZnJvbSBvbmUuCi0gICAgICAgICAgICAgICAgICUgSGFuZGxlIHRoaXMgcG9zc2liaWxpdHkgaGVyZS4KLS0gICAgICAgICAgICBkdXAgLnNjYW4xZm9udGZpcnN0IHsgcmVhZHN0cmluZyB9IC5pbnRlcm5hbHN0b3BwZWQKLSsgICAgICAgICAgICBkdXAgLy8uc2NhbjFmb250Zmlyc3QgeyByZWFkc3RyaW5nIH0gLmludGVybmFsc3RvcHBlZAotICAgICAgICAgICAgICB7IHBvcCBwb3AgKCkgfQotICAgICAgICAgICAgICB7IHBvcCB9Ci0gICAgICAgICAgICAgaWZlbHNlCi1AQCAtMzIyLDcgKzMzMCw3IEBAIEZPTlRQQVRIIGxlbmd0aCAwIGVxIHsgKCVFTkQgRk9OVFBBVEgpIC5za2lwZW9mIH0gaWYKLSAgICAgICAgICAgeyBkdXAgbGVuZ3RoIDYgc3ViIDYgZXhjaCBnZXRpbnRlcnZhbCB9Ci0gICAgICAgICAgaWYKLSAgICAgICAgICAgICAgICAgJSBDaGVjayBmb3IgZm9udCBmaWxlIGhlYWRlcnMuCi0tICAgICAgICAgLy9mYWxzZSAuc2NhbmZvbnRoZWFkZXJzCi0rICAgICAgICAgLy9mYWxzZSAvLy5zY2FuZm9udGhlYWRlcnMKLSAgICAgICAgICAgeyAyIGluZGV4IGV4Y2ggLnN0cmluZ21hdGNoIG9yCi0gICAgICAgICAgIH0KLSAgICAgICAgICBmb3JhbGwgZXhjaCBwb3AKLUBAIC0zMzUsNyArMzQzLDcgQEAgRk9OVFBBVEggbGVuZ3RoIDAgZXEgeyAoJUVORCBGT05UUEFUSCkgLnNraXBlb2YgfSBpZgotICAgICAgICAgICAgICAgICB7IGV4Y2ggY29weXN0cmluZyBleGNoCi0gICAgICAgICAgICAgICAgICAgREVCVUcgeyAoICkgcHJpbnQgZHVwID1vbmx5IGZsdXNoIH0gaWYKLSAgICAgICAgICAgICAgICAgICAxIGluZGV4IC5kZWZpbmVuYXRpdmVmb250bWFwCi0tICAgICAgICAgICAgICAgICAgLnNwbGl0ZmlsZW5hbWUgcG9wIC8vdHJ1ZSAuc2NhbmZvbnRkaWN0IDMgMSByb2xsIC5ncm93cHV0Ci0rICAgICAgICAgICAgICAgICAgLy8uc3BsaXRmaWxlbmFtZSBleGVjIHBvcCAvL3RydWUgLy8uc2NhbmZvbnRkaWN0IDMgMSByb2xsIC5ncm93cHV0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgJSBJbmNyZW1lbnQgZm9udGNvdW50LgotICAgICAgICAgICAgICAgICAgIDMgLTEgcm9sbCAxIGFkZCAzIDEgcm9sbAotICAgICAgICAgICAgICAgICB9Ci1AQCAtMzUyLDcgKzM2MCw3IEBAIEZPTlRQQVRIIGxlbmd0aCAwIGVxIHsgKCVFTkQgRk9OVFBBVEgpIC5za2lwZW9mIH0gaWYKLSAgICAgICAgfQotICAgICAgIGlmZWxzZQotICAgICB9Ci0tICAgLnNjYW4xZm9udHN0cmluZyBmaWxlbmFtZWZvcmFsbAotKyAgIC8vLnNjYW4xZm9udHN0cmluZyBmaWxlbmFtZWZvcmFsbAotICAgIFFVSUVUCi0gICAgIHsgcG9wIHBvcCBwb3AgfQotICAgICB7ICggKSBwcmludCA9b25seSAoIGZpbGVzLCApIHByaW50ID1vbmx5ICggc2Nhbm5lZCwgKSBwcmludAotQEAgLTQyMiw3ICs0MzAsNiBAQCBzeXN0ZW1kaWN0IC9OT05BVElWRUZPTlRNQVAga25vd24gLnNldG5hdGl2ZWZvbnRtYXBidWlsdAotICAgICAvL3RydWUgLnNldG5hdGl2ZWZvbnRtYXBidWlsdAotICAgfSBpZmVsc2UKLSB9IGJpbmQgZGVmCi0tY3VycmVudGRpY3QgLy5zZXRuYXRpdmVmb250bWFwYnVpbHQgLmZvcmNldW5kZWYKLSAKLSAlIENyZWF0ZSB0aGUgZGljdGlvbmFyeSB0aGF0IHJlZ2lzdGVycyB0aGUgLmJ1aWxkZm9udCBwcm9jZWR1cmUKLSAlIChjYWxsZWQgYnkgZGVmaW5lZm9udCkgZm9yIGVhY2ggRm9udFR5cGUuCi1AQCAtNTI2LDcgKzUzMyw4IEBAIGJ1aWxkZm9udGRpY3QgMyAvLmJ1aWxkZm9udDMgY3Z4IHB1dAotICUgV2UgdXNlIHRoaXMgb25seSBmb3IgZXhwbGljaXRseSBhbGlhc2VkIGZvbnRzLCBub3Qgc3Vic3RpdHV0ZWQgZm9udHM6Ci0gJSB3ZSB0aGluayB0aGlzIG1hdGNoZXMgdGhlIG9ic2VydmVkIGJlaGF2aW9yIG9mIEFkb2JlIGludGVycHJldGVycy4KLSAvLmFsaWFzZm9udCAgICAgICAgICAgICAlIDxuYW1lPiA8Zm9udD4gLmFsaWFzZm9udCA8bmV3Rm9udD4KLS0geyAuY3VycmVudGdsb2JhbCAzIDEgcm9sbCBkdXAgLmdjaGVjayAuc2V0Z2xvYmFsCi0rIHsKLSsgICBjdXJyZW50Z2xvYmFsIDMgMSByb2xsIGR1cCBnY2hlY2sgc2V0Z2xvYmFsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIDxib29sPiA8bmFtZT4gPGZvbnQ+Ci0gICAgZHVwIGxlbmd0aCAyIGFkZCBkaWN0ICAgICAlIDxib29sPiA8bmFtZT4gPGZvbnQ+IDxkaWN0PgotICAgIGR1cCAzIC0xIHJvbGwgICAgICAgICAgICAgJSA8Ym9vbD4gPG5hbWU+IDxkaWN0PiA8ZGljdD4gPGZvbnQ+Ci1AQCAtNTQxLDcgKzU0OSw3IEBAIGJ1aWxkZm9udGRpY3QgMyAvLmJ1aWxkZm9udDMgY3Z4IHB1dAotICAgICAgICAgICAgICAgICAlIHdob3NlIEZvbnROYW1lIGlzIGEgbG9jYWwgbm9uLXN0cmluZywgaWYgc29tZW9uZSBwYXNzZWQgYQotICAgICAgICAgICAgICAgICAlIGdhcmJhZ2UgdmFsdWUgdG8gZmluZGZvbnQuICBJbiB0aGlzIGNhc2UsIGp1c3QgZG9uJ3QKLSAgICAgICAgICAgICAgICAgJSBjYWxsIGRlZmluZWZvbnQgYXQgYWxsLgotLSAgIDIgaW5kZXggZHVwIHR5cGUgL3N0cmluZ3R5cGUgZXEgZXhjaCAuZ2NoZWNrIG9yIDEgaW5kZXggLmdjaGVjayBub3Qgb3IKLSsgICAgMiBpbmRleCBkdXAgdHlwZSAvc3RyaW5ndHlwZSBlcSBleGNoIGdjaGVjayBvciAxIGluZGV4IGdjaGVjayBub3Qgb3IKLSAgICAgeyBwb3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIDxib29sPiA8bmFtZT4gPGRpY3Q+Ci0gICAgICAgMSBpbmRleCBkdXAgdHlwZSAvc3RyaW5ndHlwZSBlcSB7IGN2biB9IGlmCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSA8Ym9vbD4gPG5hbWU+IDxkaWN0PiA8bmFtZTE+Ci1AQCAtNTY2LDEwICs1NzQsMTEgQEAgYnVpbGRmb250ZGljdCAzIC8uYnVpbGRmb250MyBjdnggcHV0Ci0gICAgICAgICAgICAgICAgICUgRG9uJ3QgYmluZCBpbiBkZWZpbmVmb250LCBzaW5jZSBMZXZlbCAyIHJlZGVmaW5lcyBpdC4KLSAgICAgICAvZGVmaW5lZm9udCAuc3lzdGVtdmFyIGV4ZWMKLSAgICAgfQotLSAgICB7IC9maW5kZm9udCBjdnggey5jb21wbGV0ZWZvbnR9IC5lcnJvcmV4ZWMgcG9wIGV4Y2ggcG9wCi0rICAgIHsKLSsgICAgICAvZmluZGZvbnQgY3Z4IHsuY29tcGxldGVmb250fSAvLy5lcnJvcmV4ZWMgZXhlYyBwb3AgZXhjaCBwb3AKLSAgICAgfQotICAgIGlmZWxzZQotLSAgIGV4Y2ggLnNldGdsb2JhbAotKyAgIGV4Y2ggc2V0Z2xvYmFsCi0gIH0gb2RlZiAgICAgICAgICUgc28gZmluZGZvbnQgd2lsbCBiaW5kIGl0Ci0gCi0gJSBEZWZpbmUgLmxvYWRmb250ZmlsZSBmb3IgbG9hZGluZyBhIGZvbnQuICBJZiB3ZSByZWNvZ25pemUgVHlwZSAxIGFuZC9vcgotQEAgLTY2OSwxMCArNjc4LDE5IEBAIGJ1aWxkZm9udGRpY3QgMyAvLmJ1aWxkZm9udDMgY3Z4IHB1dAotICAgWyhDbikgNF0gWyhDb25kKSA0XSBbKE5hcnJvdykgNF0gWyhQa2cpIDRdIFsoQ29tcHIpIDRdCi0gICBbKFNlcmlmKSA4XSBbKFNhbnMpIC04XQotIF0gcmVhZG9ubHkgZGVmCi0rCi0rLy5mb250bmFtZXN0cmluZyB7ICAgICAgICAgICAgICAlIDxmb250bmFtZT4gLmZvbnRuYW1lc3RyaW5nIDxzdHJpbmd8bmFtZT4KLSsgIGR1cCB0eXBlIGR1cCAvbmFtZXR5cGUgZXEgewotKyAgICBwb3AgLm5hbWVzdHJpbmcKLSsgIH0gewotKyAgICAvc3RyaW5ndHlwZSBuZSB7IHBvcCAoKSB9IGlmCi0rICB9IGlmZWxzZQotK30gYmluZCBkZWYKLSsKLSAvLmZvbnRuYW1lcHJvcGVydGllcyB7ICAgICAgICAgICUgPGludD4gPHN0cmluZ3xuYW1lPiAuZm9udG5hbWVwcm9wZXJ0aWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlICAgPGludCc+Ci0tICAuZm9udG5hbWVzdHJpbmcKLS0gIC5zdWJzdGl0dXRlcHJvcGVydGllcyB7Ci0rICAvLy5mb250bmFtZXN0cmluZyBleGVjCi0rICAvLy5zdWJzdGl0dXRlcHJvcGVydGllcyB7Ci0gICAgIDIgY29weSAwIGdldCBzZWFyY2ggewotICAgICAgIHBvcCBwb3AgcG9wIGR1cCBsZW5ndGggMSBzdWIgMSBleGNoIGdldGludGVydmFsIDMgLTEgcm9sbCBleGNoIHsKLSAgICAgICAgIGR1cCAwIGdlIHsgb3IgfSB7IG5lZyBub3QgYW5kIH0gaWZlbHNlCi1AQCAtNzEwLDEzICs3MjgsNyBAQCBidWlsZGZvbnRkaWN0IDMgLy5idWlsZGZvbnQzIGN2eCBwdXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgPG90aGVyPiAubmFtZXRvc3RyaW5nIDxvdGhlcj4KLSAgIGR1cCB0eXBlIC9uYW1ldHlwZSBlcSB7IC5uYW1lc3RyaW5nIH0gaWYKLSB9IGJpbmQgZGVmCi0tLy5mb250bmFtZXN0cmluZyB7ICAgICAgICAgICAgICAlIDxmb250bmFtZT4gLmZvbnRuYW1lc3RyaW5nIDxzdHJpbmd8bmFtZT4KLS0gIGR1cCB0eXBlIGR1cCAvbmFtZXR5cGUgZXEgewotLSAgICBwb3AgLm5hbWVzdHJpbmcKLS0gIH0gewotLSAgICAvc3RyaW5ndHlwZSBuZSB7IHBvcCAoKSB9IGlmCi0tICB9IGlmZWxzZQotLX0gYmluZCBkZWYKLSsKLSAvLnN1YnN0aXR1dGVmb250bmFtZSB7ICAgICAgICAgICUgPGZvbnRuYW1lPiA8cHJvcGVydGllcz4gLnN1YnN0aXR1dGVmb250bmFtZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSAgIDxhbHRuYW1lfG51bGw+Ci0gICAgICAgICAlIExvb2sgZm9yIHByb3BlcnRpZXMgYW5kL29yIGEgZmFjZSBuYW1lIGluIHRoZSBmb250IG5hbWUuCi1AQCAtNzI0LDcgKzczNiw3IEBAIGJ1aWxkZm9udGRpY3QgMyAvLmJ1aWxkZm9udDMgY3Z4IHB1dAotICAgICAgICAgJSBiYXNlIGZvbnQ7IG90aGVyd2lzZSwgdXNlIHRoZSBkZWZhdWx0IGZvbnQuCi0gICAgICAgICAlIE5vdGUgdGhhdCB0aGUgInN1YnN0aXR1dGVkIiBmb250IG5hbWUgbWF5IGJlIHRoZSBzYW1lIGFzCi0gICAgICAgICAlIHRoZSByZXF1ZXN0ZWQgb25lOyB0aGUgY2FsbGVyIG11c3QgY2hlY2sgdGhpcy4KLS0gIGV4Y2ggLmZvbnRuYW1lc3RyaW5nIHsKLSsgIGV4Y2ggLy8uZm9udG5hbWVzdHJpbmcgZXhlYyB7Ci0gICAgIGRlZmF1bHRmb250bmFtZSAvSGVsdmV0aWNhLU9ibGlxdWUgL0hlbHZldGljYS1Cb2xkIC9IZWx2ZXRpY2EtQm9sZE9ibGlxdWUKLSAgICAgL0hlbHZldGljYS1OYXJyb3cgL0hlbHZldGljYS1OYXJyb3ctT2JsaXF1ZQotICAgICAvSGVsdmV0aWNhLU5hcnJvdy1Cb2xkIC9IZWx2ZXRpY2EtTmFycm93LUJvbGRPYmxpcXVlCi1AQCAtNzM0LDEyICs3NDYsMTIgQEAgYnVpbGRmb250ZGljdCAzIC8uYnVpbGRmb250MyBjdnggcHV0Ci0gICB9IDMgMSByb2xsCi0gICAgICAgICAlIFN0YWNrOiBmYWNlbGlzdCBwcm9wZXJ0aWVzIGZvbnRuYW1lCi0gICAgICAgICAlIExvb2sgZm9yIGEgZmFjZSBuYW1lLgotLSAgLnN1YnN0aXR1dGVmYWNlcyB7Ci0rICAvLy5zdWJzdGl0dXRlZmFjZXMgewotICAgICAyIGNvcHkgMCBnZXQgc2VhcmNoIHsKLSAgICAgICBwb3AgcG9wIHBvcAotICAgICAgICAgJSBTdGFjazogZmFjZWxpc3QgcHJvcGVydGllcyBmb250bmFtZSBbKHBhdHRlcm4pIGZhbWlseSBwcm9wZXJ0aWVzXQotICAgICAgIGR1cCAyIGdldCA0IC0xIHJvbGwgb3IgMyAxIHJvbGwKLS0gICAgICAxIGdldCAuc3Vic3RpdHV0ZWZhbWlsaWVzIGV4Y2ggZ2V0Ci0rICAgICAgMSBnZXQgLy8uc3Vic3RpdHV0ZWZhbWlsaWVzIGV4Y2ggZ2V0Ci0gICAgICAgNCAtMSByb2xsIHBvcCAzIDEgcm9sbAotICAgICB9IHsKLSAgICAgICBwb3AgcG9wCi1AQCAtNzQ4LDcgKzc2MCw3IEBAIGJ1aWxkZm9udGRpY3QgMyAvLmJ1aWxkZm9udDMgY3Z4IHB1dAotICAgMSBpbmRleCBsZW5ndGggbW9kIGdldCBleGVjCi0gfSBiaW5kIGRlZgotIC8uc3Vic3RpdHV0ZWZvbnQgeyAgICAgICAgICAgICAgJSA8Zm9udG5hbWU+IC5zdWJzdGl0dXRlZm9udCA8YWx0bmFtZT4KLS0gIGR1cCAwIGV4Y2ggLmZvbnRuYW1lcHJvcGVydGllcyAuc3Vic3RpdHV0ZWZvbnRuYW1lCi0rICBkdXAgMCBleGNoIC8vLmZvbnRuYW1lcHJvcGVydGllcyBleGVjIC5zdWJzdGl0dXRlZm9udG5hbWUKLSAgICAgICAgICUgT25seSBhY2NlcHQgZm9udHMga25vd24gaW4gdGhlIEZvbnRtYXAuCi0gICAgRm9udG1hcCAxIGluZGV4IGtub3duIG5vdAotICAgIHsKLUBAIC04MTQsNyArODI2LDcgQEAgRkFLRUZPTlRTIG5vdCB7ICglRU5EIEZBS0VGT05UUykgLnNraXBlb2YgfSBpZgotICAgY291bnR0b21hcmsgMSBzdWIgeyAuYWxpYXNmb250IH0gcmVwZWF0IGVuZAotICAgICAgICAgICAgICAgICAgICAgICAlIDxmb250bmFtZT4gbWFyayA8Zm9udD4KLSAgIGV4Y2ggcG9wIGV4Y2ggcG9wCi0tfSBvZGVmCi0rfSBiaW5kIG9kZWYKLSAvZmluZGZvbnQgewotICAgLmZpbmRmb250Ci0gfSBiaW5kIGRlZgotQEAgLTg2MCw3ICs4NzIsNyBAQCBGQUtFRk9OVFMgbm90IHsgKCVFTkQgRkFLRUZPTlRTKSAuc2tpcGVvZiB9IGlmCi0gICAgICAgfSB7Ci0gICAgICAgICBkdXAgLnN1YnN0aXR1dGVmb250Ci0gICAgICAgICAyIGNvcHkgZXEgeyBwb3AgZGVmYXVsdGZvbnRuYW1lIH0gaWYKLS0gICAgICAgIC5jaGVja2FsaWFzCi0rICAgICAgICAvLy5jaGVja2FsaWFzIGV4ZWMKLSAgICAgICAgIFFVSUVUIG5vdCB7Ci0gICAgICAgICAgIFNIT1JURVJST1JTIHsKLSAgICAgICAgICAgICAoJSVbKSBwcmludCAxIGluZGV4ID1vbmx5Ci1AQCAtODg2LDggKzg5OCw4IEBAICRlcnJvciAvU3Vic3RpdHV0ZUZvbnQgeyB9IHB1dAotICAgLy9udWxsIDAgMSBGT05UUEFUSCBsZW5ndGggMSBzdWIgewotICAgICBGT05UUEFUSCAxIGluZGV4IGdldCAvL251bGwgbmUgeyBleGNoIHBvcCBleGl0IH0gaWYgcG9wCi0gICB9IGZvciBkdXAgLy9udWxsIG5lIHsKLS0gICAgZHVwIDAgZXEgeyAuc2NhbmZvbnRiZWdpbiB9IGlmCi0tICAgIEZPTlRQQVRIIDEgaW5kZXggZ2V0IC5zY2FuZm9udGRpcgotKyAgICBkdXAgMCBlcSB7IC8vLnNjYW5mb250YmVnaW4gZXhlY30gaWYKLSsgICAgRk9OVFBBVEggMSBpbmRleCBnZXQgLy8uc2NhbmZvbnRkaXIgZXhlYwotICAgICBGT05UUEFUSCBleGNoIC8vbnVsbCBwdXQgLy90cnVlCi0gICB9IHsKLSAgICAgcG9wIC8vZmFsc2UKLUBAIC04OTcsMTEgKzkwOSwxMCBAQCAkZXJyb3IgL1N1YnN0aXR1dGVGb250IHsgfSBwdXQKLSAlIHNjYW5uaW5nIG9mIEZPTlRQQVRILgotIC8uZG9maW5kZm9udCB7ICAgJSAgbWFyayA8Zm9udG5hbWU+IC5kb2ZpbmRmb250ICUgbWFyayA8YWxpYXM+IC4uLiA8Zm9udD4KLSAgIC50cnlmaW5kZm9udCBub3QgewotLQotICAgICAgICAgICAgICAgICAgICAgICAgICUgV2UgZGlkbid0IGZpbmQgdGhlIGZvbnQuICBJZiB3ZSBoYXZlbid0IHNjYW5uZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAlIGFsbCB0aGUgZGlyZWN0b3JpZXMgaW4gRk9OVFBBVEgsIHNjYW4gdGhlIG5leHQgb25lCi0gICAgICAgICAgICAgICAgICAgICAgICAgJSBub3cgYW5kIGxvb2sgZm9yIHRoZSBmb250IGFnYWluLgotLSAgICAuc2Nhbm5leHRmb250ZGlyIHsKLSsgICAgLy8uc2Nhbm5leHRmb250ZGlyIGV4ZWMgewotICAgICAgICAgICAgICAgICAgICAgICAgICUgU3RhcnQgb3ZlciB3aXRoIGFuIGVtcHR5IGFsaWFzIGxpc3QuCi0gICAgICAgY291bnR0b21hcmsgMSBzdWIgeyBwb3AgfSByZXBlYXQgICAgJSBtYXJrIDxmb250bmFtZT4KLSAgICAgICAuZG9maW5kZm9udAotQEAgLTkyNyw2ICs5MzgsNyBAQCAkZXJyb3IgL1N1YnN0aXR1dGVGb250IHsgfSBwdXQKLSAgICAgICAgIH0gaWYKLSAgICAgICAgICAgICAgICAgICAgICAgICAlIFN1YnN0aXR1dGUgZm9yIHRoZSBmb250LiAgRG9uJ3QgYWxpYXMuCi0gICAgICAgICAgICAgICAgICAgICAgICAgJSBTYW1lIHN0YWNrIGFzIGF0IHRoZSBiZWdpbm5pbmcgb2YgLmRvZmluZGZvbnQuCi0rCi0gICAgICAgICAkZXJyb3IgL1N1YnN0aXR1dGVGb250IGdldCBleGVjCi0gICAgICAgICAgICAgICAgICAgICAgICAgICUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJSBpZ29ybTogSSBndWVzcyB0aGUgc3Vycm91bmRpbmcgY29kZSBhc3N1bWVzIHRoYXQgLnN0ZHN1YnN0Zm9udAotQEAgLTkzNSw3MiArOTQ3LDExIEBAICRlcnJvciAvU3Vic3RpdHV0ZUZvbnQgeyB9IHB1dAotICAgICAgICAgICAgICAgICAgICAgICAgICAlIHVzZWQgaW4gLmRvZmluZGZvbnQgYW5kIHRocm91Z2ggLnN0ZHN1YnN0Zm9udAotICAgICAgICAgICAgICAgICAgICAgICAgICAlIGp1c3QgdG8gcmVwcmVzZW50IGEgc2ltcGxlIGl0ZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJSB3aGljaCBhY2N1bXVsYXRlcyB0aGUgYWxpYXNlcyBhZnRlciB0aGUgbWFyay4KLS0gICAgICAgIC5zdGRzdWJzdGZvbnQKLSsgICAgICAgIC8vLnN0ZHN1YnN0Zm9udCBleGVjCi0gICAgICAgfSBpZmVsc2UKLSAgICAgfSBpZmVsc2UKLSAgIH0gaWYKLSB9IGJpbmQgZGVmCi0tJSBUcnkgdG8gZmluZCBhIGZvbnQgdXNpbmcgb25seSB0aGUgcHJlc2VudCBjb250ZW50cyBvZiBGb250bWFwLgotLS8udHJ5ZmluZGZvbnQgeyAgICAgICAgICUgPGZvbnRuYW1lPiAudHJ5ZmluZGZvbnQgPGZvbnQ+IHRydWUKLS0gICAgICAgICAgICAgICAgICAgICAgICAlIDxmb250bmFtZT4gLnRyeWZpbmRmb250IGZhbHNlCi0tICAvLy5Gb250RGlyZWN0b3J5IDEgaW5kZXggLmZvbnRrbm93bmdldAotLSAgICB7ICAgICAgICAgICAgICAgICAgICUgQWxyZWFkeSBsb2FkZWQKLS0gICAgICBleGNoIHBvcCAvL3RydWUKLS0gICAgfQotLSAgICB7Ci0tICAgICAgIGR1cCBGb250bWFwIGV4Y2ggLmtub3duZ2V0Ci0tICAgICAgIHsgLy90cnVlIC8vdHJ1ZSB9Ci0tICAgICAgIHsgICAgICAgICAgICAgICAgJSBVbmtub3duIGZvbnQgbmFtZS4gIExvb2sgZm9yIGEgZmlsZSB3aXRoIHRoZQotLSAgICAgICAgICAgICAgICAgICAgICAgICUgc2FtZSBuYW1lIGFzIHRoZSByZXF1ZXN0ZWQgZm9udC4KLS0gICAgICAgICBkdXAgLnRyeWxvYWRmb250Ci0tICAgICAgICAgeyBleGNoIHBvcCAvL3RydWUgLy9mYWxzZSB9Ci0tICAgICAgICAgewotLSAgICAgICAgICAgJSBpZiB3ZSBjYW4ndCBsb2FkIGJ5IG5hbWUgY2hlY2sgdGhlIG5hdGl2ZSBmb250IG1hcAotLSAgICAgICAgICAgZHVwIC5uYXRpdmVGb250bWFwIGV4Y2ggLmtub3duZ2V0Ci0tICAgICAgICAgICB7IC8vdHJ1ZSAvL3RydWUgfQotLSAgICAgICAgICAgeyAvL2ZhbHNlIC8vZmFsc2UgfSBpZmVsc2UKLS0gICAgICAgICB9IGlmZWxzZQotLSAgICAgICB9IGlmZWxzZQotLQotLSAgICAgICB7ICAgICAgICAgICAgICAgICUgVHJ5IGVhY2ggZWxlbWVudCBvZiB0aGUgRm9udG1hcCBpbiB0dXJuLgotLSAgICAgICAgIHBvcAotLSAgICAgICAgIC8vZmFsc2UgZXhjaCAgICUgKGluIGNhc2Ugd2UgZXhoYXVzdCB0aGUgbGlzdCkKLS0gICAgICAgICAgICAgICAgICAgICAgICAlIFN0YWNrOiBmb250bmFtZSBmYWxzZSBmb250bWFwbGlzdAotLSAgICAgICAgIHsgZXhjaCBwb3AKLS0gICAgICAgICAgIGR1cCB0eXBlIC9uYW1ldHlwZSBlcQotLSAgICAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgJSBGb250IGFsaWFzCi0tICAgICAgICAgICAgICAuY2hlY2thbGlhcyAudHJ5ZmluZGZvbnQgZXhpdAotLSAgICAgICAgICAgIH0KLS0gICAgICAgICAgICB7IGR1cCBkdXAgdHlwZSBkdXAgL2FycmF5dHlwZSBlcSBleGNoIC9wYWNrZWRhcnJheXR5cGUgZXEgb3IgZXhjaCB4Y2hlY2sgYW5kCi0tICAgICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAlIEZvbnQgd2l0aCBhIHByb2NlZHVyYWwgZGVmaW5pdGlvbgotLSAgICAgICAgICAgICAgICAgZXhlYyAgICAgICAgICAgJSBUaGUgcHJvY2VkdXJlIHdpbGwgbG9hZCB0aGUgZm9udC4KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgQ2hlY2sgdG8gbWFrZSBzdXJlIHRoaXMgcmVhbGx5IGhhcHBlbmVkLgotLSAgICAgICAgICAgICAgICAgLy8uRm9udERpcmVjdG9yeSAxIGluZGV4IC5rbm93bmdldAotLSAgICAgICAgICAgICAgICAgIHsgZXhjaCBwb3AgLy90cnVlIGV4aXQgfQotLSAgICAgICAgICAgICAgICAgaWYKLS0gICAgICAgICAgICAgICB9Ci0tICAgICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAlIEZvbnQgZmlsZSBuYW1lCi0tICAgICAgICAgICAgICAgICAvL3RydWUgLmxvYWRmb250bG9vcCB7IC8vdHJ1ZSBleGl0IH0gaWYKLS0gICAgICAgICAgICAgICB9Ci0tICAgICAgICAgICAgICBpZmVsc2UKLS0gICAgICAgICAgICB9Ci0tICAgICAgICAgICBpZmVsc2UgLy9mYWxzZQotLSAgICAgICAgIH0KLS0gICAgICAgICBmb3JhbGwKLS0gICAgICAgICAgICAgICAgICAgICAgICAlIFN0YWNrOiBmb250IHRydWUgLW9yLSBmb250bmFtZSBmYWxzZQotLSAgICAgICAgIHsgLy90cnVlCi0tICAgICAgICAgfQotLSAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgJSBOb25lIG9mIHRoZSBGb250bWFwIGVudHJpZXMgd29ya2VkLgotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSBUcnkgbG9hZGluZyBhIGZpbGUgd2l0aCB0aGUgc2FtZSBuYW1lCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIGFzIHRoZSByZXF1ZXN0ZWQgZm9udC4KLS0gICAgICAgICAgIC50cnlsb2FkZm9udAotLSAgICAgICAgIH0KLS0gICAgICAgIGlmZWxzZQotLSAgICAgICB9Ci0tICAgICAgaWYKLS0gICAgfQotLSAgIGlmZWxzZQotLSB9IGJpbmQgZGVmCi0gCi0gJSBhbnkgdXNlciBvZiAucHV0Z3N0cmluZ2NvcHkgbXVzdCB1c2UgYmluZCBhbmQgZXhlY3V0ZW9ubHkKLSAvLnB1dGdzdHJpbmdjb3B5ICAlICAgPGRpY3Q+IDxuYW1lPiA8c3RyaW5nPiAucHV0Z3N0cmluZ2NvcHkgLQotQEAgLTEwMTQsMjUgKzk2NSw2IEBAICRlcnJvciAvU3Vic3RpdHV0ZUZvbnQgeyB9IHB1dAotICAgfSBleGVjdXRlb25seSBpZmVsc2UKLSB9IC5iaW5kIGV4ZWN1dGVvbmx5IG9kZWYgJSBtdXN0IGJlIGJvdW5kIGFuZCBoaWRkZW4gZm9yIC5mb3JjZXB1dAotIAotLSUgQXR0ZW1wdCB0byBsb2FkIGEgZm9udCBmcm9tIGEgZmlsZS4KLS0vLnRyeWxvYWRmb250IHsgICAgICAgICAlIDxmb250bmFtZT4gLnRyeWxvYWRmb250IDxmb250PiB0cnVlCi0tICAgICAgICAgICAgICAgICAgICAgICAgJSA8Zm9udG5hbWU+IC50cnlsb2FkZm9udCBmYWxzZQotLSAgZHVwIC5uYW1ldG9zdHJpbmcKLS0gICAgICAgICAgICAgICAgJSBIYWNrOiBjaGVjayBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSByZXNvdXJjZSBtYWNoaW5lcnkuCi0tICAvLmdlbmVyaWNyZm4gd2hlcmUgewotLSAgICBwb3AKLS0gICAgcG9wIGR1cCAuZm9udHRlbXBzdHJpbmcgL0ZvbnRSZXNvdXJjZURpciBnZXRzeXN0ZW1wYXJhbSAuZ2VuZXJpY3JmbgotLSAgICB7Ly9mYWxzZSAubG9hZGZvbnRsb29wfSAuaW50ZXJuYWxzdG9wcGVkIHsvL2ZhbHNlfSBpZiB7Ci0tICAgICAgLy90cnVlCi0tICAgIH0gewotLSAgICAgIGR1cCAubmFtZXRvc3RyaW5nCi0tICAgICAgey8vdHJ1ZSAubG9hZGZvbnRsb29wfSAuaW50ZXJuYWxzdG9wcGVkIHsvL2ZhbHNlfSBpZgotLSAgICB9IGlmZWxzZQotLSAgfSB7Ci0tICAgIHsvL3RydWUgLmxvYWRmb250bG9vcH0gLmludGVybmFsc3RvcHBlZCB7Ly9mYWxzZX0gaWYKLS0gIH0gaWZlbHNlCi0tfSBiaW5kIGRlZgotLQotIC8ubG9hZGZvbnRsb29wIHsgICAgICAgICUgPGZvbnRuYW1lPiA8ZmlsZW5hbWU+IDxsaWJmbGFnPiAubG9hZGZvbnRsb29wCi0gICAgICAgICAgICAgICAgICAgICAgICAgJSAgIDxmb250PiB0cnVlCi0gICAgICAgICAgICAgICAgICAgICAgICAgJSAtb3ItCi1AQCAtMTEwMiw3ICsxMDM0LDcgQEAgJGVycm9yIC9TdWJzdGl0dXRlRm9udCB7IH0gcHV0Ci0gICAgICAgICAgfSBpZgotIAotICAgICAgICAgICAgICAgICAlIENoZWNrIHRvIG1ha2Ugc3VyZSB0aGUgZm9udCB3YXMgYWN0dWFsbHkgbG9hZGVkLgotLSAgICAgICAgZHVwIDMgaW5kZXggLmZvbnRrbm93bmdldAotKyAgICAgICAgZHVwIDMgaW5kZXggLy8uZm9udGtub3duZ2V0IGV4ZWMKLSAgICAgICAgICB7IGR1cCAvUGF0aExvYWQgNCBpbmRleCAucHV0Z3N0cmluZ2NvcHkKLSAgICAgICAgICAgIDQgMSByb2xsIHBvcCBwb3AgcG9wIC8vdHJ1ZSBleGl0Ci0gICAgICAgICAgfSBleGVjdXRlb25seSBpZgotQEAgLTExMTMsNyArMTA0NSw3IEBAICRlcnJvciAvU3Vic3RpdHV0ZUZvbnQgeyB9IHB1dAotICAgICAgICAgZXhjaCBkdXAgICAgICAlIFN0YWNrOiBvcmlnZm9udG5hbWUgZm9udGRpcmVjdG9yeSBwYXRoIHBhdGgKLSAgICAgICAgIChyKSBmaWxlIC5maW5kZm9udG5hbWUKLSAgICAgICAgICB7ICAgICAgICAgICAgJSBTdGFjazogb3JpZ2ZvbnRuYW1lIGZvbnRkaXJlY3RvcnkgcGF0aCBmaWxlZm9udG5hbWUKLS0gICAgICAgICAgIDIgaW5kZXggMSBpbmRleCAuZm9udGtub3duZ2V0Ci0rICAgICAgICAgICAyIGluZGV4IDEgaW5kZXggLy8uZm9udGtub3duZ2V0IGV4ZWMKLSAgICAgICAgICAgICB7ICAgJSBZZXMuICBTdGFjazogb3JpZ2ZvbnRuYW1lIGZvbnRkaXJlY3RvcnkgcGF0aCBmaWxlZm9udG5hbWUgZm9udGRpY3QKLSAgICAgICAgICAgICAgIGR1cCA0IC0xIHJvbGwgL1BhdGhMb2FkIGV4Y2ggLnB1dGdzdHJpbmdjb3B5Ci0gICAgICAgICAgICAgICAgICAgICAgICUgU3RhY2s6IG9yaWdmb250bmFtZSBmb250ZGlyZWN0b3J5IGZpbGVmb250bmFtZSBmb250ZGljdAotQEAgLTExMzYsNyArMTA2OCw3IEBAICRlcnJvciAvU3Vic3RpdHV0ZUZvbnQgeyB9IHB1dAotICAgICAgICAgICAgICAgICAgICAgICAlIFN0YWNrOiBmb250ZGljdAotICAgICAgICAgICAgIH0gZXhlY3V0ZW9ubHkKLSAgICAgICAgICAgIGlmIHBvcCAlIFN0YWNrOiBvcmlnZm9udG5hbWUgZm9udGRpcmVjdG9yeSBwYXRoCi0tICAgICAgICAgfQotKyAgICAgICAgIH0gZXhlY3V0ZW9ubHkKLSAgICAgICAgIGlmIHBvcCBwb3AgICUgU3RhY2s6IG9yaWdmb250bmFtZQotIAotICAgICAgICAgICAgICAgICAlIFRoZSBmb250IGRlZmluaXRlbHkgZGlkIG5vdCBsb2FkIGNvcnJlY3RseS4KLUBAIC0xMTUwLDcgKzEwODIsODcgQEAgJGVycm9yIC9TdWJzdGl0dXRlRm9udCB7IH0gcHV0Ci0gCi0gIH0gYmluZCBleGVjdXRlb25seSBvZGVmICUgbXVzdCBiZSBib3VuZCBhbmQgaGlkZGVuIGZvciAucHV0Z3N0cmluZ2NvcHkKLSAKLS1jdXJyZW50ZGljdCAvLnB1dGdzdHJpbmdjb3B5IC51bmRlZgotKyUgQXR0ZW1wdCB0byBsb2FkIGEgZm9udCBmcm9tIGEgZmlsZS4KLSsvLnRyeWxvYWRmb250IHsgICAgICAgICAlIDxmb250bmFtZT4gLnRyeWxvYWRmb250IDxmb250PiB0cnVlCi0rICAgICAgICAgICAgICAgICAgICAgICAgJSA8Zm9udG5hbWU+IC50cnlsb2FkZm9udCBmYWxzZQotKyAgZHVwIC8vLm5hbWV0b3N0cmluZyBleGVjCi0rICAgICAgICAgICAgICAgICUgSGFjazogY2hlY2sgZm9yIHRoZSBwcmVzZW5jZSBvZiB0aGUgcmVzb3VyY2UgbWFjaGluZXJ5LgotKyAgLy5nZW5lcmljcmZuIHdoZXJlIHsKLSsgICAgcG9wCi0rICAgIHBvcCBkdXAgLy8uZm9udHRlbXBzdHJpbmcgL0ZvbnRSZXNvdXJjZURpciBnZXRzeXN0ZW1wYXJhbSAuZ2VuZXJpY3JmbgotKyAgICB7Ly9mYWxzZSAubG9hZGZvbnRsb29wfSAuaW50ZXJuYWxzdG9wcGVkIHsvL2ZhbHNlfSBpZiB7Ci0rICAgICAgLy90cnVlCi0rICAgIH0gewotKyAgICAgIGR1cCAvLy5uYW1ldG9zdHJpbmcgZXhlYwotKyAgICAgIHsvL3RydWUgLmxvYWRmb250bG9vcH0gLmludGVybmFsc3RvcHBlZCB7Ly9mYWxzZX0gaWYKLSsgICAgfSBpZmVsc2UKLSsgIH0gewotKyAgICB7Ly90cnVlIC5sb2FkZm9udGxvb3B9IC5pbnRlcm5hbHN0b3BwZWQgey8vZmFsc2V9IGlmCi0rICB9IGlmZWxzZQotK30gYmluZCBkZWYKLSsKLSslIFRyeSB0byBmaW5kIGEgZm9udCB1c2luZyBvbmx5IHRoZSBwcmVzZW50IGNvbnRlbnRzIG9mIEZvbnRtYXAuCi0rLy50cnlmaW5kZm9udCB7ICAgICAgICAgJSA8Zm9udG5hbWU+IC50cnlmaW5kZm9udCA8Zm9udD4gdHJ1ZQotKyAgICAgICAgICAgICAgICAgICAgICAgICUgPGZvbnRuYW1lPiAudHJ5ZmluZGZvbnQgZmFsc2UKLSsgIC8vLkZvbnREaXJlY3RvcnkgMSBpbmRleCAvLy5mb250a25vd25nZXQgZXhlYwotKyAgICB7ICAgICAgICAgICAgICAgICAgICUgQWxyZWFkeSBsb2FkZWQKLSsgICAgICBleGNoIHBvcCAvL3RydWUKLSsgICAgfQotKyAgICB7Ci0rICAgICAgIGR1cCBGb250bWFwIGV4Y2ggLmtub3duZ2V0Ci0rICAgICAgIHsgLy90cnVlIC8vdHJ1ZSB9Ci0rICAgICAgIHsgICAgICAgICAgICAgICAgJSBVbmtub3duIGZvbnQgbmFtZS4gIExvb2sgZm9yIGEgZmlsZSB3aXRoIHRoZQotKyAgICAgICAgICAgICAgICAgICAgICAgICUgc2FtZSBuYW1lIGFzIHRoZSByZXF1ZXN0ZWQgZm9udC4KLSsgICAgICAgICBkdXAgLy8udHJ5bG9hZGZvbnQgZXhlYwotKyAgICAgICAgIHsgZXhjaCBwb3AgLy90cnVlIC8vZmFsc2UgfQotKyAgICAgICAgIHsKLSsgICAgICAgICAgICUgaWYgd2UgY2FuJ3QgbG9hZCBieSBuYW1lIGNoZWNrIHRoZSBuYXRpdmUgZm9udCBtYXAKLSsgICAgICAgICAgIGR1cCAubmF0aXZlRm9udG1hcCBleGNoIC5rbm93bmdldAotKyAgICAgICAgICAgeyAvL3RydWUgLy90cnVlIH0KLSsgICAgICAgICAgIHsgLy9mYWxzZSAvL2ZhbHNlIH0gaWZlbHNlCi0rICAgICAgICAgfSBpZmVsc2UKLSsgICAgICAgfSBpZmVsc2UKLSsKLSsgICAgICAgeyAgICAgICAgICAgICAgICAlIFRyeSBlYWNoIGVsZW1lbnQgb2YgdGhlIEZvbnRtYXAgaW4gdHVybi4KLSsgICAgICAgICBwb3AKLSsgICAgICAgICAvL2ZhbHNlIGV4Y2ggICAlIChpbiBjYXNlIHdlIGV4aGF1c3QgdGhlIGxpc3QpCi0rICAgICAgICAgICAgICAgICAgICAgICAgJSBTdGFjazogZm9udG5hbWUgZmFsc2UgZm9udG1hcGxpc3QKLSsgICAgICAgICB7IGV4Y2ggcG9wCi0rICAgICAgICAgICBkdXAgdHlwZSAvbmFtZXR5cGUgZXEKLSsgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICAgICUgRm9udCBhbGlhcwotKyAgICAgICAgICAgICAgLy8uY2hlY2thbGlhcyBleGVjCi0rICAgICAgICAgICAgICAudHJ5ZmluZGZvbnQgZXhpdAotKyAgICAgICAgICAgIH0KLSsgICAgICAgICAgICB7IGR1cCBkdXAgdHlwZSBkdXAgL2FycmF5dHlwZSBlcSBleGNoIC9wYWNrZWRhcnJheXR5cGUgZXEgb3IgZXhjaCB4Y2hlY2sgYW5kCi0rICAgICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAlIEZvbnQgd2l0aCBhIHByb2NlZHVyYWwgZGVmaW5pdGlvbgotKyAgICAgICAgICAgICAgICAgZXhlYyAgICAgICAgICAgJSBUaGUgcHJvY2VkdXJlIHdpbGwgbG9hZCB0aGUgZm9udC4KLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgQ2hlY2sgdG8gbWFrZSBzdXJlIHRoaXMgcmVhbGx5IGhhcHBlbmVkLgotKyAgICAgICAgICAgICAgICAgLy8uRm9udERpcmVjdG9yeSAxIGluZGV4IC5rbm93bmdldAotKyAgICAgICAgICAgICAgICAgIHsgZXhjaCBwb3AgLy90cnVlIGV4aXQgfQotKyAgICAgICAgICAgICAgICAgaWYKLSsgICAgICAgICAgICAgICB9Ci0rICAgICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAlIEZvbnQgZmlsZSBuYW1lCi0rICAgICAgICAgICAgICAgICAvL3RydWUgLmxvYWRmb250bG9vcCB7IC8vdHJ1ZSBleGl0IH0gaWYKLSsgICAgICAgICAgICAgICB9Ci0rICAgICAgICAgICAgICBpZmVsc2UKLSsgICAgICAgICAgICB9Ci0rICAgICAgICAgICBpZmVsc2UgLy9mYWxzZQotKyAgICAgICAgIH0KLSsgICAgICAgICBmb3JhbGwKLSsgICAgICAgICAgICAgICAgICAgICAgICAlIFN0YWNrOiBmb250IHRydWUgLW9yLSBmb250bmFtZSBmYWxzZQotKyAgICAgICAgIHsgLy90cnVlCi0rICAgICAgICAgfQotKyAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgJSBOb25lIG9mIHRoZSBGb250bWFwIGVudHJpZXMgd29ya2VkLgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSBUcnkgbG9hZGluZyBhIGZpbGUgd2l0aCB0aGUgc2FtZSBuYW1lCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIGFzIHRoZSByZXF1ZXN0ZWQgZm9udC4KLSsgICAgICAgICAgIC8vLnRyeWxvYWRmb250IGV4ZWMKLSsgICAgICAgICB9Ci0rICAgICAgICBpZmVsc2UKLSsgICAgICAgfQotKyAgICAgIGlmCi0rICAgIH0KLSsgICBpZmVsc2UKLSsgfSBiaW5kIGRlZgotIAotICUgRGVmaW5lIGEgcHJvY2VkdXJlIHRvIGxvYWQgYWxsIGtub3duIGZvbnRzLgotICUgVGhpcyBpc24ndCBsaWtlbHkgdG8gYmUgdmVyeSB1c2VmdWwuCi1AQCAtMTE5Miw5ICsxMjA0LDkgQEAgRkFLRUZPTlRTIHsgZXhjaCB9IGlmIHBvcCBkZWYgICAlIGRvbid0IGJpbmQsIC5jdXJyZW50L3NldGdsb2JhbCBnZXQgcmVkZWZpbmVkCi0gLy5sb2FkaW5pdGlhbGZvbnRzCi0gIHsgTk9GT05UTUFQIG5vdAotICAgICB7IC9GT05UTUFQIHdoZXJlCi0tICAgICAgICAgIHsgcG9wIFsgRk9OVE1BUCAucGF0aGxpc3QgXQotKyAgICAgICAgICB7IHBvcCBbIEZPTlRNQVAgLy8ucGF0aGxpc3QgZXhlY10KLSAgICAgICAgICAgICAgeyBkdXAgVk1ERUJVRyBmaW5kbGliZmlsZQotLSAgICAgICAgICAgICAgICB7IGV4Y2ggcG9wIC5sb2FkRm9udG1hcCB9Ci0rICAgICAgICAgICAgICAgIHsgZXhjaCBwb3AgLy8ubG9hZEZvbnRtYXAgZXhlYyB9Ci0gICAgICAgICAgICAgICAgIHsgL3VuZGVmaW5lZGZpbGVuYW1lIHNpZ25hbGVycm9yIH0KLSAgICAgICAgICAgICAgICBpZmVsc2UKLSAgICAgICAgICAgICAgfQotQEAgLTEyMDgsNyArMTIyMCw3IEBAIEZBS0VGT05UUyB7IGV4Y2ggfSBpZiBwb3AgZGVmICAgJSBkb24ndCBiaW5kLCAuY3VycmVudC9zZXRnbG9iYWwgZ2V0IHJlZGVmaW5lZAotICAgICAgICAgICAgICAgICAgICBwb3AgcG9wCi0gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRmb250bWFwX2NvbnRlbnQgeyAuZGVmaW5lZm9udG1hcCB9IGZvcmFsbAotICAgICAgICAgICAgICAgICAgfSB7Ci0tICAgICAgICAgICAgICAgICAgIC5sb2FkRm9udG1hcAotKyAgICAgICAgICAgICAgICAgICAvLy5sb2FkRm9udG1hcCBleGVjCi0gICAgICAgICAgICAgICAgICB9IGlmZWxzZQotICAgICAgICAgICAgICAgIH0gewotICAgICAgICAgICAgICAgICAgcG9wIHBvcAotQEAgLTEyNzIsMyArMTI4NCwxOCBAQCBGQUtFRk9OVFMgeyBleGNoIH0gaWYgcG9wIGRlZiAgICUgZG9uJ3QgYmluZCwgLmN1cnJlbnQvc2V0Z2xvYmFsIGdldCByZWRlZmluZWQKLSAgeyAubWFrZW1vZGlmaWVkZm9udAotICAgIGR1cCAvRm9udE5hbWUgZ2V0IGV4Y2ggZGVmaW5lZm9udCBwb3AKLSAgfSBiaW5kIGRlZgotKwotKyUgVW5kZWYgdGhlc2UsIG5vdCBuZWVkZWQgb3V0c2lkZSB0aGlzIGZpbGUKLStbCi0rICUgLy5mb250dGVtcHN0cmluZyAvLnNjYW5uZXh0Zm9udGRpciAtIGFyZSBhbHNvIHVzZWQgaW4gZ3NfcmVzLnBzLCBzbyBhcmUgdW5kZWZpbmVkIHRoZXJlCi0rICUgLy5mb250bmFtZXByb3BlcnRpZXMgLSBpcyB1c2VkIGluIHBkZl9mb250LnBzCi0rICUgLy5zY2FuZm9udGhlYWRlcnMgLSB1c2VkIGluIGdzX2NmZi5wcywgZ3NfdHRmLnBzCi0rIC8ubG9hZGZvbnRsb29wIC8udHJ5bG9hZGZvbnQgLy5maW5kZm9udCAvLnBhdGhsaXN0IC8ubG9hZEZvbnRtYXAgLy5sb3dlcnN0cmluZwotKyAvLnNwbGl0ZmlsZW5hbWUgLy5zY2FuZm9udGRpY3QgLy5zY2FuZm9udGJlZ2luCi0rIC8uc2NhbmZvbnRza2lwIC8uc2NhbjFmb250c3RyaW5nCi0rIC8uc2NhbjFmb250Zmlyc3QgLy5zY2FuZm9udGRpcgotKyAvLnNldG5hdGl2ZWZvbnRtYXBidWlsdCAvLmFsaWFzZm9udAotKyAvLnNldGxvYWRpbmdmb250IC8uc3Vic3RpdHV0ZWZhY2VzIC8uc3Vic3RpdHV0ZXByb3BlcnRpZXMgLy5zdWJzdGl0dXRlZmFtaWxpZXMKLSsgLy5uYW1ldG9zdHJpbmcgLy5mb250bmFtZXN0cmluZyAvLmNoZWNrYWxpYXMgLy5mb250a25vd25nZXQgLy5zdGRzdWJzdGZvbnQKLSsgLy5wdXRnc3RyaW5nY29weQotK10ge3N5c3RlbWRpY3QgZXhjaCAuZm9yY2V1bmRlZn0gZm9yYWxsCi1kaWZmIC0tZ2l0IGEvUmVzb3VyY2UvSW5pdC9nc19yZXMucHMgYi9SZXNvdXJjZS9Jbml0L2dzX3Jlcy5wcwotaW5kZXggMThkNTQ1Mi4uYjAxNjExMyAxMDA2NDQKLS0tLSBhL1Jlc291cmNlL0luaXQvZ3NfcmVzLnBzCi0rKysgYi9SZXNvdXJjZS9Jbml0L2dzX3Jlcy5wcwotQEAgLTk2MSw3ICs5NjEsNyBAQCB1c2VyZGljdCAvLmxvY2FsY3NkZWZhdWx0cyAvL2ZhbHNlIHB1dAotICAgICBkdXAgdHlwZSAvbmFtZXR5cGUgZXEgeyAubmFtZXN0cmluZyB9IGlmCi0gICAgIGR1cCB0eXBlIC9zdHJpbmd0eXBlIG5lIHsgLy9mYWxzZSBleGl0IH0gaWYKLSAgICAgICAgICAgICAgICAgJSBDaGVjayB0aGUgcmVzb3VyY2UgZGlyZWN0b3J5LgotLSAgICBkdXAgLmZvbnR0ZW1wc3RyaW5nIC9Gb250UmVzb3VyY2VEaXIgZ2V0c3lzdGVtcGFyYW0gLmdlbmVyaWNyZm4KLSsgICAgZHVwIC8vLmZvbnR0ZW1wc3RyaW5nIC9Gb250UmVzb3VyY2VEaXIgZ2V0c3lzdGVtcGFyYW0gLmdlbmVyaWNyZm4KLSAgICAgc3RhdHVzIHsKLSAgICAgICBwb3AgcG9wIHBvcCBwb3AgLy90cnVlIGV4aXQKLSAgICAgfSBpZgotQEAgLTk2OSw3ICs5NjksNyBAQCB1c2VyZGljdCAvLmxvY2FsY3NkZWZhdWx0cyAvL2ZhbHNlIHB1dAotICAgICAgICAgICAgICAgICAlIGFzIHRoZSBmb250LgotICAgICBmaW5kbGliZmlsZSB7IGNsb3NlZmlsZSAvL3RydWUgZXhpdCB9IGlmCi0gICAgICAgICAgICAgICAgICUgU2NhbiBhIEZPTlRQQVRIIGRpcmVjdG9yeSBhbmQgdHJ5IGFnYWluLgotLSAgICAuc2Nhbm5leHRmb250ZGlyIG5vdCB7IC8vZmFsc2UgZXhpdCB9IGlmCi0rICAgIC8vLnNjYW5uZXh0Zm9udGRpciBleGVjIG5vdCB7IC8vZmFsc2UgZXhpdCB9IGlmCi0gICB9IGxvb3AKLSB9IGJpbmQgZGVmCi0gCi1AQCAtMTAwOCw3ICsxMDA4LDcgQEAgY3VycmVudGRpY3QgLy5mb250c3RhdHVzYXV4IC51bmRlZgotICAgICAgICAgfSBpZmVsc2UKLSB9IGJpbmQgZXhlY3V0ZW9ubHkKLSAvUmVzb3VyY2VGb3JBbGwgewotLSAgICAgICAgeyAuc2Nhbm5leHRmb250ZGlyIG5vdCB7IGV4aXQgfSBpZiB9IGxvb3AKLSsgICAgICAgIHsgLy8uc2Nhbm5leHRmb250ZGlyIGV4ZWMgbm90IHsgZXhpdCB9IGlmIH0gbG9vcAotICAgICAgICAgL0dlbmVyaWMgL0NhdGVnb3J5IGZpbmRyZXNvdXJjZSAvUmVzb3VyY2VGb3JBbGwgZ2V0IGV4ZWMKLSB9IGJpbmQgZXhlY3V0ZW9ubHkKLSAvLlJlc291cmNlRmlsZVN0YXR1cyB7Ci1AQCAtMTE2Myw2ICsxMTYzLDcgQEAgZW5kCQkJCSUgbGV2ZWwyZGljdAotIFsKLSAgICAgLy5kZWZhdWx0X3Jlc291cmNlX2RpcgotICAgICAvLnJlc291cmNlX2Rpcl9uYW1lCi0rICAgIC8uZm9udHRlbXBzdHJpbmcgLy5zY2FubmV4dGZvbnRkaXIgJSBmcm9tIGdzX2ZvbnRzLnBzCi0gXQotIHtzeXN0ZW1kaWN0IGV4Y2ggLmZvcmNldW5kZWZ9IGZvcmFsbAotIAotLS0gCi0yLjE4LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZ2hvc3RzY3JpcHQvQ1ZFLTIwMTktNjExNi0wMDA3LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZ2hvc3RzY3JpcHQvQ1ZFLTIwMTktNjExNi0wMDA3LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YzFmODM5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dob3N0c2NyaXB0L2dob3N0c2NyaXB0L0NWRS0yMDE5LTYxMTYtMDAwNy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM0NiArMCwwIEBACi1Gcm9tIDVjNDllZmUyNGRkYTBmMmRiZDJhMDliOTE1OWU2ODNjY2U5OWI2ZDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaHJpcyBMaWRkZWxsIDxjaHJpcy5saWRkZWxsQGFydGlmZXguY29tPgotRGF0ZTogRnJpLCAxMSBKYW4gMjAxOSAxMzozNjozNiArMDAwMAotU3ViamVjdDogW1BBVENIIDcvN10gUmVtb3ZlIC5mb3JjZWRlZiwgYW5kIGhhcmRlbiAuZm9yY2UqIG9wcyBtb3JlCi0KLVJlbW92ZSAuZm9yY2VkZWYgYW5kIHJlcGxhY2UgYWxsIHVzZXMgd2l0aCBhIGRpcmVjdCBjYWxsIHRvIC5mb3JjZXB1dCBpbnN0ZWFkLgotCi1FbnN1cmUgZXZlcnkgcHJvY2VkdXJlIChuYW1lZCBhbmQgdHJhc2llbnQpIHRoYXQgY2FsbHMgLmZvcmNlcHV0IGlzCi1leGVjdXRlb25seS4KLQotQ1ZFOiBDVkUtMjAxOS02MTE2Ci1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtnaXQ6Ly9naXQuZ2hvc3RzY3JpcHQuY29tL2dob3N0cGRsLmdpdF0KLQotU2lnbmVkLW9mZi1ieTogT3ZpZGl1IFBhbmFpdCA8b3ZpZGl1LnBhbmFpdEB3aW5kcml2ZXIuY29tPgotLS0tCi0gUmVzb3VyY2UvSW5pdC9nc19kcHMxLnBzICB8IDE1ICsrKysrKystLS0tLQotIFJlc291cmNlL0luaXQvZ3NfaW5pdC5wcyAgfCAyOCArKysrKysrKy0tLS0tLS0tLS0tLS0KLSBSZXNvdXJjZS9Jbml0L2dzX2xldjIucHMgIHwgNTEgKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gUmVzb3VyY2UvSW5pdC9nc19sbDMucHMgICB8ICA1ICsrLS0KLSBSZXNvdXJjZS9Jbml0L2dzX3Jlcy5wcyAgIHwgMjkgKysrKysrKysrKystLS0tLS0tLS0tLQotIFJlc291cmNlL0luaXQvZ3Nfc3RhdGQucHMgfCAgNCArLS0KLSA2IGZpbGVzIGNoYW5nZWQsIDYzIGluc2VydGlvbnMoKyksIDY5IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvUmVzb3VyY2UvSW5pdC9nc19kcHMxLnBzIGIvUmVzb3VyY2UvSW5pdC9nc19kcHMxLnBzCi1pbmRleCA4NzAwYzhjLi4zZDJjZjdhIDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9nc19kcHMxLnBzCi0rKysgYi9SZXNvdXJjZS9Jbml0L2dzX2RwczEucHMKLUBAIC0zMywxNCArMzMsMTcgQEAgc3lzdGVtZGljdCBiZWdpbgotIAotIC9TaGFyZWRGb250RGlyZWN0b3J5IC5Gb250RGlyZWN0b3J5IC5nY2hlY2sKLSAgeyAuY3VycmVudGdsb2JhbCAvL2ZhbHNlIC5zZXRnbG9iYWwKLSsgICBjdXJyZW50ZGljdAotICAgIC9Mb2NhbEZvbnREaXJlY3RvcnkgLkZvbnREaXJlY3RvcnkgZHVwIG1heGxlbmd0aCBkaWN0IGNvcHkKLS0gICAuZm9yY2VkZWYJJSBMb2NhbEZvbnREaXJlY3RvcnkgaXMgbG9jYWwsIHN5c3RlbWRpY3QgaXMgZ2xvYmFsCi0rICAgLmZvcmNlcHV0CSUgTG9jYWxGb250RGlyZWN0b3J5IGlzIGxvY2FsLCBzeXN0ZW1kaWN0IGlzIGdsb2JhbAotICAgIC5zZXRnbG9iYWwgLkZvbnREaXJlY3RvcnkKLS0gfQotLSB7IC9Mb2NhbEZvbnREaXJlY3RvcnkgLkZvbnREaXJlY3RvcnkKLS0gICAuZm9yY2VkZWYJJSBMb2NhbEZvbnREaXJlY3RvcnkgaXMgbG9jYWwsIHN5c3RlbWRpY3QgaXMgZ2xvYmFsCi0rIH0gZXhlY3V0ZW9ubHkKLSsgewotKyAgIGN1cnJlbnRkaWN0Ci0rICAgL0xvY2FsRm9udERpcmVjdG9yeSAuRm9udERpcmVjdG9yeQotKyAgIC5mb3JjZXB1dAklIExvY2FsRm9udERpcmVjdG9yeSBpcyBsb2NhbCwgc3lzdGVtZGljdCBpcyBnbG9iYWwKLSAgICA1MCBkaWN0Ci0tIH0KLSsgfWV4ZWN1dGVvbmx5Ci0gaWZlbHNlIGRlZgotIAotIGVuZAkJCQklIHN5c3RlbWRpY3QKLUBAIC01NSw3ICs1OCw3IEBAIGxldmVsMmRpY3QgYmVnaW4KLSAgICAgeyAvL1NoYXJlZEZvbnREaXJlY3RvcnkgfQotICAgICB7IC9Mb2NhbEZvbnREaXJlY3RvcnkgLnN5c3RlbXZhciB9CSUgY2FuJ3QgZW1iZWQgcmVmIHRvIGxvY2FsIFZNCi0gICAgaWZlbHNlIC5mb3JjZXB1dCBwb3AJJSBMb2NhbEZvbnREaXJlY3RvcnkgaXMgbG9jYWwsIHN5c3RlbWRpY3QgaXMgZ2xvYmFsCi0tIH0gLmJpbmQgb2RlZgotKyB9IC5iaW5kIGV4ZWN1dGVvbmx5IG9kZWYKLSAlIERvbid0IGp1c3QgY29weSAobG9hZCkgdGhlIGRlZmluaXRpb24gb2YgLnNldGdsb2JhbDoKLSAlIGl0IGdldHMgcmVkZWZpbmVkIGZvciBMTDMuCi0gL3NldHNoYXJlZCB7IC8uc2V0Z2xvYmFsIC5zeXN0ZW12YXIgZXhlYyB9IG9kZWYKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L2dzX2luaXQucHMgYi9SZXNvdXJjZS9Jbml0L2dzX2luaXQucHMKLWluZGV4IGQ5YTA4MjkuLjQ1YmViZjQgMTAwNjQ0Ci0tLS0gYS9SZXNvdXJjZS9Jbml0L2dzX2luaXQucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvZ3NfaW5pdC5wcwotQEAgLTU0LDcgKzU0LDcgQEAgc3lzdGVtZGljdCBleGNoCi0gICAgZHVwIC91c2VyZGljdAotICAgIGN1cnJlbnRkaWN0IGR1cCAyMDAgLnNldG1heGxlbmd0aAkJJSB1c2VyZGljdAotICAgIC5mb3JjZXB1dAkJCSUgdXNlcmRpY3QgaXMgbG9jYWwsIHN5c3RlbWRpY3QgaXMgZ2xvYmFsCi0tIH0KLSsgfSBleGVjdXRlb25seQotIGlmIGJlZ2luCi0gCi0gJSBEZWZpbmUgZHVtbXkgbG9jYWwvZ2xvYmFsIG9wZXJhdG9ycyBpZiBuZWVkZWQuCi1AQCAtMjk5LDEzICsyOTksNiBAQCBRVUlFVCBub3QgeyBwcmludGdyZWV0aW5nIGZsdXNoIH0gaWYKLSAgIDEgaW5kZXggZXhjaCAubWFrZW9wZXJhdG9yIGRlZgotIH0gLmJpbmQgZGVmCi0gCi0tJSBEZWZpbmUgYSBzcGVjaWFsIHZlcnNpb24gb2YgZGVmIGZvciBzdG9yaW5nIGxvY2FsIG9iamVjdHMgaW50byBnbG9iYWwKLS0lIGRpY3Rpb25hcmllcy4gIExpa2UgLmZvcmNlcHV0LCB0aGlzIGV4aXN0cyBvbmx5IGR1cmluZyBpbml0aWFsaXphdGlvbi4KLS0vLmZvcmNlZGVmIHsJCSUgPGtleT4gPHZhbHVlPiAuZm9yY2VkZWYgLQotLSAgMSAuYXJnaW5kZXggcG9wCSUgY2hlY2sgIyBvZiBhcmdzCi0tICBjdXJyZW50ZGljdCAzIDEgcm9sbCAuZm9yY2VwdXQKLS19IC5iaW5kIG9kZWYKLS0KLSAlIERlZmluZSBwcm9jZWR1cmVzIGZvciBhY2Nlc3NpbmcgdmFyaWFibGVzIGluIHN5c3RlbWRpY3QgYW5kIHVzZXJkaWN0Ci0gJSByZWdhcmRsZXNzIG9mIHRoZSBjb250ZW50cyBvZiB0aGUgZGljdGlvbmFyeSBzdGFjay4KLSAvLnN5c3RlbXZhciB7CQklIDxuYW1lPiAuc3lzdGVtdmFyIDx2YWx1ZT4KLUBAIC0zNDcsNyArMzQwLDcgQEAgREVMQVlCSU5ECi0gICAgICAgIH0KLSAgICAgICBpZmVsc2UKLSAgICAgfSAuYmluZCBkZWYKLS19IGlmCi0rfSBleGVjdXRlb25seSBpZgotIAotICUqKioqKioqKioqKioqKioqIEJBQ0tXQVJEIENPTVBBVElCSUxJVFkgKioqKioqKioqKioqKioqKgotIC9od3NpemVkaWN0IG1hcmsgL0hXU2l6ZSAvL251bGwgLmRpY3R0b21hcmsgcmVhZG9ubHkgZGVmCi1AQCAtNjU1LDcgKzY0OCw3IEBAIGN1cnJlbnRkaWN0IC8udHlwZW5hbWVzIC51bmRlZgotICAgICAgIC9pZmVsc2UgLnN5c3RlbXZhcgotICAgICBdIGN2eCBleGVjdXRlb25seQotICAgZXhjaCAuc2V0Z2xvYmFsCi0tfSBvZGVmCi0rfSBleGVjdXRlb25seSBvZGVmCi0gc3lzdGVtZGljdCAvaW50ZXJuYWxkaWN0IGR1cCAubWFrZWludGVybmFsZGljdCAubWFrZW9wZXJhdG9yCi0gLmZvcmNlcHV0CQklIHByb2MgaXMgbG9jYWwsIHN5c3RlbWRpY3QgaXMgZ2xvYmFsCi0gCi1AQCAtMTA5Myw3ICsxMDg2LDcgQEAgZGVmCi0gCi0gJSBEZWZpbmUgJGVycm9yLiAgVGhpcyBtdXN0IGJlIGluIGxvY2FsIFZNLgotIC5jdXJyZW50Z2xvYmFsIC8vZmFsc2UgLnNldGdsb2JhbAotLS8kZXJyb3IgNDAgZGljdCAuZm9yY2VkZWYJJSAkZXJyb3IgaXMgbG9jYWwsIHN5c3RlbWRpY3QgaXMgZ2xvYmFsCi0rY3VycmVudGRpY3QgLyRlcnJvciA0MCBkaWN0IC5mb3JjZXB1dAklICRlcnJvciBpcyBsb2NhbCwgc3lzdGVtZGljdCBpcyBnbG9iYWwKLSAgICAgICAgICAgICAgICAgJSBuZXdlcnJvciwgZXJyb3JuYW1lLCBjb21tYW5kLCBlcnJvcmluZm8sCi0gICAgICAgICAgICAgICAgICUgb3N0YWNrLCBlc3RhY2ssIGRzdGFjaywgcmVjb3Jkc3RhY2tzLAotICAgICAgICAgICAgICAgICAlIGJpbmFyeSwgZ2xvYmFsbW9kZSwKLUBAIC0xMTEyLDggKzExMDUsOCBAQCBlbmQKLSAlIERlZmluZSBlcnJvcmRpY3Qgc2ltaWxhcmx5LiAgSXQgaGFzIG9uZSBlbnRyeSBwZXIgZXJyb3IgbmFtZSwKLSAlICAgcGx1cyBoYW5kbGVlcnJvci4gIEhvd2V2ZXIsIHNvbWUgYXN0b25pc2hpbmdseSBiYWRseSB3cml0dGVuIFBvc3RTY3JpcHQKLSAlICAgZmlsZXMgcmVxdWlyZSBpdCB0byBoYXZlIGF0IGxlYXN0IG9uZSBlbXB0eSBzbG90LgotLS9lcnJvcmRpY3QgRXJyb3JOYW1lcyBsZW5ndGggMyBhZGQgZGljdAotLS5mb3JjZWRlZgkJJSBlcnJvcmRpY3QgaXMgbG9jYWwsIHN5c3RlbWRpY3QgaXMgZ2xvYmFsCi0rY3VycmVudGRpY3QgL2Vycm9yZGljdCBFcnJvck5hbWVzIGxlbmd0aCAzIGFkZCBkaWN0Ci0rLmZvcmNlcHV0CQklIGVycm9yZGljdCBpcyBsb2NhbCwgc3lzdGVtZGljdCBpcyBnbG9iYWwKLSAuc2V0Z2xvYmFsCQklIGJhY2sgdG8gZ2xvYmFsIFZNCi0gJSAgZ3NlcnJvcmRpY3QgY29udGFpbnMgYWxsIHRoZSBkZWZhdWx0IGVycm9yIGhhbmRsaW5nIG1ldGhvZHMsIGJ1dCB1bmxpa2UKLSAlICBlcnJvcmRpY3QgaXQgaXMgbm9hY2Nlc3MgYWZ0ZXIgY3JlYXRpb24gKGFsc28gaXQgaXMgaW4gZ2xvYmFsIFZNKS4KLUBAIC0xMjczLDggKzEyNjYsOSBAQCBlbmQKLSAoRU5EIFBST0NTKSBWTURFQlVHCi0gCi0gJSBEZWZpbmUgdGhlIGZvbnQgZGlyZWN0b3J5LgotK2N1cnJlbnRkaWN0Ci0gL0ZvbnREaXJlY3RvcnkgLy9mYWxzZSAuc2V0Z2xvYmFsIDEwMCBkaWN0IC8vdHJ1ZSAuc2V0Z2xvYmFsCi0tLmZvcmNlZGVmCQklIEZvbnREaXJlY3RvcnkgaXMgbG9jYWwsIHN5c3RlbWRpY3QgaXMgZ2xvYmFsCi0rLmZvcmNlcHV0CQklIEZvbnREaXJlY3RvcnkgaXMgbG9jYWwsIHN5c3RlbWRpY3QgaXMgZ2xvYmFsCi0gCi0gJSBEZWZpbmUgdGhlIGVuY29kaW5nIGRpY3Rpb25hcnkuCi0gL0VuY29kaW5nRGlyZWN0b3J5IDE2IGRpY3QgZGVmCSUgZW5vdWdoIGZvciBMZXZlbCAyICsgUERGIHN0YW5kYXJkIGVuY29kaW5ncwotQEAgLTIzMzMsNyArMjMyNyw2IEBAIFNBRkVSIHsgLnNldHNhZmVnbG9iYWwgfSBpZgotICAgLy9zeXN0ZW1kaWN0IC9VbmRlZmluZVBvc3RTY3JpcHRPcGVyYXRvcnMgZ2V0IGV4ZWMKLSAgIC8vc3lzdGVtZGljdCAvVW5kZWZpbmVQREZPcGVyYXRvcnMgZ2V0IGV4ZWMKLSAgIC8vc3lzdGVtZGljdCAvLmZvcmNlY29weW5ldyAuZm9yY2V1bmRlZgklIHJlbW92ZSB0ZW1wdGF0aW9uCi0tICAvL3N5c3RlbWRpY3QgLy5mb3JjZWRlZiAuZm9yY2V1bmRlZgkJJSBkaXR0bwotICAgLy9zeXN0ZW1kaWN0IC8uZm9yY2VwdXQgLmZvcmNldW5kZWYJCSUgZGl0dG8KLSAgIC8vc3lzdGVtZGljdCAvLnVuZGVmIC5mb3JjZXVuZGVmCQkgICAgJSBkaXR0bwotICAgLy9zeXN0ZW1kaWN0IC8uZm9yY2V1bmRlZiAuZm9yY2V1bmRlZgkJJSBkaXR0bwotQEAgLTIzNjgsOSArMjM2MSw5IEBAIFNBRkVSIHsgLnNldHNhZmVnbG9iYWwgfSBpZgotICAgICAgICAgJSAoYW5kLCBpZiBpbXBsZW1lbnRlZCwgY29udGV4dCBzd2l0Y2hpbmcpLgotICAgLmN1cnJlbnRnbG9iYWwgLy9mYWxzZSAuc2V0Z2xvYmFsCi0gICAgICBtYXJrIHVzZXJwYXJhbXMgeyB9IGZvcmFsbCAuZGljdHRvbWFyayByZWFkb25seQotLSAgICAgL3VzZXJwYXJhbXMgZXhjaCAuZm9yY2VkZWYJCSUgc3lzdGVtZGljdCBpcyByZWFkLW9ubHkKLSsgICAgIGN1cnJlbnRkaWN0IGV4Y2ggL3VzZXJwYXJhbXMgZXhjaCAuZm9yY2VwdXQJCSUgc3lzdGVtZGljdCBpcyByZWFkLW9ubHkKLSAgIC5zZXRnbG9iYWwKLS19IGlmCi0rfSBleGVjdXRlb25seSBpZgotIC8uY3VycmVudHN5c3RlbXBhcmFtcyB3aGVyZSB7Ci0gICBwb3AKLSAgICAgICAgICUgUmVtb3ZlIHJlYWwgc3lzdGVtIHBhcmFtcyBmcm9tIHBzc3lzdGVtcGFyYW1zLgotQEAgLTI0NTgsNyArMjQ1MSw2IEBAIGVuZAotIERFTEFZQklORCBub3QgewotICAgc3lzdGVtZGljdCAvLmJpbmRub3cgLnVuZGVmICAgICAgICUgV2Ugb25seSBuZWVkIHRoaXMgZm9yIERFTEFZQklORAotICAgc3lzdGVtZGljdCAvLmZvcmNlY29weW5ldyAudW5kZWYJJSByZW1vdmUgdGVtcHRhdGlvbgotLSAgc3lzdGVtZGljdCAvLmZvcmNlZGVmIC51bmRlZgkJJSBkaXR0bwotICAgc3lzdGVtZGljdCAvLmZvcmNlcHV0IC51bmRlZgkJJSBkaXR0bwotICAgc3lzdGVtZGljdCAvLmZvcmNldW5kZWYgLnVuZGVmCSUgZGl0dG8KLSB9IGlmCi1kaWZmIC0tZ2l0IGEvUmVzb3VyY2UvSW5pdC9nc19sZXYyLnBzIGIvUmVzb3VyY2UvSW5pdC9nc19sZXYyLnBzCi1pbmRleCAwZjBkNTczLi45YzBjM2E2IDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9nc19sZXYyLnBzCi0rKysgYi9SZXNvdXJjZS9Jbml0L2dzX2xldjIucHMKLUBAIC0zMDQsMzEgKzMwNCwzMCBAQCBlbmQKLSAgICAgcHN1c2VycGFyYW1zIGV4Y2ggLy5jaGVja0ZpbGVQZXJtaXRwYXJhbXMgbG9hZCBwdXQKLSAgIC5zZXRnbG9iYWwKLSAKLS1wc3N5c3RlbXBhcmFtcyBiZWdpbgotLSAgL0N1ckRpc3BsYXlMaXN0IDAgLmZvcmNlZGVmCi0tICAvQ3VyRm9ybUNhY2hlIDAgLmZvcmNlZGVmCi0tICAvQ3VySW5wdXREZXZpY2UgKCkgLmZvcmNlZGVmCi0tICAvQ3VyT3V0bGluZUNhY2hlIDAgLmZvcmNlZGVmCi0tICAvQ3VyT3V0cHV0RGV2aWNlICgpIC5mb3JjZWRlZgotLSAgL0N1clBhdHRlcm5DYWNoZSAwIC5mb3JjZWRlZgotLSAgL0N1clVQYXRoQ2FjaGUgMCAuZm9yY2VkZWYKLS0gIC9DdXJTY3JlZW5TdG9yYWdlIDAgLmZvcmNlZGVmCi0tICAvQ3VyU291cmNlTGlzdCAwIC5mb3JjZWRlZgotLSAgL0RvUHJpbnRFcnJvcnMgLy9mYWxzZSAuZm9yY2VkZWYKLS0gIC9Kb2JUaW1lb3V0IDAgLmZvcmNlZGVmCi0tICAvTGljZW5zZUlEIChMTi0wMDEpIC5mb3JjZWRlZiAgICAgJSBib2d1cwotLSAgL01heERpc3BsYXlMaXN0IDE0MDAwMCAuZm9yY2VkZWYKLS0gIC9NYXhGb3JtQ2FjaGUgMTAwMDAwIC5mb3JjZWRlZgotLSAgL01heEltYWdlQnVmZmVyIDUyNDI4OCAuZm9yY2VkZWYKLS0gIC9NYXhPdXRsaW5lQ2FjaGUgNjUwMDAgLmZvcmNlZGVmCi0tICAvTWF4UGF0dGVybkNhY2hlIDEwMDAwMCAuZm9yY2VkZWYKLS0gIC9NYXhVUGF0aENhY2hlIDMwMDAwMCAuZm9yY2VkZWYKLS0gIC9NYXhTY3JlZW5TdG9yYWdlIDg0MDAwIC5mb3JjZWRlZgotLSAgL01heFNvdXJjZUxpc3QgMjUwMDAgLmZvcmNlZGVmCi0tICAvUHJpbnRlck5hbWUgcHJvZHVjdCAuZm9yY2VkZWYKLS0gIC9SYW1TaXplIDQxOTQzMDQgLmZvcmNlZGVmCi0tICAvV2FpdFRpbWVvdXQgNDAgLmZvcmNlZGVmCi0tZW5kCi0rcHNzeXN0ZW1wYXJhbXMKLStkdXAgL0N1ckRpc3BsYXlMaXN0IDAgLmZvcmNlcHV0Ci0rZHVwIC9DdXJGb3JtQ2FjaGUgMCAuZm9yY2VwdXQKLStkdXAgL0N1cklucHV0RGV2aWNlICgpIC5mb3JjZXB1dAotK2R1cCAvQ3VyT3V0bGluZUNhY2hlIDAgLmZvcmNlcHV0Ci0rZHVwIC9DdXJPdXRwdXREZXZpY2UgKCkgLmZvcmNlcHV0Ci0rZHVwIC9DdXJQYXR0ZXJuQ2FjaGUgMCAuZm9yY2VwdXQKLStkdXAgL0N1clVQYXRoQ2FjaGUgMCAuZm9yY2VwdXQKLStkdXAgL0N1clNjcmVlblN0b3JhZ2UgMCAuZm9yY2VwdXQKLStkdXAgL0N1clNvdXJjZUxpc3QgMCAuZm9yY2VwdXQKLStkdXAgL0RvUHJpbnRFcnJvcnMgLy9mYWxzZSAuZm9yY2VwdXQKLStkdXAgL0pvYlRpbWVvdXQgMCAuZm9yY2VwdXQKLStkdXAgL0xpY2Vuc2VJRCAoTE4tMDAxKSAuZm9yY2VwdXQgICAgICUgYm9ndXMKLStkdXAgL01heERpc3BsYXlMaXN0IDE0MDAwMCAuZm9yY2VwdXQKLStkdXAgL01heEZvcm1DYWNoZSAxMDAwMDAgLmZvcmNlcHV0Ci0rZHVwIC9NYXhJbWFnZUJ1ZmZlciA1MjQyODggLmZvcmNlcHV0Ci0rZHVwIC9NYXhPdXRsaW5lQ2FjaGUgNjUwMDAgLmZvcmNlcHV0Ci0rZHVwIC9NYXhQYXR0ZXJuQ2FjaGUgMTAwMDAwIC5mb3JjZXB1dAotK2R1cCAvTWF4VVBhdGhDYWNoZSAzMDAwMDAgLmZvcmNlcHV0Ci0rZHVwIC9NYXhTY3JlZW5TdG9yYWdlIDg0MDAwIC5mb3JjZXB1dAotK2R1cCAvTWF4U291cmNlTGlzdCAyNTAwMCAuZm9yY2VwdXQKLStkdXAgL1ByaW50ZXJOYW1lIHByb2R1Y3QgLmZvcmNlcHV0Ci0rZHVwIC9SYW1TaXplIDQxOTQzMDQgLmZvcmNlcHV0Ci0rICAgIC9XYWl0VGltZW91dCA0MCAuZm9yY2VwdXQKLSAKLSAlIERlZmluZSB0aGUgcHJvY2VkdXJlcyBmb3IgaGFuZGxpbmcgY29tbWVudCBzY2FubmluZy4gIFRoZSBuYW1lcwotICUgJVByb2Nlc3NDb21tZW50IGFuZCAlUHJvY2Vzc0RTQ0NvbW1lbnQgYXJlIGtub3duIHRvIHRoZSBpbnRlcnByZXRlci4KLUBAIC03MTAsNyArNzA5LDcgQEAgcG9wCQklIGN1cnJlbnRzeXN0ZW1wYXJhbXMKLSAvc3RhdHVzZGljdCBjdXJyZW50ZGljdCBkZWYKLSAKLSBjdXJyZW50ZGljdCBlbmQKLS0vc3RhdHVzZGljdCBleGNoIC5mb3JjZWRlZgklIHN0YXR1c2RpY3QgaXMgbG9jYWwsIHN5c3RlbWRpY3QgaXMgZ2xvYmFsCi0rY3VycmVudGRpY3QgZXhjaCAvc3RhdHVzZGljdCBleGNoIC5mb3JjZXB1dAklIHN0YXR1c2RpY3QgaXMgbG9jYWwsIHN5c3RlbWRpY3QgaXMgZ2xvYmFsCi0gCi0gJSBUaGUgZm9sbG93aW5nIGNvbXBhdGliaWxpdHkgb3BlcmF0b3JzIGFyZSBpbiBzeXN0ZW1kaWN0LiAgVGhleSBhcmUKLSAlIGRlZmluZWQgaGVyZSwgcmF0aGVyIHRoYW4gaW4gZ3NfaW5pdC5wcywgYmVjYXVzZSB0aGV5IHJlcXVpcmUgdGhlCi1kaWZmIC0tZ2l0IGEvUmVzb3VyY2UvSW5pdC9nc19sbDMucHMgYi9SZXNvdXJjZS9Jbml0L2dzX2xsMy5wcwotaW5kZXggYzg2NzIxZi4uODgxYWY0NCAxMDA2NDQKLS0tLSBhL1Jlc291cmNlL0luaXQvZ3NfbGwzLnBzCi0rKysgYi9SZXNvdXJjZS9Jbml0L2dzX2xsMy5wcwotQEAgLTUyMSw5ICs1MjEsOCBAQCBlbmQKLSAlIERlZmluZSBhZGRpdGlvbmFsIHVzZXIgYW5kIHN5c3RlbSBwYXJhbWV0ZXJzLgotIC9IYWxmdG9uZU1vZGUgMCAuZGVmaW5lcHN1c2VycGFyYW0KLSAvTWF4U3VwZXJTY3JlZW4gMTAxNiAuZGVmaW5lcHN1c2VycGFyYW0KLS1wc3N5c3RlbXBhcmFtcyBiZWdpbgkJJSByZWFkLW9ubHksIHNvIHVzZSAuZm9yY2VkZWYKLS0gIC9NYXhEaXNwbGF5QW5kU291cmNlTGlzdCAxNjAwMDAgLmZvcmNlZGVmCi0tZW5kCi0rJSByZWFkLW9ubHksIHNvIHVzZSAuZm9yY2VwdXQKLStwc3N5c3RlbXBhcmFtcyAgL01heERpc3BsYXlBbmRTb3VyY2VMaXN0IDE2MDAwMCAuZm9yY2VwdXQKLSAKLSAlIERlZmluZSB0aGUgSWRpb21TZXQgcmVzb3VyY2UgY2F0ZWdvcnkuCi0geyAvSWRpb21TZXQgfSB7Ci1kaWZmIC0tZ2l0IGEvUmVzb3VyY2UvSW5pdC9nc19yZXMucHMgYi9SZXNvdXJjZS9Jbml0L2dzX3Jlcy5wcwotaW5kZXggYjAxNjExMy4uODljMGVkNiAxMDA2NDQKLS0tLSBhL1Jlc291cmNlL0luaXQvZ3NfcmVzLnBzCi0rKysgYi9SZXNvdXJjZS9Jbml0L2dzX3Jlcy5wcwotQEAgLTQxLDEwICs0MSwxMCBAQCBsZXZlbDJkaWN0IGJlZ2luCi0gJSBIb3dldmVyLCBFZCBUYWZ0IG9mIEFkb2JlIHNheXMgdGhlaXIgaW50ZXJwcmV0ZXJzIGRvbid0IGltcGxlbWVudCB0aGlzCi0gJSBlaXRoZXIsIHNvIHdlIGFyZW4ndCBnb2luZyB0byB3b3JyeSBhYm91dCBpdCBmb3IgYSB3aGlsZS4KLSAKLS1jdXJyZW50Z2xvYmFsIC8vZmFsc2Ugc2V0Z2xvYmFsIHN5c3RlbWRpY3QgYmVnaW4KLS0gIC9sb2NhbGluc3RhbmNlZGljdCA1IGRpY3QKLS0gIC5mb3JjZWRlZgklIGxvY2FsaW5zdGFuY2VkaWN0IGlzIGxvY2FsLCBzeXN0ZW1kaWN0IGlzIGdsb2JhbAotLWVuZCAvL3RydWUgc2V0Z2xvYmFsCi0rY3VycmVudGdsb2JhbCAvL2ZhbHNlIHNldGdsb2JhbAotKyAgc3lzdGVtZGljdCAvbG9jYWxpbnN0YW5jZWRpY3QgNSBkaWN0Ci0rICAuZm9yY2VwdXQJJSBsb2NhbGluc3RhbmNlZGljdCBpcyBsb2NhbCwgc3lzdGVtZGljdCBpcyBnbG9iYWwKLSsvL3RydWUgc2V0Z2xvYmFsCi0gLy5lbXB0eWRpY3QgMCBkaWN0IHJlYWRvbmx5IGRlZgotIHNldGdsb2JhbAotIAotQEAgLTE0OSw3ICsxNDksNyBAQCBzZXRnbG9iYWwKLSAgICAgICAgICAgZHVwIFsgZXhjaCAwIC0xIF0gZXhjaAotICAgICAgICAgICAuSW5zdGFuY2VzIDQgMiByb2xsIHB1dAotICAgICAgICAgICAgICAgICAlIE1ha2UgdGhlIENhdGVnb3J5IGRpY3Rpb25hcnkgcmVhZC1vbmx5LiAgV2Ugd2lsbCBoYXZlIHRvCi0tICAgICAgICAgICAgICAgICUgdXNlIC5mb3JjZXB1dCAvIC5mb3JjZWRlZiBsYXRlciB0byByZXBsYWNlIHRoZSBkdW1teSwKLSsgICAgICAgICAgICAgICAgJSB1c2UgLmZvcmNlcHV0IC8gLmZvcmNlcHV0IGxhdGVyIHRvIHJlcGxhY2UgdGhlIGR1bW15LAotICAgICAgICAgICAgICAgICAlIGVtcHR5IC5JbnN0YW5jZXMgZGljdGlvbmFyeSB3aXRoIHRoZSByZWFsIG9uZSBsYXRlci4KLSAgICAgICAgICAgcmVhZG9ubHkKLSAgICAgICAgIH17Ci1AQCAtMzA0LDcgKzMwNCw4IEBAIHN5c3RlbWRpY3QgYmVnaW4KLSAgICAgIGR1cCAoKSBuZSB7Ci0gICAgICAuZmlsZV9uYW1lX2RpcmVjdG9yeV9zZXBhcmF0b3IgY29uY2F0c3RyaW5ncwotICAgICB9IGlmCi0tICAgIDIgaW5kZXggZXhjaCAvL2ZhbHNlIC5maWxlX25hbWVfY29tYmluZSBub3QgewotKyAgICAyIGluZGV4IGV4Y2ggLy9mYWxzZQotKyAgICAuZmlsZV9uYW1lX2NvbWJpbmUgbm90IHsKLSAgICAgICAoRXJyb3I6IC5kZWZhdWx0X3Jlc291cmNlX2RpciByZXR1cm5lZCApIHByaW50IGV4Y2ggcHJpbnQgKCB0aGF0IGNhbid0IGNvbWJpbmUgd2l0aCApIHByaW50ID0KLSAgICAgICAvLmRlZmF1bHRfcmVzb3VyY2VfZGlyIGN2eCAvY29uZmlndXJhdGlvbmVycm9yIHNpZ25hbGVycm9yCi0gICAgIH0gaWYKLUBAIC0zMTcsMTQgKzMxOCwxNCBAQCBjdXJyZW50ZGljdCAvcHNzeXN0ZW1wYXJhbXMga25vd24gbm90IHsKLSBwc3N5c3RlbXBhcmFtcyBiZWdpbgotICAgLy8uZGVmYXVsdF9yZXNvdXJjZV9kaXIgZXhlYwotICAgL0ZvbnRSZXNvdXJjZURpciAoRm9udCkgLy8ucmVzb3VyY2VfZGlyX25hbWUgZXhlYwotLSAgICAgcmVhZG9ubHkgLmZvcmNlZGVmCSUgcHNzeXMncGFyYW1zIGlzIHItbwotKyAgICAgcmVhZG9ubHkgY3VycmVudGRpY3QgMyAxIHJvbGwgLmZvcmNlcHV0CSUgcHNzeXMncGFyYW1zIGlzIHItbwotICAgL0dlbmVyaWNSZXNvdXJjZURpciAoKSAvLy5yZXNvdXJjZV9kaXJfbmFtZSBleGVjCi0tICAgICByZWFkb25seSAuZm9yY2VkZWYJJSBwc3N5cydwYXJhbXMgaXMgci1vCi0rICAgICByZWFkb25seSBjdXJyZW50ZGljdCAzIDEgcm9sbCAuZm9yY2VwdXQJJSBwc3N5cydwYXJhbXMgaXMgci1vCi0gICBwb3AgJSAuZGVmYXVsdF9yZXNvdXJjZV9kaXIKLSAgIC9HZW5lcmljUmVzb3VyY2VQYXRoU2VwCi0tICAgICAgICAuZmlsZV9uYW1lX3NlcGFyYXRvciByZWFkb25seSAuZm9yY2VkZWYJCSUgcHNzeXMncGFyYW1zIGlzIHItbwotLSAgKCVkaXNrRm9udFJlc291cmNlRGlyKSBjdm4gKC9SZXNvdXJjZS9Gb250LykgcmVhZG9ubHkgLmZvcmNlZGVmCSUgcHNzeXMncGFyYW1zIGlzIHItbwotLSAgKCVkaXNrR2VuZXJpY1Jlc291cmNlRGlyKSBjdm4gKC9SZXNvdXJjZS8pIHJlYWRvbmx5IC5mb3JjZWRlZgklIHBzc3lzJ3BhcmFtcyBpcyByLW8KLSsgICAgICAgIC5maWxlX25hbWVfc2VwYXJhdG9yIHJlYWRvbmx5IGN1cnJlbnRkaWN0IDMgMSByb2xsIC5mb3JjZXB1dAkJJSBwc3N5cydwYXJhbXMgaXMgci1vCi0rICBjdXJyZW50ZGljdCAoJWRpc2tGb250UmVzb3VyY2VEaXIpIGN2biAoL1Jlc291cmNlL0ZvbnQvKSByZWFkb25seSAuZm9yY2VwdXQJJSBwc3N5cydwYXJhbXMgaXMgci1vCi0rICBjdXJyZW50ZGljdCAoJWRpc2tHZW5lcmljUmVzb3VyY2VEaXIpIGN2biAoL1Jlc291cmNlLykgcmVhZG9ubHkgLmZvcmNlcHV0CSUgcHNzeXMncGFyYW1zIGlzIHItbwotIGVuZAotIGVuZAotIAotQEAgLTQyMiw4ICs0MjMsOCBAQCBzdGF0dXMgewotICAgICAgICAgICAgICAgICAuSW5zdGFuY2VzIGR1cCAvLy5lbXB0eWRpY3QgZXEgewotICAgICAgICAgICAgICAgICAgIHBvcCAzIGRpY3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAlIEFzIG5vdGVkIGFib3ZlLCBDYXRlZ29yeSBkaWN0aW9uYXJpZXMgYXJlIHJlYWQtb25seSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAlIHNvIHdlIGhhdmUgdG8gdXNlIC5mb3JjZWRlZiBoZXJlLgotLSAgICAgICAgICAgICAgICAgIC8uSW5zdGFuY2VzIDEgaW5kZXggLmZvcmNlZGVmCSUgQ2F0ZWdvcnkgZGljdCBpcyByZWFkLW9ubHkKLSsgICAgICAgICAgICAgICAgICAgICAgICAlIHNvIHdlIGhhdmUgdG8gdXNlIC5mb3JjZXB1dCBoZXJlLgotKyAgICAgICAgICAgICAgICAgIGN1cnJlbnRkaWN0IC8uSW5zdGFuY2VzIDIgaW5kZXggLmZvcmNlcHV0CSUgQ2F0ZWdvcnkgZGljdCBpcyByZWFkLW9ubHkKLSAgICAgICAgICAgICAgICAgfSBleGVjdXRlb25seSBpZgotICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgeyAuTG9jYWxJbnN0YW5jZXMgZHVwIC8vLmVtcHR5ZGljdCBlcQotQEAgLTQ0MSw3ICs0NDIsNyBAQCBzdGF0dXMgewotICAgICAgICAgICAgeyAvZGVmaW5lcmVzb3VyY2UgY3Z4IC90eXBlY2hlY2sgc2lnbmFsb3BlcnJvcgotICAgICAgICAgICAgfQotICAgICAgICAgaWZlbHNlCi0tfSAuYmluZCBleGVjdXRlb25seSAubWFrZW9wZXJhdG9yCQklIGV4ZWN1dGVvbmx5IHRvIHByZXZlbnQgYWNjZXNzIHRvIC5mb3JjZWRlZgotK30gLmJpbmQgZXhlY3V0ZW9ubHkgLm1ha2VvcGVyYXRvcgkJJSBleGVjdXRlb25seSB0byBwcmV2ZW50IGFjY2VzcyB0byAuZm9yY2VwdXQKLSAvVW5kZWZpbmVSZXNvdXJjZQotICAgICAgICAgeyAgeyBkdXAgMiBpbmRleCAua25vd25nZXQKLSAgICAgICAgICAgICAgIHsgZHVwIDEgZ2V0IDEgZ2UKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L2dzX3N0YXRkLnBzIGIvUmVzb3VyY2UvSW5pdC9nc19zdGF0ZC5wcwotaW5kZXggMjBkNGM5Ni4uYjZhNzY1OSAxMDA2NDQKLS0tLSBhL1Jlc291cmNlL0luaXQvZ3Nfc3RhdGQucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvZ3Nfc3RhdGQucHMKLUBAIC0yMSwxMCArMjEsMTAgQEAgc3lzdGVtZGljdCBiZWdpbgotICAgICAgICAgJSBXZSBtYWtlIHN0YXR1c2RpY3QgYSBsaXR0bGUgbGFyZ2VyIGZvciBMZXZlbCAyIHN0dWZmLgotICAgICAgICAgJSBOb3RlIHRoYXQgaXQgbXVzdCBiZSBhbGxvY2F0ZWQgaW4gbG9jYWwgVk0uCi0gIC5jdXJyZW50Z2xvYmFsIC8vZmFsc2UgLnNldGdsb2JhbAotLSAvc3RhdHVzZGljdCA5MSBkaWN0IC5mb3JjZWRlZgkJJSBzdGF0dXNkaWN0IGlzIGxvY2FsLCBzeXMnZGljdCBnbG9iYWwKLSsgY3VycmVudGRpY3QgL3N0YXR1c2RpY3QgOTEgZGljdCAuZm9yY2VwdXQJCSUgc3RhdHVzZGljdCBpcyBsb2NhbCwgc3lzJ2RpY3QgZ2xvYmFsCi0gICAgICAgICAlIFRvIHN1cHBvcnQgdGhlIExldmVsIDIgam9iIGNvbnRyb2wgZmVhdHVyZXMsCi0gICAgICAgICAlIHNlcnZlcmRpY3QgbXVzdCBhbHNvIGJlIGluIGxvY2FsIFZNLgotLSAvc2VydmVyZGljdCAxMCBkaWN0IC5mb3JjZWRlZgkJJSBzZXJ2ZXJkaWN0IGlzIGxvY2FsLCBzeXMnZGljdCBnbG9iYWwKLSsgY3VycmVudGRpY3QgL3NlcnZlcmRpY3QgMTAgZGljdCAuZm9yY2VwdXQJCSUgc2VydmVyZGljdCBpcyBsb2NhbCwgc3lzJ2RpY3QgZ2xvYmFsCi0gIC5zZXRnbG9iYWwKLSBlbmQKLSAKLS0tIAotMi4xOC4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dob3N0c2NyaXB0L2dob3N0c2NyaXB0XzkuMjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdF85LjI2LmJiCmluZGV4IGFkNGM1ZTEuLjVjYTk3OGYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dob3N0c2NyaXB0L2dob3N0c2NyaXB0XzkuMjYuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZ2hvc3RzY3JpcHRfOS4yNi5iYgpAQCAtMzIsMTMgKzMyLDYgQEAKICAgICAgICAgICAgZmlsZTovL2dob3N0c2NyaXB0LTkuMDItZ2VuYXJjaC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9vYmphcmNoLmggXAogICAgICAgICAgICBmaWxlOi8vY3Vwcy1uby1nY3J5cHQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTktNjExNi0wMDAxLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE5LTYxMTYtMDAwMi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOS02MTE2LTAwMDMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTktNjExNi0wMDA0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE5LTYxMTYtMDAwNS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOS02MTE2LTAwMDYucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTktNjExNi0wMDA3LnBhdGNoIFwKICAgICAgICAgICAgIgogCiBTUkNfVVJJX2NsYXNzLW5hdGl2ZSA9ICIke1NSQ19VUklfQkFTRX0gXApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3JlcC9ncmVwLzAwMDEtVW5zZXQtbmVlZF9jaGFyc2V0X2FsaWFzLXdoZW4tYnVpbGRpbmctZm9yLW11c2wucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ncmVwL2dyZXAvMDAwMS1VbnNldC1uZWVkX2NoYXJzZXRfYWxpYXMtd2hlbi1idWlsZGluZy1mb3ItbXVzbC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmExYTRiYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ncmVwL2dyZXAvMDAwMS1VbnNldC1uZWVkX2NoYXJzZXRfYWxpYXMtd2hlbi1idWlsZGluZy1mb3ItbXVzbC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLUZyb20gYjk1NjVkYzJmZTBjNGY3ZGFhZWM5MWI3ZTgzYmM3MzEzZGVlMmY0YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDEzIEFwciAyMDE1IDE3OjAyOjEzIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIFVuc2V0IG5lZWRfY2hhcnNldF9hbGlhcyB3aGVuIGJ1aWxkaW5nIGZvciBtdXNsCi0KLWxvY2FsY2hhcnNldCB1c2VzIGFjX2N2X2dudV9saWJyYXJ5XzJfMSBmcm9tIGdsaWJjMjEubTQKLXdoaWNoIGFjdHVhbGx5IHNob3VkbCBiZSBmaXhlZCBpbiBnbnVsaWIgYW5kIHRoZW4gYWxsIGRvd25zdHJlYW0KLXByb2plY3RzIHdpbGwgZ2V0IGl0IGV2ZW50dWFsbHkuIEZvciBub3cgd2UgYXBwbHkgdGhlIGZpeCB0bwotY29yZXV0aWxzCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gbGliL2dudWxpYi5tayB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2xpYi9nbnVsaWIubWsgYi9saWIvZ251bGliLm1rCi1pbmRleCBlMWQ3NGRiLi5jMGU5MmRkIDEwMDY0NAotLS0tIGEvbGliL2dudWxpYi5tawotKysrIGIvbGliL2dudWxpYi5tawotQEAgLTE4ODIsNyArMTg4Miw3IEBAIGluc3RhbGwtZXhlYy1sb2NhbGNoYXJzZXQ6IGFsbC1sb2NhbAotIAkgIGNhc2UgJyQoaG9zdF9vcyknIGluIFwKLSAJICAgIGRhcndpbls1Nl0qKSBcCi0gCSAgICAgIG5lZWRfY2hhcnNldF9hbGlhcz10cnVlIDs7IFwKLS0JICAgIGRhcndpbiogfCBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBjZWdjYyopIFwKLSsJICAgIGRhcndpbiogfCBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBjZWdjYyogfCBsaW51eC1tdXNsKikgXAotIAkgICAgICBuZWVkX2NoYXJzZXRfYWxpYXM9ZmFsc2UgOzsgXAotIAkgICAgKikgXAotIAkgICAgICBuZWVkX2NoYXJzZXRfYWxpYXM9dHJ1ZSA7OyBcCi0tLSAKLTIuMS40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dyZXAvZ3JlcF8zLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ncmVwL2dyZXBfMy4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MTgxMGRjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dyZXAvZ3JlcF8zLjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi1TVU1NQVJZID0gIkdOVSBncmVwIHV0aWxpdHkiCi1IT01FUEFHRSA9ICJodHRwOi8vc2F2YW5uYWguZ251Lm9yZy9wcm9qZWN0cy9ncmVwLyIKLUJVR1RSQUNLRVIgPSAiaHR0cDovL3NhdmFubmFoLmdudS5vcmcvYnVncy8/Z3JvdXA9Z3JlcCIKLVNFQ1RJT04gPSAiY29uc29sZS91dGlscyIKLUxJQ0VOU0UgPSAiR1BMdjMiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT04MDA2ZDljODE0Mjc3YzFiZmM0Y2EyMmFmOTRiNTllZSIKLQotU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9L2dyZXAvZ3JlcC0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1VbnNldC1uZWVkX2NoYXJzZXRfYWxpYXMtd2hlbi1idWlsZGluZy1mb3ItbXVzbC5wYXRjaCBcCi0gICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiZmVjYTdiM2U3YzdmNGFhYjJiNDJlY2JmYzUxM2IwNzAiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZGI2MjVjN2FiM2JiM2VlNzU3YjM5MjZhNWNmYThkOWUxYzM5OTFhZDI0NzA3YTgzZGRlOGE1ZWYyYmY3YTA3ZSIKLQotaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCB0ZXhpbmZvIHBrZ2NvbmZpZwotCi0jIEZpeCAiQXJndW1lbnQgbGlzdCB0b28gbG9uZyIgZXJyb3Igd2hlbiBsZW4oVE1QRElSKSA9IDQxMAotYWNwYXRocyA9ICItSSAuL200IgotCi1kb19jb25maWd1cmVfcHJlcGVuZCAoKSB7Ci0Jcm0gLWYgJHtTfS9tNC9pbml0Lm00Ci19Ci0KLWRvX2luc3RhbGwgKCkgewotCWF1dG90b29sc19kb19pbnN0YWxsCi0JaWYgWyAiJHtiYXNlX2JpbmRpcn0iICE9ICIke2JpbmRpcn0iIF07IHRoZW4KLQkJaW5zdGFsbCAtZCAke0R9JHtiYXNlX2JpbmRpcn0KLQkJbXYgJHtEfSR7YmluZGlyfS9ncmVwICR7RH0ke2Jhc2VfYmluZGlyfS9ncmVwCi0JCW12ICR7RH0ke2JpbmRpcn0vZWdyZXAgJHtEfSR7YmFzZV9iaW5kaXJ9L2VncmVwCi0JCW12ICR7RH0ke2JpbmRpcn0vZmdyZXAgJHtEfSR7YmFzZV9iaW5kaXJ9L2ZncmVwCi0JCXJtZGlyICR7RH0ke2JpbmRpcn0vCi0JZmkKLX0KLQotaW5oZXJpdCB1cGRhdGUtYWx0ZXJuYXRpdmVzCi0KLVBBQ0tBR0VDT05GSUcgPz89ICJwY3JlIgotUEFDS0FHRUNPTkZJR1twY3JlXSA9ICItLWVuYWJsZS1wZXJsLXJlZ2V4cCwtLWRpc2FibGUtcGVybC1yZWdleHAsbGlicGNyZSIKLQotQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgotCi1BTFRFUk5BVElWRV8ke1BOfSA9ICJncmVwIGVncmVwIGZncmVwIgotQUxURVJOQVRJVkVfTElOS19OQU1FW2dyZXBdID0gIiR7YmFzZV9iaW5kaXJ9L2dyZXAiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbZWdyZXBdID0gIiR7YmFzZV9iaW5kaXJ9L2VncmVwIgotQUxURVJOQVRJVkVfTElOS19OQU1FW2ZncmVwXSA9ICIke2Jhc2VfYmluZGlyfS9mZ3JlcCIKLQotZXhwb3J0IENPTkZJR19TSEVMTD0iL2Jpbi9zaCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dyZXAvZ3JlcF8zLjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ncmVwL2dyZXBfMy4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwNGEzZWMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ncmVwL2dyZXBfMy4zLmJiCkBAIC0wLDAgKzEsNDUgQEAKK1NVTU1BUlkgPSAiR05VIGdyZXAgdXRpbGl0eSIKK0hPTUVQQUdFID0gImh0dHA6Ly9zYXZhbm5haC5nbnUub3JnL3Byb2plY3RzL2dyZXAvIgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vc2F2YW5uYWguZ251Lm9yZy9idWdzLz9ncm91cD1ncmVwIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTFlYmJkM2UzNDIzN2FmMjZkYTVkYzA4YTRlNDQwNDY0IgorCitTUkNfVVJJID0gIiR7R05VX01JUlJPUn0vZ3JlcC9ncmVwLSR7UFZ9LnRhci54eiIKKworU1JDX1VSSVttZDVzdW1dID0gIjA1ZDA3MThhMWI3Y2M3MDZhNGJkZjgxMTUzNjNmMWVkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImI5NjA1NDFjNDk5NjE5ZWZkNmFmZTFmYTc5NTQwMmU0NzMzYzhlMTFlYmY5ZmFmY2NjMGJiNGJjY2RjNWI1MTQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgdGV4aW5mbyBwa2djb25maWcKKworIyBGaXggIkFyZ3VtZW50IGxpc3QgdG9vIGxvbmciIGVycm9yIHdoZW4gbGVuKFRNUERJUikgPSA0MTAKK2FjcGF0aHMgPSAiLUkgLi9tNCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworCXJtIC1mICR7U30vbTQvaW5pdC5tNAorfQorCitkb19pbnN0YWxsICgpIHsKKwlhdXRvdG9vbHNfZG9faW5zdGFsbAorCWlmIFsgIiR7YmFzZV9iaW5kaXJ9IiAhPSAiJHtiaW5kaXJ9IiBdOyB0aGVuCisJCWluc3RhbGwgLWQgJHtEfSR7YmFzZV9iaW5kaXJ9CisJCW12ICR7RH0ke2JpbmRpcn0vZ3JlcCAke0R9JHtiYXNlX2JpbmRpcn0vZ3JlcAorCQltdiAke0R9JHtiaW5kaXJ9L2VncmVwICR7RH0ke2Jhc2VfYmluZGlyfS9lZ3JlcAorCQltdiAke0R9JHtiaW5kaXJ9L2ZncmVwICR7RH0ke2Jhc2VfYmluZGlyfS9mZ3JlcAorCQlybWRpciAke0R9JHtiaW5kaXJ9LworCWZpCit9CisKK2luaGVyaXQgdXBkYXRlLWFsdGVybmF0aXZlcworCitQQUNLQUdFQ09ORklHID8/PSAicGNyZSIKK1BBQ0tBR0VDT05GSUdbcGNyZV0gPSAiLS1lbmFibGUtcGVybC1yZWdleHAsLS1kaXNhYmxlLXBlcmwtcmVnZXhwLGxpYnBjcmUiCisKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjEwMCIKKworQUxURVJOQVRJVkVfJHtQTn0gPSAiZ3JlcCBlZ3JlcCBmZ3JlcCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtncmVwXSA9ICIke2Jhc2VfYmluZGlyfS9ncmVwIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2VncmVwXSA9ICIke2Jhc2VfYmluZGlyfS9lZ3JlcCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtmZ3JlcF0gPSAiJHtiYXNlX2JpbmRpcn0vZmdyZXAiCisKK2V4cG9ydCBDT05GSUdfU0hFTEw9Ii9iaW4vc2giCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9nemlwL2d6aXAtMS45L3dyb25nLXBhdGgtZml4LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3ppcC9nemlwLTEuMTAvd3JvbmctcGF0aC1maXgucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2d6aXAvZ3ppcC0xLjkvd3JvbmctcGF0aC1maXgucGF0Y2gKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2d6aXAvZ3ppcC0xLjEwL3dyb25nLXBhdGgtZml4LnBhdGNoCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9nemlwL2d6aXAtMS45L2dudWxpYi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2d6aXAvZ3ppcC0xLjkvZ251bGliLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjM2NkZDcyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2d6aXAvZ3ppcC0xLjkvZ251bGliLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTg5ICswLDAgQEAKLUZyb20gMTgzMTYyOGMwNjMwYWU5NmE0MzU4NmIyYTI1Y2E1MWNiZGJhM2U1MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFBhdWwgRWdnZXJ0IDxhZGRyZXNzQGhpZGRlbj4KLURhdGU6IE1vbiwgNSBNYXIgMjAxOCAxMDo1NjoyOSAtMDgwMAotU3ViamVjdDogW1BBVENIXSBmZmx1c2g6IGFkanVzdCB0byBnbGliYyAyLjI4IGxpYmlvLmggcmVtb3ZhbAotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1Qcm9ibGVtIHJlcG9ydGVkIGJ5IERhbmllbCBQLiBCZXJyYW5nw6kgaW46Ci1odHRwczovL2xpc3RzLmdudS5vcmcvci9idWctZ251bGliLzIwMTgtMDMvbXNnMDAwMDAuaHRtbAotKiBsaWIvZmJ1Zm1vZGUuYyAoZmJ1Zm1vZGUpOgotKiBsaWIvZmZsdXNoLmMgKGNsZWFyX3VuZ2V0Y19idWZmZXJfcHJlc2VydmluZ19wb3NpdGlvbikKLShkaXNhYmxlX3NlZWtfb3B0aW1pemF0aW9uLCBycGxfZmZsdXNoKToKLSogbGliL2ZwZW5kaW5nLmMgKF9fZnBlbmRpbmcpOgotKiBsaWIvZnB1cmdlLmMgKGZwdXJnZSk6Ci0qIGxpYi9mcmVhZGFibGUuYyAoZnJlYWRhYmxlKToKLSogbGliL2ZyZWFkYWhlYWQuYyAoZnJlYWRhaGVhZCk6Ci0qIGxpYi9mcmVhZGluZy5jIChmcmVhZGluZyk6Ci0qIGxpYi9mcmVhZHB0ci5jIChmcmVhZHB0cik6Ci0qIGxpYi9mcmVhZHNlZWsuYyAoZnJlYWRwdHJpbmMpOgotKiBsaWIvZnNlZWtvLmMgKGZzZWVrbyk6Ci0qIGxpYi9mc2V0ZXJyLmMgKGZzZXRlcnIpOgotKiBsaWIvZndyaXRhYmxlLmMgKGZ3cml0YWJsZSk6Ci0qIGxpYi9md3JpdGluZy5jIChmd3JpdGluZyk6Ci1DaGVjayBfSU9fRU9GX1NFRU4gaW5zdGVhZCBvZiBfSU9fZnRyeWxvY2tmaWxlLgotKiBsaWIvc3RkaW8taW1wbC5oIChfSU9fSU5fQkFDS1VQKSBbX0lPX0VPRl9TRUVOXToKLURlZmluZSBpZiBub3QgYWxyZWFkeSBkZWZpbmVkLgotLS0tCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotIENoYW5nZUxvZyAgICAgICAgfCAyMyArKysrKysrKysrKysrKysrKysrKysrKwotIGxpYi9mYnVmbW9kZS5jICAgfCAgMiArLQotIGxpYi9mZmx1c2guYyAgICAgfCAgNiArKystLS0KLSBsaWIvZnBlbmRpbmcuYyAgIHwgIDIgKy0KLSBsaWIvZnB1cmdlLmMgICAgIHwgIDIgKy0KLSBsaWIvZnJlYWRhYmxlLmMgIHwgIDIgKy0KLSBsaWIvZnJlYWRhaGVhZC5jIHwgIDIgKy0KLSBsaWIvZnJlYWRpbmcuYyAgIHwgIDIgKy0KLSBsaWIvZnJlYWRwdHIuYyAgIHwgIDIgKy0KLSBsaWIvZnJlYWRzZWVrLmMgIHwgIDIgKy0KLSBsaWIvZnNlZWtvLmMgICAgIHwgIDQgKystLQotIGxpYi9mc2V0ZXJyLmMgICAgfCAgMiArLQotIGxpYi9md3JpdGFibGUuYyAgfCAgMiArLQotIGxpYi9md3JpdGluZy5jICAgfCAgMiArLQotIGxpYi9zdGRpby1pbXBsLmggfCAgNiArKysrKysKLSAxNSBmaWxlcyBjaGFuZ2VkLCA0NSBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKLQotSW5kZXg6IGd6aXAtMS45L0NoYW5nZUxvZwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGd6aXAtMS45Lm9yaWcvQ2hhbmdlTG9nCi0rKysgZ3ppcC0xLjkvQ2hhbmdlTG9nCi1AQCAtMSwzICsxLDI2IEBACi0rMjAxOC0wMy0wNSAgUGF1bCBFZ2dlcnQgIDxhZGRyZXNzQGhpZGRlbj4KLSsKLSsJZmZsdXNoOiBhZGp1c3QgdG8gZ2xpYmMgMi4yOCBsaWJpby5oIHJlbW92YWwKLSsJUHJvYmxlbSByZXBvcnRlZCBieSBEYW5pZWwgUC4gQmVycmFuZ8OpIGluOgotKwlodHRwczovL2xpc3RzLmdudS5vcmcvci9idWctZ251bGliLzIwMTgtMDMvbXNnMDAwMDAuaHRtbAotKwkqIGxpYi9mYnVmbW9kZS5jIChmYnVmbW9kZSk6Ci0rCSogbGliL2ZmbHVzaC5jIChjbGVhcl91bmdldGNfYnVmZmVyX3ByZXNlcnZpbmdfcG9zaXRpb24pCi0rCShkaXNhYmxlX3NlZWtfb3B0aW1pemF0aW9uLCBycGxfZmZsdXNoKToKLSsJKiBsaWIvZnBlbmRpbmcuYyAoX19mcGVuZGluZyk6Ci0rCSogbGliL2ZwdXJnZS5jIChmcHVyZ2UpOgotKwkqIGxpYi9mcmVhZGFibGUuYyAoZnJlYWRhYmxlKToKLSsJKiBsaWIvZnJlYWRhaGVhZC5jIChmcmVhZGFoZWFkKToKLSsJKiBsaWIvZnJlYWRpbmcuYyAoZnJlYWRpbmcpOgotKwkqIGxpYi9mcmVhZHB0ci5jIChmcmVhZHB0cik6Ci0rCSogbGliL2ZyZWFkc2Vlay5jIChmcmVhZHB0cmluYyk6Ci0rCSogbGliL2ZzZWVrby5jIChmc2Vla28pOgotKwkqIGxpYi9mc2V0ZXJyLmMgKGZzZXRlcnIpOgotKwkqIGxpYi9md3JpdGFibGUuYyAoZndyaXRhYmxlKToKLSsJKiBsaWIvZndyaXRpbmcuYyAoZndyaXRpbmcpOgotKwlDaGVjayBfSU9fRU9GX1NFRU4gaW5zdGVhZCBvZiBfSU9fZnRyeWxvY2tmaWxlLgotKwkqIGxpYi9zdGRpby1pbXBsLmggKF9JT19JTl9CQUNLVVApIFtfSU9fRU9GX1NFRU5dOgotKwlEZWZpbmUgaWYgbm90IGFscmVhZHkgZGVmaW5lZC4KLSsKLSAyMDE4LTAxLTA3ICBKaW0gTWV5ZXJpbmcgIDxtZXllcmluZ0BmYi5jb20+Ci0gCi0gCXZlcnNpb24gMS45Ci1JbmRleDogZ3ppcC0xLjkvbGliL2ZmbHVzaC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ3ppcC0xLjkub3JpZy9saWIvZmZsdXNoLmMKLSsrKyBnemlwLTEuOS9saWIvZmZsdXNoLmMKLUBAIC0zMyw3ICszMyw3IEBACi0gI3VuZGVmIGZmbHVzaAotIAotIAotLSNpZiBkZWZpbmVkIF9JT19mdHJ5bG9ja2ZpbGUgfHwgX19HTlVfTElCUkFSWV9fID09IDEgLyogR05VIGxpYmMsIEJlT1MsIEhhaWt1LCBMaW51eCBsaWJjNSAqLwotKyNpZiBkZWZpbmVkIF9JT19FT0ZfU0VFTiB8fCBfX0dOVV9MSUJSQVJZX18gPT0gMSAvKiBHTlUgbGliYywgQmVPUywgSGFpa3UsIExpbnV4IGxpYmM1ICovCi0gCi0gLyogQ2xlYXIgdGhlIHN0cmVhbSdzIHVuZ2V0YyBidWZmZXIsIHByZXNlcnZpbmcgdGhlIHZhbHVlIG9mIGZ0ZWxsbyAoZnApLiAgKi8KLSBzdGF0aWMgdm9pZAotQEAgLTcyLDcgKzcyLDcgQEAgY2xlYXJfdW5nZXRjX2J1ZmZlciAoRklMRSAqZnApCi0gCi0gI2VuZGlmCi0gCi0tI2lmICEgKGRlZmluZWQgX0lPX2Z0cnlsb2NrZmlsZSB8fCBfX0dOVV9MSUJSQVJZX18gPT0gMSAvKiBHTlUgbGliYywgQmVPUywgSGFpa3UsIExpbnV4IGxpYmM1ICovKQotKyNpZiAhIChkZWZpbmVkIF9JT19FT0ZfU0VFTiB8fCBfX0dOVV9MSUJSQVJZX18gPT0gMSAvKiBHTlUgbGliYywgQmVPUywgSGFpa3UsIExpbnV4IGxpYmM1ICovKQotIAotICMgaWYgKGRlZmluZWQgX19zZmVycm9yIHx8IGRlZmluZWQgX19EcmFnb25GbHlfXyB8fCBkZWZpbmVkIF9fQU5EUk9JRF9fKSAmJiBkZWZpbmVkIF9fU05QVAotIC8qIEZyZWVCU0QsIE5ldEJTRCwgT3BlbkJTRCwgRHJhZ29uRmx5LCBNYWMgT1MgWCwgQ3lnd2luLCBNaW5peCAzLCBBbmRyb2lkICovCi1AQCAtMTQ4LDcgKzE0OCw3IEBAIHJwbF9mZmx1c2ggKEZJTEUgKnN0cmVhbSkKLSAgIGlmIChzdHJlYW0gPT0gTlVMTCB8fCAhIGZyZWFkaW5nIChzdHJlYW0pKQotICAgICByZXR1cm4gZmZsdXNoIChzdHJlYW0pOwotIAotLSNpZiBkZWZpbmVkIF9JT19mdHJ5bG9ja2ZpbGUgfHwgX19HTlVfTElCUkFSWV9fID09IDEgLyogR05VIGxpYmMsIEJlT1MsIEhhaWt1LCBMaW51eCBsaWJjNSAqLwotKyNpZiBkZWZpbmVkIF9JT19FT0ZfU0VFTiB8fCBfX0dOVV9MSUJSQVJZX18gPT0gMSAvKiBHTlUgbGliYywgQmVPUywgSGFpa3UsIExpbnV4IGxpYmM1ICovCi0gCi0gICBjbGVhcl91bmdldGNfYnVmZmVyX3ByZXNlcnZpbmdfcG9zaXRpb24gKHN0cmVhbSk7Ci0gCi1JbmRleDogZ3ppcC0xLjkvbGliL2ZwdXJnZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ3ppcC0xLjkub3JpZy9saWIvZnB1cmdlLmMKLSsrKyBnemlwLTEuOS9saWIvZnB1cmdlLmMKLUBAIC02Miw3ICs2Miw3IEBAIGZwdXJnZSAoRklMRSAqZnApCi0gICAvKiBNb3N0IHN5c3RlbXMgcHJvdmlkZSBGSUxFIGFzIGEgc3RydWN0IGFuZCB0aGUgbmVjZXNzYXJ5IGJpdG1hc2sgaW4KLSAgICAgIDxzdGRpby5oPiwgYmVjYXVzZSB0aGV5IG5lZWQgaXQgZm9yIGltcGxlbWVudGluZyBnZXRjKCkgYW5kIHB1dGMoKSBhcwotICAgICAgZmFzdCBtYWNyb3MuICAqLwotLSMgaWYgZGVmaW5lZCBfSU9fZnRyeWxvY2tmaWxlIHx8IF9fR05VX0xJQlJBUllfXyA9PSAxIC8qIEdOVSBsaWJjLCBCZU9TLCBIYWlrdSwgTGludXggbGliYzUgKi8KLSsjIGlmIGRlZmluZWQgX0lPX0VPRl9TRUVOIHx8IF9fR05VX0xJQlJBUllfXyA9PSAxIC8qIEdOVSBsaWJjLCBCZU9TLCBIYWlrdSwgTGludXggbGliYzUgKi8KLSAgIGZwLT5fSU9fcmVhZF9lbmQgPSBmcC0+X0lPX3JlYWRfcHRyOwotICAgZnAtPl9JT193cml0ZV9wdHIgPSBmcC0+X0lPX3dyaXRlX2Jhc2U7Ci0gICAvKiBBdm9pZCBtZW1vcnkgbGVhayB3aGVuIHRoZXJlIGlzIGFuIGFjdGl2ZSB1bmdldGMgYnVmZmVyLiAgKi8KLUluZGV4OiBnemlwLTEuOS9saWIvZnJlYWRpbmcuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGd6aXAtMS45Lm9yaWcvbGliL2ZyZWFkaW5nLmMKLSsrKyBnemlwLTEuOS9saWIvZnJlYWRpbmcuYwotQEAgLTMxLDcgKzMxLDcgQEAgZnJlYWRpbmcgKEZJTEUgKmZwKQotICAgLyogTW9zdCBzeXN0ZW1zIHByb3ZpZGUgRklMRSBhcyBhIHN0cnVjdCBhbmQgdGhlIG5lY2Vzc2FyeSBiaXRtYXNrIGluCi0gICAgICA8c3RkaW8uaD4sIGJlY2F1c2UgdGhleSBuZWVkIGl0IGZvciBpbXBsZW1lbnRpbmcgZ2V0YygpIGFuZCBwdXRjKCkgYXMKLSAgICAgIGZhc3QgbWFjcm9zLiAgKi8KLS0jIGlmIGRlZmluZWQgX0lPX2Z0cnlsb2NrZmlsZSB8fCBfX0dOVV9MSUJSQVJZX18gPT0gMSAvKiBHTlUgbGliYywgQmVPUywgSGFpa3UsIExpbnV4IGxpYmM1ICovCi0rIyBpZiBkZWZpbmVkIF9JT19FT0ZfU0VFTiB8fCBfX0dOVV9MSUJSQVJZX18gPT0gMSAvKiBHTlUgbGliYywgQmVPUywgSGFpa3UsIExpbnV4IGxpYmM1ICovCi0gICByZXR1cm4gKChmcC0+X2ZsYWdzICYgX0lPX05PX1dSSVRFUykgIT0gMAotICAgICAgICAgICB8fCAoKGZwLT5fZmxhZ3MgJiAoX0lPX05PX1JFQURTIHwgX0lPX0NVUlJFTlRMWV9QVVRUSU5HKSkgPT0gMAotICAgICAgICAgICAgICAgJiYgZnAtPl9JT19yZWFkX2Jhc2UgIT0gTlVMTCkpOwotSW5kZXg6IGd6aXAtMS45L2xpYi9mc2Vla28uYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGd6aXAtMS45Lm9yaWcvbGliL2ZzZWVrby5jCi0rKysgZ3ppcC0xLjkvbGliL2ZzZWVrby5jCi1AQCAtNDcsNyArNDcsNyBAQCBmc2Vla28gKEZJTEUgKmZwLCBvZmZfdCBvZmZzZXQsIGludCB3aGVuCi0gI2VuZGlmCi0gCi0gICAvKiBUaGVzZSB0ZXN0cyBhcmUgYmFzZWQgb24gZnB1cmdlLmMuICAqLwotLSNpZiBkZWZpbmVkIF9JT19mdHJ5bG9ja2ZpbGUgfHwgX19HTlVfTElCUkFSWV9fID09IDEgLyogR05VIGxpYmMsIEJlT1MsIEhhaWt1LCBMaW51eCBsaWJjNSAqLwotKyNpZiBkZWZpbmVkIF9JT19FT0ZfU0VFTiB8fCBfX0dOVV9MSUJSQVJZX18gPT0gMSAvKiBHTlUgbGliYywgQmVPUywgSGFpa3UsIExpbnV4IGxpYmM1ICovCi0gICBpZiAoZnAtPl9JT19yZWFkX2VuZCA9PSBmcC0+X0lPX3JlYWRfcHRyCi0gICAgICAgJiYgZnAtPl9JT193cml0ZV9wdHIgPT0gZnAtPl9JT193cml0ZV9iYXNlCi0gICAgICAgJiYgZnAtPl9JT19zYXZlX2Jhc2UgPT0gTlVMTCkKLUBAIC0xMjMsNyArMTIzLDcgQEAgZnNlZWtvIChGSUxFICpmcCwgb2ZmX3Qgb2Zmc2V0LCBpbnQgd2hlbgotICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgICB9Ci0gCi0tI2lmIGRlZmluZWQgX0lPX2Z0cnlsb2NrZmlsZSB8fCBfX0dOVV9MSUJSQVJZX18gPT0gMSAvKiBHTlUgbGliYywgQmVPUywgSGFpa3UsIExpbnV4IGxpYmM1ICovCi0rI2lmIGRlZmluZWQgX0lPX0VPRl9TRUVOIHx8IF9fR05VX0xJQlJBUllfXyA9PSAxIC8qIEdOVSBsaWJjLCBCZU9TLCBIYWlrdSwgTGludXggbGliYzUgKi8KLSAgICAgICBmcC0+X2ZsYWdzICY9IH5fSU9fRU9GX1NFRU47Ci0gICAgICAgZnAtPl9vZmZzZXQgPSBwb3M7Ci0gI2VsaWYgZGVmaW5lZCBfX3NmZXJyb3IgfHwgZGVmaW5lZCBfX0RyYWdvbkZseV9fIHx8IGRlZmluZWQgX19BTkRST0lEX18KLUluZGV4OiBnemlwLTEuOS9saWIvZnNldGVyci5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ3ppcC0xLjkub3JpZy9saWIvZnNldGVyci5jCi0rKysgZ3ppcC0xLjkvbGliL2ZzZXRlcnIuYwotQEAgLTI5LDcgKzI5LDcgQEAgZnNldGVyciAoRklMRSAqZnApCi0gICAvKiBNb3N0IHN5c3RlbXMgcHJvdmlkZSBGSUxFIGFzIGEgc3RydWN0IGFuZCB0aGUgbmVjZXNzYXJ5IGJpdG1hc2sgaW4KLSAgICAgIDxzdGRpby5oPiwgYmVjYXVzZSB0aGV5IG5lZWQgaXQgZm9yIGltcGxlbWVudGluZyBnZXRjKCkgYW5kIHB1dGMoKSBhcwotICAgICAgZmFzdCBtYWNyb3MuICAqLwotLSNpZiBkZWZpbmVkIF9JT19mdHJ5bG9ja2ZpbGUgfHwgX19HTlVfTElCUkFSWV9fID09IDEgLyogR05VIGxpYmMsIEJlT1MsIEhhaWt1LCBMaW51eCBsaWJjNSAqLwotKyNpZiBkZWZpbmVkIF9JT19FT0ZfU0VFTiB8fCBfX0dOVV9MSUJSQVJZX18gPT0gMSAvKiBHTlUgbGliYywgQmVPUywgSGFpa3UsIExpbnV4IGxpYmM1ICovCi0gICBmcC0+X2ZsYWdzIHw9IF9JT19FUlJfU0VFTjsKLSAjZWxpZiBkZWZpbmVkIF9fc2ZlcnJvciB8fCBkZWZpbmVkIF9fRHJhZ29uRmx5X18gfHwgZGVmaW5lZCBfX0FORFJPSURfXwotICAgLyogRnJlZUJTRCwgTmV0QlNELCBPcGVuQlNELCBEcmFnb25GbHksIE1hYyBPUyBYLCBDeWd3aW4sIE1pbml4IDMsIEFuZHJvaWQgKi8KLUluZGV4OiBnemlwLTEuOS9saWIvc3RkaW8taW1wbC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ3ppcC0xLjkub3JpZy9saWIvc3RkaW8taW1wbC5oCi0rKysgZ3ppcC0xLjkvbGliL3N0ZGlvLWltcGwuaAotQEAgLTE4LDYgKzE4LDEyIEBACi0gICAgdGhlIHNhbWUgaW1wbGVtZW50YXRpb24gb2Ygc3RkaW8gZXh0ZW5zaW9uIEFQSSwgZXhjZXB0IHRoYXQgc29tZSBmaWVsZHMKLSAgICBoYXZlIGRpZmZlcmVudCBuYW1pbmcgY29udmVudGlvbnMsIG9yIHRoZWlyIGFjY2VzcyByZXF1aXJlcyBzb21lIGNhc3RzLiAgKi8KLSAKLSsvKiBHbGliYyAyLjI4IG1hZGUgX0lPX0lOX0JBQ0tVUCBwcml2YXRlLiAgRm9yIG5vdywgd29yayBhcm91bmQgdGhpcwotKyAgIHByb2JsZW0gYnkgZGVmaW5pbmcgaXQgb3Vyc2VsdmVzLiAgRklYTUU6IERvIG5vdCByZWx5IG9uIGdsaWJjCi0rICAgaW50ZXJuYWxzLiAgKi8KLSsjaWYgIWRlZmluZWQgX0lPX0lOX0JBQ0tVUCAmJiBkZWZpbmVkIF9JT19FT0ZfU0VFTgotKyMgZGVmaW5lIF9JT19JTl9CQUNLVVAgMHgxMDAKLSsjZW5kaWYKLSAKLSAvKiBCU0Qgc3RkaW8gZGVyaXZlZCBpbXBsZW1lbnRhdGlvbnMuICAqLwotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3ppcC9nemlwXzEuMTAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9nemlwL2d6aXBfMS4xMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NWRlOTcwCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3ppcC9nemlwXzEuMTAuYmIKQEAgLTAsMCArMSwzOCBAQAorcmVxdWlyZSBnemlwLmluYworCitMSUNFTlNFID0gIkdQTHYzKyIKKworU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9L2d6aXAvJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIgorU1JDX1VSSV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBmaWxlOi8vd3JvbmctcGF0aC1maXgucGF0Y2giCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2d6aXAuaDtiZWdpbmxpbmU9ODtlbmRsaW5lPTIwO21kNT02ZTQ3Y2FhYTYzMGUwYzhiZjlmMWJjOGQ5NGE4ZWQwZSIKKworUFJPVklERVNfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgZ3ppcC1yZXBsYWNlbWVudC1uYXRpdmUiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitpbmhlcml0IHB0ZXN0CisKK2RvX2luc3RhbGxfcHRlc3QoKSB7CisJbWtkaXIgLXAgJHtEfSR7UFRFU1RfUEFUSH0vc3JjL2J1aWxkLWF1eAorCWNwICR7U30vYnVpbGQtYXV4L3Rlc3QtZHJpdmVyICR7RH0ke1BURVNUX1BBVEh9L3NyYy9idWlsZC1hdXgvCisJbWtkaXIgLXAgJHtEfSR7UFRFU1RfUEFUSH0vc3JjL3Rlc3RzCisJY3AgLXIgJHtTfS90ZXN0cy8qICR7RH0ke1BURVNUX1BBVEh9L3NyYy90ZXN0cworCXNlZCAtZSAncy9eYWJzX3NyY2RpciA9IC4uKi9hYnNfc3JjZGlyID0gXC5cLi8nIFwKKyAgICAgICAgICAgIC1lICdzL150b3Bfc3JjZGlyID0gLi4qL3RvcF9zcmNkaXIgPSBcLlwuLycgXAorICAgICAgICAgICAgLWUgJ3MvXkdSRVAgPSAuLiovR1JFUCA9IGdyZXAvJyAgICAgICAgICAgICBcCisgICAgICAgICAgICAtZSAncy9eQVdLID0gLi4qL0FXSyA9IGF3ay8nICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIC1lICdzL15zcmNkaXIgPSAuLiovc3JjZGlyID0gXC4vJyAgICAgICAgICAgXAorICAgICAgICAgICAgLWUgJ3MvXk1ha2VmaWxlOiAuLiovTWFrZWZpbGU6IC8nICAgICAgICAgICBcCisgICAgICAgICAgICAtZSAncywtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9UQVJHRVR9LCxnJyAgIFwKKyAgICAgICAgICAgIC1lICdzfCR7REVCVUdfUFJFRklYX01BUH18fGcnIFwKKyAgICAgICAgICAgIC1lICdzOiR7SE9TVFRPT0xTX0RJUn0vOjpnJyAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgLWUgJ3M6JHtCQVNFX1dPUktESVJ9LyR7TVVMVElNQUNIX1RBUkdFVF9TWVN9OjpnJyBcCisgICAgICAgICAgICAke0J9L3Rlc3RzL01ha2VmaWxlID4gJHtEfSR7UFRFU1RfUEFUSH0vc3JjL3Rlc3RzL01ha2VmaWxlCit9CisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjZjllZTUxYWZmMTY3ZmY2OTg0NGQ1ZDdkNzFjOGIyMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjOTFmNzQ0MzBiZjdiYzIwNDAyZTFmNjU3ZDBiMjUyY2I4MGFhNjZiYTMzM2EyNTcwNDUxMmFmMzQ2NjMzYzY4IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3ppcC9nemlwXzEuOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2d6aXAvZ3ppcF8xLjkuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE5ZjY1ODYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3ppcC9nemlwXzEuOS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLXJlcXVpcmUgZ3ppcC5pbmMKLQotTElDRU5TRSA9ICJHUEx2MysiCi0KLVNSQ19VUkkgPSAiJHtHTlVfTUlSUk9SfS9nemlwLyR7QlB9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAotICAgICAgICAgICBmaWxlOi8vZ251bGliLnBhdGNoIFwKLSAgICAgICAgICAiCi1TUkNfVVJJX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIGZpbGU6Ly93cm9uZy1wYXRoLWZpeC5wYXRjaCIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3ppcC5oO2JlZ2lubGluZT04O2VuZGxpbmU9MjA7bWQ1PTZlNDdjYWFhNjMwZTBjOGJmOWYxYmM4ZDk0YThlZDBlIgotCi1QUk9WSURFU19hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBnemlwLXJlcGxhY2VtZW50LW5hdGl2ZSIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCi0KLWluaGVyaXQgcHRlc3QKLQotZG9faW5zdGFsbF9wdGVzdCgpIHsKLQlta2RpciAtcCAke0R9JHtQVEVTVF9QQVRIfS9zcmMvYnVpbGQtYXV4Ci0JY3AgJHtTfS9idWlsZC1hdXgvdGVzdC1kcml2ZXIgJHtEfSR7UFRFU1RfUEFUSH0vc3JjL2J1aWxkLWF1eC8KLQlta2RpciAtcCAke0R9JHtQVEVTVF9QQVRIfS9zcmMvdGVzdHMKLQljcCAtciAke1N9L3Rlc3RzLyogJHtEfSR7UFRFU1RfUEFUSH0vc3JjL3Rlc3RzCi0Jc2VkIC1lICdzL15hYnNfc3JjZGlyID0gLi4qL2Fic19zcmNkaXIgPSBcLlwuLycgXAotICAgICAgICAgICAgLWUgJ3MvXnRvcF9zcmNkaXIgPSAuLiovdG9wX3NyY2RpciA9IFwuXC4vJyBcCi0gICAgICAgICAgICAtZSAncy9eR1JFUCA9IC4uKi9HUkVQID0gZ3JlcC8nICAgICAgICAgICAgIFwKLSAgICAgICAgICAgIC1lICdzL15BV0sgPSAuLiovQVdLID0gYXdrLycgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgLWUgJ3MvXnNyY2RpciA9IC4uKi9zcmNkaXIgPSBcLi8nICAgICAgICAgICBcCi0gICAgICAgICAgICAtZSAncy9eTWFrZWZpbGU6IC4uKi9NYWtlZmlsZTogLycgICAgICAgICAgIFwKLSAgICAgICAgICAgIC1lICdzLC0tc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH0sLGcnICAgXAotICAgICAgICAgICAgLWUgJ3N8JHtERUJVR19QUkVGSVhfTUFQfXx8ZycgXAotICAgICAgICAgICAgLWUgJ3M6JHtIT1NUVE9PTFNfRElSfS86OmcnICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAtZSAnczoke0JBU0VfV09SS0RJUn0vJHtNVUxUSU1BQ0hfVEFSR0VUX1NZU306OmcnIFwKLSAgICAgICAgICAgICR7Qn0vdGVzdHMvTWFrZWZpbGUgPiAke0R9JHtQVEVTVF9QQVRIfS9zcmMvdGVzdHMvTWFrZWZpbGUKLX0KLQotU1JDX1VSSVttZDVzdW1dID0gIjkyOWQ2YTZiODMyZjc1YjI4ZTNlZWVhZmIzMGMxZDliIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVkMmQzYTM0MzJlZjMyZjI0Y2RiMDYwZDI3ODgzNDUwN2I0ODFhNzVhZGVjYTE4ODUwYzczNTkyZjc3OGY2YWQiCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2hkcGFybS9oZHBhcm1fOS41Ni5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2hkcGFybS9oZHBhcm1fOS41Ni5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTc5MzJhZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9oZHBhcm0vaGRwYXJtXzkuNTYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi1TVU1NQVJZID0gIlV0aWxpdHkgZm9yIHZpZXdpbmcvbWFuaXB1bGF0aW5nIElERSBkaXNrIGRyaXZlL2RyaXZlciBwYXJhbWV0ZXJzIgotSE9NRVBBR0UgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9oZHBhcm0vIgotREVTQ1JJUFRJT04gPSAiaGRwYXJtIGlzIGEgTGludXggc2hlbGwgdXRpbGl0eSBmb3Igdmlld2luZyBcCi1hbmQgbWFuaXB1bGF0aW5nIHZhcmlvdXMgSURFIGRyaXZlIGFuZCBkcml2ZXIgcGFyYW1ldGVycy4iCi1TRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCi0KLUxJQ0VOU0UgPSAiQlNEICYgR1BMdjIiCi1MSUNFTlNFXyR7UE59ID0gIkJTRCIKLUxJQ0VOU0VfJHtQTn0tZGJnID0gIkJTRCIKLUxJQ0VOU0Vfd2lwZXIgPSAiR1BMdjIiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UuVFhUO21kNT00OTVkMDNlNTBkYzZjODlkNmEzMDEwN2FiMGRmNWIwMyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vY29weXJpZ2h0O21kNT1hODJkN2JhM2FkZTllOGVjOTAyNzQ5ZGI5OGM1OTJmMyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly93aXBlci9HUEx2Mi50eHQ7bWQ1PWZjYjAyZGM1NTJhMDQxZGVlMjdlNGI4NWM3Mzk2MDY3IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3dpcGVyL3dpcGVyLnNoO2JlZ2lubGluZT03O2VuZGxpbmU9MzE7bWQ1PWI3YmM2NDJhZGRjMTUyZWEzMDc1MDViZjFhMjk2ZjA5IgotCi0KLVBBQ0tBR0VTID0rICJ3aXBlciIKLQotRklMRVNfd2lwZXIgPSAiJHtiaW5kaXJ9L3dpcGVyLnNoIgotCi1SREVQRU5EU193aXBlciA9ICJiYXNoIGdhd2sgY29yZXV0aWxzIgotCi1TUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9oZHBhcm0vJHtCUH0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL3dpcGVyLnNoLWZpeC1zdGF0LXBhdGgucGF0Y2ggXAotICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gIjc5MDA2MDhlMzI4MzRmNjVkMjY1NGZkYjY5NmU3MWEwIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZmZjllZDY5NWYxMDE3Mzk2ZWVjNDEwMWY5OTBmMTE0YjdiMGUwYTA0YzVhYTYzNjljMDM5NDA1M2QxNmU0ZGEiCi0KLUVYVFJBX09FTUFLRSA9ICdTVFJJUD0iZWNobyIgTERGTEFHUz0iJHtMREZMQUdTfSInCi0KLWluaGVyaXQgdXBkYXRlLWFsdGVybmF0aXZlcwotCi1BTFRFUk5BVElWRV8ke1BOfSA9ICJoZHBhcm0iCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbaGRwYXJtXSA9ICIke2Jhc2Vfc2JpbmRpcn0vaGRwYXJtIgotQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgotCi1kb19pbnN0YWxsICgpIHsKLQlpbnN0YWxsIC1kICR7RH0vJHtiYXNlX3NiaW5kaXJ9ICR7RH0vJHttYW5kaXJ9L21hbjggJHtEfS8ke2JpbmRpcn0KLQlvZV9ydW5tYWtlICdERVNURElSPSR7RH0nICdzYmluZGlyPSR7YmFzZV9zYmluZGlyfScgaW5zdGFsbAotCWNwICR7U30vd2lwZXIvd2lwZXIuc2ggJHtEfS8ke2JpbmRpcn0KLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2hkcGFybS9oZHBhcm1fOS41OC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2hkcGFybS9oZHBhcm1fOS41OC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNDdkZWRhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvaGRwYXJtL2hkcGFybV85LjU4LmJiCkBAIC0wLDAgKzEsNDMgQEAKK1NVTU1BUlkgPSAiVXRpbGl0eSBmb3Igdmlld2luZy9tYW5pcHVsYXRpbmcgSURFIGRpc2sgZHJpdmUvZHJpdmVyIHBhcmFtZXRlcnMiCitIT01FUEFHRSA9ICJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2hkcGFybS8iCitERVNDUklQVElPTiA9ICJoZHBhcm0gaXMgYSBMaW51eCBzaGVsbCB1dGlsaXR5IGZvciB2aWV3aW5nIFwKK2FuZCBtYW5pcHVsYXRpbmcgdmFyaW91cyBJREUgZHJpdmUgYW5kIGRyaXZlciBwYXJhbWV0ZXJzLiIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKKworTElDRU5TRSA9ICJCU0QgJiBHUEx2MiIKK0xJQ0VOU0VfJHtQTn0gPSAiQlNEIgorTElDRU5TRV8ke1BOfS1kYmcgPSAiQlNEIgorTElDRU5TRV93aXBlciA9ICJHUEx2MiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS5UWFQ7bWQ1PTQ5NWQwM2U1MGRjNmM4OWQ2YTMwMTA3YWIwZGY1YjAzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2RlYmlhbi9jb3B5cmlnaHQ7bWQ1PWE4MmQ3YmEzYWRlOWU4ZWM5MDI3NDlkYjk4YzU5MmYzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3dpcGVyL0dQTHYyLnR4dDttZDU9ZmNiMDJkYzU1MmEwNDFkZWUyN2U0Yjg1YzczOTYwNjcgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vd2lwZXIvd2lwZXIuc2g7YmVnaW5saW5lPTc7ZW5kbGluZT0zMTttZDU9YjdiYzY0MmFkZGMxNTJlYTMwNzUwNWJmMWEyOTZmMDkiCisKKworUEFDS0FHRVMgPSsgIndpcGVyIgorCitGSUxFU193aXBlciA9ICIke2JpbmRpcn0vd2lwZXIuc2giCisKK1JERVBFTkRTX3dpcGVyID0gImJhc2ggZ2F3ayBjb3JldXRpbHMiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2hkcGFybS8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vd2lwZXIuc2gtZml4LXN0YXQtcGF0aC5wYXRjaCBcCisgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDY1MmM0OWNmMDk2YTY0NjgzYzA1ZjU0YjRmYTQ2NzkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOWFlNzhlODgzZjNjZTA3MWQzMmVlMGYxYjlhMjg0NWE2MzRmYzRkZDk0YTQzNGU2NTNmZGJlZjU1MWM1ZTEwZiIKKworRVhUUkFfT0VNQUtFID0gJ1NUUklQPSJlY2hvIiBMREZMQUdTPSIke0xERkxBR1N9IicKKworaW5oZXJpdCB1cGRhdGUtYWx0ZXJuYXRpdmVzCisKK0FMVEVSTkFUSVZFXyR7UE59ID0gImhkcGFybSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtoZHBhcm1dID0gIiR7YmFzZV9zYmluZGlyfS9oZHBhcm0iCitBTFRFUk5BVElWRV9QUklPUklUWSA9ICIxMDAiCisKK2RvX2luc3RhbGwgKCkgeworCWluc3RhbGwgLWQgJHtEfS8ke2Jhc2Vfc2JpbmRpcn0gJHtEfS8ke21hbmRpcn0vbWFuOCAke0R9LyR7YmluZGlyfQorCW9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgJ3NiaW5kaXI9JHtiYXNlX3NiaW5kaXJ9JyBpbnN0YWxsCisJY3AgJHtTfS93aXBlci93aXBlci5zaCAke0R9LyR7YmluZGlyfQorfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvaW1hZ2VzL2NvcmUtaW1hZ2Uta2VybmVsLWRldi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2ltYWdlcy9jb3JlLWltYWdlLWtlcm5lbC1kZXYuYmIKaW5kZXggYTQwYjNhYS4uNGQxNmRhMSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvaW1hZ2VzL2NvcmUtaW1hZ2Uta2VybmVsLWRldi5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9pbWFnZXMvY29yZS1pbWFnZS1rZXJuZWwtZGV2LmJiCkBAIC0xMSw2ICsxMSw3IEBACiBDT1JFX0lNQUdFX0VYVFJBX0lOU1RBTEwgKz0gIiR7S0VSTkVMX0RFVl9NT0RVTEV9IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtLRVJORUxfREVWX1VUSUxTfSBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7S0VSTkVMX0RFVl9UT09MU30gXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeXN0ZW10YXAgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKIAogIyBXZSBuZWVkIGV4dHJhIHNwYWNlIGZvciB0aGluZ3MgbGlrZSBrZXJuZWwgYnVpbGRzLCBldGMuCkBAIC0xOCwzICsxOSw1IEBACiAKICMgTGV0J3MgZGVmaW5lIG91ciBvd24gc3Vic2V0IHRvIHRlc3QsIHdlIGNhbiBsYXRlciBhZGQgYSBvbi10YXJnZXQga2VybmVsIGJ1aWxkIGV2ZW4hCiBERUZBVUxUX1RFU1RfU1VJVEVTID0gInBpbmcgc3NoIGRmIGNvbm5tYW4gc3lzbG9nIHNjcCBkYXRlIHBhcnNlbG9ncyIKKworSU1BR0VfRkVBVFVSRVMgKz0gInRvb2xzLXByb2ZpbGUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9pcHRhYmxlcy9pcHRhYmxlc18xLjYuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2lwdGFibGVzL2lwdGFibGVzXzEuNi4yLmJiCmluZGV4IGUwMDgyNGYuLmE1N2NhYzMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2lwdGFibGVzL2lwdGFibGVzXzEuNi4yLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2lwdGFibGVzL2lwdGFibGVzXzEuNi4yLmJiCkBAIC0zOSw3ICszOSw3IEBACiBQQUNLQUdFU19EWU5BTUlDICs9ICJeJHtQTn0tbW9kdWxlLS4qIgogCiBweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCgpIHsKLSAgICBtb2R1bGVzID0gZG9fc3BsaXRfcGFja2FnZXMoZCwgJyR7bGliZGlyfS94dGFibGVzJywgJ2xpYiguKilcLnNvJCcsICcke1BOfS1tb2R1bGUtJXMnLCAnJHtQTn0gbW9kdWxlICVzJywgZXh0cmFfZGVwZW5kcz0nJykKKyAgICBtb2R1bGVzID0gZG9fc3BsaXRfcGFja2FnZXMoZCwgJyR7bGliZGlyfS94dGFibGVzJywgcidsaWIoLiopXC5zbyQnLCAnJHtQTn0tbW9kdWxlLSVzJywgJyR7UE59IG1vZHVsZSAlcycsIGV4dHJhX2RlcGVuZHM9JycpCiAgICAgaWYgbW9kdWxlczoKICAgICAgICAgbWV0YXBrZyA9IGQuZ2V0VmFyKCdQTicpICsgJy1tb2R1bGVzJwogICAgICAgICBkLmFwcGVuZFZhcignUkRFUEVORFNfJyArIG1ldGFwa2csICcgJyArICcgJy5qb2luKG1vZHVsZXMpKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGVzcy9sZXNzXzUzMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xlc3MvbGVzc181MzAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMwN2IxMjEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGVzcy9sZXNzXzUzMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLVNVTU1BUlkgPSAiVGV4dCBmaWxlIHZpZXdlciBzaW1pbGFyIHRvIG1vcmUiCi1ERVNDUklQVElPTiA9ICJMZXNzIGlzIGEgcHJvZ3JhbSBzaW1pbGFyIHRvIG1vcmUsIGkuZS4gYSB0ZXJtaW5hbCBcCi1iYXNlZCBwcm9ncmFtIGZvciB2aWV3aW5nIHRleHQgZmlsZXMgYW5kIHRoZSBvdXRwdXQgZnJvbSBvdGhlciBcCi1wcm9ncmFtcy4gTGVzcyBvZmZlcnMgbWFueSBmZWF0dXJlcyBiZXlvbmQgdGhvc2UgdGhhdCBtb3JlIGRvZXMuIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5ncmVlbndvb2Rzb2Z0d2FyZS5jb20vIgotU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgotCi0jIChHUEx2MisgKDw8IDQxOCksIEdQTHYzKyAoPj0gNDE4KSkgfCBsZXNzCi0jIEluY2x1ZGluZyBlbWFpbCBhdXRob3IgZ2l2aW5nIHBlcm1pc3NpbmcgdG8gdXNlIEJTRAotIwotIyBGcm9tOiBNYXJrIE51ZGVsbWFuIDxtYXJrbkBncmVlbndvb2Rzb2Z0d2FyZS5jb20+Ci0jIFRvOiBFbGl6YWJldGggRmxhbmFnYW4gPGVsaXphYmV0aC5mbGFuYWdhbkBpbnRlbC5jb20KLSMgRGF0ZTogMTIvMTkvMTEKLSMKLSMgSGkgRWxpemFiZXRoLAotIyBVc2luZyBhIGdlbmVyaWMgQlNEIGxpY2Vuc2UgZm9yIGxlc3MgaXMgZmluZSB3aXRoIG1lLgotIyBUaGFua3MsCi0jCi0jIC0tTWFyawotIwotCi1MSUNFTlNFID0gIkdQTHYzKyB8IEJTRC0yLUNsYXVzZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0U7bWQ1PTJlZjNlNGI4ZGFmYzg1NjEyYmM1MjU0YjgwODFlMjM0IgotREVQRU5EUyA9ICJuY3Vyc2VzIgotCi1TUkNfVVJJID0gImh0dHA6Ly93d3cuZ3JlZW53b29kc29mdHdhcmUuY29tLyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmd6IFwKLQkgICIKLQotU1JDX1VSSVttZDVzdW1dID0gIjZhMzliY2NmNDIwYzk0NmIwZmQ3ZmZjNjQ5NjEzMTViIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjUwM2Y5MWFiMGFmNDg0NmYzNGYwNDQ0YWI3MWM0YjI4NjEyM2YwMDQ0YTQ5NjRmMWFlNzgxNDg2YzYxN2YyZTIiCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8vd3d3LmdyZWVud29vZHNvZnR3YXJlLmNvbS9sZXNzL2Rvd25sb2FkLmh0bWwiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHVwZGF0ZS1hbHRlcm5hdGl2ZXMKLQotZG9faW5zdGFsbCAoKSB7Ci0gICAgICAgIG9lX3J1bm1ha2UgJ2JpbmRpcj0ke0R9JHtiaW5kaXJ9JyAnbWFuZGlyPSR7RH0ke21hbmRpcn0nIGluc3RhbGwKLX0KLQotQUxURVJOQVRJVkVfJHtQTn0gPSAibGVzcyIKLUFMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjEwMCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xlc3MvbGVzc181NTAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sZXNzL2xlc3NfNTUwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiMTYxOGYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sZXNzL2xlc3NfNTUwLmJiCkBAIC0wLDAgKzEsNDMgQEAKK1NVTU1BUlkgPSAiVGV4dCBmaWxlIHZpZXdlciBzaW1pbGFyIHRvIG1vcmUiCitERVNDUklQVElPTiA9ICJMZXNzIGlzIGEgcHJvZ3JhbSBzaW1pbGFyIHRvIG1vcmUsIGkuZS4gYSB0ZXJtaW5hbCBcCitiYXNlZCBwcm9ncmFtIGZvciB2aWV3aW5nIHRleHQgZmlsZXMgYW5kIHRoZSBvdXRwdXQgZnJvbSBvdGhlciBcCitwcm9ncmFtcy4gTGVzcyBvZmZlcnMgbWFueSBmZWF0dXJlcyBiZXlvbmQgdGhvc2UgdGhhdCBtb3JlIGRvZXMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5ncmVlbndvb2Rzb2Z0d2FyZS5jb20vIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorCisjIChHUEx2MisgKDw8IDQxOCksIEdQTHYzKyAoPj0gNDE4KSkgfCBsZXNzCisjIEluY2x1ZGluZyBlbWFpbCBhdXRob3IgZ2l2aW5nIHBlcm1pc3NpbmcgdG8gdXNlIEJTRAorIworIyBGcm9tOiBNYXJrIE51ZGVsbWFuIDxtYXJrbkBncmVlbndvb2Rzb2Z0d2FyZS5jb20+CisjIFRvOiBFbGl6YWJldGggRmxhbmFnYW4gPGVsaXphYmV0aC5mbGFuYWdhbkBpbnRlbC5jb20KKyMgRGF0ZTogMTIvMTkvMTEKKyMKKyMgSGkgRWxpemFiZXRoLAorIyBVc2luZyBhIGdlbmVyaWMgQlNEIGxpY2Vuc2UgZm9yIGxlc3MgaXMgZmluZSB3aXRoIG1lLgorIyBUaGFua3MsCisjCisjIC0tTWFyaworIworCitMSUNFTlNFID0gIkdQTHYzKyB8IEJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0U7bWQ1PWJhMDFkMGNhYjdmNjJmN2YyMjA0Yzc3ODBmZjZhODdkIFwKKyAgICAgICAgICAgICAgICAgICAgIgorREVQRU5EUyA9ICJuY3Vyc2VzIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuZ3JlZW53b29kc29mdHdhcmUuY29tLyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmd6IFwKKwkgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjhjYWZmODhlMzRhZmZmNTEyYjY2M2Q3YzY5MGJkMmNmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZhNTM2MzlmMDhkN2VkMDViNmUxMDRiODJjMzIxOTNmNzlhYzAxYTNlZGRiMjBlMTE0ZTFjMjYxOTQ4YmQ1N2IiCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8vd3d3LmdyZWVud29vZHNvZnR3YXJlLmNvbS9sZXNzL2Rvd25sb2FkLmh0bWwiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHVwZGF0ZS1hbHRlcm5hdGl2ZXMKKworZG9faW5zdGFsbCAoKSB7CisgICAgICAgIG9lX3J1bm1ha2UgJ2JpbmRpcj0ke0R9JHtiaW5kaXJ9JyAnbWFuZGlyPSR7RH0ke21hbmRpcn0nIGluc3RhbGwKK30KKworQUxURVJOQVRJVkVfJHtQTn0gPSAibGVzcyIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjEwMCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmFyY2hpdmUvbGliYXJjaGl2ZS9DVkUtMjAxOC0xMDAwODc3LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlL0NWRS0yMDE4LTEwMDA4NzcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2U2MzgzNwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmFyY2hpdmUvbGliYXJjaGl2ZS9DVkUtMjAxOC0xMDAwODc3LnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK0NWRTogQ1ZFLTIwMTgtMTAwMDg3NworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworRnJvbSAwMjFlZmE1MjJhZDcyOWZmMGY1ODA2YzRjZTUzZTRhNmNjMWRhYTMxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRGFuaWVsIEF4dGVucyA8ZGphQGF4dGVucy5uZXQ+CitEYXRlOiBUdWUsIDIwIE5vdiAyMDE4IDE3OjU2OjI5ICsxMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEF2b2lkIGEgZG91YmxlLWZyZWUgd2hlbiBhIHdpbmRvdyBzaXplIG9mIDAgaXMgc3BlY2lmaWVkCisKK25ld19zaXplIGNhbiBiZSAwIHdpdGggYSBtYWxpY2lvdXMgb3IgY29ycnVwdGVkIFJBUiBhcmNoaXZlLgorCityZWFsbG9jKGFyZWEsIDApIGlzIGVxdWl2YWxlbnQgdG8gZnJlZShhcmVhKSwgc28gdGhlIHJlZ2lvbiB3b3VsZAorYmUgZnJlZSgpZCBoZXJlIGFuZCB0aGUgZnJlZSgpZCBhZ2FpbiBpbiB0aGUgY2xlYW51cCBmdW5jdGlvbi4KKworRm91bmQgd2l0aCBhIHNldHVwIHJ1bm5pbmcgQUZMLCBhZmwtcmIsIGFuZCBxc3ltLgorLS0tCisgbGliYXJjaGl2ZS9hcmNoaXZlX3JlYWRfc3VwcG9ydF9mb3JtYXRfcmFyLmMgfCA1ICsrKysrCisgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvbGliYXJjaGl2ZS9hcmNoaXZlX3JlYWRfc3VwcG9ydF9mb3JtYXRfcmFyLmMgYi9saWJhcmNoaXZlL2FyY2hpdmVfcmVhZF9zdXBwb3J0X2Zvcm1hdF9yYXIuYworaW5kZXggMjM0NTIyMjIuLjZmNDE5YzI3IDEwMDY0NAorLS0tIGEvbGliYXJjaGl2ZS9hcmNoaXZlX3JlYWRfc3VwcG9ydF9mb3JtYXRfcmFyLmMKKysrKyBiL2xpYmFyY2hpdmUvYXJjaGl2ZV9yZWFkX3N1cHBvcnRfZm9ybWF0X3Jhci5jCitAQCAtMjMwMCw2ICsyMzAwLDExIEBAIHBhcnNlX2NvZGVzKHN0cnVjdCBhcmNoaXZlX3JlYWQgKmEpCisgICAgICAgbmV3X3NpemUgPSBESUNUSU9OQVJZX01BWF9TSVpFOworICAgICBlbHNlCisgICAgICAgbmV3X3NpemUgPSByYXJfZmxzKCh1bnNpZ25lZCBpbnQpcmFyLT51bnBfc2l6ZSkgPDwgMTsKKysgICAgaWYgKG5ld19zaXplID09IDApIHsKKysgICAgICBhcmNoaXZlX3NldF9lcnJvcigmYS0+YXJjaGl2ZSwgQVJDSElWRV9FUlJOT19GSUxFX0ZPUk1BVCwKKysgICAgICAgICAgICAgICAgICAgICAgICAiWmVybyB3aW5kb3cgc2l6ZSBpcyBpbnZhbGlkLiIpOworKyAgICAgIHJldHVybiAoQVJDSElWRV9GQVRBTCk7CisrICAgIH0KKyAgICAgbmV3X3dpbmRvdyA9IHJlYWxsb2MocmFyLT5senNzLndpbmRvdywgbmV3X3NpemUpOworICAgICBpZiAobmV3X3dpbmRvdyA9PSBOVUxMKSB7CisgICAgICAgYXJjaGl2ZV9zZXRfZXJyb3IoJmEtPmFyY2hpdmUsIEVOT01FTSwKKy0tIAorMi4yMC4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmFyY2hpdmUvbGliYXJjaGl2ZS9DVkUtMjAxOC0xMDAwODc4LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlL0NWRS0yMDE4LTEwMDA4NzgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzQ2OGZkMwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmFyY2hpdmUvbGliYXJjaGl2ZS9DVkUtMjAxOC0xMDAwODc4LnBhdGNoCkBAIC0wLDAgKzEsNzkgQEAKK0NWRTogQ1ZFLTIwMTgtMTAwMDg3OAorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworRnJvbSBiZmNmZTZmMDRlZDIwZGIyNTA0ZGI4YTI1NGQxZjQwYTFkODRlYjI4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRGFuaWVsIEF4dGVucyA8ZGphQGF4dGVucy5uZXQ+CitEYXRlOiBUdWUsIDQgRGVjIDIwMTggMDA6NTU6MjIgKzExMDAKK1N1YmplY3Q6IFtQQVRDSF0gcmFyOiBmaWxlIHNwbGl0IGFjcm9zcyBtdWx0aS1wYXJ0IGFyY2hpdmVzIG11c3QgbWF0Y2gKKworRnV6emluZyB1bmNvdmVyZWQgc29tZSBVQUYgYW5kIG1lbW9yeSBvdmVycnVuIGJ1Z3Mgd2hlcmUgYSBmaWxlIGluIGEKK3NpbmdsZSBmaWxlIGFyY2hpdmUgcmVwb3J0ZWQgdGhhdCBpdCB3YXMgc3BsaXQgYWNyb3NzIG11bHRpcGxlCit2b2x1bWVzLiBUaGlzIHdhcyBjYXVzZWQgYnkgcHBtZDcgb3BlcmF0aW9ucyBjYWxsaW5nCityYXJfYnJfZmlsbHVwLiBUaGlzIHdvdWxkIGludm9rZSByYXJfcmVhZF9haGVhZCwgd2hpY2ggd291bGQgaW4gc29tZQorc2l0dWF0aW9ucyBpbnZva2UgYXJjaGl2ZV9yZWFkX2Zvcm1hdF9yYXJfcmVhZF9oZWFkZXIuICBUaGF0IHdvdWxkCitjaGVjayB0aGUgbmV3IGZpbGUgbmFtZSBhZ2FpbnN0IHRoZSBvbGQgZmlsZSBuYW1lLCBhbmQgaWYgdGhleSBkaWRuJ3QKK21hdGNoIHVwIGl0IHdvdWxkIGZyZWUgdGhlIHBwbWQ3IGJ1ZmZlciBhbmQgYWxsb2NhdGUgYSBuZXcKK29uZS4gSG93ZXZlciwgYmVjYXVzZSB0aGUgcHBtZDcgZGVjb2RlciB3YXNuJ3QgYWN0dWFsbHkgZG9uZSB3aXRoIHRoZQorYnVmZmVyLCBpdCB3b3VsZCBjb250aW51ZSB0byB1c2VkIHRoZSBmcmVlZCBidWZmZXIuIEJvdGggcmVhZHMgYW5kCit3cml0ZXMgdG8gdGhlIGZyZWVkIHJlZ2lvbiBjYW4gYmUgb2JzZXJ2ZWQuCisKK1RoaXMgaXMgcXVpdGUgdHJpY2t5IHRvIHNvbHZlOiBvbmNlIHRoZSBidWZmZXIgaGFzIGJlZW4gZnJlZWQgaXQgaXMKK3RvbyBsYXRlLCBhcyB0aGUgcHBtZDcgZGVjb2RlciBmdW5jdGlvbnMgYWxtb3N0IHVuaXZlcnNhbGx5IGFzc3VtZQorc3VjY2VzcyAtIHRoZXJlJ3Mgbm8gd2F5IGZvciBwcG1kX3JlYWQgdG8gc2lnbmFsIGVycm9yLCBub3IgYXJlIHRoZXJlCitnb29kIHdheXMgZm9yIGZ1bmN0aW9ucyBsaWtlIFJhbmdlX05vcm1hbGlzZSB0byBwcm9wYWdhdGUgdGhlbS4gU28gd2UKK2Nhbid0IGRldGVjdCBhZnRlciB0aGUgZmFjdCB0aGF0IHdlJ3JlIGluIGFuIGludmFsaWQgc3RhdGUgLSBlLmcuIGJ5CitjaGVja2luZyByYXItPmN1cnNvciwgd2UgaGF2ZSB0byBwcmV2ZW50IG91cnNlbHZlcyBmcm9tIGV2ZXIgZW5kaW5nIHVwCit0aGVyZS4gU28sIHdoZW4gd2UgYXJlIGluIHRoZSBkYW5nZXJvdXMgcGFydCBvciByYXJfcmVhZF9haGVhZCB0aGF0Cithc3N1bWVzIGEgdmFsaWQgc3BsaXQsIHdlIHNldCBhIGZsYWcgZm9yY2UgcmVhZF9oZWFkZXIgdG8gZWl0aGVyIGdvCitkb3duIHRoZSBwYXRoIGZvciBzcGxpdCBmaWxlcyBvciBiYWlsLiBUaGlzIG1lYW5zIHRoYXQgdGhlIHBwbWQ3CitkZWNvZGVyIGtlZXBzIGEgdmFsaWQgYnVmZmVyIGFuZCBqdXN0IHJ1bnMgb3V0IG9mIGRhdGEuCisKK0ZvdW5kIHdpdGggYSBjb21iaW5hdGlvbiBvZiBBRkwsIGFmbC1yYiBhbmQgcXN5bS4KKy0tLQorIGxpYmFyY2hpdmUvYXJjaGl2ZV9yZWFkX3N1cHBvcnRfZm9ybWF0X3Jhci5jIHwgOSArKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9saWJhcmNoaXZlL2FyY2hpdmVfcmVhZF9zdXBwb3J0X2Zvcm1hdF9yYXIuYyBiL2xpYmFyY2hpdmUvYXJjaGl2ZV9yZWFkX3N1cHBvcnRfZm9ybWF0X3Jhci5jCitpbmRleCA2ZjQxOWMyNy4uYThjYzVjOTQgMTAwNjQ0CistLS0gYS9saWJhcmNoaXZlL2FyY2hpdmVfcmVhZF9zdXBwb3J0X2Zvcm1hdF9yYXIuYworKysrIGIvbGliYXJjaGl2ZS9hcmNoaXZlX3JlYWRfc3VwcG9ydF9mb3JtYXRfcmFyLmMKK0BAIC0yNTgsNiArMjU4LDcgQEAgc3RydWN0IHJhcgorICAgc3RydWN0IGRhdGFfYmxvY2tfb2Zmc2V0cyAqZGJvOworICAgdW5zaWduZWQgaW50IGN1cnNvcjsKKyAgIHVuc2lnbmVkIGludCBub2RlczsKKysgIGNoYXIgZmlsZW5hbWVfbXVzdF9tYXRjaDsKKyAKKyAgIC8qIExaU1MgbWVtYmVycyAqLworICAgc3RydWN0IGh1ZmZtYW5fY29kZSBtYWluY29kZTsKK0BAIC0xNTYwLDYgKzE1NjEsMTIgQEAgcmVhZF9oZWFkZXIoc3RydWN0IGFyY2hpdmVfcmVhZCAqYSwgc3RydWN0IGFyY2hpdmVfZW50cnkgKmVudHJ5LAorICAgICB9CisgICAgIHJldHVybiByZXQ7CisgICB9CisrICBlbHNlIGlmIChyYXItPmZpbGVuYW1lX211c3RfbWF0Y2gpCisrICB7CisrICAgIGFyY2hpdmVfc2V0X2Vycm9yKCZhLT5hcmNoaXZlLCBBUkNISVZFX0VSUk5PX0ZJTEVfRk9STUFULAorKyAgICAgICJNaXNtYXRjaCBvZiBmaWxlIHBhcnRzIHNwbGl0IGFjcm9zcyBtdWx0aS12b2x1bWUgYXJjaGl2ZSIpOworKyAgICByZXR1cm4gKEFSQ0hJVkVfRkFUQUwpOworKyAgfQorIAorICAgcmFyLT5maWxlbmFtZV9zYXZlID0gKGNoYXIqKXJlYWxsb2MocmFyLT5maWxlbmFtZV9zYXZlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZW5hbWVfc2l6ZSArIDEpOworQEAgLTI5MzMsMTIgKzI5NDAsMTQgQEAgcmFyX3JlYWRfYWhlYWQoc3RydWN0IGFyY2hpdmVfcmVhZCAqYSwgc2l6ZV90IG1pbiwgc3NpemVfdCAqYXZhaWwpCisgICAgIGVsc2UgaWYgKCphdmFpbCA9PSAwICYmIHJhci0+bWFpbl9mbGFncyAmIE1IRF9WT0xVTUUgJiYKKyAgICAgICByYXItPmZpbGVfZmxhZ3MgJiBGSERfU1BMSVRfQUZURVIpCisgICAgIHsKKysgICAgICByYXItPmZpbGVuYW1lX211c3RfbWF0Y2ggPSAxOworICAgICAgIHJldCA9IGFyY2hpdmVfcmVhZF9mb3JtYXRfcmFyX3JlYWRfaGVhZGVyKGEsIGEtPmVudHJ5KTsKKyAgICAgICBpZiAocmV0ID09IChBUkNISVZFX0VPRikpCisgICAgICAgeworICAgICAgICAgcmFyLT5oYXNfZW5kYXJjX2hlYWRlciA9IDE7CisgICAgICAgICByZXQgPSBhcmNoaXZlX3JlYWRfZm9ybWF0X3Jhcl9yZWFkX2hlYWRlcihhLCBhLT5lbnRyeSk7CisgICAgICAgfQorKyAgICAgIHJhci0+ZmlsZW5hbWVfbXVzdF9tYXRjaCA9IDA7CisgICAgICAgaWYgKHJldCAhPSAoQVJDSElWRV9PSykpCisgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICByZXR1cm4gcmFyX3JlYWRfYWhlYWQoYSwgbWluLCBhdmFpbCk7CistLSAKKzIuMjAuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJhcmNoaXZlL2xpYmFyY2hpdmUvQ1ZFLTIwMTgtMTAwMDg3OS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmFyY2hpdmUvbGliYXJjaGl2ZS9DVkUtMjAxOC0xMDAwODc5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmMjU5MzIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJhcmNoaXZlL2xpYmFyY2hpdmUvQ1ZFLTIwMTgtMTAwMDg3OS5wYXRjaApAQCAtMCwwICsxLDUwIEBACitDVkU6IENWRS0yMDE4LTEwMDA4NzkKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK0Zyb20gMTViZjQ0ZmQyYzFhZDBlM2ZkODcwNDhiM2ZjYzkwYzRkY2ZmMTE3NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IERhbmllbCBBeHRlbnMgPGRqYUBheHRlbnMubmV0PgorRGF0ZTogVHVlLCA0IERlYyAyMDE4IDE0OjI5OjQyICsxMTAwCitTdWJqZWN0OiBbUEFUQ0hdIFNraXAgMC1sZW5ndGggQUNMIGZpZWxkcworCitDdXJyZW50bHksIGl0IGlzIHBvc3NpYmxlIHRvIGNyZWF0ZSBhbiBhcmNoaXZlIHRoYXQgY3Jhc2hlcyBic2R0YXIKK3dpdGggYSBtYWxmb3JtZWQgQUNMOgorCitQcm9ncmFtIHJlY2VpdmVkIHNpZ25hbCBTSUdTRUdWLCBTZWdtZW50YXRpb24gZmF1bHQuCithcmNoaXZlX2FjbF9mcm9tX3RleHRfbCAoYWNsPTxvcHRpbWlzZWQgb3V0PiwgdGV4dD0weDdlMmU5MiAiIiwgd2FudF90eXBlPTxvcHRpbWlzZWQgb3V0Piwgc2M9PG9wdGltaXNlZCBvdXQ+KSBhdCBsaWJhcmNoaXZlL2FyY2hpdmVfYWNsLmM6MTcyNgorMTcyNgkJCQlzd2l0Y2ggKCpzKSB7CisoZ2RiKSBwIG4KKyQxID0gMQorKGdkYikgcCBmaWVsZFtuXQorJDIgPSB7c3RhcnQgPSAweDAsIGVuZCA9IDB4MH0KKworU3RvcCB0aGlzIGJ5IGNoZWNraW5nIHRoYXQgdGhlIGxlbmd0aCBpcyBub3QgemVybyBiZWZvcmUgYmVnaW5uaW5nCit0aGUgc3dpdGNoIHN0YXRlbWVudC4KKworSSBhbSBwcmV0dHkgc3VyZSB0aGlzIGlzIHRoZSBidWcgbWVudGlvbmVkIGluIHRoZSBxc3ltIHBhcGVyIFsxXSwKK2FuZCBJIHdhcyBhYmxlIHRvIHJlcGxpY2F0ZSBpdCB3aXRoIGEgcXN5bSArIEFGTCArIGFmbC1yYiBzZXR1cC4KKworWzFdIGh0dHBzOi8vd3d3LnVzZW5peC5vcmcvY29uZmVyZW5jZS91c2VuaXhzZWN1cml0eTE4L3ByZXNlbnRhdGlvbi95dW4KKy0tLQorIGxpYmFyY2hpdmUvYXJjaGl2ZV9hY2wuYyB8IDUgKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9saWJhcmNoaXZlL2FyY2hpdmVfYWNsLmMgYi9saWJhcmNoaXZlL2FyY2hpdmVfYWNsLmMKK2luZGV4IDUxMmJlZWUxLi43YmVlZWU4NiAxMDA2NDQKKy0tLSBhL2xpYmFyY2hpdmUvYXJjaGl2ZV9hY2wuYworKysrIGIvbGliYXJjaGl2ZS9hcmNoaXZlX2FjbC5jCitAQCAtMTcyMyw2ICsxNzIzLDExIEBAIGFyY2hpdmVfYWNsX2Zyb21fdGV4dF9sKHN0cnVjdCBhcmNoaXZlX2FjbCAqYWNsLCBjb25zdCBjaGFyICp0ZXh0LAorIAkJCXN0ID0gZmllbGRbbl0uc3RhcnQgKyAxOworIAkJCWxlbiA9IGZpZWxkW25dLmVuZCAtIGZpZWxkW25dLnN0YXJ0OworIAorKwkJCWlmIChsZW4gPT0gMCkgeworKwkJCQlyZXQgPSBBUkNISVZFX1dBUk47CisrCQkJCWNvbnRpbnVlOworKwkJCX0KKysKKyAJCQlzd2l0Y2ggKCpzKSB7CisgCQkJY2FzZSAndSc6CisgCQkJCWlmIChsZW4gPT0gMSB8fCAobGVuID09IDQKKy0tIAorMi4yMC4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmFyY2hpdmUvbGliYXJjaGl2ZS9DVkUtMjAxOC0xMDAwODgwLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlL0NWRS0yMDE4LTEwMDA4ODAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmMyNjRhMQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmFyY2hpdmUvbGliYXJjaGl2ZS9DVkUtMjAxOC0xMDAwODgwLnBhdGNoCkBAIC0wLDAgKzEsNDQgQEAKK0NWRTogQ1ZFLTIwMTgtMTAwMDg4MAorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworRnJvbSA5Yzg0Yjc0MjY2NjBjMDljMThjYzM0OWY2ZDcwYjVmODE2OGI1NjgwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRGFuaWVsIEF4dGVucyA8ZGphQGF4dGVucy5uZXQ+CitEYXRlOiBUdWUsIDQgRGVjIDIwMTggMTY6MzM6NDIgKzExMDAKK1N1YmplY3Q6IFtQQVRDSF0gd2FyYzogY29uc3VtZSBkYXRhIG9uY2UgcmVhZAorCitUaGUgd2FyYyBkZWNvZGVyIG9ubHkgdXNlZCByZWFkIGFoZWFkLCBpdCB3b3VsZG4ndCBhY3R1YWxseSBjb25zdW1lCitkYXRhIHRoYXQgaGFkIHByZXZpb3VzbHkgYmVlbiBwcmludGVkLiBUaGlzIG1lYW5zIHRoYXQgaWYgeW91IHNwZWNpZnkKK2FuIGludmFsaWQgY29udGVudCBsZW5ndGgsIGl0IHdpbGwganVzdCByZXByaW50IHRoZSBzYW1lIGRhdGEgb3ZlcgorYW5kIG92ZXIgYW5kIG92ZXIgYWdhaW4gdW50aWwgaXQgaGl0cyB0aGUgZGVzaXJlZCBsZW5ndGguCisKK1RoaXMgbWVhbnMgdGhhdCBhIFdBUkMgcmVzb3VyY2Ugd2l0aCBlLmcuCitDb250ZW50LUxlbmd0aDogNjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY1CitidXQgb25seSBhIGZldyBodW5kcmVkIGJ5dGVzIG9mIGRhdGEsIGNhdXNlcyBhIHF1YXNpLWluZmluaXRlIGxvb3AuCisKK0NvbnN1bWUgZGF0YSBpbiBzdWJzZXF1ZW50IGNhbGxzIHRvIF93YXJjX3JlYWQuCisKK0ZvdW5kIHdpdGggYW4gQUZMICsgYWZsLXJiICsgcXN5bSBzZXR1cC4KKy0tLQorIGxpYmFyY2hpdmUvYXJjaGl2ZV9yZWFkX3N1cHBvcnRfZm9ybWF0X3dhcmMuYyB8IDUgKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9saWJhcmNoaXZlL2FyY2hpdmVfcmVhZF9zdXBwb3J0X2Zvcm1hdF93YXJjLmMgYi9saWJhcmNoaXZlL2FyY2hpdmVfcmVhZF9zdXBwb3J0X2Zvcm1hdF93YXJjLmMKK2luZGV4IGU4NzUzODUzLi5lOGZjODQyOCAxMDA2NDQKKy0tLSBhL2xpYmFyY2hpdmUvYXJjaGl2ZV9yZWFkX3N1cHBvcnRfZm9ybWF0X3dhcmMuYworKysrIGIvbGliYXJjaGl2ZS9hcmNoaXZlX3JlYWRfc3VwcG9ydF9mb3JtYXRfd2FyYy5jCitAQCAtMzg2LDYgKzM4NiwxMSBAQCBfd2FyY19yZWFkKHN0cnVjdCBhcmNoaXZlX3JlYWQgKmEsIGNvbnN0IHZvaWQgKipidWYsIHNpemVfdCAqYnN6LCBpbnQ2NF90ICpvZmYpCisgCQlyZXR1cm4gKEFSQ0hJVkVfRU9GKTsKKyAJfQorIAorKwlpZiAody0+dW5jb25zdW1lZCkgeworKwkJX19hcmNoaXZlX3JlYWRfY29uc3VtZShhLCB3LT51bmNvbnN1bWVkKTsKKysJCXctPnVuY29uc3VtZWQgPSAwVTsKKysJfQorKworIAlyYWIgPSBfX2FyY2hpdmVfcmVhZF9haGVhZChhLCAxVSwgJm5yZCk7CisgCWlmIChucmQgPCAwKSB7CisgCQkqYnN6ID0gMFU7CistLSAKKzIuMjAuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJhcmNoaXZlL2xpYmFyY2hpdmUvQ1ZFLTIwMTktMTAwMDAxOS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmFyY2hpdmUvbGliYXJjaGl2ZS9DVkUtMjAxOS0xMDAwMDE5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmMzk4OTMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJhcmNoaXZlL2xpYmFyY2hpdmUvQ1ZFLTIwMTktMTAwMDAxOS5wYXRjaApAQCAtMCwwICsxLDU5IEBACitDVkU6IENWRS0yMDE5LTEwMDAwMTkKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK0Zyb20gNjVhMjNmNWRiZWU0NDk3MDY0ZTliYjQ2N2Y4MTEzOGE2MmIwZGFlMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IERhbmllbCBBeHRlbnMgPGRqYUBheHRlbnMubmV0PgorRGF0ZTogVHVlLCAxIEphbiAyMDE5IDE2OjAxOjQwICsxMTAwCitTdWJqZWN0OiBbUEFUQ0ggMi8yXSA3emlwOiBmaXggY3Jhc2ggd2hlbiBwYXJzaW5nIGNlcnRhaW4gYXJjaGl2ZXMKKworRnV6emluZyB3aXRoIENSQ3MgZGlzYWJsZWQgcmV2ZWFsZWQgdGhhdCBhIGNhbGwgdG8gZ2V0X3VuY29tcHJlc3NlZF9kYXRhKCkKK3dvdWxkIHNvbWV0aW1lcyBmYWlsIHRvIHJldHVybiBhdCBsZWFzdCAnbWluaW11bScgYnl0ZXMuIFRoaXMgY2FuIGNhdXNlCit0aGUgY3JjMzIoKSBpbnZvY2F0aW9uIGluIGhlYWRlcl9ieXRlcyB0byByZWFkIG9mZiBpbnRvIGludmFsaWQgbWVtb3J5LgorCitBIHNwZWNpYWxseSBjcmFmdGVkIGFyY2hpdmUgY2FuIHVzZSB0aGlzIHRvIGNhdXNlIGEgY3Jhc2guCisKK0FuIEFTQU4gdHJhY2UgaXMgYmVsb3csIGJ1dCBBU0FOIGlzIG5vdCByZXF1aXJlZCAtIGFuIHVuaW5zdHJ1bWVudGVkCitiaW5hcnkgd2lsbCBhbHNvIGNyYXNoLgorCis9PTc3MTk9PUVSUk9SOiBBZGRyZXNzU2FuaXRpemVyOiBTRUdWIG9uIHVua25vd24gYWRkcmVzcyAweDYzMTAwMDA0MDAwMCAocGMgMHg3ZmJkYjNiM2VjMWQgYnAgMHg3ZmZlNzdhNTEzMTAgc3AgMHg3ZmZlNzdhNTExNTAgVDApCis9PTc3MTk9PVRoZSBzaWduYWwgaXMgY2F1c2VkIGJ5IGEgUkVBRCBtZW1vcnkgYWNjZXNzLgorICAgICMwIDB4N2ZiZGIzYjNlYzFjIGluIGNyYzMyX3ogKC9saWIveDg2XzY0LWxpbnV4LWdudS9saWJ6LnNvLjErMHgyYzFjKQorICAgICMxIDB4ODRmNWViIGluIGhlYWRlcl9ieXRlcyAoL3RtcC9saWJhcmNoaXZlL2JzZHRhcisweDg0ZjVlYikKKyAgICAjMiAweDg1NjE1NiBpbiByZWFkX0hlYWRlciAoL3RtcC9saWJhcmNoaXZlL2JzZHRhcisweDg1NjE1NikKKyAgICAjMyAweDg0ZTEzNCBpbiBzbHVycF9jZW50cmFsX2RpcmVjdG9yeSAoL3RtcC9saWJhcmNoaXZlL2JzZHRhcisweDg0ZTEzNCkKKyAgICAjNCAweDg0OTY5MCBpbiBhcmNoaXZlX3JlYWRfZm9ybWF0Xzd6aXBfcmVhZF9oZWFkZXIgKC90bXAvbGliYXJjaGl2ZS9ic2R0YXIrMHg4NDk2OTApCisgICAgIzUgMHg1NzEzYjcgaW4gX2FyY2hpdmVfcmVhZF9uZXh0X2hlYWRlcjIgKC90bXAvbGliYXJjaGl2ZS9ic2R0YXIrMHg1NzEzYjcpCisgICAgIzYgMHg1NzBlNjMgaW4gX2FyY2hpdmVfcmVhZF9uZXh0X2hlYWRlciAoL3RtcC9saWJhcmNoaXZlL2JzZHRhcisweDU3MGU2MykKKyAgICAjNyAweDZmMDhiZCBpbiBhcmNoaXZlX3JlYWRfbmV4dF9oZWFkZXIgKC90bXAvbGliYXJjaGl2ZS9ic2R0YXIrMHg2ZjA4YmQpCisgICAgIzggMHg1MjM3M2YgaW4gcmVhZF9hcmNoaXZlICgvdG1wL2xpYmFyY2hpdmUvYnNkdGFyKzB4NTIzNzNmKQorICAgICM5IDB4NTI1N2JlIGluIHRhcl9tb2RlX3ggKC90bXAvbGliYXJjaGl2ZS9ic2R0YXIrMHg1MjU3YmUpCisgICAgIzEwIDB4NTFkYWViIGluIG1haW4gKC90bXAvbGliYXJjaGl2ZS9ic2R0YXIrMHg1MWRhZWIpCisgICAgIzExIDB4N2ZiZGIyN2NhYjk2IGluIF9fbGliY19zdGFydF9tYWluIC9idWlsZC9nbGliYy1PVHNFTDUvZ2xpYmMtMi4yNy9jc3UvLi4vY3N1L2xpYmMtc3RhcnQuYzozMTAKKyAgICAjMTIgMHg0MWRkMDkgaW4gX3N0YXJ0ICgvdG1wL2xpYmFyY2hpdmUvYnNkdGFyKzB4NDFkZDA5KQorCitUaGlzIHdhcyBwcmltYXJseSBkb25lIHdpdGggYWZsIGFuZCBGYWlyRnV6ei4gU29tZSBlYXJseSBjb3JwdXMgZW50cmllcworbWF5IGhhdmUgYmVlbiBnZW5lcmF0ZWQgYnkgcXN5bS4KKy0tLQorIGxpYmFyY2hpdmUvYXJjaGl2ZV9yZWFkX3N1cHBvcnRfZm9ybWF0Xzd6aXAuYyB8IDggKy0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDcgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWJhcmNoaXZlL2FyY2hpdmVfcmVhZF9zdXBwb3J0X2Zvcm1hdF83emlwLmMgYi9saWJhcmNoaXZlL2FyY2hpdmVfcmVhZF9zdXBwb3J0X2Zvcm1hdF83emlwLmMKK2luZGV4IGJjY2JmODk2Ni4uYjZkMTUwNWQzIDEwMDY0NAorLS0tIGEvbGliYXJjaGl2ZS9hcmNoaXZlX3JlYWRfc3VwcG9ydF9mb3JtYXRfN3ppcC5jCisrKysgYi9saWJhcmNoaXZlL2FyY2hpdmVfcmVhZF9zdXBwb3J0X2Zvcm1hdF83emlwLmMKK0BAIC0yOTY0LDEzICsyOTY0LDcgQEAgZ2V0X3VuY29tcHJlc3NlZF9kYXRhKHN0cnVjdCBhcmNoaXZlX3JlYWQgKmEsIGNvbnN0IHZvaWQgKipidWZmLCBzaXplX3Qgc2l6ZSwKKyAJaWYgKHppcC0+Y29kZWMgPT0gXzdaX0NPUFkgJiYgemlwLT5jb2RlYzIgPT0gKHVuc2lnbmVkIGxvbmcpLTEpIHsKKyAJCS8qIENvcHkgbW9kZS4gKi8KKyAKKy0JCS8qCistCQkgKiBOb3RlOiAnMScgaGVyZSBpcyBhIHBlcmZvcm1hbmNlIG9wdGltaXphdGlvbi4KKy0JCSAqIFJlY2FsbCB0aGF0IHRoZSBkZWNvbXByZXNzaW9uIGxheWVyIHJldHVybnMgYSBjb3VudCBvZgorLQkJICogYXZhaWxhYmxlIGJ5dGVzOyBhc2tpbmcgZm9yIG1vcmUgdGhhbiB0aGF0IGZvcmNlcyB0aGUKKy0JCSAqIGRlY29tcHJlc3NvciB0byBjb21iaW5lIHJlYWRzIGJ5IGNvcHlpbmcgZGF0YS4KKy0JCSAqLworLQkJKmJ1ZmYgPSBfX2FyY2hpdmVfcmVhZF9haGVhZChhLCAxLCAmYnl0ZXNfYXZhaWwpOworKwkJKmJ1ZmYgPSBfX2FyY2hpdmVfcmVhZF9haGVhZChhLCBtaW5pbXVtLCAmYnl0ZXNfYXZhaWwpOworIAkJaWYgKGJ5dGVzX2F2YWlsIDw9IDApIHsKKyAJCQlhcmNoaXZlX3NldF9lcnJvcigmYS0+YXJjaGl2ZSwKKyAJCQkgICAgQVJDSElWRV9FUlJOT19GSUxFX0ZPUk1BVCwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmFyY2hpdmUvbGliYXJjaGl2ZS9DVkUtMjAxOS0xMDAwMDIwLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlL0NWRS0yMDE5LTEwMDAwMjAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjVhNzZmZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmFyY2hpdmUvbGliYXJjaGl2ZS9DVkUtMjAxOS0xMDAwMDIwLnBhdGNoCkBAIC0wLDAgKzEsNjEgQEAKK0NWRTogQ1ZFLTIwMTktMTAwMDAyMAorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworRnJvbSA4MzEyZWFhNTc2MDE0Y2Q5Yjk2NTAxMmFmNTFiYzFmOTY3YjEyNDIzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRGFuaWVsIEF4dGVucyA8ZGphQGF4dGVucy5uZXQ+CitEYXRlOiBUdWUsIDEgSmFuIDIwMTkgMTc6MTA6NDkgKzExMDAKK1N1YmplY3Q6IFtQQVRDSCAxLzJdIGlzbzk2NjA6IEZhaWwgd2hlbiBleHBlY3RlZCBSb2NrcmlkZ2UgZXh0ZW5zaW9ucyBpcworIG1pc3NpbmcKKworQSBjb3JydXB0ZWQgb3IgbWFsaWNpb3VzIElTTzk2NjAgaW1hZ2UgY2FuIGNhdXNlIHJlYWRfQ0UoKSB0byBsb29wCitmb3JldmVyLgorCityZWFkX0NFKCkgY2FsbHMgcGFyc2Vfcm9ja3JpZGdlKCksIGV4cGVjdGluZyBhIFJvY2tyaWRnZSBleHRlbnNpb24KK3RvIGJlIHJlYWQuIEhvd2V2ZXIsIHBhcnNlX3JvY2tyaWRnZSgpIGlzIHN0cnVjdHVyZWQgYXMgYSB3aGlsZQorbG9vcCBzdGFydGluZyB3aXRoIGEgc2FuaXR5IGNoZWNrLCBhbmQgaWYgdGhlIHNhbml0eSBjaGVjayBmYWlscworYmVmb3JlIHRoZSBsb29wIGhhcyBydW4sIHRoZSBmdW5jdGlvbiByZXR1cm5zIEFSQ0hJVkVfT0sgd2l0aG91dAorYWR2YW5jaW5nIHRoZSBwb3NpdGlvbiBpbiB0aGUgZmlsZS4gVGhpcyBjYXVzZXMgcmVhZF9DRSgpIHRvIHJldHJ5CitpbmRlZmluaXRlbHkuCisKK01ha2UgcGFyc2Vfcm9ja3JpZGdlKCkgcmV0dXJuIEFSQ0hJVkVfV0FSTiBpZiBpdCBkaWRuJ3QgcmVhZCBhbgorZXh0ZW5zaW9uLiBBcyBzb21lb25lIHdpdGggbm8gcmVhbCBrbm93bGVkZ2Ugb2YgdGhlIGZvcm1hdCwgdGhpcworc2VlbXMgbW9yZSBhcHQgdGhhbiBBUkNISVZFX0ZBVEFMLCBidXQgYm90aCB0aGUgY2FsbC1zaXRlcyBlc2NhbGF0ZQoraXQgdG8gYSBmYXRhbCBlcnJvciBpbW1lZGlhdGVseSBhbnl3YXkuCisKK0ZvdW5kIHdpdGggYSBjb21iaW5hdGlvbiBvZiBBRkwsIGFmbC1yYiAoRmFpckZ1enopIGFuZCBxc3ltLgorLS0tCisgbGliYXJjaGl2ZS9hcmNoaXZlX3JlYWRfc3VwcG9ydF9mb3JtYXRfaXNvOTY2MC5jIHwgMTEgKysrKysrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbGliYXJjaGl2ZS9hcmNoaXZlX3JlYWRfc3VwcG9ydF9mb3JtYXRfaXNvOTY2MC5jIGIvbGliYXJjaGl2ZS9hcmNoaXZlX3JlYWRfc3VwcG9ydF9mb3JtYXRfaXNvOTY2MC5jCitpbmRleCAyOGFjZmVmYmIuLmJhZDhmMWRmZSAxMDA2NDQKKy0tLSBhL2xpYmFyY2hpdmUvYXJjaGl2ZV9yZWFkX3N1cHBvcnRfZm9ybWF0X2lzbzk2NjAuYworKysrIGIvbGliYXJjaGl2ZS9hcmNoaXZlX3JlYWRfc3VwcG9ydF9mb3JtYXRfaXNvOTY2MC5jCitAQCAtMjEwMiw2ICsyMTAyLDcgQEAgcGFyc2Vfcm9ja3JpZGdlKHN0cnVjdCBhcmNoaXZlX3JlYWQgKmEsIHN0cnVjdCBmaWxlX2luZm8gKmZpbGUsCisgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnAsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmVuZCkKKyB7CisgCXN0cnVjdCBpc285NjYwICppc285NjYwOworKwlpbnQgZW50cnlfc2VlbiA9IDA7CisgCisgCWlzbzk2NjAgPSAoc3RydWN0IGlzbzk2NjAgKikoYS0+Zm9ybWF0LT5kYXRhKTsKKyAKK0BAIC0yMjU3LDggKzIyNTgsMTYgQEAgcGFyc2Vfcm9ja3JpZGdlKHN0cnVjdCBhcmNoaXZlX3JlYWQgKmEsIHN0cnVjdCBmaWxlX2luZm8gKmZpbGUsCisgCQl9CisgCisgCQlwICs9IHBbMl07CisrCQllbnRyeV9zZWVuID0gMTsKKysJfQorKworKwlpZiAoZW50cnlfc2VlbikKKysJCXJldHVybiAoQVJDSElWRV9PSyk7CisrCWVsc2UgeworKwkJYXJjaGl2ZV9zZXRfZXJyb3IoJmEtPmFyY2hpdmUsIEFSQ0hJVkVfRVJSTk9fRklMRV9GT1JNQVQsCisrCQkJCSAgIlRyaWVkIHRvIHBhcnNlIFJvY2tyaWRnZSBleHRlbnNpb25zLCBidXQgbm9uZSBmb3VuZCIpOworKwkJcmV0dXJuIChBUkNISVZFX1dBUk4pOworIAl9CistCXJldHVybiAoQVJDSElWRV9PSyk7CisgfQorIAorIHN0YXRpYyBpbnQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlXzMuMy4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlXzMuMy4zLmJiCmluZGV4IDQ2YTNkNDMuLmFmNWNhNjUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmFyY2hpdmUvbGliYXJjaGl2ZV8zLjMuMy5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJhcmNoaXZlL2xpYmFyY2hpdmVfMy4zLjMuYmIKQEAgLTM0LDYgKzM0LDEyIEBACiBTUkNfVVJJID0gImh0dHA6Ly9saWJhcmNoaXZlLm9yZy9kb3dubG9hZHMvbGliYXJjaGl2ZS0ke1BWfS50YXIuZ3ogXAogICAgICAgICAgICBmaWxlOi8vbm9uLXJlY3Vyc2l2ZS1leHRyYWN0LWFuZC1saXN0LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL2J1ZzEwNjYucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTAwMDg3Ny5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOC0xMDAwODc4LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTEwMDA4NzkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTAwMDg4MC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOS0xMDAwMDE5LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL0NWRS0yMDE5LTEwMDAwMjAucGF0Y2ggXAogIgogCiBTUkNfVVJJW21kNXN1bV0gPSAiNDAzOGUzNjZjYTViNjU5ZGFlM2VmY2M3NDRlNzIxMjAiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJwaXBlbGluZS9saWJwaXBlbGluZV8xLjUuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnBpcGVsaW5lL2xpYnBpcGVsaW5lXzEuNS4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNGNjOWU1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnBpcGVsaW5lL2xpYnBpcGVsaW5lXzEuNS4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotU1VNTUFSWSA9ICJwaXBlbGluZSBtYW5pcHVsYXRpb24gbGlicmFyeSIKLURFU0NSSVBUSU9OID0gIlRoaXMgaXMgYSBDIGxpYnJhcnkgZm9yIHNldHRpbmcgdXAgYW5kIHJ1bm5pbmcgcGlwZWxpbmVzIG9mIHByb2Nlc3NlcywgXAotd2l0aG91dCBuZWVkaW5nIHRvIGludm9sdmUgc2hlbGwgY29tbWFuZC1saW5lIHBhcnNpbmcgd2hpY2ggaXMgb2Z0ZW4gXAotZXJyb3ItcHJvbmUgYW5kIGluc2VjdXJlLiIKLUhPTUVQQUdFID0gImh0dHA6Ly9saWJwaXBlbGluZS5ub25nbnUub3JnLyIKLUxJQ0VOU0UgPSAiR1BMdjMiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKLQotU1JDX1VSSSA9ICIke1NBVkFOTkFIX0dOVV9NSVJST1J9L2xpYnBpcGVsaW5lL2xpYnBpcGVsaW5lLSR7UFZ9LnRhci5neiIKLVNSQ19VUklbbWQ1c3VtXSA9ICJiNzQzN2E1MDIwMTkwY2ZhODRmMDljNDEyZGIzODkwMiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIwZDcyZTEyZTRmMmFmZmY2N2ZkN2I5ZGYwYTI0ZDdiYTQyYjVhN2M5MjExYWM1YjNkY2NjYzVjZDhiMjg2ZjJiIgotCi1pbmhlcml0IHBrZ2NvbmZpZyBhdXRvdG9vbHMKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlicGlwZWxpbmUvbGlicGlwZWxpbmVfMS41LjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJwaXBlbGluZS9saWJwaXBlbGluZV8xLjUuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNTgwMjA3Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlicGlwZWxpbmUvbGlicGlwZWxpbmVfMS41LjEuYmIKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJwaXBlbGluZSBtYW5pcHVsYXRpb24gbGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIlRoaXMgaXMgYSBDIGxpYnJhcnkgZm9yIHNldHRpbmcgdXAgYW5kIHJ1bm5pbmcgcGlwZWxpbmVzIG9mIHByb2Nlc3NlcywgXAord2l0aG91dCBuZWVkaW5nIHRvIGludm9sdmUgc2hlbGwgY29tbWFuZC1saW5lIHBhcnNpbmcgd2hpY2ggaXMgb2Z0ZW4gXAorZXJyb3ItcHJvbmUgYW5kIGluc2VjdXJlLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9saWJwaXBlbGluZS5ub25nbnUub3JnLyIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworU1JDX1VSSSA9ICIke1NBVkFOTkFIX0dOVV9NSVJST1J9L2xpYnBpcGVsaW5lL2xpYnBpcGVsaW5lLSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI0YzhmZTZjZDg1NDIyYmFhZmQ2ZTA2MGY4OTZjNjFiYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkNjMzNzA2YjdkODQ1ZjA4YjQyYmM2NmRkYmU4NDVkNTdlNzI2YmY4OTI5OGUyY2VlMjlmMDk1NzdlMmY5MDJmIgorCitpbmhlcml0IHBrZ2NvbmZpZyBhdXRvdG9vbHMKKworYWNwYXRocyA9ICItSSAke1N9L2dsL200IC1JICR7U30vbTQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJzb2x2L2xpYnNvbHYvMDAwMS1BZGQtZmFsbGJhY2stZm9wZW5jb29raWUtaW1wbGVtZW50YXRpb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJzb2x2L2xpYnNvbHYvMDAwMS1BZGQtZmFsbGJhY2stZm9wZW5jb29raWUtaW1wbGVtZW50YXRpb24ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU1Y2I2MGQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlic29sdi9saWJzb2x2LzAwMDEtQWRkLWZhbGxiYWNrLWZvcGVuY29va2llLWltcGxlbWVudGF0aW9uLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjUxICswLDAgQEAKLUZyb20gNDdjNmYxYjQzMzJhOWU0OTM1YzQ4Y2NhODI2Nzg2YTZiOGZlNmY1OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9OZWFsPTIwR29tcGE9MjA9Mjg9RTM9ODM9OEI9RTM9ODM9QkM9RTM9ODM9QUI9RTM9ODM9QkI/PQotID0/VVRGLTg/cT89RTM9ODI9QjM9RTM9ODI9OTk9RTM9ODM9QjM9RTM9ODM9OEY9RTM9ODI9OUE9Mjk/PQotIDxuZ29tcGExM0BnbWFpbC5jb20+Ci1EYXRlOiBXZWQsIDExIE5vdiAyMDE1IDIwOjMyOjE3IC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8yXSBBZGQgZmFsbGJhY2sgZm9wZW5jb29raWUoKSBpbXBsZW1lbnRhdGlvbgotCi1JbiBlbnZpcm9ubWVudHMgd2hlcmUgbmVpdGhlciBmb3BlbmNvb2tpZSgpIG5vciBmdW5vcGVuKCkKLWFyZSBpbXBsZW1lbnRlZCwgd2UgbmVlZCB0byBwcm92aWRlIGEgc3VpdGFibGUgaW1wbGVtZW50YXRpb24KLW9mIGZvcGVuY29va2llKCkgdGhhdCB3ZSBjYW4gdXNlLgotCi1BbGV4IEthbmF2aW46IHJlYmFzZWQgQ01ha2VMaXN0cy50eHQgY2hhbmdlIHRvIGFwcGx5IHRvIGxhdGVzdCB1cHN0cmVhbSBjb2RlLgotCi1VcHN0cmVhbS1TdGF0dXM6IERlbmllZCBbaHR0cHM6Ly9naXRodWIuY29tL29wZW5TVVNFL2xpYnNvbHYvcHVsbC8xMTJdCi1TaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KLQotLS0tCi0gZXh0L0NNYWtlTGlzdHMudHh0ICAgICAgICAgICAgICAgICAgICAgfCAgIDcgKysKLSBleHQvc29sdl94Zm9wZW4uYyAgICAgICAgICAgICAgICAgICAgICB8ICAxMCArLS0KLSBleHQvc29sdl94Zm9wZW5fZmFsbGJhY2tfZm9wZW5jb29raWUuYyB8IDEyMyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKLSBleHQvc29sdl94Zm9wZW5fZmFsbGJhY2tfZm9wZW5jb29raWUuaCB8ICAyOCArKysrKysrKwotIDQgZmlsZXMgY2hhbmdlZCwgMTY0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IGV4dC9zb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5jCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IGV4dC9zb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5oCi0KLWRpZmYgLS1naXQgYS9leHQvQ01ha2VMaXN0cy50eHQgYi9leHQvQ01ha2VMaXN0cy50eHQKLWluZGV4IGI4OTE3YTIuLmZhYzZjMzIgMTAwNjQ0Ci0tLS0gYS9leHQvQ01ha2VMaXN0cy50eHQKLSsrKyBiL2V4dC9DTWFrZUxpc3RzLnR4dAotQEAgLTQsNiArNCwxMyBAQCBTRVQgKGxpYnNvbHZleHRfU1JDUwotIFNFVCAobGlic29sdmV4dF9IRUFERVJTCi0gICAgIHRvb2xzX3V0aWwuaCBzb2x2X3hmb3Blbi5oIHRlc3RjYXNlLmgpCi0gCi0rSUYgKE5PVCBIQVZFX0ZPUEVOQ09PS0lFIEFORCBOT1QgSEFWRV9GVU5PUEVOKQotKyAgICBTRVQgKGxpYnNvbHZleHRfU1JDUyAke2xpYnNvbHZleHRfU1JDU30KLSsgICAgICAgIHNvbHZfeGZvcGVuX2ZhbGxiYWNrX2ZvcGVuY29va2llLmMpCi0rICAgIFNFVCAobGlic29sdmV4dF9IRUFERVJTICR7bGlic29sdmV4dF9IRUFERVJTfQotKyAgICAgICAgc29sdl94Zm9wZW5fZmFsbGJhY2tfZm9wZW5jb29raWUuaCkKLStFTkRJRiAoTk9UIEhBVkVfRk9QRU5DT09LSUUgQU5EIE5PVCBIQVZFX0ZVTk9QRU4pCi0rCi0gSUYgKEVOQUJMRV9SUE1EQiBPUiBFTkFCTEVfUlBNUEtHKQotICAgICBTRVQgKGxpYnNvbHZleHRfU1JDUyAke2xpYnNvbHZleHRfU1JDU30KLSAgICAgICAgIHBvb2xfZmlsZWNvbmZsaWN0cy5jIHJlcG9fcnBtZGIuYykKLWRpZmYgLS1naXQgYS9leHQvc29sdl94Zm9wZW4uYyBiL2V4dC9zb2x2X3hmb3Blbi5jCi1pbmRleCAyYzY0YmI2Li5lYjNhM2FkIDEwMDY0NAotLS0tIGEvZXh0L3NvbHZfeGZvcGVuLmMKLSsrKyBiL2V4dC9zb2x2X3hmb3Blbi5jCi1AQCAtMTIsNiArMTIsMTAgQEAKLSAjaW5jbHVkZSA8c3RyaW5nLmg+Ci0gI2luY2x1ZGUgPGZjbnRsLmg+Ci0gCi0rI2lmICFkZWZpbmVkKEhBVkVfRlVOT1BFTikgJiYgIWRlZmluZWQoSEFWRV9GT1BFTkNPT0tJRSkKLSsjaW5jbHVkZSAic29sdl94Zm9wZW5fZmFsbGJhY2tfZm9wZW5jb29raWUuaCIKLSsjZW5kaWYKLSsKLSAjaW5jbHVkZSAic29sdl94Zm9wZW4uaCIKLSAjaW5jbHVkZSAidXRpbC5oIgotIAotQEAgLTIxLDcgKzI1LDcgQEAgc3RhdGljIEZJTEUgKmNvb2tpZW9wZW4odm9pZCAqY29va2llLCBjb25zdCBjaGFyICptb2RlLAotIAlzc2l6ZV90ICgqY3dyaXRlKSh2b2lkICosIGNvbnN0IGNoYXIgKiwgc2l6ZV90KSwKLSAJaW50ICgqY2Nsb3NlKSh2b2lkICopKQotIHsKLS0jaWZkZWYgSEFWRV9GVU5PUEVOCi0rI2lmIGRlZmluZWQoSEFWRV9GVU5PUEVOKSAmJiAhZGVmaW5lZChIQVZFX0ZPUEVOQ09PS0lFKQotICAgaWYgKCFjb29raWUpCi0gICAgIHJldHVybiAwOwotICAgcmV0dXJuIGZ1bm9wZW4oY29va2llLAotQEAgLTMwLDcgKzM0LDcgQEAgc3RhdGljIEZJTEUgKmNvb2tpZW9wZW4odm9pZCAqY29va2llLCBjb25zdCBjaGFyICptb2RlLAotICAgICAgIChmcG9zX3QgKCopKHZvaWQgKiwgZnBvc190LCBpbnQpKU5VTEwsCQkJCQkvKiBzZWVrZm4gKi8KLSAgICAgICBjY2xvc2UKLSAgICAgICApOwotLSNlbGlmIGRlZmluZWQoSEFWRV9GT1BFTkNPT0tJRSkKLSsjZWxzZQotICAgY29va2llX2lvX2Z1bmN0aW9uc190IGNpbzsKLSAKLSAgIGlmICghY29va2llKQotQEAgLTQyLDggKzQ2LDYgQEAgc3RhdGljIEZJTEUgKmNvb2tpZW9wZW4odm9pZCAqY29va2llLCBjb25zdCBjaGFyICptb2RlLAotICAgICBjaW8ud3JpdGUgPSBjd3JpdGU7Ci0gICBjaW8uY2xvc2UgPSBjY2xvc2U7Ci0gICByZXR1cm4gIGZvcGVuY29va2llKGNvb2tpZSwgKm1vZGUgPT0gJ3cnID8gInciIDogInIiLCBjaW8pOwotLSNlbHNlCi0tIyBlcnJvciBOZWVkIHRvIGltcGxlbWVudCBjdXN0b20gSS9PCi0gI2VuZGlmCi0gfQotIAotZGlmZiAtLWdpdCBhL2V4dC9zb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5jIGIvZXh0L3NvbHZfeGZvcGVuX2ZhbGxiYWNrX2ZvcGVuY29va2llLmMKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi4wY2UyNTcxCi0tLS0gL2Rldi9udWxsCi0rKysgYi9leHQvc29sdl94Zm9wZW5fZmFsbGJhY2tfZm9wZW5jb29raWUuYwotQEAgLTAsMCArMSwxMjMgQEAKLSsvKiAKLSsgKglQcm92aWRlcyBhIHZlcnkgbGltaXRlZCBmb3BlbmNvb2tpZSgpIGZvciBlbnZpcm9ubWVudHMgd2l0aCBhIGxpYmMKLSsgKgl0aGF0IGxhY2tzIGl0LgotKyAqCQotKyAqCUF1dGhvcjogemhhc2hhCi0rICoJTW9kaWZpZWQgZm9yIGxpYnNvbHYgYnkgTmVhbCBHb21wYQotKyAqCQotKyAqCVRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNEIGxpY2Vuc2UsIHJlYWQgTElDRU5TRS5CU0QKLSsgKglmb3IgZnVydGhlciBpbmZvcm1hdGlvbi4KLSsgKgotKyAqLwotKwotKyNkZWZpbmUgX0xBUkdFRklMRTY0X1NPVVJDRSAxCi0rI2luY2x1ZGUgPHB0aHJlYWQuaD4KLSsjaW5jbHVkZSA8c3RkaW8uaD4KLSsjaW5jbHVkZSA8c3RkbGliLmg+Ci0rI2luY2x1ZGUgPHVuaXN0ZC5oPgotKyNpbmNsdWRlIDxmY250bC5oPgotKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSsjaW5jbHVkZSA8ZXJybm8uaD4KLSsjaW5jbHVkZSAic29sdl94Zm9wZW5fZmFsbGJhY2tfZm9wZW5jb29raWUuaCIKLSsKLStleHRlcm4gaW50IHBpcGUyKGludFsyXSwgaW50KTsKLSsKLStzdHJ1Y3QgY3R4IHsKLSsgICAgaW50IGZkOwotKyAgICB2b2lkICpjb29raWU7Ci0rICAgIHN0cnVjdCBjb29raWVfaW9fZnVuY3Rpb25zX3QgaW87Ci0rICAgIGNoYXIgYnVmWzEwMjRdOwotK307Ci0rCi0rc3RhdGljIHZvaWQgKnByb3h5KHZvaWQgKmFyZykKLSt7Ci0rICAgIHN0cnVjdCBjdHggKmN0eCA9IGFyZzsKLSsgICAgc3NpemVfdCByOwotKyAgICBzaXplX3QgbjsKLSsKLSsgICAgcHRocmVhZF9kZXRhY2gocHRocmVhZF9zZWxmKCkpOwotKwotKyAgICB3aGlsZSAoMSkgewotKyAgICAgICAgciA9IGN0eC0+aW8ucmVhZCA/Ci0rICAgICAgICAgICAgKGN0eC0+aW8ucmVhZCkoY3R4LT5jb29raWUsIGN0eC0+YnVmLCBzaXplb2YoY3R4LT5idWYpKSA6Ci0rICAgICAgICAgICAgcmVhZChjdHgtPmZkLCBjdHgtPmJ1Ziwgc2l6ZW9mKGN0eC0+YnVmKSk7Ci0rICAgICAgICBpZiAociA8IDApIHsKLSsgICAgICAgICAgICBpZiAoZXJybm8gIT0gRUlOVFIpIHsgYnJlYWs7IH0KLSsgICAgICAgICAgICBjb250aW51ZTsKLSsgICAgICAgIH0KLSsgICAgICAgIGlmIChyID09IDApIHsgYnJlYWs7IH0KLSsKLSsgICAgICAgIHdoaWxlIChuID4gMCkgewotKyAgICAgICAgICAgIHIgPSBjdHgtPmlvLndyaXRlID8KLSsgICAgICAgICAgICAgICAgKGN0eC0+aW8ud3JpdGUpKGN0eC0+Y29va2llLCBjdHgtPmJ1ZiArICgoc2l6ZV90KXIgLSBuKSwgbikgOgotKyAgICAgICAgICAgICAgICB3cml0ZShjdHgtPmZkLCBjdHgtPmJ1ZiArICgoc2l6ZV90KXIgLSBuKSwgbik7Ci0rICAgICAgICAgICAgaWYgKHIgPCAwKSB7Ci0rICAgICAgICAgICAgICAgIGlmIChlcnJubyAhPSBFSU5UUikgeyBicmVhazsgfQotKyAgICAgICAgICAgICAgICBjb250aW51ZTsKLSsgICAgICAgICAgICB9Ci0rICAgICAgICAgICAgaWYgKHIgPT0gMCkgeyBicmVhazsgfQotKwotKyAgICAgICAgICAgIG4gLT0gKHNpemVfdClyOwotKyAgICAgICAgfQotKyAgICAgICAgaWYgKG4gPiAwKSB7IGJyZWFrOyB9Ci0rICAgIH0KLSsKLSsgICAgaWYgKGN0eC0+aW8uY2xvc2UpIHsgKGN0eC0+aW8uY2xvc2UpKGN0eC0+Y29va2llKTsgfQotKyAgICBjbG9zZShjdHgtPmZkKTsKLSsgICAgcmV0dXJuIE5VTEw7Ci0rfQotKwotK0ZJTEUgKmZvcGVuY29va2llKHZvaWQgKmNvb2tpZSwgY29uc3QgY2hhciAqbW9kZSwgc3RydWN0IGNvb2tpZV9pb19mdW5jdGlvbnNfdCBpbykKLSt7Ci0rICAgIHN0cnVjdCBjdHggKmN0eCA9IE5VTEw7Ci0rICAgIGludCByZCA9IDAsIHdyID0gMDsKLSsgICAgaW50IHBbMl0gPSB7IC0xLCAtMSB9OwotKyAgICBGSUxFICpmID0gTlVMTDsKLSsgICAgcHRocmVhZF90IGR1bW15OwotKwotKyAgICBzd2l0Y2ggKG1vZGVbMF0pIHsKLSsgICAgICAgIGNhc2UgJ2EnOgotKyAgICAgICAgY2FzZSAncic6IHJkID0gMTsgYnJlYWs7Ci0rICAgICAgICBjYXNlICd3Jzogd3IgPSAxOyBicmVhazsKLSsgICAgICAgIGRlZmF1bHQ6Ci0rICAgICAgICAgICAgZXJybm8gPSBFSU5WQUw7Ci0rICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0rICAgIH0KLSsgICAgc3dpdGNoIChtb2RlWzFdKSB7Ci0rICAgICAgICBjYXNlICdcMCc6IGJyZWFrOwotKyAgICAgICAgY2FzZSAnKyc6Ci0rICAgICAgICAgICAgaWYgKG1vZGVbMl0gPT0gJ1wwJykgewotKyAgICAgICAgICAgICAgICBlcnJubyA9IEVOT1RTVVA7Ci0rICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwotKyAgICAgICAgICAgIH0KLSsgICAgICAgIGRlZmF1bHQ6Ci0rICAgICAgICAgICAgZXJybm8gPSBFSU5WQUw7Ci0rICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0rICAgIH0KLSsgICAgaWYgKGlvLnNlZWspIHsKLSsgICAgICAgIGVycm5vID0gRU5PVFNVUDsKLSsgICAgICAgIHJldHVybiBOVUxMOwotKyAgICB9Ci0rCi0rICAgIGN0eCA9IG1hbGxvYyhzaXplb2YoKmN0eCkpOwotKyAgICBpZiAoIWN0eCkgeyByZXR1cm4gTlVMTDsgfQotKyAgICBpZiAocGlwZTIocCwgT19DTE9FWEVDKSAhPSAwKSB7IGdvdG8gZXJyOyB9Ci0rICAgIGlmICgoZiA9IGZkb3BlbihwW3dyXSwgbW9kZSkpID09IE5VTEwpIHsgZ290byBlcnI7IH0KLSsgICAgcFt3cl0gPSAtMTsKLSsgICAgY3R4LT5mZCA9IHBbcmRdOwotKyAgICBjdHgtPmNvb2tpZSA9IGNvb2tpZTsKLSsgICAgY3R4LT5pby5yZWFkID0gcmQgPyBpby5yZWFkIDogTlVMTDsKLSsgICAgY3R4LT5pby53cml0ZSA9IHdyID8gaW8ud3JpdGUgOiBOVUxMOwotKyAgICBjdHgtPmlvLnNlZWsgPSBOVUxMOwotKyAgICBjdHgtPmlvLmNsb3NlID0gaW8uY2xvc2U7Ci0rICAgIGlmIChwdGhyZWFkX2NyZWF0ZSgmZHVtbXksIE5VTEwsIHByb3h5LCBjdHgpICE9IDApIHsgZ290byBlcnI7IH0KLSsKLSsgICAgcmV0dXJuIGY7Ci0rCi0rZXJyOgotKyAgICBpZiAocFswXSA+PSAwKSB7IGNsb3NlKHBbMF0pOyB9Ci0rICAgIGlmIChwWzFdID49IDApIHsgY2xvc2UocFsxXSk7IH0KLSsgICAgaWYgKGYpIHsgZmNsb3NlKGYpOyB9Ci0rICAgIGZyZWUoY3R4KTsKLSsgICAgcmV0dXJuIE5VTEw7Ci0rfQotZGlmZiAtLWdpdCBhL2V4dC9zb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5oIGIvZXh0L3NvbHZfeGZvcGVuX2ZhbGxiYWNrX2ZvcGVuY29va2llLmgKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi42YTdiZmVlCi0tLS0gL2Rldi9udWxsCi0rKysgYi9leHQvc29sdl94Zm9wZW5fZmFsbGJhY2tfZm9wZW5jb29raWUuaAotQEAgLTAsMCArMSwyOCBAQAotKy8qIAotKyAqCVByb3ZpZGVzIGEgdmVyeSBsaW1pdGVkIGZvcGVuY29va2llKCkgZm9yIGVudmlyb25tZW50cyB3aXRoIGEgbGliYwotKyAqCXRoYXQgbGFja3MgaXQuCi0rICoJCi0rICoJQXV0aG9yOiB6aGFzaGEKLSsgKglNb2RpZmllZCBmb3IgbGlic29sdiBieSBOZWFsIEdvbXBhCi0rICoJCi0rICoJVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0QgbGljZW5zZSwgcmVhZCBMSUNFTlNFLkJTRAotKyAqCWZvciBmdXJ0aGVyIGluZm9ybWF0aW9uLgotKyAqCQotKyAqLwotKwotKyNpZm5kZWYgU09MVl9YRk9QRU5fRkFMTEJBQ0tfRk9QRU5DT09LSUVfSAotKyNkZWZpbmUgU09MVl9YRk9QRU5fRkFMTEJBQ0tfRk9QRU5DT09LSUVfSAotKwotKyNpbmNsdWRlIDxzdGRpby5oPgotKyNpbmNsdWRlIDxzdGRpbnQuaD4KLSsKLSt0eXBlZGVmIHN0cnVjdCBjb29raWVfaW9fZnVuY3Rpb25zX3QgewotKyAgICBzc2l6ZV90ICgqcmVhZCkodm9pZCAqLCBjaGFyICosIHNpemVfdCk7Ci0rICAgIHNzaXplX3QgKCp3cml0ZSkodm9pZCAqLCBjb25zdCBjaGFyICosIHNpemVfdCk7Ci0rICAgIGludCAoKnNlZWspKHZvaWQgKiwgb2ZmNjRfdCwgaW50KTsKLSsgICAgaW50ICgqY2xvc2UpKHZvaWQgKik7Ci0rfSBjb29raWVfaW9fZnVuY3Rpb25zX3Q7Ci0rCi0rRklMRSAqZm9wZW5jb29raWUodm9pZCAqY29va2llLCBjb25zdCBjaGFyICptb2RlLCBzdHJ1Y3QgY29va2llX2lvX2Z1bmN0aW9uc190IGlvKTsKLSsKLSsjZW5kaWYKLS0tIAotMi40LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlic29sdi9saWJzb2x2LzAwMDEtYnVpbGQtdXNlLUdOVUluc3RhbGxEaXJzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlic29sdi9saWJzb2x2LzAwMDEtYnVpbGQtdXNlLUdOVUluc3RhbGxEaXJzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1ZWYxNTAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJzb2x2L2xpYnNvbHYvMDAwMS1idWlsZC11c2UtR05VSW5zdGFsbERpcnMucGF0Y2gKQEAgLTAsMCArMSwxODggQEAKK0JhY2twb3J0IGEgcGF0Y2ggZnJvbSB1cHN0cmVhbSB0byB1c2UgR05VSW5zdGFsbERpcnMgaW5zdGVhZCBvZgoraGFuZC1jb2RlZCBwYXRoIGxvZ2ljLCBzbyB3ZSBoYXZlIHByb3BlciBjb250cm9sIG92ZXIgd2hlcmUgZmlsZXMgZW5kIHVwLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitGcm9tIGI2YzlkZjRjNjg2OTc1Y2U1MDA5ZDA5ZGFjNzA2YTRlODNmMDJhMzEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBJZ29yIEduYXRlbmtvIDxpLmduYXRlbmtvLmJyYWluQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMiBKdWwgMjAxOCAxMjo1Njo0MSArMDEwMAorU3ViamVjdDogW1BBVENIXSBidWlsZDogdXNlIEdOVUluc3RhbGxEaXJzCisKK0ZpeGVzOiAjMTI4CitTaWduZWQtb2ZmLWJ5OiBJZ29yIEduYXRlbmtvIDxpLmduYXRlbmtvLmJyYWluQGdtYWlsLmNvbT4KKy0tLQorIENNYWtlTGlzdHMudHh0ICAgICAgICAgICAgICAgfCAzNCArKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgUkVBRE1FICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCisgZG9jL0NNYWtlTGlzdHMudHh0ICAgICAgICAgICB8ICA0ICsrLS0KKyBleGFtcGxlcy9zb2x2L0NNYWtlTGlzdHMudHh0IHwgIDIgKy0KKyBleHQvQ01ha2VMaXN0cy50eHQgICAgICAgICAgIHwgIDggKysrKy0tLS0KKyBsaWJzb2x2LnBjLmluICAgICAgICAgICAgICAgIHwgIDQgKystLQorIGxpYnNvbHZleHQucGMuaW4gICAgICAgICAgICAgfCAgNCArKy0tCisgc3JjL0NNYWtlTGlzdHMudHh0ICAgICAgICAgICB8ICA4ICsrKystLS0tCisgdG9vbHMvQ01ha2VMaXN0cy50eHQgICAgICAgICB8ICAzICstLQorIDkgZmlsZXMgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKSwgNDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0CitpbmRleCAxZGVlZjU3ZC4uN2U5ZmZhOWIgMTAwNjQ0CistLS0gYS9DTWFrZUxpc3RzLnR4dAorKysrIGIvQ01ha2VMaXN0cy50eHQKK0BAIC0xLDYgKzEsNiBAQAorIFBST0pFQ1QgKGxpYnNvbHYpCisgCistQ01BS0VfTUlOSU1VTV9SRVFVSVJFRCAoVkVSU0lPTiAyLjQpCisrQ01BS0VfTUlOSU1VTV9SRVFVSVJFRCAoVkVSU0lPTiAyLjguNSkKKyAKKyBPUFRJT04gKEVOQUJMRV9TVEFUSUMgIkJ1aWxkIGEgc3RhdGljIHZlcnNpb24gb2YgdGhlIGxpYnJhcmllcz8iIE9GRikKKyBPUFRJT04gKERJU0FCTEVfU0hBUkVEICJEbyBub3QgYnVpbGQgYSBzaGFyZWQgdmVyc2lvbiBvZiB0aGUgbGlicmFyaWVzPyIgT0ZGKQorQEAgLTM4LDM0ICszOCwxNCBAQCBPUFRJT04gKEVOQUJMRV9aQ0hVTktfQ09NUFJFU1NJT04gIkJ1aWxkIHdpdGggemNodW5rIGNvbXByZXNzaW9uIHN1cHBvcnQ/IiBPRkYpCisgT1BUSU9OIChXSVRIX1NZU1RFTV9aQ0hVTksgIlVzZSBzeXN0ZW0gemNodW5rIGxpYnJhcnk/IiBPRkYpCisgT1BUSU9OIChXSVRIX0xJQlhNTDIgICJCdWlsZCB3aXRoIGxpYnhtbDIgaW5zdGVhZCBvZiBsaWJleHBhdD8iIE9GRikKKyAKKy0jIExpYnJhcnkKKy1JRiAoREVGSU5FRCBMSUIpCistICBTRVQgKExJQl9JTlNUQUxMX0RJUiAiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vJHtMSUJ9IikKKy1FTFNFIChERUZJTkVEICBMSUIpCistICBJRiAoQ01BS0VfU0laRU9GX1ZPSURfUCBNQVRDSEVTICI4IikKKy0gICAgU0VUIChMSUJfU1VGRklYICI2NCIpCistICBFTkRJRiAoQ01BS0VfU0laRU9GX1ZPSURfUCBNQVRDSEVTICI4IikKKy0gIFNFVCAoTElCX0lOU1RBTExfRElSICIke0NNQUtFX0lOU1RBTExfUFJFRklYfS9saWIke0xJQl9TVUZGSVh9IikKKy1FTkRJRiAoREVGSU5FRCAgTElCKQorLU1FU1NBR0UgKFNUQVRVUyAiTGlicmFyaWVzIHdpbGwgYmUgaW5zdGFsbGVkIGluICR7TElCX0lOU1RBTExfRElSfSIpCistIyBMaWJyYXJ5CistSUYgKERFRklORUQgSU5DTFVERSkKKy0gIFNFVCAoSU5DTFVERV9JTlNUQUxMX0RJUiAiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vJHtJTkNMVURFfSIpCistZWxzZSAoREVGSU5FRCBJTkNMVURFKQorLSAgU0VUIChJTkNMVURFX0lOU1RBTExfRElSICIke0NNQUtFX0lOU1RBTExfUFJFRklYfS9pbmNsdWRlIikKKy1FTkRJRiAoREVGSU5FRCAgSU5DTFVERSkKKy1NRVNTQUdFIChTVEFUVVMgIkhlYWRlciBmaWxlcyB3aWxsIGJlIGluc3RhbGxlZCBpbiAke0lOQ0xVREVfSU5TVEFMTF9ESVJ9IikKKy1TRVQgKEJJTl9JTlNUQUxMX0RJUiAiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vYmluIikKKy1JRiAoTk9UIE1BTl9JTlNUQUxMX0RJUikKKy1TRVQgKE1BTl9JTlNUQUxMX0RJUiAiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vc2hhcmUvbWFuIikKKy1JRiAoSVNfRElSRUNUT1JZICIke0NNQUtFX0lOU1RBTExfUFJFRklYfS9tYW4iICBBTkQgTk9UIElTX0RJUkVDVE9SWSAiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vc2hhcmUvbWFuIikKKy0gIFNFVCAoTUFOX0lOU1RBTExfRElSICIke0NNQUtFX0lOU1RBTExfUFJFRklYfS9tYW4iKQorLUVORElGIChJU19ESVJFQ1RPUlkgIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9L21hbiIgIEFORCBOT1QgSVNfRElSRUNUT1JZICIke0NNQUtFX0lOU1RBTExfUFJFRklYfS9zaGFyZS9tYW4iKQorLUVORElGIChOT1QgTUFOX0lOU1RBTExfRElSKQorLU1FU1NBR0UoU1RBVFVTICJNYW4gcGFnZXMgd2lsbCBiZSBpbnN0YWxsZWQgaW4gJHtNQU5fSU5TVEFMTF9ESVJ9IikKKytpbmNsdWRlIChHTlVJbnN0YWxsRGlycykKKyttZXNzYWdlIChTVEFUVVMgIkxpYnJhcmllcyB3aWxsIGJlIGluc3RhbGxlZCBpbiAke0NNQUtFX0lOU1RBTExfRlVMTF9MSUJESVJ9IikKKyttZXNzYWdlIChTVEFUVVMgIkhlYWRlciBmaWxlcyB3aWxsIGJlIGluc3RhbGxlZCBpbiAke0NNQUtFX0lOU1RBTExfRlVMTF9JTkNMVURFRElSfSIpCisrbWVzc2FnZSAoU1RBVFVTICJCaW5hcmllcyB3aWxsIGJlIGluc3RhbGxlZCBpbiAke0NNQUtFX0lOU1RBTExfRlVMTF9CSU5ESVJ9IikKKyttZXNzYWdlIChTVEFUVVMgIk1hbiBwYWdlcyB3aWxsIGJlIGluc3RhbGxlZCBpbiAke0NNQUtFX0lOU1RBTExfRlVMTF9NQU5ESVJ9IikKKyAKKyBJRiAoTk9UIFBLR0NPTkZJR19JTlNUQUxMX0RJUikKKy0gIFNFVCAoUEtHQ09ORklHX0lOU1RBTExfRElSICR7TElCX0lOU1RBTExfRElSfS9wa2djb25maWcpCisrICBTRVQgKFBLR0NPTkZJR19JTlNUQUxMX0RJUiAke0NNQUtFX0lOU1RBTExfTElCRElSfS9wa2djb25maWcpCisgRU5ESUYgKE5PVCBQS0dDT05GSUdfSU5TVEFMTF9ESVIpCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAjIENPTkZJR1VSQVRJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIworZGlmZiAtLWdpdCBhL2RvYy9DTWFrZUxpc3RzLnR4dCBiL2RvYy9DTWFrZUxpc3RzLnR4dAoraW5kZXggNjYwMTFiNDguLmVkMzgyNzRlIDEwMDY0NAorLS0tIGEvZG9jL0NNYWtlTGlzdHMudHh0CisrKysgYi9kb2MvQ01ha2VMaXN0cy50eHQKK0BAIC00OCw4ICs0OCw4IEBAIFNUUklORyhSRUdFWCBSRVBMQUNFICIoW147XSspIiAiZ2VuL1xcMSIgbGlic29sdl9NQU5QQUdFUzMgIiR7bGlic29sdl9NQU5QQUdFUzN9CisgCisgSU5TVEFMTChGSUxFUworICAgICAke2xpYnNvbHZfTUFOUEFHRVMzfQorLSAgICBERVNUSU5BVElPTiAiJHtNQU5fSU5TVEFMTF9ESVJ9L21hbjMiKQorKyAgICBERVNUSU5BVElPTiAiJHtDTUFLRV9JTlNUQUxMX01BTkRJUn0vbWFuMyIpCisgCisgSU5TVEFMTChGSUxFUworICAgICAke2xpYnNvbHZfTUFOUEFHRVMxfQorLSAgICBERVNUSU5BVElPTiAiJHtNQU5fSU5TVEFMTF9ESVJ9L21hbjEiKQorKyAgICBERVNUSU5BVElPTiAiJHtDTUFLRV9JTlNUQUxMX01BTkRJUn0vbWFuMSIpCitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvc29sdi9DTWFrZUxpc3RzLnR4dCBiL2V4YW1wbGVzL3NvbHYvQ01ha2VMaXN0cy50eHQKK2luZGV4IDQxZjQ1Zjc0Li4wZjNiZDQ3NyAxMDA2NDQKKy0tLSBhL2V4YW1wbGVzL3NvbHYvQ01ha2VMaXN0cy50eHQKKysrKyBiL2V4YW1wbGVzL3NvbHYvQ01ha2VMaXN0cy50eHQKK0BAIC0yNSw1ICsyNSw1IEBAIFRBUkdFVF9MSU5LX0xJQlJBUklFUyAoc29sdiBsaWJzb2x2ZXh0IGxpYnNvbHYgJHtTWVNURU1fTElCUkFSSUVTfSkKKyAKKyBJTlNUQUxMKFRBUkdFVFMKKyAgICAgc29sdgorLSAgICBERVNUSU5BVElPTiAke0JJTl9JTlNUQUxMX0RJUn0pCisrICAgIERFU1RJTkFUSU9OICR7Q01BS0VfSU5TVEFMTF9CSU5ESVJ9KQorIAorZGlmZiAtLWdpdCBhL2V4dC9DTWFrZUxpc3RzLnR4dCBiL2V4dC9DTWFrZUxpc3RzLnR4dAoraW5kZXggZWRjMmI5ZjkuLjZkZDI4YjFhIDEwMDY0NAorLS0tIGEvZXh0L0NNYWtlTGlzdHMudHh0CisrKysgYi9leHQvQ01ha2VMaXN0cy50eHQKK0BAIC0xNDUsMTQgKzE0NSwxNCBAQCBFTkRJRiAoRElTQUJMRV9TSEFSRUQpCisgCisgU0VUX1RBUkdFVF9QUk9QRVJUSUVTKGxpYnNvbHZleHQgUFJPUEVSVElFUyBPVVRQVVRfTkFNRSAic29sdmV4dCIpCisgU0VUX1RBUkdFVF9QUk9QRVJUSUVTKGxpYnNvbHZleHQgUFJPUEVSVElFUyBTT1ZFUlNJT04gJHtMSUJTT0xWRVhUX1NPVkVSU0lPTn0pCistU0VUX1RBUkdFVF9QUk9QRVJUSUVTKGxpYnNvbHZleHQgUFJPUEVSVElFUyBJTlNUQUxMX05BTUVfRElSICR7TElCX0lOU1RBTExfRElSfSkKKytTRVRfVEFSR0VUX1BST1BFUlRJRVMobGlic29sdmV4dCBQUk9QRVJUSUVTIElOU1RBTExfTkFNRV9ESVIgJHtDTUFLRV9JTlNUQUxMX0xJQkRJUn0pCisgCistSU5TVEFMTCAoRklMRVMgJHtsaWJzb2x2ZXh0X0hFQURFUlN9IERFU1RJTkFUSU9OICIke0lOQ0xVREVfSU5TVEFMTF9ESVJ9L3NvbHYiKQorLUlOU1RBTEwgKFRBUkdFVFMgbGlic29sdmV4dCBMSUJSQVJZIERFU1RJTkFUSU9OICR7TElCX0lOU1RBTExfRElSfSBBUkNISVZFIERFU1RJTkFUSU9OICR7TElCX0lOU1RBTExfRElSfSBSVU5USU1FIERFU1RJTkFUSU9OIGJpbikKKytJTlNUQUxMIChGSUxFUyAke2xpYnNvbHZleHRfSEVBREVSU30gREVTVElOQVRJT04gIiR7Q01BS0VfSU5TVEFMTF9JTkNMVURFRElSfS9zb2x2IikKKytJTlNUQUxMIChUQVJHRVRTIGxpYnNvbHZleHQgTElCUkFSWSBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfTElCRElSfSBBUkNISVZFIERFU1RJTkFUSU9OICR7Q01BS0VfSU5TVEFMTF9MSUJESVJ9IFJVTlRJTUUgREVTVElOQVRJT04gJHtDTUFLRV9JTlNUQUxMX0JJTkRJUn0pCisgCisgSUYgKEVOQUJMRV9TVEFUSUMgQU5EIE5PVCBESVNBQkxFX1NIQVJFRCkKKyBBRERfTElCUkFSWSAobGlic29sdmV4dF9zdGF0aWMgU1RBVElDICR7bGlic29sdmV4dF9TUkNTfSkKKyBTRVRfVEFSR0VUX1BST1BFUlRJRVMobGlic29sdmV4dF9zdGF0aWMgUFJPUEVSVElFUyBPVVRQVVRfTkFNRSAic29sdmV4dCIpCisgU0VUX1RBUkdFVF9QUk9QRVJUSUVTKGxpYnNvbHZleHRfc3RhdGljIFBST1BFUlRJRVMgU09WRVJTSU9OICR7TElCU09MVkVYVF9TT1ZFUlNJT059KQorLUlOU1RBTEwgKFRBUkdFVFMgbGlic29sdmV4dF9zdGF0aWMgTElCUkFSWSBERVNUSU5BVElPTiAke0xJQl9JTlNUQUxMX0RJUn0gQVJDSElWRSBERVNUSU5BVElPTiAke0xJQl9JTlNUQUxMX0RJUn0pCisrSU5TVEFMTCAoVEFSR0VUUyBsaWJzb2x2ZXh0X3N0YXRpYyBMSUJSQVJZIERFU1RJTkFUSU9OICR7Q01BS0VfSU5TVEFMTF9MSUJESVJ9IEFSQ0hJVkUgREVTVElOQVRJT04gJHtDTUFLRV9JTlNUQUxMX0xJQkRJUn0pCisgRU5ESUYgKEVOQUJMRV9TVEFUSUMgQU5EIE5PVCBESVNBQkxFX1NIQVJFRCkKK2RpZmYgLS1naXQgYS9saWJzb2x2LnBjLmluIGIvbGlic29sdi5wYy5pbgoraW5kZXggNDBhODYyMzAuLjc2NjE0NmM1IDEwMDY0NAorLS0tIGEvbGlic29sdi5wYy5pbgorKysrIGIvbGlic29sdi5wYy5pbgorQEAgLTEsNSArMSw1IEBACistbGliZGlyPUBMSUJfSU5TVEFMTF9ESVJACistaW5jbHVkZWRpcj1ASU5DTFVERV9JTlNUQUxMX0RJUkAKKytsaWJkaXI9QENNQUtFX0lOU1RBTExfRlVMTF9MSUJESVJACisraW5jbHVkZWRpcj1AQ01BS0VfSU5TVEFMTF9GVUxMX0lOQ0xVREVESVJACisgCisgTmFtZTogbGlic29sdgorIERlc2NyaXB0aW9uOiBMaWJyYXJ5IGZvciBzb2x2aW5nIHBhY2thZ2VzCitkaWZmIC0tZ2l0IGEvbGlic29sdmV4dC5wYy5pbiBiL2xpYnNvbHZleHQucGMuaW4KK2luZGV4IGQ0OGI2ZmFiLi5kMDA3ODQ2MSAxMDA2NDQKKy0tLSBhL2xpYnNvbHZleHQucGMuaW4KKysrKyBiL2xpYnNvbHZleHQucGMuaW4KK0BAIC0xLDUgKzEsNSBAQAorLWxpYmRpcj1ATElCX0lOU1RBTExfRElSQAorLWluY2x1ZGVkaXI9QElOQ0xVREVfSU5TVEFMTF9ESVJACisrbGliZGlyPUBDTUFLRV9JTlNUQUxMX0ZVTExfTElCRElSQAorK2luY2x1ZGVkaXI9QENNQUtFX0lOU1RBTExfRlVMTF9JTkNMVURFRElSQAorIAorIE5hbWU6IGxpYnNvbHZleHQKKyBEZXNjcmlwdGlvbjogTGlicmFyeSBmb3IgcmVhZGluZyByZXBvc2l0b3JpZXMKK2RpZmYgLS1naXQgYS9zcmMvQ01ha2VMaXN0cy50eHQgYi9zcmMvQ01ha2VMaXN0cy50eHQKK2luZGV4IDJlMzI5NjhlLi4wM2VhOTExOSAxMDA2NDQKKy0tLSBhL3NyYy9DTWFrZUxpc3RzLnR4dAorKysrIGIvc3JjL0NNYWtlTGlzdHMudHh0CitAQCAtNDIsMTQgKzQyLDE0IEBAIEVORElGIChESVNBQkxFX1NIQVJFRCkKKyAKKyBTRVRfVEFSR0VUX1BST1BFUlRJRVMobGlic29sdiBQUk9QRVJUSUVTIE9VVFBVVF9OQU1FICJzb2x2IikKKyBTRVRfVEFSR0VUX1BST1BFUlRJRVMobGlic29sdiBQUk9QRVJUSUVTIFNPVkVSU0lPTiAke0xJQlNPTFZfU09WRVJTSU9OfSkKKy1TRVRfVEFSR0VUX1BST1BFUlRJRVMobGlic29sdiBQUk9QRVJUSUVTIElOU1RBTExfTkFNRV9ESVIgJHtMSUJfSU5TVEFMTF9ESVJ9KQorK1NFVF9UQVJHRVRfUFJPUEVSVElFUyhsaWJzb2x2IFBST1BFUlRJRVMgSU5TVEFMTF9OQU1FX0RJUiAke0NNQUtFX0lOU1RBTExfTElCRElSfSkKKyAKKy1JTlNUQUxMIChGSUxFUyAke2xpYnNvbHZfSEVBREVSU30gREVTVElOQVRJT04gIiR7SU5DTFVERV9JTlNUQUxMX0RJUn0vc29sdiIpCistSU5TVEFMTCAoVEFSR0VUUyBsaWJzb2x2IExJQlJBUlkgREVTVElOQVRJT04gJHtMSUJfSU5TVEFMTF9ESVJ9IEFSQ0hJVkUgREVTVElOQVRJT04gJHtMSUJfSU5TVEFMTF9ESVJ9IFJVTlRJTUUgREVTVElOQVRJT04gYmluKQorK0lOU1RBTEwgKEZJTEVTICR7bGlic29sdl9IRUFERVJTfSBERVNUSU5BVElPTiAiJHtDTUFLRV9JTlNUQUxMX0lOQ0xVREVESVJ9L3NvbHYiKQorK0lOU1RBTEwgKFRBUkdFVFMgbGlic29sdiBMSUJSQVJZIERFU1RJTkFUSU9OICR7Q01BS0VfSU5TVEFMTF9MSUJESVJ9IEFSQ0hJVkUgREVTVElOQVRJT04gJHtDTUFLRV9JTlNUQUxMX0xJQkRJUn0gUlVOVElNRSBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfQklORElSfSkKKyAKKyBJRiAoRU5BQkxFX1NUQVRJQyBBTkQgTk9UIERJU0FCTEVfU0hBUkVEKQorIEFERF9MSUJSQVJZIChsaWJzb2x2X3N0YXRpYyBTVEFUSUMgJHtsaWJzb2x2X1NSQ1N9KQorIFNFVF9UQVJHRVRfUFJPUEVSVElFUyhsaWJzb2x2X3N0YXRpYyBQUk9QRVJUSUVTIE9VVFBVVF9OQU1FICJzb2x2IikKKyBTRVRfVEFSR0VUX1BST1BFUlRJRVMobGlic29sdl9zdGF0aWMgUFJPUEVSVElFUyBTT1ZFUlNJT04gJHtMSUJTT0xWX1NPVkVSU0lPTn0pCistSU5TVEFMTCAoVEFSR0VUUyBsaWJzb2x2X3N0YXRpYyBMSUJSQVJZIERFU1RJTkFUSU9OICR7TElCX0lOU1RBTExfRElSfSBBUkNISVZFIERFU1RJTkFUSU9OICR7TElCX0lOU1RBTExfRElSfSkKKytJTlNUQUxMIChUQVJHRVRTIGxpYnNvbHZfc3RhdGljIExJQlJBUlkgREVTVElOQVRJT04gJHtDTUFLRV9JTlNUQUxMX0xJQkRJUn0gQVJDSElWRSBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfTElCRElSfSkKKyBFTkRJRiAoRU5BQkxFX1NUQVRJQyBBTkQgTk9UIERJU0FCTEVfU0hBUkVEKQorZGlmZiAtLWdpdCBhL3Rvb2xzL0NNYWtlTGlzdHMudHh0IGIvdG9vbHMvQ01ha2VMaXN0cy50eHQKK2luZGV4IDgwMmRjNTAwLi4wZDY3N2Y2OSAxMDA2NDQKKy0tLSBhL3Rvb2xzL0NNYWtlTGlzdHMudHh0CisrKysgYi90b29scy9DTWFrZUxpc3RzLnR4dAorQEAgLTExMCw1ICsxMTAsNCBAQCBUQVJHRVRfTElOS19MSUJSQVJJRVMgKHRlc3Rzb2x2IGxpYnNvbHZleHQgbGlic29sdiAke1NZU1RFTV9MSUJSQVJJRVN9KQorIEFERF9FWEVDVVRBQkxFIChyZXBvMnNvbHYgcmVwbzJzb2x2LmMgKQorIFRBUkdFVF9MSU5LX0xJQlJBUklFUyAocmVwbzJzb2x2IHRvb2xzdHVmZiBsaWJzb2x2ZXh0IGxpYnNvbHYgJHtTWVNURU1fTElCUkFSSUVTfSkKKyAKKy1JTlNUQUxMIChUQVJHRVRTICR7dG9vbHNfbGlzdH0gREVTVElOQVRJT04gJHtCSU5fSU5TVEFMTF9ESVJ9KQorLQorK0lOU1RBTEwgKFRBUkdFVFMgJHt0b29sc19saXN0fSBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfQklORElSfSkKKy0tIAorMi4xMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnNvbHYvbGlic29sdi8wMDAxLXNvbHZlcl9zb2x2ZS1vbmx5LWRpc2Zhdm9yLXJlY29tbWVuZHMtaWYtdGhlcmUtYXJlLWEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJzb2x2L2xpYnNvbHYvMDAwMS1zb2x2ZXJfc29sdmUtb25seS1kaXNmYXZvci1yZWNvbW1lbmRzLWlmLXRoZXJlLWFyZS1hLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzOTYxM2EKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJzb2x2L2xpYnNvbHYvMDAwMS1zb2x2ZXJfc29sdmUtb25seS1kaXNmYXZvci1yZWNvbW1lbmRzLWlmLXRoZXJlLWFyZS1hLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK0Zyb20gMTlkN2NjODdhZGJhOTJkMzFkNWZhZmRmN2RiMDA5MjBkMjRhOTZhNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZWphbmRybyBkZWwgQ2FzdGlsbG8gPGFsZWphbmRyby5kZWxjYXN0aWxsb0BuaS5jb20+CitEYXRlOiBXZWQsIDYgRmViIDIwMTkgMTM6MjQ6MDQgLTA2MDAKK1N1YmplY3Q6IFtQQVRDSF0gc29sdmVyX3NvbHZlOiBvbmx5IGRpc2Zhdm9yIHJlY29tbWVuZHMgaWYgdGhlcmUgYXJlIGFueQorCitJbiBhIHJlcG8gdGhhdCBoYXZlIHBrZyAnYScgYW5kICdiJyBhdmFpbGFibGUsIGFuZCAnYicgaXMgZGlzZmF2b3JlZCwKK2J1dCAnYScgZG9lc24ndCByZWNvbW1lbmQgJ2InLCBsaWJzb2x2IHNlZ2ZhdWx0cyBvbgorc29sdmVyX2FkZHJlY29tbWVuZHNydWxlcywgc2luY2Ugc29sdi0+cmVjb21tZW5kc3J1bGVxIGlzIG51bGwuIE9ubHkKK2NhbGwgc29sdmVyX2FkZHJlY29tbWVuZHNydWxlcyBpZiB0aGVyZSBhcmUgcmVjb21tZW5kcyBydWxlcy4KKworU2lnbmVkLW9mZi1ieTogQWxlamFuZHJvIGRlbCBDYXN0aWxsbyA8YWxlamFuZHJvLmRlbGNhc3RpbGxvQG5pLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBBY2NlcHRlZAorLS0tCisgc3JjL3NvbHZlci5jIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL3NvbHZlci5jIGIvc3JjL3NvbHZlci5jCitpbmRleCBhODAwOTBkMTkuLmFkNzgzMjdhOCAxMDA2NDQKKy0tLSBhL3NyYy9zb2x2ZXIuYworKysrIGIvc3JjL3NvbHZlci5jCitAQCAtMzkyMCw3ICszOTIwLDcgQEAgc29sdmVyX3NvbHZlKFNvbHZlciAqc29sdiwgUXVldWUgKmpvYikKKyAgIGVsc2UKKyAgICAgc29sdi0+eXVtb2JzcnVsZXMgPSBzb2x2LT55dW1vYnNydWxlc19lbmQgPSBzb2x2LT5ucnVsZXM7CisgCistICBpZiAoc29sdi0+aGF2ZWRpc2Zhdm9yZWQgJiYgc29sdi0+c3Ryb25ncmVjb21tZW5kcykKKysgIGlmIChzb2x2LT5oYXZlZGlzZmF2b3JlZCAmJiBzb2x2LT5zdHJvbmdyZWNvbW1lbmRzICYmIHNvbHYtPnJlY29tbWVuZHNydWxlcSkKKyAgICAgc29sdmVyX2FkZHJlY29tbWVuZHNydWxlcyhzb2x2KTsKKyAgIGVsc2UKKyAgICAgc29sdi0+cmVjb21tZW5kc3J1bGVzID0gc29sdi0+cmVjb21tZW5kc3J1bGVzX2VuZCA9IHNvbHYtPm5ydWxlczsKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnNvbHYvbGlic29sdi8wMDAyLUZpeGVzLXRvLWludGVybmFsLWZvcGVuY29va2llLWltcGxlbWVudGF0aW9uLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlic29sdi9saWJzb2x2LzAwMDItRml4ZXMtdG8taW50ZXJuYWwtZm9wZW5jb29raWUtaW1wbGVtZW50YXRpb24ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkzYjhjYzkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlic29sdi9saWJzb2x2LzAwMDItRml4ZXMtdG8taW50ZXJuYWwtZm9wZW5jb29raWUtaW1wbGVtZW50YXRpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMDUgKzAsMCBAQAotRnJvbSA4NGUxMmJmN2VjZTQ5MDczYzU1OWRmZDU4MDA1MTMyYTYwOTlhOTY0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP05lYWw9MjBHb21wYT0yMD0yOD1FMz04Mz04Qj1FMz04Mz1CQz1FMz04Mz1BQj1FMz04Mz1CQj89Ci0gPT9VVEYtOD9xPz1FMz04Mj1CMz1FMz04Mj05OT1FMz04Mz1CMz1FMz04Mz04Rj1FMz04Mj05QT0yOT89Ci0gPG5nb21wYTEzQGdtYWlsLmNvbT4KLURhdGU6IE1vbiwgMjMgTm92IDIwMTUgMTg6MTk6NDEgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSCAyLzJdIEZpeGVzIHRvIGludGVybmFsIGZvcGVuY29va2llKCkgaW1wbGVtZW50YXRpb24KLQotQ3JlZGl0cyB0byB0aGUgZml4ZXMgZ28gdG8gbnN6IG9uICNtdXNsIG9uIEZyZWVub2RlLAotd2hvIGdsb3Jpb3VzbHkgZml4ZWQgdGhlIGltcGxlbWVudGF0aW9uIHN1Y2ggdGhhdAotdGhlIHRlc3RzIGFsbCBwYXNzLgotCi1VcHN0cmVhbS1TdGF0dXM6IERlbmllZCBbaHR0cHM6Ly9naXRodWIuY29tL29wZW5TVVNFL2xpYnNvbHYvcHVsbC8xMTJdCi1TaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KLQotLS0tCi0gZXh0L3NvbHZfeGZvcGVuX2ZhbGxiYWNrX2ZvcGVuY29va2llLmMgfCAxOSArKysrKysrKysrLS0tLS0tLS0tCi0gZXh0L3NvbHZfeGZvcGVuX2ZhbGxiYWNrX2ZvcGVuY29va2llLmggfCAxMCArKysrKy0tLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2V4dC9zb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5jIGIvZXh0L3NvbHZfeGZvcGVuX2ZhbGxiYWNrX2ZvcGVuY29va2llLmMKLWluZGV4IDBjZTI1NzEuLjg5NDI2YTkgMTAwNjQ0Ci0tLS0gYS9leHQvc29sdl94Zm9wZW5fZmFsbGJhY2tfZm9wZW5jb29raWUuYwotKysrIGIvZXh0L3NvbHZfeGZvcGVuX2ZhbGxiYWNrX2ZvcGVuY29va2llLmMKLUBAIC0xLDEwICsxLDEwIEBACi0tLyogCi0rLyoKLSAgKglQcm92aWRlcyBhIHZlcnkgbGltaXRlZCBmb3BlbmNvb2tpZSgpIGZvciBlbnZpcm9ubWVudHMgd2l0aCBhIGxpYmMKLSAgKgl0aGF0IGxhY2tzIGl0LgotLSAqCQotLSAqCUF1dGhvcjogemhhc2hhCi0rICoKLSsgKglBdXRob3JzOiB6aGFzaGEgJiBuc3oKLSAgKglNb2RpZmllZCBmb3IgbGlic29sdiBieSBOZWFsIEdvbXBhCi0tICoJCi0rICoKLSAgKglUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRCBsaWNlbnNlLCByZWFkIExJQ0VOU0UuQlNECi0gICoJZm9yIGZ1cnRoZXIgaW5mb3JtYXRpb24uCi0gICoKLUBAIC0zMyw3ICszMyw3IEBAIHN0YXRpYyB2b2lkICpwcm94eSh2b2lkICphcmcpCi0gewotICAgICBzdHJ1Y3QgY3R4ICpjdHggPSBhcmc7Ci0gICAgIHNzaXplX3QgcjsKLS0gICAgc2l6ZV90IG47Ci0rICAgIHNpemVfdCBuLCBrOwotIAotICAgICBwdGhyZWFkX2RldGFjaChwdGhyZWFkX3NlbGYoKSk7Ci0gCi1AQCAtNDcsMTcgKzQ3LDE4IEBAIHN0YXRpYyB2b2lkICpwcm94eSh2b2lkICphcmcpCi0gICAgICAgICB9Ci0gICAgICAgICBpZiAociA9PSAwKSB7IGJyZWFrOyB9Ci0gCi0rICAgICAgICBuID0gciwgayA9IDA7Ci0gICAgICAgICB3aGlsZSAobiA+IDApIHsKLSAgICAgICAgICAgICByID0gY3R4LT5pby53cml0ZSA/Ci0tICAgICAgICAgICAgICAgIChjdHgtPmlvLndyaXRlKShjdHgtPmNvb2tpZSwgY3R4LT5idWYgKyAoKHNpemVfdClyIC0gbiksIG4pIDoKLS0gICAgICAgICAgICAgICAgd3JpdGUoY3R4LT5mZCwgY3R4LT5idWYgKyAoKHNpemVfdClyIC0gbiksIG4pOwotKyAgICAgICAgICAgICAgICAoY3R4LT5pby53cml0ZSkoY3R4LT5jb29raWUsIGN0eC0+YnVmICsgaywgbikgOgotKyAgICAgICAgICAgICAgICB3cml0ZShjdHgtPmZkLCBjdHgtPmJ1ZiArIGssIG4pOwotICAgICAgICAgICAgIGlmIChyIDwgMCkgewotICAgICAgICAgICAgICAgICBpZiAoZXJybm8gIT0gRUlOVFIpIHsgYnJlYWs7IH0KLSAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgfQotICAgICAgICAgICAgIGlmIChyID09IDApIHsgYnJlYWs7IH0KLSAKLS0gICAgICAgICAgICBuIC09IChzaXplX3QpcjsKLSsgICAgICAgICAgICBuIC09IHIsIGsgKz0gcjsKLSAgICAgICAgIH0KLSAgICAgICAgIGlmIChuID4gMCkgeyBicmVhazsgfQotICAgICB9Ci1AQCAtNzcsOCArNzgsOCBAQCBGSUxFICpmb3BlbmNvb2tpZSh2b2lkICpjb29raWUsIGNvbnN0IGNoYXIgKm1vZGUsIHN0cnVjdCBjb29raWVfaW9fZnVuY3Rpb25zX3QgaQotIAotICAgICBzd2l0Y2ggKG1vZGVbMF0pIHsKLSAgICAgICAgIGNhc2UgJ2EnOgotLSAgICAgICAgY2FzZSAncic6IHJkID0gMTsgYnJlYWs7Ci0gICAgICAgICBjYXNlICd3Jzogd3IgPSAxOyBicmVhazsKLSsgICAgICAgIGNhc2UgJ3InOiByZCA9IDE7IGJyZWFrOwotICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICBlcnJubyA9IEVJTlZBTDsKLSAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLWRpZmYgLS1naXQgYS9leHQvc29sdl94Zm9wZW5fZmFsbGJhY2tfZm9wZW5jb29raWUuaCBiL2V4dC9zb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5oCi1pbmRleCA2YTdiZmVlLi43MjIzZTNmIDEwMDY0NAotLS0tIGEvZXh0L3NvbHZfeGZvcGVuX2ZhbGxiYWNrX2ZvcGVuY29va2llLmgKLSsrKyBiL2V4dC9zb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5oCi1AQCAtMSwxMyArMSwxMyBAQAotLS8qIAotKy8qCi0gICoJUHJvdmlkZXMgYSB2ZXJ5IGxpbWl0ZWQgZm9wZW5jb29raWUoKSBmb3IgZW52aXJvbm1lbnRzIHdpdGggYSBsaWJjCi0gICoJdGhhdCBsYWNrcyBpdC4KLS0gKgkKLS0gKglBdXRob3I6IHpoYXNoYQotKyAqCi0rICoJQXV0aG9yczogemhhc2hhICYgbnN6Ci0gICoJTW9kaWZpZWQgZm9yIGxpYnNvbHYgYnkgTmVhbCBHb21wYQotLSAqCQotKyAqCi0gICoJVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0QgbGljZW5zZSwgcmVhZCBMSUNFTlNFLkJTRAotICAqCWZvciBmdXJ0aGVyIGluZm9ybWF0aW9uLgotLSAqCQotKyAqCi0gICovCi0gCi0gI2lmbmRlZiBTT0xWX1hGT1BFTl9GQUxMQkFDS19GT1BFTkNPT0tJRV9ICi0tLSAKLTIuNC4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnNvbHYvbGlic29sdl8wLjYuMzUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJzb2x2L2xpYnNvbHZfMC42LjM1LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMmRmYzVkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnNvbHYvbGlic29sdl8wLjYuMzUuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1TVU1NQVJZID0gIkxpYnJhcnkgZm9yIHNvbHZpbmcgcGFja2FnZXMgYW5kIHJlYWRpbmcgcmVwb3NpdG9yaWVzIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL29wZW5TVVNFL2xpYnNvbHYiCi1CVUdUUkFDS0VSID0gImh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuU1VTRS9saWJzb2x2L2lzc3VlcyIKLVNFQ1RJT04gPSAiZGV2ZWwiCi1MSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UuQlNEO21kNT02MjI3MmJkMTFjOTczOTZkNGFhZjFjNDFiYzExZjdkOCIKLQotREVQRU5EUyA9ICJleHBhdCB6bGliIgotCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vb3BlblNVU0UvbGlic29sdi5naXQiCi1TUkNfVVJJX2FwcGVuZF9saWJjLW11c2wgPSAiIGZpbGU6Ly8wMDAxLUFkZC1mYWxsYmFjay1mb3BlbmNvb2tpZS1pbXBsZW1lbnRhdGlvbi5wYXRjaCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly8wMDAyLUZpeGVzLXRvLWludGVybmFsLWZvcGVuY29va2llLWltcGxlbWVudGF0aW9uLnBhdGNoIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICIKLQotU1JDUkVWID0gIjM4YzUzNzRkNDcxMjY2N2IwYjZhZGE0YmY3OGRkYmIzNDMwOTVkMGMiCi1VUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICIoP1A8cHZlcj5cZCsoXC5cZCspKykiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWluaGVyaXQgY21ha2UKLQotUEFDS0FHRUNPTkZJRyA/Pz0gInJwbSIKLVBBQ0tBR0VDT05GSUdbcnBtXSA9ICItREVOQUJMRV9SUE1NRD1PTiAtREVOQUJMRV9SUE1EQj1PTiwscnBtIgotCi1FWFRSQV9PRUNNQUtFID0gIi1ETElCPSR7YmFzZWxpYn0gLURNVUxUSV9TRU1BTlRJQ1M9T04gLURFTkFCTEVfQ09NUExFWF9ERVBTPU9OIgotCi1QQUNLQUdFUyA9KyAiJHtQTn0tdG9vbHMgJHtQTn1leHQiCi0KLUZJTEVTXyR7UE59LXRvb2xzID0gIiR7YmluZGlyfS8qIgotRklMRVNfJHtQTn1leHQgPSAiJHtsaWJkaXJ9LyR7UE59ZXh0LnNvLioiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnNvbHYvbGlic29sdl8wLjcuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnNvbHYvbGlic29sdl8wLjcuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MGM4ZGJjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlic29sdi9saWJzb2x2XzAuNy4zLmJiCkBAIC0wLDAgKzEsMzIgQEAKK1NVTU1BUlkgPSAiTGlicmFyeSBmb3Igc29sdmluZyBwYWNrYWdlcyBhbmQgcmVhZGluZyByZXBvc2l0b3JpZXMiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vb3BlblNVU0UvbGlic29sdiIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL29wZW5TVVNFL2xpYnNvbHYvaXNzdWVzIgorU0VDVElPTiA9ICJkZXZlbCIKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS5CU0Q7bWQ1PTYyMjcyYmQxMWM5NzM5NmQ0YWFmMWM0MWJjMTFmN2Q4IgorCitERVBFTkRTID0gImV4cGF0IHpsaWIiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuU1VTRS9saWJzb2x2LmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXNvbHZlcl9zb2x2ZS1vbmx5LWRpc2Zhdm9yLXJlY29tbWVuZHMtaWYtdGhlcmUtYXJlLWEucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1idWlsZC11c2UtR05VSW5zdGFsbERpcnMucGF0Y2ggXAorIgorCitTUkNSRVYgPSAiZGM3ZDBmMWMzMTEzZjJjODIxNzU2MzE2NjkwNmJlZjNlYjVkMWVlMSIKK1VQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gIig/UDxwdmVyPlxkKyhcLlxkKykrKSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBjbWFrZQorCitQQUNLQUdFQ09ORklHID8/PSAicnBtIgorUEFDS0FHRUNPTkZJR1tycG1dID0gIi1ERU5BQkxFX1JQTU1EPU9OIC1ERU5BQkxFX1JQTURCPU9OLCxycG0iCisKK0VYVFJBX09FQ01BS0UgPSAiLURNVUxUSV9TRU1BTlRJQ1M9T04gLURFTkFCTEVfQ09NUExFWF9ERVBTPU9OIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tdG9vbHMgJHtQTn1leHQiCisKK0ZJTEVTXyR7UE59LXRvb2xzID0gIiR7YmluZGlyfS8qIgorRklMRVNfJHtQTn1leHQgPSAiJHtsaWJkaXJ9LyR7UE59ZXh0LnNvLioiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnRpcnBjL2xpYnRpcnBjXzEuMC4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlidGlycGMvbGlidGlycGNfMS4wLjMuYmIKaW5kZXggMTdiYzAzOC4uZjk3OGM4YyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlidGlycGMvbGlidGlycGNfMS4wLjMuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlidGlycGMvbGlidGlycGNfMS4wLjMuYmIKQEAgLTEzLDcgKzEzLDggQEAKICAgICAgICAgICAgZmlsZTovL2xpYnRpcnBjLTEuMC40LXJjMS5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9tdXNsLnBhdGNoIFwKICAgICAgICAgICAgIgotCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlidGlycGMvZmlsZXMvbGlidGlycGMvIgorVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiKD9QPHB2ZXI+XGQrKFwuXGQrKSspLyIKIFNSQ19VUklbbWQ1c3VtXSA9ICJmODQwM2ExMDY5NTM0ODg1NGU3MWQ1MjVjNGRiNTkzMSIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICI4NmMzYTc4ZmMxYmRkZWZhOTYxMTFkZDIzMzEyNGM3MDNiMjJhNzg4ODQyMDNjNTVjM2UwNmIzYmU2YTBmZDVlIgogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWdodHRwZC9saWdodHRwZC9saWdodHRwZCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpZ2h0dHBkL2xpZ2h0dHBkL2xpZ2h0dHBkCmluZGV4IGJmODlhNjAuLjgyZmJhYTUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpZ2h0dHBkL2xpZ2h0dHBkL2xpZ2h0dHBkCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpZ2h0dHBkL2xpZ2h0dHBkL2xpZ2h0dHBkCkBAIC00LDcgKzQsNyBAQAogREFFTU9OPS91c3Ivc2Jpbi9saWdodHRwZAogTkFNRT1saWdodHRwZAogREVTQz0iTGlnaHR0cGQgV2ViIFNlcnZlciIKLU9QVFM9Ii1mIC9ldGMvbGlnaHR0cGQuY29uZiIKK09QVFM9Ii1mIC9ldGMvbGlnaHR0cGQvbGlnaHR0cGQuY29uZiIKIAogY2FzZSAiJDEiIGluCiAgIHN0YXJ0KQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlnaHR0cGQvbGlnaHR0cGQvbGlnaHR0cGQuc2VydmljZSBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpZ2h0dHBkL2xpZ2h0dHBkL2xpZ2h0dHBkLnNlcnZpY2UKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY2YTkwN2EuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlnaHR0cGQvbGlnaHR0cGQvbGlnaHR0cGQuc2VydmljZQorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLVtVbml0XQotRGVzY3JpcHRpb249TGlnaHRuaW5nIEZhc3QgV2Vic2VydmVyIFdpdGggTGlnaHQgU3lzdGVtIFJlcXVpcmVtZW50cwotQWZ0ZXI9bmV0d29yay50YXJnZXQKLQotW1NlcnZpY2VdCi1FeGVjU3RhcnRQcmU9QFNCSU5ESVJAL2xpZ2h0dHBkIC10IC1mIEBTWVNDT05GRElSQC9saWdodHRwZC5jb25mCi1FeGVjU3RhcnQ9QFNCSU5ESVJAL2xpZ2h0dHBkIC1EIC1mIEBTWVNDT05GRElSQC9saWdodHRwZC5jb25mCi1FeGVjUmVsb2FkPUBCQVNFX0JJTkRJUkAva2lsbCAtSFVQICRNQUlOUElECi0KLVtJbnN0YWxsXQotV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlnaHR0cGQvbGlnaHR0cGRfMS40LjUxLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlnaHR0cGQvbGlnaHR0cGRfMS40LjUxLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMjhmZDJmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpZ2h0dHBkL2xpZ2h0dHBkXzEuNC41MS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDg1ICswLDAgQEAKLVNVTU1BUlkgPSAiTGlnaHR3ZWlnaHQgaGlnaC1wZXJmb3JtYW5jZSB3ZWIgc2VydmVyIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5saWdodHRwZC5uZXQvIgotQlVHVFJBQ0tFUiA9ICJodHRwOi8vcmVkbWluZS5saWdodHRwZC5uZXQvcHJvamVjdHMvbGlnaHR0cGQvaXNzdWVzIgotCi1MSUNFTlNFID0gIkJTRCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWU0ZGFjNWM2YWIxNjlhYTIxMmZlYjUwMjg4NTNhNTc5IgotCi1TRUNUSU9OID0gIm5ldCIKLVJERVBFTkRTXyR7UE59ID0gImxpZ2h0dHBkLW1vZHVsZS1kaXJsaXN0aW5nIFwKLSAgICAgICAgICAgICAgICAgIGxpZ2h0dHBkLW1vZHVsZS1pbmRleGZpbGUgXAotICAgICAgICAgICAgICAgICAgbGlnaHR0cGQtbW9kdWxlLXN0YXRpY2ZpbGUiCi1SUkVDT01NRU5EU18ke1BOfSA9ICJsaWdodHRwZC1tb2R1bGUtYWNjZXNzIFwKLSAgICAgICAgICAgICAgICAgICAgIGxpZ2h0dHBkLW1vZHVsZS1hY2Nlc3Nsb2ciCi0KLVNSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLmxpZ2h0dHBkLm5ldC9saWdodHRwZC9yZWxlYXNlcy0xLjQueC9saWdodHRwZC0ke1BWfS50YXIueHogXAotICAgICAgICBmaWxlOi8vaW5kZXguaHRtbC5saWdodHRwZCBcCi0gICAgICAgIGZpbGU6Ly9saWdodHRwZC5jb25mIFwKLSAgICAgICAgZmlsZTovL2xpZ2h0dHBkIFwKLSAgICAgICAgZmlsZTovL2xpZ2h0dHBkLnNlcnZpY2UgXAotICAgICAgICBmaWxlOi8vMDAwMS1Vc2UtcGtnLWNvbmZpZy1mb3ItcGNyZS1kZXBlbmRlbmN5LWluc3RlYWQtb2YtY29uZmlnLnBhdGNoIFwKLSAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNmU2OGMxOTYwMWFmMzMyZmEzYzVmMTc0MjQ1ZjU5YmYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmFmOWZkYjI2NWQxZjAyNWJmYTYzNGUxMzc3MDIzOTcxMmVjYmQ1ODVlNDk3NWI4MjI2ZWRmMWRmNzRlOWM4MiIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIm9wZW5zc2wgcGNyZSB6bGliIFwKLSAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgZCl9IFwKLSAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3hhdHRyJywgJ2F0dHInLCAnJywgZCl9IFwKLSIKLQotUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2IgotUEFDS0FHRUNPTkZJR1ttbWFwXSA9ICItLWVuYWJsZS1tbWFwLC0tZGlzYWJsZS1tbWFwIgotUEFDS0FHRUNPTkZJR1tsaWJldl0gPSAiLS13aXRoLWxpYmV2LC0td2l0aG91dC1saWJldixsaWJldiIKLVBBQ0tBR0VDT05GSUdbbXlzcWxdID0gIi0td2l0aC1teXNxbCwtLXdpdGhvdXQtbXlzcWwsbWFyaWFkYiIKLVBBQ0tBR0VDT05GSUdbbGRhcF0gPSAiLS13aXRoLWxkYXAsLS13aXRob3V0LWxkYXAsb3BlbmxkYXAiCi1QQUNLQUdFQ09ORklHW2F0dHJdID0gIi0td2l0aC1hdHRyLC0td2l0aG91dC1hdHRyLGF0dHIiCi1QQUNLQUdFQ09ORklHW3ZhbGdyaW5kXSA9ICItLXdpdGgtdmFsZ3JpbmQsLS13aXRob3V0LXZhbGdyaW5kLHZhbGdyaW5kIgotUEFDS0FHRUNPTkZJR1tvcGVuc3NsXSA9ICItLXdpdGgtb3BlbnNzbCwtLXdpdGhvdXQtb3BlbnNzbCxvcGVuc3NsIgotUEFDS0FHRUNPTkZJR1trcmI1XSA9ICItLXdpdGgta3JiNSwtLXdpdGhvdXQta3JiNSxrcmI1IgotUEFDS0FHRUNPTkZJR1twY3JlXSA9ICItLXdpdGgtcGNyZSwtLXdpdGhvdXQtcGNyZSxsaWJwY3JlIgotUEFDS0FHRUNPTkZJR1t6bGliXSA9ICItLXdpdGgtemxpYiwtLXdpdGhvdXQtemxpYix6bGliIgotUEFDS0FHRUNPTkZJR1tiemlwMl0gPSAiLS13aXRoLWJ6aXAyLC0td2l0aG91dC1iemlwMixiemlwMiIKLVBBQ0tBR0VDT05GSUdbZmFtXSA9ICItLXdpdGgtZmFtLC0td2l0aG91dC1mYW0sZ2FtaW4iCi1QQUNLQUdFQ09ORklHW3dlYmRhdi1wcm9wc10gPSAiLS13aXRoLXdlYmRhdi1wcm9wcywtLXdpdGhvdXQtd2ViZGF2LXByb3BzLGxpYnhtbDIgc3FsaXRlMyIKLVBBQ0tBR0VDT05GSUdbd2ViZGF2LWxvY2tzXSA9ICItLXdpdGgtd2ViZGF2LWxvY2tzLC0td2l0aG91dC13ZWJkYXYtbG9ja3MsdXRpbC1saW51eCIKLVBBQ0tBR0VDT05GSUdbZ2RibV0gPSAiLS13aXRoLWdkYm0sLS13aXRob3V0LWdkYm0sZ2RibSIKLVBBQ0tBR0VDT05GSUdbbWVtY2FjaGVdID0gIi0td2l0aC1tZW1jYWNoZWQsLS13aXRob3V0LW1lbWNhY2hlZCxsaWJtZW1jYWNoZWQiCi1QQUNLQUdFQ09ORklHW2x1YV0gPSAiLS13aXRoLWx1YSwtLXdpdGhvdXQtbHVhLGx1YTUuMSIKLQotRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS1sZnMiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyB1cGRhdGUtcmMuZCBnZXR0ZXh0IHN5c3RlbWQKLQotSU5JVFNDUklQVF9OQU1FID0gImxpZ2h0dHBkIgotSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMgNzAiCi0KLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJsaWdodHRwZC5zZXJ2aWNlIgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZCAke0R9JHtzeXNjb25mZGlyfS9saWdodHRwZC5kICR7RH0vd3d3L3BhZ2VzL2RhdgotCWluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2xpZ2h0dHBkICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAotCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2xpZ2h0dHBkLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0KLQlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9pbmRleC5odG1sLmxpZ2h0dHBkICR7RH0vd3d3L3BhZ2VzL2luZGV4Lmh0bWwKLQotCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLQlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9saWdodHRwZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0Jc2VkIC1pIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnIFwKLQkJLWUgJ3MsQFNZU0NPTkZESVJALCR7c3lzY29uZmRpcn0sZycgXAotCQktZSAncyxAQkFTRV9CSU5ESVJALCR7YmFzZV9iaW5kaXJ9LGcnIFwKLQkJJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vbGlnaHR0cGQuc2VydmljZQotCSNGb3IgRkhTIGNvbXBsaWFuY2UsIGNyZWF0ZSBzeW1ib2xpYyBsaW5rcyB0byAvdmFyL2xvZyBhbmQgL3Zhci90bXAgZm9yIGxvZ3MgYW5kIHRlbXBvcmFyeSBkYXRhCi0JbG4gLXNmICR7bG9jYWxzdGF0ZWRpcn0vbG9nICR7RH0vd3d3L2xvZ3MKLQlsbiAtc2YgJHtsb2NhbHN0YXRlZGlyfS90bXAgJHtEfS93d3cvdmFyCi19Ci0KLUZJTEVTXyR7UE59ICs9ICIke3N5c2NvbmZkaXJ9IC93d3ciCi0KLUNPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L2xpZ2h0dHBkLmNvbmYiCi0KLVBBQ0tBR0VTX0RZTkFNSUMgKz0gIl5saWdodHRwZC1tb2R1bGUtLioiCi0KLXB5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kICgpIHsKLSAgICBsaWdodHRwZF9saWJkaXIgPSBkLmV4cGFuZCgnJHtsaWJkaXJ9JykKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBsaWdodHRwZF9saWJkaXIsICdebW9kXyguKilcLnNvJCcsICdsaWdodHRwZC1tb2R1bGUtJXMnLCAnTGlnaHR0cGQgbW9kdWxlIGZvciAlcycsIGV4dHJhX2RlcGVuZHM9JycpCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWdodHRwZC9saWdodHRwZF8xLjQuNTMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWdodHRwZC9saWdodHRwZF8xLjQuNTMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTBiMzUwZgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpZ2h0dHBkL2xpZ2h0dHBkXzEuNC41My5iYgpAQCAtMCwwICsxLDg0IEBACitTVU1NQVJZID0gIkxpZ2h0d2VpZ2h0IGhpZ2gtcGVyZm9ybWFuY2Ugd2ViIHNlcnZlciIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubGlnaHR0cGQubmV0LyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL3JlZG1pbmUubGlnaHR0cGQubmV0L3Byb2plY3RzL2xpZ2h0dHBkL2lzc3VlcyIKKworTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lNGRhYzVjNmFiMTY5YWEyMTJmZWI1MDI4ODUzYTU3OSIKKworU0VDVElPTiA9ICJuZXQiCitSREVQRU5EU18ke1BOfSA9ICJsaWdodHRwZC1tb2R1bGUtZGlybGlzdGluZyBcCisgICAgICAgICAgICAgICAgICBsaWdodHRwZC1tb2R1bGUtaW5kZXhmaWxlIFwKKyAgICAgICAgICAgICAgICAgIGxpZ2h0dHBkLW1vZHVsZS1zdGF0aWNmaWxlIgorUlJFQ09NTUVORFNfJHtQTn0gPSAibGlnaHR0cGQtbW9kdWxlLWFjY2VzcyBcCisgICAgICAgICAgICAgICAgICAgICBsaWdodHRwZC1tb2R1bGUtYWNjZXNzbG9nIgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZC5saWdodHRwZC5uZXQvbGlnaHR0cGQvcmVsZWFzZXMtMS40LngvbGlnaHR0cGQtJHtQVn0udGFyLnh6IFwKKyAgICAgICAgZmlsZTovL2luZGV4Lmh0bWwubGlnaHR0cGQgXAorICAgICAgICBmaWxlOi8vbGlnaHR0cGQuY29uZiBcCisgICAgICAgIGZpbGU6Ly9saWdodHRwZCBcCisgICAgICAgIGZpbGU6Ly8wMDAxLVVzZS1wa2ctY29uZmlnLWZvci1wY3JlLWRlcGVuZGVuY3ktaW5zdGVhZC1vZi1jb25maWcucGF0Y2ggXAorICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmOTM0MzZkOGQ0MDBiMmIwZTI2ZWU0YmNjNjBiOWFjNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzYmRmY2UxY2YzZTk2NTBhNTU2YThjMjZmYjE1MzQyYzU3MTdjNjNmNTMwYzU0NjkzZGI2MzJiMDM3MWRjYjc4IgorCitQQUNLQUdFQ09ORklHID8/PSAib3BlbnNzbCBwY3JlIHpsaWIgXAorICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneGF0dHInLCAnYXR0cicsICcnLCBkKX0gXAorIgorCitQQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYiCitQQUNLQUdFQ09ORklHW21tYXBdID0gIi0tZW5hYmxlLW1tYXAsLS1kaXNhYmxlLW1tYXAiCitQQUNLQUdFQ09ORklHW2xpYmV2XSA9ICItLXdpdGgtbGliZXYsLS13aXRob3V0LWxpYmV2LGxpYmV2IgorUEFDS0FHRUNPTkZJR1tteXNxbF0gPSAiLS13aXRoLW15c3FsLC0td2l0aG91dC1teXNxbCxtYXJpYWRiIgorUEFDS0FHRUNPTkZJR1tsZGFwXSA9ICItLXdpdGgtbGRhcCwtLXdpdGhvdXQtbGRhcCxvcGVubGRhcCIKK1BBQ0tBR0VDT05GSUdbYXR0cl0gPSAiLS13aXRoLWF0dHIsLS13aXRob3V0LWF0dHIsYXR0ciIKK1BBQ0tBR0VDT05GSUdbdmFsZ3JpbmRdID0gIi0td2l0aC12YWxncmluZCwtLXdpdGhvdXQtdmFsZ3JpbmQsdmFsZ3JpbmQiCitQQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC1vcGVuc3NsLC0td2l0aG91dC1vcGVuc3NsLG9wZW5zc2wiCitQQUNLQUdFQ09ORklHW2tyYjVdID0gIi0td2l0aC1rcmI1LC0td2l0aG91dC1rcmI1LGtyYjUiCitQQUNLQUdFQ09ORklHW3BjcmVdID0gIi0td2l0aC1wY3JlLC0td2l0aG91dC1wY3JlLGxpYnBjcmUiCitQQUNLQUdFQ09ORklHW3psaWJdID0gIi0td2l0aC16bGliLC0td2l0aG91dC16bGliLHpsaWIiCitQQUNLQUdFQ09ORklHW2J6aXAyXSA9ICItLXdpdGgtYnppcDIsLS13aXRob3V0LWJ6aXAyLGJ6aXAyIgorUEFDS0FHRUNPTkZJR1tmYW1dID0gIi0td2l0aC1mYW0sLS13aXRob3V0LWZhbSxnYW1pbiIKK1BBQ0tBR0VDT05GSUdbd2ViZGF2LXByb3BzXSA9ICItLXdpdGgtd2ViZGF2LXByb3BzLC0td2l0aG91dC13ZWJkYXYtcHJvcHMsbGlieG1sMiBzcWxpdGUzIgorUEFDS0FHRUNPTkZJR1t3ZWJkYXYtbG9ja3NdID0gIi0td2l0aC13ZWJkYXYtbG9ja3MsLS13aXRob3V0LXdlYmRhdi1sb2Nrcyx1dGlsLWxpbnV4IgorUEFDS0FHRUNPTkZJR1tnZGJtXSA9ICItLXdpdGgtZ2RibSwtLXdpdGhvdXQtZ2RibSxnZGJtIgorUEFDS0FHRUNPTkZJR1ttZW1jYWNoZV0gPSAiLS13aXRoLW1lbWNhY2hlZCwtLXdpdGhvdXQtbWVtY2FjaGVkLGxpYm1lbWNhY2hlZCIKK1BBQ0tBR0VDT05GSUdbbHVhXSA9ICItLXdpdGgtbHVhLC0td2l0aG91dC1sdWEsbHVhNS4xIgorCitFWFRSQV9PRUNPTkYgKz0gIi0tZW5hYmxlLWxmcyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHVwZGF0ZS1yYy5kIGdldHRleHQgc3lzdGVtZAorCitJTklUU0NSSVBUX05BTUUgPSAibGlnaHR0cGQiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyA3MCIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImxpZ2h0dHBkLnNlcnZpY2UiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kICR7RH0ke3N5c2NvbmZkaXJ9L2xpZ2h0dHBkICR7RH0ke3N5c2NvbmZkaXJ9L2xpZ2h0dHBkLmQgJHtEfS93d3cvcGFnZXMvZGF2CisJaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vbGlnaHR0cGQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisJaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbGlnaHR0cGQuY29uZiAke0R9JHtzeXNjb25mZGlyfS9saWdodHRwZAorCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2luZGV4Lmh0bWwubGlnaHR0cGQgJHtEfS93d3cvcGFnZXMvaW5kZXguaHRtbAorCisJaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCWluc3RhbGwgLW0gMDY0NCAke1N9L2RvYy9zeXN0ZW1kL2xpZ2h0dHBkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKwlzZWQgLWkgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgXAorCQktZSAncyxAU1lTQ09ORkRJUkAsJHtzeXNjb25mZGlyfSxnJyBcCisJCS1lICdzLEBCQVNFX0JJTkRJUkAsJHtiYXNlX2JpbmRpcn0sZycgXAorCQkke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9saWdodHRwZC5zZXJ2aWNlCisJI0ZvciBGSFMgY29tcGxpYW5jZSwgY3JlYXRlIHN5bWJvbGljIGxpbmtzIHRvIC92YXIvbG9nIGFuZCAvdmFyL3RtcCBmb3IgbG9ncyBhbmQgdGVtcG9yYXJ5IGRhdGEKKwlsbiAtc2YgJHtsb2NhbHN0YXRlZGlyfS9sb2cgJHtEfS93d3cvbG9ncworCWxuIC1zZiAke2xvY2Fsc3RhdGVkaXJ9L3RtcCAke0R9L3d3dy92YXIKK30KKworRklMRVNfJHtQTn0gKz0gIiR7c3lzY29uZmRpcn0gL3d3dyIKKworQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vbGlnaHR0cGQvbGlnaHR0cGQuY29uZiIKKworUEFDS0FHRVNfRFlOQU1JQyArPSAiXmxpZ2h0dHBkLW1vZHVsZS0uKiIKKworcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQgKCkgeworICAgIGxpZ2h0dHBkX2xpYmRpciA9IGQuZXhwYW5kKCcke2xpYmRpcn0nKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGxpZ2h0dHBkX2xpYmRpciwgcidebW9kXyguKilcLnNvJCcsICdsaWdodHRwZC1tb2R1bGUtJXMnLCAnTGlnaHR0cGQgbW9kdWxlIGZvciAlcycsIGV4dHJhX2RlcGVuZHM9JycpCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sb2dyb3RhdGUvbG9ncm90YXRlL2FjdC1hcy1tdi13aGVuLXJvdGF0ZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xvZ3JvdGF0ZS9sb2dyb3RhdGUvYWN0LWFzLW12LXdoZW4tcm90YXRlLnBhdGNoCmluZGV4IDA0Y2I1ODguLjc5ODA1YjUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xvZ3JvdGF0ZS9sb2dyb3RhdGUvYWN0LWFzLW12LXdoZW4tcm90YXRlLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xvZ3JvdGF0ZS9sb2dyb3RhdGUvYWN0LWFzLW12LXdoZW4tcm90YXRlLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA1MTdjYmZmNjZjOGJkYmY0NTViYzNiN2MxYTg1YTRmOTkwZDBmOWE2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBjNjM3OTQ4ZWJhYjVhZmY1NjQxNzAwYzVjZjYxMzMyMWNhMGE2ZTZiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CiBEYXRlOiBUdWUsIDE3IEZlYiAyMDE1IDIxOjA4OjA3IC0wODAwCiBTdWJqZWN0OiBbUEFUQ0hdIEFjdCBhcyB0aGUgIm12IiBjb21tYW5kIHdoZW4gcm90YXRlIGxvZwpAQCAtMTAsMTQgKzEwLDE0IEBACiAKIFNpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgogLS0tCi0gbG9ncm90YXRlLmMgfCA3MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDYwIGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQorIGxvZ3JvdGF0ZS5jIHwgNzEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNTkgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9sb2dyb3RhdGUuYyBiL2xvZ3JvdGF0ZS5jCi1pbmRleCA0YWQ1OGQ0Li5iYTA1ODg0IDEwMDY0NAoraW5kZXggNTRkYWM5MC4uYmYzZWMyMyAxMDA2NDQKIC0tLSBhL2xvZ3JvdGF0ZS5jCiArKysgYi9sb2dyb3RhdGUuYwotQEAgLTEzMTUsNiArMTMxNSw1NCBAQCBzdGF0aWMgaW50IGZpbmROZWVkUm90YXRpbmcoc3RydWN0IGxvZ0luZm8gKmxvZywgaW50IGxvZ051bSwgaW50IGZvcmNlKQorQEAgLTEzNjAsNiArMTM2MCw1MyBAQCBzdGF0aWMgaW50IGZpbmROZWVkUm90YXRpbmcoc3RydWN0IGxvZ0luZm8gKmxvZywgaW50IGxvZ051bSwgaW50IGZvcmNlKQogICAgICByZXR1cm4gMDsKICB9CiAgCkBAIC02OCw4NCArNjgsODMgQEAKICsgICAgcmV0dXJuIDE7CiArfQogKwotKwotIHN0YXRpYyBpbnQgcHJlcm90YXRlU2luZ2xlTG9nKHN0cnVjdCBsb2dJbmZvICpsb2csIGludCBsb2dOdW0sCi0gCQkJICAgICAgc3RydWN0IGxvZ1N0YXRlICpzdGF0ZSwgc3RydWN0IGxvZ05hbWVzICpyb3ROYW1lcykKLSB7Ci1AQCAtMTY3NCwxNSArMTcyMiwxNSBAQCBzdGF0aWMgaW50IHByZXJvdGF0ZVNpbmdsZUxvZyhzdHJ1Y3QgbG9nSW5mbyAqbG9nLCBpbnQgbG9nTnVtLAotIAkJfQorIC8qIGZpbmQgdGhlIHJvdGF0ZWQgZmlsZSB3aXRoIHRoZSBoaWdoZXN0IGluZGV4ICovCisgc3RhdGljIGludCBmaW5kTGFzdFJvdGF0ZWQoY29uc3Qgc3RydWN0IGxvZ05hbWVzICpyb3ROYW1lcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmaWxlZXh0LCBjb25zdCBjaGFyICpjb21wZXh0KQorQEAgLTE4MDAsMTUgKzE4NDcsMTUgQEAgc3RhdGljIGludCBwcmVyb3RhdGVTaW5nbGVMb2coc3RydWN0IGxvZ0luZm8gKmxvZywgaW50IGxvZ051bSwKKyAgICAgICAgICAgICB9CiAgCi0gCSAgICBtZXNzYWdlKE1FU1NfREVCVUcsCi0tCQkgICAgInJlbmFtaW5nICVzIHRvICVzIChyb3RhdGVjb3VudCAlZCwgbG9nc3RhcnQgJWQsIGkgJWQpLCBcbiIsCi0rCQkgICAgIm1vdmluZyAlcyB0byAlcyAocm90YXRlY291bnQgJWQsIGxvZ3N0YXJ0ICVkLCBpICVkKSwgXG4iLAotIAkJICAgIG9sZE5hbWUsIG5ld05hbWUsIHJvdGF0ZUNvdW50LCBsb2dTdGFydCwgaSk7CisgICAgICAgICAgICAgbWVzc2FnZShNRVNTX0RFQlVHLAorLSAgICAgICAgICAgICAgICAgICAgInJlbmFtaW5nICVzIHRvICVzIChyb3RhdGVjb3VudCAlZCwgbG9nc3RhcnQgJWQsIGkgJWQpLCBcbiIsCisrICAgICAgICAgICAgICAgICAgICAibW92aW5nICVzIHRvICVzIChyb3RhdGVjb3VudCAlZCwgbG9nc3RhcnQgJWQsIGkgJWQpLCBcbiIsCisgICAgICAgICAgICAgICAgICAgICBvbGROYW1lLCBuZXdOYW1lLCByb3RhdGVDb3VudCwgbG9nU3RhcnQsIGkpOwogIAotLQkgICAgaWYgKCFkZWJ1ZyAmJiByZW5hbWUob2xkTmFtZSwgbmV3TmFtZSkpIHsKLSsJICAgIGlmICghZGVidWcgJiYgbXZGaWxlKG9sZE5hbWUsIG5ld05hbWUsIGxvZywgcHJldl9hY2wpKSB7Ci0gCQlpZiAoZXJybm8gPT0gRU5PRU5UKSB7Ci0gCQkgICAgbWVzc2FnZShNRVNTX0RFQlVHLCAib2xkIGxvZyAlcyBkb2VzIG5vdCBleGlzdFxuIiwKLSAJCQkgICAgb2xkTmFtZSk7Ci0gCQl9IGVsc2UgewotLQkJICAgIG1lc3NhZ2UoTUVTU19FUlJPUiwgImVycm9yIHJlbmFtaW5nICVzIHRvICVzOiAlc1xuIiwKLSsJCSAgICBtZXNzYWdlKE1FU1NfRVJST1IsICJlcnJvciBtb3ZpbmcgJXMgdG8gJXM6ICVzXG4iLAotIAkJCSAgICBvbGROYW1lLCBuZXdOYW1lLCBzdHJlcnJvcihlcnJubykpOwotIAkJICAgIGhhc0Vycm9ycyA9IDE7Ci0gCQl9Ci1AQCAtMTc2NywyMSArMTgxNSwyMSBAQCBzdGF0aWMgaW50IHJvdGF0ZVNpbmdsZUxvZyhzdHJ1Y3QgbG9nSW5mbyAqbG9nLCBpbnQgbG9nTnVtLAotIAkJCQlyZXR1cm4gMTsKLSAJCQl9CistICAgICAgICAgICAgaWYgKCFkZWJ1ZyAmJiByZW5hbWUob2xkTmFtZSwgbmV3TmFtZSkpIHsKKysgICAgICAgICAgICBpZiAoIWRlYnVnICYmIG12RmlsZShvbGROYW1lLCBuZXdOYW1lLCBsb2csIHByZXZfYWNsKSkgeworICAgICAgICAgICAgICAgICBpZiAoZXJybm8gPT0gRU5PRU5UKSB7CisgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlKE1FU1NfREVCVUcsICJvbGQgbG9nICVzIGRvZXMgbm90IGV4aXN0XG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbGROYW1lKTsKKyAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UoTUVTU19FUlJPUiwgImVycm9yIHJlbmFtaW5nICVzIHRvICVzOiAlc1xuIiwKKysgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UoTUVTU19FUlJPUiwgImVycm9yIG1vdmluZyAlcyB0byAlczogJXNcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9sZE5hbWUsIG5ld05hbWUsIHN0cmVycm9yKGVycm5vKSk7CisgICAgICAgICAgICAgICAgICAgICBoYXNFcnJvcnMgPSAxOworICAgICAgICAgICAgICAgICB9CitAQCAtMTg5MSwyMSArMTkzOCwyMSBAQCBzdGF0aWMgaW50IHJvdGF0ZVNpbmdsZUxvZyhzdHJ1Y3QgbG9nSW5mbyAqbG9nLCBpbnQgbG9nTnVtLAorICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgICAgICAgICAgIH0KICAKLS0JCQltZXNzYWdlKE1FU1NfREVCVUcsICJyZW5hbWluZyAlcyB0byAlc1xuIiwgbG9nLT5maWxlc1tsb2dOdW1dLAotKwkJCW1lc3NhZ2UoTUVTU19ERUJVRywgIm1vdmluZyAlcyB0byAlc1xuIiwgbG9nLT5maWxlc1tsb2dOdW1dLAotIAkJCQl0bXBGaWxlbmFtZSk7Ci0tCQkJaWYgKCFkZWJ1ZyAmJiAhaGFzRXJyb3JzICYmIHJlbmFtZShsb2ctPmZpbGVzW2xvZ051bV0sIHRtcEZpbGVuYW1lKSkgewotLQkJCW1lc3NhZ2UoTUVTU19FUlJPUiwgImZhaWxlZCB0byByZW5hbWUgJXMgdG8gJXM6ICVzXG4iLAotKwkJCWlmICghZGVidWcgJiYgIWhhc0Vycm9ycyAmJiBtdkZpbGUobG9nLT5maWxlc1tsb2dOdW1dLCByb3ROYW1lcy0+ZmluYWxOYW1lLCBsb2csIHByZXZfYWNsKSkgewotKwkJCW1lc3NhZ2UoTUVTU19FUlJPUiwgImZhaWxlZCB0byBtb3ZlICVzIHRvICVzOiAlc1xuIiwKLSAJCQkJbG9nLT5maWxlc1tsb2dOdW1dLCB0bXBGaWxlbmFtZSwKLSAJCQkJc3RyZXJyb3IoZXJybm8pKTsKLSAJCQkJaGFzRXJyb3JzID0gMTsKLSAJCQl9Ci0gCQl9Ci0gCQllbHNlIHsKLS0JCQltZXNzYWdlKE1FU1NfREVCVUcsICJyZW5hbWluZyAlcyB0byAlc1xuIiwgbG9nLT5maWxlc1tsb2dOdW1dLAotKwkJCW1lc3NhZ2UoTUVTU19ERUJVRywgIm1vdmluZyAlcyB0byAlc1xuIiwgbG9nLT5maWxlc1tsb2dOdW1dLAotIAkJCQlyb3ROYW1lcy0+ZmluYWxOYW1lKTsKLSAJCQlpZiAoIWRlYnVnICYmICFoYXNFcnJvcnMgJiYKLS0JCQlyZW5hbWUobG9nLT5maWxlc1tsb2dOdW1dLCByb3ROYW1lcy0+ZmluYWxOYW1lKSkgewotLQkJCQltZXNzYWdlKE1FU1NfRVJST1IsICJmYWlsZWQgdG8gcmVuYW1lICVzIHRvICVzOiAlc1xuIiwKLSsJCQltdkZpbGUobG9nLT5maWxlc1tsb2dOdW1dLCByb3ROYW1lcy0+ZmluYWxOYW1lLCBsb2csIHByZXZfYWNsKSkgewotKwkJCQltZXNzYWdlKE1FU1NfRVJST1IsICJmYWlsZWQgdG8gbW92ZSAlcyB0byAlczogJXNcbiIsCi0gCQkJCQlsb2ctPmZpbGVzW2xvZ051bV0sIHJvdE5hbWVzLT5maW5hbE5hbWUsCi0gCQkJCQlzdHJlcnJvcihlcnJubykpOwotIAkJCQkJaGFzRXJyb3JzID0gMTsKLUBAIC0yMTcwLDcgKzIyMTgsNyBAQCBzdGF0aWMgaW50IHJvdGF0ZUxvZ1NldChzdHJ1Y3QgbG9nSW5mbyAqbG9nLCBpbnQgZm9yY2UpCistICAgICAgICAgICAgICAgIG1lc3NhZ2UoTUVTU19ERUJVRywgInJlbmFtaW5nICVzIHRvICVzXG4iLCBsb2ctPmZpbGVzW2xvZ051bV0sCisrICAgICAgICAgICAgICAgIG1lc3NhZ2UoTUVTU19ERUJVRywgIm1vdmluZyAlcyB0byAlc1xuIiwgbG9nLT5maWxlc1tsb2dOdW1dLAorICAgICAgICAgICAgICAgICAgICAgICAgIHRtcEZpbGVuYW1lKTsKKy0gICAgICAgICAgICAgICAgaWYgKCFkZWJ1ZyAmJiAhaGFzRXJyb3JzICYmIHJlbmFtZShsb2ctPmZpbGVzW2xvZ051bV0sIHRtcEZpbGVuYW1lKSkgeworLSAgICAgICAgICAgICAgICAgICAgbWVzc2FnZShNRVNTX0VSUk9SLCAiZmFpbGVkIHRvIHJlbmFtZSAlcyB0byAlczogJXNcbiIsCisrICAgICAgICAgICAgICAgIGlmICghZGVidWcgJiYgIWhhc0Vycm9ycyAmJiBtdkZpbGUobG9nLT5maWxlc1tsb2dOdW1dLCByb3ROYW1lcy0+ZmluYWxOYW1lLCBsb2csIHByZXZfYWNsKSkgeworKyAgICAgICAgICAgICAgICAgICAgbWVzc2FnZShNRVNTX0VSUk9SLCAiZmFpbGVkIHRvIG1vdmUgJXMgdG8gJXM6ICVzXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2ctPmZpbGVzW2xvZ051bV0sIHRtcEZpbGVuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJlcnJvcihlcnJubykpOworICAgICAgICAgICAgICAgICAgICAgaGFzRXJyb3JzID0gMTsKKyAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICBlbHNlIHsKKy0gICAgICAgICAgICAgICAgbWVzc2FnZShNRVNTX0RFQlVHLCAicmVuYW1pbmcgJXMgdG8gJXNcbiIsIGxvZy0+ZmlsZXNbbG9nTnVtXSwKKysgICAgICAgICAgICAgICAgbWVzc2FnZShNRVNTX0RFQlVHLCAibW92aW5nICVzIHRvICVzXG4iLCBsb2ctPmZpbGVzW2xvZ051bV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgcm90TmFtZXMtPmZpbmFsTmFtZSk7CisgICAgICAgICAgICAgICAgIGlmICghZGVidWcgJiYgIWhhc0Vycm9ycyAmJgorLSAgICAgICAgICAgICAgICAgICAgICAgIHJlbmFtZShsb2ctPmZpbGVzW2xvZ051bV0sIHJvdE5hbWVzLT5maW5hbE5hbWUpKSB7CistICAgICAgICAgICAgICAgICAgICBtZXNzYWdlKE1FU1NfRVJST1IsICJmYWlsZWQgdG8gcmVuYW1lICVzIHRvICVzOiAlc1xuIiwKKysgICAgICAgICAgICAgICAgICAgICAgICBtdkZpbGUobG9nLT5maWxlc1tsb2dOdW1dLCByb3ROYW1lcy0+ZmluYWxOYW1lLCBsb2csIHByZXZfYWNsKSkgeworKyAgICAgICAgICAgICAgICAgICAgbWVzc2FnZShNRVNTX0VSUk9SLCAiZmFpbGVkIHRvIG1vdmUgJXMgdG8gJXM6ICVzXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2ctPmZpbGVzW2xvZ051bV0sIHJvdE5hbWVzLT5maW5hbE5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmVycm9yKGVycm5vKSk7CisgICAgICAgICAgICAgICAgICAgICBoYXNFcnJvcnMgPSAxOworQEAgLTIyOTcsNyArMjM0NCw3IEBAIHN0YXRpYyBpbnQgcm90YXRlTG9nU2V0KHN0cnVjdCBsb2dJbmZvICpsb2csIGludCBmb3JjZSkKICAgICAgcmV0dXJuIGhhc0Vycm9yczsKICB9CiAgCiAtc3RhdGljIGludCB3cml0ZVN0YXRlKGNvbnN0IGNoYXIgKnN0YXRlRmlsZW5hbWUpCiArc3RhdGljIGludCB3cml0ZVN0YXRlKHN0cnVjdCBsb2dJbmZvICpsb2csIGNoYXIgKnN0YXRlRmlsZW5hbWUpCiAgewotIAlzdHJ1Y3QgbG9nU3RhdGUgKnA7Ci0gCUZJTEUgKmY7Ci1AQCAtMjMyMiw3ICsyMzcwLDcgQEAgc3RhdGljIGludCB3cml0ZVN0YXRlKGNvbnN0IGNoYXIgKnN0YXRlRmlsZW5hbWUpCi0gCQlmY2xvc2UoZik7CisgICAgIHN0cnVjdCBsb2dTdGF0ZSAqcDsKKyAgICAgRklMRSAqZjsKK0BAIC0yNDYwLDcgKzI1MDcsNyBAQCBzdGF0aWMgaW50IHdyaXRlU3RhdGUoY29uc3QgY2hhciAqc3RhdGVGaWxlbmFtZSkKKyAgICAgICAgIGZjbG9zZShmKTsKICAKLSAJaWYgKGVycm9yID09IDApIHsKLS0JCWlmIChyZW5hbWUodG1wRmlsZW5hbWUsIHN0YXRlRmlsZW5hbWUpKSB7Ci0rCQlpZiAobXZGaWxlKHRtcEZpbGVuYW1lLCBzdGF0ZUZpbGVuYW1lLCBsb2csIHByZXZfYWNsKSkgewotIAkJCXVubGluayh0bXBGaWxlbmFtZSk7Ci0gCQkJZXJyb3IgPSAxOwotIAkJCW1lc3NhZ2UoTUVTU19FUlJPUiwgImVycm9yIHJlbmFtaW5nIHRlbXAgc3RhdGUgZmlsZSAlc1xuIiwKLUBAIC0yNjQ4LDcgKzI2OTYsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCi0gCQlyYyB8PSByb3RhdGVMb2dTZXQobG9nLCBmb3JjZSk7CisgICAgIGlmIChlcnJvciA9PSAwKSB7CistICAgICAgICBpZiAocmVuYW1lKHRtcEZpbGVuYW1lLCBzdGF0ZUZpbGVuYW1lKSkgeworKyAgICAgICAgaWYgKG12RmlsZSh0bXBGaWxlbmFtZSwgc3RhdGVGaWxlbmFtZSwgbG9nLCBwcmV2X2FjbCkpIHsKKyAgICAgICAgICAgICB1bmxpbmsodG1wRmlsZW5hbWUpOworICAgICAgICAgICAgIGVycm9yID0gMTsKKyAgICAgICAgICAgICBtZXNzYWdlKE1FU1NfRVJST1IsICJlcnJvciByZW5hbWluZyB0ZW1wIHN0YXRlIGZpbGUgJXNcbiIsCitAQCAtMjgwNSw3ICsyODUyLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQorICAgICAgICAgcmMgfD0gcm90YXRlTG9nU2V0KGxvZywgZm9yY2UpOwogIAotIAlpZiAoIWRlYnVnKQotLQkJcmMgfD0gd3JpdGVTdGF0ZShzdGF0ZUZpbGUpOwotKwkJcmMgfD0gd3JpdGVTdGF0ZShsb2csIHN0YXRlRmlsZSk7CisgICAgIGlmICghZGVidWcpCistICAgICAgICByYyB8PSB3cml0ZVN0YXRlKHN0YXRlRmlsZSk7CisrICAgICAgICByYyB8PSB3cml0ZVN0YXRlKGxvZywgc3RhdGVGaWxlKTsKICAKLSAJcmV0dXJuIChyYyAhPSAwKTsKKyAgICAgcmV0dXJuIChyYyAhPSAwKTsKICB9CiAtLSAKLTEuOC4zLjEKKzIuMTguMQogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sb2dyb3RhdGUvbG9ncm90YXRlL2Rpc2FibGUtY2hlY2stZGlmZmVyZW50LWZpbGVzeXN0ZW1zLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbG9ncm90YXRlL2xvZ3JvdGF0ZS9kaXNhYmxlLWNoZWNrLWRpZmZlcmVudC1maWxlc3lzdGVtcy5wYXRjaAppbmRleCA3OTNkNzAyLi45NmZmMDk4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sb2dyb3RhdGUvbG9ncm90YXRlL2Rpc2FibGUtY2hlY2stZGlmZmVyZW50LWZpbGVzeXN0ZW1zLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xvZ3JvdGF0ZS9sb2dyb3RhdGUvZGlzYWJsZS1jaGVjay1kaWZmZXJlbnQtZmlsZXN5c3RlbXMucGF0Y2gKQEAgLTEsNCArMSw3IEBACi1EaXNhYmxlIHRoZSBjaGVjayBmb3IgZGlmZmVyZW50IGZpbGVzeXN0ZW1zCitGcm9tIGU0Nzc5NmM4ZTgyNzBhM2QxNGYwYjA2YWY4YTllOTE2YzIyMjU1MTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgOCBKYW4gMjAxOSAwNjoyNzowNiArMDAwMAorU3ViamVjdDogW1BBVENIXSBEaXNhYmxlIHRoZSBjaGVjayBmb3IgZGlmZmVyZW50IGZpbGVzeXN0ZW1zCiAKIFRoZSBsb2dyb3RhdGUgc3VwcG9ydHMgcm90YXRlIGxvZyBhY3Jvc3MgZGlmZmVyZW50IGZpbGVzeXN0ZW1zIG5vdywgc28KIGRpc2FibGUgdGhlIGNoZWNrIGZvciBkaWZmZXJlbnQgZmlsZXN5c3RlbXMuCkBAIC03LDI2ICsxMCwyOSBAQAogCiBTaWduZWQtb2ZmLWJ5OiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KIC0tLQotIGNvbmZpZy5jIHwgICAgOSAtLS0tLS0tLS0KKyBjb25maWcuYyB8IDkgLS0tLS0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDkgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9jb25maWcuYyBiL2NvbmZpZy5jCi1pbmRleCBkYmJmNTYzLi42NGU2NmY2IDEwMDY0NAoraW5kZXggNjMzYjg0My4uOTlhNGEzYiAxMDA2NDQKIC0tLSBhL2NvbmZpZy5jCiArKysgYi9jb25maWcuYwotQEAgLTE0OTMsMTUgKzE0OTMsNiBAQCBzdGF0aWMgaW50IHJlYWRDb25maWdGaWxlKGNvbnN0IGNoYXIgKmNvbmZpZ0ZpbGUsIHN0cnVjdCBsb2dJbmZvICpkZWZDb25maWcpCi0gCQkJCQkJCWdvdG8gZXJyb3I7Ci0gCQkJCQkJfQotIAkJCQkJfQorQEAgLTE3NjUsMTUgKzE3NjUsNiBAQCBkdXBlcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAtCi0tCQkJCQlpZiAoc2Iuc3RfZGV2ICE9IHNiMi5zdF9kZXYKLS0JCQkJCQkmJiAhKG5ld2xvZy0+ZmxhZ3MgJiAoTE9HX0ZMQUdfQ09QWVRSVU5DQVRFIHwgTE9HX0ZMQUdfQ09QWSB8IExPR19GTEFHX1RNUEZJTEVOQU1FKSkpIHsKLS0JCQkJCQltZXNzYWdlKE1FU1NfRVJST1IsCi0tCQkJCQkJCSIlczolZCBvbGRkaXIgJXMgYW5kIGxvZyBmaWxlICVzICIKLS0JCQkJCQkJImFyZSBvbiBkaWZmZXJlbnQgZGV2aWNlc1xuIiwgY29uZmlnRmlsZSwKLS0JCQkJCQkJbGluZU51bSwgbmV3bG9nLT5vbGREaXIsIG5ld2xvZy0+ZmlsZXNbaV0pOwotLQkJCQkJCWdvdG8gZXJyb3I7Ci0tCQkJCQl9Ci0gCQkJCX0KLSAJCQl9CistICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzYi5zdF9kZXYgIT0gc2IyLnN0X2RldgorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmICEobmV3bG9nLT5mbGFncyAmIChMT0dfRkxBR19DT1BZVFJVTkNBVEUgfCBMT0dfRkxBR19DT1BZIHwgTE9HX0ZMQUdfVE1QRklMRU5BTUUpKSkgeworLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZShNRVNTX0VSUk9SLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXM6JWQgb2xkZGlyICVzIGFuZCBsb2cgZmlsZSAlcyAiCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcmUgb24gZGlmZmVyZW50IGRldmljZXNcbiIsIGNvbmZpZ0ZpbGUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVOdW0sIG5ld2xvZy0+b2xkRGlyLCBuZXdsb2ctPmZpbGVzW2ldKTsKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CistICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICB9CiAgCistLSAKKzIuMTguMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sb2dyb3RhdGUvbG9ncm90YXRlXzMuMTQuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xvZ3JvdGF0ZS9sb2dyb3RhdGVfMy4xNC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjY2M2OGFkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xvZ3JvdGF0ZS9sb2dyb3RhdGVfMy4xNC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsOTkgKzAsMCBAQAotU1VNTUFSWSA9ICJSb3RhdGVzLCBjb21wcmVzc2VzLCByZW1vdmVzIGFuZCBtYWlscyBzeXN0ZW0gbG9nIGZpbGVzIgotU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2xvZ3JvdGF0ZS9sb2dyb3RhdGUvaXNzdWVzIgotTElDRU5TRSA9ICJHUEx2MiIKLQotIyBUT0RPOiBEb2N1bWVudCBjb3JldXRpbHMgZGVwZW5kZW5jeS4gV2h5IG5vdCBSREVQRU5EUz8gV2h5IG5vdCBidXN5Ym94PwotCi1ERVBFTkRTPSJjb3JldXRpbHMgcG9wdCIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCi0KLSMgV2hlbiB1cGRhdGluZyBsb2dyb3RhdGUgdG8gbGF0ZXN0IHVwc3RyZWFtLCBTUkNfVVJJIHNob3VsZCBwb2ludCB0bwotIyBhIHByb3BlciByZWxlYXNlIHRhcmJhbGwgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vbG9ncm90YXRlL2xvZ3JvdGF0ZS9yZWxlYXNlcwotIyBhbmQgd2UgaGF2ZSB0byB0YWtlIHRoZSBzbmFwc2hvdCBmb3Igbm93IGJlY2F1c2UgdGhlcmUgaXMgbm8gc3VjaAotIyB0YXJiYWxsIGF2YWlsYWJsZSBmb3IgMy45LjEuCi0KLVMgPSAiJHtXT1JLRElSfS8ke0JQTn0tJHtQVn0iCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vJHtCUE59LyR7QlBOfS9yZWxlYXNlcyIKLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gImxvZ3JvdGF0ZS0oP1A8cHZlcj5cZCsoXC5cZCspKykudGFyIgotCi1TUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS8ke0JQTn0vJHtCUE59L3JlbGVhc2VzL2Rvd25sb2FkLyR7UFZ9LyR7QlB9LnRhci54eiBcCi0gICAgICAgICAgICBmaWxlOi8vYWN0LWFzLW12LXdoZW4tcm90YXRlLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly91cGRhdGUtdGhlLW1hbnVhbC5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vZGlzYWJsZS1jaGVjay1kaWZmZXJlbnQtZmlsZXN5c3RlbXMucGF0Y2ggXAotICAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMWMwZjZlNmU0OTBjNGJjYWMwYTFlNzdhZDEzMTA2ODMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDcwM2JkYzBlMmRmM2IzMjJmOWRmZjBhYWZjOTlhYTkxNzJjOWU0YWNhZTI4YjdjOTI0Y2M3ZDRlNWIyOWQ1NSIKLQotUEFDS0FHRUNPTkZJRyA/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnYWNsIHNlbGludXgnLCBkKX0iCi0KLVBBQ0tBR0VDT05GSUdbYWNsXSA9ICIsLGFjbCIKLVBBQ0tBR0VDT05GSUdbc2VsaW51eF0gPSAiLCxsaWJzZWxpbnV4IgotCi1DT05GRklMRVNfJHtQTn0gKz0gIiR7bG9jYWxzdGF0ZWRpcn0vbGliL2xvZ3JvdGF0ZS5zdGF0dXMgXAotICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2xvZ3JvdGF0ZS5jb25mIFwKLSAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9sb2dyb3RhdGUuZC9idG1wIFwKLSAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9sb2dyb3RhdGUuZC93dG1wIgotCi0jIElmIFJQTV9PUFRfRkxBR1MgaXMgdW5zZXQsIGl0IGFkZHMgLWcgaXRzZWxmIHJhdGhlciB0aGFuIG9iZXlpbmcgb3VyCi0jIG9wdGltaXphdGlvbiB2YXJpYWJsZXMsIHNvIHVzZSBpdCByYXRoZXIgdGhhbiBFWFRSQV9DRkxBR1MuCi1FWFRSQV9PRU1BS0UgPSAiXAotICAgIExGUz0gXAotICAgIE9TX05BTUU9JyR7T1NfTkFNRX0nIFwKLSAgICAnQ0M9JHtDQ30nIFwKLSAgICAnUlBNX09QVF9GTEFHUz0ke0NGTEFHU30nIFwKLSAgICAnRVhUUkFfTERGTEFHUz0ke0xERkxBR1N9JyBcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnYWNsJywgJ1dJVEhfQUNMPXllcycsICcnLCBkKX0gXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3NlbGludXgnLCAnV0lUSF9TRUxJTlVYPXllcycsICcnLCBkKX0gXAotIgotCi0jIE9TX05BTUUgaW4gdGhlIG1ha2VmaWxlIGRlZmF1bHRzIHRvIGB1bmFtZSAtc2AuIFRoZSBiZWhhdmlvciBmb3IKLSMgZnJlZWJzZC9uZXRic2QgaXMgcXVlc3Rpb25hYmxlLCBzbyBsZWF2ZSBpdCBhcyBMaW51eCwgd2hpY2ggb25seSBzZXRzCi0jIElOU1RBTEw9aW5zdGFsbCBhbmQgQkFTRURJUj0vdXNyLgotT1NfTkFNRSA9ICJMaW51eCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgc3lzdGVtZAotCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiXAotICAgICR7QlBOfS5zZXJ2aWNlIFwKLSAgICAke0JQTn0udGltZXIgXAotIgotCi1MT0dST1RBVEVfT1BUSU9OUyA/PSAiIgotCi1MT0dST1RBVEVfU1lTVEVNRF9USU1FUl9CQVNJUyA/PSAiZGFpbHkiCi1MT0dST1RBVEVfU1lTVEVNRF9USU1FUl9BQ0NVUkFDWSA/PSAiMTJoIgotTE9HUk9UQVRFX1NZU1RFTURfVElNRVJfUEVSU0lTVEVOVCA/PSAidHJ1ZSIKLQotZG9faW5zdGFsbCgpewotICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0gUFJFRklYPSR7RH0gTUFORElSPSR7bWFuZGlyfQotICAgIG1rZGlyIC1wICR7RH0ke3N5c2NvbmZkaXJ9L2xvZ3JvdGF0ZS5kCi0gICAgbWtkaXIgLXAgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliCi0gICAgaW5zdGFsbCAtcCAtbSA2NDQgJHtTfS9leGFtcGxlcy9sb2dyb3RhdGUtZGVmYXVsdCAke0R9JHtzeXNjb25mZGlyfS9sb2dyb3RhdGUuY29uZgotICAgIGluc3RhbGwgLXAgLW0gNjQ0ICR7U30vZXhhbXBsZXMvYnRtcCAke0R9JHtzeXNjb25mZGlyfS9sb2dyb3RhdGUuZC9idG1wCi0gICAgaW5zdGFsbCAtcCAtbSA2NDQgJHtTfS9leGFtcGxlcy93dG1wICR7RH0ke3N5c2NvbmZkaXJ9L2xvZ3JvdGF0ZS5kL3d0bXAKLSAgICB0b3VjaCAke0R9JHtsb2NhbHN0YXRlZGlyfS9saWIvbG9ncm90YXRlLnN0YXR1cwotCi0gICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KLSAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfQotICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9leGFtcGxlcy9sb2dyb3RhdGUuc2VydmljZSAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9sb2dyb3RhdGUuc2VydmljZQotICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9leGFtcGxlcy9sb2dyb3RhdGUudGltZXIgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vbG9ncm90YXRlLnRpbWVyCi0gICAgICAgIFsgLXogIiR7TE9HUk9UQVRFX09QVElPTlN9IiBdIHx8Ci0gICAgICAgICAgICBzZWQgLXJpIFwKLSAgICAgICAgICAgICAgICAtZSAnc3woRXhlY1N0YXJ0PS4qL2xvZ3JvdGF0ZS4qKSR8XDEgJHtMT0dST1RBVEVfT1BUSU9OU318ZycgXAotICAgICAgICAgICAgICAgICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2xvZ3JvdGF0ZS5zZXJ2aWNlCi0gICAgICAgIHNlZCAtcmkgXAotICAgICAgICAgICAgLWUgJ3N8KE9uQ2FsZW5kYXI9KS4qJHxcMSR7TE9HUk9UQVRFX1NZU1RFTURfVElNRVJfQkFTSVN9fGcnIFwKLSAgICAgICAgICAgIC1lICdzfChBY2N1cmFjeVNlYz0pLiokfFwxJHtMT0dST1RBVEVfU1lTVEVNRF9USU1FUl9BQ0NVUkFDWX18ZycgXAotICAgICAgICAgICAgLWUgJ3N8KFBlcnNpc3RlbnQ9KS4qJHxcMSR7TE9HUk9UQVRFX1NZU1RFTURfVElNRVJfUEVSU0lTVEVOVH18ZycgXAotICAgICAgICAgICAgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vbG9ncm90YXRlLnRpbWVyCi0gICAgZmkKLQotICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdmluaXQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgotICAgICAgICBta2RpciAtcCAke0R9JHtzeXNjb25mZGlyfS9jcm9uLmRhaWx5Ci0gICAgICAgIGluc3RhbGwgLXAgLW0gMDc1NSAke1N9L2V4YW1wbGVzL2xvZ3JvdGF0ZS5jcm9uICR7RH0ke3N5c2NvbmZkaXJ9L2Nyb24uZGFpbHkvbG9ncm90YXRlCi0gICAgZmkKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xvZ3JvdGF0ZS9sb2dyb3RhdGVfMy4xNS4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbG9ncm90YXRlL2xvZ3JvdGF0ZV8zLjE1LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGYzZGEyYgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xvZ3JvdGF0ZS9sb2dyb3RhdGVfMy4xNS4wLmJiCkBAIC0wLDAgKzEsOTkgQEAKK1NVTU1BUlkgPSAiUm90YXRlcywgY29tcHJlc3NlcywgcmVtb3ZlcyBhbmQgbWFpbHMgc3lzdGVtIGxvZyBmaWxlcyIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9sb2dyb3RhdGUvbG9ncm90YXRlL2lzc3VlcyIKK0xJQ0VOU0UgPSAiR1BMdjIiCisKKyMgVE9ETzogRG9jdW1lbnQgY29yZXV0aWxzIGRlcGVuZGVuY3kuIFdoeSBub3QgUkRFUEVORFM/IFdoeSBub3QgYnVzeWJveD8KKworREVQRU5EUz0iY29yZXV0aWxzIHBvcHQiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCisjIFdoZW4gdXBkYXRpbmcgbG9ncm90YXRlIHRvIGxhdGVzdCB1cHN0cmVhbSwgU1JDX1VSSSBzaG91bGQgcG9pbnQgdG8KKyMgYSBwcm9wZXIgcmVsZWFzZSB0YXJiYWxsIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2xvZ3JvdGF0ZS9sb2dyb3RhdGUvcmVsZWFzZXMKKyMgYW5kIHdlIGhhdmUgdG8gdGFrZSB0aGUgc25hcHNob3QgZm9yIG5vdyBiZWNhdXNlIHRoZXJlIGlzIG5vIHN1Y2gKKyMgdGFyYmFsbCBhdmFpbGFibGUgZm9yIDMuOS4xLgorCitTID0gIiR7V09SS0RJUn0vJHtCUE59LSR7UFZ9IgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tLyR7QlBOfS8ke0JQTn0vcmVsZWFzZXMiCitVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJsb2dyb3RhdGUtKD9QPHB2ZXI+XGQrKFwuXGQrKSspLnRhciIKKworU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vJHtCUE59LyR7QlBOfS9yZWxlYXNlcy9kb3dubG9hZC8ke1BWfS8ke0JQfS50YXIueHogXAorICAgICAgICAgICAgZmlsZTovL2FjdC1hcy1tdi13aGVuLXJvdGF0ZS5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vdXBkYXRlLXRoZS1tYW51YWwucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL2Rpc2FibGUtY2hlY2stZGlmZmVyZW50LWZpbGVzeXN0ZW1zLnBhdGNoIFwKKyAgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjMyMDA0NmYwYjlmYzM4MzM3ZTg4MjdkNGM1YTg2NmEwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjMxMzYxMmM0Nzc2YTMwNTM5MzQ1NGM4NzRlZjU5MGQ4YWNmODRjOWZmYTY0ODcxNzczMWRmZTkwMjI4NGZmOGYiCisKK1BBQ0tBR0VDT05GSUcgPz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2FjbCBzZWxpbnV4JywgZCl9IgorCitQQUNLQUdFQ09ORklHW2FjbF0gPSAiLCxhY2wiCitQQUNLQUdFQ09ORklHW3NlbGludXhdID0gIiwsbGlic2VsaW51eCIKKworQ09ORkZJTEVTXyR7UE59ICs9ICIke2xvY2Fsc3RhdGVkaXJ9L2xpYi9sb2dyb3RhdGUuc3RhdHVzIFwKKyAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9sb2dyb3RhdGUuY29uZiBcCisgICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vbG9ncm90YXRlLmQvYnRtcCBcCisgICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vbG9ncm90YXRlLmQvd3RtcCIKKworIyBJZiBSUE1fT1BUX0ZMQUdTIGlzIHVuc2V0LCBpdCBhZGRzIC1nIGl0c2VsZiByYXRoZXIgdGhhbiBvYmV5aW5nIG91cgorIyBvcHRpbWl6YXRpb24gdmFyaWFibGVzLCBzbyB1c2UgaXQgcmF0aGVyIHRoYW4gRVhUUkFfQ0ZMQUdTLgorRVhUUkFfT0VNQUtFID0gIlwKKyAgICBMRlM9IFwKKyAgICBPU19OQU1FPScke09TX05BTUV9JyBcCisgICAgJ0NDPSR7Q0N9JyBcCisgICAgJ1JQTV9PUFRfRkxBR1M9JHtDRkxBR1N9JyBcCisgICAgJ0VYVFJBX0xERkxBR1M9JHtMREZMQUdTfScgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2FjbCcsICdXSVRIX0FDTD15ZXMnLCAnJywgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdzZWxpbnV4JywgJ1dJVEhfU0VMSU5VWD15ZXMnLCAnJywgZCl9IFwKKyIKKworIyBPU19OQU1FIGluIHRoZSBtYWtlZmlsZSBkZWZhdWx0cyB0byBgdW5hbWUgLXNgLiBUaGUgYmVoYXZpb3IgZm9yCisjIGZyZWVic2QvbmV0YnNkIGlzIHF1ZXN0aW9uYWJsZSwgc28gbGVhdmUgaXQgYXMgTGludXgsIHdoaWNoIG9ubHkgc2V0cworIyBJTlNUQUxMPWluc3RhbGwgYW5kIEJBU0VESVI9L3Vzci4KK09TX05BTUUgPSAiTGludXgiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHN5c3RlbWQKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIlwKKyAgICAke0JQTn0uc2VydmljZSBcCisgICAgJHtCUE59LnRpbWVyIFwKKyIKKworTE9HUk9UQVRFX09QVElPTlMgPz0gIiIKKworTE9HUk9UQVRFX1NZU1RFTURfVElNRVJfQkFTSVMgPz0gImRhaWx5IgorTE9HUk9UQVRFX1NZU1RFTURfVElNRVJfQUNDVVJBQ1kgPz0gIjEyaCIKK0xPR1JPVEFURV9TWVNURU1EX1RJTUVSX1BFUlNJU1RFTlQgPz0gInRydWUiCisKK2RvX2luc3RhbGwoKXsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9IFBSRUZJWD0ke0R9IE1BTkRJUj0ke21hbmRpcn0KKyAgICBta2RpciAtcCAke0R9JHtzeXNjb25mZGlyfS9sb2dyb3RhdGUuZAorICAgIG1rZGlyIC1wICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYgorICAgIGluc3RhbGwgLXAgLW0gNjQ0ICR7U30vZXhhbXBsZXMvbG9ncm90YXRlLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vbG9ncm90YXRlLmNvbmYKKyAgICBpbnN0YWxsIC1wIC1tIDY0NCAke1N9L2V4YW1wbGVzL2J0bXAgJHtEfSR7c3lzY29uZmRpcn0vbG9ncm90YXRlLmQvYnRtcAorICAgIGluc3RhbGwgLXAgLW0gNjQ0ICR7U30vZXhhbXBsZXMvd3RtcCAke0R9JHtzeXNjb25mZGlyfS9sb2dyb3RhdGUuZC93dG1wCisgICAgdG91Y2ggJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliL2xvZ3JvdGF0ZS5zdGF0dXMKKworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0KKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vZXhhbXBsZXMvbG9ncm90YXRlLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vbG9ncm90YXRlLnNlcnZpY2UKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vZXhhbXBsZXMvbG9ncm90YXRlLnRpbWVyICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2xvZ3JvdGF0ZS50aW1lcgorICAgICAgICBbIC16ICIke0xPR1JPVEFURV9PUFRJT05TfSIgXSB8fAorICAgICAgICAgICAgc2VkIC1yaSBcCisgICAgICAgICAgICAgICAgLWUgJ3N8KEV4ZWNTdGFydD0uKi9sb2dyb3RhdGUuKikkfFwxICR7TE9HUk9UQVRFX09QVElPTlN9fGcnIFwKKyAgICAgICAgICAgICAgICAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9sb2dyb3RhdGUuc2VydmljZQorICAgICAgICBzZWQgLXJpIFwKKyAgICAgICAgICAgIC1lICdzfChPbkNhbGVuZGFyPSkuKiR8XDEke0xPR1JPVEFURV9TWVNURU1EX1RJTUVSX0JBU0lTfXxnJyBcCisgICAgICAgICAgICAtZSAnc3woQWNjdXJhY3lTZWM9KS4qJHxcMSR7TE9HUk9UQVRFX1NZU1RFTURfVElNRVJfQUNDVVJBQ1l9fGcnIFwKKyAgICAgICAgICAgIC1lICdzfChQZXJzaXN0ZW50PSkuKiR8XDEke0xPR1JPVEFURV9TWVNURU1EX1RJTUVSX1BFUlNJU1RFTlR9fGcnIFwKKyAgICAgICAgICAgICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2xvZ3JvdGF0ZS50aW1lcgorICAgIGZpCisKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3Zpbml0JywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgbWtkaXIgLXAgJHtEfSR7c3lzY29uZmRpcn0vY3Jvbi5kYWlseQorICAgICAgICBpbnN0YWxsIC1wIC1tIDA3NTUgJHtTfS9leGFtcGxlcy9sb2dyb3RhdGUuY3JvbiAke0R9JHtzeXNjb25mZGlyfS9jcm9uLmRhaWx5L2xvZ3JvdGF0ZQorICAgIGZpCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDEtbW1hcDE1LW1pcHM2NC1yZXR1cm4tRUlOVkFMLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDAxLW1tYXAxNS1taXBzNjQtcmV0dXJuLUVJTlZBTC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMThlYmEyNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDEtbW1hcDE1LW1pcHM2NC1yZXR1cm4tRUlOVkFMLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotRnJvbSBiOTA5ODA1YjRmYzFiNzJlMGNlMjk5YWZiNGFiYzAyNzIwZWU4MWRhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRGVuZ2tlIER1IDxkZW5na2UuZHVAd2luZHJpdmVyLmNvbT4KLURhdGU6IFdlZCwgMTIgU2VwIDIwMTggMTQ6MjQ6MzUgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gbW1hcDE1OiBtaXBzNjQgcmV0dXJuIEVJTlZBTAotCi1JbiBtaXBzNjQga2VybmVsLCBzeXN0ZW0gY2hlY2sgdGhlIGFkZHIgdGhhdCBwYXNzZWQgdG8gbW1hcDoKLQotICAgIGlmIChUQVNLX1NJWkUgLSBsZW4gPCBhZGRyKQotICAgICAgICByZXR1cm4gLUVJTlZBTDsKLQotTGluazogaHR0cHM6Ly9naXRodWIuY29tL3RvcnZhbGRzL2xpbnV4L2Jsb2IvbWFzdGVyL2FyY2gvbWlwcy9tbS9tbWFwLmMjTDcxCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vbGludXgtdGVzdC1wcm9qZWN0L2x0cC9wdWxsLzM5NF0KLQotU2lnbmVkLW9mZi1ieTogRGVuZ2tlIER1IDxkZW5na2UuZHVAd2luZHJpdmVyLmNvbT4KLS0tLQotIHRlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvbW1hcC9tbWFwMTUuYyB8IDUgKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL21tYXAvbW1hcDE1LmMgYi90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL21tYXAvbW1hcDE1LmMKLWluZGV4IGVmZjI3ZDYuLmExMGI1YzcgMTAwNjQ0Ci0tLS0gYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL21tYXAvbW1hcDE1LmMKLSsrKyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvbW1hcC9tbWFwMTUuYwotQEAgLTgxLDkgKzgxLDE0IEBAIGludCBtYWluKGludCBhYywgY2hhciAqKmF2KQotIAkJfQotIAotIAkJaWYgKGVycm5vICE9IEVOT01FTSkgewotKyNpZmRlZiBfX21pcHNfXwotKwkJCXRzdF9yZXNtKFRQQVNTIHwgVEVSUk5PLCAibW1hcCBpbnRvIGhpZ2ggcmVnaW9uICIKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZmFpbGVkIGFzIGV4cGVjdGVkIik7ICAgICAgICAgICAgICAgICAgICAgICAgCi0rI2Vsc2UKLSAJCQl0c3RfcmVzbShURkFJTCB8IFRFUlJOTywgIm1tYXAgaW50byBoaWdoIHJlZ2lvbiAiCi0gCQkJCSAiZmFpbGVkIHVuZXhwZWN0ZWRseSAtIGV4cGVjdCAiCi0gCQkJCSAiZXJybm89RU5PTUVNLCBnb3QiKTsKLSsjZW5kaWYKLSAJCX0gZWxzZSB7Ci0gCQkJdHN0X3Jlc20oVFBBU1MgfCBURVJSTk8sICJtbWFwIGludG8gaGlnaCByZWdpb24gIgotIAkJCQkgImZhaWxlZCBhcyBleHBlY3RlZCIpOwotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDEtbmV0bnNfaGVscGVyLnNoLXVzZS1waW5nLTYtd2hlbi1waW5nNi1pcy1ub3QtYXZhbGlhYi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAwMS1uZXRuc19oZWxwZXIuc2gtdXNlLXBpbmctNi13aGVuLXBpbmc2LWlzLW5vdC1hdmFsaWFiLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMmU3YTBlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAwMS1uZXRuc19oZWxwZXIuc2gtdXNlLXBpbmctNi13aGVuLXBpbmc2LWlzLW5vdC1hdmFsaWFiLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotRnJvbSA3NmQ4MzQzYWQzMDBmNjUwNzIzM2FiY2RmOTc2MjkyOTBlMzU4NDhhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTGVpIFlhbmcgPExlaS5ZYW5nQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBXZWQsIDI5IEF1ZyAyMDE4IDExOjUxOjI0ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIG5ldG5zX2hlbHBlci5zaDogdXNlICdwaW5nIC02JyB3aGVuIHBpbmc2IGlzIG5vdCBhdmFsaWFibGUKLQotcGluZzYgaGFzIGJlZW4gbWVyZ2VkIGludG8gcGluZyBzaW5jZSAyMDE1IGJ5IHVzaW5nICJwaW5nIC02IgotaW4gc29tZSBkaXN0cmlidXRpb25zIChlLmcuIE9wZW5FbWJlZGRlZCkgdGhleSBkcm9wcGVkIHBpbmc2IGNvbXBsZXRlbHkKLXRoaXMgcGF0Y2ggd2lsbCBsZXQgYm90aCAicGluZyAtNiIgYW5kIHBpbmc2IHdvcmsuCi0KLVtwdm9yZWw6IGNoYW5nZSB3YXMgZG9uZSBpbiBzMjAxNTA4MTU6Ci1lYmFkMzVmICgicGluZzogbWVyZ2UgYHBpbmc2YCBjb21tYW5kIGludG8gYHBpbmdgIiksCi1iZWZvcmUgdGhhdCByZWxlYXNlIHN3aXRjaCAnLTYnIGRpZG4ndCBleGlzdC4KLVVwc3RyZWFtIGxlYXZlcyBwaW5nNiBzeW1saW5rIHRvIGRpc3RyaWJ1dGlvbnMuXQotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1baHR0cHM6Ly9naXRodWIuY29tL2xpbnV4LXRlc3QtcHJvamVjdC9sdHAvY29tbWl0Lzc2ZDgzNDNhZDMwMGY2NTA3MjMzYWJjZGY5NzYyOTI5MGUzNTg0OGFdCi0KLVNpZ25lZC1vZmYtYnk6IExlaSBZYW5nIDxMZWkuWWFuZ0B3aW5kcml2ZXIuY29tPgotU2lnbmVkLW9mZi1ieTogUGV0ciBWb3JlbCA8cHZvcmVsQHN1c2UuY3o+Ci1TaWduZWQtb2ZmLWJ5OiBZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5jb20+Ci0tLS0KLSB0ZXN0Y2FzZXMva2VybmVsL2NvbnRhaW5lcnMvbmV0bnMvbmV0bnNfaGVscGVyLnNoIHwgNyArKysrKystCi0gMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvdGVzdGNhc2VzL2tlcm5lbC9jb250YWluZXJzL25ldG5zL25ldG5zX2hlbHBlci5zaCBiL3Rlc3RjYXNlcy9rZXJuZWwvY29udGFpbmVycy9uZXRucy9uZXRuc19oZWxwZXIuc2gKLWluZGV4IDZhZWExMGIuLmE5ZDA0NTkgMTAwNzU1Ci0tLS0gYS90ZXN0Y2FzZXMva2VybmVsL2NvbnRhaW5lcnMvbmV0bnMvbmV0bnNfaGVscGVyLnNoCi0rKysgYi90ZXN0Y2FzZXMva2VybmVsL2NvbnRhaW5lcnMvbmV0bnMvbmV0bnNfaGVscGVyLnNoCi1AQCAtMTY4LDcgKzE2OCwxMiBAQCBuZXRuc19zZXR1cCgpCi0gCWlwdjYpCi0gCQlJRkNPTkZfSU42X0FSRz0iaW5ldDYgYWRkIgotIAkJSVAwPSQ2OyBJUDE9JDc7Ci0tCQl0cGluZz0icGluZzYiOyBORVRNQVNLPTY0Ci0rCQlpZiB3aGljaCBwaW5nNiA+L2Rldi9udWxsIDI+JjE7IHRoZW4KLSsJCSAgICB0cGluZz0icGluZzYiCi0rCQllbHNlCi0rCQkgICAgdHBpbmc9InBpbmcgLTYiCi0rCQlmaQotKwkJTkVUTUFTSz02NAotIAkJOzsKLSAJKikKLSAJCXRzdF9icmttIFRCUk9LICJzZWNvbmQgYXJndW1lbnQgbXVzdCBiZSBhbiBpcCB2ZXJzaW9uIChpcHY0fGlwdjYpIgotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDEtb3Blbl9wb3NpeF90ZXN0c3VpdGUtbW1hcDI0LTItUmVsYXgtY29uZGl0aW9uLWEtYml0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDAxLW9wZW5fcG9zaXhfdGVzdHN1aXRlLW1tYXAyNC0yLVJlbGF4LWNvbmRpdGlvbi1hLWJpdC5wYXRjaAppbmRleCA0ZDc3MWMwLi44NDczNjA1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDEtb3Blbl9wb3NpeF90ZXN0c3VpdGUtbW1hcDI0LTItUmVsYXgtY29uZGl0aW9uLWEtYml0LnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAwMS1vcGVuX3Bvc2l4X3Rlc3RzdWl0ZS1tbWFwMjQtMi1SZWxheC1jb25kaXRpb24tYS1iaXQucGF0Y2gKQEAgLTQzLDggKzQzLDggQEAKICsgKiAzLiBTaG91bGQgZ2V0IEVOT01FTSBvciBFSU5WQUwuCiAgICovCiAgCi0gI2RlZmluZSBfWE9QRU5fU09VUkNFIDYwMAotQEAgLTkzLDggKzkzLDggQEAgaW50IG1haW4odm9pZCkKKyAjaW5jbHVkZSA8c3RkaW8uaD4KK0BAIC05Miw4ICs5Miw4IEBAIGludCBtYWluKHZvaWQpCiAgCSAgICAgICAodW5zaWduZWQgbG9uZylsZW4pOwogIAlwYSA9IG1tYXAoYWRkciwgbGVuLCBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFLCBNQVBfRklYRUQgfCBNQVBfU0hBUkVELCBmZCwKICAJCSAgMCk7CkBAIC01NSw3ICs1NSw3IEBACiAgCQlleGl0KFBUU19QQVNTKTsKICAJfQogIAotQEAgLTEwMyw2ICsxMDMsNiBAQCBpbnQgbWFpbih2b2lkKQorQEAgLTEwMiw2ICsxMDIsNiBAQCBpbnQgbWFpbih2b2lkKQogIAllbHNlCiAgCQltdW5tYXAocGEsIGxlbik7CiAgCWNsb3NlKGZkKTsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAwMS1zaWd3YWl0aW5mbzAxLXJlY2VudC1nbGliYy1jYWxscy1zeXNjYWxsLWRpcmVjdGx5LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDAxLXNpZ3dhaXRpbmZvMDEtcmVjZW50LWdsaWJjLWNhbGxzLXN5c2NhbGwtZGlyZWN0bHkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM0MTJjODkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDAxLXNpZ3dhaXRpbmZvMDEtcmVjZW50LWdsaWJjLWNhbGxzLXN5c2NhbGwtZGlyZWN0bHkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3NSArMCwwIEBACi1Gcm9tIGJiOTc3Y2EwNzE2YWU5OGYxMDEwMmM3MTIyZmUxNWJjMGRkYjUzNTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiAiSG9uZ3poaS5Tb25nIiA8aG9uZ3poaS5zb25nQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDIwIFNlcCAyMDE4IDIxOjQ5OjAyIC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIHNpZ3dhaXRpbmZvMDE6IHJlY2VudCBnbGliYyBjYWxscyBzeXNjYWxsIGRpcmVjdGx5Ci0KLWdsaWJjIGNvbW1pdAotICA4YjBlNzk1YWFhNDQgKCJTaW1wbGlmeSBMaW51eCBzaWd7dGltZWR9d2FpdHtpbmZvfSBpbXBsZW1lbnRhdGlvbnMiKQotY2hhbmdlZCBzaWd3YWl0aW5mbyB0byBjYWxsIHNpZ3RpbWVkd2FpdCwgd2hpY2ggY2FsbHMgcnRfc2lndGltZWR3YWl0Ci1zeXNjYWxsIGRpcmVjdGx5LgotCi1TbywgYW4gaW52YWxpZCBwb2ludGVyIG5vIGxvbmdlciBjcmFzaGVzIGNoaWxkIHByb2Nlc3MgYW5kIHRlc3QKLXJlcG9ydHMgZmFpbHVyZS4gRml4IGl0IGJ5IGFjY2VwdGluZyBlaXRoZXIgY3Jhc2ggb3IgRUZBVUxULgotCi1TaWduZWQtb2ZmLWJ5OiBKYW4gU3RhbmNlayA8anN0YW5jZWtAcmVkaGF0LmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vbGlzdHMubGludXguaXQvcGlwZXJtYWlsL2x0cC8yMDE4LVNlcHRlbWJlci8wMDkzMzguaHRtbF0KLQotU2lnbmVkLW9mZi1ieTogSG9uZ3poaS5Tb25nIDxob25nemhpLnNvbmdAd2luZHJpdmVyLmNvbT4KLS0tLQotIC4uLi9rZXJuZWwvc3lzY2FsbHMvc2lnd2FpdGluZm8vc2lnd2FpdGluZm8wMS5jICAgIHwgMzAgKysrKysrKysrKysrKysrKysrKy0tLQotIDEgZmlsZSBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9zaWd3YWl0aW5mby9zaWd3YWl0aW5mbzAxLmMgYi90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3NpZ3dhaXRpbmZvL3NpZ3dhaXRpbmZvMDEuYwotaW5kZXggOTVhOTQzNmE0Li44ZmE4YWMzNGIgMTAwNjQ0Ci0tLS0gYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3NpZ3dhaXRpbmZvL3NpZ3dhaXRpbmZvMDEuYwotKysrIGIvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9zaWd3YWl0aW5mby9zaWd3YWl0aW5mbzAxLmMKLUBAIC0zNzEsMTkgKzM3MSw0MSBAQCB2b2lkIHRlc3RfYmFkX2FkZHJlc3MyKHN3aV9mdW5jIHNpZ3dhaXRpbmZvLCBpbnQgc2lnbm8pCi0gCQl0c3RfYnJrbShUQlJPSyB8IFRFUlJOTywgTlVMTCwgImZvcmsoKSBmYWlsZWQiKTsKLSAJY2FzZSAwOgotIAkJc2lnbmFsKFNJR1NFR1YsIFNJR19ERkwpOwotKwotKyAgICAgICAvKgotKyAgICAgICAgKiBkZXBlbmRpbmcgb24gZ2xpYmMgaW1wbGVtZW50YXRpb24gd2Ugc2hvdWxkCi0rICAgICAgICAqIGVpdGhlciBjcmFzaCBvciBnZXQgRUZBVUxUCi0rICAgICAgICAqLwotIAkJVEVTVChzaWd3YWl0aW5mbygodm9pZCAqKTEsIE5VTEwsIE5VTEwpKTsKLSAKLS0JCV9leGl0KDApOwotKyAgICAgICBpZiAoVEVTVF9SRVRVUk4gPT0gLTEgJiYgVEVTVF9FUlJOTyA9PSBFRkFVTFQpCi0rICAgICAgICAgICBfZXhpdCgwKTsKLSsKLSsgICAgICAgdHN0X3Jlc20oVElORk8sICJzd2lfZnVuYyByZXR1cm5lZDogJWxkLCBlcnJubzogJWQiLAotKyAgICAgICAgICAgVEVTVF9SRVRVUk4sIFRFU1RfRVJSTk8pOwotKyAgICAgICBfZXhpdCgxKTsKLSsKLSAJCWJyZWFrOwotIAlkZWZhdWx0OgotIAkJYnJlYWs7Ci0gCX0KLSAKLSAJU1VDQ0VFRF9PUl9ESUUod2FpdHBpZCwgIndhaXRwaWQgZmFpbGVkIiwgcGlkLCAmc3RhdHVzLCAwKTsKLS0JaWYgKFdJRlNJR05BTEVEKHN0YXR1cykgJiYgV1RFUk1TSUcoc3RhdHVzKSA9PSBTSUdTRUdWKQotKwotKyAgIGlmICgoV0lGU0lHTkFMRUQoc3RhdHVzKSAmJiBXVEVSTVNJRyhzdGF0dXMpID09IFNJR1NFR1YpCi0rICAgICAgIHx8IChXSUZFWElURUQoc3RhdHVzKSAmJiBXRVhJVFNUQVRVUyhzdGF0dXMpID09IDApKSB7Ci0gCQl0c3RfcmVzbShUUEFTUywgIlRlc3QgcGFzc2VkIik7Ci0tCWVsc2UKLS0JCXRzdF9yZXNtKFRGQUlMLCAiVW5yZWNvZ25pc2VkIGNoaWxkIGV4aXQgY29kZSIpOwotKyAgICAgICByZXR1cm47Ci0rICAgfQotKwotKyAgIGlmIChXSUZFWElURUQoc3RhdHVzKSkgewotKyAgICAgICB0c3RfcmVzbShURkFJTCwgIlVucmVjb2duaXNlZCBjaGlsZCBleGl0IGNvZGU6ICVkIiwKLSsgICAgICAgICAgIFdFWElUU1RBVFVTKHN0YXR1cykpOwotKyAgIH0KLSsgICBpZiAoV0lGU0lHTkFMRUQoc3RhdHVzKSkgewotKyAgICAgICB0c3RfcmVzbShURkFJTCwgIlVucmVjb2duaXNlZCBjaGlsZCB0ZXJtc2lnOiAlZCIsCi0rICAgICAgICAgICBXVEVSTVNJRyhzdGF0dXMpKTsKLSsgICB9Ci0gfQotIAotIHZvaWQgdGVzdF9iYWRfYWRkcmVzczMoc3dpX2Z1bmMgc2lnd2FpdGluZm8sIGludCBzaWdubykKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAwMS1zeXNjYWxscy1mY250bC1tYWtlLU9GRC1jb21tYW5kLXVzZS1mY250bDY0LXN5c2NhbGwtLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDAxLXN5c2NhbGxzLWZjbnRsLW1ha2UtT0ZELWNvbW1hbmQtdXNlLWZjbnRsNjQtc3lzY2FsbC0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI3NTU1OTYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDAxLXN5c2NhbGxzLWZjbnRsLW1ha2UtT0ZELWNvbW1hbmQtdXNlLWZjbnRsNjQtc3lzY2FsbC0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxODQgKzAsMCBAQAotRnJvbSA4ZGUwM2VhMTIwMDQ4MGI5MjJkNWJhMDViNjlkYzk0ZGI2MDQ5NmY1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogIkhvbmd6aGkuU29uZyIgPGhvbmd6aGkuc29uZ0B3aW5kcml2ZXIuY29tPgotRGF0ZTogU2F0LCAxNSBTZXAgMjAxOCAyMjozOTozMiAtMDQwMAotU3ViamVjdDogW1BBVENIXSBzeXNjYWxscy9mY250bDogbWFrZSBPRkQgY29tbWFuZCB1c2UgZmNudGw2NCgpIHN5c2NhbGwgb24KLSAzMi1iaXQKLQotVG8gY29wZSB3aXRoIGdsaWJjIGNvbW1pdDoKLSAgMDZhYjcxOWQzMGIwICgiRml4IExpbnV4IGZjbnRsIE9GRCBsb2NrcyBmb3Igbm9uLUxGUyBhcmNoaXRlY3R1cmVzCi0oQlojMjAyNTEpIikKLQotV0lQOiBTdGlsbCBuZWVkIHRvIHRlc3QgdGhpcyB3aXRoIG5ldyBnbGliYy4KLSAgICAgVGVzdCB3aXRoIG9sZCBnbGliYyBsb29rIE9LIHNvIGZhci4KLQotU2lnbmVkLW9mZi1ieTogSmFuIFN0YW5jZWsgPGpzdGFuY2VrQHJlZGhhdC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLSAgICBCYWNrcG9ydGVkIGZyb20gdXBzdHJlYW0gbWFpbGxpc3QKLSAgICBodHRwczovL2xpc3RzLmxpbnV4Lml0L3BpcGVybWFpbC9sdHAvMjAxOC1TZXB0ZW1iZXIvMDA5MzcwLmh0bWwKLQotU2lnbmVkLW9mZi1ieTogSG9uZ3poaSBTb25nIDxob25nemhpLnNvbmdAd2luZHJpdmVyLmNvbT4KLS0tLQotIHRlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvZmNudGwvZmNudGwzNC5jICAgICAgfCAxMiArKysrKysrLS0tCi0gdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9mY250bC9mY250bDM2LmMgICAgICB8IDIzICsrKysrKysrKysrKystLS0tLQotIHRlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvZmNudGwvZmNudGxfY29tbW9uLmggfCAzMiArKysrKysrKysrKysrKysrKysrKysrKysrKwotIDMgZmlsZXMgY2hhbmdlZCwgNTggaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKLSBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9mY250bC9mY250bF9jb21tb24uaAotCi1kaWZmIC0tZ2l0IGEvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9mY250bC9mY250bDM0LmMgYi90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2ZjbnRsL2ZjbnRsMzQuYwotaW5kZXggYWEyOWNmOS4uMTA5ZjgzNCAxMDA2NDQKLS0tLSBhL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvZmNudGwvZmNudGwzNC5jCi0rKysgYi90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2ZjbnRsL2ZjbnRsMzQuYwotQEAgLTI4LDYgKzI4LDcgQEAKLSAjaW5jbHVkZSAibGFwaS9mY250bC5oIgotICNpbmNsdWRlICJ0c3Rfc2FmZV9wdGhyZWFkLmgiCi0gI2luY2x1ZGUgInRzdF90ZXN0LmgiCi0rI2luY2x1ZGUgImZjbnRsX2NvbW1vbi5oIgotIAotIHN0YXRpYyBpbnQgdGhyZWFkX2NudDsKLSBzdGF0aWMgY29uc3QgaW50IG1heF90aHJlYWRfY250ID0gMzI7Ci1AQCAtNjgsNyArNjksMTIgQEAgdm9pZCAqdGhyZWFkX2ZuXzAxKHZvaWQgKmFyZykKLSAKLSAJbWVtc2V0KGJ1ZiwgKGludHB0cl90KWFyZywgd3JpdGVfc2l6ZSk7Ci0gCi0tCXN0cnVjdCBmbG9jazY0IGxjayA9IHsKLSsgICAgLyogc2VlIGV4cGxhbmF0aW9uIGluIGZjbnRsX2NvbW1vbi5oICovCi0rICAgICNpZmRlZiBVU0VfU1RSVUNUX0ZMT0NLCi0rICAgICAgICBzdHJ1Y3QgZmxvY2sgbGNrID0gewotKyAgICAjZWxzZQotKyAgICAgICAgc3RydWN0IGZsb2NrNjQgbGNrID0gewotKyAgICAjZW5kaWYKLSAJCS5sX3doZW5jZSA9IFNFRUtfU0VULAotIAkJLmxfc3RhcnQgID0gMCwKLSAJCS5sX2xlbiAgICA9IDEsCi1AQCAtNzYsMTMgKzgyLDEzIEBAIHZvaWQgKnRocmVhZF9mbl8wMSh2b2lkICphcmcpCi0gCi0gCWZvciAoaSA9IDA7IGkgPCB3cml0ZXNfbnVtOyArK2kpIHsKLSAJCWxjay5sX3R5cGUgPSBGX1dSTENLOwotLQkJU0FGRV9GQ05UTChmZCwgRl9PRkRfU0VUTEtXLCAmbGNrKTsKLSsgICAgICAgIG15X2ZjbnRsKGZkLCBGX09GRF9TRVRMS1csICZsY2spOwotIAotIAkJU0FGRV9MU0VFSyhmZCwgMCwgU0VFS19FTkQpOwotIAkJU0FGRV9XUklURSgxLCBmZCwgYnVmLCB3cml0ZV9zaXplKTsKLSAKLSAJCWxjay5sX3R5cGUgPSBGX1VOTENLOwotLQkJU0FGRV9GQ05UTChmZCwgRl9PRkRfU0VUTEtXLCAmbGNrKTsKLSsgICAgICAgIG15X2ZjbnRsKGZkLCBGX09GRF9TRVRMS1csICZsY2spOwotIAotIAkJc2NoZWRfeWllbGQoKTsKLSAJfQotZGlmZiAtLWdpdCBhL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvZmNudGwvZmNudGwzNi5jIGIvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9mY250bC9mY250bDM2LmMKLWluZGV4IDMyNDZkMTMuLmYyNjNiNmIgMTAwNjQ0Ci0tLS0gYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2ZjbnRsL2ZjbnRsMzYuYwotKysrIGIvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9mY250bC9mY250bDM2LmMKLUBAIC01Nyw2ICs1Nyw3IEBACi0gI2luY2x1ZGUgImxhcGkvZmNudGwuaCIKLSAjaW5jbHVkZSAidHN0X3NhZmVfcHRocmVhZC5oIgotICNpbmNsdWRlICJ0c3RfdGVzdC5oIgotKyNpbmNsdWRlICJmY250bF9jb21tb24uaCIKLSAKLSBzdGF0aWMgaW50IHRocmVhZF9jbnQ7Ci0gc3RhdGljIGludCBmYWlsX2ZsYWcgPSAwOwotQEAgLTg3LDcgKzg4LDEyIEBAIHN0YXRpYyB2b2lkICpmbl9vZmRfdyh2b2lkICphcmcpCi0gCWludCBmZCA9IFNBRkVfT1BFTihmbmFtZSwgT19SRFdSKTsKLSAJbG9uZyB3dCA9IHBhLT5jbnQ7Ci0gCi0tCXN0cnVjdCBmbG9jazY0IGxjayA9IHsKLSsgICAgLyogc2VlIGV4cGxhbmF0aW9uIGluIGZjbnRsX2NvbW1vbi5oICovCi0rICAgICNpZmRlZiBVU0VfU1RSVUNUX0ZMT0NLCi0rICAgICAgICBzdHJ1Y3QgZmxvY2sgbGNrID0gewotKyAgICAjZWxzZQotKyAgICAgICAgc3RydWN0IGZsb2NrNjQgbGNrID0gewotKyAgICAjZW5kaWYKLSAJCS5sX3doZW5jZSA9IFNFRUtfU0VULAotIAkJLmxfc3RhcnQgID0gcGEtPm9mZnNldCwKLSAJCS5sX2xlbiAgICA9IHBhLT5sZW5ndGgsCi1AQCAtOTksMTMgKzEwNSwxMyBAQCBzdGF0aWMgdm9pZCAqZm5fb2ZkX3codm9pZCAqYXJnKQotIAkJbWVtc2V0KGJ1Ziwgd3QsIHBhLT5sZW5ndGgpOwotIAotIAkJbGNrLmxfdHlwZSA9IEZfV1JMQ0s7Ci0tCQlTQUZFX0ZDTlRMKGZkLCBGX09GRF9TRVRMS1csICZsY2spOwotKyAgICAgICAgbXlfZmNudGwoZmQsIEZfT0ZEX1NFVExLVywgJmxjayk7Ci0gCi0gCQlTQUZFX0xTRUVLKGZkLCBwYS0+b2Zmc2V0LCBTRUVLX1NFVCk7Ci0gCQlTQUZFX1dSSVRFKDEsIGZkLCBidWYsIHBhLT5sZW5ndGgpOwotIAotIAkJbGNrLmxfdHlwZSA9IEZfVU5MQ0s7Ci0tCQlTQUZFX0ZDTlRMKGZkLCBGX09GRF9TRVRMS1csICZsY2spOwotKyAgICAgICAgbXlfZmNudGwoZmQsIEZfT0ZEX1NFVExLVywgJmxjayk7Ci0gCi0gCQl3dCsrOwotIAkJaWYgKHd0ID49IDI1NSkKLUBAIC0xNjYsNyArMTcyLDEyIEBAIHN0YXRpYyB2b2lkICpmbl9vZmRfcih2b2lkICphcmcpCi0gCWludCBpOwotIAlpbnQgZmQgPSBTQUZFX09QRU4oZm5hbWUsIE9fUkRXUik7Ci0gCi0tCXN0cnVjdCBmbG9jazY0IGxjayA9IHsKLSsgICAgLyogc2VlIGV4cGxhbmF0aW9uIGluIGZjbnRsX2NvbW1vbi5oICovCi0rICAgICNpZmRlZiBVU0VfU1RSVUNUX0ZMT0NLCi0rICAgICAgICBzdHJ1Y3QgZmxvY2sgbGNrID0gewotKyAgICAjZWxzZQotKyAgICAgICAgc3RydWN0IGZsb2NrNjQgbGNrID0gewotKyAgICAjZW5kaWYKLSAJCS5sX3doZW5jZSA9IFNFRUtfU0VULAotIAkJLmxfc3RhcnQgID0gcGEtPm9mZnNldCwKLSAJCS5sX2xlbiAgICA9IHBhLT5sZW5ndGgsCi1AQCAtMTc4LDcgKzE4OSw3IEBAIHN0YXRpYyB2b2lkICpmbl9vZmRfcih2b2lkICphcmcpCi0gCQltZW1zZXQoYnVmLCAwLCBwYS0+bGVuZ3RoKTsKLSAKLSAJCWxjay5sX3R5cGUgPSBGX1JETENLOwotLQkJU0FGRV9GQ05UTChmZCwgRl9PRkRfU0VUTEtXLCAmbGNrKTsKLSsgICAgICAgIG15X2ZjbnRsKGZkLCBGX09GRF9TRVRMS1csICZsY2spOwotIAotIAkJLyogcmxvY2sgYWNxdWlyZWQgKi8KLSAJCVNBRkVfTFNFRUsoZmQsIHBhLT5vZmZzZXQsIFNFRUtfU0VUKTsKLUBAIC0yMDksNyArMjIwLDcgQEAgc3RhdGljIHZvaWQgKmZuX29mZF9yKHZvaWQgKmFyZykKLSAJCX0KLSAKLSAJCWxjay5sX3R5cGUgPSBGX1VOTENLOwotLQkJU0FGRV9GQ05UTChmZCwgRl9PRkRfU0VUTEssICZsY2spOwotKyAgICAgICAgbXlfZmNudGwoZmQsIEZfT0ZEX1NFVExLLCAmbGNrKTsKLSAKLSAJCXNjaGVkX3lpZWxkKCk7Ci0gCX0KLWRpZmYgLS1naXQgYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2ZjbnRsL2ZjbnRsX2NvbW1vbi5oIGIvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9mY250bC9mY250bF9jb21tb24uaAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjNmZTM5OWIKLS0tLSAvZGV2L251bGwKLSsrKyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvZmNudGwvZmNudGxfY29tbW9uLmgKLUBAIC0wLDAgKzEsMzIgQEAKLSsjaW5jbHVkZSAibGFwaS9zeXNjYWxscy5oIgotKwotKy8qCi0rICogZ2xpYmMgY29tbWl0OgotKyAqICAgMDZhYjcxOWQzMGIwICgiRml4IExpbnV4IGZjbnRsIE9GRCBsb2NrcyBmb3Igbm9uLUxGUyBhcmNoaXRlY3R1cmVzIChCWiMyMDI1MSkiKQotKyAqIGNoYW5nZWQgYmVoYXZpb3Igb2YgYXJnIHBhcmFtZXRlciBmb3IgT0ZEIGNvbW1hbmRzLiBJdCBpcyBubwotKyAqIGxvbmdlciBwYXNzaW5nIGFyZyBkaXJlY3RseSB0byBzeXNjYWxsLCBidXQgZXhwZWN0cyBpdCB0byBiZQotKyAqICdzdHJ1Y3QgZmxvY2snLgotKyAqCi0rICogT24gNjQtYml0IG9yIF9GSUxFX09GRlNFVF9CSVRTID09IDY0IHdlIGNhbiB1c2UgZmNudGwoKSBhbmQKLSsgKiBzdHJ1Y3QgZmxvY2sgd2l0aCBhbnkgZ2xpYmMgdmVyc2lvbi4gc3RydWN0IGZsb2NrIGFuZCBmbG9jazY0Ci0rICogc2hvdWxkIGJlIGlkZW50aWNhbC4KLSsgKgotKyAqIE9uIDMyLWJpdCwgb2xkZXIgZ2xpYmMgd291bGQgcGFzcyBhcmcgZGlyZWN0bHksIHJlY2VudCBvbmUgdHJlYXRzCi0rICogaXQgYXMgJ3N0cnVjdCBmbG9jaycgYW5kIGNvbnZlcnRzIGl0IHRvICdzdHJ1Y3QgZmxvY2s2NCcuCi0rICogU28sIGZvciAzMi1iaXQgd2UgdXNlIGZjbnRsNjQgc3lzY2FsbCBkaXJlY3RseSB3aXRoIHN0cnVjdCBmbG9jazY0LgotKyAqLwotKyNpZiBfX1dPUkRTSVpFID09IDY0IHx8IF9GSUxFX09GRlNFVF9CSVRTID09IDY0Ci0rI2RlZmluZSBVU0VfU1RSVUNUX0ZMT0NLCi0rc3RhdGljIGludCBteV9mY250bChpbnQgZmQsIGludCBjbWQsIHZvaWQgKmxjaykKLSt7Ci0rICAgICAgICByZXR1cm4gU0FGRV9GQ05UTChmZCwgY21kLCBsY2spOwotK30KLSsjZWxzZQotK3N0YXRpYyBpbnQgbXlfZmNudGwoaW50IGZkLCBpbnQgY21kLCB2b2lkICpsY2spCi0rewotKyAgICAgICAgaW50IHJldCA9IHRzdF9zeXNjYWxsKF9fTlJfZmNudGw2NCwgZmQsIGNtZCwgbGNrKTsKLSsgICAgICAgIGlmIChyZXQgPT0gLTEpCi0rICAgICAgICAgICAgICAgIHRzdF9icmsoVEJST0t8VEVSUk5PLCAiZmNudGw2NCIpOwotKyAgICAgICAgcmV0dXJuIHJldDsKLSt9Ci0rI2VuZGlmCi0tLSAKLTIuOC4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAwNC1idWlsZC1BZGQtb3B0aW9uLXRvLXNlbGVjdC1saWJjLWltcGxlbWVudGF0aW9uLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDA0LWJ1aWxkLUFkZC1vcHRpb24tdG8tc2VsZWN0LWxpYmMtaW1wbGVtZW50YXRpb24ucGF0Y2gKaW5kZXggMmRmMzg1NS4uM2M2NmM5NCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDA0LWJ1aWxkLUFkZC1vcHRpb24tdG8tc2VsZWN0LWxpYmMtaW1wbGVtZW50YXRpb24ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDA0LWJ1aWxkLUFkZC1vcHRpb24tdG8tc2VsZWN0LWxpYmMtaW1wbGVtZW50YXRpb24ucGF0Y2gKQEAgLTQyLDcgKzQyLDcgQEAKIGluZGV4IDUwYTEyZmEuLjRmMTk4N2YgMTAwNjQ0CiAtLS0gYS90ZXN0Y2FzZXMva2VybmVsL01ha2VmaWxlCiArKysgYi90ZXN0Y2FzZXMva2VybmVsL01ha2VmaWxlCi1AQCAtNDgsMTMgKzQ4LDE2IEBAIFNVQkRJUlMJCQkrPSBjb25uZWN0b3JzIFwKK0BAIC00OSwxMiArNDksMTUgQEAgU1VCRElSUwkJCSs9IGNvbm5lY3RvcnMgXAogIAkJCSAgIGxvZ2dpbmcgXAogIAkJCSAgIG1lbSBcCiAgCQkJICAgbnVtYSBcCkBAIC01MSw3ICs1MSw2IEBACiAgCQkJICAgc2VjdXJpdHkgXAogIAkJCSAgIHRpbWVycyBcCiAgCQkJICAgdHJhY2luZyBcCi0gCQkJICAgbW9kdWxlIFwKICAKICtpZm5lcSAoJChMSUJDKSxtdXNsKQogK1NVQkRJUlMJCQkrPSBwdHkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAwNy1maXgtX19XT1JEU0laRS11bmRlY2xhcmVkLXdoZW4tYnVpbGRpbmctd2l0aC1tdXNsLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDA3LWZpeC1fX1dPUkRTSVpFLXVuZGVjbGFyZWQtd2hlbi1idWlsZGluZy13aXRoLW11c2wucGF0Y2gKaW5kZXggMmY0Y2E2My4uNmU2ZGJmMyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDA3LWZpeC1fX1dPUkRTSVpFLXVuZGVjbGFyZWQtd2hlbi1idWlsZGluZy13aXRoLW11c2wucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDA3LWZpeC1fX1dPUkRTSVpFLXVuZGVjbGFyZWQtd2hlbi1idWlsZGluZy13aXRoLW11c2wucGF0Y2gKQEAgLTE2LDcgKzE2LDcgQEAKIGluZGV4IGIzNjc2NGQ4My4uY2M2ZjFiNTUxIDEwMDY0NAogLS0tIGEvaW5jbHVkZS9vbGQvdGVzdC5oCiArKysgYi9pbmNsdWRlL29sZC90ZXN0LmgKLUBAIC00NCw2ICs0NCw5IEBACitAQCAtMTcsNiArMTcsOSBAQAogICNpbmNsdWRlIDxzdHJpbmcuaD4KICAjaW5jbHVkZSA8c3RkbGliLmg+CiAgI2luY2x1ZGUgPHN0ZGludC5oPgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDA4LUNoZWNrLWlmLV9fR0xJQkNfUFJFUkVRLWlzLWRlZmluZWQtYmVmb3JlLXVzaW5nLWl0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDA4LUNoZWNrLWlmLV9fR0xJQkNfUFJFUkVRLWlzLWRlZmluZWQtYmVmb3JlLXVzaW5nLWl0LnBhdGNoCmluZGV4IDQyOGFjMzAuLjczMTFlZTIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAwOC1DaGVjay1pZi1fX0dMSUJDX1BSRVJFUS1pcy1kZWZpbmVkLWJlZm9yZS11c2luZy1pdC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDgtQ2hlY2staWYtX19HTElCQ19QUkVSRVEtaXMtZGVmaW5lZC1iZWZvcmUtdXNpbmctaXQucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIGEzY2JlZTMxZGFhZTI0NjZiYzhkY2FjMzZiMzNhMDEzNTI2OTMzNDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGZjMmI0N2FkOTc5YTg3YmZiZDExYWVlYTNmNjdjMjZlN2ZiMzllMzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogVGh1LCA3IEphbiAyMDE2IDE5OjQwOjA4ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMDEvMjZdIENoZWNrIGlmIF9fR0xJQkNfUFJFUkVRIGlzIGRlZmluZWQgYmVmb3JlIHVzaW5nIGl0CitTdWJqZWN0OiBbUEFUQ0hdIENoZWNrIGlmIF9fR0xJQkNfUFJFUkVRIGlzIGRlZmluZWQgYmVmb3JlIHVzaW5nIGl0CiAKIF9fR0xJQkNfUFJFUkVRIGlzIHNwZWNpZmljIHRvIGdsaWJjIHNvIGl0IHNob3VsZCBiZSBjaGVja2VkIGlmIGl0IGlzCiBkZWZpbmVkIG9yIG5vdC4KQEAgLTEwLDEzICsxMCwxMiBAQAogCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIC0tLQotIHRlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvYWNjZXB0NC9hY2NlcHQ0XzAxLmMgICAgIHwgIDkgKysrKy0KLSB0ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2dldGNwdS9nZXRjcHUwMS5jICAgICAgICB8IDM5ICsrKysrKysrKysrKysrKysrKysrKy0KLSAuLi4vc2NoZWRfZ2V0YWZmaW5pdHkvc2NoZWRfZ2V0YWZmaW5pdHkwMS5jICAgICAgICB8IDI2ICsrKysrKysrKysrKysrKwotIDMgZmlsZXMgY2hhbmdlZCwgNzIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKyAuLi4va2VybmVsL3N5c2NhbGxzL2FjY2VwdDQvYWNjZXB0NF8wMS5jICAgICAgfCAgOSArKysrKystCisgLi4uL3NjaGVkX2dldGFmZmluaXR5L3NjaGVkX2dldGFmZmluaXR5MDEuYyAgIHwgMjYgKysrKysrKysrKysrKysrKysrKworIDIgZmlsZXMgY2hhbmdlZCwgMzQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9hY2NlcHQ0L2FjY2VwdDRfMDEuYyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvYWNjZXB0NC9hY2NlcHQ0XzAxLmMKLWluZGV4IDYwNzJiZmEuLjJiMDkwY2IgMTAwNjQ0CitpbmRleCBkZWM0ZWY5M2IuLmM1ZDc0YjA3ZiAxMDA2NDQKIC0tLSBhL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvYWNjZXB0NC9hY2NlcHQ0XzAxLmMKICsrKyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvYWNjZXB0NC9hY2NlcHQ0XzAxLmMKIEBAIC02NCw2ICs2NCw3IEBAIHN0YXRpYyB2b2lkIGNsZWFudXAodm9pZCkKQEAgLTU5LDEzMSArNTgsOCBAQAogICNlbHNlCiAgCWFjY2VwdGZkID0gYWNjZXB0NChsZmQsIChzdHJ1Y3Qgc29ja2FkZHIgKikmY2xhZGRyLCAmYWRkcmxlbiwKICAJCQkgICBjbG9zZW9uZXhlY19mbGFnIHwgbm9uYmxvY2tfZmxhZyk7Ci1kaWZmIC0tZ2l0IGEvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9nZXRjcHUvZ2V0Y3B1MDEuYyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvZ2V0Y3B1L2dldGNwdTAxLmMKLWluZGV4IGM5Mjc1MTIuLjkyMWIxMDcgMTAwNjQ0Ci0tLS0gYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2dldGNwdS9nZXRjcHUwMS5jCi0rKysgYi90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2dldGNwdS9nZXRjcHUwMS5jCi1AQCAtNjIsNiArNjIsNyBAQAotICNpbmNsdWRlIDxkaXJlbnQuaD4KLSAKLSAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKQotKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKLSAjaWYgX19HTElCQ19QUkVSRVEoMiw2KQotICNpZiBkZWZpbmVkKF9feDg2XzY0X18pCi0gI2luY2x1ZGUgPHV0bXB4Lmg+Ci1AQCAtNzUsMTAgKzc2LDE3IEBAIGludCBzeXNfc3VwcG9ydCA9IDA7Ci0gI2Vsc2UKLSBpbnQgc3lzX3N1cHBvcnQgPSAwOwotICNlbmRpZgotKyNlbHNlCi0raW50IHN5c19zdXBwb3J0ID0gMDsKLSsjZW5kaWYKLSAKLSsjaWYgZGVmaW5lZChfX0dMSUJDX18pCi0gI2lmICEoX19HTElCQ19QUkVSRVEoMiwgNykpCi0gI2RlZmluZSBDUFVfRlJFRShwdHIpIGZyZWUocHRyKQotICNlbmRpZgotKyNlbHNlCi0rI2RlZmluZSBDUFVfRlJFRShwdHIpIGZyZWUocHRyKQotKyNlbmRpZgotIAotIHZvaWQgY2xlYW51cCh2b2lkKTsKLSB2b2lkIHNldHVwKHZvaWQpOwotQEAgLTE2NCw3ICsxNzIsMTEgQEAgc3RhdGljIGlubGluZSBpbnQgZ2V0Y3B1KHVuc2lnbmVkICpjcHVfaWQsIHVuc2lnbmVkICpub2RlX2lkLAotIHsKLSAjaWYgZGVmaW5lZChfX2kzODZfXykKLSAJcmV0dXJuIHN5c2NhbGwoMzE4LCBjcHVfaWQsIG5vZGVfaWQsIGNhY2hlX3N0cnVjdCk7Ci0tI2VsaWYgX19HTElCQ19QUkVSRVEoMiw2KQotKyNlbGlmIGRlZmluZWQoX19HTElCQ19fKQotKyNpZiBfX0dMSUJDX1BSRVJFUSgyLDYpCi0rCSpjcHVfaWQgPSBzY2hlZF9nZXRjcHUoKTsKLSsjZW5kaWYKLSsjZWxzZQotIAkqY3B1X2lkID0gc2NoZWRfZ2V0Y3B1KCk7Ci0gI2VuZGlmCi0gCXJldHVybiAwOwotQEAgLTE5MSwxNSArMjAzLDIwIEBAIHVuc2lnbmVkIGludCBzZXRfY3B1X2FmZmluaXR5KHZvaWQpCi0gCWNwdV9zZXRfdCAqc2V0OwotIAlzaXplX3Qgc2l6ZTsKLSAJaW50IG5yY3B1cyA9IDEwMjQ7Ci0rI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiBkZWZpbmVkKF9fR0xJQkNfUFJFUkVRKQotICNpZiBfX0dMSUJDX1BSRVJFUSgyLCA3KQotIHJlYWxsb2M6Ci0gCXNldCA9IENQVV9BTExPQyhucmNwdXMpOwotICNlbHNlCi0gCXNldCA9IG1hbGxvYyhzaXplb2YoY3B1X3NldF90KSk7Ci0gI2VuZGlmCi0rI2Vsc2UKLSsJc2V0ID0gbWFsbG9jKHNpemVvZihjcHVfc2V0X3QpKTsKLSsjZW5kaWYKLSAJaWYgKHNldCA9PSBOVUxMKSB7Ci0gCQl0c3RfYnJrbShURkFJTCwgTlVMTCwgIkNQVV9BTExPQzplcnJubzolZCIsIGVycm5vKTsKLSAJfQotKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgZGVmaW5lZChfX0dMSUJDX1BSRVJFUSkKLSAjaWYgX19HTElCQ19QUkVSRVEoMiwgNykKLSAJc2l6ZSA9IENQVV9BTExPQ19TSVpFKG5yY3B1cyk7Ci0gCUNQVV9aRVJPX1Moc2l6ZSwgc2V0KTsKLUBAIC0yMDcsOCArMjI0LDEzIEBAIHJlYWxsb2M6Ci0gCXNpemUgPSBzaXplb2YoY3B1X3NldF90KTsKLSAJQ1BVX1pFUk8oc2V0KTsKLSAjZW5kaWYKLSsjZWxzZQotKwlzaXplID0gc2l6ZW9mKGNwdV9zZXRfdCk7Ci0rCUNQVV9aRVJPKHNldCk7Ci0rI2VuZGlmCi0gCWlmIChzY2hlZF9nZXRhZmZpbml0eSgwLCBzaXplLCBzZXQpIDwgMCkgewotIAkJQ1BVX0ZSRUUoc2V0KTsKLSsjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmIGRlZmluZWQoX19HTElCQ19QUkVSRVEpCi0gI2lmIF9fR0xJQkNfUFJFUkVRKDIsIDcpCi0gCQlpZiAoZXJybm8gPT0gRUlOVkFMICYmIG5yY3B1cyA8ICgxMDI0IDw8IDgpKSB7Ci0gCQkJbnJjcHVzID0gbnJjcHVzIDw8IDI7Ci1AQCAtMjIwLDEwICsyNDIsMTcgQEAgcmVhbGxvYzoKLSAJCQkJICJOUl9DUFVTIG9mIHRoZSBrZXJuZWwgaXMgbW9yZSB0aGFuIDEwMjQsIHNvIHdlJ2QgYmV0dGVyIHVzZSBhIG5ld2VyIGdsaWJjKD49IDIuNykiKTsKLSAJCWVsc2UKLSAjZW5kaWYKLSsjZWxzZQotKwkJaWYgKGVycm5vID09IEVJTlZBTCkKLSsJCQl0c3RfcmVzbShURkFJTCwKLSsJCQkJICJOUl9DUFVTIG9mIHRoZSBrZXJuZWwgaXMgbW9yZSB0aGFuIDEwMjQsIHNvIHdlJ2QgYmV0dGVyIHVzZSBhIG5ld2VyIGdsaWJjKD49IDIuNykiKTsKLSsJCWVsc2UKLSsjZW5kaWYKLSAJCQl0c3RfcmVzbShURkFJTCwgInNjaGVkX2dldGFmZmluaXR5OmVycm5vOiVkIiwgZXJybm8pOwotIAkJdHN0X2V4aXQoKTsKLSAJfQotIAljcHVfbWF4ID0gbWF4X2NwdWlkKHNpemUsIHNldCk7Ci0rI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiBkZWZpbmVkKF9fR0xJQkNfUFJFUkVRKQotICNpZiBfX0dMSUJDX1BSRVJFUSgyLCA3KQotIAlDUFVfWkVST19TKHNpemUsIHNldCk7Ci0gCUNQVV9TRVRfUyhjcHVfbWF4LCBzaXplLCBzZXQpOwotQEAgLTIzMSw2ICsyNjAsMTAgQEAgcmVhbGxvYzoKLSAJQ1BVX1pFUk8oc2V0KTsKLSAJQ1BVX1NFVChjcHVfbWF4LCBzZXQpOwotICNlbmRpZgotKyNlbHNlCi0rCUNQVV9aRVJPKHNldCk7Ci0rCUNQVV9TRVQoY3B1X21heCwgc2V0KTsKLSsjZW5kaWYKLSAJaWYgKHNjaGVkX3NldGFmZmluaXR5KDAsIHNpemUsIHNldCkgPCAwKSB7Ci0gCQlDUFVfRlJFRShzZXQpOwotIAkJdHN0X2Jya20oVEZBSUwsIE5VTEwsICJzY2hlZF9zZXRhZmZpbml0eTplcnJubzolZCIsIGVycm5vKTsKLUBAIC0yNDcsMTEgKzI4MCwxNSBAQCB1bnNpZ25lZCBpbnQgbWF4X2NwdWlkKHNpemVfdCBzaXplLCBjcHVfc2V0X3QgKiBzZXQpCi0gewotIAl1bnNpZ25lZCBpbnQgaW5kZXgsIG1heCA9IDA7Ci0gCWZvciAoaW5kZXggPSAwOyBpbmRleCA8IHNpemUgKiBCSVRTX1BFUl9CWVRFOyBpbmRleCsrKQotKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgZGVmaW5lZChfX0dMSUJDX1BSRVJFUSkKLSAjaWYgX19HTElCQ19QUkVSRVEoMiwgNykKLSAJCWlmIChDUFVfSVNTRVRfUyhpbmRleCwgc2l6ZSwgc2V0KSkKLSAjZWxzZQotIAkJaWYgKENQVV9JU1NFVChpbmRleCwgc2V0KSkKLSAjZW5kaWYKLSsjZWxzZQotKwkJaWYgKENQVV9JU1NFVChpbmRleCwgc2V0KSkKLSsjZW5kaWYKLSAJCQltYXggPSBpbmRleDsKLSAJcmV0dXJuIG1heDsKLSB9CiBkaWZmIC0tZ2l0IGEvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9zY2hlZF9nZXRhZmZpbml0eS9zY2hlZF9nZXRhZmZpbml0eTAxLmMgYi90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3NjaGVkX2dldGFmZmluaXR5L3NjaGVkX2dldGFmZmluaXR5MDEuYwotaW5kZXggOWQ2YTgxYS4uNGVkMTNiMiAxMDA2NDQKK2luZGV4IDAyZjA0YjkwOS4uZDkwNmQ3ZTA5IDEwMDY0NAogLS0tIGEvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9zY2hlZF9nZXRhZmZpbml0eS9zY2hlZF9nZXRhZmZpbml0eTAxLmMKICsrKyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvc2NoZWRfZ2V0YWZmaW5pdHkvc2NoZWRfZ2V0YWZmaW5pdHkwMS5jCiBAQCAtNjcsOSArNjcsMTEgQEAgZG8geyBcCkBAIC0xOTgsNyArNzQsNyBAQAogIAogIGludCBtYWluKGludCBhYywgY2hhciAqKmF2KQogIHsKLUBAIC05NiwxNCArOTgsMTkgQEAgc3RhdGljIHZvaWQgZG9fdGVzdCh2b2lkKQorQEAgLTk2LDE3ICs5OCwyNiBAQCBzdGF0aWMgdm9pZCBkb190ZXN0KHZvaWQpCiAgCXBpZF90IHVudXNlZF9waWQ7CiAgCXVuc2lnbmVkIGxlbjsKICAKQEAgLTIwNiwyNyArODIsMjYgQEAKICAjaWYgX19HTElCQ19QUkVSRVEoMiwgNykKICByZWFsbG9jOgogIAltYXNrID0gQ1BVX0FMTE9DKG5yY3B1cyk7Ci0gI2Vsc2UKLSAJbWFzayA9IG1hbGxvYyhzaXplb2YoY3B1X3NldF90KSk7Ci0gI2VuZGlmCiArI2Vsc2UKICsJbWFzayA9IG1hbGxvYyhzaXplb2YoY3B1X3NldF90KSk7CiArI2VuZGlmCisgI2Vsc2UKKyAJbWFzayA9IG1hbGxvYyhzaXplb2YoY3B1X3NldF90KSk7CisgI2VuZGlmCiAgCWlmIChtYXNrID09IE5VTEwpCiAgCQl0c3RfYnJrbShURkFJTCB8IFRURVJSTk8sIGNsZWFudXAsICJmYWlsIHRvIGdldCBlbm91Z2ggbWVtb3J5Iik7CiArI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiBkZWZpbmVkKF9fR0xJQkNfUFJFUkVRKQogICNpZiBfX0dMSUJDX1BSRVJFUSgyLCA3KQogIAlsZW4gPSBDUFVfQUxMT0NfU0laRShucmNwdXMpOwogIAlDUFVfWkVST19TKGxlbiwgbWFzayk7Ci1AQCAtMTExLDEwICsxMTgsMTUgQEAgcmVhbGxvYzoKLSAJbGVuID0gc2l6ZW9mKGNwdV9zZXRfdCk7Ci0gCUNQVV9aRVJPKG1hc2spOwotICNlbmRpZgogKyNlbHNlCiArCWxlbiA9IHNpemVvZihjcHVfc2V0X3QpOwogKwlDUFVfWkVSTyhtYXNrKTsKICsjZW5kaWYKLSAJLyogcG9zaXRpdmUgdGVzdCAqLworICNlbHNlCisgCWxlbiA9IHNpemVvZihjcHVfc2V0X3QpOworIAlDUFVfWkVSTyhtYXNrKTsKK0BAIC0xMTUsMTEgKzEyNiwxOCBAQCByZWFsbG9jOgogIAlURVNUKHNjaGVkX2dldGFmZmluaXR5KDAsIGxlbiwgbWFzaykpOwogIAlpZiAoVEVTVF9SRVRVUk4gPT0gLTEpIHsKICAJCUNQVV9GUkVFKG1hc2spOwpAQCAtMjM0LDUwICsxMDksNDMgQEAKICAjaWYgX19HTElCQ19QUkVSRVEoMiwgNykKICAJCWlmIChlcnJubyA9PSBFSU5WQUwgJiYgbnJjcHVzIDwgKDEwMjQgPDwgOCkpIHsKICAJCQlucmNwdXMgPSBucmNwdXMgPDwgMjsKLUBAIC0xMjYsMTcgKzEzOCwyNyBAQCByZWFsbG9jOgotIAkJCQkgIm5ld2VyIGdsaWJjKD49IDIuNykiKTsKLSAJCWVsc2UKLSAjZW5kaWYKKyAJCQlnb3RvIHJlYWxsb2M7CisgCQl9CiArI2Vsc2UKICsJCWlmIChlcnJubyA9PSBFSU5WQUwpCiArCQkJdHN0X3Jlc20oVEZBSUwsICJOUl9DUFVTID4gMTAyNCwgd2UnZCBiZXR0ZXIgdXNlIGEgIgogKwkJCQkgIm5ld2VyIGdsaWJjKD49IDIuNykiKTsKICsJCWVsc2UKICsjZW5kaWYKLSAJCQl0c3RfcmVzbShURkFJTCB8IFRURVJSTk8sICJmYWlsIHRvIGdldCBjcHUgYWZmaW5pdHkiKTsKLSAJCWNsZWFudXAoKTsKLSAJfSBlbHNlIHsKKyAjZWxzZQorIAkJaWYgKGVycm5vID09IEVJTlZBTCkKKyAJCQl0c3RfcmVzbShURkFJTCwgIk5SX0NQVVMgPiAxMDI0LCB3ZSdkIGJldHRlciB1c2UgYSAiCitAQCAtMTMyLDggKzE1MCwxMiBAQCByZWFsbG9jOgogIAkJdHN0X3Jlc20oVElORk8sICJjcHVzZXRzaXplIGlzICVkIiwgbGVuKTsKICAJCXRzdF9yZXNtKFRJTkZPLCAibWFzay5fX2JpdHNbMF0gPSAlbHUgIiwgbWFzay0+X19iaXRzWzBdKTsKICAJCWZvciAoaSA9IDA7IGkgPCBudW07IGkrKykgewogKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgZGVmaW5lZChfX0dMSUJDX1BSRVJFUSkKICAjaWYgX19HTElCQ19QUkVSRVEoMiwgNykKICAJCQlURVNUKENQVV9JU1NFVF9TKGksIGxlbiwgbWFzaykpOwotICNlbHNlCi0gCQkJVEVTVChDUFVfSVNTRVQoaSwgbWFzaykpOwotICNlbmRpZgogKyNlbHNlCiArCQkJVEVTVChDUFVfSVNTRVQoaSwgbWFzaykpOwogKyNlbmRpZgotIAkJCWlmIChURVNUX1JFVFVSTiAhPSAtMSkKLSAJCQkJdHN0X3Jlc20oVFBBU1MsICJzY2hlZF9nZXRhZmZpbml0eSgpIHN1Y2NlZWQsICIKLSAJCQkJCSAidGhpcyBwcm9jZXNzICVkIGlzIHJ1bm5pbmcgIgotQEAgLTE0NCwxMSArMTY2LDE1IEBAIHJlYWxsb2M6CisgI2Vsc2UKKyAJCQlURVNUKENQVV9JU1NFVChpLCBtYXNrKSk7CisgI2VuZGlmCitAQCAtMTQ0LDggKzE2NiwxMiBAQCByZWFsbG9jOgogIAkJfQogIAl9CiAgCiArI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiBkZWZpbmVkKF9fR0xJQkNfUFJFUkVRKQogICNpZiBfX0dMSUJDX1BSRVJFUSgyLCA3KQogIAlDUFVfWkVST19TKGxlbiwgbWFzayk7Ci0gI2Vsc2UKLSAJQ1BVX1pFUk8obWFzayk7Ci0gI2VuZGlmCiArI2Vsc2UKICsJQ1BVX1pFUk8obWFzayk7CiArI2VuZGlmCi0gCS8qIG5lZ2F0aXZlIHRlc3RzICovCi0gCVFVSUNLX1RFU1Qoc2NoZWRfZ2V0YWZmaW5pdHkoMCwgbGVuLCAoY3B1X3NldF90ICopIC0gMSkpOwotIAlRVUlDS19URVNUKHNjaGVkX2dldGFmZmluaXR5KDAsIDAsIG1hc2spKTsKKyAjZWxzZQorIAlDUFVfWkVSTyhtYXNrKTsKKyAjZW5kaWYKIC0tIAotMS45LjEKKzIuMTcuMQogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMzUtZml4LXRlc3RfcHJvY19raWxsLWhhbmcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMzUtZml4LXRlc3RfcHJvY19raWxsLWhhbmcucGF0Y2gKaW5kZXggNzFlMzJhNS4uNjY1ZGEzYiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDM1LWZpeC10ZXN0X3Byb2Nfa2lsbC1oYW5nLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAzNS1maXgtdGVzdF9wcm9jX2tpbGwtaGFuZy5wYXRjaApAQCAtMTksNyArMTksNyBAQAogaW5kZXggYjc4NWZlMy4uMjkxOGNjNSAxMDA3NTUKIC0tLSBhL3Rlc3RjYXNlcy9rZXJuZWwvY29udHJvbGxlcnMvbWVtY2cvZnVuY3Rpb25hbC9tZW1jZ19saWIuc2gKICsrKyBiL3Rlc3RjYXNlcy9rZXJuZWwvY29udHJvbGxlcnMvbWVtY2cvZnVuY3Rpb25hbC9tZW1jZ19saWIuc2gKLUBAIC0yODMsNiArMjgzLDcgQEAgdGVzdF9wcm9jX2tpbGwoKQorQEAgLTI5MSw2ICsyOTEsNyBAQCB0ZXN0X3Byb2Nfa2lsbCgpCiAgCXBpZD0kIQogIAlUU1RfQ0hFQ0tQT0lOVF9XQUlUIDAKICAJZWNobyAkcGlkID4gdGFza3MKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAzOS1jb21tYW5kcy1hcjAxLUZpeC1mb3ItdGVzdC1pbi1kZXRlcm1pbmlzdGljLW1vZGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMzktY29tbWFuZHMtYXIwMS1GaXgtZm9yLXRlc3QtaW4tZGV0ZXJtaW5pc3RpYy1tb2RlLnBhdGNoCmluZGV4IGU3YzkyN2UuLmVjNWUyZWYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAzOS1jb21tYW5kcy1hcjAxLUZpeC1mb3ItdGVzdC1pbi1kZXRlcm1pbmlzdGljLW1vZGUucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDM5LWNvbW1hbmRzLWFyMDEtRml4LWZvci10ZXN0LWluLWRldGVybWluaXN0aWMtbW9kZS5wYXRjaApAQCAtMjEsMTYgKzIxLDE4IEBACiAgMSBmaWxlIGNoYW5nZWQsIDUyIGluc2VydGlvbnMoKyksIDQwIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvdGVzdGNhc2VzL2NvbW1hbmRzL2FyL2FyMDEgYi90ZXN0Y2FzZXMvY29tbWFuZHMvYXIvYXIwMQotaW5kZXggZGRhYjJlMC4uZDY4OGY3NiAxMDA2NDQKK2luZGV4IGJlMTA1ZjZkYS4uODEzYTUxZDljIDEwMDY0NAogLS0tIGEvdGVzdGNhc2VzL2NvbW1hbmRzL2FyL2FyMDEKICsrKyBiL3Rlc3RjYXNlcy9jb21tYW5kcy9hci9hcjAxCi1AQCAtMjMsMTQgKzIzLDI2IEBACi0gIyBUaGlzIGlzIGEgYmFzaWMgYXIgY29tbWFuZCB0ZXN0LgorQEAgLTI0LDE2ICsyNCwyOCBAQAogICMKKyBBUj0iJHtBUjo9YXJ9IgogIFRTVF9DTlQ9MTcKICtUU1RfU0VUVVA9c2V0dXAKICBUU1RfVEVTVEZVTkM9dGVzdAogIFRTVF9ORUVEU19UTVBESVI9MQorIFRTVF9ORUVEU19DTURTPSIkQVIiCisgCiAgLiB0c3RfdGVzdC5zaAogIAogK3NldHVwKCkKQEAgLTUzLDcgKzU1LDcgQEAKICAJUk9EIGFyIC10IGxpYi5hIFw+IGFyLm91dAogIAogIAlwcmludGYgImZpbGUxLmluXG5maWxlMi5pblxuZmlsZTMuaW5cbiIgPiBhci5leHAKLUBAIC00Nyw5ICs1OSw5IEBAIHRlc3QxKCkKK0BAIC01MCw5ICs2Miw5IEBAIHRlc3QxKCkKICAKICB0ZXN0MigpCiAgewpAQCAtNjYsNyArNjgsNyBAQAogIAlST0QgYXIgLXQgbGliLmEgXD4gYXIub3V0CiAgCiAgCXByaW50ZiAiZmlsZTEuaW5cbmZpbGU0LmluXG5maWxlMi5pblxuZmlsZTMuaW5cbiIgPiBhci5leHAKLUBAIC02Niw4ICs3OCw4IEBAIHRlc3QyKCkKK0BAIC02OSw4ICs4MSw4IEBAIHRlc3QyKCkKICAKICB0ZXN0MygpCiAgewpAQCAtNzcsNyArNzksNyBAQAogIAlST0QgYXIgLXQgbGliLmEgXD4gYXIub3V0CiAgCiAgCXByaW50ZiAiZmlsZTEuaW5cbmZpbGUyLmluXG5maWxlMy5pblxuIiA+IGFyLmV4cAotQEAgLTg0LDkgKzk2LDkgQEAgdGVzdDMoKQorQEAgLTg3LDkgKzk5LDkgQEAgdGVzdDMoKQogIAogIHRlc3Q0KCkKICB7CkBAIC05MCw3ICs5Miw3IEBACiAgCVJPRCBhciAtdCBsaWIuYSBcPiBhci5vdXQKICAKICAJcHJpbnRmICJmaWxlMS5pblxuZmlsZTIuaW5cbmZpbGUzLmluXG4iID4gYXIuZXhwCi1AQCAtMTAzLDcgKzExNSw3IEBAIHRlc3Q0KCkKK0BAIC0xMDYsNyArMTE4LDcgQEAgdGVzdDQoKQogIAogIHRlc3Q1KCkKICB7CkBAIC05OSw3ICsxMDEsNyBAQAogIAogIAlpZiBbIC1zIGFyLm91dCBdOyB0aGVuCiAgCQl0c3RfcmVzIFRGQUlMICJhciBwcm9kdWNlZCBvdXRwdXQgdW5leHBlY3RlZGx5ICgtYykiCi1AQCAtMTE3LDcgKzEyOSw3IEBAIHRlc3Q1KCkKK0BAIC0xMjAsNyArMTMyLDcgQEAgdGVzdDUoKQogIAogIHRlc3Q2KCkKICB7CkBAIC0xMDgsNyArMTEwLDcgQEAKICAKICAJaWYgWyAtcyBhci5vdXQgXTsgdGhlbgogIAkJdHN0X3JlcyBURkFJTCAiYXIgcHJvZHVjZWQgb3V0cHV0IHVuZXhwZWN0ZWRseSAoLXFjKSIKLUBAIC0xMzEsOSArMTQzLDkgQEAgdGVzdDYoKQorQEAgLTEzNCw5ICsxNDYsOSBAQCB0ZXN0NigpCiAgCiAgdGVzdDcoKQogIHsKQEAgLTEyMSw3ICsxMjMsNyBAQAogIAlST0QgYXIgLXQgbGliLmEgXD4gYXIub3V0CiAgCiAgCXByaW50ZiAiZmlsZTMuaW5cbiIgPiBhci5leHAKLUBAIC0xNTAsOSArMTYyLDkgQEAgdGVzdDcoKQorQEAgLTE1Myw5ICsxNjUsOSBAQCB0ZXN0NygpCiAgCiAgdGVzdDgoKQogIHsKQEAgLTEzNCw3ICsxMzYsNyBAQAogIAlST0QgYXIgLXQgbGliLmEgXD4gYXIub3V0CiAgCiAgCXByaW50ZiAiZmlsZTEuaW5cbmZpbGUyLmluXG5maWxlMy5pblxuIiA+IGFyLmV4cAotQEAgLTE2OSw4ICsxODEsOCBAQCB0ZXN0OCgpCitAQCAtMTcyLDggKzE4NCw4IEBAIHRlc3Q4KCkKICAKICB0ZXN0OSgpCiAgewpAQCAtMTQ1LDcgKzE0Nyw3IEBACiAgCVJPRCBhciAtdCBsaWIuYSBcPiBhci5vdXQKICAKICAJcHJpbnRmICJmaWxlMS5pblxuZmlsZTIuaW5cbmZpbGUzLmluXG4iID4gYXIuZXhwCi1AQCAtMTg3LDkgKzE5OSw5IEBAIHRlc3Q5KCkKK0BAIC0xOTAsOSArMjAyLDkgQEAgdGVzdDkoKQogIAogIHRlc3QxMCgpCiAgewpAQCAtMTU4LDcgKzE2MCw3IEBACiAgCVJPRCBhciAtdCBsaWIuYSBcPiBhci5vdXQKICAKICAJcHJpbnRmICJmaWxlMS5pblxuZmlsZTIuaW5cbmZpbGUzLmluXG4iID4gYXIuZXhwCi1AQCAtMjA2LDkgKzIxOCw5IEBAIHRlc3QxMCgpCitAQCAtMjA5LDkgKzIyMSw5IEBAIHRlc3QxMCgpCiAgCiAgdGVzdDExKCkKICB7CkBAIC0xNzEsNyArMTczLDcgQEAKICAJUk9EIGFyIC10IGxpYi5hIFw+IGFyLm91dAogIAogIAlwcmludGYgImZpbGUxLmluXG5maWxlMi5pblxuZmlsZTMuaW5cbiIgPiBhci5leHAKLUBAIC0yMjUsOSArMjM3LDkgQEAgdGVzdDExKCkKK0BAIC0yMjgsOSArMjQwLDkgQEAgdGVzdDExKCkKICAKICB0ZXN0MTIoKQogIHsKQEAgLTE4NCw3ICsxODYsNyBAQAogIAogIAlwcmludGYgIlRoaXMgaXMgZmlsZSBvbmVcblRoaXMgaXMgZmlsZSB0d29cblRoaXMgaXMgZmlsZSB0aHJlZVxuIiA+IGFyLmV4cAogIAotQEAgLTI0NCw5ICsyNTYsOSBAQCB0ZXN0MTIoKQorQEAgLTI0Nyw5ICsyNTksOSBAQCB0ZXN0MTIoKQogIHRlc3QxMygpCiAgewogIApAQCAtMTk3LDcgKzE5OSw3IEBACiAgCVJPRCBhciAtdCBsaWIuYSBcPiBhci5vdXQKICAKICAJcHJpbnRmICJmaWxlMS5pblxuZmlsZTIuaW5cbmZpbGUzLmluXG5maWxlNC5pblxuIiA+IGFyLmV4cAotQEAgLTI2NCwxNCArMjc2LDE0IEBAIHRlc3QxMygpCitAQCAtMjY3LDE0ICsyNzksMTQgQEAgdGVzdDEzKCkKICB0ZXN0MTQoKQogIHsKICAJUk9EIHRvdWNoIGZpbGUwLmluCkBAIC0yMTQsNyArMjE2LDcgQEAKICAKICAJZmlsZTBfbXRpbWUyPSQoYXIgLXR2IGxpYi5hIHwgZ3JlcCBmaWxlMC5pbikKICAJZmlsZTFfbXRpbWUyPSQoYXIgLXR2IGxpYi5hIHwgZ3JlcCBmaWxlMS5pbikKLUBAIC0yOTMsNyArMzA1LDcgQEAgdGVzdDE0KCkKK0BAIC0yOTYsNyArMzA4LDcgQEAgdGVzdDE0KCkKICAKICB0ZXN0MTUoKQogIHsKQEAgLTIyMyw3ICsyMjUsNyBAQAogIAlST0QgYXIgLXR2IGxpYi5hIFw+IGFyLm91dAogIAogIAlpZiBncmVwIC1xICdbcnd4LV1cezlcfSBbMC05XS4qL1swLTldLipccypbMC05XS4qLipmaWxlMS5pbicgYXIub3V0OyB0aGVuCi1AQCAtMzA4LDkgKzMyMCw5IEBAIHRlc3QxNSgpCitAQCAtMzExLDkgKzMyMyw5IEBAIHRlc3QxNSgpCiAgCiAgdGVzdDE2KCkKICB7CkBAIC0yMzYsNyArMjM4LDcgQEAKICAKICAJcHJpbnRmICJ4IC0gZmlsZTEuaW5cbnggLSBmaWxlMi5pblxueCAtIGZpbGUzLmluXG4iID4gYXIuZXhwCiAgCi1AQCAtMzMyLDggKzM0NCw4IEBAIHRlc3QxNigpCitAQCAtMzM1LDggKzM0Nyw4IEBAIHRlc3QxNigpCiAgCiAgdGVzdDE3KCkKICB7CkBAIC0yNDgsNSArMjUwLDUgQEAKICAJcHJpbnRmICJ4IC0gZmlsZTIuaW5cbiIgPiBhci5leHAKICAKIC0tIAotMi43LjQKKzIuMTkuMC5yYzIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDQwLXJlYWRfYWxsLURlZmluZS1GTk1fRVhUTUFUQ0gtaWYtbm90LWFscmVhZHktbGlrZS11bmQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwNDAtcmVhZF9hbGwtRGVmaW5lLUZOTV9FWFRNQVRDSC1pZi1ub3QtYWxyZWFkeS1saWtlLXVuZC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDI0NWE4OS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwNDAtcmVhZF9hbGwtRGVmaW5lLUZOTV9FWFRNQVRDSC1pZi1ub3QtYWxyZWFkeS1saWtlLXVuZC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLUZyb20gMjM1MTg1MDhkZTMwNzc5MDIzMWQxNmFmMzA3MjkxZjFiNDVlOTAzYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9EYW5pZWw9MjBEPUMzPUFEYXo/PSA8ZGFuaWVsLmRpYXpAbGluYXJvLm9yZz4KLURhdGU6IFR1ZSwgNSBKdW4gMjAxOCAxNTozNjozMCAtMDUwMAotU3ViamVjdDogW1BBVENIXSByZWFkX2FsbDogRGVmaW5lIEZOTV9FWFRNQVRDSCBpZiBub3QgYWxyZWFkeSAobGlrZSB1bmRlcgotIG11c2wpLgotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1XaXRoIG11c2wsIEZOTV9FWFRNQVRDSCBpcyBub3QgZGVmaW5lZDoKLXwgcmVhZF9hbGwuYzogSW4gZnVuY3Rpb24gJ3JlYWRfdGVzdCc6Ci18IHJlYWRfYWxsLmM6MjAxOjQxOiBlcnJvcjogJ0ZOTV9FWFRNQVRDSCcgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4gJ0ZOTV9OT01BVENIJz8KLXwgICBpZiAoZXhjbHVkZSAmJiAhZm5tYXRjaChleGNsdWRlLCBwYXRoLCBGTk1fRVhUTUFUQ0gpKSB7Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk5NX05PTUFUQ0gKLXwgcmVhZF9hbGwuYzoyMDE6NDE6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCi18IDxidWlsdGluPjogcmVjaXBlIGZvciB0YXJnZXQgJ3JlYWRfYWxsJyBmYWlsZWQKLXwgbWFrZVs0XTogKioqIFtyZWFkX2FsbF0gRXJyb3IgMQotCi1TaWduZWQtb2ZmLWJ5OiBEYW5pZWwgRMOtYXogPGRhbmllbC5kaWF6QGxpbmFyby5vcmc+Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gdGVzdGNhc2VzL2tlcm5lbC9mcy9yZWFkX2FsbC9yZWFkX2FsbC5jIHwgNCArKysrCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvdGVzdGNhc2VzL2tlcm5lbC9mcy9yZWFkX2FsbC9yZWFkX2FsbC5jIGIvdGVzdGNhc2VzL2tlcm5lbC9mcy9yZWFkX2FsbC9yZWFkX2FsbC5jCi1pbmRleCBhOGUxNjExLi5lOWZmNDdhIDEwMDY0NAotLS0tIGEvdGVzdGNhc2VzL2tlcm5lbC9mcy9yZWFkX2FsbC9yZWFkX2FsbC5jCi0rKysgYi90ZXN0Y2FzZXMva2VybmVsL2ZzL3JlYWRfYWxsL3JlYWRfYWxsLmMKLUBAIC01OSw2ICs1OSwxMCBAQAotICNkZWZpbmUgTUFYX1BBVEggNDA5NgotICNkZWZpbmUgTUFYX0RJU1BMQVkgNDAKLSAKLSsjaWYgIWRlZmluZWQoRk5NX0VYVE1BVENIKQotKyNkZWZpbmUgRk5NX0VYVE1BVENIIDAKLSsjZW5kaWYKLSsKLSBzdHJ1Y3QgcXVldWUgewotIAlzZW1fdCBzZW07Ci0gCWludCBmcm9udDsKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDQxLWN2ZS0yMDE3LTU2Njktc2htYXQtZm9yLTAtb3ItUEFHRVNJWkUtd2l0aC1STkQtZmxhZy0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwNDEtY3ZlLTIwMTctNTY2OS1zaG1hdC1mb3ItMC1vci1QQUdFU0laRS13aXRoLVJORC1mbGFnLS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGQyZDJjYi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwNDEtY3ZlLTIwMTctNTY2OS1zaG1hdC1mb3ItMC1vci1QQUdFU0laRS13aXRoLVJORC1mbGFnLS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDk3ICswLDAgQEAKLUZyb20gYjc2N2I3M2VmMDI3YmE4ZDM1ZjI5N2M3ZDM2NTkyNjVhYzgwNDI1YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJhZmFlbCBEYXZpZCBUaW5vY28gPHJhZmFlbC50aW5vY29AY2Fub25pY2FsLmNvbT4KLURhdGU6IFdlZCwgMzAgTWF5IDIwMTggMDk6MTQ6MzQgLTAzMDAKLVN1YmplY3Q6IFtQQVRDSF0gY3ZlLTIwMTctNTY2OTogc2htYXQoKSBmb3IgMCAob3IgPFBBR0VTSVpFIHdpdGggUk5EIGZsYWcpIGhhcwotIHRvIGZhaWwgd2l0aCBSRU1BUHMKLQotRml4ZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9saW51eC10ZXN0LXByb2plY3QvbHRwL2lzc3Vlcy8zMTkKLQotQWNjb3JkaW5nIHRvIHVwc3RyZWFtIHRocmVhZCAoaHR0cHM6Ly9sa21sLm9yZy9sa21sLzIwMTgvNS8yOC8yMDU2KSwKLWN2ZS0yMDE3LTU2NjkgbmVlZHMgdG8gYWRkcmVzcyB0aGUgIm5ldyIgd2F5IG9mIGhhbmRsaW5nIG5pbCBhZGRyZXNzZXMKLWZvciBzaG1hdCgpIHdoZW4gdXNlZCB3aXRoIE1BUF9GSVhFRCBvciBTSE1fUkVNQVAgZmxhZ3MuCi0KLS0gbWFwcGluZyBuaWwtcGFnZSBpcyBPSyBvbiBsb3dlciBhZGRyZXNzZXMgd2l0aCBNQVBfRklYRUQgKG9yIGVsc2UgWDExIGlzIGJyb2tlbikKLS0gbWFwcGluZyBuaWwtcGFnZSBpcyBOT1QgT0sgd2l0aCBTSE1fUkVNQVAgb24gbG93ZXIgYWRkcmVzc2VzCi0KLUFkZHJlc3NlcyBEYXZpZGxvaHIgQnVlc28ncyBjb21tZW50cy9jaGFuZ2VzOgotCi1jb21taXQgOGY4OWMwMDdiNmRlCi1BdXRob3I6IERhdmlkbG9ociBCdWVzbyA8ZGF2ZUBzdGdvbGFicy5uZXQ+Ci1EYXRlOiAgIEZyaSBNYXkgMjUgMTQ6NDc6MzAgMjAxOCAtMDcwMAotCi0gICAgaXBjL3NobTogZml4IHNobWF0KCkgbmlsIGFkZHJlc3MgYWZ0ZXIgcm91bmQtZG93biB3aGVuIHJlbWFwcGluZwotCi1jb21taXQgYTczYWIyNDRmMGRhCi1BdXRob3I6IERhdmlkbG9ociBCdWVzbyA8ZGF2ZUBzdGdvbGFicy5uZXQ+Ci1EYXRlOiAgIEZyaSBNYXkgMjUgMTQ6NDc6MjcgMjAxOCAtMDcwMAotCi0gICAgUmV2ZXJ0ICJpcGMvc2htOiBGaXggc2htYXQgbW1hcCBuaWwtcGFnZSBwcm90ZWN0aW9uIgotCi1Gb3IgcHJldmlvdXNseSB0ZXN0LCBhbmQgbm93IGJyb2tlbiwgbWFkZSBiYXNlZCBvbjoKLQotY29tbWl0IDk1ZTkxYjgzMWY4NwotQXV0aG9yOiBEYXZpZGxvaHIgQnVlc28gPGRhdmVAc3Rnb2xhYnMubmV0PgotRGF0ZTogICBNb24gRmViIDI3IDE0OjI4OjI0IDIwMTcgLTA4MDAKLQotICAgIGlwYy9zaG06IEZpeCBzaG1hdCBtbWFwIG5pbC1wYWdlIHByb3RlY3Rpb24KLQotU2lnbmVkLW9mZi1ieTogUmFmYWVsIERhdmlkIFRpbm9jbyA8cmFmYWVsLnRpbm9jb0BsaW5hcm8ub3JnPgotVGVzdGVkLWJ5OiBOYXJlc2ggS2FtYm9qdSA8bmFyZXNoLmthbWJvanVAbGluYXJvLm9yZz4KLVJldmlld2VkLWJ5OiBKYW4gU3RhbmNlayA8anN0YW5jZWtAcmVkaGF0LmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBBY2NlcHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL2xpbnV4LXRlc3QtcHJvamVjdC9sdHAvcHVsbC8zMjRdCi1DVkU6IENWRS0yMDE3LTU2NjkKLVNpZ25lZC1vZmYtYnk6IFJhZmFlbCBEYXZpZCBUaW5vY28gPHJhZmFlbC50aW5vY29AbGluYXJvLm9yZz4KLS0tLQotIHRlc3RjYXNlcy9jdmUvY3ZlLTIwMTctNTY2OS5jIHwgMjAgKysrKysrKysrKysrKysrKysrKy0KLSAxIGZpbGUgY2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvdGVzdGNhc2VzL2N2ZS9jdmUtMjAxNy01NjY5LmMgYi90ZXN0Y2FzZXMvY3ZlL2N2ZS0yMDE3LTU2NjkuYwotaW5kZXggMWNhNTk4My4uMDgzNDYyNiAxMDA2NDQKLS0tLSBhL3Rlc3RjYXNlcy9jdmUvY3ZlLTIwMTctNTY2OS5jCi0rKysgYi90ZXN0Y2FzZXMvY3ZlL2N2ZS0yMDE3LTU2NjkuYwotQEAgLTI4LDcgKzI4LDIwIEBACi0gICogaXMganVzdCB0byBzZWUgaWYgd2UgZ2V0IGFuIGFjY2VzcyBlcnJvciBvciBzb21lIG90aGVyIHVuZXhwZWN0ZWQgYmVoYXZpb3VyLgotICAqCi0gICogU2VlIGNvbW1pdCA5NWU5MWI4MzFmIChpcGMvc2htOiBGaXggc2htYXQgbW1hcCBuaWwtcGFnZSBwcm90ZWN0aW9uKQotKyAqCi0rICogVGhlIGNvbW1pdCBhYm92ZSBkaXNhbGxvd2VkIFNITV9STkQgbWFwcyB0byB6ZXJvIChhbmQgcm91bmRlZCkgZW50aXJlbHkgYW5kCi0rICogdGhhdCBicm9rZSB1c2VybGFuZCBmb3IgY2FzZXMgbGlrZSBYb3JnLiBOZXcgYmVoYXZpb3IgZGlzYWxsb3dzIFJFTUFQcyB0bwotKyAqIGxvd2VyIGFkZHJlc3NlcyAoMDw9UEFHRVNJWkUpLgotKyAqCi0rICogU2VlIGNvbW1pdCBhNzNhYjI0NGYwZGEgKFJldmVydCAiaXBjL3NobTogRml4IHNobWF0IG1tYXAgbmlsLXBhZ2UgcHJvdGVjdC4uLikKLSsgKiBTZWUgY29tbWl0IDhmODljMDA3YjZkZSAoaXBjL3NobTogZml4IHNobWF0KCkgbmlsIGFkZHJlc3MgYWZ0ZXIgcm91bmQtZG93Li4uKQotKyAqIFNlZSBodHRwczovL2dpdGh1Yi5jb20vbGludXgtdGVzdC1wcm9qZWN0L2x0cC9pc3N1ZXMvMzE5Ci0rICoKLSsgKiBUaGlzIHRlc3QgbmVlZHMgcm9vdCBwZXJtaXNzaW9ucyBvciBlbHNlIHNlY3VyaXR5X21tYXBfYWRkcigpLCBmcm9tCi0rICogZ2V0X3VubWFwcGVkX2FyZWEoKSwgd2lsbCBjYXVzZSBwZXJtaXNzaW9uIGVycm9ycyB3aGVuIHRyeWluZyB0byBtbWFwIGxvd2VyCi0rICogYWRkcmVzc2VzLgotICAqLwotKwotICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSAjaW5jbHVkZSA8c3lzL2lwYy5oPgotICNpbmNsdWRlIDxzeXMvc2htLmg+Ci1AQCAtNjAsNyArNzMsMTEgQEAgc3RhdGljIHZvaWQgY2xlYW51cCh2b2lkKQotIHN0YXRpYyB2b2lkIHJ1bih2b2lkKQotIHsKLSAJdHN0X3JlcyhUSU5GTywgIkF0dGVtcHRpbmcgdG8gYXR0YWNoIHNoYXJlZCBtZW1vcnkgdG8gbnVsbCBwYWdlIik7Ci0tCXNobV9hZGRyID0gc2htYXQoc2htX2lkLCAoKHZvaWQgKikxKSwgU0hNX1JORCk7Ci0rCS8qCi0rCSAqIHNobWF0KCkgZm9yIDAgKG9yIDwgUEFHRVNJWkUgd2l0aCBSTkQgZmxhZykgaGFzIHRvIGZhaWwgd2l0aCBSRU1BUHMKLSsJICogaHR0cHM6Ly9naXRodWIuY29tL2xpbnV4LXRlc3QtcHJvamVjdC9sdHAvaXNzdWVzLzMxOQotKwkgKi8KLSsJc2htX2FkZHIgPSBzaG1hdChzaG1faWQsICgodm9pZCAqKTEpLCBTSE1fUk5EIHwgU0hNX1JFTUFQKTsKLSAJaWYgKHNobV9hZGRyID09ICh2b2lkICopLTEpIHsKLSAJCXNobV9hZGRyID0gTlVMTDsKLSAJCWlmIChlcnJubyA9PSBFSU5WQUwpIHsKLUBAIC04OSw2ICsxMDYsNyBAQCBzdGF0aWMgdm9pZCBydW4odm9pZCkKLSB9Ci0gCi0gc3RhdGljIHN0cnVjdCB0c3RfdGVzdCB0ZXN0ID0gewotKwkubmVlZHNfcm9vdCA9IDEsCi0gCS5zZXR1cCA9IHNldHVwLAotIAkuY2xlYW51cCA9IGNsZWFudXAsCi0gCS50ZXN0X2FsbCA9IHJ1biwKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDQyLWZzLWZ0ZXN0LWZ0ZXN0MDYuYy1GaXgtdG9vLXNtYWxsLW5hbWUtc3RyaW5nLWFuZC1yZWwucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwNDItZnMtZnRlc3QtZnRlc3QwNi5jLUZpeC10b28tc21hbGwtbmFtZS1zdHJpbmctYW5kLXJlbC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDA3ZDk4ZS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwNDItZnMtZnRlc3QtZnRlc3QwNi5jLUZpeC10b28tc21hbGwtbmFtZS1zdHJpbmctYW5kLXJlbC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLUZyb20gYmFlZWYwMjZmODBlMTlhNjM0YTQwOTZlOTcyODY0MTlhY2ExY2Y2OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEhlIFpoZSA8emhlLmhlQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDIzIEF1ZyAyMDE4IDAwOjIyOjA0ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIGZzL2Z0ZXN0L2Z0ZXN0MDYuYzogRml4IHRvbyBzbWFsbCBuYW1lIHN0cmluZyBhbmQgcmVsYXRlZAotIGZhaWx1cmUKLQotVGhlIG5hbWUgc3RyaW5nIGlzIHRvbyBzbWFsbCB0byBjb250YWluIG5vcm1hbCBmdWxsIHBhdGggbmFtZXMgYW5kIGNhdXNlcwotdGhlIGZvbGxvd2luZyBmYWlsdXJlLgotCi0iZnRlc3QwNiAgICAgMiAgVEZBSUwgIDogIGZ0ZXN0MDYuYzoyMjM6IENhbid0IGNoZGlyKCk6IGVycm5vPUVOT0VOVCgyKTogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeSIKLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2x0cC1saXN0QGxpc3RzLnNvdXJjZWZvcmdlLm5ldF0KLQotU2lnbmVkLW9mZi1ieTogSGUgWmhlIDx6aGUuaGVAd2luZHJpdmVyLmNvbT4KLS0tLQotIHRlc3RjYXNlcy9rZXJuZWwvZnMvZnRlc3QvZnRlc3QwNi5jIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvdGVzdGNhc2VzL2tlcm5lbC9mcy9mdGVzdC9mdGVzdDA2LmMgYi90ZXN0Y2FzZXMva2VybmVsL2ZzL2Z0ZXN0L2Z0ZXN0MDYuYwotaW5kZXggMmNhN2M4OC4uYjQzNDA2NyAxMDA2NDQKLS0tLSBhL3Rlc3RjYXNlcy9rZXJuZWwvZnMvZnRlc3QvZnRlc3QwNi5jCi0rKysgYi90ZXN0Y2FzZXMva2VybmVsL2ZzL2Z0ZXN0L2Z0ZXN0MDYuYwotQEAgLTEwMCw3ICsxMDAsNyBAQCBzdGF0aWMgY2hhciAqZnN0eXA7Ci0gaW50IG1haW4oaW50IGFjLCBjaGFyICphdltdKQotIHsKLSAJaW50IHBpZCwgY2hpbGQsIHN0YXR1cywgY291bnQsIGssIGo7Ci0tCWNoYXIgbmFtZVszXTsKLSsJY2hhciBuYW1lW01BWFBBVEhMRU5dOwotIAotIAlpbnQgbGM7Ci0gCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDA0My1vcGVuLWNyZWF0LXNraXAtU19JU0dJRC1jaGVjay1vbi1maWxlcy1jcmVhdGVkLWJ5LW5vLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDQzLW9wZW4tY3JlYXQtc2tpcC1TX0lTR0lELWNoZWNrLW9uLWZpbGVzLWNyZWF0ZWQtYnktbm8ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjNjFmY2MuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDQzLW9wZW4tY3JlYXQtc2tpcC1TX0lTR0lELWNoZWNrLW9uLWZpbGVzLWNyZWF0ZWQtYnktbm8ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw4MSArMCwwIEBACi1Gcm9tIDNjODdlZjI5NjFkZWRiMTBkMWY2NzRjNmE1MzBlMDBkYmFiOGVjMWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKYW4gU3RhbmNlayA8anN0YW5jZWtAcmVkaGF0LmNvbT4KLURhdGU6IFR1ZSwgMTcgSnVsIDIwMTggMTA6MjY6MzkgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gb3BlbnxjcmVhdDogc2tpcCBTX0lTR0lEIGNoZWNrIG9uIGZpbGVzIGNyZWF0ZWQgYnkgbm9uLWdyb3VwCi0gbWVtYmVycwotCi0wZmEzZWNkODc4NDggKCJGaXggdXAgbm9uLWRpcmVjdG9yeSBjcmVhdGlvbiBpbiBTR0lEIGRpcmVjdG9yaWVzIikKLWZpeGVzIHByb2JsZW0gZGVzY3JpYmVkIGluIENWRS0yMDE4LTEzNDA1LiBUaGlzIGNvbW1pdCBpcyBnZXR0aW5nCi1iYWNrcG9ydGVkIHRvIG9sZGVyIHN0cmVhbXMgYXMgd2VsbC4KLQotVGhpcyBwYXRjaCByZW1vdmVzIFNfSVNHSUQgY2hlY2sgZm9yIGZpbGVzIGNyZWF0ZWQgYnkgbm9uLWdyb3VwIG1lbWJlcnMKLWluIExUUCB0ZXN0cyBjcmVhdDA4IGFuZCBvcGVuMTAuCi0KLU9uY2UgMGZhM2VjZDg3ODQ4IHdpbGwgYmUgaW4gbm9uLXJjIGtlcm5lbCwgd2UgY291bGQgYWRkIGEgbmV3IHRlc3QKLWZvciB0aGlzIENWRSB0aGF0IHdvdWxkIGJlIGxpbWl0ZWQgdG8gNC4xOCsga2VybmVscy4KLQotU2lnbmVkLW9mZi1ieTogSmFuIFN0YW5jZWsgPGpzdGFuY2VrQHJlZGhhdC5jb20+Ci1BY2tlZC1ieTogQ3lyaWwgSHJ1YmlzIDxjaHJ1YmlzQHN1c2UuY3o+Ci1SZXZpZXdlZC1ieTogTmFyZXNoIEthbWJvanUgPG5hcmVzaC5rYW1ib2p1QGxpbmFyby5vcmc+Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVsgZ2l0Oi8vZ2l0aHViLmNvbS9saW51eC10ZXN0LXByb2plY3QvbHRwLmdpdAotICAzYzg3ZWYyOTYxZGVkYjEwZDFmNjc0YzZhNTMwZTAwZGJhYjhlYzFiCi0gICJvcGVufGNyZWF0OiBza2lwIFNfSVNHSUQgY2hlY2sgb24gZmlsZXMgY3JlYXRlZCBieSBub24tZ3JvdXAgbWVtYmVycyIgXQotCi1TaWduZWQtb2ZmLWJ5OiBIZSBaaGUgPHpoZS5oZUB3aW5kcml2ZXIuY29tPgotLS0tCi0gdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9jcmVhdC9jcmVhdDA4LmMgfCAxMyArKysrKystLS0tLS0tCi0gdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9vcGVuL29wZW4xMC5jICAgfCAxMiArKysrKy0tLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9jcmVhdC9jcmVhdDA4LmMgYi90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2NyZWF0L2NyZWF0MDguYwotaW5kZXggNTBmMmIzOTkzLi5kMjI1NThhYzMgMTAwNjQ0Ci0tLS0gYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2NyZWF0L2NyZWF0MDguYwotKysrIGIvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9jcmVhdC9jcmVhdDA4LmMKLUBAIC0zNjEsMTMgKzM2MSwxMiBAQCBpbnQgbWFpbihpbnQgYWMsIGNoYXIgKiphdikKLSAJCQlsb2NhbF9mbGFnID0gRkFJTEVEOwotIAkJfQotIAotLQkJLyogVmVyaWZ5IG1vZGVzICovCi0tCQlpZiAoIShidWYuc3RfbW9kZSAmIFNfSVNHSUQpKSB7Ci0tCQkJdHN0X3Jlc20oVEZBSUwsCi0tCQkJCSAiJXM6IEluY29ycmVjdCBtb2Rlcywgc2V0Z2lkIGJpdCBzaG91bGQgYmUgc2V0IiwKLS0JCQkJIHNldGdpZF9CKTsKLS0JCQlsb2NhbF9mbGFnID0gRkFJTEVEOwotLQkJfQotKwkJLyoKLSsJCSAqIFNraXAgU19JU0dJRCBjaGVjawotKwkJICogMGZhM2VjZDg3ODQ4ICgiRml4IHVwIG5vbi1kaXJlY3RvcnkgY3JlYXRpb24gaW4gU0dJRCBkaXJlY3RvcmllcyIpCi0rCQkgKiBjbGVhcnMgU19JU0dJRCBmb3IgZmlsZXMgY3JlYXRlZCBieSBub24tZ3JvdXAgbWVtYmVycwotKwkJICovCi0rCi0gCQljbG9zZShmZCk7Ci0gCi0gCQlpZiAobG9jYWxfZmxhZyA9PSBQQVNTRUQpIHsKLWRpZmYgLS1naXQgYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL29wZW4vb3BlbjEwLmMgYi90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL29wZW4vb3BlbjEwLmMKLWluZGV4IDYxM2YyMjg4Zi4uMTRmZWVjOWUxIDEwMDY0NAotLS0tIGEvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9vcGVuL29wZW4xMC5jCi0rKysgYi90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL29wZW4vb3BlbjEwLmMKLUBAIC0zNDUsMTMgKzM0NSwxMSBAQCBpbnQgbWFpbihpbnQgYWMsIGNoYXIgKmF2W10pCi0gCQkJbG9jYWxfZmxhZyA9IEZBSUxFRDsKLSAJCX0KLSAKLS0JCS8qIFZlcmlmeSBtb2RlcyAqLwotLQkJaWYgKCEoYnVmLnN0X21vZGUgJiBTX0lTR0lEKSkgewotLQkJCXRzdF9yZXNtKFRGQUlMLAotLQkJCQkgIiVzOiBJbmNvcnJlY3QgbW9kZXMsIHNldGdpZCBiaXQgbm90IHNldCIsCi0tCQkJCSBzZXRnaWRfQik7Ci0tCQkJbG9jYWxfZmxhZyA9IEZBSUxFRDsKLS0JCX0KLSsJCS8qCi0rCQkgKiBTa2lwIFNfSVNHSUQgY2hlY2sKLSsJCSAqIDBmYTNlY2Q4Nzg0OCAoIkZpeCB1cCBub24tZGlyZWN0b3J5IGNyZWF0aW9uIGluIFNHSUQgZGlyZWN0b3JpZXMiKQotKwkJICogY2xlYXJzIFNfSVNHSUQgZm9yIGZpbGVzIGNyZWF0ZWQgYnkgbm9uLWdyb3VwIG1lbWJlcnMKLSsJCSAqLwotIAotIAkJaWYgKGxvY2FsX2ZsYWcgPT0gUEFTU0VEKSB7Ci0gCQkJdHN0X3Jlc20oVFBBU1MsICJUZXN0IHBhc3NlZCBpbiBibG9jazIuIik7Ci0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwL2RlZmluZS1zaWdydG1pbi1hbmQtc2lncnRtYXgtZm9yLW11c2wucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwL2RlZmluZS1zaWdydG1pbi1hbmQtc2lncnRtYXgtZm9yLW11c2wucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzMyNDQ2MwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvZGVmaW5lLXNpZ3J0bWluLWFuZC1zaWdydG1heC1mb3ItbXVzbC5wYXRjaApAQCAtMCwwICsxLDExNCBAQAorRnJvbSAzNGI5MWVkYzcwNzA5ZjMyYjQ0ZjZiM2EzMmM4ZjE4ZGIzOTNlMzZjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0RhbmllbD0yMEQ9QzM9QURhej89IDxkYW5pZWwuZGlhekBsaW5hcm8ub3JnPgorRGF0ZTogV2VkLCAyMCBGZWIgMjAxOSAwODowNzoyNyAtMDYwMAorU3ViamVjdDogW1BBVENIXSBEZWZpbmUgX19TSUdSVE1JTiBhbmQgX19TSUdSVE1BWCBmb3IgTVVTTAorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitTb21lIGxpYmMgaW1wbGVtZW50YXRpb25zIG1pZ2h0IGRpZmZlciBpbiB0aGUgZGVmaW5pdGlvbnMgdGhleQoraW5jbHVkZS4gRXhlbXBsaSBncmF0aWE6IE1VU0wgZG9lcyBub3QgZGVmaW5lIF9fU0lHUlRNQVggbm9yCitfX1NJR1JUTUlOLgorCitUaGVzZSB0d28gdGVzdHMgZmFpbCB0byBidWlsZCBiZWNhdXNlIG9mIHRoZSBtaXNzaW5nCitkZWZpbml0aW9uczoKKyAgdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9wdHJhY2UvcHRyYWNlMDUuYworICB0ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3NpZ2hvbGQvc2lnaG9sZDAyLmMKKworT3V0IG9mIHByZWNhdXRpb24sIHRoZXNlIHR3byBhbHNvIGluY2x1ZGUgdGhpcyBoZWFkZXI6CisgIGxpYi90c3Rfc2lnLmMKKyAgdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9ydF9zaWdzdXNwZW5kL3J0X3NpZ3N1c3BlbmQwMS5jCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwOi8vbGlzdHMubGludXguaXQvcGlwZXJtYWlsL2x0cC8yMDE5LUZlYnJ1YXJ5LzAxMDkxNi5odG1sXQorCitTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgRMOtYXogPGRhbmllbC5kaWF6QGxpbmFyby5vcmc+CistLS0KKyBpbmNsdWRlL2xhcGkvc2lnbmFsLmggICAgICAgICAgICAgICAgICAgICAgICAgfCAyNCArKysrKysrKysrKysrKysrKysrCisgbGliL3RzdF9zaWcuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEgKworIHRlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvcHRyYWNlL3B0cmFjZTA1LmMgICB8ICAxICsKKyAuLi4vc3lzY2FsbHMvcnRfc2lnc3VzcGVuZC9ydF9zaWdzdXNwZW5kMDEuYyAgfCAgMSArCisgdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9zaWdob2xkL3NpZ2hvbGQwMi5jIHwgIDEgKworIDUgZmlsZXMgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL2xhcGkvc2lnbmFsLmgKKworZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGFwaS9zaWduYWwuaCBiL2luY2x1ZGUvbGFwaS9zaWduYWwuaAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMC4uZDIyOTY1YTk0CistLS0gL2Rldi9udWxsCisrKysgYi9pbmNsdWRlL2xhcGkvc2lnbmFsLmgKK0BAIC0wLDAgKzEsMjQgQEAKKysvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgorKy8qCisrICogQ29weXJpZ2h0IChjKSAyMDE5IExpbmFybyBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKyAqIEF1dGhvcjogRGFuaWVsIETDrWF6IDxkYW5pZWwuZGlhekBsaW5hcm8ub3JnPgorKyAqLworKworKyNpZm5kZWYgTEFQSV9TSUdOQUxfSAorKyNkZWZpbmUgTEFQSV9TSUdOQUxfSAorKworKyNpbmNsdWRlIDxzaWduYWwuaD4KKysKKysvKgorKyAqIFNvbWUgbGliYyBpbXBsZW1lbnRhdGlvbnMgbWlnaHQgZGlmZmVyIGluIHRoZSBkZWZpbml0aW9ucyB0aGV5IGluY2x1ZGUuIFRoaXMKKysgKiBjb3ZlcnMgdGhvc2UgZGlmZmVyZW5jZXMgZm9yIGFsbCB0ZXN0cyB0byBzdWNjZXNzZnVsbHkgYnVpbGQuCisrICovCisrCisrI2lmbmRlZiBfX1NJR1JUTUlOCisrIyBkZWZpbmUgX19TSUdSVE1JTiAzMgorKyNlbmRpZgorKyNpZm5kZWYgX19TSUdSVE1BWAorKyMgZGVmaW5lIF9fU0lHUlRNQVggKF9OU0lHIC0gMSkKKysjZW5kaWYKKysKKysjZW5kaWYKK2RpZmYgLS1naXQgYS9saWIvdHN0X3NpZy5jIGIvbGliL3RzdF9zaWcuYworaW5kZXggMzY1NjVlMTNkLi42ZDc3YWVhZmQgMTAwNjQ0CistLS0gYS9saWIvdHN0X3NpZy5jCisrKysgYi9saWIvdHN0X3NpZy5jCitAQCAtNzIsNiArNzIsNyBAQAorICNpbmNsdWRlIDxzaWduYWwuaD4KKyAjaW5jbHVkZSA8dW5pc3RkLmg+CisgI2luY2x1ZGUgInRlc3QuaCIKKysjaW5jbHVkZSAibGFwaS9zaWduYWwuaCIKKyAKKyAjZGVmaW5lIE1BWE1FU0cgMTUwCQkvKiBzaXplIG9mIG1lc2cgc3RyaW5nIHNlbnQgdG8gdHN0X3JlcyAqLworIAorZGlmZiAtLWdpdCBhL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvcHRyYWNlL3B0cmFjZTA1LmMgYi90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3B0cmFjZS9wdHJhY2UwNS5jCitpbmRleCA0MjAzMzAwMjkuLjU0Y2ZhNGQ3YiAxMDA2NDQKKy0tLSBhL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvcHRyYWNlL3B0cmFjZTA1LmMKKysrKyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvcHRyYWNlL3B0cmFjZTA1LmMKK0BAIC0zOCw2ICszOCw3IEBACisgI2luY2x1ZGUgInB0cmFjZS5oIgorIAorICNpbmNsdWRlICJ0ZXN0LmgiCisrI2luY2x1ZGUgImxhcGkvc2lnbmFsLmgiCisgCisgY2hhciAqVENJRCA9ICJwdHJhY2UwNSI7CisgaW50IFRTVF9UT1RBTCA9IDA7CitkaWZmIC0tZ2l0IGEvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9ydF9zaWdzdXNwZW5kL3J0X3NpZ3N1c3BlbmQwMS5jIGIvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9ydF9zaWdzdXNwZW5kL3J0X3NpZ3N1c3BlbmQwMS5jCitpbmRleCBmMTdhOWFhZTYuLmU1NzdjZjIyNyAxMDA2NDQKKy0tLSBhL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvcnRfc2lnc3VzcGVuZC9ydF9zaWdzdXNwZW5kMDEuYworKysrIGIvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9ydF9zaWdzdXNwZW5kL3J0X3NpZ3N1c3BlbmQwMS5jCitAQCAtMTgsNiArMTgsNyBAQAorICNpbmNsdWRlICJ0c3RfdGVzdC5oIgorICNpbmNsdWRlICJsYXBpL3N5c2NhbGxzLmgiCisgI2luY2x1ZGUgImxhcGkvc2FmZV9ydF9zaWduYWwuaCIKKysjaW5jbHVkZSAibGFwaS9zaWduYWwuaCIKKyAKKyBzdGF0aWMgdm9pZCBzaWdfaGFuZGxlcihpbnQgc2lnKQorIHsKK2RpZmYgLS1naXQgYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3NpZ2hvbGQvc2lnaG9sZDAyLmMgYi90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3NpZ2hvbGQvc2lnaG9sZDAyLmMKK2luZGV4IGQxZDRiMGIwNi4uYjc2MzE0MmRmIDEwMDY0NAorLS0tIGEvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9zaWdob2xkL3NpZ2hvbGQwMi5jCisrKysgYi90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3NpZ2hvbGQvc2lnaG9sZDAyLmMKK0BAIC00OSw2ICs0OSw3IEBACisgI2luY2x1ZGUgPHN5cy93YWl0Lmg+CisgI2luY2x1ZGUgInRlc3QuaCIKKyAjaW5jbHVkZSAic2FmZV9tYWNyb3MuaCIKKysjaW5jbHVkZSAibGFwaS9zaWduYWwuaCIKKyAKKyAvKiBfWE9QRU5fU09VUkNFIGRpc2FibGVzIE5TSUcgKi8KKyAjaWZuZGVmIE5TSUcKKy0tIAorMi4xNy4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvc2V0cmVnaWQwMS1zZWN1cml0eS1zdHJpbmctZm9ybWF0dGluZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvc2V0cmVnaWQwMS1zZWN1cml0eS1zdHJpbmctZm9ybWF0dGluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNDQ0OTE0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC9zZXRyZWdpZDAxLXNlY3VyaXR5LXN0cmluZy1mb3JtYXR0aW5nLnBhdGNoCkBAIC0wLDAgKzEsNDYgQEAKK0Zyb20gNDMwZTA1YzIxNjllZDE1YWFhNmQ3Zjk0NTllZGQ2MDc2MDNjZWUwMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9EYW5pZWw9MjBEPUMzPUFEYXo/PSA8ZGFuaWVsLmRpYXpAbGluYXJvLm9yZz4KK0RhdGU6IE1vbiwgMjUgRmViIDIwMTkgMTA6NDQ6MzMgLTA2MDAKK1N1YmplY3Q6IFtQQVRDSF0gc2V0cmVnaWQwMTogRml4IHNlY3VyaXR5IHdhcm5pbmcgZm9yIHN0cmluZyBmb3JtYXR0aW5nCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK0dDQyA4LjIuMCBjb21wbGFpbnMgd2l0aCB0aGUgZm9sbG93aW5nOgorICBzZXRyZWdpZDAxLmM6IEluIGZ1bmN0aW9uICdydW4nOgorICBzZXRyZWdpZDAxLmM6NDc6MzogZXJyb3I6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCBhbmQgbm8gZm9ybWF0IGFyZ3VtZW50cyBbLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHldCisgICAgIHRzdF9yZXMoVEZBSUwgfCBUVEVSUk5PLCB0Yy0+bXNnKTsKKyAgICAgXn5+fn5+fgorYmVjYXVzZSB0aGVyZSBpcyBubyBzdHJpbmcgZm9ybWF0dGluZyBpbiB0aGUgbWVzc2FnZS4gVGhpcyBjYW4KK2JlIHNlZW4gd2l0aCBDRkxBR1Mgc2V0IHRvOgorICAtV2Zvcm1hdCAtV2Zvcm1hdC1zZWN1cml0eSAtV2Vycm9yPWZvcm1hdC1zZWN1cml0eQorYXMgWW9jdG8gUHJvamVjdCdzIFBva3kgZG9lcywgZS5nLjoKKyAgaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzIzMDA0My8KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbNDZlMWVkYTU1ZjE4ODgxMGU2YmYzYTkzOWI5MmQ2MDQzMjE4MDdhZV0KKworU2lnbmVkLW9mZi1ieTogRGFuaWVsIETDrWF6IDxkYW5pZWwuZGlhekBsaW5hcm8ub3JnPgorUmV2aWV3ZWQtYnk6IEVuamkgQ29vcGVyIDx5YW5ldXJhYmV5YUBnbWFpbC5jb20+CistLS0KKyB0ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3NldHJlZ2lkL3NldHJlZ2lkMDEuYyB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3NldHJlZ2lkL3NldHJlZ2lkMDEuYyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvc2V0cmVnaWQvc2V0cmVnaWQwMS5jCitpbmRleCBmMmU0MWUxMzQuLjhjOWUxMTkxOCAxMDA2NDQKKy0tLSBhL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvc2V0cmVnaWQvc2V0cmVnaWQwMS5jCisrKysgYi90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3NldHJlZ2lkL3NldHJlZ2lkMDEuYworQEAgLTQ0LDkgKzQ0LDkgQEAgc3RhdGljIHZvaWQgcnVuKHVuc2lnbmVkIGludCBuKQorIAlURVNUKFNFVFJFR0lEKCp0Yy0+YXJnMSwgKnRjLT5hcmcyKSk7CisgCisgCWlmIChUU1RfUkVUID09IC0xKQorLQkJdHN0X3JlcyhURkFJTCB8IFRURVJSTk8sIHRjLT5tc2cpOworKwkJdHN0X3JlcyhURkFJTCB8IFRURVJSTk8sICIlcyIsIHRjLT5tc2cpOworIAllbHNlCistCQl0c3RfcmVzKFRQQVNTLCB0Yy0+bXNnKTsKKysJCXRzdF9yZXMoVFBBU1MsICIlcyIsIHRjLT5tc2cpOworIH0KKyAKKyBzdGF0aWMgdm9pZCBzZXR1cCh2b2lkKQorLS0gCisyLjE3LjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cF8yMDE4MDUxNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHBfMjAxODA1MTUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZmODViZTcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cF8yMDE4MDUxNS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEyNyArMCwwIEBACi1TVU1NQVJZID0gIkxpbnV4IFRlc3QgUHJvamVjdCIKLURFU0NSSVBUSU9OID0gIlRoZSBMaW51eCBUZXN0IFByb2plY3QgaXMgYSBqb2ludCBwcm9qZWN0IHdpdGggU0dJLCBJQk0sIE9TREwsIGFuZCBCdWxsIHdpdGggYSBnb2FsIHRvIGRlbGl2ZXIgdGVzdCBzdWl0ZXMgdG8gdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSB0aGF0IHZhbGlkYXRlIHRoZSByZWxpYWJpbGl0eSwgcm9idXN0bmVzcywgYW5kIHN0YWJpbGl0eSBvZiBMaW51eC4gVGhlIExpbnV4IFRlc3QgUHJvamVjdCBpcyBhIGNvbGxlY3Rpb24gb2YgdG9vbHMgZm9yIHRlc3RpbmcgdGhlIExpbnV4IGtlcm5lbCBhbmQgcmVsYXRlZCBmZWF0dXJlcy4iCi1IT01FUEFHRSA9ICJodHRwOi8vbHRwLnNvdXJjZWZvcmdlLm5ldCIKLVNFQ1RJT04gPSAiY29uc29sZS91dGlscyIKLUxJQ0VOU0UgPSAiR1BMdjIgJiBHUEx2MisgJiBMR1BMdjIrICYgTEdQTHYyLjErICYgQlNELTItQ2xhdXNlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJcCi0gICAgZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKLSAgICBmaWxlOi8vdGVzdGNhc2VzL2tlcm5lbC9jb250cm9sbGVycy9mcmVlemVyL0NPUFlJTkc7bWQ1PTA2MzZlNzNmZjAyMTVlOGQ2NzJkYzRjMzJjMzE3YmIzIFwKLSAgICBmaWxlOi8vdGVzdGNhc2VzL2tlcm5lbC9jb250cm9sbGVycy9mcmVlemVyL3J1bl9mcmVlemVyLnNoO2JlZ2lubGluZT01O2VuZGxpbmU9MTc7bWQ1PTg2YTYxZDJjMDQyZDU5ODM2ZmZiMzUzYTIxNDU2NDk4IFwKLSAgICBmaWxlOi8vdGVzdGNhc2VzL2tlcm5lbC9ob3RwbHVnL21lbW9yeV9ob3RwbHVnL0NPUFlJTkc7bWQ1PWUwNGEyZTU0MmIyYjg2MjliZjljZDJiYTI5YjBmZTQxIFwKLSAgICBmaWxlOi8vdGVzdGNhc2VzL2tlcm5lbC9ob3RwbHVnL2NwdV9ob3RwbHVnL0NPUFlJTkc7bWQ1PWUwNGEyZTU0MmIyYjg2MjliZjljZDJiYTI5YjBmZTQxIFwKLSAgICBmaWxlOi8vdGVzdGNhc2VzL29wZW5fcG9zaXhfdGVzdHN1aXRlL0NPUFlJTkc7bWQ1PTQ4YjFjNWVjNjMzZTNlMzBlYzJjZjg4NGFlNjk5OTQ3IFwKLSAgICBmaWxlOi8vdGVzdGNhc2VzL3JlYWx0aW1lL0NPUFlJTkc7bWQ1PTEyZjg4NGQyYWUxZmY4N2MwOWU1YjdjY2MyYzRjYTdlIFwKLSAgICBmaWxlOi8vdG9vbHMvcG91bmRlcjIxL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIFwKLSAgICBmaWxlOi8vdXRpbHMvYmVuY2htYXJrL2tlcm5iZW5jaC0wLjQyL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIFwKLSAgICBmaWxlOi8vdXRpbHMvZmZzYi02LjAtcmMyL0NPUFlJTkc7bWQ1PWM0NjA4MjE2N2EzMTRkNzg1ZDAxMmEyNDQ3NDhkODAzIFwKLSIKLQotREVQRU5EUyA9ICJhdHRyIGxpYmFpbyBsaWJjYXAgYWNsIG9wZW5zc2wgemlwLW5hdGl2ZSIKLURFUEVORFNfYXBwZW5kX2xpYmMtbXVzbCA9ICIgZnRzICIKLUVYVFJBX09FTUFLRV9hcHBlbmRfbGliYy1tdXNsID0gIiBMSUJDPW11c2wgIgotCi0jIHNpbmNlIGx0cCBjb250YWlucyB4ODYtNjQgYXNzZW1ibGVyIHdoaWNoIHVzZXMgdGhlIGZyYW1lLXBvaW50ZXIgcmVnaXN0ZXIsCi0jIHNldCAtZm9taXQtZnJhbWUtcG9pbnRlciB4ODYtNjQgdG8gaGFuZGxlIGNhc2VzIHdoZXJlIG9wdGltaXNhdGlvbgotIyBpcyBzZXQgdG8gLU8wIG9yIGZyYW1lIHBvaW50ZXJzIGhhdmUgYmVlbiBlbmFibGVkIGJ5IC1mbm8tb21pdC1mcmFtZS1wb2ludGVyCi0jIGVhcmxpZXIgaW4gQ0ZMQUdTLCBldGMuCi1DRkxBR1NfYXBwZW5kX3g4Ni02NCA9ICIgLWZvbWl0LWZyYW1lLXBvaW50ZXIiCi0KLUNGTEFHU19hcHBlbmRfcG93ZXJwYzY0ID0gIiAtRF9fU0FORV9VU0VSU1BBQ0VfVFlQRVNfXyIKLUNGTEFHU19hcHBlbmRfbWlwc2FyY2huNjQgPSAiIC1EX19TQU5FX1VTRVJTUEFDRV9UWVBFU19fIgotU1JDUkVWID0gIjk2Y2JmNDgzMTNhZmE2NWVmNGQ2OTNkMzQ0MWNiZmQ2MGE4ZDliMjciCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9saW51eC10ZXN0LXByb2plY3QvbHRwLmdpdCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLW1tYXAxNS1taXBzNjQtcmV0dXJuLUVJTlZBTC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA0LWJ1aWxkLUFkZC1vcHRpb24tdG8tc2VsZWN0LWxpYmMtaW1wbGVtZW50YXRpb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNS1rZXJuZWwtY29udHJvbGxlcnMtTGluay13aXRoLWxpYmZ0cy1leHBsaWNpdGx5LW9uLW11LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDctZml4LV9fV09SRFNJWkUtdW5kZWNsYXJlZC13aGVuLWJ1aWxkaW5nLXdpdGgtbXVzbC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA4LUNoZWNrLWlmLV9fR0xJQkNfUFJFUkVRLWlzLWRlZmluZWQtYmVmb3JlLXVzaW5nLWl0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDktZml4LXJlZGVmaW5pdGlvbi1vZi1zdHJ1Y3QtbXNnYnVmLWVycm9yLWJ1aWxkaW5nLXdpdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDE4LWd1YXJkLW1hbGxvY29wdC13aXRoLV9fR0xJQkNfXy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDIwLWdldGRlbnRzLWRlZmluZS1nZXRkZW50cy1nZXRkZW50czY0LW9ubHktZm9yLWdsaWJjLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjEtRGVmaW5lLV9HTlVfU09VUkNFLWZvci1NUkVNQVBfTUFZTU9WRS1kZWZpbml0aW9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjMtcHRyYWNlLVVzZS1pbnQtaW5zdGVhZC1vZi1lbnVtLV9fcHRyYWNlX3JlcXVlc3QucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyNC1ydF9zaWdhY3Rpb24tcnRfc2lncHJvY21hcmstRGVmaW5lLV9HTlVfU09VUkNFLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjYtY3Jhc2gwMS1EZWZpbmUtX0dOVV9TT1VSQ0UucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyOC1ydF9zaWdhY3Rpb24uaC1Vc2Utc2lnaGFuZGxlcl90LWluc3RlYWQtb2YtX19zaWdoYW5kLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMzQtcGVyaW9kaWNfb3V0cHV0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMzUtZml4LXRlc3RfcHJvY19raWxsLWhhbmcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzNi10ZXN0Y2FzZXMtbmV0d29yay1uZnN2NC1hY2wtYWNsMS5jLVNlY3VyaXR5LWZpeC1vbi1zLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMzktY29tbWFuZHMtYXIwMS1GaXgtZm9yLXRlc3QtaW4tZGV0ZXJtaW5pc3RpYy1tb2RlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwNDAtcmVhZF9hbGwtRGVmaW5lLUZOTV9FWFRNQVRDSC1pZi1ub3QtYWxyZWFkeS1saWtlLXVuZC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDQxLWN2ZS0yMDE3LTU2Njktc2htYXQtZm9yLTAtb3ItUEFHRVNJWkUtd2l0aC1STkQtZmxhZy0ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDA0Mi1mcy1mdGVzdC1mdGVzdDA2LmMtRml4LXRvby1zbWFsbC1uYW1lLXN0cmluZy1hbmQtcmVsLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwNDMtb3Blbi1jcmVhdC1za2lwLVNfSVNHSUQtY2hlY2stb24tZmlsZXMtY3JlYXRlZC1ieS1uby5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXN5c2NhbGxzLWZjbnRsLW1ha2UtT0ZELWNvbW1hbmQtdXNlLWZjbnRsNjQtc3lzY2FsbC0ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1zaWd3YWl0aW5mbzAxLXJlY2VudC1nbGliYy1jYWxscy1zeXNjYWxsLWRpcmVjdGx5LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtbmV0bnNfaGVscGVyLnNoLXVzZS1waW5nLTYtd2hlbi1waW5nNi1pcy1ub3QtYXZhbGlhYi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLW9wZW5fcG9zaXhfdGVzdHN1aXRlLW1tYXAyNC0yLVJlbGF4LWNvbmRpdGlvbi1hLWJpdC5wYXRjaCBcCi0gICAgICAgICAgICIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCi0KLVRBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgotCi1leHBvcnQgcHJlZml4ID0gIi9vcHQvbHRwIgotZXhwb3J0IGV4ZWNfcHJlZml4ID0gIi9vcHQvbHRwIgotCi1QQUNLQUdFQ09ORklHW251bWFdID0gIi0td2l0aC1udW1hLCAtLXdpdGhvdXQtbnVtYSwgbnVtYWN0bCwiCi1FWFRSQV9BVVRPUkVDT05GICs9ICItSSAke1N9L3Rlc3RjYXNlcy9yZWFsdGltZS9tNCIKLUVYVFJBX09FQ09ORiA9ICIgLS13aXRoLXBvd2VyLW1hbmFnZW1lbnQtdGVzdHN1aXRlIC0td2l0aC1yZWFsdGltZS10ZXN0c3VpdGUgLS13aXRoLW9wZW4tcG9zaXgtdGVzdHN1aXRlICIKLSMgbHRwIG5ldHdvcmsvcnBjIHRlc3QgY2FzZXMgZnRiZnMgd2hlbiBsaWJ0aXJwYyBpcyBmb3VuZAotRVhUUkFfT0VDT05GICs9ICIgLS13aXRob3V0LXRpcnBjICIKLQotZG9faW5zdGFsbCgpewotICAgIGluc3RhbGwgLWQgJHtEfS9vcHQvbHRwLwotICAgIG9lX3J1bm1ha2UgREVTVERJUj0ke0R9IFNLSVBfSURDSEVDSz0xIGluc3RhbGwKLQotICAgICMgZml4dXAgbm90IGRlcGxveSBTVFBmYWlsdXJlX3JlcG9ydC5wbCB0byBhdm9pZCBjb25mdXNpbmcgYWJvdXQgaXQgZmFpbHMgdG8gcnVuCi0gICAgIyBhcyBpdCBsYWNrcyBkZXBlbmRlbmN5IG9uIHNvbWUgcGVybCBtb3VkbGUgc3VjaCBhcyBMV1A6OlNpbXBsZQotICAgICMgQW5kIHRoaXMgc2NyaXB0IHByZXZpb3VzbHkgd29ya3MgYXMgYSB0b29sIGZvciBhbmFseXppbmcgZmFpbHVyZXMgZnJvbSBMVFAKLSAgICAjIHJ1bnMgb24gdGhlIE9TREwncyBTY2FsZWFibGUgVGVzdCBQbGF0Zm9ybSAoU1RQKSBhbmQgaXQgbWFpbmx5IGFjY2Vzc2VzCi0gICAgIyBodHRwOi8va2hhY2sub3NkbC5vcmcgdG8gcmV0cmlldmUgbHRwIHRlc3QgcmVzdWx0cyBydW4gb24KLSAgICAjIE9TREwncyBTY2FsZWFibGUgVGVzdCBQbGF0Zm9ybSwgYnV0IG5vdyBodHRwOi8va2hhY2sub3NkbC5vcmcgdW5hY2Nlc3NpYmxlCi0gICAgcm0gLXJmICR7RH0vb3B0L2x0cC9iaW4vU1RQZmFpbHVyZV9yZXBvcnQucGwKLQotICAgICMgQ29weSBQT1NJWCB0ZXN0IHN1aXRlIGludG8gJHtEfS9vcHQvbHRwL3Rlc3RjYXNlcyBieSBtYW51YWwKLSAgICBjcCAtciB0ZXN0Y2FzZXMvb3Blbl9wb3NpeF90ZXN0c3VpdGUgJHtEfS9vcHQvbHRwL3Rlc3RjYXNlcwotfQotCi1SREVQRU5EU18ke1BOfSA9ICJcCi0gICAgYWNsIFwKLSAgICBhdCBcCi0gICAgYXR0ciBcCi0gICAgYmFzaCBcCi0gICAgY3BpbyBcCi0gICAgY3JvbmllIFwKLSAgICBjdXJsIFwKLSAgICBlMmZzcHJvZ3MtbWtlMmZzIFwKLSAgICBleHBlY3QgXAotICAgIGdhd2sgXAotICAgIGd6aXAgXAotICAgIGlwcm91dGUyIFwKLSAgICBsZGQgXAotICAgIGxpYmFpbyBcCi0gICAgbG9ncm90YXRlIFwKLSAgICBwZXJsIFwKLSAgICBweXRob24tY29yZSBcCi0gICAgcHJvY3BzIFwKLSAgICB1bnppcCBcCi0gICAgdXRpbC1saW51eCBcCi0gICAgd2hpY2ggXAotICAgIHRhciBcCi0iCi0KLUZJTEVTXyR7UE59ICs9ICIvb3B0L2x0cC8qIC9vcHQvbHRwL3J1bnRlc3QvKiAvb3B0L2x0cC9zY2VuYXJpb19ncm91cHMvKiAvb3B0L2x0cC90ZXN0Y2FzZXMvYmluLyogL29wdC9sdHAvdGVzdGNhc2VzL2Jpbi8qL2Jpbi8qIC9vcHQvbHRwL3Rlc3RzY3JpcHRzLyogL29wdC9sdHAvdGVzdGNhc2VzL29wZW5fcG9zaXhfdGVzdHN1aXRlLyogL29wdC9sdHAvdGVzdGNhc2VzL29wZW5fcG9zaXhfdGVzdHN1aXRlL2NvbmZvcm1hbmNlLyogL29wdC9sdHAvdGVzdGNhc2VzL29wZW5fcG9zaXhfdGVzdHN1aXRlL0RvY3VtZW50YXRpb24vKiAvb3B0L2x0cC90ZXN0Y2FzZXMvb3Blbl9wb3NpeF90ZXN0c3VpdGUvZnVuY3Rpb25hbC8qIC9vcHQvbHRwL3Rlc3RjYXNlcy9vcGVuX3Bvc2l4X3Rlc3RzdWl0ZS9pbmNsdWRlLyogL29wdC9sdHAvdGVzdGNhc2VzL29wZW5fcG9zaXhfdGVzdHN1aXRlL3NjcmlwdHMvKiAvb3B0L2x0cC90ZXN0Y2FzZXMvb3Blbl9wb3NpeF90ZXN0c3VpdGUvc3RyZXNzLyogL29wdC9sdHAvdGVzdGNhc2VzL29wZW5fcG9zaXhfdGVzdHN1aXRlL3Rvb2xzLyogL29wdC9sdHAvdGVzdGNhc2VzL2RhdGEvbm0wMS9saWIuYSAvb3B0L2x0cC9saWIvbGlibWVtLmEiCi0KLSMgQXZvaWQgc3RyaXBwaW5nIHNvbWUgZ2VuZXJhdGVkIGJpbmFyaWVzIG90aGVyd2lzZSBzb21lIG9mIHRoZSBsdHAgdGVzdHMgc3VjaCBhcyBsZGQwMSAmIG5tMDEgZmFpbAotSU5ISUJJVF9QQUNLQUdFX1NUUklQX0ZJTEVTID0gIi9vcHQvbHRwL3Rlc3RjYXNlcy9iaW4vbm0wMSAvb3B0L2x0cC90ZXN0Y2FzZXMvYmluL2xkZDAxIgotSU5TQU5FX1NLSVBfJHtQTn0gKz0gImFscmVhZHktc3RyaXBwZWQgc3RhdGljZGV2IgotCi0jIEF2b2lkIGZpbGUgZGVwZW5kZW5jeSBzY2FucywgYXMgTFRQIGNoZWNrcyBmb3IgdGhpbmdzIHRoYXQgbWF5IG9yIG1heSBub3QKLSMgZXhpc3Qgb24gdGhlIHJ1bm5pbmcgc3lzdGVtLiAgRm9yIGluc3RhbmNlIGl0IGhhcyBzcGVjaWZpYyBjaGVja3MgZm9yCi0jIGNzaCBhbmQga3NoIHdoaWNoIGFyZSBub3QgdHlwaWNhbGx5IHBhcnQgb2YgT3BlbkVtYmVkZGVkIHN5c3RlbXMgKGJ1dAotIyBjYW4gYmUgYWRkZWQgdmlhIGFkZGl0aW9uYWwgbGF5ZXJzLikKLVNLSVBfRklMRURFUFNfJHtQTn0gPSAnMScKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHBfMjAxOTAxMTUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwXzIwMTkwMTE1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkZjk3ZTIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwXzIwMTkwMTE1LmJiCkBAIC0wLDAgKzEsMTIyIEBACitTVU1NQVJZID0gIkxpbnV4IFRlc3QgUHJvamVjdCIKK0RFU0NSSVBUSU9OID0gIlRoZSBMaW51eCBUZXN0IFByb2plY3QgaXMgYSBqb2ludCBwcm9qZWN0IHdpdGggU0dJLCBJQk0sIE9TREwsIGFuZCBCdWxsIHdpdGggYSBnb2FsIHRvIGRlbGl2ZXIgdGVzdCBzdWl0ZXMgdG8gdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSB0aGF0IHZhbGlkYXRlIHRoZSByZWxpYWJpbGl0eSwgcm9idXN0bmVzcywgYW5kIHN0YWJpbGl0eSBvZiBMaW51eC4gVGhlIExpbnV4IFRlc3QgUHJvamVjdCBpcyBhIGNvbGxlY3Rpb24gb2YgdG9vbHMgZm9yIHRlc3RpbmcgdGhlIExpbnV4IGtlcm5lbCBhbmQgcmVsYXRlZCBmZWF0dXJlcy4iCitIT01FUEFHRSA9ICJodHRwczovL2xpbnV4LXRlc3QtcHJvamVjdC5naXRodWIuaW8vIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorTElDRU5TRSA9ICJHUEx2MiAmIEdQTHYyKyAmIExHUEx2MisgJiBMR1BMdjIuMSsgJiBCU0QtMi1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gIlwKKyAgICBmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAorICAgIGZpbGU6Ly90ZXN0Y2FzZXMva2VybmVsL2NvbnRyb2xsZXJzL2ZyZWV6ZXIvQ09QWUlORzttZDU9MDYzNmU3M2ZmMDIxNWU4ZDY3MmRjNGMzMmMzMTdiYjMgXAorICAgIGZpbGU6Ly90ZXN0Y2FzZXMva2VybmVsL2NvbnRyb2xsZXJzL2ZyZWV6ZXIvcnVuX2ZyZWV6ZXIuc2g7YmVnaW5saW5lPTU7ZW5kbGluZT0xNzttZDU9ODZhNjFkMmMwNDJkNTk4MzZmZmIzNTNhMjE0NTY0OTggXAorICAgIGZpbGU6Ly90ZXN0Y2FzZXMva2VybmVsL2hvdHBsdWcvbWVtb3J5X2hvdHBsdWcvQ09QWUlORzttZDU9ZTA0YTJlNTQyYjJiODYyOWJmOWNkMmJhMjliMGZlNDEgXAorICAgIGZpbGU6Ly90ZXN0Y2FzZXMva2VybmVsL2hvdHBsdWcvY3B1X2hvdHBsdWcvQ09QWUlORzttZDU9ZTA0YTJlNTQyYjJiODYyOWJmOWNkMmJhMjliMGZlNDEgXAorICAgIGZpbGU6Ly90ZXN0Y2FzZXMvb3Blbl9wb3NpeF90ZXN0c3VpdGUvQ09QWUlORzttZDU9NDhiMWM1ZWM2MzNlM2UzMGVjMmNmODg0YWU2OTk5NDcgXAorICAgIGZpbGU6Ly90ZXN0Y2FzZXMvcmVhbHRpbWUvQ09QWUlORzttZDU9MTJmODg0ZDJhZTFmZjg3YzA5ZTViN2NjYzJjNGNhN2UgXAorICAgIGZpbGU6Ly91dGlscy9iZW5jaG1hcmsva2VybmJlbmNoLTAuNDIvQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYgXAorICAgIGZpbGU6Ly91dGlscy9mZnNiLTYuMC1yYzIvQ09QWUlORzttZDU9YzQ2MDgyMTY3YTMxNGQ3ODVkMDEyYTI0NDc0OGQ4MDMgXAorIgorCitERVBFTkRTID0gImF0dHIgbGliYWlvIGxpYmNhcCBhY2wgb3BlbnNzbCB6aXAtbmF0aXZlIgorREVQRU5EU19hcHBlbmRfbGliYy1tdXNsID0gIiBmdHMgIgorRVhUUkFfT0VNQUtFX2FwcGVuZF9saWJjLW11c2wgPSAiIExJQkM9bXVzbCAiCisKKyMgc2luY2UgbHRwIGNvbnRhaW5zIHg4Ni02NCBhc3NlbWJsZXIgd2hpY2ggdXNlcyB0aGUgZnJhbWUtcG9pbnRlciByZWdpc3RlciwKKyMgc2V0IC1mb21pdC1mcmFtZS1wb2ludGVyIHg4Ni02NCB0byBoYW5kbGUgY2FzZXMgd2hlcmUgb3B0aW1pc2F0aW9uCisjIGlzIHNldCB0byAtTzAgb3IgZnJhbWUgcG9pbnRlcnMgaGF2ZSBiZWVuIGVuYWJsZWQgYnkgLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIKKyMgZWFybGllciBpbiBDRkxBR1MsIGV0Yy4KK0NGTEFHU19hcHBlbmRfeDg2LTY0ID0gIiAtZm9taXQtZnJhbWUtcG9pbnRlciIKKworQ0ZMQUdTX2FwcGVuZF9wb3dlcnBjNjQgPSAiIC1EX19TQU5FX1VTRVJTUEFDRV9UWVBFU19fIgorQ0ZMQUdTX2FwcGVuZF9taXBzYXJjaG42NCA9ICIgLURfX1NBTkVfVVNFUlNQQUNFX1RZUEVTX18iCitTUkNSRVYgPSAiYTZhNWNhZWYxMzYzMmU2NjlkZGEyN2IwNDYxNzI2ZWJhNTQ2YTJmMyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2xpbnV4LXRlc3QtcHJvamVjdC9sdHAuZ2l0IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDQtYnVpbGQtQWRkLW9wdGlvbi10by1zZWxlY3QtbGliYy1pbXBsZW1lbnRhdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA1LWtlcm5lbC1jb250cm9sbGVycy1MaW5rLXdpdGgtbGliZnRzLWV4cGxpY2l0bHktb24tbXUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNy1maXgtX19XT1JEU0laRS11bmRlY2xhcmVkLXdoZW4tYnVpbGRpbmctd2l0aC1tdXNsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDgtQ2hlY2staWYtX19HTElCQ19QUkVSRVEtaXMtZGVmaW5lZC1iZWZvcmUtdXNpbmctaXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwOS1maXgtcmVkZWZpbml0aW9uLW9mLXN0cnVjdC1tc2didWYtZXJyb3ItYnVpbGRpbmctd2l0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTgtZ3VhcmQtbWFsbG9jb3B0LXdpdGgtX19HTElCQ19fLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjAtZ2V0ZGVudHMtZGVmaW5lLWdldGRlbnRzLWdldGRlbnRzNjQtb25seS1mb3ItZ2xpYmMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyMS1EZWZpbmUtX0dOVV9TT1VSQ0UtZm9yLU1SRU1BUF9NQVlNT1ZFLWRlZmluaXRpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyMy1wdHJhY2UtVXNlLWludC1pbnN0ZWFkLW9mLWVudW0tX19wdHJhY2VfcmVxdWVzdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDI0LXJ0X3NpZ2FjdGlvbi1ydF9zaWdwcm9jbWFyay1EZWZpbmUtX0dOVV9TT1VSQ0UucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyNi1jcmFzaDAxLURlZmluZS1fR05VX1NPVVJDRS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDI4LXJ0X3NpZ2FjdGlvbi5oLVVzZS1zaWdoYW5kbGVyX3QtaW5zdGVhZC1vZi1fX3NpZ2hhbmQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAzNC1wZXJpb2RpY19vdXRwdXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAzNS1maXgtdGVzdF9wcm9jX2tpbGwtaGFuZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDM2LXRlc3RjYXNlcy1uZXR3b3JrLW5mc3Y0LWFjbC1hY2wxLmMtU2VjdXJpdHktZml4LW9uLXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAzOS1jb21tYW5kcy1hcjAxLUZpeC1mb3ItdGVzdC1pbi1kZXRlcm1pbmlzdGljLW1vZGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1vcGVuX3Bvc2l4X3Rlc3RzdWl0ZS1tbWFwMjQtMi1SZWxheC1jb25kaXRpb24tYS1iaXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZGVmaW5lLXNpZ3J0bWluLWFuZC1zaWdydG1heC1mb3ItbXVzbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zZXRyZWdpZDAxLXNlY3VyaXR5LXN0cmluZy1mb3JtYXR0aW5nLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCisKK2V4cG9ydCBwcmVmaXggPSAiL29wdC9sdHAiCitleHBvcnQgZXhlY19wcmVmaXggPSAiL29wdC9sdHAiCisKK1BBQ0tBR0VDT05GSUdbbnVtYV0gPSAiLS13aXRoLW51bWEsIC0td2l0aG91dC1udW1hLCBudW1hY3RsLCIKK0VYVFJBX0FVVE9SRUNPTkYgKz0gIi1JICR7U30vdGVzdGNhc2VzL3JlYWx0aW1lL200IgorRVhUUkFfT0VDT05GID0gIiAtLXdpdGgtcG93ZXItbWFuYWdlbWVudC10ZXN0c3VpdGUgLS13aXRoLXJlYWx0aW1lLXRlc3RzdWl0ZSAtLXdpdGgtb3Blbi1wb3NpeC10ZXN0c3VpdGUgIgorIyBsdHAgbmV0d29yay9ycGMgdGVzdCBjYXNlcyBmdGJmcyB3aGVuIGxpYnRpcnBjIGlzIGZvdW5kCitFWFRSQV9PRUNPTkYgKz0gIiAtLXdpdGhvdXQtdGlycGMgIgorCitkb19pbnN0YWxsKCl7CisgICAgaW5zdGFsbCAtZCAke0R9L29wdC9sdHAvCisgICAgb2VfcnVubWFrZSBERVNURElSPSR7RH0gU0tJUF9JRENIRUNLPTEgaW5zdGFsbAorCisgICAgIyBmaXh1cCBub3QgZGVwbG95IFNUUGZhaWx1cmVfcmVwb3J0LnBsIHRvIGF2b2lkIGNvbmZ1c2luZyBhYm91dCBpdCBmYWlscyB0byBydW4KKyAgICAjIGFzIGl0IGxhY2tzIGRlcGVuZGVuY3kgb24gc29tZSBwZXJsIG1vdWRsZSBzdWNoIGFzIExXUDo6U2ltcGxlCisgICAgIyBBbmQgdGhpcyBzY3JpcHQgcHJldmlvdXNseSB3b3JrcyBhcyBhIHRvb2wgZm9yIGFuYWx5emluZyBmYWlsdXJlcyBmcm9tIExUUAorICAgICMgcnVucyBvbiB0aGUgT1NETCdzIFNjYWxlYWJsZSBUZXN0IFBsYXRmb3JtIChTVFApIGFuZCBpdCBtYWlubHkgYWNjZXNzZXMKKyAgICAjIGh0dHA6Ly9raGFjay5vc2RsLm9yZyB0byByZXRyaWV2ZSBsdHAgdGVzdCByZXN1bHRzIHJ1biBvbgorICAgICMgT1NETCdzIFNjYWxlYWJsZSBUZXN0IFBsYXRmb3JtLCBidXQgbm93IGh0dHA6Ly9raGFjay5vc2RsLm9yZyB1bmFjY2Vzc2libGUKKyAgICBybSAtcmYgJHtEfS9vcHQvbHRwL2Jpbi9TVFBmYWlsdXJlX3JlcG9ydC5wbAorCisgICAgIyBDb3B5IFBPU0lYIHRlc3Qgc3VpdGUgaW50byAke0R9L29wdC9sdHAvdGVzdGNhc2VzIGJ5IG1hbnVhbAorICAgIGNwIC1yIHRlc3RjYXNlcy9vcGVuX3Bvc2l4X3Rlc3RzdWl0ZSAke0R9L29wdC9sdHAvdGVzdGNhc2VzCit9CisKK1JERVBFTkRTXyR7UE59ID0gIlwKKyAgICBhY2wgXAorICAgIGF0IFwKKyAgICBhdHRyIFwKKyAgICBiYXNoIFwKKyAgICBjcGlvIFwKKyAgICBjcm9uaWUgXAorICAgIGN1cmwgXAorICAgIGUyZnNwcm9ncy1ta2UyZnMgXAorICAgIGV4cGVjdCBcCisgICAgZmlsZSBcCisgICAgZ2F3ayBcCisgICAgZ3ppcCBcCisgICAgaXByb3V0ZTIgXAorICAgIGxkZCBcCisgICAgbGliYWlvIFwKKyAgICBsb2dyb3RhdGUgXAorICAgIHBlcmwgXAorICAgIHB5dGhvbi1jb3JlIFwKKyAgICBwcm9jcHMgXAorICAgIHF1b3RhIFwKKyAgICB1bnppcCBcCisgICAgdXRpbC1saW51eCBcCisgICAgd2hpY2ggXAorICAgIHRhciBcCisiCisKK0ZJTEVTXyR7UE59ICs9ICIvb3B0L2x0cC8qIC9vcHQvbHRwL3J1bnRlc3QvKiAvb3B0L2x0cC9zY2VuYXJpb19ncm91cHMvKiAvb3B0L2x0cC90ZXN0Y2FzZXMvYmluLyogL29wdC9sdHAvdGVzdGNhc2VzL2Jpbi8qL2Jpbi8qIC9vcHQvbHRwL3Rlc3RzY3JpcHRzLyogL29wdC9sdHAvdGVzdGNhc2VzL29wZW5fcG9zaXhfdGVzdHN1aXRlLyogL29wdC9sdHAvdGVzdGNhc2VzL29wZW5fcG9zaXhfdGVzdHN1aXRlL2NvbmZvcm1hbmNlLyogL29wdC9sdHAvdGVzdGNhc2VzL29wZW5fcG9zaXhfdGVzdHN1aXRlL0RvY3VtZW50YXRpb24vKiAvb3B0L2x0cC90ZXN0Y2FzZXMvb3Blbl9wb3NpeF90ZXN0c3VpdGUvZnVuY3Rpb25hbC8qIC9vcHQvbHRwL3Rlc3RjYXNlcy9vcGVuX3Bvc2l4X3Rlc3RzdWl0ZS9pbmNsdWRlLyogL29wdC9sdHAvdGVzdGNhc2VzL29wZW5fcG9zaXhfdGVzdHN1aXRlL3NjcmlwdHMvKiAvb3B0L2x0cC90ZXN0Y2FzZXMvb3Blbl9wb3NpeF90ZXN0c3VpdGUvc3RyZXNzLyogL29wdC9sdHAvdGVzdGNhc2VzL29wZW5fcG9zaXhfdGVzdHN1aXRlL3Rvb2xzLyogL29wdC9sdHAvdGVzdGNhc2VzL2RhdGEvbm0wMS9saWIuYSAvb3B0L2x0cC9saWIvbGlibWVtLmEiCisKKyMgQXZvaWQgc3RyaXBwaW5nIHNvbWUgZ2VuZXJhdGVkIGJpbmFyaWVzIG90aGVyd2lzZSBzb21lIG9mIHRoZSBsdHAgdGVzdHMgc3VjaCBhcyBsZGQwMSAmIG5tMDEgZmFpbAorSU5ISUJJVF9QQUNLQUdFX1NUUklQX0ZJTEVTID0gIi9vcHQvbHRwL3Rlc3RjYXNlcy9iaW4vbm0wMSAvb3B0L2x0cC90ZXN0Y2FzZXMvYmluL2xkZDAxIgorSU5TQU5FX1NLSVBfJHtQTn0gKz0gImFscmVhZHktc3RyaXBwZWQgc3RhdGljZGV2IgorCisjIEF2b2lkIGZpbGUgZGVwZW5kZW5jeSBzY2FucywgYXMgTFRQIGNoZWNrcyBmb3IgdGhpbmdzIHRoYXQgbWF5IG9yIG1heSBub3QKKyMgZXhpc3Qgb24gdGhlIHJ1bm5pbmcgc3lzdGVtLiAgRm9yIGluc3RhbmNlIGl0IGhhcyBzcGVjaWZpYyBjaGVja3MgZm9yCisjIGNzaCBhbmQga3NoIHdoaWNoIGFyZSBub3QgdHlwaWNhbGx5IHBhcnQgb2YgT3BlbkVtYmVkZGVkIHN5c3RlbXMgKGJ1dAorIyBjYW4gYmUgYWRkZWQgdmlhIGFkZGl0aW9uYWwgbGF5ZXJzLikKK1NLSVBfRklMRURFUFNfJHtQTn0gPSAnMScKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x6aXAvbHppcF8xLjIwLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHppcC9semlwXzEuMjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQxZmMyYTEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHppcC9semlwXzEuMjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1TVU1NQVJZID0gIkxvc3NsZXNzIGRhdGEgY29tcHJlc3NvciBiYXNlZCBvbiB0aGUgTFpNQSBhbGdvcml0aG0iCi1IT01FUEFHRSA9ICJodHRwOi8vbHppcC5ub25nbnUub3JnL2x6aXAuaHRtbCIKLVNFQ1RJT04gPSAiY29uc29sZS91dGlscyIKLUxJQ0VOU0UgPSAiR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzZkNmUzMDBmZmQ4ZmI5ZDE4YmQ5YjEzNmE5YmJhMTMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZGVjb2Rlci5jYztiZWdpbmxpbmU9MztlbmRsaW5lPTE2O21kNT1kYjA5ZmUzZjk1NzNmOTRkMDA3NmY3ZjA3OTU5ZTZlMSIKLQotU1JDX1VSSSA9ICIke1NBVkFOTkFIX0dOVV9NSVJST1J9L2x6aXAvbHppcC0ke1BWfS50YXIuZ3oiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIyMWMxNTE3ZGEyYWNlOTY4OWZkOTUzOTE4NjYwYjNjMyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJjOTNiODFhNWE3Nzg4ZWY1ODEyNDIzZDMxMTM0NWJhNWQzYmQ0ZjVlYmYxZjY5MzkxMWUzYTEzNTUzYzEyOTBjIgotCi1DT05GSUdVUkVPUFRTID0gIlwKLSAgICAnLS1zcmNkaXI9JHtTfScgXAotICAgICctLXByZWZpeD0ke3ByZWZpeH0nIFwKLSAgICAnLS1leGVjLXByZWZpeD0ke2V4ZWNfcHJlZml4fScgXAotICAgICctLWJpbmRpcj0ke2JpbmRpcn0nIFwKLSAgICAnLS1kYXRhZGlyPSR7ZGF0YWRpcn0nIFwKLSAgICAnLS1pbmZvZGlyPSR7aW5mb2Rpcn0nIFwKLSAgICAnLS1zeXNjb25mZGlyPSR7c3lzY29uZmRpcn0nIFwKLSAgICAnQ1hYPSR7Q1hYfScgXAotICAgICdDUFBGTEFHUz0ke0NQUEZMQUdTfScgXAotICAgICdDWFhGTEFHUz0ke0NYWEZMQUdTfScgXAotICAgICdMREZMQUdTPSR7TERGTEFHU30nIFwKLSIKLUVYVFJBX09FTUFLRSA9ICIiCi0KLUIgPSAiJHtTfS9vYmoiCi1kb19jb25maWd1cmUgKCkgewotICAgICR7U30vY29uZmlndXJlICR7Q09ORklHVVJFT1BUU30KLX0KLQotZG9faW5zdGFsbCAoKSB7Ci0gICAgb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsCi0gICAgIyBJbmZvIGRpciBsaXN0aW5nIGlzbid0IGludGVyZXN0aW5nIGF0IHRoaXMgcG9pbnQgc28gcmVtb3ZlIGl0IGlmIGl0IGV4aXN0cy4KLSAgICBpZiBbIC1lICIke0R9JHtpbmZvZGlyfS9kaXIiIF07IHRoZW4KLSAgICAgICAgcm0gLWYgJHtEfSR7aW5mb2Rpcn0vZGlyCi0gICAgZmkKLX0KLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHppcC9semlwXzEuMjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9semlwL2x6aXBfMS4yMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjNkMmE2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHppcC9semlwXzEuMjEuYmIKQEAgLTAsMCArMSw0MSBAQAorU1VNTUFSWSA9ICJMb3NzbGVzcyBkYXRhIGNvbXByZXNzb3IgYmFzZWQgb24gdGhlIExaTUEgYWxnb3JpdGhtIgorSE9NRVBBR0UgPSAiaHR0cDovL2x6aXAubm9uZ251Lm9yZy9semlwLmh0bWwiCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc2ZDZlMzAwZmZkOGZiOWQxOGJkOWIxMzZhOWJiYTEzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2RlY29kZXIuY2M7YmVnaW5saW5lPTM7ZW5kbGluZT0xNjttZDU9ZGIwOWZlM2Y5NTczZjk0ZDAwNzZmN2YwNzk1OWU2ZTEiCisKK1NSQ19VUkkgPSAiJHtTQVZBTk5BSF9HTlVfTUlSUk9SfS9semlwL2x6aXAtJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImMwMDYxNzMwZDAxN2VhNTkzYTA5MzA4ZWRjNTQ3MTI4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU0OGI1MDM5ZDMxNjRkNjcwNzkxZjljNWRiYWE4MzJiZjJkZjA4MGNiMWZiYjRmMzNhYTdiMzMwMGI2NzBkOGIiCisKK0IgPSAiJHtXT1JLRElSfS9idWlsZCIKK2RvX2NvbmZpZ3VyZVtjbGVhbmRpcnNdID0gIiR7Qn0iCisKK0NPTkZJR1VSRU9QVFMgPSAiXAorICAgICctLXNyY2Rpcj0ke1N9JyBcCisgICAgJy0tcHJlZml4PSR7cHJlZml4fScgXAorICAgICctLWV4ZWMtcHJlZml4PSR7ZXhlY19wcmVmaXh9JyBcCisgICAgJy0tYmluZGlyPSR7YmluZGlyfScgXAorICAgICctLWRhdGFkaXI9JHtkYXRhZGlyfScgXAorICAgICctLWluZm9kaXI9JHtpbmZvZGlyfScgXAorICAgICctLXN5c2NvbmZkaXI9JHtzeXNjb25mZGlyfScgXAorICAgICdDWFg9JHtDWFh9JyBcCisgICAgJ0NQUEZMQUdTPSR7Q1BQRkxBR1N9JyBcCisgICAgJ0NYWEZMQUdTPSR7Q1hYRkxBR1N9JyBcCisgICAgJ0xERkxBR1M9JHtMREZMQUdTfScgXAorIgorCitkb19jb25maWd1cmUgKCkgeworICAgICR7U30vY29uZmlndXJlICR7Q09ORklHVVJFT1BUU30KK30KKworZG9faW5zdGFsbCAoKSB7CisgICAgb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsCisgICAgIyBJbmZvIGRpciBsaXN0aW5nIGlzbid0IGludGVyZXN0aW5nIGF0IHRoaXMgcG9pbnQgc28gcmVtb3ZlIGl0IGlmIGl0IGV4aXN0cy4KKyAgICBpZiBbIC1lICIke0R9JHtpbmZvZGlyfS9kaXIiIF07IHRoZW4KKyAgICAgICAgcm0gLWYgJHtEfSR7aW5mb2Rpcn0vZGlyCisgICAgZmkKK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWFuLWRiL21hbi1kYl8yLjguMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21hbi1kYi9tYW4tZGJfMi44LjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNkOGQyN2MuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWFuLWRiL21hbi1kYl8yLjguMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLVNVTU1BUlkgPSAiQW4gaW1wbGVtZW50YXRpb24gb2YgdGhlIHN0YW5kYXJkIFVuaXggZG9jdW1lbnRhdGlvbiBzeXN0ZW0gYWNjZXNzZWQgdXNpbmcgdGhlIG1hbiBjb21tYW5kIgotSE9NRVBBR0UgPSAiaHR0cDovL21hbi1kYi5ub25nbnUub3JnLyIKLUxJQ0VOU0UgPSAiTEdQTHYyLjEgJiBHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RvY3MvQ09QWUlORy5MSUI7bWQ1PWE2Zjg5ZTIxMDBkOWI2Y2RmZmNlYTRmMzk4ZTM3MzQzIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2RvY3MvQ09QWUlORzttZDU9ZWI3MjNiNjE1MzlmZWVmMDEzZGU0NzZlNjhiNWM1MGEiCi0KLVNSQ19VUkkgPSAiJHtTQVZBTk5BSF9OT05HTlVfTUlSUk9SfS9tYW4tZGIvbWFuLWRiLSR7UFZ9LnRhci54eiBcCi0gICAgICAgICAgIGZpbGU6Ly85OV9tYW5kYiBcCi0gICAgICAgICAgIGZpbGU6Ly9tYW5fZGIuY29uZi1hdm9pZC1tdWx0aWxpYi1pbnN0YWxsLWZpbGUtY29uZmxpY3QucGF0Y2giCi1TUkNfVVJJW21kNXN1bV0gPSAiNmYzMDU1ZTE4ZmRkMWNlNWNiYmRiMzA0MDM5OTFlYzciCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTkzMmExY2EzNjZlMWVjNjFhM2VjZTFhM2FmYTBlOTJmMmZkYzEyNWI2MWQyMzZmMjBjYzZmZjlkODBjYzRhYyIKLQotREVQRU5EUyA9ICJsaWJwaXBlbGluZSBnZGJtIGdyb2ZmLW5hdGl2ZSBiYXNlLXBhc3N3ZCIKLVJERVBFTkRTXyR7UE59ICs9ICJiYXNlLXBhc3N3ZCIKLQotIyB8IC91c3Ivc3JjL2RlYnVnL21hbi1kYi8yLjguMC1yMC9tYW4tZGItMi44LjAvc3JjL3doYXRpcy5jOjkzOTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX25sX21zZ19jYXRfY250cicKLVVTRV9OTFNfbGliYy1tdXNsID0gIm5vIgotCi1pbmhlcml0IGdldHRleHQgcGtnY29uZmlnIGF1dG90b29scwotCi1FWFRSQV9PRUNPTkYgPSAiLS13aXRoLXBhZ2VyPWxlc3MiCi0KLWRvX2luc3RhbGwoKSB7Ci0JYXV0b3Rvb2xzX2RvX2luc3RhbGwKLQotCWlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdmluaXQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgotCSAgICAgICAgaW5zdGFsbCAtZCAke0R9L2V0Yy9kZWZhdWx0L3ZvbGF0aWxlcwotCQlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS85OV9tYW5kYiAke0R9L2V0Yy9kZWZhdWx0L3ZvbGF0aWxlcwotCWZpCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kX2xpYmMtbXVzbCgpIHsKLSAgICAgICAgcm0gLWYgJHtEfSR7bGliZGlyfS9jaGFyc2V0LmFsaWFzCi19Ci0KLUZJTEVTXyR7UE59ICs9ICIke3ByZWZpeH0vbGliL3RtcGZpbGVzLmQiCi0KLUZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L21hbi1kYi9saWJtYW4uc28gJHtsaWJkaXJ9LyR7QlBOfS9saWJtYW5kYi5zbyIKLQotUkRFUEVORFNfJHtQTn0gKz0gImdyb2ZmIgotUlJFQ09NTUVORFNfJHtQTn0gKz0gImxlc3MiCi1SUFJPVklERVNfJHtQTn0gKz0gIiBtYW4iCi0KLWRlZiBjb21wcmVzc19wa2coZCk6Ci0gICAgaWYgYmIudXRpbHMuY29udGFpbnMoIklOSEVSSVQiLCAiY29tcHJlc3NfZG9jIiwgVHJ1ZSwgRmFsc2UsIGQpOgotICAgICAgICAgY29tcHJlc3MgPSBkLmdldFZhcigiRE9DX0NPTVBSRVNTIikKLSAgICAgICAgIGlmIGNvbXByZXNzID09ICJneiI6Ci0gICAgICAgICAgICAgcmV0dXJuICJnemlwIgotICAgICAgICAgZWxpZiBjb21wcmVzcyA9PSAiYnoyIjoKLSAgICAgICAgICAgICByZXR1cm4gImJ6aXAyIgotICAgICAgICAgZWxpZiBjb21wcmVzcyA9PSAieHoiOgotICAgICAgICAgICAgIHJldHVybiAieHoiCi0gICAgcmV0dXJuICIiCi0KLVJERVBFTkRTXyR7UE59ICs9ICIke0Bjb21wcmVzc19wa2coZCl9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWFuLWRiL21hbi1kYl8yLjguNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21hbi1kYi9tYW4tZGJfMi44LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWEzNjQ2NQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21hbi1kYi9tYW4tZGJfMi44LjQuYmIKQEAgLTAsMCArMSw1NiBAQAorU1VNTUFSWSA9ICJBbiBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgc3RhbmRhcmQgVW5peCBkb2N1bWVudGF0aW9uIHN5c3RlbSBhY2Nlc3NlZCB1c2luZyB0aGUgbWFuIGNvbW1hbmQiCitIT01FUEFHRSA9ICJodHRwOi8vbWFuLWRiLm5vbmdudS5vcmcvIgorTElDRU5TRSA9ICJMR1BMdjIuMSAmIEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZG9jcy9DT1BZSU5HLkxJQjttZDU9YTZmODllMjEwMGQ5YjZjZGZmY2VhNGYzOThlMzczNDMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZG9jcy9DT1BZSU5HO21kNT1lYjcyM2I2MTUzOWZlZWYwMTNkZTQ3NmU2OGI1YzUwYSIKKworU1JDX1VSSSA9ICIke1NBVkFOTkFIX05PTkdOVV9NSVJST1J9L21hbi1kYi9tYW4tZGItJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovLzk5X21hbmRiIFwKKyAgICAgICAgICAgZmlsZTovL21hbl9kYi5jb25mLWF2b2lkLW11bHRpbGliLWluc3RhbGwtZmlsZS1jb25mbGljdC5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhYjQxZGI1NTFmNTAwZTRhNTk1YjExMjAzYjg2YzY3YSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxMDNjMTg1ZjlkODI2OWI5ZWUzYjhhNGNiMjc5MTJiM2FhMzkzZTk1MjczMWVmOTZmZWRjODgwNzIzNDcyYmMzIgorCitERVBFTkRTID0gImxpYnBpcGVsaW5lIGdkYm0gZ3JvZmYtbmF0aXZlIGJhc2UtcGFzc3dkIgorUkRFUEVORFNfJHtQTn0gKz0gImJhc2UtcGFzc3dkIgorCisjIHwgL3Vzci9zcmMvZGVidWcvbWFuLWRiLzIuOC4wLXIwL21hbi1kYi0yLjguMC9zcmMvd2hhdGlzLmM6OTM5OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfbmxfbXNnX2NhdF9jbnRyJworVVNFX05MU19saWJjLW11c2wgPSAibm8iCisKK2luaGVyaXQgZ2V0dGV4dCBwa2djb25maWcgYXV0b3Rvb2xzCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgtcGFnZXI9bGVzcyIKK0VYVFJBX0FVVE9SRUNPTkYgKz0gIi1JICR7U30vZ2wvbTQiCisKK2RvX2luc3RhbGwoKSB7CisJYXV0b3Rvb2xzX2RvX2luc3RhbGwKKworCWlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdmluaXQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorCSAgICAgICAgaW5zdGFsbCAtZCAke0R9L2V0Yy9kZWZhdWx0L3ZvbGF0aWxlcworCQlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS85OV9tYW5kYiAke0R9L2V0Yy9kZWZhdWx0L3ZvbGF0aWxlcworCWZpCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2xpYmMtbXVzbCgpIHsKKyAgICAgICAgcm0gLWYgJHtEfSR7bGliZGlyfS9jaGFyc2V0LmFsaWFzCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke3ByZWZpeH0vbGliL3RtcGZpbGVzLmQiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L21hbi1kYi9saWJtYW4uc28gJHtsaWJkaXJ9LyR7QlBOfS9saWJtYW5kYi5zbyIKKworUkRFUEVORFNfJHtQTn0gKz0gImdyb2ZmIgorUlJFQ09NTUVORFNfJHtQTn0gKz0gImxlc3MiCitSUFJPVklERVNfJHtQTn0gKz0gIiBtYW4iCisKK2RlZiBjb21wcmVzc19wa2coZCk6CisgICAgaWYgYmIudXRpbHMuY29udGFpbnMoIklOSEVSSVQiLCAiY29tcHJlc3NfZG9jIiwgVHJ1ZSwgRmFsc2UsIGQpOgorICAgICAgICAgY29tcHJlc3MgPSBkLmdldFZhcigiRE9DX0NPTVBSRVNTIikKKyAgICAgICAgIGlmIGNvbXByZXNzID09ICJneiI6CisgICAgICAgICAgICAgcmV0dXJuICJnemlwIgorICAgICAgICAgZWxpZiBjb21wcmVzcyA9PSAiYnoyIjoKKyAgICAgICAgICAgICByZXR1cm4gImJ6aXAyIgorICAgICAgICAgZWxpZiBjb21wcmVzcyA9PSAieHoiOgorICAgICAgICAgICAgIHJldHVybiAieHoiCisgICAgcmV0dXJuICIiCisKK1JERVBFTkRTXyR7UE59ICs9ICIke0Bjb21wcmVzc19wa2coZCl9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWFuLXBhZ2VzL21hbi1wYWdlc180LjE2LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWFuLXBhZ2VzL21hbi1wYWdlc180LjE2LmJiCmluZGV4IGE2NDU4N2MuLjFmMTRjODkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21hbi1wYWdlcy9tYW4tcGFnZXNfNC4xNi5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tYW4tcGFnZXMvbWFuLXBhZ2VzXzQuMTYuYmIKQEAgLTMxLDYgKzMxLDcgQEAKIGluaGVyaXQgdXBkYXRlLWFsdGVybmF0aXZlcwogCiBBTFRFUk5BVElWRV9QUklPUklUWSA9ICIxMDAiCi1BTFRFUk5BVElWRV8ke1BOfSA9ICJwYXNzd2QuNSBnZXRzcG5hbS4zIgorQUxURVJOQVRJVkVfJHtQTn0gPSAicGFzc3dkLjUgZ2V0c3BuYW0uMyBjcnlwdC4zIgogQUxURVJOQVRJVkVfTElOS19OQU1FW3Bhc3N3ZC41XSA9ICIke21hbmRpcn0vbWFuNS9wYXNzd2QuNSIKIEFMVEVSTkFUSVZFX0xJTktfTkFNRVtnZXRzcG5hbS4zXSA9ICIke21hbmRpcn0vbWFuMy9nZXRzcG5hbS4zIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2NyeXB0LjNdID0gIiR7bWFuZGlyfS9tYW4zL2NyeXB0LjMiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tYy9tY180LjguMjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tYy9tY180LjguMjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM2YTQ1MDAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWMvbWNfNC44LjIxLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDkgKzAsMCBAQAotU1VNTUFSWSA9ICJNaWRuaWdodCBDb21tYW5kZXIgaXMgYW4gbmN1cnNlcyBiYXNlZCBmaWxlIG1hbmFnZXIiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3Lm1pZG5pZ2h0LWNvbW1hbmRlci5vcmcvIgotTElDRU5TRSA9ICJHUEx2MyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTI3MGJiYWZlMzYwZTczZjk4NDBiZDc5ODE2MjFmOWMyIgotU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgotREVQRU5EUyA9ICJuY3Vyc2VzIGdsaWItMi4wIHV0aWwtbGludXgiCi1SREVQRU5EU18ke1BOfSA9ICJuY3Vyc2VzLXRlcm1pbmZvIgotCi1TUkNfVVJJID0gImh0dHA6Ly93d3cubWlkbmlnaHQtY29tbWFuZGVyLm9yZy9kb3dubG9hZHMvJHtCUE59LSR7UFZ9LnRhci5iejIgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1tYy1yZXBsYWNlLXBlcmwtdy13aXRoLXVzZS13YXJuaW5ncy5wYXRjaCBcCi0gICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICI2M2QyYjkwZTIxOThlZTc5ZDA4ZWI0YTg5ODkyMjBlMiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIyNTFkOWYwZWY5MzA5ZWYzZWVhMGZkYzRjMTJiOGI2MTE0OWU1MDU2YmVmMWIyZGUyY2NjN2YwMTVkOTczNDQ0IgotCi1pbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBrZ2NvbmZpZwotCi0jCi0jIEJvdGggU2FtYmEgKHNtYikgYW5kIHNmdHAgcmVxdWlyZSBwYWNrYWdlIGRlbGl2ZXJlZCBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkCi0jCi1QQUNLQUdFQ09ORklHID8/PSAiIgotUEFDS0FHRUNPTkZJR1tzbWJdID0gIi0tZW5hYmxlLXZmcy1zbWIsLS1kaXNhYmxlLXZmcy1zbWIsc2FtYmEsIgotUEFDS0FHRUNPTkZJR1tzZnRwXSA9ICItLWVuYWJsZS12ZnMtc2Z0cCwtLWRpc2FibGUtdmZzLXNmdHAsbGlic3NoMiwiCi0KLUVYVFJBX09FQ09ORiA9ICItLXdpdGgtc2NyZWVuPW5jdXJzZXMgLS13aXRob3V0LWdwbS1tb3VzZSAtLXdpdGhvdXQteCIKLQotQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImFjX2N2X3BhdGhfUEVSTD0nL3Vzci9iaW4vZW52IHBlcmwnIgotCi1kb19pbnN0YWxsX2FwcGVuZCAoKSB7Ci0Jc2VkIC1pIC1lICcxcywjIS4qcGVybCwjISR7YmluZGlyfS9lbnYgcGVybCwnICR7RH0ke2xpYmV4ZWNkaXJ9L21jL2V4dGZzLmQvKgotICAgICAgICAKLSAgICAgICAgcm0gJHtEfSR7bGliZXhlY2Rpcn0vbWMvZXh0ZnMuZC9zMysgJHtEfSR7bGliZXhlY2Rpcn0vbWMvZXh0ZnMuZC91YzE1NDEKLX0KLQotUEFDS0FHRVMgPSsgIiR7QlBOfS1oZWxwZXJzLXBlcmwgJHtCUE59LWhlbHBlcnMgJHtCUE59LWZpc2giCi0KLVNVTU1BUllfJHtCUE59LWhlbHBlcnMtcGVybCA9ICJNaWRuaWdodCBDb21tYW5kZXIgUGVybC1iYXNlZCBoZWxwZXIgc2NyaXB0cyIKLUZJTEVTXyR7QlBOfS1oZWxwZXJzLXBlcmwgPSAiJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL2ErICR7bGliZXhlY2Rpcn0vbWMvZXh0ZnMuZC9hcHQrIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL2RlYiAke2xpYmV4ZWNkaXJ9L21jL2V4dGZzLmQvZGViYSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7bGliZXhlY2Rpcn0vbWMvZXh0ZnMuZC9kZWJkICR7bGliZXhlY2Rpcn0vbWMvZXh0ZnMuZC9kcGtnKyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7bGliZXhlY2Rpcn0vbWMvZXh0ZnMuZC9tYWlsZnMgJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL3BhdGNoZnMgXCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL3JwbXMrICR7bGliZXhlY2Rpcn0vbWMvZXh0ZnMuZC91bGliIFwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7bGliZXhlY2Rpcn0vbWMvZXh0ZnMuZC91emlwIgotUkRFUEVORFNfJHtCUE59LWhlbHBlcnMtcGVybCA9ICJwZXJsIgotCi1TVU1NQVJZXyR7QlBOfS1oZWxwZXJzID0gIk1pZG5pZ2h0IENvbW1hbmRlciBzaGVsbCBoZWxwZXIgc2NyaXB0cyIKLUZJTEVTXyR7QlBOfS1oZWxwZXJzID0gIiR7bGliZXhlY2Rpcn0vbWMvZXh0ZnMuZC8qICR7bGliZXhlY2Rpcn0vbWMvZXh0LmQvKiIKLQotU1VNTUFSWV8ke0JQTn0tZmlzaCA9ICJNaWRuaWdodCBDb21tYW5kZXIgRmlzaCBzY3JpcHRzIgotRklMRVNfJHtCUE59LWZpc2ggPSAiJHtsaWJleGVjZGlyfS9tYy9maXNoIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWMvbWNfNC44LjIyLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWMvbWNfNC44LjIyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2NGVmZmIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tYy9tY180LjguMjIuYmIKQEAgLTAsMCArMSw0OSBAQAorU1VNTUFSWSA9ICJNaWRuaWdodCBDb21tYW5kZXIgaXMgYW4gbmN1cnNlcyBiYXNlZCBmaWxlIG1hbmFnZXIiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm1pZG5pZ2h0LWNvbW1hbmRlci5vcmcvIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTI3MGJiYWZlMzYwZTczZjk4NDBiZDc5ODE2MjFmOWMyIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorREVQRU5EUyA9ICJuY3Vyc2VzIGdsaWItMi4wIHV0aWwtbGludXgiCitSREVQRU5EU18ke1BOfSA9ICJuY3Vyc2VzLXRlcm1pbmZvIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cubWlkbmlnaHQtY29tbWFuZGVyLm9yZy9kb3dubG9hZHMvJHtCUE59LSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1tYy1yZXBsYWNlLXBlcmwtdy13aXRoLXVzZS13YXJuaW5ncy5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICIyOTk4M2EyMTVjOTYwMzBmMDZkNWIxMTIwODhlYzVkYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ZDlmMWM3NTM2OTk2N2FkZmQzMTdhMDVmZWY5ODYxNDQ0ZWQwNDliMDMzZTRkZWJhZWFhZmM2ZGYyMThiNDMxIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBrZ2NvbmZpZworCisjCisjIEJvdGggU2FtYmEgKHNtYikgYW5kIHNmdHAgcmVxdWlyZSBwYWNrYWdlIGRlbGl2ZXJlZCBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkCisjCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tzbWJdID0gIi0tZW5hYmxlLXZmcy1zbWIsLS1kaXNhYmxlLXZmcy1zbWIsc2FtYmEsIgorUEFDS0FHRUNPTkZJR1tzZnRwXSA9ICItLWVuYWJsZS12ZnMtc2Z0cCwtLWRpc2FibGUtdmZzLXNmdHAsbGlic3NoMiwiCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgtc2NyZWVuPW5jdXJzZXMgLS13aXRob3V0LWdwbS1tb3VzZSAtLXdpdGhvdXQteCIKKworQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImFjX2N2X3BhdGhfUEVSTD0nL3Vzci9iaW4vZW52IHBlcmwnIgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisJc2VkIC1pIC1lICcxcywjIS4qcGVybCwjISR7YmluZGlyfS9lbnYgcGVybCwnICR7RH0ke2xpYmV4ZWNkaXJ9L21jL2V4dGZzLmQvKgorICAgICAgICAKKyAgICAgICAgcm0gJHtEfSR7bGliZXhlY2Rpcn0vbWMvZXh0ZnMuZC9zMysgJHtEfSR7bGliZXhlY2Rpcn0vbWMvZXh0ZnMuZC91YzE1NDEKK30KKworUEFDS0FHRVMgPSsgIiR7QlBOfS1oZWxwZXJzLXBlcmwgJHtCUE59LWhlbHBlcnMgJHtCUE59LWZpc2giCisKK1NVTU1BUllfJHtCUE59LWhlbHBlcnMtcGVybCA9ICJNaWRuaWdodCBDb21tYW5kZXIgUGVybC1iYXNlZCBoZWxwZXIgc2NyaXB0cyIKK0ZJTEVTXyR7QlBOfS1oZWxwZXJzLXBlcmwgPSAiJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL2ErICR7bGliZXhlY2Rpcn0vbWMvZXh0ZnMuZC9hcHQrIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL2RlYiAke2xpYmV4ZWNkaXJ9L21jL2V4dGZzLmQvZGViYSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7bGliZXhlY2Rpcn0vbWMvZXh0ZnMuZC9kZWJkICR7bGliZXhlY2Rpcn0vbWMvZXh0ZnMuZC9kcGtnKyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7bGliZXhlY2Rpcn0vbWMvZXh0ZnMuZC9tYWlsZnMgJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL3BhdGNoZnMgXCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL3JwbXMrICR7bGliZXhlY2Rpcn0vbWMvZXh0ZnMuZC91bGliIFwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7bGliZXhlY2Rpcn0vbWMvZXh0ZnMuZC91emlwIgorUkRFUEVORFNfJHtCUE59LWhlbHBlcnMtcGVybCA9ICJwZXJsIgorCitTVU1NQVJZXyR7QlBOfS1oZWxwZXJzID0gIk1pZG5pZ2h0IENvbW1hbmRlciBzaGVsbCBoZWxwZXIgc2NyaXB0cyIKK0ZJTEVTXyR7QlBOfS1oZWxwZXJzID0gIiR7bGliZXhlY2Rpcn0vbWMvZXh0ZnMuZC8qICR7bGliZXhlY2Rpcn0vbWMvZXh0LmQvKiIKKworU1VNTUFSWV8ke0JQTn0tZmlzaCA9ICJNaWRuaWdodCBDb21tYW5kZXIgRmlzaCBzY3JpcHRzIgorRklMRVNfJHtCUE59LWZpc2ggPSAiJHtsaWJleGVjZGlyfS9tYy9maXNoIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS1Db21wdXRlLWFicy1kaWZmLWluLWEtc3RhbmRhcmQtY29tcGxpYW50LXdheS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtQ29tcHV0ZS1hYnMtZGlmZi1pbi1hLXN0YW5kYXJkLWNvbXBsaWFudC13YXkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODAzYTU5YgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtQ29tcHV0ZS1hYnMtZGlmZi1pbi1hLXN0YW5kYXJkLWNvbXBsaWFudC13YXkucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSBiMjczZTg5MmJkNmFhYWZlNDQ4Zjg0MzU2YWJiNzhhNmQ0NjNlNzg0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgNyBEZWMgMjAxOCAxNzoyMjozOSAtMDgwMAorU3ViamVjdDogW1BBVENIXSBDb21wdXRlIGFicyBkaWZmIGluIGEgc3RhbmRhcmQgY29tcGxpYW50IHdheQorCitUaGlzIG1ha2UgaXQgYSBiaXQgbGVzcyBpbXBsZW1lbnRhdGlvbiBkZWZpbmVkIGFuZCBzaWxlbmNlcyBjbGFuZword2FybmluZyAtV2Fic29sdXRlLXZhbHVlCisKK3wgc3VwZXItaW50ZWwuYzoyODIyOjIwOiBlcnJvcjogdGFraW5nIHRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiB1bnNpZ25lZCB0eXBlICd1bnNpCitnbmVkIGxvbmcgbG9uZycgaGFzIG5vIGVmZmVjdCBbLVdlcnJvciwtV2Fic29sdXRlLXZhbHVlXQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIHN1cGVyLWludGVsLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zdXBlci1pbnRlbC5jIGIvc3VwZXItaW50ZWwuYworaW5kZXggNjQzODk4Ny4uMTBkNzIxOCAxMDA2NDQKKy0tLSBhL3N1cGVyLWludGVsLmMKKysrKyBiL3N1cGVyLWludGVsLmMKK0BAIC0yODE5LDcgKzI4MTksNyBAQCBzdGF0aWMgdW5zaWduZWQgbG9uZyBsb25nIGNhbGNfY29tcG9uZW50X3NpemUoc3RydWN0IGltc21fbWFwICptYXAsCisgCSAqIDIwNDggYmxvY2tzIHBlciBlYWNoIGRldmljZS4gSWYgdGhlIGRpZmZlcmVuY2UgaXMgaGlnaGVyIGl0IG1lYW5zCisgCSAqIHRoYXQgYXJyYXkgc2l6ZSB3YXMgZXhwYW5kZWQgYW5kIG51bV9kYXRhX3N0cmlwZXMgd2FzIG5vdCB1cGRhdGVkLgorIAkgKi8KKy0JaWYgKCh1bnNpZ25lZCBpbnQpYWJzKGNhbGNfZGV2X3NpemUgLSBkZXZfc2l6ZSkgPgorKwlpZiAoKHVuc2lnbmVkIGludClhYnMoKGludCljYWxjX2Rldl9zaXplIC0gKGludClkZXZfc2l6ZSkgPgorIAkgICAgKDEgPDwgU0VDVF9QRVJfTUJfU0hJRlQpICogbWVtYmVyX2Rpc2tzKSB7CisgCQljb21wb25lbnRfc2l6ZSA9IGRldl9zaXplIC8gbWVtYmVyX2Rpc2tzOworIAkJZHByaW50ZigiSW52YWxpZCBudW1fZGF0YV9zdHJpcGVzIGluIG1ldGFkYXRhOyBleHBlY3RlZD0lbGx1LCBmb3VuZD0lbGx1XG4iLApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS1EaXNhYmxlLWdjYzgtd2FybmluZ3MucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLURpc2FibGUtZ2NjOC13YXJuaW5ncy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzM5NjUyYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLURpc2FibGUtZ2NjOC13YXJuaW5ncy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE1MiArMCwwIEBACi1Gcm9tIGI4MzIxOGRlMjYyM2MwYmJlOWFmMzU1YTgxYWU4Mzg1ZDdmMzBjZmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogV2VkLCA5IE1heSAyMDE4IDEyOjU2OjQxIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIERpc2FibGUgZ2NjOCB3YXJuaW5ncwotCi1UaGlzIGlzIG5lZWRlZCB1bnRpbAotaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0xNTUzOTU4Ci0KLUZpeCBzdXBlcjAuYyBpc3N1ZSB3aGljaCBpcyB0cmlnZ2VyZWQgb25seSBpbiBERUJVR19CVUlMRCB3aXRoIC1PMSAob3IgYW55Ci1jb25maWd1cmF0aW9uIHdpdGhvdXQgLWZ0cmVlLXZycCBvciB3aXRoIC1mbm8tdHJlZS12cnApCi0KLXN1cGVyMC5jOiBJbiBmdW5jdGlvbiAnZXhhbWluZV9zdXBlcjAnOgotc3VwZXIwLmM6MjM4OjMyOiBlcnJvcjogJ3NucHJpbnRmJyBvdXRwdXQgbWF5IGJlIHRydW5jYXRlZCBiZWZvcmUgdGhlIGxhc3QgZm9ybWF0IGNoYXJhY3RlciBbLVdlcnJvcj1mb3JtYXQtdHJ1bmNhdGlvbj1dCi0gICBzbnByaW50ZihuYiwgc2l6ZW9mKG5iKSwgIiU0ZCIsIGQpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbV29ya2Fyb3VuZF0KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotLS0tCi0gTW9uaXRvci5jICAgICB8IDQgKysrLQotIG1kb3Blbi5jICAgICAgfCA0ICsrKysKLSBzdXBlci1kZGYuYyAgIHwgNCArKysrCi0gc3VwZXItaW50ZWwuYyB8IDYgKysrKysrCi0gc3VwZXIxLmMgICAgICB8IDUgKysrKysKLSBzdXBlcjAuYyAgICAgIHwgMiArLQotIDYgZmlsZXMgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3VwZXIwLmMgYi9zdXBlcjAuYwotaW5kZXggZjViNDUwNy4uMjY0YjU5OCAxMDA2NDQKLS0tLSBhL3N1cGVyMC5jCi0rKysgYi9zdXBlcjAuYwotQEAgLTIzMSw3ICsyMzEsNyBAQAotIAkgICAgIGQrKykgewotIAkJbWRwX2Rpc2tfdCAqZHA7Ci0gCQljaGFyICpkdjsKLS0JCWNoYXIgbmJbMTFdOwotKwkJY2hhciBuYlsxMl07Ci0gCQlpbnQgd29ubHksIGZhaWxmYXN0OwotIAkJaWYgKGQ+PTApIGRwID0gJnNiLT5kaXNrc1tkXTsKLSAJCWVsc2UgZHAgPSAmc2ItPnRoaXNfZGlzazsKLWRpZmYgLS1naXQgYS9Nb25pdG9yLmMgYi9Nb25pdG9yLmMKLWluZGV4IDgwMmE5ZDkuLjIzYjI0NmIgMTAwNjQ0Ci0tLS0gYS9Nb25pdG9yLmMKLSsrKyBiL01vbml0b3IuYwotQEAgLTQ0MSw3ICs0NDEsOCBAQCBzdGF0aWMgdm9pZCBhbGVydChjaGFyICpldmVudCwgY2hhciAqZGV2LCBjaGFyICpkaXNjLCBzdHJ1Y3QgYWxlcnRfaW5mbyAqaW5mbykKLSAJCQkgICAgICAgZXZlbnQsIGRldik7Ci0gCX0KLSB9Ci0tCi0rI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBwdXNoCi0rI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV2Zvcm1hdC10cnVuY2F0aW9uIgotIHN0YXRpYyBpbnQgY2hlY2tfYXJyYXkoc3RydWN0IHN0YXRlICpzdCwgc3RydWN0IG1kc3RhdF9lbnQgKm1kc3RhdCwKLSAJCSAgICAgICBpbnQgdGVzdCwgc3RydWN0IGFsZXJ0X2luZm8gKmFpbmZvLAotIAkJICAgICAgIGludCBpbmNyZW1lbnRzLCBjaGFyICpwcmVmZXIpCi1AQCAtNjgzLDYgKzY4NCw3IEBAIHN0YXRpYyBpbnQgY2hlY2tfYXJyYXkoc3RydWN0IHN0YXRlICpzdCwgc3RydWN0IG1kc3RhdF9lbnQgKm1kc3RhdCwKLSAJCXJldHVybiAxOwotIAlyZXR1cm4gMDsKLSB9Ci0rI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBwb3AKLSAKLSBzdGF0aWMgaW50IGFkZF9uZXdfYXJyYXlzKHN0cnVjdCBtZHN0YXRfZW50ICptZHN0YXQsIHN0cnVjdCBzdGF0ZSAqKnN0YXRlbGlzdCwKLSAJCQkgIGludCB0ZXN0LCBzdHJ1Y3QgYWxlcnRfaW5mbyAqaW5mbykKLWRpZmYgLS1naXQgYS9tZG9wZW4uYyBiL21kb3Blbi5jCi1pbmRleCA2ODVjYTMyLi40MDZhYmE0IDEwMDY0NAotLS0tIGEvbWRvcGVuLmMKLSsrKyBiL21kb3Blbi5jCi1AQCAtMjYsNiArMjYsOSBAQAotICNpbmNsdWRlICJtZF9wLmgiCi0gI2luY2x1ZGUgPGN0eXBlLmg+Ci0gCi0rI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBwdXNoCi0rI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV2Zvcm1hdC10cnVuY2F0aW9uIgotKwotIHZvaWQgbWFrZV9wYXJ0cyhjaGFyICpkZXYsIGludCBjbnQpCi0gewotIAkvKiBtYWtlICdjbnQnIHBhcnRpdGlvbiBkZXZpY2VzIGZvciAnZGV2JwotQEAgLTk5LDYgKzEwMiw3IEBAIHZvaWQgbWFrZV9wYXJ0cyhjaGFyICpkZXYsIGludCBjbnQpCi0gCX0KLSAJZnJlZShuYW1lKTsKLSB9Ci0rI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBwb3AKLSAKLSAvKgotICAqIFdlIG5lZWQgYSBuZXcgbWQgZGV2aWNlIHRvIGFzc2VtYmxlL2J1aWxkL2NyZWF0ZSBhbiBhcnJheS4KLWRpZmYgLS1naXQgYS9zdXBlci1kZGYuYyBiL3N1cGVyLWRkZi5jCi1pbmRleCAxNzA3YWQxLi5lMDhkMjg5IDEwMDY0NAotLS0tIGEvc3VwZXItZGRmLmMKLSsrKyBiL3N1cGVyLWRkZi5jCi1AQCAtMjg0Niw2ICsyODQ2LDkgQEAgc3RhdGljIHZvaWQgX3NldF9jb25maWdfc2l6ZShzdHJ1Y3QgcGh5c19kaXNrX2VudHJ5ICpwZGUsIGNvbnN0IHN0cnVjdCBkbCAqZGwpCi0gCQkodW5zaWduZWQgbG9uZyBsb25nKWNmcywgKHVuc2lnbmVkIGxvbmcgbG9uZykoZGwtPnNpemUtY2ZzKSk7Ci0gfQotIAotKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcHVzaAotKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdmb3JtYXQtb3ZlcmZsb3ciCi0rCi0gLyogQWRkIGEgZGV2aWNlIHRvIGEgY29udGFpbmVyLCBlaXRoZXIgd2hpbGUgY3JlYXRpbmcgaXQgb3Igd2hpbGUKLSAgKiBleHBhbmRpbmcgYSBwcmUtZXhpc3RpbmcgY29udGFpbmVyCi0gICovCi1AQCAtMjk4MSw2ICsyOTg0LDcgQEAgc3RhdGljIGludCBhZGRfdG9fc3VwZXJfZGRmKHN0cnVjdCBzdXBlcnR5cGUgKnN0LAotIAotIAlyZXR1cm4gMDsKLSB9Ci0rI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBwb3AKLSAKLSBzdGF0aWMgaW50IHJlbW92ZV9mcm9tX3N1cGVyX2RkZihzdHJ1Y3Qgc3VwZXJ0eXBlICpzdCwgbWR1X2Rpc2tfaW5mb190ICpkaykKLSB7Ci1kaWZmIC0tZ2l0IGEvc3VwZXItaW50ZWwuYyBiL3N1cGVyLWludGVsLmMKLWluZGV4IDAwYTI5MjUuLjQ0ZmJlYWQgMTAwNjQ0Ci0tLS0gYS9zdXBlci1pbnRlbC5jCi0rKysgYi9zdXBlci1pbnRlbC5jCi1AQCAtMjk4LDYgKzI5OCwxMSBAQCBzdHJ1Y3QgbWRfbGlzdCB7Ci0gfTsKLSAKLSAjZGVmaW5lIHByX3ZyYihmbXQsIGFyZy4uLikgKHZvaWQpICh2ZXJib3NlICYmIHByX2VycihmbXQsICMjYXJnKSkKLSsjcHJhZ21hIEdDQyBkaWFnbm9zdGljIHB1c2gKLSsjIGlmIF9fR05VQ19fID09IDgKLSsjIHByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV3N0cmluZ29wLXRydW5jYXRpb24iCi0rIyBlbmRpZgotKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdmb3JtYXQtdHJ1bmNhdGlvbiIKLSAKLSBzdGF0aWMgX191OCBtaWdyX3R5cGUoc3RydWN0IGltc21fZGV2ICpkZXYpCi0gewotQEAgLTExNjE4LDMgKzExNjIzLDQgQEAgc3RydWN0IHN1cGVyc3dpdGNoIHN1cGVyX2ltc20gPSB7Ci0gCS5nZXRfYmFkX2Jsb2NrcyAgID0gaW1zbV9nZXRfYmFkYmxvY2tzLAotICNlbmRpZiAvKiBNREFTU0VNQkxFICovCi0gfTsKLSsjcHJhZ21hIEdDQyBkaWFnbm9zdGljIHBvcAotZGlmZiAtLWdpdCBhL3N1cGVyMS5jIGIvc3VwZXIxLmMKLWluZGV4IDg3YTc0Y2IuLjcxYzUxNWYgMTAwNjQ0Ci0tLS0gYS9zdXBlcjEuYwotKysrIGIvc3VwZXIxLmMKLUBAIC0xMDkxLDYgKzEwOTEsMTAgQEAgc3RhdGljIHN0cnVjdCBtZGluZm8gKmNvbnRhaW5lcl9jb250ZW50MShzdHJ1Y3Qgc3VwZXJ0eXBlICpzdCwgY2hhciAqc3ViYXJyYXkpCi0gCXJldHVybiBpbmZvOwotIH0KLSAKLSsjcHJhZ21hIEdDQyBkaWFnbm9zdGljIHB1c2gKLSsjIGlmIF9fR05VQ19fID09IDgKLSsjIHByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV3N0cmluZ29wLXRydW5jYXRpb24iCi0rI2VuZGlmCi0gc3RhdGljIGludCB1cGRhdGVfc3VwZXIxKHN0cnVjdCBzdXBlcnR5cGUgKnN0LCBzdHJ1Y3QgbWRpbmZvICppbmZvLAotIAkJCSBjaGFyICp1cGRhdGUsCi0gCQkJIGNoYXIgKmRldm5hbWUsIGludCB2ZXJib3NlLAotQEAgLTE0NzMsNiArMTQ3Nyw3IEBAIHN0YXRpYyBpbnQgaW5pdF9zdXBlcjEoc3RydWN0IHN1cGVydHlwZSAqc3QsIG1kdV9hcnJheV9pbmZvX3QgKmluZm8sCi0gCi0gCXJldHVybiAxOwotIH0KLSsjcHJhZ21hIEdDQyBkaWFnbm9zdGljIHBvcAotIAotIHN0cnVjdCBkZXZpbmZvIHsKLSAJaW50IGZkOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS1GaXgtdGhlLXBhdGgtb2YtY29yb3N5bmMtYW5kLWRsbS1oZWFkZXItZmlsZXMtY2hlY2sucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLUZpeC10aGUtcGF0aC1vZi1jb3Jvc3luYy1hbmQtZGxtLWhlYWRlci1maWxlcy1jaGVjay5wYXRjaAppbmRleCBhODkxNjE0Li4yOThmMjc2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLUZpeC10aGUtcGF0aC1vZi1jb3Jvc3luYy1hbmQtZGxtLWhlYWRlci1maWxlcy1jaGVjay5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLUZpeC10aGUtcGF0aC1vZi1jb3Jvc3luYy1hbmQtZGxtLWhlYWRlci1maWxlcy1jaGVjay5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gMWY1YmFmM2FkOTVhZTRjMzllZmU0ZDhhZDhiMmU2NDJiM2EzNTFkYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYTkxNjZiZjQyMmRhMTAwMWJhYzljYzgxOTM4NmJmMzliN2NkMWI3MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206ICJNYXhpbiBCLiBKb2huIiA8bWF4aW4uam9obkBpbnRlbC5jb20+CiBEYXRlOiBUdWUsIDkgRmViIDIwMTYgMTE6NDQ6MDEgKzAyMDAKIFN1YmplY3Q6IFtQQVRDSF0gRml4IHRoZSBwYXRoIG9mIGNvcm9zeW5jIGFuZCBkbG0gaGVhZGVyIGZpbGVzIGNoZWNrCkBAIC05LDI4ICs5LDE4IEBACiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW1lvY3RvIHNwZWNpZmljXQogCiBTaWduZWQtb2ZmLWJ5OiBNYXhpbiBCLiBKb2huIDxtYXhpbi5qb2huQGludGVsLmNvbT4KLS0tLQotbWRhZG0gb25seSB3b3JrcyB3aXRoIGNvcm9zeW5jIDIueCB3aGljaCBwcm92aWRlcyBoZWFkZXIgZmlsZSBjb3Jvc3luYy9jbWFwLmguCi1JZiBidWlsZCBtZGFkbSB3aXRoIGNvcm9zeW5jIDEueCwgaXQgZmFpbHMgd2l0aDoKIAotfCBtZW1iZXIuYzoxMjoyNzogZmF0YWwgZXJyb3I6IGNvcm9zeW5jL2NtYXAuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQotfCAgI2luY2x1ZGUgPGNvcm9zeW5jL2NtYXAuaD4KLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgotCi1CdWlsZCB3aXRoIGNvcm9zeW5jIG9ubHkgaGVhZGVyIGZpbGUgY29yb3N5bmMvY21hcC5oIGV4aXN0cy4KLQotU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CiAtLS0KICBNYWtlZmlsZSB8IDQgKystLQogIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCi1pbmRleCBmZDc5Y2ZiLi4zNDE1MGE5IDEwMDY0NAoraW5kZXggMjc2N2FjNi4uNDZiZjU3YiAxMDA2NDQKIC0tLSBhL01ha2VmaWxlCiArKysgYi9NYWtlZmlsZQotQEAgLTgwLDggKzgwLDggQEAgTURNT05fRElSID0gJChSVU5fRElSKQotIEZBSUxFRF9TTE9UU19ESVIgPSAkKFJVTl9ESVIpL2ZhaWxlZC1zbG90cworQEAgLTkxLDggKzkxLDggQEAgRkFJTEVEX1NMT1RTX0RJUiA9ICQoUlVOX0RJUikvZmFpbGVkLXNsb3RzCiAgU1lTVEVNRF9ESVI9L2xpYi9zeXN0ZW1kL3N5c3RlbQorIExJQl9ESVI9L3Vzci9saWJleGVjL21kYWRtCiAgCiAtQ09ST1NZTkM6PSQoc2hlbGwgWyAtZCAvdXNyL2luY2x1ZGUvY29yb3N5bmMgXSB8fCBlY2hvIC1ETk9fQ09ST1NZTkMpCiAtRExNOj0kKHNoZWxsIFsgLWYgL3Vzci9pbmNsdWRlL2xpYmRsbS5oIF0gfHwgZWNobyAtRE5PX0RMTSkKQEAgLTM5LDYgKzI5LDMgQEAKICAKICBESVJGTEFHUyA9IC1ETUFQX0RJUj1cIiQoTUFQX0RJUilcIiAtRE1BUF9GSUxFPVwiJChNQVBfRklMRSlcIgogIERJUkZMQUdTICs9IC1ETURNT05fRElSPVwiJChNRE1PTl9ESVIpXCIKLS0tIAotMi40LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS1Vc2UtQ0MtdG8tY2hlY2stZm9yLWltcGxpY2l0LWZhbGx0aHJvdWdoLXdhcm5pbmctc3VwLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS1Vc2UtQ0MtdG8tY2hlY2stZm9yLWltcGxpY2l0LWZhbGx0aHJvdWdoLXdhcm5pbmctc3VwLnBhdGNoCmluZGV4IGE0YjdiOGEuLjEyYmY2YTUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtVXNlLUNDLXRvLWNoZWNrLWZvci1pbXBsaWNpdC1mYWxsdGhyb3VnaC13YXJuaW5nLXN1cC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLVVzZS1DQy10by1jaGVjay1mb3ItaW1wbGljaXQtZmFsbHRocm91Z2gtd2FybmluZy1zdXAucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIGExMjllZTZkODBmM2IyY2RhMGQ4MjdjMzVmYTgxYTUxN2NmNmQ1MDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDM3YzM1Zjk0ZDlkOTVkYmQyYjVmOGE5MTlmNTQ3OGJlNTE0NTM1OTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogRnJpLCAxMyBPY3QgMjAxNyAxMDoyNzozNCAtMDcwMAogU3ViamVjdDogW1BBVENIXSBVc2UgQ0MgdG8gY2hlY2sgZm9yIGltcGxpY2l0LWZhbGx0aHJvdWdoIHdhcm5pbmcgc3VwcG9ydApAQCAtOCwxNiArOCwxNiBAQAogY3Jvc3MgY29tcGlsZSB1c2VkIGZvciBjb21waWxpbmcgbWRhZG0gaXMgPCB2ZXJzaW9uIDcKIAogU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCistLS0KICBNYWtlZmlsZSB8IDIgKy0KICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKLWluZGV4IGQyMDdlZTQuLjk3MWYyNTUgMTAwNjQ0CitpbmRleCA0NmJmNTdiLi5hMDc1OTEyIDEwMDY0NAogLS0tIGEvTWFrZWZpbGUKICsrKyBiL01ha2VmaWxlCi1AQCAtNDgsNyArNDgsNyBAQCBpZmRlZiBXQVJOX1VOVVNFRAorQEAgLTUzLDcgKzUzLDcgQEAgaWZkZWYgV0FSTl9VTlVTRUQKICBDV0ZMQUdTICs9IC1XcCwtRF9GT1JUSUZZX1NPVVJDRT0yIC1PMwogIGVuZGlmCiAgCkBAIC0yNiw2ICsyNiwzIEBACiAgaWZuZXEgIiQoRkFMTFRIUk9VR0gpIiAgIjAiCiAgQ1dGTEFHUyArPSAtV2ltcGxpY2l0LWZhbGx0aHJvdWdoPTAKICBlbmRpZgotLS0gCi0yLjE0LjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS1maXgtZ2NjLTgtZm9ybWF0LXRydW5jYXRpb24td2FybmluZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtZml4LWdjYy04LWZvcm1hdC10cnVuY2F0aW9uLXdhcm5pbmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmE5YzhjYwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtZml4LWdjYy04LWZvcm1hdC10cnVuY2F0aW9uLXdhcm5pbmcucGF0Y2gKQEAgLTAsMCArMSwzOSBAQAorRnJvbSAzMTU4ZDM3ODhjMmUwZmI3NWFjZTJjODk4NDBiZDhhOTc3ZmI0Y2IwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorRGF0ZTogRnJpLCAxNCBEZWMgMjAxOCAxNToxMjozMSArMDgwMAorU3ViamVjdDogW1BBVENIXSBmaXggZ2NjLTggZm9ybWF0LXRydW5jYXRpb24gd2FybmluZworCitXaGlsZSBjb21waWxpbmcgd2l0aCBgLVdlcnJvcj1mb3JtYXQtdHJ1bmNhdGlvbj0nLCBpdCBmYWlsZWQKK1tzbmlwXQorfHN1cGVyMC5jOjIzNjozMjogZXJyb3I6ICdzbnByaW50Zicgb3V0cHV0IG1heSBiZSB0cnVuY2F0ZWQKK2JlZm9yZSB0aGUgbGFzdCBmb3JtYXQgY2hhcmFjdGVyIFstV2Vycm9yPWZvcm1hdC10cnVuY2F0aW9uPV0KK3wgICBzbnByaW50ZihuYiwgc2l6ZW9mKG5iKSwgIiU0ZCIsIGQpOworfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorfHN1cGVyMC5jOjIzNjozOiBub3RlOiAnc25wcmludGYnIG91dHB1dCBiZXR3ZWVuIDUgYW5kIDEyIGJ5dGVzCitpbnRvIGEgZGVzdGluYXRpb24gb2Ygc2l6ZSAxMQorfCAgIHNucHJpbnRmKG5iLCBzaXplb2YobmIpLCAiJTRkIiwgZCk7Citbc25pcF0KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9uZWlsYnJvd24vbWRhZG0vcHVsbC8zNF0KKworU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorLS0tCisgc3VwZXIwLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zdXBlcjAuYyBiL3N1cGVyMC5jCitpbmRleCA3NTZjYWI1Li4xMmMyOGRhIDEwMDY0NAorLS0tIGEvc3VwZXIwLmMKKysrKyBiL3N1cGVyMC5jCitAQCAtMjI5LDcgKzIyOSw3IEBAIHN0YXRpYyB2b2lkIGV4YW1pbmVfc3VwZXIwKHN0cnVjdCBzdXBlcnR5cGUgKnN0LCBjaGFyICpob21laG9zdCkKKyAJICAgICBkKyspIHsKKyAJCW1kcF9kaXNrX3QgKmRwOworIAkJY2hhciAqZHY7CistCQljaGFyIG5iWzExXTsKKysJCWNoYXIgbmJbMTJdOworIAkJaW50IHdvbmx5LCBmYWlsZmFzdDsKKyAJCWlmIChkPj0wKSBkcCA9ICZzYi0+ZGlza3NbZF07CisgCQllbHNlIGRwID0gJnNiLT50aGlzX2Rpc2s7CistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtaW5jbHVkZS1zeXMtc3lzbWFjcm9zLmgtZm9yLW1ham9yLW1pbm9yLWRlZmludGlvbnMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLWluY2x1ZGUtc3lzLXN5c21hY3Jvcy5oLWZvci1tYWpvci1taW5vci1kZWZpbnRpb25zLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhY2Q2NGFkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtaW5jbHVkZS1zeXMtc3lzbWFjcm9zLmgtZm9yLW1ham9yLW1pbm9yLWRlZmludGlvbnMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi1Gcm9tIDk0MzYxNmU1ZGZmYjc5ZjMwN2U0YmQ5YjI0OWQzMTYyMTI5OTg3NTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU3VuLCAxOCBEZWMgMjAxNiAwODozMDo1MSArMDAwMAotU3ViamVjdDogW1BBVENIXSBpbmNsdWRlIDxzeXMvc3lzbWFjcm9zLmg+IGZvciBtYWpvci9taW5vciBkZWZpbnRpb25zCi0KLWdsaWJjIDIuMjUgaXMgd2FybmluZyBhYm91dCBpdCBpZiBhcHBsaWNhdGlvbnMgZGVwZW5kIG9uCi1zeXMvdHlwZXMuaCBmb3IgdGhlc2UgbWFjcm9zLCBpdCBleHBlY3RzIHRvIGJlIGluY2x1ZGVkCi1mcm9tIDxzeXMvc3lzbWFjcm9zLmg+Ci0KLUZpeGVzCi18IEdyb3cuYzozNTM0OjEzOiBlcnJvcjogSW4gdGhlIEdOVSBDIExpYnJhcnksICJtaW5vciIgaXMgZGVmaW5lZAotfCAgYnkgPHN5cy9zeXNtYWNyb3MuaD4uIEZvciBoaXN0b3JpY2FsIGNvbXBhdGliaWxpdHksIGl0IGlzCi18ICBjdXJyZW50bHkgZGVmaW5lZCBieSA8c3lzL3R5cGVzLmg+IGFzIHdlbGwsIGJ1dCB3ZSBwbGFuIHRvCi18ICByZW1vdmUgdGhpcyBzb29uLiBUbyB1c2UgIm1pbm9yIiwgaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgotfCAgZGlyZWN0bHkuIElmIHlvdSBkaWQgbm90IGludGVuZCB0byB1c2UgYSBzeXN0ZW0tZGVmaW5lZCBtYWNybwotfCAgIm1pbm9yIiwgeW91IHNob3VsZCB1bmRlZmluZSBpdCBhZnRlciBpbmNsdWRpbmcgPHN5cy90eXBlcy5oPi4gWy1XZXJyb3JdCi18IFF1ZXJ5LmM6IEluIGZ1bmN0aW9uICdRdWVyeSc6Ci18IFF1ZXJ5LmM6MTA1OjEzOiBlcnJvcjogSW4gdGhlIEdOVSBDIExpYnJhcnksICJtYWtlZGV2IiBpcyBkZWZpbmVkCi18ICBieSA8c3lzL3N5c21hY3Jvcy5oPi4gRm9yIGhpc3RvcmljYWwgY29tcGF0aWJpbGl0eSwgaXQgaXMKLXwgIGN1cnJlbnRseSBkZWZpbmVkIGJ5IDxzeXMvdHlwZXMuaD4gYXMgd2VsbCwgYnV0IHdlIHBsYW4gdG8KLXwgIHJlbW92ZSB0aGlzIHNvb24uIFRvIHVzZSAibWFrZWRldiIsIGluY2x1ZGUgPHN5cy9zeXNtYWNyb3MuaD4KLXwgIGRpcmVjdGx5LiBJZiB5b3UgZGlkIG5vdCBpbnRlbmQgdG8gdXNlIGEgc3lzdGVtLWRlZmluZWQgbWFjcm8KLXwgICJtYWtlZGV2IiwgeW91IHNob3VsZCB1bmRlZmluZSBpdCBhZnRlciBpbmNsdWRpbmcgPHN5cy90eXBlcy5oPi4gWy1XZXJyb3JdCi18ICAgICAgICAgICBtYWtlZGV2KCh1bnNpZ25lZClkaXNjLm1ham9yLCh1bnNpZ25lZClkaXNjLm1pbm9yKSA9PSBzdGIuc3RfcmRldikKLXwgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotIG1kYWRtLmggfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL21kYWRtLmggYi9tZGFkbS5oCi1pbmRleCA4YzhmNGQxLi4zY2UxM2I1IDEwMDc1NQotLS0tIGEvbWRhZG0uaAotKysrIGIvbWRhZG0uaAotQEAgLTM0LDYgKzM0LDcgQEAgZXh0ZXJuIF9fb2ZmNjRfdCBsc2VlazY0IF9fUCAoKGludCBfX2ZkLCBfX29mZjY0X3QgX19vZmZzZXQsIGludCBfX3doZW5jZSkpOwotICNlbmRpZgotIAotICNpbmNsdWRlCTxzeXMvdHlwZXMuaD4KLSsjaW5jbHVkZQk8c3lzL3N5c21hY3Jvcy5oPgotICNpbmNsdWRlCTxzeXMvc3RhdC5oPgotICNpbmNsdWRlCTxzdGRpbnQuaD4KLSAjaW5jbHVkZQk8c3RkbGliLmg+Ci0tLSAKLTEuOS4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtbWRhZG0tQWRkLVdpbXBsaWNpdC1mYWxsdGhyb3VnaC0wLWluLU1ha2VmaWxlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS1tZGFkbS1BZGQtV2ltcGxpY2l0LWZhbGx0aHJvdWdoLTAtaW4tTWFrZWZpbGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNlMTUxNzAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS1tZGFkbS1BZGQtV2ltcGxpY2l0LWZhbGx0aHJvdWdoLTAtaW4tTWFrZWZpbGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi1Gcm9tIGFhMDlhZjBmZTJlYzA3MzdmYTA0ZmZkMDA5NTc1MzI2ODRlMjU3YjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBYaWFvIE5pIDx4bmlAcmVkaGF0LmNvbT4KLURhdGU6IEZyaSwgMTcgTWFyIDIwMTcgMTk6NTU6NDIgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCAxLzVdIG1kYWRtOiBBZGQgV2ltcGxpY2l0LWZhbGx0aHJvdWdoPTAgaW4gTWFrZWZpbGUKLQotVGhlcmUgYXJlIG1hbnkgZXJyb3JzIGxpa2UgJ2Vycm9yOiB0aGlzIHN0YXRlbWVudCBtYXkgZmFsbCB0aHJvdWdoJy4KLUJ1dCB0aGUgbG9naWMgaXMgcmlnaHQuIFNvIGFkZCB0aGUgZmxhZyBXaW1wbGljaXQtZmFsbHRocm91Z2g9MAotdG8gZGlzYWJsZSB0aGUgZXJyb3IgbWVzc2FnZXMuIFRoZSBtZXRob2QgSSB1c2UgaXMgZnJvbQotaHR0cHM6Ly9nY2MuZ251Lm9yZy9vbmxpbmVkb2NzL2djYy9XYXJuaW5nLU9wdGlvbnMuaHRtbAotI2luZGV4LVdpbXBsaWNpdC1mYWxsdGhyb3VnaC0zNzUKLQotU2lnbmVkLW9mZi1ieTogWGlhbyBOaSA8eG5pQHJlZGhhdC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBKZXMgU29yZW5zZW4gPEplcy5Tb3JlbnNlbkBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLSBNYWtlZmlsZSB8IDUgKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCi1pbmRleCAwZjMwN2VjLi5lMWE3MDU4IDEwMDY0NAotLS0tIGEvTWFrZWZpbGUKLSsrKyBiL01ha2VmaWxlCi1AQCAtNDgsNiArNDgsMTEgQEAgaWZkZWYgV0FSTl9VTlVTRUQKLSBDV0ZMQUdTICs9IC1XcCwtRF9GT1JUSUZZX1NPVVJDRT0yIC1PMwotIGVuZGlmCi0gCi0rRkFMTFRIUk9VR0ggOj0gJChzaGVsbCBnY2MgLXYgLS1oZWxwIDI+JjEgfCBncmVwICJpbXBsaWNpdC1mYWxsdGhyb3VnaCIgfCB3YyAtbCkKLStpZm5lcSAiJChGQUxMVEhST1VHSCkiICAiMCIKLStDV0ZMQUdTICs9IC1XaW1wbGljaXQtZmFsbHRocm91Z2g9MAotK2VuZGlmCi0rCi0gaWZkZWYgREVCSUFOCi0gQ1BQRkxBR1MgKz0gLURERUJJQU4KLSBlbmRpZgotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS1tZGFkbS1nY2M4LW1heWJlLXVuaW5pdGlhbGl6ZWQtZm9ybWF0LW92ZXJmbG93LXdhcm5pLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS1tZGFkbS1nY2M4LW1heWJlLXVuaW5pdGlhbGl6ZWQtZm9ybWF0LW92ZXJmbG93LXdhcm5pLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzN2Y4M2EKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLW1kYWRtLWdjYzgtbWF5YmUtdW5pbml0aWFsaXplZC1mb3JtYXQtb3ZlcmZsb3ctd2FybmkucGF0Y2gKQEAgLTAsMCArMSw2MCBAQAorRnJvbSBiZjQ1N2E4MzgzNDkzMmJhMDZkZTM1MjhiODc3OWEwMjNlNzNmYTdiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgMTIgTWFyIDIwMTkgMTY6MTc6MjkgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gbWRhZG06IGdjYzggbWF5YmUtdW5pbml0aWFsaXplZC9mb3JtYXQtb3ZlcmZsb3cgd2FybmluZworCit3aGlsZSBjb21waWxlZCB3aXRoIC1XZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZC8tV2Vycm9yPWZvcm1hdC1vdmVyZmxvdz0sCitpdCBmYWlsZWQKKworW3NuaXBdCit8IEluY3JlbWVudGFsLmM6IEluIGZ1bmN0aW9uICdJbmNyZW1lbnRhbF9jb250YWluZXInOgorfCBJbmNyZW1lbnRhbC5jOjE1OTM6MzogZXJyb3I6ICdtZGZkJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZF0KK3wgY2xvc2UobWRmZCk7Cit8IF5+fn5+fn5+fn5+CisKK1tzbmlwXQorc3VwZXItaW50ZWwuYzogSW4gZnVuY3Rpb24gJ2FwcGx5X3Rha2VvdmVyX3VwZGF0ZSc6Cit8IHN1cGVyLWludGVsLmM6OTYxNToxNTogZXJyb3I6ICclZCcgZGlyZWN0aXZlIHdyaXRpbmcgYmV0d2VlbiAxIGFuZCAxMSBieXRlcyBpbnRvIGEgcmVnaW9uIG9mIHNpemUgNyBbLVdlcnJvcj1mb3JtYXQtb3ZlcmZsb3c9XQorfCAiIE1JU1NJTkdfJWQiLCBkdS0+aW5kZXgpOworfCBefgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL25laWxicm93bi9tZGFkbS9wdWxsLzM2XQorCitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgSW5jcmVtZW50YWwuYyB8IDIgKy0KKyBzdXBlci1pbnRlbC5jIHwgNCArKy0tCisgMiBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9JbmNyZW1lbnRhbC5jIGIvSW5jcmVtZW50YWwuYworaW5kZXggYTRmZjdkNC4uYjY2Nzg2OCAxMDA2NDQKKy0tLSBhL0luY3JlbWVudGFsLmMKKysrKyBiL0luY3JlbWVudGFsLmMKK0BAIC0xNTAwLDcgKzE1MDAsNyBAQCBzdGF0aWMgaW50IEluY3JlbWVudGFsX2NvbnRhaW5lcihzdHJ1Y3Qgc3VwZXJ0eXBlICpzdCwgY2hhciAqZGV2bmFtZSwKKyAJCXJldHVybiAwOworIAl9CisgCWZvciAocmEgPSBsaXN0IDsgcmEgOyByYSA9IHJhLT5uZXh0KSB7CistCQlpbnQgbWRmZDsKKysJCWludCBtZGZkID0gMDsKKyAJCWNoYXIgY2hvc2VuX25hbWVbMTAyNF07CisgCQlzdHJ1Y3QgbWFwX2VudCAqbXA7CisgCQlzdHJ1Y3QgbWRkZXZfaWRlbnQgKm1hdGNoID0gTlVMTDsKK2RpZmYgLS1naXQgYS9zdXBlci1pbnRlbC5jIGIvc3VwZXItaW50ZWwuYworaW5kZXggMTBkNzIxOC4uYzM3NDFlYSAxMDA2NDQKKy0tLSBhL3N1cGVyLWludGVsLmMKKysrKyBiL3N1cGVyLWludGVsLmMKK0BAIC05NjEyLDkgKzk2MTIsOSBAQCBzdGF0aWMgaW50IGFwcGx5X3Rha2VvdmVyX3VwZGF0ZShzdHJ1Y3QgaW1zbV91cGRhdGVfdGFrZW92ZXIgKnUsCisgCQkJZHUtPm1ham9yID0gMDsKKyAJCQlkdS0+aW5kZXggPSAoaSAqIDIpICsgMTsKKyAJCQlzcHJpbnRmKChjaGFyICopZHUtPmRpc2suc2VyaWFsLAorLQkJCQkiIE1JU1NJTkdfJWQiLCBkdS0+aW5kZXgpOworKwkJCQkiIE1JU1NJTkdfJWh1IiwgZHUtPmluZGV4KTsKKyAJCQlzcHJpbnRmKChjaGFyICopZHUtPnNlcmlhbCwKKy0JCQkJIk1JU1NJTkdfJWQiLCBkdS0+aW5kZXgpOworKwkJCQkiTUlTU0lOR18laHUiLCBkdS0+aW5kZXgpOworIAkJCWR1LT5uZXh0ID0gc3VwZXItPm1pc3Npbmc7CisgCQkJc3VwZXItPm1pc3NpbmcgPSBkdTsKKyAJCX0KKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS1tZGFkbS5oLVVuZGVmaW5lLWRwcmludGYtYmVmb3JlLXJlZGVmaW5pbmcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLW1kYWRtLmgtVW5kZWZpbmUtZHByaW50Zi1iZWZvcmUtcmVkZWZpbmluZy5wYXRjaAppbmRleCA0Y2Y4MDkyLi5hMWU3ZTU5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLW1kYWRtLmgtVW5kZWZpbmUtZHByaW50Zi1iZWZvcmUtcmVkZWZpbmluZy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLW1kYWRtLmgtVW5kZWZpbmUtZHByaW50Zi1iZWZvcmUtcmVkZWZpbmluZy5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNmQzNjllOGYyMjY1OTQ2MzJjZTQyNjAxMjk1MDlkYWY3MDMwZGUwYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYjQzMWNiNGUxZWQwNjAxMjJmYTMwMGRjMDAwOGY3NDA4MGQzOGY3MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBNb24sIDkgTWF5IDIwMTYgMjI6MDM6NTcgKzAwMDAKIFN1YmplY3Q6IFtQQVRDSF0gbWRhZG0uaDogVW5kZWZpbmUgZHByaW50ZiBiZWZvcmUgcmVkZWZpbmluZwpAQCAtMTQsMTcgKzE0LDE2IEBACiAvbW50L29lL29wZW5lbWJlZGRlZC1jb3JlL2J1aWxkL3RtcC1nbGliYy9zeXNyb290cy9xZW11eDg2L3Vzci9pbmNsdWRlL2JpdHMvc3RkaW8yLmg6MTQ1OjEyOiBub3RlOiBwcmV2aW91cyBkZWZpbml0aW9uIGlzIGhlcmUKIAogU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KKy0tLQogIG1kYWRtLmggfCAyICsrCiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQogCiBkaWZmIC0tZ2l0IGEvbWRhZG0uaCBiL21kYWRtLmgKLWluZGV4IDIzMGU2MGYuLjhjOGY0ZDEgMTAwNzU1CitpbmRleCAzODdlNjgxLi5iYjk0M2JmIDEwMDY0NAogLS0tIGEvbWRhZG0uaAogKysrIGIvbWRhZG0uaAotQEAgLTE1NTQsMTEgKzE1NTQsMTMgQEAgc3RhdGljIGlubGluZSBjaGFyICp0b19zdWJhcnJheShzdHJ1Y3QgbWRzdGF0X2VudCAqZW50LCBjaGFyICpjb250YWluZXIpCitAQCAtMTY0OSwxMSArMTY0OSwxMyBAQCBzdGF0aWMgaW5saW5lIGNoYXIgKnRvX3N1YmFycmF5KHN0cnVjdCBtZHN0YXRfZW50ICplbnQsIGNoYXIgKmNvbnRhaW5lcikKICB9CiAgCiAgI2lmZGVmIERFQlVHCkBAIC0zOCw2ICszNywzIEBACiAgI2RlZmluZSBkcHJpbnRmKGZtdCwgYXJnLi4uKSBcCiAgICAgICAgICAoeyBpZiAoMCkgZnByaW50ZihzdGRlcnIsICIlczogJXM6ICIgZm10LCBOYW1lLCBfX2Z1bmNfXywgIyNhcmcpOyAwOyB9KQogICNkZWZpbmUgZHByaW50Zl9jb250KGZtdCwgYXJnLi4uKSBcCi0tLSAKLTEuOS4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtdXNlLW1lbW1vdmUtaW5zdGVhZC1vZi1tZW1jcHktb24tb3ZlcmxhcHBpbmctcmVnaW9uLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS11c2UtbWVtbW92ZS1pbnN0ZWFkLW9mLW1lbWNweS1vbi1vdmVybGFwcGluZy1yZWdpb24ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ0MzUxYjYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS11c2UtbWVtbW92ZS1pbnN0ZWFkLW9mLW1lbWNweS1vbi1vdmVybGFwcGluZy1yZWdpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi1Gcm9tIGFiMThmMDRjZjg5ZWY0ZTg1MjFjODFjNTA0NzdlMTM2M2IyZDMzM2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU2F0LCAyOCBBcHIgMjAxOCAwOTo0NjoxMiAtMDcwMAotU3ViamVjdDogW1BBVENIXSB1c2UgbWVtbW92ZSBpbnN0ZWFkIG9mIG1lbWNweSBvbiBvdmVybGFwcGluZyByZWdpb24KLQotRml4ZXMKLXN1cGVyMC5jOjUyNjozOiBlcnJvcjogJ21lbWNweScgYWNjZXNzaW5nIDM5MzYgYnl0ZXMgYXQgb2Zmc2V0cyAxNTYgYW5kIDE2MCBvdmVybGFwcyAzOTMyIGJ5dGVzIGF0IG9mZnNldCAxNjAgWy1XZXJyb3I9cmVzdHJpY3RdCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gc3VwZXIwLmMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zdXBlcjAuYyBiL3N1cGVyMC5jCi1pbmRleCBmNWI0NTA3Li4yNjRiNTk4IDEwMDY0NAotLS0tIGEvc3VwZXIwLmMKLSsrKyBiL3N1cGVyMC5jCi1AQCAtNTIzLDcgKzUyMyw3IEBAIHN0YXRpYyBpbnQgdXBkYXRlX3N1cGVyMChzdHJ1Y3Qgc3VwZXJ0eXBlICpzdCwgc3RydWN0IG1kaW5mbyAqaW5mbywKLSAJCSAqIHVwIDQgYnl0ZXMgYmVmb3JlIGNvbnRpbnVpbmcKLSAJCSAqLwotIAkJX191MzIgKnNiMzIgPSAoX191MzIqKXNiOwotLQkJbWVtY3B5KHNiMzIrTURfU0JfR0VORVJJQ19DT05TVEFOVF9XT1JEUys3LAotKwkJbWVtbW92ZShzYjMyK01EX1NCX0dFTkVSSUNfQ09OU1RBTlRfV09SRFMrNywKLSAJCSAgICAgICBzYjMyK01EX1NCX0dFTkVSSUNfQ09OU1RBTlRfV09SRFMrNysxLAotIAkJICAgICAgIChNRF9TQl9XT1JEUyAtIChNRF9TQl9HRU5FUklDX0NPTlNUQU5UX1dPUkRTKzcrMSkpKjQpOwotIAkJaWYgKHZlcmJvc2UgPj0gMCkKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDItbWRhZG0tU3BlY2lmeS1lbm91Z2gtbGVuZ3RoLXdoZW4td3JpdGUtdG8tYnVmZmVyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMi1tZGFkbS1TcGVjaWZ5LWVub3VnaC1sZW5ndGgtd2hlbi13cml0ZS10by1idWZmZXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNiY2UwNTMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMi1tZGFkbS1TcGVjaWZ5LWVub3VnaC1sZW5ndGgtd2hlbi13cml0ZS10by1idWZmZXIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3NSArMCwwIEBACi1Gcm9tIGJiNGRmMjczMDQxYmEyMDYwMDhiZGIwYWRhNzVjY2Q5N2MyOWY2MjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBYaWFvIE5pIDx4bmlAcmVkaGF0LmNvbT4KLURhdGU6IEZyaSwgMTcgTWFyIDIwMTcgMTk6NTU6NDMgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCAyLzVdIG1kYWRtOiBTcGVjaWZ5IGVub3VnaCBsZW5ndGggd2hlbiB3cml0ZSB0byBidWZmZXIKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotSW4gRGV0YWlsLmMgdGhlIGJ1ZmZlciBwYXRoIGluIGZ1bmN0aW9uIERldGFpbCBpcyBkZWZpbmVkIGFzIHBhdGhbMjAwXSwKLWluIGZhY3QgdGhlIG1heCBsZW50aCBvZiBjb250ZW50IHdoaWNoIG5lZWRzIHRvIHdyaXRlIHRvIHRoZSBidWZmZXIgaXMKLTI4Ny4gQmVjYXVzZSB0aGUgbGVuZ3RoIG9mIGRuYW1lIG9mIHN0cnVjdCBkaXJlbnQgaXMgMjU1LgotRHVyaW5nIGJ1aWxkaW5nIGl0IHJlcG9ydHMgZXJyb3I6Ci1lcnJvcjog4oCYJXPigJkgZGlyZWN0aXZlIHdyaXRpbmcgdXAgdG8gMjU1IGJ5dGVzIGludG8gYSByZWdpb24gb2Ygc2l6ZSAxODkKLVstV2Vycm9yPWZvcm1hdC1vdmVyZmxvdz1dCi0KLUluIGZ1bmN0aW9uIGV4YW1pbmVfc3VwZXIwIHRoZXJlIGlzIGEgYnVmZmVyIG5iIHdpdGggbGVuZ3RoIDUuCi1CdXQgaXQgbmVlZCB0byBzaG93IGEgaW50IHR5cGUgYXJndW1lbnQuIFRoZSBsZW5naHQgb2YgbWF4Ci1udW1iZXIgb2YgaW50IGlzIDEwLiBTbyB0aGUgYnVmZmVyIGxlbmd0aCBzaG91bGQgYmUgMTEuCi0KLUluIGh1bWFuX3NpemUgZnVuY3Rpb24gdGhlIGxlbmd0aCBvZiBidWYgaXMgMzAuIER1cmluZyBidWlsZGluZwotdGhlcmUgaXMgYSBlcnJvcjoKLW91dHB1dCBiZXR3ZWVuIDIwIGFuZCA0NyBieXRlcyBpbnRvIGEgZGVzdGluYXRpb24gb2Ygc2l6ZSAzMC4KLUNoYW5nZSB0aGUgbGVuZ3RoIHRvIDQ3LgotCi1TaWduZWQtb2ZmLWJ5OiBYaWFvIE5pIDx4bmlAcmVkaGF0LmNvbT4KLVNpZ25lZC1vZmYtYnk6IEplcyBTb3JlbnNlbiA8SmVzLlNvcmVuc2VuQGdtYWlsLmNvbT4KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotIERldGFpbC5jIHwgMiArLQotIHN1cGVyMC5jIHwgMiArLQotIHV0aWwuYyAgIHwgMiArLQotIDMgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvRGV0YWlsLmMgYi9EZXRhaWwuYwotaW5kZXggNTA5YjBkNC4uY2IzMzc5NCAxMDA2NDQKLS0tLSBhL0RldGFpbC5jCi0rKysgYi9EZXRhaWwuYwotQEAgLTU3NSw3ICs1NzUsNyBAQCBUaGlzIGlzIHByZXR0eSBib3JpbmcKLSAJCQlwcmludGYoIiAgTWVtYmVyIEFycmF5cyA6Iik7Ci0gCi0gCQkJd2hpbGUgKGRpciAmJiAoZGUgPSByZWFkZGlyKGRpcikpICE9IE5VTEwpIHsKLS0JCQkJY2hhciBwYXRoWzIwMF07Ci0rCQkJCWNoYXIgcGF0aFsyODddOwotIAkJCQljaGFyIHZidWZbMTAyNF07Ci0gCQkJCWludCBubGVuID0gc3RybGVuKHNyYS0+c3lzX25hbWUpOwotIAkJCQlkZXZfdCBkZXZpZDsKLWRpZmYgLS1naXQgYS9zdXBlcjAuYyBiL3N1cGVyMC5jCi1pbmRleCA5MzhjZmQ5Li5mNWI0NTA3IDEwMDY0NAotLS0tIGEvc3VwZXIwLmMKLSsrKyBiL3N1cGVyMC5jCi1AQCAtMjMxLDcgKzIzMSw3IEBAIHN0YXRpYyB2b2lkIGV4YW1pbmVfc3VwZXIwKHN0cnVjdCBzdXBlcnR5cGUgKnN0LCBjaGFyICpob21laG9zdCkKLSAJICAgICBkKyspIHsKLSAJCW1kcF9kaXNrX3QgKmRwOwotIAkJY2hhciAqZHY7Ci0tCQljaGFyIG5iWzVdOwotKwkJY2hhciBuYlsxMV07Ci0gCQlpbnQgd29ubHksIGZhaWxmYXN0OwotIAkJaWYgKGQ+PTApIGRwID0gJnNiLT5kaXNrc1tkXTsKLSAJCWVsc2UgZHAgPSAmc2ItPnRoaXNfZGlzazsKLWRpZmYgLS1naXQgYS91dGlsLmMgYi91dGlsLmMKLWluZGV4IGYxMDA5NzIuLjMyYmQ5MDkgMTAwNjQ0Ci0tLS0gYS91dGlsLmMKLSsrKyBiL3V0aWwuYwotQEAgLTgxMSw3ICs4MTEsNyBAQCB1bnNpZ25lZCBsb25nIGNhbGNfY3N1bSh2b2lkICpzdXBlciwgaW50IGJ5dGVzKQotICNpZm5kZWYgTURBU1NFTUJMRQotIGNoYXIgKmh1bWFuX3NpemUobG9uZyBsb25nIGJ5dGVzKQotIHsKLS0Jc3RhdGljIGNoYXIgYnVmWzMwXTsKLSsJc3RhdGljIGNoYXIgYnVmWzQ3XTsKLSAKLSAJLyogV2UgY29udmVydCBieXRlcyB0byBlaXRoZXIgY2VudGktTXtlZ2EsaWJpfWJ5dGVzIG9yCi0gCSAqIGNlbnRpLUd7aWdpLGliaX1ieXRlcywgd2l0aCBhcHByb3ByaWF0ZSByb3VuZGluZywKLS0tIAotMi4xMi4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDMtUmVwbGFjZS1zbnByaW50Zi13aXRoLXN0cm5jcHktYXQtc29tZS1wbGFjZXMtdG8tYXZvaS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDMtUmVwbGFjZS1zbnByaW50Zi13aXRoLXN0cm5jcHktYXQtc29tZS1wbGFjZXMtdG8tYXZvaS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGNlYzg0Zi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAzLVJlcGxhY2Utc25wcmludGYtd2l0aC1zdHJuY3B5LWF0LXNvbWUtcGxhY2VzLXRvLWF2b2kucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1OSArMCwwIEBACi1Gcm9tIGJjODdhZjEzMTQzMjViMDBjNmFjMDAyYTYwYTJiMGYwY2FhODFlMzQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBYaWFvIE5pIDx4bmlAcmVkaGF0LmNvbT4KLURhdGU6IFNhdCwgMTggTWFyIDIwMTcgMTA6MzM6NDQgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCAzLzVdIFJlcGxhY2Ugc25wcmludGYgd2l0aCBzdHJuY3B5IGF0IHNvbWUgcGxhY2VzIHRvIGF2b2lkCi0gdHJ1bmNhdGlvbgotCi1JbiBnY2M3IHRoZXJlIGFyZSBzb21lIGJ1aWxkaW5nIGVycm9ycyBsaWtlOgotZGlyZWN0aXZlIG91dHB1dCBtYXkgYmUgdHJ1bmNhdGVkIHdyaXRpbmcgdXAgdG8gMzEgYnl0ZXMgaW50byBhIHJlZ2lvbiBvZiBzaXplIDI0Ci1zbnByaW50ZihzdHIsIE1QQl9TSUdfTEVOLCAlcywgbXBiLT5zaWcpOwotCi1JdCBqdXN0IG5lZWQgdG8gY29weSBvbmUgc3RyaW5nIHRvIHRhcmdldC4gU28gdXNlIHN0cm5jcHkgdG8gcmVwbGFjZSBpdC4KLQotRm9yIHRoaXMgbGluZSBjb2RlOiBzbnByaW50ZihzdHIsIE1QQl9TSUdfTEVOLCAlcywgbXBiLT5zaWcpOwotQmVjYXVzZSBtcGItPnNpZyBoYXMgdGhlIGNvbnRlbnQgb2YgdmVyc2lvbiBhZnRlciBtYWdpYywgc28KLWl0J3MgYmV0dGVyIHRvIHVzZSBzdHJuY3B5IHRvIHJlcGxhY2Ugc25wcmludGYgdG9vLgotCi1TaWduZWQtb2ZmLWJ5OiBYaWFvIE5pIDx4bmlAcmVkaGF0LmNvbT4KLVNpZ25lZC1vZmYtYnk6IEplcyBTb3JlbnNlbiA8SmVzLlNvcmVuc2VuQGdtYWlsLmNvbT4KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotIHN1cGVyLWludGVsLmMgfCA5ICsrKysrKy0tLQotIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zdXBlci1pbnRlbC5jIGIvc3VwZXItaW50ZWwuYwotaW5kZXggNTdjN2U3NS4uNTQ5OTA5OCAxMDA2NDQKLS0tLSBhL3N1cGVyLWludGVsLmMKLSsrKyBiL3N1cGVyLWludGVsLmMKLUBAIC0xODExLDcgKzE4MTEsOCBAQCBzdGF0aWMgdm9pZCBleGFtaW5lX3N1cGVyX2ltc20oc3RydWN0IHN1cGVydHlwZSAqc3QsIGNoYXIgKmhvbWVob3N0KQotIAlfX3UzMiByZXNlcnZlZCA9IGltc21fcmVzZXJ2ZWRfc2VjdG9ycyhzdXBlciwgc3VwZXItPmRpc2tzKTsKLSAJc3RydWN0IGRsICpkbDsKLSAKLS0Jc25wcmludGYoc3RyLCBNUEJfU0lHX0xFTiwgIiVzIiwgbXBiLT5zaWcpOwotKwlzdHJuY3B5KHN0ciwgKGNoYXIgKiltcGItPnNpZywgTVBCX1NJR19MRU4pOwotKwlzdHJbTVBCX1NJR19MRU4tMV0gPSAnXDAnOwotIAlwcmludGYoIiAgICAgICAgICBNYWdpYyA6ICVzXG4iLCBzdHIpOwotIAlzbnByaW50ZihzdHIsIHN0cmxlbihNUEJfVkVSU0lPTl9SQUlEMCksICIlcyIsIGdldF9pbXNtX3ZlcnNpb24obXBiKSk7Ci0gCXByaW50ZigiICAgICAgICBWZXJzaW9uIDogJXNcbiIsIGdldF9pbXNtX3ZlcnNpb24obXBiKSk7Ci1AQCAtNzE0MiwxNCArNzE0MywxNiBAQCBzdGF0aWMgaW50IHVwZGF0ZV9zdWJhcnJheV9pbXNtKHN0cnVjdCBzdXBlcnR5cGUgKnN0LCBjaGFyICpzdWJhcnJheSwKLSAKLSAJCQl1LT50eXBlID0gdXBkYXRlX3JlbmFtZV9hcnJheTsKLSAJCQl1LT5kZXZfaWR4ID0gdm9sOwotLQkJCXNucHJpbnRmKChjaGFyICopIHUtPm5hbWUsIE1BWF9SQUlEX1NFUklBTF9MRU4sICIlcyIsIG5hbWUpOwotKwkJCXN0cm5jcHkoKGNoYXIgKikgdS0+bmFtZSwgbmFtZSwgTUFYX1JBSURfU0VSSUFMX0xFTik7Ci0rCQkJdS0+bmFtZVtNQVhfUkFJRF9TRVJJQUxfTEVOLTFdID0gJ1wwJzsKLSAJCQlhcHBlbmRfbWV0YWRhdGFfdXBkYXRlKHN0LCB1LCBzaXplb2YoKnUpKTsKLSAJCX0gZWxzZSB7Ci0gCQkJc3RydWN0IGltc21fZGV2ICpkZXY7Ci0gCQkJaW50IGk7Ci0gCi0gCQkJZGV2ID0gZ2V0X2ltc21fZGV2KHN1cGVyLCB2b2wpOwotLQkJCXNucHJpbnRmKChjaGFyICopIGRldi0+dm9sdW1lLCBNQVhfUkFJRF9TRVJJQUxfTEVOLCAiJXMiLCBuYW1lKTsKLSsJCQlzdHJuY3B5KChjaGFyICopIGRldi0+dm9sdW1lLCBuYW1lLCBNQVhfUkFJRF9TRVJJQUxfTEVOKTsKLSsJCQlkZXYtPnZvbHVtZVtNQVhfUkFJRF9TRVJJQUxfTEVOLTFdID0gJ1wwJzsKLSAJCQlmb3IgKGkgPSAwOyBpIDwgbXBiLT5udW1fcmFpZF9kZXZzOyBpKyspIHsKLSAJCQkJZGV2ID0gZ2V0X2ltc21fZGV2KHN1cGVyLCBpKTsKLSAJCQkJaGFuZGxlX21pc3Npbmcoc3VwZXIsIGRldik7Ci0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDA0LW1kYWRtLUZvcmNlZC10eXBlLWNvbnZlcnNpb24tdG8tYXZvaWQtdHJ1bmNhdGlvbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDQtbWRhZG0tRm9yY2VkLXR5cGUtY29udmVyc2lvbi10by1hdm9pZC10cnVuY2F0aW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NGZkZTQyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDQtbWRhZG0tRm9yY2VkLXR5cGUtY29udmVyc2lvbi10by1hdm9pZC10cnVuY2F0aW9uLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotRnJvbSA1ZGE4ODkwMzJlMmQ5OTc1MWVkOWZlNjAwMTYxNDZlOWFlODExNGNkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogWGlhbyBOaSA8eG5pQHJlZGhhdC5jb20+Ci1EYXRlOiBTYXQsIDE4IE1hciAyMDE3IDEwOjMzOjQ1ICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggNC81XSBtZGFkbTogRm9yY2VkIHR5cGUgY29udmVyc2lvbiB0byBhdm9pZCB0cnVuY2F0aW9uCi0KLUdjYyByZXBvcnRzIGl0IG5lZWRzIDE5IGJ5dGVzIHRvIHJpZ2h0IHRvIGRpc2stPnNlcmlhbC4gQmVjYXVzZSB0aGUKLXR5cGUgb2YgYXJndW1lbnQgaSBpcyBpbnQuIEJ1dCB0aGUgbWVhbmluZyBvZiBpIGlzIGZhaWxlZCBkaXNrCi1udW1iZXIuIFNvIGl0IGRvZXNuJ3QgbmVlZCB0byB1c2UgMTkgYnl0ZXMuICBKdXN0IGFkZCBhIHR5cGUKLWNvbnZlcnNpb24gdG8gYXZvaWQgdGhpcyBidWlsZGluZyBlcnJvcgotCi1TaWduZWQtb2ZmLWJ5OiBYaWFvIE5pIDx4bmlAcmVkaGF0LmNvbT4KLVNpZ25lZC1vZmYtYnk6IEplcyBTb3JlbnNlbiA8SmVzLlNvcmVuc2VuQGdtYWlsLmNvbT4KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotIHN1cGVyLWludGVsLmMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zdXBlci1pbnRlbC5jIGIvc3VwZXItaW50ZWwuYwotaW5kZXggNTQ5OTA5OC4uNGU0NjZmZiAxMDA2NDQKLS0tLSBhL3N1cGVyLWludGVsLmMKLSsrKyBiL3N1cGVyLWludGVsLmMKLUBAIC01MjI4LDcgKzUyMjgsNyBAQCBzdGF0aWMgaW50IGluaXRfc3VwZXJfaW1zbV92b2x1bWUoc3RydWN0IHN1cGVydHlwZSAqc3QsIG1kdV9hcnJheV9pbmZvX3QgKmluZm8sCi0gCQkJZGlzay0+c3RhdHVzID0gQ09ORklHVVJFRF9ESVNLIHwgRkFJTEVEX0RJU0s7Ci0gCQkJZGlzay0+c2NzaV9pZCA9IF9fY3B1X3RvX2xlMzIofihfX3UzMikwKTsKLSAJCQlzbnByaW50ZigoY2hhciAqKSBkaXNrLT5zZXJpYWwsIE1BWF9SQUlEX1NFUklBTF9MRU4sCi0tCQkJCSAibWlzc2luZzolZCIsIGkpOwotKwkJCQkgIm1pc3Npbmc6JWQiLCAoX191OClpKTsKLSAJCX0KLSAJCWZpbmRfbWlzc2luZyhzdXBlcik7Ci0gCX0gZWxzZSB7Ci0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDA1LUFkZC1hLWNvbW1lbnQtdG8taW5kaWNhdGUtdmFsaWQtZmFsbHRocm91Z2gucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDA1LUFkZC1hLWNvbW1lbnQtdG8taW5kaWNhdGUtdmFsaWQtZmFsbHRocm91Z2gucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNkOWQzYjkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwNS1BZGQtYS1jb21tZW50LXRvLWluZGljYXRlLXZhbGlkLWZhbGx0aHJvdWdoLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTI4ICswLDAgQEAKLUZyb20gMDkwMTQyMzNiZjEwOTAwZjdiZDgzOTBiM2I2NGZmODJiY2E0NTIyMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBXZWQsIDE5IEFwciAyMDE3IDEyOjA0OjE1IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggNS81XSBBZGQgYSBjb21tZW50IHRvIGluZGljYXRlIHZhbGlkIGZhbGx0aHJvdWdoCi0KLWdjYzcgd2FybnMgYWJvdXQgY29kZSB3aXRoIGZhbGx0aHJvdWdocywgdGhpcyBwYXRjaCBhZGRzCi10aGUgY29tbWVudCB0byBpbmRpY2F0ZSBhIHZhbGlkIGZhbGx0aHJvdWdoLCBoZWxwcyBnY2M3Ci1jb21waWxlciB3YXJuaW5ncwotCi1UaGlzIHdvcmtzIGluIGNyb3NzIGFuZCBuYXRpdmUgY29tcGlsYXRpb24gY2FzZQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZAotCi0gR3Jvdy5jICAgICAgICB8IDQgKysrKwotIGJpdG1hcC5jICAgICAgfCA4ICsrKysrKysrCi0gbWRhZG0uYyAgICAgICB8IDIgKysKLSBzdXBlci1pbnRlbC5jIHwgMSArCi0gdXRpbC5jICAgICAgICB8IDEgKwotIDUgZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvR3Jvdy5jIGIvR3Jvdy5jCi1pbmRleCA0NTVjNWY5Li4yN2M3M2IxIDEwMDc1NQotLS0tIGEvR3Jvdy5jCi0rKysgYi9Hcm93LmMKLUBAIC0xMjU3LDYgKzEyNTcsNyBAQCBjaGFyICphbmFseXNlX2NoYW5nZShjaGFyICpkZXZuYW1lLCBzdHJ1Y3QgbWRpbmZvICppbmZvLCBzdHJ1Y3QgcmVzaGFwZSAqcmUpCi0gCQlzd2l0Y2ggKGluZm8tPm5ld19sZXZlbCkgewotIAkJY2FzZSA0OgotIAkJCWRlbHRhX3Bhcml0eSA9IDE7Ci0rCQkJLyogZmFsbHRocm91Z2ggKi8KLSAJCWNhc2UgMDoKLSAJCQlyZS0+bGV2ZWwgPSA0OwotIAkJCXJlLT5iZWZvcmUubGF5b3V0ID0gMDsKLUBAIC0xMjg0LDEwICsxMjg1LDEyIEBAIGNoYXIgKmFuYWx5c2VfY2hhbmdlKGNoYXIgKmRldm5hbWUsIHN0cnVjdCBtZGluZm8gKmluZm8sIHN0cnVjdCByZXNoYXBlICpyZSkKLSAKLSAJY2FzZSA0OgotIAkJaW5mby0+YXJyYXkubGF5b3V0ID0gQUxHT1JJVEhNX1BBUklUWV9OOwotKwkJLyogZmFsbHRocm91Z2ggKi8KLSAJY2FzZSA1OgotIAkJc3dpdGNoIChpbmZvLT5uZXdfbGV2ZWwpIHsKLSAJCWNhc2UgMDoKLSAJCQlkZWx0YV9wYXJpdHkgPSAtMTsKLSsJCQkvKiBmYWxsdGhyb3VnaCAqLwotIAkJY2FzZSA0OgotIAkJCXJlLT5sZXZlbCA9IGluZm8tPmFycmF5LmxldmVsOwotIAkJCXJlLT5iZWZvcmUuZGF0YV9kaXNrcyA9IGluZm8tPmFycmF5LnJhaWRfZGlza3MgLSAxOwotQEAgLTEzNDMsNiArMTM0Niw3IEBAIGNoYXIgKmFuYWx5c2VfY2hhbmdlKGNoYXIgKmRldm5hbWUsIHN0cnVjdCBtZGluZm8gKmluZm8sIHN0cnVjdCByZXNoYXBlICpyZSkKLSAJCWNhc2UgNDoKLSAJCWNhc2UgNToKLSAJCQlkZWx0YV9wYXJpdHkgPSAtMTsKLSsJCQkvKiBmYWxsdGhyb3VnaCAqLwotIAkJY2FzZSA2OgotIAkJCXJlLT5sZXZlbCA9IDY7Ci0gCQkJcmUtPmJlZm9yZS5kYXRhX2Rpc2tzID0gaW5mby0+YXJyYXkucmFpZF9kaXNrcyAtIDI7Ci1kaWZmIC0tZ2l0IGEvYml0bWFwLmMgYi9iaXRtYXAuYwotaW5kZXggY2NlZGZkMy4uYTZmZjA5MSAxMDA2NDQKLS0tLSBhL2JpdG1hcC5jCi0rKysgYi9iaXRtYXAuYwotQEAgLTgyLDEzICs4MiwyMSBAQCBzdGF0aWMgaW5saW5lIGludCBjb3VudF9kaXJ0eV9iaXRzX2J5dGUoY2hhciBieXRlLCBpbnQgbnVtX2JpdHMpCi0gCi0gCXN3aXRjaCAobnVtX2JpdHMpIHsgLyogZmFsbCB0aHJvdWdoLi4uICovCi0gCQljYXNlIDg6CWlmIChieXRlICYgMTI4KSBudW0rKzsKLSsJCS8qIGZhbGx0aHJvdWdoICovCi0gCQljYXNlIDc6CWlmIChieXRlICYgIDY0KSBudW0rKzsKLSsJCS8qIGZhbGx0aHJvdWdoICovCi0gCQljYXNlIDY6CWlmIChieXRlICYgIDMyKSBudW0rKzsKLSsJCS8qIGZhbGx0aHJvdWdoICovCi0gCQljYXNlIDU6CWlmIChieXRlICYgIDE2KSBudW0rKzsKLSsJCS8qIGZhbGx0aHJvdWdoICovCi0gCQljYXNlIDQ6CWlmIChieXRlICYgICA4KSBudW0rKzsKLSsJCS8qIGZhbGx0aHJvdWdoICovCi0gCQljYXNlIDM6IGlmIChieXRlICYgICA0KSBudW0rKzsKLSsJCS8qIGZhbGx0aHJvdWdoICovCi0gCQljYXNlIDI6CWlmIChieXRlICYgICAyKSBudW0rKzsKLSsJCS8qIGZhbGx0aHJvdWdoICovCi0gCQljYXNlIDE6CWlmIChieXRlICYgICAxKSBudW0rKzsKLSsJCS8qIGZhbGx0aHJvdWdoICovCi0gCQlkZWZhdWx0OiBicmVhazsKLSAJfQotIAotZGlmZiAtLWdpdCBhL21kYWRtLmMgYi9tZGFkbS5jCi1pbmRleCBjM2EyNjViLi4yZDA2ZDNiIDEwMDY0NAotLS0tIGEvbWRhZG0uYwotKysrIGIvbWRhZG0uYwotQEAgLTE0OCw2ICsxNDgsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQotIAkJCSAgICBtb2RlID09IENSRUFURSB8fCBtb2RlID09IEdST1cgfHwKLSAJCQkgICAgbW9kZSA9PSBJTkNSRU1FTlRBTCB8fCBtb2RlID09IE1BTkFHRSkKLSAJCQkJYnJlYWs7IC8qIGIgbWVhbnMgYml0bWFwICovCi0rCQkvKiBmYWxsdGhyb3VnaCAqLwotIAkJY2FzZSBCcmllZjoKLSAJCQljLmJyaWVmID0gMTsKLSAJCQljb250aW51ZTsKLUBAIC04MjgsNiArODI5LDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKLSAKLSAJCWNhc2UgTyhJTkNSRU1FTlRBTCxOb0RlZ3JhZGVkKToKLSAJCQlwcl9lcnIoIi0tbm8tZGVncmFkZWQgaXMgZGVwcmVjYXRlZCBpbiBJbmNyZW1lbnRhbCBtb2RlXG4iKTsKLSsJCQkvKiBmYWxsdGhyb3VnaCAqLwotIAkJY2FzZSBPKEFTU0VNQkxFLE5vRGVncmFkZWQpOiAvKiAtLW5vLWRlZ3JhZGVkICovCi0gCQkJYy5ydW5zdG9wID0gLTE7IC8qIC0tc3RvcCBpc24ndCBhbGxvd2VkIGZvciAtLWFzc2VtYmxlLAotIAkJCQkJICogc28gd2Ugb3ZlcmxvYWQgc2xpZ2h0bHkgKi8KLWRpZmYgLS1naXQgYS9zdXBlci1pbnRlbC5jIGIvc3VwZXItaW50ZWwuYwotaW5kZXggNGU0NjZmZi4uMDBhMjkyNSAxMDA2NDQKLS0tLSBhL3N1cGVyLWludGVsLmMKLSsrKyBiL3N1cGVyLWludGVsLmMKLUBAIC0zMjcxLDYgKzMyNzEsNyBAQCBzdGF0aWMgdm9pZCBnZXRpbmZvX3N1cGVyX2ltc21fdm9sdW1lKHN0cnVjdCBzdXBlcnR5cGUgKnN0LCBzdHJ1Y3QgbWRpbmZvICppbmZvLAotIAkJCQkJCTw8IFNFQ1RfUEVSX01CX1NISUZUOwotIAkJCX0KLSAJCX0KLSsJCS8qIGZhbGx0aHJvdWdoICovCi0gCQljYXNlIE1JR1JfVkVSSUZZOgotIAkJCS8qIHdlIGNvdWxkIGVtdWxhdGUgdGhlIGNoZWNrcG9pbnRpbmcgb2YKLSAJCQkgKiAnc3luY19hY3Rpb249Y2hlY2snIG1pZ3JhdGlvbnMsIGJ1dCBmb3Igbm93Ci1kaWZmIC0tZ2l0IGEvdXRpbC5jIGIvdXRpbC5jCi1pbmRleCAzMmJkOTA5Li5mMmE0ZDE5IDEwMDY0NAotLS0tIGEvdXRpbC5jCi0rKysgYi91dGlsLmMKLUBAIC0zMzUsNiArMzM1LDcgQEAgdW5zaWduZWQgbG9uZyBsb25nIHBhcnNlX3NpemUoY2hhciAqc2l6ZSkKLSAJCXN3aXRjaCAoKmMpIHsKLSAJCWNhc2UgJ0snOgotIAkJCWMrKzsKLSsJCS8qIGZhbGx0aHJvdWdoICovCi0gCQlkZWZhdWx0OgotIAkJCXMgKj0gMjsKLSAJCQlicmVhazsKLS0tIAotMi4xMi4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzL2djYy00LjkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy9nY2MtNC45LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZjIxMzk5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzL2djYy00LjkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi1zdXBlci1pbnRlbC5jOjUwNjM6MjogZXJyb3I6IHJpZ2h0LWhhbmQgb3BlcmFuZCBvZiBjb21tYSBleHByZXNzaW9uIGhhcyBubyBlZmZlY3QgWy1XZXJyb3I9dW51c2VkLXZhbHVlXQotICBzbnByaW50ZigoY2hhciAqKSBzcGFyZS0+c2lnLCBNQVhfU0lHTkFUVVJFX0xFTkdUSCwKLSAgXgotY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKLW1ha2U6ICoqKiBbc3VwZXItaW50ZWwub10gRXJyb3IgMQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLUluZGV4OiBtZGFkbS00LjAvc3VwZXItaW50ZWwuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIG1kYWRtLTQuMC5vcmlnL3N1cGVyLWludGVsLmMKLSsrKyBtZGFkbS00LjAvc3VwZXItaW50ZWwuYwotQEAgLTU3MjUsNyArNTcyNSw3IEBAIHN0YXRpYyBpbnQgd3JpdGVfc3VwZXJfaW1zbV9zcGFyZXMoc3RydWMKLSAJc3BhcmUtPmNhY2hlX3NpemUgPSBtcGItPmNhY2hlX3NpemU7Ci0gCXNwYXJlLT5wd3JfY3ljbGVfY291bnQgPSBfX2NwdV90b19sZTMyKDEpOwotIAotLQlzbnByaW50ZigoY2hhciAqKSBzcGFyZS0+c2lnLCBNQVhfU0lHTkFUVVJFX0xFTkdUSCwKLSsJKHZvaWQpc25wcmludGYoKGNoYXIgKikgc3BhcmUtPnNpZywgTUFYX1NJR05BVFVSRV9MRU5HVEgsCi0gCQkgTVBCX1NJR05BVFVSRSBNUEJfVkVSU0lPTl9SQUlEMCk7Ci0gCi0gCWZvciAoZCA9IHN1cGVyLT5kaXNrczsgZDsgZCA9IGQtPm5leHQpIHsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzL21kYWRtLTMuMy4yX3gzMl9hYmlfdGltZV90LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvbWRhZG0tMy4zLjJfeDMyX2FiaV90aW1lX3QucGF0Y2gKaW5kZXggMDBlNjY1Ny4uN2EyYzg4OCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvbWRhZG0tMy4zLjJfeDMyX2FiaV90aW1lX3QucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvbWRhZG0tMy4zLjJfeDMyX2FiaV90aW1lX3QucGF0Y2gKQEAgLTEsMyArMSwxMSBAQAorRnJvbSBlMzdmN2Y2YTBmMWVmMWI1OTQ1NzRkMTFhOGI5MGI4Yzg2MWQwNDdiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuPUMzPUFEYmFsPTIwTGltPUMzPUIzbj89IDxhbmliYWwubGltb25AbGludXguaW50ZWwuY29tPgorRGF0ZTogU3VuLCAxNSBNYXIgMjAxNSAwOTowMjoxNCArMDAwMAorU3ViamVjdDogW1BBVENIXSBtZGFkbTogRml4IGJ1aWxkIGluIHgzMiBBQkkKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKwogV2hlbiB0cnkgdG8gcHJpbnQgdGltZV90IHZhbHVlcyBhcyBhIGxvbmcgaW50IGl0IGNhdXNlcyBhbiBlcnJvciBiZWNhdXNlIHRpbWVfdAogZGF0YSB0eXBlIGluIHgzMiBBQkkgaXMgbG9uZyBsb25nIGludC4KIApAQCAtNSwxMSArMTMsMTUgQEAKIAogU2lnbmVkLW9mZi1ieTogQW7DrWJhbCBMaW3Ds24gPGFuaWJhbC5saW1vbkBsaW51eC5pbnRlbC5jb20+CiAKLUluZGV4OiBtZGFkbS00LjAvbW9uaXRvci5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbWRhZG0tNC4wLm9yaWcvbW9uaXRvci5jCi0rKysgbWRhZG0tNC4wL21vbml0b3IuYwotQEAgLTQ0NSw5ICs0NDUsMTIgQEAgc3RhdGljIGludCByZWFkX2FuZF9hY3Qoc3RydWN0IGFjdGl2ZV9hcgorLS0tCisgbW9uaXRvci5jIHwgNSArKysrLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL21vbml0b3IuYyBiL21vbml0b3IuYworaW5kZXggODE1MzdlZC4uN2MzMzM4MiAxMDA2NDQKKy0tLSBhL21vbml0b3IuYworKysrIGIvbW9uaXRvci5jCitAQCAtNDQ1LDkgKzQ0NSwxMiBAQCBzdGF0aWMgaW50IHJlYWRfYW5kX2FjdChzdHJ1Y3QgYWN0aXZlX2FycmF5ICphLCBmZF9zZXQgKmZkcykKICAJCWlmIChGRF9JU1NFVChtZGktPmJiX2ZkLCBmZHMpKQogIAkJCWNoZWNrX2Zvcl9jbGVhcmVkX2JiKGEsIG1kaSk7CiAgCX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzL21kYWRtLWZpeC1wdGVzdC1idWlsZC1lcnJvcnMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy9tZGFkbS1maXgtcHRlc3QtYnVpbGQtZXJyb3JzLnBhdGNoCmluZGV4IDI2N2MwMDcuLjhlMmE4YTkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzL21kYWRtLWZpeC1wdGVzdC1idWlsZC1lcnJvcnMucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvbWRhZG0tZml4LXB0ZXN0LWJ1aWxkLWVycm9ycy5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gYzY1ODk4YjlkYTgyZGY5NGUxYmFlNzkzN2U0MTVhN2ViODAzNTVkNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gOTExZjZlYTliZTBjMzM0ODg1YWVmZjY2ODUzYjExMWNiZDQwNjZkZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206ICJNYXhpbiBCLiBKb2huIiA8bWF4aW4uam9obkBpbnRlbC5jb20+CiBEYXRlOiBXZWQsIDEwIEZlYiAyMDE2IDE3OjI4OjA1ICswMjAwCiBTdWJqZWN0OiBbUEFUQ0hdIG1kYWRtLWZpeC1wdGVzdC1idWlsZC1lcnJvcnMKQEAgLTE2LDE1ICsxNiwxNiBAQAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCiAKIFNpZ25lZC1vZmYtYnk6IE1heGluIEIuIEpvaG4gPG1heGluLmpvaG5AaW50ZWwuY29tPgorCiAtLS0KICByZXN0cmlwZS5jIHwgNiArKysrKy0KICAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9yZXN0cmlwZS5jIGIvcmVzdHJpcGUuYwotaW5kZXggNTZkY2E3My4uZDI0YjJiNCAxMDA2NDQKK2luZGV4IDMxYjA3ZTguLjU5MmJhNWQgMTAwNjQ0CiAtLS0gYS9yZXN0cmlwZS5jCiArKysgYi9yZXN0cmlwZS5jCi1AQCAtODQyLDEwICs4NDIsMTQgQEAgaW50IHRlc3Rfc3RyaXBlcyhpbnQgKnNvdXJjZSwgdW5zaWduZWQgbG9uZyBsb25nICpvZmZzZXRzLAorQEAgLTg2NCwxMCArODY0LDE0IEBAIGludCB0ZXN0X3N0cmlwZXMoaW50ICpzb3VyY2UsIHVuc2lnbmVkIGxvbmcgbG9uZyAqb2Zmc2V0cywKICAKICAJd2hpbGUgKGxlbmd0aCA+IDApIHsKICAJCWludCBkaXNrOwpAQCAtNDAsNiArNDEsMyBAQAogIAkJfQogIAkJZm9yIChpID0gMCA7IGkgPCBkYXRhX2Rpc2tzIDsgaSsrKSB7CiAgCQkJaW50IGRpc2sgPSBnZW9fbWFwKGksIHN0YXJ0L2NodW5rX3NpemUsIHJhaWRfZGlza3MsCi0tLSAKLTIuNC4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL21kYWRtXzQuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL21kYWRtXzQuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODE1NWFlNC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9tZGFkbV80LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw5MyArMCwwIEBACi1TVU1NQVJZID0gIlRvb2wgZm9yIG1hbmFnaW5nIHNvZnR3YXJlIFJBSUQgdW5kZXIgTGludXgiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3JhaWQvbWRhZG0vIgotCi0jIFNvbWUgZmlsZXMgYXJlIEdQTHYyKyB3aGlsZSBvdGhlcnMgYXJlIEdQTHYyLgotTElDRU5TRSA9ICJHUEx2MiAmIEdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL21kbW9uLmM7YmVnaW5saW5lPTQ7ZW5kbGluZT0xODttZDU9YWY3ZDg0NDRkOWM0ZDNlNWM3Y2FhYzBkOWQzNDAzOWQgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbWRhZG0uaDtiZWdsaW5sbmU9NDtlbmRsaW5lPTIyO21kNT00NjJiYzk5MzZhYzBkM2RhMTEwMTkxYTNmOTk5NDE2MSIKLQotCi1TUkNfVVJJID0gIiR7S0VSTkVMT1JHX01JUlJPUn0vbGludXgvdXRpbHMvcmFpZC9tZGFkbS8ke0JQTn0tJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovL2djYy00LjkucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbWRhZG0tMy4zLjJfeDMyX2FiaV90aW1lX3QucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbWRhZG0tZml4LXB0ZXN0LWJ1aWxkLWVycm9ycy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC10aGUtcGF0aC1vZi1jb3Jvc3luYy1hbmQtZGxtLWhlYWRlci1maWxlcy1jaGVjay5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1tZGFkbS5oLVVuZGVmaW5lLWRwcmludGYtYmVmb3JlLXJlZGVmaW5pbmcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1pbmNsdWRlLXN5cy1zeXNtYWNyb3MuaC1mb3ItbWFqb3ItbWlub3ItZGVmaW50aW9ucy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLW1kYWRtLUFkZC1XaW1wbGljaXQtZmFsbHRocm91Z2gtMC1pbi1NYWtlZmlsZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLW1kYWRtLVNwZWNpZnktZW5vdWdoLWxlbmd0aC13aGVuLXdyaXRlLXRvLWJ1ZmZlci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAzLVJlcGxhY2Utc25wcmludGYtd2l0aC1zdHJuY3B5LWF0LXNvbWUtcGxhY2VzLXRvLWF2b2kucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNC1tZGFkbS1Gb3JjZWQtdHlwZS1jb252ZXJzaW9uLXRvLWF2b2lkLXRydW5jYXRpb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNS1BZGQtYS1jb21tZW50LXRvLWluZGljYXRlLXZhbGlkLWZhbGx0aHJvdWdoLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtVXNlLUNDLXRvLWNoZWNrLWZvci1pbXBsaWNpdC1mYWxsdGhyb3VnaC13YXJuaW5nLXN1cC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXVzZS1tZW1tb3ZlLWluc3RlYWQtb2YtbWVtY3B5LW9uLW92ZXJsYXBwaW5nLXJlZ2lvbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLURpc2FibGUtZ2NjOC13YXJuaW5ncy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9tZGFkbS5pbml0IFwKLSAgICAgICAgICAgZmlsZTovL21kbW9uaXRvci5zZXJ2aWNlIFwKLSAgICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gIjJjYjRmZWZmZWE5MTY3YmE3MWI1ZjM0NmEwYzBhNDBkIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFkNmFlN2YyNGNlZDNhMGZhN2I1NjEzYjMyZjRhNTg5YmI0ODgxZTM5NDZhNWEyYzM3MjQwNTYyNTRhZGEzYTkiCi0KLUNGTEFHUyArPSAiLWZuby1zdHJpY3QtYWxpYXNpbmciCi1pbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgc3lzdGVtZAotCi1FWFRSQV9PRU1BS0UgPSAnQ0hFQ0tfUlVOX0RJUj0wIENYRkxBR1M9IiR7Q0ZMQUdTfSInCi0jIFBQQzY0IGFuZCBNSVBTNjQgdXNlcyBsb25nIGxvbmcgZm9yIHU2NCBpbiB0aGUga2VybmVsLCBidXQgcG93ZXJwYydzIGFzbS90eXBlcy5oCi0jIHByZXZlbnRzIDY0LWJpdCB1c2VybGFuZCBmcm9tIHNlZWluZyB0aGlzIGRlZmluaXRpb24sIGluc3RlYWQgZGVmYXVsdGluZwotIyB0byB1NjQgPT0gbG9uZyBpbiB1c2Vyc3BhY2UuIERlZmluZSBfX1NBTkVfVVNFUlNQQUNFX1RZUEVTX18gdG8gZ2V0Ci0jIGludC1sbDY0LmggaW5jbHVkZWQKLUNGTEFHU19hcHBlbmRfcG93ZXJwYzY0ID0gJyAtRF9fU0FORV9VU0VSU1BBQ0VfVFlQRVNfXycKLUNGTEFHU19hcHBlbmRfbWlwc2FyY2huNjQgPSAnIC1EX19TQU5FX1VTRVJTUEFDRV9UWVBFU19fJwotQ0ZMQUdTX2FwcGVuZF9taXBzYXJjaG4zMiA9ICcgLURfX1NBTkVfVVNFUlNQQUNFX1RZUEVTX18nCi0KLWRvX2NvbXBpbGUoKSB7Ci0JIyBQb2ludCB0byByaWdodCBzYmluZGlyCi0Jc2VkIC1pIC1lICJzO0JJTkRJUiAgPSAvc2JpbjtCSU5ESVIgPSAkYmFzZV9zYmluZGlyOyIgLWUgInM7VURFVkRJUiA9IC9saWI7VURFVkRJUiA9ICRub25hcmNoX2Jhc2VfbGliZGlyOyIgJHtTfS9NYWtlZmlsZQotCW9lX3J1bm1ha2UgU1lTUk9PVD0iJHtTVEFHSU5HX0RJUl9UQVJHRVR9IgotfQotCi1kb19pbnN0YWxsKCkgewotCWV4cG9ydCBTVFJJUD0iIgotCWF1dG90b29sc19kb19pbnN0YWxsCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9LwotICAgIGluc3RhbGwgLW0gNjQ0ICR7U30vbWRhZG0uY29uZi1leGFtcGxlICR7RH0ke3N5c2NvbmZkaXJ9L21kYWRtLmNvbmYKLSAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotICAgIGluc3RhbGwgLW0gNjQ0ICR7U30vc3lzdGVtZC9tZG1vbml0b3Iuc2VydmljZSAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLSAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQKLSAgICBpbnN0YWxsIC1tIDc1NSAke1dPUktESVJ9L21kYWRtLmluaXQgICAgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL21kbW9uaXRvcgotfQotCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAibWRtb25pdG9yLnNlcnZpY2UiCi1TWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCi0KLWRvX2NvbXBpbGVfcHRlc3QoKSB7Ci0Jb2VfcnVubWFrZSB0ZXN0Ci19Ci0KLWRvX2luc3RhbGxfcHRlc3QoKSB7Ci0JY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgLXYgJHtTfS90ZXN0cyAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cwotCWNwICR7U30vdGVzdCAke0R9JHtQVEVTVF9QQVRIfQotCXNlZCAtZSAncyFzbGVlcCAwLiohc2xlZXAgMSFnOyBzIS92YXIvdG1wIS8hZycgLWkgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdAotCWxuIC1zICR7YmFzZV9zYmluZGlyfS9tZGFkbSAke0R9JHtQVEVTVF9QQVRIfS9tZGFkbQotCWZvciBwcmcgaW4gdGVzdF9zdHJpcGUgc3dhcF9zdXBlciByYWlkNmNoZWNrCi0JZG8KLQkJaW5zdGFsbCAtRCAtbSA3NTUgJHByZyAke0R9JHtQVEVTVF9QQVRIfS8KLQlkb25lCi19Ci0KLVJERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICJiYXNoIgotUlJFQ09NTUVORFNfJHtQTn0tcHRlc3QgKz0gIiBcCi0gICAgY29yZXV0aWxzIFwKLSAgICB1dGlsLWxpbnV4IFwKLSAgICBrZXJuZWwtbW9kdWxlLWxvb3AgXAotICAgIGtlcm5lbC1tb2R1bGUtbGluZWFyIFwKLSAgICBrZXJuZWwtbW9kdWxlLXJhaWQwIFwKLSAgICBrZXJuZWwtbW9kdWxlLXJhaWQxIFwKLSAgICBrZXJuZWwtbW9kdWxlLXJhaWQxMCBcCi0gICAga2VybmVsLW1vZHVsZS1yYWlkNDU2IFwKLSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL21kYWRtXzQuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL21kYWRtXzQuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ODYyYTM4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vbWRhZG1fNC4xLmJiCkBAIC0wLDAgKzEsOTIgQEAKK1NVTU1BUlkgPSAiVG9vbCBmb3IgbWFuYWdpbmcgc29mdHdhcmUgUkFJRCB1bmRlciBMaW51eCIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvcmFpZC9tZGFkbS8iCisKKyMgU29tZSBmaWxlcyBhcmUgR1BMdjIrIHdoaWxlIG90aGVycyBhcmUgR1BMdjIuCitMSUNFTlNFID0gIkdQTHYyICYgR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbWRtb24uYztiZWdpbmxpbmU9NDtlbmRsaW5lPTE4O21kNT1hZjdkODQ0NGQ5YzRkM2U1YzdjYWFjMGQ5ZDM0MDM5ZCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9tZGFkbS5oO2JlZ2xpbmxuZT00O2VuZGxpbmU9MjI7bWQ1PTQ2MmJjOTkzNmFjMGQzZGExMTAxOTFhM2Y5OTk0MTYxIgorCisKK1NSQ19VUkkgPSAiJHtLRVJORUxPUkdfTUlSUk9SfS9saW51eC91dGlscy9yYWlkL21kYWRtLyR7QlBOfS0ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAgZmlsZTovL21kYWRtLTMuMy4yX3gzMl9hYmlfdGltZV90LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL21kYWRtLWZpeC1wdGVzdC1idWlsZC1lcnJvcnMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1tZGFkbS5oLVVuZGVmaW5lLWRwcmludGYtYmVmb3JlLXJlZGVmaW5pbmcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtdGhlLXBhdGgtb2YtY29yb3N5bmMtYW5kLWRsbS1oZWFkZXItZmlsZXMtY2hlY2sucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Vc2UtQ0MtdG8tY2hlY2stZm9yLWltcGxpY2l0LWZhbGx0aHJvdWdoLXdhcm5pbmctc3VwLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtQ29tcHV0ZS1hYnMtZGlmZi1pbi1hLXN0YW5kYXJkLWNvbXBsaWFudC13YXkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1maXgtZ2NjLTgtZm9ybWF0LXRydW5jYXRpb24td2FybmluZy5wYXRjaCBcCisJICAgZmlsZTovL21kYWRtLmluaXQgXAorCSAgIGZpbGU6Ly9tZG1vbml0b3Iuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW1kYWRtLWdjYzgtbWF5YmUtdW5pbml0aWFsaXplZC1mb3JtYXQtb3ZlcmZsb3ctd2FybmkucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiNTFiZjM2NTFiZDczYTA2YzQxM2EyZjk2NGYyOTk1OTgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWI3Njg4ODQyOTA4ZDM1ODNhNzA0ZDQ5MTk1NmYzMTMyNGMzYTVmYzlmNmEwNDY1M2NiNzVkMTlmMTkzNGY0YSIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHB0ZXN0IHN5c3RlbWQKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIm1kbW9uaXRvci5zZXJ2aWNlIG1kbW9uQC5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorCitDRkxBR1NfYXBwZW5kX3Rvb2xjaGFpbi1jbGFuZyA9ICIgLVduby1lcnJvcj1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiCisKKyMgUFBDNjQgYW5kIE1JUFM2NCB1c2VzIGxvbmcgbG9uZyBmb3IgdTY0IGluIHRoZSBrZXJuZWwsIGJ1dCBwb3dlcnBjJ3MgYXNtL3R5cGVzLmgKKyMgcHJldmVudHMgNjQtYml0IHVzZXJsYW5kIGZyb20gc2VlaW5nIHRoaXMgZGVmaW5pdGlvbiwgaW5zdGVhZCBkZWZhdWx0aW5nCisjIHRvIHU2NCA9PSBsb25nIGluIHVzZXJzcGFjZS4gRGVmaW5lIF9fU0FORV9VU0VSU1BBQ0VfVFlQRVNfXyB0byBnZXQKKyMgaW50LWxsNjQuaCBpbmNsdWRlZAorQ0ZMQUdTX2FwcGVuZF9wb3dlcnBjNjQgPSAnIC1EX19TQU5FX1VTRVJTUEFDRV9UWVBFU19fJworQ0ZMQUdTX2FwcGVuZF9taXBzYXJjaG42NCA9ICcgLURfX1NBTkVfVVNFUlNQQUNFX1RZUEVTX18nCitDRkxBR1NfYXBwZW5kX21pcHNhcmNobjMyID0gJyAtRF9fU0FORV9VU0VSU1BBQ0VfVFlQRVNfXycKKworRVhUUkFfT0VNQUtFID0gJ0NIRUNLX1JVTl9ESVI9MCBDWEZMQUdTPSIke0NGTEFHU30iJworCitERUJVR19PUFRJTUlaQVRJT05fYXBwZW5kID0gIiAtV25vLWVycm9yIgorCitkb19jb21waWxlKCkgeworCSMgUG9pbnQgdG8gcmlnaHQgc2JpbmRpcgorCXNlZCAtaSAtZSAicztCSU5ESVIgID0gL3NiaW47QklORElSID0gJGJhc2Vfc2JpbmRpcjsiIC1lICJzO1VERVZESVIgPSAvbGliO1VERVZESVIgPSAkbm9uYXJjaF9iYXNlX2xpYmRpcjsiICR7U30vTWFrZWZpbGUKKwlvZV9ydW5tYWtlIFNZU1JPT1Q9IiR7U1RBR0lOR19ESVJfVEFSR0VUfSIKK30KKworZG9faW5zdGFsbCgpIHsKKwlleHBvcnQgU1RSSVA9IiIKKwlhdXRvdG9vbHNfZG9faW5zdGFsbAorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vCisgICAgICAgIGluc3RhbGwgLW0gNjQ0ICR7U30vbWRhZG0uY29uZi1leGFtcGxlICR7RH0ke3N5c2NvbmZkaXJ9L21kYWRtLmNvbmYKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICAgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9tZG1vbml0b3Iuc2VydmljZSAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICAgICAgaW5zdGFsbCAtbSA2NDQgJHtTfS9zeXN0ZW1kL21kbW9uQC5zZXJ2aWNlICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICAgICAgaW5zdGFsbCAtbSA3NTUgJHtXT1JLRElSfS9tZGFkbS5pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9tZG1vbml0b3IKK30KKworZG9fY29tcGlsZV9wdGVzdCgpIHsKKwlvZV9ydW5tYWtlIHRlc3QKK30KKworZG9faW5zdGFsbF9wdGVzdCgpIHsKKwljcCAtUiAtLW5vLWRlcmVmZXJlbmNlIC0tcHJlc2VydmU9bW9kZSxsaW5rcyAtdiAke1N9L3Rlc3RzICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzCisJY3AgJHtTfS90ZXN0ICR7RH0ke1BURVNUX1BBVEh9CisJc2VkIC1lICdzIXNsZWVwIDAuKiFzbGVlcCAxIWc7IHMhL3Zhci90bXAhLyFnJyAtaSAke0R9JHtQVEVTVF9QQVRIfS90ZXN0CisJbG4gLXMgJHtiYXNlX3NiaW5kaXJ9L21kYWRtICR7RH0ke1BURVNUX1BBVEh9L21kYWRtCisJZm9yIHByZyBpbiB0ZXN0X3N0cmlwZSBzd2FwX3N1cGVyIHJhaWQ2Y2hlY2sKKwlkbworCQlpbnN0YWxsIC1EIC1tIDc1NSAkcHJnICR7RH0ke1BURVNUX1BBVEh9LworCWRvbmUKK30KKworUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gImJhc2giCitSUkVDT01NRU5EU18ke1BOfS1wdGVzdCArPSAiIFwKKyAgICBjb3JldXRpbHMgXAorICAgIHV0aWwtbGludXggXAorICAgIGtlcm5lbC1tb2R1bGUtbG9vcCBcCisgICAga2VybmVsLW1vZHVsZS1saW5lYXIgXAorICAgIGtlcm5lbC1tb2R1bGUtcmFpZDAgXAorICAgIGtlcm5lbC1tb2R1bGUtcmFpZDEgXAorICAgIGtlcm5lbC1tb2R1bGUtcmFpZDEwIFwKKyAgICBrZXJuZWwtbW9kdWxlLXJhaWQ0NTYgXAorIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtY29yZS1iYXNlLXV0aWxzLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtY29yZS1iYXNlLXV0aWxzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxMWUwY2EKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1jb3JlLWJhc2UtdXRpbHMuYmIKQEAgLTAsMCArMSw1NyBAQAorIworIyBDb3B5cmlnaHQgKEMpIDIwMTkgS29uc3Vsa28gR3JvdXAKKyMKKworU1VNTUFSWSA9ICJGdWxsLWZlYXR1cmVkIHNldCBvZiBiYXNlIHV0aWxzIgorREVTQ1JJUFRJT04gPSAiUGFja2FnZSBncm91cCBicmluZ2luZyBpbiBwYWNrYWdlcyBuZWVkZWQgdG8gcHJvdmlkZSBtdWNoIG9mIHRoZSBiYXNlIHV0aWxzIHR5cGUgZnVuY3Rpb25hbGl0eSBmb3VuZCBpbiBidXN5Ym94IgorCitpbmhlcml0IHBhY2thZ2Vncm91cAorCitWSVJUVUFMLVJVTlRJTUVfdmltID89ICJ2aW0tdGlueSIKKworUkRFUEVORFNfJHtQTn0gPSAiXAorICAgIGJhc2UtcGFzc3dkIFwKKyAgICBiYXNoIFwKKyAgICBiaW5kLXV0aWxzIFwKKyAgICBiemlwMiBcCisgICAgY29yZXV0aWxzIFwKKyAgICBjcGlvIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgInN5c3RlbWQiLCAiIiwgImRlYmlhbnV0aWxzLXJ1bi1wYXJ0cyIsIGQpfSBcCisgICAgZGhjcC1jbGllbnQgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAic3lzdGVtZCIsICIiLCAiZGhjcC1zZXJ2ZXIiLCBkKX0gXAorICAgIGRpZmZ1dGlscyBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJzeXN0ZW1kIiwgIiIsICJkcGtnLXN0YXJ0LXN0b3AiLCBkKX0gXAorICAgIGUyZnNwcm9ncyBcCisgICAgZWQgXAorICAgIGZpbGUgXAorICAgIGZpbmR1dGlscyBcCisgICAgZ2F3ayBcCisgICAgZ3JlcCBcCisgICAgZ3ppcCBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJzeXN0ZW1kIiwgIiIsICJpZnVwZG93biIsIGQpfSBcCisgICAgaW5ldHV0aWxzIFwKKyAgICBpbmV0dXRpbHMtcGluZyBcCisgICAgaW5ldHV0aWxzLXRlbG5ldCBcCisgICAgaW5ldHV0aWxzLXRmdHAgXAorICAgIGluZXR1dGlscy10cmFjZXJvdXRlIFwKKyAgICBpcHJvdXRlMiBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIk1BQ0hJTkVfRkVBVFVSRVMiLCAia2V5Ym9hcmQiLCAia2JkIiwgIiIsIGQpfSBcCisgICAga21vZCBcCisgICAgbGVzcyBcCisgICAgbmN1cnNlcy10b29scyBcCisgICAgbmV0LXRvb2xzIFwKKyAgICBwYXJ0ZWQgXAorICAgIHBhdGNoIFwKKyAgICBwcm9jcHMgXAorICAgIHBzbWlzYyBcCisgICAgc2VkIFwKKyAgICBzaGFkb3ctYmFzZSBcCisgICAgdGFyIFwKKyAgICB0aW1lIFwKKyAgICB1bnppcCBcCisgICAgdXRpbC1saW51eCBcCisgICAgJHtWSVJUVUFMLVJVTlRJTUVfdmltfSBcCisgICAgd2dldCBcCisgICAgd2hpY2ggXAorICAgIHh6IFwKKyAgICAiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wYW0vbGlicGFtXzEuMy4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcGFtL2xpYnBhbV8xLjMuMC5iYgppbmRleCBjYzEyNDEwLi5jMTI0ZTNiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wYW0vbGlicGFtXzEuMy4wLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BhbS9saWJwYW1fMS4zLjAuYmIKQEAgLTEyMiw3ICsxMjIsNyBAQAogICAgIHBhbV9maWx0ZXJkaXIgPSBkLmV4cGFuZCgnJHtiYXNlX2xpYmRpcn0vc2VjdXJpdHkvcGFtX2ZpbHRlcicpCiAgICAgcGFtX3BrZ25hbWUgPSBtbHByZWZpeCArICdwYW0tcGx1Z2luJXMnCiAKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwYW1fbGliZGlyLCAnXnBhbSguKilcLnNvJCcsIHBhbV9wa2duYW1lLAorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHBhbV9saWJkaXIsIHInXnBhbSguKilcLnNvJCcsIHBhbV9wa2duYW1lLAogICAgICAgICAgICAgICAgICAgICAgICdQQU0gcGx1Z2luIGZvciAlcycsIGhvb2s9cGFtX3BsdWdpbl9ob29rLCBleHRyYV9kZXBlbmRzPScnKQogICAgIHBhbV9wbHVnaW5fYXBwZW5kX2ZpbGUoJyVzcGFtLXBsdWdpbi11bml4JyAlIG1scHJlZml4LCBwYW1fc2JpbmRpciwgJ3VuaXhfY2hrcHdkJykKICAgICBwYW1fcGx1Z2luX2FwcGVuZF9maWxlKCclc3BhbS1wbHVnaW4tdW5peCcgJSBtbHByZWZpeCwgcGFtX3NiaW5kaXIsICd1bml4X3VwZGF0ZScpCkBAIC0xMzEsNyArMTMxLDcgQEAKICAgICBwYW1fcGx1Z2luX2FwcGVuZF9maWxlKCclc3BhbS1wbHVnaW4tdGltZXN0YW1wJyAlIG1scHJlZml4LCBwYW1fc2JpbmRpciwgJ3BhbV90aW1lc3RhbXBfY2hlY2snKQogICAgIHBhbV9wbHVnaW5fYXBwZW5kX2ZpbGUoJyVzcGFtLXBsdWdpbi1ta2hvbWVkaXInICUgbWxwcmVmaXgsIHBhbV9zYmluZGlyLCAnbWtob21lZGlyX2hlbHBlcicpCiAgICAgcGFtX3BsdWdpbl9hcHBlbmRfZmlsZSgnJXNwYW0tcGx1Z2luLWNvbnNvbGUnICUgbWxwcmVmaXgsIHBhbV9zYmluZGlyLCAncGFtX2NvbnNvbGVfYXBwbHknKQotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHBhbV9maWx0ZXJkaXIsICdeKC4qKSQnLCAncGFtLWZpbHRlci0lcycsICdQQU0gZmlsdGVyIGZvciAlcycsIGV4dHJhX2RlcGVuZHM9JycpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcGFtX2ZpbHRlcmRpciwgcideKC4qKSQnLCAncGFtLWZpbHRlci0lcycsICdQQU0gZmlsdGVyIGZvciAlcycsIGV4dHJhX2RlcGVuZHM9JycpCiB9CiAKIGRvX2luc3RhbGwoKSB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wZXJsL2xpYnhtbC1uYW1lc3BhY2VzdXBwb3J0LXBlcmxfMS4xMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BlcmwvbGlieG1sLW5hbWVzcGFjZXN1cHBvcnQtcGVybF8xLjEyLmJiCmluZGV4IGZhOWY5OTUuLjU3YzQwN2UgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BlcmwvbGlieG1sLW5hbWVzcGFjZXN1cHBvcnQtcGVybF8xLjEyLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BlcmwvbGlieG1sLW5hbWVzcGFjZXN1cHBvcnQtcGVybF8xLjEyLmJiCkBAIC0yMyw1ICsyMyw1IEBACiAKIFJERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICJwZXJsLW1vZHVsZS10ZXN0LW1vcmUiCiAKLUJCQ0xBU1NFWFRFTkQ9Im5hdGl2ZSIKK0JCQ0xBU1NFWFRFTkQ9Im5hdGl2ZSBuYXRpdmVzZGsiCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BlcmwvbGlieG1sLXNheC1iYXNlLXBlcmxfMS4wOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BlcmwvbGlieG1sLXNheC1iYXNlLXBlcmxfMS4wOS5iYgppbmRleCBiM2UwMWU5Li4zNzNiNTIyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wZXJsL2xpYnhtbC1zYXgtYmFzZS1wZXJsXzEuMDkuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcGVybC9saWJ4bWwtc2F4LWJhc2UtcGVybF8xLjA5LmJiCkBAIC0yMSw0ICsyMSw0IEBACiAKIGluaGVyaXQgY3BhbiBwdGVzdC1wZXJsCiAKLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcGVybC9saWJ4bWwtc2F4LXBlcmxfMS4wMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BlcmwvbGlieG1sLXNheC1wZXJsXzEuMDAuYmIKaW5kZXggMTQxODMwZS4uZWNjZDBhZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcGVybC9saWJ4bWwtc2F4LXBlcmxfMS4wMC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wZXJsL2xpYnhtbC1zYXgtcGVybF8xLjAwLmJiCkBAIC0yOSw0ICsyOSw0IEBACiAJY2hvd24gLVIgcm9vdDpyb290ICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RmaWxlcwogfQogCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BzbWlzYy9wc21pc2MvMDAwMS1Vc2UtVUlOVFBUUl9NQVgtaW5zdGVhZC1vZi1fX1dPUkRTSVpFLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcHNtaXNjL3BzbWlzYy8wMDAxLVVzZS1VSU5UUFRSX01BWC1pbnN0ZWFkLW9mLV9fV09SRFNJWkUucGF0Y2gKaW5kZXggYjU3YTAwNi4uY2ExM2JkYiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcHNtaXNjL3BzbWlzYy8wMDAxLVVzZS1VSU5UUFRSX01BWC1pbnN0ZWFkLW9mLV9fV09SRFNJWkUucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcHNtaXNjL3BzbWlzYy8wMDAxLVVzZS1VSU5UUFRSX01BWC1pbnN0ZWFkLW9mLV9fV09SRFNJWkUucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDVkYzg3MmJiMmZiYTY0MjFjYjhlMWVlNTc4ZjdiZDRhYWVkNTVmNjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDExNWZjZjFkYWZmMThhYTJmMmUxMzBkNjM3MDRmMDQwMzE4NzhkYjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogVGh1LCAyNCBNYXIgMjAxNiAxNTo0NjoxNCArMDAwMAogU3ViamVjdDogW1BBVENIXSBVc2UgVUlOVFBUUl9NQVggaW5zdGVhZCBvZiBfX1dPUkRTSVpFCkBAIC03LDE0ICs3LDEzIEBACiBwdF9yZWdzIHN0cnVjdCBmcm9tIGtlcm5lbCBBUElzIGluIGFzbS9wdHJhY2UuaAogCiBTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQorLS0tCiAgc3JjL3BlZWtmZC5jIHwgMTMgKysrKysrKystLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9zcmMvcGVla2ZkLmMgYi9zcmMvcGVla2ZkLmMKLWluZGV4IGNiYTIxMzAuLjBkMzk4NzggMTAwNjQ0CitpbmRleCA1YWE5OTBhLi43ZThlM2ZjIDEwMDY0NAogLS0tIGEvc3JjL3BlZWtmZC5jCiArKysgYi9zcmMvcGVla2ZkLmMKIEBAIC0zMCw4ICszMCwxMSBAQApAQCAtMjgsOCArMjcsOCBAQAogKyNpbmNsdWRlIDxzdGRpbnQuaD4KICAjaW5jbHVkZSA8Z2V0b3B0Lmg+CiAgI2luY2x1ZGUgPGN0eXBlLmg+Ci0gCi1AQCAtMjI4LDExICsyMzEsMTEgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorICNpbmNsdWRlIDxkaXJlbnQuaD4KK0BAIC0yNjYsMTEgKzI2OSwxMSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgCQlpZiAoV0lGU1RPUFBFRChzdGF0dXMpKSB7CiAgI2lmZGVmIFBQQwogIAkJCXN0cnVjdCBwdF9yZWdzIHJlZ3M7CkBAIC00Niw2ICs0NSwzIEBACiAgI2VsaWYgZGVmaW5lZChBUk0pCiAgCQkJc3RydWN0IHB0X3JlZ3MgcmVnczsKICAJCQlwdHJhY2UoUFRSQUNFX0dFVFJFR1MsIHBpZCwgMCwgJnJlZ3MpOwotLS0gCi0xLjkuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wc21pc2MvcHNtaXNjXzIzLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wc21pc2MvcHNtaXNjXzIzLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYwN2M5ZGIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcHNtaXNjL3BzbWlzY18yMy4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotcmVxdWlyZSBwc21pc2MuaW5jCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDYzNmU3M2ZmMDIxNWU4ZDY3MmRjNGMzMmMzMTdiYjMiCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0bGFiLmNvbS9wc21pc2MvcHNtaXNjLmdpdDtwcm90b2NvbD1odHRwcyBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLVVzZS1VSU5UUFRSX01BWC1pbnN0ZWFkLW9mLV9fV09SRFNJWkUucGF0Y2ggXAotCSAgIGZpbGU6Ly8wMDAxLU1ha2VmaWxlLmFtLWNyZWF0ZS1zcmMtZGlyZWN0b3J5LWJlZm9yZS1hdHRlbXB0aW5nLXQucGF0Y2jCoFwKLSAgICAgICAgICAgIgotU1JDUkVWID0gImJkOTUyYjMwNjNmMjQ2NmVjYWI0ZWMwOTMwMjZjZjBjNGNlMzczYzciCi1TID0gIiR7V09SS0RJUn0vZ2l0IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcHNtaXNjL3BzbWlzY18yMy4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcHNtaXNjL3BzbWlzY18yMy4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4ZTBhNDQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wc21pc2MvcHNtaXNjXzIzLjIuYmIKQEAgLTAsMCArMSwxMCBAQAorcmVxdWlyZSBwc21pc2MuaW5jCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDYzNmU3M2ZmMDIxNWU4ZDY3MmRjNGMzMmMzMTdiYjMiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0bGFiLmNvbS9wc21pc2MvcHNtaXNjLmdpdDtwcm90b2NvbD1odHRwcyBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVVzZS1VSU5UUFRSX01BWC1pbnN0ZWFkLW9mLV9fV09SRFNJWkUucGF0Y2ggXAorCSAgIGZpbGU6Ly8wMDAxLU1ha2VmaWxlLmFtLWNyZWF0ZS1zcmMtZGlyZWN0b3J5LWJlZm9yZS1hdHRlbXB0aW5nLXQucGF0Y2jCoFwKKyAgICAgICAgICAgIgorU1JDUkVWID0gIjQ0ZWFiOWEzYTYzMzk0ZWFlNmI3OWE3ZWYwYTA0MmY1N2UwYzhhOGYiCitTID0gIiR7V09SS0RJUn0vZ2l0IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcnBjYmluZC9ycGNiaW5kLzAwMDEtcnBjYmluZC1wYWlyLWFsbC1zdmNfZ2V0YXJncy1jYWxscy13aXRoLXN2Y19mcmVlYXJncy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3JwY2JpbmQvcnBjYmluZC8wMDAxLXJwY2JpbmQtcGFpci1hbGwtc3ZjX2dldGFyZ3MtY2FsbHMtd2l0aC1zdmNfZnJlZWFyZ3MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJmN2FhZWYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcnBjYmluZC9ycGNiaW5kLzAwMDEtcnBjYmluZC1wYWlyLWFsbC1zdmNfZ2V0YXJncy1jYWxscy13aXRoLXN2Y19mcmVlYXJncy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIyMSArMCwwIEBACi1Gcm9tIDdlYTM2ZWVlY2U1NmI1OWY5OGU0Njk5MzRlNGMyMGI0ZGEwNDMzNDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBEb3JhbiBNb3BwZXJ0IDxkbW9wcGVydEByZWRoYXQuY29tPgotRGF0ZTogVGh1LCAxMSBNYXkgMjAxNyAxMTo0Mjo1NCAtMDQwMAotU3ViamVjdDogW1BBVENIXSBycGNiaW5kOiBwYWlyIGFsbCBzdmNfZ2V0YXJncygpIGNhbGxzIHdpdGggc3ZjX2ZyZWVhcmdzKCkgdG8KLSBhdm9pZCBtZW1vcnkgbGVhawotCi1UaGlzIHBhdGNoIGlzIHRvIGFkZHJlc3MgQ1ZFLTIwMTctODc3OSAicnBjYm9tYiIgaW4gcnBjYmluZCwgZGlzY3Vzc2VkCi1hdCBbMV0sIFsyXSwgWzNdLiAgVGhlIGxhc3QgbGluayBzdWdnZXN0cyB0aGlzIGlzc3VlIGlzIGFjdHVhbGx5IGEgYnVnCi1pbiBycGNiaW5kLCB3aGljaCBsZWQgbWUgaGVyZS4KLQotVGhlIGxlYWsgY2F1c2VkIGJ5IHRoZSByZXByb2R1Y2VyIGF0IFs0XSBhcHBlYXJzIHRvIGNvbWUgZnJvbQotcnBjYl9zZXJ2aWNlXzQoKSwgaW4gdGhlIGNhc2Ugd2hlcmUgc3ZjX2dldGFyZ3MoKSByZXR1cm5zIGZhbHNlIGFuZCB0aGUKLWZ1bmN0aW9uIGhhZCBhbiBlYXJseSByZXR1cm4sIHJhdGhlciB0aGFuIHBhc3NpbmcgdGhyb3VnaCB0aGUgY2xlYW51cAotcGF0aCBhdCBkb25lOiwgYXMgd291bGQgb3RoZXJ3aXNlIG9jY3VyLgotCi1JdCBhbHNvIGFkZHJlc3NlcyBhIGNvdXBsZSBvZiBvdGhlciBsb2NhdGlvbnMgd2hlcmUgdGhlIHNhbWUgZmF1bHQgc2VlbXMKLXRvIGV4aXN0LCB0aG91Z2ggSSBoYXZlbid0IGJlZW4gYWJsZSB0byBleGVyY2lzZSB0aG9zZS4gIEkgaG9wZSBzb21lb25lCi1tb3JlIGludGltYXRlIHdpdGggcnBjKDMpIGNhbiBjb25maXJtIG15IHVuZGVyc3RhbmRpbmcgaXMgY29ycmVjdCwgYW5kCi10aGF0IEkgaGF2ZW4ndCBpbnRyb2R1Y2VkIGFueSBuZXcgYnVncy4KLQotV2l0aG91dCB0aGlzIHBhdGNoLCB1c2luZyB0aGUgcmVwcm9kdWNlciAoYW5kIHZhcmlhbnRzKSByZXBlYXRlZGx5Ci1hZ2FpbnN0IHJwY2JpbmQgd2l0aCBhIG51bUJ5dGVzIGFyZ3VtZW50IG9mIDFfMDAwXzAwMF8wMDAsIC9wcm9jLyQocGlkb2YKLXJwY2JpbmQpL3N0YXR1cyByZXBvcnRzIFZtU2l6ZSBpbmNyZWFzZSBvZiA5NzY1NjQga0IgZWFjaCBjYWxsLCBhbmQKLVZtUlNTIGluY3JlYXNlIG9mIGFyb3VuZCAyNjAga0IgZXZlcnkgMzMgY2FsbHMgLSB0aGUgc3BlY2lmaWMgbnVtYmVycwotYXJlIHByb2JhYmx5IGFuIGFydGlmYWN0IG9mIG15IHJoZWwvZ2xpYmMgdmVyc2lvbi4gIFdpdGggdGhlIHBhdGNoLAotdGhlcmUgaXMgYSBzbWFsbCAofjUwIGtCKSBWbVNpemUgaW5jcmVhc2Ugd2l0aCB0aGUgZmlyc3QgbWVzc2FnZSwgYnV0Ci10aGVyZWFmdGVyIGJvdGggVm1TaXplIGFuZCBWbVJTUyByZW1haW4gc3RlYWR5LgotCi1bMV06IGh0dHA6Ly9zZWNsaXN0cy5vcmcvb3NzLXNlYy8yMDE3L3EyLzIwOQotWzJdOiBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTE0NDgxMjQKLVszXTogaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9tbC9saWJjLWFscGhhLzIwMTctMDUvbXNnMDAxMjkuaHRtbAotWzRdOiBodHRwczovL2dpdGh1Yi5jb20vZ3VpZG92cmFua2VuL3JwY2JvbWIvCi0KLQotQ1ZFOiBDVkUtMjAxNy04Nzc5Ci1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0KLVNpZ25lZC1vZmYtYnk6IEZhbiBYaW4gPGZhbi54aW5AanAuZnVqaXRzdS5jb20+Ci0tLS0KLSBzcmMvcG1hcF9zdmMuYyAgICAgfCA1NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KLSBzcmMvcnBjYl9zdmMuYyAgICAgfCAgMiArLQotIHNyYy9ycGNiX3N2Y180LmMgICB8ICAyICstCi0gc3JjL3JwY2Jfc3ZjX2NvbS5jIHwgIDggKysrKysrKysKLSA0IGZpbGVzIGNoYW5nZWQsIDU3IGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3BtYXBfc3ZjLmMgYi9zcmMvcG1hcF9zdmMuYwotaW5kZXggNGM3NDRmZS4uZTkyNmNkYyAxMDA2NDQKLS0tLSBhL3NyYy9wbWFwX3N2Yy5jCi0rKysgYi9zcmMvcG1hcF9zdmMuYwotQEAgLTE3NSw2ICsxNzUsNyBAQCBwbWFwcHJvY19jaGFuZ2Uoc3RydWN0IHN2Y19yZXEgKnJxc3RwIC8qX191bnVzZWQqLywgU1ZDWFBSVCAqeHBydCwgdW5zaWduZWQgbG9uZwotIAlsb25nIGFuczsKLSAJdWlkX3QgdWlkOwotIAljaGFyIHVpZGJ1ZlszMl07Ci0rCWludCByYyA9IFRSVUU7Ci0gCi0gCS8qCi0gCSAqIENhbid0IHVzZSBnZXRwd25hbSBoZXJlLiBXZSBtaWdodCBlbmQgdXAgY2FsbGluZyBvdXJzZWx2ZXMKLUBAIC0xOTQsNyArMTk1LDggQEAgcG1hcHByb2NfY2hhbmdlKHN0cnVjdCBzdmNfcmVxICpycXN0cCAvKl9fdW51c2VkKi8sIFNWQ1hQUlQgKnhwcnQsIHVuc2lnbmVkIGxvbmcKLSAKLSAJaWYgKCFzdmNfZ2V0YXJncyh4cHJ0LCAoeGRycHJvY190KSB4ZHJfcG1hcCwgKGNoYXIgKikmcmVnKSkgewotIAkJc3ZjZXJyX2RlY29kZSh4cHJ0KTsKLS0JCXJldHVybiAoRkFMU0UpOwotKwkJcmMgPSBGQUxTRTsKLSsJCWdvdG8gZG9uZTsKLSAJfQotICNpZmRlZiBSUENCSU5EX0RFQlVHCi0gCWlmIChkZWJ1Z2dpbmcpCi1AQCAtMjA1LDcgKzIwNyw4IEBAIHBtYXBwcm9jX2NoYW5nZShzdHJ1Y3Qgc3ZjX3JlcSAqcnFzdHAgLypfX3VudXNlZCovLCBTVkNYUFJUICp4cHJ0LCB1bnNpZ25lZCBsb25nCi0gCi0gCWlmICghY2hlY2tfYWNjZXNzKHhwcnQsIG9wLCByZWcucG1fcHJvZywgUE1BUFZFUlMpKSB7Ci0gCQlzdmNlcnJfd2Vha2F1dGgoeHBydCk7Ci0tCQlyZXR1cm4gKEZBTFNFKTsKLSsJCXJjID0gKEZBTFNFKTsKLSsJCWdvdG8gZG9uZTsKLSAJfQotIAotIAlycGNicmVnLnJfcHJvZyA9IHJlZy5wbV9wcm9nOwotQEAgLTI1OCw3ICsyNjEsMTYgQEAgZG9uZV9jaGFuZ2U6Ci0gCQlycGNic19zZXQoUlBDQlZFUlNfMl9TVEFULCBhbnMpOwotIAllbHNlCi0gCQlycGNic191bnNldChSUENCVkVSU18yX1NUQVQsIGFucyk7Ci0tCXJldHVybiAoVFJVRSk7Ci0rZG9uZToKLSsJaWYgKCFzdmNfZnJlZWFyZ3MoeHBydCwgKHhkcnByb2NfdCkgeGRyX3BtYXAsIChjaGFyICopJnJlZykpIHsKLSsJCWlmIChkZWJ1Z2dpbmcpIHsKLSsJCQkvKih2b2lkKSB4bG9nKExPR19ERUJVRywgInVuYWJsZSB0byBmcmVlIGFyZ3VtZW50c1xuIik7Ki8KLSsJCQlpZiAoZG9hYm9ydCkgewotKwkJCQlycGNiaW5kX2Fib3J0KCk7Ci0rCQkJfQotKwkJfQotKwl9Ci0rCXJldHVybiAocmMpOwotIH0KLSAKLSAvKiBBUkdTVVNFRCAqLwotQEAgLTI3MiwxNSArMjg0LDE4IEBAIHBtYXBwcm9jX2dldHBvcnQoc3RydWN0IHN2Y19yZXEgKnJxc3RwIC8qX191bnVzZWQqLywgU1ZDWFBSVCAqeHBydCkKLSAjaWZkZWYgUlBDQklORF9ERUJVRwotIAljaGFyICp1YWRkcjsKLSAjZW5kaWYKLSsJaW50IHJjID0gVFJVRTsKLSAKLSAJaWYgKCFzdmNfZ2V0YXJncyh4cHJ0LCAoeGRycHJvY190KSB4ZHJfcG1hcCwgKGNoYXIgKikmcmVnKSkgewotIAkJc3ZjZXJyX2RlY29kZSh4cHJ0KTsKLS0JCXJldHVybiAoRkFMU0UpOwotKwkJcmMgPSBGQUxTRTsKLSsJCWdvdG8gZG9uZTsKLSAJfQotIAotIAlpZiAoIWNoZWNrX2FjY2Vzcyh4cHJ0LCBQTUFQUFJPQ19HRVRQT1JULCByZWcucG1fcHJvZywgUE1BUFZFUlMpKSB7Ci0gCQlzdmNlcnJfd2Vha2F1dGgoeHBydCk7Ci0tCQlyZXR1cm4gRkFMU0U7Ci0rCQlyYyA9IEZBTFNFOwotKwkJZ290byBkb25lOwotIAl9Ci0gCi0gI2lmZGVmIFJQQ0JJTkRfREVCVUcKLUBAIC0zMzAsMjEgKzM0NSwzNCBAQCBwbWFwcHJvY19nZXRwb3J0KHN0cnVjdCBzdmNfcmVxICpycXN0cCAvKl9fdW51c2VkKi8sIFNWQ1hQUlQgKnhwcnQpCi0gCQlwbWFwX2lwcHJvdDJuZXRpZChyZWcucG1fcHJvdCkgPzogIjx1bmtub3duPiIsCi0gCQlwb3J0ID8gdWRwdHJhbnMgOiAiIik7Ci0gCi0tCXJldHVybiAoVFJVRSk7Ci0rZG9uZToKLSsJaWYgKCFzdmNfZnJlZWFyZ3MoeHBydCwgKHhkcnByb2NfdCkgeGRyX3BtYXAsIChjaGFyICopJnJlZykpIHsKLSsJCWlmIChkZWJ1Z2dpbmcpIHsKLSsJCQkvKiAodm9pZCkgeGxvZyhMT0dfREVCVUcsICJ1bmFibGUgdG8gZnJlZSBhcmd1bWVudHNcbiIpOyovCi0rCQkJaWYgKGRvYWJvcnQpIHsKLSsJCQkJcnBjYmluZF9hYm9ydCgpOwotKwkJCX0KLSsJCX0KLSsJfQotKwlyZXR1cm4gKHJjKTsKLSB9Ci0gCi0gLyogQVJHU1VTRUQgKi8KLSBzdGF0aWMgYm9vbF90Ci0gcG1hcHByb2NfZHVtcChzdHJ1Y3Qgc3ZjX3JlcSAqcnFzdHAgLypfX3VudXNlZCovLCBTVkNYUFJUICp4cHJ0KQotIHsKLSsJaW50IHJjID0gVFJVRTsKLSsKLSAJaWYgKCFzdmNfZ2V0YXJncyh4cHJ0LCAoeGRycHJvY190KXhkcl92b2lkLCBOVUxMKSkgewotIAkJc3ZjZXJyX2RlY29kZSh4cHJ0KTsKLS0JCXJldHVybiAoRkFMU0UpOwotKwkJcmMgPSBGQUxTRTsKLSsJCWdvdG8gZG9uZTsKLSAJfQotIAotIAlpZiAoIWNoZWNrX2FjY2Vzcyh4cHJ0LCBQTUFQUFJPQ19EVU1QLCAwLCBQTUFQVkVSUykpIHsKLSAJCXN2Y2Vycl93ZWFrYXV0aCh4cHJ0KTsKLS0JCXJldHVybiBGQUxTRTsKLSsJCXJjID0gRkFMU0U7Ci0rCQlnb3RvIGRvbmU7Ci0gCX0KLSAJCi0gCWlmICgoIXN2Y19zZW5kcmVwbHkoeHBydCwgKHhkcnByb2NfdCkgeGRyX3BtYXBsaXN0X3B0ciwKLUBAIC0zNTQsNyArMzgyLDE3IEBAIHBtYXBwcm9jX2R1bXAoc3RydWN0IHN2Y19yZXEgKnJxc3RwIC8qX191bnVzZWQqLywgU1ZDWFBSVCAqeHBydCkKLSAJCQlycGNiaW5kX2Fib3J0KCk7Ci0gCQl9Ci0gCX0KLS0JcmV0dXJuIChUUlVFKTsKLSsKLStkb25lOgotKwlpZiAoIXN2Y19mcmVlYXJncyh4cHJ0LCAoeGRycHJvY190KSB4ZHJfcG1hcCwgKGNoYXIgKilOVUxMKSkgewotKwkJaWYgKGRlYnVnZ2luZykgewotKwkJCS8qKHZvaWQpIHhsb2coTE9HX0RFQlVHLCAidW5hYmxlIHRvIGZyZWUgYXJndW1lbnRzXG4iKTsqLwotKwkJCWlmIChkb2Fib3J0KSB7Ci0rCQkJCXJwY2JpbmRfYWJvcnQoKTsKLSsJCQl9Ci0rCQl9Ci0rCX0KLSsJcmV0dXJuIChyYyk7Ci0gfQotIAotIGludCBwbWFwX25ldGlkMmlwcHJvdChjb25zdCBjaGFyICpuZXRpZCkKLWRpZmYgLS1naXQgYS9zcmMvcnBjYl9zdmMuYyBiL3NyYy9ycGNiX3N2Yy5jCi1pbmRleCA3MDllM2ZiLi4wOTFmNTMwIDEwMDY0NAotLS0tIGEvc3JjL3JwY2Jfc3ZjLmMKLSsrKyBiL3NyYy9ycGNiX3N2Yy5jCi1AQCAtMTY2LDcgKzE2Niw3IEBAIHJwY2Jfc2VydmljZV8zKHN0cnVjdCBzdmNfcmVxICpycXN0cCwgU1ZDWFBSVCAqdHJhbnNwKQotIAkJc3ZjZXJyX2RlY29kZSh0cmFuc3ApOwotIAkJaWYgKGRlYnVnZ2luZykKLSAJCQkodm9pZCkgeGxvZyhMT0dfREVCVUcsICJycGNiaW5kOiBjb3VsZCBub3QgZGVjb2RlIik7Ci0tCQlyZXR1cm47Ci0rCQlnb3RvIGRvbmU7Ci0gCX0KLSAKLSAJaWYgKHJxc3RwLT5ycV9wcm9jID09IFJQQ0JQUk9DX1NFVAotZGlmZiAtLWdpdCBhL3NyYy9ycGNiX3N2Y180LmMgYi9zcmMvcnBjYl9zdmNfNC5jCi1pbmRleCA1MDk0ODc5Li5lZWJiYmJlIDEwMDY0NAotLS0tIGEvc3JjL3JwY2Jfc3ZjXzQuYwotKysrIGIvc3JjL3JwY2Jfc3ZjXzQuYwotQEAgLTIxOCw3ICsyMTgsNyBAQCBycGNiX3NlcnZpY2VfNChzdHJ1Y3Qgc3ZjX3JlcSAqcnFzdHAsIFNWQ1hQUlQgKnRyYW5zcCkKLSAJCXN2Y2Vycl9kZWNvZGUodHJhbnNwKTsKLSAJCWlmIChkZWJ1Z2dpbmcpCi0gCQkJKHZvaWQpIHhsb2coTE9HX0RFQlVHLCAicnBjYmluZDogY291bGQgbm90IGRlY29kZVxuIik7Ci0tCQlyZXR1cm47Ci0rCQlnb3RvIGRvbmU7Ci0gCX0KLSAKLSAJaWYgKHJxc3RwLT5ycV9wcm9jID09IFJQQ0JQUk9DX1NFVAotZGlmZiAtLWdpdCBhL3NyYy9ycGNiX3N2Y19jb20uYyBiL3NyYy9ycGNiX3N2Y19jb20uYwotaW5kZXggNTg2MmMyNi4uY2I2M2FmZCAxMDA2NDQKLS0tLSBhL3NyYy9ycGNiX3N2Y19jb20uYwotKysrIGIvc3JjL3JwY2Jfc3ZjX2NvbS5jCi1AQCAtOTI3LDYgKzkyNywxNCBAQCBlcnJvcjoKLSAJaWYgKGNhbGxfbXNnLnJtX3hpZCAhPSAwKQotIAkJKHZvaWQpIGZyZWVfc2xvdF9ieV94aWQoY2FsbF9tc2cucm1feGlkKTsKLSBvdXQ6Ci0rCWlmICghc3ZjX2ZyZWVhcmdzKHRyYW5zcCwgKHhkcnByb2NfdCkgeGRyX3JtdGNhbGxfYXJncywgKGNoYXIgKikgJmEpKSB7Ci0rCQlpZiAoZGVidWdnaW5nKSB7Ci0rCQkJKHZvaWQpIHhsb2coTE9HX0RFQlVHLCAidW5hYmxlIHRvIGZyZWUgYXJndW1lbnRzXG4iKTsKLSsJCQlpZiAoZG9hYm9ydCkgewotKwkJCQlycGNiaW5kX2Fib3J0KCk7Ci0rCQkJfQotKwkJfQotKwl9Ci0gCWlmIChsb2NhbF91YWRkcikKLSAJCWZyZWUobG9jYWxfdWFkZHIpOwotIAlpZiAoYnVmX2FsbG9jKQotLS0gCi0xLjkuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ycGNiaW5kL3JwY2JpbmQvcG1hcHByb2NfZHVtcC1GaXhlZC10eXBvLWluLW1lbW9yeS1sZWFrLXBhdGNoLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcnBjYmluZC9ycGNiaW5kL3BtYXBwcm9jX2R1bXAtRml4ZWQtdHlwby1pbi1tZW1vcnktbGVhay1wYXRjaC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGMyM2VlMC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ycGNiaW5kL3JwY2JpbmQvcG1hcHByb2NfZHVtcC1GaXhlZC10eXBvLWluLW1lbW9yeS1sZWFrLXBhdGNoLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotRnJvbSBjNDlhN2VhNjM5ZWI3MDA4MjNlMTc0ZmQ2MDViYmJlMTgzZTIyOWFhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogU3RldmUgRGlja3NvbiA8c3RldmVkQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDE3IE1heSAyMDE3IDEwOjUyOjI1IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIHBtYXBwcm9jX2R1bXA6IEZpeGVkIHR5cG8gaW4gbWVtb3J5IGxlYWsgcGF0Y2gKLQotY29tbWl0IDdlYTM2ZWVlIGludHJvZHVjZSBhIHR5cG8gdGhhdCBjYXVzZWQKLU5JUyAoYWthIHlwYmluZCkgdG8gZmFpbC4KLQotU2lnbmVkLW9mZi1ieTogU3RldmUgRGlja3NvbiA8c3RldmVkQHJlZGhhdC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotU2lnbmVkLW9mZi1ieTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy9wbWFwX3N2Yy5jIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1JbmRleDogcnBjYmluZC0wLjIuNC9zcmMvcG1hcF9zdmMuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHJwY2JpbmQtMC4yLjQub3JpZy9zcmMvcG1hcF9zdmMuYwotKysrIHJwY2JpbmQtMC4yLjQvc3JjL3BtYXBfc3ZjLmMKLUBAIC0zODQsNyArMzg0LDcgQEAgcG1hcHByb2NfZHVtcChzdHJ1Y3Qgc3ZjX3JlcSAqcnFzdHAgLypfXwotIAl9Ci0gCi0gZG9uZToKLS0JaWYgKCFzdmNfZnJlZWFyZ3MoeHBydCwgKHhkcnByb2NfdCkgeGRyX3BtYXAsIChjaGFyICopTlVMTCkpIHsKLSsJaWYgKCFzdmNfZnJlZWFyZ3MoeHBydCwgKHhkcnByb2NfdCkgeGRyX3ZvaWQsIChjaGFyICopTlVMTCkpIHsKLSAJCWlmIChkZWJ1Z2dpbmcpIHsKLSAJCQkvKih2b2lkKSB4bG9nKExPR19ERUJVRywgInVuYWJsZSB0byBmcmVlIGFyZ3VtZW50c1xuIik7Ki8KLSAJCQlpZiAoZG9hYm9ydCkgewpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcnBjYmluZC9ycGNiaW5kL3JwY2Jwcm9jX2NhbGxpdF9jb20tU3RvcC1mcmVlaW5nLWEtc3RhdGljLXBvaW50ZXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ycGNiaW5kL3JwY2JpbmQvcnBjYnByb2NfY2FsbGl0X2NvbS1TdG9wLWZyZWVpbmctYS1zdGF0aWMtcG9pbnRlci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWEwMDBkMC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ycGNiaW5kL3JwY2JpbmQvcnBjYnByb2NfY2FsbGl0X2NvbS1TdG9wLWZyZWVpbmctYS1zdGF0aWMtcG9pbnRlci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEwMCArMCwwIEBACi1Gcm9tIDdjNzU5MGFkNTM2YzBlMjRiZWY3OTBjYjFlNjU3MDJmYzU0ZGI1NjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBTdGV2ZSBEaWNrc29uIDxzdGV2ZWRAcmVkaGF0LmNvbT4KLURhdGU6IFR1ZSwgMzAgTWF5IDIwMTcgMTE6Mjc6MjIgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gcnBjYnByb2NfY2FsbGl0X2NvbTogU3RvcCBmcmVlaW5nIGEgc3RhdGljIHBvaW50ZXIKLQotY29tbWl0IDdlYTM2ZWUgaW50cm9kdWNlZCBhIHN2Y19mcmVlYXJncygpIGNhbGwKLXRoYXQgZW5kZWQgdXAgZnJlZWluZyBzdGF0aWMgcG9pbnRlci4KLQotSXQgdHVybnMgb3V0IHRoZSBhbGxvY2F0aW9ucyBmb3IgdGhlIHJtdF9hcmdzCi1pcyBub3QgbmVjZXNzYXJ5IC4gVGhlIHhkciByb3V0aW5lcyAoeGRyX2J5dGVzKSB3aWxsCi1oYW5kbGUgdGhlIG1lbW9yeSBtYW5hZ2VtZW50IGFuZCB0aGUgbGFyZ2VzdAotcG9zc2libGUgbWVzc2FnZSBzaXplIGlzIFVEUE1TR1NJWkUgKGR1ZSB0byBVRFAgb25seSkKLXdoaWNoIGlzIHNtYWxsZXIgdGhhbiBSUENfQlVGX01BWAotCi1TaWduZWQtb2ZmLWJ5OiBTdGV2ZSBEaWNrc29uIDxzdGV2ZWRAcmVkaGF0LmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotCi1TaWduZWQtb2ZmLWJ5OiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgotLS0tCi0gc3JjL3JwY2Jfc3ZjX2NvbS5jIHwgMzkgKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMzMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvcnBjYl9zdmNfY29tLmMgYi9zcmMvcnBjYl9zdmNfY29tLmMKLWluZGV4IGNiNjNhZmQuLjFmYzIyMjkgMTAwNjQ0Ci0tLS0gYS9zcmMvcnBjYl9zdmNfY29tLmMKLSsrKyBiL3NyYy9ycGNiX3N2Y19jb20uYwotQEAgLTYxMiw5ICs2MTIsOSBAQCBycGNicHJvY19jYWxsaXRfY29tKHN0cnVjdCBzdmNfcmVxICpycXN0cCwgU1ZDWFBSVCAqdHJhbnNwLAotIAlzdHJ1Y3QgbmV0Y29uZmlnICpuY29uZjsKLSAJc3RydWN0IG5ldGJ1ZiAqY2FsbGVyOwotIAlzdHJ1Y3Qgcl9ybXRjYWxsX2FyZ3MgYTsKLS0JY2hhciAqYnVmX2FsbG9jID0gTlVMTCwgKm91dGJ1ZnA7Ci0rCWNoYXIgKm91dGJ1ZnA7Ci0gCWNoYXIgKm91dGJ1Zl9hbGxvYyA9IE5VTEw7Ci0tCWNoYXIgYnVmW1JQQ19CVUZfTUFYXSwgb3V0YnVmW1JQQ19CVUZfTUFYXTsKLSsJY2hhciAgb3V0YnVmW1JQQ19CVUZfTUFYXTsKLSAJc3RydWN0IG5ldGJ1ZiAqbmEgPSAoc3RydWN0IG5ldGJ1ZiAqKSBOVUxMOwotIAlzdHJ1Y3QgcnBjX21zZyBjYWxsX21zZzsKLSAJaW50IG91dGxlbjsKLUBAIC02MzUsMzYgKzYzNSwxMCBAQCBycGNicHJvY19jYWxsaXRfY29tKHN0cnVjdCBzdmNfcmVxICpycXN0cCwgU1ZDWFBSVCAqdHJhbnNwLAotIAl9Ci0gCWlmIChzaS5zaV9zb2NrdHlwZSAhPSBTT0NLX0RHUkFNKQotIAkJcmV0dXJuOwkvKiBPbmx5IGRhdGFncmFtIHR5cGUgYWNjZXB0ZWQgKi8KLS0Jc2VuZHN6ID0gX19ycGNfZ2V0X3Rfc2l6ZShzaS5zaV9hZiwgc2kuc2lfcHJvdG8sIFVEUE1TR1NJWkUpOwotLQlpZiAoc2VuZHN6ID09IDApIHsJLyogZGF0YSB0cmFuc2ZlciBub3Qgc3VwcG9ydGVkICovCi0tCQlpZiAocmVwbHlfdHlwZSA9PSBSUENCUFJPQ19JTkRJUkVDVCkKLS0JCQlzdmNlcnJfc3lzdGVtZXJyKHRyYW5zcCk7Ci0tCQlyZXR1cm47Ci0tCX0KLS0JLyoKLS0JICogU2hvdWxkIGJlIG11bHRpcGxlIG9mIDQgZm9yIFhEUi4KLS0JICovCi0tCXNlbmRzeiA9ICgoc2VuZHN6ICsgMykgLyA0KSAqIDQ7Ci0tCWlmIChzZW5kc3ogPiBSUENfQlVGX01BWCkgewotLSNpZmRlZglub3R5ZXQKLS0JCWJ1Zl9hbGxvYyA9IGFsbG9jYShzZW5kc3opOwkJLyogbm90IGluIElEUjI/ICovCi0tI2Vsc2UKLS0JCWJ1Zl9hbGxvYyA9IG1hbGxvYyhzZW5kc3opOwotLSNlbmRpZgkvKiBub3R5ZXQgKi8KLS0JCWlmIChidWZfYWxsb2MgPT0gTlVMTCkgewotLQkJCWlmIChkZWJ1Z2dpbmcpCi0tCQkJCXhsb2coTE9HX0RFQlVHLAotLQkJCQkJInJwY2Jwcm9jX2NhbGxpdF9jb206ICBObyBNZW1vcnkhXG4iKTsKLS0JCQlpZiAocmVwbHlfdHlwZSA9PSBSUENCUFJPQ19JTkRJUkVDVCkKLS0JCQkJc3ZjZXJyX3N5c3RlbWVycih0cmFuc3ApOwotLQkJCXJldHVybjsKLS0JCX0KLS0JCWEucm10X2FyZ3MuYXJncyA9IGJ1Zl9hbGxvYzsKLS0JfSBlbHNlIHsKLS0JCWEucm10X2FyZ3MuYXJncyA9IGJ1ZjsKLS0JfQotKwlzZW5kc3ogPSBVRFBNU0dTSVpFOwotIAotIAljYWxsX21zZy5ybV94aWQgPSAwOwkvKiBGb3IgZXJyb3IgY2hlY2tpbmcgcHVycG9zZXMgKi8KLSsJbWVtc2V0KCZhLCAwLCBzaXplb2YoYSkpOyAvKiBaZXJvIG91dCB0aGUgaW5wdXQgYnVmZmVyICovCi0gCWlmICghc3ZjX2dldGFyZ3ModHJhbnNwLCAoeGRycHJvY190KSB4ZHJfcm10Y2FsbF9hcmdzLCAoY2hhciAqKSAmYSkpIHsKLSAJCWlmIChyZXBseV90eXBlID09IFJQQ0JQUk9DX0lORElSRUNUKQotIAkJCXN2Y2Vycl9kZWNvZGUodHJhbnNwKTsKLUBAIC03MDQsNyArNjc4LDggQEAgcnBjYnByb2NfY2FsbGl0X2NvbShzdHJ1Y3Qgc3ZjX3JlcSAqcnFzdHAsIFNWQ1hQUlQgKnRyYW5zcCwKLSAJaWYgKHJibCA9PSAocnBjYmxpc3RfcHRyKU5VTEwpIHsKLSAjaWZkZWYgUlBDQklORF9ERUJVRwotIAkJaWYgKGRlYnVnZ2luZykKLS0JCQl4bG9nKExPR19ERUJVRywgIm5vdCBmb3VuZFxuIik7Ci0rCQkJeGxvZyhMT0dfREVCVUcsICJwcm9nICVsdSB2ZXJzICVsdTogbm90IGZvdW5kXG4iLCAKLSsJCQkJYS5ybXRfcHJvZywgYS5ybXRfdmVycyk7Ci0gI2VuZGlmCi0gCQlpZiAocmVwbHlfdHlwZSA9PSBSUENCUFJPQ19JTkRJUkVDVCkKLSAJCQlzdmNlcnJfbm9wcm9nKHRyYW5zcCk7Ci1AQCAtOTM3LDggKzkxMiw2IEBAIG91dDoKLSAJfQotIAlpZiAobG9jYWxfdWFkZHIpCi0gCQlmcmVlKGxvY2FsX3VhZGRyKTsKLS0JaWYgKGJ1Zl9hbGxvYykKLS0JCWZyZWUoYnVmX2FsbG9jKTsKLSAJaWYgKG91dGJ1Zl9hbGxvYykKLSAJCWZyZWUob3V0YnVmX2FsbG9jKTsKLSAJaWYgKG5hKSB7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3JwY2JpbmQvcnBjYmluZF8wLjIuNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3JwY2JpbmQvcnBjYmluZF8wLjIuNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2M2Nzc0Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ycGNiaW5kL3JwY2JpbmRfMC4yLjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw2NiArMCwwIEBACi1TVU1NQVJZID0gIlVuaXZlcnNhbCBBZGRyZXNzZXMgdG8gUlBDIFByb2dyYW0gTnVtYmVyIE1hcHBlciIKLURFU0NSSVBUSU9OID0gIlRoZSBycGNiaW5kIHV0aWxpdHkgaXMgYSBzZXJ2ZXIgdGhhdCBjb252ZXJ0cyBSUEMgXAotICAgICAgICAgICAgICAgcHJvZ3JhbSBudW1iZXJzIGludG8gdW5pdmVyc2FsIGFkZHJlc3Nlcy4iCi1TRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKLUhPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvcnBjYmluZC8iCi1CVUdUUkFDS0VSID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvdHJhY2tlci8/Z3JvdXBfaWQ9MjAxMjM3JmF0aWQ9OTc2NzUxIgotREVQRU5EUyA9ICJsaWJ0aXJwYyBxdW90YSIKLQotTElDRU5TRSA9ICJCU0QiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iNDY0ODZlNGM0YTQxNjYwMjY5M2E3MTFiYjViZmEzOSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvcnBjaW5mby5jO2JlZ2lubGluZT0xO2VuZGxpbmU9Mjc7bWQ1PWY4YThjZDJjYjI1YWM1YWExNjc2NzM2NGZiMGUzYzI0IgotCi1TUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9ycGNiaW5kL3JwY2JpbmQtJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9pbml0LmQgXAotICAgICAgICAgICBmaWxlOi8vcnBjYmluZC5jb25mIFwKLSAgICAgICAgICAgZmlsZTovL3JwY2JpbmQuc29ja2V0IFwKLSAgICAgICAgICAgZmlsZTovL3JwY2JpbmQuc2VydmljZSBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXJwY2JpbmQtcGFpci1hbGwtc3ZjX2dldGFyZ3MtY2FsbHMtd2l0aC1zdmNfZnJlZWFyZ3MucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcG1hcHByb2NfZHVtcC1GaXhlZC10eXBvLWluLW1lbW9yeS1sZWFrLXBhdGNoLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3JwY2Jwcm9jX2NhbGxpdF9jb20tU3RvcC1mcmVlaW5nLWEtc3RhdGljLXBvaW50ZXIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcnBjYmluZF9hZGRfb3B0aW9uX3RvX2ZpeF9wb3J0X251bWJlci5wYXRjaCBcCi0gICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gImNmMTBjZDQxZWQ4MjI4ZmM1NGMzMTYxOTFjMWYwN2ZlIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA3NGE5YTUzMGRjN2MxMWUwZDkwNWFhNTliY2IwODQ3YzAwOTMxM2YwMmU5OGQzZDc5OGFhOTU2OGY0MTRjNjYiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHVwZGF0ZS1yYy5kIHN5c3RlbWQgcGtnY29uZmlnCi0KLVBBQ0tBR0VDT05GSUcgPz89ICJ0Y3Atd3JhcHBlcnMiCi1QQUNLQUdFQ09ORklHW3RjcC13cmFwcGVyc10gPSAiLS1lbmFibGUtbGlid3JhcCwtLWRpc2FibGUtbGlid3JhcCx0Y3Atd3JhcHBlcnMiCi0KLUlOSVRTQ1JJUFRfTkFNRSA9ICJycGNiaW5kIgotSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgMTIgMiAzIDQgNSAuIHN0b3AgNjAgMCAxIDYgLiIKLQotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInJwY2JpbmQuc2VydmljZSIKLQotaW5oZXJpdCB1c2VyYWRkCi0KLVVTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCi1VU0VSQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIC0tbm8tY3JlYXRlLWhvbWUgLS1ob21lLWRpciAvIFwKLSAgICAgICAgICAgICAgICAgICAgICAgLS1zaGVsbCAvYmluL2ZhbHNlIC0tdXNlci1ncm91cCBycGMiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgZCl9IgotUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLXdpdGgtc3lzdGVtZHN5c3RlbXVuaXRkaXI9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8sIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgLS13aXRob3V0LXN5c3RlbWRzeXN0ZW11bml0ZGlyLCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3RlbWQgXAotIgotCi1FWFRSQV9PRUNPTkYgKz0gIiAtLWVuYWJsZS13YXJtc3RhcnRzIC0td2l0aC1ycGN1c2VyPXJwYyIKLQotZG9faW5zdGFsbF9hcHBlbmQgKCkgewotCW12ICR7RH0ke2JpbmRpcn0gJHtEfSR7c2JpbmRpcn0KLQotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCi0Jc2VkIC1lICdzLC9ldGMvLCR7c3lzY29uZmRpcn0vLGcnIFwKLQkJLWUgJ3MsL3NiaW4vLCR7c2JpbmRpcn0vLGcnIFwKLQkJJHtXT1JLRElSfS9pbml0LmQgPiAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvcnBjYmluZAotCWNobW9kIDA3NTUgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3JwY2JpbmQKLQotCWluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3JwY2JpbmQuY29uZiAke0R9JHtzeXNjb25mZGlyfQotCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLQlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9ycGNiaW5kLnNvY2tldCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3JwY2JpbmQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotCXNlZCAtaSAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyBcCi0JCS1lICdzLEBTWVNDT05GRElSQCwke3N5c2NvbmZkaXJ9LGcnIFwKLQkJJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcnBjYmluZC5zZXJ2aWNlCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ycGNiaW5kL3JwY2JpbmRfMS4yLjUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ycGNiaW5kL3JwY2JpbmRfMS4yLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2M5NmFjYQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3JwY2JpbmQvcnBjYmluZF8xLjIuNS5iYgpAQCAtMCwwICsxLDYxIEBACitTVU1NQVJZID0gIlVuaXZlcnNhbCBBZGRyZXNzZXMgdG8gUlBDIFByb2dyYW0gTnVtYmVyIE1hcHBlciIKK0RFU0NSSVBUSU9OID0gIlRoZSBycGNiaW5kIHV0aWxpdHkgaXMgYSBzZXJ2ZXIgdGhhdCBjb252ZXJ0cyBSUEMgXAorICAgICAgICAgICAgICAgcHJvZ3JhbSBudW1iZXJzIGludG8gdW5pdmVyc2FsIGFkZHJlc3Nlcy4iCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvcnBjYmluZC8iCitCVUdUUkFDS0VSID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvdHJhY2tlci8/Z3JvdXBfaWQ9MjAxMjM3JmF0aWQ9OTc2NzUxIgorREVQRU5EUyA9ICJsaWJ0aXJwYyBxdW90YSIKKworTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iNDY0ODZlNGM0YTQxNjYwMjY5M2E3MTFiYjViZmEzOSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvcnBjaW5mby5jO2JlZ2lubGluZT0xO2VuZGxpbmU9Mjc7bWQ1PWY4YThjZDJjYjI1YWM1YWExNjc2NzM2NGZiMGUzYzI0IgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9ycGNiaW5kL3JwY2JpbmQtJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9pbml0LmQgXAorICAgICAgICAgICBmaWxlOi8vcnBjYmluZC5jb25mIFwKKyAgICAgICAgICAgZmlsZTovL3JwY2JpbmQuc29ja2V0IFwKKyAgICAgICAgICAgZmlsZTovL3JwY2JpbmQuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9ycGNiaW5kX2FkZF9vcHRpb25fdG9fZml4X3BvcnRfbnVtYmVyLnBhdGNoIFwKKyAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiZWQ0NmYwOWI5YzBmYTJkNDkwMTVmNjQzMWJjNWVhN2IiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmNlMzYwNjgzOTYzYjM1YzE5YzQzZjBlZTJjN2YxOGFhNWI4MWVmNDFjM2ZkYmQxNWZmY2IwMGI4YmZmZGE3YSIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLXJjLmQgc3lzdGVtZCBwa2djb25maWcKKworUEFDS0FHRUNPTkZJRyA/Pz0gInRjcC13cmFwcGVycyIKK1BBQ0tBR0VDT05GSUdbdGNwLXdyYXBwZXJzXSA9ICItLWVuYWJsZS1saWJ3cmFwLC0tZGlzYWJsZS1saWJ3cmFwLHRjcC13cmFwcGVycyIKKworSU5JVFNDUklQVF9OQU1FID0gInJwY2JpbmQiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJzdGFydCAxMiAyIDMgNCA1IC4gc3RvcCA2MCAwIDEgNiAuIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAicnBjYmluZC5zZXJ2aWNlIgorCitpbmhlcml0IHVzZXJhZGQKKworVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSIKK1VTRVJBRERfUEFSQU1fJHtQTn0gPSAiLS1zeXN0ZW0gLS1uby1jcmVhdGUtaG9tZSAtLWhvbWUtZGlyIC8gXAorICAgICAgICAgICAgICAgICAgICAgICAtLXNoZWxsIC9iaW4vZmFsc2UgLS11c2VyLWdyb3VwIHJwYyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCBkKX0iCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLywgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAtLXdpdGhvdXQtc3lzdGVtZHN5c3RlbXVuaXRkaXIsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzdGVtZCBcCisiCisKK0VYVFJBX09FQ09ORiArPSAiIC0tZW5hYmxlLXdhcm1zdGFydHMgLS13aXRoLXJwY3VzZXI9cnBjIgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKwlzZWQgLWUgJ3MsL2V0Yy8sJHtzeXNjb25mZGlyfS8sZycgXAorCQktZSAncywvc2Jpbi8sJHtzYmluZGlyfS8sZycgXAorCQkke1dPUktESVJ9L2luaXQuZCA+ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9ycGNiaW5kCisJY2htb2QgMDc1NSAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvcnBjYmluZAorCisJaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vcnBjYmluZC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9CisJaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3JwY2JpbmQuc29ja2V0ICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisJaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vcnBjYmluZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisJc2VkIC1pIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnIFwKKwkJLWUgJ3MsQFNZU0NPTkZESVJALCR7c3lzY29uZmRpcn0sZycgXAorCQkke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9ycGNiaW5kLnNlcnZpY2UKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NoYWRvdy9maWxlcy8wMDAxLXVzZXJhZGQtY29weS1leHRlbmRlZC1hdHRyaWJ1dGVzLW9mLWhvbWUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zaGFkb3cvZmlsZXMvMDAwMS11c2VyYWRkLWNvcHktZXh0ZW5kZWQtYXR0cmlidXRlcy1vZi1ob21lLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NzRiM2EyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NoYWRvdy9maWxlcy8wMDAxLXVzZXJhZGQtY29weS1leHRlbmRlZC1hdHRyaWJ1dGVzLW9mLWhvbWUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1TdWJqZWN0OiBbUEFUQ0hdIHVzZXJhZGQ6IGNvcHkgZXh0ZW5kZWQgYXR0cmlidXRlcyBvZiBob21lCi0KLVRoZSBIb21lIGRpcmVjdG9yeSB3YXNuJ3QgZ2V0dGluZyB0aGUgZXh0ZW5kZWQgYXR0cmlidXRlcwotb2YgL2V0Yy9za2VsLiBUaGlzIHBhdGNoIGZpeGVzIHRoYXQgaXNzdWUgYW5kIGFkZHMgdGhlIGNvcHkKLW9mIHRoZSBleHRlbmRlZCBhdHRyaWJ1dGVzIG9mIHRoZSByb290IG9mIHRoZSBob21lIGRpcmVjdG9yeS4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEpvc8OpIEJvbGxvIDxqb3NlLmJvbGxvQGlvdC5iemg+Ci1TaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBzcmMvdXNlcmFkZC5jIHwgNiArKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvdXNlcmFkZC5jIGIvc3JjL3VzZXJhZGQuYwotaW5kZXggZTcyMWU1Mi4uYzc0ZTQ5MSAxMDA2NDQKLS0tLSBhL3NyYy91c2VyYWRkLmMKLSsrKyBiL3NyYy91c2VyYWRkLmMKLUBAIC01NCw2ICs1NCw5IEBACi0gI2luY2x1ZGUgPHN5cy93YWl0Lmg+Ci0gI2luY2x1ZGUgPHRpbWUuaD4KLSAjaW5jbHVkZSA8dW5pc3RkLmg+Ci0rI2lmZGVmIFdJVEhfQVRUUgotKyNpbmNsdWRlIDxhdHRyL2xpYmF0dHIuaD4KLSsjZW5kaWYKLSAjaW5jbHVkZSAiY2hrbmFtZS5oIgotICNpbmNsdWRlICJkZWZpbmVzLmgiCi0gI2luY2x1ZGUgImZhaWxsb2cuaCIKLUBAIC0yMDQyLDYgKzIwNDUsOSBAQCBzdGF0aWMgdm9pZCBjcmVhdGVfaG9tZSAodm9pZCkKLSAJCSh2b2lkKSBjaG93biAocHJlZml4X3VzZXJfaG9tZSwgdXNlcl9pZCwgdXNlcl9naWQpOwotIAkJY2htb2QgKHByZWZpeF91c2VyX2hvbWUsCi0gCQkgICAgICAgMDc3NyAmIH5nZXRkZWZfbnVtICgiVU1BU0siLCBHRVRERUZfREVGQVVMVF9VTUFTSykpOwotKyNpZmRlZiBXSVRIX0FUVFIKLSsJICAgICAgICAgICAgICAgYXR0cl9jb3B5X2ZpbGUgKGRlZl90ZW1wbGF0ZSwgdXNlcl9ob21lLCBOVUxMLCBOVUxMKTsKLSsjZW5kaWYKLSAJCWhvbWVfYWRkZWQgPSB0cnVlOwotICNpZmRlZiBXSVRIX0FVRElUCi0gCQlhdWRpdF9sb2dnZXIgKEFVRElUX0FERF9VU0VSLCBQcm9nLAotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2hhZG93L2ZpbGVzLzAwMDEtdXNlcmFkZC5jLWNyZWF0ZS1wYXJlbnQtZGlyZWN0b3JpZXMtd2hlbi1uZWNlc3NhcnkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zaGFkb3cvZmlsZXMvMDAwMS11c2VyYWRkLmMtY3JlYXRlLXBhcmVudC1kaXJlY3Rvcmllcy13aGVuLW5lY2Vzc2FyeS5wYXRjaAppbmRleCA3MDI0MTM2Li5mYWE2ZjY4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zaGFkb3cvZmlsZXMvMDAwMS11c2VyYWRkLmMtY3JlYXRlLXBhcmVudC1kaXJlY3Rvcmllcy13aGVuLW5lY2Vzc2FyeS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zaGFkb3cvZmlsZXMvMDAwMS11c2VyYWRkLmMtY3JlYXRlLXBhcmVudC1kaXJlY3Rvcmllcy13aGVuLW5lY2Vzc2FyeS5wYXRjaApAQCAtNCwxMSArNCwxMSBAQAogCiBTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CiAtLS0KLSBzcmMvdXNlcmFkZC5jIHwgODIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKSwgMjggZGVsZXRpb25zKC0pCisgc3JjL3VzZXJhZGQuYyB8IDgwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDUzIGluc2VydGlvbnMoKyksIDI3IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvc3JjL3VzZXJhZGQuYyBiL3NyYy91c2VyYWRkLmMKLWluZGV4IDcyMTRlNzIuLjNhYWY0NWMgMTAwNjQ0CitpbmRleCAwMGEzYzMwLi45ZWNiYjU4IDEwMDY0NAogLS0tIGEvc3JjL3VzZXJhZGQuYwogKysrIGIvc3JjL3VzZXJhZGQuYwogQEAgLTIwMjEsNiArMjAyMSwzNSBAQCBzdGF0aWMgdm9pZCB1c3JfdXBkYXRlICh2b2lkKQpAQCAtNDcsNyArNDcsNyBAQAogICAqIGNyZWF0ZV9ob21lIC0gY3JlYXRlIHRoZSB1c2VyJ3MgaG9tZSBkaXJlY3RvcnkKICAgKgogICAqCWNyZWF0ZV9ob21lKCkgY3JlYXRlcyB0aGUgdXNlcidzIGhvbWUgZGlyZWN0b3J5IGlmIGl0IGRvZXMgbm90Ci1AQCAtMjAzOCw0MiArMjA2NywzOSBAQCBzdGF0aWMgdm9pZCBjcmVhdGVfaG9tZSAodm9pZCkKK0BAIC0yMDM4LDM5ICsyMDY3LDM2IEBAIHN0YXRpYyB2b2lkIGNyZWF0ZV9ob21lICh2b2lkKQogIAkJCWZhaWxfZXhpdCAoRV9IT01FRElSKTsKICAJCX0KICAjZW5kaWYKQEAgLTc0LDE2ICs3NCwxMiBAQAogLQkJKHZvaWQpIGNob3duIChwcmVmaXhfdXNlcl9ob21lLCB1c2VyX2lkLCB1c2VyX2dpZCk7CiAtCQljaG1vZCAocHJlZml4X3VzZXJfaG9tZSwKIC0JCSAgICAgICAwNzc3ICYgfmdldGRlZl9udW0gKCJVTUFTSyIsIEdFVERFRl9ERUZBVUxUX1VNQVNLKSk7CistCQlob21lX2FkZGVkID0gdHJ1ZTsKICsJCWZhaWxfZXhpdCAoRV9IT01FRElSKTsKICsJfQogKwkodm9pZCkgY2hvd24gKHByZWZpeF91c2VyX2hvbWUsIHVzZXJfaWQsIHVzZXJfZ2lkKTsKICsJY2htb2QgKHByZWZpeF91c2VyX2hvbWUsCiArCSAgICAgICAwNzc3ICYgfmdldGRlZl9udW0gKCJVTUFTSyIsIEdFVERFRl9ERUZBVUxUX1VNQVNLKSk7Ci0gI2lmZGVmIFdJVEhfQVRUUgotLQkgICAgICAgICAgICAgICBhdHRyX2NvcHlfZmlsZSAoZGVmX3RlbXBsYXRlLCB1c2VyX2hvbWUsIE5VTEwsIE5VTEwpOwotKwlhdHRyX2NvcHlfZmlsZSAoZGVmX3RlbXBsYXRlLCB1c2VyX2hvbWUsIE5VTEwsIE5VTEwpOwotICNlbmRpZgotLQkJaG9tZV9hZGRlZCA9IHRydWU7CiArCWhvbWVfYWRkZWQgPSB0cnVlOwogICNpZmRlZiBXSVRIX0FVRElUCiAtCQlhdWRpdF9sb2dnZXIgKEFVRElUX0FERF9VU0VSLCBQcm9nLApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2hhZG93L3NoYWRvdy5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zaGFkb3cvc2hhZG93LmluYwppbmRleCAwOWMzN2VmLi40ZGUyMWFjIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zaGFkb3cvc2hhZG93LmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zaGFkb3cvc2hhZG93LmluYwpAQCAtMTEsNyArMTEsNiBAQAogVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9zaGFkb3ctbWFpbnQvc2hhZG93L3JlbGVhc2VzIgogU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vc2hhZG93LW1haW50L3NoYWRvdy9yZWxlYXNlcy9kb3dubG9hZC8ke1BWfS8ke0JQfS50YXIuZ3ogXAogICAgICAgICAgICBmaWxlOi8vc2hhZG93LTQuMS4zLWRvdHMtaW4tdXNlcm5hbWVzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtdXNlcmFkZC1jb3B5LWV4dGVuZGVkLWF0dHJpYnV0ZXMtb2YtaG9tZS5wYXRjaCBcCiAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3BhbScsICcke1BBTV9TUkNfVVJJfScsICcnLCBkKX0gXAogICAgICAgICAgICAiCiAKQEAgLTU3LDcgKzU2LDcgQEAKIE5TQ0RPUFQgPSAiIgogTlNDRE9QVF9jbGFzcy1uYXRpdmUgPSAiLS13aXRob3V0LW5zY2QiCiBOU0NET1BUX2NsYXNzLW5hdGl2ZXNkayA9ICItLXdpdGhvdXQtbnNjZCIKLU5TQ0RPUFRfbGliYy1nbGliYyA9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2xpYmMtc3Bhd24nLCAnLS13aXRoLW5zY2QnLCAnLS13aXRob3V0LW5zY2QnLCBkKX0iCitOU0NET1BUX2xpYmMtZ2xpYmMgPSAiLS13aXRoLW5zY2QiCiAgICAgICAgICAgCiBQQU1fUExVR0lOUyA9ICJsaWJwYW0tcnVudGltZSBcCiAgICAgICAgICAgICAgICBwYW0tcGx1Z2luLWZhaWxkZWxheSBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zaGFkb3cvc2hhZG93XzQuNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NoYWRvdy9zaGFkb3dfNC42LmJiCmluZGV4IDU2NzVjYjguLmM5NzUzOTUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NoYWRvdy9zaGFkb3dfNC42LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NoYWRvdy9zaGFkb3dfNC42LmJiCkBAIC0yLDcgKzIsNyBAQAogCiAjIEJ1aWxkIGZhbHNlbHkgYXNzdW1lcyB0aGF0IGlmIC0tZW5hYmxlLWxpYnBhbSBpcyBzZXQsIHdlIGRvbid0IG5lZWQgdG8gbGluayBhZ2FpbnN0CiAjIGxpYmNyeXB0LiBUaGlzIGJyZWFrcyBjaHNoLgotQlVJTERfTERGTEFHU19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsIGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGliYy1jcnlwdCcsICAnLWxjcnlwdCcsICcnLCBkKSwgJycsIGQpfSIKK0JVSUxEX0xERkxBR1NfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnLWxjcnlwdCcsICcnLCBkKX0iCiAKIEJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc3Vkby9zdWRvLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N1ZG8vc3Vkby5pbmMKaW5kZXggNjlkY2NkZS4uOTBmMjAzOSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc3Vkby9zdWRvLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zdWRvL3N1ZG8uaW5jCkBAIC00LDggKzQsOCBAQAogQlVHVFJBQ0tFUiA9ICJodHRwOi8vd3d3LnN1ZG8ud3MvYnVncy8iCiBTRUNUSU9OID0gImFkbWluIgogTElDRU5TRSA9ICJJU0MgJiBCU0QgJiBabGliIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZG9jL0xJQ0VOU0U7bWQ1PWNjNGJmMjM2NmIwNTljOTU5OGUzOTQ3Zjg4NTkzMWVjIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3BsdWdpbnMvc3Vkb2Vycy9yZWRibGFjay5jO2JlZ2lubGluZT0xO2VuZGxpbmU9NDE7bWQ1PTgwNTc4MmE4NDY2OTc1NzE2ZjgzNzZiMmJlOWFlZGRlIFwKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RvYy9MSUNFTlNFO21kNT02Yzc2YjczNjAzYWM3NzYzYWIwNTE2ZWJmYmU2N2I0MiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9wbHVnaW5zL3N1ZG9lcnMvcmVkYmxhY2suYztiZWdpbmxpbmU9MTtlbmRsaW5lPTQ2O21kNT00YTE2MmZjMDRiODZiMDNmNTYzMjE4MGZlNjA3NmNkYSBcCiAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWIvdXRpbC9yZWFsbG9jYXJyYXkuYztiZWdpbmxpbmU9MztlbmRsaW5lPTE2O21kNT04NWIwOTA1Yjc5NWQ0ZDU4YmYyZTAwNjM1NjQ5ZWVjNiBcCiAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWIvdXRpbC9mbm1hdGNoLmM7YmVnaW5saW5lPTM7ZW5kbGluZT0yNzttZDU9NjdmODNlZTliZDQ1NjU1NzM5NzA4MmY4ZjFiZTBlZmQgXAogICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGliL3V0aWwvZ2V0Y3dkLmM7YmVnaW5saW5lPTU7ZW5kbGluZT0yNzttZDU9NDQ5YWY0Y2M1N2ZjN2Q0NmY0MjA5MDYwOGJhM2U2ODEgXApAQCAtMTMsNiArMTMsOSBAQAogICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGliL3V0aWwvc25wcmludGYuYztiZWdpbmxpbmU9NjtlbmRsaW5lPTM0O21kNT1jODJjMWIzYTVjMzJlMDg1NDVjOWVjNWQ3MWU0MWU1MCBcCiAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9pbmNsdWRlL3N1ZG9fcXVldWUuaDtiZWdpbmxpbmU9NTtlbmRsaW5lPTI3O21kNT00NDlhZjRjYzU3ZmM3ZDQ2ZjQyMDkwNjA4YmEzZTY4MSBcCiAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWIvdXRpbC9pbmV0X3B0b24uYztiZWdpbmxpbmU9MztlbmRsaW5lPTE3O21kNT0zOTcwYWIwNTE4YWI3OWNiZDBiYWZiNjk3ZjEwYjMzYSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWIvdXRpbC9hcmM0cmFuZG9tLmM7YmVnaW5saW5lPTM7ZW5kbGluZT0yMDttZDU9MTViZGM4OWMxYjAwM2ZhNGQ3MzUzZTYyOTZlYmZkNjggXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGliL3V0aWwvYXJjNHJhbmRvbV91bmlmb3JtLmM7YmVnaW5saW5lPTM7ZW5kbGluZT0xNzttZDU9MzFlNjMwYWM4MTRkNjkyZmQwYWI3YTk0MjY1OWI0NmYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGliL3V0aWwvZ2V0ZW50cm9weS5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MTk7bWQ1PTlmMWEyNzVlY2Q0NGNjMjY0YTJhNGQ1ZTA2YTc1MjkyIFwKICAgICAgICAgICAgICAgICAgICAgIgogCiBpbmhlcml0IGF1dG90b29scwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc3Vkby9zdWRvXzEuOC4yMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N1ZG8vc3Vkb18xLjguMjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNlMzJiZDEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc3Vkby9zdWRvXzEuOC4yMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLXJlcXVpcmUgc3Vkby5pbmMKLQotU1JDX1VSSSA9ICJodHRwOi8vZnRwLnN1ZG8ud3Mvc3Vkby9kaXN0L3N1ZG8tJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnJHtQQU1fU1JDX1VSSX0nLCAnJywgZCl9IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtSW5jbHVkZS1zeXMtdHlwZXMuaC1mb3ItaWRfdC1kZWZpbml0aW9uLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1QQU1fU1JDX1VSSSA9ICJmaWxlOi8vc3Vkby5wYW0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJlYTQ0NGQ3NDdmZWIxZGVjZmViZGZmZDBiMzhiMDczOSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJkODYzZDI5YjZmYzg3YmM3ODRhMzIyMzM1MGUyYjI4YTJmZjJjNDczOGYwZmI4ZjFjOTJiYjM4YzMwMTdlNjc5IgotCi1ERVBFTkRTICs9ICIgdmlydHVhbC9jcnlwdCAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdsaWJwYW0nLCAnJywgZCl9IgotUkRFUEVORFNfJHtQTn0gKz0gIiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdwYW0tcGx1Z2luLWxpbWl0cyBwYW0tcGx1Z2luLWtleWluaXQnLCAnJywgZCl9IgotCi1FWFRSQV9PRUNPTkYgKz0gIiBcCi0gICAgICAgICAgICAgYWNfY3ZfdHlwZV9yc2l6ZV90PW5vIFwKLSAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICctLXdpdGgtcGFtJywgJy0td2l0aG91dC1wYW0nLCBkKX0gXAotICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICctLWVuYWJsZS10bXBmaWxlcy5kPSR7bGliZGlyfS90bXBmaWxlcy5kJywgJy0tZGlzYWJsZS10bXBmaWxlcy5kJywgZCl9IFwKLSAgICAgICAgICAgICAiCi0KLWRvX2luc3RhbGxfYXBwZW5kICgpIHsKLQlpZiBbICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCBkKX0iIF07IHRoZW4KLQkJaW5zdGFsbCAtRCAtbSA2NDQgJHtXT1JLRElSfS9zdWRvLnBhbSAke0R9LyR7c3lzY29uZmRpcn0vcGFtLmQvc3VkbwotCQlpZiAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdwYW0td2hlZWwnLCAndHJ1ZScsICdmYWxzZScsIGQpfSA7IHRoZW4KLQkJCWVjaG8gJ2F1dGggICAgICAgcmVxdWlyZWQgICAgIHBhbV93aGVlbC5zbyB1c2VfdWlkJyA+PiR7RH0ke3N5c2NvbmZkaXJ9L3BhbS5kL3N1ZG8KLQkJCXNlZCAtaSAncy8jIFwoJXdoZWVsIEFMTD0oQUxMKSBBTExcKS9cMS8nICR7RH0ke3N5c2NvbmZkaXJ9L3N1ZG9lcnMKLQkJZmkKLQlmaQotCi0JY2htb2QgNDExMSAke0R9JHtiaW5kaXJ9L3N1ZG8KLQljaG1vZCAwNDQwICR7RH0ke3N5c2NvbmZkaXJ9L3N1ZG9lcnMKLQotCSMgRXhwbGljaXRseSByZW1vdmUgdGhlIC9ydW4gZGlyZWN0b3J5IHRvIGF2b2lkIFFBIGVycm9yCi0Jcm1kaXIgLXAgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgJHtEfS9ydW4vc3VkbwotfQotCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3RtcGZpbGVzLmQiCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZXhlY2Rpcn0vJHtCUE59L2xpYioke1NPTElCU0RFVn0gJHtsaWJleGVjZGlyfS8ke0JQTn0vKi5sYSBcCi0gICAgICAgICAgICAgICAgICAgICR7bGliZXhlY2Rpcn0vbGliKiR7U09MSUJTREVWfSAke2xpYmV4ZWNkaXJ9LyoubGEiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zdWRvL3N1ZG9fMS44LjI3LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc3Vkby9zdWRvXzEuOC4yNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YTM0MzkzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc3Vkby9zdWRvXzEuOC4yNy5iYgpAQCAtMCwwICsxLDQwIEBACityZXF1aXJlIHN1ZG8uaW5jCisKK1NSQ19VUkkgPSAiaHR0cDovL2Z0cC5zdWRvLndzL3N1ZG8vZGlzdC9zdWRvLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJyR7UEFNX1NSQ19VUkl9JywgJycsIGQpfSBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUluY2x1ZGUtc3lzLXR5cGVzLmgtZm9yLWlkX3QtZGVmaW5pdGlvbi5wYXRjaCBcCisgICAgICAgICAgICIKKworUEFNX1NSQ19VUkkgPSAiZmlsZTovL3N1ZG8ucGFtIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYjVjMTg0YjEzYjZiNWRlMzJhZjYzMGFmMmZkMDEzZmQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2JlYjY4Yjk0NDcxZWY1NmQ4YTEwMzZkYmNkYzA5YTdiNThhOTQ5YTY4ZmZjZTQ4YjgzZjgzN2RkMzNlMmVjMCIKKworREVQRU5EUyArPSAiIHZpcnR1YWwvY3J5cHQgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnbGlicGFtJywgJycsIGQpfSIKK1JERVBFTkRTXyR7UE59ICs9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAncGFtLXBsdWdpbi1saW1pdHMgcGFtLXBsdWdpbi1rZXlpbml0JywgJycsIGQpfSIKKworRVhUUkFfT0VDT05GICs9ICIgXAorICAgICAgICAgICAgIGFjX2N2X3R5cGVfcnNpemVfdD1ubyBcCisgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnLS13aXRoLXBhbScsICctLXdpdGhvdXQtcGFtJywgZCl9IFwKKyAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAnLS1lbmFibGUtdG1wZmlsZXMuZD0ke2xpYmRpcn0vdG1wZmlsZXMuZCcsICctLWRpc2FibGUtdG1wZmlsZXMuZCcsIGQpfSBcCisgICAgICAgICAgICAgIgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisJaWYgWyAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgZCl9IiBdOyB0aGVuCisJCWluc3RhbGwgLUQgLW0gNjQ0ICR7V09SS0RJUn0vc3Vkby5wYW0gJHtEfS8ke3N5c2NvbmZkaXJ9L3BhbS5kL3N1ZG8KKwkJaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncGFtLXdoZWVsJywgJ3RydWUnLCAnZmFsc2UnLCBkKX0gOyB0aGVuCisJCQllY2hvICdhdXRoICAgICAgIHJlcXVpcmVkICAgICBwYW1fd2hlZWwuc28gdXNlX3VpZCcgPj4ke0R9JHtzeXNjb25mZGlyfS9wYW0uZC9zdWRvCisJCQlzZWQgLWkgJ3MvIyBcKCV3aGVlbCBBTEw9KEFMTCkgQUxMXCkvXDEvJyAke0R9JHtzeXNjb25mZGlyfS9zdWRvZXJzCisJCWZpCisJZmkKKworCWNobW9kIDQxMTEgJHtEfSR7YmluZGlyfS9zdWRvCisJY2htb2QgMDQ0MCAke0R9JHtzeXNjb25mZGlyfS9zdWRvZXJzCisKKwkjIEV4cGxpY2l0bHkgcmVtb3ZlIHRoZSAvcnVuIGRpcmVjdG9yeSB0byBhdm9pZCBRQSBlcnJvcgorCXJtZGlyIC1wIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICR7RH0vcnVuL3N1ZG8KK30KKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS90bXBmaWxlcy5kIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmV4ZWNkaXJ9LyR7QlBOfS9saWIqJHtTT0xJQlNERVZ9ICR7bGliZXhlY2Rpcn0vJHtCUE59LyoubGEgXAorICAgICAgICAgICAgICAgICAgICAke2xpYmV4ZWNkaXJ9L2xpYioke1NPTElCU0RFVn0gJHtsaWJleGVjZGlyfS8qLmxhIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc3lza2xvZ2Qvc3lza2xvZ2QuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc3lza2xvZ2Qvc3lza2xvZ2QuaW5jCmluZGV4IGYxNTFkZDguLjc0OTAyNmYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N5c2tsb2dkL3N5c2tsb2dkLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zeXNrbG9nZC9zeXNrbG9nZC5pbmMKQEAgLTEzLDcgKzEzLDcgQEAKIAogaW5oZXJpdCB1cGRhdGUtcmMuZCB1cGRhdGUtYWx0ZXJuYXRpdmVzIHN5c3RlbWQKIAotU1JDX1VSSSA9ICJodHRwOi8vd3d3LmluZm9kcm9tLm9yZy9wcm9qZWN0cy9zeXNrbG9nZC9kb3dubG9hZC9zeXNrbG9nZC0ke1BWfS50YXIuZ3ogXAorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3Ryb2dsb2JpdC9zeXNrbG9nZC5naXQ7bm9icmFuY2g9MSBcCiAgICAgICAgICAgIGZpbGU6Ly9uby1zdHJpcC1pbnN0YWxsLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWJ1aWxkLXdpdGgtbXVzbC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWZpeC1wcm9ibGVtcy10aGF0LWNhdXNlcy1hLXNlZ21lbnRhdGlvbi1mYXVsdC11bmRlci0ucGF0Y2ggXApAQCAtMjQsNiArMjQsNyBAQAogICAgICAgICAgICBmaWxlOi8va2xvZ2Quc2VydmljZSBcCiAgICAgICAgICAgIGZpbGU6Ly90bXBmaWxlcy5zeXNrbG9nZC5jb25mIFwKICAgICAgICAgICAgIgorUyA9ICIke1dPUktESVJ9L2dpdCIKIAogU1JDX1VSSV9hcHBlbmRfZTUwMHYyID0gIiBmaWxlOi8vbm8tdmVjdG9yaXphdGlvbi5wYXRjaCIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc3lza2xvZ2Qvc3lza2xvZ2RfMS41LjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zeXNrbG9nZC9zeXNrbG9nZF8xLjUuMS5iYgppbmRleCA5NzVlY2MyLi44OGJjZmQ5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zeXNrbG9nZC9zeXNrbG9nZF8xLjUuMS5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zeXNrbG9nZC9zeXNrbG9nZF8xLjUuMS5iYgpAQCAtMSw0ICsxLDMgQEAKIHJlcXVpcmUgc3lza2xvZ2QuaW5jCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICJjNzA1OTlhYjBkMDM3ZmRlNzI0ZjcyMTBjMmM4ZDdmOCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI1MTY2YzE4NWFlMjNjOTJlOGI5ZmVlZTY2YTZlM2QwYmM5NDRiZjY3MzExMmY1M2UzZWNmNjJlMDhjZTdjMjAxIgorU1JDUkVWID0gIjkzMGEyYjFjMGQxNWIxNDMwOWE0OWYxNGUzZjMwZTkwNTQ1NmFmNGQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zeXNzdGF0L3N5c3N0YXRfMTEuNy40LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc3lzc3RhdC9zeXNzdGF0XzExLjcuNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzliOTEzMC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zeXNzdGF0L3N5c3N0YXRfMTEuNy40LmJiCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi1yZXF1aXJlIHN5c3N0YXQuaW5jCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWEyM2E3NGIzZjRjYWY5NjE2MjMwNzg5ZDk0MjE3YWNiIgotCi1TUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1JbmNsdWRlLW5lZWRlZC1oZWFkZXJzLWV4cGxpY2l0bHkucGF0Y2giCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI0MjFmOTU4ZGI4MGU2N2EyN2VkYTFmZjZiOGViY2RlYiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJhOTYyNjVhMjI3ODRjMjk4ODg2NjlmOTYxYTA4OTY4NDFkMTc3ODUzZjhmMDU3ZWZlMDYzZTg5MTk2MmI5MDkwIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc3lzc3RhdC9zeXNzdGF0XzEyLjEuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N5c3N0YXQvc3lzc3RhdF8xMi4xLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWRhZjNmNAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N5c3N0YXQvc3lzc3RhdF8xMi4xLjMuYmIKQEAgLTAsMCArMSw4IEBACityZXF1aXJlIHN5c3N0YXQuaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWEyM2E3NGIzZjRjYWY5NjE2MjMwNzg5ZDk0MjE3YWNiIgorCitTUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1JbmNsdWRlLW5lZWRlZC1oZWFkZXJzLWV4cGxpY2l0bHkucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwZjliNzNmNjBhYmE2ZmQ0OWRlMzQ2YmMzODQ5MDJjMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1NTQ5OGJmODI3NTViYTlmZWQzZTdkZjYxZmQyNmY4ZjUwZGQzZTdiM2IyMjljNzMxMDI5YTRjOGFiNTFhMWFhIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvdGFyL3Rhcl8xLjMwLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvdGFyL3Rhcl8xLjMwLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZDI0ZjQ3Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3Rhci90YXJfMS4zMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDcwICswLDAgQEAKLVNVTU1BUlkgPSAiR05VIGZpbGUgYXJjaGl2aW5nIHByb2dyYW0iCi1ERVNDUklQVElPTiA9ICJHTlUgdGFyIHNhdmVzIG1hbnkgZmlsZXMgdG9nZXRoZXIgaW50byBhIHNpbmdsZSB0YXBlIFwKLW9yIGRpc2sgYXJjaGl2ZSwgYW5kIGNhbiByZXN0b3JlIGluZGl2aWR1YWwgZmlsZXMgZnJvbSB0aGUgYXJjaGl2ZS4iCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvdGFyLyIKLVNFQ1RJT04gPSAiYmFzZSIKLUxJQ0VOU0UgPSAiR1BMdjMiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKLQotU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9L3Rhci90YXItJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9yZW1vdmUtZ2V0cy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9tdXNsX2RpcmVudC5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI4NDA0ZTRjMWZjNWEzMDAwMjI4YWIyYjhhZDY3NGE2NSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI4NzU5MmI4NmNiMDM3YzU1NDM3NWY1ODY4YmRkM2NjNTc3NDhhZWYzOGQ2Y2I3NDFjODEwNjVmMGJlYWM2M2I3IgotCi1pbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHRleGluZm8KLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiIKLVBBQ0tBR0VDT05GSUdfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnYWNsJywgZCl9IgotCi1QQUNLQUdFQ09ORklHW2FjbF0gPSAiLS13aXRoLXBvc2l4LWFjbHMsLS13aXRob3V0LXBvc2l4LWFjbHMsYWNsIgotCi1FWFRSQV9PRUNPTkYgKz0gIkRFRkFVTFRfUk1UX0RJUj0ke2Jhc2Vfc2JpbmRpcn0iCi0KLSMgTGV0IGFjbG9jYWwgdXNlIHRoZSByZWxhdGl2ZSBwYXRoIGZvciB0aGUgbTQgZmlsZSByYXRoZXIgdGhhbiB0aGUKLSMgYWJzb2x1dGUgc2luY2UgdGFyIGhhcyBhIGxvdCBvZiBtNCBmaWxlcywgb3RoZXJ3aXNlIHRoZXJlIG1pZ2h0Ci0jIGJlIGFuICJBcmd1bWVudCBsaXN0IHRvbyBsb25nIiBlcnJvciB3aGVuIGl0IGlzIGJ1aWx0IGluIGEgbG9uZy9kZWVwCi0jIGRpcmVjdG9yeS4KLWFjcGF0aHMgPSAiLUkgLi9tNCIKLQotZG9faW5zdGFsbCAoKSB7Ci0gICAgYXV0b3Rvb2xzX2RvX2luc3RhbGwKLSAgICBsbiAtcyB0YXIgJHtEfSR7YmluZGlyfS9ndGFyCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLXRhcmdldCgpIHsKLSAgICBpZiBbICIke2Jhc2VfYmluZGlyfSIgIT0gIiR7YmluZGlyfSIgXTsgdGhlbgotICAgICAgICBpbnN0YWxsIC1kICR7RH0ke2Jhc2VfYmluZGlyfQotICAgICAgICBtdiAke0R9JHtiaW5kaXJ9L3RhciAke0R9JHtiYXNlX2JpbmRpcn0vdGFyCi0gICAgICAgIG12ICR7RH0ke2JpbmRpcn0vZ3RhciAke0R9JHtiYXNlX2JpbmRpcn0vZ3RhcgotICAgICAgICBybWRpciAke0R9JHtiaW5kaXJ9LwotICAgIGZpCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kX2xpYmMtbXVzbCgpIHsKLSAgICBybSAtZiAke0R9JHtsaWJkaXJ9L2NoYXJzZXQuYWxpYXMKLSAgICBybWRpciAke0R9JHtsaWJkaXJ9Ci19Ci0KLVBBQ0tBR0VTID0rICIke1BOfS1ybXQiCi0KLUZJTEVTXyR7UE59LXJtdCA9ICIke2Jhc2Vfc2JpbmRpcn0vcm10KiIKLQotaW5oZXJpdCB1cGRhdGUtYWx0ZXJuYXRpdmVzCi0KLUFMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjEwMCIKLQotQUxURVJOQVRJVkVfJHtQTn0gPSAidGFyIgotQUxURVJOQVRJVkVfJHtQTn0tcm10ID0gInJtdCIKLUFMVEVSTkFUSVZFXyR7UE59X2NsYXNzLW5hdGl2ZXNkayA9ICIiCi1BTFRFUk5BVElWRV8ke1BOfS1ybXRfY2xhc3MtbmF0aXZlc2RrID0gIiIKLQotQUxURVJOQVRJVkVfTElOS19OQU1FW3Rhcl0gPSAiJHtiYXNlX2JpbmRpcn0vdGFyIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3JtdF0gPSAiJHtiYXNlX3NiaW5kaXJ9L3JtdCIKLQotUFJPVklERVNfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgdGFyLXJlcGxhY2VtZW50LW5hdGl2ZSIKLU5BVElWRV9QQUNLQUdFX1BBVEhfU1VGRklYID0gIi8ke1BOfSIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvdGFyL3Rhcl8xLjMxLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvdGFyL3Rhcl8xLjMxLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3ODUwNDIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90YXIvdGFyXzEuMzEuYmIKQEAgLTAsMCArMSw2NSBAQAorU1VNTUFSWSA9ICJHTlUgZmlsZSBhcmNoaXZpbmcgcHJvZ3JhbSIKK0RFU0NSSVBUSU9OID0gIkdOVSB0YXIgc2F2ZXMgbWFueSBmaWxlcyB0b2dldGhlciBpbnRvIGEgc2luZ2xlIHRhcGUgXAorb3IgZGlzayBhcmNoaXZlLCBhbmQgY2FuIHJlc3RvcmUgaW5kaXZpZHVhbCBmaWxlcyBmcm9tIHRoZSBhcmNoaXZlLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS90YXIvIgorU0VDVElPTiA9ICJiYXNlIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitTUkNfVVJJID0gIiR7R05VX01JUlJPUn0vdGFyL3Rhci0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL3JlbW92ZS1nZXRzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL211c2xfZGlyZW50LnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjc3YWZhMzViNjk2YzhkNzYwMzMxZmEwZTEyYzJmYWM5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU3N2JkNDQ2M2VlYTEwM2JkZmM2NjJmYzM4NTc4OWUyMjI4ZGJlYjM5OWExZDBiOTg1NzFlZDljZTA0NGY3NjMiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgdGV4aW5mbworCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdhY2wnLCBkKX0iCisKK1BBQ0tBR0VDT05GSUdbYWNsXSA9ICItLXdpdGgtcG9zaXgtYWNscywtLXdpdGhvdXQtcG9zaXgtYWNscyxhY2wiCisKK0VYVFJBX09FQ09ORiArPSAiREVGQVVMVF9STVRfRElSPSR7YmFzZV9zYmluZGlyfSIKKworIyBMZXQgYWNsb2NhbCB1c2UgdGhlIHJlbGF0aXZlIHBhdGggZm9yIHRoZSBtNCBmaWxlIHJhdGhlciB0aGFuIHRoZQorIyBhYnNvbHV0ZSBzaW5jZSB0YXIgaGFzIGEgbG90IG9mIG00IGZpbGVzLCBvdGhlcndpc2UgdGhlcmUgbWlnaHQKKyMgYmUgYW4gIkFyZ3VtZW50IGxpc3QgdG9vIGxvbmciIGVycm9yIHdoZW4gaXQgaXMgYnVpbHQgaW4gYSBsb25nL2RlZXAKKyMgZGlyZWN0b3J5LgorYWNwYXRocyA9ICItSSAuL200IgorCitkb19pbnN0YWxsICgpIHsKKyAgICBhdXRvdG9vbHNfZG9faW5zdGFsbAorICAgIGxuIC1zIHRhciAke0R9JHtiaW5kaXJ9L2d0YXIKK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgeworICAgIGlmIFsgIiR7YmFzZV9iaW5kaXJ9IiAhPSAiJHtiaW5kaXJ9IiBdOyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgICAgIG12ICR7RH0ke2JpbmRpcn0vdGFyICR7RH0ke2Jhc2VfYmluZGlyfS90YXIKKyAgICAgICAgbXYgJHtEfSR7YmluZGlyfS9ndGFyICR7RH0ke2Jhc2VfYmluZGlyfS9ndGFyCisgICAgICAgIHJtZGlyICR7RH0ke2JpbmRpcn0vCisgICAgZmkKK30KKworUEFDS0FHRVMgPSsgIiR7UE59LXJtdCIKKworRklMRVNfJHtQTn0tcm10ID0gIiR7YmFzZV9zYmluZGlyfS9ybXQqIgorCitpbmhlcml0IHVwZGF0ZS1hbHRlcm5hdGl2ZXMKKworQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgorCitBTFRFUk5BVElWRV8ke1BOfSA9ICJ0YXIiCitBTFRFUk5BVElWRV8ke1BOfS1ybXQgPSAicm10IgorQUxURVJOQVRJVkVfJHtQTn1fY2xhc3MtbmF0aXZlc2RrID0gIiIKK0FMVEVSTkFUSVZFXyR7UE59LXJtdF9jbGFzcy1uYXRpdmVzZGsgPSAiIgorCitBTFRFUk5BVElWRV9MSU5LX05BTUVbdGFyXSA9ICIke2Jhc2VfYmluZGlyfS90YXIiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbcm10XSA9ICIke2Jhc2Vfc2JpbmRpcn0vcm10IgorCitQUk9WSURFU19hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiB0YXItcmVwbGFjZW1lbnQtbmF0aXZlIgorTkFUSVZFX1BBQ0tBR0VfUEFUSF9TVUZGSVggPSAiLyR7UE59IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90aW1lem9uZS90aW1lem9uZS5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90aW1lem9uZS90aW1lem9uZS5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWFkZTAwNwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3RpbWV6b25lL3RpbWV6b25lLmluYwpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gIlRpbWV6b25lIGRhdGEiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmlhbmEub3JnL3RpbWUtem9uZXMiCitTRUNUSU9OID0gImJhc2UiCitMSUNFTlNFID0gIlBEICYgQlNEICYgQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YzY3OWM5ZDZiMDJiYzI3NTdiM2VhZjhmNTNjNDNmYmEiCisKK1BWID0gIjIwMTlhIgorCitTUkNfVVJJID0iIGh0dHA6Ly93d3cuaWFuYS5vcmcvdGltZS16b25lcy9yZXBvc2l0b3J5L3JlbGVhc2VzL3R6Y29kZSR7UFZ9LnRhci5nejtuYW1lPXR6Y29kZSBcCisgICAgICAgICAgIGh0dHA6Ly93d3cuaWFuYS5vcmcvdGltZS16b25lcy9yZXBvc2l0b3J5L3JlbGVhc2VzL3R6ZGF0YSR7UFZ9LnRhci5nejtuYW1lPXR6ZGF0YSBcCisgICAgICAgICAgICIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHA6Ly93d3cuaWFuYS5vcmcvdGltZS16b25lcyIKKworU1JDX1VSSVt0emNvZGUubWQ1c3VtXSA9ICIyNzU4NWEyMGJjNTQwMTMyNGY0MmM4ZGViNmU0Njc3ZiIKK1NSQ19VUklbdHpjb2RlLnNoYTI1NnN1bV0gPSAiODczOWYxNjJiYzMwY2RmYjQ4MjQzNTY5N2Y5NjkyNTNhYmVhNDk1OTU1NDFhMGFmZDVmNDQzZmJhZTQzM2ZmNSIKK1NSQ19VUklbdHpkYXRhLm1kNXN1bV0gPSAiMjg4ZjdiMWU0MzAxOGM2MzNkYTEwOGYxM2IyN2NmOTEiCitTUkNfVVJJW3R6ZGF0YS5zaGEyNTZzdW1dID0gIjkwMzY2ZGRmNGFhMDNlMzdhMTZjZDQ5MjU1YWY3N2Y4MDE4MjIzMTBiMjEzZjE5NWUyMjA2ZWFkNDhjNTk3NzIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90aW1lem9uZS90emNvZGUtbmF0aXZlLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvdGltZXpvbmUvdHpjb2RlLW5hdGl2ZS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMzU4MmJhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvdGltZXpvbmUvdHpjb2RlLW5hdGl2ZS5iYgpAQCAtMCwwICsxLDE3IEBACityZXF1aXJlIHRpbWV6b25lLmluYworCisjCitTVU1NQVJZID0gInR6Y29kZSwgdGltZXpvbmUgem9uZWluZm8gdXRpbHMgLS0gemljLCB6ZHVtcCwgdHpzZWxlY3QiCisKK1MgPSAiJHtXT1JLRElSfSIKKworaW5oZXJpdCBuYXRpdmUKKworRVhUUkFfT0VNQUtFICs9ICJjYz0nJHtDQ30nIgorCitkb19pbnN0YWxsICgpIHsKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9LworICAgICAgICBpbnN0YWxsIC1tIDc1NSB6aWMgJHtEfSR7YmluZGlyfS8KKyAgICAgICAgaW5zdGFsbCAtbSA3NTUgemR1bXAgJHtEfSR7YmluZGlyfS8KKyAgICAgICAgaW5zdGFsbCAtbSA3NTUgdHpzZWxlY3QgJHtEfSR7YmluZGlyfS8KK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3RpbWV6b25lL3R6ZGF0YS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3RpbWV6b25lL3R6ZGF0YS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MmZlMzY5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvdGltZXpvbmUvdHpkYXRhLmJiCkBAIC0wLDAgKzEsMjA5IEBACityZXF1aXJlIHRpbWV6b25lLmluYworCitERVBFTkRTID0gInR6Y29kZS1uYXRpdmUiCisKK2luaGVyaXQgYWxsYXJjaAorCitSQ09ORkxJQ1RTXyR7UE59ID0gInRpbWV6b25lcyB0aW1lem9uZS1hZnJpY2EgdGltZXpvbmUtYW1lcmljYSB0aW1lem9uZS1hbnRhcmN0aWNhIFwKKyAgICAgICAgICAgICB0aW1lem9uZS1hcmN0aWMgdGltZXpvbmUtYXNpYSB0aW1lem9uZS1hdGxhbnRpYyBcCisgICAgICAgICAgICAgdGltZXpvbmUtYXVzdHJhbGlhIHRpbWV6b25lLWV1cm9wZSB0aW1lem9uZS1pbmRpYW4gXAorICAgICAgICAgICAgIHRpbWV6b25lLWlzbzMxNjYudGFiIHRpbWV6b25lLXBhY2lmaWMgdGltZXpvbmUtem9uZS50YWIiCisKK1MgPSAiJHtXT1JLRElSfSIKKworREVGQVVMVF9USU1FWk9ORSA/PSAiVW5pdmVyc2FsIgorSU5TVEFMTF9USU1FWk9ORV9GSUxFID89ICIxIgorCitUWk9ORVM9ICJhZnJpY2EgYW50YXJjdGljYSBhc2lhIGF1c3RyYWxhc2lhIGV1cm9wZSBub3J0aGFtZXJpY2Egc291dGhhbWVyaWNhICBcCisgICAgICAgICBmYWN0b3J5IGV0Y2V0ZXJhIGJhY2t3YXJkIHN5c3RlbXYgXAorICAgICAgICAiCisjIHBhY2lmaWNuZXcgCisKK2RvX2NvbXBpbGUgKCkgeworICAgICAgICBmb3Igem9uZSBpbiAke1RaT05FU307IGRvIFwKKyAgICAgICAgICAgICR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS96aWMgLWQgJHtXT1JLRElSfSR7ZGF0YWRpcn0vem9uZWluZm8gLUwgL2Rldi9udWxsIFwKKyAgICAgICAgICAgICAgICAteSAke1N9L3llYXJpc3R5cGUuc2ggJHtTfS8ke3pvbmV9IDsgXAorICAgICAgICAgICAgJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3ppYyAtZCAke1dPUktESVJ9JHtkYXRhZGlyfS96b25laW5mby9wb3NpeCAtTCAvZGV2L251bGwgXAorICAgICAgICAgICAgICAgIC15ICR7U30veWVhcmlzdHlwZS5zaCAke1N9LyR7em9uZX0gOyBcCisgICAgICAgICAgICAke1NUQUdJTkdfQklORElSX05BVElWRX0vemljIC1kICR7V09SS0RJUn0ke2RhdGFkaXJ9L3pvbmVpbmZvL3JpZ2h0IC1MICR7U30vbGVhcHNlY29uZHMgXAorICAgICAgICAgICAgICAgIC15ICR7U30veWVhcmlzdHlwZS5zaCAke1N9LyR7em9uZX0gOyBcCisgICAgICAgIGRvbmUKK30KKworZG9faW5zdGFsbCAoKSB7CisgICAgICAgIGluc3RhbGwgLWQgJHtEfS8kZXhlY19wcmVmaXggJHtEfSR7ZGF0YWRpcn0vem9uZWluZm8KKyAgICAgICAgY3AgLXBQUiAke1N9LyRleGVjX3ByZWZpeCAke0R9LworICAgICAgICAjIGxpYmMgaXMgcmVtb3Zpbmcgem9uZWluZm8gZmlsZXMgZnJvbSBwYWNrYWdlCisgICAgICAgIGNwIC1wUCAiJHtTfS96b25lLnRhYiIgJHtEfSR7ZGF0YWRpcn0vem9uZWluZm8KKyAgICAgICAgY3AgLXBQICIke1N9L3pvbmUxOTcwLnRhYiIgJHtEfSR7ZGF0YWRpcn0vem9uZWluZm8KKyAgICAgICAgY3AgLXBQICIke1N9L2lzbzMxNjYudGFiIiAke0R9JHtkYXRhZGlyfS96b25laW5mbworCisgICAgICAgICMgSW5zdGFsbCBkZWZhdWx0IHRpbWV6b25lCisgICAgICAgIGlmIFsgLWUgJHtEfSR7ZGF0YWRpcn0vem9uZWluZm8vJHtERUZBVUxUX1RJTUVaT05FfSBdOyB0aGVuCisgICAgICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9CisgICAgICAgICAgICBpZiBbICIke0lOU1RBTExfVElNRVpPTkVfRklMRX0iID0gIjEiIF07IHRoZW4KKyAgICAgICAgICAgICAgICBlY2hvICR7REVGQVVMVF9USU1FWk9ORX0gPiAke0R9JHtzeXNjb25mZGlyfS90aW1lem9uZQorICAgICAgICAgICAgZmkKKyAgICAgICAgICAgIGxuIC1zICR7ZGF0YWRpcn0vem9uZWluZm8vJHtERUZBVUxUX1RJTUVaT05FfSAke0R9JHtzeXNjb25mZGlyfS9sb2NhbHRpbWUKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgYmJlcnJvciAiREVGQVVMVF9USU1FWk9ORSBpcyBzZXQgdG8gYW4gaW52YWxpZCB2YWx1ZS4iCisgICAgICAgICAgICBleGl0IDEKKyAgICAgICAgZmkKKworICAgICAgICBjaG93biAtUiByb290OnJvb3QgJHtEfQorfQorCitwa2dfcG9zdGluc3RfJHtQTn0gKCkgeworCWV0Y19sdD0iJEQke3N5c2NvbmZkaXJ9L2xvY2FsdGltZSIKKwlzcmM9IiREJHtzeXNjb25mZGlyfS90aW1lem9uZSIKKworCWlmIFsgLWUgJHtzcmN9IF0gOyB0aGVuCisJCXR6PSQoc2VkIC1lICdzOiMuKjo6JyAtZSAnczpbWzpzcGFjZTpdXSo6OmcnIC1lICcvXiQvZCcgIiR7c3JjfSIpCisJZmkKKwkKKwlpZiBbIC16ICIke3R6fSIgXSA7IHRoZW4KKwkJZXhpdCAwCisJZmkKKwkKKwlpZiBbICEgLWUgIiREJHtkYXRhZGlyfS96b25laW5mby8ke3R6fSIgXSA7IHRoZW4KKwkJZWNobyAiWW91IGhhdmUgYW4gaW52YWxpZCBUSU1FWk9ORSBzZXR0aW5nIGluICR7c3JjfSIKKwkJZWNobyAiWW91ciAke2V0Y19sdH0gaGFzIGJlZW4gcmVzZXQgdG8gVW5pdmVyc2FsOyBlbmpveSEiCisJCXR6PSJVbml2ZXJzYWwiCisJCWVjaG8gIlVwZGF0aW5nICR7ZXRjX2x0fSB3aXRoICREJHtkYXRhZGlyfS96b25laW5mby8ke3R6fSIKKwkJaWYgWyAtTCAke2V0Y19sdH0gXSA7IHRoZW4KKwkJCXJtIC1mICIke2V0Y19sdH0iCisJCWZpCisJCWxuIC1zICIke2RhdGFkaXJ9L3pvbmVpbmZvLyR7dHp9IiAiJHtldGNfbHR9IgorCWZpCit9CisKKyMgUGFja2FnZXMgcHJpbWFyaWx5IG9yZ2FuaXplZCBieSBkaXJlY3Rvcnkgd2l0aCBhIG1ham9yIGNpdHkKKyMgaW4gbW9zdCB0aW1lIHpvbmVzIGluIHRoZSBiYXNlIHBhY2thZ2UKKworVFpfUEFDS0FHRVMgPSAiIFwKKyAgICB0emRhdGEtY29yZSB0emRhdGEtbWlzYyB0emRhdGEtcG9zaXggdHpkYXRhLXJpZ2h0IHR6ZGF0YS1hZnJpY2EgXAorICAgIHR6ZGF0YS1hbWVyaWNhcyB0emRhdGEtYW50YXJjdGljYSB0emRhdGEtYXJjdGljIHR6ZGF0YS1hc2lhIFwKKyAgICB0emRhdGEtYXRsYW50aWMgdHpkYXRhLWF1c3RyYWxpYSB0emRhdGEtZXVyb3BlIHR6ZGF0YS1wYWNpZmljIgorUEFDS0FHRVMgPSAiJHtUWl9QQUNLQUdFU30gJHtQTn0iCisKK0ZJTEVTX3R6ZGF0YS1hZnJpY2EgKz0gIiR7ZGF0YWRpcn0vem9uZWluZm8vQWZyaWNhLyoiCitSUFJPVklERVNfdHpkYXRhLWFmcmljYSA9ICJ0emRhdGEtYWZyaWNhIgorCitGSUxFU190emRhdGEtYW1lcmljYXMgKz0gIiR7ZGF0YWRpcn0vem9uZWluZm8vQW1lcmljYS8qICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9VUy8qICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0JyYXppbC8qICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vQ2FuYWRhLyogICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9NZXhpY28vKiAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0NoaWxlLyoiCitSUFJPVklERVNfdHpkYXRhLWFtZXJpY2FzID0gInR6ZGF0YS1hbWVyaWNhcyIKKworRklMRVNfdHpkYXRhLWFudGFyY3RpY2EgKz0gIiR7ZGF0YWRpcn0vem9uZWluZm8vQW50YXJjdGljYS8qIgorUlBST1ZJREVTX3R6ZGF0YS1hbnRhcmN0aWNhID0gInR6ZGF0YS1hbnRhcmN0aWNhIgorCitGSUxFU190emRhdGEtYXJjdGljICs9ICIke2RhdGFkaXJ9L3pvbmVpbmZvL0FyY3RpYy8qIgorUlBST1ZJREVTX3R6ZGF0YS1hcmN0aWMgPSAidHpkYXRhLWFyY3RpYyIKKworRklMRVNfdHpkYXRhLWFzaWEgKz0gIiR7ZGF0YWRpcn0vem9uZWluZm8vQXNpYS8qICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9JbmRpYW4vKiAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL01pZGVhc3QvKiIKK1JQUk9WSURFU190emRhdGEtYXNpYSA9ICJ0emRhdGEtYXNpYSIKKworRklMRVNfdHpkYXRhLWF0bGFudGljICs9ICIke2RhdGFkaXJ9L3pvbmVpbmZvL0F0bGFudGljLyoiCitSUFJPVklERVNfdHpkYXRhLWF0bGFudGljID0gInR6ZGF0YS1hdGxhbnRpYyIKKworRklMRVNfdHpkYXRhLWF1c3RyYWxpYSArPSAiJHtkYXRhZGlyfS96b25laW5mby9BdXN0cmFsaWEvKiIKK1JQUk9WSURFU190emRhdGEtYXVzdHJhbGlhID0gInR6ZGF0YS1hdXN0cmFsaWEiCisKK0ZJTEVTX3R6ZGF0YS1ldXJvcGUgKz0gIiR7ZGF0YWRpcn0vem9uZWluZm8vRXVyb3BlLyoiCitSUFJPVklERVNfdHpkYXRhLWV1cm9wZSA9ICJ0emRhdGEtZXVyb3BlIgorCitGSUxFU190emRhdGEtcGFjaWZpYyArPSAiJHtkYXRhZGlyfS96b25laW5mby9QYWNpZmljLyoiCitSUFJPVklERVNfdHpkYXRhLXBhY2lmaWMgPSAidHpkYXRhLXBhY2lmaWMiCisKK0ZJTEVTX3R6ZGF0YS1wb3NpeCArPSAiJHtkYXRhZGlyfS96b25laW5mby9wb3NpeC8qIgorUlBST1ZJREVTX3R6ZGF0YS1wb3NpeCA9ICJ0emRhdGEtcG9zaXgiCisKK0ZJTEVTX3R6ZGF0YS1yaWdodCArPSAiJHtkYXRhZGlyfS96b25laW5mby9yaWdodC8qIgorUlBST1ZJREVTX3R6ZGF0YS1yaWdodCA9ICJ0emRhdGEtcmlnaHQiCisKK0ZJTEVTX3R6ZGF0YS1taXNjICs9ICIke2RhdGFkaXJ9L3pvbmVpbmZvL0N1YmEgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0VneXB0ICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0VpcmUgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0ZhY3RvcnkgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0dCLUVpcmUgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0hvbmdrb25nICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0ljZWxhbmQgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0lyYW4gICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0lzcmFlbCAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0phbWFpY2EgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0phcGFuICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0t3YWphbGVpbiAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0xpYnlhICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL05hdmFqbyAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1BvbGFuZCAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1BvcnR1Z2FsICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1NpbmdhcG9yZSAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1R1cmtleSIKK1JQUk9WSURFU190emRhdGEtbWlzYyA9ICJ0emRhdGEtbWlzYyIKKworRklMRVNfdHpkYXRhLWNvcmUgKz0gIiBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9QYWNpZmljL0hvbm9sdWx1ICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9BbWVyaWNhL0FuY2hvcmFnZSAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9BbWVyaWNhL0xvc19BbmdlbGVzICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9BbWVyaWNhL0RlbnZlciAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9BbWVyaWNhL0NoaWNhZ28gICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9BbWVyaWNhL05ld19Zb3JrICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9BbWVyaWNhL0NhcmFjYXMgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9BbWVyaWNhL1Nhb19QYXVsbyAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9FdXJvcGUvTG9uZG9uICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9FdXJvcGUvUGFyaXMgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9BZnJpY2EvQ2Fpcm8gICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9FdXJvcGUvTW9zY293ICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9Bc2lhL0R1YmFpICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9Bc2lhL0thcmFjaGkgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9Bc2lhL0RoYWthICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9Bc2lhL0Jhbmdrb2sgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9Bc2lhL0hvbmdfS29uZyAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9Bc2lhL1Rva3lvICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9BdXN0cmFsaWEvRGFyd2luICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9BdXN0cmFsaWEvQWRlbGFpZGUgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9BdXN0cmFsaWEvQnJpc2JhbmUgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9BdXN0cmFsaWEvU3lkbmV5ICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9QYWNpZmljL05vdW1lYSAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9DRVQgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9DU1Q2Q0RUICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9FRVQgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9FU1QgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9FU1Q1RURUICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9HQiAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9HTVQgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9HTVQrMCAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9HTVQtMCAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9HTVQwICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9HcmVlbndpY2ggICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9IU1QgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9NRVQgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9NU1QgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9NU1Q3TURUICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9OWiAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9OWi1DSEFUICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9QUkMgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9QU1Q4UERUICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9ST0MgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9ST0sgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9VQ1QgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9VVEMgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9Vbml2ZXJzYWwgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9XLVNVICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9XRVQgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9adWx1ICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby96b25lLnRhYiAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby96b25lMTk3MC50YWIgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9pc28zMTY2LnRhYiAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9FdGMvKiIKKworQ09ORkZJTEVTX3R6ZGF0YS1jb3JlICs9ICIke0AgIiR7c3lzY29uZmRpcn0vdGltZXpvbmUiIGlmIGJiLnV0aWxzLnRvX2Jvb2xlYW4oZC5nZXRWYXIoJ0lOU1RBTExfVElNRVpPTkVfRklMRScpKSBlbHNlICIiIH0iCitDT05GRklMRVNfdHpkYXRhLWNvcmUgKz0gIiR7c3lzY29uZmRpcn0vbG9jYWx0aW1lIgorCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorUkRFUEVORFNfJHtQTn0gPSAiJHtUWl9QQUNLQUdFU30iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90emNvZGUvdHpjb2RlLW5hdGl2ZV8yMDE4aS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3R6Y29kZS90emNvZGUtbmF0aXZlXzIwMThpLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMDU2MzcwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3R6Y29kZS90emNvZGUtbmF0aXZlXzIwMThpLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotIyBub3RlIHRoYXQgd2UgYWxsb3cgZm9yIHVzIHRvIHVzZSBkYXRhIGxhdGVyIHRoYW4gb3VyIGNvZGUgdmVyc2lvbgotIwotU1VNTUFSWSA9ICJ0emNvZGUsIHRpbWV6b25lIHpvbmVpbmZvIHV0aWxzIC0tIHppYywgemR1bXAsIHR6c2VsZWN0IgotTElDRU5TRSA9ICJQRCAmIEJTRCAmIEJTRC0zLUNsYXVzZSIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YzY3OWM5ZDZiMDJiYzI3NTdiM2VhZjhmNTNjNDNmYmEiCi0KLVNSQ19VUkkgPSIgaHR0cDovL3d3dy5pYW5hLm9yZy90aW1lLXpvbmVzL3JlcG9zaXRvcnkvcmVsZWFzZXMvdHpjb2RlJHtQVn0udGFyLmd6O25hbWU9dHpjb2RlIFwKLSAgICAgICAgICAgaHR0cDovL3d3dy5pYW5hLm9yZy90aW1lLXpvbmVzL3JlcG9zaXRvcnkvcmVsZWFzZXMvdHpkYXRhJHtQVn0udGFyLmd6O25hbWU9dHpkYXRhIFwKLSAgICAgICAgICAgIgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cDovL3d3dy5pYW5hLm9yZy90aW1lLXpvbmVzIgotCi1TUkNfVVJJW3R6Y29kZS5tZDVzdW1dID0gIjZhNmQ5OGJlOGZhMmZhMzQ4NWUyNTM0M2U3OTE4OGI0IgotU1JDX1VSSVt0emNvZGUuc2hhMjU2c3VtXSA9ICJhYWFjZGI4NzZjYTZmYjlkNThlMjQ0YjQ2MmNiYzc1NzhhNDk2YjFiMTA5OTQzODFiNGIzMmI5ZjJkZWQzMmRjIgotU1JDX1VSSVt0emRhdGEubWQ1c3VtXSA9ICJiM2YwYTFhNzg5NDgwYTAzNmU1ODQ2NmNkMDcwMjQ3NyIKLVNSQ19VUklbdHpkYXRhLnNoYTI1NnN1bV0gPSAiODJjNDVlZjg0Y2EzYmMwMWQwYTRhMzk3YmE4YWRlYjhmN2YxOTljNjU1MDc0MDU4N2M2YWM1YTcxMDhjMDBkOSIKLQotUyA9ICIke1dPUktESVJ9IgotCi1pbmhlcml0IG5hdGl2ZQotCi1FWFRSQV9PRU1BS0UgKz0gImNjPScke0NDfSciCi0KLWRvX2luc3RhbGwgKCkgewotICAgICAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0vCi0gICAgICAgIGluc3RhbGwgLW0gNzU1IHppYyAke0R9JHtiaW5kaXJ9LwotICAgICAgICBpbnN0YWxsIC1tIDc1NSB6ZHVtcCAke0R9JHtiaW5kaXJ9LwotICAgICAgICBpbnN0YWxsIC1tIDc1NSB0enNlbGVjdCAke0R9JHtiaW5kaXJ9LwotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvdHpkYXRhL3R6ZGF0YV8yMDE4aS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3R6ZGF0YS90emRhdGFfMjAxOGkuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ0ODJlODkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvdHpkYXRhL3R6ZGF0YV8yMDE4aS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIxNSArMCwwIEBACi1TVU1NQVJZID0gIlRpbWV6b25lIGRhdGEiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmlhbmEub3JnL3RpbWUtem9uZXMiCi1TRUNUSU9OID0gImJhc2UiCi1MSUNFTlNFID0gIlBEICYgQlNEICYgQlNELTMtQ2xhdXNlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YzY3OWM5ZDZiMDJiYzI3NTdiM2VhZjhmNTNjNDNmYmEiCi0KLURFUEVORFMgPSAidHpjb2RlLW5hdGl2ZSIKLQotU1JDX1VSSSA9ICJodHRwOi8vd3d3LmlhbmEub3JnL3RpbWUtem9uZXMvcmVwb3NpdG9yeS9yZWxlYXNlcy90emRhdGEke1BWfS50YXIuZ3o7bmFtZT10emRhdGEiCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cDovL3d3dy5pYW5hLm9yZy90aW1lLXpvbmVzIgotCi1TUkNfVVJJW3R6ZGF0YS5tZDVzdW1dID0gImIzZjBhMWE3ODk0ODBhMDM2ZTU4NDY2Y2QwNzAyNDc3IgotU1JDX1VSSVt0emRhdGEuc2hhMjU2c3VtXSA9ICI4MmM0NWVmODRjYTNiYzAxZDBhNGEzOTdiYThhZGViOGY3ZjE5OWM2NTUwNzQwNTg3YzZhYzVhNzEwOGMwMGQ5IgotCi1pbmhlcml0IGFsbGFyY2gKLQotUkNPTkZMSUNUU18ke1BOfSA9ICJ0aW1lem9uZXMgdGltZXpvbmUtYWZyaWNhIHRpbWV6b25lLWFtZXJpY2EgdGltZXpvbmUtYW50YXJjdGljYSBcCi0gICAgICAgICAgICAgdGltZXpvbmUtYXJjdGljIHRpbWV6b25lLWFzaWEgdGltZXpvbmUtYXRsYW50aWMgXAotICAgICAgICAgICAgIHRpbWV6b25lLWF1c3RyYWxpYSB0aW1lem9uZS1ldXJvcGUgdGltZXpvbmUtaW5kaWFuIFwKLSAgICAgICAgICAgICB0aW1lem9uZS1pc28zMTY2LnRhYiB0aW1lem9uZS1wYWNpZmljIHRpbWV6b25lLXpvbmUudGFiIgotCi1TID0gIiR7V09SS0RJUn0iCi0KLURFRkFVTFRfVElNRVpPTkUgPz0gIlVuaXZlcnNhbCIKLUlOU1RBTExfVElNRVpPTkVfRklMRSA/PSAiMSIKLQotVFpPTkVTPSAiYWZyaWNhIGFudGFyY3RpY2EgYXNpYSBhdXN0cmFsYXNpYSBldXJvcGUgbm9ydGhhbWVyaWNhIHNvdXRoYW1lcmljYSAgXAotICAgICAgICAgZmFjdG9yeSBldGNldGVyYSBiYWNrd2FyZCBzeXN0ZW12IFwKLSAgICAgICAgIgotIyBwYWNpZmljbmV3IAotCi1kb19jb21waWxlICgpIHsKLSAgICAgICAgZm9yIHpvbmUgaW4gJHtUWk9ORVN9OyBkbyBcCi0gICAgICAgICAgICAke1NUQUdJTkdfQklORElSX05BVElWRX0vemljIC1kICR7V09SS0RJUn0ke2RhdGFkaXJ9L3pvbmVpbmZvIC1MIC9kZXYvbnVsbCBcCi0gICAgICAgICAgICAgICAgLXkgJHtTfS95ZWFyaXN0eXBlLnNoICR7U30vJHt6b25lfSA7IFwKLSAgICAgICAgICAgICR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS96aWMgLWQgJHtXT1JLRElSfSR7ZGF0YWRpcn0vem9uZWluZm8vcG9zaXggLUwgL2Rldi9udWxsIFwKLSAgICAgICAgICAgICAgICAteSAke1N9L3llYXJpc3R5cGUuc2ggJHtTfS8ke3pvbmV9IDsgXAotICAgICAgICAgICAgJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3ppYyAtZCAke1dPUktESVJ9JHtkYXRhZGlyfS96b25laW5mby9yaWdodCAtTCAke1N9L2xlYXBzZWNvbmRzIFwKLSAgICAgICAgICAgICAgICAteSAke1N9L3llYXJpc3R5cGUuc2ggJHtTfS8ke3pvbmV9IDsgXAotICAgICAgICBkb25lCi19Ci0KLWRvX2luc3RhbGwgKCkgewotICAgICAgICBpbnN0YWxsIC1kICR7RH0vJGV4ZWNfcHJlZml4ICR7RH0ke2RhdGFkaXJ9L3pvbmVpbmZvCi0gICAgICAgIGNwIC1wUFIgJHtTfS8kZXhlY19wcmVmaXggJHtEfS8KLSAgICAgICAgIyBsaWJjIGlzIHJlbW92aW5nIHpvbmVpbmZvIGZpbGVzIGZyb20gcGFja2FnZQotICAgICAgICBjcCAtcFAgIiR7U30vem9uZS50YWIiICR7RH0ke2RhdGFkaXJ9L3pvbmVpbmZvCi0gICAgICAgIGNwIC1wUCAiJHtTfS96b25lMTk3MC50YWIiICR7RH0ke2RhdGFkaXJ9L3pvbmVpbmZvCi0gICAgICAgIGNwIC1wUCAiJHtTfS9pc28zMTY2LnRhYiIgJHtEfSR7ZGF0YWRpcn0vem9uZWluZm8KLQotICAgICAgICAjIEluc3RhbGwgZGVmYXVsdCB0aW1lem9uZQotICAgICAgICBpZiBbIC1lICR7RH0ke2RhdGFkaXJ9L3pvbmVpbmZvLyR7REVGQVVMVF9USU1FWk9ORX0gXTsgdGhlbgotICAgICAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfQotICAgICAgICAgICAgaWYgWyAiJHtJTlNUQUxMX1RJTUVaT05FX0ZJTEV9IiA9ICIxIiBdOyB0aGVuCi0gICAgICAgICAgICAgICAgZWNobyAke0RFRkFVTFRfVElNRVpPTkV9ID4gJHtEfSR7c3lzY29uZmRpcn0vdGltZXpvbmUKLSAgICAgICAgICAgIGZpCi0gICAgICAgICAgICBsbiAtcyAke2RhdGFkaXJ9L3pvbmVpbmZvLyR7REVGQVVMVF9USU1FWk9ORX0gJHtEfSR7c3lzY29uZmRpcn0vbG9jYWx0aW1lCi0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGJiZXJyb3IgIkRFRkFVTFRfVElNRVpPTkUgaXMgc2V0IHRvIGFuIGludmFsaWQgdmFsdWUuIgotICAgICAgICAgICAgZXhpdCAxCi0gICAgICAgIGZpCi0KLSAgICAgICAgY2hvd24gLVIgcm9vdDpyb290ICR7RH0KLX0KLQotcGtnX3Bvc3RpbnN0XyR7UE59ICgpIHsKLQlldGNfbHQ9IiREJHtzeXNjb25mZGlyfS9sb2NhbHRpbWUiCi0Jc3JjPSIkRCR7c3lzY29uZmRpcn0vdGltZXpvbmUiCi0KLQlpZiBbIC1lICR7c3JjfSBdIDsgdGhlbgotCQl0ej0kKHNlZCAtZSAnczojLio6OicgLWUgJ3M6W1s6c3BhY2U6XV0qOjpnJyAtZSAnL14kL2QnICIke3NyY30iKQotCWZpCi0JCi0JaWYgWyAteiAiJHt0en0iIF0gOyB0aGVuCi0JCWV4aXQgMAotCWZpCi0JCi0JaWYgWyAhIC1lICIkRCR7ZGF0YWRpcn0vem9uZWluZm8vJHt0en0iIF0gOyB0aGVuCi0JCWVjaG8gIllvdSBoYXZlIGFuIGludmFsaWQgVElNRVpPTkUgc2V0dGluZyBpbiAke3NyY30iCi0JCWVjaG8gIllvdXIgJHtldGNfbHR9IGhhcyBiZWVuIHJlc2V0IHRvIFVuaXZlcnNhbDsgZW5qb3khIgotCQl0ej0iVW5pdmVyc2FsIgotCQllY2hvICJVcGRhdGluZyAke2V0Y19sdH0gd2l0aCAkRCR7ZGF0YWRpcn0vem9uZWluZm8vJHt0en0iCi0JCWlmIFsgLUwgJHtldGNfbHR9IF0gOyB0aGVuCi0JCQlybSAtZiAiJHtldGNfbHR9IgotCQlmaQotCQlsbiAtcyAiJHtkYXRhZGlyfS96b25laW5mby8ke3R6fSIgIiR7ZXRjX2x0fSIKLQlmaQotfQotCi0jIFBhY2thZ2VzIHByaW1hcmlseSBvcmdhbml6ZWQgYnkgZGlyZWN0b3J5IHdpdGggYSBtYWpvciBjaXR5Ci0jIGluIG1vc3QgdGltZSB6b25lcyBpbiB0aGUgYmFzZSBwYWNrYWdlCi0KLVBBQ0tBR0VTID0gInR6ZGF0YSB0emRhdGEtbWlzYyB0emRhdGEtcG9zaXggdHpkYXRhLXJpZ2h0IHR6ZGF0YS1hZnJpY2EgXAotICAgIHR6ZGF0YS1hbWVyaWNhcyB0emRhdGEtYW50YXJjdGljYSB0emRhdGEtYXJjdGljIHR6ZGF0YS1hc2lhIFwKLSAgICB0emRhdGEtYXRsYW50aWMgdHpkYXRhLWF1c3RyYWxpYSB0emRhdGEtZXVyb3BlIHR6ZGF0YS1wYWNpZmljIgotCi1GSUxFU190emRhdGEtYWZyaWNhICs9ICIke2RhdGFkaXJ9L3pvbmVpbmZvL0FmcmljYS8qIgotUlBST1ZJREVTX3R6ZGF0YS1hZnJpY2EgPSAidHpkYXRhLWFmcmljYSIKLQotRklMRVNfdHpkYXRhLWFtZXJpY2FzICs9ICIke2RhdGFkaXJ9L3pvbmVpbmZvL0FtZXJpY2EvKiAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vVVMvKiAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9CcmF6aWwvKiAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0NhbmFkYS8qICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vTWV4aWNvLyogICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9DaGlsZS8qIgotUlBST1ZJREVTX3R6ZGF0YS1hbWVyaWNhcyA9ICJ0emRhdGEtYW1lcmljYXMiCi0KLUZJTEVTX3R6ZGF0YS1hbnRhcmN0aWNhICs9ICIke2RhdGFkaXJ9L3pvbmVpbmZvL0FudGFyY3RpY2EvKiIKLVJQUk9WSURFU190emRhdGEtYW50YXJjdGljYSA9ICJ0emRhdGEtYW50YXJjdGljYSIKLQotRklMRVNfdHpkYXRhLWFyY3RpYyArPSAiJHtkYXRhZGlyfS96b25laW5mby9BcmN0aWMvKiIKLVJQUk9WSURFU190emRhdGEtYXJjdGljID0gInR6ZGF0YS1hcmN0aWMiCi0KLUZJTEVTX3R6ZGF0YS1hc2lhICs9ICIke2RhdGFkaXJ9L3pvbmVpbmZvL0FzaWEvKiAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vSW5kaWFuLyogICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9NaWRlYXN0LyoiCi1SUFJPVklERVNfdHpkYXRhLWFzaWEgPSAidHpkYXRhLWFzaWEiCi0KLUZJTEVTX3R6ZGF0YS1hdGxhbnRpYyArPSAiJHtkYXRhZGlyfS96b25laW5mby9BdGxhbnRpYy8qIgotUlBST1ZJREVTX3R6ZGF0YS1hdGxhbnRpYyA9ICJ0emRhdGEtYXRsYW50aWMiCi0KLUZJTEVTX3R6ZGF0YS1hdXN0cmFsaWEgKz0gIiR7ZGF0YWRpcn0vem9uZWluZm8vQXVzdHJhbGlhLyoiCi1SUFJPVklERVNfdHpkYXRhLWF1c3RyYWxpYSA9ICJ0emRhdGEtYXVzdHJhbGlhIgotCi1GSUxFU190emRhdGEtZXVyb3BlICs9ICIke2RhdGFkaXJ9L3pvbmVpbmZvL0V1cm9wZS8qIgotUlBST1ZJREVTX3R6ZGF0YS1ldXJvcGUgPSAidHpkYXRhLWV1cm9wZSIKLQotRklMRVNfdHpkYXRhLXBhY2lmaWMgKz0gIiR7ZGF0YWRpcn0vem9uZWluZm8vUGFjaWZpYy8qIgotUlBST1ZJREVTX3R6ZGF0YS1wYWNpZmljID0gInR6ZGF0YS1wYWNpZmljIgotCi1GSUxFU190emRhdGEtcG9zaXggKz0gIiR7ZGF0YWRpcn0vem9uZWluZm8vcG9zaXgvKiIKLVJQUk9WSURFU190emRhdGEtcG9zaXggPSAidHpkYXRhLXBvc2l4IgotCi1GSUxFU190emRhdGEtcmlnaHQgKz0gIiR7ZGF0YWRpcn0vem9uZWluZm8vcmlnaHQvKiIKLVJQUk9WSURFU190emRhdGEtcmlnaHQgPSAidHpkYXRhLXJpZ2h0IgotCi0KLUZJTEVTX3R6ZGF0YS1taXNjICs9ICIke2RhdGFkaXJ9L3pvbmVpbmZvL0N1YmEgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0VneXB0ICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0VpcmUgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0ZhY3RvcnkgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0dCLUVpcmUgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0hvbmdrb25nICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0ljZWxhbmQgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0lyYW4gICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0lzcmFlbCAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0phbWFpY2EgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0phcGFuICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0t3YWphbGVpbiAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0xpYnlhICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL05hdmFqbyAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1BvbGFuZCAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1BvcnR1Z2FsICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1NpbmdhcG9yZSAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1R1cmtleSIKLVJQUk9WSURFU190emRhdGEtbWlzYyA9ICJ0emRhdGEtbWlzYyIKLQotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS96b25laW5mby9QYWNpZmljL0hvbm9sdWx1ICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9BbWVyaWNhL0FuY2hvcmFnZSAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9BbWVyaWNhL0xvc19BbmdlbGVzICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9BbWVyaWNhL0RlbnZlciAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9BbWVyaWNhL0NoaWNhZ28gICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9BbWVyaWNhL05ld19Zb3JrICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9BbWVyaWNhL0NhcmFjYXMgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9BbWVyaWNhL1Nhb19QYXVsbyAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9FdXJvcGUvTG9uZG9uICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9FdXJvcGUvUGFyaXMgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9BZnJpY2EvQ2Fpcm8gICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9FdXJvcGUvTW9zY293ICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9Bc2lhL0R1YmFpICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9Bc2lhL0thcmFjaGkgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9Bc2lhL0RoYWthICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9Bc2lhL0Jhbmdrb2sgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9Bc2lhL0hvbmdfS29uZyAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9Bc2lhL1Rva3lvICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9BdXN0cmFsaWEvRGFyd2luICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9BdXN0cmFsaWEvQWRlbGFpZGUgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9BdXN0cmFsaWEvQnJpc2JhbmUgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9BdXN0cmFsaWEvU3lkbmV5ICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9QYWNpZmljL05vdW1lYSAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9DRVQgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9DU1Q2Q0RUICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9FRVQgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9FU1QgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9FU1Q1RURUICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9HQiAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9HTVQgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9HTVQrMCAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9HTVQtMCAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9HTVQwICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9HcmVlbndpY2ggICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9IU1QgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9NRVQgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9NU1QgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9NU1Q3TURUICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9OWiAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9OWi1DSEFUICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9QUkMgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9QU1Q4UERUICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9ST0MgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9ST0sgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9VQ1QgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9VVEMgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9Vbml2ZXJzYWwgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9XLVNVICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9XRVQgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9adWx1ICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby96b25lLnRhYiAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby96b25lMTk3MC50YWIgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9pc28zMTY2LnRhYiAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9FdGMvKiIKLQotQ09ORkZJTEVTXyR7UE59ICs9ICIke0AgIiR7c3lzY29uZmRpcn0vdGltZXpvbmUiIGlmIGJiLnV0aWxzLnRvX2Jvb2xlYW4oZC5nZXRWYXIoJ0lOU1RBTExfVElNRVpPTkVfRklMRScpKSBlbHNlICIiIH0iCi1DT05GRklMRVNfJHtQTn0gKz0gIiR7c3lzY29uZmRpcn0vbG9jYWx0aW1lIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvd2dldC93Z2V0LmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3dnZXQvd2dldC5pbmMKaW5kZXggM2NmZjY1Ni4uMDdlOGQ4ZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvd2dldC93Z2V0LmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93Z2V0L3dnZXQuaW5jCkBAIC0zLDEyICszLDExIEBACiBTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKIExJQ0VOU0UgPSAiR1BMdjMiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jNjc4OTU3YjBjOGU5NjRhYTZjNzBmZDc3NjQxYTcxZSIKLURFUEVORFMgPSAiZ251dGxzIHpsaWIgbGlicGNyZSIKIAogaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCB0ZXhpbmZvIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgcGtnY29uZmlnCiAKLUVYVFJBX09FQ09ORiA9ICItLXdpdGgtc3NsPWdudXRscyAtLWRpc2FibGUtcnBhdGggLS1kaXNhYmxlLWlyaSBcCi0gICAgICAgICAgICAgICAgLS13aXRob3V0LWxpYmdudXRscy1wcmVmaXggYWNfY3ZfaGVhZGVyX3V1aWRfdXVpZF9oPW5vIgorRVhUUkFfT0VDT05GID0gIi0td2l0aG91dC1saWJnbnV0bHMtcHJlZml4IC0td2l0aG91dC1saWJzc2wtcHJlZml4IFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtcnBhdGgiCiAKIEVYVFJBX09FTUFLRSArPSAnVE9PTENIQUlOX09QVElPTlM9IiR7VE9PTENIQUlOX09QVElPTlN9IiBcCiAgICAgICAgICAgICAgICAgIERFQlVHX1BSRUZJWF9NQVA9IiR7REVCVUdfUFJFRklYX01BUH0iJwpAQCAtMjEsOSArMjAsMTcgQEAKIAogQkJDTEFTU0VYVEVORCA9ICJuYXRpdmVzZGsiCiAKLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgZCl9IgotUEFDS0FHRUNPTkZJR1tsaWJ1dWlkXSA9ICItLXdpdGgtbGlidXVpZCwgLS13aXRob3V0LWxpYnV1aWQsdXRpbC1saW51eCIKK1BBQ0tBR0VDT05GSUcgPz89ICJnbnV0bHMgcGNyZSB6bGliIFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgZCl9IgorUEFDS0FHRUNPTkZJR1thcmVzXSA9ICItLXdpdGgtY2FyZXMsLS13aXRob3V0LWNhcmVzLGMtYXJlcyIKK1BBQ0tBR0VDT05GSUdbZ251dGxzXSA9ICItLXdpdGgtc3NsPWdudXRscywsZ251dGxzIgogUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2LCIKK1BBQ0tBR0VDT05GSUdbaXJpXSA9ICItLWVuYWJsZS1pcmksLS1kaXNhYmxlLWlyaSxsaWJpZG4yIgorUEFDS0FHRUNPTkZJR1tsaWJwc2xdID0gIi0td2l0aC1saWJwc2wsLS13aXRob3V0LWxpYnBzbCxsaWJwc2wiCitQQUNLQUdFQ09ORklHW2xpYnV1aWRdID0gIi0td2l0aC1saWJ1dWlkLC0td2l0aG91dC1saWJ1dWlkLHV0aWwtbGludXgiCitQQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC1zc2w9b3BlbnNzbCwsb3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbcGNyZV0gPSAiLS1lbmFibGUtcGNyZSwtLWRpc2FibGUtcGNyZSxsaWJwY3JlIgorUEFDS0FHRUNPTkZJR1t6bGliXSA9ICItLXdpdGgtemxpYiwtLXdpdGhvdXQtemxpYix6bGliIgogCiAjIExldCBhY2xvY2FsIHVzZSB0aGUgcmVsYXRpdmUgcGF0aCBmb3IgdGhlIG00IGZpbGUgcmF0aGVyIHRoYW4KICMgYWJzb2x1dGUsIG90aGVyd2lzZSB0aGVyZSBtaWdodCBiZSBhbiAiQXJndW1lbnQgbGlzdCB0b28gbG9uZyIgZXJyb3IKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3dnZXQvd2dldC8wMDAxLVVuc2V0LW5lZWRfY2hhcnNldF9hbGlhcy13aGVuLWJ1aWxkaW5nLWZvci1tdXNsLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvd2dldC93Z2V0LzAwMDEtVW5zZXQtbmVlZF9jaGFyc2V0X2FsaWFzLXdoZW4tYnVpbGRpbmctZm9yLW11c2wucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBiM2M2ZjUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvd2dldC93Z2V0LzAwMDEtVW5zZXQtbmVlZF9jaGFyc2V0X2FsaWFzLXdoZW4tYnVpbGRpbmctZm9yLW11c2wucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi1Gcm9tIGI5NTY1ZGMyZmUwYzRmN2RhYWVjOTFiN2U4M2JjNzMxM2RlZTJmNGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogTW9uLCAxMyBBcHIgMjAxNSAxNzowMjoxMyAtMDcwMAotU3ViamVjdDogW1BBVENIXSBVbnNldCBuZWVkX2NoYXJzZXRfYWxpYXMgd2hlbiBidWlsZGluZyBmb3IgbXVzbAotCi1sb2NhbGNoYXJzZXQgdXNlcyBhY19jdl9nbnVfbGlicmFyeV8yXzEgZnJvbSBnbGliYzIxLm00Ci13aGljaCBhY3R1YWxseSBzaG91ZGwgYmUgZml4ZWQgaW4gZ251bGliIGFuZCB0aGVuIGFsbCBkb3duc3RyZWFtCi1wcm9qZWN0cyB3aWxsIGdldCBpdCBldmVudHVhbGx5LiBGb3Igbm93IHdlIGFwcGx5IHRoZSBmaXggdG8KLWNvcmV1dGlscwotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGxpYi9nbnVsaWIubWsgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLUluZGV4OiB3Z2V0LTEuMTYuMy9saWIvTWFrZWZpbGUuYW0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSB3Z2V0LTEuMTYuMy5vcmlnL2xpYi9NYWtlZmlsZS5hbQotKysrIHdnZXQtMS4xNi4zL2xpYi9NYWtlZmlsZS5hbQotQEAgLTg0Niw3ICs4NDYsNyBAQCBpbnN0YWxsLWV4ZWMtbG9jYWxjaGFyc2V0OiBhbGwtbG9jYWwKLSAJICBjYXNlICckKGhvc3Rfb3MpJyBpbiBcCi0gCSAgICBkYXJ3aW5bNTZdKikgXAotIAkgICAgICBuZWVkX2NoYXJzZXRfYWxpYXM9dHJ1ZSA7OyBcCi0tCSAgICBkYXJ3aW4qIHwgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKSBcCi0rCSAgICBkYXJ3aW4qIHwgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqIHwgbGludXgtbXVzbCopIFwKLSAJICAgICAgbmVlZF9jaGFyc2V0X2FsaWFzPWZhbHNlIDs7IFwKLSAJICAgICopIFwKLSAJICAgICAgbmVlZF9jaGFyc2V0X2FsaWFzPXRydWUgOzsgXApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvd2dldC93Z2V0XzEuMTkuNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3dnZXQvd2dldF8xLjE5LjUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUzN2Q4YzcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvd2dldC93Z2V0XzEuMTkuNS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9L3dnZXQvd2dldC0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1VbnNldC1uZWVkX2NoYXJzZXRfYWxpYXMtd2hlbi1idWlsZGluZy1mb3ItbXVzbC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLWltcHJvdmUtcmVwcm9kdWNpYmlsaXR5LnBhdGNoIFwKLSAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIyZGI2ZjAzZDY1NTA0MWY4MmViNjRiOGM4YTFmYTdkYSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJiMzkyMTJhYmUxYTczZjJiMjhmNGM2Y2IyMjNjNzM4NTU5Y2FhYzkxZDZlNDE2YTZkOTFkNGI5ZDU1YzlmYWVlIgotCi1yZXF1aXJlIHdnZXQuaW5jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93Z2V0L3dnZXRfMS4yMC4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvd2dldC93Z2V0XzEuMjAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMTc2YmQwCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvd2dldC93Z2V0XzEuMjAuMS5iYgpAQCAtMCwwICsxLDggQEAKK1NSQ19VUkkgPSAiJHtHTlVfTUlSUk9SfS93Z2V0L3dnZXQtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItaW1wcm92ZS1yZXByb2R1Y2liaWxpdHkucGF0Y2ggXAorICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gImY2ZWJlOWM3YjM3NWZjOTgzMmZiMWIyMDI4MjcxZmI3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImI3ODNiMzkwY2I1NzFjODM3YjM5Mjg1Nzk0NWY1YTFmMDBlYzZiMDQzMTc3Y2M0MmFiYjhlZTFiNTQyZWUxYjMiCisKK3JlcXVpcmUgd2dldC5pbmMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2VwaXBoYW55L2VwaXBoYW55XzMuMjguMy4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZXBpcGhhbnkvZXBpcGhhbnlfMy4yOC4zLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI0NmM5ZDMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZXBpcGhhbnkvZXBpcGhhbnlfMy4yOC4zLjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi1TVU1NQVJZID0gIldlYktpdCBiYXNlZCB3ZWIgYnJvd3NlciBmb3IgR05PTUUiCi1MSUNFTlNFID0gIkdQTHYzKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgotCi1ERVBFTkRTID0gImxpYnNvdXAtMi40IHdlYmtpdGd0ayBndGsrMyBpc28tY29kZXMgYXZhaGkgbGlibm90aWZ5IGdjciBcCi0JICAgZ3NldHRpbmdzLWRlc2t0b3Atc2NoZW1hcyBsaWJ4bWwyLW5hdGl2ZSBcCi0JICAgZ2xpYi0yLjAgZ2xpYi0yLjAtbmF0aXZlIGpzb24tZ2xpYiIKLQotR05PTUVCQVNFQlVJTERDTEFTUyA9ICJtZXNvbiIKLWluaGVyaXQgZ25vbWViYXNlIGdzZXR0aW5ncyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuIGdldHRleHQKLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEgb3BlbmdsIgotCi1TUkNfVVJJID0gIiR7R05PTUVfTUlSUk9SfS8ke0dOT01FQk59LyR7QGdub21lX3ZlcmRpcigiJHtQVn0iKX0vJHtHTk9NRUJOfS0ke1BWfS50YXIuJHtHTk9NRV9DT01QUkVTU19UWVBFfTtuYW1lPWFyY2hpdmUgXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1oZWxwLW1lc29uLmJ1aWxkLWRpc2FibGUtdGhlLXVzZS1vZi15ZWxwLnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiMzFhNGE0NDNlOGUyMmYwODVhMTBmODBiN2U0MWQ1ZjMiCi1TUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI2OTA1NDZhNzAxZjA0NmM1YzJiM2EwOTI2NTk1ODllYTZlMTdjYjBmOWE4MWVjM2ZkYjMwNDZiMDBjZWRlNmY3IgotCi1FWFRSQV9PRU1FU09OICs9ICIgLURkaXN0cmlidXRvcl9uYW1lPSR7RElTVFJPfSIKLQotRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZGJ1cy0xICR7ZGF0YWRpcn0vZ25vbWUtc2hlbGwvc2VhcmNoLXByb3ZpZGVycyAke2RhdGFkaXJ9L21ldGFpbmZvIgotUkRFUEVORFNfJHtQTn0gPSAiaXNvLWNvZGVzIGFkd2FpdGEtaWNvbi10aGVtZSBnc2V0dGluZ3MtZGVza3RvcC1zY2hlbWFzIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZXBpcGhhbnkvZXBpcGhhbnlfMy4zMC4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZXBpcGhhbnkvZXBpcGhhbnlfMy4zMC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE2NGM4MmYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9lcGlwaGFueS9lcGlwaGFueV8zLjMwLjMuYmIKQEAgLTAsMCArMSwyMiBAQAorU1VNTUFSWSA9ICJXZWJLaXQgYmFzZWQgd2ViIGJyb3dzZXIgZm9yIEdOT01FIgorTElDRU5TRSA9ICJHUEx2MysiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworREVQRU5EUyA9ICJsaWJzb3VwLTIuNCB3ZWJraXRndGsgZ3RrKzMgaXNvLWNvZGVzIGF2YWhpIGxpYm5vdGlmeSBnY3IgXAorCSAgIGdzZXR0aW5ncy1kZXNrdG9wLXNjaGVtYXMgbGlieG1sMi1uYXRpdmUgXAorCSAgIGdsaWItMi4wIGdsaWItMi4wLW5hdGl2ZSBqc29uLWdsaWIgbGliZGF6emxlIgorCitHTk9NRUJBU0VCVUlMRENMQVNTID0gIm1lc29uIgoraW5oZXJpdCBnbm9tZWJhc2UgZ3NldHRpbmdzIGRpc3Ryb19mZWF0dXJlc19jaGVjayB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4gZ2V0dGV4dAorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSBvcGVuZ2wiCisKK1NSQ19VUkkgPSAiJHtHTk9NRV9NSVJST1J9LyR7R05PTUVCTn0vJHtAZ25vbWVfdmVyZGlyKCIke1BWfSIpfS8ke0dOT01FQk59LSR7UFZ9LnRhci4ke0dOT01FX0NPTVBSRVNTX1RZUEV9O25hbWU9YXJjaGl2ZSBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLWhlbHAtbWVzb24uYnVpbGQtZGlzYWJsZS10aGUtdXNlLW9mLXllbHAucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJmZDA1NzAyYjFjOWJjYjZhMDYzM2RlNTRjNGE2Y2NkMiIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjc2Y2RiOGRiNmFmMmRhOGMzMzcxYTczZTJkZmQ1YmE2NDg2N2I1ZjFlNjVmYTk2MjFmMzUzNDhhNDJmZjBkMTciCisKK0VYVFJBX09FTUVTT04gKz0gIiAtRGRpc3RyaWJ1dG9yX25hbWU9JHtESVNUUk99IgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9kYnVzLTEgJHtkYXRhZGlyfS9nbm9tZS1zaGVsbC9zZWFyY2gtcHJvdmlkZXJzICR7ZGF0YWRpcn0vbWV0YWluZm8iCitSREVQRU5EU18ke1BOfSA9ICJpc28tY29kZXMgYWR3YWl0YS1pY29uLXRoZW1lIGdzZXR0aW5ncy1kZXNrdG9wLXNjaGVtYXMiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nY3IvZ2NyXzMuMjguMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2djci9nY3JfMy4yOC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNzk2MzYyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2djci9nY3JfMy4yOC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAotU1VNTUFSWSA9ICJBIGxpYnJhcnkgZm9yIGJpdHMgb2YgY3J5cHRvIFVJIGFuZCBwYXJzaW5nIGV0YyIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuZ25vbWUub3JnLyIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvIgotCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTVjYTgxN2NjYjdkNWI1YjY2MzU1NjkwZTlhYmM2MDUiCi0KLURFUEVORFMgPSAiaW50bHRvb2wtbmF0aXZlIGd0ayszIHAxMS1raXQgZ2xpYi0yLjAgbGliZ2NyeXB0IFwKLSAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0dJX0RBVEFfRU5BQkxFRCcsICdUcnVlJywgJ2xpYnhzbHQtbmF0aXZlJywgJycsIGQpfSIKLQotaW5oZXJpdCBnbm9tZWJhc2UgZ3RrLWljb24tY2FjaGUgZ3RrLWRvYyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuIHZhbGEgZ29iamVjdC1pbnRyb3NwZWN0aW9uCi0jIGRlcGVuZHMgb24gZ3RrKzMsIGJ1dCBhbHNvIHgxMSB0aHJvdWdoIGd0aysteDExCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgotCi1TUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI1MzIxMzE5MzA3ZGFkMzRkY2EyZmQ1MmU3YzljMDFhYiIKLVNSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjE1ZTE3NWQxZGE3ZWM0ODZkNTk3NDliYTM0OTA2MjQxYzQ0Mjg5ODExOGNlMjI0YTdiNzBiZjJlODQ5ZmFmMGIiCi0KLUZJTEVTXyR7UE59ICs9ICIgXAotICAgICR7ZGF0YWRpcn0vZGJ1cy0xIFwKLSAgICAke2RhdGFkaXJ9L2djci0zIFwKLSIKLQotIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMjAyMjkvCi1BUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY0ID0gImFybSIKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgotQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NiA9ICJhcm0iCi0KLSMgVGhlc2UgZmlsZXMgbWF5IGJlIG91dCBvZiBkYXRlIG9yIG1pc3Npbmcgb3VyIGZpeGVzCi0jIGxpYmdjcnlwdC5tNCBpbiBwYXJ0aWN1bGFyIGlzIGNhbGxpbmcgaW50byBsaWJnY3J5cHQtY29uZmlnCi1kb19jb25maWd1cmVfcHJlcGVuZCgpIHsKLSAgICBybSAtZiAke1N9L2J1aWxkL200LyoKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2djci9nY3JfMy4yOC4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2NyL2djcl8zLjI4LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjI5OTE5OQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2djci9nY3JfMy4yOC4xLmJiCkBAIC0wLDAgKzEsMzIgQEAKK1NVTU1BUlkgPSAiQSBsaWJyYXJ5IGZvciBiaXRzIG9mIGNyeXB0byBVSSBhbmQgcGFyc2luZyBldGMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lmdub21lLm9yZy8iCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLyIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU1Y2E4MTdjY2I3ZDViNWI2NjM1NTY5MGU5YWJjNjA1IgorCitERVBFTkRTID0gImludGx0b29sLW5hdGl2ZSBndGsrMyBwMTEta2l0IGdsaWItMi4wIGxpYmdjcnlwdCBcCisgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHSV9EQVRBX0VOQUJMRUQnLCAnVHJ1ZScsICdsaWJ4c2x0LW5hdGl2ZScsICcnLCBkKX0iCisKK2luaGVyaXQgZ25vbWViYXNlIGd0ay1pY29uLWNhY2hlIGd0ay1kb2MgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbiB2YWxhIGdvYmplY3QtaW50cm9zcGVjdGlvbgorIyBkZXBlbmRzIG9uIGd0ayszLCBidXQgYWxzbyB4MTEgdGhyb3VnaCBndGsrLXgxMQorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiYWZkODhjYWNmZDU0YzFhYzViM2UwZWIzNWUzYWE2NzQiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI5NTIwNGFhMjExMWMzMDE3NzhlYmZiZTYwOTc1Y2UzZWQ2OThjOTU4NDMwZmZjYzJhNzg1YWM1ZTU5M2QxNjhiIgorCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAke2RhdGFkaXJ9L2RidXMtMSBcCisgICAgJHtkYXRhZGlyfS9nY3ItMyBcCisiCisKKyMgaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzIwMjI5LworQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NCA9ICJhcm0iCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY1ID0gImFybSIKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjYgPSAiYXJtIgorCisjIFRoZXNlIGZpbGVzIG1heSBiZSBvdXQgb2YgZGF0ZSBvciBtaXNzaW5nIG91ciBmaXhlcworIyBsaWJnY3J5cHQubTQgaW4gcGFydGljdWxhciBpcyBjYWxsaW5nIGludG8gbGliZ2NyeXB0LWNvbmZpZworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgcm0gLWYgJHtTfS9idWlsZC9tNC8qCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nZGstcGl4YnVmL2dkay1waXhidWYvMDAwMS1GaXgtYS1jb3VwbGUtb2YtZGVjaXNpb25zLWFyb3VuZC1jcm9zcy1jb21waWxhdGlvbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi8wMDAxLUZpeC1hLWNvdXBsZS1vZi1kZWNpc2lvbnMtYXJvdW5kLWNyb3NzLWNvbXBpbGF0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2MzhmZDMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nZGstcGl4YnVmL2dkay1waXhidWYvMDAwMS1GaXgtYS1jb3VwbGUtb2YtZGVjaXNpb25zLWFyb3VuZC1jcm9zcy1jb21waWxhdGlvbi5wYXRjaApAQCAtMCwwICsxLDQ2IEBACitGcm9tIGJmNzE5OTliNmU2NGQxZjE5MTliMDM1MWIyN2MxYzQxN2UyYjg4NTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMTQgRmViIDIwMTkgMTg6MDY6MjUgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gR2VuZXJhdGUgbG9hZGVycy5jYWNoZSB1c2luZyBhIG5hdGl2ZSB0b29sIHdoZW4KKyBjcm9zcy1jb21waWxpbmcKKworT3RoZXJ3aXNlIG1lc29uIHdvdWxkIGF0dGVtcHQgdG8gcnVuIGEgdGFyZ2V0IGJpbmFyeS4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKworLS0tCisgZ2RrLXBpeGJ1Zi9tZXNvbi5idWlsZCB8IDEzICsrKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvZ2RrLXBpeGJ1Zi9tZXNvbi5idWlsZCBiL2dkay1waXhidWYvbWVzb24uYnVpbGQKK2luZGV4IDE5OTVmZmQuLmQ2OTJjYjcgMTAwNjQ0CistLS0gYS9nZGstcGl4YnVmL21lc29uLmJ1aWxkCisrKysgYi9nZGstcGl4YnVmL21lc29uLmJ1aWxkCitAQCAtMjkxLDYgKzI5MSw3IEBAIGZvcmVhY2ggYmluOiBnZGtwaXhidWZfYmluCisgICBzZXRfdmFyaWFibGUoYmluX25hbWUudW5kZXJzY29yaWZ5KCksIGJpbikKKyBlbmRmb3JlYWNoCisgCisraWYgbm90IG1lc29uLmlzX2Nyb3NzX2J1aWxkKCkKKyAjIFRoZSAnbG9hZGVycy5jYWNoZScgdXNlZCBmb3IgdGVzdGluZywgc28gd2UgZG9uJ3QgYWNjaWRlbnRhbGx5CisgIyBsb2FkIHRoZSBpbnN0YWxsZWQgY2FjaGU7IHdlIGFsd2F5cyBidWlsZCBpdCBieSBkZWZhdWx0CisgbG9hZGVyc19jYWNoZSA9IGN1c3RvbV90YXJnZXQoJ2xvYWRlcnMuY2FjaGUnLAorQEAgLTMwMiw2ICszMDMsMTggQEAgbG9hZGVyc19jYWNoZSA9IGN1c3RvbV90YXJnZXQoJ2xvYWRlcnMuY2FjaGUnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRfYnlfZGVmYXVsdDogdHJ1ZSkKKyBsb2FkZXJzX2RlcCA9IGRlY2xhcmVfZGVwZW5kZW5jeShzb3VyY2VzOiBbIGxvYWRlcnNfY2FjaGUgXSkKKytlbHNlCisrbG9hZGVyc19jYWNoZSA9IGN1c3RvbV90YXJnZXQoJ2xvYWRlcnMuY2FjaGUnLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dDogJ2xvYWRlcnMuY2FjaGUnLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhcHR1cmU6IHRydWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVwZW5kczogWyBkeW5hbWljX2xvYWRlcnNfZGVwIF0sCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZDogWworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2dkay1waXhidWYtcXVlcnktbG9hZGVycycsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkeW5hbWljX2xvYWRlcnMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWlsZF9ieV9kZWZhdWx0OiB0cnVlKQorK2xvYWRlcnNfZGVwID0gZGVjbGFyZV9kZXBlbmRlbmN5KHNvdXJjZXM6IFsgbG9hZGVyc19jYWNoZSBdKQorK2VuZGlmCisgCisgcGtnY29uZmlnID0gaW1wb3J0KCdwa2djb25maWcnKQorIHBrZ2NvbmZpZy5nZW5lcmF0ZSgKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi8wMDAxLUZpeC13aXRob3V0LWxpYnRpZmYtbm90LWhhdmluZy1hbi1lZmZlY3QucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nZGstcGl4YnVmL2dkay1waXhidWYvMDAwMS1GaXgtd2l0aG91dC1saWJ0aWZmLW5vdC1oYXZpbmctYW4tZWZmZWN0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYTU0ZDhlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi8wMDAxLUZpeC13aXRob3V0LWxpYnRpZmYtbm90LWhhdmluZy1hbi1lZmZlY3QucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1Gcm9tIDQ2MGJlZmM5OTJhZGIzMjQzNGIwNDA4YjQ1M2JlMzlhNjg2NmNjZjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMTAgT2N0IDIwMTcgMTQ6MzM6MTggKzAzMDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IC0td2l0aG91dC1saWJ0aWZmIG5vdCBoYXZpbmcgYW4gZWZmZWN0LgotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4ODc3MF0KLVNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgotLS0tCi0gY29uZmlndXJlLmFjIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCAzMTVlMGNjLi45OGU3ODBjIDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmFjCi0rKysgYi9jb25maWd1cmUuYWMKLUBAIC02NzYsNyArNjc2LDcgQEAgaWYgdGVzdCB4JGdpb19jYW5fc25pZmYgPSB4OyB0aGVuCi0gICBBQ19ERUZJTkUoR0RLX1BJWEJVRl9VU0VfR0lPX01JTUUsIDEsIFtEZWZpbmUgaWYgZ2lvIGNhbiBzbmlmZiBpbWFnZSBkYXRhXSkKLSBmaQotIAotLUFNX0NPTkRJVElPTkFMKEhBVkVfVElGRiwgdGVzdCAieCRsaWJ0aWZmX2ZvdW5kIiAhPSB4KQotK0FNX0NPTkRJVElPTkFMKEhBVkVfVElGRiwgdGVzdCAieCRsaWJ0aWZmX2ZvdW5kIiAhPSB4bm8pCi0gQU1fQ09ORElUSU9OQUwoSEFWRV9QTkcsIHRlc3QgIngkTElCUE5HIiAhPSB4KQotIEFNX0NPTkRJVElPTkFMKEhBVkVfSlBFRywgdGVzdCAieCRMSUJKUEVHIiAhPSB4KQotIEFNX0NPTkRJVElPTkFMKEhBVkVfSkFTUEVSLCB0ZXN0ICJ4JExJQkpBU1BFUiIgIT0geCkKLS0tIAotMi4xNC4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi8wMDAxLVdvcmstYXJvdW5kLXRodW1ibmFpbGVyLWNyb3NzLWNvbXBpbGUtZmFpbHVyZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi8wMDAxLVdvcmstYXJvdW5kLXRodW1ibmFpbGVyLWNyb3NzLWNvbXBpbGUtZmFpbHVyZS5wYXRjaAppbmRleCAzMWVkOTg4Li4xMTBiMzJhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nZGstcGl4YnVmL2dkay1waXhidWYvMDAwMS1Xb3JrLWFyb3VuZC10aHVtYm5haWxlci1jcm9zcy1jb21waWxlLWZhaWx1cmUucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmLzAwMDEtV29yay1hcm91bmQtdGh1bWJuYWlsZXItY3Jvc3MtY29tcGlsZS1mYWlsdXJlLnBhdGNoCkBAIC0xLDQ3ICsxLDI4IEBACi1Gcm9tIDY2NDZlOGFhZGM0MDMwZDg5MWFjMjdjMjU0OTRlNTc5M2Q1OWRjODUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKdXNzaSBLdWtrb25lbiA8anVzc2kua3Vra29uZW5AaW50ZWwuY29tPgotRGF0ZTogV2VkLCAyMiBGZWIgMjAxNyAxMToyNDozOSArMDIwMAorRnJvbSA4YzdjZWQ5ODhkZWY1MjY1NDk0NjQ1OGEzNzc5ZTM4M2IyN2YxNGY3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBUaHUsIDE0IEZlYiAyMDE5IDE3OjU2OjEwICswMTAwCiBTdWJqZWN0OiBbUEFUQ0hdIFdvcmstYXJvdW5kIHRodW1ibmFpbGVyIGNyb3NzLWNvbXBpbGUgZmFpbHVyZQogCiBJbnN0YWxsIGdkay1waXhidWYtcHJpbnQtbWltZS10eXBlcyB0aGF0J3MgbmVlZGVkIGZvciB0aHVtYm5haWwKIG1ldGFkYXRhIGdlbmVyYXRpb24uCiAKLVVzZSBuYXRpdmUgZ2RrLXBpeGJ1Zi1wcmludC1taW1lLXR5cGVzIHdoZW4gZ2VuZXJhdGluZyB0aGUgdGh1bWJuYWlsCi1tZXRhZGF0YS4gVGhpcyB3b3JrcyBidXQgdGhlIG1pbWUgdHlwZXMgd2lsbCBjb21lIGZyb20gbmF0aXZlCi1sb2FkZXIuY2FjaGUgKHdoaWNoIHdpbGwgb25seSBjb250YWluIGluLXRyZWUgbG9hZGVycyksIG5vdCBmcm9tIHRoZQotdGFyZ2V0IGxvYWRlci5jYWNoZS4KLQogVGhlIHVwc3RyZWFtIGlzc3VlIGlzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzkwNTcKIAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFt3b3JrYXJvdW5kXQotU2lnbmVkLW9mZi1ieTogSnVzc2kgS3Vra29uZW4gPGp1c3NpLmt1a2tvbmVuQGludGVsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgogLS0tCi0gdGh1bWJuYWlsZXIvTWFrZWZpbGUuYW0gfCA3ICsrKy0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorIHRodW1ibmFpbGVyL21lc29uLmJ1aWxkIHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCiAKLWRpZmYgLS1naXQgYS90aHVtYm5haWxlci9NYWtlZmlsZS5hbSBiL3RodW1ibmFpbGVyL01ha2VmaWxlLmFtCi1pbmRleCBjOWZlMTIzLi5iMGM2YzcwIDEwMDY0NAotLS0tIGEvdGh1bWJuYWlsZXIvTWFrZWZpbGUuYW0KLSsrKyBiL3RodW1ibmFpbGVyL01ha2VmaWxlLmFtCi1AQCAtMSw1ICsxLDQgQEAKLS1iaW5fUFJPR1JBTVMgPSBnZGstcGl4YnVmLXRodW1ibmFpbGVyCi0tbm9pbnN0X1BST0dSQU1TID0gZ2RrLXBpeGJ1Zi1wcmludC1taW1lLXR5cGVzCi0rYmluX1BST0dSQU1TID0gZ2RrLXBpeGJ1Zi10aHVtYm5haWxlciBnZGstcGl4YnVmLXByaW50LW1pbWUtdHlwZXMKK2RpZmYgLS1naXQgYS90aHVtYm5haWxlci9tZXNvbi5idWlsZCBiL3RodW1ibmFpbGVyL21lc29uLmJ1aWxkCitpbmRleCBlODAxMTQ0Li5hYWFmZWM4IDEwMDY0NAorLS0tIGEvdGh1bWJuYWlsZXIvbWVzb24uYnVpbGQKKysrKyBiL3RodW1ibmFpbGVyL21lc29uLmJ1aWxkCitAQCAtMTAsNiArMTAsNyBAQCBleGVjdXRhYmxlKCdnZGstcGl4YnVmLXRodW1ibmFpbGVyJywKKyBnZGtfcGl4YnVmX3ByaW50X21pbWVfdHlwZXMgPSBleGVjdXRhYmxlKCdnZGstcGl4YnVmLXByaW50LW1pbWUtdHlwZXMnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2dkay1waXhidWYtcHJpbnQtbWltZS10eXBlcy5jJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNfYXJnczogY29tbW9uX2NmbGFncywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbGw6IHRydWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXM6IGdka19waXhidWZfZGVwcyArIFsgZ2RrcGl4YnVmX2RlcCBdKQogIAotIGdka19waXhidWZfdGh1bWJuYWlsZXJfU09VUkNFUyA9IGdkay1waXhidWYtdGh1bWJuYWlsZXIuYyBnbm9tZS10aHVtYm5haWxlci1za2VsZXRvbi5jIGdub21lLXRodW1ibmFpbGVyLXNrZWxldG9uLmgKLSBnZGtfcGl4YnVmX3RodW1ibmFpbGVyX0NQUEZMQUdTID0JCQlcCi1AQCAtMjUsOSArMjQsOSBAQCBnZGtfcGl4YnVmX3ByaW50X21pbWVfdHlwZXNfTERBREQgPQkJCVwKLSAKLSB0aHVtYm5haWxlcmRpciA9ICQoZGF0YWRpcikvdGh1bWJuYWlsZXJzLwotIHRodW1ibmFpbGVyX0RBVEEgPSBnZGstcGl4YnVmLXRodW1ibmFpbGVyLnRodW1ibmFpbGVyCi0tZ2RrLXBpeGJ1Zi10aHVtYm5haWxlci50aHVtYm5haWxlcjogZ2RrLXBpeGJ1Zi10aHVtYm5haWxlci50aHVtYm5haWxlci5pbiBNYWtlZmlsZSBnZGstcGl4YnVmLXByaW50LW1pbWUtdHlwZXMkKEVYRUVYVCkgJCh0b3BfYnVpbGRkaXIpL2dkay1waXhidWYvbG9hZGVycy5jYWNoZQotK2dkay1waXhidWYtdGh1bWJuYWlsZXIudGh1bWJuYWlsZXI6IGdkay1waXhidWYtdGh1bWJuYWlsZXIudGh1bWJuYWlsZXIuaW4gTWFrZWZpbGUgZ2RrLXBpeGJ1Zi1wcmludC1taW1lLXR5cGVzJChFWEVFWFQpCi0gCSQoQU1fVl9HRU4pICQoU0VEKSAtZSAic3xcQGJpbmRpclxAfCQoYmluZGlyKXwiCQkJCQkJXAotLQktZSAic3xcQG1pbWV0eXBlc1xAfGBHREtfUElYQlVGX01PRFVMRV9GSUxFPSQodG9wX2J1aWxkZGlyKS9nZGstcGl4YnVmL2xvYWRlcnMuY2FjaGUgR0RLX1BJWEJVRl9QSVhEQVRBPSQodG9wX2J1aWxkZGlyKS9nZGstcGl4YnVmL2dkay1waXhidWYtcGl4ZGF0YSAkKGJ1aWxkZGlyKS9nZGstcGl4YnVmLXByaW50LW1pbWUtdHlwZXNgfCIgXAotKwktZSAic3xcQG1pbWV0eXBlc1xAfGBnZGstcGl4YnVmLXByaW50LW1pbWUtdHlwZXNgfCIgXAotIAkkPCA+ICRACi0gCi0gRVhUUkFfRElTVCA9IGdkay1waXhidWYtdGh1bWJuYWlsZXIudGh1bWJuYWlsZXIuaW4KLS0tIAotMi4xLjQKLQorIGN1c3RvbV90YXJnZXQoJ3RodW1ibmFpbGVyJywKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi8wMDAxLWxvYWRlcnMuY2FjaGUtZGVwZW5kLW9uLWxvYWRlcnMtYmVpbmctZnVsbHktYnVpbGQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nZGstcGl4YnVmL2dkay1waXhidWYvMDAwMS1sb2FkZXJzLmNhY2hlLWRlcGVuZC1vbi1sb2FkZXJzLWJlaW5nLWZ1bGx5LWJ1aWxkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhNzc1MTUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nZGstcGl4YnVmL2dkay1waXhidWYvMDAwMS1sb2FkZXJzLmNhY2hlLWRlcGVuZC1vbi1sb2FkZXJzLWJlaW5nLWZ1bGx5LWJ1aWxkLnBhdGNoCkBAIC0wLDAgKzEsNTEgQEAKK0Zyb20gMTE2YmM4ZjdhNjAzNGNlNDMwNTM4NzZhNzJhMTMyZmNkNGUxZTQ3MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogV2VkLCAyMCBGZWIgMjAxOSAxOTo1MzowNyArMDEwMAorU3ViamVjdDogW1BBVENIXSBsb2FkZXJzLmNhY2hlOiBkZXBlbmQgb24gbG9hZGVycyBiZWluZyBmdWxseSBidWlsZAorCitPdGhlcndpc2UsIHJhY2VzIGhhdmUgYmVlbiBvYnNlcnZlZDoKK2h0dHBzOi8vYXV0b2J1aWxkZXIueW9jdG9wcm9qZWN0Lm9yZy90eXBob29uLyMvYnVpbGRlcnMvNjEvYnVpbGRzLzMxMC9zdGVwcy83L2xvZ3Mvc3RlcDFiCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CisKKy0tLQorIGdkay1waXhidWYvbWVzb24uYnVpbGQgfCA0ICsrKysKKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9nZGstcGl4YnVmL21lc29uLmJ1aWxkIGIvZ2RrLXBpeGJ1Zi9tZXNvbi5idWlsZAoraW5kZXggZmMzZWIzMy4uNGU3ZWQyMCAxMDA2NDQKKy0tLSBhL2dkay1waXhidWYvbWVzb24uYnVpbGQKKysrKyBiL2dkay1waXhidWYvbWVzb24uYnVpbGQKK0BAIC0xNzEsNiArMTcxLDcgQEAgZ2RrcGl4YnVmX2RlcCA9IGRlY2xhcmVfZGVwZW5kZW5jeShsaW5rX3dpdGg6IGdka3BpeGJ1ZiwKKyAjIE5vdyBjaGVjayBpZiB3ZSBhcmUgYnVpbGRpbmcgbG9hZGVycyBhcyBpbnN0YWxsZWQgc2hhcmVkIG1vZHVsZXMKKyAjIFdlIGRvIHRoaXMgaGVyZSBiZWNhdXNlIHNoYXJlZCBtb2R1bGVzIGRlcGVuZCBvbiBsaWJnZGstcGl4YnVmCisgZHluYW1pY19sb2FkZXJzID0gW10KKytkeW5hbWljX2xvYWRlcnNfZGVwID0gW10KKyAKKyBmb3JlYWNoIGw6IGxvYWRlcnMKKyAgIG5hbWUgPSBsWzBdCitAQCAtMTg5LDYgKzE5MCw3IEBAIGZvcmVhY2ggbDogbG9hZGVycworIAorICAgICAjIFdlIG5lZWQgdGhlIHBhdGggdG8gYnVpbGQgbG9hZGVycy5jYWNoZSBmb3IgdGVzdHMKKyAgICAgZHluYW1pY19sb2FkZXJzICs9IG1vZC5mdWxsX3BhdGgoKQorKyAgICBkeW5hbWljX2xvYWRlcnNfZGVwICs9IG1vZAorICAgZW5kaWYKKyBlbmRmb3JlYWNoCisgCitAQCAtMjA2LDYgKzIwOCw3IEBAIGlmIGVuYWJsZV9uYXRpdmVfd2luZG93c19sb2FkZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0YWxsOiB0cnVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGFsbF9kaXI6IGdka19waXhidWZfbG9hZGVyZGlyKQorICAgICAgIGR5bmFtaWNfbG9hZGVycyArPSBtb2QuZnVsbF9wYXRoKCkKKysgICAgICBkeW5hbWljX2xvYWRlcnNfZGVwICs9IG1vZAorICAgICBlbmRmb3JlYWNoCisgICBlbmRpZgorIGVuZGlmCitAQCAtMjM2LDYgKzIzOSw3IEBAIGlmIG5vdCBtZXNvbi5pc19jcm9zc19idWlsZCgpCisgbG9hZGVyc19jYWNoZSA9IGN1c3RvbV90YXJnZXQoJ2xvYWRlcnMuY2FjaGUnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dDogJ2xvYWRlcnMuY2FjaGUnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhcHR1cmU6IHRydWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVwZW5kczogWyBkeW5hbWljX2xvYWRlcnNfZGVwIF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZDogWworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2RrX3BpeGJ1Zl9xdWVyeV9sb2FkZXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHluYW1pY19sb2FkZXJzLApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmLzAwMDMtdGFyZ2V0LW9ubHktV29yay1hcm91bmQtdGh1bWJuYWlsZXItY3Jvc3MtY29tcGlsZS1mYS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi8wMDAzLXRhcmdldC1vbmx5LVdvcmstYXJvdW5kLXRodW1ibmFpbGVyLWNyb3NzLWNvbXBpbGUtZmEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTI4OTYyZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi8wMDAzLXRhcmdldC1vbmx5LVdvcmstYXJvdW5kLXRodW1ibmFpbGVyLWNyb3NzLWNvbXBpbGUtZmEucGF0Y2gKQEAgLTAsMCArMSw5NiBAQAorRnJvbSA2ZmM3ZjM0MTM5OWVjNDlhYjA2Yzk0NDI2ZjUwZGJkY2E0OWEyODQ0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBGcmksIDIyIEZlYiAyMDE5IDEzOjIyOjA2ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdICh0YXJnZXQgb25seSkgV29yay1hcm91bmQgdGh1bWJuYWlsZXIgYW5kIHBpeGRhdGEKKyBjcm9zcy1jb21waWxlIGZhaWx1cmUKKworVXNlIG5hdGl2ZSBnZGstcGl4YnVmLXByaW50LW1pbWUtdHlwZXMgYW5kIGdkay1waXhidWYtcGl4ZGF0YQord2hlbiBnZW5lcmF0aW5nIHRoZSB0aHVtYm5haWwgbWV0YWRhdGEgYW5kIHJlc291cmNlcy4KKworVGhpcyB3b3JrcyBidXQgdGhlIG1pbWUgdHlwZXMgd2lsbCBjb21lIGZyb20gbmF0aXZlCitsb2FkZXIuY2FjaGUgKHdoaWNoIHdpbGwgb25seSBjb250YWluIGluLXRyZWUgbG9hZGVycyksIG5vdCBmcm9tIHRoZQordGFyZ2V0IGxvYWRlci5jYWNoZS4KKworVGhlIHVwc3RyZWFtIGlzc3VlIGlzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzkwNTcKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFt3b3JrYXJvdW5kXQorU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyBidWlsZC1hdXgvZ2VuLXRodW1ibmFpbGVyLnB5IHwgIDIgLS0KKyB0ZXN0cy9tZXNvbi5idWlsZCAgICAgICAgICAgIHwgMTEgKysrKysrKysrLS0KKyB0aHVtYm5haWxlci9tZXNvbi5idWlsZCAgICAgIHwgIDUgKy0tLS0KKyAzIGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9idWlsZC1hdXgvZ2VuLXRodW1ibmFpbGVyLnB5IGIvYnVpbGQtYXV4L2dlbi10aHVtYm5haWxlci5weQoraW5kZXggMDVhYzgyMS4uYzViOTlhYiAxMDA2NDQKKy0tLSBhL2J1aWxkLWF1eC9nZW4tdGh1bWJuYWlsZXIucHkKKysrKyBiL2J1aWxkLWF1eC9nZW4tdGh1bWJuYWlsZXIucHkKK0BAIC0yMCw4ICsyMCw2IEBAIGFyZ3BhcnNlci5hZGRfYXJndW1lbnQoJ291dHB1dCcsIGhlbHA9J091dHB1dCBmaWxlJykKKyBhcmdzID0gYXJncGFyc2VyLnBhcnNlX2FyZ3MoKQorIAorIG5ld2VudiA9IG9zLmVudmlyb24uY29weSgpCistbmV3ZW52WydHREtfUElYQlVGX1BJWERBVEEnXSA9IGFyZ3MucGl4ZGF0YQorLW5ld2VudlsnR0RLX1BJWEJVRl9NT0RVTEVfRklMRSddID0gYXJncy5sb2FkZXJzCisgIyAnbnQnOiBOVC1iYXNlZCBXaW5kb3dzLCBzZWUgaHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvMy9saWJyYXJ5L29zLmh0bWwKKyBpZiBvcy5uYW1lID09ICdudCc6CisgICAgIGdka19waXhidWZfZGxsX2J1aWxkcGF0aCA9IG9zLnBhdGguZGlybmFtZShhcmdzLnBpeGRhdGEpCitkaWZmIC0tZ2l0IGEvdGVzdHMvbWVzb24uYnVpbGQgYi90ZXN0cy9tZXNvbi5idWlsZAoraW5kZXggNGZhM2ZiYy4uZWNhNTE2NiAxMDA2NDQKKy0tLSBhL3Rlc3RzL21lc29uLmJ1aWxkCisrKysgYi90ZXN0cy9tZXNvbi5idWlsZAorQEAgLTEsMTIgKzEsMTkgQEAKKyAjIFJlc291cmNlczsgd2UgY2Fubm90IHVzZSBnbm9tZS5jb21waWxlX3Jlc291cmNlcygpIGhlcmUsIGJlY2F1c2Ugd2UgbmVlZCB0bworICMgb3ZlcnJpZGUgdGhlIGVudmlyb25tZW50IGluIG9yZGVyIHRvIHVzZSB0aGUgdXRpbGl0aWVzIHdlIGp1c3QgYnVpbHQgaW5zdGVhZAorICMgb2YgdGhlIHN5c3RlbSBvbmVzCisrCisraWYgbm90IG1lc29uLmlzX2Nyb3NzX2J1aWxkKCkKKytwaXhkYXRhX2JpbmFyeSA9IGdka19waXhidWZfcGl4ZGF0YS5mdWxsX3BhdGgoKQorK2Vsc2UKKytwaXhkYXRhX2JpbmFyeSA9ICdnZGstcGl4YnVmLXBpeGRhdGEnCisrZW5kaWYKKysKKyByZXNvdXJjZXNfYyA9IGN1c3RvbV90YXJnZXQoJ3Jlc291cmNlcy5jJywKKyAgIGlucHV0OiAncmVzb3VyY2VzLmdyZXNvdXJjZS54bWwnLAorICAgb3V0cHV0OiAncmVzb3VyY2VzLmMnLAorICAgY29tbWFuZDogWworICAgICBnZW5fcmVzb3VyY2VzLAorLSAgICAnLS1waXhkYXRhPUAwQCcuZm9ybWF0KGdka19waXhidWZfcGl4ZGF0YS5mdWxsX3BhdGgoKSksCisrICAgICctLXBpeGRhdGE9QDBAJy5mb3JtYXQocGl4ZGF0YV9iaW5hcnkpLAorICAgICAnLS1sb2FkZXJzPUAwQCcuZm9ybWF0KGxvYWRlcnNfY2FjaGUuZnVsbF9wYXRoKCkpLAorICAgICAnLS1zb3VyY2VkaXI9QDBAJy5mb3JtYXQobWVzb24uY3VycmVudF9zb3VyY2VfZGlyKCkpLAorICAgICAnLS1zb3VyY2UnLAorQEAgLTI0LDcgKzMxLDcgQEAgcmVzb3VyY2VzX2ggPSBjdXN0b21fdGFyZ2V0KCdyZXNvdXJjZXMuaCcsCisgICBvdXRwdXQ6ICdyZXNvdXJjZXMuaCcsCisgICBjb21tYW5kOiBbCisgICAgIGdlbl9yZXNvdXJjZXMsCistICAgICctLXBpeGRhdGE9QDBAJy5mb3JtYXQoZ2RrX3BpeGJ1Zl9waXhkYXRhLmZ1bGxfcGF0aCgpKSwKKysgICAgJy0tcGl4ZGF0YT1AMEAnLmZvcm1hdChwaXhkYXRhX2JpbmFyeSksCisgICAgICctLWxvYWRlcnM9QDBAJy5mb3JtYXQobG9hZGVyc19jYWNoZS5mdWxsX3BhdGgoKSksCisgICAgICctLXNvdXJjZWRpcj1AMEAnLmZvcm1hdChtZXNvbi5jdXJyZW50X3NvdXJjZV9kaXIoKSksCisgICAgICctLWhlYWRlcicsCitkaWZmIC0tZ2l0IGEvdGh1bWJuYWlsZXIvbWVzb24uYnVpbGQgYi90aHVtYm5haWxlci9tZXNvbi5idWlsZAoraW5kZXggYWFhZmVjOC4uNzFiZDYxYiAxMDA2NDQKKy0tLSBhL3RodW1ibmFpbGVyL21lc29uLmJ1aWxkCisrKysgYi90aHVtYm5haWxlci9tZXNvbi5idWlsZAorQEAgLTE4LDkgKzE4LDcgQEAgY3VzdG9tX3RhcmdldCgndGh1bWJuYWlsZXInLAorICAgICAgICAgICAgICAgb3V0cHV0OiAnZ2RrLXBpeGJ1Zi10aHVtYm5haWxlci50aHVtYm5haWxlcicsCisgICAgICAgICAgICAgICBjb21tYW5kOiBbCisgICAgICAgICAgICAgICAgIGdlbl90aHVtYm5haWxlciwKKy0gICAgICAgICAgICAgICAgJy0tcHJpbnRlcj1AMEAnLmZvcm1hdChnZGtfcGl4YnVmX3ByaW50X21pbWVfdHlwZXMuZnVsbF9wYXRoKCkpLAorLSAgICAgICAgICAgICAgICAnLS1waXhkYXRhPUAwQCcuZm9ybWF0KGdka19waXhidWZfcGl4ZGF0YS5mdWxsX3BhdGgoKSksCistICAgICAgICAgICAgICAgICctLWxvYWRlcnM9QDBAJy5mb3JtYXQobG9hZGVyc19jYWNoZS5mdWxsX3BhdGgoKSksCisrICAgICAgICAgICAgICAgICctLXByaW50ZXI9Z2RrLXBpeGJ1Zi1wcmludC1taW1lLXR5cGVzJywKKyAgICAgICAgICAgICAgICAgJy0tYmluZGlyPUAwQCcuZm9ybWF0KGdka19waXhidWZfYmluZGlyKSwKKyAgICAgICAgICAgICAgICAgJ0BJTlBVVEAnLAorICAgICAgICAgICAgICAgICAnQE9VVFBVVEAnLAorQEAgLTI4LDcgKzI2LDYgQEAgY3VzdG9tX3RhcmdldCgndGh1bWJuYWlsZXInLAorICAgICAgICAgICAgICAgZGVwZW5kczogWworICAgICAgICAgICAgICAgICBnZGtfcGl4YnVmX3ByaW50X21pbWVfdHlwZXMsCisgICAgICAgICAgICAgICAgIGdka19waXhidWZfcGl4ZGF0YSwKKy0gICAgICAgICAgICAgICAgbG9hZGVyc19jYWNoZSwKKyAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICBpbnN0YWxsOiB0cnVlLAorICAgICAgICAgICAgICAgaW5zdGFsbF9kaXI6IGpvaW5fcGF0aHMoZ2RrX3BpeGJ1Zl9kYXRhZGlyLCAndGh1bWJuYWlsZXJzJykpCistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nZGstcGl4YnVmL2dkay1waXhidWYvMDAwNC1Eby1ub3QtcnVuLXRlc3RzLXdoZW4tYnVpbGRpbmcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nZGstcGl4YnVmL2dkay1waXhidWYvMDAwNC1Eby1ub3QtcnVuLXRlc3RzLXdoZW4tYnVpbGRpbmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTZjNTQ2ZgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi8wMDA0LURvLW5vdC1ydW4tdGVzdHMtd2hlbi1idWlsZGluZy5wYXRjaApAQCAtMCwwICsxLDM5IEBACitGcm9tIDNjNGE2YzE0N2FlOGEwOTYyYmE5MTk0MzczZDhhNDFkMTRlZWQ0NGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjIgRmViIDIwMTkgMTM6MjM6NTUgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRG8gbm90IHJ1biB0ZXN0cyB3aGVuIGJ1aWxkaW5nCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY3Jvc3MtY29tcGlsZSBzcGVjaWZpY10KK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorLS0tCisgdGVzdHMvbWVzb24uYnVpbGQgfCAxNyAtLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rlc3RzL21lc29uLmJ1aWxkIGIvdGVzdHMvbWVzb24uYnVpbGQKK2luZGV4IDRmYTNmYmMuLjZlZjc4ODQgMTAwNjQ0CistLS0gYS90ZXN0cy9tZXNvbi5idWlsZAorKysrIGIvdGVzdHMvbWVzb24uYnVpbGQKK0BAIC0xMzgsMjMgKzEzOCw2IEBAIGZvcmVhY2ggdDogaW5zdGFsbGVkX3Rlc3RzCisgICAgIGluc3RhbGxfZGlyOiBpbnN0YWxsZWRfdGVzdF9iaW5kaXIsCisgICApCisgCistICAjIFR3byBwYXJ0aWN1bGFybHkgc2xvdyB0ZXN0cworLSAgaWYgdGVzdF9zdWl0ZXMuY29udGFpbnMoJ3Nsb3cnKQorLSAgICB0aW1lb3V0ID0gMzAwCistICBlbHNlCistICAgIHRpbWVvdXQgPSAzMAorLSAgZW5kaWYKKy0KKy0gIHRlc3QodGVzdF9uYW1lLCB0ZXN0X2JpbiwKKy0gICAgc3VpdGU6IHRlc3Rfc3VpdGVzLAorLSAgICBhcmdzOiBbICctaycsICctLXRhcCcgXSwKKy0gICAgZW52OiBbCistICAgICAgJ0dfVEVTVF9TUkNESVI9QDBAJy5mb3JtYXQobWVzb24uY3VycmVudF9zb3VyY2VfZGlyKCkpLAorLSAgICAgICdHX1RFU1RfQlVJTERESVI9QDBAJy5mb3JtYXQobWVzb24uY3VycmVudF9idWlsZF9kaXIoKSksCistICAgICAgJ0dES19QSVhCVUZfTU9EVUxFX0ZJTEU9QDBAJy5mb3JtYXQobG9hZGVyc19jYWNoZS5mdWxsX3BhdGgoKSksCistICAgIF0sCistICAgIHRpbWVvdXQ6IHRpbWVvdXQsCistICApCisgZW5kZm9yZWFjaAorIAorIGV4ZWN1dGFibGUoJ3BpeGJ1Zi1yZWFkJywKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi9leHRlbmRpbmctbGliaW5zdGFsbC1kZXBlbmRlbmNpZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nZGstcGl4YnVmL2dkay1waXhidWYvZXh0ZW5kaW5nLWxpYmluc3RhbGwtZGVwZW5kZW5jaWVzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZGJkY2VkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi9leHRlbmRpbmctbGliaW5zdGFsbC1kZXBlbmRlbmNpZXMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotVGhpcyBwYXRjaCBmaXhlcyBwYXJhbGxlbCBpbnN0YWxsIGlzc3VlIHRoYXQgbGliIGxpYnBpeGJ1ZmxvYWRlci1wbmcubGEKLWRlcGVuZHMgb24gbGliZ2RrX3BpeGJ1Zi0yLjAubGEgd2hpY2ggd2lsbCBiZSByZWdlbmVyYXRlZCBkdXJpbmcgaW5zdGEtCi1sbGF0aW9uLCBpZiBsaWJnZGtfcGl4YnVmLTIuMC5sYSBpcyByZWdlbmVyYXRpbmcgYW5kIGF0IHRoZSBzYW1lIHRpbWUKLWxpYnBpeGJ1ZmxvYWRlci1wbmcubGEgbGlua3MgaXQsIHRoZSBlcnJvciB3aWxsIGhhcHBlbi4KLQotRXJyb3IgbWVzc2FnZSBpczoKLSogdXNyL2Jpbi9sZDogY2Fubm90IGZpbmQgLWxnZGtfcGl4YnVmLTIuMAotKiBjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwotCi1NYWtlIGFuIGV4cGxpY2l0IGRlcGVuZGVuY3kgdG8gdGhlIGxpYnMgaW5zdGFsbCB0YXJnZXRzIHdvdWxkIGZpeCB0aGlzCi1pc3N1ZS4KLQotU2lnbmVkLW9mZi1ieTogV2Vuem9uZyBGYW4gPHdlbnpvbmcuZmFuQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBnZGstcGl4YnVmL01ha2VmaWxlLmFtIHwgICAgMSArCi0gbGliZGVwcy5tayAgICAgICAgICAgICB8ICAgIDMgKysrCi0gMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYmRlcHMubWsKLQotZGlmZiAtLWdpdCBhL2dkay1waXhidWYvTWFrZWZpbGUuYW0gYi9nZGstcGl4YnVmL01ha2VmaWxlLmFtCi1pbmRleCA5NWE5M2E4Li5kYjQ0Y2FlIDEwMDY0NAotLS0tIGEvZ2RrLXBpeGJ1Zi9NYWtlZmlsZS5hbQotKysrIGIvZ2RrLXBpeGJ1Zi9NYWtlZmlsZS5hbQotQEAgLTc4MywzICs3ODMsNCBAQCBsb2FkZXJzLmNhY2hlOgotIGVuZGlmCi0gCi0gLWluY2x1ZGUgJCh0b3Bfc3JjZGlyKS9naXQubWsKLSstaW5jbHVkZSAkKHRvcF9zcmNkaXIpL2xpYmRlcHMubWsKLWRpZmYgLS1naXQgYS9saWJkZXBzLm1rIGIvbGliZGVwcy5tawotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLmQ3YTEwYTgKLS0tLSAvZGV2L251bGwKLSsrKyBiL2xpYmRlcHMubWsKLUBAIC0wLDAgKzEsMyBAQAotKyMgRXh0ZW5kaW5nIGRlcGVuZGVuY2llcyBvZiBpbnN0YWxsLWxvYWRlckxUTElCUkFSSUVTOgotKyMgVGhlICQobGliLUxUTElCUkFSSUVTKSBpcyBuZWVkZWQgYnkgcmVsaW5raW5nICQobG9hZGVyX0xUTElCUkFSSUVTKQotK2luc3RhbGwtbG9hZGVyTFRMSUJSQVJJRVM6IGluc3RhbGwtbGliTFRMSUJSQVJJRVMKLS0tIAotMS43LjYuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nZGstcGl4YnVmL2dkay1waXhidWYvZmF0YWwtbG9hZGVyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmL2ZhdGFsLWxvYWRlci5wYXRjaAppbmRleCA3ZDBkNTRiLi4yNTQxMGIxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nZGstcGl4YnVmL2dkay1waXhidWYvZmF0YWwtbG9hZGVyLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi9mYXRhbC1sb2FkZXIucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIGI2YTdiMzA1MjI0NTVjYWIzOWEwYjllYTg0NjMzMTMzODAxNDZlNzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGYwMDYwM2Q1OGQ4NDQ0MjIzNjNiODk2ZWE3ZDA3YWFmNDhkZGFhNjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgogRGF0ZTogVHVlLCAxIEFwciAyMDE0IDE3OjIzOjM2ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMy80XSBnZGstcGl4YnVmOiBhZGQgYW4gb3B0aW9uIHNvIHRoYXQgbG9hZGVyIGVycm9ycyBhcmUgZmF0YWwKK1N1YmplY3Q6IFtQQVRDSF0gZ2RrLXBpeGJ1ZjogYWRkIGFuIG9wdGlvbiBzbyB0aGF0IGxvYWRlciBlcnJvcnMgYXJlIGZhdGFsCiAKIElmIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIHNwZWNpZmllZCBzZXQgdGhlIHJldHVybiB2YWx1ZSBmcm9tIG1haW4oKSB0bwogbm9uLXplcm8gaWYgdGhlIGxvYWRlciBoYWQgZXJyb3JzIChtaXNzaW5nIGxpYnJhcmllcywgZ2VuZXJhbGx5KS4KQEAgLTE0LDEwICsxNCwxMCBAQAogIDEgZmlsZSBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvZ2RrLXBpeGJ1Zi9xdWVyeWxvYWRlcnMuYyBiL2dkay1waXhidWYvcXVlcnlsb2FkZXJzLmMKLWluZGV4IGE4MWM4MDQuLjM1MGJlYzggMTAwNjQ0CitpbmRleCAzMTJhYTc4Li5iODEzZDk5IDEwMDY0NAogLS0tIGEvZ2RrLXBpeGJ1Zi9xdWVyeWxvYWRlcnMuYwogKysrIGIvZ2RrLXBpeGJ1Zi9xdWVyeWxvYWRlcnMuYwotQEAgLTE0Niw3ICsxNDYsNyBAQCB3cml0ZV9sb2FkZXJfaW5mbyAoR1N0cmluZyAqY29udGVudHMsIGNvbnN0IGNoYXIgKnBhdGgsIEdka1BpeGJ1ZkZvcm1hdCAqaW5mbykKK0BAIC0yMTIsNyArMjEyLDcgQEAgd3JpdGVfbG9hZGVyX2luZm8gKEdTdHJpbmcgKmNvbnRlbnRzLCBjb25zdCBjaGFyICpwYXRoLCBHZGtQaXhidWZGb3JtYXQgKmluZm8pCiAgICAgICAgICBnX3N0cmluZ19hcHBlbmRfYyAoY29udGVudHMsICdcbicpOwogIH0KICAKQEAgLTI2LDcgKzI2LDcgQEAKICBxdWVyeV9tb2R1bGUgKEdTdHJpbmcgKmNvbnRlbnRzLCBjb25zdCBjaGFyICpkaXIsIGNvbnN0IGNoYXIgKmZpbGUpCiAgewogICAgICAgICAgY2hhciAqcGF0aDsKLUBAIC0xNTUsNiArMTU1LDcgQEAgcXVlcnlfbW9kdWxlIChHU3RyaW5nICpjb250ZW50cywgY29uc3QgY2hhciAqZGlyLCBjb25zdCBjaGFyICpmaWxlKQorQEAgLTIyMSw2ICsyMjEsNyBAQCBxdWVyeV9tb2R1bGUgKEdTdHJpbmcgKmNvbnRlbnRzLCBjb25zdCBjaGFyICpkaXIsIGNvbnN0IGNoYXIgKmZpbGUpCiAgICAgICAgICB2b2lkICAgICAgICAgICAgICAgICAgICAoKmZpbGxfdnRhYmxlKSAgIChHZGtQaXhidWZNb2R1bGUgKm1vZHVsZSk7CiAgICAgICAgICBncG9pbnRlciBmaWxsX2luZm9fcHRyOwogICAgICAgICAgZ3BvaW50ZXIgZmlsbF92dGFibGVfcHRyOwpAQCAtMzQsNyArMzQsNyBAQAogIAogICAgICAgICAgaWYgKGdfcGF0aF9pc19hYnNvbHV0ZSAoZmlsZSkpCiAgICAgICAgICAgICAgICAgIHBhdGggPSBnX3N0cmR1cCAoZmlsZSk7Ci1AQCAtMjA0LDEwICsyMDUsMTMgQEAgcXVlcnlfbW9kdWxlIChHU3RyaW5nICpjb250ZW50cywgY29uc3QgY2hhciAqZGlyLCBjb25zdCBjaGFyICpmaWxlKQorQEAgLTI3MCwxMCArMjcxLDEzIEBAIHF1ZXJ5X21vZHVsZSAoR1N0cmluZyAqY29udGVudHMsIGNvbnN0IGNoYXIgKmRpciwgY29uc3QgY2hhciAqZmlsZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfbW9kdWxlX2Vycm9yKCkpOwogICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgZ19mcHJpbnRmIChzdGRlcnIsICJDYW5ub3QgbG9hZCBsb2FkZXIgJXNcbiIsIHBhdGgpOwpAQCAtNDgsMjYgKzQ4LDI2IEBACiAgfQogIAogICNpZmRlZiBHX09TX1dJTjMyCi1AQCAtMjU3LDYgKzI2MSw3IEBAIGludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi0gICAgICAgICBHU3RyaW5nICpjb250ZW50czsKLSAgICAgICAgIGdjaGFyICpjYWNoZV9maWxlID0gTlVMTDsKK0BAIC0zMTQsNiArMzE4LDcgQEAgaW50IG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgICAgICAgIGdpbnQgZmlyc3RfZmlsZSA9IDE7CisgICAgICAgICBHRmlsZSAqcGl4YnVmX2xpYmRpcl9maWxlOworICAgICAgICAgZ2NoYXIgKnBpeGJ1Zl9saWJkaXI7CiArICAgICAgICBnYm9vbGVhbiBzdWNjZXNzID0gVFJVRTsKICAKICAjaWZkZWYgR19PU19XSU4zMgogICAgICAgICAgZ2NoYXIgKmxpYmRpcjsKLUBAIC0zNzAsNyArMzc1LDkgQEAgaW50IG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKK0BAIC00NTIsNyArNDU3LDkgQEAgaW50IG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICBtb2R1bGVzID0gZ19saXN0X3NvcnQgKG1vZHVsZXMsIChHQ29tcGFyZUZ1bmMpc3RyY21wKTsKICAgICAgICAgICAgICAgICAgZm9yIChsID0gbW9kdWxlczsgbCAhPSBOVUxMOyBsID0gbC0+bmV4dCkKLS0gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeV9tb2R1bGUgKGNvbnRlbnRzLCBwYXRoLCBsLT5kYXRhKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXF1ZXJ5X21vZHVsZSAoY29udGVudHMsIHBhdGgsIGwtPmRhdGEpKQorLSAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5X21vZHVsZSAoY29udGVudHMsIG1vZHVsZWRpciwgbC0+ZGF0YSk7CisrICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFxdWVyeV9tb2R1bGUgKGNvbnRlbnRzLCBtb2R1bGVkaXIsIGwtPmRhdGEpKQogKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyA9IEZBTFNFOwogKwogICAgICAgICAgICAgICAgICBnX2xpc3RfZnJlZV9mdWxsIChtb2R1bGVzLCBnX2ZyZWUpOworICAgICAgICAgICAgICAgICBnX2ZyZWUgKG1vZHVsZWRpcik7CiAgI2Vsc2UKLSAgICAgICAgICAgICAgICAgZ19zdHJpbmdfYXBwZW5kX3ByaW50ZiAoY29udGVudHMsICIjIGR5bmFtaWMgbG9hZGluZyBvZiBtb2R1bGVzIG5vdCBzdXBwb3J0ZWRcbiIpOwotQEAgLTM4NSw3ICszOTIsOCBAQCBpbnQgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorQEAgLTQ2OCw3ICs0NzUsOCBAQCBpbnQgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgICAgICAgICAgICAgICAgICAgIGluZmlsZW5hbWUgPSBnX2xvY2FsZV90b191dGY4IChpbmZpbGVuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMSwgTlVMTCwgTlVMTCwgTlVMTCk7CiAgI2VuZGlmCkBAIC03Nyw5ICs3Nyw5IEBACiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgZ19mcmVlIChjd2QpOwogICAgICAgICAgfQotQEAgLTQwMSw1ICs0MDksOCBAQCBpbnQgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQotICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICBnX3ByaW50ICgiJXNcbiIsIGNvbnRlbnRzLT5zdHIpOworQEAgLTQ4Niw1ICs0OTQsOCBAQCBpbnQgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorIAorICAgICAgICAgZ19mcmVlIChwaXhidWZfbGliZGlyKTsKICAKIC0gICAgICAgIHJldHVybiAwOwogKyAgICAgICAgaWYgKGdfZ2V0ZW52ICgiR0RLX1BJWEJVRl9GQVRBTF9MT0FERVIiKSkKQEAgLTg3LDYgKzg3LDMgQEAKICsgICAgICAgIGVsc2UKICsgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgfQotLS0gCi0yLjE0LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmL2hhcmRjb2RlZF9saWJ0b29sLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmL2hhcmRjb2RlZF9saWJ0b29sLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlY2NhNjJhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi9oYXJkY29kZWRfbGlidG9vbC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KLQotSW5kZXg6IGdkay1waXhidWYtMi4yMi4xL2NvbmZpZ3VyZS5hYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkay1waXhidWYtMi4yMi4xLm9yaWcvY29uZmlndXJlLmFjCTIwMTAtMTEtMjYgMDk6MDY6MzQuMDAwMDAwMDAwICswODAwCi0rKysgZ2RrLXBpeGJ1Zi0yLjIyLjEvY29uZmlndXJlLmFjCTIwMTAtMTEtMjYgMDk6MDc6MzMuMDAwMDAwMDAwICswODAwCi1AQCAtMjg3LDcgKzI4Nyw3IEBACi0gY2FzZSAkZW5hYmxlX2V4cGxpY2l0X2RlcHMgaW4KLSAgIGF1dG8pCi0gICAgIGV4cG9ydCBTRUQKLS0gICAgZGVwbGlic19jaGVja19tZXRob2Q9YCguL2xpYnRvb2wgLS1jb25maWc7IGVjaG8gJ2V2YWwgZWNobyBcIiRkZXBsaWJzX2NoZWNrX21ldGhvZFwiJykgfCBzaGAKLSsgICAgZGVwbGlic19jaGVja19tZXRob2Q9YCguLyRob3N0X2FsaWFzLWxpYnRvb2wgLS1jb25maWc7IGVjaG8gJ2V2YWwgZWNobyBcIiRkZXBsaWJzX2NoZWNrX21ldGhvZFwiJykgfCBzaGAKLSAgICAgaWYgdGVzdCAieCRkZXBsaWJzX2NoZWNrX21ldGhvZCIgJyE9JyB4cGFzc19hbGwgfHwgdGVzdCAieCRlbmFibGVfc3RhdGljIiA9IHh5ZXMgOyB0aGVuCi0gICAgICAgZW5hYmxlX2V4cGxpY2l0X2RlcHM9eWVzCi0gICAgIGVsc2UKLUBAIC00ODQsNyArNDg0LDcgQEAKLSAgICAgZG5sIE5vdyB3ZSBjaGVjayB0byBzZWUgaWYgb3VyIGxpYnRvb2wgc3VwcG9ydHMgc2hhcmVkIGxpYiBkZXBzCi0gICAgIGRubCAoaW4gYSByYXRoZXIgdWdseSB3YXkgZXZlbikKLSAgICAgaWYgJGR5bndvcmtzOyB0aGVuCi0tICAgICAgICBwaXhidWZfbGlidG9vbF9jb25maWc9IiR7Q09ORklHX1NIRUxMLS9iaW4vc2h9IC4vbGlidG9vbCAtLWNvbmZpZyIKLSsgICAgICAgIHBpeGJ1Zl9saWJ0b29sX2NvbmZpZz0iJHtDT05GSUdfU0hFTEwtL2Jpbi9zaH0gLi8kaG9zdF9hbGlhcy1saWJ0b29sIC0tY29uZmlnIgotICAgICAgICAgcGl4YnVmX2RlcGxpYnNfY2hlY2s9YCRwaXhidWZfbGlidG9vbF9jb25maWcgfCBcCi0gICAgICAgICAgICAgZ3JlcCAnXltbYS16X11dKmNoZWNrW1thLXpfXV0qX21ldGhvZD1bWydcJyciXV0nIHwgXAotICAgICAgICAgICAgIHNlZCAncy8uKltbJ1wnJyJdXVwoLipcKVtbJ1wnJyJdXSQvXDEvJ2AKLUBAIC05NTcsNyArOTU3LDcgQEAKLSAjIFdlIGFyZSB1c2luZyBnbW9kdWxlLW5vLWV4cG9ydCBub3csIGJ1dCBJJ20gbGVhdmluZyB0aGUgc3RyaXBwaW5nCi0gIyBjb2RlIGluIHBsYWNlIGZvciBub3csIHNpbmNlIHBhbmdvIGFuZCBhdGsgc3RpbGwgcmVxdWlyZSBnbW9kdWxlLgotIGV4cG9ydCBTRUQKLS1leHBvcnRfZHluYW1pYz1gKC4vbGlidG9vbCAtLWNvbmZpZzsgZWNobyBldmFsIGVjaG8gXFwkZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjKSB8IHNoYAotK2V4cG9ydF9keW5hbWljPWAoLi8kaG9zdF9hbGlhcy1saWJ0b29sIC0tY29uZmlnOyBlY2hvIGV2YWwgZWNobyBcXCRleHBvcnRfZHluYW1pY19mbGFnX3NwZWMpIHwgc2hgCi0gaWYgdGVzdCAtbiAiJGV4cG9ydF9keW5hbWljIjsgdGhlbgotICAgR0RLX1BJWEJVRl9ERVBfTElCUz1gZWNobyAkR0RLX1BJWEJVRl9ERVBfTElCUyB8IHNlZCAtZSAicy8kZXhwb3J0X2R5bmFtaWMvLyJgCi0gZmkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zl8yLjM2LjExLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmXzIuMzYuMTEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk5Yzg0YzYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmXzIuMzYuMTEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMDIgKzAsMCBAQAotU1VNTUFSWSA9ICJJbWFnZSBsb2FkaW5nIGxpYnJhcnkgZm9yIEdUSysiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3Lmd0ay5vcmcvIgotQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8iCi0KLUxJQ0VOU0UgPSAiTEdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9M2JmNTAwMDJhZWZkMDAyZjQ5ZTdiYjg1NDA2M2Y3ZTcgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmLmg7ZW5kbGluZT0yNjttZDU9NzJiMzlkYTdjYmRkZTJlNjY1MzI5ZmVmNjE4ZTFkNmIiCi0KLVNFQ1RJT04gPSAibGlicyIKLQotREVQRU5EUyA9ICJnbGliLTIuMCBnZGstcGl4YnVmLW5hdGl2ZSBzaGFyZWQtbWltZS1pbmZvIgotCi1NQUpfVkVSID0gIiR7QG9lLnV0aWxzLnRyaW1fdmVyc2lvbigiJHtQVn0iLCAyKX0iCi0KLVNSQ19VUkkgPSAiJHtHTk9NRV9NSVJST1J9LyR7QlBOfS8ke01BSl9WRVJ9LyR7QlBOfS0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vaGFyZGNvZGVkX2xpYnRvb2wucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZXh0ZW5kaW5nLWxpYmluc3RhbGwtZGVwZW5kZW5jaWVzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCi0gICAgICAgICAgIGZpbGU6Ly9mYXRhbC1sb2FkZXIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1Xb3JrLWFyb3VuZC10aHVtYm5haWxlci1jcm9zcy1jb21waWxlLWZhaWx1cmUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtd2l0aG91dC1saWJ0aWZmLW5vdC1oYXZpbmctYW4tZWZmZWN0LnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNmU4NGU1NDg1YzE3Y2U3YzI1ZGY3N2ZlNzZlYjJkNmEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWU2MmFiODcyNTA0MTMxNTZlZDcyZWY3NTYzNDdiMTAyMDhjMDBlNzZiMjIyZDgyZDllZDM2MWVkOWRkZTJmMyIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdldHRleHQgcGl4YnVmY2FjaGUgcHRlc3QtZ25vbWUgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuIGdvYmplY3QtaW50cm9zcGVjdGlvbiBndGstZG9jIGxpYl9wYWNrYWdlCi0KLUxJQlYgPSAiMi4xMC4wIgotCi1HREtfUElYQlVGX0xPQURFUlMgPz0gInBuZyBqcGVnIgotCi1QQUNLQUdFQ09ORklHID8/PSAiJHtHREtfUElYQlVGX0xPQURFUlN9IgotUEFDS0FHRUNPTkZJR19saW51eHN0ZGJhc2UgPSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgZCl9ICR7R0RLX1BJWEJVRl9MT0FERVJTfSIKLVBBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlID0gIiR7R0RLX1BJWEJVRl9MT0FERVJTfSIKLQotUEFDS0FHRUNPTkZJR1twbmddID0gIi0td2l0aC1saWJwbmcsLS13aXRob3V0LWxpYnBuZyxsaWJwbmciCi1QQUNLQUdFQ09ORklHW2pwZWddID0gIi0td2l0aC1saWJqcGVnLC0td2l0aG91dC1saWJqcGVnLGpwZWciCi1QQUNLQUdFQ09ORklHW3RpZmZdID0gIi0td2l0aC1saWJ0aWZmLC0td2l0aG91dC1saWJ0aWZmLHRpZmYiCi1QQUNLQUdFQ09ORklHW2pwZWcyMDAwXSA9ICItLXdpdGgtbGliamFzcGVyLC0td2l0aG91dC1saWJqYXNwZXIsamFzcGVyIgotCi1QQUNLQUdFQ09ORklHW3gxMV0gPSAiLS13aXRoLXgxMSwtLXdpdGhvdXQteDExLHZpcnR1YWwvbGlieDExIgotCi1QQUNLQUdFUyA9KyAiJHtQTn0teGxpYiIKLQotIyBGb3IgR0lPIGltYWdlIHR5cGUgc25pZmZpbmcKLVJERVBFTkRTXyR7UE59ID0gInNoYXJlZC1taW1lLWluZm8iCi0KLUZJTEVTXyR7UE59LXhsaWIgPSAiJHtsaWJkaXJ9LypwaXhidWZfeGxpYioke1NPTElCU30iCi1BTExPV19FTVBUWV8ke1BOfS14bGliID0gIjEiCi0KLUZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vZ2RrLXBpeGJ1Zi0yLjAvZ2RrLXBpeGJ1Zi1xdWVyeS1sb2FkZXJzIgotCi1GSUxFU18ke1BOfS1iaW4gKz0gIiR7ZGF0YWRpcn0vdGh1bWJuYWlsZXJzL2dkay1waXhidWYtdGh1bWJuYWlsZXIudGh1bWJuYWlsZXIiCi0KLUZJTEVTXyR7UE59LWRldiArPSAiIFwKLQkke2JpbmRpcn0vZ2RrLXBpeGJ1Zi1jc291cmNlIFwKLQkke2JpbmRpcn0vZ2RrLXBpeGJ1Zi1waXhkYXRhIFwKLSAgICAgICAgJHtiaW5kaXJ9L2dkay1waXhidWYtcHJpbnQtbWltZS10eXBlcyBcCi0JJHtpbmNsdWRlZGlyfS8qIFwKLQkke2xpYmRpcn0vZ2RrLXBpeGJ1Zi0yLjAvJHtMSUJWfS9sb2FkZXJzLyoubGEgXAotIgotCi1QQUNLQUdFU19EWU5BTUlDICs9ICJeZ2RrLXBpeGJ1Zi1sb2FkZXItLioiCi1QQUNLQUdFU19EWU5BTUlDX2NsYXNzLW5hdGl2ZSA9ICIiCi0KLXB5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kICgpIHsKLSAgICBwb3N0aW5zdF9waXhidWZsb2FkZXIgPSBkLmdldFZhcigicG9zdGluc3RfcGl4YnVmbG9hZGVyIikKLQotICAgIGxvYWRlcnNfcm9vdCA9IGQuZXhwYW5kKCcke2xpYmRpcn0vZ2RrLXBpeGJ1Zi0yLjAvJHtMSUJWfS9sb2FkZXJzJykKLQotICAgIHBhY2thZ2VzID0gJyAnLmpvaW4oZG9fc3BsaXRfcGFja2FnZXMoZCwgbG9hZGVyc19yb290LCAnXmxpYnBpeGJ1ZmxvYWRlci0oLiopXC5zbyQnLCAnZ2RrLXBpeGJ1Zi1sb2FkZXItJXMnLCAnR0RLIHBpeGJ1ZiBsb2FkZXIgZm9yICVzJykpCi0gICAgZC5zZXRWYXIoJ1BJWEJVRl9QQUNLQUdFUycsIHBhY2thZ2VzKQotCi0gICAgIyBUaGUgdGVzdCBzdWl0ZSBleGVyY2lzZXMgYWxsIHRoZSBsb2FkZXJzLCBzbyBlbnN1cmUgdGhleSBhcmUgYWxsCi0gICAgIyBkZXBlbmRlbmNpZXMgb2YgdGhlIHB0ZXN0IHBhY2thZ2UuCi0gICAgZC5hcHBlbmRWYXIoIlJERVBFTkRTXyVzLXB0ZXN0IiAlIGQuZ2V0VmFyKCdQTicpLCAiICIgKyBwYWNrYWdlcykKLX0KLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0JIyBNb3ZlIGdkay1waXhidWYtcXVlcnktbG9hZGVycyBpbnRvIGxpYmRpciBzbyBpdCBpcyBhbHdheXMgYXZhaWxhYmxlCi0JIyBpbiBtdWx0aWxpYiBidWlsZHMuCi0JbXYgJHtEfS8ke2JpbmRpcn0vZ2RrLXBpeGJ1Zi1xdWVyeS1sb2FkZXJzICR7RH0vJHtsaWJkaXJ9L2dkay1waXhidWYtMi4wLwotfQotCi1kb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7Ci0JZmluZCAke0R9JHtsaWJkaXJ9IC1uYW1lICJsaWJwaXhidWZsb2FkZXItKi5sYSIgLWV4ZWMgcm0gXHtcfSBcOwotCi0JY3JlYXRlX3dyYXBwZXIgJHtEfS8ke2JpbmRpcn0vZ2RrLXBpeGJ1Zi1jc291cmNlIFwKLQkJR0RLX1BJWEJVRl9NT0RVTEVfRklMRT0ke1NUQUdJTkdfTElCRElSX05BVElWRX0vZ2RrLXBpeGJ1Zi0yLjAvJHtMSUJWfS9sb2FkZXJzLmNhY2hlCi0KLQljcmVhdGVfd3JhcHBlciAke0R9LyR7YmluZGlyfS9nZGstcGl4YnVmLXBpeGRhdGEgXAotCQlHREtfUElYQlVGX01PRFVMRV9GSUxFPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9nZGstcGl4YnVmLTIuMC8ke0xJQlZ9L2xvYWRlcnMuY2FjaGUKLQotCWNyZWF0ZV93cmFwcGVyICR7RH0vJHtiaW5kaXJ9L2dkay1waXhidWYtcHJpbnQtbWltZS10eXBlcyBcCi0JCUdES19QSVhCVUZfTU9EVUxFX0ZJTEU9JHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L2dkay1waXhidWYtMi4wLyR7TElCVn0vbG9hZGVycy5jYWNoZQotCi0JY3JlYXRlX3dyYXBwZXIgJHtEfS8ke2xpYmRpcn0vZ2RrLXBpeGJ1Zi0yLjAvZ2RrLXBpeGJ1Zi1xdWVyeS1sb2FkZXJzIFwKLQkJR0RLX1BJWEJVRl9NT0RVTEVfRklMRT0ke1NUQUdJTkdfTElCRElSX05BVElWRX0vZ2RrLXBpeGJ1Zi0yLjAvJHtMSUJWfS9sb2FkZXJzLmNhY2hlIFwKLQkJR0RLX1BJWEJVRl9NT0RVTEVESVI9JHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L2dkay1waXhidWYtMi4wLyR7TElCVn0vbG9hZGVycwotfQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nZGstcGl4YnVmL2dkay1waXhidWZfMi4zOC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmXzIuMzguMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNWRlN2E5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmXzIuMzguMC5iYgpAQCAtMCwwICsxLDEzNiBAQAorU1VNTUFSWSA9ICJJbWFnZSBsb2FkaW5nIGxpYnJhcnkgZm9yIEdUSysiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lmd0ay5vcmcvIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8iCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9nZGstcGl4YnVmL2dkay1waXhidWYuaDtlbmRsaW5lPTI2O21kNT03MmIzOWRhN2NiZGRlMmU2NjUzMjlmZWY2MThlMWQ2YiBcCisgICAgICAgICAgICAgICAgICAgICIKKworU0VDVElPTiA9ICJsaWJzIgorCitERVBFTkRTID0gImdsaWItMi4wIGdkay1waXhidWYtbmF0aXZlIHNoYXJlZC1taW1lLWluZm8iCisKK01BSl9WRVIgPSAiJHtAb2UudXRpbHMudHJpbV92ZXJzaW9uKCIke1BWfSIsIDIpfSIKKworU1JDX1VSSSA9ICIke0dOT01FX01JUlJPUn0vJHtCUE59LyR7TUFKX1ZFUn0vJHtCUE59LSR7UFZ9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorICAgICAgICAgICBmaWxlOi8vZmF0YWwtbG9hZGVyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtV29yay1hcm91bmQtdGh1bWJuYWlsZXItY3Jvc3MtY29tcGlsZS1mYWlsdXJlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWEtY291cGxlLW9mLWRlY2lzaW9ucy1hcm91bmQtY3Jvc3MtY29tcGlsYXRpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1sb2FkZXJzLmNhY2hlLWRlcGVuZC1vbi1sb2FkZXJzLWJlaW5nLWZ1bGx5LWJ1aWxkLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDQtRG8tbm90LXJ1bi10ZXN0cy13aGVuLWJ1aWxkaW5nLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtdGFyZ2V0LW9ubHktV29yay1hcm91bmQtdGh1bWJuYWlsZXItY3Jvc3MtY29tcGlsZS1mYS5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgXAorICAgICAgICAgICBmaWxlOi8vMDAwMy10YXJnZXQtb25seS1Xb3JrLWFyb3VuZC10aHVtYm5haWxlci1jcm9zcy1jb21waWxlLWZhLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNzc3NjVmMjQ0OTZkYzhjOTBjNmUwY2JlMTBmZDhmMGUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZGQ1MDk3M2M3NzU3YmNkZTE1ZGU2YmNkM2E2ZDQ2MmE0NDVlZmQ1NTI2MDRhZTY0MzVhMDUzMmZiYmFkYWU0NyIKKworaW5oZXJpdCBtZXNvbiBwa2djb25maWcgZ2V0dGV4dCBwaXhidWZjYWNoZSBwdGVzdC1nbm9tZSB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4gZ29iamVjdC1pbnRyb3NwZWN0aW9uIGd0ay1kb2MgbGliX3BhY2thZ2UKKworR1RLRE9DX0VOQUJMRV9GTEFHID0gIi1EZG9jcz10cnVlIgorR1RLRE9DX0RJU0FCTEVfRkxBRyA9ICItRGRvY3M9ZmFsc2UiCisKK0dJX0VOQUJMRV9GTEFHID0gIi1EZ2lyPXRydWUiCitHSV9ESVNBQkxFX0ZMQUcgPSAiLURnaXI9ZmFsc2UiCisKK0VYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgJHtHSV9ESVNBQkxFX0ZMQUd9IgorCitFWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHSV9EQVRBX0VOQUJMRUQnLCAnVHJ1ZScsICcke0dJX0VOQUJMRV9GTEFHfScsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcke0dJX0RJU0FCTEVfRkxBR30nLCBkKX0gIgorCitFWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHVEtET0NfRU5BQkxFRCcsICdUcnVlJywgJyR7R1RLRE9DX0VOQUJMRV9GTEFHfScsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtHVEtET0NfRElTQUJMRV9GTEFHfScsIGQpfSAiCisKK0VYVFJBX09FTUVTT05fYXBwZW5kID0gIiAke0BiYi51dGlscy5jb250YWlucygnUFRFU1RfRU5BQkxFRCcsICcxJywgJy1EaW5zdGFsbGVkX3Rlc3RzPXRydWUnLCAnLURpbnN0YWxsZWRfdGVzdHM9ZmFsc2UnLCBkKX0iCisKK0xJQlYgPSAiMi4xMC4wIgorCitHREtfUElYQlVGX0xPQURFUlMgPz0gInBuZyBqcGVnIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtHREtfUElYQlVGX0xPQURFUlN9IgorUEFDS0FHRUNPTkZJR19saW51eHN0ZGJhc2UgPSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgZCl9ICR7R0RLX1BJWEJVRl9MT0FERVJTfSIKK1BBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlID0gIiR7R0RLX1BJWEJVRl9MT0FERVJTfSIKKworUEFDS0FHRUNPTkZJR1twbmddID0gIi1EcG5nPXRydWUsLURwbmc9ZmFsc2UsbGlicG5nIgorUEFDS0FHRUNPTkZJR1tqcGVnXSA9ICItRGpwZWc9dHJ1ZSwtRGpwZWc9ZmFsc2UsanBlZyIKK1BBQ0tBR0VDT05GSUdbdGlmZl0gPSAiLUR0aWZmPXRydWUsLUR0aWZmPWZhbHNlLHRpZmYiCitQQUNLQUdFQ09ORklHW2pwZWcyMDAwXSA9ICItRGphc3Blcj10cnVlLC1EamFzcGVyPWZhbHNlLGphc3BlciIKKworUEFDS0FHRUNPTkZJR1t4MTFdID0gIi1EeDExPXRydWUsLUR4MTE9ZmFsc2UsdmlydHVhbC9saWJ4MTEiCisKK1BBQ0tBR0VTID0rICIke1BOfS14bGliIgorCisjIEZvciBHSU8gaW1hZ2UgdHlwZSBzbmlmZmluZworUkRFUEVORFNfJHtQTn0gPSAic2hhcmVkLW1pbWUtaW5mbyIKKworRklMRVNfJHtQTn0teGxpYiA9ICIke2xpYmRpcn0vKnBpeGJ1Zl94bGliKiR7U09MSUJTfSIKK0FMTE9XX0VNUFRZXyR7UE59LXhsaWIgPSAiMSIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9nZGstcGl4YnVmLTIuMC9nZGstcGl4YnVmLXF1ZXJ5LWxvYWRlcnMiCisKK0ZJTEVTXyR7UE59LWJpbiArPSAiJHtkYXRhZGlyfS90aHVtYm5haWxlcnMvZ2RrLXBpeGJ1Zi10aHVtYm5haWxlci50aHVtYm5haWxlciIKKworRklMRVNfJHtQTn0tZGV2ICs9ICIgXAorCSR7YmluZGlyfS9nZGstcGl4YnVmLWNzb3VyY2UgXAorCSR7YmluZGlyfS9nZGstcGl4YnVmLXBpeGRhdGEgXAorICAgICAgICAke2JpbmRpcn0vZ2RrLXBpeGJ1Zi1wcmludC1taW1lLXR5cGVzIFwKKwkke2luY2x1ZGVkaXJ9LyogXAorCSR7bGliZGlyfS9nZGstcGl4YnVmLTIuMC8ke0xJQlZ9L2xvYWRlcnMvKi5sYSBcCisiCisKK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl5nZGstcGl4YnVmLWxvYWRlci0uKiIKK1BBQ0tBR0VTX0RZTkFNSUNfY2xhc3MtbmF0aXZlID0gIiIKKworcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQgKCkgeworICAgIHBvc3RpbnN0X3BpeGJ1ZmxvYWRlciA9IGQuZ2V0VmFyKCJwb3N0aW5zdF9waXhidWZsb2FkZXIiKQorCisgICAgbG9hZGVyc19yb290ID0gZC5leHBhbmQoJyR7bGliZGlyfS9nZGstcGl4YnVmLTIuMC8ke0xJQlZ9L2xvYWRlcnMnKQorCisgICAgcGFja2FnZXMgPSAnICcuam9pbihkb19zcGxpdF9wYWNrYWdlcyhkLCBsb2FkZXJzX3Jvb3QsIHInXmxpYnBpeGJ1ZmxvYWRlci0oLiopXC5zbyQnLCAnZ2RrLXBpeGJ1Zi1sb2FkZXItJXMnLCAnR0RLIHBpeGJ1ZiBsb2FkZXIgZm9yICVzJykpCisgICAgZC5zZXRWYXIoJ1BJWEJVRl9QQUNLQUdFUycsIHBhY2thZ2VzKQorCisgICAgIyBUaGUgdGVzdCBzdWl0ZSBleGVyY2lzZXMgYWxsIHRoZSBsb2FkZXJzLCBzbyBlbnN1cmUgdGhleSBhcmUgYWxsCisgICAgIyBkZXBlbmRlbmNpZXMgb2YgdGhlIHB0ZXN0IHBhY2thZ2UuCisgICAgZC5hcHBlbmRWYXIoIlJERVBFTkRTXyVzLXB0ZXN0IiAlIGQuZ2V0VmFyKCdQTicpLCAiICIgKyBwYWNrYWdlcykKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisJIyBDb3B5IGdkay1waXhidWYtcXVlcnktbG9hZGVycyBpbnRvIGxpYmRpciBzbyBpdCBpcyBhbHdheXMgYXZhaWxhYmxlCisJIyBpbiBtdWx0aWxpYiBidWlsZHMuCisJY3AgJHtEfS8ke2JpbmRpcn0vZ2RrLXBpeGJ1Zi1xdWVyeS1sb2FkZXJzICR7RH0vJHtsaWJkaXJ9L2dkay1waXhidWYtMi4wLworCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKKwlmaW5kICR7RH0ke2xpYmRpcn0gLW5hbWUgImxpYnBpeGJ1ZmxvYWRlci0qLmxhIiAtZXhlYyBybSBce1x9IFw7CisKKwljcmVhdGVfd3JhcHBlciAke0R9LyR7YmluZGlyfS9nZGstcGl4YnVmLWNzb3VyY2UgXAorCQlYREdfREFUQV9ESVJTPSR7U1RBR0lOR19EQVRBRElSfSBcCisJCUdES19QSVhCVUZfTU9EVUxFX0ZJTEU9JHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L2dkay1waXhidWYtMi4wLyR7TElCVn0vbG9hZGVycy5jYWNoZQorCisJY3JlYXRlX3dyYXBwZXIgJHtEfS8ke2JpbmRpcn0vZ2RrLXBpeGJ1Zi1waXhkYXRhIFwKKwkJWERHX0RBVEFfRElSUz0ke1NUQUdJTkdfREFUQURJUn0gXAorCQlHREtfUElYQlVGX01PRFVMRV9GSUxFPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9nZGstcGl4YnVmLTIuMC8ke0xJQlZ9L2xvYWRlcnMuY2FjaGUKKworCWNyZWF0ZV93cmFwcGVyICR7RH0vJHtiaW5kaXJ9L2dkay1waXhidWYtcHJpbnQtbWltZS10eXBlcyBcCisJCVhER19EQVRBX0RJUlM9JHtTVEFHSU5HX0RBVEFESVJ9IFwKKwkJR0RLX1BJWEJVRl9NT0RVTEVfRklMRT0ke1NUQUdJTkdfTElCRElSX05BVElWRX0vZ2RrLXBpeGJ1Zi0yLjAvJHtMSUJWfS9sb2FkZXJzLmNhY2hlCisKKwljcmVhdGVfd3JhcHBlciAke0R9LyR7bGliZGlyfS9nZGstcGl4YnVmLTIuMC9nZGstcGl4YnVmLXF1ZXJ5LWxvYWRlcnMgXAorCQlYREdfREFUQV9ESVJTPSR7U1RBR0lOR19EQVRBRElSfSBcCisJCUdES19QSVhCVUZfTU9EVUxFX0ZJTEU9JHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L2dkay1waXhidWYtMi4wLyR7TElCVn0vbG9hZGVycy5jYWNoZSBcCisJCUdES19QSVhCVUZfTU9EVUxFRElSPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9nZGstcGl4YnVmLTIuMC8ke0xJQlZ9L2xvYWRlcnMKKworCWNyZWF0ZV93cmFwcGVyICR7RH0vJHtiaW5kaXJ9L2dkay1waXhidWYtcXVlcnktbG9hZGVycyBcCisJCVhER19EQVRBX0RJUlM9JHtTVEFHSU5HX0RBVEFESVJ9IFwKKwkJR0RLX1BJWEJVRl9NT0RVTEVfRklMRT0ke1NUQUdJTkdfTElCRElSX05BVElWRX0vZ2RrLXBpeGJ1Zi0yLjAvJHtMSUJWfS9sb2FkZXJzLmNhY2hlIFwKKwkJR0RLX1BJWEJVRl9NT0RVTEVESVI9JHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L2dkay1waXhidWYtMi4wLyR7TElCVn0vbG9hZGVycworfQorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ25vbWUvYWR3YWl0YS1pY29uLXRoZW1lLzAwMDEtRG9uLXQtdXNlLUFDX0NBTk9OSUNBTF9IT1NULnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ25vbWUvYWR3YWl0YS1pY29uLXRoZW1lLzAwMDEtRG9uLXQtdXNlLUFDX0NBTk9OSUNBTF9IT1NULnBhdGNoCmluZGV4IGI1OTkyZWIuLjQzYWJkY2QgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dub21lL2Fkd2FpdGEtaWNvbi10aGVtZS8wMDAxLURvbi10LXVzZS1BQ19DQU5PTklDQUxfSE9TVC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nbm9tZS9hZHdhaXRhLWljb24tdGhlbWUvMDAwMS1Eb24tdC11c2UtQUNfQ0FOT05JQ0FMX0hPU1QucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDk2NjE5NTE4Mzg3NzMyNTFkMGE5MTRlODk3ZThhMGQ5NWNlMDI3ZjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDQ5OTIyMmQ5NWEzZDA2YmM0MjU2NzJkNTBlOGM0Nzg2ODY2NzI1MGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBKdXNzaSBLdWtrb25lbiA8anVzc2kua3Vra29uZW5AaW50ZWwuY29tPgogRGF0ZTogVHVlLCAzMCBNYXkgMjAxNyAxNDo1NTo0OSArMDMwMAogU3ViamVjdDogW1BBVENIXSBEb24ndCB1c2UgQUNfQ0FOT05JQ0FMX0hPU1QKQEAgLTE0LDEyICsxNCwxMiBAQAogIDEgZmlsZSBjaGFuZ2VkLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IGZiNzg3ZGMuLjVjYWVmMGMgMTAwNjQ0CitpbmRleCAzOGU2NGJkLi42ZWQ0ODBlIDEwMDY0NAogLS0tIGEvY29uZmlndXJlLmFjCiArKysgYi9jb25maWd1cmUuYWMKIEBAIC0zLDcgKzMsNiBAQCBBQ19QUkVSRVEoMi41MykKICAKLSBBQ19JTklUKFthZHdhaXRhLWljb24tdGhlbWVdLCBbMy4yOC4wXSwKKyBBQ19JTklUKFthZHdhaXRhLWljb24tdGhlbWVdLCBbMy4zMC4xXSwKICAgICAgICAgIFtodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1hZHdhaXRhLWljb24tdGhlbWVdKQogLUFDX0NBTk9OSUNBTF9IT1NUCiAgQUNfQ09ORklHX01BQ1JPX0RJUihbbTRdKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ25vbWUvYWR3YWl0YS1pY29uLXRoZW1lXzMuMjguMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dub21lL2Fkd2FpdGEtaWNvbi10aGVtZV8zLjI4LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQwZGQzNWIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ25vbWUvYWR3YWl0YS1pY29uLXRoZW1lXzMuMjguMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLVNVTU1BUlkgPSAiR1RLKyBpY29uIHRoZW1lIgotSE9NRVBBR0UgPSAiaHR0cDovL2Z0cC5nbm9tZS5vcmcvcHViL0dOT01FL3NvdXJjZXMvYWR3YWl0YS1pY29uLXRoZW1lLyIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvIgotU0VDVElPTiA9ICJ4MTEvZ25vbWUiCi0KLUxJQ0VOU0UgPSAiTEdQTC0zLjAgfCBDQy1CWS1TQS0zLjAiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jODRjYWM4OGU0NmZjMDc2NDdlYTA3ZTZjMjRlZWI3YyIKLQotaW5oZXJpdCBhbGxhcmNoIGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dCBndGstaWNvbi1jYWNoZSB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4KLQotCi1NQUpfVkVSID0gIiR7QG9lLnV0aWxzLnRyaW1fdmVyc2lvbigiJHtQVn0iLCAyKX0iCi1TUkNfVVJJID0gIiR7R05PTUVfTUlSUk9SfS8ke0JQTn0vJHtNQUpfVkVSfS8ke0JQTn0tJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRG9uLXQtdXNlLUFDX0NBTk9OSUNBTF9IT1NULnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtUnVuLWluc3RhbGxhdGlvbi1jb21tYW5kcy1hcy1zaGVsbC1qb2JzLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiYjI1YjJkODJjYmViZjJjYzljZDQ2OTQ1N2I2MDRmMmMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2FhZThjMWRmZmQ2NzcyZmQxYTIxYTNkMzY1YTBlYTI4YjdjMzk4OGJkYmJlYWZiZjg3NDJjZGE2ODI0MjE1MCIKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0JIyBCdWlsZCB1c2VzIGd0ay1lbmNvZGUtc3ltYm9saWMtc3ZnIHRvIGNyZWF0ZSBwbmcgdmVyc2lvbnM6Ci0gICAgICAgICMgbm8gbmVlZCB0byBzdG9yZSB0aGUgc3ZncyBhbnltb3JlLgotCXJtIC1mICR7RH0ke3ByZWZpeH0vc2hhcmUvaWNvbnMvQWR3YWl0YS9zY2FsYWJsZS8qLyotc3ltYm9saWMuc3ZnIFwKLQkgICAgICAke0R9JHtwcmVmaXh9L3NoYXJlL2ljb25zL0Fkd2FpdGEvc2NhbGFibGUvKi8qLXN5bWJvbGljLXJ0bC5zdmcKLX0KLQotUEFDS0FHRVMgPSAiJHtQTn0tY3Vyc29ycyAke1BOfS1zeW1ib2xpYy1oaXJlcyAke1BOfS1zeW1ib2xpYyAke1BOfS1oaXJlcyAke1BOfSIKLQotUlJFUExBQ0VTXyR7UE59ID0gImdub21lLWljb24tdGhlbWUiCi1SQ09ORkxJQ1RTXyR7UE59ID0gImdub21lLWljb24tdGhlbWUiCi1SUFJPVklERVNfJHtQTn0gPSAiZ25vbWUtaWNvbi10aGVtZSIKLQotRklMRVNfJHtQTn0tY3Vyc29ycyA9ICIke3ByZWZpeH0vc2hhcmUvaWNvbnMvQWR3YWl0YS9jdXJzb3JzLyIKLUZJTEVTXyR7UE59LXN5bWJvbGljLWhpcmVzID0gIiR7cHJlZml4fS9zaGFyZS9pY29ucy9BZHdhaXRhLzk2eDk2LyovKi5zeW1ib2xpYy5wbmcgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtwcmVmaXh9L3NoYXJlL2ljb25zL0Fkd2FpdGEvNjR4NjQvKi8qLnN5bWJvbGljLnBuZyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3ByZWZpeH0vc2hhcmUvaWNvbnMvQWR3YWl0YS80OHg0OC8qLyouc3ltYm9saWMucG5nIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7cHJlZml4fS9zaGFyZS9pY29ucy9BZHdhaXRhLzMyeDMyLyovKi5zeW1ib2xpYy5wbmciCi1GSUxFU18ke1BOfS1zeW1ib2xpYyA9ICIke3ByZWZpeH0vc2hhcmUvaWNvbnMvQWR3YWl0YS8xNngxNi8qLyouc3ltYm9saWMucG5nIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7cHJlZml4fS9zaGFyZS9pY29ucy9BZHdhaXRhLzI0eDI0LyovKi5zeW1ib2xpYy5wbmciCi1GSUxFU18ke1BOfS1oaXJlcyA9ICIke3ByZWZpeH0vc2hhcmUvaWNvbnMvQWR3YWl0YS8yNTZ4MjU2LyBcCi0gICAgICAgICAgICAgICAgICAgICAke3ByZWZpeH0vc2hhcmUvaWNvbnMvQWR3YWl0YS81MTJ4NTEyLyIKLUZJTEVTXyR7UE59ID0gIiR7cHJlZml4fS9zaGFyZS9pY29ucy9BZHdhaXRhLyBcCi0gICAgICAgICAgICAgICAke3ByZWZpeH0vc2hhcmUvcGtnY29uZmlnL2Fkd2FpdGEtaWNvbi10aGVtZS5wYyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dub21lL2Fkd2FpdGEtaWNvbi10aGVtZV8zLjMwLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nbm9tZS9hZHdhaXRhLWljb24tdGhlbWVfMy4zMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlYWRiZDIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nbm9tZS9hZHdhaXRhLWljb24tdGhlbWVfMy4zMC4xLmJiCkBAIC0wLDAgKzEsNDEgQEAKK1NVTU1BUlkgPSAiR1RLKyBpY29uIHRoZW1lIgorSE9NRVBBR0UgPSAiaHR0cDovL2Z0cC5nbm9tZS5vcmcvcHViL0dOT01FL3NvdXJjZXMvYWR3YWl0YS1pY29uLXRoZW1lLyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvIgorU0VDVElPTiA9ICJ4MTEvZ25vbWUiCisKK0xJQ0VOU0UgPSAiTEdQTC0zLjAgfCBDQy1CWS1TQS0zLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jODRjYWM4OGU0NmZjMDc2NDdlYTA3ZTZjMjRlZWI3YyIKKworaW5oZXJpdCBhbGxhcmNoIGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dCBndGstaWNvbi1jYWNoZSB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4KKworTUFKX1ZFUiA9ICIke0BvZS51dGlscy50cmltX3ZlcnNpb24oIiR7UFZ9IiwgMil9IgorU1JDX1VSSSA9ICIke0dOT01FX01JUlJPUn0vJHtCUE59LyR7TUFKX1ZFUn0vJHtCUE59LSR7UFZ9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLURvbi10LXVzZS1BQ19DQU5PTklDQUxfSE9TVC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVJ1bi1pbnN0YWxsYXRpb24tY29tbWFuZHMtYXMtc2hlbGwtam9icy5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gImRiM2ZkODEyODIxZDcyZmRkOWEzYzdkNjIyYTk1YjM1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZkNzUyYTJiMWJjNjY4NDgzOTU2ZDQ0ODVjMzljYWQxNjQyZDkzNThlMTMzZmY2ODk1MjZlNDM2NzRhNGUxY2UiCisKK0RFUEVORFMgKz0gImxpYnJzdmctbmF0aXZlIgorCitQQUNLQUdFUyA9ICIke1BOfS1jdXJzb3JzICR7UE59LXN5bWJvbGljLWhpcmVzICR7UE59LXN5bWJvbGljICR7UE59LWhpcmVzICR7UE59IgorCitSUkVQTEFDRVNfJHtQTn0gPSAiZ25vbWUtaWNvbi10aGVtZSIKK1JDT05GTElDVFNfJHtQTn0gPSAiZ25vbWUtaWNvbi10aGVtZSIKK1JQUk9WSURFU18ke1BOfSA9ICJnbm9tZS1pY29uLXRoZW1lIgorCitGSUxFU18ke1BOfS1jdXJzb3JzID0gIiR7cHJlZml4fS9zaGFyZS9pY29ucy9BZHdhaXRhL2N1cnNvcnMvIgorRklMRVNfJHtQTn0tc3ltYm9saWMtaGlyZXMgPSAiJHtwcmVmaXh9L3NoYXJlL2ljb25zL0Fkd2FpdGEvOTZ4OTYvKi8qLnN5bWJvbGljLnBuZyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3ByZWZpeH0vc2hhcmUvaWNvbnMvQWR3YWl0YS82NHg2NC8qLyouc3ltYm9saWMucG5nIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7cHJlZml4fS9zaGFyZS9pY29ucy9BZHdhaXRhLzQ4eDQ4LyovKi5zeW1ib2xpYy5wbmcgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtwcmVmaXh9L3NoYXJlL2ljb25zL0Fkd2FpdGEvMzJ4MzIvKi8qLnN5bWJvbGljLnBuZyIKK0ZJTEVTXyR7UE59LXN5bWJvbGljID0gIiR7cHJlZml4fS9zaGFyZS9pY29ucy9BZHdhaXRhLzE2eDE2LyovKi5zeW1ib2xpYy5wbmcgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtwcmVmaXh9L3NoYXJlL2ljb25zL0Fkd2FpdGEvMjR4MjQvKi8qLnN5bWJvbGljLnBuZyBcCisgICAgICAgICAgICAgICAgICAgICAgICAke3ByZWZpeH0vc2hhcmUvaWNvbnMvQWR3YWl0YS9zY2FsYWJsZS8qLyotc3ltYm9saWMqLnN2ZyIKK0ZJTEVTXyR7UE59LWhpcmVzID0gIiR7cHJlZml4fS9zaGFyZS9pY29ucy9BZHdhaXRhLzI1NngyNTYvIFwKKyAgICAgICAgICAgICAgICAgICAgICR7cHJlZml4fS9zaGFyZS9pY29ucy9BZHdhaXRhLzUxMng1MTIvIgorRklMRVNfJHtQTn0gPSAiJHtwcmVmaXh9L3NoYXJlL2ljb25zL0Fkd2FpdGEvIFwKKyAgICAgICAgICAgICAgICR7cHJlZml4fS9zaGFyZS9wa2djb25maWcvYWR3YWl0YS1pY29uLXRoZW1lLnBjIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nbm9tZS9nY29uZl8zLjIuNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dub21lL2djb25mXzMuMi42LmJiCmluZGV4IDEyMGFlM2UuLmU2NzQyZjMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dub21lL2djb25mXzMuMi42LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dub21lL2djb25mXzMuMi42LmJiCkBAIC0yMiwxMiArMjIsMTEgQEAKIEVYVFJBX09FQ09ORiA9ICItLWVuYWJsZS1zaGFyZWQgLS1kaXNhYmxlLXN0YXRpYyBcCiAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLW9yYml0IC0td2l0aC1vcGVubGRhcD1ubyAtLWRpc2FibGUtZ3RrIgogCi0jIERpc2FibGUgUG9saWN5S2l0IGJ5IGRlZmF1bHQKLVBBQ0tBR0VDT05GSUcgPz89ICIiCi0jIFdlIHJlYWxseSBkb24ndCB3YW50IFBvbGljeUtpdCBmb3IgbmF0aXZlCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAncG9sa2l0JywgZCl9IgorIyBXZSByZWFsbHkgZG9uJ3Qgd2FudCBQb2xraXQgZm9yIG5hdGl2ZQogUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmUgPSAiIgogCi1QQUNLQUdFQ09ORklHW3BvbGljeWtpdF0gPSAiLS1lbmFibGUtZGVmYXVsdHMtc2VydmljZSwtLWRpc2FibGUtZGVmYXVsdHMtc2VydmljZSxwb2xraXQiCitQQUNLQUdFQ09ORklHW3BvbGtpdF0gPSAiLS1lbmFibGUtZGVmYXVsdHMtc2VydmljZSwtLWRpc2FibGUtZGVmYXVsdHMtc2VydmljZSxwb2xraXQiCiBQQUNLQUdFQ09ORklHW2RlYnVnXSA9ICItLWVuYWJsZS1kZWJ1Zz15ZXMsIC0tZW5hYmxlLWRlYnVnPW1pbmltdW0iCiAKIGRvX2luc3RhbGxfYXBwZW5kKCkgewpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0X2xncGwtMi4zLjIxLWNyb3NzY29tcGlsZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dub21lL2xpYmFydC1sZ3BsL2xpYmFydF9sZ3BsLTIuMy4yMS1jcm9zc2NvbXBpbGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAyNjFmNTguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0X2xncGwtMi4zLjIxLWNyb3NzY29tcGlsZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDg0ICswLDAgQEAKLVRha2VuIGZyb20gcG9ydGFnZQotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLUZyb20gZTE0NDNjOTQ1YTRjZjY3MDk2ZDhjMjc3MjFhYWRkNzM2ODM4MmIzZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEdpbGxlcyBEYXJ0aWd1ZWxvbmd1ZSA8ZXZhQGdlbnRvby5vcmc+Ci1EYXRlOiBUdWUsIDYgQXByIDIwMTAgMTU6MjI6MjUgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAyLzJdIGdlbnRvbzogdXNlIElTTyB0eXBlcyBmb3IgZml4ZWQgdHlwZSBzaXplCi0KLS0tLQotIE1ha2VmaWxlLmFtICB8ICAgMTEgKystLS0tLS0tLS0KLSBhcnRfY29uZmlnLmggfCAgICA1ICsrKysrCi0gY29uZmlndXJlLmluIHwgICAxMCAtLS0tLS0tLS0tCi0gMyBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCBhcnRfY29uZmlnLmgKLQotZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KLWluZGV4IDk1OTUyZGEuLjZhYTJmZTMgMTAwNjQ0Ci0tLS0gYS9NYWtlZmlsZS5hbQotKysrIGIvTWFrZWZpbGUuYW0KLUBAIC0yLDEzICsyLDYgQEAgY2hlY2tfUFJPR1JBTVMgPSB0ZXN0YXJ0IHRlc3R1dGEKLSAKLSBiaW5fU0NSSVBUUyA9IFwKLSAJbGliYXJ0Mi1jb25maWcKLS0JCi0tbm9pbnN0X1NDUklQVFMgPSBnZW5fYXJ0X2NvbmZpZy5zaAotLQotLUJVSUxUX1NPVVJDRVMgPSBhcnRfY29uZmlnLmgKLS0KLS1hcnRfY29uZmlnLmg6Ci0tCS4vZ2VuX2FydF9jb25maWcuc2ggPiBhcnRfY29uZmlnLmgKLSAKLSBFWFRSQV9ESVNUID0gCQkJXAotIAlsaWJhcnQuZGVmCQlcCi1AQCAtMTczLDUgKzE2Niw1IEBAIGluc3RhbGwtZGF0YS1sb2NhbDogaW5zdGFsbC1tcy1saWIgaW5zdGFsbC1saWJ0b29sLWltcG9ydC1saWIKLSAKLSB1bmluc3RhbGwtbG9jYWw6IHVuaW5zdGFsbC1tcy1saWIgdW5pbnN0YWxsLWxpYnRvb2wtaW1wb3J0LWxpYgotIAotLUNMRUFORklMRVMgPSAkKEJVSUxUX1NPVVJDRVMpICQoYmluX1NDUklQVFMpCi0tRElTVENMRUFORklMRVMgPSAkKEJVSUxUX1NPVVJDRVMpICQoYmluX1NDUklQVFMpCi0rQ0xFQU5GSUxFUyA9ICQoYmluX1NDUklQVFMpCi0rRElTVENMRUFORklMRVMgPSAkKGJpbl9TQ1JJUFRTKQotZGlmZiAtLWdpdCBhL2FydF9jb25maWcuaCBiL2FydF9jb25maWcuaAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjU5ODVmMWYKLS0tLSBhL2FydF9jb25maWcuaAotKysrIGIvYXJ0X2NvbmZpZy5oCi1AQCAtMCwwICsxLDUgQEAKLSsjaW5jbHVkZSA8c3RkaW50Lmg+Ci0rCi0rdHlwZWRlZiB1aW50OF90IGFydF91ODsKLSt0eXBlZGVmIHVpbnQxNl90IGFydF91MTY7Ci0rdHlwZWRlZiB1aW50MzJfdCBhcnRfdTMyOwotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgotaW5kZXggZTQ4MDRmNy4uZGRjYWM0ZiAxMDA2NDQKLS0tLSBhL2NvbmZpZ3VyZS5pbgotKysrIGIvY29uZmlndXJlLmluCi1AQCAtOTIsMTUgKzkyLDYgQEAgQUNfRlVOQ19BTExPQ0EKLSAKLSBBQ19DX0JJR0VORElBTgotIAotLUFDX0NIRUNLX1NJWkVPRihjaGFyKQotLUFDX1NVQlNUKEFSVF9TSVpFT0ZfQ0hBUiwgJGFjX2N2X3NpemVvZl9jaGFyKQotLUFDX0NIRUNLX1NJWkVPRihzaG9ydCkKLS1BQ19TVUJTVChBUlRfU0laRU9GX1NIT1JULCAkYWNfY3Zfc2l6ZW9mX3Nob3J0KQotLUFDX0NIRUNLX1NJWkVPRihpbnQpCi0tQUNfU1VCU1QoQVJUX1NJWkVPRl9JTlQsICRhY19jdl9zaXplb2ZfaW50KQotLUFDX0NIRUNLX1NJWkVPRihsb25nKQotLUFDX1NVQlNUKEFSVF9TSVpFT0ZfTE9ORywgJGFjX2N2X3NpemVvZl9sb25nKQotLQotIEFDX0NPTkZJR19GSUxFUyhbCi0gbGliYXJ0LWZlYXR1cmVzLmgKLSBNYWtlZmlsZQotQEAgLTEwOSw2ICsxMDAsNSBAQCBsaWJhcnQtMi4wLXVuaW5zdGFsbGVkLnBjCi0gbGliYXJ0LXppcF0pCi0gCi0gQUNfQ09ORklHX0ZJTEVTKFtsaWJhcnQtY29uZmlnXSxbY2htb2QgK3ggbGliYXJ0LWNvbmZpZ10pCi0tQUNfQ09ORklHX0ZJTEVTKFtnZW5fYXJ0X2NvbmZpZy5zaF0sW2NobW9kICt4IGdlbl9hcnRfY29uZmlnLnNoXSkKLSAKLSBBQ19PVVRQVVQKLS0tIAotMS43LjAuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nbm9tZS9saWJhcnQtbGdwbF8yLjMuMjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nbm9tZS9saWJhcnQtbGdwbF8yLjMuMjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk1NTgxYjIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ25vbWUvbGliYXJ0LWxncGxfMi4zLjIxLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotU1VNTUFSWSA9ICJMaWJyYXJ5IG9mIGZ1bmN0aW9ucyBmb3IgMkQgZ3JhcGhpY3MiCi1TRUNUSU9OID0gIngxMS9nbm9tZSIKLUxJQ0VOU0UgPSAiTEdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9M2JmNTAwMDJhZWZkMDAyZjQ5ZTdiYjg1NDA2M2Y3ZTciCi1QUiA9ICJyMiIKLQotIyBjYW4ndCB1c2UgZ25vbWUub2VjbGFzcyBkdWUgdG8gXyBpbiBmaWxlbmFtZQotU1JDX1VSSSA9ICIke0dOT01FX01JUlJPUn0vbGliYXJ0X2xncGwvMi4zL2xpYmFydF9sZ3BsLSR7UFZ9LnRhci5iejIgXAotICAgICAgICAgICBmaWxlOi8vbGliYXJ0X2xncGwtMi4zLjIxLWNyb3NzY29tcGlsZS5wYXRjaCBcCi0gICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMDg1NTlmZjNjNjdmZDk1ZDU3YjBjNWU5MWE2YjQzMDIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZmRjMTFlNzRjMTBmYzlmZmU0MTg4NTM3ZTJiMzcwYzBhYmFjY2E3ZDg5MDIxZDRkMzAzYWZkZjdmZDc0NzZmYSIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCi0KLURFUEVORFMgPSAiIgotCi1GSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vKi5zby4qIgotRklMRVNfJHtQTn0tZGV2ICs9ICIke2JpbmRpcn0vbGliYXJ0Mi1jb25maWciCi0KLVMgPSAiJHtXT1JLRElSfS9saWJhcnRfbGdwbC0ke1BWfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dvYmplY3QtaW50cm9zcGVjdGlvbi9nb2JqZWN0LWludHJvc3BlY3Rpb24vMDAwMS1Qb3J0LWNyb3NzLWNvbXBpbGF0aW9uLXN1cHBvcnQtdG8tbWVzb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nb2JqZWN0LWludHJvc3BlY3Rpb24vZ29iamVjdC1pbnRyb3NwZWN0aW9uLzAwMDEtUG9ydC1jcm9zcy1jb21waWxhdGlvbi1zdXBwb3J0LXRvLW1lc29uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwYzllNzEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nb2JqZWN0LWludHJvc3BlY3Rpb24vZ29iamVjdC1pbnRyb3NwZWN0aW9uLzAwMDEtUG9ydC1jcm9zcy1jb21waWxhdGlvbi1zdXBwb3J0LXRvLW1lc29uLnBhdGNoCkBAIC0wLDAgKzEsMTYwIEBACitGcm9tIGVhMjVhNWE3NTViYzgzOWQ1YjUwNGFhYzIwN2Y4NjBhZTY4MTA5YmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMTUgTm92IDIwMTggMTU6MTA6MDUgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gUG9ydCBjcm9zcy1jb21waWxhdGlvbiBzdXBwb3J0IHRvIG1lc29uCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CisKKy0tLQorIGdpci9tZXNvbi5idWlsZCAgIHwgNTkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KKyBtZXNvbi5idWlsZCAgICAgICB8ICA0ICsrKy0KKyBtZXNvbl9vcHRpb25zLnR4dCB8IDIwICsrKysrKysrKysrKysrKysKKyAzIGZpbGVzIGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZ2lyL21lc29uLmJ1aWxkIGIvZ2lyL21lc29uLmJ1aWxkCitpbmRleCAxY2I1MTRhLi5mODczMDY4IDEwMDY0NAorLS0tIGEvZ2lyL21lc29uLmJ1aWxkCisrKysgYi9naXIvbWVzb24uYnVpbGQKK0BAIC0zNiwxNSArMzYsMjcgQEAgZ2lyX2ZpbGVzID0gWworIHR5cGVsaWJkaXIgPSBqb2luX3BhdGhzKGdldF9vcHRpb24oJ2xpYmRpcicpLCAnZ2lyZXBvc2l0b3J5LTEuMCcpCisgaW5zdGFsbF9kYXRhKGdpcl9maWxlcywgaW5zdGFsbF9kaXI6IGdpcmRpcikKKyAKKy1zY2FubmVyX2NvbW1hbmQgPSBbCistICBweXRob24sCistICBnaXJzY2FubmVyLAorLSAgJy0tb3V0cHV0PUBPVVRQVVRAJywKKy0gICctLW5vLWxpYnRvb2wnLAorLSAgJy0tcmVwYXJzZS12YWxpZGF0ZScsCistICAnLS1hZGQtaW5jbHVkZS1wYXRoJywgam9pbl9wYXRocyhtZXNvbi5jdXJyZW50X2J1aWxkX2RpcigpKSwKKy0gICctLWFkZC1pbmNsdWRlLXBhdGgnLCBqb2luX3BhdGhzKG1lc29uLmN1cnJlbnRfc291cmNlX2RpcigpKSwKKy1dCisraWYgZ2V0X29wdGlvbignZW5hYmxlLWhvc3QtZ2knKQorKyAgICBzY2FubmVyX2NvbW1hbmQgPSBbCisrICAgICAgJ2ctaXItc2Nhbm5lcicsCisrICAgICAgJy0tb3V0cHV0PUBPVVRQVVRAJywKKysgICAgICAnLS1uby1saWJ0b29sJywKKysgICAgICAnLS1yZXBhcnNlLXZhbGlkYXRlJywKKysgICAgICAnLS1hZGQtaW5jbHVkZS1wYXRoJywgam9pbl9wYXRocyhtZXNvbi5jdXJyZW50X2J1aWxkX2RpcigpKSwKKysgICAgICAnLS1hZGQtaW5jbHVkZS1wYXRoJywgam9pbl9wYXRocyhtZXNvbi5jdXJyZW50X3NvdXJjZV9kaXIoKSksCisrICAgIF0KKytlbHNlCisrICAgIHNjYW5uZXJfY29tbWFuZCA9IFsKKysgICAgICBweXRob24sCisrICAgICAgZ2lyc2Nhbm5lciwKKysgICAgICAnLS1vdXRwdXQ9QE9VVFBVVEAnLAorKyAgICAgICctLW5vLWxpYnRvb2wnLAorKyAgICAgICctLXJlcGFyc2UtdmFsaWRhdGUnLAorKyAgICAgICctLWFkZC1pbmNsdWRlLXBhdGgnLCBqb2luX3BhdGhzKG1lc29uLmN1cnJlbnRfYnVpbGRfZGlyKCkpLAorKyAgICAgICctLWFkZC1pbmNsdWRlLXBhdGgnLCBqb2luX3BhdGhzKG1lc29uLmN1cnJlbnRfc291cmNlX2RpcigpKSwKKysgICAgXQorK2VuZGlmCisrCisgCisgZGVwX3R5cGUgPSBnbGliX2RlcC50eXBlX25hbWUoKQorIGlmIGRlcF90eXBlID09ICdpbnRlcm5hbCcKK0BAIC01Nyw2ICs2OSwxMiBAQCBpZiBkZXBfdHlwZSA9PSAnaW50ZXJuYWwnCisgICAgICAgICAgICAgICAgICAgICAgICctLWV4dHJhLWxpYnJhcnk9Z2xpYi0yLjAnLCAnLS1leHRyYS1saWJyYXJ5PWdvYmplY3QtMi4wJ10KKyBlbmRpZgorIAorK2lmIGdldF9vcHRpb24oJ2VuYWJsZS1naS1jcm9zcy13cmFwcGVyJykgIT0gJycKKysgIHNjYW5uZXJfY29tbWFuZCArPSBbJy0tdXNlLWJpbmFyeS13cmFwcGVyPScgKyBnZXRfb3B0aW9uKCdlbmFibGUtZ2ktY3Jvc3Mtd3JhcHBlcicpXQorK2VuZGlmCisraWYgZ2V0X29wdGlvbignZW5hYmxlLWdpLWxkZC13cmFwcGVyJykgIT0gJycKKysgIHNjYW5uZXJfY29tbWFuZCArPSBbJy0tdXNlLWxkZC13cmFwcGVyPScgKyBnZXRfb3B0aW9uKCdlbmFibGUtZ2ktbGRkLXdyYXBwZXInKV0KKytlbmRpZgorICMgVGFrZSBhIGdsb2IgYW5kIHByaW50IHRvIG5ld2xpbmVzCisgZ2xvYmJlciA9ICcnJworIGZyb20gZ2xvYiBpbXBvcnQgZ2xvYgorQEAgLTgzLDggKzEwMSw4IEBAIGdsaWJfY29tbWFuZCA9IHNjYW5uZXJfY29tbWFuZCArIFsKKyAKKyBpZiBkZXBfdHlwZSA9PSAncGtnY29uZmlnJworICAgZ2xpYl9jb21tYW5kICs9IFsnLS1leHRlcm5hbC1saWJyYXJ5JywgJy0tcGtnPWdsaWItMi4wJ10KKy0gIGdsaWJfbGliZGlyID0gZ2xpYl9kZXAuZ2V0X3BrZ2NvbmZpZ192YXJpYWJsZSgnbGliZGlyJykKKy0gIGdsaWJfaW5jZGlyID0gam9pbl9wYXRocyhnbGliX2RlcC5nZXRfcGtnY29uZmlnX3ZhcmlhYmxlKCdpbmNsdWRlZGlyJyksICdnbGliLTIuMCcpCisrICBnbGliX2xpYmRpciA9IGdldF9vcHRpb24oJ3BrZ2NvbmZpZy1zeXNyb290LXBhdGgnKSArIGdsaWJfZGVwLmdldF9wa2djb25maWdfdmFyaWFibGUoJ2xpYmRpcicpCisrICBnbGliX2luY2RpciA9IGdldF9vcHRpb24oJ3BrZ2NvbmZpZy1zeXNyb290LXBhdGgnKSArIGpvaW5fcGF0aHMoZ2xpYl9kZXAuZ2V0X3BrZ2NvbmZpZ192YXJpYWJsZSgnaW5jbHVkZWRpcicpLCAnZ2xpYi0yLjAnKQorICAgZ2xpYl9saWJpbmNkaXIgPSBqb2luX3BhdGhzKGdsaWJfbGliZGlyLCAnZ2xpYi0yLjAnLCAnaW5jbHVkZScpCisgICBnbGliX2ZpbGVzICs9IGpvaW5fcGF0aHMoZ2xpYl9pbmNkaXIsICdnb2JqZWN0JywgJ2dsaWItdHlwZXMuaCcpCisgICBnbGliX2ZpbGVzICs9IGpvaW5fcGF0aHMoZ2xpYl9saWJpbmNkaXIsICdnbGliY29uZmlnLmgnKQorQEAgLTMzOCw3ICszNTYsNyBAQCBlbmRmb3JlYWNoCisgaWYgZ2lvdW5peF9kZXAuZm91bmQoKQorICAgaWYgZGVwX3R5cGUgPT0gJ3BrZ2NvbmZpZycKKyAgICAgZ2lvX2NvbW1hbmQgKz0gWyctLXBrZz1naW8tdW5peC0yLjAnXQorLSAgICBnaW91bml4X2luY2x1ZGVkaXIgPSBqb2luX3BhdGhzKGdpb3VuaXhfZGVwLmdldF9wa2djb25maWdfdmFyaWFibGUoJ2luY2x1ZGVkaXInKSwgJ2dpby11bml4LTIuMCcpCisrICAgIGdpb3VuaXhfaW5jbHVkZWRpciA9IGdldF9vcHRpb24oJ3BrZ2NvbmZpZy1zeXNyb290LXBhdGgnKSArIGpvaW5fcGF0aHMoZ2lvdW5peF9kZXAuZ2V0X3BrZ2NvbmZpZ192YXJpYWJsZSgnaW5jbHVkZWRpcicpLCAnZ2lvLXVuaXgtMi4wJykKKyAgICAgIyBHZXQgdGhlIGluc3RhbGxlZCBnaW8tdW5peCBoZWFkZXIgbGlzdAorICAgICByZXQgPSBydW5fY29tbWFuZChweXRob24sICctYycsIGdsb2JiZXIuZm9ybWF0KGpvaW5fcGF0aHMoZ2lvdW5peF9pbmNsdWRlZGlyLCAnZ2lvJywgJyouaCcpKSkKKyAgICAgaWYgcmV0LnJldHVybmNvZGUoKSAhPSAwCitAQCAtNDE2LDE1ICs0MzQsMjQgQEAgZ2lyX2ZpbGVzICs9IGN1c3RvbV90YXJnZXQoJ2dpci1naXJlcG9zaXRvcnknLAorICAgXQorICkKKyAKKytpZiBnZXRfb3B0aW9uKCdlbmFibGUtZ2ktY3Jvc3Mtd3JhcHBlcicpICE9ICcnCisrICAgIGdpcmNvbXBpbGVyX2NvbW1hbmQgPSBbZ2V0X29wdGlvbignZW5hYmxlLWdpLWNyb3NzLXdyYXBwZXInKSwgZ2lyY29tcGlsZXIuZnVsbF9wYXRoKCksICctbycsICdAT1VUUFVUQCcsICdASU5QVVRAJywKKysgICAgICAgICAgICAgICctLWluY2x1ZGVkaXInLCBtZXNvbi5jdXJyZW50X2J1aWxkX2RpcigpLAorKyAgICAgICAgICAgICAgJy0taW5jbHVkZWRpcicsIG1lc29uLmN1cnJlbnRfc291cmNlX2RpcigpLAorKyAgICBdCisrZWxzZQorKyAgICBnaXJjb21waWxlcl9jb21tYW5kID0gW2dpcmNvbXBpbGVyLCAnLW8nLCAnQE9VVFBVVEAnLCAnQElOUFVUQCcsCisrICAgICAgICAgICAgICAnLS1pbmNsdWRlZGlyJywgbWVzb24uY3VycmVudF9idWlsZF9kaXIoKSwKKysgICAgICAgICAgICAgICctLWluY2x1ZGVkaXInLCBtZXNvbi5jdXJyZW50X3NvdXJjZV9kaXIoKSwKKysgICAgXQorK2VuZGlmCisrCisgZm9yZWFjaCBnaXIgOiBnaXJfZmlsZXMKKyAgIGN1c3RvbV90YXJnZXQoJ2dlbmVyYXRlLXR5cGVsaWItQDBAJy5mb3JtYXQoZ2lyKS51bmRlcnNjb3JpZnkoKSwKKyAgICAgaW5wdXQ6IGdpciwKKyAgICAgb3V0cHV0OiAnQEJBU0VOQU1FQC50eXBlbGliJywKKyAgICAgZGVwZW5kczogW2dvYmplY3RfZ2lyLCBdLAorLSAgICBjb21tYW5kOiBbZ2lyY29tcGlsZXIsICctbycsICdAT1VUUFVUQCcsICdASU5QVVRAJywKKy0gICAgICAgICAgICAgICctLWluY2x1ZGVkaXInLCBtZXNvbi5jdXJyZW50X2J1aWxkX2RpcigpLAorLSAgICAgICAgICAgICAgJy0taW5jbHVkZWRpcicsIG1lc29uLmN1cnJlbnRfc291cmNlX2RpcigpLAorLSAgICBdLAorKyAgICBjb21tYW5kOiBnaXJjb21waWxlcl9jb21tYW5kLAorICAgICBpbnN0YWxsOiB0cnVlLAorICAgICBpbnN0YWxsX2RpcjogdHlwZWxpYmRpciwKKyAgICkKK2RpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCitpbmRleCAxN2FjZDgyLi5lMGJiNDk1IDEwMDY0NAorLS0tIGEvbWVzb24uYnVpbGQKKysrKyBiL21lc29uLmJ1aWxkCitAQCAtODEsNyArODEsOSBAQCBsaWJmZmlfZGVwID0gZGVwZW5kZW5jeSgnbGliZmZpJywKKyBzdWJkaXIoJ2dpcmVwb3NpdG9yeScpCisgc3ViZGlyKCd0b29scycpCisgc3ViZGlyKCdnaXNjYW5uZXInKQorLXN1YmRpcignZ2lyJykKKytpZiBnZXRfb3B0aW9uKCdlbmFibGUtaW50cm9zcGVjdGlvbi1kYXRhJykgPT0gdHJ1ZQorKyAgICBzdWJkaXIoJ2dpcicpCisrZW5kaWYKKyBzdWJkaXIoJ2V4YW1wbGVzJykKKyBzdWJkaXIoJ2RvY3MnKQorIHN1YmRpcigndGVzdHMnKQorZGlmZiAtLWdpdCBhL21lc29uX29wdGlvbnMudHh0IGIvbWVzb25fb3B0aW9ucy50eHQKK2luZGV4IGVlNjk1OGQuLmIxNjgxNDIgMTAwNjQ0CistLS0gYS9tZXNvbl9vcHRpb25zLnR4dAorKysrIGIvbWVzb25fb3B0aW9ucy50eHQKK0BAIC0yNSwzICsyNSwyMyBAQCBvcHRpb24oJ3B5dGhvbicsIHR5cGU6ICdzdHJpbmcnLCB2YWx1ZTogJ3B5dGhvbjMnLAorIG9wdGlvbignZ2lyLWRpci1wcmVmaXgnLCB0eXBlOiAnc3RyaW5nJywKKyAgIGRlc2NyaXB0aW9uOiAnSW50ZXJtZWRpYXRlIHByZWZpeCBmb3IgZ2lyIGluc3RhbGxhdGlvbiB1bmRlciAke3ByZWZpeH0nCisgKQorKworK29wdGlvbignZW5hYmxlLWhvc3QtZ2knLCB0eXBlOiAnYm9vbGVhbicsIHZhbHVlIDogZmFsc2UsCisrICBkZXNjcmlwdGlvbjogJ1VzZSBnb2JqZWN0IGludHJvc3BlY3Rpb24gdG9vbHMgaW5zdGFsbGVkIGluIHRoZSBob3N0IHN5c3RlbSAodXNlZnVsIHdoZW4gY3Jvc3MtY29tcGlsaW5nKScKKyspCisrCisrb3B0aW9uKCdlbmFibGUtZ2ktY3Jvc3Mtd3JhcHBlcicsIHR5cGU6ICdzdHJpbmcnLAorKyAgZGVzY3JpcHRpb246ICdVc2UgYSB3cmFwcGVyIHRvIHJ1biBnaWNvbXBpbGVyIGFuZCBiaW5hcmllcyBwcm9kdWNlZCBieSBnaXNjYW5uZXIgKHVzZWZ1bCB3aGVuIGNyb3NzLWNvbXBpbGluZyknCisrKQorKworK29wdGlvbignZW5hYmxlLWdpLWxkZC13cmFwcGVyJywgdHlwZTogJ3N0cmluZycsCisrICBkZXNjcmlwdGlvbjogJ1VzZSBhIGxkZCB3cmFwcGVyIGluc3RlYWQgb2Ygc3lzdGVtIGxkZCBjb21tYW5kIGluIGdpc2Nhbm5lciAodXNlZnVsIHdoZW4gY3Jvc3MtY29tcGlsaW5nKScKKyspCisrCisrb3B0aW9uKCdlbmFibGUtaW50cm9zcGVjdGlvbi1kYXRhJywgdHlwZTogJ2Jvb2xlYW4nLCB2YWx1ZSA6IHRydWUsCisrICBkZXNjcmlwdGlvbjogJ0J1aWxkIGludHJvc3BlY3Rpb24gZGF0YSAoLmdpciBhbmQgLnR5cGVsaWIgZmlsZXMpIGluIGFkZGl0aW9uIHRvIGxpYnJhcnkgYW5kIHRvb2xzJworKykKKysKKytvcHRpb24oJ3BrZ2NvbmZpZy1zeXNyb290LXBhdGgnLCB0eXBlOiAnc3RyaW5nJywKKysgIGRlc2NyaXB0aW9uOiAnU3BlY2lmeSBhIHN5c3Jvb3QgcGF0aCB0byBwcmVwZW5kIHRvIHBrZ2NvbmZpZyBvdXRwdXQgKHVzZWZ1bCB3aGVuIGNyb3NzLWNvbXBpbGluZyknCisrKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ29iamVjdC1pbnRyb3NwZWN0aW9uL2dvYmplY3QtaW50cm9zcGVjdGlvbi8wMDAxLVJlbG9jYXRlLXRoZS1yZXBvc2l0b3J5LWRpcmVjdG9yeS1mb3ItbmF0aXZlLWJ1aWxkcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dvYmplY3QtaW50cm9zcGVjdGlvbi9nb2JqZWN0LWludHJvc3BlY3Rpb24vMDAwMS1SZWxvY2F0ZS10aGUtcmVwb3NpdG9yeS1kaXJlY3RvcnktZm9yLW5hdGl2ZS1idWlsZHMucGF0Y2gKaW5kZXggYmE4NWMzMS4uYTkxZDIyYSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ29iamVjdC1pbnRyb3NwZWN0aW9uL2dvYmplY3QtaW50cm9zcGVjdGlvbi8wMDAxLVJlbG9jYXRlLXRoZS1yZXBvc2l0b3J5LWRpcmVjdG9yeS1mb3ItbmF0aXZlLWJ1aWxkcy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nb2JqZWN0LWludHJvc3BlY3Rpb24vZ29iamVjdC1pbnRyb3NwZWN0aW9uLzAwMDEtUmVsb2NhdGUtdGhlLXJlcG9zaXRvcnktZGlyZWN0b3J5LWZvci1uYXRpdmUtYnVpbGRzLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA0Y2YzN2Q1NmZkZGNjMjJiY2Q4MThmNmQ0NzA0MDRmNTZkOTA3ZjNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA3ZWE4YzgzZDg0YTA1ZjY4NjEyOGU2NTJhNTQ0N2ZiNWY2ZmI2OGJlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogU2FzY2hhIFNpbGJlIDx4LXlvMTdAc2Utc2lsYmUuZGU+CiBEYXRlOiBGcmksIDggSnVuIDIwMTggMTM6NTU6MTAgKzAyMDAKIFN1YmplY3Q6IFtQQVRDSF0gUmVsb2NhdGUgdGhlIHJlcG9zaXRvcnkgZGlyZWN0b3J5IGZvciBuYXRpdmUgYnVpbGRzCkBAIC0xNyw3ICsxNyw4IEBACiAKIC0tLQogIGdpcmVwb3NpdG9yeS9naXJlcG9zaXRvcnkuYyB8IDE1ICsrKysrKysrKysrKystLQotIDEgZmlsZSBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorIGdpcmVwb3NpdG9yeS9tZXNvbi5idWlsZCAgICB8ICAyICstCisgMiBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvZ2lyZXBvc2l0b3J5L2dpcmVwb3NpdG9yeS5jIGIvZ2lyZXBvc2l0b3J5L2dpcmVwb3NpdG9yeS5jCiBpbmRleCBjMWZhM2QzLi5lZmE1NTdlIDEwMDY0NApAQCAtNjAsMyArNjEsMTYgQEAKICAKICAgICAgICB0eXBlbGliX3NlYXJjaF9wYXRoID0gZ19zbGlzdF9wcmVwZW5kICh0eXBlbGliX3NlYXJjaF9wYXRoLCB0eXBlbGliX2Rpcik7CiAgCitkaWZmIC0tZ2l0IGEvZ2lyZXBvc2l0b3J5L21lc29uLmJ1aWxkIGIvZ2lyZXBvc2l0b3J5L21lc29uLmJ1aWxkCitpbmRleCA2YThjNWI1Li44ODkyZjJhIDEwMDY0NAorLS0tIGEvZ2lyZXBvc2l0b3J5L21lc29uLmJ1aWxkCisrKysgYi9naXJlcG9zaXRvcnkvbWVzb24uYnVpbGQKK0BAIC0yNyw3ICsyNyw3IEBAIGdpcmVwb19pbnRlcm5hbHNfbGliID0gc3RhdGljX2xpYnJhcnkoJ2dpcmVwb3NpdG9yeS1pbnRlcm5hbHMnLAorICAgXSwKKyAgIGNfYXJnczogZ2lfaGlkZGVuX3Zpc2liaWxpdHlfY2ZsYWdzLAorICAgaW5jbHVkZV9kaXJlY3RvcmllcyA6IGNvbmZpZ2luYywKKy0gIGRlcGVuZGVuY2llczogW2dpcmVwb19ndGhhc2hfZGVwLCBsaWJmZmlfZGVwXSwKKysgIGRlcGVuZGVuY2llczogW2dpcmVwb19ndGhhc2hfZGVwLCBsaWJmZmlfZGVwLCBjYy5maW5kX2xpYnJhcnkoJ2RsJyldLAorICkKKyAKKyBnaXJlcG9faW50ZXJuYWxzX2RlcCA9IGRlY2xhcmVfZGVwZW5kZW5jeSgKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dvYmplY3QtaW50cm9zcGVjdGlvbi9nb2JqZWN0LWludHJvc3BlY3Rpb24vMDAxMC1tZXNvbi1hZGQtb3B0aW9uLWdpci1kaXItcHJlZml4LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ29iamVjdC1pbnRyb3NwZWN0aW9uL2dvYmplY3QtaW50cm9zcGVjdGlvbi8wMDEwLW1lc29uLWFkZC1vcHRpb24tZ2lyLWRpci1wcmVmaXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGVlYzVmOAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dvYmplY3QtaW50cm9zcGVjdGlvbi9nb2JqZWN0LWludHJvc3BlY3Rpb24vMDAxMC1tZXNvbi1hZGQtb3B0aW9uLWdpci1kaXItcHJlZml4LnBhdGNoCkBAIC0wLDAgKzEsNjYgQEAKK0Zyb20gYmJjMzRmMDBmZDMwYTEzZWFmYzYwN2E5NTZkZTYwZDgyMjI2MDM1NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogRnJpLCAxNCBTZXAgMjAxOCAwMToyNjozOCAtMDcwMAorU3ViamVjdDogW1BBVENIXSBtZXNvbjogYWRkIG9wdGlvbiAnZ2lyLWRpci1wcmVmaXgnCisKK0FkZCBvcHRpb24gJ2dpci1kaXItcHJlZml4JyBmb3IgbWVzb24gdG8gbWFrZSB0aGUgaW5zdGFsbGF0aW9uIHBhdGggb2YKKy5naXIgZmlsZXMgY291bGQgYmUgY29uZmlndXJlZCB3aGljaCBoYXMgYmVlbiBkb25lIGZvciBhdXRvY29uZi4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dvYmplY3QtaW50cm9zcGVjdGlvbi9jb21taXQvMzkzOGI4NmY1Mjg5YzJiMjhhNWVjNDI5NjViOGRhNGI1MDk0NDVjNF0KK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgZ2lyL21lc29uLmJ1aWxkICAgfCAxIC0KKyBtZXNvbi5idWlsZCAgICAgICB8IDggKysrKysrKy0KKyBtZXNvbl9vcHRpb25zLnR4dCB8IDQgKysrKworIDMgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2dpci9tZXNvbi5idWlsZCBiL2dpci9tZXNvbi5idWlsZAoraW5kZXggNjA3YmJjNC4uMWNiNTE0YSAxMDA2NDQKKy0tLSBhL2dpci9tZXNvbi5idWlsZAorKysrIGIvZ2lyL21lc29uLmJ1aWxkCitAQCAtMzQsNyArMzQsNiBAQCBnaXJfZmlsZXMgPSBbCisgXQorIAorIHR5cGVsaWJkaXIgPSBqb2luX3BhdGhzKGdldF9vcHRpb24oJ2xpYmRpcicpLCAnZ2lyZXBvc2l0b3J5LTEuMCcpCistZ2lyZGlyID0gam9pbl9wYXRocyhnZXRfb3B0aW9uKCdkYXRhZGlyJyksICdnaXItMS4wJykKKyBpbnN0YWxsX2RhdGEoZ2lyX2ZpbGVzLCBpbnN0YWxsX2RpcjogZ2lyZGlyKQorIAorIHNjYW5uZXJfY29tbWFuZCA9IFsKK2RpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCitpbmRleCBhMTQzMmY3Li4xN2FjZDgyIDEwMDY0NAorLS0tIGEvbWVzb24uYnVpbGQKKysrKyBiL21lc29uLmJ1aWxkCitAQCAtMTgsNyArMTgsMTIgQEAgcHl0aG9uID0gcHltb2QuZmluZF9pbnN0YWxsYXRpb24oZ2V0X29wdGlvbigncHl0aG9uJykpCisgY2MgPSBtZXNvbi5nZXRfY29tcGlsZXIoJ2MnKQorIGNvbmZpZyA9IGNvbmZpZ3VyYXRpb25fZGF0YSgpCisgY29uZmlnLnNldF9xdW90ZWQoJ0dJUl9TVUZGSVgnLCAnZ2lyLTEuMCcpCistY29uZmlnLnNldF9xdW90ZWQoJ0dJUl9ESVInLCBqb2luX3BhdGhzKGdldF9vcHRpb24oJ3ByZWZpeCcpLCBnZXRfb3B0aW9uKCdkYXRhZGlyJyksICdnaXItMS4wJykpCisrZ2lyX2Rpcl9wcmVmaXggPSBnZXRfb3B0aW9uKCdnaXItZGlyLXByZWZpeCcpCisraWYgZ2lyX2Rpcl9wcmVmaXggPT0gJycKKysgICAgZ2lyX2Rpcl9wcmVmaXggPSBnZXRfb3B0aW9uKCdkYXRhZGlyJykKKytlbmRpZgorK2dpcmRpciA9IGpvaW5fcGF0aHMoZ2V0X29wdGlvbigncHJlZml4JyksIGdpcl9kaXJfcHJlZml4LCAnZ2lyLTEuMCcpCisrY29uZmlnLnNldF9xdW90ZWQoJ0dJUl9ESVInLCBnaXJkaXIpCisgY29uZmlnLnNldF9xdW90ZWQoJ0dPQkpFQ1RfSU5UUk9TUEVDVElPTl9MSUJESVInLCBqb2luX3BhdGhzKGdldF9vcHRpb24oJ3ByZWZpeCcpLCBnZXRfb3B0aW9uKCdsaWJkaXInKSkpCisgCisgZm9yZWFjaCB0eXBlIDogWydjaGFyJywgJ3Nob3J0JywgJ2ludCcsICdsb25nJ10KK0BAIC05Myw2ICs5OCw3IEBAIHBrZ2NvbmZpZ19jb25mLnNldCgnbGliZGlyJywgam9pbl9wYXRocygnJHtwcmVmaXh9JywgZ2V0X29wdGlvbignbGliZGlyJykpKQorIHBrZ2NvbmZpZ19jb25mLnNldCgnZGF0YXJvb3RkaXInLCBqb2luX3BhdGhzKCcke3ByZWZpeH0nLCBnZXRfb3B0aW9uKCdkYXRhZGlyJykpKQorIHBrZ2NvbmZpZ19jb25mLnNldCgnZGF0YWRpcicsICcke2RhdGFyb290ZGlyfScpCisgcGtnY29uZmlnX2NvbmYuc2V0KCdpbmNsdWRlZGlyJywgam9pbl9wYXRocygnJHtwcmVmaXh9JywgZ2V0X29wdGlvbignaW5jbHVkZWRpcicpKSkKKytwa2djb25maWdfY29uZi5zZXQoJ0dJUl9ESVInLCBqb2luX3BhdGhzKCcke3ByZWZpeH0nLCBnaXJfZGlyX3ByZWZpeCwgJ2dpci0xLjAnKSkKKyBpZiBob3N0X3N5c3RlbSA9PSAnd2luZG93cycgb3IgaG9zdF9zeXN0ZW0gPT0gJ2N5Z3dpbicKKyAgIHBrZ2NvbmZpZ19jb25mLnNldCgnRVhFRVhUJywgJy5leGUnKQorIGVsc2UKK2RpZmYgLS1naXQgYS9tZXNvbl9vcHRpb25zLnR4dCBiL21lc29uX29wdGlvbnMudHh0CitpbmRleCA0OTcyNmJlLi5lZTY5NThkIDEwMDY0NAorLS0tIGEvbWVzb25fb3B0aW9ucy50eHQKKysrKyBiL21lc29uX29wdGlvbnMudHh0CitAQCAtMjEsMyArMjEsNyBAQCBvcHRpb24oJ2NhaXJvLWxpYm5hbWUnLCB0eXBlOiAnc3RyaW5nJywKKyBvcHRpb24oJ3B5dGhvbicsIHR5cGU6ICdzdHJpbmcnLCB2YWx1ZTogJ3B5dGhvbjMnLAorICAgZGVzY3JpcHRpb246ICdQYXRoIG9yIG5hbWUgb2YgdGhlIFB5dGhvbiBpbnRlcnByZXRlciB0byBidWlsZCBmb3InCisgKQorKworK29wdGlvbignZ2lyLWRpci1wcmVmaXgnLCB0eXBlOiAnc3RyaW5nJywKKysgIGRlc2NyaXB0aW9uOiAnSW50ZXJtZWRpYXRlIHByZWZpeCBmb3IgZ2lyIGluc3RhbGxhdGlvbiB1bmRlciAke3ByZWZpeH0nCisrKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ29iamVjdC1pbnRyb3NwZWN0aW9uL2dvYmplY3QtaW50cm9zcGVjdGlvbl8xLjU4LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nb2JqZWN0LWludHJvc3BlY3Rpb24vZ29iamVjdC1pbnRyb3NwZWN0aW9uXzEuNTguMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTVjYTg3ZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nb2JqZWN0LWludHJvc3BlY3Rpb24vZ29iamVjdC1pbnRyb3NwZWN0aW9uXzEuNTguMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIwNCArMCwwIEBACi1TVU1NQVJZID0gIk1pZGRsZXdhcmUgbGF5ZXIgYmV0d2VlbiBHT2JqZWN0LXVzaW5nIEMgbGlicmFyaWVzIGFuZCBsYW5ndWFnZSBiaW5kaW5ncyIKLUhPTUVQQUdFID0gImh0dHBzOi8vd2lraS5nbm9tZS5vcmcvYWN0aW9uL3Nob3cvUHJvamVjdHMvR09iamVjdEludHJvc3BlY3Rpb24iCi1CVUdUUkFDS0VSID0gImh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLyIKLVNFQ1RJT04gPSAibGlicyIKLUxJQ0VOU0UgPSAiTEdQTHYyKyAmIEdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM0MzRlODEyOGE2OGJlZGQ1OWI4MGIyYWMxZWIxYzRhIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3Rvb2xzL2NvbXBpbGVyLmM7ZW5kbGluZT0yMDttZDU9ZmM1MDA3ZmMyMDAyMjcyMGU2YzBiMGNkZGU0MWZhYmQgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ2lzY2FubmVyL3NvdXJjZXNjYW5uZXIuYztlbmRsaW5lPTIyO21kNT0xOTRkNmUwYzFkMDA2NjJmMzJkMDMwY2U0NGRlOGQzOSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9naXJlcG9zaXRvcnkvZ2lyZWdpc3RlcmVkdHlwZWluZm8uYztlbmRsaW5lPTIxO21kNT02NjE4NDc2MTFhZTY5Nzk0NjU0MTVmMzFhNzU5YmEyNyBcCi0gICAgICAgICAgICAgICAgICAgICIKLQotU1JDX1VSSSA9ICIke0dOT01FX01JUlJPUn0vJHtCUE59LyR7QG9lLnV0aWxzLnRyaW1fdmVyc2lvbigiJHtQVn0iLCAyKX0vJHtCUE59LSR7UFZ9LnRhci54eiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLVJldmVydC1hbi1pbmNvbXBsZXRlLXVwc3RyZWFtLWF0dGVtcHQtYXQtY3Jvc3MtY29tcGkucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1jb25maWd1cmUuYWMtYWRkLWhvc3QtZ2ktZ2ktY3Jvc3Mtd3JhcHBlci1naS1sZGQtd3JhLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtZ2lzY2FubmVyLWFkZC11c2UtYmluYXJ5LXdyYXBwZXItb3B0aW9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDQtZ2lzY2FubmVyLWFkZC1hLXVzZS1sZGQtd3JhcHBlci1vcHRpb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNS1QcmVmaXgtcGtnLWNvbmZpZy1wYXRocy13aXRoLVBLR19DT05GSUdfU1lTUk9PVF9ESVItLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtZ2lzY2FubmVyLWFkZC1hLWxpYi1kaXJzLWVudnZhci1vcHRpb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1naXNjYW5uZXItaWdub3JlLWVycm9yLXJldHVybi1jb2Rlcy1mcm9tLWxkZC13cmFwcGVyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLmFjLW1ha2UtR0lSX0RJUi1jb25maWd1cmFibGUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1nLWlyLXRvb2xzLXJlc3BlY3QtZ2lyX2Rpcl9wcmVmaXgucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI5NGZlYzg3NTI3NjI2MjAzN2JmY2Q1MTIyNmRiMTJmZSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIyN2MxNTkwYTMyNzQ5ZGUwYTU0ODFjZTg5Nzc3MjU0NzA0M2U5NGJjY2JhNGJjMGE3ZWRiM2Q4NTEzZTQwMWVjIgotCi1TUkNfVVJJX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGZpbGU6Ly8wMDAxLVJlbG9jYXRlLXRoZS1yZXBvc2l0b3J5LWRpcmVjdG9yeS1mb3ItbmF0aXZlLWJ1aWxkcy5wYXRjaCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGd0ay1kb2MgcHl0aG9uM25hdGl2ZSBxZW11IGdvYmplY3QtaW50cm9zcGVjdGlvbi1kYXRhIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbiBtdWx0aWxpYl9zY3JpcHQKLQotTVVMVElMSUJfU0NSSVBUUyA9ICIke1BOfToke2JpbmRpcn0vZy1pci1hbm5vdGF0aW9uLXRvb2wgJHtQTn06JHtiaW5kaXJ9L2ctaXItc2Nhbm5lciIKLQotREVQRU5EU19hcHBlbmQgPSAiIGxpYmZmaSB6bGliIGdsaWItMi4wIHB5dGhvbjMgZmxleC1uYXRpdmUgYmlzb24tbmF0aXZlIGF1dG9jb25mLWFyY2hpdmUiCi0KLSMgdGFyZ2V0IGJ1aWxkIG5lZWRzIHFlbXUgdG8gcnVuIHRlbXBvcmFyeSBpbnRyb3NwZWN0aW9uIGJpbmFyaWVzIGNyZWF0ZWQKLSMgb24gdGhlIGZseSBieSBnLWlyLXNjYW5uZXIgYW5kIGEgbmF0aXZlIHZlcnNpb24gb2YgaXRzZWxmIHRvIHJ1bgotIyBuYXRpdmUgdmVyc2lvbnMgb2YgaXRzIG93biB0b29scyBkdXJpbmcgYnVpbGQuCi0jIEFsc28gcHJlbGluay1ydGxkIGlzIHVzZWQgdG8gZmluZCBvdXQgbGlicmFyeSBkZXBlbmRlbmNpZXMgb2YgaW50cm9zcGVjdGlvbiBiaW5hcmllcwotIyAoc3RhbmRhcmQgbGRkIGRvZXNuJ3Qgd29yayB3aGVuIGNyb3NzLWNvbXBpbGluZykuCi1ERVBFTkRTX2NsYXNzLXRhcmdldF9hcHBlbmQgPSAiIGdvYmplY3QtaW50cm9zcGVjdGlvbi1uYXRpdmUgcWVtdS1uYXRpdmUgcHJlbGluay1uYXRpdmUiCi0KLSMgbmVlZGVkIGZvciB3cml0aW5nIG91dCB0aGUgcWVtdSB3cmFwcGVyIHNjcmlwdAotZXhwb3J0IFNUQUdJTkdfRElSX0hPU1QKLWV4cG9ydCBCCi0KLVBBQ0tBR0VDT05GSUcgPz0gIiIKLVBBQ0tBR0VDT05GSUdbZG9jdG9vbF0gPSAiLS1lbmFibGUtZG9jdG9vbCwtLWRpc2FibGUtZG9jdG9vbCxweXRob24zLW1ha28sIgotCi0jIENvbmZpZ3VyZSB0YXJnZXQgYnVpbGQgdG8gdXNlIG5hdGl2ZSB0b29scyBvZiBpdHNlbGYgYW5kIHRvIHVzZSBhIHFlbXUgd3JhcHBlcgotIyBhbmQgb3B0aW9uYWxseSB0byBnZW5lcmF0ZSBpbnRyb3NwZWN0aW9uIGRhdGEKLUVYVFJBX09FQ09ORl9jbGFzcy10YXJnZXQgPSAiIFwKLSAgICAtLWRpc2FibGUtc3RhdGljIFwKLSAgICAtLWVuYWJsZS1ob3N0LWdpIFwKLSAgICAtLWVuYWJsZS1naS1jcm9zcy13cmFwcGVyPSR7Qn0vZy1pci1zY2FubmVyLXFlbXV3cmFwcGVyIFwKLSAgICAtLWVuYWJsZS1naS1sZGQtd3JhcHBlcj0ke0J9L2ctaXItc2Nhbm5lci1sZGR3cmFwcGVyIFwKLSAgICAke0BiYi51dGlscy5jb250YWlucygnR0lfREFUQV9FTkFCTEVEJywgJ1RydWUnLCAnLS1lbmFibGUtaW50cm9zcGVjdGlvbi1kYXRhJywgJy0tZGlzYWJsZS1pbnRyb3NwZWN0aW9uLWRhdGEnLCBkKX0gXAotICAgICR7QCctLXdpdGgtZ2lyLWRpci1wcmVmaXg9JHtsaWJkaXJ9JyBpZiBkLmdldFZhcignTVVMVElMSUJTJykgZWxzZSAnJ30gXAotIgotCi0jIE5lZWQgdG8gZW5zdXJlIGxkLnNvLmNvbmYgZXhpc3RzIHNvIHByZWxpbmstbmF0aXZlIHdvcmtzCi0jIGJvdGggYmVmb3JlIHdlIGJ1aWxkIGFuZCBpZiB3ZSBpbnN0YWxsIGZyb20gc3N0YXRlCi1kb19jb25maWd1cmVbcHJlZnVuY3NdICs9ICJnb2JqZWN0X2ludHJvc3BlY3Rpb25fcHJlY29uZmlndXJlIgotcHl0aG9uIGdvYmplY3RfaW50cm9zcGVjdGlvbl9wcmVjb25maWd1cmUgKCkgewotICAgIG9lLnV0aWxzLndyaXRlX2xkX3NvX2NvbmYoZCkKLX0KLQotZG9fY29uZmlndXJlX3ByZXBlbmRfY2xhc3MtbmF0aXZlKCkgewotICAgICAgICAjIFR3ZWFrIHRoZSBuYXRpdmUgcHl0aG9uIHNjcmlwdHMgc28gdGhhdCB0aGV5IGRvbid0IHJlZmVyIHRvIHRoZQotICAgICAgICAjIGZ1bGwgcGF0aCBvZiBuYXRpdmUgcHl0aG9uIGJpbmFyeSAodGhlIHNvbHV0aW9uIGlzIHRha2VuIGZyb20gZ2xpYi0yLjAgcmVjaXBlKQotICAgICAgICAjIFRoaXMgcmVtb3ZlcyB0aGUgcmlzayBvZiBleGNlZWRpbmcgTGludXgga2VybmVsJ3Mgc2hlYmFuZyBsaW5lIGxpbWl0ICgxMjggYnl0ZXMpCi0gICAgICAgIHNlZCAtaSAtZSAnMXMsIyEuKiwjISR7VVNSQklOUEFUSH0vZW52IHB5dGhvbjMsJyAke1N9L3Rvb2xzL2ctaXItdG9vbC10ZW1wbGF0ZS5pbgotfQotCi1kb19jb25maWd1cmVfcHJlcGVuZF9jbGFzcy10YXJnZXQoKSB7Ci0gICAgICAgICMgV3JpdGUgb3V0IGEgcWVtdSB3cmFwcGVyIHRoYXQgd2lsbCBiZSBnaXZlbiB0byBnaS1zY2FubmVyIHNvIHRoYXQgaXQKLSAgICAgICAgIyBjYW4gcnVuIHRhcmdldCBoZWxwZXIgYmluYXJpZXMgdGhyb3VnaCB0aGF0LgotICAgICAgICBxZW11X2JpbmFyeT0iJHtAcWVtdV93cmFwcGVyX2NtZGxpbmUoZCwgJyRTVEFHSU5HX0RJUl9IT1NUJywgWydcJEdJUl9FWFRSQV9MSUJTX1BBVEgnLCcubGlicycsJyRTVEFHSU5HX0RJUl9IT1NULyR7bGliZGlyfScsJyRTVEFHSU5HX0RJUl9IT1NULyR7YmFzZV9saWJkaXJ9J10pfSIKLSAgICAgICAgY2F0ID4gJHtCfS9nLWlyLXNjYW5uZXItcWVtdXdyYXBwZXIgPDwgRU9GCi0jIS9iaW4vc2gKLSMgVXNlIGEgbW9kdWxlcyBkaXJlY3Rvcnkgd2hpY2ggZG9lc24ndCBleGlzdCBzbyB3ZSBkb24ndCBsb2FkIHJhbmRvbSB0aGluZ3MKLSMgd2hpY2ggbWF5IHRoZW4gZ2V0IGRlbGV0ZWQgKG9yIHRoZWlyIGRlcGVuZGVuY2llcykgYW5kIHBvdGVudGlhbGx5IHNlZ2ZhdWx0Ci1leHBvcnQgR0lPX01PRFVMRV9ESVI9JHtTVEFHSU5HX0xJQkRJUn0vZ2lvL21vZHVsZXMtZHVtbXkKLQotJHFlbXVfYmluYXJ5ICJcJEAiCi1pZiBbIFwkPyAtbmUgMCBdOyB0aGVuCi0gICAgZWNobyAiSWYgdGhlIGFib3ZlIGVycm9yIG1lc3NhZ2UgaXMgYWJvdXQgbWlzc2luZyAuc28gbGlicmFyaWVzLCB0aGVuIHNldHRpbmcgdXAgR0lSX0VYVFJBX0xJQlNfUEFUSCBpbiB0aGUgcmVjaXBlIHNob3VsZCBoZWxwLiIKLSAgICBlY2hvICIodHlwaWNhbGx5IGxpa2UgdGhpczogR0lSX0VYVFJBX0xJQlNfUEFUSD1cIiQiIntCfS9zb21ldGhpbmcvLmxpYnNcIiApIgotICAgIGV4aXQgMQotZmkKLUVPRgotICAgICAgICBjaG1vZCAreCAke0J9L2ctaXItc2Nhbm5lci1xZW11d3JhcHBlcgotCi0gICAgICAgICMgV3JpdGUgb3V0IGEgd3JhcHBlciBmb3IgZy1pci1zY2FubmVyIGl0c2VsZiwgd2hpY2ggd2lsbCBiZSB1c2VkIHdoZW4gYnVpbGRpbmcgaW50cm9zcGVjdGlvbiBmaWxlcwotICAgICAgICAjIGZvciBnbGliLWJhc2VkIHBhY2thZ2VzLiBUaGlzIHdyYXBwZXIgY2FsbHMgdGhlIG5hdGl2ZSB2ZXJzaW9uIG9mIHRoZSBzY2FubmVyLCBhbmQgdGVsbHMgaXQgdG8gdXNlCi0gICAgICAgICMgYSBxZW11IHdyYXBwZXIgZm9yIHJ1bm5pbmcgdHJhbnNpZW50IHRhcmdldCBiaW5hcmllcyBwcm9kdWNlZCBieSB0aGUgc2Nhbm5lciwgYW5kIGFuIGluY2x1ZGUgZGlyZWN0b3J5IAotICAgICAgICAjIGZyb20gdGhlIHRhcmdldCBzeXNyb290LgotICAgICAgICBjYXQgPiAke0J9L2ctaXItc2Nhbm5lci13cmFwcGVyIDw8IEVPRgotIyEvYmluL3NoCi0jIFRoaXMgcHJldmVudHMgZy1pci1zY2FubmVyIGZyb20gd3JpdGluZyBjYWNoZSBkYXRhIHRvICRIT01FCi1leHBvcnQgR0lfU0NBTk5FUl9ESVNBQkxFX0NBQ0hFPTEKLQotZy1pci1zY2FubmVyIC0tbGliLWRpcnMtZW52dmFyPUdJUl9FWFRSQV9MSUJTX1BBVEggLS11c2UtYmluYXJ5LXdyYXBwZXI9JHtTVEFHSU5HX0JJTkRJUn0vZy1pci1zY2FubmVyLXFlbXV3cmFwcGVyIC0tdXNlLWxkZC13cmFwcGVyPSR7U1RBR0lOR19CSU5ESVJ9L2ctaXItc2Nhbm5lci1sZGR3cmFwcGVyIC0tYWRkLWluY2x1ZGUtcGF0aD0ke1NUQUdJTkdfREFUQURJUn0vZ2lyLTEuMCAtLWFkZC1pbmNsdWRlLXBhdGg9JHtTVEFHSU5HX0xJQkRJUn0vZ2lyLTEuMCAiXCRAIgotRU9GCi0gICAgICAgIGNobW9kICt4ICR7Qn0vZy1pci1zY2FubmVyLXdyYXBwZXIKLQotICAgICAgICAjIFdyaXRlIG91dCBhIHdyYXBwZXIgZm9yIGctaXItY29tcGlsZXIsIHdoaWNoIHJ1bnMgdGhlIHRhcmdldCB2ZXJzaW9uIG9mIGl0IHRocm91Z2ggcWVtdS4KLSAgICAgICAgIyBnLWlyLWNvbXBpbGVyIHdyaXRlcyBvdXQgdGhlIHJhdyBjb250ZW50IG9mIGEgQyBzdHJ1Y3QgdG8gZGlzaywgYW5kIHRoZXJlZm9yZSBpcyBhcmNoaXRlY3R1cmUgZGVwZW5kZW50LgotICAgICAgICBjYXQgPiAke0J9L2ctaXItY29tcGlsZXItd3JhcHBlciA8PCBFT0YKLSMhL2Jpbi9zaAotJHtTVEFHSU5HX0JJTkRJUn0vZy1pci1zY2FubmVyLXFlbXV3cmFwcGVyICR7U1RBR0lOR19CSU5ESVJ9L2ctaXItY29tcGlsZXIgIlwkQCIKLUVPRgotICAgICAgICBjaG1vZCAreCAke0J9L2ctaXItY29tcGlsZXItd3JhcHBlcgotCi0gICAgICAgICMgV3JpdGUgb3V0IGEgd3JhcHBlciB0byB1c2UgaW5zdGVhZCBvZiBsZGQsIHdoaWNoIGRvZXMgbm90IHdvcmsgd2hlbiBhIGJpbmFyeSBpcyBidWlsdAotICAgICAgICAjIGZvciBhIGRpZmZlcmVudCBhcmNoaXRlY3R1cmUKLSAgICAgICAgY2F0ID4gJHtCfS9nLWlyLXNjYW5uZXItbGRkd3JhcHBlciA8PCBFT0YKLSMhL2Jpbi9zaAotcHJlbGluay1ydGxkIC0tcm9vdD0kU1RBR0lOR19ESVJfSE9TVCAiXCRAIgotRU9GCi0gICAgICAgIGNobW9kICt4ICR7Qn0vZy1pci1zY2FubmVyLWxkZHdyYXBwZXIKLQotICAgICAgICAjIEFsc28gdHdlYWsgdGhlIHRhcmdldCBweXRob24gc2NyaXB0cyBzbyB0aGF0IHRoZXkgZG9uJ3QgcmVmZXIgdG8gdGhlCi0gICAgICAgICMgbmF0aXZlIHZlcnNpb24gb2YgcHl0aG9uIGJpbmFyeSAodGhlIHNvbHV0aW9uIGlzIHRha2VuIGZyb20gZ2xpYi0yLjAgcmVjaXBlKQotICAgICAgICBzZWQgLWkgLWUgJzFzLCMhLiosIyEke1VTUkJJTlBBVEh9L2VudiBweXRob24zLCcgJHtTfS90b29scy9nLWlyLXRvb2wtdGVtcGxhdGUuaW4KLX0KLQotZG9fY29tcGlsZV9wcmVwZW5kKCkgewotICAgICAgICAjIFRoaXMgcHJldmVudHMgZy1pci1zY2FubmVyIGZyb20gd3JpdGluZyBjYWNoZSBkYXRhIHRvICRIT01FCi0gICAgICAgIGV4cG9ydCBHSV9TQ0FOTkVSX0RJU0FCTEVfQ0FDSEU9MQotCi0gICAgICAgICMgTmVlZGVkIHRvIHJ1biBnLWlyIHVuaXQgdGVzdHMsIHdoaWNoIHdvbid0IGJlIGFibGUgdG8gZmluZCB0aGUgYnVpbHQgbGlicmFyaWVzIG90aGVyd2lzZQotICAgICAgICBleHBvcnQgR0lSX0VYVFJBX0xJQlNfUEFUSD0kQi8ubGlicwotfQotCi0jIE91ciB3cmFwcGVycyBuZWVkIHRvIGJlIGF2YWlsYWJsZSBzeXN0ZW0td2lkZSwgYmVjYXVzZSB0aGV5IHdpbGwgYmUgdXNlZCAKLSMgdG8gYnVpbGQgaW50cm9zcGVjdGlvbiBmaWxlcyBmb3IgYWxsIG90aGVyIGdvYmplY3QtYmFzZWQgcGFja2FnZXMKLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLXRhcmdldCgpIHsKLSAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9LwotICAgICAgICBpbnN0YWxsICR7Qn0vZy1pci1zY2FubmVyLXFlbXV3cmFwcGVyICR7RH0ke2JpbmRpcn0vCi0gICAgICAgIGluc3RhbGwgJHtCfS9nLWlyLXNjYW5uZXItd3JhcHBlciAke0R9JHtiaW5kaXJ9LwotICAgICAgICBpbnN0YWxsICR7Qn0vZy1pci1jb21waWxlci13cmFwcGVyICR7RH0ke2JpbmRpcn0vCi0gICAgICAgIGluc3RhbGwgJHtCfS9nLWlyLXNjYW5uZXItbGRkd3JhcHBlciAke0R9JHtiaW5kaXJ9LwotfQotCi0jIHdlIG5lZWQgdGFyZ2V0IHZlcnNpb25zIG9mIGludHJvc3BlY3Rpb24gdG9vbHMgaW4gc3lzcm9vdCBzbyB0aGF0IHRoZXkgY2FuIGJlIHJ1biB2aWEgcWVtdQotIyB3aGVuIGJ1aWxkaW5nIGludHJvc3BlY3Rpb24gZmlsZXMgaW4gb3RoZXIgcGFja2FnZXMKLVNZU1JPT1RfRElSU19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke2JpbmRpcn0iCi0KLVNZU1JPT1RfUFJFUFJPQ0VTU19GVU5DU19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBnaV9iaW5hcmllc19zeXNyb290X3ByZXByb2Nlc3MiCi1naV9iaW5hcmllc19zeXNyb290X3ByZXByb2Nlc3MoKSB7Ci0gICAgICAgICMgVHdlYWsgdGhlIGJpbmFyeSBuYW1lcyBpbiB0aGUgaW50cm9zcGVjdGlvbiBwa2djb25maWcgZmlsZSwgc28gdGhhdCBpdAotICAgICAgICAjIHBpY2tzIHVwIG91ciB3cmFwcGVycyB3aGljaCBkbyB0aGUgY3Jvc3MtY29tcGlsZSBhbmQgcWVtdSBtYWdpYy4KLSAgICAgICAgc2VkIC1pIFwKLSAgICAgICAgICAgLWUgInN8Z19pcl9zY2FubmVyPS4qfGdfaXJfc2Nhbm5lcj0ke2JpbmRpcn0vZy1pci1zY2FubmVyLXdyYXBwZXJ8IiBcCi0gICAgICAgICAgIC1lICJzfGdfaXJfY29tcGlsZXI9Lip8Z19pcl9jb21waWxlcj0ke2JpbmRpcn0vZy1pci1jb21waWxlci13cmFwcGVyfCIgXAotICAgICAgICAgICAke1NZU1JPT1RfREVTVERJUn0ke2xpYmRpcn0vcGtnY29uZmlnL2dvYmplY3QtaW50cm9zcGVjdGlvbi0xLjAucGMKLX0KLQotU1lTUk9PVF9QUkVQUk9DRVNTX0ZVTkNTX2FwcGVuZCA9ICIgZ2lfbGRzb2NvbmZfc3lzcm9vdF9wcmVwcm9jZXNzIgotZ2lfbGRzb2NvbmZfc3lzcm9vdF9wcmVwcm9jZXNzICgpIHsKLQlta2RpciAtcCAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcn0KLQlkZXN0PSR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyfS9wb3N0aW5zdC1sZHNvY29uZi0ke1BOfQotCWVjaG8gIiMhL2Jpbi9zaCIgPiAkZGVzdAotCWVjaG8gIm1rZGlyIC1wICR7U1RBR0lOR19ESVJfVEFSR0VUfSR7c3lzY29uZmRpcn0iID4+ICRkZXN0Ci0JZWNobyAiZWNobyAke2Jhc2VfbGliZGlyfSA+PiAke1NUQUdJTkdfRElSX1RBUkdFVH0ke3N5c2NvbmZkaXJ9L2xkLnNvLmNvbmYiID4+ICRkZXN0Ci0JZWNobyAiZWNobyAke2xpYmRpcn0gPj4gJHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtzeXNjb25mZGlyfS9sZC5zby5jb25mIiA+PiAkZGVzdAotCWNobW9kIDc1NSAkZGVzdAotfQotCi0jIFJlbW92ZSB3cmFwcGVyIGZpbGVzIGZyb20gdGhlIHBhY2thZ2UsIG9ubHkgdXNlZCBmb3IgY3Jvc3MtY29tcGlsaW5nCi1QQUNLQUdFX1BSRVBST0NFU1NfRlVOQ1MgKz0gImdpX3BhY2thZ2VfcHJlcHJvY2VzcyIKLWdpX3BhY2thZ2VfcHJlcHJvY2VzcygpIHsKLQlybSAtZiAke1BLR0R9JHtiaW5kaXJ9L2ctaXItc2Nhbm5lci1xZW11d3JhcHBlcgotCXJtIC1mICR7UEtHRH0ke2JpbmRpcn0vZy1pci1zY2FubmVyLXdyYXBwZXIKLQlybSAtZiAke1BLR0R9JHtiaW5kaXJ9L2ctaXItY29tcGlsZXItd3JhcHBlcgotCXJtIC1mICR7UEtHRH0ke2JpbmRpcn0vZy1pci1zY2FubmVyLWxkZHdyYXBwZXIKLX0KLQotU1NUQVRFX1NDQU5fRklMRVMgKz0gImctaXItc2Nhbm5lci1xZW11d3JhcHBlciBnLWlyLXNjYW5uZXItd3JhcHBlciBnLWlyLWNvbXBpbGVyLXdyYXBwZXIgZy1pci1zY2FubmVyLWxkZHdyYXBwZXIgR2lvLTIuMC5naXIgcG9zdGluc3QtbGRzb2NvbmYtJHtQTn0iCi0KLSMgLnR5cGVsaWIgZmlsZXMgYXJlIG5lZWRlZCBhdCBydW50aW1lIGFuZCBzbyB0aGV5IGdvIHRvIHRoZSBtYWluIHBhY2thZ2UKLUZJTEVTXyR7UE59X2FwcGVuZCA9ICIgJHtsaWJkaXJ9L2dpcmVwb3NpdG9yeS0qLyoudHlwZWxpYiIKLQotIyAuZ2lyIGZpbGVzIGdvIHRvIGRldiBwYWNrYWdlLCBhcyB0aGV5J3JlIG5lZWRlZCBmb3IgZGV2ZWxvcGluZyAoYnV0IG5vdCBmb3IgcnVubmluZykKLSMgdGhpbmdzIHRoYXQgZGVwZW5kcyBvbiBpbnRyb3NwZWN0aW9uLgotRklMRVNfJHtQTn0tZGV2X2FwcGVuZCA9ICIgJHtkYXRhZGlyfS9naXItKi8qLmdpciAke2xpYmRpcn0vZ2lyLSovKi5naXIiCi1GSUxFU18ke1BOfS1kZXZfYXBwZW5kID0gIiAke2RhdGFkaXJ9L2dpci0qLyoucm5jIgotCi0jIFRoZXNlIGFyZSB1c2VkIGJ5IGdvYmplY3QtYmFzZWQgcGFja2FnZXMKLSMgdG8gZ2VuZXJhdGUgdHJhbnNpZW50IGludHJvc3BlY3Rpb24gYmluYXJpZXMKLUZJTEVTXyR7UE59LWRldl9hcHBlbmQgPSAiICR7ZGF0YWRpcn0vZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMC9nZHVtcC5jIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMC9NYWtlZmlsZS5pbnRyb3NwZWN0aW9uIgotCi0jIFRoZXNlIGFyZSB1c2VkIGJ5IGRlcGVuZGVudCBwYWNrYWdlcyAoZS5nLiBweWdvYmplY3QpIHRvIGJ1aWxkIHRoZWlyCi0jIHRlc3RzdWl0ZXMuCi1GSUxFU18ke1BOfS1kZXZfYXBwZW5kID0gIiAke2RhdGFkaXJ9L2dvYmplY3QtaW50cm9zcGVjdGlvbi0xLjAvdGVzdHMvKi5jIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMC90ZXN0cy8qLmgiCi0KLUZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2dvYmplY3QtaW50cm9zcGVjdGlvbi9naXNjYW5uZXIvLmRlYnVnLyIKLUZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L2dvYmplY3QtaW50cm9zcGVjdGlvbi9naXNjYW5uZXIvKi5hIgotCi1SREVQRU5EU18ke1BOfSA9ICJweXRob24zLXBpY2tsZSBweXRob24zLXhtbCIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nb2JqZWN0LWludHJvc3BlY3Rpb24vZ29iamVjdC1pbnRyb3NwZWN0aW9uXzEuNTguMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dvYmplY3QtaW50cm9zcGVjdGlvbi9nb2JqZWN0LWludHJvc3BlY3Rpb25fMS41OC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRmZjliN2IKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nb2JqZWN0LWludHJvc3BlY3Rpb24vZ29iamVjdC1pbnRyb3NwZWN0aW9uXzEuNTguMy5iYgpAQCAtMCwwICsxLDIwNiBAQAorU1VNTUFSWSA9ICJNaWRkbGV3YXJlIGxheWVyIGJldHdlZW4gR09iamVjdC11c2luZyBDIGxpYnJhcmllcyBhbmQgbGFuZ3VhZ2UgYmluZGluZ3MiCitIT01FUEFHRSA9ICJodHRwczovL3dpa2kuZ25vbWUub3JnL2FjdGlvbi9zaG93L1Byb2plY3RzL0dPYmplY3RJbnRyb3NwZWN0aW9uIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEx2MisgJiBHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jNDM0ZTgxMjhhNjhiZWRkNTliODBiMmFjMWViMWM0YSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly90b29scy9jb21waWxlci5jO2VuZGxpbmU9MjA7bWQ1PWZjNTAwN2ZjMjAwMjI3MjBlNmMwYjBjZGRlNDFmYWJkIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dpc2Nhbm5lci9zb3VyY2VzY2FubmVyLmM7ZW5kbGluZT0yMjttZDU9MTk0ZDZlMGMxZDAwNjYyZjMyZDAzMGNlNDRkZThkMzkgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ2lyZXBvc2l0b3J5L2dpcmVnaXN0ZXJlZHR5cGVpbmZvLmM7ZW5kbGluZT0yMTttZDU9NjYxODQ3NjExYWU2OTc5NDY1NDE1ZjMxYTc1OWJhMjcgXAorICAgICAgICAgICAgICAgICAgICAiCisKK1NSQ19VUkkgPSAiJHtHTk9NRV9NSVJST1J9LyR7QlBOfS8ke0BvZS51dGlscy50cmltX3ZlcnNpb24oIiR7UFZ9IiwgMil9LyR7QlBOfS0ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1SZXZlcnQtYW4taW5jb21wbGV0ZS11cHN0cmVhbS1hdHRlbXB0LWF0LWNyb3NzLWNvbXBpLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItY29uZmlndXJlLmFjLWFkZC1ob3N0LWdpLWdpLWNyb3NzLXdyYXBwZXItZ2ktbGRkLXdyYS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAzLWdpc2Nhbm5lci1hZGQtdXNlLWJpbmFyeS13cmFwcGVyLW9wdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA0LWdpc2Nhbm5lci1hZGQtYS11c2UtbGRkLXdyYXBwZXItb3B0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDUtUHJlZml4LXBrZy1jb25maWctcGF0aHMtd2l0aC1QS0dfQ09ORklHX1NZU1JPT1RfRElSLS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWdpc2Nhbm5lci1hZGQtYS1saWItZGlycy1lbnZ2YXItb3B0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZ2lzY2FubmVyLWlnbm9yZS1lcnJvci1yZXR1cm4tY29kZXMtZnJvbS1sZGQtd3JhcHBlci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS5hYy1tYWtlLUdJUl9ESVItY29uZmlndXJhYmxlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItZy1pci10b29scy1yZXNwZWN0LWdpcl9kaXJfcHJlZml4LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTAtbWVzb24tYWRkLW9wdGlvbi1naXItZGlyLXByZWZpeC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVBvcnQtY3Jvc3MtY29tcGlsYXRpb24tc3VwcG9ydC10by1tZXNvbi5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjE4MjQzMmMxZjMzODg2YmU4ZjRkYTA3MzIxOGI1OTdkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjAyNWI2MzJiYmQ5NDRkY2YxMWZjNTBkMTlhMGNhMDg2YjgzYmFmOTJiM2UzNDkzNmQwMDgxODBkMjhjZGMzYzgiCisKK1NSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgZmlsZTovLzAwMDEtUmVsb2NhdGUtdGhlLXJlcG9zaXRvcnktZGlyZWN0b3J5LWZvci1uYXRpdmUtYnVpbGRzLnBhdGNoIgorCitpbmhlcml0IG1lc29uIHBrZ2NvbmZpZyBndGstZG9jIHB5dGhvbjNuYXRpdmUgcWVtdSBnb2JqZWN0LWludHJvc3BlY3Rpb24tZGF0YSB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4gbXVsdGlsaWJfc2NyaXB0CisKK01VTFRJTElCX1NDUklQVFMgPSAiJHtQTn06JHtiaW5kaXJ9L2ctaXItYW5ub3RhdGlvbi10b29sICR7UE59OiR7YmluZGlyfS9nLWlyLXNjYW5uZXIiCisKK0RFUEVORFNfYXBwZW5kID0gIiBsaWJmZmkgemxpYiBnbGliLTIuMCBweXRob24zIGZsZXgtbmF0aXZlIGJpc29uLW5hdGl2ZSBhdXRvY29uZi1hcmNoaXZlIgorCisjIHRhcmdldCBidWlsZCBuZWVkcyBxZW11IHRvIHJ1biB0ZW1wb3JhcnkgaW50cm9zcGVjdGlvbiBiaW5hcmllcyBjcmVhdGVkCisjIG9uIHRoZSBmbHkgYnkgZy1pci1zY2FubmVyIGFuZCBhIG5hdGl2ZSB2ZXJzaW9uIG9mIGl0c2VsZiB0byBydW4KKyMgbmF0aXZlIHZlcnNpb25zIG9mIGl0cyBvd24gdG9vbHMgZHVyaW5nIGJ1aWxkLgorIyBBbHNvIHByZWxpbmstcnRsZCBpcyB1c2VkIHRvIGZpbmQgb3V0IGxpYnJhcnkgZGVwZW5kZW5jaWVzIG9mIGludHJvc3BlY3Rpb24gYmluYXJpZXMKKyMgKHN0YW5kYXJkIGxkZCBkb2Vzbid0IHdvcmsgd2hlbiBjcm9zcy1jb21waWxpbmcpLgorREVQRU5EU19jbGFzcy10YXJnZXRfYXBwZW5kID0gIiBnb2JqZWN0LWludHJvc3BlY3Rpb24tbmF0aXZlIHFlbXUtbmF0aXZlIHByZWxpbmstbmF0aXZlIgorCisjIG5lZWRlZCBmb3Igd3JpdGluZyBvdXQgdGhlIHFlbXUgd3JhcHBlciBzY3JpcHQKK2V4cG9ydCBTVEFHSU5HX0RJUl9IT1NUCitleHBvcnQgQgorCitQQUNLQUdFQ09ORklHID89ICIiCitQQUNLQUdFQ09ORklHW2RvY3Rvb2xdID0gIi1EZG9jdG9vbD10cnVlLC1EZG9jdG9vbD1mYWxzZSxweXRob24zLW1ha28sIgorCisjIENvbmZpZ3VyZSB0YXJnZXQgYnVpbGQgdG8gdXNlIG5hdGl2ZSB0b29scyBvZiBpdHNlbGYgYW5kIHRvIHVzZSBhIHFlbXUgd3JhcHBlcgorIyBhbmQgb3B0aW9uYWxseSB0byBnZW5lcmF0ZSBpbnRyb3NwZWN0aW9uIGRhdGEKK0VYVFJBX09FTUVTT05fY2xhc3MtdGFyZ2V0ID0gIiBcCisgICAgLURlbmFibGUtaG9zdC1naT10cnVlIFwKKyAgICAtRGVuYWJsZS1naS1jcm9zcy13cmFwcGVyPSR7Qn0vZy1pci1zY2FubmVyLXFlbXV3cmFwcGVyIFwKKyAgICAtRGVuYWJsZS1naS1sZGQtd3JhcHBlcj0ke0J9L2ctaXItc2Nhbm5lci1sZGR3cmFwcGVyIFwKKyAgICAtRHBrZ2NvbmZpZy1zeXNyb290LXBhdGg9JHtQS0dfQ09ORklHX1NZU1JPT1RfRElSfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0dJX0RBVEFfRU5BQkxFRCcsICdUcnVlJywgJy1EZW5hYmxlLWludHJvc3BlY3Rpb24tZGF0YT10cnVlJywgJy1EZW5hYmxlLWludHJvc3BlY3Rpb24tZGF0YT1mYWxzZScsIGQpfSBcCisgICAgJHtAJy1EZ2lyLWRpci1wcmVmaXg9JHtsaWJkaXJ9JyBpZiBkLmdldFZhcignTVVMVElMSUJTJykgZWxzZSAnJ30gXAorIgorCisjIE5lZWQgdG8gZW5zdXJlIGxkLnNvLmNvbmYgZXhpc3RzIHNvIHByZWxpbmstbmF0aXZlIHdvcmtzCisjIGJvdGggYmVmb3JlIHdlIGJ1aWxkIGFuZCBpZiB3ZSBpbnN0YWxsIGZyb20gc3N0YXRlCitkb19jb25maWd1cmVbcHJlZnVuY3NdICs9ICJnb2JqZWN0X2ludHJvc3BlY3Rpb25fcHJlY29uZmlndXJlIgorcHl0aG9uIGdvYmplY3RfaW50cm9zcGVjdGlvbl9wcmVjb25maWd1cmUgKCkgeworICAgIG9lLnV0aWxzLndyaXRlX2xkX3NvX2NvbmYoZCkKK30KKworZG9fY29uZmlndXJlX3ByZXBlbmRfY2xhc3MtbmF0aXZlKCkgeworICAgICAgICAjIFR3ZWFrIHRoZSBuYXRpdmUgcHl0aG9uIHNjcmlwdHMgc28gdGhhdCB0aGV5IGRvbid0IHJlZmVyIHRvIHRoZQorICAgICAgICAjIGZ1bGwgcGF0aCBvZiBuYXRpdmUgcHl0aG9uIGJpbmFyeSAodGhlIHNvbHV0aW9uIGlzIHRha2VuIGZyb20gZ2xpYi0yLjAgcmVjaXBlKQorICAgICAgICAjIFRoaXMgcmVtb3ZlcyB0aGUgcmlzayBvZiBleGNlZWRpbmcgTGludXgga2VybmVsJ3Mgc2hlYmFuZyBsaW5lIGxpbWl0ICgxMjggYnl0ZXMpCisgICAgICAgIHNlZCAtaSAtZSAnMXMsIyEuKiwjISR7VVNSQklOUEFUSH0vZW52IHB5dGhvbjMsJyAke1N9L3Rvb2xzL2ctaXItdG9vbC10ZW1wbGF0ZS5pbgorfQorCitkb19jb25maWd1cmVfcHJlcGVuZF9jbGFzcy10YXJnZXQoKSB7CisgICAgICAgICMgV3JpdGUgb3V0IGEgcWVtdSB3cmFwcGVyIHRoYXQgd2lsbCBiZSBnaXZlbiB0byBnaS1zY2FubmVyIHNvIHRoYXQgaXQKKyAgICAgICAgIyBjYW4gcnVuIHRhcmdldCBoZWxwZXIgYmluYXJpZXMgdGhyb3VnaCB0aGF0LgorICAgICAgICBxZW11X2JpbmFyeT0iJHtAcWVtdV93cmFwcGVyX2NtZGxpbmUoZCwgJyRTVEFHSU5HX0RJUl9IT1NUJywgWydcXCRHSVJfRVhUUkFfTElCU19QQVRIJywnLmxpYnMnLCckU1RBR0lOR19ESVJfSE9TVC8ke2xpYmRpcn0nLCckU1RBR0lOR19ESVJfSE9TVC8ke2Jhc2VfbGliZGlyfSddKX0iCisgICAgICAgIGNhdCA+ICR7Qn0vZy1pci1zY2FubmVyLXFlbXV3cmFwcGVyIDw8IEVPRgorIyEvYmluL3NoCisjIFVzZSBhIG1vZHVsZXMgZGlyZWN0b3J5IHdoaWNoIGRvZXNuJ3QgZXhpc3Qgc28gd2UgZG9uJ3QgbG9hZCByYW5kb20gdGhpbmdzCisjIHdoaWNoIG1heSB0aGVuIGdldCBkZWxldGVkIChvciB0aGVpciBkZXBlbmRlbmNpZXMpIGFuZCBwb3RlbnRpYWxseSBzZWdmYXVsdAorZXhwb3J0IEdJT19NT0RVTEVfRElSPSR7U1RBR0lOR19MSUJESVJ9L2dpby9tb2R1bGVzLWR1bW15CisKKyRxZW11X2JpbmFyeSAiXCRAIgoraWYgWyBcJD8gLW5lIDAgXTsgdGhlbgorICAgIGVjaG8gIklmIHRoZSBhYm92ZSBlcnJvciBtZXNzYWdlIGlzIGFib3V0IG1pc3NpbmcgLnNvIGxpYnJhcmllcywgdGhlbiBzZXR0aW5nIHVwIEdJUl9FWFRSQV9MSUJTX1BBVEggaW4gdGhlIHJlY2lwZSBzaG91bGQgaGVscC4iCisgICAgZWNobyAiKHR5cGljYWxseSBsaWtlIHRoaXM6IEdJUl9FWFRSQV9MSUJTX1BBVEg9XCIkIiJ7Qn0vc29tZXRoaW5nLy5saWJzXCIgKSIKKyAgICBleGl0IDEKK2ZpCitFT0YKKyAgICAgICAgY2htb2QgK3ggJHtCfS9nLWlyLXNjYW5uZXItcWVtdXdyYXBwZXIKKworICAgICAgICAjIFdyaXRlIG91dCBhIHdyYXBwZXIgZm9yIGctaXItc2Nhbm5lciBpdHNlbGYsIHdoaWNoIHdpbGwgYmUgdXNlZCB3aGVuIGJ1aWxkaW5nIGludHJvc3BlY3Rpb24gZmlsZXMKKyAgICAgICAgIyBmb3IgZ2xpYi1iYXNlZCBwYWNrYWdlcy4gVGhpcyB3cmFwcGVyIGNhbGxzIHRoZSBuYXRpdmUgdmVyc2lvbiBvZiB0aGUgc2Nhbm5lciwgYW5kIHRlbGxzIGl0IHRvIHVzZQorICAgICAgICAjIGEgcWVtdSB3cmFwcGVyIGZvciBydW5uaW5nIHRyYW5zaWVudCB0YXJnZXQgYmluYXJpZXMgcHJvZHVjZWQgYnkgdGhlIHNjYW5uZXIsIGFuZCBhbiBpbmNsdWRlIGRpcmVjdG9yeSAKKyAgICAgICAgIyBmcm9tIHRoZSB0YXJnZXQgc3lzcm9vdC4KKyAgICAgICAgY2F0ID4gJHtCfS9nLWlyLXNjYW5uZXItd3JhcHBlciA8PCBFT0YKKyMhL2Jpbi9zaAorIyBUaGlzIHByZXZlbnRzIGctaXItc2Nhbm5lciBmcm9tIHdyaXRpbmcgY2FjaGUgZGF0YSB0byAkSE9NRQorZXhwb3J0IEdJX1NDQU5ORVJfRElTQUJMRV9DQUNIRT0xCisKK2ctaXItc2Nhbm5lciAtLWxpYi1kaXJzLWVudnZhcj1HSVJfRVhUUkFfTElCU19QQVRIIC0tdXNlLWJpbmFyeS13cmFwcGVyPSR7U1RBR0lOR19CSU5ESVJ9L2ctaXItc2Nhbm5lci1xZW11d3JhcHBlciAtLXVzZS1sZGQtd3JhcHBlcj0ke1NUQUdJTkdfQklORElSfS9nLWlyLXNjYW5uZXItbGRkd3JhcHBlciAtLWFkZC1pbmNsdWRlLXBhdGg9JHtTVEFHSU5HX0RBVEFESVJ9L2dpci0xLjAgLS1hZGQtaW5jbHVkZS1wYXRoPSR7U1RBR0lOR19MSUJESVJ9L2dpci0xLjAgIlwkQCIKK0VPRgorICAgICAgICBjaG1vZCAreCAke0J9L2ctaXItc2Nhbm5lci13cmFwcGVyCisKKyAgICAgICAgIyBXcml0ZSBvdXQgYSB3cmFwcGVyIGZvciBnLWlyLWNvbXBpbGVyLCB3aGljaCBydW5zIHRoZSB0YXJnZXQgdmVyc2lvbiBvZiBpdCB0aHJvdWdoIHFlbXUuCisgICAgICAgICMgZy1pci1jb21waWxlciB3cml0ZXMgb3V0IHRoZSByYXcgY29udGVudCBvZiBhIEMgc3RydWN0IHRvIGRpc2ssIGFuZCB0aGVyZWZvcmUgaXMgYXJjaGl0ZWN0dXJlIGRlcGVuZGVudC4KKyAgICAgICAgY2F0ID4gJHtCfS9nLWlyLWNvbXBpbGVyLXdyYXBwZXIgPDwgRU9GCisjIS9iaW4vc2gKKyR7U1RBR0lOR19CSU5ESVJ9L2ctaXItc2Nhbm5lci1xZW11d3JhcHBlciAke1NUQUdJTkdfQklORElSfS9nLWlyLWNvbXBpbGVyICJcJEAiCitFT0YKKyAgICAgICAgY2htb2QgK3ggJHtCfS9nLWlyLWNvbXBpbGVyLXdyYXBwZXIKKworICAgICAgICAjIFdyaXRlIG91dCBhIHdyYXBwZXIgdG8gdXNlIGluc3RlYWQgb2YgbGRkLCB3aGljaCBkb2VzIG5vdCB3b3JrIHdoZW4gYSBiaW5hcnkgaXMgYnVpbHQKKyAgICAgICAgIyBmb3IgYSBkaWZmZXJlbnQgYXJjaGl0ZWN0dXJlCisgICAgICAgIGNhdCA+ICR7Qn0vZy1pci1zY2FubmVyLWxkZHdyYXBwZXIgPDwgRU9GCisjIS9iaW4vc2gKK3ByZWxpbmstcnRsZCAtLXJvb3Q9JFNUQUdJTkdfRElSX0hPU1QgIlwkQCIKK0VPRgorICAgICAgICBjaG1vZCAreCAke0J9L2ctaXItc2Nhbm5lci1sZGR3cmFwcGVyCisKKyAgICAgICAgIyBBbHNvIHR3ZWFrIHRoZSB0YXJnZXQgcHl0aG9uIHNjcmlwdHMgc28gdGhhdCB0aGV5IGRvbid0IHJlZmVyIHRvIHRoZQorICAgICAgICAjIG5hdGl2ZSB2ZXJzaW9uIG9mIHB5dGhvbiBiaW5hcnkgKHRoZSBzb2x1dGlvbiBpcyB0YWtlbiBmcm9tIGdsaWItMi4wIHJlY2lwZSkKKyAgICAgICAgc2VkIC1pIC1lICcxcywjIS4qLCMhJHtVU1JCSU5QQVRIfS9lbnYgcHl0aG9uMywnICR7U30vdG9vbHMvZy1pci10b29sLXRlbXBsYXRlLmluCit9CisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICAgICAgIyBUaGlzIHByZXZlbnRzIGctaXItc2Nhbm5lciBmcm9tIHdyaXRpbmcgY2FjaGUgZGF0YSB0byAkSE9NRQorICAgICAgICBleHBvcnQgR0lfU0NBTk5FUl9ESVNBQkxFX0NBQ0hFPTEKKworICAgICAgICAjIE5lZWRlZCB0byBydW4gZy1pciB1bml0IHRlc3RzLCB3aGljaCB3b24ndCBiZSBhYmxlIHRvIGZpbmQgdGhlIGJ1aWx0IGxpYnJhcmllcyBvdGhlcndpc2UKKyAgICAgICAgZXhwb3J0IEdJUl9FWFRSQV9MSUJTX1BBVEg9JEIvLmxpYnMKK30KKworIyBPdXIgd3JhcHBlcnMgbmVlZCB0byBiZSBhdmFpbGFibGUgc3lzdGVtLXdpZGUsIGJlY2F1c2UgdGhleSB3aWxsIGJlIHVzZWQgCisjIHRvIGJ1aWxkIGludHJvc3BlY3Rpb24gZmlsZXMgZm9yIGFsbCBvdGhlciBnb2JqZWN0LWJhc2VkIHBhY2thZ2VzCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy10YXJnZXQoKSB7CisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfS8KKyAgICAgICAgaW5zdGFsbCAke0J9L2ctaXItc2Nhbm5lci1xZW11d3JhcHBlciAke0R9JHtiaW5kaXJ9LworICAgICAgICBpbnN0YWxsICR7Qn0vZy1pci1zY2FubmVyLXdyYXBwZXIgJHtEfSR7YmluZGlyfS8KKyAgICAgICAgaW5zdGFsbCAke0J9L2ctaXItY29tcGlsZXItd3JhcHBlciAke0R9JHtiaW5kaXJ9LworICAgICAgICBpbnN0YWxsICR7Qn0vZy1pci1zY2FubmVyLWxkZHdyYXBwZXIgJHtEfSR7YmluZGlyfS8KK30KKworIyB3ZSBuZWVkIHRhcmdldCB2ZXJzaW9ucyBvZiBpbnRyb3NwZWN0aW9uIHRvb2xzIGluIHN5c3Jvb3Qgc28gdGhhdCB0aGV5IGNhbiBiZSBydW4gdmlhIHFlbXUKKyMgd2hlbiBidWlsZGluZyBpbnRyb3NwZWN0aW9uIGZpbGVzIGluIG90aGVyIHBhY2thZ2VzCitTWVNST09UX0RJUlNfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtiaW5kaXJ9IgorCitTWVNST09UX1BSRVBST0NFU1NfRlVOQ1NfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgZ2lfYmluYXJpZXNfc3lzcm9vdF9wcmVwcm9jZXNzIgorZ2lfYmluYXJpZXNfc3lzcm9vdF9wcmVwcm9jZXNzKCkgeworICAgICAgICAjIFR3ZWFrIHRoZSBiaW5hcnkgbmFtZXMgaW4gdGhlIGludHJvc3BlY3Rpb24gcGtnY29uZmlnIGZpbGUsIHNvIHRoYXQgaXQKKyAgICAgICAgIyBwaWNrcyB1cCBvdXIgd3JhcHBlcnMgd2hpY2ggZG8gdGhlIGNyb3NzLWNvbXBpbGUgYW5kIHFlbXUgbWFnaWMuCisgICAgICAgIHNlZCAtaSBcCisgICAgICAgICAgIC1lICJzfGdfaXJfc2Nhbm5lcj0uKnxnX2lyX3NjYW5uZXI9JHtiaW5kaXJ9L2ctaXItc2Nhbm5lci13cmFwcGVyfCIgXAorICAgICAgICAgICAtZSAic3xnX2lyX2NvbXBpbGVyPS4qfGdfaXJfY29tcGlsZXI9JHtiaW5kaXJ9L2ctaXItY29tcGlsZXItd3JhcHBlcnwiIFwKKyAgICAgICAgICAgJHtTWVNST09UX0RFU1RESVJ9JHtsaWJkaXJ9L3BrZ2NvbmZpZy9nb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wLnBjCit9CisKK1NZU1JPT1RfUFJFUFJPQ0VTU19GVU5DU19hcHBlbmQgPSAiIGdpX2xkc29jb25mX3N5c3Jvb3RfcHJlcHJvY2VzcyIKK2dpX2xkc29jb25mX3N5c3Jvb3RfcHJlcHJvY2VzcyAoKSB7CisJbWtkaXIgLXAgJHtTWVNST09UX0RFU1RESVJ9JHtiaW5kaXJ9CisJZGVzdD0ke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcn0vcG9zdGluc3QtbGRzb2NvbmYtJHtQTn0KKwllY2hvICIjIS9iaW4vc2giID4gJGRlc3QKKwllY2hvICJta2RpciAtcCAke1NUQUdJTkdfRElSX1RBUkdFVH0ke3N5c2NvbmZkaXJ9IiA+PiAkZGVzdAorCWVjaG8gImVjaG8gJHtiYXNlX2xpYmRpcn0gPj4gJHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtzeXNjb25mZGlyfS9sZC5zby5jb25mIiA+PiAkZGVzdAorCWVjaG8gImVjaG8gJHtsaWJkaXJ9ID4+ICR7U1RBR0lOR19ESVJfVEFSR0VUfSR7c3lzY29uZmRpcn0vbGQuc28uY29uZiIgPj4gJGRlc3QKKwljaG1vZCA3NTUgJGRlc3QKK30KKworIyBSZW1vdmUgd3JhcHBlciBmaWxlcyBmcm9tIHRoZSBwYWNrYWdlLCBvbmx5IHVzZWQgZm9yIGNyb3NzLWNvbXBpbGluZworUEFDS0FHRV9QUkVQUk9DRVNTX0ZVTkNTICs9ICJnaV9wYWNrYWdlX3ByZXByb2Nlc3MiCitnaV9wYWNrYWdlX3ByZXByb2Nlc3MoKSB7CisJcm0gLWYgJHtQS0dEfSR7YmluZGlyfS9nLWlyLXNjYW5uZXItcWVtdXdyYXBwZXIKKwlybSAtZiAke1BLR0R9JHtiaW5kaXJ9L2ctaXItc2Nhbm5lci13cmFwcGVyCisJcm0gLWYgJHtQS0dEfSR7YmluZGlyfS9nLWlyLWNvbXBpbGVyLXdyYXBwZXIKKwlybSAtZiAke1BLR0R9JHtiaW5kaXJ9L2ctaXItc2Nhbm5lci1sZGR3cmFwcGVyCit9CisKK1NTVEFURV9TQ0FOX0ZJTEVTICs9ICJnLWlyLXNjYW5uZXItcWVtdXdyYXBwZXIgZy1pci1zY2FubmVyLXdyYXBwZXIgZy1pci1jb21waWxlci13cmFwcGVyIGctaXItc2Nhbm5lci1sZGR3cmFwcGVyIEdpby0yLjAuZ2lyIHBvc3RpbnN0LWxkc29jb25mLSR7UE59IgorCisjIC50eXBlbGliIGZpbGVzIGFyZSBuZWVkZWQgYXQgcnVudGltZSBhbmQgc28gdGhleSBnbyB0byB0aGUgbWFpbiBwYWNrYWdlCitGSUxFU18ke1BOfV9hcHBlbmQgPSAiICR7bGliZGlyfS9naXJlcG9zaXRvcnktKi8qLnR5cGVsaWIiCisKKyMgLmdpciBmaWxlcyBnbyB0byBkZXYgcGFja2FnZSwgYXMgdGhleSdyZSBuZWVkZWQgZm9yIGRldmVsb3BpbmcgKGJ1dCBub3QgZm9yIHJ1bm5pbmcpCisjIHRoaW5ncyB0aGF0IGRlcGVuZHMgb24gaW50cm9zcGVjdGlvbi4KK0ZJTEVTXyR7UE59LWRldl9hcHBlbmQgPSAiICR7ZGF0YWRpcn0vZ2lyLSovKi5naXIgJHtsaWJkaXJ9L2dpci0qLyouZ2lyIgorRklMRVNfJHtQTn0tZGV2X2FwcGVuZCA9ICIgJHtkYXRhZGlyfS9naXItKi8qLnJuYyIKKworIyBUaGVzZSBhcmUgdXNlZCBieSBnb2JqZWN0LWJhc2VkIHBhY2thZ2VzCisjIHRvIGdlbmVyYXRlIHRyYW5zaWVudCBpbnRyb3NwZWN0aW9uIGJpbmFyaWVzCitGSUxFU18ke1BOfS1kZXZfYXBwZW5kID0gIiAke2RhdGFkaXJ9L2dvYmplY3QtaW50cm9zcGVjdGlvbi0xLjAvZ2R1bXAuYyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2dvYmplY3QtaW50cm9zcGVjdGlvbi0xLjAvTWFrZWZpbGUuaW50cm9zcGVjdGlvbiIKKworIyBUaGVzZSBhcmUgdXNlZCBieSBkZXBlbmRlbnQgcGFja2FnZXMgKGUuZy4gcHlnb2JqZWN0KSB0byBidWlsZCB0aGVpcgorIyB0ZXN0c3VpdGVzLgorRklMRVNfJHtQTn0tZGV2X2FwcGVuZCA9ICIgJHtkYXRhZGlyfS9nb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wL3Rlc3RzLyouYyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2dvYmplY3QtaW50cm9zcGVjdGlvbi0xLjAvdGVzdHMvKi5oIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9nb2JqZWN0LWludHJvc3BlY3Rpb24vZ2lzY2FubmVyLy5kZWJ1Zy8iCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS9nb2JqZWN0LWludHJvc3BlY3Rpb24vZ2lzY2FubmVyLyouYSIKKworUkRFUEVORFNfJHtQTn0gPSAicHl0aG9uMy1waWNrbGUgcHl0aG9uMy14bWwiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGsrLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrKy5pbmMKaW5kZXggMTRlZDhkOC4uZDZkMTRhNyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGsrLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9ndGsrL2d0aysuaW5jCkBAIC0yNiw3ICsyNiw3IEBACiBQQUNLQUdFQ09ORklHW3gxMV0gPSAiLS13aXRoLXg9eWVzIC0td2l0aC1nZGt0YXJnZXQ9eDExLC0td2l0aC14PW5vLCR7WDExREVQRU5EU30iCiAjIHdpdGhvdXQgLS13aXRoLWdka3RhcmdldD1kaXJlY3RmYiBpdCB3aWxsIGNoZWNrIGZvciBjYWlyby14bGliIHdoaWNoIGlzbid0IGF2YWlsYWJsZSB3aXRob3V0IFgxMSBESVNUUk9fRkVBVFVSRQogUEFDS0FHRUNPTkZJR1tkaXJlY3RmYl0gPSAiLS13aXRoLWdka3RhcmdldD1kaXJlY3RmYiwsZGlyZWN0ZmIiCi1QQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICItLWVuYWJsZS1tYW4gLS13aXRoLXhtbC1jYXRhbG9nPSR7U1RBR0lOR19FVENESVJfTkFUSVZFfS94bWwvY2F0YWxvZy54bWwsIC0tZGlzYWJsZS1tYW4sIGxpYnhzbHQtbmF0aXZlIHhtbHRvLW5hdGl2ZSIKK1BBQ0tBR0VDT05GSUdbbWFucGFnZXNdID0gIi0tZW5hYmxlLW1hbiAtLXdpdGgteG1sLWNhdGFsb2c9JHtTVEFHSU5HX0VUQ0RJUl9OQVRJVkV9L3htbC9jYXRhbG9nLCAtLWRpc2FibGUtbWFuLCBsaWJ4c2x0LW5hdGl2ZSB4bWx0by1uYXRpdmUiCiAKIGluaGVyaXQgYXV0b3Rvb2xzIGd0ay1kb2MgcGtnY29uZmlnIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgZ3RrLWltbW9kdWxlcy1jYWNoZSBnb2JqZWN0LWludHJvc3BlY3Rpb24gbWFucGFnZXMKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGsrMy5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9ndGsrL2d0ayszLmluYwppbmRleCA2MzMxYTQzLi43N2I2YzMxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9ndGsrL2d0ayszLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9ndGsrL2d0ayszLmluYwpAQCAtMTIsNiArMTIsMTAgQEAKIAogaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcgZ3RrLWRvYyB1cGRhdGUtYWx0ZXJuYXRpdmVzIGd0ay1pbW1vZHVsZXMtY2FjaGUgZ3NldHRpbmdzIGRpc3Ryb19mZWF0dXJlc19jaGVjayBnb2JqZWN0LWludHJvc3BlY3Rpb24KIAorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCitHU0VUVElOR1NfUEFDS0FHRV9jbGFzcy1uYXRpdmUgPSAiIgorCiAjIHZlcnNpb25zID49IDMuOTAgYXJlIGRldmVsb3BtZW50IHZlcnNpb25zLCBvdGhlcndpc2UgbGlrZSB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4KIFVQU1RSRUFNX0NIRUNLX1JFR0VYID0gIlteXGRcLl0oP1A8cHZlcj4zXC4oWzEtOF0/WzAyNDY4XSkrKFwuXGQrKSspXC50YXIiCiAKQEAgLTMzLDcgKzM3LDYgQEAKICAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWdsaWJ0ZXN0IFwKICAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXhpbmVyYW1hIFwKICAgICAgICAgICAgICAgICAgLS1lbmFibGUtbW9kdWxlcyBcCi0gICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1jdXBzIFwKICAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWNvbG9yZCBcCiAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAieDExIiwgIiIsICItLWRpc2FibGUtZ3RrLWRvYyIsIGQpfSBcCiAgICAgICAgICAgICAgICAgICIKQEAgLTUwLDE1ICs1MywzMiBAQAogUEFDS0FHRUNPTkZJR1tvcGVuZ2xdID0gIi0tZW5hYmxlLW9wZW5nbCwtLWRpc2FibGUtb3BlbmdsLGxpYmVwb3h5IgogUEFDS0FHRUNPTkZJR1tnbHhdID0gIi0tZW5hYmxlLWdseCwtLWRpc2FibGUtZ2x4LCxsaWJnbCIKIFBBQ0tBR0VDT05GSUdbd2F5bGFuZF0gPSAiLS1lbmFibGUtd2F5bGFuZC1iYWNrZW5kLC0tZGlzYWJsZS13YXlsYW5kLWJhY2tlbmQsd2F5bGFuZCB3YXlsYW5kLXByb3RvY29scyBsaWJ4a2Jjb21tb24gdmlydHVhbC9tZXNhIHdheWxhbmQtbmF0aXZlIgorUEFDS0FHRUNPTkZJR1tjdXBzXSA9ICItLWVuYWJsZS1jdXBzLC0tZGlzYWJsZS1jdXBzLGN1cHMiCiAKLWRvX2luc3RhbGxfYXBwZW5kKCkgewotCW12ICR7RH0ke2JpbmRpcn0vZ3RrLXVwZGF0ZS1pY29uLWNhY2hlICR7RH0ke2JpbmRpcn0vZ3RrLXVwZGF0ZS1pY29uLWNhY2hlLTMuMAorcHJlcGFyZV9ndGtfc2NyaXB0cygpIHsKKyAgICBtdiAke0R9JHtiaW5kaXJ9L2d0ay11cGRhdGUtaWNvbi1jYWNoZSAke0R9JHtiaW5kaXJ9L2d0ay11cGRhdGUtaWNvbi1jYWNoZS0zLjAKIAogICAgICMgZHVwbGljYXRlIGd0ay1xdWVyeS1pbW1vZHVsZXMgZm9yIHBvc3QgaW5zdGFsbCBzY3JpcHQgdXBkYXRlX2d0a19pbW1vZHVsZXNfY2FjaGUKICAgICBta2RpciAtcCAke0R9JHtsaWJleGVjZGlyfQogICAgIGxuICR7RH0ke2JpbmRpcn0vZ3RrLXF1ZXJ5LWltbW9kdWxlcy0zLjAgJHtEfSR7bGliZXhlY2Rpcn0vJHtNTFBSRUZJWH1ndGstcXVlcnktaW1tb2R1bGVzLTMuMAogfQogCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy10YXJnZXQoKSB7CisgICAgcHJlcGFyZV9ndGtfc2NyaXB0cworfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsoKSB7CisgICAgcHJlcGFyZV9ndGtfc2NyaXB0cworfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7CisgICAgICAgIGNyZWF0ZV93cmFwcGVyICR7RH0vJHtiaW5kaXJ9L2d0ay11cGRhdGUtaWNvbi1jYWNoZSBcCisgICAgICAgICAgICAgICAgR0RLX1BJWEJVRl9NT0RVTEVfRklMRT0ke1NUQUdJTkdfTElCRElSX05BVElWRX0vZ2RrLXBpeGJ1Zi0yLjAvMi4xMC4wL2xvYWRlcnMuY2FjaGUKKyAgICAgICAgY3JlYXRlX3dyYXBwZXIgJHtEfS8ke2JpbmRpcn0vZ3RrLWVuY29kZS1zeW1ib2xpYy1zdmcgXAorICAgICAgICAgICAgICAgIEdES19QSVhCVUZfTU9EVUxFX0ZJTEU9JHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L2dkay1waXhidWYtMi4wLzIuMTAuMC9sb2FkZXJzLmNhY2hlCit9CisKK1BST1ZJREVTICs9ICJndGstaWNvbi11dGlscyIKIFBBQ0tBR0VTID0rICIke1BOfS1kZW1vIgogTElCViA9ICIzLjAuMCIKIApAQCAtMTA0LDYgKzEyNCwxMCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVkLW1pbWUtaW5mbyBcCiAgICAgICAgICAgICAgICAgICAgICAgICBhZHdhaXRhLWljb24tdGhlbWUtc3ltYm9saWMgXAogICAgICAgICAgICAgICAgICAgICAgICAgIgorCitHVEtCQVNFX1JSRUNPTU1FTkRTX2NsYXNzLW5hdGl2ZSA/PSAiXAorICAgICAgICAgICAgICAgICAgICAgICAgIgorCiBHVEtHTElCQ19SUkVDT01NRU5EUyA/PSAiJHtHVEtCQVNFX1JSRUNPTU1FTkRTfSBnbGliYy1nY29udi1pc284ODU5LTEiCiAKIFJSRUNPTU1FTkRTXyR7UE59ID0gIiR7R1RLQkFTRV9SUkVDT01NRU5EU30iCkBAIC0xMjMsMTEgKzE0NywxMSBAQAogICAgIGltbW9kdWxlc19yb290ID0gb3MucGF0aC5qb2luKGd0a19saWJkaXIsICdpbW1vZHVsZXMnKQogICAgIHByaW50bW9kdWxlc19yb290ID0gb3MucGF0aC5qb2luKGd0a19saWJkaXIsICdwcmludGJhY2tlbmRzJyk7CiAKLSAgICBpbW1vZHVsZXMgPSBkb19zcGxpdF9wYWNrYWdlcyhkLCBpbW1vZHVsZXNfcm9vdCwgJ15pbS0oLiopXC5zbyQnLCAnZ3RrMy1pbW1vZHVsZS0lcycsICdHVEsgaW5wdXQgbW9kdWxlIGZvciAlcycpCisgICAgaW1tb2R1bGVzID0gZG9fc3BsaXRfcGFja2FnZXMoZCwgaW1tb2R1bGVzX3Jvb3QsIHInXmltLSguKilcLnNvJCcsICdndGszLWltbW9kdWxlLSVzJywgJ0dUSyBpbnB1dCBtb2R1bGUgZm9yICVzJykKICAgICBpZiBpbW1vZHVsZXM6CiAgICAgICAgIGQuc2V0VmFyKCJHVEtJTU1PRFVMRVNfUEFDS0FHRVMiLCAiICIuam9pbihpbW1vZHVsZXMpKQogCi0gICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcHJpbnRtb2R1bGVzX3Jvb3QsICdebGlicHJpbnRiYWNrZW5kLSguKilcLnNvJCcsICdndGszLXByaW50YmFja2VuZC0lcycsICdHVEsgcHJpbnRiYWNrZW5kIG1vZHVsZSBmb3IgJXMnKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHByaW50bW9kdWxlc19yb290LCByJ15saWJwcmludGJhY2tlbmQtKC4qKVwuc28kJywgJ2d0azMtcHJpbnRiYWNrZW5kLSVzJywgJ0dUSyBwcmludGJhY2tlbmQgbW9kdWxlIGZvciAlcycpCiAKICAgICBpZiAoZC5nZXRWYXIoJ0RFQklBTl9OQU1FUycpKToKICAgICAgICAgZC5zZXRWYXIoZC5leHBhbmQoJ1BLR18ke1BOfScpLCAnJHtNTFBSRUZJWH1saWJndGstMy4wJykKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrKzMvMDAwMy1BZGQtZGlzYWJsZS1vcGVuZ2wtY29uZmlndXJlLW9wdGlvbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrKzMvMDAwMy1BZGQtZGlzYWJsZS1vcGVuZ2wtY29uZmlndXJlLW9wdGlvbi5wYXRjaAppbmRleCBkMmYxMmRjLi5lNWE2N2QwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9ndGsrL2d0ayszLzAwMDMtQWRkLWRpc2FibGUtb3BlbmdsLWNvbmZpZ3VyZS1vcHRpb24ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGsrMy8wMDAzLUFkZC1kaXNhYmxlLW9wZW5nbC1jb25maWd1cmUtb3B0aW9uLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSBkZTM2ZGY3MGQ4N2JhMzQ1M2VkNGYyYjkyZTk5MDAyMWM2NzIzOGY1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA5ZTI0MzQ3NGVlYTQzMzBiNTkzZTBmNmRkNDE4YjYxYjc5Njk5ZDhiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSnVzc2kgS3Vra29uZW4gPGp1c3NpLmt1a2tvbmVuQGludGVsLmNvbT4KIERhdGU6IFR1ZSwgMjEgSnVuIDIwMTYgMTU6MTE6MzkgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSCAzLzRdIEFkZCAtLWRpc2FibGUtb3BlbmdsIGNvbmZpZ3VyZSBvcHRpb24KK1N1YmplY3Q6IFtQQVRDSF0gQWRkIC0tZGlzYWJsZS1vcGVuZ2wgY29uZmlndXJlIG9wdGlvbgogCiAtLWRpc2FibGUtb3BlbmdsIHdpbGwgcmVtb3ZlIHRoZSBkZXBlbmRlbmN5IG9uIGxpYmVwb3h5IGFuZCBvbiB0aGUKIE9wZW5HTCBBUElzLiBUaGlzIGlzIHVzZWZ1bCBmb3IgdGhvc2Ugd2hvIHdhbnQgdG8ga2VlcCB1c2luZyBndGsrMwpAQCAtMjEsMzIgKzIxLDMyIEBACiBTaWduZWQtb2ZmLWJ5OiBKdXNzaSBLdWtrb25lbiA8anVzc2kua3Vra29uZW5AaW50ZWwuY29tPgogCiAtLS0KLSBjb25maWd1cmUuYWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMyArKysrKy0tCi0gZGVtb3MvZ3RrLWRlbW8vZ2xhcmVhLmMgICAgICAgICAgICAgICAgICAgIHwgMTQgKysrKysrKysKLSBkb2NzL3Rvb2xzL01ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAgfCAgOSArKystLQotIGRvY3MvdG9vbHMvd2lkZ2V0cy5jICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLQotIGdkay9nZGtkaXNwbGF5LmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLQotIGdkay9nZGtnbC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEwICsrKysrKwotIGdkay9nZGtnbGNvbnRleHQuYyAgICAgICAgICAgICAgICAgICAgICAgICB8ICA2ICsrKysKLSBnZGsvZ2Rrd2luZG93LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMyArKysrKysrCi0gZ2RrL3gxMS9NYWtlZmlsZS5hbSAgICAgICAgICAgICAgICAgICAgICAgIHwgMzAgKysrKysrKysrKysrKy0tLQotIGdkay94MTEvZ2RrZGlzcGxheS14MTEuYyAgICAgICAgICAgICAgICAgICB8ICA2ICsrKy0KLSBnZGsveDExL2dka3NjcmVlbi14MTEuYyAgICAgICAgICAgICAgICAgICAgfCAgNSArKysKLSBnZGsveDExL2dka3dpbmRvdy14MTEuYyAgICAgICAgICAgICAgICAgICAgfCAgNCArKysKLSBnZGsveDExL2dka3gtYXV0b2NsZWFudXBzLmggICAgICAgICAgICAgICAgfCAgMiArKworIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEzICsrKystCisgZGVtb3MvZ3RrLWRlbW8vZ2xhcmVhLmMgICAgICAgICAgICAgICAgICAgIHwgMTQgKysrKysrCisgZG9jcy90b29scy9NYWtlZmlsZS5hbSAgICAgICAgICAgICAgICAgICAgIHwgIDkgKysrLQorIGRvY3MvdG9vbHMvd2lkZ2V0cy5jICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICstCisgZ2RrL2dka2Rpc3BsYXkuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKy0KKyBnZGsvZ2RrZ2wuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMCArKysrCisgZ2RrL2dka2dsY29udGV4dC5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDYgKysrCisgZ2RrL2dka3dpbmRvdy5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTMgKysrKysKKyBnZGsveDExL01ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAgICAgfCAzMCArKysrKysrKystLQorIGdkay94MTEvZ2RrZGlzcGxheS14MTEuYyAgICAgICAgICAgICAgICAgICB8ICA2ICsrLQorIGdkay94MTEvZ2Rrc2NyZWVuLXgxMS5jICAgICAgICAgICAgICAgICAgICB8ICA1ICsrCisgZ2RrL3gxMS9nZGt3aW5kb3cteDExLmMgICAgICAgICAgICAgICAgICAgIHwgIDQgKysKKyBnZGsveDExL2dka3gtYXV0b2NsZWFudXBzLmggICAgICAgICAgICAgICAgfCAgMiArCiAgZ2RrL3gxMS97Z2RreC5oID0+IGdka3gtd2l0aC1nbC1jb250ZXh0Lmh9IHwgIDEgLQotIGdkay94MTEvZ2RreC13aXRob3V0LWdsLWNvbnRleHQuaCAgICAgICAgICB8IDU4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIGdkay94MTEvZ2RreC13aXRob3V0LWdsLWNvbnRleHQuaCAgICAgICAgICB8IDU4ICsrKysrKysrKysrKysrKysrKysrKysKICBndGsvTWFrZWZpbGUuYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMyArLQotIGd0ay9ndGtnbGFyZWEuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIwICsrKysrKysrKystCi0gZ3RrL2luc3BlY3Rvci9nZW5lcmFsLmMgICAgICAgICAgICAgICAgICAgIHwgIDYgKysrKwotIHRlc3RzL01ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEwICsrKystLQotIHRlc3RzdWl0ZS9ndGsvb2JqZWN0cy1maW5hbGl6ZS5jICAgICAgICAgICB8ICAyICsrCisgZ3RrL2d0a2dsYXJlYS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjAgKysrKysrKy0KKyBndGsvaW5zcGVjdG9yL2dlbmVyYWwuYyAgICAgICAgICAgICAgICAgICAgfCAgNiArKysKKyB0ZXN0cy9NYWtlZmlsZS5hbSAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMCArKy0tCisgdGVzdHN1aXRlL2d0ay9vYmplY3RzLWZpbmFsaXplLmMgICAgICAgICAgIHwgIDIgKwogIDIwIGZpbGVzIGNoYW5nZWQsIDIwMiBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKICByZW5hbWUgZ2RrL3gxMS97Z2RreC5oID0+IGdka3gtd2l0aC1nbC1jb250ZXh0Lmh9ICg5OCUpCiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkay94MTEvZ2RreC13aXRob3V0LWdsLWNvbnRleHQuaAogCiBkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCAwYTQ4ODc1Li42ZjBhM2E2IDEwMDY0NAoraW5kZXggYTkxYjI5Yy4uNTYxZDNiNSAxMDA2NDQKIC0tLSBhL2NvbmZpZ3VyZS5hYwogKysrIGIvY29uZmlndXJlLmFjCiBAQCAtMzUxLDYgKzM1MSwxNSBAQCBBQ19BUkdfRU5BQkxFKGNsb3VkcHJvdmlkZXJzLApAQCAtNjUsNyArNjUsNyBAQAogIEFDX0FSR19FTkFCTEUoZ2x4LAogICAgICAgICAgICAgICAgW0FTX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1nbHhdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtXaGVuIGVuYWJsZWQgR2RrIHdpbGwgdHJ5IHRvIGluaXRpYWxpemUgR0xYXSldKQotQEAgLTEzNzIsNyArMTM4MSw3IEBAIENGTEFHUz0iJHNhdmVkX2NmbGFncyIKK0BAIC0xMzgxLDcgKzEzOTAsNyBAQCBDRkxBR1M9IiRzYXZlZF9jZmxhZ3MiCiAgTERGTEFHUz0iJHNhdmVkX2xkZmxhZ3MiCiAgCiAgR0RLX1BBQ0tBR0VTPSIkUEFOR09fUEFDS0FHRVMgZ2RrLXBpeGJ1Zi0yLjAgPj0gZ2RrX3BpeGJ1Zl9yZXF1aXJlZF92ZXJzaW9uIGNhaXJvID49IGNhaXJvX3JlcXVpcmVkX3ZlcnNpb24gY2Fpcm8tZ29iamVjdCA+PSBjYWlyb19yZXF1aXJlZF92ZXJzaW9uIgpAQCAtNzQsNyArNzQsNyBAQAogIAogIFBLR19DSEVDS19NT0RVTEVTKEdES19ERVAsICRHREtfUEFDS0FHRVMgJEdES19QUklWQVRFX1BBQ0tBR0VTKQogIEdES19ERVBfTElCUz0iJEdES19FWFRSQV9MSUJTICRHREtfREVQX0xJQlMgJE1BVEhfTElCIgotQEAgLTE0MDYsNyArMTQxNSw3IEBAIGZpCitAQCAtMTQxNSw3ICsxNDI0LDcgQEAgZmkKICBQS0dfQ0hFQ0tfTU9EVUxFUyhBVEssICRBVEtfUEFDS0FHRVMpCiAgCiAgR1RLX1BBQ0tBR0VTPSJhdGsgPj0gYXRrX3JlcXVpcmVkX3ZlcnNpb24gY2Fpcm8gPj0gY2Fpcm9fcmVxdWlyZWRfdmVyc2lvbiBjYWlyby1nb2JqZWN0ID49IGNhaXJvX3JlcXVpcmVkX3ZlcnNpb24gZ2RrLXBpeGJ1Zi0yLjAgPj0gZ2RrX3BpeGJ1Zl9yZXF1aXJlZF92ZXJzaW9uIGdpby0yLjAgPj0gZ2xpYl9yZXF1aXJlZF92ZXJzaW9uIgpAQCAtMjI0LDEyICsyMjQsMTIgQEAKICAKICBHZGtSZW5kZXJpbmdNb2RlCiBkaWZmIC0tZ2l0IGEvZ2RrL2dka2dsLmMgYi9nZGsvZ2RrZ2wuYwotaW5kZXggOGU3YjhjMi4uYjU3OWIyMiAxMDA2NDQKK2luZGV4IDkzM2UyMDQuLjE3Njc1MDggMTAwNjQ0CiAtLS0gYS9nZGsvZ2RrZ2wuYwogKysrIGIvZ2RrL2dka2dsLmMKLUBAIC0yMiw3ICsyMiw5IEBACi0gCi0gI2luY2x1ZGUgImdka2ludGVybmFscy5oIgorQEAgLTI2LDcgKzI2LDkgQEAKKyAjIGluY2x1ZGUgIndpbjMyL2dka3dpbjMyLmgiCisgI2VuZGlmCiAgCiArI2lmZGVmIEhBVkVfT1BFTkdMCiAgI2luY2x1ZGUgPGVwb3h5L2dsLmg+CkBAIC0yMzcsNyArMjM3LDcgQEAKICAjaW5jbHVkZSA8bWF0aC5oPgogICNpbmNsdWRlIDxzdHJpbmcuaD4KICAKLUBAIC0zNiw2ICszOCw3IEBAIGdka19jYWlyb19zdXJmYWNlX21hcmtfYXNfZGlyZWN0IChjYWlyb19zdXJmYWNlX3QgKnN1cmZhY2UsCitAQCAtNDAsNiArNDIsNyBAQCBnZGtfY2Fpcm9fc3VyZmFjZV9tYXJrX2FzX2RpcmVjdCAoY2Fpcm9fc3VyZmFjZV90ICpzdXJmYWNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX29iamVjdF9yZWYgKHdpbmRvdyksICBnX29iamVjdF91bnJlZik7CiAgfQogIApAQCAtMjQ1LDcgKzI0NSw3IEBACiAgc3RhdGljIGNvbnN0IGNoYXIgKgogIGdldF92ZXJ0ZXhfdHlwZV9uYW1lIChpbnQgdHlwZSkKICB7Ci1AQCAtMjA4LDYgKzIxMSw3IEBAIHVzZV90ZXh0dXJlX3JlY3RfcHJvZ3JhbSAoR2RrR0xDb250ZXh0UGFpbnREYXRhICpwYWludF9kYXRhKQorQEAgLTIxMiw2ICsyMTUsNyBAQCB1c2VfdGV4dHVyZV9yZWN0X3Byb2dyYW0gKEdka0dMQ29udGV4dFBhaW50RGF0YSAqcGFpbnRfZGF0YSkKICAgICAgICBnbFVzZVByb2dyYW0gKHBhaW50X2RhdGEtPmN1cnJlbnRfcHJvZ3JhbS0+cHJvZ3JhbSk7CiAgICAgIH0KICB9CkBAIC0yNTMsNyArMjUzLDcgQEAKICAKICB2b2lkCiAgZ2RrX2dsX3RleHR1cmVfcXVhZHMgKEdka0dMQ29udGV4dCAqcGFpbnRfY29udGV4dCwKLUBAIC0yMTYsNiArMjIwLDcgQEAgZ2RrX2dsX3RleHR1cmVfcXVhZHMgKEdka0dMQ29udGV4dCAqcGFpbnRfY29udGV4dCwKK0BAIC0yMjAsNiArMjI0LDcgQEAgZ2RrX2dsX3RleHR1cmVfcXVhZHMgKEdka0dMQ29udGV4dCAqcGFpbnRfY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgR2RrVGV4dHVyZWRRdWFkICpxdWFkcywKICAgICAgICAgICAgICAgICAgICAgICAgZ2Jvb2xlYW4gZmxpcF9jb2xvcnMpCiAgewpAQCAtMjYxLDcgKzI2MSw3IEBACiAgICBHZGtHTENvbnRleHRQYWludERhdGEgKnBhaW50X2RhdGEgID0gZ2RrX2dsX2NvbnRleHRfZ2V0X3BhaW50X2RhdGEgKHBhaW50X2NvbnRleHQpOwogICAgR2RrR0xDb250ZXh0UHJvZ3JhbSAqcHJvZ3JhbTsKICAgIEdka1dpbmRvdyAqd2luZG93ID0gZ2RrX2dsX2NvbnRleHRfZ2V0X3dpbmRvdyAocGFpbnRfY29udGV4dCk7Ci1AQCAtMjg5LDYgKzI5NCw3IEBAIGdka19nbF90ZXh0dXJlX3F1YWRzIChHZGtHTENvbnRleHQgKnBhaW50X2NvbnRleHQsCitAQCAtMjkzLDYgKzI5OCw3IEBAIGdka19nbF90ZXh0dXJlX3F1YWRzIChHZGtHTENvbnRleHQgKnBhaW50X2NvbnRleHQsCiAgCiAgICBnbERpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheSAocHJvZ3JhbS0+cG9zaXRpb25fbG9jYXRpb24pOwogICAgZ2xEaXNhYmxlVmVydGV4QXR0cmliQXJyYXkgKHByb2dyYW0tPnV2X2xvY2F0aW9uKTsKQEAgLTI2OSw3ICsyNjksNyBAQAogIH0KICAKICAvKiB4LHksd2lkdGgsaGVpZ2h0IGRlc2NyaWJlcyBhIHJlY3RhbmdsZSBpbiB0aGUgZ2wgcmVuZGVyIGJ1ZmZlcgotQEAgLTMzNyw2ICszNDMsNyBAQCBnZGtfY2Fpcm9fZHJhd19mcm9tX2dsIChjYWlyb190ICAgICAgICAgICAgICAqY3IsCitAQCAtMzQxLDYgKzM0Nyw3IEBAIGdka19jYWlyb19kcmF3X2Zyb21fZ2wgKGNhaXJvX3QgICAgICAgICAgICAgICpjciwKICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgICAgICAgICAgICAgICAgICAgd2lkdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICAgICAgICAgICAgICAgICAgIGhlaWdodCkKICB7CkBAIC0yNzcsNyArMjc3LDcgQEAKICAgIEdka0dMQ29udGV4dCAqcGFpbnRfY29udGV4dDsKICAgIGNhaXJvX3N1cmZhY2VfdCAqaW1hZ2U7CiAgICBjYWlyb19tYXRyaXhfdCBtYXRyaXg7Ci1AQCAtNzA3LDYgKzcxNCw3IEBAIG91dDoKK0BAIC03MTgsNiArNzI1LDcgQEAgb3V0OgogICAgaWYgKGNsaXBfcmVnaW9uKQogICAgICBjYWlyb19yZWdpb25fZGVzdHJveSAoY2xpcF9yZWdpb24pOwogIApAQCAtMjg1LDcgKzI4NSw3IEBACiAgfQogIAogIC8qIFRoaXMgaXMgYWx3YXlzIGNhbGxlZCB3aXRoIHRoZSBwYWludCBjb250ZXh0IGN1cnJlbnQgKi8KLUBAIC03MTQsNiArNzIyLDcgQEAgdm9pZAorQEAgLTcyNSw2ICs3MzMsNyBAQCB2b2lkCiAgZ2RrX2dsX3RleHR1cmVfZnJvbV9zdXJmYWNlIChjYWlyb19zdXJmYWNlX3QgKnN1cmZhY2UsCiAgCQkJICAgICBjYWlyb19yZWdpb25fdCAgKnJlZ2lvbikKICB7CkBAIC0yOTMsMTQgKzI5MywxNCBAQAogICAgR2RrR0xDb250ZXh0ICpwYWludF9jb250ZXh0OwogICAgY2Fpcm9fc3VyZmFjZV90ICppbWFnZTsKICAgIGRvdWJsZSBkZXZpY2VfeF9vZmZzZXQsIGRldmljZV95X29mZnNldDsKLUBAIC04MTQsNCArODIzLDUgQEAgZ2RrX2dsX3RleHR1cmVfZnJvbV9zdXJmYWNlIChjYWlyb19zdXJmYWNlX3QgKnN1cmZhY2UsCitAQCAtODI1LDQgKzgzNCw1IEBAIGdka19nbF90ZXh0dXJlX2Zyb21fc3VyZmFjZSAoY2Fpcm9fc3VyZmFjZV90ICpzdXJmYWNlLAogIAogICAgZ2xEaXNhYmxlIChHTF9TQ0lTU09SX1RFU1QpOwogICAgZ2xEZWxldGVUZXh0dXJlcyAoMSwgJnRleHR1cmVfaWQpOwogKyNlbmRpZgogIH0KIGRpZmYgLS1naXQgYS9nZGsvZ2RrZ2xjb250ZXh0LmMgYi9nZGsvZ2RrZ2xjb250ZXh0LmMKLWluZGV4IGM3OWRjYTAuLjhhN2JlYzIgMTAwNjQ0CitpbmRleCBkZmJlZDYzLi41NTZmMGEzIDEwMDY0NAogLS0tIGEvZ2RrL2dka2dsY29udGV4dC5jCiArKysgYi9nZGsvZ2RrZ2xjb250ZXh0LmMKIEBAIC04NSw3ICs4NSw5IEBACkBAIC0zMzcsNyArMzM3LDcgQEAKICAgIEdka0dMQ29udGV4dFByaXZhdGUgKnByaXYgPSBnZGtfZ2xfY29udGV4dF9nZXRfaW5zdGFuY2VfcHJpdmF0ZSAoY29udGV4dCk7CiAgICBnYm9vbGVhbiBoYXNfbnBvdCwgaGFzX3RleHR1cmVfcmVjdGFuZ2xlOwogIAotQEAgLTg0Nyw2ICs4NTIsNyBAQCBnZGtfZ2xfY29udGV4dF9jaGVja19leHRlbnNpb25zIChHZGtHTENvbnRleHQgKmNvbnRleHQpCitAQCAtODUzLDYgKzg1OCw3IEBAIGdka19nbF9jb250ZXh0X2NoZWNrX2V4dGVuc2lvbnMgKEdka0dMQ29udGV4dCAqY29udGV4dCkKICAgICAgICAgICAgICAgICAgICAgICAgIHByaXYtPnVzZV90ZXh0dXJlX3JlY3RhbmdsZSA/ICJ5ZXMiIDogIm5vIikpOwogIAogICAgcHJpdi0+ZXh0ZW5zaW9uc19jaGVja2VkID0gVFJVRTsKQEAgLTM0Niw3ICszNDYsNyBAQAogIAogIC8qKgogZGlmZiAtLWdpdCBhL2dkay9nZGt3aW5kb3cuYyBiL2dkay9nZGt3aW5kb3cuYwotaW5kZXggYzBlMGE3ZC4uNDM3YWIwMyAxMDA2NDQKK2luZGV4IDZiMjMxZjAuLjkwNGI4NmQgMTAwNjQ0CiAtLS0gYS9nZGsvZ2Rrd2luZG93LmMKICsrKyBiL2dkay9nZGt3aW5kb3cuYwogQEAgLTQ1LDcgKzQ1LDkgQEAKQEAgLTQ3OCw3ICs0NzgsNyBAQAogKwogIC1pbmNsdWRlICQodG9wX3NyY2RpcikvZ2l0Lm1rCiBkaWZmIC0tZ2l0IGEvZ2RrL3gxMS9nZGtkaXNwbGF5LXgxMS5jIGIvZ2RrL3gxMS9nZGtkaXNwbGF5LXgxMS5jCi1pbmRleCBlOWEyNjNmLi4yODI5YTMxIDEwMDY0NAoraW5kZXggNjU5YjlmYS4uYjE1NTM2YiAxMDA2NDQKIC0tLSBhL2dkay94MTEvZ2RrZGlzcGxheS14MTEuYwogKysrIGIvZ2RrL3gxMS9nZGtkaXNwbGF5LXgxMS5jCiBAQCAtMzcsNyArMzcsOSBAQApAQCAtNDkxLDcgKzQ5MSw3IEBACiAgI2luY2x1ZGUgImdkay1wcml2YXRlLmgiCiAgCiAgI2luY2x1ZGUgPGdsaWIuaD4KLUBAIC0zMTY5LDcgKzMxNzEsOSBAQCBnZGtfeDExX2Rpc3BsYXlfY2xhc3NfaW5pdCAoR2RrWDExRGlzcGxheUNsYXNzICogY2xhc3MpCitAQCAtMzE5NCw3ICszMTk2LDkgQEAgZ2RrX3gxMV9kaXNwbGF5X2NsYXNzX2luaXQgKEdka1gxMURpc3BsYXlDbGFzcyAqIGNsYXNzKQogICAgZGlzcGxheV9jbGFzcy0+dGV4dF9wcm9wZXJ0eV90b191dGY4X2xpc3QgPSBfZ2RrX3gxMV9kaXNwbGF5X3RleHRfcHJvcGVydHlfdG9fdXRmOF9saXN0OwogICAgZGlzcGxheV9jbGFzcy0+dXRmOF90b19zdHJpbmdfdGFyZ2V0ID0gX2dka194MTFfZGlzcGxheV91dGY4X3RvX3N0cmluZ190YXJnZXQ7CiAgCkBAIC01MDMsMTAgKzUwMywxMCBAQAogICAgZGlzcGxheV9jbGFzcy0+Z2V0X2RlZmF1bHRfc2VhdCA9IGdka194MTFfZGlzcGxheV9nZXRfZGVmYXVsdF9zZWF0OwogIAogZGlmZiAtLWdpdCBhL2dkay94MTEvZ2Rrc2NyZWVuLXgxMS5jIGIvZ2RrL3gxMS9nZGtzY3JlZW4teDExLmMKLWluZGV4IDdiZjk5NzkuLmNkMWNjOWQgMTAwNjQ0CitpbmRleCAyNzJjZWNkLi4yYmIzNGFjIDEwMDY0NAogLS0tIGEvZ2RrL3gxMS9nZGtzY3JlZW4teDExLmMKICsrKyBiL2dkay94MTEvZ2Rrc2NyZWVuLXgxMS5jCi1AQCAtMTY0MywzICsxNjQzLDggQEAgZ2RrX3gxMV9zY3JlZW5fZ2V0X2N1cnJlbnRfZGVza3RvcCAoR2RrU2NyZWVuICpzY3JlZW4pCitAQCAtMTY3NSwzICsxNjc1LDggQEAgZ2RrX3gxMV9zY3JlZW5fZ2V0X2N1cnJlbnRfZGVza3RvcCAoR2RrU2NyZWVuICpzY3JlZW4pCiAgewogICAgcmV0dXJuIGdldF9uZXR3bV9jYXJkaW5hbF9wcm9wZXJ0eSAoc2NyZWVuLCAiX05FVF9DVVJSRU5UX0RFU0tUT1AiKTsKICB9CkBAIC01MTYsNyArNTE2LDcgQEAKICt2b2lkIF9nZGtfeDExX3NjcmVlbl91cGRhdGVfdmlzdWFsc19mb3JfZ2wgKEdka1NjcmVlbiAqc2NyZWVuKSB7fQogKyNlbmRpZgogZGlmZiAtLWdpdCBhL2dkay94MTEvZ2Rrd2luZG93LXgxMS5jIGIvZ2RrL3gxMS9nZGt3aW5kb3cteDExLmMKLWluZGV4IDNkNmZkM2IuLjJiZDVjODcgMTAwNjQ0CitpbmRleCBjNjIwNWU0Li5kZjIzMzRmIDEwMDY0NAogLS0tIGEvZ2RrL3gxMS9nZGt3aW5kb3cteDExLmMKICsrKyBiL2dkay94MTEvZ2Rrd2luZG93LXgxMS5jCiBAQCAtMzYsNyArMzYsOSBAQApAQCAtNTI5LDcgKzUyOSw3IEBACiAgI2luY2x1ZGUgImdka3ByaXZhdGUteDExLmgiCiAgI2luY2x1ZGUgImdkay1wcml2YXRlLmgiCiAgCi1AQCAtNTgwMSw3ICs1ODAzLDkgQEAgZ2RrX3dpbmRvd19pbXBsX3gxMV9jbGFzc19pbml0IChHZGtXaW5kb3dJbXBsWDExQ2xhc3MgKmtsYXNzKQorQEAgLTU4MDQsNyArNTgwNiw5IEBAIGdka193aW5kb3dfaW1wbF94MTFfY2xhc3NfaW5pdCAoR2RrV2luZG93SW1wbFgxMUNsYXNzICprbGFzcykKICAgIGltcGxfY2xhc3MtPnNldF9vcGFxdWVfcmVnaW9uID0gZ2RrX3gxMV93aW5kb3dfc2V0X29wYXF1ZV9yZWdpb247CiAgICBpbXBsX2NsYXNzLT5zZXRfc2hhZG93X3dpZHRoID0gZ2RrX3gxMV93aW5kb3dfc2V0X3NoYWRvd193aWR0aDsKICAgIGltcGxfY2xhc3MtPnNob3dfd2luZG93X21lbnUgPSBnZGtfeDExX3dpbmRvd19zaG93X3dpbmRvd19tZW51OwpAQCAtNjMzLDEwICs2MzMsMTAgQEAKICsKICsjZW5kaWYgLyogX19HREtfWF9IX18gKi8KIGRpZmYgLS1naXQgYS9ndGsvTWFrZWZpbGUuYW0gYi9ndGsvTWFrZWZpbGUuYW0KLWluZGV4IDg0MmMyZjkuLjA5MjFiYzcgMTAwNjQ0CitpbmRleCA1NTk0NDI5Li4yMjU5YmIzIDEwMDY0NAogLS0tIGEvZ3RrL01ha2VmaWxlLmFtCiArKysgYi9ndGsvTWFrZWZpbGUuYW0KLUBAIC0xNDE2LDE0ICsxNDE2LDEzIEBAIGd0a3ByaXZhdGV0eXBlYnVpbHRpbnMuYzogJChndGtfcHJpdmF0ZV90eXBlX2hfc291cmNlcykgIGd0a3ByaXZhdGV0eXBlYnVpbHRpbnMuCitAQCAtMTQzNCwxNCArMTQzNCwxMyBAQCBndGtwcml2YXRldHlwZWJ1aWx0aW5zLmM6ICQoZ3RrX3ByaXZhdGVfdHlwZV9oX3NvdXJjZXMpICBndGtwcml2YXRldHlwZWJ1aWx0aW5zLgogIAkmJiBjcCB4Z2VuLWdwdGJjIGd0a3ByaXZhdGV0eXBlYnVpbHRpbnMuYyAgXAogIAkmJiBybSAtZiB4Z2VuLWdwdGJjCiAgCkBAIC02NTAsMTAgKzY1MCwxMCBAQAogLQkgICQoU0VEKSAneyBzL14vKnRwKysgPSAvOyBzLyQkLygpOy87IHMvXi4qXChnZGtfeDExXHxndGtfcGx1Z19cfGd0a19zb2NrZXRfXCkuKiQkLyNpZmRlZiBHREtfV0lORE9XSU5HX1gxMVxuJlxuI2VuZGlmLzsgfScgPj4geGdlbi1ndGYgXAogKwkgICQoU0VEKSAneyBzL14vKnRwKysgPSAvOyBzLyQkLygpOy87IHMvXi4qXChnZGtfeDExXHxndGtfcGx1Z19cfGd0a19zb2NrZXRfXCkuKiQkLyNpZmRlZiBHREtfV0lORE9XSU5HX1gxMVxuJlxuI2VuZGlmLzsgcy9eLipnZGtfeDExX2dsLiokJC8jaWZkZWYgSEFWRV9PUEVOR0xcbiZcbiNlbmRpZi87IH0nID4+IHhnZW4tZ3RmIFwKICAJJiYgY3AgeGdlbi1ndGYgJEAgJiYgcm0gLWYgeGdlbi1ndGYKLSBndGt0ZXN0dXRpbHMuYzogZ3RrdHlwZWZ1bmNzLmMKKyAkKHNyY2RpcikvZ3RrdGVzdHV0aWxzLmM6IGd0a3R5cGVmdW5jcy5jCiAgCiBkaWZmIC0tZ2l0IGEvZ3RrL2d0a2dsYXJlYS5jIGIvZ3RrL2d0a2dsYXJlYS5jCi1pbmRleCAwOTQzNzhlLi5mN2M3ZjQ3IDEwMDY0NAoraW5kZXggZWEzODNjMC4uYmI0ZWI2NCAxMDA2NDQKIC0tLSBhL2d0ay9ndGtnbGFyZWEuYwogKysrIGIvZ3RrL2d0a2dsYXJlYS5jCiBAQCAtMjgsNyArMjgsOSBAQApAQCAtNzk2LDcgKzc5Niw3IEBACiAgICBpZiAoR0RLX0lTX1dBWUxBTkRfRElTUExBWSAoZ2RrX2Rpc3BsYXlfZ2V0X2RlZmF1bHQgKCkpKQogICAgICB7CiBkaWZmIC0tZ2l0IGEvdGVzdHMvTWFrZWZpbGUuYW0gYi90ZXN0cy9NYWtlZmlsZS5hbQotaW5kZXggZTJkYjZlNC4uZTUxY2YzNCAxMDA2NDQKK2luZGV4IDdjNWNhOTkuLmU0YTQ1NDYgMTAwNjQ0CiAtLS0gYS90ZXN0cy9NYWtlZmlsZS5hbQogKysrIGIvdGVzdHMvTWFrZWZpbGUuYW0KIEBAIC04MCw4ICs4MCw2IEBAIG5vaW5zdF9QUk9HUkFNUyA9ICAkKFRFU1RfUFJPR1MpCVwKQEAgLTgwOCw3ICs4MDgsNyBAQAogIAl0ZXN0Z3JpZAkJCVwKICAJdGVzdGd0awkJCQlcCiAgCXRlc3RoZWFkZXJiYXIJCQlcCi1AQCAtMTcwLDEyICsxNjgsMTggQEAgbm9pbnN0X1BST0dSQU1TID0gICQoVEVTVF9QUk9HUykJXAorQEAgLTE3MiwxMiArMTcwLDE4IEBAIG5vaW5zdF9QUk9HUkFNUyA9ICAkKFRFU1RfUFJPR1MpCVwKICAJdGVzdGFjdGlvbmJhcgkJCVwKICAJdGVzdHdpbmRvd3NpemUJCQlcCiAgCXRlc3Rwb3BvdmVyCQkJXApAQCAtODQyLDYgKzg0MiwzIEBACiAgI2VuZGlmCiAgCSAgLyogTm90IGFsbG93ZWQgdG8gZmluYWxpemUgYSBHZGtQaXhidWZMb2FkZXIgd2l0aG91dCBjYWxsaW5nIGdka19waXhidWZfbG9hZGVyX2Nsb3NlKCkgKi8KICAJICBhbGxfdHlwZXNbaV0gIT0gR0RLX1RZUEVfUElYQlVGX0xPQURFUiAmJgotLS0gCi0yLjE0LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGsrMy9saW5rX2ZyaWJpZGkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9ndGsrL2d0ayszL2xpbmtfZnJpYmlkaS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNGJiZDc5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGsrMy9saW5rX2ZyaWJpZGkucGF0Y2gKQEAgLTAsMCArMSwxOSBAQAorTGluayB3aXRoIGxpYmZyaWJpZGksIHRoaXMgaXMgdG8gYXZvaWQgdW5kZXIgbGlua2luZyB3aGVyZSB0aGVzZSBmdW5jdGlvbnMgYXJlCit1c2VkIGJ1dCB0aGUgbGlicmFyeSBpcyBub3QgbGlua2VkIGluLCBhbmQgdGhleSBhcmUgbWFya2VkIHVuZGVmaW5lZCBieSBCRkQgbGlua2VyCitidXQgZ29sZCBsaW5rZXIgcmVmdXNlcyB0byBsaW5rCisKK3wgLi8ubGlicy9saWJnZGstMy5zbzogZXJyb3I6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gJ2ZyaWJpZGlfZ2V0X2JpZGlfdHlwZScKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCistLS0gYS9nZGsvTWFrZWZpbGUuYW0KKysrKyBiL2dkay9NYWtlZmlsZS5hbQorQEAgLTU1LDYgKzU1LDcgQEAgTERBREQgPSAJCQkJCVwKKyAJLXZlcnNpb24taW5mbyAkKExUX1ZFUlNJT05fSU5GTykJXAorIAktZXhwb3J0LWR5bmFtaWMgCQkJXAorIAktcnBhdGggJChsaWJkaXIpIAkJCVwKKysJLWxmcmliaWRpCSAJCQlcCisgCSQobm9fdW5kZWZpbmVkKQorIAorICMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrKzNfMy4yMi4zMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrKzNfMy4yMi4zMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjk3YjUxOC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9ndGsrL2d0ayszXzMuMjIuMzAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1yZXF1aXJlIGd0ayszLmluYwotCi1NQUpfVkVSID0gIiR7QG9lLnV0aWxzLnRyaW1fdmVyc2lvbigiJHtQVn0iLCAyKX0iCi0KLVNSQ19VUkkgPSAiaHR0cDovL2Z0cC5nbm9tZS5vcmcvcHViL2dub21lL3NvdXJjZXMvZ3RrKy8ke01BSl9WRVJ9L2d0aystJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtSGFyZGNvZGVkLWxpYnRvb2wucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1Eby1ub3QtdHJ5LXRvLWluaXRpYWxpemUtR0wtd2l0aG91dC1saWJHTC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAzLUFkZC1kaXNhYmxlLW9wZW5nbC1jb25maWd1cmUtb3B0aW9uLnBhdGNoIFwKLSAgICAgICAgICAiCi1TUkNfVVJJW21kNXN1bV0gPSAiNjFlNjBkYzA3M2UwYTY4OTNjNzIwNDNkMjA1NzlkYzAiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTFhNGE1YzEyNzAzZDRlMWNjZGEyODMzM2I4N2ZmNDYyNzQxZGMzNjUxMzFmYmM5NGMyMThhZTgxZDlhNjU2NyIKLQotUyA9ICIke1dPUktESVJ9L2d0aystJHtQVn0iCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTVmMzBmMDcxNmRmZGQwZDkxZWI0MzllYmVjNTIyZWMyIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2d0ay9ndGsuaDtlbmRsaW5lPTI1O21kNT0xZDhkYzBmY2NkYmZhMjYyODdhMjcxZGNlODhhZjczNyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9nZGsvZ2RrLmg7ZW5kbGluZT0yNTttZDU9YzkyMGNlMzlkYzg4YzZmMDZkM2U3YzUwZTA4MDg2ZjIgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vdGVzdHMvdGVzdGd0ay5jO2VuZGxpbmU9MjU7bWQ1PWNiNzMyZGFlZTFkODJhZjdhMmJmOTUzY2YzY2YyNmYxIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGsrM18zLjI0LjUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9ndGsrL2d0ayszXzMuMjQuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MmM5YTNlCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGsrM18zLjI0LjUuYmIKQEAgLTAsMCArMSwxOSBAQAorcmVxdWlyZSBndGsrMy5pbmMKKworTUFKX1ZFUiA9ICIke0BvZS51dGlscy50cmltX3ZlcnNpb24oIiR7UFZ9IiwgMil9IgorCitTUkNfVVJJID0gImh0dHA6Ly9mdHAuZ25vbWUub3JnL3B1Yi9nbm9tZS9zb3VyY2VzL2d0aysvJHtNQUpfVkVSfS9ndGsrLSR7UFZ9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUhhcmRjb2RlZC1saWJ0b29sLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItRG8tbm90LXRyeS10by1pbml0aWFsaXplLUdMLXdpdGhvdXQtbGliR0wucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1BZGQtZGlzYWJsZS1vcGVuZ2wtY29uZmlndXJlLW9wdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9saW5rX2ZyaWJpZGkucGF0Y2ggXAorICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICIzMjg2MjM1NWMwOGY2YWYzZTc4NDhjNjk1Y2Q0MDgxYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwYmU1ZmIwZDMwMmJjM2RlMjZhYjU4YzMyOTkwZDg5NTgzMWUyYjdjNzQxOGQwZmZlYTEyMDZkNmEzZGRiMDJmIgorCitTID0gIiR7V09SS0RJUn0vZ3RrKy0ke1BWfSIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NWYzMGYwNzE2ZGZkZDBkOTFlYjQzOWViZWM1MjJlYzIgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3RrL2d0ay5oO2VuZGxpbmU9MjU7bWQ1PTFkOGRjMGZjY2RiZmEyNjI4N2EyNzFkY2U4OGFmNzM3IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dkay9nZGsuaDtlbmRsaW5lPTI1O21kNT1jOTIwY2UzOWRjODhjNmYwNmQzZTdjNTBlMDgwODZmMiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly90ZXN0cy90ZXN0Z3RrLmM7ZW5kbGluZT0yNTttZDU9Y2I3MzJkYWVlMWQ4MmFmN2EyYmY5NTNjZjNjZjI2ZjEiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9ndGsrL2d0aytfMi4yNC4zMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrK18yLjI0LjMyLmJiCmluZGV4IDg5ZmNhNzMuLjY4MmQzMWUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrK18yLjI0LjMyLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrK18yLjI0LjMyLmJiCkBAIC0yNyw4ICsyNyw4IEBACiAgICAgaW1tb2R1bGVzX3Jvb3QgPSBvcy5wYXRoLmpvaW4oZ3RrX2xpYmRpciwgJ2ltbW9kdWxlcycpCiAgICAgcHJpbnRtb2R1bGVzX3Jvb3QgPSBvcy5wYXRoLmpvaW4oZ3RrX2xpYmRpciwgJ3ByaW50YmFja2VuZHMnKTsKIAotICAgIGQuc2V0VmFyKCdHVEtJTU1PRFVMRVNfUEFDS0FHRVMnLCAnICcuam9pbihkb19zcGxpdF9wYWNrYWdlcyhkLCBpbW1vZHVsZXNfcm9vdCwgJ15pbS0oLiopXC5zbyQnLCAnZ3RrLWltbW9kdWxlLSVzJywgJ0dUSyBpbnB1dCBtb2R1bGUgZm9yICVzJykpKQotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHByaW50bW9kdWxlc19yb290LCAnXmxpYnByaW50YmFja2VuZC0oLiopXC5zbyQnLCAnZ3RrLXByaW50YmFja2VuZC0lcycsICdHVEsgcHJpbnRiYWNrZW5kIG1vZHVsZSBmb3IgJXMnKQorICAgIGQuc2V0VmFyKCdHVEtJTU1PRFVMRVNfUEFDS0FHRVMnLCAnICcuam9pbihkb19zcGxpdF9wYWNrYWdlcyhkLCBpbW1vZHVsZXNfcm9vdCwgcideaW0tKC4qKVwuc28kJywgJ2d0ay1pbW1vZHVsZS0lcycsICdHVEsgaW5wdXQgbW9kdWxlIGZvciAlcycpKSkKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwcmludG1vZHVsZXNfcm9vdCwgcidebGlicHJpbnRiYWNrZW5kLSguKilcLnNvJCcsICdndGstcHJpbnRiYWNrZW5kLSVzJywgJ0dUSyBwcmludGJhY2tlbmQgbW9kdWxlIGZvciAlcycpCiAKICAgICBpZiAoZC5nZXRWYXIoJ0RFQklBTl9OQU1FUycpKToKICAgICAgICAgZC5zZXRWYXIoZC5leHBhbmQoJ1BLR18ke1BOfScpLCAnJHtNTFBSRUZJWH1saWJndGstMi4wJykKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrLWljb24tdXRpbHMtbmF0aXZlXzMuMjIuMzAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9ndGsrL2d0ay1pY29uLXV0aWxzLW5hdGl2ZV8zLjIyLjMwLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyOGU3YTMxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrLWljb24tdXRpbHMtbmF0aXZlXzMuMjIuMzAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw2MyArMCwwIEBACi1TVU1NQVJZID0gIk5hdGl2ZSBpY29uIHV0aWxzIGZvciBHVEsrIgotREVTQ1JJUFRJT04gPSAiZ3RrLXVwZGF0ZS1pY29uLWNhY2hlIGFuZCBndGstZW5jb2RlLXN5bWJvbGljLXN2ZyBidWlsdCBmcm9tIEdUSysgbmF0aXZlbHksIGZvciBidWlsZCB0aW1lIGFuZCBvbi1ob3N0IHBvc3RpbnN0IHNjcmlwdCBleGVjdXRpb24uIgotU0VDVElPTiA9ICJsaWJzIgotCi1ERVBFTkRTID0gImdsaWItMi4wLW5hdGl2ZSBnZGstcGl4YnVmLW5hdGl2ZSBsaWJyc3ZnLW5hdGl2ZSIKLQotTElDRU5TRSA9ICJMR1BMdjIgJiBMR1BMdjIrICYgTEdQTHYyLjErIgotCi1NQUpfVkVSID0gIiR7QG9lLnV0aWxzLnRyaW1fdmVyc2lvbigiJHtQVn0iLCAyKX0iCi0KLVNSQ19VUkkgPSAiaHR0cDovL2Z0cC5nbm9tZS5vcmcvcHViL2dub21lL3NvdXJjZXMvZ3RrKy8ke01BSl9WRVJ9L2d0aystJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICBmaWxlOi8vUmVtb3ZlLUdkay1kZXBlbmRlbmN5LWZyb20tZ3RrLWVuY29kZS1zeW1ib2xpYy1zdmcucGF0Y2giCi1TUkNfVVJJW21kNXN1bV0gPSAiNjFlNjBkYzA3M2UwYTY4OTNjNzIwNDNkMjA1NzlkYzAiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTFhNGE1YzEyNzAzZDRlMWNjZGEyODMzM2I4N2ZmNDYyNzQxZGMzNjUxMzFmYmM5NGMyMThhZTgxZDlhNjU2NyIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NWYzMGYwNzE2ZGZkZDBkOTFlYjQzOWViZWM1MjJlYzIgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3RrL2d0ay5oO2VuZGxpbmU9MjU7bWQ1PTFkOGRjMGZjY2RiZmEyNjI4N2EyNzFkY2U4OGFmNzM3IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dkay9nZGsuaDtlbmRsaW5lPTI1O21kNT1jOTIwY2UzOWRjODhjNmYwNmQzZTdjNTBlMDgwODZmMiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly90ZXN0cy90ZXN0Z3RrLmM7ZW5kbGluZT0yNTttZDU9Y2I3MzJkYWVlMWQ4MmFmN2EyYmY5NTNjZjNjZjI2ZjEiCi0KLVMgPSAiJHtXT1JLRElSfS9ndGsrLSR7UFZ9IgotCi1pbmhlcml0IHBrZ2NvbmZpZyBuYXRpdmUKLQotIyB2ZXJzaW9ucyA+PSAzLjkwIGFyZSBkZXZlbG9wbWVudCB2ZXJzaW9ucywgb3RoZXJ3aXNlIGxpa2UgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuCi1VUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJbXlxkXC5dKD9QPHB2ZXI+M1wuKFsxLThdP1swMjQ2OF0pKyhcLlxkKykrKVwudGFyIgotCi1QS0dfQ09ORklHX0ZPUl9CVUlMRCA9ICIke1NUQUdJTkdfQklORElSX05BVElWRX0vcGtnLWNvbmZpZy1uYXRpdmUiCi0KLWRvX2NvbmZpZ3VyZSgpIHsKLQkjIFF1aXRlIHVnbHkgYnV0IGRlZmluZXMgZW5vdWdoIHRvIGNvbXBpbGUgdGhlIHRvb2xzLgotCWlmICEgdGVzdCAtZiBndGsvY29uZmlnLmg7IHRoZW4KLQkJZWNobyAiI2RlZmluZSBHRVRURVhUX1BBQ0tBR0UgXCJndGszMFwiIiA+PiBndGsvY29uZmlnLmgKLQkJZWNobyAiI2RlZmluZSBIQVZFX1VOSVNURF9IIDEiID4+IGd0ay9jb25maWcuaAotCQllY2hvICIjZGVmaW5lIEhBVkVfRlRXX0ggMSIgPj4gZ3RrL2NvbmZpZy5oCi0JZmkKLQlpZiAhIHRlc3QgLWYgZ2RrL2NvbmZpZy5oOyB0aGVuCi0JCXRvdWNoIGdkay9jb25maWcuaAotCWZpCi19Ci0KLWRvX2NvbXBpbGUoKSB7Ci0JJHtCVUlMRF9DQ30gJHtCVUlMRF9DRkxBR1N9ICR7QlVJTERfTERGTEFHU30gXAotCQkke1N9L2d0ay91cGRhdGVpY29uY2FjaGUuYyBcCi0JCSQoJHtQS0dfQ09ORklHX0ZPUl9CVUlMRH0gLS1jZmxhZ3MgLS1saWJzIGdkay1waXhidWYtMi4wKSBcCi0JCS1vIGd0ay11cGRhdGUtaWNvbi1jYWNoZQotCi0JJHtCVUlMRF9DQ30gJHtCVUlMRF9DRkxBR1N9ICR7QlVJTERfTERGTEFHU30gXAotCQkke1N9L2d0ay9lbmNvZGVzeW1ib2xpYy5jIFwKLQkJJCgke1BLR19DT05GSUdfRk9SX0JVSUxEfSAtLWNmbGFncyAtLWxpYnMgZ2lvLTIuMCBnZGstcGl4YnVmLTIuMCkgXAotCQktbyBndGstZW5jb2RlLXN5bWJvbGljLXN2ZwotfQotCi1kb19pbnN0YWxsKCkgewotCWluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQotCWluc3RhbGwgLW0gMDc1NSAke0J9L2d0ay11cGRhdGUtaWNvbi1jYWNoZSAke0R9JHtiaW5kaXJ9Ci0JaW5zdGFsbCAtbSAwNzU1ICR7Qn0vZ3RrLWVuY29kZS1zeW1ib2xpYy1zdmcgJHtEfSR7YmluZGlyfQotCi0JY3JlYXRlX3dyYXBwZXIgJHtEfS8ke2JpbmRpcn0vZ3RrLXVwZGF0ZS1pY29uLWNhY2hlIFwKLQkJR0RLX1BJWEJVRl9NT0RVTEVfRklMRT0ke1NUQUdJTkdfTElCRElSX05BVElWRX0vZ2RrLXBpeGJ1Zi0yLjAvMi4xMC4wL2xvYWRlcnMuY2FjaGUKLQljcmVhdGVfd3JhcHBlciAke0R9LyR7YmluZGlyfS9ndGstZW5jb2RlLXN5bWJvbGljLXN2ZyBcCi0JCUdES19QSVhCVUZfTU9EVUxFX0ZJTEU9JHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L2dkay1waXhidWYtMi4wLzIuMTAuMC9sb2FkZXJzLmNhY2hlCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9ndGsrL2d0ay1pY29uLXV0aWxzL1JlbW92ZS1HZGstZGVwZW5kZW5jeS1mcm9tLWd0ay1lbmNvZGUtc3ltYm9saWMtc3ZnLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGstaWNvbi11dGlscy9SZW1vdmUtR2RrLWRlcGVuZGVuY3ktZnJvbS1ndGstZW5jb2RlLXN5bWJvbGljLXN2Zy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjM3ZjgwMy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9ndGsrL2d0ay1pY29uLXV0aWxzL1JlbW92ZS1HZGstZGVwZW5kZW5jeS1mcm9tLWd0ay1lbmNvZGUtc3ltYm9saWMtc3ZnLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTAyICswLDAgQEAKLUZyb20gNGQwOWZmMzI0NDE5ZmU0ZTY3MTIzMzA0NGU0MjQzNzhkYTUzOTY5YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEp1c3NpIEt1a2tvbmVuIDxqdXNzaS5rdWtrb25lbkBpbnRlbC5jb20+Ci1EYXRlOiBUdWUsIDkgSnVuIDIwMTUgMTQ6MjA6MzAgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSF0gUmVtb3ZlIEdkay1kZXBlbmRlbmN5IGZyb20gZ3RrLWVuY29kZS1zeW1ib2xpYy1zdmcKLQotQnVpbGRpbmcgZ3RrLWVuY29kZS1zeW1ib2xpYy1zdmcgd2l0aG91dCBidWlsZGluZyBHZGsgaXMgdXNlZnVsCi1hcyBvbmx5IHRoZSBpY29uIHRvb2xzIGFyZSBuZWVkZWQgb24gdGhlIG5hdGl2ZSBidWlsZDogdGhpcyBtYWtlcwotbmF0aXZlIGJ1aWxkIG11Y2ggZmFzdGVyIGFuZCByZXF1aXJlcyBtdWNoIGxlc3MgZGVwZW5kZW5jaWVzLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogSnVzc2kgS3Vra29uZW4gPGp1c3NpLmt1a2tvbmVuQGludGVsLmNvbT4KLS0tLQotIGd0ay9lbmNvZGVzeW1ib2xpYy5jIHwgMzYgKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ3RrL2VuY29kZXN5bWJvbGljLmMgYi9ndGsvZW5jb2Rlc3ltYm9saWMuYwotaW5kZXggOWY3ZDAxNS4uMWYwNzU2MyAxMDA2NDQKLS0tLSBhL2d0ay9lbmNvZGVzeW1ib2xpYy5jCi0rKysgYi9ndGsvZW5jb2Rlc3ltYm9saWMuYwotQEAgLTE5LDcgKzE5LDYgQEAKLSAKLSAjaW5jbHVkZSA8Z2xpYi5oPgotICNpbmNsdWRlIDxnZGstcGl4YnVmL2dkay1waXhkYXRhLmg+Ci0tI2luY2x1ZGUgPGdkay9nZGsuaD4KLSAjaW5jbHVkZSA8Z2xpYi9naTE4bi5oPgotIAotICNpZmRlZiBIQVZFX1VOSVNURF9ICi1AQCAtNDMsMzAgKzQyLDE4IEBAIHN0YXRpYyBHZGtQaXhidWYgKgotIGxvYWRfc3ltYm9saWNfc3ZnIChjaGFyICpmaWxlX2RhdGEsIGdzaXplIGZpbGVfbGVuLAotICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsCi0gICAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQsCi0tICAgICAgICAgICAgICAgICAgIGNvbnN0IEdka1JHQkEgICpmZywKLS0gICAgICAgICAgICAgICAgICAgY29uc3QgR2RrUkdCQSAgKnN1Y2Nlc3NfY29sb3IsCi0tICAgICAgICAgICAgICAgICAgIGNvbnN0IEdka1JHQkEgICp3YXJuaW5nX2NvbG9yLAotLSAgICAgICAgICAgICAgICAgICBjb25zdCBHZGtSR0JBICAqZXJyb3JfY29sb3IsCi0rICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmNzc19mZywKLSsgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqY3NzX3N1Y2Nlc3MsCi0rICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmNzc193YXJuaW5nLAotKyAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpjc3NfZXJyb3IsCi0gICAgICAgICAgICAgICAgICAgIEdFcnJvciAgICAgICAgKiplcnJvcikKLSB7Ci0gICBHSW5wdXRTdHJlYW0gKnN0cmVhbTsKLSAgIEdka1BpeGJ1ZiAqcGl4YnVmOwotLSAgZ2NoYXIgKmNzc19mZzsKLS0gIGdjaGFyICpjc3Nfc3VjY2VzczsKLS0gIGdjaGFyICpjc3Nfd2FybmluZzsKLS0gIGdjaGFyICpjc3NfZXJyb3I7Ci0gICBnY2hhciAqZGF0YTsKLSAgIGdjaGFyICpzdmdfd2lkdGgsICpzdmdfaGVpZ2h0OwotICAgZ2NoYXIgKmVzY2FwZWRfZmlsZV9kYXRhOwotIAotLSAgY3NzX2ZnID0gZ2RrX3JnYmFfdG9fc3RyaW5nIChmZyk7Ci0tCi0tICBjc3Nfc3VjY2VzcyA9IGNzc193YXJuaW5nID0gY3NzX2Vycm9yID0gTlVMTDsKLS0KLS0gIGNzc193YXJuaW5nID0gZ2RrX3JnYmFfdG9fc3RyaW5nICh3YXJuaW5nX2NvbG9yKTsKLS0gIGNzc19lcnJvciA9IGdka19yZ2JhX3RvX3N0cmluZyAoZXJyb3JfY29sb3IpOwotLSAgY3NzX3N1Y2Nlc3MgPSBnZGtfcmdiYV90b19zdHJpbmcgKHN1Y2Nlc3NfY29sb3IpOwotLQotICAgLyogRmV0Y2ggc2l6ZSBmcm9tIHRoZSBvcmlnaW5hbCBpY29uICovCi0gICBzdHJlYW0gPSBnX21lbW9yeV9pbnB1dF9zdHJlYW1fbmV3X2Zyb21fZGF0YSAoZmlsZV9kYXRhLCBmaWxlX2xlbiwgTlVMTCk7Ci0gICBwaXhidWYgPSBnZGtfcGl4YnVmX25ld19mcm9tX3N0cmVhbSAoc3RyZWFtLCBOVUxMLCBlcnJvcik7Ci1AQCAtMTA1LDEwICs5Miw2IEBAIGxvYWRfc3ltYm9saWNfc3ZnIChjaGFyICpmaWxlX2RhdGEsIGdzaXplIGZpbGVfbGVuLAotICAgICAgICAgICAgICAgICAgICAgICAiPC9zdmc+IiwKLSAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7Ci0gICBnX2ZyZWUgKGVzY2FwZWRfZmlsZV9kYXRhKTsKLS0gIGdfZnJlZSAoY3NzX2ZnKTsKLS0gIGdfZnJlZSAoY3NzX3dhcm5pbmcpOwotLSAgZ19mcmVlIChjc3NfZXJyb3IpOwotLSAgZ19mcmVlIChjc3Nfc3VjY2Vzcyk7Ci0gICBnX2ZyZWUgKHN2Z193aWR0aCk7Ci0gICBnX2ZyZWUgKHN2Z19oZWlnaHQpOwotIAotQEAgLTE2Nyw3ICsxNTAsOCBAQCBtYWtlX3N5bWJvbGljX3BpeGJ1ZiAoY2hhciAqZmlsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgR0Vycm9yICAgICAgICAqKmVycm9yKQotIAotIHsKLS0gIEdka1JHQkEgciA9IHsgMSwwLDAsMX0sIGcgPSB7MCwxLDAsMX07Ci0rICBjb25zdCBjaGFyIHJbXSA9ICJyZ2JhKDI1NSwwLDAsMSkiOwotKyAgY29uc3QgY2hhciBnW10gPSAicmdiYSgwLDI1NSwwLDEpIjsKLSAgIEdka1BpeGJ1ZiAqbG9hZGVkOwotICAgR2RrUGl4YnVmICpwaXhidWY7Ci0gICBpbnQgcGxhbmU7Ci1AQCAtMTk2LDEwICsxODAsMTAgQEAgbWFrZV9zeW1ib2xpY19waXhidWYgKGNoYXIgKmZpbGUsCi0gICAgICAgICogdGhlICJyZXN0IiwgYXMgYWxsIGNvbG9yIGZyYWN0aW9ucyBzaG91bGQgYWRkIHVwIHRvIDEuCi0gICAgICAgICovCi0gICAgICAgbG9hZGVkID0gbG9hZF9zeW1ib2xpY19zdmcgKGZpbGVfZGF0YSwgZmlsZV9sZW4sIHdpZHRoLCBoZWlnaHQsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZnLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFuZSA9PSAwID8gJnIgOiAmZywKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhbmUgPT0gMSA/ICZyIDogJmcsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYW5lID09IDIgPyAmciA6ICZnLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFuZSA9PSAwID8gciA6IGcsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYW5lID09IDEgPyByIDogZywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhbmUgPT0gMiA/IHIgOiBnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcik7Ci0gICAgICAgaWYgKGxvYWRlZCA9PSBOVUxMKQotICAgICAgICAgcmV0dXJuIE5VTEw7Ci0tLSAKLTIuMS40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2hpY29sb3ItaWNvbi10aGVtZS9oaWNvbG9yLWljb24tdGhlbWVfMC4xNy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2hpY29sb3ItaWNvbi10aGVtZS9oaWNvbG9yLWljb24tdGhlbWVfMC4xNy5iYgppbmRleCA3MDY0YjE5Li5mYjgwMzM0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9oaWNvbG9yLWljb24tdGhlbWUvaGljb2xvci1pY29uLXRoZW1lXzAuMTcuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvaGljb2xvci1pY29uLXRoZW1lL2hpY29sb3ItaWNvbi10aGVtZV8wLjE3LmJiCkBAIC0xMiwzICsxMiw1IEBACiBpbmhlcml0IGFsbGFyY2ggYXV0b3Rvb2xzCiAKIEZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2ljb25zIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9qc29uLWdsaWIvanNvbi1nbGliL3J1bi1wdGVzdCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2pzb24tZ2xpYi9qc29uLWdsaWIvcnVuLXB0ZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjNjM5OGEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9qc29uLWdsaWIvanNvbi1nbGliL3J1bi1wdGVzdApAQCAtMCwwICsxLDMgQEAKKyMhIC9iaW4vc2gKKworZ25vbWUtZGVza3RvcC10ZXN0aW5nLXJ1bm5lciBqc29uLWdsaWIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2pzb24tZ2xpYi9qc29uLWdsaWJfMS40LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9qc29uLWdsaWIvanNvbi1nbGliXzEuNC4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOWZlM2NjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2pzb24tZ2xpYi9qc29uLWdsaWJfMS40LjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi1TVU1NQVJZID0gIkpTT04tR0xpYiBpbXBsZW1lbnRzIGEgZnVsbCBKU09OIHBhcnNlciB1c2luZyBHTGliIGFuZCBHT2JqZWN0IgotREVTQ1JJUFRJT04gPSAiVXNlIEpTT04tR0xpYiBpdCBpcyBwb3NzaWJsZSB0byBwYXJzZSBhbmQgZ2VuZXJhdGUgdmFsaWQgSlNPTlwKLSBkYXRhIHN0cnVjdHVyZXMsIHVzaW5nIGEgRE9NLWxpa2UgQVBJLiBKU09OLUdMaWIgYWxzbyBvZmZlcnMgR09iamVjdCBcCi1pbnRlZ3JhdGlvbiwgcHJvdmlkaW5nIHRoZSBhYmlsaXR5IHRvIHNlcmlhbGl6ZSBhbmQgZGVzZXJpYWxpemUgR09iamVjdCBcCi1pbnN0YW5jZXMgdG8gYW5kIGZyb20gSlNPTiBkYXRhIHR5cGVzLiIKLUhPTUVQQUdFID0gImh0dHA6Ly9saXZlLmdub21lLm9yZy9Kc29uR2xpYiIKLQotTElDRU5TRSA9ICJMR1BMdjIuMSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTdmYmMzMzgzMDlhYzM4ZmVmY2Q2NGIwNGJiOTAzZTM0IgotCi1ERVBFTkRTID0gImdsaWItMi4wIgotCi1TUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICIzNTEwN2UyM2E3YmJiYzcwZjMxYzM0ZjdiOWFkZjFjMyIKLVNSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjJkNzcwOWE0NDc0OWM3MzE4NTk5YTY4MjkzMjJlMDgxOTE1YmRjNzNmNWJlNTA0NTg4MmVkMTIwYmI2ODZkYzgiCi0KLUdOT01FQkFTRUJVSUxEQ0xBU1MgPSAibWVzb24iCi1pbmhlcml0IGdub21lYmFzZSBsaWJfcGFja2FnZSBnb2JqZWN0LWludHJvc3BlY3Rpb24gZ3RrLWRvYyBnZXR0ZXh0Ci0KLSMgVGhpcyBidWlsZHMgYm90aCBBUEkgZG9jcyAodmlhIGd0ay1kb2MpIGFuZCBtYW5wYWdlcwotR1RLRE9DX0VOQUJMRV9GTEFHID0gIi1EZG9jcz10cnVlIgotR1RLRE9DX0RJU0FCTEVfRkxBRyA9ICItRGRvY3M9ZmFsc2UiCi0KLUdJX0VOQUJMRV9GTEFHID0gIi1EaW50cm9zcGVjdGlvbj10cnVlIgotR0lfRElTQUJMRV9GTEFHID0gIi1EaW50cm9zcGVjdGlvbj1mYWxzZSIKLQotRVhUUkFfT0VNRVNPTl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygnR1RLRE9DX0VOQUJMRUQnLCAnVHJ1ZScsICcke0dUS0RPQ19FTkFCTEVfRkxBR30nLCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtHVEtET0NfRElTQUJMRV9GTEFHfScsIGQpfSAiCi1FWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHSV9EQVRBX0VOQUJMRUQnLCAnVHJ1ZScsICcke0dJX0VOQUJMRV9GTEFHfScsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcke0dJX0RJU0FCTEVfRkxBR30nLCBkKX0gIgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICAjIEZJWE1FOiB0aGVzZSBuZWVkIHRvIGJlIHByb3ZpZGVkIHZpYSBwdGVzdAotICAgIHJtIC1yZiAke0R9JHtkYXRhZGlyfS9pbnN0YWxsZWQtdGVzdHMgJHtEfSR7bGliZXhlY2Rpcn0KLX0KLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgotCi0jIEN1cnJlbnRseSBpdCdzIG5vdCBwb3NzaWJsZSB0byBkaXNhYmxlIGdldHRleHQgaW4gTWVzb24sIHNvIHdlIG5lZWQgdG8gZm9yY2UKLSMgdGhpcyBiYWNrIG9uLgotVVNFX05MU19jbGFzcy1uYXRpdmUgPSAieWVzIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvanNvbi1nbGliL2pzb24tZ2xpYl8xLjQuNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2pzb24tZ2xpYi9qc29uLWdsaWJfMS40LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTVmOTA1NgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2pzb24tZ2xpYi9qc29uLWdsaWJfMS40LjQuYmIKQEAgLTAsMCArMSw0NCBAQAorU1VNTUFSWSA9ICJKU09OLUdMaWIgaW1wbGVtZW50cyBhIGZ1bGwgSlNPTiBwYXJzZXIgdXNpbmcgR0xpYiBhbmQgR09iamVjdCIKK0RFU0NSSVBUSU9OID0gIlVzZSBKU09OLUdMaWIgaXQgaXMgcG9zc2libGUgdG8gcGFyc2UgYW5kIGdlbmVyYXRlIHZhbGlkIEpTT05cCisgZGF0YSBzdHJ1Y3R1cmVzLCB1c2luZyBhIERPTS1saWtlIEFQSS4gSlNPTi1HTGliIGFsc28gb2ZmZXJzIEdPYmplY3QgXAoraW50ZWdyYXRpb24sIHByb3ZpZGluZyB0aGUgYWJpbGl0eSB0byBzZXJpYWxpemUgYW5kIGRlc2VyaWFsaXplIEdPYmplY3QgXAoraW5zdGFuY2VzIHRvIGFuZCBmcm9tIEpTT04gZGF0YSB0eXBlcy4iCitIT01FUEFHRSA9ICJodHRwOi8vbGl2ZS5nbm9tZS5vcmcvSnNvbkdsaWIiCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03ZmJjMzM4MzA5YWMzOGZlZmNkNjRiMDRiYjkwM2UzNCIKKworREVQRU5EUyA9ICJnbGliLTIuMCIKKworR05PTUVCQVNFQlVJTERDTEFTUyA9ICJtZXNvbiIKK2luaGVyaXQgZ25vbWViYXNlIGxpYl9wYWNrYWdlIGdvYmplY3QtaW50cm9zcGVjdGlvbiBndGstZG9jIGdldHRleHQgcHRlc3QtZ25vbWUgbWFucGFnZXMKKworU1JDX1VSSSArPSAiZmlsZTovL3J1bi1wdGVzdCIKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjRkNGJiOTgzN2Y2ZDMxZTMyZDBjZTY1OGFlMTM1ZjY4IgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiNzIwYzVmNDM3OTUxM2RjMTFmZDk3ZGM3NTMzNmViMGMwZDMzMzhjNTMxMjgwNDRkOWZhYmVjNDM3NGY0YmM0NyIKKworUEFDS0FHRUNPTkZJR1ttYW5wYWdlc10gPSAiLURtYW49dHJ1ZSwtRG1hbj1mYWxzZSxsaWJ4c2x0LW5hdGl2ZSB4bWx0by1uYXRpdmUiCisKKyMgVGhpcyBidWlsZHMgYm90aCBBUEkgZG9jcyAodmlhIGd0ay1kb2MpCitHVEtET0NfRU5BQkxFX0ZMQUcgPSAiLURkb2NzPXRydWUiCitHVEtET0NfRElTQUJMRV9GTEFHID0gIi1EZG9jcz1mYWxzZSIKKworR0lfRU5BQkxFX0ZMQUcgPSAiLURpbnRyb3NwZWN0aW9uPXRydWUiCitHSV9ESVNBQkxFX0ZMQUcgPSAiLURpbnRyb3NwZWN0aW9uPWZhbHNlIgorCitFWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHVEtET0NfRU5BQkxFRCcsICdUcnVlJywgJyR7R1RLRE9DX0VOQUJMRV9GTEFHfScsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcke0dUS0RPQ19ESVNBQkxFX0ZMQUd9JywgZCl9ICIKK0VYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0dJX0RBVEFfRU5BQkxFRCcsICdUcnVlJywgJyR7R0lfRU5BQkxFX0ZMQUd9JywgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7R0lfRElTQUJMRV9GTEFHfScsIGQpfSAiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCWlmICEgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BURVNUX0VOQUJMRUQnLCAnMScsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisJCXJtIC1yZiAke0R9JHtkYXRhZGlyfS9pbnN0YWxsZWQtdGVzdHMgJHtEfSR7bGliZXhlY2Rpcn0KKwlmaQorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKKyMgQ3VycmVudGx5IGl0J3Mgbm90IHBvc3NpYmxlIHRvIGRpc2FibGUgZ2V0dGV4dCBpbiBNZXNvbiwgc28gd2UgbmVlZCB0byBmb3JjZQorIyB0aGlzIGJhY2sgb24uCitVU0VfTkxTX2NsYXNzLW5hdGl2ZSA9ICJ5ZXMiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9saWJkYXp6bGUvbGliZGF6emxlLzAwMDEtQWRkLWEtZGVmaW5lLXNvLXRoYXQtZ2lyLWNvbXBpbGF0aW9uLXN1Y2NlZWRzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvbGliZGF6emxlL2xpYmRhenpsZS8wMDAxLUFkZC1hLWRlZmluZS1zby10aGF0LWdpci1jb21waWxhdGlvbi1zdWNjZWVkcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOTU5ZDQzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvbGliZGF6emxlL2xpYmRhenpsZS8wMDAxLUFkZC1hLWRlZmluZS1zby10aGF0LWdpci1jb21waWxhdGlvbi1zdWNjZWVkcy5wYXRjaApAQCAtMCwwICsxLDI2IEBACitGcm9tIDU0NmQ1M2MzNTE1ZThhNDg4YTIwNDc2MzQzN2QxZmEwOTE3MDk3ZTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMTEgRGVjIDIwMTggMTI6Mzk6MzAgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gQWRkIGEgZGVmaW5lIHNvIHRoYXQgZ2lyIGNvbXBpbGF0aW9uIHN1Y2NlZWRzCisKK0ZvciBzb21lIHJlYXNvbiBtZXNvbiAwLjQ5LjAgZG9lcyBub3QgYW55bW9yZSBwYXNzIGdsb2JhbCBhcmd1bWVudHMgdG8gZ2lyIGNvbXBpbGVyLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorLS0tCisgc3JjL21lc29uLmJ1aWxkIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL21lc29uLmJ1aWxkIGIvc3JjL21lc29uLmJ1aWxkCitpbmRleCA2ZmY4YTZhLi5mMGIyODg3IDEwMDY0NAorLS0tIGEvc3JjL21lc29uLmJ1aWxkCisrKysgYi9zcmMvbWVzb24uYnVpbGQKK0BAIC0xMzIsNyArMTMyLDcgQEAgaWYgZ2V0X29wdGlvbignd2l0aF9pbnRyb3NwZWN0aW9uJykKKyAgICAgICAgIGluc3RhbGxfZGlyX2dpcjogZ2lyZGlyLAorICAgICBpbnN0YWxsX2Rpcl90eXBlbGliOiB0eXBlbGliZGlyLAorICAgICAgICAgZXhwb3J0X3BhY2thZ2VzOiBsaWJkYXp6bGVfcGFja2FnZSwKKy0gICAgICAgICAgICAgZXh0cmFfYXJnczogWyAnLS1jLWluY2x1ZGU9ZGF6emxlLmgnLCAnLS1xdWlldCcgXSwKKysgICAgICAgICAgICAgZXh0cmFfYXJnczogWyAnLS1jLWluY2x1ZGU9ZGF6emxlLmgnLCAnLS1xdWlldCcsICctRERBWlpMRV9DT01QSUxBVElPTicgXSwKKyAgICkKKyAKKyAgIGlmIGdldF9vcHRpb24oJ3dpdGhfdmFwaScpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9saWJkYXp6bGUvbGliZGF6emxlXzMuMzAuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2xpYmRhenpsZS9saWJkYXp6bGVfMy4zMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3NzliMTUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9saWJkYXp6bGUvbGliZGF6emxlXzMuMzAuMi5iYgpAQCAtMCwwICsxLDIwIEBACitTVU1NQVJZID0gIlRoZSBsaWJkYXp6bGUgbGlicmFyeSBpcyBhIGNvbXBhbmlvbiBsaWJyYXJ5IHRvIEdPYmplY3QgYW5kIEd0aysuIgorTElDRU5TRSA9ICJHUEx2MysiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT04ZjBlMmNkNDBlMDUxODllYzgxMjMyZGE4NGJkNmUxYSIKKworR05PTUVCQVNFQlVJTERDTEFTUyA9ICJtZXNvbiIKK2luaGVyaXQgZ25vbWViYXNlIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbiB2YWxhIGRpc3Ryb19mZWF0dXJlc19jaGVjayBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworREVQRU5EUyA9ICJnbGliLTIuMC1uYXRpdmUgZ2xpYi0yLjAgZ3RrKzMiCisKK1NSQ19VUkkgKz0gIiBmaWxlOi8vMDAwMS1BZGQtYS1kZWZpbmUtc28tdGhhdC1naXItY29tcGlsYXRpb24tc3VjY2VlZHMucGF0Y2giCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICIyNGUyZTFiOTE0YTM0ZjViODg2OGE5NTA3ZDFmM2M0YyIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjc4NzcwZWFlOWZhMTVhYzVhY2I5YzczM2QyOTQ1OTMzMGIyNTQwYWZmYmY3MjkzMzExOWUzNmRiZDkwYjM2ZDUiCisKK0dJX0VOQUJMRV9GTEFHID0gIi1Ed2l0aF9pbnRyb3NwZWN0aW9uPXRydWUiCitHSV9ESVNBQkxFX0ZMQUcgPSAiLUR3aXRoX2ludHJvc3BlY3Rpb249ZmFsc2UiCisKK0FOWV9PRl9ESVNUUk9fRkVBVFVSRVMgPSAiJHtHVEszRElTVFJPRkVBVFVSRVN9IgorCitFWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHSV9EQVRBX0VOQUJMRUQnLCAnVHJ1ZScsICcke0dJX0VOQUJMRV9GTEFHfScsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcke0dJX0RJU0FCTEVfRkxBR30nLCBkKX0gIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvbGlic2VjcmV0L2xpYnNlY3JldF8wLjE4LjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9saWJzZWNyZXQvbGlic2VjcmV0XzAuMTguNi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTE4YzcxZi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9saWJzZWNyZXQvbGlic2VjcmV0XzAuMTguNi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLVNVTU1BUlkgPSAibGlic2VjcmV0IGlzIGEgbGlicmFyeSBmb3Igc3RvcmluZyBhbmQgcmV0cmlldmluZyBwYXNzd29yZHMgYW5kIG90aGVyIHNlY3JldHMiCi1MSUNFTlNFID0gIkxHUEx2Mi4xIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjNjMmE1ZTAxMDZiOTlkNzUyMzg5ODY1NTliYjVmYzYiCi0KLWluaGVyaXQgZ25vbWViYXNlIGd0ay1kb2MgdmFsYSBnb2JqZWN0LWludHJvc3BlY3Rpb24gbWFucGFnZXMKLQotREVQRU5EUyArPSAiZ2xpYi0yLjAgbGliZ2NyeXB0IGdldHRleHQtbmF0aXZlIGludGx0b29sLW5hdGl2ZSIKLQotUEFDS0FHRUNPTkZJR1ttYW5wYWdlc10gPSAiLS1lbmFibGUtbWFucGFnZXMsIC0tZGlzYWJsZS1tYW5wYWdlcywgbGlieHNsdC1uYXRpdmUgeG1sdG8tbmF0aXZlIgotCi1TUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJjNmNmMTMyYTU2YmQzNDZmYmY0OWE0M2FiYjAyZTVjMiIKLVNSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjVlZmJjODkwYmE0MWEzMjNmZmUwNTk5Y2QyNjBmZDEyYmQ4ZWI2MmEwNGFhMWJkMWIyNzYyNTc1ZDI1M2Q2NmYiCi0KLSMgaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzIwMjI4LwotQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NCA9ICJhcm0iCi1BUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY1ID0gImFybSIKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjYgPSAiYXJtIgotCi0jIHZhcGlnZW4ubTQgYnVuZGxlZCB3aXRoIHRoZSB0YXJiYWxsIGRvZXMgbm90IHlldCBoYXZlIG91ciBjcm9zcy1jb21waWxhdGlvbiBmaXhlcwotZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7Ci0gICAgcm0gLWYgJHtTfS9idWlsZC9tNC92YXBpZ2VuLm00Ci19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9saWJzZWNyZXQvbGlic2VjcmV0XzAuMTguNy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2xpYnNlY3JldC9saWJzZWNyZXRfMC4xOC43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJhMzhkMTAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9saWJzZWNyZXQvbGlic2VjcmV0XzAuMTguNy5iYgpAQCAtMCwwICsxLDIyIEBACitTVU1NQVJZID0gImxpYnNlY3JldCBpcyBhIGxpYnJhcnkgZm9yIHN0b3JpbmcgYW5kIHJldHJpZXZpbmcgcGFzc3dvcmRzIGFuZCBvdGhlciBzZWNyZXRzIgorTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTIzYzJhNWUwMTA2Yjk5ZDc1MjM4OTg2NTU5YmI1ZmM2IgorCitpbmhlcml0IGdub21lYmFzZSBndGstZG9jIHZhbGEgZ29iamVjdC1pbnRyb3NwZWN0aW9uIG1hbnBhZ2VzCisKK0RFUEVORFMgKz0gImdsaWItMi4wIGxpYmdjcnlwdCBnZXR0ZXh0LW5hdGl2ZSIKKworUEFDS0FHRUNPTkZJR1ttYW5wYWdlc10gPSAiLS1lbmFibGUtbWFucGFnZXMsIC0tZGlzYWJsZS1tYW5wYWdlcywgbGlieHNsdC1uYXRpdmUgeG1sdG8tbmF0aXZlIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICIzNzYxNTNlY2UxNzA4MWViNTQxMDg3MGUwZGM1YzAzMSIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjBkNjZmZTFmYzQ1NjFiM2UwNDZlZTI4MWQ3YzVhNzAzYTliYWFjODhhOGM0ZmI0MmViYzczOWQzMWRhYmQ0ODciCisKKyMgaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzIwMjI4LworQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NCA9ICJhcm0iCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY1ID0gImFybSIKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjYgPSAiYXJtIgorCisjIHZhcGlnZW4ubTQgYnVuZGxlZCB3aXRoIHRoZSB0YXJiYWxsIGRvZXMgbm90IHlldCBoYXZlIG91ciBjcm9zcy1jb21waWxhdGlvbiBmaXhlcworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgcm0gLWYgJHtTfS9idWlsZC9tNC92YXBpZ2VuLm00Cit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jYWlyby9jYWlyby8wMDAxLWNhaXJvLUZpeC1DVkUtMjAxNy05ODE0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2Fpcm8vY2Fpcm8vMDAwMS1jYWlyby1GaXgtQ1ZFLTIwMTctOTgxNC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2QwMmFiOS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jYWlyby9jYWlyby8wMDAxLWNhaXJvLUZpeC1DVkUtMjAxNy05ODE0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotRnJvbSAwNDI0MjFlOWUzZDI2NmFkMGJiNzgwNTEzMjA0MWVmNTFhZDMyMzRkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWRyaWFuIEpvaG5zb24gPGFqb2huc29uQHJlZG5lb24uY29tPgotRGF0ZTogV2VkLCAxNiBBdWcgMjAxNyAyMjo1MjozNSAtMDQwMAotU3ViamVjdDogW1BBVENIXSBjYWlybzogRml4IENWRS0yMDE3LTk4MTQKLQotVGhlIGJ1ZyBoYXBwZW5zIGJlY2F1c2UgaW4gc29tZSBzY2VuYXJpb3MgdGhlIHZhcmlhYmxlIHNpemUgY2FuCi1oYXZlIGEgdmFsdWUgb2YgMCBhdCBsaW5lIDEyODguIEFuZCBtYWxsb2MoMCkgaXMgbm90IHJldHVybmluZwotTlVMTCBhcyBzb21lIHBlb3BsZSBjb3VsZCBleHBlY3Q6Ci0KLSAgICBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xMDczMTU3L3plcm8tc2l6ZS1tYWxsb2MKLQotbWFsbG9jKDApIHJldHVybnMgdGhlIHNtYWxsZXN0IGNodW5rIHBvc3NpYmxlLiBTbyB0aGUgbGluZSAxMjkwCi13aXRoIHRoZSByZXR1cm4gaXMgbm90IGV4ZWN1dGUuIEFuZCB0aGUgZXhlY3V0aW9uIGNvbnRpbnVlcyB3aXRoCi1hbiBpbnZhbGlkIG1hcC4KLQotU2luY2UgdGhlIHNpemUgaXMgMCB0aGUgdmFyaWFibGUgbWFwIGlzIG5vdCBpbml0aWFsaXplZCBjb3JyZWN0bHkKLWF0IGxvYWRfdHJ1dHlwZV90YWJsZS4gU28sIGxhdGVyIHdoZW4gdGhlIHZhcmlhYmxlIG1hcCBpcyBhY2Nlc3NlZAotcHJldmlvdXMgdmFsdWVzIGZyb20gYSBmcmVlZCBjaHVuayBhcmUgdXNlZC4gVGhpcyBjb3VsZCBhbGxvd3MgYW4KLWF0dGFja2VyIHRvIGNvbnRyb2wgdGhlIHZhcmlhYmxlIG1hcC4KLQotVGhpcyBwYXRjaCBoYXZlIG5vdCBtZXJnZSBpbiB1cHN0cmVhbSBub3cuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTU0N10KLUNWRTogQ1ZFLTIwMTctOTgxNAotU2lnbmVkLW9mZi1ieTogRGVuZ2tlIER1IDxkZW5na2UuZHVAd2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy9jYWlyby10cnVldHlwZS1zdWJzZXQuYyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9jYWlyby10cnVldHlwZS1zdWJzZXQuYyBiL3NyYy9jYWlyby10cnVldHlwZS1zdWJzZXQuYwotaW5kZXggZTM0NDlhMC4uZjc3ZDExYyAxMDA2NDQKLS0tLSBhL3NyYy9jYWlyby10cnVldHlwZS1zdWJzZXQuYwotKysrIGIvc3JjL2NhaXJvLXRydWV0eXBlLXN1YnNldC5jCi1AQCAtMTI4NSw3ICsxMjg1LDcgQEAgX2NhaXJvX3RydWV0eXBlX3JldmVyc2VfY21hcCAoY2Fpcm9fc2NhbGVkX2ZvbnRfdCAqc2NhbGVkX2ZvbnQsCi0gCXJldHVybiBDQUlST19JTlRfU1RBVFVTX1VOU1VQUE9SVEVEOwotIAotICAgICBzaXplID0gYmUxNl90b19jcHUgKG1hcC0+bGVuZ3RoKTsKLS0gICAgbWFwID0gbWFsbG9jIChzaXplKTsKLSsgICAgbWFwID0gX2NhaXJvX21hbGxvYyAoc2l6ZSk7Ci0gICAgIGlmICh1bmxpa2VseSAobWFwID09IE5VTEwpKQotIAlyZXR1cm4gX2NhaXJvX2Vycm9yIChDQUlST19TVEFUVVNfTk9fTUVNT1JZKTsKLSAKLS0tIAotMi44LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2Fpcm8vY2Fpcm8vQ1ZFLTIwMTgtMTk4NzYucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jYWlyby9jYWlyby9DVkUtMjAxOC0xOTg3Ni5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MjUyYTU2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2Fpcm8vY2Fpcm8vQ1ZFLTIwMTgtMTk4NzYucGF0Y2gKQEAgLTAsMCArMSwzNCBAQAorQ1ZFOiBDVkUtMjAxOC0xOTg3NgorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworRnJvbSA5MGU4NWMyNDkzZmRmYTM1NTFmMjAyZmYxMDI4MjQ2M2YxZTM2NjQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2FybG9zIEdhcmNpYSBDYW1wb3MgPGNnYXJjaWFAaWdhbGlhLmNvbT4KK0RhdGU6IE1vbiwgMTkgTm92IDIwMTggMTI6MzM6MDcgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gZnQ6IFVzZSBGVF9Eb25lX01NX1ZhciBpbnN0ZWFkIG9mIGZyZWUgd2hlbiBhdmFpbGFibGUgaW4KKyBjYWlyb19mdF9hcHBseV92YXJpYXRpb25zCisKK0ZpeGVzIGEgY3Jhc2ggd2hlbiB1c2luZyBmcmVldHlwZSA+PSAyLjkKKy0tLQorIHNyYy9jYWlyby1mdC1mb250LmMgfCA0ICsrKysKKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvY2Fpcm8tZnQtZm9udC5jIGIvc3JjL2NhaXJvLWZ0LWZvbnQuYworaW5kZXggMzI1ZGQ2MWI0Li45ODE5NzNmNzggMTAwNjQ0CistLS0gYS9zcmMvY2Fpcm8tZnQtZm9udC5jCisrKysgYi9zcmMvY2Fpcm8tZnQtZm9udC5jCitAQCAtMjM5Myw3ICsyMzkzLDExIEBAIHNraXA6CisgZG9uZToKKyAgICAgICAgIGZyZWUgKGNvb3Jkcyk7CisgICAgICAgICBmcmVlIChjdXJyZW50X2Nvb3Jkcyk7CisrI2lmIEhBVkVfRlRfRE9ORV9NTV9WQVIKKysgICAgICAgIEZUX0RvbmVfTU1fVmFyIChmYWNlLT5nbHlwaC0+bGlicmFyeSwgZnRfbW1fdmFyKTsKKysjZWxzZQorICAgICAgICAgZnJlZSAoZnRfbW1fdmFyKTsKKysjZW5kaWYKKyAgICAgfQorIH0KKyAKKy0tIAorMi4xMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvL0NWRS0yMDE5LTY0NjEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jYWlyby9jYWlyby9DVkUtMjAxOS02NDYxLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyMzJjZjcKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jYWlyby9jYWlyby9DVkUtMjAxOS02NDYxLnBhdGNoCkBAIC0wLDAgKzEsMTkgQEAKK1RoZXJlIGlzIGEgcG90ZW50aWFsIGluZmluaXRlLWxvb3AgaW4gZnVuY3Rpb24gX2FyY19lcnJvcl9ub3JtYWxpemVkKCkuCisKK0NWRTogQ1ZFLTIwMTktNjQ2MQorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitkaWZmIC0tZ2l0IGEvc3JjL2NhaXJvLWFyYy5jIGIvc3JjL2NhaXJvLWFyYy5jCitpbmRleCAzOTAzOTdiYWUuLmY5MjQ5ZGJlYiAxMDA2NDQKKy0tLSBhL3NyYy9jYWlyby1hcmMuYworKysrIGIvc3JjL2NhaXJvLWFyYy5jCitAQCAtOTksNyArOTksNyBAQCBfYXJjX21heF9hbmdsZV9mb3JfdG9sZXJhbmNlX25vcm1hbGl6ZWQgKGRvdWJsZSB0b2xlcmFuY2UpCisgICAgIGRvIHsKKyAJYW5nbGUgPSBNX1BJIC8gaSsrOworIAllcnJvciA9IF9hcmNfZXJyb3Jfbm9ybWFsaXplZCAoYW5nbGUpOworLSAgICB9IHdoaWxlIChlcnJvciA+IHRvbGVyYW5jZSk7CisrICAgIH0gd2hpbGUgKGVycm9yID4gdG9sZXJhbmNlICYmIGVycm9yID4gX19EQkxfRVBTSUxPTl9fKTsKKyAKKyAgICAgcmV0dXJuIGFuZ2xlOworIH0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvL0NWRS0yMDE5LTY0NjIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jYWlyby9jYWlyby9DVkUtMjAxOS02NDYyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlNDU5OGMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jYWlyby9jYWlyby9DVkUtMjAxOS02NDYyLnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKK1RoZXJlIGlzIGFuIGFzc2VydGlvbiBpbiBmdW5jdGlvbiBfY2Fpcm9fYXJjX2luX2RpcmVjdGlvbigpLgorCitDVkU6IENWRS0yMDE5LTY0NjIKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworZGlmZiAtLWdpdCBhL3NyYy9jYWlyby1hcmMuYyBiL3NyYy9jYWlyby1hcmMuYworaW5kZXggMzkwMzk3YmFlLi4xYmRlNzc0YTQgMTAwNjQ0CistLS0gYS9zcmMvY2Fpcm8tYXJjLmMKKysrKyBiL3NyYy9jYWlyby1hcmMuYworQEAgLTE4Niw3ICsxODYsOCBAQCBfY2Fpcm9fYXJjX2luX2RpcmVjdGlvbiAoY2Fpcm9fdAkgICpjciwKKyAgICAgaWYgKGNhaXJvX3N0YXR1cyAoY3IpKQorICAgICAgICAgcmV0dXJuOworIAorLSAgICBhc3NlcnQgKGFuZ2xlX21heCA+PSBhbmdsZV9taW4pOworKyAgICBpZiAoYW5nbGVfbWF4IDwgYW5nbGVfbWluKQorKyAgICAgICByZXR1cm47CisgCisgICAgIGlmIChhbmdsZV9tYXggLSBhbmdsZV9taW4gPiAyICogTV9QSSAqIE1BWF9GVUxMX0NJUkNMRVMpIHsKKyAJYW5nbGVfbWF4ID0gZm1vZCAoYW5nbGVfbWF4IC0gYW5nbGVfbWluLCAyICogTV9QSSk7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jYWlyby9jYWlyb18xLjE0LjEyLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2Fpcm8vY2Fpcm9fMS4xNC4xMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMThiOTQ3OS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jYWlyby9jYWlyb18xLjE0LjEyLmJiCisrKyAvZGV2L251bGwKQEAgLTEsODcgKzAsMCBAQAotU1VNTUFSWSA9ICJUaGUgQ2Fpcm8gMkQgdmVjdG9yIGdyYXBoaWNzIGxpYnJhcnkiCi1ERVNDUklQVElPTiA9ICJDYWlybyBpcyBhIG11bHRpLXBsYXRmb3JtIGxpYnJhcnkgcHJvdmlkaW5nIGFudGktYWxpYXNlZCBcCi12ZWN0b3ItYmFzZWQgcmVuZGVyaW5nIGZvciBtdWx0aXBsZSB0YXJnZXQgYmFja2VuZHMuIFBhdGhzIGNvbnNpc3QgXAotb2YgbGluZSBzZWdtZW50cyBhbmQgY3ViaWMgc3BsaW5lcyBhbmQgY2FuIGJlIHJlbmRlcmVkIGF0IGFueSB3aWR0aCBcCi13aXRoIHZhcmlvdXMgam9pbiBhbmQgY2FwIHN0eWxlcy4gQWxsIGNvbG9ycyBtYXkgYmUgc3BlY2lmaWVkIHdpdGggXAotb3B0aW9uYWwgdHJhbnNsdWNlbmNlIChvcGFjaXR5L2FscGhhKSBhbmQgY29tYmluZWQgdXNpbmcgdGhlIFwKLWV4dGVuZGVkIFBvcnRlci9EdWZmIGNvbXBvc2l0aW5nIGFsZ2VicmEgYXMgZm91bmQgaW4gdGhlIFggUmVuZGVyIFwKLUV4dGVuc2lvbi4iCi1IT01FUEFHRSA9ICJodHRwOi8vY2Fpcm9ncmFwaGljcy5vcmciCi1CVUdUUkFDS0VSID0gImh0dHA6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZyIKLVNFQ1RJT04gPSAibGlicyIKLQotTElDRU5TRSA9ICJNUEwtMSAmIExHUEx2Mi4xICYgR1BMdjMrIgotTElDRU5TRV8ke1BOfSA9ICJNUEwtMSAmIExHUEx2Mi4xIgotTElDRU5TRV8ke1BOfS1kZXYgPSAiTVBMLTEgJiBMR1BMdjIuMSIKLUxJQ0VOU0VfJHtQTn0tZG9jID0gIk1QTC0xICYgTEdQTHYyLjEiCi1MSUNFTlNFXyR7UE59LWdvYmplY3QgPSAiTVBMLTEgJiBMR1BMdjIuMSIKLUxJQ0VOU0VfJHtQTn0tc2NyaXB0LWludGVycHJldGVyID0gIk1QTC0xICYgTEdQTHYyLjEiCi1MSUNFTlNFXyR7UE59LXBlcmYtdXRpbHMgPSAiR1BMdjMrIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lNzNlOTk5ZTBjNzJiNWFjOTAxMjQyNGZhMTU3YWQ3NyIKLQotREVQRU5EUyA9ICJmb250Y29uZmlnIGdsaWItMi4wIGxpYnBuZyBwaXhtYW4gemxpYiIKLQotU1JDX1VSSSA9ICJodHRwOi8vY2Fpcm9ncmFwaGljcy5vcmcvcmVsZWFzZXMvY2Fpcm8tJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovL2NhaXJvLWdldF9iaXRtYXBfc3VyZmFjZS1ic2MxMDM2Nzg5LUNWRS0yMDE3LTc0NzUuZGlmZiBcIAotICAgICAgICAgICBmaWxlOi8vMDAwMS1jYWlyby1GaXgtQ1ZFLTIwMTctOTgxNC5wYXRjaCBcCi0gICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiOWYwZGI5ZGJmY2EwOTY2YmU4YWNkNjgyZTYzNmQxNjUiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGM5MGYwMGM1MDBiMjI5OWMwYTMyM2RkOWJlZWFkMmEwMDM1Mzc1MmIyMDkyZWFkNTU4MTM5YmQ2N2Y3YmYxNiIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbiBndGstZG9jIG11bHRpbGliX3NjcmlwdAotCi1NVUxUSUxJQl9TQ1JJUFRTID0gIiR7UE59LXBlcmYtdXRpbHM6JHtiaW5kaXJ9L2NhaXJvLXRyYWNlIgotCi1YMTFERVBFTkRTID0gInZpcnR1YWwvbGlieDExIGxpYnNtIGxpYnhyZW5kZXIgbGlieGV4dCIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2RpcmVjdGZiJywgZCl9IFwKLSAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICd4MTEgeGNiJywgJycsIGQpfSBcCi0gICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEgb3BlbmdsJywgJ29wZW5nbCcsICcnLCBkKX0iCi0KLVBBQ0tBR0VDT05GSUdbeDExXSA9ICItLXdpdGgteD15ZXMgLWVuYWJsZS14bGliLC0td2l0aC14PW5vIC0tZGlzYWJsZS14bGliLCR7WDExREVQRU5EU30iCi1QQUNLQUdFQ09ORklHW3hjYl0gPSAiLS1lbmFibGUteGNiLC0tZGlzYWJsZS14Y2IsbGlieGNiIgotUEFDS0FHRUNPTkZJR1tkaXJlY3RmYl0gPSAiLS1lbmFibGUtZGlyZWN0ZmI9eWVzLCxkaXJlY3RmYiIKLVBBQ0tBR0VDT05GSUdbdmFsZ3JpbmRdID0gIi0tZW5hYmxlLXZhbGdyaW5kPXllcywtLWRpc2FibGUtdmFsZ3JpbmQsdmFsZ3JpbmQiCi1QQUNLQUdFQ09ORklHW2VnbF0gPSAiLS1lbmFibGUtZWdsPXllcywtLWRpc2FibGUtZWdsLHZpcnR1YWwvZWdsIgotUEFDS0FHRUNPTkZJR1tnbGVzdjJdID0gIi0tZW5hYmxlLWdsZXN2MiwtLWRpc2FibGUtZ2xlc3YyLHZpcnR1YWwvbGliZ2xlczIiCi1QQUNLQUdFQ09ORklHW29wZW5nbF0gPSAiLS1lbmFibGUtZ2wsLS1kaXNhYmxlLWdsLHZpcnR1YWwvbGliZ2wiCi0KLUVYVFJBX09FQ09ORiArPSAiIFwKLSAgICAke0BiYi51dGlscy5jb250YWlucygnVEFSR0VUX0ZQVScsICdzb2Z0JywgJy0tZGlzYWJsZS1zb21lLWZsb2F0aW5nLXBvaW50JywgJycsIGQpfSBcCi0gICAgLS1lbmFibGUtdGVlIFwKLSIKLQotIyBXZSBkb24ndCBkZXBlbmQgb24gYmludXRpbHMgc28gd2UgbmVlZCB0byBkaXNhYmxlIHRoaXMKLWV4cG9ydCBhY19jdl9saWJfYmZkX2JmZF9vcGVucj0ibm8iCi0jIEVuc3VyZSB3ZSBkb24ndCBkZXBlbmQgb24gTFpPCi1leHBvcnQgYWNfY3ZfbGliX2x6bzJfbHpvMmFfZGVjb21wcmVzcz0ibm8iCi0KLWRvX2luc3RhbGxfYXBwZW5kICgpIHsKLQlybSAtcmYgJHtEfSR7YmluZGlyfS9jYWlyby1zcGhpbngKLQlybSAtcmYgJHtEfSR7bGliZGlyfS9jYWlyby9jYWlyby1mZHIqCi0Jcm0gLXJmICR7RH0ke2xpYmRpcn0vY2Fpcm8vY2Fpcm8tc3BoaW54KgotCXJtIC1yZiAke0R9JHtsaWJkaXJ9L2NhaXJvLy5kZWJ1Zy9jYWlyby1mZHIqCi0Jcm0gLXJmICR7RH0ke2xpYmRpcn0vY2Fpcm8vLmRlYnVnL2NhaXJvLXNwaGlueCoKLX0KLQotUEFDS0FHRVMgPSsgImNhaXJvLWdvYmplY3QgY2Fpcm8tc2NyaXB0LWludGVycHJldGVyIGNhaXJvLXBlcmYtdXRpbHMiCi0KLVNVTU1BUllfY2Fpcm8tZ29iamVjdCA9ICJUaGUgQ2Fpcm8gbGlicmFyeSBHT2JqZWN0IHdyYXBwZXIgbGlicmFyeSIKLURFU0NSSVBUSU9OX2NhaXJvLWdvYmplY3QgPSAiQSBHT2JqZWN0IHdyYXBwZXIgbGlicmFyeSBmb3IgdGhlIENhaXJvIEFQSS4iCi0KLVNVTU1BUllfY2Fpcm8tc2NyaXB0LWludGVycHJldGVyID0gIlRoZSBDYWlybyBsaWJyYXJ5IHNjcmlwdCBpbnRlcnByZXRlciIKLURFU0NSSVBUSU9OX2NhaXJvLXNjcmlwdC1pbnRlcnByZXRlciA9ICJUaGUgQ2Fpcm8gc2NyaXB0IGludGVycHJldGVyIGltcGxlbWVudHMgXAotQ2Fpcm9TY3JpcHQuICBDYWlyb1NjcmlwdCBpcyB1c2VkIGJ5IHRyYWNpbmcgdXRpbGl0aWVzIHRvIGVuYWJsZSB0aGUgYWJpbGl0eSBcCi10byByZXBsYXkgcmVuZGVyaW5nLiIKLQotREVTQ1JJUFRJT05fY2Fpcm8tcGVyZi11dGlscyA9ICJUaGUgQ2Fpcm8gbGlicmFyeSBwZXJmb3JtYW5jZSB1dGlsaXRpZXMiCi0KLUZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS9saWJjYWlyby5zby4qIgotRklMRVNfJHtQTn0tZ29iamVjdCA9ICIke2xpYmRpcn0vbGliY2Fpcm8tZ29iamVjdC5zby4qIgotRklMRVNfJHtQTn0tc2NyaXB0LWludGVycHJldGVyID0gIiR7bGliZGlyfS9saWJjYWlyby1zY3JpcHQtaW50ZXJwcmV0ZXIuc28uKiIKLUZJTEVTXyR7UE59LXBlcmYtdXRpbHMgPSAiJHtiaW5kaXJ9L2NhaXJvLXRyYWNlKiAke2xpYmRpcn0vY2Fpcm8vKi5sYSAke2xpYmRpcn0vY2Fpcm8vbGliY2Fpcm8tdHJhY2Uuc28uKiIKLUZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2NhaXJvLyouc28iCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2Fpcm8vY2Fpcm9fMS4xNi4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2Fpcm8vY2Fpcm9fMS4xNi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyNjI4YWUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jYWlyby9jYWlyb18xLjE2LjAuYmIKQEAgLTAsMCArMSw5MCBAQAorU1VNTUFSWSA9ICJUaGUgQ2Fpcm8gMkQgdmVjdG9yIGdyYXBoaWNzIGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJDYWlybyBpcyBhIG11bHRpLXBsYXRmb3JtIGxpYnJhcnkgcHJvdmlkaW5nIGFudGktYWxpYXNlZCBcCit2ZWN0b3ItYmFzZWQgcmVuZGVyaW5nIGZvciBtdWx0aXBsZSB0YXJnZXQgYmFja2VuZHMuIFBhdGhzIGNvbnNpc3QgXAorb2YgbGluZSBzZWdtZW50cyBhbmQgY3ViaWMgc3BsaW5lcyBhbmQgY2FuIGJlIHJlbmRlcmVkIGF0IGFueSB3aWR0aCBcCit3aXRoIHZhcmlvdXMgam9pbiBhbmQgY2FwIHN0eWxlcy4gQWxsIGNvbG9ycyBtYXkgYmUgc3BlY2lmaWVkIHdpdGggXAorb3B0aW9uYWwgdHJhbnNsdWNlbmNlIChvcGFjaXR5L2FscGhhKSBhbmQgY29tYmluZWQgdXNpbmcgdGhlIFwKK2V4dGVuZGVkIFBvcnRlci9EdWZmIGNvbXBvc2l0aW5nIGFsZ2VicmEgYXMgZm91bmQgaW4gdGhlIFggUmVuZGVyIFwKK0V4dGVuc2lvbi4iCitIT01FUEFHRSA9ICJodHRwOi8vY2Fpcm9ncmFwaGljcy5vcmciCitCVUdUUkFDS0VSID0gImh0dHA6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZyIKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJNUEwtMSAmIExHUEx2Mi4xICYgR1BMdjMrIgorTElDRU5TRV8ke1BOfSA9ICJNUEwtMSAmIExHUEx2Mi4xIgorTElDRU5TRV8ke1BOfS1kZXYgPSAiTVBMLTEgJiBMR1BMdjIuMSIKK0xJQ0VOU0VfJHtQTn0tZG9jID0gIk1QTC0xICYgTEdQTHYyLjEiCitMSUNFTlNFXyR7UE59LWdvYmplY3QgPSAiTVBMLTEgJiBMR1BMdjIuMSIKK0xJQ0VOU0VfJHtQTn0tc2NyaXB0LWludGVycHJldGVyID0gIk1QTC0xICYgTEdQTHYyLjEiCitMSUNFTlNFXyR7UE59LXBlcmYtdXRpbHMgPSAiR1BMdjMrIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lNzNlOTk5ZTBjNzJiNWFjOTAxMjQyNGZhMTU3YWQ3NyIKKworREVQRU5EUyA9ICJmb250Y29uZmlnIGdsaWItMi4wIGxpYnBuZyBwaXhtYW4gemxpYiIKKworU1JDX1VSSSA9ICJodHRwOi8vY2Fpcm9ncmFwaGljcy5vcmcvcmVsZWFzZXMvY2Fpcm8tJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovL2NhaXJvLWdldF9iaXRtYXBfc3VyZmFjZS1ic2MxMDM2Nzg5LUNWRS0yMDE3LTc0NzUuZGlmZiBcIAorICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTk4NzYucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTktNjQ2MS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOS02NDYyLnBhdGNoIFwKKyAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmMTllMDM1MzgyODI2OWMyMmJkNzJlMjcxMjQzYTU1MiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1ZTdiMjliM2YxMTNlZjg3MGQxZTNlY2Y4YWRmMjFmOTIzMzk2NDAxNjA0YmRhMTZkNDRiZTQ1ZTY2MDUyMzMxIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuIGd0ay1kb2MgbXVsdGlsaWJfc2NyaXB0CisKK01VTFRJTElCX1NDUklQVFMgPSAiJHtQTn0tcGVyZi11dGlsczoke2JpbmRpcn0vY2Fpcm8tdHJhY2UiCisKK1gxMURFUEVORFMgPSAidmlydHVhbC9saWJ4MTEgbGlic20gbGlieHJlbmRlciBsaWJ4ZXh0IgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnZGlyZWN0ZmInLCBkKX0gXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ3gxMSB4Y2InLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMSBvcGVuZ2wnLCAnb3BlbmdsJywgJycsIGQpfSIKKworUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0td2l0aC14PXllcyAtZW5hYmxlLXhsaWIsLS13aXRoLXg9bm8gLS1kaXNhYmxlLXhsaWIsJHtYMTFERVBFTkRTfSIKK1BBQ0tBR0VDT05GSUdbeGNiXSA9ICItLWVuYWJsZS14Y2IsLS1kaXNhYmxlLXhjYixsaWJ4Y2IiCitQQUNLQUdFQ09ORklHW2RpcmVjdGZiXSA9ICItLWVuYWJsZS1kaXJlY3RmYj15ZXMsLGRpcmVjdGZiIgorUEFDS0FHRUNPTkZJR1t2YWxncmluZF0gPSAiLS1lbmFibGUtdmFsZ3JpbmQ9eWVzLC0tZGlzYWJsZS12YWxncmluZCx2YWxncmluZCIKK1BBQ0tBR0VDT05GSUdbZWdsXSA9ICItLWVuYWJsZS1lZ2w9eWVzLC0tZGlzYWJsZS1lZ2wsdmlydHVhbC9lZ2wiCitQQUNLQUdFQ09ORklHW2dsZXN2Ml0gPSAiLS1lbmFibGUtZ2xlc3YyLC0tZGlzYWJsZS1nbGVzdjIsdmlydHVhbC9saWJnbGVzMiIKK1BBQ0tBR0VDT05GSUdbb3BlbmdsXSA9ICItLWVuYWJsZS1nbCwtLWRpc2FibGUtZ2wsdmlydHVhbC9saWJnbCIKKworRVhUUkFfT0VDT05GICs9ICIgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUQVJHRVRfRlBVJywgJ3NvZnQnLCAnLS1kaXNhYmxlLXNvbWUtZmxvYXRpbmctcG9pbnQnLCAnJywgZCl9IFwKKyAgICAtLWVuYWJsZS10ZWUgXAorIgorCisjIFdlIGRvbid0IGRlcGVuZCBvbiBiaW51dGlscyBzbyB3ZSBuZWVkIHRvIGRpc2FibGUgdGhpcworZXhwb3J0IGFjX2N2X2xpYl9iZmRfYmZkX29wZW5yPSJubyIKKyMgRW5zdXJlIHdlIGRvbid0IGRlcGVuZCBvbiBMWk8KK2V4cG9ydCBhY19jdl9saWJfbHpvMl9sem8yYV9kZWNvbXByZXNzPSJubyIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworCXJtIC1yZiAke0R9JHtiaW5kaXJ9L2NhaXJvLXNwaGlueAorCXJtIC1yZiAke0R9JHtsaWJkaXJ9L2NhaXJvL2NhaXJvLWZkcioKKwlybSAtcmYgJHtEfSR7bGliZGlyfS9jYWlyby9jYWlyby1zcGhpbngqCisJcm0gLXJmICR7RH0ke2xpYmRpcn0vY2Fpcm8vLmRlYnVnL2NhaXJvLWZkcioKKwlybSAtcmYgJHtEfSR7bGliZGlyfS9jYWlyby8uZGVidWcvY2Fpcm8tc3BoaW54KgorfQorCitQQUNLQUdFUyA9KyAiY2Fpcm8tZ29iamVjdCBjYWlyby1zY3JpcHQtaW50ZXJwcmV0ZXIgY2Fpcm8tcGVyZi11dGlscyIKKworU1VNTUFSWV9jYWlyby1nb2JqZWN0ID0gIlRoZSBDYWlybyBsaWJyYXJ5IEdPYmplY3Qgd3JhcHBlciBsaWJyYXJ5IgorREVTQ1JJUFRJT05fY2Fpcm8tZ29iamVjdCA9ICJBIEdPYmplY3Qgd3JhcHBlciBsaWJyYXJ5IGZvciB0aGUgQ2Fpcm8gQVBJLiIKKworU1VNTUFSWV9jYWlyby1zY3JpcHQtaW50ZXJwcmV0ZXIgPSAiVGhlIENhaXJvIGxpYnJhcnkgc2NyaXB0IGludGVycHJldGVyIgorREVTQ1JJUFRJT05fY2Fpcm8tc2NyaXB0LWludGVycHJldGVyID0gIlRoZSBDYWlybyBzY3JpcHQgaW50ZXJwcmV0ZXIgaW1wbGVtZW50cyBcCitDYWlyb1NjcmlwdC4gIENhaXJvU2NyaXB0IGlzIHVzZWQgYnkgdHJhY2luZyB1dGlsaXRpZXMgdG8gZW5hYmxlIHRoZSBhYmlsaXR5IFwKK3RvIHJlcGxheSByZW5kZXJpbmcuIgorCitERVNDUklQVElPTl9jYWlyby1wZXJmLXV0aWxzID0gIlRoZSBDYWlybyBsaWJyYXJ5IHBlcmZvcm1hbmNlIHV0aWxpdGllcyIKKworRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYmNhaXJvLnNvLioiCitGSUxFU18ke1BOfS1nb2JqZWN0ID0gIiR7bGliZGlyfS9saWJjYWlyby1nb2JqZWN0LnNvLioiCitGSUxFU18ke1BOfS1zY3JpcHQtaW50ZXJwcmV0ZXIgPSAiJHtsaWJkaXJ9L2xpYmNhaXJvLXNjcmlwdC1pbnRlcnByZXRlci5zby4qIgorRklMRVNfJHtQTn0tcGVyZi11dGlscyA9ICIke2JpbmRpcn0vY2Fpcm8tdHJhY2UqICR7bGliZGlyfS9jYWlyby8qLmxhICR7bGliZGlyfS9jYWlyby9saWJjYWlyby10cmFjZS5zbyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCitVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJjYWlyby0oP1A8cHZlcj5cZCsoXC5cZCspKykudGFyLnh6IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLWdzdC0zLjBfMy4wLjI2LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLWdzdC0zLjBfMy4wLjI2LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YTBkZGE1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci1nc3QtMy4wXzMuMC4yNi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotcmVxdWlyZSBjbHV0dGVyLWdzdC0zLjAuaW5jCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2NsdXR0ZXItZ3N0L2NsdXR0ZXItZ3N0Lmg7YmVnaW5saW5lPTE7ZW5kbGluZT0yNDttZDU9OTViYWFjYmExOTRlODE0YzExMGVhM2JkZjI1ZGRiZjQiCi0KLVNSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjc4MDljYTZjZTlkMWEzNDkwNTk3ZmQ0YTczNzVjMzg5IgotU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiZDg2MThhNmQ5YWNjZWMwZjJhODU3NGM1ZTEyMjAwNTFmODUwNWZiODJiMjAzMzZjMjZiZGJkNDgyYWE2Y2IzYSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci1nc3QtMy4wXzMuMC4yNy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci1nc3QtMy4wXzMuMC4yNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTM4MjQ1Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLWdzdC0zLjBfMy4wLjI3LmJiCkBAIC0wLDAgKzEsNyBAQAorcmVxdWlyZSBjbHV0dGVyLWdzdC0zLjAuaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2NsdXR0ZXItZ3N0L2NsdXR0ZXItZ3N0Lmg7YmVnaW5saW5lPTE7ZW5kbGluZT0yNDttZDU9OTViYWFjYmExOTRlODE0YzExMGVhM2JkZjI1ZGRiZjQiCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjJiZjlkN2NhMTQ2YzlkNzFlODZjNDVjZDAwZTlhMjhlIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiZmU2OWJkNmM2NTlkMjRhYjMwZGEzZjA5MWViOTFjZDE5NzAwMjZkNDMxMTc5YjA3MjRmMTM3OTFlOGFkOWY5ZCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci1ndGstMS4wLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci1ndGstMS4wLmluYwppbmRleCAwNWM0ZTVmLi40ZTgyZjU2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jbHV0dGVyL2NsdXR0ZXItZ3RrLTEuMC5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLWd0ay0xLjAuaW5jCkBAIC0yLDcgKzIsOSBAQAogSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5jbHV0dGVyLXByb2plY3Qub3JnLyIKIExJQ0VOU0UgPSAiTEdQTHYyKyIKIAotaW5oZXJpdCBjbHV0dGVyIGRpc3Ryb19mZWF0dXJlc19jaGVjayB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4gZ29iamVjdC1pbnRyb3NwZWN0aW9uCitDTFVUVEVSQkFTRUJVSUxEQ0xBU1MgPSAibWVzb24iCitpbmhlcml0IGNsdXR0ZXIgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbiBnb2JqZWN0LWludHJvc3BlY3Rpb24gZ3RrLWRvYworCiAjIGRlcGVuZHMgb24gY2x1dHRlci0xLjAgd2hpY2ggZGVwZW5kcyBvbiBjb2dsLTEuMAogUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID89ICJvcGVuZ2wiCiAjIGRlcGVuZHMgb24gZ3RrKzMKQEAgLTEwLDYgKzEyLDIwIEBACiAKIERFUEVORFMgPSAiY2x1dHRlci0xLjAgZ3RrKzMiCiBQQUNLQUdFUyAgPSsgIiR7UE59LWV4YW1wbGVzIgotQVVUT1RPT0xTX0FVWERJUiA9ICIke1N9L2J1aWxkIgorCitHVEtET0NfRU5BQkxFX0ZMQUcgPSAiLURlbmFibGVfZG9jcz10cnVlIgorR1RLRE9DX0RJU0FCTEVfRkxBRyA9ICItRGVuYWJsZV9kb2NzPWZhbHNlIgorCitHSV9FTkFCTEVfRkxBRyA9ICItRGVuYWJsZV9naT10cnVlIgorR0lfRElTQUJMRV9GTEFHID0gIi1EZW5hYmxlX2dpPWZhbHNlIgorCitFWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiICR7R0lfRElTQUJMRV9GTEFHfSIKKworRVhUUkFfT0VNRVNPTl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygnR0lfREFUQV9FTkFCTEVEJywgJ1RydWUnLCAnJHtHSV9FTkFCTEVfRkxBR30nLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtHSV9ESVNBQkxFX0ZMQUd9JywgZCl9ICIKKworRVhUUkFfT0VNRVNPTl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygnR1RLRE9DX0VOQUJMRUQnLCAnVHJ1ZScsICcke0dUS0RPQ19FTkFCTEVfRkxBR30nLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7R1RLRE9DX0RJU0FCTEVfRkxBR30nLCBkKX0gIgorCiAKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLWd0ay0xLjAvMDAwMS1BZGQtYS1jb25maWctdmFyaWFibGUtZm9yLWVuYWJsaW5nLWRpc2FibGluZy1pbnRyb3NwLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLWd0ay0xLjAvMDAwMS1BZGQtYS1jb25maWctdmFyaWFibGUtZm9yLWVuYWJsaW5nLWRpc2FibGluZy1pbnRyb3NwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyMWM2ZmQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jbHV0dGVyL2NsdXR0ZXItZ3RrLTEuMC8wMDAxLUFkZC1hLWNvbmZpZy12YXJpYWJsZS1mb3ItZW5hYmxpbmctZGlzYWJsaW5nLWludHJvc3AucGF0Y2gKQEAgLTAsMCArMSwzNyBAQAorRnJvbSA3MjMzODgzYzZiZDRlODBjMGU5MWIyOWI1Yzc2ZmU3OTgwMjNlOWZlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBNb24sIDExIEZlYiAyMDE5IDE2OjQxOjEzICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBhIGNvbmZpZyB2YXJpYWJsZSBmb3IgZW5hYmxpbmcvZGlzYWJsaW5nIGludHJvc3BlY3Rpb24KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKy0tLQorIGNsdXR0ZXItZ3RrL21lc29uLmJ1aWxkIHwgMiArLQorIG1lc29uX29wdGlvbnMudHh0ICAgICAgIHwgNCArKysrCisgMiBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NsdXR0ZXItZ3RrL21lc29uLmJ1aWxkIGIvY2x1dHRlci1ndGsvbWVzb24uYnVpbGQKK2luZGV4IDVkNjg0N2QuLjVkOTM0YjYgMTAwNjQ0CistLS0gYS9jbHV0dGVyLWd0ay9tZXNvbi5idWlsZAorKysrIGIvY2x1dHRlci1ndGsvbWVzb24uYnVpbGQKK0BAIC00OSw3ICs0OSw3IEBAIGNsdXR0ZXJfZ3RrX2RlcCA9IGRlY2xhcmVfZGVwZW5kZW5jeShsaW5rX3dpdGg6IGNsdXR0ZXJfZ3RrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXM6IFsgbWF0aGxpYl9kZXAsIGNsdXR0ZXJfZGVwLCBndGtfZGVwIF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGVfZGlyZWN0b3JpZXM6IGluY2x1ZGVfZGlyZWN0b3JpZXMoJy4nKSkKKyAKKy1pZiBub3QgbWVzb24uaXNfY3Jvc3NfYnVpbGQoKQorK2lmIGdldF9vcHRpb24oJ2VuYWJsZV9naScpCisgICBnbm9tZS5nZW5lcmF0ZV9naXIoY2x1dHRlcl9ndGssCisgICAgICAgICAgICAgICAgICAgICAgc291cmNlczogY2x1dHRlcl9ndGtfaGVhZGVycyArIGNsdXR0ZXJfZ3RrX3NvdXJjZXMsCisgICAgICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlOiAnR3RrQ2x1dHRlcicsCitkaWZmIC0tZ2l0IGEvbWVzb25fb3B0aW9ucy50eHQgYi9tZXNvbl9vcHRpb25zLnR4dAoraW5kZXggYWFmNTlmMS4uYjdlNTFjMyAxMDA2NDQKKy0tLSBhL21lc29uX29wdGlvbnMudHh0CisrKysgYi9tZXNvbl9vcHRpb25zLnR4dAorQEAgLTIsMyArMiw3IEBAIG9wdGlvbignZW5hYmxlX2RvY3MnLAorICAgICAgICB0eXBlOiAnYm9vbGVhbicsCisgICAgICAgIHZhbHVlOiBmYWxzZSwKKyAgICAgICAgZGVzY3JpcHRpb246ICdFbmFibGUgZ2VuZXJhdGluZyB0aGUgQVBJIHJlZmVyZW5jZSAoZGVwZW5kcyBvbiBHVEstRG9jKScpCisrb3B0aW9uKCdlbmFibGVfZ2knLAorKyAgICAgICB0eXBlOiAnYm9vbGVhbicsCisrICAgICAgIHZhbHVlOiBmYWxzZSwKKysgICAgICAgZGVzY3JpcHRpb246ICdFbmFibGUgZ29iamVjdCBpbnRyb3NwZWN0aW9uJykKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci1ndGstMS4wXzEuOC40LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLWd0ay0xLjBfMS44LjQuYmIKaW5kZXggZjAzMDBjNy4uNTM5NDhjOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLWd0ay0xLjBfMS44LjQuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLWd0ay0xLjBfMS44LjQuYmIKQEAgLTIsNSArMiw2IEBACiAKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTdmYmMzMzgzMDlhYzM4ZmVmY2Q2NGIwNGJiOTAzZTM0IgogCitTUkNfVVJJICs9ICIgZmlsZTovLzAwMDEtQWRkLWEtY29uZmlnLXZhcmlhYmxlLWZvci1lbmFibGluZy1kaXNhYmxpbmctaW50cm9zcC5wYXRjaCIKIFNSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImIzNjNhYzk4NzhlMjMzN2JlODg3YjhlZTllMWRhMDBlIgogU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiNTIxNDkzZWMwMzg5NzNjNzdlZGNiOGJjNWVhYzIzZWVkNDE2NDUxMTc4OTRhYWVlNzMwMGIyNDg3Y2I0MmIwNiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2RybS9saWJkcm1fMi40Ljk0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZHJtL2xpYmRybV8yLjQuOTQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ2NTQyOTIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZHJtL2xpYmRybV8yLjQuOTQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw2MCArMCwwIEBACi1TVU1NQVJZID0gIlVzZXJzcGFjZSBpbnRlcmZhY2UgdG8gdGhlIGtlcm5lbCBEUk0gc2VydmljZXMiCi1ERVNDUklQVElPTiA9ICJUaGUgcnVudGltZSBsaWJyYXJ5IGZvciBhY2Nlc3NpbmcgdGhlIGtlcm5lbCBEUk0gc2VydmljZXMuICBEUk0gXAotc3RhbmRzIGZvciBcIkRpcmVjdCBSZW5kZXJpbmcgTWFuYWdlclwiLCB3aGljaCBpcyB0aGUga2VybmVsIHBvcnRpb24gb2YgdGhlIFwKLVwiRGlyZWN0IFJlbmRlcmluZyBJbmZyYXN0cnVjdHVyZVwiIChEUkkpLiAgRFJJIGlzIHJlcXVpcmVkIGZvciBtYW55IGhhcmR3YXJlIFwKLWFjY2VsZXJhdGVkIE9wZW5HTCBkcml2ZXJzLiIKLUhPTUVQQUdFID0gImh0dHA6Ly9kcmkuZnJlZWRlc2t0b3Aub3JnIgotU0VDVElPTiA9ICJ4MTEvYmFzZSIKLUxJQ0VOU0UgPSAiTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8veGY4NmRybS5jO2JlZ2lubGluZT05O2VuZGxpbmU9MzI7bWQ1PWM4YTNiOTYxYWY3NjY3YzUzMDgxNjc2MWU5NDlkYzcxIgotUFJPVklERVMgPSAiZHJtIgotREVQRU5EUyA9ICJsaWJwdGhyZWFkLXN0dWJzIgotCi1TUkNfVVJJID0gImh0dHA6Ly9kcmkuZnJlZWRlc2t0b3Aub3JnL2xpYmRybS8ke0JQfS50YXIuYnoyIFwKLSAgICAgICAgICAgZmlsZTovL211c2wtaW9jdGwucGF0Y2giCi1TUkNfVVJJW21kNXN1bV0gPSAiZTk4MDMyMzM4MzgwMDcwNDdmMzllYjM4NWM3MGQ5ZTAiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjczYzU5YjBhMzc2MDUwMmM0MjhiYTgxZGU0OWNkNDgwNzY1N2QyNmJlNWU2OTdlYmEzYTg3ZGQwMjFkMTZiZSIKLQotaW5oZXJpdCBtZXNvbiBwa2djb25maWcgbWFucGFnZXMKLQotUEFDS0FHRUNPTkZJRyA/Pz0gImxpYmttcyBpbnRlbCByYWRlb24gYW1kZ3B1IG5vdXZlYXUgdm13Z2Z4IG9tYXAgZnJlZWRyZW5vIHZjNCBldG5hdml2IGluc3RhbGwtdGVzdC1wcm9ncmFtcyIKLVBBQ0tBR0VDT05GSUdbbGlia21zXSA9ICItRGxpYmttcz10cnVlLC1EbGlia21zPWZhbHNlIgotUEFDS0FHRUNPTkZJR1tpbnRlbF0gPSAiLURpbnRlbD10cnVlLC1EaW50ZWw9ZmFsc2UsbGlicGNpYWNjZXNzIgotUEFDS0FHRUNPTkZJR1tyYWRlb25dID0gIi1EcmFkZW9uPXRydWUsLURyYWRlb249ZmFsc2UiCi1QQUNLQUdFQ09ORklHW2FtZGdwdV0gPSAiLURhbWRncHU9dHJ1ZSwtRGFtZGdwdT1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbbm91dmVhdV0gPSAiLURub3V2ZWF1PXRydWUsLURub3V2ZWF1PWZhbHNlIgotUEFDS0FHRUNPTkZJR1t2bXdnZnhdID0gIi1Edm13Z2Z4PXRydWUsLUR2bXdnZng9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW29tYXBdID0gIi1Eb21hcD10cnVlLC1Eb21hcD1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbZXh5bm9zXSA9ICItRGV4eW5vcz10cnVlLC1EZXh5bm9zPWZhbHNlIgotUEFDS0FHRUNPTkZJR1tmcmVlZHJlbm9dID0gIi1EZnJlZWRyZW5vPXRydWUsLURmcmVlZHJlbm89ZmFsc2UiCi1QQUNLQUdFQ09ORklHW3RlZ3JhXSA9ICItRHRlZ3JhPXRydWUsLUR0ZWdyYT1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbdmM0XSA9ICItRHZjND10cnVlLC1EdmM0PWZhbHNlIgotUEFDS0FHRUNPTkZJR1tldG5hdml2XSA9ICItRGV0bmF2aXY9dHJ1ZSwtRGV0bmF2aXY9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW2ZyZWVkcmVuby1rZ3NsXSA9ICItRGZyZWVkcmVuby1rZ3NsPXRydWUsLURmcmVlZHJlbm8ta2dzbD1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbdmFsZ3JpbmRdID0gIi1EdmFsZ3JpbmQ9dHJ1ZSwtRHZhbGdyaW5kPWZhbHNlLHZhbGdyaW5kIgotUEFDS0FHRUNPTkZJR1tpbnN0YWxsLXRlc3QtcHJvZ3JhbXNdID0gIi1EaW5zdGFsbC10ZXN0LXByb2dyYW1zPXRydWUsLURpbnN0YWxsLXRlc3QtcHJvZ3JhbXM9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW2NhaXJvLXRlc3RzXSA9ICItRGNhaXJvLXRlc3RzPXRydWUsLURjYWlyby10ZXN0cz1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbdWRldl0gPSAiLUR1ZGV2PXRydWUsLUR1ZGV2PWZhbHNlLHVkZXYiCi1QQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICItRG1hbi1wYWdlcz10cnVlLC1EbWFuLXBhZ2VzPWZhbHNlLGxpYnhzbHQtbmF0aXZlIHhtbHRvLW5hdGl2ZSIKLQotQUxMT1dfRU1QVFlfJHtQTn0tZHJpdmVycyA9ICIxIgotUEFDS0FHRVMgPSsgIiR7UE59LXRlc3RzICR7UE59LWRyaXZlcnMgJHtQTn0tcmFkZW9uICR7UE59LW5vdXZlYXUgJHtQTn0tb21hcCBcCi0gICAgICAgICAgICAgJHtQTn0taW50ZWwgJHtQTn0tZXh5bm9zICR7UE59LWttcyAke1BOfS1mcmVlZHJlbm8gJHtQTn0tYW1kZ3B1IFwKLSAgICAgICAgICAgICAke1BOfS1ldG5hdml2IgotCi1SUkVDT01NRU5EU18ke1BOfS1kcml2ZXJzID0gIiR7UE59LXJhZGVvbiAke1BOfS1ub3V2ZWF1ICR7UE59LW9tYXAgJHtQTn0taW50ZWwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke1BOfS1leHlub3MgJHtQTn0tZnJlZWRyZW5vICR7UE59LWFtZGdwdSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7UE59LWV0bmF2aXYiCi0KLUZJTEVTXyR7UE59LXRlc3RzID0gIiR7YmluZGlyfS8qIgotRklMRVNfJHtQTn0tcmFkZW9uID0gIiR7bGliZGlyfS9saWJkcm1fcmFkZW9uLnNvLioiCi1GSUxFU18ke1BOfS1ub3V2ZWF1ID0gIiR7bGliZGlyfS9saWJkcm1fbm91dmVhdS5zby4qIgotRklMRVNfJHtQTn0tb21hcCA9ICIke2xpYmRpcn0vbGliZHJtX29tYXAuc28uKiIKLUZJTEVTXyR7UE59LWludGVsID0gIiR7bGliZGlyfS9saWJkcm1faW50ZWwuc28uKiIKLUZJTEVTXyR7UE59LWV4eW5vcyA9ICIke2xpYmRpcn0vbGliZHJtX2V4eW5vcy5zby4qIgotRklMRVNfJHtQTn0ta21zID0gIiR7bGliZGlyfS9saWJrbXMqLnNvLioiCi1GSUxFU18ke1BOfS1mcmVlZHJlbm8gPSAiJHtsaWJkaXJ9L2xpYmRybV9mcmVlZHJlbm8uc28uKiIKLUZJTEVTXyR7UE59LWFtZGdwdSA9ICIke2xpYmRpcn0vbGliZHJtX2FtZGdwdS5zby4qIgotRklMRVNfJHtQTn0tZXRuYXZpdiA9ICIke2xpYmRpcn0vbGliZHJtX2V0bmF2aXYuc28uKiIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZHJtL2xpYmRybV8yLjQuOTcuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9kcm0vbGliZHJtXzIuNC45Ny5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYmU5YTMzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZHJtL2xpYmRybV8yLjQuOTcuYmIKQEAgLTAsMCArMSw2MCBAQAorU1VNTUFSWSA9ICJVc2Vyc3BhY2UgaW50ZXJmYWNlIHRvIHRoZSBrZXJuZWwgRFJNIHNlcnZpY2VzIgorREVTQ1JJUFRJT04gPSAiVGhlIHJ1bnRpbWUgbGlicmFyeSBmb3IgYWNjZXNzaW5nIHRoZSBrZXJuZWwgRFJNIHNlcnZpY2VzLiAgRFJNIFwKK3N0YW5kcyBmb3IgXCJEaXJlY3QgUmVuZGVyaW5nIE1hbmFnZXJcIiwgd2hpY2ggaXMgdGhlIGtlcm5lbCBwb3J0aW9uIG9mIHRoZSBcCitcIkRpcmVjdCBSZW5kZXJpbmcgSW5mcmFzdHJ1Y3R1cmVcIiAoRFJJKS4gIERSSSBpcyByZXF1aXJlZCBmb3IgbWFueSBoYXJkd2FyZSBcCithY2NlbGVyYXRlZCBPcGVuR0wgZHJpdmVycy4iCitIT01FUEFHRSA9ICJodHRwOi8vZHJpLmZyZWVkZXNrdG9wLm9yZyIKK1NFQ1RJT04gPSAieDExL2Jhc2UiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3hmODZkcm0uYztiZWdpbmxpbmU9OTtlbmRsaW5lPTMyO21kNT1jOGEzYjk2MWFmNzY2N2M1MzA4MTY3NjFlOTQ5ZGM3MSIKK1BST1ZJREVTID0gImRybSIKK0RFUEVORFMgPSAibGlicHRocmVhZC1zdHVicyIKKworU1JDX1VSSSA9ICJodHRwOi8vZHJpLmZyZWVkZXNrdG9wLm9yZy9saWJkcm0vJHtCUH0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9tdXNsLWlvY3RsLnBhdGNoIgorU1JDX1VSSVttZDVzdW1dID0gImFjZWYyMmQwYzYyYzg5NjkyMzQ4YzJkZDU1OTEzOTNlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc3ZDBjY2RhM2UxMGQ2NTkzMzk4ZWRiNzBiMTU2NmJmZTFhMjNhMzliZDNkYTk4YWNlMjE0NzY5MmVhZGQxMjMiCisKK2luaGVyaXQgbWVzb24gcGtnY29uZmlnIG1hbnBhZ2VzCisKK1BBQ0tBR0VDT05GSUcgPz89ICJsaWJrbXMgaW50ZWwgcmFkZW9uIGFtZGdwdSBub3V2ZWF1IHZtd2dmeCBvbWFwIGZyZWVkcmVubyB2YzQgZXRuYXZpdiBpbnN0YWxsLXRlc3QtcHJvZ3JhbXMiCitQQUNLQUdFQ09ORklHW2xpYmttc10gPSAiLURsaWJrbXM9dHJ1ZSwtRGxpYmttcz1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbaW50ZWxdID0gIi1EaW50ZWw9dHJ1ZSwtRGludGVsPWZhbHNlLGxpYnBjaWFjY2VzcyIKK1BBQ0tBR0VDT05GSUdbcmFkZW9uXSA9ICItRHJhZGVvbj10cnVlLC1EcmFkZW9uPWZhbHNlIgorUEFDS0FHRUNPTkZJR1thbWRncHVdID0gIi1EYW1kZ3B1PXRydWUsLURhbWRncHU9ZmFsc2UiCitQQUNLQUdFQ09ORklHW25vdXZlYXVdID0gIi1Ebm91dmVhdT10cnVlLC1Ebm91dmVhdT1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbdm13Z2Z4XSA9ICItRHZtd2dmeD10cnVlLC1Edm13Z2Z4PWZhbHNlIgorUEFDS0FHRUNPTkZJR1tvbWFwXSA9ICItRG9tYXA9dHJ1ZSwtRG9tYXA9ZmFsc2UiCitQQUNLQUdFQ09ORklHW2V4eW5vc10gPSAiLURleHlub3M9dHJ1ZSwtRGV4eW5vcz1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbZnJlZWRyZW5vXSA9ICItRGZyZWVkcmVubz10cnVlLC1EZnJlZWRyZW5vPWZhbHNlIgorUEFDS0FHRUNPTkZJR1t0ZWdyYV0gPSAiLUR0ZWdyYT10cnVlLC1EdGVncmE9ZmFsc2UiCitQQUNLQUdFQ09ORklHW3ZjNF0gPSAiLUR2YzQ9dHJ1ZSwtRHZjND1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbZXRuYXZpdl0gPSAiLURldG5hdml2PXRydWUsLURldG5hdml2PWZhbHNlIgorUEFDS0FHRUNPTkZJR1tmcmVlZHJlbm8ta2dzbF0gPSAiLURmcmVlZHJlbm8ta2dzbD10cnVlLC1EZnJlZWRyZW5vLWtnc2w9ZmFsc2UiCitQQUNLQUdFQ09ORklHW3ZhbGdyaW5kXSA9ICItRHZhbGdyaW5kPXRydWUsLUR2YWxncmluZD1mYWxzZSx2YWxncmluZCIKK1BBQ0tBR0VDT05GSUdbaW5zdGFsbC10ZXN0LXByb2dyYW1zXSA9ICItRGluc3RhbGwtdGVzdC1wcm9ncmFtcz10cnVlLC1EaW5zdGFsbC10ZXN0LXByb2dyYW1zPWZhbHNlIgorUEFDS0FHRUNPTkZJR1tjYWlyby10ZXN0c10gPSAiLURjYWlyby10ZXN0cz10cnVlLC1EY2Fpcm8tdGVzdHM9ZmFsc2UiCitQQUNLQUdFQ09ORklHW3VkZXZdID0gIi1EdWRldj10cnVlLC1EdWRldj1mYWxzZSx1ZGV2IgorUEFDS0FHRUNPTkZJR1ttYW5wYWdlc10gPSAiLURtYW4tcGFnZXM9dHJ1ZSwtRG1hbi1wYWdlcz1mYWxzZSxsaWJ4c2x0LW5hdGl2ZSB4bWx0by1uYXRpdmUiCisKK0FMTE9XX0VNUFRZXyR7UE59LWRyaXZlcnMgPSAiMSIKK1BBQ0tBR0VTID0rICIke1BOfS10ZXN0cyAke1BOfS1kcml2ZXJzICR7UE59LXJhZGVvbiAke1BOfS1ub3V2ZWF1ICR7UE59LW9tYXAgXAorICAgICAgICAgICAgICR7UE59LWludGVsICR7UE59LWV4eW5vcyAke1BOfS1rbXMgJHtQTn0tZnJlZWRyZW5vICR7UE59LWFtZGdwdSBcCisgICAgICAgICAgICAgJHtQTn0tZXRuYXZpdiIKKworUlJFQ09NTUVORFNfJHtQTn0tZHJpdmVycyA9ICIke1BOfS1yYWRlb24gJHtQTn0tbm91dmVhdSAke1BOfS1vbWFwICR7UE59LWludGVsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXh5bm9zICR7UE59LWZyZWVkcmVubyAke1BOfS1hbWRncHUgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke1BOfS1ldG5hdml2IgorCitGSUxFU18ke1BOfS10ZXN0cyA9ICIke2JpbmRpcn0vKiIKK0ZJTEVTXyR7UE59LXJhZGVvbiA9ICIke2xpYmRpcn0vbGliZHJtX3JhZGVvbi5zby4qIgorRklMRVNfJHtQTn0tbm91dmVhdSA9ICIke2xpYmRpcn0vbGliZHJtX25vdXZlYXUuc28uKiIKK0ZJTEVTXyR7UE59LW9tYXAgPSAiJHtsaWJkaXJ9L2xpYmRybV9vbWFwLnNvLioiCitGSUxFU18ke1BOfS1pbnRlbCA9ICIke2xpYmRpcn0vbGliZHJtX2ludGVsLnNvLioiCitGSUxFU18ke1BOfS1leHlub3MgPSAiJHtsaWJkaXJ9L2xpYmRybV9leHlub3Muc28uKiIKK0ZJTEVTXyR7UE59LWttcyA9ICIke2xpYmRpcn0vbGlia21zKi5zby4qIgorRklMRVNfJHtQTn0tZnJlZWRyZW5vID0gIiR7bGliZGlyfS9saWJkcm1fZnJlZWRyZW5vLnNvLioiCitGSUxFU18ke1BOfS1hbWRncHUgPSAiJHtsaWJkaXJ9L2xpYmRybV9hbWRncHUuc28uKiIKK0ZJTEVTXyR7UE59LWV0bmF2aXYgPSAiJHtsaWJkaXJ9L2xpYmRybV9ldG5hdml2LnNvLioiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2VnbGluZm8vZWdsaW5mby13YXlsYW5kXzEuMC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZWdsaW5mby9lZ2xpbmZvLXdheWxhbmRfMS4wLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODdhMTMxYQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2VnbGluZm8vZWdsaW5mby13YXlsYW5kXzEuMC4wLmJiCkBAIC0wLDAgKzEsMTMgQEAKK0VHTElORk9fUExBVEZPUk0gPz0gIndheWxhbmQiCitFR0xJTkZPX0JJTkFSWV9OQU1FID89ICJlZ2xpbmZvLXdheWxhbmQiCisKK3JlcXVpcmUgZWdsaW5mby5pbmMKKworREVQRU5EUyArPSAid2F5bGFuZCIKKworaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworIyBkZXBlbmRzIG9uIHdheWxhbmQKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyArPSAid2F5bGFuZCIKKworU1VNTUFSWSArPSAiKFdheWxhbmQgdmVyc2lvbikiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9lZ2xpbmZvL2VnbGluZm8uaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZWdsaW5mby9lZ2xpbmZvLmluYwppbmRleCAwN2FkMDcyLi42ZGNiMGM1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9lZ2xpbmZvL2VnbGluZm8uaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2VnbGluZm8vZWdsaW5mby5pbmMKQEAgLTExLDcgKzExLDcgQEAKICAgICAgICAgICAgZmlsZTovLzAwMDEtQWRkLVNUQUdJTkdfSU5DRElSLXRvLXNlYXJjaHBhdGgtZm9yLWVnbC1oZWFkZXJzLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtQ2hlY2stZm9yLWxpYmVnbC11c2luZy1wa2ctY29uZmlnLnBhdGNoIFwKICAgICAgICAgICAgIgotU1JDUkVWID0gIjRiMzE3NjQ4ZWM2Y2YzOTU1NmE5ZTVkODA3OGY2MDViYzBlZGQ1ZGUiCitTUkNSRVYgPSAiMjIzODE3ZWUzNzk4ODA0MmRiNzg3M2NmYjViMmU4OTlkZmUzNWMxMCIKIAogQ1ZFX1BST0RVQ1QgPSAiZWdsaW5mbyIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZWdsaW5mby9maWxlcy8wMDAxLUFkZC1TVEFHSU5HX0lOQ0RJUi10by1zZWFyY2hwYXRoLWZvci1lZ2wtaGVhZGVycy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2VnbGluZm8vZmlsZXMvMDAwMS1BZGQtU1RBR0lOR19JTkNESVItdG8tc2VhcmNocGF0aC1mb3ItZWdsLWhlYWRlcnMucGF0Y2gKaW5kZXggY2E5ZjU1Yy4uNjEzMjdlYiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZWdsaW5mby9maWxlcy8wMDAxLUFkZC1TVEFHSU5HX0lOQ0RJUi10by1zZWFyY2hwYXRoLWZvci1lZ2wtaGVhZGVycy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9lZ2xpbmZvL2ZpbGVzLzAwMDEtQWRkLVNUQUdJTkdfSU5DRElSLXRvLXNlYXJjaHBhdGgtZm9yLWVnbC1oZWFkZXJzLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA5NGIxZTZkYWY3ZDcwNTUwYjBlMzJmYmIyNjlmY2Y2ODg3OTQ4ZDNmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA5OWE1Nzg0ZDMzYWQ1ZTBlNmZhMDAzMzhkMjczMmNiY2NhZDc2NjFjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFdlZCwgMTMgSmFuIDIwMTYgMTY6MDg6MjIgLTA4MDAKIFN1YmplY3Q6IFtQQVRDSF0gQWRkIFNUQUdJTkdfSU5DRElSIHRvIHNlYXJjaHBhdGggZm9yIGVnbCBoZWFkZXJzCkBAIC0xNCwxMCArMTQsMTAgQEAKICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS93c2NyaXB0IGIvd3NjcmlwdAotaW5kZXggZmNiYjU1Yi4uY2VjZThiZiAxMDA2NDQKK2luZGV4IDE5NWUyNDcuLjBmNmVjNTMgMTAwNjQ0CiAtLS0gYS93c2NyaXB0CiArKysgYi93c2NyaXB0Ci1AQCAtMTYzLDkgKzE2MywxMCBAQCBkZWYgY29uZmlndXJlX3Jhc3BiZXJyeXBpX2RldmljZShjb25mLCBwbGF0Zm9ybSk6CitAQCAtMTc3LDkgKzE3NywxMCBAQCBkZWYgY29uZmlndXJlX3Jhc3BiZXJyeXBpX2RldmljZShjb25mLCBwbGF0Zm9ybSk6CiAgCWNvbmYuY2hlY2tfY3h4KG1hbmRhdG9yeSA9IDEsIGxpYiA9IFsnR0xFU3YyJywgJ0VHTCcsICdiY21faG9zdCddLCB1c2VsaWJfc3RvcmUgPSAnRUdMJykKICAJaW1wb3J0IG9zCiAgCXN5c3Jvb3QgPSBjb25mLm9wdGlvbnMuc3lzcm9vdCArIGNvbmYub3B0aW9ucy5wcmVmaXgKQEAgLTMwLDUgKzMwLDQgQEAKICAJY29uZi5lbnZbJ1dJVEhfQVBJUyddID0gW10KICAJaWYgY2hlY2tfZ2xlczIoY29uZik6CiAtLSAKLTIuNy4wCi0KKzIuMTkuMQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZWdsaW5mby9maWxlcy8wMDAxLUNoZWNrLWZvci1saWJlZ2wtdXNpbmctcGtnLWNvbmZpZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2VnbGluZm8vZmlsZXMvMDAwMS1DaGVjay1mb3ItbGliZWdsLXVzaW5nLXBrZy1jb25maWcucGF0Y2gKaW5kZXggMDI4OWFjMi4uNTcyYzgwMSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZWdsaW5mby9maWxlcy8wMDAxLUNoZWNrLWZvci1saWJlZ2wtdXNpbmctcGtnLWNvbmZpZy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9lZ2xpbmZvL2ZpbGVzLzAwMDEtQ2hlY2stZm9yLWxpYmVnbC11c2luZy1wa2ctY29uZmlnLnBhdGNoCkBAIC0xLDIyICsxLDI1IEBACi1Gcm9tIDU4ZDUxZDk0MWQzZjRkZmEzOGJlMTgyODJkM2UyODVkNzZkOTAyMGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDE3ZjVkMmY1NzQyMzZmOGMzNDU5ZjllZmFkZWYyZjBmNjIyMGE0ZGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogTW9uLCAxMyBBdWcgMjAxOCAxNTo0Njo1MyAtMDcwMAogU3ViamVjdDogW1BBVENIXSBDaGVjayBmb3IgbGliZWdsIHVzaW5nIHBrZy1jb25maWcKIAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCiBTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorW1JvbWFuOiBwYXRjaCBoYXMgYmVlbiByZWJhc2VkIHRvIDIyMzgxN2VlMzc5OCAoIkFkZCBXYXlsYW5kIHN1cHBvcnQiKQorIHRyaXZpYWwgbWVyZ2UgY29uZmxpY3RzIHJlc29sdmVkXQorU2lnbmVkLW9mZi1ieTogUm9tYW4gU3RyYXRpaWVua28gPHJvbWFuLnN0cmF0aWllbmtvQGdsb2JhbGxvZ2ljLmNvbT4KIC0tLQotIHdzY3JpcHQgfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKyB3c2NyaXB0IHwgNyArLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCA2IGRlbGV0aW9ucygtKQogCi1JbmRleDogZ2l0L3dzY3JpcHQKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnaXQub3JpZy93c2NyaXB0Ci0rKysgZ2l0L3dzY3JpcHQKLUBAIC0xNjAsMTQgKzE2MCw5IEBAIGRlZiBjb25maWd1cmVfcmFzcGJlcnJ5cGlfZGV2aWNlKGNvbmYsIHAKLSAJCWNvbmYuZW52WydQTEFURk9STV9VU0VMSUJTJ10gKz0gWyJYMTEiXQotIAllbGlmIHBsYXRmb3JtID09ICJmYiI6Ci0gCQljb25mLmVudlsnUExBVEZPUk1fU09VUkNFJ10gPSBbJ3NyYy9wbGF0Zm9ybV9mYl9yYXNwYmVycnlwaS5jcHAnXQorZGlmZiAtLWdpdCBhL3dzY3JpcHQgYi93c2NyaXB0CitpbmRleCAwZjZlYzUzLi40MDFmNjJlIDEwMDY0NAorLS0tIGEvd3NjcmlwdAorKysrIGIvd3NjcmlwdAorQEAgLTE3NCwxNCArMTc0LDkgQEAgZGVmIGNvbmZpZ3VyZV9yYXNwYmVycnlwaV9kZXZpY2UoY29uZiwgcGxhdGZvcm0pOgorIAllbHNlOgorIAkJY29uZi5mYXRhbCgnVW5zdXBwb3J0ZWQgUmFzcGJlcnJ5IFBpIHBsYXRmb3JtICIlcyInICUgcGxhdGZvcm0pCisgCQlyZXR1cm4KIC0JY29uZi5jaGVja19jeHgobWFuZGF0b3J5ID0gMSwgbGliID0gWydHTEVTdjInLCAnRUdMJywgJ2JjbV9ob3N0J10sIHVzZWxpYl9zdG9yZSA9ICdFR0wnKQogKwljb25mLmNoZWNrX2NmZyhwYWNrYWdlPSdlZ2wnLCBhcmdzPSctLWxpYnMgLS1jZmxhZ3MnKQogIAlpbXBvcnQgb3MKQEAgLTI5LDMgKzMyLDUgQEAKICAJY29uZi5lbnZbJ1dJVEhfQVBJUyddID0gW10KICAJaWYgY2hlY2tfZ2xlczIoY29uZik6CiAgCQljb25mLmVudlsnV0lUSF9BUElTJ10gKz0gWydHTEVTMScsICdHTEVTMiddCistLSAKKzIuMTkuMQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZm9udGNvbmZpZy9mb250Y29uZmlnLzAwMDEtc3JjLWZjY2FjaGUuYy1GaXgtZGVmaW5lLWZvci1IQVZFX1BPU0lYX0ZBRFZJU0UucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9mb250Y29uZmlnL2ZvbnRjb25maWcvMDAwMS1zcmMtZmNjYWNoZS5jLUZpeC1kZWZpbmUtZm9yLUhBVkVfUE9TSVhfRkFEVklTRS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOWJjZTIxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZm9udGNvbmZpZy9mb250Y29uZmlnLzAwMDEtc3JjLWZjY2FjaGUuYy1GaXgtZGVmaW5lLWZvci1IQVZFX1BPU0lYX0ZBRFZJU0UucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorRnJvbSBhYjk1MjIxNzdhODM5NmE1MTgxMmZkYmViYjYzODdkZjQ1MWE4NDk5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDI0IERlYyAyMDE4IDExOjAzOjU4ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIHNyYy9mY2NhY2hlLmM6IEZpeCBkZWZpbmUgZm9yIEhBVkVfUE9TSVhfRkFEVklTRQorCitPdGhlcndpc2UsIHRoZXJlIHdvdWxkIGJlIGJ1aWxkIGVycm9ycyBpbiB0aGUgZm9sbG93aW5nIDIgY2FzZXM6CisqIGRlZmluZSBIQVZFX1BPU0lYX0ZBRFZJU0UKK09yOgorKiB1bmRlZiBIQVZFX1BPU0lYX0ZBRFZJU0UKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3JnL2ZvbnRjb25maWcvZm9udGNvbmZpZy9jb21taXQvNTg2ZTM1NDUwZTljYTdjMWRjNjQ3Y2ViOWQ3NWFjOGVkMDhjNWMxNl0KKworU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBmY2NhY2hlLmMgfCAgICAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvZmNjYWNoZS5jIGIvc3JjL2ZjY2FjaGUuYworaW5kZXggNmYzYzY4YS4uODVjYzRiNCAxMDA2NDQKKy0tLSBhL3NyYy9mY2NhY2hlLmMKKysrKyBiL3NyYy9mY2NhY2hlLmMKK0BAIC03MDAsNyArNzAwLDcgQEAgRmNEaXJDYWNoZU1hcEZkIChGY0NvbmZpZyAqY29uZmlnLCBpbnQgZmQsIHN0cnVjdCBzdGF0ICpmZF9zdGF0LCBzdHJ1Y3Qgc3RhdCAqZGkKKyAgICAgeworICNpZiBkZWZpbmVkKEhBVkVfTU1BUCkgfHwgZGVmaW5lZChfX0NZR1dJTl9fKQorIAljYWNoZSA9IG1tYXAgKDAsIGZkX3N0YXQtPnN0X3NpemUsIFBST1RfUkVBRCwgTUFQX1NIQVJFRCwgZmQsIDApOworLSNpZiAoSEFWRV9QT1NJWF9GQURWSVNFKSAmJiBkZWZpbmVkKFBPU0lYX0ZBRFZfV0lMTE5FRUQpCisrI2lmIGRlZmluZWQoSEFWRV9QT1NJWF9GQURWSVNFKSAmJiBkZWZpbmVkKFBPU0lYX0ZBRFZfV0lMTE5FRUQpCisgCXBvc2l4X2ZhZHZpc2UgKGZkLCAwLCBmZF9zdGF0LT5zdF9zaXplLCBQT1NJWF9GQURWX1dJTExORUVEKTsKKyAjZW5kaWYKKyAJaWYgKGNhY2hlID09IE1BUF9GQUlMRUQpCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2ZvbnRjb25maWcvZm9udGNvbmZpZ18yLjEyLjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9mb250Y29uZmlnL2ZvbnRjb25maWdfMi4xMi42LmJiCmluZGV4IGNlYzUyNDcuLjhmYTczOWQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2ZvbnRjb25maWcvZm9udGNvbmZpZ18yLjEyLjYuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZm9udGNvbmZpZy9mb250Y29uZmlnXzIuMTIuNi5iYgpAQCAtMjMsNiArMjMsNyBAQAogU1JDX1VSSSA9ICJodHRwOi8vZm9udGNvbmZpZy5vcmcvcmVsZWFzZS9mb250Y29uZmlnLSR7UFZ9LnRhci5neiBcCiAgICAgICAgICAgIGZpbGU6Ly9yZXZlcnQtc3RhdGljLXBrZ2NvbmZpZy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLXNyYy1mY3htbC5jLWF2b2lkLWRvdWJsZS1mcmVlLW9mLWZpbGVuYW1lLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtc3JjLWZjY2FjaGUuYy1GaXgtZGVmaW5lLWZvci1IQVZFX1BPU0lYX0ZBRFZJU0UucGF0Y2ggXAogICAgICAgICAgICAiCiAKIFNSQ19VUklbbWQ1c3VtXSA9ICIwMGU3NDhjNjdmYWQxMWU3MDU3YTcxZWQzODVlOGJkYiIKQEAgLTQxLDYgKzQyLDEyIEBACiAgICAgbG4gJHtEfSR7YmluZGlyfS9mYy1jYWNoZSAke0R9JHtsaWJleGVjZGlyfS8ke01MUFJFRklYfWZjLWNhY2hlCiB9CiAKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkaygpIHsKKyAgICAjIGR1cGxpY2F0ZSBmYy1jYWNoZSBmb3IgcG9zdGluc3RhbGwgc2NyaXB0CisgICAgbWtkaXIgLXAgJHtEfSR7bGliZXhlY2Rpcn0KKyAgICBsbiAke0R9JHtiaW5kaXJ9L2ZjLWNhY2hlICR7RH0ke2xpYmV4ZWNkaXJ9LyR7TUxQUkVGSVh9ZmMtY2FjaGUKK30KKwogUEFDS0FHRVMgPSsgImZvbnRjb25maWctdXRpbHMiCiBGSUxFU18ke1BOfSA9KyAiJHtkYXRhZGlyfS94bWwvKiIKIEZJTEVTX2ZvbnRjb25maWctdXRpbHMgPSAiJHtiaW5kaXJ9LyogJHtsaWJleGVjZGlyfS8qIgpAQCAtNjEsNCArNjgsNCBAQAogCiBFWFRSQV9PRUNPTkYgPSAiIC0tZGlzYWJsZS1kb2NzIC0td2l0aC1kZWZhdWx0LWZvbnRzPSR7ZGF0YWRpcn0vZm9udHMgLS13aXRoLWNhY2hlLWRpcj0ke0ZPTlRDT05GSUdfQ0FDSEVfRElSfSAtLXdpdGgtYWRkLWZvbnRzPSR7Rk9OVENPTkZJR19GT05UX0RJUlN9IgogCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2dsZXcvZ2xldy8wMDAxLUZpeGVkLWNvbXBpbGF0aW9uLXdpdGgtY3VycmVudC1tZXNhLXZlcnNpb25zLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZ2xldy9nbGV3LzAwMDEtRml4ZWQtY29tcGlsYXRpb24td2l0aC1jdXJyZW50LW1lc2EtdmVyc2lvbnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjRmM2UyZgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2dsZXcvZ2xldy8wMDAxLUZpeGVkLWNvbXBpbGF0aW9uLXdpdGgtY3VycmVudC1tZXNhLXZlcnNpb25zLnBhdGNoCkBAIC0wLDAgKzEsNzMgQEAKK0Zyb20gN2Y2NWEzNjg2NmY0ZTI0ZGQxNDQ2ZmUxYzlkMjE0MjRmMjhiY2FiZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IERldmUgPGRldmVlZUBnbWFpbC5jb20+CitEYXRlOiBXZWQsIDE0IE5vdiAyMDE4IDIxOjA3OjI5ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeGVkIGNvbXBpbGF0aW9uIHdpdGggY3VycmVudCBtZXNhIHZlcnNpb25zLgorCitBcyB5b3UgY2FuIHNlZSBpbgoraHR0cHM6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy9tZXNhL21lc2EvdHJlZS9pbmNsdWRlL0dML2dsZXh0LmgKK25vdyB0aGUgZmlsZSB1c2VzIF9fZ2xfZ2xleHRfaF8gaW5zdGVhZCBvZiBfX2dsZXh0X2hfCitJdCdzIHByZWNpc2VseSBjYXVzZWQgYnkgY29tbWl0IGY3ZDQyZWU3ZDMxOTI1NjYwOGFkNjA3NzhmNjc4N2MxNDBiYWRhZGEKKworQmFja29wcnQgbm90ZXM6IAorCisqIFRoZSBvcmlnaW5hbCBwYXRjaCBhZGp1c3RzIGF1dG8vc3JjL2dsZXdfaGVhZC5oIG9ubHkKKyogaW5jbHVkZS9HTC9nbGV3LmggaXMgbm90IHBhcnQgb2YgZ2l0IHJlcG8gYW5kIGdldHMgY3JlYXRlZCBvbiB0YXJiYWxsCisgIGNyZWF0aW9uCisKKz0+IHBhdGNoIGluY2x1ZGUvR0wvZ2xldy5oIGVpdGhlciB0byBjYXVzZSB0aGUgZGVzaXJlZCBmaXgKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbMV0KKworWzFdIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWdlbHMtY29tL2dsZXcvY29tbWl0LzdmNjVhMzY4NjZmNGUyNGRkMTQ0NmZlMWM5ZDIxNDI0ZjI4YmNhYmQKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KKy0tLQorIGF1dG8vc3JjL2dsZXdfaGVhZC5oIHwgMyArKy0KKyBpbmNsdWRlL0dML2dsZXcuaCAgICB8IDMgKystCisgMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9hdXRvL3NyYy9nbGV3X2hlYWQuaCBiL2F1dG8vc3JjL2dsZXdfaGVhZC5oCitpbmRleCBjMTljZWZiLi44ZjMxM2Q5IDEwMDY0NAorLS0tIGEvYXV0by9zcmMvZ2xld19oZWFkLmgKKysrKyBiL2F1dG8vc3JjL2dsZXdfaGVhZC5oCitAQCAtMTQsNyArMTQsNyBAQAorICNpZiBkZWZpbmVkKF9fUkVHQUxfSF9fKQorICNlcnJvciBSZWdhbC5oIGluY2x1ZGVkIGJlZm9yZSBnbGV3LmgKKyAjZW5kaWYKKy0jaWYgZGVmaW5lZChfX2dsZXh0X2hfKSB8fCBkZWZpbmVkKF9fR0xFWFRfSF8pCisrI2lmIGRlZmluZWQoX19nbGV4dF9oXykgfHwgZGVmaW5lZChfX0dMRVhUX0hfKSB8fCBkZWZpbmVkKF9fZ2xfZ2xleHRfaF8pCisgI2Vycm9yIGdsZXh0LmggaW5jbHVkZWQgYmVmb3JlIGdsZXcuaAorICNlbmRpZgorICNpZiBkZWZpbmVkKF9fZ2xfQVRJX2hfKQorQEAgLTMwLDYgKzMwLDcgQEAKKyAjZGVmaW5lIF9fWF9HTF9ICisgI2RlZmluZSBfX2dsZXh0X2hfCisgI2RlZmluZSBfX0dMRVhUX0hfCisrI2RlZmluZSBfX2dsX2dsZXh0X2hfCisgI2RlZmluZSBfX2dsX0FUSV9oXworIAorICNpZiBkZWZpbmVkKF9XSU4zMikKK2RpZmYgLS1naXQgYS9pbmNsdWRlL0dML2dsZXcuaCBiL2luY2x1ZGUvR0wvZ2xldy5oCitpbmRleCBiNWI2OTg3Li5hOWY5ZTRiIDEwMDY0NAorLS0tIGEvaW5jbHVkZS9HTC9nbGV3LmgKKysrKyBiL2luY2x1ZGUvR0wvZ2xldy5oCitAQCAtOTMsNyArOTMsNyBAQAorICNpZiBkZWZpbmVkKF9fUkVHQUxfSF9fKQorICNlcnJvciBSZWdhbC5oIGluY2x1ZGVkIGJlZm9yZSBnbGV3LmgKKyAjZW5kaWYKKy0jaWYgZGVmaW5lZChfX2dsZXh0X2hfKSB8fCBkZWZpbmVkKF9fR0xFWFRfSF8pCisrI2lmIGRlZmluZWQoX19nbGV4dF9oXykgfHwgZGVmaW5lZChfX0dMRVhUX0hfKSB8fCBkZWZpbmVkKF9fZ2xfZ2xleHRfaF8pCisgI2Vycm9yIGdsZXh0LmggaW5jbHVkZWQgYmVmb3JlIGdsZXcuaAorICNlbmRpZgorICNpZiBkZWZpbmVkKF9fZ2xfQVRJX2hfKQorQEAgLTEwOSw2ICsxMDksNyBAQAorICNkZWZpbmUgX19YX0dMX0gKKyAjZGVmaW5lIF9fZ2xleHRfaF8KKyAjZGVmaW5lIF9fR0xFWFRfSF8KKysjZGVmaW5lIF9fZ2xfZ2xleHRfaF8KKyAjZGVmaW5lIF9fZ2xfQVRJX2hfCisgCisgI2lmIGRlZmluZWQoX1dJTjMyKQorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZ2xldy9nbGV3XzIuMS4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZ2xldy9nbGV3XzIuMS4wLmJiCmluZGV4IGJlNzI1ZTAuLjE4ZTY5MDkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2dsZXcvZ2xld18yLjEuMC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9nbGV3L2dsZXdfMi4xLjAuYmIKQEAgLTYsNyArNiw4IEBACiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9MmFjMjUxNTU4ZGU2ODVjNmI5NDc4ZDg5YmUzMTQ5YzIiCiAKIFNSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3Byb2plY3QvZ2xldy9nbGV3LyR7UFZ9L2dsZXctJHtQVn0udGd6IFwKLSAgICAgICAgICAgZmlsZTovL25vLXN0cmlwLnBhdGNoIgorICAgICAgICAgICBmaWxlOi8vbm8tc3RyaXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXhlZC1jb21waWxhdGlvbi13aXRoLWN1cnJlbnQtbWVzYS12ZXJzaW9ucy5wYXRjaCIKIAogU1JDX1VSSVttZDVzdW1dID0gImIyYWIxMjMzMTAzM2RkZmFhNTBkYzM5MzQ1MzQzOTgwIgogU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA0ZGU5MWU3ZTY3NjMwMzliYzExOTQwMDk1Y2Q5YzdmODgwYmFiYTgyMTk2YTc3NjVmNzI3YWMwNWE5OTNjOTUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9oYXJmYnV6ei9oYXJmYnV6el8xLjguOC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2hhcmZidXp6L2hhcmZidXp6XzEuOC44LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOTA0ZDkzLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2hhcmZidXp6L2hhcmZidXp6XzEuOC44LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotU1VNTUFSWSA9ICJUZXh0IHNoYXBpbmcgbGlicmFyeSIKLURFU0NSSVBUSU9OID0gIkhhcmZCdXp6IGlzIGFuIE9wZW5UeXBlIHRleHQgc2hhcGluZyBlbmdpbmUuIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvd2lraS9Tb2Z0d2FyZS9IYXJmQnV6eiIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9SGFyZkJ1enoiCi1TRUNUSU9OID0gImxpYnMiCi1MSUNFTlNFID0gIk1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWUwMjFkZDZkZGE2ZmYxZTZiMTA0NDAwMmZjNjYyYjliIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9oYi11Y2RuL0NPUFlJTkc7bWQ1PTk5NGJhMGYxMjk1ZjE1YjRiZGE0OTk5YTViYmVkZGVmIFwKLSIKLQotREVQRU5EUyA9ICJnbGliLTIuMCBjYWlybyBmb250Y29uZmlnIGZyZWV0eXBlIgotCi1TUkNfVVJJID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3NvZnR3YXJlL2hhcmZidXp6L3JlbGVhc2UvJHtCUH0udGFyLmJ6MiIKLVNSQ19VUklbbWQ1c3VtXSA9ICI4MWRiY2U4MmQ2NDcxZWMyYjJhNjI3Y2UwMmQwM2U1ZCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJhOGU1Yzg2ZTRkOTllMWNjOTg2NWVjMWI4ZTliMDViOThlNDEzYzJhODg1Y2QxMWY4ZTliYjk1MDJkZDNlM2E5IgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgbGliX3BhY2thZ2UgZ3RrLWRvYwotCi1QQUNLQUdFQ09ORklHID8/PSAiaWN1IgotUEFDS0FHRUNPTkZJR1tpY3VdID0gIi0td2l0aC1pY3UsLS13aXRob3V0LWljdSxpY3UiCi0KLUVYVFJBX09FQ09ORiA9ICIgXAotICAgIC0td2l0aC1jYWlybyBcCi0gICAgLS13aXRoLWZvbnRjb25maWcgXAotICAgIC0td2l0aC1mcmVldHlwZSBcCi0gICAgLS13aXRoLWdsaWIgXAotICAgIC0td2l0aG91dC1ncmFwaGl0ZTIgXAotIgotCi1kb19jb25maWd1cmVfcHJlcGVuZCgpIHsKLSAgICAjIFRoaXMgaXMgYW5jaWVudCBhbmQgY2FuIGdldCB1c2VkIGluc3RlYWQgb2YgdGhlIHBhdGNoZWQgb25lIHdlIHNoaXAsCi0gICAgIyBzbyBkZWxldGUgaXQuIEluIDEuOC45IHRoaXMgc2hvdWxkIGJlIHJlbW92ZWQgdXBzdHJlYW0uCi0gICAgcm0gLWYgJHtTfS9tNC9wa2cubTQKLX0KLQotUEFDS0FHRVMgPSsgIiR7UE59LWljdSAke1BOfS1pY3UtZGV2IgotCi1MRUFEX1NPTkFNRSA9ICJsaWJoYXJmYnV6ei5zbyIKLQotRklMRVNfJHtQTn0taWN1ID0gIiR7bGliZGlyfS9saWJoYXJmYnV6ei1pY3Uuc28uKiIKLUZJTEVTXyR7UE59LWljdS1kZXYgPSAiJHtsaWJkaXJ9L2xpYmhhcmZidXp6LWljdS5sYSBcCi0gICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9saWJoYXJmYnV6ei1pY3Uuc28gXAotICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGtnY29uZmlnL2hhcmZidXp6LWljdS5wYyBcCi0iCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvaGFyZmJ1enovaGFyZmJ1enpfMi4zLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9oYXJmYnV6ei9oYXJmYnV6el8yLjMuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YjI5MmQ4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvaGFyZmJ1enovaGFyZmJ1enpfMi4zLjEuYmIKQEAgLTAsMCArMSw0MCBAQAorU1VNTUFSWSA9ICJUZXh0IHNoYXBpbmcgbGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIkhhcmZCdXp6IGlzIGFuIE9wZW5UeXBlIHRleHQgc2hhcGluZyBlbmdpbmUuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvd2lraS9Tb2Z0d2FyZS9IYXJmQnV6eiIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9SGFyZkJ1enoiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWUwMjFkZDZkZGE2ZmYxZTZiMTA0NDAwMmZjNjYyYjliIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9oYi11Y2RuL0NPUFlJTkc7bWQ1PTk5NGJhMGYxMjk1ZjE1YjRiZGE0OTk5YTViYmVkZGVmIFwKKyIKKworREVQRU5EUyA9ICJnbGliLTIuMCBjYWlybyBmb250Y29uZmlnIGZyZWV0eXBlIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3NvZnR3YXJlL2hhcmZidXp6L3JlbGVhc2UvJHtCUH0udGFyLmJ6MiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1MzFkZTlkZjdjOGE1NDA1ZGQ5YzZhODczZmNlZThjMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmMjA1Njk5ZDViOTEzNzQwMDhkNmY4ZTM2YzU5ZTQxOWFlMmQ5YTdiYjhjNWQ5ZjM0MDQxYjlhNWFiY2FlNDY4IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgbGliX3BhY2thZ2UgZ3RrLWRvYworCitQQUNLQUdFQ09ORklHID8/PSAiaWN1IgorUEFDS0FHRUNPTkZJR1tpY3VdID0gIi0td2l0aC1pY3UsLS13aXRob3V0LWljdSxpY3UiCisKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgIC0td2l0aC1jYWlybyBcCisgICAgLS13aXRoLWZvbnRjb25maWcgXAorICAgIC0td2l0aC1mcmVldHlwZSBcCisgICAgLS13aXRoLWdsaWIgXAorICAgIC0td2l0aG91dC1ncmFwaGl0ZTIgXAorIgorCitQQUNLQUdFUyA9KyAiJHtQTn0taWN1ICR7UE59LWljdS1kZXYiCisKK0xFQURfU09OQU1FID0gImxpYmhhcmZidXp6LnNvIgorCitGSUxFU18ke1BOfS1pY3UgPSAiJHtsaWJkaXJ9L2xpYmhhcmZidXp6LWljdS5zby4qIgorRklMRVNfJHtQTn0taWN1LWRldiA9ICIke2xpYmRpcn0vbGliaGFyZmJ1enotaWN1LmxhIFwKKyAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2xpYmhhcmZidXp6LWljdS5zbyBcCisgICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wa2djb25maWcvaGFyZmJ1enotaWN1LnBjIFwKKyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvanBlZy9maWxlcy8wMDAxLWxpYmpwZWctdHVyYm8tZml4LXBhY2thZ2VfcWEtZXJyb3IucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9qcGVnL2ZpbGVzLzAwMDEtbGlianBlZy10dXJiby1maXgtcGFja2FnZV9xYS1lcnJvci5wYXRjaAppbmRleCA0NGMyYzc2Li44MmZmZmUxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9qcGVnL2ZpbGVzLzAwMDEtbGlianBlZy10dXJiby1maXgtcGFja2FnZV9xYS1lcnJvci5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9qcGVnL2ZpbGVzLzAwMDEtbGlianBlZy10dXJiby1maXgtcGFja2FnZV9xYS1lcnJvci5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gMGEyNGYwM2E2NzQyNWE3YjU4YjNmZDQwZDk2NWMwYzk4MDFhZTdhMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNWNmODQ3YjViZWY4ZGMzZjlmODliZDA5ZGQ1YWY0ZTY2MDNmMzkzYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CiBEYXRlOiBNb24sIDI3IEF1ZyAyMDE4IDE2OjEwOjU1ICswODAwCiBTdWJqZWN0OiBbUEFUQ0hdIGxpYmpwZWctdHVyYm86IGZpeCBwYWNrYWdlX3FhIGVycm9yCkBAIC0xMCwyMyArMTAsMjMgQEAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZVtvZS1zcGVjaWZpY10KIAogU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+CiAtLS0KLSBDTWFrZUxpc3RzLnR4dCB8IDIgLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBkZWxldGlvbnMoLSkKKyBDTWFrZUxpc3RzLnR4dCB8IDQgLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAotaW5kZXggMTcxOTUyMi4uNjgyY2VmMSAxMDA2NDQKK2luZGV4IDJiYzM0NTguLmVhMzA0MWUgMTAwNjQ0CiAtLS0gYS9DTWFrZUxpc3RzLnR4dAogKysrIGIvQ01ha2VMaXN0cy50eHQKLUBAIC0xMDksOCArMTA5LDYgQEAgZW5kaWYoKQorQEAgLTE4OSwxMCArMTg5LDYgQEAgZW5kaWYoKQorIHJlcG9ydF9vcHRpb24oRU5BQkxFX1NIQVJFRCAiU2hhcmVkIGxpYnJhcmllcyIpCisgcmVwb3J0X29wdGlvbihFTkFCTEVfU1RBVElDICJTdGF0aWMgbGlicmFyaWVzIikKICAKLSBpbmNsdWRlKGNtYWtlc2NyaXB0cy9HTlVJbnN0YWxsRGlycy5jbWFrZSkKLSAKLS1zZXQoQ01BS0VfSU5TVEFMTF9SUEFUSCAke0NNQUtFX0lOU1RBTExfRlVMTF9MSUJESVJ9KQorLWlmKEVOQUJMRV9TSEFSRUQpCistICBzZXQoQ01BS0VfSU5TVEFMTF9SUEFUSCAke0NNQUtFX0lOU1RBTExfRlVMTF9MSUJESVJ9KQorLWVuZGlmKCkKIC0KLSBtYWNybyhyZXBvcnRfZGlyZWN0b3J5IHZhcikKLSAgIGlmKENNQUtFX0lOU1RBTExfJHt2YXJ9IFNUUkVRVUFMIENNQUtFX0lOU1RBTExfRlVMTF8ke3Zhcn0pCi0gICAgIG1lc3NhZ2UoU1RBVFVTICJDTUFLRV9JTlNUQUxMXyR7dmFyfSA9ICR7Q01BS0VfSU5TVEFMTF8ke3Zhcn19IikKLS0tIAotMi43LjQKLQorIGlmKFdJVEhfMTJCSVQpCisgICBzZXQoV0lUSF9BUklUSF9ERUMgMCkKKyAgIHNldChXSVRIX0FSSVRIX0VOQyAwKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvanBlZy9maWxlcy8wMDAxLWxpYmpwZWctdHVyYm8tZml4LXdyb25nbHktZGVmaW5lZC1kZWZpbmUtSEFWRV9TVERMSUIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9qcGVnL2ZpbGVzLzAwMDEtbGlianBlZy10dXJiby1maXgtd3JvbmdseS1kZWZpbmVkLWRlZmluZS1IQVZFX1NURExJQi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTY3NjdlYi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9qcGVnL2ZpbGVzLzAwMDEtbGlianBlZy10dXJiby1maXgtd3JvbmdseS1kZWZpbmVkLWRlZmluZS1IQVZFX1NURExJQi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDExOSArMCwwIEBACi1Gcm9tIGQzMDEwMTlkMGYyM2QxMmI5NjY2ZDNkODhiMDg1OTA2N2E0YWRlNzcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgotRGF0ZTogVGh1LCAzMCBBdWcgMjAxOCAxNTowODoyMyArMDgwMAotU3ViamVjdDogW1BBVENIXSBsaWJqcGVnLXR1cmJvOiBmaXggd3JvbmdseSBkZWZpbmVkIGRlZmluZSBIQVZFX1NURExJQl9ICi0KLXdoZW4gY2hhbmdlIGJ1aWxkIHN5c3RlbSBmcm9tIGF1dG90b29scyB0byBjbWFrZSwgYmVsb3cKLXBhcnQgaXMgcmVwbGFjZSB3cm9uZ2x5OgotCi0iI3VuZGVmIEhBVkVfU1RETElCX0giCi1zaG91bGQgYmUgY2hhbmdlIHRvICIjY21ha2VkZWZpbmUgSEFWRV9TVERMSUJfSCAxIgotbm90ICIjY21ha2VkZWZpbmUgSEFWRV9TVERMSUJfSCIKLQotb3RoZXJ3aXNlLCBldmVuIGlmIHN0ZGxpYi5oIGlzIGZvdW5kLCBvdXRwdXQgZmlsZQotb2YgY29uZmlndXJlX2ZpbGUoKSB3aWxsIGRlZmluZSBsaWtlOiAjZGVmaW5lIEhBVkVfU1RETElCX0gKLWJ1dCB3ZSBuZWVkIGl0IGFzICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxLCBzaW5jZSBmb3IKLWRpZmZlcmVudCBkZWZpbmF0aW9uIG9mIEhBVkVfU1RETElCX0ggd2lsbCBjYXVzZSBiZWxvdyBlcnJvcjoKLWVycm9yOiAiSEFWRV9TVERMSUJfSCIgcmVkZWZpbmVkIFstV2Vycm9yXQotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZFtodHRwczovL2dpdGh1Yi5jb20vbGlianBlZy10dXJiby9saWJqcGVnLXR1cmJvL3B1bGwvMjc1XQotCi1TaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgotLS0tCi0gamNvbmZpZy5oLmluICAgIHwgMjggKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQotIGpjb25maWdpbnQuaC5pbiB8ICA0ICsrLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvamNvbmZpZy5oLmluIGIvamNvbmZpZy5oLmluCi1pbmRleCAyODQyNzU0Li4xOGE2OWE0IDEwMDY0NAotLS0tIGEvamNvbmZpZy5oLmluCi0rKysgYi9qY29uZmlnLmguaW4KLUBAIC0xMCwxNiArMTAsMTYgQEAKLSAjZGVmaW5lIExJQkpQRUdfVFVSQk9fVkVSU0lPTl9OVU1CRVIgIEBMSUJKUEVHX1RVUkJPX1ZFUlNJT05fTlVNQkVSQAotIAotIC8qIFN1cHBvcnQgYXJpdGhtZXRpYyBlbmNvZGluZyAqLwotLSNjbWFrZWRlZmluZSBDX0FSSVRIX0NPRElOR19TVVBQT1JURUQKLSsjY21ha2VkZWZpbmUgQ19BUklUSF9DT0RJTkdfU1VQUE9SVEVEIDEKLSAKLSAvKiBTdXBwb3J0IGFyaXRobWV0aWMgZGVjb2RpbmcgKi8KLS0jY21ha2VkZWZpbmUgRF9BUklUSF9DT0RJTkdfU1VQUE9SVEVECi0rI2NtYWtlZGVmaW5lIERfQVJJVEhfQ09ESU5HX1NVUFBPUlRFRCAxCi0gCi0gLyogU3VwcG9ydCBpbi1tZW1vcnkgc291cmNlL2Rlc3RpbmF0aW9uIG1hbmFnZXJzICovCi0tI2NtYWtlZGVmaW5lIE1FTV9TUkNEU1RfU1VQUE9SVEVECi0rI2NtYWtlZGVmaW5lIE1FTV9TUkNEU1RfU1VQUE9SVEVEIDEKLSAKLSAvKiBVc2UgYWNjZWxlcmF0ZWQgU0lNRCByb3V0aW5lcy4gKi8KLS0jY21ha2VkZWZpbmUgV0lUSF9TSU1ECi0rI2NtYWtlZGVmaW5lIFdJVEhfU0lNRCAxCi0gCi0gLyoKLSAgKiBEZWZpbmUgQklUU19JTl9KU0FNUExFIGFzIGVpdGhlcgotQEAgLTMzLDM3ICszMywzNyBAQAotICNkZWZpbmUgQklUU19JTl9KU0FNUExFICBAQklUU19JTl9KU0FNUExFQCAgICAgIC8qIHVzZSA4IG9yIDEyICovCi0gCi0gLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxsb2NhbGUuaD4gaGVhZGVyIGZpbGUuICovCi0tI2NtYWtlZGVmaW5lIEhBVkVfTE9DQUxFX0gKLSsjY21ha2VkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCi0gCi0gLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzdGRkZWYuaD4gaGVhZGVyIGZpbGUuICovCi0tI2NtYWtlZGVmaW5lIEhBVkVfU1REREVGX0gKLSsjY21ha2VkZWZpbmUgSEFWRV9TVERERUZfSCAxCi0gCi0gLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzdGRsaWIuaD4gaGVhZGVyIGZpbGUuICovCi0tI2NtYWtlZGVmaW5lIEhBVkVfU1RETElCX0gKLSsjY21ha2VkZWZpbmUgSEFWRV9TVERMSUJfSCAxCi0gCi0gLyogRGVmaW5lIGlmIHlvdSBuZWVkIHRvIGluY2x1ZGUgPHN5cy90eXBlcy5oPiB0byBnZXQgc2l6ZV90LiAqLwotLSNjbWFrZWRlZmluZSBORUVEX1NZU19UWVBFU19ICi0rI2NtYWtlZGVmaW5lIE5FRURfU1lTX1RZUEVTX0ggMQotIAotIC8qIERlZmluZSBpZiB5b3UgaGF2ZSBCU0QtbGlrZSBiemVybyBhbmQgYmNvcHkgaW4gPHN0cmluZ3MuaD4gcmF0aGVyIHRoYW4KLSAgICBtZW1zZXQvbWVtY3B5IGluIDxzdHJpbmcuaD4uICovCi0tI2NtYWtlZGVmaW5lIE5FRURfQlNEX1NUUklOR1MKLSsjY21ha2VkZWZpbmUgTkVFRF9CU0RfU1RSSU5HUyAxCi0gCi0gLyogRGVmaW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBoYXMgdGhlIHR5cGUgYHVuc2lnbmVkIGNoYXInLiAqLwotLSNjbWFrZWRlZmluZSBIQVZFX1VOU0lHTkVEX0NIQVIKLSsjY21ha2VkZWZpbmUgSEFWRV9VTlNJR05FRF9DSEFSIDEKLSAKLSAvKiBEZWZpbmUgdG8gMSBpZiB0aGUgc3lzdGVtIGhhcyB0aGUgdHlwZSBgdW5zaWduZWQgc2hvcnQnLiAqLwotLSNjbWFrZWRlZmluZSBIQVZFX1VOU0lHTkVEX1NIT1JUCi0rI2NtYWtlZGVmaW5lIEhBVkVfVU5TSUdORURfU0hPUlQgMQotIAotIC8qIENvbXBpbGVyIGRvZXMgbm90IHN1cHBvcnQgcG9pbnRlcnMgdG8gdW5kZWZpbmVkIHN0cnVjdHVyZXMuICovCi0tI2NtYWtlZGVmaW5lIElOQ09NUExFVEVfVFlQRVNfQlJPS0VOCi0rI2NtYWtlZGVmaW5lIElOQ09NUExFVEVfVFlQRVNfQlJPS0VOIDEKLSAKLSAvKiBEZWZpbmUgaWYgeW91ciAoYnJva2VuKSBjb21waWxlciBzaGlmdHMgc2lnbmVkIHZhbHVlcyBhcyBpZiB0aGV5IHdlcmUKLSAgICB1bnNpZ25lZC4gKi8KLS0jY21ha2VkZWZpbmUgUklHSFRfU0hJRlRfSVNfVU5TSUdORUQKLSsjY21ha2VkZWZpbmUgUklHSFRfU0hJRlRfSVNfVU5TSUdORUQgMQotIAotIC8qIERlZmluZSB0byAxIGlmIHR5cGUgYGNoYXInIGlzIHVuc2lnbmVkIGFuZCB5b3UgYXJlIG5vdCB1c2luZyBnY2MuICAqLwotICNpZm5kZWYgX19DSEFSX1VOU0lHTkVEX18KLS0gICNjbWFrZWRlZmluZSBfX0NIQVJfVU5TSUdORURfXwotKyAgI2NtYWtlZGVmaW5lIF9fQ0hBUl9VTlNJR05FRF9fIDEKLSAjZW5kaWYKLSAKLSAvKiBEZWZpbmUgdG8gZW1wdHkgaWYgYGNvbnN0JyBkb2VzIG5vdCBjb25mb3JtIHRvIEFOU0kgQy4gKi8KLWRpZmYgLS1naXQgYS9qY29uZmlnaW50LmguaW4gYi9qY29uZmlnaW50LmguaW4KLWluZGV4IDU1ZGYwNTMuLjZjODk4YWMgMTAwNjQ0Ci0tLS0gYS9qY29uZmlnaW50LmguaW4KLSsrKyBiL2pjb25maWdpbnQuaC5pbgotQEAgLTE3LDEwICsxNywxMCBAQAotICNkZWZpbmUgU0laRU9GX1NJWkVfVCAgQFNJWkVfVEAKLSAKLSAvKiBEZWZpbmUgaWYgeW91ciBjb21waWxlciBoYXMgX19idWlsdGluX2N0emwoKSBhbmQgc2l6ZW9mKHVuc2lnbmVkIGxvbmcpID09IHNpemVvZihzaXplX3QpLiAqLwotLSNjbWFrZWRlZmluZSBIQVZFX0JVSUxUSU5fQ1RaTAotKyNjbWFrZWRlZmluZSBIQVZFX0JVSUxUSU5fQ1RaTCAxCi0gCi0gLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxpbnRyaW4uaD4gaGVhZGVyIGZpbGUuICovCi0tI2NtYWtlZGVmaW5lIEhBVkVfSU5UUklOX0gKLSsjY21ha2VkZWZpbmUgSEFWRV9JTlRSSU5fSCAxCi0gCi0gI2lmIGRlZmluZWQoX01TQ19WRVIpICYmIGRlZmluZWQoSEFWRV9JTlRSSU5fSCkKLSAjaWYgKFNJWkVPRl9TSVpFX1QgPT0gOCkKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvanBlZy9saWJqcGVnLXR1cmJvXzIuMC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvanBlZy9saWJqcGVnLXR1cmJvXzIuMC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyODJiZjk1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2pwZWcvbGlianBlZy10dXJib18yLjAuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLVNVTU1BUlkgPSAiSGFyZHdhcmUgYWNjZWxlcmF0ZWQgSlBFRyBjb21wcmVzc2lvbi9kZWNvbXByZXNzaW9uIGxpYnJhcnkiCi1ERVNDUklQVElPTiA9ICJsaWJqcGVnLXR1cmJvIGlzIGEgZGVyaXZhdGl2ZSBvZiBsaWJqcGVnIHRoYXQgdXNlcyBTSU1EIGluc3RydWN0aW9ucyAoTU1YLCBTU0UyLCBORU9OKSB0byBhY2NlbGVyYXRlIGJhc2VsaW5lIEpQRUcgY29tcHJlc3Npb24gYW5kIGRlY29tcHJlc3Npb24iCi1IT01FUEFHRSA9ICJodHRwOi8vbGlianBlZy10dXJiby5vcmcvIgotCi1MSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2NkanBlZy5oO2VuZGxpbmU9MTM7bWQ1PTgxODRiY2M3YzRhYzdiOWVkYzZhN2JjMDBmMjMxZDBiIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2pwZWdsaWIuaDtlbmRsaW5lPTE2O21kNT03ZWE5N2RjODNiMGY1OTA1MmVlODM3ZTYxZWYwZTA4ZiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kanBlZy5jO2VuZGxpbmU9MTE7bWQ1PWM1OWUxOTgxMWMwMDZjYjM4ZjgyZDY0NzcxMzRkMzE0IFwKLSIKLURFUEVORFNfYXBwZW5kX3g4Ni02NF9jbGFzcy10YXJnZXQgPSAiIG5hc20tbmF0aXZlIgotREVQRU5EU19hcHBlbmRfeDg2X2NsYXNzLXRhcmdldCAgICA9ICIgbmFzbS1uYXRpdmUiCi0KLVNSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9LyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtbGlianBlZy10dXJiby1maXgtcGFja2FnZV9xYS1lcnJvci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWxpYmpwZWctdHVyYm8tZml4LXdyb25nbHktZGVmaW5lZC1kZWZpbmUtSEFWRV9TVERMSUIucGF0Y2giCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJiMTJhM2ZjZjFkMDc4ZGIzODQxMGYyNzcxOGE5MWI4MyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI3Nzg4NzYxMDVkMGQzMTYyMDNjOTI4ZmQyYTAzNzRjOGMwMWY3NTVkMGEwMGIxMmExYzg5MzRhZWNjZmY4ODY4IgotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlianBlZy10dXJiby9maWxlcy8iCi1VUFNUUkVBTV9DSEVDS19SRUdFWCA9ICIvbGlianBlZy10dXJiby9maWxlcy8oP1A8cHZlcj4oXGQrW1wuXC1fXSopKykvIgotCi1QRT0gIjEiCi0KLSMgRHJvcC1pbiByZXBsYWNlbWVudCBmb3IganBlZwotUFJPVklERVMgPSAianBlZyIKLVJQUk9WSURFU18ke1BOfSArPSAianBlZyIKLVJSRVBMQUNFU18ke1BOfSArPSAianBlZyIKLVJDT05GTElDVFNfJHtQTn0gKz0gImpwZWciCi0KLWluaGVyaXQgY21ha2UgcGtnY29uZmlnCi0KLSMgQWRkIG5hc20tbmF0aXZlIGRlcGVuZGVuY3kgY29uc2lzdGVudGx5IGZvciBhbGwgYnVpbGQgYXJjaGVzIGlzIGhhcmQKLUVYVFJBX09FQ01BS0VfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgLURXSVRIX1NJTUQ9RmFsc2UiCi0KLSMgV29yayBhcm91bmQgbWlzc2luZyB4MzIgQUJJIHN1cHBvcnQKLUVYVFJBX09FQ01BS0VfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoIlRVTkVfRkVBVFVSRVMiLCAibXgzMiIsICItRFdJVEhfU0lNRD1GYWxzZSIsICIiLCBkKX0iCi0KLSMgV29yayBhcm91bmQgbWlzc2luZyBub24tZmxvYXRpbmcgcG9pbnQgQUJJIHN1cHBvcnQgaW4gTUlQUwotRVhUUkFfT0VDTUFLRV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygiTUlQU1BLR1NGWF9GUFUiLCAiLW5mIiwgIi1EV0lUSF9TSU1EPUZhbHNlIiwgIiIsIGQpfSIKLQotIyBQcm92aWRlIGEgd29ya2Fyb3VuZCBpZiBBbHRpdmVjIHVuaXQgaXMgbm90IHByZXNlbnQgaW4gUFBDCi1FWFRSQV9PRUNNQUtFX2FwcGVuZF9jbGFzcy10YXJnZXRfcG93ZXJwYyA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoIlRVTkVfRkVBVFVSRVMiLCAiYWx0aXZlYyIsICIiLCAiLURXSVRIX1NJTUQ9RmFsc2UiLCBkKX0iCi1FWFRSQV9PRUNNQUtFX2FwcGVuZF9jbGFzcy10YXJnZXRfcG93ZXJwYzY0ID0gIiAke0BiYi51dGlscy5jb250YWlucygiVFVORV9GRUFUVVJFUyIsICJhbHRpdmVjIiwgIiIsICItRFdJVEhfU0lNRD1GYWxzZSIsIGQpfSIKLQotREVCVUdfT1BUSU1JWkFUSU9OX2FwcGVuZF9hcm12NCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfQ0NBUkdTJywgJy1tdGh1bWInLCAnLWZvbWl0LWZyYW1lLXBvaW50ZXInLCAnJywgZCl9IgotREVCVUdfT1BUSU1JWkFUSU9OX2FwcGVuZF9hcm12NSA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfQ0NBUkdTJywgJy1tdGh1bWInLCAnLWZvbWl0LWZyYW1lLXBvaW50ZXInLCAnJywgZCl9IgotCi1QQUNLQUdFUyA9KyAianBlZy10b29scyBsaWJ0dXJib2pwZWciCi0KLURFU0NSSVBUSU9OX2pwZWctdG9vbHMgPSAiVGhlIGpwZWctdG9vbHMgcGFja2FnZSBpbmNsdWRlcyBjbGllbnQgcHJvZ3JhbXMgdG8gYWNjZXNzIGxpYmpwZWcgZnVuY3Rpb25hbGl0eS4gIFRoZXNlIHRvb2xzIGFsbG93IGZvciB0aGUgY29tcHJlc3Npb24sIGRlY29tcHJlc3Npb24sIHRyYW5zZm9ybWF0aW9uIGFuZCBkaXNwbGF5IG9mIEpQRUcgZmlsZXMgYW5kIGJlbmNobWFya2luZyBvZiB0aGUgbGlianBlZyBsaWJyYXJ5LiIKLUZJTEVTX2pwZWctdG9vbHMgPSAiJHtiaW5kaXJ9LyoiCi0KLURFU0NSSVBUSU9OX2xpYnR1cmJvanBlZyA9ICJBIFNJTUQtYWNjZWxlcmF0ZWQgSlBFRyBjb2RlYyB3aGljaCBwcm92aWRlcyBvbmx5IFR1cmJvSlBFRyBBUElzIgotRklMRVNfbGlidHVyYm9qcGVnID0gIiR7bGliZGlyfS9saWJ0dXJib2pwZWcuc28uKiIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9qcGVnL2xpYmpwZWctdHVyYm9fMi4wLjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9qcGVnL2xpYmpwZWctdHVyYm9fMi4wLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTFkZjc1NAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2pwZWcvbGlianBlZy10dXJib18yLjAuMi5iYgpAQCAtMCwwICsxLDU3IEBACitTVU1NQVJZID0gIkhhcmR3YXJlIGFjY2VsZXJhdGVkIEpQRUcgY29tcHJlc3Npb24vZGVjb21wcmVzc2lvbiBsaWJyYXJ5IgorREVTQ1JJUFRJT04gPSAibGlianBlZy10dXJibyBpcyBhIGRlcml2YXRpdmUgb2YgbGlianBlZyB0aGF0IHVzZXMgU0lNRCBpbnN0cnVjdGlvbnMgKE1NWCwgU1NFMiwgTkVPTikgdG8gYWNjZWxlcmF0ZSBiYXNlbGluZSBKUEVHIGNvbXByZXNzaW9uIGFuZCBkZWNvbXByZXNzaW9uIgorSE9NRVBBR0UgPSAiaHR0cDovL2xpYmpwZWctdHVyYm8ub3JnLyIKKworTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9jZGpwZWcuaDtlbmRsaW5lPTEzO21kNT04MTg0YmNjN2M0YWM3YjllZGM2YTdiYzAwZjIzMWQwYiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9qcGVnbGliLmg7ZW5kbGluZT0xNjttZDU9N2VhOTdkYzgzYjBmNTkwNTJlZTgzN2U2MWVmMGUwOGYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZGpwZWcuYztlbmRsaW5lPTExO21kNT1jNTllMTk4MTFjMDA2Y2IzOGY4MmQ2NDc3MTM0ZDMxNCBcCisiCitERVBFTkRTX2FwcGVuZF94ODYtNjRfY2xhc3MtdGFyZ2V0ID0gIiBuYXNtLW5hdGl2ZSIKK0RFUEVORFNfYXBwZW5kX3g4Nl9jbGFzcy10YXJnZXQgICAgPSAiIG5hc20tbmF0aXZlIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWxpYmpwZWctdHVyYm8tZml4LXBhY2thZ2VfcWEtZXJyb3IucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3OWY3NmZiZmIwYzYxMDk2MzEzMzI3NjJkMTBlMTZkMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhY2I4NTk5ZmU1Mzk5YWYxMTQyODdlZTU5MDdhZWE0NDU2ZjhmMmMxY2M5NmQyNmMyOGFlYmZkZjVlZTgyZmVkIgorVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlianBlZy10dXJiby9maWxlcy8iCitVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICIvbGlianBlZy10dXJiby9maWxlcy8oP1A8cHZlcj4oXGQrW1wuXC1fXSopKykvIgorCitQRT0gIjEiCisKKyMgRHJvcC1pbiByZXBsYWNlbWVudCBmb3IganBlZworUFJPVklERVMgPSAianBlZyIKK1JQUk9WSURFU18ke1BOfSArPSAianBlZyIKK1JSRVBMQUNFU18ke1BOfSArPSAianBlZyIKK1JDT05GTElDVFNfJHtQTn0gKz0gImpwZWciCisKK2luaGVyaXQgY21ha2UgcGtnY29uZmlnCisKKyMgQWRkIG5hc20tbmF0aXZlIGRlcGVuZGVuY3kgY29uc2lzdGVudGx5IGZvciBhbGwgYnVpbGQgYXJjaGVzIGlzIGhhcmQKK0VYVFJBX09FQ01BS0VfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgLURXSVRIX1NJTUQ9RmFsc2UiCitFWFRSQV9PRUNNQUtFX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiIC1EV0lUSF9TSU1EPUZhbHNlIgorCisjIFdvcmsgYXJvdW5kIG1pc3NpbmcgeDMyIEFCSSBzdXBwb3J0CitFWFRSQV9PRUNNQUtFX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUVU5FX0ZFQVRVUkVTIiwgIm14MzIiLCAiLURXSVRIX1NJTUQ9RmFsc2UiLCAiIiwgZCl9IgorCisjIFdvcmsgYXJvdW5kIG1pc3Npbmcgbm9uLWZsb2F0aW5nIHBvaW50IEFCSSBzdXBwb3J0IGluIE1JUFMKK0VYVFJBX09FQ01BS0VfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoIk1JUFNQS0dTRlhfRlBVIiwgIi1uZiIsICItRFdJVEhfU0lNRD1GYWxzZSIsICIiLCBkKX0iCisKKyMgUHJvdmlkZSBhIHdvcmthcm91bmQgaWYgQWx0aXZlYyB1bml0IGlzIG5vdCBwcmVzZW50IGluIFBQQworRVhUUkFfT0VDTUFLRV9hcHBlbmRfY2xhc3MtdGFyZ2V0X3Bvd2VycGMgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUVU5FX0ZFQVRVUkVTIiwgImFsdGl2ZWMiLCAiIiwgIi1EV0lUSF9TSU1EPUZhbHNlIiwgZCl9IgorRVhUUkFfT0VDTUFLRV9hcHBlbmRfY2xhc3MtdGFyZ2V0X3Bvd2VycGM2NCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoIlRVTkVfRkVBVFVSRVMiLCAiYWx0aXZlYyIsICIiLCAiLURXSVRIX1NJTUQ9RmFsc2UiLCBkKX0iCisKK0RFQlVHX09QVElNSVpBVElPTl9hcHBlbmRfYXJtdjQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0NDQVJHUycsICctbXRodW1iJywgJy1mb21pdC1mcmFtZS1wb2ludGVyJywgJycsIGQpfSIKK0RFQlVHX09QVElNSVpBVElPTl9hcHBlbmRfYXJtdjUgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0NDQVJHUycsICctbXRodW1iJywgJy1mb21pdC1mcmFtZS1wb2ludGVyJywgJycsIGQpfSIKKworUEFDS0FHRVMgPSsgImpwZWctdG9vbHMgbGlidHVyYm9qcGVnIgorCitERVNDUklQVElPTl9qcGVnLXRvb2xzID0gIlRoZSBqcGVnLXRvb2xzIHBhY2thZ2UgaW5jbHVkZXMgY2xpZW50IHByb2dyYW1zIHRvIGFjY2VzcyBsaWJqcGVnIGZ1bmN0aW9uYWxpdHkuICBUaGVzZSB0b29scyBhbGxvdyBmb3IgdGhlIGNvbXByZXNzaW9uLCBkZWNvbXByZXNzaW9uLCB0cmFuc2Zvcm1hdGlvbiBhbmQgZGlzcGxheSBvZiBKUEVHIGZpbGVzIGFuZCBiZW5jaG1hcmtpbmcgb2YgdGhlIGxpYmpwZWcgbGlicmFyeS4iCitGSUxFU19qcGVnLXRvb2xzID0gIiR7YmluZGlyfS8qIgorCitERVNDUklQVElPTl9saWJ0dXJib2pwZWcgPSAiQSBTSU1ELWFjY2VsZXJhdGVkIEpQRUcgY29kZWMgd2hpY2ggcHJvdmlkZXMgb25seSBUdXJib0pQRUcgQVBJcyIKK0ZJTEVTX2xpYnR1cmJvanBlZyA9ICIke2xpYmRpcn0vbGlidHVyYm9qcGVnLnNvLioiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2ttc2N1YmUva21zY3ViZV9naXQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9rbXNjdWJlL2ttc2N1YmVfZ2l0LmJiCmluZGV4IDQ2YWVlYjAuLmIyZGQ2YjMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2ttc2N1YmUva21zY3ViZV9naXQuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mva21zY3ViZS9rbXNjdWJlX2dpdC5iYgpAQCAtMiwxNyArMiwyMCBAQAogSE9NRVBBR0UgPSAiaHR0cHM6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy9tZXNhL2ttc2N1YmUvIgogTElDRU5TRSA9ICJNSVQiCiBTRUNUSU9OID0gImdyYXBoaWNzIgotREVQRU5EUyA9ICJ2aXJ0dWFsL2xpYmdsZXMyIHZpcnR1YWwvZWdsIGxpYmRybSBnc3RyZWFtZXIxLjAgZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZSIKK0RFUEVORFMgPSAidmlydHVhbC9saWJnbGVzMiB2aXJ0dWFsL2VnbCBsaWJkcm0iCiAKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2ttc2N1YmUuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTIzO21kNT04YjMwOWQ0ZWU2N2I3MzE1ZmY3MzgxMjcwZGQ2MzFmYiIKIAotU1JDUkVWID0gIjlkY2NlNzFlNjAzNjE2ZWU3YTU0NzA3ZTkzMmY5NjJjZGY4ZmIyMGEiCitTUkNSRVYgPSAiZDhkYTNkY2ZkZmUzM2VlNTI1Y2Y1NjJlOTI4YTUyNjZhYzY5ODQzYyIKIFNSQ19VUkkgPSAiZ2l0Oi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvbWVzYS9rbXNjdWJlO2JyYW5jaD1tYXN0ZXI7cHJvdG9jb2w9Z2l0IFwKICAgICBmaWxlOi8vZGV0ZWN0LWdzdF9ib19tYXAtX3VubWFwLWFuZC11c2UtaXQtb3ItYXZvaWQtaXQucGF0Y2giCiBVUFNUUkVBTV9DSEVDS19DT01NSVRTID0gIjEiCiAKIFMgPSAiJHtXT1JLRElSfS9naXQiCiAKLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKK2luaGVyaXQgbWVzb24gcGtnY29uZmlnIGRpc3Ryb19mZWF0dXJlc19jaGVjawogCiBSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAib3BlbmdsIgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tnc3RyZWFtZXJdID0gIi1EZ3N0cmVhbWVyPWVuYWJsZWQsLURnc3RyZWFtZXI9ZGlzYWJsZWQsZ3N0cmVhbWVyMS4wIGdzdHJlYW1lcjEuMC1wbHVnaW5zLWJhc2UiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJlcG94eS9saWJlcG94eV8xLjUuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYmVwb3h5L2xpYmVwb3h5XzEuNS4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMDY3MjEyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYmVwb3h5L2xpYmVwb3h5XzEuNS4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotU1VNTUFSWSA9ICJPcGVuR0wgZnVuY3Rpb24gcG9pbnRlciBtYW5hZ2VtZW50IGxpYnJhcnkiCi1IT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vYW5ob2x0L2xpYmVwb3h5LyIKLVNFQ1RJT04gPSAibGlicyIKLQotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01OGVmNGM4MGQ0MDFlMDdiZDllZThiNmI1OGNmNDY0YiIKLQotU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vYW5ob2x0LyR7QlBOfS9yZWxlYXNlcy9kb3dubG9hZC8ke1BWfS8ke0JQfS50YXIueHogXAotICAgICAgICAgICAiCi1TUkNfVVJJW21kNXN1bV0gPSAiNGE2YjllNTgxZGEyMjlkZWU3NGMyMjYzYzg0YjFlY2EiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTk1NjIzODY1MTllYjNmZDdmMDMyMDlmMjc5ZjY5N2E4Y2JhNTIwZDNjMTU1ZDZlMjUzYzNlMTM4YmVjYTdkOCIKLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vYW5ob2x0L2xpYmVwb3h5L3JlbGVhc2VzIgotCi1pbmhlcml0IG1lc29uIHBrZ2NvbmZpZyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIm9wZW5nbCIKLQotUEFDS0FHRUNPTkZJR1tlZ2xdID0gIi1EZWdsPXllcywgLURlZ2w9bm8sIHZpcnR1YWwvZWdsIgotUEFDS0FHRUNPTkZJR1t4MTFdID0gIi1EZ2x4PXllcywgLURnbHg9bm8sIHZpcnR1YWwvbGlieDExIHZpcnR1YWwvbGliZ2wiCi1QQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgZCl9IGVnbCIKLQotRVhUUkFfT0VNRVNPTiArPSAiLUR0ZXN0cz1mYWxzZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYmVwb3h5L2xpYmVwb3h5XzEuNS4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGliZXBveHkvbGliZXBveHlfMS41LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGQ3MDZhOQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYmVwb3h5L2xpYmVwb3h5XzEuNS4zLmJiCkBAIC0wLDAgKzEsMzggQEAKK1NVTU1BUlkgPSAiT3BlbkdMIGZ1bmN0aW9uIHBvaW50ZXIgbWFuYWdlbWVudCBsaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2FuaG9sdC9saWJlcG94eS8iCitTRUNUSU9OID0gImxpYnMiCisKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NThlZjRjODBkNDAxZTA3YmQ5ZWU4YjZiNThjZjQ2NGIiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2FuaG9sdC8ke0JQTn0vcmVsZWFzZXMvZG93bmxvYWQvJHtQVn0vJHtCUH0udGFyLnh6IFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImUyODQ1ZGU4ZDI3ODJiMmQzMWMwMWFlOGQ3Y2Q0Y2JiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjAwMjk1OGM1NTI4MzIxZWRkNTM0NDAyMzVkM2M0NGU3MWI1YjFlMDliOTE3N2U4ZGFmNjc3NDUwYjZjNDQzM2QiCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2FuaG9sdC9saWJlcG94eS9yZWxlYXNlcyIKKworaW5oZXJpdCBtZXNvbiBwa2djb25maWcgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJvcGVuZ2wiCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVNfY2xhc3MtbmF0aXZlID0gIiIKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFU19jbGFzcy1uYXRpdmVzZGsgPSAiIgorCitQQUNLQUdFQ09ORklHW2VnbF0gPSAiLURlZ2w9eWVzLCAtRGVnbD1ubywgdmlydHVhbC9lZ2wiCitQQUNLQUdFQ09ORklHW3gxMV0gPSAiLURnbHg9eWVzLCAtRGdseD1ubywgdmlydHVhbC9saWJ4MTEgdmlydHVhbC9saWJnbCIKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCBkKX0gZWdsIgorCitFWFRSQV9PRU1FU09OICs9ICItRHRlc3RzPWZhbHNlIgorCitQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZSA9ICJlZ2wiCitQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZXNkayA9ICJlZ2wiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworIyBUaGlzIHdpbGwgZW5zdXJlIHRoYXQgZGxvcGVuIHdpbGwgYXR0ZW1wdCBvbmx5IEdMIGxpYnJhcmllcyBwcm92aWRlZCBieSBob3N0Citkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7CisJY2hycGF0aCAtLWRlbGV0ZSAke0R9JHtsaWJkaXJ9Lyouc28KK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrKCkgeworCWNocnBhdGggLS1kZWxldGUgJHtEfSR7bGliZGlyfS8qLnNvCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJzZGwyL2xpYnNkbDIvMDAwMS1HTEVTMi1HZXQtc2luLWNvcy1vdXQtb2YtdmVydGV4LXNoYWRlci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnNkbDIvbGlic2RsMi8wMDAxLUdMRVMyLUdldC1zaW4tY29zLW91dC1vZi12ZXJ0ZXgtc2hhZGVyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YjMyYjM3Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnNkbDIvbGlic2RsMi8wMDAxLUdMRVMyLUdldC1zaW4tY29zLW91dC1vZi12ZXJ0ZXgtc2hhZGVyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTQxICswLDAgQEAKLUZyb20gYzIxNWJhMWQ1MmEzZDRlZjAzYWYzYWIxYTViYWExODYzZjgxMmFlZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI0IEF1ZyAyMDE4IDIzOjEwOjI1ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIEdMRVMyOiBHZXQgc2luL2NvcyBvdXQgb2YgdmVydGV4IHNoYWRlcgotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1UaGUgb25seSBwbGFjZSBhbmdsZSBpcyBhY3RpdmF0ZWQgYW5kIGNhdXNlcyBlZmZlY3QgaXMgUmVuZGVyQ29weUV4LiBBbGwgb3RoZXIKLW1ldGhvZHMgd2hpY2ggdXNlIHZlcnRleCBzaGFkZXIsIGxlYXZlIGFuZ2xlIGRpc2FibGVkIGFuZCBjYXVzZSB1c2VsZXNzIHNpbi9jb3MKLWNhbGN1bGF0aW9uIGluIHNoYWRlci4KLQotVG8gZ2V0IGFyb3VuZCBzaGFkZXIncyBpbnRlcmZhY2UgaXMgY2hhbmdlZCB0byBhIHZlY3RvciB0aGF0IGNvbnRhaW5zIHJlc3VsdHMKLW9mIHNpbiBhbmQgY29zLiBUbyBiZWhhdmUgcHJvcGVybHkgd2hlbiBkaXNhYmxlZCwgY29zIHZhbHVlIGlzIHNldCB3aXRoIG9mZnNldAotLTEuMCBtYWtpbmcgMC4wIGRlZmF1bHQgd2hlbiBkZWFjdGl2YXRlZC4KLQotQXMgbmljZSBzaWRlIGVmZmVjdCBpdCBzaW1wbGlmaWVzIEdMRVMyX1VwZGF0ZVZlcnRleEJ1ZmZlcjogQWxsIGF0dHJpYnV0ZXMgYXJlCi12ZWN0b3JzIG5vdy4KLQotQWRkaXRpb25hbCBiYWNrZ3JvdW5kOgotCi0qIE9uIFJhc3BiZXJyeVBpIGl0IGdpdmVzIGEgcGVyZm9ybWFjZSB3aW4gZm9yIG9wZXJhdGlvbnMuIFRlc3RlZCB3aXRoCi0gIFsxXSBudW1iZXJzIGdvIGRvd24gZm9yIDUtMTAlIChub3QgZWFzeSB0byBlc3RpbWF0ZSBkdWUgdG8gaHVnZSB2YXJpYXRpb24pLgotKiBTRExfUmVuZGVyQ29weUV4IHdhcyB0ZXN0ZWQgd2l0aCBbMl0KLSogSXQgd29ya3MgYXJvdW5kIGxlZnQgcm90YXRlZCBkaXNwbGF5IGNhdXNlZCBieSBsb3cgYWNjdXJhY3kgc2luIGltcGxlbWV0YXRpb24KLSAgaW4gUmFzcGJlcnJ5UGkvVkM0IFszXQotCi1VcHN0cmVhbS1TdGF0dXM6IEFjY2VwdGVkIFs0XQotCi1bMV0gaHR0cHM6Ly9naXRodWIuY29tL3NjaG5pdHplbHRvbnkvc2RsMmJveAotWzJdIGh0dHBzOi8vZ2l0aHViLmNvbS9zY2huaXR6ZWx0b255L3NkbDJyZW5kZXJjb3B5ZXgKLVszXSBodHRwczovL2dpdGh1Yi5jb20vYW5ob2x0L21lc2EvaXNzdWVzLzExMAotWzRdIGh0dHBzOi8vaGcubGlic2RsLm9yZy9TREwvcmV2L2U1YTY2NjQwNTc1MAotCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotLS0tCi0gc3JjL3JlbmRlci9vcGVuZ2xlczIvU0RMX3JlbmRlcl9nbGVzMi5jICB8IDE3ICsrKysrKysrKysrKy0tLS0tCi0gc3JjL3JlbmRlci9vcGVuZ2xlczIvU0RMX3NoYWRlcnNfZ2xlczIuYyB8IDE0ICsrKysrKysrKy0tLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9yZW5kZXIvb3BlbmdsZXMyL1NETF9yZW5kZXJfZ2xlczIuYyBiL3NyYy9yZW5kZXIvb3BlbmdsZXMyL1NETF9yZW5kZXJfZ2xlczIuYwotaW5kZXggMTQ2NzFmN2M4Li43YzU0YTczMzMgMTAwNjQ0Ci0tLS0gYS9zcmMvcmVuZGVyL29wZW5nbGVzMi9TRExfcmVuZGVyX2dsZXMyLmMKLSsrKyBiL3NyYy9yZW5kZXIvb3BlbmdsZXMyL1NETF9yZW5kZXJfZ2xlczIuYwotQEAgLTE1MzAsNyArMTUzMCw3IEBAIEdMRVMyX1VwZGF0ZVZlcnRleEJ1ZmZlcihTRExfUmVuZGVyZXIgKnJlbmRlcmVyLCBHTEVTMl9BdHRyaWJ1dGUgYXR0ciwKLSAgICAgR0xFUzJfRHJpdmVyQ29udGV4dCAqZGF0YSA9IChHTEVTMl9Ecml2ZXJDb250ZXh0ICopcmVuZGVyZXItPmRyaXZlcmRhdGE7Ci0gCi0gI2lmICFTRExfR0xFUzJfVVNFX1ZCT1MKLS0gICAgZGF0YS0+Z2xWZXJ0ZXhBdHRyaWJQb2ludGVyKGF0dHIsIGF0dHIgPT0gR0xFUzJfQVRUUklCVVRFX0FOR0xFID8gMSA6IDIsIEdMX0ZMT0FULCBHTF9GQUxTRSwgMCwgdmVydGV4RGF0YSk7Ci0rICAgIGRhdGEtPmdsVmVydGV4QXR0cmliUG9pbnRlcihhdHRyLCAyLCBHTF9GTE9BVCwgR0xfRkFMU0UsIDAsIHZlcnRleERhdGEpOwotICNlbHNlCi0gICAgIGlmICghZGF0YS0+dmVydGV4X2J1ZmZlcnNbYXR0cl0pIHsKLSAgICAgICAgIGRhdGEtPmdsR2VuQnVmZmVycygxLCAmZGF0YS0+dmVydGV4X2J1ZmZlcnNbYXR0cl0pOwotQEAgLTE1NDUsNyArMTU0NSw3IEBAIEdMRVMyX1VwZGF0ZVZlcnRleEJ1ZmZlcihTRExfUmVuZGVyZXIgKnJlbmRlcmVyLCBHTEVTMl9BdHRyaWJ1dGUgYXR0ciwKLSAgICAgICAgIGRhdGEtPmdsQnVmZmVyU3ViRGF0YShHTF9BUlJBWV9CVUZGRVIsIDAsIGRhdGFTaXplSW5CeXRlcywgdmVydGV4RGF0YSk7Ci0gICAgIH0KLSAKLS0gICAgZGF0YS0+Z2xWZXJ0ZXhBdHRyaWJQb2ludGVyKGF0dHIsIGF0dHIgPT0gR0xFUzJfQVRUUklCVVRFX0FOR0xFID8gMSA6IDIsIEdMX0ZMT0FULCBHTF9GQUxTRSwgMCwgMCk7Ci0rICAgIGRhdGEtPmdsVmVydGV4QXR0cmliUG9pbnRlcihhdHRyLCAyLCBHTF9GTE9BVCwgR0xfRkFMU0UsIDAsIDApOwotICNlbmRpZgotIAotICAgICByZXR1cm4gMDsKLUBAIC0xODUzLDYgKzE4NTMsOCBAQCBHTEVTMl9SZW5kZXJDb3B5KFNETF9SZW5kZXJlciAqcmVuZGVyZXIsIFNETF9UZXh0dXJlICp0ZXh0dXJlLCBjb25zdCBTRExfUmVjdCAqcwotICAgICByZXR1cm4gR0xfQ2hlY2tFcnJvcigiIiwgcmVuZGVyZXIpOwotIH0KLSAKLSsjZGVmaW5lIFBJIDMuMTQxNTkyNjVmCi0rCi0gc3RhdGljIGludAotIEdMRVMyX1JlbmRlckNvcHlFeChTRExfUmVuZGVyZXIgKnJlbmRlcmVyLCBTRExfVGV4dHVyZSAqdGV4dHVyZSwgY29uc3QgU0RMX1JlY3QgKnNyY3JlY3QsCi0gICAgICAgICAgICAgICAgICBjb25zdCBTRExfRlJlY3QgKmRzdHJlY3QsIGNvbnN0IGRvdWJsZSBhbmdsZSwgY29uc3QgU0RMX0ZQb2ludCAqY2VudGVyLCBjb25zdCBTRExfUmVuZGVyZXJGbGlwIGZsaXApCi1AQCAtMTg2MSw4ICsxODYzLDkgQEAgR0xFUzJfUmVuZGVyQ29weUV4KFNETF9SZW5kZXJlciAqcmVuZGVyZXIsIFNETF9UZXh0dXJlICp0ZXh0dXJlLCBjb25zdCBTRExfUmVjdAotICAgICBHTGZsb2F0IHZlcnRpY2VzWzhdOwotICAgICBHTGZsb2F0IHRleENvb3Jkc1s4XTsKLSAgICAgR0xmbG9hdCB0cmFuc2xhdGVbOF07Ci0tICAgIEdMZmxvYXQgZkFuZ2xlWzRdOwotKyAgICBHTGZsb2F0IGZBbmdsZVs4XTsKLSAgICAgR0xmbG9hdCB0bXA7Ci0rICAgIGZsb2F0IHJhZGlhbl9hbmdsZTsKLSAKLSAgICAgR0xFUzJfQWN0aXZhdGVSZW5kZXJlcihyZW5kZXJlcik7Ci0gCi1AQCAtMTg3Miw3ICsxODc1LDExIEBAIEdMRVMyX1JlbmRlckNvcHlFeChTRExfUmVuZGVyZXIgKnJlbmRlcmVyLCBTRExfVGV4dHVyZSAqdGV4dHVyZSwgY29uc3QgU0RMX1JlY3QKLSAKLSAgICAgZGF0YS0+Z2xFbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShHTEVTMl9BVFRSSUJVVEVfQ0VOVEVSKTsKLSAgICAgZGF0YS0+Z2xFbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShHTEVTMl9BVFRSSUJVVEVfQU5HTEUpOwotLSAgICBmQW5nbGVbMF0gPSBmQW5nbGVbMV0gPSBmQW5nbGVbMl0gPSBmQW5nbGVbM10gPSAoR0xmbG9hdCkoMzYwLjBmIC0gYW5nbGUpOwotKwotKyAgICByYWRpYW5fYW5nbGUgPSBQSSAqICgzNjAuMGYgLSBhbmdsZSkgLyAxODAuZjsKLSsgICAgZkFuZ2xlWzBdID0gZkFuZ2xlWzJdID0gZkFuZ2xlWzRdID0gZkFuZ2xlWzZdID0gKEdMZmxvYXQpc2luKHJhZGlhbl9hbmdsZSk7Ci0rICAgIC8qIHJlbmRlciBleHBlY3RzIGNvcyB2YWx1ZSAtIDEgKHNlZSBHTEVTMl9WZXJ0ZXhTcmNfRGVmYXVsdF8pICovCi0rICAgIGZBbmdsZVsxXSA9IGZBbmdsZVszXSA9IGZBbmdsZVs1XSA9IGZBbmdsZVs3XSA9IChHTGZsb2F0KWNvcyhyYWRpYW5fYW5nbGUpIC0gMS4wZjsKLSAgICAgLyogQ2FsY3VsYXRlIHRoZSBjZW50ZXIgb2Ygcm90YXRpb24gKi8KLSAgICAgdHJhbnNsYXRlWzBdID0gdHJhbnNsYXRlWzJdID0gdHJhbnNsYXRlWzRdID0gdHJhbnNsYXRlWzZdID0gKGNlbnRlci0+eCArIGRzdHJlY3QtPngpOwotICAgICB0cmFuc2xhdGVbMV0gPSB0cmFuc2xhdGVbM10gPSB0cmFuc2xhdGVbNV0gPSB0cmFuc2xhdGVbN10gPSAoY2VudGVyLT55ICsgZHN0cmVjdC0+eSk7Ci1AQCAtMTkwMSw3ICsxOTA4LDcgQEAgR0xFUzJfUmVuZGVyQ29weUV4KFNETF9SZW5kZXJlciAqcmVuZGVyZXIsIFNETF9UZXh0dXJlICp0ZXh0dXJlLCBjb25zdCBTRExfUmVjdAotICAgICBkYXRhLT5nbFZlcnRleEF0dHJpYlBvaW50ZXIoR0xFUzJfQVRUUklCVVRFX0NFTlRFUiwgMiwgR0xfRkxPQVQsIEdMX0ZBTFNFLCAwLCB0cmFuc2xhdGUpOwotICAgICBkYXRhLT5nbFZlcnRleEF0dHJpYlBvaW50ZXIoR0xFUzJfQVRUUklCVVRFX1BPU0lUSU9OLCAyLCBHTF9GTE9BVCwgR0xfRkFMU0UsIDAsIHZlcnRpY2VzKTsqLwotIAotLSAgICBHTEVTMl9VcGRhdGVWZXJ0ZXhCdWZmZXIocmVuZGVyZXIsIEdMRVMyX0FUVFJJQlVURV9BTkdMRSwgZkFuZ2xlLCA0ICogc2l6ZW9mKEdMZmxvYXQpKTsKLSsgICAgR0xFUzJfVXBkYXRlVmVydGV4QnVmZmVyKHJlbmRlcmVyLCBHTEVTMl9BVFRSSUJVVEVfQU5HTEUsIGZBbmdsZSwgOCAqIHNpemVvZihHTGZsb2F0KSk7Ci0gICAgIEdMRVMyX1VwZGF0ZVZlcnRleEJ1ZmZlcihyZW5kZXJlciwgR0xFUzJfQVRUUklCVVRFX0NFTlRFUiwgdHJhbnNsYXRlLCA4ICogc2l6ZW9mKEdMZmxvYXQpKTsKLSAgICAgR0xFUzJfVXBkYXRlVmVydGV4QnVmZmVyKHJlbmRlcmVyLCBHTEVTMl9BVFRSSUJVVEVfUE9TSVRJT04sIHZlcnRpY2VzLCA4ICogc2l6ZW9mKEdMZmxvYXQpKTsKLSAKLWRpZmYgLS1naXQgYS9zcmMvcmVuZGVyL29wZW5nbGVzMi9TRExfc2hhZGVyc19nbGVzMi5jIGIvc3JjL3JlbmRlci9vcGVuZ2xlczIvU0RMX3NoYWRlcnNfZ2xlczIuYwotaW5kZXggYjBiY2RmZjI1Li5mNDI4YTQ5NDUgMTAwNjQ0Ci0tLS0gYS9zcmMvcmVuZGVyL29wZW5nbGVzMi9TRExfc2hhZGVyc19nbGVzMi5jCi0rKysgYi9zcmMvcmVuZGVyL29wZW5nbGVzMi9TRExfc2hhZGVyc19nbGVzMi5jCi1AQCAtMzAsMjAgKzMwLDI0IEBACi0gLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBWZXJ0ZXgvZnJhZ21lbnQgc2hhZGVyIHNvdXJjZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotLQotKy8qIE5vdGVzIG9uIGFfYW5nbGU6Ci0rICAgKiBJdCBpcyBhIHZlY3RvciBjb250YWluaW5nIHNpbiBhbmQgY29zIGZvciByb3RhdGlvbiBtYXRyaXgKLSsgICAqIFRvIGdldCBjb3JyZWN0IHJvdGF0aW9uIGZvciBtb3N0IGNhc2VzIHdoZW4gYV9hbmdsZSBpcyBkaXNhYmxlZCBjb3MKLSsgICAgIHZhbHVlIGlzIGRlY3JlbWVudGVkIGJ5IDEuMCB0byBnZXQgcHJvcGVyIG91dHB1dCB3aXRoIDAuMCB3aGljaCBpcwotKyAgICAgZGVmYXVsdCB2YWx1ZQotKyovCi0gc3RhdGljIGNvbnN0IFVpbnQ4IEdMRVMyX1ZlcnRleFNyY19EZWZhdWx0X1tdID0gIiBcCi0gICAgIHVuaWZvcm0gbWF0NCB1X3Byb2plY3Rpb247IFwKLSAgICAgYXR0cmlidXRlIHZlYzIgYV9wb3NpdGlvbjsgXAotICAgICBhdHRyaWJ1dGUgdmVjMiBhX3RleENvb3JkOyBcCi0tICAgIGF0dHJpYnV0ZSBmbG9hdCBhX2FuZ2xlOyBcCi0rICAgIGF0dHJpYnV0ZSB2ZWMyIGFfYW5nbGU7IFwKLSAgICAgYXR0cmlidXRlIHZlYzIgYV9jZW50ZXI7IFwKLSAgICAgdmFyeWluZyB2ZWMyIHZfdGV4Q29vcmQ7IFwKLSAgICAgXAotICAgICB2b2lkIG1haW4oKSBcCi0gICAgIHsgXAotLSAgICAgICAgZmxvYXQgYW5nbGUgPSByYWRpYW5zKGFfYW5nbGUpOyBcCi0tICAgICAgICBmbG9hdCBjID0gY29zKGFuZ2xlKTsgXAotLSAgICAgICAgZmxvYXQgcyA9IHNpbihhbmdsZSk7IFwKLSsgICAgICAgIGZsb2F0IHMgPSBhX2FuZ2xlWzBdOyBcCi0rICAgICAgICBmbG9hdCBjID0gYV9hbmdsZVsxXSArIDEuMDsgXAotICAgICAgICAgbWF0MiByb3RhdGlvbk1hdHJpeCA9IG1hdDIoYywgLXMsIHMsIGMpOyBcCi0gICAgICAgICB2ZWMyIHBvc2l0aW9uID0gcm90YXRpb25NYXRyaXggKiAoYV9wb3NpdGlvbiAtIGFfY2VudGVyKSArIGFfY2VudGVyOyBcCi0gICAgICAgICB2X3RleENvb3JkID0gYV90ZXhDb29yZDsgXAotLS0gCi0yLjE0LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlic2RsMi9saWJzZGwyXzIuMC44LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlic2RsMi9saWJzZGwyXzIuMC44LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MTJhOWFiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnNkbDIvbGlic2RsMl8yLjAuOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDY5ICswLDAgQEAKLVNVTU1BUlkgPSAiU2ltcGxlIERpcmVjdE1lZGlhIExheWVyIgotREVTQ1JJUFRJT04gPSAiU2ltcGxlIERpcmVjdE1lZGlhIExheWVyIGlzIGEgY3Jvc3MtcGxhdGZvcm0gbXVsdGltZWRpYSBcCi1saWJyYXJ5IGRlc2lnbmVkIHRvIHByb3ZpZGUgbG93IGxldmVsIGFjY2VzcyB0byBhdWRpbywga2V5Ym9hcmQsIG1vdXNlLCBcCi1qb3lzdGljaywgM0QgaGFyZHdhcmUgdmlhIE9wZW5HTCwgYW5kIDJEIHZpZGVvIGZyYW1lYnVmZmVyLiIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cubGlic2RsLm9yZyIKLUJVR1RSQUNLRVIgPSAiaHR0cDovL2J1Z3ppbGxhLmxpYnNkbC5vcmcvIgotCi1TRUNUSU9OID0gImxpYnMiCi0KLUxJQ0VOU0UgPSAiWmxpYiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcudHh0O21kNT0wMmVlMjY4MTRkZDA0NGJkNzgzOGFlMjRlMDViODgwZiIKLQotUFJPVklERVMgPSAidmlydHVhbC9saWJzZGwyIgotCi1TUkNfVVJJID0gImh0dHA6Ly93d3cubGlic2RsLm9yZy9yZWxlYXNlL1NETDItJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL21vcmUtZ2VuLWRlcGVuZHMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1HTEVTMi1HZXQtc2luLWNvcy1vdXQtb2YtdmVydGV4LXNoYWRlci5wYXRjaCBcCi0iCi0KLVMgPSAiJHtXT1JLRElSfS9TREwyLSR7UFZ9IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMzgwMGQ3MDVjZWY3NDJjNmE2MzRmMjAyYzM3ZjI2M2YiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZWRjNzdjNTczMDg2NjFkNTc2ZTg0MzM0NGQ4NjM4ZTAyNWE3ODE4YmZmNzNmOGZiZmFiMDljM2M1ZmQwOTJlYyIKLQotaW5oZXJpdCBhdXRvdG9vbHMgbGliX3BhY2thZ2UgYmluY29uZmlnIHBrZ2NvbmZpZwotCi1FWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLW9zcyAtLWRpc2FibGUtZXNkIC0tZGlzYWJsZS1hcnRzIFwKLSAgICAgICAgICAgICAgICAtLWRpc2FibGUtZGlza2F1ZGlvIC0tZGlzYWJsZS1uYXMgLS1kaXNhYmxlLWVzZC1zaGFyZWQgLS1kaXNhYmxlLWVzZHRlc3QgXAotICAgICAgICAgICAgICAgIC0tZGlzYWJsZS12aWRlby1kdW1teSBcCi0gICAgICAgICAgICAgICAgLS1lbmFibGUtcHRocmVhZHMgXAotICAgICAgICAgICAgICAgIC0tZW5hYmxlLXNkbC1kbG9wZW4gXAotICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1ycGF0aCBcCi0gICAgICAgICAgICAgICAgLS1kaXNhYmxlLXNuZGlvIFwKLSAgICAgICAgICAgICAgICAiCi0KLSMgb3BlbmdsIHBhY2thZ2Vjb25maWcgZmFjdG9yZWQgb3V0IHRvIG1ha2UgaXQgZWFzeSBmb3IgZGlzdHJvcwotIyBhbmQgQlNQIGxheWVycyB0byBwaWNrIGVpdGhlciAoZGVza3RvcCkgb3BlbmdsLCBnbGVzMiwgb3Igbm8gR0wKLVBBQ0tBR0VDT05GSUdfR0wgPz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ29wZW5nbCcsIGQpfSIKLQotUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmUgPSAieDExIgotUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmVzZGsgPSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgZCl9IgotUEFDS0FHRUNPTkZJRyA/Pz0gIiBcCi0gICAgJHtQQUNLQUdFQ09ORklHX0dMfSBcCi0gICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnYWxzYSBkaXJlY3RmYiBwdWxzZWF1ZGlvIHgxMScsIGQpfSBcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd3YXlsYW5kJywgJ3dheWxhbmQgZ2xlczInLCAnJywgZCl9IFwKLSIKLVBBQ0tBR0VDT05GSUdbYWxzYV0gICAgICAgPSAiLS1lbmFibGUtYWxzYSAtLWRpc2FibGUtYWxzYXRlc3QsLS1kaXNhYmxlLWFsc2EsYWxzYS1saWIsIgotUEFDS0FHRUNPTkZJR1tkaXJlY3RmYl0gICA9ICItLWVuYWJsZS12aWRlby1kaXJlY3RmYiwtLWRpc2FibGUtdmlkZW8tZGlyZWN0ZmIsZGlyZWN0ZmIiCi1QQUNLQUdFQ09ORklHW2dsZXMyXSAgICAgID0gIi0tZW5hYmxlLXZpZGVvLW9wZW5nbGVzLC0tZGlzYWJsZS12aWRlby1vcGVuZ2xlcyx2aXJ0dWFsL2xpYmdsZXMyIgotUEFDS0FHRUNPTkZJR1tvcGVuZ2xdICAgICA9ICItLWVuYWJsZS12aWRlby1vcGVuZ2wsLS1kaXNhYmxlLXZpZGVvLW9wZW5nbCx2aXJ0dWFsL2xpYmdsIgotUEFDS0FHRUNPTkZJR1twdWxzZWF1ZGlvXSA9ICItLWVuYWJsZS1wdWxzZWF1ZGlvLC0tZGlzYWJsZS1wdWxzZWF1ZGlvLHB1bHNlYXVkaW8iCi1QQUNLQUdFQ09ORklHW3RzbGliXSAgICAgID0gIi0tZW5hYmxlLWlucHV0LXRzbGliLC0tZGlzYWJsZS1pbnB1dC10c2xpYix0c2xpYiIKLVBBQ0tBR0VDT05GSUdbd2F5bGFuZF0gICAgPSAiLS1lbmFibGUtdmlkZW8td2F5bGFuZCwtLWRpc2FibGUtdmlkZW8td2F5bGFuZCx3YXlsYW5kLW5hdGl2ZSB3YXlsYW5kIHdheWxhbmQtcHJvdG9jb2xzIGxpYnhrYmNvbW1vbiIKLVBBQ0tBR0VDT05GSUdbeDExXSAgICAgICAgPSAiLS1lbmFibGUtdmlkZW8teDExLC0tZGlzYWJsZS12aWRlby14MTEsdmlydHVhbC9saWJ4MTEgbGlieGV4dCBsaWJ4cmFuZHIgbGlieHJlbmRlciIKLQotRVhUUkFfQVVUT1JFQ09ORiArPSAiLS1pbmNsdWRlPWFjaW5jbHVkZSAtLWV4Y2x1ZGU9YXV0b2hlYWRlciIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7Ci0gICAgICAgICMgUmVtb3ZlIG9sZCBsaWJ0b29sIG1hY3Jvcy4KLSAgICAgICAgTUFDUk9TPSJsaWJ0b29sLm00IGx0fm9ic29sZXRlLm00IGx0b3B0aW9ucy5tNCBsdHN1Z2FyLm00IGx0dmVyc2lvbi5tNCIKLSAgICAgICAgZm9yIGkgaW4gJHtNQUNST1N9OyBkbwotICAgICAgICAgICAgICAgcm0gLWYgJHtTfS9hY2luY2x1ZGUvJGkKLSAgICAgICAgZG9uZQotICAgICAgICBleHBvcnQgU1lTUk9PVD0kUEtHX0NPTkZJR19TWVNST09UX0RJUgotfQotCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9jbWFrZSIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlic2RsMi9saWJzZGwyXzIuMC45LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlic2RsMi9saWJzZGwyXzIuMC45LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3NDFjZmIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJzZGwyL2xpYnNkbDJfMi4wLjkuYmIKQEAgLTAsMCArMSw3MCBAQAorU1VNTUFSWSA9ICJTaW1wbGUgRGlyZWN0TWVkaWEgTGF5ZXIiCitERVNDUklQVElPTiA9ICJTaW1wbGUgRGlyZWN0TWVkaWEgTGF5ZXIgaXMgYSBjcm9zcy1wbGF0Zm9ybSBtdWx0aW1lZGlhIFwKK2xpYnJhcnkgZGVzaWduZWQgdG8gcHJvdmlkZSBsb3cgbGV2ZWwgYWNjZXNzIHRvIGF1ZGlvLCBrZXlib2FyZCwgbW91c2UsIFwKK2pveXN0aWNrLCAzRCBoYXJkd2FyZSB2aWEgT3BlbkdMLCBhbmQgMkQgdmlkZW8gZnJhbWVidWZmZXIuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5saWJzZGwub3JnIgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vYnVnemlsbGEubGlic2RsLm9yZy8iCisKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJabGliIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy50eHQ7bWQ1PTAyZWUyNjgxNGRkMDQ0YmQ3ODM4YWUyNGUwNWI4ODBmIgorCitQUk9WSURFUyA9ICJ2aXJ0dWFsL2xpYnNkbDIiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5saWJzZGwub3JnL3JlbGVhc2UvU0RMMi0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vbW9yZS1nZW4tZGVwZW5kcy5wYXRjaCBcCisiCisKK1MgPSAiJHtXT1JLRElSfS9TREwyLSR7UFZ9IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjJlY2ZiYTkxNWM1NGY3MjAwZjUwNGQ4YjQ4YTVkZmUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjU1MTg2ZGM2NzZlY2QwYzFkYmYxMGVjOGEyY2M1ZDY4NjliNTA3OWQ4YTM4MTk0YzJhZWNkZmY1NGIzMjRiMSIKKworaW5oZXJpdCBhdXRvdG9vbHMgbGliX3BhY2thZ2UgYmluY29uZmlnIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLW9zcyAtLWRpc2FibGUtZXNkIC0tZGlzYWJsZS1hcnRzIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtZGlza2F1ZGlvIC0tZGlzYWJsZS1uYXMgLS1kaXNhYmxlLWVzZC1zaGFyZWQgLS1kaXNhYmxlLWVzZHRlc3QgXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS12aWRlby1kdW1teSBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtcHRocmVhZHMgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLXNkbC1kbG9wZW4gXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1ycGF0aCBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXNuZGlvIFwKKyAgICAgICAgICAgICAgICAiCisKKyMgb3BlbmdsIHBhY2thZ2Vjb25maWcgZmFjdG9yZWQgb3V0IHRvIG1ha2UgaXQgZWFzeSBmb3IgZGlzdHJvcworIyBhbmQgQlNQIGxheWVycyB0byBwaWNrIGVpdGhlciAoZGVza3RvcCkgb3BlbmdsLCBnbGVzMiwgb3Igbm8gR0wKK1BBQ0tBR0VDT05GSUdfR0wgPz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ29wZW5nbCcsIGQpfSIKKworUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmUgPSAieDExIgorUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmVzZGsgPSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgZCl9IgorUEFDS0FHRUNPTkZJRyA/Pz0gIiBcCisgICAgJHtQQUNLQUdFQ09ORklHX0dMfSBcCisgICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnYWxzYSBkaXJlY3RmYiBwdWxzZWF1ZGlvIHgxMScsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd3YXlsYW5kJywgJ3dheWxhbmQgZ2xlczInLCAnJywgZCl9IFwKKyIKK1BBQ0tBR0VDT05GSUdbYWxzYV0gICAgICAgPSAiLS1lbmFibGUtYWxzYSAtLWRpc2FibGUtYWxzYXRlc3QsLS1kaXNhYmxlLWFsc2EsYWxzYS1saWIsIgorUEFDS0FHRUNPTkZJR1tkaXJlY3RmYl0gICA9ICItLWVuYWJsZS12aWRlby1kaXJlY3RmYiwtLWRpc2FibGUtdmlkZW8tZGlyZWN0ZmIsZGlyZWN0ZmIiCitQQUNLQUdFQ09ORklHW2dsZXMyXSAgICAgID0gIi0tZW5hYmxlLXZpZGVvLW9wZW5nbGVzLC0tZGlzYWJsZS12aWRlby1vcGVuZ2xlcyx2aXJ0dWFsL2xpYmdsZXMyIgorUEFDS0FHRUNPTkZJR1tqYWNrXSAgICAgICA9ICItLWVuYWJsZS1qYWNrLC0tZGlzYWJsZS1qYWNrLGphY2siCitQQUNLQUdFQ09ORklHW2ttc2RybV0gICAgID0gIi0tZW5hYmxlLXZpZGVvLWttc2RybSwtLWRpc2FibGUtdmlkZW8ta21zZHJtLGxpYmRybSB2aXJ0dWFsL2xpYmdibSIKK1BBQ0tBR0VDT05GSUdbb3BlbmdsXSAgICAgPSAiLS1lbmFibGUtdmlkZW8tb3BlbmdsLC0tZGlzYWJsZS12aWRlby1vcGVuZ2wsdmlydHVhbC9saWJnbCIKK1BBQ0tBR0VDT05GSUdbcHVsc2VhdWRpb10gPSAiLS1lbmFibGUtcHVsc2VhdWRpbywtLWRpc2FibGUtcHVsc2VhdWRpbyxwdWxzZWF1ZGlvIgorUEFDS0FHRUNPTkZJR1t0c2xpYl0gICAgICA9ICItLWVuYWJsZS1pbnB1dC10c2xpYiwtLWRpc2FibGUtaW5wdXQtdHNsaWIsdHNsaWIiCitQQUNLQUdFQ09ORklHW3dheWxhbmRdICAgID0gIi0tZW5hYmxlLXZpZGVvLXdheWxhbmQsLS1kaXNhYmxlLXZpZGVvLXdheWxhbmQsd2F5bGFuZC1uYXRpdmUgd2F5bGFuZCB3YXlsYW5kLXByb3RvY29scyBsaWJ4a2Jjb21tb24iCitQQUNLQUdFQ09ORklHW3gxMV0gICAgICAgID0gIi0tZW5hYmxlLXZpZGVvLXgxMSwtLWRpc2FibGUtdmlkZW8teDExLHZpcnR1YWwvbGlieDExIGxpYnhleHQgbGlieHJhbmRyIGxpYnhyZW5kZXIiCisKK0VYVFJBX0FVVE9SRUNPTkYgKz0gIi0taW5jbHVkZT1hY2luY2x1ZGUgLS1leGNsdWRlPWF1dG9oZWFkZXIiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgICAgICAjIFJlbW92ZSBvbGQgbGlidG9vbCBtYWNyb3MuCisgICAgICAgIE1BQ1JPUz0ibGlidG9vbC5tNCBsdH5vYnNvbGV0ZS5tNCBsdG9wdGlvbnMubTQgbHRzdWdhci5tNCBsdHZlcnNpb24ubTQiCisgICAgICAgIGZvciBpIGluICR7TUFDUk9TfTsgZG8KKyAgICAgICAgICAgICAgIHJtIC1mICR7U30vYWNpbmNsdWRlLyRpCisgICAgICAgIGRvbmUKKyAgICAgICAgZXhwb3J0IFNZU1JPT1Q9JFBLR19DT05GSUdfU1lTUk9PVF9ESVIKK30KKworRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vY21ha2UiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnZhL2xpYnZhLXV0aWxzLzAwMDEtQnVpbGQtc2Zjc2FtcGxlLW9ubHktd2hlbi1YMTEtYmFja2VuZC1pcy1lbmFibGVkLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlidmEvbGlidmEtdXRpbHMvMDAwMS1CdWlsZC1zZmNzYW1wbGUtb25seS13aGVuLVgxMS1iYWNrZW5kLWlzLWVuYWJsZWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDFmYjcxOQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnZhL2xpYnZhLXV0aWxzLzAwMDEtQnVpbGQtc2Zjc2FtcGxlLW9ubHktd2hlbi1YMTEtYmFja2VuZC1pcy1lbmFibGVkLnBhdGNoCkBAIC0wLDAgKzEsMzUgQEAKK0Zyb20gOGZjMTRlNGJjODE4ODViODBjMzA3MmU1NDljMmU2ZjU5NTMzZDdlZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+CitEYXRlOiBGcmksIDggRmViIDIwMTkgMTE6NDU6NTUgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gQnVpbGQgc2Zjc2FtcGxlIG9ubHkgd2hlbiBYMTEgYmFja2VuZCBpcyBlbmFibGVkCisKK1NlZTogaHR0cHM6Ly9naXRodWIuY29tL2ludGVsL2xpYnZhLXV0aWxzL3B1bGwvMTQ5LCBhbmQKK2h0dHBzOi8vZ2l0aHViLmNvbS9pbnRlbC9saWJ2YS11dGlscy9pc3N1ZXMvMTUwCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkCisKK1NpZ25lZC1vZmYtYnk6IEFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+CistLS0KKyBNYWtlZmlsZS5hbSB8IDMgKystCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQoraW5kZXggZDI4MTc1YS4uZTI5NGUyNSAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmFtCisrKysgYi9NYWtlZmlsZS5hbQorQEAgLTI0LDEwICsyNCwxMSBAQCBBQ0xPQ0FMX0FNRkxBR1MgPSAtSSBtNCAke0FDTE9DQUxfRkxBR1N9CisgCisgQVVUT01BS0VfT1BUSU9OUyA9IGZvcmVpZ24KKyAKKy1TVUJESVJTID0gY29tbW9uIGRlY29kZSBlbmNvZGUgdmFpbmZvIHZpZGVvcHJvY2VzcyB2ZW5kb3IvaW50ZWwgdmVuZG9yL2ludGVsL3NmY3NhbXBsZQorK1NVQkRJUlMgPSBjb21tb24gZGVjb2RlIGVuY29kZSB2YWluZm8gdmlkZW9wcm9jZXNzIHZlbmRvci9pbnRlbAorIAorIGlmIFVTRV9YMTEKKyBTVUJESVJTICs9IHB1dHN1cmZhY2UKKytTVUJESVJTICs9IHZlbmRvci9pbnRlbC9zZmNzYW1wbGUKKyBlbHNlCisgaWYgVVNFX1dBWUxBTkQKKyBTVUJESVJTICs9IHB1dHN1cmZhY2UKKy0tIAorMi4xNy4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnZhL2xpYnZhLXV0aWxzXzIuMi4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlidmEvbGlidmEtdXRpbHNfMi4yLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUzNTA4NWMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlidmEvbGlidmEtdXRpbHNfMi4yLjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1TVU1NQVJZID0gImxpYnZhLXV0aWxzIGlzIGEgY29sbGVjdGlvbiBvZiB1dGlsaXRpZXMgZnJvbSBsaWJ2YSBwcm9qZWN0IgotCi1ERVNDUklQVElPTiA9ICJsaWJ2YS11dGlscyBpcyBhIGNvbGxlY3Rpb24gb2YgdXRpbGl0aWVzIFwKLWFuZCBleGFtcGxlcyB0byBleGVyY2lzZSBWQS1BUEkgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBsaWJ2YSBcCi1wcm9qZWN0LlZBLUFQSSBpcyBhbiBvcGVuLXNvdXJjZSBsaWJyYXJ5IGFuZCBBUEkgc3BlY2lmaWNhdGlvbiwgXAotd2hpY2ggcHJvdmlkZXMgYWNjZXNzIHRvIGdyYXBoaWNzIGhhcmR3YXJlIGFjY2VsZXJhdGlvbiBjYXBhYmlsaXRpZXMgXAotZm9yIHZpZGVvIHByb2Nlc3NpbmcuIEl0IGNvbnNpc3RzIG9mIGEgbWFpbiBsaWJyYXJ5IGFuZCBkcml2ZXItc3BlY2lmaWMgXAotYWNjZWxlcmF0aW9uIGJhY2tlbmRzIGZvciBlYWNoIHN1cHBvcnRlZCBoYXJkd2FyZSB2ZW5kb3IiCi0KLUhPTUVQQUdFID0gImh0dHBzOi8vMDEub3JnL2xpbnV4bWVkaWEvdmFhcGkiCi1CVUdUUkFDS0VSID0gImh0dHBzOi8vZ2l0aHViLmNvbS9pbnRlbC9saWJ2YS11dGlscy9pc3N1ZXMiCi0KLVNFQ1RJT04gPSAieDExIgotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMTQ4ZmM4YWRmMTlkYzlhZWMxN2NmOWNkMjlhOWE1ZSIKLQotU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vaW50ZWwvJHtCUE59L3JlbGVhc2VzL2Rvd25sb2FkLyR7UFZ9LyR7QlB9LnRhci5iejIiCi1TUkNfVVJJW21kNXN1bV0gPSAiOTNiNThhYTViMTRjMTZmNGJhY2U4YTQ1ZGMyNTVlYzkiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZWQ3YTZlZDFmYWI2NTdkZjRlODNlYTExZjkwMzEwZWZjZjMxYzI3ODI4ZjMyZDY1MzUxYTI4Y2EzYzQwNGRjMCIKLQotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9pbnRlbC9saWJ2YS11dGlscy9yZWxlYXNlcyIKLQotREVQRU5EUyA9ICJsaWJ2YSIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGRpc3Ryb19mZWF0dXJlc19jaGVjawotCi0jIGRlcGVuZHMgb24gbGlidmEgd2hpY2ggcmVxdWlyZXMgb3BlbmdsCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAib3BlbmdsIgotCi1QQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnd2F5bGFuZCB4MTEnLCBkKX0iCi1QQUNLQUdFQ09ORklHW3gxMV0gPSAiLS1lbmFibGUteDExLC0tZGlzYWJsZS14MTEsdmlydHVhbC9saWJ4MTEgbGlieGV4dCBsaWJ4Zml4ZXMiCi1QQUNLQUdFQ09ORklHW3dheWxhbmRdID0gIi0tZW5hYmxlLXdheWxhbmQsLS1kaXNhYmxlLXdheWxhbmQsd2F5bGFuZC1uYXRpdmUgd2F5bGFuZCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnZhL2xpYnZhLXV0aWxzXzIuNC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlidmEvbGlidmEtdXRpbHNfMi40LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2I3NjQzMQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnZhL2xpYnZhLXV0aWxzXzIuNC4wLmJiCkBAIC0wLDAgKzEsMzUgQEAKK1NVTU1BUlkgPSAibGlidmEtdXRpbHMgaXMgYSBjb2xsZWN0aW9uIG9mIHV0aWxpdGllcyBmcm9tIGxpYnZhIHByb2plY3QiCisKK0RFU0NSSVBUSU9OID0gImxpYnZhLXV0aWxzIGlzIGEgY29sbGVjdGlvbiBvZiB1dGlsaXRpZXMgXAorYW5kIGV4YW1wbGVzIHRvIGV4ZXJjaXNlIFZBLUFQSSBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIGxpYnZhIFwKK3Byb2plY3QuVkEtQVBJIGlzIGFuIG9wZW4tc291cmNlIGxpYnJhcnkgYW5kIEFQSSBzcGVjaWZpY2F0aW9uLCBcCit3aGljaCBwcm92aWRlcyBhY2Nlc3MgdG8gZ3JhcGhpY3MgaGFyZHdhcmUgYWNjZWxlcmF0aW9uIGNhcGFiaWxpdGllcyBcCitmb3IgdmlkZW8gcHJvY2Vzc2luZy4gSXQgY29uc2lzdHMgb2YgYSBtYWluIGxpYnJhcnkgYW5kIGRyaXZlci1zcGVjaWZpYyBcCithY2NlbGVyYXRpb24gYmFja2VuZHMgZm9yIGVhY2ggc3VwcG9ydGVkIGhhcmR3YXJlIHZlbmRvciIKKworSE9NRVBBR0UgPSAiaHR0cHM6Ly8wMS5vcmcvbGludXhtZWRpYS92YWFwaSIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL2ludGVsL2xpYnZhLXV0aWxzL2lzc3VlcyIKKworU0VDVElPTiA9ICJ4MTEiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIxNDhmYzhhZGYxOWRjOWFlYzE3Y2Y5Y2QyOWE5YTVlIgorCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9pbnRlbC8ke0JQTn0vcmVsZWFzZXMvZG93bmxvYWQvJHtQVn0vJHtCUH0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUJ1aWxkLXNmY3NhbXBsZS1vbmx5LXdoZW4tWDExLWJhY2tlbmQtaXMtZW5hYmxlZC5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gImY1Mzc0YzRjMzJjZTEzNmU1MGFlYTAyNjc4ODdhZWQ1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjViN2QxOTU0YjQwZmNiMmMwNTQ0YmUyMDEyNWM3MWEwODUyMDQ5NzE1YWI4NWEzZThhYmE2MDQzNGE0MGM2YjMiCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vaW50ZWwvbGlidmEtdXRpbHMvcmVsZWFzZXMiCisKK0RFUEVORFMgPSAibGlidmEiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworIyBkZXBlbmRzIG9uIGxpYnZhIHdoaWNoIHJlcXVpcmVzIG9wZW5nbAorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIm9wZW5nbCIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3dheWxhbmQgeDExJywgZCl9IgorUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0tZW5hYmxlLXgxMSwtLWRpc2FibGUteDExLHZpcnR1YWwvbGlieDExIGxpYnhleHQgbGlieGZpeGVzIgorUEFDS0FHRUNPTkZJR1t3YXlsYW5kXSA9ICItLWVuYWJsZS13YXlsYW5kLC0tZGlzYWJsZS13YXlsYW5kLHdheWxhbmQtbmF0aXZlIHdheWxhbmQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJ2YS9saWJ2YV8yLjIuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnZhL2xpYnZhXzIuMi4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMWU1N2UwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnZhL2xpYnZhXzIuMi4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotU1VNTUFSWSA9ICJWaWRlbyBBY2NlbGVyYXRpb24gKFZBKSBBUEkgZm9yIExpbnV4IgotREVTQ1JJUFRJT04gPSAiVmlkZW8gQWNjZWxlcmF0aW9uIEFQSSAoVkEgQVBJKSBpcyBhIGxpYnJhcnkgKGxpYlZBKSBcCi1hbmQgQVBJIHNwZWNpZmljYXRpb24gd2hpY2ggZW5hYmxlcyBhbmQgcHJvdmlkZXMgYWNjZXNzIHRvIGdyYXBoaWNzIFwKLWhhcmR3YXJlIChHUFUpIGFjY2VsZXJhdGlvbiBmb3IgdmlkZW8gcHJvY2Vzc2luZyBvbiBMaW51eCBhbmQgVU5JWCBcCi1iYXNlZCBvcGVyYXRpbmcgc3lzdGVtcy4gQWNjZWxlcmF0ZWQgcHJvY2Vzc2luZyBpbmNsdWRlcyB2aWRlbyBcCi1kZWNvZGluZywgdmlkZW8gZW5jb2RpbmcsIHN1YnBpY3R1cmUgYmxlbmRpbmcgYW5kIHJlbmRlcmluZy4gVGhlIFwKLXNwZWNpZmljYXRpb24gd2FzIG9yaWdpbmFsbHkgZGVzaWduZWQgYnkgSW50ZWwgZm9yIGl0cyBHTUEgKEdyYXBoaWNzIFwKLU1lZGlhIEFjY2VsZXJhdG9yKSBzZXJpZXMgb2YgR1BVIGhhcmR3YXJlLCB0aGUgQVBJIGlzIGhvd2V2ZXIgbm90IFwKLWxpbWl0ZWQgdG8gR1BVcyBvciBJbnRlbCBzcGVjaWZpYyBoYXJkd2FyZSwgYXMgb3RoZXIgaGFyZHdhcmUgYW5kIFwKLW1hbnVmYWN0dXJlcnMgY2FuIGFsc28gZnJlZWx5IHVzZSB0aGlzIEFQSSBmb3IgaGFyZHdhcmUgYWNjZWxlcmF0ZWQgXAotdmlkZW8gZGVjb2RpbmcuIgotCi1IT01FUEFHRSA9ICJodHRwczovLzAxLm9yZy9saW51eG1lZGlhL3ZhYXBpIgotQlVHVFJBQ0tFUiA9ICJodHRwczovL2dpdGh1Yi5jb20vaW50ZWwvbGlidmEvaXNzdWVzIgotCi1TRUNUSU9OID0gIngxMSIKLUxJQ0VOU0UgPSAiTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MmU0ODk0MGY5NGFjYjBhZjU4MmU1ZWYwMzUzNzgwMGYiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2ludGVsLyR7QlBOfS9yZWxlYXNlcy9kb3dubG9hZC8ke1BWfS8ke0JQfS50YXIuYnoyIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiOTJkMDRhZDE3MDAxMzZkYzc1YjFlNWY0NzUxNmU3MDQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmY2Y2EwNGM3ODU1NDRkMzBkMzE1ZWYxMzBhNmFlYjk0MzViNzVmOTM0ZDdmYmUwZTRlOWJhNjA4NGNlNGVmMiIKLQotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9pbnRlbC9saWJ2YS9yZWxlYXNlcyIKLQotREVQRU5EUyA9ICJsaWJkcm0gdmlydHVhbC9tZXNhIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCi0KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJvcGVuZ2wiCi0KLUVYVFJBX09FQ09ORiA9ICJhY19jdl9wcm9nX1dBWUxBTkRfU0NBTk5FUj13YXlsYW5kLXNjYW5uZXIiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd3YXlsYW5kIHgxMScsIGQpfSIKLVBBQ0tBR0VDT05GSUdbeDExXSA9ICItLWVuYWJsZS14MTEsLS1kaXNhYmxlLXgxMSx2aXJ0dWFsL2xpYngxMSBsaWJ4ZXh0IGxpYnhmaXhlcyIKLVBBQ0tBR0VDT05GSUdbd2F5bGFuZF0gPSAiLS1lbmFibGUtd2F5bGFuZCwtLWRpc2FibGUtd2F5bGFuZCx3YXlsYW5kLW5hdGl2ZSB3YXlsYW5kIgotCi1QQUNLQUdFUyA9KyAiJHtQTn0teDExICR7UE59LWdseCAke1BOfS13YXlsYW5kIgotCi1SREVQRU5EU18ke1BOfS14MTEgPSsgIiR7UE59IgotUkRFUEVORFNfJHtQTn0tZ2x4ID0rICIke1BOfS14MTEiCi0KLUZJTEVTXyR7UE59LXgxMSA9KyAiJHtsaWJkaXJ9L2xpYnZhLXgxMSoke1NPTElCU30iCi1GSUxFU18ke1BOfS1nbHggPSsgIiR7bGliZGlyfS9saWJ2YS1nbHgqJHtTT0xJQlN9IgotRklMRVNfJHtQTn0td2F5bGFuZCA9KyAiJHtsaWJkaXJ9L2xpYnZhLXdheWxhbmQqJHtTT0xJQlN9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlidmEvbGlidmFfMi40LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJ2YS9saWJ2YV8yLjQuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZmExYWI4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlidmEvbGlidmFfMi40LjAuYmIKQEAgLTAsMCArMSw0NiBAQAorU1VNTUFSWSA9ICJWaWRlbyBBY2NlbGVyYXRpb24gKFZBKSBBUEkgZm9yIExpbnV4IgorREVTQ1JJUFRJT04gPSAiVmlkZW8gQWNjZWxlcmF0aW9uIEFQSSAoVkEgQVBJKSBpcyBhIGxpYnJhcnkgKGxpYlZBKSBcCithbmQgQVBJIHNwZWNpZmljYXRpb24gd2hpY2ggZW5hYmxlcyBhbmQgcHJvdmlkZXMgYWNjZXNzIHRvIGdyYXBoaWNzIFwKK2hhcmR3YXJlIChHUFUpIGFjY2VsZXJhdGlvbiBmb3IgdmlkZW8gcHJvY2Vzc2luZyBvbiBMaW51eCBhbmQgVU5JWCBcCitiYXNlZCBvcGVyYXRpbmcgc3lzdGVtcy4gQWNjZWxlcmF0ZWQgcHJvY2Vzc2luZyBpbmNsdWRlcyB2aWRlbyBcCitkZWNvZGluZywgdmlkZW8gZW5jb2RpbmcsIHN1YnBpY3R1cmUgYmxlbmRpbmcgYW5kIHJlbmRlcmluZy4gVGhlIFwKK3NwZWNpZmljYXRpb24gd2FzIG9yaWdpbmFsbHkgZGVzaWduZWQgYnkgSW50ZWwgZm9yIGl0cyBHTUEgKEdyYXBoaWNzIFwKK01lZGlhIEFjY2VsZXJhdG9yKSBzZXJpZXMgb2YgR1BVIGhhcmR3YXJlLCB0aGUgQVBJIGlzIGhvd2V2ZXIgbm90IFwKK2xpbWl0ZWQgdG8gR1BVcyBvciBJbnRlbCBzcGVjaWZpYyBoYXJkd2FyZSwgYXMgb3RoZXIgaGFyZHdhcmUgYW5kIFwKK21hbnVmYWN0dXJlcnMgY2FuIGFsc28gZnJlZWx5IHVzZSB0aGlzIEFQSSBmb3IgaGFyZHdhcmUgYWNjZWxlcmF0ZWQgXAordmlkZW8gZGVjb2RpbmcuIgorCitIT01FUEFHRSA9ICJodHRwczovLzAxLm9yZy9saW51eG1lZGlhL3ZhYXBpIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2dpdGh1Yi5jb20vaW50ZWwvbGlidmEvaXNzdWVzIgorCitTRUNUSU9OID0gIngxMSIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MmU0ODk0MGY5NGFjYjBhZjU4MmU1ZWYwMzUzNzgwMGYiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2ludGVsLyR7QlBOfS9yZWxlYXNlcy9kb3dubG9hZC8ke1BWfS8ke0JQfS50YXIuYnoyIgorCitTUkNfVVJJW21kNXN1bV0gPSAiY2ZjNjljMmE1ZjUyNmRkMTg1OGUwOThmYjhlZWJmYTYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTkyNjMwNTZjMjE1OTNhMjZmMmVjZTgxMmFlZTZmZTYwMTQyYjQ5ZTZjZDQ2Y2IzM2M4ZGRkZjE4ZmMxOTM5MSIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9pbnRlbC9saWJ2YS9yZWxlYXNlcyIKKworREVQRU5EUyA9ICJsaWJkcm0gdmlydHVhbC9tZXNhIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJvcGVuZ2wiCisKK0VYVFJBX09FQ09ORiA9ICJhY19jdl9wcm9nX1dBWUxBTkRfU0NBTk5FUj13YXlsYW5kLXNjYW5uZXIiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd3YXlsYW5kIHgxMScsIGQpfSIKK1BBQ0tBR0VDT05GSUdbeDExXSA9ICItLWVuYWJsZS14MTEsLS1kaXNhYmxlLXgxMSx2aXJ0dWFsL2xpYngxMSBsaWJ4ZXh0IGxpYnhmaXhlcyIKK1BBQ0tBR0VDT05GSUdbd2F5bGFuZF0gPSAiLS1lbmFibGUtd2F5bGFuZCwtLWRpc2FibGUtd2F5bGFuZCx3YXlsYW5kLW5hdGl2ZSB3YXlsYW5kIgorCitQQUNLQUdFUyA9KyAiJHtQTn0teDExICR7UE59LWdseCAke1BOfS13YXlsYW5kIgorCitSREVQRU5EU18ke1BOfS14MTEgPSsgIiR7UE59IgorUkRFUEVORFNfJHtQTn0tZ2x4ID0rICIke1BOfS14MTEiCisKK0ZJTEVTXyR7UE59LXgxMSA9KyAiJHtsaWJkaXJ9L2xpYnZhLXgxMSoke1NPTElCU30iCitGSUxFU18ke1BOfS1nbHggPSsgIiR7bGliZGlyfS9saWJ2YS1nbHgqJHtTT0xJQlN9IgorRklMRVNfJHtQTn0td2F5bGFuZCA9KyAiJHtsaWJkaXJ9L2xpYnZhLXdheWxhbmQqJHtTT0xJQlN9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVudS1jYWNoZS9tZW51LWNhY2hlXzEuMC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVudS1jYWNoZS9tZW51LWNhY2hlXzEuMC4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MTU0MGNmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lbnUtY2FjaGUvbWVudS1jYWNoZV8xLjAuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLVNVTU1BUlkgPSAiTGlicmFyeSBmb3IgY2FjaGluZyBhcHBsaWNhdGlvbiBtZW51cyIKLURFU0NSSVBUSU9OID0gIkEgbGlicmFyeSBjcmVhdGluZyBhbmQgdXRpbGl6aW5nIGNhY2hlcyB0byBzcGVlZCB1cCBmcmVlZGVza3RvcC5vcmcgYXBwbGljYXRpb24gbWVudXMiCi1IT01FUEFHRSA9ICJodHRwOi8vbHhkZS5zb3VyY2Vmb3JnZS5uZXQvIgotCi1MSUNFTlNFID0gIkxHUEx2Mi4xKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA5NjRjNjg5ZmNmNGMyMWM2Nzk3ZWE4NzQwODQxNmI2IgotCi1TRUNUSU9OID0gIngxMS9saWJzIgotREVQRU5EUyA9ICJnbGliLTIuMCBsaWJmbS1leHRyYSIKLQotU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vbHhkZS9tZW51LWNhY2hlLSR7UFZ9LnRhci54eiIKLQotU1JDX1VSSVttZDVzdW1dID0gIjhkZGU3YTNmNWJkOTc5OGQwMTI5ZDE5NzlhNWQ3NjQwIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZmODNlZGYyZGUzNGY4M2U3MDFkY2I1MjE0NWQ3NTUyNTBhNTY3NzU4MGNkNDEzNDc2Y2M0ZDdmMmQyMDEyZDUiCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2x4ZGUvZmlsZXMvbWVudS1jYWNoZS8xLjAvIgotCi1pbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBrZ2NvbmZpZyBndGstZG9jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZW51LWNhY2hlL21lbnUtY2FjaGVfMS4xLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZW51LWNhY2hlL21lbnUtY2FjaGVfMS4xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGRiYmQ5NAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lbnUtY2FjaGUvbWVudS1jYWNoZV8xLjEuMC5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gIkxpYnJhcnkgZm9yIGNhY2hpbmcgYXBwbGljYXRpb24gbWVudXMiCitERVNDUklQVElPTiA9ICJBIGxpYnJhcnkgY3JlYXRpbmcgYW5kIHV0aWxpemluZyBjYWNoZXMgdG8gc3BlZWQgdXAgZnJlZWRlc2t0b3Aub3JnIGFwcGxpY2F0aW9uIG1lbnVzIgorSE9NRVBBR0UgPSAiaHR0cDovL2x4ZGUuc291cmNlZm9yZ2UubmV0LyIKKworTElDRU5TRSA9ICJMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wOTY0YzY4OWZjZjRjMjFjNjc5N2VhODc0MDg0MTZiNiIKKworU0VDVElPTiA9ICJ4MTEvbGlicyIKK0RFUEVORFMgPSAiZ2xpYi0yLjAgbGliZm0tZXh0cmEiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2x4ZGUvbWVudS1jYWNoZS0ke1BWfS50YXIueHoiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5OTk5OWEwYmNhNDhiOTgwMTA1MjA4NzYwYzhmZDg5MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlZDAyZWI0NTlkY2IzOThmNjliOWZhNWJmNGRkODEzMDIwNDA1YWZjODQzMzExMTU0NjljZGY3YmU5MjczZWM3IgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9seGRlL2ZpbGVzL21lbnUtY2FjaGUvMS4xLyIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcgZ3RrLWRvYwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9maWxlcy8wMDAxLVNpbXBsaWZ5LXdheWxhbmQtc2Nhbm5lci1sb29rdXAucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL2ZpbGVzLzAwMDEtU2ltcGxpZnktd2F5bGFuZC1zY2FubmVyLWxvb2t1cC5wYXRjaAppbmRleCBhNTBkMmEyLi5kMDY1ZTIyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL2ZpbGVzLzAwMDEtU2ltcGxpZnktd2F5bGFuZC1zY2FubmVyLWxvb2t1cC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL2ZpbGVzLzAwMDEtU2ltcGxpZnktd2F5bGFuZC1zY2FubmVyLWxvb2t1cC5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gN2U4ZTBmOGE4YWMyNDI1ZTE5YTJmMzQwYzllM2RhOTM0NWYyNTk0MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEp1c3NpIEt1a2tvbmVuIDxqdXNzaS5rdWtrb25lbkBpbnRlbC5jb20+Ci1EYXRlOiBUdWUsIDE1IE5vdiAyMDE2IDE1OjIwOjQ5ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMS82XSBTaW1wbGlmeSB3YXlsYW5kLXNjYW5uZXIgbG9va3VwCitGcm9tIGU1MzgzN2FkN2IwMTM2NGYzNGE1MzNiOTVmNDgxN2MxNzk1Nzg5ZGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBGYWJpbyBCZXJ0b24gPGZhYmlvLmJlcnRvbkBvc3N5c3RlbXMuY29tLmJyPgorRGF0ZTogV2VkLCAyMCBGZWIgMjAxOSAxNjoxNzowMCAtMDMwMAorU3ViamVjdDogW1BBVENIIDEvNF0gU2ltcGxpZnkgd2F5bGFuZC1zY2FubmVyIGxvb2t1cAogT3JnYW5pemF0aW9uOiBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTFREQS4KIAogRG9uJ3QgdXNlIHBrZy1jb25maWcgdG8gbG9va3VwIHRoZSBwYXRoIG9mIGEgYmluYXJ5IHRoYXQncyBpbiB0aGUgcGF0aC4KQEAgLTEyLDIxICsxMiwyNiBAQAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCiBTaWduZWQtb2ZmLWJ5OiBKdXNzaSBLdWtrb25lbiA8anVzc2kua3Vra29uZW5AaW50ZWwuY29tPgogU2lnbmVkLW9mZi1ieTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KK1NpZ25lZC1vZmYtYnk6IEZhYmlvIEJlcnRvbiA8ZmFiaW8uYmVydG9uQG9zc3lzdGVtcy5jb20uYnI+CiAtLS0KICBjb25maWd1cmUuYWMgfCA3ICstLS0tLS0KICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDYgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDE0ZjFhZjJiMmYuLjkxNmQwYmQyMDcgMTAwNjQ0CitpbmRleCAxZWY2OGZlNjhlNi4uMTgxNmE0Y2Q0NzUgMTAwNjQ0CiAtLS0gYS9jb25maWd1cmUuYWMKICsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTE4MjUsMTIgKzE4MjUsNyBAQCBmb3IgcGxhdCBpbiAkcGxhdGZvcm1zOyBkbwotICAgICAgICAgUEtHX0NIRUNLX01PRFVMRVMoW1dBWUxBTkRfUFJPVE9DT0xTXSwgW3dheWxhbmQtcHJvdG9jb2xzID49ICRXQVlMQU5EX1BST1RPQ09MU19SRVFVSVJFRF0pCitAQCAtMTg1NCwxNiArMTg1NCwxMSBAQCBmb3IgcGxhdCBpbiAkcGxhdGZvcm1zOyBkbworICAgICAgICAgZmkKICAgICAgICAgIFdBWUxBTkRfUFJPVE9DT0xTX0RBVEFESVI9YCRQS0dfQ09ORklHIC0tdmFyaWFibGU9cGtnZGF0YWRpciB3YXlsYW5kLXByb3RvY29sc2AKICAKIC0gICAgICAgIFBLR19DSEVDS19NT0RVTEVTKFtXQVlMQU5EX1NDQU5ORVJdLCBbd2F5bGFuZC1zY2FubmVyXSwKIC0gICAgICAgICAgICAgICAgICAgICAgICAgIFdBWUxBTkRfU0NBTk5FUj1gJFBLR19DT05GSUcgLS12YXJpYWJsZT13YXlsYW5kX3NjYW5uZXIgd2F5bGFuZC1zY2FubmVyYCwKIC0gICAgICAgICAgICAgICAgICAgICAgICAgIFdBWUxBTkRfU0NBTk5FUj0nJykKKyAgICAgICAgIFBLR19DSEVDS19FWElTVFMoW3dheWxhbmQtc2Nhbm5lciA+PSAxLjE1XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEFDX1NVQlNUKFNDQU5ORVJfQVJHLCAncHJpdmF0ZS1jb2RlJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICBBQ19TVUJTVChTQ0FOTkVSX0FSRywgJ2NvZGUnKSkKKyAKIC0gICAgICAgIGlmIHRlc3QgIngkV0FZTEFORF9TQ0FOTkVSIiA9IHg7IHRoZW4KIC0gICAgICAgICAgICBBQ19QQVRIX1BST0coW1dBWUxBTkRfU0NBTk5FUl0sIFt3YXlsYW5kLXNjYW5uZXJdLCBbOl0pCiAtICAgICAgICBmaQpAQCAtMzUsNSArNDAsNSBAQAogICAgICAgICAgaWYgdGVzdCAieCRXQVlMQU5EX1NDQU5ORVIiID0gIng6IjsgdGhlbgogICAgICAgICAgICAgICAgICBBQ19NU0dfRVJST1IoW3dheWxhbmQtc2Nhbm5lciBpcyBuZWVkZWQgdG8gY29tcGlsZSB0aGUgd2F5bGFuZCBwbGF0Zm9ybV0pCiAtLSAKLTIuMTguMAorMi4yMS4wCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvZmlsZXMvMDAwMi13aW5zeXMtc3ZnYS1kcm0tSW5jbHVkZS1zeXMtdHlwZXMuaC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvZmlsZXMvMDAwMi13aW5zeXMtc3ZnYS1kcm0tSW5jbHVkZS1zeXMtdHlwZXMuaC5wYXRjaAppbmRleCBmZmIzYmY3Li5hYWViMGYxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL2ZpbGVzLzAwMDItd2luc3lzLXN2Z2EtZHJtLUluY2x1ZGUtc3lzLXR5cGVzLmgucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9maWxlcy8wMDAyLXdpbnN5cy1zdmdhLWRybS1JbmNsdWRlLXN5cy10eXBlcy5oLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSA3NzkyZjIyODk5MTc0NGEwMzk2YjhiZjgxMWUyODFkY2E4NjE2NWQzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBmMjEyYjZiZWQ0YmYyNjVhZWMwNjljMjFjZGM0YjdjMmQ5Y2IzMmRmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFdlZCwgMTYgQXVnIDIwMTcgMTg6NTg6MjAgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSCAyLzZdIHdpbnN5cy9zdmdhL2RybTogSW5jbHVkZSBzeXMvdHlwZXMuaAorU3ViamVjdDogW1BBVENIIDIvNF0gd2luc3lzL3N2Z2EvZHJtOiBJbmNsdWRlIHN5cy90eXBlcy5oCiBPcmdhbml6YXRpb246IE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMVERBLgogCiB2bXdfc2NyZWVuLmggdXNlcyBkZXZfdCB3aGljaCBpcyBkZWZpbmVzIGluIHN5cy90eXBlcy5oCkBAIC0xMywxMiArMTMsMTMgQEAKIFNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFs3ZGZkZmJmOGMzN2U1MmU3YjliMDlmN2QxZDQzNGVkYWQzZWJjODY0XQogU2lnbmVkLW9mZi1ieTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KK1NpZ25lZC1vZmYtYnk6IEZhYmlvIEJlcnRvbiA8ZmFiaW8uYmVydG9uQG9zc3lzdGVtcy5jb20uYnI+CiAtLS0KICBzcmMvZ2FsbGl1bS93aW5zeXMvc3ZnYS9kcm0vdm13X3NjcmVlbi5oIHwgMSArCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCiAKIGRpZmYgLS1naXQgYS9zcmMvZ2FsbGl1bS93aW5zeXMvc3ZnYS9kcm0vdm13X3NjcmVlbi5oIGIvc3JjL2dhbGxpdW0vd2luc3lzL3N2Z2EvZHJtL3Ztd19zY3JlZW4uaAotaW5kZXggZjIxY2FiYjUxZi4uNGM5NzJmZGFhOSAxMDA2NDQKK2luZGV4IGE4N2MwODdkOWM1Li5jYjM0ZmVjNDhlNyAxMDA2NDQKIC0tLSBhL3NyYy9nYWxsaXVtL3dpbnN5cy9zdmdhL2RybS92bXdfc2NyZWVuLmgKICsrKyBiL3NyYy9nYWxsaXVtL3dpbnN5cy9zdmdhL2RybS92bXdfc2NyZWVuLmgKIEBAIC00MSw2ICs0MSw3IEBACkBAIC0zMCw1ICszMSw1IEBACiAgI2RlZmluZSBWTVdfR01SX1BPT0xfU0laRSAoMTYqMTAyNCoxMDI0KQogICNkZWZpbmUgVk1XX1FVRVJZX1BPT0xfU0laRSAoODE5MikKIC0tIAotMi4xOC4wCisyLjIxLjAKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9maWxlcy8wMDAzLVByb3Blcmx5LWdldC1MTFZNLXZlcnNpb24td2hlbi11c2luZy1MTFZNLUdpdC1yZWxlYXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL2ZpbGVzLzAwMDMtUHJvcGVybHktZ2V0LUxMVk0tdmVyc2lvbi13aGVuLXVzaW5nLUxMVk0tR2l0LXJlbGVhcy5wYXRjaAppbmRleCA1ZTczNWNhLi45NmVkYzIxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL2ZpbGVzLzAwMDMtUHJvcGVybHktZ2V0LUxMVk0tdmVyc2lvbi13aGVuLXVzaW5nLUxMVk0tR2l0LXJlbGVhcy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL2ZpbGVzLzAwMDMtUHJvcGVybHktZ2V0LUxMVk0tdmVyc2lvbi13aGVuLXVzaW5nLUxMVk0tR2l0LXJlbGVhcy5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gOGI0MmZiNDcxMzhmOTFkOTM3ODQzOWFiNzE2YmFjNzcwMWU0ZTMyNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gY2U3YjlmZjY1MTdmZGEwODlmMjk2YjJhZjJjMWM0OTYwNDg3MjUxNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+CiBEYXRlOiBUdWUsIDUgSnVuIDIwMTggMTE6MTE6MTAgLTAzMDAKLVN1YmplY3Q6IFtQQVRDSCAzLzZdIFByb3Blcmx5IGdldCBMTFZNIHZlcnNpb24gd2hlbiB1c2luZyBMTFZNIEdpdCByZWxlYXNlcworU3ViamVjdDogW1BBVENIIDMvNF0gUHJvcGVybHkgZ2V0IExMVk0gdmVyc2lvbiB3aGVuIHVzaW5nIExMVk0gR2l0IHJlbGVhc2VzCiBPcmdhbml6YXRpb246IE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMVERBLgogCiAkIGxsdm0tY29uZmlnLWhvc3QgLS12ZXJzaW9uCkBAIC0xMywxNSArMTMsMTYgQEAKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZwogU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIFNpZ25lZC1vZmYtYnk6IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+CitTaWduZWQtb2ZmLWJ5OiBGYWJpbyBCZXJ0b24gPGZhYmlvLmJlcnRvbkBvc3N5c3RlbXMuY29tLmJyPgogLS0tCiAgY29uZmlndXJlLmFjIHwgNCArKy0tCiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotaW5kZXggOTE2ZDBiZDIwNy4uZGQxNzJmMWViZSAxMDA2NDQKK2luZGV4IDE4MTZhNGNkNDc1Li4xM2ZlZDlkYWY1OSAxMDA2NDQKIC0tLSBhL2NvbmZpZ3VyZS5hYwogKysrIGIvY29uZmlndXJlLmFjCi1AQCAtMTA5MCw3ICsxMDkwLDcgQEAgc3RyaXBfdW53YW50ZWRfbGx2bV9mbGFncygpIHsKK0BAIC0xMTI0LDcgKzExMjQsNyBAQCBzdHJpcF91bndhbnRlZF9sbHZtX2ZsYWdzKCkgewogIAogIGxsdm1fc2V0X2Vudmlyb25tZW50X3ZhcmlhYmxlcygpIHsKICAgICAgaWYgdGVzdCAieCRMTFZNX0NPTkZJRyIgIT0geG5vOyB0aGVuCkBAIC0zMCw3ICszMSw3IEBACiAgICAgICAgICBMTFZNX0NQUEZMQUdTPWBzdHJpcF91bndhbnRlZF9sbHZtX2ZsYWdzICIkTExWTV9DT05GSUcgLS1jcHBmbGFncyJgCiAgICAgICAgICBMTFZNX0lOQ0xVREVESVI9YCRMTFZNX0NPTkZJRyAtLWluY2x1ZGVkaXJgCiAgICAgICAgICBMTFZNX0xJQkRJUj1gJExMVk1fQ09ORklHIC0tbGliZGlyYAotQEAgLTI4MDgsNyArMjgwOCw3IEBAIGRldGVjdF9vbGRfYnVnZ3lfbGx2bSgpIHsKK0BAIC0yODcwLDcgKzI4NzAsNyBAQCBkZXRlY3Rfb2xkX2J1Z2d5X2xsdm0oKSB7CiAgICAgIGRubCBvdXJzZWx2ZXMuCiAgICAgIGRubCAoU2VlIGh0dHBzOi8vbGx2bS5vcmcvYnVncy9zaG93X2J1Zy5jZ2k/aWQ9NjgyMykKICAgICAgZG5sIFdlIGNhbid0IHVzZSAkTExWTV9WRVJTSU9OIGJlY2F1c2UgaXQgaGFzICdzdm4nIHN0cmlwcGVkIG91dCwKQEAgLTQwLDUgKzQxLDUgQEAKICAKICAgICAgaWYgdGVzdCAieCRsbHZtX2hhdmVfb25lX3NvIiA9IHh5ZXM7IHRoZW4KIC0tIAotMi4xOC4wCisyLjIxLjAKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9maWxlcy8wMDA0LVVzZS1QeXRob24tMy10by1leGVjdXRlLXRoZS1zY3JpcHRzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9maWxlcy8wMDA0LVVzZS1QeXRob24tMy10by1leGVjdXRlLXRoZS1zY3JpcHRzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OTUzYzRhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvZmlsZXMvMDAwNC1Vc2UtUHl0aG9uLTMtdG8tZXhlY3V0ZS10aGUtc2NyaXB0cy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLUZyb20gZWJlNjA3N2ExZDc0ZTU2YjI4MjQ5ZjcxZTg3NjAyOTVmYTg0NmVkMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+Ci1EYXRlOiBGcmksIDI5IERlYyAyMDE3IDEwOjI3OjU5IC0wMjAwCi1TdWJqZWN0OiBbUEFUQ0ggNC82XSBVc2UgUHl0aG9uIDMgdG8gZXhlY3V0ZSB0aGUgc2NyaXB0cwotT3JnYW5pemF0aW9uOiBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTFREQS4KLQotVGhlIE1FU0EgYnVpbGQgc3lzdGVtIHVzZXMgUHl0aG9uIDIgYnV0IGFzIE9FLUNvcmUgaGFzIG1vdmVkIGF3YXkgZnJvbQotaXQsIHdlIGNoYW5nZSBpdCB0byB1c2UgUHl0aG9uIDMgaW5zdGVhZC4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFsgY29uZmlndXJhdGlvbiBdCi0KLVNpZ25lZC1vZmYtYnk6IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+Ci0tLS0KLSBjb25maWd1cmUuYWMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IGRkMTcyZjFlYmUuLjQwY2FjMzZhYzIgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuYWMKLSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTEyMiw3ICsxMjIsNyBAQCBBTV9QUk9HX0NDX0NfTwotIEFDX1BST0dfTk0KLSBBTV9QUk9HX0FTCi0gQVhfQ0hFQ0tfR05VX01BS0UKLS1BQ19DSEVDS19QUk9HUyhbUFlUSE9OMl0sIFtweXRob24yLjcgcHl0aG9uMiBweXRob25dKQotK0FDX0NIRUNLX1BST0dTKFtQWVRIT04yXSwgW3B5dGhvbjMuNSBweXRob24zIHB5dGhvbl0pCi0gQUNfUFJPR19TRUQKLSBBQ19QUk9HX01LRElSX1AKLSAKLS0tIAotMi4xOC4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvZmlsZXMvMDAwNC11c2UtUEtHX0NIRUNLX1ZBUi1mb3ItZGVmaW5pbmctV0FZTEFORF9QUk9UT0NPTFNfREFULnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9maWxlcy8wMDA0LXVzZS1QS0dfQ0hFQ0tfVkFSLWZvci1kZWZpbmluZy1XQVlMQU5EX1BST1RPQ09MU19EQVQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDViY2Q0NgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvZmlsZXMvMDAwNC11c2UtUEtHX0NIRUNLX1ZBUi1mb3ItZGVmaW5pbmctV0FZTEFORF9QUk9UT0NPTFNfREFULnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK0Zyb20gNTQ4OWUxZDIyZTE4NzQwYTE5MjQ2MjhjNWM5NzA5NmQ0OGRjZmJmOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEZhYmlvIEJlcnRvbiA8ZmFiaW8uYmVydG9uQG9zc3lzdGVtcy5jb20uYnI+CitEYXRlOiBGcmksIDE1IEZlYiAyMDE5IDEwOjU3OjA2IC0wMjAwCitTdWJqZWN0OiBbUEFUQ0ggNC80XSB1c2UgUEtHX0NIRUNLX1ZBUiBmb3IgZGVmaW5pbmcgV0FZTEFORF9QUk9UT0NPTFNfREFUQURJUgorT3JnYW5pemF0aW9uOiBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTFREQS4KKworVGhpcyBhbGxvd3MgdG8gb3ZlcnJpZGUgdGhlIHdheWxhbmQtcHJvdG9jb2xzIHBrZ2RhdGFkaXIgd2l0aCB0aGUKK1dBWUxBTkRfUFJPVE9DT0xTX0RBVEFESVIgZnJvbSBlbnZpcm9ubWVudC4KKworcGtnY29uZmlnIHdvdWxkIHJldHVybiBhbiBhYnNvbHV0ZSBwYXRoIGluCisvdXNyL3NoYXJlL3dheWxhbmQtcHJvdG9jb2xzCitmb3IgdGhlIHBrZ2RhdGFkaXIgdmFsdWUsIHdoaWNoIGlzIG5vdCBzdWl0YWJsZSBmb3IgY3Jvc3MtY29tcGlsaW5nLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+CitTaWduZWQtb2ZmLWJ5OiBGYWJpbyBCZXJ0b24gPGZhYmlvLmJlcnRvbkBvc3N5c3RlbXMuY29tLmJyPgorLS0tCisgY29uZmlndXJlLmFjIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCAxM2ZlZDlkYWY1OS4uNmNmZjhhZmI3Y2YgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTE4NTIsNyArMTg1Miw3IEBAIGZvciBwbGF0IGluICRwbGF0Zm9ybXM7IGRvCisgICAgICAgICBpZiB0ZXN0ICJ4JGVuYWJsZV9lZ2wiID0geHllczsgdGhlbgorICAgICAgICAgICBQS0dfQ0hFQ0tfTU9EVUxFUyhbV0FZTEFORF9FR0xdLCBbd2F5bGFuZC1lZ2wtYmFja2VuZCA+PSAkV0FZTEFORF9FR0xfQkFDS0VORF9SRVFVSVJFRF0pCisgICAgICAgICBmaQorLSAgICAgICAgV0FZTEFORF9QUk9UT0NPTFNfREFUQURJUj1gJFBLR19DT05GSUcgLS12YXJpYWJsZT1wa2dkYXRhZGlyIHdheWxhbmQtcHJvdG9jb2xzYAorKyAgICAgICAgUEtHX0NIRUNLX1ZBUihbV0FZTEFORF9QUk9UT0NPTFNfREFUQURJUl0sIFt3YXlsYW5kLXByb3RvY29scyA+PSAkV0FZTEFORF9QUk9UT0NPTFNfUkVRVUlSRURdLCBwa2dkYXRhZGlyKQorIAorICAgICAgICAgUEtHX0NIRUNLX0VYSVNUUyhbd2F5bGFuZC1zY2FubmVyID49IDEuMTVdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgQUNfU1VCU1QoU0NBTk5FUl9BUkcsICdwcml2YXRlLWNvZGUnKSwKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvZmlsZXMvMDAwNS1kcmktaTk2NS1BZGQtbWlzc2luZy10aW1lLmgtaW5jbHVkZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvZmlsZXMvMDAwNS1kcmktaTk2NS1BZGQtbWlzc2luZy10aW1lLmgtaW5jbHVkZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDQwZTdiNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL2ZpbGVzLzAwMDUtZHJpLWk5NjUtQWRkLW1pc3NpbmctdGltZS5oLWluY2x1ZGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1Gcm9tIDllMDM2OGFmNDcxYWYzYTM2ZTBlYjUyNjQ1M2Y4OTI1OTgxMjAwNjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBPdGF2aW8gU2FsdmFkb3IgPG90YXZpb0Bvc3N5c3RlbXMuY29tLmJyPgotRGF0ZTogV2VkLCA2IEp1biAyMDE4IDA5OjUwOjM1IC0wMzAwCi1TdWJqZWN0OiBbUEFUQ0ggNS82XSBkcmk6IGk5NjU6IEFkZCBtaXNzaW5nIHRpbWUuaCBpbmNsdWRlCi1Pcmdhbml6YXRpb246IE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMVERBLgotCi1UaGlzIGZpeGVzIGEgYnVpbGQgZXJyb3Igd2hlbiB1c2luZyBtdXNsOgotCi0sLS0tLQotfCBJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4uL3NyYy9tZXNhL2RyaXZlcnMvZHJpL2k5NjUvaW50ZWxfdXBsb2FkLmM6MzM6MDoKLXwgLi4uL3NyYy9tZXNhL2RyaXZlcnMvZHJpL2k5NjUvYnJ3X2J1Zm1nci5oOjEzMjo0OiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ3RpbWVfdCcKLXwgICAgIHRpbWVfdCBmcmVlX3RpbWU7Ci18ICAgICBefn5+fn4KLWAtLS0tCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgWzNjMjg4ZGE1ZWVjODFlZTU4Yjg1OTI3ZGYxOGQ5MTk0ZWFkOGY1YzJdCi1TaWduZWQtb2ZmLWJ5OiBPdGF2aW8gU2FsdmFkb3IgPG90YXZpb0Bvc3N5c3RlbXMuY29tLmJyPgotLS0tCi0gc3JjL21lc2EvZHJpdmVycy9kcmkvaTk2NS9icndfYnVmbWdyLmggfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL3NyYy9tZXNhL2RyaXZlcnMvZHJpL2k5NjUvYnJ3X2J1Zm1nci5oIGIvc3JjL21lc2EvZHJpdmVycy9kcmkvaTk2NS9icndfYnVmbWdyLmgKLWluZGV4IDY4ZjVlMGMyYzguLjViNjBhMjM3NjMgMTAwNjQ0Ci0tLS0gYS9zcmMvbWVzYS9kcml2ZXJzL2RyaS9pOTY1L2Jyd19idWZtZ3IuaAotKysrIGIvc3JjL21lc2EvZHJpdmVycy9kcmkvaTk2NS9icndfYnVmbWdyLmgKLUBAIC0zNyw2ICszNyw3IEBACi0gI2luY2x1ZGUgPHN0ZGJvb2wuaD4KLSAjaW5jbHVkZSA8c3RkaW50Lmg+Ci0gI2luY2x1ZGUgPHN0ZGlvLmg+Ci0rI2luY2x1ZGUgPHRpbWUuaD4KLSAjaW5jbHVkZSAidXRpbC91X2F0b21pYy5oIgotICNpbmNsdWRlICJ1dGlsL2xpc3QuaCIKLSAKLS0tIAotMi4xOC4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvZmlsZXMvMDAwNi11c2UtUEtHX0NIRUNLX1ZBUi1mb3ItZGVmaW5pbmctV0FZTEFORF9QUk9UT0NPTFNfREFULnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9maWxlcy8wMDA2LXVzZS1QS0dfQ0hFQ0tfVkFSLWZvci1kZWZpbmluZy1XQVlMQU5EX1BST1RPQ09MU19EQVQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAyMTI5MjIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9maWxlcy8wMDA2LXVzZS1QS0dfQ0hFQ0tfVkFSLWZvci1kZWZpbmluZy1XQVlMQU5EX1BST1RPQ09MU19EQVQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi1Gcm9tIDc1NGNjZjg5YTczMmZjM2RhNmU5YmM2MmViZDZiMjg2ODZmZjNkMjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBPdGF2aW8gU2FsdmFkb3IgPG90YXZpb0Bvc3N5c3RlbXMuY29tLmJyPgotRGF0ZTogV2VkLCAyOSBBdWcgMjAxOCAyMjoxMDozMCAtMDMwMAotU3ViamVjdDogW1BBVENIIDYvNl0gdXNlIFBLR19DSEVDS19WQVIgZm9yIGRlZmluaW5nIFdBWUxBTkRfUFJPVE9DT0xTX0RBVEFESVIKLU9yZ2FuaXphdGlvbjogTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIExUREEuCi0KLVRoaXMgYWxsb3dzIHRvIG92ZXJyaWRlIHRoZSB3YXlsYW5kLXByb3RvY29scyBwa2dkYXRhZGlyIHdpdGggdGhlCi1XQVlMQU5EX1BST1RPQ09MU19EQVRBRElSIGZyb20gZW52aXJvbm1lbnQuCi0KLXBrZ2NvbmZpZyB3b3VsZCByZXR1cm4gYW4gYWJzb2x1dGUgcGF0aCBpbgotL3Vzci9zaGFyZS93YXlsYW5kLXByb3RvY29scwotZm9yIHRoZSBwa2dkYXRhZGlyIHZhbHVlLCB3aGljaCBpcyBub3Qgc3VpdGFibGUgZm9yIGNyb3NzLWNvbXBpbGluZy4KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBPdGF2aW8gU2FsdmFkb3IgPG90YXZpb0Bvc3N5c3RlbXMuY29tLmJyPgotLS0tCi0gY29uZmlndXJlLmFjIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCA0MGNhYzM2YWMyLi43MjhiYmRjYmM0IDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmFjCi0rKysgYi9jb25maWd1cmUuYWMKLUBAIC0xODIzLDcgKzE4MjMsNyBAQCBmb3IgcGxhdCBpbiAkcGxhdGZvcm1zOyBkbwotICAgICAgICAgUEtHX0NIRUNLX01PRFVMRVMoW1dBWUxBTkRfQ0xJRU5UXSwgW3dheWxhbmQtY2xpZW50ID49ICRXQVlMQU5EX1JFUVVJUkVEXSkKLSAgICAgICAgIFBLR19DSEVDS19NT0RVTEVTKFtXQVlMQU5EX1NFUlZFUl0sIFt3YXlsYW5kLXNlcnZlciA+PSAkV0FZTEFORF9SRVFVSVJFRF0pCi0gICAgICAgICBQS0dfQ0hFQ0tfTU9EVUxFUyhbV0FZTEFORF9QUk9UT0NPTFNdLCBbd2F5bGFuZC1wcm90b2NvbHMgPj0gJFdBWUxBTkRfUFJPVE9DT0xTX1JFUVVJUkVEXSkKLS0gICAgICAgIFdBWUxBTkRfUFJPVE9DT0xTX0RBVEFESVI9YCRQS0dfQ09ORklHIC0tdmFyaWFibGU9cGtnZGF0YWRpciB3YXlsYW5kLXByb3RvY29sc2AKLSsgICAgICAgIFBLR19DSEVDS19WQVIoW1dBWUxBTkRfUFJPVE9DT0xTX0RBVEFESVJdLCBbd2F5bGFuZC1wcm90b2NvbHMgPj0gJFdBWUxBTkRfUFJPVE9DT0xTX1JFUVVJUkVEXSwgcGtnZGF0YWRpcikKLSAKLSAgICAgICAgIEFDX1BBVEhfUFJPRyhbV0FZTEFORF9TQ0FOTkVSXSwgW3dheWxhbmQtc2Nhbm5lcl0sIFs6XSkKLSAKLS0tIAotMi4xOC4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS1nbF8xOC4xLjkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2EtZ2xfMTguMS45LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MzI2N2ViLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS1nbF8xOC4xLjkuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLXJlcXVpcmUgbWVzYV8ke1BWfS5iYgotCi1TVU1NQVJZICs9ICIgKE9wZW5HTCBvbmx5LCBubyBFR0wvR0xFUykiCi0KLVBST1ZJREVTID0gInZpcnR1YWwvbGliZ2wgdmlydHVhbC9tZXNhIgotCi1TID0gIiR7V09SS0RJUn0vbWVzYS0ke1BWfSIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIm9wZW5nbCBkcmkgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgZCl9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLWdsXzE5LjAuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS1nbF8xOS4wLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDRiMWMxYwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS1nbF8xOS4wLjEuYmIKQEAgLTAsMCArMSwxMCBAQAorcmVxdWlyZSBtZXNhXyR7UFZ9LmJiCisKK1NVTU1BUlkgKz0gIiAoT3BlbkdMIG9ubHksIG5vIEVHTC9HTEVTKSIKKworUFJPVklERVMgPSAidmlydHVhbC9saWJnbCB2aXJ0dWFsL21lc2EiCisKK1MgPSAiJHtXT1JLRElSfS9tZXNhLSR7UFZ9IgorCitQQUNLQUdFQ09ORklHID8/PSAib3BlbmdsIGRyaSAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCBkKX0iCitQQUNLQUdFQ09ORklHX2NsYXNzLXRhcmdldCA9ICJvcGVuZ2wgZHJpICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsIGQpfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2EuaW5jCmluZGV4IGY0N2YxYWEuLmVjZTc0OTcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLmluYwpAQCAtMjYsNyArMjYsOSBAQAogCiBpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgcHl0aG9uM25hdGl2ZSBnZXR0ZXh0IGRpc3Ryb19mZWF0dXJlc19jaGVjawogCi1BTllfT0ZfRElTVFJPX0ZFQVRVUkVTID0gIm9wZW5nbCB2dWxrYW4iCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK0FOWV9PRl9ESVNUUk9fRkVBVFVSRVNfY2xhc3MtdGFyZ2V0ID0gIm9wZW5nbCB2dWxrYW4iCiAKIFBMQVRGT1JNUyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignUEFDS0FHRUNPTkZJRycsICd4MTEgd2F5bGFuZCcsIGQpfSBcCiAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdnYm0nLCAnZHJtJywgJycsIGQpfSBcCkBAIC00MCwyNiArNDIsMzEgQEAKICAgICAgICAgICAgICAgICAtLWVuYWJsZS1nbHgtcmVhZC1vbmx5LXRleHQgXAogICAgICAgICAgICAgICAgIFBZVEhPTjI9cHl0aG9uMiBcCiAgICAgICAgICAgICAgICAgLS13aXRoLWxsdm0tcHJlZml4PSR7U1RBR0lOR19MSUJESVJ9L2xsdm0ke01FU0FfTExWTV9SRUxFQVNFfSBcCi0gICAgICAgICAgICAgICAgLS13aXRoLXBsYXRmb3Jtcz0nJHtQTEFURk9STVN9JyIKKyAgICAgICAgICAgICAgICAtLXdpdGgtcGxhdGZvcm1zPScke1BMQVRGT1JNU30nIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1hdXRvdG9vbHMgXAorIgogCi1QQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnd2F5bGFuZCB2dWxrYW4nLCBkKX0gXAotICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnb3BlbmdsJywgJ29wZW5nbCBlZ2wgZ2xlcyBnYm0gZHJpJywgJycsIGQpfSBcCitQQUNLQUdFQ09ORklHX2NsYXNzLXRhcmdldCA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3dheWxhbmQgdnVsa2FuJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ29wZW5nbCcsICdvcGVuZ2wgZWdsIGdsZXMgZ2JtIGRyaSBnYWxsaXVtJywgJycsIGQpfSBcCiAgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEgb3BlbmdsJywgJ3gxMSBkcmkzJywgJycsIGQpfSBcCiAgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEgdnVsa2FuJywgJ2RyaTMnLCAnJywgZCl9IFwKIAkJICAgIgorUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmUgPz0gImdibSBkcmkgZWdsIG9wZW5nbCIKK1BBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlc2RrID89ICJnYm0gZHJpIGVnbCBvcGVuZ2wiCiAKICMgImdibSIgcmVxdWlyZXMgImRyaSIsICJvcGVuZ2wiCiBQQUNLQUdFQ09ORklHW2dibV0gPSAiLS1lbmFibGUtZ2JtLC0tZGlzYWJsZS1nYm0iCiAKLVgxMV9ERVBTID0gInhvcmdwcm90byB2aXJ0dWFsL2xpYngxMSBsaWJ4ZXh0IGxpYnh4Zjg2dm0gbGlieGRhbWFnZSBsaWJ4Zml4ZXMiCitYMTFfREVQUyA9ICJ4b3JncHJvdG8gdmlydHVhbC9saWJ4MTEgbGlieGV4dCBsaWJ4eGY4NnZtIGxpYnhkYW1hZ2UgbGlieGZpeGVzIHhyYW5kciIKICMgIngxMSIgcmVxdWlyZXMgIm9wZW5nbCIKIFBBQ0tBR0VDT05GSUdbeDExXSA9ICItLWVuYWJsZS1nbHgtdGxzLC0tZGlzYWJsZS1nbHgsJHtYMTFfREVQU30iCiBQQUNLQUdFQ09ORklHW3h2bWNdID0gIi0tZW5hYmxlLXh2bWMsLS1kaXNhYmxlLXh2bWMsbGlieHZtYyIKIFBBQ0tBR0VDT05GSUdbd2F5bGFuZF0gPSAiLCx3YXlsYW5kLW5hdGl2ZSB3YXlsYW5kIGxpYmRybSB3YXlsYW5kLXByb3RvY29scyIKIAotRFJJRFJJVkVSUyA9ICJzd3Jhc3QiCi1EUklEUklWRVJTX2FwcGVuZF94ODYgPSAiLHJhZGVvbixyMjAwLG5vdXZlYXUsaTk2NSxpOTE1IgotRFJJRFJJVkVSU19hcHBlbmRfeDg2LTY0ID0gIixyYWRlb24scjIwMCxub3V2ZWF1LGk5NjUsaTkxNSIKK0RSSURSSVZFUlNfY2xhc3MtbmF0aXZlID0gInN3cmFzdCIKK0RSSURSSVZFUlNfY2xhc3MtbmF0aXZlc2RrID0gInN3cmFzdCIKK0RSSURSSVZFUlNfYXBwZW5kX3g4Nl9jbGFzcy10YXJnZXQgPSAiLHJhZGVvbixyMjAwLG5vdXZlYXUsaTk2NSxpOTE1IgorRFJJRFJJVkVSU19hcHBlbmRfeDg2LTY0X2NsYXNzLXRhcmdldCA9ICIscmFkZW9uLHIyMDAsbm91dmVhdSxpOTY1LGk5MTUiCiAjICJkcmkiIHJlcXVpcmVzICJvcGVuZ2wiCiBQQUNLQUdFQ09ORklHW2RyaV0gPSAiLS1lbmFibGUtZHJpIC0td2l0aC1kcmktZHJpdmVycz0ke0RSSURSSVZFUlN9LCAtLWRpc2FibGUtZHJpLCB4b3JncHJvdG8gbGliZHJtIgogUEFDS0FHRUNPTkZJR1tkcmkzXSA9ICItLWVuYWJsZS1kcmkzLCAtLWRpc2FibGUtZHJpMywgeG9yZ3Byb3RvIGxpYnhzaG1mZW5jZSIKQEAgLTY3LDggKzc0LDggQEAKICMgVnVsa2FuIGRyaXZlcnMgbmVlZCBkcmkzIGVuYWJsZWQKICMgcmFkZW9uIGNvdWxkIGJlIGVuYWJsZWQgYXMgd2VsbCBidXQgcmVxdWlyZXMgZ2FsbGl1bS1sbHZtIHdpdGggbGx2bSA+PSAzLjkKIFZVTEtBTl9EUklWRVJTID0gIiIKLVZVTEtBTl9EUklWRVJTX2FwcGVuZF94ODYgPSAiLGludGVsIgotVlVMS0FOX0RSSVZFUlNfYXBwZW5kX3g4Ni02NCA9ICIsaW50ZWwiCitWVUxLQU5fRFJJVkVSU19hcHBlbmRfeDg2X2NsYXNzLXRhcmdldCA9ICIsaW50ZWwiCitWVUxLQU5fRFJJVkVSU19hcHBlbmRfeDg2LTY0X2NsYXNzLXRhcmdldCA9ICIsaW50ZWwiCiBQQUNLQUdFQ09ORklHW3Z1bGthbl0gPSAiLS13aXRoLXZ1bGthbi1kcml2ZXJzPSR7VlVMS0FOX0RSSVZFUlN9LCAtLXdpdGhvdXQtdnVsa2FuLWRyaXZlcnMsIHB5dGhvbjMtbWFrby1uYXRpdmUiCiAKIFBBQ0tBR0VDT05GSUdbb3BlbmdsXSA9ICItLWVuYWJsZS1vcGVuZ2wsIC0tZGlzYWJsZS1vcGVuZ2wiCkBAIC04NSwxNyArOTIsMjEgQEAKIEdBTExJVU1EUklWRVJTID0gInN3cmFzdCIKIEdBTExJVU1EUklWRVJTX2FwcGVuZCA9IiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2V0bmF2aXYnLCAnLGV0bmF2aXYnLCAnJywgZCl9IgogR0FMTElVTURSSVZFUlNfYXBwZW5kID0iJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnaW14JywgJyxpbXgnLCAnJywgZCl9IgotR0FMTElVTURSSVZFUlNfTExWTTMzID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3I2MDAnLCAncmFkZW9uc2kscjYwMCcsICcnLCBkKX0iCi1QQUNLQUdFQ09ORklHW3I2MDBdID0gIiIKKworIyByYWRlb25zaSByZXF1aXJlcyBMTFZNCitHQUxMSVVNRFJJVkVSU19MTFZNMzMgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncjYwMCcsICcscmFkZW9uc2knLCAnJywgZCl9IgogR0FMTElVTURSSVZFUlNfTExWTTMzX0VOQUJMRUQgPSAiJHtAb2UudXRpbHMudmVyc2lvbl9sZXNzX29yX2VxdWFsKCdNRVNBX0xMVk1fUkVMRUFTRScsICczLjInLCBGYWxzZSwgbGVuKCcke0dBTExJVU1EUklWRVJTX0xMVk0zM30nKSA+IDAsIGQpfSIKIEdBTExJVU1EUklWRVJTX0xMVk0gPSAicjMwMCxzdmdhLG5vdXZlYXUke0AnLCR7R0FMTElVTURSSVZFUlNfTExWTTMzfScgaWYgJHtHQUxMSVVNRFJJVkVSU19MTFZNMzNfRU5BQkxFRH0gZWxzZSAnJ30iCi1HQUxMSVVNRFJJVkVSU19hcHBlbmRfeDg2ID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2dhbGxpdW0tbGx2bScsICcsJHtHQUxMSVVNRFJJVkVSU19MTFZNfScsICcnLCBkKX0iCi1HQUxMSVVNRFJJVkVSU19hcHBlbmRfeDg2LTY0ID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2dhbGxpdW0tbGx2bScsICcsJHtHQUxMSVVNRFJJVkVSU19MTFZNfScsICcnLCBkKX0iCi1HQUxMSVVNRFJJVkVSU19hcHBlbmRfeDg2ID0gIix2aXJnbCIKLUdBTExJVU1EUklWRVJTX2FwcGVuZF94ODYtNjQgPSAiLHZpcmdsIgorCitQQUNLQUdFQ09ORklHW3I2MDBdID0gIiIKKworR0FMTElVTURSSVZFUlNfYXBwZW5kID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2dhbGxpdW0tbGx2bScsICcsJHtHQUxMSVVNRFJJVkVSU19MTFZNfScsICcnLCBkKX0iCitHQUxMSVVNRFJJVkVSU19hcHBlbmQgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncjYwMCcsICcscjYwMCcsICcnLCBkKX0iCitHQUxMSVVNRFJJVkVSU19hcHBlbmQgPSAiLHZpcmdsIgorCiAjIGtlZXAgLS13aXRoLWdhbGxpdW0tZHJpdmVycyBzZXBhcmF0ZSwgYmVjYXVzZSB3aGVuIG9ubHkgb25lIG9mIGdhbGxpdW0gdmVyc2lvbnMgaXMgZW5hYmxlZCwgb3RoZXIgMiB3ZXJlIGFkZGluZyAtLXdpdGhvdXQtZ2FsbGl1bS1kcml2ZXJzCi1QQUNLQUdFQ09ORklHW2dhbGxpdW1dICAgICAgPSAiLS1lbmFibGUtdGV4dHVyZS1mbG9hdCAtLXdpdGgtZ2FsbGl1bS1kcml2ZXJzPSR7R0FMTElVTURSSVZFUlN9LCAtLXdpdGhvdXQtZ2FsbGl1bS1kcml2ZXJzIgotTUVTQV9MTFZNX1JFTEVBU0UgPz0gIjYuMCIKK1BBQ0tBR0VDT05GSUdbZ2FsbGl1bV0gPSAiLS13aXRoLWdhbGxpdW0tZHJpdmVycz0ke0dBTExJVU1EUklWRVJTfSwgLS13aXRob3V0LWdhbGxpdW0tZHJpdmVycyIKK01FU0FfTExWTV9SRUxFQVNFID89ICI4LjAuMCIKIFBBQ0tBR0VDT05GSUdbZ2FsbGl1bS1sbHZtXSA9ICItLWVuYWJsZS1sbHZtIC0tZW5hYmxlLWxsdm0tc2hhcmVkLWxpYnMsIC0tZGlzYWJsZS1sbHZtLCBsbHZtJHtNRVNBX0xMVk1fUkVMRUFTRX0gbGx2bS1uYXRpdmUgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7QCdlbGZ1dGlscycgaWYgJHtHQUxMSVVNRFJJVkVSU19MTFZNMzNfRU5BQkxFRH0gZWxzZSAnJ30iCiBleHBvcnQgV0FOVF9MTFZNX1JFTEVBU0UgPSAiJHtNRVNBX0xMVk1fUkVMRUFTRX0iCkBAIC0xNDEsNiArMTUyLDcgQEAKICAgICBybSAtZiAke0R9JHtsaWJkaXJ9L2dhbGxpdW0tcGlwZS8qLmxhCiAgICAgcm0gLWYgJHtEfSR7bGliZGlyfS9nYm0vKi5sYQogCisgICAgIyBpdCB3YXMgcGFja2FnZWQgaW4gbGliZHJpY29yZTkuMS4zLTEgYW5kIHByZXZlbnRpbmcgdXBncmFkZXMgd2hlbiBkZWJpYW4uYmJjbGFzcyB3YXMgdXNlZCAKICAgICBjaHJwYXRoIC0tZGVsZXRlICR7RH0ke2xpYmRpcn0vZHJpLypfZHJpLnNvIHx8IHRydWUKIAogICAgICMgbGlid2F5bGFuZC1lZ2wgaGFzIGJlZW4gbW92ZWQgdG8gd2F5bGFuZCAxLjE1KwpAQCAtMTkyLDcgKzIwNCw3IEBACiAgICAgICAgIGRyaV9wa2dzID0gb3MubGlzdGRpcihkcmlfZHJpdmVyc19yb290KQogICAgICAgICBsaWJfbmFtZSA9IGQuZXhwYW5kKCIke01MUFJFRklYfW1lc2EtbWVnYWRyaXZlciIpCiAgICAgICAgIGZvciBwIGluIGRyaV9wa2dzOgotICAgICAgICAgICAgbSA9IHJlLm1hdGNoKCdeKC4qKV9kcmlcLnNvJCcsIHApCisgICAgICAgICAgICBtID0gcmUubWF0Y2gocideKC4qKV9kcmlcLnNvJCcsIHApCiAgICAgICAgICAgICBpZiBtOgogICAgICAgICAgICAgICAgIHBrZ19uYW1lID0gIiAke01MUFJFRklYfW1lc2EtZHJpdmVyLSVzIiAlIGxlZ2l0aW1pemVfcGFja2FnZV9uYW1lKG0uZ3JvdXAoMSkpCiAgICAgICAgICAgICAgICAgZC5hcHBlbmRWYXIoIlJQUk9WSURFU18lcyIgJSBsaWJfbmFtZSwgcGtnX25hbWUpCkBAIC0yMDAsMTUgKzIxMiwxNCBAQAogICAgICAgICAgICAgICAgIGQuYXBwZW5kVmFyKCJSUkVQTEFDRVNfJXMiICUgbGliX25hbWUsIHBrZ19uYW1lKQogCiAgICAgcGlwZV9kcml2ZXJzX3Jvb3QgPSBvcy5wYXRoLmpvaW4oZC5nZXRWYXIoJ2xpYmRpcicpLCAiZ2FsbGl1bS1waXBlIikKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwaXBlX2RyaXZlcnNfcm9vdCwgJ15waXBlXyguKilcLnNvJCcsICdtZXNhLWRyaXZlci1waXBlLSVzJywgJ01lc2EgJXMgcGlwZSBkcml2ZXInLCBleHRyYV9kZXBlbmRzPScnKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHBpcGVfZHJpdmVyc19yb290LCByJ15waXBlXyguKilcLnNvJCcsICdtZXNhLWRyaXZlci1waXBlLSVzJywgJ01lc2EgJXMgcGlwZSBkcml2ZXInLCBleHRyYV9kZXBlbmRzPScnKQogfQogCiBQQUNLQUdFU1BMSVRGVU5DU19wcmVwZW5kID0gIm1lc2FfcG9wdWxhdGVfcGFja2FnZXMgIgogCiBQQUNLQUdFU19EWU5BTUlDICs9ICJebWVzYS1kcml2ZXItLioiCiAKLUZJTEVTXyR7UE59ID0gIiIKLUZJTEVTX21lc2EtbWVnYWRyaXZlciA9ICIke2xpYmRpcn0vZHJpLyogJHtzeXNjb25mZGlyfSIKK0ZJTEVTX21lc2EtbWVnYWRyaXZlciA9ICIke2xpYmRpcn0vZHJpLyogJHtkYXRhZGlyfS9kcmlyYy5kLzAwLW1lc2EtZGVmYXVsdHMuY29uZiIKIEZJTEVTX21lc2EtdnVsa2FuLWRyaXZlcnMgPSAiJHtsaWJkaXJ9L2xpYnZ1bGthbl8qLnNvICR7ZGF0YWRpcn0vdnVsa2FuIgogRklMRVNfbGliZWdsLW1lc2EgPSAiJHtsaWJkaXJ9L2xpYkVHTC5zby4qIgogRklMRVNfbGliZ2JtID0gIiR7bGliZGlyfS9saWJnYm0uc28uKiIKQEAgLTIzMSwzICsyNDIsOCBAQAogRklMRVNfbGlieGF0cmFja2VyLWRldiA9ICIke2xpYmRpcn0vbGlieGF0cmFja2VyLnNvICR7bGliZGlyfS9saWJ4YXRyYWNrZXIubGEgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAke2luY2x1ZGVkaXJ9L3hhX3RyYWNrZXIuaCAke2luY2x1ZGVkaXJ9L3hhX2NvbXBvc2l0ZS5oICR7aW5jbHVkZWRpcn0veGFfY29udGV4dC5oIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BrZ2NvbmZpZy94YXRyYWNrZXIucGMiCisKKyMgRml4IHVwZ3JhZGUgcGF0aCBmcm9tIG1lc2EgdG8gbWVzYS1tZWdhZHJpdmVyCitSUkVQTEFDRVNfbWVzYS1tZWdhZHJpdmVyID0gIm1lc2EiCitSQ09ORkxJQ1RTX21lc2EtbWVnYWRyaXZlciA9ICJtZXNhIgorUlBST1ZJREVTX21lc2EtbWVnYWRyaXZlciA9ICJtZXNhIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhXzE4LjEuOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYV8xOC4xLjkuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2ZDZhNmIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhXzE4LjEuOS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLXJlcXVpcmUgJHtCUE59LmluYwotCi1TUkNfVVJJID0gImh0dHBzOi8vbWVzYS5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZS9tZXNhLSR7UFZ9LnRhci54eiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLVNpbXBsaWZ5LXdheWxhbmQtc2Nhbm5lci1sb29rdXAucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi13aW5zeXMtc3ZnYS1kcm0tSW5jbHVkZS1zeXMtdHlwZXMuaC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAzLVByb3Blcmx5LWdldC1MTFZNLXZlcnNpb24td2hlbi11c2luZy1MTFZNLUdpdC1yZWxlYXMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNC1Vc2UtUHl0aG9uLTMtdG8tZXhlY3V0ZS10aGUtc2NyaXB0cy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA1LWRyaS1pOTY1LUFkZC1taXNzaW5nLXRpbWUuaC1pbmNsdWRlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDYtdXNlLVBLR19DSEVDS19WQVItZm9yLWRlZmluaW5nLVdBWUxBTkRfUFJPVE9DT0xTX0RBVC5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIyZjhkMjA5OGFiNDc4YmMzOTA3ZTQyMTMwNTc3YjU0YSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI1NWY1Nzc4ZDU4YTcxMGE2M2Q2NjM1ZjAwMDUzNTc2OGZhZjdkYjllODE0NGRjMGY0ZmQxOTg5ZjkzNmMxYTgzIgotCi0jYmVjYXVzZSB3ZSBjYW5ub3QgcmVseSBvbiB0aGUgZmFjdCB0aGF0IGFsbCBhcHBzIHdpbGwgdXNlIHBrZ2NvbmZpZywKLSNtYWtlIGVnbHBsYXRmb3JtLmggaW5kZXBlbmRlbnQgb2YgTUVTQV9FR0xfTk9fWDExX0hFQURFUgotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZWdsJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KLSAgICAgICAgc2VkIC1pIC1lICdzL14jaWYgZGVmaW5lZChNRVNBX0VHTF9OT19YMTFfSEVBREVSUykkLyNpZiBkZWZpbmVkKE1FU0FfRUdMX05PX1gxMV9IRUFERVJTKSB8fCAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICd4MTEnLCAnMCcsICcxJywgZCl9LycgJHtEfSR7aW5jbHVkZWRpcn0vRUdML2VnbHBsYXRmb3JtLmgKLSAgICBmaQotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhXzE5LjAuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYV8xOS4wLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDkwYmU4YQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYV8xOS4wLjEuYmIKQEAgLTAsMCArMSwxOSBAQAorcmVxdWlyZSAke0JQTn0uaW5jCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9tZXNhLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlL21lc2EtJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtU2ltcGxpZnktd2F5bGFuZC1zY2FubmVyLWxvb2t1cC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLXdpbnN5cy1zdmdhLWRybS1JbmNsdWRlLXN5cy10eXBlcy5oLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtUHJvcGVybHktZ2V0LUxMVk0tdmVyc2lvbi13aGVuLXVzaW5nLUxMVk0tR2l0LXJlbGVhcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA0LXVzZS1QS0dfQ0hFQ0tfVkFSLWZvci1kZWZpbmluZy1XQVlMQU5EX1BST1RPQ09MU19EQVQucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMTk2MzZiYjNkYTM1YzIxZjQzMDQwZDMxZTU3NWQ1Y2UiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjg4NDE2M2MwZWE5ZTRjOTgzNzhhYjhmZWNkNzJmZTdiNWY0Mzc3MTNhMTQ0NzFiZWRhMzc4ZGYyNDc5OTlkNCIKKworI2JlY2F1c2Ugd2UgY2Fubm90IHJlbHkgb24gdGhlIGZhY3QgdGhhdCBhbGwgYXBwcyB3aWxsIHVzZSBwa2djb25maWcsCisjbWFrZSBlZ2xwbGF0Zm9ybS5oIGluZGVwZW5kZW50IG9mIE1FU0FfRUdMX05PX1gxMV9IRUFERVIKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2VnbCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgIHNlZCAtaSAtZSAncy9eI2lmIGRlZmluZWQoTUVTQV9FR0xfTk9fWDExX0hFQURFUlMpJC8jaWYgZGVmaW5lZChNRVNBX0VHTF9OT19YMTFfSEVBREVSUykgfHwgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAneDExJywgJzAnLCAnMScsIGQpfS8nICR7RH0ke2luY2x1ZGVkaXJ9L0VHTC9lZ2xwbGF0Zm9ybS5oCisgICAgZmkKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BhbmdvL3BhbmdvLzAwMDEtRW5mb3JjZS1yZWNyZWF0aW9uLW9mLWRvY3MtcGFuZ28udHlwZXMtaXQtaXMtYnVpbGQtYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BhbmdvL3BhbmdvLzAwMDEtRW5mb3JjZS1yZWNyZWF0aW9uLW9mLWRvY3MtcGFuZ28udHlwZXMtaXQtaXMtYnVpbGQtYy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjc4NGExMC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9wYW5nby9wYW5nby8wMDAxLUVuZm9yY2UtcmVjcmVhdGlvbi1vZi1kb2NzLXBhbmdvLnR5cGVzLWl0LWlzLWJ1aWxkLWMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNDcgKzAsMCBAQAotRnJvbSA1MjZhNmE5ZmM5YTFjZmU3NWM1MjFjOGJiMzliNjE3NTRmZTQyZmU4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDIgU2VwIDIwMTYgMTQ6MDA6MjQgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSF0gRW5mb3JjZSByZWNyZWF0aW9uIG9mIGRvY3MvcGFuZ28udHlwZXM7IGl0IGlzIGJ1aWxkCi0gY29uZmlndXJhdGlvbi1zcGVjaWZpYy4KLQotSW4gcGFydGljdWxhciwgaXQgbmVlZHMgdG8gZXhjbHVkZSByZWZlcmVuY2VzIHRvIFBhbmdvWGZ0IGlmIFhmdCBpcyBub3QgYXZhaWxhYmxlLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLVNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgotLS0tCi0gZG9jcy9NYWtlZmlsZS5hbSB8IDE3ICsrKystLS0tLS0tLQotIGRvY3MvcGFuZ28udHlwZXMgfCA4MCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIDIgZmlsZXMgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA5MiBkZWxldGlvbnMoLSkKLSBkZWxldGUgbW9kZSAxMDA2NDQgZG9jcy9wYW5nby50eXBlcwotCi1kaWZmIC0tZ2l0IGEvZG9jcy9NYWtlZmlsZS5hbSBiL2RvY3MvTWFrZWZpbGUuYW0KLWluZGV4IGY1ZjEzMTcuLjg5NDdhOTkgMTAwNjQ0Ci0tLS0gYS9kb2NzL01ha2VmaWxlLmFtCi0rKysgYi9kb2NzL01ha2VmaWxlLmFtCi1AQCAtNDksNiArNDksMTAgQEAgSUdOT1JFX0hGSUxFUz0JCQlcCi0gCXBhbmdvY29yZXRleHQtcHJpdmF0ZS5oCQlcCi0gCXBhbmdvYXRzdWktcHJpdmF0ZS5oCi0gCi0raWYgIUhBVkVfWEZUCi0rSUdOT1JFX0hGSUxFUyArPSBwYW5nb3hmdCBwYW5nb3hmdC1yZW5kZXIuaAotK2VuZGlmCi0rCi0gIyBDRkxBR1MgYW5kIExERkxBR1MgZm9yIGNvbXBpbGluZyBzY2FuIHByb2dyYW0uIE9ubHkgbmVlZGVkCi0gIyBpZiAkKERPQ19NT0RVTEUpLnR5cGVzIGlzIG5vbi1lbXB0eS4KLSBJTkNMVURFUyA9ICAgICAgICAgICAgICAgCVwKLUBAIC0xMDMsMTYgKzEwNyw2IEBAIGluY2x1ZGUgJCh0b3Bfc3JjZGlyKS9ndGstZG9jLm1ha2UKLSAjIFRoaXMgbGluZSByZWFsbHkgYmVsb25ncyBpbiBndGstZG9jLm1rCi0gJChSRVBPUlRfRklMRVMpOiBzZ21sLWJ1aWxkLnN0YW1wCi0gCi0tcGFuZ28udHlwZXM6Ci0tCUBlY2hvICJSZWJ1aWxkaW5nICRAIgotLQlATEFORz1DOyBMSVNUPSQkKGdyZXAgJ3BhbmdvX1tfYS16QS1aMC05XSpfZ2V0X3R5cGUnICQoSEZJTEVfR0xPQikgfCBncmVwIC12ICdcKHByaXZhdGVcfGF0c3VpXHxjb3JlX3RleHRcfHdpbjMyXCknIHwgc2VkICdzL1woW146XSo6XCkuKlwocGFuZ29bX2EtekEtWjAtOV0qX2dldF90eXBlXCkuKi9cMVwyLycpICYmIFwKLS0JZWNobyAiJCRMSVNUIiB8IHNlZCAncy8uKlwvXChwYW5nb1wvLipcKTouKi8jaW5jbHVkZSA8XDE+LycgfCBzb3J0IC11ID4gJEAudG1wICYmIFwKLS0JZWNobyA+PiAkQC50bXAgJiYgXAotLQllY2hvICIkJExJU1QiIHwgY3V0IC1kIDogLWYgMiB8IHNvcnQgLXUgPj4gJEAudG1wICYmIFwKLS0JbXYgJEAudG1wICRACi0tCi0tQlVJTFRfU09VUkNFUyA9IHBhbmdvLnR5cGVzCi0tCi0gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0gCi0gTUFJTlRBSU5FUkNMRUFORklMRVMgPSAkKEJVSUxUX1NPVVJDRVMpCi1AQCAtMTIwLDggKzExNCw3IEBAIEVYVFJBX0RJU1QgKz0JCQkJXAotIAlsYXlvdXQuZmlnCQkJXAotIAlsYXlvdXQuZXBzCQkJXAotIAl2ZXJzaW9uLnhtbC5pbgkJCVwKLS0JY2hlY2suZG9jcwkJCVwKLS0JcGFuZ28udHlwZXMKLSsJY2hlY2suZG9jcwotIAotICMgZm9yY2UgZG9jIHJlYnVsaWQgYWZ0ZXIgY29uZmlndXJlCi0gZGlzdC1ob29rLWxvY2FsOiBkaXN0LWxvY2FsLWNoZWNrLW5vLWNyb3NzLXJlZmVyZW5jZXMgYWxsLWxvY2FsCi1kaWZmIC0tZ2l0IGEvZG9jcy9wYW5nby50eXBlcyBiL2RvY3MvcGFuZ28udHlwZXMKLWRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggN2Q5M2NkYS4uMDAwMDAwMAotLS0tIGEvZG9jcy9wYW5nby50eXBlcwotKysrIC9kZXYvbnVsbAotQEAgLTEsODAgKzAsMCBAQAotLSNpbmNsdWRlIDxwYW5nby9wYW5nby1hdHRyaWJ1dGVzLmg+Ci0tI2luY2x1ZGUgPHBhbmdvL3BhbmdvLWNvbnRleHQuaD4KLS0jaW5jbHVkZSA8cGFuZ28vcGFuZ28tZW5naW5lLmg+Ci0tI2luY2x1ZGUgPHBhbmdvL3BhbmdvLWVudW0tdHlwZXMuaD4KLS0jaW5jbHVkZSA8cGFuZ28vcGFuZ28tZm9udC5oPgotLSNpbmNsdWRlIDxwYW5nby9wYW5nby1mb250bWFwLmg+Ci0tI2luY2x1ZGUgPHBhbmdvL3BhbmdvLWZvbnRzZXQuaD4KLS0jaW5jbHVkZSA8cGFuZ28vcGFuZ28tZ2x5cGgtaXRlbS5oPgotLSNpbmNsdWRlIDxwYW5nby9wYW5nby1nbHlwaC5oPgotLSNpbmNsdWRlIDxwYW5nby9wYW5nby1pdGVtLmg+Ci0tI2luY2x1ZGUgPHBhbmdvL3BhbmdvLWxhbmd1YWdlLmg+Ci0tI2luY2x1ZGUgPHBhbmdvL3BhbmdvLWxheW91dC5oPgotLSNpbmNsdWRlIDxwYW5nby9wYW5nby1tYXRyaXguaD4KLS0jaW5jbHVkZSA8cGFuZ28vcGFuZ28tb3QuaD4KLS0jaW5jbHVkZSA8cGFuZ28vcGFuZ28tcmVuZGVyZXIuaD4KLS0jaW5jbHVkZSA8cGFuZ28vcGFuZ28tdGFicy5oPgotLSNpbmNsdWRlIDxwYW5nby9wYW5nb2NhaXJvLWZjLmg+Ci0tI2luY2x1ZGUgPHBhbmdvL3BhbmdvY2Fpcm8uaD4KLS0jaW5jbHVkZSA8cGFuZ28vcGFuZ29mYy1kZWNvZGVyLmg+Ci0tI2luY2x1ZGUgPHBhbmdvL3BhbmdvZmMtZm9udC5oPgotLSNpbmNsdWRlIDxwYW5nby9wYW5nb2ZjLWZvbnRtYXAuaD4KLS0jaW5jbHVkZSA8cGFuZ28vcGFuZ29mdDIuaD4KLS0jaW5jbHVkZSA8cGFuZ28vcGFuZ294ZnQtcmVuZGVyLmg+Ci0tI2luY2x1ZGUgPHBhbmdvL3BhbmdveGZ0Lmg+Ci0tCi0tcGFuZ29fYWxpZ25tZW50X2dldF90eXBlCi0tcGFuZ29fYXR0cl9saXN0X2dldF90eXBlCi0tcGFuZ29fYXR0cl90eXBlX2dldF90eXBlCi0tcGFuZ29fYmlkaV90eXBlX2dldF90eXBlCi0tcGFuZ29fY2Fpcm9fZmNfZm9udF9tYXBfZ2V0X3R5cGUKLS1wYW5nb19jYWlyb19mb250X2dldF90eXBlCi0tcGFuZ29fY2Fpcm9fZm9udF9tYXBfZ2V0X3R5cGUKLS1wYW5nb19jb2xvcl9nZXRfdHlwZQotLXBhbmdvX2NvbnRleHRfZ2V0X3R5cGUKLS1wYW5nb19jb3ZlcmFnZV9sZXZlbF9nZXRfdHlwZQotLXBhbmdvX2RpcmVjdGlvbl9nZXRfdHlwZQotLXBhbmdvX2VsbGlwc2l6ZV9tb2RlX2dldF90eXBlCi0tcGFuZ29fZW5naW5lX2dldF90eXBlCi0tcGFuZ29fZW5naW5lX2xhbmdfZ2V0X3R5cGUKLS1wYW5nb19lbmdpbmVfc2hhcGVfZ2V0X3R5cGUKLS1wYW5nb19mY19kZWNvZGVyX2dldF90eXBlCi0tcGFuZ29fZmNfZm9udF9nZXRfdHlwZQotLXBhbmdvX2ZjX2ZvbnRfbWFwX2dldF90eXBlCi0tcGFuZ29fZm9udF9kZXNjcmlwdGlvbl9nZXRfdHlwZQotLXBhbmdvX2ZvbnRfZmFjZV9nZXRfdHlwZQotLXBhbmdvX2ZvbnRfZmFtaWx5X2dldF90eXBlCi0tcGFuZ29fZm9udF9nZXRfdHlwZQotLXBhbmdvX2ZvbnRfbWFwX2dldF90eXBlCi0tcGFuZ29fZm9udF9tYXNrX2dldF90eXBlCi0tcGFuZ29fZm9udF9tZXRyaWNzX2dldF90eXBlCi0tcGFuZ29fZm9udHNldF9nZXRfdHlwZQotLXBhbmdvX2ZvbnRzZXRfc2ltcGxlX2dldF90eXBlCi0tcGFuZ29fZnQyX2ZvbnRfbWFwX2dldF90eXBlCi0tcGFuZ29fZ2x5cGhfaXRlbV9nZXRfdHlwZQotLXBhbmdvX2dseXBoX2l0ZW1faXRlcl9nZXRfdHlwZQotLXBhbmdvX2dseXBoX3N0cmluZ19nZXRfdHlwZQotLXBhbmdvX2dyYXZpdHlfZ2V0X3R5cGUKLS1wYW5nb19ncmF2aXR5X2hpbnRfZ2V0X3R5cGUKLS1wYW5nb19pdGVtX2dldF90eXBlCi0tcGFuZ29fbGFuZ3VhZ2VfZ2V0X3R5cGUKLS1wYW5nb19sYXlvdXRfZ2V0X3R5cGUKLS1wYW5nb19sYXlvdXRfaXRlcl9nZXRfdHlwZQotLXBhbmdvX2xheW91dF9saW5lX2dldF90eXBlCi0tcGFuZ29fbWF0cml4X2dldF90eXBlCi0tcGFuZ29fb3RfaW5mb19nZXRfdHlwZQotLXBhbmdvX290X3J1bGVzZXRfZ2V0X3R5cGUKLS1wYW5nb19yZW5kZXJfcGFydF9nZXRfdHlwZQotLXBhbmdvX3JlbmRlcmVyX2dldF90eXBlCi0tcGFuZ29fc2NyaXB0X2dldF90eXBlCi0tcGFuZ29fc3RyZXRjaF9nZXRfdHlwZQotLXBhbmdvX3N0eWxlX2dldF90eXBlCi0tcGFuZ29fdGFiX2FsaWduX2dldF90eXBlCi0tcGFuZ29fdGFiX2FycmF5X2dldF90eXBlCi0tcGFuZ29fdW5kZXJsaW5lX2dldF90eXBlCi0tcGFuZ29fdmFyaWFudF9nZXRfdHlwZQotLXBhbmdvX3dlaWdodF9nZXRfdHlwZQotLXBhbmdvX3dyYXBfbW9kZV9nZXRfdHlwZQotLXBhbmdvX3hmdF9mb250X2dldF90eXBlCi0tcGFuZ29feGZ0X2ZvbnRfbWFwX2dldF90eXBlCi0tcGFuZ29feGZ0X3JlbmRlcmVyX2dldF90eXBlCi0tLSAKLTIuOS4zCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BhbmdvL3BhbmdvL2luc2Vuc2l0aXZlLWRpZmYucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9wYW5nby9wYW5nby9pbnNlbnNpdGl2ZS1kaWZmLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhYWE5NjEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9wYW5nby9wYW5nby9pbnNlbnNpdGl2ZS1kaWZmLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0RvIGNhc2UtaW5zZW5zaXRpdmUgZGlmZnMgYXMgdGhlIHRlc3QgaXMgc2Vuc2l0aXZlIGFzIHRvIHdoZXRoZXIgMHgwIGlzIHByaW50ZWQKK2FzIChudWxsKSBvciAoTlVMTCkuCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvcGFuZ28vbWVyZ2VfcmVxdWVzdHMvNDRdCitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitkaWZmIC0tZ2l0IGEvdGVzdHMvbWFya3VwLXBhcnNlLmMgYi90ZXN0cy9tYXJrdXAtcGFyc2UuYworaW5kZXggNjMzZjNlODkuLjM2ZDJjNzc2IDEwMDY0NAorLS0tIGEvdGVzdHMvbWFya3VwLXBhcnNlLmMKKysrKyBiL3Rlc3RzL21hcmt1cC1wYXJzZS5jCitAQCAtMjE3LDcgKzIxNyw3IEBAIGRpZmZfd2l0aF9maWxlIChjb25zdCBjaGFyICAqZmlsZTEsCisgICAgICAgICAgICAgICAgIEdTdHJpbmcgICAgICpzdHJpbmcsCisgICAgICAgICAgICAgICAgIEdFcnJvciAgICAgKiplcnJvcikKKyB7CistICBjb25zdCBjaGFyICpjb21tYW5kW10gPSB7ICJkaWZmIiwgIi11IiwgZmlsZTEsIE5VTEwsIE5VTEwgfTsKKysgIGNvbnN0IGNoYXIgKmNvbW1hbmRbXSA9IHsgImRpZmYiLCAiLXUiLCAiLWkiLCBmaWxlMSwgTlVMTCwgTlVMTCB9OworICAgY2hhciAqZGlmZiwgKnRtcGZpbGU7CisgICBpbnQgZmQ7CisgCitAQCAtMjM3LDcgKzIzNyw3IEBAIGRpZmZfd2l0aF9maWxlIChjb25zdCBjaGFyICAqZmlsZTEsCisgICAgICAgZ290byBkb25lOworICAgICB9CisgICBjbG9zZSAoZmQpOworLSAgY29tbWFuZFszXSA9IHRtcGZpbGU7CisrICBjb21tYW5kWzRdID0gdG1wZmlsZTsKKyAKKyAgIC8qIHJ1biBkaWZmIGNvbW1hbmQgKi8KKyAgIGdfc3Bhd25fc3luYyAoTlVMTCwgKGNoYXIgKiopY29tbWFuZCwgTlVMTCwgR19TUEFXTl9TRUFSQ0hfUEFUSCwgTlVMTCwgTlVMTCwgJmRpZmYsIE5VTEwsIE5VTEwsIGVycm9yKTsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BhbmdvL3BhbmdvXzEuNDIuNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BhbmdvL3BhbmdvXzEuNDIuNC5iYgppbmRleCAyMmZlM2FmLi5kMzM1N2Y4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9wYW5nby9wYW5nb18xLjQyLjQuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGFuZ28vcGFuZ29fMS40Mi40LmJiCkBAIC0xMSwyOSArMTEsMzggQEAKIAogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9M2JmNTAwMDJhZWZkMDAyZjQ5ZTdiYjg1NDA2M2Y3ZTciCiAKK0dOT01FQkFTRUJVSUxEQ0xBU1MgPSAibWVzb24iCisKIGluaGVyaXQgZ25vbWViYXNlIGd0ay1kb2MgcHRlc3QtZ25vbWUgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuIGdvYmplY3QtaW50cm9zcGVjdGlvbgogCiBTUkNfVVJJICs9ICJmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAxLUVuZm9yY2UtcmVjcmVhdGlvbi1vZi1kb2NzLXBhbmdvLnR5cGVzLWl0LWlzLWJ1aWxkLWMucGF0Y2ggXAotIgorICAgICAgICAgICAgZmlsZTovL2luc2Vuc2l0aXZlLWRpZmYucGF0Y2giCisKIFNSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImRlYjE3MWEzMWEzYWQ3NjM0MmQ1MTk1YTFiNWJiYzdjIgogU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiMWQyYjc0Y2Q2M2U4YmQ0MTk2MWYyZjhkOTUyMzU1YWEwZjliZTYwMDJiNTJjOGFhNzY5OWQ5ZjVkYTU5N2M5ZCIKIAogREVQRU5EUyA9ICJnbGliLTIuMCBnbGliLTIuMC1uYXRpdmUgZm9udGNvbmZpZyBmcmVldHlwZSB2aXJ0dWFsL2xpYmljb252IGNhaXJvIGhhcmZidXp6IGZyaWJpZGkiCiAKIFBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCBkKX0iCi1QQUNLQUdFQ09ORklHW3gxMV0gPSAiLS13aXRoLXhmdCwtLXdpdGhvdXQteGZ0LHZpcnR1YWwvbGlieDExIGxpYnhmdCIKK1BBQ0tBR0VDT05GSUdbeDExXSA9ICIsLHZpcnR1YWwvbGlieDExIGxpYnhmdCIKKworR1RLRE9DX0VOQUJMRV9GTEFHID0gIi1EZW5hYmxlX2RvY3M9dHJ1ZSIKK0dUS0RPQ19ESVNBQkxFX0ZMQUcgPSAiLURlbmFibGVfZG9jcz1mYWxzZSIKKworR0lfRU5BQkxFX0ZMQUcgPSAiLURnaXI9dHJ1ZSIKK0dJX0RJU0FCTEVfRkxBRyA9ICItRGdpcj1mYWxzZSIKKworRVhUUkFfT0VNRVNPTl9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiAke0dJX0RJU0FCTEVfRkxBR30iCisKK0VYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0dJX0RBVEFfRU5BQkxFRCcsICdUcnVlJywgJyR7R0lfRU5BQkxFX0ZMQUd9JywgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7R0lfRElTQUJMRV9GTEFHfScsIGQpfSAiCisKK0VYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0dUS0RPQ19FTkFCTEVEJywgJ1RydWUnLCAnJHtHVEtET0NfRU5BQkxFX0ZMQUd9JywgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcke0dUS0RPQ19ESVNBQkxFX0ZMQUd9JywgZCl9ICIKIAogTEVBRF9TT05BTUUgPSAibGlicGFuZ28tMS4wKiIKIExJQlYgPSAiMS44LjAiCiAKLSMgVGhpcyBiaW5hcnkgbmVlZHMgdG8gYmUgY29tcGlsZWQgZm9yIHRoZSBob3N0IGFyY2hpdGVjdHVyZS4gIFRoaXMgaXNuJ3QgcHJldHR5IQotZG9fY29tcGlsZV9wcmVwZW5kX2NsYXNzLXRhcmdldCAoKSB7Ci0JaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BURVNUX0VOQUJMRUQnLCAnMScsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0JCW1ha2UgQ0M9IiR7QlVJTERfQ0N9IiBDRkxBR1M9IiIgTERGTEFHUz0iJHtCVUlMRF9MREZMQUdTfSIgQU1fQ1BQRkxBR1M9IiQocGtnLWNvbmZpZy1uYXRpdmUgLS1jZmxhZ3MgZ2xpYi0yLjApIiBnZW5fYWxsX3VuaWNvZGVfTERBREQ9IiQocGtnLWNvbmZpZy1uYXRpdmUgLS1saWJzIGdsaWItMi4wKSIgLUMgJHtCfS90ZXN0cyBnZW4tYWxsLXVuaWNvZGUKLQlmaQotfQotCiBGSUxFU18ke1BOfSA9ICIke2JpbmRpcn0vKiAke2xpYmRpcn0vbGlicGFuZ28qJHtTT0xJQlN9IgogRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vcGFuZ28vJHtMSUJWfS9tb2R1bGVzLyoubGEiCiAKQEAgLTQyLDQgKzUxLDExIEBACiBSUFJPVklERVNfJHtQTn0gKz0gInBhbmdvLW1vZHVsZXMgcGFuZ28tbW9kdWxlLWluZGljLWxhbmcgXAogICAgICAgICAgICAgICAgICAgICBwYW5nby1tb2R1bGUtYmFzaWMtZmMgcGFuZ28tbW9kdWxlLWFyYWJpYy1sYW5nIgogCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworCWlmIFsgIiR7UFRFU1RfRU5BQkxFRH0iICE9ICIxIiBdOyB0aGVuCisJCXJtIC1yZiAke0R9JHtsaWJleGVjZGlyfS9pbnN0YWxsZWQtdGVzdHMgJHtEfSR7ZGF0YWRpcn0vaW5zdGFsbGVkLXRlc3RzCisgICAgICAgICAgICAgICAgcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgJHtEfSR7bGliZXhlY2Rpcn0gJHtEfSR7ZGF0YWRpcn0KKwlmaQorfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGlnbGl0L3BpZ2xpdC8wMDAxLXRlc3RzLVVzZS1GRV9VUFdBUkQtb25seS1pZi1pdHMtZGVmaW5lZC1pbi1mZW52LmgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9waWdsaXQvcGlnbGl0LzAwMDEtdGVzdHMtVXNlLUZFX1VQV0FSRC1vbmx5LWlmLWl0cy1kZWZpbmVkLWluLWZlbnYuaC5wYXRjaAppbmRleCBmODUxYTkyLi41N2VkYTJlIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9waWdsaXQvcGlnbGl0LzAwMDEtdGVzdHMtVXNlLUZFX1VQV0FSRC1vbmx5LWlmLWl0cy1kZWZpbmVkLWluLWZlbnYuaC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9waWdsaXQvcGlnbGl0LzAwMDEtdGVzdHMtVXNlLUZFX1VQV0FSRC1vbmx5LWlmLWl0cy1kZWZpbmVkLWluLWZlbnYuaC5wYXRjaApAQCAtMSw1NCArMSw3NSBAQAotRnJvbSAwZmMyYzI5MzI2OTljZmQ2OGJlOTZjODIwZmRkZmRkNzliNDhiNzg4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW21haWxpbmcgbGlzdF0KK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK0Zyb20gMGUwYTJhNjkyNjEwMzFkNTVkNTJiNjA0NTk5MGU4OTgyZWExMjkxMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBTYXQsIDkgSnVsIDIwMTYgMDc6NTI6MTkgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gdGVzdHM6IFVzZSBGRV9VUFdBUkQgb25seSBpZiBpdHMgZGVmaW5lZCBpbiBmZW52LmgKK1N1YmplY3Q6IFtQQVRDSF0gdGVzdHM6IG9ubHkgcnVuIHJvdW5kaW5nIHRlc3RzIGlmIEZFX1VQV0FSRCBpcyBwcmVzZW50CiAKLU9uIEFSTSwgbXVzbCBkb2VzIG5vdCBkZWZpbmUgRkVfKiB3aGVuIGFyY2ggZG9lcyBub3QgaGF2ZQotVkZQLCAod2hpY2ggaXMgcmlnaHQgaW50ZXJwcmV0YXRpb24pLCB0aGVyZWZvcmUgY2hlY2sgaWYKLWl0cyBkZWZpbmVkIGJlZm9yZSB1c2luZyBpdAorT24gQVJNLCBtdXNsIGRvZXMgbm90IGRlZmluZSBGRV8qIHdoZW4gdGhlIGFyY2hpdGVjdHVyZSBkb2VzIG5vdCBoYXZlIFZGUCAod2hpY2gKK2lzIHRoZSByaWdodCBpbnRlcnByZXRhdGlvbikuCiAKLUZpeGVzIGVycm9ycyBsaWtlCitBcyB0aGVzZSB0ZXN0cyBkZXBlbmQgb24gY2FsbGluZyBmZXNldHJvdW5kKCksIHNraXAgdGhlIHRlc3QgaWYgRkVfVVBXQVJEIGlzbid0CithdmFpbGFibGUuCiAKLXRlc3RzL2dlbmVyYWwvcm91bmRtb2RlLXBpeGVsc3RvcmUuYzo4MjoxOTogZXJyb3I6ICdGRV9VUFdBUkQnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQotICByZXQgPSBmZXNldHJvdW5kKEZFX1VQV0FSRCk7Ci0gICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+Ci0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgogLS0tCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotIHRlc3RzL2dlbmVyYWwvcm91bmRtb2RlLWdldGludGVnZXJ2LmMgfCAyICsrCi0gdGVzdHMvZ2VuZXJhbC9yb3VuZG1vZGUtcGl4ZWxzdG9yZS5jICB8IDIgKysKLSAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQorIHRlc3RzL2dlbmVyYWwvcm91bmRtb2RlLWdldGludGVnZXJ2LmMgfCAxMiArKysrKysrKy0tLS0KKyB0ZXN0cy9nZW5lcmFsL3JvdW5kbW9kZS1waXhlbHN0b3JlLmMgIHwgMTIgKysrKysrKystLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvdGVzdHMvZ2VuZXJhbC9yb3VuZG1vZGUtZ2V0aW50ZWdlcnYuYyBiL3Rlc3RzL2dlbmVyYWwvcm91bmRtb2RlLWdldGludGVnZXJ2LmMKLWluZGV4IDI4ZWNmYWYuLjVjMjc1NzkgMTAwNjQ0CitpbmRleCAyOGVjZmFmNTUuLmFhOTkwNDRhMSAxMDA2NDQKIC0tLSBhL3Rlc3RzL2dlbmVyYWwvcm91bmRtb2RlLWdldGludGVnZXJ2LmMKICsrKyBiL3Rlc3RzL2dlbmVyYWwvcm91bmRtb2RlLWdldGludGVnZXJ2LmMKLUBAIC04MSw3ICs4MSw5IEBAIHBpZ2xpdF9pbml0KGludCBhcmdjLCBjaGFyICoqYXJndikKK0BAIC03OSwxMyArNzksMTcgQEAgdGVzdChmbG9hdCB2YWwsIGludCBleHBlY3QpCisgdm9pZAorIHBpZ2xpdF9pbml0KGludCBhcmdjLCBjaGFyICoqYXJndikKICB7Ci0gCWludCByZXQ7CistCWludCByZXQ7CiAgCWJvb2wgcGFzcyA9IHRydWU7CistCXJldCA9IGZlc2V0cm91bmQoRkVfVVBXQVJEKTsKKy0JaWYgKHJldCAhPSAwKSB7CistCQlwcmludGYoIkNvdWxkbid0IHNldCByb3VuZGluZyBtb2RlXG4iKTsKKysKICsjaWZkZWYgRkVfVVBXQVJECi0gCXJldCA9IGZlc2V0cm91bmQoRkVfVVBXQVJEKTsKLSsjZW5kaWYKLSAJaWYgKHJldCAhPSAwKSB7Ci0gCQlwcmludGYoIkNvdWxkbid0IHNldCByb3VuZGluZyBtb2RlXG4iKTsKKysJaWYgKGZlc2V0cm91bmQoRkVfVVBXQVJEKSAhPSAwKSB7CisrCQlwcmludGYoIlNldHRpbmcgcm91bmRpbmcgbW9kZSBmYWlsZWRcbiIpOwogIAkJcGlnbGl0X3JlcG9ydF9yZXN1bHQoUElHTElUX1NLSVApOworIAl9CisrI2Vsc2UKKysJcHJpbnRmKCJDYW5ub3Qgc2V0IHJvdW5kaW5nIG1vZGVcbiIpOworKwlwaWdsaXRfcmVwb3J0X3Jlc3VsdChQSUdMSVRfU0tJUCk7CisrI2VuZGlmCisgCisgCXBhc3MgPSB0ZXN0KDIuMiwgMikgJiYgcGFzczsKKyAJcGFzcyA9IHRlc3QoMi44LCAzKSAmJiBwYXNzOwogZGlmZiAtLWdpdCBhL3Rlc3RzL2dlbmVyYWwvcm91bmRtb2RlLXBpeGVsc3RvcmUuYyBiL3Rlc3RzL2dlbmVyYWwvcm91bmRtb2RlLXBpeGVsc3RvcmUuYwotaW5kZXggOTI4NGY0My4uM2ZjYjM5NiAxMDA2NDQKK2luZGV4IDhhMDI5YjI1Ny4uNTdlYzExYzA5IDEwMDY0NAogLS0tIGEvdGVzdHMvZ2VuZXJhbC9yb3VuZG1vZGUtcGl4ZWxzdG9yZS5jCiArKysgYi90ZXN0cy9nZW5lcmFsL3JvdW5kbW9kZS1waXhlbHN0b3JlLmMKLUBAIC03OSw3ICs3OSw5IEBAIHBpZ2xpdF9pbml0KGludCBhcmdjLCBjaGFyICoqYXJndikKK0BAIC03OSwxMyArNzksMTcgQEAgdGVzdChmbG9hdCB2YWwsIGludCBleHBlY3QpCisgdm9pZAorIHBpZ2xpdF9pbml0KGludCBhcmdjLCBjaGFyICoqYXJndikKICB7Ci0gCWludCByZXQ7CistCWludCByZXQ7CiAgCWJvb2wgcGFzcyA9IHRydWU7CistCXJldCA9IGZlc2V0cm91bmQoRkVfVVBXQVJEKTsKKy0JaWYgKHJldCAhPSAwKSB7CistCQlwcmludGYoIkNvdWxkbid0IHNldCByb3VuZGluZyBtb2RlXG4iKTsKKysKICsjaWZkZWYgRkVfVVBXQVJECi0gCXJldCA9IGZlc2V0cm91bmQoRkVfVVBXQVJEKTsKLSsjZW5kaWYKLSAJaWYgKHJldCAhPSAwKSB7Ci0gCQlwcmludGYoIkNvdWxkbid0IHNldCByb3VuZGluZyBtb2RlXG4iKTsKKysJaWYgKGZlc2V0cm91bmQoRkVfVVBXQVJEKSAhPSAwKSB7CisrCQlwcmludGYoIlNldHRpbmcgcm91bmRpbmcgbW9kZSBmYWlsZWRcbiIpOwogIAkJcGlnbGl0X3JlcG9ydF9yZXN1bHQoUElHTElUX1NLSVApOworIAl9CisrI2Vsc2UKKysJcHJpbnRmKCJDYW5ub3Qgc2V0IHJvdW5kaW5nIG1vZGVcbiIpOworKwlwaWdsaXRfcmVwb3J0X3Jlc3VsdChQSUdMSVRfU0tJUCk7CisrI2VuZGlmCisgCisgCXBhc3MgPSB0ZXN0KDIuMiwgMikgJiYgcGFzczsKKyAJcGFzcyA9IHRlc3QoMi44LCAzKSAmJiBwYXNzOwogLS0gCi0xLjguMy4xCisyLjExLjAKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGlnbGl0L3BpZ2xpdC9mb3JtYXQtZml4LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGlnbGl0L3BpZ2xpdC9mb3JtYXQtZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczZDUzOWYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9waWdsaXQvcGlnbGl0L2Zvcm1hdC1maXgucGF0Y2gKQEAgLTAsMCArMSw2OSBAQAorVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW21haWxpbmcgbGlzdF0KK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK0Zyb20gZjBjNjk4MTMyMjgwN2UxNzllMzljZTY3YWVlYmQ0MmNmN2E1NGQzNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CitEYXRlOiBXZWQsIDIxIE5vdiAyMDE4IDEyOjQ0OjM2ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIGFyYl90ZXh0dXJlX3ZpZXc6IGZpeCBzZWN1cml0eSBmb3JtYXQgd2FybmluZ3MKKworSWYgYnVpbHQgd2l0aCAtV2Vycm9yPWZvcm1hdC1zZWN1cml0eSB0aGVuIFBpZ2xpdCBmYWlscyB0byBidWlsZDoKKworL3Rlc3RzL3NwZWMvYXJiX3RleHR1cmVfdmlldy9yZW5kZXJpbmctbGF5ZXJzLWltYWdlLmM6MTUwOjg6CitlcnJvcjogZm9ybWF0IG5vdCBhIHN0cmluZyBsaXRlcmFsIGFuZCBubyBmb3JtYXQgYXJndW1lbnRzIFstV2Vycm9yPWZvcm1hdC1zZWN1cml0eV0KKyAgICAgICAgIChkZXNjKSk7IFwKKyAgICAgICAgIF5+fn5+fgorCitJbiB0aGlzIGNhc2UgdGVzdC0+dW5pZm9ybV90eXBlIGlzIGJlaW5nIHR1cm5lZCBpbnRvIGEgc3RyaW5nIHVzaW5nIHNucHJpbnRmKCkKK2FuZCB0aGVuIHBhc3NlZCB0byBwaWdsaXRfcmVwb3J0X3N1YnRlc3RfcmVzdWx0KCkgd2hpY2ggdGFrZXMgYSBmb3JtYXQgc3RyaW5nLAorYnV0IEdDQyBjYW4ndCB2ZXJpZnkgdGhlIGZvcm1hdC4KKworQXMgX3N1YnRlc3RfcmVwb3J0KCkgdGFrZXMgYSBmb3JtYXQgc3RyaW5nLCB3ZSBjYW4ganVzdCByZW1vdmUgdGhlIHNucHJpbnRmKCkKK2FuZCBsZXQgaXQgY29uc3RydWN0IHRoZSBsYWJlbC4KKworQWxzbyBhcyBYIGlzIHVzZWQgb25jZSBhbmQgZG9lc24ndCBtYWtlIHRoZSBjb2RlIGNsZWFyZXIsIGp1c3QgaW5saW5lIGl0LgorCitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorLS0tCisgdGVzdHMvc3BlYy9hcmJfdGV4dHVyZV92aWV3L3JlbmRlcmluZy1sYXllcnMtaW1hZ2UuYyB8IDE5ICsrKysrKy0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rlc3RzL3NwZWMvYXJiX3RleHR1cmVfdmlldy9yZW5kZXJpbmctbGF5ZXJzLWltYWdlLmMgYi90ZXN0cy9zcGVjL2FyYl90ZXh0dXJlX3ZpZXcvcmVuZGVyaW5nLWxheWVycy1pbWFnZS5jCitpbmRleCA0MTViMDE2NTcuLjg2MTQ4MDc1YiAxMDA2NDQKKy0tLSBhL3Rlc3RzL3NwZWMvYXJiX3RleHR1cmVfdmlldy9yZW5kZXJpbmctbGF5ZXJzLWltYWdlLmMKKysrKyBiL3Rlc3RzL3NwZWMvYXJiX3RleHR1cmVfdmlldy9yZW5kZXJpbmctbGF5ZXJzLWltYWdlLmMKK0BAIC0xNDIsMjYgKzE0MiwxOSBAQCB0ZXN0X3JlbmRlcl9sYXllcnMoY29uc3Qgc3RydWN0IHRlc3RfaW5mbyAqdGVzdCkKKyAJcmV0dXJuIHBhc3M7CisgfQorIAorLSNkZWZpbmUgWChmLCBkZXNjKSBcCistCWRvIHsgXAorLQkJY29uc3QgYm9vbCBzdWJ0ZXN0X3Bhc3MgPSAoZik7IFwKKy0JCXBpZ2xpdF9yZXBvcnRfc3VidGVzdF9yZXN1bHQoc3VidGVzdF9wYXNzIFwKKy0JCQkJCQkgPyBQSUdMSVRfUEFTUyA6IFBJR0xJVF9GQUlMLCBcCistCQkJCQkJIChkZXNjKSk7IFwKKy0JCXBhc3MgPSBwYXNzICYmIHN1YnRlc3RfcGFzczsgXAorLQl9IHdoaWxlICgwKQorLQorIGVudW0gcGlnbGl0X3Jlc3VsdAorIHBpZ2xpdF9kaXNwbGF5KHZvaWQpCisgeworIAlib29sIHBhc3MgPSB0cnVlOworIAlmb3IgKGludCB0ZXN0X2lkeCA9IDA7IHRlc3RfaWR4IDwgQVJSQVlfU0laRSh0ZXN0cyk7IHRlc3RfaWR4KyspIHsKKyAJCWNvbnN0IHN0cnVjdCB0ZXN0X2luZm8gKnRlc3QgPSAmdGVzdHNbdGVzdF9pZHhdOworLQkJY2hhciB0ZXN0X25hbWVbMTI4XTsKKy0JCXNucHJpbnRmKHRlc3RfbmFtZSwgc2l6ZW9mKHRlc3RfbmFtZSksICJsYXllcnMgcmVuZGVyaW5nIG9mICVzIiwgdGVzdC0+dW5pZm9ybV90eXBlKTsKKy0JCVgodGVzdF9yZW5kZXJfbGF5ZXJzKHRlc3QpLCB0ZXN0X25hbWUpOworKworKwkJY29uc3QgYm9vbCBzdWJ0ZXN0X3Bhc3MgPSB0ZXN0X3JlbmRlcl9sYXllcnModGVzdCk7CisrCisrCQlwaWdsaXRfcmVwb3J0X3N1YnRlc3RfcmVzdWx0KHN1YnRlc3RfcGFzcyA/IFBJR0xJVF9QQVNTIDogUElHTElUX0ZBSUwsCisrCQkJCQkgICAgICJsYXllcnMgcmVuZGVyaW5nIG9mICVzIiwgdGVzdC0+dW5pZm9ybV90eXBlKTsKKysJCXBhc3MgPSBwYXNzICYmIHN1YnRlc3RfcGFzczsKKyAJfQorLSN1bmRlZiBYCisgCXBhc3MgPSBwaWdsaXRfY2hlY2tfZ2xfZXJyb3IoR0xfTk9fRVJST1IpICYmIHBhc3M7CisgCXJldHVybiBwYXNzID8gUElHTElUX1BBU1MgOiBQSUdMSVRfRkFJTDsKKyB9CistLSAKKzIuMTEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9waWdsaXQvcGlnbGl0X2dpdC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BpZ2xpdC9waWdsaXRfZ2l0LmJiCmluZGV4IDFmN2M2ZjkuLjU5ZDEzNDggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BpZ2xpdC9waWdsaXRfZ2l0LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BpZ2xpdC9waWdsaXRfZ2l0LmJiCkBAIC02LDExICs2LDEyIEBACiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNtYWtlLWluc3RhbGwtYmFzaC1jb21wbGV0aW9ucy1pbi10aGUtcmlnaHQtcGxhY2UucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS10ZXN0cy1Vc2UtRkVfVVBXQVJELW9ubHktaWYtaXRzLWRlZmluZWQtaW4tZmVudi5oLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtY21ha2UtdXNlLXByb3Blci1XQVlMQU5EX0lOQ0xVREVfRElSUy12YXJpYWJsZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9mb3JtYXQtZml4LnBhdGNoIFwKICAgICAgICAgICAgIgogVVBTVFJFQU1fQ0hFQ0tfQ09NTUlUUyA9ICIxIgogCi0jIEZyb20gMjAxOC0wOC0xMwotU1JDUkVWID0gIjU3ODU5ZTE1ZGM4YmE0MDM0MzQ4YjA0ZDBiNzJmMjEzYjc0ZDYzNDciCisjIEZyb20gMjAxOC0xMC0yNgorU1JDUkVWID0gImI5MDY2Yzc3MTdhZjFkMTY5YTYxNmM5ZTYxNzA2Yjk5ZmY4NTE1YjUiCiAjICh3aGVuIFBWIGdvZXMgYWJvdmUgMS4wIHJlbW92ZSB0aGUgdHJhaWxpbmcgcikKIFBWID0gIjEuMCtnaXRyJHtTUkNQVn0iCiAKQEAgLTUxLDMgKzUyLDYgQEAKIAkiCiAKIElOU0FORV9TS0lQXyR7UE59ICs9ICJkZXYtc28gYWxyZWFkeS1zdHJpcHBlZCIKKworIyBDYW4ndCBiZSBidWlsdCB3aXRoIGNjYWNoZQorQ0NBQ0hFX0RJU0FCTEUgPSAiMSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy9saWJlcmF0aW9uLWZvbnRzXzIuMDAuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy9saWJlcmF0aW9uLWZvbnRzXzIuMDAuMS5iYgppbmRleCA0MTJkYTQ4Li5mNWRmOWVmIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvbGliZXJhdGlvbi1mb250c18yLjAwLjEuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL2xpYmVyYXRpb24tZm9udHNfMi4wMC4xLmJiCkBAIC0zNywzICszNyw1IEBACiAKIFBBQ0tBR0VTID0gIiR7UE59IgogRklMRVNfJHtQTn0gKz0gIiR7c3lzY29uZmRpcn0gJHtkYXRhZGlyfSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvdmlyZ2xyZW5kZXJlci92aXJnbHJlbmRlcmVyLzAwMDEtTWFrZWZpbGUuYW0tZXhwbGljaXRseS1saW5rLXdpdGgtbGliZHJtLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvdmlyZ2xyZW5kZXJlci92aXJnbHJlbmRlcmVyLzAwMDEtTWFrZWZpbGUuYW0tZXhwbGljaXRseS1saW5rLXdpdGgtbGliZHJtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhOGQ4MTQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy92aXJnbHJlbmRlcmVyL3ZpcmdscmVuZGVyZXIvMDAwMS1NYWtlZmlsZS5hbS1leHBsaWNpdGx5LWxpbmstd2l0aC1saWJkcm0ucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSBkNjFmNzA3M2I4Y2UxNTlkMjE4MTFiMjkxYzIyYjI3M2IwNDBjMzMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDEyIEZlYiAyMDE5IDEyOjA0OjUyICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIE1ha2VmaWxlLmFtOiBleHBsaWNpdGx5IGxpbmsgd2l0aCBsaWJkcm0KKworT3RoZXJ3aXNlLCBhIGZhaWx1cmUgaGFwcGVucyB3aXRoIGdvbGQgbGlua2VyOgorCisuLi9zcmMvLmxpYnMvbGlidmlyZ2xyZW5kZXJlci5zbzogZXJyb3I6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gJ2RybVByaW1lSGFuZGxlVG9GRCcKKworaHR0cHM6Ly9lcnJvcnMueW9jdG9wcm9qZWN0Lm9yZy9FcnJvcnMvRGV0YWlscy8yMjIwNDYvCisKK1Vwc3RyZWFtLVN0YXR1czogQWNjZXB0ZWQgW2h0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy92aXJnbC92aXJnbHJlbmRlcmVyL21lcmdlX3JlcXVlc3RzLzE1M10KK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorLS0tCisgc3JjL01ha2VmaWxlLmFtIHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9zcmMvTWFrZWZpbGUuYW0gYi9zcmMvTWFrZWZpbGUuYW0KK2luZGV4IDlhMGE0NGUuLjliNjY4YzggMTAwNjQ0CistLS0gYS9zcmMvTWFrZWZpbGUuYW0KKysrKyBiL3NyYy9NYWtlZmlsZS5hbQorQEAgLTEsNSArMSw2IEBACisgU1VCRElSUyA6PSBnYWxsaXVtL2F1eGlsaWFyeQorIEFNX0xERkxBR1MgPSAtbG0gXAorKwkkKExJQkRSTV9MSUJTKSBcCisgCSQoR0JNX0xJQlMpIFwKKyAJJChFUE9YWV9MSUJTKSBcCisgCSQoWDExX0xJQlMpIFwKKy0tIAorMi4xNy4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3ZpcmdscmVuZGVyZXIvdmlyZ2xyZW5kZXJlci8wMDAxLXZ0ZXN0LWFkZC1taXNzaW5nLWluY2x1ZGVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvdmlyZ2xyZW5kZXJlci92aXJnbHJlbmRlcmVyLzAwMDEtdnRlc3QtYWRkLW1pc3NpbmctaW5jbHVkZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmI0ZmZhOQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3ZpcmdscmVuZGVyZXIvdmlyZ2xyZW5kZXJlci8wMDAxLXZ0ZXN0LWFkZC1taXNzaW5nLWluY2x1ZGVzLnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK0Zyb20gMDVjNWM1ZjQzZmJmZmIzMzE3YmQ5ZGEyN2Q0MTQ4OTBkMmVmNDkzYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogRnJpLCAxOCBKYW4gMjAxOSAxMzo0NzoyMyArMDEwMAorU3ViamVjdDogW1BBVENIXSB2dGVzdDogYWRkIG1pc3NpbmcgaW5jbHVkZXMKKworVGhpcyBmaXhlcyBidWlsZCBmYWlsdXJlcyB3aXRoIG11c2wgQyBsaWJyYXJ5CisKK1Vwc3RyZWFtLVN0YXR1czogQWNjZXB0ZWQgW2h0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy92aXJnbC92aXJnbHJlbmRlcmVyL21lcmdlX3JlcXVlc3RzLzEyNV0KK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorLS0tCisgdnRlc3QvdXRpbC5jICAgICAgICAgfCAxICsKKyB2dGVzdC92dGVzdF9zZXJ2ZXIuYyB8IDEgKworIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS92dGVzdC91dGlsLmMgYi92dGVzdC91dGlsLmMKK2luZGV4IDBkM2M3OGYuLmM2MDUyNTMgMTAwNjQ0CistLS0gYS92dGVzdC91dGlsLmMKKysrKyBiL3Z0ZXN0L3V0aWwuYworQEAgLTI2LDYgKzI2LDcgQEAKKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSA8c3RyaW5nLmg+CisgI2luY2x1ZGUgPHVuaXN0ZC5oPgorKyNpbmNsdWRlIDxzeXMvc2VsZWN0Lmg+CisgCisgaW50IHZ0ZXN0X3dhaXRfZm9yX2ZkX3JlYWQoaW50IGZkKQorIHsKK2RpZmYgLS1naXQgYS92dGVzdC92dGVzdF9zZXJ2ZXIuYyBiL3Z0ZXN0L3Z0ZXN0X3NlcnZlci5jCitpbmRleCBiYzZjOTVmLi4wMTA3MjFmIDEwMDY0NAorLS0tIGEvdnRlc3QvdnRlc3Rfc2VydmVyLmMKKysrKyBiL3Z0ZXN0L3Z0ZXN0X3NlcnZlci5jCitAQCAtMzEsNiArMzEsNyBAQAorICNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CisgI2luY2x1ZGUgPHN5cy91bi5oPgorICNpbmNsdWRlIDxmY250bC5oPgorKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyAKKyAjaW5jbHVkZSAidXRpbC5oIgorICNpbmNsdWRlICJ2dGVzdC5oIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvdmlyZ2xyZW5kZXJlci92aXJnbHJlbmRlcmVyXzAuNy4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvdmlyZ2xyZW5kZXJlci92aXJnbHJlbmRlcmVyXzAuNy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyNWEwYjgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy92aXJnbHJlbmRlcmVyL3ZpcmdscmVuZGVyZXJfMC43LjAuYmIKQEAgLTAsMCArMSwyMiBAQAorU1VNTUFSWSA9ICJWaXJHTCB2aXJ0dWFsIE9wZW5HTCByZW5kZXJlciIKK0hPTUVQQUdFID0gImh0dHBzOi8vdmlyZ2lsM2QuZ2l0aHViLmlvLyIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jODFjMDhlZWVmZDk0MThmY2E4Zjg4MzA5YTc2ZGIxMCIKKworREVQRU5EUyA9ICJsaWJkcm0gbWVzYSBsaWJlcG94eSIKK1NSQ1JFViA9ICI0MDJjMjI4ODYxYzk4OTNmNjRjZmZiYmNiNGNiMjMwNDRiOGM3MjFjIgorU1JDX1VSSSA9ICJnaXQ6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy92aXJnbHJlbmRlcmVyIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtdnRlc3QtYWRkLW1pc3NpbmctaW5jbHVkZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1NYWtlZmlsZS5hbS1leHBsaWNpdGx5LWxpbmstd2l0aC1saWJkcm0ucGF0Y2ggXAorICAgICAgICAgICAiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAib3BlbmdsIgorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTX2NsYXNzLW5hdGl2ZSA9ICIiCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVNfY2xhc3MtbmF0aXZlc2RrID0gIiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3Z1bGthbi92dWxrYW5fMS4xLjczLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy92dWxrYW4vdnVsa2FuXzEuMS43My4wLmJiCmluZGV4IDU0OTZmNTMuLjAyZTQzMzAgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3Z1bGthbi92dWxrYW5fMS4xLjczLjAuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvdnVsa2FuL3Z1bGthbl8xLjEuNzMuMC5iYgpAQCAtNCwxMyArNCwxMyBAQAogcHJvdmlkZSBvbmx5IHRoZSBjb21tb24gdmVuZG9yLWFnbm9zdGljIGxpYnJhcnkgbG9hZGVyLCBoZWFkZXJzIGFuZCBcCiB0aGUgdnVsa2FuaW5mbyB1dGlsaXR5LiIKIEhPTUVQQUdFID0gImh0dHBzOi8vd3d3Lmtocm9ub3Mub3JnL3Z1bGthbi8iCi1CVUdUUkFDS0VSID0gImh0dHBzOi8vZ2l0aHViLmNvbS9LaHJvbm9zR3JvdXAvVnVsa2FuLUxvYWRlckFuZFZhbGlkYXRpb25MYXllcnMiCitCVUdUUkFDS0VSID0gImh0dHBzOi8vZ2l0aHViLmNvbS9LaHJvbm9zR3JvdXAvVnVsa2FuLUxvYWRlciIKIFNFQ1RJT04gPSAibGlicyIKIAogTElDRU5TRSA9ICJBcGFjaGUtMi4wIgogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PTk5YzY0N2NhM2Q0ZjZhNGI5ZDg2MjhmNzU3YWFkMTU2IFwKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xvYWRlci9sb2FkZXIuYztlbmRsaW5lPTI1O21kNT0xNTFiMzkyZjQ2NTY4YWFlZGI0YWQyMmIyNDYyMzdlYyIKLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9LaHJvbm9zR3JvdXAvVnVsa2FuLUxvYWRlckFuZFZhbGlkYXRpb25MYXllcnMuZ2l0O2JyYW5jaD1zZGstMS4xLjczIFwKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9LaHJvbm9zR3JvdXAvVnVsa2FuLUxvYWRlci5naXQ7bm9icmFuY2g9MSBcCiAgICAgICAgICAgIGZpbGU6Ly9kZW1vcy1Eb24tdC1idWlsZC10cmktb3ItY3ViZS5wYXRjaCBcCiAgICAgICAgICAgICIKIFNSQ1JFViA9ICI1OTk4ZDZmNDQ0YTg1ZTYzODFiN2EwODllYmYzZjllODY0ODJhMzFkIgpAQCAtMzUsMyArMzUsNiBAQAogCiBSUkVDT01NRU5EU18ke1BOfSA9ICJtZXNhLXZ1bGthbi1kcml2ZXJzIgogSU5TQU5FX1NLSVBfJHtQTn0tZGV2ICs9ICJkZXYtZWxmIgorCisjIENhbid0IGJlIGJ1aWx0IHdpdGggY2NhY2hlCitDQ0FDSEVfRElTQUJMRSA9ICIxIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC9saWJpbnB1dF8xLjExLjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL2xpYmlucHV0XzEuMTEuMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTJlMjA5MS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL2xpYmlucHV0XzEuMTEuMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLVNVTU1BUlkgPSAiTGlicmFyeSB0byBoYW5kbGUgaW5wdXQgZGV2aWNlcyBpbiBXYXlsYW5kIGNvbXBvc2l0b3JzIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvd2lraS9Tb2Z0d2FyZS9saWJpbnB1dC8iCi1TRUNUSU9OID0gImxpYnMiCi0KLUxJQ0VOU0UgPSAiTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MWYyZWE5ZWJmZjNhMmM2ZDQ1OGZhZjU4NDkyZWZiNjMiCi0KLURFUEVORFMgPSAibGliZXZkZXYgdWRldiBtdGRldiIKLQotU1JDX1VSSSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy9zb2Z0d2FyZS8ke0JQTn0vJHtCUH0udGFyLnh6IFwKLSAgICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gImRmNmU4NzdmMTFkZTRhOTc5MzUxMWU5YWJmZTdlZjAxIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImYzMTE5MWQ5NmU0MjViNGYxNjMxOTg0MjI3OWQ2NTk0NmQ5ZDk4M2RjZDNkOWU0NjZhZTEyMDZhYTEwZWNiMDYiCi0KLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gImxpYmlucHV0LSg/UDxwdmVyPlxkK1wuXGQrXC4oPyE5XGQrKVxkKykiCi1pbmhlcml0IG1lc29uIHBrZ2NvbmZpZyBsaWJfcGFja2FnZQotCi1QQUNLQUdFQ09ORklHID8/PSAiIgotUEFDS0FHRUNPTkZJR1tsaWJ3YWNvbV0gPSAiLURsaWJ3YWNvbT10cnVlLC1EbGlid2Fjb209ZmFsc2UsbGlid2Fjb20iCi1QQUNLQUdFQ09ORklHW2d1aV0gPSAiLURkZWJ1Zy1ndWk9dHJ1ZSwtRGRlYnVnLWd1aT1mYWxzZSxjYWlybyBndGsrMyIKLQotVURFVkRJUiA9ICJgcGtnLWNvbmZpZyAtLXZhcmlhYmxlPXVkZXZkaXIgdWRldmAiCi0KLUVYVFJBX09FTUVTT04gKz0gIi1EdWRldi1kaXI9JHtVREVWRElSfSAtRGRvY3VtZW50YXRpb249ZmFsc2UgLUR0ZXN0cz1mYWxzZSIKLQotIyBwYWNrYWdlIG5hbWUgY2hhbmdlZCBpbiAxLjguMSB1cGdyYWRlOiBtYWtlIHN1cmUgcGFja2FnZSB1cGdyYWRlcyB3b3JrCi1SUFJPVklERVNfJHtQTn0gPSAibGliaW5wdXQiCi1SUkVQTEFDRVNfJHtQTn0gPSAibGliaW5wdXQiCi1SQ09ORkxJQ1RTXyR7UE59ID0gImxpYmlucHV0IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC9saWJpbnB1dF8xLjEyLjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL2xpYmlucHV0XzEuMTIuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NjM2NmI3Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC9saWJpbnB1dF8xLjEyLjYuYmIKQEAgLTAsMCArMSwyOSBAQAorU1VNTUFSWSA9ICJMaWJyYXJ5IHRvIGhhbmRsZSBpbnB1dCBkZXZpY2VzIGluIFdheWxhbmQgY29tcG9zaXRvcnMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL2xpYmlucHV0LyIKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xZjJlYTllYmZmM2EyYzZkNDU4ZmFmNTg0OTJlZmI2MyIKKworREVQRU5EUyA9ICJsaWJldmRldiB1ZGV2IG10ZGV2IgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3NvZnR3YXJlLyR7QlBOfS8ke0JQfS50YXIueHogXAorICAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiOGNmMTBjYzBmZGZhYjg2NWIxMDVkZDI4MjgzZmEwZmQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTJiNDAyM2EzZmM2ODNkM2Q4MTI3ZGI1NzNiZGY5MjVhMmVmMzY2NjE1MDQyZjY5Yzg3ZTU3YzMyYTUwZjQ1ZCIKKworVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAibGliaW5wdXQtKD9QPHB2ZXI+XGQrXC5cZCtcLig/ITlcZCspXGQrKSIKK2luaGVyaXQgbWVzb24gcGtnY29uZmlnIGxpYl9wYWNrYWdlCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2xpYndhY29tXSA9ICItRGxpYndhY29tPXRydWUsLURsaWJ3YWNvbT1mYWxzZSxsaWJ3YWNvbSIKK1BBQ0tBR0VDT05GSUdbZ3VpXSA9ICItRGRlYnVnLWd1aT10cnVlLC1EZGVidWctZ3VpPWZhbHNlLGNhaXJvIGd0ayszIgorCitVREVWRElSID0gImBwa2ctY29uZmlnIC0tdmFyaWFibGU9dWRldmRpciB1ZGV2YCIKKworRVhUUkFfT0VNRVNPTiArPSAiLUR1ZGV2LWRpcj0ke1VERVZESVJ9IC1EZG9jdW1lbnRhdGlvbj1mYWxzZSAtRHRlc3RzPWZhbHNlIgorCisjIHBhY2thZ2UgbmFtZSBjaGFuZ2VkIGluIDEuOC4xIHVwZ3JhZGU6IG1ha2Ugc3VyZSBwYWNrYWdlIHVwZ3JhZGVzIHdvcmsKK1JQUk9WSURFU18ke1BOfSA9ICJsaWJpbnB1dCIKK1JSRVBMQUNFU18ke1BOfSA9ICJsaWJpbnB1dCIKK1JDT05GTElDVFNfJHtQTn0gPSAibGliaW5wdXQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL3dheWxhbmQtcHJvdG9jb2xzXzEuMTYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL3dheWxhbmQtcHJvdG9jb2xzXzEuMTYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZjNGI3MTEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93YXlsYW5kLXByb3RvY29sc18xLjE2LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotU1VNTUFSWSA9ICJDb2xsZWN0aW9uIG9mIGFkZGl0aW9uYWwgV2F5bGFuZCBwcm90b2NvbHMiCi1ERVNDUklQVElPTiA9ICJXYXlsYW5kIHByb3RvY29scyB0aGF0IGFkZCBmdW5jdGlvbmFsaXR5IG5vdCBcCi1hdmFpbGFibGUgaW4gdGhlIFdheWxhbmQgY29yZSBwcm90b2NvbC4gU3VjaCBwcm90b2NvbHMgZWl0aGVyIGFkZCBcCi1jb21wbGV0ZWx5IG5ldyBmdW5jdGlvbmFsaXR5LCBvciBleHRlbmQgdGhlIGZ1bmN0aW9uYWxpdHkgb2Ygc29tZSBvdGhlciBcCi1wcm90b2NvbCBlaXRoZXIgaW4gV2F5bGFuZCBjb3JlLCBvciBzb21lIG90aGVyIHByb3RvY29sIGluIFwKLXdheWxhbmQtcHJvdG9jb2xzLiIKLUhPTUVQQUdFID0gImh0dHA6Ly93YXlsYW5kLmZyZWVkZXNrdG9wLm9yZyIKLUxJQ0VOU0UgPSAiTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YzdiMTJiNjcwMmRhMzhjYTAyOGFjZTU0YWFlM2Q0ODQgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3RhYmxlL3ByZXNlbnRhdGlvbi10aW1lL3ByZXNlbnRhdGlvbi10aW1lLnhtbDtlbmRsaW5lPTI2O21kNT00NjQ2Y2Q3ZDllZGM5ZmE1NWRiOTQxZjJkM2E3ZGM1MyIKLQotU1JDX1VSSSA9ICJodHRwczovL3dheWxhbmQuZnJlZWRlc2t0b3Aub3JnL3JlbGVhc2VzLyR7QlBOfS0ke1BWfS50YXIueHogXAotICAgICAgICAgICAiCi1TUkNfVVJJW21kNXN1bV0gPSAiZTBiNTIzZmYxNjJlMzBiYWI0NmJlMWQ2NWQ1Mjc2ODMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmIxNDg1OTUxZmRjZDM2YTk2MGM4NzBjNDZmMjhiMDNhM2U1MTIxZmI0NjI0NjkxNjMzM2VkMDdmNzhjOThjNSIKLQotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vd2F5bGFuZC5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMuaHRtbCIKLQotaW5oZXJpdCBhbGxhcmNoIGF1dG90b29scyBwa2djb25maWcKLQotUEFDS0FHRVMgPSAiJHtQTn0iCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9wa2djb25maWcvd2F5bGFuZC1wcm90b2NvbHMucGMiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL3dheWxhbmQtcHJvdG9jb2xzXzEuMTcuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL3dheWxhbmQtcHJvdG9jb2xzXzEuMTcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2E4ZjA2YwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvd2F5bGFuZC1wcm90b2NvbHNfMS4xNy5iYgpAQCAtMCwwICsxLDIyIEBACitTVU1NQVJZID0gIkNvbGxlY3Rpb24gb2YgYWRkaXRpb25hbCBXYXlsYW5kIHByb3RvY29scyIKK0RFU0NSSVBUSU9OID0gIldheWxhbmQgcHJvdG9jb2xzIHRoYXQgYWRkIGZ1bmN0aW9uYWxpdHkgbm90IFwKK2F2YWlsYWJsZSBpbiB0aGUgV2F5bGFuZCBjb3JlIHByb3RvY29sLiBTdWNoIHByb3RvY29scyBlaXRoZXIgYWRkIFwKK2NvbXBsZXRlbHkgbmV3IGZ1bmN0aW9uYWxpdHksIG9yIGV4dGVuZCB0aGUgZnVuY3Rpb25hbGl0eSBvZiBzb21lIG90aGVyIFwKK3Byb3RvY29sIGVpdGhlciBpbiBXYXlsYW5kIGNvcmUsIG9yIHNvbWUgb3RoZXIgcHJvdG9jb2wgaW4gXAord2F5bGFuZC1wcm90b2NvbHMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3dheWxhbmQuZnJlZWRlc2t0b3Aub3JnIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jN2IxMmI2NzAyZGEzOGNhMDI4YWNlNTRhYWUzZDQ4NCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zdGFibGUvcHJlc2VudGF0aW9uLXRpbWUvcHJlc2VudGF0aW9uLXRpbWUueG1sO2VuZGxpbmU9MjY7bWQ1PTQ2NDZjZDdkOWVkYzlmYTU1ZGI5NDFmMmQzYTdkYzUzIgorCitTUkNfVVJJID0gImh0dHBzOi8vd2F5bGFuZC5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvJHtCUE59LSR7UFZ9LnRhci54eiBcCisgICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1NWRkZDVmZGIwMmI3M2I5ZGU5NTU5YWFlYzI2NzMxNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkZjEzMTljZjk3MDU2NDNhZWE5ZmQxNmY5MDU2ZjRlNWIyNDcxYmQxMGMwY2MzNzEzZDRhNGNkYzIzZDY4MTJmIgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly93YXlsYW5kLmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy5odG1sIgorCitpbmhlcml0IGFsbGFyY2ggYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitQQUNLQUdFUyA9ICIke1BOfSIKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3BrZ2NvbmZpZy93YXlsYW5kLXByb3RvY29scy5wYyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvd2F5bGFuZF8xLjE2LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL3dheWxhbmRfMS4xNi4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMTJlZTFhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvd2F5bGFuZF8xLjE2LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0NCArMCwwIEBACi1TVU1NQVJZID0gIldheWxhbmQsIGEgcHJvdG9jb2wgYmV0d2VlbiBhIGNvbXBvc2l0b3IgYW5kIGNsaWVudHMiCi1ERVNDUklQVElPTiA9ICJXYXlsYW5kIGlzIGEgcHJvdG9jb2wgZm9yIGEgY29tcG9zaXRvciB0byB0YWxrIHRvIGl0cyBjbGllbnRzIFwKLWFzIHdlbGwgYXMgYSBDIGxpYnJhcnkgaW1wbGVtZW50YXRpb24gb2YgdGhhdCBwcm90b2NvbC4gVGhlIGNvbXBvc2l0b3IgY2FuIGJlIFwKLWEgc3RhbmRhbG9uZSBkaXNwbGF5IHNlcnZlciBydW5uaW5nIG9uIExpbnV4IGtlcm5lbCBtb2Rlc2V0dGluZyBhbmQgZXZkZXYgXAotaW5wdXQgZGV2aWNlcywgYW4gWCBhcHBsaWNhdGlvbiwgb3IgYSB3YXlsYW5kIGNsaWVudCBpdHNlbGYuIFRoZSBjbGllbnRzIGNhbiBcCi1iZSB0cmFkaXRpb25hbCBhcHBsaWNhdGlvbnMsIFggc2VydmVycyAocm9vdGxlc3Mgb3IgZnVsbHNjcmVlbikgb3Igb3RoZXIgXAotZGlzcGxheSBzZXJ2ZXJzLiIKLUhPTUVQQUdFID0gImh0dHA6Ly93YXlsYW5kLmZyZWVkZXNrdG9wLm9yZyIKLUxJQ0VOU0UgPSAiTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjMxZDhmNTNiNmFhZjJiNDk4NWQ3ZGQ3ODEwYTcwZDEgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL3dheWxhbmQtc2VydmVyLmM7ZW5kbGluZT0yNDttZDU9YjhlMDQ2MTY0YTc2NmJiMWVkZThiYTM4ZTlkY2Q3Y2UiCi0KLURFUEVORFMgPSAiZXhwYXQgbGlieG1sMiBsaWJmZmkgd2F5bGFuZC1uYXRpdmUiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly93YXlsYW5kLmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy8ke0JQTn0tJHtQVn0udGFyLnh6IFwKLQkgICBmaWxlOi8vZml4cGF0aGlucGNmaWxlcy5wYXRjaCBcCi0gICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICIwYzIxNWU1M2RlNzFkNmZiMjZmNzEwMmNkYzY0MzJkMyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI0ZTcyYzJiNTYxMDljY2ZiNjYxMGQ3NzZlNDY1ZjRjYTBhZjIyODBjOWMyZjdkNWNjMjNmMGVkMjU0ODc1MmY1IgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly93YXlsYW5kLmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy5odG1sIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcKLQotRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1kb2N1bWVudGF0aW9uIC0td2l0aC1ob3N0LXNjYW5uZXIiCi1FWFRSQV9PRUNPTkZfY2xhc3MtbmF0aXZlID0gIi0tZGlzYWJsZS1kb2N1bWVudGF0aW9uIC0tZGlzYWJsZS1saWJyYXJpZXMiCi0KLSMgV2F5bGFuZCBpbnN0YWxscyBhIE00IG1hY3JvIGZvciBvdGhlciBwcm9qZWN0cyB0byB1c2UsIHdoaWNoIHVzZXMgdGhlIHRhcmdldAotIyBwa2ctY29uZmlnIHRvIGZpbmQgZmlsZXMuICBSZXBsYWNlIHBrZy1jb25maWcgd2l0aCBwa2ctY29uZmlnLW5hdGl2ZS4KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKLSAgc2VkIC1lICdzLFBLR19DSEVDS19NT0RVTEVTKC4qKSwsZycgXAotICAgICAgLWUgJ3MsJFBLR19DT05GSUcscGtnLWNvbmZpZy1uYXRpdmUsZycgXAotICAgICAgLWkgJHtEfS8ke2RhdGFkaXJ9L2FjbG9jYWwvd2F5bGFuZC1zY2FubmVyLm00Ci19Ci0KLXN5c3Jvb3Rfc3RhZ2VfYWxsX2FwcGVuZF9jbGFzcy10YXJnZXQgKCkgewotCXJtICR7U1lTUk9PVF9ERVNURElSfS8ke2RhdGFkaXJ9L2FjbG9jYWwvd2F5bGFuZC1zY2FubmVyLm00Ci0JY3AgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9hY2xvY2FsL3dheWxhbmQtc2Nhbm5lci5tNCAke1NZU1JPT1RfREVTVERJUn0vJHtkYXRhZGlyfS9hY2xvY2FsLwotfQotCi1GSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vKiR7U09MSUJTfSIKLUZJTEVTXyR7UE59LWRldiArPSAiJHtiaW5kaXJ9ICR7ZGF0YWRpcn0vd2F5bGFuZCIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93YXlsYW5kXzEuMTcuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvd2F5bGFuZF8xLjE3LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDM0YmIzOQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvd2F5bGFuZF8xLjE3LjAuYmIKQEAgLTAsMCArMSw0NCBAQAorU1VNTUFSWSA9ICJXYXlsYW5kLCBhIHByb3RvY29sIGJldHdlZW4gYSBjb21wb3NpdG9yIGFuZCBjbGllbnRzIgorREVTQ1JJUFRJT04gPSAiV2F5bGFuZCBpcyBhIHByb3RvY29sIGZvciBhIGNvbXBvc2l0b3IgdG8gdGFsayB0byBpdHMgY2xpZW50cyBcCithcyB3ZWxsIGFzIGEgQyBsaWJyYXJ5IGltcGxlbWVudGF0aW9uIG9mIHRoYXQgcHJvdG9jb2wuIFRoZSBjb21wb3NpdG9yIGNhbiBiZSBcCithIHN0YW5kYWxvbmUgZGlzcGxheSBzZXJ2ZXIgcnVubmluZyBvbiBMaW51eCBrZXJuZWwgbW9kZXNldHRpbmcgYW5kIGV2ZGV2IFwKK2lucHV0IGRldmljZXMsIGFuIFggYXBwbGljYXRpb24sIG9yIGEgd2F5bGFuZCBjbGllbnQgaXRzZWxmLiBUaGUgY2xpZW50cyBjYW4gXAorYmUgdHJhZGl0aW9uYWwgYXBwbGljYXRpb25zLCBYIHNlcnZlcnMgKHJvb3RsZXNzIG9yIGZ1bGxzY3JlZW4pIG9yIG90aGVyIFwKK2Rpc3BsYXkgc2VydmVycy4iCitIT01FUEFHRSA9ICJodHRwOi8vd2F5bGFuZC5mcmVlZGVza3RvcC5vcmciCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIzMWQ4ZjUzYjZhYWYyYjQ5ODVkN2RkNzgxMGE3MGQxIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy93YXlsYW5kLXNlcnZlci5jO2VuZGxpbmU9MjQ7bWQ1PWI4ZTA0NjE2NGE3NjZiYjFlZGU4YmEzOGU5ZGNkN2NlIgorCitERVBFTkRTID0gImV4cGF0IGxpYnhtbDIgbGliZmZpIHdheWxhbmQtbmF0aXZlIgorCitTUkNfVVJJID0gImh0dHBzOi8vd2F5bGFuZC5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvJHtCUE59LSR7UFZ9LnRhci54eiBcCisJICAgZmlsZTovL2ZpeHBhdGhpbnBjZmlsZXMucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiZDkxZjk3MGFlYTExZmQ1NDllYWUwMjNkMDZmOTFhZjMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzJhYTExYjhhYzZlMjJmNDc3NzMwMmM5MjUxZThmZWM3NjU1ZGMyMmY5ZDk0ZWU2NzZjNmIyNzZmOTVmOTFhNCIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vd2F5bGFuZC5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMuaHRtbCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtZG9jdW1lbnRhdGlvbiAtLXdpdGgtaG9zdC1zY2FubmVyIgorRVhUUkFfT0VDT05GX2NsYXNzLW5hdGl2ZSA9ICItLWRpc2FibGUtZG9jdW1lbnRhdGlvbiAtLWRpc2FibGUtbGlicmFyaWVzIgorCisjIFdheWxhbmQgaW5zdGFsbHMgYSBNNCBtYWNybyBmb3Igb3RoZXIgcHJvamVjdHMgdG8gdXNlLCB3aGljaCB1c2VzIHRoZSB0YXJnZXQKKyMgcGtnLWNvbmZpZyB0byBmaW5kIGZpbGVzLiAgUmVwbGFjZSBwa2ctY29uZmlnIHdpdGggcGtnLWNvbmZpZy1uYXRpdmUuCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7CisgIHNlZCAtZSAncyxQS0dfQ0hFQ0tfTU9EVUxFUyguKiksLGcnIFwKKyAgICAgIC1lICdzLCRQS0dfQ09ORklHLHBrZy1jb25maWctbmF0aXZlLGcnIFwKKyAgICAgIC1pICR7RH0vJHtkYXRhZGlyfS9hY2xvY2FsL3dheWxhbmQtc2Nhbm5lci5tNAorfQorCitzeXNyb290X3N0YWdlX2FsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0ICgpIHsKKwlybSAke1NZU1JPT1RfREVTVERJUn0vJHtkYXRhZGlyfS9hY2xvY2FsL3dheWxhbmQtc2Nhbm5lci5tNAorCWNwICR7U1RBR0lOR19EQVRBRElSX05BVElWRX0vYWNsb2NhbC93YXlsYW5kLXNjYW5uZXIubTQgJHtTWVNST09UX0RFU1RESVJ9LyR7ZGF0YWRpcn0vYWNsb2NhbC8KK30KKworRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9Lyoke1NPTElCU30iCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7YmluZGlyfSAke2RhdGFkaXJ9L3dheWxhbmQiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hpbnB1dC1jYWxpYnJhdG9yL3hpbnB1dC1jYWxpYnJhdG9yLzAwMDEtY2FsaWJyYXRvci5oaC1JbmNsdWRlLXN0cmluZy10by1nZXQtc3RkLXN0cmluZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hpbnB1dC1jYWxpYnJhdG9yL3hpbnB1dC1jYWxpYnJhdG9yLzAwMDEtY2FsaWJyYXRvci5oaC1JbmNsdWRlLXN0cmluZy10by1nZXQtc3RkLXN0cmluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNzYxNzYwCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveGlucHV0LWNhbGlicmF0b3IveGlucHV0LWNhbGlicmF0b3IvMDAwMS1jYWxpYnJhdG9yLmhoLUluY2x1ZGUtc3RyaW5nLXRvLWdldC1zdGQtc3RyaW5nLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0Zyb20gNzliYzUwN2I0OGQ0YWNkM2RlYzhhODVhYjZiMzQxYjg3MmQ0NGEwNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDI5IEphbiAyMDE5IDIyOjQwOjI0IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGNhbGlicmF0b3IuaGg6IEluY2x1ZGUgPHN0cmluZz4gdG8gZ2V0IHN0ZDo6c3RyaW5nCisKK0ZvdW5kIHdpdGggbGliYysrCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vdGlhcy94aW5wdXRfY2FsaWJyYXRvci9wdWxsLzc2XQorU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9jYWxpYnJhdG9yLmhoIHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9zcmMvY2FsaWJyYXRvci5oaCBiL3NyYy9jYWxpYnJhdG9yLmhoCitpbmRleCBhNmY5NTA0Li5lNzViY2VmIDEwMDY0NAorLS0tIGEvc3JjL2NhbGlicmF0b3IuaGgKKysrKyBiL3NyYy9jYWxpYnJhdG9yLmhoCitAQCAtMjksNiArMjksNyBAQAorICNpbmNsdWRlIDxYMTEvWGxpYi5oPgorICNpbmNsdWRlIDxzdGRpby5oPgorICNpbmNsdWRlIDx2ZWN0b3I+CisrI2luY2x1ZGUgPHN0cmluZz4KKyAKKyAvLyBYWFg6IHdlIGN1cnJlbnRseSBkb24ndCBoYW5kbGUgbGluZXMgdGhhdCBhcmUgbG9uZ2VyIHRoYW4gdGhpcworICNkZWZpbmUgTUFYX0xJTkVfTEVOIDEwMjQKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hpbnB1dC1jYWxpYnJhdG9yL3hpbnB1dC1jYWxpYnJhdG9yX2dpdC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hpbnB1dC1jYWxpYnJhdG9yL3hpbnB1dC1jYWxpYnJhdG9yX2dpdC5iYgppbmRleCA2OGU2MmVhLi45ODczZDNmIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94aW5wdXQtY2FsaWJyYXRvci94aW5wdXQtY2FsaWJyYXRvcl9naXQuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveGlucHV0LWNhbGlicmF0b3IveGlucHV0LWNhbGlicmF0b3JfZ2l0LmJiCkBAIC0xNCw3ICsxNCw5IEBACiBTUkNSRVYgPSAiMDNkYWRmNTUxMDliZDQzZDMzODBmMDQwZGViZTlmODJmNjZmMmYzNSIKIFNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS90aWFzL3hpbnB1dF9jYWxpYnJhdG9yLmdpdCBcCiAgICAgICAgICAgIGZpbGU6Ly8zMHhpbnB1dF9jYWxpYnJhdGUuc2ggXAotICAgICAgICAgICBmaWxlOi8vQWxsb3cteGlucHV0X2NhbGlicmF0b3JfcG9pbnRlcmNhbC5zaC10by1iZS1ydW4tYXMtbi5wYXRjaCIKKyAgICAgICAgICAgZmlsZTovL0FsbG93LXhpbnB1dF9jYWxpYnJhdG9yX3BvaW50ZXJjYWwuc2gtdG8tYmUtcnVuLWFzLW4ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1jYWxpYnJhdG9yLmhoLUluY2x1ZGUtc3RyaW5nLXRvLWdldC1zdGQtc3RyaW5nLnBhdGNoIFwKKyAgICAgICAgICAgIgogCiBTID0gIiR7V09SS0RJUn0vZ2l0IgogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94ZXYvZGlldC14MTEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94ZXYvZGlldC14MTEucGF0Y2gKaW5kZXggNjEzMDk1OS4uNTNjMGFjMiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGV2L2RpZXQteDExLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hldi9kaWV0LXgxMS5wYXRjaApAQCAtNCw3OSArNCwxMDYgQEAKICB4ZXYuYyB8ICAgMTYgKysrKysrKystLS0tLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCiAKLUluZGV4OiB4ZXYtMS4yLjAveGV2LmMKK0luZGV4OiB4ZXYtMS4yLjMveGV2LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSB4ZXYtMS4yLjAub3JpZy94ZXYuYwotKysrIHhldi0xLjIuMC94ZXYuYwotQEAgLTExNiw3ICsxMTYsNyBAQCBkb19LZXlQcmVzcyAoWEV2ZW50ICpldmVudHApCi0gICAgIG5ieXRlcyA9IFhMb29rdXBTdHJpbmcgKGUsIHN0ciwgMjU2LCAma3MsIE5VTEwpOworLS0tIHhldi0xLjIuMy5vcmlnL3hldi5jCisrKysgeGV2LTEuMi4zL3hldi5jCitAQCAtMTI1LDE3ICsxMjUsNiBAQCBkb19LZXlQcmVzcyhYRXZlbnQgKmV2ZW50cCkKKyAgICAgbmJ5dGVzID0gWExvb2t1cFN0cmluZyhlLCBzdHIsIDI1NiwgJmtzLCBOVUxMKTsKICAKICAgICAgLyogbm90IHN1cHBvc2VkIHRvIGNhbGwgWG1iTG9va3VwU3RyaW5nIG9uIGEga2V5IHJlbGVhc2UgZXZlbnQgKi8KIC0gICAgaWYgKGUtPnR5cGUgPT0gS2V5UHJlc3MgJiYgeGljKSB7Ci0rICAgIC8qaWYgKGUtPnR5cGUgPT0gS2V5UHJlc3MgJiYgeGljKSB7Ci0gICAgICAgICBkbyB7Ci0gICAgICAgICAgICAgbm1iYnl0ZXMgPSBYbWJMb29rdXBTdHJpbmcgKHhpYywgZSwgYnVmLCBic2l6ZSAtIDEsICZrcywgJnN0YXR1cyk7Ci0gICAgICAgICAgICAgYnVmW25tYmJ5dGVzXSA9ICdcMCc7Ci1AQCAtMTI2LDcgKzEyNiw3IEBAIGRvX0tleVByZXNzIChYRXZlbnQgKmV2ZW50cCkKLSAgICAgICAgICAgICAgICAgYnVmID0gcmVhbGxvYyAoYnVmLCBic2l6ZSk7Ci0gICAgICAgICAgICAgfQotICAgICAgICAgfSB3aGlsZSAoc3RhdHVzID09IFhCdWZmZXJPdmVyZmxvdyk7CistICAgICAgICBkbyB7CistICAgICAgICAgICAgbm1iYnl0ZXMgPSBYbWJMb29rdXBTdHJpbmcoeGljLCBlLCBidWYsIGJzaXplIC0gMSwgJmtzLCAmc3RhdHVzKTsKKy0gICAgICAgICAgICBidWZbbm1iYnl0ZXNdID0gJ1wwJzsKKy0KKy0gICAgICAgICAgICBpZiAoc3RhdHVzID09IFhCdWZmZXJPdmVyZmxvdykgeworLSAgICAgICAgICAgICAgICBic2l6ZSA9IG5tYmJ5dGVzICsgMTsKKy0gICAgICAgICAgICAgICAgYnVmID0gcmVhbGxvYyhidWYsIGJzaXplKTsKKy0gICAgICAgICAgICB9CistICAgICAgICB9IHdoaWxlIChzdGF0dXMgPT0gWEJ1ZmZlck92ZXJmbG93KTsKIC0gICAgfQotKyAgICB9Ki8KICAKICAgICAgaWYgKGtzID09IE5vU3ltYm9sKQotIAlrc25hbWUgPSAiTm9TeW1ib2wiOwotQEAgLTE1Niw3ICsxNTYsNyBAQCBkb19LZXlQcmVzcyAoWEV2ZW50ICpldmVudHApCisgICAgICAgICBrc25hbWUgPSAiTm9TeW1ib2wiOworQEAgLTE2OCwxNiArMTU3LDYgQEAgZG9fS2V5UHJlc3MoWEV2ZW50ICpldmVudHApCiAgICAgIH0KICAKICAgICAgLyogbm90IHN1cHBvc2VkIHRvIGNhbGwgWG1iTG9va3VwU3RyaW5nIG9uIGEga2V5IHJlbGVhc2UgZXZlbnQgKi8KIC0gICAgaWYgKGUtPnR5cGUgPT0gS2V5UHJlc3MgJiYgeGljKSB7Ci0rICAgIC8qaWYgKGUtPnR5cGUgPT0gS2V5UHJlc3MgJiYgeGljKSB7Ci0gICAgICAgICBwcmludGYgKCIgICAgWG1iTG9va3VwU3RyaW5nIGdpdmVzICVkIGJ5dGVzOiAiLCBubWJieXRlcyk7Ci0gICAgICAgICBpZiAobm1iYnl0ZXMgPiAwKSB7Ci0gICAgICAgICAgICBkdW1wIChidWYsIG5tYmJ5dGVzKTsKLUBAIC0xNjQsNyArMTY0LDcgQEAgZG9fS2V5UHJlc3MgKFhFdmVudCAqZXZlbnRwKQotICAgICAgICAgfSBlbHNlIHsKLSAgICAgCSAgIHByaW50ZiAoIlxuIik7CistICAgICAgICBwcmludGYoIiAgICBYbWJMb29rdXBTdHJpbmcgZ2l2ZXMgJWQgYnl0ZXM6ICIsIG5tYmJ5dGVzKTsKKy0gICAgICAgIGlmIChubWJieXRlcyA+IDApIHsKKy0gICAgICAgICAgICBkdW1wKGJ1Ziwgbm1iYnl0ZXMpOworLSAgICAgICAgICAgIHByaW50ZigiIFwiJXNcIlxuIiwgYnVmKTsKKy0gICAgICAgIH0KKy0gICAgICAgIGVsc2UgeworLSAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKy0gICAgICAgIH0KKy0gICAgfQorIAorICAgICBwcmludGYoIiAgICBYRmlsdGVyRXZlbnQgcmV0dXJuczogJXNcbiIsCisgICAgICAgICAgICBYRmlsdGVyRXZlbnQoZXZlbnRwLCBlLT53aW5kb3cpID8gIlRydWUiIDogIkZhbHNlIik7CitAQCAtMTE0MSw3ICsxMTIwLDcgQEAgcGFyc2VfZXZlbnRfbWFzayhjb25zdCBjaGFyICpzLCBsb25nIGV2ZQorICAgICAgICAgICAgIGlmIChzKQorICAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZTsKICAgICAgICAgIH0KIC0gICAgfQotKyAgICB9ICovCisrCX0KICAKLSAgICAgcHJpbnRmICgiICAgIFhGaWx0ZXJFdmVudCByZXR1cm5zOiAlc1xuIiwKLSAJICAgIFhGaWx0ZXJFdmVudCAoZXZlbnRwLCBlLT53aW5kb3cpID8gIlRydWUiIDogIkZhbHNlIik7Ci1AQCAtMTAxNSw3ICsxMDE1LDcgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQotICAgICAgICAgZnByaW50ZiAoc3RkZXJyLCAiJXM6ICBYU2V0TG9jYWxlTW9kaWZpZXJzIGZhaWxlZFxuIiwgUHJvZ3JhbU5hbWUpOworICAgICBpZiAocyAhPSBOVUxMKQorICAgICAgICAgZnByaW50ZihzdGRlcnIsICIlczogdW5yZWNvZ25pemVkIGV2ZW50IG1hc2sgJyVzJ1xuIiwgUHJvZ3JhbU5hbWUsIHMpOworQEAgLTEyODgsMzcgKzEyNjcsNiBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKKyAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJXM6ICBYU2V0TG9jYWxlTW9kaWZpZXJzIGZhaWxlZFxuIiwgUHJvZ3JhbU5hbWUpOwogICAgICB9CiAgCi0tICAgIHhpbSA9IFhPcGVuSU0gKGRweSwgTlVMTCwgTlVMTCwgTlVMTCk7Ci0rICAgIC8qeGltID0gWE9wZW5JTSAoZHB5LCBOVUxMLCBOVUxMLCBOVUxMKTsKLSAgICAgaWYgKHhpbSA9PSBOVUxMKSB7Ci0gICAgICAgICBmcHJpbnRmIChzdGRlcnIsICIlczogIFhPcGVuSU0gZmFpbGVkXG4iLCBQcm9ncmFtTmFtZSk7Ci0gICAgIH0KLUBAIC0xMDQyLDcgKzEwNDIsNyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi0gICAgICAgICAgICAgfQotICAgICAgICAgICAgIFhGcmVlICh4aW1fc3R5bGVzKTsKLSAgICAgICAgIH0KKy0gICAgeGltID0gWE9wZW5JTShkcHksIE5VTEwsIE5VTEwsIE5VTEwpOworLSAgICBpZiAoeGltID09IE5VTEwpIHsKKy0gICAgICAgIGZwcmludGYoc3RkZXJyLCAiJXM6ICBYT3BlbklNIGZhaWxlZFxuIiwgUHJvZ3JhbU5hbWUpOwogLSAgICB9Ci0rCX0qLworLQorLSAgICBpZiAoeGltKSB7CistICAgICAgICBpbXZhbHJldCA9IFhHZXRJTVZhbHVlcyh4aW0sIFhOUXVlcnlJbnB1dFN0eWxlLCAmeGltX3N0eWxlcywgTlVMTCk7CistICAgICAgICBpZiAoaW12YWxyZXQgIT0gTlVMTCB8fCB4aW1fc3R5bGVzID09IE5VTEwpIHsKKy0gICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiVzOiAgaW5wdXQgbWV0aG9kIGRvZXNuJ3Qgc3VwcG9ydCBhbnkgc3R5bGVzXG4iLAorLSAgICAgICAgICAgICAgICAgICAgUHJvZ3JhbU5hbWUpOworLSAgICAgICAgfQorLQorLSAgICAgICAgaWYgKHhpbV9zdHlsZXMpIHsKKy0gICAgICAgICAgICB4aW1fc3R5bGUgPSAwOworLSAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCB4aW1fc3R5bGVzLT5jb3VudF9zdHlsZXM7IGkrKykgeworLSAgICAgICAgICAgICAgICBpZiAoeGltX3N0eWxlcy0+c3VwcG9ydGVkX3N0eWxlc1tpXSA9PQorLSAgICAgICAgICAgICAgICAgICAgKFhJTVByZWVkaXROb3RoaW5nIHwgWElNU3RhdHVzTm90aGluZykpIHsKKy0gICAgICAgICAgICAgICAgICAgIHhpbV9zdHlsZSA9IHhpbV9zdHlsZXMtPnN1cHBvcnRlZF9zdHlsZXNbaV07CistICAgICAgICAgICAgICAgICAgICBicmVhazsKKy0gICAgICAgICAgICAgICAgfQorLSAgICAgICAgICAgIH0KKy0KKy0gICAgICAgICAgICBpZiAoeGltX3N0eWxlID09IDApIHsKKy0gICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsCistICAgICAgICAgICAgICAgICAgICAgICAgIiVzOiBpbnB1dCBtZXRob2QgZG9lc24ndCBzdXBwb3J0IHRoZSBzdHlsZSB3ZSBzdXBwb3J0XG4iLAorLSAgICAgICAgICAgICAgICAgICAgICAgIFByb2dyYW1OYW1lKTsKKy0gICAgICAgICAgICB9CistICAgICAgICAgICAgWEZyZWUoeGltX3N0eWxlcyk7CistICAgICAgICB9CistICAgIH0KKy0KKyAgICAgc2NyZWVuID0gRGVmYXVsdFNjcmVlbihkcHkpOwogIAotICAgICBzY3JlZW4gPSBEZWZhdWx0U2NyZWVuIChkcHkpOwotIAotQEAgLTExMDksNyArMTEwOSw3IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKLSAJcHJpbnRmICgiT3V0ZXIgd2luZG93IGlzIDB4JWx4LCBpbm5lciB3aW5kb3cgaXMgMHglbHhcbiIsIHcsIHN1YncpOworICAgICBhdHRyLmV2ZW50X21hc2sgPSBldmVudF9tYXNrc1tFVkVOVF9NQVNLX0lOREVYX0NPUkVdOworQEAgLTEzNzMsMTYgKzEzMjEsNiBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKKyAgICAgICAgIHByaW50ZigiT3V0ZXIgd2luZG93IGlzIDB4JWx4LCBpbm5lciB3aW5kb3cgaXMgMHglbHhcbiIsIHcsIHN1YncpOwogICAgICB9CiAgCiAtICAgIGlmICh4aW0gJiYgeGltX3N0eWxlKSB7Ci0rICAgIC8qaWYgKHhpbSAmJiB4aW1fc3R5bGUpIHsKLSAgICAgICAgIHhpYyA9IFhDcmVhdGVJQyAoeGltLAotICAgICAgICAgICAgICAgICAgICAgICAgICBYTklucHV0U3R5bGUsIHhpbV9zdHlsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgWE5DbGllbnRXaW5kb3csIHcsCi1AQCAtMTExOSw3ICsxMTE5LDcgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQotICAgICAgICAgaWYgKHhpYyA9PSBOVUxMKSB7Ci0gICAgICAgICAgICAgZnByaW50ZiAoc3RkZXJyLCAiWENyZWF0ZUlDIGZhaWxlZFxuIik7Ci0gICAgICAgICB9CistICAgICAgICB4aWMgPSBYQ3JlYXRlSUMoeGltLAorLSAgICAgICAgICAgICAgICAgICAgICAgIFhOSW5wdXRTdHlsZSwgeGltX3N0eWxlLAorLSAgICAgICAgICAgICAgICAgICAgICAgIFhOQ2xpZW50V2luZG93LCB3LCBYTkZvY3VzV2luZG93LCB3LCBOVUxMKTsKKy0KKy0gICAgICAgIGlmICh4aWMgPT0gTlVMTCkgeworLSAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiWENyZWF0ZUlDIGZhaWxlZFxuIik7CistICAgICAgICB9CiAtICAgIH0KLSsgICAgfSovCi0gCi0gICAgIGhhdmVfcnIgPSBYUlJRdWVyeUV4dGVuc2lvbiAoZHB5LCAmcnJfZXZlbnRfYmFzZSwgJnJyX2Vycm9yX2Jhc2UpOworLQorICAgICBoYXZlX3JyID0gWFJSUXVlcnlFeHRlbnNpb24oZHB5LCAmcnJfZXZlbnRfYmFzZSwgJnJyX2Vycm9yX2Jhc2UpOwogICAgICBpZiAoaGF2ZV9ycikgeworICAgICAgICAgaW50IHJyX21ham9yLCBycl9taW5vcjsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hldl8xLjIuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hldl8xLjIuMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDcwNWI3Zi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94ZXZfMS4yLjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1yZXF1aXJlIHhvcmctYXBwLWNvbW1vbi5pbmMKLQotU1VNTUFSWSA9ICJYIEV2ZW50IFZpZXdlciIKLURFU0NSSVBUSU9OID0gIlhldiBjcmVhdGVzIGEgd2luZG93IGFuZCB0aGVuIGFza3MgdGhlIFggc2VydmVyIHRvIHNlbmQgaXQgZXZlbnRzIFwKLXdoZW5ldmVyIGFueXRoaW5nIGhhcHBlbnMgdG8gdGhlIHdpbmRvdyAoc3VjaCBhcyBpdCBiZWluZyBtb3ZlZCwgcmVzaXplZCwgXAotdHlwZWQgaW4sIGNsaWNrZWQgaW4sIGV0Yy4pLiBZb3UgY2FuIGFsc28gYXR0YWNoIGl0IHRvIGFuIGV4aXN0aW5nIHdpbmRvdy4iCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3hldi5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MzM7bWQ1PTU3N2M5OTQyMWYxODAzYjg5MWQyYzc5MDk3YWU0NjgyIgotTElDRU5TRSA9ICJNSVQiCi0KLVBFID0gIjEiCi0KLURFUEVORFMgKz0gImxpYnhyYW5kciB4b3JncHJvdG8iCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly9kaWV0LXgxMS5wYXRjaCIKLQotU1JDX1VSSVttZDVzdW1dID0gIjI0OWJkZGU5MGYwMWMwZDg2MWFmNTJkYzhmZWMzNzllIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ5NGFlNjJhNmMxYWY1NmMyOTYxZDcxZjU3ODIwNzZhYzQxMTZmMGZhNGU0MDE0MjBhYzdlMGRiMzNkYzMxNGYiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94ZXZfMS4yLjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94ZXZfMS4yLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmE2OWU3NAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hldl8xLjIuMy5iYgpAQCAtMCwwICsxLDE4IEBACityZXF1aXJlIHhvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJYIEV2ZW50IFZpZXdlciIKK0RFU0NSSVBUSU9OID0gIlhldiBjcmVhdGVzIGEgd2luZG93IGFuZCB0aGVuIGFza3MgdGhlIFggc2VydmVyIHRvIHNlbmQgaXQgZXZlbnRzIFwKK3doZW5ldmVyIGFueXRoaW5nIGhhcHBlbnMgdG8gdGhlIHdpbmRvdyAoc3VjaCBhcyBpdCBiZWluZyBtb3ZlZCwgcmVzaXplZCwgXAordHlwZWQgaW4sIGNsaWNrZWQgaW4sIGV0Yy4pLiBZb3UgY2FuIGFsc28gYXR0YWNoIGl0IHRvIGFuIGV4aXN0aW5nIHdpbmRvdy4iCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3hldi5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MzM7bWQ1PTU3N2M5OTQyMWYxODAzYjg5MWQyYzc5MDk3YWU0NjgyIgorTElDRU5TRSA9ICJNSVQiCisKK1BFID0gIjEiCisKK0RFUEVORFMgKz0gImxpYnhyYW5kciB4b3JncHJvdG8iCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9kaWV0LXgxMS5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gImVlYzgyYTVkNGI1OTk3MzZmMGZhNjM3ZTk2MTM2NzQ2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY2YmM0ZjFjZmExOTQ2ZDYyNjEyNzM3ODE1YzM0MTY0ZTRjZTQwZmNlYmQyYzllMWQ3ZTdhMTExN2FkM2FkMDkiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94aG9zdF8xLjAuNy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hob3N0XzEuMC43LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NzQ5MGY1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hob3N0XzEuMC43LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotcmVxdWlyZSB4b3JnLWFwcC1jb21tb24uaW5jCi0KLVNVTU1BUlkgPSAiU2VydmVyIGFjY2VzcyBjb250cm9sIHByb2dyYW0gZm9yIFgiCi0KLURFU0NSSVBUSU9OID0gIlRoZSB4aG9zdCBwcm9ncmFtIGlzIHVzZWQgdG8gYWRkIGFuZCBkZWxldGUgaG9zdCBuYW1lcyBvciBcCi11c2VyIG5hbWVzIHRvIHRoZSBsaXN0IGFsbG93ZWQgdG8gbWFrZSBjb25uZWN0aW9ucyB0byB0aGUgWCBzZXJ2ZXIuIEluIFwKLXRoZSBjYXNlIG9mIGhvc3RzLCB0aGlzIHByb3ZpZGVzIGEgcnVkaW1lbnRhcnkgZm9ybSBvZiBwcml2YWN5IGNvbnRyb2wgXAotYW5kIHNlY3VyaXR5LiBFbnZpcm9ubWVudHMgd2hpY2ggcmVxdWlyZSBtb3JlIHNvcGhpc3RpY2F0ZWQgbWVhc3VyZXMgXAotc2hvdWxkIGltcGxlbWVudCB0aGUgdXNlci1iYXNlZCBtZWNoYW5pc20gb3IgdXNlIHRoZSBob29rcyBpbiB0aGUgXAotcHJvdG9jb2wgZm9yIHBhc3Npbmcgb3RoZXIgYXV0aGVudGljYXRpb24gZGF0YSB0byB0aGUgc2VydmVyLiIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OGZiZWQ3MWRkZGY0ODU0MTgxOGNlZjgwNzkxMjQxOTkiCi1ERVBFTkRTICs9ICJsaWJ4bXUgbGlieGF1IgotUEUgPSAiMSIKLQotU1JDX1VSSVttZDVzdW1dID0gImY1ZDQ5MDczOGIxNDhjYjdmMmZlNzYwZjQwZjkyNTE2IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjkzZTYxOWVlMTU0NzFmNTc2Y2ZiMzBjNjYzZTE4ZjViYzcwYWNhNTc3YTYzZDJjMmMwM2YwMDZhNzgzN2MyOWEiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgZCl9IgotUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2LCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hob3N0XzEuMC44LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGhvc3RfMS4wLjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjZiZWMzZgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hob3N0XzEuMC44LmJiCkBAIC0wLDAgKzEsMjAgQEAKK3JlcXVpcmUgeG9yZy1hcHAtY29tbW9uLmluYworCitTVU1NQVJZID0gIlNlcnZlciBhY2Nlc3MgY29udHJvbCBwcm9ncmFtIGZvciBYIgorCitERVNDUklQVElPTiA9ICJUaGUgeGhvc3QgcHJvZ3JhbSBpcyB1c2VkIHRvIGFkZCBhbmQgZGVsZXRlIGhvc3QgbmFtZXMgb3IgXAordXNlciBuYW1lcyB0byB0aGUgbGlzdCBhbGxvd2VkIHRvIG1ha2UgY29ubmVjdGlvbnMgdG8gdGhlIFggc2VydmVyLiBJbiBcCit0aGUgY2FzZSBvZiBob3N0cywgdGhpcyBwcm92aWRlcyBhIHJ1ZGltZW50YXJ5IGZvcm0gb2YgcHJpdmFjeSBjb250cm9sIFwKK2FuZCBzZWN1cml0eS4gRW52aXJvbm1lbnRzIHdoaWNoIHJlcXVpcmUgbW9yZSBzb3BoaXN0aWNhdGVkIG1lYXN1cmVzIFwKK3Nob3VsZCBpbXBsZW1lbnQgdGhlIHVzZXItYmFzZWQgbWVjaGFuaXNtIG9yIHVzZSB0aGUgaG9va3MgaW4gdGhlIFwKK3Byb3RvY29sIGZvciBwYXNzaW5nIG90aGVyIGF1dGhlbnRpY2F0aW9uIGRhdGEgdG8gdGhlIHNlcnZlci4iCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThmYmVkNzFkZGRmNDg1NDE4MThjZWY4MDc5MTI0MTk5IgorREVQRU5EUyArPSAibGlieG11IGxpYnhhdSIKK1BFID0gIjEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhNDhjNzI5NTRhZTY2NjVlMDYxNmY2NjUzNjM2ZGE4YyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhMmRjM2M1NzllMTM2NzQ5NDczOTVlZjhjY2MxYjM3NjNmODkwMTJhMjE2YzJjYzYyNzcwOTY0ODlhYWRjMzk2IgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsIGQpfSIKK1BBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiwiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94aW5pdF8xLjQuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hpbml0XzEuNC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYzJhMDZiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hpbml0XzEuNC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotcmVxdWlyZSB4b3JnLWFwcC1jb21tb24uaW5jCi0KLVNVTU1BUlkgPSAiWCBXaW5kb3cgU3lzdGVtIGluaXRpYWxpemVyIgotCi1ERVNDUklQVElPTiA9ICJUaGUgeGluaXQgcHJvZ3JhbSBpcyB1c2VkIHRvIHN0YXJ0IHRoZSBYIFdpbmRvdyBTeXN0ZW0gXAotc2VydmVyIGFuZCBhIGZpcnN0IGNsaWVudCBwcm9ncmFtIG9uIHN5c3RlbXMgdGhhdCBjYW5ub3Qgc3RhcnQgWCBcCi1kaXJlY3RseSBmcm9tIC9ldGMvaW5pdCBvciBpbiBlbnZpcm9ubWVudHMgdGhhdCB1c2UgbXVsdGlwbGUgd2luZG93IFwKLXN5c3RlbXMuIFdoZW4gdGhpcyBmaXJzdCBjbGllbnQgZXhpdHMsIHhpbml0IHdpbGwga2lsbCB0aGUgWCBzZXJ2ZXIgYW5kIFwKLXRoZW4gdGVybWluYXRlLiIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MThmMDFlN2IzOTgwN2JlYmUyYjhkZjEwMWEwMzliNjgiCi0KLVBFID0gIjEiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIyZGExNTRiMmY4MGNhOTYzN2IxYTE3YjEzYWYwODgwYyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIyMzA4MzVlZWYyZjU5NzhhMWUxMzQ0OTI4MTY4MTE5MzczZjZkZjFkMGEzMmMwOTUxNWU1NDU3MjFlZTU4MmVmIgotCi1FWFRSQV9PRUNPTkYgPSAiYWNfY3ZfcGF0aF9NQ09PS0lFPSR7YmluZGlyfS9tY29va2llIgotCi1SREVQRU5EU18ke1BOfSArPSAidXRpbC1saW51eC1tY29va2llIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGluaXRfMS40LjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94aW5pdF8xLjQuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NjI2ZWJiCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGluaXRfMS40LjEuYmIKQEAgLTAsMCArMSwyMCBAQAorcmVxdWlyZSB4b3JnLWFwcC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiWCBXaW5kb3cgU3lzdGVtIGluaXRpYWxpemVyIgorCitERVNDUklQVElPTiA9ICJUaGUgeGluaXQgcHJvZ3JhbSBpcyB1c2VkIHRvIHN0YXJ0IHRoZSBYIFdpbmRvdyBTeXN0ZW0gXAorc2VydmVyIGFuZCBhIGZpcnN0IGNsaWVudCBwcm9ncmFtIG9uIHN5c3RlbXMgdGhhdCBjYW5ub3Qgc3RhcnQgWCBcCitkaXJlY3RseSBmcm9tIC9ldGMvaW5pdCBvciBpbiBlbnZpcm9ubWVudHMgdGhhdCB1c2UgbXVsdGlwbGUgd2luZG93IFwKK3N5c3RlbXMuIFdoZW4gdGhpcyBmaXJzdCBjbGllbnQgZXhpdHMsIHhpbml0IHdpbGwga2lsbCB0aGUgWCBzZXJ2ZXIgYW5kIFwKK3RoZW4gdGVybWluYXRlLiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MThmMDFlN2IzOTgwN2JlYmUyYjhkZjEwMWEwMzliNjgiCisKK1BFID0gIjEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2ZDUwNmFiMmVmYzE3YTA4ZTg3Nzc4NjU0ZTA5OWQzNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkZTliOGY2MTdiNjhhNzBmNmNhZjg3ZGEwMWZjZjBlYmQyYjc1NjkwY2RjYmE5YzkyMWQwZWY1NGZhNTRhYmI5IgorCitFWFRSQV9PRUNPTkYgPSAiYWNfY3ZfcGF0aF9NQ09PS0lFPSR7YmluZGlyfS9tY29va2llIgorCitSREVQRU5EU18ke1BOfSArPSAidXRpbC1saW51eC1tY29va2llIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG1vZG1hcF8xLjAuMTAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94bW9kbWFwXzEuMC4xMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZGVkYjAzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG1vZG1hcF8xLjAuMTAuYmIKQEAgLTAsMCArMSwxNiBAQAorcmVxdWlyZSB4b3JnLWFwcC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiVXRpbGl0eSBmb3IgbW9kaWZ5aW5nIGtleW1hcHMgYW5kIHBvaW50ZXIgYnV0dG9uIG1hcHBpbmdzIGluIFgiCisKK0RFU0NSSVBUSU9OID0gIlRoZSB4bW9kbWFwIHByb2dyYW0gaXMgdXNlZCB0byBlZGl0IGFuZCBkaXNwbGF5IHRoZSBcCitrZXlib2FyZCBtb2RpZmllciBtYXAgYW5kIGtleW1hcCB0YWJsZSB0aGF0IGFyZSB1c2VkIGJ5IGNsaWVudCBcCithcHBsaWNhdGlvbnMgdG8gY29udmVydCBldmVudCBrZXljb2RlcyBpbnRvIGtleXN5bXMuIEl0IGlzIHVzdWFsbHkgcnVuIFwKK2Zyb20gdGhlIHVzZXIncyBzZXNzaW9uIHN0YXJ0dXAgc2NyaXB0IHRvIGNvbmZpZ3VyZSB0aGUga2V5Ym9hcmQgXAorYWNjb3JkaW5nIHRvIHBlcnNvbmFsIHRhc3Rlcy4iCisKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjcyYzE3ZTk2MzcwZTFlNzQ3NzNmYTIyZDk5ODk2MjEiCisKK1BFID0gIjEiCitTUkNfVVJJW21kNXN1bV0gPSAiNTFmMWQzMGE1MjVlOTkwMzI4MGZmZWVhMjc0NGIxZjYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDczZjA5NDFkNzQzOWQ1MDFiYjg5NWZmMzU4ODMyYjkzNmVjMzRjNzQ5Yjk3MDRjMzdhMTVlMTFjMzE4NDg3YyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3htb2RtYXBfMS4wLjkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94bW9kbWFwXzEuMC45LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZGVhYzZhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3htb2RtYXBfMS4wLjkuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1yZXF1aXJlIHhvcmctYXBwLWNvbW1vbi5pbmMKLQotU1VNTUFSWSA9ICJVdGlsaXR5IGZvciBtb2RpZnlpbmcga2V5bWFwcyBhbmQgcG9pbnRlciBidXR0b24gbWFwcGluZ3MgaW4gWCIKLQotREVTQ1JJUFRJT04gPSAiVGhlIHhtb2RtYXAgcHJvZ3JhbSBpcyB1c2VkIHRvIGVkaXQgYW5kIGRpc3BsYXkgdGhlIFwKLWtleWJvYXJkIG1vZGlmaWVyIG1hcCBhbmQga2V5bWFwIHRhYmxlIHRoYXQgYXJlIHVzZWQgYnkgY2xpZW50IFwKLWFwcGxpY2F0aW9ucyB0byBjb252ZXJ0IGV2ZW50IGtleWNvZGVzIGludG8ga2V5c3ltcy4gSXQgaXMgdXN1YWxseSBydW4gXAotZnJvbSB0aGUgdXNlcidzIHNlc3Npb24gc3RhcnR1cCBzY3JpcHQgdG8gY29uZmlndXJlIHRoZSBrZXlib2FyZCBcCi1hY2NvcmRpbmcgdG8gcGVyc29uYWwgdGFzdGVzLiIKLQotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yNzJjMTdlOTYzNzBlMWU3NDc3M2ZhMjJkOTk4OTYyMSIKLQotUEUgPSAiMSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjcyM2YwMmQzYTVmOTg0NTA1NTQ1NTYyMDVmMGE5NDk3IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImI3YjBlNWNjNWYxMGQwZmI2ZDJkNmVhNGYwMGM3N2U4YWMwZTg0N2NjNWE3M2JlOTRjZDg2MTM5YWM0YWM0NzgiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94cHJvcF8xLjIuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hwcm9wXzEuMi4zLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYTU4ZDQ3Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hwcm9wXzEuMi4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotcmVxdWlyZSB4b3JnLWFwcC1jb21tb24uaW5jCi0KLVNVTU1BUlkgPSAiVXRpbGl0eSB0byBkaXNwbGF5IHdpbmRvdyBhbmQgZm9udCBwcm9wZXJ0aWVzIG9mIGFuIFggc2VydmVyIgotCi1ERVNDUklQVElPTiA9ICJUaGUgeHByb3AgdXRpbGl0eSBpcyBmb3IgZGlzcGxheWluZyB3aW5kb3cgYW5kIGZvbnQgXAotcHJvcGVydGllcyBpbiBhbiBYIHNlcnZlci4gT25lIHdpbmRvdyBvciBmb250IGlzIHNlbGVjdGVkIHVzaW5nIHRoZSBcCi1jb21tYW5kIGxpbmUgYXJndW1lbnRzIG9yIHBvc3NpYmx5IGluIHRoZSBjYXNlIG9mIGEgd2luZG93LCBieSBjbGlja2luZyBcCi1vbiB0aGUgZGVzaXJlZCB3aW5kb3cuIEEgbGlzdCBvZiBwcm9wZXJ0aWVzIGlzIHRoZW4gZ2l2ZW4sIHBvc3NpYmx5IHdpdGggXAotZm9ybWF0dGluZyBpbmZvcm1hdGlvbi4iCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWUyMjZhYjhkYjg4YWMwYmMwMzkxNjczYmU0MGM5ZjkxIgotCi1ERVBFTkRTICs9ICJsaWJ4bXUiCi0KLVBFID0gIjEiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI0YmVjYjNkZGM0Njc0ZDc0MTQ4NzE4OWU0Y2UzZDBiNiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJkMjJhZmIyOGM4NmQ4NWZmZjEwYTUwMTU2YTdkMGZhOTMwYzgwYWU4NjVkNzBiMjZkODA1ZmQyOGExN2E1MjFiIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHByb3BfMS4yLjQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94cHJvcF8xLjIuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMjgwODEzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHByb3BfMS4yLjQuYmIKQEAgLTAsMCArMSwxOCBAQAorcmVxdWlyZSB4b3JnLWFwcC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiVXRpbGl0eSB0byBkaXNwbGF5IHdpbmRvdyBhbmQgZm9udCBwcm9wZXJ0aWVzIG9mIGFuIFggc2VydmVyIgorCitERVNDUklQVElPTiA9ICJUaGUgeHByb3AgdXRpbGl0eSBpcyBmb3IgZGlzcGxheWluZyB3aW5kb3cgYW5kIGZvbnQgXAorcHJvcGVydGllcyBpbiBhbiBYIHNlcnZlci4gT25lIHdpbmRvdyBvciBmb250IGlzIHNlbGVjdGVkIHVzaW5nIHRoZSBcCitjb21tYW5kIGxpbmUgYXJndW1lbnRzIG9yIHBvc3NpYmx5IGluIHRoZSBjYXNlIG9mIGEgd2luZG93LCBieSBjbGlja2luZyBcCitvbiB0aGUgZGVzaXJlZCB3aW5kb3cuIEEgbGlzdCBvZiBwcm9wZXJ0aWVzIGlzIHRoZW4gZ2l2ZW4sIHBvc3NpYmx5IHdpdGggXAorZm9ybWF0dGluZyBpbmZvcm1hdGlvbi4iCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWUyMjZhYjhkYjg4YWMwYmMwMzkxNjczYmU0MGM5ZjkxIgorCitERVBFTkRTICs9ICJsaWJ4bXUiCisKK1BFID0gIjEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjYzM2OWMyODM4M2E1ZDcxNDRlNzE5N2VlN2QzMGJmYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4Yzc3ZmIwOTZlNDZjNjAwMzJiN2UyYmRlOTQ5MmMzZmZjYzE4NzM0ZjUwYjM5NTA4NWE1ZjEwYmZkM2NmNzUzIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHZpbmZvXzEuMS4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHZpbmZvXzEuMS4zLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyOTY1ZWY3Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3h2aW5mb18xLjEuMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLXJlcXVpcmUgeG9yZy1hcHAtY29tbW9uLmluYwotCi1TVU1NQVJZID0gIlByaW50IG91dCBYLVZpZGVvIGV4dGVuc2lvbiBhZGFwdG9yIGluZm9ybWF0aW9uIgotCi1ERVNDUklQVElPTiA9ICJ4dmluZm8gcHJpbnRzIG91dCB0aGUgY2FwYWJpbGl0aWVzIG9mIGFueSB2aWRlbyBhZGFwdG9ycyBcCi1hc3NvY2lhdGVkIHdpdGggdGhlIGRpc3BsYXkgdGhhdCBhcmUgYWNjZXNzaWJsZSB0aHJvdWdoIHRoZSBYLVZpZGVvIFwKLWV4dGVuc2lvbi4iCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWI2NjQxMDFhZDdhMWRjNzU4YTRjNDEwOWJmOTc4ZTY4IgotREVQRU5EUyArPSAiIGxpYnh2IgotUEUgPSAiMSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjU1ODM2MDE3NmI3MThkZWUzYzM5YmMwNjQ4YzBkMTBjIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjlmYmE4YjY4ZGFmNTM4NjNlNjZkNTAwNGZhOWM3MDNmY2VjZjY5ZGI0ZDE1MWVhMmQzZDg4NWQ2MjFlNmU1ZWIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94dmluZm9fMS4xLjQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94dmluZm9fMS4xLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTkxM2FlMQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3h2aW5mb18xLjEuNC5iYgpAQCAtMCwwICsxLDE0IEBACityZXF1aXJlIHhvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJQcmludCBvdXQgWC1WaWRlbyBleHRlbnNpb24gYWRhcHRvciBpbmZvcm1hdGlvbiIKKworREVTQ1JJUFRJT04gPSAieHZpbmZvIHByaW50cyBvdXQgdGhlIGNhcGFiaWxpdGllcyBvZiBhbnkgdmlkZW8gYWRhcHRvcnMgXAorYXNzb2NpYXRlZCB3aXRoIHRoZSBkaXNwbGF5IHRoYXQgYXJlIGFjY2Vzc2libGUgdGhyb3VnaCB0aGUgWC1WaWRlbyBcCitleHRlbnNpb24uIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iNjY0MTAxYWQ3YTFkYzc1OGE0YzQxMDliZjk3OGU2OCIKK0RFUEVORFMgKz0gIiBsaWJ4diIKK1BFID0gIjEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiMTNhZmVjMTM3YjliMzMxODE0YTk4MjRhYjAzZWM4MCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwMzUzMjIwZDY2MDYwNzdiYTQyMzYzZGI2NWY1MDQxMDc1OWY5ODE1MzUyZjc3YWRjNzk5ZTJhZGZhNzZlNzNmIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni1pbnB1dC1saWJpbnB1dF8wLjI4LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LWxpYmlucHV0XzAuMjguMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTg1M2I1Yi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LWxpYmlucHV0XzAuMjguMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLXJlcXVpcmUgeG9yZy1kcml2ZXItaW5wdXQuaW5jCi0KLVNVTU1BUlkgPSAiR2VuZXJpYyBpbnB1dCBkcml2ZXIgZm9yIHRoZSBYLk9yZyBzZXJ2ZXIgYmFzZWQgb24gbGliaW5wdXQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01ZTZiMjBlYTJlZjk0YTk5ODE0NWYwZWEzZjc4OGVlMCIKLQotREVQRU5EUyArPSAibGliaW5wdXQiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIyZDc1MTlhYzBlMzlkNGM4OGYzYmUzMmU4MWE2MzdhYSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIyMTk5NGQwNjVmYzI2ZTg1ZDFjM2ZjODdkODQ3OWI5YzIyNjk5ZWQ1YTAxMTlkZjk4ZmJlMDAwMGU4NDYzMGExIgotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9YMTEveG9yZy5jb25mLmQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LWxpYmlucHV0XzAuMjguMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtbGliaW5wdXRfMC4yOC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5MTIzZTAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LWxpYmlucHV0XzAuMjguMi5iYgpAQCAtMCwwICsxLDExIEBACityZXF1aXJlIHhvcmctZHJpdmVyLWlucHV0LmluYworCitTVU1NQVJZID0gIkdlbmVyaWMgaW5wdXQgZHJpdmVyIGZvciB0aGUgWC5Pcmcgc2VydmVyIGJhc2VkIG9uIGxpYmlucHV0IgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NWU2YjIwZWEyZWY5NGE5OTgxNDVmMGVhM2Y3ODhlZTAiCisKK0RFUEVORFMgKz0gImxpYmlucHV0IgorCitTUkNfVVJJW21kNXN1bV0gPSAiYjc1NDhiYzFkN2U4MmQxODkyMDU3OTRmZjg2MzA3YWYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjhiMzQ2OTYyYzZiNjJiODA2OTkyOGMyOWMwZGI4M2I2ZjU0NDg2M2JmMmZjNjgzMGYzMjRkZTg0MWRlMjgyMCIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vWDExL3hvcmcuY29uZi5kIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1pbnRlbC8wMDAxLUFkZC1Db2ZmZWVsYWtlLVBDSS1JRHMtZm9yLVMtU2t1cy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8taW50ZWwvMDAwMS1BZGQtQ29mZmVlbGFrZS1QQ0ktSURzLWZvci1TLVNrdXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA2ZWYxMDUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1pbnRlbC8wMDAxLUFkZC1Db2ZmZWVsYWtlLVBDSS1JRHMtZm9yLVMtU2t1cy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDExNiArMCwwIEBACi1Gcm9tIDk2ZDRlOGU3YjhhNjk5ZjBlZjc3ZmE3YjIxMGQ0ZGU1ZjFjNzAzZDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBMaXdlaSBTb25nIDxsaXdlaS5zb25nQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBXZWQsIDIyIE5vdiAyMDE3IDA4OjU5OjAzICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIEFkZCBDb2ZmZWVsYWtlIFBDSSBJRHMgZm9yIFMgU2t1cwotCi1BZGQgdGhlIENvZmZlZWxha2UgUENJIElEcyBiYXNlZCBvbiB0aGUgZm9sbG93aW5nIGtlcm5lbCBwYXRjaGVzOgotCi1jb21taXQgYjA1NmY4ZjNkNmI5MDBlOGFmZDE5ZjMxMjcxOTE2MDM0NmQyNjNiNAotQXV0aG9yOiBBbnVzaGEgU3JpdmF0c2EgPGFudXNoYS5zcml2YXRzYUBpbnRlbC5jb20+Ci1EYXRlOiAgIFRodSBKdW4gOCAxNjo0MTowNSAyMDE3IC0wNzAwCi0KLSAgICBkcm0vaTkxNS9jZmw6IEFkZCBDb2ZmZWUgTGFrZSBQQ0kgSURzIGZvciBTIFNrdXMuCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL3BhdGNod29yay5rZXJuZWwub3JnL3BhdGNoLzEwMTM5OTA1XQotCi1TaWduZWQtb2ZmLWJ5OiBMaXdlaSBTb25nIDxsaXdlaS5zb25nQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBzcmMvaTkxNV9wY2lpZHMuaCAgICAgfCAgNyArKysrKysrCi0gc3JjL2ludGVsX21vZHVsZS5jICAgIHwgMTMgKysrKysrKysrKysrKwotIHNyYy9zbmEvZ2VuOV9yZW5kZXIuYyB8IDEyICsrKysrKysrKysrKwotIDMgZmlsZXMgY2hhbmdlZCwgMzIgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2k5MTVfcGNpaWRzLmggYi9zcmMvaTkxNV9wY2lpZHMuaAotaW5kZXggMDM3MGY4MzBjNTQxLi4xMWNjZmE5YzA0N2EgMTAwNjQ0Ci0tLS0gYS9zcmMvaTkxNV9wY2lpZHMuaAotKysrIGIvc3JjL2k5MTVfcGNpaWRzLmgKLUBAIC0zNDAsNCArMzQwLDExIEBACi0gCUlOVEVMX1ZHQV9ERVZJQ0UoMHgzMTg0LCBpbmZvKSwgXAotIAlJTlRFTF9WR0FfREVWSUNFKDB4MzE4NSwgaW5mbykKLSAKLSsjZGVmaW5lIElOVEVMX0NGTF9TX0lEUyhpbmZvKSBcCi0rCUlOVEVMX1ZHQV9ERVZJQ0UoMHgzRTkwLCBpbmZvKSwgLyogU1JWIEdUMSAqLyBcCi0rCUlOVEVMX1ZHQV9ERVZJQ0UoMHgzRTkzLCBpbmZvKSwgLyogU1JWIEdUMSAqLyBcCi0rCUlOVEVMX1ZHQV9ERVZJQ0UoMHgzRTkxLCBpbmZvKSwgLyogU1JWIEdUMiAqLyBcCi0rCUlOVEVMX1ZHQV9ERVZJQ0UoMHgzRTkyLCBpbmZvKSwgLyogU1JWIEdUMiAqLyBcCi0rCUlOVEVMX1ZHQV9ERVZJQ0UoMHgzRTk2LCBpbmZvKSAgLyogU1JWIEdUMiAqLwotKwotICNlbmRpZiAvKiBfSTkxNV9QQ0lJRFNfSCAqLwotZGlmZiAtLWdpdCBhL3NyYy9pbnRlbF9tb2R1bGUuYyBiL3NyYy9pbnRlbF9tb2R1bGUuYwotaW5kZXggNmIwNDg1N2UyODUzLi40ODI3YTY3MjU1ZjAgMTAwNjQ0Ci0tLS0gYS9zcmMvaW50ZWxfbW9kdWxlLmMKLSsrKyBiL3NyYy9pbnRlbF9tb2R1bGUuYwotQEAgLTEzOCw2ICsxMzgsMTAgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9nZW1pbmlsYWtlX2luZm8gPSB7Ci0gCS5nZW4gPSAwMTEzLAotIH07Ci0gCi0rc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9jb2ZmZWVsYWtlX2luZm8gPSB7Ci0rCS5nZW4gPSAwMTE0LAotK307Ci0rCi0gc3RhdGljIGNvbnN0IFN5bVRhYlJlYyBpbnRlbF9jaGlwc2V0c1tdID0gewotIAl7UENJX0NISVBfSTgxMCwJCQkJImk4MTAifSwKLSAJe1BDSV9DSElQX0k4MTBfREMxMDAsCQkJImk4MTAtZGMxMDAifSwKLUBAIC0zMDMsNiArMzA3LDEzIEBAIHN0YXRpYyBjb25zdCBTeW1UYWJSZWMgaW50ZWxfY2hpcHNldHNbXSA9IHsKLSAJezB4NTkxNiwgIkhEIEdyYXBoaWNzIDYyMCJ9LAotIAl7MHg1OTFFLCAiSEQgR3JhcGhpY3MgNjE1In0sCi0gCi0rCS8qQ29mZmVlbGFrZSovCi0rCXsweDNFOTAsICJIRCBHcmFwaGljcyJ9LAotKwl7MHgzRTkzLCAiSEQgR3JhcGhpY3MifSwKLSsJezB4M0U5MSwgIkhEIEdyYXBoaWNzIn0sCi0rCXsweDNFOTIsICJIRCBHcmFwaGljcyJ9LAotKwl7MHgzRTk2LCAiSEQgR3JhcGhpY3MifSwKLSsKLSAJLyogV2hlbiBhZGRpbmcgbmV3IGlkZW50aWZpZXJzLCBhbHNvIHVwZGF0ZToKLSAJICogMS4gaW50ZWxfaWRlbnRpZnkoKQotIAkgKiAyLiBtYW4vaW50ZWwubWFuCi1AQCAtMzY4LDYgKzM3OSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGNpX2lkX21hdGNoIGludGVsX2RldmljZV9tYXRjaFtdID0gewotIAotIAlJTlRFTF9HTEtfSURTKCZpbnRlbF9nZW1pbmlsYWtlX2luZm8pLAotIAotKwlJTlRFTF9DRkxfU19JRFMoJmludGVsX2NvZmZlZWxha2VfaW5mbyksCi0rCi0gCUlOVEVMX1ZHQV9ERVZJQ0UoUENJX01BVENIX0FOWSwgJmludGVsX2dlbmVyaWNfaW5mbyksCi0gI2VuZGlmCi0gCi1kaWZmIC0tZ2l0IGEvc3JjL3NuYS9nZW45X3JlbmRlci5jIGIvc3JjL3NuYS9nZW45X3JlbmRlci5jCi1pbmRleCBlNWYxMmM3MjM5NTYuLjdmNDkwNTJjNWVjMSAxMDA2NDQKLS0tLSBhL3NyYy9zbmEvZ2VuOV9yZW5kZXIuYwotKysrIGIvc3JjL3NuYS9nZW45X3JlbmRlci5jCi1AQCAtMjQ1LDYgKzI0NSwxMSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGd0X2luZm8gZ2xrX2d0X2luZm8gPSB7Ci0gCS51cmIgPSB7IC5tYXhfdnNfZW50cmllcyA9IDMyMCB9LAotIH07Ci0gCi0rc3RhdGljIGNvbnN0IHN0cnVjdCBndF9pbmZvIGNmbF9ndF9pbmZvID0gewotKwkubmFtZSA9ICJDb2ZmZWVsYWtlIChnZW45KSIsCi0rCS51cmIgPSB7IC5tYXhfdnNfZW50cmllcyA9IDk2MCB9LAotK307Ci0rCi0gc3RhdGljIGJvb2wgaXNfc2tsKHN0cnVjdCBzbmEgKnNuYSkKLSB7Ci0gCXJldHVybiBzbmEtPmtnZW0uZ2VuID09IDAxMTA7Ci1AQCAtMjY1LDYgKzI3MCwxMSBAQCBzdGF0aWMgYm9vbCBpc19nbGsoc3RydWN0IHNuYSAqc25hKQotIAlyZXR1cm4gc25hLT5rZ2VtLmdlbiA9PSAwMTEzOwotIH0KLSAKLStzdGF0aWMgYm9vbCBpc19jZmwoc3RydWN0IHNuYSAqc25hKQotK3sKLSsJcmV0dXJuIHNuYS0+a2dlbS5nZW4gPT0gMDExNDsKLSt9Ci0rCi0gCi0gc3RhdGljIGlubGluZSBib29sIHRvb19sYXJnZShpbnQgd2lkdGgsIGludCBoZWlnaHQpCi0gewotQEAgLTQwNDAsNiArNDA1MCw4IEBAIHN0YXRpYyBib29sIGdlbjlfcmVuZGVyX3NldHVwKHN0cnVjdCBzbmEgKnNuYSkKLSAJCXN0YXRlLT5pbmZvID0gJmtibF9ndF9pbmZvOwotIAlpZiAoaXNfZ2xrKHNuYSkpCi0gCQlzdGF0ZS0+aW5mbyA9ICZnbGtfZ3RfaW5mbzsKLSsJaWYgKGlzX2NmbChzbmEpKQotKwkJc3RhdGUtPmluZm8gPSAmY2ZsX2d0X2luZm87Ci0gCi0gCXNuYV9zdGF0aWNfc3RyZWFtX2luaXQoJmdlbmVyYWwpOwotIAotLS0gCi0yLjEzLjMKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1pbnRlbC8wMV9GaXgtYnVpbGQtb24taTY4Ni5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8taW50ZWwvMDFfRml4LWJ1aWxkLW9uLWk2ODYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTI5MTZmOAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8taW50ZWwvMDFfRml4LWJ1aWxkLW9uLWk2ODYucGF0Y2gKQEAgLTAsMCArMSw1NSBAQAorRnJvbSBhNDE0ZDRlMjQ0NjFkYTFjYjRjZWY4ZWU5MTBiYzU3YmFiMzYwY2ViIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWRhbSBKYWNrc29uIDxhamF4QHJlZGhhdC5jb20+CitEYXRlOiBUdWUsIDYgTWFyIDIwMTggMTI6MDc6NDYgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IGJ1aWxkIG9uIGk2ODYKKworUHJlc3VtYWJseSB0aGlzIG9ubHkgbWF0dGVycyBmb3IgaTY4NiBiZWNhdXNlIGFtZDY0IGltcGxpZXMgc3NlMiwgYnV0OgorCitCVUlMRFNUREVSUjogSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGdlbjRfdmVydGV4LmM6MzQ6CitCVUlMRFNUREVSUjogZ2VuNF92ZXJ0ZXguYzogSW4gZnVuY3Rpb24gJ2VtaXRfdmVydGV4JzoKK0JVSUxEU1RERVJSOiBzbmFfcmVuZGVyX2lubGluZS5oOjQwOjI2OiBlcnJvcjogaW5saW5pbmcgZmFpbGVkIGluIGNhbGwgdG8gYWx3YXlzX2lubGluZSAndmVydGV4X2VtaXRfMnMnOiB0YXJnZXQgc3BlY2lmaWMgb3B0aW9uIG1pc21hdGNoCitCVUlMRFNUREVSUjogIHN0YXRpYyBmb3JjZV9pbmxpbmUgdm9pZCB2ZXJ0ZXhfZW1pdF8ycyhzdHJ1Y3Qgc25hICpzbmEsIGludDE2X3QgeCwgaW50MTZfdCB5KQorQlVJTERTVERFUlI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn4KK0JVSUxEU1RERVJSOiBnZW40X3ZlcnRleC5jOjMwODoyNTogbm90ZTogY2FsbGVkIGZyb20gaGVyZQorQlVJTERTVERFUlI6ICAjZGVmaW5lIE9VVF9WRVJURVgoeCx5KSB2ZXJ0ZXhfZW1pdF8ycyhzbmEsIHgseSkgLyogWFhYIGFzc2VydCghdG9vX2xhcmdlKHgsIHkpKTsgKi8KK0JVSUxEU1RERVJSOiAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CitCVUlMRFNUREVSUjogZ2VuNF92ZXJ0ZXguYzozNjA6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdPVVRfVkVSVEVYJworQlVJTERTVERFUlI6ICAgT1VUX1ZFUlRFWChkc3RYLCBkc3RZKTsKK0JVSUxEU1RERVJSOiAgIF5+fn5+fn5+fn4KKworVGhlIGJ1ZyBoZXJlIGFwcGVhcnMgdG8gYmUgdGhhdCBlbWl0X3ZlcnRleCgpIGlzIGRlY2xhcmVkICdzc2UyJyBidXQKK3ZlcnRleF9lbWl0XzJzIGlzIG1lcmVseSBhbHdheXNfaW5saW5lLiBnY2M4IGRlY2lkZXMgdGhhdCBzaW5jZSB5b3Ugc2FpZAorYWx3YXlzX2lubGluZSB5b3UgbmVlZCB0byBoYXZlIGV4cGxpY2l0bHkgY2xvbmVkIGl0IGZvciBldmVyeQorcGVybXV0YXRpb24gb2YgdGFyZ2V0cy4gTWVyZWx5IHNheWluZyBpbmxpbmUgc2VlbXMgdG8gZG8gdGhlIGpvYiBvZgorY2xvbmluZyB2ZXJ0ZXhfZW1pdF8ycyBhcyBtdWNoIGFzIG5lY2Vzc2FyeS4KKworU28gdG8gcmVpdGVyYXRlOiBpZiB5b3Ugc2F5IGFsd2F5cy1pbmxpbmUsIGl0IHdvbid0LCBidXQgaWYgeW91IGp1c3Qgc2F5CittYXliZSBpbmxpbmUsIGl0IHdpbGwuIFRoYW5rcyBnY2MsIHRoYXQncyBoZWxwZnVsLgorCistIGFqYXgKKworUGF0Y2ggdGFrZW4gZnJvbSBGZWRvcmEuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4KKworLS0tCisgc3JjL3NuYS9jb21waWxlci5oIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL3NuYS9jb21waWxlci5oIGIvc3JjL3NuYS9jb21waWxlci5oCitpbmRleCAzYzE3NmExNi4uYmM0NDdjN2EgMTAwNjQ0CistLS0gYS9zcmMvc25hL2NvbXBpbGVyLmgKKysrKyBiL3NyYy9zbmEvY29tcGlsZXIuaAorQEAgLTMyLDcgKzMyLDcgQEAKKyAjZGVmaW5lIGxpa2VseShleHByKSAoX19idWlsdGluX2V4cGVjdCAoISEoZXhwciksIDEpKQorICNkZWZpbmUgdW5saWtlbHkoZXhwcikgKF9fYnVpbHRpbl9leHBlY3QgKCEhKGV4cHIpLCAwKSkKKyAjZGVmaW5lIG5vaW5saW5lIF9fYXR0cmlidXRlX18oKG5vaW5saW5lKSkKKy0jZGVmaW5lIGZvcmNlX2lubGluZSBpbmxpbmUgX19hdHRyaWJ1dGVfXygoYWx3YXlzX2lubGluZSkpCisrI2RlZmluZSBmb3JjZV9pbmxpbmUgaW5saW5lCisgI2RlZmluZSBmYXN0Y2FsbCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkKKyAjZGVmaW5lIG11c3RfY2hlY2sgX19hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSkKKyAjZGVmaW5lIGNvbnN0YW50IF9fYXR0cmlidXRlX18oKGNvbnN0KSkKKy0tIAorMi4xNi4yCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8taW50ZWwvZ2xpYmMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWludGVsL2dsaWJjLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZGE5ZWI1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8taW50ZWwvZ2xpYmMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi1BZGQgYSBtaXNzaW5nIGluY2x1ZGUgbmVlZGVkIGZvciBnbGliYyAyLjI4IHRvIGF2b2lkOgotCi18IC4uLy4uL2dpdC90b29scy9iYWNrbGlnaHRfaGVscGVyLmM6IEluIGZ1bmN0aW9uICdtYWluJzoKLXwgLi4vLi4vZ2l0L3Rvb2xzL2JhY2tsaWdodF9oZWxwZXIuYzo1NDozNDogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdtYWpvcicgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCi18ICAgaWYgKGZkIDwgMCB8fCBmc3RhdChmZCwgJnN0KSB8fCBtYWpvcihzdC5zdF9kZXYpKQotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn4KLXwgLi4vLi4vZ2l0L3Rvb2xzL2JhY2tsaWdodF9oZWxwZXIuYzo1NDozNDogd2FybmluZzogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiAnbWFqb3InIFstV25lc3RlZC1leHRlcm5zXQotfCBjYzE6IHNvbWUgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKLXwgTWFrZWZpbGU6NjY2OiByZWNpcGUgZm9yIHRhcmdldCAnYmFja2xpZ2h0X2hlbHBlci5vJyBmYWlsZWQKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi1SUCAyMDE4LzgvMTIKLQotSW5kZXg6IGdpdC90b29scy9iYWNrbGlnaHRfaGVscGVyLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnaXQub3JpZy90b29scy9iYWNrbGlnaHRfaGVscGVyLmMKLSsrKyBnaXQvdG9vbHMvYmFja2xpZ2h0X2hlbHBlci5jCi1AQCAtOCw2ICs4LDcgQEAKLSAKLSAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0gI2luY2x1ZGUgPHN5cy9zdGF0Lmg+Ci0rI2luY2x1ZGUgPHN5cy9zeXNtYWNyb3MuaD4KLSAKLSAjaWYgTUFKT1JfSU5fTUtERVYKLSAjaW5jbHVkZSA8c3lzL21rZGV2Lmg+CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWludGVsX2dpdC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8taW50ZWxfZ2l0LmJiCmluZGV4IDY1NWZkNGQuLmJmOTAwOWIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8taW50ZWxfZ2l0LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8taW50ZWxfZ2l0LmJiCkBAIC05LDIwICs5LDIwIEBACiAKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTg3MzBhZDU4ZDExYzdiYmFkOWE3MDY2ZDY5Zjc4MDhlIgogCi1TUkNSRVYgPSAiZTRmZTc5Y2YwZDlhMDVlZTNmM2EwMjcxNDhlZjBhZWIyYjFiMzRlMSIKK1NSQ1JFViA9ICIzM2VlMGMzYjIxZWEyNzllMDhkMDg2M2ZjYjJlODc0ZjA5NzRiMDBlIgogUFYgPSAiMi45OS45MTcrZ2l0JHtTUkNQVn0iCiBTID0gIiR7V09SS0RJUn0vZ2l0IgogCiBTUkNfVVJJID0gImdpdDovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL3hvcmcvZHJpdmVyL3hmODYtdmlkZW8taW50ZWwgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1BZGQtQ29mZmVlbGFrZS1QQ0ktSURzLWZvci1TLVNrdXMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZ2xpYmMucGF0Y2ggXAogICAgICAgICAgICAiCiAKK1NSQ19VUklfYXBwZW5kX3FlbXV4ODYgPSAiZmlsZTovLzAxX0ZpeC1idWlsZC1vbi1pNjg2LnBhdGNoIgorCiBVUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICIoP1A8cHZlcj5cZCsoXC5cZCspKykiCiAKIERFUEVORFMgKz0gInZpcnR1YWwvbGlieDExIGRybSBsaWJwY2lhY2Nlc3MgcGl4bWFuIgogCi1QQUNLQUdFQ09ORklHID8/PSAieHZtYyB1eGEgdWRldiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ29wZW5nbCcsICdkcmkgZHJpMiBkcmkzJywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUcgPz89ICJzbmEgeHZtYyB1eGEgdWRldiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ29wZW5nbCcsICdkcmkgZHJpMiBkcmkzJywgJycsIGQpfSIKIAogUEFDS0FHRUNPTkZJR1tkcmldID0gIi0tZW5hYmxlLWRyaSwtLWRpc2FibGUtZHJpIgogUEFDS0FHRUNPTkZJR1tkcmkxXSA9ICItLWVuYWJsZS1kcmkxLC0tZGlzYWJsZS1kcmkxIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L2ZvbnQtdXRpbF8xLjMuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC9mb250LXV0aWxfMS4zLjEuYmIKaW5kZXggMzQ2NDZmZi4uMTI4OWMxNiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L2ZvbnQtdXRpbF8xLjMuMS5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQvZm9udC11dGlsXzEuMy4xLmJiCkBAIC0xMiw3ICsxMiw3IEBACiBERVBFTkRTID0gImVuY29kaW5ncyB1dGlsLW1hY3JvcyIKIERFUEVORFNfY2xhc3MtbmF0aXZlID0gInV0aWwtbWFjcm9zLW5hdGl2ZSIKIFJERVBFTkRTXyR7UE59ID0gIm1rZm9udGRpciBta2ZvbnRzY2FsZSBlbmNvZGluZ3MiCi1SREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAibWtmb250ZGlyLW5hdGl2ZSBta2ZvbnRzY2FsZS1uYXRpdmUiCitSREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiIgogCiBCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGliZm9udGVuY18xLjEuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYmZvbnRlbmNfMS4xLjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM0ZDVmYzQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGliZm9udGVuY18xLjEuMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLVNVTU1BUlkgPSAiWCBmb250IGVuY29kaW5nIGxpYnJhcnkiCi0KLURFU0NSSVBUSU9OID0gImxpYmZvbnRlbmMgaXMgYSBsaWJyYXJ5IHdoaWNoIGhlbHBzIGZvbnQgbGlicmFyaWVzIFwKLXBvcnRhYmx5IGRldGVybWluZSBhbmQgZGVhbCB3aXRoIGRpZmZlcmVudCBlbmNvZGluZ3Mgb2YgZm9udHMuIgotCi1yZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKLQotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NjI1NGMyMGFiODFjNjNlNjViMjZmMGRiY2Q0YTFjMSIKLQotREVQRU5EUyArPSAiemxpYiB4b3JncHJvdG8gZm9udC11dGlsIgotUEUgPSAiMSIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIwOTIwOTI0YzNhOWViYzEyNjU1MTdiZGQyZjlmZGU1MCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI3MDU4ODkzMGU2ZmM5NTQyZmYzOGUwODg0Nzc4ZmJjNmU2ZmViZjIxYWRiYWI5MmZkOGY1MjRmZTYwYWVmZDIxIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGliZm9udGVuY18xLjEuNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYmZvbnRlbmNfMS4xLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWZjNzRiMQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYmZvbnRlbmNfMS4xLjQuYmIKQEAgLTAsMCArMSwxNyBAQAorU1VNTUFSWSA9ICJYIGZvbnQgZW5jb2RpbmcgbGlicmFyeSIKKworREVTQ1JJUFRJT04gPSAibGliZm9udGVuYyBpcyBhIGxpYnJhcnkgd2hpY2ggaGVscHMgZm9udCBsaWJyYXJpZXMgXAorcG9ydGFibHkgZGV0ZXJtaW5lIGFuZCBkZWFsIHdpdGggZGlmZmVyZW50IGVuY29kaW5ncyBvZiBmb250cy4iCisKK3JlcXVpcmUgeG9yZy1saWItY29tbW9uLmluYworCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk2MjU0YzIwYWI4MWM2M2U2NWIyNmYwZGJjZDRhMWMxIgorCitERVBFTkRTICs9ICJ6bGliIHhvcmdwcm90byBmb250LXV0aWwiCitQRSA9ICIxIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNjQ0N2RiNmE2ODlmYjUzMGMyMThmMGY4MzI4YzNhYmMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmNmY2NlODEwZGRkNDhmMmU1ZGM2NThkMjhjMTgwOGU4NmRjZjMwM2VhZmYxNjcyOGI5YWEzZGJjMDA5MjA3OSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJpY2VfMS4wLjkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJpY2VfMS4wLjkuYmIKaW5kZXggOTk5NDM0ZS4uYzFiMTkxMyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGliaWNlXzEuMC45LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYmljZV8xLjAuOS5iYgpAQCAtMTgsNyArMTgsNyBAQAogCiBYT1JHX1BOID0gImxpYklDRSIKIAotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCiAKIFNSQ19VUklbbWQ1c3VtXSA9ICJhZGRmYjFlODk3Y2E4MDc5NTMxNjY5YzdjNzcxMTcyNiIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICI4ZjcwMzJmMmMxYzY0MzUyYjU0MjNmNmI0OGE4ZWJkYzMzOWNjNjMwNjRhZjM0ZDY2YTZjOWFhNzk3NTllMjAyIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlic21fMS4yLjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJzbV8xLjIuMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmRjNjkzYi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJzbV8xLjIuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLVNVTU1BUlkgPSAiU006IFNlc3Npb24gTWFuYWdlbWVudCBsaWJyYXJ5IgotCi1ERVNDUklQVElPTiA9ICJUaGUgU2Vzc2lvbiBNYW5hZ2VtZW50IExpYnJhcnkgKFNNbGliKSBpcyBhIGxvdy1sZXZlbCBcIkNcIiBcCi1sYW5ndWFnZSBpbnRlcmZhY2UgdG8gWFNNUC4gIFRoZSBwdXJwb3NlIG9mIHRoZSBYIFNlc3Npb24gTWFuYWdlbWVudCBcCi1Qcm90b2NvbCAoWFNNUCkgaXMgdG8gcHJvdmlkZSBhIHVuaWZvcm0gbWVjaGFuaXNtIGZvciB1c2VycyB0byBzYXZlIGFuZCBcCi1yZXN0b3JlIHRoZWlyIHNlc3Npb25zLiAgQSBzZXNzaW9uIGlzIGEgZ3JvdXAgb2YgY2xpZW50cywgZWFjaCBvZiB3aGljaCBcCi1oYXMgYSBwYXJ0aWN1bGFyIHN0YXRlLiIKLQotcmVxdWlyZSB4b3JnLWxpYi1jb21tb24uaW5jCi0KLUxJQ0VOU0UgPSAiTUlULXN0eWxlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YzBmYjM3ZjQ0ZTAyYmRiZGU4MDU0NjAyNDQwMDcyOGQiCi0KLURFUEVORFMgKz0gImxpYmljZSB4b3JncHJvdG8geHRyYW5zIgotCi0jIGxpYlNNIGNhbiB3b3JrIHdpdGhvdXQgbGlidXVpZCwgd2UgZXhwbGljaXRseSBkaXNhYmxlIGl0IHRvIGJyZWFrIHRoZSBmb2xsb3dpbmcgY2lyY3VsYXIgZGVwZW5kZW5jeQotIyB3aGVuIERJU1RST19GRUFUVVJFUyBjb250YWlucyAnc3lzdGVtZCcgYW5kICd4MTEnLgotIyBzeXN0ZW1kIC0+IGRidXMgLT4gbGlic20gLT4gdXRpbC1saW51eCAtPiBzeXN0ZW1kCi1FWFRSQV9PRUNPTkYgKz0gIi0td2l0aG91dC1saWJ1dWlkIgotCi1QRSA9ICIxIgotCi1YT1JHX1BOID0gImxpYlNNIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjQ5OWE3NzczYzY1YWJhNTEzNjA5ZmU2NTE4NTNjNWYzIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBiYWNhOGM5ZjVkOTM0NDUwYTcwODk2YzRhZDM4ZDA2NDc1NTIxMjU1Y2E2M2I3MTdhNjUxMGZkYjZlMjg3YmQiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgZCl9IgotUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2LCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnNtXzEuMi4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlic21fMS4yLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDlkZjY5MAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnNtXzEuMi4zLmJiCkBAIC0wLDAgKzEsMzEgQEAKK1NVTU1BUlkgPSAiU006IFNlc3Npb24gTWFuYWdlbWVudCBsaWJyYXJ5IgorCitERVNDUklQVElPTiA9ICJUaGUgU2Vzc2lvbiBNYW5hZ2VtZW50IExpYnJhcnkgKFNNbGliKSBpcyBhIGxvdy1sZXZlbCBcIkNcIiBcCitsYW5ndWFnZSBpbnRlcmZhY2UgdG8gWFNNUC4gIFRoZSBwdXJwb3NlIG9mIHRoZSBYIFNlc3Npb24gTWFuYWdlbWVudCBcCitQcm90b2NvbCAoWFNNUCkgaXMgdG8gcHJvdmlkZSBhIHVuaWZvcm0gbWVjaGFuaXNtIGZvciB1c2VycyB0byBzYXZlIGFuZCBcCityZXN0b3JlIHRoZWlyIHNlc3Npb25zLiAgQSBzZXNzaW9uIGlzIGEgZ3JvdXAgb2YgY2xpZW50cywgZWFjaCBvZiB3aGljaCBcCitoYXMgYSBwYXJ0aWN1bGFyIHN0YXRlLiIKKworcmVxdWlyZSB4b3JnLWxpYi1jb21tb24uaW5jCisKK0xJQ0VOU0UgPSAiTUlULXN0eWxlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YzBmYjM3ZjQ0ZTAyYmRiZGU4MDU0NjAyNDQwMDcyOGQiCisKK0RFUEVORFMgKz0gImxpYmljZSB4b3JncHJvdG8geHRyYW5zIgorCisjIGxpYlNNIGNhbiB3b3JrIHdpdGhvdXQgbGlidXVpZCwgd2UgZXhwbGljaXRseSBkaXNhYmxlIGl0IHRvIGJyZWFrIHRoZSBmb2xsb3dpbmcgY2lyY3VsYXIgZGVwZW5kZW5jeQorIyB3aGVuIERJU1RST19GRUFUVVJFUyBjb250YWlucyAnc3lzdGVtZCcgYW5kICd4MTEnLgorIyBzeXN0ZW1kIC0+IGRidXMgLT4gbGlic20gLT4gdXRpbC1saW51eCAtPiBzeXN0ZW1kCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aG91dC1saWJ1dWlkIgorCitQRSA9ICIxIgorCitYT1JHX1BOID0gImxpYlNNIgorCitTUkNfVVJJW21kNXN1bV0gPSAiODdjN2ZhZDFjMTgxMzUxNzk3OTE4NGM4Y2NkNzY2MjgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmQyNjQ0OTlkY2IwNWY1NjQzOGRlZTEyYTFiNGI3MWQ3NjczNmNlN2JhN2FhNmVmYmYxNWViYjExMzc2OWNiYiIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0iCitQQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYsIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4MTEtZGlldF8xLjYuNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYngxMS1kaWV0XzEuNi42LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNGJhNGU1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYngxMS1kaWV0XzEuNi42LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotcmVxdWlyZSBsaWJ4MTEuaW5jCi0KLURFU0NSSVBUSU9OICs9ICIgU3VwcG9ydCBmb3IgWENNUyBhbmQgWExPQ0FMRSBpcyBkaXNhYmxlZCBpbiBcCi10aGlzIHZlcnNpb24uIgotCi1TUkNfVVJJICs9ICJmaWxlOi8vWDE4TkNNU3N0dWJzLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9maXgtZGlzYWJsZS14bG9jYWxlLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9maXgtdXRmOC13cm9uZy1kZWZpbmUucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVJQUk9WSURFU18ke1BOfS1kZXYgPSAibGlieDExLWRldiIKLVJQUk9WSURFU18ke1BOfS1sb2NhbGUgPSAibGlieDExLWxvY2FsZSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjZiMGY4M2U4NTFiM2I0NjlkZDY2MGYzYTk1YWMzZTQyIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY1ZmUxODFkNDBlYzc3ZjQ1NDE3NzEwYzZhNjc0MzE4MTRhYjI1MmQyMWMyZTg1Yzc1ZGQxZWQ1NjhhZjQxNGYiCi0KLUVYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLXhsb2NhbGUiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4MTEtZGlldF8xLjYuNy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYngxMS1kaWV0XzEuNi43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljNzczYTAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4MTEtZGlldF8xLjYuNy5iYgpAQCAtMCwwICsxLDE2IEBACityZXF1aXJlIGxpYngxMS5pbmMKKworREVTQ1JJUFRJT04gKz0gIiBTdXBwb3J0IGZvciBYQ01TIGFuZCBYTE9DQUxFIGlzIGRpc2FibGVkIGluIFwKK3RoaXMgdmVyc2lvbi4iCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9YMThOQ01Tc3R1YnMucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL2ZpeC1kaXNhYmxlLXhsb2NhbGUucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL2ZpeC11dGY4LXdyb25nLWRlZmluZS5wYXRjaCBcCisgICAgICAgICAgICIKKworUlBST1ZJREVTXyR7UE59LWRldiA9ICJsaWJ4MTEtZGV2IgorUlBST1ZJREVTXyR7UE59LWxvY2FsZSA9ICJsaWJ4MTEtbG9jYWxlIgorCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS14bG9jYWxlIgorCitQQUNLQUdFQ09ORklHID8/PSAiIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieDExLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYngxMS5pbmMKaW5kZXggMzZjOTUwYS4uZWEyZWJmYiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieDExLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4MTEuaW5jCkBAIC0xMCw2ICsxMCw5IEBACiAKIFBFID0gIjEiCiAKK1NSQ19VUklbbWQ1c3VtXSA9ICIwMzRmZGQ2Y2M1MzkzOTc0ZDg4YWVjNmY1YmM5NjE2MiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5MTBlOWUzMGVmYmE0YWQzNjcyY2EyNzc3NDFjMjcyOGFlYmZmYTdiYzUyNmYwNGRjZmE3NGRmMmU1MmExMzQ4IgorCiBQUk9WSURFUyA9ICJ2aXJ0dWFsL2xpYngxMSIKIAogWE9SR19QTiA9ICJsaWJYMTEiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4MTEvRml4LWhhbmdpbmctaXNzdWUtaW4tX1hSZXBseS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYngxMS9GaXgtaGFuZ2luZy1pc3N1ZS1pbi1fWFJlcGx5LnBhdGNoCmluZGV4IDg5Nzg4MmIuLjJhNzIzYjcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYngxMS9GaXgtaGFuZ2luZy1pc3N1ZS1pbi1fWFJlcGx5LnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYngxMS9GaXgtaGFuZ2luZy1pc3N1ZS1pbi1fWFJlcGx5LnBhdGNoCkBAIC0xNywxOSArMTcsMTkgQEAKIAogU2lnbmVkLW9mZi1ieTogVGF0dSBGcmlzayA8dGF0dS5mcmlza0BnZS5jb20+CiBTaWduZWQtb2ZmLWJ5OiBKb3NlIEFsYXJjb24gPGpvc2UuYWxhcmNvbkBnZS5jb20+CisKK1tSZWZyZXNoZWQgZm9yIDEuNi43IHVwZGF0ZV0KK1NpZ25lZC1vZmYtYnk6IEFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CisKIC0tLQogIHNyYy94Y2JfaW8uYyB8IDE5ICsrKysrKystLS0tLS0tLS0tLS0KICAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKIAotZGlmZiAtLWdpdCBhL3NyYy94Y2JfaW8uYyBiL3NyYy94Y2JfaW8uYwotaW5kZXggNTk4NzMyOS4uYzY0ZWIwNCAxMDA2NDQKLS0tLSBhL3NyYy94Y2JfaW8uYwotKysrIGIvc3JjL3hjYl9pby5jCi1AQCAtNjA5LDIyICs2MDksMTcgQEAgU3RhdHVzIF9YUmVwbHkoRGlzcGxheSAqZHB5LCB4UmVwbHkgKnJlcCwgaW50IGV4dHJhLCBCb29sIGRpc2NhcmQpCi0gCQkgKiBsZXR0aW5nIGFueW9uZSBlbHNlIHByb2Nlc3MgdGhpcyBzZXF1ZW5jZSBudW1iZXIsIHdlCi0gCQkgKiBuZWVkIHRvIHByb2Nlc3MgYW55IGV2ZW50cyB0aGF0IHNob3VsZCBoYXZlIGNvbWUKLSAJCSAqIGVhcmxpZXIuICovCi0tCitJbmRleDogbGliWDExLTEuNi43L3NyYy94Y2JfaW8uYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGxpYlgxMS0xLjYuNy5vcmlnL3NyYy94Y2JfaW8uYworKysrIGxpYlgxMS0xLjYuNy9zcmMveGNiX2lvLmMKK0BAIC02MjAsMTggKzYyMCwxNCBAQCBTdGF0dXMgX1hSZXBseShEaXNwbGF5ICpkcHksIHhSZXBseSAqcmVwCiAgCQlpZihkcHktPnhjYi0+ZXZlbnRfb3duZXIgPT0gWGxpYk93bnNFdmVudFF1ZXVlKQogIAkJewogIAkJCXhjYl9nZW5lcmljX3JlcGx5X3QgKmV2ZW50OwpAQCAtNDIsNiArNDIsOSBAQAogLQkJCXdoaWxlKGRweS0+eGNiLT5ldmVudF93YWl0ZXIpCiAtCQkJeyAvKiBuZWVkIGJyYWNlcyBhcm91bmQgQ29uZGl0aW9uV2FpdCAqLwogLQkJCQlDb25kaXRpb25XYWl0KGRweSwgZHB5LT54Y2ItPmV2ZW50X25vdGlmeSk7CistCQkJfQorLQkJCXdoaWxlKChldmVudCA9IHBvbGxfZm9yX2V2ZW50KGRweSwgVHJ1ZSkpKQorLQkJCQloYW5kbGVfcmVzcG9uc2UoZHB5LCBldmVudCwgVHJ1ZSk7CiArCiArCQkJLyogQXNzdW1lIGV2ZW50IHF1ZXVlIGlzIGVtcHR5IGlmIGFub3RoZXIgdGhyZWFkIGlzIGJsb2NraW5nCiArCQkJICogd2FpdGluZyBmb3IgZXZlbnQuICovCkBAIC00OSwxMiArNTIsNyBAQAogKwkJCXsKICsJCQkJd2hpbGUoKGV2ZW50ID0gcG9sbF9mb3JfcmVzcG9uc2UoZHB5KSkpCiArCQkJCQloYW5kbGVfcmVzcG9uc2UoZHB5LCBldmVudCwgVHJ1ZSk7Ci0gCQkJfQotLQkJCXdoaWxlKChldmVudCA9IHBvbGxfZm9yX2V2ZW50KGRweSkpKQotLQkJCQloYW5kbGVfcmVzcG9uc2UoZHB5LCBldmVudCwgVHJ1ZSk7CisrICAgICAgICAgICAgICAgICAgICAgICAgfQogIAkJfQogIAogIAkJcmVxLT5yZXBseV93YWl0ZXIgPSAwOwotLS0gCi0yLjEwLjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieDExXzEuNi42LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieDExXzEuNi42LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZmVlMWE5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYngxMV8xLjYuNi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLXJlcXVpcmUgbGlieDExLmluYwotaW5oZXJpdCBnZXR0ZXh0Ci0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKLQotU1JDX1VSSSArPSAiZmlsZTovL2Rpc2FibGVfdGVzdHMucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL0ZpeC1oYW5naW5nLWlzc3VlLWluLV9YUmVwbHkucGF0Y2ggXAotICAgICAgICAgICAiCi1kb19jb25maWd1cmVfYXBwZW5kICgpIHsKLSAgICBzZWQgLWkgLWUgIi9YMTFfQ0ZMQUdTL2QiICR7Qn0vc3JjL3V0aWwvTWFrZWZpbGUKLX0KLQotU1JDX1VSSVttZDVzdW1dID0gIjZiMGY4M2U4NTFiM2I0NjlkZDY2MGYzYTk1YWMzZTQyIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY1ZmUxODFkNDBlYzc3ZjQ1NDE3NzEwYzZhNjc0MzE4MTRhYjI1MmQyMWMyZTg1Yzc1ZGQxZWQ1NjhhZjQxNGYiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4MTFfMS42LjcuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4MTFfMS42LjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjE0MWY1NwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYngxMV8xLjYuNy5iYgpAQCAtMCwwICsxLDEzIEBACityZXF1aXJlIGxpYngxMS5pbmMKKworU1JDX1VSSSArPSAiZmlsZTovL2Rpc2FibGVfdGVzdHMucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL0ZpeC1oYW5naW5nLWlzc3VlLWluLV9YUmVwbHkucGF0Y2ggXAorICAgICAgICAgICAiCisKK2luaGVyaXQgZ2V0dGV4dAorCitkb19jb25maWd1cmVfYXBwZW5kICgpIHsKKyAgICBzZWQgLWkgLWUgIi9YMTFfQ0ZMQUdTL2QiICR7Qn0vc3JjL3V0aWwvTWFrZWZpbGUKK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGF1XzEuMC44LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGF1XzEuMC44LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YzUyNDc1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhhdV8xLjAuOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLVNVTU1BUlkgPSAiWGF1OiBYIEF1dGhvcml0eSBEYXRhYmFzZSBsaWJyYXJ5IgotCi1ERVNDUklQVElPTiA9ICJsaWJ4YXUgcHJvdmlkZXMgdGhlIG1haW4gaW50ZXJmYWNlcyB0byB0aGUgWDExIFwKLWF1dGhvcmlzYXRpb24gaGFuZGxpbmcsIHdoaWNoIGNvbnRyb2xzIGF1dGhvcmlzYXRpb24gZm9yIFggY29ubmVjdGlvbnMsIFwKLWJvdGggY2xpZW50LXNpZGUgYW5kIHNlcnZlci1zaWRlLiIKLQotcmVxdWlyZSB4b3JnLWxpYi1jb21tb24uaW5jCi0KLWluaGVyaXQgZ2V0dGV4dAotCi1MSUNFTlNFID0gIk1JVC1zdHlsZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc5MDhlMzQyNDkxMTk4NDAxMzIxY2VjMTk1NjgwN2VjIgotCi1ERVBFTkRTICs9ICIgeG9yZ3Byb3RvIgotUFJPVklERVMgPSAieGF1IgotCi1QRSA9ICIxIgotCi1YT1JHX1BOID0gImxpYlhhdSIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNjg1ZjhhYmJmZmE2ZDE0NWMwZjkzMGYwMDcwM2IyMWIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZmRkNDc3MzIwYWViNWNkZDY3MjcyODM4NzIyZDZiN2Q1NDQ4ODdkZmU3ZGU0NmUxZTdjYzBjMjdjMmJlYTRmMiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhhdV8xLjAuOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhhdV8xLjAuOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kY2ZjNjY2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGF1XzEuMC45LmJiCkBAIC0wLDAgKzEsMjQgQEAKK1NVTU1BUlkgPSAiWGF1OiBYIEF1dGhvcml0eSBEYXRhYmFzZSBsaWJyYXJ5IgorCitERVNDUklQVElPTiA9ICJsaWJ4YXUgcHJvdmlkZXMgdGhlIG1haW4gaW50ZXJmYWNlcyB0byB0aGUgWDExIFwKK2F1dGhvcmlzYXRpb24gaGFuZGxpbmcsIHdoaWNoIGNvbnRyb2xzIGF1dGhvcmlzYXRpb24gZm9yIFggY29ubmVjdGlvbnMsIFwKK2JvdGggY2xpZW50LXNpZGUgYW5kIHNlcnZlci1zaWRlLiIKKworcmVxdWlyZSB4b3JnLWxpYi1jb21tb24uaW5jCisKK2luaGVyaXQgZ2V0dGV4dAorCitMSUNFTlNFID0gIk1JVC1zdHlsZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc5MDhlMzQyNDkxMTk4NDAxMzIxY2VjMTk1NjgwN2VjIgorCitERVBFTkRTICs9ICIgeG9yZ3Byb3RvIgorUFJPVklERVMgPSAieGF1IgorCitQRSA9ICIxIgorCitYT1JHX1BOID0gImxpYlhhdSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYzVmMTYyODhmMmRhOWYwNzFiMjkxMTFkNjg3OTc0ODAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiY2NmOGNiZjBkYmY2NzZmYWEyZWEwYTZkNjRiY2MzYjY3NDYwNjQ3MjJiNjA2YzhjNTI5MTdlZDAwZGNiNzNlYyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjYl8xLjEzLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4Y2JfMS4xMy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0MzAzZTYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4Y2JfMS4xMy4xLmJiCkBAIC0wLDAgKzEsMzkgQEAKK1NVTU1BUlkgPSAiWENCOiBUaGUgWCBwcm90b2NvbCBDIGJpbmRpbmcgbGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIlRoZSBYIHByb3RvY29sIEMtbGFuZ3VhZ2UgQmluZGluZyAoWENCKSBpcyBhIHJlcGxhY2VtZW50IFwKK2ZvciBYbGliIGZlYXR1cmluZyBhIHNtYWxsIGZvb3RwcmludCwgbGF0ZW5jeSBoaWRpbmcsIGRpcmVjdCBhY2Nlc3MgdG8gXAordGhlIHByb3RvY29sLCBpbXByb3ZlZCB0aHJlYWRpbmcgc3VwcG9ydCwgYW5kIGV4dGVuc2liaWxpdHkuIgorSE9NRVBBR0UgPSAiaHR0cDovL3hjYi5mcmVlZGVza3RvcC5vcmciCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PVhDQiIKK1NFQ1RJT04gPSAieDExL2xpYnMiCisKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDc2M2IwODFjYjEwYzIyMzQzNWIwMWUwMGRjMGFiYTciCisKK1NSQ19VUkkgPSAiaHR0cDovL3hjYi5mcmVlZGVza3RvcC5vcmcvZGlzdC9saWJ4Y2ItJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly94Y2JpbmNsdWRlZGlyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2Rpc2FibGUtY2hlY2sucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZ2NjLW1pcHMtcHI2ODMwMi1taXBzLXdvcmthcm91bmQucGF0Y2ggXAorICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gImYzM2NkZmM2NzM0NmY3MjE3YTkzMjZjMGQ4Njc5OTc1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImE4OWZiN2FmN2ExMWY0M2QyY2U4NGE4NDRhNGIzOGRmNjg4YzA5MmJmNGI2NzY4M2FlZjE3OWNkZjJhNjQ3YzQiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworREVQRU5EUyA9ICJ4Y2ItcHJvdG8geG9yZ3Byb3RvIGxpYnhhdSBsaWJwdGhyZWFkLXN0dWJzIGxpYnhkbWNwIgorCitQQUNLQUdFU19EWU5BTUlDID0gIl5saWJ4Y2ItLioiCisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS9saWJ4Y2Iuc28uKiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCisjIFRoZSBsaWJ4YXUgYW5kIG90aGVycyByZXF1aXJlcyB4MTEgaW4gRElTVFJPX0ZFQVRVUkVTCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTX2NsYXNzLW5hdGl2ZSA9ICIiCisKK2V4cG9ydCBQWVRIT04gPSAicHl0aG9uMyIKKworcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQgKCkgeworICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsICcke2xpYmRpcn0nLCByJ15saWJ4Y2ItKC4qKVwuc29cLi4qJCcsICdsaWJ4Y2ItJXMnLCAnWENCIGxpYnJhcnkgbW9kdWxlIGZvciAlcycsIGFsbG93X2xpbmtzPVRydWUpCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4Y2JfMS4xMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjYl8xLjEzLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhOGUwMzA3Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjYl8xLjEzLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotU1VNTUFSWSA9ICJYQ0I6IFRoZSBYIHByb3RvY29sIEMgYmluZGluZyBsaWJyYXJ5IgotREVTQ1JJUFRJT04gPSAiVGhlIFggcHJvdG9jb2wgQy1sYW5ndWFnZSBCaW5kaW5nIChYQ0IpIGlzIGEgcmVwbGFjZW1lbnQgXAotZm9yIFhsaWIgZmVhdHVyaW5nIGEgc21hbGwgZm9vdHByaW50LCBsYXRlbmN5IGhpZGluZywgZGlyZWN0IGFjY2VzcyB0byBcCi10aGUgcHJvdG9jb2wsIGltcHJvdmVkIHRocmVhZGluZyBzdXBwb3J0LCBhbmQgZXh0ZW5zaWJpbGl0eS4iCi1IT01FUEFHRSA9ICJodHRwOi8veGNiLmZyZWVkZXNrdG9wLm9yZyIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9WENCIgotU0VDVElPTiA9ICJ4MTEvbGlicyIKLQotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kNzYzYjA4MWNiMTBjMjIzNDM1YjAxZTAwZGMwYWJhNyIKLQotU1JDX1VSSSA9ICJodHRwOi8veGNiLmZyZWVkZXNrdG9wLm9yZy9kaXN0L2xpYnhjYi0ke1BWfS50YXIuYnoyIFwKLSAgICAgICAgICAgZmlsZTovL3hjYmluY2x1ZGVkaXIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGlzYWJsZS1jaGVjay5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9nY2MtbWlwcy1wcjY4MzAyLW1pcHMtd29ya2Fyb3VuZC5wYXRjaCBcCi0gICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiYzJiNmNmOTI4YWZhMTZiMDA0N2M5NzRlN2FhYTc4M2YiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTg4Yzg3NTIxOTNjNTBmZjJkYmU4OWRiNDU1NGM2M2RmMmUyNmEyZTQ3YjBmYTQxNWE3MDkxOGI1Yjg1MWRhYSIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgotCi1ERVBFTkRTID0gInhjYi1wcm90byB4b3JncHJvdG8gbGlieGF1IGxpYnB0aHJlYWQtc3R1YnMgbGlieGRtY3AiCi0KLVBBQ0tBR0VTX0RZTkFNSUMgPSAiXmxpYnhjYi0uKiIKLQotRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYnhjYi5zby4qIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCi0KLSMgVGhlIGxpYnhhdSBhbmQgb3RoZXJzIHJlcXVpcmVzIHgxMSBpbiBESVNUUk9fRkVBVFVSRVMKLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVNfY2xhc3MtbmF0aXZlID0gIiIKLQotZXhwb3J0IFBZVEhPTiA9ICJweXRob24zIgotCi1weXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7Ci0gICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgJyR7bGliZGlyfScsICdebGlieGNiLSguKilcLnNvXC4uKiQnLCAnbGlieGNiLSVzJywgJ1hDQiBsaWJyYXJ5IG1vZHVsZSBmb3IgJXMnLCBhbGxvd19saW5rcz1UcnVlKQotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGNvbXBvc2l0ZV8wLjQuNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjb21wb3NpdGVfMC40LjQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDczZTI5NDguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGNvbXBvc2l0ZV8wLjQuNC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLVNVTU1BUlkgPSAiWGNvbXBvc2l0ZTogWCBDb21wb3NpdGUgZXh0ZW5zaW9uIGxpYnJhcnkiCi0KLURFU0NSSVBUSU9OID0gIlRoZSBjb21wb3NpdGUgZXh0ZW5zaW9uIHByb3ZpZGVzIHRocmVlIHJlbGF0ZWQgXAotbWVjaGFuaXNtczogcGVyLWhpZXJhcmNoeSBzdG9yYWdlLCBhdXRvbWF0aWMgc2hhZG93IHVwZGF0ZSwgYW5kIGV4dGVybmFsIFwKLXBhcmVudC4gIEluIHBlci1oaWVyYXJjaHkgc3RvcmFnZSwgdGhlIHJlbmRlcmluZyBvZiBhbiBlbnRpcmUgaGllcmFyY2h5IFwKLW9mIHdpbmRvd3MgaXMgcmVkaXJlY3RlZCB0byBvZmYtc2NyZWVuIHN0b3JhZ2UuICBJbiBhdXRvbWF0aWMgc2hhZG93IFwKLXVwZGF0ZSwgd2hlbiBhIGhpZXJhcmNoeSBpcyByZW5kZXJlZCBvZmYtc2NyZWVuLCB0aGUgWCBzZXJ2ZXIgcHJvdmlkZXMgXAotYW4gYXV0b21hdGljIG1lY2hhbmlzbSBmb3IgcHJlc2VudGluZyB0aG9zZSBjb250ZW50cyB3aXRoaW4gdGhlIHBhcmVudCBcCi13aW5kb3cuICBJbiBleHRlcm5hbCBwYXJlbnQsIGEgbWVjaGFuaXNtIGZvciBwcm92aWRpbmcgcmVkaXJlY3Rpb24gb2YgXAotY29tcG9zaXRpbmcgdHJhbnNmb3JtYXRpb25zIHRocm91Z2ggYSBjbGllbnQuIgotCi1yZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKLQotTElDRU5TRSA9ICJNSVQtc3R5bGUiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zZjI5MDdhYWQ1NDFmNmYyMjZmYmM1OGNjMWIzY2RmMSIKLQotREVQRU5EUyArPSAiIHhvcmdwcm90byB2aXJ0dWFsL2xpYngxMSBsaWJ4Zml4ZXMgbGlieGV4dCIKLVBST1ZJREVTID0gInhjb21wb3NpdGUiCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKLQotUEUgPSAiMSIKLQotWE9SR19QTiA9ICJsaWJYY29tcG9zaXRlIgotCi1TUkNfVVJJICs9ICIgZmlsZTovL2NoYW5nZS1pbmNsdWRlLW9yZGVyLnBhdGNoIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiZjdhMjE4ZGNiZjZmMDg0ODU5OWM2YzM2ZmM2NWM1MWEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZWRlMjUwY2QyMDdkOGJlZTRhMzM4MjY1YzMwMDdkN2E2OGQ1YWNhNzkxYjZhYzQxYWYxOGU5YTJhZWIzNDE3OCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjb21wb3NpdGVfMC40LjUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4Y29tcG9zaXRlXzAuNC41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlZjNkZGIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4Y29tcG9zaXRlXzAuNC41LmJiCkBAIC0wLDAgKzEsMjggQEAKK1NVTU1BUlkgPSAiWGNvbXBvc2l0ZTogWCBDb21wb3NpdGUgZXh0ZW5zaW9uIGxpYnJhcnkiCisKK0RFU0NSSVBUSU9OID0gIlRoZSBjb21wb3NpdGUgZXh0ZW5zaW9uIHByb3ZpZGVzIHRocmVlIHJlbGF0ZWQgXAorbWVjaGFuaXNtczogcGVyLWhpZXJhcmNoeSBzdG9yYWdlLCBhdXRvbWF0aWMgc2hhZG93IHVwZGF0ZSwgYW5kIGV4dGVybmFsIFwKK3BhcmVudC4gIEluIHBlci1oaWVyYXJjaHkgc3RvcmFnZSwgdGhlIHJlbmRlcmluZyBvZiBhbiBlbnRpcmUgaGllcmFyY2h5IFwKK29mIHdpbmRvd3MgaXMgcmVkaXJlY3RlZCB0byBvZmYtc2NyZWVuIHN0b3JhZ2UuICBJbiBhdXRvbWF0aWMgc2hhZG93IFwKK3VwZGF0ZSwgd2hlbiBhIGhpZXJhcmNoeSBpcyByZW5kZXJlZCBvZmYtc2NyZWVuLCB0aGUgWCBzZXJ2ZXIgcHJvdmlkZXMgXAorYW4gYXV0b21hdGljIG1lY2hhbmlzbSBmb3IgcHJlc2VudGluZyB0aG9zZSBjb250ZW50cyB3aXRoaW4gdGhlIHBhcmVudCBcCit3aW5kb3cuICBJbiBleHRlcm5hbCBwYXJlbnQsIGEgbWVjaGFuaXNtIGZvciBwcm92aWRpbmcgcmVkaXJlY3Rpb24gb2YgXAorY29tcG9zaXRpbmcgdHJhbnNmb3JtYXRpb25zIHRocm91Z2ggYSBjbGllbnQuIgorCityZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKKworTElDRU5TRSA9ICJNSVQtc3R5bGUiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zZjI5MDdhYWQ1NDFmNmYyMjZmYmM1OGNjMWIzY2RmMSIKKworREVQRU5EUyArPSAiIHhvcmdwcm90byB2aXJ0dWFsL2xpYngxMSBsaWJ4Zml4ZXMgbGlieGV4dCIKK1BST1ZJREVTID0gInhjb21wb3NpdGUiCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK1BFID0gIjEiCisKK1hPUkdfUE4gPSAibGliWGNvbXBvc2l0ZSIKKworU1JDX1VSSSArPSAiIGZpbGU6Ly9jaGFuZ2UtaW5jbHVkZS1vcmRlci5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gIjNmYTA4NDFlYTg5MDI0NzE5YjIwY2Q3MDJhOWI1NGUwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImIzMjE4YTJjMTViYWI4MDM1ZDE2ODEwZGY1YjgyNTFmZmM3MTMyZmYzYWE3MDY1MWExZmJhMGJmZTk2MzRlOGYiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4Y3Vyc29yXzEuMS4xNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjdXJzb3JfMS4xLjE1LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYzlhZjIzLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjdXJzb3JfMS4xLjE1LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotU1VNTUFSWSA9ICJYY3Vyc29yOiBYIEN1cnNvciBtYW5hZ2VtZW50IGxpYnJhcnkiCi0KLURFU0NSSVBUSU9OID0gIlhjdXJzb3IgaXMgYSBzaW1wbGUgbGlicmFyeSBkZXNpZ25lZCB0byBoZWxwIGxvY2F0ZSBhbmQgXAotbG9hZCBjdXJzb3JzLiBDdXJzb3JzIGNhbiBiZSBsb2FkZWQgZnJvbSBmaWxlcyBvciBtZW1vcnkuIEEgbGlicmFyeSBvZiBcCi1jb21tb24gY3Vyc29ycyBleGlzdHMgd2hpY2ggbWFwIHRvIHRoZSBzdGFuZGFyZCBYIGN1cnNvciBuYW1lcy4gQ3Vyc29ycyBcCi1jYW4gZXhpc3QgaW4gc2V2ZXJhbCBzaXplcyBhbmQgdGhlIGxpYnJhcnkgYXV0b21hdGljYWxseSBwaWNrcyB0aGUgYmVzdCBcCi1zaXplLiIKLQotcmVxdWlyZSB4b3JnLWxpYi1jb21tb24uaW5jCi0KLUxJQ0VOU0UgPSAiTUlULXN0eWxlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ODkwMmU2NjQzZjdiY2Q3NzkzYjIzZGNkNWQ4MDMxYTQiCi0KLURFUEVORFMgKz0gImxpYnhyZW5kZXIgbGlieGZpeGVzIgotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgotCi1QRSA9ICIxIgotCi1YT1JHX1BOID0gImxpYlhjdXJzb3IiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI1OGZlMzUxNGUxZTcxMzVjZjM2NDEwMWU3MTRkMWExNCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIyOTRlNjcwZGQzN2NkMjM5OTVlNjlhYWU2MjY2MjlkNGEyZGZlNTcwODg1MWJiYzEzZDAzMjQwMWI3YTNkZjZiIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGN1cnNvcl8xLjIuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjdXJzb3JfMS4yLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmRmN2EzYQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjdXJzb3JfMS4yLjAuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJYY3Vyc29yOiBYIEN1cnNvciBtYW5hZ2VtZW50IGxpYnJhcnkiCisKK0RFU0NSSVBUSU9OID0gIlhjdXJzb3IgaXMgYSBzaW1wbGUgbGlicmFyeSBkZXNpZ25lZCB0byBoZWxwIGxvY2F0ZSBhbmQgXAorbG9hZCBjdXJzb3JzLiBDdXJzb3JzIGNhbiBiZSBsb2FkZWQgZnJvbSBmaWxlcyBvciBtZW1vcnkuIEEgbGlicmFyeSBvZiBcCitjb21tb24gY3Vyc29ycyBleGlzdHMgd2hpY2ggbWFwIHRvIHRoZSBzdGFuZGFyZCBYIGN1cnNvciBuYW1lcy4gQ3Vyc29ycyBcCitjYW4gZXhpc3QgaW4gc2V2ZXJhbCBzaXplcyBhbmQgdGhlIGxpYnJhcnkgYXV0b21hdGljYWxseSBwaWNrcyB0aGUgYmVzdCBcCitzaXplLiIKKworcmVxdWlyZSB4b3JnLWxpYi1jb21tb24uaW5jCisKK0xJQ0VOU0UgPSAiTUlULXN0eWxlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ODkwMmU2NjQzZjdiY2Q3NzkzYjIzZGNkNWQ4MDMxYTQiCisKK0RFUEVORFMgKz0gImxpYnhyZW5kZXIgbGlieGZpeGVzIgorCitQRSA9ICIxIgorCitYT1JHX1BOID0gImxpYlhjdXJzb3IiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5YjliZTBlMjg5MTMwZmI4MjBhZWRmNjc3MDVmYzU0OSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzYWQzZTlmODI1MTA5NGFmNmZlOGNiNGFmY2Y2M2UyOGRmNTA0ZDQ2YmZhNWE1NTI5ZGI3NGE1MDVkNjI4NzgyIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4ZGFtYWdlXzEuMS40LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGRhbWFnZV8xLjEuNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmQ2ZmZhZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4ZGFtYWdlXzEuMS40LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotU1VNTUFSWSA9ICJYZGFtYWdlOiBYIERhbWFnZSBleHRlbnNpb24gbGlicmFyeSIKLQotREVTQ1JJUFRJT04gPSAiJ0RhbWFnZScgaXMgYSB0ZXJtIHRoYXQgZGVzY3JpYmVzIGNoYW5nZXMgbWFrZSB0byBwaXhlbCBcCi1jb250ZW50cyBvZiB3aW5kb3dzIGFuZCBwaXhtYXBzLiAgRGFtYWdlIGFjY3VtdWxhdGVzIGFzIGRyYXdpbmcgb2NjdXJzIFwKLWluIHRoZSBkcmF3YWJsZS4gIEVhY2ggZHJhd2luZyBvcGVyYXRpb24gJ2RhbWFnZXMnIG9uZSBvciBtb3JlIFwKLXJlY3Rhbmd1bGFyIGFyZWFzIHdpdGhpbiB0aGUgZHJhd2FibGUuICBUaGUgcmVjdGFuZ2xlcyBhcmUgZ3VhcmFudGVlZCB0byBcCi1pbmNsdWRlIHRoZSBzZXQgb2YgcGl4ZWxzIG1vZGlmaWVkIGJ5IGVhY2ggb3BlcmF0aW9uLCBidXQgbWF5IGluY2x1ZGUgXAotc2lnbmlmaWNhbnRseSBtb3JlIHRoYW4ganVzdCB0aG9zZSBwaXhlbHMuICBUaGUgREFNQUdFIGV4dGVuc2lvbiBhbGxvd3MgXAotYXBwbGljYXRpb25zIHRvIGVpdGhlciByZWNlaXZlIHRoZSByYXcgcmVjdGFuZ2xlcyBhcyBhIHN0cmVhbSBvZiBldmVudHMsIFwKLW9yIHRvIGhhdmUgdGhlbSBwYXJ0aWFsbHkgcHJvY2Vzc2VkIHdpdGhpbiB0aGUgWCBzZXJ2ZXIgdG8gcmVkdWNlIHRoZSBcCi1hbW91bnQgb2YgZGF0YSB0cmFuc21pdHRlZCBhcyB3ZWxsIGFzIHJlZHVjZSB0aGUgcHJvY2Vzc2luZyBsYXRlbmN5IG9uY2UgXAotdGhlIHJlcGFpbnQgb3BlcmF0aW9uIGhhcyBzdGFydGVkLiIKLQotcmVxdWlyZSB4b3JnLWxpYi1jb21tb24uaW5jCi0KLUxJQ0VOU0UgPSAiTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OWZlMTAxZjMwZGQyNDEzNGNmNDMxNDY4NjMyNDE4NjgiCi0KLURFUEVORFMgKz0gInZpcnR1YWwvbGlieDExIHhvcmdwcm90byBsaWJ4Zml4ZXMiCi1QUk9WSURFUyA9ICJ4ZGFtYWdlIgotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCi0KLVBFID0gIjEiCi0KLVhPUkdfUE4gPSAibGliWGRhbWFnZSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjBjZjI5MmRlMmE5ZmEyZTlhOTM5YWVmZGU2OGZkMzRmIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdjM2ZlN2M2NTdlODM1NDdmNDgyMmJmZGUzMGE5MGQ4NDUyNGVmYjU2MzY1NDQ4NzY4NDA5Yjc3ZjA1MzU1YWQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4ZGFtYWdlXzEuMS41LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGRhbWFnZV8xLjEuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjAxMTI0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGRhbWFnZV8xLjEuNS5iYgpAQCAtMCwwICsxLDI5IEBACitTVU1NQVJZID0gIlhkYW1hZ2U6IFggRGFtYWdlIGV4dGVuc2lvbiBsaWJyYXJ5IgorCitERVNDUklQVElPTiA9ICInRGFtYWdlJyBpcyBhIHRlcm0gdGhhdCBkZXNjcmliZXMgY2hhbmdlcyBtYWtlIHRvIHBpeGVsIFwKK2NvbnRlbnRzIG9mIHdpbmRvd3MgYW5kIHBpeG1hcHMuICBEYW1hZ2UgYWNjdW11bGF0ZXMgYXMgZHJhd2luZyBvY2N1cnMgXAoraW4gdGhlIGRyYXdhYmxlLiAgRWFjaCBkcmF3aW5nIG9wZXJhdGlvbiAnZGFtYWdlcycgb25lIG9yIG1vcmUgXAorcmVjdGFuZ3VsYXIgYXJlYXMgd2l0aGluIHRoZSBkcmF3YWJsZS4gIFRoZSByZWN0YW5nbGVzIGFyZSBndWFyYW50ZWVkIHRvIFwKK2luY2x1ZGUgdGhlIHNldCBvZiBwaXhlbHMgbW9kaWZpZWQgYnkgZWFjaCBvcGVyYXRpb24sIGJ1dCBtYXkgaW5jbHVkZSBcCitzaWduaWZpY2FudGx5IG1vcmUgdGhhbiBqdXN0IHRob3NlIHBpeGVscy4gIFRoZSBEQU1BR0UgZXh0ZW5zaW9uIGFsbG93cyBcCithcHBsaWNhdGlvbnMgdG8gZWl0aGVyIHJlY2VpdmUgdGhlIHJhdyByZWN0YW5nbGVzIGFzIGEgc3RyZWFtIG9mIGV2ZW50cywgXAorb3IgdG8gaGF2ZSB0aGVtIHBhcnRpYWxseSBwcm9jZXNzZWQgd2l0aGluIHRoZSBYIHNlcnZlciB0byByZWR1Y2UgdGhlIFwKK2Ftb3VudCBvZiBkYXRhIHRyYW5zbWl0dGVkIGFzIHdlbGwgYXMgcmVkdWNlIHRoZSBwcm9jZXNzaW5nIGxhdGVuY3kgb25jZSBcCit0aGUgcmVwYWludCBvcGVyYXRpb24gaGFzIHN0YXJ0ZWQuIgorCityZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05ZmUxMDFmMzBkZDI0MTM0Y2Y0MzE0Njg2MzI0MTg2OCIKKworREVQRU5EUyArPSAidmlydHVhbC9saWJ4MTEgeG9yZ3Byb3RvIGxpYnhmaXhlcyIKK1BST1ZJREVTID0gInhkYW1hZ2UiCisKK1BFID0gIjEiCisKK1hPUkdfUE4gPSAibGliWGRhbWFnZSIKKworU1JDX1VSSVttZDVzdW1dID0gImUzZjU1NDI2N2E3YTA0YjA0MmRjMWY2MzUyYmQ2ZDk5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImI3MzQwNjg2NDNjYWMzYjVmM2QyYzgyNzlkZDM2NmI1YmYyOGM3MjE5ZDllOWQ4NzE3ZTEzODM5OTVlMGVhNDUiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhmdF8yLjMuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhmdF8yLjMuMi5iYgppbmRleCBiNDU0NzgxLi40NTY1YWUyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4ZnRfMi4zLjIuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGZ0XzIuMy4yLmJiCkBAIC0yNSw3ICsyNSw3IEBACiAKIFhPUkdfUE4gPSAibGliWGZ0IgogCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKIAogcHl0aG9uICgpIHsKICAgICAgICAgaWYgZC5nZXRWYXIoJ0RFQklBTl9OQU1FUycpOgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGlfMS43LjkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4aV8xLjcuOS5iYgppbmRleCAwODM4MWQ5Li5hYjQ5Y2RiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4aV8xLjcuOS5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4aV8xLjcuOS5iYgpAQCAtMjAsMyArMjAsNSBAQAogU1JDX1VSSVttZDVzdW1dID0gIjFmMGYyNzE5YzAyMDY1NWE2MGFlZTMzNGRkZDI2ZDY3IgogU1JDX1VSSVtzaGEyNTZzdW1dID0gImMyZTZiOGZmODRmOTQ0ODM4NmMxYjU1MTBhNWNmNWExNmQ3ODhmNzZkYjAxODE5NGRhY2RjMjAwMTgwZmFmNDUiCiAKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGtiY29tbW9uXzAuOC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGtiY29tbW9uXzAuOC4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4Y2Y1MDhiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhrYmNvbW1vbl8wLjguMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLVNVTU1BUlkgPSAiR2VuZXJpYyBYS0Iga2V5bWFwIGxpYnJhcnkiCi1ERVNDUklQVElPTiA9ICJsaWJ4a2Jjb21tb24gaXMgYSBrZXltYXAgY29tcGlsZXIgYW5kIHN1cHBvcnQgbGlicmFyeSB3aGljaCBcCi1wcm9jZXNzZXMgYSByZWR1Y2VkIHN1YnNldCBvZiBrZXltYXBzIGFzIGRlZmluZWQgYnkgdGhlIFhLQiBzcGVjaWZpY2F0aW9uLiIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cueGtiY29tbW9uLm9yZyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWU1MjVlZDk4MDllMWY4YTA3Y2Y0YmNlOGIwOWU4Yjg3IgotTElDRU5TRSA9ICJNSVQgJiBNSVQtc3R5bGUiCi0KLURFUEVORFMgPSAidXRpbC1tYWNyb3MgZmxleC1uYXRpdmUgYmlzb24tbmF0aXZlIgotCi1TUkNfVVJJID0gImh0dHA6Ly94a2Jjb21tb24ub3JnL2Rvd25sb2FkLyR7QlBOfS0ke1BWfS50YXIueHoiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI1ZjdmODUzM2Y5MDdlYmNmYjFjZjhkY2ViOTUwMTI2NCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI3YWI4YzRiMzQwM2Q4OWQwMTg5ODA2NmI3MmNiNjA2OWJkZGViNWFmOTQ5MDVhNjUzNjhmNjcxYTAyNmVkNThjIgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cDovL3hrYmNvbW1vbi5vcmcvIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcKLQotRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1kb2NzIgotCi1QQUNLQUdFQ09ORklHID89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCBkKX0iCi1QQUNLQUdFQ09ORklHW3gxMV0gPSAiLS1lbmFibGUteDExLC0tZGlzYWJsZS14MTEsbGlieGNiIHhrZXlib2FyZC1jb25maWcsIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGtiY29tbW9uXzAuOC40LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGtiY29tbW9uXzAuOC40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmY2FlMTIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4a2Jjb21tb25fMC44LjQuYmIKQEAgLTAsMCArMSwyMiBAQAorU1VNTUFSWSA9ICJHZW5lcmljIFhLQiBrZXltYXAgbGlicmFyeSIKK0RFU0NSSVBUSU9OID0gImxpYnhrYmNvbW1vbiBpcyBhIGtleW1hcCBjb21waWxlciBhbmQgc3VwcG9ydCBsaWJyYXJ5IHdoaWNoIFwKK3Byb2Nlc3NlcyBhIHJlZHVjZWQgc3Vic2V0IG9mIGtleW1hcHMgYXMgZGVmaW5lZCBieSB0aGUgWEtCIHNwZWNpZmljYXRpb24uIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy54a2Jjb21tb24ub3JnIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZTUyNWVkOTgwOWUxZjhhMDdjZjRiY2U4YjA5ZThiODciCitMSUNFTlNFID0gIk1JVCAmIE1JVC1zdHlsZSIKKworREVQRU5EUyA9ICJ1dGlsLW1hY3JvcyBmbGV4LW5hdGl2ZSBiaXNvbi1uYXRpdmUiCisKK1NSQ19VUkkgPSAiaHR0cDovL3hrYmNvbW1vbi5vcmcvZG93bmxvYWQvJHtCUE59LSR7UFZ9LnRhci54eiIKKworU1JDX1VSSVttZDVzdW1dID0gIjNjNDQwOTA1OGRmZDIwM2Y2NDFhNTYzMzU4ZTAxODdkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjYwZGRjZmY5MzJiN2ZkMzUyNzUyZDUxYTVjNGYwNGYzZDA0MDMyMzBhNTg0ZGY5YTJlMGQ1ZWQ4N2M0ODZjOGIiCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8veGtiY29tbW9uLm9yZy8iCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWRvY3MiCisKK1BBQ0tBR0VDT05GSUcgPz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsIGQpfSIKK1BBQ0tBR0VDT05GSUdbeDExXSA9ICItLWVuYWJsZS14MTEsLS1kaXNhYmxlLXgxMSxsaWJ4Y2IgeGtleWJvYXJkLWNvbmZpZywiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4cG1fMy41LjEyLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHBtXzMuNS4xMi5iYgppbmRleCAxM2ExYjkxLi41N2IyMDJjIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4cG1fMy41LjEyLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhwbV8zLjUuMTIuYmIKQEAgLTEyLDcgKzEyLDcgQEAKIAogTElDRU5TRSA9ICJCU0QiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01MWY0MjcwYjAxMmVjZDRhYjFhMTY0ZjVmNGVkNmNmNyIKLURFUEVORFMgKz0gImxpYnhleHQgbGlic20gbGlieHQiCitERVBFTkRTICs9ICJsaWJ4ZXh0IGxpYnNtIGxpYnh0IGdldHRleHQtbmF0aXZlIgogUEUgPSAiMSIKIAogWE9SR19QTiA9ICJsaWJYcG0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4dF8xLjEuNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnh0XzEuMS41LmJiCmluZGV4IGY4ZDk0YTIuLjIzZDlkYjQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnh0XzEuMS41LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnh0XzEuMS41LmJiCkBAIC0yNyw3ICsyNyw3IEBACiAgICAgICAgICAgICAgZmlsZTovLzAwMDEtbGliWHQtdXRpbC1kb24tdC1saW5rLW1ha2VzdHJzLXdpdGgtdGFyZ2V0LWNmbGFncy5wYXRjaCBcCiAgICAgICAgICAgICAiCiAKLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgogCiBFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS14a2IiCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnh0c3RfMS4yLjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4dHN0XzEuMi4zLmJiCmluZGV4IDI2NmJkMWMuLjc4MzdmNjkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnh0c3RfMS4yLjMuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHRzdF8xLjIuMy5iYgpAQCAtMTksMyArMTksNCBAQAogU1JDX1VSSVttZDVzdW1dID0gImVmOGMyYzFkMTZhMDBiZDk1YjlmZGNlZjYzYjhhMmNhIgogU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ2NTU0OThhMWI4ZTg0NGUzZDZmMjFmM2IyYzRlMmI1NzFlZmZiNWZkODMxOTlkNDI4YTZiYTdlYTRiZjUyMDQiCiAKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3BpeG1hbi9hc21faW5jbHVkZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3BpeG1hbi9hc21faW5jbHVkZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjUyYTU3MC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9waXhtYW4vYXNtX2luY2x1ZGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1GaXhlcyBlcnJvcnMgbGlrZQotCi1Bc3NlbWJsZXIgbWVzc2FnZXM6Ci1GYXRhbCBlcnJvcjogY2FuJ3QgY3JlYXRlIC5saWJzL3BpeG1hbi1taXBzLWRzcHIyLWFzbS5vOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Ci0KLWl0IHdvcmtzIHdpdGggZ2xpYmMgYmVjYXVzZSBpdCB1c2VzIGdjYyBmaXhlZC1oZWFkZXJzIGJ1dCB0aGF0cyBub3QgcmlnaHQuCi0KLVdlIG1vdmUgdGhlIGluY2x1ZGUgdW5kZXIgQyBibG9jawotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi1JbmRleDogcGl4bWFuLTAuMzIuNi9waXhtYW4vcGl4bWFuLXByaXZhdGUuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHBpeG1hbi0wLjMyLjYub3JpZy9waXhtYW4vcGl4bWFuLXByaXZhdGUuaAotKysrIHBpeG1hbi0wLjMyLjYvcGl4bWFuL3BpeG1hbi1wcml2YXRlLmgKLUBAIC0xLDQgKzEsMyBAQAotLSNpbmNsdWRlIDxmbG9hdC5oPgotIAotICNpZm5kZWYgUElYTUFOX1BSSVZBVEVfSAotICNkZWZpbmUgUElYTUFOX1BSSVZBVEVfSAotQEAgLTE3LDYgKzE2LDggQEAKLSAKLSAjaWZuZGVmIF9fQVNTRU1CTEVSX18KLSAKLSsjaW5jbHVkZSA8ZmxvYXQuaD4KLSsKLSAjaWZuZGVmIFBBQ0tBR0UKLSAjICBlcnJvciBjb25maWcuaCBtdXN0IGJlIGluY2x1ZGVkIGJlZm9yZSBwaXhtYW4tcHJpdmF0ZS5oCi0gI2VuZGlmCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9waXhtYW5fMC4zNC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvcGl4bWFuXzAuMzQuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzI5MGZhNC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9waXhtYW5fMC4zNC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotU1VNTUFSWSA9ICJQaXhtYW46IFBpeGVsIE1hbmlwdWxhdGlvbiBsaWJyYXJ5IgotCi1ERVNDUklQVElPTiA9ICJQaXhtYW4gcHJvdmlkZXMgYSBsaWJyYXJ5IGZvciBtYW5pcHVsYXRpbmcgcGl4ZWwgcmVnaW9ucyBcCi0tLSBhIHNldCBvZiBZLVggYmFuZGVkIHJlY3RhbmdsZXMsIGltYWdlIGNvbXBvc2l0aW5nIHVzaW5nIHRoZSBcCi1Qb3J0ZXIvRHVmZiBtb2RlbCBhbmQgaW1wbGljaXQgbWFzayBnZW5lcmF0aW9uIGZvciBnZW9tZXRyaWMgcHJpbWl0aXZlcyBcCi1pbmNsdWRpbmcgdHJhcGV6b2lkcywgdHJpYW5nbGVzLCBhbmQgcmVjdGFuZ2xlcy4iCi0KLXJlcXVpcmUgeG9yZy1saWItY29tbW9uLmluYwotCi0jIHNlZSBodHRwOi8vY2Fpcm9ncmFwaGljcy5vcmcvcmVsZWFzZXMvIC0gb25seSBldmVuIG1pbm9yIHZlcnNpb25zIGFyZSBzdGFibGUKLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gInBpeG1hbi0oP1A8cHZlcj5cZCtcLihcZCpbMDI0NjhdKSsoXC5cZCspKykiCi0KLUxJQ0VOU0UgPSAiTUlUICYgTUlULXN0eWxlICYgUEQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xNDA5NmM3NjlhZTBjYmI1ZmNiOTRlYzQ2OGJlMTFiMyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9waXhtYW4vcGl4bWFuLW1hdHJpeC5jO2VuZGxpbmU9MjE7bWQ1PTRhMDE4ZGZmM2U0ZTI1MzAyNzI0Yzg4ZmY5NWMyNDU2IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3BpeG1hbi9waXhtYW4tYXJtLW5lb24tYXNtLmg7ZW5kbGluZT0yNDttZDU9OWE5Y2MxZTUxYWJiZjFkYTU4ZjRkOTUyOGVjOWQ0OWIgXAotICAgICAgICAgICAgICAgICAgICIKLURFUEVORFMgKz0gInpsaWIgbGlicG5nIgotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgotCi1QRSA9ICIxIgotCi1JV01NWFQgPSAiLS1kaXNhYmxlLWFybS1pd21teHQiCi1MT09OR1NPTl9NTUkgPSAiLS1kaXNhYmxlLWxvb25nc29uLW1taSIKLSMgSWYgdGFyZ2V0IHN1cHBvcnRzIG5lb24gdGhlbiBkaXNhYmxlIHRoZSAnc2ltZCcgKGllIFZGUHYyKSBmYWxsYmFjaywgb3RoZXJ3aXNlIGRpc2FibGUgbmVvbi4KLU5FT04gPSAiJHtAYmIudXRpbHMuY29udGFpbnMoIlRVTkVfRkVBVFVSRVMiLCAibmVvbiIsICItLWRpc2FibGUtYXJtLXNpbWQiLCAiLS1kaXNhYmxlLWFybS1uZW9uIiAsZCl9IgotCi1FWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWd0ayAke0lXTU1YVH0gJHtMT09OR1NPTl9NTUl9ICR7TkVPTn0iCi1FWFRSQV9PRUNPTkZfY2xhc3MtbmF0aXZlID0gIi0tZGlzYWJsZS1ndGsiCi1FWFRSQV9PRUNPTkZfY2xhc3MtbmF0aXZlc2RrID0gIi0tZGlzYWJsZS1ndGsiCi0KLVNSQ19VUkkgKz0gIlwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAxLUFSTS1xZW11LXJlbGF0ZWQtd29ya2Fyb3VuZHMtaW4tY3B1LWZlYXR1cmVzLWRldGVjdGkucGF0Y2ggXAotCSAgICBmaWxlOi8vYXNtX2luY2x1ZGUucGF0Y2ggXAotCSAgICBmaWxlOi8vMDAwMS10ZXN0LXV0aWxzLUNoZWNrLWZvci1GRV9JTlZBTElELWRlZmluaXRpb24tYmVmb3JlLXVzLnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjAwMmE0ZmNiNjQ0ZGRmY2I0YjBlNDE5MTU3NmEwZDU5IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM5YmEzNDM4ZjNkMTdjNDY0YjBjYjhiZTAwNmRhY2JjYTBhYjVhZWU5N2ViZGU2OWZlYzdlY2RiZjg1Nzk0YTAiCi0KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9waXhtYW5fMC4zOC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvcGl4bWFuXzAuMzguMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OWMzZDYyCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvcGl4bWFuXzAuMzguMC5iYgpAQCAtMCwwICsxLDQwIEBACitTVU1NQVJZID0gIlBpeG1hbjogUGl4ZWwgTWFuaXB1bGF0aW9uIGxpYnJhcnkiCisKK0RFU0NSSVBUSU9OID0gIlBpeG1hbiBwcm92aWRlcyBhIGxpYnJhcnkgZm9yIG1hbmlwdWxhdGluZyBwaXhlbCByZWdpb25zIFwKKy0tIGEgc2V0IG9mIFktWCBiYW5kZWQgcmVjdGFuZ2xlcywgaW1hZ2UgY29tcG9zaXRpbmcgdXNpbmcgdGhlIFwKK1BvcnRlci9EdWZmIG1vZGVsIGFuZCBpbXBsaWNpdCBtYXNrIGdlbmVyYXRpb24gZm9yIGdlb21ldHJpYyBwcmltaXRpdmVzIFwKK2luY2x1ZGluZyB0cmFwZXpvaWRzLCB0cmlhbmdsZXMsIGFuZCByZWN0YW5nbGVzLiIKKworcmVxdWlyZSB4b3JnLWxpYi1jb21tb24uaW5jCisKKyMgc2VlIGh0dHA6Ly9jYWlyb2dyYXBoaWNzLm9yZy9yZWxlYXNlcy8gLSBvbmx5IGV2ZW4gbWlub3IgdmVyc2lvbnMgYXJlIHN0YWJsZQorVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAicGl4bWFuLSg/UDxwdmVyPlxkK1wuKFxkKlswMjQ2OF0pKyhcLlxkKykrKSIKKworTElDRU5TRSA9ICJNSVQgJiBNSVQtc3R5bGUgJiBQRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTE0MDk2Yzc2OWFlMGNiYjVmY2I5NGVjNDY4YmUxMWIzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3BpeG1hbi9waXhtYW4tbWF0cml4LmM7ZW5kbGluZT0yMTttZDU9NGEwMThkZmYzZTRlMjUzMDI3MjRjODhmZjk1YzI0NTYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcGl4bWFuL3BpeG1hbi1hcm0tbmVvbi1hc20uaDtlbmRsaW5lPTI0O21kNT05YTljYzFlNTFhYmJmMWRhNThmNGQ5NTI4ZWM5ZDQ5YiBcCisgICAgICAgICAgICAgICAgICAgIgorREVQRU5EUyArPSAiemxpYiBsaWJwbmciCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK1BFID0gIjEiCisKK0lXTU1YVCA9ICItLWRpc2FibGUtYXJtLWl3bW14dCIKK0xPT05HU09OX01NSSA9ICItLWRpc2FibGUtbG9vbmdzb24tbW1pIgorIyBJZiB0YXJnZXQgc3VwcG9ydHMgbmVvbiB0aGVuIGRpc2FibGUgdGhlICdzaW1kJyAoaWUgVkZQdjIpIGZhbGxiYWNrLCBvdGhlcndpc2UgZGlzYWJsZSBuZW9uLgorTkVPTiA9ICIke0BiYi51dGlscy5jb250YWlucygiVFVORV9GRUFUVVJFUyIsICJuZW9uIiwgIi0tZGlzYWJsZS1hcm0tc2ltZCIsICItLWRpc2FibGUtYXJtLW5lb24iICxkKX0iCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtZ3RrICR7SVdNTVhUfSAke0xPT05HU09OX01NSX0gJHtORU9OfSIKK0VYVFJBX09FQ09ORl9jbGFzcy1uYXRpdmUgPSAiLS1kaXNhYmxlLWd0ayIKK0VYVFJBX09FQ09ORl9jbGFzcy1uYXRpdmVzZGsgPSAiLS1kaXNhYmxlLWd0ayIKKworU1JDX1VSSSArPSAiXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtQVJNLXFlbXUtcmVsYXRlZC13b3JrYXJvdW5kcy1pbi1jcHUtZmVhdHVyZXMtZGV0ZWN0aS5wYXRjaCBcCisJICAgIGZpbGU6Ly8wMDAxLXRlc3QtdXRpbHMtQ2hlY2stZm9yLUZFX0lOVkFMSUQtZGVmaW5pdGlvbi1iZWZvcmUtdXMucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMDRlY2FkMjhlZGNjMTRlN2ViNWY3ZWQ2ZGYyOWM3YTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjc2OGUzZjc4OTVkZGViZGMwZjA3NDc4NzI5ZDljZWM0ZmUwYTlkMjIwMWY4MjhjOTAwZDY3YjBlNWI0MzZhOCIKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3hrZXlib2FyZC1jb25maWdfMi4yNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3hrZXlib2FyZC1jb25maWdfMi4yNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2QwZTYwOC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi94a2V5Ym9hcmQtY29uZmlnXzIuMjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1TVU1NQVJZID0gIktleWJvYXJkIGNvbmZpZ3VyYXRpb24gZGF0YWJhc2UgZm9yIFggV2luZG93IgotCi1ERVNDUklQVElPTiA9ICJUaGUgbm9uLWFyY2gga2V5Ym9hcmQgY29uZmlndXJhdGlvbiBkYXRhYmFzZSBmb3IgWCBcCi1XaW5kb3cuICBUaGUgZ29hbCBpcyB0byBwcm92aWRlIHRoZSBjb25zaXN0ZW50LCB3ZWxsLXN0cnVjdHVyZWQsIFwKLWZyZXF1ZW50bHkgcmVsZWFzZWQgb3BlbiBzb3VyY2Ugb2YgWCBrZXlib2FyZCBjb25maWd1cmF0aW9uIGRhdGEgZm9yIFggXAotV2luZG93IFN5c3RlbSBpbXBsZW1lbnRhdGlvbnMuICBUaGUgcHJvamVjdCBpcyB0YXJnZXRlZCB0byBYS0ItYmFzZWQgXAotc3lzdGVtcy4iCi0KLUhPTUVQQUdFID0gImh0dHA6Ly9mcmVlZGVza3RvcC5vcmcvd2lraS9Tb2Z0d2FyZS9YS2V5Ym9hcmRDb25maWciCi1CVUdUUkFDS0VSID0gImh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PXhrZXlib2FyZC1jb25maWciCi0KLUxJQ0VOU0UgPSAiTUlUICYgTUlULXN0eWxlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MGU3ZjIxY2E3ZGI5NzVjNjM0NjdkMmU3NjI0YTEyZjkiCi0KLVNSQ19VUkkgPSAiJHtYT1JHX01JUlJPUn0vaW5kaXZpZHVhbC9kYXRhL3hrZXlib2FyZC1jb25maWcvJHtCUE59LSR7UFZ9LnRhci5iejIiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI3NGM0YmRmNTIzODIxMjdjYjU4MDJjM2YyYWI0NDFlMCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI5MWIxODU4MGY0NmI0ZTRlYTkxMzcwN2Y2YzhkNjhhYjUyODY4NzljM2E2NTkxNDYyZjNiOWU3NjBkM2FjNGQ3IgotCi1TRUNUSU9OID0gIngxMS9saWJzIgotREVQRU5EUyA9ICJpbnRsdG9vbC1uYXRpdmUgdXRpbC1tYWNyb3MgbGlieHNsdC1uYXRpdmUiCi0KLUVYVFJBX09FQ09ORiA9ICItLXdpdGgteGtiLXJ1bGVzLXN5bWxpbms9eG9yZyAtLWRpc2FibGUtcnVudGltZS1kZXBzIgotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9YMTEveGtiIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dAotCi1kb19pbnN0YWxsX2FwcGVuZCAoKSB7Ci0gICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9YMTEveGtiL2NvbXBpbGVkCi0gICAgY2QgJHtEfSR7ZGF0YWRpcn0vWDExL3hrYi9ydWxlcyAmJiBsbiAtc2YgYmFzZSB4b3JnCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi94a2V5Ym9hcmQtY29uZmlnXzIuMjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi94a2V5Ym9hcmQtY29uZmlnXzIuMjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWMyMzI4OAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3hrZXlib2FyZC1jb25maWdfMi4yNi5iYgpAQCAtMCwwICsxLDMyIEBACitTVU1NQVJZID0gIktleWJvYXJkIGNvbmZpZ3VyYXRpb24gZGF0YWJhc2UgZm9yIFggV2luZG93IgorCitERVNDUklQVElPTiA9ICJUaGUgbm9uLWFyY2gga2V5Ym9hcmQgY29uZmlndXJhdGlvbiBkYXRhYmFzZSBmb3IgWCBcCitXaW5kb3cuICBUaGUgZ29hbCBpcyB0byBwcm92aWRlIHRoZSBjb25zaXN0ZW50LCB3ZWxsLXN0cnVjdHVyZWQsIFwKK2ZyZXF1ZW50bHkgcmVsZWFzZWQgb3BlbiBzb3VyY2Ugb2YgWCBrZXlib2FyZCBjb25maWd1cmF0aW9uIGRhdGEgZm9yIFggXAorV2luZG93IFN5c3RlbSBpbXBsZW1lbnRhdGlvbnMuICBUaGUgcHJvamVjdCBpcyB0YXJnZXRlZCB0byBYS0ItYmFzZWQgXAorc3lzdGVtcy4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly9mcmVlZGVza3RvcC5vcmcvd2lraS9Tb2Z0d2FyZS9YS2V5Ym9hcmRDb25maWciCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PXhrZXlib2FyZC1jb25maWciCisKK0xJQ0VOU0UgPSAiTUlUICYgTUlULXN0eWxlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MGU3ZjIxY2E3ZGI5NzVjNjM0NjdkMmU3NjI0YTEyZjkiCisKK1NSQ19VUkkgPSAiJHtYT1JHX01JUlJPUn0vaW5kaXZpZHVhbC9kYXRhL3hrZXlib2FyZC1jb25maWcvJHtCUE59LSR7UFZ9LnRhci5iejIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlMmU5ODA2MjliZmViOWY0MGE3ZDQ0NDg4YjE4YmExMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzOTM3MThjNzQ2MGNkMDZjNGU4Y2I4MTlkOTQzY2E1NDgxMmVhNDc2ZjMyNzE0YzRkODk3NWM3NzAzMWEwMzhlIgorCitTRUNUSU9OID0gIngxMS9saWJzIgorREVQRU5EUyA9ICJpbnRsdG9vbC1uYXRpdmUgdXRpbC1tYWNyb3MgbGlieHNsdC1uYXRpdmUiCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgteGtiLXJ1bGVzLXN5bWxpbms9eG9yZyAtLWRpc2FibGUtcnVudGltZS1kZXBzIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9YMTEveGtiIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dAorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9YMTEveGtiL2NvbXBpbGVkCisgICAgY2QgJHtEfSR7ZGF0YWRpcn0vWDExL3hrYi9ydWxlcyAmJiBsbiAtc2YgYmFzZSB4b3JnCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL3hjYi1wcm90b18xLjEzLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by94Y2ItcHJvdG9fMS4xMy5iYgppbmRleCBkNTAzNzg2Li43NDY3MDkwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL3hjYi1wcm90b18xLjEzLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctcHJvdG8veGNiLXByb3RvXzEuMTMuYmIKQEAgLTEyLDQwICsxMiwxOCBAQAogICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2RyaTIueG1sO2JlZ2lubGluZT0yO2VuZGxpbmU9Mjg7bWQ1PWY4NzYzYjEzZmY0MzJlODU5N2UwZDYxMGNmNTk4ZTY1IgogCiBTUkNfVVJJID0gImh0dHA6Ly94Y2IuZnJlZWRlc2t0b3Aub3JnL2Rpc3QvJHtCUH0udGFyLmJ6MiIKLQogU1JDX1VSSVttZDVzdW1dID0gImFiZTlhYTQ4ODYxMzgxNTBiYmMwNGFlNGYyOWI5MGUzIgogU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdiOTg3MjFlNjY5YmU4MDI4NGU5YmJmZWFiMDJkMmQwZDU0Y2QxMTE3MmI3MjI3MWU0N2EyZmU4NzVlMmJkZTEiCiAKLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi0jIEZvcmNlIHRoZSB1c2Ugb2YgUHl0aG9uIDMgYW5kIGEgc3BlY2lmaWMgbGlicmFyeSBwYXRoIHNvIHdlIGRvbid0IG5lZWQgdG8KLSMgZGVwZW5kIG9uIHB5dGhvbjMtbmF0aXZlCi1DQUNIRURfQ09ORklHVVJFVkFSUyArPSAiUFlUSE9OPXB5dGhvbjMgYW1fY3ZfcHl0aG9uX3B5dGhvbmRpcj0ke2xpYmRpcn0veGNiLXByb3RvIgoraW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHB5dGhvbjNuYXRpdmUKIAogUEFDS0FHRVMgKz0gInB5dGhvbi14Y2JnZW4iCiAKIEZJTEVTXyR7UE59ID0gIiIKIEZJTEVTXyR7UE59LWRldiArPSAiJHtkYXRhZGlyfS94Y2IvKi54bWwgJHtkYXRhZGlyfS94Y2IvKi54c2QiCi1GSUxFU19weXRob24teGNiZ2VuID0gIiR7bGliZGlyfS94Y2ItcHJvdG8iCitGSUxFU19weXRob24teGNiZ2VuID0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IgogCiBSREVQRU5EU18ke1BOfS1kZXYgPSAiIgogUlJFQ09NTUVORFNfJHtQTn0tZGJnID0gIiR7UE59LWRldiAoPSAke0VYVEVORFBLR1Z9KSIKIAogQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgotCi0jIE5lZWQgdG8gZG8gdGhpcyBkYW5jZSBiZWNhdXNlIHdlJ3JlIGZvcmNpbmcgdGhlIHVzZSBvZiBob3N0IFB5dGhvbiBhYm92ZSBhbmQKLSMgaWYgeGNiLXByb3RvIGlzIGJ1aWx0IHdpdGggUHkzLjUgYW5kIHRoZW4gcmUtdXNlZCBmcm9tIHNzdGF0ZSBvbiBhIGhvc3Qgd2l0aAotIyBQeTMuNiB0aGUgc2Vjb25kIGJ1aWxkIHdpbGwgd3JpdGUgbmV3IGNhY2hlIGZpbGVzIGludG8gdGhlIHN5c3Jvb3Qgd2hpY2ggd29uJ3QKLSMgYmUgbGlzdGVkIGluIHRoZSBtYW5pZmVzdCBzbyB3b24ndCBiZSBkZWxldGVkLCByZXN1bHRpbmcgaW4gYW4gZXJyb3Igb24KLSMgcmVidWlsZHMuICBTb2x2ZSB0aGlzIGJ5IGRlbGV0aW5nIHRoZSBlbnRpcmUgY2FjaGUgZGlyZWN0b3J5IHdoZW4gdGhpcyBwYWNrYWdlCi0jIGlzIHJlbW92ZWQgZnJvbSB0aGUgc3lzcm9vdC4KLVNTVEFURVBPU1RJTlNURlVOQ1MgKz0gInhjYl9zc3RhdGVfcG9zdGluc3QiCi14Y2Jfc3N0YXRlX3Bvc3RpbnN0KCkgewotCWlmIFsgIiR7QkJfQ1VSUkVOVFRBU0t9IiA9ICJwb3B1bGF0ZV9zeXNyb290IiAtbyAiJHtCQl9DVVJSRU5UVEFTS30iID0gInBvcHVsYXRlX3N5c3Jvb3Rfc2V0c2NlbmUiIF0KLQl0aGVuCi0JCWNhdCA8PEVPRiA+JHtTU1RBVEVfSU5TVF9QT1NUUk19Ci0jIS9iaW4vc2gKLXJtIC1yZiAke2xpYmRpcn0veGNiLXByb3RvL3hjYmdlbi9fX3B5Y2FjaGVfXwotRU9GCi0JZmkKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhvcmcuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteG9yZy5pbmMKaW5kZXggNDg5YTQyOC4uNjE1YWQ2ZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteG9yZy5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteG9yZy5pbmMKQEAgLTE4LDYgKzE4LDggQEAKIFhPUkdfUE4gPSAieG9yZy1zZXJ2ZXIiCiBTUkNfVVJJID0gIiR7WE9SR19NSVJST1J9L2luZGl2aWR1YWwveHNlcnZlci8ke1hPUkdfUE59LSR7UFZ9LnRhci5iejIiCiAKK0NWRV9QUk9EVUNUID0gInhvcmctc2VydmVyIgorCiBTID0gIiR7V09SS0RJUn0vJHtYT1JHX1BOfS0ke1BWfSIKIAogaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14b3JnLzAwMDEtdGVzdC14dGVzdC1Jbml0aWFsaXplLWFycmF5LXdpdGgtYnJhY2VzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteG9yZy8wMDAxLXRlc3QteHRlc3QtSW5pdGlhbGl6ZS1hcnJheS13aXRoLWJyYWNlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMGMyNDI4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteG9yZy8wMDAxLXRlc3QteHRlc3QtSW5pdGlhbGl6ZS1hcnJheS13aXRoLWJyYWNlcy5wYXRjaApAQCAtMCwwICsxLDM2IEBACitGcm9tIDhhMzgyYzAxNWNkM2M2OWZjZmMxNDZlZjAzZGNiZjMwYzc3ZmYyMDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogRnJpLCAxIE1hciAyMDE5IDA5OjQ3OjU3IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIHRlc3QveHRlc3Q6IEluaXRpYWxpemUgYXJyYXkgd2l0aCBicmFjZXMKKworRml4ZXMgYW4gZXJyb3Igd2hlbiBleHRyYSB3YXJuaW5ncyBhcmUgZW5hYmxlZCwgdGhpcyBpcyBjYXVnaHQgd2l0aCBjbGFuZworCit0ZXN0L3h0ZXN0LmM6NjQ6MjM6IGVycm9yOiBzdWdnZXN0IGJyYWNlcyBhcm91bmQgaW5pdGlhbGl6YXRpb24gb2Ygc3Vib2JqZWN0IFstV2Vycm9yLC1XbWlzc2luZy1icmFjZXNdCisgICAgV2luZG93UmVjIHJvb3QgPSB7MH07CisgICAgICAgICAgICAgICAgICAgICAgXgorICAgICAgICAgICAgICAgICAgICAgIHt9CisxIGVycm9yIGdlbmVyYXRlZC4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyB0ZXN0L3h0ZXN0LmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS90ZXN0L3h0ZXN0LmMgYi90ZXN0L3h0ZXN0LmMKK2luZGV4IGZjNWU0MzMuLmQ3ZTY2MjAgMTAwNjQ0CistLS0gYS90ZXN0L3h0ZXN0LmMKKysrKyBiL3Rlc3QveHRlc3QuYworQEAgLTYxLDcgKzYxLDcgQEAgeHRlc3RfaW5pdF9kZXZpY2VzKHZvaWQpCisgeworICAgICBTY3JlZW5SZWMgc2NyZWVuID0gezB9OworICAgICBDbGllbnRSZWMgc2VydmVyX2NsaWVudCA9IHswfTsKKy0gICAgV2luZG93UmVjIHJvb3QgPSB7MH07CisrICAgIFdpbmRvd1JlYyByb290ID0ge3swfX07CisgICAgIFdpbmRvd09wdFJlYyBvcHRpb25hbCA9IHswfTsKKyAKKyAgICAgLyogcmFuZG9tIHN0dWZmIHRoYXQgbmVlZHMgaW5pdGlhbGl6YXRpb24gKi8KKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhvcmcvQ1ZFLTIwMTgtMTQ2NjUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14b3JnL0NWRS0yMDE4LTE0NjY1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZjYyMzViLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhvcmcvQ1ZFLTIwMTgtMTQ2NjUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MiArMCwwIEBACi1JbmNvcnJlY3QgY29tbWFuZC1saW5lIHBhcmFtZXRlciB2YWxpZGF0aW9uIGluIHRoZSBYb3JnIFggc2VydmVyIGNhbiBsZWFkIHRvCi1wcml2aWxlZ2UgZWxldmF0aW9uIGFuZC9vciBhcmJpdHJhcnkgZmlsZXMgb3ZlcndyaXRlLCB3aGVuIHRoZSBYIHNlcnZlciBpcwotcnVubmluZyB3aXRoIGVsZXZhdGVkIHByaXZpbGVnZXMgKGllIHdoZW4gWG9yZyBpcyBpbnN0YWxsZWQgd2l0aCB0aGUgc2V0dWlkIGJpdAotc2V0IGFuZCBzdGFydGVkIGJ5IGEgbm9uLXJvb3QgdXNlcikuIFRoZSAtbW9kdWxlcGF0aCBhcmd1bWVudCBjYW4gYmUgdXNlZCB0bwotc3BlY2lmeSBhbiBpbnNlY3VyZSBwYXRoIHRvIG1vZHVsZXMgdGhhdCBhcmUgZ29pbmcgdG8gYmUgbG9hZGVkIGluIHRoZSBYIHNlcnZlciwKLWFsbG93aW5nIHRvIGV4ZWN1dGUgdW5wcml2aWxlZ2VkIGNvZGUgaW4gdGhlIHByaXZpbGVnZWQgcHJvY2Vzcy4gVGhlIC1sb2dmaWxlCi1hcmd1bWVudCBjYW4gYmUgdXNlZCB0byBvdmVyd3JpdGUgYXJiaXRyYXJ5IGZpbGVzIGluIHRoZSBmaWxlIHN5c3RlbSwgZHVlIHRvCi1pbmNvcnJlY3QgY2hlY2tzIGluIHRoZSBwYXJzaW5nIG9mIHRoZSBvcHRpb24uCi0KLUNWRTogQ1ZFLTIwMTgtMTQ2NjUKLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVNpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+Ci0KLUZyb20gNTBjMGNmODg1YTZlOTFjMGVhNzFmYjQ5ZmE4ZjFiN2M4NmZlMzMwZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hdHRoaWV1IEhlcnJiIDxtYXR0aGlldUBoZXJyYi5ldT4KLURhdGU6IFR1ZSwgMjMgT2N0IDIwMTggMjE6Mjk6MDggKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gRGlzYWJsZSAtbG9nZmlsZSBhbmQgLW1vZHVsZXBhdGggd2hlbiBydW5uaW5nIHdpdGggZWxldmF0ZWQKLSBwcml2aWxlZ2VzCi0KLUNvdWxkIGNhdXNlIHByaXZpbGVnZSBlbGV2YXRpb24gYW5kL29yIGFyYml0cmFyeSBmaWxlcyBvdmVyd3JpdGUsIHdoZW4KLXRoZSBYIHNlcnZlciBpcyBydW5uaW5nIHdpdGggZWxldmF0ZWQgcHJpdmlsZWdlcyAoaWUgd2hlbiBYb3JnIGlzCi1pbnN0YWxsZWQgd2l0aCB0aGUgc2V0dWlkIGJpdCBzZXQgYW5kIHN0YXJ0ZWQgYnkgYSBub24tcm9vdCB1c2VyKS4KLQotQ1ZFLTIwMTgtMTQ2NjUKLQotSXNzdWUgcmVwb3J0ZWQgYnkgTmFyZW5kcmEgU2hpbmRlIGFuZCBSZWQgSGF0LgotCi1TaWduZWQtb2ZmLWJ5OiBNYXR0aGlldSBIZXJyYiA8bWF0dGhpZXVAaGVycmIuZXU+Ci1SZXZpZXdlZC1ieTogQWxhbiBDb29wZXJzbWl0aCA8YWxhbi5jb29wZXJzbWl0aEBvcmFjbGUuY29tPgotUmV2aWV3ZWQtYnk6IFBldGVyIEh1dHRlcmVyIDxwZXRlci5odXR0ZXJlckB3aG8tdC5uZXQ+Ci1SZXZpZXdlZC1ieTogQWRhbSBKYWNrc29uIDxhamF4QHJlZGhhdC5jb20+Ci0tLS0KLSBody94ZnJlZTg2L2NvbW1vbi94Zjg2SW5pdC5jIHwgOCArKysrKystLQotIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9ody94ZnJlZTg2L2NvbW1vbi94Zjg2SW5pdC5jIGIvaHcveGZyZWU4Ni9jb21tb24veGY4NkluaXQuYwotaW5kZXggNmMyNWVkYTczLi4wZjU3ZWZhODYgMTAwNjQ0Ci0tLS0gYS9ody94ZnJlZTg2L2NvbW1vbi94Zjg2SW5pdC5jCi0rKysgYi9ody94ZnJlZTg2L2NvbW1vbi94Zjg2SW5pdC5jCi1AQCAtOTM1LDE0ICs5MzUsMTggQEAgZGR4UHJvY2Vzc0FyZ3VtZW50KGludCBhcmdjLCBjaGFyICoqYXJndiwgaW50IGkpCi0gICAgIC8qIEZpcnN0IHRoZSBvcHRpb25zIHRoYXQgYXJlIG5vdCBhbGxvd2VkIHdpdGggZWxldmF0ZWQgcHJpdmlsZWdlcyAqLwotICAgICBpZiAoIXN0cmNtcChhcmd2W2ldLCAiLW1vZHVsZXBhdGgiKSkgewotICAgICAgICAgQ0hFQ0tfRk9SX1JFUVVJUkVEX0FSR1VNRU5UKCk7Ci0tICAgICAgICB4Zjg2Q2hlY2tQcml2cyhhcmd2W2ldLCBhcmd2W2kgKyAxXSk7Ci0rICAgICAgICBpZiAoeGY4NlByaXZzRWxldmF0ZWQoKSkKLSsgICAgICAgICAgICAgIEZhdGFsRXJyb3IoIlxuSW52YWxpZCBhcmd1bWVudCAtbW9kdWxlcGF0aCAiCi0rICAgICAgICAgICAgICAgICJ3aXRoIGVsZXZhdGVkIHByaXZpbGVnZXNcbiIpOwotICAgICAgICAgeGY4Nk1vZHVsZVBhdGggPSBhcmd2W2kgKyAxXTsKLSAgICAgICAgIHhmODZNb2RQYXRoRnJvbSA9IFhfQ01ETElORTsKLSAgICAgICAgIHJldHVybiAyOwotICAgICB9Ci0gICAgIGlmICghc3RyY21wKGFyZ3ZbaV0sICItbG9nZmlsZSIpKSB7Ci0gICAgICAgICBDSEVDS19GT1JfUkVRVUlSRURfQVJHVU1FTlQoKTsKLS0gICAgICAgIHhmODZDaGVja1ByaXZzKGFyZ3ZbaV0sIGFyZ3ZbaSArIDFdKTsKLSsgICAgICAgIGlmICh4Zjg2UHJpdnNFbGV2YXRlZCgpKQotKyAgICAgICAgICAgICAgRmF0YWxFcnJvcigiXG5JbnZhbGlkIGFyZ3VtZW50IC1sb2dmaWxlICIKLSsgICAgICAgICAgICAgICAgIndpdGggZWxldmF0ZWQgcHJpdmlsZWdlc1xuIik7Ci0gICAgICAgICB4Zjg2TG9nRmlsZSA9IGFyZ3ZbaSArIDFdOwotICAgICAgICAgeGY4NkxvZ0ZpbGVGcm9tID0gWF9DTURMSU5FOwotICAgICAgICAgcmV0dXJuIDI7Ci0tLSAKLTIuMTguMQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteG9yZ18xLjIwLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14b3JnXzEuMjAuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWZkMmU4ZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14b3JnXzEuMjAuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLXJlcXVpcmUgeHNlcnZlci14b3JnLmluYwotCi1TUkNfVVJJICs9ICJmaWxlOi8vbXVzbC1hcm0taW5iLW91dGIucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDEteGY4NnBjaUJ1cy5jLXVzZS1JbnRlbC1kZHgtb25seS1mb3ItcHJlLWdlbjQtaGFyZHdhci5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vcGtnY29uZmlnLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOC0xNDY2NS5wYXRjaCBcCi0gICAgICAgICAgICAiCi1TUkNfVVJJW21kNXN1bV0gPSAiZTUyNTg0NmQxZDBhZjU3MzJiYTgzNWYyZTJlYzA2NmQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTljOTlmZTg2ZmU3NWI4MTY0YzY1NjdiZmM2ZTk4MmFlY2MyZTRhNTFlNmZiYWMxYjg0MmQ1ZDAwNTQ5ZTkxOCIKLQotIyBUaGVzZSBleHRlbnNpb25zIGFyZSBub3cgaW50ZWdyYXRlZCBpbnRvIHRoZSBzZXJ2ZXIsIHNvIGRlY2xhcmUgdGhlIG1pZ3JhdGlvbgotIyBwYXRoIGZvciBpbi1wbGFjZSB1cGdyYWRlcy4KLQotUlJFUExBQ0VTXyR7UE59ID0gICIke1BOfS1leHRlbnNpb24tZHJpIFwKLSAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXh0ZW5zaW9uLWRyaTIgXAotICAgICAgICAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tcmVjb3JkIFwKLSAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXh0ZW5zaW9uLWV4dG1vZCBcCi0gICAgICAgICAgICAgICAgICAgICR7UE59LWV4dGVuc2lvbi1kYmUgXAotICAgICAgICAgICAgICAgICAgICIKLVJQUk9WSURFU18ke1BOfSA9ICAiJHtQTn0tZXh0ZW5zaW9uLWRyaSBcCi0gICAgICAgICAgICAgICAgICAgICR7UE59LWV4dGVuc2lvbi1kcmkyIFwKLSAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXh0ZW5zaW9uLXJlY29yZCBcCi0gICAgICAgICAgICAgICAgICAgICR7UE59LWV4dGVuc2lvbi1leHRtb2QgXAotICAgICAgICAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tZGJlIFwKLSAgICAgICAgICAgICAgICAgICAiCi1SQ09ORkxJQ1RTXyR7UE59ID0gIiR7UE59LWV4dGVuc2lvbi1kcmkgXAotICAgICAgICAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tZHJpMiBcCi0gICAgICAgICAgICAgICAgICAgICR7UE59LWV4dGVuc2lvbi1yZWNvcmQgXAotICAgICAgICAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tZXh0bW9kIFwKLSAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXh0ZW5zaW9uLWRiZSBcCi0gICAgICAgICAgICAgICAgICAgIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteG9yZ18xLjIwLjQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14b3JnXzEuMjAuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZDk5ZDZiCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteG9yZ18xLjIwLjQuYmIKQEAgLTAsMCArMSwzMSBAQAorcmVxdWlyZSB4c2VydmVyLXhvcmcuaW5jCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9tdXNsLWFybS1pbmItb3V0Yi5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwMS14Zjg2cGNpQnVzLmMtdXNlLUludGVsLWRkeC1vbmx5LWZvci1wcmUtZ2VuNC1oYXJkd2FyLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9wa2djb25maWcucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtdGVzdC14dGVzdC1Jbml0aWFsaXplLWFycmF5LXdpdGgtYnJhY2VzLnBhdGNoIFwKKyAgICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICJjNDg0MWNjMjRiNzk0MjAyMDVkMDgyZmU4MmUwYTY1MCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmZTBmZDQ5M2ViZTkzYmZjNTZiZWRlMzgyZmEyMDQ0NThmZjVmNjM2ZWE1NGQ0MTNhNWQxYmQ1OGUxOTE2NmVlIgorCisjIFRoZXNlIGV4dGVuc2lvbnMgYXJlIG5vdyBpbnRlZ3JhdGVkIGludG8gdGhlIHNlcnZlciwgc28gZGVjbGFyZSB0aGUgbWlncmF0aW9uCisjIHBhdGggZm9yIGluLXBsYWNlIHVwZ3JhZGVzLgorCitSUkVQTEFDRVNfJHtQTn0gPSAgIiR7UE59LWV4dGVuc2lvbi1kcmkgXAorICAgICAgICAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tZHJpMiBcCisgICAgICAgICAgICAgICAgICAgICR7UE59LWV4dGVuc2lvbi1yZWNvcmQgXAorICAgICAgICAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tZXh0bW9kIFwKKyAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXh0ZW5zaW9uLWRiZSBcCisgICAgICAgICAgICAgICAgICAgIgorUlBST1ZJREVTXyR7UE59ID0gICIke1BOfS1leHRlbnNpb24tZHJpIFwKKyAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXh0ZW5zaW9uLWRyaTIgXAorICAgICAgICAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tcmVjb3JkIFwKKyAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXh0ZW5zaW9uLWV4dG1vZCBcCisgICAgICAgICAgICAgICAgICAgICR7UE59LWV4dGVuc2lvbi1kYmUgXAorICAgICAgICAgICAgICAgICAgICIKK1JDT05GTElDVFNfJHtQTn0gPSAiJHtQTn0tZXh0ZW5zaW9uLWRyaSBcCisgICAgICAgICAgICAgICAgICAgICR7UE59LWV4dGVuc2lvbi1kcmkyIFwKKyAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXh0ZW5zaW9uLXJlY29yZCBcCisgICAgICAgICAgICAgICAgICAgICR7UE59LWV4dGVuc2lvbi1leHRtb2QgXAorICAgICAgICAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tZGJlIFwKKyAgICAgICAgICAgICAgICAgICAiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94dmlkZW8tdGVzdHMveHZpZGVvLXRlc3RzX2dpdC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3h2aWRlby10ZXN0cy94dmlkZW8tdGVzdHNfZ2l0LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZDI3NWEwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3h2aWRlby10ZXN0cy94dmlkZW8tdGVzdHNfZ2l0LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotU1VNTUFSWSA9ICJTaW1wbGUgWFZpZGVvIHRlc3QgYXBwbGljYXRpb24iCi1MSUNFTlNFID0gIkdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy90ZXN0LXh2aWRlby5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjA7bWQ1PTZhZTNiNGMzYzJmZjllNTFkYmJjMzViYjIzN2FmYTAwIgotREVQRU5EUyA9ICJsaWJ4diIKLQotU1JDUkVWID0gIjdkMzhiODgxZTk5ZWI3NDE2OWQyOTJiNDBmNzE2NGU0NjFhNjUwOTIiCi1QViA9ICIwLjErZ2l0JHtTUkNQVn0iCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvdGVzdC14dmlkZW8iCi1VUFNUUkVBTV9DSEVDS19DT01NSVRTID0gIjEiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIGRpc3Ryb19mZWF0dXJlc19jaGVjawotCi0jIFRoZSBsaWJ4diByZXF1aXJlcyB4MTEgaW4gRElTVFJPX0ZFQVRVUkVTCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9jcnlwdG9kZXYtbGludXhfMS45LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9jcnlwdG9kZXYtbGludXhfMS4xMC5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9jcnlwdG9kZXYtbGludXhfMS45LmJiCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2NyeXB0b2Rldi1saW51eF8xLjEwLmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2NyeXB0b2Rldi1tb2R1bGVfMS4xMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvY3J5cHRvZGV2LW1vZHVsZV8xLjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1MmViNmEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2NyeXB0b2Rldi1tb2R1bGVfMS4xMC5iYgpAQCAtMCwwICsxLDE3IEBACityZXF1aXJlIGNyeXB0b2Rldi5pbmMKKworU1VNTUFSWSA9ICJBIC9kZXYvY3J5cHRvIGRldmljZSBkcml2ZXIga2VybmVsIG1vZHVsZSIKKworaW5oZXJpdCBtb2R1bGUKKworIyBIZWFkZXIgZmlsZSBwcm92aWRlZCBieSBhIHNlcGFyYXRlIHBhY2thZ2UKK0RFUEVORFMgKz0gImNyeXB0b2Rldi1saW51eCIKKworU1JDX1VSSSArPSAiIFwKK2ZpbGU6Ly8wMDAxLURpc2FibGUtaW5zdGFsbGluZy1oZWFkZXItZmlsZS1wcm92aWRlZC1ieS1hbm90aGVyLXAucGF0Y2ggXAorIgorCitFWFRSQV9PRU1BS0U9J0tFUk5FTF9ESVI9IiR7U1RBR0lOR19LRVJORUxfRElSfSIgUFJFRklYPSIke0R9IicKKworUkNPTkZMSUNUU18ke1BOfSA9ICJvY2YtbGludXgiCitSUkVQTEFDRVNfJHtQTn0gPSAib2NmLWxpbnV4IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9jcnlwdG9kZXYtbW9kdWxlXzEuOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvY3J5cHRvZGV2LW1vZHVsZV8xLjkuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVkNDMyN2QuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9jcnlwdG9kZXYtbW9kdWxlXzEuOS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLXJlcXVpcmUgY3J5cHRvZGV2LmluYwotCi1TVU1NQVJZID0gIkEgL2Rldi9jcnlwdG8gZGV2aWNlIGRyaXZlciBrZXJuZWwgbW9kdWxlIgotCi1pbmhlcml0IG1vZHVsZQotCi0jIEhlYWRlciBmaWxlIHByb3ZpZGVkIGJ5IGEgc2VwYXJhdGUgcGFja2FnZQotREVQRU5EUyArPSAiY3J5cHRvZGV2LWxpbnV4IgotCi1TUkNfVVJJICs9ICIgXAotZmlsZTovLzAwMDEtRGlzYWJsZS1pbnN0YWxsaW5nLWhlYWRlci1maWxlLXByb3ZpZGVkLWJ5LWFub3RoZXItcC5wYXRjaCBcCi1maWxlOi8vMDAwMS1pb2N0bC5jLUZpeC1idWlsZC13aXRoLWxpbnV4LTQuMTMucGF0Y2ggXAotZmlsZTovLzAwMDEtaW9jdGwuYy1GaXgtYnVpbGQtd2l0aC1saW51eC00LjE3LnBhdGNoIFwKLWZpbGU6Ly8wMDAxLXJlZmFjdG9yaW5nLXNwbGl0LWJpZy1mdW5jdGlvbi10by1zaW1wbGlmeS1tYWludGFpbmEucGF0Y2ggXAotZmlsZTovLzAwMDItcmVmYWN0b3JpbmctcmVsb2NhdGUtY29kZS10by1zaW1wbGlmeS1sYXRlci1wYXRjaGVzLnBhdGNoIFwKLWZpbGU6Ly8wMDAzLWNvbnZlcnQtdG8tbmV3LUFFQUQtaW50ZXJmYWNlLWluLWtlcm5lbHMtdjQuMi5wYXRjaCBcCi0iCi0KLUVYVFJBX09FTUFLRT0nS0VSTkVMX0RJUj0iJHtTVEFHSU5HX0tFUk5FTF9ESVJ9IiBQUkVGSVg9IiR7RH0iJwotCi1SQ09ORkxJQ1RTXyR7UE59ID0gIm9jZi1saW51eCIKLVJSRVBMQUNFU18ke1BOfSA9ICJvY2YtbGludXgiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2NyeXB0b2Rldi10ZXN0c18xLjEwLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9jcnlwdG9kZXYtdGVzdHNfMS4xMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Y2I1ZGNiCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9jcnlwdG9kZXYtdGVzdHNfMS4xMC5iYgpAQCAtMCwwICsxLDIxIEBACityZXF1aXJlIGNyeXB0b2Rldi5pbmMKKworU1VNTUFSWSA9ICJBIHRlc3Qgc3VpdGUgZm9yIC9kZXYvY3J5cHRvIGRldmljZSBkcml2ZXIiCisKK0RFUEVORFMgKz0gIm9wZW5zc2wiCisKK1NSQ19VUkkgKz0gIiBcCitmaWxlOi8vMDAwMS1BZGQtdGhlLWNvbXBpbGUtYW5kLWluc3RhbGwtcnVsZXMtZm9yLWNyeXB0b2Rldi10ZXN0LnBhdGNoIFwKKyIKKworRVhUUkFfT0VNQUtFPSdLRVJORUxfRElSPSIke1NUQUdJTkdfRVhFQ1BSRUZJWERJUn0iIFBSRUZJWD0iJHtEfSInCisKK2RvX2NvbXBpbGUoKSB7CisJb2VfcnVubWFrZSB0ZXN0cHJvZ3MKK30KKworZG9faW5zdGFsbCgpIHsKKwlvZV9ydW5tYWtlIGluc3RhbGxfdGVzdHMKK30KKworRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9LyoiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2NyeXB0b2Rldi10ZXN0c18xLjkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2NyeXB0b2Rldi10ZXN0c18xLjkuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYxN2RiNmMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9jcnlwdG9kZXYtdGVzdHNfMS45LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotcmVxdWlyZSBjcnlwdG9kZXYuaW5jCi0KLVNVTU1BUlkgPSAiQSB0ZXN0IHN1aXRlIGZvciAvZGV2L2NyeXB0byBkZXZpY2UgZHJpdmVyIgotCi1ERVBFTkRTICs9ICJvcGVuc3NsIgotCi1TUkNfVVJJICs9ICIgXAotZmlsZTovLzAwMDEtQWRkLXRoZS1jb21waWxlLWFuZC1pbnN0YWxsLXJ1bGVzLWZvci1jcnlwdG9kZXYtdGVzdC5wYXRjaCBcCi1maWxlOi8vMDAwMS1Qb3J0LXRlc3RzLXRvLW9wZW5zc2wtMS4xLnBhdGNoIFwKLSIKLQotRVhUUkFfT0VNQUtFPSdLRVJORUxfRElSPSIke1NUQUdJTkdfRVhFQ1BSRUZJWERJUn0iIFBSRUZJWD0iJHtEfSInCi0KLWRvX2NvbXBpbGUoKSB7Ci0Jb2VfcnVubWFrZSB0ZXN0cHJvZ3MKLX0KLQotZG9faW5zdGFsbCgpIHsKLQlvZV9ydW5tYWtlIGluc3RhbGxfdGVzdHMKLX0KLQotRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9LyoiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2NyeXB0b2Rldi5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2NyeXB0b2Rldi5pbmMKaW5kZXggYWIxNWJjMS4uMjUyZDM5ZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9jcnlwdG9kZXYuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvY3J5cHRvZGV2LmluYwpAQCAtNCw3ICs0LDcgQEAKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgogCiBTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vY3J5cHRvZGV2LWxpbnV4L2NyeXB0b2Rldi1saW51eCIKLVNSQ1JFViA9ICI4N2Q5NTlkOWEyNzljMDU1YjM2MWRlOGU3MzBmYWI2YTcxNDRlZGQ3IgorU1JDUkVWID0gImZkOGIxNWVmMWM4Mzk4YTY5YTM3OTMyZWU0OGM3NGFiNDAzMjlhMjkiCiAKIFMgPSAiJHtXT1JLRElSfS9naXQiCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvZmlsZXMvMDAwMS1Qb3J0LXRlc3RzLXRvLW9wZW5zc2wtMS4xLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9maWxlcy8wMDAxLVBvcnQtdGVzdHMtdG8tb3BlbnNzbC0xLjEucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM5NjkxMjYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9maWxlcy8wMDAxLVBvcnQtdGVzdHMtdG8tb3BlbnNzbC0xLjEucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMDMgKzAsMCBAQAotRnJvbSAyZmU0YmRlYjhjZGQwYjBmNDZkOWNhZWQ4MDc4MTI4NTVkNTFlYTU2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+Ci1EYXRlOiBXZWQsIDI4IE1hciAyMDE4IDIwOjExOjA1ICswMzAwCi1TdWJqZWN0OiBbUEFUQ0hdIFBvcnQgdGVzdHMgdG8gb3BlbnNzbCAxLjEKLQotVXBzdHJlYW0tU3RhdHVzOiBBY2NlcHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL2NyeXB0b2Rldi1saW51eC9jcnlwdG9kZXYtbGludXgvcHVsbC8zNl0KLVNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgotCi0tLS0KLSB0ZXN0cy9vcGVuc3NsX3dyYXBwZXIuYyB8IDMzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCAzMyBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS90ZXN0cy9vcGVuc3NsX3dyYXBwZXIuYyBiL3Rlc3RzL29wZW5zc2xfd3JhcHBlci5jCi1pbmRleCAwMzhjNThmLi5kZWEyNDk2IDEwMDY0NAotLS0tIGEvdGVzdHMvb3BlbnNzbF93cmFwcGVyLmMKLSsrKyBiL3Rlc3RzL29wZW5zc2xfd3JhcHBlci5jCi1AQCAtNCw2ICs0LDcgQEAKLSAjaW5jbHVkZSA8b3BlbnNzbC9hZXMuaD4KLSAjaW5jbHVkZSA8b3BlbnNzbC9ldnAuaD4KLSAjaW5jbHVkZSA8b3BlbnNzbC9obWFjLmg+Ci0rI2luY2x1ZGUgPG9wZW5zc2wvb3BlbnNzbHYuaD4KLSAKLSAvLyNkZWZpbmUgREVCVUcKLSAKLUBAIC0yMywxMCArMjQsMTcgQEAgZW51bSBjdHhfdHlwZSB7Ci0gCWN0eF90eXBlX21kLAotIH07Ci0gCi0rI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gMHgxMDEwMDAwMEwKLSt1bmlvbiBvcGVuc3NsX2N0eCB7Ci0rCUhNQUNfQ1RYICpobWFjOwotKwlFVlBfTURfQ1RYICptZDsKLSt9OwotKyNlbHNlCi0gdW5pb24gb3BlbnNzbF9jdHggewotIAlITUFDX0NUWCBobWFjOwotIAlFVlBfTURfQ1RYIG1kOwotIH07Ci0rI2VuZGlmCi0gCi0gc3RydWN0IGN0eF9tYXBwaW5nIHsKLSAJX191MzIgc2VzOwotQEAgLTYzLDYgKzcxLDE2IEBAIHN0YXRpYyB2b2lkIHJlbW92ZV9tYXBwaW5nKF9fdTMyIHNlcykKLSAJc3dpdGNoIChtYXBwaW5nLT50eXBlKSB7Ci0gCWNhc2UgY3R4X3R5cGVfbm9uZToKLSAJCWJyZWFrOwotKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MTAxMDAwMDBMCi0rCWNhc2UgY3R4X3R5cGVfaG1hYzoKLSsJCWRiZ3AoIiVzOiBjYWxsaW5nIEhNQUNfQ1RYX2ZyZWVcbiIsIF9fZnVuY19fKTsKLSsJCUhNQUNfQ1RYX2ZyZWUobWFwcGluZy0+Y3R4LmhtYWMpOwotKwkJYnJlYWs7Ci0rCWNhc2UgY3R4X3R5cGVfbWQ6Ci0rCQlkYmdwKCIlczogY2FsbGluZyBFVlBfTURfQ1RYX2ZyZWVcbiIsIF9fZnVuY19fKTsKLSsJCUVWUF9NRF9DVFhfZnJlZShtYXBwaW5nLT5jdHgubWQpOwotKwkJYnJlYWs7Ci0rI2Vsc2UKLSAJY2FzZSBjdHhfdHlwZV9obWFjOgotIAkJZGJncCgiJXM6IGNhbGxpbmcgSE1BQ19DVFhfY2xlYW51cFxuIiwgX19mdW5jX18pOwotIAkJSE1BQ19DVFhfY2xlYW51cCgmbWFwcGluZy0+Y3R4LmhtYWMpOwotQEAgLTcxLDYgKzg5LDcgQEAgc3RhdGljIHZvaWQgcmVtb3ZlX21hcHBpbmcoX191MzIgc2VzKQotIAkJZGJncCgiJXM6IGNhbGxpbmcgRVZQX01EX0NUWF9jbGVhbnVwXG4iLCBfX2Z1bmNfXyk7Ci0gCQlFVlBfTURfQ1RYX2NsZWFudXAoJm1hcHBpbmctPmN0eC5tZCk7Ci0gCQlicmVhazsKLSsjZW5kaWYKLSAJfQotIAltZW1zZXQobWFwcGluZywgMCwgc2l6ZW9mKCptYXBwaW5nKSk7Ci0gfQotQEAgLTEyNywxMCArMTQ2LDE3IEBAIHN0YXRpYyBpbnQgb3BlbnNzbF9obWFjKHN0cnVjdCBzZXNzaW9uX29wICpzZXNzLCBzdHJ1Y3QgY3J5cHRfb3AgKmNvcCkKLSAKLSAJCW1hcHBpbmctPnNlcyA9IHNlc3MtPnNlczsKLSAJCW1hcHBpbmctPnR5cGUgPSBjdHhfdHlwZV9obWFjOwotKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MTAxMDAwMDBMCi0rCQljdHggPSBtYXBwaW5nLT5jdHguaG1hYzsKLSsKLSsJCWRiZ3AoImNhbGxpbmcgSE1BQ19DVFhfbmV3Iik7Ci0rCQljdHggPSBITUFDX0NUWF9uZXcoKTsKLSsjZWxzZQotIAkJY3R4ID0gJm1hcHBpbmctPmN0eC5obWFjOwotIAotIAkJZGJncCgiY2FsbGluZyBITUFDX0NUWF9pbml0Iik7Ci0gCQlITUFDX0NUWF9pbml0KGN0eCk7Ci0rI2VuZGlmCi0gCQlkYmdwKCJjYWxsaW5nIEhNQUNfSW5pdF9leCIpOwotIAkJaWYgKCFITUFDX0luaXRfZXgoY3R4LCBzZXNzLT5tYWNrZXksIHNlc3MtPm1hY2tleWxlbiwKLSAJCQkJc2Vzc190b19ldnBfbWQoc2VzcyksIE5VTEwpKSB7Ci1AQCAtMTcyLDEwICsxOTgsMTcgQEAgc3RhdGljIGludCBvcGVuc3NsX21kKHN0cnVjdCBzZXNzaW9uX29wICpzZXNzLCBzdHJ1Y3QgY3J5cHRfb3AgKmNvcCkKLSAKLSAJCW1hcHBpbmctPnNlcyA9IHNlc3MtPnNlczsKLSAJCW1hcHBpbmctPnR5cGUgPSBjdHhfdHlwZV9tZDsKLSsjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMTAwMDAwTAotKwkJY3R4ID0gbWFwcGluZy0+Y3R4Lm1kOwotKwotKwkJZGJncCgiY2FsbGluZyBFVlBfTURfQ1RYX25ldyIpOwotKwkJY3R4ID0gRVZQX01EX0NUWF9uZXcoKTsKLSsjZWxzZQotIAkJY3R4ID0gJm1hcHBpbmctPmN0eC5tZDsKLSAKLSAJCWRiZ3AoImNhbGxpbmcgRVZQX01EX0NUWF9pbml0Iik7Ci0gCQlFVlBfTURfQ1RYX2luaXQoY3R4KTsKLSsjZW5kaWYKLSAJCWRiZ3AoImNhbGxpbmcgRVZQX0RpZ2VzdEluaXQiKTsKLSAJCUVWUF9EaWdlc3RJbml0KGN0eCwgc2Vzc190b19ldnBfbWQoc2VzcykpOwotIAl9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2ZpbGVzLzAwMDEtaW9jdGwuYy1GaXgtYnVpbGQtd2l0aC1saW51eC00LjEzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9maWxlcy8wMDAxLWlvY3RsLmMtRml4LWJ1aWxkLXdpdGgtbGludXgtNC4xMy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTQxZWZhYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2ZpbGVzLzAwMDEtaW9jdGwuYy1GaXgtYnVpbGQtd2l0aC1saW51eC00LjEzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDkgKzAsMCBAQAotRnJvbSBmMGQ2OTc3NGFmYjI3ZmZjNjJiZjM1MzQ2NWZiYTE0NWU3MGNiODVhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUmljYXJkbyBSaWJhbGRhIERlbGdhZG8gPHJpY2FyZG8ucmliYWxkYUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDQgU2VwIDIwMTcgMTE6MDU6MDggKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gaW9jdGwuYzogRml4IGJ1aWxkIHdpdGggbGludXggNC4xMwotCi1naXQvaW9jdGwuYzoxMTI3OjM6IGVycm9yOiBwb3NpdGlvbmFsIGluaXRpYWxpemF0aW9uIG9mIGZpZWxkIGluICdzdHJ1Y3QnIGRlY2xhcmVkIHdpdGggJ2Rlc2lnbmF0ZWRfaW5pdCcgYXR0cmlidXRlIFstV2Vycm9yPWRlc2lnbmF0ZWQtaW5pdF0KLSAgIHswLCB9LAotICAgIF4KLW5vdGU6IChuZWFyIGluaXRpYWxpemF0aW9uIGZvciAndmVyYm9zaXR5X2N0bF9kaXJbMV0nKQotZ2l0L2lvY3RsLmM6MTEzNjozOiBlcnJvcjogcG9zaXRpb25hbCBpbml0aWFsaXphdGlvbiBvZiBmaWVsZCBpbiAnc3RydWN0JyBkZWNsYXJlZCB3aXRoICdkZXNpZ25hdGVkX2luaXQnIGF0dHJpYnV0ZSBbLVdlcnJvcj1kZXNpZ25hdGVkLWluaXRdCi0gICB7MCwgfSwKLSAgICBeCi0KLUxpbnV4IGtlcm5lbCBoYXMgYWRkZWQgLVdlcnJvcj1kZXNpZ25hdGVkLWluaXQgYXJvdW5kIDQuMTEgKGM4MzRmMGU4YThiKQotdHJpZ2dlcmluZyBidWlsZCBlcnJvcnMgd2l0aCBnY2MgNSBhbmQgNiAoYnV0IG5vdCB3aXRoIGdjYyA0KQotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0KLVNpZ25lZC1vZmYtYnk6IFJpY2FyZG8gUmliYWxkYSBEZWxnYWRvIDxyaWNhcmRvLnJpYmFsZGFAZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogQ3Jpc3RpYW4gU3RvaWNhIDxjcmlzdGlhbi5zdG9pY2FAbnhwLmNvbT4KLS0tLQotIGlvY3RsLmMgfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvaW9jdGwuYyBiL2lvY3RsLmMKLWluZGV4IDAzODUyMDMuLjhkNGExNjIgMTAwNjQ0Ci0tLS0gYS9pb2N0bC5jCi0rKysgYi9pb2N0bC5jCi1AQCAtMTEyNCw3ICsxMTI0LDcgQEAgc3RhdGljIHN0cnVjdCBjdGxfdGFibGUgdmVyYm9zaXR5X2N0bF9kaXJbXSA9IHsKLSAJCS5tb2RlICAgICAgICAgICA9IDA2NDQsCi0gCQkucHJvY19oYW5kbGVyICAgPSBwcm9jX2RvaW50dmVjLAotIAl9LAotLQl7MCwgfSwKLSsJe30sCi0gfTsKLSAKLSBzdGF0aWMgc3RydWN0IGN0bF90YWJsZSB2ZXJib3NpdHlfY3RsX3Jvb3RbXSA9IHsKLUBAIC0xMTMzLDcgKzExMzMsNyBAQCBzdGF0aWMgc3RydWN0IGN0bF90YWJsZSB2ZXJib3NpdHlfY3RsX3Jvb3RbXSA9IHsKLSAJCS5tb2RlICAgICAgICAgICA9IDA1NTUsCi0gCQkuY2hpbGQgICAgICAgICAgPSB2ZXJib3NpdHlfY3RsX2RpciwKLSAJfSwKLS0JezAsIH0sCi0rCXt9LAotIH07Ci0gc3RhdGljIHN0cnVjdCBjdGxfdGFibGVfaGVhZGVyICp2ZXJib3NpdHlfc3lzY3RsX2hlYWRlcjsKLSBzdGF0aWMgaW50IF9faW5pdCBpbml0X2NyeXB0b2Rldih2b2lkKQotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2ZpbGVzLzAwMDEtaW9jdGwuYy1GaXgtYnVpbGQtd2l0aC1saW51eC00LjE3LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9maWxlcy8wMDAxLWlvY3RsLmMtRml4LWJ1aWxkLXdpdGgtbGludXgtNC4xNy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTg4MWQxYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2ZpbGVzLzAwMDEtaW9jdGwuYy1GaXgtYnVpbGQtd2l0aC1saW51eC00LjE3LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotRnJvbSBmNjBhYTA4YzYzZmMwMjc4MDU1NGEwYTEyMTgwYTQ3OGNhMjdkNDlmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0hvcmlhPTIwR2VhbnQ9QzQ9ODM/PSA8aG9yaWEuZ2VhbnRhQG54cC5jb20+Ci1EYXRlOiBXZWQsIDIzIE1heSAyMDE4IDE4OjQzOjM5ICswMzAwCi1TdWJqZWN0OiBbUEFUQ0hdIGlvY3RsLmM6IEZpeCBidWlsZCB3aXRoIGxpbnV4IDQuMTcKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotU2luY2Uga2VybmVsIDQuMTctcmMxLCBzeXNfKiBzeXNjYWxscyBjYW4gbm8gbG9uZ2VyIGJlIGNhbGxlZCBkaXJlY3RseToKLTgxOTY3MWZmODQ5YiAoInN5c2NhbGxzOiBkZWZpbmUgYW5kIGV4cGxhaW4gZ29hbCB0byBub3QgY2FsbCBzeXNjYWxscyBpbiB0aGUga2VybmVsIikKLQotU2luY2UgY3J5cHRvZGV2IHVzZXMgc3lzX2Nsb3NlKCkgLSBhbmQgdGhpcyBoYXMgYmVlbiByZW1vdmVkIGluIGNvbW1pdDoKLTJjYTJhMDlkNjIxNSAoImZzOiBhZGQga3N5c19jbG9zZSgpIHdyYXBwZXI7IHJlbW92ZSBpbi1rZXJuZWwgY2FsbHMgdG8gc3lzX2Nsb3NlKCkiKQotY3J5cHRvZGV2IGhhcyB0byBiZSB1cGRhdGVkIHRvIHVzZSB0aGUga3N5c19jbG9zZSgpIHdyYXBwZXIuCi0KLVNpZ25lZC1vZmYtYnk6IEhvcmlhIEdlYW50xIMgPGhvcmlhLmdlYW50YUBueHAuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0KLVNpZ25lZC1vZmYtYnk6IEhlIFpoZSA8emhlLmhlQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBpb2N0bC5jIHwgNCArKysrCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvaW9jdGwuYyBiL2lvY3RsLmMKLWluZGV4IGQ4MzFiMGMuLjI1NzEwMzQgMTAwNjQ0Ci0tLS0gYS9pb2N0bC5jCi0rKysgYi9pb2N0bC5jCi1AQCAtODI4LDcgKzgyOCwxMSBAQCBjcnlwdG9kZXZfaW9jdGwoc3RydWN0IGZpbGUgKmZpbHAsIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnXykKLSAJCWZkID0gY2xvbmVmZChmaWxwKTsKLSAJCXJldCA9IHB1dF91c2VyKGZkLCBwKTsKLSAJCWlmICh1bmxpa2VseShyZXQpKSB7Ci0rI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTig0LCAxNywgMCkpCi0gCQkJc3lzX2Nsb3NlKGZkKTsKLSsjZWxzZQotKwkJCWtzeXNfY2xvc2UoZmQpOwotKyNlbmRpZgotIAkJCXJldHVybiByZXQ7Ci0gCQl9Ci0gCQlyZXR1cm4gcmV0OwotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2ZpbGVzLzAwMDEtcmVmYWN0b3Jpbmctc3BsaXQtYmlnLWZ1bmN0aW9uLXRvLXNpbXBsaWZ5LW1haW50YWluYS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvZmlsZXMvMDAwMS1yZWZhY3RvcmluZy1zcGxpdC1iaWctZnVuY3Rpb24tdG8tc2ltcGxpZnktbWFpbnRhaW5hLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNTU3YjVkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvZmlsZXMvMDAwMS1yZWZhY3RvcmluZy1zcGxpdC1iaWctZnVuY3Rpb24tdG8tc2ltcGxpZnktbWFpbnRhaW5hLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjUwICswLDAgQEAKLUZyb20gMjBkY2YwNzFiYzMwNzZlZTdkYjlkNjAzY2ZiZTZhMDZlODZjN2Q1ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENyaXN0aWFuIFN0b2ljYSA8Y3Jpc3RpYW4uc3RvaWNhQG54cC5jb20+Ci1EYXRlOiBUaHUsIDQgTWF5IDIwMTcgMTU6MDY6MjAgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSCAxLzNdIHJlZmFjdG9yaW5nOiBzcGxpdCBiaWcgZnVuY3Rpb24gdG8gc2ltcGxpZnkgbWFpbnRhaW5hbmNlCi0KLVRoZSBzZXR1cCBvZiBhdXRoX2J1ZiBpbiB0bHMgYW5kIGFlYWQgaXMgbm93IGR1cGxpY2F0ZWQgYnV0IHRoaXMKLWlzIHRlbXBvcmFyeSBhbmQgYWxsb3dzIG5lY2Vzc2FyeSBjb3JyZWN0aW9ucyBmb3IgdGhlIGFlYWQgY2FzZQotd2l0aCB2NC4yKyBrZXJuZWxzLgotCi1TaWduZWQtb2ZmLWJ5OiBDcmlzdGlhbiBTdG9pY2EgPGNyaXN0aWFuLnN0b2ljYUBueHAuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0KLUNvbW1pdCBJRDogMjBkY2YwNzFiYzMwNzZlZTdkYjlkNjAzYwotCi1TaWduZWQtb2ZmLWJ5OiBIb25nemhpLlNvbmcgPGhvbmd6aGkuc29uZ0B3aW5kcml2ZXIuY29tPgotLS0tCi0gYXV0aGVuYy5jIHwgMTk3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDEyNiBpbnNlcnRpb25zKCspLCA3MSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2F1dGhlbmMuYyBiL2F1dGhlbmMuYwotaW5kZXggMWJkNzM3Ny4uMjhlYjBmOSAxMDA2NDQKLS0tLSBhL2F1dGhlbmMuYwotKysrIGIvYXV0aGVuYy5jCi1AQCAtNjA5LDk2ICs2MDksMTUxIEBAIGF1dGhfbl9jcnlwdChzdHJ1Y3QgY3Nlc3Npb24gKnNlc19wdHIsIHN0cnVjdCBrZXJuZWxfY3J5cHRfYXV0aF9vcCAqa2Nhb3AsCi0gCXJldHVybiAwOwotIH0KLSAKLS0vKiBUaGlzIGlzIHRoZSBtYWluIGNyeXB0byBmdW5jdGlvbiAtIHplcm8tY29weSBlZGl0aW9uICovCi0tc3RhdGljIGludAotLV9fY3J5cHRvX2F1dGhfcnVuX3pjKHN0cnVjdCBjc2Vzc2lvbiAqc2VzX3B0ciwgc3RydWN0IGtlcm5lbF9jcnlwdF9hdXRoX29wICprY2FvcCkKLStzdGF0aWMgaW50IGNyeXB0b19hdXRoX3pjX3NydHAoc3RydWN0IGNzZXNzaW9uICpzZXNfcHRyLCBzdHJ1Y3Qga2VybmVsX2NyeXB0X2F1dGhfb3AgKmtjYW9wKQotIHsKLS0Jc3RydWN0IHNjYXR0ZXJsaXN0ICpkc3Rfc2csICphdXRoX3NnLCAqc3JjX3NnOwotKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKmRzdF9zZywgKmF1dGhfc2c7Ci0gCXN0cnVjdCBjcnlwdF9hdXRoX29wICpjYW9wID0gJmtjYW9wLT5jYW9wOwotLQlpbnQgcmV0ID0gMDsKLSsJaW50IHJldDsKLSAKLS0JaWYgKGNhb3AtPmZsYWdzICYgQ09QX0ZMQUdfQUVBRF9TUlRQX1RZUEUpIHsKLS0JCWlmICh1bmxpa2VseShzZXNfcHRyLT5jZGF0YS5pbml0ICE9IDAgJiYKLS0JCSAgICAgICAgICAgICAoc2VzX3B0ci0+Y2RhdGEuc3RyZWFtID09IDAgfHwKLS0JCQkgICAgICBzZXNfcHRyLT5jZGF0YS5hZWFkICE9IDApKSkgewotLQkJCWRlcnIoMCwgIk9ubHkgc3RyZWFtIG1vZGVzIGFyZSBhbGxvd2VkIGluIFNSVFAgbW9kZSAoYnV0IG5vdCBBRUFEKSIpOwotLQkJCXJldHVybiAtRUlOVkFMOwotLQkJfQotKwlpZiAodW5saWtlbHkoc2VzX3B0ci0+Y2RhdGEuaW5pdCAhPSAwICYmCi0rCQkoc2VzX3B0ci0+Y2RhdGEuc3RyZWFtID09IDAgfHwgc2VzX3B0ci0+Y2RhdGEuYWVhZCAhPSAwKSkpIHsKLSsJCWRlcnIoMCwgIk9ubHkgc3RyZWFtIG1vZGVzIGFyZSBhbGxvd2VkIGluIFNSVFAgbW9kZSAoYnV0IG5vdCBBRUFEKSIpOwotKwkJcmV0dXJuIC1FSU5WQUw7Ci0rCX0KLSAKLS0JCXJldCA9IGdldF91c2VyYnVmX3NydHAoc2VzX3B0ciwga2Nhb3AsICZhdXRoX3NnLCAmZHN0X3NnKTsKLS0JCWlmICh1bmxpa2VseShyZXQpKSB7Ci0tCQkJZGVycigxLCAiZ2V0X3VzZXJidWZfc3J0cCgpOiBFcnJvciBnZXR0aW5nIHVzZXIgcGFnZXMuIik7Ci0tCQkJcmV0dXJuIHJldDsKLS0JCX0KLSsJcmV0ID0gZ2V0X3VzZXJidWZfc3J0cChzZXNfcHRyLCBrY2FvcCwgJmF1dGhfc2csICZkc3Rfc2cpOwotKwlpZiAodW5saWtlbHkocmV0KSkgewotKwkJZGVycigxLCAiZ2V0X3VzZXJidWZfc3J0cCgpOiBFcnJvciBnZXR0aW5nIHVzZXIgcGFnZXMuIik7Ci0rCQlyZXR1cm4gcmV0OwotKwl9Ci0gCi0tCQlyZXQgPSBzcnRwX2F1dGhfbl9jcnlwdChzZXNfcHRyLCBrY2FvcCwgYXV0aF9zZywgY2FvcC0+YXV0aF9sZW4sCi0tCQkJICAgZHN0X3NnLCBjYW9wLT5sZW4pOwotKwlyZXQgPSBzcnRwX2F1dGhfbl9jcnlwdChzZXNfcHRyLCBrY2FvcCwgYXV0aF9zZywgY2FvcC0+YXV0aF9sZW4sCi0rCQkJZHN0X3NnLCBjYW9wLT5sZW4pOwotIAotLQkJcmVsZWFzZV91c2VyX3BhZ2VzKHNlc19wdHIpOwotLQl9IGVsc2UgeyAvKiBUTFMgYW5kIG5vcm1hbCBjYXNlcy4gSGVyZSBhdXRoIGRhdGEgYXJlIHVzdWFsbHkgc21hbGwKLS0JICAgICAgICAgICogc28gd2UganVzdCBjb3B5IHRoZW0gdG8gYSBmcmVlIHBhZ2UsIGluc3RlYWQgb2YgdHJ5aW5nCi0tCSAgICAgICAgICAqIHRvIG1hcCB0aGVtLgotLQkgICAgICAgICAgKi8KLS0JCXVuc2lnbmVkIGNoYXIgKmF1dGhfYnVmID0gTlVMTDsKLS0JCXN0cnVjdCBzY2F0dGVybGlzdCB0bXA7Ci0rCXJlbGVhc2VfdXNlcl9wYWdlcyhzZXNfcHRyKTsKLSAKLS0JCWlmICh1bmxpa2VseShjYW9wLT5hdXRoX2xlbiA+IFBBR0VfU0laRSkpIHsKLS0JCQlkZXJyKDEsICJhdXRoIGRhdGEgbGVuIGlzIGV4Y2Vzc2l2ZS4iKTsKLS0JCQlyZXR1cm4gLUVJTlZBTDsKLS0JCX0KLSsJcmV0dXJuIHJldDsKLSt9Ci0gCi0tCQlhdXRoX2J1ZiA9IChjaGFyICopX19nZXRfZnJlZV9wYWdlKEdGUF9LRVJORUwpOwotLQkJaWYgKHVubGlrZWx5KCFhdXRoX2J1ZikpIHsKLS0JCQlkZXJyKDEsICJ1bmFibGUgdG8gZ2V0IGEgZnJlZSBwYWdlLiIpOwotLQkJCXJldHVybiAtRU5PTUVNOwotLQkJfQotK3N0YXRpYyBpbnQgY3J5cHRvX2F1dGhfemNfdGxzKHN0cnVjdCBjc2Vzc2lvbiAqc2VzX3B0ciwgc3RydWN0IGtlcm5lbF9jcnlwdF9hdXRoX29wICprY2FvcCkKLSt7Ci0rCXN0cnVjdCBjcnlwdF9hdXRoX29wICpjYW9wID0gJmtjYW9wLT5jYW9wOwotKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKmRzdF9zZywgKmF1dGhfc2c7Ci0rCXVuc2lnbmVkIGNoYXIgKmF1dGhfYnVmID0gTlVMTDsKLSsJc3RydWN0IHNjYXR0ZXJsaXN0IHRtcDsKLSsJaW50IHJldDsKLSAKLS0JCWlmIChjYW9wLT5hdXRoX3NyYyAmJiBjYW9wLT5hdXRoX2xlbiA+IDApIHsKLS0JCQlpZiAodW5saWtlbHkoY29weV9mcm9tX3VzZXIoYXV0aF9idWYsIGNhb3AtPmF1dGhfc3JjLCBjYW9wLT5hdXRoX2xlbikpKSB7Ci0tCQkJCWRlcnIoMSwgInVuYWJsZSB0byBjb3B5IGF1dGggZGF0YSBmcm9tIHVzZXJzcGFjZS4iKTsKLS0JCQkJcmV0ID0gLUVGQVVMVDsKLS0JCQkJZ290byBmcmVlX2F1dGhfYnVmOwotLQkJCX0KLSsJaWYgKHVubGlrZWx5KHNlc19wdHItPmNkYXRhLmFlYWQgIT0gMCkpIHsKLSsJCXJldHVybiAtRUlOVkFMOwotKwl9Ci0rCi0rCWlmICh1bmxpa2VseShjYW9wLT5hdXRoX2xlbiA+IFBBR0VfU0laRSkpIHsKLSsJCWRlcnIoMSwgImF1dGggZGF0YSBsZW4gaXMgZXhjZXNzaXZlLiIpOwotKwkJcmV0dXJuIC1FSU5WQUw7Ci0rCX0KLSsKLSsJYXV0aF9idWYgPSAoY2hhciAqKV9fZ2V0X2ZyZWVfcGFnZShHRlBfS0VSTkVMKTsKLSsJaWYgKHVubGlrZWx5KCFhdXRoX2J1ZikpIHsKLSsJCWRlcnIoMSwgInVuYWJsZSB0byBnZXQgYSBmcmVlIHBhZ2UuIik7Ci0rCQlyZXR1cm4gLUVOT01FTTsKLSsJfQotIAotLQkJCXNnX2luaXRfb25lKCZ0bXAsIGF1dGhfYnVmLCBjYW9wLT5hdXRoX2xlbik7Ci0tCQkJYXV0aF9zZyA9ICZ0bXA7Ci0tCQl9IGVsc2UgewotLQkJCWF1dGhfc2cgPSBOVUxMOwotKwlpZiAoY2FvcC0+YXV0aF9zcmMgJiYgY2FvcC0+YXV0aF9sZW4gPiAwKSB7Ci0rCQlpZiAodW5saWtlbHkoY29weV9mcm9tX3VzZXIoYXV0aF9idWYsIGNhb3AtPmF1dGhfc3JjLCBjYW9wLT5hdXRoX2xlbikpKSB7Ci0rCQkJZGVycigxLCAidW5hYmxlIHRvIGNvcHkgYXV0aCBkYXRhIGZyb20gdXNlcnNwYWNlLiIpOwotKwkJCXJldCA9IC1FRkFVTFQ7Ci0rCQkJZ290byBmcmVlX2F1dGhfYnVmOwotIAkJfQotIAotLQkJaWYgKGNhb3AtPmZsYWdzICYgQ09QX0ZMQUdfQUVBRF9UTFNfVFlQRSAmJiBzZXNfcHRyLT5jZGF0YS5hZWFkID09IDApIHsKLS0JCQlyZXQgPSBnZXRfdXNlcmJ1Zl90bHMoc2VzX3B0ciwga2Nhb3AsICZkc3Rfc2cpOwotLQkJCWlmICh1bmxpa2VseShyZXQpKSB7Ci0tCQkJCWRlcnIoMSwgImdldF91c2VyYnVmX3RscygpOiBFcnJvciBnZXR0aW5nIHVzZXIgcGFnZXMuIik7Ci0tCQkJCWdvdG8gZnJlZV9hdXRoX2J1ZjsKLS0JCQl9Ci0rCQlzZ19pbml0X29uZSgmdG1wLCBhdXRoX2J1ZiwgY2FvcC0+YXV0aF9sZW4pOwotKwkJYXV0aF9zZyA9ICZ0bXA7Ci0rCX0gZWxzZSB7Ci0rCQlhdXRoX3NnID0gTlVMTDsKLSsJfQotIAotLQkJCXJldCA9IHRsc19hdXRoX25fY3J5cHQoc2VzX3B0ciwga2Nhb3AsIGF1dGhfc2csIGNhb3AtPmF1dGhfbGVuLAotLQkJCQkgICBkc3Rfc2csIGNhb3AtPmxlbik7Ci0tCQl9IGVsc2UgewotLQkJCWlmICh1bmxpa2VseShzZXNfcHRyLT5jZGF0YS5pbml0ID09IDAgfHwKLS0JCQkgICAgICAgICAgICAgKHNlc19wdHItPmNkYXRhLnN0cmVhbSA9PSAwICYmCi0tCQkJCSAgICAgIHNlc19wdHItPmNkYXRhLmFlYWQgPT0gMCkpKSB7Ci0tCQkJCWRlcnIoMCwgIk9ubHkgc3RyZWFtIGFuZCBBRUFEIGNpcGhlcnMgYXJlIGFsbG93ZWQgZm9yIGF1dGhlbmMiKTsKLS0JCQkJcmV0ID0gLUVJTlZBTDsKLS0JCQkJZ290byBmcmVlX2F1dGhfYnVmOwotLQkJCX0KLSsJcmV0ID0gZ2V0X3VzZXJidWZfdGxzKHNlc19wdHIsIGtjYW9wLCAmZHN0X3NnKTsKLSsJaWYgKHVubGlrZWx5KHJldCkpIHsKLSsJCWRlcnIoMSwgImdldF91c2VyYnVmX3RscygpOiBFcnJvciBnZXR0aW5nIHVzZXIgcGFnZXMuIik7Ci0rCQlnb3RvIGZyZWVfYXV0aF9idWY7Ci0rCX0KLSAKLS0JCQlyZXQgPSBnZXRfdXNlcmJ1ZihzZXNfcHRyLCBjYW9wLT5zcmMsIGNhb3AtPmxlbiwgY2FvcC0+ZHN0LCBrY2FvcC0+ZHN0X2xlbiwKLS0JCQkJCSAga2Nhb3AtPnRhc2ssIGtjYW9wLT5tbSwgJnNyY19zZywgJmRzdF9zZyk7Ci0tCQkJaWYgKHVubGlrZWx5KHJldCkpIHsKLS0JCQkJZGVycigxLCAiZ2V0X3VzZXJidWYoKTogRXJyb3IgZ2V0dGluZyB1c2VyIHBhZ2VzLiIpOwotLQkJCQlnb3RvIGZyZWVfYXV0aF9idWY7Ci0tCQkJfQotKwlyZXQgPSB0bHNfYXV0aF9uX2NyeXB0KHNlc19wdHIsIGtjYW9wLCBhdXRoX3NnLCBjYW9wLT5hdXRoX2xlbiwKLSsJCQlkc3Rfc2csIGNhb3AtPmxlbik7Ci0rCXJlbGVhc2VfdXNlcl9wYWdlcyhzZXNfcHRyKTsKLSsKLStmcmVlX2F1dGhfYnVmOgotKwlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpYXV0aF9idWYpOwotKwlyZXR1cm4gcmV0OwotK30KLSsKLStzdGF0aWMgaW50IGNyeXB0b19hdXRoX3pjX2FlYWQoc3RydWN0IGNzZXNzaW9uICpzZXNfcHRyLCBzdHJ1Y3Qga2VybmVsX2NyeXB0X2F1dGhfb3AgKmtjYW9wKQotK3sKLSsJc3RydWN0IHNjYXR0ZXJsaXN0ICpkc3Rfc2csICphdXRoX3NnLCAqc3JjX3NnOwotKwlzdHJ1Y3QgY3J5cHRfYXV0aF9vcCAqY2FvcCA9ICZrY2FvcC0+Y2FvcDsKLSsJdW5zaWduZWQgY2hhciAqYXV0aF9idWYgPSBOVUxMOwotKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgdG1wOwotKwlpbnQgcmV0OwotIAotLQkJCXJldCA9IGF1dGhfbl9jcnlwdChzZXNfcHRyLCBrY2FvcCwgYXV0aF9zZywgY2FvcC0+YXV0aF9sZW4sCi0tCQkJCQkgICBzcmNfc2csIGRzdF9zZywgY2FvcC0+bGVuKTsKLSsJaWYgKHVubGlrZWx5KHNlc19wdHItPmNkYXRhLmluaXQgPT0gMCB8fAotKwkJKHNlc19wdHItPmNkYXRhLnN0cmVhbSA9PSAwICYmIHNlc19wdHItPmNkYXRhLmFlYWQgPT0gMCkpKSB7Ci0rCQlkZXJyKDAsICJPbmx5IHN0cmVhbSBhbmQgQUVBRCBjaXBoZXJzIGFyZSBhbGxvd2VkIGZvciBhdXRoZW5jIik7Ci0rCQlyZXR1cm4gLUVJTlZBTDsKLSsJfQotKwotKwlpZiAodW5saWtlbHkoY2FvcC0+YXV0aF9sZW4gPiBQQUdFX1NJWkUpKSB7Ci0rCQlkZXJyKDEsICJhdXRoIGRhdGEgbGVuIGlzIGV4Y2Vzc2l2ZS4iKTsKLSsJCXJldHVybiAtRUlOVkFMOwotKwl9Ci0rCi0rCWF1dGhfYnVmID0gKGNoYXIgKilfX2dldF9mcmVlX3BhZ2UoR0ZQX0tFUk5FTCk7Ci0rCWlmICh1bmxpa2VseSghYXV0aF9idWYpKSB7Ci0rCQlkZXJyKDEsICJ1bmFibGUgdG8gZ2V0IGEgZnJlZSBwYWdlLiIpOwotKwkJcmV0dXJuIC1FTk9NRU07Ci0rCX0KLSsKLSsJaWYgKGNhb3AtPmF1dGhfc3JjICYmIGNhb3AtPmF1dGhfbGVuID4gMCkgewotKwkJaWYgKHVubGlrZWx5KGNvcHlfZnJvbV91c2VyKGF1dGhfYnVmLCBjYW9wLT5hdXRoX3NyYywgY2FvcC0+YXV0aF9sZW4pKSkgewotKwkJCWRlcnIoMSwgInVuYWJsZSB0byBjb3B5IGF1dGggZGF0YSBmcm9tIHVzZXJzcGFjZS4iKTsKLSsJCQlyZXQgPSAtRUZBVUxUOwotKwkJCWdvdG8gZnJlZV9hdXRoX2J1ZjsKLSAJCX0KLSAKLS0JCXJlbGVhc2VfdXNlcl9wYWdlcyhzZXNfcHRyKTsKLSsJCXNnX2luaXRfb25lKCZ0bXAsIGF1dGhfYnVmLCBjYW9wLT5hdXRoX2xlbik7Ci0rCQlhdXRoX3NnID0gJnRtcDsKLSsJfSBlbHNlIHsKLSsJCWF1dGhfc2cgPSBOVUxMOwotKwl9Ci0rCi0rCXJldCA9IGdldF91c2VyYnVmKHNlc19wdHIsIGNhb3AtPnNyYywgY2FvcC0+bGVuLCBjYW9wLT5kc3QsIGtjYW9wLT5kc3RfbGVuLAotKwkJCWtjYW9wLT50YXNrLCBrY2FvcC0+bW0sICZzcmNfc2csICZkc3Rfc2cpOwotKwlpZiAodW5saWtlbHkocmV0KSkgewotKwkJZGVycigxLCAiZ2V0X3VzZXJidWYoKTogRXJyb3IgZ2V0dGluZyB1c2VyIHBhZ2VzLiIpOwotKwkJZ290byBmcmVlX2F1dGhfYnVmOwotKwl9Ci0rCi0rCXJldCA9IGF1dGhfbl9jcnlwdChzZXNfcHRyLCBrY2FvcCwgYXV0aF9zZywgY2FvcC0+YXV0aF9sZW4sCi0rCQkJc3JjX3NnLCBkc3Rfc2csIGNhb3AtPmxlbik7Ci0rCi0rCXJlbGVhc2VfdXNlcl9wYWdlcyhzZXNfcHRyKTsKLSAKLSBmcmVlX2F1dGhfYnVmOgotLQkJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKWF1dGhfYnVmKTsKLSsJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKWF1dGhfYnVmKTsKLSsKLSsJcmV0dXJuIHJldDsKLSt9Ci0rCi0rc3RhdGljIGludAotK19fY3J5cHRvX2F1dGhfcnVuX3pjKHN0cnVjdCBjc2Vzc2lvbiAqc2VzX3B0ciwgc3RydWN0IGtlcm5lbF9jcnlwdF9hdXRoX29wICprY2FvcCkKLSt7Ci0rCXN0cnVjdCBjcnlwdF9hdXRoX29wICpjYW9wID0gJmtjYW9wLT5jYW9wOwotKwlpbnQgcmV0OwotKwotKwlpZiAoY2FvcC0+ZmxhZ3MgJiBDT1BfRkxBR19BRUFEX1NSVFBfVFlQRSkgewotKwkJcmV0ID0gY3J5cHRvX2F1dGhfemNfc3J0cChzZXNfcHRyLCBrY2FvcCk7Ci0rCX0gZWxzZSBpZiAoY2FvcC0+ZmxhZ3MgJiBDT1BfRkxBR19BRUFEX1RMU19UWVBFKSB7Ci0rCQlyZXQgPSBjcnlwdG9fYXV0aF96Y190bHMoc2VzX3B0ciwga2Nhb3ApOwotKwl9IGVsc2UgewotKwkJcmV0ID0gY3J5cHRvX2F1dGhfemNfYWVhZChzZXNfcHRyLCBrY2FvcCk7Ci0gCX0KLSAKLSAJcmV0dXJuIHJldDsKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvZmlsZXMvMDAwMi1yZWZhY3RvcmluZy1yZWxvY2F0ZS1jb2RlLXRvLXNpbXBsaWZ5LWxhdGVyLXBhdGNoZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2ZpbGVzLzAwMDItcmVmYWN0b3JpbmctcmVsb2NhdGUtY29kZS10by1zaW1wbGlmeS1sYXRlci1wYXRjaGVzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4M2Q5MDA1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvZmlsZXMvMDAwMi1yZWZhY3RvcmluZy1yZWxvY2F0ZS1jb2RlLXRvLXNpbXBsaWZ5LWxhdGVyLXBhdGNoZXMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2NCArMCwwIEBACi1Gcm9tIGMyYmYwZTQyYjFkOWZkYTYwY2RlNGEzYTY4Mjc4NGQzNDllZjFjMGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDcmlzdGlhbiBTdG9pY2EgPGNyaXN0aWFuLnN0b2ljYUBueHAuY29tPgotRGF0ZTogVGh1LCA0IE1heSAyMDE3IDE1OjA2OjIxICswMzAwCi1TdWJqZWN0OiBbUEFUQ0ggMi8zXSByZWZhY3RvcmluZzogcmVsb2NhdGUgY29kZSB0byBzaW1wbGlmeSBsYXRlciBwYXRjaGVzCi0KLVRoaXMgY29kZSBtb3ZlIHdpbGwgc2ltcGxpZnkgdGhlIGNvbnZlcnNpb24gdG8gbmV3IEFFQUQgaW50ZXJmYWNlIGluCi1uZXh0IHBhdGNoZXMKLQotU2lnbmVkLW9mZi1ieTogQ3Jpc3RpYW4gU3RvaWNhIDxjcmlzdGlhbi5zdG9pY2FAbnhwLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotCi1Db21taXQgSUQ6IGMyYmYwZTQyYjFkOWZkYQotCi1TaWduZWQtb2ZmLWJ5OiBIb25nemhpLlNvbmcgPGhvbmd6aGkuc29uZ0B3aW5kcml2ZXIuY29tPgotLS0tCi0gYXV0aGVuYy5jIHwgMTcgKysrKysrKysrLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvYXV0aGVuYy5jIGIvYXV0aGVuYy5jCi1pbmRleCAyOGViMGY5Li45NTcyN2I0IDEwMDY0NAotLS0tIGEvYXV0aGVuYy5jCi0rKysgYi9hdXRoZW5jLmMKLUBAIC03MTEsMTEgKzcxMSwxOCBAQCBzdGF0aWMgaW50IGNyeXB0b19hdXRoX3pjX2FlYWQoc3RydWN0IGNzZXNzaW9uICpzZXNfcHRyLCBzdHJ1Y3Qga2VybmVsX2NyeXB0X2F1dAotIAkJcmV0dXJuIC1FTk9NRU07Ci0gCX0KLSAKLSsJcmV0ID0gZ2V0X3VzZXJidWYoc2VzX3B0ciwgY2FvcC0+c3JjLCBjYW9wLT5sZW4sIGNhb3AtPmRzdCwga2Nhb3AtPmRzdF9sZW4sCi0rCQkJa2Nhb3AtPnRhc2ssIGtjYW9wLT5tbSwgJnNyY19zZywgJmRzdF9zZyk7Ci0rCWlmICh1bmxpa2VseShyZXQpKSB7Ci0rCQlkZXJyKDEsICJnZXRfdXNlcmJ1ZigpOiBFcnJvciBnZXR0aW5nIHVzZXIgcGFnZXMuIik7Ci0rCQlnb3RvIGZyZWVfYXV0aF9idWY7Ci0rCX0KLSsKLSAJaWYgKGNhb3AtPmF1dGhfc3JjICYmIGNhb3AtPmF1dGhfbGVuID4gMCkgewotIAkJaWYgKHVubGlrZWx5KGNvcHlfZnJvbV91c2VyKGF1dGhfYnVmLCBjYW9wLT5hdXRoX3NyYywgY2FvcC0+YXV0aF9sZW4pKSkgewotIAkJCWRlcnIoMSwgInVuYWJsZSB0byBjb3B5IGF1dGggZGF0YSBmcm9tIHVzZXJzcGFjZS4iKTsKLSAJCQlyZXQgPSAtRUZBVUxUOwotLQkJCWdvdG8gZnJlZV9hdXRoX2J1ZjsKLSsJCQlnb3RvIGZyZWVfcGFnZXM7Ci0gCQl9Ci0gCi0gCQlzZ19pbml0X29uZSgmdG1wLCBhdXRoX2J1ZiwgY2FvcC0+YXV0aF9sZW4pOwotQEAgLTcyNCwxNiArNzMxLDEwIEBAIHN0YXRpYyBpbnQgY3J5cHRvX2F1dGhfemNfYWVhZChzdHJ1Y3QgY3Nlc3Npb24gKnNlc19wdHIsIHN0cnVjdCBrZXJuZWxfY3J5cHRfYXV0Ci0gCQlhdXRoX3NnID0gTlVMTDsKLSAJfQotIAotLQlyZXQgPSBnZXRfdXNlcmJ1ZihzZXNfcHRyLCBjYW9wLT5zcmMsIGNhb3AtPmxlbiwgY2FvcC0+ZHN0LCBrY2FvcC0+ZHN0X2xlbiwKLS0JCQlrY2FvcC0+dGFzaywga2Nhb3AtPm1tLCAmc3JjX3NnLCAmZHN0X3NnKTsKLS0JaWYgKHVubGlrZWx5KHJldCkpIHsKLS0JCWRlcnIoMSwgImdldF91c2VyYnVmKCk6IEVycm9yIGdldHRpbmcgdXNlciBwYWdlcy4iKTsKLS0JCWdvdG8gZnJlZV9hdXRoX2J1ZjsKLS0JfQotLQotIAlyZXQgPSBhdXRoX25fY3J5cHQoc2VzX3B0ciwga2Nhb3AsIGF1dGhfc2csIGNhb3AtPmF1dGhfbGVuLAotIAkJCXNyY19zZywgZHN0X3NnLCBjYW9wLT5sZW4pOwotIAotK2ZyZWVfcGFnZXM6Ci0gCXJlbGVhc2VfdXNlcl9wYWdlcyhzZXNfcHRyKTsKLSAKLSBmcmVlX2F1dGhfYnVmOgotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9maWxlcy8wMDAzLWNvbnZlcnQtdG8tbmV3LUFFQUQtaW50ZXJmYWNlLWluLWtlcm5lbHMtdjQuMi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvZmlsZXMvMDAwMy1jb252ZXJ0LXRvLW5ldy1BRUFELWludGVyZmFjZS1pbi1rZXJuZWxzLXY0LjIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2MDIzMDcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9maWxlcy8wMDAzLWNvbnZlcnQtdG8tbmV3LUFFQUQtaW50ZXJmYWNlLWluLWtlcm5lbHMtdjQuMi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEwMiArMCwwIEBACi1Gcm9tIGE3MDUzNjAxOTcyNjBkMjg1MzU3NDZhZTk4YzQ2MWJhMmNmYjdhOWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDcmlzdGlhbiBTdG9pY2EgPGNyaXN0aWFuLnN0b2ljYUBueHAuY29tPgotRGF0ZTogVGh1LCA0IE1heSAyMDE3IDE1OjA2OjIyICswMzAwCi1TdWJqZWN0OiBbUEFUQ0ggMy8zXSBjb252ZXJ0IHRvIG5ldyBBRUFEIGludGVyZmFjZSBpbiBrZXJuZWxzIHY0LjIrCi0KLVRoZSBjcnlwdG8gQVBJIGZvciBBRUFEIGNpcGhlcnMgY2hhbmdlZCBpbiByZWNlbnQga2VybmVscyBzbyB0aGF0Ci1hc3NvY2lhdGVkIGRhdGEgaXMgbm93IHBhcnQgb2YgYm90aCBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIHNjYXR0ZXIKLWdhdGhlcnMuIFRoZSBzb3VyY2UsIGRlc3RpbmF0aW9uIGFuZCBhc3NvY2lhdGVkIGRhdGEgYnVmZmVycyBuZWVkCi10byBiZSBzdGljaGVkIGFjY29yZGluZ2x5IGZvciB0aGUgb3BlcmF0aW9ucyB0byBzdWNjZWVkOgotCi1zcmNfc2c6IGF1dGhfYnVmICsgc3JjX2J1ZgotZHN0X3NnOiBhdXRoX2J1ZiArIChkc3RfYnVmICsgdGFnIHNwYWNlKQotCi1UaGlzIHBhdGNoIGZpeGVzIGEga2VybmVsIGNyYXNoIG9ic2VydmVkIHdpdGggY2lwaGVyLWdjbSB0ZXN0LgotCi1TZWUgYWxzbyBrZXJuZWwgcGF0Y2g6IDgxYzRjMzVlYjYxYTY5YzIyOTg3MWM0OTBiMDExYzExNzE1MTFkNWEKLSAgICBjcnlwdG86IGNjbSAtIENvbnZlcnQgdG8gbmV3IEFFQUQgaW50ZXJmYWNlCi0KLVJlcG9ydGVkLWJ5OiBQaGlsIFN1dHRlciA8cGhpbEBud2wuY2M+Ci1TaWduZWQtb2ZmLWJ5OiBDcmlzdGlhbiBTdG9pY2EgPGNyaXN0aWFuLnN0b2ljYUBueHAuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0KLUNvbW1pdCBJRDogYTcwNTM2MDE5NzI2MGQyODUzNTc0Ci0KLVNpZ25lZC1vZmYtYnk6IEhvbmd6aGkuU29uZyA8aG9uZ3poaS5zb25nQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBhdXRoZW5jLmMgfCA0MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDM4IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9hdXRoZW5jLmMgYi9hdXRoZW5jLmMKLWluZGV4IDk1NzI3YjQuLjY5Mjk1MWYgMTAwNjQ0Ci0tLS0gYS9hdXRoZW5jLmMKLSsrKyBiL2F1dGhlbmMuYwotQEAgLTY4OCwxMiArNjg4LDIwIEBAIGZyZWVfYXV0aF9idWY6Ci0gCi0gc3RhdGljIGludCBjcnlwdG9fYXV0aF96Y19hZWFkKHN0cnVjdCBjc2Vzc2lvbiAqc2VzX3B0ciwgc3RydWN0IGtlcm5lbF9jcnlwdF9hdXRoX29wICprY2FvcCkKLSB7Ci0tCXN0cnVjdCBzY2F0dGVybGlzdCAqZHN0X3NnLCAqYXV0aF9zZywgKnNyY19zZzsKLSsJc3RydWN0IHNjYXR0ZXJsaXN0ICpkc3Rfc2c7Ci0rCXN0cnVjdCBzY2F0dGVybGlzdCAqc3JjX3NnOwotIAlzdHJ1Y3QgY3J5cHRfYXV0aF9vcCAqY2FvcCA9ICZrY2FvcC0+Y2FvcDsKLSAJdW5zaWduZWQgY2hhciAqYXV0aF9idWYgPSBOVUxMOwotLQlzdHJ1Y3Qgc2NhdHRlcmxpc3QgdG1wOwotIAlpbnQgcmV0OwotIAotKyNpZiAoTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oNCwgMiwgMCkpCi0rCXN0cnVjdCBzY2F0dGVybGlzdCB0bXA7Ci0rCXN0cnVjdCBzY2F0dGVybGlzdCAqYXV0aF9zZzsKLSsjZWxzZQotKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgYXV0aDFbMl07Ci0rCXN0cnVjdCBzY2F0dGVybGlzdCBhdXRoMlsyXTsKLSsjZW5kaWYKLSsKLSAJaWYgKHVubGlrZWx5KHNlc19wdHItPmNkYXRhLmluaXQgPT0gMCB8fAotIAkJKHNlc19wdHItPmNkYXRhLnN0cmVhbSA9PSAwICYmIHNlc19wdHItPmNkYXRhLmFlYWQgPT0gMCkpKSB7Ci0gCQlkZXJyKDAsICJPbmx5IHN0cmVhbSBhbmQgQUVBRCBjaXBoZXJzIGFyZSBhbGxvd2VkIGZvciBhdXRoZW5jIik7Ci1AQCAtNzE4LDYgKzcyNiw3IEBAIHN0YXRpYyBpbnQgY3J5cHRvX2F1dGhfemNfYWVhZChzdHJ1Y3QgY3Nlc3Npb24gKnNlc19wdHIsIHN0cnVjdCBrZXJuZWxfY3J5cHRfYXV0Ci0gCQlnb3RvIGZyZWVfYXV0aF9idWY7Ci0gCX0KLSAKLSsjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDQsIDIsIDApKQotIAlpZiAoY2FvcC0+YXV0aF9zcmMgJiYgY2FvcC0+YXV0aF9sZW4gPiAwKSB7Ci0gCQlpZiAodW5saWtlbHkoY29weV9mcm9tX3VzZXIoYXV0aF9idWYsIGNhb3AtPmF1dGhfc3JjLCBjYW9wLT5hdXRoX2xlbikpKSB7Ci0gCQkJZGVycigxLCAidW5hYmxlIHRvIGNvcHkgYXV0aCBkYXRhIGZyb20gdXNlcnNwYWNlLiIpOwotQEAgLTczMyw2ICs3NDIsMzMgQEAgc3RhdGljIGludCBjcnlwdG9fYXV0aF96Y19hZWFkKHN0cnVjdCBjc2Vzc2lvbiAqc2VzX3B0ciwgc3RydWN0IGtlcm5lbF9jcnlwdF9hdXQKLSAKLSAJcmV0ID0gYXV0aF9uX2NyeXB0KHNlc19wdHIsIGtjYW9wLCBhdXRoX3NnLCBjYW9wLT5hdXRoX2xlbiwKLSAJCQlzcmNfc2csIGRzdF9zZywgY2FvcC0+bGVuKTsKLSsjZWxzZQotKwlpZiAoY2FvcC0+YXV0aF9zcmMgJiYgY2FvcC0+YXV0aF9sZW4gPiAwKSB7Ci0rCQlpZiAodW5saWtlbHkoY29weV9mcm9tX3VzZXIoYXV0aF9idWYsIGNhb3AtPmF1dGhfc3JjLCBjYW9wLT5hdXRoX2xlbikpKSB7Ci0rCQkJZGVycigxLCAidW5hYmxlIHRvIGNvcHkgYXV0aCBkYXRhIGZyb20gdXNlcnNwYWNlLiIpOwotKwkJCXJldCA9IC1FRkFVTFQ7Ci0rCQkJZ290byBmcmVlX3BhZ2VzOwotKwkJfQotKwotKwkJc2dfaW5pdF90YWJsZShhdXRoMSwgMik7Ci0rCQlzZ19zZXRfYnVmKGF1dGgxLCBhdXRoX2J1ZiwgY2FvcC0+YXV0aF9sZW4pOwotKwkJc2dfY2hhaW4oYXV0aDEsIDIsIHNyY19zZyk7Ci0rCi0rCQlpZiAoc3JjX3NnID09IGRzdF9zZykgewotKwkJCXNyY19zZyA9IGF1dGgxOwotKwkJCWRzdF9zZyA9IGF1dGgxOwotKwkJfSBlbHNlIHsKLSsJCQlzZ19pbml0X3RhYmxlKGF1dGgyLCAyKTsKLSsJCQlzZ19zZXRfYnVmKGF1dGgyLCBhdXRoX2J1ZiwgY2FvcC0+YXV0aF9sZW4pOwotKwkJCXNnX2NoYWluKGF1dGgyLCAyLCBkc3Rfc2cpOwotKwkJCXNyY19zZyA9IGF1dGgxOwotKwkJCWRzdF9zZyA9IGF1dGgyOwotKwkJfQotKwl9Ci0rCi0rCXJldCA9IGF1dGhfbl9jcnlwdChzZXNfcHRyLCBrY2FvcCwgTlVMTCwgY2FvcC0+YXV0aF9sZW4sCi0rCQkJc3JjX3NnLCBkc3Rfc2csIGNhb3AtPmxlbik7Ci0rI2VuZGlmCi0gCi0gZnJlZV9wYWdlczoKLSAJcmVsZWFzZV91c2VyX3BhZ2VzKHNlc19wdHIpOwotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2tlcm4tdG9vbHMva2Vybi10b29scy1uYXRpdmVfZ2l0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2tlcm4tdG9vbHMva2Vybi10b29scy1uYXRpdmVfZ2l0LmJiCmluZGV4IGIzNTNjMjEuLjVjMWQ3ZjYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rZXJuLXRvb2xzL2tlcm4tdG9vbHMtbmF0aXZlX2dpdC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwva2Vybi10b29scy9rZXJuLXRvb2xzLW5hdGl2ZV9naXQuYmIKQEAgLTQsNyArNCw3IEBACiAKIERFUEVORFMgPSAiZ2l0LW5hdGl2ZSIKIAotU1JDUkVWID0gImQ2NTI5Zjg2ZmM1YmNiMzUxNDk1M2ZmOWZhMmY1MWEzZmJmMDNhMGYiCitTUkNSRVYgPSAiYWYxYTc3OWY2NjJjODFkYTUyMWU0ZDYwMmYzYzY0NDY1NDdkMTJhMiIKIFBSID0gInIxMiIKIFBWID0gIjAuMitnaXQke1NSQ1BWfSIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLzAwMDEta2V4ZWMtZml4LWZvci1VbmhhbmRsZWQtcmVsYS1yZWxvY2F0aW9uLVJfWDg2XzY0X1BMVC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy8wMDAxLWtleGVjLWZpeC1mb3ItVW5oYW5kbGVkLXJlbGEtcmVsb2NhdGlvbi1SX1g4Nl82NF9QTFQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUwY2NlZDUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLzAwMDEta2V4ZWMtZml4LWZvci1VbmhhbmRsZWQtcmVsYS1yZWxvY2F0aW9uLVJfWDg2XzY0X1BMVC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQxICswLDAgQEAKLUZyb20gYjlkZTIxZWY1MWE3Y2VhYjcxMjJhNzA3YzE4ODYwMmVhZTIyYzRlZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENocmlzIENsYXl0b24gPGNocmlzMjU1M0Bnb29nbGVtYWlsLmNvbT4KLURhdGU6IE1vbiwgMjAgQXVnIDIwMTggMTI6MDA6MzEgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0ga2V4ZWM6IGZpeCBmb3IgIlVuaGFuZGxlZCByZWxhIHJlbG9jYXRpb246IFJfWDg2XzY0X1BMVDMyIiBlcnJvcgotCi1JbiByZXNwb25zZSB0byBhIGNoYW5nZSBpbiBiaW51dGlscywgY29tbWl0IGIyMWViZjJmYjRjCi0oeDg2OiBUcmVhdCBSX1g4Nl82NF9QTFQzMiBhcyBSX1g4Nl82NF9QQzMyKSB3YXMgYXBwbGllZCB0bwotdGhlIGxpbnV4IGtlcm5lbCBkdXJpbmcgdGhlIDQuMTYgZGV2ZWxvcG1lbnQgY3ljbGUgYW5kIGhhcwotc2luY2UgYmVlbiBiYWNrcG9ydGVkIHRvIGVhcmxpZXIgc3RhYmxlIGtlcm5lbCBzZXJpZXMuIFRoZQotY2hhbmdlIHJlc3VsdHMgaW4gdGhlIGZhaWx1cmUgbWVzc2FnZSBpbiAkU1VCSkVDVCB3aGVuCi1yZWJvb3RpbmcgdmlhIGtleGVjLgotCi1GaXggdGhpcyBieSByZXBsaWNhdGluZyB0aGUgY2hhbmdlIGluIGtleGVjLgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0W2h0dHBzOi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS91dGlscy9rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMuZ2l0L2NvbW1pdC8/aWQ9YjlkZTIxZWY1MWE3Y2VhYjcxMjJhNzA3YzE4ODYwMmVhZTIyYzRlZV0KLQotU2lnbmVkLW9mZi1ieTogQ2hyaXMgQ2xheXRvbiA8Y2hyaXMyNTUzQGdvb2dsZW1haWwuY29tPgotQWNrZWQtYnk6IEJhb3F1YW4gSGUgPGJoZUByZWRoYXQuY29tPgotVGVzdGVkLWJ5OiBCaHVwZXNoIFNoYXJtYSA8YmhzaGFybWFAcmVkaGF0LmNvbT4KLUFja2VkLWJ5OiBCaHVwZXNoIFNoYXJtYSA8YmhzaGFybWFAcmVkaGF0LmNvbT4KLVNpZ25lZC1vZmYtYnk6IFNpbW9uIEhvcm1hbiA8aG9ybXNAdmVyZ2UubmV0LmF1PgotU2lnbmVkLW9mZi1ieTogTWluZ2xpIFl1IDxNaW5nbGkuWXVAd2luZHJpdmVyLmNvbT4KLS0tLQotIGtleGVjL2FyY2gveDg2XzY0L2tleGVjLWVsZi1yZWwteDg2XzY0LmMgfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL2tleGVjL2FyY2gveDg2XzY0L2tleGVjLWVsZi1yZWwteDg2XzY0LmMgYi9rZXhlYy9hcmNoL3g4Nl82NC9rZXhlYy1lbGYtcmVsLXg4Nl82NC5jCi1pbmRleCA3ZmRkZTczLi5kYjg1YjQ0IDEwMDY0NAotLS0tIGEva2V4ZWMvYXJjaC94ODZfNjQva2V4ZWMtZWxmLXJlbC14ODZfNjQuYwotKysrIGIva2V4ZWMvYXJjaC94ODZfNjQva2V4ZWMtZWxmLXJlbC14ODZfNjQuYwotQEAgLTc5LDYgKzc5LDcgQEAgdm9pZCBtYWNoaW5lX2FwcGx5X2VsZl9yZWwoc3RydWN0IG1lbV9laGRyICpVTlVTRUQoZWhkciksCi0gCQkJZ290byBvdmVyZmxvdzsKLSAJCWJyZWFrOwotIAljYXNlIFJfWDg2XzY0X1BDMzI6IAotKwljYXNlIFJfWDg2XzY0X1BMVDMyOgotIAkJKih1aW50MzJfdCAqKWxvY2F0aW9uID0gdmFsdWUgLSBhZGRyZXNzOwotIAkJYnJlYWs7Ci0gCWRlZmF1bHQ6Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29sc18yLjAuMTcuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHNfMi4wLjE3LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YjliNWFjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29sc18yLjAuMTcuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw4OCArMCwwIEBACi0KLVNVTU1BUlkgPSAiS2V4ZWMgZmFzdCByZWJvb3QgdG9vbHMiCi1ERVNDUklQVElPTiA9ICJLZXhlYyBpcyBhIGZhc3QgcmVib290IGZlYXR1cmUgdGhhdCBsZXRzIHlvdSByZWJvb3QgdG8gYSBuZXcgTGludXgga2VybmVsIgotQVVUSE9SID0gIkVyaWMgQmllZGVybWFuIgotSE9NRVBBR0UgPSAiaHR0cDovL2tlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL2tlcm5lbC9rZXhlYy8iCi1TRUNUSU9OID0gImtlcm5lbC91c2VybGFuZCIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lYTViZWQyZjYwZDM1NzYxOGNhMTYxYWQ1MzlmN2MwYSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9rZXhlYy9rZXhlYy5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjA7bWQ1PWFmMTBmNmFlNGE4NzE1OTY1ZTY0OGFhNjg3YWQzZTA5IgotREVQRU5EUyA9ICJ6bGliIHh6IgotCi1TUkNfVVJJID0gIiR7S0VSTkVMT1JHX01JUlJPUn0vbGludXgvdXRpbHMva2VybmVsL2tleGVjL2tleGVjLXRvb2xzLSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9rZHVtcCBcCi0gICAgICAgICAgIGZpbGU6Ly9rZHVtcC5jb25mIFwKLSAgICAgICAgICAgZmlsZTovL2tkdW1wLnNlcnZpY2UgXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1wb3dlcnBjLWNoYW5nZS10aGUtbWVtb3J5LXNpemUtbGltaXQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1wdXJnYXRvcnktUGFzcy1yLWRpcmVjdGx5LXRvLWxpbmtlci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDEwLWtleGVjLUFSTS1GaXgtYWRkX2J1ZmZlcl9waHlzX3ZpcnQtYWxpZ24taXNzdWUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8va2V4ZWMteDMyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRGlzYWJsZS1QSUUtZHVyaW5nLWxpbmsucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1rZXhlYy1maXgtZm9yLVVuaGFuZGxlZC1yZWxhLXJlbG9jYXRpb24tUl9YODZfNjRfUExULnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiOGUwNzFjYTQ3MzY5NGE3MWU0YWU2MGVkN2VmNmYzNzciCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDUwYzg3YmEwNDg2NDFlYjA1Zjk3MTdmNTU2N2FjYTU3ZjA2M2MyNjYxNDlhZTY2M2I1OGEzNGU1ODUyZGVhZiIKLQotaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLXJjLmQgc3lzdGVtZAotCi1leHBvcnQgTERGTEFHUyA9ICItTCR7U1RBR0lOR19MSUJESVJ9IgotRVhUUkFfT0VDT05GID0gIiAtLXdpdGgtemxpYj15ZXMiCi0KLWRvX2NvbXBpbGVfcHJlcGVuZCgpIHsKLSAgICAjIFJlbW92ZSB0aGUgcHJlcGFja2FnZWQgY29uZmlnLmggZnJvbSB0aGUgc291cmNlIHRyZWUgYXMgaXQgb3ZlcnJpZGVzCi0gICAgIyB0aGUgc2FtZSBmaWxlIGdlbmVyYXRlZCBieSBjb25maWd1cmUgYW5kIHBsYWNlZCBpbiB0aGUgYnVpbGQgdHJlZQotICAgIHJtIC1mICR7U30vaW5jbHVkZS9jb25maWcuaAotCi0gICAgIyBSZW1vdmUgdGhlICcqLmQnIGZpbGUgdG8gbWFrZSBzdXJlIHRoZSByZWNvbXBpbGUgaXMgT0sKLSAgICBmb3IgZGVwIGluIGBmaW5kICR7Qn0gLXR5cGUgZiAtbmFtZSAnKi5kJ2A7IGRvCi0gICAgICAgIGRlcF9ub19kPSJgZWNobyAkZGVwIHwgc2VkICdzIy5kJCMjJ2AiCi0gICAgICAgICMgUmVtb3ZlIGZpbGUuZCB3aGVuIHRoZXJlIGlzIGEgZmlsZS5vCi0gICAgICAgIGlmIFsgLWYgIiRkZXBfbm9fZC5vIiBdOyB0aGVuCi0gICAgICAgICAgICBybSAtZiAkZGVwCi0gICAgICAgIGZpCi0gICAgZG9uZQotfQotCi1kb19pbnN0YWxsX2FwcGVuZCAoKSB7Ci0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vc3lzY29uZmlnCi0gICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2tkdW1wLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vc3lzY29uZmlnCi0KLSAgICAgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0gICAgICAgICAgICAgICAgaW5zdGFsbCAtRCAtbSAwNzU1ICR7V09SS0RJUn0va2R1bXAgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2tkdW1wCi0gICAgICAgIGZpCi0KLSAgICAgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KLSAgICAgICAgICAgICAgICBpbnN0YWxsIC1EIC1tIDA3NTUgJHtXT1JLRElSfS9rZHVtcCAke0R9JHtsaWJleGVjZGlyfS9rZHVtcC1oZWxwZXIKLSAgICAgICAgICAgICAgICBpbnN0YWxsIC1EIC1tIDA2NDQgJHtXT1JLRElSfS9rZHVtcC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2tkdW1wLnNlcnZpY2UKLSAgICAgICAgICAgICAgICBzZWQgLWkgLWUgJ3MsQExJQkVYRUNESVJALCR7bGliZXhlY2Rpcn0sZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0va2R1bXAuc2VydmljZQotICAgICAgICBmaQotfQotCi1QQUNLQUdFUyA9KyAia2V4ZWMga2R1bXAgdm1jb3JlLWRtZXNnIgotCi1BTExPV19FTVBUWV8ke1BOfSA9ICIxIgotUlJFQ09NTUVORFNfJHtQTn0gPSAia2V4ZWMga2R1bXAgdm1jb3JlLWRtZXNnIgotCi1GSUxFU19rZXhlYyA9ICIke3NiaW5kaXJ9L2tleGVjIgotRklMRVNfa2R1bXAgPSAiJHtzYmluZGlyfS9rZHVtcCBcCi0gICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3N5c2NvbmZpZy9rZHVtcC5jb25mIFwKLSAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vaW5pdC5kL2tkdW1wIFwKLSAgICAgICAgICAgICAgICR7bGliZXhlY2Rpcn0va2R1bXAtaGVscGVyIFwKLSAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0va2R1bXAuc2VydmljZSBcCi0iCi0KLUZJTEVTX3ZtY29yZS1kbWVzZyA9ICIke3NiaW5kaXJ9L3ZtY29yZS1kbWVzZyIKLQotSU5JVFNDUklQVF9QQUNLQUdFUyA9ICJrZHVtcCIKLUlOSVRTQ1JJUFRfTkFNRV9rZHVtcCA9ICJrZHVtcCIKLUlOSVRTQ1JJUFRfUEFSQU1TX2tkdW1wID0gInN0YXJ0IDU2IDIgMyA0IDUgLiBzdG9wIDU2IDAgMSA2IC4iCi0KLVNZU1RFTURfUEFDS0FHRVMgPSAia2R1bXAiCi1TWVNURU1EX1NFUlZJQ0Vfa2R1bXAgPSAia2R1bXAuc2VydmljZSIKLQotU0VDVVJJVFlfUElFX0NGTEFHU19yZW1vdmUgPSAiLWZQSUUgLXBpZSIKLQotQ09NUEFUSUJMRV9IT1NUID0gJyh4ODZfNjQuKnxpLjg2Lip8YXJtLip8YWFyY2g2NC4qfHBvd2VycGMuKnxtaXBzLiopLShsaW51eHxmcmVlYnNkLiopJwotCi1JTlNBTkVfU0tJUF8ke1BOfSA9ICJhcmNoIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzXzIuMC4xOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29sc18yLjAuMTkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjY1Y2Q5ZgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29sc18yLjAuMTkuYmIKQEAgLTAsMCArMSw4NyBAQAorCitTVU1NQVJZID0gIktleGVjIGZhc3QgcmVib290IHRvb2xzIgorREVTQ1JJUFRJT04gPSAiS2V4ZWMgaXMgYSBmYXN0IHJlYm9vdCBmZWF0dXJlIHRoYXQgbGV0cyB5b3UgcmVib290IHRvIGEgbmV3IExpbnV4IGtlcm5lbCIKK0FVVEhPUiA9ICJFcmljIEJpZWRlcm1hbiIKK0hPTUVQQUdFID0gImh0dHA6Ly9rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy9rZXJuZWwva2V4ZWMvIgorU0VDVElPTiA9ICJrZXJuZWwvdXNlcmxhbmQiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZWE1YmVkMmY2MGQzNTc2MThjYTE2MWFkNTM5ZjdjMGEgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8va2V4ZWMva2V4ZWMuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTIwO21kNT1hZjEwZjZhZTRhODcxNTk2NWU2NDhhYTY4N2FkM2UwOSIKK0RFUEVORFMgPSAiemxpYiB4eiIKKworU1JDX1VSSSA9ICIke0tFUk5FTE9SR19NSVJST1J9L2xpbnV4L3V0aWxzL2tlcm5lbC9rZXhlYy9rZXhlYy10b29scy0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8va2R1bXAgXAorICAgICAgICAgICBmaWxlOi8va2R1bXAuY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly9rZHVtcC5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItcG93ZXJwYy1jaGFuZ2UtdGhlLW1lbW9yeS1zaXplLWxpbWl0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtcHVyZ2F0b3J5LVBhc3Mtci1kaXJlY3RseS10by1saW5rZXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxMC1rZXhlYy1BUk0tRml4LWFkZF9idWZmZXJfcGh5c192aXJ0LWFsaWduLWlzc3VlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2tleGVjLXgzMi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLURpc2FibGUtUElFLWR1cmluZy1saW5rLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMDUyNDU4ZjBhMzVjMmEzYjBkMjMwMmNhYTMzMThlOWYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTEzYzhkZWU5MThlNTg1NWE0YmE2MGQ2MDkzNzEzOTA5NzgxNDRiNGM4ZDE1ZDY0NDZjYTAwNTdiN2JjNWU1OCIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLXJjLmQgc3lzdGVtZAorCitleHBvcnQgTERGTEFHUyA9ICItTCR7U1RBR0lOR19MSUJESVJ9IgorRVhUUkFfT0VDT05GID0gIiAtLXdpdGgtemxpYj15ZXMiCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICAjIFJlbW92ZSB0aGUgcHJlcGFja2FnZWQgY29uZmlnLmggZnJvbSB0aGUgc291cmNlIHRyZWUgYXMgaXQgb3ZlcnJpZGVzCisgICAgIyB0aGUgc2FtZSBmaWxlIGdlbmVyYXRlZCBieSBjb25maWd1cmUgYW5kIHBsYWNlZCBpbiB0aGUgYnVpbGQgdHJlZQorICAgIHJtIC1mICR7U30vaW5jbHVkZS9jb25maWcuaAorCisgICAgIyBSZW1vdmUgdGhlICcqLmQnIGZpbGUgdG8gbWFrZSBzdXJlIHRoZSByZWNvbXBpbGUgaXMgT0sKKyAgICBmb3IgZGVwIGluIGBmaW5kICR7Qn0gLXR5cGUgZiAtbmFtZSAnKi5kJ2A7IGRvCisgICAgICAgIGRlcF9ub19kPSJgZWNobyAkZGVwIHwgc2VkICdzIy5kJCMjJ2AiCisgICAgICAgICMgUmVtb3ZlIGZpbGUuZCB3aGVuIHRoZXJlIGlzIGEgZmlsZS5vCisgICAgICAgIGlmIFsgLWYgIiRkZXBfbm9fZC5vIiBdOyB0aGVuCisgICAgICAgICAgICBybSAtZiAkZGVwCisgICAgICAgIGZpCisgICAgZG9uZQorfQorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vc3lzY29uZmlnCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2tkdW1wLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vc3lzY29uZmlnCisKKyAgICAgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgICAgICAgICAgaW5zdGFsbCAtRCAtbSAwNzU1ICR7V09SS0RJUn0va2R1bXAgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2tkdW1wCisgICAgICAgIGZpCisKKyAgICAgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgICAgICAgICBpbnN0YWxsIC1EIC1tIDA3NTUgJHtXT1JLRElSfS9rZHVtcCAke0R9JHtsaWJleGVjZGlyfS9rZHVtcC1oZWxwZXIKKyAgICAgICAgICAgICAgICBpbnN0YWxsIC1EIC1tIDA2NDQgJHtXT1JLRElSfS9rZHVtcC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2tkdW1wLnNlcnZpY2UKKyAgICAgICAgICAgICAgICBzZWQgLWkgLWUgJ3MsQExJQkVYRUNESVJALCR7bGliZXhlY2Rpcn0sZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0va2R1bXAuc2VydmljZQorICAgICAgICBmaQorfQorCitQQUNLQUdFUyA9KyAia2V4ZWMga2R1bXAgdm1jb3JlLWRtZXNnIgorCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorUlJFQ09NTUVORFNfJHtQTn0gPSAia2V4ZWMga2R1bXAgdm1jb3JlLWRtZXNnIgorCitGSUxFU19rZXhlYyA9ICIke3NiaW5kaXJ9L2tleGVjIgorRklMRVNfa2R1bXAgPSAiJHtzYmluZGlyfS9rZHVtcCBcCisgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3N5c2NvbmZpZy9rZHVtcC5jb25mIFwKKyAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vaW5pdC5kL2tkdW1wIFwKKyAgICAgICAgICAgICAgICR7bGliZXhlY2Rpcn0va2R1bXAtaGVscGVyIFwKKyAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0va2R1bXAuc2VydmljZSBcCisiCisKK0ZJTEVTX3ZtY29yZS1kbWVzZyA9ICIke3NiaW5kaXJ9L3ZtY29yZS1kbWVzZyIKKworSU5JVFNDUklQVF9QQUNLQUdFUyA9ICJrZHVtcCIKK0lOSVRTQ1JJUFRfTkFNRV9rZHVtcCA9ICJrZHVtcCIKK0lOSVRTQ1JJUFRfUEFSQU1TX2tkdW1wID0gInN0YXJ0IDU2IDIgMyA0IDUgLiBzdG9wIDU2IDAgMSA2IC4iCisKK1NZU1RFTURfUEFDS0FHRVMgPSAia2R1bXAiCitTWVNURU1EX1NFUlZJQ0Vfa2R1bXAgPSAia2R1bXAuc2VydmljZSIKKworU0VDVVJJVFlfUElFX0NGTEFHU19yZW1vdmUgPSAiLWZQSUUgLXBpZSIKKworQ09NUEFUSUJMRV9IT1NUID0gJyh4ODZfNjQuKnxpLjg2Lip8YXJtLip8YWFyY2g2NC4qfHBvd2VycGMuKnxtaXBzLiopLShsaW51eHxmcmVlYnNkLiopJworCitJTlNBTkVfU0tJUF8ke1BOfSA9ICJhcmNoIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2ttb2Qva21vZC1uYXRpdmVfZ2l0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2ttb2Qva21vZC1uYXRpdmVfZ2l0LmJiCmluZGV4IGYwZTI3NGUuLmY2MTEzNGIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rbW9kL2ttb2QtbmF0aXZlX2dpdC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwva21vZC9rbW9kLW5hdGl2ZV9naXQuYmIKQEAgLTcsOSArNyw2IEBACiAKIGluaGVyaXQgbmF0aXZlCiAKLVNSQ19VUkkgKz0gImZpbGU6Ly9DaGFuZ2UtdG8tY2FsbGluZy1ic3dhcF8taW5zdGVhZC1vZi1odG9iZS1hbmQtYmUtdG9oLnBhdGNoIFwKLSAgICAgICAgICAgIgotCiBkb19pbnN0YWxsX2FwcGVuZCAoKXsKIAlmb3IgdG9vbCBpbiBkZXBtb2QgaW5zbW9kIGxzbW9kIG1vZGluZm8gbW9kcHJvYmUgcm1tb2QKIAlkbwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2ttb2Qva21vZC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwva21vZC9rbW9kLmluYwppbmRleCAyOTg4NWZiLi5lNjg4NjBmIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwva21vZC9rbW9kLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwva21vZC9rbW9kLmluYwpAQCAtMTQsMTQgKzE0LDEzIEBACiAgICAgICAgICAgICAgICAgICAgIgogaW5oZXJpdCBhdXRvdG9vbHMgZ3RrLWRvYyBwa2djb25maWcgbWFucGFnZXMKIAotU1JDUkVWID0gImFjYTRlY2ExMDNkNjY5OTU0M2Y3ZWQ2NjMzMzVjMjhjMmU5OTA4YmIiCitTUkNSRVYgPSAiNTgxMzNhOTZjODk0YzA0M2U0OGM3NGRkZjBiZmU4ZGI5MGJhYzYyZiIKICMgTG9va291dCBmb3IgUFYgYnVtcCB0b28gd2hlbiBTUkNSRVYgaXMgY2hhbmdlZAotUFYgPSAiMjUrZ2l0JHtTUkNQVn0iCitQViA9ICIyNiIKIAogU1JDX1VSSSA9ICJnaXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL3V0aWxzL2tlcm5lbC9rbW9kL2ttb2QuZ2l0IFwKICAgICAgICAgICAgZmlsZTovL2RlcG1vZC1zZWFyY2guY29uZiBcCiAgICAgICAgICAgIGZpbGU6Ly9hdm9pZF9wYXJhbGxlbF90ZXN0cy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9maXgtT19DTE9FWEVDLnBhdGNoIFwKICAgICAgICAgICAiCiAKIFMgPSAiJHtXT1JLRElSfS9naXQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwva21vZC9rbW9kL0NoYW5nZS10by1jYWxsaW5nLWJzd2FwXy1pbnN0ZWFkLW9mLWh0b2JlLWFuZC1iZS10b2gucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwva21vZC9rbW9kL0NoYW5nZS10by1jYWxsaW5nLWJzd2FwXy1pbnN0ZWFkLW9mLWh0b2JlLWFuZC1iZS10b2gucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI3MjIxODMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2ttb2Qva21vZC9DaGFuZ2UtdG8tY2FsbGluZy1ic3dhcF8taW5zdGVhZC1vZi1odG9iZS1hbmQtYmUtdG9oLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotU3ViamVjdDogQ2hhbmdlIHRvIGNhbGxpbmcgYnN3YXBfKiBpbnN0ZWFkIG9mIGh0b2JlKiBhbmQgYmUqdG9oCi0KLVdlIGNhbid0IHVzZSBodG9iZSogYW5kIGJlKnRvaCBmdW5jdGlvbnMgYmVjYXVzZSB0aGV5IGFyZSBub3QKLWF2YWlsYWJsZSBvbiBvbGRlciB2ZXJzaW9ucyBvZiBnbGliYywgRm9yIGV4YW1wbGUsIHNoaXBwZWQgb24gQ2VudG9zIDUuNS4KLQotQ2hhbmdlIHRvIGRpcmVjdGx5IGNhbGxpbmcgYnN3YXBfKiBhcyBkZWZpbmVkIGluK2J5dGVzd2FwLmguCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZQotCi1TaWduZWQtb2ZmLWJ5OiBUaW5nIExpdSA8YjI4NDk1QGZyZWVzY2FsZS5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBsaWJrbW9kL2xpYmttb2Qtc2lnbmF0dXJlLmMgfCAzICsrLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2xpYmttb2QvbGlia21vZC1zaWduYXR1cmUuYyBiL2xpYmttb2QvbGlia21vZC1zaWduYXR1cmUuYwotaW5kZXggNmZjMDZmYy4uOTEyMTg1YSAxMDA2NDQKLS0tLSBhL2xpYmttb2QvbGlia21vZC1zaWduYXR1cmUuYwotKysrIGIvbGlia21vZC9saWJrbW9kLXNpZ25hdHVyZS5jCi1AQCAtMTgsNiArMTgsNyBAQAotICAqLwotIAotICNpbmNsdWRlIDxlbmRpYW4uaD4KLSsjaW5jbHVkZSA8Ynl0ZXN3YXAuaD4KLSAjaW5jbHVkZSA8aW50dHlwZXMuaD4KLSAjaW5jbHVkZSA8c3RkaW8uaD4KLSAjaW5jbHVkZSA8c3RkbGliLmg+Ci1AQCAtMTI3LDcgKzEyOCw3IEBAIGJvb2wga21vZF9tb2R1bGVfc2lnbmF0dXJlX2luZm8oY29uc3Qgc3RydWN0IGttb2RfZmlsZSAqZmlsZSwgc3RydWN0IGttb2Rfc2lnbmF0Ci0gCQkJbW9kc2lnLT5oYXNoID49IFBLRVlfSEFTSF9fTEFTVCB8fAotIAkJCW1vZHNpZy0+aWRfdHlwZSA+PSBQS0VZX0lEX1RZUEVfX0xBU1QpCi0gCQlyZXR1cm4gZmFsc2U7Ci0tCXNpZ19sZW4gPSBiZTMydG9oKGdldF91bmFsaWduZWQoJm1vZHNpZy0+c2lnX2xlbikpOwotKwlzaWdfbGVuID0gYnN3YXBfMzIoZ2V0X3VuYWxpZ25lZCgmbW9kc2lnLT5zaWdfbGVuKSk7Ci0gCWlmIChzaWdfbGVuID09IDAgfHwKLSAJICAgIHNpemUgPCAoaW50NjRfdCkobW9kc2lnLT5zaWduZXJfbGVuICsgbW9kc2lnLT5rZXlfaWRfbGVuICsgc2lnX2xlbikpCi0gCQlyZXR1cm4gZmFsc2U7Ci0tLSAKLTEuOS4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rbW9kL2ttb2QvYXZvaWRfcGFyYWxsZWxfdGVzdHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwva21vZC9rbW9kL2F2b2lkX3BhcmFsbGVsX3Rlc3RzLnBhdGNoCmluZGV4IDVmNDVmY2UuLjk5MGMzMzggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rbW9kL2ttb2QvYXZvaWRfcGFyYWxsZWxfdGVzdHMucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2ttb2Qva21vZC9hdm9pZF9wYXJhbGxlbF90ZXN0cy5wYXRjaApAQCAtMSwzICsxLDggQEAKK0Zyb20gYmU2ZjgyYzU0ZjY5NDYxN2M2NDZjYTFmOGI1YmNmOTM2OTRlMjBhZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFR1ZG9yIEZsb3JlYSA8dHVkb3IuZmxvcmVhQGVuZWEuY29tPgorRGF0ZTogRnJpLCA2IFNlcCAyMDEzIDIxOjExOjU3ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIGttb2Q6IGF2b2lkIHBhcmFsbGVsLXRlc3RzCisKIEF2b2lkIHBhcmFsbGVsLXRlc3RzIGFzIGl0IHJlbW92ZQogYnVpbGR0ZXN0LVRFU1RTIGFuZCBydW50ZXN0LVRFU1RTIHRhcmdldHMgcmVxdWlyZWQgYnkgcHRlc3QuCiBJbiBhdXRvbWFrZSAxLjEzLjQgcGFyYWxsZWwtdGVzdHMgaXMgYXNzdW1lZCBieSBkZWZhdWxzLgpAQCAtNSwxNiArMTAsMTYgQEAKIHNlcmlhbC10ZXN0cyBpcyBub3cgcmVxdWlyZWQKIAogU2lnbmVkLW9mZi1ieTogVHVkb3IgRmxvcmVhIDx0dWRvci5mbG9yZWFAZW5lYS5jb20+Ci1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgKGRpc2FibGUgZmVhdHVyZSBpbmNvbXBhdGlibGUgd2l0aCBwdGVzdCkgCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgKGRpc2FibGUgZmVhdHVyZSBpbmNvbXBhdGlibGUgd2l0aCBwdGVzdCkKIAogLS0tCiAgY29uZmlndXJlLmFjIHwgMiArLQogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCi1JbmRleDogZ2l0L2NvbmZpZ3VyZS5hYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdpdC5vcmlnL2NvbmZpZ3VyZS5hYwotKysrIGdpdC9jb25maWd1cmUuYWMKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IGVlNzIyODMuLjYwOTgwYzAgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYwogQEAgLTE0LDcgKzE0LDcgQEAgQUNfVVNFX1NZU1RFTV9FWFRFTlNJT05TCiAgQUNfU1lTX0xBUkdFRklMRQogIEFDX1BSRUZJWF9ERUZBVUxUKFsvdXNyXSkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rbW9kL2ttb2QvZml4LU9fQ0xPRVhFQy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rbW9kL2ttb2QvZml4LU9fQ0xPRVhFQy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWQ5ZDQwYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwva21vZC9rbW9kL2ZpeC1PX0NMT0VYRUMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1Gcm9tIGJkNDMzNjdlZWU4NjgwNTk3NzAxODhmZDllOWRiMzg1MjBkYzZmZmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KLURhdGU6IFdlZCwgMjIgSmFuIDIwMTQgMDE6MDY6NDAgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSF0gbGlia21vZC9saWJrbW9kLWludGVybmFsLmg6IGNoZWNrIHdoZXRoZXIgT19DTE9FWEVDIGlzCi0gZGVmaW5lZCBvciBub3QKLQotT19DTE9FWEVDIGlzIGludHJvZHVjZWQgZnJvbSBMaW51eCAyLjYuMjMsIHNvIG9sZCBrZXJuZWwgZG9lc24ndCBoYXZlCi1pdCwgd2UgbmVlZCBjaGVjayBiZWZvcmUgdXNlLgotCi1UaGlzIHBhdGNoIGlzIG11Y2ggbW9yZSBsaWtlIGEgd29ya2Fyb3VuZCwgc2luY2UgaXQgbWF5IG5lZWQgZmNudGwoKSB1c2UKLUZEX0NMT0VYRUMgdG8gcmVwbGFjZS4KLQotVGhpcyBwcm9ibGVtIHdhcyByZXBvcnRlZCBieSAiVGluZyBMaXUgPGIyODQ5NUBmcmVlc2NhbGUuY29tPiIKLVNpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGxpYmttb2QvbGlia21vZC1pbnRlcm5hbC5oIHwgICAgNCArKysrCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQotCi1JbmRleDogZ2l0L2xpYmttb2QvbGlia21vZC1pbnRlcm5hbC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvbGlia21vZC9saWJrbW9kLWludGVybmFsLmgKLSsrKyBnaXQvbGlia21vZC9saWJrbW9kLWludGVybmFsLmgKLUBAIC0xMCw2ICsxMCwxMCBAQAotIAotICNpbmNsdWRlICJsaWJrbW9kLmgiCi0gCi0rI2lmbmRlZiBPX0NMT0VYRUMKLSsjZGVmaW5lIE9fQ0xPRVhFQyAwCi0rI2VuZGlmCi0rCi0gc3RhdGljIF9hbHdheXNfaW5saW5lXyBfcHJpbnRmX2Zvcm1hdF8oMiwgMykgdm9pZAotIAlrbW9kX2xvZ19udWxsKHN0cnVjdCBrbW9kX2N0eCAqY3R4LCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikge30KLSAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC1maXJtd2FyZS9saW51eC1maXJtd2FyZV9naXQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgtZmlybXdhcmUvbGludXgtZmlybXdhcmVfZ2l0LmJiCmluZGV4IGZkZjhmMTkuLmFkN2JhYmYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC1maXJtd2FyZS9saW51eC1maXJtd2FyZV9naXQuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4LWZpcm13YXJlL2xpbnV4LWZpcm13YXJlX2dpdC5iYgpAQCAtMTIyLDcgKzEyMiw3IEBACiAgICAgZmlsZTovL0xJQ0VOQ0UueGM0MDAwO21kNT0wZmY1MWQyZGM0OWZjZTA0ODE0YzkxNTUwODEwOTJmMCBcCiAgICAgZmlsZTovL0xJQ0VOQ0UueGM1MDAwO21kNT0xZTE3MGMxMzE3NTMyM2MzMmM3ZjRkMDk5OGQ1M2Y2NiBcCiAgICAgZmlsZTovL0xJQ0VOQ0UueGM1MDAwYzttZDU9MTJiMDJlZmEzMDQ5ZGI2NWQ1MjRhZWI0MThkZDg3Y2EgXAotICAgIGZpbGU6Ly9XSEVOQ0U7bWQ1PTY2YWJmMGZiNjliMDlkNmYzZDJkYjYwODg1OTRjODA4IFwKKyAgICBmaWxlOi8vV0hFTkNFO21kNT1lZjM2ZDMzODNiZWNkMThmMzZjZTMyZDg0MTA5Mzg2ZiBcCiAiCiAKICMgVGhlc2UgYXJlIG5vdCBjb21tb24gbGljZW5zZXMsIHNldCBOT19HRU5FUklDX0xJQ0VOU0UgZm9yIHRoZW0KQEAgLTE4OCw3ICsxODgsNyBAQAogTk9fR0VORVJJQ19MSUNFTlNFW0Zpcm13YXJlLXhjNTAwMGNdID0gIkxJQ0VOQ0UueGM1MDAwYyIKIE5PX0dFTkVSSUNfTElDRU5TRVtXSEVOQ0VdID0gIldIRU5DRSIKIAotU1JDUkVWID0gIjcxMDk2M2ZlNTNlZTNmMjI3NTU2ZDM2ODM5ZGYzODU4ZGFmNmUyMzIiCitTUkNSRVYgPSAiN2JjMjQ2NDUxMzE4YjM1MzZkOWJmZDNjNGU0NmQ1NDFhOTgzMWIzMyIKIFBFID0gIjEiCiBQViA9ICIwLjArZ2l0JHtTUkNQVn0iCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC1saWJjLWhlYWRlcnMvbGludXgtbGliYy1oZWFkZXJzLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC1saWJjLWhlYWRlcnMvbGludXgtbGliYy1oZWFkZXJzLmluYwppbmRleCBiZTIxNWFmLi43ZjgzOGY2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgtbGliYy1oZWFkZXJzL2xpbnV4LWxpYmMtaGVhZGVycy5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4LWxpYmMtaGVhZGVycy9saW51eC1saWJjLWhlYWRlcnMuaW5jCkBAIC0zOCw2ICszOCw4IEBACiAgICAgICAgIGQuc2V0VmFyKCJIRUFERVJfRkVUQ0hfVkVSIiwgIjMuMCIpCiAgICAgZWxpZiBtYWpvciA9PSAiNCI6CiAgICAgICAgIGQuc2V0VmFyKCJIRUFERVJfRkVUQ0hfVkVSIiwgIjQueCIpCisgICAgZWxpZiBtYWpvciA9PSAiNSI6CisgICAgICAgIGQuc2V0VmFyKCJIRUFERVJfRkVUQ0hfVkVSIiwgIjUueCIpCiAgICAgZWxzZToKICAgICAgICAgZC5zZXRWYXIoIkhFQURFUl9GRVRDSF9WRVIiLCAiMi42IikKIH0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC1saWJjLWhlYWRlcnMvbGludXgtbGliYy1oZWFkZXJzLzAwMDEta2J1aWxkLWluc3RhbGxfaGVhZGVycy5zaC1TdHJpcC1fVUFQSS1mcm9tLWlmLWRlZmluZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC1saWJjLWhlYWRlcnMvbGludXgtbGliYy1oZWFkZXJzLzAwMDEta2J1aWxkLWluc3RhbGxfaGVhZGVycy5zaC1TdHJpcC1fVUFQSS1mcm9tLWlmLWRlZmluZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OGViZDMxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4LWxpYmMtaGVhZGVycy9saW51eC1saWJjLWhlYWRlcnMvMDAwMS1rYnVpbGQtaW5zdGFsbF9oZWFkZXJzLnNoLVN0cmlwLV9VQVBJLWZyb20taWYtZGVmaW5lLnBhdGNoCkBAIC0wLDAgKzEsNDEgQEAKK0Zyb20gOWNhNmM2YTUxMGJkYTkwOTU0YWEyNTMyNzExMjAwYjg5ZGQxZGY4OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IERhdmUgTWFydGluIDxEYXZlLk1hcnRpbkBhcm0uY29tPgorRGF0ZTogVHVlLCAxMSBEZWMgMjAxOCAxOToyNjo0NSArMDAwMAorU3ViamVjdDogW1BBVENIIDEvM10ga2J1aWxkOiBpbnN0YWxsX2hlYWRlcnMuc2g6IFN0cmlwIF9VQVBJIGZyb20KKyAjaWYtZGVmaW5lZCgpIGd1YXJkcworCitpbnN0YWxsX2hlYWRlcnMuc2gga25vd3MgaG93IHRvIHN0cmlwIHRoZSBfVUFQSSBwcmVmaXggZnJvbSAjaWZkZWYvCitpZm5kZWYgYW5kICNkZWZpbmUgZGlyZWN0aXZlcyB1c2VkIHRvIGd1YXJkIGhlYWRlcnMgYWdhaW5zdCBtdWx0aXBsZQorb3IgaW5hcHByb3ByaWF0ZSBpbmNsdXNpb24uICBDdXJyZW50bHkgdGhpcyBkb2VzIG5vdCB3b3JrIGZvciBndWFyZHMKK2luIHRoZSAiI2lmIGRlZmluZWQoKSIgc3R5bGUsIHdoaWNoIG1heSBiZSBuZWVkZWQgZm9yIG5vbi10cml2aWFsCitjYXNlcy4KKworVGhpcyBwYXRjaCBhZGRzIHNpbWlsYXIgbG9naWMgc28gdGhhdCB0aGUgX1VBUEkgcHJlZml4IGlzIGFsc28KK3N0cmlwcGVkIGZyb20gZ3VhcmQgZGlyZWN0aXZlcyB3cml0dGVuIHVzaW5nICIjaWYgZGVmaW5lZCgpIiBldGMuCisKK1RoaXMgaXMgbm90IGNvbXBsZXRlbHkgZm9vbHByb29mLCBidXQgd2lsbCB3b3JrIGZvciBzaW1wbGUgY2FzZXMgb2YKK3VzaW5nICNpZiBkZWZpbmVkKCkgdG8gZ3VhcmQgYWdhaW5zdCBpbmFwcHJvcHJpYXRlIGhlYWRlciBpbmNsdXNpb24uCisKK1NpZ25lZC1vZmYtYnk6IERhdmUgTWFydGluIDxEYXZlLk1hcnRpbkBhcm0uY29tPgorU2lnbmVkLW9mZi1ieTogQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQHdpbmRyaXZlci5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL3d3dy5zcGluaWNzLm5ldC9saXN0cy9hcm0ta2VybmVsL21zZzY5NDgwMC5odG1sXQorLS0tCisgc2NyaXB0cy9oZWFkZXJzX2luc3RhbGwuc2ggfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL3NjcmlwdHMvaGVhZGVyc19pbnN0YWxsLnNoIGIvc2NyaXB0cy9oZWFkZXJzX2luc3RhbGwuc2gKK2luZGV4IDU5M2Y4ODc5YzY0MS4uZmUxZDNmYzBkMzNhIDEwMDc1NQorLS0tIGEvc2NyaXB0cy9oZWFkZXJzX2luc3RhbGwuc2gKKysrKyBiL3NjcmlwdHMvaGVhZGVyc19pbnN0YWxsLnNoCitAQCAtMzgsNiArMzgsNyBAQCBkbworIAkJLWUgJ3MvKF58W15hLXpBLVowLTldKV9fcGFja2VkKFteYS16QS1aMC05X118JCkvXDFfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKVwyL2cnIFwKKyAJCS1lICdzLyhefFtbOnNwYWNlOl0oXSkoaW5saW5lfGFzbXx2b2xhdGlsZSkoW1s6c3BhY2U6XShdfCQpL1wxX19cMl9fXDMvZycgXAorIAkJLWUgJ3NAIyhpZm5kZWZ8ZGVmaW5lfGVuZGlmW1s6c3BhY2U6XV0qL1sqXSlbWzpzcGFjZTpdXSpfVUFQSUAjXDEgQCcgXAorKwkJLWUgJzoxO3MvKCMoaWZ8ZWxpZikoLipbXkEtWmEtejAtOV9dKWRlZmluZWRcKFtbOnNwYWNlOl1dKilfVUFQSS9cMS87dDEnIFwKKyAJCSIkU1JDRElSLyRpIiA+ICIkT1VURElSLyRGSUxFLnNlZCIgfHwgZXhpdCAxCisgCXNjcmlwdHMvdW5pZmRlZiAtVV9fS0VSTkVMX18gLURfX0VYUE9SVEVEX0hFQURFUlNfXyAiJE9VVERJUi8kRklMRS5zZWQiIFwKKyAJCT4gIiRPVVRESVIvJEZJTEUiCistLSAKKzIuNS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC1saWJjLWhlYWRlcnMvbGludXgtbGliYy1oZWFkZXJzLzAwMDEtc2NyaXB0cy1Vc2UtZml4ZWQtaW5wdXQtYW5kLW91dHB1dC1maWxlcy1pbnN0ZWFkLW9mLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC1saWJjLWhlYWRlcnMvbGludXgtbGliYy1oZWFkZXJzLzAwMDEtc2NyaXB0cy1Vc2UtZml4ZWQtaW5wdXQtYW5kLW91dHB1dC1maWxlcy1pbnN0ZWFkLW9mLS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNWRlZDYwCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4LWxpYmMtaGVhZGVycy9saW51eC1saWJjLWhlYWRlcnMvMDAwMS1zY3JpcHRzLVVzZS1maXhlZC1pbnB1dC1hbmQtb3V0cHV0LWZpbGVzLWluc3RlYWQtb2YtLnBhdGNoCkBAIC0wLDAgKzEsNjcgQEAKK0Zyb20gNjk0ZWJhN2JiOTc0ZjZiOGJkMzA4ODA0Y2IyNDM1MDE1MDEwOGIyYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEhlIFpoZSA8emhlLmhlQHdpbmRyaXZlci5jb20+CitEYXRlOiBXZWQsIDIxIE5vdiAyMDE4IDE1OjEyOjQzICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIHNjcmlwdHM6IFVzZSBmaXhlZCBpbnB1dCBhbmQgb3V0cHV0IGZpbGVzIGluc3RlYWQgb2YgcGlwZSBmb3IgaGVyZS1kb2MKKworVGhlcmUgd2FzIGEgYnVnIG9mICJhcyIgaW4gYmludXRpbHMgdGhhdCB3aGVuIGl0IGNoZWNrcyBpZiB0aGUgaW5wdXQgZmlsZSBhbmQKK291dHB1dCBmaWxlIGFyZSB0aGUgc2FtZSBvbmUsIGl0IHdvdWxkIG5vdCBjaGVjayBpZiB0aGV5IGFyZSBvbiB0aGUgc2FtZSBibG9jaworZGV2aWNlLiBUaGUgY2hlY2sgaXMgaW50cm9kdWNlZCBieSB0aGUgZm9sbG93aW5nIGNvbW1pdCBpbiB2Mi4zMS4KKworaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9naXQvZ2l0d2ViLmNnaT9wPWJpbnV0aWxzLWdkYi5naXQ7YT1jb21taXQ7aD0KKzY3Zjg0NmI1OWIzMmYzZDcwNGM2MDE2Njk0MDljMjU4NDM4M2ZlYTkKKworVGhlIGhlcmUtZG9jIHVzYWdlIGluIHRoaXMgc2NyaXB0IGNyZWF0ZXMgdGVtcG9yYXJ5IGZpbGUgaW4gL3RtcC4gV2hlbiB3ZSBydW4gaW4KK2FuIGVudmlyb25tZW50IHdoZXJlIC90bXAgaGFzIHJhcmVseSBiZWVuIHVzZWQsIHRoZSBuZXdseSBjcmVhdGVkIHRlbXBvcmFyeSBmaWxlCittYXkgaGF2ZSBhIHZlcnkgbG93IGlub2RlIG51bWJlci4gSWYgdGhlIGlub2RlIG51bWJlciB3YXMgNiB3aGljaCBpcyB0aGUgc2FtZSBhcworL2Rldi9udWxsLCB0aGUgYXMgd291bGQgd3JvbmdseSB0aGluayB0aGUgaW5wdXQgZmlsZSBhbmQgdGhlIG91dHB1dCBmaWxlIGFyZSB0aGUKK3NhbWUgYW5kIHJlcG9ydCB0aGUgZm9sbG93aW5nIGVycm9yLgorCisqKiogQ29tcGlsZXIgbGFja3MgYXNtLWdvdG8gc3VwcG9ydC4uIFN0b3AuCisKK09uZSBvYnNlcnZlZCBjYXNlIGhhcHBlbmVkIGluIGRvY2tlciB3aGVyZSB0aGUgL3RtcCBjb3VsZCBiZSBzbyByYXJlbHkgdXNlZCB0aGF0Cit2ZXJ5IGxvdyBudW1iZXIgaW5vZGUgbWF5IGJlIGFsbG9jYXRlZCBhbmQgdHJpZ2dlcnMgdGhlIGVycm9yLgorCitUaGUgZml4IGJlbG93IGZvciB0aGUgYnVnIG9ubHkgZXhpc3RzIG9uIHRoZSBtYXN0ZXIgYnJhbmNoIG9mIGJpbnV0aWxzIHNvIGZhcgorYW5kIGhhcyBub3QgYmVlbiByZWxlYXNlZCBmcm9tIHVwc3RyZWFtLiBBcyB0aGUgY29udmljdCBpcyBpbnRyb2R1Y2VkIHNpbmNlCit2Mi4zMSwgb25seSB2Mi4zMSBpcyBhZmZlY3RlZC4KKworaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9naXQvZ2l0d2ViLmNnaT9wPWJpbnV0aWxzLWdkYi5naXQ7YT1jb21taXQ7aD0KKzJhNTAzNjZkZWQzMjliZmIzOWQzODcyNTM0NTBjOWQ1MzAyYzM1MDMKKworV2hlbiBidWlsZGluZyBsaW51eC1saWJjLWhlYWRlcnMgd2UgbmVlZCB0byB1c2UgImFzIiBpbiBiaW51dGlscyB3aGljaCBkb2VzIG5vdAorY29udGFpbiB0aGUgZml4IGZvciB0aGUgbW9tZW50LiBUbyB3b3JrIGFyb3VuZCB0aGUgZXJyb3IsIHdlIGNyZWF0ZSBhIGZpeGVkCit0ZW1wb3JhcnkgZmlsZSB0byBjb250YWluIHRoZSBwcm9ncmFtIGJlaW5nIHRlc3RlZC4KKworVGhpcyBwYXRjaCBhbHNvIHJlbW92ZXMgIj4vZGV2L251bGwgMj4mMSIgc28gd2Ugd2lsbCBoYXZlIG1vcmUgZGlyZWN0IGVycm9yCitpbmZvcm1hdGlvbiBpbiBjYXNlIHNvbWV0aGluZyBlbHNlIHdyb25nIGhhcHBlbmVkLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW0Egd29yayBhcm91bmQgZm9yIGJpbnV0aWxzIHYyLjMxXQorCitTaWduZWQtb2ZmLWJ5OiBIZSBaaGUgPHpoZS5oZUB3aW5kcml2ZXIuY29tPgorLS0tCisgc2NyaXB0cy9nY2MtZ290by5zaCB8IDUgKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zY3JpcHRzL2djYy1nb3RvLnNoIGIvc2NyaXB0cy9nY2MtZ290by5zaAoraW5kZXggOGI5ODBmYjIyLi5kMjU2YTk0MzggMTAwNzU1CistLS0gYS9zY3JpcHRzL2djYy1nb3RvLnNoCisrKysgYi9zY3JpcHRzL2djYy1nb3RvLnNoCitAQCAtMyw3ICszLDcgQEAKKyAjIFRlc3QgZm9yIGdjYyAnYXNtIGdvdG8nIHN1cHBvcnQKKyAjIENvcHlyaWdodCAoQykgMjAxMCwgSmFzb24gQmFyb24gPGpiYXJvbkByZWRoYXQuY29tPgorIAorLWNhdCA8PCAiRU5EIiB8ICRAIC14IGMgLSAtZm5vLVBJRSAtYyAtbyAvZGV2L251bGwKKytjYXQgPDwgIkVORCIgPiAuL2lucHV0CisgaW50IG1haW4odm9pZCkKKyB7CisgI2lmIGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX2FhcmNoNjRfXykKK0BAIC0yMCwzICsyMCw2IEBAIGVudHJ5OgorIAlyZXR1cm4gMDsKKyB9CisgRU5ECisrCisrJEAgLXggYyAuL2lucHV0IC1mbm8tUElFIC1jIC1vIC4vb3V0cHV0Cisrcm0gLi9pbnB1dCAuL291dHB1dAorLS0gCisyLjE5LjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4LWxpYmMtaGVhZGVycy9saW51eC1saWJjLWhlYWRlcnNfNC4xOC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC1saWJjLWhlYWRlcnMvbGludXgtbGliYy1oZWFkZXJzXzQuMTguYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGViN2JlZTcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4LWxpYmMtaGVhZGVycy9saW51eC1saWJjLWhlYWRlcnNfNC4xOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLXJlcXVpcmUgbGludXgtbGliYy1oZWFkZXJzLmluYwotCi1TUkNfVVJJX2FwcGVuZF9saWJjLW11c2wgPSAiXAotICAgIGZpbGU6Ly8wMDAxLWxpYmMtY29tcGF0LmgtZml4LXNvbWUtaXNzdWVzLWFyaXNpbmctZnJvbS1pbjYuaC5wYXRjaCBcCi0gICAgZmlsZTovLzAwMDItbGliYy1jb21wYXQuaC1wcmV2ZW50LXJlZGVmaW5pdGlvbi1vZi1zdHJ1Y3QtZXRoaGRyLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMy1yZW1vdmUtaW5jbHVzaW9uLW9mLXN5c2luZm8uaC1pbi1rZXJuZWwuaC5wYXRjaCBcCi0gICAgZmlsZTovLzAwMDEtbGliYy1jb21wYXQuaC1tdXNsLV9kb2VzXy1kZWZpbmUtSUZGX0xPV0VSX1VQLURPUk1BTi5wYXRjaCBcCi0gICAgZmlsZTovLzAwMDEtaWZfZXRoZXItbW92ZS1tdXNsYy1ldGhoZHItcHJvdGVjdGlvbi10by11YXBpLWZpbGUucGF0Y2ggXAotICAgIGZpbGU6Ly8wMDAxLWluY2x1ZGUtbGludXgtc3RkZGVmLmgtaW4tc3dhYi5oLXVhcGktaGVhZGVyLnBhdGNoIFwKLSAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gImJlZTVmZTUzZWUxYzMxNDJiOGYwYzEyYzBkMzM0OGY5IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjE5ZDhiY2Y0OWVmNTMwY2Q0ZTM2NGE0NWI0YTIyZmE3MDcxNGI3MDM0OWM4MTAwZTczMDg0ODhlMjZmMWVhZjEiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgtbGliYy1oZWFkZXJzL2xpbnV4LWxpYmMtaGVhZGVyc181LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgtbGliYy1oZWFkZXJzL2xpbnV4LWxpYmMtaGVhZGVyc181LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTc2MTIwYwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC1saWJjLWhlYWRlcnMvbGludXgtbGliYy1oZWFkZXJzXzUuMC5iYgpAQCAtMCwwICsxLDE4IEBACityZXF1aXJlIGxpbnV4LWxpYmMtaGVhZGVycy5pbmMKKworU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsID0gIlwKKyAgICBmaWxlOi8vMDAwMS1saWJjLWNvbXBhdC5oLWZpeC1zb21lLWlzc3Vlcy1hcmlzaW5nLWZyb20taW42LmgucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAyLWxpYmMtY29tcGF0LmgtcHJldmVudC1yZWRlZmluaXRpb24tb2Ytc3RydWN0LWV0aGhkci5wYXRjaCBcCisgICAgZmlsZTovLzAwMDMtcmVtb3ZlLWluY2x1c2lvbi1vZi1zeXNpbmZvLmgtaW4ta2VybmVsLmgucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAxLWxpYmMtY29tcGF0LmgtbXVzbC1fZG9lc18tZGVmaW5lLUlGRl9MT1dFUl9VUC1ET1JNQU4ucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAxLWlmX2V0aGVyLW1vdmUtbXVzbGMtZXRoaGRyLXByb3RlY3Rpb24tdG8tdWFwaS1maWxlLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMS1pbmNsdWRlLWxpbnV4LXN0ZGRlZi5oLWluLXN3YWIuaC11YXBpLWhlYWRlci5wYXRjaCBcCisgICAiCisKK1NSQ19VUklfYXBwZW5kID0gIlwKKyAgICBmaWxlOi8vMDAwMS1zY3JpcHRzLVVzZS1maXhlZC1pbnB1dC1hbmQtb3V0cHV0LWZpbGVzLWluc3RlYWQtb2YtLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMS1rYnVpbGQtaW5zdGFsbF9oZWFkZXJzLnNoLVN0cmlwLV9VQVBJLWZyb20taWYtZGVmaW5lLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjczODFjZThhYWM4MGEwMTQ0OGUwNjVjZTc5NWMxOWMwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQzN2IxNDFhNjQ5OTE1OWY1YTcyODJkNWViNGIyYmUwNTVmOGU4NjJjY2NlNDRkNzQ2NGU4NzU5YzMxYTJlNDMiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgva2VybmVsLWRldnNyYy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9rZXJuZWwtZGV2c3JjLmJiCmluZGV4IDM2MWFkMjEuLjY5YThlYWUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9rZXJuZWwtZGV2c3JjLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9rZXJuZWwtZGV2c3JjLmJiCkBAIC0zMiw3ICszMiw3IEBACiAKIFBBQ0tBR0VfQVJDSCA9ICIke01BQ0hJTkVfQVJDSH0iCiAKLUtFUk5FTF9CVUlMRF9ST09UPSIvbGliL21vZHVsZXMvIgorS0VSTkVMX0JVSUxEX1JPT1Q9IiR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vbW9kdWxlcy8iCiAKIGRvX2luc3RhbGwoKSB7CiAgICAga2VybmVsZGlyPSR7RH0ke0tFUk5FTF9CVUlMRF9ST09UfSR7S0VSTkVMX1ZFUlNJT059CkBAIC00OCw3ICs0OCw3IEBACiAgICAgbWtkaXIgLXAgJHtEfS91c3Ivc3JjCiAgICAgKAogCWNkICR7RH0vdXNyL3NyYwotCWxuIC1zICR7S0VSTkVMX0JVSUxEX1JPT1R9JHtLRVJORUxfVkVSU0lPTn0vc291cmNlIGtlcm5lbAorCWxuciAke0R9JHtLRVJORUxfQlVJTERfUk9PVH0ke0tFUk5FTF9WRVJTSU9OfS9zb3VyY2Uga2VybmVsCiAgICAgKQogCiAgICAgIyBmb3Igb24gdGFyZ2V0IHB1cnBvc2VzLCB3ZSB1bmlmeSBidWlsZCBhbmQgc291cmNlCkBAIC0xNTAsNiArMTUwLDEzIEBACiAgICAgICAgICAgICBjcCAtYSAtLXBhcmVudHMgYXJjaC9hcm02NC9rZXJuZWwvbW9kdWxlLmxkcyAka2VybmVsZGlyL2J1aWxkLwogCWZpCiAKKwlpZiBbICIke0FSQ0h9IiA9ICJwb3dlcnBjIiBdOyB0aGVuCisJICAgICMgNS4wIG5lZWRzIHRoZXNlIGZpbGVzLCBidXQgZG9uJ3QgZXJyb3IgaWYgdGhleSBhcmVuJ3QgcHJlc2VudCBpbiB0aGUgc291cmNlCisJICAgIGNwIC1hIC0tcGFyZW50cyBhcmNoLyR7QVJDSH0va2VybmVsL3N5c2NhbGxzL3N5c2NhbGwudGJsICRrZXJuZWxkaXIvYnVpbGQvIDI+L2Rldi9udWxsIHx8IDoKKwkgICAgY3AgLWEgLS1wYXJlbnRzIGFyY2gvJHtBUkNIfS9rZXJuZWwvc3lzY2FsbHMvc3lzY2FsbHRibC5zaCAka2VybmVsZGlyL2J1aWxkLyAyPi9kZXYvbnVsbCB8fCA6CisJICAgIGNwIC1hIC0tcGFyZW50cyBhcmNoLyR7QVJDSH0va2VybmVsL3N5c2NhbGxzL3N5c2NhbGxoZHIuc2ggJGtlcm5lbGRpci9idWlsZC8gMj4vZGV2L251bGwgfHwgOgorCWZpCisKIAkjIGluY2x1ZGUgdGhlIG1hY2hpbmUgc3BlY2lmaWMgaGVhZGVycyBmb3IgQVJNIHZhcmlhbnRzLCBpZiBhdmFpbGFibGUuCiAJaWYgWyAiJHtBUkNIfSIgPSAiYXJtIiBdOyB0aGVuCiAJICAgIGNwIC1hIC0tcGFyZW50cyBhcmNoLyR7QVJDSH0vbWFjaC0qL2luY2x1ZGUgJGtlcm5lbGRpci9idWlsZC8KQEAgLTE1Nyw3ICsxNjQsMTIgQEAKIAkgICAgIyBpbmNsdWRlIGEgZmV3IGZpbGVzIGZvciAnbWFrZSBwcmVwYXJlJwogCSAgICBjcCAtYSAtLXBhcmVudHMgYXJjaC9hcm0vdG9vbHMvZ2VuLW1hY2gtdHlwZXMgJGtlcm5lbGRpci9idWlsZC8KIAkgICAgY3AgLWEgLS1wYXJlbnRzIGFyY2gvYXJtL3Rvb2xzL21hY2gtdHlwZXMgJGtlcm5lbGRpci9idWlsZC8KLQkgICAgY3AgLWEgLS1wYXJlbnRzIGFyY2gvYXJtL3Rvb2xzL3N5c2NhbGwqICRrZXJuZWxkaXIvYnVpbGQvCisKKwkgICAgIyBBUk0gc3lzY2FsbCB0YWJsZSB0b29scyBvbmx5IGV4aXN0IGZvciBrZXJuZWxzIHY0LjEwIG9yIGxhdGVyCisgICAgICAgICAgICBTWVNDQUxMX1RPT0xTPSQoZmluZCBhcmNoL2FybS90b29scyAtbmFtZSAic3lzY2FsbCoiKQorICAgICAgICAgICAgaWYgWyAtbiAiJFNZU0NBTExfVE9PTFMiIF0gOyB0aGVuCisJICAgICAgICBjcCAtYSAtLXBhcmVudHMgJFNZU0NBTExfVE9PTFMgJGtlcm5lbGRpci9idWlsZC8KKyAgICAgICAgICAgIGZpCiAKICAgICAgICAgICAgIGNwIC1hIC0tcGFyZW50cyBhcmNoL2FybS9rZXJuZWwvbW9kdWxlLmxkcyAka2VybmVsZGlyL2J1aWxkLwogCWZpCkBAIC0yMDksNiArMjIxLDkgQEAKIAkgICAgY3AgLWEgLS1wYXJlbnRzIGtlcm5lbC90aW1lL3RpbWVjb25zdC5iYyAka2VybmVsZGlyL2J1aWxkCiAJICAgIGNwIC1hIC0tcGFyZW50cyBrZXJuZWwvYm91bmRzLmMgJGtlcm5lbGRpci9idWlsZAogCSAgICBjcCAtYSAtLXBhcmVudHMgS2J1aWxkICRrZXJuZWxkaXIvYnVpbGQKKwkgICAgY3AgLWEgLS1wYXJlbnRzIGFyY2gvbWlwcy9rZXJuZWwvc3lzY2FsbHMvKi5zaCAka2VybmVsZGlyL2J1aWxkIDI+L2Rldi9udWxsIHx8IDoKKwkgICAgY3AgLWEgLS1wYXJlbnRzIGFyY2gvbWlwcy9rZXJuZWwvc3lzY2FsbHMvKi50YmwgJGtlcm5lbGRpci9idWlsZCAyPi9kZXYvbnVsbCB8fCA6CisJICAgIGNwIC1hIC0tcGFyZW50cyBhcmNoL21pcHMvdG9vbHMvZWxmLWVudHJ5LmMgJGtlcm5lbGRpci9idWlsZCAyPi9kZXYvbnVsbCB8fCA6CiAJZmkKIAogICAgICAgICAjIHJlcXVpcmVkIHRvIGJ1aWxkIHNjcmlwdHMvc2VsaW51eC9nZW5oZWFkZXJzL2dlbmhlYWRlcnMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by1kZXYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tZGV2LmJiCmluZGV4IDIzY2IzNTUuLmFlOGMzNDMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by1kZXYuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLWRldi5iYgpAQCAtMzAsNyArMzAsNyBAQAogU1JDUkVWX21hY2hpbmUgPz0gJyR7QG9lLnV0aWxzLmNvbmRpdGlvbmFsKCJQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9rZXJuZWwiLCAibGludXgteW9jdG8tZGV2IiwgIiR7QVVUT1JFVn0iLCAiMjk1OTQ0MDRkN2ZlNzNjZDgwZWFhNGVlOGM0M2RjYzUzOTcwYzYwZSIsIGQpfScKIFNSQ1JFVl9tZXRhID89ICcke0BvZS51dGlscy5jb25kaXRpb25hbCgiUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwva2VybmVsIiwgImxpbnV4LXlvY3RvLWRldiIsICIke0FVVE9SRVZ9IiwgIjI5NTk0NDA0ZDdmZTczY2Q4MGVhYTRlZThjNDNkY2M1Mzk3MGM2MGUiLCBkKX0nCiAKLUxJTlVYX1ZFUlNJT04gPz0gIjQuMTktcmMrIgorTElOVVhfVkVSU0lPTiA/PSAiNS4wLXJjKyIKIExJTlVYX1ZFUlNJT05fRVhURU5TSU9OID89ICIteW9jdG9kZXYtJHtMSU5VWF9LRVJORUxfVFlQRX0iCiBQViA9ICIke0xJTlVYX1ZFUlNJT059K2dpdCR7U1JDUFZ9IgogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tcnRfNC4xNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by1ydF80LjE0LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MTg5ZmM4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by1ydF80LjE0LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotS0JSQU5DSCA/PSAidjQuMTQvc3RhbmRhcmQvcHJlZW1wdC1ydC9iYXNlIgotCi1yZXF1aXJlIHJlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLmluYwotCi0jIFNraXAgcHJvY2Vzc2luZyBvZiB0aGlzIHJlY2lwZSBpZiBpdCBpcyBub3QgZXhwbGljaXRseSBzcGVjaWZpZWQgYXMgdGhlCi0jIFBSRUZFUlJFRF9QUk9WSURFUiBmb3IgdmlydHVhbC9rZXJuZWwuIFRoaXMgYXZvaWRzIGVycm9ycyB3aGVuIHRyeWluZwotIyB0byBidWlsZCBtdWx0aXBsZSB2aXJ0dWFsL2tlcm5lbCBwcm92aWRlcnMsIGUuZy4gYXMgZGVwZW5kZW5jeSBvZgotIyBjb3JlLWltYWdlLXJ0LXNkaywgY29yZS1pbWFnZS1ydC4KLXB5dGhvbiAoKSB7Ci0gICAgaWYgZC5nZXRWYXIoIktFUk5FTF9QQUNLQUdFX05BTUUiKSA9PSAia2VybmVsIiBhbmQgZC5nZXRWYXIoIlBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2tlcm5lbCIpICE9ICJsaW51eC15b2N0by1ydCI6Ci0gICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBSZWNpcGUoIlNldCBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9rZXJuZWwgdG8gbGludXgteW9jdG8tcnQgdG8gZW5hYmxlIGl0IikKLX0KLQotU1JDUkVWX21hY2hpbmUgPz0gIjgyYWM3YjJiODA0OGI1Mzc0ODFiZjE2YjhhY2RhMWNjOWJmZTk1NjUiCi1TUkNSRVZfbWV0YSA/PSAiNmEzMjU0ZTdiMzcwY2JiODZjMWY3MzM3OWRjZjM4ODg1YzFjNjllMCIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy9saW51eC15b2N0by5naXQ7YnJhbmNoPSR7S0JSQU5DSH07bmFtZT1tYWNoaW5lIFwKLSAgICAgICAgICAgZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcveW9jdG8ta2VybmVsLWNhY2hlO3R5cGU9a21ldGE7bmFtZT1tZXRhO2JyYW5jaD15b2N0by00LjE0O2Rlc3RzdWZmaXg9JHtLTUVUQX0iCi0KLUxJTlVYX1ZFUlNJT04gPz0gIjQuMTQuNzkiCi0KLURFUEVORFMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdBUkNIJywgJ3g4NicsICdlbGZ1dGlscy1uYXRpdmUnLCAnJywgZCl9IgotREVQRU5EUyArPSAib3BlbnNzbC1uYXRpdmUgdXRpbC1saW51eC1uYXRpdmUiCi0KLVBWID0gIiR7TElOVVhfVkVSU0lPTn0rZ2l0JHtTUkNQVn0iCi0KLUtNRVRBID0gImtlcm5lbC1tZXRhIgotS0NPTkZfQlNQX0FVRElUX0xFVkVMID0gIjIiCi0KLUxJTlVYX0tFUk5FTF9UWVBFID0gInByZWVtcHQtcnQiCi0KLUNPTVBBVElCTEVfTUFDSElORSA9ICIocWVtdXg4NnxxZW11eDg2LTY0fHFlbXVhcm18cWVtdXBwY3xxZW11bWlwcykiCi0KLUtFUk5FTF9ERVZJQ0VUUkVFX3FlbXVhcm0gPSAidmVyc2F0aWxlLXBiLmR0YiIKLQotIyBGdW5jdGlvbmFsaXR5IGZsYWdzCi1LRVJORUxfRVhUUkFfRkVBVFVSRVMgPz0gImZlYXR1cmVzL25ldGZpbHRlci9uZXRmaWx0ZXIuc2NjIGZlYXR1cmVzL3Rhc2tzdGF0cy90YXNrc3RhdHMuc2NjIgotS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZCA9ICIgJHtLRVJORUxfRVhUUkFfRkVBVFVSRVN9IgotS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZF9xZW11YWxsPSIgY2ZnL3ZpcnRpby5zY2MiCi1LRVJORUxfRkVBVFVSRVNfYXBwZW5kX3FlbXV4ODY9IiBjZmcvc291bmQuc2NjIGNmZy9wYXJhdmlydF9rdm0uc2NjIgotS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZF9xZW11eDg2LTY0PSIgY2ZnL3NvdW5kLnNjYyBjZmcvcGFyYXZpcnRfa3ZtLnNjYyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by1ydF80LjE5LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLXJ0XzQuMTkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2YxNjQwZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by1ydF80LjE5LmJiCkBAIC0wLDAgKzEsNDMgQEAKK0tCUkFOQ0ggPz0gInY0LjE5L3N0YW5kYXJkL3ByZWVtcHQtcnQvYmFzZSIKKworcmVxdWlyZSByZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by5pbmMKKworIyBTa2lwIHByb2Nlc3Npbmcgb2YgdGhpcyByZWNpcGUgaWYgaXQgaXMgbm90IGV4cGxpY2l0bHkgc3BlY2lmaWVkIGFzIHRoZQorIyBQUkVGRVJSRURfUFJPVklERVIgZm9yIHZpcnR1YWwva2VybmVsLiBUaGlzIGF2b2lkcyBlcnJvcnMgd2hlbiB0cnlpbmcKKyMgdG8gYnVpbGQgbXVsdGlwbGUgdmlydHVhbC9rZXJuZWwgcHJvdmlkZXJzLCBlLmcuIGFzIGRlcGVuZGVuY3kgb2YKKyMgY29yZS1pbWFnZS1ydC1zZGssIGNvcmUtaW1hZ2UtcnQuCitweXRob24gKCkgeworICAgIGlmIGQuZ2V0VmFyKCJLRVJORUxfUEFDS0FHRV9OQU1FIikgPT0gImtlcm5lbCIgYW5kIGQuZ2V0VmFyKCJQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9rZXJuZWwiKSAhPSAibGludXgteW9jdG8tcnQiOgorICAgICAgICByYWlzZSBiYi5wYXJzZS5Ta2lwUmVjaXBlKCJTZXQgUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwva2VybmVsIHRvIGxpbnV4LXlvY3RvLXJ0IHRvIGVuYWJsZSBpdCIpCit9CisKK1NSQ1JFVl9tYWNoaW5lID89ICIyYzZlNDRlNDc2YmQyOTdkNjVkNWNiMWI1ZjU1MzhkMzAzZmMwNWEwIgorU1JDUkVWX21ldGEgPz0gImQ4NWYwN2UwM2M5ODBlY2E1ZmZkNWJhMDU4OTg1ZDZlZDNhODM4MDEiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvbGludXgteW9jdG8uZ2l0O2JyYW5jaD0ke0tCUkFOQ0h9O25hbWU9bWFjaGluZSBcCisgICAgICAgICAgIGdpdDovL2dpdC55b2N0b3Byb2plY3Qub3JnL3lvY3RvLWtlcm5lbC1jYWNoZTt0eXBlPWttZXRhO25hbWU9bWV0YTticmFuY2g9eW9jdG8tNC4xOTtkZXN0c3VmZml4PSR7S01FVEF9IgorCitMSU5VWF9WRVJTSU9OID89ICI0LjE5LjMwIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iYmVhODE1ZWUyNzk1YjJmNDIzMDgyNmMwYzZiODgxNCIKKworREVQRU5EUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0FSQ0gnLCAneDg2JywgJ2VsZnV0aWxzLW5hdGl2ZScsICcnLCBkKX0iCitERVBFTkRTICs9ICJvcGVuc3NsLW5hdGl2ZSB1dGlsLWxpbnV4LW5hdGl2ZSIKKworUFYgPSAiJHtMSU5VWF9WRVJTSU9OfStnaXQke1NSQ1BWfSIKKworS01FVEEgPSAia2VybmVsLW1ldGEiCitLQ09ORl9CU1BfQVVESVRfTEVWRUwgPSAiMiIKKworTElOVVhfS0VSTkVMX1RZUEUgPSAicHJlZW1wdC1ydCIKKworQ09NUEFUSUJMRV9NQUNISU5FID0gIihxZW11eDg2fHFlbXV4ODYtNjR8cWVtdWFybXxxZW11YXJtdjV8cWVtdWFybTY0fHFlbXVwcGN8cWVtdW1pcHMpIgorCitLRVJORUxfREVWSUNFVFJFRV9xZW11YXJtID0gInZlcnNhdGlsZS1wYi5kdGIiCisKKyMgRnVuY3Rpb25hbGl0eSBmbGFncworS0VSTkVMX0VYVFJBX0ZFQVRVUkVTID89ICJmZWF0dXJlcy9uZXRmaWx0ZXIvbmV0ZmlsdGVyLnNjYyBmZWF0dXJlcy90YXNrc3RhdHMvdGFza3N0YXRzLnNjYyIKK0tFUk5FTF9GRUFUVVJFU19hcHBlbmQgPSAiICR7S0VSTkVMX0VYVFJBX0ZFQVRVUkVTfSIKK0tFUk5FTF9GRUFUVVJFU19hcHBlbmRfcWVtdWFsbD0iIGNmZy92aXJ0aW8uc2NjIgorS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZF9xZW11eDg2PSIgY2ZnL3NvdW5kLnNjYyBjZmcvcGFyYXZpcnRfa3ZtLnNjYyIKK0tFUk5FTF9GRUFUVVJFU19hcHBlbmRfcWVtdXg4Ni02ND0iIGNmZy9zb3VuZC5zY2MgY2ZnL3BhcmF2aXJ0X2t2bS5zY2MiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tcnRfNS4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLXJ0XzUuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NWMzNjk4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLXJ0XzUuMC5iYgpAQCAtMCwwICsxLDQzIEBACitLQlJBTkNIID89ICJ2NS4wL3N0YW5kYXJkL3ByZWVtcHQtcnQvYmFzZSIKKworcmVxdWlyZSByZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by5pbmMKKworIyBTa2lwIHByb2Nlc3Npbmcgb2YgdGhpcyByZWNpcGUgaWYgaXQgaXMgbm90IGV4cGxpY2l0bHkgc3BlY2lmaWVkIGFzIHRoZQorIyBQUkVGRVJSRURfUFJPVklERVIgZm9yIHZpcnR1YWwva2VybmVsLiBUaGlzIGF2b2lkcyBlcnJvcnMgd2hlbiB0cnlpbmcKKyMgdG8gYnVpbGQgbXVsdGlwbGUgdmlydHVhbC9rZXJuZWwgcHJvdmlkZXJzLCBlLmcuIGFzIGRlcGVuZGVuY3kgb2YKKyMgY29yZS1pbWFnZS1ydC1zZGssIGNvcmUtaW1hZ2UtcnQuCitweXRob24gKCkgeworICAgIGlmIGQuZ2V0VmFyKCJLRVJORUxfUEFDS0FHRV9OQU1FIikgPT0gImtlcm5lbCIgYW5kIGQuZ2V0VmFyKCJQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9rZXJuZWwiKSAhPSAibGludXgteW9jdG8tcnQiOgorICAgICAgICByYWlzZSBiYi5wYXJzZS5Ta2lwUmVjaXBlKCJTZXQgUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwva2VybmVsIHRvIGxpbnV4LXlvY3RvLXJ0IHRvIGVuYWJsZSBpdCIpCit9CisKK1NSQ1JFVl9tYWNoaW5lID89ICIwNmUxZmY3OWVhOWVmZWYwNTI0MDRlZTE5ODljYWUwMzhiMjhlOTU0IgorU1JDUkVWX21ldGEgPz0gIjcwNTQ1NzgzN2U3ZGRkMjdlNGUyZWNmNmQzZGJkMjU1YjFhYWY4NDgiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvbGludXgteW9jdG8uZ2l0O2JyYW5jaD0ke0tCUkFOQ0h9O25hbWU9bWFjaGluZSBcCisgICAgICAgICAgIGdpdDovL2dpdC55b2N0b3Byb2plY3Qub3JnL3lvY3RvLWtlcm5lbC1jYWNoZTt0eXBlPWttZXRhO25hbWU9bWV0YTticmFuY2g9eW9jdG8tNS4wO2Rlc3RzdWZmaXg9JHtLTUVUQX0iCisKK0xJTlVYX1ZFUlNJT04gPz0gIjUuMC4zIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iYmVhODE1ZWUyNzk1YjJmNDIzMDgyNmMwYzZiODgxNCIKKworREVQRU5EUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0FSQ0gnLCAneDg2JywgJ2VsZnV0aWxzLW5hdGl2ZScsICcnLCBkKX0iCitERVBFTkRTICs9ICJvcGVuc3NsLW5hdGl2ZSB1dGlsLWxpbnV4LW5hdGl2ZSIKKworUFYgPSAiJHtMSU5VWF9WRVJTSU9OfStnaXQke1NSQ1BWfSIKKworS01FVEEgPSAia2VybmVsLW1ldGEiCitLQ09ORl9CU1BfQVVESVRfTEVWRUwgPSAiMiIKKworTElOVVhfS0VSTkVMX1RZUEUgPSAicHJlZW1wdC1ydCIKKworQ09NUEFUSUJMRV9NQUNISU5FID0gIihxZW11eDg2fHFlbXV4ODYtNjR8cWVtdWFybXxxZW11YXJtdjV8cWVtdWFybTY0fHFlbXVwcGN8cWVtdW1pcHMpIgorCitLRVJORUxfREVWSUNFVFJFRV9xZW11YXJtID0gInZlcnNhdGlsZS1wYi5kdGIiCisKKyMgRnVuY3Rpb25hbGl0eSBmbGFncworS0VSTkVMX0VYVFJBX0ZFQVRVUkVTID89ICJmZWF0dXJlcy9uZXRmaWx0ZXIvbmV0ZmlsdGVyLnNjYyBmZWF0dXJlcy90YXNrc3RhdHMvdGFza3N0YXRzLnNjYyIKK0tFUk5FTF9GRUFUVVJFU19hcHBlbmQgPSAiICR7S0VSTkVMX0VYVFJBX0ZFQVRVUkVTfSIKK0tFUk5FTF9GRUFUVVJFU19hcHBlbmRfcWVtdWFsbD0iIGNmZy92aXJ0aW8uc2NjIgorS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZF9xZW11eDg2PSIgY2ZnL3NvdW5kLnNjYyBjZmcvcGFyYXZpcnRfa3ZtLnNjYyIKK0tFUk5FTF9GRUFUVVJFU19hcHBlbmRfcWVtdXg4Ni02ND0iIGNmZy9zb3VuZC5zY2MgY2ZnL3BhcmF2aXJ0X2t2bS5zY2MiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tdGlueV80LjE0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLXRpbnlfNC4xNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzFmNWM0Ny4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tdGlueV80LjE0LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotS0JSQU5DSCA/PSAidjQuMTQvc3RhbmRhcmQvdGlueS9iYXNlIgotTElOVVhfS0VSTkVMX1RZUEUgPSAidGlueSIKLUtDT05GSUdfTU9ERSA9ICItLWFsbG5vY29uZmlnIgotCi1yZXF1aXJlIHJlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLmluYwotCi1MSU5VWF9WRVJTSU9OID89ICI0LjE0Ljc5IgotCi1ERVBFTkRTICs9ICIke0BiYi51dGlscy5jb250YWlucygnQVJDSCcsICd4ODYnLCAnZWxmdXRpbHMtbmF0aXZlJywgJycsIGQpfSIKLURFUEVORFMgKz0gIm9wZW5zc2wtbmF0aXZlIHV0aWwtbGludXgtbmF0aXZlIgotCi1LTUVUQSA9ICJrZXJuZWwtbWV0YSIKLUtDT05GX0JTUF9BVURJVF9MRVZFTCA9ICIyIgotCi1TUkNSRVZfbWFjaGluZSA/PSAiNmNlMTdlYWU1ZDk2MmIzMDg0NmE1MjU4OTU2MjQ2NDM4ZDY4ZDYwYSIKLVNSQ1JFVl9tZXRhID89ICI2YTMyNTRlN2IzNzBjYmI4NmMxZjczMzc5ZGNmMzg4ODVjMWM2OWUwIgotCi1QViA9ICIke0xJTlVYX1ZFUlNJT059K2dpdCR7U1JDUFZ9IgotCi1TUkNfVVJJID0gImdpdDovL2dpdC55b2N0b3Byb2plY3Qub3JnL2xpbnV4LXlvY3RvLmdpdDticmFuY2g9JHtLQlJBTkNIfTtuYW1lPW1hY2hpbmUgXAotICAgICAgICAgICBnaXQ6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy95b2N0by1rZXJuZWwtY2FjaGU7dHlwZT1rbWV0YTtuYW1lPW1ldGE7YnJhbmNoPXlvY3RvLTQuMTQ7ZGVzdHN1ZmZpeD0ke0tNRVRBfSIKLQotQ09NUEFUSUJMRV9NQUNISU5FID0gInFlbXV4ODZ8cWVtdXg4Ni02NCIKLQotIyBGdW5jdGlvbmFsaXR5IGZsYWdzCi1LRVJORUxfRkVBVFVSRVMgPSAiIgotCi1LRVJORUxfREVWSUNFVFJFRV9xZW11YXJtID0gInZlcnNhdGlsZS1wYi5kdGIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tdGlueV80LjE5LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLXRpbnlfNC4xOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZTEzMmNhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLXRpbnlfNC4xOS5iYgpAQCAtMCwwICsxLDMyIEBACitLQlJBTkNIID89ICJ2NC4xOS9zdGFuZGFyZC90aW55L2Jhc2UiCitLQlJBTkNIX3FlbXVhcm0gID89ICJ2NC4xOS9zdGFuZGFyZC90aW55L2FybS12ZXJzYXRpbGUtOTI2ZWpzIgorCitMSU5VWF9LRVJORUxfVFlQRSA9ICJ0aW55IgorS0NPTkZJR19NT0RFID0gIi0tYWxsbm9jb25maWciCisKK3JlcXVpcmUgcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8uaW5jCisKK0xJTlVYX1ZFUlNJT04gPz0gIjQuMTkuMzAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iYmVhODE1ZWUyNzk1YjJmNDIzMDgyNmMwYzZiODgxNCIKKworREVQRU5EUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0FSQ0gnLCAneDg2JywgJ2VsZnV0aWxzLW5hdGl2ZScsICcnLCBkKX0iCitERVBFTkRTICs9ICJvcGVuc3NsLW5hdGl2ZSB1dGlsLWxpbnV4LW5hdGl2ZSIKKworS01FVEEgPSAia2VybmVsLW1ldGEiCitLQ09ORl9CU1BfQVVESVRfTEVWRUwgPSAiMiIKKworU1JDUkVWX21hY2hpbmVfcWVtdWFybSA/PSAiMDNlYjYxMDY5OTA0OThlODYyOTg2NDZjNjgyZmNlOWZjNjFmMjEzMSIKK1NSQ1JFVl9tYWNoaW5lID89ICIyNTNjMzlhMjUyZjI1ODQzMTExYjdiZTBjODI0N2ViNGJkNmMzMjhkIgorU1JDUkVWX21ldGEgPz0gImQ4NWYwN2UwM2M5ODBlY2E1ZmZkNWJhMDU4OTg1ZDZlZDNhODM4MDEiCisKK1BWID0gIiR7TElOVVhfVkVSU0lPTn0rZ2l0JHtTUkNQVn0iCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvbGludXgteW9jdG8uZ2l0O2JyYW5jaD0ke0tCUkFOQ0h9O25hbWU9bWFjaGluZSBcCisgICAgICAgICAgIGdpdDovL2dpdC55b2N0b3Byb2plY3Qub3JnL3lvY3RvLWtlcm5lbC1jYWNoZTt0eXBlPWttZXRhO25hbWU9bWV0YTticmFuY2g9eW9jdG8tNC4xOTtkZXN0c3VmZml4PSR7S01FVEF9IgorCitDT01QQVRJQkxFX01BQ0hJTkUgPSAicWVtdXg4NnxxZW11eDg2LTY0fHFlbXVhcm18cWVtdWFybXY1IgorCisjIEZ1bmN0aW9uYWxpdHkgZmxhZ3MKK0tFUk5FTF9GRUFUVVJFUyA9ICIiCisKK0tFUk5FTF9ERVZJQ0VUUkVFX3FlbXVhcm0gPSAidmVyc2F0aWxlLXBiLmR0YiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by10aW55XzUuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by10aW55XzUuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzYwNTQ4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLXRpbnlfNS4wLmJiCkBAIC0wLDAgKzEsMzIgQEAKK0tCUkFOQ0ggPz0gInY1LjAvc3RhbmRhcmQvdGlueS9iYXNlIgorS0JSQU5DSF9xZW11YXJtICA/PSAidjUuMC9zdGFuZGFyZC90aW55L2FybS12ZXJzYXRpbGUtOTI2ZWpzIgorCitMSU5VWF9LRVJORUxfVFlQRSA9ICJ0aW55IgorS0NPTkZJR19NT0RFID0gIi0tYWxsbm9jb25maWciCisKK3JlcXVpcmUgcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8uaW5jCisKK0xJTlVYX1ZFUlNJT04gPz0gIjUuMC4zIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YmJlYTgxNWVlMjc5NWIyZjQyMzA4MjZjMGM2Yjg4MTQiCisKK0RFUEVORFMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdBUkNIJywgJ3g4NicsICdlbGZ1dGlscy1uYXRpdmUnLCAnJywgZCl9IgorREVQRU5EUyArPSAib3BlbnNzbC1uYXRpdmUgdXRpbC1saW51eC1uYXRpdmUiCisKK0tNRVRBID0gImtlcm5lbC1tZXRhIgorS0NPTkZfQlNQX0FVRElUX0xFVkVMID0gIjIiCisKK1NSQ1JFVl9tYWNoaW5lX3FlbXVhcm0gPz0gImIwNDc3Mjc5ODc3YmIyYjVjY2E2ZWM0OWM2NGU5MzE5MDFmZjIwMjIiCitTUkNSRVZfbWFjaGluZSA/PSAiM2RmNGFhZTYwNzRlOTRlNzk0ZTI3ZmU3ZjE3NDUxZDkzNTNjZGYzZCIKK1NSQ1JFVl9tZXRhID89ICI3MDU0NTc4MzdlN2RkZDI3ZTRlMmVjZjZkM2RiZDI1NWIxYWFmODQ4IgorCitQViA9ICIke0xJTlVYX1ZFUlNJT059K2dpdCR7U1JDUFZ9IgorCitTUkNfVVJJID0gImdpdDovL2dpdC55b2N0b3Byb2plY3Qub3JnL2xpbnV4LXlvY3RvLmdpdDticmFuY2g9JHtLQlJBTkNIfTtuYW1lPW1hY2hpbmUgXAorICAgICAgICAgICBnaXQ6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy95b2N0by1rZXJuZWwtY2FjaGU7dHlwZT1rbWV0YTtuYW1lPW1ldGE7YnJhbmNoPXlvY3RvLTUuMDtkZXN0c3VmZml4PSR7S01FVEF9IgorCitDT01QQVRJQkxFX01BQ0hJTkUgPSAicWVtdXg4NnxxZW11eDg2LTY0fHFlbXVhcm18cWVtdWFybXY1IgorCisjIEZ1bmN0aW9uYWxpdHkgZmxhZ3MKK0tFUk5FTF9GRUFUVVJFUyA9ICIiCisKK0tFUk5FTF9ERVZJQ0VUUkVFX3FlbXVhcm0gPSAidmVyc2F0aWxlLXBiLmR0YiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8uaW5jCmluZGV4IDFlYmZiNjAuLmYxOTE5NDYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLmluYwpAQCAtMjYsNiArMjYsMTAgQEAKIEtFUk5FTF9DQ19hcHBlbmRfbmlvczIgPSAiICR7VE9PTENIQUlOX09QVElPTlN9IgogS0VSTkVMX0xEX2FwcGVuZF9uaW9zMiA9ICIgJHtUT09MQ0hBSU5fT1BUSU9OU30iCiAKK0RFUEVORFNfYXBwZW5kX2FyYyA9ICIgbGliZ2NjIgorS0VSTkVMX0NDX2FwcGVuZF9hcmMgPSAiICR7VE9PTENIQUlOX09QVElPTlN9IgorS0VSTkVMX0xEX2FwcGVuZF9hcmMgPSAiICR7VE9PTENIQUlOX09QVElPTlN9IgorCiBLRVJORUxfRkVBVFVSRVNfYXBwZW5kX3FlbXVhbGw9IiBmZWF0dXJlcy9kZWJ1Zy9wcmludGsuc2NjIgogCiBLRVJORUxfRkVBVFVSRVNfYXBwZW5kID0gIiAke0BiYi51dGlscy5jb250YWlucygnTUFDSElORV9GRUFUVVJFUycsICdudW1hJywgJ2ZlYXR1cmVzL251bWEvbnVtYS5zY2MnLCAnJywgZCl9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvXzQuMTQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG9fNC4xNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjViMjQ0NC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG9fNC4xNC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLUtCUkFOQ0ggPz0gInY0LjE0L3N0YW5kYXJkL2Jhc2UiCi0KLXJlcXVpcmUgcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8uaW5jCi0KLSMgYm9hcmQgc3BlY2lmaWMgYnJhbmNoZXMKLUtCUkFOQ0hfcWVtdWFybSAgPz0gInY0LjE0L3N0YW5kYXJkL2FybS12ZXJzYXRpbGUtOTI2ZWpzIgotS0JSQU5DSF9xZW11YXJtNjQgPz0gInY0LjE0L3N0YW5kYXJkL3FlbXVhcm02NCIKLUtCUkFOQ0hfcWVtdW1pcHMgPz0gInY0LjE0L3N0YW5kYXJkL210aS1tYWx0YTMyIgotS0JSQU5DSF9xZW11cHBjICA/PSAidjQuMTQvc3RhbmRhcmQvcWVtdXBwYyIKLUtCUkFOQ0hfcWVtdXg4NiAgPz0gInY0LjE0L3N0YW5kYXJkL2Jhc2UiCi1LQlJBTkNIX3FlbXV4ODYtNjQgPz0gInY0LjE0L3N0YW5kYXJkL2Jhc2UiCi1LQlJBTkNIX3FlbXVtaXBzNjQgPz0gInY0LjE0L3N0YW5kYXJkL210aS1tYWx0YTY0IgotCi1TUkNSRVZfbWFjaGluZV9xZW11YXJtID89ICI4NzUyYjg0MjFlZmU4YjVhNDc4ZjE3ZmJmZmFjZjRhZjk3NGVjNzAzIgotU1JDUkVWX21hY2hpbmVfcWVtdWFybTY0ID89ICJhYzY2NDc0YmE3ZjdlOTNkMTZhZTNlYTAwNWYyMTQxMTNiYjEyN2M1IgotU1JDUkVWX21hY2hpbmVfcWVtdW1pcHMgPz0gImFiMDMxYjI2N2UyYTc5ZmNkNDhkYTVkMTBkNTAzZjRkMDY1ZjQ4MjEiCi1TUkNSRVZfbWFjaGluZV9xZW11cHBjID89ICJmNDdjMzk0NWU4ZGQyMzBlYTM3NzcxYmNhY2M4MzYyNDVmYzc5ZDIyIgotU1JDUkVWX21hY2hpbmVfcWVtdXg4NiA/PSAiZjFkOTNiMjE5YmRlMzdhOGEyODZjZDE4ZDZhZjJkY2YwZDAyYzFhOCIKLVNSQ1JFVl9tYWNoaW5lX3FlbXV4ODYtNjQgPz0gImYxZDkzYjIxOWJkZTM3YThhMjg2Y2QxOGQ2YWYyZGNmMGQwMmMxYTgiCi1TUkNSRVZfbWFjaGluZV9xZW11bWlwczY0ID89ICI4MDYzYTcyNThmYzY3MGEzNjFmZWQ4NWI4NThmYWJiMjM3NDg1ZjFjIgotU1JDUkVWX21hY2hpbmUgPz0gImYxZDkzYjIxOWJkZTM3YThhMjg2Y2QxOGQ2YWYyZGNmMGQwMmMxYTgiCi1TUkNSRVZfbWV0YSA/PSAiNmEzMjU0ZTdiMzcwY2JiODZjMWY3MzM3OWRjZjM4ODg1YzFjNjllMCIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy9saW51eC15b2N0by5naXQ7bmFtZT1tYWNoaW5lO2JyYW5jaD0ke0tCUkFOQ0h9OyBcCi0gICAgICAgICAgIGdpdDovL2dpdC55b2N0b3Byb2plY3Qub3JnL3lvY3RvLWtlcm5lbC1jYWNoZTt0eXBlPWttZXRhO25hbWU9bWV0YTticmFuY2g9eW9jdG8tNC4xNDtkZXN0c3VmZml4PSR7S01FVEF9IgotCi1MSU5VWF9WRVJTSU9OID89ICI0LjE0Ljc5IgotCi1ERVBFTkRTICs9ICIke0BiYi51dGlscy5jb250YWlucygnQVJDSCcsICd4ODYnLCAnZWxmdXRpbHMtbmF0aXZlJywgJycsIGQpfSIKLURFUEVORFMgKz0gIm9wZW5zc2wtbmF0aXZlIHV0aWwtbGludXgtbmF0aXZlIgotCi1QViA9ICIke0xJTlVYX1ZFUlNJT059K2dpdCR7U1JDUFZ9IgotCi1LTUVUQSA9ICJrZXJuZWwtbWV0YSIKLUtDT05GX0JTUF9BVURJVF9MRVZFTCA9ICIyIgotCi1LRVJORUxfREVWSUNFVFJFRV9xZW11YXJtID0gInZlcnNhdGlsZS1wYi5kdGIiCi0KLUNPTVBBVElCTEVfTUFDSElORSA9ICJxZW11YXJtfHFlbXVhcm02NHxxZW11eDg2fHFlbXVwcGN8cWVtdW1pcHN8cWVtdW1pcHM2NHxxZW11eDg2LTY0IgotCi0jIEZ1bmN0aW9uYWxpdHkgZmxhZ3MKLUtFUk5FTF9FWFRSQV9GRUFUVVJFUyA/PSAiZmVhdHVyZXMvbmV0ZmlsdGVyL25ldGZpbHRlci5zY2MiCi1LRVJORUxfRkVBVFVSRVNfYXBwZW5kID0gIiAke0tFUk5FTF9FWFRSQV9GRUFUVVJFU30iCi1LRVJORUxfRkVBVFVSRVNfYXBwZW5kX3FlbXVhbGw9IiBjZmcvdmlydGlvLnNjYyIKLUtFUk5FTF9GRUFUVVJFU19hcHBlbmRfcWVtdXg4Nj0iIGNmZy9zb3VuZC5zY2MgY2ZnL3BhcmF2aXJ0X2t2bS5zY2MiCi1LRVJORUxfRkVBVFVSRVNfYXBwZW5kX3FlbXV4ODYtNjQ9IiBjZmcvc291bmQuc2NjIGNmZy9wYXJhdmlydF9rdm0uc2NjIgotS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoIlRVTkVfRkVBVFVSRVMiLCAibXgzMiIsICIgY2ZnL3gzMi5zY2MiLCAiIiAsZCl9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvXzQuMTkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG9fNC4xOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMjE3ZGFhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvXzQuMTkuYmIKQEAgLTAsMCArMSw0OSBAQAorS0JSQU5DSCA/PSAidjQuMTkvc3RhbmRhcmQvYmFzZSIKKworcmVxdWlyZSByZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by5pbmMKKworIyBib2FyZCBzcGVjaWZpYyBicmFuY2hlcworS0JSQU5DSF9xZW11YXJtICA/PSAidjQuMTkvc3RhbmRhcmQvYXJtLXZlcnNhdGlsZS05MjZlanMiCitLQlJBTkNIX3FlbXVhcm02NCA/PSAidjQuMTkvc3RhbmRhcmQvcWVtdWFybTY0IgorS0JSQU5DSF9xZW11bWlwcyA/PSAidjQuMTkvc3RhbmRhcmQvbXRpLW1hbHRhMzIiCitLQlJBTkNIX3FlbXVwcGMgID89ICJ2NC4xOS9zdGFuZGFyZC9xZW11cHBjIgorS0JSQU5DSF9xZW11eDg2ICA/PSAidjQuMTkvc3RhbmRhcmQvYmFzZSIKK0tCUkFOQ0hfcWVtdXg4Ni02NCA/PSAidjQuMTkvc3RhbmRhcmQvYmFzZSIKK0tCUkFOQ0hfcWVtdW1pcHM2NCA/PSAidjQuMTkvc3RhbmRhcmQvbXRpLW1hbHRhNjQiCisKK1NSQ1JFVl9tYWNoaW5lX3FlbXVhcm0gPz0gIjNkZjQ5ZGIyZWE5YjhlODAwY2IzMGQ1ZDY5NWQ0ZDJhMmY4YzFiZWQiCitTUkNSRVZfbWFjaGluZV9xZW11YXJtNjQgPz0gIjI1M2MzOWEyNTJmMjU4NDMxMTFiN2JlMGM4MjQ3ZWI0YmQ2YzMyOGQiCitTUkNSRVZfbWFjaGluZV9xZW11bWlwcyA/PSAiNWRjOTc1ZDBlNTg2ZWRkNWQzM2JjZTYyNTYwZjk5OGY5YTI0NmJlNiIKK1NSQ1JFVl9tYWNoaW5lX3FlbXVwcGMgPz0gIjI1M2MzOWEyNTJmMjU4NDMxMTFiN2JlMGM4MjQ3ZWI0YmQ2YzMyOGQiCitTUkNSRVZfbWFjaGluZV9xZW11eDg2ID89ICIyNTNjMzlhMjUyZjI1ODQzMTExYjdiZTBjODI0N2ViNGJkNmMzMjhkIgorU1JDUkVWX21hY2hpbmVfcWVtdXg4Ni02NCA/PSAiMjUzYzM5YTI1MmYyNTg0MzExMWI3YmUwYzgyNDdlYjRiZDZjMzI4ZCIKK1NSQ1JFVl9tYWNoaW5lX3FlbXVtaXBzNjQgPz0gImJiN2FlOGE4Y2JlNzZjOWNlMjgwNGY2NTE5MzZmMDU5ZjlmNjIxYTIiCitTUkNSRVZfbWFjaGluZSA/PSAiMjUzYzM5YTI1MmYyNTg0MzExMWI3YmUwYzgyNDdlYjRiZDZjMzI4ZCIKK1NSQ1JFVl9tZXRhID89ICJkODVmMDdlMDNjOTgwZWNhNWZmZDViYTA1ODk4NWQ2ZWQzYTgzODAxIgorCitTUkNfVVJJID0gImdpdDovL2dpdC55b2N0b3Byb2plY3Qub3JnL2xpbnV4LXlvY3RvLmdpdDtuYW1lPW1hY2hpbmU7YnJhbmNoPSR7S0JSQU5DSH07IFwKKyAgICAgICAgICAgZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcveW9jdG8ta2VybmVsLWNhY2hlO3R5cGU9a21ldGE7bmFtZT1tZXRhO2JyYW5jaD15b2N0by00LjE5O2Rlc3RzdWZmaXg9JHtLTUVUQX0gXAorICAgICAgICAgICIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YmJlYTgxNWVlMjc5NWIyZjQyMzA4MjZjMGM2Yjg4MTQiCitMSU5VWF9WRVJTSU9OID89ICI0LjE5LjMwIgorCitERVBFTkRTICs9ICIke0BiYi51dGlscy5jb250YWlucygnQVJDSCcsICd4ODYnLCAnZWxmdXRpbHMtbmF0aXZlJywgJycsIGQpfSIKK0RFUEVORFMgKz0gIm9wZW5zc2wtbmF0aXZlIHV0aWwtbGludXgtbmF0aXZlIgorCitQViA9ICIke0xJTlVYX1ZFUlNJT059K2dpdCR7U1JDUFZ9IgorCitLTUVUQSA9ICJrZXJuZWwtbWV0YSIKK0tDT05GX0JTUF9BVURJVF9MRVZFTCA9ICIyIgorCitLRVJORUxfREVWSUNFVFJFRV9xZW11YXJtID0gInZlcnNhdGlsZS1wYi5kdGIiCisKK0NPTVBBVElCTEVfTUFDSElORSA9ICJxZW11YXJtfHFlbXVhcm12NXxxZW11YXJtNjR8cWVtdXg4NnxxZW11cHBjfHFlbXVtaXBzfHFlbXVtaXBzNjR8cWVtdXg4Ni02NCIKKworIyBGdW5jdGlvbmFsaXR5IGZsYWdzCitLRVJORUxfRVhUUkFfRkVBVFVSRVMgPz0gImZlYXR1cmVzL25ldGZpbHRlci9uZXRmaWx0ZXIuc2NjIgorS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZCA9ICIgJHtLRVJORUxfRVhUUkFfRkVBVFVSRVN9IgorS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZF9xZW11YWxsPSIgY2ZnL3ZpcnRpby5zY2MiCitLRVJORUxfRkVBVFVSRVNfYXBwZW5kX3FlbXV4ODY9IiBjZmcvc291bmQuc2NjIGNmZy9wYXJhdmlydF9rdm0uc2NjIgorS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZF9xZW11eDg2LTY0PSIgY2ZnL3NvdW5kLnNjYyBjZmcvcGFyYXZpcnRfa3ZtLnNjYyIKK0tFUk5FTF9GRUFUVVJFU19hcHBlbmQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUVU5FX0ZFQVRVUkVTIiwgIm14MzIiLCAiIGNmZy94MzIuc2NjIiwgIiIgLGQpfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b181LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG9fNS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlNWRiYWUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG9fNS4wLmJiCkBAIC0wLDAgKzEsNTEgQEAKK0tCUkFOQ0ggPz0gInY1LjAvc3RhbmRhcmQvYmFzZSIKKworcmVxdWlyZSByZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by5pbmMKKworIyBib2FyZCBzcGVjaWZpYyBicmFuY2hlcworS0JSQU5DSF9xZW11YXJtICA/PSAidjUuMC9zdGFuZGFyZC9hcm0tdmVyc2F0aWxlLTkyNmVqcyIKK0tCUkFOQ0hfcWVtdWFybTY0ID89ICJ2NS4wL3N0YW5kYXJkL3FlbXVhcm02NCIKK0tCUkFOQ0hfcWVtdW1pcHMgPz0gInY1LjAvc3RhbmRhcmQvbXRpLW1hbHRhMzIiCitLQlJBTkNIX3FlbXVwcGMgID89ICJ2NS4wL3N0YW5kYXJkL3FlbXVwcGMiCitLQlJBTkNIX3FlbXV4ODYgID89ICJ2NS4wL3N0YW5kYXJkL2Jhc2UiCitLQlJBTkNIX3FlbXV4ODYtNjQgPz0gInY1LjAvc3RhbmRhcmQvYmFzZSIKK0tCUkFOQ0hfcWVtdW1pcHM2NCA/PSAidjUuMC9zdGFuZGFyZC9tdGktbWFsdGE2NCIKKworU1JDUkVWX21hY2hpbmVfcWVtdWFybSA/PSAiMThhNWZmYTBlOTAxODRjODUwM2ZmMWRmNDVlNGU1ZTUwMWIxYmFiMyIKK1NSQ1JFVl9tYWNoaW5lX3FlbXVhcm02NCA/PSAiM2RmNGFhZTYwNzRlOTRlNzk0ZTI3ZmU3ZjE3NDUxZDkzNTNjZGYzZCIKK1NSQ1JFVl9tYWNoaW5lX3FlbXVtaXBzID89ICJjNGQzY2Q2NDM3MzI5NDA3ZTJjYzdlM2U0NjE1NzY5NDUyZDQyNmIxIgorU1JDUkVWX21hY2hpbmVfcWVtdXBwYyA/PSAiM2RmNGFhZTYwNzRlOTRlNzk0ZTI3ZmU3ZjE3NDUxZDkzNTNjZGYzZCIKK1NSQ1JFVl9tYWNoaW5lX3FlbXV4ODYgPz0gIjNkZjRhYWU2MDc0ZTk0ZTc5NGUyN2ZlN2YxNzQ1MWQ5MzUzY2RmM2QiCitTUkNSRVZfbWFjaGluZV9xZW11eDg2LTY0ID89ICIzZGY0YWFlNjA3NGU5NGU3OTRlMjdmZTdmMTc0NTFkOTM1M2NkZjNkIgorU1JDUkVWX21hY2hpbmVfcWVtdW1pcHM2NCA/PSAiMjQ2OGMyMGMxNTQ3N2ViZTVlY2Q3M2MwZTAxNjJkNzQzMjE0OTMxOCIKK1NSQ1JFVl9tYWNoaW5lID89ICIzZGY0YWFlNjA3NGU5NGU3OTRlMjdmZTdmMTc0NTFkOTM1M2NkZjNkIgorU1JDUkVWX21ldGEgPz0gIjcwNTQ1NzgzN2U3ZGRkMjdlNGUyZWNmNmQzZGJkMjU1YjFhYWY4NDgiCisKKyMgcmVtYXAgcWVtdWFybSB0byBxZW11YXJtYTE1IGZvciB0aGUgNS4wIGtlcm5lbAorIyBLTUFDSElORV9xZW11YXJtID89ICJxZW11YXJtYTE1IgorCitTUkNfVVJJID0gImdpdDovL2dpdC55b2N0b3Byb2plY3Qub3JnL2xpbnV4LXlvY3RvLmdpdDtuYW1lPW1hY2hpbmU7YnJhbmNoPSR7S0JSQU5DSH07IFwKKyAgICAgICAgICAgZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcveW9jdG8ta2VybmVsLWNhY2hlO3R5cGU9a21ldGE7bmFtZT1tZXRhO2JyYW5jaD15b2N0by01LjA7ZGVzdHN1ZmZpeD0ke0tNRVRBfSIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YmJlYTgxNWVlMjc5NWIyZjQyMzA4MjZjMGM2Yjg4MTQiCitMSU5VWF9WRVJTSU9OID89ICI1LjAuMyIKKworREVQRU5EUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0FSQ0gnLCAneDg2JywgJ2VsZnV0aWxzLW5hdGl2ZScsICcnLCBkKX0iCitERVBFTkRTICs9ICJvcGVuc3NsLW5hdGl2ZSB1dGlsLWxpbnV4LW5hdGl2ZSIKKworUFYgPSAiJHtMSU5VWF9WRVJTSU9OfStnaXQke1NSQ1BWfSIKKworS01FVEEgPSAia2VybmVsLW1ldGEiCitLQ09ORl9CU1BfQVVESVRfTEVWRUwgPSAiMiIKKworS0VSTkVMX0RFVklDRVRSRUVfcWVtdWFybSA9ICJ2ZXJzYXRpbGUtcGIuZHRiIgorCitDT01QQVRJQkxFX01BQ0hJTkUgPSAicWVtdWFybXxxZW11YXJtdjV8cWVtdWFybTY0fHFlbXV4ODZ8cWVtdXBwY3xxZW11bWlwc3xxZW11bWlwczY0fHFlbXV4ODYtNjQiCisKKyMgRnVuY3Rpb25hbGl0eSBmbGFncworS0VSTkVMX0VYVFJBX0ZFQVRVUkVTID89ICJmZWF0dXJlcy9uZXRmaWx0ZXIvbmV0ZmlsdGVyLnNjYyIKK0tFUk5FTF9GRUFUVVJFU19hcHBlbmQgPSAiICR7S0VSTkVMX0VYVFJBX0ZFQVRVUkVTfSIKK0tFUk5FTF9GRUFUVVJFU19hcHBlbmRfcWVtdWFsbD0iIGNmZy92aXJ0aW8uc2NjIgorS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZF9xZW11eDg2PSIgY2ZnL3NvdW5kLnNjYyBjZmcvcGFyYXZpcnRfa3ZtLnNjYyIKK0tFUk5FTF9GRUFUVVJFU19hcHBlbmRfcWVtdXg4Ni02ND0iIGNmZy9zb3VuZC5zY2MgY2ZnL3BhcmF2aXJ0X2t2bS5zY2MiCitLRVJORUxfRkVBVFVSRVNfYXBwZW5kID0gIiAke0BiYi51dGlscy5jb250YWlucygiVFVORV9GRUFUVVJFUyIsICJteDMyIiwgIiBjZmcveDMyLnNjYyIsICIiICxkKX0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDAxLUZpeC1idHJmcy1SZW1vdmUtdW5uZWNlc3NhcnktZnNfaW5mby1wYXJhbWV0ZXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDAxLUZpeC1idHJmcy1SZW1vdmUtdW5uZWNlc3NhcnktZnNfaW5mby1wYXJhbWV0ZXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBmZTRlZTguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvMDAwMS1GaXgtYnRyZnMtUmVtb3ZlLXVubmVjZXNzYXJ5LWZzX2luZm8tcGFyYW1ldGVyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTE2ICswLDAgQEAKLUZyb20gNTFhYjBiMWRhMjkzNTQzNzVhMTlmODY1YWJjZDIzM2RkMjE3ODI5NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1pY2hhZWwgSmVhbnNvbiA8bWplYW5zb25AZWZmaWNpb3MuY29tPgotRGF0ZTogTW9uLCAxOCBKdW4gMjAxOCAxNDo1MzoxOSAtMDQwMAotU3ViamVjdDogW1BBVENIXSBGaXg6IGJ0cmZzOiBSZW1vdmUgdW5uZWNlc3NhcnkgZnNfaW5mbyBwYXJhbWV0ZXIKLQotU2VlIHVwc3RyZWFtIGNvbW1pdDoKLQotICBjb21taXQgM2RjYTVjOTQyZGFjNjAxNjRlNmE2ZTg5MTcyZjI1Yjg2YWYwN2NlNwotICBBdXRob3I6IFF1IFdlbnJ1byA8d3F1QHN1c2UuY29tPgotICBEYXRlOiAgIFRodSBBcHIgMjYgMTQ6MjQ6MjUgMjAxOCArMDgwMAotCi0gICAgYnRyZnM6IHRyYWNlOiBSZW1vdmUgdW5uZWNlc3NhcnkgZnNfaW5mbyBwYXJhbWV0ZXIgZm9yIGJ0cmZzX19yZXNlcnZlX2V4dGVudCBldmVudCBjbGFzcwotCi0gICAgZnNfaW5mbyBjYW4gYmUgZXh0cmFjdGVkIGZyb20gYnRyZnNfYmxvY2tfZ3JvdXBfY2FjaGUsIGFuZCBhbGwKLSAgICBidHJmc19ibG9ja19ncm91cF9jYWNoZSBpcyBjcmVhdGVkIGJ5IGJ0cmZzX2NyZWF0ZV9ibG9ja19ncm91cF9jYWNoZSgpCi0gICAgd2l0aCBmc19pbmZvIGluaXRpYWxpemVkLCBubyBuZWVkIHRvIHdvcnJ5IGFib3V0IE5VTEwgcG9pbnRlcgotICAgIGRlcmVmZXJlbmNlLgotCi1TaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIEplYW5zb24gPG1qZWFuc29uQGVmZmljaW9zLmNvbT4KLVNpZ25lZC1vZmYtYnk6IE1hdGhpZXUgRGVzbm95ZXJzIDxtYXRoaWV1LmRlc25veWVyc0BlZmZpY2lvcy5jb20+Ci1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1TaWduZWQtb2ZmLWJ5OiBIZSBaaGUgPHpoZS5oZUB3aW5kcml2ZXIuY29tPgotLS0tCi0gaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvYnRyZnMuaCB8IDU0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystCi0gMSBmaWxlIGNoYW5nZWQsIDUzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL2J0cmZzLmggYi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9idHJmcy5oCi1pbmRleCA3NWNjNzNiLi5mZDFiNmI4IDEwMDY0NAotLS0tIGEvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvYnRyZnMuaAotKysrIGIvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvYnRyZnMuaAotQEAgLTE2NTgsOCArMTY1OCw1NyBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKGJ0cmZzX19yZXNlcnZlZF9leHRlbnQsICBidHJmc19yZXNlcnZlZF9leHRlbnRfZgotIAotICNlbmRpZiAvKiAjZWxzZSAjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig0LDEwLDApKSAqLwotIAotLSNpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDQsMTQsMCkpCi0rI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCwxOCwwKSkKLStMVFROR19UUkFDRVBPSU5UX0VWRU5UX01BUChmaW5kX2ZyZWVfZXh0ZW50LAotKwotKwlidHJmc19maW5kX2ZyZWVfZXh0ZW50LAotKwotKwlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqaW5mbywgdTY0IG51bV9ieXRlcywgdTY0IGVtcHR5X3NpemUsCi0rCQkgdTY0IGRhdGEpLAotKwotKwlUUF9BUkdTKGluZm8sIG51bV9ieXRlcywgZW1wdHlfc2l6ZSwgZGF0YSksCi0rCi0rCVRQX0ZJRUxEUygKLSsJCWN0Zl9hcnJheSh1OCwgZnNpZCwgaW5mby0+ZnNpZCwgQlRSRlNfVVVJRF9TSVpFKQotKwkJY3RmX2ludGVnZXIodTY0LCBudW1fYnl0ZXMsIG51bV9ieXRlcykKLSsJCWN0Zl9pbnRlZ2VyKHU2NCwgZW1wdHlfc2l6ZSwgZW1wdHlfc2l6ZSkKLSsJCWN0Zl9pbnRlZ2VyKHU2NCwgZGF0YSwgZGF0YSkKLSsJKQotKykKLSsKLStMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKGJ0cmZzX19yZXNlcnZlX2V4dGVudCwKLSsKLSsJVFBfUFJPVE8oY29uc3Qgc3RydWN0IGJ0cmZzX2Jsb2NrX2dyb3VwX2NhY2hlICpibG9ja19ncm91cCwgdTY0IHN0YXJ0LAotKwkJIHU2NCBsZW4pLAotKwotKwlUUF9BUkdTKGJsb2NrX2dyb3VwLCBzdGFydCwgbGVuKSwKLSsKLSsJVFBfRklFTERTKAotKwkJY3RmX2FycmF5KHU4LCBmc2lkLCBibG9ja19ncm91cC0+ZnNfaW5mby0+ZnNpZCwgQlRSRlNfVVVJRF9TSVpFKQotKwkJY3RmX2ludGVnZXIodTY0LCBiZ19vYmplY3RpZCwgYmxvY2tfZ3JvdXAtPmtleS5vYmplY3RpZCkKLSsJCWN0Zl9pbnRlZ2VyKHU2NCwgZmxhZ3MsIGJsb2NrX2dyb3VwLT5mbGFncykKLSsJCWN0Zl9pbnRlZ2VyKHU2NCwgc3RhcnQsIHN0YXJ0KQotKwkJY3RmX2ludGVnZXIodTY0LCBsZW4sIGxlbikKLSsJKQotKykKLSsKLStMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKGJ0cmZzX19yZXNlcnZlX2V4dGVudCwgYnRyZnNfcmVzZXJ2ZV9leHRlbnQsCi0rCi0rCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBidHJmc19ibG9ja19ncm91cF9jYWNoZSAqYmxvY2tfZ3JvdXAsIHU2NCBzdGFydCwKLSsJCSB1NjQgbGVuKSwKLSsKLSsJVFBfQVJHUyhibG9ja19ncm91cCwgc3RhcnQsIGxlbikKLSspCi0rCi0rTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9JTlNUQU5DRShidHJmc19fcmVzZXJ2ZV9leHRlbnQsIGJ0cmZzX3Jlc2VydmVfZXh0ZW50X2NsdXN0ZXIsCi0rCi0rCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBidHJmc19ibG9ja19ncm91cF9jYWNoZSAqYmxvY2tfZ3JvdXAsIHU2NCBzdGFydCwKLSsJCSB1NjQgbGVuKSwKLSsKLSsJVFBfQVJHUyhibG9ja19ncm91cCwgc3RhcnQsIGxlbikKLSspCi0gCi0rI2VsaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig0LDE0LDApKQotIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfTUFQKGZpbmRfZnJlZV9leHRlbnQsCi0gCi0gCWJ0cmZzX2ZpbmRfZnJlZV9leHRlbnQsCi1AQCAtMTY3MCw2ICsxNzE5LDcgQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9NQVAoZmluZF9mcmVlX2V4dGVudCwKLSAJVFBfQVJHUyhpbmZvLCBudW1fYnl0ZXMsIGVtcHR5X3NpemUsIGRhdGEpLAotIAotIAlUUF9GSUVMRFMoCi0rCQljdGZfYXJyYXkodTgsIGZzaWQsIGluZm8tPmZzaWQsIEJUUkZTX1VVSURfU0laRSkKLSAJCWN0Zl9pbnRlZ2VyKHU2NCwgbnVtX2J5dGVzLCBudW1fYnl0ZXMpCi0gCQljdGZfaW50ZWdlcih1NjQsIGVtcHR5X3NpemUsIGVtcHR5X3NpemUpCi0gCQljdGZfaW50ZWdlcih1NjQsIGRhdGEsIGRhdGEpCi1AQCAtMTY4NSw2ICsxNzM1LDcgQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhidHJmc19fcmVzZXJ2ZV9leHRlbnQsCi0gCVRQX0FSR1MoaW5mbywgYmxvY2tfZ3JvdXAsIHN0YXJ0LCBsZW4pLAotIAotIAlUUF9GSUVMRFMoCi0rCQljdGZfYXJyYXkodTgsIGZzaWQsIGluZm8tPmZzaWQsIEJUUkZTX1VVSURfU0laRSkKLSAJCWN0Zl9pbnRlZ2VyKHU2NCwgYmdfb2JqZWN0aWQsIGJsb2NrX2dyb3VwLT5rZXkub2JqZWN0aWQpCi0gCQljdGZfaW50ZWdlcih1NjQsIGZsYWdzLCBibG9ja19ncm91cC0+ZmxhZ3MpCi0gCQljdGZfaW50ZWdlcih1NjQsIHN0YXJ0LCBzdGFydCkKLUBAIC0xNzIyLDYgKzE3NzMsNyBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UX01BUChmaW5kX2ZyZWVfZXh0ZW50LAotIAlUUF9BUkdTKGluZm8sIG51bV9ieXRlcywgZW1wdHlfc2l6ZSwgZGF0YSksCi0gCi0gCVRQX0ZJRUxEUygKLSsJCWN0Zl9hcnJheSh1OCwgZnNpZCwgaW5mby0+ZnNpZCwgQlRSRlNfVVVJRF9TSVpFKQotIAkJY3RmX2ludGVnZXIodTY0LCBudW1fYnl0ZXMsIG51bV9ieXRlcykKLSAJCWN0Zl9pbnRlZ2VyKHU2NCwgZW1wdHlfc2l6ZSwgZW1wdHlfc2l6ZSkKLSAJCWN0Zl9pbnRlZ2VyKHU2NCwgZGF0YSwgZGF0YSkKLS0tIAotMi4xMy4zCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDEtRml4LXNpZ25hbC1EaXN0aW5ndWlzaC1iZXR3ZWVuLWtlcm5lbF9zaWdpbmZvLWFuZC1zaS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDEtRml4LXNpZ25hbC1EaXN0aW5ndWlzaC1iZXR3ZWVuLWtlcm5lbF9zaWdpbmZvLWFuZC1zaS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTExODRkCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvMDAwMS1GaXgtc2lnbmFsLURpc3Rpbmd1aXNoLWJldHdlZW4ta2VybmVsX3NpZ2luZm8tYW5kLXNpLnBhdGNoCkBAIC0wLDAgKzEsMTMzIEBACitGcm9tIDBhMGQ3MzZlYzg5ZGZmZGJjODNlNzE4MTE2NmE5OWQ1NTYzYWNmZTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaWNoYWVsIEplYW5zb24gPG1qZWFuc29uQGVmZmljaW9zLmNvbT4KK0RhdGU6IE1vbiwgNSBOb3YgMjAxOCAxMTozNTo1MiAtMDUwMAorU3ViamVjdDogW1BBVENIIDEvOV0gRml4OiBzaWduYWw6IERpc3Rpbmd1aXNoIGJldHdlZW4ga2VybmVsX3NpZ2luZm8gYW5kCisgc2lnaW5mbyAodjQuMjApCisKK1NlZSB1cHN0cmVhbSBjb21taXQgOgorCisgIGNvbW1pdCBhZTc3OTViYzYxODdhMTVlYzUxY2YyNThhYmFlNjU2YTYyNWY5OTgwCisgIEF1dGhvcjogRXJpYyBXLiBCaWVkZXJtYW4gPGViaWVkZXJtQHhtaXNzaW9uLmNvbT4KKyAgRGF0ZTogICBUdWUgU2VwIDI1IDExOjI3OjIwIDIwMTggKzAyMDAKKworICAgIHNpZ25hbDogRGlzdGluZ3Vpc2ggYmV0d2VlbiBrZXJuZWxfc2lnaW5mbyBhbmQgc2lnaW5mbworCisgICAgTGludXMgcmVjZW50bHkgb2JzZXJ2ZWQgdGhhdCBpZiB3ZSBkaWQgbm90IHdvcnJ5IGFib3V0IHRoZSBwYWRkaW5nCisgICAgbWVtYmVyIGluIHN0cnVjdCBzaWdpbmZvIGl0IGlzIG9ubHkgYWJvdXQgNDggYnl0ZXMsIGFuZCA0OCBieXRlcyBpcworICAgIG11Y2ggbmljZXIgdGhhbiAxMjggYnl0ZXMgZm9yIGFsbG9jYXRpbmcgb24gdGhlIHN0YWNrIGFuZCBjb3B5aW5nCisgICAgYXJvdW5kIGluIHRoZSBrZXJuZWwuCisKKyAgICBUaGUgb2J2aW91cyB0aGluZyBvZiBvbmx5IGFkZGluZyB0aGUgcGFkZGluZyB3aGVuIHVzZXJzcGFjZSBpcworICAgIGluY2x1ZGluZyBzaWdpbmZvLmggd29uJ3Qgd29yayBhcyB0aGVyZSBhcmUgc2lnZnJhbWUgZGVmaW5pdGlvbnMgaW4KKyAgICB0aGUga2VybmVsIHRoYXQgZW1iZWQgc3RydWN0IHNpZ2luZm8uCisKKyAgICBTbyBzcGxpdCBzaWdpbmZvIGluIHR3bzsga2VybmVsX3NpZ2luZm8gYW5kIHNpZ2luZm8uICBLZWVwaW5nIHRoZQorICAgIHRyYWRpdGlvbmFsIG5hbWUgZm9yIHRoZSB1c2Vyc3BhY2UgZGVmaW5pdGlvbi4gIFdoaWxlIHRoZSB2ZXJzaW9uIHRoYXQKKyAgICBpcyB1c2VkIGludGVybmFsbHkgdG8gdGhlIGtlcm5lbCBhbmQgdWx0aW1hdGVseSB3aWxsIG5vdCBiZSBwYWRkZWQgdG8KKyAgICAxMjggYnl0ZXMgaXMgY2FsbGVkIGtlcm5lbF9zaWdpbmZvLgorCisgICAgVGhlIGRlZmluaXRpb24gb2Ygc3RydWN0IGtlcm5lbF9zaWdpbmZvIEkgaGF2ZSBwdXQgaW4gaW5jbHVkZS9zaWduYWxfdHlwZXMuaAorCisgICAgQSBzZXQgb2YgYnVpbGR0aW1lIGNoZWNrcyBoYXMgYmVlbiBhZGRlZCB0byB2ZXJpZnkgdGhlIHR3byBzdHJ1Y3R1cmVzIGhhdmUKKyAgICB0aGUgc2FtZSBmaWVsZCBvZmZzZXRzLgorCisgICAgVG8gbWFrZSBpdCBlYXN5IHRvIHZlcmlmeSB0aGUgY2hhbmdlIGtlcm5lbF9zaWdpbmZvIHJldGFpbnMgdGhlIHNhbWUKKyAgICBzaXplIGFzIHNpZ2luZm8uICBUaGUgcmVkdWN0aW9uIGluIHNpemUgY29tZXMgaW4gYSBmb2xsb3dpbmcgY2hhbmdlLgorCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIEplYW5zb24gPG1qZWFuc29uQGVmZmljaW9zLmNvbT4KK1NpZ25lZC1vZmYtYnk6IE1hdGhpZXUgRGVzbm95ZXJzIDxtYXRoaWV1LmRlc25veWVyc0BlZmZpY2lvcy5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogYmFja3BvcnQgaHR0cHM6Ly9naXRodWIuY29tL2x0dG5nL2x0dG5nLW1vZHVsZXMvY29tbWl0LzBhMGQ3MzZlYzg5ZGZmZGJjODNlNzE4MTE2NmE5OWQ1NTYzYWNmZTgKKworU2lnbmVkLW9mZi1ieTogQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQGdtYWlsLmNvbT4KKy0tLQorIGluc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3NpZ25hbC5oIHwgNDEgKysrKysrKysrKysrKysrKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3NpZ25hbC5oIGIvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvc2lnbmFsLmgKK2luZGV4IGIzYzkxMjYuLjg3ODNiNTIgMTAwNjQ0CistLS0gYS9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9zaWduYWwuaAorKysrIGIvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvc2lnbmFsLmgKK0BAIC0zNSwyMSArMzUsMjQgQEAKKyAgKiBTRU5EX1NJR19OT0lORk8gbWVhbnMgdGhhdCBzaV9jb2RlIGlzIFNJX1VTRVIsIGFuZCBTRU5EX1NJR19QUklWCisgICogbWVhbnMgdGhhdCBzaV9jb2RlIGlzIFNJX0tFUk5FTC4KKyAgKi8KKy0jaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsNCwwKSkKKysjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig0LDIwLDApKQorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlQoc2lnbmFsX2dlbmVyYXRlLAorIAorLQlUUF9QUk9UTyhpbnQgc2lnLCBzdHJ1Y3Qgc2lnaW5mbyAqaW5mbywgc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrKSwKKysJVFBfUFJPVE8oaW50IHNpZywgc3RydWN0IGtlcm5lbF9zaWdpbmZvICppbmZvLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2ssCisrCQkJaW50IGdyb3VwLCBpbnQgcmVzdWx0KSwKKyAKKy0JVFBfQVJHUyhzaWcsIGluZm8sIHRhc2spLAorKwlUUF9BUkdTKHNpZywgaW5mbywgdGFzaywgZ3JvdXAsIHJlc3VsdCksCisgCisgCVRQX0ZJRUxEUygKKyAJCWN0Zl9pbnRlZ2VyKGludCwgc2lnLCBzaWcpCisgCQlMVFROR19GSUVMRFNfU0lHSU5GTyhpbmZvKQorIAkJY3RmX2FycmF5X3RleHQoY2hhciwgY29tbSwgdGFzay0+Y29tbSwgVEFTS19DT01NX0xFTikKKyAJCWN0Zl9pbnRlZ2VyKHBpZF90LCBwaWQsIHRhc2stPnBpZCkKKysJCWN0Zl9pbnRlZ2VyKGludCwgZ3JvdXAsIGdyb3VwKQorKwkJY3RmX2ludGVnZXIoaW50LCByZXN1bHQsIHJlc3VsdCkKKyAJKQorICkKKy0jZWxzZQorKyNlbGlmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMyw0LDApKQorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlQoc2lnbmFsX2dlbmVyYXRlLAorIAorIAlUUF9QUk9UTyhpbnQgc2lnLCBzdHJ1Y3Qgc2lnaW5mbyAqaW5mbywgc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrLAorQEAgLTY2LDYgKzY5LDIwIEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlQoc2lnbmFsX2dlbmVyYXRlLAorIAkJY3RmX2ludGVnZXIoaW50LCByZXN1bHQsIHJlc3VsdCkKKyAJKQorICkKKysjZWxzZQorK0xUVE5HX1RSQUNFUE9JTlRfRVZFTlQoc2lnbmFsX2dlbmVyYXRlLAorKworKwlUUF9QUk9UTyhpbnQgc2lnLCBzdHJ1Y3Qgc2lnaW5mbyAqaW5mbywgc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrKSwKKysKKysJVFBfQVJHUyhzaWcsIGluZm8sIHRhc2spLAorKworKwlUUF9GSUVMRFMoCisrCQljdGZfaW50ZWdlcihpbnQsIHNpZywgc2lnKQorKwkJTFRUTkdfRklFTERTX1NJR0lORk8oaW5mbykKKysJCWN0Zl9hcnJheV90ZXh0KGNoYXIsIGNvbW0sIHRhc2stPmNvbW0sIFRBU0tfQ09NTV9MRU4pCisrCQljdGZfaW50ZWdlcihwaWRfdCwgcGlkLCB0YXNrLT5waWQpCisrCSkKKyspCisgI2VuZGlmCisgCisgLyoqCitAQCAtODIsNiArOTksMjEgQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChzaWduYWxfZ2VuZXJhdGUsCisgICogVGhpcyBtZWFucywgdGhpcyBjYW4gc2hvdyB3aGljaCBzaWduYWxzIGFyZSBhY3R1YWxseSBkZWxpdmVyZWQsIGJ1dAorICAqIG1hdGNoaW5nIGdlbmVyYXRlZCBzaWduYWxzIGFuZCBkZWxpdmVyZWQgc2lnbmFscyBtYXkgbm90IGJlIGNvcnJlY3QuCisgICovCisrI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCwyMCwwKSkKKytMVFROR19UUkFDRVBPSU5UX0VWRU5UKHNpZ25hbF9kZWxpdmVyLAorKworKwlUUF9QUk9UTyhpbnQgc2lnLCBzdHJ1Y3Qga2VybmVsX3NpZ2luZm8gKmluZm8sIHN0cnVjdCBrX3NpZ2FjdGlvbiAqa2EpLAorKworKwlUUF9BUkdTKHNpZywgaW5mbywga2EpLAorKworKwlUUF9GSUVMRFMoCisrCQljdGZfaW50ZWdlcihpbnQsIHNpZywgc2lnKQorKwkJTFRUTkdfRklFTERTX1NJR0lORk8oaW5mbykKKysJCWN0Zl9pbnRlZ2VyKHVuc2lnbmVkIGxvbmcsIHNhX2hhbmRsZXIsICh1bnNpZ25lZCBsb25nKSBrYS0+c2Euc2FfaGFuZGxlcikKKysJCWN0Zl9pbnRlZ2VyKHVuc2lnbmVkIGxvbmcsIHNhX2ZsYWdzLCBrYS0+c2Euc2FfZmxhZ3MpCisrCSkKKyspCisrI2Vsc2UKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UKHNpZ25hbF9kZWxpdmVyLAorIAorIAlUUF9QUk9UTyhpbnQgc2lnLCBzdHJ1Y3Qgc2lnaW5mbyAqaW5mbywgc3RydWN0IGtfc2lnYWN0aW9uICprYSksCitAQCAtOTUsNiArMTI3LDcgQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChzaWduYWxfZGVsaXZlciwKKyAJCWN0Zl9pbnRlZ2VyKHVuc2lnbmVkIGxvbmcsIHNhX2ZsYWdzLCBrYS0+c2Euc2FfZmxhZ3MpCisgCSkKKyApCisrI2VuZGlmCisgCisgI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDQsMCkpCisgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhzaWduYWxfcXVldWVfb3ZlcmZsb3csCistLSAKKzIuMTkuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDAyLUZpeC1zaWduYWwtUmVtb3ZlLVNFTkRfU0lHX0ZPUkNFRC12NC4yMC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDItRml4LXNpZ25hbC1SZW1vdmUtU0VORF9TSUdfRk9SQ0VELXY0LjIwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwNWI2ODEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDAyLUZpeC1zaWduYWwtUmVtb3ZlLVNFTkRfU0lHX0ZPUkNFRC12NC4yMC5wYXRjaApAQCAtMCwwICsxLDY3IEBACitGcm9tIDI2YmMwNjRhNGQ0Yzg1ZTYwMDAzOTNhYWRiMzg2NTlmOTliNTkxNjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaWNoYWVsIEplYW5zb24gPG1qZWFuc29uQGVmZmljaW9zLmNvbT4KK0RhdGU6IE1vbiwgNSBOb3YgMjAxOCAxMTozNTo1MyAtMDUwMAorU3ViamVjdDogW1BBVENIIDIvOV0gRml4OiBzaWduYWw6IFJlbW92ZSBTRU5EX1NJR19GT1JDRUQgKHY0LjIwKQorCitTZWUgdXBzdHJlYW0gY29tbWl0IDoKKworICBjb21taXQgNGZmNGMzMWE2ZTg1ZjRjNDlmYmVlYmVhYTI4MDE4ZDAwMjg4NGI1YQorICBBdXRob3I6IEVyaWMgVy4gQmllZGVybWFuIDxlYmllZGVybUB4bWlzc2lvbi5jb20+CisgIERhdGU6ICAgTW9uIFNlcCAzIDEwOjM5OjA0IDIwMTggKzAyMDAKKworICAgIHNpZ25hbDogUmVtb3ZlIFNFTkRfU0lHX0ZPUkNFRAorCisgICAgVGhlcmUgYXJlIG5vIG1vcmUgdXNlcnMgb2YgU0VORF9TSUdfRk9SQ0VEIHNvIGl0IG1heSBiZSBzYWZlbHkgcmVtb3ZlZC4KKworICAgIFJlbW92ZSB0aGUgZGVmaW5pdGlvbiBvZiBTRU5EX1NJR19GT1JDRUQsIGl0J3MgdXNlIGluIGlzX3NpX3NwZWNpYWwsCisgICAgaXQncyB1c2UgaW4gVFBfU1RPUkVfU0lHSU5GTywgYW5kIGl0J3MgdXNlIGluIF9fc2VuZF9zaWduYWwgYXMgd2l0aG91dAorICAgIGFueSB1c2VycyB0aGUgdXNlcyBvZiBTRU5EX1NJR19GT1JDRUQgYXJlIG5vdyB1bm5jZXNzYXJ5LgorCisgICAgVGhpcyBtYWtlcyB0aGUgY29kZSBzaW1wbGVyLCBlYXNpZXIgdG8gdW5kZXJzdGFuZCBhbmQgdXNlLiAgVXNlcnMgb2YKKyAgICBzaWduYWwgc2VuZGluZyBmdW5jdGlvbnMgbm93IG5vIGxvbmdlciBuZWVkIHRvIGFzayB0aGVtc2VsdmVzIGRvIEkKKyAgICBuZWVkIHRvIHVzZSBTRU5EX1NJR19GT1JDRUQuCisKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgSmVhbnNvbiA8bWplYW5zb25AZWZmaWNpb3MuY29tPgorU2lnbmVkLW9mZi1ieTogTWF0aGlldSBEZXNub3llcnMgPG1hdGhpZXUuZGVzbm95ZXJzQGVmZmljaW9zLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBiYWNrcG9ydCBodHRwczovL2dpdGh1Yi5jb20vbHR0bmcvbHR0bmctbW9kdWxlcy9jb21taXQvMjZiYzA2NGE0ZDRjODVlNjAwMDM5M2FhZGIzODY1OWY5OWI1OTE2MgorCitTaWduZWQtb2ZmLWJ5OiBCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAZ21haWwuY29tPiAKKworLS0tCisgaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvc2lnbmFsLmggfCAxMiArKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvc2lnbmFsLmggYi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9zaWduYWwuaAoraW5kZXggODc4M2I1Mi4uYWQ4ZmU2OSAxMDA2NDQKKy0tLSBhL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3NpZ25hbC5oCisrKysgYi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9zaWduYWwuaAorQEAgLTEyLDYgKzEyLDE3IEBACisgI2luY2x1ZGUgPGxpbnV4L3NpZ25hbC5oPgorICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorICN1bmRlZiBMVFROR19GSUVMRFNfU0lHSU5GTworKyNpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDQsMjAsMCkpCisrI2RlZmluZSBMVFROR19GSUVMRFNfU0lHSU5GTyhpbmZvKQkJCQlcCisrCQljdGZfaW50ZWdlcihpbnQsIGVycm5vLAkJCQlcCisrCQkJKGluZm8gPT0gU0VORF9TSUdfTk9JTkZPIHx8IGluZm8gPT0gU0VORF9TSUdfUFJJVikgPyBcCisrCQkJMCA6CQkJCQlcCisrCQkJaW5mby0+c2lfZXJybm8pCQkJCVwKKysJCWN0Zl9pbnRlZ2VyKGludCwgY29kZSwJCQkJXAorKwkJCShpbmZvID09IFNFTkRfU0lHX05PSU5GTykgPyAJCVwKKysJCQlTSV9VU0VSIDogCQkJCVwKKysJCQkoKGluZm8gPT0gU0VORF9TSUdfUFJJVikgPyBTSV9LRVJORUwgOiBpbmZvLT5zaV9jb2RlKSkKKysjZWxzZSAvKiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCwyMCwwKSAqLworICNkZWZpbmUgTFRUTkdfRklFTERTX1NJR0lORk8oaW5mbykJCQkJXAorIAkJY3RmX2ludGVnZXIoaW50LCBlcnJubywJCQkJXAorIAkJCShpbmZvID09IFNFTkRfU0lHX05PSU5GTyB8fCBpbmZvID09IFNFTkRfU0lHX0ZPUkNFRCB8fCBpbmZvID09IFNFTkRfU0lHX1BSSVYpID8gXAorQEAgLTIxLDYgKzMyLDcgQEAKKyAJCQkoaW5mbyA9PSBTRU5EX1NJR19OT0lORk8gfHwgaW5mbyA9PSBTRU5EX1NJR19GT1JDRUQpID8gXAorIAkJCVNJX1VTRVIgOiAJCQkJXAorIAkJCSgoaW5mbyA9PSBTRU5EX1NJR19QUklWKSA/IFNJX0tFUk5FTCA6IGluZm8tPnNpX2NvZGUpKQorKyNlbmRpZiAvKiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCwyMCwwKSAqLworICNlbmRpZiAvKiBfVFJBQ0VfU0lHTkFMX0RFRiAqLworIAorIC8qKgorLS0gCisyLjE5LjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvMDAwMy1GaXgtZXh0NC1hZGp1c3QtcmVzZXJ2ZWQtY2x1c3Rlci1jb3VudC13aGVuLXJlbW92aW5nLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvMDAwMy1GaXgtZXh0NC1hZGp1c3QtcmVzZXJ2ZWQtY2x1c3Rlci1jb3VudC13aGVuLXJlbW92aW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlZGZmZWUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDAzLUZpeC1leHQ0LWFkanVzdC1yZXNlcnZlZC1jbHVzdGVyLWNvdW50LXdoZW4tcmVtb3ZpbmcucGF0Y2gKQEAgLTAsMCArMSwxNDkgQEAKK0Zyb20gY2I5ZjFhODIxYmNmNTVjZWNmMzgxMzE5NWZkNmQ0ZWZmODA3MDkyNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgSmVhbnNvbiA8bWplYW5zb25AZWZmaWNpb3MuY29tPgorRGF0ZTogTW9uLCA1IE5vdiAyMDE4IDExOjM1OjU0IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0ggMy85XSBGaXg6IGV4dDQ6IGFkanVzdCByZXNlcnZlZCBjbHVzdGVyIGNvdW50IHdoZW4gcmVtb3ZpbmcKKyBleHRlbnRzICh2NC4yMCkKKworU2VlIHVwc3RyZWFtIGNvbW1pdCA6CisKKyAgY29tbWl0IDlmZTY3MTQ5NmI2YzI4NmY5MDMzYWVkZmMxNzE4ZDY3NzIxZGEwYWUKKyAgQXV0aG9yOiBFcmljIFdoaXRuZXkgPGVud2xpbnV4QGdtYWlsLmNvbT4KKyAgRGF0ZTogICBNb24gT2N0IDEgMTQ6MjU6MDggMjAxOCAtMDQwMAorCisgICAgZXh0NDogYWRqdXN0IHJlc2VydmVkIGNsdXN0ZXIgY291bnQgd2hlbiByZW1vdmluZyBleHRlbnRzCisKKyAgICBNb2RpZnkgZXh0NF9leHRfcmVtb3ZlX3NwYWNlKCkgYW5kIHRoZSBjb2RlIGl0IGNhbGxzIHRvIGNvcnJlY3QgdGhlCisgICAgcmVzZXJ2ZWQgY2x1c3RlciBjb3VudCBmb3IgcGVuZGluZyByZXNlcnZhdGlvbnMgKGRlbGF5ZWQgYWxsb2NhdGVkCisgICAgY2x1c3RlcnMgc2hhcmVkIHdpdGggYWxsb2NhdGVkIGJsb2Nrcykgd2hlbiBhIGJsb2NrIHJhbmdlIGlzIHJlbW92ZWQKKyAgICBmcm9tIHRoZSBleHRlbnQgdHJlZS4gIFBlbmRpbmcgcmVzZXJ2YXRpb25zIG1heSBiZSBmb3VuZCBmb3IgdGhlIGNsdXN0ZXJzCisgICAgYXQgdGhlIGVuZHMgb2Ygd3JpdHRlbiBvciB1bndyaXR0ZW4gZXh0ZW50cyB3aGVuIGEgYmxvY2sgcmFuZ2UgaXMgcmVtb3ZlZC4KKyAgICBJZiBhIHBoeXNpY2FsIGNsdXN0ZXIgYXQgdGhlIGVuZCBvZiBhbiBleHRlbnQgaXMgZnJlZWQsIGl0J3MgbmVjZXNzYXJ5CisgICAgdG8gaW5jcmVtZW50IHRoZSByZXNlcnZlZCBjbHVzdGVyIGNvdW50IHRvIG1haW50YWluIGNvcnJlY3QgYWNjb3VudGluZworICAgIGlmIHRoZSBjb3JyZXNwb25kaW5nIGxvZ2ljYWwgY2x1c3RlciBpcyBzaGFyZWQgd2l0aCBhdCBsZWFzdCBvbmUKKyAgICBkZWxheWVkIGFuZCB1bndyaXR0ZW4gZXh0ZW50IGFzIGZvdW5kIGluIHRoZSBleHRlbnRzIHN0YXR1cyB0cmVlLgorCisgICAgQWRkIGEgbmV3IGZ1bmN0aW9uLCBleHQ0X3JlcmVzZXJ2ZV9jbHVzdGVyKCksIHRvIHJlYXBwbHkgYSByZXNlcnZhdGlvbgorICAgIG9uIGEgZGVsYXllZCBhbGxvY2F0ZWQgY2x1c3RlciBzaGFyaW5nIGJsb2NrcyB3aXRoIGEgZnJlZWQgYWxsb2NhdGVkCisgICAgY2x1c3Rlci4gIFRvIGF2b2lkIEVOT1NQQyBvbiByZXNlcnZhdGlvbiwgYSBmbGFnIGlzIGFwcGxpZWQgdG8KKyAgICBleHQ0X2ZyZWVfYmxvY2tzKCkgdG8gYnJpZWZseSBkZWZlciB1cGRhdGluZyB0aGUgZnJlZWNsdXN0ZXJzIGNvdW50ZXIKKyAgICB3aGVuIGFuIGFsbG9jYXRlZCBjbHVzdGVyIGlzIGZyZWVkLiAgVGhpcyBwcmV2ZW50cyBhbm90aGVyIHRocmVhZAorICAgIGZyb20gYWxsb2NhdGluZyB0aGUgZnJlZWQgYmxvY2sgYmVmb3JlIHRoZSByZXNlcnZhdGlvbiBjYW4gYmUgcmVhcHBsaWVkLgorCisgICAgUmVkZWZpbmUgdGhlIHBhcnRpYWwgY2x1c3RlciBvYmplY3QgYXMgYSBzdHJ1Y3QgdG8gY2FycnkgbW9yZSBzdGF0ZQorICAgIGluZm9ybWF0aW9uIGFuZCB0byBjbGFyaWZ5IHRoZSBjb2RlIHVzaW5nIGl0LgorCisgICAgQWRqdXN0IHRoZSBjb25kaXRpb25hbCBjb2RlIHN0cnVjdHVyZSBpbiBleHQ0X2V4dF9yZW1vdmVfc3BhY2UgdG8KKyAgICByZWR1Y2UgdGhlIGluZGVudGF0aW9uIGxldmVsIGluIHRoZSBtYWluIGJvZHkgb2YgdGhlIGNvZGUgdG8gaW1wcm92ZQorICAgIHJlYWRhYmlsaXR5LgorCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIEplYW5zb24gPG1qZWFuc29uQGVmZmljaW9zLmNvbT4KK1NpZ25lZC1vZmYtYnk6IE1hdGhpZXUgRGVzbm95ZXJzIDxtYXRoaWV1LmRlc25veWVyc0BlZmZpY2lvcy5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogYmFja3BvcnQgaHR0cHM6Ly9naXRodWIuY29tL2x0dG5nL2x0dG5nLW1vZHVsZXMvY29tbWl0L2NiOWYxYTgyMWJjZjU1Y2VjZjM4MTMxOTVmZDZkNGVmZjgwNzA5MjcKKworU2lnbmVkLW9mZi1ieTogQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQGdtYWlsLmNvbT4KKworLS0tCisgaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvZXh0NC5oIHwgNzIgKysrKysrKysrKysrKysrKysrKysrLQorIDEgZmlsZSBjaGFuZ2VkLCA2OSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvZXh0NC5oIGIvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvZXh0NC5oCitpbmRleCBmZTZmODAyLi44M2E4MGJhIDEwMDY0NAorLS0tIGEvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvZXh0NC5oCisrKysgYi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9leHQ0LmgKK0BAIC0xNjAyLDcgKzE2MDIsMzAgQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChleHQ0X2V4dF9zaG93X2V4dGVudCwKKyAJKQorICkKKyAKKy0jaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigzLDExLDApKQorKyNpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDQsMjAsMCkpCisrCisrTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChleHQ0X3JlbW92ZV9ibG9ja3MsCisrCVRQX1BST1RPKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBleHQ0X2V4dGVudCAqZXgsCisrCQkgZXh0NF9sYmxrX3QgZnJvbSwgZXh0NF9mc2Jsa190IHRvLAorKwkJIHN0cnVjdCBwYXJ0aWFsX2NsdXN0ZXIgKnBjKSwKKysKKysJVFBfQVJHUyhpbm9kZSwgZXgsIGZyb20sIHRvLCBwYyksCisrCisrCVRQX0ZJRUxEUygKKysJCWN0Zl9pbnRlZ2VyKGRldl90LCBkZXYsIGlub2RlLT5pX3NiLT5zX2RldikKKysJCWN0Zl9pbnRlZ2VyKGlub190LCBpbm8sIGlub2RlLT5pX2lubykKKysJCWN0Zl9pbnRlZ2VyKGV4dDRfbGJsa190LCBmcm9tLCBmcm9tKQorKwkJY3RmX2ludGVnZXIoZXh0NF9sYmxrX3QsIHRvLCB0bykKKysJCWN0Zl9pbnRlZ2VyKGV4dDRfZnNibGtfdCwgZWVfcGJsaywgZXh0NF9leHRfcGJsb2NrKGV4KSkKKysJCWN0Zl9pbnRlZ2VyKGV4dDRfbGJsa190LCBlZV9sYmxrLCBsZTMyX3RvX2NwdShleC0+ZWVfYmxvY2spKQorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgc2hvcnQsIGVlX2xlbiwgZXh0NF9leHRfZ2V0X2FjdHVhbF9sZW4oZXgpKQorKwkJY3RmX2ludGVnZXIoZXh0NF9mc2Jsa190LCBwY19wY2x1LCBwYy0+cGNsdSkKKysJCWN0Zl9pbnRlZ2VyKGV4dDRfbGJsa190LCBwY19sYmxrLCBwYy0+bGJsaykKKysJCWN0Zl9pbnRlZ2VyKGludCwgcGNfc3RhdGUsIHBjLT5zdGF0ZSkKKysJKQorKykKKysKKysjZWxpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsMTEsMCkpCisgCisgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChleHQ0X3JlbW92ZV9ibG9ja3MsCisgCSAgICBUUF9QUk9UTyhzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZXh0NF9leHRlbnQgKmV4LAorQEAgLTE2NDYsNyArMTY2OSwyOSBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UKGV4dDRfcmVtb3ZlX2Jsb2NrcywKKyAKKyAjZW5kaWYKKyAKKy0jaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigzLDExLDApKQorKyNpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDQsMjAsMCkpCisrCisrTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChleHQ0X2V4dF9ybV9sZWFmLAorKwlUUF9QUk9UTyhzdHJ1Y3QgaW5vZGUgKmlub2RlLCBleHQ0X2xibGtfdCBzdGFydCwKKysJCSBzdHJ1Y3QgZXh0NF9leHRlbnQgKmV4LAorKwkJIHN0cnVjdCBwYXJ0aWFsX2NsdXN0ZXIgKnBjKSwKKysKKysJVFBfQVJHUyhpbm9kZSwgc3RhcnQsIGV4LCBwYyksCisrCisrCVRQX0ZJRUxEUygKKysJCWN0Zl9pbnRlZ2VyKGRldl90LCBkZXYsIGlub2RlLT5pX3NiLT5zX2RldikKKysJCWN0Zl9pbnRlZ2VyKGlub190LCBpbm8sIGlub2RlLT5pX2lubykKKysJCWN0Zl9pbnRlZ2VyKGV4dDRfbGJsa190LCBzdGFydCwgc3RhcnQpCisrCQljdGZfaW50ZWdlcihleHQ0X2xibGtfdCwgZWVfbGJsaywgbGUzMl90b19jcHUoZXgtPmVlX2Jsb2NrKSkKKysJCWN0Zl9pbnRlZ2VyKGV4dDRfZnNibGtfdCwgZWVfcGJsaywgZXh0NF9leHRfcGJsb2NrKGV4KSkKKysJCWN0Zl9pbnRlZ2VyKHNob3J0LCBlZV9sZW4sIGV4dDRfZXh0X2dldF9hY3R1YWxfbGVuKGV4KSkKKysJCWN0Zl9pbnRlZ2VyKGV4dDRfZnNibGtfdCwgcGNfcGNsdSwgcGMtPnBjbHUpCisrCQljdGZfaW50ZWdlcihleHQ0X2xibGtfdCwgcGNfbGJsaywgcGMtPmxibGspCisrCQljdGZfaW50ZWdlcihpbnQsIHBjX3N0YXRlLCBwYy0+c3RhdGUpCisrCSkKKyspCisrCisrI2VsaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigzLDExLDApKQorIAorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlQoZXh0NF9leHRfcm1fbGVhZiwKKyAJVFBfUFJPVE8oc3RydWN0IGlub2RlICppbm9kZSwgZXh0NF9sYmxrX3Qgc3RhcnQsCitAQCAtMTczMyw3ICsxNzc4LDI4IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlQoZXh0NF9leHRfcmVtb3ZlX3NwYWNlLAorIAorICNlbmRpZgorIAorLSNpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsMTEsMCkpCisrI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCwyMCwwKSkKKysKKytMVFROR19UUkFDRVBPSU5UX0VWRU5UKGV4dDRfZXh0X3JlbW92ZV9zcGFjZV9kb25lLAorKwlUUF9QUk9UTyhzdHJ1Y3QgaW5vZGUgKmlub2RlLCBleHQ0X2xibGtfdCBzdGFydCwgZXh0NF9sYmxrX3QgZW5kLAorKwkJIGludCBkZXB0aCwgc3RydWN0IHBhcnRpYWxfY2x1c3RlciAqcGMsIF9fbGUxNiBlaF9lbnRyaWVzKSwKKysKKysJVFBfQVJHUyhpbm9kZSwgc3RhcnQsIGVuZCwgZGVwdGgsIHBjLCBlaF9lbnRyaWVzKSwKKysKKysJVFBfRklFTERTKAorKwkJY3RmX2ludGVnZXIoZGV2X3QsIGRldiwgaW5vZGUtPmlfc2ItPnNfZGV2KQorKwkJY3RmX2ludGVnZXIoaW5vX3QsIGlubywgaW5vZGUtPmlfaW5vKQorKwkJY3RmX2ludGVnZXIoZXh0NF9sYmxrX3QsIHN0YXJ0LCBzdGFydCkKKysJCWN0Zl9pbnRlZ2VyKGV4dDRfbGJsa190LCBlbmQsIGVuZCkKKysJCWN0Zl9pbnRlZ2VyKGludCwgZGVwdGgsIGRlcHRoKQorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgc2hvcnQsIGVoX2VudHJpZXMsIGxlMTZfdG9fY3B1KGVoX2VudHJpZXMpKQorKwkJY3RmX2ludGVnZXIoZXh0NF9mc2Jsa190LCBwY19wY2x1LCBwYy0+cGNsdSkKKysJCWN0Zl9pbnRlZ2VyKGV4dDRfbGJsa190LCBwY19sYmxrLCBwYy0+bGJsaykKKysJCWN0Zl9pbnRlZ2VyKGludCwgcGNfc3RhdGUsIHBjLT5zdGF0ZSkKKysJKQorKykKKysKKysjZWxpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsMTEsMCkpCisgCisgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChleHQ0X2V4dF9yZW1vdmVfc3BhY2VfZG9uZSwKKyAJVFBfUFJPVE8oc3RydWN0IGlub2RlICppbm9kZSwgZXh0NF9sYmxrX3Qgc3RhcnQsIGV4dDRfbGJsa190IGVuZCwKKy0tIAorMi4xOS4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDQtRml4LXRpbWVyLWluc3RydW1lbnRhdGlvbi1mb3ItUkhFTC03LjYucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDA0LUZpeC10aW1lci1pbnN0cnVtZW50YXRpb24tZm9yLVJIRUwtNy42LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1ZDUwZGIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDA0LUZpeC10aW1lci1pbnN0cnVtZW50YXRpb24tZm9yLVJIRUwtNy42LnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK0Zyb20gNGVhZWI1NGEyN2ZiZjcwMWMyYTQ5MDhhNmU5MGE5NzhiOTNkZWIwNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgSmVhbnNvbiA8bWplYW5zb25AZWZmaWNpb3MuY29tPgorRGF0ZTogVGh1LCA2IERlYyAyMDE4IDExOjMxOjUxIC0wNTAwCitTdWJqZWN0OiBbUEFUQ0ggNC85XSBGaXg6IHRpbWVyIGluc3RydW1lbnRhdGlvbiBmb3IgUkhFTCA3LjYKKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCBKZWFuc29uIDxtamVhbnNvbkBlZmZpY2lvcy5jb20+CitTaWduZWQtb2ZmLWJ5OiBNYXRoaWV1IERlc25veWVycyA8bWF0aGlldS5kZXNub3llcnNAZWZmaWNpb3MuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IGJhY2twb3J0IGh0dHBzOi8vZ2l0aHViLmNvbS9sdHRuZy9sdHRuZy1tb2R1bGVzL2NvbW1pdC80ZWFlYjU0YTI3ZmJmNzAxYzJhNDkwOGE2ZTkwYTk3OGI5M2RlYjA2CisKK1NpZ25lZC1vZmYtYnk6IEJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEBnbWFpbC5jb20+CistLS0KKyBpbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5oIHwgMyArKy0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5oIGIvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaAoraW5kZXggNmYwY2I3Zi4uODgwN2FkNSAxMDA2NDQKKy0tLSBhL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmgKKysrKyBiL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmgKK0BAIC00NCw3ICs0NCw4IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UodGltZXJfY2xhc3MsIHRpbWVyX2luaXQsCisgCVRQX0FSR1ModGltZXIpCisgKQorIAorLSNpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDQsMiwwKSkKKysjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig0LDIsMCkgfHwgXAorKwlMVFROR19SSEVMX0tFUk5FTF9SQU5HRSgzLDEwLDAsOTU3LDAsMCwgMywxMSwwLDAsMCwwKSkKKyAvKioKKyAgKiB0aW1lcl9zdGFydCAtIGNhbGxlZCB3aGVuIHRoZSB0aW1lciBpcyBzdGFydGVkCisgICogQHRpbWVyOglwb2ludGVyIHRvIHN0cnVjdCB0aW1lcl9saXN0CistLSAKKzIuMTkuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDA1LUZpeC1SZW1vdmUtdHlwZS1hcmd1bWVudC1mcm9tLWFjY2Vzc19vay1mdW5jdGlvbi12NS4ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDA1LUZpeC1SZW1vdmUtdHlwZS1hcmd1bWVudC1mcm9tLWFjY2Vzc19vay1mdW5jdGlvbi12NS4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjI2NmJiZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDUtRml4LVJlbW92ZS10eXBlLWFyZ3VtZW50LWZyb20tYWNjZXNzX29rLWZ1bmN0aW9uLXY1Li5wYXRjaApAQCAtMCwwICsxLDIwNCBAQAorRnJvbSAwMDM5ZGJlOTg5MWNmZGYyYzBkMDQ2OTFmODNjMmYzNDI5OTNkZmQ3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWljaGFlbCBKZWFuc29uIDxtamVhbnNvbkBlZmZpY2lvcy5jb20+CitEYXRlOiBXZWQsIDkgSmFuIDIwMTkgMTQ6NTk6MTUgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSCA1LzldIEZpeDogUmVtb3ZlICd0eXBlJyBhcmd1bWVudCBmcm9tIGFjY2Vzc19vaygpIGZ1bmN0aW9uCisgKHY1LjApCisKK1NlZSB1cHN0cmVhbSBjb21taXQgOgorCisgIGNvbW1pdCA5NmQ0ZjI2N2U0MGY5NTA5ZThhNjZlMmIzOWU4Yjk1NjU1NjE3NjkzCisgIEF1dGhvcjogTGludXMgVG9ydmFsZHMgPHRvcnZhbGRzQGxpbnV4LWZvdW5kYXRpb24ub3JnPgorICBEYXRlOiAgIFRodSBKYW4gMyAxODo1Nzo1NyAyMDE5IC0wODAwCisKKyAgICBSZW1vdmUgJ3R5cGUnIGFyZ3VtZW50IGZyb20gYWNjZXNzX29rKCkgZnVuY3Rpb24KKworICAgIE5vYm9keSBoYXMgYWN0dWFsbHkgdXNlZCB0aGUgdHlwZSAoVkVSSUZZX1JFQUQgdnMgVkVSSUZZX1dSSVRFKSBhcmd1bWVudAorICAgIG9mIHRoZSB1c2VyIGFkZHJlc3MgcmFuZ2UgdmVyaWZpY2F0aW9uIGZ1bmN0aW9uIHNpbmNlIHdlIGdvdCByaWQgb2YgdGhlCisgICAgb2xkIHJhY3kgaTM4Ni1vbmx5IGNvZGUgdG8gd2FsayBwYWdlIHRhYmxlcyBieSBoYW5kLgorCisgICAgSXQgZXhpc3RlZCBiZWNhdXNlIHRoZSBvcmlnaW5hbCA4MDM4NiB3b3VsZCBub3QgaG9ub3IgdGhlIHdyaXRlIHByb3RlY3QKKyAgICBiaXQgd2hlbiBpbiBrZXJuZWwgbW9kZSwgc28geW91IGhhZCB0byBkbyBDT1cgYnkgaGFuZCBiZWZvcmUgZG9pbmcgYW55CisgICAgdXNlciBhY2Nlc3MuICBCdXQgd2UgaGF2ZW4ndCBzdXBwb3J0ZWQgdGhhdCBpbiBhIGxvbmcgdGltZSwgYW5kIHRoZXNlCisgICAgZGF5cyB0aGUgJ3R5cGUnIGFyZ3VtZW50IGlzIGEgcHVyZWx5IGhpc3RvcmljYWwgYXJ0aWZhY3QuCisKKyAgICBBIGRpc2N1c3Npb24gYWJvdXQgZXh0ZW5kaW5nICd1c2VyX2FjY2Vzc19iZWdpbigpJyB0byBkbyB0aGUgcmFuZ2UKKyAgICBjaGVja2luZyByZXN1bHRlZCB0aGlzIHBhdGNoLCBiZWNhdXNlIHRoZXJlIGlzIG5vIHdheSB3ZSdyZSBnb2luZyB0bworICAgIG1vdmUgdGhlIG9sZCBWRVJJRllfeHl6IGludGVyZmFjZSB0byB0aGF0IG1vZGVsLiAgQW5kIGl0J3MgYmVzdCBkb25lIGF0CisgICAgdGhlIGVuZCBvZiB0aGUgbWVyZ2Ugd2luZG93IHdoZW4gSSd2ZSBkb25lIG1vc3Qgb2YgbXkgbWVyZ2VzLCBzbyBsZXQncworICAgIGp1c3QgZ2V0IHRoaXMgZG9uZSBvbmNlIGFuZCBmb3IgYWxsLgorCisgICAgVGhpcyBwYXRjaCB3YXMgbW9zdGx5IGRvbmUgd2l0aCBhIHNlZC1zY3JpcHQsIHdpdGggbWFudWFsIGZpeC11cHMgZm9yCisgICAgdGhlIGNhc2VzIHRoYXQgd2VyZW4ndCBvZiB0aGUgdHJpdmlhbCAnYWNjZXNzX29rKFZFUklGWV94eXonIGZvcm0uCisKKyAgICBUaGVyZSB3ZXJlIGEgY291cGxlIG9mIG5vdGFibGUgY2FzZXM6CisKKyAgICAgLSBjc2t5IHN0aWxsIGhhZCB0aGUgb2xkICJ2ZXJpZnlfYXJlYSgpIiBuYW1lIGFzIGFuIGFsaWFzLgorCisgICAgIC0gdGhlIGl0ZXJfaW92IGNvZGUgaGFkIG1hZ2ljYWwgaGFyZGNvZGVkIGtub3dsZWRnZSBvZiB0aGUgYWN0dWFsCisgICAgICAgdmFsdWVzIG9mIFZFUklGWV97UkVBRCxXUklURX0gKG5vdCB0aGF0IHRoZXkgbWF0dGVyZWQsIHNpbmNlIG5vdGhpbmcKKyAgICAgICByZWFsbHkgdXNlZCBpdCkKKworICAgICAtIG1pY3JvYmxhemUgdXNlZCB0aGUgdHlwZSBhcmd1bWVudCBmb3IgYSBkZWJ1ZyBwcmludG91dAorCisgICAgYnV0IG90aGVyIHRoYW4gdGhvc2Ugb2RkaXRpZXMgdGhpcyBzaG91bGQgYmUgYSB0b3RhbCBuby1vcCBwYXRjaC4KKworICAgIEkgdHJpZWQgdG8gZml4IHVwIGFsbCBhcmNoaXRlY3R1cmVzLCBkaWQgZmFpcmx5IGV4dGVuc2l2ZSBncmVwcGluZyBmb3IKKyAgICBhY2Nlc3Nfb2soKSB1c2VzLCBhbmQgdGhlIGNoYW5nZXMgYXJlIHRyaXZpYWwsIGJ1dCBJIG1heSBoYXZlIG1pc3NlZAorICAgIHNvbWV0aGluZy4gIEFueSBtaXNzZWQgY29udmVyc2lvbiBzaG91bGQgYmUgdHJpdmlhbGx5IGZpeGFibGUsIHRob3VnaC4KKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCBKZWFuc29uIDxtamVhbnNvbkBlZmZpY2lvcy5jb20+CitTaWduZWQtb2ZmLWJ5OiBNYXRoaWV1IERlc25veWVycyA8bWF0aGlldS5kZXNub3llcnNAZWZmaWNpb3MuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IGJhY2twb3J0IGh0dHBzOi8vZ2l0aHViLmNvbS9sdHRuZy9sdHRuZy1tb2R1bGVzL2NvbW1pdC8wMDM5ZGJlOTg5MWNmZGYyYzBkMDQ2OTFmODNjMmYzNDI5OTNkZmQ3CisKK1NpZ25lZC1vZmYtYnk6IEJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEBnbWFpbC5jb20+CistLS0KKyBsaWIvcmluZ2J1ZmZlci9iYWNrZW5kLmggICAgICAgICAgICAgIHwgIDggKysrKy0tLS0KKyBsaWIvcmluZ2J1ZmZlci9yaW5nX2J1ZmZlcl9pdGVyYXRvci5jIHwgIDMgKystCisgbHR0bmctZmlsdGVyLWludGVycHJldGVyLmMgICAgICAgICAgICB8ICA0ICsrLS0KKyBwcm9iZXMvbHR0bmctcHJvYmUtdXNlci5jICAgICAgICAgICAgIHwgIDMgKystCisgd3JhcHBlci91YWNjZXNzLmggICAgICAgICAgICAgICAgICAgICB8IDI4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKworIDUgZmlsZXMgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgd3JhcHBlci91YWNjZXNzLmgKKworZGlmZiAtLWdpdCBhL2xpYi9yaW5nYnVmZmVyL2JhY2tlbmQuaCBiL2xpYi9yaW5nYnVmZmVyL2JhY2tlbmQuaAoraW5kZXggMGI3NWRlOC4uM2Y4YzEwOCAxMDA2NDQKKy0tLSBhL2xpYi9yaW5nYnVmZmVyL2JhY2tlbmQuaAorKysrIGIvbGliL3JpbmdidWZmZXIvYmFja2VuZC5oCitAQCAtMzQsNyArMzQsNyBAQAorICNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CisgI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CisgI2luY2x1ZGUgPGxpbnV4L21tLmg+CistI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKysjaW5jbHVkZSA8d3JhcHBlci91YWNjZXNzLmg+CisgCisgLyogSW50ZXJuYWwgaGVscGVycyAqLworICNpbmNsdWRlIDx3cmFwcGVyL3JpbmdidWZmZXIvYmFja2VuZF9pbnRlcm5hbC5oPgorQEAgLTMwMiw3ICszMDIsNyBAQCB2b2lkIGxpYl9yaW5nX2J1ZmZlcl9jb3B5X2Zyb21fdXNlcl9pbmF0b21pYyhjb25zdCBzdHJ1Y3QgbGliX3JpbmdfYnVmZmVyX2NvbmZpZworIAorIAlzZXRfZnMoS0VSTkVMX0RTKTsKKyAJcGFnZWZhdWx0X2Rpc2FibGUoKTsKKy0JaWYgKHVubGlrZWx5KCFhY2Nlc3Nfb2soVkVSSUZZX1JFQUQsIHNyYywgbGVuKSkpCisrCWlmICh1bmxpa2VseSghbHR0bmdfYWNjZXNzX29rKFZFUklGWV9SRUFELCBzcmMsIGxlbikpKQorIAkJZ290byBmaWxsX2J1ZmZlcjsKKyAKKyAJaWYgKGxpa2VseShwYWdlY3B5ID09IGxlbikpIHsKK0BAIC0zNzIsNyArMzcyLDcgQEAgdm9pZCBsaWJfcmluZ19idWZmZXJfc3RyY3B5X2Zyb21fdXNlcl9pbmF0b21pYyhjb25zdCBzdHJ1Y3QgbGliX3JpbmdfYnVmZmVyX2NvbmYKKyAKKyAJc2V0X2ZzKEtFUk5FTF9EUyk7CisgCXBhZ2VmYXVsdF9kaXNhYmxlKCk7CistCWlmICh1bmxpa2VseSghYWNjZXNzX29rKFZFUklGWV9SRUFELCBzcmMsIGxlbikpKQorKwlpZiAodW5saWtlbHkoIWx0dG5nX2FjY2Vzc19vayhWRVJJRllfUkVBRCwgc3JjLCBsZW4pKSkKKyAJCWdvdG8gZmlsbF9idWZmZXI7CisgCisgCWlmIChsaWtlbHkocGFnZWNweSA9PSBsZW4pKSB7CitAQCAtNDYyLDcgKzQ2Miw3IEBAIHVuc2lnbmVkIGxvbmcgbGliX3JpbmdfYnVmZmVyX2NvcHlfZnJvbV91c2VyX2NoZWNrX25vZmF1bHQodm9pZCAqZGVzdCwKKyAJdW5zaWduZWQgbG9uZyByZXQ7CisgCW1tX3NlZ21lbnRfdCBvbGRfZnM7CisgCistCWlmICghYWNjZXNzX29rKFZFUklGWV9SRUFELCBzcmMsIGxlbikpCisrCWlmICghbHR0bmdfYWNjZXNzX29rKFZFUklGWV9SRUFELCBzcmMsIGxlbikpCisgCQlyZXR1cm4gMTsKKyAJb2xkX2ZzID0gZ2V0X2ZzKCk7CisgCXNldF9mcyhLRVJORUxfRFMpOworZGlmZiAtLWdpdCBhL2xpYi9yaW5nYnVmZmVyL3JpbmdfYnVmZmVyX2l0ZXJhdG9yLmMgYi9saWIvcmluZ2J1ZmZlci9yaW5nX2J1ZmZlcl9pdGVyYXRvci5jCitpbmRleCA2MWVhYTViLi45NjQ1OTQ2IDEwMDY0NAorLS0tIGEvbGliL3JpbmdidWZmZXIvcmluZ19idWZmZXJfaXRlcmF0b3IuYworKysrIGIvbGliL3JpbmdidWZmZXIvcmluZ19idWZmZXJfaXRlcmF0b3IuYworQEAgLTI3LDYgKzI3LDcgQEAKKyAKKyAjaW5jbHVkZSA8d3JhcHBlci9yaW5nYnVmZmVyL2l0ZXJhdG9yLmg+CisgI2luY2x1ZGUgPHdyYXBwZXIvZmlsZS5oPgorKyNpbmNsdWRlIDx3cmFwcGVyL3VhY2Nlc3MuaD4KKyAjaW5jbHVkZSA8bGludXgvamlmZmllcy5oPgorICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KK0BAIC02MjEsNyArNjIyLDcgQEAgc3NpemVfdCBjaGFubmVsX3JpbmdfYnVmZmVyX2ZpbGVfcmVhZChzdHJ1Y3QgZmlsZSAqZmlscCwKKyAJc3NpemVfdCBsZW47CisgCisgCW1pZ2h0X3NsZWVwKCk7CistCWlmICghYWNjZXNzX29rKFZFUklGWV9XUklURSwgdXNlcl9idWYsIGNvdW50KSkKKysJaWYgKCFsdHRuZ19hY2Nlc3Nfb2soVkVSSUZZX1dSSVRFLCB1c2VyX2J1ZiwgY291bnQpKQorIAkJcmV0dXJuIC1FRkFVTFQ7CisgCisgCS8qIEZpbmlzaCBjb3B5IG9mIHByZXZpb3VzIHJlY29yZCAqLworZGlmZiAtLWdpdCBhL2x0dG5nLWZpbHRlci1pbnRlcnByZXRlci5jIGIvbHR0bmctZmlsdGVyLWludGVycHJldGVyLmMKK2luZGV4IGUxMzE0NjIuLmJlZTI5MTggMTAwNjQ0CistLS0gYS9sdHRuZy1maWx0ZXItaW50ZXJwcmV0ZXIuYworKysrIGIvbHR0bmctZmlsdGVyLWludGVycHJldGVyLmMKK0BAIC0yNCw3ICsyNCw3IEBACisgICogU09GVFdBUkUuCisgICovCisgCistI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKysjaW5jbHVkZSA8d3JhcHBlci91YWNjZXNzLmg+CisgI2luY2x1ZGUgPHdyYXBwZXIvZnJhbWUuaD4KKyAjaW5jbHVkZSA8d3JhcHBlci90eXBlcy5oPgorIAorQEAgLTQ2LDcgKzQ2LDcgQEAgY2hhciBnZXRfY2hhcihzdHJ1Y3QgZXN0YWNrX2VudHJ5ICpyZWcsIHNpemVfdCBvZmZzZXQpCisgCQljaGFyIGM7CisgCisgCQkvKiBIYW5kbGUgaW52YWxpZCBhY2Nlc3MgYXMgZW5kIG9mIHN0cmluZy4gKi8KKy0JCWlmICh1bmxpa2VseSghYWNjZXNzX29rKFZFUklGWV9SRUFELAorKwkJaWYgKHVubGlrZWx5KCFsdHRuZ19hY2Nlc3Nfb2soVkVSSUZZX1JFQUQsCisgCQkJCXJlZy0+dS5zLnVzZXJfc3RyICsgb2Zmc2V0LAorIAkJCQlzaXplb2YoYykpKSkKKyAJCQlyZXR1cm4gJ1wwJzsKK2RpZmYgLS1naXQgYS9wcm9iZXMvbHR0bmctcHJvYmUtdXNlci5jIGIvcHJvYmVzL2x0dG5nLXByb2JlLXVzZXIuYworaW5kZXggMDk5YTY2Yi4uZWQ1NjZkZCAxMDA2NDQKKy0tLSBhL3Byb2Jlcy9sdHRuZy1wcm9iZS11c2VyLmMKKysrKyBiL3Byb2Jlcy9sdHRuZy1wcm9iZS11c2VyLmMKK0BAIC0yMCw2ICsyMCw3IEBACisgCisgI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKyAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisrI2luY2x1ZGUgPHdyYXBwZXIvdWFjY2Vzcy5oPgorICNpbmNsdWRlIDxwcm9iZXMvbHR0bmctcHJvYmUtdXNlci5oPgorIAorIC8qCitAQCAtNDMsNyArNDQsNyBAQCBsb25nIGx0dG5nX3N0cmxlbl91c2VyX2luYXRvbWljKGNvbnN0IGNoYXIgKmFkZHIpCisgCQljaGFyIHY7CisgCQl1bnNpZ25lZCBsb25nIHJldDsKKyAKKy0JCWlmICh1bmxpa2VseSghYWNjZXNzX29rKFZFUklGWV9SRUFELAorKwkJaWYgKHVubGlrZWx5KCFsdHRuZ19hY2Nlc3Nfb2soVkVSSUZZX1JFQUQsCisgCQkJCShfX2ZvcmNlIGNvbnN0IGNoYXIgX191c2VyICopIGFkZHIsCisgCQkJCXNpemVvZih2KSkpKQorIAkJCWJyZWFrOworZGlmZiAtLWdpdCBhL3dyYXBwZXIvdWFjY2Vzcy5oIGIvd3JhcHBlci91YWNjZXNzLmgKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5jNTY0MjdjCistLS0gL2Rldi9udWxsCisrKysgYi93cmFwcGVyL3VhY2Nlc3MuaAorQEAgLTAsMCArMSwyOCBAQAorKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiAoR1BMLTIuMCBvciBMR1BMLTIuMSkKKysgKgorKyAqIHdyYXBwZXIvdWFjY2Vzcy5oCisrICoKKysgKiB3cmFwcGVyIGFyb3VuZCBsaW51eC91YWNjZXNzLmguCisrICoKKysgKiBDb3B5cmlnaHQgKEMpIDIwMTkgTWljaGFlbCBKZWFuc29uIDxtamVhbnNvbkBlZmZpY2lvcy5jb20+CisrICovCisrCisrI2lmbmRlZiBfTFRUTkdfV1JBUFBFUl9VQUNDRVNTX0gKKysjZGVmaW5lIF9MVFROR19XUkFQUEVSX1VBQ0NFU1NfSAorKworKyNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CisrI2luY2x1ZGUgPGx0dG5nLWtlcm5lbC12ZXJzaW9uLmg+CisrCisrI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNSwwLDApKQorKworKyNkZWZpbmUgVkVSSUZZX1JFQUQJMAorKyNkZWZpbmUgVkVSSUZZX1dSSVRFCTEKKysjZGVmaW5lIGx0dG5nX2FjY2Vzc19vayh0eXBlLCBhZGRyLCBzaXplKSBhY2Nlc3Nfb2soYWRkciwgc2l6ZSkKKysKKysjZWxzZSAvKiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNSwwLDApICovCisrCisrI2RlZmluZSBsdHRuZ19hY2Nlc3Nfb2sodHlwZSwgYWRkciwgc2l6ZSkgYWNjZXNzX29rKHR5cGUsIGFkZHIsIHNpemUpCisrCisrI2VuZGlmIC8qIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig1LDAsMCkgKi8KKysKKysjZW5kaWYgLyogX0xUVE5HX1dSQVBQRVJfVUFDQ0VTU19IICovCistLSAKKzIuMTkuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDA2LUZpeC1SZXBsYWNlLXBvaW50ZXItdmFsdWVzLXdpdGgtdGFzay10a19waWQtYW5kLXJwY18ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDA2LUZpeC1SZXBsYWNlLXBvaW50ZXItdmFsdWVzLXdpdGgtdGFzay10a19waWQtYW5kLXJwY18ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDg5NDg2ZgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDYtRml4LVJlcGxhY2UtcG9pbnRlci12YWx1ZXMtd2l0aC10YXNrLXRrX3BpZC1hbmQtcnBjXy5wYXRjaApAQCAtMCwwICsxLDE4NiBAQAorRnJvbSA4OWYwYmUzNWUxYmFmNDExZGY2ODUyMDE0MDEzYWM2NGFkMWJiY2Y4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWljaGFlbCBKZWFuc29uIDxtamVhbnNvbkBlZmZpY2lvcy5jb20+CitEYXRlOiBXZWQsIDkgSmFuIDIwMTkgMTQ6NTk6MTYgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSCA2LzldIEZpeDogUmVwbGFjZSBwb2ludGVyIHZhbHVlcyB3aXRoIHRhc2stPnRrX3BpZCBhbmQKKyBycGNfY2xudC0+Y2xfY2xpZAorCitJbnRyb2R1Y2VkIGluIHYzLjEyLgorCitTZWUgdXBzdHJlYW0gY29tbWl0IDoKKworICBjb21taXQgOTJjYjZjNWJlODEzNGRiNmY3YzM4ZjI1ZjZhZmQxM2U0NDRjZWJhZgorICBBdXRob3I6IFRyb25kIE15a2xlYnVzdCA8VHJvbmQuTXlrbGVidXN0QG5ldGFwcC5jb20+CisgIERhdGU6ICAgV2VkIFNlcCA0IDIyOjA5OjUwIDIwMTMgLTA0MDAKKworICAgIFNVTlJQQzogUmVwbGFjZSBwb2ludGVyIHZhbHVlcyB3aXRoIHRhc2stPnRrX3BpZCBhbmQgcnBjX2NsbnQtPmNsX2NsaWQKKworICAgIEluc3RlYWQgb2YgdGhlIHBvaW50ZXIgdmFsdWVzLCB1c2UgdGhlIHRhc2sgYW5kIGNsaWVudCBpZGVudGlmaWVyIHZhbHVlcworICAgIGZvciB0cmFjaW5nIHB1cnBvc2VzLgorCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIEplYW5zb24gPG1qZWFuc29uQGVmZmljaW9zLmNvbT4KK1NpZ25lZC1vZmYtYnk6IE1hdGhpZXUgRGVzbm95ZXJzIDxtYXRoaWV1LmRlc25veWVyc0BlZmZpY2lvcy5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogYmFja3BvcnQgaHR0cHM6Ly9naXRodWIuY29tL2x0dG5nL2x0dG5nLW1vZHVsZXMvY29tbWl0Lzg5ZjBiZTM1ZTFiYWY0MTFkZjY4NTIwMTQwMTNhYzY0YWQxYmJjZjgKKworU2lnbmVkLW9mZi1ieTogQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQGdtYWlsLmNvbT4KKy0tLQorIGluc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3JwYy5oIHwgMTA4ICsrKysrKysrKysrKysrKysrKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTAyIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9ycGMuaCBiL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3JwYy5oCitpbmRleCBiOWU0NWZlLi5hNGFjNTU3IDEwMDY0NAorLS0tIGEvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvcnBjLmgKKysrKyBiL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3JwYy5oCitAQCAtOCw2ICs4LDIwIEBACisgI2luY2x1ZGUgPGxpbnV4L3N1bnJwYy9zY2hlZC5oPgorICNpbmNsdWRlIDxsaW51eC9zdW5ycGMvY2xudC5oPgorIAorKyNpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsMTIsMCkpCisrTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhycGNfdGFza19zdGF0dXMsCisrCisrCVRQX1BST1RPKHN0cnVjdCBycGNfdGFzayAqdGFzayksCisrCisrCVRQX0FSR1ModGFzayksCisrCisrCVRQX0ZJRUxEUygKKysJCWN0Zl9pbnRlZ2VyKHVuc2lnbmVkIGludCwgdGFza19pZCwgdGFzay0+dGtfcGlkKQorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgaW50LCBjbGllbnRfaWQsIHRhc2stPnRrX2NsaWVudC0+Y2xfY2xpZCkKKysJCWN0Zl9pbnRlZ2VyKGludCwgc3RhdHVzLCB0YXNrLT50a19zdGF0dXMpCisrCSkKKyspCisrI2Vsc2UKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKHJwY190YXNrX3N0YXR1cywKKyAKKyAJVFBfUFJPVE8oc3RydWN0IHJwY190YXNrICp0YXNrKSwKK0BAIC0yMCw2ICszNCw3IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MocnBjX3Rhc2tfc3RhdHVzLAorIAkJY3RmX2ludGVnZXIoaW50LCBzdGF0dXMsIHRhc2stPnRrX3N0YXR1cykKKyAJKQorICkKKysjZW5kaWYKKyAKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKHJwY190YXNrX3N0YXR1cywgcnBjX2NhbGxfc3RhdHVzLAorIAlUUF9QUk9UTyhzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2spLAorQEAgLTQwLDggKzU1LDggQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChycGNfY29ubmVjdF9zdGF0dXMsCisgCVRQX0FSR1ModGFzayksCisgCisgCVRQX0ZJRUxEUygKKy0JCWN0Zl9pbnRlZ2VyX2hleChjb25zdCBzdHJ1Y3QgcnBjX3Rhc2sgKiwgdGFzaywgdGFzaykKKy0JCWN0Zl9pbnRlZ2VyX2hleChjb25zdCBzdHJ1Y3QgcnBjX2NsbnQgKiwgY2xudCwgdGFzay0+dGtfY2xpZW50KQorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgaW50LCB0YXNrX2lkLCB0YXNrLT50a19waWQpCisrCQljdGZfaW50ZWdlcih1bnNpZ25lZCBpbnQsIGNsaWVudF9pZCwgdGFzay0+dGtfY2xpZW50LT5jbF9jbGlkKQorIAkJY3RmX2ludGVnZXIoaW50LCBzdGF0dXMsIHRhc2stPnRrX3N0YXR1cykKKyAJKQorICkKK0BAIC01Myw4ICs2OCw4IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MocnBjX3Rhc2tfcnVubmluZywKKyAJVFBfQVJHUyh0YXNrLCBhY3Rpb24pLAorIAorIAlUUF9GSUVMRFMoCistCQljdGZfaW50ZWdlcl9oZXgoY29uc3Qgc3RydWN0IHJwY19jbG50ICosIGNsbnQsIHRhc2stPnRrX2NsaWVudCkKKy0JCWN0Zl9pbnRlZ2VyX2hleChjb25zdCBzdHJ1Y3QgcnBjX3Rhc2sgKiwgdGFzaywgdGFzaykKKysJCWN0Zl9pbnRlZ2VyKHVuc2lnbmVkIGludCwgdGFza19pZCwgdGFzay0+dGtfcGlkKQorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgaW50LCBjbGllbnRfaWQsIHRhc2stPnRrX2NsaWVudC0+Y2xfY2xpZCkKKyAJCWN0Zl9pbnRlZ2VyX2hleChjb25zdCB2b2lkICosIGFjdGlvbiwgYWN0aW9uKQorIAkJY3RmX2ludGVnZXIodW5zaWduZWQgbG9uZywgcnVuc3RhdGUsIHRhc2stPnRrX3J1bnN0YXRlKQorIAkJY3RmX2ludGVnZXIoaW50LCBzdGF0dXMsIHRhc2stPnRrX3N0YXR1cykKK0BAIC05MCw4ICsxMDUsOCBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKHJwY190YXNrX3F1ZXVlZCwKKyAJVFBfQVJHUyh0YXNrLCBxKSwKKyAKKyAJVFBfRklFTERTKAorLQkJY3RmX2ludGVnZXJfaGV4KGNvbnN0IHN0cnVjdCBycGNfY2xudCAqLCBjbG50LCB0YXNrLT50a19jbGllbnQpCistCQljdGZfaW50ZWdlcl9oZXgoY29uc3Qgc3RydWN0IHJwY190YXNrICosIHRhc2ssIHRhc2spCisrCQljdGZfaW50ZWdlcih1bnNpZ25lZCBpbnQsIHRhc2tfaWQsIHRhc2stPnRrX3BpZCkKKysJCWN0Zl9pbnRlZ2VyKHVuc2lnbmVkIGludCwgY2xpZW50X2lkLCB0YXNrLT50a19jbGllbnQtPmNsX2NsaWQpCisgCQljdGZfaW50ZWdlcih1bnNpZ25lZCBsb25nLCB0aW1lb3V0LCB0YXNrLT50a190aW1lb3V0KQorIAkJY3RmX2ludGVnZXIodW5zaWduZWQgbG9uZywgcnVuc3RhdGUsIHRhc2stPnRrX3J1bnN0YXRlKQorIAkJY3RmX2ludGVnZXIoaW50LCBzdGF0dXMsIHRhc2stPnRrX3N0YXR1cykKK0BAIC0xMTQsNiArMTI5LDg3IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UocnBjX3Rhc2tfcXVldWVkLCBycGNfdGFza193YWtldXAsCisgCVRQX0FSR1ModGFzaywgcSkKKyApCisgCisrI2VsaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigzLDEyLDApKQorK0xUVE5HX1RSQUNFUE9JTlRfRVZFTlQocnBjX2Nvbm5lY3Rfc3RhdHVzLAorKwlUUF9QUk9UTyhzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2ssIGludCBzdGF0dXMpLAorKworKwlUUF9BUkdTKHRhc2ssIHN0YXR1cyksCisrCisrCVRQX0ZJRUxEUygKKysJCWN0Zl9pbnRlZ2VyKHVuc2lnbmVkIGludCwgdGFza19pZCwgdGFzay0+dGtfcGlkKQorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgaW50LCBjbGllbnRfaWQsIHRhc2stPnRrX2NsaWVudC0+Y2xfY2xpZCkKKysJCWN0Zl9pbnRlZ2VyKGludCwgc3RhdHVzLCBzdGF0dXMpCisrCSkKKyspCisrCisrTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhycGNfdGFza19ydW5uaW5nLAorKworKwlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgcnBjX2NsbnQgKmNsbnQsIGNvbnN0IHN0cnVjdCBycGNfdGFzayAqdGFzaywgY29uc3Qgdm9pZCAqYWN0aW9uKSwKKysKKysJVFBfQVJHUyhjbG50LCB0YXNrLCBhY3Rpb24pLAorKworKwlUUF9GSUVMRFMoCisrCQljdGZfaW50ZWdlcih1bnNpZ25lZCBpbnQsIHRhc2tfaWQsIHRhc2stPnRrX3BpZCkKKysJCWN0Zl9pbnRlZ2VyKHVuc2lnbmVkIGludCwgY2xpZW50X2lkLCB0YXNrLT50a19jbGllbnQtPmNsX2NsaWQpCisrCQljdGZfaW50ZWdlcl9oZXgoY29uc3Qgdm9pZCAqLCBhY3Rpb24sIGFjdGlvbikKKysJCWN0Zl9pbnRlZ2VyKHVuc2lnbmVkIGxvbmcsIHJ1bnN0YXRlLCB0YXNrLT50a19ydW5zdGF0ZSkKKysJCWN0Zl9pbnRlZ2VyKGludCwgc3RhdHVzLCB0YXNrLT50a19zdGF0dXMpCisrCQljdGZfaW50ZWdlcih1bnNpZ25lZCBzaG9ydCwgZmxhZ3MsIHRhc2stPnRrX2ZsYWdzKQorKwkpCisrKQorKworK0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UocnBjX3Rhc2tfcnVubmluZywgcnBjX3Rhc2tfYmVnaW4sCisrCisrCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBycGNfY2xudCAqY2xudCwgY29uc3Qgc3RydWN0IHJwY190YXNrICp0YXNrLCBjb25zdCB2b2lkICphY3Rpb24pLAorKworKwlUUF9BUkdTKGNsbnQsIHRhc2ssIGFjdGlvbikKKyspCisrCisrTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9JTlNUQU5DRShycGNfdGFza19ydW5uaW5nLCBycGNfdGFza19ydW5fYWN0aW9uLAorKworKwlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgcnBjX2NsbnQgKmNsbnQsIGNvbnN0IHN0cnVjdCBycGNfdGFzayAqdGFzaywgY29uc3Qgdm9pZCAqYWN0aW9uKSwKKysKKysJVFBfQVJHUyhjbG50LCB0YXNrLCBhY3Rpb24pCisrKQorKworK0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UocnBjX3Rhc2tfcnVubmluZywgcnBjX3Rhc2tfY29tcGxldGUsCisrCisrCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBycGNfY2xudCAqY2xudCwgY29uc3Qgc3RydWN0IHJwY190YXNrICp0YXNrLCBjb25zdCB2b2lkICphY3Rpb24pLAorKworKwlUUF9BUkdTKGNsbnQsIHRhc2ssIGFjdGlvbikKKyspCisrCisrTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhycGNfdGFza19xdWV1ZWQsCisrCisrCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBycGNfY2xudCAqY2xudCwgY29uc3Qgc3RydWN0IHJwY190YXNrICp0YXNrLCBjb25zdCBzdHJ1Y3QgcnBjX3dhaXRfcXVldWUgKnEpLAorKworKwlUUF9BUkdTKGNsbnQsIHRhc2ssIHEpLAorKworKwlUUF9GSUVMRFMoCisrCQljdGZfaW50ZWdlcih1bnNpZ25lZCBpbnQsIHRhc2tfaWQsIHRhc2stPnRrX3BpZCkKKysJCWN0Zl9pbnRlZ2VyKHVuc2lnbmVkIGludCwgY2xpZW50X2lkLCB0YXNrLT50a19jbGllbnQtPmNsX2NsaWQpCisrCQljdGZfaW50ZWdlcih1bnNpZ25lZCBsb25nLCB0aW1lb3V0LCB0YXNrLT50a190aW1lb3V0KQorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgbG9uZywgcnVuc3RhdGUsIHRhc2stPnRrX3J1bnN0YXRlKQorKwkJY3RmX2ludGVnZXIoaW50LCBzdGF0dXMsIHRhc2stPnRrX3N0YXR1cykKKysJCWN0Zl9pbnRlZ2VyKHVuc2lnbmVkIHNob3J0LCBmbGFncywgdGFzay0+dGtfZmxhZ3MpCisrCQljdGZfc3RyaW5nKHFfbmFtZSwgcnBjX3FuYW1lKHEpKQorKwkpCisrKQorKworK0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UocnBjX3Rhc2tfcXVldWVkLCBycGNfdGFza19zbGVlcCwKKysKKysJVFBfUFJPVE8oY29uc3Qgc3RydWN0IHJwY19jbG50ICpjbG50LCBjb25zdCBzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2ssIGNvbnN0IHN0cnVjdCBycGNfd2FpdF9xdWV1ZSAqcSksCisrCisrCVRQX0FSR1MoY2xudCwgdGFzaywgcSkKKyspCisrCisrTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9JTlNUQU5DRShycGNfdGFza19xdWV1ZWQsIHJwY190YXNrX3dha2V1cCwKKysKKysJVFBfUFJPVE8oY29uc3Qgc3RydWN0IHJwY19jbG50ICpjbG50LCBjb25zdCBzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2ssIGNvbnN0IHN0cnVjdCBycGNfd2FpdF9xdWV1ZSAqcSksCisrCisrCVRQX0FSR1MoY2xudCwgdGFzaywgcSkKKyspCisrCisgI2Vsc2UKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UKHJwY19jb25uZWN0X3N0YXR1cywKKyAJVFBfUFJPVE8oc3RydWN0IHJwY190YXNrICp0YXNrLCBpbnQgc3RhdHVzKSwKKy0tIAorMi4xOS4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDctRml4LVNVTlJQQy1TaW1wbGlmeS1kZWZpbmluZy1jb21tb24tUlBDLXRyYWNlLWV2ZW50cy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDctRml4LVNVTlJQQy1TaW1wbGlmeS1kZWZpbmluZy1jb21tb24tUlBDLXRyYWNlLWV2ZW50cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMzY3MzMwCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvMDAwNy1GaXgtU1VOUlBDLVNpbXBsaWZ5LWRlZmluaW5nLWNvbW1vbi1SUEMtdHJhY2UtZXZlbnRzLnBhdGNoCkBAIC0wLDAgKzEsMTgzIEBACitGcm9tIGQxMWI1Njg2ODFmODdjMmRmNmVjYjA1MTZkM2YxNmQxNTNmMjRiZDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaWNoYWVsIEplYW5zb24gPG1qZWFuc29uQGVmZmljaW9zLmNvbT4KK0RhdGU6IFdlZCwgOSBKYW4gMjAxOSAxNDo1OToxNyAtMDUwMAorU3ViamVjdDogW1BBVENIIDcvOV0gRml4OiBTVU5SUEM6IFNpbXBsaWZ5IGRlZmluaW5nIGNvbW1vbiBSUEMgdHJhY2UgZXZlbnRzCisgKHY1LjApCisKK1NlZSB1cHN0cmVhbSBjb21taXQgOgorCisgIGNvbW1pdCBkYzU4MjBiZDIxZDg0ZWUzNDc3MGIwYTFlMmZjYTkzNzhmOGY3NDU2CisgIEF1dGhvcjogQ2h1Y2sgTGV2ZXIgPGNodWNrLmxldmVyQG9yYWNsZS5jb20+CisgIERhdGU6ICAgV2VkIERlYyAxOSAxMTowMDoxNiAyMDE4IC0wNTAwCisKKyAgICBTVU5SUEM6IFNpbXBsaWZ5IGRlZmluaW5nIGNvbW1vbiBSUEMgdHJhY2UgZXZlbnRzCisKKyAgICBDbGVhbiB1cCwgbm8gZnVuY3Rpb25hbCBjaGFuZ2UgaXMgZXhwZWN0ZWQuCisKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgSmVhbnNvbiA8bWplYW5zb25AZWZmaWNpb3MuY29tPgorU2lnbmVkLW9mZi1ieTogTWF0aGlldSBEZXNub3llcnMgPG1hdGhpZXUuZGVzbm95ZXJzQGVmZmljaW9zLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBiYWNrcG9ydCBodHRwczovL2dpdGh1Yi5jb20vbHR0bmcvbHR0bmctbW9kdWxlcy9jb21taXQvZDExYjU2ODY4MWY4N2MyZGY2ZWNiMDUxNmQzZjE2ZDE1M2YyNGJkMgorCitTaWduZWQtb2ZmLWJ5OiBCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAZ21haWwuY29tPgorLS0tCisgaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvcnBjLmggfCA5OSArKysrKysrKysrKysrKysrLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA3MiBpbnNlcnRpb25zKCspLCAyNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3JwYy5oIGIvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvcnBjLmgKK2luZGV4IGE0YWM1NTcuLjQyMzkyODAgMTAwNjQ0CistLS0gYS9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9ycGMuaAorKysrIGIvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvcnBjLmgKK0BAIC04LDcgKzgsMzIgQEAKKyAjaW5jbHVkZSA8bGludXgvc3VucnBjL3NjaGVkLmg+CisgI2luY2x1ZGUgPGxpbnV4L3N1bnJwYy9jbG50Lmg+CisgCistI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywxMiwwKSkKKysjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig1LDAsMCkpCisrTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhycGNfdGFza19zdGF0dXMsCisrCisrCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBycGNfdGFzayAqdGFzayksCisrCisrCVRQX0FSR1ModGFzayksCisrCisrCVRQX0ZJRUxEUygKKysJCWN0Zl9pbnRlZ2VyKHVuc2lnbmVkIGludCwgdGFza19pZCwgdGFzay0+dGtfcGlkKQorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgaW50LCBjbGllbnRfaWQsIHRhc2stPnRrX2NsaWVudC0+Y2xfY2xpZCkKKysJCWN0Zl9pbnRlZ2VyKGludCwgc3RhdHVzLCB0YXNrLT50a19zdGF0dXMpCisrCSkKKyspCisrCisrTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9JTlNUQU5DRShycGNfdGFza19zdGF0dXMsIHJwY19jYWxsX3N0YXR1cywKKysJVFBfUFJPVE8oY29uc3Qgc3RydWN0IHJwY190YXNrICp0YXNrKSwKKysKKysJVFBfQVJHUyh0YXNrKQorKykKKysKKytMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKHJwY190YXNrX3N0YXR1cywgcnBjX2JpbmRfc3RhdHVzLAorKwlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2spLAorKworKwlUUF9BUkdTKHRhc2spCisrKQorKyNlbGlmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywxMiwwKSkKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKHJwY190YXNrX3N0YXR1cywKKyAKKyAJVFBfUFJPVE8oc3RydWN0IHJwY190YXNrICp0YXNrKSwKK0BAIC0yMSw2ICs0NiwxOCBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKHJwY190YXNrX3N0YXR1cywKKyAJCWN0Zl9pbnRlZ2VyKGludCwgc3RhdHVzLCB0YXNrLT50a19zdGF0dXMpCisgCSkKKyApCisrCisrTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9JTlNUQU5DRShycGNfdGFza19zdGF0dXMsIHJwY19jYWxsX3N0YXR1cywKKysJVFBfUFJPVE8oc3RydWN0IHJwY190YXNrICp0YXNrKSwKKysKKysJVFBfQVJHUyh0YXNrKQorKykKKysKKytMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKHJwY190YXNrX3N0YXR1cywgcnBjX2JpbmRfc3RhdHVzLAorKwlUUF9QUk9UTyhzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2spLAorKworKwlUUF9BUkdTKHRhc2spCisrKQorICNlbHNlCisgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhycGNfdGFza19zdGF0dXMsCisgCitAQCAtMzQsNyArNzEsNiBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKHJwY190YXNrX3N0YXR1cywKKyAJCWN0Zl9pbnRlZ2VyKGludCwgc3RhdHVzLCB0YXNrLT50a19zdGF0dXMpCisgCSkKKyApCistI2VuZGlmCisgCisgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9JTlNUQU5DRShycGNfdGFza19zdGF0dXMsIHJwY19jYWxsX3N0YXR1cywKKyAJVFBfUFJPVE8oc3RydWN0IHJwY190YXNrICp0YXNrKSwKK0BAIC00Nyw4ICs4MywxNSBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKHJwY190YXNrX3N0YXR1cywgcnBjX2JpbmRfc3RhdHVzLAorIAorIAlUUF9BUkdTKHRhc2spCisgKQorKyNlbmRpZgorIAorLSNpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDQsMTcsMCkpCisrI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNSwwLDApKQorK0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UocnBjX3Rhc2tfc3RhdHVzLCBycGNfY29ubmVjdF9zdGF0dXMsCisrCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBycGNfdGFzayAqdGFzayksCisrCisrCVRQX0FSR1ModGFzaykKKyspCisrI2VsaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig0LDE3LDApKQorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlQocnBjX2Nvbm5lY3Rfc3RhdHVzLAorIAlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2spLAorIAorQEAgLTYwLDcgKzEwMywzMyBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UKHJwY19jb25uZWN0X3N0YXR1cywKKyAJCWN0Zl9pbnRlZ2VyKGludCwgc3RhdHVzLCB0YXNrLT50a19zdGF0dXMpCisgCSkKKyApCisrI2VsaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigzLDEyLDApKQorK0xUVE5HX1RSQUNFUE9JTlRfRVZFTlQocnBjX2Nvbm5lY3Rfc3RhdHVzLAorKwlUUF9QUk9UTyhzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2ssIGludCBzdGF0dXMpLAorKworKwlUUF9BUkdTKHRhc2ssIHN0YXR1cyksCisrCisrCVRQX0ZJRUxEUygKKysJCWN0Zl9pbnRlZ2VyKHVuc2lnbmVkIGludCwgdGFza19pZCwgdGFzay0+dGtfcGlkKQorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgaW50LCBjbGllbnRfaWQsIHRhc2stPnRrX2NsaWVudC0+Y2xfY2xpZCkKKysJCWN0Zl9pbnRlZ2VyKGludCwgc3RhdHVzLCBzdGF0dXMpCisrCSkKKyspCisrI2Vsc2UKKytMVFROR19UUkFDRVBPSU5UX0VWRU5UKHJwY19jb25uZWN0X3N0YXR1cywKKysJVFBfUFJPVE8oc3RydWN0IHJwY190YXNrICp0YXNrLCBpbnQgc3RhdHVzKSwKKysKKysJVFBfQVJHUyh0YXNrLCBzdGF0dXMpLAorKworKwlUUF9GSUVMRFMoCisrCQljdGZfaW50ZWdlcl9oZXgoY29uc3Qgc3RydWN0IHJwY190YXNrICosIHRhc2ssIHRhc2spCisrCQljdGZfaW50ZWdlcl9oZXgoY29uc3Qgc3RydWN0IHJwY19jbG50ICosIGNsbnQsIHRhc2stPnRrX2NsaWVudCkKKysJCWN0Zl9pbnRlZ2VyKGludCwgc3RhdHVzLCBzdGF0dXMpCisrCSkKKyspCisrI2VuZGlmCisgCisrI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCwxNywwKSkKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKHJwY190YXNrX3J1bm5pbmcsCisgCisgCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBycGNfdGFzayAqdGFzaywgY29uc3Qgdm9pZCAqYWN0aW9uKSwKK0BAIC0xMzAsMTggKzE5OSw2IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UocnBjX3Rhc2tfcXVldWVkLCBycGNfdGFza193YWtldXAsCisgKQorIAorICNlbGlmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywxMiwwKSkKKy1MVFROR19UUkFDRVBPSU5UX0VWRU5UKHJwY19jb25uZWN0X3N0YXR1cywKKy0JVFBfUFJPVE8oc3RydWN0IHJwY190YXNrICp0YXNrLCBpbnQgc3RhdHVzKSwKKy0KKy0JVFBfQVJHUyh0YXNrLCBzdGF0dXMpLAorLQorLQlUUF9GSUVMRFMoCistCQljdGZfaW50ZWdlcih1bnNpZ25lZCBpbnQsIHRhc2tfaWQsIHRhc2stPnRrX3BpZCkKKy0JCWN0Zl9pbnRlZ2VyKHVuc2lnbmVkIGludCwgY2xpZW50X2lkLCB0YXNrLT50a19jbGllbnQtPmNsX2NsaWQpCistCQljdGZfaW50ZWdlcihpbnQsIHN0YXR1cywgc3RhdHVzKQorLQkpCistKQorLQorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MocnBjX3Rhc2tfcnVubmluZywKKyAKKyAJVFBfUFJPVE8oY29uc3Qgc3RydWN0IHJwY19jbG50ICpjbG50LCBjb25zdCBzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2ssIGNvbnN0IHZvaWQgKmFjdGlvbiksCitAQCAtMjExLDE4ICsyNjgsNiBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKHJwY190YXNrX3F1ZXVlZCwgcnBjX3Rhc2tfd2FrZXVwLAorICkKKyAKKyAjZWxzZQorLUxUVE5HX1RSQUNFUE9JTlRfRVZFTlQocnBjX2Nvbm5lY3Rfc3RhdHVzLAorLQlUUF9QUk9UTyhzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2ssIGludCBzdGF0dXMpLAorLQorLQlUUF9BUkdTKHRhc2ssIHN0YXR1cyksCistCistCVRQX0ZJRUxEUygKKy0JCWN0Zl9pbnRlZ2VyX2hleChjb25zdCBzdHJ1Y3QgcnBjX3Rhc2sgKiwgdGFzaywgdGFzaykKKy0JCWN0Zl9pbnRlZ2VyX2hleChjb25zdCBzdHJ1Y3QgcnBjX2NsbnQgKiwgY2xudCwgdGFzay0+dGtfY2xpZW50KQorLQkJY3RmX2ludGVnZXIoaW50LCBzdGF0dXMsIHN0YXR1cykKKy0JKQorLSkKKy0KKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKHJwY190YXNrX3J1bm5pbmcsCisgCisgCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBycGNfY2xudCAqY2xudCwgY29uc3Qgc3RydWN0IHJwY190YXNrICp0YXNrLCBjb25zdCB2b2lkICphY3Rpb24pLAorLS0gCisyLjE5LjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvMDAwOC1GaXgtYnRyZnMtUmVtb3ZlLWZzaWQtbWV0YWRhdGFfZnNpZC1maWVsZHMtZnJvbS1idHJmLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvMDAwOC1GaXgtYnRyZnMtUmVtb3ZlLWZzaWQtbWV0YWRhdGFfZnNpZC1maWVsZHMtZnJvbS1idHJmLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmMTI5ODkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDA4LUZpeC1idHJmcy1SZW1vdmUtZnNpZC1tZXRhZGF0YV9mc2lkLWZpZWxkcy1mcm9tLWJ0cmYucGF0Y2gKQEAgLTAsMCArMSwzNDEgQEAKK0Zyb20gOGFmODI0NWY2Zjg2MzcwZDAxY2M0YWNhYWJhZmI5MGRlNDVlMTQzZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgSmVhbnNvbiA8bWplYW5zb25AZWZmaWNpb3MuY29tPgorRGF0ZTogVGh1LCAxMCBKYW4gMjAxOSAxNDo1NjoxNSAtMDUwMAorU3ViamVjdDogW1BBVENIIDgvOV0gRml4OiBidHJmczogUmVtb3ZlIGZzaWQvbWV0YWRhdGFfZnNpZCBmaWVsZHMgZnJvbQorIGJ0cmZzX2luZm8KKworSW50cm9kdWNlZCBpbiB2NS4wLgorCitTZWUgdXBzdHJlYW0gY29tbWl0IDoKKworICBjb21taXQgZGUzN2FhNTEzMTA1Zjg2NGQzYzIxMTA1YmY1NTQyZDQ5OGYyMWNhMgorICBBdXRob3I6IE5pa29sYXkgQm9yaXNvdiA8bmJvcmlzb3ZAc3VzZS5jb20+CisgIERhdGU6ICAgVHVlIE9jdCAzMCAxNjo0MzoyNCAyMDE4ICswMjAwCisKKyAgICBidHJmczogUmVtb3ZlIGZzaWQvbWV0YWRhdGFfZnNpZCBmaWVsZHMgZnJvbSBidHJmc19pbmZvCisKKyAgICBDdXJyZW50bHkgYnRyZnNfZnNfaW5mbyBzdHJ1Y3R1cmUgY29udGFpbnMgYSBjb3B5IG9mIHRoZQorICAgIGZzaWQvbWV0YWRhdGFfdXVpZCBmaWVsZHMuIFNhbWUgdmFsdWVzIGFyZSBhbHNvIGNvbnRhaW5lZCBpbiB0aGUKKyAgICBidHJmc19mc19kZXZpY2VzIHN0cnVjdHVyZSB3aGljaCBmc19pbmZvIGhhcyBhIHJlZmVyZW5jZSB0by4gTGV0J3MKKyAgICByZWR1Y2UgZHVwbGljYXRpb24gYnkgcmVtb3ZpbmcgdGhlIGZpZWxkcyBmcm9tIGZzX2luZm8gYW5kIGFsd2F5cyByZWZlcgorICAgIHRvIHRoZSBvbmVzIGluIGZzX2RldmljZXMuIE5vIGZ1bmN0aW9uYWwgY2hhbmdlcy4KKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCBKZWFuc29uIDxtamVhbnNvbkBlZmZpY2lvcy5jb20+CitTaWduZWQtb2ZmLWJ5OiBNYXRoaWV1IERlc25veWVycyA8bWF0aGlldS5kZXNub3llcnNAZWZmaWNpb3MuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IGJhY2twb3J0IGh0dHBzOi8vZ2l0aHViLmNvbS9sdHRuZy9sdHRuZy1tb2R1bGVzL2NvbW1pdC84YWY4MjQ1ZjZmODYzNzBkMDFjYzRhY2FhYmFmYjkwZGU0NWUxNDNmCisKK1NpZ25lZC1vZmYtYnk6IEJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEBnbWFpbC5jb20+CistLS0KKyBpbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9idHJmcy5oIHwgMTAwICsrKysrKysrKysrLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDUzIGluc2VydGlvbnMoKyksIDQ3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvYnRyZnMuaCBiL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL2J0cmZzLmgKK2luZGV4IDRkZmJmNWIuLmVjNDVhMWUgMTAwNjQ0CistLS0gYS9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9idHJmcy5oCisrKysgYi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9idHJmcy5oCitAQCAtMzIsNiArMzIsMTIgQEAgc3RydWN0IGV4dGVudF9zdGF0ZTsKKyAKKyAjZGVmaW5lIEJUUkZTX1VVSURfU0laRSAxNgorIAorKyNpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDUsMCwwKSkKKysjZGVmaW5lIGx0dG5nX2ZzX2luZm9fZnNpZCBmc19pbmZvLT5mc19kZXZpY2VzLT5mc2lkCisrI2Vsc2UKKysjZGVmaW5lIGx0dG5nX2ZzX2luZm9fZnNpZCBmc19pbmZvLT5mc2lkCisrI2VuZGlmCisrCisgI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCwxNCwwKSB8fCBcCisgCUxUVE5HX1NMRV9LRVJORUxfUkFOR0UoNCw0LDczLDUsMCwwLCA0LDQsNzMsNiwwLDApIHx8IFwKKyAJTFRUTkdfU0xFX0tFUk5FTF9SQU5HRSg0LDQsODIsNiwwLDAsIDQsNCw4Miw3LDAsMCkgfHwgXAorQEAgLTYyOSw3ICs2MzUsNyBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UKGJ0cmZzX2FkZF9ibG9ja19ncm91cCwKKyAJVFBfQVJHUyhmc19pbmZvLCBibG9ja19ncm91cCwgY3JlYXRlKSwKKyAKKyAJVFBfRklFTERTKAorLQkJY3RmX2FycmF5KHU4LCBmc2lkLCBmc19pbmZvLT5mc2lkLCBCVFJGU19VVUlEX1NJWkUpCisrCQljdGZfYXJyYXkodTgsIGZzaWQsIGx0dG5nX2ZzX2luZm9fZnNpZCwgQlRSRlNfVVVJRF9TSVpFKQorIAkJY3RmX2ludGVnZXIodTY0LCBvZmZzZXQsIGJsb2NrX2dyb3VwLT5rZXkub2JqZWN0aWQpCisgCQljdGZfaW50ZWdlcih1NjQsIHNpemUsIGJsb2NrX2dyb3VwLT5rZXkub2Zmc2V0KQorIAkJY3RmX2ludGVnZXIodTY0LCBmbGFncywgYmxvY2tfZ3JvdXAtPmZsYWdzKQorQEAgLTY0Nyw3ICs2NTMsNyBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UKGJ0cmZzX2FkZF9ibG9ja19ncm91cCwKKyAJVFBfQVJHUyhmc19pbmZvLCBibG9ja19ncm91cCwgY3JlYXRlKSwKKyAKKyAJVFBfRklFTERTKAorLQkJY3RmX2FycmF5KHU4LCBmc2lkLCBmc19pbmZvLT5mc2lkLCBCVFJGU19VVUlEX1NJWkUpCisrCQljdGZfYXJyYXkodTgsIGZzaWQsIGx0dG5nX2ZzX2luZm9fZnNpZCwgQlRSRlNfVVVJRF9TSVpFKQorIAkJY3RmX2ludGVnZXIodTY0LCBvZmZzZXQsIGJsb2NrX2dyb3VwLT5rZXkub2JqZWN0aWQpCisgCQljdGZfaW50ZWdlcih1NjQsIHNpemUsIGJsb2NrX2dyb3VwLT5rZXkub2Zmc2V0KQorIAkJY3RmX2ludGVnZXIodTY0LCBmbGFncywgYmxvY2tfZ3JvdXAtPmZsYWdzKQorQEAgLTEwMTUsMTggKzEwMjEsMTggQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhidHJmc19fY2h1bmssCisgCisgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9JTlNUQU5DRShidHJmc19fY2h1bmssICBidHJmc19jaHVua19hbGxvYywKKyAKKy0JVFBfUFJPVE8oY29uc3Qgc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmluZm8sIGNvbnN0IHN0cnVjdCBtYXBfbG9va3VwICptYXAsCisrCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBidHJmc19mc19pbmZvICpmc19pbmZvLCBjb25zdCBzdHJ1Y3QgbWFwX2xvb2t1cCAqbWFwLAorIAkJIHU2NCBvZmZzZXQsIHU2NCBzaXplKSwKKyAKKy0JVFBfQVJHUyhpbmZvLCBtYXAsIG9mZnNldCwgc2l6ZSkKKysJVFBfQVJHUyhmc19pbmZvLCBtYXAsIG9mZnNldCwgc2l6ZSkKKyApCisgCisgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9JTlNUQU5DRShidHJmc19fY2h1bmssICBidHJmc19jaHVua19mcmVlLAorIAorLQlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqaW5mbywgY29uc3Qgc3RydWN0IG1hcF9sb29rdXAgKm1hcCwKKysJVFBfUFJPVE8oY29uc3Qgc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmZzX2luZm8sIGNvbnN0IHN0cnVjdCBtYXBfbG9va3VwICptYXAsCisgCQkgdTY0IG9mZnNldCwgdTY0IHNpemUpLAorIAorLQlUUF9BUkdTKGluZm8sIG1hcCwgb2Zmc2V0LCBzaXplKQorKwlUUF9BUkdTKGZzX2luZm8sIG1hcCwgb2Zmc2V0LCBzaXplKQorICkKKyAKKyAjZWxpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDQsMTAsMCkpCitAQCAtMTA1MCwxOCArMTA1NiwxOCBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKGJ0cmZzX19jaHVuaywKKyAKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKGJ0cmZzX19jaHVuaywgIGJ0cmZzX2NodW5rX2FsbG9jLAorIAorLQlUUF9QUk9UTyhzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqaW5mbywgc3RydWN0IG1hcF9sb29rdXAgKm1hcCwKKysJVFBfUFJPVE8oc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmZzX2luZm8sIHN0cnVjdCBtYXBfbG9va3VwICptYXAsCisgCQkgdTY0IG9mZnNldCwgdTY0IHNpemUpLAorIAorLQlUUF9BUkdTKGluZm8sIG1hcCwgb2Zmc2V0LCBzaXplKQorKwlUUF9BUkdTKGZzX2luZm8sIG1hcCwgb2Zmc2V0LCBzaXplKQorICkKKyAKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKGJ0cmZzX19jaHVuaywgIGJ0cmZzX2NodW5rX2ZyZWUsCisgCistCVRQX1BST1RPKHN0cnVjdCBidHJmc19mc19pbmZvICppbmZvLCBzdHJ1Y3QgbWFwX2xvb2t1cCAqbWFwLAorKwlUUF9QUk9UTyhzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqZnNfaW5mbywgc3RydWN0IG1hcF9sb29rdXAgKm1hcCwKKyAJCSB1NjQgb2Zmc2V0LCB1NjQgc2l6ZSksCisgCistCVRQX0FSR1MoaW5mbywgbWFwLCBvZmZzZXQsIHNpemUpCisrCVRQX0FSR1MoZnNfaW5mbywgbWFwLCBvZmZzZXQsIHNpemUpCisgKQorIAorICNlbGlmIChMVFROR19TTEVfS0VSTkVMX1JBTkdFKDQsNCw3Myw1LDAsMCwgNCw0LDczLDYsMCwwKSB8fCBcCitAQCAtMTE5Miw3ICsxMTk4LDcgQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChidHJmc19zcGFjZV9yZXNlcnZhdGlvbiwKKyAJVFBfQVJHUyhmc19pbmZvLCB0eXBlLCB2YWwsIGJ5dGVzLCByZXNlcnZlKSwKKyAKKyAJVFBfRklFTERTKAorLQkJY3RmX2FycmF5KHU4LCBmc2lkLCBmc19pbmZvLT5mc2lkLCBCVFJGU19VVUlEX1NJWkUpCisrCQljdGZfYXJyYXkodTgsIGZzaWQsIGx0dG5nX2ZzX2luZm9fZnNpZCwgQlRSRlNfVVVJRF9TSVpFKQorIAkJY3RmX3N0cmluZyh0eXBlLCB0eXBlKQorIAkJY3RmX2ludGVnZXIodTY0LCB2YWwsIHZhbCkKKyAJCWN0Zl9pbnRlZ2VyKHU2NCwgYnl0ZXMsIGJ5dGVzKQorQEAgLTEyMDgsNyArMTIxNCw3IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlQoYnRyZnNfc3BhY2VfcmVzZXJ2YXRpb24sCisgCVRQX0FSR1MoZnNfaW5mbywgdHlwZSwgdmFsLCBieXRlcywgcmVzZXJ2ZSksCisgCisgCVRQX0ZJRUxEUygKKy0JCWN0Zl9hcnJheSh1OCwgZnNpZCwgZnNfaW5mby0+ZnNpZCwgQlRSRlNfVVVJRF9TSVpFKQorKwkJY3RmX2FycmF5KHU4LCBmc2lkLCBsdHRuZ19mc19pbmZvX2ZzaWQsIEJUUkZTX1VVSURfU0laRSkKKyAJCWN0Zl9zdHJpbmcodHlwZSwgdHlwZSkKKyAJCWN0Zl9pbnRlZ2VyKHU2NCwgdmFsLCB2YWwpCisgCQljdGZfaW50ZWdlcih1NjQsIGJ5dGVzLCBieXRlcykKK0BAIC0xMjIxLDkgKzEyMjcsOSBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UKGJ0cmZzX3NwYWNlX3Jlc2VydmF0aW9uLAorIAorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MoYnRyZnNfX3Jlc2VydmVkX2V4dGVudCwKKyAKKy0JVFBfUFJPVE8oY29uc3Qgc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmluZm8sIHU2NCBzdGFydCwgdTY0IGxlbiksCisrCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBidHJmc19mc19pbmZvICpmc19pbmZvLCB1NjQgc3RhcnQsIHU2NCBsZW4pLAorIAorLQlUUF9BUkdTKGluZm8sIHN0YXJ0LCBsZW4pLAorKwlUUF9BUkdTKGZzX2luZm8sIHN0YXJ0LCBsZW4pLAorIAorIAlUUF9GSUVMRFMoCisgCQljdGZfaW50ZWdlcih1NjQsIHN0YXJ0LCBzdGFydCkKK0BAIC0xMjMzLDI1ICsxMjM5LDI1IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MoYnRyZnNfX3Jlc2VydmVkX2V4dGVudCwKKyAKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKGJ0cmZzX19yZXNlcnZlZF9leHRlbnQsICBidHJmc19yZXNlcnZlZF9leHRlbnRfYWxsb2MsCisgCistCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBidHJmc19mc19pbmZvICppbmZvLCB1NjQgc3RhcnQsIHU2NCBsZW4pLAorKwlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqZnNfaW5mbywgdTY0IHN0YXJ0LCB1NjQgbGVuKSwKKyAKKy0JVFBfQVJHUyhpbmZvLCBzdGFydCwgbGVuKQorKwlUUF9BUkdTKGZzX2luZm8sIHN0YXJ0LCBsZW4pCisgKQorIAorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UoYnRyZnNfX3Jlc2VydmVkX2V4dGVudCwgIGJ0cmZzX3Jlc2VydmVkX2V4dGVudF9mcmVlLAorIAorLQlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqaW5mbywgdTY0IHN0YXJ0LCB1NjQgbGVuKSwKKysJVFBfUFJPVE8oY29uc3Qgc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmZzX2luZm8sIHU2NCBzdGFydCwgdTY0IGxlbiksCisgCistCVRQX0FSR1MoaW5mbywgc3RhcnQsIGxlbikKKysJVFBfQVJHUyhmc19pbmZvLCBzdGFydCwgbGVuKQorICkKKyAKKyAjZWxpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDQsMTAsMCkpCisgCisgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhidHJmc19fcmVzZXJ2ZWRfZXh0ZW50LAorIAorLQlUUF9QUk9UTyhzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqaW5mbywgdTY0IHN0YXJ0LCB1NjQgbGVuKSwKKysJVFBfUFJPVE8oc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmZzX2luZm8sIHU2NCBzdGFydCwgdTY0IGxlbiksCisgCistCVRQX0FSR1MoaW5mbywgc3RhcnQsIGxlbiksCisrCVRQX0FSR1MoZnNfaW5mbywgc3RhcnQsIGxlbiksCisgCisgCVRQX0ZJRUxEUygKKyAJCWN0Zl9pbnRlZ2VyKHU2NCwgc3RhcnQsIHN0YXJ0KQorQEAgLTEyNjEsMTYgKzEyNjcsMTYgQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhidHJmc19fcmVzZXJ2ZWRfZXh0ZW50LAorIAorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UoYnRyZnNfX3Jlc2VydmVkX2V4dGVudCwgIGJ0cmZzX3Jlc2VydmVkX2V4dGVudF9hbGxvYywKKyAKKy0JVFBfUFJPVE8oc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmluZm8sIHU2NCBzdGFydCwgdTY0IGxlbiksCisrCVRQX1BST1RPKHN0cnVjdCBidHJmc19mc19pbmZvICpmc19pbmZvLCB1NjQgc3RhcnQsIHU2NCBsZW4pLAorIAorLQlUUF9BUkdTKGluZm8sIHN0YXJ0LCBsZW4pCisrCVRQX0FSR1MoZnNfaW5mbywgc3RhcnQsIGxlbikKKyApCisgCisgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9JTlNUQU5DRShidHJmc19fcmVzZXJ2ZWRfZXh0ZW50LCAgYnRyZnNfcmVzZXJ2ZWRfZXh0ZW50X2ZyZWUsCisgCistCVRQX1BST1RPKHN0cnVjdCBidHJmc19mc19pbmZvICppbmZvLCB1NjQgc3RhcnQsIHU2NCBsZW4pLAorKwlUUF9QUk9UTyhzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqZnNfaW5mbywgdTY0IHN0YXJ0LCB1NjQgbGVuKSwKKyAKKy0JVFBfQVJHUyhpbmZvLCBzdGFydCwgbGVuKQorKwlUUF9BUkdTKGZzX2luZm8sIHN0YXJ0LCBsZW4pCisgKQorIAorICNlbGlmIChMVFROR19TTEVfS0VSTkVMX1JBTkdFKDQsNCw3Myw1LDAsMCwgNCw0LDczLDYsMCwwKSB8fCBcCitAQCAtMTM0MSwxMyArMTM0NywxMyBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UX01BUChmaW5kX2ZyZWVfZXh0ZW50LAorIAorIAlidHJmc19maW5kX2ZyZWVfZXh0ZW50LAorIAorLQlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqaW5mbywgdTY0IG51bV9ieXRlcywgdTY0IGVtcHR5X3NpemUsCisrCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBidHJmc19mc19pbmZvICpmc19pbmZvLCB1NjQgbnVtX2J5dGVzLCB1NjQgZW1wdHlfc2l6ZSwKKyAJCSB1NjQgZGF0YSksCisgCistCVRQX0FSR1MoaW5mbywgbnVtX2J5dGVzLCBlbXB0eV9zaXplLCBkYXRhKSwKKysJVFBfQVJHUyhmc19pbmZvLCBudW1fYnl0ZXMsIGVtcHR5X3NpemUsIGRhdGEpLAorIAorIAlUUF9GSUVMRFMoCistCQljdGZfYXJyYXkodTgsIGZzaWQsIGluZm8tPmZzaWQsIEJUUkZTX1VVSURfU0laRSkKKysJCWN0Zl9hcnJheSh1OCwgZnNpZCwgbHR0bmdfZnNfaW5mb19mc2lkLCBCVFJGU19VVUlEX1NJWkUpCisgCQljdGZfaW50ZWdlcih1NjQsIG51bV9ieXRlcywgbnVtX2J5dGVzKQorIAkJY3RmX2ludGVnZXIodTY0LCBlbXB0eV9zaXplLCBlbXB0eV9zaXplKQorIAkJY3RmX2ludGVnZXIodTY0LCBkYXRhLCBkYXRhKQorQEAgLTEzNjIsNyArMTM2OCw3IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MoYnRyZnNfX3Jlc2VydmVfZXh0ZW50LAorIAlUUF9BUkdTKGJsb2NrX2dyb3VwLCBzdGFydCwgbGVuKSwKKyAKKyAJVFBfRklFTERTKAorLQkJY3RmX2FycmF5KHU4LCBmc2lkLCBibG9ja19ncm91cC0+ZnNfaW5mby0+ZnNpZCwgQlRSRlNfVVVJRF9TSVpFKQorKwkJY3RmX2FycmF5KHU4LCBmc2lkLCBibG9ja19ncm91cC0+bHR0bmdfZnNfaW5mb19mc2lkLCBCVFJGU19VVUlEX1NJWkUpCisgCQljdGZfaW50ZWdlcih1NjQsIGJnX29iamVjdGlkLCBibG9ja19ncm91cC0+a2V5Lm9iamVjdGlkKQorIAkJY3RmX2ludGVnZXIodTY0LCBmbGFncywgYmxvY2tfZ3JvdXAtPmZsYWdzKQorIAkJY3RmX2ludGVnZXIodTY0LCBzdGFydCwgc3RhcnQpCitAQCAtMTM5MSwxMyArMTM5NywxMyBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UX01BUChmaW5kX2ZyZWVfZXh0ZW50LAorIAorIAlidHJmc19maW5kX2ZyZWVfZXh0ZW50LAorIAorLQlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqaW5mbywgdTY0IG51bV9ieXRlcywgdTY0IGVtcHR5X3NpemUsCisrCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBidHJmc19mc19pbmZvICpmc19pbmZvLCB1NjQgbnVtX2J5dGVzLCB1NjQgZW1wdHlfc2l6ZSwKKyAJCSB1NjQgZGF0YSksCisgCistCVRQX0FSR1MoaW5mbywgbnVtX2J5dGVzLCBlbXB0eV9zaXplLCBkYXRhKSwKKysJVFBfQVJHUyhmc19pbmZvLCBudW1fYnl0ZXMsIGVtcHR5X3NpemUsIGRhdGEpLAorIAorIAlUUF9GSUVMRFMoCistCQljdGZfYXJyYXkodTgsIGZzaWQsIGluZm8tPmZzaWQsIEJUUkZTX1VVSURfU0laRSkKKysJCWN0Zl9hcnJheSh1OCwgZnNpZCwgbHR0bmdfZnNfaW5mb19mc2lkLCBCVFJGU19VVUlEX1NJWkUpCisgCQljdGZfaW50ZWdlcih1NjQsIG51bV9ieXRlcywgbnVtX2J5dGVzKQorIAkJY3RmX2ludGVnZXIodTY0LCBlbXB0eV9zaXplLCBlbXB0eV9zaXplKQorIAkJY3RmX2ludGVnZXIodTY0LCBkYXRhLCBkYXRhKQorQEAgLTE0MDYsMTQgKzE0MTIsMTQgQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9NQVAoZmluZF9mcmVlX2V4dGVudCwKKyAKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKGJ0cmZzX19yZXNlcnZlX2V4dGVudCwKKyAKKy0JVFBfUFJPVE8oY29uc3Qgc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmluZm8sCisrCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBidHJmc19mc19pbmZvICpmc19pbmZvLAorIAkJIGNvbnN0IHN0cnVjdCBidHJmc19ibG9ja19ncm91cF9jYWNoZSAqYmxvY2tfZ3JvdXAsIHU2NCBzdGFydCwKKyAJCSB1NjQgbGVuKSwKKyAKKy0JVFBfQVJHUyhpbmZvLCBibG9ja19ncm91cCwgc3RhcnQsIGxlbiksCisrCVRQX0FSR1MoZnNfaW5mbywgYmxvY2tfZ3JvdXAsIHN0YXJ0LCBsZW4pLAorIAorIAlUUF9GSUVMRFMoCistCQljdGZfYXJyYXkodTgsIGZzaWQsIGluZm8tPmZzaWQsIEJUUkZTX1VVSURfU0laRSkKKysJCWN0Zl9hcnJheSh1OCwgZnNpZCwgbHR0bmdfZnNfaW5mb19mc2lkLCBCVFJGU19VVUlEX1NJWkUpCisgCQljdGZfaW50ZWdlcih1NjQsIGJnX29iamVjdGlkLCBibG9ja19ncm91cC0+a2V5Lm9iamVjdGlkKQorIAkJY3RmX2ludGVnZXIodTY0LCBmbGFncywgYmxvY2tfZ3JvdXAtPmZsYWdzKQorIAkJY3RmX2ludGVnZXIodTY0LCBzdGFydCwgc3RhcnQpCitAQCAtMTQyMywyMCArMTQyOSwyMCBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKGJ0cmZzX19yZXNlcnZlX2V4dGVudCwKKyAKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKGJ0cmZzX19yZXNlcnZlX2V4dGVudCwgYnRyZnNfcmVzZXJ2ZV9leHRlbnQsCisgCistCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBidHJmc19mc19pbmZvICppbmZvLAorKwlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqZnNfaW5mbywKKyAJCSBjb25zdCBzdHJ1Y3QgYnRyZnNfYmxvY2tfZ3JvdXBfY2FjaGUgKmJsb2NrX2dyb3VwLCB1NjQgc3RhcnQsCisgCQkgdTY0IGxlbiksCisgCistCVRQX0FSR1MoaW5mbywgYmxvY2tfZ3JvdXAsIHN0YXJ0LCBsZW4pCisrCVRQX0FSR1MoZnNfaW5mbywgYmxvY2tfZ3JvdXAsIHN0YXJ0LCBsZW4pCisgKQorIAorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UoYnRyZnNfX3Jlc2VydmVfZXh0ZW50LCBidHJmc19yZXNlcnZlX2V4dGVudF9jbHVzdGVyLAorIAorLQlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqaW5mbywKKysJVFBfUFJPVE8oY29uc3Qgc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmZzX2luZm8sCisgCQkgY29uc3Qgc3RydWN0IGJ0cmZzX2Jsb2NrX2dyb3VwX2NhY2hlICpibG9ja19ncm91cCwgdTY0IHN0YXJ0LAorIAkJIHU2NCBsZW4pLAorIAorLQlUUF9BUkdTKGluZm8sIGJsb2NrX2dyb3VwLCBzdGFydCwgbGVuKQorKwlUUF9BUkdTKGZzX2luZm8sIGJsb2NrX2dyb3VwLCBzdGFydCwgbGVuKQorICkKKyAKKyAjZWxpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDQsMTAsMCkpCitAQCAtMTQ0NSwxMyArMTQ1MSwxMyBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UX01BUChmaW5kX2ZyZWVfZXh0ZW50LAorIAorIAlidHJmc19maW5kX2ZyZWVfZXh0ZW50LAorIAorLQlUUF9QUk9UTyhzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqaW5mbywgdTY0IG51bV9ieXRlcywgdTY0IGVtcHR5X3NpemUsCisrCVRQX1BST1RPKHN0cnVjdCBidHJmc19mc19pbmZvICpmc19pbmZvLCB1NjQgbnVtX2J5dGVzLCB1NjQgZW1wdHlfc2l6ZSwKKyAJCSB1NjQgZGF0YSksCisgCistCVRQX0FSR1MoaW5mbywgbnVtX2J5dGVzLCBlbXB0eV9zaXplLCBkYXRhKSwKKysJVFBfQVJHUyhmc19pbmZvLCBudW1fYnl0ZXMsIGVtcHR5X3NpemUsIGRhdGEpLAorIAorIAlUUF9GSUVMRFMoCistCQljdGZfYXJyYXkodTgsIGZzaWQsIGluZm8tPmZzaWQsIEJUUkZTX1VVSURfU0laRSkKKysJCWN0Zl9hcnJheSh1OCwgZnNpZCwgbHR0bmdfZnNfaW5mb19mc2lkLCBCVFJGU19VVUlEX1NJWkUpCisgCQljdGZfaW50ZWdlcih1NjQsIG51bV9ieXRlcywgbnVtX2J5dGVzKQorIAkJY3RmX2ludGVnZXIodTY0LCBlbXB0eV9zaXplLCBlbXB0eV9zaXplKQorIAkJY3RmX2ludGVnZXIodTY0LCBkYXRhLCBkYXRhKQorQEAgLTE0NjAsMTEgKzE0NjYsMTEgQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9NQVAoZmluZF9mcmVlX2V4dGVudCwKKyAKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKGJ0cmZzX19yZXNlcnZlX2V4dGVudCwKKyAKKy0JVFBfUFJPVE8oc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmluZm8sCisrCVRQX1BST1RPKHN0cnVjdCBidHJmc19mc19pbmZvICpmc19pbmZvLAorIAkJIHN0cnVjdCBidHJmc19ibG9ja19ncm91cF9jYWNoZSAqYmxvY2tfZ3JvdXAsIHU2NCBzdGFydCwKKyAJCSB1NjQgbGVuKSwKKyAKKy0JVFBfQVJHUyhpbmZvLCBibG9ja19ncm91cCwgc3RhcnQsIGxlbiksCisrCVRQX0FSR1MoZnNfaW5mbywgYmxvY2tfZ3JvdXAsIHN0YXJ0LCBsZW4pLAorIAorIAlUUF9GSUVMRFMoCisgCQljdGZfaW50ZWdlcih1NjQsIGJnX29iamVjdGlkLCBibG9ja19ncm91cC0+a2V5Lm9iamVjdGlkKQorQEAgLTE0NzYsMjAgKzE0ODIsMjAgQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhidHJmc19fcmVzZXJ2ZV9leHRlbnQsCisgCisgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9JTlNUQU5DRShidHJmc19fcmVzZXJ2ZV9leHRlbnQsIGJ0cmZzX3Jlc2VydmVfZXh0ZW50LAorIAorLQlUUF9QUk9UTyhzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqaW5mbywKKysJVFBfUFJPVE8oc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmZzX2luZm8sCisgCQkgc3RydWN0IGJ0cmZzX2Jsb2NrX2dyb3VwX2NhY2hlICpibG9ja19ncm91cCwgdTY0IHN0YXJ0LAorIAkJIHU2NCBsZW4pLAorIAorLQlUUF9BUkdTKGluZm8sIGJsb2NrX2dyb3VwLCBzdGFydCwgbGVuKQorKwlUUF9BUkdTKGZzX2luZm8sIGJsb2NrX2dyb3VwLCBzdGFydCwgbGVuKQorICkKKyAKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKGJ0cmZzX19yZXNlcnZlX2V4dGVudCwgYnRyZnNfcmVzZXJ2ZV9leHRlbnRfY2x1c3RlciwKKyAKKy0JVFBfUFJPVE8oc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmluZm8sCisrCVRQX1BST1RPKHN0cnVjdCBidHJmc19mc19pbmZvICpmc19pbmZvLAorIAkJIHN0cnVjdCBidHJmc19ibG9ja19ncm91cF9jYWNoZSAqYmxvY2tfZ3JvdXAsIHU2NCBzdGFydCwKKyAJCSB1NjQgbGVuKSwKKyAKKy0JVFBfQVJHUyhpbmZvLCBibG9ja19ncm91cCwgc3RhcnQsIGxlbikKKysJVFBfQVJHUyhmc19pbmZvLCBibG9ja19ncm91cCwgc3RhcnQsIGxlbikKKyApCisgI2VsaWYgKExUVE5HX1NMRV9LRVJORUxfUkFOR0UoNCw0LDczLDUsMCwwLCA0LDQsNzMsNiwwLDApIHx8IFwKKyAJTFRUTkdfU0xFX0tFUk5FTF9SQU5HRSg0LDQsODIsNiwwLDAsIDQsNCw4Miw3LDAsMCkgfHwgXAorLS0gCisyLjE5LjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvMDAwOS1DbGVhbnVwLXRwLW1lbXBvb2wtUmVtb3ZlLWxvZ2ljYWxseS1kZWFkLWNvZGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDA5LUNsZWFudXAtdHAtbWVtcG9vbC1SZW1vdmUtbG9naWNhbGx5LWRlYWQtY29kZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZmZlNDg4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvMDAwOS1DbGVhbnVwLXRwLW1lbXBvb2wtUmVtb3ZlLWxvZ2ljYWxseS1kZWFkLWNvZGUucGF0Y2gKQEAgLTAsMCArMSw0NiBAQAorRnJvbSA0MTZjZWU4NzA3MDUzYTkwMTVkZmVjODMzMmUxMmY4YzI2MzA5OGUzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWF0aGlldSBEZXNub3llcnMgPG1hdGhpZXUuZGVzbm95ZXJzQGVmZmljaW9zLmNvbT4KK0RhdGU6IFRodSwgMTQgRmViIDIwMTkgMTE6NDA6NTAgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSCA5LzldIENsZWFudXA6IHRwIG1lbXBvb2w6IFJlbW92ZSBsb2dpY2FsbHkgZGVhZCBjb2RlCisKK0ZvdW5kIGJ5IENvdmVyaXR5OgorQ0lEIDEzOTEwNDUgKCMxIG9mIDEpOiBMb2dpY2FsbHkgZGVhZCBjb2RlIChERUFEQ09ERSkKKworU2lnbmVkLW9mZi1ieTogTWF0aGlldSBEZXNub3llcnMgPG1hdGhpZXUuZGVzbm95ZXJzQGVmZmljaW9zLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBiYWNrcG9ydCBodHRwczovL2dpdGh1Yi5jb20vbHR0bmcvbHR0bmctbW9kdWxlcy9jb21taXQvNDE2Y2VlODcwNzA1M2E5MDE1ZGZlYzgzMzJlMTJmOGMyNjMwOThlMworCitTaWduZWQtb2ZmLWJ5OiBCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAZ21haWwuY29tPgorLS0tCisgbHR0bmctdHAtbWVtcG9vbC5jIHwgMTEgKystLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbHR0bmctdHAtbWVtcG9vbC5jIGIvbHR0bmctdHAtbWVtcG9vbC5jCitpbmRleCBkOTg0YmQ0Li4yMWU4Mzc2IDEwMDY0NAorLS0tIGEvbHR0bmctdHAtbWVtcG9vbC5jCisrKysgYi9sdHRuZy10cC1tZW1wb29sLmMKK0BAIC0xNTEsMTkgKzE1MSwxMiBAQCB2b2lkIGx0dG5nX3RwX21lbXBvb2xfZnJlZSh2b2lkICpwdHIpCisgCXN0cnVjdCBsdHRuZ190cF9idWZfZW50cnkgKmVudHJ5OworIAlzdHJ1Y3QgcGVyX2NwdV9idWYgKmNwdV9idWY7CisgCistCWlmICghcHRyKSB7CisrCWlmICghcHRyKQorIAkJZ290byBlbmQ7CistCX0KKy0KKyAJZW50cnkgPSBjb250YWluZXJfb2YocHRyLCBzdHJ1Y3QgbHR0bmdfdHBfYnVmX2VudHJ5LCBidWYpOworLQlpZiAoIWVudHJ5KSB7CistCQlnb3RvIGVuZDsKKy0JfQorLQorIAljcHVfYnVmID0gcGVyX2NwdV9wdHIocG9vbCwgZW50cnktPmNwdSk7CistCWlmICghY3B1X2J1ZikgeworKwlpZiAoIWNwdV9idWYpCisgCQlnb3RvIGVuZDsKKy0JfQorIAkvKiBBZGQgaXQgdG8gdGhlIGZyZWUgbGlzdC4gKi8KKyAJbGlzdF9hZGRfdGFpbCgmZW50cnktPmxpc3QsICZjcHVfYnVmLT5mcmVlX2xpc3QpOworIAorLS0gCisyLjE5LjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXNfMi4xMC44LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXNfMi4xMC44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1ZTc1ZTUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlc18yLjEwLjguYmIKQEAgLTAsMCArMSw0NSBAQAorU0VDVElPTiA9ICJkZXZlbCIKK1NVTU1BUlkgPSAiTGludXggVHJhY2UgVG9vbGtpdCBLRVJORUwgTU9EVUxFIgorREVTQ1JJUFRJT04gPSAiVGhlIGx0dG5nLW1vZHVsZXMgMi4wIHBhY2thZ2UgY29udGFpbnMgdGhlIGtlcm5lbCB0cmFjZXIgbW9kdWxlcyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEgJiBHUEx2MiAmIE1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWM0NjEzZDFmOGE5NTg3YmQ3YjM2NjE5MTgzMDM2NGIzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dwbC0yLjAudHh0O21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9sZ3BsLTIuMS50eHQ7bWQ1PTI0M2I3MjVkNzFiYjVkZjRhMWU1OTIwYjM0NGI4NmFkIFwKKyAgICAgICAgICAgICAgICAgICAgIgorCitpbmhlcml0IG1vZHVsZQorCitDT01QQVRJQkxFX0hPU1QgPSAnKHg4Nl82NHxpLjg2fHBvd2VycGN8YWFyY2g2NHxtaXBzfG5pb3MyfGFybXxyaXNjdikuKi1saW51eCcKKworI2h0dHBzOi8vbHR0bmcub3JnL2ZpbGVzL2x0dG5nLW1vZHVsZXMvbHR0bmctbW9kdWxlcy0yLjEwLjcudGFyLmJ6MgorU1JDX1VSSSA9ICJodHRwczovL2x0dG5nLm9yZy9maWxlcy8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vTWFrZWZpbGUtRG8tbm90LWZhaWwtaWYtQ09ORklHX1RSQUNFUE9JTlRTLWlzLW5vdC1lbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9CVUlMRF9SVU5USU1FX0JVR19PTi12cy1nY2M3LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LXNpZ25hbC1EaXN0aW5ndWlzaC1iZXR3ZWVuLWtlcm5lbF9zaWdpbmZvLWFuZC1zaS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLUZpeC1zaWduYWwtUmVtb3ZlLVNFTkRfU0lHX0ZPUkNFRC12NC4yMC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAzLUZpeC1leHQ0LWFkanVzdC1yZXNlcnZlZC1jbHVzdGVyLWNvdW50LXdoZW4tcmVtb3ZpbmcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1GaXgtdGltZXItaW5zdHJ1bWVudGF0aW9uLWZvci1SSEVMLTcuNi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA1LUZpeC1SZW1vdmUtdHlwZS1hcmd1bWVudC1mcm9tLWFjY2Vzc19vay1mdW5jdGlvbi12NS4ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNi1GaXgtUmVwbGFjZS1wb2ludGVyLXZhbHVlcy13aXRoLXRhc2stdGtfcGlkLWFuZC1ycGNfLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDctRml4LVNVTlJQQy1TaW1wbGlmeS1kZWZpbmluZy1jb21tb24tUlBDLXRyYWNlLWV2ZW50cy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA4LUZpeC1idHJmcy1SZW1vdmUtZnNpZC1tZXRhZGF0YV9mc2lkLWZpZWxkcy1mcm9tLWJ0cmYucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwOS1DbGVhbnVwLXRwLW1lbXBvb2wtUmVtb3ZlLWxvZ2ljYWxseS1kZWFkLWNvZGUucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1NGJkOWZjYTYxNDg3YmJlYzFiM2ZjYTJmMjIxM2M5OCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmZTFkMjY5YmNhNzIzZTg5NDhhZjg3MWMzMjJjMzdkMzkwMGU2NDdjZGM1ZWIzZWZiZTgyMWU0MzRiZWVlNDRjIgorCitleHBvcnQgSU5TVEFMTF9NT0RfRElSPSJrZXJuZWwvbHR0bmctbW9kdWxlcyIKKworRVhUUkFfT0VNQUtFICs9ICJLRVJORUxESVI9JyR7U1RBR0lOR19LRVJORUxfRElSfSciCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCSMgRGVsZXRlIGVtcHR5IGRpcmVjdG9yaWVzIHRvIGF2b2lkIFFBIGZhaWx1cmVzIGlmIG5vIG1vZHVsZXMgd2VyZSBidWlsdAorCWZpbmQgJHtEfS8ke25vbmFyY2hfYmFzZV9saWJkaXJ9IC1kZXB0aCAtdHlwZSBkIC1lbXB0eSAtZXhlYyBybWRpciB7fSBcOworfQorCitweXRob24gZG9fcGFja2FnZV9wcmVwZW5kKCkgeworICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oZC5nZXRWYXIoJ0QnKSwgZC5nZXRWYXIoJ25vbmFyY2hfYmFzZV9saWJkaXInKVsxOl0sICdtb2R1bGVzJykpOgorICAgICAgICBiYi53YXJuKCIlczogbm8gbW9kdWxlcyB3ZXJlIGNyZWF0ZWQ7IHRoaXMgbWF5IGJlIGR1ZSB0byBDT05GSUdfVFJBQ0VQT0lOVFMgbm90IGJlaW5nIGVuYWJsZWQgaW4geW91ciBrZXJuZWwuIiAlIGQuZ2V0VmFyKCdQTicpKQorfQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlc18yLjEwLjkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlc18yLjEwLjkuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQyOTczNzcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXNfMi4xMC45LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotU0VDVElPTiA9ICJkZXZlbCIKLVNVTU1BUlkgPSAiTGludXggVHJhY2UgVG9vbGtpdCBLRVJORUwgTU9EVUxFIgotREVTQ1JJUFRJT04gPSAiVGhlIGx0dG5nLW1vZHVsZXMgMi4wIHBhY2thZ2UgY29udGFpbnMgdGhlIGtlcm5lbCB0cmFjZXIgbW9kdWxlcyIKLUxJQ0VOU0UgPSAiTEdQTHYyLjEgJiBHUEx2MiAmIE1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWM0NjEzZDFmOGE5NTg3YmQ3YjM2NjE5MTgzMDM2NGIzIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dwbC0yLjAudHh0O21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9sZ3BsLTIuMS50eHQ7bWQ1PTI0M2I3MjVkNzFiYjVkZjRhMWU1OTIwYjM0NGI4NmFkIFwKLSAgICAgICAgICAgICAgICAgICAgIgotCi1pbmhlcml0IG1vZHVsZQotCi1DT01QQVRJQkxFX0hPU1QgPSAnKHg4Nl82NHxpLjg2fHBvd2VycGN8YWFyY2g2NHxtaXBzfG5pb3MyfGFybSkuKi1saW51eCcKLQotI2h0dHBzOi8vbHR0bmcub3JnL2ZpbGVzL2x0dG5nLW1vZHVsZXMvbHR0bmctbW9kdWxlcy0yLjEwLjcudGFyLmJ6MgotU1JDX1VSSSA9ICJodHRwczovL2x0dG5nLm9yZy9maWxlcy8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci5iejIgXAotICAgICAgICAgICBmaWxlOi8vTWFrZWZpbGUtRG8tbm90LWZhaWwtaWYtQ09ORklHX1RSQUNFUE9JTlRTLWlzLW5vdC1lbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9CVUlMRF9SVU5USU1FX0JVR19PTi12cy1nY2M3LnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjA5ZGYwYWMyZThmMjQ1NzQwYTJmMzI0MTFkMTBjMGQxIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImExODU1YmJkMDJkMGY3MWViZDE4MGU5ODcyMzA5ODYyMDM2NjI0ZjAxMjQ0MmFiOWNjNTg1MmViNjAzNDAxNDUiCi0KLWV4cG9ydCBJTlNUQUxMX01PRF9ESVI9Imtlcm5lbC9sdHRuZy1tb2R1bGVzIgotCi1FWFRSQV9PRU1BS0UgKz0gIktFUk5FTERJUj0nJHtTVEFHSU5HX0tFUk5FTF9ESVJ9JyIKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0JIyBEZWxldGUgZW1wdHkgZGlyZWN0b3JpZXMgdG8gYXZvaWQgUUEgZmFpbHVyZXMgaWYgbm8gbW9kdWxlcyB3ZXJlIGJ1aWx0Ci0JZmluZCAke0R9LyR7bm9uYXJjaF9iYXNlX2xpYmRpcn0gLWRlcHRoIC10eXBlIGQgLWVtcHR5IC1leGVjIHJtZGlyIHt9IFw7Ci19Ci0KLXB5dGhvbiBkb19wYWNrYWdlX3ByZXBlbmQoKSB7Ci0gICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihkLmdldFZhcignRCcpLCBkLmdldFZhcignbm9uYXJjaF9iYXNlX2xpYmRpcicpWzE6XSwgJ21vZHVsZXMnKSk6Ci0gICAgICAgIGJiLndhcm4oIiVzOiBubyBtb2R1bGVzIHdlcmUgY3JlYXRlZDsgdGhpcyBtYXkgYmUgZHVlIHRvIENPTkZJR19UUkFDRVBPSU5UUyBub3QgYmVpbmcgZW5hYmxlZCBpbiB5b3VyIGtlcm5lbC4iICUgZC5nZXRWYXIoJ1BOJykpCi19Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29scy8wMDAxLUFsbG93LW11bHRpcGxlLWF0dGVtcHRzLXRvLWNvbm5lY3QtdG8tcmVsYXlkLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzLzAwMDEtQWxsb3ctbXVsdGlwbGUtYXR0ZW1wdHMtdG8tY29ubmVjdC10by1yZWxheWQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA5OThmYzMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzLzAwMDEtQWxsb3ctbXVsdGlwbGUtYXR0ZW1wdHMtdG8tY29ubmVjdC10by1yZWxheWQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi1Gcm9tIDcwZWZmODk5MTA0Yjg2YmFlMDI4NjI5MjdjNzZjYWFlZjVkZTVkM2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNaWthZWwgQmVja2l1cyA8bWlrYWVsLmJlY2tpdXNAd2luZHJpdmVyLmNvbT4KLURhdGU6IFRodSwgNyBNYXkgMjAxNSAxNjoxNDoyNSArMDIwMAotU3ViamVjdDogW1BBVENIXSBBbGxvdyBtdWx0aXBsZSBhdHRlbXB0cyB0byBjb25uZWN0IHRvIHJlbGF5ZC4KLQotSXQgaXMgdW5jbGVhciB3aHkgYSBzZXNzaW9uIG5lZWRzIHRvIGJlIG1hZGUKLXVudXNhYmxlIGFmdGVyIGEgZmFpbHVyZSB0byBjb25uZWN0IHRvIHJlbGF5ZAotc2luY2UgYSBjaGVjayBmb3IgYSByZWxheWQgY29ubmVjdGlvbiBpcwotYWx3YXlzIG1hZGUgYmVmb3JlIGEgc2Vzc2lvbiBjYW4gYmUgY29uZmlndXJlZC4KLQotVGhlIGJlaGF2aW91ciB3YXMgaW50cm9kdWNlZCBpbjoKLWQ5MDc4ZDBjMDAwZDA0ZDQ5YzU5OWE3MmMxYTcyNTAyNmI2MzZlYzAKLQotU2lnbmVkLW9mZi1ieTogTWlrYWVsIEJlY2tpdXMgPG1pa2FlbC5iZWNraXVzQHdpbmRyaXZlci5jb20+Ci1bIFRoZSBjb250ZXh0IGhhcyBtb3ZlZCwgYWRqdXN0IHRoZSBodW5rIGFjY29yZGluZ2x5IF0KLVNpZ25lZC1vZmYtYnk6IEhlIFpoZSA8emhlLmhlQHdpbmRyaXZlci5jb20+Ci1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIHNyYy9iaW4vbHR0bmctc2Vzc2lvbmQvY21kLmMgfCA4IC0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDggZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvYmluL2x0dG5nLXNlc3Npb25kL2NtZC5jIGIvc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC9jbWQuYwotaW5kZXggY2YzMGI4ZS4uY2M0MWE0OCAxMDA2NDQKLS0tLSBhL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvY21kLmMKLSsrKyBiL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvY21kLmMKLUBAIC05NDUsMTQgKzk0NSw2IEBAIHN0YXRpYyBpbnQgc2VuZF9jb25zdW1lcl9yZWxheWRfc29ja2V0KGVudW0gbHR0bmdfZG9tYWluX3R5cGUgZG9tYWluLAotIAkgKi8KLSAKLSBjbG9zZV9zb2NrOgotLQlpZiAocmV0ICE9IExUVE5HX09LKSB7Ci0tCQkvKgotLQkJICogVGhlIGNvbnN1bWVyIG91dHB1dCBmb3IgdGhpcyBzZXNzaW9uIHNob3VsZCBub3QgYmUgdXNlZCBhbnltb3JlCi0tCQkgKiBzaW5jZSB0aGUgcmVsYXlkIGNvbm5lY3Rpb24gZmFpbGVkIHRodXMgbWFraW5nIGFueSB0cmFjaW5nIG9yL2FuZAotLQkJICogc3RyZWFtaW5nIG5vdCB1c2FibGUuCi0tCQkgKi8KLS0JCWNvbnN1bWVyLT5lbmFibGVkID0gMDsKLS0JfQotIAkodm9pZCkgcmVsYXlkX2Nsb3NlKHJzb2NrKTsKLSAJZnJlZShyc29jayk7Ci0gCi0tLSAKLTIuMTcuMQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzLzAwMDEtRml4LXRlc3RzLWxpbmstbGlicGF1c2VfY29uc3VtZXItb24tbGlibHR0bmctY3RsLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzLzAwMDEtRml4LXRlc3RzLWxpbmstbGlicGF1c2VfY29uc3VtZXItb24tbGlibHR0bmctY3RsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmMThkYzgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMvMDAwMS1GaXgtdGVzdHMtbGluay1saWJwYXVzZV9jb25zdW1lci1vbi1saWJsdHRuZy1jdGwucGF0Y2gKQEAgLTAsMCArMSwzNSBAQAorRnJvbSA3MjQ0ZWFjNDRiZTkyOWZhYmQ2ZWQxMzMzZjk2OTI5ZWY4ZGE1NjRmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSm9uYXRoYW4gUmFqb3R0ZSA8am9uYXRoYW4ucmFqb3R0ZS1qdWxpZW5AZWZmaWNpb3MuY29tPgorRGF0ZTogVHVlLCAxOSBNYXIgMjAxOSAxNzo1Njo0OSArMDAwMAorU3ViamVjdDogW1BBVENIXSBmaXg6IHRlc3RzOiBsaW5rIGxpYnBhdXNlX2NvbnN1bWVyIG9uIGxpYmx0dG5nLWN0bAorCitUaGlzIHByZWxvYWQgdGVzdCBsaWJyYXJ5IHVzZXMgc3ltYm9scyBmcm9tIGxpYmx0dG5nLWN0bCB3aGljaCBhcmUKK3Jlc29sdmVkIHdoZW4gcHJlbG9hZGVkIGJ5IEdMSUJDIGJ1dCBub3QgYnkgTVVTTC4KKworVXBzdHJlYW0tU3RhdHVzOiBBY2NlcHRlZCBbZjY2N2ZiZDdmOGI5NTEyZjk5NDNlZGIyNTk3YzIyNmZjYzQyNGVlOV0KK0JhY2twb3J0ZWQgdG8gMi4xMSBhbmQgMi4xMC4KKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCBKZWFuc29uIDxtamVhbnNvbkBlZmZpY2lvcy5jb20+CistLS0KKyB0ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL25vdGlmaWNhdGlvbi9NYWtlZmlsZS5hbSB8IDUgKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL25vdGlmaWNhdGlvbi9NYWtlZmlsZS5hbSBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbm90aWZpY2F0aW9uL01ha2VmaWxlLmFtCitpbmRleCA0MWFkYzY5Li5hMzUyYmI4IDEwMDY0NAorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9ub3RpZmljYXRpb24vTWFrZWZpbGUuYW0KKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbm90aWZpY2F0aW9uL01ha2VmaWxlLmFtCitAQCAtMjAsNyArMjAsMTAgQEAgRk9SQ0VfU0hBUkVEX0xJQl9PUFRJT05TID0gLW1vZHVsZSAtc2hhcmVkIC1hdm9pZC12ZXJzaW9uIFwKKyAJCQkgICAtcnBhdGggJChhYnNfYnVpbGRkaXIpCisgCisgbGlicGF1c2VfY29uc3VtZXJfbGFfU09VUkNFUyA9IGNvbnN1bWVyX3Rlc3Rwb2ludHMuYworLWxpYnBhdXNlX2NvbnN1bWVyX2xhX0xJQkFERCA9ICQodG9wX2J1aWxkZGlyKS9zcmMvY29tbW9uL2xpYmNvbW1vbi5sYSAkKERMX0xJQlMpCisrbGlicGF1c2VfY29uc3VtZXJfbGFfTElCQUREID0gXAorKyAgICAgJCh0b3BfYnVpbGRkaXIpL3NyYy9jb21tb24vbGliY29tbW9uLmxhIFwKKysgICAgICQodG9wX2J1aWxkZGlyKS9zcmMvbGliL2x0dG5nLWN0bC9saWJsdHRuZy1jdGwubGEgXAorKyAgICAgJChETF9MSUJTKQorIGxpYnBhdXNlX2NvbnN1bWVyX2xhX0xERkxBR1MgPSAkKEZPUkNFX1NIQVJFRF9MSUJfT1BUSU9OUykKKyBub2luc3RfTFRMSUJSQVJJRVMgPSBsaWJwYXVzZV9jb25zdW1lci5sYQorIAorLS0gCisyLjE3LjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzLzAwMDItRml4LXRlc3Qtc2tpcC10ZXN0X2dldGNwdV9vdmVycmlkZS1vbi1zaW5nbGUtdGhyZWFkLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29scy8wMDAyLUZpeC10ZXN0LXNraXAtdGVzdF9nZXRjcHVfb3ZlcnJpZGUtb24tc2luZ2xlLXRocmVhZC0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWJiODhkMgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29scy8wMDAyLUZpeC10ZXN0LXNraXAtdGVzdF9nZXRjcHVfb3ZlcnJpZGUtb24tc2luZ2xlLXRocmVhZC0ucGF0Y2gKQEAgLTAsMCArMSw1MiBAQAorRnJvbSBlN2RiMjc2NjhhOWQ3ZmQyNzlkNDViYzQzZjNhMmQ1ODQ3Mzc0ZTdiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSm9uYXRoYW4gUmFqb3R0ZSA8am9uYXRoYW4ucmFqb3R0ZS1qdWxpZW5AZWZmaWNpb3MuY29tPgorRGF0ZTogVHVlLCAxMiBNYXIgMjAxOSAxMjowNDo1OCAtMDQwMAorU3ViamVjdDogW1BBVENIIGx0dG5nLXRvb2xzIDEvMl0gRml4OiB0ZXN0OiBza2lwIHRlc3RfZ2V0Y3B1X292ZXJyaWRlIG9uCisgc2luZ2xlIHRocmVhZCBzeXN0ZW0KKworVGhlcmUgaXMgbm8gdmFsdWUgaW4gcGVyZm9ybWluZyB0aGlzIHRlc3Qgb24gc2luZ2xlIHRocmVhZCBzeXN0ZW0KK3NpbmNlIHRoZSBvbmx5IHZhbGlkIHZhbHVlIGZvciB0aGUgY3B1IGZpZWxkIGlzIDAuCisKK1RoaXMgdGVzdCBjdXJyZW50bHkgZmFpbHMgb24gc2luZ2xlIHRocmVhZCBzeXN0ZW0gKGkuZSB5b2N0byBydW5xdWVtdSkKK29uIHRoZSB0ZXN0X2dldGNwdV9vdmVycmlkZV9mYWlsIHRlc3QgY2FzZS4KKworVXBzdHJlYW0tU3RhdHVzOiBBY2NlcHRlZCBbZjg3ZDBjYTM3MGMxN2I1OTc3NjJmNWVlMjE4ZjBlODIxZWQyNDUyZF0KK0JhY2twb3J0ZWQgdG8gMi4xMSBhbmQgMi4xMAorCitTaWduZWQtb2ZmLWJ5OiBKb25hdGhhbiBSYWpvdHRlIDxqb25hdGhhbi5yYWpvdHRlLWp1bGllbkBlZmZpY2lvcy5jb20+CistLS0KKyAuLi4vdXN0L2dldGNwdS1vdmVycmlkZS90ZXN0X2dldGNwdV9vdmVycmlkZSAgICAgfCAxNiArKysrKysrKysrKy0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3VzdC9nZXRjcHUtb3ZlcnJpZGUvdGVzdF9nZXRjcHVfb3ZlcnJpZGUgYi90ZXN0cy9yZWdyZXNzaW9uL3VzdC9nZXRjcHUtb3ZlcnJpZGUvdGVzdF9nZXRjcHVfb3ZlcnJpZGUKK2luZGV4IDRjYTM4NWFlYi4uZWUzZTMxOTUzIDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi91c3QvZ2V0Y3B1LW92ZXJyaWRlL3Rlc3RfZ2V0Y3B1X292ZXJyaWRlCisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3VzdC9nZXRjcHUtb3ZlcnJpZGUvdGVzdF9nZXRjcHVfb3ZlcnJpZGUKK0BAIC0xNTcsMTMgKzE1NywxOSBAQCBwbGFuX3Rlc3RzICROVU1fVEVTVFMKKyAKKyBwcmludF90ZXN0X2Jhbm5lciAiJFRFU1RfREVTQyIKKyAKKy1pZiBbIC14ICIkQ1VSRElSLy5saWJzL2x0dG5nLXVzdC1nZXRjcHUtb3ZlcnJpZGUtdGVzdC5zbyIgXTsgdGhlbgorLQlmb3VuZG9iaj0xCistZWxzZQorLQlmb3VuZG9iaj0wCisraWYgWyAhIC14ICIkQ1VSRElSLy5saWJzL2x0dG5nLXVzdC1nZXRjcHUtb3ZlcnJpZGUtdGVzdC5zbyIgXTsgdGhlbgorKwlza2lwIDAgIk5vIHNoYXJlZCBvYmplY3QgZ2VuZXJhdGVkLiBTa2lwcGluZyBhbGwgdGVzdHMuIiAkTlVNX1RFU1RTICYmIGV4aXQgMAorK2ZpCisrCisraWYgWyAiJG51bV9jcHVzIiAtZXEgIjEiIF07IHRoZW4KKysJIyBTa2lwIHRoZSB0ZXN0IHNpbmNlIHdlIGNhbm5vdCBwZXJmb3JtIGl0IGFzIGRlc2lnbmVkIHNpbmNlIE4gbW9kIDEKKysJIyBpcyBhbHdheXMgZXF1YWxzIHRvIHplcm8uIFRoZXJlIGlzIG5vIHBvaW50IHRlc3RpbmcgdGhpcyBvbiBhIHN5c3RlbQorKwkjIHdpdGggYSBzaW5nbGUgdGhyZWFkLiBMVFRuZy1VU1QgbGltaXRzIHRoZSBnZXRfY3B1IGZ1bmN0aW9uIHRvIHJldHVybgorKwkjIHZhbHVlIGluc2lkZSB0aGUgWzAsIE5VTV9DUFUgLSAxXSByYW5nZSBmb3IgYSB2YWxpZCBldmVudCAocHJlc2VudCBpbgorKwkjIHRyYWNlKS4KKysJc2tpcCAwICJUZXN0IHN5c3RlbSBvbmx5IGhhdmUgYSBzaW5nbGUgdGhyZWFkLiBTa2lwcGluZyBhbGwgdGVzdHMuIiAkTlVNX1RFU1RTICYmIGV4aXQgMAorIGZpCisgCistc2tpcCAkZm91bmRvYmogIk5vIHNoYXJlZCBvYmplY3QgZ2VuZXJhdGVkLiBTa2lwcGluZyBhbGwgdGVzdHMuIiAkTlVNX1RFU1RTICYmIGV4aXQgMAorIAorIFRFU1RTPSgKKyAJdGVzdF9nZXRjcHVfb3ZlcnJpZGVfZmFpbAorLS0gCisyLjE3LjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzLzAwMDMtRml4LXRlc3QtdW5pdC10aGUtdHJlZS1vcmlnaW4tY2FuLWJlLWEtc3ltbGluay1pdHNlbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29scy8wMDAzLUZpeC10ZXN0LXVuaXQtdGhlLXRyZWUtb3JpZ2luLWNhbi1iZS1hLXN5bWxpbmstaXRzZWwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODIyYjI2YQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29scy8wMDAzLUZpeC10ZXN0LXVuaXQtdGhlLXRyZWUtb3JpZ2luLWNhbi1iZS1hLXN5bWxpbmstaXRzZWwucGF0Y2gKQEAgLTAsMCArMSw4MCBAQAorRnJvbSA4M2QxNjU0NDJkMWMzNjU4YjZiYWZhMjhkZGFkZThmZmVlNzA5MmFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSm9uYXRoYW4gUmFqb3R0ZSA8am9uYXRoYW4ucmFqb3R0ZS1qdWxpZW5AZWZmaWNpb3MuY29tPgorRGF0ZTogV2VkLCA2IE1hciAyMDE5IDE2OjQ2OjQ5IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0ggbHR0bmctdG9vbHMgMi8yXSBGaXg6IHRlc3Q6IHVuaXQ6IHRoZSB0cmVlIG9yaWdpbiBjYW4gYmUgYQorIHN5bWxpbmsgaXRzZWxmCisKK1Byb2JsZW06CisKK1RoZSBiYXNlIHRyZWUgaXMgZGVmaW5lZCBhcyAiL3RtcC8uLi4uLlhYWFhYWCIuCitPbiBzeXN0ZW1zIHdoZXJlICIvdG1wLyIgaXMgaXRzZWxmIGEgc3ltbGluayB1dGlsc19leHBhbmRfcGF0aCB3aWxsCitleHBhbmQgdGhlIHRyZWUgb3JpZ2luIGl0c2VsZi4KKworRm9yIGV4YW1wbGUgb24gYSBiYXNlIGNvcmUtaW1hZ2UtbWluaW1hbCBZb2N0byBidWlsZCAvdG1wIGlzIGEgc3ltbGluawordG8gIi92YXIvdG1wIiwgd2hpY2ggaXMgYSBzeW1saW5rIHRvICIvdmFyL3ZvbGF0aWxlIi4KKwordXRpbHNfZXhwYW5kX3BhdGggd2lsbCByZXR1cm4gc29tZXRoaW5nIGxpa2UgdGhpcyBmb3IgdGhlIHN5bWxpbmsgdGVzdDoKKyIvdmFyL3ZvbGF0aXZlLy4uLi4uWFhYWFhYLy4uLi4iIHdoaWNoIGlzIHRoZSB2YWxpZCByZXN1bHQuCisKK1NvbHV0aW9uOgorCitTaW1wbHkgdXNlIHJlYWxwYXRoIG9uIHRoZSB0cmVlX29yaWdpbiBhbmQgdXNlIHRoaXMgcGF0aCB0byBwZXJmb3JtIHRoZQordGVzdCB2YWxpZGF0aW9uLgorCitUaGlzIHdvcmsgd2FzIHBlcmZvcm1lZCBpbiB0aGUgZWZmb3J0IHRvIHN1cHBvcnQgeW9jdG8gZnVsbHkgYW5kIGJlIGFibGUKK3RvIHJ1biB0aGUgdGVzdCBzdWl0ZSB0byBkZXRlY3QgcHJvYmxlbSBhcyBlYXJseSBhcyBwb3NzaWJsZS4KKworCitVcHN0cmVhbS1TdGF0dXM6IEFjY2VwdGVkIFtmNjZlOTY0YTJlMGM3NWY1ZTFhNTVmYmNjOTYzYjFjNWUyYjQ1MTlkXQorQmFja3BvcnRlZCB0byAyLjExIGFuZCAyLjEwCisKK1NpZ25lZC1vZmYtYnk6IEpvbmF0aGFuIFJham90dGUgPGpvbmF0aGFuLnJham90dGUtanVsaWVuQGVmZmljaW9zLmNvbT4KKy0tLQorIHRlc3RzL3VuaXQvdGVzdF91dGlsc19leHBhbmRfcGF0aC5jIHwgMTggKysrKysrKysrKysrKystLS0tCisgMSBmaWxlIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS90ZXN0cy91bml0L3Rlc3RfdXRpbHNfZXhwYW5kX3BhdGguYyBiL3Rlc3RzL3VuaXQvdGVzdF91dGlsc19leHBhbmRfcGF0aC5jCitpbmRleCBkNWNhYjAwMmUuLmQwNDdjMjA3ZCAxMDA2NDQKKy0tLSBhL3Rlc3RzL3VuaXQvdGVzdF91dGlsc19leHBhbmRfcGF0aC5jCisrKysgYi90ZXN0cy91bml0L3Rlc3RfdXRpbHNfZXhwYW5kX3BhdGguYworQEAgLTI4MSw4ICsyODEsOCBAQCBlcnJvcjoKKyBzdGF0aWMgdm9pZCB0ZXN0X3V0aWxzX2V4cGFuZF9wYXRoKHZvaWQpCisgeworIAljaGFyICpyZXN1bHQ7CistCWNoYXIgbmFtZVsxMDBdLCB0bXBwYXRoW1BBVEhfTUFYXTsKKy0JaW50IGk7CisrCWNoYXIgbmFtZVsxMDBdLCB0bXBwYXRoW1BBVEhfTUFYXSwgcmVhbF90cmVlX29yaWdpbltQQVRIX01BWF07CisrCWludCBpLCB0cmVlbGVuOworIAorIAkvKiBUZXN0IHZhbGlkIGNhc2VzICovCisgCWZvciAoaSA9IDA7IGkgPCBudW1fdmFsaWRfdGVzdHM7IGkrKykgeworQEAgLTI5NSwxNCArMjk1LDI0IEBAIHN0YXRpYyB2b2lkIHRlc3RfdXRpbHNfZXhwYW5kX3BhdGgodm9pZCkKKyAJCWZyZWUocmVzdWx0KTsKKyAJfQorIAorKwkvKgorKwkgKiBHZXQgdGhlIHJlYWxwYXRoIGZvciB0aGUgdHJlZV9vcmlnaW4gc2luY2UgaXQgY2FuIGl0c2VsZiBiZSBhCisrCSAqIHN5bWxpbmsuCisrCSAqLworKwlyZXN1bHQgPSByZWFscGF0aCh0cmVlX29yaWdpbiwgcmVhbF90cmVlX29yaWdpbik7CisrCWlmICghcmVzdWx0KSB7CisrCQlmYWlsKCJyZWFscGF0aCBmYWlsZWQuIik7CisrCQlyZXR1cm47CisrCX0KKysKKyAJLyogVGVzdCBzeW1saW5rIHRyZWUgY2FzZXMgKi8KKy0JaW50IHRyZWVsZW4gPSBzdHJsZW4odHJlZV9vcmlnaW4pICsgMTsKKysJdHJlZWxlbiA9IHN0cmxlbihyZWFsX3RyZWVfb3JpZ2luKSArIDE7CisgCWZvciAoaSA9IDA7IGkgPCBudW1fc3ltbGlua190ZXN0czsgaSsrKSB7CisgCQlzcHJpbnRmKG5hbWUsICJzeW1saW5rIHRyZWUgdGVzdCBjYXNlOiBbdG1wcGF0aC9dJXMiLAorIAkJCQlzeW1saW5rX3Rlc3RzX2lucHV0c1tpXS5pbnB1dCk7CisgCisgCQlzbnByaW50Zih0bXBwYXRoLCBQQVRIX01BWCwgIiVzLyVzIiwKKy0JCQkJdHJlZV9vcmlnaW4sIHN5bWxpbmtfdGVzdHNfaW5wdXRzW2ldLmlucHV0KTsKKysJCQkJcmVhbF90cmVlX29yaWdpbiwgc3ltbGlua190ZXN0c19pbnB1dHNbaV0uaW5wdXQpOworIAkJcmVzdWx0ID0gdXRpbHNfZXhwYW5kX3BhdGgodG1wcGF0aCk7CisgCQlvayhyZXN1bHQgIT0gTlVMTCAmJiBzdHJjbXAocmVzdWx0ICsgdHJlZWxlbiwKKyAJCQkJCXN5bWxpbmtfdGVzdHNfaW5wdXRzW2ldLmV4cGVjdGVkX3Jlc3VsdCkgPT0gMCwgbmFtZSk7CistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMvMDAwNC1Ta2lwLXdoZW4tdGVzdGFwcC1pcy1ub3QtcHJlc2VudC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29scy8wMDA0LVNraXAtd2hlbi10ZXN0YXBwLWlzLW5vdC1wcmVzZW50LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjOWY3ZTQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMvMDAwNC1Ta2lwLXdoZW4tdGVzdGFwcC1pcy1ub3QtcHJlc2VudC5wYXRjaApAQCAtMCwwICsxLDYxMCBAQAorRnJvbSA5NWMyN2U2YWNjZWFlZGE1NWM3MjliOWU5MmU1OTQzMjJhZGVmMTNmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSm9uYXRoYW4gUmFqb3R0ZSA8am9uYXRoYW4ucmFqb3R0ZS1qdWxpZW5AZWZmaWNpb3MuY29tPgorRGF0ZTogV2VkLCAzIEFwciAyMDE5IDE2OjMxOjE4IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0ggbHR0bmctdG9vbHNdIFNraXAgd2hlbiB0ZXN0YXBwIGlzIG5vdCBwcmVzZW50CisKK1dlIGV4cGVjdCBsdHRuZy11c3QgZG8gYmUgcHJlc2VudCwgdGhpcyBpcyBhIHdyb25nIGFzc3VtcHRpb25zLgorCitUaGlzIGlzIGEgcXVpY2sgZml4LiBUaGUgcmVhbCBmaXggaXMgdG8gZWl0aGVyIGRldGVjdCBhdCBydW50aW1lCitsdHRuZy11c3Qgc3VwcG9ydCBvciBhdCBidWlsZCB0aW1lIChIQVZFX0xJQkxUVE5HX1VTVF9DVEwpLgorCitUaGlzIHByZXZlbnQgaGFuZyBmb3IgbWFrZSBjaGVjayBkb25lIG9uIGEgYnVpbGQgY29uZmlndXJlZCB3aXRoCistLXdpdGhvdXQtbHR0bmctdXN0LgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW290aGVyXSAKK1JlYXNvbjogVGhpcyBwYXRjaCBpcyBpbmFwcHJvcHJpYXRlIGZvciB1cHN0cmVhbSBmb3IgMi4xMCBzdGFibGUgcmVsZWFzZSAKK3NpbmNlIHdlIGRvIG5vdCBiYWNrcG9ydCAic3VwZXJmaWNpYWwiIGZpeCB0byB0aGUgdGVzdCBzdWl0ZS4gV2UgZG8gCitiYWNrcG9ydCB3aGVuIGEgdGVzdCBpcyBicm9rZW4uIFRoZSBmYWN0IHRoYXQgb24gLS13aXRob3V0LWx0dG5nLXVzdCAKK2hhbmcgaXMgbm90IGEgImJyb2tlbiIgdGVzdCBwZXItc2VlLiBTdGlsbCwgYSB2YXJpYXRpb24gb2YgdGhpcyBmaXggd2lsbCAKK2JlIHVwc3RyZWFtZWQgaW4gb3VyIG1hc3RlciBicmFuY2ggYW5kIHBvc3NpYmx5IDIuMTEuIFRoZSB1cHN0cmVhbWVkIAordmVyc2lvbiB3aWxsIHNwbGl0IHRoZSB0ZXN0IGluIGtlcm5lbC91c3QgdGVzdCBhbmQgc2tpcCB0aGVtIGF0IHRoZSAKK2J1aWxkIHN5c3RlbSBsZXZlbC4gVGhpcyBwYXRjaCBpcyBtb3JlIHN1Y2NpbmN0LgorCitTaWduZWQtb2ZmLWJ5OiBKb25hdGhhbiBSYWpvdHRlIDxqb25hdGhhbi5yYWpvdHRlLWp1bGllbkBlZmZpY2lvcy5jb20+CistLS0KKyB0ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2NyYXNoL3Rlc3RfY3Jhc2ggICAgICAgfCAgNCArKworIC4uLi9yZWdyZXNzaW9uL3Rvb2xzL2V4Y2x1c2lvbi90ZXN0X2V4Y2x1c2lvbiB8ICA0ICsrCisgLi4uL3Rvb2xzL2ZpbHRlcmluZy90ZXN0X3ZhbGlkX2ZpbHRlciAgICAgICAgIHwgMjEgKysrKy0tCisgdGVzdHMvcmVncmVzc2lvbi90b29scy9oZWFsdGgvdGVzdF90aHJlYWRfb2sgIHwgMjkgKysrKystLS0KKyB0ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2xpdmUvTWFrZWZpbGUuYW0gICAgICAgfCAgMiAtCisgdGVzdHMvcmVncmVzc2lvbi90b29scy9saXZlL3Rlc3RfbHR0bmdfdXN0ICAgIHwgIDQgKysKKyB0ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2xpdmUvdGVzdF91c3QgICAgICAgICAgfCAgNCArKworIC4uLi90b29scy9saXZlL3Rlc3RfdXN0X3RyYWNlZmlsZV9jb3VudCAgICAgICB8ICA0ICsrCisgdGVzdHMvcmVncmVzc2lvbi90b29scy9taS90ZXN0X21pICAgICAgICAgICAgIHwgIDQgKysKKyAuLi4vbm90aWZpY2F0aW9uL3Rlc3Rfbm90aWZpY2F0aW9uX211bHRpX2FwcCAgfCAxOCArKystLQorIC4uLi90b29scy9ub3RpZmljYXRpb24vdGVzdF9ub3RpZmljYXRpb25fdXN0ICB8ICA0ICsrCisgLi4uL3JlZ3Jlc3Npb24vdG9vbHMvcmVnZW4tbWV0YWRhdGEvdGVzdF91c3QgIHwgIDIgKy0KKyAuLi4vcmVncmVzc2lvbi90b29scy9yZWdlbi1zdGF0ZWR1bXAvdGVzdF91c3QgfCAgMiArLQorIC4uLi9yZWdyZXNzaW9uL3Rvb2xzL3NhdmUtbG9hZC90ZXN0X2F1dG9sb2FkICB8ICA3ICsrCisgdGVzdHMvcmVncmVzc2lvbi90b29scy9zYXZlLWxvYWQvdGVzdF9sb2FkICAgIHwgIDggKysrCisgdGVzdHMvcmVncmVzc2lvbi90b29scy9zYXZlLWxvYWQvdGVzdF9zYXZlICAgIHwgIDcgKysKKyAuLi4vcmVncmVzc2lvbi90b29scy9zbmFwc2hvdHMvdGVzdF91c3RfZmFzdCAgfCAgMiArLQorIC4uLi9yZWdyZXNzaW9uL3Rvb2xzL3NuYXBzaG90cy90ZXN0X3VzdF9sb25nICB8ICAyICstCisgLi4uL3Rvb2xzL3NuYXBzaG90cy90ZXN0X3VzdF9zdHJlYW1pbmcgICAgICAgIHwgIDIgKy0KKyB0ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NuYXBzaG90cy91c3RfdGVzdCAgICAgfCAgMiArLQorIC4uLi9zdHJlYW1pbmcvdGVzdF9oaWdoX3Rocm91Z2hwdXRfbGltaXRzICAgICB8ICAyICstCisgdGVzdHMvcmVncmVzc2lvbi90b29scy9zdHJlYW1pbmcvdGVzdF91c3QgICAgIHwgIDIgKy0KKyAuLi4vdHJhY2VmaWxlLWxpbWl0cy90ZXN0X3RyYWNlZmlsZV9jb3VudCAgICAgfCAgMiArLQorIC4uLi90cmFjZWZpbGUtbGltaXRzL3Rlc3RfdHJhY2VmaWxlX3NpemUgICAgICB8ICAyICstCisgLi4uL3Rvb2xzL3dpbGRjYXJkL3Rlc3RfZXZlbnRfd2lsZGNhcmQgICAgICAgIHwgNjcgKysrKysrKysrKy0tLS0tLS0tLQorIDI1IGZpbGVzIGNoYW5nZWQsIDE0NyBpbnNlcnRpb25zKCspLCA2MCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvY3Jhc2gvdGVzdF9jcmFzaCBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvY3Jhc2gvdGVzdF9jcmFzaAoraW5kZXggOGM2MmM1MTNkLi4zY2JlOTc2ODggMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2NyYXNoL3Rlc3RfY3Jhc2gKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvY3Jhc2gvdGVzdF9jcmFzaAorQEAgLTM1LDYgKzM1LDEwIEBAIE5VTV9URVNUUz03NworIAorIHNvdXJjZSAkVEVTVERJUi91dGlscy91dGlscy5zaAorIAorK2lmIFsgISAteCAiJFRFU1RBUFBfQklOIiBdOyB0aGVuCisrCXBsYW5fc2tpcF9hbGwgIk5vIFVTVCBldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKytmaQorKworICMgR2xvYmFsIGRlY2xhcmF0aW9uIGZvciBzaW1wbGlmaWNhdGlvbgorIExUVE5HX0NSQVNIPSRURVNURElSLy4uL3NyYy9iaW4vbHR0bmctY3Jhc2gvJENSQVNIX0JJTgorIAorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvZXhjbHVzaW9uL3Rlc3RfZXhjbHVzaW9uIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9leGNsdXNpb24vdGVzdF9leGNsdXNpb24KK2luZGV4IDk0OWNkNDFkZi4uNDJlNGQ3MmZiIDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9leGNsdXNpb24vdGVzdF9leGNsdXNpb24KKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvZXhjbHVzaW9uL3Rlc3RfZXhjbHVzaW9uCitAQCAtMzAsNiArMzAsMTAgQEAgTlVNX1RFU1RTPTE0OQorIAorIHNvdXJjZSAkVEVTVERJUi91dGlscy91dGlscy5zaAorIAorK2lmIFsgISAteCAiJFRFU1RBUFBfQklOIiBdOyB0aGVuCisrCXBsYW5fc2tpcF9hbGwgIk5vIFVTVCBldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKytmaQorKworIGZ1bmN0aW9uIGVuYWJsZV91c3RfbHR0bmdfYWxsX2V2ZW50X2V4Y2x1c2lvbigpCisgeworIAlzZXNzX25hbWU9IiQxIgorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvZmlsdGVyaW5nL3Rlc3RfdmFsaWRfZmlsdGVyIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9maWx0ZXJpbmcvdGVzdF92YWxpZF9maWx0ZXIKK2luZGV4IDE2M2IzMjE4Mi4uMWU4ZGE2MzBiIDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9maWx0ZXJpbmcvdGVzdF92YWxpZF9maWx0ZXIKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvZmlsdGVyaW5nL3Rlc3RfdmFsaWRfZmlsdGVyCitAQCAtNDE4LDEyICs0MTgsMTggQEAgaXNzdWVfMzU2X2ZpbHRlcis9ImludGZpZWxkID4gNCAmJiBpbnRmaWVsZCA+IDUgJiYgIgorIGlzc3VlXzM1Nl9maWx0ZXIrPSJpbnRmaWVsZCA+IDYgJiYgaW50ZmllbGQgPiA3ICYmICIKKyBpc3N1ZV8zNTZfZmlsdGVyKz0iaW50ZmllbGQgPiA4IHx8IGludGZpZWxkID4gMCIKKyAKKytCSU5fTkFNRT0iZ2VuLXVzdC1ldmVudHMiCisrCisrc2tpcF91c3Q9MQorK2lmIFsgISAteCAiJENVUkRJUi8kQklOX05BTUUiIF07IHRoZW4KKysJc2tpcF91c3Q9MAorKwlza2lwIDAgIk5vIFVTVCBuZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iICROVU1fVVNUX1RFU1RTCisrZmkKKysKKyBzdGFydF9sdHRuZ19zZXNzaW9uZAorIAorICMjIyBVU1QgVEVTVFMKKyAKKy1CSU5fTkFNRT0iZ2VuLXVzdC1ldmVudHMiCistCisgS0lSS19LUkFVU1NfVEVTVFM9KAorIAkjIHRoZSB0ZXN0cyBiZWxvdyB3ZXJlIHdyaXR0ZW4gYnkgS2lyayBLcmF1c3MgaW4gdGhpcyBhcnRpY2xlOgorIAkjIGh0dHA6Ly93d3cuZHJkb2Jicy5jb20vYXJjaGl0ZWN0dXJlLWFuZC1kZXNpZ24vbWF0Y2hpbmctd2lsZGNhcmRzLWFuLWVtcGlyaWNhbC13YXktdG8tdC8yNDAxNjkxMjMKK0BAIC04OTcsOSArOTAzLDYgQEAgVVNUX1NUUl9GSUxURVJTPSgKKyAJRU5ECisgKQorIAorLWlmIFsgISAteCAiJENVUkRJUi8kQklOX05BTUUiIF07IHRoZW4KKy0JQkFJTF9PVVQgIk5vIFVTVCBuZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iCistZmkKKyAKKyBJRlM9IiRPTERJRlMiCisgCitAQCAtOTEwLDYgKzkxMywxMCBAQCBpPTAKKyB3aGlsZSB0cnVlOyBkbworIAl2YWxpZGF0b3I9IiR7VVNUX0ZJTFRFUlNbJGldfSIKKyAKKysJaWYgWyAkc2tpcF91c3QgLWVxIDAgXTsgdGhlbgorKwkJYnJlYWsKKysJZmkKKysKKyAJaWYgWyAiJHZhbGlkYXRvciIgPSBFTkQgXTsgdGhlbgorIAkJYnJlYWsKKyAJZmkKK0BAIC05MjksNiArOTM2LDEwIEBAIGk9MAorIHdoaWxlIHRydWU7IGRvCisgCXZhbGlkYXRvcj0iJHtVU1RfU1RSX0ZJTFRFUlNbJGldfSIKKyAKKysJaWYgWyAkc2tpcF91c3QgLWVxIDAgXTsgdGhlbgorKwkJYnJlYWsKKysJZmkKKysKKyAJaWYgWyAiJHZhbGlkYXRvciIgPSBFTkQgXTsgdGhlbgorIAkJYnJlYWsKKyAJZmkKK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2hlYWx0aC90ZXN0X3RocmVhZF9vayBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvaGVhbHRoL3Rlc3RfdGhyZWFkX29rCitpbmRleCBlODFkNmVkMjQuLjg0OWI3ZTcxZiAxMDA3NTUKKy0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvaGVhbHRoL3Rlc3RfdGhyZWFkX29rCisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2hlYWx0aC90ZXN0X3RocmVhZF9vaworQEAgLTI3LDYgKzI3LDkgQEAgQ0hBTk5FTF9OQU1FPSJ0ZXN0Y2hhbiIKKyBIRUFMVEhfQ0hFQ0tfQklOPSJoZWFsdGhfY2hlY2siCisgTlVNX1RFU1RTPTE3CisgU0xFRVBfVElNRT0zMAorK1RFU1RBUFBfUEFUSD0iJFRFU1RESVIvdXRpbHMvdGVzdGFwcCIKKytURVNUQVBQX05BTUU9Imdlbi11c3QtZXZlbnRzIgorK1RFU1RBUFBfQklOPSIkVEVTVEFQUF9QQVRILyRURVNUQVBQX05BTUUvJFRFU1RBUFBfTkFNRSIKKyAKKyBzb3VyY2UgJFRFU1RESVIvdXRpbHMvdXRpbHMuc2gKKyAKK0BAIC03NiwxNSArNzksMTkgQEAgZnVuY3Rpb24gdGVzdF90aHJlYWRfb2sKKyAJJENVUkRJUi8kSEVBTFRIX0NIRUNLX0JJTiA+ICR7U1RET1VUX1BBVEh9IDI+ICR7U1RERVJSX1BBVEh9CisgCXJlcG9ydF9lcnJvcnMKKyAKKy0JZGlhZyAiV2l0aCBVU1QgY29uc3VtZXIgZGFlbW9ucyIKKy0JY3JlYXRlX2x0dG5nX3Nlc3Npb25fbm9fb3V0cHV0ICRTRVNTSU9OX05BTUUKKy0JZW5hYmxlX3VzdF9sdHRuZ19ldmVudF9vayAkU0VTU0lPTl9OQU1FICRVU1RfRVZFTlRfTkFNRSAkQ0hBTk5FTF9OQU1FCistCXN0YXJ0X2x0dG5nX3RyYWNpbmdfb2sgJFNFU1NJT05fTkFNRQorLQlkZXN0cm95X2x0dG5nX3Nlc3Npb25fb2sgJFNFU1NJT05fTkFNRQorKwlza2lwICRza2lwX3VzdCAiVXN0IGRvZXMgbm90IHNlZW1zIHRvIGJlIHN1cHBvcnRlZCIgIjUiIHx8CisrCXsKKysJCWRpYWcgIldpdGggVVNUIGNvbnN1bWVyIGRhZW1vbnMiCisrCQljcmVhdGVfbHR0bmdfc2Vzc2lvbl9ub19vdXRwdXQgJFNFU1NJT05fTkFNRQorKwkJZW5hYmxlX3VzdF9sdHRuZ19ldmVudF9vayAkU0VTU0lPTl9OQU1FICRVU1RfRVZFTlRfTkFNRSAkQ0hBTk5FTF9OQU1FCisrCQlzdGFydF9sdHRuZ190cmFjaW5nX29rICRTRVNTSU9OX05BTUUKKysJCWRlc3Ryb3lfbHR0bmdfc2Vzc2lvbl9vayAkU0VTU0lPTl9OQU1FCisgCistCSMgQ2hlY2sgaGVhbHRoIHN0YXR1cworLQkkQ1VSRElSLyRIRUFMVEhfQ0hFQ0tfQklOID4gJHtTVERPVVRfUEFUSH0gMj4gJHtTVERFUlJfUEFUSH0KKy0JcmVwb3J0X2Vycm9ycworKworKwkJIyBDaGVjayBoZWFsdGggc3RhdHVzCisrCQkkQ1VSRElSLyRIRUFMVEhfQ0hFQ0tfQklOID4gJHtTVERPVVRfUEFUSH0gMj4gJHtTVERFUlJfUEFUSH0KKysJCXJlcG9ydF9lcnJvcnMKKysJfQorIAorIAlza2lwICRpc3Jvb3QgIlJvb3QgYWNjZXNzIGlzIG5lZWRlZC4gU2tpcHBpbmcga2VybmVsIGNvbnN1bWVyIGhlYWx0aCBjaGVjayB0ZXN0LiIgIjUiIHx8CisgCXsKK0BAIC0xNDEsNiArMTQ4LDEyIEBAIGVsc2UKKyAJaXNyb290PTAKKyBmaQorIAorK2lmIFsgISAteCAiJFRFU1RBUFBfQklOIiBdOyB0aGVuCisrCXNraXBfdXN0PTAKKytlbHNlCisrCXNraXBfdXN0PTEKKytmaQorKworIHRlc3RfdGhyZWFkX29rCisgCisgcm0gLXJmICR7SEVBTFRIX1BBVEh9CitkaWZmIC0tZ2l0IGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9saXZlL01ha2VmaWxlLmFtIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9saXZlL01ha2VmaWxlLmFtCitpbmRleCA0NjE4NmQzODMuLmRiNzRkZThkNSAxMDA2NDQKKy0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbGl2ZS9NYWtlZmlsZS5hbQorKysrIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9saXZlL01ha2VmaWxlLmFtCitAQCAtMTYsOSArMTYsNyBAQCBMSVZFPSQodG9wX2J1aWxkZGlyKS9zcmMvYmluL2x0dG5nLXNlc3Npb25kL3Nlc3Npb24uJChPQkpFWFQpIFwKKyBub2luc3RfUFJPR1JBTVMgPSBsaXZlX3Rlc3QKKyBFWFRSQV9ESVNUID0gdGVzdF9rZXJuZWwgdGVzdF9sdHRuZ19rZXJuZWwKKyAKKy1pZiBIQVZFX0xJQkxUVE5HX1VTVF9DVEwKKyBFWFRSQV9ESVNUICs9IHRlc3RfdXN0IHRlc3RfdXN0X3RyYWNlZmlsZV9jb3VudCB0ZXN0X2x0dG5nX3VzdAorLWVuZGlmCisgCisgbGl2ZV90ZXN0X1NPVVJDRVMgPSBsaXZlX3Rlc3QuYworIGxpdmVfdGVzdF9MREFERCA9ICQoTElCVEFQKSAkKExJQkNPTU1PTikgJChMSUJSRUxBWUQpICQoTElCU0VTU0lPTkRfQ09NTSkgXAorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbGl2ZS90ZXN0X2x0dG5nX3VzdCBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbGl2ZS90ZXN0X2x0dG5nX3VzdAoraW5kZXggMDYwMTdkMDFkLi5iZTliM2Q3ZjcgMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2xpdmUvdGVzdF9sdHRuZ191c3QKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbGl2ZS90ZXN0X2x0dG5nX3VzdAorQEAgLTM4LDYgKzM4LDEwIEBAIE5VTV9URVNUUz0xMgorIAorIHNvdXJjZSAkVEVTVERJUi91dGlscy91dGlscy5zaAorIAorK2lmIFsgISAteCAiJFRFU1RBUFBfQklOIiBdOyB0aGVuCisrCXBsYW5fc2tpcF9hbGwgIk5vIFVTVCBldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKytmaQorKworICMgTVVTVCBzZXQgVEVTVERJUiBiZWZvcmUgY2FsbGluZyB0aG9zZSBmdW5jdGlvbnMKKyBwbGFuX3Rlc3RzICROVU1fVEVTVFMKKyAKK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2xpdmUvdGVzdF91c3QgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2xpdmUvdGVzdF91c3QKK2luZGV4IDAzODRhNzA2Zi4uYWRkNTIxYmZjIDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9saXZlL3Rlc3RfdXN0CisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2xpdmUvdGVzdF91c3QKK0BAIC0zNiw2ICszNiwxMCBAQCBESVI9JChyZWFkbGluayAtZiAkVEVTVERJUikKKyAKKyBzb3VyY2UgJFRFU1RESVIvdXRpbHMvdXRpbHMuc2gKKyAKKytpZiBbICEgLXggIiRURVNUQVBQX0JJTiIgXTsgdGhlbgorKwlwbGFuX3NraXBfYWxsICJObyBVU1QgZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iCisrZmkKKysKKyBlY2hvICIkVEVTVF9ERVNDIgorIAorIGZ1bmN0aW9uIHNldHVwX2xpdmVfdHJhY2luZygpCitkaWZmIC0tZ2l0IGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9saXZlL3Rlc3RfdXN0X3RyYWNlZmlsZV9jb3VudCBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbGl2ZS90ZXN0X3VzdF90cmFjZWZpbGVfY291bnQKK2luZGV4IDZkYTM2OGZjNi4uMTA1MDRmOGM2IDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9saXZlL3Rlc3RfdXN0X3RyYWNlZmlsZV9jb3VudAorKysrIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9saXZlL3Rlc3RfdXN0X3RyYWNlZmlsZV9jb3VudAorQEAgLTM2LDYgKzM2LDEwIEBAIERJUj0kKHJlYWRsaW5rIC1mICRURVNURElSKQorIAorIHNvdXJjZSAkVEVTVERJUi91dGlscy91dGlscy5zaAorIAorK2lmIFsgISAteCAiJFRFU1RBUFBfQklOIiBdOyB0aGVuCisrCXBsYW5fc2tpcF9hbGwgIk5vIFVTVCBldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKytmaQorKworIGVjaG8gIiRURVNUX0RFU0MiCisgCisgZnVuY3Rpb24gc2V0dXBfbGl2ZV90cmFjaW5nKCkKK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL21pL3Rlc3RfbWkgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL21pL3Rlc3RfbWkKK2luZGV4IDQ4ZGRhN2RhNi4uMmNjMzBiMjlhIDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9taS90ZXN0X21pCisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL21pL3Rlc3RfbWkKK0BAIC02MSw2ICs2MSwxMCBAQCBOVU1fVEVTVFM9MjI4CisgCisgc291cmNlICRURVNURElSL3V0aWxzL3V0aWxzLnNoCisgCisraWYgWyAhIC14ICIkVEVTVEFQUF9CSU4iIF07IHRoZW4KKysJcGxhbl9za2lwX2FsbCAiTm8gVVNUIGV2ZW50cyBiaW5hcnkgZGV0ZWN0ZWQuIgorK2ZpCisrCisgI092ZXJ3cml0ZSB0aGUgbHR0bmdfYmluIHRvIGdldCBtaSBvdXRwdXQKKyBMVFROR19CSU49Imx0dG5nIC0tbWkgeG1sIgorIAorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbm90aWZpY2F0aW9uL3Rlc3Rfbm90aWZpY2F0aW9uX211bHRpX2FwcCBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbm90aWZpY2F0aW9uL3Rlc3Rfbm90aWZpY2F0aW9uX211bHRpX2FwcAoraW5kZXggMGEwNWVhNmEwLi4yOWIwZjYyZmEgMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL25vdGlmaWNhdGlvbi90ZXN0X25vdGlmaWNhdGlvbl9tdWx0aV9hcHAKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbm90aWZpY2F0aW9uL3Rlc3Rfbm90aWZpY2F0aW9uX211bHRpX2FwcAorQEAgLTUyLDYgKzUyLDExIEBAIHBsYW5fdGVzdHMgJE5VTV9URVNUUworIAorIHByaW50X3Rlc3RfYmFubmVyICIkVEVTVF9ERVNDIgorIAorK3NraXBfdXN0PTEKKytpZiBbICEgLXggIiRURVNUQVBQX0JJTiIgXTsgdGhlbgorKwlza2lwX3VzdD0wCisrZmkKKysKKyBhcHBfcGlkcz0oKQorIAorIGZ1bmN0aW9uIGtlcm5lbF9ldmVudF9nZW5lcmF0b3JfdG9vZ2xlX3N0YXRlCitAQCAtNDY4LDEwICs0NzMsMTUgQEAgZnVuY3Rpb24gdGVzdF9vbl9yZWdpc3Rlcl9ldmFsdWF0aW9uICgpCisgfQorIAorIAorLVRFU1RTPSgKKy0JdGVzdF9tdWx0aV9hcHBfdXN0CistCXRlc3Rfb25fcmVnaXN0ZXJfZXZhbHVhdGlvbl91c3QKKy0pCisrVEVTVFM9KCkKKytpZiBbICRza2lwX3VzdCAtZXEgIjEiIF07IHRoZW4KKysJVEVTVFMrPSgKKysJCXRlc3RfbXVsdGlfYXBwX3VzdAorKwkJdGVzdF9vbl9yZWdpc3Rlcl9ldmFsdWF0aW9uX3VzdAorKwkpCisrZWxzZQorKwlza2lwIDAgIk5vIFVTVCBldmVudHMgYmluYXJ5IGRldGVjdGVkLiIgJE5VTV9URVNUX1VTVAorK2ZpCisgCisgaWYgWyAiJChpZCAtdSkiID09ICIwIiBdOyB0aGVuCisgCVRFU1RTKz0oCitkaWZmIC0tZ2l0IGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9ub3RpZmljYXRpb24vdGVzdF9ub3RpZmljYXRpb25fdXN0IGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9ub3RpZmljYXRpb24vdGVzdF9ub3RpZmljYXRpb25fdXN0CitpbmRleCA4OTQxZTQ3NmQuLmViMmUxNWNhZCAxMDA3NTUKKy0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbm90aWZpY2F0aW9uL3Rlc3Rfbm90aWZpY2F0aW9uX3VzdAorKysrIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9ub3RpZmljYXRpb24vdGVzdF9ub3RpZmljYXRpb25fdXN0CitAQCAtNDYsNiArNDYsMTAgQEAgRElSPSQocmVhZGxpbmsgLWYgJFRFU1RESVIpCisgCisgc291cmNlICRURVNURElSL3V0aWxzL3V0aWxzLnNoCisgCisraWYgWyAhIC14ICIkVEVTVEFQUF9CSU4iIF07IHRoZW4KKysJcGxhbl9za2lwX2FsbCAiTm8gVVNUIGV2ZW50cyBiaW5hcnkgZGV0ZWN0ZWQuIgorK2ZpCisrCisgZnVuY3Rpb24gdXN0X2V2ZW50X2dlbmVyYXRvcl90b29nbGVfc3RhdGUKKyB7CisgCXVzdF9ldmVudF9nZW5lcmF0b3Jfc3VzcGVuZGVkPSQoKHVzdF9ldmVudF9nZW5lcmF0b3Jfc3VzcGVuZGVkPT0wKSkKK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3JlZ2VuLW1ldGFkYXRhL3Rlc3RfdXN0IGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9yZWdlbi1tZXRhZGF0YS90ZXN0X3VzdAoraW5kZXggYjdmMWFmMWQ4Li4zMTJjOGE0MGQgMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3JlZ2VuLW1ldGFkYXRhL3Rlc3RfdXN0CisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3JlZ2VuLW1ldGFkYXRhL3Rlc3RfdXN0CitAQCAtMzQsNyArMzQsNyBAQCBOVU1fVEVTVFM9MzMKKyBzb3VyY2UgJFRFU1RESVIvdXRpbHMvdXRpbHMuc2gKKyAKKyBpZiBbICEgLXggIiRURVNUQVBQX0JJTiIgXTsgdGhlbgorLQlCQUlMX09VVCAiTm8gVVNUIGV2ZW50cyBiaW5hcnkgZGV0ZWN0ZWQuIgorKwlwbGFuX3NraXBfYWxsICJObyBVU1QgZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iCisgZmkKKyAKKyBmdW5jdGlvbiBsdHRuZ19jcmVhdGVfc2Vzc2lvbl91cmkKK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3JlZ2VuLXN0YXRlZHVtcC90ZXN0X3VzdCBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvcmVnZW4tc3RhdGVkdW1wL3Rlc3RfdXN0CitpbmRleCA0ODZiOWE1NjAuLjhkNDU1YjI2YSAxMDA3NTUKKy0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvcmVnZW4tc3RhdGVkdW1wL3Rlc3RfdXN0CisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3JlZ2VuLXN0YXRlZHVtcC90ZXN0X3VzdAorQEAgLTM0LDcgKzM0LDcgQEAgTlVNX1RFU1RTPTExCisgc291cmNlICRURVNURElSL3V0aWxzL3V0aWxzLnNoCisgCisgaWYgWyAhIC14ICIkVEVTVEFQUF9CSU4iIF07IHRoZW4KKy0JQkFJTF9PVVQgIk5vIFVTVCBldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKysJcGxhbl9za2lwX2FsbCAiTm8gVVNUIGV2ZW50cyBiaW5hcnkgZGV0ZWN0ZWQuIgorIGZpCisgCisgZnVuY3Rpb24gdGVzdF91c3RfbG9jYWwgKCkKK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NhdmUtbG9hZC90ZXN0X2F1dG9sb2FkIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9zYXZlLWxvYWQvdGVzdF9hdXRvbG9hZAoraW5kZXggN2VlNWU5OTA2Li5lYzM3NmNmYjMgMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NhdmUtbG9hZC90ZXN0X2F1dG9sb2FkCisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NhdmUtbG9hZC90ZXN0X2F1dG9sb2FkCitAQCAtMjEsNiArMjEsOSBAQCBDVVJESVI9JChkaXJuYW1lICQwKS8KKyBDT05GSUdfRElSPSIke0NVUkRJUn0vY29uZmlndXJhdGlvbiIKKyBURVNURElSPSRDVVJESVIvLi4vLi4vLi4vCisgZXhwb3J0IExUVE5HX1NFU1NJT05fQ09ORklHX1hTRF9QQVRIPSQocmVhZGxpbmsgLW0gJHtURVNURElSfS4uL3NyYy9jb21tb24vY29uZmlnLykKKytURVNUQVBQX1BBVEg9IiRURVNURElSL3V0aWxzL3Rlc3RhcHAiCisrVEVTVEFQUF9OQU1FPSJnZW4tdXN0LWV2ZW50cyIKKytURVNUQVBQX0JJTj0iJFRFU1RBUFBfUEFUSC8kVEVTVEFQUF9OQU1FLyRURVNUQVBQX05BTUUiCisgCisgRElSPSQocmVhZGxpbmsgLWYgJFRFU1RESVIpCisgCitAQCAtMjgsNiArMzEsMTAgQEAgTlVNX1RFU1RTPTkKKyAKKyBzb3VyY2UgJFRFU1RESVIvdXRpbHMvdXRpbHMuc2gKKyAKKytpZiBbICEgLXggIiRURVNUQVBQX0JJTiIgXTsgdGhlbgorKwlwbGFuX3NraXBfYWxsICJObyBVU1QgZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iCisrZmkKKysKKyAjIE1VU1Qgc2V0IFRFU1RESVIgYmVmb3JlIGNhbGxpbmcgdGhvc2UgZnVuY3Rpb25zCisgcGxhbl90ZXN0cyAkTlVNX1RFU1RTCisgCitkaWZmIC0tZ2l0IGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9zYXZlLWxvYWQvdGVzdF9sb2FkIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9zYXZlLWxvYWQvdGVzdF9sb2FkCitpbmRleCA1ZTM4YjQ2YjYuLmI2ZmRkODE5MiAxMDA3NTUKKy0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc2F2ZS1sb2FkL3Rlc3RfbG9hZAorKysrIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9zYXZlLWxvYWQvdGVzdF9sb2FkCitAQCAtMjAsNiArMjAsMTAgQEAgVEVTVF9ERVNDPSJMb2FkIHNlc3Npb24ocykiCisgQ1VSRElSPSQoZGlybmFtZSAkMCkvCisgQ09ORklHX0RJUj0iJHtDVVJESVJ9L2NvbmZpZ3VyYXRpb24iCisgVEVTVERJUj0kQ1VSRElSLy4uLy4uLy4uLworK1RFU1RBUFBfUEFUSD0iJFRFU1RESVIvdXRpbHMvdGVzdGFwcCIKKytURVNUQVBQX05BTUU9Imdlbi11c3QtZXZlbnRzIgorK1RFU1RBUFBfQklOPSIkVEVTVEFQUF9QQVRILyRURVNUQVBQX05BTUUvJFRFU1RBUFBfTkFNRSIKKysKKyBleHBvcnQgTFRUTkdfU0VTU0lPTl9DT05GSUdfWFNEX1BBVEg9JChyZWFkbGluayAtbSAke1RFU1RESVJ9Li4vc3JjL2NvbW1vbi9jb25maWcvKQorIAorIFNFU1NJT05fTkFNRT0ibG9hZC00MiIKK0BAIC0zMSw2ICszNSwxMCBAQCBOVU1fVEVTVFM9NjcKKyAKKyBzb3VyY2UgJFRFU1RESVIvdXRpbHMvdXRpbHMuc2gKKyAKKytpZiBbICEgLXggIiRURVNUQVBQX0JJTiIgXTsgdGhlbgorKwlwbGFuX3NraXBfYWxsICJObyBVU1QgZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iCisrZmkKKysKKyAjIE1VU1Qgc2V0IFRFU1RESVIgYmVmb3JlIGNhbGxpbmcgdGhvc2UgZnVuY3Rpb25zCisgcGxhbl90ZXN0cyAkTlVNX1RFU1RTCisgCitkaWZmIC0tZ2l0IGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9zYXZlLWxvYWQvdGVzdF9zYXZlIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9zYXZlLWxvYWQvdGVzdF9zYXZlCitpbmRleCBjNWY2YjEzNDEuLmNmYWY2N2I3YSAxMDA3NTUKKy0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc2F2ZS1sb2FkL3Rlc3Rfc2F2ZQorKysrIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9zYXZlLWxvYWQvdGVzdF9zYXZlCitAQCAtMjMsNiArMjMsOSBAQCBURVNURElSPSRDVVJESVIvLi4vLi4vLi4vCisgU0VTU0lPTl9OQU1FPSJzYXZlLTQyIgorIENIQU5ORUxfTkFNRT0iY2hhbi1zYXZlIgorIEVWRU5UX05BTUU9InRwOnRwdGVzdCIKKytURVNUQVBQX1BBVEg9IiRURVNURElSL3V0aWxzL3Rlc3RhcHAiCisrVEVTVEFQUF9OQU1FPSJnZW4tdXN0LWV2ZW50cyIKKytURVNUQVBQX0JJTj0iJFRFU1RBUFBfUEFUSC8kVEVTVEFQUF9OQU1FLyRURVNUQVBQX05BTUUiCisgCisgRElSPSQocmVhZGxpbmsgLWYgJFRFU1RESVIpCisgCitAQCAtMzAsNiArMzMsMTAgQEAgTlVNX1RFU1RTPTQxCisgCisgc291cmNlICRURVNURElSL3V0aWxzL3V0aWxzLnNoCisgCisraWYgWyAhIC14ICJURVNUQVBQX0JJTiIgXTsgdGhlbgorKwlwbGFuX3NraXBfYWxsICJObyBVU1QgZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iCisrZmkKKysKKyAjIE1VU1Qgc2V0IFRFU1RESVIgYmVmb3JlIGNhbGxpbmcgdGhvc2UgZnVuY3Rpb25zCisgcGxhbl90ZXN0cyAkTlVNX1RFU1RTCisgCitkaWZmIC0tZ2l0IGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9zbmFwc2hvdHMvdGVzdF91c3RfZmFzdCBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3Rlc3RfdXN0X2Zhc3QKK2luZGV4IGVkYjQzNWM1Mi4uNWE2OGVjNTZkIDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9zbmFwc2hvdHMvdGVzdF91c3RfZmFzdAorKysrIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9zbmFwc2hvdHMvdGVzdF91c3RfZmFzdAorQEAgLTIzLDcgKzIzLDcgQEAgVEVTVF9CSU49InVzdF90ZXN0IgorIHNvdXJjZSAkVEVTVERJUi91dGlscy91dGlscy5zaAorIAorIGlmIFsgISAteCAiJENVUkRJUi8kVEVTVF9CSU4iIF07IHRoZW4KKy0JQkFJTF9PVVQgIk5vIFVTVCB0ZXN0IGZvdW5kOiAkVEVTVF9CSU4iCisrCXBsYW5fc2tpcF9hbGwgIk5vIFVTVCB0ZXN0IGZvdW5kOiAkVEVTVF9CSU4iCisgZmkKKyAKKyAuLyRDVVJESVIvJFRFU1RfQklOICROUl9TTkFQU0hPVAorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3Rlc3RfdXN0X2xvbmcgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NuYXBzaG90cy90ZXN0X3VzdF9sb25nCitpbmRleCA5ZTFhMGMyNjIuLmFmYTAxOWY2YSAxMDA3NTUKKy0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3Rlc3RfdXN0X2xvbmcKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3Rlc3RfdXN0X2xvbmcKK0BAIC0yMyw3ICsyMyw3IEBAIFRFU1RfQklOPSJ1c3RfdGVzdCIKKyBzb3VyY2UgJFRFU1RESVIvdXRpbHMvdXRpbHMuc2gKKyAKKyBpZiBbICEgLXggIiRDVVJESVIvJFRFU1RfQklOIiBdOyB0aGVuCistCUJBSUxfT1VUICJObyBVU1QgdGVzdCBmb3VuZDogJFRFU1RfQklOIgorKwlwbGFuX3NraXBfYWxsICJObyBVU1QgdGVzdCBmb3VuZDogJFRFU1RfQklOIgorIGZpCisgCisgLi8kQ1VSRElSLyRURVNUX0JJTiAkTlJfU05BUFNIT1QKK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NuYXBzaG90cy90ZXN0X3VzdF9zdHJlYW1pbmcgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NuYXBzaG90cy90ZXN0X3VzdF9zdHJlYW1pbmcKK2luZGV4IDkzYjA5NTdmMy4uNjkyOTFhYjRkIDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9zbmFwc2hvdHMvdGVzdF91c3Rfc3RyZWFtaW5nCisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NuYXBzaG90cy90ZXN0X3VzdF9zdHJlYW1pbmcKK0BAIC0zNyw3ICszNyw3IEBAIE5VTV9URVNUUz03NQorIHNvdXJjZSAkVEVTVERJUi91dGlscy91dGlscy5zaAorIAorIGlmIFsgISAteCAiJFRFU1RBUFBfQklOIiBdOyB0aGVuCistCUJBSUxfT1VUICJObyBVU1QgZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iCisrCXBsYW5fc2tpcF9hbGwgIk5vIFVTVCBldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKyBmaQorIAorIGZ1bmN0aW9uIHNuYXBzaG90X2FkZF9vdXRwdXQgKCkKK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NuYXBzaG90cy91c3RfdGVzdCBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3VzdF90ZXN0CitpbmRleCA3NTVjZWY5ZTAuLjkyZjlmNmNmZiAxMDA3NTUKKy0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3VzdF90ZXN0CisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NuYXBzaG90cy91c3RfdGVzdAorQEAgLTM0LDcgKzM0LDcgQEAgVFJBQ0VfUEFUSD0kKG1rdGVtcCAtZCkKKyBzb3VyY2UgJFRFU1RESVIvdXRpbHMvdXRpbHMuc2gKKyAKKyBpZiBbICEgLXggIiRURVNUQVBQX0JJTiIgXTsgdGhlbgorLQlCQUlMX09VVCAiTm8gVVNUIGV2ZW50cyBiaW5hcnkgZGV0ZWN0ZWQuIgorKwlwbGFuX3NraXBfYWxsICJObyBVU1QgZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iCisgZmkKKyAKKyAjIE5lZWQgdGhlIG51bWJlciBvZiBzbmFwc2hvdCB0byBkby4KK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3N0cmVhbWluZy90ZXN0X2hpZ2hfdGhyb3VnaHB1dF9saW1pdHMgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3N0cmVhbWluZy90ZXN0X2hpZ2hfdGhyb3VnaHB1dF9saW1pdHMKK2luZGV4IDMyYzNmMWYyYi4uZjU0MTc4OTIzIDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9zdHJlYW1pbmcvdGVzdF9oaWdoX3Rocm91Z2hwdXRfbGltaXRzCisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3N0cmVhbWluZy90ZXN0X2hpZ2hfdGhyb3VnaHB1dF9saW1pdHMKK0BAIC0zOCw3ICszOCw3IEBAIE5VTV9URVNUUz0xMDQKKyBzb3VyY2UgJFRFU1RESVIvdXRpbHMvdXRpbHMuc2gKKyAKKyBpZiBbICEgLXggIiRURVNUQVBQX0JJTiIgXTsgdGhlbgorLQlCQUlMX09VVCAiTm8gVVNUIGV2ZW50cyBiaW5hcnkgZGV0ZWN0ZWQuIgorKwlwbGFuX3NraXBfYWxsICJObyBVU1QgZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iCisgZmkKKyAKKyBmdW5jdGlvbiBzZXRfYndfbGltaXQKK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3N0cmVhbWluZy90ZXN0X3VzdCBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc3RyZWFtaW5nL3Rlc3RfdXN0CitpbmRleCBhNWQ1YjVlOTIuLmUxZGQ5OGVlNyAxMDA3NTUKKy0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc3RyZWFtaW5nL3Rlc3RfdXN0CisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3N0cmVhbWluZy90ZXN0X3VzdAorQEAgLTM0LDcgKzM0LDcgQEAgTlVNX1RFU1RTPTE2Cisgc291cmNlICRURVNURElSL3V0aWxzL3V0aWxzLnNoCisgCisgaWYgWyAhIC14ICIkVEVTVEFQUF9CSU4iIF07IHRoZW4KKy0JQkFJTF9PVVQgIk5vIFVTVCBldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKysJcGxhbl9za2lwX2FsbCAiTm8gVVNUIGV2ZW50cyBiaW5hcnkgZGV0ZWN0ZWQuIgorIGZpCisgCisgZnVuY3Rpb24gbHR0bmdfY3JlYXRlX3Nlc3Npb25fdXJpCitkaWZmIC0tZ2l0IGEvdGVzdHMvcmVncmVzc2lvbi90b29scy90cmFjZWZpbGUtbGltaXRzL3Rlc3RfdHJhY2VmaWxlX2NvdW50IGIvdGVzdHMvcmVncmVzc2lvbi90b29scy90cmFjZWZpbGUtbGltaXRzL3Rlc3RfdHJhY2VmaWxlX2NvdW50CitpbmRleCA2YWRhODU4MGYuLjc1NTNjN2QxZiAxMDA3NTUKKy0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvdHJhY2VmaWxlLWxpbWl0cy90ZXN0X3RyYWNlZmlsZV9jb3VudAorKysrIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy90cmFjZWZpbGUtbGltaXRzL3Rlc3RfdHJhY2VmaWxlX2NvdW50CitAQCAtMzMsNyArMzMsNyBAQCBQQUdFX1NJWkU9JChnZXRjb25mIFBBR0VfU0laRSkKKyBzb3VyY2UgJFRFU1RESVIvdXRpbHMvdXRpbHMuc2gKKyAKKyBpZiBbICEgLXggIiRURVNUQVBQX0JJTiIgXTsgdGhlbgorLQlCQUlMX09VVCAiTm8gVVNUIGV2ZW50cyBiaW5hcnkgZGV0ZWN0ZWQuIgorKwlwbGFuX3NraXBfYWxsICJObyBVU1QgZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iCisgZmkKKyAKKyBmdW5jdGlvbiBlbmFibGVfbHR0bmdfY2hhbm5lbF9jb3VudF9saW1pdCAoKQorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvdHJhY2VmaWxlLWxpbWl0cy90ZXN0X3RyYWNlZmlsZV9zaXplIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy90cmFjZWZpbGUtbGltaXRzL3Rlc3RfdHJhY2VmaWxlX3NpemUKK2luZGV4IDNkZGRiZTYxMy4uMTA4OTQ4N2ZmIDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy90cmFjZWZpbGUtbGltaXRzL3Rlc3RfdHJhY2VmaWxlX3NpemUKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvdHJhY2VmaWxlLWxpbWl0cy90ZXN0X3RyYWNlZmlsZV9zaXplCitAQCAtMzMsNyArMzMsNyBAQCBOVU1fVEVTVFM9NjYKKyBzb3VyY2UgJFRFU1RESVIvdXRpbHMvdXRpbHMuc2gKKyAKKyBpZiBbICEgLXggIiRURVNUQVBQX0JJTiIgXTsgdGhlbgorLQlCQUlMX09VVCAiTm8gVVNUIGV2ZW50cyBiaW5hcnkgZGV0ZWN0ZWQuIgorKwlwbGFuX3NraXBfYWxsICJObyBVU1QgZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iCisgZmkKKyAKKyBmdW5jdGlvbiBlbmFibGVfbHR0bmdfY2hhbm5lbF9zaXplX2xpbWl0ICgpCitkaWZmIC0tZ2l0IGEvdGVzdHMvcmVncmVzc2lvbi90b29scy93aWxkY2FyZC90ZXN0X2V2ZW50X3dpbGRjYXJkIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy93aWxkY2FyZC90ZXN0X2V2ZW50X3dpbGRjYXJkCitpbmRleCA2MWVhNjdhNzIuLjkyMWEyMzAxZCAxMDA3NTUKKy0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvd2lsZGNhcmQvdGVzdF9ldmVudF93aWxkY2FyZAorKysrIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy93aWxkY2FyZC90ZXN0X2V2ZW50X3dpbGRjYXJkCitAQCAtOTcsNDIgKzk3LDQ3IEBAIHByaW50X3Rlc3RfYmFubmVyICIkVEVTVF9ERVNDIgorIAorIHN0YXJ0X2x0dG5nX3Nlc3Npb25kCisgCistZGlhZyAiVGVzdCBVU1Qgd2lsZGNhcmQiCistCisgaWYgWyAhIC14ICIkVEVTVEFQUF9CSU4iIF07IHRoZW4KKy0JQkFJTF9PVVQgIk5vIFVTVCBuZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iCisrCXNraXBfdXN0PTAKKytlbHNlCisrCXNraXBfdXN0PTEKKyBmaQorIAorLUVWRU5UX05BTUU9InRwOnRwdGVzdCIKKytza2lwICRza2lwX3VzdCAiTm8gVVNUIG5ldmVudHMgYmluYXJ5IGRldGVjdGVkLiIgJE5VTV9VU1RfVEVTVFMgfHwKKyt7CisrCWRpYWcgIlRlc3QgVVNUIHdpbGRjYXJkIgorIAorLSMgbm9uLW1hdGNoaW5nCistdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMCAndHA6YWJjKicKKy10ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAwICcqYWJjJworLXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDAgJyp6KicKKy10ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAwICcqXCoqJworLXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDAgJypcKicKKy10ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAwICdcKionCistdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMCAnKjoqdHB0ZSpzJworLXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDAgJ3RwKip0cFRlc3QnCisrCUVWRU5UX05BTUU9InRwOnRwdGVzdCIKKyAKKy0jIG1hdGNoaW5nCistdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAndHA6dHAqJworLXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJyonCistdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAndHA6dHB0ZXN0KicKKy10ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAxICcqKicKKy10ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAxICcqKionCistdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAnKnRwdGVzdCcKKy10ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAxICcqKnRwdGVzdCcKKy10ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAxICcqdHB0ZSonCistdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAnKnRwKicKKy10ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAxICcqdHAqKicKKy10ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAxICcqOip0cHRlc3QnCistdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAnKjoqdHB0ZSp0JworLXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJ3QqcCo6KnQqZSpzKnQnCistdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAnKnQqcCo6KnQqZSpzKnQqJworLXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJ3RwKnRwdGVzdCcKKy10ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAxICd0cCoqdHB0ZXN0JworLXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJ3RwKnRlc3QnCisrCSMgbm9uLW1hdGNoaW5nCisrCXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDAgJ3RwOmFiYyonCisrCXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDAgJyphYmMnCisrCXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDAgJyp6KicKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMCAnKlwqKicKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMCAnKlwqJworKwl0ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAwICdcKionCisrCXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDAgJyo6KnRwdGUqcycKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMCAndHAqKnRwVGVzdCcKKysKKysJIyBtYXRjaGluZworKwl0ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAxICd0cDp0cConCisrCXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJyonCisrCXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJ3RwOnRwdGVzdConCisrCXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJyoqJworKwl0ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAxICcqKionCisrCXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJyp0cHRlc3QnCisrCXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJyoqdHB0ZXN0JworKwl0ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAxICcqdHB0ZSonCisrCXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJyp0cConCisrCXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJyp0cCoqJworKwl0ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAxICcqOip0cHRlc3QnCisrCXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJyo6KnRwdGUqdCcKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAndCpwKjoqdCplKnMqdCcKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAnKnQqcCo6KnQqZSpzKnQqJworKwl0ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAxICd0cCp0cHRlc3QnCisrCXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJ3RwKip0cHRlc3QnCisrCXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJ3RwKnRlc3QnCisrfQorIAorIGlmIFsgIiQoaWQgLXUpIiA9PSAiMCIgXTsgdGhlbgorIAlpc3Jvb3Q9MQorLS0gCisyLjE3LjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzLzAwMDUtVGVzdHMtdXNlLW1vZHByb2JlLXRvLXRlc3QtZm9yLXRoZS1wcmVzZW5jZS1vZi1sdHRuZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29scy8wMDA1LVRlc3RzLXVzZS1tb2Rwcm9iZS10by10ZXN0LWZvci10aGUtcHJlc2VuY2Utb2YtbHR0bmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTZkZjNlNgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29scy8wMDA1LVRlc3RzLXVzZS1tb2Rwcm9iZS10by10ZXN0LWZvci10aGUtcHJlc2VuY2Utb2YtbHR0bmcucGF0Y2gKQEAgLTAsMCArMSwxNzYgQEAKK0Zyb20gOWJjODFhNDQ2ZDBhM2VhOWE4ODQ3MzllZWU0OGQzZjE0ZGIzMjgzYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEpvbmF0aGFuIFJham90dGUgPGpvbmF0aGFuLnJham90dGUtanVsaWVuQGVmZmljaW9zLmNvbT4KK0RhdGU6IFdlZCwgMjggTWFyIDIwMTggMTU6MjE6MjYgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSCBsdHRuZy10b29sc10gVGVzdHM6IHVzZSBtb2Rwcm9iZSB0byB0ZXN0IGZvciB0aGUgcHJlc2VuY2Ugb2YKKyBsdHRuZy1tb2R1bGVzCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgWzI4NzAyNzMwMTkyYWUxZGVkMDYxMDVjNTRjNWRjXQorCitTaWduZWQtb2ZmLWJ5OiBKb25hdGhhbiBSYWpvdHRlIDxqb25hdGhhbi5yYWpvdHRlLWp1bGllbkBlZmZpY2lvcy5jb20+CitTaWduZWQtb2ZmLWJ5OiBKw6lyw6ltaWUgR2FsYXJuZWF1IDxqZXJlbWllLmdhbGFybmVhdUBlZmZpY2lvcy5jb20+CistLS0KKyB0ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3JlZ2VuLW1ldGFkYXRhL3Rlc3Rfa2VybmVsICAgICAgfCAgOCArKy0tLS0tLQorIHRlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvcmVnZW4tc3RhdGVkdW1wL3Rlc3Rfa2VybmVsICAgICB8ICA3ICstLS0tLS0KKyB0ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NuYXBzaG90cy90ZXN0X2tlcm5lbCAgICAgICAgICAgfCAgOSArKystLS0tLS0KKyB0ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NuYXBzaG90cy90ZXN0X2tlcm5lbF9zdHJlYW1pbmcgfCAgOCArKy0tLS0tLQorIHRlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc3RyZWFtaW5nL3Rlc3Rfa2VybmVsICAgICAgICAgICB8ICA4ICsrLS0tLS0tCisgdGVzdHMvdXRpbHMvdXRpbHMuc2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTAgKysrKysrKysrKworIDYgZmlsZXMgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgMzAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3JlZ2VuLW1ldGFkYXRhL3Rlc3Rfa2VybmVsIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9yZWdlbi1tZXRhZGF0YS90ZXN0X2tlcm5lbAoraW5kZXggZmQxMzlhZWVmLi4xODQ5YjljZDAgMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3JlZ2VuLW1ldGFkYXRhL3Rlc3Rfa2VybmVsCisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3JlZ2VuLW1ldGFkYXRhL3Rlc3Rfa2VybmVsCitAQCAtMjgsMTIgKzI4LDYgQEAgTlVNX1RFU1RTPTE4CisgCisgc291cmNlICRURVNURElSL3V0aWxzL3V0aWxzLnNoCisgCistIyBMVFRuZyBrZXJuZWwgbW9kdWxlcyBjaGVjaworLW91dD1gbHMgL2xpYi9tb2R1bGVzLyQodW5hbWUgLXIpL2V4dHJhIHwgZ3JlcCBsdHRuZ2AKKy1pZiBbIC16ICIkb3V0IiBdOyB0aGVuCistCUJBSUxfT1VUICJMVFRuZyBtb2R1bGVzIG5vdCBkZXRlY3RlZC4iCistZmkKKy0KKyBmdW5jdGlvbiBsdHRuZ19jcmVhdGVfc2Vzc2lvbl91cmkKKyB7CisgCSMgQ3JlYXRlIHNlc3Npb24gd2l0aCBkZWZhdWx0IHBhdGgKK0BAIC05MSw2ICs4NSw4IEBAIGZpCisgCisgc2tpcCAkaXNyb290ICJSb290IGFjY2VzcyBpcyBuZWVkZWQuIFNraXBwaW5nIGFsbCBrZXJuZWwgc3RyZWFtaW5nIHRlc3RzLiIgJE5VTV9URVNUUyB8fAorIHsKKysJdmFsaWRhdGVfbHR0bmdfbW9kdWxlc19wcmVzZW50CisrCisgCXN0YXJ0X2x0dG5nX3JlbGF5ZCAiLW8gJFRSQUNFX1BBVEgiCisgCXN0YXJ0X2x0dG5nX3Nlc3Npb25kCisgCW1vZHByb2JlIGx0dG5nLXRlc3QKK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3JlZ2VuLXN0YXRlZHVtcC90ZXN0X2tlcm5lbCBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvcmVnZW4tc3RhdGVkdW1wL3Rlc3Rfa2VybmVsCitpbmRleCA4NWFmZTc2YTEuLjUwMDU0ZWIwNyAxMDA3NTUKKy0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvcmVnZW4tc3RhdGVkdW1wL3Rlc3Rfa2VybmVsCisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3JlZ2VuLXN0YXRlZHVtcC90ZXN0X2tlcm5lbAorQEAgLTI5LDEyICsyOSw2IEBAIE5VTV9URVNUUz0xMQorIAorIHNvdXJjZSAkVEVTVERJUi91dGlscy91dGlscy5zaAorIAorLSMgTFRUbmcga2VybmVsIG1vZHVsZXMgY2hlY2sKKy1vdXQ9YGxzIC9saWIvbW9kdWxlcy8kKHVuYW1lIC1yKS9leHRyYSB8IGdyZXAgbHR0bmdgCistaWYgWyAteiAiJG91dCIgXTsgdGhlbgorLQlCQUlMX09VVCAiTFRUbmcgbW9kdWxlcyBub3QgZGV0ZWN0ZWQuIgorLWZpCistCisgZnVuY3Rpb24gdGVzdF9rZXJuZWxfbG9jYWwgKCkKKyB7CisgCWRpYWcgIlRlc3Qga2VybmVsIGxvY2FsIHdpdGggc3RhdGVkdW1wIHJlZ2VuZXJhdGlvbiIKK0BAIC02NCw2ICs1OCw3IEBAIGZpCisgCisgc2tpcCAkaXNyb290ICJSb290IGFjY2VzcyBpcyBuZWVkZWQuIFNraXBwaW5nIGFsbCBrZXJuZWwgc3RyZWFtaW5nIHRlc3RzLiIgJE5VTV9URVNUUyB8fAorIHsKKysJdmFsaWRhdGVfbHR0bmdfbW9kdWxlc19wcmVzZW50CisgCXN0YXJ0X2x0dG5nX3Nlc3Npb25kCisgCW1vZHByb2JlIGx0dG5nLXRlc3QKKyAKK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NuYXBzaG90cy90ZXN0X2tlcm5lbCBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3Rlc3Rfa2VybmVsCitpbmRleCA4ODZjNDU1N2EuLmZmNTYzMTAwYiAxMDA3NTUKKy0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3Rlc3Rfa2VybmVsCisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NuYXBzaG90cy90ZXN0X2tlcm5lbAorQEAgLTI5LDEyICsyOSw2IEBAIE5VTV9URVNUUz0yMDYwCisgCisgc291cmNlICRURVNURElSL3V0aWxzL3V0aWxzLnNoCisgCistIyBMVFRuZyBrZXJuZWwgbW9kdWxlcyBjaGVjaworLW91dD1gbHMgL2xpYi9tb2R1bGVzLyQodW5hbWUgLXIpL2V4dHJhIHwgZ3JlcCBsdHRuZ2AKKy1pZiBbIC16ICIkb3V0IiBdOyB0aGVuCistCUJBSUxfT1VUICJMVFRuZyBtb2R1bGVzIG5vdCBkZXRlY3RlZC4iCistZmkKKy0KKyBmdW5jdGlvbiB0ZXN0X2tlcm5lbF9sb2NhbF9zbmFwc2hvdCAoKQorIHsKKyAJZGlhZyAiVGVzdCBsb2NhbCBrZXJuZWwgc25hcHNob3RzIgorQEAgLTI0MSw2ICsyMzUsOSBAQCBmaQorIAorIHNraXAgJGlzcm9vdCAiUm9vdCBhY2Nlc3MgaXMgbmVlZGVkLiBTa2lwcGluZyBhbGwga2VybmVsIHNuYXBzaG90IHRlc3RzLiIgJE5VTV9URVNUUyB8fAorIHsKKysKKysJdmFsaWRhdGVfbHR0bmdfbW9kdWxlc19wcmVzZW50CisrCisgCXN0YXJ0X2x0dG5nX3Nlc3Npb25kCisgCisgCSN0ZXN0cz0oIHRlc3Rfa2VybmVsXzEwMDBfbG9jYWxfc25hcHNob3RzICkKK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NuYXBzaG90cy90ZXN0X2tlcm5lbF9zdHJlYW1pbmcgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NuYXBzaG90cy90ZXN0X2tlcm5lbF9zdHJlYW1pbmcKK2luZGV4IDdiOTZlZjI3MC4uMWQ5NzUxOWFhIDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9zbmFwc2hvdHMvdGVzdF9rZXJuZWxfc3RyZWFtaW5nCisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NuYXBzaG90cy90ZXN0X2tlcm5lbF9zdHJlYW1pbmcKK0BAIC0yOSwxMiArMjksNiBAQCBOVU1fVEVTVFM9NjEKKyAKKyBzb3VyY2UgJFRFU1RESVIvdXRpbHMvdXRpbHMuc2gKKyAKKy0jIExUVG5nIGtlcm5lbCBtb2R1bGVzIGNoZWNrCistb3V0PWBscyAvbGliL21vZHVsZXMvJCh1bmFtZSAtcikvZXh0cmEgfCBncmVwIGx0dG5nYAorLWlmIFsgLXogIiRvdXQiIF07IHRoZW4KKy0JQkFJTF9PVVQgIkxUVG5nIG1vZHVsZXMgbm90IGRldGVjdGVkLiIKKy1maQorLQorIGZ1bmN0aW9uIHNuYXBzaG90X2FkZF9vdXRwdXQgKCkKKyB7CisgCWxvY2FsIHNlc3NfbmFtZT0kMQorQEAgLTE2OSw2ICsxNjMsOCBAQCBmaQorIAorIHNraXAgJGlzcm9vdCAiUm9vdCBhY2Nlc3MgaXMgbmVlZGVkLiBTa2lwcGluZyBhbGwga2VybmVsIHN0cmVhbWluZyB0ZXN0cy4iICROVU1fVEVTVFMgfHwKKyB7CisrCXZhbGlkYXRlX2x0dG5nX21vZHVsZXNfcHJlc2VudAorKworIAlzdGFydF9sdHRuZ19yZWxheWQgIi1vICRUUkFDRV9QQVRIIgorIAlzdGFydF9sdHRuZ19zZXNzaW9uZAorIAorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc3RyZWFtaW5nL3Rlc3Rfa2VybmVsIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9zdHJlYW1pbmcvdGVzdF9rZXJuZWwKK2luZGV4IGQ1NGJjZWRmNS4uNmJiMjNkOWY1IDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9zdHJlYW1pbmcvdGVzdF9rZXJuZWwKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc3RyZWFtaW5nL3Rlc3Rfa2VybmVsCitAQCAtMjgsMTIgKzI4LDYgQEAgTlVNX1RFU1RTPTEwCisgCisgc291cmNlICRURVNURElSL3V0aWxzL3V0aWxzLnNoCisgCistIyBMVFRuZyBrZXJuZWwgbW9kdWxlcyBjaGVjaworLW91dD1gbHMgL2xpYi9tb2R1bGVzLyQodW5hbWUgLXIpL2V4dHJhIHwgZ3JlcCBsdHRuZ2AKKy1pZiBbIC16ICIkb3V0IiBdOyB0aGVuCistCUJBSUxfT1VUICJMVFRuZyBtb2R1bGVzIG5vdCBkZXRlY3RlZC4iCistZmkKKy0KKyBmdW5jdGlvbiBsdHRuZ19jcmVhdGVfc2Vzc2lvbl91cmkKKyB7CisgCSMgQ3JlYXRlIHNlc3Npb24gd2l0aCBkZWZhdWx0IHBhdGgKK0BAIC04MCw2ICs3NCw4IEBAIGZpCisgCisgc2tpcCAkaXNyb290ICJSb290IGFjY2VzcyBpcyBuZWVkZWQuIFNraXBwaW5nIGFsbCBrZXJuZWwgc3RyZWFtaW5nIHRlc3RzLiIgJE5VTV9URVNUUyB8fAorIHsKKysJdmFsaWRhdGVfbHR0bmdfbW9kdWxlc19wcmVzZW50CisrCisgCXN0YXJ0X2x0dG5nX3JlbGF5ZCAiLW8gJFRSQUNFX1BBVEgiCisgCXN0YXJ0X2x0dG5nX3Nlc3Npb25kCisgCitkaWZmIC0tZ2l0IGEvdGVzdHMvdXRpbHMvdXRpbHMuc2ggYi90ZXN0cy91dGlscy91dGlscy5zaAoraW5kZXggYWY2MzgyNGNlLi4yNmU1OWUzODMgMTAwNjQ0CistLS0gYS90ZXN0cy91dGlscy91dGlscy5zaAorKysrIGIvdGVzdHMvdXRpbHMvdXRpbHMuc2gKK0BAIC0xMjUsNiArMTI1LDE2IEBAIGZ1bmN0aW9uIGNvbmZfcHJvY19jb3VudCgpCisgCWVjaG8KKyB9CisgCisrIyBDaGVjayBpZiBiYXNlIGx0dG5nLW1vZHVsZXMgYXJlIHByZXNlbnQuCisrIyBCYWlsIG91dCBvbiBmYWlsdXJlCisrZnVuY3Rpb24gdmFsaWRhdGVfbHR0bmdfbW9kdWxlc19wcmVzZW50ICgpCisreworKwltb2Rwcm9iZSAtbiBsdHRuZy10cmFjZXIgMj4vZGV2L251bGwKKysJaWYgWyAkPyAtbmUgMCAgXTsgdGhlbgorKwkJQkFJTF9PVVQgIkxUVG5nIG1vZHVsZXMgbm90IGRldGVjdGVkLiIKKysJZmkKKyt9CisrCisgZnVuY3Rpb24gZW5hYmxlX2tlcm5lbF9sdHRuZ19ldmVudAorIHsKKyAJbG9jYWwgd2l0aHRhcD0iJDEiCistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMvMDAwNi1UZXN0cy1jaGVjay1mb3ItbHR0bmctbW9kdWxlcy1wcmVzZW5jZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29scy8wMDA2LVRlc3RzLWNoZWNrLWZvci1sdHRuZy1tb2R1bGVzLXByZXNlbmNlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwN2MyMjcKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMvMDAwNi1UZXN0cy1jaGVjay1mb3ItbHR0bmctbW9kdWxlcy1wcmVzZW5jZS5wYXRjaApAQCAtMCwwICsxLDI4IEBACitGcm9tIDkyZjkzMjM4ZjFkZjAwNWFhZGM5OGUxMDVjMGRkMGUwNGE1OTU1YTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb25hdGhhbiBSYWpvdHRlIDxqb25hdGhhbi5yYWpvdHRlLWp1bGllbkBlZmZpY2lvcy5jb20+CitEYXRlOiBNb24sIDI1IE1hciAyMDE5IDE0OjI0OjUxIC0wNDAwCitTdWJqZWN0OiBbMi8yXSB0ZXN0czogY2hlY2sgZm9yIGx0dG5nLW1vZHVsZXMgcHJlc2VuY2UKKworVXBzdHJlYW0tc3RhdHVzOiBBY2NlcHRlZCBbNWRhM2ZjODU3OWE5ZjkzZWE0NzY3NzI5YTEwNzc4NGJmMmQwMzRhZV0KK0JhY2twb3J0ZWQgdG8gMi4xMSBhbmQgMi4xMAorCitTaWduZWQtb2ZmLWJ5OiBKb25hdGhhbiBSYWpvdHRlIDxqb25hdGhhbi5yYWpvdHRlLWp1bGllbkBlZmZpY2lvcy5jb20+CistLS0KKyB0ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL25vdGlmaWNhdGlvbi90ZXN0X25vdGlmaWNhdGlvbl9rZXJuZWwgfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbm90aWZpY2F0aW9uL3Rlc3Rfbm90aWZpY2F0aW9uX2tlcm5lbCBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbm90aWZpY2F0aW9uL3Rlc3Rfbm90aWZpY2F0aW9uX2tlcm5lbAoraW5kZXggNmQ3ZjI1NmFlLi5lNzM2OGRmMjYgMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL25vdGlmaWNhdGlvbi90ZXN0X25vdGlmaWNhdGlvbl9rZXJuZWwKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbm90aWZpY2F0aW9uL3Rlc3Rfbm90aWZpY2F0aW9uX2tlcm5lbAorQEAgLTEwOCw2ICsxMDgsNyBAQCBmdW5jdGlvbiBrZXJuZWxfdGVzdAorIH0KKyAKKyBpZiBbICIkKGlkIC11KSIgPT0gIjAiIF07IHRoZW4KKysJdmFsaWRhdGVfbHR0bmdfbW9kdWxlc19wcmVzZW50CisgCWtlcm5lbF90ZXN0CisgZWxzZQorIAkjIEtlcm5lbCB0ZXN0cyBhcmUgc2tpcHBlZC4KKy0tIAorMi4xNy4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29scy8wMDA3LUZpeC1nZXRncm5hbS1pcy1ub3QtTVQtU2FmZS11c2UtZ2V0Z3JuYW1fci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29scy8wMDA3LUZpeC1nZXRncm5hbS1pcy1ub3QtTVQtU2FmZS11c2UtZ2V0Z3JuYW1fci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDM3ZGUyCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzLzAwMDctRml4LWdldGdybmFtLWlzLW5vdC1NVC1TYWZlLXVzZS1nZXRncm5hbV9yLnBhdGNoCkBAIC0wLDAgKzEsMzQ1IEBACitGcm9tIDEwZTgwMDFhZDg3NmQ4Y2IzYjVhMTdjNzQ5MmU3MTNiYmMwNDc5NzUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb25hdGhhbiBSYWpvdHRlIDxqb25hdGhhbi5yYWpvdHRlLWp1bGllbkBlZmZpY2lvcy5jb20+CitEYXRlOiBUaHUsIDI4IE1hciAyMDE5IDE4OjMxOjI5IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeDogZ2V0Z3JuYW0gaXMgbm90IE1ULVNhZmUsIHVzZSBnZXRncm5hbV9yCisKK1J1bm5pbmcgdGhlIHRlc3Qgc3VpdGUgdW5kZXIgYSBZb2N0byBtdXNsIGJ1aWxkIHJlc3VsdGVkIGluIG11c2wKK2NvcmVkdW1wIGR1ZSB0byBkb3VibGUgZnJlZWluZy4KKworV2UgZ2V0IHRoZSBmb2xsb3dpbmcgYmFja3RyYWNlczoKKworMCAgYV9jcmFzaCAoKSBhdCAuL2FyY2gveDg2XzY0L2F0b21pY19hcmNoLmg6MTA4CisxICB1bm1hcF9jaHVuayAoc2VsZj08b3B0aW1pemVkIG91dD4pIGF0IHNyYy9tYWxsb2MvbWFsbG9jLmM6NTE1CisyICBmcmVlIChwPTxvcHRpbWl6ZWQgb3V0PikgYXQgc3JjL21hbGxvYy9tYWxsb2MuYzo1MjYKKzMgIDB4MDAwMDdmNDZkOWRjMzg0OSBpbiBfX2dldGdyZW50X2EgKGY9ZkBlbnRyeT0weDdmNDZkOWQxZjdlMCwgZ3I9Z3JAZW50cnk9MHg3ZjQ2ZDllMjQ0NjAgPGdyPiwgbGluZT1saW5lQGVudHJ5PTB4N2Y0NmQ5ZTI2MDU4IDxsaW5lPiwgc2l6ZT1zaXplQGVudHJ5PTB4N2Y0NmQ5MmRiNTUwLCBtZW09bWVtQGVudHJ5PTB4N2Y0NmQ5ZTI2MDUwIDxtZW0+LCBubWVtPW5tZW1AZW50cnk9MHg3ZjQ2ZDkyZGI1NTgsIHJlcz0weDdmNDZkOTJkYjU0OCkgYXQgc3JjL3Bhc3N3ZC9nZXRncmVudF9hLmM6NDUKKzQgIDB4MDAwMDdmNDZkOWRjMmU2YiBpbiBfX2dldGdyX2EgKG5hbWU9MHg0ODcyNDIgInRyYWNpbmciLCBnaWQ9Z2lkQGVudHJ5PTAsIGdyPWdyQGVudHJ5PTB4N2Y0NmQ5ZTI0NDYwIDxncj4sIGJ1Zj1idWZAZW50cnk9MHg3ZjQ2ZDllMjYwNTggPGxpbmU+LCBzaXplPXNpemVAZW50cnk9MHg3ZjQ2ZDkyZGI1NTAsIG1lbT1tZW1AZW50cnk9MHg3ZjQ2ZDllMjYwNTAgPG1lbT4sIG5tZW09MHg3ZjQ2ZDkyZGI1NTgsIHJlcz0weDdmNDZkOTJkYjU0OCkgYXQgc3JjL3Bhc3N3ZC9nZXRncl9hLmM6MzAKKzUgIDB4MDAwMDdmNDZkOWRjMzczMyBpbiBnZXRncm5hbSAobmFtZT08b3B0aW1pemVkIG91dD4pIGF0IHNyYy9wYXNzd2QvZ2V0Z3JlbnQuYzozNworNiAgMHgwMDAwMDAwMDAwNDYwYjI5IGluIHV0aWxzX2dldF9ncm91cF9pZCAobmFtZT08b3B0aW1pemVkIG91dD4pIGF0IC4uLy4uLy4uL2x0dG5nLXRvb2xzLTIuMTAuNi9zcmMvY29tbW9uL3V0aWxzLmM6MTI0MQorNyAgMHgwMDAwMDAwMDAwNDRlZTY5IGluIHRocmVhZF9tYW5hZ2VfaGVhbHRoIChkYXRhPTxvcHRpbWl6ZWQgb3V0PikgYXQgLi4vLi4vLi4vLi4vbHR0bmctdG9vbHMtMi4xMC42L3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvbWFpbi5jOjQxMTUKKzggIDB4MDAwMDdmNDZkOWRlMTU0MSBpbiBzdGFydCAocD08b3B0aW1pemVkIG91dD4pIGF0IHNyYy90aHJlYWQvcHRocmVhZF9jcmVhdGUuYzoxOTUKKzkgIDB4MDAwMDdmNDZkOWRlZTY2MSBpbiBfX2Nsb25lICgpIGF0IHNyYy90aHJlYWQveDg2XzY0L2Nsb25lLnM6MjIKKworRnJvbSBhbm90aGVyIHJ1bjoKKworMCAgYV9jcmFzaCAoKSBhdCAuL2FyY2gveDg2XzY0L2F0b21pY19hcmNoLmg6MTA4CisxICB1bm1hcF9jaHVuayAoc2VsZj08b3B0aW1pemVkIG91dD4pIGF0IHNyYy9tYWxsb2MvbWFsbG9jLmM6NTE1CisyICBmcmVlIChwPTxvcHRpbWl6ZWQgb3V0PikgYXQgc3JjL21hbGxvYy9tYWxsb2MuYzo1MjYKKzMgIDB4MDAwMDdmNWFiYzIxMDg0OSBpbiBfX2dldGdyZW50X2EgKGY9ZkBlbnRyeT0weDdmNWFiYzI3MzNlMCwgZ3I9Z3JAZW50cnk9MHg3ZjVhYmMyNzE0NjAgPGdyPiwgbGluZT1saW5lQGVudHJ5PTB4N2Y1YWJjMjczMDU4IDxsaW5lPiwgc2l6ZT1zaXplQGVudHJ5PTB4N2Y1YWJhZWY1NTEwLCBtZW09bWVtQGVudHJ5PTB4N2Y1YWJjMjczMDUwIDxtZW0+LCBubWVtPW5tZW1AZW50cnk9MHg3ZjVhYmFlZjU1MTgsIHJlcz0weDdmNWFiYWVmNTUwOCkgYXQgc3JjL3Bhc3N3ZC9nZXRncmVudF9hLmM6NDUKKzQgIDB4MDAwMDdmNWFiYzIwZmU2YiBpbiBfX2dldGdyX2EgKG5hbWU9MHg0ODcyNDIgInRyYWNpbmciLCBnaWQ9Z2lkQGVudHJ5PTAsIGdyPWdyQGVudHJ5PTB4N2Y1YWJjMjcxNDYwIDxncj4sIGJ1Zj1idWZAZW50cnk9MHg3ZjVhYmMyNzMwNTggPGxpbmU+LCBzaXplPXNpemVAZW50cnk9MHg3ZjVhYmFlZjU1MTAsIG1lbT1tZW1AZW50cnk9MHg3ZjVhYmMyNzMwNTAgPG1lbT4sIG5tZW09MHg3ZjVhYmFlZjU1MTgsIHJlcz0weDdmNWFiYWVmNTUwOCkgYXQgc3JjL3Bhc3N3ZC9nZXRncl9hLmM6MzAKKzUgIDB4MDAwMDdmNWFiYzIxMDczMyBpbiBnZXRncm5hbSAobmFtZT08b3B0aW1pemVkIG91dD4pIGF0IHNyYy9wYXNzd2QvZ2V0Z3JlbnQuYzozNworNiAgMHgwMDAwMDAwMDAwNDYwYjI5IGluIHV0aWxzX2dldF9ncm91cF9pZCAobmFtZT08b3B0aW1pemVkIG91dD4pIGF0IC4uLy4uLy4uL2x0dG5nLXRvb2xzLTIuMTAuNi9zcmMvY29tbW9uL3V0aWxzLmM6MTI0MQorNyAgMHgwMDAwMDAwMDAwNDJkZWU0IGluIG5vdGlmaWNhdGlvbl9jaGFubmVsX3NvY2tldF9jcmVhdGUgKCkgYXQgLi4vLi4vLi4vLi4vbHR0bmctdG9vbHMtMi4xMC42L3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvbm90aWZpY2F0aW9uLXRocmVhZC5jOjIzOAorOCAgaW5pdF90aHJlYWRfc3RhdGUgKHN0YXRlPTB4N2Y1YWJhZWY1NTYwLCBoYW5kbGU9MHg3ZjVhYmJmOWJlNDApIGF0IC4uLy4uLy4uLy4uL2x0dG5nLXRvb2xzLTIuMTAuNi9zcmMvYmluL2x0dG5nLXNlc3Npb25kL25vdGlmaWNhdGlvbi10aHJlYWQuYzozNzUKKzkgIHRocmVhZF9ub3RpZmljYXRpb24gKGRhdGE9MHg3ZjVhYmJmOWJlNDApIGF0IC4uLy4uLy4uLy4uL2x0dG5nLXRvb2xzLTIuMTAuNi9zcmMvYmluL2x0dG5nLXNlc3Npb25kL25vdGlmaWNhdGlvbi10aHJlYWQuYzo0OTUKKzEwIDB4MDAwMDdmNWFiYzIyZTU0MSBpbiBzdGFydCAocD08b3B0aW1pemVkIG91dD4pIGF0IHNyYy90aHJlYWQvcHRocmVhZF9jcmVhdGUuYzoxOTUKKzExIDB4MDAwMDdmNWFiYzIzYjY2MSBpbiBfX2Nsb25lICgpIGF0IHNyYy90aHJlYWQveDg2XzY0L2Nsb25lLnM6MjIKKworVGhlIHByb2JsZW0gd2FzIGVhc2lseSByZXByb2R1Y2libGUgKH42IGNyYXNoIG9uIH4zMDAgcnVucykuIEEgcHJvdG90eXBlIGZpeAordXNpbmcgbXV0ZXggYXJvdW5kIHRoZSBnZXRncm5hbSB5aWVsZGVkIG5vIGNyYXNoIGluIG92ZXIgMTAwMCBydW5zLiBUaGlzCitwYXRjaCB5aWVsZGVkIHRoZSBzYW1lIHJlc3VsdHMgYXMgdGhlIHByb3RvdHlwZSBmaXguCisKK1VuZm9ydHVuYXRlbHkgd2UgY2Fubm90IHJlbHkgb24gYSBtdXRleCBpbiBsaWJsdHRuZy1jdGwgc2luY2Ugd2UgY2Fubm90CitlbmZvcmNlIHRoZSBsb2NraW5nIGZvciB0aGUgYXBwbGljYXRpb24gdXNpbmcgdGhlIGxpYi4KKworVXNlIGdldGdybmFtX3IgaW5zdGVhZC4KKworVGhlIHByZXZpb3VzIGltcGxlbWVudGF0aW9uIG9mIHV0aWxzX2dldF9ncm91cF9pZCByZXR1cm5lZCB0aGUgZ2lkIG9mCit0aGUgcm9vdCBncm91cCAoMCkgb24gZXJyb3Ivbm90IGZvdW5kLiBsdHRuZ19jaGVja190cmFjaW5nX2dyb3VwIG5lZWRzCit0byBrbm93IGlmIGFuIGVycm9yL25vdCBmb3VuZCBvY2N1cmVkLCByZXR1cm5pbmcgdGhlIHJvb3QgZ3JvdXAgaXMgbm90Citlbm91Z2guIFdlIG5vdyByZXR1cm4gdGhlIGdpZCB2aWEgdGhlIHBhc3NlZCBwYXJhbWV0ZXIuIFRoZSBjYWxsZXIgaXMKK3Jlc3BvbnNpYmxlIGZvciBlaXRoZXIgZGVmYXVsdGluZyB0byB0aGUgcm9vdCBncm91cCBvciBwcm9wYWdhdGluZyB0aGUKK2Vycm9yLgorCitXZSBhbHNvIGRvIG5vdCB3YW50IHRvIHdhcm4gd2hlbiB1c2VkIGluIGxpYmx0dG5nLWN0bCBjb250ZXh0LiBXZSBtaWdodAord2FudCB0byBtb3ZlIHRoZSB3YXJuaW5nIGVsc2V3aGVyZSBpbiB0aGUgZnV0dXJlLiBGb3Igbm93LCBwYXNzIGEgYm9vbAoraWYgd2UgbmVlZCB0byB3YXJuIG9yIG5vdC4KKworU2lnbmVkLW9mZi1ieTogSm9uYXRoYW4gUmFqb3R0ZSA8am9uYXRoYW4ucmFqb3R0ZS1qdWxpZW5AZWZmaWNpb3MuY29tPgorLS0tCisgc3JjL2Jpbi9sdHRuZy1jb25zdW1lcmQvaGVhbHRoLWNvbnN1bWVyZC5jICAgfCAxMCArKy0KKyBzcmMvYmluL2x0dG5nLXJlbGF5ZC9oZWFsdGgtcmVsYXlkLmMgICAgICAgICB8IDIwICsrKystLQorIHNyYy9iaW4vbHR0bmctc2Vzc2lvbmQvbWFpbi5jICAgICAgICAgICAgICAgIHwgMjQgKysrKystLQorIHNyYy9iaW4vbHR0bmctc2Vzc2lvbmQvbm90aWZpY2F0aW9uLXRocmVhZC5jIHwgMTAgKystCisgc3JjL2NvbW1vbi91dGlscy5jICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA3NSArKysrKysrKysrKysrKysrKy0tLQorIHNyYy9jb21tb24vdXRpbHMuaCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKy0KKyBzcmMvbGliL2x0dG5nLWN0bC9sdHRuZy1jdGwuYyAgICAgICAgICAgICAgICB8ICA4ICstLQorIDcgZmlsZXMgY2hhbmdlZCwgMTIyIGluc2VydGlvbnMoKyksIDI5IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9sdHRuZy1jb25zdW1lcmQvaGVhbHRoLWNvbnN1bWVyZC5jIGIvc3JjL2Jpbi9sdHRuZy1jb25zdW1lcmQvaGVhbHRoLWNvbnN1bWVyZC5jCitpbmRleCAxZTJmMzFlNC4uNjA0NTQwMWEgMTAwNjQ0CistLS0gYS9zcmMvYmluL2x0dG5nLWNvbnN1bWVyZC9oZWFsdGgtY29uc3VtZXJkLmMKKysrKyBiL3NyYy9iaW4vbHR0bmctY29uc3VtZXJkL2hlYWx0aC1jb25zdW1lcmQuYworQEAgLTE4NCw4ICsxODQsMTQgQEAgdm9pZCAqdGhyZWFkX21hbmFnZV9oZWFsdGgodm9pZCAqZGF0YSkKKyAJaXNfcm9vdCA9ICFnZXR1aWQoKTsKKyAJaWYgKGlzX3Jvb3QpIHsKKyAJCS8qIGx0dG5nIGhlYWx0aCBjbGllbnQgc29ja2V0IHBhdGggcGVybWlzc2lvbnMgKi8KKy0JCXJldCA9IGNob3duKGhlYWx0aF91bml4X3NvY2tfcGF0aCwgMCwKKy0JCQkJdXRpbHNfZ2V0X2dyb3VwX2lkKHRyYWNpbmdfZ3JvdXBfbmFtZSkpOworKwkJZ2lkX3QgZ2lkOworKworKwkJcmV0ID0gdXRpbHNfZ2V0X2dyb3VwX2lkKHRyYWNpbmdfZ3JvdXBfbmFtZSwgdHJ1ZSwgJmdpZCk7CisrCQlpZiAocmV0KSB7CisrCQkJZ2lkID0gMDsgLyogRGVmYXVsdCB0byByb290IGdyb3VwLiAqLworKwkJfQorKworKwkJcmV0ID0gY2hvd24oaGVhbHRoX3VuaXhfc29ja19wYXRoLCAwLCBnaWQpOworIAkJaWYgKHJldCA8IDApIHsKKyAJCQlFUlIoIlVuYWJsZSB0byBzZXQgZ3JvdXAgb24gJXMiLCBoZWFsdGhfdW5peF9zb2NrX3BhdGgpOworIAkJCVBFUlJPUigiY2hvd24iKTsKK2RpZmYgLS1naXQgYS9zcmMvYmluL2x0dG5nLXJlbGF5ZC9oZWFsdGgtcmVsYXlkLmMgYi9zcmMvYmluL2x0dG5nLXJlbGF5ZC9oZWFsdGgtcmVsYXlkLmMKK2luZGV4IGJhOTk2NjIxLi45NjJlODhjNCAxMDA2NDQKKy0tLSBhL3NyYy9iaW4vbHR0bmctcmVsYXlkL2hlYWx0aC1yZWxheWQuYworKysrIGIvc3JjL2Jpbi9sdHRuZy1yZWxheWQvaGVhbHRoLXJlbGF5ZC5jCitAQCAtMTA1LDggKzEwNSwxNCBAQCBzdGF0aWMgaW50IGNyZWF0ZV9sdHRuZ19ydW5kaXJfd2l0aF9wZXJtKGNvbnN0IGNoYXIgKnJ1bmRpcikKKyAJCWludCBpc19yb290ID0gIWdldHVpZCgpOworIAorIAkJaWYgKGlzX3Jvb3QpIHsKKy0JCQlyZXQgPSBjaG93bihydW5kaXIsIDAsCistCQkJCQl1dGlsc19nZXRfZ3JvdXBfaWQodHJhY2luZ19ncm91cF9uYW1lKSk7CisrCQkJZ2lkX3QgZ2lkOworKworKwkJCXJldCA9IHV0aWxzX2dldF9ncm91cF9pZCh0cmFjaW5nX2dyb3VwX25hbWUsIHRydWUsICZnaWQpOworKwkJCWlmIChyZXQpIHsKKysJCQkJZ2lkID0gMDsgLyogRGVmYXVsdCB0byByb290IGdyb3VwLiovCisrCQkJfQorKworKwkJCXJldCA9IGNob3duKHJ1bmRpciwgMCwgZ2lkKTsKKyAJCQlpZiAocmV0IDwgMCkgeworIAkJCQlFUlIoIlVuYWJsZSB0byBzZXQgZ3JvdXAgb24gJXMiLCBydW5kaXIpOworIAkJCQlQRVJST1IoImNob3duIik7CitAQCAtMjU2LDggKzI2MiwxNCBAQCB2b2lkICp0aHJlYWRfbWFuYWdlX2hlYWx0aCh2b2lkICpkYXRhKQorIAlpc19yb290ID0gIWdldHVpZCgpOworIAlpZiAoaXNfcm9vdCkgeworIAkJLyogbHR0bmcgaGVhbHRoIGNsaWVudCBzb2NrZXQgcGF0aCBwZXJtaXNzaW9ucyAqLworLQkJcmV0ID0gY2hvd24oaGVhbHRoX3VuaXhfc29ja19wYXRoLCAwLAorLQkJCQl1dGlsc19nZXRfZ3JvdXBfaWQodHJhY2luZ19ncm91cF9uYW1lKSk7CisrCQlnaWRfdCBnaWQ7CisrCisrCQlyZXQgPSB1dGlsc19nZXRfZ3JvdXBfaWQodHJhY2luZ19ncm91cF9uYW1lLCB0cnVlLCAmZ2lkKTsKKysJCWlmIChyZXQpIHsKKysJCQlnaWQgPSAwOyAvKiBEZWZhdWx0IHRvIHJvb3QgZ3JvdXAgKi8KKysJCX0KKysKKysJCXJldCA9IGNob3duKGhlYWx0aF91bml4X3NvY2tfcGF0aCwgMCwgZ2lkKTsKKyAJCWlmIChyZXQgPCAwKSB7CisgCQkJRVJSKCJVbmFibGUgdG8gc2V0IGdyb3VwIG9uICVzIiwgaGVhbHRoX3VuaXhfc29ja19wYXRoKTsKKyAJCQlQRVJST1IoImNob3duIik7CitkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC9tYWluLmMgYi9zcmMvYmluL2x0dG5nLXNlc3Npb25kL21haW4uYworaW5kZXggZmE2ZmE0ODMuLjQ5MzA3MDY0IDEwMDY0NAorLS0tIGEvc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC9tYWluLmMKKysrKyBiL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvbWFpbi5jCitAQCAtNDExMiw4ICs0MTEyLDE0IEBAIHN0YXRpYyB2b2lkICp0aHJlYWRfbWFuYWdlX2hlYWx0aCh2b2lkICpkYXRhKQorIAorIAlpZiAoaXNfcm9vdCkgeworIAkJLyogbHR0bmcgaGVhbHRoIGNsaWVudCBzb2NrZXQgcGF0aCBwZXJtaXNzaW9ucyAqLworLQkJcmV0ID0gY2hvd24oY29uZmlnLmhlYWx0aF91bml4X3NvY2tfcGF0aC52YWx1ZSwgMCwKKy0JCQkJdXRpbHNfZ2V0X2dyb3VwX2lkKGNvbmZpZy50cmFjaW5nX2dyb3VwX25hbWUudmFsdWUpKTsKKysJCWdpZF90IGdpZDsKKysKKysJCXJldCA9IHV0aWxzX2dldF9ncm91cF9pZChjb25maWcudHJhY2luZ19ncm91cF9uYW1lLnZhbHVlLCB0cnVlLCAmZ2lkKTsKKysJCWlmIChyZXQpIHsKKysJCQlnaWQgPSAwOyAvKiBEZWZhdWx0IHRvIHJvb3QgZ3JvdXAgKi8KKysJCX0KKysKKysJCXJldCA9IGNob3duKGNvbmZpZy5oZWFsdGhfdW5peF9zb2NrX3BhdGgudmFsdWUsIDAsICZnaWQpOworIAkJaWYgKHJldCA8IDApIHsKKyAJCQlFUlIoIlVuYWJsZSB0byBzZXQgZ3JvdXAgb24gJXMiLCBjb25maWcuaGVhbHRoX3VuaXhfc29ja19wYXRoLnZhbHVlKTsKKyAJCQlQRVJST1IoImNob3duIik7CitAQCAtNTIzOCw3ICs1MjQ0LDEwIEBAIHN0YXRpYyBpbnQgc2V0X3Blcm1pc3Npb25zKGNoYXIgKnJ1bmRpcikKKyAJaW50IHJldDsKKyAJZ2lkX3QgZ2lkOworIAorLQlnaWQgPSB1dGlsc19nZXRfZ3JvdXBfaWQoY29uZmlnLnRyYWNpbmdfZ3JvdXBfbmFtZS52YWx1ZSk7CisrCXJldCA9IHV0aWxzX2dldF9ncm91cF9pZChjb25maWcudHJhY2luZ19ncm91cF9uYW1lLnZhbHVlLCB0cnVlLCAmZ2lkKTsKKysJaWYgKHJldCkgeworKwkJZ2lkID0gMDsgLyogRGVmYXVsdCB0byByb290IGdyb3VwICovCisrCX0KKyAKKyAJLyogU2V0IGx0dG5nIHJ1biBkaXIgKi8KKyAJcmV0ID0gY2hvd24ocnVuZGlyLCAwLCBnaWQpOworQEAgLTUzNDksNyArNTM1OCwxNCBAQCBzdGF0aWMgaW50IHNldF9jb25zdW1lcl9zb2NrZXRzKHN0cnVjdCBjb25zdW1lcl9kYXRhICpjb25zdW1lcl9kYXRhKQorIAkJZ290byBlcnJvcjsKKyAJfQorIAlpZiAoaXNfcm9vdCkgeworLQkJcmV0ID0gY2hvd24ocGF0aCwgMCwgdXRpbHNfZ2V0X2dyb3VwX2lkKGNvbmZpZy50cmFjaW5nX2dyb3VwX25hbWUudmFsdWUpKTsKKysJCWdpZF90IGdpZDsKKysKKysJCXJldCA9IHV0aWxzX2dldF9ncm91cF9pZChjb25maWcudHJhY2luZ19ncm91cF9uYW1lLnZhbHVlLCB0cnVlLCAmZ2lkKTsKKysJCWlmIChyZXQpIHsKKysJCQlnaWQgPSAwOyAvKiBEZWZhdWx0IHRvIHJvb3QgZ3JvdXAgKi8KKysJCX0KKysKKysJCXJldCA9IGNob3duKHBhdGgsIDAsIGdpZCk7CisgCQlpZiAocmV0IDwgMCkgeworIAkJCUVSUigiVW5hYmxlIHRvIHNldCBncm91cCBvbiAlcyIsIHBhdGgpOworIAkJCVBFUlJPUigiY2hvd24iKTsKK2RpZmYgLS1naXQgYS9zcmMvYmluL2x0dG5nLXNlc3Npb25kL25vdGlmaWNhdGlvbi10aHJlYWQuYyBiL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvbm90aWZpY2F0aW9uLXRocmVhZC5jCitpbmRleCA5MmFjNTk3Zi4uMThhMjY0ZDkgMTAwNjQ0CistLS0gYS9zcmMvYmluL2x0dG5nLXNlc3Npb25kL25vdGlmaWNhdGlvbi10aHJlYWQuYworKysrIGIvc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC9ub3RpZmljYXRpb24tdGhyZWFkLmMKK0BAIC0yMzUsOCArMjM1LDE0IEBAIGludCBub3RpZmljYXRpb25fY2hhbm5lbF9zb2NrZXRfY3JlYXRlKHZvaWQpCisgCX0KKyAKKyAJaWYgKGdldHVpZCgpID09IDApIHsKKy0JCXJldCA9IGNob3duKHNvY2tfcGF0aCwgMCwKKy0JCQkJdXRpbHNfZ2V0X2dyb3VwX2lkKGNvbmZpZy50cmFjaW5nX2dyb3VwX25hbWUudmFsdWUpKTsKKysJCWdpZF90IGdpZDsKKysKKysJCXJldCA9ICB1dGlsc19nZXRfZ3JvdXBfaWQoY29uZmlnLnRyYWNpbmdfZ3JvdXBfbmFtZS52YWx1ZSwgdHJ1ZSwgJmdpZCk7CisrCQlpZiAocmV0KSB7CisrCQkJZ2lkID0gMDsgLyogRGVmYXVsdCB0byByb290IGdyb3VwLiAqLworKwkJfQorKworKwkJcmV0ID0gY2hvd24oc29ja19wYXRoLCAwLCBnaWQpOworIAkJaWYgKHJldCkgeworIAkJCUVSUigiRmFpbGVkIHRvIHNldCB0aGUgbm90aWZpY2F0aW9uIGNoYW5uZWwgc29ja2V0J3MgZ3JvdXAiKTsKKyAJCQlyZXQgPSAtMTsKK2RpZmYgLS1naXQgYS9zcmMvY29tbW9uL3V0aWxzLmMgYi9zcmMvY29tbW9uL3V0aWxzLmMKK2luZGV4IGMwYmIwMzFlLi43NzhiYzAwZiAxMDA2NDQKKy0tLSBhL3NyYy9jb21tb24vdXRpbHMuYworKysrIGIvc3JjL2NvbW1vbi91dGlscy5jCitAQCAtMTIzMSwyNCArMTIzMSw3NyBAQCBzaXplX3QgdXRpbHNfZ2V0X2N1cnJlbnRfdGltZV9zdHIoY29uc3QgY2hhciAqZm9ybWF0LCBjaGFyICpkc3QsIHNpemVfdCBsZW4pCisgfQorIAorIC8qCistICogUmV0dXJuIHRoZSBncm91cCBJRCBtYXRjaGluZyBuYW1lLCBlbHNlIDAgaWYgaXQgY2Fubm90IGJlIGZvdW5kLgorKyAqIFJldHVybiAwIG9uIHN1Y2Nlc3MgYW5kIHNldCAqZ2lkIHRvIHRoZSBncm91cF9JRCBtYXRjaGluZyB0aGUgcGFzc2VkIG5hbWUuCisrICogRWxzZSAtMSBpZiBpdCBjYW5ub3QgYmUgZm91bmQgb3IgYW4gZXJyb3Igb2NjdXJyZWQuCisgICovCisgTFRUTkdfSElEREVOCistZ2lkX3QgdXRpbHNfZ2V0X2dyb3VwX2lkKGNvbnN0IGNoYXIgKm5hbWUpCisraW50IHV0aWxzX2dldF9ncm91cF9pZChjb25zdCBjaGFyICpuYW1lLCBib29sIHdhcm4sIGdpZF90ICpnaWQpCisgeworLQlzdHJ1Y3QgZ3JvdXAgKmdycDsKKysJc3RhdGljIHZvbGF0aWxlIGludCB3YXJuX29uY2U7CisgCistCWdycCA9IGdldGdybmFtKG5hbWUpOworLQlpZiAoIWdycCkgeworLQkJc3RhdGljIHZvbGF0aWxlIGludCB3YXJuX29uY2U7CisrCWludCByZXQ7CisrCWxvbmcgc3lzX2xlbjsKKysJc2l6ZV90IGxlbjsKKysJc3RydWN0IGdyb3VwIGdycDsKKysJc3RydWN0IGdyb3VwICpyZXN1bHQ7CisrCWNoYXIgKmJ1ZmZlciA9IE5VTEw7CisgCistCQlpZiAoIXdhcm5fb25jZSkgeworLQkJCVdBUk4oIk5vIHRyYWNpbmcgZ3JvdXAgZGV0ZWN0ZWQiKTsKKy0JCQl3YXJuX29uY2UgPSAxOworKwkvKiBHZXQgdGhlIHN5c3RlbSBsaW1pdCBpZiBpdCBleGlzdHMgKi8KKysJc3lzX2xlbiA9IHN5c2NvbmYoX1NDX0dFVEdSX1JfU0laRV9NQVgpOworKwlpZiAoc3lzX2xlbiA9PSAtMSkgeworKwkJbGVuID0gMTAyNDsKKysJfSBlbHNlIHsKKysJCWxlbiA9IChzaXplX3QpIHN5c19sZW47CisrCX0KKysKKysJYnVmZmVyID0gbWFsbG9jKGxlbik7CisrCWlmICghYnVmZmVyKSB7CisrCQlQRVJST1IoImdldGdybmFtX3IgbWFsbG9jIik7CisrCQlyZXQgPSAtMTsKKysJCWdvdG8gZXJyb3I7CisrCX0KKysKKysJd2hpbGUgKChyZXQgPSBnZXRncm5hbV9yKG5hbWUsICZncnAsIGJ1ZmZlciwgbGVuLCAmcmVzdWx0KSkgPT0gRVJBTkdFKQorKwl7CisrCQkvKiBCdWZmZXIgaXMgbm90IGJpZyBlbm91Z2gsIGluY3JlYXNlIGl0cyBzaXplLiAqLworKwkJc2l6ZV90IG5ld19sZW4gPSAyICogbGVuOworKwkJY2hhciAqbmV3X2J1ZmZlciA9IE5VTEw7CisrCQlpZiAobmV3X2xlbiA8IGxlbikgeworKwkJCUVSUigiZ2V0Z3JuYW1fciBidWZmZXIgc2l6ZSBvdmVyZmxvdyIpOworKwkJCXJldCA9IC0xOworKwkJCWdvdG8gZXJyb3I7CisrCQl9CisrCQlsZW4gPSBuZXdfbGVuOworKwkJbmV3X2J1ZmZlciA9IHJlYWxsb2MoYnVmZmVyLCBsZW4pOworKwkJaWYgKCFuZXdfYnVmZmVyKSB7CisrCQkJUEVSUk9SKCJnZXRncm5hbV9yIHJlYWxsb2MiKTsKKysJCQlyZXQgPSAtMTsKKysJCQlnb3RvIGVycm9yOworIAkJfQorLQkJcmV0dXJuIDA7CisrCQlidWZmZXIgPSBuZXdfYnVmZmVyOworKwl9CisrCWlmIChyZXQgIT0gMCkgeworKwkJUEVSUk9SKCJnZXRncm5hbV9yIik7CisrCQlyZXQgPSAtMTsKKysJCWdvdG8gZXJyb3I7CisrCX0KKysKKysJLyogR3JvdXAgbm90IGZvdW5kLiAqLworKwlpZiAoIXJlc3VsdCkgeworKwkJcmV0ID0gLTE7CisrCQlnb3RvIGVycm9yOworKwl9CisrCisrCSpnaWQgPSByZXN1bHQtPmdyX2dpZDsKKysJcmV0ID0gMDsKKysKKytlcnJvcjoKKysJZnJlZShidWZmZXIpOworKwlpZiAocmV0ICYmIHdhcm4gJiYgIXdhcm5fb25jZSkgeworKwkJV0FSTigiTm8gdHJhY2luZyBncm91cCBkZXRlY3RlZCIpOworKwkJd2Fybl9vbmNlID0gMTsKKyAJfQorLQlyZXR1cm4gZ3JwLT5ncl9naWQ7CisrCXJldHVybiByZXQ7CisgfQorIAorIC8qCitkaWZmIC0tZ2l0IGEvc3JjL2NvbW1vbi91dGlscy5oIGIvc3JjL2NvbW1vbi91dGlscy5oCitpbmRleCAxOGYxOWVmMS4uOWM3MjQzMWQgMTAwNjQ0CistLS0gYS9zcmMvY29tbW9uL3V0aWxzLmgKKysrKyBiL3NyYy9jb21tb24vdXRpbHMuaAorQEAgLTIyLDYgKzIyLDggQEAKKyAjaW5jbHVkZSA8dW5pc3RkLmg+CisgI2luY2x1ZGUgPHN0ZGludC5oPgorICNpbmNsdWRlIDxnZXRvcHQuaD4KKysjaW5jbHVkZSA8c3RkYm9vbC5oPgorKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAKKyAjZGVmaW5lIEtJQklfTE9HMiAxMAorICNkZWZpbmUgTUVCSV9MT0cyIDIwCitAQCAtNTIsNyArNTQsNyBAQCBpbnQgdXRpbHNfZ2V0X2NvdW50X29yZGVyX3U2NCh1aW50NjRfdCB4KTsKKyBjaGFyICp1dGlsc19nZXRfaG9tZV9kaXIodm9pZCk7CisgY2hhciAqdXRpbHNfZ2V0X3VzZXJfaG9tZV9kaXIodWlkX3QgdWlkKTsKKyBzaXplX3QgdXRpbHNfZ2V0X2N1cnJlbnRfdGltZV9zdHIoY29uc3QgY2hhciAqZm9ybWF0LCBjaGFyICpkc3QsIHNpemVfdCBsZW4pOworLWdpZF90IHV0aWxzX2dldF9ncm91cF9pZChjb25zdCBjaGFyICpuYW1lKTsKKytpbnQgdXRpbHNfZ2V0X2dyb3VwX2lkKGNvbnN0IGNoYXIgKm5hbWUsIGJvb2wgd2FybiwgZ2lkX3QgKmdpZCk7CisgY2hhciAqdXRpbHNfZ2VuZXJhdGVfb3B0c3RyaW5nKGNvbnN0IHN0cnVjdCBvcHRpb24gKmxvbmdfb3B0aW9ucywKKyAJCXNpemVfdCBvcHRfY291bnQpOworIGludCB1dGlsc19jcmVhdGVfbG9ja19maWxlKGNvbnN0IGNoYXIgKmZpbGVwYXRoKTsKK2RpZmYgLS1naXQgYS9zcmMvbGliL2x0dG5nLWN0bC9sdHRuZy1jdGwuYyBiL3NyYy9saWIvbHR0bmctY3RsL2x0dG5nLWN0bC5jCitpbmRleCAyZDg0YWFkOS4uNTYxYjBiY2YgMTAwNjQ0CistLS0gYS9zcmMvbGliL2x0dG5nLWN0bC9sdHRuZy1jdGwuYworKysrIGIvc3JjL2xpYi9sdHRuZy1jdGwvbHR0bmctY3RsLmMKK0BAIC0yMDgsMTUgKzIwOCwxMyBAQCBlbmQ6CisgTFRUTkdfSElEREVOCisgaW50IGx0dG5nX2NoZWNrX3RyYWNpbmdfZ3JvdXAodm9pZCkKKyB7CistCXN0cnVjdCBncm91cCAqZ3JwX3RyYWNpbmc7CS8qIG5vIGZyZWUoKS4gU2VlIGdldGdybmFtKDMpICovCistCWdpZF90ICpncnBfbGlzdDsKKysJZ2lkX3QgKmdycF9saXN0LCB0cmFjaW5nX2dpZDsKKyAJaW50IGdycF9saXN0X3NpemUsIGdycF9pZCwgaTsKKyAJaW50IHJldCA9IC0xOworIAljb25zdCBjaGFyICpncnBfbmFtZSA9IHRyYWNpbmdfZ3JvdXA7CisgCisgCS8qIEdldCBHSUQgb2YgZ3JvdXAgJ3RyYWNpbmcnICovCistCWdycF90cmFjaW5nID0gZ2V0Z3JuYW0oZ3JwX25hbWUpOworLQlpZiAoIWdycF90cmFjaW5nKSB7CisrCWlmICh1dGlsc19nZXRfZ3JvdXBfaWQoZ3JwX25hbWUsIGZhbHNlLCAmdHJhY2luZ19naWQpKSB7CisgCQkvKiBJZiBncnBfdHJhY2luZyBpcyBOVUxMLCB0aGUgZ3JvdXAgZG9lcyBub3QgZXhpc3QuICovCisgCQlnb3RvIGVuZDsKKyAJfQorQEAgLTI0MSw3ICsyMzksNyBAQCBpbnQgbHR0bmdfY2hlY2tfdHJhY2luZ19ncm91cCh2b2lkKQorIAl9CisgCisgCWZvciAoaSA9IDA7IGkgPCBncnBfbGlzdF9zaXplOyBpKyspIHsKKy0JCWlmIChncnBfbGlzdFtpXSA9PSBncnBfdHJhY2luZy0+Z3JfZ2lkKSB7CisrCQlpZiAoZ3JwX2xpc3RbaV0gPT0gdHJhY2luZ19naWQpIHsKKyAJCQlyZXQgPSAxOworIAkJCWJyZWFrOworIAkJfQorLS0gCisyLjE3LjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzL3J1bi1wdGVzdCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29scy9ydW4tcHRlc3QKaW5kZXggNzA1MDMwZS4uZGJiMTg4MiAxMDA3NTUKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzL3J1bi1wdGVzdAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMvcnVuLXB0ZXN0CkBAIC0zLDQgKzMsNCBAQAogIyB0ZXN0IHBsYW4gdG8gcmFpc2UgRVJST1JzOyB0aGlzIGlzIGp1c3Qgbm9pc2UuCiBtYWtlYXJncz0iTE9HX0RSSVZFUl9GTEFHUz0tLWlnbm9yZS1leGl0IHRvcF9zcmNkaXI9JFBXRCB0b3BfYnVpbGRkaXI9JFBXRCIKIG1ha2UgLWsgLXQgYWxsID4vZGV2L251bGwgMj4mMQotZXhlYyBtYWtlIC1zICRtYWtlYXJncyBjaGVjayAyPi9kZXYvbnVsbAorZXhlYyBtYWtlIC1rIC1zICRtYWtlYXJncyBjaGVjayAyPi9kZXYvbnVsbApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzL3gzMi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29scy94MzIucGF0Y2gKaW5kZXggYjFiYjhlNC4uNDJjZWJmOSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzL3gzMi5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMveDMyLnBhdGNoCkBAIC0xLDExICsxLDMxIEBACiBGaXggYnVpbGQgZm9yIHgzMgogCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIFNpZ25lZC1vZmYtYnk6IENocmlzdG9waGVyIExhcnNvbiA8Y2hyaXNfbGFyc29uQG1lbnRvci5jb20+CiAKLS0tLSBsdHRuZy10b29scy0yLjYuMC9zcmMvYmluL2x0dG5nL3V0aWxzLmN+CTIwMTUtMDEtMjYgMTg6MTc6MTUuMDAwMDAwMDAwICswMTAwCi0rKysgbHR0bmctdG9vbHMtMi42LjAvc3JjL2Jpbi9sdHRuZy91dGlscy5jCTIwMTUtMDctMzAgMTk6NDU6MjUuNjMyMDQ1NzEyICswMjAwCi1AQCAtMTMwLDcgKzEzMCw3IEBACitGaXggYnVpbGQgZXJyb3Igb2Ygc3JjL2NvbW1vbi91dGlscy5jIGZvciB4MzIuCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vbHR0bmcvbHR0bmctdG9vbHMvcHVsbC8xNTBdCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorCitkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9sdHRuZy91dGlscy5jIGIvc3JjL2Jpbi9sdHRuZy91dGlscy5jCitpbmRleCAwZTk2ZWYwYy4uNWM3OWM4YzcgMTAwNjQ0CistLS0gYS9zcmMvYmluL2x0dG5nL3V0aWxzLmMKKysrKyBiL3NyYy9iaW4vbHR0bmcvdXRpbHMuYworQEAgLTE1OCw3ICsxNTgsNyBAQCB1bnNpZ25lZCBpbnQgZmxzX3UzMih1aW50MzJfdCB4KQorICNkZWZpbmUgSEFTX0ZMU19VMzIKKyAjZW5kaWYKKyAKKy0jaWYgZGVmaW5lZChfX3g4Nl82NCkKKysjaWYgZGVmaW5lZChfX3g4Nl82NCkgJiYgIWRlZmluZWQoX19JTFAzMl9fKQorIHN0YXRpYyBpbmxpbmUKKyB1bnNpZ25lZCBpbnQgZmxzX3U2NCh1aW50NjRfdCB4KQorIHsKK2RpZmYgLS1naXQgYS9zcmMvY29tbW9uL3V0aWxzLmMgYi9zcmMvY29tbW9uL3V0aWxzLmMKK2luZGV4IDA4MTM5ZTVlLi4zYzM4OTk4MSAxMDA2NDQKKy0tLSBhL3NyYy9jb21tb24vdXRpbHMuYworKysrIGIvc3JjL2NvbW1vbi91dGlscy5jCitAQCAtMTIyMyw3ICsxMjIzLDcgQEAgc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgZmxzX3UzMih1aW50MzJfdCB4KQogICNkZWZpbmUgSEFTX0ZMU19VMzIKICAjZW5kaWYKICAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29sc18yLjEwLjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHNfMi4xMC42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzZmFiYjIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHNfMi4xMC42LmJiCkBAIC0wLDAgKzEsMTY3IEBACitTRUNUSU9OID0gImRldmVsIgorU1VNTUFSWSA9ICJMaW51eCBUcmFjZSBUb29sa2l0IENvbnRyb2wiCitERVNDUklQVElPTiA9ICJUaGUgTGludXggdHJhY2UgdG9vbGtpdCBpcyBhIHN1aXRlIG9mIHRvb2xzIGRlc2lnbmVkIFwKK3RvIGV4dHJhY3QgcHJvZ3JhbSBleGVjdXRpb24gZGV0YWlscyBmcm9tIHRoZSBMaW51eCBvcGVyYXRpbmcgc3lzdGVtIFwKK2FuZCBpbnRlcnByZXQgdGhlbS4iCisKK0xJQ0VOU0UgPSAiR1BMdjIgJiBMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTAxZDdmYzQ0OTZhYWNmMzdkOTBkZjkwYjkwYjBjYWMxIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dwbC0yLjAudHh0O21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9sZ3BsLTIuMS50eHQ7bWQ1PTBmMGQ3MTUwMGU2YTU3ZmQyNGQ4MjVmMzMyNDJiOWNhIgorCitERVBFTkRTID0gImxpYnVyY3UgcG9wdCBsaWJ4bWwyIHV0aWwtbGludXgiCitSREVQRU5EU18ke1BOfSA9ICJsaWJnY2MiCitSREVQRU5EU18ke1BOfS1wdGVzdCArPSAibWFrZSBwZXJsIGJhc2ggZ2F3ayAke1BOfSBiYWJlbHRyYWNlIHByb2NwcyBwZXJsLW1vZHVsZS1vdmVybG9hZGluZyBjb3JldXRpbHMgdXRpbC1saW51eCBrbW9kIgorUkRFUEVORFNfJHtQTn0tcHRlc3RfYXBwZW5kX2xpYmMtZ2xpYmMgPSAiIGdsaWJjLXV0aWxzIgorUkRFUEVORFNfJHtQTn0tcHRlc3RfYXBwZW5kX2xpYmMtbXVzbCA9ICIgbXVzbC11dGlscyIKKyMgYmFiZWxzdGF0cy5wbCB3YW50cyBnZXRvcHQtbG9uZworUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gInBlcmwtbW9kdWxlLWdldG9wdC1sb25nIgorCitQWVRIT05fT1BUSU9OID0gImFtX2N2X3B5dGhvbl9weWV4ZWNkaXI9JyR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9JyBcCisgICAgICAgICAgICAgICAgIGFtX2N2X3B5dGhvbl9weXRob25kaXI9JyR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9JyBcCisgICAgICAgICAgICAgICAgIFBZVEhPTl9JTkNMVURFPSctSSR7U1RBR0lOR19JTkNESVJ9L3B5dGhvbiR7UFlUSE9OX0JBU0VWRVJTSU9OfSR7UFlUSE9OX0FCSX0nIFwKKyIKK1BBQ0tBR0VDT05GSUcgPz89ICJsdHRuZy11c3QiCitQQUNLQUdFQ09ORklHW3B5dGhvbl0gPSAiLS1lbmFibGUtcHl0aG9uLWJpbmRpbmdzICR7UFlUSE9OX09QVElPTn0sLHB5dGhvbjMgc3dpZy1uYXRpdmUiCitQQUNLQUdFQ09ORklHW2x0dG5nLXVzdF0gPSAiLS13aXRoLWx0dG5nLXVzdCwgLS13aXRob3V0LWx0dG5nLXVzdCwgbHR0bmctdXN0IgorUEFDS0FHRUNPTkZJR1trbW9kXSA9ICItLXdpdGgta21vZCwgLS13aXRob3V0LWttb2QsIGttb2QiCitQQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICItLWVuYWJsZS1tYW4tcGFnZXMsIC0tZGlzYWJsZS1tYW4tcGFnZXMsIGFzY2lpZG9jLW5hdGl2ZSB4bWx0by1uYXRpdmUgbGlieHNsdC1uYXRpdmUiCitQQUNLQUdFQ09ORklHX3JlbW92ZV9hcmMgPSAibHR0bmctdXN0IgorCitTUkNfVVJJID0gImh0dHBzOi8vbHR0bmcub3JnL2ZpbGVzL2x0dG5nLXRvb2xzL2x0dG5nLXRvb2xzLSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8veDMyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIGZpbGU6Ly9sdHRuZy1zZXNzaW9uZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LXRlc3RzLWxpbmstbGlicGF1c2VfY29uc3VtZXItb24tbGlibHR0bmctY3RsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItRml4LXRlc3Qtc2tpcC10ZXN0X2dldGNwdV9vdmVycmlkZS1vbi1zaW5nbGUtdGhyZWFkLS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAzLUZpeC10ZXN0LXVuaXQtdGhlLXRyZWUtb3JpZ2luLWNhbi1iZS1hLXN5bWxpbmstaXRzZWwucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1Ta2lwLXdoZW4tdGVzdGFwcC1pcy1ub3QtcHJlc2VudC5wYXRjaFwKKyAgICAgICAgICAgZmlsZTovLzAwMDUtVGVzdHMtdXNlLW1vZHByb2JlLXRvLXRlc3QtZm9yLXRoZS1wcmVzZW5jZS1vZi1sdHRuZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA2LVRlc3RzLWNoZWNrLWZvci1sdHRuZy1tb2R1bGVzLXByZXNlbmNlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDctRml4LWdldGdybmFtLWlzLW5vdC1NVC1TYWZlLXVzZS1nZXRncm5hbV9yLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZTg4YzUyMWI1ZGE2YmI0OGE4MTg3YWY2MzMzMzZlY2MiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjA1ZGY1MmJiZWJmOGNlODhkMWIyOWU5ZTk4Y2ZjOTU3ZDJlZDczOGEzNDUxMTgwMTgyMzdlYmRiNTgxNTM3YyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcHRlc3QgcGtnY29uZmlnIHVzZXJhZGQgcHl0aG9uMy1kaXIgbWFucGFnZXMgc3lzdGVtZAorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAibHR0bmctc2Vzc2lvbmQuc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKKworVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSIKK0dST1VQQUREX1BBUkFNXyR7UE59ID0gInRyYWNpbmciCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vbHR0bmcvbGliZXhlYy8qICR7ZGF0YWRpcn0veG1sL2x0dG5nIFwKKyAgICAgICAgICAgICAgICAke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qLmEiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyoubGEiCisKKyMgU2luY2UgZmlsZXMgYXJlIGluc3RhbGxlZCBpbnRvICR7bGliZGlyfS9sdHRuZy9saWJleGVjIHdlIG1hdGNoIAorIyB0aGUgbGliZXhlYyBpbnNhbmUgdGVzdCBzbyBza2lwIGl0LgorIyBQeXRob24gbW9kdWxlIG5lZWRzIHRvIGtlZXAgX2x0dG5nLnNvCitJTlNBTkVfU0tJUF8ke1BOfSA9ICJsaWJleGVjIGRldi1zbyIKK0lOU0FORV9TS0lQXyR7UE59LWRiZyA9ICJsaWJleGVjIgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgIyBpbnN0YWxsIHN5c3RlbWQgdW5pdCBmaWxlCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2x0dG5nLXNlc3Npb25kLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KK30KKworZG9faW5zdGFsbF9wdGVzdCAoKSB7CisgICAgZm9yIGYgaW4gTWFrZWZpbGUgdGVzdHMvTWFrZWZpbGUgdGVzdHMvdXRpbHMvdXRpbHMuc2ggdGVzdHMvcmVncmVzc2lvbi90b29scy9zYXZlLWxvYWQvbG9hZC00MioubHR0bmcgdGVzdHMvcmVncmVzc2lvbi90b29scy9zYXZlLWxvYWQvY29uZmlndXJhdGlvbi9sb2FkLTQyKi5sdHRuZyA7IGRvCisgICAgICAgIGluc3RhbGwgLUQgIiR7Qn0vJGYiICIke0R9JHtQVEVTVF9QQVRIfS8kZiIKKyAgICBkb25lCisKKyAgICBmb3IgZiBpbiBjb25maWcvdGFwLWRyaXZlci5zaCBjb25maWcvdGVzdC1kcml2ZXIgc3JjL2NvbW1vbi9jb25maWcvc2Vzc2lvbi54c2Qgc3JjL2NvbW1vbi9taS1sdHRuZy0zLjAueHNkOyBkbworICAgICAgICBpbnN0YWxsIC1EICIke1N9LyRmIiAiJHtEfSR7UFRFU1RfUEFUSH0vJGYiCisgICAgZG9uZQorCisgICAgIyBQcmV2ZW50ICdtYWtlIGNoZWNrJyBmcm9tIHJlY3Vyc2luZyBpbnRvIG5vbi10ZXN0IHN1YmRpcmVjdG9yaWVzLgorICAgIHNlZCAtaSAtZSAncyFeU1VCRElSUyA9IC4qIVNVQkRJUlMgPSB0ZXN0cyEnICIke0R9JHtQVEVTVF9QQVRIfS9NYWtlZmlsZSIKKworICAgICMgV2UgZG9uJ3QgbmVlZCB0aGVzZQorICAgIHNlZCAtaSAtZSAnL2Rpc3Rfbm9pbnN0X1NDUklQVFMgPSAvLC9eJC9kJyAiJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMvTWFrZWZpbGUiCisKKyAgICAjIFdlIHNob3VsZG4ndCBuZWVkIHRvIGJ1aWxkIGFueXRoaW5nIGluIHRlc3RzL3V0aWxzCisgICAgc2VkIC1pIC1lICdzIWFtX19hcHBlbmRfMSA9IC4gdXRpbHMhYW1fX2FwcGVuZF8xID0gLiAhJyBcCisgICAgICAgICIke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy9NYWtlZmlsZSIKKworICAgICMgQ29weSB0aGUgdGVzdHMgZGlyZWN0b3J5IHRyZWUgYW5kIHRoZSBleGVjdXRhYmxlcyBhbmQKKyAgICAjIE1ha2VmaWxlcyBmb3VuZCB3aXRoaW4uCisgICAgZm9yIGQgaW4gJChmaW5kICIke0J9L3Rlc3RzIiAtdHlwZSBkIC1ub3QgLW5hbWUgLmxpYnMgLXByaW50ZiAnJVAgJykgOyBkbworICAgICAgICBpbnN0YWxsIC1kICIke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy8kZCIKKyAgICAgICAgZmluZCAiJHtCfS90ZXN0cy8kZCIgLW1heGRlcHRoIDEgLWV4ZWN1dGFibGUgLXR5cGUgZiBcCisgICAgICAgICAgICAtZXhlYyBpbnN0YWxsIC10ICIke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy8kZCIge30gKworICAgICAgICAjIFRha2UgYWxsIC5weSBzY3JpcHRzIGZvciB0ZXN0cyB1c2luZyB0aGUgcHl0aG9uIGJpbmRpbmdzLgorICAgICAgICBmaW5kICIke0J9L3Rlc3RzLyRkIiAtbWF4ZGVwdGggMSAtdHlwZSBmIC1uYW1lICIqLnB5IiBcCisgICAgICAgICAgICAtZXhlYyBpbnN0YWxsIC10ICIke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy8kZCIge30gKworICAgICAgICB0ZXN0IC1yICIke0J9L3Rlc3RzLyRkL01ha2VmaWxlIiAmJiBcCisgICAgICAgICAgICBpbnN0YWxsIC10ICIke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy8kZCIgIiR7Qn0vdGVzdHMvJGQvTWFrZWZpbGUiCisgICAgZG9uZQorCisgICAgZm9yIGQgaW4gJChmaW5kICIke0J9L3Rlc3RzIiAtdHlwZSBkIC1uYW1lIC5saWJzIC1wcmludGYgJyVQICcpIDsgZG8KKyAgICAgICAgZm9yIGYgaW4gJChmaW5kICIke0J9L3Rlc3RzLyRkIiAtbWF4ZGVwdGggMSAtZXhlY3V0YWJsZSAtdHlwZSBmIC1wcmludGYgJyVQICcpIDsgZG8KKyAgICAgICAgICAgIGNwICR7Qn0vdGVzdHMvJGQvJGYgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMvYGRpcm5hbWUgJGRgLyRmCisgICAgICAgICAgICBjYXNlICRmIGluCisgICAgICAgICAgICAgICAgKi5zbykKKyAgICAgICAgICAgICAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy8kZC8KKyAgICAgICAgICAgICAgICAgICAgbG4gLXMgIC4uLyRmICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzLyRkLyRmCisgICAgICAgICAgICAgICAgICAgICMgUmVtb3ZlIGFueSBycGF0aC9ydW5wYXRoIHRvIHBhc3MgUUEgY2hlY2suCisgICAgICAgICAgICAgICAgICAgIGNocnBhdGggLS1kZWxldGUgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMvJGQvJGYKKyAgICAgICAgICAgICAgICAgICAgOzsKKyAgICAgICAgICAgIGVzYWMKKyAgICAgICAgZG9uZQorICAgIGRvbmUKKworICAgICMKKyAgICAjIFVzZSB0aGUgdmVyc2lvbmVkIGxpYnMgb2YgbGlibHR0bmctdXN0LWRsLgorICAgICMKKyAgICB1c3RkbD0iJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMvcmVncmVzc2lvbi91c3QvdXN0LWRsL3Rlc3RfdXN0LWRsLnB5IgorICAgIGlmIFsgLWUgJHVzdGRsIF07IHRoZW4KKyAgICAgICAgc2VkIC1pIC1lICdzITpsaWJsdHRuZy11c3QtZGwuc28hOmxpYmx0dG5nLXVzdC1kbC5zby4wIScgJHVzdGRsCisgICAgZmkKKworICAgIGluc3RhbGwgJHtCfS90ZXN0cy91bml0L2luaV9jb25maWcvc2FtcGxlLmluaSAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy91bml0L2luaV9jb25maWcvCisKKyAgICAjIFdlIHNob3VsZG4ndCBuZWVkIHRvIGJ1aWxkIGFueXRoaW5nIGluIHRlc3RzL3JlZ3Jlc3Npb24vdG9vbHMKKyAgICBzZWQgLWkgLWUgJ3MhXlNVQkRJUlMgPSB0b29scyAhU1VCRElSUyA9ICEnIFwKKyAgICAgICAgIiR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzL3JlZ3Jlc3Npb24vTWFrZWZpbGUiCisKKyAgICAjIFByZXZlbnQgYXR0ZW1wdHMgdG8gdXBkYXRlIE1ha2VmaWxlcyBkdXJpbmcgdGVzdCBydW5zLCBhbmQKKyAgICAjIHNpbGVuY2UgIk1ha2luZyBjaGVjayBpbiAkU1VCRElSIiBtZXNzYWdlcy4KKyAgICBmaW5kICIke0R9JHtQVEVTVF9QQVRIfSIgLW5hbWUgTWFrZWZpbGUgLXR5cGUgZiAtZXhlYyBcCisgICAgICAgIHNlZCAtaSAtZSAnL01ha2VmaWxlOi8sL14kL2QnIC1lICcvJTogJS5pbi8sL14kL2QnIFwKKyAgICAgICAgLWUgJy9lY2hvICJNYWtpbmcgJCR0YXJnZXQgaW4gJCRzdWJkaXIiOyBcXC9kJyBcCisgICAgICAgIC1lICdzL15zcmNkaXIgPSBcKC4qXCkvc3JjZGlyID0gLi8nIFwKKyAgICAgICAgLWUgJ3MvXmJ1aWxkZGlyID0gXCguKlwpL2J1aWxkZGlyID0gLi8nIFwKKyAgICAgICAgLWUgJ3MvXmFsbC1hbTouKi9hbGwtYW06LycgXAorICAgICAgICB7fSArCisKKyAgICBmaW5kICIke0R9JHtQVEVTVF9QQVRIfSIgLW5hbWUgTWFrZWZpbGUgLXR5cGUgZiAtZXhlYyBcCisgICAgICAgIHRvdWNoIC1yICIke0J9L01ha2VmaWxlIiB7fSArCisKKyAgICAjCisgICAgIyBOZWVkIHRvIHN0b3AgZ2VuZXJhdGVkIGJpbmFyaWVzIGZyb20gcmVidWlsZGluZyBieSByZW1vdmluZyB0aGVpciBzb3VyY2UgZGVwZW5kZW5jaWVzCisgICAgIworICAgIHNlZCAtZSAncyNcKF50ZXN0LipPQkpFQ1RTLj1cKSNkaXNhYmxlXDEjZycgXAorICAgICAgICAtZSAncyNcKF50ZXN0LipERVBFTkRFTkNJRVMuPVwpI2Rpc2FibGVcMSNnJyBcCisgICAgICAgIC1lICdzI1woXnRlc3QuKlNPVVJDRVMuPVwpI2Rpc2FibGVcMSNnJyBcCisgICAgICAgIC1lICdzI1woXnRlc3QuKkxEQURELj1cKSNkaXNhYmxlXDEjZycgXAorICAgICAgICAtaSAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy91bml0L01ha2VmaWxlCisKKyAgICAjIFN1YnN0aXR1dGUgbGlua3MgdG8gaW5zdGFsbGVkIGJpbmFyaWVzLgorICAgIGZvciBwcm9nIGluIGx0dG5nIGx0dG5nLXJlbGF5ZCBsdHRuZy1zZXNzaW9uZCBsdHRuZy1jb25zdW1lcmQgbHR0bmctY3Jhc2g7IGRvCisgICAgICAgIGV4ZWRpcj0iJHtEfSR7UFRFU1RfUEFUSH0vc3JjL2Jpbi8ke3Byb2d9IgorICAgICAgICBpbnN0YWxsIC1kICIkZXhlZGlyIgorICAgICAgICBjYXNlICIkcHJvZyIgaW4KKyAgICAgICAgICAgIGx0dG5nLWNvbnN1bWVyZCkKKyAgICAgICAgICAgICAgICBsbiAtcyAiJHtsaWJkaXJ9L2x0dG5nL2xpYmV4ZWMvJHByb2ciICIkZXhlZGlyIgorICAgICAgICAgICAgICAgIDs7CisgICAgICAgICAgICAqKQorICAgICAgICAgICAgICAgIGxuIC1zICIke2JpbmRpcn0vJHByb2ciICIkZXhlZGlyIgorICAgICAgICAgICAgICAgIDs7CisgICAgICAgIGVzYWMKKyAgICBkb25lCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHNfMi45LjExLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzXzIuOS4xMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWUzZmMxYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHNfMi45LjExLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTM0ICswLDAgQEAKLVNFQ1RJT04gPSAiZGV2ZWwiCi1TVU1NQVJZID0gIkxpbnV4IFRyYWNlIFRvb2xraXQgQ29udHJvbCIKLURFU0NSSVBUSU9OID0gIlRoZSBMaW51eCB0cmFjZSB0b29sa2l0IGlzIGEgc3VpdGUgb2YgdG9vbHMgZGVzaWduZWQgXAotdG8gZXh0cmFjdCBwcm9ncmFtIGV4ZWN1dGlvbiBkZXRhaWxzIGZyb20gdGhlIExpbnV4IG9wZXJhdGluZyBzeXN0ZW0gXAotYW5kIGludGVycHJldCB0aGVtLiIKLQotTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MDFkN2ZjNDQ5NmFhY2YzN2Q5MGRmOTBiOTBiMGNhYzEgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3BsLTIuMC50eHQ7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xncGwtMi4xLnR4dDttZDU9MGYwZDcxNTAwZTZhNTdmZDI0ZDgyNWYzMzI0MmI5Y2EiCi0KLURFUEVORFMgPSAibGlidXJjdSBwb3B0IGxpYnhtbDIgdXRpbC1saW51eCIKLVJERVBFTkRTXyR7UE59ID0gImxpYmdjYyIKLVJERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICJtYWtlIHBlcmwgYmFzaCBnYXdrICR7UE59IGJhYmVsdHJhY2UgcHJvY3BzIgotIyBiYWJlbHN0YXRzLnBsIHdhbnRzIGdldG9wdC1sb25nCi1SREVQRU5EU18ke1BOfS1wdGVzdCArPSAicGVybC1tb2R1bGUtZ2V0b3B0LWxvbmciCi0KLVBZVEhPTl9PUFRJT04gPSAiYW1fY3ZfcHl0aG9uX3B5ZXhlY2Rpcj0nJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0nIFwKLSAgICAgICAgICAgICAgICAgYW1fY3ZfcHl0aG9uX3B5dGhvbmRpcj0nJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0nIFwKLSAgICAgICAgICAgICAgICAgUFlUSE9OX0lOQ0xVREU9Jy1JJHtTVEFHSU5HX0lOQ0RJUn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059JHtQWVRIT05fQUJJfScgXAotIgotUEFDS0FHRUNPTkZJRyA/Pz0gImx0dG5nLXVzdCIKLVBBQ0tBR0VDT05GSUdbcHl0aG9uXSA9ICItLWVuYWJsZS1weXRob24tYmluZGluZ3MgJHtQWVRIT05fT1BUSU9OfSwscHl0aG9uMyBzd2lnLW5hdGl2ZSIKLVBBQ0tBR0VDT05GSUdbbHR0bmctdXN0XSA9ICItLXdpdGgtbHR0bmctdXN0LCAtLXdpdGhvdXQtbHR0bmctdXN0LCBsdHRuZy11c3QiCi1QQUNLQUdFQ09ORklHW2ttb2RdID0gIi0tZW5hYmxlLWttb2QsIC0tZGlzYWJsZS1rbW9kLCBrbW9kIgotUEFDS0FHRUNPTkZJR1ttYW5wYWdlc10gPSAiLS1lbmFibGUtbWFuLXBhZ2VzLCAtLWRpc2FibGUtbWFuLXBhZ2VzLCBhc2NpaWRvYy1uYXRpdmUgeG1sdG8tbmF0aXZlIGxpYnhzbHQtbmF0aXZlIgotUEFDS0FHRUNPTkZJR19yZW1vdmVfbGliYy1tdXNsID0gImx0dG5nLXVzdCIKLVBBQ0tBR0VDT05GSUdfcmVtb3ZlX3Jpc2N2NjQgPSAibHR0bmctdXN0IgotCi1TUkNfVVJJID0gImh0dHBzOi8vbHR0bmcub3JnL2ZpbGVzL2x0dG5nLXRvb2xzL2x0dG5nLXRvb2xzLSR7UFZ9LnRhci5iejIgXAotICAgICAgICAgICBmaWxlOi8veDMyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUFsbG93LW11bHRpcGxlLWF0dGVtcHRzLXRvLWNvbm5lY3QtdG8tcmVsYXlkLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2x0dG5nLXNlc3Npb25kLnNlcnZpY2UgXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJmOWMyYjM1ODEwNzkwZjViZDgwMjQ4M2ViMTRjYjMwMSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIyYzQ1MTQ0YWNmOGRjNmZjZDY1NWJlNzM3MGEwMjJlOWMwM2M4Yjc0MTlhZjQ4OWM5YzJlNzg2YTMzNTAwNmRiIgotCi1pbmhlcml0IGF1dG90b29scyBwdGVzdCBwa2djb25maWcgdXNlcmFkZCBweXRob24zLWRpciBtYW5wYWdlcyBzeXN0ZW1kCi0KLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJsdHRuZy1zZXNzaW9uZC5zZXJ2aWNlIgotU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgotCi1VU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgotR1JPVVBBRERfUEFSQU1fJHtQTn0gPSAidHJhY2luZyIKLQotRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9sdHRuZy9saWJleGVjLyogJHtkYXRhZGlyfS94bWwvbHR0bmcgXAotICAgICAgICAgICAgICAgICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyoiCi1GSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyouYSIKLUZJTEVTXyR7UE59LWRldiArPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vKi5sYSIKLQotIyBTaW5jZSBmaWxlcyBhcmUgaW5zdGFsbGVkIGludG8gJHtsaWJkaXJ9L2x0dG5nL2xpYmV4ZWMgd2UgbWF0Y2ggCi0jIHRoZSBsaWJleGVjIGluc2FuZSB0ZXN0IHNvIHNraXAgaXQuCi0jIFB5dGhvbiBtb2R1bGUgbmVlZHMgdG8ga2VlcCBfbHR0bmcuc28KLUlOU0FORV9TS0lQXyR7UE59ID0gImxpYmV4ZWMgZGV2LXNvIgotSU5TQU5FX1NLSVBfJHtQTn0tZGJnID0gImxpYmV4ZWMiCi0KLWRvX2luc3RhbGxfYXBwZW5kICgpIHsKLSAgICAjIGluc3RhbGwgc3lzdGVtZCB1bml0IGZpbGUKLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbHR0bmctc2Vzc2lvbmQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotfQotCi1kb19pbnN0YWxsX3B0ZXN0ICgpIHsKLSAgICBmb3IgZiBpbiBNYWtlZmlsZSB0ZXN0cy9NYWtlZmlsZSB0ZXN0cy91dGlscy91dGlscy5zaCA7IGRvCi0gICAgICAgIGluc3RhbGwgLUQgIiR7Qn0vJGYiICIke0R9JHtQVEVTVF9QQVRIfS8kZiIKLSAgICBkb25lCi0KLSAgICBmb3IgZiBpbiBjb25maWcvdGFwLWRyaXZlci5zaCBjb25maWcvdGVzdC1kcml2ZXIgOyBkbwotICAgICAgICBpbnN0YWxsIC1EICIke1N9LyRmIiAiJHtEfSR7UFRFU1RfUEFUSH0vJGYiCi0gICAgZG9uZQotCi0gICAgIyBQcmV2ZW50ICdtYWtlIGNoZWNrJyBmcm9tIHJlY3Vyc2luZyBpbnRvIG5vbi10ZXN0IHN1YmRpcmVjdG9yaWVzLgotICAgIHNlZCAtaSAtZSAncyFeU1VCRElSUyA9IC4qIVNVQkRJUlMgPSB0ZXN0cyEnICIke0R9JHtQVEVTVF9QQVRIfS9NYWtlZmlsZSIKLQotICAgICMgV2UgZG9uJ3QgbmVlZCB0aGVzZQotICAgIHNlZCAtaSAtZSAnL2Rpc3Rfbm9pbnN0X1NDUklQVFMgPSAvLC9eJC9kJyAiJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMvTWFrZWZpbGUiCi0KLSAgICAjIFdlIHNob3VsZG4ndCBuZWVkIHRvIGJ1aWxkIGFueXRoaW5nIGluIHRlc3RzL3V0aWxzCi0gICAgc2VkIC1pIC1lICdzIWFtX19hcHBlbmRfMSA9IC4gdXRpbHMhYW1fX2FwcGVuZF8xID0gLiAhJyBcCi0gICAgICAgICIke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy9NYWtlZmlsZSIKLQotICAgICMgQ29weSB0aGUgdGVzdHMgZGlyZWN0b3J5IHRyZWUgYW5kIHRoZSBleGVjdXRhYmxlcyBhbmQKLSAgICAjIE1ha2VmaWxlcyBmb3VuZCB3aXRoaW4uCi0gICAgZm9yIGQgaW4gJChmaW5kICIke0J9L3Rlc3RzIiAtdHlwZSBkIC1ub3QgLW5hbWUgLmxpYnMgLXByaW50ZiAnJVAgJykgOyBkbwotICAgICAgICBpbnN0YWxsIC1kICIke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy8kZCIKLSAgICAgICAgZmluZCAiJHtCfS90ZXN0cy8kZCIgLW1heGRlcHRoIDEgLWV4ZWN1dGFibGUgLXR5cGUgZiBcCi0gICAgICAgICAgICAtZXhlYyBpbnN0YWxsIC10ICIke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy8kZCIge30gKwotICAgICAgICB0ZXN0IC1yICIke0J9L3Rlc3RzLyRkL01ha2VmaWxlIiAmJiBcCi0gICAgICAgICAgICBpbnN0YWxsIC10ICIke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy8kZCIgIiR7Qn0vdGVzdHMvJGQvTWFrZWZpbGUiCi0gICAgZG9uZQotCi0gICAgIyBXZSBzaG91bGRuJ3QgbmVlZCB0byBidWlsZCBhbnl0aGluZyBpbiB0ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzCi0gICAgc2VkIC1pIC1lICdzIV5TVUJESVJTID0gdG9vbHMgIVNVQkRJUlMgPSAhJyBcCi0gICAgICAgICIke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy9yZWdyZXNzaW9uL01ha2VmaWxlIgotCi0gICAgIyBQcmV2ZW50IGF0dGVtcHRzIHRvIHVwZGF0ZSBNYWtlZmlsZXMgZHVyaW5nIHRlc3QgcnVucywgYW5kCi0gICAgIyBzaWxlbmNlICJNYWtpbmcgY2hlY2sgaW4gJFNVQkRJUiIgbWVzc2FnZXMuCi0gICAgZmluZCAiJHtEfSR7UFRFU1RfUEFUSH0iIC1uYW1lIE1ha2VmaWxlIC10eXBlIGYgLWV4ZWMgXAotICAgICAgICBzZWQgLWkgLWUgJy9NYWtlZmlsZTovLC9eJC9kJyAtZSAnLyU6ICUuaW4vLC9eJC9kJyBcCi0gICAgICAgIC1lICcvZWNobyAiTWFraW5nICQkdGFyZ2V0IGluICQkc3ViZGlyIjsgXFwvZCcgXAotICAgICAgICAtZSAncy9ec3JjZGlyID0gXCguKlwpL3NyY2RpciA9IC4vJyBcCi0gICAgICAgIC1lICdzL15idWlsZGRpciA9IFwoLipcKS9idWlsZGRpciA9IC4vJyBcCi0gICAgICAgIC1lICdzL15hbGwtYW06LiovYWxsLWFtOi8nIFwKLSAgICAgICAge30gKwotCi0gICAgIyBUaGVzZSBvYmplY3RzIHRyaWdnZXIgW3JwYXRoc10gUUEgY2hlY2tzOyB0aGUgdGVzdCBoYXJuZXNzCi0gICAgIyBza2lwcyB0aGUgYXNzb2NpYXRlZCB0ZXN0cyBpZiB0aGV5J3JlIG1pc3NpbmcsIHNvIGRlbGV0ZQotICAgICMgdGhlbS4KLSAgICBvYmpzPSIiCi0gICAgb2Jqcz0iJG9ianMgcmVncmVzc2lvbi91c3QvdXN0LWRsL2xpYmJhci5zbyIKLSAgICBvYmpzPSIkb2JqcyByZWdyZXNzaW9uL3VzdC91c3QtZGwvbGliZm9vLnNvIgotICAgIGZvciBvYmogaW4gJG9ianMgOyBkbwotICAgICAgICBybSAtZiAiJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMvJHtvYmp9IgotICAgIGRvbmUKLQotICAgIGZpbmQgIiR7RH0ke1BURVNUX1BBVEh9IiAtbmFtZSBNYWtlZmlsZSAtdHlwZSBmIC1leGVjIFwKLSAgICAgICAgdG91Y2ggLXIgIiR7Qn0vTWFrZWZpbGUiIHt9ICsKLQotICAgICMgU3Vic3RpdHV0ZSBsaW5rcyB0byBpbnN0YWxsZWQgYmluYXJpZXMuCi0gICAgZm9yIHByb2cgaW4gbHR0bmcgbHR0bmctcmVsYXlkIGx0dG5nLXNlc3Npb25kIGx0dG5nLWNvbnN1bWVyZCA7IGRvCi0gICAgICAgIGV4ZWRpcj0iJHtEfSR7UFRFU1RfUEFUSH0vc3JjL2Jpbi8ke3Byb2d9IgotICAgICAgICBpbnN0YWxsIC1kICIkZXhlZGlyIgotICAgICAgICBjYXNlICIkcHJvZyIgaW4KLSAgICAgICAgICAgIGx0dG5nLWNvbnN1bWVyZCkKLSAgICAgICAgICAgICAgICBsbiAtcyAiJHtsaWJkaXJ9L2x0dG5nL2xpYmV4ZWMvJHByb2ciICIkZXhlZGlyIgotICAgICAgICAgICAgICAgIDs7Ci0gICAgICAgICAgICAqKQotICAgICAgICAgICAgICAgIGxuIC1zICIke2JpbmRpcn0vJHByb2ciICIkZXhlZGlyIgotICAgICAgICAgICAgICAgIDs7Ci0gICAgICAgIGVzYWMKLSAgICBkb25lCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdXN0LzAwMDEtY29tcGF0LXdvcmstYXJvdW5kLWJyb2tlbi1fU0NfTlBST0NFU1NPUlNfQ09ORi1vbi1NVS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy11c3QvMDAwMS1jb21wYXQtd29yay1hcm91bmQtYnJva2VuLV9TQ19OUFJPQ0VTU09SU19DT05GLW9uLU1VLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjNGJkMzYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdXN0LzAwMDEtY29tcGF0LXdvcmstYXJvdW5kLWJyb2tlbi1fU0NfTlBST0NFU1NPUlNfQ09ORi1vbi1NVS5wYXRjaApAQCAtMCwwICsxLDEwOSBAQAorRnJvbSA1ZGU3YzMxODgwNGE3YjFlZGNlODU2MmQ0ODkxYjRjNzRhYWMwNjc3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWljaGFlbCBKZWFuc29uIDxtamVhbnNvbkBlZmZpY2lvcy5jb20+CitEYXRlOiBXZWQsIDIwIE1hciAyMDE5IDExOjA3OjM1IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbXBhdDogd29yayBhcm91bmQgYnJva2VuIF9TQ19OUFJPQ0VTU09SU19DT05GIG9uIE1VU0wgbGliYworCitPbiBNVVNMIGxpYmMgdGhlIF9TQ19OUFJPQ0VTU09SU19DT05GIHN5c2NvbmYgd2lsbCByZXBvcnQgdGhlIG51bWJlciBvZgorQ1BVcyBhbGxvY2F0ZWQgdG8gdGhlIHRhc2sgYmFzZWQgb24gdGhlIGFmZmluaXR5IG1hc2sgaW5zdGVhZCBvZiB0aGUKK3RvdGFsIG51bWJlciBvZiBDUFVzIGNvbmZpZ3VyZWQgb24gdGhlIHN5c3RlbS4KKworVXBzdHJlYW0tU3RhdHVzOiBBY2NlcHRlZCBbMV0gWzVkZTdjMzE4ODA0YTdiMWVkY2U4NTYyZDQ4OTFiNGM3NGFhYzA2NzddCitbMV0gaHR0cHM6Ly9saXN0cy5sdHRuZy5vcmcvcGlwZXJtYWlsL2x0dG5nLWRldi8yMDE5LU1hcmNoLzAyODYxNi5odG1sCisKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgSmVhbnNvbiA8bWplYW5zb25AZWZmaWNpb3MuY29tPgorU2lnbmVkLW9mZi1ieTogTWF0aGlldSBEZXNub3llcnMgPG1hdGhpZXUuZGVzbm95ZXJzQGVmZmljaW9zLmNvbT4KKy0tLQorIGxpYnJpbmdidWZmZXIvc21wLmMgfCA2NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgNjYgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvbGlicmluZ2J1ZmZlci9zbXAuYyBiL2xpYnJpbmdidWZmZXIvc21wLmMKK2luZGV4IDllNzExNGJlLi42NTZhNzVkYSAxMDA2NDQKKy0tLSBhL2xpYnJpbmdidWZmZXIvc21wLmMKKysrKyBiL2xpYnJpbmdidWZmZXIvc21wLmMKK0BAIC0yLDYgKzIsNyBAQAorICAqIGxpYnJpbmdidWZmZXIvc21wLmMKKyAgKgorICAqIENvcHlyaWdodCAoQykgMjAxMS0yMDEyIE1hdGhpZXUgRGVzbm95ZXJzIDxtYXRoaWV1LmRlc25veWVyc0BlZmZpY2lvcy5jb20+CisrICogQ29weXJpZ2h0IChDKSAyMDE5IE1pY2hhZWwgSmVhbnNvbiA8bWplYW5zb25AZWZmaWNpb3MuY29tPgorICAqCisgICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKK0BAIC0yNiw2ICsyNyw3IEBACisgCisgaW50IF9fbnVtX3Bvc3NpYmxlX2NwdXM7CisgCisrI2lmIChkZWZpbmVkKF9fR0xJQkNfXykgfHwgZGVmaW5lZCggX19VQ0xJQkNfXykpCisgdm9pZCBfZ2V0X251bV9wb3NzaWJsZV9jcHVzKHZvaWQpCisgeworIAlpbnQgcmVzdWx0OworQEAgLTQzLDMgKzQ1LDY3IEBAIHZvaWQgX2dldF9udW1fcG9zc2libGVfY3B1cyh2b2lkKQorIAkJcmV0dXJuOworIAlfX251bV9wb3NzaWJsZV9jcHVzID0gcmVzdWx0OworIH0KKysKKysjZWxzZQorKworKy8qCisrICogVGhlIE1VU0wgbGliYyBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgX1NDX05QUk9DRVNTT1JTX0NPTkYgc3lzY29uZiBkb2VzIG5vdAorKyAqIHJldHVybiB0aGUgbnVtYmVyIG9mIGNvbmZpZ3VyZWQgQ1BVcyBpbiB0aGUgc3lzdGVtIGJ1dCByZWxpZXMgb24gdGhlIGNwdQorKyAqIGFmZmluaXR5IG1hc2sgb2YgdGhlIGN1cnJlbnQgdGFzay4KKysgKgorKyAqIFNvIGluc3RlYWQgd2UgdXNlIGEgc3RyYXRlZ3kgc2ltaWxhciB0byBHTElCQydzLCBjb3VudGluZyB0aGUgY3B1CisrICogZGlyZWN0b3JpZXMgaW4gIi9zeXMvZGV2aWNlcy9zeXN0ZW0vY3B1IiBhbmQgZmFsbGJhY2sgb24gdGhlIHZhbHVlIGZyb20KKysgKiBzeXNjb25mIGlmIGl0IGZhaWxzLgorKyAqLworKworKyNpbmNsdWRlIDxkaXJlbnQuaD4KKysjaW5jbHVkZSA8bGltaXRzLmg+CisrI2luY2x1ZGUgPHN0ZGxpYi5oPgorKyNpbmNsdWRlIDxzdHJpbmcuaD4KKysjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisrCisrI2RlZmluZSBfX21heChhLGIpICgoYSk+KGIpPyhhKTooYikpCisrCisrdm9pZCBfZ2V0X251bV9wb3NzaWJsZV9jcHVzKHZvaWQpCisreworKwlpbnQgcmVzdWx0LCBjb3VudCA9IDA7CisrCURJUiAqY3B1ZGlyOworKwlzdHJ1Y3QgZGlyZW50ICplbnRyeTsKKysKKysJY3B1ZGlyID0gb3BlbmRpcigiL3N5cy9kZXZpY2VzL3N5c3RlbS9jcHUiKTsKKysJaWYgKGNwdWRpciA9PSBOVUxMKQorKwkJZ290byBlbmQ7CisrCisrCS8qCisrCSAqIENvdW50IHRoZSBudW1iZXIgb2YgZGlyZWN0b3JpZXMgbmFtZWQgImNwdSIgZm9sbG93ZWQgYnkgYW5kCisrCSAqIGludGVnZXIuIFRoaXMgaXMgdGhlIHNhbWUgc3RyYXRlZ3kgYXMgZ2xpYmMgdXNlcy4KKysJICovCisrCXdoaWxlICgoZW50cnkgPSByZWFkZGlyKGNwdWRpcikpKSB7CisrCQlpZiAoZW50cnktPmRfdHlwZSA9PSBEVF9ESVIgJiYKKysJCQlzdHJuY21wKGVudHJ5LT5kX25hbWUsICJjcHUiLCAzKSA9PSAwKSB7CisrCisrCQkJY2hhciAqZW5kcHRyOworKwkJCXVuc2lnbmVkIGxvbmcgY3B1X251bTsKKysKKysJCQljcHVfbnVtID0gc3RydG91bChlbnRyeS0+ZF9uYW1lICsgMywgJmVuZHB0ciwgMTApOworKwkJCWlmICgoY3B1X251bSA8IFVMT05HX01BWCkgJiYgKGVuZHB0ciAhPSBlbnRyeS0+ZF9uYW1lICsgMykKKysJCQkJCSYmICgqZW5kcHRyID09ICdcMCcpKSB7CisrCQkJCWNvdW50Kys7CisrCQkJfQorKwkJfQorKwl9CisrCisrZW5kOgorKwkvKgorKwkgKiBHZXQgdGhlIHN5c2NvbmYgdmFsdWUgYXMgYSBmYWxsYmFjay4gS2VlcCB0aGUgaGlnaGVzdCBudW1iZXIuCisrCSAqLworKwlyZXN1bHQgPSBfX21heChzeXNjb25mKF9TQ19OUFJPQ0VTU09SU19DT05GKSwgY291bnQpOworKworKwkvKgorKwkgKiBJZiBib3RoIG1ldGhvZHMgZmFpbGVkLCBkb24ndCBzdG9yZSB0aGUgdmFsdWUuCisrCSAqLworKwlpZiAocmVzdWx0IDwgMSkKKysJCXJldHVybjsKKysJX19udW1fcG9zc2libGVfY3B1cyA9IHJlc3VsdDsKKyt9CisrI2VuZGlmCistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdXN0XzIuMTAuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy11c3RfMi4xMC4zLmJiCmluZGV4IGI1YzQzMjAuLmQ1NDYxMDQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy11c3RfMi4xMC4zLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy11c3RfMi4xMC4zLmJiCkBAIC04LDcgKzgsMTIgQEAKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NucHJpbnRmL3NucHJpbnRmLmM7ZW5kbGluZT0zMjttZDU9ZDNkNTQ0OTU5ZDhhMzc4MmIyZTA3NDUxYmUwYTkwM2MgXAogICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc25wcmludGYvdmFyaW91cy5oO2VuZGxpbmU9MzE7bWQ1PTg5ZjI1MDliNmI0NjgyYzRmYzk1MjU1ZWVjNGFiZTQ0IgogCi1pbmhlcml0IGF1dG90b29scyBsaWJfcGFja2FnZSBtYW5wYWdlcworUFlUSE9OX09QVElPTiA9ICJhbV9jdl9weXRob25fcHlleGVjZGlyPScke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfScgXAorICAgICAgICAgICAgICAgICBhbV9jdl9weXRob25fcHl0aG9uZGlyPScke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfScgXAorICAgICAgICAgICAgICAgICBQWVRIT05fSU5DTFVERT0nLUkke1NUQUdJTkdfSU5DRElSfS9weXRob24ke1BZVEhPTl9CQVNFVkVSU0lPTn0ke1BZVEhPTl9BQkl9JyBcCisiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGxpYl9wYWNrYWdlIG1hbnBhZ2VzIHB5dGhvbjNuYXRpdmUKIAogREVQRU5EUyA9ICJsaWJ1cmN1IHV0aWwtbGludXgiCiBSREVQRU5EU18ke1BOfS1iaW4gPSAicHl0aG9uMy1jb3JlIgpAQCAtMjIsMTMgKzI3LDIwIEBACiAKIFNSQ19VUkkgPSAiaHR0cHM6Ly9sdHRuZy5vcmcvZmlsZXMvbHR0bmctdXN0L2x0dG5nLXVzdC0ke1BWfS50YXIuYnoyIFwKICAgICAgICAgICAgZmlsZTovL2x0dG5nLXVzdC1kb2MtZXhhbXBsZXMtZGlzYWJsZS5wYXRjaCBcCisJICAgZmlsZTovLzAwMDEtY29tcGF0LXdvcmstYXJvdW5kLWJyb2tlbi1fU0NfTlBST0NFU1NPUlNfQ09ORi1vbi1NVS5wYXRjaCBcCiAgICAgICAgICAgIgorCiBTUkNfVVJJW21kNXN1bV0gPSAiZmZjZmE4YzFiYTlhNTJmMDAyZDI0MGU5MzZlOWFmYTIiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOWU4NDIwZjkwZDVmOTYzZjdhYTMyYmM2ZDQ0YWRjMWU0OTExMzZmNjg3YzY5ZmZiN2EzMDc1ZDMzYjQwODUyYiIKIAogQ1ZFX1BST0RVQ1QgPSAidXN0IgogCiBQQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICItLWVuYWJsZS1tYW4tcGFnZXMsIC0tZGlzYWJsZS1tYW4tcGFnZXMsIGFzY2lpZG9jLW5hdGl2ZSB4bWx0by1uYXRpdmUgbGlieHNsdC1uYXRpdmUiCitQQUNLQUdFQ09ORklHW3B5dGhvbjMtYWdlbnRdID0gIi0tZW5hYmxlLXB5dGhvbi1hZ2VudCAke1BZVEhPTl9PUFRJT059LCAtLWRpc2FibGUtcHl0aG9uLWFnZW50LCBweXRob24zLCBweXRob24zIgorCitGSUxFU18ke1BOfSArPSAiICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyoiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiAke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qLmEiCitGSUxFU18ke1BOfS1kZXYgKz0gIiAke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qLmxhIgogCiBkb19pbnN0YWxsX2FwcGVuZCgpIHsKICAgICAgICAgIyBQYXRjaCBweXRob24gdG9vbHMgdG8gdXNlIFB5dGhvbiAzOyB0aGV5IHNob3VsZCBiZSBzb3VyY2UgY29tcGF0aWJsZSwgYnV0CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvcGVyZi9wZXJmLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL3BlcmYvcGVyZi5iYgppbmRleCBiYWU0OTQ4Li41YWNkY2ZiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvcGVyZi9wZXJmLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9wZXJmL3BlcmYuYmIKQEAgLTgwLDYgKzgwLDcgQEAKICAgICBOT19HVEsyPTEgXAogICAgICR7UEFDS0FHRUNPTkZJR19DT05GQVJHU30gXAogICAgIFRNUERJUj0iJHtCfSIgXAorICAgIExJQlVOV0lORF9ESVI9JHtTVEFHSU5HX0VYRUNQUkVGSVhESVJ9IFwKICcKIAogRVhUUkFfT0VNQUtFICs9ICJcCkBAIC0yMzQsNiArMjM1LDEwIEBACiAgICAgZm9yIHMgaW4gYGZpbmQgJHtTfS90b29scy9wZXJmL3NjcmlwdHMvcHl0aG9uLyAtbmFtZSAnKi5weSdgOyBkbwogICAgICAgICBzZWQgLWkgJ3MsL3Vzci9iaW4vcHl0aG9uMiwvdXNyL2Jpbi9lbnYgcHl0aG9uLCcgIiR7c30iCiAgICAgZG9uZQorCisgICAgIyB1bmlzdGQuaCBjYW4gYmUgb3V0IG9mIHN5bmMgYmV0d2VlbiBsaWJjLWhlYWRlcnMgYW5kIHRoZSBjYXB0dXJlZCB2ZXJzaW9uIGluIHRoZSBwZXJmIHNvdXJjZQorICAgICMgc28gd2UgY29weSBpdCBmcm9tIHRoZSBzeXNyb290IHVuaXN0ZC5oIHRvIHRoZSBwZXJmIHVuaXN0ZC5oCisgICAgY3AgJHtTVEFHSU5HX0lOQ0RJUn0vYXNtLWdlbmVyaWMvdW5pc3RkLmggJHtTfS90b29scy9pbmNsdWRlL3VhcGkvYXNtLWdlbmVyaWMvdW5pc3RkLmgKIH0KIAogcHl0aG9uIGRvX3BhY2thZ2VfcHJlcGVuZCgpIHsKQEAgLTI1NCw3ICsyNTksOCBAQAogUlNVR0dFU1RTX1NDUklQVElORyA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdzY3JpcHRpbmcnLCAnJHtQTn0tcGVybCAke1BOfS1weXRob24nLCAnJyxkKX0iCiBSU1VHR0VTVFNfJHtQTn0gKz0gIiR7UE59LWFyY2hpdmUgJHtQTn0tdGVzdHMgJHtSU1VHR0VTVFNfU0NSSVBUSU5HfSIKIAotRklMRVNfJHtQTn0gKz0gIiR7bGliZXhlY2Rpcn0vcGVyZi1jb3JlICR7ZXhlY19wcmVmaXh9L2xpYmV4ZWMvcGVyZi1jb3JlICR7bGliZGlyfS90cmFjZWV2ZW50IgorRklMRVNfU09MSUJTREVWID0gIiIKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmV4ZWNkaXJ9L3BlcmYtY29yZSAke2V4ZWNfcHJlZml4fS9saWJleGVjL3BlcmYtY29yZSAke2xpYmRpcn0vdHJhY2VldmVudCAke2xpYmRpcn0vbGlicGVyZi1qdm10aS5zbyIKIEZJTEVTXyR7UE59LWFyY2hpdmUgPSAiJHtsaWJkaXJ9L3BlcmYvcGVyZi1jb3JlL3BlcmYtYXJjaGl2ZSIKIEZJTEVTXyR7UE59LXRlc3RzID0gIiR7bGliZGlyfS9wZXJmL3BlcmYtY29yZS90ZXN0cyAke2xpYmV4ZWNkaXJ9L3BlcmYtY29yZS90ZXN0cyIKIEZJTEVTXyR7UE59LXB5dGhvbiA9ICIgXApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL3Bvd2VydG9wL3Bvd2VydG9wXzIuMTAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvcG93ZXJ0b3AvcG93ZXJ0b3BfMi4xMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTQzYmE5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL3Bvd2VydG9wL3Bvd2VydG9wXzIuMTAuYmIKQEAgLTAsMCArMSwzMyBAQAorU1VNTUFSWSA9ICJQb3dlciB1c2FnZSB0b29sIgorREVTQ1JJUFRJT04gPSAiTGludXggdG9vbCB0byBkaWFnbm9zZSBpc3N1ZXMgd2l0aCBwb3dlciBjb25zdW1wdGlvbiBhbmQgcG93ZXIgbWFuYWdlbWVudC4iCitIT01FUEFHRSA9ICJodHRwOi8vMDEub3JnL3Bvd2VydG9wLyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL2J1Z3ppbGxhLmxlc3N3YXR0cy5vcmcvIgorREVQRU5EUyA9ICJuY3Vyc2VzIGxpYm5sIHBjaXV0aWxzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTEyZjg4NGQyYWUxZmY4N2MwOWU1YjdjY2MyYzRjYTdlIgorCitTUkNfVVJJID0gImh0dHA6Ly8wMS5vcmcvc2l0ZXMvZGVmYXVsdC9maWxlcy9kb3dubG9hZHMvcG93ZXJ0b3AtdiR7UFZ9LnRhci5neiBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhNjliZDU1OTAxY2Y5MTljYzU2NDE4NzQwMmVhMmM5YyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkM2I3NDU5ZWFiYTdkMDFjODg0MWRkMzNhM2I0ZDM2OTQxNmMwMWU5YmQ4OTUxYjBkODgyMzRjZjE4ZmU0YTc1IgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly8wMS5vcmcvcG93ZXJ0b3AvZG93bmxvYWRzIgorVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAicG93ZXJ0b3AtW3ZdPyg/UDxwdmVyPlxkKyhcLlxkKykrKVwudGFyIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBrZ2NvbmZpZworCitTID0gIiR7V09SS0RJUn0vJHtCUE59LXYke1BWfSIKKworIyB3ZSBkbyBub3Qgd2FudCBsaWJuY3Vyc2VzdyBpZiB3ZSBjYW4KK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgICMgY29uZmlndXJlLmFjIGNoZWNrcyBmb3IgZGVsd2luKCkgaW4gIm5jdXJzZXN3IG5jdXJzZXMiIHNvIGxldCdzIGRyb3AgZmlyc3Qgb25lCisgICAgc2VkIC1pIC1lICJzL25jdXJzZXN3Ly9nIiAke1N9L2NvbmZpZ3VyZS5hYworICAgIG1rZGlyIC1wICR7Qn0vc3JjL3R1bmluZy8KK30KKworaW5oZXJpdCB1cGRhdGUtYWx0ZXJuYXRpdmVzCitBTFRFUk5BVElWRV8ke1BOfSA9ICJwb3dlcnRvcCIKK0FMVEVSTkFUSVZFX1RBUkdFVFtwb3dlcnRvcF0gPSAiJHtzYmluZGlyfS9wb3dlcnRvcCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtwb3dlcnRvcF0gPSAiJHtzYmluZGlyfS9wb3dlcnRvcCIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjEwMCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9wb3dlcnRvcC9wb3dlcnRvcF8yLjkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvcG93ZXJ0b3AvcG93ZXJ0b3BfMi45LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZmU1NDQ3Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9wb3dlcnRvcC9wb3dlcnRvcF8yLjkuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi1TVU1NQVJZID0gIlBvd2VyIHVzYWdlIHRvb2wiCi1ERVNDUklQVElPTiA9ICJMaW51eCB0b29sIHRvIGRpYWdub3NlIGlzc3VlcyB3aXRoIHBvd2VyIGNvbnN1bXB0aW9uIGFuZCBwb3dlciBtYW5hZ2VtZW50LiIKLUhPTUVQQUdFID0gImh0dHA6Ly8wMS5vcmcvcG93ZXJ0b3AvIgotQlVHVFJBQ0tFUiA9ICJodHRwOi8vYnVnemlsbGEubGVzc3dhdHRzLm9yZy8iCi1ERVBFTkRTID0gIm5jdXJzZXMgbGlibmwgcGNpdXRpbHMiCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MTJmODg0ZDJhZTFmZjg3YzA5ZTViN2NjYzJjNGNhN2UiCi0KLVNSQ19VUkkgPSAiaHR0cDovLzAxLm9yZy9zaXRlcy9kZWZhdWx0L2ZpbGVzL2Rvd25sb2Fkcy9wb3dlcnRvcC9wb3dlcnRvcC12JHtQVn0udGFyLmd6IFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjU4MzUxOGM1YzQ0MzRjNmU5YjljNThjMzkyMDk1MGI2IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImFhN2ZiN2Q4ZTlhMDBmMDVlN2Q4YTdhMjg2NmQ4NTkyOTc0MWUwZDAzYTViZjQwY2FiMjJkMjAyMWM5NTkyNTAiCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovLzAxLm9yZy9wb3dlcnRvcC9kb3dubG9hZHMiCi1VUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJwb3dlcnRvcC1bdl0/KD9QPHB2ZXI+XGQrKFwuXGQrKSspXC50YXIiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnCi0KLVMgPSAiJHtXT1JLRElSfS8ke0JQTn0tdiR7UFZ9IgotCi0jIHdlIGRvIG5vdCB3YW50IGxpYm5jdXJzZXN3IGlmIHdlIGNhbgotZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7Ci0gICAgIyBjb25maWd1cmUuYWMgY2hlY2tzIGZvciBkZWx3aW4oKSBpbiAibmN1cnNlc3cgbmN1cnNlcyIgc28gbGV0J3MgZHJvcCBmaXJzdCBvbmUKLSAgICBzZWQgLWkgLWUgInMvbmN1cnNlc3cvL2ciICR7U30vY29uZmlndXJlLmFjCi0gICAgbWtkaXIgLXAgJHtCfS9zcmMvdHVuaW5nLwotfQotCi1pbmhlcml0IHVwZGF0ZS1hbHRlcm5hdGl2ZXMKLUFMVEVSTkFUSVZFXyR7UE59ID0gInBvd2VydG9wIgotQUxURVJOQVRJVkVfVEFSR0VUW3Bvd2VydG9wXSA9ICIke3NiaW5kaXJ9L3Bvd2VydG9wIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3Bvd2VydG9wXSA9ICIke3NiaW5kaXJ9L3Bvd2VydG9wIgotQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL3N5c3Byb2YvZmlsZXMvMDAwMS1maXgtbm9uLWxpdGVyYWwtZm9ybWF0LXN0cmluZy1pc3N1ZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvc3lzcHJvZi9maWxlcy8wMDAxLWZpeC1ub24tbGl0ZXJhbC1mb3JtYXQtc3RyaW5nLWlzc3Vlcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzhmOWY1Zi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvc3lzcHJvZi9maWxlcy8wMDAxLWZpeC1ub24tbGl0ZXJhbC1mb3JtYXQtc3RyaW5nLWlzc3Vlcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLUZyb20gZGUxM2QxZjkwODMzNWNjODgyYzQ0N2U0ZDdjNDM2MGI5ZTVkYTE5MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBUaHUsIDYgU2VwIDIwMTggMTc6NDk6NDQgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gZml4IG5vbi1saXRlcmFsIGZvcm1hdCBzdHJpbmcgaXNzdWVzCi0KLWNsYW5nIGVycm9ycyBvdXQgd2hlbiB1c2luZyAtV2Vycm9yPWZvcm1hdC1ub25saXRlcmFsCi1zaW5jZSB0aGUgZGVmaW5pdGlvbiBvZiBnX3N0cmR1cF92cHJpbnRmKCkgZnJvbSBnbGliLTIuMAotaXMgdXNpbmcgdmFfbGlzdCBhbmQgY2xhbmdzIHN0aWxsIHdhcm5zIHdoZXJlIGFzCi1nY2MgZG9lc24ndCBkbyB0aGF0IGZvciB2YV9saXN0IGFyZ3VtZW50cwotCi1GaXhlcwotc3JjL3NwLXdpbmRvdy5jOjk2OjI3OiBlcnJvcjogZm9ybWF0IHN0cmluZyBpcyBub3QgYSBzdHJpbmcgbGl0ZXJhbCBbLVdlcnJvciwtV2Zvcm1hdC1ub25saXRlcmFsXQotfCAgIHN0ciA9IGdfc3RyZHVwX3ZwcmludGYgKGZvcm1hdCwgYXJncyk7Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvc3lzcHJvZi9tZXJnZV9yZXF1ZXN0cy82XQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIHNyYy9zcC13aW5kb3cuYyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9zcC13aW5kb3cuYyBiL3NyYy9zcC13aW5kb3cuYwotaW5kZXggNGRmYWMyZC4uYWZmNDc3OSAxMDA2NDQKLS0tLSBhL3NyYy9zcC13aW5kb3cuYwotKysrIGIvc3JjL3NwLXdpbmRvdy5jCi1AQCAtODAsNyArODAsNyBAQCBzdGF0aWMgZ3VpbnQgc2lnbmFscyBbTl9TSUdOQUxTXTsKLSBzdGF0aWMgdm9pZCBzcF93aW5kb3dfc2V0X3Byb2ZpbGVyIChTcFdpbmRvdyAgICpzZWxmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNwUHJvZmlsZXIgKnByb2ZpbGVyKTsKLSAKLS1zdGF0aWMgdm9pZAotK3N0YXRpYyBHX0dOVUNfUFJJTlRGKDMsIDQpIHZvaWQKLSBzcF93aW5kb3dfbm90aWZ5X3VzZXIgKFNwV2luZG93ICAgICAgICpzZWxmLAotICAgICAgICAgICAgICAgICAgICAgICAgR3RrTWVzc2FnZVR5cGUgIG1lc3NhZ2VfdHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICpmb3JtYXQsCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvc3lzcHJvZi9maWxlcy93b3Jkc2l6ZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9zeXNwcm9mL2ZpbGVzL3dvcmRzaXplLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNjViMTNhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9zeXNwcm9mL2ZpbGVzL3dvcmRzaXplLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9zeXNwcm9mL21lcmdlX3JlcXVlc3RzLzVdCi1TaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotCi1Gcm9tIGJjN2UzZTI3YzI4ZDBiYWI4YmVhNzJmMjMxNDE5MTUzMmIyZTc4NDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotRGF0ZTogRnJpLCA3IFNlcCAyMDE4IDAxOjMwOjA5ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIGNhcHR1cmU6IHVzZSBzaXplIG9mIHZvaWQqIGluc3RlYWQgb2YgZ2xpYmMtc3BlY2lmaWMKLSBfX1dPUkRTSVpFCi0KLV9fV09SRFNJWkUgaXMgZ2xpYmMtc3BlY2lmaWMgc28gc3AtY2FwdHVyZS10eXBlcy5oIGRvZXNuJ3Qgd29yayB3aXRoIG11c2wuCi0tLS0KLSBsaWIvY2FwdHVyZS9zcC1jYXB0dXJlLXR5cGVzLmggfCA2ICsrKystLQotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWIvY2FwdHVyZS9zcC1jYXB0dXJlLXR5cGVzLmggYi9saWIvY2FwdHVyZS9zcC1jYXB0dXJlLXR5cGVzLmgKLWluZGV4IDQ4ZmNmYjguLjFkNmNkMWQgMTAwNjQ0Ci0tLS0gYS9saWIvY2FwdHVyZS9zcC1jYXB0dXJlLXR5cGVzLmgKLSsrKyBiL2xpYi9jYXB0dXJlL3NwLWNhcHR1cmUtdHlwZXMuaAotQEAgLTMyLDEyICszMiwxNCBAQCBHX0JFR0lOX0RFQ0xTCi0gI2RlZmluZSBTUF9DQVBUVVJFX01BR0lDIChHVUlOVDMyX1RPX0xFKDB4RkRDQTk3NUUpKQotICNkZWZpbmUgU1BfQ0FQVFVSRV9BTElHTiAoc2l6ZW9mKFNwQ2FwdHVyZUFkZHJlc3MpKQotIAotLSNpZiBfX1dPUkRTSVpFID09IDY0Ci0rI2lmIEdMSUJfU0laRU9GX1ZPSURfUCA9PSA4Ci0gIyBkZWZpbmUgU1BfQ0FQVFVSRV9KSVRNQVBfTUFSSyAgICBHX0dVSU5UNjRfQ09OU1RBTlQoMHhFMDAwMDAwMDAwMDAwMDAwKQotICMgZGVmaW5lIFNQX0NBUFRVUkVfQUREUkVTU19GT1JNQVQgIjB4JTAxNmx4IgotLSNlbHNlCi0rI2VsaWYgR0xJQl9TSVpFT0ZfVk9JRF9QID09IDQKLSAjIGRlZmluZSBTUF9DQVBUVVJFX0pJVE1BUF9NQVJLICAgIEdfR1VJTlQ2NF9DT05TVEFOVCgweEUwMDAwMDAwKQotICMgZGVmaW5lIFNQX0NBUFRVUkVfQUREUkVTU19GT1JNQVQgIjB4JTAxNmxseCIKLSsjZWxzZQotKyNlcnJvciBVbmtub3duIEdMSUJfU0laRU9GX1ZPSURfUAotICNlbmRpZgotIAotICNkZWZpbmUgU1BfQ0FQVFVSRV9DVVJSRU5UX1RJTUUgICAoc3BfY2xvY2tfZ2V0X2N1cnJlbnRfdGltZSgpKQotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL3N5c3Byb2Yvc3lzcHJvZl8zLjMwLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvc3lzcHJvZi9zeXNwcm9mXzMuMzAuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTlkY2YyNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvc3lzcHJvZi9zeXNwcm9mXzMuMzAuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLVNVTU1BUlkgPSAiU3lzdGVtLXdpZGUgUGVyZm9ybWFuY2UgUHJvZmlsZXIgZm9yIExpbnV4IgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5zeXNwcm9mLmNvbSIKLUxJQ0VOU0UgPSAiR1BMdjMrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL3NwLWFwcGxpY2F0aW9uLmM7ZW5kbGluZT0xNzttZDU9NDBlNTU1NzdlZjEyMmM4OGZlMjAwNTJhY2RhNjQ4NzUiCi0KLUdOT01FQkFTRUJVSUxEQ0xBU1MgPSAibWVzb24iCi1pbmhlcml0IGdub21lYmFzZSBnZXR0ZXh0IHN5c3RlbWQgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuCi0KLURFUEVORFMgPSAiZ2xpYi0yLjAgbGlieG1sMi1uYXRpdmUgZ2xpYi0yLjAtbmF0aXZlIgotCi1TUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJhZTg5NmE4YTIzNjRlMThjMDdmYWZhOTU3MzIwMmY1OSIKLVNSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjI5Y2QyYzRiZTI3N2YwMDY5OGRjZTQ4MjU5MjE5NTU3YzRmZGRjMmMwMTI1NGI4ZmFjOTU5MDBhOGM2NjNmNjMiCi1TUkNfVVJJICs9ICIgXAotICAgICAgICAgICBmaWxlOi8vZGVmaW5lLU5UX0dOVV9CVUlMRF9JRC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC1idWlsZC1hbnl0aGluZy1pbi1oZWxwLWFzLWl0LXJlcXVpcmVzLWl0c3Rvb2wucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vd29yZHNpemUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1maXgtbm9uLWxpdGVyYWwtZm9ybWF0LXN0cmluZy1pc3N1ZXMucGF0Y2ggXAotICAgICAgICAgICAiCi1SRUNJUEVfTk9fVVBEQVRFX1JFQVNPTiA9ICJXYWl0aW5nIGZvciByZXNvbHV0aW9uIG9mIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQ2MjUiCi0KLVBBQ0tBR0VDT05GSUcgPz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zX2FueSgnRElTVFJPX0ZFQVRVUkVTJywgJyR7R1RLM0RJU1RST0ZFQVRVUkVTfScsICdndGsnLCAnJywgZCl9IgotUEFDS0FHRUNPTkZJR1tndGtdID0gIi1EZW5hYmxlX2d0az10cnVlLC1EZW5hYmxlX2d0az1mYWxzZSxndGsrMyIKLVBBQ0tBR0VDT05GSUdbc3lzcHJvZmRdID0gIi1Ed2l0aF9zeXNwcm9mZD1idW5kbGVkLC1Ed2l0aF9zeXNwcm9mZD1ub25lLHBvbGtpdCIKLQotU09MSUJTID0gIi5zbyIKLUZJTEVTX1NPTElCU0RFViA9ICIiCi0KLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdzeXNwcm9mZCcsICdzeXNwcm9mMi5zZXJ2aWNlJywgJycsIGQpfSIKLQotRklMRVNfJHtQTn0gKz0gIiBcCi0gICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0tc2VydmljZXMgXAotICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmQgXAotICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9tZXRhaW5mbyBcCi0gICAgICAgICAgICAgICAiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvc3lzcHJvZi9zeXNwcm9mXzMuMzAuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9zeXNwcm9mL3N5c3Byb2ZfMy4zMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0ZTQ5Y2IKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvc3lzcHJvZi9zeXNwcm9mXzMuMzAuMi5iYgpAQCAtMCwwICsxLDMyIEBACitTVU1NQVJZID0gIlN5c3RlbS13aWRlIFBlcmZvcm1hbmNlIFByb2ZpbGVyIGZvciBMaW51eCIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuc3lzcHJvZi5jb20iCitMSUNFTlNFID0gIkdQTHYzKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9zcC1hcHBsaWNhdGlvbi5jO2VuZGxpbmU9MTc7bWQ1PTQwZTU1NTc3ZWYxMjJjODhmZTIwMDUyYWNkYTY0ODc1IgorCitHTk9NRUJBU0VCVUlMRENMQVNTID0gIm1lc29uIgoraW5oZXJpdCBnbm9tZWJhc2UgZ2V0dGV4dCBzeXN0ZW1kIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbiBnc2V0dGluZ3MKKworREVQRU5EUyA9ICJnbGliLTIuMCBsaWJ4bWwyLW5hdGl2ZSBnbGliLTIuMC1uYXRpdmUiCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjgwY2I0NzkwNmVjZWQyZTdiOTk3NmJmMDBkZWVjMzIzIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiZTkwODc4ZTVhNTA5YmQ3OWQxNzBhN2E1MWQ0N2NjNTUwOGFiMTM2M2FmYWYwZDk3NjU0MzczZGZkOWM4YmEwYiIKK1NSQ19VUkkgKz0gIiBcCisgICAgICAgICAgIGZpbGU6Ly9kZWZpbmUtTlRfR05VX0JVSUxEX0lELnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LWJ1aWxkLWFueXRoaW5nLWluLWhlbHAtYXMtaXQtcmVxdWlyZXMtaXRzdG9vbC5wYXRjaCBcCisgICAgICAgICAgICIKKworUEFDS0FHRUNPTkZJRyA/PSAiJHtAYmIudXRpbHMuY29udGFpbnNfYW55KCdESVNUUk9fRkVBVFVSRVMnLCAnJHtHVEszRElTVFJPRkVBVFVSRVN9JywgJ2d0aycsICcnLCBkKX0iCitQQUNLQUdFQ09ORklHW2d0a10gPSAiLURlbmFibGVfZ3RrPXRydWUsLURlbmFibGVfZ3RrPWZhbHNlLGd0ayszIgorUEFDS0FHRUNPTkZJR1tzeXNwcm9mZF0gPSAiLUR3aXRoX3N5c3Byb2ZkPWJ1bmRsZWQsLUR3aXRoX3N5c3Byb2ZkPW5vbmUscG9sa2l0IgorCitTT0xJQlMgPSAiLnNvIgorRklMRVNfU09MSUJTREVWID0gIiIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3N5c3Byb2ZkJywgJ3N5c3Byb2YyLnNlcnZpY2UnLCAnJywgZCl9IgorCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS1zZXJ2aWNlcyBcCisgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0uZCBcCisgICAgICAgICAgICAgICAke2RhdGFkaXJ9L21ldGFpbmZvIFwKKyAgICAgICAgICAgICAgICIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9zeXN0ZW10YXAvc3lzdGVtdGFwLzAwMDEtc3RhcHJ1bi1zdGFwYnBmLWRvbi10LXN1cHBvcnQtaW5zdGFsbGluZy1hLW5vbi1yb290LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL3N5c3RlbXRhcC9zeXN0ZW10YXAvMDAwMS1zdGFwcnVuLXN0YXBicGYtZG9uLXQtc3VwcG9ydC1pbnN0YWxsaW5nLWEtbm9uLXJvb3QucGF0Y2gKaW5kZXggOWYxMTY0OC4uZTJmOGIzYiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL3N5c3RlbXRhcC9zeXN0ZW10YXAvMDAwMS1zdGFwcnVuLXN0YXBicGYtZG9uLXQtc3VwcG9ydC1pbnN0YWxsaW5nLWEtbm9uLXJvb3QucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL3N5c3RlbXRhcC9zeXN0ZW10YXAvMDAwMS1zdGFwcnVuLXN0YXBicGYtZG9uLXQtc3VwcG9ydC1pbnN0YWxsaW5nLWEtbm9uLXJvb3QucGF0Y2gKQEAgLTE0LDQ5ICsxNCwyNCBAQAogIHN0YXBydW4vTWFrZWZpbGUuYW0gfCAxMiArKysrKystLS0tLS0KICAyIGZpbGVzIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQogCi1kaWZmIC0tZ2l0IGEvc3RhcGJwZi9NYWtlZmlsZS5hbSBiL3N0YXBicGYvTWFrZWZpbGUuYW0KLWluZGV4IDQyMWIwNDRlZi4uZjdkYWViMmIyIDEwMDY0NAotLS0tIGEvc3RhcGJwZi9NYWtlZmlsZS5hbQotKysrIGIvc3RhcGJwZi9NYWtlZmlsZS5hbQotQEAgLTM5LDExICszOSwxMSBAQCBnaXRfdmVyc2lvbi5zdGFtcCAuLi9naXRfdmVyc2lvbi5oOgorSW5kZXg6IGdpdC9zdGFwYnBmL01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2l0Lm9yaWcvc3RhcGJwZi9NYWtlZmlsZS5hbQorKysrIGdpdC9zdGFwYnBmL01ha2VmaWxlLmFtCitAQCAtNDEsMTAgKzQxLDEwIEBACiAgCiAgIyBXaHkgdGhlICJpZCAtdSIgY29uZGl0aW9uPyAgVGhpcyB3YXksIGFuIHVucHJpdmlsZWdlZCB1c2VyIGNhbiBydW4KICAjIG1ha2UgaW5zdGFsbCwgYW5kIGhhdmUgInN1ZG8gc3RhcCAuLi4uIiBvciAic3VkbyBzdGFwYnBmIC4uLi4iIHdvcmsgbGF0ZXIuCiAtaW5zdGFsbC1leGVjLWhvb2s6Ci0tCWlmIFsgYGlkIC11YCAtZXEgMCBdOyB0aGVuIFwKLS0JCWdldGVudCBncm91cCBzdGFwdXNyID4vZGV2L251bGwgfHwgZ3JvdXBhZGQgLWcgMTU2IC1yIHN0YXB1c3IgMj4vZGV2L251bGwgfHwgZ3JvdXBhZGQgLXIgc3RhcHVzcjsgXAotLQkJZ2V0ZW50IGdyb3VwIHN0YXB1c3IgPi9kZXYvbnVsbCBcCi0tCQkmJiBjaGdycCBzdGFwdXNyICIkKERFU1RESVIpJChiaW5kaXIpL3N0YXBicGYiIFwKKy0JaWYgWyBgaWQgLXVgIC1lcSAwIF0gJiYgKGdldGVudCBncm91cCBzdGFwdXNyID4vZGV2L251bGwgXAorLQkgICAgICAgICAgICAgICAgICAgICAgICAgfHwgZ3JvdXBhZGQgLWYgLWcgMTU2IC1yIHN0YXB1c3IpOyB0aGVuIFwKKy0JCWNoZ3JwIHN0YXB1c3IgIiQoREVTVERJUikkKGJpbmRpcikvc3RhcGJwZiIgXAogLQkJJiYgY2htb2QgMDQxMTAgIiQoREVTVERJUikkKGJpbmRpcikvc3RhcGJwZiI7IFwKIC0JZmkKICsjaW5zdGFsbC1leGVjLWhvb2s6Ci0rIwlpZiBbIGBpZCAtdWAgLWVxIDAgXTsgdGhlbiBcCi0rIwkJZ2V0ZW50IGdyb3VwIHN0YXB1c3IgPi9kZXYvbnVsbCB8fCBncm91cGFkZCAtZyAxNTYgLXIgc3RhcHVzciAyPi9kZXYvbnVsbCB8fCBncm91cGFkZCAtciBzdGFwdXNyOyBcCi0rIwkJZ2V0ZW50IGdyb3VwIHN0YXB1c3IgPi9kZXYvbnVsbCBcCi0rIwkJJiYgY2hncnAgc3RhcHVzciAiJChERVNURElSKSQoYmluZGlyKS9zdGFwYnBmIiBcCisrIyMJaWYgWyBgaWQgLXVgIC1lcSAwIF0gJiYgKGdldGVudCBncm91cCBzdGFwdXNyID4vZGV2L251bGwgXAorKyMjCSAgICAgICAgICAgICAgICAgICAgICAgICB8fCBncm91cGFkZCAtZiAtZyAxNTYgLXIgc3RhcHVzcik7IHRoZW4gXAorKyMjCQljaGdycCBzdGFwdXNyICIkKERFU1RESVIpJChiaW5kaXIpL3N0YXBicGYiIFwKICsjCQkmJiBjaG1vZCAwNDExMCAiJChERVNURElSKSQoYmluZGlyKS9zdGFwYnBmIjsgXAogKyMJZmkKICBlbmRpZgotZGlmZiAtLWdpdCBhL3N0YXBydW4vTWFrZWZpbGUuYW0gYi9zdGFwcnVuL01ha2VmaWxlLmFtCi1pbmRleCA0MDczYWEwMWMuLjI5MjVlMzRjMyAxMDA2NDQKLS0tLSBhL3N0YXBydW4vTWFrZWZpbGUuYW0KLSsrKyBiL3N0YXBydW4vTWFrZWZpbGUuYW0KLUBAIC03Miw5ICs3Miw5IEBAIGdpdF92ZXJzaW9uLnN0YW1wIC4uL2dpdF92ZXJzaW9uLmg6Ci0gCi0gIyBXaHkgdGhlICJpZCAtdSIgY29uZGl0aW9uPyAgVGhpcyB3YXksIGFuIHVucHJpdmlsZWdlZCB1c2VyIGNhbiBydW4KLSAjIG1ha2UgaW5zdGFsbCwgYW5kIGhhdmUgInN1ZG8gc3RhcCAuLi4uIiBvciAic3VkbyBzdGFwcnVuIC4uLi4iIHdvcmsgbGF0ZXIuCi0taW5zdGFsbC1leGVjLWhvb2s6Ci0tCWlmIFsgYGlkIC11YCAtZXEgMCBdOyB0aGVuIFwKLS0JCWdldGVudCBncm91cCBzdGFwdXNyID4vZGV2L251bGwgfHwgZ3JvdXBhZGQgLWcgMTU2IC1yIHN0YXB1c3IgMj4vZGV2L251bGwgfHwgZ3JvdXBhZGQgLXIgc3RhcHVzcjsgXAotLQkJZ2V0ZW50IGdyb3VwIHN0YXB1c3IgPi9kZXYvbnVsbCAmJiBjaGdycCBzdGFwdXNyICIkKERFU1RESVIpJChiaW5kaXIpL3N0YXBydW4iOyBcCi0tCQljaG1vZCAwNDExMCAiJChERVNURElSKSQoYmluZGlyKS9zdGFwcnVuIjsgXAotLQlmaQotKyNpbnN0YWxsLWV4ZWMtaG9vazoKLSsjCWlmIFsgYGlkIC11YCAtZXEgMCBdOyB0aGVuIFwKLSsjCQlnZXRlbnQgZ3JvdXAgc3RhcHVzciA+L2Rldi9udWxsIHx8IGdyb3VwYWRkIC1nIDE1NiAtciBzdGFwdXNyIDI+L2Rldi9udWxsIHx8IGdyb3VwYWRkIC1yIHN0YXB1c3I7IFwKLSsjCQlnZXRlbnQgZ3JvdXAgc3RhcHVzciA+L2Rldi9udWxsICYmIGNoZ3JwIHN0YXB1c3IgIiQoREVTVERJUikkKGJpbmRpcikvc3RhcHJ1biI7IFwKLSsjCQljaG1vZCAwNDExMCAiJChERVNURElSKSQoYmluZGlyKS9zdGFwcnVuIjsgXAotKyMJZmkKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9zeXN0ZW10YXAvc3lzdGVtdGFwX2dpdC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvc3lzdGVtdGFwL3N5c3RlbXRhcF9naXQuaW5jCmluZGV4IDI3NGZjZGUuLjU0ZGU3MjIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9zeXN0ZW10YXAvc3lzdGVtdGFwX2dpdC5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL3N5c3RlbXRhcC9zeXN0ZW10YXBfZ2l0LmluYwpAQCAtMSw2ICsxLDYgQEAKIExJQ0VOU0UgPSAiR1BMdjIiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKLVNSQ1JFViA9ICI0MjhmODRlOWU2NTZiY2U3MTAxOGU4OTAyZTRlZGI4YWFjYWZjYzBlIgorU1JDUkVWID0gIjkwZmYzNGFjMDUwNmYwZDU0NDAzOTNhNGM3ODU2NWY2YWFmOWI3MjYiCiBQViA9ICI0LjAiCiAKIFNSQ19VUkkgPSAiZ2l0Oi8vc291cmNld2FyZS5vcmcvZ2l0L3N5c3RlbXRhcC5naXQgXApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2EtbGliXzEuMS42LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2EtbGliXzEuMS42LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNWU3YTNjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLWxpYl8xLjEuNi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQxICswLDAgQEAKLVNVTU1BUlkgPSAiQUxTQSBzb3VuZCBsaWJyYXJ5IgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5hbHNhLXByb2plY3Qub3JnIgotQlVHVFJBQ0tFUiA9ICJodHRwOi8vYWxzYS1wcm9qZWN0Lm9yZy9tYWluL2luZGV4LnBocC9CdWdfVHJhY2tpbmciCi1TRUNUSU9OID0gImxpYnMvbXVsdGltZWRpYSIKLUxJQ0VOU0UgPSAiTEdQTHYyLjEgJiBHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hOTE2NDY3YjkxMDc2ZTYzMWRkOGVkYjc0MjQ3NjljNyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvc29ja2V0LmM7bWQ1PWRkMWJjN2Y0NDg3MjY5MDIyNGQ4OWMxYTk4MDZlNDk1O2JlZ2lubGluZT0xO2VuZGxpbmU9MjYgXAotICAgICAgICAgICAgICAgICAgICAiCi0KLVNSQ19VUkkgPSAiZnRwOi8vZnRwLmFsc2EtcHJvamVjdC5vcmcvcHViL2xpYi8ke0JQfS50YXIuYnoyIgotU1JDX1VSSVttZDVzdW1dID0gIjJmOTgxYThmNzg5N2M1OWVjMmRkYzQ0OTE2ZDMzNzg4IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVmMmNkMjc0YjI3MmNhZTBkMGQxMTFlOGE5ZTM2M2YwODc4MzMyOTE1N2U4ZGQ2OGIzZGUwYzA5NmRlNmQ3MjQiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi1FWFRSQV9PRUNPTkYgKz0gIiBcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1RBUkdFVF9GUFUnLCAnc29mdCcsICctLXdpdGgtc29mdGZsb2F0JywgJycsIGQpfSBcCi0gICAgLS1kaXNhYmxlLXB5dGhvbiBcCi0iCi0KLVBBQ0tBR0VTID0rICJhbHNhLXNlcnZlciBhbHNhLWNvbmYgYWxzYS1kb2MiCi0KLUZJTEVTX2Fsc2Etc2VydmVyID0gIiR7YmluZGlyfS8qIgotRklMRVNfYWxzYS1jb25mID0gIiR7ZGF0YWRpcn0vYWxzYS8iCi0KLVJERVBFTkRTXyR7UE59X2NsYXNzLXRhcmdldCA9ICJhbHNhLWNvbmYiCi0KLSMgdXBncmFkZSBwYXRoCi1SUFJPVklERVNfJHtQTn0gPSAibGliYXNvdW5kIgotUlJFUExBQ0VTXyR7UE59ID0gImxpYmFzb3VuZCIKLVJDT05GTElDVFNfJHtQTn0gPSAibGliYXNvdW5kIgotCi1SUFJPVklERVNfJHtQTn0tZGV2ID0gImFsc2EtZGV2IgotUlJFUExBQ0VTXyR7UE59LWRldiA9ICJhbHNhLWRldiIKLVJDT05GTElDVFNfJHtQTn0tZGV2ID0gImFsc2EtZGV2IgotCi1SUFJPVklERVNfYWxzYS1jb25mID0gImFsc2EtY29uZi1iYXNlIgotUlJFUExBQ0VTX2Fsc2EtY29uZiA9ICJhbHNhLWNvbmYtYmFzZSIKLVJDT05GTElDVFNfYWxzYS1jb25mID0gImFsc2EtY29uZi1iYXNlIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS1saWJfMS4xLjguYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS1saWJfMS4xLjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzZjYzk2MgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLWxpYl8xLjEuOC5iYgpAQCAtMCwwICsxLDQxIEBACitTVU1NQVJZID0gIkFMU0Egc291bmQgbGlicmFyeSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuYWxzYS1wcm9qZWN0Lm9yZyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL2Fsc2EtcHJvamVjdC5vcmcvbWFpbi9pbmRleC5waHAvQnVnX1RyYWNraW5nIgorU0VDVElPTiA9ICJsaWJzL211bHRpbWVkaWEiCitMSUNFTlNFID0gIkxHUEx2Mi4xICYgR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTkxNjQ2N2I5MTA3NmU2MzFkZDhlZGI3NDI0NzY5YzcgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL3NvY2tldC5jO21kNT1kZDFiYzdmNDQ4NzI2OTAyMjRkODljMWE5ODA2ZTQ5NTtiZWdpbmxpbmU9MTtlbmRsaW5lPTI2IFwKKyAgICAgICAgICAgICAgICAgICAgIgorCitTUkNfVVJJID0gImh0dHBzOi8vd3d3LmFsc2EtcHJvamVjdC5vcmcvZmlsZXMvcHViL2xpYi8ke0JQfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gIjBlZWMwZDY1N2EwNzkyNzc5NTgwOWM4Zjg3ZmI3NmNhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNjZGMzYTkzYTY0MjdhMjZkOGVmYWI0YWRhMjE1MmU2NGRkODkxNDBkOTgxZjZmZmEwMDNlODViZTcwN2FlZGYiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgKz0gIiBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1RBUkdFVF9GUFUnLCAnc29mdCcsICctLXdpdGgtc29mdGZsb2F0JywgJycsIGQpfSBcCisgICAgLS1kaXNhYmxlLXB5dGhvbiBcCisiCisKK1BBQ0tBR0VTID0rICJhbHNhLXNlcnZlciBhbHNhLWNvbmYgYWxzYS1kb2MiCisKK0ZJTEVTX2Fsc2Etc2VydmVyID0gIiR7YmluZGlyfS8qIgorRklMRVNfYWxzYS1jb25mID0gIiR7ZGF0YWRpcn0vYWxzYS8iCisKK1JERVBFTkRTXyR7UE59X2NsYXNzLXRhcmdldCA9ICJhbHNhLWNvbmYiCisKKyMgdXBncmFkZSBwYXRoCitSUFJPVklERVNfJHtQTn0gPSAibGliYXNvdW5kIgorUlJFUExBQ0VTXyR7UE59ID0gImxpYmFzb3VuZCIKK1JDT05GTElDVFNfJHtQTn0gPSAibGliYXNvdW5kIgorCitSUFJPVklERVNfJHtQTn0tZGV2ID0gImFsc2EtZGV2IgorUlJFUExBQ0VTXyR7UE59LWRldiA9ICJhbHNhLWRldiIKK1JDT05GTElDVFNfJHtQTn0tZGV2ID0gImFsc2EtZGV2IgorCitSUFJPVklERVNfYWxzYS1jb25mID0gImFsc2EtY29uZi1iYXNlIgorUlJFUExBQ0VTX2Fsc2EtY29uZiA9ICJhbHNhLWNvbmYtYmFzZSIKK1JDT05GTElDVFNfYWxzYS1jb25mID0gImFsc2EtY29uZi1iYXNlIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS1wbHVnaW5zXzEuMS42LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2EtcGx1Z2luc18xLjEuNi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTdjMTg3OS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS1wbHVnaW5zXzEuMS42LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTAzICswLDAgQEAKLVNVTU1BUlkgPSAiQUxTQSBQbHVnaW5zIgotSE9NRVBBR0UgPSAiaHR0cDovL2Fsc2EtcHJvamVjdC5vcmciCi1CVUdUUkFDS0VSID0gImh0dHA6Ly9hbHNhLXByb2plY3Qub3JnL21haW4vaW5kZXgucGhwL0J1Z19UcmFja2luZyIKLVNFQ1RJT04gPSAibXVsdGltZWRpYSIKLQotIyBUaGUgcHJpbWFyeSBsaWNlbnNlIG9mIGFsc2EtcGx1Z2lucyBpcyBMR1BMdjIuMS4KLSMKLSMgbTQvYXR0cmlidXRlcy5tNCBpcyBsaWNlbnNlZCB1bmRlciBHUEx2MisuIG00L2F0dHJpYnV0ZXMubTQgaXMgcGFydCBvZiB0aGUKLSMgYnVpbGQgc3lzdGVtLCBhbmQgZG9lc24ndCBhZmZlY3QgdGhlIGxpY2Vuc2luZyBvZiB0aGUgYnVpbGQgcmVzdWx0LgotIwotIyBUaGUgc2FtcGxlcmF0ZSBwbHVnaW4gc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgR1BMdjIrIHRvIGJlIGNvbnNpc3RlbnQKLSMgd2l0aCB0aGUgbGlic2FtcGxlcmF0ZSBsaWNlbnNlLiBIb3dldmVyLCBpZiB0aGUgbGljZW5zZWUgaGFzIGEgY29tbWVyY2lhbAotIyBsaWNlbnNlIGZvciBsaWJzYW1wbGVyYXRlLCB0aGUgc2FtcGxlcmF0ZSBwbHVnaW4gbWF5IGJlIHVzZWQgdW5kZXIgdGhlIHRlcm1zCi0jIG9mIExHUEx2Mi4xIGxpa2UgdGhlIHJlc3Qgb2YgdGhlIHBsdWdpbnMuCi1MSUNFTlNFID0gIkxHUEx2Mi4xICYgR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJcCi0gICAgICAgIGZpbGU6Ly9DT1BZSU5HO21kNT1hOTE2NDY3YjkxMDc2ZTYzMWRkOGVkYjc0MjQ3NjljNyBcCi0gICAgICAgIGZpbGU6Ly9DT1BZSU5HLkdQTDttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIgXAotICAgICAgICBmaWxlOi8vbTQvYXR0cmlidXRlcy5tNDtlbmRsaW5lPTMzO21kNT1iMjU5NThkYTQ0YzAyMjMxZTM2NDFmMWJjY2VmNTNlYiBcCi0gICAgICAgIGZpbGU6Ly9yYXRlL3JhdGVfc2FtcGxlcmF0ZS5jO2VuZGxpbmU9MzU7bWQ1PWZkNzdiY2U4NWY0YTMzOGMwZThhYjE4NDMwYjY5ZmFlIFwKLSIKLQotU1JDX1VSSSA9ICJmdHA6Ly9mdHAuYWxzYS1wcm9qZWN0Lm9yZy9wdWIvcGx1Z2lucy8ke0JQfS50YXIuYnoyIgotU1JDX1VSSVttZDVzdW1dID0gIjgzODcyNzllOTlmZWViMmVjZmZhYWM1ZjI5MzIyM2Q3IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZmMWQzMWViZTNiMWZhMWNjOGRhZGU2MGI3YmVkMWNiMjU4M2FjOTk4MTY3MDAyZDM1MGRjMGE1ZTNlNDBjMTMiCi0KLURFUEVORFMgKz0gImFsc2EtbGliIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIlwKLSAgICAgICAgc2FtcGxlcmF0ZSBcCi0gICAgICAgIHNwZWV4ZHNwIFwKLSAgICAgICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAncHVsc2VhdWRpbycsIGQpfSBcCi0iCi1QQUNLQUdFQ09ORklHW2F2Y29kZWNdID0gIi0tZW5hYmxlLWF2Y29kZWMsLS1kaXNhYmxlLWF2Y29kZWMsbGliYXYiCi1QQUNLQUdFQ09ORklHW2phY2tdID0gIi0tZW5hYmxlLWphY2ssLS1kaXNhYmxlLWphY2ssamFjayIKLVBBQ0tBR0VDT05GSUdbbWFlbW8tcGx1Z2luXSA9ICItLWVuYWJsZS1tYWVtby1wbHVnaW4sLS1kaXNhYmxlLW1hZW1vLXBsdWdpbiIKLVBBQ0tBR0VDT05GSUdbbWFlbW8tcmVzb3VyY2UtbWFuYWdlcl0gPSAiLS1lbmFibGUtbWFlbW8tcmVzb3VyY2UtbWFuYWdlciwtLWRpc2FibGUtbWFlbW8tcmVzb3VyY2UtbWFuYWdlcixkYnVzIgotUEFDS0FHRUNPTkZJR1twdWxzZWF1ZGlvXSA9ICItLWVuYWJsZS1wdWxzZWF1ZGlvLC0tZGlzYWJsZS1wdWxzZWF1ZGlvLHB1bHNlYXVkaW8iCi1QQUNLQUdFQ09ORklHW3NhbXBsZXJhdGVdID0gIi0tZW5hYmxlLXNhbXBsZXJhdGUsLS1kaXNhYmxlLXNhbXBsZXJhdGUsbGlic2FtcGxlcmF0ZTAiCi1QQUNLQUdFQ09ORklHW3NwZWV4ZHNwXSA9ICItLXdpdGgtc3BlZXg9bGliLC0td2l0aC1zcGVleD1ubyxzcGVleGRzcCIKLQotUEFDS0FHRVMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B1bHNlYXVkaW8nLCAnYWxzYS1wbHVnaW5zLXB1bHNlYXVkaW8tY29uZicsICcnLCBkKX0iCi0KLVBBQ0tBR0VTX0RZTkFNSUMgPSAiXmxpYmFzb3VuZC1tb2R1bGUtLioiCi0KLSMgVGhlIGFsc2EtcGx1Z2lucyBwYWNrYWdlIGRvZXNuJ3QgaXRzZWxmIGNvbnRhaW4gYW55dGhpbmcsIGl0IGp1c3QgZGVwZW5kcyBvbgotIyBhbGwgYnVpbHQgcGx1Z2lucy4KLUFMTE9XX0VNUFRZXyR7UE59ID0gIjEiCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotCXJtICR7RH0ke2xpYmRpcn0vYWxzYS1saWIvKi5sYQotCi0JIyBXZSB1c2UgdGhlIGV4YW1wbGUgYXMgaXMsIHNvIGp1c3QgZHJvcCB0aGUgLmV4YW1wbGUgc3VmZml4LgotCWlmIFsgIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B1bHNlYXVkaW8nLCAneWVzJywgJ25vJywgZCl9IiA9ICJ5ZXMiIF07IHRoZW4KLQkJbXYgJHtEfSR7ZGF0YWRpcn0vYWxzYS9hbHNhLmNvbmYuZC85OS1wdWxzZWF1ZGlvLWRlZmF1bHQuY29uZi5leGFtcGxlICR7RH0ke2RhdGFkaXJ9L2Fsc2EvYWxzYS5jb25mLmQvOTktcHVsc2VhdWRpby1kZWZhdWx0LmNvbmYKLQlmaQotfQotCi1weXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCgpIHsKLSAgICBwbHVnaW5kaXIgPSBkLmV4cGFuZCgnJHtsaWJkaXJ9L2Fsc2EtbGliLycpCi0gICAgcGFja2FnZXMgPSAiICIuam9pbihkb19zcGxpdF9wYWNrYWdlcyhkLCBwbHVnaW5kaXIsICdebGliYXNvdW5kX21vZHVsZV8oLiopXC5zbyQnLCAnbGliYXNvdW5kLW1vZHVsZS0lcycsICdBbHNhIHBsdWdpbiBmb3IgJXMnLCBleHRyYV9kZXBlbmRzPScnKSkKLSAgICBkLnNldFZhcigiUkRFUEVORFNfYWxzYS1wbHVnaW5zIiwgcGFja2FnZXMpCi19Ci0KLSMgVGhlIHJhdGUgcGx1Z2lucyBjcmVhdGUgc29tZSBzeW1saW5rcy4gRm9yIGV4YW1wbGUsIHRoZSBzYW1wbGVyYXRlIHBsdWdpbgotIyBjcmVhdGVzIHRoZXNlIGxpbmtzIHRvIHRoZSBtYWluIHBsdWdpbiBmaWxlOgotIwotIyAgIGxpYmFzb3VuZF9tb2R1bGVfcmF0ZV9zYW1wbGVyYXRlX2Jlc3Quc28KLSMgICBsaWJhc291bmRfbW9kdWxlX3JhdGVfc2FtcGxlcmF0ZV9saW5lYXIuc28KLSMgICBsaWJhc291bmRfbW9kdWxlX3JhdGVfc2FtcGxlcmF0ZV9tZWRpdW0uc28KLSMgICBsaWJhc291bmRfbW9kdWxlX3JhdGVfc2FtcGxlcmF0ZV9vcmRlci5zbwotIwotIyBUaGUgb3RoZXIgcmF0ZSBwbHVnaW5zIGNyZWF0ZSBzaW1pbGFyIGxpbmtzLiBXZSBoYXZlIHRvIGFkZCB0aGUgbGlua3MgdG8KLSMgRklMRVMgbWFudWFsbHksIGJlY2F1c2UgZG9fc3BsaXRfcGFja2FnZXMoKSBza2lwcyB0aGUgbGlua3MgKHdoaWNoIGlzIGdvb2QsCi0jIGJlY2F1c2Ugd2Ugd291bGRuJ3Qgd2FudCBkb19zcGxpdF9wYWNrYWdlcygpIHRvIGNyZWF0ZSBzZXBhcmF0ZSBwYWNrYWdlcyBmb3IKLSMgdGhlIHN5bWxpbmtzKS4KLSMKLSMgVGhlIHN5bWxpbmtzIGNhdXNlIFFBIGVycm9ycywgYmVjYXVzZSB1c3VhbGx5IGl0J3MgYSBidWcgaWYgYSBub24KLSMgLWRldi8tZGJnLy1uYXRpdmVzZGsgcGFja2FnZSBjb250YWlucyBsaW5rcyB0byAuc28gZmlsZXMsIGJ1dCBpbiB0aGlzIGNhc2UKLSMgdGhlIGVycm9ycyBhcmUgZmFsc2UgcG9zaXRpdmVzLCBzbyB3ZSBkaXNhYmxlIHRoZSBRQSBjaGVja3MuCi1GSUxFU18ke01MUFJFRklYfWxpYmFzb3VuZC1tb2R1bGUtcmF0ZS1sYXZjcmF0ZSArPSAiJHtsaWJkaXJ9L2Fsc2EtbGliLypyYXRlX2xhdmNyYXRlXyouc28iCi1GSUxFU18ke01MUFJFRklYfWxpYmFzb3VuZC1tb2R1bGUtcmF0ZS1zYW1wbGVyYXRlICs9ICIke2xpYmRpcn0vYWxzYS1saWIvKnJhdGVfc2FtcGxlcmF0ZV8qLnNvIgotRklMRVNfJHtNTFBSRUZJWH1saWJhc291bmQtbW9kdWxlLXJhdGUtc3BlZXhyYXRlICs9ICIke2xpYmRpcn0vYWxzYS1saWIvKnJhdGVfc3BlZXhyYXRlXyouc28iCi1JTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmFzb3VuZC1tb2R1bGUtcmF0ZS1sYXZjcmF0ZSA9ICJkZXYtc28iCi1JTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmFzb3VuZC1tb2R1bGUtcmF0ZS1zYW1wbGVyYXRlID0gImRldi1zbyIKLUlOU0FORV9TS0lQXyR7TUxQUkVGSVh9bGliYXNvdW5kLW1vZHVsZS1yYXRlLXNwZWV4cmF0ZSA9ICJkZXYtc28iCi0KLSMgNTAtcHVsc2VhdWRpby5jb25mIGRlZmluZXMgYSBkZXZpY2UgbmFtZWQgInB1bHNlIiB0aGF0IGFwcGxpY2F0aW9ucyBjYW4gdXNlCi0jIGlmIHRoZXkgZXhwbGljaXRseSB3YW50IHRvIHVzZSB0aGUgUHVsc2VBdWRpbyBwbHVnaW4uCi0jIDk5LXB1bHNlYXVkaW8tZGVmYXVsdC5jb25mIGNvbmZpZ3VyZXMgdGhlICJkZWZhdWx0IiBkZXZpY2UgdG8gdXNlIHRoZQotIyBQdWxzZUF1ZGlvIHBsdWdpbi4KLUZJTEVTXyR7UE59LXB1bHNlYXVkaW8tY29uZiArPSAiXAotICAgICAgICAke2RhdGFkaXJ9L2Fsc2EvYWxzYS5jb25mLmQvNTAtcHVsc2VhdWRpby5jb25mIFwKLSAgICAgICAgJHtkYXRhZGlyfS9hbHNhL2Fsc2EuY29uZi5kLzk5LXB1bHNlYXVkaW8tZGVmYXVsdC5jb25mIFwKLSIKLQotUkRFUEVORFNfJHtQTn0tcHVsc2VhdWRpby1jb25mICs9ICJcCi0gICAgICAgIGxpYmFzb3VuZC1tb2R1bGUtY29uZi1wdWxzZSBcCi0gICAgICAgIGxpYmFzb3VuZC1tb2R1bGUtY3RsLXB1bHNlIFwKLSAgICAgICAgbGliYXNvdW5kLW1vZHVsZS1wY20tcHVsc2UgXAotIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2EtcGx1Z2luc18xLjEuOC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXBsdWdpbnNfMS4xLjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmQ5Y2MwNgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXBsdWdpbnNfMS4xLjguYmIKQEAgLTAsMCArMSwxNzMgQEAKK1NVTU1BUlkgPSAiQUxTQSBQbHVnaW5zIgorSE9NRVBBR0UgPSAiaHR0cDovL2Fsc2EtcHJvamVjdC5vcmciCitCVUdUUkFDS0VSID0gImh0dHA6Ly9hbHNhLXByb2plY3Qub3JnL21haW4vaW5kZXgucGhwL0J1Z19UcmFja2luZyIKK1NFQ1RJT04gPSAibXVsdGltZWRpYSIKKworIyBUaGUgcHJpbWFyeSBsaWNlbnNlIG9mIGFsc2EtcGx1Z2lucyBpcyBMR1BMdjIuMS4KKyMKKyMgbTQvYXR0cmlidXRlcy5tNCBpcyBsaWNlbnNlZCB1bmRlciBHUEx2MisuIG00L2F0dHJpYnV0ZXMubTQgaXMgcGFydCBvZiB0aGUKKyMgYnVpbGQgc3lzdGVtLCBhbmQgZG9lc24ndCBhZmZlY3QgdGhlIGxpY2Vuc2luZyBvZiB0aGUgYnVpbGQgcmVzdWx0LgorIworIyBUaGUgc2FtcGxlcmF0ZSBwbHVnaW4gc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgR1BMdjIrIHRvIGJlIGNvbnNpc3RlbnQKKyMgd2l0aCB0aGUgbGlic2FtcGxlcmF0ZSBsaWNlbnNlLiBIb3dldmVyLCBpZiB0aGUgbGljZW5zZWUgaGFzIGEgY29tbWVyY2lhbAorIyBsaWNlbnNlIGZvciBsaWJzYW1wbGVyYXRlLCB0aGUgc2FtcGxlcmF0ZSBwbHVnaW4gbWF5IGJlIHVzZWQgdW5kZXIgdGhlIHRlcm1zCisjIG9mIExHUEx2Mi4xIGxpa2UgdGhlIHJlc3Qgb2YgdGhlIHBsdWdpbnMuCitMSUNFTlNFID0gIkxHUEx2Mi4xICYgR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJcCisgICAgICAgIGZpbGU6Ly9DT1BZSU5HO21kNT1hOTE2NDY3YjkxMDc2ZTYzMWRkOGVkYjc0MjQ3NjljNyBcCisgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkdQTDttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIgXAorICAgICAgICBmaWxlOi8vbTQvYXR0cmlidXRlcy5tNDtlbmRsaW5lPTMzO21kNT1iMjU5NThkYTQ0YzAyMjMxZTM2NDFmMWJjY2VmNTNlYiBcCisgICAgICAgIGZpbGU6Ly9yYXRlL3JhdGVfc2FtcGxlcmF0ZS5jO2VuZGxpbmU9MzU7bWQ1PWZkNzdiY2U4NWY0YTMzOGMwZThhYjE4NDMwYjY5ZmFlIFwKKyIKKworU1JDX1VSSSA9ICJodHRwczovL3d3dy5hbHNhLXByb2plY3Qub3JnL2ZpbGVzL3B1Yi9wbHVnaW5zLyR7QlB9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiZDBmODcyMTFkMTU2MGYyYzA3YzhlYWU0Mjk3YmM0ZjYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2Y3N2RmMTcxNjg1Y2NlYzkxODI2ODQ3NzYyM2EzOWRiNGQ5ZjMyZDVkYzVlNzY4NzRlZjI0NjdhMjQwNTk5NCIKKworREVQRU5EUyArPSAiYWxzYS1saWIiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitQQUNLQUdFQ09ORklHID8/PSAiXAorICAgICAgICBzYW1wbGVyYXRlIFwKKyAgICAgICAgc3BlZXhkc3AgXAorICAgICAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdwdWxzZWF1ZGlvJywgZCl9IFwKKyIKK1BBQ0tBR0VDT05GSUdbYWFmXSA9ICItLWVuYWJsZS1hYWYsLS1kaXNhYmxlLWFhZixhdnRwIgorUEFDS0FHRUNPTkZJR1tqYWNrXSA9ICItLWVuYWJsZS1qYWNrLC0tZGlzYWJsZS1qYWNrLGphY2siCitQQUNLQUdFQ09ORklHW2xpYmF2XSA9ICItLWVuYWJsZS1saWJhdiwtLWRpc2FibGUtbGliYXYsbGliYXYiCitQQUNLQUdFQ09ORklHW21hZW1vLXBsdWdpbl0gPSAiLS1lbmFibGUtbWFlbW8tcGx1Z2luLC0tZGlzYWJsZS1tYWVtby1wbHVnaW4iCitQQUNLQUdFQ09ORklHW21hZW1vLXJlc291cmNlLW1hbmFnZXJdID0gIi0tZW5hYmxlLW1hZW1vLXJlc291cmNlLW1hbmFnZXIsLS1kaXNhYmxlLW1hZW1vLXJlc291cmNlLW1hbmFnZXIsZGJ1cyIKK1BBQ0tBR0VDT05GSUdbcHVsc2VhdWRpb10gPSAiLS1lbmFibGUtcHVsc2VhdWRpbywtLWRpc2FibGUtcHVsc2VhdWRpbyxwdWxzZWF1ZGlvIgorUEFDS0FHRUNPTkZJR1tzYW1wbGVyYXRlXSA9ICItLWVuYWJsZS1zYW1wbGVyYXRlLC0tZGlzYWJsZS1zYW1wbGVyYXRlLGxpYnNhbXBsZXJhdGUwIgorUEFDS0FHRUNPTkZJR1tzcGVleGRzcF0gPSAiLS13aXRoLXNwZWV4PWxpYiwtLXdpdGgtc3BlZXg9bm8sc3BlZXhkc3AiCisKK1BBQ0tBR0VTICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdwdWxzZWF1ZGlvJywgJ2Fsc2EtcGx1Z2lucy1wdWxzZWF1ZGlvLWNvbmYnLCAnJywgZCl9IgorCitQQUNLQUdFU19EWU5BTUlDID0gIl5saWJhc291bmQtbW9kdWxlLS4qIgorCisjIFRoZSBhbHNhLXBsdWdpbnMgcGFja2FnZSBkb2Vzbid0IGl0c2VsZiBjb250YWluIGFueXRoaW5nLCBpdCBqdXN0IGRlcGVuZHMgb24KKyMgYWxsIGJ1aWx0IHBsdWdpbnMuCitGSUxFU18ke1BOfSA9ICIiCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKwlybSAke0R9JHtsaWJkaXJ9L2Fsc2EtbGliLyoubGEKKworCWlmIFsgIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B1bHNlYXVkaW8nLCAneWVzJywgJ25vJywgZCl9IiA9ICJ5ZXMiIF07IHRoZW4KKwkJIyBXZSB1c2UgdGhlIGV4YW1wbGUgYXMgaXMuIFVwc3RyZWFtIGluc3RhbGxzIHRoZSBmaWxlIHVuZGVyCisJCSMgL2V0YywgYnV0IHdlIG1vdmUgaXQgdW5kZXIgL3Vzci9zaGFyZSBhbmQgYWRkIGEgc3ltbGluayB1bmRlcgorCQkjIC9ldGMgdG8gYmUgY29uc2lzdGVudCB3aXRoIG90aGVyIGluc3RhbGxlZCBjb25maWd1cmF0aW9uCisJCSMgZmlsZXMuCisJCW12ICR7RH0ke3N5c2NvbmZkaXJ9L2Fsc2EvY29uZi5kLzk5LXB1bHNlYXVkaW8tZGVmYXVsdC5jb25mLmV4YW1wbGUgJHtEfSR7ZGF0YWRpcn0vYWxzYS9hbHNhLmNvbmYuZC85OS1wdWxzZWF1ZGlvLWRlZmF1bHQuY29uZgorCQlsbiAtcyAke2RhdGFkaXJ9L2Fsc2EvYWxzYS5jb25mLmQvOTktcHVsc2VhdWRpby1kZWZhdWx0LmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vYWxzYS9jb25mLmQvOTktcHVsc2VhdWRpby1kZWZhdWx0LmNvbmYKKwlmaQorfQorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCgpIHsKKyAgICBwbHVnaW5kaXIgPSBkLmV4cGFuZCgnJHtsaWJkaXJ9L2Fsc2EtbGliLycpCisgICAgcGFja2FnZXMgPSAiICIuam9pbihkb19zcGxpdF9wYWNrYWdlcyhkLCBwbHVnaW5kaXIsIHInXmxpYmFzb3VuZF9tb2R1bGVfKC4qKVwuc28kJywgJ2xpYmFzb3VuZC1tb2R1bGUtJXMnLCAnQWxzYSBwbHVnaW4gZm9yICVzJywgZXh0cmFfZGVwZW5kcz0nJykpCisgICAgZC5zZXRWYXIoIlJERVBFTkRTX2Fsc2EtcGx1Z2lucyIsIHBhY2thZ2VzKQorfQorCisjIE1hbnkgcGx1Z2lucyBoYXZlIGEgY29uZmlndXJhdGlvbiBmaWxlIChwbHVzIGEgc3ltbGluayBpbiAvZXRjKSBhc3NvY2lhdGVkCisjIHdpdGggdGhlbS4gV2UgcHV0IHRoZSBwbHVnaW4gYW5kIGl0J3MgY29uZmlndXJhdGlvbiB1c3VhbGx5IGluIHRoZSBzYW1lCisjIHBhY2thZ2UsIGJ1dCB0aGF0J3MgcHJvYmxlbWF0aWMgd2hlbiB0aGUgY29uZmlndXJhdGlvbiBmaWxlIGlzIHJlbGF0ZWQgdG8KKyMgbXVsdGlwbGUgcGx1Z2lucywgYXMgaXMgdGhlIGNhc2Ugd2l0aCB0aGUgcHVsc2UsIG9zcyBhbmQgbWFlbW8gcGx1Z2lucy4gSW4KKyMgY2FzZSBvZiB0aGUgcHVsc2UgcGx1Z2lucywgd2UgaGF2ZSBhIHNlcGFyYXRlIGFsc2EtcGx1Z2lucy1wdWxzZWF1ZGlvLWNvbmYKKyMgcGFja2FnZSB0aGF0IGRlcGVuZHMgb24gYWxsIHRoZSBwdWxzZSBwbHVnaW5zLCB3aGljaCBlbnN1cmVzIHRoYXQgYWxsIHBsdWdpbnMKKyMgdGhhdCB0aGUgY29uZmlndXJhdGlvbiByZWZlcmVuY2VzIGFyZSBpbnN0YWxsZWQuIFRoZSBvc3MgYW5kIG1hZW1vCisjIGNvbmZpZ3VyYXRpb24gZmlsZXMsIG9uIHRoZSBvdGhlciBoYW5kLCBhcmUgaW4gdGhlIHJlc3BlY3RpdmUgcGNtIHBsdWdpbgorIyBwYWNrYWdlcy4gVGhlcmVmb3JlIGl0J3MgcG9zc2libGUgdG8gaW5zdGFsbCB0aGUgY29uZmlndXJhdGlvbiBmaWxlIHdpdGhvdXQKKyMgdGhlIGN0bCBwbHVnaW4gdGhhdCB0aGUgY29uZmlndXJhdGlvbiBmaWxlIHJlZmVyZW5jZXMuIFRoaXMgaXMgdW5saWtlbHkgdG8KKyMgY2F1c2UgYmlnIHByb2JsZW1zLCBidXQgc29tZSBraW5kIG9mIGltcHJvdmVtZW50IHRvIHRoZSBwYWNrYWdpbmcgY291bGQKKyMgcHJvYmFibHkgYmUgZG9uZSBoZXJlIChhdCBsZWFzdCBpdCB3b3VsZCBiZSBnb29kIHRvIGhhbmRsZSB0aGUgZGlmZmVyZW50CisjIHBsdWdpbnMgaW4gYSBjb25zaXN0ZW50IHdheSkuCitGSUxFU18ke01MUFJFRklYfWxpYmFzb3VuZC1tb2R1bGUtY3RsLWFyY2FtLWF2ICs9ICJcCisgICAgICAgICR7ZGF0YWRpcn0vYWxzYS9hbHNhLmNvbmYuZC81MC1hcmNhbS1hdi1jdGwuY29uZiBcCisgICAgICAgICR7c3lzY29uZmRpcn0vYWxzYS9jb25mLmQvNTAtYXJjYW0tYXYtY3RsLmNvbmYgXAorIgorRklMRVNfJHtNTFBSRUZJWH1saWJhc291bmQtbW9kdWxlLXBjbS1hNTIgKz0gIlwKKyAgICAgICAgJHtkYXRhZGlyfS9hbHNhL2Fsc2EuY29uZi5kLzYwLWE1Mi1lbmNvZGVyLmNvbmYgXAorICAgICAgICAke3N5c2NvbmZkaXJ9L2Fsc2EvY29uZi5kLzYwLWE1Mi1lbmNvZGVyLmNvbmYgXAorIgorRklMRVNfJHtNTFBSRUZJWH1saWJhc291bmQtbW9kdWxlLXBjbS1hbHNhLWRzcCArPSAiXAorICAgICAgICAke2RhdGFkaXJ9L2Fsc2EvYWxzYS5jb25mLmQvOTgtbWFlbW8uY29uZiBcCisgICAgICAgICR7c3lzY29uZmRpcn0vYWxzYS9jb25mLmQvOTgtbWFlbW8uY29uZiBcCisiCitGSUxFU18ke01MUFJFRklYfWxpYmFzb3VuZC1tb2R1bGUtcGNtLWphY2sgKz0gIlwKKyAgICAgICAgJHtkYXRhZGlyfS9hbHNhL2Fsc2EuY29uZi5kLzUwLWphY2suY29uZiBcCisgICAgICAgICR7c3lzY29uZmRpcn0vYWxzYS9jb25mLmQvNTAtamFjay5jb25mIFwKKyIKK0ZJTEVTXyR7TUxQUkVGSVh9bGliYXNvdW5kLW1vZHVsZS1wY20tb3NzICs9ICJcCisgICAgICAgICR7ZGF0YWRpcn0vYWxzYS9hbHNhLmNvbmYuZC81MC1vc3MuY29uZiBcCisgICAgICAgICR7c3lzY29uZmRpcn0vYWxzYS9jb25mLmQvNTAtb3NzLmNvbmYgXAorIgorRklMRVNfJHtNTFBSRUZJWH1saWJhc291bmQtbW9kdWxlLXBjbS1zcGVleCArPSAiXAorICAgICAgICAke2RhdGFkaXJ9L2Fsc2EvYWxzYS5jb25mLmQvNjAtc3BlZXguY29uZiBcCisgICAgICAgICR7c3lzY29uZmRpcn0vYWxzYS9jb25mLmQvNjAtc3BlZXguY29uZiBcCisiCitGSUxFU18ke01MUFJFRklYfWxpYmFzb3VuZC1tb2R1bGUtcGNtLXVwbWl4ICs9ICJcCisgICAgICAgICR7ZGF0YWRpcn0vYWxzYS9hbHNhLmNvbmYuZC82MC11cG1peC5jb25mIFwKKyAgICAgICAgJHtzeXNjb25mZGlyfS9hbHNhL2NvbmYuZC82MC11cG1peC5jb25mIFwKKyIKK0ZJTEVTXyR7TUxQUkVGSVh9bGliYXNvdW5kLW1vZHVsZS1wY20tdXNiLXN0cmVhbSArPSAiXAorICAgICAgICAke2RhdGFkaXJ9L2Fsc2EvYWxzYS5jb25mLmQvOTgtdXNiLXN0cmVhbS5jb25mIFwKKyAgICAgICAgJHtzeXNjb25mZGlyfS9hbHNhL2NvbmYuZC85OC11c2Itc3RyZWFtLmNvbmYgXAorIgorRklMRVNfJHtNTFBSRUZJWH1saWJhc291bmQtbW9kdWxlLXBjbS12ZG93bm1peCArPSAiXAorICAgICAgICAke2RhdGFkaXJ9L2Fsc2EvYWxzYS5jb25mLmQvNjAtdmRvd25taXguY29uZiBcCisgICAgICAgICR7c3lzY29uZmRpcn0vYWxzYS9jb25mLmQvNjAtdmRvd25taXguY29uZiBcCisiCitGSUxFU18ke01MUFJFRklYfWxpYmFzb3VuZC1tb2R1bGUtcmF0ZS1sYXZyYXRlICs9ICJcCisgICAgICAgICR7ZGF0YWRpcn0vYWxzYS9hbHNhLmNvbmYuZC8xMC1yYXRlLWxhdi5jb25mIFwKKyAgICAgICAgJHtzeXNjb25mZGlyfS9hbHNhL2NvbmYuZC8xMC1yYXRlLWxhdi5jb25mIFwKKyIKK0ZJTEVTXyR7TUxQUkVGSVh9bGliYXNvdW5kLW1vZHVsZS1yYXRlLXNhbXBsZXJhdGUgKz0gIlwKKyAgICAgICAgJHtkYXRhZGlyfS9hbHNhL2Fsc2EuY29uZi5kLzEwLXNhbXBsZXJhdGUuY29uZiBcCisgICAgICAgICR7c3lzY29uZmRpcn0vYWxzYS9jb25mLmQvMTAtc2FtcGxlcmF0ZS5jb25mIFwKKyIKK0ZJTEVTXyR7TUxQUkVGSVh9bGliYXNvdW5kLW1vZHVsZS1yYXRlLXNwZWV4cmF0ZSArPSAiXAorICAgICAgICAke2RhdGFkaXJ9L2Fsc2EvYWxzYS5jb25mLmQvMTAtc3BlZXhyYXRlLmNvbmYgXAorICAgICAgICAke3N5c2NvbmZkaXJ9L2Fsc2EvY29uZi5kLzEwLXNwZWV4cmF0ZS5jb25mIFwKKyIKKworIyBUaGUgcmF0ZSBwbHVnaW5zIGNyZWF0ZSBzb21lIHN5bWxpbmtzLiBGb3IgZXhhbXBsZSwgdGhlIHNhbXBsZXJhdGUgcGx1Z2luCisjIGNyZWF0ZXMgdGhlc2UgbGlua3MgdG8gdGhlIG1haW4gcGx1Z2luIGZpbGU6CisjCisjICAgbGliYXNvdW5kX21vZHVsZV9yYXRlX3NhbXBsZXJhdGVfYmVzdC5zbworIyAgIGxpYmFzb3VuZF9tb2R1bGVfcmF0ZV9zYW1wbGVyYXRlX2xpbmVhci5zbworIyAgIGxpYmFzb3VuZF9tb2R1bGVfcmF0ZV9zYW1wbGVyYXRlX21lZGl1bS5zbworIyAgIGxpYmFzb3VuZF9tb2R1bGVfcmF0ZV9zYW1wbGVyYXRlX29yZGVyLnNvCisjCisjIFRoZSBvdGhlciByYXRlIHBsdWdpbnMgY3JlYXRlIHNpbWlsYXIgbGlua3MuIFdlIGhhdmUgdG8gYWRkIHRoZSBsaW5rcyB0bworIyBGSUxFUyBtYW51YWxseSwgYmVjYXVzZSBkb19zcGxpdF9wYWNrYWdlcygpIHNraXBzIHRoZSBsaW5rcyAod2hpY2ggaXMgZ29vZCwKKyMgYmVjYXVzZSB3ZSB3b3VsZG4ndCB3YW50IGRvX3NwbGl0X3BhY2thZ2VzKCkgdG8gY3JlYXRlIHNlcGFyYXRlIHBhY2thZ2VzIGZvcgorIyB0aGUgc3ltbGlua3MpLgorIworIyBUaGUgc3ltbGlua3MgY2F1c2UgUUEgZXJyb3JzLCBiZWNhdXNlIHVzdWFsbHkgaXQncyBhIGJ1ZyBpZiBhIG5vbgorIyAtZGV2Ly1kYmcvLW5hdGl2ZXNkayBwYWNrYWdlIGNvbnRhaW5zIGxpbmtzIHRvIC5zbyBmaWxlcywgYnV0IGluIHRoaXMgY2FzZQorIyB0aGUgZXJyb3JzIGFyZSBmYWxzZSBwb3NpdGl2ZXMsIHNvIHdlIGRpc2FibGUgdGhlIFFBIGNoZWNrcy4KK0ZJTEVTXyR7TUxQUkVGSVh9bGliYXNvdW5kLW1vZHVsZS1yYXRlLWxhdnJhdGUgKz0gIiR7bGliZGlyfS9hbHNhLWxpYi8qcmF0ZV9sYXZyYXRlXyouc28iCitGSUxFU18ke01MUFJFRklYfWxpYmFzb3VuZC1tb2R1bGUtcmF0ZS1zYW1wbGVyYXRlICs9ICIke2xpYmRpcn0vYWxzYS1saWIvKnJhdGVfc2FtcGxlcmF0ZV8qLnNvIgorRklMRVNfJHtNTFBSRUZJWH1saWJhc291bmQtbW9kdWxlLXJhdGUtc3BlZXhyYXRlICs9ICIke2xpYmRpcn0vYWxzYS1saWIvKnJhdGVfc3BlZXhyYXRlXyouc28iCitJTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmFzb3VuZC1tb2R1bGUtcmF0ZS1sYXZyYXRlID0gImRldi1zbyIKK0lOU0FORV9TS0lQXyR7TUxQUkVGSVh9bGliYXNvdW5kLW1vZHVsZS1yYXRlLXNhbXBsZXJhdGUgPSAiZGV2LXNvIgorSU5TQU5FX1NLSVBfJHtNTFBSRUZJWH1saWJhc291bmQtbW9kdWxlLXJhdGUtc3BlZXhyYXRlID0gImRldi1zbyIKKworIyA1MC1wdWxzZWF1ZGlvLmNvbmYgZGVmaW5lcyBhIGRldmljZSBuYW1lZCAicHVsc2UiIHRoYXQgYXBwbGljYXRpb25zIGNhbiB1c2UKKyMgaWYgdGhleSBleHBsaWNpdGx5IHdhbnQgdG8gdXNlIHRoZSBQdWxzZUF1ZGlvIHBsdWdpbi4KKyMgOTktcHVsc2VhdWRpby1kZWZhdWx0LmNvbmYgY29uZmlndXJlcyB0aGUgImRlZmF1bHQiIGRldmljZSB0byB1c2UgdGhlCisjIFB1bHNlQXVkaW8gcGx1Z2luLgorRklMRVNfJHtQTn0tcHVsc2VhdWRpby1jb25mICs9ICJcCisgICAgICAgICR7ZGF0YWRpcn0vYWxzYS9hbHNhLmNvbmYuZC81MC1wdWxzZWF1ZGlvLmNvbmYgXAorICAgICAgICAke2RhdGFkaXJ9L2Fsc2EvYWxzYS5jb25mLmQvOTktcHVsc2VhdWRpby1kZWZhdWx0LmNvbmYgXAorICAgICAgICAke3N5c2NvbmZkaXJ9L2Fsc2EvY29uZi5kLzUwLXB1bHNlYXVkaW8uY29uZiBcCisgICAgICAgICR7c3lzY29uZmRpcn0vYWxzYS9jb25mLmQvOTktcHVsc2VhdWRpby1kZWZhdWx0LmNvbmYgXAorIgorCitSREVQRU5EU18ke1BOfS1wdWxzZWF1ZGlvLWNvbmYgKz0gIlwKKyAgICAgICAgbGliYXNvdW5kLW1vZHVsZS1jb25mLXB1bHNlIFwKKyAgICAgICAgbGliYXNvdW5kLW1vZHVsZS1jdGwtcHVsc2UgXAorICAgICAgICBsaWJhc291bmQtbW9kdWxlLXBjbS1wdWxzZSBcCisiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS10b29scy8wMDAyLUZpeC1jbGFuZy1XcmVzZXJ2ZWQtdXNlci1kZWZpbmVkLWxpdGVyYWwtd2FybmluZ3MucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS10b29scy8wMDAyLUZpeC1jbGFuZy1XcmVzZXJ2ZWQtdXNlci1kZWZpbmVkLWxpdGVyYWwtd2FybmluZ3MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMxMzdiYzguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2EtdG9vbHMvMDAwMi1GaXgtY2xhbmctV3Jlc2VydmVkLXVzZXItZGVmaW5lZC1saXRlcmFsLXdhcm5pbmdzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotRnJvbSBhODYxYmRhYmYwMmNkOWJmYjNlYzdjMDU3MWM1NjNjMGZhMTRhZGZiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMjQgQXByIDIwMTggMTI6MjQ6MzIgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gdXM0Mjhjb250cm9sOiBGaXggY2xhbmcgLVdyZXNlcnZlZC11c2VyLWRlZmluZWQtbGl0ZXJhbAotIHdhcm5pbmdzCi0KLXwgdXM0Mjhjb250cm9sLmNjOjY2OjE4OiBlcnJvcjogaW52YWxpZCBzdWZmaXggb24gbGl0ZXJhbDsgQysrMTEgcmVxdWlyZXMgYSBzcGFjZSBiZXR3ZWVuIGxpdGVyYWwgYW5kIGlkZW50aWZpZXIgWy1XcmVzZXJ2ZWQtdXNlci1kZWZpbmVkLWxpdGVyYWxdCi18ICAgICAgICAgcHJpbnRmKCJ1c2FnZTogIlBST0dOQU1FIiBbLXYgdmVyYm9zaXR5X2xldmVsIDAuLjJdIFstYyBjYXJkXSBbLUQgZGV2aWNlXSBbLXUgdXNiLWRldmljZV0gWy1tIG1vZGVdXG4iKTsKLXwgICAgICAgICAgICAgICAgICAgICAgICAgXgotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogVGFrYXNoaSBJd2FpIDx0aXdhaUBzdXNlLmRlPgotLS0tCi0gdXM0Mjhjb250cm9sL3VzNDI4Y29udHJvbC5jYyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3VzNDI4Y29udHJvbC91czQyOGNvbnRyb2wuY2MgYi91czQyOGNvbnRyb2wvdXM0Mjhjb250cm9sLmNjCi1pbmRleCBlODM5YmY0Li44Y2IzYzQyIDEwMDY0NAotLS0tIGEvdXM0Mjhjb250cm9sL3VzNDI4Y29udHJvbC5jYwotKysrIGIvdXM0Mjhjb250cm9sL3VzNDI4Y29udHJvbC5jYwotQEAgLTYzLDcgKzYzLDcgQEAgc3RhdGljIHZvaWQgdXNhZ2Uodm9pZCkKLSB7Ci0gCXByaW50ZigiVGFzY2FtIFVTLTQyOCBDb250cm9sXG4iKTsKLSAJcHJpbnRmKCJ2ZXJzaW9uICVzXG4iLCBWRVJTSU9OKTsKLS0JcHJpbnRmKCJ1c2FnZTogIlBST0dOQU1FIiBbLXYgdmVyYm9zaXR5X2xldmVsIDAuLjJdIFstYyBjYXJkXSBbLUQgZGV2aWNlXSBbLXUgdXNiLWRldmljZV0gWy1tIG1vZGVdXG4iKTsKLSsJcHJpbnRmKCJ1c2FnZTogIiBQUk9HTkFNRSAiIFstdiB2ZXJib3NpdHlfbGV2ZWwgMC4uMl0gWy1jIGNhcmRdIFstRCBkZXZpY2VdIFstdSB1c2ItZGV2aWNlXSBbLW0gbW9kZV1cbiIpOwotIAlwcmludGYoIm1vZGUgaXMgb25lIG9mICh1czIyNCwgdXM0MjgsIG1peHh4KVxuIik7Ci0gfQotIC8qCi0tLSAKLTEuNy4xMS43CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS10b29scy9tdXNsLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2EtdG9vbHMvbXVzbC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWViMTI5Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS10b29scy9tdXNsLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotRnJvbSAyMzVkOWM1ZTgzODE1MThiMGE4NjYxNzg2ZTdlMGNiZGQxYmJjZDAxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLURhdGU6IFR1ZSwgMTIgSnVuIDIwMTggMTM6MjQ6MzQgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gbGQxMGsxOiBkZWZpbmUgX0dOVV9TT1VSQ0UgYW5kIHVzZSBzaWdoYW5kbGVyX3QKLQotX19zaWdoYW5kbGVyX3QgaXMgYSBnbGliYyBpbnRlcm5hbCB0eXBlIHdoaWNoIGRvZXNuJ3QgZXhpc3QgaW4gbXVzbC4gIEJ5IHVzaW5nCi1BQ19VU0VfU1lTVEVNX0VYVEVOU0lPTlMgdG8gZ2V0IF9HTlVfU09VUkNFIGRlZmluZWQsIGJvdGggZ2xpYmMgYW5kIG11c2wKLXRoZW4gZXhwb3NlIHNpZ2hhbmRsZXJfdC4KLQotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IFRha2FzaGkgSXdhaSA8dGl3YWlAc3VzZS5kZT4KLS0tLQotIGxkMTBrMS9jb25maWd1cmUuYWMgICAgICB8IDEgKwotIGxkMTBrMS9zcmMvbGQxMGsxX2ZuYzEuYyB8IDIgKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvbGQxMGsxL2NvbmZpZ3VyZS5hYyBiL2xkMTBrMS9jb25maWd1cmUuYWMKLWluZGV4IDI3NmIyNGUuLmY0OGNhMzEgMTAwNjQ0Ci0tLS0gYS9sZDEwazEvY29uZmlndXJlLmFjCi0rKysgYi9sZDEwazEvY29uZmlndXJlLmFjCi1AQCAtNCw2ICs0LDcgQEAgQUNfQ09ORklHX01BQ1JPX0RJUihbbTRdKQotIEFNX01BSU5UQUlORVJfTU9ERShbZW5hYmxlXSkKLSAKLSBBQ19DT05GSUdfSEVBREVSUyhjb25maWcuaCkKLStBQ19VU0VfU1lTVEVNX0VYVEVOU0lPTlMKLSBBQ19QUk9HX0NDCi0gQUNfUFJPR19MRAotIEFDX1BST0dfSU5TVEFMTAotZGlmZiAtLWdpdCBhL2xkMTBrMS9zcmMvbGQxMGsxX2ZuYzEuYyBiL2xkMTBrMS9zcmMvbGQxMGsxX2ZuYzEuYwotaW5kZXggMzQzNTg0Yy4uZGRjNDNjNiAxMDA2NDQKLS0tLSBhL2xkMTBrMS9zcmMvbGQxMGsxX2ZuYzEuYwotKysrIGIvbGQxMGsxL3NyYy9sZDEwazFfZm5jMS5jCi1AQCAtMTc5LDcgKzE3OSw3IEBAIGludCBtYWluX2xvb3AoY29tbV9wYXJhbSAqcGFyYW0sIGludCBhdWRpZ3ksIGNvbnN0IGNoYXIgKmNhcmRfaWQsIGludCB0cmFtX3NpemUsCi0gewotIAlmZF9zZXQgYWN0aXZlX2ZkX3NldC8qLCByZWFkX2ZkX3NldCovOwotIAlpbnQgaSwgaiwgcmVzID0gMDsKLS0JX19zaWdoYW5kbGVyX3Qgb2xkX3NpZ19waXBlOwotKwlzaWdoYW5kbGVyX3Qgb2xkX3NpZ19waXBlOwotIAotIAlpbnQgbWFpbl9zb2NrID0gMDsKLSAJaW50IGRhdGFfc29jayA9IDA7Ci0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS10b29sc18xLjEuNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXRvb2xzXzEuMS42LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MGU1NGRiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXRvb2xzXzEuMS42LmJiCisrKyAvZGV2L251bGwKQEAgLTEsODcgKzAsMCBAQAotU1VNTUFSWSA9ICJBZHZhbmNlZCB0b29scyBmb3IgY2VydGFpbiBBTFNBIHNvdW5kIGNhcmQgZHJpdmVycyIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuYWxzYS1wcm9qZWN0Lm9yZyIKLUJVR1RSQUNLRVIgPSAiaHR0cDovL2Fsc2EtcHJvamVjdC5vcmcvbWFpbi9pbmRleC5waHAvQnVnX1RyYWNraW5nIgotU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgotTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2MisiCi1ERVBFTkRTID0gImFsc2EtbGliIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9oZHNwbG9hZGVyL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xkMTBrMS9DT1BZSU5HLkxJQjttZDU9YTkxNjQ2N2I5MTA3NmU2MzFkZDhlZGI3NDI0NzY5YzcgXAotICAgICAgICAgICAgICAgICAgICAiCi0KLVNSQ19VUkkgPSAiZnRwOi8vZnRwLmFsc2EtcHJvamVjdC5vcmcvcHViL3Rvb2xzLyR7QlB9LnRhci5iejIgXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1GaXgtY2xhbmctV3Jlc2VydmVkLXVzZXItZGVmaW5lZC1saXRlcmFsLXdhcm5pbmdzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL211c2wucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI1Y2E4Yzk0MzdhZTc3OTk5N2NkNjJmYjI4MTVmZWYxOSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJkNjljNGRjMmZiNjQxYTk3NGQ5OTAzZTllYjc4Yzk0Y2IwYzdhYzZjNDViYWU2NjRmMGM5ZDZjMGExNTkzMjI3IgotCi1pbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnCi0jIGJyb2tlbnNlcCBhcyBhczEwazEgKGFuZCBwcm9iYWJseSBtb3JlKSBmYWlsIG91dCBvZiB0cmVlCi1DTEVBTkJST0tFTiA9ICIxIgotCi0jIEhlcmUgd2UgdXNlIFBBQ0tBR0VDT05GSUcgb3B0aW9ucyB0byBwaWNrIHdoaWNoIGRpcmVjdG9yaWVzIHdlIGNvbmZpZ3VyZS9idWlsZC4KLSMgUmVtZW1iZXIgb24gdXBncmFkZXMgdG8gY2hlY2sgdGhhdCBubyBuZXcgdG9vbHMgaGF2ZSBiZWVuIGFkZGVkLgotUEFDS0FHRUNPTkZJRyA/Pz0gImFzMTBrMSBoZGFqYWNrc2Vuc2V0ZXN0IGhkYS12ZXJiIGhkc3Bsb2FkZXIgbGQxMGsxIG1peGFydGxvYWRlciBwY3hocmxvYWRlciBcCi0gICAgICAgICAgICAgICAgICAgc2IxNl9jc3Agc2VxLS1zYmlsb2FkIHNzY2FwZV9jdGwgdXM0Mjhjb250cm9sIHVzeDJ5bG9hZGVyIHZ4bG9hZGVyIFwKLSAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWluc19hbnkoJ0RJU1RST19GRUFUVVJFUycsICcke0dUSzJESVNUUk9GRUFUVVJFU30nLCAnZWNob21peGVyIGVudnkyNGNvbnRyb2wgcm1lZGlnaWNvbnRyb2wnLCAnJywgZCl9IFwKLSAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWluc19hbnkoJ0RJU1RST19GRUFUVVJFUycsICcke0dUSzNESVNUUk9GRUFUVVJFU30nLCAnaGRhamFja3JldGFzaycsICcnLCBkKX0gXAotICAgICAgICAgICAgICAgICAgICIKLQotUEFDS0FHRUNPTkZJR1thczEwazFdID0gIiIKLVBBQ0tBR0VDT05GSUdbZWNob21peGVyXSA9ICIsLGd0aysiCi1QQUNLQUdFQ09ORklHW2VudnkyNGNvbnRyb2xdID0gIiwsZ3RrKyIKLVBBQ0tBR0VDT05GSUdbaGRhLXZlcmJdID0gIiIKLVBBQ0tBR0VDT05GSUdbaGRhamFja3JldGFza10gPSAiLCxndGsrMyIKLVBBQ0tBR0VDT05GSUdbaGRhamFja3NlbnNldGVzdF0gPSAiLCxnbGliLTIuMCIKLVBBQ0tBR0VDT05GSUdbaGRzcGNvbmZdID0gIiwsZmx0ayIKLVBBQ0tBR0VDT05GSUdbaGRzcGxvYWRlcl0gPSAiIgotUEFDS0FHRUNPTkZJR1toZHNwbWl4ZXJdID0gIiwsZmx0ayIKLVBBQ0tBR0VDT05GSUdbaHdtaXh2b2x1bWVdID0gIiwsLHB5dGhvbi1jb3JlIHB5dGhvbi1weWd0ayIKLVBBQ0tBR0VDT05GSUdbbGQxMGsxXSA9ICIiCi1QQUNLQUdFQ09ORklHW21peGFydGxvYWRlcl0gPSAiIgotUEFDS0FHRUNPTkZJR1twY3hocmxvYWRlcl0gPSAiIgotUEFDS0FHRUNPTkZJR1txbG8xMGsxXSA9ICIsLHF0LXgxMS1mcmVlIgotUEFDS0FHRUNPTkZJR1tybWVkaWdpY29udHJvbF0gPSAiLCxndGsrIgotUEFDS0FHRUNPTkZJR1tzYjE2X2NzcF0gPSAiIgotUEFDS0FHRUNPTkZJR1tzZXEtLXNiaWxvYWRdID0gIiIKLVBBQ0tBR0VDT05GSUdbc3NjYXBlX2N0bF0gPSAiIgotUEFDS0FHRUNPTkZJR1t1czQyOGNvbnRyb2xdID0gIiIKLVBBQ0tBR0VDT05GSUdbdXN4Mnlsb2FkZXJdID0gIiIKLVBBQ0tBR0VDT05GSUdbdnhsb2FkZXJdID0gIiIKLQotcHl0aG9uIGRvX2NvbmZpZ3VyZSgpIHsKLSAgICBmb3Igc3ViZGlyIGluIGQuZ2V0VmFyKCJQQUNLQUdFQ09ORklHIikuc3BsaXQoKToKLSAgICAgICAgc3ViZGlyID0gc3ViZGlyLnJlcGxhY2UoIi0tIiwgIi8iKQotICAgICAgICBiYi5ub3RlKCJDb25maWd1cmluZyAlcyIgJSBzdWJkaXIpCi0gICAgICAgIGRkID0gZC5jcmVhdGVDb3B5KCkKLSAgICAgICAgZGQuc2V0VmFyKCJTIiwgb3MucGF0aC5qb2luKGQuZ2V0VmFyKCJTIiksIHN1YmRpcikpCi0gICAgICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygiYXV0b3Rvb2xzX2RvX2NvbmZpZ3VyZSIsIGRkKQotfQotCi1weXRob24gZG9fY29tcGlsZSgpIHsKLSAgICBmb3Igc3ViZGlyIGluIGQuZ2V0VmFyKCJQQUNLQUdFQ09ORklHIikuc3BsaXQoKToKLSAgICAgICAgc3ViZGlyID0gc3ViZGlyLnJlcGxhY2UoIi0tIiwgIi8iKQotICAgICAgICBiYi5ub3RlKCJDb21waWxpbmcgJXMiICUgc3ViZGlyKQotICAgICAgICBkZCA9IGQuY3JlYXRlQ29weSgpCi0gICAgICAgIGRkLnNldFZhcigiUyIsIG9zLnBhdGguam9pbihkLmdldFZhcigiUyIpLCBzdWJkaXIpKQotICAgICAgICBiYi5idWlsZC5leGVjX2Z1bmMoImF1dG90b29sc19kb19jb21waWxlIiwgZGQpCi19Ci0KLXB5dGhvbiBkb19pbnN0YWxsKCkgewotICAgIGZvciBzdWJkaXIgaW4gZC5nZXRWYXIoIlBBQ0tBR0VDT05GSUciKS5zcGxpdCgpOgotICAgICAgICBzdWJkaXIgPSBzdWJkaXIucmVwbGFjZSgiLS0iLCAiLyIpCi0gICAgICAgIGJiLm5vdGUoIkluc3RhbGxpbmcgJXMiICUgc3ViZGlyKQotICAgICAgICBkZCA9IGQuY3JlYXRlQ29weSgpCi0gICAgICAgIGRkLnNldFZhcigiUyIsIG9zLnBhdGguam9pbihkLmdldFZhcigiUyIpLCBzdWJkaXIpKQotICAgICAgICBiYi5idWlsZC5leGVjX2Z1bmMoImF1dG90b29sc19kb19pbnN0YWxsIiwgZGQpCi0KLSAgICAjIEp1c3QgcmVtb3ZlIGJhc2gtbmVlZGluZyBpbml0IHNjcmlwdCB0aGF0IGlzbid0IGluc3RhbGxlZCBhcyBhbiBpbml0IHNjcmlwdAotICAgIHRyeToKLSAgICAgICAgb3MucmVtb3ZlKG9lLnBhdGguam9pbihkLmdldFZhcigiRCIpLCBkLmdldFZhcigic2JpbmRpciIpLCAibGQxMGsxZCIpKQotICAgIGV4Y2VwdDoKLSAgICAgICAgcGFzcwotfQotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXRvb2xzXzEuMS43LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2EtdG9vbHNfMS4xLjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTFiNTBmYQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXRvb2xzXzEuMS43LmJiCkBAIC0wLDAgKzEsODcgQEAKK1NVTU1BUlkgPSAiQWR2YW5jZWQgdG9vbHMgZm9yIGNlcnRhaW4gQUxTQSBzb3VuZCBjYXJkIGRyaXZlcnMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmFsc2EtcHJvamVjdC5vcmciCitCVUdUUkFDS0VSID0gImh0dHA6Ly9hbHNhLXByb2plY3Qub3JnL21haW4vaW5kZXgucGhwL0J1Z19UcmFja2luZyIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0xJQ0VOU0UgPSAiR1BMdjIgJiBMR1BMdjIrIgorREVQRU5EUyA9ICJhbHNhLWxpYiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vaGRzcGxvYWRlci9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9sZDEwazEvQ09QWUlORy5MSUI7bWQ1PWE5MTY0NjdiOTEwNzZlNjMxZGQ4ZWRiNzQyNDc2OWM3IFwKKyAgICAgICAgICAgICAgICAgICAgIgorCitTUkNfVVJJID0gImh0dHBzOi8vd3d3LmFsc2EtcHJvamVjdC5vcmcvZmlsZXMvcHViL3Rvb2xzLyR7QlB9LnRhci5iejIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0NzViZGY2NDU3YmNmNTVjOGM4OTVkNjUzZWU1NmE1NCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhMDI0MzMyOGE4ZjZmNjkxYTMwNTVjNDg0ZmQ4ZDMzMjYzOTMwOTYzMjVlOTM3NDNiMjQ2MDI5ZDMyN2M0ZWY2IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnCisjIGJyb2tlbnNlcCBhcyBhczEwazEgKGFuZCBwcm9iYWJseSBtb3JlKSBmYWlsIG91dCBvZiB0cmVlCitDTEVBTkJST0tFTiA9ICIxIgorCisjIEhlcmUgd2UgdXNlIFBBQ0tBR0VDT05GSUcgb3B0aW9ucyB0byBwaWNrIHdoaWNoIGRpcmVjdG9yaWVzIHdlIGNvbmZpZ3VyZS9idWlsZC4KKyMgUmVtZW1iZXIgb24gdXBncmFkZXMgdG8gY2hlY2sgdGhhdCBubyBuZXcgdG9vbHMgaGF2ZSBiZWVuIGFkZGVkLgorUEFDS0FHRUNPTkZJRyA/Pz0gImFzMTBrMSBoZGFqYWNrc2Vuc2V0ZXN0IGhkYS12ZXJiIGhkc3Bsb2FkZXIgbGQxMGsxIG1peGFydGxvYWRlciBwY3hocmxvYWRlciBcCisgICAgICAgICAgICAgICAgICAgc2IxNl9jc3Agc2VxLS1zYmlsb2FkIHNzY2FwZV9jdGwgdXM0Mjhjb250cm9sIHVzeDJ5bG9hZGVyIHZ4bG9hZGVyIFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWluc19hbnkoJ0RJU1RST19GRUFUVVJFUycsICcke0dUSzJESVNUUk9GRUFUVVJFU30nLCAnZWNob21peGVyIGVudnkyNGNvbnRyb2wgcm1lZGlnaWNvbnRyb2wnLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWluc19hbnkoJ0RJU1RST19GRUFUVVJFUycsICcke0dUSzNESVNUUk9GRUFUVVJFU30nLCAnaGRhamFja3JldGFzaycsICcnLCBkKX0gXAorICAgICAgICAgICAgICAgICAgICIKKworUEFDS0FHRUNPTkZJR1thczEwazFdID0gIiIKK1BBQ0tBR0VDT05GSUdbZWNob21peGVyXSA9ICIsLGd0aysiCitQQUNLQUdFQ09ORklHW2VudnkyNGNvbnRyb2xdID0gIiwsZ3RrKyIKK1BBQ0tBR0VDT05GSUdbaGRhLXZlcmJdID0gIiIKK1BBQ0tBR0VDT05GSUdbaGRhamFja3JldGFza10gPSAiLCxndGsrMyIKK1BBQ0tBR0VDT05GSUdbaGRhamFja3NlbnNldGVzdF0gPSAiLCxnbGliLTIuMCIKK1BBQ0tBR0VDT05GSUdbaGRzcGNvbmZdID0gIiwsZmx0ayIKK1BBQ0tBR0VDT05GSUdbaGRzcGxvYWRlcl0gPSAiIgorUEFDS0FHRUNPTkZJR1toZHNwbWl4ZXJdID0gIiwsZmx0ayIKK1BBQ0tBR0VDT05GSUdbbGQxMGsxXSA9ICIiCitQQUNLQUdFQ09ORklHW21peGFydGxvYWRlcl0gPSAiIgorUEFDS0FHRUNPTkZJR1twY3hocmxvYWRlcl0gPSAiIgorUEFDS0FHRUNPTkZJR1txbG8xMGsxXSA9ICIsLHF0LXgxMS1mcmVlIgorUEFDS0FHRUNPTkZJR1tybWVkaWdpY29udHJvbF0gPSAiLCxndGsrIgorUEFDS0FHRUNPTkZJR1tzYjE2X2NzcF0gPSAiIgorUEFDS0FHRUNPTkZJR1tzZXEtLXNiaWxvYWRdID0gIiIKK1BBQ0tBR0VDT05GSUdbc3NjYXBlX2N0bF0gPSAiIgorUEFDS0FHRUNPTkZJR1t1czQyOGNvbnRyb2xdID0gIiIKK1BBQ0tBR0VDT05GSUdbdXN4Mnlsb2FkZXJdID0gIiIKK1BBQ0tBR0VDT05GSUdbdnhsb2FkZXJdID0gIiIKKworIyBBdCB0aGUgdGltZSBvZiB3cml0aW5nIHB5YWxzYSBpcyBub3QgcGFja2FnZWQgZm9yIE9FLCBzbyB0aGlzIGlzIG5vdCBleHBlY3RlZAorIyB0byB3b3JrLgorUEFDS0FHRUNPTkZJR1tod21peHZvbHVtZV0gPSAiLCwscHl0aG9uLWNvcmUgcHl0aG9uLXB5Z29iamVjdCBweWFsc2EiCisKK3B5dGhvbiBkb19jb25maWd1cmUoKSB7CisgICAgZm9yIHN1YmRpciBpbiBkLmdldFZhcigiUEFDS0FHRUNPTkZJRyIpLnNwbGl0KCk6CisgICAgICAgIHN1YmRpciA9IHN1YmRpci5yZXBsYWNlKCItLSIsICIvIikKKyAgICAgICAgYmIubm90ZSgiQ29uZmlndXJpbmcgJXMiICUgc3ViZGlyKQorICAgICAgICBkZCA9IGQuY3JlYXRlQ29weSgpCisgICAgICAgIGRkLnNldFZhcigiUyIsIG9zLnBhdGguam9pbihkLmdldFZhcigiUyIpLCBzdWJkaXIpKQorICAgICAgICBiYi5idWlsZC5leGVjX2Z1bmMoImF1dG90b29sc19kb19jb25maWd1cmUiLCBkZCkKK30KKworcHl0aG9uIGRvX2NvbXBpbGUoKSB7CisgICAgZm9yIHN1YmRpciBpbiBkLmdldFZhcigiUEFDS0FHRUNPTkZJRyIpLnNwbGl0KCk6CisgICAgICAgIHN1YmRpciA9IHN1YmRpci5yZXBsYWNlKCItLSIsICIvIikKKyAgICAgICAgYmIubm90ZSgiQ29tcGlsaW5nICVzIiAlIHN1YmRpcikKKyAgICAgICAgZGQgPSBkLmNyZWF0ZUNvcHkoKQorICAgICAgICBkZC5zZXRWYXIoIlMiLCBvcy5wYXRoLmpvaW4oZC5nZXRWYXIoIlMiKSwgc3ViZGlyKSkKKyAgICAgICAgYmIuYnVpbGQuZXhlY19mdW5jKCJhdXRvdG9vbHNfZG9fY29tcGlsZSIsIGRkKQorfQorCitweXRob24gZG9faW5zdGFsbCgpIHsKKyAgICBmb3Igc3ViZGlyIGluIGQuZ2V0VmFyKCJQQUNLQUdFQ09ORklHIikuc3BsaXQoKToKKyAgICAgICAgc3ViZGlyID0gc3ViZGlyLnJlcGxhY2UoIi0tIiwgIi8iKQorICAgICAgICBiYi5ub3RlKCJJbnN0YWxsaW5nICVzIiAlIHN1YmRpcikKKyAgICAgICAgZGQgPSBkLmNyZWF0ZUNvcHkoKQorICAgICAgICBkZC5zZXRWYXIoIlMiLCBvcy5wYXRoLmpvaW4oZC5nZXRWYXIoIlMiKSwgc3ViZGlyKSkKKyAgICAgICAgYmIuYnVpbGQuZXhlY19mdW5jKCJhdXRvdG9vbHNfZG9faW5zdGFsbCIsIGRkKQorCisgICAgIyBKdXN0IHJlbW92ZSBiYXNoLW5lZWRpbmcgaW5pdCBzY3JpcHQgdGhhdCBpc24ndCBpbnN0YWxsZWQgYXMgYW4gaW5pdCBzY3JpcHQKKyAgICB0cnk6CisgICAgICAgIG9zLnJlbW92ZShvZS5wYXRoLmpvaW4oZC5nZXRWYXIoIkQiKSwgZC5nZXRWYXIoInNiaW5kaXIiKSwgImxkMTBrMWQiKSkKKyAgICBleGNlcHQ6CisgICAgICAgIHBhc3MKK30KKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS11dGlscy1zY3JpcHRzXzEuMS42LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2EtdXRpbHMtc2NyaXB0c18xLjEuOC5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2EtdXRpbHMtc2NyaXB0c18xLjEuNi5iYgpyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2EtdXRpbHMtc2NyaXB0c18xLjEuOC5iYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2EtdXRpbHNfMS4xLjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS11dGlsc18xLjEuNi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjhiYTBjYi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS11dGlsc18xLjEuNi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEwNyArMCwwIEBACi1TVU1NQVJZID0gIkFMU0Egc291bmQgdXRpbGl0aWVzIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5hbHNhLXByb2plY3Qub3JnIgotQlVHVFJBQ0tFUiA9ICJodHRwOi8vYWxzYS1wcm9qZWN0Lm9yZy9tYWluL2luZGV4LnBocC9CdWdfVHJhY2tpbmciCi1TRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCi1MSUNFTlNFID0gIkdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2Fsc2FjdGwvdXRpbHMuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTIwO21kNT0yY2U3ZjdiNjczOTQ4N2ZiNzJjNjg5ZDQ2NTIxZjk1OCIKLURFUEVORFMgPSAiYWxzYS1saWIgbmN1cnNlcyBsaWJzYW1wbGVyYXRlMCIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gInVkZXYiCi0KLSMgYWxzYWJhdCBjYW4gYmUgYnVpbHQgYWxzbyB3aXRob3V0IGZmdHcgc3VwcG9ydCAod2l0aCByZWR1Y2VkIGZ1bmN0aW9uYWxpdHkpLgotIyBJdCB3b3VsZCBiZSBiZXR0ZXIgdG8gYWx3YXlzIGVuYWJsZSBhbHNhYmF0LCBidXQgcHJvdmlkZSBhbiBvcHRpb24gZm9yCi0jIGVuYWJsaW5nL2Rpc2FibGluZyBmZnR3LiBUaGUgY29uZmlndXJlIHNjcmlwdCBkb2Vzbid0IHN1cHBvcnQgdGhhdCwgaG93ZXZlcgotIyAoYXQgbGVhc3QgaW4gYW55IG9idmlvdXMgd2F5KSwgc28gZm9yIG5vdyB3ZSBvbmx5IHN1cHBvcnQgYWxzYWJhdCB3aXRoIGZmdHcKLSMgb3Igbm8gYWxzYWJhdCBhdCBhbGwuCi1QQUNLQUdFQ09ORklHW2JhdF0gPSAiLS1lbmFibGUtYmF0LC0tZGlzYWJsZS1iYXQsZmZ0d2YiCi0KLVBBQ0tBR0VDT05GSUdbdWRldl0gPSAiLS13aXRoLXVkZXYtcnVsZXMtZGlyPWBwa2ctY29uZmlnIC0tdmFyaWFibGU9dWRldmRpciB1ZGV2YC9ydWxlcy5kLC0td2l0aC11ZGV2LXJ1bGVzLWRpcj0vdW53YW50ZWQvcnVsZXMuZCx1ZGV2IgotUEFDS0FHRUNPTkZJR1ttYW5wYWdlc10gPSAiLS1lbmFibGUteG1sdG8sIC0tZGlzYWJsZS14bWx0bywgeG1sdG8tbmF0aXZlIGRvY2Jvb2steG1sLWR0ZDQtbmF0aXZlIGRvY2Jvb2steHNsLXN0eWxlc2hlZXRzLW5hdGl2ZSIKLQotU1JDX1VSSSA9ICJmdHA6Ly9mdHAuYWxzYS1wcm9qZWN0Lm9yZy9wdWIvdXRpbHMvYWxzYS11dGlscy0ke1BWfS50YXIuYnoyIFwKLSAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI1MGFlNzU1Njc0NTk2NDZiODQzYmVkNzhkOTE2YjAwMiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIxNTVjYWVjYzQwYjIyMjBmNjg2ZjM0YmEzNjU1YTUzZTNiZGJjMDU4NmFkYjEwNTY3MzM5NDlmZWFhZjdkMzZlIgotCi0jIE9uIGJ1aWxkIG1hY2hpbmVzIHdpdGggcHl0aG9uLWRvY3V0aWxzIChub3QgcHl0aG9uMy1kb2N1dGlscyAhISkgaW5zdGFsbGVkCi0jIHJzdDJtYW4gKG5vdCByc3QybWFuLnB5KSBpcyBkZXRlY3RlZCBhbmQgY29tcGlsZSBmYWlscyB3aXRoCi0jIHwgbWFrZVsxXTogKioqIE5vIHJ1bGUgdG8gbWFrZSB0YXJnZXQgJ2Fsc2F1Y20uMScsIG5lZWRlZCBieSAnYWxsLWFtJy4gIFN0b3AuCi0jIEF2b2lkIHRoaXMgYnkgZGlzYWJsaW5nIGV4cGljaXRseQotRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1yc3QybWFuIgotCi1pbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBrZ2NvbmZpZyBtYW5wYWdlcwotCi0jIFRoaXMgYXJlIGFsbCBwYWNrYWdlcyB0aGF0IHdlIG5lZWQgdG8gbWFrZS4gQWxzbywgdGhlIG5vdyBlbXB0eSBhbHNhLXV0aWxzCi0jIGlwayBkZXBlbmRzIG9uIHRoZW0uCi0KLUFMU0FfVVRJTFNfUEtHUyA9ICJcCi0gICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnYmF0JywgJ2Fsc2EtdXRpbHMtYWxzYWJhdCcsICcnLCBkKX0gXAotICAgICAgICAgICAgIGFsc2EtdXRpbHMtYWxzYW1peGVyIFwKLSAgICAgICAgICAgICBhbHNhLXV0aWxzLWFsc2F0cGxnIFwKLSAgICAgICAgICAgICBhbHNhLXV0aWxzLW1pZGkgXAotICAgICAgICAgICAgIGFsc2EtdXRpbHMtYXBsYXkgXAotICAgICAgICAgICAgIGFsc2EtdXRpbHMtYW1peGVyIFwKLSAgICAgICAgICAgICBhbHNhLXV0aWxzLWFjb25uZWN0IFwKLSAgICAgICAgICAgICBhbHNhLXV0aWxzLWllY3NldCBcCi0gICAgICAgICAgICAgYWxzYS11dGlscy1zcGVha2VydGVzdCBcCi0gICAgICAgICAgICAgYWxzYS11dGlscy1hc2VxbmV0IFwKLSAgICAgICAgICAgICBhbHNhLXV0aWxzLWFzZXFkdW1wIFwKLSAgICAgICAgICAgICBhbHNhLXV0aWxzLWFsc2FjdGwgXAotICAgICAgICAgICAgIGFsc2EtdXRpbHMtYWxzYWxvb3AgXAotICAgICAgICAgICAgIGFsc2EtdXRpbHMtYWxzYXVjbSBcCi0gICAgICAgICAgICAiCi0KLVBBQ0tBR0VTICs9ICIke0FMU0FfVVRJTFNfUEtHU30iCi1SREVQRU5EU18ke1BOfSArPSAiJHtBTFNBX1VUSUxTX1BLR1N9IgotCi1GSUxFU18ke1BOfSA9ICIiCi1GSUxFU19hbHNhLXV0aWxzLWFsc2FiYXQgICAgID0gIiR7YmluZGlyfS9hbHNhYmF0IgotRklMRVNfYWxzYS11dGlscy1hbHNhdHBsZyAgICA9ICIke2JpbmRpcn0vYWxzYXRwbGciCi1GSUxFU19hbHNhLXV0aWxzLWFwbGF5ICAgICAgID0gIiR7YmluZGlyfS9hcGxheSAke2JpbmRpcn0vYXJlY29yZCIKLUZJTEVTX2Fsc2EtdXRpbHMtYW1peGVyICAgICAgPSAiJHtiaW5kaXJ9L2FtaXhlciIKLUZJTEVTX2Fsc2EtdXRpbHMtYWxzYW1peGVyICAgPSAiJHtiaW5kaXJ9L2Fsc2FtaXhlciIKLUZJTEVTX2Fsc2EtdXRpbHMtc3BlYWtlcnRlc3QgPSAiJHtiaW5kaXJ9L3NwZWFrZXItdGVzdCAke2RhdGFkaXJ9L3NvdW5kcy9hbHNhLyAke2RhdGFkaXJ9L2Fsc2Evc3BlYWtlci10ZXN0LyIKLUZJTEVTX2Fsc2EtdXRpbHMtbWlkaSAgICAgICAgPSAiJHtiaW5kaXJ9L2FwbGF5bWlkaSAke2JpbmRpcn0vYXJlY29yZG1pZGkgJHtiaW5kaXJ9L2FtaWRpIgotRklMRVNfYWxzYS11dGlscy1hY29ubmVjdCAgICA9ICIke2JpbmRpcn0vYWNvbm5lY3QiCi1GSUxFU19hbHNhLXV0aWxzLWFzZXFuZXQgICAgID0gIiR7YmluZGlyfS9hc2VxbmV0IgotRklMRVNfYWxzYS11dGlscy1pZWNzZXQgICAgICA9ICIke2JpbmRpcn0vaWVjc2V0IgotRklMRVNfYWxzYS11dGlscy1hbHNhY3RsICAgICA9ICIke3NiaW5kaXJ9L2Fsc2FjdGwgKi91ZGV2L3J1bGVzLmQgKi8qL3VkZXYvcnVsZXMuZCAke3N5c3RlbWRfdW5pdGRpcn0gJHtsb2NhbHN0YXRlZGlyfS9saWIvYWxzYSAke2RhdGFkaXJ9L2Fsc2EvaW5pdC8iCi1GSUxFU19hbHNhLXV0aWxzLWFzZXFkdW1wICAgID0gIiR7YmluZGlyfS9hc2VxZHVtcCIKLUZJTEVTX2Fsc2EtdXRpbHMtYWxzYWxvb3AgICAgPSAiJHtiaW5kaXJ9L2Fsc2Fsb29wIgotRklMRVNfYWxzYS11dGlscy1hbHNhdWNtICAgICA9ICIke2JpbmRpcn0vYWxzYXVjbSIKLQotU1VNTUFSWV9hbHNhLXV0aWxzLWFsc2FiYXQgICAgICA9ICJDb21tYW5kLWxpbmUgc291bmQgdGVzdGVyIGZvciBBTFNBIHNvdW5kIGNhcmQgZHJpdmVyIgotU1VNTUFSWV9hbHNhLXV0aWxzLWFsc2F0cGxnICAgICA9ICJDb252ZXJ0cyB0b3BvbG9neSB0ZXh0IGZpbGVzIGludG8gYmluYXJ5IGZvcm1hdCBmb3Iga2VybmVsIgotU1VNTUFSWV9hbHNhLXV0aWxzLWFwbGF5ICAgICAgICA9ICJQbGF5IChhbmQgcmVjb3JkKSBzb3VuZCBmaWxlcyB1c2luZyBBTFNBIgotU1VNTUFSWV9hbHNhLXV0aWxzLWFtaXhlciAgICAgICA9ICJDb21tYW5kLWxpbmUgY29udHJvbCBmb3IgQUxTQSBtaXhlciBhbmQgc2V0dGluZ3MiCi1TVU1NQVJZX2Fsc2EtdXRpbHMtYWxzYW1peGVyICAgID0gIm5jdXJzZXMtYmFzZWQgY29udHJvbCBmb3IgQUxTQSBtaXhlciBhbmQgc2V0dGluZ3MiCi1TVU1NQVJZX2Fsc2EtdXRpbHMtc3BlYWtlcnRlc3QgID0gIkFMU0Egc3Vycm91bmQgc3BlYWtlciB0ZXN0IHV0aWxpdHkiCi1TVU1NQVJZX2Fsc2EtdXRpbHMtbWlkaSAgICAgICAgID0gIk1pc2NlbGxhbmVvdXMgTUlESSB1dGlsaXRpZXMgZm9yIEFMU0EiCi1TVU1NQVJZX2Fsc2EtdXRpbHMtYWNvbm5lY3QgICAgID0gIkFMU0Egc2VxdWVuY2VyIGNvbm5lY3Rpb24gbWFuYWdlciIKLVNVTU1BUllfYWxzYS11dGlscy1hc2VxbmV0ICAgICAgPSAiTmV0d29yayBjbGllbnQvc2VydmVyIGZvciBBTFNBIHNlcXVlbmNlciIKLVNVTU1BUllfYWxzYS11dGlscy1pZWNzZXQgICAgICAgPSAiQUxTQSB1dGlsaXR5IGZvciBzZXR0aW5nL3Nob3dpbmcgSUVDOTU4IChTL1BESUYpIHN0YXR1cyBiaXRzIgotU1VNTUFSWV9hbHNhLXV0aWxzLWFsc2FjdGwgICAgICA9ICJTYXZlcy9yZXN0b3JlcyBBTFNBLXNldHRpbmdzIGluIC9ldGMvYXNvdW5kLnN0YXRlIgotU1VNTUFSWV9hbHNhLXV0aWxzLWFzZXFkdW1wICAgICA9ICJTaG93cyB0aGUgZXZlbnRzIHJlY2VpdmVkIGF0IGFuIEFMU0Egc2VxdWVuY2VyIHBvcnQiCi1TVU1NQVJZX2Fsc2EtdXRpbHMtYWxzYWxvb3AgICAgID0gIkFMU0EgUENNIGxvb3BiYWNrIHV0aWxpdHkiCi1TVU1NQVJZX2Fsc2EtdXRpbHMtYWxzYXVjbSAgICAgID0gIkFMU0EgVXNlIENhc2UgTWFuYWdlciIKLQotUlJFQ09NTUVORFNfYWxzYS11dGlscy1hbHNhY3RsID0gImFsc2Etc3RhdGVzIgotCi1BTExPV19FTVBUWV9hbHNhLXV0aWxzID0gIjEiCi0KLWRvX2luc3RhbGwoKSB7Ci0JYXV0b3Rvb2xzX2RvX2luc3RhbGwKLQotCSMgV2UgZG9uJ3Qgc2hpcCB0aGlzIGhlcmUgYmVjYXVzZSBpdCByZXF1aXJlcyBhIGRlcGVuZGVuY3kgb24gYmFzaC4KLQkjIFNlZSBhbHNhLXV0aWxzLXNjcmlwdHNfJHtQVn0uYmIKLQlybSAke0R9JHtzYmluZGlyfS9hbHNhY29uZgotCXJtICR7RH0ke3NiaW5kaXJ9L2Fsc2EtaW5mby5zaAotCXJtIC1mICR7RH0ke3NiaW5kaXJ9L2Fsc2FiYXQtdGVzdC5zaAotCi0JIyBJZiB1ZGV2IGlzIGRpc2FibGVkLCB3ZSB0b2xkIGNvbmZpZ3VyZSB0byBpbnN0YWxsIHRoZSBydWxlcwotCSMgaW4gL3Vud2FudGVkLCBzbyB3ZSBjYW4gcmVtb3ZlIHRoZW0gbm93LiBJZiB1ZGV2IGlzIGVuYWJsZWQsCi0JIyB0aGVuIC91bndhbnRlZCB3b24ndCBleGlzdCBhbmQgdGhpcyB3aWxsIGhhdmUgbm8gZWZmZWN0LgotCXJtIC1yZiAke0R9L3Vud2FudGVkCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS11dGlsc18xLjEuOC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXV0aWxzXzEuMS44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2ZDU0ZTUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS11dGlsc18xLjEuOC5iYgpAQCAtMCwwICsxLDEwNiBAQAorU1VNTUFSWSA9ICJBTFNBIHNvdW5kIHV0aWxpdGllcyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuYWxzYS1wcm9qZWN0Lm9yZyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL2Fsc2EtcHJvamVjdC5vcmcvbWFpbi9pbmRleC5waHAvQnVnX1RyYWNraW5nIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9hbHNhY3RsL3V0aWxzLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0yMDttZDU9MmNlN2Y3YjY3Mzk0ODdmYjcyYzY4OWQ0NjUyMWY5NTgiCitERVBFTkRTID0gImFsc2EtbGliIG5jdXJzZXMgbGlic2FtcGxlcmF0ZTAiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJ1ZGV2IgorCisjIGFsc2FiYXQgY2FuIGJlIGJ1aWx0IGFsc28gd2l0aG91dCBmZnR3IHN1cHBvcnQgKHdpdGggcmVkdWNlZCBmdW5jdGlvbmFsaXR5KS4KKyMgSXQgd291bGQgYmUgYmV0dGVyIHRvIGFsd2F5cyBlbmFibGUgYWxzYWJhdCwgYnV0IHByb3ZpZGUgYW4gb3B0aW9uIGZvcgorIyBlbmFibGluZy9kaXNhYmxpbmcgZmZ0dy4gVGhlIGNvbmZpZ3VyZSBzY3JpcHQgZG9lc24ndCBzdXBwb3J0IHRoYXQsIGhvd2V2ZXIKKyMgKGF0IGxlYXN0IGluIGFueSBvYnZpb3VzIHdheSksIHNvIGZvciBub3cgd2Ugb25seSBzdXBwb3J0IGFsc2FiYXQgd2l0aCBmZnR3CisjIG9yIG5vIGFsc2FiYXQgYXQgYWxsLgorUEFDS0FHRUNPTkZJR1tiYXRdID0gIi0tZW5hYmxlLWJhdCwtLWRpc2FibGUtYmF0LGZmdHdmIgorCitQQUNLQUdFQ09ORklHW3VkZXZdID0gIi0td2l0aC11ZGV2LXJ1bGVzLWRpcj1gcGtnLWNvbmZpZyAtLXZhcmlhYmxlPXVkZXZkaXIgdWRldmAvcnVsZXMuZCwtLXdpdGgtdWRldi1ydWxlcy1kaXI9L3Vud2FudGVkL3J1bGVzLmQsdWRldiIKK1BBQ0tBR0VDT05GSUdbbWFucGFnZXNdID0gIi0tZW5hYmxlLXhtbHRvLCAtLWRpc2FibGUteG1sdG8sIHhtbHRvLW5hdGl2ZSBkb2Nib29rLXhtbC1kdGQ0LW5hdGl2ZSBkb2Nib29rLXhzbC1zdHlsZXNoZWV0cy1uYXRpdmUiCisKKyMgYWxzYS11dGlscyBzcGVjaWZpZWQgaW4gU1JDX1VSSSBkdWUgdG8gYWxzYS11dGlscy1zY3JpcHRzIHJlY2lwZQorU1JDX1VSSSA9ICJodHRwczovL3d3dy5hbHNhLXByb2plY3Qub3JnL2ZpbGVzL3B1Yi91dGlscy9hbHNhLXV0aWxzLSR7UFZ9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiNTRkNmY5YjQ4MzE0NDgyM2QwZmMwYzI2ZThjZWEwMjgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZmQ5YmY1Mjg5MjJiMzgyOWE5MTkxM2I4OWExODU4YzU4YTBiMjQyNzFhN2I1ZjUyOTkyM2FhOWVhMTJmYTRjZiIKKworIyBPbiBidWlsZCBtYWNoaW5lcyB3aXRoIHB5dGhvbi1kb2N1dGlscyAobm90IHB5dGhvbjMtZG9jdXRpbHMgISEpIGluc3RhbGxlZAorIyByc3QybWFuIChub3QgcnN0Mm1hbi5weSkgaXMgZGV0ZWN0ZWQgYW5kIGNvbXBpbGUgZmFpbHMgd2l0aAorIyB8IG1ha2VbMV06ICoqKiBObyBydWxlIHRvIG1ha2UgdGFyZ2V0ICdhbHNhdWNtLjEnLCBuZWVkZWQgYnkgJ2FsbC1hbScuICBTdG9wLgorIyBBdm9pZCB0aGlzIGJ5IGRpc2FibGluZyBleHBpY2l0bHkKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtcnN0Mm1hbiIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcgbWFucGFnZXMKKworIyBUaGlzIGFyZSBhbGwgcGFja2FnZXMgdGhhdCB3ZSBuZWVkIHRvIG1ha2UuIEFsc28sIHRoZSBub3cgZW1wdHkgYWxzYS11dGlscworIyBpcGsgZGVwZW5kcyBvbiB0aGVtLgorCitBTFNBX1VUSUxTX1BLR1MgPSAiXAorICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2JhdCcsICdhbHNhLXV0aWxzLWFsc2FiYXQnLCAnJywgZCl9IFwKKyAgICAgICAgICAgICBhbHNhLXV0aWxzLWFsc2FtaXhlciBcCisgICAgICAgICAgICAgYWxzYS11dGlscy1hbHNhdHBsZyBcCisgICAgICAgICAgICAgYWxzYS11dGlscy1taWRpIFwKKyAgICAgICAgICAgICBhbHNhLXV0aWxzLWFwbGF5IFwKKyAgICAgICAgICAgICBhbHNhLXV0aWxzLWFtaXhlciBcCisgICAgICAgICAgICAgYWxzYS11dGlscy1hY29ubmVjdCBcCisgICAgICAgICAgICAgYWxzYS11dGlscy1pZWNzZXQgXAorICAgICAgICAgICAgIGFsc2EtdXRpbHMtc3BlYWtlcnRlc3QgXAorICAgICAgICAgICAgIGFsc2EtdXRpbHMtYXNlcW5ldCBcCisgICAgICAgICAgICAgYWxzYS11dGlscy1hc2VxZHVtcCBcCisgICAgICAgICAgICAgYWxzYS11dGlscy1hbHNhY3RsIFwKKyAgICAgICAgICAgICBhbHNhLXV0aWxzLWFsc2Fsb29wIFwKKyAgICAgICAgICAgICBhbHNhLXV0aWxzLWFsc2F1Y20gXAorICAgICAgICAgICAgIgorCitQQUNLQUdFUyArPSAiJHtBTFNBX1VUSUxTX1BLR1N9IgorUkRFUEVORFNfJHtQTn0gKz0gIiR7QUxTQV9VVElMU19QS0dTfSIKKworRklMRVNfJHtQTn0gPSAiIgorRklMRVNfYWxzYS11dGlscy1hbHNhYmF0ICAgICA9ICIke2JpbmRpcn0vYWxzYWJhdCIKK0ZJTEVTX2Fsc2EtdXRpbHMtYWxzYXRwbGcgICAgPSAiJHtiaW5kaXJ9L2Fsc2F0cGxnIgorRklMRVNfYWxzYS11dGlscy1hcGxheSAgICAgICA9ICIke2JpbmRpcn0vYXBsYXkgJHtiaW5kaXJ9L2FyZWNvcmQgJHtiaW5kaXJ9L2F4ZmVyIgorRklMRVNfYWxzYS11dGlscy1hbWl4ZXIgICAgICA9ICIke2JpbmRpcn0vYW1peGVyIgorRklMRVNfYWxzYS11dGlscy1hbHNhbWl4ZXIgICA9ICIke2JpbmRpcn0vYWxzYW1peGVyIgorRklMRVNfYWxzYS11dGlscy1zcGVha2VydGVzdCA9ICIke2JpbmRpcn0vc3BlYWtlci10ZXN0ICR7ZGF0YWRpcn0vc291bmRzL2Fsc2EvICR7ZGF0YWRpcn0vYWxzYS9zcGVha2VyLXRlc3QvIgorRklMRVNfYWxzYS11dGlscy1taWRpICAgICAgICA9ICIke2JpbmRpcn0vYXBsYXltaWRpICR7YmluZGlyfS9hcmVjb3JkbWlkaSAke2JpbmRpcn0vYW1pZGkiCitGSUxFU19hbHNhLXV0aWxzLWFjb25uZWN0ICAgID0gIiR7YmluZGlyfS9hY29ubmVjdCIKK0ZJTEVTX2Fsc2EtdXRpbHMtYXNlcW5ldCAgICAgPSAiJHtiaW5kaXJ9L2FzZXFuZXQiCitGSUxFU19hbHNhLXV0aWxzLWllY3NldCAgICAgID0gIiR7YmluZGlyfS9pZWNzZXQiCitGSUxFU19hbHNhLXV0aWxzLWFsc2FjdGwgICAgID0gIiR7c2JpbmRpcn0vYWxzYWN0bCAqL3VkZXYvcnVsZXMuZC85MC1hbHNhLXJlc3RvcmUucnVsZXMgKi8qL3VkZXYvcnVsZXMuZC85MC1hbHNhLXJlc3RvcmUucnVsZXMgJHtzeXN0ZW1kX3VuaXRkaXJ9ICR7bG9jYWxzdGF0ZWRpcn0vbGliL2Fsc2EgJHtkYXRhZGlyfS9hbHNhL2luaXQvIgorRklMRVNfYWxzYS11dGlscy1hc2VxZHVtcCAgICA9ICIke2JpbmRpcn0vYXNlcWR1bXAiCitGSUxFU19hbHNhLXV0aWxzLWFsc2Fsb29wICAgID0gIiR7YmluZGlyfS9hbHNhbG9vcCIKK0ZJTEVTX2Fsc2EtdXRpbHMtYWxzYXVjbSAgICAgPSAiJHtiaW5kaXJ9L2Fsc2F1Y20gKi91ZGV2L3J1bGVzLmQvODktYWxzYS11Y20ucnVsZXMgKi8qL3VkZXYvcnVsZXMuZC84OS1hbHNhLXVjbS5ydWxlcyIKKworU1VNTUFSWV9hbHNhLXV0aWxzLWFsc2FiYXQgICAgICA9ICJDb21tYW5kLWxpbmUgc291bmQgdGVzdGVyIGZvciBBTFNBIHNvdW5kIGNhcmQgZHJpdmVyIgorU1VNTUFSWV9hbHNhLXV0aWxzLWFsc2F0cGxnICAgICA9ICJDb252ZXJ0cyB0b3BvbG9neSB0ZXh0IGZpbGVzIGludG8gYmluYXJ5IGZvcm1hdCBmb3Iga2VybmVsIgorU1VNTUFSWV9hbHNhLXV0aWxzLWFwbGF5ICAgICAgICA9ICJQbGF5IChhbmQgcmVjb3JkKSBzb3VuZCBmaWxlcyB1c2luZyBBTFNBIgorU1VNTUFSWV9hbHNhLXV0aWxzLWFtaXhlciAgICAgICA9ICJDb21tYW5kLWxpbmUgY29udHJvbCBmb3IgQUxTQSBtaXhlciBhbmQgc2V0dGluZ3MiCitTVU1NQVJZX2Fsc2EtdXRpbHMtYWxzYW1peGVyICAgID0gIm5jdXJzZXMtYmFzZWQgY29udHJvbCBmb3IgQUxTQSBtaXhlciBhbmQgc2V0dGluZ3MiCitTVU1NQVJZX2Fsc2EtdXRpbHMtc3BlYWtlcnRlc3QgID0gIkFMU0Egc3Vycm91bmQgc3BlYWtlciB0ZXN0IHV0aWxpdHkiCitTVU1NQVJZX2Fsc2EtdXRpbHMtbWlkaSAgICAgICAgID0gIk1pc2NlbGxhbmVvdXMgTUlESSB1dGlsaXRpZXMgZm9yIEFMU0EiCitTVU1NQVJZX2Fsc2EtdXRpbHMtYWNvbm5lY3QgICAgID0gIkFMU0Egc2VxdWVuY2VyIGNvbm5lY3Rpb24gbWFuYWdlciIKK1NVTU1BUllfYWxzYS11dGlscy1hc2VxbmV0ICAgICAgPSAiTmV0d29yayBjbGllbnQvc2VydmVyIGZvciBBTFNBIHNlcXVlbmNlciIKK1NVTU1BUllfYWxzYS11dGlscy1pZWNzZXQgICAgICAgPSAiQUxTQSB1dGlsaXR5IGZvciBzZXR0aW5nL3Nob3dpbmcgSUVDOTU4IChTL1BESUYpIHN0YXR1cyBiaXRzIgorU1VNTUFSWV9hbHNhLXV0aWxzLWFsc2FjdGwgICAgICA9ICJTYXZlcy9yZXN0b3JlcyBBTFNBLXNldHRpbmdzIGluIC9ldGMvYXNvdW5kLnN0YXRlIgorU1VNTUFSWV9hbHNhLXV0aWxzLWFzZXFkdW1wICAgICA9ICJTaG93cyB0aGUgZXZlbnRzIHJlY2VpdmVkIGF0IGFuIEFMU0Egc2VxdWVuY2VyIHBvcnQiCitTVU1NQVJZX2Fsc2EtdXRpbHMtYWxzYWxvb3AgICAgID0gIkFMU0EgUENNIGxvb3BiYWNrIHV0aWxpdHkiCitTVU1NQVJZX2Fsc2EtdXRpbHMtYWxzYXVjbSAgICAgID0gIkFMU0EgVXNlIENhc2UgTWFuYWdlciIKKworUlJFQ09NTUVORFNfYWxzYS11dGlscy1hbHNhY3RsID0gImFsc2Etc3RhdGVzIgorCitBTExPV19FTVBUWV9hbHNhLXV0aWxzID0gIjEiCisKK2RvX2luc3RhbGwoKSB7CisJYXV0b3Rvb2xzX2RvX2luc3RhbGwKKworCSMgV2UgZG9uJ3Qgc2hpcCB0aGlzIGhlcmUgYmVjYXVzZSBpdCByZXF1aXJlcyBhIGRlcGVuZGVuY3kgb24gYmFzaC4KKwkjIFNlZSBhbHNhLXV0aWxzLXNjcmlwdHNfJHtQVn0uYmIKKwlybSAke0R9JHtzYmluZGlyfS9hbHNhY29uZgorCXJtICR7RH0ke3NiaW5kaXJ9L2Fsc2EtaW5mby5zaAorCXJtIC1mICR7RH0ke3NiaW5kaXJ9L2Fsc2FiYXQtdGVzdC5zaAorCisJIyBJZiB1ZGV2IGlzIGRpc2FibGVkLCB3ZSB0b2xkIGNvbmZpZ3VyZSB0byBpbnN0YWxsIHRoZSBydWxlcworCSMgaW4gL3Vud2FudGVkLCBzbyB3ZSBjYW4gcmVtb3ZlIHRoZW0gbm93LiBJZiB1ZGV2IGlzIGVuYWJsZWQsCisJIyB0aGVuIC91bndhbnRlZCB3b24ndCBleGlzdCBhbmQgdGhpcyB3aWxsIGhhdmUgbm8gZWZmZWN0LgorCXJtIC1yZiAke0R9L3Vud2FudGVkCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZmbXBlZy9mZm1wZWcvQ1ZFLTIwMTgtMTU4MjIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZmbXBlZy9mZm1wZWcvQ1ZFLTIwMTgtMTU4MjIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdkNTg2OGEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9mZm1wZWcvZmZtcGVnL0NWRS0yMDE4LTE1ODIyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotRnJvbSA2YjY3ZDdmMDU5MThmN2ExZWU4ZmM2ZmYyMTM1NWQ3ZTg3MzZhYTEwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLURhdGU6IFNhdCwgMjggSnVsIDIwMTggMTU6MDM6NTAgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gYXZmb3JtYXQvZmx2ZW5jOiBDaGVjayBhdWRpbyBwYWNrZXQgc2l6ZQotCi1GaXhlczogQXNzZXJ0aW9uIGZhaWx1cmUKLUZpeGVzOiBhc3NlcnRfZmx2ZW5jLmM6OTQxXzEuc3dmCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0aHViLmNvbS9GRm1wZWcvRkZtcGVnL2NvbW1pdC82YjY3ZDdmMDU5MThmN2ExZWU4ZmM2ZmYyMTM1NWQ3ZTg3MzZhYTEwXQotQ1ZFOiBDVkUtMjAxOC0xNTgyMgotCi1Gb3VuZC1ieTogI0NIRU4gSE9OR1hVIyA8SENIRU4wMTdAZS5udHUuZWR1LnNnPgotU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLVNpZ25lZC1vZmYtYnk6IE1pbmdsaSBZdSA8TWluZ2xpLll1QHdpbmRyaXZlci5jb20+Ci0tLS0KLSBsaWJhdmZvcm1hdC9mbHZlbmMuYyB8IDUgKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9mbHZlbmMuYyBiL2xpYmF2Zm9ybWF0L2ZsdmVuYy5jCi1pbmRleCAxYzU1MmEzZTZiLi5lNDg2M2YxZmM3IDEwMDY0NAotLS0tIGEvbGliYXZmb3JtYXQvZmx2ZW5jLmMKLSsrKyBiL2xpYmF2Zm9ybWF0L2ZsdmVuYy5jCi1AQCAtODgzLDYgKzg4MywxMSBAQCBzdGF0aWMgaW50IGZsdl93cml0ZV9wYWNrZXQoQVZGb3JtYXRDb250ZXh0ICpzLCBBVlBhY2tldCAqcGt0KQotICAgICBpbnQgZmxhZ3MgPSAtMSwgZmxhZ3Nfc2l6ZSwgcmV0OwotICAgICBpbnQ2NF90IGN1cl9vZmZzZXQgPSBhdmlvX3RlbGwocGIpOwotIAotKyAgICBpZiAocGFyLT5jb2RlY190eXBlID09IEFWTUVESUFfVFlQRV9BVURJTyAmJiAhcGt0LT5zaXplKSB7Ci0rICAgICAgICBhdl9sb2cocywgQVZfTE9HX1dBUk5JTkcsICJFbXB0eSBhdWRpbyBQYWNrZXRcbiIpOwotKyAgICAgICAgcmV0dXJuIEFWRVJST1IoRUlOVkFMKTsKLSsgICAgfQotKwotICAgICBpZiAocGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9WUDZGIHx8IHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfVlA2QSB8fAotICAgICAgICAgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9WUDYgIHx8IHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfQUFDKQotICAgICAgICAgZmxhZ3Nfc2l6ZSA9IDI7Ci0tLSAKLTIuMTcuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZmbXBlZy9mZm1wZWdfNC4wLjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZmbXBlZy9mZm1wZWdfNC4wLjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdkMWFmMDQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9mZm1wZWcvZmZtcGVnXzQuMC4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTU4ICswLDAgQEAKLVNVTU1BUlkgPSAiQSBjb21wbGV0ZSwgY3Jvc3MtcGxhdGZvcm0gc29sdXRpb24gdG8gcmVjb3JkLCBjb252ZXJ0IGFuZCBzdHJlYW0gYXVkaW8gYW5kIHZpZGVvLiIKLURFU0NSSVBUSU9OID0gIkZGbXBlZyBpcyB0aGUgbGVhZGluZyBtdWx0aW1lZGlhIGZyYW1ld29yaywgYWJsZSB0byBkZWNvZGUsIGVuY29kZSwgdHJhbnNjb2RlLCBcCi0gICAgICAgICAgICAgICBtdXgsIGRlbXV4LCBzdHJlYW0sIGZpbHRlciBhbmQgcGxheSBwcmV0dHkgbXVjaCBhbnl0aGluZyB0aGF0IGh1bWFucyBhbmQgbWFjaGluZXMgXAotICAgICAgICAgICAgICAgaGF2ZSBjcmVhdGVkLiBJdCBzdXBwb3J0cyB0aGUgbW9zdCBvYnNjdXJlIGFuY2llbnQgZm9ybWF0cyB1cCB0byB0aGUgY3V0dGluZyBlZGdlLiIKLUhPTUVQQUdFID0gImh0dHBzOi8vd3d3LmZmbXBlZy5vcmcvIgotU0VDVElPTiA9ICJsaWJzIgotCi1MSUNFTlNFID0gIkJTRCAmIEdQTHYyKyAmIExHUEx2Mi4xKyAmIE1JVCIKLUxJQ0VOU0VfJHtQTn0gPSAiR1BMdjIrIgotTElDRU5TRV9saWJhdmNvZGVjID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2dwbCcsICdHUEx2MisnLCAnTEdQTHYyLjErJywgZCl9IgotTElDRU5TRV9saWJhdmRldmljZSA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdncGwnLCAnR1BMdjIrJywgJ0xHUEx2Mi4xKycsIGQpfSIKLUxJQ0VOU0VfbGliYXZmaWx0ZXIgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZ3BsJywgJ0dQTHYyKycsICdMR1BMdjIuMSsnLCBkKX0iCi1MSUNFTlNFX2xpYmF2Zm9ybWF0ID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2dwbCcsICdHUEx2MisnLCAnTEdQTHYyLjErJywgZCl9IgotTElDRU5TRV9saWJhdnJlc2FtcGxlID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2dwbCcsICdHUEx2MisnLCAnTEdQTHYyLjErJywgZCl9IgotTElDRU5TRV9saWJhdnV0aWwgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZ3BsJywgJ0dQTHYyKycsICdMR1BMdjIuMSsnLCBkKX0iCi1MSUNFTlNFX2xpYnBvc3Rwcm9jID0gIkdQTHYyKyIKLUxJQ0VOU0VfbGlic3dyZXNhbXBsZSA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdncGwnLCAnR1BMdjIrJywgJ0xHUEx2Mi4xKycsIGQpfSIKLUxJQ0VOU0VfbGlic3dzY2FsZSA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdncGwnLCAnR1BMdjIrJywgJ0xHUEx2Mi4xKycsIGQpfSIKLUxJQ0VOU0VfRkxBR1MgPSAiY29tbWVyY2lhbCIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5HUEx2MjttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5HUEx2MzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MR1BMdjIuMTttZDU9YmQ3YTQ0MzMyMGFmOGM4MTJlNGMxOGQxYjc5ZGYwMDQgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MR1BMdjM7bWQ1PWU2YTYwMGZkNWUxZDljYmRlMmQ5ODM2ODAyMzNhZDAyIgotCi1TUkNfVVJJID0gImh0dHBzOi8vd3d3LmZmbXBlZy5vcmcvcmVsZWFzZXMvJHtCUH0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovL21pcHM2NF9jcHVfZGV0ZWN0aW9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTE1ODIyLnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gImFlMGJmZGY4MDkzMDZhMjEyYjRmMGU2ZWI4ZDFjNzVlIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImE5NWMwY2M5ZWI5OTBlOTQwMzFkMjE4M2YyZTZlNDQ0Y2M2MWM5OWY2ZjE4MmQxNTc1YzQzM2Q2MmFmYjJmOTciCi0KLSMgQnVpbGQgZmFpbHMgd2hlbiB0aHVtYiBpcyBlbmFibGVkOiBodHRwczovL2J1Z3ppbGxhLnlvY3RvcHJvamVjdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3MTcKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjQgPSAiYXJtIgotQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NSA9ICJhcm0iCi1BUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY2ID0gImFybSIKLQotIyBTaG91bGQgYmUgQVBJIGNvbXBhdGlibGUgd2l0aCBsaWJhdiAod2hpY2ggd2FzIGEgZm9yayBvZiBmZm1wZWcpCi0jIGxpYnBvc3Rwcm9jIHdhcyBwcmV2aW91c2x5IHBhY2thZ2VkIGZyb20gYSBzZXBhcmF0ZSByZWNpcGUKLVBST1ZJREVTID0gImxpYmF2IGxpYnBvc3Rwcm9jIgotCi1ERVBFTkRTID0gImFsc2EtbGliIHpsaWIgbGlib2dnIG5hc20tbmF0aXZlIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcKLQotUEFDS0FHRUNPTkZJRyA/Pz0gImF2ZGV2aWNlIGF2ZmlsdGVyIGF2Y29kZWMgYXZmb3JtYXQgc3dyZXNhbXBsZSBzd3NjYWxlIHBvc3Rwcm9jIFwKLSAgICAgICAgICAgICAgICAgICBiemxpYiBncGwgbHptYSB0aGVvcmEgeDI2NCBcCi0gICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAneHYnLCAnJywgZCl9IgotCi0jIGxpYnJhcmllcyB0byBidWlsZCBpbiBhZGRpdGlvbiB0byBhdnV0aWwKLVBBQ0tBR0VDT05GSUdbYXZkZXZpY2VdID0gIi0tZW5hYmxlLWF2ZGV2aWNlLC0tZGlzYWJsZS1hdmRldmljZSIKLVBBQ0tBR0VDT05GSUdbYXZmaWx0ZXJdID0gIi0tZW5hYmxlLWF2ZmlsdGVyLC0tZGlzYWJsZS1hdmZpbHRlciIKLVBBQ0tBR0VDT05GSUdbYXZjb2RlY10gPSAiLS1lbmFibGUtYXZjb2RlYywtLWRpc2FibGUtYXZjb2RlYyIKLVBBQ0tBR0VDT05GSUdbYXZmb3JtYXRdID0gIi0tZW5hYmxlLWF2Zm9ybWF0LC0tZGlzYWJsZS1hdmZvcm1hdCIKLVBBQ0tBR0VDT05GSUdbc3dyZXNhbXBsZV0gPSAiLS1lbmFibGUtc3dyZXNhbXBsZSwtLWRpc2FibGUtc3dyZXNhbXBsZSIKLVBBQ0tBR0VDT05GSUdbc3dzY2FsZV0gPSAiLS1lbmFibGUtc3dzY2FsZSwtLWRpc2FibGUtc3dzY2FsZSIKLVBBQ0tBR0VDT05GSUdbcG9zdHByb2NdID0gIi0tZW5hYmxlLXBvc3Rwcm9jLC0tZGlzYWJsZS1wb3N0cHJvYyIKLVBBQ0tBR0VDT05GSUdbYXZyZXNhbXBsZV0gPSAiLS1lbmFibGUtYXZyZXNhbXBsZSwtLWRpc2FibGUtYXZyZXNhbXBsZSIKLQotIyBmZWF0dXJlcyB0byBzdXBwb3J0Ci1QQUNLQUdFQ09ORklHW2J6bGliXSA9ICItLWVuYWJsZS1iemxpYiwtLWRpc2FibGUtYnpsaWIsYnppcDIiCi1QQUNLQUdFQ09ORklHW2dwbF0gPSAiLS1lbmFibGUtZ3BsLC0tZGlzYWJsZS1ncGwiCi1QQUNLQUdFQ09ORklHW2dzbV0gPSAiLS1lbmFibGUtbGliZ3NtLC0tZGlzYWJsZS1saWJnc20sbGliZ3NtIgotUEFDS0FHRUNPTkZJR1tqYWNrXSA9ICItLWVuYWJsZS1pbmRldj1qYWNrLC0tZGlzYWJsZS1pbmRldj1qYWNrLGphY2siCi1QQUNLQUdFQ09ORklHW2xpYnZvcmJpc10gPSAiLS1lbmFibGUtbGlidm9yYmlzLC0tZGlzYWJsZS1saWJ2b3JiaXMsbGlidm9yYmlzIgotUEFDS0FHRUNPTkZJR1tsem1hXSA9ICItLWVuYWJsZS1sem1hLC0tZGlzYWJsZS1sem1hLHh6IgotUEFDS0FHRUNPTkZJR1ttcDNsYW1lXSA9ICItLWVuYWJsZS1saWJtcDNsYW1lLC0tZGlzYWJsZS1saWJtcDNsYW1lLGxhbWUiCi1QQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0tZW5hYmxlLW9wZW5zc2wsLS1kaXNhYmxlLW9wZW5zc2wsb3BlbnNzbCIKLVBBQ0tBR0VDT05GSUdbc2RsMl0gPSAiLS1lbmFibGUtc2RsMiwtLWRpc2FibGUtc2RsMix2aXJ0dWFsL2xpYnNkbDIiCi1QQUNLQUdFQ09ORklHW3NwZWV4XSA9ICItLWVuYWJsZS1saWJzcGVleCwtLWRpc2FibGUtbGlic3BlZXgsc3BlZXgiCi1QQUNLQUdFQ09ORklHW3RoZW9yYV0gPSAiLS1lbmFibGUtbGlidGhlb3JhLC0tZGlzYWJsZS1saWJ0aGVvcmEsbGlidGhlb3JhIgotUEFDS0FHRUNPTkZJR1t2YWFwaV0gPSAiLS1lbmFibGUtdmFhcGksLS1kaXNhYmxlLXZhYXBpLGxpYnZhIgotUEFDS0FHRUNPTkZJR1t2ZHBhdV0gPSAiLS1lbmFibGUtdmRwYXUsLS1kaXNhYmxlLXZkcGF1LGxpYnZkcGF1IgotUEFDS0FHRUNPTkZJR1t2cHhdID0gIi0tZW5hYmxlLWxpYnZweCwtLWRpc2FibGUtbGlidnB4LGxpYnZweCIKLVBBQ0tBR0VDT05GSUdbeDI2NF0gPSAiLS1lbmFibGUtbGlieDI2NCwtLWRpc2FibGUtbGlieDI2NCx4MjY0IgotUEFDS0FHRUNPTkZJR1t4dl0gPSAiLS1lbmFibGUtb3V0ZGV2PXh2LC0tZGlzYWJsZS1vdXRkZXY9eHYsbGlieHYiCi0KLSMgQ2hlY2sgY29kZWNzIHRoYXQgcmVxdWlyZSAtLWVuYWJsZS1ub25mcmVlCi1VU0VfTk9ORlJFRSA9ICIke0BiYi51dGlscy5jb250YWluc19hbnkoJ1BBQ0tBR0VDT05GSUcnLCBbICdvcGVuc3NsJyBdLCAneWVzJywgJycsIGQpfSIKLQotZGVmIGNwdShkKToKLSAgICBmb3IgYXJnIGluIChkLmdldFZhcignVFVORV9DQ0FSR1MnKSBvciAnJykuc3BsaXQoKToKLSAgICAgICAgaWYgYXJnLnN0YXJ0c3dpdGgoJy1tY3B1PScpOgotICAgICAgICAgICAgcmV0dXJuIGFyZ1s2Ol0KLSAgICByZXR1cm4gJ2dlbmVyaWMnCi0KLUVYVFJBX09FQ09ORiA9ICIgXAotICAgIC0tZGlzYWJsZS1zdHJpcHBpbmcgXAotICAgIC0tZW5hYmxlLXBpYyBcCi0gICAgLS1lbmFibGUtc2hhcmVkIFwKLSAgICAtLWVuYWJsZS1wdGhyZWFkcyBcCi0gICAgLS1kaXNhYmxlLWxpYnhjYiBcCi0gICAgLS1kaXNhYmxlLWxpYnhjYi1zaG0gXAotICAgIC0tZGlzYWJsZS1saWJ4Y2IteGZpeGVzIFwKLSAgICAtLWRpc2FibGUtbGlieGNiLXNoYXBlIFwKLSAgICAke0BiYi51dGlscy5jb250YWlucygnVVNFX05PTkZSRUUnLCAneWVzJywgJy0tZW5hYmxlLW5vbmZyZWUnLCAnJywgZCl9IFwKLSAgICBcCi0gICAgLS1jcm9zcy1wcmVmaXg9JHtUQVJHRVRfUFJFRklYfSBcCi0gICAgXAotICAgIC0tbGQ9IiR7Q0NMRH0iIFwKLSAgICAtLWNjPSIke0NDfSIgXAotICAgIC0tY3h4PSIke0NYWH0iIFwKLSAgICAtLWFyY2g9JHtUQVJHRVRfQVJDSH0gXAotICAgIC0tdGFyZ2V0LW9zPSJsaW51eCIgXAotICAgIC0tZW5hYmxlLWNyb3NzLWNvbXBpbGUgXAotICAgIC0tZXh0cmEtY2ZsYWdzPSIke1RBUkdFVF9DRkxBR1N9ICR7SE9TVF9DQ19BUkNIfSR7VE9PTENIQUlOX09QVElPTlN9IiBcCi0gICAgLS1leHRyYS1sZGZsYWdzPSIke1RBUkdFVF9MREZMQUdTfSIgXAotICAgIC0tc3lzcm9vdD0iJHtTVEFHSU5HX0RJUl9UQVJHRVR9IiBcCi0gICAgLS1lbmFibGUtaGFyZGNvZGVkLXRhYmxlcyBcCi0gICAgJHtFWFRSQV9GRkNPTkZ9IFwKLSAgICAtLWxpYmRpcj0ke2xpYmRpcn0gXAotICAgIC0tc2hsaWJkaXI9JHtsaWJkaXJ9IFwKLSAgICAtLWRhdGFkaXI9JHtkYXRhZGlyfS9mZm1wZWcgXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdBVkFJTFRVTkVTJywgJ21pcHMzMnIyJywgJycsICctLWRpc2FibGUtbWlwc2RzcCAtLWRpc2FibGUtbWlwc2RzcHIyJywgZCl9IFwKLSAgICAtLWNwdT0ke0BjcHUoZCl9IFwKLSAgICAtLXBrZy1jb25maWc9cGtnLWNvbmZpZyBcCi0iCi0KLUVYVFJBX09FQ09ORl9hcHBlbmRfbGludXgtZ251eDMyID0gIiAtLWRpc2FibGUtYXNtIgotIyBnb2xkIGNyYXNoZXMgb24geDg2LCBhbm90aGVyIHNvbHV0aW9uIGlzIHRvIC0tZGlzYWJsZS1hc20gYnV0IHRoYXRzIG1vcmUgaGFja3kKLSMgbGQuZ29sZDogaW50ZXJuYWwgZXJyb3IgaW4gcmVsb2NhdGVfc2VjdGlvbiwgYXQgLi4vLi4vZ29sZC9pMzg2LmNjOjM2ODQKLQotTERGTEFHU19hcHBlbmRfeDg2ID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGQtaXMtZ29sZCcsICcgLWZ1c2UtbGQ9YmZkICcsICcnLCBkKX0iCi0KLWRvX2NvbmZpZ3VyZSgpIHsKLSAgICAke1N9L2NvbmZpZ3VyZSAke0VYVFJBX09FQ09ORn0KLX0KLQotUEFDS0FHRVMgPSsgImxpYmF2Y29kZWMgXAotICAgICAgICAgICAgIGxpYmF2ZGV2aWNlIFwKLSAgICAgICAgICAgICBsaWJhdmZpbHRlciBcCi0gICAgICAgICAgICAgbGliYXZmb3JtYXQgXAotICAgICAgICAgICAgIGxpYmF2cmVzYW1wbGUgXAotICAgICAgICAgICAgIGxpYmF2dXRpbCBcCi0gICAgICAgICAgICAgbGlicG9zdHByb2MgXAotICAgICAgICAgICAgIGxpYnN3cmVzYW1wbGUgXAotICAgICAgICAgICAgIGxpYnN3c2NhbGUiCi0KLUZJTEVTX2xpYmF2Y29kZWMgPSAiJHtsaWJkaXJ9L2xpYmF2Y29kZWMke1NPTElCU30iCi1GSUxFU19saWJhdmRldmljZSA9ICIke2xpYmRpcn0vbGliYXZkZXZpY2Uke1NPTElCU30iCi1GSUxFU19saWJhdmZpbHRlciA9ICIke2xpYmRpcn0vbGliYXZmaWx0ZXIke1NPTElCU30iCi1GSUxFU19saWJhdmZvcm1hdCA9ICIke2xpYmRpcn0vbGliYXZmb3JtYXQke1NPTElCU30iCi1GSUxFU19saWJhdnJlc2FtcGxlID0gIiR7bGliZGlyfS9saWJhdnJlc2FtcGxlJHtTT0xJQlN9IgotRklMRVNfbGliYXZ1dGlsID0gIiR7bGliZGlyfS9saWJhdnV0aWwke1NPTElCU30iCi1GSUxFU19saWJwb3N0cHJvYyA9ICIke2xpYmRpcn0vbGlicG9zdHByb2Mke1NPTElCU30iCi1GSUxFU19saWJzd3Jlc2FtcGxlID0gIiR7bGliZGlyfS9saWJzd3Jlc2FtcGxlJHtTT0xJQlN9IgotRklMRVNfbGlic3dzY2FsZSA9ICIke2xpYmRpcn0vbGlic3dzY2FsZSR7U09MSUJTfSIKLQotIyBmZm1wZWcgZGlzYWJsZXMgUElDIG9uIHNvbWUgcGxhdGZvcm1zIChlLmcuIHg4Ni0zMikKLUlOU0FORV9TS0lQXyR7TUxQUkVGSVh9bGliYXZjb2RlYyA9ICJ0ZXh0cmVsIgotSU5TQU5FX1NLSVBfJHtNTFBSRUZJWH1saWJhdmRldmljZSA9ICJ0ZXh0cmVsIgotSU5TQU5FX1NLSVBfJHtNTFBSRUZJWH1saWJhdmZpbHRlciA9ICJ0ZXh0cmVsIgotSU5TQU5FX1NLSVBfJHtNTFBSRUZJWH1saWJhdmZvcm1hdCA9ICJ0ZXh0cmVsIgotSU5TQU5FX1NLSVBfJHtNTFBSRUZJWH1saWJhdnV0aWwgPSAidGV4dHJlbCIKLUlOU0FORV9TS0lQXyR7TUxQUkVGSVh9bGliYXZyZXNhbXBsZSA9ICJ0ZXh0cmVsIgotSU5TQU5FX1NLSVBfJHtNTFBSRUZJWH1saWJzd3NjYWxlID0gInRleHRyZWwiCi1JTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYnN3cmVzYW1wbGUgPSAidGV4dHJlbCIKLUlOU0FORV9TS0lQXyR7TUxQUkVGSVh9bGlicG9zdHByb2MgPSAidGV4dHJlbCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZmZtcGVnL2ZmbXBlZ180LjEuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZmZtcGVnL2ZmbXBlZ180LjEuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NDliM2QwCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9mZm1wZWcvZmZtcGVnXzQuMS4xLmJiCkBAIC0wLDAgKzEsMTU3IEBACitTVU1NQVJZID0gIkEgY29tcGxldGUsIGNyb3NzLXBsYXRmb3JtIHNvbHV0aW9uIHRvIHJlY29yZCwgY29udmVydCBhbmQgc3RyZWFtIGF1ZGlvIGFuZCB2aWRlby4iCitERVNDUklQVElPTiA9ICJGRm1wZWcgaXMgdGhlIGxlYWRpbmcgbXVsdGltZWRpYSBmcmFtZXdvcmssIGFibGUgdG8gZGVjb2RlLCBlbmNvZGUsIHRyYW5zY29kZSwgXAorICAgICAgICAgICAgICAgbXV4LCBkZW11eCwgc3RyZWFtLCBmaWx0ZXIgYW5kIHBsYXkgcHJldHR5IG11Y2ggYW55dGhpbmcgdGhhdCBodW1hbnMgYW5kIG1hY2hpbmVzIFwKKyAgICAgICAgICAgICAgIGhhdmUgY3JlYXRlZC4gSXQgc3VwcG9ydHMgdGhlIG1vc3Qgb2JzY3VyZSBhbmNpZW50IGZvcm1hdHMgdXAgdG8gdGhlIGN1dHRpbmcgZWRnZS4iCitIT01FUEFHRSA9ICJodHRwczovL3d3dy5mZm1wZWcub3JnLyIKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJCU0QgJiBHUEx2MisgJiBMR1BMdjIuMSsgJiBNSVQiCitMSUNFTlNFXyR7UE59ID0gIkdQTHYyKyIKK0xJQ0VOU0VfbGliYXZjb2RlYyA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdncGwnLCAnR1BMdjIrJywgJ0xHUEx2Mi4xKycsIGQpfSIKK0xJQ0VOU0VfbGliYXZkZXZpY2UgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZ3BsJywgJ0dQTHYyKycsICdMR1BMdjIuMSsnLCBkKX0iCitMSUNFTlNFX2xpYmF2ZmlsdGVyID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2dwbCcsICdHUEx2MisnLCAnTEdQTHYyLjErJywgZCl9IgorTElDRU5TRV9saWJhdmZvcm1hdCA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdncGwnLCAnR1BMdjIrJywgJ0xHUEx2Mi4xKycsIGQpfSIKK0xJQ0VOU0VfbGliYXZyZXNhbXBsZSA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdncGwnLCAnR1BMdjIrJywgJ0xHUEx2Mi4xKycsIGQpfSIKK0xJQ0VOU0VfbGliYXZ1dGlsID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2dwbCcsICdHUEx2MisnLCAnTEdQTHYyLjErJywgZCl9IgorTElDRU5TRV9saWJwb3N0cHJvYyA9ICJHUEx2MisiCitMSUNFTlNFX2xpYnN3cmVzYW1wbGUgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZ3BsJywgJ0dQTHYyKycsICdMR1BMdjIuMSsnLCBkKX0iCitMSUNFTlNFX2xpYnN3c2NhbGUgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZ3BsJywgJ0dQTHYyKycsICdMR1BMdjIuMSsnLCBkKX0iCitMSUNFTlNFX0ZMQUdTID0gImNvbW1lcmNpYWwiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuR1BMdjI7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuR1BMdjM7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEdQTHYyLjE7bWQ1PWJkN2E0NDMzMjBhZjhjODEyZTRjMThkMWI3OWRmMDA0IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEdQTHYzO21kNT1lNmE2MDBmZDVlMWQ5Y2JkZTJkOTgzNjgwMjMzYWQwMiIKKworU1JDX1VSSSA9ICJodHRwczovL3d3dy5mZm1wZWcub3JnL3JlbGVhc2VzLyR7QlB9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly9taXBzNjRfY3B1X2RldGVjdGlvbi5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICI3MjBmYzg0NjE3YTJjMzhhZWFlNzlhZmYzNjg5YTU2NyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzNzM3NDk4MjRkZmQzMzRkODRlNTVkZmY0MDY3MjllZGZkMTYwNjU3NWVlNDRkZDQ4NWQ5N2Q0NWVhNGQyZDg2IgorCisjIEJ1aWxkIGZhaWxzIHdoZW4gdGh1bWIgaXMgZW5hYmxlZDogaHR0cHM6Ly9idWd6aWxsYS55b2N0b3Byb2plY3Qub3JnL3Nob3dfYnVnLmNnaT9pZD03NzE3CitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY0ID0gImFybSIKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgorQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NiA9ICJhcm0iCisKKyMgU2hvdWxkIGJlIEFQSSBjb21wYXRpYmxlIHdpdGggbGliYXYgKHdoaWNoIHdhcyBhIGZvcmsgb2YgZmZtcGVnKQorIyBsaWJwb3N0cHJvYyB3YXMgcHJldmlvdXNseSBwYWNrYWdlZCBmcm9tIGEgc2VwYXJhdGUgcmVjaXBlCitQUk9WSURFUyA9ICJsaWJhdiBsaWJwb3N0cHJvYyIKKworREVQRU5EUyA9ICJhbHNhLWxpYiB6bGliIGxpYm9nZyBuYXNtLW5hdGl2ZSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1BBQ0tBR0VDT05GSUcgPz89ICJhdmRldmljZSBhdmZpbHRlciBhdmNvZGVjIGF2Zm9ybWF0IHN3cmVzYW1wbGUgc3dzY2FsZSBwb3N0cHJvYyBhdnJlc2FtcGxlIFwKKyAgICAgICAgICAgICAgICAgICBiemxpYiBncGwgbHptYSB0aGVvcmEgeDI2NCBcCisgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAneHYnLCAnJywgZCl9IgorCisjIGxpYnJhcmllcyB0byBidWlsZCBpbiBhZGRpdGlvbiB0byBhdnV0aWwKK1BBQ0tBR0VDT05GSUdbYXZkZXZpY2VdID0gIi0tZW5hYmxlLWF2ZGV2aWNlLC0tZGlzYWJsZS1hdmRldmljZSIKK1BBQ0tBR0VDT05GSUdbYXZmaWx0ZXJdID0gIi0tZW5hYmxlLWF2ZmlsdGVyLC0tZGlzYWJsZS1hdmZpbHRlciIKK1BBQ0tBR0VDT05GSUdbYXZjb2RlY10gPSAiLS1lbmFibGUtYXZjb2RlYywtLWRpc2FibGUtYXZjb2RlYyIKK1BBQ0tBR0VDT05GSUdbYXZmb3JtYXRdID0gIi0tZW5hYmxlLWF2Zm9ybWF0LC0tZGlzYWJsZS1hdmZvcm1hdCIKK1BBQ0tBR0VDT05GSUdbc3dyZXNhbXBsZV0gPSAiLS1lbmFibGUtc3dyZXNhbXBsZSwtLWRpc2FibGUtc3dyZXNhbXBsZSIKK1BBQ0tBR0VDT05GSUdbc3dzY2FsZV0gPSAiLS1lbmFibGUtc3dzY2FsZSwtLWRpc2FibGUtc3dzY2FsZSIKK1BBQ0tBR0VDT05GSUdbcG9zdHByb2NdID0gIi0tZW5hYmxlLXBvc3Rwcm9jLC0tZGlzYWJsZS1wb3N0cHJvYyIKK1BBQ0tBR0VDT05GSUdbYXZyZXNhbXBsZV0gPSAiLS1lbmFibGUtYXZyZXNhbXBsZSwtLWRpc2FibGUtYXZyZXNhbXBsZSIKKworIyBmZWF0dXJlcyB0byBzdXBwb3J0CitQQUNLQUdFQ09ORklHW2J6bGliXSA9ICItLWVuYWJsZS1iemxpYiwtLWRpc2FibGUtYnpsaWIsYnppcDIiCitQQUNLQUdFQ09ORklHW2dwbF0gPSAiLS1lbmFibGUtZ3BsLC0tZGlzYWJsZS1ncGwiCitQQUNLQUdFQ09ORklHW2dzbV0gPSAiLS1lbmFibGUtbGliZ3NtLC0tZGlzYWJsZS1saWJnc20sbGliZ3NtIgorUEFDS0FHRUNPTkZJR1tqYWNrXSA9ICItLWVuYWJsZS1pbmRldj1qYWNrLC0tZGlzYWJsZS1pbmRldj1qYWNrLGphY2siCitQQUNLQUdFQ09ORklHW2xpYnZvcmJpc10gPSAiLS1lbmFibGUtbGlidm9yYmlzLC0tZGlzYWJsZS1saWJ2b3JiaXMsbGlidm9yYmlzIgorUEFDS0FHRUNPTkZJR1tsem1hXSA9ICItLWVuYWJsZS1sem1hLC0tZGlzYWJsZS1sem1hLHh6IgorUEFDS0FHRUNPTkZJR1ttcDNsYW1lXSA9ICItLWVuYWJsZS1saWJtcDNsYW1lLC0tZGlzYWJsZS1saWJtcDNsYW1lLGxhbWUiCitQQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0tZW5hYmxlLW9wZW5zc2wsLS1kaXNhYmxlLW9wZW5zc2wsb3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbc2RsMl0gPSAiLS1lbmFibGUtc2RsMiwtLWRpc2FibGUtc2RsMix2aXJ0dWFsL2xpYnNkbDIiCitQQUNLQUdFQ09ORklHW3NwZWV4XSA9ICItLWVuYWJsZS1saWJzcGVleCwtLWRpc2FibGUtbGlic3BlZXgsc3BlZXgiCitQQUNLQUdFQ09ORklHW3RoZW9yYV0gPSAiLS1lbmFibGUtbGlidGhlb3JhLC0tZGlzYWJsZS1saWJ0aGVvcmEsbGlidGhlb3JhIgorUEFDS0FHRUNPTkZJR1t2YWFwaV0gPSAiLS1lbmFibGUtdmFhcGksLS1kaXNhYmxlLXZhYXBpLGxpYnZhIgorUEFDS0FHRUNPTkZJR1t2ZHBhdV0gPSAiLS1lbmFibGUtdmRwYXUsLS1kaXNhYmxlLXZkcGF1LGxpYnZkcGF1IgorUEFDS0FHRUNPTkZJR1t2cHhdID0gIi0tZW5hYmxlLWxpYnZweCwtLWRpc2FibGUtbGlidnB4LGxpYnZweCIKK1BBQ0tBR0VDT05GSUdbeDI2NF0gPSAiLS1lbmFibGUtbGlieDI2NCwtLWRpc2FibGUtbGlieDI2NCx4MjY0IgorUEFDS0FHRUNPTkZJR1t4dl0gPSAiLS1lbmFibGUtb3V0ZGV2PXh2LC0tZGlzYWJsZS1vdXRkZXY9eHYsbGlieHYiCisKKyMgQ2hlY2sgY29kZWNzIHRoYXQgcmVxdWlyZSAtLWVuYWJsZS1ub25mcmVlCitVU0VfTk9ORlJFRSA9ICIke0BiYi51dGlscy5jb250YWluc19hbnkoJ1BBQ0tBR0VDT05GSUcnLCBbICdvcGVuc3NsJyBdLCAneWVzJywgJycsIGQpfSIKKworZGVmIGNwdShkKToKKyAgICBmb3IgYXJnIGluIChkLmdldFZhcignVFVORV9DQ0FSR1MnKSBvciAnJykuc3BsaXQoKToKKyAgICAgICAgaWYgYXJnLnN0YXJ0c3dpdGgoJy1tY3B1PScpOgorICAgICAgICAgICAgcmV0dXJuIGFyZ1s2Ol0KKyAgICByZXR1cm4gJ2dlbmVyaWMnCisKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgIC0tZGlzYWJsZS1zdHJpcHBpbmcgXAorICAgIC0tZW5hYmxlLXBpYyBcCisgICAgLS1lbmFibGUtc2hhcmVkIFwKKyAgICAtLWVuYWJsZS1wdGhyZWFkcyBcCisgICAgLS1kaXNhYmxlLWxpYnhjYiBcCisgICAgLS1kaXNhYmxlLWxpYnhjYi1zaG0gXAorICAgIC0tZGlzYWJsZS1saWJ4Y2IteGZpeGVzIFwKKyAgICAtLWRpc2FibGUtbGlieGNiLXNoYXBlIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnVVNFX05PTkZSRUUnLCAneWVzJywgJy0tZW5hYmxlLW5vbmZyZWUnLCAnJywgZCl9IFwKKyAgICBcCisgICAgLS1jcm9zcy1wcmVmaXg9JHtUQVJHRVRfUFJFRklYfSBcCisgICAgXAorICAgIC0tbGQ9IiR7Q0NMRH0iIFwKKyAgICAtLWNjPSIke0NDfSIgXAorICAgIC0tY3h4PSIke0NYWH0iIFwKKyAgICAtLWFyY2g9JHtUQVJHRVRfQVJDSH0gXAorICAgIC0tdGFyZ2V0LW9zPSJsaW51eCIgXAorICAgIC0tZW5hYmxlLWNyb3NzLWNvbXBpbGUgXAorICAgIC0tZXh0cmEtY2ZsYWdzPSIke1RBUkdFVF9DRkxBR1N9ICR7SE9TVF9DQ19BUkNIfSR7VE9PTENIQUlOX09QVElPTlN9IiBcCisgICAgLS1leHRyYS1sZGZsYWdzPSIke1RBUkdFVF9MREZMQUdTfSIgXAorICAgIC0tc3lzcm9vdD0iJHtTVEFHSU5HX0RJUl9UQVJHRVR9IiBcCisgICAgLS1lbmFibGUtaGFyZGNvZGVkLXRhYmxlcyBcCisgICAgJHtFWFRSQV9GRkNPTkZ9IFwKKyAgICAtLWxpYmRpcj0ke2xpYmRpcn0gXAorICAgIC0tc2hsaWJkaXI9JHtsaWJkaXJ9IFwKKyAgICAtLWRhdGFkaXI9JHtkYXRhZGlyfS9mZm1wZWcgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdBVkFJTFRVTkVTJywgJ21pcHMzMnIyJywgJycsICctLWRpc2FibGUtbWlwc2RzcCAtLWRpc2FibGUtbWlwc2RzcHIyJywgZCl9IFwKKyAgICAtLWNwdT0ke0BjcHUoZCl9IFwKKyAgICAtLXBrZy1jb25maWc9cGtnLWNvbmZpZyBcCisiCisKK0VYVFJBX09FQ09ORl9hcHBlbmRfbGludXgtZ251eDMyID0gIiAtLWRpc2FibGUtYXNtIgorIyBnb2xkIGNyYXNoZXMgb24geDg2LCBhbm90aGVyIHNvbHV0aW9uIGlzIHRvIC0tZGlzYWJsZS1hc20gYnV0IHRoYXRzIG1vcmUgaGFja3kKKyMgbGQuZ29sZDogaW50ZXJuYWwgZXJyb3IgaW4gcmVsb2NhdGVfc2VjdGlvbiwgYXQgLi4vLi4vZ29sZC9pMzg2LmNjOjM2ODQKKworTERGTEFHU19hcHBlbmRfeDg2ID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGQtaXMtZ29sZCcsICcgLWZ1c2UtbGQ9YmZkICcsICcnLCBkKX0iCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICAke1N9L2NvbmZpZ3VyZSAke0VYVFJBX09FQ09ORn0KK30KKworUEFDS0FHRVMgPSsgImxpYmF2Y29kZWMgXAorICAgICAgICAgICAgIGxpYmF2ZGV2aWNlIFwKKyAgICAgICAgICAgICBsaWJhdmZpbHRlciBcCisgICAgICAgICAgICAgbGliYXZmb3JtYXQgXAorICAgICAgICAgICAgIGxpYmF2cmVzYW1wbGUgXAorICAgICAgICAgICAgIGxpYmF2dXRpbCBcCisgICAgICAgICAgICAgbGlicG9zdHByb2MgXAorICAgICAgICAgICAgIGxpYnN3cmVzYW1wbGUgXAorICAgICAgICAgICAgIGxpYnN3c2NhbGUiCisKK0ZJTEVTX2xpYmF2Y29kZWMgPSAiJHtsaWJkaXJ9L2xpYmF2Y29kZWMke1NPTElCU30iCitGSUxFU19saWJhdmRldmljZSA9ICIke2xpYmRpcn0vbGliYXZkZXZpY2Uke1NPTElCU30iCitGSUxFU19saWJhdmZpbHRlciA9ICIke2xpYmRpcn0vbGliYXZmaWx0ZXIke1NPTElCU30iCitGSUxFU19saWJhdmZvcm1hdCA9ICIke2xpYmRpcn0vbGliYXZmb3JtYXQke1NPTElCU30iCitGSUxFU19saWJhdnJlc2FtcGxlID0gIiR7bGliZGlyfS9saWJhdnJlc2FtcGxlJHtTT0xJQlN9IgorRklMRVNfbGliYXZ1dGlsID0gIiR7bGliZGlyfS9saWJhdnV0aWwke1NPTElCU30iCitGSUxFU19saWJwb3N0cHJvYyA9ICIke2xpYmRpcn0vbGlicG9zdHByb2Mke1NPTElCU30iCitGSUxFU19saWJzd3Jlc2FtcGxlID0gIiR7bGliZGlyfS9saWJzd3Jlc2FtcGxlJHtTT0xJQlN9IgorRklMRVNfbGlic3dzY2FsZSA9ICIke2xpYmRpcn0vbGlic3dzY2FsZSR7U09MSUJTfSIKKworIyBmZm1wZWcgZGlzYWJsZXMgUElDIG9uIHNvbWUgcGxhdGZvcm1zIChlLmcuIHg4Ni0zMikKK0lOU0FORV9TS0lQXyR7TUxQUkVGSVh9bGliYXZjb2RlYyA9ICJ0ZXh0cmVsIgorSU5TQU5FX1NLSVBfJHtNTFBSRUZJWH1saWJhdmRldmljZSA9ICJ0ZXh0cmVsIgorSU5TQU5FX1NLSVBfJHtNTFBSRUZJWH1saWJhdmZpbHRlciA9ICJ0ZXh0cmVsIgorSU5TQU5FX1NLSVBfJHtNTFBSRUZJWH1saWJhdmZvcm1hdCA9ICJ0ZXh0cmVsIgorSU5TQU5FX1NLSVBfJHtNTFBSRUZJWH1saWJhdnV0aWwgPSAidGV4dHJlbCIKK0lOU0FORV9TS0lQXyR7TUxQUkVGSVh9bGliYXZyZXNhbXBsZSA9ICJ0ZXh0cmVsIgorSU5TQU5FX1NLSVBfJHtNTFBSRUZJWH1saWJzd3NjYWxlID0gInRleHRyZWwiCitJTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYnN3cmVzYW1wbGUgPSAidGV4dHJlbCIKK0lOU0FORV9TS0lQXyR7TUxQUkVGSVh9bGlicG9zdHByb2MgPSAidGV4dHJlbCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2ZpbGVzLzAwMDItZ3N0Y29uZmlnLmguaW4taW5pdGlhbC1SSVNDLVYtc3VwcG9ydC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2ZpbGVzLzAwMDItZ3N0Y29uZmlnLmguaW4taW5pdGlhbC1SSVNDLVYtc3VwcG9ydC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYjc0MmRlCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZmlsZXMvMDAwMi1nc3Rjb25maWcuaC5pbi1pbml0aWFsLVJJU0MtVi1zdXBwb3J0LnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKK0Zyb20gOGExNTZkMTcyNWVjZDAzZjJlOGNkYzg4NzRlMDgxZGRhMmQzYjQzZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEF1cmVsaWVuIEphcm5vIDxhdXJlbGllbkBhdXJlbDMyLm5ldD4KK0RhdGU6IFN1biwgMTUgQXByIDIwMTggMDA6NDk6NTUgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gZ3N0Y29uZmlnLmguaW46IGluaXRpYWwgUklTQy1WIHN1cHBvcnQKKworUklTQy1WIHN1cHBvcnRzIHVuYWxpZ25lZCBhY2Nlc3NlcywgYnV0IHRoZXNlIG1pZ2h0IHJ1biBleHRyZW1lbHkgc2xvd2x5CitkZXBlbmRpbmcgb24gdGhlIGltcGxlbWVudGF0aW9uLiBUaGVyZWZvcmUgc2V0IEdTVF9IQVZFX1VOQUxJR05FRF9BQ0NFU1MKK3RvIDAgb24gdGhpcyBhcmNoaXRlY3R1cmUuCisKK2h0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTUyNzEKKworU2lnbmVkLW9mZi1ieTogQWxpc3RhaXIgRnJhbmNpcyA8YWxpc3RhaXIuZnJhbmNpc0B3ZGMuY29tPgorVXBzdHJlYW0tU3RhdHVzOiBBY2NlcHRlZCBbMS4xNS4xIC0gaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NTI3MV0KKy0tLQorIGdzdC9nc3Rjb25maWcuaC5pbiB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2dzdC9nc3Rjb25maWcuaC5pbiBiL2dzdC9nc3Rjb25maWcuaC5pbgoraW5kZXggNjM1MWMwNGRhLi4zM2RmZWQxZjYgMTAwNjQ0CistLS0gYS9nc3QvZ3N0Y29uZmlnLmguaW4KKysrKyBiL2dzdC9nc3Rjb25maWcuaC5pbgorQEAgLTEwNCw3ICsxMDQsNyBAQAorICAqIGh0dHA6Ly9kb2NzLm9yYWNsZS5jb20vY2QvRTE5MjA1LTAxLzgyMC00MTU1L2MrK19mYXEuaHRtbCNWZXJzNgorICAqIGh0dHBzOi8vc29mdHdhcmUuaW50ZWwuY29tL2VuLXVzL25vZGUvNTgzNDAyCisgICovCistI2lmIGRlZmluZWQoX19hbHBoYV9fKSB8fCBkZWZpbmVkKF9fYXJjX18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX2JmaW4pIHx8IGRlZmluZWQoX19ocHBhX18pIHx8IGRlZmluZWQoX19uaW9zMl9fKSB8fCBkZWZpbmVkKF9fTUlDUk9CTEFaRV9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBkZWZpbmVkKF9fb3Ixa19fKSB8fCBkZWZpbmVkKF9fc2hfXykgfHwgZGVmaW5lZChfX1NINF9fKSB8fCBkZWZpbmVkKF9fc3BhcmNfXykgfHwgZGVmaW5lZChfX3NwYXJjKSB8fCBkZWZpbmVkKF9faWE2NF9fKSB8fCBkZWZpbmVkKF9NX0FMUEhBKSB8fCBkZWZpbmVkKF9NX0FSTSkgfHwgZGVmaW5lZChfTV9JQTY0KSB8fCBkZWZpbmVkKF9feHRlbnNhX18pIHx8IGRlZmluZWQoX19lMmtfXykKKysjaWYgZGVmaW5lZChfX2FscGhhX18pIHx8IGRlZmluZWQoX19hcmNfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fYmZpbikgfHwgZGVmaW5lZChfX2hwcGFfXykgfHwgZGVmaW5lZChfX25pb3MyX18pIHx8IGRlZmluZWQoX19NSUNST0JMQVpFX18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IGRlZmluZWQoX19vcjFrX18pIHx8IGRlZmluZWQoX19zaF9fKSB8fCBkZWZpbmVkKF9fU0g0X18pIHx8IGRlZmluZWQoX19zcGFyY19fKSB8fCBkZWZpbmVkKF9fc3BhcmMpIHx8IGRlZmluZWQoX19pYTY0X18pIHx8IGRlZmluZWQoX01fQUxQSEEpIHx8IGRlZmluZWQoX01fQVJNKSB8fCBkZWZpbmVkKF9NX0lBNjQpIHx8IGRlZmluZWQoX194dGVuc2FfXykgfHwgZGVmaW5lZChfX2Uya19fKSB8fCBkZWZpbmVkKF9fcmlzY3YpCisgIyAgZGVmaW5lIEdTVF9IQVZFX1VOQUxJR05FRF9BQ0NFU1MgMAorICNlbGlmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19pMzg2KSB8fCBkZWZpbmVkKF9fYW1kNjRfXykgfHwgZGVmaW5lZChfX2FtZDY0KSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19wcGNfXykgfHwgZGVmaW5lZChfX3BwYzY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjX18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykgfHwgZGVmaW5lZChfX202OGtfXykgfHwgZGVmaW5lZChfTV9JWDg2KSB8fCBkZWZpbmVkKF9NX0FNRDY0KSB8fCBkZWZpbmVkKF9NX1g2NCkgfHwgZGVmaW5lZChfX3MzOTBfXykgfHwgZGVmaW5lZChfX3MzOTB4X18pIHx8IGRlZmluZWQoX196YXJjaF9fKQorICMgIGRlZmluZSBHU1RfSEFWRV9VTkFMSUdORURfQUNDRVNTIDEKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdC1leGFtcGxlc19naXQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci9nc3QtZXhhbXBsZXNfZ2l0LmJiCmluZGV4IDFkODdmMjQuLjc1YWM5YjcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdC1leGFtcGxlc19naXQuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZ3N0LWV4YW1wbGVzX2dpdC5iYgpAQCAtNCwxMSArNCwxMSBAQAogCiBERVBFTkRTID0gImdsaWItMi4wIGdzdHJlYW1lcjEuMCBnc3RyZWFtZXIxLjAtcGx1Z2lucy1iYXNlIGdzdHJlYW1lcjEuMC1wbHVnaW5zLWJhZCBndGsrMyBnbGliLTIuMC1uYXRpdmUiCiAKLVNSQ19VUkkgPSAiZ2l0Oi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ3N0cmVhbWVyL2dzdC1leGFtcGxlcyBcCitTUkNfVVJJID0gImdpdDovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvZ3N0cmVhbWVyL2dzdC1leGFtcGxlcy5naXQ7cHJvdG9jb2w9aHR0cHMgXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1NYWtlLXBsYXllci1leGFtcGxlcy1pbnN0YWxsYWJsZS5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9nc3QtcGxheWVyLmRlc2t0b3AiCiAKLVNSQ1JFViA9ICI0ODI0N2M2YWI2ODA3ZDZhZTE3OWNmNjUzY2JkYzY0NzE0ZDMzMTNjIgorU1JDUkVWID0gIjJiM2ZjMTc1YzI1MmNkNWE1MzdlNGIyODY0YjU3MmE4MzcyNDczZDYiCiBQViA9ICIwLjAuMStnaXQke1NSQ1BWfSIKIFVQU1RSRUFNX0NIRUNLX0NPTU1JVFMgPSAiMSIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtcGFja2FnZS5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci9nc3QtcGx1Z2lucy1wYWNrYWdlLmluYwppbmRleCAzZmRiMTBlLi42NzgxZTk4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci9nc3QtcGx1Z2lucy1wYWNrYWdlLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci9nc3QtcGx1Z2lucy1wYWNrYWdlLmluYwpAQCAtNiwyNiArNiwyNiBAQAogICAgIHBvc3RpbnN0ID0gZC5nZXRWYXIoJ3BsdWdpbl9wb3N0aW5zdCcpCiAgICAgZ2xpYmRpciA9IGQuZ2V0VmFyKCdsaWJkaXInKQogCi0gICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZ2xpYmRpciwgJ15saWIoLiopXC5zb1wuKicsICdsaWIlcycsICdnc3RyZWFtZXIgJXMgbGlicmFyeScsIGV4dHJhX2RlcGVuZHM9JycsIGFsbG93X2xpbmtzPVRydWUpCi0gICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZ3N0X2xpYmRpciwgJ2xpYmdzdCguKilcLnNvJCcsIGQuZXhwYW5kKCcke1BOfS0lcycpLCAnR1N0cmVhbWVyIHBsdWdpbiBmb3IgJXMnLCBwb3N0aW5zdD1wb3N0aW5zdCwgZXh0cmFfZGVwZW5kcz0nJykKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBnbGliZGlyKycvZ2lyZXBvc2l0b3J5LTEuMCcsICdHc3QoLiopLTEuMFwudHlwZWxpYiQnLCBkLmV4cGFuZCgnJHtQTn0tJXMtdHlwZWxpYicpLCAnR1N0cmVhbWVyIHR5cGVsaWIgZmlsZSBmb3IgJXMnLCBwb3N0aW5zdD1wb3N0aW5zdCwgZXh0cmFfZGVwZW5kcz0nJykKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBnc3RfbGliZGlyLCAnbGliZ3N0KC4qKVwubGEkJywgZC5leHBhbmQoJyR7UE59LSVzLWRldicpLCAnR1N0cmVhbWVyIHBsdWdpbiBmb3IgJXMgKGRldmVsb3BtZW50IGZpbGVzKScsIGV4dHJhX2RlcGVuZHM9JyR7UE59LWRldicpCi0gICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZ3N0X2xpYmRpciwgJ2xpYmdzdCguKilcLmEkJywgZC5leHBhbmQoJyR7UE59LSVzLXN0YXRpY2RldicpLCAnR1N0cmVhbWVyIHBsdWdpbiBmb3IgJXMgKHN0YXRpYyBkZXZlbG9wbWVudCBmaWxlcyknLCBleHRyYV9kZXBlbmRzPScke1BOfS1zdGF0aWNkZXYnKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGdsaWJkaXIsIHInXmxpYiguKilcLnNvXC4qJywgJ2xpYiVzJywgJ2dzdHJlYW1lciAlcyBsaWJyYXJ5JywgZXh0cmFfZGVwZW5kcz0nJywgYWxsb3dfbGlua3M9VHJ1ZSkKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBnc3RfbGliZGlyLCByJ2xpYmdzdCguKilcLnNvJCcsIGQuZXhwYW5kKCcke1BOfS0lcycpLCAnR1N0cmVhbWVyIHBsdWdpbiBmb3IgJXMnLCBwb3N0aW5zdD1wb3N0aW5zdCwgZXh0cmFfZGVwZW5kcz0nJykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBnbGliZGlyKycvZ2lyZXBvc2l0b3J5LTEuMCcsIHInR3N0KC4qKS0xLjBcLnR5cGVsaWIkJywgZC5leHBhbmQoJyR7UE59LSVzLXR5cGVsaWInKSwgJ0dTdHJlYW1lciB0eXBlbGliIGZpbGUgZm9yICVzJywgcG9zdGluc3Q9cG9zdGluc3QsIGV4dHJhX2RlcGVuZHM9JycpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZ3N0X2xpYmRpciwgcidsaWJnc3QoLiopXC5sYSQnLCBkLmV4cGFuZCgnJHtQTn0tJXMtZGV2JyksICdHU3RyZWFtZXIgcGx1Z2luIGZvciAlcyAoZGV2ZWxvcG1lbnQgZmlsZXMpJywgZXh0cmFfZGVwZW5kcz0nJHtQTn0tZGV2JykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBnc3RfbGliZGlyLCByJ2xpYmdzdCguKilcLmEkJywgZC5leHBhbmQoJyR7UE59LSVzLXN0YXRpY2RldicpLCAnR1N0cmVhbWVyIHBsdWdpbiBmb3IgJXMgKHN0YXRpYyBkZXZlbG9wbWVudCBmaWxlcyknLCBleHRyYV9kZXBlbmRzPScke1BOfS1zdGF0aWNkZXYnKQogfQogCiBweXRob24gc2V0X21ldGFwa2dfcmRlcGVuZHMgKCkgewogICAgIGltcG9ydCBvcworICAgIGltcG9ydCBvZS51dGlscwogCiAgICAgcG4gPSBkLmdldFZhcignUE4nKQogICAgIG1ldGFwa2cgPSAgcG4gKyAnLW1ldGEnCiAgICAgZC5zZXRWYXIoJ0FMTE9XX0VNUFRZXycgKyBtZXRhcGtnLCAiMSIpCiAgICAgZC5zZXRWYXIoJ0ZJTEVTXycgKyBtZXRhcGtnLCAiIikKLSAgICBibGFja2xpc3QgPSBbIHBuLCBwbiArICctbG9jYWxlJywgcG4gKyAnLWRldicsIHBuICsgJy1kYmcnLCBwbiArICctZG9jJywgcG4gKyAnLW1ldGEnIF0KKyAgICBibGFja2xpc3QgPSBbIHBuLCBwbiArICctbWV0YScgXQogICAgIG1ldGFwa2dfcmRlcGVuZHMgPSBbXQotICAgIHBhY2thZ2VzID0gZC5nZXRWYXIoJ1BBQ0tBR0VTJykuc3BsaXQoKQogICAgIHBrZ2Rlc3QgPSBkLmdldFZhcignUEtHREVTVCcpCi0gICAgZm9yIHBrZyBpbiBwYWNrYWdlc1sxOl06Ci0gICAgICAgIGlmIG5vdCBwa2cgaW4gYmxhY2tsaXN0IGFuZCBub3QgcGtnIGluIG1ldGFwa2dfcmRlcGVuZHMgYW5kIG5vdCBwa2cuZW5kc3dpdGgoJy1kZXYnKSBhbmQgbm90IHBrZy5lbmRzd2l0aCgnLWRiZycpIGFuZCBub3QgcGtnLmNvdW50KCdsb2NhbGUnKSBhbmQgbm90IHBrZy5jb3VudCgnLXN0YXRpY2RldicpOgorICAgIGZvciBwa2cgaW4gb2UudXRpbHMucGFja2FnZXNfZmlsdGVyX291dF9zeXN0ZW0oZCk6CisgICAgICAgIGlmIHBrZyBub3QgaW4gYmxhY2tsaXN0IGFuZCBwa2cgbm90IGluIG1ldGFwa2dfcmRlcGVuZHM6CiAgICAgICAgICAgICAjIFNlZSBpZiB0aGUgcGFja2FnZSBpcyBlbXB0eSBieSBsb29raW5nIGF0IHRoZSBjb250ZW50cyBvZiBpdHMgUEtHREVTVCBzdWJkaXJlY3RvcnkuIAogICAgICAgICAgICAgIyBJZiB0aGlzIHN1YmRpcmVjdG9yeSBpcyBlbXB0eSwgdGhlbiB0aGUgcGFja2FnZSBpcy4KICAgICAgICAgICAgICMgRW1wdHkgcGFja2FnZXMgZG8gbm90IGdldCBhZGRlZCB0byB0aGUgbWV0YSBwYWNrYWdlJ3MgUkRFUEVORFMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdHJlYW1lcjEuMC1wbHVnaW5zLWJhZF8xLjE0LjQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci9nc3RyZWFtZXIxLjAtcGx1Z2lucy1iYWRfMS4xNC40LmJiCmluZGV4IDhjN2MyMzUuLjQ5ODdiZTggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdHJlYW1lcjEuMC1wbHVnaW5zLWJhZF8xLjE0LjQuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFkXzEuMTQuNC5iYgpAQCAtMTgsNyArMTgsNyBAQAogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzNhNTg1NWE4MTE5ZGViMDE3ZjVmMTNjZjMyNzA5NWQgXAogICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTIxNjgyZTRlOGZlYTUyNDEzZmQyNmM2MGFjYjkwN2U1ICIKIAotREVQRU5EUyArPSAiZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZSBqcGVnIgorREVQRU5EUyArPSAiZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZSIKIAogaW5oZXJpdCBnZXR0ZXh0IGJsdWV0b290aAogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci9nc3RyZWFtZXIxLjAtcGx1Z2lucy11Z2x5XzEuMTQuNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdHJlYW1lcjEuMC1wbHVnaW5zLXVnbHlfMS4xNC40LmJiCmluZGV4IGM1OWJhMWQuLjE2OGU2NGQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdHJlYW1lcjEuMC1wbHVnaW5zLXVnbHlfMS4xNC40LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdHJlYW1lcjEuMC1wbHVnaW5zLXVnbHlfMS4xNC40LmJiCkBAIC0xNSw3ICsxNSw3IEBACiAKIFMgPSAiJHtXT1JLRElSfS9nc3QtcGx1Z2lucy11Z2x5LSR7UFZ9IgogCi1ERVBFTkRTICs9ICJnc3RyZWFtZXIxLjAtcGx1Z2lucy1iYXNlIGxpYmlkM3RhZyIKK0RFUEVORFMgKz0gImdzdHJlYW1lcjEuMC1wbHVnaW5zLWJhc2UiCiAKIGluaGVyaXQgZ2V0dGV4dAogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci9nc3RyZWFtZXIxLjBfMS4xNC40LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZ3N0cmVhbWVyMS4wXzEuMTQuNC5iYgppbmRleCAyMzIyMzRiLi45OGM5YTI4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci9nc3RyZWFtZXIxLjBfMS4xNC40LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdHJlYW1lcjEuMF8xLjE0LjQuYmIKQEAgLTI1LDYgKzI1LDcgQEAKICAgICBmaWxlOi8vZ3RrLWRvYy10d2Vha3MucGF0Y2ggXAogICAgIGZpbGU6Ly8wMDAxLWdzdC1nc3RwbHVnaW5sb2FkZXIuYy13aGVuLWVudi12YXItaXMtc2V0LWRvLW5vdC1mYWwucGF0Y2ggXAogICAgIGZpbGU6Ly9hZGQtYS10YXJnZXQtdG8tY29tcGlsZS10ZXN0cy5wYXRjaCBcCisgICAgZmlsZTovLzAwMDItZ3N0Y29uZmlnLmguaW4taW5pdGlhbC1SSVNDLVYtc3VwcG9ydC5wYXRjaCBcCiAgICAgZmlsZTovL3J1bi1wdGVzdCBcCiAiCiBTUkNfVVJJW21kNXN1bV0gPSAiZjY3ZmJiYzQyYmQ4NWEwNzAxZGYxMTlmNTJmYjUyYmQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmlkM3RhZy9saWJpZDN0YWcvMTBfdXRmMTYuZHBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJpZDN0YWcvbGliaWQzdGFnLzEwX3V0ZjE2LnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmlkM3RhZy9saWJpZDN0YWcvMTBfdXRmMTYuZHBhdGNoCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmlkM3RhZy9saWJpZDN0YWcvMTBfdXRmMTYucGF0Y2gKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGliaWQzdGFnL2xpYmlkM3RhZ18wLjE1LjFiLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJpZDN0YWcvbGliaWQzdGFnXzAuMTUuMWIuYmIKaW5kZXggZmUzMTY0Ni4uNDNlZGQzZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJpZDN0YWcvbGliaWQzdGFnXzAuMTUuMWIuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJpZDN0YWcvbGliaWQzdGFnXzAuMTUuMWIuYmIKQEAgLTEzLDcgKzEzLDcgQEAKICAgICAgICAgICAgZmlsZTovL2FkZHBrZ2NvbmZpZy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9vYnNvbGV0ZV9hdXRvbWFrZV9tYWNyb3MucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtZ3BlcmYtMy4xLWluY29tcGF0aWJpbGl0eS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8xMF91dGYxNi5kcGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMTBfdXRmMTYucGF0Y2ggXAogICAgICAgICAgICAiCiBVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbWFkL2ZpbGVzL2xpYmlkM3RhZy8iCiBVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICIvcHJvamVjdHMvbWFkL2ZpbGVzL2xpYmlkM3RhZy8oP1A8cHZlcj4uKikvJCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic25kZmlsZS9saWJzbmRmaWxlMS8wMDAxLWEtdWxhdy1maXgtbXVsdGlwbGUtYnVmZmVyLW92ZXJmbG93cy00MzIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNuZGZpbGUvbGlic25kZmlsZTEvMDAwMS1hLXVsYXctZml4LW11bHRpcGxlLWJ1ZmZlci1vdmVyZmxvd3MtNDMyLnBhdGNoCmluZGV4IGMzZjQ0Y2EuLmE0Njc5Y2UgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic25kZmlsZS9saWJzbmRmaWxlMS8wMDAxLWEtdWxhdy1maXgtbXVsdGlwbGUtYnVmZmVyLW92ZXJmbG93cy00MzIucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzbmRmaWxlL2xpYnNuZGZpbGUxLzAwMDEtYS11bGF3LWZpeC1tdWx0aXBsZS1idWZmZXItb3ZlcmZsb3dzLTQzMi5wYXRjaApAQCAtMSwzICsxLDE1IEBACitUaGlzIHBhdGNoIGZpeGVzICM0MjkgKENWRS0yMDE4LTE5NjYxIENWRS0yMDE4LTE5NjYyKSBhbmQgIzM0NCAoQ1ZFLTIwMTctMTc0NTYKK0NWRS0yMDE3LTE3NDU3KS4gQXMgcGVyCitodHRwczovL2dpdGh1Yi5jb20vZXJpa2QvbGlic25kZmlsZS9pc3N1ZXMvMzQ0I2lzc3VlY29tbWVudC00NDg1MDQ0MjUgaXQgYWxzbworZml4ZXMgIzMxNyAoQ1ZFLTIwMTctMTQyNDUgQ1ZFLTIwMTctMTQyNDYpLgorCitDVkU6IENWRS0yMDE3LTE0MjQ1IENWRS0yMDE3LTE0MjQ2CitDVkU6IENWRS0yMDE3LTE3NDU2IENWRS0yMDE3LTE3NDU3CitDVkU6IENWRS0yMDE4LTE5NjYxIENWRS0yMDE4LTE5NjYyCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgWzhkZGM0NDJkNTM5Y2E3NzVkODBjZGJjN2FmMTdhNzE4NjM0YTc0M2ZdCitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCiBGcm9tIDM5NDUzODk5ZmUxYmIzOWIyZTA0MWZkZjUxYTg1YWVjZDE3N2U5YzcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgogRGF0ZTogTW9uLCA3IEphbiAyMDE5IDE1OjU1OjAzICswODAwCkBAIC0xNywxMiArMjksNiBAQAogVGhpcyBjb21taXQgZml4ZXMgIzQyOSAoQ1ZFLTIwMTgtMTk2NjEgYW5kIENWRS0yMDE4LTE5NjYyKSBhbmQKIGZpeGVzICMzNDQgKENWRS0yMDE3LTE3NDU2IGFuZCBDVkUtMjAxNy0xNzQ1NykuCiAKLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnRbaHR0cHM6Ly9naXRodWIuY29tL2VyaWtkL2xpYnNuZGZpbGUvCi1jb21taXQvNTg1Y2MyOGE5M2JlMjdkNjkzOGYyNzZhZjAwMTE0MDFiOWY3YzBjYV0KLQotQ1ZFOiBDVkUtMjAxNy0xNzQ1NiBDVkUtMjAxNy0xNzQ1NyBDVkUtMjAxOC0xOTY2MSBDVkUtMjAxOC0xOTY2MgotCi1TaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgogLS0tCiAgc3JjL2FsYXcuYyB8IDkgKysrKysrKy0tCiAgc3JjL3VsYXcuYyB8IDkgKysrKysrKy0tCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNuZGZpbGUvbGlic25kZmlsZTEvQ1ZFLTIwMTctMTI1NjIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNuZGZpbGUvbGlic25kZmlsZTEvQ1ZFLTIwMTctMTI1NjIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDkxZGFlMwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic25kZmlsZS9saWJzbmRmaWxlMS9DVkUtMjAxNy0xMjU2Mi5wYXRjaApAQCAtMCwwICsxLDk2IEBACitIZWFwLWJhc2VkIEJ1ZmZlciBPdmVyZmxvdyBpbiB0aGUgcHNmX2JpbmhlYWRlcl93cml0ZWYgZnVuY3Rpb24gaW4gY29tbW9uLmMgaW4KK2xpYnNuZGZpbGUgdGhyb3VnaCAxLjAuMjggYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gY2F1c2UgYSBkZW5pYWwgb2Ygc2VydmljZQorKGFwcGxpY2F0aW9uIGNyYXNoKSBvciBwb3NzaWJseSBoYXZlIHVuc3BlY2lmaWVkIG90aGVyIGltcGFjdC4KKworQ1ZFOiBDVkUtMjAxNy0xMjU2MgorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbY2Y3YTgxODJjMjY0MmM1MGYxY2Y5MGRkZGVhOWNlOTZhOGJhZDJlOF0KK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK0Zyb20gYjZhOWQ3ZTk1ODg4ZmZhNzdkOGM3NWNlM2YwM2U2YzcxNjU1ODdjZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9KPUMzPUI2cm49MjBIZXVzaXBwPz0gPG9zbWFueEBwcm9ibGVtbG9lc3VuZ3NtYXNjaGluZS5kZT4KK0RhdGU6IFdlZCwgMTQgSnVuIDIwMTcgMTI6MjU6NDAgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gc3JjL2NvbW1vbi5jOiBGaXggaGVhcCBidWZmZXIgb3ZlcmZsb3dzIHdoZW4gd3JpdGluZyBzdHJpbmdzCisgaW4gYmluaGVhZGVyCisKK0ZpeGVzIHRoZSBmb2xsb3dpbmcgcHJvYmxlbXM6CisgMS4gQ2FzZSAncycgb25seSBlbmxhcmdlcyB0aGUgYnVmZmVyIGJ5IDE2IGJ5dGVzIGluc3RlYWQgb2Ygc2l6ZSBieXRlcy4KKyAyLiBwc2ZfYmluaGVhZGVyX3dyaXRlZigpIGVubGFyZ2VzIHRoZSBoZWFkZXIgYnVmZmVyIChpZiBuZWVkZWQpIHByaW9yIHRvIHRoZQorICAgIGJpZyBzd2l0Y2ggc3RhdGVtZW50IGJ5IGFuIGFtb3VudCAoMTYgYnl0ZXMpIHdoaWNoIGlzIGVub3VnaCBmb3IgYWxsIGNhc2VzCisgICAgd2hlcmUgb25seSBhIHNpbmdsZSB2YWx1ZSBnZXRzIGFkZGVkLiBDYXNlcyAncycsICdTJywgJ3AnIGhvd2V2ZXIKKyAgICBhZGRpdGlvbmFsbHkgd3JpdGUgYW4gYXJiaXRyYXJ5IGxlbmd0aCBibG9jayBvZiBkYXRhIGFuZCBhZ2FpbiBlbmxhcmdlIHRoZQorICAgIGJ1ZmZlciB0byB0aGUgcmVxdWlyZWQgYW1vdW50LiBIb3dldmVyLCB0aGUgcmVxdWlyZWQgc3BhY2UgY2FsY3VsYXRpb24gZG9lcworICAgIG5vdCB0YWtlIGludG8gYWNjb3VudCB0aGUgc2l6ZSBvZiB0aGUgbGVuZ3RoIGZpZWxkIHdoaWNoIGdldHMgb3V0cHV0IGJlZm9yZQorICAgIHRoZSBkYXRhLgorIDMuIEJ1ZmZlciBzaXplIHJlcXVpcmVtZW50IGNhbGN1bGF0aW9uIGluIGNhc2UgJ1MnIGRvZXMgbm90IGFjY291bnQgZm9yIHRoZQorICAgIHBhZGRpbmcgYnl0ZSAoInNpemUgKz0gKHNpemUgJiAxKSA7IiBoYXBwZW5zIGFmdGVyIHRoZSBjYWxjdWxhdGlvbiB3aGljaAorICAgIHVzZXMgInNpemUiKS4KKyA0LiBDYXNlICdTJyBjYW4gb3ZlcnJ1biB0aGUgaGVhZGVyIGJ1ZmZlciBieSAxIGJ5dGUgd2hlbiBubyBwYWRkaW5nIGlzCisgICAgaW52b2x2ZWQKKyAgICAoIm1lbWNweSAoJihwc2YtPmhlYWRlci5wdHIgW3BzZi0+aGVhZGVyLmluZHhdKSwgc3RycHRyLCBzaXplICsgMSkgOyIgd2hpbGUKKyAgICB0aGUgYnVmZmVyIGlzIG9ubHkgZ3VhcmFudGVlZCB0byBoYXZlICJzaXplIiBzcGFjZSBhdmFpbGFibGUpLgorIDUuICJwc2YtPmhlYWRlci5wdHIgW3BzZi0+aGVhZGVyLmluZHhdID0gMCA7IiBpbiBjYXNlICdTJyBhbHdheXMgd3JpdGVzIDEgYnl0ZQorICAgIGJleW9uZCB0aGUgc3BhY2Ugd2hpY2ggaXMgZ3VhcmFudGVlZCB0byBiZSBhbGxvY2F0ZWQgaW4gdGhlIGhlYWRlciBidWZmZXIuCisgNi4gQ2FzZSAncycgY2FuIG92ZXJydW4gdGhlIHByb3ZpZGVkIHNvdXJjZSBzdHJpbmcgYnkgMSBieXRlIGlmIHBhZGRpbmcgaXMKKyAgICBpbnZvbHZlZCAoIm1lbWNweSAoJihwc2YtPmhlYWRlci5wdHIgW3BzZi0+aGVhZGVyLmluZHhdKSwgc3RycHRyLCBzaXplKSA7IgorICAgIHdoZXJlICJzaXplIiBpcyAic3RybGVuIChzdHJwdHIpICsgMSIgKHdoaWNoIGluY2x1ZGVzIHRoZSAwIHRlcm1pbmF0b3IsCisgICAgcGx1cyBvcHRpb25hbGx5IGFub3RoZXIgMSB3aGljaCBpcyBwYWRkaW5nIGFuZCBub3QgZ3VhcmFudGVlZCB0byBiZQorICAgIHJlYWRhYmxlIHZpYSB0aGUgc291cmNlIHN0cmluZyBwb2ludGVyKS4KKworQ2xvc2VzOiBodHRwczovL2dpdGh1Yi5jb20vZXJpa2QvbGlic25kZmlsZS9pc3N1ZXMvMjkyCistLS0KKyBzcmMvY29tbW9uLmMgfCAxNSArKysrKysrLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2NvbW1vbi5jIGIvc3JjL2NvbW1vbi5jCitpbmRleCAxYTYyMDRjYS4uNmIyYTJlZTkgMTAwNjQ0CistLS0gYS9zcmMvY29tbW9uLmMKKysrKyBiL3NyYy9jb21tb24uYworQEAgLTY4MSwxNiArNjgxLDE2IEBAIHBzZl9iaW5oZWFkZXJfd3JpdGVmIChTRl9QUklWQVRFICpwc2YsIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKQorIAkJCQkJLyogV3JpdGUgYSBDIHN0cmluZyAoZ3VhcmFudGVlZCB0byBoYXZlIGEgemVybyB0ZXJtaW5hdG9yKS4gKi8KKyAJCQkJCXN0cnB0ciA9IHZhX2FyZyAoYXJncHRyLCBjaGFyICopIDsKKyAJCQkJCXNpemUgPSBzdHJsZW4gKHN0cnB0cikgKyAxIDsKKy0JCQkJCXNpemUgKz0gKHNpemUgJiAxKSA7CisgCistCQkJCQlpZiAocHNmLT5oZWFkZXIuaW5keCArIChzZl9jb3VudF90KSBzaXplID49IHBzZi0+aGVhZGVyLmxlbiAmJiBwc2ZfYnVtcF9oZWFkZXJfYWxsb2NhdGlvbiAocHNmLCAxNikpCisrCQkJCQlpZiAocHNmLT5oZWFkZXIuaW5keCArIDQgKyAoc2ZfY291bnRfdCkgc2l6ZSArIChzZl9jb3VudF90KSAoc2l6ZSAmIDEpID4gcHNmLT5oZWFkZXIubGVuICYmIHBzZl9idW1wX2hlYWRlcl9hbGxvY2F0aW9uIChwc2YsIDQgKyBzaXplICsgKHNpemUgJiAxKSkpCisgCQkJCQkJcmV0dXJuIGNvdW50IDsKKyAKKyAJCQkJCWlmIChwc2YtPnJ3Zl9lbmRpYW4gPT0gU0ZfRU5ESUFOX0JJRykKKy0JCQkJCQloZWFkZXJfcHV0X2JlX2ludCAocHNmLCBzaXplKSA7CisrCQkJCQkJaGVhZGVyX3B1dF9iZV9pbnQgKHBzZiwgc2l6ZSArIChzaXplICYgMSkpIDsKKyAJCQkJCWVsc2UKKy0JCQkJCQloZWFkZXJfcHV0X2xlX2ludCAocHNmLCBzaXplKSA7CisrCQkJCQkJaGVhZGVyX3B1dF9sZV9pbnQgKHBzZiwgc2l6ZSArIChzaXplICYgMSkpIDsKKyAJCQkJCW1lbWNweSAoJihwc2YtPmhlYWRlci5wdHIgW3BzZi0+aGVhZGVyLmluZHhdKSwgc3RycHRyLCBzaXplKSA7CisrCQkJCQlzaXplICs9IChzaXplICYgMSkgOworIAkJCQkJcHNmLT5oZWFkZXIuaW5keCArPSBzaXplIDsKKyAJCQkJCXBzZi0+aGVhZGVyLnB0ciBbcHNmLT5oZWFkZXIuaW5keCAtIDFdID0gMCA7CisgCQkJCQljb3VudCArPSA0ICsgc2l6ZSA7CitAQCAtNzAzLDE2ICs3MDMsMTUgQEAgcHNmX2JpbmhlYWRlcl93cml0ZWYgKFNGX1BSSVZBVEUgKnBzZiwgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCisgCQkJCQkqLworIAkJCQkJc3RycHRyID0gdmFfYXJnIChhcmdwdHIsIGNoYXIgKikgOworIAkJCQkJc2l6ZSA9IHN0cmxlbiAoc3RycHRyKSA7CistCQkJCQlpZiAocHNmLT5oZWFkZXIuaW5keCArIChzZl9jb3VudF90KSBzaXplID4gcHNmLT5oZWFkZXIubGVuICYmIHBzZl9idW1wX2hlYWRlcl9hbGxvY2F0aW9uIChwc2YsIHNpemUpKQorKwkJCQkJaWYgKHBzZi0+aGVhZGVyLmluZHggKyA0ICsgKHNmX2NvdW50X3QpIHNpemUgKyAoc2ZfY291bnRfdCkgKHNpemUgJiAxKSA+IHBzZi0+aGVhZGVyLmxlbiAmJiBwc2ZfYnVtcF9oZWFkZXJfYWxsb2NhdGlvbiAocHNmLCA0ICsgc2l6ZSArIChzaXplICYgMSkpKQorIAkJCQkJCXJldHVybiBjb3VudCA7CisgCQkJCQlpZiAocHNmLT5yd2ZfZW5kaWFuID09IFNGX0VORElBTl9CSUcpCisgCQkJCQkJaGVhZGVyX3B1dF9iZV9pbnQgKHBzZiwgc2l6ZSkgOworIAkJCQkJZWxzZQorIAkJCQkJCWhlYWRlcl9wdXRfbGVfaW50IChwc2YsIHNpemUpIDsKKy0JCQkJCW1lbWNweSAoJihwc2YtPmhlYWRlci5wdHIgW3BzZi0+aGVhZGVyLmluZHhdKSwgc3RycHRyLCBzaXplICsgMSkgOworKwkJCQkJbWVtY3B5ICgmKHBzZi0+aGVhZGVyLnB0ciBbcHNmLT5oZWFkZXIuaW5keF0pLCBzdHJwdHIsIHNpemUgKyAoc2l6ZSAmIDEpKSA7CisgCQkJCQlzaXplICs9IChzaXplICYgMSkgOworIAkJCQkJcHNmLT5oZWFkZXIuaW5keCArPSBzaXplIDsKKy0JCQkJCXBzZi0+aGVhZGVyLnB0ciBbcHNmLT5oZWFkZXIuaW5keF0gPSAwIDsKKyAJCQkJCWNvdW50ICs9IDQgKyBzaXplIDsKKyAJCQkJCWJyZWFrIDsKKyAKK0BAIC03MjQsNyArNzIzLDcgQEAgcHNmX2JpbmhlYWRlcl93cml0ZWYgKFNGX1BSSVZBVEUgKnBzZiwgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCisgCQkJCQlzaXplID0gKHNpemUgJiAxKSA/IHNpemUgOiBzaXplICsgMSA7CisgCQkJCQlzaXplID0gKHNpemUgPiAyNTQpID8gMjU0IDogc2l6ZSA7CisgCistCQkJCQlpZiAocHNmLT5oZWFkZXIuaW5keCArIChzZl9jb3VudF90KSBzaXplID4gcHNmLT5oZWFkZXIubGVuICYmIHBzZl9idW1wX2hlYWRlcl9hbGxvY2F0aW9uIChwc2YsIHNpemUpKQorKwkJCQkJaWYgKHBzZi0+aGVhZGVyLmluZHggKyAxICsgKHNmX2NvdW50X3QpIHNpemUgPiBwc2YtPmhlYWRlci5sZW4gJiYgcHNmX2J1bXBfaGVhZGVyX2FsbG9jYXRpb24gKHBzZiwgMSArIHNpemUpKQorIAkJCQkJCXJldHVybiBjb3VudCA7CisgCisgCQkJCQloZWFkZXJfcHV0X2J5dGUgKHBzZiwgc2l6ZSkgOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzbmRmaWxlL2xpYnNuZGZpbGUxL0NWRS0yMDE3LTE0MjQ1LTE0MjQ2LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzbmRmaWxlL2xpYnNuZGZpbGUxL0NWRS0yMDE3LTE0MjQ1LTE0MjQ2LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMTdlYzIxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic25kZmlsZS9saWJzbmRmaWxlMS9DVkUtMjAxNy0xNDI0NS0xNDI0Ni5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEyMSArMCwwIEBACi1Gcm9tIDJkNTQ1MTRhNGY2NDM3YjY3ODI5NzE3YzA1NDcyZDJlMzMwMGEyNTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGYWJpYW4gR3JlZmZyYXRoIDxmYWJpYW5AZ3JlZmZyYXRoLmNvbT4KLURhdGU6IFdlZCwgMjcgU2VwIDIwMTcgMTQ6NDY6MTcgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gc2ZlX2NvcHlfZGF0YV9mcDogY2hlY2sgdmFsdWUgb2YgIm1heCIgdmFyaWFibGUgZm9yIGJlaW5nCi0gbm9ybWFsCi0KLWFuZCBjaGVjayBlbGVtZW50cyBvZiB0aGUgZGF0YVtdIGFycmF5IGZvciBiZWluZyBmaW5pdGUuCi0KLUJvdGggY2hlY2tzIHVzZSBmdW5jdGlvbnMgcHJvdmlkZWQgYnkgdGhlIDxtYXRoLmg+IGhlYWRlciBhcyBkZWNsYXJlZAotYnkgdGhlIEM5OSBzdGFuZGFyZC4KLQotRml4ZXMgIzMxNwotQ1ZFOiBDVkUtMjAxNy0xNDI0NQotQ1ZFOiBDVkUtMjAxNy0xNDI0NgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGh1Yi5jb20vZmFiaWFuZ3JlZmZyYXRoL2xpYnNuZGZpbGUvY29tbWl0LzJkNTQ1MTRhNGY2NDM3YjY3ODI5NzE3YzA1NDcyZDJlMzMwMGEyNThdCi0KLVNpZ25lZC1vZmYtYnk6IEZhYmlhbiBHcmVmZnJhdGggPGZhYmlhbkBncmVmZnJhdGguY29tPgotU2lnbmVkLW9mZi1ieTogSmFnYWRlZXNoIEtyaXNobmFuamFuYXBwYSA8amtyaXNobmFuamFuYXBwYUBtdmlzdGEuY29tPgotLS0tCi0gcHJvZ3JhbXMvY29tbW9uLmMgICAgICAgICAgfCAyMCArKysrKysrKysrKysrKysrLS0tLQotIHByb2dyYW1zL2NvbW1vbi5oICAgICAgICAgIHwgIDIgKy0KLSBwcm9ncmFtcy9zbmRmaWxlLWNvbnZlcnQuYyB8ICA2ICsrKysrLQotIDMgZmlsZXMgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3Byb2dyYW1zL2NvbW1vbi5jIGIvcHJvZ3JhbXMvY29tbW9uLmMKLWluZGV4IGEyMWU2MmMuLmEyNDlhNTggMTAwNjQ0Ci0tLS0gYS9wcm9ncmFtcy9jb21tb24uYwotKysrIGIvcHJvZ3JhbXMvY29tbW9uLmMKLUBAIC0zNiw2ICszNiw3IEBACi0gI2luY2x1ZGUgPHN0cmluZy5oPgotICNpbmNsdWRlIDxjdHlwZS5oPgotICNpbmNsdWRlIDxzdGRpbnQuaD4KLSsjaW5jbHVkZSA8bWF0aC5oPgotIAotICNpbmNsdWRlIDxzbmRmaWxlLmg+Ci0gCi1AQCAtNDUsNyArNDYsNyBAQAotIAotICNkZWZpbmUJTUlOKHgsIHkpCSgoeCkgPCAoeSkgPyAoeCkgOiAoeSkpCi0gCi0tdm9pZAotK2ludAotIHNmZV9jb3B5X2RhdGFfZnAgKFNOREZJTEUgKm91dGZpbGUsIFNOREZJTEUgKmluZmlsZSwgaW50IGNoYW5uZWxzLCBpbnQgbm9ybWFsaXplKQotIHsJc3RhdGljIGRvdWJsZQlkYXRhIFtCVUZGRVJfTEVOXSwgbWF4IDsKLSAJaW50CQlmcmFtZXMsIHJlYWRjb3VudCwgayA7Ci1AQCAtNTQsNiArNTUsOCBAQCBzZmVfY29weV9kYXRhX2ZwIChTTkRGSUxFICpvdXRmaWxlLCBTTkRGSUxFICppbmZpbGUsIGludCBjaGFubmVscywgaW50IG5vcm1hbGl6ZQotIAlyZWFkY291bnQgPSBmcmFtZXMgOwotIAotIAlzZl9jb21tYW5kIChpbmZpbGUsIFNGQ19DQUxDX1NJR05BTF9NQVgsICZtYXgsIHNpemVvZiAobWF4KSkgOwotKwlpZiAoIWlzbm9ybWFsIChtYXgpKSAvKiBuZWl0aGVyIHplcm8sIHN1Ym5vcm1hbCwgaW5maW5pdGUsIG5vciBOYU4gKi8KLSsJCXJldHVybiAxIDsKLSAKLSAJaWYgKCFub3JtYWxpemUgJiYgbWF4IDwgMS4wKQotIAl7CXdoaWxlIChyZWFkY291bnQgPiAwKQotQEAgLTY3LDEyICs3MCwxNiBAQCBzZmVfY29weV9kYXRhX2ZwIChTTkRGSUxFICpvdXRmaWxlLCBTTkRGSUxFICppbmZpbGUsIGludCBjaGFubmVscywgaW50IG5vcm1hbGl6ZQotIAkJd2hpbGUgKHJlYWRjb3VudCA+IDApCi0gCQl7CXJlYWRjb3VudCA9IHNmX3JlYWRmX2RvdWJsZSAoaW5maWxlLCBkYXRhLCBmcmFtZXMpIDsKLSAJCQlmb3IgKGsgPSAwIDsgayA8IHJlYWRjb3VudCAqIGNoYW5uZWxzIDsgaysrKQotLQkJCQlkYXRhIFtrXSAvPSBtYXggOwotKwkJCXsJZGF0YSBba10gLz0gbWF4IDsKLSsKLSsJCQkJaWYgKCFpc2Zpbml0ZSAoZGF0YSBba10pKSAvKiBpbmZpbml0ZSBvciBOYU4gKi8KLSsJCQkJCXJldHVybiAxOwotKwkJCQl9Ci0gCQkJc2Zfd3JpdGVmX2RvdWJsZSAob3V0ZmlsZSwgZGF0YSwgcmVhZGNvdW50KSA7Ci0gCQkJfSA7Ci0gCQl9IDsKLSAKLS0JcmV0dXJuIDsKLSsJcmV0dXJuIDAgOwotIH0gLyogc2ZlX2NvcHlfZGF0YV9mcCAqLwotIAotIHZvaWQKLUBAIC0yNTIsNyArMjU5LDEyIEBAIHNmZV9hcHBseV9tZXRhZGF0YV9jaGFuZ2VzIChjb25zdCBjaGFyICogZmlsZW5hbWVzIFsyXSwgY29uc3QgTUVUQURBVEFfSU5GTyAqIGluCi0gCi0gCQkvKiBJZiB0aGUgaW5wdXQgZmlsZSBpcyBub3QgdGhlIHNhbWUgYXMgdGhlIG91dHB1dCBmaWxlLCBjb3B5IHRoZSBkYXRhLiAqLwotIAkJaWYgKChpbmZpbGVtaW5vciA9PSBTRl9GT1JNQVRfRE9VQkxFKSB8fCAoaW5maWxlbWlub3IgPT0gU0ZfRk9STUFUX0ZMT0FUKSkKLS0JCQlzZmVfY29weV9kYXRhX2ZwIChvdXRmaWxlLCBpbmZpbGUsIHNmaW5mby5jaGFubmVscywgU0ZfRkFMU0UpIDsKLSsJCXsJaWYgKHNmZV9jb3B5X2RhdGFfZnAgKG91dGZpbGUsIGluZmlsZSwgc2ZpbmZvLmNoYW5uZWxzLCBTRl9GQUxTRSkgIT0gMCkKLSsJCQl7CXByaW50ZiAoIkVycm9yIDogTm90IGFibGUgdG8gZGVjb2RlIGlucHV0IGZpbGUgJyVzJ1xuIiwgZmlsZW5hbWVzIFswXSkgOwotKwkJCQllcnJvcl9jb2RlID0gMSA7Ci0rCQkJCWdvdG8gY2xlYW51cF9leGl0IDsKLSsJCQkJfSA7Ci0rCQkJfQotIAkJZWxzZQotIAkJCXNmZV9jb3B5X2RhdGFfaW50IChvdXRmaWxlLCBpbmZpbGUsIHNmaW5mby5jaGFubmVscykgOwotIAkJfSA7Ci1kaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvY29tbW9uLmggYi9wcm9ncmFtcy9jb21tb24uaAotaW5kZXggZWRhMmQ3ZC4uOTg2Mjc3ZSAxMDA2NDQKLS0tLSBhL3Byb2dyYW1zL2NvbW1vbi5oCi0rKysgYi9wcm9ncmFtcy9jb21tb24uaAotQEAgLTYyLDcgKzYyLDcgQEAgdHlwZWRlZiBTRl9CUk9BRENBU1RfSU5GT19WQVIgKDIwNDgpIFNGX0JST0FEQ0FTVF9JTkZPXzJLIDsKLSAKLSB2b2lkIHNmZV9hcHBseV9tZXRhZGF0YV9jaGFuZ2VzIChjb25zdCBjaGFyICogZmlsZW5hbWVzIFsyXSwgY29uc3QgTUVUQURBVEFfSU5GTyAqIGluZm8pIDsKLSAKLS12b2lkIHNmZV9jb3B5X2RhdGFfZnAgKFNOREZJTEUgKm91dGZpbGUsIFNOREZJTEUgKmluZmlsZSwgaW50IGNoYW5uZWxzLCBpbnQgbm9ybWFsaXplKSA7Ci0raW50IHNmZV9jb3B5X2RhdGFfZnAgKFNOREZJTEUgKm91dGZpbGUsIFNOREZJTEUgKmluZmlsZSwgaW50IGNoYW5uZWxzLCBpbnQgbm9ybWFsaXplKSA7Ci0gCi0gdm9pZCBzZmVfY29weV9kYXRhX2ludCAoU05ERklMRSAqb3V0ZmlsZSwgU05ERklMRSAqaW5maWxlLCBpbnQgY2hhbm5lbHMpIDsKLSAKLWRpZmYgLS1naXQgYS9wcm9ncmFtcy9zbmRmaWxlLWNvbnZlcnQuYyBiL3Byb2dyYW1zL3NuZGZpbGUtY29udmVydC5jCi1pbmRleCBkZmY3Zjc5Li5lNmRlNTkzIDEwMDY0NAotLS0tIGEvcHJvZ3JhbXMvc25kZmlsZS1jb252ZXJ0LmMKLSsrKyBiL3Byb2dyYW1zL3NuZGZpbGUtY29udmVydC5jCi1AQCAtMzM1LDcgKzMzNSwxMSBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqIGFyZ3YgW10pCi0gCQkJfHwgKG91dGZpbGVtaW5vciA9PSBTRl9GT1JNQVRfRE9VQkxFKSB8fCAob3V0ZmlsZW1pbm9yID09IFNGX0ZPUk1BVF9GTE9BVCkKLSAJCQl8fCAoaW5maWxlbWlub3IgPT0gU0ZfRk9STUFUX0RPVUJMRSkgfHwgKGluZmlsZW1pbm9yID09IFNGX0ZPUk1BVF9GTE9BVCkKLSAJCQl8fCAoaW5maWxlbWlub3IgPT0gU0ZfRk9STUFUX1ZPUkJJUykgfHwgKG91dGZpbGVtaW5vciA9PSBTRl9GT1JNQVRfVk9SQklTKSkKLS0JCXNmZV9jb3B5X2RhdGFfZnAgKG91dGZpbGUsIGluZmlsZSwgc2ZpbmZvLmNoYW5uZWxzLCBub3JtYWxpemUpIDsKLSsJewlpZiAoc2ZlX2NvcHlfZGF0YV9mcCAob3V0ZmlsZSwgaW5maWxlLCBzZmluZm8uY2hhbm5lbHMsIG5vcm1hbGl6ZSkgIT0gMCkKLSsJCXsJcHJpbnRmICgiRXJyb3IgOiBOb3QgYWJsZSB0byBkZWNvZGUgaW5wdXQgZmlsZSAlcy5cbiIsIGluZmlsZW5hbWUpIDsKLSsJCQlyZXR1cm4gMSA7Ci0rCQkJfSA7Ci0rCQl9Ci0gCWVsc2UKLSAJCXNmZV9jb3B5X2RhdGFfaW50IChvdXRmaWxlLCBpbmZpbGUsIHNmaW5mby5jaGFubmVscykgOwotIAotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNuZGZpbGUvbGlic25kZmlsZTEvQ1ZFLTIwMTgtMTMxMzkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNuZGZpbGUvbGlic25kZmlsZTEvQ1ZFLTIwMTgtMTMxMzkucGF0Y2gKaW5kZXggNGFlMzY3NC4uNzA3MzczZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzbmRmaWxlL2xpYnNuZGZpbGUxL0NWRS0yMDE4LTEzMTM5LnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic25kZmlsZS9saWJzbmRmaWxlMS9DVkUtMjAxOC0xMzEzOS5wYXRjaApAQCAtMSwyMyArMSwyNSBAQAotRnJvbSA1NDczYWVlZjc4NzVlNTRiZDBmNzg2ZmJkZDI1OWEzNWFhZWU4NzVjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KLURhdGU6IFdlZCwgMTAgT2N0IDIwMTggMDg6NTk6MzAgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gbGlic25kZmlsZTE6IHBhdGNoIGZvciBDVkUtMjAxOC0xMzEzOQotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGh1Yi5jb20vYndhcmRlbi9saWJzbmRmaWxlLwotY29tbWl0L2RmMTgzMjNjNjIyYjU0MjIxZWU3YWNlNzRiMTc3Y2RjY2NjMTUyZDddCi0KIENWRTogQ1ZFLTIwMTgtMTMxMzkKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgWzlkYzk4OWViODljZDY5N2UxOTg5N2FmYTYxNmQ2YWIwZGViZTQ4MjJdCitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgogCi1TaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorRnJvbSA5ZGM5ODllYjg5Y2Q2OTdlMTk4OTdhZmE2MTZkNmFiMGRlYmU0ODIyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogIkJyZXR0IFQuIFdhcmRlbiIgPGJyZXR0LnQud2FyZGVuQGludGVsLmNvbT4KK0RhdGU6IFR1ZSwgMjggQXVnIDIwMTggMTI6MDE6MTcgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gQ2hlY2sgTUFYX0NIQU5ORUxTIGluIHNuZGZpbGUtZGVpbnRlcmxlYXZlCisKK0FsbG9jYXRlZCBidWZmZXIgaGFzIHNwYWNlIGZvciBvbmx5IDE2IGNoYW5uZWxzLiBWZXJpZnkgdGhhdCBpbnB1dCBmaWxlCittZWV0cyB0aGlzIGxpbWl0LgorCitGaXhlcyAjMzk3CiAtLS0KLSBwcm9ncmFtcy9zbmRmaWxlLWRlaW50ZXJsZWF2ZS5jIHwgNiArKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspCisgcHJvZ3JhbXMvc25kZmlsZS1kZWludGVybGVhdmUuYyB8IDcgKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKykKIAogZGlmZiAtLWdpdCBhL3Byb2dyYW1zL3NuZGZpbGUtZGVpbnRlcmxlYXZlLmMgYi9wcm9ncmFtcy9zbmRmaWxlLWRlaW50ZXJsZWF2ZS5jCi1pbmRleCBlMjc1OTNlLi43MjFiZWU3IDEwMDY0NAoraW5kZXggZTI3NTkzZTIuLmNiNDk3ZTFmIDEwMDY0NAogLS0tIGEvcHJvZ3JhbXMvc25kZmlsZS1kZWludGVybGVhdmUuYwogKysrIGIvcHJvZ3JhbXMvc25kZmlsZS1kZWludGVybGVhdmUuYwotQEAgLTg5LDYgKzg5LDEyIEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKK0BAIC04OSw2ICs4OSwxMyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgCQlleGl0ICgxKSA7CiAgCQl9IDsKICAKQEAgLTI3LDkgKzI5LDkgQEAKICsJCWV4aXQgKDEpIDsKICsJCX0gOwogKworKwogIAlzdGF0ZS5jaGFubmVscyA9IHNmaW5mby5jaGFubmVscyA7CiAgCXNmaW5mby5jaGFubmVscyA9IDEgOwogIAogLS0gCi0yLjcuNAotCisyLjExLjAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic25kZmlsZS9saWJzbmRmaWxlMS9DVkUtMjAxOC0xOTc1OC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic25kZmlsZS9saWJzbmRmaWxlMS9DVkUtMjAxOC0xOTc1OC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMzU4NmY5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzbmRmaWxlL2xpYnNuZGZpbGUxL0NWRS0yMDE4LTE5NzU4LnBhdGNoCkBAIC0wLDAgKzEsMzQgQEAKK1RoZXJlIGlzIGEgaGVhcC1iYXNlZCBidWZmZXIgb3Zlci1yZWFkIGF0IHdhdi5jIGluIHdhdl93cml0ZV9oZWFkZXIgaW4KK2xpYnNuZGZpbGUgMS4wLjI4IHRoYXQgd2lsbCBjYXVzZSBhIGRlbmlhbCBvZiBzZXJ2aWNlLgorCitDVkU6IENWRS0yMDE4LTE5NzU4CitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFs0MjEzMmM1NDMzNThjZWU5ZjdjM2U5ZTliMTViYjZjMTA2M2E2MDhlXQorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworRnJvbSBjMTIxNzNiMDE5N2RkMGM1Y2ZhMmNkMjc5NzdlOTgyZDJhZTU5NDg2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRXJpayBkZSBDYXN0cm8gTG9wbyA8ZXJpa2RAbWVnYS1uZXJkLmNvbT4KK0RhdGU6IFR1ZSwgMSBKYW4gMjAxOSAyMDoxMTo0NiArMTEwMAorU3ViamVjdDogW1BBVENIXSBzcmMvd2F2LmM6IEZpeCBoZWFwIHJlYWQgb3ZlcmZsb3cKKworVGhpcyBpcyBDVkUtMjAxOC0xOTc1OC4KKworQ2xvc2VzOiBodHRwczovL2dpdGh1Yi5jb20vZXJpa2QvbGlic25kZmlsZS9pc3N1ZXMvNDM1CistLS0KKyBzcmMvd2F2LmMgfCAyICsrCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc3JjL3dhdi5jIGIvc3JjL3dhdi5jCitpbmRleCBlODQwNWI1NS4uNmZiOTRhZTggMTAwNjQ0CistLS0gYS9zcmMvd2F2LmMKKysrKyBiL3NyYy93YXYuYworQEAgLTEwOTQsNiArMTA5NCw4IEBAIHdhdl93cml0ZV9oZWFkZXIgKFNGX1BSSVZBVEUgKnBzZiwgaW50IGNhbGNfbGVuZ3RoKQorIAkJcHNmX2JpbmhlYWRlcl93cml0ZWYgKHBzZiwgIjQ0IiwgMCwgMCkgOyAvKiBTTVRQRSBmb3JtYXQgKi8KKyAJCXBzZl9iaW5oZWFkZXJfd3JpdGVmIChwc2YsICI0NCIsIHBzZi0+aW5zdHJ1bWVudC0+bG9vcF9jb3VudCwgMCkgOworIAorKwkJLyogTG9vcCBjb3VudCBpcyBzaWduZWQgMTYgYml0IG51bWJlciBzbyB3ZSBsaW1pdCBpdCByYW5nZSB0byBzb21ldGhpbmcgc2Vuc2libGUuICovCisrCQlwc2YtPmluc3RydW1lbnQtPmxvb3BfY291bnQgJj0gMHg3ZmZmIDsKKyAJCWZvciAodG1wID0gMCA7IHRtcCA8IHBzZi0+aW5zdHJ1bWVudC0+bG9vcF9jb3VudCA7IHRtcCsrKQorIAkJewlpbnQgdHlwZSA7CisgCistLSAKKzIuMTEuMApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzbmRmaWxlL2xpYnNuZGZpbGUxL0NWRS0yMDE5LTM4MzIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNuZGZpbGUvbGlic25kZmlsZTEvQ1ZFLTIwMTktMzgzMi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYjM3MjExCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzbmRmaWxlL2xpYnNuZGZpbGUxL0NWRS0yMDE5LTM4MzIucGF0Y2gKQEAgLTAsMCArMSwzNyBAQAorRnJvbSA0Mzg4NmVmYzQwOGMyMWUxZTMyOTA4NmVmNzBjODg4NjAzMTBmMjViIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRW1pbGlvIFBvenVlbG8gTW9uZm9ydCA8cG9jaHUyN0BnbWFpbC5jb20+CitEYXRlOiBUdWUsIDUgTWFyIDIwMTkgMTE6Mjc6MTcgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gd2F2X3dyaXRlX2hlYWRlcjogZG9uJ3QgcmVhZCBwYXN0IHRoZSBhcnJheSBlbmQKKworQ1ZFLTIwMTgtMTk3NTggd2Fzbid0IGVudGlyZWx5IGZpeGVkIGluIHRoZSBmaXgsIHNvIGZpeCBpdCBoYXJkZXIuCisKK0NWRTogQ1ZFLTIwMTktMzgzMgorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbNzQwOGM0Yzc4OGNlMDQ3ZDRlNjUyYjYwYTA0ZTc3OTZiY2Q3MjY3ZV0KK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK0lmIGxvb3BfY291bnQgaXMgYmlnZ2VyIHRoYW4gdGhlIGFycmF5LCB0cnVuY2F0ZSBpdCB0byB0aGUgYXJyYXkKK2xlbmd0aCAoYW5kIG5vdCB0byAzMmspLgorCitDVkUtMjAxOS0zODMyCisKKy0tLQorIHNyYy93YXYuYyB8IDYgKysrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy93YXYuYyBiL3NyYy93YXYuYworaW5kZXggZGFhZTNjYy4uODg1MTU0OSAxMDA2NDQKKy0tLSBhL3NyYy93YXYuYworKysrIGIvc3JjL3dhdi5jCitAQCAtMTA5NCw4ICsxMDk0LDEwIEBAIHdhdl93cml0ZV9oZWFkZXIgKFNGX1BSSVZBVEUgKnBzZiwgaW50IGNhbGNfbGVuZ3RoKQorIAkJcHNmX2JpbmhlYWRlcl93cml0ZWYgKHBzZiwgIjQ0IiwgMCwgMCkgOyAvKiBTTVRQRSBmb3JtYXQgKi8KKyAJCXBzZl9iaW5oZWFkZXJfd3JpdGVmIChwc2YsICI0NCIsIHBzZi0+aW5zdHJ1bWVudC0+bG9vcF9jb3VudCwgMCkgOworIAorLQkJLyogTG9vcCBjb3VudCBpcyBzaWduZWQgMTYgYml0IG51bWJlciBzbyB3ZSBsaW1pdCBpdCByYW5nZSB0byBzb21ldGhpbmcgc2Vuc2libGUuICovCistCQlwc2YtPmluc3RydW1lbnQtPmxvb3BfY291bnQgJj0gMHg3ZmZmIDsKKysJCS8qIE1ha2Ugc3VyZSB3ZSBkb24ndCByZWFkIHBhc3QgdGhlIGxvb3BzIGFycmF5IGVuZC4gKi8KKysJCWlmIChwc2YtPmluc3RydW1lbnQtPmxvb3BfY291bnQgPiBBUlJBWV9MRU4gKHBzZi0+aW5zdHJ1bWVudC0+bG9vcHMpKQorKwkJCXBzZi0+aW5zdHJ1bWVudC0+bG9vcF9jb3VudCA9IEFSUkFZX0xFTiAocHNmLT5pbnN0cnVtZW50LT5sb29wcykgOworKworIAkJZm9yICh0bXAgPSAwIDsgdG1wIDwgcHNmLT5pbnN0cnVtZW50LT5sb29wX2NvdW50IDsgdG1wKyspCisgCQl7CWludCB0eXBlIDsKKyAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic25kZmlsZS9saWJzbmRmaWxlMV8xLjAuMjguYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNuZGZpbGUvbGlic25kZmlsZTFfMS4wLjI4LmJiCmluZGV4IDk3MDBmNGEuLjc3MzkzZGIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic25kZmlsZS9saWJzbmRmaWxlMV8xLjAuMjguYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzbmRmaWxlL2xpYnNuZGZpbGUxXzEuMC4yOC5iYgpAQCAtMTAsMTEgKzEwLDEzIEBACiAgICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxNy04MzYxLTgzNjUucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTctODM2Mi5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxNy04MzYzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE3LTE0MjQ1LTE0MjQ2LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL0NWRS0yMDE3LTE0NjM0LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTEzMTM5LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtYS11bGF3LWZpeC1tdWx0aXBsZS1idWZmZXItb3ZlcmZsb3dzLTQzMi5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOC0xOTQzMi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxNy0xMjU2Mi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOC0xOTc1OC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOS0zODMyLnBhdGNoIFwKICAgICAgICAgICAiCiAKIFNSQ19VUklbbWQ1c3VtXSA9ICI2NDZiNWY5OGNlODlhYzYwY2RiMDYwZmNkMzk4MjQ3YyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi9maWxlcy9DVkUtMjAxNy0xNzA5NS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi9maWxlcy9DVkUtMjAxNy0xNzA5NS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWI5OTYyZS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnRpZmYvZmlsZXMvQ1ZFLTIwMTctMTcwOTUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBACi1Gcm9tIDkxNzFkYTU5NmM4OGU2YTJkYWRjYWI0YTNhODlkZGRkNmUxYjQ2NTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBOYXRoYW4gQmFrZXIgPGVsaXRlYmFkZ2VyQGdtYWlsLmNvbT4KLURhdGU6IFRodSwgMjUgSmFuIDIwMTggMjE6Mjg6MTUgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gQWRkIHdvcmthcm91bmQgdG8gcGFsMnJnYiBidWZmZXIgb3ZlcmZsb3cuCi0KLUNWRTogQ1ZFLTIwMTctMTcwOTUKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCAodW5jaGFuZ2VkKSBbZ2l0bGFiLmNvbS9saWJ0aWZmL2xpYnRpZmYvY29tbWl0LzkxNzFkYTUuLi5dCi0KLVNpZ25lZC1vZmYtYnk6IEpvZSBTbGF0ZXIgPGpvZS5zbGF0ZXJAd2luZHJpdmVyLmNvbS4KLQotLS0tCi0gdG9vbHMvcGFsMnJnYi5jIHwgICAxNyArKysrKysrKysrKysrKystLQotIDEgZmlsZSBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvdG9vbHMvcGFsMnJnYi5jIGIvdG9vbHMvcGFsMnJnYi5jCi1pbmRleCAwNDIzNTk4Li4wMWZjZjk0IDEwMDY0NAotLS0tIGEvdG9vbHMvcGFsMnJnYi5jCi0rKysgYi90b29scy9wYWwycmdiLmMKLUBAIC0xODIsOCArMTgyLDIxIEBAIG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKLSAJeyB1bnNpZ25lZCBjaGFyICppYnVmLCAqb2J1ZjsKLSAJICByZWdpc3RlciB1bnNpZ25lZCBjaGFyKiBwcDsKLSAJICByZWdpc3RlciB1aW50MzIgeDsKLS0JICBpYnVmID0gKHVuc2lnbmVkIGNoYXIqKV9USUZGbWFsbG9jKFRJRkZTY2FubGluZVNpemUoaW4pKTsKLS0JICBvYnVmID0gKHVuc2lnbmVkIGNoYXIqKV9USUZGbWFsbG9jKFRJRkZTY2FubGluZVNpemUob3V0KSk7Ci0rCSAgdG1zaXplX3QgdHNzX2luID0gVElGRlNjYW5saW5lU2l6ZShpbik7Ci0rCSAgdG1zaXplX3QgdHNzX291dCA9IFRJRkZTY2FubGluZVNpemUob3V0KTsKLSsJICBpZiAodHNzX291dCAvIHRzc19pbiA8IDMpIHsKLSsJCS8qCi0rCQkgKiBCVUcgMjc1MDogVGhlIGZvbGxvd2luZyBjb2RlIGRvZXMgbm90IGtub3cgYWJvdXQgY2hyb21hCi0rCQkgKiBzdWJzYW1wbGluZyBvZiBKUEVHIGRhdGEuIEl0IGFzc3VtZXMgdGhhdCB0aGUgb3V0cHV0IGJ1ZmZlciBpcyAzeAotKwkJICogdGhlIGxlbmd0aCBvZiB0aGUgaW5wdXQgYnVmZmVyIGR1ZSB0byBleHBsb2RpbmcgdGhlIHBhbGV0dGUgaW50bwotKwkJICogUkdCIHR1cGxlcy4gSWYgdGhpcyBhc3N1bXB0aW9uIGlzIGluY29ycmVjdCwgaXQgY291bGQgbGVhZCB0byBhCi0rCQkgKiBidWZmZXIgb3ZlcmZsb3cuIEdvIGFoZWFkIGFuZCBmYWlsIG5vdyB0byBwcmV2ZW50IHRoYXQuCi0rCQkgKi8KLSsJCWZwcmludGYoc3RkZXJyLCAiQ291bGQgbm90IGRldGVybWluZSBjb3JyZWN0IGltYWdlIHNpemUgZm9yIG91dHB1dC4gRXhpdGluZy5cbiIpOwotKwkJcmV0dXJuIC0xOwotKyAgICAgIH0KLSsJICBpYnVmID0gKHVuc2lnbmVkIGNoYXIqKV9USUZGbWFsbG9jKHRzc19pbik7Ci0rCSAgb2J1ZiA9ICh1bnNpZ25lZCBjaGFyKilfVElGRm1hbGxvYyh0c3Nfb3V0KTsKLSAJICBzd2l0Y2ggKGNvbmZpZykgewotIAkgIGNhc2UgUExBTkFSQ09ORklHX0NPTlRJRzoKLSAJCWZvciAocm93ID0gMDsgcm93IDwgaW1hZ2VsZW5ndGg7IHJvdysrKSB7Ci0tLSAKLTEuNy45LjUKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL2ZpbGVzL0NWRS0yMDE3LTE4MDEzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL2ZpbGVzL0NWRS0yMDE3LTE4MDEzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NzhlMGRlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi9maWxlcy9DVkUtMjAxNy0xODAxMy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLUZyb20gMjkzYzhiMDI5OGU5MWQyMGJhNTEyOTFlMjM1MWFiN2QxMTA2NzFkMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEV2ZW4gUm91YXVsdCA8ZXZlbi5yb3VhdWx0QHNwYXRpYWx5cy5jb20+Ci1EYXRlOiBTdW4sIDMxIERlYyAyMDE3IDE1OjA5OjQxICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIGxpYnRpZmYvdGlmX3ByaW50LmM6IFRJRkZQcmludERpcmVjdG9yeSgpOiBmaXggbnVsbCBwb2ludGVyCi0gZGVyZWZlcmVuY2Ugb24gY29ycnVwdGVkIGZpbGUuIEZpeGVzCi0gaHR0cDovL2J1Z3ppbGxhLm1hcHRvb2xzLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjc3MAotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1baHR0cHM6Ly9naXRsYWIuY29tL2xpYnRpZmYvbGlidGlmZi9jb21taXQvYzZmNDFkZjdiNTgxNDAyZGZiYTNjMTlhMWUzZGY0NDU0YzU1MWEwMV0KLQotQ1ZFOiBDVkUtMjAxNy0xODAxMwotCi1TaWduZWQtb2ZmLWJ5OiBZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBsaWJ0aWZmL3RpZl9wcmludC5jIHwgOCArKysrLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJ0aWZmL3RpZl9wcmludC5jIGIvbGlidGlmZi90aWZfcHJpbnQuYwotaW5kZXggMjRkNGI5OC4uZjQ5NGNmYiAxMDA2NDQKLS0tLSBhL2xpYnRpZmYvdGlmX3ByaW50LmMKLSsrKyBiL2xpYnRpZmYvdGlmX3ByaW50LmMKLUBAIC02NjcsMTMgKzY2NywxMyBAQCBUSUZGUHJpbnREaXJlY3RvcnkoVElGRiogdGlmLCBGSUxFKiBmZCwgbG9uZyBmbGFncykKLSAjaWYgZGVmaW5lZChfX1dJTjMyX18pICYmIChkZWZpbmVkKF9NU0NfVkVSKSB8fCBkZWZpbmVkKF9fTUlOR1czMl9fKSkKLSAJCQlmcHJpbnRmKGZkLCAiICAgICUzbHU6IFslOEk2NHUsICU4STY0dV1cbiIsCi0gCQkJICAgICh1bnNpZ25lZCBsb25nKSBzLAotLQkJCSAgICAodW5zaWduZWQgX19pbnQ2NCkgdGQtPnRkX3N0cmlwb2Zmc2V0W3NdLAotLQkJCSAgICAodW5zaWduZWQgX19pbnQ2NCkgdGQtPnRkX3N0cmlwYnl0ZWNvdW50W3NdKTsKLSsJCQkgICAgdGQtPnRkX3N0cmlwb2Zmc2V0ID8gKHVuc2lnbmVkIF9faW50NjQpIHRkLT50ZF9zdHJpcG9mZnNldFtzXSA6IDAsCi0rCQkJICAgIHRkLT50ZF9zdHJpcGJ5dGVjb3VudCA/ICh1bnNpZ25lZCBfX2ludDY0KSB0ZC0+dGRfc3RyaXBieXRlY291bnRbc10gOiAwKTsKLSAjZWxzZQotIAkJCWZwcmludGYoZmQsICIgICAgJTNsdTogWyU4bGx1LCAlOGxsdV1cbiIsCi0gCQkJICAgICh1bnNpZ25lZCBsb25nKSBzLAotLQkJCSAgICAodW5zaWduZWQgbG9uZyBsb25nKSB0ZC0+dGRfc3RyaXBvZmZzZXRbc10sCi0tCQkJICAgICh1bnNpZ25lZCBsb25nIGxvbmcpIHRkLT50ZF9zdHJpcGJ5dGVjb3VudFtzXSk7Ci0rCQkJICAgIHRkLT50ZF9zdHJpcG9mZnNldCA/ICh1bnNpZ25lZCBsb25nIGxvbmcpIHRkLT50ZF9zdHJpcG9mZnNldFtzXSA6IDAsCi0rCQkJICAgIHRkLT50ZF9zdHJpcGJ5dGVjb3VudCA/ICh1bnNpZ25lZCBsb25nIGxvbmcpIHRkLT50ZF9zdHJpcGJ5dGVjb3VudFtzXSA6IDApOwotICNlbmRpZgotIAl9Ci0gfQotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnRpZmYvZmlsZXMvQ1ZFLTIwMTctOTkzNS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi9maWxlcy9DVkUtMjAxNy05OTM1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MDY4NGRkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi9maWxlcy9DVkUtMjAxNy05OTM1LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTYwICswLDAgQEAKLUZyb20gYWJiMDA1NWQyMWM1MmE5OTI1MzE0ZDViMDYyOGZiMmI2MzA3NjE5YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEJyaWFuIE1heSA8YnJpYW5AbGludXhwZW5ndWlucy54eXo+Ci1EYXRlOiBUaHUsIDcgRGVjIDIwMTcgMDc6NDY6NDcgKzExMDAKLVN1YmplY3Q6IFtQQVRDSF0gdGlmZjJwZGY6IEZpeCBDVkUtMjAxNy05OTM1Ci0KLUZpeCBmb3IgaHR0cDovL2J1Z3ppbGxhLm1hcHRvb2xzLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjcwNAotCi1UaGlzIHZ1bG5lcmFiaWxpdHkgLSBhdCBsZWFzdCBmb3IgdGhlIHN1cHBsaWVkIHRlc3QgY2FzZSAtIGlzIGJlY2F1c2Ugd2UKLWFzc3VtZSB0aGF0IGEgdGlmZiB3aWxsIG9ubHkgaGF2ZSBvbmUgdHJhbnNmZXIgZnVuY3Rpb24gdGhhdCBpcyB0aGUgc2FtZQotZm9yIGFsbCBwYWdlcy4gVGhpcyBpcyBub3QgcmVxdWlyZWQgYnkgdGhlIFRJRkYgc3RhbmRhcmRzLgotCi1XZSB0aGFuIHJlYWQgdGhlIHRyYW5zZmVyIGZ1bmN0aW9uIGZvciBldmVyeSBwYWdlLiAgRGVwZW5kaW5nIG9uIHRoZQotdHJhbnNmZXIgZnVuY3Rpb24sIHdlIGFsbG9jYXRlIGVpdGhlciAyIG9yIDQgYnl0ZXMgdG8gdGhlIFhSRUYgYnVmZmVyLgotV2UgYWxsb2NhdGUgdGhpcyBtZW1vcnkgYWZ0ZXIgd2UgcmVhZCBpbiB0aGUgdHJhbnNmZXIgZnVuY3Rpb24gZm9yIHRoZQotcGFnZS4KLQotRm9yIHRoZSBmaXJzdCBleHBsb2l0IC0gUE9DMSwgdGhpcyBmaWxlIGhhcyAzIHBhZ2VzLiBGb3IgdGhlIGZpcnN0IHBhZ2UKLXdlIGFsbG9jYXRlIDIgZXh0cmEgZXh0cmEgWFJFRiBlbnRyaWVzLiBUaGVuIGZvciB0aGUgbmV4dCBwYWdlIDIgbW9yZQotZW50cmllcy4gVGhlbiBmb3IgdGhlIGxhc3QgcGFnZSB0aGUgdHJhbnNmZXIgZnVuY3Rpb24gY2hhbmdlcyBhbmQgd2UKLWFsbG9jYXRlIDQgbW9yZSBlbnRyaWVzLgotCi1XaGVuIHdlIHJlYWQgdGhlIGZpbGUgaW50byBtZW1vcnksIHdlIGFzc3VtZSB3ZSBoYXZlIDQgYnl0ZXMgZXh0cmEgZm9yCi1lYWNoIGFuZCBldmVyeSBwYWdlIChhcyBwZXIgdGhlIGxhc3QgdHJhbnNmZXIgZnVuY3Rpb24gd2UgcmVhZCkuIFdoaWNoCi1pcyBub3QgY29ycmVjdCwgd2Ugb25seSBoYXZlIDIgYnl0ZXMgZXh0cmEgZm9yIHRoZSBmaXJzdCAyIHBhZ2VzLiBBcyBhCi1yZXN1bHQsIHdlIGVuZCB1cCB3cml0aW5nIHBhc3QgdGhlIGVuZCBvZiB0aGUgYnVmZmVyLgotCi1UaGVyZSBhcmUgYWxzbyBzb21lIHJlbGF0ZWQgaXNzdWVzIHRoYXQgdGhpcyBhbHNvIGZpeGVzLiBGb3IgZXhhbXBsZSwKLVRJRkZHZXRGaWVsZCBjYW4gcmV0dXJuIHVuaW5pdGFsaXplZCBwb2ludGVyIHZhbHVlcywgYW5kIHRoZSBsb2dpYyB0bwotZGV0ZWN0IGEgTj0zIHZzIE49MSB0cmFuc2ZlciBmdW5jdGlvbiBzZWVtZWQgcmF0aGVyIHN0cmFuZ2UuCi0KLUl0IGlzIGFsc28gc3RyYW5nZSB0aGF0IHdlIGRlY2xhcmUgdGhlIHRyYW5zZmVyIGZ1bmN0aW9ucyB0byBiZSBvZiB0eXBlCi1mbG9hdCwgd2hlbiB0aGUgc3RhbmRhcmQgc2F5cyB0aGV5IGFyZSB1bnNpZ25lZCAxNiBiaXQgdmFsdWVzLiBUaGlzIGlzCi1maXhlZCBpbiBhbm90aGVyIHBhdGNoLgotCi1UaGlzIHBhdGNoIHdpbGwgY2hlY2sgdG8gZW5zdXJlIHRoYXQgdGhlIE4gdmFsdWUgZm9yIGV2ZXJ5IHRyYW5zZmVyCi1mdW5jdGlvbiBpcyB0aGUgc2FtZSBmb3IgZXZlcnkgcGFnZS4gSWYgdGhpcyBjaGFuZ2VzLCB3ZSBhYm9ydCB3aXRoIGFuCi1lcnJvci4gSW4gdGhlb3J5LCB3ZSBzaG91bGQgcGVyaGFwcyBjaGVjayB0aGF0IHRoZSB0cmFuc2ZlciBmdW5jdGlvbgotaXRzZWxmIGlzIGlkZW50aWNhbCBmb3IgZXZlcnkgcGFnZSwgaG93ZXZlciB3ZSBkb24ndCBkbyB0aGF0IGR1ZSB0byB0aGUKLWNvbmZ1c2lvbiBvZiB0aGUgdHlwZSBvZiB0aGUgZGF0YSBpbiB0aGUgdHJhbnNmZXIgZnVuY3Rpb24uCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVtodHRwczovL2dpdGxhYi5jb20vbGlidGlmZi9saWJ0aWZmL2NvbW1pdC8zZGQ4ZjZhMzU3OTgxYTQwOTBmMTI2YWI5MDI1MDU2YzkzOGI2OTQwXQotCi1DVkU6IENWRS0yMDE3LTk5MzUKLQotU2lnbmVkLW9mZi1ieTogWWkgWmhhbyA8eWkuemhhb0B3aW5kcml2ZXIuY29tPgotLS0tCi0gbGlidGlmZi90aWZfZGlyLmMgfCAgMyArKysKLSB0b29scy90aWZmMnBkZi5jICB8IDY1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDQ3IGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbGlidGlmZi90aWZfZGlyLmMgYi9saWJ0aWZmL3RpZl9kaXIuYwotaW5kZXggZjAwZjgwOC4uYzM2YTVmMyAxMDA2NDQKLS0tLSBhL2xpYnRpZmYvdGlmX2Rpci5jCi0rKysgYi9saWJ0aWZmL3RpZl9kaXIuYwotQEAgLTEwNjcsNiArMTA2Nyw5IEBAIF9USUZGVkdldEZpZWxkKFRJRkYqIHRpZiwgdWludDMyIHRhZywgdmFfbGlzdCBhcCkKLSAJCQlpZiAodGQtPnRkX3NhbXBsZXNwZXJwaXhlbCAtIHRkLT50ZF9leHRyYXNhbXBsZXMgPiAxKSB7Ci0gCQkJCSp2YV9hcmcoYXAsIHVpbnQxNioqKSA9IHRkLT50ZF90cmFuc2ZlcmZ1bmN0aW9uWzFdOwotIAkJCQkqdmFfYXJnKGFwLCB1aW50MTYqKikgPSB0ZC0+dGRfdHJhbnNmZXJmdW5jdGlvblsyXTsKLSsJCQl9IGVsc2UgewotKwkJCQkqdmFfYXJnKGFwLCB1aW50MTYqKikgPSBOVUxMOwotKwkJCQkqdmFfYXJnKGFwLCB1aW50MTYqKikgPSBOVUxMOwotIAkJCX0KLSAJCQlicmVhazsKLSAJCWNhc2UgVElGRlRBR19SRUZFUkVOQ0VCTEFDS1dISVRFOgotZGlmZiAtLWdpdCBhL3Rvb2xzL3RpZmYycGRmLmMgYi90b29scy90aWZmMnBkZi5jCi1pbmRleCA0NTRiZWZiLi4wYjU5NzNlIDEwMDY0NAotLS0tIGEvdG9vbHMvdGlmZjJwZGYuYwotKysrIGIvdG9vbHMvdGlmZjJwZGYuYwotQEAgLTEwNDcsNiArMTA0Nyw4IEBAIHZvaWQgdDJwX3JlYWRfdGlmZl9pbml0KFQyUCogdDJwLCBUSUZGKiBpbnB1dCl7Ci0gCXVpbnQxNiBwYWdlbj0wOwotIAl1aW50MTYgcGFnZWQ9MDsKLSAJdWludDE2IHh1aW50MTY9MDsKLSsJdWludDE2IHRpZmZfdHJhbnNmZXJmdW5jdGlvbmNvdW50PTA7Ci0rCWZsb2F0KiB0aWZmX3RyYW5zZmVyZnVuY3Rpb25bM107Ci0gCi0gCWRpcmVjdG9yeWNvdW50PVRJRkZOdW1iZXJPZkRpcmVjdG9yaWVzKGlucHV0KTsKLSAJdDJwLT50aWZmX3BhZ2VzID0gKFQyUF9QQUdFKikgX1RJRkZtYWxsb2MoVElGRlNhZmVNdWx0aXBseSh0bXNpemVfdCxkaXJlY3Rvcnljb3VudCxzaXplb2YoVDJQX1BBR0UpKSk7Ci1AQCAtMTE0NywyNiArMTE0OSw0OCBAQCB2b2lkIHQycF9yZWFkX3RpZmZfaW5pdChUMlAqIHQycCwgVElGRiogaW5wdXQpewotICAgICAgICAgICAgICAgICB9Ci0gI2VuZGlmCi0gCQlpZiAoVElGRkdldEZpZWxkKGlucHV0LCBUSUZGVEFHX1RSQU5TRkVSRlVOQ1RJT04sCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJih0MnAtPnRpZmZfdHJhbnNmZXJmdW5jdGlvblswXSksCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJih0MnAtPnRpZmZfdHJhbnNmZXJmdW5jdGlvblsxXSksCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJih0MnAtPnRpZmZfdHJhbnNmZXJmdW5jdGlvblsyXSkpKSB7Ci0tCQkJaWYoKHQycC0+dGlmZl90cmFuc2ZlcmZ1bmN0aW9uWzFdICE9IChmbG9hdCopIE5VTEwpICYmCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgKHQycC0+dGlmZl90cmFuc2ZlcmZ1bmN0aW9uWzJdICE9IChmbG9hdCopIE5VTEwpICYmCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgKHQycC0+dGlmZl90cmFuc2ZlcmZ1bmN0aW9uWzFdICE9Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgIHQycC0+dGlmZl90cmFuc2ZlcmZ1bmN0aW9uWzBdKSkgewotLQkJCQl0MnAtPnRpZmZfdHJhbnNmZXJmdW5jdGlvbmNvdW50ID0gMzsKLS0JCQkJdDJwLT50aWZmX3BhZ2VzW2ldLnBhZ2VfZXh0cmEgKz0gNDsKLS0JCQkJdDJwLT5wZGZfeHJlZmNvdW50ICs9IDQ7Ci0tCQkJfSBlbHNlIHsKLS0JCQkJdDJwLT50aWZmX3RyYW5zZmVyZnVuY3Rpb25jb3VudCA9IDE7Ci0tCQkJCXQycC0+dGlmZl9wYWdlc1tpXS5wYWdlX2V4dHJhICs9IDI7Ci0tCQkJCXQycC0+cGRmX3hyZWZjb3VudCArPSAyOwotLQkJCX0KLS0JCQlpZih0MnAtPnBkZl9taW5vcnZlcnNpb24gPCAyKQotLQkJCQl0MnAtPnBkZl9taW5vcnZlcnNpb24gPSAyOwotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYodGlmZl90cmFuc2ZlcmZ1bmN0aW9uWzBdKSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmKHRpZmZfdHJhbnNmZXJmdW5jdGlvblsxXSksCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJih0aWZmX3RyYW5zZmVyZnVuY3Rpb25bMl0pKSkgewotKwotKyAgICAgICAgICAgICAgICAgICAgICAgIGlmKCh0aWZmX3RyYW5zZmVyZnVuY3Rpb25bMV0gIT0gKGZsb2F0KikgTlVMTCkgJiYKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAodGlmZl90cmFuc2ZlcmZ1bmN0aW9uWzJdICE9IChmbG9hdCopIE5VTEwpCi0rICAgICAgICAgICAgICAgICAgICAgICAgICApIHsKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGlmZl90cmFuc2ZlcmZ1bmN0aW9uY291bnQ9MzsKLSsgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aWZmX3RyYW5zZmVyZnVuY3Rpb25jb3VudD0xOwotKyAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLS0JCQl0MnAtPnRpZmZfdHJhbnNmZXJmdW5jdGlvbmNvdW50PTA7Ci0rCQkJdGlmZl90cmFuc2ZlcmZ1bmN0aW9uY291bnQ9MDsKLSAJCX0KLSsKLSsgICAgICAgICAgICAgICAgaWYgKGkgPiAwKXsKLSsgICAgICAgICAgICAgICAgICAgIGlmICh0aWZmX3RyYW5zZmVyZnVuY3Rpb25jb3VudCAhPSB0MnAtPnRpZmZfdHJhbnNmZXJmdW5jdGlvbmNvdW50KXsKLSsgICAgICAgICAgICAgICAgICAgICAgICBUSUZGRXJyb3IoCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRJRkYyUERGX01PRFVMRSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkRpZmZlcmVudCB0cmFuc2ZlciBmdW5jdGlvbiBvbiBwYWdlICVkIiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgaSk7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgdDJwLT50MnBfZXJyb3IgPSBUMlBfRVJSX0VSUk9SOwotKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSsgICAgICAgICAgICAgICAgICAgIH0KLSsgICAgICAgICAgICAgICAgfQotKwotKyAgICAgICAgICAgICAgICB0MnAtPnRpZmZfdHJhbnNmZXJmdW5jdGlvbmNvdW50ID0gdGlmZl90cmFuc2ZlcmZ1bmN0aW9uY291bnQ7Ci0rICAgICAgICAgICAgICAgIHQycC0+dGlmZl90cmFuc2ZlcmZ1bmN0aW9uWzBdID0gdGlmZl90cmFuc2ZlcmZ1bmN0aW9uWzBdOwotKyAgICAgICAgICAgICAgICB0MnAtPnRpZmZfdHJhbnNmZXJmdW5jdGlvblsxXSA9IHRpZmZfdHJhbnNmZXJmdW5jdGlvblsxXTsKLSsgICAgICAgICAgICAgICAgdDJwLT50aWZmX3RyYW5zZmVyZnVuY3Rpb25bMl0gPSB0aWZmX3RyYW5zZmVyZnVuY3Rpb25bMl07Ci0rICAgICAgICAgICAgICAgIGlmKHRpZmZfdHJhbnNmZXJmdW5jdGlvbmNvdW50ID09IDMpewotKyAgICAgICAgICAgICAgICAgICAgICAgIHQycC0+dGlmZl9wYWdlc1tpXS5wYWdlX2V4dHJhICs9IDQ7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgdDJwLT5wZGZfeHJlZmNvdW50ICs9IDQ7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgaWYodDJwLT5wZGZfbWlub3J2ZXJzaW9uIDwgMikKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHQycC0+cGRmX21pbm9ydmVyc2lvbiA9IDI7Ci0rICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGlmZl90cmFuc2ZlcmZ1bmN0aW9uY291bnQgPT0gMSl7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgdDJwLT50aWZmX3BhZ2VzW2ldLnBhZ2VfZXh0cmEgKz0gMjsKLSsgICAgICAgICAgICAgICAgICAgICAgICB0MnAtPnBkZl94cmVmY291bnQgKz0gMjsKLSsgICAgICAgICAgICAgICAgICAgICAgICBpZih0MnAtPnBkZl9taW5vcnZlcnNpb24gPCAyKQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdDJwLT5wZGZfbWlub3J2ZXJzaW9uID0gMjsKLSsgICAgICAgICAgICAgICAgfQotKwotIAkJaWYoIFRJRkZHZXRGaWVsZCgKLSAJCQlpbnB1dCwgCi0gCQkJVElGRlRBR19JQ0NQUk9GSUxFLCAKLUBAIC0xODI4LDkgKzE4NTIsOCBAQCB2b2lkIHQycF9yZWFkX3RpZmZfZGF0YShUMlAqIHQycCwgVElGRiogaW5wdXQpewotIAkJCSAmKHQycC0+dGlmZl90cmFuc2ZlcmZ1bmN0aW9uWzFdKSwKLSAJCQkgJih0MnAtPnRpZmZfdHJhbnNmZXJmdW5jdGlvblsyXSkpKSB7Ci0gCQlpZigodDJwLT50aWZmX3RyYW5zZmVyZnVuY3Rpb25bMV0gIT0gKGZsb2F0KikgTlVMTCkgJiYKLS0gICAgICAgICAgICAgICAgICAgKHQycC0+dGlmZl90cmFuc2ZlcmZ1bmN0aW9uWzJdICE9IChmbG9hdCopIE5VTEwpICYmCi0tICAgICAgICAgICAgICAgICAgICh0MnAtPnRpZmZfdHJhbnNmZXJmdW5jdGlvblsxXSAhPQotLSAgICAgICAgICAgICAgICAgICAgdDJwLT50aWZmX3RyYW5zZmVyZnVuY3Rpb25bMF0pKSB7Ci0rICAgICAgICAgICAgICAgICAgICh0MnAtPnRpZmZfdHJhbnNmZXJmdW5jdGlvblsyXSAhPSAoZmxvYXQqKSBOVUxMKQotKyAgICAgICAgICAgICAgICAgICkgewotIAkJCXQycC0+dGlmZl90cmFuc2ZlcmZ1bmN0aW9uY291bnQ9MzsKLSAJCX0gZWxzZSB7Ci0gCQkJdDJwLT50aWZmX3RyYW5zZmVyZnVuY3Rpb25jb3VudD0xOwotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnRpZmYvZmlsZXMvQ1ZFLTIwMTgtMTA5NjMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnRpZmYvZmlsZXMvQ1ZFLTIwMTgtMTA5NjMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcyNTIyOTguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL2ZpbGVzL0NWRS0yMDE4LTEwOTYzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotRnJvbSBkZTE0NGZkMjI4ZTRiZThhYTQ4NGMzY2FmM2Q4MTRiNmZhODhjNmQ5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRXZlbiBSb3VhdWx0IDxldmVuLnJvdWF1bHRAc3BhdGlhbHlzLmNvbT4KLURhdGU6IFNhdCwgMTIgTWF5IDIwMTggMTQ6MjQ6MTUgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gVElGRldyaXRlRGlyZWN0b3J5U2VjOiBhdm9pZCBhc3NlcnRpb24uIEZpeGVzCi0gaHR0cDovL2J1Z3ppbGxhLm1hcHRvb2xzLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjc5NS4KLSBDVkUtMjAxOC0xMDk2MwotCi0tLS0KLUNWRTogQ1ZFLTIwMTgtMTA5NjMKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbZ2l0bGFiLmNvbS9saWJ0aWZmL2xpYnRpZmYvY29tbWl0L2RlMTQ0Zi4uLl0KLQotU2lnbmVkLW9mZi1ieTogSm9lIFNsYXRlciA8am9lLnNsYXRlckB3aW5kcml2ZXIuY29tPgotCi0tLS0KLSBsaWJ0aWZmL3RpZl9kaXJ3cml0ZS5jIHwgICAgNyArKysrKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2xpYnRpZmYvdGlmX2RpcndyaXRlLmMgYi9saWJ0aWZmL3RpZl9kaXJ3cml0ZS5jCi1pbmRleCAyNDMwZGU2Li5jMTVhMjhkIDEwMDY0NAotLS0tIGEvbGlidGlmZi90aWZfZGlyd3JpdGUuYwotKysrIGIvbGlidGlmZi90aWZfZGlyd3JpdGUuYwotQEAgLTY5NSw4ICs2OTUsMTEgQEAgVElGRldyaXRlRGlyZWN0b3J5U2VjKFRJRkYqIHRpZiwgaW50IGlzaW1hZ2UsIGludCBpbWFnZWRvbmUsIHVpbnQ2NCogcGRpcm9mZikKLSAJCQkJCQkJCX0KLSAJCQkJCQkJCWJyZWFrOwotIAkJCQkJCQlkZWZhdWx0OgotLQkJCQkJCQkJYXNzZXJ0KDApOyAgIC8qIHdlIHNob3VsZCBuZXZlciBnZXQgaGVyZSAqLwotLQkJCQkJCQkJYnJlYWs7Ci0rCQkJCQkJCQlUSUZGRXJyb3JFeHQodGlmLT50aWZfY2xpZW50ZGF0YSxtb2R1bGUsCi0rCQkJCQkJCQkgICAgICAgICAgICAiQ2Fubm90IHdyaXRlIHRhZyAlZCAoJXMpIiwKLSsJCQkJCQkJCSAgICAgICAgICAgIFRJRkZGaWVsZFRhZyhvKSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgby0+ZmllbGRfbmFtZSA/IG8tPmZpZWxkX25hbWUgOiAidW5rbm93biIpOwotKwkJCQkJCQkJZ290byBiYWQ7Ci0gCQkJCQkJfQotIAkJCQkJfQotIAkJCQl9Ci0tLSAKLTEuNy45LjUKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL2ZpbGVzL0NWRS0yMDE4LTU3ODQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnRpZmYvZmlsZXMvQ1ZFLTIwMTgtNTc4NC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDA2MDAxZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnRpZmYvZmlsZXMvQ1ZFLTIwMTgtNTc4NC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEzNSArMCwwIEBACi1Gcm9tIDZjZGVhMTUyMTNiZTZiNjdkOWY4MzgwYzdiYjQwZTMyNWQzYWRhY2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBOYXRoYW4gQmFrZXIgPG5hdGhhbmJAbGVub3ZvLWNocm9tZS5jb20+Ci1EYXRlOiBUdWUsIDYgRmViIDIwMTggMTA6MTM6NTcgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IGZvciBidWcgMjc3MgotCi1JdCBpcyBwb3NzaWJsZSB0byBjcmFmdCBhIFRJRkYgZG9jdW1lbnQgd2hlcmUgdGhlIElGRCBsaXN0IGlzIGNpcmN1bGFyLAotbGVhZGluZyB0byBhbiBpbmZpbml0ZSBsb29wIHdoaWxlIHRyYXZlcnNpbmcgdGhlIGNoYWluLiBUaGUgbGlidGlmZgotZGlyZWN0b3J5IHJlYWRlciBoYXMgYSBmYWlsc2FmZSB0aGF0IHdpbGwgYnJlYWsgb3V0IG9mIHRoaXMgbG9vcCBhZnRlcgotcmVhZGluZyA2NTUzNSBkaXJlY3RvcnkgZW50cmllcywgYnV0IGl0IHdpbGwgY29udGludWUgcHJvY2Vzc2luZywKLWNvbnN1bWluZyB0aW1lIGFuZCByZXNvdXJjZXMgdG8gcHJvY2VzcyB3aGF0IGlzIGVzc2VudGlhbGx5IGEgYm9ndXMgVElGRgotZG9jdW1lbnQuCi0KLVRoaXMgY2hhbmdlIGZpeGVzIHRoZSBhYm92ZSBiZWhhdmlvciBieSBicmVha2luZyBvdXQgb2YgcHJvY2Vzc2luZyB3aGVuCi1hIFRJRkYgZG9jdW1lbnQgaGFzID49IDY1NTM1IGRpcmVjdG9yaWVzIGFuZCB0ZXJtaW5hdGluZyB3aXRoIGFuIGVycm9yLgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1baHR0cHM6Ly9naXRsYWIuY29tL2xpYnRpZmYvbGlidGlmZi9jb21taXQvNDczODUxZDIxMWNmODgwNWExNjE4MjAzMzdjYTc0Y2M5NjE1ZDZlZl0KLQotQ1ZFOiBDVkUtMjAxOC01Nzg0Ci0KLVNpZ25lZC1vZmYtYnk6IFlpIFpoYW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNvbT4KLS0tLQotIGNvbnRyaWIvYWRkdGlmZm8vdGlmX292ZXJ2aWV3LmMgfCAxNCArKysrKysrKysrKysrLQotIHRvb2xzL3RpZmYycGRmLmMgICAgICAgICAgICAgICAgfCAxMCArKysrKysrKysrCi0gdG9vbHMvdGlmZmNyb3AuYyAgICAgICAgICAgICAgICB8IDEzICsrKysrKysrKysrLS0KLSAzIGZpbGVzIGNoYW5nZWQsIDM0IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jb250cmliL2FkZHRpZmZvL3RpZl9vdmVydmlldy5jIGIvY29udHJpYi9hZGR0aWZmby90aWZfb3ZlcnZpZXcuYwotaW5kZXggYzYxZmZiYi4uMDNiMzU3MyAxMDA2NDQKLS0tLSBhL2NvbnRyaWIvYWRkdGlmZm8vdGlmX292ZXJ2aWV3LmMKLSsrKyBiL2NvbnRyaWIvYWRkdGlmZm8vdGlmX292ZXJ2aWV3LmMKLUBAIC02NSw2ICs2NSw4IEBACi0gIyAgZGVmaW5lIE1BWChhLGIpICAgICAgKChhPmIpID8gYSA6IGIpCi0gI2VuZGlmCi0gCi0rI2RlZmluZSBUSUZGX0RJUl9NQVggIDY1NTM0Ci0rCi0gdm9pZCBUSUZGQnVpbGRPdmVydmlld3MoIFRJRkYgKiwgaW50LCBpbnQgKiwgaW50LCBjb25zdCBjaGFyICosCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGludCAoKikoZG91YmxlLHZvaWQqKSwgdm9pZCAqICk7Ci0gCi1AQCAtOTEsNiArOTMsNyBAQCB1aW50MzIgVElGRl9Xcml0ZU92ZXJ2aWV3KCBUSUZGICpoVElGRiwgdWludDMyIG5YU2l6ZSwgdWludDMyIG5ZU2l6ZSwKLSB7Ci0gICAgIHRvZmZfdAluQmFzZURpck9mZnNldDsKLSAgICAgdG9mZl90CW5PZmZzZXQ7Ci0rICAgIHRkaXJfdAlpTnVtRGlyOwotIAotICAgICAodm9pZCkgYlVzZVN1YklGRHM7Ci0gCi1AQCAtMTQ3LDcgKzE1MCwxNiBAQCB1aW50MzIgVElGRl9Xcml0ZU92ZXJ2aWV3KCBUSUZGICpoVElGRiwgdWludDMyIG5YU2l6ZSwgdWludDMyIG5ZU2l6ZSwKLSAgICAgICAgIHJldHVybiAwOwotIAotICAgICBUSUZGV3JpdGVEaXJlY3RvcnkoIGhUSUZGICk7Ci0tICAgIFRJRkZTZXREaXJlY3RvcnkoIGhUSUZGLCAodGRpcl90KSAoVElGRk51bWJlck9mRGlyZWN0b3JpZXMoaFRJRkYpLTEpICk7Ci0rICAgIGlOdW1EaXIgPSBUSUZGTnVtYmVyT2ZEaXJlY3RvcmllcyhoVElGRik7Ci0rICAgIGlmKCBpTnVtRGlyID4gVElGRl9ESVJfTUFYICkKLSsgICAgewotKyAgICAgICAgVElGRkVycm9yRXh0KCBUSUZGQ2xpZW50ZGF0YShoVElGRiksCi0rICAgICAgICAgICAgICAgICAgICAgICJUSUZGX1dyaXRlT3ZlcnZpZXciLAotKyAgICAgICAgICAgICAgICAgICAgICAiRmlsZSBgJXMnIGhhcyB0b28gbWFueSBkaXJlY3Rvcmllcy5cbiIsCi0rICAgICAgICAgICAgICAgICAgICAgIFRJRkZGaWxlTmFtZShoVElGRikgKTsKLSsgICAgICAgIGV4aXQoLTEpOwotKyAgICB9Ci0rICAgIFRJRkZTZXREaXJlY3RvcnkoIGhUSUZGLCAodGRpcl90KSAoaU51bURpciAtIDEpICk7Ci0gCi0gICAgIG5PZmZzZXQgPSBUSUZGQ3VycmVudERpck9mZnNldCggaFRJRkYgKTsKLSAKLWRpZmYgLS1naXQgYS90b29scy90aWZmMnBkZi5jIGIvdG9vbHMvdGlmZjJwZGYuYwotaW5kZXggMGI1OTczZS4uZWY1ZDZhMCAxMDA2NDQKLS0tLSBhL3Rvb2xzL3RpZmYycGRmLmMKLSsrKyBiL3Rvb2xzL3RpZmYycGRmLmMKLUBAIC02OCw2ICs2OCw4IEBAIGV4dGVybiBpbnQgZ2V0b3B0KGludCwgY2hhcioqLCBjaGFyKik7Ci0gCi0gI2RlZmluZSBQU19VTklUX1NJWkUJNzIuMEYKLSAKLSsjZGVmaW5lIFRJRkZfRElSX01BWCAgICA2NTUzNAotKwotIC8qIFRoaXMgdHlwZSBpcyBvZiBQREYgY29sb3Igc3BhY2VzLiAqLwotIHR5cGVkZWYgZW51bSB7Ci0gCVQyUF9DU19CSUxFVkVMID0gMHgwMSwJLyogQmlsZXZlbCwgYmxhY2sgYW5kIHdoaXRlICovCi1AQCAtMTA1MSw2ICsxMDUzLDE0IEBAIHZvaWQgdDJwX3JlYWRfdGlmZl9pbml0KFQyUCogdDJwLCBUSUZGKiBpbnB1dCl7Ci0gCWZsb2F0KiB0aWZmX3RyYW5zZmVyZnVuY3Rpb25bM107Ci0gCi0gCWRpcmVjdG9yeWNvdW50PVRJRkZOdW1iZXJPZkRpcmVjdG9yaWVzKGlucHV0KTsKLSsJaWYoZGlyZWN0b3J5Y291bnQgPiBUSUZGX0RJUl9NQVgpIHsKLSsJCVRJRkZFcnJvcigKLSsJCQlUSUZGMlBERl9NT0RVTEUsCi0rCQkJIlRJRkYgY29udGFpbnMgdG9vIG1hbnkgZGlyZWN0b3JpZXMsICVzIiwKLSsJCQlUSUZGRmlsZU5hbWUoaW5wdXQpKTsKLSsJCXQycC0+dDJwX2Vycm9yID0gVDJQX0VSUl9FUlJPUjsKLSsJCXJldHVybjsKLSsJfQotIAl0MnAtPnRpZmZfcGFnZXMgPSAoVDJQX1BBR0UqKSBfVElGRm1hbGxvYyhUSUZGU2FmZU11bHRpcGx5KHRtc2l6ZV90LGRpcmVjdG9yeWNvdW50LHNpemVvZihUMlBfUEFHRSkpKTsKLSAJaWYodDJwLT50aWZmX3BhZ2VzPT1OVUxMKXsKLSAJCVRJRkZFcnJvcigKLWRpZmYgLS1naXQgYS90b29scy90aWZmY3JvcC5jIGIvdG9vbHMvdGlmZmNyb3AuYwotaW5kZXggYzY5MTc3ZS4uYzYwY2IzOCAxMDA2NDQKLS0tLSBhL3Rvb2xzL3RpZmZjcm9wLmMKLSsrKyBiL3Rvb2xzL3RpZmZjcm9wLmMKLUBAIC0yMTcsNiArMjE3LDggQEAgZXh0ZXJuIGludCBnZXRvcHQoaW50IGFyZ2MsIGNoYXIgKiBjb25zdCBhcmd2W10sIGNvbnN0IGNoYXIgKm9wdHN0cmluZyk7Ci0gI2RlZmluZSBEVU1QX1RFWFQgICAxCi0gI2RlZmluZSBEVU1QX1JBVyAgICAyCi0gCi0rI2RlZmluZSBUSUZGX0RJUl9NQVggIDY1NTM0Ci0rCi0gLyogT2Zmc2V0cyBpbnRvIGJ1ZmZlciBmb3IgbWFyZ2lucyBhbmQgZml4ZWQgd2lkdGggYW5kIGxlbmd0aCBzZWdtZW50cyAqLwotIHN0cnVjdCBvZmZzZXQgewotICAgdWludDMyICB0bWFyZ2luOwotQEAgLTIyMzMsNyArMjIzNSw3IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKLSAgICAgcGFnZU51bSA9IC0xOwotICAgZWxzZQotICAgICB0b3RhbF9pbWFnZXMgPSAwOwotLSAgLyogcmVhZCBtdWx0aXBsZSBpbnB1dCBmaWxlcyBhbmQgd3JpdGUgdG8gb3V0cHV0IGZpbGUocykgKi8KLSsgIC8qIFJlYWQgbXVsdGlwbGUgaW5wdXQgZmlsZXMgYW5kIHdyaXRlIHRvIG91dHB1dCBmaWxlKHMpICovCi0gICB3aGlsZSAob3B0aW5kIDwgYXJnYyAtIDEpCi0gICAgIHsKLSAgICAgaW4gPSBUSUZGT3BlbiAoYXJndltvcHRpbmRdLCAiciIpOwotQEAgLTIyNDEsNyArMjI0MywxNCBAQCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCi0gICAgICAgcmV0dXJuICgtMyk7Ci0gCi0gICAgIC8qIElmIG9ubHkgb25lIGlucHV0IGZpbGUgaXMgc3BlY2lmaWVkLCB3ZSBjYW4gdXNlIGRpcmVjdG9yeSBjb3VudCAqLwotLSAgICB0b3RhbF9pbWFnZXMgPSBUSUZGTnVtYmVyT2ZEaXJlY3Rvcmllcyhpbik7IAotKyAgICB0b3RhbF9pbWFnZXMgPSBUSUZGTnVtYmVyT2ZEaXJlY3Rvcmllcyhpbik7Ci0rICAgIGlmICh0b3RhbF9pbWFnZXMgPiBUSUZGX0RJUl9NQVgpCi0rICAgICAgewotKyAgICAgIFRJRkZFcnJvciAoVElGRkZpbGVOYW1lKGluKSwgIkZpbGUgY29udGFpbnMgdG9vIG1hbnkgZGlyZWN0b3JpZXMiKTsKLSsgICAgICBpZiAob3V0ICE9IE5VTEwpCi0rICAgICAgICAodm9pZCkgVElGRkNsb3NlKG91dCk7Ci0rICAgICAgcmV0dXJuICgxKTsKLSsgICAgICB9Ci0gICAgIGlmIChpbWFnZV9jb3VudCA9PSAwKQotICAgICAgIHsKLSAgICAgICBkaXJudW0gPSAwOwotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnRpZmYvZmlsZXMvQ1ZFLTIwMTgtNzQ1Ni5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi9maWxlcy9DVkUtMjAxOC03NDU2LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYzExZjkzLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi9maWxlcy9DVkUtMjAxOC03NDU2LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTc4ICswLDAgQEAKLUZyb20gYmU0Yzg1YjE2ZTg4MDFhMTZlZWMyNWU4MGViOWYzZGQ2YTk2NzMxYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEh1Z28gTGVmZXV2cmUgPGhsZUBkZWJpYW4ub3JnPgotRGF0ZTogU3VuLCA4IEFwciAyMDE4IDE0OjA3OjA4IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIEZpeCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgaW4gVElGRlByaW50RGlyZWN0b3J5Ci0KLVRoZSBUSUZGUHJpbnREaXJlY3RvcnkgZnVuY3Rpb24gcmVsaWVzIG9uIHRoZSBmb2xsb3dpbmcgYXNzdW1wdGlvbnMsCi1zdXBwb3NlZCB0byBiZSBndWFyYW50ZWVkIGJ5IHRoZSBzcGVjaWZpY2F0aW9uOgotCi0oYSkgQSBUcmFuc2ZlciBGdW5jdGlvbiBmaWVsZCBpcyBvbmx5IHByZXNlbnQgaWYgdGhlIFRJRkYgZmlsZSBoYXMKLSAgICBwaG90b21ldHJpYyB0eXBlIDwgMy4KLQotKGIpIElmIFNhbXBsZXNQZXJQaXhlbCA+IENvbG9yIENoYW5uZWxzLCB0aGVuIHRoZSBFeHRyYVNhbXBsZXMgZmllbGQKLSAgICBoYXMgY291bnQgU2FtcGxlc1BlclBpeGVsIC0gKENvbG9yIENoYW5uZWxzKSBhbmQgY29udGFpbnMKLSAgICBpbmZvcm1hdGlvbiBhYm91dCBzdXBwbGVtZW50YXJ5IGNoYW5uZWxzLgotCi1XaGlsZSByZXNwZWN0IG9mIChhKSBhbmQgKGIpIGFyZSBlc3NlbnRpYWwgZm9yIHRoZSB3ZWxsIGZ1bmN0aW9uaW5nIG9mCi1USUZGUHJpbnREaXJlY3RvcnksIG5vIGNoZWNrcyBhcmUgcmVhbGl6ZWQgbmVpdGhlciBieSB0aGUgY2FsbGVlIG5vcgotYnkgVElGRlByaW50RGlyZWN0b3J5IGl0c2VsZi4gSGVuY2UsIGZvbGxvd2luZyBzY2VuYXJpb3MgbWlnaHQgaGFwcGVuCi1hbmQgdHJpZ2dlciB0aGUgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlOgotCi0oMSkgVElGRiBGaWxlIG9mIHBob3RvbWV0cmljIHR5cGUgNCBvciBtb3JlIGhhcyBpbGxlZ2FsIFRyYW5zZmVyCi0gICAgRnVuY3Rpb24gZmllbGQuCi0KLSgyKSBUSUZGIEZpbGUgaGFzIHBob3RvbWV0cmljIHR5cGUgMyBvciBsZXNzIGFuZCBkZWZpbmVzIGEKLSAgICBTYW1wbGVzUGVyUGl4ZWwgZmllbGQgc3VjaCB0aGF0IFNhbXBsZXNQZXJQaXhlbCA+IENvbG9yIENoYW5uZWxzCi0gICAgd2l0aG91dCBkZWZpbmluZyBhbGwgZXh0cmEgc2FtcGxlcyBpbiB0aGUgRXh0cmFTYW1wbGVzIGZpZWxkcy4KLQotSW4gdGhpcyBwYXRjaCwgd2UgYWRkcmVzcyBib3RoIGlzc3VlcyB3aXRoIHJlc3BlY3Qgb2YgdGhlIGZvbGxvd2luZwotcHJpbmNpcGxlczoKLQotKEEpIEluIHRoZSBjYXNlIG9mICgxKSwgdGhlIGRlZmluZWQgdHJhbnNmZXIgdGFibGUgc2hvdWxkIGJlIHByaW50ZWQKLSAgICBzYWZlbHkgZXZlbiBpZiBpdCBpc24ndCAnbGVnYWwnLiBUaGlzIGFsbG93cyB1cyB0byBhdm9pZCBleHBlbnNpdmUKLSAgICBjaGVja3MgaW4gVElGRlByaW50RGlyZWN0b3J5LiBBbHNvLCBpdCBpcyBxdWl0ZSBwb3NzaWJsZSB0aGF0Ci0gICAgYW4gYWx0ZXJuYXRpdmUgcGhvdG9tZXRyaWMgdHlwZSB3b3VsZCBiZSBkZXZlbG9wZWQgKG5vdCBwYXJ0IG9mIHRoZQotICAgIHN0YW5kYXJkKSBhbmQgd291bGQgYWxsb3cgZGVmaW5pdGlvbiBvZiBUcmFuc2ZlciBUYWJsZS4gV2Ugd2FudAotICAgIGxpYnRpZmYgdG8gYmUgYWJsZSB0byBoYW5kbGUgdGhpcyBzY2VuYXJpbyBvdXQgb2YgdGhlIGJveC4KLQotKEIpIEluIHRoZSBjYXNlIG9mICgyKSwgdGhlIHRyYW5zZmVyIHRhYmxlIHNob3VsZCBiZSBwcmludGVkIGF0IGl0cwotICAgIHJpZ2h0IHNpemUsIHRoYXQgaXMgaWYgVElGRiBmaWxlIGhhcyBwaG90b21ldHJpYyB0eXBlIFBhbGV0dGUKLSAgICB0aGVuIHRoZSB0cmFuc2ZlciB0YWJsZSBzaG91bGQgaGF2ZSBvbmUgcm93IGFuZCBub3QgdGhyZWUsIGV2ZW4KLSAgICBpZiB0d28gZXh0cmEgc2FtcGxlcyBhcmUgZGVjbGFyZWQuCi0KLUluIG9yZGVyIHRvIGZ1bGZpbGwgKEEpIHdlIHNpbXBseSBhZGQgYSBuZXcgJ2kgPCAzJyBlbmQgY29uZGl0aW9uIHRvCi10aGUgYnJva2VuIFRJRkZQcmludERpcmVjdG9yeSBsb29wLiBUaGlzIG1ha2VzIHN1cmUgdGhhdCBpbiBhbnkgY2FzZQotd2hlcmUgKGIpIHdvdWxkIGJlIHJlc3BlY3RlZCBidXQgbm90IChhKSwgZXZlcnl0aGluZyBzdGF5cyBmaW5lLgotCi0oQikgaXMgZnVsZmlsbGVkIGJ5IHRoZSBsb29wIGNvbmRpdGlvbgotJ2kgPCB0ZC0+dGRfc2FtcGxlc3BlcnBpeGVsIC0gdGQtPnRkX2V4dHJhc2FtcGxlcycuIFRoaXMgaXMgZW5vdWdoIGFzCi1sb25nIGFzIChiKSBpcyByZXNwZWN0ZWQuCi0KLU5hdHVyYWxseSwgd2UgYWxzbyBtYWtlIHN1cmUgKGIpIGlzIHJlc3BlY3RlZC4gVGhpcyBpcyBkb25lIGluIHRoZQotVElGRlJlYWREaXJlY3RvcnkgZnVuY3Rpb24gYnkgbWFraW5nIHN1cmUgYW55IG5vbi1jb2xvciBjaGFubmVsIGlzCi1jb3VudGVkIGluIEV4dHJhU2FtcGxlcy4KLQotVGhpcyBjb21taXQgYWRkcmVzc2VzIENWRS0yMDE4LTc0NTYuCi0KLS0tLQotQ1ZFOiBDVkUtMjAxOC03NDU2Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2dpdGxhYi5jb20vbGlidGlmZi9saWJ0aWZmL2NvbW1pdC9iZTRjODViLi4uXQotCi1TaWduZWQtb2ZmLWJ5OiBKb2UgU2xhdGVyIDxqb2Uuc2xhdGVyQHdpbmRyaXZlci5jb20+Ci0KLS0tLQotIGxpYnRpZmYvdGlmX2RpcnJlYWQuYyB8ICAgNjIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwotIGxpYnRpZmYvdGlmX3ByaW50LmMgICB8ICAgIDIgKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDYzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2xpYnRpZmYvdGlmX2RpcnJlYWQuYyBiL2xpYnRpZmYvdGlmX2RpcnJlYWQuYwotaW5kZXggNmJhYTdiMy4uYWY1Yjg0YSAxMDA2NDQKLS0tLSBhL2xpYnRpZmYvdGlmX2RpcnJlYWQuYwotKysrIGIvbGlidGlmZi90aWZfZGlycmVhZC5jCi1AQCAtMTY1LDYgKzE2NSw3IEBAIHN0YXRpYyBpbnQgVElGRkZldGNoU3RyaXBUaGluZyhUSUZGKiB0aWYsIFRJRkZEaXJFbnRyeSogZGlyLCB1aW50MzIgbnN0cmlwcywgdWluCi0gc3RhdGljIGludCBUSUZGRmV0Y2hTdWJqZWN0RGlzdGFuY2UoVElGRiosIFRJRkZEaXJFbnRyeSopOwotIHN0YXRpYyB2b2lkIENob3BVcFNpbmdsZVVuY29tcHJlc3NlZFN0cmlwKFRJRkYqKTsKLSBzdGF0aWMgdWludDY0IFRJRkZSZWFkVUludDY0KGNvbnN0IHVpbnQ4ICp2YWx1ZSk7Ci0rc3RhdGljIGludCBfVElGRkdldE1heENvbG9yQ2hhbm5lbHModWludDE2IHBob3RvbWV0cmljKTsKLSAKLSBzdGF0aWMgaW50IF9USUZGRmlsbFN0cmlsZXNJbnRlcm5hbCggVElGRiAqdGlmLCBpbnQgbG9hZFN0cmlwQnl0ZUNvdW50ICk7Ci0gCi1AQCAtMzUwNSw2ICszNTA2LDM1IEBAIHN0YXRpYyB2b2lkIFRJRkZSZWFkRGlyRW50cnlPdXRwdXRFcnIoVElGRiogdGlmLCBlbnVtIFRJRkZSZWFkRGlyRW50cnlFcnIgZXJyLCBjCi0gfQotIAotIC8qCi0rICogUmV0dXJuIHRoZSBtYXhpbXVtIG51bWJlciBvZiBjb2xvciBjaGFubmVscyBzcGVjaWZpZWQgZm9yIGEgZ2l2ZW4gcGhvdG9tZXRyaWMKLSsgKiB0eXBlLiAwIGlzIHJldHVybmVkIGlmIHBob3RvbWV0cmljIHR5cGUgaXNuJ3Qgc3VwcG9ydGVkIG9yIG5vIGRlZmF1bHQgdmFsdWUKLSsgKiBpcyBkZWZpbmVkIGJ5IHRoZSBzcGVjaWZpY2F0aW9uLgotKyAqLwotK3N0YXRpYyBpbnQgX1RJRkZHZXRNYXhDb2xvckNoYW5uZWxzKCB1aW50MTYgcGhvdG9tZXRyaWMgKQotK3sKLSsgICAgc3dpdGNoIChwaG90b21ldHJpYykgewotKwljYXNlIFBIT1RPTUVUUklDX1BBTEVUVEU6Ci0rCWNhc2UgUEhPVE9NRVRSSUNfTUlOSVNXSElURToKLSsJY2FzZSBQSE9UT01FVFJJQ19NSU5JU0JMQUNLOgotKyAgICAgICAgICAgIHJldHVybiAxOwotKwljYXNlIFBIT1RPTUVUUklDX1lDQkNSOgotKwljYXNlIFBIT1RPTUVUUklDX1JHQjoKLSsJY2FzZSBQSE9UT01FVFJJQ19DSUVMQUI6Ci0rICAgICAgICAgICAgcmV0dXJuIDM7Ci0rCWNhc2UgUEhPVE9NRVRSSUNfU0VQQVJBVEVEOgotKwljYXNlIFBIT1RPTUVUUklDX01BU0s6Ci0rICAgICAgICAgICAgcmV0dXJuIDQ7Ci0rCWNhc2UgUEhPVE9NRVRSSUNfTE9HTDoKLSsJY2FzZSBQSE9UT01FVFJJQ19MT0dMVVY6Ci0rCWNhc2UgUEhPVE9NRVRSSUNfQ0ZBOgotKwljYXNlIFBIT1RPTUVUUklDX0lUVUxBQjoKLSsJY2FzZSBQSE9UT01FVFJJQ19JQ0NMQUI6Ci0rCWRlZmF1bHQ6Ci0rICAgICAgICAgICAgcmV0dXJuIDA7Ci0rICAgIH0KLSt9Ci0rCi0rLyoKLSAgKiBSZWFkIHRoZSBuZXh0IFRJRkYgZGlyZWN0b3J5IGZyb20gYSBmaWxlIGFuZCBjb252ZXJ0IGl0IHRvIHRoZSBpbnRlcm5hbAotICAqIGZvcm1hdC4gV2UgcmVhZCBkaXJlY3RvcmllcyBzZXF1ZW50aWFsbHkuCi0gICovCi1AQCAtMzUyMCw2ICszNTUwLDcgQEAgVElGRlJlYWREaXJlY3RvcnkoVElGRiogdGlmKQotIAl1aW50MzIgZmlpPUZBSUxFRF9GSUk7Ci0gICAgICAgICB0b2ZmX3QgbmV4dGRpcm9mZjsKLSAgICAgaW50IGJpdHNwZXJzYW1wbGVfcmVhZCA9IEZBTFNFOwotKyAgICAgICAgaW50IGNvbG9yX2NoYW5uZWxzOwotIAotIAl0aWYtPnRpZl9kaXJvZmY9dGlmLT50aWZfbmV4dGRpcm9mZjsKLSAJaWYgKCFUSUZGQ2hlY2tEaXJPZmZzZXQodGlmLHRpZi0+dGlmX25leHRkaXJvZmYpKQotQEAgLTQwMjQsNiArNDA1NSwzNyBAQCBUSUZGUmVhZERpcmVjdG9yeShUSUZGKiB0aWYpCi0gCQkJfQotIAkJfQotIAl9Ci0rCi0rCS8qCi0rCSAqIE1ha2Ugc3VyZSBhbGwgbm9uLWNvbG9yIGNoYW5uZWxzIGFyZSBleHRyYXNhbXBsZXMuCi0rCSAqIElmIGl0J3Mgbm90IHRoZSBjYXNlLCBkZWZpbmUgdGhlbSBhcyBzdWNoLgotKwkgKi8KLSsgICAgICAgIGNvbG9yX2NoYW5uZWxzID0gX1RJRkZHZXRNYXhDb2xvckNoYW5uZWxzKHRpZi0+dGlmX2Rpci50ZF9waG90b21ldHJpYyk7Ci0rICAgICAgICBpZiAoY29sb3JfY2hhbm5lbHMgJiYgdGlmLT50aWZfZGlyLnRkX3NhbXBsZXNwZXJwaXhlbCAtIHRpZi0+dGlmX2Rpci50ZF9leHRyYXNhbXBsZXMgPiBjb2xvcl9jaGFubmVscykgewotKyAgICAgICAgICAgICAgICB1aW50MTYgb2xkX2V4dHJhc2FtcGxlczsKLSsgICAgICAgICAgICAgICAgdWludDE2ICpuZXdfc2FtcGxlaW5mbzsKLSsKLSsgICAgICAgICAgICAgICAgVElGRldhcm5pbmdFeHQodGlmLT50aWZfY2xpZW50ZGF0YSxtb2R1bGUsICJTdW0gb2YgUGhvdG9tZXRyaWMgdHlwZS1yZWxhdGVkICIKLSsgICAgICAgICAgICAgICAgICAgICJjb2xvciBjaGFubmVscyBhbmQgRXh0cmFTYW1wbGVzIGRvZXNuJ3QgbWF0Y2ggU2FtcGxlc1BlclBpeGVsLiAiCi0rICAgICAgICAgICAgICAgICAgICAiRGVmaW5pbmcgbm9uLWNvbG9yIGNoYW5uZWxzIGFzIEV4dHJhU2FtcGxlcy4iKTsKLSsKLSsgICAgICAgICAgICAgICAgb2xkX2V4dHJhc2FtcGxlcyA9IHRpZi0+dGlmX2Rpci50ZF9leHRyYXNhbXBsZXM7Ci0rICAgICAgICAgICAgICAgIHRpZi0+dGlmX2Rpci50ZF9leHRyYXNhbXBsZXMgPSAodGlmLT50aWZfZGlyLnRkX3NhbXBsZXNwZXJwaXhlbCAtIGNvbG9yX2NoYW5uZWxzKTsKLSsKLSsgICAgICAgICAgICAgICAgLy8gc2FtcGxlaW5mbyBzaG91bGQgY29udGFpbiBpbmZvcm1hdGlvbiByZWxhdGl2ZSB0byB0aGVzZSBuZXcgZXh0cmEgc2FtcGxlcwotKyAgICAgICAgICAgICAgICBuZXdfc2FtcGxlaW5mbyA9ICh1aW50MTYqKSBfVElGRmNhbGxvYyh0aWYtPnRpZl9kaXIudGRfZXh0cmFzYW1wbGVzLCBzaXplb2YodWludDE2KSk7Ci0rICAgICAgICAgICAgICAgIGlmICghbmV3X3NhbXBsZWluZm8pIHsKLSsgICAgICAgICAgICAgICAgICAgIFRJRkZFcnJvckV4dCh0aWYtPnRpZl9jbGllbnRkYXRhLCBtb2R1bGUsICJGYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciAiCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGVtcG9yYXJ5IG5ldyBzYW1wbGVpbmZvIGFycmF5ICglZCAxNiBiaXQgZWxlbWVudHMpIiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpZi0+dGlmX2Rpci50ZF9leHRyYXNhbXBsZXMpOwotKyAgICAgICAgICAgICAgICAgICAgZ290byBiYWQ7Ci0rICAgICAgICAgICAgICAgIH0KLSsKLSsgICAgICAgICAgICAgICAgbWVtY3B5KG5ld19zYW1wbGVpbmZvLCB0aWYtPnRpZl9kaXIudGRfc2FtcGxlaW5mbywgb2xkX2V4dHJhc2FtcGxlcyAqIHNpemVvZih1aW50MTYpKTsKLSsgICAgICAgICAgICAgICAgX1RJRkZzZXRTaG9ydEFycmF5KCZ0aWYtPnRpZl9kaXIudGRfc2FtcGxlaW5mbywgbmV3X3NhbXBsZWluZm8sIHRpZi0+dGlmX2Rpci50ZF9leHRyYXNhbXBsZXMpOwotKyAgICAgICAgICAgICAgICBfVElGRmZyZWUobmV3X3NhbXBsZWluZm8pOwotKyAgICAgICAgfQotKwotIAkvKgotIAkgKiBWZXJpZnkgUGFsZXR0ZSBpbWFnZSBoYXMgYSBDb2xvcm1hcC4KLSAJICovCi1kaWZmIC0tZ2l0IGEvbGlidGlmZi90aWZfcHJpbnQuYyBiL2xpYnRpZmYvdGlmX3ByaW50LmMKLWluZGV4IDhkZWNlYjIuLjFkODZhZGIgMTAwNjQ0Ci0tLS0gYS9saWJ0aWZmL3RpZl9wcmludC5jCi0rKysgYi9saWJ0aWZmL3RpZl9wcmludC5jCi1AQCAtNTQ0LDcgKzU0NCw3IEBAIFRJRkZQcmludERpcmVjdG9yeShUSUZGKiB0aWYsIEZJTEUqIGZkLCBsb25nIGZsYWdzKQotIAkJCQl1aW50MTYgaTsKLSAJCQkJZnByaW50ZihmZCwgIiAgICAlMmxkOiAlNXUiLAotIAkJCQkgICAgbCwgdGQtPnRkX3RyYW5zZmVyZnVuY3Rpb25bMF1bbF0pOwotLQkJCQlmb3IgKGkgPSAxOyBpIDwgdGQtPnRkX3NhbXBsZXNwZXJwaXhlbDsgaSsrKQotKwkJCQlmb3IgKGkgPSAxOyBpIDwgdGQtPnRkX3NhbXBsZXNwZXJwaXhlbCAtIHRkLT50ZF9leHRyYXNhbXBsZXMgJiYgaSA8IDM7IGkrKykKLSAJCQkJCWZwcmludGYoZmQsICIgJTV1IiwKLSAJCQkJCSAgICB0ZC0+dGRfdHJhbnNmZXJmdW5jdGlvbltpXVtsXSk7Ci0gCQkJCWZwdXRjKCdcbicsIGZkKTsKLS0tIAotMS43LjkuNQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnRpZmYvZmlsZXMvQ1ZFLTIwMTgtODkwNS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi9maWxlcy9DVkUtMjAxOC04OTA1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NjI2NDZkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi9maWxlcy9DVkUtMjAxOC04OTA1LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjEgKzAsMCBAQAotRnJvbSA1OGE4OThjYjQ0NTkwNTViYjQ4OGNhODE1YzIzYjg4MGMyNDJhMjdkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRXZlbiBSb3VhdWx0IDxldmVuLnJvdWF1bHRAc3BhdGlhbHlzLmNvbT4KLURhdGU6IFNhdCwgMTIgTWF5IDIwMTggMTU6MzI6MzEgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gTFpXRGVjb2RlQ29tcGF0KCk6IGZpeCBwb3RlbnRpYWwgaW5kZXgtb3V0LW9mLWJvdW5kcyB3cml0ZS4KLSBGaXhlcyBodHRwOi8vYnVnemlsbGEubWFwdG9vbHMub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzgwIC8KLSBDVkUtMjAxOC04OTA1Ci0KLVRoZSBmaXggY29uc2lzdHMgaW4gdXNpbmcgdGhlIHNpbWlsYXIgY29kZSBMWldEZWNvZGUoKSB0byB2YWxpZGF0ZSB3ZQotZG9uJ3Qgd3JpdGUgb3V0c2lkZSBvZiB0aGUgb3V0cHV0IGJ1ZmZlci4KLQotLS0tCi1DVkU6IENWRS0yMDE4LTg5MDUKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbZ2l0bGFiLmNvbS9saWJ0aWZmL2xpYnRpZmYvY29tbWl0LzU4YTg5OC4uLl0KLQotU2lnbmVkLW9mZi1ieTogSm9lIFNsYXRlciA8am9lLnNsYXRlckB3aW5kcml2ZXIuY29tPgotCi0tLS0KLSBsaWJ0aWZmL3RpZl9sencuYyB8ICAgMTggKysrKysrKysrKysrLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJ0aWZmL3RpZl9sencuYyBiL2xpYnRpZmYvdGlmX2x6dy5jCi1pbmRleCA0Y2NiNDQzLi45NGQ4NWUzIDEwMDY0NAotLS0tIGEvbGlidGlmZi90aWZfbHp3LmMKLSsrKyBiL2xpYnRpZmYvdGlmX2x6dy5jCi1AQCAtNjAyLDYgKzYwMiw3IEBAIExaV0RlY29kZUNvbXBhdChUSUZGKiB0aWYsIHVpbnQ4KiBvcDAsIHRtc2l6ZV90IG9jYzAsIHVpbnQxNiBzKQotIAljaGFyICp0cDsKLSAJdW5zaWduZWQgY2hhciAqYnA7Ci0gCWludCBjb2RlLCBuYml0czsKLSsJaW50IGxlbjsKLSAJbG9uZyBuZXh0Yml0cywgbmV4dGRhdGEsIG5iaXRzbWFzazsKLSAJY29kZV90ICpjb2RlcCwgKmZyZWVfZW50cCwgKm1heGNvZGVwLCAqb2xkY29kZXA7Ci0gCi1AQCAtNzUzLDEzICs3NTQsMTggQEAgTFpXRGVjb2RlQ29tcGF0KFRJRkYqIHRpZiwgdWludDgqIG9wMCwgdG1zaXplX3Qgb2NjMCwgdWludDE2IHMpCi0gCQkJCX0gIHdoaWxlICgtLW9jYyk7Ci0gCQkJCWJyZWFrOwotIAkJCX0KLS0JCQlhc3NlcnQob2NjID49IGNvZGVwLT5sZW5ndGgpOwotLQkJCW9wICs9IGNvZGVwLT5sZW5ndGg7Ci0tCQkJb2NjIC09IGNvZGVwLT5sZW5ndGg7Ci0tCQkJdHAgPSBvcDsKLSsJCQlsZW4gPSBjb2RlcC0+bGVuZ3RoOwotKwkJCXRwID0gb3AgKyBsZW47Ci0gCQkJZG8gewotLQkJCQkqLS10cCA9IGNvZGVwLT52YWx1ZTsKLS0JCQl9IHdoaWxlKCAoY29kZXAgPSBjb2RlcC0+bmV4dCkgIT0gTlVMTCApOwotKwkJCQlpbnQgdDsKLSsJCQkJLS10cDsKLSsJCQkJdCA9IGNvZGVwLT52YWx1ZTsKLSsJCQkJY29kZXAgPSBjb2RlcC0+bmV4dDsKLSsJCQkJKnRwID0gKGNoYXIpdDsKLSsJCQl9IHdoaWxlIChjb2RlcCAmJiB0cCA+IG9wKTsKLSsJCQlhc3NlcnQob2NjID49IGxlbik7Ci0rCQkJb3AgKz0gbGVuOwotKwkJCW9jYyAtPSBsZW47Ci0gCQl9IGVsc2UgewotIAkJCSpvcCsrID0gKGNoYXIpY29kZTsKLSAJCQlvY2MtLTsKLS0tIAotMS43LjkuNQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnRpZmYvZmlsZXMvbGlidG9vbDIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnRpZmYvZmlsZXMvbGlidG9vbDIucGF0Y2gKaW5kZXggYTg0YzY4OC4uOTYyMzNiNCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL2ZpbGVzL2xpYnRvb2wyLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi9maWxlcy9saWJ0b29sMi5wYXRjaApAQCAtMSwxNiArMSwyMSBAQAorRnJvbSA1Yjg5MzIwNmUwYTBkNTI5YmEyZDBjYWY1OGNmZmZjMDNiY2NiNTk4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFyY2luIEp1c3praWV3aWN6IDxocndAb3BlbmVkaGFuZC5jb20+CitEYXRlOiBTYXQsIDE0IEp1biAyMDA4IDEzOjQyOjIyICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIHRpZmY6IG1ha2UgaXQgd29yayBhZnRlciBsaWJ0b29sIHVwZ3JhZGUKKwogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQogCiAtLS0KLSBjb25maWd1cmUuYWMgfCAgICAyICstCisgY29uZmlndXJlLmFjIHwgMiArLQogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCi1JbmRleDogdGlmZi00LjAuOS9jb25maWd1cmUuYWMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSB0aWZmLTQuMC45Lm9yaWcvY29uZmlndXJlLmFjCi0rKysgdGlmZi00LjAuOS9jb25maWd1cmUuYWMKLUBAIC0yNyw3ICsyNyw3IEBAIGRubCBQcm9jZXNzIHRoaXMgZmlsZSB3aXRoIGF1dG9jb25mIHRvIHAKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IGM3YjAyZTIuLmFlMWM5NjQgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTI3LDcgKzI3LDcgQEAgZG5sIFByb2Nlc3MgdGhpcyBmaWxlIHdpdGggYXV0b2NvbmYgdG8gcHJvZHVjZSBhIGNvbmZpZ3VyZSBzY3JpcHQuCiAgQUNfUFJFUkVRKDIuNjQpCi0gQUNfSU5JVChbTGliVElGRiBTb2Z0d2FyZV0sWzQuMC45XSxbdGlmZkBsaXN0cy5tYXB0b29scy5vcmddLFt0aWZmXSkKKyBBQ19JTklUKFtMaWJUSUZGIFNvZnR3YXJlXSxbNC4wLjEwXSxbdGlmZkBsaXN0cy5tYXB0b29scy5vcmddLFt0aWZmXSkKICBBQ19DT05GSUdfQVVYX0RJUihjb25maWcpCiAtQUNfQ09ORklHX01BQ1JPX0RJUihtNCkKICtkbmwgQUNfQ09ORklHX01BQ1JPX0RJUihtNCkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi90aWZmXzQuMC4xMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi90aWZmXzQuMC4xMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNTJmYTgxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL3RpZmZfNC4wLjEwLmJiCkBAIC0wLDAgKzEsNTIgQEAKK1NVTU1BUlkgPSAiUHJvdmlkZXMgc3VwcG9ydCBmb3IgdGhlIFRhZyBJbWFnZSBGaWxlIEZvcm1hdCAoVElGRikiCitMSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlSSUdIVDttZDU9MzRkYTNkYjQ2ZmFiNzUwMTk5MmY5NjE1ZDdlMTU4Y2YiCisKK0NWRV9QUk9EVUNUID0gImxpYnRpZmYiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLm9zZ2VvLm9yZy9saWJ0aWZmL3RpZmYtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2xpYnRvb2wyLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMTE0MTkyZDdlYmU1Mzc5MTJhMmI5NzQwODgzMmU3ZmQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmM1MmQxMWNjYWY3Njc0NTdkYjBjNDY3OTVkOWM3ZDFhOGQ4Zjc2ZjY4YjBiODAwYTNkZmU0NTc4NmI5OTZlNCIKKworIyBleGNsdWRlIGJldGFzCitVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJ0aWZmLSg/UDxwdmVyPlxkKyhcLlxkKykrKS50YXIiCisKK2luaGVyaXQgYXV0b3Rvb2xzIG11bHRpbGliX2hlYWRlcgorCitDQUNIRURfQ09ORklHVVJFVkFSUyA9ICJheF9jdl9jaGVja19nbF9saWJnbD1ubyIKKworUEFDS0FHRUNPTkZJRyA/PSAiY3h4IGpwZWcgemxpYiBsem1hIFwKKyAgICAgICAgICAgICAgICAgIHN0cmlwLWNob3BwaW5nIGV4dHJhc2FtcGxlLWFzLWFscGhhIGNoZWNrLXljYmNyLXN1YnNhbXBsaW5nIgorCitQQUNLQUdFQ09ORklHW2N4eF0gPSAiLS1lbmFibGUtY3h4LC0tZGlzYWJsZS1jeHgsLCIKK1BBQ0tBR0VDT05GSUdbanBlZ10gPSAiLS1lbmFibGUtanBlZywtLWRpc2FibGUtanBlZyxqcGVnLCIKK1BBQ0tBR0VDT05GSUdbemxpYl0gPSAiLS1lbmFibGUtemxpYiwtLWRpc2FibGUtemxpYix6bGliLCIKK1BBQ0tBR0VDT05GSUdbbHptYV0gPSAiLS1lbmFibGUtbHptYSwtLWRpc2FibGUtbHptYSx4eiwiCisKKyMgQ29udmVydCBzaW5nbGUtc3RyaXAgdW5jb21wcmVzc2VkIGltYWdlcyB0byBtdWx0aXBsZSBzdHJpcHMgb2Ygc3BlY2lmaWVkCisjIHNpemUgKGRlZmF1bHQ6IDgxOTIpIHRvIHJlZHVjZSBtZW1vcnkgdXNhZ2UKK1BBQ0tBR0VDT05GSUdbc3RyaXAtY2hvcHBpbmddID0gIi0tZW5hYmxlLXN0cmlwLWNob3BwaW5nLC0tZGlzYWJsZS1zdHJpcC1jaG9wcGluZywsIgorCisjIFRyZWF0IGEgZm91cnRoIHNhbXBsZSB3aXRoIG5vIEVYVFJBU0FNUExFXyB2YWx1ZSBhcyBiZWluZyBBU1NPQ0FMUEhBCitQQUNLQUdFQ09ORklHW2V4dHJhc2FtcGxlLWFzLWFscGhhXSA9ICItLWVuYWJsZS1leHRyYXNhbXBsZS1hcy1hbHBoYSwtLWRpc2FibGUtZXh0cmFzYW1wbGUtYXMtYWxwaGEsLCIKKworIyBDb250cm9sIHBpY2tpbmcgdXAgWUNiQ3Igc3Vic2FtcGxlIGluZm8uIERpc2FibGUgdG8gc3VwcG9ydCBmaWxlcyBsYWNraW5nCisjIHRoZSB0YWcKK1BBQ0tBR0VDT05GSUdbY2hlY2steWNiY3Itc3Vic2FtcGxpbmddID0gIi0tZW5hYmxlLWNoZWNrLXljYmNyLXN1YnNhbXBsaW5nLC0tZGlzYWJsZS1jaGVjay15Y2Jjci1zdWJzYW1wbGluZywsIgorCisjIFN1cHBvcnQgYSBtZWNoYW5pc20gYWxsb3dpbmcgcmVhZGluZyBsYXJnZSBzdHJpcHMgKHVzdWFsbHkgb25lIHN0cmlwIGZpbGVzKQorIyBpbiBjaHVua3Mgd2hlbiB1c2luZyBUSUZGUmVhZFNjYW5saW5lLiBFeHBlcmltZW50YWwgNC4wKyBmZWF0dXJlCitQQUNLQUdFQ09ORklHW2NodW5reS1zdHJpcC1yZWFkXSA9ICItLWVuYWJsZS1jaHVua3ktc3RyaXAtcmVhZCwtLWRpc2FibGUtY2h1bmt5LXN0cmlwLXJlYWQsLCIKKworUEFDS0FHRVMgPSsgInRpZmZ4eCB0aWZmLXV0aWxzIgorRklMRVNfdGlmZnh4ID0gIiR7bGliZGlyfS9saWJ0aWZmeHguc28uKiIKK0ZJTEVTX3RpZmYtdXRpbHMgPSAiJHtiaW5kaXJ9LyoiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIG9lX211bHRpbGliX2hlYWRlciB0aWZmY29uZi5oCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL3RpZmZfNC4wLjkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnRpZmYvdGlmZl80LjAuOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTNiZWRkYi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnRpZmYvdGlmZl80LjAuOS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLVNVTU1BUlkgPSAiUHJvdmlkZXMgc3VwcG9ydCBmb3IgdGhlIFRhZyBJbWFnZSBGaWxlIEZvcm1hdCAoVElGRikiCi1MSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlSSUdIVDttZDU9MzRkYTNkYjQ2ZmFiNzUwMTk5MmY5NjE1ZDdlMTU4Y2YiCi0KLUNWRV9QUk9EVUNUID0gImxpYnRpZmYiCi0KLVNSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLm9zZ2VvLm9yZy9saWJ0aWZmL3RpZmYtJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL2xpYnRvb2wyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE3LTk5MzUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTctMTgwMTMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTgtNTc4NC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOC0xMDk2My5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOC04OTA1LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTc0NTYucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTctMTcwOTUucGF0Y2ggXAotICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gIjU0YmFkMjExMjc5Y2M5M2ViNGZjYTMxYmE5YmZkYzc5IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZlN2JkZWVjMmMzMTA3MzRlNzM0ZDE5YWFlM2E3MWViZTM3YTRkODQyZTBlMjNkYmIxYjg5MjFjMDAyNmNmY2QiCi0KLSMgZXhjbHVkZSBiZXRhcwotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAidGlmZi0oP1A8cHZlcj5cZCsoXC5cZCspKykudGFyIgotCi1pbmhlcml0IGF1dG90b29scyBtdWx0aWxpYl9oZWFkZXIKLQotQ0FDSEVEX0NPTkZJR1VSRVZBUlMgPSAiYXhfY3ZfY2hlY2tfZ2xfbGliZ2w9bm8iCi0KLVBBQ0tBR0VDT05GSUcgPz0gImN4eCBqcGVnIHpsaWIgbHptYSBcCi0gICAgICAgICAgICAgICAgICBzdHJpcC1jaG9wcGluZyBleHRyYXNhbXBsZS1hcy1hbHBoYSBjaGVjay15Y2Jjci1zdWJzYW1wbGluZyIKLQotUEFDS0FHRUNPTkZJR1tjeHhdID0gIi0tZW5hYmxlLWN4eCwtLWRpc2FibGUtY3h4LCwiCi1QQUNLQUdFQ09ORklHW2pwZWddID0gIi0tZW5hYmxlLWpwZWcsLS1kaXNhYmxlLWpwZWcsanBlZywiCi1QQUNLQUdFQ09ORklHW3psaWJdID0gIi0tZW5hYmxlLXpsaWIsLS1kaXNhYmxlLXpsaWIsemxpYiwiCi1QQUNLQUdFQ09ORklHW2x6bWFdID0gIi0tZW5hYmxlLWx6bWEsLS1kaXNhYmxlLWx6bWEseHosIgotCi0jIENvbnZlcnQgc2luZ2xlLXN0cmlwIHVuY29tcHJlc3NlZCBpbWFnZXMgdG8gbXVsdGlwbGUgc3RyaXBzIG9mIHNwZWNpZmllZAotIyBzaXplIChkZWZhdWx0OiA4MTkyKSB0byByZWR1Y2UgbWVtb3J5IHVzYWdlCi1QQUNLQUdFQ09ORklHW3N0cmlwLWNob3BwaW5nXSA9ICItLWVuYWJsZS1zdHJpcC1jaG9wcGluZywtLWRpc2FibGUtc3RyaXAtY2hvcHBpbmcsLCIKLQotIyBUcmVhdCBhIGZvdXJ0aCBzYW1wbGUgd2l0aCBubyBFWFRSQVNBTVBMRV8gdmFsdWUgYXMgYmVpbmcgQVNTT0NBTFBIQQotUEFDS0FHRUNPTkZJR1tleHRyYXNhbXBsZS1hcy1hbHBoYV0gPSAiLS1lbmFibGUtZXh0cmFzYW1wbGUtYXMtYWxwaGEsLS1kaXNhYmxlLWV4dHJhc2FtcGxlLWFzLWFscGhhLCwiCi0KLSMgQ29udHJvbCBwaWNraW5nIHVwIFlDYkNyIHN1YnNhbXBsZSBpbmZvLiBEaXNhYmxlIHRvIHN1cHBvcnQgZmlsZXMgbGFja2luZwotIyB0aGUgdGFnCi1QQUNLQUdFQ09ORklHW2NoZWNrLXljYmNyLXN1YnNhbXBsaW5nXSA9ICItLWVuYWJsZS1jaGVjay15Y2Jjci1zdWJzYW1wbGluZywtLWRpc2FibGUtY2hlY2steWNiY3Itc3Vic2FtcGxpbmcsLCIKLQotIyBTdXBwb3J0IGEgbWVjaGFuaXNtIGFsbG93aW5nIHJlYWRpbmcgbGFyZ2Ugc3RyaXBzICh1c3VhbGx5IG9uZSBzdHJpcCBmaWxlcykKLSMgaW4gY2h1bmtzIHdoZW4gdXNpbmcgVElGRlJlYWRTY2FubGluZS4gRXhwZXJpbWVudGFsIDQuMCsgZmVhdHVyZQotUEFDS0FHRUNPTkZJR1tjaHVua3ktc3RyaXAtcmVhZF0gPSAiLS1lbmFibGUtY2h1bmt5LXN0cmlwLXJlYWQsLS1kaXNhYmxlLWNodW5reS1zdHJpcC1yZWFkLCwiCi0KLVBBQ0tBR0VTID0rICJ0aWZmeHggdGlmZi11dGlscyIKLUZJTEVTX3RpZmZ4eCA9ICIke2xpYmRpcn0vbGlidGlmZnh4LnNvLioiCi1GSUxFU190aWZmLXV0aWxzID0gIiR7YmluZGlyfS8qIgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICBvZV9tdWx0aWxpYl9oZWFkZXIgdGlmZmNvbmYuaAotfQotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbXBlZzJkZWMvZmlsZXMvNjFfZ2xvYmFsLXN5bWJvbC10ZXN0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9tcGVnMmRlYy9maWxlcy82MV9nbG9iYWwtc3ltYm9sLXRlc3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDBiNjY3ZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbXBlZzJkZWMvZmlsZXMvNjFfZ2xvYmFsLXN5bWJvbC10ZXN0LnBhdGNoCkBAIC0wLDAgKzEsNzAgQEAKK1Jld3JpdGUgdGhlIHB1YmxpYyBzeW1ib2wgY2hlY2sgdG8gdmVyaWZ5IHRoZSBzaGFyZWQgbGlicmFyaWVzLCB0byBjaGVjayBmb3IKK21vcmUgdGhpbmdzLCBhbmQgdG8gYXZvaWQgZHVwbGljYXRpb247IGZpeGVzIG1ha2UgY2hlY2sgb24gQVJNCisKK1Rha2VuIEZyb20KK2h0dHBzOi8vc291cmNlcy5kZWJpYW4ub3JnL3NyYy9tcGVnMmRlYy8wLjUuMS04L2RlYmlhbi9wYXRjaGVzLzYxX2dsb2JhbC1zeW1ib2wtdGVzdC5wYXRjaC8KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyB0ZXN0L2dsb2JhbHMgfCAgIDQyICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyNyBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKKworLS0tIG1wZWcyZGVjLm9yaWcvdGVzdC9nbG9iYWxzCisrKysgbXBlZzJkZWMvdGVzdC9nbG9iYWxzCitAQCAtMSw0ICsxLDggQEAKKyAjIS9iaW4vc2gKKysjIFRPRE8KKysjIC0gZml4IGNoZWNraW5nIG9mIC5hIGxpYnM7IHByb2JsZW0gaXMgdGhhdCAibm0gLWcgLS1kZWZpbmVkLW9ubHkiIGxpc3RzCisrIyAgIGludGVybmFsIHN5bWJvbHM7IHRoaXMgY2FuIGJlIHNvbHZlZCBieSB1c2luZyBvYmpkdW1wLCBidXQgaXQncyBwcm9iYWJseQorKyMgICBnb29kIGVub3VnaCB0byBqdXN0IHJ1biB0aGUgdGVzdHMgb24gdGhlIHNoYXJlZCBsaWIKKyAKKyBpZiB0ZXN0IHgiJHNyY2RpciIgIT0geCIiOyB0aGVuCisgICAgIGJ1aWxkZGlyPSIuIgkjIHJ1bm5pbmcgZnJvbSBtYWtlIGNoZWNrLCBidXQgaXQgZG9lcyBub3QgZGVmaW5lIHRoYXQKK0BAIC0xNCwyMiArMTgsMzAgQEAgYnVpbGRkaXI9YGNkICRidWlsZGRpcjtwd2RgCisgCisgZXJyb3I9MAorIAorLWJhZF9nbG9iYWxzPWBubSAtZyAtLWRlZmluZWQtb25seSAkYnVpbGRkaXIvLi4vbGlibXBlZzIvKi5vIHxcCistICAgIGF3ayAne2lmICgkMykgcHJpbnQgJDN9JyB8IGdyZXAgLXYgJ15fXD9tcGVnMl8nYAorLQorLWlmIHRlc3QgeCIkYmFkX2dsb2JhbHMiICE9IHgiIjsgdGhlbgorLSAgICBlY2hvIEJBRCBHTE9CQUwgU1lNQk9MUzoKKy0gICAgZm9yIHMgaW4gJGJhZF9nbG9iYWxzOyBkbyBlY2hvICRzOyBkb25lCisrIyBjaGVja19iYWRfcHVibGljX3N5bWJvbHMgPHN5bWJvbCBwcmVmaXg+IDxsaWIgZmlsZT4gWzxsaWIgZmlsZT4uLi5dCisrIworKyMgY2hlY2tzIHB1YmxpYyBzeW1ib2xzIGluIHNoYXJlZCBsaWJzOgorKyMgLSBhbGxvdyBwcmVmaXhfYW55dGhpbmcKKysjIC0gcmVqZWN0IF9wcmVmaXhhbnl0aGluZworKyMgLSBhbGxvdyBfYW55dGhpbmcKKysjIC0gcmVqZWN0IGFueXRoaW5nIGVsc2UKKysjCisrIyBOQjogc2tpcHMgbWlzc2luZyBmaWxlcworK2NoZWNrX2JhZF9wdWJsaWNfc3ltYm9scygpIHsKKysgICAgc3ltYm9sc19wcmVmaXg9IiQxIgorKyAgICBzaGlmdAorKyAgICBsaWJfZmlsZXM9YGxzICIkQCIgMj4vZGV2L251bGxgCisrICAgIFsgLXogIiRsaWJfZmlsZXMiIF0gJiYgcmV0dXJuCisrICAgIGJhZF9nbG9iYWxzPWBubSAtZyAtLWRlZmluZWQtb25seSAkbGliX2ZpbGVzIHwKKysgICAgICAgIGF3ayAne2lmICgkMykgcHJpbnQgJDN9JyB8CisrICAgICAgICBzZWQgLW4gIi9eJHtzeW1ib2xzX3ByZWZpeH1fLyBkOyAvXl8ke3N5bWJvbHNfcHJlZml4fS8geyBwOyBkIH07IC9eXy8gZDsgcCJgCisrICAgIFsgLXogIiRiYWRfZ2xvYmFscyIgXSAmJiByZXR1cm4KKyAgICAgZXJyb3I9MQorLWZpCistCistYmFkX2dsb2JhbHM9YG5tIC1nIC0tZGVmaW5lZC1vbmx5ICRidWlsZGRpci8uLi9saWJtcGVnMi9jb252ZXJ0LyoubyB8XAorLSAgICBhd2sgJ3tpZiAoJDMpIHByaW50ICQzfScgfCBncmVwIC12ICdeX1w/bXBlZzJjb252ZXJ0XydgCisrICAgIGVjaG8gQkFEIEdMT0JBTCBTWU1CT0xTIGluICRsaWJfZmlsZXM6CisrICAgIGVjaG8gIiRiYWRfZ2xvYmFscyIKKyt9CisgCistaWYgdGVzdCB4IiRiYWRfZ2xvYmFscyIgIT0geCIiOyB0aGVuCistICAgIGVjaG8gQkFEIEdMT0JBTCBTWU1CT0xTOgorLSAgICBmb3IgcyBpbiAkYmFkX2dsb2JhbHM7IGRvIGVjaG8gJHM7IGRvbmUKKy0gICAgZXJyb3I9MQorLWZpCisrY2hlY2tfYmFkX3B1YmxpY19zeW1ib2xzIG1wZWcyICRidWlsZGRpci8uLi9saWJtcGVnMi8ubGlicy9saWJtcGVnMi5zbworK2NoZWNrX2JhZF9wdWJsaWNfc3ltYm9scyBtcGVnMmNvbnZlcnQgJGJ1aWxkZGlyLy4uL2xpYm1wZWcyL2NvbnZlcnQvLmxpYnMvbGlibXBlZzJjb252ZXJ0LnNvCisgCisgZXhpdCAkZXJyb3IKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbXBlZzJkZWMvbXBlZzJkZWNfMC41LjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL21wZWcyZGVjL21wZWcyZGVjXzAuNS4xLmJiCmluZGV4IDc3MTFjMmQuLjZiNTlkNGYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbXBlZzJkZWMvbXBlZzJkZWNfMC41LjEuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9tcGVnMmRlYy9tcGVnMmRlY18wLjUuMS5iYgpAQCAtMTAsNiArMTAsNyBAQAogICAgICAgICAgICBmaWxlOi8vYWx0aXZlY19oX25lZWRlZC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNoZWNrLWZvci1hdmFpbGFibGUtYXJtLW9wdGltaXphdGlvbnMucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMi1TZXQtdmlzaWJpbGl0eS1vZi1nbG9iYWwtc3ltYm9scy11c2VkLWluLUFSTS1zcGVjaWZpLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzYxX2dsb2JhbC1zeW1ib2wtdGVzdC5wYXRjaCBcCiAgICAgICAgICAgICIKIAogUyA9ICIke1dPUktESVJ9L2xpYm1wZWcyLSR7UFZ9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9wdWxzZWF1ZGlvL3B1bHNlYXVkaW8uaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9wdWxzZWF1ZGlvL3B1bHNlYXVkaW8uaW5jCmluZGV4IGY1MjY2OTAuLjlhOTVlN2MgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvcHVsc2VhdWRpby9wdWxzZWF1ZGlvLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3B1bHNlYXVkaW8vcHVsc2VhdWRpby5pbmMKQEAgLTU4LDEwICs1OCwxMCBAQAogCiBERVBFTkRTID0gImxpYmF0b21pYy1vcHMgbGlic25kZmlsZTEgbGlidG9vbCBpbnRsdG9vbC1uYXRpdmUiCiAjIG9wdGlvbmFsCi1ERVBFTkRTICs9ICJ1ZGV2IGFsc2EtbGliIGdsaWItMi4wIGdjb25mIgorREVQRU5EUyArPSAidWRldiBhbHNhLWxpYiBnbGliLTIuMCIKIERFUEVORFMgKz0gInNwZWV4ZHNwIGxpYnhtbC1wYXJzZXItcGVybC1uYXRpdmUgbGliY2FwIgogCi1pbmhlcml0IGF1dG90b29scyBiYXNoLWNvbXBsZXRpb24gcGtnY29uZmlnIHVzZXJhZGQgZ2V0dGV4dCBwZXJsbmF0aXZlIGJsdWV0b290aCBzeXN0ZW1kIG1hbnBhZ2VzCitpbmhlcml0IGF1dG90b29scyBiYXNoLWNvbXBsZXRpb24gcGtnY29uZmlnIHVzZXJhZGQgZ2V0dGV4dCBwZXJsbmF0aXZlIGJsdWV0b290aCBzeXN0ZW1kIG1hbnBhZ2VzIGdzZXR0aW5ncwogCiAjICouZGVza3RvcCBydWxlcyB3b250IGJlIGdlbmVyYXRlZCBkdXJpbmcgY29uZmlndXJlIGFuZCBidWlsZCB3aWxsIGZhaWwKICMgaWYgdXNpbmcgLS1kaXNhYmxlLW5scwpAQCAtNzYsOCArNzYsOSBAQAogCQktLXdpdGgtZGF0YWJhc2U9c2ltcGxlIFwKIAkJLS13aXRob3V0LXpzaC1jb21wbGV0aW9uLWRpciBcCiAJCS0td2l0aC11ZGV2LXJ1bGVzLWRpcj1gcGtnLWNvbmZpZyAtLXZhcmlhYmxlPXVkZXZkaXIgdWRldmAvcnVsZXMuZCBcCi0gICAgICAgICAgICAgICAgYWNfY3ZfaGVhZGVyX3ZhbGdyaW5kX21lbWNoZWNrX2g9bm8gXAotICAgICAgICAgICAgICAgIC0tZGlzYWJsZS10ZXN0cyBcCisJCWFjX2N2X2hlYWRlcl92YWxncmluZF9tZW1jaGVja19oPW5vIFwKKwkJLS1kaXNhYmxlLXRlc3RzIFwKKwkJLS1kaXNhYmxlLXJ1bm5pbmctZnJvbS1idWlsZC10cmVlIFwKICIKIAogIyBzb3hyICh0aGUgU29YIFJlc2FtcGxlciBsaWJyYXJ5KSBkb2Vzbid0IHNlZW0gdG8gYmUgY3VycmVudGx5IHBhY2thZ2VkIGluCkBAIC05NywyMCArOTgsMTggQEAKICMgdmVyeSBnb29kIGFueXdheSwgYmV0dGVyIGFsdGVybmF0aXZlcyBleGlzdCAoc3VjaCBhcyB0aGUgd2VicnRjIGNhbmNlbGxlcikuCiBFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1hZHJpYW4tYWVjIgogCi0jIEZJWE1FOiBUaGUgZ3NldHRpbmdzIG1vZHVsZSBpcyB0ZW1wb3JhcmlseSBkaXNhYmxlZCwgYmVjYXVzZSBhZGRpbmcgc3VwcG9ydAotIyBmb3IgaXQgaXMgYSBiaXQgY29tcGxpY2F0ZWQuCi1FWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1nc2V0dGluZ3MiCi0KIFBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2JsdWV0b290aCcsICcke0JMVUVafScsICcnLCBkKX0gXAogICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnemVyb2NvbmYnLCAnYXZhaGknLCAnJywgZCl9IFwKICAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJzNnJywgJ29mb25vJywgJycsIGQpfSBcCiAgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NiBzeXN0ZW1kIHgxMScsIGQpfSBcCi0gICAgICAgICAgICAgICAgICAgZGJ1cyBcCisgICAgICAgICAgICAgICAgICAgZGJ1cyBnc2V0dGluZ3MgXAogICAgICAgICAgICAgICAgICAgICIKIAogUEFDS0FHRUNPTkZJR1tkYnVzXSA9ICItLWVuYWJsZS1kYnVzLC0tZGlzYWJsZS1kYnVzLGRidXMiCiBQQUNLQUdFQ09ORklHW2JsdWV6NF0gPSAiLS1lbmFibGUtYmx1ZXo0LC0tZGlzYWJsZS1ibHVlejQsYmx1ZXo0IHNiYyIKIFBBQ0tBR0VDT05GSUdbYmx1ZXo1XSA9ICItLWVuYWJsZS1ibHVlejUsLS1kaXNhYmxlLWJsdWV6NSxibHVlejUgc2JjIgorUEFDS0FHRUNPTkZJR1tnY29uZl0gPSAiLS1lbmFibGUtZ2NvbmYsLS1kaXNhYmxlLWdjb25mLGdjb25mIgorUEFDS0FHRUNPTkZJR1tnc2V0dGluZ3NdID0gIi0tZW5hYmxlLWdzZXR0aW5ncywtLWRpc2FibGUtZ3NldHRpbmdzLGdsaWItMi4wLW5hdGl2ZSBnbGliLTIuMCIKIFBBQ0tBR0VDT05GSUdbb2Zvbm9dID0gIi0tZW5hYmxlLWJsdWV6NS1vZm9uby1oZWFkc2V0LC0tZGlzYWJsZS1ibHVlejUtb2Zvbm8taGVhZHNldCxvZm9ubyIKIFBBQ0tBR0VDT05GSUdbZ3RrXSA9ICItLWVuYWJsZS1ndGszLC0tZGlzYWJsZS1ndGszLGd0ayszIgogUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLWVuYWJsZS1zeXN0ZW1kLWRhZW1vbiAtLWVuYWJsZS1zeXN0ZW1kLWxvZ2luIC0tZW5hYmxlLXN5c3RlbWQtam91cm5hbCAtLXdpdGgtc3lzdGVtZHVzZXJ1bml0ZGlyPSR7c3lzdGVtZF91c2VyX3VuaXRkaXJ9LC0tZGlzYWJsZS1zeXN0ZW1kLWRhZW1vbiAtLWRpc2FibGUtc3lzdGVtZC1sb2dpbiAtLWRpc2FibGUtc3lzdGVtZC1qb3VybmFsLHN5c3RlbWQiCkBAIC0xOTMsNiArMTkyLDcgQEAKIEZJTEVTXyR7UE59LW1pc2MgPSAiJHtiaW5kaXJ9LyogJHtsaWJkaXJ9L3B1bHNlYXVkaW8vbGlicHVsc2Vkc3Auc28iCiAKICMgQWxsb3cgdGhlIHB1bHNlYXVkaW8gcGFja2FnZSB0byBiZSBjcmVhdGVkIGVtcHR5IGFzIGEgcGxhY2Vob2xkZXIgKC1kYmcgYW5kIC1kZXYgZGVwZW5kIG9uIGl0KQorRklMRVNfJHtQTn0gPSAiIgogQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKIAogQ09ORkZJTEVTX2xpYnB1bHNlID0gIiR7c3lzY29uZmRpcn0vcHVsc2UvY2xpZW50LmNvbmYiCkBAIC0yMTAsMTEgKzIxMCw5IEBACiB9CiAKIHB5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kKCkgewotICAgICNkLnNldFZhcignUEtHX3B1bHNlYXVkaW8nLCAncHVsc2VhdWRpbycpCi0KICAgICBwbHVnaW5kaXIgPSBkLmV4cGFuZCgnJHtsaWJkaXJ9L3B1bHNlLSR7UFZ9L21vZHVsZXMvJykKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwbHVnaW5kaXIsICdebW9kdWxlLSguKilcLnNvJCcsICdwdWxzZWF1ZGlvLW1vZHVsZS0lcycsICdQdWxzZUF1ZGlvIG1vZHVsZSBmb3IgJXMnLCBleHRyYV9kZXBlbmRzPScnLCBwcmVwZW5kPVRydWUpCi0gICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcGx1Z2luZGlyLCAnXmxpYiguKilcLnNvJCcsICdwdWxzZWF1ZGlvLWxpYi0lcycsICdQdWxzZUF1ZGlvIGxpYnJhcnkgZm9yICVzJywgZXh0cmFfZGVwZW5kcz0nJywgcHJlcGVuZD1UcnVlKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHBsdWdpbmRpciwgcidebW9kdWxlLSguKilcLnNvJCcsICcke1BOfS1tb2R1bGUtJXMnLCAnUHVsc2VBdWRpbyBtb2R1bGUgZm9yICVzJywgZXh0cmFfZGVwZW5kcz0nJywgcHJlcGVuZD1UcnVlKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHBsdWdpbmRpciwgcidebGliKC4qKVwuc28kJywgJyR7UE59LWxpYi0lcycsICdQdWxzZUF1ZGlvIGxpYnJhcnkgZm9yICVzJywgZXh0cmFfZGVwZW5kcz0nJywgcHJlcGVuZD1UcnVlKQogfQogCiBSREVQRU5EU19wdWxzZWF1ZGlvLXNlcnZlciA9ICIgXApAQCAtMjUwLDggKzI0OCwxMSBAQAogUkRFUEVORFNfcHVsc2VhdWRpby1tb2R1bGUtY29uc29sZS1raXQgPSsgIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ2NvbnNvbGVraXQnLCAnJywgZCl9IgogUkRFUEVORFNfcHVsc2VhdWRpby1taXNjICs9ICJwdWxzZWF1ZGlvLW1vZHVsZS1jbGktcHJvdG9jb2wtdW5peCIKIAotRklMRVNfcHVsc2VhdWRpby1tb2R1bGUtZ2NvbmYgKz0gIiR7bGliZXhlY2Rpcn0vcHVsc2UvZ2NvbmYtaGVscGVyIgotRklMRVNfcHVsc2VhdWRpby1tb2R1bGUtYWxzYS1jYXJkICs9ICIke2RhdGFkaXJ9L3B1bHNlYXVkaW8vYWxzYS1taXhlciIKK0ZJTEVTXyR7UE59LW1vZHVsZS1hbHNhLWNhcmQgKz0gIiR7ZGF0YWRpcn0vcHVsc2VhdWRpby9hbHNhLW1peGVyIgorRklMRVNfJHtQTn0tbW9kdWxlLWdjb25mICs9ICIke2xpYmV4ZWNkaXJ9L3B1bHNlL2djb25mLWhlbHBlciIKKworR1NFVFRJTkdTX1BBQ0tBR0UgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZ3NldHRpbmdzJywgJyR7UE59LW1vZHVsZS1nc2V0dGluZ3MnLCAnJywgZCl9IgorRklMRVNfJHtQTn0tbW9kdWxlLWdzZXR0aW5ncyArPSAiJHtsaWJleGVjZGlyfS9wdWxzZS9nc2V0dGluZ3MtaGVscGVyICR7ZGF0YWRpcn0vR0NvbmYvZ3NldHRpbmdzICR7ZGF0YWRpcn0vZ2xpYi0yLjAvc2NoZW1hcyIKIAogIyBUaGUgY29uc29sZS1raXQgbW9kdWxlIGlzIGdvb2QgdG8gaGF2ZSBvbiBYMTEgc3lzdGVtcyAoaXQga2VlcHMgUHVsc2VBdWRpbwogIyBydW5uaW5nIGZvciB0aGUgZHVyYXRpb24gb2YgdGhlIHVzZXIgbG9naW4gc2Vzc2lvbikuIFRoZSBkZXZpY2UtbWFuYWdlciBhbmQKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvcHVsc2VhdWRpby9wdWxzZWF1ZGlvLzAwMDEtaW50cm9kdWNlLWEtc3BlY2lhbC1idWlsZC1mbGFnLXRvLWV4cGxpY2l0bHktZGlzYWJsZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvcHVsc2VhdWRpby9wdWxzZWF1ZGlvLzAwMDEtaW50cm9kdWNlLWEtc3BlY2lhbC1idWlsZC1mbGFnLXRvLWV4cGxpY2l0bHktZGlzYWJsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iN2U5Y2Q4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9wdWxzZWF1ZGlvL3B1bHNlYXVkaW8vMDAwMS1pbnRyb2R1Y2UtYS1zcGVjaWFsLWJ1aWxkLWZsYWctdG8tZXhwbGljaXRseS1kaXNhYmxlLnBhdGNoCkBAIC0wLDAgKzEsMTYxIEBACitGcm9tIDM2ZmViOThlNTY4MjIxZTI0Mjg2NjE1NzMwODg4ZDVmNmZmMzIzZjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBGcmksIDcgRGVjIDIwMTggMTU6MTI6MzggKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gaW50cm9kdWNlIGEgc3BlY2lhbCBidWlsZCBmbGFnIHRvIGV4cGxpY2l0bHkgZGlzYWJsZXMgcnVubmluZworIGZyb20gYnVpbGQgdHJlZQorCitJdCBpcyBoZWxwZnVsIHRvIGltcHJvdmUgcmVwcm9kdWNpYmlsaXR5IGJ1aWxkIFsxXSBzaW5jZQorUEFfU1JDRElSL1BBX0JVSUxERElSIGNvbnRhaW5zIGJ1aWxkIHBhdGgsIGRpc2FibGUgcnVubmluZworZnJvbSBidWlsZCB0cmVlIGNvdWxkIGRyb3AgdGhlc2UgbWFjcm9zIGF0IHByZWNvbXBpbGF0aW9uLgorCitbMV0gaHR0cHM6Ly9yZXByb2R1Y2libGUtYnVpbGRzLm9yZy8KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW3B1bHNlYXVkaW8tZGlzY3Vzc0BsaXN0cy5mcmVlZGVza3RvcC5vcmddCitTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitBY2tlZC1ieTogVGFudSBLYXNraW5lbiA8dGFudWtAaWtpLmZpPgorLS0tCisgY29uZmlndXJlLmFjICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEwICsrKysrKysrKysKKyBzcmMvZGFlbW9uL2RhZW1vbi1jb25mLmMgICAgICAgICAgICAgICAgIHwgIDQgKysrLQorIHNyYy9kYWVtb24vbWFpbi5jICAgICAgICAgICAgICAgICAgICAgICAgfCAgNiArKysrKysKKyBzcmMvbW9kdWxlcy9hbHNhL2Fsc2EtbWl4ZXIuYyAgICAgICAgICAgIHwgIDQgKysrKworIHNyYy9tb2R1bGVzL2djb25mL21vZHVsZS1nY29uZi5jICAgICAgICAgfCAgMiArLQorIHNyYy9tb2R1bGVzL2dzZXR0aW5ncy9tb2R1bGUtZ3NldHRpbmdzLmMgfCAgMiArLQorIHNyYy9wdWxzZWNvcmUvY29yZS11dGlsLmMgICAgICAgICAgICAgICAgfCAgNCArKystCisgNyBmaWxlcyBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCBjOWM0MTRmLi44YjM0NWVmIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC05OTgsNiArOTk4LDE2IEBAIEFTX0lGKFt0ZXN0ICJ4JGVuYWJsZV9hc3luY25zIiA9ICJ4eWVzIiAmJiB0ZXN0ICJ4JEhBVkVfTElCQVNZTkNOUyIgPSAieDAiXSwKKyBBTV9DT05ESVRJT05BTChbSEFWRV9MSUJBU1lOQ05TXSwgW3Rlc3QgIngkSEFWRV9MSUJBU1lOQ05TIiA9IHgxXSkKKyBBU19JRihbdGVzdCAieCRIQVZFX0xJQkFTWU5DTlMiID0gIngxIl0sIEFDX0RFRklORShbSEFWRV9MSUJBU1lOQ05TXSwgMSwgW0hhdmUgbGliYXN5bmNucz9dKSkKKyAKKysjIyMjIFJ1bm5pbmcgZnJvbSBidWlsZCB0cmVlIChvcHRpb25hbCkgIyMjIworKworK0FDX0FSR19FTkFCTEUoW3J1bm5pbmctZnJvbS1idWlsZC10cmVlXSwKKysgICAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1ydW5uaW5nLWZyb20tYnVpbGQtdHJlZV0sW0Rpc2FibGUgcnVubmluZyBmcm9tIGJ1aWxkIHRyZWVdKSkKKysKKytBU19JRihbdGVzdCAieCRlbmFibGVfcnVubmluZ19mcm9tX2J1aWxkX3RyZWUiICE9ICJ4bm8iXSwKKysgICAgICBBQ19ERUZJTkUoW0hBVkVfUlVOTklOR19GUk9NX0JVSUxEX1RSRUVdLCAxLCBbSGF2ZSBydW5uaW5nIGZyb20gYnVpbGQgdHJlZV0pKQorKworK0FDX1NVQlNUKEhBVkVfUlVOTklOR19GUk9NX0JVSUxEX1RSRUUpCisrCisgIyMjIyBUQ1Agd3JhcHBlcnMgKG9wdGlvbmFsKSAjIyMjCisgCisgQUNfQVJHX0VOQUJMRShbdGNwd3JhcF0sCitkaWZmIC0tZ2l0IGEvc3JjL2RhZW1vbi9kYWVtb24tY29uZi5jIGIvc3JjL2RhZW1vbi9kYWVtb24tY29uZi5jCitpbmRleCA5ODgzMTI2Li5mMDFlZmY0IDEwMDY0NAorLS0tIGEvc3JjL2RhZW1vbi9kYWVtb24tY29uZi5jCisrKysgYi9zcmMvZGFlbW9uL2RhZW1vbi1jb25mLmMKK0BAIC0xNTUsMTIgKzE1NSwxNCBAQCBwYV9kYWVtb25fY29uZiAqcGFfZGFlbW9uX2NvbmZfbmV3KHZvaWQpIHsKKyAgICAgYy0+ZGxfc2VhcmNoX3BhdGggPSBwYV9zcHJpbnRmX21hbGxvYygiJXMiIFBBX1BBVEhfU0VQICJsaWIiIFBBX1BBVEhfU0VQICJwdWxzZS0lZC4lZCIgUEFfUEFUSF9TRVAgIm1vZHVsZXMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhX3dpbjMyX2dldF90b3BsZXZlbChOVUxMKSwgUEFfTUFKT1IsIFBBX01JTk9SKTsKKyAjZWxzZQorKyNpZmRlZiBIQVZFX1JVTk5JTkdfRlJPTV9CVUlMRF9UUkVFCisgICAgIGlmIChwYV9ydW5fZnJvbV9idWlsZF90cmVlKCkpIHsKKyAgICAgICAgIHBhX2xvZ19ub3RpY2UoIkRldGVjdGVkIHRoYXQgd2UgYXJlIHJ1biBmcm9tIHRoZSBidWlsZCB0cmVlLCBmaXhpbmcgc2VhcmNoIHBhdGguIik7CisgICAgICAgICBjLT5kbF9zZWFyY2hfcGF0aCA9IHBhX3hzdHJkdXAoUEFfQlVJTERESVIpOworICAgICB9IGVsc2UKKy0gICAgICAgIGMtPmRsX3NlYXJjaF9wYXRoID0gcGFfeHN0cmR1cChQQV9ETFNFQVJDSFBBVEgpOworICNlbmRpZgorKyAgICAgICAgYy0+ZGxfc2VhcmNoX3BhdGggPSBwYV94c3RyZHVwKFBBX0RMU0VBUkNIUEFUSCk7CisrI2VuZGlmIC8vRW5kb2YgI2lmZGVmIE9TX0lTX1dJTjMyCisgCisgICAgIHJldHVybiBjOworIH0KK2RpZmYgLS1naXQgYS9zcmMvZGFlbW9uL21haW4uYyBiL3NyYy9kYWVtb24vbWFpbi5jCitpbmRleCBjODBmYTk0Li4xZTAwMzg4IDEwMDY0NAorLS0tIGEvc3JjL2RhZW1vbi9tYWluLmMKKysrKyBiL3NyYy9kYWVtb24vbWFpbi5jCitAQCAtOTMyLDYgKzkzMiwxMiBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKSB7CisgCisgICAgIHBhX2xvZ19kZWJ1ZygiUnVubmluZyBpbiBWTTogJXMiLCBwYV95ZXNfbm8ocGFfcnVubmluZ19pbl92bSgpKSk7CisgCisrI2lmZGVmIEhBVkVfUlVOTklOR19GUk9NX0JVSUxEX1RSRUUKKysgICAgcGFfbG9nX2RlYnVnKCJSdW5uaW5nIGZyb20gYnVpbGQgdHJlZTogJXMiLCBwYV95ZXNfbm8ocGFfcnVuX2Zyb21fYnVpbGRfdHJlZSgpKSk7CisrI2Vsc2UKKysgICAgcGFfbG9nX2RlYnVnKCJSdW5uaW5nIGZyb20gYnVpbGQgdHJlZTogbm8iKTsKKysjZW5kaWYKKysKKyAjaWZkZWYgX19PUFRJTUlaRV9fCisgICAgIHBhX2xvZ19kZWJ1ZygiT3B0aW1pemVkIGJ1aWxkOiB5ZXMiKTsKKyAjZWxzZQorZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2Fsc2EvYWxzYS1taXhlci5jIGIvc3JjL21vZHVsZXMvYWxzYS9hbHNhLW1peGVyLmMKK2luZGV4IGE1MjRkNmQuLjY3MGY2NDYgMTAwNjQ0CistLS0gYS9zcmMvbW9kdWxlcy9hbHNhL2Fsc2EtbWl4ZXIuYworKysrIGIvc3JjL21vZHVsZXMvYWxzYS9hbHNhLW1peGVyLmMKK0BAIC0yNTcxLDkgKzI1NzEsMTEgQEAgc3RhdGljIGludCBwYXRoX3ZlcmlmeShwYV9hbHNhX3BhdGggKnApIHsKKyB9CisgCisgc3RhdGljIGNvbnN0IGNoYXIgKmdldF9kZWZhdWx0X3BhdGhzX2Rpcih2b2lkKSB7CisrI2lmZGVmIEhBVkVfUlVOTklOR19GUk9NX0JVSUxEX1RSRUUKKyAgICAgaWYgKHBhX3J1bl9mcm9tX2J1aWxkX3RyZWUoKSkKKyAgICAgICAgIHJldHVybiBQQV9TUkNESVIgIi9tb2R1bGVzL2Fsc2EvbWl4ZXIvcGF0aHMvIjsKKyAgICAgZWxzZQorKyNlbmRpZgorICAgICAgICAgcmV0dXJuIFBBX0FMU0FfUEFUSFNfRElSOworIH0KKyAKK0BAIC00NDU1LDcgKzQ0NTcsOSBAQCBwYV9hbHNhX3Byb2ZpbGVfc2V0KiBwYV9hbHNhX3Byb2ZpbGVfc2V0X25ldyhjb25zdCBjaGFyICpmbmFtZSwgY29uc3QgcGFfY2hhbm5lbAorICAgICAgICAgZm5hbWUgPSAiZGVmYXVsdC5jb25mIjsKKyAKKyAgICAgZm4gPSBwYV9tYXliZV9wcmVmaXhfcGF0aChmbmFtZSwKKysjaWZkZWYgSEFWRV9SVU5OSU5HX0ZST01fQlVJTERfVFJFRQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhX3J1bl9mcm9tX2J1aWxkX3RyZWUoKSA/IFBBX1NSQ0RJUiAiL21vZHVsZXMvYWxzYS9taXhlci9wcm9maWxlLXNldHMvIiA6CisrI2VuZGlmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEFfQUxTQV9QUk9GSUxFX1NFVFNfRElSKTsKKyAKKyAgICAgciA9IHBhX2NvbmZpZ19wYXJzZShmbiwgTlVMTCwgaXRlbXMsIE5VTEwsIGZhbHNlLCBwcyk7CitkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvZ2NvbmYvbW9kdWxlLWdjb25mLmMgYi9zcmMvbW9kdWxlcy9nY29uZi9tb2R1bGUtZ2NvbmYuYworaW5kZXggYzBmNGRkZS4uNzZhMWYxOSAxMDA2NDQKKy0tLSBhL3NyYy9tb2R1bGVzL2djb25mL21vZHVsZS1nY29uZi5jCisrKysgYi9zcmMvbW9kdWxlcy9nY29uZi9tb2R1bGUtZ2NvbmYuYworQEAgLTUxLDcgKzUxLDcgQEAgaW50IHBhX19pbml0KHBhX21vZHVsZSptKSB7CisgICAgIHUtPmJ1Zl9maWxsID0gMDsKKyAKKyAgICAgaWYgKCh1LT5mZCA9IHBhX3N0YXJ0X2NoaWxkX2Zvcl9yZWFkKAorLSNpZiBkZWZpbmVkKF9fbGludXhfXykgJiYgIWRlZmluZWQoX19PUFRJTUlaRV9fKQorKyNpZiBkZWZpbmVkKF9fbGludXhfXykgJiYgZGVmaW5lZChIQVZFX1JVTk5JTkdfRlJPTV9CVUlMRF9UUkVFKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhX3J1bl9mcm9tX2J1aWxkX3RyZWUoKSA/IFBBX0JVSUxERElSICIvZ2NvbmYtaGVscGVyIiA6CisgI2VuZGlmCisgICAgICAgICAgICAgICAgICBQQV9HQ09ORl9IRUxQRVIsIE5VTEwsICZ1LT5waWQpKSA8IDApCitkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvZ3NldHRpbmdzL21vZHVsZS1nc2V0dGluZ3MuYyBiL3NyYy9tb2R1bGVzL2dzZXR0aW5ncy9tb2R1bGUtZ3NldHRpbmdzLmMKK2luZGV4IDMzMGVjYTEuLjIwOWM4NTcgMTAwNjQ0CistLS0gYS9zcmMvbW9kdWxlcy9nc2V0dGluZ3MvbW9kdWxlLWdzZXR0aW5ncy5jCisrKysgYi9zcmMvbW9kdWxlcy9nc2V0dGluZ3MvbW9kdWxlLWdzZXR0aW5ncy5jCitAQCAtNTEsNyArNTEsNyBAQCBpbnQgcGFfX2luaXQocGFfbW9kdWxlKm0pIHsKKyAgICAgdS0+YnVmX2ZpbGwgPSAwOworIAorICAgICBpZiAoKHUtPmZkID0gcGFfc3RhcnRfY2hpbGRfZm9yX3JlYWQoCistI2lmIGRlZmluZWQoX19saW51eF9fKSAmJiAhZGVmaW5lZChfX09QVElNSVpFX18pCisrI2lmIGRlZmluZWQoX19saW51eF9fKSAmJiBkZWZpbmVkKEhBVkVfUlVOTklOR19GUk9NX0JVSUxEX1RSRUUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFfcnVuX2Zyb21fYnVpbGRfdHJlZSgpID8gUEFfQlVJTERESVIgIi9nc2V0dGluZ3MtaGVscGVyIiA6CisgI2VuZGlmCisgICAgICAgICAgICAgICAgICBQQV9HU0VUVElOR1NfSEVMUEVSLCBOVUxMLCAmdS0+cGlkKSkgPCAwKQorZGlmZiAtLWdpdCBhL3NyYy9wdWxzZWNvcmUvY29yZS11dGlsLmMgYi9zcmMvcHVsc2Vjb3JlL2NvcmUtdXRpbC5jCitpbmRleCA2NGU5ZjIxLi5mODVkZDIwIDEwMDY0NAorLS0tIGEvc3JjL3B1bHNlY29yZS9jb3JlLXV0aWwuYworKysrIGIvc3JjL3B1bHNlY29yZS9jb3JlLXV0aWwuYworQEAgLTM0MzYsMTUgKzM0MzYsMTcgQEAgdm9pZCBwYV9yZXNldF9wZXJzb25hbGl0eSh2b2lkKSB7CisgfQorIAorIGJvb2wgcGFfcnVuX2Zyb21fYnVpbGRfdHJlZSh2b2lkKSB7CistICAgIGNoYXIgKnJwOworICAgICBzdGF0aWMgYm9vbCBiID0gZmFsc2U7CisgCisrI2lmZGVmIEhBVkVfUlVOTklOR19GUk9NX0JVSUxEX1RSRUUKKysgICAgY2hhciAqcnA7CisgICAgIFBBX09OQ0VfQkVHSU4geworICAgICAgICAgaWYgKChycCA9IHBhX3JlYWRsaW5rKCIvcHJvYy9zZWxmL2V4ZSIpKSkgeworICAgICAgICAgICAgIGIgPSBwYV9zdGFydHN3aXRoKHJwLCBQQV9CVUlMRERJUik7CisgICAgICAgICAgICAgcGFfeGZyZWUocnApOworICAgICAgICAgfQorICAgICB9IFBBX09OQ0VfRU5EOworKyNlbmRpZgorIAorICAgICByZXR1cm4gYjsKKyB9CistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvcHVsc2VhdWRpby9wdWxzZWF1ZGlvLzAwMDItZG8tbm90LWRpc3BsYXktQ0xGQUdTLXRvLWltcHJvdmUtcmVwcm9kdWNpYmlsaXR5LWJ1aS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvcHVsc2VhdWRpby9wdWxzZWF1ZGlvLzAwMDItZG8tbm90LWRpc3BsYXktQ0xGQUdTLXRvLWltcHJvdmUtcmVwcm9kdWNpYmlsaXR5LWJ1aS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40M2FkZDc1Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9wdWxzZWF1ZGlvL3B1bHNlYXVkaW8vMDAwMi1kby1ub3QtZGlzcGxheS1DTEZBR1MtdG8taW1wcm92ZS1yZXByb2R1Y2liaWxpdHktYnVpLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKK0Zyb20gZjBkZGQ3YzM2NTU2YWQwNWMxMzk4ZmRkMTMyOTQ3MzIzYWQyNjQ3MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFRodSwgNiBEZWMgMjAxOCAxMTo0Mzo0MSArMDgwMAorU3ViamVjdDogW1BBVENIIDIvMl0gZG8gbm90IGRpc3BsYXkgQ0xGQUdTIHRvIGltcHJvdmUgcmVwcm9kdWNpYmlsaXR5IGJ1aWxkCisKK01hY3JvIFBBX0NGTEFHUyBjb250YWlucyBidWlsZCBwYXRoLCBkbyBub3QgdXNlIGl0IHRvCitkaXNwbGF5IENGTEFHUyB3aGljaCBjb3VsZCBpbXByb3ZlIHJlcHJvZHVjaWJpbGl0eSBidWlsZC4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZSBzcGVjaWZpY10KK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIHNyYy9kYWVtb24vbWFpbi5jIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2RhZW1vbi9tYWluLmMgYi9zcmMvZGFlbW9uL21haW4uYworaW5kZXggYzgwZmE5NC4uNzU0OTZiZSAxMDA2NDQKKy0tLSBhL3NyYy9kYWVtb24vbWFpbi5jCisrKysgYi9zcmMvZGFlbW9uL21haW4uYworQEAgLTkwOCw3ICs5MDgsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKSB7CisgCisgICAgIHBhX2xvZ19pbmZvKCJUaGlzIGlzIFB1bHNlQXVkaW8gJXMiLCBQQUNLQUdFX1ZFUlNJT04pOworICAgICBwYV9sb2dfZGVidWcoIkNvbXBpbGF0aW9uIGhvc3Q6ICVzIiwgQ0FOT05JQ0FMX0hPU1QpOworLSAgICBwYV9sb2dfZGVidWcoIkNvbXBpbGF0aW9uIENGTEFHUzogJXMiLCBQQV9DRkxBR1MpOworKyAgICBwYV9sb2dfZGVidWcoIkNvbXBpbGF0aW9uIENGTEFHUzogKioqIik7CisgCisgI2lmZGVmIEhBVkVfTElCU0FNUExFUkFURQorICAgICBwYV9sb2dfd2FybigiQ29tcGlsZWQgd2l0aCBERVBSRUNBVEVEIGxpYnNhbXBsZXJhdGUgc3VwcG9ydCEiKTsKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9wdWxzZWF1ZGlvL3B1bHNlYXVkaW9fMTIuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvcHVsc2VhdWRpby9wdWxzZWF1ZGlvXzEyLjIuYmIKaW5kZXggMzZkOTJiYy4uYzAyMGZiZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9wdWxzZWF1ZGlvL3B1bHNlYXVkaW9fMTIuMi5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3B1bHNlYXVkaW8vcHVsc2VhdWRpb18xMi4yLmJiCkBAIC0yLDYgKzIsOCBAQAogCiBTUkNfVVJJID0gImh0dHA6Ly9mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvcHVsc2VhdWRpby9yZWxlYXNlcy8ke0JQfS50YXIueHogXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1jbGllbnQtY29uZi1BZGQtYWxsb3ctYXV0b3NwYXduLWZvci1yb290LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtaW50cm9kdWNlLWEtc3BlY2lhbC1idWlsZC1mbGFnLXRvLWV4cGxpY2l0bHktZGlzYWJsZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLWRvLW5vdC1kaXNwbGF5LUNMRkFHUy10by1pbXByb3ZlLXJlcHJvZHVjaWJpbGl0eS1idWkucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vdm9sYXRpbGVzLjA0X3B1bHNlIFwKICAgICAgICAgICAgIgogU1JDX1VSSVttZDVzdW1dID0gImM0MmYxZjE0NjVlOGRmOTg1OWQwMjNkYzE4NDczNGJmIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9zYmMvc2JjXzEuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvc2JjL3NiY18xLjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJiYjg5NWQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9zYmMvc2JjXzEuMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLVNVTU1BUlkgPSAiU0JDIEF1ZGlvIENvZGVjIgotREVTQ1JJUFRJT04gPSAiQmx1ZXRvb3RoIGxvdy1jb21wbGV4aXR5LCBzdWJiYW5kIGNvZGVjIChTQkMpIGxpYnJhcnkuIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly93d3cuYmx1ZXoub3JnIgotU0VDVElPTiA9ICJsaWJzIgotTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIuMSsiCi1MSUNFTlNFXyR7UE59ID0gIkxHUEx2Mi4xKyIKLUxJQ0VOU0VfJHtQTn0tZXhhbXBsZXMgPSAiR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MTJmODg0ZDJhZTFmZjg3YzA5ZTViN2NjYzJjNGNhN2UgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PWZiNTA0YjY3YzUwMzMxZmM3ODczNGZlZDkwZmIwZTA5IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9zYmNlbmMuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTI0O21kNT0wOGU3YTcwYjEyN2Y0MTAwZmYyY2Q3ZDYyOTE0N2Q4ZCBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zYmMvc2JjLmg7YmVnaW5saW5lPTE7ZW5kbGluZT0yNjttZDU9MGY1N2QwZGYyMmIwZDQwNzQ2YmRkMjk4MDVhNDM2MWIiCi0KLURFUEVORFMgPSAibGlic25kZmlsZTEiCi0KLVNSQ19VUkkgPSAiJHtLRVJORUxPUkdfTUlSUk9SfS9saW51eC9ibHVldG9vdGgvJHtCUH0udGFyLnh6IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMmQ4Yjc4NDFmMmMxMWFiMjg3NzE4ZDU2MmYyYjk4MWMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTYxMDIyY2Y1NzZmMTQxOTAyNDFlNzA3MTc1M2ZkYWNkY2U1ZDFkZWE4OWZmZDcwNDExMGZjNTBiZTY4OTMwOSIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCi0KLVBBQ0tBR0VTID0rICIke1BOfS1leGFtcGxlcyIKLUZJTEVTXyR7UE59LWV4YW1wbGVzICs9ICIke2JpbmRpcn0vKiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvc2JjL3NiY18xLjQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3NiYy9zYmNfMS40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3NGQ3N2UKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3NiYy9zYmNfMS40LmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiU0JDIEF1ZGlvIENvZGVjIgorREVTQ1JJUFRJT04gPSAiQmx1ZXRvb3RoIGxvdy1jb21wbGV4aXR5LCBzdWJiYW5kIGNvZGVjIChTQkMpIGxpYnJhcnkuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly93d3cuYmx1ZXoub3JnIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIuMSsiCitMSUNFTlNFXyR7UE59ID0gIkxHUEx2Mi4xKyIKK0xJQ0VOU0VfJHtQTn0tZXhhbXBsZXMgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MTJmODg0ZDJhZTFmZjg3YzA5ZTViN2NjYzJjNGNhN2UgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PWZiNTA0YjY3YzUwMzMxZmM3ODczNGZlZDkwZmIwZTA5IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9zYmNlbmMuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTI0O21kNT0wOGU3YTcwYjEyN2Y0MTAwZmYyY2Q3ZDYyOTE0N2Q4ZCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zYmMvc2JjLmg7YmVnaW5saW5lPTE7ZW5kbGluZT0yNjttZDU9MGY1N2QwZGYyMmIwZDQwNzQ2YmRkMjk4MDVhNDM2MWIiCisKK0RFUEVORFMgPSAibGlic25kZmlsZTEiCisKK1NSQ19VUkkgPSAiJHtLRVJORUxPUkdfTUlSUk9SfS9saW51eC9ibHVldG9vdGgvJHtCUH0udGFyLnh6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiODAwZmIwOTA4ODk5YmFhNDhkYzIxNmQ4ZTE1NmNjMDUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTE4YmY0NmU2YmIzZGM4MDhhOTVlMWVhYmFkMjZmZGViZThhMDk5YzFlNzgxYzI3ZWQ3ZmNhNmMyZjRhNTRjOSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1BBQ0tBR0VTID0rICIke1BOfS1leGFtcGxlcyIKK0ZJTEVTXyR7UE59LWV4YW1wbGVzICs9ICIke2JpbmRpcn0vKiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvd2VicC9saWJ3ZWJwXzEuMC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS93ZWJwL2xpYndlYnBfMS4wLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFhOTY3OWYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS93ZWJwL2xpYndlYnBfMS4wLjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi1TVU1NQVJZID0gIldlYlAgaXMgYW4gaW1hZ2UgZm9ybWF0IGRlc2lnbmVkIGZvciB0aGUgV2ViIgotREVTQ1JJUFRJT04gPSAiV2ViUCBpcyBhIG1ldGhvZCBvZiBsb3NzeSBhbmQgbG9zc2xlc3MgY29tcHJlc3Npb24gdGhhdCBjYW4gYmUgXAotICAgICAgICAgICAgICAgdXNlZCBvbiBhIGxhcmdlIHZhcmlldHkgb2YgcGhvdG9ncmFwaGljLCB0cmFuc2x1Y2VudCBhbmQgXAotICAgICAgICAgICAgICAgZ3JhcGhpY2FsIGltYWdlcyBmb3VuZCBvbiB0aGUgd2ViLiBUaGUgZGVncmVlIG9mIGxvc3N5IFwKLSAgICAgICAgICAgICAgIGNvbXByZXNzaW9uIGlzIGFkanVzdGFibGUgc28gYSB1c2VyIGNhbiBjaG9vc2UgdGhlIHRyYWRlLW9mZiBcCi0gICAgICAgICAgICAgICBiZXR3ZWVuIGZpbGUgc2l6ZSBhbmQgaW1hZ2UgcXVhbGl0eS4gV2ViUCB0eXBpY2FsbHkgYWNoaWV2ZXMgXAotICAgICAgICAgICAgICAgYW4gYXZlcmFnZSBvZiAzMCUgbW9yZSBjb21wcmVzc2lvbiB0aGFuIEpQRUcgYW5kIEpQRUcgMjAwMCwgXAotICAgICAgICAgICAgICAgd2l0aG91dCBsb3NzIG9mIGltYWdlIHF1YWxpdHkuIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vc3BlZWQvd2VicC8iCi1TRUNUSU9OID0gImxpYnMiCi0KLUxJQ0VOU0UgPSAiQlNEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NmU4ZGVlOTMyYzI2ZjJkYWI1MDNhYmY3MGM5NmQ4YmIgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vUEFURU5UUzttZDU9YzY5MjZkMGNiMDdkMjk2Zjg4NmFiNmUwY2M1YTg1YjciCi0KLVNSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2Fkcy53ZWJtcHJvamVjdC5vcmcvcmVsZWFzZXMvd2VicC8ke0JQfS50YXIuZ3oiCi1TUkNfVVJJW21kNXN1bV0gPSAiOTY3YjhmMDg3Y2IzOTJlNmNjOTRkNWUxMTZhMTIwYzAiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiODQyNTljNDM4OGYxODYzN2FmM2M1YTYzNjE1MzZkNzU0YTUzOTQ0OTJmOTFiZTFhYmMyZTk4MWQ0OTgzMjI1YiIKLQotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHA6Ly9kb3dubG9hZHMud2VibXByb2plY3Qub3JnL3JlbGVhc2VzL3dlYnAvaW5kZXguaHRtbCIKLQotRVhUUkFfT0VDT05GID0gIiBcCi0gICAgLS1kaXNhYmxlLXdpYyBcCi0gICAgLS1lbmFibGUtbGlid2VicG11eCBcCi0gICAgLS1lbmFibGUtbGlid2VicGRlbXV4IFwKLSAgICAtLWVuYWJsZS10aHJlYWRpbmcgXAotIgotIyBEbyBub3QgdHJ1c3QgY29uZmlndXJlIHRvIGRldGVybWluZSBpZiBuZW9uIGlzIGF2YWlsYWJsZS4KLSMKLUVYVFJBX09FQ09ORl9hcHBlbmRfYXJtID0gIiBcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoIlRVTkVfRkVBVFVSRVMiLCJuZW9uIiwiLS1lbmFibGUtbmVvbiIsIi0tZGlzYWJsZS1uZW9uIixkKX0gXAotIgotCi1pbmhlcml0IGF1dG90b29scyBsaWJfcGFja2FnZQotCi1QQUNLQUdFQ09ORklHID8/PSAiIgotCi0jIGxpYndlYnBkZWNvZGVyIGlzIGEgc3Vic2V0IG9mIGxpYndlYnAsIGRvbid0IGJ1aWxkIGl0IHVubGVzcyByZXF1ZXN0ZWQKLVBBQ0tBR0VDT05GSUdbZGVjb2Rlcl0gPSAiLS1lbmFibGUtbGlid2VicGRlY29kZXIsLS1kaXNhYmxlLWxpYndlYnBkZWNvZGVyIgotCi0jIEFwcGx5IGZvciBleGFtcGxlcyBwcm9ncmFtczogY3dlYnAgYW5kIGR3ZWJwCi1QQUNLQUdFQ09ORklHW2dpZl0gPSAiLS1lbmFibGUtZ2lmLC0tZGlzYWJsZS1naWYsZ2lmbGliIgotUEFDS0FHRUNPTkZJR1tqcGVnXSA9ICItLWVuYWJsZS1qcGVnLC0tZGlzYWJsZS1qcGVnLGpwZWciCi1QQUNLQUdFQ09ORklHW3BuZ10gPSAiLS1lbmFibGUtcG5nLC0tZGlzYWJsZS1wbmcsLGxpYnBuZyIKLVBBQ0tBR0VDT05GSUdbdGlmZl0gPSAiLS1lbmFibGUtdGlmZiwtLWRpc2FibGUtdGlmZix0aWZmIgotCi0jIEFwcGx5IG9ubHkgZm9yIGV4YW1wbGUgcHJvZ3JhbSB2d2VicAotUEFDS0FHRUNPTkZJR1tnbF0gPSAiLS1lbmFibGUtZ2wsLS1kaXNhYmxlLWdsLG1lc2EtZ2x1dCIKLQotUEFDS0FHRVMgPSsgIiR7UE59LWdpZjJ3ZWJwIgotCi1ERVNDUklQVElPTl8ke1BOfS1naWYyd2VicCA9ICJTaW1wbGUgdG9vbCB0byBjb252ZXJ0IGFuaW1hdGVkIEdJRnMgdG8gV2ViUCIKLUZJTEVTXyR7UE59LWdpZjJ3ZWJwID0gIiR7YmluZGlyfS9naWYyd2VicCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvd2VicC9saWJ3ZWJwXzEuMC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS93ZWJwL2xpYndlYnBfMS4wLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGIzZmZlMAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvd2VicC9saWJ3ZWJwXzEuMC4yLmJiCkBAIC0wLDAgKzEsNTMgQEAKK1NVTU1BUlkgPSAiV2ViUCBpcyBhbiBpbWFnZSBmb3JtYXQgZGVzaWduZWQgZm9yIHRoZSBXZWIiCitERVNDUklQVElPTiA9ICJXZWJQIGlzIGEgbWV0aG9kIG9mIGxvc3N5IGFuZCBsb3NzbGVzcyBjb21wcmVzc2lvbiB0aGF0IGNhbiBiZSBcCisgICAgICAgICAgICAgICB1c2VkIG9uIGEgbGFyZ2UgdmFyaWV0eSBvZiBwaG90b2dyYXBoaWMsIHRyYW5zbHVjZW50IGFuZCBcCisgICAgICAgICAgICAgICBncmFwaGljYWwgaW1hZ2VzIGZvdW5kIG9uIHRoZSB3ZWIuIFRoZSBkZWdyZWUgb2YgbG9zc3kgXAorICAgICAgICAgICAgICAgY29tcHJlc3Npb24gaXMgYWRqdXN0YWJsZSBzbyBhIHVzZXIgY2FuIGNob29zZSB0aGUgdHJhZGUtb2ZmIFwKKyAgICAgICAgICAgICAgIGJldHdlZW4gZmlsZSBzaXplIGFuZCBpbWFnZSBxdWFsaXR5LiBXZWJQIHR5cGljYWxseSBhY2hpZXZlcyBcCisgICAgICAgICAgICAgICBhbiBhdmVyYWdlIG9mIDMwJSBtb3JlIGNvbXByZXNzaW9uIHRoYW4gSlBFRyBhbmQgSlBFRyAyMDAwLCBcCisgICAgICAgICAgICAgICB3aXRob3V0IGxvc3Mgb2YgaW1hZ2UgcXVhbGl0eS4iCitIT01FUEFHRSA9ICJodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9zcGVlZC93ZWJwLyIKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT02ZThkZWU5MzJjMjZmMmRhYjUwM2FiZjcwYzk2ZDhiYiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9QQVRFTlRTO21kNT1jNjkyNmQwY2IwN2QyOTZmODg2YWI2ZTBjYzVhODViNyIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWRzLndlYm1wcm9qZWN0Lm9yZy9yZWxlYXNlcy93ZWJwLyR7QlB9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICIwMmMwYzU1ZjFkZDg2MTJjZDRkNDYyZTM0MDlhZDM1ZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzZDQ3YjQ4YzQwZWQ2NDc2ZTgwNDdiMmRkYjgxZDkzODM1ZTBjYTFiOGQzZThjNjc5YWZiYjMwMDRkZDU2NGIxIgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cDovL2Rvd25sb2Fkcy53ZWJtcHJvamVjdC5vcmcvcmVsZWFzZXMvd2VicC9pbmRleC5odG1sIgorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLWRpc2FibGUtd2ljIFwKKyAgICAtLWVuYWJsZS1saWJ3ZWJwbXV4IFwKKyAgICAtLWVuYWJsZS1saWJ3ZWJwZGVtdXggXAorICAgIC0tZW5hYmxlLXRocmVhZGluZyBcCisiCisjIERvIG5vdCB0cnVzdCBjb25maWd1cmUgdG8gZGV0ZXJtaW5lIGlmIG5lb24gaXMgYXZhaWxhYmxlLgorIworRVhUUkFfT0VDT05GX2FwcGVuZF9hcm0gPSAiIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiVFVORV9GRUFUVVJFUyIsIm5lb24iLCItLWVuYWJsZS1uZW9uIiwiLS1kaXNhYmxlLW5lb24iLGQpfSBcCisiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGxpYl9wYWNrYWdlCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCisKKyMgbGlid2VicGRlY29kZXIgaXMgYSBzdWJzZXQgb2YgbGlid2VicCwgZG9uJ3QgYnVpbGQgaXQgdW5sZXNzIHJlcXVlc3RlZAorUEFDS0FHRUNPTkZJR1tkZWNvZGVyXSA9ICItLWVuYWJsZS1saWJ3ZWJwZGVjb2RlciwtLWRpc2FibGUtbGlid2VicGRlY29kZXIiCisKKyMgQXBwbHkgZm9yIGV4YW1wbGVzIHByb2dyYW1zOiBjd2VicCBhbmQgZHdlYnAKK1BBQ0tBR0VDT05GSUdbZ2lmXSA9ICItLWVuYWJsZS1naWYsLS1kaXNhYmxlLWdpZixnaWZsaWIiCitQQUNLQUdFQ09ORklHW2pwZWddID0gIi0tZW5hYmxlLWpwZWcsLS1kaXNhYmxlLWpwZWcsanBlZyIKK1BBQ0tBR0VDT05GSUdbcG5nXSA9ICItLWVuYWJsZS1wbmcsLS1kaXNhYmxlLXBuZywsbGlicG5nIgorUEFDS0FHRUNPTkZJR1t0aWZmXSA9ICItLWVuYWJsZS10aWZmLC0tZGlzYWJsZS10aWZmLHRpZmYiCisKKyMgQXBwbHkgb25seSBmb3IgZXhhbXBsZSBwcm9ncmFtIHZ3ZWJwCitQQUNLQUdFQ09ORklHW2dsXSA9ICItLWVuYWJsZS1nbCwtLWRpc2FibGUtZ2wsbWVzYS1nbHV0IgorCitQQUNLQUdFUyA9KyAiJHtQTn0tZ2lmMndlYnAiCisKK0RFU0NSSVBUSU9OXyR7UE59LWdpZjJ3ZWJwID0gIlNpbXBsZSB0b29sIHRvIGNvbnZlcnQgYW5pbWF0ZWQgR0lGcyB0byBXZWJQIgorRklMRVNfJHtQTn0tZ2lmMndlYnAgPSAiJHtiaW5kaXJ9L2dpZjJ3ZWJwIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS94MjY0L3gyNjRfZ2l0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS94MjY0L3gyNjRfZ2l0LmJiCmluZGV4IDQxNzRjYjIuLjM0YzdkYzQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEveDI2NC94MjY0X2dpdC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3gyNjQveDI2NF9naXQuYmIKQEAgLTE0LDE2ICsxNCwxNiBAQAogICAgICAgICAgICAiCiBVUFNUUkVBTV9DSEVDS19DT01NSVRTID0gIjEiCiAKLVNSQ1JFViA9ICJlOWE1OTAzZWRmOGNhNTllZjIwZTZmNDg5NGMxOTZmMTM1YWY3MzVlIgorU1JDUkVWID0gIjBhODRkOTg2ZTcwMjBmODM0NGYwMDc1MmUzNjAwYjk3NjljYzFlODUiCiAKLVBWID0gInIyODU0K2dpdCR7U1JDUFZ9IgorUFYgPSAicjI5MTcrZ2l0JHtTUkNQVn0iCiAKIFMgPSAiJHtXT1JLRElSfS9naXQiCiAKLWluaGVyaXQgbGliX3BhY2thZ2UgcGtnY29uZmlnIHBlcmxuYXRpdmUKK2luaGVyaXQgbGliX3BhY2thZ2UgcGtnY29uZmlnCiAKIFgyNjRfRElTQUJMRV9BU00gPSAiIgotWDI2NF9ESVNBQkxFX0FTTV94ODZfbGliYy1tdXNsID0gIi0tZGlzYWJsZS1hc20iCitYMjY0X0RJU0FCTEVfQVNNX3g4NiA9ICItLWRpc2FibGUtYXNtIgogWDI2NF9ESVNBQkxFX0FTTV9hcm12NCA9ICItLWRpc2FibGUtYXNtIgogWDI2NF9ESVNBQkxFX0FTTV9hcm12NSA9ICItLWRpc2FibGUtYXNtIgogWDI2NF9ESVNBQkxFX0FTTV9wb3dlcnBjID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUVU5FX0ZFQVRVUkVTIiwgInNwZSIsICItLWRpc2FibGUtYXNtIiwgIiIsIGQpfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vaW1hZ2VzL2NvcmUtaW1hZ2Utc2F0by1zZGstcHRlc3QuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL2ltYWdlcy9jb3JlLWltYWdlLXNhdG8tc2RrLXB0ZXN0LmJiCmluZGV4IDUzMTU3MWUuLjEwMjdlYzAgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vaW1hZ2VzL2NvcmUtaW1hZ2Utc2F0by1zZGstcHRlc3QuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc2F0by9pbWFnZXMvY29yZS1pbWFnZS1zYXRvLXNkay1wdGVzdC5iYgpAQCAtNCw4ICs0LDEyIEBACiAKIElNQUdFX0ZFQVRVUkVTICs9ICJwdGVzdC1wa2dzIgogCi0jIFRoaXMgaW1hZ2UgaXMgc3VmZmljaWVudGx5IGxhcmdlICh+M0dCKSB0aGF0IGl0IGNhbid0IGFjdHVhbGx5IGZpdCBpbiBhIGxpdmUKKyMgVGhpcyBpbWFnZSBpcyBzdWZmaWNpZW50bHkgbGFyZ2UgKH4xLjhHQikgdGhhdCB3ZSBuZWVkIHRvIGJlIGNhcmVmdWwgdGhhdCBpdCBmaXRzIGluIGEgbGl2ZQogIyBpbWFnZSAod2hpY2ggaGFzIGEgNEdCIGxpbWl0KSwgc28gbnVsbGlmeSB0aGUgb3ZlcmhlYWQgZmFjdG9yICgxLjN4IG91dCBvZiB0aGUKLSMgYm94KSBhbmQgZXhwbGljaXRseSBhZGQganVzdCA1MDBNQi4KKyMgYm94KSBhbmQgZXhwbGljaXRseSBhZGQganVzdCAxNTAwTUIuCisjIHN0cmFjZS1wdGVzdCBpbiBwYXJ0aWN1bGFyIG5lZWRzIG1vcmUgdGhhbiA1MDBNQgogSU1BR0VfT1ZFUkhFQURfRkFDVE9SID0gIjEuMCIKLUlNQUdFX1JPT1RGU19FWFRSQV9TUEFDRSA9ICI1MjQyODgiCitJTUFHRV9ST09URlNfRVhUUkFfU1BBQ0UgPSAiMTUyNDI4OCIKKworIyBwdGVzdHMgbmVlZCBtb3JlIG1lbW9yeSB0aGFuIHN0YW5kYXJkIHRvIGF2b2lkIHRoZSBPT00ga2lsbGVyCitRQl9NRU0gPSAiLW0gMTAyNCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vcGNtYW5mbS9wY21hbmZtXzEuMy4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc2F0by9wY21hbmZtL3BjbWFuZm1fMS4zLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM1NmRhMDIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc2F0by9wY21hbmZtL3BjbWFuZm1fMS4zLjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi1TVU1NQVJZID0gIkZhc3QgbGlnaHR3ZWlnaHQgdGFiYmVkIGZpbGVtYW5hZ2VyIgotSE9NRVBBR0UgPSAiaHR0cDovL3BjbWFuZm0uc291cmNlZm9yZ2UubmV0LyIKLQotTElDRU5TRSA9ICJHUEx2MiAmIEdQTHYyKyAmIExHUEx2Mi4xKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9wY21hbmZtLmg7ZW5kbGluZT0yMjttZDU9NDE3YjM4NTU3NzFhM2E4N2Y4YWQ3NTNkOTk0NDkxZjAgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2dzZWFsLWd0ay1jb21wYXQuaDtlbmRsaW5lPTIxO21kNT00NjkyMmM4NjkxZjU4ZDEyNGY5NDIwZmUxNjE0OWNlMiIKLQotU0VDVElPTiA9ICJ4MTEiCi1ERVBFTkRTID0gImd0ayszIHN0YXJ0dXAtbm90aWZpY2F0aW9uIGxpYmZtIGludGx0b29sLW5hdGl2ZSBnZXR0ZXh0LW5hdGl2ZSBnbGliLTIuMC1uYXRpdmUiCi0KLVNSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3BjbWFuZm0vcGNtYW5mbS0ke1BWfS50YXIueHogXAotCSAgIGZpbGU6Ly9nbm9tZS1mcy1kaXJlY3RvcnkucG5nIFwKLQkgICBmaWxlOi8vZ25vbWUtZnMtcmVndWxhci5wbmcgXAotCSAgIGZpbGU6Ly9nbm9tZS1taW1lLXRleHQtcGxhaW4ucG5nIFwKLQkgICBmaWxlOi8vZW1ibGVtLXN5bWJvbGljLWxpbmsucG5nIFwKLQkgICBmaWxlOi8vbm8tZGVza3RvcC5wYXRjaCIKLQotU1JDX1VSSVttZDVzdW1dID0gIjgyNzgzOGY3ZjZiMTdkYzk3ZTE2OTBjMDdkYThmZGIzIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVhNjkzZTliZjNmMzI5NGYwZWU3MjY0YzFjMWE2MDBhODhlZTI3ZDE1NzJlN2RkNWM0YjBlODRhYTc3NzhmZmIiCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL3BjbWFuZm0vZmlsZXMvUENNYW5GTSUyMCUyQiUyMExpYmZtJTIwJTI4dGFyYmFsbCUyMHJlbGVhc2UlMjkvUENNYW5GTS8iCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKLQotIyBUaGUgc3RhcnR1cC1ub3RpZmljYXRpb24gcmVxdWlyZXMgeDExIGluIERJU1RST19GRUFUVVJFUwotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLQotRVhUUkFfT0VDT05GID0gIi0td2l0aC1ndGs9MyIKLQotZG9faW5zdGFsbF9hcHBlbmQgKCkgewotCWluc3RhbGwgLWQgJHtEfS8ke2RhdGFkaXJ9Ci0JaW5zdGFsbCAtZCAke0R9LyR7ZGF0YWRpcn0vcGl4bWFwcy8KLQotCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9LyoucG5nICR7RH0vJHtkYXRhZGlyfS9waXhtYXBzCi19Ci0KLUZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vcGNtYW5mbSIKLQotUlJFQ09NTUVORFNfJHtQTn0gKz0gImFkd2FpdGEtaWNvbi10aGVtZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vcGNtYW5mbS9wY21hbmZtXzEuMy4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc2F0by9wY21hbmZtL3BjbWFuZm1fMS4zLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTVlM2ExYQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vcGNtYW5mbS9wY21hbmZtXzEuMy4xLmJiCkBAIC0wLDAgKzEsNDAgQEAKK1NVTU1BUlkgPSAiRmFzdCBsaWdodHdlaWdodCB0YWJiZWQgZmlsZW1hbmFnZXIiCitIT01FUEFHRSA9ICJodHRwOi8vcGNtYW5mbS5zb3VyY2Vmb3JnZS5uZXQvIgorCitMSUNFTlNFID0gIkdQTHYyICYgR1BMdjIrICYgTEdQTHYyLjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL3BjbWFuZm0uaDtlbmRsaW5lPTIyO21kNT00MTdiMzg1NTc3MWEzYTg3ZjhhZDc1M2Q5OTQ0OTFmMCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvZ3NlYWwtZ3RrLWNvbXBhdC5oO2VuZGxpbmU9MjE7bWQ1PTQ2OTIyYzg2OTFmNThkMTI0Zjk0MjBmZTE2MTQ5Y2UyIgorCitTRUNUSU9OID0gIngxMSIKK0RFUEVORFMgPSAiZ3RrKzMgc3RhcnR1cC1ub3RpZmljYXRpb24gbGliZm0gaW50bHRvb2wtbmF0aXZlIGdldHRleHQtbmF0aXZlIGdsaWItMi4wLW5hdGl2ZSIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vcGNtYW5mbS9wY21hbmZtLSR7UFZ9LnRhci54eiBcCisJICAgZmlsZTovL2dub21lLWZzLWRpcmVjdG9yeS5wbmcgXAorCSAgIGZpbGU6Ly9nbm9tZS1mcy1yZWd1bGFyLnBuZyBcCisJICAgZmlsZTovL2dub21lLW1pbWUtdGV4dC1wbGFpbi5wbmcgXAorCSAgIGZpbGU6Ly9lbWJsZW0tc3ltYm9saWMtbGluay5wbmcgXAorCSAgIGZpbGU6Ly9uby1kZXNrdG9wLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZDMyYWQyYzljN2M1MmJmZjIwMDRiYmMxMjBiNTM0MjAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjgwNDA0M2IzZWUzYTcwM2VkZGU0MWM3MjQ5NDYxNzRiNTA1ZmU5NTg3MDNlYWRiZDdlMDg3NmVjZTgzNjg1NSIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvcGNtYW5mbS9maWxlcy9QQ01hbkZNJTIwJTJCJTIwTGliZm0lMjAlMjh0YXJiYWxsJTIwcmVsZWFzZSUyOS9QQ01hbkZNLyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCisjIFRoZSBzdGFydHVwLW5vdGlmaWNhdGlvbiByZXF1aXJlcyB4MTEgaW4gRElTVFJPX0ZFQVRVUkVTCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLWd0az0zIgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisJaW5zdGFsbCAtZCAke0R9LyR7ZGF0YWRpcn0KKwlpbnN0YWxsIC1kICR7RH0vJHtkYXRhZGlyfS9waXhtYXBzLworCisJaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vKi5wbmcgJHtEfS8ke2RhdGFkaXJ9L3BpeG1hcHMKK30KKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9wY21hbmZtIgorCitSUkVDT01NRU5EU18ke1BOfSArPSAiYWR3YWl0YS1pY29uLXRoZW1lIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc2F0by9wdXp6bGVzL2ZpbGVzLzAwMDEtcGF0dGVybi5jLUNoYW5nZS1zdHJpbmctbGVuZ2h0LXBhcmFtZXRlci10by1iZS1zaXplXy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vcHV6emxlcy9maWxlcy8wMDAxLXBhdHRlcm4uYy1DaGFuZ2Utc3RyaW5nLWxlbmdodC1wYXJhbWV0ZXItdG8tYmUtc2l6ZV8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWFjNjIwMQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vcHV6emxlcy9maWxlcy8wMDAxLXBhdHRlcm4uYy1DaGFuZ2Utc3RyaW5nLWxlbmdodC1wYXJhbWV0ZXItdG8tYmUtc2l6ZV8ucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorRnJvbSAwMzU0NjdhYTBhYmZiYzBkZTdlNWQyNDU0M2Q0YWFiMzczMDE1OTNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgNyBNYXIgMjAxOSAyMTo1Njo1NyAtMDgwMAorU3ViamVjdDogW1BBVENIXSBwYXR0ZXJuLmM6IENoYW5nZSBzdHJpbmcgbGVuZ2h0IHBhcmFtZXRlciB0byBiZSBzaXplX3QgaW4KKyBkb19yb3coKQorCitUaGlzIGZpeGVzIGJlbG93IGVycm9yIG9uIHNvbWUgYXJjaGl0ZWN0dXJlcyBlLmcuIFJJU0MtVgorCitwYXR0ZXJuLmM6NDU1Ojk6IGVycm9yOiAnbWVtc2V0JyBzcGVjaWZpZWQgc2l6ZSBiZXR3ZWVuIDE4NDQ2NzQ0MDcxNTYyMDY3OTY4IGFuZCAxODQ0Njc0NDA3MzcwOTU1MTYxNSBleGNlZWRzIG1heGltdW0gb2JqZWN0IHNpemUgOTIyMzM3MjAzNjg1NDc3NTgwNyBbLVdlcnJvcj1zdHJpbmdvcC1vdmVyZmxvdz1dICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDU1IHwgICAgICAgICBtZW1zZXQoZGVkdWNlZCwgRE9ULCAoc2l6ZV90KWxlbik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgcGF0dGVybi5jIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvcGF0dGVybi5jIGIvcGF0dGVybi5jCitpbmRleCA0NWIxYjBjLi5mNzNhNGMyIDEwMDY0NAorLS0tIGEvcGF0dGVybi5jCisrKysgYi9wYXR0ZXJuLmMKK0BAIC00MjgsNyArNDI4LDcgQEAgc3RhdGljIGludCBkb19yb3codW5zaWduZWQgY2hhciAqa25vd24sIHVuc2lnbmVkIGNoYXIgKmRlZHVjZWQsCisgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciAqcm93LAorICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKm1pbnBvc19kb25lLCB1bnNpZ25lZCBjaGFyICptYXhwb3NfZG9uZSwKKyAJCSAgdW5zaWduZWQgY2hhciAqbWlucG9zX29rLCB1bnNpZ25lZCBjaGFyICptYXhwb3Nfb2ssCistICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciAqc3RhcnQsIGludCBsZW4sIGludCBzdGVwLCBpbnQgKmRhdGEsCisrICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciAqc3RhcnQsIHNpemVfdCBsZW4sIGludCBzdGVwLCBpbnQgKmRhdGEsCisgCQkgIHVuc2lnbmVkIGludCAqY2hhbmdlZAorICNpZmRlZiBTVEFOREFMT05FX1NPTFZFUgorIAkJICAsIGNvbnN0IGNoYXIgKnJvd2NvbCwgaW50IGluZGV4LCBpbnQgY2x1ZXdpZAorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc2F0by9wdXp6bGVzL2ZpbGVzL2ZpeC1raS11bmluaXRpYWxpemVkLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc2F0by9wdXp6bGVzL2ZpbGVzL2ZpeC1raS11bmluaXRpYWxpemVkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyMThkNjIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3B1enpsZXMvZmlsZXMvZml4LWtpLXVuaW5pdGlhbGl6ZWQucGF0Y2gKQEAgLTAsMCArMSwyNSBAQAorcHV6emxlczogYXZvaWQgY29tcGlsZXIgdW5pdGlhbGl6ZWQgdmFyaWFibGUgZXJyb3IKKworVGhlIGNvbXBpbGVyIGRvZXMgbm90IHJlYWxpemUgdGhhdCB3ZSBtdXN0IGdvIHRocm91Z2ggdGhlIHdoaWxlKCkKK2xvb3AgYXQgbGVhc3Qgb25jZSwgc28gd2UgcmVwbGFjZSBpdCB3aXRoIGEgZm9yKCkgbG9vcC4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEpvZSBTbGF0ZXIgPGpvZS5zbGF0ZXJAd2luZHJpdmVyLmNvbT4KKworLS0tIGEvdHJlZTIzNC5jCisrKysgYi90cmVlMjM0LmMKK0BAIC0zMjYsOCArMzI2LDExIEBAIHN0YXRpYyB2b2lkICphZGQyMzRfaW50ZXJuYWwodHJlZTIzNCAqdCwKKyAJcmV0dXJuIG9yaWdfZTsKKyAgICAgfQorIAorLSAgICBuID0gdC0+cm9vdDsKKy0gICAgd2hpbGUgKG4pIHsKKysgICAgLyoKKysgICAgICogV2Uga25vdyB0LT5yb290IGlzIG5vdCBOVUxMLiAgVGhlIGxvZ2ljCisrICAgICAqIHRvIGJyZWFrIG91dCBvZiB0aGlzIGlzIGF0IHRoZSBlbmQgb2YgdGhlIGxvb3AuCisrICAgICAqLworKyAgICBmb3IgKG4gPSB0LT5yb290OzspIHsKKyAJTE9HKCgiICBub2RlICVwOiAlcC8lZCBcIiVzXCIgJXAvJWQgXCIlc1wiICVwLyVkIFwiJXNcIiAlcC8lZFxuIiwKKyAJICAgICBuLAorIAkgICAgIG4tPmtpZHNbMF0sIG4tPmNvdW50c1swXSwgbi0+ZWxlbXNbMF0sCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3B1enpsZXMvcHV6emxlc19naXQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3B1enpsZXMvcHV6emxlc19naXQuYmIKaW5kZXggN2QwOGI5Ni4uNTliOTUyNSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc2F0by9wdXp6bGVzL3B1enpsZXNfZ2l0LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vcHV6emxlcy9wdXp6bGVzX2dpdC5iYgpAQCAtMTMsNiArMTMsOCBAQAogICAgICAgICAgICBmaWxlOi8vMDAwMS1Vc2UtbGFicy1pbnN0ZWFkLW9mLWFicy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLXBhbGlzYWRlLUZpeC13YXJuaW5ncy13aXRoLWNsYW5nLW9uLWFybS5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLVVzZS1Xbm8tZXJyb3ItZm9ybWF0LW92ZXJmbG93LWlmLXRoZS1jb21waWxlci1zdXBwb3IucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1wYXR0ZXJuLmMtQ2hhbmdlLXN0cmluZy1sZW5naHQtcGFyYW1ldGVyLXRvLWJlLXNpemVfLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC1raS11bmluaXRpYWxpemVkLnBhdGNoIFwKICAgICAgICAgICAgIgogCiBVUFNUUkVBTV9DSEVDS19DT01NSVRTID0gIjEiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3dlYmtpdC93ZWJraXRndGsvMDAwMS1GaXgtUGFpbnRpbmdEYXRhLWhhcy1uby1tZW1iZXItbmFtZWQtbGlnaHRWZWN0b3Itb24tLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc2F0by93ZWJraXQvd2Via2l0Z3RrLzAwMDEtRml4LVBhaW50aW5nRGF0YS1oYXMtbm8tbWVtYmVyLW5hbWVkLWxpZ2h0VmVjdG9yLW9uLS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjVmNDg0Ni4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3dlYmtpdC93ZWJraXRndGsvMDAwMS1GaXgtUGFpbnRpbmdEYXRhLWhhcy1uby1tZW1iZXItbmFtZWQtbGlnaHRWZWN0b3Itb24tLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotRnJvbSBhNWQ0ZTAzODI2OGFlMjM0ODZmZWNjMTk2NmZkMmUxNmE3ZjQwY2U4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotRGF0ZTogV2VkLCAyNSBKdWwgMjAxOCAwMDoyMzo0OCAtMDcwMAotU3ViamVjdDogW1BBVENIXSBGaXggUGFpbnRpbmdEYXRhJyBoYXMgbm8gbWVtYmVyIG5hbWVkICdsaWdodFZlY3Rvcicgb24KLSBBUk1fTkVPTgotCi0qIHBsYXRmb3JtL2dyYXBoaWNzL2NwdS9hcm0vZmlsdGVycy9GRUxpZ2h0aW5nTkVPTi5oOgotKFdlYkNvcmU6OkZFTGlnaHRpbmc6OnBsYXRmb3JtQXBwbHlOZW9uKToKLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKLWh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODc5OTEKLQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3B1L2FybS9maWx0ZXJzL0ZFTGlnaHRpbmdORU9OLmggfCA2ICsrKy0tLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL2ZpbHRlcnMvRkVMaWdodGluZ05FT04uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NwdS9hcm0vZmlsdGVycy9GRUxpZ2h0aW5nTkVPTi5oCi1pbmRleCA0MmFmOTIyLi5iNTQyYTRjIDEwMDY0NAotLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3B1L2FybS9maWx0ZXJzL0ZFTGlnaHRpbmdORU9OLmgKLSsrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NwdS9hcm0vZmlsdGVycy9GRUxpZ2h0aW5nTkVPTi5oCi1AQCAtMTQ0LDkgKzE0NCw5IEBAIGlubGluZSB2b2lkIEZFTGlnaHRpbmc6OnBsYXRmb3JtQXBwbHlOZW9uKGNvbnN0IExpZ2h0aW5nRGF0YSYgZGF0YSwgY29uc3QgTGlnaHRTCi0gICAgICAgICAgICAgbmVvbkRhdGEuZmxhZ3MgfD0gRkxBR19DT05FX0VYUE9ORU5UX0lTXzE7Ci0gICAgIH0gZWxzZSB7Ci0gICAgICAgICBBU1NFUlQobV9saWdodFNvdXJjZS0+dHlwZSgpID09IExTX0RJU1RBTlQpOwotLSAgICAgICAgZmxvYXRBcmd1bWVudHMubGlnaHRYID0gcGFpbnRpbmdEYXRhLmxpZ2h0VmVjdG9yLngoKTsKLS0gICAgICAgIGZsb2F0QXJndW1lbnRzLmxpZ2h0WSA9IHBhaW50aW5nRGF0YS5saWdodFZlY3Rvci55KCk7Ci0tICAgICAgICBmbG9hdEFyZ3VtZW50cy5saWdodFogPSBwYWludGluZ0RhdGEubGlnaHRWZWN0b3IueigpOwotKyAgICAgICAgZmxvYXRBcmd1bWVudHMubGlnaHRYID0gcGFpbnRpbmdEYXRhLmluaXRpYWxMaWdodGluZ0RhdGEubGlnaHRWZWN0b3IueCgpOwotKyAgICAgICAgZmxvYXRBcmd1bWVudHMubGlnaHRZID0gcGFpbnRpbmdEYXRhLmluaXRpYWxMaWdodGluZ0RhdGEubGlnaHRWZWN0b3IueSgpOwotKyAgICAgICAgZmxvYXRBcmd1bWVudHMubGlnaHRaID0gcGFpbnRpbmdEYXRhLmluaXRpYWxMaWdodGluZ0RhdGEubGlnaHRWZWN0b3IueigpOwotICAgICAgICAgZmxvYXRBcmd1bWVudHMucGFkZGluZzIgPSAxOwotICAgICB9Ci0gCi0tLSAKLTIuMTAuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3dlYmtpdC93ZWJraXRndGsvMDAwMS1GaXgtYnVpbGQtd2l0aC1tdXNsLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc2F0by93ZWJraXQvd2Via2l0Z3RrLzAwMDEtRml4LWJ1aWxkLXdpdGgtbXVzbC5wYXRjaAppbmRleCAwNDFlYzQ2Li5kOWExOGUwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3dlYmtpdC93ZWJraXRndGsvMDAwMS1GaXgtYnVpbGQtd2l0aC1tdXNsLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vd2Via2l0L3dlYmtpdGd0ay8wMDAxLUZpeC1idWlsZC13aXRoLW11c2wucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDRmOWQ3MzZlMDQ1OGVkMzNjZDE2MWNkMTY0YWQwYWNkYWM5MzlmNDQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDMyMjk2NjI3M2E4ZTA4NTgyOTI2MWEzOTdhZjM3ZGUwZmJmNTFhYWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KIERhdGU6IEZyaSwgNiBPY3QgMjAxNyAxNzowMDowOCArMDMwMAogU3ViamVjdDogW1BBVENIXSBGaXggYnVpbGQgd2l0aCBtdXNsCkBAIC03LDY5ICs3LDY5IEBACiBTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KIAogLS0tCi0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFjaGluZUNvbnRleHQuaCB8IDE4ICsrKysrKysrKysrKysrKysrLQorIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hY2hpbmVDb250ZXh0LmggfCAxMCArKysrKy0tLS0tCiAgU291cmNlL1dURi93dGYvUGxhdGZvcm0uaCAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCi0gMiBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorIDIgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFjaGluZUNvbnRleHQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hY2hpbmVDb250ZXh0LmgKLWluZGV4IGJmMGJkYzcuLjg0YjhhOGEgMTAwNjQ0CitpbmRleCA4MzZkNzU1Li43NjY1ZDI1IDEwMDY0NAogLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFjaGluZUNvbnRleHQuaAogKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFjaGluZUNvbnRleHQuaAotQEAgLTE0Niw3ICsxNDYsNyBAQCBpbmxpbmUgdm9pZComIHN0YWNrUG9pbnRlcihtY29udGV4dF90JiBtYWNoaW5lQ29udGV4dCkKK0BAIC0xODgsNyArMTg4LDcgQEAgc3RhdGljIGlubGluZSB2b2lkKiYgc3RhY2tQb2ludGVySW1wbChtY29udGV4dF90JiBtYWNoaW5lQ29udGV4dCkKICAjZXJyb3IgVW5rbm93biBBcmNoaXRlY3R1cmUKICAjZW5kaWYKICAKLS0jZWxpZiBkZWZpbmVkKF9fR0xJQkNfXykgfHwgZGVmaW5lZChfX0JJT05JQ19fKQorLSNlbGlmIE9TKEZVQ0hTSUEpIHx8IGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKF9fQklPTklDX18pCiArI2VsaWYgZGVmaW5lZChfX2xpbnV4X18pCiAgCiAgI2lmIENQVShYODYpCiAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PHZvaWQqJj4oKHVpbnRwdHJfdCYpIG1hY2hpbmVDb250ZXh0LmdyZWdzW1JFR19FU1BdKTsKLUBAIC0yNTEsNyArMjUxLDcgQEAgaW5saW5lIHZvaWQqJiBmcmFtZVBvaW50ZXIobWNvbnRleHRfdCYgbWFjaGluZUNvbnRleHQpCitAQCAtMzM1LDcgKzMzNSw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZComIGZyYW1lUG9pbnRlckltcGwobWNvbnRleHRfdCYgbWFjaGluZUNvbnRleHQpCiAgI2Vycm9yIFVua25vd24gQXJjaGl0ZWN0dXJlCiAgI2VuZGlmCiAgCi0tI2VsaWYgZGVmaW5lZChfX0dMSUJDX18pIHx8IGRlZmluZWQoX19CSU9OSUNfXykKKy0jZWxpZiBPUyhGVUNIU0lBKSB8fCBkZWZpbmVkKF9fR0xJQkNfXykgfHwgZGVmaW5lZChfX0JJT05JQ19fKQogKyNlbGlmIGRlZmluZWQoX19saW51eF9fKQogIAogIC8vIFRoZSBmb2xsb3dpbmcgc2VxdWVuY2UgZGVwZW5kcyBvbiBnbGliYydzIHN5cy91Y29udGV4dC5oLgogICNpZiBDUFUoWDg2KQotQEAgLTM1NCw3ICszNTQsNyBAQCBpbmxpbmUgdm9pZComIGluc3RydWN0aW9uUG9pbnRlcihtY29udGV4dF90JiBtYWNoaW5lQ29udGV4dCkKK0BAIC00ODIsNyArNDgyLDcgQEAgc3RhdGljIGlubGluZSB2b2lkKiYgaW5zdHJ1Y3Rpb25Qb2ludGVySW1wbChtY29udGV4dF90JiBtYWNoaW5lQ29udGV4dCkKICAjZXJyb3IgVW5rbm93biBBcmNoaXRlY3R1cmUKICAjZW5kaWYKICAKLS0jZWxpZiBkZWZpbmVkKF9fR0xJQkNfXykgfHwgZGVmaW5lZChfX0JJT05JQ19fKQorLSNlbGlmIE9TKEZVQ0hTSUEpIHx8IGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKF9fQklPTklDX18pCiArI2VsaWYgZGVmaW5lZChfX2xpbnV4X18pCiAgCiAgLy8gVGhlIGZvbGxvd2luZyBzZXF1ZW5jZSBkZXBlbmRzIG9uIGdsaWJjJ3Mgc3lzL3Vjb250ZXh0LmguCiAgI2lmIENQVShYODYpCi1AQCAtNDY2LDcgKzQ2Niw3IEBAIGlubGluZSB2b2lkKiYgYXJndW1lbnRQb2ludGVyPDE+KG1jb250ZXh0X3QmIG1hY2hpbmVDb250ZXh0KQorQEAgLTYzOSw3ICs2MzksNyBAQCBpbmxpbmUgdm9pZComIGFyZ3VtZW50UG9pbnRlcjwxPihtY29udGV4dF90JiBtYWNoaW5lQ29udGV4dCkKICAjZXJyb3IgVW5rbm93biBBcmNoaXRlY3R1cmUKICAjZW5kaWYKICAKLS0jZWxpZiBkZWZpbmVkKF9fR0xJQkNfXykgfHwgZGVmaW5lZChfX0JJT05JQ19fKQorLSNlbGlmIE9TKEZVQ0hTSUEpIHx8IGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKF9fQklPTklDX18pCiArI2VsaWYgZGVmaW5lZChfX2xpbnV4X18pCiAgCiAgLy8gVGhlIGZvbGxvd2luZyBzZXF1ZW5jZSBkZXBlbmRzIG9uIGdsaWJjJ3Mgc3lzL3Vjb250ZXh0LmguCiAgI2lmIENQVShYODYpCi1AQCAtNTgzLDcgKzU4Myw3IEBAIGlubGluZSB2b2lkKiYgbGxpbnRJbnN0cnVjdGlvblBvaW50ZXIobWNvbnRleHRfdCYgbWFjaGluZUNvbnRleHQpCitAQCAtNzU2LDcgKzc1Niw3IEBAIGlubGluZSB2b2lkKiYgbGxpbnRJbnN0cnVjdGlvblBvaW50ZXIobWNvbnRleHRfdCYgbWFjaGluZUNvbnRleHQpCiAgI2Vycm9yIFVua25vd24gQXJjaGl0ZWN0dXJlCiAgI2VuZGlmCiAgCi0tI2VsaWYgZGVmaW5lZChfX0dMSUJDX18pIHx8IGRlZmluZWQoX19CSU9OSUNfXykKKy0jZWxpZiBPUyhGVUNIU0lBKSB8fCBkZWZpbmVkKF9fR0xJQkNfXykgfHwgZGVmaW5lZChfX0JJT05JQ19fKQogKyNlbGlmIGRlZmluZWQoX19saW51eF9fKQogIAogIC8vIFRoZSBmb2xsb3dpbmcgc2VxdWVuY2UgZGVwZW5kcyBvbiBnbGliYydzIHN5cy91Y29udGV4dC5oLgogICNpZiBDUFUoWDg2KQogZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCi1pbmRleCA1NTFjMDQ3Li5lNTBiMDVhIDEwMDY0NAoraW5kZXggYTg0MTk0Ni4uMWU1YzdkZCAxMDA2NDQKIC0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKICsrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKLUBAIC02ODMsNyArNjgzLDcgQEAKK0BAIC03MDEsNyArNzAxLDcgQEAKICAjZGVmaW5lIEhBVkVfQ0ZORVRXT1JLX1NUT1JBR0VfUEFSVElUSU9OSU5HIDEKICAjZW5kaWYKICAKLS0jaWYgT1MoREFSV0lOKSB8fCAoKE9TKEZSRUVCU0QpIHx8IGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKF9fQklPTklDX18pKSAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BVKEFSTSkgfHwgQ1BVKEFSTTY0KSB8fCBDUFUoTUlQUykpKQotKyNpZiBPUyhEQVJXSU4pIHx8ICgoT1MoRlJFRUJTRCkgfHwgZGVmaW5lZChfX2xpbnV4X18pKSAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BVKEFSTSkgfHwgQ1BVKEFSTTY0KSB8fCBDUFUoTUlQUykpKQorLSNpZiBPUyhEQVJXSU4pIHx8IE9TKEZVQ0hTSUEpIHx8ICgoT1MoRlJFRUJTRCkgfHwgZGVmaW5lZChfX0dMSUJDX18pIHx8IGRlZmluZWQoX19CSU9OSUNfXykpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNKSB8fCBDUFUoQVJNNjQpIHx8IENQVShNSVBTKSkpCisrI2lmIE9TKERBUldJTikgfHwgT1MoRlVDSFNJQSkgfHwgKChPUyhGUkVFQlNEKSB8fCBkZWZpbmVkKF9fbGludXhfXykgfHwgZGVmaW5lZChfX0JJT05JQ19fKSkgJiYgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk0pIHx8IENQVShBUk02NCkgfHwgQ1BVKE1JUFMpKSkKICAjZGVmaW5lIEhBVkVfTUFDSElORV9DT05URVhUIDEKICAjZW5kaWYKICAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vd2Via2l0L3dlYmtpdGd0ay8wMDAxLVdoZW4tYnVpbGRpbmctaW50cm9zcGVjdGlvbi1maWxlcy1hZGQtQ01BS0VfQ19GTEFHUy0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3dlYmtpdC93ZWJraXRndGsvMDAwMS1XaGVuLWJ1aWxkaW5nLWludHJvc3BlY3Rpb24tZmlsZXMtYWRkLUNNQUtFX0NfRkxBR1MtLnBhdGNoCmluZGV4IDkyM2QwMGMuLjNlMDNhYTkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vd2Via2l0L3dlYmtpdGd0ay8wMDAxLVdoZW4tYnVpbGRpbmctaW50cm9zcGVjdGlvbi1maWxlcy1hZGQtQ01BS0VfQ19GTEFHUy0ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc2F0by93ZWJraXQvd2Via2l0Z3RrLzAwMDEtV2hlbi1idWlsZGluZy1pbnRyb3NwZWN0aW9uLWZpbGVzLWFkZC1DTUFLRV9DX0ZMQUdTLS5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gZjk3NjdhNDc5MTExZjljNmYyODBjNDMxNzZjMzNkZTUwYWVlN2Y2NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gOGYxZTE3MGE2ZGU4MDM2YWI1MGViMzU4MzRhNzdmMmM3OTQxMmVlMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgogRGF0ZTogV2VkLCAyOCBPY3QgMjAxNSAxNDoxODo1NyArMDIwMAogU3ViamVjdDogW1BBVENIXSBXaGVuIGJ1aWxkaW5nIGludHJvc3BlY3Rpb24gZmlsZXMsIGFkZCBDTUFLRV9DX0ZMQUdTIHRvIHRoZQpAQCAtMTEsMTQgKzExLDI4IEBACiBTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KIAogLS0tCi0gU291cmNlL1dlYktpdC9QbGF0Zm9ybUdUSy5jbWFrZSB8IDQgKystLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisgU291cmNlL0phdmFTY3JpcHRDb3JlL1BsYXRmb3JtR1RLLmNtYWtlIHwgMiArLQorIFNvdXJjZS9XZWJLaXQvUGxhdGZvcm1HVEsuY21ha2UgICAgICAgICB8IDQgKystLQorIDIgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQogCitkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL1BsYXRmb3JtR1RLLmNtYWtlIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCitpbmRleCAwYjI5NjhkMi4uMjc0MmFkODAgMTAwNjQ0CistLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvUGxhdGZvcm1HVEsuY21ha2UKKysrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9QbGF0Zm9ybUdUSy5jbWFrZQorQEAgLTcxLDcgKzcxLDcgQEAgaWYgKEVOQUJMRV9JTlRST1NQRUNUSU9OKQorICAgICBhZGRfY3VzdG9tX2NvbW1hbmQoCisgICAgICAgICBPVVRQVVQgJHtDTUFLRV9CSU5BUllfRElSfS9KYXZhU2NyaXB0Q29yZS0ke1dFQktJVEdUS19BUElfVkVSU0lPTn0uZ2lyCisgICAgICAgICBERVBFTkRTIEphdmFTY3JpcHRDb3JlCistICAgICAgICBDT01NQU5EIENDPSR7Q01BS0VfQ19DT01QSUxFUn0gQ0ZMQUdTPS1Xbm8tZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMgTERGTEFHUz0KKysgICAgICAgIENPTU1BTkQgQ0M9JHtDTUFLRV9DX0NPTVBJTEVSfSBDRkxBR1M9LVduby1kZXByZWNhdGVkLWRlY2xhcmF0aW9uc1wgJHtDTUFLRV9DX0ZMQUdTfSBMREZMQUdTPQorICAgICAgICAgICAgICR7TE9BREVSX0xJQlJBUllfUEFUSF9WQVJ9PSIke0lOVFJPU1BFQ1RJT05fQURESVRJT05BTF9MSUJSQVJZX1BBVEh9IgorICAgICAgICAgICAgICR7SU5UUk9TUEVDVElPTl9TQ0FOTkVSfQorICAgICAgICAgICAgIC0tcXVpZXQKIGRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtR1RLLmNtYWtlIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybUdUSy5jbWFrZQotaW5kZXggZGM2YjMwNi4uYTA3NGE4MCAxMDA2NDQKK2luZGV4IGUzNmU0YzM1Li45NDNmOTc5NCAxMDA2NDQKIC0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1HVEsuY21ha2UKICsrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1HVEsuY21ha2UKLUBAIC03MzIsNyArNzMyLDcgQEAgaWYgKEVOQUJMRV9JTlRST1NQRUNUSU9OKQorQEAgLTc0Miw3ICs3NDIsNyBAQCBpZiAoRU5BQkxFX0lOVFJPU1BFQ1RJT04pCiAgICAgICAgICBPVVRQVVQgJHtDTUFLRV9CSU5BUllfRElSfS9XZWJLaXQyLSR7V0VCS0lUR1RLX0FQSV9WRVJTSU9OfS5naXIKICAgICAgICAgIERFUEVORFMgV2ViS2l0CiAgICAgICAgICBERVBFTkRTICR7Q01BS0VfQklOQVJZX0RJUn0vSmF2YVNjcmlwdENvcmUtJHtXRUJLSVRHVEtfQVBJX1ZFUlNJT059LmdpcgpAQCAtMjcsNyArNDEsNyBAQAogICAgICAgICAgICAgICR7TE9BREVSX0xJQlJBUllfUEFUSF9WQVJ9PSIke0lOVFJPU1BFQ1RJT05fQURESVRJT05BTF9MSUJSQVJZX1BBVEh9IgogICAgICAgICAgICAgICR7SU5UUk9TUEVDVElPTl9TQ0FOTkVSfQogICAgICAgICAgICAgIC0tcXVpZXQKLUBAIC03NzQsNyArNzc0LDcgQEAgaWYgKEVOQUJMRV9JTlRST1NQRUNUSU9OKQorQEAgLTc4Niw3ICs3ODYsNyBAQCBpZiAoRU5BQkxFX0lOVFJPU1BFQ1RJT04pCiAgICAgICAgICBPVVRQVVQgJHtDTUFLRV9CSU5BUllfRElSfS9XZWJLaXQyV2ViRXh0ZW5zaW9uLSR7V0VCS0lUR1RLX0FQSV9WRVJTSU9OfS5naXIKICAgICAgICAgIERFUEVORFMgJHtDTUFLRV9CSU5BUllfRElSfS9KYXZhU2NyaXB0Q29yZS0ke1dFQktJVEdUS19BUElfVkVSU0lPTn0uZ2lyCiAgICAgICAgICBERVBFTkRTICR7Q01BS0VfQklOQVJZX0RJUn0vV2ViS2l0Mi0ke1dFQktJVEdUS19BUElfVkVSU0lPTn0uZ2lyCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3dlYmtpdC93ZWJraXRndGsvMDAwMS13ZWJraXRndGstZml4LUNWRS0yMDE3LTE3ODIxLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc2F0by93ZWJraXQvd2Via2l0Z3RrLzAwMDEtd2Via2l0Z3RrLWZpeC1DVkUtMjAxNy0xNzgyMS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTNmNzU5OS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3dlYmtpdC93ZWJraXRndGsvMDAwMS13ZWJraXRndGstZml4LUNWRS0yMDE3LTE3ODIxLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotQmFja3BvcnQgcGF0Y2ggdG8gZml4IENWRS0yMDE3LTE3ODIxLiBSZWZlciB0bwotaHR0cHM6Ly9zZWN1cml0eS10cmFja2VyLmRlYmlhbi5vcmcvdHJhY2tlci9DVkUtMjAxNy0xNzgyMS4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzIzMjExOS93ZWJraXRdCi1DVkU6IENWRS0yMDE3LTE3ODIxCi0KLVNpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgotCi1Gcm9tIDJhMTdiMTUyOTdlYjg4NmIwYmZiN2QwOThlZjYwN2NmYWQ2YzNkYTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiAibWNhdGFuemFyb0BpZ2FsaWEuY29tIgotIDxtY2F0YW56YXJvQGlnYWxpYS5jb21AMjY4ZjQ1Y2MtY2QwOS0wNDEwLWFiM2MtZDUyNjkxYjRkYmZjPgotRGF0ZTogV2VkLCAyMyBNYXkgMjAxOCAxNzo1NDowMSArMDAwMAotU3ViamVjdDogW1BBVENIXSBQcm9oaWJpdCBzaHJpbmtpbmcgdGhlIEZhc3RCaXRWZWN0b3IKLSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgxMDIwCi0KLVJldmlld2VkIGJ5IE9saXZlciBIdW50LgotCi1Qcm9oaWJpdCBzaHJpbmtpbmcgdGhlIEZhc3RCaXRWZWN0b3IuIEl0J3Mgbm90IHByZXBhcmVkIGZvciB0aGlzIGFuZCB0aGUgY3VycmVudCB1c2FnZSBkb2VzCi1ub3QgcmVxdWlyZSBpdC4KLQotKiB3dGYvRmFzdEJpdFZlY3Rvci5jcHA6Ci0oV1RGOjpGYXN0Qml0VmVjdG9yV29yZE93bmVyOjpyZXNpemVTbG93KToKLQotZ2l0LXN2bi1pZDogaHR0cDovL3N2bi53ZWJraXQub3JnL3JlcG9zaXRvcnkvd2Via2l0L3RydW5rQDIzMjExOSAyNjhmNDVjYy1jZDA5LTA0MTAtYWIzYy1kNTI2OTFiNGRiZmMKLS0tLQotIFNvdXJjZS9XVEYvd3RmL0Zhc3RCaXRWZWN0b3IuY3BwIHwgIDIgKysKLSAyIGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0Zhc3RCaXRWZWN0b3IuY3BwIGIvU291cmNlL1dURi93dGYvRmFzdEJpdFZlY3Rvci5jcHAKLWluZGV4IGVlZDMxNjk3NWY0Li44YjAxOWFhYTNlZCAxMDA2NDQKLS0tLSBhL1NvdXJjZS9XVEYvd3RmL0Zhc3RCaXRWZWN0b3IuY3BwCi0rKysgYi9Tb3VyY2UvV1RGL3d0Zi9GYXN0Qml0VmVjdG9yLmNwcAotQEAgLTQyLDYgKzQyLDggQEAgdm9pZCBGYXN0Qml0VmVjdG9yV29yZE93bmVyOjpzZXRFcXVhbHNTbG93KGNvbnN0IEZhc3RCaXRWZWN0b3JXb3JkT3duZXImIG90aGVyKQotIHZvaWQgRmFzdEJpdFZlY3RvcldvcmRPd25lcjo6cmVzaXplU2xvdyhzaXplX3QgbnVtQml0cykKLSB7Ci0gICAgIHNpemVfdCBuZXdMZW5ndGggPSBmYXN0Qml0VmVjdG9yQXJyYXlMZW5ndGgobnVtQml0cyk7Ci0rCi0rICAgIFJFTEVBU0VfQVNTRVJUKG5ld0xlbmd0aCA+PSBhcnJheUxlbmd0aCgpKTsKLSAgICAgCi0gICAgIC8vIFVzZSBmYXN0Q2FsbG9jIGluc3RlYWQgb2YgZmFzdFJlYWxsb2MgYmVjYXVzZSB3ZSBleHBlY3QgdGhlIGNvbW1vbgotICAgICAvLyB1c2UgY2FzZSBmb3IgdGhpcyBtZXRob2QgdG8gYmUgaW5pdGlhbGl6aW5nIHRoZSBzaXplIG9mIHRoZSBiaXR2ZWN0b3IuCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3dlYmtpdC93ZWJraXRndGsvMDAxMi1zb3VwLUZvcndhcmQtZGVjbGFyZS1VUkwtY2xhc3MucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3dlYmtpdC93ZWJraXRndGsvMDAxMi1zb3VwLUZvcndhcmQtZGVjbGFyZS1VUkwtY2xhc3MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc4ZmQ0ZGMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc2F0by93ZWJraXQvd2Via2l0Z3RrLzAwMTItc291cC1Gb3J3YXJkLWRlY2xhcmUtVVJMLWNsYXNzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotRnJvbSA1OWY2OTAzYWQ5NmYzMjEzZjI0OGI2NzJkNWZkNTI2Y2MwZDY2NmNlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFN1biwgMjAgTWF5IDIwMTggMTQ6Mjg6MjcgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gc291cDogRm9yd2FyZCBkZWNsYXJlIFVSTCBjbGFzcwotCi1UaGlzIGhlbHBzIGdldHRpbmcgYXdheSB3aXRoIGNvbXBpbGVyIGVycm9ycyBzZWVuIHdpdGggY2xhbmcKLQotL21udC9hL29lL3dvcmtzcGFjZS9zb3VyY2VzL3dlYmtpdGd0ay9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvU291cE5ldHdvcmtTZXNzaW9uLmg6Njg6NjI6Ci1lcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ1VSTCcKLSAgICBzdGF0aWMgc3RkOjpvcHRpb25hbDxSZXNvdXJjZUVycm9yPiBjaGVja1RMU0Vycm9ycyhjb25zdCBVUkwmLAotR1Rsc0NlcnRpZmljYXRlKiwgR1Rsc0NlcnRpZmljYXRlRmxhZ3MpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yMzE4NzYvd2Via2l0XQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1NvdXBOZXR3b3JrU2Vzc2lvbi5oIHwgMSArCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCi0KLWRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvU291cE5ldHdvcmtTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvU291cE5ldHdvcmtTZXNzaW9uLmgKLWluZGV4IDAzYmQ3MmJhLi43Y2E4NzkyZCAxMDA2NDQKLS0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Tb3VwTmV0d29ya1Nlc3Npb24uaAotKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1NvdXBOZXR3b3JrU2Vzc2lvbi5oCi1AQCAtNDMsNiArNDMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gCi0gY2xhc3MgQ2VydGlmaWNhdGVJbmZvOwotIGNsYXNzIFJlc291cmNlRXJyb3I7Ci0rY2xhc3MgVVJMOwotIHN0cnVjdCBTb3VwTmV0d29ya1Byb3h5U2V0dGluZ3M7Ci0gCi0gY2xhc3MgU291cE5ldHdvcmtTZXNzaW9uIHsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vd2Via2l0L3dlYmtpdGd0ay9iYWRfb3B0aW9uYWxfYWNjZXNzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc2F0by93ZWJraXQvd2Via2l0Z3RrL2JhZF9vcHRpb25hbF9hY2Nlc3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWQwZDUwYgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vd2Via2l0L3dlYmtpdGd0ay9iYWRfb3B0aW9uYWxfYWNjZXNzLnBhdGNoCkBAIC0wLDAgKzEsMzUgQEAKK3VuYnJlYWsgYnVpbGQgd2l0aCBsaWJjKysgNworCitiYXNlZCBvbgoraHR0cHM6Ly9zdm53ZWIuZnJlZWJzZC5vcmcvcG9ydHMvaGVhZC93d3cvd2Via2l0Mi1ndGszL2ZpbGVzL3BhdGNoLVNvdXJjZV9XVEZfd3RmX09wdGlvbmFsLmg/dmlldz1tYXJrdXAmcGF0aHJldj00Nzc4MTIKKworRml4ZXMKKworL3Vzci9pbmNsdWRlL2MrKy92MS9vcHRpb25hbDoxNzE6Mjk6IGVycm9yOiByZWRlZmluaXRpb24gb2YgJ2JhZF9vcHRpb25hbF9hY2Nlc3MnCitjbGFzcyBfTElCQ1BQX0VYQ0VQVElPTl9BQkkgYmFkX29wdGlvbmFsX2FjY2VzcworICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KK0Rlcml2ZWRTb3VyY2VzL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9PcHRpb25hbC5oOjI5NTo3OiBub3RlOiBwcmV2aW91cyBkZWZpbml0aW9uIGlzIGhlcmUKK2NsYXNzIGJhZF9vcHRpb25hbF9hY2Nlc3MgOiBwdWJsaWMgc3RkOjpsb2dpY19lcnJvciB7CisgICAgICBeCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLSBhL1NvdXJjZS9XVEYvd3RmL09wdGlvbmFsLmgKKysrKyBiL1NvdXJjZS9XVEYvd3RmL09wdGlvbmFsLmgKK0BAIC0yNzYsMTQgKzI3NiwxNCBAQCBzdHJ1Y3QgbnVsbG9wdF90CisgfTsKKyBjb25zdGV4cHIgbnVsbG9wdF90IG51bGxvcHR7bnVsbG9wdF90Ojppbml0KCl9OworIAorLQorKyMgaWYgIWRlZmluZWQoX0xJQkNQUF9WRVJTSU9OKSB8fCBfTElCQ1BQX1ZFUlNJT04gPCA3MDAwCisgLy8gMjAuNS44LCBjbGFzcyBiYWRfb3B0aW9uYWxfYWNjZXNzCisgY2xhc3MgYmFkX29wdGlvbmFsX2FjY2VzcyA6IHB1YmxpYyBzdGQ6OmxvZ2ljX2Vycm9yIHsKKyBwdWJsaWM6CisgICBleHBsaWNpdCBiYWRfb3B0aW9uYWxfYWNjZXNzKGNvbnN0IHN0ZDo6c3RyaW5nJiB3aGF0X2FyZykgOiBzdGQ6OmxvZ2ljX2Vycm9ye3doYXRfYXJnfSB7fQorICAgZXhwbGljaXQgYmFkX29wdGlvbmFsX2FjY2Vzcyhjb25zdCBjaGFyKiB3aGF0X2FyZykgOiBzdGQ6OmxvZ2ljX2Vycm9ye3doYXRfYXJnfSB7fQorIH07CistCisrIyBlbmRpZiAvLyBfTElCQ1BQX1ZFUlNJT04gPCA3MDAwCisgCisgdGVtcGxhdGUgPGNsYXNzIFQ+CisgdW5pb24gc3RvcmFnZV90CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3dlYmtpdC93ZWJraXRndGtfMi4yMC41LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc2F0by93ZWJraXQvd2Via2l0Z3RrXzIuMjAuNS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2YxZmZjZS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3dlYmtpdC93ZWJraXRndGtfMi4yMC41LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTI0ICswLDAgQEAKLVNVTU1BUlkgPSAiV2ViS2l0IHdlYiByZW5kZXJpbmcgZW5naW5lIGZvciB0aGUgR1RLKyBwbGF0Zm9ybSIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cud2Via2l0Z3RrLm9yZy8iCi1CVUdUUkFDS0VSID0gImh0dHA6Ly9idWdzLndlYmtpdC5vcmcvIgotCi1MSUNFTlNFID0gIkJTRCAmIExHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ09QWUlORy5MSUI7bWQ1PWQwYzZkNjM5N2E1ZDg0Mjg2ZGRhNzU4ZGE1N2JkNjkxIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL1NvdXJjZS9XZWJDb3JlL0xJQ0VOU0UtQVBQTEU7bWQ1PTQ2NDZmOTAwODJjNDBiY2YyOThjMjg1ZjhiYWIwYjEyIFwKLQkJICAgIGZpbGU6Ly9Tb3VyY2UvV2ViQ29yZS9MSUNFTlNFLUxHUEwtMjttZDU9MzYzNTdmZmRlMmI2NGFlMTc3YjI0OTQ0NDViNzlkMjEgXAotCQkgICAgZmlsZTovL1NvdXJjZS9XZWJDb3JlL0xJQ0VOU0UtTEdQTC0yLjE7bWQ1PWE3NzhhMzNlZjMzOGFiYmFmOGI4YTdjMzZiNmVlYzgwIFwKLQkJICAgIgotCi1TUkNfVVJJID0gImh0dHA6Ly93d3cud2Via2l0Z3RrLm9yZy9yZWxlYXNlcy8ke0JQTn0tJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRmluZEdPYmplY3RJbnRyb3NwZWN0aW9uLmNtYWtlLXByZWZpeC12YXJpYWJsZXMtb2J0YS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLVdoZW4tYnVpbGRpbmctaW50cm9zcGVjdGlvbi1maWxlcy1hZGQtQ01BS0VfQ19GTEFHUy0ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1PcHRpb25zR1RLLmNtYWtlLWRyb3AtdGhlLWhhcmRjb2RlZC1pbnRyb3NwZWN0aW9uLWd0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LXJhY3ktcGFyYWxsZWwtYnVpbGQtb2YtV2ViS2l0Mi00LjAuZ2lyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtVHdlYWstZ3RrZG9jLXNldHRpbmdzLXNvLXRoYXQtZ3RrZG9jLWdlbmVyYXRpb24td29yay5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly94MzJfc3VwcG9ydC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9jcm9zcy1jb21waWxlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtV2ViS2l0TWFjcm9zLUFwcGVuZC10by1JLWFuZC1ub3QtdG8taXN5c3RlbS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1idWlsZC13aXRoLW11c2wucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGV0ZWN0LWdzdHJlYW1lci1nbC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDEyLXNvdXAtRm9yd2FyZC1kZWNsYXJlLVVSTC1jbGFzcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1QYWludGluZ0RhdGEtaGFzLW5vLW1lbWJlci1uYW1lZC1saWdodFZlY3Rvci1vbi0ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS13ZWJraXRndGstZml4LUNWRS0yMDE3LTE3ODIxLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNzJhMDVmNmE0ZGMxYzc4YjA3OTU5MGE4ZmQyODA0MDEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTVjMGY4ZDI2ZTk2MDVhZmUwOTQ4ZDE2MWJhNWZkODJlZmVlOGVkYTJkZWJkNDA5ZmQ0MGE0NDBhYzNhZjk5MCIKLQotaW5oZXJpdCBjbWFrZSBwa2djb25maWcgZ29iamVjdC1pbnRyb3NwZWN0aW9uIHBlcmxuYXRpdmUgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbiBndGstZG9jCi0KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEgb3BlbmdsIgotCi1ERVBFTkRTID0gInpsaWIgbGlic291cC0yLjQgY3VybCBsaWJ4bWwyIGNhaXJvIGxpYnhzbHQgbGlieHQgbGliaWRuIGxpYmdjcnlwdCBcCi0gICAgICAgICAgIGd0ayszIGdzdHJlYW1lcjEuMCBnc3RyZWFtZXIxLjAtcGx1Z2lucy1iYXNlIGZsZXgtbmF0aXZlIGdwZXJmLW5hdGl2ZSBzcWxpdGUzIFwKLQkgICBwYW5nbyBpY3UgYmlzb24tbmF0aXZlIGdhd2sgaW50bHRvb2wtbmF0aXZlIGxpYndlYnAgXAotCSAgIGF0ayB1ZGV2IGhhcmZidXp6IGpwZWcgbGlicG5nIHB1bHNlYXVkaW8gbGlicnN2ZyBsaWJ0aGVvcmEgbGlidm9yYmlzIGxpYnhjb21wb3NpdGUgbGlieHRzdCBcCi0JICAgcnVieS1uYXRpdmUgbGlibm90aWZ5IGdzdHJlYW1lcjEuMC1wbHVnaW5zLWJhZCBcCi0JICAgZ2V0dGV4dC1uYXRpdmUgZ2xpYi0yLjAgZ2xpYi0yLjAtbmF0aXZlIGxpYnRhc24xIFwKLSAgICAgICAgICAiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICd4MTEnLCAnd2F5bGFuZCcgLGQpfSBcCi0gICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdvcGVuZ2wnLCAnd2ViZ2wgb3BlbmdsJywgJycgLGQpfSBcCi0gICAgICAgICAgICAgICAgICAgZW5jaGFudCBcCi0gICAgICAgICAgICAgICAgICAgbGlic2VjcmV0IFwKLSAgICAgICAgICAgICAgICAgICIKLQotUEFDS0FHRUNPTkZJR1t3YXlsYW5kXSA9ICItREVOQUJMRV9XQVlMQU5EX1RBUkdFVD1PTiwtREVOQUJMRV9XQVlMQU5EX1RBUkdFVD1PRkYsd2F5bGFuZCIKLVBBQ0tBR0VDT05GSUdbeDExXSA9ICItREVOQUJMRV9YMTFfVEFSR0VUPU9OLC1ERU5BQkxFX1gxMV9UQVJHRVQ9T0ZGLHZpcnR1YWwvbGlieDExIgotUEFDS0FHRUNPTkZJR1tnZW9jbHVlXSA9ICItREVOQUJMRV9HRU9MT0NBVElPTj1PTiwtREVOQUJMRV9HRU9MT0NBVElPTj1PRkYsZ2VvY2x1ZSIKLVBBQ0tBR0VDT05GSUdbZW5jaGFudF0gPSAiLURFTkFCTEVfU1BFTExDSEVDSz1PTiwtREVOQUJMRV9TUEVMTENIRUNLPU9GRixlbmNoYW50IgotUEFDS0FHRUNPTkZJR1tndGsyXSA9ICItREVOQUJMRV9QTFVHSU5fUFJPQ0VTU19HVEsyPU9OLC1ERU5BQkxFX1BMVUdJTl9QUk9DRVNTX0dUSzI9T0ZGLGd0aysiCi1QQUNLQUdFQ09ORklHW2dsZXMyXSA9ICItREVOQUJMRV9HTEVTMj1PTiwtREVOQUJMRV9HTEVTMj1PRkYsdmlydHVhbC9saWJnbGVzMiIKLVBBQ0tBR0VDT05GSUdbd2ViZ2xdID0gIi1ERU5BQkxFX1dFQkdMPU9OLC1ERU5BQkxFX1dFQkdMPU9GRix2aXJ0dWFsL2xpYmdsIgotUEFDS0FHRUNPTkZJR1tvcGVuZ2xdID0gIi1ERU5BQkxFX09QRU5HTD1PTiwtREVOQUJMRV9PUEVOR0w9T0ZGLHZpcnR1YWwvbGliZ2wiCi1QQUNLQUdFQ09ORklHW2xpYnNlY3JldF0gPSAiLURVU0VfTElCU0VDUkVUPU9OLC1EVVNFX0xJQlNFQ1JFVD1PRkYsbGlic2VjcmV0IgotUEFDS0FHRUNPTkZJR1tsaWJoeXBoZW5dID0gIi1EVVNFX0xJQkhZUEhFTj1PTiwtRFVTRV9MSUJIWVBIRU49T0ZGLGxpYmh5cGhlbiIKLSMgU291cmNlIGlzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvd29mZjIKLVBBQ0tBR0VDT05GSUdbd29mZjJdID0gIi1EVVNFX1dPRkYyPU9OLC1EVVNFX1dPRkYyPU9GRix3b2ZmMiIKLQotRVhUUkFfT0VDTUFLRSA9ICIgXAotCQktRFBPUlQ9R1RLIFwKLQkJLURDTUFLRV9CVUlMRF9UWVBFPVJlbGVhc2UgXAotCQkke0BiYi51dGlscy5jb250YWlucygnR0lfREFUQV9FTkFCTEVEJywgJ1RydWUnLCAnLURFTkFCTEVfSU5UUk9TUEVDVElPTj1PTicsICctREVOQUJMRV9JTlRST1NQRUNUSU9OPU9GRicsIGQpfSBcCi0JCSR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHVEtET0NfRU5BQkxFRCcsICdUcnVlJywgJy1ERU5BQkxFX0dUS0RPQz1PTicsICctREVOQUJMRV9HVEtET0M9T0ZGJywgZCl9IFwKLQkJLURFTkFCTEVfTUlOSUJST1dTRVI9T04gXAotICAgICAgICAgICAgICAgIC1EUFlUSE9OX0VYRUNVVEFCTEU9YHdoaWNoIHB5dGhvbmAgXAotCQkiCi0KLSMgR0wvR0xFUyBoZWFkZXIgY2xhc2g6IGJvdGggZGVmaW5lIHRoZSBzYW1lIHRoaW5nLCBkaWZmZXJlbnRseSwgb24gMzIgYml0IHg4NgotRVhUUkFfT0VDTUFLRV9hcHBlbmRfeDg2ID0gIiAtRFVTRV9HU1RSRUFNRVJfR0w9T0ZGICIKLUVYVFJBX09FQ01BS0VfYXBwZW5kX3g4Ni14MzIgPSAiIC1EVVNFX0dTVFJFQU1FUl9HTD1PRkYgIgotCi0jIEphdmFzY3JpcHQgSklUIGlzIG5vdCBzdXBwb3J0ZWQgb24gcG93ZXJwYwotRVhUUkFfT0VDTUFLRV9hcHBlbmRfcG93ZXJwYyA9ICIgLURFTkFCTEVfSklUPU9GRiAiCi1FWFRSQV9PRUNNQUtFX2FwcGVuZF9wb3dlcnBjNjQgPSAiIC1ERU5BQkxFX0pJVD1PRkYgIgotCi0jIEFSTSBKSVQgY29kZSBkb2VzIG5vdCBidWlsZCBvbiBBUk12NC81LzYgYW55bW9yZQotRVhUUkFfT0VDTUFLRV9hcHBlbmRfYXJtdjUgPSAiIC1ERU5BQkxFX0pJVD1PRkYgIgotRVhUUkFfT0VDTUFLRV9hcHBlbmRfYXJtdjYgPSAiIC1ERU5BQkxFX0pJVD1PRkYgIgotRVhUUkFfT0VDTUFLRV9hcHBlbmRfYXJtdjQgPSAiIC1ERU5BQkxFX0pJVD1PRkYgIgotCi0jIGJpbnV0aWxzIDIuMjUuMSBoYXMgYSBidWcgb24gYWFyY2g2NDoKLSMgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTg0MzAKLUVYVFJBX09FQ01BS0VfYXBwZW5kX2FhcmNoNjQgPSAiIC1EVVNFX0xEX0dPTEQ9T0ZGICIKLUVYVFJBX09FQ01BS0VfYXBwZW5kX21pcHNhcmNoID0gIiAtRFVTRV9MRF9HT0xEPU9GRiAiCi1FWFRSQV9PRUNNQUtFX2FwcGVuZF9wb3dlcnBjID0gIiAtRFVTRV9MRF9HT0xEPU9GRiAiCi0KLUVYVFJBX09FQ01BS0VfYXBwZW5kX2FhcmNoNjQgPSAiIC1EV1RGX0NQVV9BUk02NF9DT1JURVhBNTM9T04iCi0KLSMgSklUIG5vdCBzdXBwb3J0ZWQgb24gTUlQUyBlaXRoZXIKLUVYVFJBX09FQ01BS0VfYXBwZW5kX21pcHNhcmNoID0gIiAtREVOQUJMRV9KSVQ9T0ZGICIKLQotIyBKSVQgbm90IHN1cHBvcnRlZCBvbiBYMzIKLSMgQW4gYXR0ZW1wdCB3YXMgbWFkZSB0byB1cHN0cmVhbSBKSVQgc3VwcG9ydCBmb3IgeDMyIGluCi0jIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA0NTAsIGJ1dCB0aGlzIHdhcyBjbG9zZWQgYXMKLSMgdW5yZXNvbHZlZCBkdWUgdG8gbGltaXRlZCBYMzIgYWRvcHRpb24uCi1FWFRSQV9PRUNNQUtFX2FwcGVuZF94ODYteDMyID0gIiAtREVOQUJMRV9KSVQ9T0ZGICIKLQotU0VDVVJJVFlfQ0ZMQUdTX3JlbW92ZV9hYXJjaDY0ID0gIi1mcGllIgotU0VDVVJJVFlfQ0ZMQUdTX2FwcGVuZF9hYXJjaDY0ID0gIiAtZlBJRSIKLQotRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS93ZWJraXQyZ3RrLTQuMC9pbmplY3RlZC1idW5kbGUvbGlid2Via2l0Mmd0a2luamVjdGVkYnVuZGxlLnNvIgotCi1SUkVDT01NRU5EU18ke1BOfSArPSAiY2EtY2VydGlmaWNhdGVzIHNoYXJlZC1taW1lLWluZm8iCi0KLSMgaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzIwMzcwLwotQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NCA9ICJhcm0iCi1BUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY1ID0gImFybSIKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjYgPSAiYXJtIgotCi0jIGh0dHBzOi8vYnVnemlsbGEueW9jdG9wcm9qZWN0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ3NAotIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU5ODgwCi0jIEpTQyBKSVQgY2FuIGJ1aWxkIG9uIEFSTXY3IHdpdGggLW1hcm0sIGJ1dCBkb2Vzbid0IHdvcmsgb24gcnVudGltZS4KLSMgVXBzdHJlYW0gb25seSB0ZXN0cyByZWd1bGFybHkgdGhlIEpTQyBKSVQgb24gQVJNdjcgd2l0aCBUaHVtYjIgKC1tdGh1bWIpLgotQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12N2EgPSAidGh1bWIiCi1BUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY3ciA9ICJ0aHVtYiIKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjd2ZSA9ICJ0aHVtYiIKLQotIyBxZW11OiB1bmNhdWdodCB0YXJnZXQgc2lnbmFsIDExIChTZWdtZW50YXRpb24gZmF1bHQpIC0gY29yZSBkdW1wZWQKLSMgU2VnbWVudGF0aW9uIGZhdWx0Ci1HSV9EQVRBX0VOQUJMRURfYXJtdjdhID0gIkZhbHNlIgotR0lfREFUQV9FTkFCTEVEX2FybXY3dmUgPSAiRmFsc2UiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3dlYmtpdC93ZWJraXRndGtfMi4yMi43LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc2F0by93ZWJraXQvd2Via2l0Z3RrXzIuMjIuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMDFiZjEwCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc2F0by93ZWJraXQvd2Via2l0Z3RrXzIuMjIuNy5iYgpAQCAtMCwwICsxLDEzNCBAQAorU1VNTUFSWSA9ICJXZWJLaXQgd2ViIHJlbmRlcmluZyBlbmdpbmUgZm9yIHRoZSBHVEsrIHBsYXRmb3JtIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy53ZWJraXRndGsub3JnLyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy8iCisKK0xJQ0VOU0UgPSAiQlNEICYgTEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DT1BZSU5HLkxJQjttZDU9ZDBjNmQ2Mzk3YTVkODQyODZkZGE3NThkYTU3YmQ2OTEgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vU291cmNlL1dlYkNvcmUvTElDRU5TRS1BUFBMRTttZDU9NDY0NmY5MDA4MmM0MGJjZjI5OGMyODVmOGJhYjBiMTIgXAorCQkgICAgZmlsZTovL1NvdXJjZS9XZWJDb3JlL0xJQ0VOU0UtTEdQTC0yO21kNT0zNjM1N2ZmZGUyYjY0YWUxNzdiMjQ5NDQ0NWI3OWQyMSBcCisJCSAgICBmaWxlOi8vU291cmNlL1dlYkNvcmUvTElDRU5TRS1MR1BMLTIuMTttZDU9YTc3OGEzM2VmMzM4YWJiYWY4YjhhN2MzNmI2ZWVjODAgXAorCQkgICAiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy53ZWJraXRndGsub3JnL3JlbGVhc2VzLyR7QlBOfS0ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaW5kR09iamVjdEludHJvc3BlY3Rpb24uY21ha2UtcHJlZml4LXZhcmlhYmxlcy1vYnRhLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtV2hlbi1idWlsZGluZy1pbnRyb3NwZWN0aW9uLWZpbGVzLWFkZC1DTUFLRV9DX0ZMQUdTLS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLU9wdGlvbnNHVEsuY21ha2UtZHJvcC10aGUtaGFyZGNvZGVkLWludHJvc3BlY3Rpb24tZ3QucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtcmFjeS1wYXJhbGxlbC1idWlsZC1vZi1XZWJLaXQyLTQuMC5naXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Ud2Vhay1ndGtkb2Mtc2V0dGluZ3Mtc28tdGhhdC1ndGtkb2MtZ2VuZXJhdGlvbi13b3JrLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3gzMl9zdXBwb3J0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2Nyb3NzLWNvbXBpbGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1XZWJLaXRNYWNyb3MtQXBwZW5kLXRvLUktYW5kLW5vdC10by1pc3lzdGVtLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWJ1aWxkLXdpdGgtbXVzbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZXRlY3QtZ3N0cmVhbWVyLWdsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2JhZF9vcHRpb25hbF9hY2Nlc3MucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0NzM4NmMxMGE5YzM5NzVmOTMzYzg1NDA0ZjM1ZmYzYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0YmU2ZjdkNjA1Y2QwYTY5MGZkMjZlOGFhODNiMDg5YTMzYWQ5ZDQxOTE0OGVhZmNmYjYwNTgwZGQyYWYzMGZmIgorCitpbmhlcml0IGNtYWtlIHBrZ2NvbmZpZyBnb2JqZWN0LWludHJvc3BlY3Rpb24gcGVybG5hdGl2ZSBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuIGd0ay1kb2MKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSBvcGVuZ2wiCisKK0RFUEVORFMgPSAiemxpYiBsaWJzb3VwLTIuNCBjdXJsIGxpYnhtbDIgY2Fpcm8gbGlieHNsdCBsaWJ4dCBsaWJpZG4gbGliZ2NyeXB0IFwKKyAgICAgICAgICAgZ3RrKzMgZ3N0cmVhbWVyMS4wIGdzdHJlYW1lcjEuMC1wbHVnaW5zLWJhc2UgZmxleC1uYXRpdmUgZ3BlcmYtbmF0aXZlIHNxbGl0ZTMgXAorCSAgIHBhbmdvIGljdSBiaXNvbi1uYXRpdmUgZ2F3ayBpbnRsdG9vbC1uYXRpdmUgbGlid2VicCBcCisJICAgYXRrIHVkZXYgaGFyZmJ1enoganBlZyBsaWJwbmcgcHVsc2VhdWRpbyBsaWJyc3ZnIGxpYnRoZW9yYSBsaWJ2b3JiaXMgbGlieGNvbXBvc2l0ZSBsaWJ4dHN0IFwKKwkgICBydWJ5LW5hdGl2ZSBsaWJub3RpZnkgZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFkIFwKKwkgICBnZXR0ZXh0LW5hdGl2ZSBnbGliLTIuMCBnbGliLTIuMC1uYXRpdmUgbGlidGFzbjEgXAorICAgICAgICAgICIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ3gxMScsICd3YXlsYW5kJyAsZCl9IFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ29wZW5nbCcsICd3ZWJnbCBvcGVuZ2wnLCAnJyAsZCl9IFwKKyAgICAgICAgICAgICAgICAgICBlbmNoYW50IFwKKyAgICAgICAgICAgICAgICAgICBsaWJzZWNyZXQgXAorICAgICAgICAgICAgICAgICAgIgorCitQQUNLQUdFQ09ORklHW3dheWxhbmRdID0gIi1ERU5BQkxFX1dBWUxBTkRfVEFSR0VUPU9OLC1ERU5BQkxFX1dBWUxBTkRfVEFSR0VUPU9GRix3YXlsYW5kIgorUEFDS0FHRUNPTkZJR1t4MTFdID0gIi1ERU5BQkxFX1gxMV9UQVJHRVQ9T04sLURFTkFCTEVfWDExX1RBUkdFVD1PRkYsdmlydHVhbC9saWJ4MTEiCitQQUNLQUdFQ09ORklHW2dlb2NsdWVdID0gIi1ERU5BQkxFX0dFT0xPQ0FUSU9OPU9OLC1ERU5BQkxFX0dFT0xPQ0FUSU9OPU9GRixnZW9jbHVlIgorUEFDS0FHRUNPTkZJR1tlbmNoYW50XSA9ICItREVOQUJMRV9TUEVMTENIRUNLPU9OLC1ERU5BQkxFX1NQRUxMQ0hFQ0s9T0ZGLGVuY2hhbnQiCitQQUNLQUdFQ09ORklHW2d0azJdID0gIi1ERU5BQkxFX1BMVUdJTl9QUk9DRVNTX0dUSzI9T04sLURFTkFCTEVfUExVR0lOX1BST0NFU1NfR1RLMj1PRkYsZ3RrKyIKK1BBQ0tBR0VDT05GSUdbZ2xlczJdID0gIi1ERU5BQkxFX0dMRVMyPU9OLC1ERU5BQkxFX0dMRVMyPU9GRix2aXJ0dWFsL2xpYmdsZXMyIgorUEFDS0FHRUNPTkZJR1t3ZWJnbF0gPSAiLURFTkFCTEVfV0VCR0w9T04sLURFTkFCTEVfV0VCR0w9T0ZGLHZpcnR1YWwvbGliZ2wiCitQQUNLQUdFQ09ORklHW29wZW5nbF0gPSAiLURFTkFCTEVfT1BFTkdMPU9OLC1ERU5BQkxFX09QRU5HTD1PRkYsdmlydHVhbC9saWJnbCIKK1BBQ0tBR0VDT05GSUdbbGlic2VjcmV0XSA9ICItRFVTRV9MSUJTRUNSRVQ9T04sLURVU0VfTElCU0VDUkVUPU9GRixsaWJzZWNyZXQiCitQQUNLQUdFQ09ORklHW2xpYmh5cGhlbl0gPSAiLURVU0VfTElCSFlQSEVOPU9OLC1EVVNFX0xJQkhZUEhFTj1PRkYsbGliaHlwaGVuIgorIyBTb3VyY2UgaXMgYXQgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS93b2ZmMgorUEFDS0FHRUNPTkZJR1t3b2ZmMl0gPSAiLURVU0VfV09GRjI9T04sLURVU0VfV09GRjI9T0ZGLHdvZmYyIgorCitFWFRSQV9PRUNNQUtFID0gIiBcCisJCS1EUE9SVD1HVEsgXAorCQktRENNQUtFX0JVSUxEX1RZUEU9UmVsZWFzZSBcCisJCSR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHSV9EQVRBX0VOQUJMRUQnLCAnVHJ1ZScsICctREVOQUJMRV9JTlRST1NQRUNUSU9OPU9OJywgJy1ERU5BQkxFX0lOVFJPU1BFQ1RJT049T0ZGJywgZCl9IFwKKwkJJHtAYmIudXRpbHMuY29udGFpbnMoJ0dUS0RPQ19FTkFCTEVEJywgJ1RydWUnLCAnLURFTkFCTEVfR1RLRE9DPU9OJywgJy1ERU5BQkxFX0dUS0RPQz1PRkYnLCBkKX0gXAorCQktREVOQUJMRV9NSU5JQlJPV1NFUj1PTiBcCisgICAgICAgICAgICAgICAgLURQWVRIT05fRVhFQ1VUQUJMRT1gd2hpY2ggcHl0aG9uYCBcCisJCSIKKworIyBHTC9HTEVTIGhlYWRlciBjbGFzaDogYm90aCBkZWZpbmUgdGhlIHNhbWUgdGhpbmcsIGRpZmZlcmVudGx5LCBvbiAzMiBiaXQgeDg2CitFWFRSQV9PRUNNQUtFX2FwcGVuZF94ODYgPSAiIC1EVVNFX0dTVFJFQU1FUl9HTD1PRkYgIgorRVhUUkFfT0VDTUFLRV9hcHBlbmRfeDg2LXgzMiA9ICIgLURVU0VfR1NUUkVBTUVSX0dMPU9GRiAiCisKKyMgSmF2YXNjcmlwdCBKSVQgaXMgbm90IHN1cHBvcnRlZCBvbiBBUkMKK0VYVFJBX09FQ01BS0VfYXBwZW5kX2FyYyA9ICIgLURFTkFCTEVfSklUPU9GRiAiCisjIEJ5IGRlZmF1bHQgMjUtYml0ICJtZWRpdW0iIGNhbGxzIGFyZSB1c2VkIG9uIEFSQworIyB3aGljaCBpcyBub3QgZW5vdWdoIGZvciBiaW5hcmllcyBsYXJnZXIgdGhhbiAzMiBNaUIKK0NGTEFHU19hcHBlbmRfYXJjID0gIiAtbWxvbmctY2FsbHMiCitDWFhGTEFHU19hcHBlbmRfYXJjID0gIiAtbWxvbmctY2FsbHMiCisKKyMgSmF2YXNjcmlwdCBKSVQgaXMgbm90IHN1cHBvcnRlZCBvbiBwb3dlcnBjCitFWFRSQV9PRUNNQUtFX2FwcGVuZF9wb3dlcnBjID0gIiAtREVOQUJMRV9KSVQ9T0ZGICIKK0VYVFJBX09FQ01BS0VfYXBwZW5kX3Bvd2VycGM2NCA9ICIgLURFTkFCTEVfSklUPU9GRiAiCisKKyMgQVJNIEpJVCBjb2RlIGRvZXMgbm90IGJ1aWxkIG9uIEFSTXY0LzUvNiBhbnltb3JlCitFWFRSQV9PRUNNQUtFX2FwcGVuZF9hcm12NSA9ICIgLURFTkFCTEVfSklUPU9GRiAiCitFWFRSQV9PRUNNQUtFX2FwcGVuZF9hcm12NiA9ICIgLURFTkFCTEVfSklUPU9GRiAiCitFWFRSQV9PRUNNQUtFX2FwcGVuZF9hcm12NCA9ICIgLURFTkFCTEVfSklUPU9GRiAiCisKKyMgYmludXRpbHMgMi4yNS4xIGhhcyBhIGJ1ZyBvbiBhYXJjaDY0OgorIyBodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xODQzMAorRVhUUkFfT0VDTUFLRV9hcHBlbmRfYWFyY2g2NCA9ICIgLURVU0VfTERfR09MRD1PRkYgIgorRVhUUkFfT0VDTUFLRV9hcHBlbmRfbWlwc2FyY2ggPSAiIC1EVVNFX0xEX0dPTEQ9T0ZGICIKK0VYVFJBX09FQ01BS0VfYXBwZW5kX3Bvd2VycGMgPSAiIC1EVVNFX0xEX0dPTEQ9T0ZGICIKKworRVhUUkFfT0VDTUFLRV9hcHBlbmRfYWFyY2g2NCA9ICIgLURXVEZfQ1BVX0FSTTY0X0NPUlRFWEE1Mz1PTiIKKworIyBKSVQgbm90IHN1cHBvcnRlZCBvbiBNSVBTIGVpdGhlcgorRVhUUkFfT0VDTUFLRV9hcHBlbmRfbWlwc2FyY2ggPSAiIC1ERU5BQkxFX0pJVD1PRkYgIgorCisjIEpJVCBub3Qgc3VwcG9ydGVkIG9uIFgzMgorIyBBbiBhdHRlbXB0IHdhcyBtYWRlIHRvIHVwc3RyZWFtIEpJVCBzdXBwb3J0IGZvciB4MzIgaW4KKyMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDQ1MCwgYnV0IHRoaXMgd2FzIGNsb3NlZCBhcworIyB1bnJlc29sdmVkIGR1ZSB0byBsaW1pdGVkIFgzMiBhZG9wdGlvbi4KK0VYVFJBX09FQ01BS0VfYXBwZW5kX3g4Ni14MzIgPSAiIC1ERU5BQkxFX0pJVD1PRkYgIgorCitTRUNVUklUWV9DRkxBR1NfcmVtb3ZlX2FhcmNoNjQgPSAiLWZwaWUiCitTRUNVUklUWV9DRkxBR1NfYXBwZW5kX2FhcmNoNjQgPSAiIC1mUElFIgorCitMREZMQUdTX2FwcGVuZF90b29sY2hhaW4tY2xhbmcgPSAiIC1ydGxpYj1jb21waWxlci1ydCIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS93ZWJraXQyZ3RrLTQuMC9pbmplY3RlZC1idW5kbGUvbGlid2Via2l0Mmd0a2luamVjdGVkYnVuZGxlLnNvIgorCitSUkVDT01NRU5EU18ke1BOfSArPSAiY2EtY2VydGlmaWNhdGVzIHNoYXJlZC1taW1lLWluZm8iCisKKyMgaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzIwMzcwLworQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NCA9ICJhcm0iCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY1ID0gImFybSIKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjYgPSAiYXJtIgorCisjIGh0dHBzOi8vYnVnemlsbGEueW9jdG9wcm9qZWN0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ3NAorIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU5ODgwCisjIEpTQyBKSVQgY2FuIGJ1aWxkIG9uIEFSTXY3IHdpdGggLW1hcm0sIGJ1dCBkb2Vzbid0IHdvcmsgb24gcnVudGltZS4KKyMgVXBzdHJlYW0gb25seSB0ZXN0cyByZWd1bGFybHkgdGhlIEpTQyBKSVQgb24gQVJNdjcgd2l0aCBUaHVtYjIgKC1tdGh1bWIpLgorQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12N2EgPSAidGh1bWIiCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY3ciA9ICJ0aHVtYiIKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjd2ZSA9ICJ0aHVtYiIKKworIyBxZW11OiB1bmNhdWdodCB0YXJnZXQgc2lnbmFsIDExIChTZWdtZW50YXRpb24gZmF1bHQpIC0gY29yZSBkdW1wZWQKKyMgU2VnbWVudGF0aW9uIGZhdWx0CitHSV9EQVRBX0VOQUJMRURfYXJtdjdhID0gIkZhbHNlIgorR0lfREFUQV9FTkFCTEVEX2FybXY3dmUgPSAiRmFsc2UiCisKKyMgQ2FuJ3QgYmUgYnVpbHQgd2l0aCBjY2FjaGUKK0NDQUNIRV9ESVNBQkxFID0gIjEiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2Fwci9hcHIvMDAwOC1hcHItZml4LXB0ZXN0LWhhbmctaW4tdGVzdHN0ci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXByL2Fwci8wMDA4LWFwci1maXgtcHRlc3QtaGFuZy1pbi10ZXN0c3RyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ODA5ZmE2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXByL2Fwci8wMDA4LWFwci1maXgtcHRlc3QtaGFuZy1pbi10ZXN0c3RyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAotRnJvbSAwMzZmOTA3NDgyNDc0MTdkYmZhNzE0YjFiOTEyY2E3ZGQ0MDUzZjA0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KLURhdGU6IE1vbiwgMjMgSnVsIDIwMTggMTQ6MTI6MzUgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gYXByOiBmaXggcHRlc3QgaGFuZyBpbiB0ZXN0c3RyCi0KLXB0ZXN0IGhhbmcgaW4gdGVzdHN0ciBzaW5jZSB0dXJucyBpbnRvIGEgbm9uLXRlcm1pbmF0aW5nIGxvb3AsCi1maXggYnkgYmVsb3cgYmFja3BvcnRlZCBwYXRjaC4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydFtodHRwczovL2dpdGh1Yi5jb20vYXBhY2hlL2Fwci9jb21taXQvCi0gICAgICAgICAyZThmYmZmNGVjZjgyZDBkZWNmNmJhZjc3NGMyMDk5NDhmMmY0OTk4P2RpZmY9dW5pZmllZF0KLQotU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KLS0tLQotIHRlc3QvdGVzdHN0ci5jIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvdGVzdC90ZXN0c3RyLmMgYi90ZXN0L3Rlc3RzdHIuYwotaW5kZXggZDlhNTA1NC4uOTUxYTgzMCAxMDA2NDQKLS0tLSBhL3Rlc3QvdGVzdHN0ci5jCi0rKysgYi90ZXN0L3Rlc3RzdHIuYwotQEAgLTMwNyw3ICszMDcsNyBAQCBzdGF0aWMgdm9pZCBvdmVyZmxvd19zdHJmc2l6ZShhYnRzX2Nhc2UgKnRjLCB2b2lkICpkYXRhKQotICAgICBmb3IgKDsgb2ZmIDwgOTk5OTk5OTk5OyBvZmYgKz0gOTk5KSB7Ci0gICAgICAgICBhcHJfc3RyZnNpemUob2ZmLCBidWYpOwotICAgICB9Ci0tICAgIGZvciAob2ZmID0gMTsgb2ZmIDwgTE9OR19NQVggJiYgb2ZmID4gMDsgb2ZmICo9IDIpIHsKLSsgICAgZm9yIChvZmYgPSBMT05HX01BWDsgb2ZmID4gMTsgb2ZmIC89IDIpIHsKLSAgICAgICAgIGFwcl9zdHJmc2l6ZShvZmYsIGJ1Zik7Ci0gICAgICAgICBhcHJfc3RyZnNpemUob2ZmICsgMSwgYnVmKTsKLSAgICAgICAgIGFwcl9zdHJmc2l6ZShvZmYgLSAxLCBidWYpOwotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2Fwci9hcHJfMS42LjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2Fwci9hcHJfMS42LjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdiZmI2OTguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hcHIvYXByXzEuNi4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTE4ICswLDAgQEAKLVNVTU1BUlkgPSAiQXBhY2hlIFBvcnRhYmxlIFJ1bnRpbWUgKEFQUikgbGlicmFyeSIKLUhPTUVQQUdFID0gImh0dHA6Ly9hcHIuYXBhY2hlLm9yZy8iCi1TRUNUSU9OID0gImxpYnMiCi1ERVBFTkRTID0gInV0aWwtbGludXgiCi0KLUxJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTRkZmQ0Y2QyMTY4MjhjOGNhZTVkZTVhMTJmMzg0NGM4IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2luY2x1ZGUvYXByX2xpYi5oO2VuZGxpbmU9MTU7bWQ1PTgyM2IzZDFhNzIyNWRmOGY3YjY4YTY5YzNjMmI0YzcxIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KLVNSQ19VUkkgPSAiJHtBUEFDSEVfTUlSUk9SfS9hcHIvJHtCUE59LSR7UFZ9LnRhci5iejIgXAotICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtYnVpbGQtYnVpbGRjaGVjay5zaC1pbXByb3ZlLWxpYnRvb2wtZGV0ZWN0aW9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItYXByLVJlbW92ZS13b3JrZGlyLXBhdGgtcmVmZXJlbmNlcy1mcm9tLWluc3RhbGxlZC1hcC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAzLU1ha2VmaWxlLmluLWNvbmZpZ3VyZS5pbi1zdXBwb3J0LWNyb3NzLWNvbXBpbGluZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA0LUZpeC1wYWNrZXQtZGlzY2FyZHMtSFRUUC1yZWRpcmVjdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA1LWNvbmZpZ3VyZS5pbi1maXgtTFRGTEFHUy10by1tYWtlLWl0LXdvcmstd2l0aC1jY2FjaGUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNi1hcHItZml4LW9mZl90LXNpemUtZG9lc24tdC1tYXRjaC1pbi1nbGliYy13aGVuLWNyb3NzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDctZXhwbGljaXRseS1saW5rLWxpYmFwci1hZ2FpbnN0LXBodHJlYWQtdG8tbWFrZS1nb2xkLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA4LWFwci1maXgtcHRlc3QtaGFuZy1pbi10ZXN0c3RyLnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjEyZjJhMzQ5NDgzYWQ2ZjEyZGI0OWJhMDFmYmZkYmZhIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjEzMWYwNmQxNmQ3YWFiZDA5N2ZhOTkyYTMzZWVjMmI2YWYzOTYyZjkzZTZkNTcwYTliZDRkODVlOTU5OTMxNzIiCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBsaWJfcGFja2FnZSBiaW5jb25maWcgbXVsdGlsaWJfaGVhZGVyIHB0ZXN0Ci0KLU9FX0JJTkNPTkZJR19FWFRSQV9NQU5HTEUgPSAiIC1lICdzOmxvY2F0aW9uPXNvdXJjZTpsb2NhdGlvbj1pbnN0YWxsZWQ6JyIKLQotIyBBZGRlZCB0byBmaXggc29tZSBpc3N1ZXMgd2l0aCBjbWFrZS4gUmVmZXIgdG8gaHR0cHM6Ly9naXRodWIuY29tL2Jtd2Nhcml0L21ldGEtcm9zL2lzc3Vlcy82OCNpc3N1ZWNvbW1lbnQtMTk4OTY5MjgKLUNBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJhcHJfY3ZfbXV0ZXhfcmVjdXJzaXZlPXllcyIKLQotIyBBbHNvIHN1cHByZXNzIHRyeWluZyB0byB1c2Ugc2N0cC4KLSMKLUNBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJhY19jdl9oZWFkZXJfbmV0aW5ldF9zY3RwX2g9bm8gYWNfY3ZfaGVhZGVyX25ldGluZXRfc2N0cF91aW9faD1ubyIKLQotQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImFjX2N2X3NpemVvZl9zdHJ1Y3RfaW92ZWM9eWVzIgotQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImFjX2N2X2ZpbGVfX2Rldl96ZXJvPXllcyIKLQotIyBPdGhlcndpc2UgbGlidG9vbCBmYWlscyB0byBjb21waWxlIGFwci11dGlscwotIyB4ODZfNjQtbGludXgtbGlidG9vbDogY29tcGlsZTogdW5hYmxlIHRvIGluZmVyIHRhZ2dlZCBjb25maWd1cmF0aW9uCi0jIHg4Nl82NC1saW51eC1saWJ0b29sOiAgIGVycm9yOiBzcGVjaWZ5IGEgdGFnIHdpdGggJy0tdGFnJwotQ0NBQ0hFID0gIiIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0iCi1QQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYsIgotCi1kb19jb25maWd1cmVfcHJlcGVuZCgpIHsKLQkjIEF2b2lkIGFic29sdXRlIHBhdGhzIGZvciBncmVwIHNpbmNlIGl0IGNhdXNlcyBmYWlsdXJlcwotCSMgd2hlbiB1c2luZyBzc3RhdGUgYmV0d2VlbiBkaWZmZXJlbnQgaG9zdHMgd2l0aCBkaWZmZXJlbnQKLQkjIGluc3RhbGwgcGF0aHMgZm9yIGdyZXAuCi0JZXhwb3J0IEdSRVA9ImdyZXAiCi0KLQljZCAke1N9Ci0JbGlidG9vbD0nJHtIT1NUX1NZU30tbGlidG9vbCcgLi9idWlsZGNvbmYKLX0KLQotRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vYXByLmV4cCAke2RhdGFkaXJ9L2J1aWxkLTEvKiIKLVJERVBFTkRTXyR7UE59LWRldiArPSAiYmFzaCIKLQotI2ZvciBzb21lIHJlYXNvbiwgYnVpbGQvbGlidG9vbC5tNCBoYW5kbGVkIGJ5IGJ1aWxkY29uZiBzdGlsbCBiZSBvdmVyd3JpdHRlbgotI3doZW4gYXV0b2NvbmYsIHNvIGhhbmRsZSBpdCBhZ2Fpbi4KLWRvX2NvbmZpZ3VyZV9hcHBlbmQoKSB7Ci0Jc2VkIC1pIC1lICdzL0xJQlRPT0w9XCguKlwpdG9wX2J1aWxkL0xJQlRPT0w9XDFhcHJfYnVpbGQvJyAke1N9L2J1aWxkL2xpYnRvb2wubTQKLQlzZWQgLWkgLWUgJ3MvTElCVE9PTD1cKC4qXCl0b3BfYnVpbGQvTElCVE9PTD1cMWFwcl9idWlsZC8nICR7U30vYnVpbGQvYXByX3J1bGVzLm1rCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotCW9lX211bHRpbGliX2hlYWRlciBhcHIuaAotCWluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vYXByCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLXRhcmdldCgpIHsKLQlzZWQgLWkgLWUgJ3MsJHtERUJVR19QUkVGSVhfTUFQfSwsZycgXAotCSAgICAgICAtZSAncywke1NUQUdJTkdfRElSX0hPU1R9LCxnJyAke0R9JHtkYXRhZGlyfS9idWlsZC0xL2Fwcl9ydWxlcy5tawotCXNlZCAtaSAtZSAncywke1NUQUdJTkdfRElSX0hPU1R9LCxnJyBcCi0JICAgICAgIC1lICdzLEFQUl9TT1VSQ0VfRElSPS4qLEFQUl9TT1VSQ0VfRElSPSxnJyBcCi0JICAgICAgIC1lICdzLEFQUl9CVUlMRF9ESVI9LiosQVBSX0JVSUxEX0RJUj0sZycgJHtEfSR7YmluZGlyfS9hcHItMS1jb25maWcKLX0KLQotU1NUQVRFX1NDQU5fRklMRVMgKz0gImFwcl9ydWxlcy5tayBsaWJ0b29sIgotCi1TWVNST09UX1BSRVBST0NFU1NfRlVOQ1MgKz0gImFwcl9zeXNyb290X3ByZXByb2Nlc3MiCi0KLWFwcl9zeXNyb290X3ByZXByb2Nlc3MgKCkgewotCWQ9JHtTWVNST09UX0RFU1RESVJ9JHtkYXRhZGlyfS9hcHIKLQlpbnN0YWxsIC1kICRkLwotCWNwICR7U30vYnVpbGQvYXByX3J1bGVzLm1rICRkLwotCXNlZCAtaSBzLGFwcl9idWlsZGRpcj0uKixhcHJfYnVpbGRkaXI9LGcgJGQvYXByX3J1bGVzLm1rCi0Jc2VkIC1pIHMsYXByX2J1aWxkZXJzPS4qLGFwcl9idWlsZGVycz0sZyAkZC9hcHJfcnVsZXMubWsKLQlzZWQgLWkgcyxMSUJUT09MPS4qLExJQlRPT0w9JHtIT1NUX1NZU30tbGlidG9vbCxnICRkL2Fwcl9ydWxlcy5tawotCXNlZCAtaSBzLFwkXChhcHJfYnVpbGRlcnNcKSwke1NUQUdJTkdfREFUQURJUn0vYXByLyxnICRkL2Fwcl9ydWxlcy5tawotCWNwICR7U30vYnVpbGQvbWtkaXIuc2ggJGQvCi0JY3AgJHtTfS9idWlsZC9tYWtlX2V4cG9ydHMuYXdrICRkLwotCWNwICR7U30vYnVpbGQvbWFrZV92YXJfZXhwb3J0LmF3ayAkZC8KLQljcCAke1N9LyR7SE9TVF9TWVN9LWxpYnRvb2wgJHtTWVNST09UX0RFU1RESVJ9JHtkYXRhZGlyfS9idWlsZC0xL2xpYnRvb2wKLX0KLQotZG9fY29tcGlsZV9wdGVzdCgpIHsKLQljZCAke1N9L3Rlc3QKLQlvZV9ydW5tYWtlCi19Ci0KLWRvX2luc3RhbGxfcHRlc3QoKSB7Ci0JdD0ke0R9JHtQVEVTVF9QQVRIfS90ZXN0Ci0JbWtkaXIgLXAgJHQvLmxpYnMKLQljcCAtciAke1N9L3Rlc3QvZGF0YSAkdC8KLQljcCAtciAke1N9L3Rlc3QvLmxpYnMvKi5zbyAkdC8ubGlicy8KLQljcCAke1N9L3Rlc3QvcHJvY19jaGlsZCAkdC8KLQljcCAke1N9L3Rlc3QvcmVhZGNoaWxkICR0LwotCWNwICR7U30vdGVzdC9zb2NrY2hpbGQgJHQvCi0JY3AgJHtTfS90ZXN0L3NvY2twZXJmICR0LwotCWNwICR7U30vdGVzdC90ZXN0YWxsICR0LwotCWNwICR7U30vdGVzdC90cnlyZWFkICR0LwotfQotCi1leHBvcnQgQ09ORklHX1NIRUxMPSIvYmluL2Jhc2giCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2Fwci9hcHJfMS42LjUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2Fwci9hcHJfMS42LjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDMyZTRlZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXByL2Fwcl8xLjYuNS5iYgpAQCAtMCwwICsxLDExMiBAQAorU1VNTUFSWSA9ICJBcGFjaGUgUG9ydGFibGUgUnVudGltZSAoQVBSKSBsaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL2Fwci5hcGFjaGUub3JnLyIKK1NFQ1RJT04gPSAibGlicyIKK0RFUEVORFMgPSAidXRpbC1saW51eCIKKworTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NGRmZDRjZDIxNjgyOGM4Y2FlNWRlNWExMmYzODQ0YzggXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vaW5jbHVkZS9hcHJfbGliLmg7ZW5kbGluZT0xNTttZDU9ODIzYjNkMWE3MjI1ZGY4ZjdiNjhhNjljM2MyYjRjNzEiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworU1JDX1VSSSA9ICIke0FQQUNIRV9NSVJST1J9L2Fwci8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1idWlsZC1idWlsZGNoZWNrLnNoLWltcHJvdmUtbGlidG9vbC1kZXRlY3Rpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1hcHItUmVtb3ZlLXdvcmtkaXItcGF0aC1yZWZlcmVuY2VzLWZyb20taW5zdGFsbGVkLWFwLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtTWFrZWZpbGUuaW4tY29uZmlndXJlLmluLXN1cHBvcnQtY3Jvc3MtY29tcGlsaW5nLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDQtRml4LXBhY2tldC1kaXNjYXJkcy1IVFRQLXJlZGlyZWN0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDUtY29uZmlndXJlLmluLWZpeC1MVEZMQUdTLXRvLW1ha2UtaXQtd29yay13aXRoLWNjYWNoZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA2LWFwci1maXgtb2ZmX3Qtc2l6ZS1kb2Vzbi10LW1hdGNoLWluLWdsaWJjLXdoZW4tY3Jvc3MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNy1leHBsaWNpdGx5LWxpbmstbGliYXByLWFnYWluc3QtcGh0cmVhZC10by1tYWtlLWdvbGQtLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYWQ0YWRkOGVmZGZlODczMzBiODhlNWU3ODgyNDE3NzUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTY3Y2E5ZmNmOWM0ZmY1OWJjZTdmNDI4YTMyM2M4YjVlMTg2NjdmZGVhN2IwZWJhZDQ3ZDE5NDM3MWIwYTEwNSIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIGxpYl9wYWNrYWdlIGJpbmNvbmZpZyBtdWx0aWxpYl9oZWFkZXIgcHRlc3QKKworT0VfQklOQ09ORklHX0VYVFJBX01BTkdMRSA9ICIgLWUgJ3M6bG9jYXRpb249c291cmNlOmxvY2F0aW9uPWluc3RhbGxlZDonIgorCisjIEFkZGVkIHRvIGZpeCBzb21lIGlzc3VlcyB3aXRoIGNtYWtlLiBSZWZlciB0byBodHRwczovL2dpdGh1Yi5jb20vYm13Y2FyaXQvbWV0YS1yb3MvaXNzdWVzLzY4I2lzc3VlY29tbWVudC0xOTg5NjkyOAorQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImFwcl9jdl9tdXRleF9yZWN1cnNpdmU9eWVzIgorCisjIEFsc28gc3VwcHJlc3MgdHJ5aW5nIHRvIHVzZSBzY3RwLgorIworQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImFjX2N2X2hlYWRlcl9uZXRpbmV0X3NjdHBfaD1ubyBhY19jdl9oZWFkZXJfbmV0aW5ldF9zY3RwX3Vpb19oPW5vIgorCitDQUNIRURfQ09ORklHVVJFVkFSUyArPSAiYWNfY3Zfc2l6ZW9mX3N0cnVjdF9pb3ZlYz15ZXMiCitDQUNIRURfQ09ORklHVVJFVkFSUyArPSAiYWNfY3ZfZmlsZV9fZGV2X3plcm89eWVzIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsIGQpfSIKK1BBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiwiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworCSMgQXZvaWQgYWJzb2x1dGUgcGF0aHMgZm9yIGdyZXAgc2luY2UgaXQgY2F1c2VzIGZhaWx1cmVzCisJIyB3aGVuIHVzaW5nIHNzdGF0ZSBiZXR3ZWVuIGRpZmZlcmVudCBob3N0cyB3aXRoIGRpZmZlcmVudAorCSMgaW5zdGFsbCBwYXRocyBmb3IgZ3JlcC4KKwlleHBvcnQgR1JFUD0iZ3JlcCIKKworCWNkICR7U30KKwlsaWJ0b29sPScke0hPU1RfU1lTfS1saWJ0b29sJyAuL2J1aWxkY29uZgorfQorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9hcHIuZXhwICR7ZGF0YWRpcn0vYnVpbGQtMS8qIgorUkRFUEVORFNfJHtQTn0tZGV2ICs9ICJiYXNoIgorCisjZm9yIHNvbWUgcmVhc29uLCBidWlsZC9saWJ0b29sLm00IGhhbmRsZWQgYnkgYnVpbGRjb25mIHN0aWxsIGJlIG92ZXJ3cml0dGVuCisjd2hlbiBhdXRvY29uZiwgc28gaGFuZGxlIGl0IGFnYWluLgorZG9fY29uZmlndXJlX2FwcGVuZCgpIHsKKwlzZWQgLWkgLWUgJ3MvTElCVE9PTD1cKC4qXCl0b3BfYnVpbGQvTElCVE9PTD1cMWFwcl9idWlsZC8nICR7U30vYnVpbGQvbGlidG9vbC5tNAorCXNlZCAtaSAtZSAncy9MSUJUT09MPVwoLipcKXRvcF9idWlsZC9MSUJUT09MPVwxYXByX2J1aWxkLycgJHtTfS9idWlsZC9hcHJfcnVsZXMubWsKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisJb2VfbXVsdGlsaWJfaGVhZGVyIGFwci5oCisJaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9hcHIKK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgeworCXNlZCAtaSAtZSAncywke0RFQlVHX1BSRUZJWF9NQVB9LCxnJyBcCisJICAgICAgIC1lICdzLCR7U1RBR0lOR19ESVJfSE9TVH0sLGcnICR7RH0ke2RhdGFkaXJ9L2J1aWxkLTEvYXByX3J1bGVzLm1rCisJc2VkIC1pIC1lICdzLCR7U1RBR0lOR19ESVJfSE9TVH0sLGcnIFwKKwkgICAgICAgLWUgJ3MsQVBSX1NPVVJDRV9ESVI9LiosQVBSX1NPVVJDRV9ESVI9LGcnIFwKKwkgICAgICAgLWUgJ3MsQVBSX0JVSUxEX0RJUj0uKixBUFJfQlVJTERfRElSPSxnJyAke0R9JHtiaW5kaXJ9L2Fwci0xLWNvbmZpZworfQorCitTU1RBVEVfU0NBTl9GSUxFUyArPSAiYXByX3J1bGVzLm1rIGxpYnRvb2wiCisKK1NZU1JPT1RfUFJFUFJPQ0VTU19GVU5DUyArPSAiYXByX3N5c3Jvb3RfcHJlcHJvY2VzcyIKKworYXByX3N5c3Jvb3RfcHJlcHJvY2VzcyAoKSB7CisJZD0ke1NZU1JPT1RfREVTVERJUn0ke2RhdGFkaXJ9L2FwcgorCWluc3RhbGwgLWQgJGQvCisJY3AgJHtTfS9idWlsZC9hcHJfcnVsZXMubWsgJGQvCisJc2VkIC1pIHMsYXByX2J1aWxkZGlyPS4qLGFwcl9idWlsZGRpcj0sZyAkZC9hcHJfcnVsZXMubWsKKwlzZWQgLWkgcyxhcHJfYnVpbGRlcnM9LiosYXByX2J1aWxkZXJzPSxnICRkL2Fwcl9ydWxlcy5taworCXNlZCAtaSBzLExJQlRPT0w9LiosTElCVE9PTD0ke0hPU1RfU1lTfS1saWJ0b29sLGcgJGQvYXByX3J1bGVzLm1rCisJc2VkIC1pIHMsXCRcKGFwcl9idWlsZGVyc1wpLCR7U1RBR0lOR19EQVRBRElSfS9hcHIvLGcgJGQvYXByX3J1bGVzLm1rCisJY3AgJHtTfS9idWlsZC9ta2Rpci5zaCAkZC8KKwljcCAke1N9L2J1aWxkL21ha2VfZXhwb3J0cy5hd2sgJGQvCisJY3AgJHtTfS9idWlsZC9tYWtlX3Zhcl9leHBvcnQuYXdrICRkLworCWNwICR7U30vJHtIT1NUX1NZU30tbGlidG9vbCAke1NZU1JPT1RfREVTVERJUn0ke2RhdGFkaXJ9L2J1aWxkLTEvbGlidG9vbAorfQorCitkb19jb21waWxlX3B0ZXN0KCkgeworCWNkICR7U30vdGVzdAorCW9lX3J1bm1ha2UKK30KKworZG9faW5zdGFsbF9wdGVzdCgpIHsKKwl0PSR7RH0ke1BURVNUX1BBVEh9L3Rlc3QKKwlta2RpciAtcCAkdC8ubGlicworCWNwIC1yICR7U30vdGVzdC9kYXRhICR0LworCWNwIC1yICR7U30vdGVzdC8ubGlicy8qLnNvICR0Ly5saWJzLworCWNwICR7U30vdGVzdC9wcm9jX2NoaWxkICR0LworCWNwICR7U30vdGVzdC9yZWFkY2hpbGQgJHQvCisJY3AgJHtTfS90ZXN0L3NvY2tjaGlsZCAkdC8KKwljcCAke1N9L3Rlc3Qvc29ja3BlcmYgJHQvCisJY3AgJHtTfS90ZXN0L3Rlc3RhbGwgJHQvCisJY3AgJHtTfS90ZXN0L3RyeXJlYWQgJHQvCit9CisKK2V4cG9ydCBDT05GSUdfU0hFTEw9Ii9iaW4vYmFzaCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXRrL2F0LXNwaTItYXRrXzIuMjYuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXRrL2F0LXNwaTItYXRrXzIuMjYuMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTZkOGU0NS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2F0ay9hdC1zcGkyLWF0a18yLjI2LjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi1TVU1NQVJZID0gIkFULVNQSSAyIFRvb2xraXQgQnJpZGdlIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly93aWtpLmxpbnV4Zm91bmRhdGlvbi5vcmcvYWNjZXNzaWJpbGl0eS9kLWJ1cyIKLUxJQ0VOU0UgPSAiTEdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTlmMjg4YmE5ODJkNjA1MThmMzc1YjU4OTgyODM4ODYiCi0KLVNSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjM1NWM3OTE2YTY5NTEzNDkwY2I4M2FkMzQwMTZiMTY5IgotU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiNjE4OTFmMGFiYWUxNjg5ZjY2MTdhOTYzMTA1YTNmMWRjZGFiNTk3MGM0YTM2ZGVkOWM3OWE3YTU0NGIxNmE2ZSIKLQotREVQRU5EUyA9ICJkYnVzIGdsaWItMi4wIGdsaWItMi4wLW5hdGl2ZSBhdGsgYXQtc3BpMi1jb3JlIGxpYnhtbDIiCi0KLUdOT01FQkFTRUJVSUxEQ0xBU1MgPSAibWVzb24iCi1pbmhlcml0IGdub21lYmFzZSBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuCi0KLSMgVGhlIGF0LXNwaTItY29yZSByZXF1aXJlcyB4MTEgaW4gRElTVFJPX0ZFQVRVUkVTCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgotCi1QQUNLQUdFUyA9KyAiJHtQTn0tZ25vbWUgJHtQTn0tZ3RrMiIKLQotRklMRVNfJHtQTn0tZ25vbWUgPSAiJHtsaWJkaXJ9L2dub21lLXNldHRpbmdzLWRhZW1vbi0zLjAvZ3RrLW1vZHVsZXMiCi1GSUxFU18ke1BOfS1ndGsyID0gIiR7bGliZGlyfS9ndGstMi4wL21vZHVsZXMvbGliYXRrLWJyaWRnZS4qIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hdGsvYXQtc3BpMi1hdGtfMi4zMC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hdGsvYXQtc3BpMi1hdGtfMi4zMC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyNDQ3OTcKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2F0ay9hdC1zcGkyLWF0a18yLjMwLjAuYmIKQEAgLTAsMCArMSwyMiBAQAorU1VNTUFSWSA9ICJBVC1TUEkgMiBUb29sa2l0IEJyaWRnZSIKK0hPTUVQQUdFID0gImh0dHBzOi8vd2lraS5saW51eGZvdW5kYXRpb24ub3JnL2FjY2Vzc2liaWxpdHkvZC1idXMiCitMSUNFTlNFID0gIkxHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWU5ZjI4OGJhOTgyZDYwNTE4ZjM3NWI1ODk4MjgzODg2IgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICIxYWQ3NTRiOTBiY2IxNDI0NGI3M2NhNGQwYzE0ZDI3NCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImUyZTE1NzEwMDRlYTdiMTA1Yzk2OTQ3M2NlNDU1YTk1YmU0MDM4ZmIyNTQxNDcxNzE0YWViMzNhMjZkYThhOWEiCisKK0RFUEVORFMgPSAiZGJ1cyBnbGliLTIuMCBnbGliLTIuMC1uYXRpdmUgYXRrIGF0LXNwaTItY29yZSBsaWJ4bWwyIgorCitHTk9NRUJBU0VCVUlMRENMQVNTID0gIm1lc29uIgoraW5oZXJpdCBnbm9tZWJhc2UgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbgorCisjIFRoZSBhdC1zcGkyLWNvcmUgcmVxdWlyZXMgeDExIGluIERJU1RST19GRUFUVVJFUworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworUEFDS0FHRVMgPSsgIiR7UE59LWdub21lICR7UE59LWd0azIiCisKK0ZJTEVTXyR7UE59LWdub21lID0gIiR7bGliZGlyfS9nbm9tZS1zZXR0aW5ncy1kYWVtb24tMy4wL2d0ay1tb2R1bGVzIgorRklMRVNfJHtQTn0tZ3RrMiA9ICIke2xpYmRpcn0vZ3RrLTIuMC9tb2R1bGVzL2xpYmF0ay1icmlkZ2UuKiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hdGsvYXQtc3BpMi1jb3JlXzIuMjguMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXRrL2F0LXNwaTItY29yZV8yLjI4LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc5NzVmNTguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hdGsvYXQtc3BpMi1jb3JlXzIuMjguMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLVNVTU1BUlkgPSAiQXNzaXN0aXZlIFRlY2hub2xvZ3kgU2VydmljZSBQcm92aWRlciBJbnRlcmZhY2UgKGRidXMgY29yZSkiCi1IT01FUEFHRSA9ICJodHRwczovL3dpa2kubGludXhmb3VuZGF0aW9uLm9yZy9hY2Nlc3NpYmlsaXR5L2QtYnVzIgotTElDRU5TRSA9ICJMR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lOWYyODhiYTk4MmQ2MDUxOGYzNzViNTg5ODI4Mzg4NiIKLQotTUFKX1ZFUiA9ICIke0BvZS51dGlscy50cmltX3ZlcnNpb24oIiR7UFZ9IiwgMil9IgotCi1TUkNfVVJJID0gIiR7R05PTUVfTUlSUk9SfS8ke0JQTn0vJHtNQUpfVkVSfS8ke0JQTn0tJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiOWM0MmY3OTYzNmVkMWMwZTkwOGI3NDgzZDc4OWIzMmUiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDJhMjQ4N2FiMTFjZTQzYzI4OGU3M2IyNjY4ZWY4YjFhYjQwYTBlMmI0Zjk0ZTgwZmNhMDRhZDI3YjZmMWM4NyIKLQotREVQRU5EUyA9ICJkYnVzIGdsaWItMi4wIHZpcnR1YWwvbGlieDExIGxpYnhpIGxpYnh0c3QiCi0KLWluaGVyaXQgbWVzb24gZ3RrLWRvYyBnZXR0ZXh0IHN5c3RlbWQgcGtnY29uZmlnIGRpc3Ryb19mZWF0dXJlc19jaGVjayB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4gZ29iamVjdC1pbnRyb3NwZWN0aW9uCi0jIGRlcGVuZHMgb24gdmlydHVhbC9saWJ4MTEKLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi0KLUVYVFJBX09FTUVTT04gPSAiIC1Ec3lzdGVtZF91c2VyX2Rpcj0ke3N5c3RlbWRfdXNlcl91bml0ZGlyfSBcCi0gICAgICAgICAgICAgICAgICAtRGRidXNfZGFlbW9uPSR7YmluZGlyfSIKLQotR1RLRE9DX0VOQUJMRV9GTEFHID0gIi1EZW5hYmxlX2RvY3M9dHJ1ZSIKLUdUS0RPQ19ESVNBQkxFX0ZMQUcgPSAiLURlbmFibGVfZG9jcz1mYWxzZSIKLQotR0lfRU5BQkxFX0ZMQUcgPSAiLURlbmFibGUtaW50cm9zcGVjdGlvbj15ZXMiCi1HSV9ESVNBQkxFX0ZMQUcgPSAiLURlbmFibGUtaW50cm9zcGVjdGlvbj1ubyIKLQotRVhUUkFfT0VNRVNPTl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygnR0lfREFUQV9FTkFCTEVEJywgJ1RydWUnLCAnJHtHSV9FTkFCTEVfRkxBR30nLCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtHSV9ESVNBQkxFX0ZMQUd9JywgZCl9ICIKLQotRVhUUkFfT0VNRVNPTl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygnR1RLRE9DX0VOQUJMRUQnLCAnVHJ1ZScsICcke0dUS0RPQ19FTkFCTEVfRkxBR30nLCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7R1RLRE9DX0RJU0FCTEVfRkxBR30nLCBkKX0gIgotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9kYnVzLTEvc2VydmljZXMvKi5zZXJ2aWNlIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9hY2Nlc3NpYmlsaXR5LXNlcnZpY2VzLyouc2VydmljZSBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kZWZhdWx0cy9hdC1zcGkyIFwKLSAgICAgICAgICAgICAgICAke3N5c3RlbWRfdXNlcl91bml0ZGlyfS9hdC1zcGktZGJ1cy1idXMuc2VydmljZcKgXAotICAgICAgICAgICAgICAgICIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXRrL2F0LXNwaTItY29yZV8yLjMwLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2F0ay9hdC1zcGkyLWNvcmVfMi4zMC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwYjU2N2EKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2F0ay9hdC1zcGkyLWNvcmVfMi4zMC4wLmJiCkBAIC0wLDAgKzEsNDEgQEAKK1NVTU1BUlkgPSAiQXNzaXN0aXZlIFRlY2hub2xvZ3kgU2VydmljZSBQcm92aWRlciBJbnRlcmZhY2UgKGRidXMgY29yZSkiCitIT01FUEFHRSA9ICJodHRwczovL3dpa2kubGludXhmb3VuZGF0aW9uLm9yZy9hY2Nlc3NpYmlsaXR5L2QtYnVzIgorTElDRU5TRSA9ICJMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lOWYyODhiYTk4MmQ2MDUxOGYzNzViNTg5ODI4Mzg4NiIKKworTUFKX1ZFUiA9ICIke0BvZS51dGlscy50cmltX3ZlcnNpb24oIiR7UFZ9IiwgMil9IgorCitTUkNfVVJJID0gIiR7R05PTUVfTUlSUk9SfS8ke0JQTn0vJHtNQUpfVkVSfS8ke0JQTn0tJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZDRmMjJjNjZiMzIxMGZmZTZiMTBkMDFjMDRlMDA4YjUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDE3NWY1MzkzZDE5ZGE1MWY0YzExNDYyY2JhNGJhNmVmM2ZhMDQyYWJmMTYxMWE3MGJkZmVkNTg2YjdiZmIyYiIKKworWDExREVQRU5EUyA9ICJ2aXJ0dWFsL2xpYngxMSBsaWJ4aSBsaWJ4dHN0IgorCitERVBFTkRTID0gImRidXMgZ2xpYi0yLjAiCitERVBFTkRTICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICcke1gxMURFUEVORFN9JywgJycsIGQpfSIKKworaW5oZXJpdCBtZXNvbiBndGstZG9jIGdldHRleHQgc3lzdGVtZCBwa2djb25maWcgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuIGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitFWFRSQV9PRU1FU09OID0gIiAtRHN5c3RlbWRfdXNlcl9kaXI9JHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0gXAorICAgICAgICAgICAgICAgICAgLURkYnVzX2RhZW1vbj0ke2JpbmRpcn0vZGJ1cy1kYWVtb24iCisKK0dUS0RPQ19FTkFCTEVfRkxBRyA9ICItRGVuYWJsZV9kb2NzPXRydWUiCitHVEtET0NfRElTQUJMRV9GTEFHID0gIi1EZW5hYmxlX2RvY3M9ZmFsc2UiCisKK0dJX0VOQUJMRV9GTEFHID0gIi1EZW5hYmxlLWludHJvc3BlY3Rpb249eWVzIgorR0lfRElTQUJMRV9GTEFHID0gIi1EZW5hYmxlLWludHJvc3BlY3Rpb249bm8iCisKK0VYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0dJX0RBVEFfRU5BQkxFRCcsICdUcnVlJywgJyR7R0lfRU5BQkxFX0ZMQUd9JywgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7R0lfRElTQUJMRV9GTEFHfScsIGQpfSAiCisKK0VYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0dUS0RPQ19FTkFCTEVEJywgJ1RydWUnLCAnJHtHVEtET0NfRU5BQkxFX0ZMQUd9JywgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcke0dUS0RPQ19ESVNBQkxFX0ZMQUd9JywgZCl9ICIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZGJ1cy0xL3NlcnZpY2VzLyouc2VydmljZSBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvYWNjZXNzaWJpbGl0eS1zZXJ2aWNlcy8qLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGVmYXVsdHMvYXQtc3BpMiBcCisgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0vYXQtc3BpLWRidXMtYnVzLnNlcnZpY2XCoFwKKyAgICAgICAgICAgICAgICAiCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2F0ay9hdGsvMDAwMS1tZXNvbi5idWlsZC1lbmFibGUtaW50cm9zcGVjdGlvbi1mb3ItY3Jvc3MtY29tcGlsZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXRrL2F0ay8wMDAxLW1lc29uLmJ1aWxkLWVuYWJsZS1pbnRyb3NwZWN0aW9uLWZvci1jcm9zcy1jb21waWxlLnBhdGNoCmluZGV4IGM2MDRhOTguLjFkODE0Y2MgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXRrL2F0ay8wMDAxLW1lc29uLmJ1aWxkLWVuYWJsZS1pbnRyb3NwZWN0aW9uLWZvci1jcm9zcy1jb21waWxlLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXRrL2F0ay8wMDAxLW1lc29uLmJ1aWxkLWVuYWJsZS1pbnRyb3NwZWN0aW9uLWZvci1jcm9zcy1jb21waWxlLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAzODM4NzU3ZDI5NTkwY2MxZWY5OWM5N2Y3MjY4Mzc3MzIyZmMxN2U5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBjM2ViNWIyZTc0YzM4YmI4Mzc0YmMwMjdmODRlNDJkN2U5NGY2MmY4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4KIERhdGU6IEZyaSwgNiBBcHIgMjAxOCAxMjowNDowMCArMDgwMAogU3ViamVjdDogW1BBVENIXSBtZXNvbi5idWlsZDogZW5hYmxlIGludHJvc3BlY3Rpb24gZm9yIGNyb3NzLWNvbXBpbGUKQEAgLTE0LDE1ICsxNCwxNSBAQAogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvYXRrL21lc29uLmJ1aWxkIGIvYXRrL21lc29uLmJ1aWxkCi1pbmRleCA3YjVhNjgzLi44NTVlMjhmIDEwMDY0NAoraW5kZXggNjE2YTNlNi4uOTQxZGVkOCAxMDA2NDQKIC0tLSBhL2F0ay9tZXNvbi5idWlsZAogKysrIGIvYXRrL21lc29uLmJ1aWxkCi1AQCAtMTM5LDcgKzEzOSw3IEBAIGxpYmF0a19kZXAgPSBkZWNsYXJlX2RlcGVuZGVuY3kobGlua193aXRoOiBsaWJhdGssCitAQCAtMTM3LDcgKzEzNyw3IEBAIGxpYmF0a19kZXAgPSBkZWNsYXJlX2RlcGVuZGVuY3kobGlua193aXRoOiBsaWJhdGssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXM6IGdvYmplY3RfZGVwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlczogYXRrX2VudW1faCkKICAKLSBkaXNhYmxlX2ludHJvc3BlY3Rpb24gPSBnZXRfb3B0aW9uKCdkaXNhYmxlX2ludHJvc3BlY3Rpb24nKQotIAotLWlmIG5vdCBtZXNvbi5pc19jcm9zc19idWlsZCgpIGFuZCBub3QgZGlzYWJsZV9pbnRyb3NwZWN0aW9uCi0raWYgbm90IGRpc2FibGVfaW50cm9zcGVjdGlvbgorLWlmIG5vdCBtZXNvbi5pc19jcm9zc19idWlsZCgpIGFuZCBnZXRfb3B0aW9uKCdpbnRyb3NwZWN0aW9uJykKKytpZiBnZXRfb3B0aW9uKCdpbnRyb3NwZWN0aW9uJykKICAgIGdub21lLmdlbmVyYXRlX2dpcihsaWJhdGssCiAgICAgICAgICAgICAgICAgICAgICAgc291cmNlczogYXRrX3NvdXJjZXMgKyBhdGtfaGVhZGVycyArIFsgYXRrX2VudW1faCBdICsgWyBhdGtfdmVyc2lvbl9oIF0sCiAgICAgICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlOiAnQXRrJywKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXRrL2F0a18yLjI4LjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2F0ay9hdGtfMi4yOC4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNmIxM2I2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXRrL2F0a18yLjI4LjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi1TVU1NQVJZID0gIkFjY2Vzc2liaWxpdHkgdG9vbGtpdCBmb3IgR05PTUUiCi1IT01FUEFHRSA9ICJodHRwOi8vbGl2ZS5nbm9tZS5vcmcvR0FQLyIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvIgotU0VDVElPTiA9ICJ4MTEvbGlicyIKLQotTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9M2JmNTAwMDJhZWZkMDAyZjQ5ZTdiYjg1NDA2M2Y3ZTcgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vYXRrL2F0a3V0aWwuYztlbmRsaW5lPTE4O21kNT02ZmQzMWNkMmZkYzliMzBmNjE5Y2E4ZDgxOWJjMTJkMyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9hdGsvYXRrLmg7ZW5kbGluZT0xODttZDU9ZmNkNzcxMDE4N2UwZWFlNDg1ZTM1NmMzMGQxYjBjM2IiCi0KLSMgTmVlZCBnZXR0ZXh0LW5hdGl2ZSBhcyBNZXNvbiBjYW4ndCB0dXJuIG9mZiBpMThuCi1ERVBFTkRTID0gImdldHRleHQtbmF0aXZlIGdsaWItMi4wIgotCi1HTk9NRUJBU0VCVUlMRENMQVNTID0gIm1lc29uIgotaW5oZXJpdCBnbm9tZWJhc2UgZ3RrLWRvYyBnZXR0ZXh0IHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbiBnb2JqZWN0LWludHJvc3BlY3Rpb24KLQotR1RLRE9DX0VOQUJMRV9GTEFHID0gIi1EZW5hYmxlX2RvY3M9dHJ1ZSIKLUdUS0RPQ19ESVNBQkxFX0ZMQUcgPSAiLURlbmFibGVfZG9jcz1mYWxzZSIKLQotR0lfRU5BQkxFX0ZMQUcgPSAiLURkaXNhYmxlX2ludHJvc3BlY3Rpb249ZmFsc2UiCi1HSV9ESVNBQkxFX0ZMQUcgPSAiLURkaXNhYmxlX2ludHJvc3BlY3Rpb249dHJ1ZSIKLQotRVhUUkFfT0VNRVNPTl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygnR0lfREFUQV9FTkFCTEVEJywgJ1RydWUnLCAnJHtHSV9FTkFCTEVfRkxBR30nLCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtHSV9ESVNBQkxFX0ZMQUd9JywgZCl9ICIKLQotRVhUUkFfT0VNRVNPTl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygnR1RLRE9DX0VOQUJMRUQnLCAnVHJ1ZScsICcke0dUS0RPQ19FTkFCTEVfRkxBR30nLCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7R1RLRE9DX0RJU0FCTEVfRkxBR30nLCBkKX0gIgotCi1TUkNfVVJJX2FwcGVuZCA9ICIgXAotICAgICAgICAgICAgICAgICAgIGZpbGU6Ly8wMDAxLW1lc29uLmJ1aWxkLWVuYWJsZS1pbnRyb3NwZWN0aW9uLWZvci1jcm9zcy1jb21waWxlLnBhdGNoIFwKLSAgICAgICAgICAgICAgICAgICBmaWxlOi8vMDAwMS1Td2l0Y2gtZnJvbS1maWxlbmFtZS10by1iYXNlbmFtZS5wYXRjaCBcCi0gICAgICAgICAgICAgICAgICAgIgotU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiZGZiNWU3NDc0MjIwYWZhM2Y0Y2E3ZTQ1YWY5ZjNhMTEiCi1TUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJjZDNhMWVhNmVjYzI2OGEyNDk3ZjBjZDAxOGU5NzA4NjBkZTI0YTZkNDIwODY5MTlkNmJmNmM4ZThkNTNmNGZjIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hdGsvYXRrXzIuMzAuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXRrL2F0a18yLjMwLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGUyZGFjYgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXRrL2F0a18yLjMwLjAuYmIKQEAgLTAsMCArMSwzOSBAQAorU1VNTUFSWSA9ICJBY2Nlc3NpYmlsaXR5IHRvb2xraXQgZm9yIEdOT01FIgorSE9NRVBBR0UgPSAiaHR0cDovL2xpdmUuZ25vbWUub3JnL0dBUC8iCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLyIKK1NFQ1RJT04gPSAieDExL2xpYnMiCisKK0xJQ0VOU0UgPSAiR1BMdjIrICYgTEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTNiZjUwMDAyYWVmZDAwMmY0OWU3YmI4NTQwNjNmN2U3IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2F0ay9hdGt1dGlsLmM7ZW5kbGluZT0xODttZDU9NmZkMzFjZDJmZGM5YjMwZjYxOWNhOGQ4MTliYzEyZDMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vYXRrL2F0ay5oO2VuZGxpbmU9MTg7bWQ1PWZjZDc3MTAxODdlMGVhZTQ4NWUzNTZjMzBkMWIwYzNiIgorCisjIE5lZWQgZ2V0dGV4dC1uYXRpdmUgYXMgTWVzb24gY2FuJ3QgdHVybiBvZmYgaTE4bgorREVQRU5EUyA9ICJnZXR0ZXh0LW5hdGl2ZSBnbGliLTIuMCIKKworR05PTUVCQVNFQlVJTERDTEFTUyA9ICJtZXNvbiIKK2luaGVyaXQgZ25vbWViYXNlIGd0ay1kb2MgZ2V0dGV4dCB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4gZ29iamVjdC1pbnRyb3NwZWN0aW9uCisKK0dUS0RPQ19FTkFCTEVfRkxBRyA9ICItRGRvY3M9dHJ1ZSIKK0dUS0RPQ19ESVNBQkxFX0ZMQUcgPSAiLURkb2NzPWZhbHNlIgorCitHSV9FTkFCTEVfRkxBRyA9ICItRGludHJvc3BlY3Rpb249dHJ1ZSIKK0dJX0RJU0FCTEVfRkxBRyA9ICItRGludHJvc3BlY3Rpb249ZmFsc2UiCisKK0VYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgJHtHSV9ESVNBQkxFX0ZMQUd9IgorCitFWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHSV9EQVRBX0VOQUJMRUQnLCAnVHJ1ZScsICcke0dJX0VOQUJMRV9GTEFHfScsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcke0dJX0RJU0FCTEVfRkxBR30nLCBkKX0gIgorCitFWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHVEtET0NfRU5BQkxFRCcsICdUcnVlJywgJyR7R1RLRE9DX0VOQUJMRV9GTEFHfScsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtHVEtET0NfRElTQUJMRV9GTEFHfScsIGQpfSAiCisKK1NSQ19VUklfYXBwZW5kID0gIiBcCisgICAgICAgICAgICAgICAgICAgZmlsZTovLzAwMDEtbWVzb24uYnVpbGQtZW5hYmxlLWludHJvc3BlY3Rpb24tZm9yLWNyb3NzLWNvbXBpbGUucGF0Y2ggXAorICAgICAgICAgICAgICAgICAgIGZpbGU6Ly8wMDAxLVN3aXRjaC1mcm9tLWZpbGVuYW1lLXRvLWJhc2VuYW1lLnBhdGNoIFwKKyAgICAgICAgICAgICAgICAgICAiCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI3NjljODUwMDVkMzkyYWQxN2ZmYmMwNjNmMmQyNjQ1NCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImRkNGQ5MGQ0MjE3ZjJhMGMxZmVlNzA4YTU1NTU5NmMyYzE5ZDI2ZmVmMDk1MmUxZWFkMTkzOGFiNjMyYzAyN2IiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hdHRyL2FjbF8yLjIuNTIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2F0dHIvYWNsXzIuMi41Mi5iYgppbmRleCA4Yjg5ZGU5Li42YmM3N2Q4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2F0dHIvYWNsXzIuMi41Mi5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2F0dHIvYWNsXzIuMi41Mi5iYgpAQCAtMzksMTUgKzM5LDEyIEBACiAKIGluaGVyaXQgcHRlc3QKIAorUFRFU1RfQlVJTERfSE9TVF9GSUxFUyA9ICJidWlsZGRlZnMiCitQVEVTVF9CVUlMRF9IT1NUX1BBVFRFUk4gPSAiXlJQTSIKIGRvX2luc3RhbGxfcHRlc3QoKSB7CiAJdGFyIC1jIC0tZXhjbHVkZT1uZnMgdGVzdC8gfCAoIGNkICR7RH0ke1BURVNUX1BBVEh9ICYmIHRhciAteGYgLSApCi0JbWtkaXIgJHtEfSR7UFRFU1RfUEFUSH0vaW5jbHVkZQotCWNwICR7U30vaW5jbHVkZS9idWlsZGRlZnMgJHtTfS9pbmNsdWRlL2J1aWxkbWFjcm9zICR7U30vaW5jbHVkZS9idWlsZHJ1bGVzICR7RH0ke1BURVNUX1BBVEh9L2luY2x1ZGUvCi0JIyBSZW1vdmUgYW55IGJ1aWxkIGhvc3QgcmVmZXJlbmNlcwotCXNlZCAtZSAiczotLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9UQVJHRVR9OjpnIiBcCi0JICAgIC1lICdzOiR7SE9TVFRPT0xTX0RJUn0vOjpnJyBcCi0JICAgIC1lICdzOiR7UkVDSVBFX1NZU1JPT1RfTkFUSVZFfTo6ZycgXAotCSAgICAtaSAke0R9JHtQVEVTVF9QQVRIfS9pbmNsdWRlL2J1aWxkZGVmcworCWluc3RhbGwgLWQgJHtEfSR7UFRFU1RfUEFUSH0vaW5jbHVkZQorCWluc3RhbGwgLW0gNjQ0ICR7U30vaW5jbHVkZS9idWlsZGRlZnMgJHtTfS9pbmNsdWRlL2J1aWxkbWFjcm9zICR7U30vaW5jbHVkZS9idWlsZHJ1bGVzICR7RH0ke1BURVNUX1BBVEh9L2luY2x1ZGUvCiB9CiAKIFJERVBFTkRTXyR7UE59LXB0ZXN0ID0gImFjbCBiYXNoIGNvcmV1dGlscyBwZXJsIHBlcmwtbW9kdWxlLWZpbGVoYW5kbGUgcGVybC1tb2R1bGUtZ2V0b3B0LXN0ZCBwZXJsLW1vZHVsZS1wb3NpeCBzaGFkb3ciCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2F0dHIvYXR0ci5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2F0dHIvYXR0ci5pbmMKaW5kZXggOWZjMGYzMy4uY2ZhMzhhNyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hdHRyL2F0dHIuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXR0ci9hdHRyLmluYwpAQCAtMjksNiArMjksOSBAQAogQUxURVJOQVRJVkVfJHtQTn0gPSAic2V0ZmF0dHIiCiBBTFRFUk5BVElWRV9UQVJHRVRbc2V0ZmF0dHJdID0gIiR7YmluZGlyfS9zZXRmYXR0ciIKIAorUFRFU1RfQlVJTERfSE9TVF9GSUxFUyA9ICJidWlsZGRlZnMiCitQVEVTVF9CVUlMRF9IT1NUX1BBVFRFUk4gPSAiXlJQTSIKKwogZG9faW5zdGFsbF9wdGVzdCgpIHsKIAl0YXIgLWMgLS1leGNsdWRlPWV4dCB0ZXN0LyB8ICggY2QgJHtEfSR7UFRFU1RfUEFUSH0gJiYgdGFyIC14ZiAtICkKIAlta2RpciAke0R9JHtQVEVTVF9QQVRIfS9pbmNsdWRlCkBAIC0zNiwxMiArMzksNiBAQAogCSAgZG8gY3AgJHtTfS9pbmNsdWRlLyRpICR7RH0ke1BURVNUX1BBVEh9L2luY2x1ZGUvOyBcCiAJZG9uZQogCXNlZCAtZSAnc3w7IEBlY2hvfDsgZWNob3wnIC1pICR7RH0ke1BURVNUX1BBVEh9L3Rlc3QvTWFrZWZpbGUKLSAgICAKLQkjIFJlbW92ZSBhbnkgYnVpbGQgaG9zdCByZWZlcmVuY2VzCi0Jc2VkIC1lICJzOi0tc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH06OmciIFwKLQkgICAgLWUgJ3M6JHtIT1NUVE9PTFNfRElSfS86OmcnIFwKLQkgICAgLWUgJ3M6JHtSRUNJUEVfU1lTUk9PVF9OQVRJVkV9OjpnJyBcCi0JICAgIC1pICR7RH0ke1BURVNUX1BBVEh9L2luY2x1ZGUvYnVpbGRkZWZzCiB9CiAKIFJERVBFTkRTXyR7UE59LXB0ZXN0ID0gImF0dHIgY29yZXV0aWxzIHBlcmwtbW9kdWxlLWZpbGVoYW5kbGUgcGVybC1tb2R1bGUtZ2V0b3B0LXN0ZCBwZXJsLW1vZHVsZS1wb3NpeCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYm1hcC10b29scy9ibWFwLXRvb2xzXzMuNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYm1hcC10b29scy9ibWFwLXRvb2xzXzMuNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmFhZTlhMy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2JtYXAtdG9vbHMvYm1hcC10b29sc18zLjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1TVU1NQVJZID0gIlRvb2xzIHRvIGdlbmVyYXRlIGJsb2NrIG1hcCAoQUtBIGJtYXApIGFuZCBmbGFzaCBpbWFnZXMgdXNpbmcgYm1hcCIKLURFU0NSSVBUSU9OID0gIkJtYXAtdG9vbHMgLSB0b29scyB0byBnZW5lcmF0ZSBibG9jayBtYXAgKEFLQSBibWFwKSBhbmQgZmxhc2ggaW1hZ2VzIHVzaW5nIFwKLWJtYXAuIEJtYXB0b29sIGlzIGEgZ2VuZXJpYyB0b29sIGZvciBjcmVhdGluZyB0aGUgYmxvY2sgbWFwIChibWFwKSBmb3IgYSBmaWxlLCBcCi1hbmQgY29weWluZyBmaWxlcyB1c2luZyB0aGUgYmxvY2sgbWFwLiBUaGUgaWRlYSBpcyB0aGF0IGxhcmdlIGZpbGUgY29udGFpbmluZyBcCi11bnVzZWQgYmxvY2tzLCBsaWtlIHJhdyBzeXN0ZW0gaW1hZ2UgZmlsZXMsIGNhbiBiZSBjb3BpZWQgb3IgZmxhc2hlZCBhIGxvdCBcCi1mYXN0ZXIgd2l0aCBibWFwdG9vbCB0aGFuIHdpdGggdHJhZGl0aW9uYWwgdG9vbHMgbGlrZSAiZGQiIG9yICJjcCIuIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tLzAxb3JnL2JtYXAtdG9vbHMiCi1TRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2ludGVsLyR7QlBOfS9yZWxlYXNlcy9kb3dubG9hZC92JHtQVn0vJHtCUH0udGd6IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiODgzNDIwMTgzNjExYWExMzdjYmFmNjhhOTFlZjBkN2UiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDA2NDg5MTI3MGMxODBjMTkwZjQxOTI1YjBmNmZiOWNlY2FjMzA1NmYxMTY4ZDI1OTJkYmU5MGU1ZjIyNmMwYSIKLQotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9pbnRlbC8ke0JQTn0vcmVsZWFzZXMiCi0KLVJERVBFTkRTXyR7UE59ID0gInB5dGhvbjMtY29yZSBweXRob24zLWNvbXByZXNzaW9uIHB5dGhvbjMtbW1hcCBweXRob24zLXNldHVwdG9vbHMgcHl0aG9uMy1mY250bCIKLQotaW5oZXJpdCBweXRob24zbmF0aXZlCi1pbmhlcml0IHNldHVwdG9vbHMzCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ibWFwLXRvb2xzL2JtYXAtdG9vbHNfMy41LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ibWFwLXRvb2xzL2JtYXAtdG9vbHNfMy41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjNGRiODUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2JtYXAtdG9vbHMvYm1hcC10b29sc18zLjUuYmIKQEAgLTAsMCArMSwyNSBAQAorU1VNTUFSWSA9ICJUb29scyB0byBnZW5lcmF0ZSBibG9jayBtYXAgKEFLQSBibWFwKSBhbmQgZmxhc2ggaW1hZ2VzIHVzaW5nIGJtYXAiCitERVNDUklQVElPTiA9ICJCbWFwLXRvb2xzIC0gdG9vbHMgdG8gZ2VuZXJhdGUgYmxvY2sgbWFwIChBS0EgYm1hcCkgYW5kIGZsYXNoIGltYWdlcyB1c2luZyBcCitibWFwLiBCbWFwdG9vbCBpcyBhIGdlbmVyaWMgdG9vbCBmb3IgY3JlYXRpbmcgdGhlIGJsb2NrIG1hcCAoYm1hcCkgZm9yIGEgZmlsZSwgXAorYW5kIGNvcHlpbmcgZmlsZXMgdXNpbmcgdGhlIGJsb2NrIG1hcC4gVGhlIGlkZWEgaXMgdGhhdCBsYXJnZSBmaWxlIGNvbnRhaW5pbmcgXAordW51c2VkIGJsb2NrcywgbGlrZSByYXcgc3lzdGVtIGltYWdlIGZpbGVzLCBjYW4gYmUgY29waWVkIG9yIGZsYXNoZWQgYSBsb3QgXAorZmFzdGVyIHdpdGggYm1hcHRvb2wgdGhhbiB3aXRoIHRyYWRpdGlvbmFsIHRvb2xzIGxpa2UgImRkIiBvciAiY3AiLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS8wMW9yZy9ibWFwLXRvb2xzIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vaW50ZWwvJHtCUE59IgorCitTUkNSRVYgPSAiZGI3MDg3Yjg4M2JmNTJjYmZmMDYzYWQxN2E0MWNjMWNiYjg1MTA0ZCIKK1MgPSAiJHtXT1JLRElSfS9naXQiCitQViAuPSAiK2dpdCR7U1JDUFZ9IgorCitVUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICJ2KD9QPHB2ZXI+XGQrKFwuXGQrKSspIgorCitSREVQRU5EU18ke1BOfSA9ICJweXRob24zLWNvcmUgcHl0aG9uMy1jb21wcmVzc2lvbiBweXRob24zLW1tYXAgcHl0aG9uMy1zZXR1cHRvb2xzIHB5dGhvbjMtZmNudGwgcHl0aG9uMy1zaXgiCisKK2luaGVyaXQgcHl0aG9uM25hdGl2ZQoraW5oZXJpdCBzZXR1cHRvb2xzMworCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvY2EtY2VydGlmaWNhdGVzL2NhLWNlcnRpZmljYXRlc18yMDE5MDExMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvY2EtY2VydGlmaWNhdGVzL2NhLWNlcnRpZmljYXRlc18yMDE5MDExMC5iYgppbmRleCBiOWY1NzkwLi40YzA0MjUzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2NhLWNlcnRpZmljYXRlcy9jYS1jZXJ0aWZpY2F0ZXNfMjAxOTAxMTAuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9jYS1jZXJ0aWZpY2F0ZXMvY2EtY2VydGlmaWNhdGVzXzIwMTkwMTEwLmJiCkBAIC0xMSw3ICsxMSw3IEBACiBERVBFTkRTID0gIiIKIERFUEVORFNfY2xhc3MtbmF0aXZlID0gIm9wZW5zc2wtbmF0aXZlIgogREVQRU5EU19jbGFzcy1uYXRpdmVzZGsgPSAib3BlbnNzbC1uYXRpdmUiCi0jIE5lZWQgY19yZWhhc2ggZnJvbSBvcGVuc3NsIGFuZCBydW4tcGFydHMgZnJvbSBkZWJpYW51dGlscworIyBOZWVkIHJlaGFzaCBmcm9tIG9wZW5zc2wgYW5kIHJ1bi1wYXJ0cyBmcm9tIGRlYmlhbnV0aWxzCiBQQUNLQUdFX1dSSVRFX0RFUFMgKz0gIm9wZW5zc2wtbmF0aXZlIGRlYmlhbnV0aWxzLW5hdGl2ZSIKIAogU1JDUkVWID0gImMyODc5OWIxMzhiMDQ0Yzk2M2QyNGM0YTY5NjU5YjZlNTQ4NmUzYmUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2NvbnNvbGVraXQvY29uc29sZWtpdF8wLjQuNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvY29uc29sZWtpdC9jb25zb2xla2l0XzAuNC42LmJiCmluZGV4IDgwZDQ4YmYuLmExN2Y3MzkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvY29uc29sZWtpdC9jb25zb2xla2l0XzAuNC42LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvY29uc29sZWtpdC9jb25zb2xla2l0XzAuNC42LmJiCkBAIC0yMywxMCArMjMsMTAgQEAKIAogUyA9ICIke1dPUktESVJ9L0NvbnNvbGVLaXQtJHtQVn0iCiAKLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdwYW0gc3lzdGVtZCcsIGQpfSIKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdwYW0gc3lzdGVtZCBwb2xraXQnLCBkKX0iCiAKIFBBQ0tBR0VDT05GSUdbcGFtXSA9ICItLWVuYWJsZS1wYW0tbW9kdWxlIC0td2l0aC1wYW0tbW9kdWxlLWRpcj0ke2Jhc2VfbGliZGlyfS9zZWN1cml0eSwtLWRpc2FibGUtcGFtLW1vZHVsZSxsaWJwYW0iCi1QQUNLQUdFQ09ORklHW3BvbGljeWtpdF0gPSAiLS13aXRoLXBvbGtpdCwtLXdpdGhvdXQtcG9sa2l0LHBvbGtpdCIKK1BBQ0tBR0VDT05GSUdbcG9sa2l0XSA9ICItLXdpdGgtcG9sa2l0LC0td2l0aG91dC1wb2xraXQscG9sa2l0IgogUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLXdpdGgtc3lzdGVtZHN5c3RlbXVuaXRkaXI9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8sLS13aXRoLXN5c3RlbWRzeXN0ZW11bml0ZGlyPSIKIAogRklMRVNfJHtQTn0gKz0gIiR7ZXhlY19wcmVmaXh9L2xpYi9Db25zb2xlS2l0IFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvY3VybC9jdXJsL0NWRS0yMDE4LTE0NjE4LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9jdXJsL2N1cmwvQ1ZFLTIwMTgtMTQ2MTgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRiMDdiNDMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9jdXJsL2N1cmwvQ1ZFLTIwMTgtMTQ2MTgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi1Gcm9tIDU3ZDI5OWE0OTkxNTVkNGIzMjdlMzQxYzYwMjRlMjkzYjA0MTgyNDMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBEYW5pZWwgU3RlbmJlcmcgPGRhbmllbEBoYXh4LnNlPgotRGF0ZTogTW9uLCAxMyBBdWcgMjAxOCAxMDozNTo1MiArMDIwMAotU3ViamVjdDogW1BBVENIXSBDdXJsX250bG1fY29yZV9ta19udF9oYXNoOiByZXR1cm4gZXJyb3Igb24gdG9vIGxvbmcgcGFzc3dvcmQKLQotLi4uIHNpbmNlIGl0IHdvdWxkIGNhdXNlIGFuIGludGVnZXIgb3ZlcmZsb3cgaWYgbG9uZ2VyIHRoYW4gKG1heCBzaXplX3QKLS8gMikuCi0KLVRoaXMgaXMgQ1ZFLTIwMTgtMTQ2MTgKLQotQnVnOiBodHRwczovL2N1cmwuaGF4eC5zZS9kb2NzL0NWRS0yMDE4LTE0NjE4Lmh0bWwKLUNsb3NlcyAjMjc1NgotUmVwb3J0ZWQtYnk6IFpoYW95YW5nIFd1Ci0KLUNWRTogQ1ZFLTIwMTgtMTQ2MTgKLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVNpZ25lZC1vZmYtYnk6IFpoaXhpb25nIENoaSA8emhpeGlvbmcuY2hpQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBsaWIvY3VybF9udGxtX2NvcmUuYyB8IDUgKysrKy0KLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9saWIvY3VybF9udGxtX2NvcmUuYyBiL2xpYi9jdXJsX250bG1fY29yZS5jCi1pbmRleCBlMjdjYWIzNTNjLi45MjJlODVhOTI2IDEwMDY0NAotLS0tIGEvbGliL2N1cmxfbnRsbV9jb3JlLmMKLSsrKyBiL2xpYi9jdXJsX250bG1fY29yZS5jCi1AQCAtNTU3LDggKzU1NywxMSBAQCBDVVJMY29kZSBDdXJsX250bG1fY29yZV9ta19udF9oYXNoKHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICpudGJ1ZmZlciAvKiAyMSBieXRlcyAqLykKLSB7Ci0gICBzaXplX3QgbGVuID0gc3RybGVuKHBhc3N3b3JkKTsKLS0gIHVuc2lnbmVkIGNoYXIgKnB3ID0gbGVuID8gbWFsbG9jKGxlbiAqIDIpIDogc3RyZHVwKCIiKTsKLSsgIHVuc2lnbmVkIGNoYXIgKnB3OwotICAgQ1VSTGNvZGUgcmVzdWx0OwotKyAgaWYobGVuID4gU0laRV9UX01BWC8yKSAvKiBhdm9pZCBpbnRlZ2VyIG92ZXJmbG93ICovCi0rICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOwotKyAgcHcgPSBsZW4gPyBtYWxsb2MobGVuICogMikgOiBzdHJkdXAoIiIpOwotICAgaWYoIXB3KQotICAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvY3VybC9jdXJsL0NWRS0yMDE4LTE2ODM5LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9jdXJsL2N1cmwvQ1ZFLTIwMTgtMTY4MzkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJmOTcyZDIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9jdXJsL2N1cmwvQ1ZFLTIwMTgtMTY4MzkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1Gcm9tIDU1YjkwNTMyZjkxOTBkY2U0MGEzMjViMzMxMmQwMTRjNjZkYzNhZTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgotRGF0ZTogVGh1LCAxIE5vdiAyMDE4IDE1OjI3OjM1ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIEN1cmxfYXV0aF9jcmVhdGVfcGxhaW5fbWVzc2FnZTogZml4IHRvby1sYXJnZS1pbnB1dC1jaGVjawotCi1DVkUtMjAxOC0xNjgzOQotUmVwb3J0ZWQtYnk6IEhhcnJ5IFNpbnRvbmVuCi1CdWc6IGh0dHBzOi8vY3VybC5oYXh4LnNlL2RvY3MvQ1ZFLTIwMTgtMTY4MzkuaHRtbAotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL2NvbW1pdAotL2YzYTI0ZDc5MTZiOTE3M2M2OWEzZTBlZTc5MDEwMjk5MzgzM2Q2YzU/ZGlmZj11bmlmaWVkXQotCi1DVkU6IENWRS0yMDE4LTE2ODM5Ci0KLVNpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBsaWIvdmF1dGgvY2xlYXJ0ZXh0LmMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9saWIvdmF1dGgvY2xlYXJ0ZXh0LmMgYi9saWIvdmF1dGgvY2xlYXJ0ZXh0LmMKLWluZGV4IDVkNjFjZTYuLjEzNjcxNDMgMTAwNjQ0Ci0tLS0gYS9saWIvdmF1dGgvY2xlYXJ0ZXh0LmMKLSsrKyBiL2xpYi92YXV0aC9jbGVhcnRleHQuYwotQEAgLTc0LDcgKzc0LDcgQEAgQ1VSTGNvZGUgQ3VybF9hdXRoX2NyZWF0ZV9wbGFpbl9tZXNzYWdlKHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEsCi0gICBwbGVuID0gc3RybGVuKHBhc3N3ZHApOwotIAotICAgLyogQ29tcHV0ZSBiaW5hcnkgbWVzc2FnZSBsZW5ndGguIENoZWNrIGZvciBvdmVyZmxvd3MuICovCi0tICBpZigodWxlbiA+IFNJWkVfVF9NQVgvMikgfHwgKHBsZW4gPiAoU0laRV9UX01BWC8yIC0gMikpKQotKyAgaWYoKHVsZW4gPiBTSVpFX1RfTUFYLzQpIHx8IChwbGVuID4gKFNJWkVfVF9NQVgvMiAtIDIpKSkKLSAgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7Ci0gICBwbGFpbmxlbiA9IDIgKiB1bGVuICsgcGxlbiArIDI7Ci0gCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvY3VybC9jdXJsL0NWRS0yMDE4LTE2ODQwLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9jdXJsL2N1cmwvQ1ZFLTIwMTgtMTY4NDAucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNkMDg2YzQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9jdXJsL2N1cmwvQ1ZFLTIwMTgtMTY4NDAucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi1Gcm9tIDNjMjg0NmJlYzAwOGUwM2Q0NTZlMTgxZDlhYjU1Njg2ZGE4M2YxNDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgotRGF0ZTogVGh1LCAxIE5vdiAyMDE4IDE1OjMzOjM1ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIEN1cmxfY2xvc2U6IGNsZWFyIGRhdGEtPm11bHRpX2Vhc3kgb24gZnJlZSB0byBhdm9pZAotIHVzZS1hZnRlci1mcmVlCi0KLVJlZ3Jlc3Npb24gZnJvbSBiNDZjZmJjICg3LjU5LjApCi1DVkUtMjAxOC0xNjg0MAotUmVwb3J0ZWQtYnk6IEJyaWFuIENhcnBlbnRlciAoR2Vla25payBMYWJzKQotCi1CdWc6IGh0dHBzOi8vY3VybC5oYXh4LnNlL2RvY3MvQ1ZFLTIwMTgtMTY4NDAuaHRtbAotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL2NvbW1pdC8KLTgxZDEzNWQ2NzE1NWM1Mjk1YjEwMzM2NzljNjA2MTY1ZDRlMjhmM2ZdCi0KLUNWRTogQ1ZFLTIwMTgtMTY4NDAKLQotU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KLS0tLQotIGxpYi91cmwuYyB8IDQgKysrLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2xpYi91cmwuYyBiL2xpYi91cmwuYwotaW5kZXggMjdiMmMxZS4uN2VmN2MyMCAxMDA2NDQKLS0tLSBhL2xpYi91cmwuYwotKysrIGIvbGliL3VybC5jCi1AQCAtMzIwLDEwICszMjAsMTIgQEAgQ1VSTGNvZGUgQ3VybF9jbG9zZShzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhKQotICAgICAgICBhbmQgZGV0YWNoIHRoaXMgaGFuZGxlIGZyb20gdGhlcmUuICovCi0gICAgIGN1cmxfbXVsdGlfcmVtb3ZlX2hhbmRsZShkYXRhLT5tdWx0aSwgZGF0YSk7Ci0gCi0tICBpZihkYXRhLT5tdWx0aV9lYXN5KQotKyAgaWYoZGF0YS0+bXVsdGlfZWFzeSkgewotICAgICAvKiB3aGVuIGN1cmxfZWFzeV9wZXJmb3JtKCkgaXMgdXNlZCwgaXQgY3JlYXRlcyBpdHMgb3duIG11bHRpIGhhbmRsZSB0bwotICAgICAgICB1c2UgYW5kIHRoaXMgaXMgdGhlIG9uZSAqLwotICAgICBjdXJsX211bHRpX2NsZWFudXAoZGF0YS0+bXVsdGlfZWFzeSk7Ci0rICAgIGRhdGEtPm11bHRpX2Vhc3kgPSBOVUxMOwotKyAgfQotIAotICAgLyogRGVzdHJveSB0aGUgdGltZW91dCBsaXN0IHRoYXQgaXMgaGVsZCBpbiB0aGUgZWFzeSBoYW5kbGUuIEl0IGlzCi0gICAgICAvbm9ybWFsbHkvIGRvbmUgYnkgY3VybF9tdWx0aV9yZW1vdmVfaGFuZGxlKCkgYnV0IHRoaXMgaXMgImp1c3QgaW4KLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9jdXJsL2N1cmwvQ1ZFLTIwMTgtMTY4NDIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2N1cmwvY3VybC9DVkUtMjAxOC0xNjg0Mi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODJlNzU1Ny4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2N1cmwvY3VybC9DVkUtMjAxOC0xNjg0Mi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLUZyb20gMGU0YTYwNThiMTMwZjA3Y2ZhNTJmZGU4YTNjYjZmMmFiZmU0YzcwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDEgTm92IDIwMTggMTU6MzA6NTYgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gdm91dGY6IGZpeCBiYWQgYXJldGhtZXRpYyB3aGVuIG91dHB1dHRpbmcgd2FybmluZ3MgdG8gc3RkZXJyCi0KLUNWRS0yMDE4LTE2ODQyCi1SZXBvcnRlZC1ieTogQnJpYW4gQ2FycGVudGVyCi1CdWc6IGh0dHBzOi8vY3VybC5oYXh4LnNlL2RvY3MvQ1ZFLTIwMTgtMTY4NDIuaHRtbAotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL2NvbW1pdAotL2Q1MzBlOTJmNTlhZTliYjJkNDcwNjZjM2M0NjBiMjVkMmZmZWIyMTFdCi0KLUNWRTogQ1ZFLTIwMTgtMTY4NDIKLQotU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy90b29sX21zZ3MuYyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3NyYy90b29sX21zZ3MuYyBiL3NyYy90b29sX21zZ3MuYwotaW5kZXggOWNjZTgwNi4uMDViZWMzOSAxMDA2NDQKLS0tLSBhL3NyYy90b29sX21zZ3MuYwotKysrIGIvc3JjL3Rvb2xfbXNncy5jCi1AQCAtNjcsNyArNjcsNyBAQCBzdGF0aWMgdm9pZCB2b3V0ZihzdHJ1Y3QgR2xvYmFsQ29uZmlnICpjb25maWcsCi0gICAgICAgICAodm9pZClmd3JpdGUocHRyLCBjdXQgKyAxLCAxLCBjb25maWctPmVycm9ycyk7Ci0gICAgICAgICBmcHV0cygiXG4iLCBjb25maWctPmVycm9ycyk7Ci0gICAgICAgICBwdHIgKz0gY3V0ICsgMTsgLyogc2tpcCB0aGUgc3BhY2UgdG9vICovCi0tICAgICAgICBsZW4gLT0gY3V0OwotKyAgICAgICAgbGVuIC09IGN1dCArIDE7Ci0gICAgICAgfQotICAgICAgIGVsc2UgewotICAgICAgICAgZnB1dHMocHRyLCBjb25maWctPmVycm9ycyk7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvY3VybC9jdXJsXzcuNjEuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvY3VybC9jdXJsXzcuNjEuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTYzMjdhNi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2N1cmwvY3VybF83LjYxLjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw4MyArMCwwIEBACi1TVU1NQVJZID0gIkNvbW1hbmQgbGluZSB0b29sIGFuZCBsaWJyYXJ5IGZvciBjbGllbnQtc2lkZSBVUkwgdHJhbnNmZXJzIgotSE9NRVBBR0UgPSAiaHR0cDovL2N1cmwuaGF4eC5zZS8iCi1CVUdUUkFDS0VSID0gImh0dHA6Ly9jdXJsLmhheHguc2UvbWFpbC9saXN0LmNnaT9saXN0PWN1cmwtdHJhY2tlciIKLVNFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lZjg4OWEzN2E1YTg3NDQ5MGFjN2NlMTE2Mzk2ZjI5YSIKLQotU1JDX1VSSSA9ICJodHRwOi8vY3VybC5oYXh4LnNlL2Rvd25sb2FkL2N1cmwtJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXJlcGxhY2Uta3JiNS1jb25maWctd2l0aC1wa2ctY29uZmlnLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTE0NjE4LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTE2ODM5LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTE2ODQwLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTE2ODQyLnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjMxZDBhOWY0OGRjNzk2YTdkYjM1MTg5OGExZTUwNThhIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVmNmYzMzY5MjFjZjViODRkZTU2YWZiZDA4ZGZiNzBhZGVlZjIzMDM3NTFmZmIzZTU3MGM5MzZjNmQ2NTZjOWMiCi0KLUNWRV9QUk9EVUNUID0gImN1cmwgbGliY3VybCIKLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBiaW5jb25maWcgbXVsdGlsaWJfaGVhZGVyCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgZCl9IGdudXRscyBsaWJpZG4gcHJveHkgdGhyZWFkZWQtcmVzb2x2ZXIgdmVyYm9zZSB6bGliIgotUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmUgPSAiaXB2NiBwcm94eSBzc2wgdGhyZWFkZWQtcmVzb2x2ZXIgdmVyYm9zZSB6bGliIgotUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmVzZGsgPSAiaXB2NiBwcm94eSBzc2wgdGhyZWFkZWQtcmVzb2x2ZXIgdmVyYm9zZSB6bGliIgotCi0jICdhcmVzJyBhbmQgJ3RocmVhZGVkLXJlc29sdmVyJyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlCi1QQUNLQUdFQ09ORklHW2FyZXNdID0gIi0tZW5hYmxlLWFyZXMsLS1kaXNhYmxlLWFyZXMsYy1hcmVzIgotUEFDS0FHRUNPTkZJR1ticm90bGldID0gIi0td2l0aC1icm90bGksLS13aXRob3V0LWJyb3RsaSxicm90bGkiCi1QQUNLQUdFQ09ORklHW2J1aWx0aW5tYW51YWxdID0gIi0tZW5hYmxlLW1hbnVhbCwtLWRpc2FibGUtbWFudWFsIgotUEFDS0FHRUNPTkZJR1tkaWN0XSA9ICItLWVuYWJsZS1kaWN0LC0tZGlzYWJsZS1kaWN0LCIKLVBBQ0tBR0VDT05GSUdbZ251dGxzXSA9ICItLXdpdGgtZ251dGxzLC0td2l0aG91dC1nbnV0bHMsZ251dGxzIgotUEFDS0FHRUNPTkZJR1tnb3BoZXJdID0gIi0tZW5hYmxlLWdvcGhlciwtLWRpc2FibGUtZ29waGVyLCIKLVBBQ0tBR0VDT05GSUdbaW1hcF0gPSAiLS1lbmFibGUtaW1hcCwtLWRpc2FibGUtaW1hcCwiCi1QQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYsIgotUEFDS0FHRUNPTkZJR1trcmI1XSA9ICItLXdpdGgtZ3NzYXBpLC0td2l0aG91dC1nc3NhcGksa3JiNSIKLVBBQ0tBR0VDT05GSUdbbGRhcF0gPSAiLS1lbmFibGUtbGRhcCwtLWRpc2FibGUtbGRhcCwiCi1QQUNLQUdFQ09ORklHW2xkYXBzXSA9ICItLWVuYWJsZS1sZGFwcywtLWRpc2FibGUtbGRhcHMsIgotUEFDS0FHRUNPTkZJR1tsaWJpZG5dID0gIi0td2l0aC1saWJpZG4yLC0td2l0aG91dC1saWJpZG4yLGxpYmlkbjIiCi1QQUNLQUdFQ09ORklHW2xpYnNzaDJdID0gIi0td2l0aC1saWJzc2gyLC0td2l0aG91dC1saWJzc2gyLGxpYnNzaDIiCi1QQUNLQUdFQ09ORklHW21iZWR0bHNdID0gIi0td2l0aC1tYmVkdGxzPSR7U1RBR0lOR19ESVJfVEFSR0VUfSwtLXdpdGhvdXQtbWJlZHRscyxtYmVkdGxzIgotUEFDS0FHRUNPTkZJR1tuZ2h0dHAyXSA9ICItLXdpdGgtbmdodHRwMiwtLXdpdGhvdXQtbmdodHRwMixuZ2h0dHAyIgotUEFDS0FHRUNPTkZJR1twb3AzXSA9ICItLWVuYWJsZS1wb3AzLC0tZGlzYWJsZS1wb3AzLCIKLVBBQ0tBR0VDT05GSUdbcHJveHldID0gIi0tZW5hYmxlLXByb3h5LC0tZGlzYWJsZS1wcm94eSwiCi1QQUNLQUdFQ09ORklHW3J0bXBkdW1wXSA9ICItLXdpdGgtbGlicnRtcCwtLXdpdGhvdXQtbGlicnRtcCxydG1wZHVtcCIKLVBBQ0tBR0VDT05GSUdbcnRzcF0gPSAiLS1lbmFibGUtcnRzcCwtLWRpc2FibGUtcnRzcCwiCi1QQUNLQUdFQ09ORklHW3NtYl0gPSAiLS1lbmFibGUtc21iLC0tZGlzYWJsZS1zbWIsIgotUEFDS0FHRUNPTkZJR1tzbXRwXSA9ICItLWVuYWJsZS1zbXRwLC0tZGlzYWJsZS1zbXRwLCIKLVBBQ0tBR0VDT05GSUdbc3NsXSA9ICItLXdpdGgtc3NsIC0td2l0aC1yYW5kb209L2Rldi91cmFuZG9tLC0td2l0aG91dC1zc2wsb3BlbnNzbCIKLVBBQ0tBR0VDT05GSUdbdGVsbmV0XSA9ICItLWVuYWJsZS10ZWxuZXQsLS1kaXNhYmxlLXRlbG5ldCwiCi1QQUNLQUdFQ09ORklHW3RmdHBdID0gIi0tZW5hYmxlLXRmdHAsLS1kaXNhYmxlLXRmdHAsIgotUEFDS0FHRUNPTkZJR1t0aHJlYWRlZC1yZXNvbHZlcl0gPSAiLS1lbmFibGUtdGhyZWFkZWQtcmVzb2x2ZXIsLS1kaXNhYmxlLXRocmVhZGVkLXJlc29sdmVyIgotUEFDS0FHRUNPTkZJR1t2ZXJib3NlXSA9ICItLWVuYWJsZS12ZXJib3NlLC0tZGlzYWJsZS12ZXJib3NlIgotUEFDS0FHRUNPTkZJR1t6bGliXSA9ICItLXdpdGgtemxpYj0ke1NUQUdJTkdfTElCRElSfS8uLi8sLS13aXRob3V0LXpsaWIsemxpYiIKLQotRVhUUkFfT0VDT05GID0gIiBcCi0gICAgLS1kaXNhYmxlLWxpYmN1cmwtb3B0aW9uIFwKLSAgICAtLWRpc2FibGUtbnRsbS13YiBcCi0gICAgLS1lbmFibGUtY3J5cHRvLWF1dGggXAotICAgIC0td2l0aC1jYS1idW5kbGU9JHtzeXNjb25mZGlyfS9zc2wvY2VydHMvY2EtY2VydGlmaWNhdGVzLmNydCBcCi0gICAgLS13aXRob3V0LWxpYm1ldGFsaW5rIFwKLSAgICAtLXdpdGhvdXQtbGlicHNsIFwKLSIKLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgewotCSMgY2xlYW51cCBidWlsZHBhdGhzIGZyb20gY3VybC1jb25maWcKLQlzZWQgLWkgXAotCSAgICAtZSAncywtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9UQVJHRVR9LCxnJyBcCi0JICAgIC1lICdzLC0td2l0aC1saWJ0b29sLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9UQVJHRVR9LCxnJyBcCi0JICAgIC1lICdzfCR7REVCVUdfUFJFRklYX01BUH18fGcnIFwKLQkgICAgJHtEfSR7YmluZGlyfS9jdXJsLWNvbmZpZwotfQotCi1QQUNLQUdFUyA9KyAibGliJHtCUE59IgotCi1GSUxFU19saWIke0JQTn0gPSAiJHtsaWJkaXJ9L2xpYiouc28uKiIKLVJSRUNPTU1FTkRTX2xpYiR7QlBOfSArPSAiY2EtY2VydGlmaWNhdGVzIgotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS96c2giCi0KLWluaGVyaXQgbXVsdGlsaWJfc2NyaXB0Ci1NVUxUSUxJQl9TQ1JJUFRTID0gIiR7UE59LWRldjoke2JpbmRpcn0vY3VybC1jb25maWciCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvY3VybC9jdXJsXzcuNjQuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvY3VybC9jdXJsXzcuNjQuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMWI1ZTdkCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9jdXJsL2N1cmxfNy42NC4wLmJiCkBAIC0wLDAgKzEsODAgQEAKK1NVTU1BUlkgPSAiQ29tbWFuZCBsaW5lIHRvb2wgYW5kIGxpYnJhcnkgZm9yIGNsaWVudC1zaWRlIFVSTCB0cmFuc2ZlcnMiCitIT01FUEFHRSA9ICJodHRwOi8vY3VybC5oYXh4LnNlLyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL2N1cmwuaGF4eC5zZS9tYWlsL2xpc3QuY2dpP2xpc3Q9Y3VybC10cmFja2VyIgorU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWJlNWQ5ZTE0MTljNDM2M2Y0YjMyMDM3YTJkM2I3ZmZhIgorCitTUkNfVVJJID0gImh0dHA6Ly9jdXJsLmhheHguc2UvZG93bmxvYWQvY3VybC0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtcmVwbGFjZS1rcmI1LWNvbmZpZy13aXRoLXBrZy1jb25maWcucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZDBiY2M1ODY4NzNjZmVmMDhiNGI5NTk0ZTUzOTVhMzMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDU3M2JhMWMyZDFjZjlkODUzM2ZhZGNjZTQ4MGQ3Nzg0MTc5NjRlOGQwNGNjZGRjYzc2ZTU5MWQ1NDRjZjJlYiIKKworQ1ZFX1BST0RVQ1QgPSAiY3VybCBsaWJjdXJsIgoraW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGJpbmNvbmZpZyBtdWx0aWxpYl9oZWFkZXIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0gZ251dGxzIGxpYmlkbiBwcm94eSB0aHJlYWRlZC1yZXNvbHZlciB2ZXJib3NlIHpsaWIiCitQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZSA9ICJpcHY2IHByb3h5IHNzbCB0aHJlYWRlZC1yZXNvbHZlciB2ZXJib3NlIHpsaWIiCitQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZXNkayA9ICJpcHY2IHByb3h5IHNzbCB0aHJlYWRlZC1yZXNvbHZlciB2ZXJib3NlIHpsaWIiCisKKyMgJ2FyZXMnIGFuZCAndGhyZWFkZWQtcmVzb2x2ZXInIGFyZSBtdXR1YWxseSBleGNsdXNpdmUKK1BBQ0tBR0VDT05GSUdbYXJlc10gPSAiLS1lbmFibGUtYXJlcywtLWRpc2FibGUtYXJlcyxjLWFyZXMiCitQQUNLQUdFQ09ORklHW2Jyb3RsaV0gPSAiLS13aXRoLWJyb3RsaSwtLXdpdGhvdXQtYnJvdGxpLGJyb3RsaSIKK1BBQ0tBR0VDT05GSUdbYnVpbHRpbm1hbnVhbF0gPSAiLS1lbmFibGUtbWFudWFsLC0tZGlzYWJsZS1tYW51YWwiCitQQUNLQUdFQ09ORklHW2RpY3RdID0gIi0tZW5hYmxlLWRpY3QsLS1kaXNhYmxlLWRpY3QsIgorUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIi0td2l0aC1nbnV0bHMsLS13aXRob3V0LWdudXRscyxnbnV0bHMiCitQQUNLQUdFQ09ORklHW2dvcGhlcl0gPSAiLS1lbmFibGUtZ29waGVyLC0tZGlzYWJsZS1nb3BoZXIsIgorUEFDS0FHRUNPTkZJR1tpbWFwXSA9ICItLWVuYWJsZS1pbWFwLC0tZGlzYWJsZS1pbWFwLCIKK1BBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiwiCitQQUNLQUdFQ09ORklHW2tyYjVdID0gIi0td2l0aC1nc3NhcGksLS13aXRob3V0LWdzc2FwaSxrcmI1IgorUEFDS0FHRUNPTkZJR1tsZGFwXSA9ICItLWVuYWJsZS1sZGFwLC0tZGlzYWJsZS1sZGFwLCIKK1BBQ0tBR0VDT05GSUdbbGRhcHNdID0gIi0tZW5hYmxlLWxkYXBzLC0tZGlzYWJsZS1sZGFwcywiCitQQUNLQUdFQ09ORklHW2xpYmlkbl0gPSAiLS13aXRoLWxpYmlkbjIsLS13aXRob3V0LWxpYmlkbjIsbGliaWRuMiIKK1BBQ0tBR0VDT05GSUdbbGlic3NoMl0gPSAiLS13aXRoLWxpYnNzaDIsLS13aXRob3V0LWxpYnNzaDIsbGlic3NoMiIKK1BBQ0tBR0VDT05GSUdbbWJlZHRsc10gPSAiLS13aXRoLW1iZWR0bHM9JHtTVEFHSU5HX0RJUl9UQVJHRVR9LC0td2l0aG91dC1tYmVkdGxzLG1iZWR0bHMiCitQQUNLQUdFQ09ORklHW25naHR0cDJdID0gIi0td2l0aC1uZ2h0dHAyLC0td2l0aG91dC1uZ2h0dHAyLG5naHR0cDIiCitQQUNLQUdFQ09ORklHW3BvcDNdID0gIi0tZW5hYmxlLXBvcDMsLS1kaXNhYmxlLXBvcDMsIgorUEFDS0FHRUNPTkZJR1twcm94eV0gPSAiLS1lbmFibGUtcHJveHksLS1kaXNhYmxlLXByb3h5LCIKK1BBQ0tBR0VDT05GSUdbcnRtcGR1bXBdID0gIi0td2l0aC1saWJydG1wLC0td2l0aG91dC1saWJydG1wLHJ0bXBkdW1wIgorUEFDS0FHRUNPTkZJR1tydHNwXSA9ICItLWVuYWJsZS1ydHNwLC0tZGlzYWJsZS1ydHNwLCIKK1BBQ0tBR0VDT05GSUdbc21iXSA9ICItLWVuYWJsZS1zbWIsLS1kaXNhYmxlLXNtYiwiCitQQUNLQUdFQ09ORklHW3NtdHBdID0gIi0tZW5hYmxlLXNtdHAsLS1kaXNhYmxlLXNtdHAsIgorUEFDS0FHRUNPTkZJR1tzc2xdID0gIi0td2l0aC1zc2wgLS13aXRoLXJhbmRvbT0vZGV2L3VyYW5kb20sLS13aXRob3V0LXNzbCxvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1tuc3NdID0gIi0td2l0aC1uc3MsLS13aXRob3V0LW5zcyxuc3MiCitQQUNLQUdFQ09ORklHW3RlbG5ldF0gPSAiLS1lbmFibGUtdGVsbmV0LC0tZGlzYWJsZS10ZWxuZXQsIgorUEFDS0FHRUNPTkZJR1t0ZnRwXSA9ICItLWVuYWJsZS10ZnRwLC0tZGlzYWJsZS10ZnRwLCIKK1BBQ0tBR0VDT05GSUdbdGhyZWFkZWQtcmVzb2x2ZXJdID0gIi0tZW5hYmxlLXRocmVhZGVkLXJlc29sdmVyLC0tZGlzYWJsZS10aHJlYWRlZC1yZXNvbHZlciIKK1BBQ0tBR0VDT05GSUdbdmVyYm9zZV0gPSAiLS1lbmFibGUtdmVyYm9zZSwtLWRpc2FibGUtdmVyYm9zZSIKK1BBQ0tBR0VDT05GSUdbemxpYl0gPSAiLS13aXRoLXpsaWI9JHtTVEFHSU5HX0xJQkRJUn0vLi4vLC0td2l0aG91dC16bGliLHpsaWIiCisKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgIC0tZGlzYWJsZS1saWJjdXJsLW9wdGlvbiBcCisgICAgLS1kaXNhYmxlLW50bG0td2IgXAorICAgIC0tZW5hYmxlLWNyeXB0by1hdXRoIFwKKyAgICAtLXdpdGgtY2EtYnVuZGxlPSR7c3lzY29uZmRpcn0vc3NsL2NlcnRzL2NhLWNlcnRpZmljYXRlcy5jcnQgXAorICAgIC0td2l0aG91dC1saWJtZXRhbGluayBcCisgICAgLS13aXRob3V0LWxpYnBzbCBcCisiCisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLXRhcmdldCgpIHsKKwkjIGNsZWFudXAgYnVpbGRwYXRocyBmcm9tIGN1cmwtY29uZmlnCisJc2VkIC1pIFwKKwkgICAgLWUgJ3MsLS1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfSwsZycgXAorCSAgICAtZSAncywtLXdpdGgtbGlidG9vbC1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfSwsZycgXAorCSAgICAtZSAnc3wke0RFQlVHX1BSRUZJWF9NQVB9fHxnJyBcCisJICAgICR7RH0ke2JpbmRpcn0vY3VybC1jb25maWcKK30KKworUEFDS0FHRVMgPSsgImxpYiR7QlBOfSIKKworRklMRVNfbGliJHtCUE59ID0gIiR7bGliZGlyfS9saWIqLnNvLioiCitSUkVDT01NRU5EU19saWIke0JQTn0gKz0gImNhLWNlcnRpZmljYXRlcyIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0venNoIgorCitpbmhlcml0IG11bHRpbGliX3NjcmlwdAorTVVMVElMSUJfU0NSSVBUUyA9ICIke1BOfS1kZXY6JHtiaW5kaXJ9L2N1cmwtY29uZmlnIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2RiL2RiLzAwMDEtRml4LWxpYmMtY29tcGF0aWJpbGl0eS1ieS1yZW5hbWluZy1hdG9taWNfaW5pdC1BUEkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2RiL2RiLzAwMDEtRml4LWxpYmMtY29tcGF0aWJpbGl0eS1ieS1yZW5hbWluZy1hdG9taWNfaW5pdC1BUEkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTRmZjJlYwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZGIvZGIvMDAwMS1GaXgtbGliYy1jb21wYXRpYmlsaXR5LWJ5LXJlbmFtaW5nLWF0b21pY19pbml0LUFQSS5wYXRjaApAQCAtMCwwICsxLDE0NyBAQAorRnJvbSBhMzU2OWYxMThmZDk1YjdhZDQxZTFhMTEyOGUxN2MwYjg5Mjg1NTZkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFN1biwgMjAgSmFuIDIwMTkgMTg6MzA6MjMgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IGxpYmMrKyBjb21wYXRpYmlsaXR5IGJ5IHJlbmFtaW5nIGF0b21pY19pbml0IEFQSQorCitkYjUgZG9lcyBub3QgYnVpbGQgYmVjYXVzZSBpdCBpcyByZWRlZmluaW5nIGEgQysrMTEgc3RhbmRhcmQKK2xpYnJhcnkgaWRlbnRpZmllciwgYXRvbWljX2luaXQoKS4gIFRoZXJlZm9yZSBwcmVmaXggYWxsCitpdHMgaW50ZXJuYWwgZGVmaW5lcyB3aXRoICdfX2RiXycsIHRvIGF2b2lkIGNvbGxpc2lvbnMuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgc3JjL2RiaW5jL2F0b21pYy5oICAgICB8IDQgKystLQorIHNyYy9tcC9tcF9mZ2V0LmMgICAgICAgfCA0ICsrLS0KKyBzcmMvbXAvbXBfbXZjYy5jICAgICAgIHwgNCArKy0tCisgc3JjL21wL21wX3JlZ2lvbi5jICAgICB8IDQgKystLQorIHNyYy9tdXRleC9tdXRfbWV0aG9kLmMgfCAyICstCisgc3JjL211dGV4L211dF90YXMuYyAgICB8IDQgKystLQorIDYgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvZGJpbmMvYXRvbWljLmggYi9zcmMvZGJpbmMvYXRvbWljLmgKK2luZGV4IDFiNDlkZTUuLjdiZjM1M2MgMTAwNjQ0CistLS0gYS9zcmMvZGJpbmMvYXRvbWljLmgKKysrKyBiL3NyYy9kYmluYy9hdG9taWMuaAorQEAgLTcwLDcgKzcwLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgeworICAqIFRoZXNlIGhhdmUgbm8gbWVtb3J5IGJhcnJpZXJzOyB0aGUgY2FsbGVyIG11c3QgaW5jbHVkZSB0aGVtIHdoZW4gbmVjZXNzYXJ5LgorICAqLworICNkZWZpbmUJYXRvbWljX3JlYWQocCkJCSgocCktPnZhbHVlKQorLSNkZWZpbmUJYXRvbWljX2luaXQocCwgdmFsKQkoKHApLT52YWx1ZSA9ICh2YWwpKQorKyNkZWZpbmUJX19kYl9hdG9taWNfaW5pdChwLCB2YWwpCSgocCktPnZhbHVlID0gKHZhbCkpCisgCisgI2lmZGVmIEhBVkVfQVRPTUlDX1NVUFBPUlQKKyAKK0BAIC0yMDYsNyArMjA2LDcgQEAgc3RhdGljIGlubGluZSBpbnQgX19kYl9hdG9taWNfY29tcGFyZV9leGNoYW5nZSgKKyAjZGVmaW5lCWF0b21pY19kZWMoZW52LCBwKQkoLS0ocCktPnZhbHVlKQorICNkZWZpbmUJYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2UoZW52LCBwLCBvbGR2YWwsIG5ld3ZhbCkJCVwKKyAJKERCX0FTU0VSVChlbnYsIGF0b21pY19yZWFkKHApID09IChvbGR2YWwpKSwJCVwKKy0JYXRvbWljX2luaXQocCwgKG5ld3ZhbCkpLCAxKQorKwlfX2RiX2F0b21pY19pbml0KHAsIChuZXd2YWwpKSwgMSkKKyAjZWxzZQorICNkZWZpbmUgYXRvbWljX2luYyhlbnYsIHApCV9fYXRvbWljX2luYyhlbnYsIHApCisgI2RlZmluZSBhdG9taWNfZGVjKGVudiwgcCkJX19hdG9taWNfZGVjKGVudiwgcCkKK2RpZmYgLS1naXQgYS9zcmMvbXAvbXBfZmdldC5jIGIvc3JjL21wL21wX2ZnZXQuYworaW5kZXggMTZkZTY5NS4uNTE1OTUyMCAxMDA2NDQKKy0tLSBhL3NyYy9tcC9tcF9mZ2V0LmMKKysrKyBiL3NyYy9tcC9tcF9mZ2V0LmMKK0BAIC02NDksNyArNjQ5LDcgQEAgYWxsb2M6CQkvKiBBbGxvY2F0ZSBhIG5ldyBidWZmZXIgaGVhZGVyIGFuZCBkYXRhIHNwYWNlLiAqLworIAorIAkJLyogSW5pdGlhbGl6ZSBlbm91Z2ggc28gd2UgY2FuIGNhbGwgX19tZW1wX2JoZnJlZS4gKi8KKyAJCWFsbG9jX2JocC0+ZmxhZ3MgPSAwOworLQkJYXRvbWljX2luaXQoJmFsbG9jX2JocC0+cmVmLCAxKTsKKysJCV9fZGJfYXRvbWljX2luaXQoJmFsbG9jX2JocC0+cmVmLCAxKTsKKyAjaWZkZWYgRElBR05PU1RJQworIAkJaWYgKCh1aW50cHRyX3QpYWxsb2NfYmhwLT5idWYgJiAoc2l6ZW9mKHNpemVfdCkgLSAxKSkgeworIAkJCV9fZGJfZXJyeChlbnYsIERCX1NUUigiMzAyNSIsCitAQCAtOTU1LDcgKzk1NSw3IEBAIGFsbG9jOgkJLyogQWxsb2NhdGUgYSBuZXcgYnVmZmVyIGhlYWRlciBhbmQgZGF0YSBzcGFjZS4gKi8KKyAJCQlNVkNDX01QUk9URUNUKGJocC0+YnVmLCBtZnAtPnBhZ2VzaXplLAorIAkJCSAgICBQUk9UX1JFQUQpOworIAorLQkJYXRvbWljX2luaXQoJmFsbG9jX2JocC0+cmVmLCAxKTsKKysJCV9fZGJfYXRvbWljX2luaXQoJmFsbG9jX2JocC0+cmVmLCAxKTsKKyAJCU1VVEVYX0xPQ0soZW52LCBhbGxvY19iaHAtPm10eF9idWYpOworIAkJYWxsb2NfYmhwLT5wcmlvcml0eSA9IGJocC0+cHJpb3JpdHk7CisgCQlhbGxvY19iaHAtPnBnbm8gPSBiaHAtPnBnbm87CitkaWZmIC0tZ2l0IGEvc3JjL21wL21wX212Y2MuYyBiL3NyYy9tcC9tcF9tdmNjLmMKK2luZGV4IDc3MGJhZDguLmRiY2U0ZjMgMTAwNjQ0CistLS0gYS9zcmMvbXAvbXBfbXZjYy5jCisrKysgYi9zcmMvbXAvbXBfbXZjYy5jCitAQCAtMjc2LDcgKzI3Niw3IEBAIF9fbWVtcF9iaF9mcmVlemUoZGJtcCwgaW5mb3AsIGhwLCBiaHAsIG5lZWRfZnJvemVucCkKKyAjZWxzZQorIAltZW1jcHkoZnJvemVuX2JocCwgYmhwLCBTU1pBKEJILCBidWYpKTsKKyAjZW5kaWYKKy0JYXRvbWljX2luaXQoJmZyb3plbl9iaHAtPnJlZiwgMCk7CisrCV9fZGJfYXRvbWljX2luaXQoJmZyb3plbl9iaHAtPnJlZiwgMCk7CisgCWlmIChtdXRleCAhPSBNVVRFWF9JTlZBTElEKQorIAkJZnJvemVuX2JocC0+bXR4X2J1ZiA9IG11dGV4OworIAllbHNlIGlmICgocmV0ID0gX19tdXRleF9hbGxvYyhlbnYsIE1UWF9NUE9PTF9CSCwKK0BAIC00MjgsNyArNDI4LDcgQEAgX19tZW1wX2JoX3RoYXcoZGJtcCwgaW5mb3AsIGhwLCBmcm96ZW5fYmhwLCBhbGxvY19iaHApCisgI2VuZGlmCisgCQlhbGxvY19iaHAtPm10eF9idWYgPSBtdXRleDsKKyAJCU1VVEVYX0xPQ0soZW52LCBhbGxvY19iaHAtPm10eF9idWYpOworLQkJYXRvbWljX2luaXQoJmFsbG9jX2JocC0+cmVmLCAxKTsKKysJCV9fZGJfYXRvbWljX2luaXQoJmFsbG9jX2JocC0+cmVmLCAxKTsKKyAJCUZfQ0xSKGFsbG9jX2JocCwgQkhfRlJPWkVOKTsKKyAJfQorIAorZGlmZiAtLWdpdCBhL3NyYy9tcC9tcF9yZWdpb24uYyBiL3NyYy9tcC9tcF9yZWdpb24uYworaW5kZXggNDk1MjAzMC4uMDg0ZjQ5OSAxMDA2NDQKKy0tLSBhL3NyYy9tcC9tcF9yZWdpb24uYworKysrIGIvc3JjL21wL21wX3JlZ2lvbi5jCitAQCAtMjQ1LDcgKzI0NSw3IEBAIF9fbWVtcF9pbml0KGVudiwgZGJtcCwgcmVnaW5mb19vZmYsIGh0YWJfYnVja2V0cywgbWF4X25yZWcpCisgCQkJICAgICBNVFhfTVBPT0xfRklMRV9CVUNLRVQsIDAsICZodGFiW2ldLm10eF9oYXNoKSkgIT0gMCkKKyAJCQkJcmV0dXJuIChyZXQpOworIAkJCVNIX1RBSUxRX0lOSVQoJmh0YWJbaV0uaGFzaF9idWNrZXQpOworLQkJCWF0b21pY19pbml0KCZodGFiW2ldLmhhc2hfcGFnZV9kaXJ0eSwgMCk7CisrCQkJX19kYl9hdG9taWNfaW5pdCgmaHRhYltpXS5oYXNoX3BhZ2VfZGlydHksIDApOworIAkJfQorIAorIAkJLyoKK0BAIC0zMDIsNyArMzAyLDcgQEAgbm9fcHJlYWxsb2M6CisgCQl9IGVsc2UKKyAJCQlocC0+bXR4X2hhc2ggPSBtdHhfYmFzZSArIChpICUgZGJlbnYtPm1wX210eGNvdW50KTsKKyAJCVNIX1RBSUxRX0lOSVQoJmhwLT5oYXNoX2J1Y2tldCk7CistCQlhdG9taWNfaW5pdCgmaHAtPmhhc2hfcGFnZV9kaXJ0eSwgMCk7CisrCQlfX2RiX2F0b21pY19pbml0KCZocC0+aGFzaF9wYWdlX2RpcnR5LCAwKTsKKyAjaWZkZWYgSEFWRV9TVEFUSVNUSUNTCisgCQlocC0+aGFzaF9pb193YWl0ID0gMDsKKyAJCWhwLT5oYXNoX2Zyb3plbiA9IGhwLT5oYXNoX3RoYXdlZCA9IGhwLT5oYXNoX2Zyb3plbl9mcmVlZCA9IDA7CitkaWZmIC0tZ2l0IGEvc3JjL211dGV4L211dF9tZXRob2QuYyBiL3NyYy9tdXRleC9tdXRfbWV0aG9kLmMKK2luZGV4IDA5MzUzYjAuLjNjOTU0YjkgMTAwNjQ0CistLS0gYS9zcmMvbXV0ZXgvbXV0X21ldGhvZC5jCisrKysgYi9zcmMvbXV0ZXgvbXV0X21ldGhvZC5jCitAQCAtNDc0LDcgKzQ3NCw3IEBAIGF0b21pY19jb21wYXJlX2V4Y2hhbmdlKGVudiwgdiwgb2xkdmFsLCBuZXd2YWwpCisgCU1VVEVYX0xPQ0soZW52LCBtdHgpOworIAlyZXQgPSBhdG9taWNfcmVhZCh2KSA9PSBvbGR2YWw7CisgCWlmIChyZXQpCistCQlhdG9taWNfaW5pdCh2LCBuZXd2YWwpOworKwkJX19kYl9hdG9taWNfaW5pdCh2LCBuZXd2YWwpOworIAlNVVRFWF9VTkxPQ0soZW52LCBtdHgpOworIAorIAlyZXR1cm4gKHJldCk7CitkaWZmIC0tZ2l0IGEvc3JjL211dGV4L211dF90YXMuYyBiL3NyYy9tdXRleC9tdXRfdGFzLmMKK2luZGV4IDEwNmIxNjEuLjVhM2IwMzMgMTAwNjQ0CistLS0gYS9zcmMvbXV0ZXgvbXV0X3Rhcy5jCisrKysgYi9zcmMvbXV0ZXgvbXV0X3Rhcy5jCitAQCAtNDcsNyArNDcsNyBAQCBfX2RiX3Rhc19tdXRleF9pbml0KGVudiwgbXV0ZXgsIGZsYWdzKQorIAorICNpZmRlZiBIQVZFX1NIQVJFRF9MQVRDSEVTCisgCWlmIChGX0lTU0VUKG11dGV4cCwgREJfTVVURVhfU0hBUkVEKSkKKy0JCWF0b21pY19pbml0KCZtdXRleHAtPnNoYXJlY291bnQsIDApOworKwkJX19kYl9hdG9taWNfaW5pdCgmbXV0ZXhwLT5zaGFyZWNvdW50LCAwKTsKKyAJZWxzZQorICNlbmRpZgorIAlpZiAoTVVURVhfSU5JVCgmbXV0ZXhwLT50YXMpKSB7CitAQCAtNTM2LDcgKzUzNiw3IEBAIF9fZGJfdGFzX211dGV4X3VubG9jayhlbnYsIG11dGV4KQorIAkJCUZfQ0xSKG11dGV4cCwgREJfTVVURVhfTE9DS0VEKTsKKyAJCQkvKiBGbHVzaCBmbGFnIHVwZGF0ZSBiZWZvcmUgemVyb2luZyBjb3VudCAqLworIAkJCU1FTUJBUl9FWElUKCk7CistCQkJYXRvbWljX2luaXQoJm11dGV4cC0+c2hhcmVjb3VudCwgMCk7CisrCQkJX19kYl9hdG9taWNfaW5pdCgmbXV0ZXhwLT5zaGFyZWNvdW50LCAwKTsKKyAJCX0gZWxzZSB7CisgCQkJREJfQVNTRVJUKGVudiwgc2hhcmVjb3VudCA+IDApOworIAkJCU1FTUJBUl9FWElUKCk7CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2RiL2RiXzUuMy4yOC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZGIvZGJfNS4zLjI4LmJiCmluZGV4IGI3ZWQyYzcuLjg5NzU2NDcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZGIvZGJfNS4zLjI4LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZGIvZGJfNS4zLjI4LmJiCkBAIC0yNSwxMSArMjUsMTIgQEAKICAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWF0b21pYy1SZW5hbWUtbG9jYWwtX19hdG9taWNfY29tcGFyZV9leGNoYW5nZS10by1hdm8ucGF0Y2ggXAogICAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLUFkZC1leHBsaWNpdC10YWctb3B0aW9ucy10by1saWJ0b29sLWludm9jYS5wYXRjaCBcCiAgICAgICAgICAgICBmaWxlOi8vc2VxdWVuY2UtdHlwZS5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtbGliYy1jb21wYXRpYmlsaXR5LWJ5LXJlbmFtaW5nLWF0b21pY19pbml0LUFQSS5wYXRjaCBcCiAgICAgICAgICAgICIKICMgV2UgYXJlIG5vdCBpbnRlcmVzdGVkIGluIG9mZmljaWFsIGxhdGVzdCA2LnggdmVyc2lvbnM7CiAjIGxldCdzIHRyYWNrIHdoYXQgZGViaWFuIGlzIHVzaW5nLgogVVBTVFJFQU1fQ0hFQ0tfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9kL2RiNS4zLyIKLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gImRiNVwuM18oP1A8cHZlcj4uKylcLm9yaWciCitVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJkYjVcLjNfKD9QPHB2ZXI+XGQrKFwuXGQrKSspLitcLm9yaWciCiAKIFNSQ19VUklbbWQ1c3VtXSA9ICJiOTk0NTQ1NjRkNWI0NDc5NzUwNTY3MDMxZDY2ZmUyNCIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICJlMGE5OTJkNzQwNzA5ODkyZTgxZjlkOTNmMDZkYWYzMDVjZjczZmI4MWI1NDVhZmU3MjQ3ODA0MzE3MmMzNjI4IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9kZWJpYW51dGlscy9kZWJpYW51dGlsc180LjguNi4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9kZWJpYW51dGlscy9kZWJpYW51dGlsc180LjguNi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjYzc4YTYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2RlYmlhbnV0aWxzL2RlYmlhbnV0aWxzXzQuOC42LjEuYmIKQEAgLTAsMCArMSw1NyBAQAorU1VNTUFSWSA9ICJNaXNjZWxsYW5lb3VzIHV0aWxpdGllcyBzcGVjaWZpYyB0byBEZWJpYW4iCitTRUNUSU9OID0gImJhc2UiCitMSUNFTlNFID0gIkdQTHYyICYgU01BSUxfR1BMIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZGViaWFuL2NvcHlyaWdodDttZDU9ZjAxYTUyMDNkNTA1MTJmYzQ4MzBiNDMzMmI2OTZhOWYiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NuYXBzaG90LmRlYmlhbi5vcmcvYXJjaGl2ZS9kZWJpYW4vMjAxOTAyMTdUMTYwNzE2Wi9wb29sL21haW4vZC8ke0JQTn0vJHtCUE59XyR7UFZ9LnRhci54eiIKKyMgdGhlIHBhY2thZ2UgaXMgdGFrZW4gZnJvbSBzbmFwc2hvdHMuZGViaWFuLm9yZzsgdGhhdCBzb3VyY2UgaXMgc3RhdGljIGFuZCBnb2VzIHN0YWxlCisjIHNvIHdlIGNoZWNrIHRoZSBsYXRlc3QgdXBzdHJlYW0gZnJvbSBhIGRpcmVjdG9yeSB0aGF0IGRvZXMgZ2V0IHVwZGF0ZWQKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vZC8ke0JQTn0vIgorCitTUkNfVVJJW21kNXN1bV0gPSAiODBlMmU2NzBkOGY2YzAwMzY3NzBlOTcxMjM3ZjFmNWMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDk5ZjFlOGE3Mjc4YjI2MTQ1YTJiYTJkZGE4NGM0MTE4NDAzYmZhYjM4YzhkNzA3MGE2MjM1YTdmZmNiNTVlZCIKKworUyA9ICIke1dPUktESVJ9LyR7QlBOfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLWFsdGVybmF0aXZlcworCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWkgLWUgJ3M6dGVtcGZpbGUuMSB3aGljaC4xOndoaWNoLjE6ZycgJHtTfS9NYWtlZmlsZS5hbQorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpZiBbICIke2Jhc2VfYmluZGlyfSIgIT0gIiR7YmluZGlyfSIgXTsgdGhlbgorICAgICAgICAjIERlYmlhbiBwbGFjZXMgc29tZSB1dGlscyBpbnRvICR7YmFzZV9iaW5kaXJ9IGFzIGRvZXMgYnVzeWJveAorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke2Jhc2VfYmluZGlyfQorICAgICAgICBmb3IgYXBwIGluIHJ1bi1wYXJ0cyB0ZW1wZmlsZTsgZG8KKyAgICAgICAgICAgIG12ICR7RH0ke2JpbmRpcn0vJGFwcCAke0R9JHtiYXNlX2JpbmRpcn0vJGFwcAorICAgICAgICBkb25lCisgICAgZmkKK30KKworIyBOb3RlIHRoYXQgd2UgcGFja2FnZSB0aGUgdXBkYXRlLWFsdGVybmF0aXZlcyBuYW1lLgorIworUEFDS0FHRVMgPSsgIiR7UE59LXJ1bi1wYXJ0cyIKK0ZJTEVTXyR7UE59LXJ1bi1wYXJ0cyA9ICIke2Jhc2VfYmluZGlyfS9ydW4tcGFydHMuZGViaWFudXRpbHMiCisKK1JERVBFTkRTXyR7UE59ICs9ICIke1BOfS1ydW4tcGFydHMiCitSREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiIgorCitBTFRFUk5BVElWRV9QUklPUklUWT0iMzAiCitBTFRFUk5BVElWRV8ke1BOfSA9ICJhZGQtc2hlbGwgaW5zdGFsbGtlcm5lbCByZW1vdmUtc2hlbGwgc2F2ZWxvZyB0ZW1wZmlsZSB3aGljaCIKKworQUxURVJOQVRJVkVfUFJJT1JJVFlfJHtQTn0tcnVuLXBhcnRzID0gIjYwIgorQUxURVJOQVRJVkVfJHtQTn0tcnVuLXBhcnRzID0gInJ1bi1wYXJ0cyIKKworQUxURVJOQVRJVkVfJHtQTn0tZG9jID0gIndoaWNoLjEiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbd2hpY2guMV0gPSAiJHttYW5kaXJ9L21hbjEvd2hpY2guMSIKKworQUxURVJOQVRJVkVfTElOS19OQU1FW2FkZC1zaGVsbF09IiR7c2JpbmRpcn0vYWRkLXNoZWxsIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2luc3RhbGxrZXJuZWxdPSIke3NiaW5kaXJ9L2luc3RhbGxrZXJuZWwiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbcmVtb3ZlLXNoZWxsXT0iJHtzYmluZGlyfS9yZW1vdmUtc2hlbGwiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbcnVuLXBhcnRzXT0iJHtiYXNlX2JpbmRpcn0vcnVuLXBhcnRzIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3NhdmVsb2ddPSIke2JpbmRpcn0vc2F2ZWxvZyIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt0ZW1wZmlsZV09IiR7YmFzZV9iaW5kaXJ9L3RlbXBmaWxlIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3doaWNoXT0iJHtiaW5kaXJ9L3doaWNoIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZGViaWFudXRpbHMvZGViaWFudXRpbHNfNC44LjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2RlYmlhbnV0aWxzL2RlYmlhbnV0aWxzXzQuOC42LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMzdlODQyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZGViaWFudXRpbHMvZGViaWFudXRpbHNfNC44LjYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi1TVU1NQVJZID0gIk1pc2NlbGxhbmVvdXMgdXRpbGl0aWVzIHNwZWNpZmljIHRvIERlYmlhbiIKLVNFQ1RJT04gPSAiYmFzZSIKLUxJQ0VOU0UgPSAiR1BMdjIgJiBTTUFJTF9HUEwiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kZWJpYW4vY29weXJpZ2h0O21kNT1mMDFhNTIwM2Q1MDUxMmZjNDgzMGI0MzMyYjY5NmE5ZiIKLQotU1JDX1VSSSA9ICJodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi8yMDE4MDYyNlQyMDUyMzhaL3Bvb2wvbWFpbi9kLyR7QlBOfS8ke0JQTn1fJHtQVn0udGFyLnh6IgotIyB0aGUgcGFja2FnZSBpcyB0YWtlbiBmcm9tIHNuYXBzaG90cy5kZWJpYW4ub3JnOyB0aGF0IHNvdXJjZSBpcyBzdGF0aWMgYW5kIGdvZXMgc3RhbGUKLSMgc28gd2UgY2hlY2sgdGhlIGxhdGVzdCB1cHN0cmVhbSBmcm9tIGEgZGlyZWN0b3J5IHRoYXQgZG9lcyBnZXQgdXBkYXRlZAotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9kLyR7QlBOfS8iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJmMGYxZmEzOTM4MzgxNWZiNzk1MGRjZWU1MmJlNDM2MSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJkYjA5MDQ3MTQ0ZGFkZjZhMzVkMGYyODk3N2ZiZWY4M2IwZGQ2MGNhMzJlNmM4NTEyY2NlMjQ0NGE2NDIzZjczIgotCi1pbmhlcml0IGF1dG90b29scyB1cGRhdGUtYWx0ZXJuYXRpdmVzCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotICAgIHNlZCAtaSAtZSAnczp0ZW1wZmlsZS4xIHdoaWNoLjE6d2hpY2guMTpnJyAke1N9L01ha2VmaWxlLmFtCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIGlmIFsgIiR7YmFzZV9iaW5kaXJ9IiAhPSAiJHtiaW5kaXJ9IiBdOyB0aGVuCi0gICAgICAgICMgRGViaWFuIHBsYWNlcyBzb21lIHV0aWxzIGludG8gJHtiYXNlX2JpbmRpcn0gYXMgZG9lcyBidXN5Ym94Ci0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7YmFzZV9iaW5kaXJ9Ci0gICAgICAgIGZvciBhcHAgaW4gcnVuLXBhcnRzIHRlbXBmaWxlOyBkbwotICAgICAgICAgICAgbXYgJHtEfSR7YmluZGlyfS8kYXBwICR7RH0ke2Jhc2VfYmluZGlyfS8kYXBwCi0gICAgICAgIGRvbmUKLSAgICBmaQotfQotCi0jIE5vdGUgdGhhdCB3ZSBwYWNrYWdlIHRoZSB1cGRhdGUtYWx0ZXJuYXRpdmVzIG5hbWUuCi0jCi1QQUNLQUdFUyA9KyAiJHtQTn0tcnVuLXBhcnRzIgotRklMRVNfJHtQTn0tcnVuLXBhcnRzID0gIiR7YmFzZV9iaW5kaXJ9L3J1bi1wYXJ0cy5kZWJpYW51dGlscyIKLQotUkRFUEVORFNfJHtQTn0gKz0gIiR7UE59LXJ1bi1wYXJ0cyIKLVJERVBFTkRTXyR7UE59X2NsYXNzLW5hdGl2ZSA9ICIiCi0KLUFMVEVSTkFUSVZFX1BSSU9SSVRZPSIzMCIKLUFMVEVSTkFUSVZFXyR7UE59ID0gImFkZC1zaGVsbCBpbnN0YWxsa2VybmVsIHJlbW92ZS1zaGVsbCBzYXZlbG9nIHRlbXBmaWxlIHdoaWNoIgotCi1BTFRFUk5BVElWRV9QUklPUklUWV8ke1BOfS1ydW4tcGFydHMgPSAiNjAiCi1BTFRFUk5BVElWRV8ke1BOfS1ydW4tcGFydHMgPSAicnVuLXBhcnRzIgotCi1BTFRFUk5BVElWRV8ke1BOfS1kb2MgPSAid2hpY2guMSIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVt3aGljaC4xXSA9ICIke21hbmRpcn0vbWFuMS93aGljaC4xIgotCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbYWRkLXNoZWxsXT0iJHtzYmluZGlyfS9hZGQtc2hlbGwiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbaW5zdGFsbGtlcm5lbF09IiR7c2JpbmRpcn0vaW5zdGFsbGtlcm5lbCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtyZW1vdmUtc2hlbGxdPSIke3NiaW5kaXJ9L3JlbW92ZS1zaGVsbCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtydW4tcGFydHNdPSIke2Jhc2VfYmluZGlyfS9ydW4tcGFydHMiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbc2F2ZWxvZ109IiR7YmluZGlyfS9zYXZlbG9nIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3RlbXBmaWxlXT0iJHtiYXNlX2JpbmRpcn0vdGVtcGZpbGUiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbd2hpY2hdPSIke2JpbmRpcn0vd2hpY2giCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nZGJtL2dkYm1fMS4xOC4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nZGJtL2dkYm1fMS4xOC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2ZWNjNTAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dkYm0vZ2RibV8xLjE4LjEuYmIKQEAgLTAsMCArMSw0MyBAQAorU1VNTUFSWSA9ICJLZXkvdmFsdWUgZGF0YWJhc2UgbGlicmFyeSB3aXRoIGV4dGVuc2libGUgaGFzaGluZyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9nZGJtLyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yNDFkYTFiOWZlNDJlNjQyY2JiMmMyNGQ1ZTBjNGQyNCIKKworCitTUkNfVVJJID0gIiR7R05VX01JUlJPUn0vZ2RibS9nZGJtLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorICAgICAgICAgICBmaWxlOi8vcHRlc3QucGF0Y2ggXAorICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjk4OGRjODIxODIxMjFjNzU3MGUwY2I4YjRmY2Q1NDE1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjg2ZTYxMzUyN2U1ZGJhNTQ0ZTczMjA4ZjQyYjc4YjdjMDIyZDRmYTVhNmQ1NDk4YmYxOGM4ZDZmNzQ1YjkxZGMiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgdGV4aW5mbyBsaWJfcGFja2FnZSBwdGVzdAorCisjIE5lZWRlZCBmb3IgZGJtIHB5dGhvbiBtb2R1bGUKK0VYVFJBX09FQ09ORiA9ICItZW5hYmxlLWxpYmdkYm0tY29tcGF0IgorCisjIFN0b3AgcHJlc2VuY2Ugb2YgZGJtL25iZG0gb24gdGhlIGhvc3QgY29udGFtaW5hdGluZyBidWlsZHMKK0NBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJhY19jdl9saWJfbmRibV9tYWluPW5vIGFjX2N2X2xpYl9kYm1fbWFpbj1ubyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgIyBDcmVhdGUgYSBzeW1saW5rIHRvIG5kYm0uaCBhbmQgZ2RibS5oIGluIGluY2x1ZGUvZ2RibSB0byBsZXQgb3RoZXIgcGFja2FnZXMgdG8gZmluZAorICAgICMgdGhlc2UgaGVhZGVycworICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0vZ2RibQorICAgIGxuIC1zZiAuLi9uZGJtLmggJHtEfS8ke2luY2x1ZGVkaXJ9L2dkYm0vbmRibS5oCisgICAgbG4gLXNmIC4uL2dkYm0uaCAke0R9LyR7aW5jbHVkZWRpcn0vZ2RibS9nZGJtLmgKK30KKworUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gImRpZmZ1dGlscyAke1BOfS1iaW4iCisKK2RvX2NvbXBpbGVfcHRlc3QoKSB7CisgICAgb2VfcnVubWFrZSAtQyB0ZXN0cyBidWlsZHRlc3RzCit9CisKK1BBQ0tBR0VTID0rICIke1BOfS1jb21wYXQgXAorICAgICAgICAgICAgIgorRklMRVNfJHtQTn0tY29tcGF0ID0gIiR7bGliZGlyfS9saWJnZGJtX2NvbXBhdCR7U09MSUJTfSBcCisgICAgICAgICAgICAgICAgICAgICAiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dkYm0vZ2RibV8xLjE4LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nZGJtL2dkYm1fMS4xOC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWFkNDMwMC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dkYm0vZ2RibV8xLjE4LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotU1VNTUFSWSA9ICJLZXkvdmFsdWUgZGF0YWJhc2UgbGlicmFyeSB3aXRoIGV4dGVuc2libGUgaGFzaGluZyIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9nZGJtLyIKLVNFQ1RJT04gPSAibGlicyIKLUxJQ0VOU0UgPSAiR1BMdjMiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yNDFkYTFiOWZlNDJlNjQyY2JiMmMyNGQ1ZTBjNGQyNCIKLQotCi1TUkNfVVJJID0gIiR7R05VX01JUlJPUn0vZ2RibS9nZGJtLSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAotICAgICAgICAgICBmaWxlOi8vcHRlc3QucGF0Y2ggXAotICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gImUzMTZmOGU0YTNlN2U0ZjIzOTU1YmU2NWQ1NGZlYzQ4IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImI4ODIyY2I0NzY5ZTJkNzU5YzgyOGMwNmYxOTY2MTQ5MzZjODhjMTQxYzMxMzJiMTgyNTJmZTI1YzJiNjM1Y2UiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgdGV4aW5mbyBsaWJfcGFja2FnZSBwdGVzdAotCi0jIE5lZWRlZCBmb3IgZGJtIHB5dGhvbiBtb2R1bGUKLUVYVFJBX09FQ09ORiA9ICItZW5hYmxlLWxpYmdkYm0tY29tcGF0IgotCi0jIFN0b3AgcHJlc2VuY2Ugb2YgZGJtL25iZG0gb24gdGhlIGhvc3QgY29udGFtaW5hdGluZyBidWlsZHMKLUNBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJhY19jdl9saWJfbmRibV9tYWluPW5vIGFjX2N2X2xpYl9kYm1fbWFpbj1ubyIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgotCi1kb19pbnN0YWxsX2FwcGVuZCAoKSB7Ci0gICAgIyBDcmVhdGUgYSBzeW1saW5rIHRvIG5kYm0uaCBhbmQgZ2RibS5oIGluIGluY2x1ZGUvZ2RibSB0byBsZXQgb3RoZXIgcGFja2FnZXMgdG8gZmluZAotICAgICMgdGhlc2UgaGVhZGVycwotICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0vZ2RibQotICAgIGxuIC1zZiAuLi9uZGJtLmggJHtEfS8ke2luY2x1ZGVkaXJ9L2dkYm0vbmRibS5oCi0gICAgbG4gLXNmIC4uL2dkYm0uaCAke0R9LyR7aW5jbHVkZWRpcn0vZ2RibS9nZGJtLmgKLX0KLQotUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gImRpZmZ1dGlscyAke1BOfS1iaW4iCi0KLWRvX2NvbXBpbGVfcHRlc3QoKSB7Ci0gICAgb2VfcnVubWFrZSAtQyB0ZXN0cyBidWlsZHRlc3RzCi19Ci0KLVBBQ0tBR0VTID0rICIke1BOfS1jb21wYXQgXAotICAgICAgICAgICAgIgotRklMRVNfJHtQTn0tY29tcGF0ID0gIiR7bGliZGlyfS9saWJnZGJtX2NvbXBhdCR7U09MSUJTfSBcCi0gICAgICAgICAgICAgICAgICAgICAiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dub21lLWRlc2t0b3AtdGVzdGluZy9nbm9tZS1kZXNrdG9wLXRlc3RpbmcvMDAwMS1nc3lzdGVtLXN1YnByb2Nlc3MuYy1FbmFibGUtR05VLWV4dGVuc2lvbnMtaW4tc3lzdGVtLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbm9tZS1kZXNrdG9wLXRlc3RpbmcvZ25vbWUtZGVza3RvcC10ZXN0aW5nLzAwMDEtZ3N5c3RlbS1zdWJwcm9jZXNzLmMtRW5hYmxlLUdOVS1leHRlbnNpb25zLWluLXN5c3RlbS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODQwNjY2Zi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dub21lLWRlc2t0b3AtdGVzdGluZy9nbm9tZS1kZXNrdG9wLXRlc3RpbmcvMDAwMS1nc3lzdGVtLXN1YnByb2Nlc3MuYy1FbmFibGUtR05VLWV4dGVuc2lvbnMtaW4tc3lzdGVtLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotRnJvbSBiMWRlMmM2MjkwYmMwNjUxZmU4N2E4YzRmYjUyZTdhMGE1ZmU2MzIyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFN1biwgNSBPY3QgMjAxNCAxNjowMTo0OSAtMDcwMAotU3ViamVjdDogW1BBVENIXSBnc3lzdGVtLXN1YnByb2Nlc3MuYzogRW5hYmxlIEdOVSBleHRlbnNpb25zIGluIHN5c3RlbSAgQwotIGxpYnJhcnkKLQotVGhpcyBzaG91bGQgZXhwb3J0IE9fQ0xPRVhFQyB3aGVyZSBpdCBpcyBvbmx5Ci1hdmFpbGFibGUgd2hlbiBfR05VX1NPVVJDRSBpcyBkZWZpbmVkIC5lLmcuIHVjbGliYyBiYXNlZCBzeXN0ZW1zCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0tLS0KLSBzcmMvbGliZ3N5c3RlbS9nc3lzdGVtLXN1YnByb2Nlc3MuYyB8IDQgKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy9saWJnc3lzdGVtL2dzeXN0ZW0tc3VicHJvY2Vzcy5jIGIvc3JjL2xpYmdzeXN0ZW0vZ3N5c3RlbS1zdWJwcm9jZXNzLmMKLWluZGV4IGE5Njc4OTYuLmE1MmEzNjIgMTAwNjQ0Ci0tLS0gYS9zcmMvbGliZ3N5c3RlbS9nc3lzdGVtLXN1YnByb2Nlc3MuYwotKysrIGIvc3JjL2xpYmdzeXN0ZW0vZ3N5c3RlbS1zdWJwcm9jZXNzLmMKLUBAIC0xOCw2ICsxOCwxMCBAQAotIAotICNpbmNsdWRlICJjb25maWcuaCIKLSAKLSsjaWZuZGVmIF9HTlVfU09VUkNFCi0rI2RlZmluZSBfR05VX1NPVVJDRQotKyNlbmRpZgotKwotICNkZWZpbmUgX0dTWVNURU1fTk9fTE9DQUxfQUxMT0MKLSAjaW5jbHVkZSAibGliZ3N5c3RlbS5oIgotIAotLS0gCi0yLjEuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dub21lLWRlc2t0b3AtdGVzdGluZy9nbm9tZS1kZXNrdG9wLXRlc3RpbmcvdXBkYXRlLW91dHB1dC1zeW50YXgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dub21lLWRlc2t0b3AtdGVzdGluZy9nbm9tZS1kZXNrdG9wLXRlc3RpbmcvdXBkYXRlLW91dHB1dC1zeW50YXgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE5YzUyNGIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbm9tZS1kZXNrdG9wLXRlc3RpbmcvZ25vbWUtZGVza3RvcC10ZXN0aW5nL3VwZGF0ZS1vdXRwdXQtc3ludGF4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotCi1UaGUgdGVybXMgYEZBSUxgIGluc3RlYWQgb2YgYEZBSUxFRGAgYW5kIGBTS0lQYCBpbnN0ZWFkIG9mIGBTS0lQUEVEYAotbWF0Y2ggd2hhdCBBdXRvbWFrZSBkb2VzCi0KLVVwc3RyZWFtLVN0YXR1czogQWNjZXB0ZWQKLVsgaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLWRlc2t0b3AtdGVzdGluZy9jb21taXQvMDQ4ODUwNzMxYTY0MDUzMmVmNTVhNjFkZjczNTdmY2M2ZDJhZDUwMSBdCi0KLVNpZ25lZC1vZmYtYnk6IE1heGluIEIuIEpvaG4gPG1heGluLmpvaG5AaW50ZWwuY29tPgotLS0tCi1kaWZmIC1OYXVyIGdub21lLWRlc2t0b3AtdGVzdGluZy0yMDE0LjEtb3JpZy9zcmMvZ25vbWUtZGVza3RvcC10ZXN0aW5nLXJ1bm5lci5jIGdub21lLWRlc2t0b3AtdGVzdGluZy0yMDE0LjEvc3JjL2dub21lLWRlc2t0b3AtdGVzdGluZy1ydW5uZXIuYwotLS0tIGdub21lLWRlc2t0b3AtdGVzdGluZy0yMDE0LjEtb3JpZy9zcmMvZ25vbWUtZGVza3RvcC10ZXN0aW5nLXJ1bm5lci5jCTIwMTQtMDEtMTYgMTI6NTg6MjYuMDAwMDAwMDAwICswMjAwCi0rKysgZ25vbWUtZGVza3RvcC10ZXN0aW5nLTIwMTQuMS9zcmMvZ25vbWUtZGVza3RvcC10ZXN0aW5nLXJ1bm5lci5jCTIwMTUtMTEtMDIgMTE6Mjc6MzQuMDEwNTk0MTI2ICswMjAwCi1AQCAtMjgwLDEyICsyODAsMTIgQEAKLSAgIGVsc2UgaWYgKHRlc3QtPnN0YXRlID09IFRFU1RfU1RBVEVfQ09NUExFVEVfRkFJTEVEKQotICAgICB7Ci0gICAgICAgbXNnaWRfdmFsdWUgPSBPTkVfVEVTVF9GQUlMRURfTVNHSUQ7Ci0tICAgICAgbXNnID0gZ19zdHJjb25jYXQgKCJGQUlMRUQ6ICIsIHRlc3QtPm5hbWUsICIgKCIsIHJlYXNvbiwgIikiLCBOVUxMKTsKLSsgICAgICBtc2cgPSBnX3N0cmNvbmNhdCAoIkZBSUw6ICIsIHRlc3QtPm5hbWUsICIgKCIsIHJlYXNvbiwgIikiLCBOVUxMKTsKLSAgICAgfQotICAgZWxzZSBpZiAodGVzdC0+c3RhdGUgPT0gVEVTVF9TVEFURV9DT01QTEVURV9TS0lQUEVEKQotICAgICB7Ci0gICAgICAgbXNnaWRfdmFsdWUgPSBPTkVfVEVTVF9TS0lQUEVEX01TR0lEOwotLSAgICAgIG1zZyA9IGdfc3RyY29uY2F0ICgiU0tJUFBFRDogIiwgdGVzdC0+bmFtZSwgTlVMTCk7Ci0rICAgICAgbXNnID0gZ19zdHJjb25jYXQgKCJTS0lQOiAiLCB0ZXN0LT5uYW1lLCBOVUxMKTsKLSAgICAgfQotICAgZWxzZQotICAgICBnX2Fzc2VydF9ub3RfcmVhY2hlZCAoKTsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ25vbWUtZGVza3RvcC10ZXN0aW5nL2dub21lLWRlc2t0b3AtdGVzdGluZ18yMDE0LjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dub21lLWRlc2t0b3AtdGVzdGluZy9nbm9tZS1kZXNrdG9wLXRlc3RpbmdfMjAxNC4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjY2IzZDNiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ25vbWUtZGVza3RvcC10ZXN0aW5nL2dub21lLWRlc2t0b3AtdGVzdGluZ18yMDE0LjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi1TVU1NQVJZID0gIlRlc3QgcnVubmVyIGZvciBHTk9NRS1zdHlsZSBpbnN0YWxsZWQgdGVzdHMiCi1IT01FUEFHRSA9ICJodHRwczovL3dpa2kuZ25vbWUub3JnL0dub21lR29hbHMvSW5zdGFsbGVkVGVzdHMiCi1MSUNFTlNFID0gIkxHUEx2MisiCi0KLVNSQ19VUkkgPSAiJHtHTk9NRV9NSVJST1J9LyR7QlBOfS8ke1BWfS8ke0JQTn0tJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtZ3N5c3RlbS1zdWJwcm9jZXNzLmMtRW5hYmxlLUdOVS1leHRlbnNpb25zLWluLXN5c3RlbS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly91cGRhdGUtb3V0cHV0LXN5bnRheC5wYXRjaCBcCi0gICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gImE2MDhhZDcyYTc3ZTIzYTFhZWNkZmQ4ZDA3YTk0YmFmIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFhM2VlZDczNjc4ZGQyMmQwOWQ2YTdlYzRmODk5NTU3ZGYzZThiNGE4MDJhZmZhNzZkMGYxNjNiMzEyODY1MzkiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTNiZjUwMDAyYWVmZDAwMmY0OWU3YmI4NTQwNjNmN2U3IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9nbm9tZS1kZXNrdG9wLXRlc3RpbmctcnVubmVyLmM7ZW5kbGluZT0xOTttZDU9NjczMTFhNjAwYjgzZmQwMDY4ZGZjN2U1Yjg0ZmZiM2YiCi0KLURFUEVORFMgPSAiZ2xpYi0yLjAiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi1QUiA9ICJyMSIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiIKLVBBQ0tBR0VDT05GSUdbam91cm5hbGRdID0gIi0td2l0aC1zeXN0ZW1kLWpvdXJuYWwsLS13aXRob3V0LXN5c3RlbWQtam91cm5hbCxzeXN0ZW1kLHN5c3RlbWQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dub21lLWRlc2t0b3AtdGVzdGluZy9nbm9tZS1kZXNrdG9wLXRlc3RpbmdfMjAxOC4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbm9tZS1kZXNrdG9wLXRlc3RpbmcvZ25vbWUtZGVza3RvcC10ZXN0aW5nXzIwMTguMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZGVmZWJlCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbm9tZS1kZXNrdG9wLXRlc3RpbmcvZ25vbWUtZGVza3RvcC10ZXN0aW5nXzIwMTguMS5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gIlRlc3QgcnVubmVyIGZvciBHTk9NRS1zdHlsZSBpbnN0YWxsZWQgdGVzdHMiCitIT01FUEFHRSA9ICJodHRwczovL3dpa2kuZ25vbWUub3JnL0dub21lR29hbHMvSW5zdGFsbGVkVGVzdHMiCitMSUNFTlNFID0gIkxHUEx2MisiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTNiZjUwMDAyYWVmZDAwMmY0OWU3YmI4NTQwNjNmN2U3IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9nbm9tZS1kZXNrdG9wLXRlc3RpbmctcnVubmVyLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0yMDttZDU9N2VmM2FkOWRhMmZmY2Y3NzA3ZGMxMTE1MWZlMDA3ZjQiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1kZXNrdG9wLXRlc3RpbmcuZ2l0O3Byb3RvY29sPWh0dHAiCitTUkNSRVYgPSAiNGRlY2FkZTY3YjI5YWQxNzBmY2YzZGUxNDhlNDE2OTVmYzQ1OWY0OCIKKworREVQRU5EUyA9ICJnbGliLTIuMCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgZCl9IgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICIsLHN5c3RlbWQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dudXBnL2dudXBnLzAwMDEtV292ZXJyaWRlLWluaXQtaXMtbm90LW5lZWRlZC13aXRoLWdjYy05LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbnVwZy9nbnVwZy8wMDAxLVdvdmVycmlkZS1pbml0LWlzLW5vdC1uZWVkZWQtd2l0aC1nY2MtOS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YTI4MGY5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbnVwZy9nbnVwZy8wMDAxLVdvdmVycmlkZS1pbml0LWlzLW5vdC1uZWVkZWQtd2l0aC1nY2MtOS5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIDBkZjU4MDBjYzJlNzIwYWFkODgzYTUxN2Y3ZDI0YTk3MjJmZTU4NDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVGh1LCAyMCBEZWMgMjAxOCAxNzozNzo0OCAtMDgwMAorU3ViamVjdDogW1BBVENIXSBXb3ZlcnJpZGUtaW5pdCBpcyBub3QgbmVlZGVkIHdpdGggZ2NjIDkKKworRml4ZXMKK3wgLi4vLi4vZ251cGctMi4yLjEyL2Rpcm1uZ3IvZG5zLmg6NTI1OjE2OiBlcnJvcjogbHZhbHVlIHJlcXVpcmVkIGFzCit1bmFyeSAnJicgb3BlcmFuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cis1MjUgfCAgZG5zX3JyX2lfaW5pdCgmZG5zX3F1aWV0aW5pdCgoc3RydWN0IGRuc19ycl9pKXsgMCwgX19WQV9BUkdTX18KK30pLCAoUCkpCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgZGlybW5nci9kbnMuaCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2Rpcm1uZ3IvZG5zLmggYi9kaXJtbmdyL2Rucy5oCitpbmRleCAzMGQwYjQ1Li45OGZlNDEyIDEwMDY0NAorLS0tIGEvZGlybW5nci9kbnMuaAorKysrIGIvZGlybW5nci9kbnMuaAorQEAgLTE1NCw3ICsxNTQsNyBAQCBETlNfUFVCTElDIGludCAqZG5zX2RlYnVnX3Aodm9pZCk7CisgCisgI2RlZmluZSBkbnNfcXVpZXRpbml0KC4uLikgXAorIAlETlNfUFJBR01BX1BVU0ggRE5TX1BSQUdNQV9RVUlFVCBfX1ZBX0FSR1NfXyBETlNfUFJBR01BX1BPUAorLSNlbGlmIChfX0dOVUNfXyA9PSA0ICYmIF9fR05VQ19NSU5PUl9fID49IDYpIHx8IF9fR05VQ19fID4gNAorKyNlbGlmIChfX0dOVUNfXyA9PSA0ICYmIF9fR05VQ19NSU5PUl9fID49IDYpIHx8IChfX0dOVUNfXyA+IDQgJiYgX19HTlVDX18gPCA5KQorICNkZWZpbmUgRE5TX1BSQUdNQV9QVVNIIF9QcmFnbWEoIkdDQyBkaWFnbm9zdGljIHB1c2giKQorICNkZWZpbmUgRE5TX1BSQUdNQV9RVUlFVCBfUHJhZ21hKCJHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkIFwiLVdvdmVycmlkZS1pbml0XCIiKQorICNkZWZpbmUgRE5TX1BSQUdNQV9QT1AgX1ByYWdtYSgiR0NDIGRpYWdub3N0aWMgcG9wIikKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ251cGcvZ251cGcvMDAwMS1jb25maWd1cmUuYWMtdXNlLWEtY3VzdG9tLXZhbHVlLWZvci10aGUtbG9jYXRpb24tb2YtLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbnVwZy9nbnVwZy8wMDAxLWNvbmZpZ3VyZS5hYy11c2UtYS1jdXN0b20tdmFsdWUtZm9yLXRoZS1sb2NhdGlvbi1vZi0ucGF0Y2gKaW5kZXggM2YxYzNhYi4uMmMyMDRlMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbnVwZy9nbnVwZy8wMDAxLWNvbmZpZ3VyZS5hYy11c2UtYS1jdXN0b20tdmFsdWUtZm9yLXRoZS1sb2NhdGlvbi1vZi0ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbnVwZy9nbnVwZy8wMDAxLWNvbmZpZ3VyZS5hYy11c2UtYS1jdXN0b20tdmFsdWUtZm9yLXRoZS1sb2NhdGlvbi1vZi0ucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDhlYjRkMjVjMjVhMWMxMzIzNzk3ZDk0ZTA3MjdhM2U0MmI3ZjMyODcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGU3YWQxMWNmNTQ0NzVlNDU1ZmRiODRkMTE4ZTQ3ODI5NjE2OTg1NjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KIERhdGU6IE1vbiwgMjIgSmFuIDIwMTggMTg6MDA6MjEgKzAyMDAKIFN1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlLmFjOiB1c2UgYSBjdXN0b20gdmFsdWUgZm9yIHRoZSBsb2NhdGlvbiBvZgpAQCAtMTQsMTAgKzE0LDEwIEBACiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDRkNjZhZjkuLmI5ZWYyMzUgMTAwNjQ0CitpbmRleCA5MTlhYjMxLi5jZDU4ZmRiIDEwMDY0NAogLS0tIGEvY29uZmlndXJlLmFjCiArKysgYi9jb25maWd1cmUuYWMKLUBAIC0xODQ4LDcgKzE4NDgsNyBAQCBBQ19ERUZJTkVfVU5RVU9URUQoR1BHQ09ORl9ESVNQX05BTUUsICJHUEdDb25mIiwKK0BAIC0xODU1LDcgKzE4NTUsNyBAQCBBQ19ERUZJTkVfVU5RVU9URUQoR1BHQ09ORl9ESVNQX05BTUUsICJHUEdDb25mIiwKICAKICBBQ19ERUZJTkVfVU5RVU9URUQoR1BHVEFSX05BTUUsICJncGd0YXIiLCBbVGhlIG5hbWUgb2YgdGhlIGdwZ3RhciB0b29sXSkKICAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ251cGcvZ251cGcvcmVsb2NhdGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dudXBnL2dudXBnL3JlbG9jYXRlLnBhdGNoCmluZGV4IGM0OTRlZjguLmU1YTgyYWEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ251cGcvZ251cGcvcmVsb2NhdGUucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbnVwZy9nbnVwZy9yZWxvY2F0ZS5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gZjlmYzIxNGIwYmYyZjY3YjUxNWNhOGE1MzMzZjM5YzQ5N2QxYjUxOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNTljMDc3ZjMyZTgxMTkwOTU1OTEwY2FlMDI1OTljN2EzZWRmYTdmYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CiBEYXRlOiBXZWQsIDE5IFNlcCAyMDE4IDE0OjQ0OjQwICswMTAwCiBTdWJqZWN0OiBbUEFUQ0hdIEFsbG93IHRoZSBlbnZpcm9ubWVudCB0byBvdmVycmlkZSB3aGVyZSBnbnVwZyBsb29rcyBmb3IgaXRzCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dudXBnL2dudXBnXzIuMi4xMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ251cGcvZ251cGdfMi4yLjEyLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZjM4MWMyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ251cGcvZ251cGdfMi4yLjEyLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNTUgKzAsMCBAQAotU1VNTUFSWSA9ICJHTlUgUHJpdmFjeSBHdWFyZCAtIGVuY3J5cHRpb24gYW5kIHNpZ25pbmcgdG9vbHMgKDIueCkiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmdudXBnLm9yZy8iCi1MSUNFTlNFID0gIkdQTHYzICYgTEdQTHYzIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MTg5YWY4YWZjYTZkNjA3NWJhNmM5ZTBhYTgwNzc2MjYgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MR1BMMzttZDU9YTJiNmJmMmNiMzhlZTUyNjE5ZTYwZjMwYTFmYzcyNTciCi0KLURFUEVORFMgPSAibnB0aCBsaWJhc3N1YW4gbGlia3NiYSB6bGliIGJ6aXAyIHJlYWRsaW5lIGxpYmdjcnlwdCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCB0ZXhpbmZvIHBrZ2NvbmZpZwotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9nbnVwZy5vcmcvZG93bmxvYWQvaW5kZXguaHRtbCIKLVNSQ19VUkkgPSAiJHtHTlVQR19NSVJST1J9LyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLVVzZS1wa2ctY29uZmlnLXRvLWZpbmQtcHRoLWluc3RlYWQtb2YtcHRoLWNvbmZpZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLXVzZS1wa2djb25maWctaW5zdGVhZC1vZi1ucHRoLWNvbmZpZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAzLWRpcm1uZ3ItdXNlcy1saWJncGctZXJyb3IucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNC1hdXRvZ2VuLnNoLWZpeC1maW5kLXZlcnNpb24tZm9yLWJldGEtY2hlY2tpbmcucGF0Y2ggXAotICAgICAgICAgICIKLVNSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgZmlsZTovLzAwMDEtY29uZmlndXJlLmFjLXVzZS1hLWN1c3RvbS12YWx1ZS1mb3ItdGhlLWxvY2F0aW9uLW9mLS5wYXRjaCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9yZWxvY2F0ZS5wYXRjaCIKLQotCi1TUkNfVVJJW21kNXN1bV0gPSAiNDIxYjE3MDI4ODc4YjI1M2M1YWNmZWYwNTZiYzYxNDEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZGIwMzBmOGI0Yzk4NjQwZTkxMzAwZDM2ZDUxNmYxZjRmOGZlMDk1MTRhOTRlYTlmYzc0MTFlZTFhMzQwODJjYiIKLQotRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1sZGFwIFwKLQkJLS1kaXNhYmxlLWNjaWQtZHJpdmVyIFwKLQkJLS13aXRoLXpsaWI9JHtTVEFHSU5HX0xJQkRJUn0vLi4gXAotCQktLXdpdGgtYnppcDI9JHtTVEFHSU5HX0xJQkRJUn0vLi4gXAotCQktLXdpdGgtcmVhZGxpbmU9JHtTVEFHSU5HX0xJQkRJUn0vLi4gXAotCQktLWVuYWJsZS1ncGctaXMtZ3BnMiBcCi0gICAgICAgICAgICAgICAiCi1SUkVDT01NRU5EU18ke1BOfSA9ICJwaW5lbnRyeSIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgewotCSMgRWxzZSB0aGVzZSBjb3VsZCBiZSB1c2VkIGluIHByZWZlcm5jZSB0byB0aG9zZSBpbiBhY2xvY2FsLWNvcHkKLQlybSAtZiAke1N9L200L2dwZy1lcnJvci5tNAotCXJtIC1mICR7U30vbTQvbGliYXNzdWFuLm00Ci0Jcm0gLWYgJHtTfS9tNC9rc2JhLm00Ci0Jcm0gLWYgJHtTfS9tNC9saWJnY3J5cHQubTQKLX0KLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0JbG4gLXNmIGdwZzIgJHtEfSR7YmluZGlyfS9ncGcKLQlsbiAtc2YgZ3BndjIgJHtEfSR7YmluZGlyfS9ncGd2Ci19Ci0KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKLQljcmVhdGVfd3JhcHBlciAke0R9JHtiaW5kaXJ9L2dwZzIgR05VUEdfQklORElSPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfQotfQotCi1QQUNLQUdFQ09ORklHID8/PSAiZ251dGxzIgotUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIi0tZW5hYmxlLWdudXRscywgLS1kaXNhYmxlLWdudXRscywgZ251dGxzIgotUEFDS0FHRUNPTkZJR1tzcWxpdGUzXSA9ICItLWVuYWJsZS1zcWxpdGUsIC0tZGlzYWJsZS1zcWxpdGUsIHNxbGl0ZTMiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbnVwZy9nbnVwZ18yLjIuMTMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dudXBnL2dudXBnXzIuMi4xMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zY2UyYTM4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbnVwZy9nbnVwZ18yLjIuMTMuYmIKQEAgLTAsMCArMSw1NiBAQAorU1VNTUFSWSA9ICJHTlUgUHJpdmFjeSBHdWFyZCAtIGVuY3J5cHRpb24gYW5kIHNpZ25pbmcgdG9vbHMgKDIueCkiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmdudXBnLm9yZy8iCitMSUNFTlNFID0gIkdQTHYzICYgTEdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MTg5YWY4YWZjYTZkNjA3NWJhNmM5ZTBhYTgwNzc2MjYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MR1BMMzttZDU9YTJiNmJmMmNiMzhlZTUyNjE5ZTYwZjMwYTFmYzcyNTciCisKK0RFUEVORFMgPSAibnB0aCBsaWJhc3N1YW4gbGlia3NiYSB6bGliIGJ6aXAyIHJlYWRsaW5lIGxpYmdjcnlwdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCB0ZXhpbmZvIHBrZ2NvbmZpZworCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9nbnVwZy5vcmcvZG93bmxvYWQvaW5kZXguaHRtbCIKK1NSQ19VUkkgPSAiJHtHTlVQR19NSVJST1J9LyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVVzZS1wa2ctY29uZmlnLXRvLWZpbmQtcHRoLWluc3RlYWQtb2YtcHRoLWNvbmZpZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLXVzZS1wa2djb25maWctaW5zdGVhZC1vZi1ucHRoLWNvbmZpZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAzLWRpcm1uZ3ItdXNlcy1saWJncGctZXJyb3IucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1hdXRvZ2VuLnNoLWZpeC1maW5kLXZlcnNpb24tZm9yLWJldGEtY2hlY2tpbmcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Xb3ZlcnJpZGUtaW5pdC1pcy1ub3QtbmVlZGVkLXdpdGgtZ2NjLTkucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS5hYy11c2UtYS1jdXN0b20tdmFsdWUtZm9yLXRoZS1sb2NhdGlvbi1vZi0ucGF0Y2ggXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcmVsb2NhdGUucGF0Y2giCisKKworU1JDX1VSSVttZDVzdW1dID0gIjU2M2I5NTlkMGMzODU2ZTM0NTI2ZTljYTUxYzgwZDdiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc2Yzc4N2E5NTVmOWU2ZTBlYWQ0N2M5YmU3MDBiZmI5ZDQ1NGY5NTVhN2I3YzdlNjk3YWE3MTliYWM3YjExZDgiCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtbGRhcCBcCisJCS0tZGlzYWJsZS1jY2lkLWRyaXZlciBcCisJCS0td2l0aC16bGliPSR7U1RBR0lOR19MSUJESVJ9Ly4uIFwKKwkJLS13aXRoLWJ6aXAyPSR7U1RBR0lOR19MSUJESVJ9Ly4uIFwKKwkJLS13aXRoLXJlYWRsaW5lPSR7U1RBR0lOR19MSUJESVJ9Ly4uIFwKKwkJLS1lbmFibGUtZ3BnLWlzLWdwZzIgXAorICAgICAgICAgICAgICAgIgorUlJFQ09NTUVORFNfJHtQTn0gPSAicGluZW50cnkiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKwkjIEVsc2UgdGhlc2UgY291bGQgYmUgdXNlZCBpbiBwcmVmZXJuY2UgdG8gdGhvc2UgaW4gYWNsb2NhbC1jb3B5CisJcm0gLWYgJHtTfS9tNC9ncGctZXJyb3IubTQKKwlybSAtZiAke1N9L200L2xpYmFzc3Vhbi5tNAorCXJtIC1mICR7U30vbTQva3NiYS5tNAorCXJtIC1mICR7U30vbTQvbGliZ2NyeXB0Lm00Cit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCWxuIC1zZiBncGcyICR7RH0ke2JpbmRpcn0vZ3BnCisJbG4gLXNmIGdwZ3YyICR7RH0ke2JpbmRpcn0vZ3BndgorfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7CisJY3JlYXRlX3dyYXBwZXIgJHtEfSR7YmluZGlyfS9ncGcyIEdOVVBHX0JJTkRJUj0ke1NUQUdJTkdfQklORElSX05BVElWRX0KK30KKworUEFDS0FHRUNPTkZJRyA/Pz0gImdudXRscyIKK1BBQ0tBR0VDT05GSUdbZ251dGxzXSA9ICItLWVuYWJsZS1nbnV0bHMsIC0tZGlzYWJsZS1nbnV0bHMsIGdudXRscyIKK1BBQ0tBR0VDT05GSUdbc3FsaXRlM10gPSAiLS1lbmFibGUtc3FsaXRlLCAtLWRpc2FibGUtc3FsaXRlLCBzcWxpdGUzIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ251dGxzL2dudXRsc18zLjYuNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ251dGxzL2dudXRsc18zLjYuNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmQyYTExZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dudXRscy9nbnV0bHNfMy42LjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw2NCArMCwwIEBACi1TVU1NQVJZID0gIkdOVSBUcmFuc3BvcnQgTGF5ZXIgU2VjdXJpdHkgTGlicmFyeSIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9nbnV0bHMvIgotQlVHVFJBQ0tFUiA9ICJodHRwczovL3NhdmFubmFoLmdudS5vcmcvc3VwcG9ydC8/Z3JvdXA9Z251dGxzIgotCi1MSUNFTlNFID0gIkdQTHYzKyAmIExHUEx2Mi4xKyIKLUxJQ0VOU0VfJHtQTn0gPSAiTEdQTHYyLjErIgotTElDRU5TRV8ke1BOfS14eCA9ICJMR1BMdjIuMSsiCi1MSUNFTlNFXyR7UE59LWJpbiA9ICJHUEx2MysiCi1MSUNFTlNFXyR7UE59LW9wZW5zc2wgPSAiR1BMdjMrIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT03MTM5MWM4ZTBjMWNmZTY4MDc3ZTdmY2UzYjU4NjI4MyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kb2MvQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZG9jL0NPUFlJTkcuTEVTU0VSO21kNT1hNmY4OWUyMTAwZDliNmNkZmZjZWE0ZjM5OGUzNzM0MyIKLQotREVQRU5EUyA9ICJuZXR0bGUgZ21wIHZpcnR1YWwvbGliaWNvbnYgbGlidW5pc3RyaW5nIgotREVQRU5EU19hcHBlbmRfbGliYy1tdXNsID0gIiBhcmdwLXN0YW5kYWxvbmUiCi0KLVNIUlRfVkVSID0gIiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMF19LiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMV19IgotCi1TUkNfVVJJID0gImh0dHBzOi8vd3d3LmdudXBnLm9yZy9mdHAvZ2NyeXB0L2dudXRscy92JHtTSFJUX1ZFUn0vZ251dGxzLSR7UFZ9LnRhci54eiBcCi0gICAgICAgICAgIGZpbGU6Ly9hcm1fZWFiaS5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI2MzM2M2QxYzAwNjAxZjRkMTFhNWNhZGM4YjVlMDc5OSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJjNjYzYTc5MmZiYzg0MzQ5YzI3YzM2MDU5MTgxZjJjYTg2Yzk0NDJlNzVlZThiMGFkNzJmNWY5YjM1ZGVhYjNhIgotCi1pbmhlcml0IGF1dG90b29scyB0ZXhpbmZvIGJpbmNvbmZpZyBwa2djb25maWcgZ2V0dGV4dCBsaWJfcGFja2FnZSBndGstZG9jCi0KLVBBQ0tBR0VDT05GSUcgPz89ICJsaWJpZG4iCi0KLSMgWW91IG11c3QgYWxzbyBoYXZlIENPTkZJR19TRUNDT01QIGVuYWJsZWQgaW4gdGhlIGtlcm5lbCBmb3IKLSMgc2VjY29tcCB0byB3b3JrLgotUEFDS0FHRUNPTkZJR1tzZWNjb21wXSA9ICJhY19jdl9saWJzZWNjb21wPXllcyxhY19jdl9saWJzZWNjb21wPW5vLGxpYnNlY2NvbXAiCi1QQUNLQUdFQ09ORklHW2xpYmlkbl0gPSAiLS13aXRoLWlkbiwtLXdpdGhvdXQtaWRuLGxpYmlkbjIiCi1QQUNLQUdFQ09ORklHW2xpYnRhc24xXSA9ICItLXdpdGgtaW5jbHVkZWQtbGlidGFzbjE9bm8sLS13aXRoLWluY2x1ZGVkLWxpYnRhc24xLGxpYnRhc24xIgotUEFDS0FHRUNPTkZJR1twMTEta2l0XSA9ICItLXdpdGgtcDExLWtpdCwtLXdpdGhvdXQtcDExLWtpdCxwMTEta2l0IgotUEFDS0FHRUNPTkZJR1t0cG1dID0gIi0td2l0aC10cG0sLS13aXRob3V0LXRwbSx0cm91c2VycyIKLQotRVhUUkFfT0VDT05GID0gIiBcCi0gICAgLS1lbmFibGUtZG9jIFwKLSAgICAtLWRpc2FibGUtbGliZGFuZSBcCi0gICAgLS1kaXNhYmxlLWd1aWxlIFwKLSAgICAtLWRpc2FibGUtcnBhdGggXAotICAgIC0tZW5hYmxlLWxvY2FsLWxpYm9wdHMgXAotICAgIC0tZW5hYmxlLW9wZW5zc2wtY29tcGF0aWJpbGl0eSBcCi0gICAgLS13aXRoLWxpYnB0aHJlYWQtcHJlZml4PSR7U1RBR0lOR19ESVJfSE9TVH0ke3ByZWZpeH0gXAotICAgIC0td2l0aG91dC1saWJ1bmlzdHJpbmctcHJlZml4IFwKLSIKLQotTERGTEFHU19hcHBlbmRfbGliYy1tdXNsID0gIiAtbGFyZ3AiCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotCWZvciBkaXIgaW4gLiBsaWI7IGRvCi0JCXJtIC1mICR7ZGlyfS9hY2xvY2FsLm00ICR7ZGlyfS9tNC9saWJ0b29sLm00ICR7ZGlyfS9tNC9sdCoubTQKLQlkb25lCi19Ci0KLVBBQ0tBR0VTID0rICIke1BOfS1vcGVuc3NsICR7UE59LXh4IgotCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7YmluZGlyfS9nbnV0bHMtY2xpLWRlYnVnIgotRklMRVNfJHtQTn0tb3BlbnNzbCA9ICIke2xpYmRpcn0vbGliZ251dGxzLW9wZW5zc2wuc28uKiIKLUZJTEVTXyR7UE59LXh4ID0gIiR7bGliZGlyfS9saWJnbnV0bHN4eC5zby4qIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dudXRscy9nbnV0bHNfMy42LjUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dudXRscy9nbnV0bHNfMy42LjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGZjMzUwNwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ251dGxzL2dudXRsc18zLjYuNS5iYgpAQCAtMCwwICsxLDY0IEBACitTVU1NQVJZID0gIkdOVSBUcmFuc3BvcnQgTGF5ZXIgU2VjdXJpdHkgTGlicmFyeSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9nbnV0bHMvIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL3NhdmFubmFoLmdudS5vcmcvc3VwcG9ydC8/Z3JvdXA9Z251dGxzIgorCitMSUNFTlNFID0gIkdQTHYzKyAmIExHUEx2Mi4xKyIKK0xJQ0VOU0VfJHtQTn0gPSAiTEdQTHYyLjErIgorTElDRU5TRV8ke1BOfS14eCA9ICJMR1BMdjIuMSsiCitMSUNFTlNFXyR7UE59LWJpbiA9ICJHUEx2MysiCitMSUNFTlNFXyR7UE59LW9wZW5zc2wgPSAiR1BMdjMrIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT03MTM5MWM4ZTBjMWNmZTY4MDc3ZTdmY2UzYjU4NjI4MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kb2MvQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZG9jL0NPUFlJTkcuTEVTU0VSO21kNT1hNmY4OWUyMTAwZDliNmNkZmZjZWE0ZjM5OGUzNzM0MyIKKworREVQRU5EUyA9ICJuZXR0bGUgZ21wIHZpcnR1YWwvbGliaWNvbnYgbGlidW5pc3RyaW5nIgorREVQRU5EU19hcHBlbmRfbGliYy1tdXNsID0gIiBhcmdwLXN0YW5kYWxvbmUiCisKK1NIUlRfVkVSID0gIiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMF19LiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMV19IgorCitTUkNfVVJJID0gImh0dHBzOi8vd3d3LmdudXBnLm9yZy9mdHAvZ2NyeXB0L2dudXRscy92JHtTSFJUX1ZFUn0vZ251dGxzLSR7UFZ9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly9hcm1fZWFiaS5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzNDc0ODQ5ZTFiYmQ0ZDE2NDAzYjgyYWIyNTc5MDAwYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwNzNlY2VkM2FjZWY0OWEzODgzZTY5ZmZkNWYwZjBiNWY0NmUyNzYwYWQ4NmVkZGM2YzA4NjZkZjRlN2FiYjM1IgorCitpbmhlcml0IGF1dG90b29scyB0ZXhpbmZvIHBrZ2NvbmZpZyBnZXR0ZXh0IGxpYl9wYWNrYWdlIGd0ay1kb2MKKworUEFDS0FHRUNPTkZJRyA/Pz0gImxpYmlkbiIKKworIyBZb3UgbXVzdCBhbHNvIGhhdmUgQ09ORklHX1NFQ0NPTVAgZW5hYmxlZCBpbiB0aGUga2VybmVsIGZvcgorIyBzZWNjb21wIHRvIHdvcmsuCitQQUNLQUdFQ09ORklHW3NlY2NvbXBdID0gImFjX2N2X2xpYnNlY2NvbXA9eWVzLGFjX2N2X2xpYnNlY2NvbXA9bm8sbGlic2VjY29tcCIKK1BBQ0tBR0VDT05GSUdbbGliaWRuXSA9ICItLXdpdGgtaWRuLC0td2l0aG91dC1pZG4sbGliaWRuMiIKK1BBQ0tBR0VDT05GSUdbbGlidGFzbjFdID0gIi0td2l0aC1pbmNsdWRlZC1saWJ0YXNuMT1ubywtLXdpdGgtaW5jbHVkZWQtbGlidGFzbjEsbGlidGFzbjEiCitQQUNLQUdFQ09ORklHW3AxMS1raXRdID0gIi0td2l0aC1wMTEta2l0LC0td2l0aG91dC1wMTEta2l0LHAxMS1raXQiCitQQUNLQUdFQ09ORklHW3RwbV0gPSAiLS13aXRoLXRwbSwtLXdpdGhvdXQtdHBtLHRyb3VzZXJzIgorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLWVuYWJsZS1kb2MgXAorICAgIC0tZGlzYWJsZS1saWJkYW5lIFwKKyAgICAtLWRpc2FibGUtZ3VpbGUgXAorICAgIC0tZGlzYWJsZS1ycGF0aCBcCisgICAgLS1lbmFibGUtbG9jYWwtbGlib3B0cyBcCisgICAgLS1lbmFibGUtb3BlbnNzbC1jb21wYXRpYmlsaXR5IFwKKyAgICAtLXdpdGgtbGlicHRocmVhZC1wcmVmaXg9JHtTVEFHSU5HX0RJUl9IT1NUfSR7cHJlZml4fSBcCisgICAgLS13aXRob3V0LWxpYnVuaXN0cmluZy1wcmVmaXggXAorIgorCitMREZMQUdTX2FwcGVuZF9saWJjLW11c2wgPSAiIC1sYXJncCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisJZm9yIGRpciBpbiAuIGxpYjsgZG8KKwkJcm0gLWYgJHtkaXJ9L2FjbG9jYWwubTQgJHtkaXJ9L200L2xpYnRvb2wubTQgJHtkaXJ9L200L2x0Ki5tNAorCWRvbmUKK30KKworUEFDS0FHRVMgPSsgIiR7UE59LW9wZW5zc2wgJHtQTn0teHgiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtiaW5kaXJ9L2dudXRscy1jbGktZGVidWciCitGSUxFU18ke1BOfS1vcGVuc3NsID0gIiR7bGliZGlyfS9saWJnbnV0bHMtb3BlbnNzbC5zby4qIgorRklMRVNfJHtQTn0teHggPSAiJHtsaWJkaXJ9L2xpYmdudXRsc3h4LnNvLioiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWUvMDAwMS1wa2djb25maWcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lLzAwMDEtcGtnY29uZmlnLnBhdGNoCmluZGV4IGFlOWE0NmUuLjE3NjcyM2MgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWUvMDAwMS1wa2djb25maWcucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDAxLXBrZ2NvbmZpZy5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gYzQ1MmJhNThkZDJmOTlkNmU2MjQ0MjE2OTc0MTdjYzAxOGY5YTY3YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNjQ5MmM5NTJkNjFiYjkzYThiZjgyMDBjMDkzZDdlNDkxNDU2YWE1YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPgogRGF0ZTogRnJpLCAyOSBKdW4gMjAxOCAxNDozNTo0MSArMDgwMAogU3ViamVjdDogW1BBVENIIDEvN10gcGtnY29uZmlnCkBAIC0yNSwxMCArMjUsMTAgQEAKICBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2dwZ21lLnBjLmluCiAKIGRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDJhMzU0MDQuLjc0ODVjZGYgMTAwNjQ0CitpbmRleCBhZjU2OWFjLi44NjViZDEwIDEwMDY0NAogLS0tIGEvY29uZmlndXJlLmFjCiArKysgYi9jb25maWd1cmUuYWMKLUBAIC04ODYsNiArODg2LDcgQEAgQUNfQ09ORklHX0ZJTEVTKE1ha2VmaWxlIHNyYy9NYWtlZmlsZQorQEAgLTg5NSw2ICs4OTUsNyBAQCBBQ19DT05GSUdfRklMRVMoTWFrZWZpbGUgc3JjL01ha2VmaWxlCiAgICAgICAgICAgICAgICAgIHNyYy92ZXJzaW9uaW5mby5yYwogICAgICAgICAgICAgICAgICBzcmMvZ3BnbWUuaCkKICBBQ19DT05GSUdfRklMRVMoc3JjL2dwZ21lLWNvbmZpZywgY2htb2QgK3ggc3JjL2dwZ21lLWNvbmZpZykKQEAgLTM3LDcgKzM3LDcgQEAKICBBQ19DT05GSUdfRklMRVMobGFuZy9jcHAvc3JjL0dwZ21lcHBDb25maWctdzMyLmNtYWtlLmluKQogIEFDX0NPTkZJR19GSUxFUyhsYW5nL2NwcC9zcmMvR3BnbWVwcENvbmZpZy5jbWFrZS5pbikKIGRpZmYgLS1naXQgYS9zcmMvTWFrZWZpbGUuYW0gYi9zcmMvTWFrZWZpbGUuYW0KLWluZGV4IDBhMTk2ZTAuLmNlY2FmOGYgMTAwNjQ0CitpbmRleCAxMzk0YzAyLi44NDUxYzNhIDEwMDY0NAogLS0tIGEvc3JjL01ha2VmaWxlLmFtCiArKysgYi9zcmMvTWFrZWZpbGUuYW0KIEBAIC0xOSwxMiArMTksMTQgQEAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWUvMDAwMi1ncGdtZS1sYW5nLXB5dGhvbi1ncGctZXJyb3ItY29uZmlnLXNob3VsZC1ub3QtYmUtdXNlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDAyLWdwZ21lLWxhbmctcHl0aG9uLWdwZy1lcnJvci1jb25maWctc2hvdWxkLW5vdC1iZS11c2UucGF0Y2gKaW5kZXggNGY1Y2VkYS4uMGQwZDBjNiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDAyLWdwZ21lLWxhbmctcHl0aG9uLWdwZy1lcnJvci1jb25maWctc2hvdWxkLW5vdC1iZS11c2UucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDAyLWdwZ21lLWxhbmctcHl0aG9uLWdwZy1lcnJvci1jb25maWctc2hvdWxkLW5vdC1iZS11c2UucGF0Y2gKQEAgLTEsNiArMSw2IEBACi1Gcm9tIDQ1ZDgyODM1NmVmYzE0MGExNDkyYmVmYjFlNmRjNTlhOWY0ZTE2YjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDAzODE5YWQxMjcwYTI3OTIyMzIxOWMwZTcwYmE2MzFiZmU1MTc3MTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBXZWQsIDMxIEphbiAyMDE4IDEwOjQ0OjE5ICswODAwCitEYXRlOiBXZWQsIDE3IE9jdCAyMDE4IDIzOjMyOjE5ICswODAwCiBTdWJqZWN0OiBbUEFUQ0ggMi83XSBncGdtZS9sYW5nL3B5dGhvbjogZ3BnLWVycm9yLWNvbmZpZyBzaG91bGQgbm90IGJlIHVzZWQKIAogZ3BnLWVycm9yLWNvbmZpZyB3YXMgbW9kaWZpZWQgYnkgT0UgdG8gYWx3YXlzIHJldHVybiBhbiBlcnJvci4KQEAgLTExLDM4ICsxMSw0MCBAQAogCiBTaWduZWQtb2ZmLWJ5OiBNYXJrIEhhdGxlIDxtYXJrLmhhdGxlQHdpbmRyaXZlci5jb20+CiAKLVJld29yayB0byAxLjEwLjAKK1JlYmFzZSB0byAxLjEyLjAKIAogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogLS0tCi0gbGFuZy9weXRob24vc2V0dXAucHkuaW4gfCAxMCArLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCA5IGRlbGV0aW9ucygtKQorIGxhbmcvcHl0aG9uL3NldHVwLnB5LmluIHwgMTEgKy0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEwIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvbGFuZy9weXRob24vc2V0dXAucHkuaW4gYi9sYW5nL3B5dGhvbi9zZXR1cC5weS5pbgotaW5kZXggMjU5NTA3My4uNjBiNTI1NyAxMDA3NTUKK2luZGV4IDY1YTRiZTAuLjExYjg0MTMgMTAwNzU1CiAtLS0gYS9sYW5nL3B5dGhvbi9zZXR1cC5weS5pbgogKysrIGIvbGFuZy9weXRob24vc2V0dXAucHkuaW4KLUBAIC0yNiw3ICsyNiw2IEBAIGltcG9ydCBzaHV0aWwKLSBpbXBvcnQgc3VicHJvY2VzcworQEAgLTMwLDcgKzMwLDYgQEAgaW1wb3J0IHN1YnByb2Nlc3MKKyBpbXBvcnQgc3lzCiAgCiAgIyBPdXQtb2YtdHJlZSBidWlsZCBvZiB0aGUgZ3BnIGJpbmRpbmdzLgogLWdwZ19lcnJvcl9jb25maWcgPSBbImdwZy1lcnJvci1jb25maWciXQogIGdwZ21lX2NvbmZpZ19mbGFncyA9IFsiLS10aHJlYWQ9cHRocmVhZCJdCiAgZ3BnbWVfY29uZmlnID0gWyJncGdtZS1jb25maWciXSArIGdwZ21lX2NvbmZpZ19mbGFncwogIGdwZ21lX2ggPSAiIgotQEAgLTE1NywxNCArMTU2LDcgQEAgY2xhc3MgQnVpbGRFeHRGaXJzdEhhY2soYnVpbGQpOgorQEAgLTE4MSwxNiArMTgwLDggQEAgY2xhc3MgQnVpbGRFeHRGaXJzdEhhY2soYnVpbGQpOgorICAgICAgICAgc2h1dGlsLmNvcHkyKHNvdXJjZV9uYW1lLCBzaW5rX25hbWUpCiAgCiAgICAgIGRlZiBfZ2VuZXJhdGVfZXJyb3JzX2koc2VsZik6Ci0gCistCiAtICAgICAgICB0cnk6Ci0tICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKGdwZ19lcnJvcl9jb25maWcgKyBbJy0tdmVyc2lvbiddLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9ZGV2bnVsbCkKKy0gICAgICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoCistICAgICAgICAgICAgICAgIGdwZ19lcnJvcl9jb25maWcgKyBbJy0tdmVyc2lvbiddLCBzdGRvdXQ9ZGV2bnVsbCkKIC0gICAgICAgIGV4Y2VwdDoKIC0gICAgICAgICAgICBzeXMuZXhpdCgiQ291bGQgbm90IGZpbmQgZ3BnLWVycm9yLWNvbmZpZy4gICIgKwogLSAgICAgICAgICAgICAgICAgICAgICJQbGVhc2UgaW5zdGFsbCB0aGUgbGliZ3BnLWVycm9yIGRldmVsb3BtZW50IHBhY2thZ2UuIikKIC0KLS0gICAgICAgIGdwZ19lcnJvcl9jb250ZW50ID0gc2VsZi5fcmVhZF9oZWFkZXIoImdwZy1lcnJvci5oIiwgZ2V0Y29uZmlnKCJjZmxhZ3MiLCBjb25maWc9Z3BnX2Vycm9yX2NvbmZpZykpCi0rICAgICAgICBncGdfZXJyb3JfY29udGVudCA9IHNlbGYuX3JlYWRfaGVhZGVyKCJncGctZXJyb3IuaCIsIG9zLmVudmlyb24uZ2V0KCdDRkxBR1MnKS5zcGxpdCgpKQorICAgICAgICAgZ3BnX2Vycm9yX2NvbnRlbnQgPSBzZWxmLl9yZWFkX2hlYWRlcigKKy0gICAgICAgICAgICAiZ3BnLWVycm9yLmgiLCBnZXRjb25maWcoImNmbGFncyIsIGNvbmZpZz1ncGdfZXJyb3JfY29uZmlnKSkKKysgICAgICAgICAgICAiZ3BnLWVycm9yLmgiLCBvcy5lbnZpcm9uLmdldCgnQ0ZMQUdTJykuc3BsaXQoKSkKICAKICAgICAgICAgIGZpbHRlcl9yZSA9IHJlLmNvbXBpbGUocidHUEdfRVJSX1teIF0qID0nKQogICAgICAgICAgcmV3cml0ZV9yZSA9IHJlLmNvbXBpbGUocicgKiguKikgPSAuKicpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lLzAwMDMtQ29ycmVjdGx5LWluc3RhbGwtcHl0aG9uLW1vZHVsZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lLzAwMDMtQ29ycmVjdGx5LWluc3RhbGwtcHl0aG9uLW1vZHVsZXMucGF0Y2gKaW5kZXggMzMwYmVjNi4uZGUxNjg5ZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDAzLUNvcnJlY3RseS1pbnN0YWxsLXB5dGhvbi1tb2R1bGVzLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWUvMDAwMy1Db3JyZWN0bHktaW5zdGFsbC1weXRob24tbW9kdWxlcy5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNjBiYWY5ZWJmMzBiZWQwZTJlZTNjN2M1YTc0ZDViNmQ1MDAzNTg2MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZjYzMjE0OGZjYzg3NTdiYjlhOTYwMWE2ZGFiMjc1ZTg4Y2QzMDlkMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KIERhdGU6IFR1ZSwgMzAgSmFuIDIwMTggMTU6Mjg6NDkgKzA4MDAKIFN1YmplY3Q6IFtQQVRDSCAzLzddIENvcnJlY3RseSBpbnN0YWxsIHB5dGhvbiBtb2R1bGVzCkBAIC0xNywxMCArMTcsMTAgQEAKICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKIAogZGlmZiAtLWdpdCBhL2xhbmcvcHl0aG9uL01ha2VmaWxlLmFtIGIvbGFuZy9weXRob24vTWFrZWZpbGUuYW0KLWluZGV4IDhkNzRjYmQuLmNlNGYwYTUgMTAwNjQ0CitpbmRleCA2OTg4ZmFmLi4zNmM2ZjdiIDEwMDY0NAogLS0tIGEvbGFuZy9weXRob24vTWFrZWZpbGUuYW0KICsrKyBiL2xhbmcvcHl0aG9uL01ha2VmaWxlLmFtCi1AQCAtOTEsNiArOTEsNyBAQCBpbnN0YWxsLWV4ZWMtbG9jYWw6CitAQCAtOTMsNiArOTMsNyBAQCBpbnN0YWxsLWV4ZWMtbG9jYWw6CiAgCSAgLS1idWlsZC1iYXNlPSIkJChiYXNlbmFtZSAiJCR7UFlUSE9OfSIpLWdwZyIgXAogIAkgIGluc3RhbGwgXAogIAkgIC0tcHJlZml4ICIkKERFU1RESVIpJChwcmVmaXgpIiBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lLzAwMDQtcHl0aG9uLWltcG9ydC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWUvMDAwNC1weXRob24taW1wb3J0LnBhdGNoCmluZGV4IDFhNjBmNzkuLmZhMGVjY2YgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWUvMDAwNC1weXRob24taW1wb3J0LnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWUvMDAwNC1weXRob24taW1wb3J0LnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBmZDdkY2NlZWVlNDM5ZWI0NzllZGJiNDE4YmFiNjM1MzQzNDE0ZWU2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBmNTFiZjExMTRiZWU2ZDU2YTk1MGRjYzZlYmI0NmQ2MTM4YjNmYWVkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KIERhdGU6IFdlZCwgMTYgQXVnIDIwMTcgMDI6MDY6NDUgLTA0MDAKIFN1YmplY3Q6IFtQQVRDSCA0LzddIHB5dGhvbiBpbXBvcnQKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWUvMDAwNS1ncGdtZS1jb25maWctc2tpcC1hbGwtbGliLW9yLXVzci1saWItZGlyZWN0b3JpZXMtaW4tLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDA1LWdwZ21lLWNvbmZpZy1za2lwLWFsbC1saWItb3ItdXNyLWxpYi1kaXJlY3Rvcmllcy1pbi0ucGF0Y2gKaW5kZXggMmRhNzkwNC4uNTBiZjIxNCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDA1LWdwZ21lLWNvbmZpZy1za2lwLWFsbC1saWItb3ItdXNyLWxpYi1kaXJlY3Rvcmllcy1pbi0ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDA1LWdwZ21lLWNvbmZpZy1za2lwLWFsbC1saWItb3ItdXNyLWxpYi1kaXJlY3Rvcmllcy1pbi0ucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIGE1OGQ5MDYzMmE5OTA3YmUzZTgwMDE4MDBhMTQzYWMxOTA3NTI0MWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDhkOTYxM2MzNGFlNDk1YmJjYmQ3MjVhMmU3YWM0ODEzOGJhNTNjMzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KIERhdGU6IFRodSwgMTMgQXByIDIwMTcgMTY6NDA6MjcgKzAzMDAKIFN1YmplY3Q6IFtQQVRDSCA1LzddIGdwZ21lLWNvbmZpZzogc2tpcCBhbGwgL2xpYiogb3IgL3Vzci9saWIqIGRpcmVjdG9yaWVzIGluCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lLzAwMDYtZml4LWJ1aWxkLXBhdGgtaXNzdWUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lLzAwMDYtZml4LWJ1aWxkLXBhdGgtaXNzdWUucGF0Y2gKaW5kZXggMjZmZjQ3Mi4uMTQ3MTE4NCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDA2LWZpeC1idWlsZC1wYXRoLWlzc3VlLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWUvMDAwNi1maXgtYnVpbGQtcGF0aC1pc3N1ZS5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNGY4Mzc1MGNlNDAyYjY1ZDE2Y2MwOWY4YTAyNzRhN2VjNzZmYzYzNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZWY5MjA2ODhiZmUxYzczMjhjOWU5NzIyOWQ2MmNjZDM1MzA0YWQ4NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KIERhdGU6IFdlZCwgMzEgSmFuIDIwMTggMTE6MDE6MDkgKzA4MDAKIFN1YmplY3Q6IFtQQVRDSCA2LzddIGZpeCBidWlsZCBwYXRoIGlzc3VlCkBAIC0xNywxMCArMTcsMTAgQEAKICAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvbGFuZy9weXRob24vTWFrZWZpbGUuYW0gYi9sYW5nL3B5dGhvbi9NYWtlZmlsZS5hbQotaW5kZXggY2U0ZjBhNS4uNWE0NjhmMSAxMDA2NDQKK2luZGV4IDM2YzZmN2IuLmNlOWExMDggMTAwNjQ0CiAtLS0gYS9sYW5nL3B5dGhvbi9NYWtlZmlsZS5hbQogKysrIGIvbGFuZy9weXRob24vTWFrZWZpbGUuYW0KLUBAIC05MCw4ICs5MCw5IEBAIGluc3RhbGwtZXhlYy1sb2NhbDoKK0BAIC05Miw4ICs5Miw5IEBAIGluc3RhbGwtZXhlYy1sb2NhbDoKICAJICBidWlsZCBcCiAgCSAgLS1idWlsZC1iYXNlPSIkJChiYXNlbmFtZSAiJCR7UFlUSE9OfSIpLWdwZyIgXAogIAkgIGluc3RhbGwgXApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDA3LXB5dGhvbi1BZGQtdmFyaWFibGVzLXRvLXRlc3RzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDA3LXB5dGhvbi1BZGQtdmFyaWFibGVzLXRvLXRlc3RzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmOWRkYmYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lLzAwMDctcHl0aG9uLUFkZC12YXJpYWJsZXMtdG8tdGVzdHMucGF0Y2gKQEAgLTAsMCArMSw1MCBAQAorRnJvbSAzMTdjZGY2MDE2NWQ3NjA1NzJhMjZkYjMxN2UzZDZlZGIxNTliMDRlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorRGF0ZTogV2VkLCAxNyBPY3QgMjAxOCAyMzo0MTowOSArMDgwMAorU3ViamVjdDogW1BBVENIIDcvN10gcHl0aG9uOiBBZGQgdmFyaWFibGVzIHRvIHRlc3RzCisKKyogY29uZmlndXJlLmFjLCBsYW5nL3B5dGhvbi9NYWtlZmlsZS5hbToKKyAgTmV3IHZhcmlhYmxlIHRvIGBsYW5nL3B5dGhvbicsIHNldCB0byBgbGFuZy9weXRob24nIGlmIFJVTl9MQU5HX1BZVEhPTl9URVNUUworCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbZ251cGctZGV2ZWxAZ251cGcub3JnXQorCitTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CistLS0KKyBjb25maWd1cmUuYWMgICAgICAgICAgICB8IDUgKysrKysKKyBsYW5nL3B5dGhvbi9NYWtlZmlsZS5hbSB8IDMgKysrCisgMiBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggODY1YmQxMC4uMDM1NTU1YSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNTM1LDYgKzUzNSwxMSBAQCBBQ19BUkdfRU5BQkxFKGcxMy10ZXN0LAorICAgICAgICAgIHJ1bl9nMTNfdGVzdD0kZW5hYmxldmFsKQorIEFNX0NPTkRJVElPTkFMKFJVTl9HMTNfVEVTVFMsIHRlc3QgIiRydW5fZzEzX3Rlc3QiID0gInllcyIpCisgCisrcnVuX2xhbmdfcHl0aG9uX3Rlc3Q9InllcyIKKytBQ19BUkdfRU5BQkxFKGxhbmctcHl0aG9uLXRlc3QsCisrICBBQ19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWxhbmctcHl0aG9uLXRlc3RdLCBbZGlzYWJsZSBQeXRob24gcmVncmVzc2lvbiB0ZXN0XSksCisrICAgICAgICAgcnVuX2xhbmdfcHl0aG9uX3Rlc3Q9JGVuYWJsZXZhbCkKKytBTV9DT05ESVRJT05BTChSVU5fTEFOR19QWVRIT05fVEVTVFMsIHRlc3QgIiRydW5fbGFuZ19weXRob25fdGVzdCIgPSAieWVzIikKKyAKKyAjIENoZWNrcyBmb3IgaGVhZGVyIGZpbGVzLgorIEFDX0NIRUNLX0hFQURFUlNfT05DRShbbG9jYWxlLmggc3lzL3NlbGVjdC5oIHN5cy91aW8uaCBhcmdwLmggc3RkaW50LmgKK2RpZmYgLS1naXQgYS9sYW5nL3B5dGhvbi9NYWtlZmlsZS5hbSBiL2xhbmcvcHl0aG9uL01ha2VmaWxlLmFtCitpbmRleCBjZTlhMTA4Li4wYzhjZmRjIDEwMDY0NAorLS0tIGEvbGFuZy9weXRob24vTWFrZWZpbGUuYW0KKysrKyBiL2xhbmcvcHl0aG9uL01ha2VmaWxlLmFtCitAQCAtMjUsNyArMjUsMTAgQEAgRVhUUkFfRElTVCA9IFwKKyAJZG9jIFwKKyAJc3JjCisgCisraWYgUlVOX0xBTkdfUFlUSE9OX1RFU1RTCisgU1VCRElSUyA9IC4gdGVzdHMKKytlbmRpZgorKworIAorIC5QSE9OWTogcHJlcGFyZQorIHByZXBhcmU6IGNvcHlzdGFtcAorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lLzAwMDctcXQtcHl0aG9uLUFkZC12YXJpYWJsZXMtdG8tdGVzdHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lLzAwMDctcXQtcHl0aG9uLUFkZC12YXJpYWJsZXMtdG8tdGVzdHMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYzZWVhY2YuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDA3LXF0LXB5dGhvbi1BZGQtdmFyaWFibGVzLXRvLXRlc3RzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzggKzAsMCBAQAotRnJvbSBkMzA4NzM0ODM0OGI0YTdmY2ZiMDViZjJhNzViNGE2MzQ1M2UxYzc3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotRGF0ZTogVGh1LCAxIEZlYiAyMDE4IDEwOjE0OjMwICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggNy83XSBxdC9weXRob246IEFkZCB2YXJpYWJsZXMgdG8gdGVzdHMKLQotKiBjb25maWd1cmUuYWMsIGxhbmcvcHl0aG9uL01ha2VmaWxlLmFtOgotICBOZXcgdmFyaWFibGUgdG8gYGxhbmcvcHl0aG9uJywgc2V0IHRvIGBsYW5nL3B5dGhvbicgaWYgUlVOX0xBTkdfUFlUSE9OX1RFU1RTCi0KLSogY29uZmlndXJlLmFjLCBsYW5nL3F0L01ha2VmaWxlLmFtOgotICBOZXcgdmFyaWFibGUgdG8gYGxhbmcvcXQnLCBzZXQgdG8gYGxhbmcvcXQnIGlmIFJVTl9MQU5HX1FUX1RFU1RTCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtnbnVwZy1kZXZlbEBnbnVwZy5vcmddCi0KLVNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLS0tLQotIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgIHwgMTEgKysrKysrKysrKysKLSBsYW5nL3B5dGhvbi9NYWtlZmlsZS5hbSB8ICAzICsrKwotIGxhbmcvcXQvTWFrZWZpbGUuYW0gICAgIHwgIDggKysrKysrKy0KLSAzIGZpbGVzIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotaW5kZXggNzQ4NWNkZi4uNGFhMjE2ZCAxMDA2NDQKLS0tLSBhL2NvbmZpZ3VyZS5hYwotKysrIGIvY29uZmlndXJlLmFjCi1AQCAtNTM1LDYgKzUzNSwxNyBAQCBBQ19BUkdfRU5BQkxFKGcxMy10ZXN0LAotICAgICAgICAgIHJ1bl9nMTNfdGVzdD0kZW5hYmxldmFsKQotIEFNX0NPTkRJVElPTkFMKFJVTl9HMTNfVEVTVFMsIHRlc3QgIiRydW5fZzEzX3Rlc3QiID0gInllcyIpCi0gCi0rcnVuX2xhbmdfcHl0aG9uX3Rlc3Q9InllcyIKLStBQ19BUkdfRU5BQkxFKGxhbmctcHl0aG9uLXRlc3QsCi0rICBBQ19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWxhbmctcHl0aG9uLXRlc3RdLCBbZGlzYWJsZSBQeXRob24gcmVncmVzc2lvbiB0ZXN0XSksCi0rICAgICAgICAgcnVuX2xhbmdfcHl0aG9uX3Rlc3Q9JGVuYWJsZXZhbCkKLStBTV9DT05ESVRJT05BTChSVU5fTEFOR19QWVRIT05fVEVTVFMsIHRlc3QgIiRydW5fbGFuZ19weXRob25fdGVzdCIgPSAieWVzIikKLSsKLStydW5fbGFuZ19xdF90ZXN0PSJ5ZXMiCi0rQUNfQVJHX0VOQUJMRShsYW5nLXF0LXRlc3QsCi0rICBBQ19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWxhbmctcXQtdGVzdF0sIFtkaXNhYmxlIFF0IHJlZ3Jlc3Npb24gdGVzdF0pLAotKyAgICAgICAgIHJ1bl9sYW5nX3F0X3Rlc3Q9JGVuYWJsZXZhbCkKLStBTV9DT05ESVRJT05BTChSVU5fTEFOR19RVF9URVNUUywgdGVzdCAiJHJ1bl9sYW5nX3F0X3Rlc3QiID0gInllcyIpCi0gCi0gIyBDaGVja3MgZm9yIGhlYWRlciBmaWxlcy4KLSBBQ19DSEVDS19IRUFERVJTX09OQ0UoW2xvY2FsZS5oIHN5cy9zZWxlY3QuaCBzeXMvdWlvLmggYXJncC5oCi1kaWZmIC0tZ2l0IGEvbGFuZy9weXRob24vTWFrZWZpbGUuYW0gYi9sYW5nL3B5dGhvbi9NYWtlZmlsZS5hbQotaW5kZXggNWE0NjhmMS4uNDNiOTc4OCAxMDA2NDQKLS0tLSBhL2xhbmcvcHl0aG9uL01ha2VmaWxlLmFtCi0rKysgYi9sYW5nL3B5dGhvbi9NYWtlZmlsZS5hbQotQEAgLTI0LDcgKzI0LDEwIEBAIEVYVFJBX0RJU1QgPSBcCi0gCWV4YW1wbGVzIFwKLSAJc3JjCi0gCi0raWYgUlVOX0xBTkdfUFlUSE9OX1RFU1RTCi0gU1VCRElSUyA9IC4gdGVzdHMKLStlbmRpZgotKwotIAotIC5QSE9OWTogcHJlcGFyZQotIHByZXBhcmU6IGNvcHlzdGFtcAotZGlmZiAtLWdpdCBhL2xhbmcvcXQvTWFrZWZpbGUuYW0gYi9sYW5nL3F0L01ha2VmaWxlLmFtCi1pbmRleCBhYjg1OTYwLi5hMjQ0ZWRlIDEwMDY0NAotLS0tIGEvbGFuZy9xdC9NYWtlZmlsZS5hbQotKysrIGIvbGFuZy9xdC9NYWtlZmlsZS5hbQotQEAgLTE5LDYgKzE5LDEyIEBACi0gIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEKLSAjIDAyMTExLTEzMDcsIFVTQQotIAotLVNVQkRJUlMgPSBzcmMgdGVzdHMgZG9jCi0raWYgUlVOX0xBTkdfUVRfVEVTVFMKLStxdHRlc3RzID0gdGVzdHMKLStlbHNlCi0rcXR0ZXN0cyA9Ci0rZW5kaWYKLSsKLStTVUJESVJTID0gc3JjICR7cXR0ZXN0c30gZG9jCi0gCi0gRVhUUkFfRElTVCA9IFJFQURNRQotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lXzEuMTEuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWVfMS4xMS4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NmZhZTk0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWVfMS4xMS4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsODYgKzAsMCBAQAotU1VNTUFSWSA9ICJIaWdoLWxldmVsIEdudVBHIGVuY3J5cHRpb24vc2lnbmluZyBBUEkiCi1ERVNDUklQVElPTiA9ICJHbnVQRyBNYWRlIEVhc3kgKEdQR01FKSBpcyBhIGxpYnJhcnkgZGVzaWduZWQgdG8gbWFrZSBhY2Nlc3MgdG8gR251UEcgZWFzaWVyIGZvciBhcHBsaWNhdGlvbnMuIEl0IHByb3ZpZGVzIGEgSGlnaC1MZXZlbCBDcnlwdG8gQVBJIGZvciBlbmNyeXB0aW9uLCBkZWNyeXB0aW9uLCBzaWduaW5nLCBzaWduYXR1cmUgdmVyaWZpY2F0aW9uIGFuZCBrZXkgbWFuYWdlbWVudCIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251cGcub3JnL2dwZ21lLmh0bWwiCi1CVUdUUkFDS0VSID0gImh0dHBzOi8vYnVncy5nMTBjb2RlLmNvbS9nbnVwZy9pbmRleCIKLQotTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIuMSsiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxFU1NFUjttZDU9YmJiNDYxMjExYTMzYjEzNGQ0MmVkNWVlODAyYjM3ZmYgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2dwZ21lLmguaW47ZW5kbGluZT0yMzttZDU9NGQ2MzE5ZTU4N2ZkOTQ0YWRmZTYxYTQxYThmMTViMzYgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2VuZ2luZS5oO2VuZGxpbmU9MjI7bWQ1PTRiNmQ4YmEzMTNkOWI1NjRjYzRkNGNmYjE2NDBhZjlkIgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9nbnVwZy5vcmcvZG93bmxvYWQvaW5kZXguaHRtbCIKLVNSQ19VUkkgPSAiJHtHTlVQR19NSVJST1J9L2dwZ21lLyR7QlB9LnRhci5iejIgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1wa2djb25maWcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1ncGdtZS1sYW5nLXB5dGhvbi1ncGctZXJyb3ItY29uZmlnLXNob3VsZC1ub3QtYmUtdXNlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtQ29ycmVjdGx5LWluc3RhbGwtcHl0aG9uLW1vZHVsZXMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNC1weXRob24taW1wb3J0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDUtZ3BnbWUtY29uZmlnLXNraXAtYWxsLWxpYi1vci11c3ItbGliLWRpcmVjdG9yaWVzLWluLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA2LWZpeC1idWlsZC1wYXRoLWlzc3VlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDctcXQtcHl0aG9uLUFkZC12YXJpYWJsZXMtdG8tdGVzdHMucGF0Y2ggXAotICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gIjEyOWM0NmZiODVhN2ZmYTQxZTQzMzQ1ZTQ4YWVlODg0IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJkMWIxMTE3NzRkMmUzZGQyNmRjZDdjMjUxODE5Y2U0ZWY3NzRlYzVlNTY2MjUxZWI5MzA4ZmE3NTQyZmJkNmYiCi0KLURFUEVORFMgPSAibGliZ3BnLWVycm9yIGxpYmFzc3VhbiIKLVJERVBFTkRTXyR7UE59LWNwcCArPSAibGlic3RkYysrIgotCi1SREVQRU5EU19weXRob24yLWdwZyArPSAicHl0aG9uLXVuaXhhZG1pbiIKLVJERVBFTkRTX3B5dGhvbjMtZ3BnICs9ICJweXRob24zLXVuaXhhZG1pbiIKLQotQklOQ09ORklHID0gIiR7YmluZGlyfS9ncGdtZS1jb25maWciCi0KLSMgTm90ZSBzZWxlY3QgcHl0aG9uMiBvciBweXRob24zLCBidXQgeW91IGNhbid0IHNlbGVjdCBib3RoIGF0IHRoZSBzYW1lIHRpbWUKLVBBQ0tBR0VDT05GSUcgPz89ICJweXRob24zIgotUEFDS0FHRUNPTkZJR1tweXRob24yXSA9ICIsLHB5dGhvbiBzd2lnLW5hdGl2ZSwiCi1QQUNLQUdFQ09ORklHW3B5dGhvbjNdID0gIiwscHl0aG9uMyBzd2lnLW5hdGl2ZSwiCi0KLSMgRGVmYXVsdCBpbiBjb25maWd1cmUuYWM6ICJjbCBjcHAgcHl0aG9uIHF0IgotIyBTdXBwb3J0ZWQ6ICJjbCBjcHAgcHl0aG9uIHB5dGhvbjIgcHl0aG9uMyBxdCIKLSMgcHl0aG9uIHNheXMgJ3NlYXJjaCBhbmQgZmluZCBweXRob24yIG9yIHB5dGhvbjMnCi0KLSMgQnVpbGRpbmcgdGhlIEMrKyBiaW5kaW5ncyBmb3IgbmF0aXZlIHJlcXVpcmVzIGEgQysrIGNvbXBpbGVyIHdpdGggQysrMTEKLSMgc3VwcG9ydC4gU2luY2UgdGhlc2UgYmluZGluZ3MgYXJlIGN1cnJlbnRseSBub3QgbmVlZGVkLCB3ZSBjYW4gZGlzYWJsZSB0aGVtLgotREVGQVVMVF9MQU5HVUFHRVMgPSAiIgotREVGQVVMVF9MQU5HVUFHRVNfY2xhc3MtdGFyZ2V0ID0gImNwcCIKLUxBTkdVQUdFUyA/PSAiJHtERUZBVUxUX0xBTkdVQUdFU30iCi1MQU5HVUFHRVMgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjInLCAnIHB5dGhvbjInLCAnJywgZCl9IgotTEFOR1VBR0VTIC49ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24zJywgJyBweXRob24zJywgJycsIGQpfSIKLQotUFlUSE9OX0lOSEVSSVQgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHl0aG9uMicsICdweXRob25uYXRpdmUnLCAnJywgZCl9IgotUFlUSE9OX0lOSEVSSVQgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAncHl0aG9uM25hdGl2ZScsICcnLCBkKX0iCi0KLUVYVFJBX09FQ09ORiArPSAnLS1lbmFibGUtbGFuZ3VhZ2VzPSIke0xBTkdVQUdFU30iIFwKLSAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWdwZ2NvbmYtdGVzdCBcCi0gICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1ncGctdGVzdCBcCi0gICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1ncGdzbS10ZXN0IFwKLSAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWcxMy10ZXN0IFwKLSAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWxhbmctcXQtdGVzdCBcCi0gICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1sYW5nLXB5dGhvbi10ZXN0IFwKLScKLQotaW5oZXJpdCBhdXRvdG9vbHMgdGV4aW5mbyBiaW5jb25maWctZGlzYWJsZWQgcGtnY29uZmlnIGRpc3R1dGlscy1jb21tb24tYmFzZSAke1BZVEhPTl9JTkhFUklUfQotCi1leHBvcnQgUEtHX0NPTkZJRz0ncGtnLWNvbmZpZycKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgotCi1QQUNLQUdFUyA9KyAiJHtQTn0tY3BwIgotUEFDS0FHRVMgPS4gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjInLCAncHl0aG9uMi1ncGcgJywgJycsIGQpfSIKLVBBQ0tBR0VTID0uICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24zJywgJ3B5dGhvbjMtZ3BnICcsICcnLCBkKX0iCi0KLUZJTEVTXyR7UE59LWNwcCA9ICIke2xpYmRpcn0vbGliZ3BnbWVwcC5zby4qIgotRklMRVNfcHl0aG9uMi1ncGcgPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vKiIKLUZJTEVTX3B5dGhvbjMtZ3BnID0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyoiCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7ZGF0YWRpcn0vY29tbW9uLWxpc3Avc291cmNlL2dwZ21lLyogXAotICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vY21ha2UvKiBcCi0iCi0KLUNGTEFHU19hcHBlbmRfbGliYy1tdXNsID0gIiAtRF9fZXJyb3JfdF9kZWZpbmVkICIKLWRvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKLQkjIEVsc2UgdGhlc2UgY291bGQgYmUgdXNlZCBpbiBwcmVmZXJlbmNlIHRvIHRob3NlIGluIGFjbG9jYWwtY29weQotCXJtIC1mICR7U30vbTQvZ3BnLWVycm9yLm00Ci0Jcm0gLWYgJHtTfS9tNC9saWJhc3N1YW4ubTQKLQlybSAtZiAke1N9L200L3B5dGhvbi5tNAotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZV8xLjEyLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lXzEuMTIuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNDZjNWZjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZV8xLjEyLjAuYmIKQEAgLTAsMCArMSw4NSBAQAorU1VNTUFSWSA9ICJIaWdoLWxldmVsIEdudVBHIGVuY3J5cHRpb24vc2lnbmluZyBBUEkiCitERVNDUklQVElPTiA9ICJHbnVQRyBNYWRlIEVhc3kgKEdQR01FKSBpcyBhIGxpYnJhcnkgZGVzaWduZWQgdG8gbWFrZSBhY2Nlc3MgdG8gR251UEcgZWFzaWVyIGZvciBhcHBsaWNhdGlvbnMuIEl0IHByb3ZpZGVzIGEgSGlnaC1MZXZlbCBDcnlwdG8gQVBJIGZvciBlbmNyeXB0aW9uLCBkZWNyeXB0aW9uLCBzaWduaW5nLCBzaWduYXR1cmUgdmVyaWZpY2F0aW9uIGFuZCBrZXkgbWFuYWdlbWVudCIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251cGcub3JnL2dwZ21lLmh0bWwiCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVncy5nMTBjb2RlLmNvbS9nbnVwZy9pbmRleCIKKworTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxFU1NFUjttZDU9YmJiNDYxMjExYTMzYjEzNGQ0MmVkNWVlODAyYjM3ZmYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2dwZ21lLmguaW47ZW5kbGluZT0yMzttZDU9NGQ2MzE5ZTU4N2ZkOTQ0YWRmZTYxYTQxYThmMTViMzYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2VuZ2luZS5oO2VuZGxpbmU9MjI7bWQ1PTRiNmQ4YmEzMTNkOWI1NjRjYzRkNGNmYjE2NDBhZjlkIgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9nbnVwZy5vcmcvZG93bmxvYWQvaW5kZXguaHRtbCIKK1NSQ19VUkkgPSAiJHtHTlVQR19NSVJST1J9L2dwZ21lLyR7QlB9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1wa2djb25maWcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1ncGdtZS1sYW5nLXB5dGhvbi1ncGctZXJyb3ItY29uZmlnLXNob3VsZC1ub3QtYmUtdXNlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtQ29ycmVjdGx5LWluc3RhbGwtcHl0aG9uLW1vZHVsZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1weXRob24taW1wb3J0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDUtZ3BnbWUtY29uZmlnLXNraXAtYWxsLWxpYi1vci11c3ItbGliLWRpcmVjdG9yaWVzLWluLS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA2LWZpeC1idWlsZC1wYXRoLWlzc3VlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDctcHl0aG9uLUFkZC12YXJpYWJsZXMtdG8tdGVzdHMucGF0Y2ggXAorICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjkwMmZjYTNhOTQ5MDdlZmU0ZTkyOWIyYWRlNTQ1YTdjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImI0ZGM5NTFjMzc0M2E2MGUyZTEyMGE3Nzg5MmU5ZTg2NGZiOTM2YjJlNThlN2M3N2U4NTgxZjRkMDUwZThjZDgiCisKK0RFUEVORFMgPSAibGliZ3BnLWVycm9yIGxpYmFzc3VhbiIKK1JERVBFTkRTXyR7UE59LWNwcCArPSAibGlic3RkYysrIgorCitSREVQRU5EU19weXRob24yLWdwZyArPSAicHl0aG9uLXVuaXhhZG1pbiIKK1JERVBFTkRTX3B5dGhvbjMtZ3BnICs9ICJweXRob24zLXVuaXhhZG1pbiIKKworQklOQ09ORklHID0gIiR7YmluZGlyfS9ncGdtZS1jb25maWciCisKKyMgTm90ZSBzZWxlY3QgcHl0aG9uMiBvciBweXRob24zLCBidXQgeW91IGNhbid0IHNlbGVjdCBib3RoIGF0IHRoZSBzYW1lIHRpbWUKK1BBQ0tBR0VDT05GSUcgPz89ICJweXRob24zIgorUEFDS0FHRUNPTkZJR1tweXRob24yXSA9ICIsLHB5dGhvbiBzd2lnLW5hdGl2ZSwiCitQQUNLQUdFQ09ORklHW3B5dGhvbjNdID0gIiwscHl0aG9uMyBzd2lnLW5hdGl2ZSwiCisKKyMgRGVmYXVsdCBpbiBjb25maWd1cmUuYWM6ICJjbCBjcHAgcHl0aG9uIHF0IgorIyBTdXBwb3J0ZWQ6ICJjbCBjcHAgcHl0aG9uIHB5dGhvbjIgcHl0aG9uMyBxdCIKKyMgcHl0aG9uIHNheXMgJ3NlYXJjaCBhbmQgZmluZCBweXRob24yIG9yIHB5dGhvbjMnCisKKyMgQnVpbGRpbmcgdGhlIEMrKyBiaW5kaW5ncyBmb3IgbmF0aXZlIHJlcXVpcmVzIGEgQysrIGNvbXBpbGVyIHdpdGggQysrMTEKKyMgc3VwcG9ydC4gU2luY2UgdGhlc2UgYmluZGluZ3MgYXJlIGN1cnJlbnRseSBub3QgbmVlZGVkLCB3ZSBjYW4gZGlzYWJsZSB0aGVtLgorREVGQVVMVF9MQU5HVUFHRVMgPSAiIgorREVGQVVMVF9MQU5HVUFHRVNfY2xhc3MtdGFyZ2V0ID0gImNwcCIKK0xBTkdVQUdFUyA/PSAiJHtERUZBVUxUX0xBTkdVQUdFU30iCitMQU5HVUFHRVMgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjInLCAnIHB5dGhvbjInLCAnJywgZCl9IgorTEFOR1VBR0VTIC49ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24zJywgJyBweXRob24zJywgJycsIGQpfSIKKworUFlUSE9OX0lOSEVSSVQgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHl0aG9uMicsICdweXRob25uYXRpdmUnLCAnJywgZCl9IgorUFlUSE9OX0lOSEVSSVQgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAncHl0aG9uM25hdGl2ZScsICcnLCBkKX0iCisKK0VYVFJBX09FQ09ORiArPSAnLS1lbmFibGUtbGFuZ3VhZ2VzPSIke0xBTkdVQUdFU30iIFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWdwZ2NvbmYtdGVzdCBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1ncGctdGVzdCBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1ncGdzbS10ZXN0IFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWcxMy10ZXN0IFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWxhbmctcHl0aG9uLXRlc3QgXAorJworCitpbmhlcml0IGF1dG90b29scyB0ZXhpbmZvIGJpbmNvbmZpZy1kaXNhYmxlZCBwa2djb25maWcgZGlzdHV0aWxzLWNvbW1vbi1iYXNlICR7UFlUSE9OX0lOSEVSSVR9CisKK2V4cG9ydCBQS0dfQ09ORklHPSdwa2ctY29uZmlnJworCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK1BBQ0tBR0VTID0rICIke1BOfS1jcHAiCitQQUNLQUdFUyA9LiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHl0aG9uMicsICdweXRob24yLWdwZyAnLCAnJywgZCl9IgorUEFDS0FHRVMgPS4gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAncHl0aG9uMy1ncGcgJywgJycsIGQpfSIKKworRklMRVNfJHtQTn0tY3BwID0gIiR7bGliZGlyfS9saWJncGdtZXBwLnNvLioiCitGSUxFU19weXRob24yLWdwZyA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qIgorRklMRVNfcHl0aG9uMy1ncGcgPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vKiIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtkYXRhZGlyfS9jb21tb24tbGlzcC9zb3VyY2UvZ3BnbWUvKiBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9jbWFrZS8qIFwKKyIKKworQ0ZMQUdTX2FwcGVuZF9saWJjLW11c2wgPSAiIC1EX19lcnJvcl90X2RlZmluZWQgIgorZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworCSMgRWxzZSB0aGVzZSBjb3VsZCBiZSB1c2VkIGluIHByZWZlcmVuY2UgdG8gdGhvc2UgaW4gYWNsb2NhbC1jb3B5CisJcm0gLWYgJHtTfS9tNC9ncGctZXJyb3IubTQKKwlybSAtZiAke1N9L200L2xpYmFzc3Vhbi5tNAorCXJtIC1mICR7U30vbTQvcHl0aG9uLm00Cit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2ljdS9pY3UvQ1ZFLTIwMTgtMTg5MjgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2ljdS9pY3UvQ1ZFLTIwMTgtMTg5MjgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTljNTBlNAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvaWN1L2ljdS9DVkUtMjAxOC0xODkyOC5wYXRjaApAQCAtMCwwICsxLDYzIEBACitDVkU6IENWRS0yMDE4LTE4OTI4CitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitGcm9tIDUzZDhjOGYzZDE4MWQ4N2E2YWE5MjViNDQ5YjUxYzRhMmM5MjJhNTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBTaGFuZSBDYXJyIDxzaGFuZUB1bmljb2RlLm9yZz4KK0RhdGU6IE1vbiwgMjkgT2N0IDIwMTggMjM6NTI6NDQgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gSUNVLTIwMjQ2IEZpeGluZyBhbm90aGVyIGludGVnZXIgb3ZlcmZsb3cgaW4gbnVtYmVyIHBhcnNpbmcuCisKKy0tLQorIGkxOG4vZm10YWJsZS5jcHAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KKyBpMThuL251bWJlcl9kZWNpbWFscXVhbnRpdHkuY3BwICAgICAgICAgICB8ICA1ICsrKystCisgdGVzdC9pbnRsdGVzdC9udW1mbXRzdC5jcHAgICAgICAgICAgICAgICAgfCAgOCArKysrKysrKworIDYgZmlsZXMgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2kxOG4vZm10YWJsZS5jcHAgYi9pMThuL2ZtdGFibGUuY3BwCitpbmRleCA0NWM3MDI0ZmMyOS4uODYwMWQ5NWY0YTYgMTAwNjQ0CistLS0gYS9pMThuL2ZtdGFibGUuY3BwCisrKysgYi9pMThuL2ZtdGFibGUuY3BwCitAQCAtNzM0LDcgKzczNCw3IEBAIENoYXJTdHJpbmcgKkZvcm1hdHRhYmxlOjppbnRlcm5hbEdldENoYXJTdHJpbmcoVUVycm9yQ29kZSAmc3RhdHVzKSB7CisgICAgICAgLy8gbm90IHByaW50IHNjaWVudGlmaWMgbm90YXRpb24gZm9yIG1hZ25pdHVkZXMgZ3JlYXRlciB0aGFuIC01IGFuZCBzbWFsbGVyIHRoYW4gc29tZSBhbW91bnQgKCs1PykuCisgICAgICAgaWYgKGZEZWNpbWFsUXVhbnRpdHktPmlzWmVybygpKSB7CisgICAgICAgICBmRGVjaW1hbFN0ci0+YXBwZW5kKCIwIiwgLTEsIHN0YXR1cyk7CistICAgICAgfSBlbHNlIGlmIChzdGQ6OmFicyhmRGVjaW1hbFF1YW50aXR5LT5nZXRNYWduaXR1ZGUoKSkgPCA1KSB7CisrICAgICAgfSBlbHNlIGlmIChmRGVjaW1hbFF1YW50aXR5LT5nZXRNYWduaXR1ZGUoKSAhPSBJTlQzMl9NSU4gJiYgc3RkOjphYnMoZkRlY2ltYWxRdWFudGl0eS0+Z2V0TWFnbml0dWRlKCkpIDwgNSkgeworICAgICAgICAgZkRlY2ltYWxTdHItPmFwcGVuZEludmFyaWFudENoYXJzKGZEZWNpbWFsUXVhbnRpdHktPnRvUGxhaW5TdHJpbmcoKSwgc3RhdHVzKTsKKyAgICAgICB9IGVsc2UgeworICAgICAgICAgZkRlY2ltYWxTdHItPmFwcGVuZEludmFyaWFudENoYXJzKGZEZWNpbWFsUXVhbnRpdHktPnRvU2NpZW50aWZpY1N0cmluZygpLCBzdGF0dXMpOworZGlmZiAtLWdpdCBhL2kxOG4vbnVtYmVyX2RlY2ltYWxxdWFudGl0eS5jcHAgYi9pMThuL251bWJlcl9kZWNpbWFscXVhbnRpdHkuY3BwCitpbmRleCA0N2I5MzBhNTY0Yi4uZDVkZDdhZTY5NGMgMTAwNjQ0CistLS0gYS9pMThuL251bWJlcl9kZWNpbWFscXVhbnRpdHkuY3BwCisrKysgYi9pMThuL251bWJlcl9kZWNpbWFscXVhbnRpdHkuY3BwCitAQCAtODk4LDcgKzg5OCwxMCBAQCBVbmljb2RlU3RyaW5nIERlY2ltYWxRdWFudGl0eTo6dG9TY2llbnRpZmljU3RyaW5nKCkgY29uc3QgeworICAgICB9CisgICAgIHJlc3VsdC5hcHBlbmQodSdFJyk7CisgICAgIGludDMyX3QgX3NjYWxlID0gdXBwZXJQb3MgKyBzY2FsZTsKKy0gICAgaWYgKF9zY2FsZSA8IDApIHsKKysgICAgaWYgKF9zY2FsZSA9PSBJTlQzMl9NSU4pIHsKKysgICAgICAgIHJlc3VsdC5hcHBlbmQoe3UiLTIxNDc0ODM2NDgiLCAtMX0pOworKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKysgICAgfSBlbHNlIGlmIChfc2NhbGUgPCAwKSB7CisgICAgICAgICBfc2NhbGUgKj0gLTE7CisgICAgICAgICByZXN1bHQuYXBwZW5kKHUnLScpOworICAgICB9IGVsc2UgeworZGlmZiAtLWdpdCBhL3Rlc3QvaW50bHRlc3QvbnVtZm10c3QuY3BwIGIvdGVzdC9pbnRsdGVzdC9udW1mbXRzdC5jcHAKK2luZGV4IDM0MzU1OTM5MTEzLi44ZDUyZGMxMjJiZiAxMDA2NDQKKy0tLSBhL3Rlc3QvaW50bHRlc3QvbnVtZm10c3QuY3BwCisrKysgYi90ZXN0L2ludGx0ZXN0L251bWZtdHN0LmNwcAorQEAgLTkyMjYsNiArOTIyNiwxNCBAQCB2b2lkIE51bWJlckZvcm1hdFRlc3Q6OlRlc3QyMDAzN19TY2llbnRpZmljSW50ZWdlck92ZXJmbG93KCkgeworICAgICBhc3NlcnRFcXVhbHModSJTaG91bGQgbm90IG92ZXJmbG93IGFuZCBzaG91bGQgcGFyc2Ugb25seSB0aGUgZmlyc3QgZXhwb25lbnQiLAorICAgICAgICAgICAgICAgICAgdSIxRS0yMTQ3NDgzNjQ3IiwKKyAgICAgICAgICAgICAgICAgIHtzcC5kYXRhKCksIHNwLmxlbmd0aCgpLCBVU19JTlZ9KTsKKysKKysgICAgLy8gVGVzdCBlZGdlIGNhc2Ugb3ZlcmZsb3cgb2YgZXhwb25lbnQKKysgICAgcmVzdWx0ID0gRm9ybWF0dGFibGUoKTsKKysgICAgbmYtPnBhcnNlKHUiLjAwMDNlLTIxNDc0ODM2NDQiLCByZXN1bHQsIHN0YXR1cyk7CisrICAgIHNwID0gcmVzdWx0LmdldERlY2ltYWxOdW1iZXIoc3RhdHVzKTsKKysgICAgYXNzZXJ0RXF1YWxzKHUiU2hvdWxkIG5vdCBvdmVyZmxvdyIsCisrICAgICAgICAgICAgICAgICB1IjNFLTIxNDc0ODM2NDgiLAorKyAgICAgICAgICAgICAgICAge3NwLmRhdGEoKSwgc3AubGVuZ3RoKCksIFVTX0lOVn0pOworIH0KKyAKKyB2b2lkIE51bWJlckZvcm1hdFRlc3Q6OlRlc3QxMzg0MF9QYXJzZUxvbmdTdHJpbmdDcmFzaCgpIHsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvaWN1L2ljdS9maXgtaW5zdGFsbC1tYW54LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9pY3UvaWN1L2ZpeC1pbnN0YWxsLW1hbngucGF0Y2gKaW5kZXggODE4NmZiNC4uOTI1YjA2NCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9pY3UvaWN1L2ZpeC1pbnN0YWxsLW1hbngucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9pY3UvaWN1L2ZpeC1pbnN0YWxsLW1hbngucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDMwNjNhOTIxMTY2OWJlZTY3Mzg0MGVlODFmODFkMzA2OTliOWI3MDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGE2ZGRhYmM4Y2FkYjc2YmZlMmQyZTM3NGE2NzAyNDQyY2ZlNTFjY2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgogRGF0ZTogRnJpLCA5IE9jdCAyMDE1IDE3OjUwOjQxICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMi80XSBpY3U6IGZpeCBpbnN0YWxsIHJhY2UKK1N1YmplY3Q6IFtQQVRDSF0gaWN1OiBmaXggaW5zdGFsbCByYWNlCiAKIFRoZSBnZW5lcmljIHJlY3Vyc2l2ZSB0YXJnZXQgY2FsbHMgdGFyZ2V0LWxvY2FsIHNvIGFsc28gYWRkaW5nIGl0IHRvIHRoZQogZGVwZW5kZW5jeSBsaXN0IHJlc3VsdHMgaW4gcmFjZXMgZHVlIHRvIGluc3RhbGwtbG9jYWwgYmVpbmcgZXhlY3V0ZWQgdHdpY2UgaW4KQEAgLTE4LDExICsxOCwxMSBAQAogIHNvdXJjZS9NYWtlZmlsZS5pbiB8IDggKysrKy0tLS0KICAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQogCi1kaWZmIC0tZ2l0IGEvc291cmNlL01ha2VmaWxlLmluIGIvc291cmNlL01ha2VmaWxlLmluCi1pbmRleCBjMWRiMTViLi40OTQ4ZGViIDEwMDY0NAorZGlmZiAtLWdpdCBhL01ha2VmaWxlLmluIGIvTWFrZWZpbGUuaW4KK2luZGV4IGJlOTQzNWIuLmFkYTIwZDcgMTAwNjQ0CiAtLS0gYS9NYWtlZmlsZS5pbgogKysrIGIvTWFrZWZpbGUuaW4KLUBAIC03Myw3ICs3Myw3IEBAIEVYVFJBX0RBVEEgPQorQEAgLTc3LDcgKzc3LDcgQEAgRVhUUkFfREFUQSA9CiAgCiAgIyMgTGlzdCBvZiBwaG9ueSB0YXJnZXRzCiAgLlBIT05ZIDogYWxsIGFsbC1sb2NhbCBhbGwtcmVjdXJzaXZlIGluc3RhbGwgaW5zdGFsbC1sb2NhbCBpbnN0YWxsLXVkYXRhIGluc3RhbGwtdWRhdGEtZmlsZXMgaW5zdGFsbC11ZGF0YS1kbGxzCQlcCkBAIC0zMSw3ICszMSw3IEBACiAgZGlzdGNsZWFuLWxvY2FsIGRpc3RjbGVhbi1yZWN1cnNpdmUgZG9jIGRpc3QgZGlzdC1sb2NhbCBkaXN0LXJlY3Vyc2l2ZQlcCiAgY2hlY2sgY2hlY2stbG9jYWwgY2hlY2stcmVjdXJzaXZlIGNsZWFuLXJlY3Vyc2l2ZS13aXRoLXR3aXN0IGluc3RhbGwtaWN1IFwKICBkb2MgaW5zdGFsbC1kb2MgdGVzdHMgaWN1NGotZGF0YSBpY3U0ai1kYXRhLWluc3RhbGwgdXBkYXRlLXdpbmRvd3MtbWFrZWZpbGVzIHhjaGVjay1sb2NhbCB4Y2hlY2stcmVjdXJzaXZlIHhwZXJmIHhjaGVjayB4cGVyZi1yZWN1cnNpdmUgXAotQEAgLTg0LDkgKzg0LDkgQEAgY2hlY2stZXhoYXVzdGl2ZSBjaGVjay1leGhhdXN0aXZlLWxvY2FsIGNoZWNrLWV4aGF1c3RpdmUtcmVjdXJzaXZlIHJlbGVhc2VEaXN0CitAQCAtODgsOSArODgsOSBAQCBjaGVjay1leGhhdXN0aXZlIGNoZWNrLWV4aGF1c3RpdmUtbG9jYWwgY2hlY2stZXhoYXVzdGl2ZS1yZWN1cnNpdmUgcmVsZWFzZURpc3QKICAKICAjIyBMaXN0IG9mIHN0YW5kYXJkIHRhcmdldHMKICBhbGw6IGFsbC1sb2NhbCBhbGwtcmVjdXJzaXZlCkBAIC00MywxNSArNDMsMTIgQEAKICBkaXN0OiBkaXN0LXJlY3Vyc2l2ZQogIGNoZWNrOiBhbGwgY2hlY2stcmVjdXJzaXZlCiAgY2hlY2stcmVjdXJzaXZlOiBhbGwKLUBAIC0zNTAsNyArMzUwLDcgQEAgY29uZmlnLnN0YXR1czogJChzcmNkaXIpL2NvbmZpZ3VyZSAkKHNyY2RpcikvY29tbW9uL3VuaWNvZGUvdXZlcm51bS5oCi0gCitAQCAtMzU3LDcgKzM1Nyw3IEBAIGNvbmZpZy5zdGF0dXM6ICQoc3JjZGlyKS9jb25maWd1cmUgJChzcmNkaXIpL2NvbW1vbi91bmljb2RlL3V2ZXJudW0uaAogIGluc3RhbGwtbWFueDogJChNQU5YX0ZJTEVTKQogIAkkKE1LSU5TVEFMTERJUlMpICQoREVTVERJUikkKG1hbmRpcikvbWFuJChTRUNUSU9OKQorIGlmbmVxICgkKE1BTlhfRklMRVMpLCkKIC0JJChJTlNUQUxMX0RBVEEpICQ/ICQoREVTVERJUikkKG1hbmRpcikvbWFuJChTRUNUSU9OKQogKwkkKElOU1RBTExfREFUQSkgJF4gJChERVNURElSKSQobWFuZGlyKS9tYW4kKFNFQ1RJT04pCisgZW5kaWYKICAKICBjb25maWcvJS4kKFNFQ1RJT04pOiAkKHNyY2RpcikvY29uZmlnLyUuJChTRUNUSU9OKS5pbgotIAljZCAkKHRvcF9idWlsZGRpcikgXAotLS0gCi0yLjE0LjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9pY3UvaWN1XzYyLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2ljdS9pY3VfNjIuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGUzNzUwYi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2ljdS9pY3VfNjIuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLXJlcXVpcmUgaWN1LmluYwotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8uLi9MSUNFTlNFO21kNT02Mzc1MmM1N2JkMGIzNjVjOWFmOWY0MjdlZjc5YzgxOSIKLQotZGVmIGljdV9kb3dubG9hZF92ZXJzaW9uKGQpOgotICAgIHB2c3BsaXQgPSBkLmdldFZhcignUFYnKS5zcGxpdCgnLicpCi0gICAgcmV0dXJuIHB2c3BsaXRbMF0gKyAiXyIgKyBwdnNwbGl0WzFdCi0KLUlDVV9QViA9ICIke0BpY3VfZG93bmxvYWRfdmVyc2lvbihkKX0iCi0KLSMgaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzIwNDg2LwotQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NCA9ICJhcm0iCi1BUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY1ID0gImFybSIKLQotQkFTRV9TUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZC5pY3UtcHJvamVjdC5vcmcvZmlsZXMvaWN1NGMvJHtQVn0vaWN1NGMtJHtJQ1VfUFZ9LXNyYy50Z3oiCi1TUkNfVVJJID0gIiR7QkFTRV9TUkNfVVJJfSBcCi0gICAgICAgICAgIGZpbGU6Ly9pY3UtcGtnZGF0YS1sYXJnZS1jbWQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZml4LWluc3RhbGwtbWFueC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLUFkZC1BUkMtc3VwcG9ydC5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIlwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRGlzYWJsZS1MREZMQUdTSUNVRFQtZm9yLUxpbnV4LnBhdGNoIFwKLSAgICAgICAgICAiCi1TUkNfVVJJW21kNXN1bV0gPSAiNDkwYWQ5ZDkyMDE1OGUwMzE0ZTEwYmE3NGFlOWExNTAiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2RkOTg2OGQ2NjYzNTBkZGE2NmE2ZTMwNWVlY2RlOWQ0NzlmYjcwYjMwZDViNTVkNzhhMWRlZmZiOTdkNWFhMyIKLQotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiKD9QPHB2ZXI+XGQrKFwuXGQrKSspLyIKLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8vZG93bmxvYWQuaWN1LXByb2plY3Qub3JnL2ZpbGVzL2ljdTRjLyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvaWN1L2ljdV82My4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9pY3UvaWN1XzYzLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTYxZjAyMgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvaWN1L2ljdV82My4xLmJiCkBAIC0wLDAgKzEsMzAgQEAKK3JlcXVpcmUgaWN1LmluYworCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8uLi9MSUNFTlNFO21kNT02Mzc1MmM1N2JkMGIzNjVjOWFmOWY0MjdlZjc5YzgxOSIKKworZGVmIGljdV9kb3dubG9hZF92ZXJzaW9uKGQpOgorICAgIHB2c3BsaXQgPSBkLmdldFZhcignUFYnKS5zcGxpdCgnLicpCisgICAgcmV0dXJuIHB2c3BsaXRbMF0gKyAiXyIgKyBwdnNwbGl0WzFdCisKK0lDVV9QViA9ICIke0BpY3VfZG93bmxvYWRfdmVyc2lvbihkKX0iCisKKyMgaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzIwNDg2LworQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NCA9ICJhcm0iCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY1ID0gImFybSIKKworQkFTRV9TUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZC5pY3UtcHJvamVjdC5vcmcvZmlsZXMvaWN1NGMvJHtQVn0vaWN1NGMtJHtJQ1VfUFZ9LXNyYy50Z3oiCitTUkNfVVJJID0gIiR7QkFTRV9TUkNfVVJJfSBcCisgICAgICAgICAgIGZpbGU6Ly9pY3UtcGtnZGF0YS1sYXJnZS1jbWQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZml4LWluc3RhbGwtbWFueC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLUFkZC1BUkMtc3VwcG9ydC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOC0xODkyOC5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIlwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRGlzYWJsZS1MREZMQUdTSUNVRFQtZm9yLUxpbnV4LnBhdGNoIFwKKyAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiOWU0MGY2MDU1Mjk0Mjg0ZGY5NTgyMDBlMzA4YmNlNTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDVjNDkwYjY5NDU0ZmNlNTg2MGI3ZThlMjgyMTIzMTY3NGFmMGExMWQ3ZWYyZmViZWE5YTMyNTEyOTk4Y2I5ZCIKKworVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiKD9QPHB2ZXI+XGQrKFwuXGQrKSspLyIKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8vZG93bmxvYWQuaWN1LXByb2plY3Qub3JnL2ZpbGVzL2ljdTRjLyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvaXNvLWNvZGVzL2lzby1jb2Rlc180LjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2lzby1jb2Rlcy9pc28tY29kZXNfNC4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNzYxZGVkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvaXNvLWNvZGVzL2lzby1jb2Rlc180LjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1TVU1NQVJZID0gIklTTyBsYW5ndWFnZSwgdGVycml0b3J5LCBjdXJyZW5jeSwgc2NyaXB0IGNvZGVzIGFuZCB0aGVpciB0cmFuc2xhdGlvbnMiCi1IT01FUEFHRSA9ICJodHRwczovL3NhbHNhLmRlYmlhbi5vcmcvaXNvLWNvZGVzLXRlYW0vaXNvLWNvZGVzIgotQlVHVFJBQ0tFUiA9ICJodHRwczovL3NhbHNhLmRlYmlhbi5vcmcvaXNvLWNvZGVzLXRlYW0vaXNvLWNvZGVzL2lzc3VlcyIKLQotTElDRU5TRSA9ICJMR1BMdjIuMSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIgotCi1TUkNfVVJJID0gImdpdDovL3NhbHNhLmRlYmlhbi5vcmcvaXNvLWNvZGVzLXRlYW0vaXNvLWNvZGVzLmdpdDtwcm90b2NvbD1odHRwIgotU1JDUkVWID0gIjE2NDgwMmQ1ZmQ4YzdhODE2NzgxNmZkODZhNjJiMjg2NjgwNjE5ZjAiCi0KLSMgaW5oZXJpdCBnZXR0ZXh0IGNhbm5vdCBiZSB1c2VkLCBiZWNhdXNlIGl0IGFkZHMgZ2V0dGV4dC1uYXRpdmUgdG8gQkFTRURFUEVORFMgd2hpY2gKLSMgYXJlIGluaGliaXRlZCBieSBhbGxhcmNoCi1ERVBFTkRTID0gImdldHRleHQtbmF0aXZlIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1pbmhlcml0IGFsbGFyY2ggYXV0b3Rvb2xzCi0KLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3htbC8iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2lzby1jb2Rlcy9pc28tY29kZXNfNC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9pc28tY29kZXMvaXNvLWNvZGVzXzQuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNTEzMGRkCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9pc28tY29kZXMvaXNvLWNvZGVzXzQuMi5iYgpAQCAtMCwwICsxLDE5IEBACitTVU1NQVJZID0gIklTTyBsYW5ndWFnZSwgdGVycml0b3J5LCBjdXJyZW5jeSwgc2NyaXB0IGNvZGVzIGFuZCB0aGVpciB0cmFuc2xhdGlvbnMiCitIT01FUEFHRSA9ICJodHRwczovL3NhbHNhLmRlYmlhbi5vcmcvaXNvLWNvZGVzLXRlYW0vaXNvLWNvZGVzIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL3NhbHNhLmRlYmlhbi5vcmcvaXNvLWNvZGVzLXRlYW0vaXNvLWNvZGVzL2lzc3VlcyIKKworTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIgorCitTUkNfVVJJID0gImdpdDovL3NhbHNhLmRlYmlhbi5vcmcvaXNvLWNvZGVzLXRlYW0vaXNvLWNvZGVzLmdpdDtwcm90b2NvbD1odHRwIgorU1JDUkVWID0gIjU4YTRmMjBmOGU2ZjRkOGY5NTQ1MzMzZjNlYWU0Y2ZlNTY3OGRlMTYiCisKKyMgaW5oZXJpdCBnZXR0ZXh0IGNhbm5vdCBiZSB1c2VkLCBiZWNhdXNlIGl0IGFkZHMgZ2V0dGV4dC1uYXRpdmUgdG8gQkFTRURFUEVORFMgd2hpY2gKKyMgYXJlIGluaGliaXRlZCBieSBhbGxhcmNoCitERVBFTkRTID0gImdldHRleHQtbmF0aXZlIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGFsbGFyY2ggYXV0b3Rvb2xzCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3htbC8iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmFzc3Vhbi9saWJhc3N1YW4vbGliYXNzdWFuLWFkZC1wa2djb25maWctc3VwcG9ydC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliYXNzdWFuL2xpYmFzc3Vhbi9saWJhc3N1YW4tYWRkLXBrZ2NvbmZpZy1zdXBwb3J0LnBhdGNoCmluZGV4IDUyNWIwNzYuLjBlODE0NTQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliYXNzdWFuL2xpYmFzc3Vhbi9saWJhc3N1YW4tYWRkLXBrZ2NvbmZpZy1zdXBwb3J0LnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliYXNzdWFuL2xpYmFzc3Vhbi9saWJhc3N1YW4tYWRkLXBrZ2NvbmZpZy1zdXBwb3J0LnBhdGNoCkBAIC05LDYwICs5LDExIEBACiBmb3J3YXJkIHBvcnRlZCB0byAyLjQuNAogU2lnbmVkLW9mZi1ieTogQXJtaW4gS3VzdGVyIDxha3VzdGVyQG12aXN0YS5jb20+CiAKLUluZGV4OiBsaWJhc3N1YW4tMi40LjQvbGliYXNzdWFuLnBjLmluCitJbmRleDogbGliYXNzdWFuLTIuNS4yL3NyYy9saWJhc3N1YW4ubTQKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwKLSsrKyBsaWJhc3N1YW4tMi40LjQvbGliYXNzdWFuLnBjLmluCi1AQCAtMCwwICsxLDEzIEBACi0rcHJlZml4PUBleGVjX3ByZWZpeEAKLStsaWJkaXI9QGxpYmRpckAKLStpbmNsdWRlZGlyPUBpbmNsdWRlZGlyQAotK2FwaV92ZXJzaW9uPUBMSUJBU1NVQU5fQ09ORklHX0FQSV9WRVJTSU9OQAotK2hvc3Q9QExJQkFTU1VBTl9DT05GSUdfSE9TVEAKLSsKLStOYW1lOiBsaWJhc3N1YW4KLStEZXNjcmlwdGlvbjogSVBDIGxpYnJhcnkgdXNlZCBieSBHbnVQRyBhbmQgR1BHTUUKLStSZXF1aXJlczoKLStWZXJzaW9uOiBAVkVSU0lPTkAKLStMaWJzOiAtTCR7bGliZGlyfSAtbGFzc3VhbgotK0xpYnMucHJpdmF0ZTogLWxncGctZXJyb3IKLStDZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfQotSW5kZXg6IGxpYmFzc3Vhbi0yLjQuNC9NYWtlZmlsZS5hbQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGEvTWFrZWZpbGUuYW0KLSsrKyBiL01ha2VmaWxlLmFtCi1AQCAtMjUsMTAgKzI1LDEzIEBAIERJU1RDSEVDS19DT05GSUdVUkVfRkxBR1MgPSAtLWVuYWJsZS1kb2MKLSAjIChBIHN1aXRhYmxlIGdpdGxvZy10by1jaGFuZ2Vsb2cgc2NyaXB0IGNhbiBiZSBmb3VuZCBpbiBHbnVQRyBtYXN0ZXIuKQotIEdJVExPR19UT19DSEFOR0VMT0c9Z2l0bG9nLXRvLWNoYW5nZWxvZwotIAotK3BrZ2NvbmZpZ2RpciA9ICQobGliZGlyKS9wa2djb25maWcKLStwa2djb25maWdfREFUQSA9IGxpYmFzc3Vhbi5wYwotKwotIEVYVFJBX0RJU1QgPSBhdXRvZ2VuLnNoIGF1dG9nZW4ucmMgUkVBRE1FLkdJVCBWRVJTSU9OICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgQ2hhbmdlTG9nLTIwMTEgZG9jL0NoYW5nZUxvZy0yMDExIHNyYy9DaGFuZ2VMb2ctMjAxMSAJXAotICAgICAgICAgICAgICB0ZXN0cy9DaGFuZ2VMb2ctMjAxMSBjb250cmliL0NoYW5nZUxvZy0yMDExICAgICAJCVwKLS0gICAgICAgICAgICAgYnVpbGQtYXV4L2dpdC1sb2ctZm9vdGVyIGJ1aWxkLWF1eC9naXQtbG9nLWZpeAotKyAgICAgICAgICAgICBidWlsZC1hdXgvZ2l0LWxvZy1mb290ZXIgYnVpbGQtYXV4L2dpdC1sb2ctZml4IGxpYmFzc3Vhbi5wYy5pbgotIAotIGlmIEJVSUxEX0RPQwotIGRvYyA9IGRvYwotSW5kZXg6IDIuNC40LXIwL2xpYmFzc3Vhbi0yLjQuNC9jb25maWd1cmUuYWMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBhL2NvbmZpZ3VyZS5hYwotKysrIGIvY29uZmlndXJlLmFjCi1AQCAtNDg1LDYgKzQ4NSw3IEBAIEFDX0NPTkZJR19GSUxFUyhbZG9jL01ha2VmaWxlXSkKLSBBQ19DT05GSUdfRklMRVMoW3Rlc3RzL01ha2VmaWxlXSkKLSBBQ19DT05GSUdfRklMRVMoW3NyYy9saWJhc3N1YW4tY29uZmlnXSwgW2NobW9kICt4IHNyYy9saWJhc3N1YW4tY29uZmlnXSkKLSBBQ19DT05GSUdfRklMRVMoW3NyYy92ZXJzaW9uaW5mby5yY10pCi0rQUNfQ09ORklHX0ZJTEVTKFtsaWJhc3N1YW4ucGNdKQotIAotIEFDX09VVFBVVAotIAotSW5kZXg6IGxpYmFzc3Vhbi0yLjQuNC9zcmMvbGliYXNzdWFuLm00Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gYS9zcmMvbGliYXNzdWFuLm00Ci0rKysgYi9zcmMvbGliYXNzdWFuLm00Ci1AQCAtMTYsMTggKzE2LDYgQEAgZG5sIFJldHVybnMgb2sgc2V0IHRvIHllcyBvciBuby4KKy0tLSBsaWJhc3N1YW4tMi41LjIub3JpZy9zcmMvbGliYXNzdWFuLm00CisrKysgbGliYXNzdWFuLTIuNS4yL3NyYy9saWJhc3N1YW4ubTQKK0BAIC0xNiwyNyArMTYsNiBAQCBkbmwgUmV0dXJucyBvayBzZXQgdG8geWVzIG9yIG5vLgogIGRubAogIEFDX0RFRlVOKFtfQU1fUEFUSF9MSUJBU1NVQU5fQ09NTU9OXSwKICBbIEFDX1JFUVVJUkUoW0FDX0NBTk9OSUNBTF9IT1NUXSkKQEAgLTcxLDI0ICsyMiwzMiBAQAogLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ByZWZpeCB3aGVyZSBMSUJBU1NVQU4gaXMgaW5zdGFsbGVkIChvcHRpb25hbCldKSwKIC0gICAgIGxpYmFzc3Vhbl9jb25maWdfcHJlZml4PSIkd2l0aHZhbCIsIGxpYmFzc3Vhbl9jb25maWdfcHJlZml4PSIiKQogLSAgaWYgdGVzdCB4JGxpYmFzc3Vhbl9jb25maWdfcHJlZml4ICE9IHggOyB0aGVuCi0tICAgIGxpYmFzc3Vhbl9jb25maWdfYXJncz0iJGxpYmFzc3Vhbl9jb25maWdfYXJncyAtLXByZWZpeD0kbGliYXNzdWFuX2NvbmZpZ19wcmVmaXgiCiAtICAgIGlmIHRlc3QgeCR7TElCQVNTVUFOX0NPTkZJRytzZXR9ICE9IHhzZXQgOyB0aGVuCiAtICAgICAgTElCQVNTVUFOX0NPTkZJRz0kbGliYXNzdWFuX2NvbmZpZ19wcmVmaXgvYmluL2xpYmFzc3Vhbi1jb25maWcKIC0gICAgZmkKIC0gIGZpCiAtCi0tICBBQ19QQVRIX1RPT0woTElCQVNTVUFOX0NPTkZJRywgbGliYXNzdWFuLWNvbmZpZywgbm8pCistICB1c2VfZ3BncnRfY29uZmlnPSIiCistICBpZiB0ZXN0IHgiJHtMSUJBU1NVQU5fQ09ORklHfSIgPSB4IC1hIHgiJEdQR1JUX0NPTkZJRyIgIT0geCAtYSAiJEdQR1JUX0NPTkZJRyIgIT0gIm5vIjsgdGhlbgorLSAgICBpZiAkR1BHUlRfQ09ORklHIGxpYmFzc3VhbiAtLWV4aXN0czsgdGhlbgorLSAgICAgIExJQkFTU1VBTl9DT05GSUc9IiRHUEdSVF9DT05GSUcgbGliYXNzdWFuIgorLSAgICAgIEFDX01TR19OT1RJQ0UoW1VzZSBncGdydC1jb25maWcgYXMgbGliYXNzdWFuLWNvbmZpZ10pCistICAgICAgdXNlX2dwZ3J0X2NvbmZpZz15ZXMKKy0gICAgZmkKKy0gIGZpCistICBpZiB0ZXN0IC16ICIkdXNlX2dwZ3J0X2NvbmZpZyI7IHRoZW4KKy0gICAgQUNfUEFUSF9QUk9HKExJQkFTU1VBTl9DT05GSUcsIGxpYmFzc3Vhbi1jb25maWcsIG5vKQorLSAgZmkKICAKICAgIHRtcD1pZmVsc2UoWyQxXSwgLDE6MC45LjIsJDEpCiAgICBpZiBlY2hvICIkdG1wIiB8IGdyZXAgJzonID4vZGV2L251bGwgMj4vZGV2L251bGwgOyB0aGVuCi1AQCAtMzgsNTEgKzI2LDEyIEBAIEFDX0RFRlVOKFtfQU1fUEFUSF9MSUJBU1NVQU5fQ09NTU9OXSwKK0BAIC00Nyw1OCArMjYsMTEgQEAgQUNfREVGVU4oW19BTV9QQVRIX0xJQkFTU1VBTl9DT01NT05dLAogICAgICBtaW5fbGliYXNzdWFuX3ZlcnNpb249IiR0bXAiCiAgICBmaQogIAogLSAgQUNfTVNHX0NIRUNLSU5HKGZvciBMSUJBU1NVQU4gLSB2ZXJzaW9uID49ICRtaW5fbGliYXNzdWFuX3ZlcnNpb24pCiAtICBvaz1ubwotLSAgaWYgdGVzdCAiJExJQkFTU1VBTl9DT05GSUciICE9ICJubyIgXAotLSAgICAgJiYgdGVzdCAtZiAiJExJQkFTU1VBTl9DT05GSUciIDsgdGhlbgorLSAgaWYgdGVzdCAiJExJQkFTU1VBTl9DT05GSUciICE9ICJubyI7IHRoZW4KIC0gICAgcmVxX21ham9yPWBlY2hvICRtaW5fbGliYXNzdWFuX3ZlcnNpb24gfCBcCiAtICAgICAgICAgICAgICAgc2VkICdzL1woW1swLTldXSpcKVwuXChbWzAtOV1dKlwpXC5cKFtbMC05XV0qXCkvXDEvJ2AKIC0gICAgcmVxX21pbm9yPWBlY2hvICRtaW5fbGliYXNzdWFuX3ZlcnNpb24gfCBcCkBAIC05Niw3ICs1NSwxMSBAQAogLSAgICByZXFfbWljcm89YGVjaG8gJG1pbl9saWJhc3N1YW5fdmVyc2lvbiB8IFwKIC0gICAgICAgICAgICAgICBzZWQgJ3MvXChbWzAtOV1dKlwpXC5cKFtbMC05XV0qXClcLlwoW1swLTldXSpcKS9cMy8nYAogLQotLSAgICBsaWJhc3N1YW5fY29uZmlnX3ZlcnNpb249YCRMSUJBU1NVQU5fQ09ORklHIC0tdmVyc2lvbmAKKy0gICAgaWYgdGVzdCAteiAiJHVzZV9ncGdydF9jb25maWciOyB0aGVuCistICAgICAgbGliYXNzdWFuX2NvbmZpZ192ZXJzaW9uPWAkTElCQVNTVUFOX0NPTkZJRyAtLXZlcnNpb25gCistICAgIGVsc2UKKy0gICAgICBsaWJhc3N1YW5fY29uZmlnX3ZlcnNpb249YCRMSUJBU1NVQU5fQ09ORklHIC0tbW9kdmVyc2lvbmAKKy0gICAgZmkKIC0gICAgbWFqb3I9YGVjaG8gJGxpYmFzc3Vhbl9jb25maWdfdmVyc2lvbiB8IFwKIC0gICAgICAgICAgICAgICBzZWQgJ3MvXChbWzAtOV1dKlwpXC5cKFtbMC05XV0qXClcLlwoW1swLTldXSpcKS4qL1wxLydgCiAtICAgIG1pbm9yPWBlY2hvICRsaWJhc3N1YW5fY29uZmlnX3ZlcnNpb24gfCBcCkBAIC0xMzAsMjYgKzkzLDMyIEBACiAgCiAgICBpZiB0ZXN0ICRvayA9IHllczsgdGhlbgogICAgICBpZiB0ZXN0ICIkcmVxX2xpYmFzc3Vhbl9hcGkiIC1ndCAwIDsgdGhlbgotICAgICAgIHRtcD1gJExJQkFTU1VBTl9DT05GSUcgLS1hcGktdmVyc2lvbiAyPi9kZXYvbnVsbCB8fCBlY2hvIDBgCistICAgICAgaWYgdGVzdCAteiAiJHVzZV9ncGdydF9jb25maWciOyB0aGVuCistICAgICAgICB0bXA9YCRMSUJBU1NVQU5fQ09ORklHIC0tYXBpLXZlcnNpb24gMj4vZGV2L251bGwgfHwgZWNobyAwYAorLSAgICAgIGVsc2UKKy0gICAgICAgIHRtcD1gJExJQkFTU1VBTl9DT05GSUcgLS12YXJpYWJsZT1hcGlfdmVyc2lvbiAyPi9kZXYvbnVsbCB8fCBlY2hvIDBgCistICAgICAgZmkKICsgICAgICB0bXA9YCRQS0dfQ09ORklHIC0tdmFyaWFibGU9YXBpX3ZlcnNpb24gbGliYXNzdWFuYAogICAgICAgIGlmIHRlc3QgIiR0bXAiIC1ndCAwIDsgdGhlbgogICAgICAgICAgQUNfTVNHX0NIRUNLSU5HKFtMSUJBU1NVQU4gQVBJIHZlcnNpb25dKQogICAgICAgICAgaWYgdGVzdCAiJHJlcV9saWJhc3N1YW5fYXBpIiAtZXEgIiR0bXAiIDsgdGhlbgotQEAgLTk3LDcgKzQ2LDcgQEAgQUNfREVGVU4oW19BTV9QQVRIX0xJQkFTU1VBTl9DT01NT05dLAotIAorQEAgLTExNCw5ICs0Niw3IEBAIEFDX0RFRlVOKFtfQU1fUEFUSF9MSUJBU1NVQU5fQ09NTU9OXSwKICAgIGlmIHRlc3QgJG9rID0geWVzOyB0aGVuCiAgICAgIGlmIHRlc3QgeCIkaG9zdCIgIT0geCA7IHRoZW4KLS0gICAgICBsaWJhc3N1YW5fY29uZmlnX2hvc3Q9YCRMSUJBU1NVQU5fQ09ORklHIC0taG9zdCAyPi9kZXYvbnVsbCB8fCBlY2hvIG5vbmVgCi0rICAgICAgbGliYXNzdWFuX2NvbmZpZ19ob3N0PWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPWhvc3QgbGliYXNzdWFuYAorICAgICAgIGlmIHRlc3QgLXogIiR1c2VfZ3BncnRfY29uZmlnIjsgdGhlbgorLSAgICAgICAgbGliYXNzdWFuX2NvbmZpZ19ob3N0PWAkTElCQVNTVUFOX0NPTkZJRyAtLWhvc3QgMj4vZGV2L251bGwgfHwgZWNobyBub25lYAorLSAgICAgIGVsc2UKKy0gICAgICAgIGxpYmFzc3Vhbl9jb25maWdfaG9zdD1gJExJQkFTU1VBTl9DT05GSUcgLS12YXJpYWJsZT1ob3N0IDI+L2Rldi9udWxsIHx8IGVjaG8gbm9uZWAKKysgICAgICAgIGxpYmFzc3Vhbl9jb25maWdfaG9zdD1gJFBLR19DT05GSUcgLS12YXJpYWJsZT1ob3N0IGxpYmFzc3VhbmAKKyAgICAgICBmaQogICAgICAgIGlmIHRlc3QgeCIkbGliYXNzdWFuX2NvbmZpZ19ob3N0IiAhPSB4bm9uZSA7IHRoZW4KICAgICAgICAgIGlmIHRlc3QgeCIkbGliYXNzdWFuX2NvbmZpZ19ob3N0IiAhPSB4IiRob3N0IiA7IHRoZW4KLSAgIEFDX01TR19XQVJOKFtbCi1AQCAtMTM4LDEyICs4Nyw4IEBAIGRubAorQEAgLTE1OCwxMiArODgsOCBAQCBkbmwKICBBQ19ERUZVTihbQU1fUEFUSF9MSUJBU1NVQU5dLAogIFsgX0FNX1BBVEhfTElCQVNTVUFOX0NPTU1PTigkMSkKICAgIGlmIHRlc3QgJG9rID0geWVzOyB0aGVuCi0tICAgIExJQkFTU1VBTl9DRkxBR1M9YCRMSUJBU1NVQU5fQ09ORklHICRsaWJhc3N1YW5fY29uZmlnX2FyZ3MgLS1jZmxhZ3NgCi0tICAgIExJQkFTU1VBTl9MSUJTPWAkTElCQVNTVUFOX0NPTkZJRyAkbGliYXNzdWFuX2NvbmZpZ19hcmdzIC0tbGlic2AKKy0gICAgTElCQVNTVUFOX0NGTEFHUz1gJExJQkFTU1VBTl9DT05GSUcgLS1jZmxhZ3NgCistICAgIExJQkFTU1VBTl9MSUJTPWAkTElCQVNTVUFOX0NPTkZJRyAtLWxpYnNgCiAgICAgIGlmZWxzZShbJDJdLCAsIDosIFskMl0pCiAgICBlbHNlCiAtICAgIExJQkFTU1VBTl9DRkxBR1M9IiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliYXNzdWFuL2xpYmFzc3Vhbl8yLjUuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliYXNzdWFuL2xpYmFzc3Vhbl8yLjUuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzRkNWYxNi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmFzc3Vhbi9saWJhc3N1YW5fMi41LjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1TVU1NQVJZID0gIklQQyBsaWJyYXJ5IHVzZWQgYnkgR251UEcgYW5kIEdQR01FIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnVwZy5vcmcvcmVsYXRlZF9zb2Z0d2FyZS9saWJhc3N1YW4vIgotQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3MuZzEwY29kZS5jb20vZ251cGcvaW5kZXgiCi0KLUxJQ0VOU0UgPSAiR1BMdjMrICYgTEdQTHYyLjErIgotTElDRU5TRV8ke1BOfSA9ICJMR1BMdjIuMSsiCi1MSUNFTlNFXyR7UE59LWRvYyA9ICJHUEx2MysiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mMjdkZWZlMWU5NmMyZTFlY2Q0ZTBjOWJlODk2Nzk0OSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9MmQ1MDI1ZDRhYTM0OTViZWZlZjhmMTcyMDZhNWIwYTEgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2Fzc3Vhbi5jO2VuZGxpbmU9MjA7bWQ1PWFiOTIxNDNhNWEyYWRhYmQwNmQ3OTk0ZDE0NjdlYTVjXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2Fzc3Vhbi1kZWZzLmg7ZW5kbGluZT0yMDttZDU9MTVkOTUwYzgzZTgyOTc4ZTM1YjM1ZTc5MGQ3ZTRkMzkiCi0KLURFUEVORFMgPSAibGliZ3BnLWVycm9yIgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9nbnVwZy5vcmcvZG93bmxvYWQvaW5kZXguaHRtbCIKLVNSQ19VUkkgPSAiJHtHTlVQR19NSVJST1J9L2xpYmFzc3Vhbi9saWJhc3N1YW4tJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9saWJhc3N1YW4tYWRkLXBrZ2NvbmZpZy1zdXBwb3J0LnBhdGNoIFwKLSAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI0MzU0YjdhZTI5Njg5NGYyMzJhZGEyMjZhMDYyZDdkNyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI0N2Y5NmMzN2I0ZjJhYWMyODlmMGJjMWJhY2ZhOGJkOGI0YjIwOWE0ODhkM2QxNWUyMjI5Y2I2Y2M5YjI2NDQ5IgotCi1CSU5DT05GSUcgPSAiJHtiaW5kaXJ9L2xpYmFzc3Vhbi1jb25maWciCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHRleGluZm8gYmluY29uZmlnLWRpc2FibGVkIHBrZ2NvbmZpZwotCi1kb19jb25maWd1cmVfcHJlcGVuZCAoKSB7Ci0JIyBFbHNlIHRoZXNlIGNvdWxkIGJlIHVzZWQgaW4gcHJlZmVyZW5jZSB0byB0aG9zZSBpbiBhY2xvY2FsLWNvcHkKLQlybSAtZiAke1N9L200LyoubTQKLX0KLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJhc3N1YW4vbGliYXNzdWFuXzIuNS4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJhc3N1YW4vbGliYXNzdWFuXzIuNS4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmYjNkMmYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmFzc3Vhbi9saWJhc3N1YW5fMi41LjMuYmIKQEAgLTAsMCArMSwzMiBAQAorU1VNTUFSWSA9ICJJUEMgbGlicmFyeSB1c2VkIGJ5IEdudVBHIGFuZCBHUEdNRSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251cGcub3JnL3JlbGF0ZWRfc29mdHdhcmUvbGliYXNzdWFuLyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWdzLmcxMGNvZGUuY29tL2dudXBnL2luZGV4IgorCitMSUNFTlNFID0gIkdQTHYzKyAmIExHUEx2Mi4xKyIKK0xJQ0VOU0VfJHtQTn0gPSAiTEdQTHYyLjErIgorTElDRU5TRV8ke1BOfS1kb2MgPSAiR1BMdjMrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZjI3ZGVmZTFlOTZjMmUxZWNkNGUwYzliZTg5Njc5NDkgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTJkNTAyNWQ0YWEzNDk1YmVmZWY4ZjE3MjA2YTViMGExIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9hc3N1YW4uYztlbmRsaW5lPTIwO21kNT1hYjkyMTQzYTVhMmFkYWJkMDZkNzk5NGQxNDY3ZWE1Y1wKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9hc3N1YW4tZGVmcy5oO2VuZGxpbmU9MjA7bWQ1PTE1ZDk1MGM4M2U4Mjk3OGUzNWIzNWU3OTBkN2U0ZDM5IgorCitERVBFTkRTID0gImxpYmdwZy1lcnJvciIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vZ251cGcub3JnL2Rvd25sb2FkL2luZGV4Lmh0bWwiCitTUkNfVVJJID0gIiR7R05VUEdfTUlSUk9SfS9saWJhc3N1YW4vbGliYXNzdWFuLSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vbGliYXNzdWFuLWFkZC1wa2djb25maWctc3VwcG9ydC5wYXRjaCBcCisgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMjI2YzUwNGVhNzhhMjMyMjI0YmYzYjY4NDZiM2FkYjkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTFiY2IwNDAzODY2YjRlN2M0YmMxY2M1MmVkNGMzNjRhOWI1NDE0YjM5OTRmNzE4YzcwMzAzZjdmNzY1ZTcwMiIKKworQklOQ09ORklHID0gIiR7YmluZGlyfS9saWJhc3N1YW4tY29uZmlnIgorCitpbmhlcml0IGF1dG90b29scyB0ZXhpbmZvIGJpbmNvbmZpZy1kaXNhYmxlZCBwa2djb25maWcKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworCSMgRWxzZSB0aGVzZSBjb3VsZCBiZSB1c2VkIGluIHByZWZlcmVuY2UgdG8gdGhvc2UgaW4gYWNsb2NhbC1jb3B5CisJcm0gLWYgJHtTfS9tNC8qLm00Cit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliYXRvbWljLW9wcy9saWJhdG9taWMtb3BzXzcuNi44LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJhdG9taWMtb3BzL2xpYmF0b21pYy1vcHNfNy42LjguYmIKaW5kZXggYjQwZTU2Ny4uODI5MmMzYiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJhdG9taWMtb3BzL2xpYmF0b21pYy1vcHNfNy42LjguYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJhdG9taWMtb3BzL2xpYmF0b21pYy1vcHNfNy42LjguYmIKQEAgLTgsNiArOCw3IEBACiAgICAgICAgICAgICAgICAgICAgICIKIAogU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vaXZtYWkvbGliYXRvbWljX29wcy9yZWxlYXNlcy9kb3dubG9hZC92JHtQVn0vbGliYXRvbWljX29wcy0ke1BWfS50YXIuZ3oiCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2l2bWFpL2xpYmF0b21pY19vcHMvcmVsZWFzZXMiCiAKIFNSQ19VUklbbWQ1c3VtXSA9ICI5OTEyOGYwNWUzZTNmNGUwY2QzOWFhMjNmMjNiYmUwYyIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICIxZDZhMjc5ZWRmODE3NjdlNzRkMmFkMmM5ZmNlMDk0NTliYzY1ZjEyYzY1MjVhNDBiMGNiM2U1M2MwODlmNjY1IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJjYXAvZmlsZXMvMDAwMS1GaXgtYnVpbGQtd2l0aC1ncGVyZi0zLjEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmNhcC9maWxlcy8wMDAxLUZpeC1idWlsZC13aXRoLWdwZXJmLTMuMS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTEwZWY5MC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmNhcC9maWxlcy8wMDAxLUZpeC1idWlsZC13aXRoLWdwZXJmLTMuMS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQxICswLDAgQEAKLUZyb20gYTA1ZWJhNjhjNDIyMjJmMDI0NjVkN2JhMzc2MDE1OTI2NDMzYzUzMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgotRGF0ZTogV2VkLCAyNiBKdWwgMjAxNyAxMzozNzo0OSArMDMwMAotU3ViamVjdDogW1BBVENIXSBGaXggYnVpbGQgd2l0aCBncGVyZiAzLjEKLQotVGhlIGdlbmVyYXRlZCBncGVyZiBmaWxlIHJlZmVycyB0byBzaXplX3Qgd2hpY2ggbmVlZHMgdG8gYmUKLXByb3ZpZGVkIGJ5IHN0ZGRlZi5oIGluY2x1ZGUuIEFsc28sIGFkanVzdCB0aGUgbWFrZWZpbGUKLXRvIG1hdGNoIHRoZSBkZWNsYXJhdGlvbiBpbiB0aGUgZ3BlcmYgZmlsZS4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi1TaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KLQotLS0tCi0gbGliY2FwL01ha2VmaWxlIHwgNCArKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2xpYmNhcC9NYWtlZmlsZSBiL2xpYmNhcC9NYWtlZmlsZQotaW5kZXggZDE4OTc3Ny4uMWE1NzIwNiAxMDA2NDQKLS0tLSBhL2xpYmNhcC9NYWtlZmlsZQotKysrIGIvbGliY2FwL01ha2VmaWxlCi1AQCAtMjIsNyArMjIsNyBAQCBhbGw6ICQoTUlOTElCTkFNRSkgJChTVEFMSUJOQU1FKSBsaWJjYXAucGMKLSAKLSBpZmVxICgkKEJVSUxEX0dQRVJGKSx5ZXMpCi0gVVNFX0dQRVJGX09VVFBVVCA9ICQoR1BFUkZfT1VUUFVUKQotLUlOQ0xVREVfR1BFUkZfT1VUUFVUID0gLWluY2x1ZGUgJChHUEVSRl9PVVRQVVQpCi0rSU5DTFVERV9HUEVSRl9PVVRQVVQgPSAtaW5jbHVkZSBzdGRkZWYuaCAtaW5jbHVkZSAkKEdQRVJGX09VVFBVVCkKLSBlbmRpZgotIAotIGxpYmNhcC5wYzogbGliY2FwLnBjLmluCi1AQCAtNDEsNyArNDEsNyBAQCBjYXBfbmFtZXMuaDogX21ha2VuYW1lcwotIAkuL19tYWtlbmFtZXMgPiBjYXBfbmFtZXMuaAotIAotICQoR1BFUkZfT1VUUFVUKTogY2FwX25hbWVzLmxpc3QuaAotLQlwZXJsIC1lICdwcmludCAic3RydWN0IF9fY2FwX3Rva2VuX3MgeyBjb25zdCBjaGFyICpuYW1lOyBpbnQgaW5kZXg7IH07XG4le1xuY29uc3Qgc3RydWN0IF9fY2FwX3Rva2VuX3MgKl9fY2FwX2xvb2t1cF9uYW1lKGNvbnN0IGNoYXIgKiwgdW5zaWduZWQgaW50KTtcbiV9XG4lJVxuIjsgd2hpbGUgKCQkbCA9IDw+KSB7ICQkbCA9fiBzL1tce1wiXS8vZzsgJCRsID1+IHMvXH0uKi8vIDsgcHJpbnQgJCRsOyB9JyA8ICQ8IHwgZ3BlcmYgLS1pZ25vcmUtY2FzZSAtLWxhbmd1YWdlPUFOU0ktQyAtLXJlYWRvbmx5IC0tbnVsbC1zdHJpbmdzIC0tZ2xvYmFsLXRhYmxlIC0taGFzaC1mdW5jdGlvbi1uYW1lPV9fY2FwX2hhc2hfbmFtZSAtLWxvb2t1cC1mdW5jdGlvbi1uYW1lPSJfX2NhcF9sb29rdXBfbmFtZSIgLWMgLXQgLW0yMCAkKElOREVOVCkgPiAkQAotKwlwZXJsIC1lICdwcmludCAic3RydWN0IF9fY2FwX3Rva2VuX3MgeyBjb25zdCBjaGFyICpuYW1lOyBpbnQgaW5kZXg7IH07XG4le1xuY29uc3Qgc3RydWN0IF9fY2FwX3Rva2VuX3MgKl9fY2FwX2xvb2t1cF9uYW1lKGNvbnN0IGNoYXIgKiwgcmVnaXN0ZXIgc2l6ZV90KTtcbiV9XG4lJVxuIjsgd2hpbGUgKCQkbCA9IDw+KSB7ICQkbCA9fiBzL1tce1wiXS8vZzsgJCRsID1+IHMvXH0uKi8vIDsgcHJpbnQgJCRsOyB9JyA8ICQ8IHwgZ3BlcmYgLS1pZ25vcmUtY2FzZSAtLWxhbmd1YWdlPUFOU0ktQyAtLXJlYWRvbmx5IC0tbnVsbC1zdHJpbmdzIC0tZ2xvYmFsLXRhYmxlIC0taGFzaC1mdW5jdGlvbi1uYW1lPV9fY2FwX2hhc2hfbmFtZSAtLWxvb2t1cC1mdW5jdGlvbi1uYW1lPSJfX2NhcF9sb29rdXBfbmFtZSIgLWMgLXQgLW0yMCAkKElOREVOVCkgPiAkQAotIAotIGNhcF9uYW1lcy5saXN0Lmg6IE1ha2VmaWxlICQoS0VSTkVMX0hFQURFUlMpL2xpbnV4L2NhcGFiaWxpdHkuaAotIAlAZWNobyAiPT4gbWFraW5nICRAIGZyb20gJChLRVJORUxfSEVBREVSUykvbGludXgvY2FwYWJpbGl0eS5oIgotLS0gCi0yLjEzLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJjYXAvbGliY2FwXzIuMjUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmNhcC9saWJjYXBfMi4yNS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmRmNjc0NS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmNhcC9saWJjYXBfMi4yNS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDc0ICswLDAgQEAKLVNVTU1BUlkgPSAiTGlicmFyeSBmb3IgZ2V0dGluZy9zZXR0aW5nIFBPU0lYLjFlIGNhcGFiaWxpdGllcyIKLUhPTUVQQUdFID0gImh0dHA6Ly9zaXRlcy5nb29nbGUuY29tL3NpdGUvZnVsbHljYXBhYmxlLyIKLQotIyBubyBzcGVjaWZpYyBHUEwgdmVyc2lvbiByZXF1aXJlZAotTElDRU5TRSA9ICJCU0QgfCBHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xpY2Vuc2U7bWQ1PTNmODRmZDZmMjlkNDUzYTU2NTE0Y2I3ZTRlYWQyNWYxIgotCi1ERVBFTkRTID0gImhvc3RwZXJsLXJ1bnRpbWUtbmF0aXZlIGdwZXJmLW5hdGl2ZSIKLQotU1JDX1VSSSA9ICIke0tFUk5FTE9SR19NSVJST1J9L2xpbnV4L2xpYnMvc2VjdXJpdHkvbGludXgtcHJpdnMvJHtCUE59Mi8ke0JQTn0tJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtZW5zdXJlLXRoZS1YQVRUUl9OQU1FX0NBUFMtaXMtZGVmaW5lZC13aGVuLWl0LWlzLXVzZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1idWlsZC13aXRoLWdwZXJmLTMuMS5wYXRjaCBcCi0gICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICI2NjY2YjgzOWU1ZDQ2YzJhZDMzZmM4YWEyY2ViNWY3NyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI2OTNjOGFjNTFlOTgzZWU2NzgyMDU1NzFlZjI3MjQzOWQ4M2FmZTYyZGQ4ZTQyNGVhMTRhZDk3OTBiYzM1MTYyIgotCi1pbmhlcml0IGxpYl9wYWNrYWdlCi0KLSMgZG8gTk9UIHBhc3MgdGFyZ2V0IGNmbGFncyB0byBob3N0IGNvbXBpbGF0aW9ucwotIwotZG9fY29uZmlndXJlKCkgewotCSMgbGliY2FwIHVzZXMgOj0gZm9yIGNvbXBpbGVycywgZm9ydHVuYXRlbHksIGl0IGdpdmVzIHVzIGEgaGludAotCSMgb24gd2hhdCBzaG91bGQgYmUgcmVwbGFjZWQgd2l0aCA/PQotCXNlZCAtZSAncyw6PSw/PSxnJyAtaSBNYWtlLlJ1bGVzCi0Jc2VkIC1lICdzLF5CVUlMRF9DRkxBR1MgPz0gJCguKkNGTEFHUyksQlVJTERfQ0ZMQUdTIDo9ICQoQlVJTERfQ0ZMQUdTKSwnIC1pIE1ha2UuUnVsZXMKLX0KLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsIGQpfSIKLVBBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlID8/PSAiIgotCi1QQUNLQUdFQ09ORklHW3BhbV0gPSAiUEFNX0NBUD15ZXMsUEFNX0NBUD1ubyxsaWJwYW0iCi0KLUVYVFJBX09FTUFLRSA9ICIgXAotICBJTkRFTlQ9ICBcCi0gIGxpYj0nJHtiYXNlbGlifScgXAotICBSQUlTRV9TRVRGQ0FQPW5vIFwKLSAgRFlOQU1JQz15ZXMgXAotICBCVUlMRF9HUEVSRj15ZXMgXAotIgotCi1FWFRSQV9PRU1BS0VfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgU1lTVEVNX0hFQURFUlM9JHtTVEFHSU5HX0lOQ0RJUn0iCi0KLSMgdGhlc2UgYXJlIHByZXNlbnQgaW4gdGhlIGxpYmNhcCBkZWZhdWx0cywgc28gaW5jbHVkZSBpbiBvdXIgQ0ZMQUdTIHRvbwotQ0ZMQUdTICs9ICItRF9MQVJHRUZJTEU2NF9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCIKLQotZG9fY29tcGlsZSgpIHsKLQlvZV9ydW5tYWtlICR7UEFDS0FHRUNPTkZJR19DT05GQVJHU30KLX0KLQotZG9faW5zdGFsbCgpIHsKLQlvZV9ydW5tYWtlIGluc3RhbGwgXAotCQkke1BBQ0tBR0VDT05GSUdfQ09ORkFSR1N9IFwKLQkJREVTVERJUj0iJHtEfSIgXAotCQlwcmVmaXg9IiR7cHJlZml4fSIgXAotCQlTQklORElSPSIke3NiaW5kaXJ9IgotfQotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLQkjIE1vdmUgdGhlIGxpYnJhcnkgdG8gYmFzZV9saWJkaXIKLQlpbnN0YWxsIC1kICR7RH0ke2Jhc2VfbGliZGlyfQotCWlmIFsgISAke0R9JHtsaWJkaXJ9IC1lZiAke0R9JHtiYXNlX2xpYmRpcn0gXTsgdGhlbgotCQltdiAke0R9JHtsaWJkaXJ9L2xpYmNhcCogJHtEfSR7YmFzZV9saWJkaXJ9Ci0gICAgICAgICAgICAgICAgaWYgWyAtZCAke0R9JHtsaWJkaXJ9L3NlY3VyaXR5IF07IHRoZW4KLQkJCW12ICR7RH0ke2xpYmRpcn0vc2VjdXJpdHkgJHtEfSR7YmFzZV9saWJkaXJ9Ci0JCWZpCi0JZmkKLX0KLQotRklMRVNfJHtQTn0tZGV2ICs9ICIke2Jhc2VfbGliZGlyfS8qLnNvIgotCi0jIHBhbSBmaWxlcwotRklMRVNfJHtQTn0gKz0gIiR7YmFzZV9saWJkaXJ9L3NlY3VyaXR5Lyouc28iCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliY2FwL2xpYmNhcF8yLjI2LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJjYXAvbGliY2FwXzIuMjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTQ4NDFkZQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliY2FwL2xpYmNhcF8yLjI2LmJiCkBAIC0wLDAgKzEsNzMgQEAKK1NVTU1BUlkgPSAiTGlicmFyeSBmb3IgZ2V0dGluZy9zZXR0aW5nIFBPU0lYLjFlIGNhcGFiaWxpdGllcyIKK0hPTUVQQUdFID0gImh0dHA6Ly9zaXRlcy5nb29nbGUuY29tL3NpdGUvZnVsbHljYXBhYmxlLyIKKworIyBubyBzcGVjaWZpYyBHUEwgdmVyc2lvbiByZXF1aXJlZAorTElDRU5TRSA9ICJCU0QgfCBHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xpY2Vuc2U7bWQ1PTNmODRmZDZmMjlkNDUzYTU2NTE0Y2I3ZTRlYWQyNWYxIgorCitERVBFTkRTID0gImhvc3RwZXJsLXJ1bnRpbWUtbmF0aXZlIGdwZXJmLW5hdGl2ZSIKKworU1JDX1VSSSA9ICIke0tFUk5FTE9SR19NSVJST1J9L2xpbnV4L2xpYnMvc2VjdXJpdHkvbGludXgtcHJpdnMvJHtCUE59Mi8ke0JQTn0tJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZW5zdXJlLXRoZS1YQVRUUl9OQU1FX0NBUFMtaXMtZGVmaW5lZC13aGVuLWl0LWlzLXVzZS5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICI5NjhhYzRkNDJhMWE3MTc1NDMxMzUyN2JlMmFiNWRmMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiNjMwYjdjNDg0MjcxYjNiYTg2NzY4MGQ2YTE0YjEwYTg2Y2ZhNjcyNDdhMTQ2MzFiMTRjMDY3MzFkNWE0NThiIgorCitpbmhlcml0IGxpYl9wYWNrYWdlCisKKyMgZG8gTk9UIHBhc3MgdGFyZ2V0IGNmbGFncyB0byBob3N0IGNvbXBpbGF0aW9ucworIworZG9fY29uZmlndXJlKCkgeworCSMgbGliY2FwIHVzZXMgOj0gZm9yIGNvbXBpbGVycywgZm9ydHVuYXRlbHksIGl0IGdpdmVzIHVzIGEgaGludAorCSMgb24gd2hhdCBzaG91bGQgYmUgcmVwbGFjZWQgd2l0aCA/PQorCXNlZCAtZSAncyw6PSw/PSxnJyAtaSBNYWtlLlJ1bGVzCisJc2VkIC1lICdzLF5CVUlMRF9DRkxBR1MgPz0gJCguKkNGTEFHUyksQlVJTERfQ0ZMQUdTIDo9ICQoQlVJTERfQ0ZMQUdTKSwnIC1pIE1ha2UuUnVsZXMKK30KKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsIGQpfSIKK1BBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlID8/PSAiIgorCitQQUNLQUdFQ09ORklHW3BhbV0gPSAiUEFNX0NBUD15ZXMsUEFNX0NBUD1ubyxsaWJwYW0iCisKK0VYVFJBX09FTUFLRSA9ICIgXAorICBJTkRFTlQ9ICBcCisgIGxpYj0nJHtiYXNlbGlifScgXAorICBSQUlTRV9TRVRGQ0FQPW5vIFwKKyAgRFlOQU1JQz15ZXMgXAorICBCVUlMRF9HUEVSRj15ZXMgXAorIgorCitFWFRSQV9PRU1BS0VfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgU1lTVEVNX0hFQURFUlM9JHtTVEFHSU5HX0lOQ0RJUn0iCisKKyMgdGhlc2UgYXJlIHByZXNlbnQgaW4gdGhlIGxpYmNhcCBkZWZhdWx0cywgc28gaW5jbHVkZSBpbiBvdXIgQ0ZMQUdTIHRvbworQ0ZMQUdTICs9ICItRF9MQVJHRUZJTEU2NF9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCIKKworZG9fY29tcGlsZSgpIHsKKwlvZV9ydW5tYWtlICR7UEFDS0FHRUNPTkZJR19DT05GQVJHU30KK30KKworZG9faW5zdGFsbCgpIHsKKwlvZV9ydW5tYWtlIGluc3RhbGwgXAorCQkke1BBQ0tBR0VDT05GSUdfQ09ORkFSR1N9IFwKKwkJREVTVERJUj0iJHtEfSIgXAorCQlwcmVmaXg9IiR7cHJlZml4fSIgXAorCQlTQklORElSPSIke3NiaW5kaXJ9IgorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKwkjIE1vdmUgdGhlIGxpYnJhcnkgdG8gYmFzZV9saWJkaXIKKwlpbnN0YWxsIC1kICR7RH0ke2Jhc2VfbGliZGlyfQorCWlmIFsgISAke0R9JHtsaWJkaXJ9IC1lZiAke0R9JHtiYXNlX2xpYmRpcn0gXTsgdGhlbgorCQltdiAke0R9JHtsaWJkaXJ9L2xpYmNhcCogJHtEfSR7YmFzZV9saWJkaXJ9CisgICAgICAgICAgICAgICAgaWYgWyAtZCAke0R9JHtsaWJkaXJ9L3NlY3VyaXR5IF07IHRoZW4KKwkJCW12ICR7RH0ke2xpYmRpcn0vc2VjdXJpdHkgJHtEfSR7YmFzZV9saWJkaXJ9CisJCWZpCisJZmkKK30KKworRklMRVNfJHtQTn0tZGV2ICs9ICIke2Jhc2VfbGliZGlyfS8qLnNvIgorCisjIHBhbSBmaWxlcworRklMRVNfJHtQTn0gKz0gIiR7YmFzZV9saWJkaXJ9L3NlY3VyaXR5Lyouc28iCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliY2hlY2svbGliY2hlY2tfMC4xMi4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJjaGVjay9saWJjaGVja18wLjEyLjAuYmIKaW5kZXggM2JiNDhhNy4uOTRiMGRjMSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJjaGVjay9saWJjaGVja18wLjEyLjAuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJjaGVjay9saWJjaGVja18wLjEyLjAuYmIKQEAgLTEsNSArMSw1IEBACiBTVU1NQVJZICA9ICJDaGVjayAtIHVuaXQgdGVzdGluZyBmcmFtZXdvcmsgZm9yIEMgY29kZSIKLUhPTUVQQUdFID0gImh0dHA6Ly9jaGVjay5zb3VyY2Vmb3JnZS5uZXQvIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9saWJjaGVjay5naXRodWIuaW8vY2hlY2svIgogU0VDVElPTiA9ICJkZXZlbCIKIAogTElDRU5TRSAgPSAiTEdQTHYyLjErIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJjcm9jby9saWJjcm9jby9DVkUtMjAxNy03OTYxLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJjcm9jby9saWJjcm9jby9DVkUtMjAxNy03OTYxLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1NDcxZWMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmNyb2NvL2xpYmNyb2NvL0NWRS0yMDE3LTc5NjEucGF0Y2gKQEAgLTAsMCArMSw0NSBAQAorQ1ZFOiBDVkUtMjAxNy03OTYxCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitGcm9tIDlhZDcyODc1ZTlmMDhlNGM1MTllZjYzZDQ0Y2RiZDk0YWE5NTA0ZjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBJZ25hY2lvIENhc2FsIFF1aW50ZWlybyA8cWlnbmFjaW9AYW1hem9uLmNvbT4KK0RhdGU6IFN1biwgMTYgQXByIDIwMTcgMTM6NTY6MDkgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gdGtuenI6IHN1cHBvcnQgb25seSBtYXggbG9uZyByZ2IgdmFsdWVzCisKK1RoaXMgZml4ZXMgYSBwb3NzaWJsZSBvdXQgb2YgYm91bmQgd2hlbiByZWFkaW5nIHJnYnMgd2hpY2gKK2FyZSBsb25nZXIgdGhhbiB0aGUgc3VwcG9ydCBNQVhMT05HCistLS0KKyBzcmMvY3ItdGtuenIuYyB8IDEwICsrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc3JjL2NyLXRrbnpyLmMgYi9zcmMvY3ItdGtuenIuYworaW5kZXggMWE3Y2ZlYi4uMTU0OGMzNSAxMDA2NDQKKy0tLSBhL3NyYy9jci10a256ci5jCisrKysgYi9zcmMvY3ItdGtuenIuYworQEAgLTEyNzksNiArMTI3OSwxMSBAQCBjcl90a256cl9wYXJzZV9yZ2IgKENSVGtuenIgKiBhX3RoaXMsIENSUmdiICoqIGFfcmdiKQorICAgICAgICAgc3RhdHVzID0gY3JfdGtuenJfcGFyc2VfbnVtIChhX3RoaXMsICZudW0pOworICAgICAgICAgRU5TVVJFX1BBUlNJTkdfQ09ORCAoKHN0YXR1cyA9PSBDUl9PSykgJiYgKG51bSAhPSBOVUxMKSk7CisgCisrICAgICAgICBpZiAobnVtLT52YWwgPiBHX01BWExPTkcpIHsKKysgICAgICAgICAgICAgICAgc3RhdHVzID0gQ1JfUEFSU0lOR19FUlJPUjsKKysgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKysgICAgICAgIH0KKysKKyAgICAgICAgIHJlZCA9IG51bS0+dmFsOworICAgICAgICAgY3JfbnVtX2Rlc3Ryb3kgKG51bSk7CisgICAgICAgICBudW0gPSBOVUxMOworQEAgLTEyOTgsNiArMTMwMywxMSBAQCBjcl90a256cl9wYXJzZV9yZ2IgKENSVGtuenIgKiBhX3RoaXMsIENSUmdiICoqIGFfcmdiKQorICAgICAgICAgICAgICAgICBzdGF0dXMgPSBjcl90a256cl9wYXJzZV9udW0gKGFfdGhpcywgJm51bSk7CisgICAgICAgICAgICAgICAgIEVOU1VSRV9QQVJTSU5HX0NPTkQgKChzdGF0dXMgPT0gQ1JfT0spICYmIChudW0gIT0gTlVMTCkpOworIAorKyAgICAgICAgICAgICAgICBpZiAobnVtLT52YWwgPiBHX01BWExPTkcpIHsKKysgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXMgPSBDUl9QQVJTSU5HX0VSUk9SOworKyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisrICAgICAgICAgICAgICAgIH0KKysKKyAgICAgICAgICAgICAgICAgUEVFS19CWVRFIChhX3RoaXMsIDEsICZuZXh0X2J5dGVzWzBdKTsKKyAgICAgICAgICAgICAgICAgaWYgKG5leHRfYnl0ZXNbMF0gPT0gJyUnKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgU0tJUF9DSEFSUyAoYV90aGlzLCAxKTsKKy0tIAorMi4xOC4xCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmNyb2NvL2xpYmNyb2NvXzAuNi4xMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliY3JvY28vbGliY3JvY29fMC42LjEyLmJiCmluZGV4IDViOTYyZWUuLmY5NWE1ODMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliY3JvY28vbGliY3JvY29fMC42LjEyLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliY3JvY28vbGliY3JvY29fMC42LjEyLmJiCkBAIC0xNiw3ICsxNiw5IEBACiAKIGluaGVyaXQgZ25vbWViYXNlIGd0ay1kb2MgYmluY29uZmlnLWRpc2FibGVkCiAKLVNSQ19VUkkgKz0gImZpbGU6Ly9DVkUtMjAxNy03OTYwLnBhdGNoIgorU1JDX1VSSSArPSAiZmlsZTovL0NWRS0yMDE3LTc5NjAucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL0NWRS0yMDE3LTc5NjEucGF0Y2ggXAorICAgICAgICAgICAgIgogCiBTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJiYzA5ODRmY2UwNzhiYTJjZTI5Zjk1MDBjNmI5ZGRjZSIKIFNSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImRkYzRiNTU0NmM5ZmI0MjgwYTUwMTdlMjcwN2ZiZDQ4MzkwMzRlZDFhYmE1YjdkNDM3MjIxMmYzNGY4NGY4NjAiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmV2ZGV2L2xpYmV2ZGV2XzEuNS45LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJldmRldi9saWJldmRldl8xLjUuOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjU5YzYwZS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmV2ZGV2L2xpYmV2ZGV2XzEuNS45LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotU1VNTUFSWSA9ICJXcmFwcGVyIGxpYnJhcnkgZm9yIGV2ZGV2IGRldmljZXMiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL2xpYmV2ZGV2LyIKLVNFQ1RJT04gPSAibGlicyIKLQotTElDRU5TRSA9ICJNSVQtWCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1YWFlMGQzOGZlZWE2ZmRhOTdjYTM4MWNiOTEzMmViIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYmV2ZGV2L2xpYmV2ZGV2Lmg7ZW5kbGluZT0yMTttZDU9N2ZmNGYwYjUxMTMyNTJjMmYxYTgyOGUwYmJhZDk4ZDEiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvbGliZXZkZXYvJHtCUH0udGFyLnh6IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiYTFjYTExZTk2MWMxZWZlZDcyMGZhYzQxMzA4ODE5MDQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTE2NjM3NTE0NDNiZWQ5ZDNlNzZhNGZlMmNhZjZmYTg2NmE3OTcwNWQ5MWNhY2FkODE1YzA0ZTcwNjE5OGE3NSIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmV2ZGV2L2xpYmV2ZGV2XzEuNi4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJldmRldi9saWJldmRldl8xLjYuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMmNmNTE5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJldmRldi9saWJldmRldl8xLjYuMC5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIldyYXBwZXIgbGlicmFyeSBmb3IgZXZkZXYgZGV2aWNlcyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3dpa2kvU29mdHdhcmUvbGliZXZkZXYvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIk1JVC1YIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzVhYWUwZDM4ZmVlYTZmZGE5N2NhMzgxY2I5MTMyZWIgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGliZXZkZXYvbGliZXZkZXYuaDtlbmRsaW5lPTIxO21kNT03ZmY0ZjBiNTExMzI1MmMyZjFhODI4ZTBiYmFkOThkMSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy9zb2Z0d2FyZS9saWJldmRldi8ke0JQfS50YXIueHoiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxNTRiMjRmMDE0MjVjNGM4MmZkYzNlMTFmMmMxM2FmNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmNTAwNWM4NjU5ODdkOTgwY2MxMjc5YjllYzYxMzFiMDZhODlmZDk4OTJmNjQ5ZjJhNjgyNjJiODc4NmVmODE0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZXhpZi9saWJleGlmL0NWRS0yMDE2LTYzMjgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmV4aWYvbGliZXhpZi9DVkUtMjAxNi02MzI4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE2ZjMwNzQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmV4aWYvbGliZXhpZi9DVkUtMjAxNi02MzI4LnBhdGNoCkBAIC0wLDAgKzEsNjQgQEAKK0NWRTogQ1ZFLTIwMTYtNjMyOAorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworRnJvbSA0MWJkMDQyMzRiMTA0MzEyZjU0ZDI1ODIyZjY4NzM4YmE4ZDcxMzNkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CitEYXRlOiBUdWUsIDI1IEp1bCAyMDE3IDIzOjQ0OjQ0ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGZpeGVzIHNvbWUgKG5vdCBhbGwpIGJ1ZmZlciBvdmVycmVhZHMgZHVyaW5nIGRlY29kaW5nIHBlbnRheAorIG1ha2Vybm90ZSBlbnRyaWVzLgorCitUaGlzIHNob3VsZCBmaXg6CitodHRwczovL3NvdXJjZWZvcmdlLm5ldC9wL2xpYmV4aWYvYnVncy8xMjUvIENWRS0yMDE2LTYzMjgKKy0tLQorIGxpYmV4aWYvcGVudGF4L21ub3RlLXBlbnRheC1lbnRyeS5jIHwgMTYgKysrKysrKysrKysrKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliZXhpZi9wZW50YXgvbW5vdGUtcGVudGF4LWVudHJ5LmMgYi9saWJleGlmL3BlbnRheC9tbm90ZS1wZW50YXgtZW50cnkuYworaW5kZXggZDAzZDE1OS4uZWEwNDI5YSAxMDA2NDQKKy0tLSBhL2xpYmV4aWYvcGVudGF4L21ub3RlLXBlbnRheC1lbnRyeS5jCisrKysgYi9saWJleGlmL3BlbnRheC9tbm90ZS1wZW50YXgtZW50cnkuYworQEAgLTQyNSwyNCArNDI1LDM0IEBAIG1ub3RlX3BlbnRheF9lbnRyeV9nZXRfdmFsdWUgKE1ub3RlUGVudGF4RW50cnkgKmVudHJ5LAorIAkJY2FzZSBFWElGX0ZPUk1BVF9TSE9SVDoKKyAJCSAgeworIAkJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEgPSBlbnRyeS0+ZGF0YTsKKy0JCSAgCXNpemVfdCBrLCBsZW4gPSBzdHJsZW4odmFsKTsKKysJCSAgCXNpemVfdCBrLCBsZW4gPSBzdHJsZW4odmFsKSwgc2l6ZWxlZnQ7CisrCisrCQkJc2l6ZWxlZnQgPSBlbnRyeS0+c2l6ZTsKKyAJCSAgCWZvcihrPTA7IGs8ZW50cnktPmNvbXBvbmVudHM7IGsrKykgeworKwkJCQlpZiAoc2l6ZWxlZnQgPCAyKQorKwkJCQkJYnJlYWs7CisgCQkJCXZzID0gZXhpZl9nZXRfc2hvcnQgKGRhdGEsIGVudHJ5LT5vcmRlcik7CisgCQkJCXNucHJpbnRmICh2YWwrbGVuLCBtYXhsZW4tbGVuLCAiJWkgIiwgdnMpOworIAkJCQlsZW4gPSBzdHJsZW4odmFsKTsKKyAJCQkJZGF0YSArPSAyOworKwkJCQlzaXplbGVmdCAtPSAyOworIAkJCX0KKyAJCSAgfQorIAkJICBicmVhazsKKyAJCWNhc2UgRVhJRl9GT1JNQVRfTE9ORzoKKyAJCSAgeworIAkJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEgPSBlbnRyeS0+ZGF0YTsKKy0JCSAgCXNpemVfdCBrLCBsZW4gPSBzdHJsZW4odmFsKTsKKysJCSAgCXNpemVfdCBrLCBsZW4gPSBzdHJsZW4odmFsKSwgc2l6ZWxlZnQ7CisrCisrCQkJc2l6ZWxlZnQgPSBlbnRyeS0+c2l6ZTsKKyAJCSAgCWZvcihrPTA7IGs8ZW50cnktPmNvbXBvbmVudHM7IGsrKykgeworKwkJCQlpZiAoc2l6ZWxlZnQgPCA0KQorKwkJCQkJYnJlYWs7CisgCQkJCXZsID0gZXhpZl9nZXRfbG9uZyAoZGF0YSwgZW50cnktPm9yZGVyKTsKKyAJCQkJc25wcmludGYgKHZhbCtsZW4sIG1heGxlbi1sZW4sICIlbGkiLCAobG9uZyBpbnQpIHZsKTsKKyAJCQkJbGVuID0gc3RybGVuKHZhbCk7CisgCQkJCWRhdGEgKz0gNDsKKysJCQkJc2l6ZWxlZnQgLT0gNDsKKyAJCQl9CisgCQkgIH0KKyAJCSAgYnJlYWs7CitAQCAtNDU1LDUgKzQ2NSw1IEBAIG1ub3RlX3BlbnRheF9lbnRyeV9nZXRfdmFsdWUgKE1ub3RlUGVudGF4RW50cnkgKmVudHJ5LAorIAkJYnJlYWs7CisgCX0KKyAKKy0JcmV0dXJuICh2YWwpOworKwlyZXR1cm4gdmFsOworIH0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZXhpZi9saWJleGlmL0NWRS0yMDE4LTIwMDMwLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJleGlmL2xpYmV4aWYvQ1ZFLTIwMTgtMjAwMzAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzYyMzNlNgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZXhpZi9saWJleGlmL0NWRS0yMDE4LTIwMDMwLnBhdGNoCkBAIC0wLDAgKzEsMTE1IEBACitDVkU6IENWRS0yMDE4LTIwMDMwCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitGcm9tIDZhYTExZGY1NDkxMTRlYmRhNTIwZGRlNGNkYWVhMmY5MzU3YjJjODkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBEYW4gRmFuZHJpY2ggPGRhbkBjb25laGFydmVzdGVycy5jb20+CitEYXRlOiBGcmksIDEyIE9jdCAyMDE4IDE2OjAxOjQ1ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEltcHJvdmUgZGVlcCByZWN1cnNpb24gZGV0ZWN0aW9uIGluCisgZXhpZl9kYXRhX2xvYWRfZGF0YV9jb250ZW50LgorCitUaGUgZXhpc3RpbmcgZGV0ZWN0aW9uIHdhcyBzdGlsbCB2dWxuZXJhYmxlIHRvIHBhdGhvbG9naWNhbCBjYXNlcworY2F1c2luZyBEb1MgYnkgd2FzdGluZyBDUFUuIFRoZSBuZXcgYWxnb3JpdGhtIHRha2VzIHRoZSBudW1iZXIgb2YgdGFncworaW50byBhY2NvdW50IHRvIG1ha2UgaXQgaGFyZGVyIHRvIGFidXNlIGJ5IGNhc2VzIHVzaW5nIHNoYWxsb3cgcmVjdXJzaW9uCitidXQgd2l0aCBhIHZlcnkgbGFyZ2UgbnVtYmVyIG9mIHRhZ3MuICBUaGlzIGltcHJvdmVzIG9uIGNvbW1pdCA1ZDI4MDExYword2hpY2ggd2Fzbid0IHN1ZmZpY2llbnQgdG8gY291bnRlciB0aGlzIGtpbmQgb2YgY2FzZS4KKworVGhlIGxpbWl0YXRpb24gaW4gdGhlIHByZXZpb3VzIGZpeCB3YXMgZGlzY292ZXJlZCBieSBMYXVyZW50IERlbG9zaWVyZXMsCitTZWN1bmlhIFJlc2VhcmNoIGF0IEZsZXhlcmEgKFNlY3VuaWEgQWR2aXNvcnkgU0E4NDY1MikgYW5kIGlzIGFzc2lnbmVkCit0aGUgaWRlbnRpZmllciBDVkUtMjAxOC0yMDAzMC4KKworZGlmZiAtLWdpdCBhL2xpYmV4aWYvZXhpZi1kYXRhLmMgYi9saWJleGlmL2V4aWYtZGF0YS5jCitpbmRleCA2N2RmNGRiLi44ZDk4OTdlIDEwMDY0NAorLS0tIGEvbGliZXhpZi9leGlmLWRhdGEuYworKysrIGIvbGliZXhpZi9leGlmLWRhdGEuYworQEAgLTM1LDYgKzM1LDcgQEAKKyAjaW5jbHVkZSA8bGliZXhpZi9vbHltcHVzL2V4aWYtbW5vdGUtZGF0YS1vbHltcHVzLmg+CisgI2luY2x1ZGUgPGxpYmV4aWYvcGVudGF4L2V4aWYtbW5vdGUtZGF0YS1wZW50YXguaD4KKyAKKysjaW5jbHVkZSA8bWF0aC5oPgorICNpbmNsdWRlIDxzdGRsaWIuaD4KKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSA8c3RyaW5nLmg+CitAQCAtMzQ0LDYgKzM0NSwyMCBAQCBpZiAoZGF0YS0+aWZkWyhpKV0tPmNvdW50KSB7CQkJCVwKKyAJYnJlYWs7CQkJCQkJXAorIH0KKyAKKysvKiEgQ2FsY3VsYXRlIHRoZSByZWN1cnNpb24gY29zdCBhZGRlZCBieSBvbmUgbGV2ZWwgb2YgSUZEIGxvYWRpbmcuCisrICoKKysgKiBUaGUgd29yayBwZXJmb3JtZWQgaXMgcmVsYXRlZCB0byB0aGUgY29zdCBpbiB0aGUgZXhwb25lbnRpYWwgcmVsYXRpb24KKysgKiAgIHdvcms9MS4xKipjb3N0CisrICovCisrc3RhdGljIHVuc2lnbmVkIGludAorK2xldmVsX2Nvc3QodW5zaWduZWQgaW50IG4pCisreworKyAgICBzdGF0aWMgY29uc3QgZG91YmxlIGxvZ18xXzEgPSAwLjA5NTMxMDE3OTgwNDMyNDkzOworKworKwkvKiBBZGRpbmcgMC4xIHByb3RlY3RzIGFnYWluc3QgdGhlIGNhc2Ugd2hlcmUgbj09MSAqLworKwlyZXR1cm4gY2VpbChsb2cobiArIDAuMSkvbG9nXzFfMSk7CisrfQorKworIC8qISBMb2FkIGRhdGEgZm9yIGFuIElGRC4KKyAgKgorICAqIFxwYXJhbVtpbixvdXRdIGRhdGEgI0V4aWZEYXRhCitAQCAtMzUxLDEzICszNjYsMTMgQEAgaWYgKGRhdGEtPmlmZFsoaSldLT5jb3VudCkgewkJCQlcCisgICogXHBhcmFtW2luXSBkIHBvaW50ZXIgdG8gYnVmZmVyIGNvbnRhaW5pbmcgcmF3IElGRCBkYXRhCisgICogXHBhcmFtW2luXSBkcyBzaXplIG9mIHJhdyBkYXRhIGluIGJ1ZmZlciBhdCBcYyBkCisgICogXHBhcmFtW2luXSBvZmZzZXQgb2Zmc2V0IGludG8gYnVmZmVyIGF0IFxjIGQgYXQgd2hpY2ggSUZEIHN0YXJ0cworLSAqIFxwYXJhbVtpbl0gcmVjdXJzaW9uX2RlcHRoIG51bWJlciBvZiB0aW1lcyB0aGlzIGZ1bmN0aW9uIGhhcyBiZWVuCistICogcmVjdXJzaXZlbHkgY2FsbGVkIHdpdGhvdXQgcmV0dXJuaW5nCisrICogXHBhcmFtW2luXSByZWN1cnNpb25fY29zdCBmYWN0b3IgaW5kaWNhdGluZyBob3cgZXhwZW5zaXZlIHRoaXMgcmVjdXJzaXZlCisrICogY2FsbCBjb3VsZCBiZQorICAqLworIHN0YXRpYyB2b2lkCisgZXhpZl9kYXRhX2xvYWRfZGF0YV9jb250ZW50IChFeGlmRGF0YSAqZGF0YSwgRXhpZklmZCBpZmQsCisgCQkJICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpkLAorLQkJCSAgICAgdW5zaWduZWQgaW50IGRzLCB1bnNpZ25lZCBpbnQgb2Zmc2V0LCB1bnNpZ25lZCBpbnQgcmVjdXJzaW9uX2RlcHRoKQorKwkJCSAgICAgdW5zaWduZWQgaW50IGRzLCB1bnNpZ25lZCBpbnQgb2Zmc2V0LCB1bnNpZ25lZCBpbnQgcmVjdXJzaW9uX2Nvc3QpCisgeworIAlFeGlmTG9uZyBvLCB0aHVtYm5haWxfb2Zmc2V0ID0gMCwgdGh1bWJuYWlsX2xlbmd0aCA9IDA7CisgCUV4aWZTaG9ydCBuOworQEAgLTM3Miw5ICszODcsMjAgQEAgZXhpZl9kYXRhX2xvYWRfZGF0YV9jb250ZW50IChFeGlmRGF0YSAqZGF0YSwgRXhpZklmZCBpZmQsCisgCWlmICgoKChpbnQpaWZkKSA8IDApIHx8ICggKChpbnQpaWZkKSA+PSBFWElGX0lGRF9DT1VOVCkpCisgCSAgcmV0dXJuOworIAorLQlpZiAocmVjdXJzaW9uX2RlcHRoID4gMzApIHsKKysJaWYgKHJlY3Vyc2lvbl9jb3N0ID4gMTcwKSB7CisrCQkvKgorKwkJICogcmVjdXJzaW9uX2Nvc3QgaXMgYSBsb2dhcml0aG1pYy1zY2FsZSBpbmRpY2F0b3Igb2YgaG93IGV4cGVuc2l2ZSB0aGlzCisrCQkgKiByZWN1cnNpdmUgY2FsbCBtaWdodCBlbmQgdXAgYmVpbmcuIEl0IGlzIGFuIGluZGljYXRvciBvZiB0aGUgZGVwdGggb2YKKysJCSAqIHJlY3Vyc2lvbiBhcyB3ZWxsIGFzIHRoZSBwb3RlbnRpYWwgZm9yIHdvcnN0LWNhc2UgZnV0dXJlIHJlY3Vyc2l2ZQorKwkJICogY2FsbHMuIFNpbmNlIGl0J3MgZGlmZmljdWx0IHRvIHRlbGwgYWhlYWQgb2YgdGltZSBob3cgb2Z0ZW4gcmVjdXJzaW9uCisrCQkgKiB3aWxsIG9jY3VyLCB0aGlzIGFzc3VtZXMgdGhlIHdvcnN0IGJ5IGFzc3VtaW5nIGV2ZXJ5IHRhZyBjb3VsZCBlbmQgdXAKKysJCSAqIGNhdXNpbmcgcmVjdXJzaW9uLgorKwkJICogVGhlIHZhbHVlIG9mIDE3MCB3YXMgY2hvc2VuIHRvIGxpbWl0IHR5cGljYWwgRVhJRiBzdHJ1Y3R1cmVzIHRvIGEKKysJCSAqIHJlY3Vyc2l2ZSBkZXB0aCBvZiBhYm91dCA2LCBidXQgcGF0aG9sb2dpY2FsIG9uZXMgKHRob3NlIHdpdGggdmVyeQorKwkJICogbWFueSB0YWdzKSB0byBvbmx5IDIuCisrCQkgKi8KKyAJCWV4aWZfbG9nIChkYXRhLT5wcml2LT5sb2csIEVYSUZfTE9HX0NPREVfQ09SUlVQVF9EQVRBLCAiRXhpZkRhdGEiLAorLQkJCSAgIkRlZXAgcmVjdXJzaW9uIGRldGVjdGVkISIpOworKwkJCSAgIkRlZXAvZXhwZW5zaXZlIHJlY3Vyc2lvbiBkZXRlY3RlZCEiKTsKKyAJCXJldHVybjsKKyAJfQorIAorQEAgLTQxNiwxNSArNDQyLDE4IEBAIGV4aWZfZGF0YV9sb2FkX2RhdGFfY29udGVudCAoRXhpZkRhdGEgKmRhdGEsIEV4aWZJZmQgaWZkLAorIAkJCXN3aXRjaCAodGFnKSB7CisgCQkJY2FzZSBFWElGX1RBR19FWElGX0lGRF9QT0lOVEVSOgorIAkJCQlDSEVDS19SRUMgKEVYSUZfSUZEX0VYSUYpOworLQkJCQlleGlmX2RhdGFfbG9hZF9kYXRhX2NvbnRlbnQgKGRhdGEsIEVYSUZfSUZEX0VYSUYsIGQsIGRzLCBvLCByZWN1cnNpb25fZGVwdGggKyAxKTsKKysJCQkJZXhpZl9kYXRhX2xvYWRfZGF0YV9jb250ZW50IChkYXRhLCBFWElGX0lGRF9FWElGLCBkLCBkcywgbywKKysJCQkJCXJlY3Vyc2lvbl9jb3N0ICsgbGV2ZWxfY29zdChuKSk7CisgCQkJCWJyZWFrOworIAkJCWNhc2UgRVhJRl9UQUdfR1BTX0lORk9fSUZEX1BPSU5URVI6CisgCQkJCUNIRUNLX1JFQyAoRVhJRl9JRkRfR1BTKTsKKy0JCQkJZXhpZl9kYXRhX2xvYWRfZGF0YV9jb250ZW50IChkYXRhLCBFWElGX0lGRF9HUFMsIGQsIGRzLCBvLCByZWN1cnNpb25fZGVwdGggKyAxKTsKKysJCQkJZXhpZl9kYXRhX2xvYWRfZGF0YV9jb250ZW50IChkYXRhLCBFWElGX0lGRF9HUFMsIGQsIGRzLCBvLAorKwkJCQkJcmVjdXJzaW9uX2Nvc3QgKyBsZXZlbF9jb3N0KG4pKTsKKyAJCQkJYnJlYWs7CisgCQkJY2FzZSBFWElGX1RBR19JTlRFUk9QRVJBQklMSVRZX0lGRF9QT0lOVEVSOgorIAkJCQlDSEVDS19SRUMgKEVYSUZfSUZEX0lOVEVST1BFUkFCSUxJVFkpOworLQkJCQlleGlmX2RhdGFfbG9hZF9kYXRhX2NvbnRlbnQgKGRhdGEsIEVYSUZfSUZEX0lOVEVST1BFUkFCSUxJVFksIGQsIGRzLCBvLCByZWN1cnNpb25fZGVwdGggKyAxKTsKKysJCQkJZXhpZl9kYXRhX2xvYWRfZGF0YV9jb250ZW50IChkYXRhLCBFWElGX0lGRF9JTlRFUk9QRVJBQklMSVRZLCBkLCBkcywgbywKKysJCQkJCXJlY3Vyc2lvbl9jb3N0ICsgbGV2ZWxfY29zdChuKSk7CisgCQkJCWJyZWFrOworIAkJCWNhc2UgRVhJRl9UQUdfSlBFR19JTlRFUkNIQU5HRV9GT1JNQVQ6CisgCQkJCXRodW1ibmFpbF9vZmZzZXQgPSBvOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJleGlmL2xpYmV4aWZfMC42LjIxLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJleGlmL2xpYmV4aWZfMC42LjIxLmJiCmluZGV4IGI1NTBhMTEuLmQ4NDdiZWEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZXhpZi9saWJleGlmXzAuNi4yMS5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmV4aWYvbGliZXhpZl8wLjYuMjEuYmIKQEAgLTUsMTQgKzUsMTMgQEAKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTI0M2I3MjVkNzFiYjVkZjRhMWU1OTIwYjM0NGI4NmFkIgogCiBTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9saWJleGlmL2xpYmV4aWYtJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxNy03NTQ0LnBhdGNoIgorICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTctNzU0NC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxNi02MzI4LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTIwMDMwLnBhdGNoIgogCiBTUkNfVVJJW21kNXN1bV0gPSAiMjczMzliODk4NTBmMjhjOGYxYzIzN2YyMzNlMDViMjciCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTZjZGFlYjYyZWIzZTZkZmFiMjQzNWY3ZDdiY2NkMmYzNzQzOGQyMWM1MjE4ZWM0ZTU4ZWZhOTE1N2Q0ZDQxYSIKIAogaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dAogCi1kb19jb25maWd1cmVfYXBwZW5kKCkgewotCXNlZCAtaSBzOmRvY1wgYmluYXJ5OmJpbmFyeTpnIE1ha2VmaWxlCi19Ci0KK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWRvY3MiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmZtL2xpYmZtLWV4dHJhXzEuMy4wLjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmZtL2xpYmZtLWV4dHJhXzEuMy4wLjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDczNGQwMTAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJmbS9saWJmbS1leHRyYV8xLjMuMC4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotU1VNTUFSWSA9ICJMaWJyYXJ5IGZvciBmaWxlIG1hbmFnZW1lbnQiCi1IT01FUEFHRSA9ICJodHRwOi8vcGNtYW5mbS5zb3VyY2Vmb3JnZS5uZXQvIgotCi1MSUNFTlNFID0gIkxHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9zcmMvZm0tZXh0cmEuaDtiZWdpbmxpbmU9ODtlbmRsaW5lPTIxO21kNT1lZjFmODRkYTY0YjNjMDFjY2E0NDcyMTJmN2VmNjAwNyIKLQotU0VDVElPTiA9ICJ4MTEvbGlicyIKLURFUEVORFMgPSAiZ2xpYi0yLjAtbmF0aXZlIGdsaWItMi4wIGludGx0b29sLW5hdGl2ZSIKLQotU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vcGNtYW5mbS9saWJmbS0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1ubHMubTQtVGFrZS1pdC1mcm9tLWdldHRleHQtMC4xNS5wYXRjaCBcCi0gICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMDJhMDI0NzE0ZDUxZTBkMzdhZmM3YmQ1OTZhNDRmM2IiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMThkMDZmNzk5NmNlMWNmODk0N2RmNmUxMDZiYzAzMzhjNmFlMGM0MTM4YzMxNmYyNTAxZjZmNmY0MzVjN2M3MiIKLQotUyA9ICIke1dPUktESVJ9L2xpYmZtLSR7UFZ9IgotCi1FWFRSQV9PRUNPTkYgPSAiLS13aXRoLWV4dHJhLW9ubHkgLS13aXRoLWd0az1ubyIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGd0ay1kb2MgZ2V0dGV4dAotCi1kb19jb25maWd1cmVbZGlyc10gPSsgIiR7U30vbTQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmZtL2xpYmZtLWV4dHJhXzEuMy4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJmbS9saWJmbS1leHRyYV8xLjMuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NTEwMmExCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJmbS9saWJmbS1leHRyYV8xLjMuMS5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gIkxpYnJhcnkgZm9yIGZpbGUgbWFuYWdlbWVudCIKK0hPTUVQQUdFID0gImh0dHA6Ly9wY21hbmZtLnNvdXJjZWZvcmdlLm5ldC8iCisKK0xJQ0VOU0UgPSAiTEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3NyYy9mbS1leHRyYS5oO2JlZ2lubGluZT04O2VuZGxpbmU9MjE7bWQ1PWVmMWY4NGRhNjRiM2MwMWNjYTQ0NzIxMmY3ZWY2MDA3IgorCitTRUNUSU9OID0gIngxMS9saWJzIgorREVQRU5EUyA9ICJnbGliLTIuMC1uYXRpdmUgZ2xpYi0yLjAgaW50bHRvb2wtbmF0aXZlIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9wY21hbmZtL2xpYmZtLSR7UFZ9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW5scy5tNC1UYWtlLWl0LWZyb20tZ2V0dGV4dC0wLjE1LnBhdGNoIFwKKyAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjMTVlY2QyYzkzMTdlMmMzODVjZDNmMDQ2ZDBiNjFiYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5NmIxMjQ0YmRlNDFjYTBlZWYwMzMyY2ZiNWM2N2JiMTY3MjVkZmQxMDIxMjhmM2U2Zjc0ZmFkYzEzYTFjZmU0IgorCitTID0gIiR7V09SS0RJUn0vbGliZm0tJHtQVn0iCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgtZXh0cmEtb25seSAtLXdpdGgtZ3RrPW5vIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ3RrLWRvYyBnZXR0ZXh0CisKK2RvX2NvbmZpZ3VyZVtkaXJzXSA9KyAiJHtTfS9tNCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZm0vbGliZm1fMS4zLjAuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZm0vbGliZm1fMS4zLjAuMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjJkNmE1MS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmZtL2xpYmZtXzEuMy4wLjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi1TVU1NQVJZID0gIkxpYnJhcnkgZm9yIGZpbGUgbWFuYWdlbWVudCIKLUhPTUVQQUdFID0gImh0dHA6Ly9wY21hbmZtLnNvdXJjZWZvcmdlLm5ldC8iCi0KLUxJQ0VOU0UgPSAiR1BMdjIrICYgTEdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTQ2NDFlOTRlYzk2Zjk4ZmFiYzU2ZmY5Y2M0OGJlMTRiIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9mbS5oO2JlZ2lubGluZT04O2VuZGxpbmU9MjE7bWQ1PWVmMWY4NGRhNjRiM2MwMWNjYTQ0NzIxMmY3ZWY2MDA3IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9iYXNlL2ZtLWNvbmZpZy5oO2JlZ2lubGluZT0xMDtlbmRsaW5lPTIzO21kNT1lZjFmODRkYTY0YjNjMDFjY2E0NDcyMTJmN2VmNjAwNyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvZm0tZ3RrLmg7YmVnaW5saW5lPTY7ZW5kbGluZT0xOTttZDU9NjQ2YmFhNDk1NWMwNGZlNzY4ZjJjYTI3YjkyYWM4ZGQiCi0KLQotU0VDVElPTiA9ICJ4MTEvbGlicyIKLURFUEVORFMgPSAiZ2xpYi0yLjAgZ2xpYi0yLjAtbmF0aXZlIHBhbmdvIGd0ayszIG1lbnUtY2FjaGUgaW50bHRvb2wtbmF0aXZlIGxpYmV4aWYgbGliZm0tZXh0cmEiCi0KLVNSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3BjbWFuZm0vbGliZm0tJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtQ29ycmVjdGx5LWNoZWNrLXRoZS1zdGFtcC1maWxlLXRoYXQtaW5kaWNhdGVzLWlmLXdlLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC1hZGQtbGlicmFyeS1wYXRoLXRvLWF2b2lkLWhvc3QtY29udGFtaW5hdGlvbi5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gIjAyYTAyNDcxNGQ1MWUwZDM3YWZjN2JkNTk2YTQ0ZjNiIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjE4ZDA2Zjc5OTZjZTFjZjg5NDdkZjZlMTA2YmMwMzM4YzZhZTBjNDEzOGMzMTZmMjUwMWY2ZjZmNDM1YzdjNzIiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBndGstZG9jIGdldHRleHQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCi1BTllfT0ZfRElTVFJPX0ZFQVRVUkVTID0gIiR7R1RLM0RJU1RST0ZFQVRVUkVTfSIKLQotRVhUUkFfT0VDT05GID0gIi0td2l0aC1ndGs9MyIKLQotZG9fY29uZmlndXJlW2RpcnNdID0rICIke1N9L200IgotCi1QQUNLQUdFUyA9KyAibGliZm0tZ3RrIgotUEFDS0FHRVMgKz0gIiR7UE59LW1pbWUiCi1GSUxFU19saWJmbS1ndGsgPSAiIFwKLSAgICAke2xpYmRpcn0vbGliZm0tZ3RrKnNvLiogXAotICAgICR7bGliZGlyfS9saWJmbS9tb2R1bGVzL2d0ayogXAotICAgICR7YmluZGlyfS9saWJmbS1wcmVmLWFwcHMgXAotICAgICR7YmluZGlyfS9seHNob3J0Y3V0IFwKLSAgICAke2RhdGFkaXJ9L2FwcGxpY2F0aW9ucy9saWJmbS1wcmVmLWFwcHMuZGVza3RvcCBcCi0gICAgJHtkYXRhZGlyfS9hcHBsaWNhdGlvbnMvbHhzaG9ydGN1dC5kZXNrdG9wIFwKLSAgICAke2RhdGFkaXJ9L2xpYmZtL2ltYWdlcy9mb2xkZXIucG5nIFwKLSAgICAke2RhdGFkaXJ9L2xpYmZtL2ltYWdlcy91bmtub3duLnBuZyBcCi0gICAgJHtkYXRhZGlyfS9saWJmbS91aS8qLnVpIFwKLSIKLUZJTEVTXyR7UE59LW1pbWUgPSAiJHtkYXRhZGlyfS9taW1lLyIKLQotZG9faW5zdGFsbF9hcHBlbmQgKCkgewotICAgICMgcmVtb3ZlIGZpbGVzIHdoaWNoIGFyZSBwYXJ0IG9mIGxpYmZtLWV4dHJhCi0gICAgcm0gLWYgJHtEfSR7aW5jbHVkZWRpcn0vbGliZm0tMS4wL2ZtLXhtbC1maWxlLmgKLSAgICBybSAtZiAke0R9JHtpbmNsdWRlZGlyfS9saWJmbS0xLjAvZm0tdmVyc2lvbi5oCi0gICAgcm0gLWYgJHtEfSR7aW5jbHVkZWRpcn0vbGliZm0tMS4wL2ZtLWV4dHJhLmgKLSAgICBybSAtZiAke0R9JHtpbmNsdWRlZGlyfS9saWJmbQotICAgIHJtIC1mICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnL2xpYmZtLWV4dHJhLnBjCi0gICAgcm0gLWYgJHtEfSR7bGliZGlyfS9saWJmbS1leHRyYS5zbyoKLSAgICBybSAtZiAke0R9JHtsaWJkaXJ9L2xpYmZtLWV4dHJhLmEKLSAgICBybSAtZiAke0R9JHtsaWJkaXJ9L2xpYmZtLWV4dHJhLmxhCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmZtL2xpYmZtXzEuMy4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJmbS9saWJmbV8xLjMuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NWE2ZjhlCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJmbS9saWJmbV8xLjMuMS5iYgpAQCAtMCwwICsxLDU0IEBACitTVU1NQVJZID0gIkxpYnJhcnkgZm9yIGZpbGUgbWFuYWdlbWVudCIKK0hPTUVQQUdFID0gImh0dHA6Ly9wY21hbmZtLnNvdXJjZWZvcmdlLm5ldC8iCisKK0xJQ0VOU0UgPSAiR1BMdjIrICYgTEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTQ2NDFlOTRlYzk2Zjk4ZmFiYzU2ZmY5Y2M0OGJlMTRiIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9mbS5oO2JlZ2lubGluZT04O2VuZGxpbmU9MjE7bWQ1PWVmMWY4NGRhNjRiM2MwMWNjYTQ0NzIxMmY3ZWY2MDA3IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9iYXNlL2ZtLWNvbmZpZy5oO2JlZ2lubGluZT0xMDtlbmRsaW5lPTIzO21kNT1lZjFmODRkYTY0YjNjMDFjY2E0NDcyMTJmN2VmNjAwNyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvZm0tZ3RrLmg7YmVnaW5saW5lPTY7ZW5kbGluZT0xOTttZDU9NjQ2YmFhNDk1NWMwNGZlNzY4ZjJjYTI3YjkyYWM4ZGQiCisKKworU0VDVElPTiA9ICJ4MTEvbGlicyIKK0RFUEVORFMgPSAiZ2xpYi0yLjAgZ2xpYi0yLjAtbmF0aXZlIHBhbmdvIGd0ayszIG1lbnUtY2FjaGUgaW50bHRvb2wtbmF0aXZlIGxpYmV4aWYgbGliZm0tZXh0cmEiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3BjbWFuZm0vbGliZm0tJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtQ29ycmVjdGx5LWNoZWNrLXRoZS1zdGFtcC1maWxlLXRoYXQtaW5kaWNhdGVzLWlmLXdlLS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC1hZGQtbGlicmFyeS1wYXRoLXRvLWF2b2lkLWhvc3QtY29udGFtaW5hdGlvbi5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gImMxNWVjZDJjOTMxN2UyYzM4NWNkM2YwNDZkMGI2MWJhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk2YjEyNDRiZGU0MWNhMGVlZjAzMzJjZmI1YzY3YmIxNjcyNWRmZDEwMjEyOGYzZTZmNzRmYWRjMTNhMWNmZTQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBndGstZG9jIGdldHRleHQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCitBTllfT0ZfRElTVFJPX0ZFQVRVUkVTID0gIiR7R1RLM0RJU1RST0ZFQVRVUkVTfSIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aC1ndGs9MyIKKworZG9fY29uZmlndXJlW2RpcnNdID0rICIke1N9L200IgorCitQQUNLQUdFUyA9KyAibGliZm0tZ3RrIgorUEFDS0FHRVMgKz0gIiR7UE59LW1pbWUiCitGSUxFU19saWJmbS1ndGsgPSAiIFwKKyAgICAke2xpYmRpcn0vbGliZm0tZ3RrKnNvLiogXAorICAgICR7bGliZGlyfS9saWJmbS9tb2R1bGVzL2d0ayogXAorICAgICR7YmluZGlyfS9saWJmbS1wcmVmLWFwcHMgXAorICAgICR7YmluZGlyfS9seHNob3J0Y3V0IFwKKyAgICAke2RhdGFkaXJ9L2FwcGxpY2F0aW9ucy9saWJmbS1wcmVmLWFwcHMuZGVza3RvcCBcCisgICAgJHtkYXRhZGlyfS9hcHBsaWNhdGlvbnMvbHhzaG9ydGN1dC5kZXNrdG9wIFwKKyAgICAke2RhdGFkaXJ9L2xpYmZtL2ltYWdlcy9mb2xkZXIucG5nIFwKKyAgICAke2RhdGFkaXJ9L2xpYmZtL2ltYWdlcy91bmtub3duLnBuZyBcCisgICAgJHtkYXRhZGlyfS9saWJmbS91aS8qLnVpIFwKKyIKK0ZJTEVTXyR7UE59LW1pbWUgPSAiJHtkYXRhZGlyfS9taW1lLyIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgICMgcmVtb3ZlIGZpbGVzIHdoaWNoIGFyZSBwYXJ0IG9mIGxpYmZtLWV4dHJhCisgICAgcm0gLWYgJHtEfSR7aW5jbHVkZWRpcn0vbGliZm0tMS4wL2ZtLXhtbC1maWxlLmgKKyAgICBybSAtZiAke0R9JHtpbmNsdWRlZGlyfS9saWJmbS0xLjAvZm0tdmVyc2lvbi5oCisgICAgcm0gLWYgJHtEfSR7aW5jbHVkZWRpcn0vbGliZm0tMS4wL2ZtLWV4dHJhLmgKKyAgICBybSAtZiAke0R9JHtpbmNsdWRlZGlyfS9saWJmbQorICAgIHJtIC1mICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnL2xpYmZtLWV4dHJhLnBjCisgICAgcm0gLWYgJHtEfSR7bGliZGlyfS9saWJmbS1leHRyYS5zbyoKKyAgICBybSAtZiAke0R9JHtsaWJkaXJ9L2xpYmZtLWV4dHJhLmEKKyAgICBybSAtZiAke0R9JHtsaWJkaXJ9L2xpYmZtLWV4dHJhLmxhCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmdwZy1lcnJvci9saWJncGctZXJyb3IvMDAwMS1zeXNjZmctU3VwcG9ydC1BUkMtQ1BVcy1hbmQtc2ltcGxpZnktYWxpYXNpbmctdGFibGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmdwZy1lcnJvci9saWJncGctZXJyb3IvMDAwMS1zeXNjZmctU3VwcG9ydC1BUkMtQ1BVcy1hbmQtc2ltcGxpZnktYWxpYXNpbmctdGFibGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAzYjBjZTcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJncGctZXJyb3IvbGliZ3BnLWVycm9yLzAwMDEtc3lzY2ZnLVN1cHBvcnQtQVJDLUNQVXMtYW5kLXNpbXBsaWZ5LWFsaWFzaW5nLXRhYmxlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjk4ICswLDAgQEAKLUZyb20gZDRmZDY5NzU2NzE0Nzc3MjE5MzYwNjA3NzFhYTRkN2QwN2ZiMDkxMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFdlcm5lciBLb2NoIDx3a0BnbnVwZy5vcmc+Ci1EYXRlOiBUdWUsIDE4IFNlcCAyMDE4IDE0OjU0OjA4ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggbGliZ3BnLWVycm9yXSBzeXNjZmc6IFN1cHBvcnQgQVJDIENQVXMgYW5kIHNpbXBsaWZ5IGFsaWFzaW5nCi0gdGFibGUuCi0KLSogc3JjL21raGVhZGVyLmMgKHhtYWxsb2MpOiBOZXcuCi0oeHN0cmR1cCk6IEltcGxlbWVudCB1c2luZyB4bWFsbG9jLgotKGNhbm9uX2hvc3RfdHJpcGxldCk6IEFkZCBzdXBwb3JyIGZvciBhcmMgQ1BVLiAgQWRqdXN0IGFsaWFzIHRhYmxlIHRvCi1hbHNvIGFsaWFzICotcGMtKi4gIFJlbmFtZSBpYm0gdG8gdW5rbm93bi4gQWRkIGludGVybmFsIGFyZy4gIEFkZAotdW5rbm93biB2ZW5kb3IgaGFjay4KLShtYWluKTogTmV3IG1vZGUgdG8ganVzdCBwcmludCB0aGUgY2Fub25pY2FsaXplZCBmb3JtLgotKiBzcmMvTWFrZWZpbGUuYW0gKGxvY2tfb2JqX3B1Yik6IHMvLShwY3xpYm0pLS8tdW5rbm93bi8uICBBbHNvIHJlbmFtZQotZmlsZXMgYWNjb3JkaW5nbHkuCi0tLQotCi1jb25maWcuc3ViIGRvZXMgbm8gcmVhbCBhbGlhc2luZyBhbmQgdGh1cyB3ZSB3b3VsZCBuZWVkIHRvIGFkZCBzZXZlcmFsCi12ZW5kb3JzIHRvIHRoZSBhbGlzaW5nIHRhYmxlcyBkZXNwaXRlIHRoYXQgdGhpcyBoYXMgbm8gdGVjaG5pY2FsCi1tZWFuZGluZy4gIEluc3RlYWQgd2Ugbm93IHJlcGxhY2UgdGhlIHZlbmRvciB3aXRoICJ1bmtub3duIiBmb3IgdGhlCi00LXBhcnQtInRyaXBsZXRzIi4gIFRoaXMgY2hhbmdlIHdpbGwgbWFrZSBtYWludGVuYWNlIGVhc2llci4KLQotU2lnbmVkLW9mZi1ieTogV2VybmVyIEtvY2ggPHdrQGdudXBnLm9yZz4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbIGh0dHA6Ly9naXQuZ251cGcub3JnL2NnaS1iaW4vZ2l0d2ViLmNnaT9wPWxpYmdwZy1lcnJvci5naXQ7YT1jb21taXQ7aD00OGM4ZjhkZGZjODAgXQotLS0tCi0gc3JjL01ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTYgKystLQotIHNyYy9ta2hlYWRlci5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDkyICsrKysrKysrKysrKysrKystLS0KLSAuLi4tZ251LmggPT4gbG9jay1vYmotcHViLmk2ODYtdW5rbm93bi1nbnUuaH0gfCAgMAotIC4uLiBsb2NrLW9iai1wdWIuaTY4Ni11bmtub3duLWtmcmVlYnNkLWdudS5ofSB8ICAwCi0gLi4uID0+IGxvY2stb2JqLXB1Yi5pNjg2LXVua25vd24tbGludXgtZ251Lmh9IHwgIDAKLSAuLi49PiBsb2NrLW9iai1wdWIuczM5MHgtdW5rbm93bi1saW51eC1nbnUuaH0gfCAgMAotIC4uLm9jay1vYmotcHViLng4Nl82NC11bmtub3duLWtmcmVlYnNkLWdudS5ofSB8ICAwCi0gLi4uPiBsb2NrLW9iai1wdWIueDg2XzY0LXVua25vd24tbGludXgtZ251Lmh9IHwgIDAKLSAuLi5vY2stb2JqLXB1Yi54ODZfNjQtdW5rbm93bi1saW51eC1nbnV4MzIuaH0gfCAgMAotIC4uLiBsb2NrLW9iai1wdWIueDg2XzY0LXVua25vd24tbGludXgtbXVzbC5ofSB8ICAwCi0gMTAgZmlsZXMgY2hhbmdlZCwgODUgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCi0gcmVuYW1lIHNyYy9zeXNjZmcve2xvY2stb2JqLXB1Yi5pNjg2LXBjLWdudS5oID0+IGxvY2stb2JqLXB1Yi5pNjg2LXVua25vd24tZ251Lmh9ICgxMDAlKQotIHJlbmFtZSBzcmMvc3lzY2ZnL3tsb2NrLW9iai1wdWIuaTY4Ni1wYy1rZnJlZWJzZC1nbnUuaCA9PiBsb2NrLW9iai1wdWIuaTY4Ni11bmtub3duLWtmcmVlYnNkLWdudS5ofSAoMTAwJSkKLSByZW5hbWUgc3JjL3N5c2NmZy97bG9jay1vYmotcHViLmk2ODYtcGMtbGludXgtZ251LmggPT4gbG9jay1vYmotcHViLmk2ODYtdW5rbm93bi1saW51eC1nbnUuaH0gKDEwMCUpCi0gcmVuYW1lIHNyYy9zeXNjZmcve2xvY2stb2JqLXB1Yi5zMzkweC1pYm0tbGludXgtZ251LmggPT4gbG9jay1vYmotcHViLnMzOTB4LXVua25vd24tbGludXgtZ251Lmh9ICgxMDAlKQotIHJlbmFtZSBzcmMvc3lzY2ZnL3tsb2NrLW9iai1wdWIueDg2XzY0LXBjLWtmcmVlYnNkLWdudS5oID0+IGxvY2stb2JqLXB1Yi54ODZfNjQtdW5rbm93bi1rZnJlZWJzZC1nbnUuaH0gKDEwMCUpCi0gcmVuYW1lIHNyYy9zeXNjZmcve2xvY2stb2JqLXB1Yi54ODZfNjQtcGMtbGludXgtZ251LmggPT4gbG9jay1vYmotcHViLng4Nl82NC11bmtub3duLWxpbnV4LWdudS5ofSAoMTAwJSkKLSByZW5hbWUgc3JjL3N5c2NmZy97bG9jay1vYmotcHViLng4Nl82NC1wYy1saW51eC1nbnV4MzIuaCA9PiBsb2NrLW9iai1wdWIueDg2XzY0LXVua25vd24tbGludXgtZ251eDMyLmh9ICgxMDAlKQotIHJlbmFtZSBzcmMvc3lzY2ZnL3tsb2NrLW9iai1wdWIueDg2XzY0LXBjLWxpbnV4LW11c2wuaCA9PiBsb2NrLW9iai1wdWIueDg2XzY0LXVua25vd24tbGludXgtbXVzbC5ofSAoMTAwJSkKLQotZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZS5hbSBiL3NyYy9NYWtlZmlsZS5hbQotaW5kZXggNDI5OThlNDZhM2JjLi44ZWM1ODJlZjk5ZmIgMTAwNjQ0Ci0tLS0gYS9zcmMvTWFrZWZpbGUuYW0KLSsrKyBiL3NyYy9NYWtlZmlsZS5hbQotQEAgLTUyLDkgKzUyLDkgQEAgbG9ja19vYmpfcHViID0gXAotIAlzeXNjZmcvbG9jay1vYmotcHViLmFybS1hcHBsZS1kYXJ3aW4uaCAgICAgICAgICAgICAgXAotICAgICAgICAgc3lzY2ZnL2xvY2stb2JqLXB1Yi5ocHBhLXVua25vd24tbGludXgtZ251LmggICAgICAgIFwKLSAJc3lzY2ZnL2xvY2stb2JqLXB1Yi5pMzg2LWFwcGxlLWRhcndpbi5oICAgICAgICAgICAgIFwKLS0gICAgICAgIHN5c2NmZy9sb2NrLW9iai1wdWIuaTY4Ni1wYy1nbnUuaCAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICBzeXNjZmcvbG9jay1vYmotcHViLmk2ODYtcGMta2ZyZWVic2QtZ251LmggICAgICAgICAgXAotLSAgICAgICAgc3lzY2ZnL2xvY2stb2JqLXB1Yi5pNjg2LXBjLWxpbnV4LWdudS5oICAgICAgICAgICAgIFwKLSsgICAgICAgIHN5c2NmZy9sb2NrLW9iai1wdWIuaTY4Ni11bmtub3duLWdudS5oICAgICAgICAgICAgICBcCi0rICAgICAgICBzeXNjZmcvbG9jay1vYmotcHViLmk2ODYtdW5rbm93bi1rZnJlZWJzZC1nbnUuaCAgICAgXAotKyAgICAgICAgc3lzY2ZnL2xvY2stb2JqLXB1Yi5pNjg2LXVua25vd24tbGludXgtZ251LmggICAgICAgIFwKLSAgICAgICAgIHN5c2NmZy9sb2NrLW9iai1wdWIubTY4ay11bmtub3duLWxpbnV4LWdudS5oICAgICAgICBcCi0gICAgICAgICBzeXNjZmcvbG9jay1vYmotcHViLm1pcHMtdW5rbm93bi1saW51eC1nbnUuaCAgICAgICAgXAotICAgICAgICAgc3lzY2ZnL2xvY2stb2JqLXB1Yi5taXBzNjRlbC11bmtub3duLWxpbnV4LWdudWFiaTY0LmggXAotQEAgLTY2LDE2ICs2NiwxNiBAQCBsb2NrX29ial9wdWIgPSBcCi0gCXN5c2NmZy9sb2NrLW9iai1wdWIucG93ZXJwYzY0bGUtdW5rbm93bi1saW51eC1nbnUuaCBcCi0gCXN5c2NmZy9sb2NrLW9iai1wdWIucG93ZXJwYy11bmtub3duLWxpbnV4LWdudXNwZS5oICBcCi0gCXN5c2NmZy9sb2NrLW9iai1wdWIucmlzY3Y2NC11bmtub3duLWxpbnV4LWdudS5oICAgICBcCi0tICAgICAgICBzeXNjZmcvbG9jay1vYmotcHViLnMzOTB4LWlibS1saW51eC1nbnUuaCAgICAgICAgICAgXAotKyAgICAgICAgc3lzY2ZnL2xvY2stb2JqLXB1Yi5zMzkweC11bmtub3duLWxpbnV4LWdudS5oICAgICAgIFwKLSAgICAgICAgIHN5c2NmZy9sb2NrLW9iai1wdWIuc2gzLXVua25vd24tbGludXgtZ251LmggICAgICAgICBcCi0gICAgICAgICBzeXNjZmcvbG9jay1vYmotcHViLnNoNC11bmtub3duLWxpbnV4LWdudS5oICAgICAgICAgXAotICAgICAgICAgc3lzY2ZnL2xvY2stb2JqLXB1Yi5zcGFyYy11bmtub3duLWxpbnV4LWdudS5oICAgICAgIFwKLSAgICAgICAgIHN5c2NmZy9sb2NrLW9iai1wdWIuc3BhcmM2NC11bmtub3duLWxpbnV4LWdudS5oICAgICBcCi0gCXN5c2NmZy9sb2NrLW9iai1wdWIueDg2XzY0LWFwcGxlLWRhcndpbi5oICAgICAgICAgICBcCi0tICAgICAgICBzeXNjZmcvbG9jay1vYmotcHViLng4Nl82NC1wYy1rZnJlZWJzZC1nbnUuaCAgICAgICAgXAotLSAgICAgICAgc3lzY2ZnL2xvY2stb2JqLXB1Yi54ODZfNjQtcGMtbGludXgtZ251LmggICAgICAgICAgIFwKLS0gICAgICAgIHN5c2NmZy9sb2NrLW9iai1wdWIueDg2XzY0LXBjLWxpbnV4LWdudXgzMi5oICAgICAgICBcCi0tICAgICAgICBzeXNjZmcvbG9jay1vYmotcHViLng4Nl82NC1wYy1saW51eC1tdXNsLmggICAgICAgICAgXAotKyAgICAgICAgc3lzY2ZnL2xvY2stb2JqLXB1Yi54ODZfNjQtdW5rbm93bi1rZnJlZWJzZC1nbnUuaCAgIFwKLSsgICAgICAgIHN5c2NmZy9sb2NrLW9iai1wdWIueDg2XzY0LXVua25vd24tbGludXgtZ251LmggICAgICBcCi0rICAgICAgICBzeXNjZmcvbG9jay1vYmotcHViLng4Nl82NC11bmtub3duLWxpbnV4LWdudXgzMi5oICAgXAotKyAgICAgICAgc3lzY2ZnL2xvY2stb2JqLXB1Yi54ODZfNjQtdW5rbm93bi1saW51eC1tdXNsLmggICAgIFwKLSAJc3lzY2ZnL2xvY2stb2JqLXB1Yi50aWxlZ3gtdW5rbm93bi1saW51eC1nbnUuaCAgICAgIFwKLSAJc3lzY2ZnL2xvY2stb2JqLXB1Yi5pYTY0LXVua25vd24tbGludXgtZ251LmggICAgICAgIFwKLSAJc3lzY2ZnL2xvY2stb2JqLXB1Yi5taW5ndzMyLmgKLWRpZmYgLS1naXQgYS9zcmMvbWtoZWFkZXIuYyBiL3NyYy9ta2hlYWRlci5jCi1pbmRleCAyZmM1ZmFkYTY2YTQuLjdhMzhhMWJlYzFhNCAxMDA2NDQKLS0tLSBhL3NyYy9ta2hlYWRlci5jCi0rKysgYi9zcmMvbWtoZWFkZXIuYwotQEAgLTUxLDE3ICs1MSwyNyBAQCB4ZnJlZSAodm9pZCAqYSkKLSAKLSAKLSBzdGF0aWMgY2hhciAqCi0teHN0cmR1cCAoY29uc3QgY2hhciAqc3RyaW5nKQotK3htYWxsb2MgKHNpemVfdCBuKQotIHsKLSAgIGNoYXIgKnA7Ci0tICBzaXplX3QgbGVuID0gc3RybGVuIChzdHJpbmcpICsgMTsKLSAKLS0gIHAgPSBtYWxsb2MgKGxlbik7Ci0rICBwID0gbWFsbG9jIChuKTsKLSAgIGlmICghcCkKLSAgICAgewotICAgICAgIGZwdXRzIChQR00gIjogb3V0IG9mIGNvcmVcbiIsIHN0ZGVycik7Ci0gICAgICAgZXhpdCAoMSk7Ci0gICAgIH0KLSsgIHJldHVybiBwOwotK30KLSsKLSsKLStzdGF0aWMgY2hhciAqCi0reHN0cmR1cCAoY29uc3QgY2hhciAqc3RyaW5nKQotK3sKLSsgIGNoYXIgKnA7Ci0rICBzaXplX3QgbGVuID0gc3RybGVuIChzdHJpbmcpICsgMTsKLSsKLSsgIHAgPSB4bWFsbG9jIChsZW4pOwotICAgbWVtY3B5IChwLCBzdHJpbmcsIGxlbik7Ci0gICByZXR1cm4gcDsKLSB9Ci1AQCAtNjksMjMgKzc5LDMxIEBAIHhzdHJkdXAgKGNvbnN0IGNoYXIgKnN0cmluZykKLSAKLSAvKiBSZXR1cm4gYSBtYWxsb2NlZCBzdHJpbmcgd2l0aCBUUklQTEVULiAgSWYgVFJJUExFVCBoYXMgYW4gYWxpYXMKLSAgICByZXR1cm4gdGhhdCBpbnN0ZWFkLiAgSW4gZ2VuZXJhbCBidWlsZC1hdXgvY29uZmlnLnN1YiBzaG91bGQgZG8gdGhlCi0tICAgYWxpYXNpbmcgYnV0IHNvbWUgcmV0dXJuZWQgdHJpcGxldHMgYXJlIGFueXdheSBpZGVudGljYWwgYW5kIHRodXMgd2UKLS0gICB1c2UgdGhpcyBmdW5jdGlvbiB0byBtYXAgaXQgdG8gdGhlIGNhbm9uaWNhbCBmb3JtLiAgKi8KLSsgICBhbGlhc2luZyBidXQgc29tZSByZXR1cm5lZCB0cmlwbGV0cyBhcmUgYW55d2F5IGlkZW50aWNhbCBhbmQgdGh1cwotKyAgIHdlIHVzZSB0aGlzIGZ1bmN0aW9uIHRvIG1hcCBpdCB0byB0aGUgY2Fub25pY2FsIGZvcm0uCi0rICAgTk9fVkVORE9SX0hBQ0sgaXMgZm9yIGludGVybmFsIHVzZTsgY2FsbGVyIG11c3QgY2FsbCB3aXRoIDAuICovCi0gc3RhdGljIGNoYXIgKgotLWNhbm9uX2hvc3RfdHJpcGxldCAoY29uc3QgY2hhciAqdHJpcGxldCkKLStjYW5vbl9ob3N0X3RyaXBsZXQgKGNvbnN0IGNoYXIgKnRyaXBsZXQsIGludCBub192ZW5kb3JfaGFjaykKLSB7Ci0gICBzdHJ1Y3QgewotICAgICBjb25zdCBjaGFyICpuYW1lOwotICAgICBjb25zdCBjaGFyICphbGlhczsKLSAgIH0gdGJsW10gPSB7Ci0tICAgIHsiaTQ4Ni1wYy1saW51eC1nbnUiLCAiaTY4Ni1wYy1saW51eC1nbnUiIH0sCi0rICAgIHsiaTQ4Ni1wYy1saW51eC1nbnUiLCAiaTY4Ni11bmtub3duLWxpbnV4LWdudSIgfSwKLSAgICAgeyJpNTg2LXBjLWxpbnV4LWdudSIgfSwKLS0gICAgeyJpNDg2LXBjLWdudSIsICJpNjg2LXBjLWdudSJ9LAotKyAgICB7Imk2ODYtcGMtbGludXgtZ251IiB9LAotKyAgICB7ImFyYy1vZS1saW51eC11Y2xpYmMiIH0sIC8qIE90aGVyIENQVSBidXQgc2FtZSBzdHJ1Y3QuICAqLwotKwotKyAgICB7Imk0ODYtcGMtZ251IiwgImk2ODYtdW5rbm93bi1nbnUifSwKLSAgICAgeyJpNTg2LXBjLWdudSJ9LAotLSAgICB7Imk0ODYtcGMta2ZyZWVic2QtZ251IiwgImk2ODYtcGMta2ZyZWVic2QtZ251In0sCi0rICAgIHsiaTY4Ni1wYy1nbnUifSwKLSsKLSsgICAgeyJpNDg2LXBjLWtmcmVlYnNkLWdudSIsICJpNjg2LXVua25vd24ta2ZyZWVic2QtZ251In0sCi0gICAgIHsiaTU4Ni1wYy1rZnJlZWJzZC1nbnUifSwKLSsgICAgeyJpNjg2LXBjLWtmcmVlYnNkLWdudSJ9LAotIAotLSAgICB7Ing4Nl82NC1wYy1saW51eC1nbnVoYXJkZW5lZDEiLCAieDg2XzY0LXBjLWxpbnV4LWdudSIgfSwKLSsgICAgeyJ4ODZfNjQtcGMtbGludXgtZ251aGFyZGVuZWQxIiwgIng4Nl82NC11bmtub3duLWxpbnV4LWdudSIgfSwKLSsgICAgeyJ4ODZfNjQtcGMtbGludXgtZ251IiB9LAotIAotICAgICB7InBvd2VycGMtdW5rbm93bi1saW51eC1nbnVzcGUiLCAicG93ZXJwYy11bmtub3duLWxpbnV4LWdudSIgfSwKLSAKLUBAIC05OCw2ICsxMTYsNyBAQCBjYW5vbl9ob3N0X3RyaXBsZXQgKGNvbnN0IGNoYXIgKnRyaXBsZXQpCi0gICB9OwotICAgaW50IGk7Ci0gICBjb25zdCBjaGFyICpsYXN0YWxpYXMgPSBOVUxMOwotKyAgY29uc3QgY2hhciAqczsKLSAKLSAgIGZvciAoaT0wOyB0YmxbaV0ubmFtZTsgaSsrKQotICAgICB7Ci1AQCAtMTEwLDYgKzEyOSwzNiBAQCBjYW5vbl9ob3N0X3RyaXBsZXQgKGNvbnN0IGNoYXIgKnRyaXBsZXQpCi0gICAgICAgICAgIHJldHVybiB4c3RyZHVwIChsYXN0YWxpYXMpOwotICAgICAgICAgfQotICAgICB9Ci0rICBmb3IgKGk9MCwgcz10cmlwbGV0OyAqczsgcysrKQotKyAgICBpZiAoKnMgPT0gJy0nKQotKyAgICAgIGkrKzsKLSsgIGlmIChpID4gMiAmJiAhbm9fdmVuZG9yX2hhY2spCi0rICAgIHsKLSsgICAgICAvKiBXZSBoYXZlIGEgNCBwYXJ0ICJ0cmlwbGV0IjogQ1BVLVZFTkRPUi1LRVJORUwtU1lTVEVNIHdoZXJlCi0rICAgICAgICogdGhlIGxhc3QgdHdvIHBhcnRzIHJlcGxhY2UgdGhlIE9TIHBhcnQgb2YgYSByZWFsIHRyaXBsZXQuCi0rICAgICAgICogVGhlIFZFTkRPUiBwYXJ0IGlzIHRoZW4gaW4gZ2VuZXJhbCB1c2VsZXNzIGJlY2F1c2UKLSsgICAgICAgKiBLRVJORUwtU1lTVEVNIGlzIHNwZWNpZmljIGVub3VnaC4gIFdlIG5vdyBkbyBhIHNlY29uZCBwYXNzIGJ5Ci0rICAgICAgICogcmVwbGFjaW5nIFZFTkRPUiB3aXRoICJ1bmtub3duIi4gICovCi0rICAgICAgY2hhciAqcDsKLSsgICAgICBjaGFyICpidWYgPSB4bWFsbG9jIChzdHJsZW4gKHRyaXBsZXQpICsgNyArIDEpOwotKwotKyAgICAgIGZvciAocD1idWYscz10cmlwbGV0LGk9MDsgKnM7IHMrKykKLSsgICAgICAgIHsKLSsgICAgICAgICAgKnArKyA9ICpzOwotKyAgICAgICAgICBpZiAoKnMgPT0gJy0nICYmICsraSA9PSAxKQotKyAgICAgICAgICAgIHsKLSsgICAgICAgICAgICAgIG1lbWNweSAocCwgInVua25vd24tIiw4KTsKLSsgICAgICAgICAgICAgIHAgKz0gODsKLSsgICAgICAgICAgICAgIGZvciAocysrOyAqcyAhPSAnLSc7IHMrKykKLSsgICAgICAgICAgICAgICAgOwotKyAgICAgICAgICAgIH0KLSsgICAgICAgIH0KLSsgICAgICAqcCA9IDA7Ci0rICAgICAgcCA9IGNhbm9uX2hvc3RfdHJpcGxldCAoYnVmLCAxKTsKLSsgICAgICB4ZnJlZSAoYnVmKTsKLSsgICAgICByZXR1cm4gcDsKLSsgICAgfQotKwotICAgcmV0dXJuIHhzdHJkdXAgKHRyaXBsZXQpOwotIH0KLSAKLUBAIC01NTgsNyArNjA3LDcgQEAgd3JpdGVfc3BlY2lhbCAoY29uc3QgY2hhciAqZm5hbWUsIGludCBsbnIsIGNvbnN0IGNoYXIgKnRhZykKLSBpbnQKLSBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi0gewotLSAgRklMRSAqZnA7Ci0rICBGSUxFICpmcCA9IE5VTEw7Ci0gICBjaGFyIGxpbmVbTElORVNJWkVdOwotICAgaW50IGxuciA9IDA7Ci0gICBjb25zdCBjaGFyICpmbmFtZSwgKnM7Ci1AQCAtNTcxLDExICs2MjAsMjIgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQotICAgICAgIGFyZ2MtLTsgYXJndisrOwotICAgICB9Ci0gCi0tICBpZiAoYXJnYyAhPSA2KQotKyAgaWYgKGFyZ2MgPT0gMSkKLSsgICAgewotKyAgICAgIC8qIFByaW50IGp1c3QgdGhlIGNhbm9uaWNhbGl6ZWQgaG9zdCB0cmlwbGV0LiAgKi8KLSsgICAgICBob3N0X3RyaXBsZXQgPSBjYW5vbl9ob3N0X3RyaXBsZXQgKGFyZ3ZbMF0sIDApOwotKyAgICAgIHByaW50ZiAoIiVzXG4iLCBob3N0X3RyaXBsZXQpOwotKyAgICAgIGdvdG8gbGVhdmU7Ci0rICAgIH0KLSsgIGVsc2UgaWYgKGFyZ2MgPT0gNikKLSsgICAgOyAvKiBTdGFuZGFyZCBvcGVyYXRpb24uICAqLwotKyAgZWxzZQotICAgICB7Ci0gICAgICAgZnB1dHMgKCJ1c2FnZTogIiBQR00KLSAgICAgICAgICAgICAgIiBob3N0X29zIGhvc3RfdHJpcGxldCB0ZW1wbGF0ZS5oIGNvbmZpZy5oIgotLSAgICAgICAgICAgICAiIHZlcnNpb24gdmVyc2lvbl9udW1iZXJcbiIsCi0rICAgICAgICAgICAgICIgdmVyc2lvbiB2ZXJzaW9uX251bWJlclxuIgotKyAgICAgICAgICAgICAiICAgICAgICIgUEdNCi0rICAgICAgICAgICAgICIgaG9zdF90cmlwbGV0XG4iLAotICAgICAgICAgICAgICBzdGRlcnIpOwotICAgICAgIHJldHVybiAxOwotICAgICB9Ci1AQCAtNTg2LDcgKzY0Niw3IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKLSAgIGhkcl92ZXJzaW9uID0gYXJndls0XTsKLSAgIGhkcl92ZXJzaW9uX251bWJlciA9IGFyZ3ZbNV07Ci0gCi0tICBob3N0X3RyaXBsZXQgPSBjYW5vbl9ob3N0X3RyaXBsZXQgKGhvc3RfdHJpcGxldF9yYXcpOwotKyAgaG9zdF90cmlwbGV0ID0gY2Fub25faG9zdF90cmlwbGV0IChob3N0X3RyaXBsZXRfcmF3LCAwKTsKLSAKLSAgIHNyY2RpciA9IG1hbGxvYyAoc3RybGVuIChmbmFtZSkgKyAyICsgMSk7Ci0gICBpZiAoIXNyY2RpcikKLUBAIC02NzcsMTMgKzczNywxNSBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi0gICAgICAgICAgIkVuZDpcbiIKLSAgICAgICAgICAiKi9cbiIsIHN0ZG91dCk7Ci0gCi0rIGxlYXZlOgotICAgaWYgKGZlcnJvciAoc3Rkb3V0KSkKLSAgICAgewotICAgICAgIGZwcmludGYgKHN0ZGVyciwgUEdNICI6IGVycm9yIHdyaXRpbmcgdG8gc3Rkb3V0OiAlc1xuIiwgc3RyZXJyb3IgKGVycm5vKSk7Ci0gICAgICAgcmV0dXJuIDE7Ci0gICAgIH0KLSAKLS0gIGZjbG9zZSAoZnApOwotKyAgaWYgKGZwKQotKyAgICBmY2xvc2UgKGZwKTsKLSAKLSAgIHhmcmVlIChob3N0X3RyaXBsZXQpOwotICAgcmV0dXJuIDA7Ci1kaWZmIC0tZ2l0IGEvc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIuaTY4Ni1wYy1nbnUuaCBiL3NyYy9zeXNjZmcvbG9jay1vYmotcHViLmk2ODYtdW5rbm93bi1nbnUuaAotc2ltaWxhcml0eSBpbmRleCAxMDAlCi1yZW5hbWUgZnJvbSBzcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi5pNjg2LXBjLWdudS5oCi1yZW5hbWUgdG8gc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIuaTY4Ni11bmtub3duLWdudS5oCi1kaWZmIC0tZ2l0IGEvc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIuaTY4Ni1wYy1rZnJlZWJzZC1nbnUuaCBiL3NyYy9zeXNjZmcvbG9jay1vYmotcHViLmk2ODYtdW5rbm93bi1rZnJlZWJzZC1nbnUuaAotc2ltaWxhcml0eSBpbmRleCAxMDAlCi1yZW5hbWUgZnJvbSBzcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi5pNjg2LXBjLWtmcmVlYnNkLWdudS5oCi1yZW5hbWUgdG8gc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIuaTY4Ni11bmtub3duLWtmcmVlYnNkLWdudS5oCi1kaWZmIC0tZ2l0IGEvc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIuaTY4Ni1wYy1saW51eC1nbnUuaCBiL3NyYy9zeXNjZmcvbG9jay1vYmotcHViLmk2ODYtdW5rbm93bi1saW51eC1nbnUuaAotc2ltaWxhcml0eSBpbmRleCAxMDAlCi1yZW5hbWUgZnJvbSBzcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi5pNjg2LXBjLWxpbnV4LWdudS5oCi1yZW5hbWUgdG8gc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIuaTY4Ni11bmtub3duLWxpbnV4LWdudS5oCi1kaWZmIC0tZ2l0IGEvc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIuczM5MHgtaWJtLWxpbnV4LWdudS5oIGIvc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIuczM5MHgtdW5rbm93bi1saW51eC1nbnUuaAotc2ltaWxhcml0eSBpbmRleCAxMDAlCi1yZW5hbWUgZnJvbSBzcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi5zMzkweC1pYm0tbGludXgtZ251LmgKLXJlbmFtZSB0byBzcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi5zMzkweC11bmtub3duLWxpbnV4LWdudS5oCi1kaWZmIC0tZ2l0IGEvc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIueDg2XzY0LXBjLWtmcmVlYnNkLWdudS5oIGIvc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIueDg2XzY0LXVua25vd24ta2ZyZWVic2QtZ251LmgKLXNpbWlsYXJpdHkgaW5kZXggMTAwJQotcmVuYW1lIGZyb20gc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIueDg2XzY0LXBjLWtmcmVlYnNkLWdudS5oCi1yZW5hbWUgdG8gc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIueDg2XzY0LXVua25vd24ta2ZyZWVic2QtZ251LmgKLWRpZmYgLS1naXQgYS9zcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi54ODZfNjQtcGMtbGludXgtZ251LmggYi9zcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi54ODZfNjQtdW5rbm93bi1saW51eC1nbnUuaAotc2ltaWxhcml0eSBpbmRleCAxMDAlCi1yZW5hbWUgZnJvbSBzcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi54ODZfNjQtcGMtbGludXgtZ251LmgKLXJlbmFtZSB0byBzcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi54ODZfNjQtdW5rbm93bi1saW51eC1nbnUuaAotZGlmZiAtLWdpdCBhL3NyYy9zeXNjZmcvbG9jay1vYmotcHViLng4Nl82NC1wYy1saW51eC1nbnV4MzIuaCBiL3NyYy9zeXNjZmcvbG9jay1vYmotcHViLng4Nl82NC11bmtub3duLWxpbnV4LWdudXgzMi5oCi1zaW1pbGFyaXR5IGluZGV4IDEwMCUKLXJlbmFtZSBmcm9tIHNyYy9zeXNjZmcvbG9jay1vYmotcHViLng4Nl82NC1wYy1saW51eC1nbnV4MzIuaAotcmVuYW1lIHRvIHNyYy9zeXNjZmcvbG9jay1vYmotcHViLng4Nl82NC11bmtub3duLWxpbnV4LWdudXgzMi5oCi1kaWZmIC0tZ2l0IGEvc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIueDg2XzY0LXBjLWxpbnV4LW11c2wuaCBiL3NyYy9zeXNjZmcvbG9jay1vYmotcHViLng4Nl82NC11bmtub3duLWxpbnV4LW11c2wuaAotc2ltaWxhcml0eSBpbmRleCAxMDAlCi1yZW5hbWUgZnJvbSBzcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi54ODZfNjQtcGMtbGludXgtbXVzbC5oCi1yZW5hbWUgdG8gc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIueDg2XzY0LXVua25vd24tbGludXgtbXVzbC5oCi0tLSAKLTIuMTcuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmdwZy1lcnJvci9saWJncGctZXJyb3IvMDAwMi1zeXNjZmctQWRkLXN1cHBvcnQtZm9yLWFyYy11bmtub3duLWxpbnV4LWdudS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZ3BnLWVycm9yL2xpYmdwZy1lcnJvci8wMDAyLXN5c2NmZy1BZGQtc3VwcG9ydC1mb3ItYXJjLXVua25vd24tbGludXgtZ251LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOTc2NTJmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZ3BnLWVycm9yL2xpYmdwZy1lcnJvci8wMDAyLXN5c2NmZy1BZGQtc3VwcG9ydC1mb3ItYXJjLXVua25vd24tbGludXgtZ251LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotRnJvbSBhZTZhM2YyMDM0NWRhYzRiOWRhYWI4YzM5YWMyZDNmYjNmMmMyMWUzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogV2VybmVyIEtvY2ggPHdrQGdudXBnLm9yZz4KLURhdGU6IEZyaSwgMjEgU2VwIDIwMTggMTQ6Mzc6MjEgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCBMaWJncGctZXJyb3JdIHN5c2NmZzogQWRkIHN1cHBvcnQgZm9yIGFyYy11bmtub3duLWxpbnV4LWdudQotCi0qIHNyYy9ta2hlYWRlci5jIChjYW5vbl9ob3N0X3RyaXBsZXQpOiBBZGQgdG8gdGFibGUuCi0tLQotCi1Ob3RlIHRoYXQgdW5rbm93biBpbiB0aGUgYWJvdmUgdHJpcGxldCBpcyBhY3R1YWxseSBhIHdpbGRjYXJkIGZvciA0Ci1wYXJ0IHRyaXBsZXRzLgotCi1TaWduZWQtb2ZmLWJ5OiBXZXJuZXIgS29jaCA8d2tAZ251cGcub3JnPgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwOi8vZ2l0LmdudXBnLm9yZy9jZ2ktYmluL2dpdHdlYi5jZ2k/cD1saWJncGctZXJyb3IuZ2l0O2E9Y29tbWl0O2g9ZjRmMGRhNzRmNTI2ZDdlMzVjZWRiYzJlOTM0NTRkZjY0NDBkYmZhNV0KLS0tLQotIHNyYy9ta2hlYWRlci5jIHwgMyArKy0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvbWtoZWFkZXIuYyBiL3NyYy9ta2hlYWRlci5jCi1pbmRleCA3YTM4YTFiZWMxYTQuLmE0ODY2ZTk2ZWY0MyAxMDA2NDQKLS0tLSBhL3NyYy9ta2hlYWRlci5jCi0rKysgYi9zcmMvbWtoZWFkZXIuYwotQEAgLTkyLDcgKzkyLDggQEAgY2Fub25faG9zdF90cmlwbGV0IChjb25zdCBjaGFyICp0cmlwbGV0LCBpbnQgbm9fdmVuZG9yX2hhY2spCi0gICAgIHsiaTQ4Ni1wYy1saW51eC1nbnUiLCAiaTY4Ni11bmtub3duLWxpbnV4LWdudSIgfSwKLSAgICAgeyJpNTg2LXBjLWxpbnV4LWdudSIgfSwKLSAgICAgeyJpNjg2LXBjLWxpbnV4LWdudSIgfSwKLS0gICAgeyJhcmMtb2UtbGludXgtdWNsaWJjIiB9LCAvKiBPdGhlciBDUFUgYnV0IHNhbWUgc3RydWN0LiAgKi8KLSsgICAgeyJhcmMtb2UtbGludXgtZ251IiAgICB9LCAvKiBPdGhlciBDUFUgYnV0IHNhbWUgc3RydWN0LiAgKi8KLSsgICAgeyJhcmMtb2UtbGludXgtdWNsaWJjIiB9LCAvKiBhbmQgdWNsaWJjIGlzIGFsc28gdGhlIHNhbWUuICAqLwotIAotICAgICB7Imk0ODYtcGMtZ251IiwgImk2ODYtdW5rbm93bi1nbnUifSwKLSAgICAgeyJpNTg2LXBjLWdudSJ9LAotLS0gCi0yLjE3LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJncGctZXJyb3IvbGliZ3BnLWVycm9yL3BrZ2NvbmZpZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZ3BnLWVycm9yL2xpYmdwZy1lcnJvci9wa2djb25maWcucGF0Y2gKaW5kZXggMzA2NjYxMy4uY2E1ZjZiNSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJncGctZXJyb3IvbGliZ3BnLWVycm9yL3BrZ2NvbmZpZy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmdwZy1lcnJvci9saWJncGctZXJyb3IvcGtnY29uZmlnLnBhdGNoCkBAIC04LDUzICs4LDIxIEBACiBSZWJhc2UgdG8gMS4yOAogCiBTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CisKK1JlZmFjdG9yZWQgZm9yIDEuMzMKK1NpZ25lZC1vZmYtYnk6IEFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CisKIC0tLQogIGNvbmZpZ3VyZS5hYyAgICAgICAgfCAgMSArCi0gc3JjL01ha2VmaWxlLmFtICAgICB8ICA0ICsrLQogIHNyYy9ncGctZXJyb3IubTQgICAgfCA3MSArKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIHNyYy9ncGctZXJyb3IucGMuaW4gfCAxMSArKysrKysrKysKICA0IGZpbGVzIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDY5IGRlbGV0aW9ucygtKQogIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvZ3BnLWVycm9yLnBjLmluCiAKLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IGFjYTkzMDAuLmY3Nzk0ZTkgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuYWMKLSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTYyMSw2ICs2MjEsNyBAQCBBQ19DT05GSUdfRklMRVMoW3NyYy9NYWtlZmlsZSB0ZXN0cy9NYWtlZmlsZV0pCi0gQUNfQ09ORklHX0ZJTEVTKFtsYW5nL01ha2VmaWxlIGxhbmcvY2wvTWFrZWZpbGUgbGFuZy9jbC9ncGctZXJyb3IuYXNkXSkKLSBBQ19DT05GSUdfRklMRVMoW3NyYy92ZXJzaW9uaW5mby5yYyBzcmMvZ3BnLWVycm9yLnczMi1tYW5pZmVzdF0pCi0gQUNfQ09ORklHX0ZJTEVTKFtzcmMvZ3BnLWVycm9yLWNvbmZpZ10sIFtjaG1vZCAreCBzcmMvZ3BnLWVycm9yLWNvbmZpZ10pCi0rQUNfQ09ORklHX0ZJTEVTKFtzcmMvZ3BnLWVycm9yLnBjXSkKLSAKLSBBQ19PVVRQVVQKLSAKLWRpZmYgLS1naXQgYS9zcmMvTWFrZWZpbGUuYW0gYi9zcmMvTWFrZWZpbGUuYW0KLWluZGV4IDI2OGMyYWIuLjk1Zjg0NTkgMTAwNjQ0Ci0tLS0gYS9zcmMvTWFrZWZpbGUuYW0KLSsrKyBiL3NyYy9NYWtlZmlsZS5hbQotQEAgLTg3LDYgKzg3LDggQEAgYmluX1NDUklQVFMgPSBncGctZXJyb3ItY29uZmlnCi0gbm9kaXN0X2Jpbl9TQ1JJUFRTID0gZ3BncnQtY29uZmlnCi0gbTRkYXRhZGlyID0gJChkYXRhZGlyKS9hY2xvY2FsCi0gbTRkYXRhX0RBVEEgPSBncGctZXJyb3IubTQgZ3BncnQubTQKLStwa2djb25maWdkaXIgPSAkKGxpYmRpcikvcGtnY29uZmlnCi0rcGtnY29uZmlnX0RBVEEgPSBncGctZXJyb3IucGMKLSAKLSBFWFRSQV9ESVNUID0gbWtzdHJ0YWJsZS5hd2sgZXJyLXNvdXJjZXMuaC5pbiBlcnItY29kZXMuaC5pbiBcCi0gCW1rZXJybm9zLmF3ayBlcnJub3MuaW4gUkVBRE1FIFwKLUBAIC05NCw3ICs5Niw3IEBAIEVYVFJBX0RJU1QgPSBta3N0cnRhYmxlLmF3ayBlcnItc291cmNlcy5oLmluIGVyci1jb2Rlcy5oLmluIFwKLSAJbWtoZWFkZXIuYyBncGctZXJyb3IuaC5pbiBta3czMmVycm1hcC5jIHczMi1hZGQuaCB3MzJjZS1hZGQuaCBcCi0gCWVyci1zb3VyY2VzLmggZXJyLWNvZGVzLmggZ3BnLWVycm9yLWNvbmZpZy5pbiBncGctZXJyb3IubTQgZ3BncnQubTQgXAotIAlncGctZXJyb3IudmVycyBncGctZXJyb3IuZGVmLmluIFwKLS0gICAgICAgIHZlcnNpb25pbmZvLnJjLmluIGdwZy1lcnJvci53MzItbWFuaWZlc3QuaW4gXAotKyAgICAgICAgdmVyc2lvbmluZm8ucmMuaW4gZ3BnLWVycm9yLnczMi1tYW5pZmVzdC5pbiBncGctZXJyb3IucGMgXAotIAkkKGxvY2tfb2JqX3B1YikKLSAKLSBCVUlMVF9TT1VSQ0VTID0gZXJyLXNvdXJjZXMuaCBlcnItY29kZXMuaCBjb2RlLXRvLWVycm5vLmggY29kZS1mcm9tLWVycm5vLmggXAotZGlmZiAtLWdpdCBhL3NyYy9ncGctZXJyb3IubTQgYi9zcmMvZ3BnLWVycm9yLm00Ci1pbmRleCA2MGM4OGQ4Li4yZWY3ZTNlIDEwMDY0NAotLS0tIGEvc3JjL2dwZy1lcnJvci5tNAotKysrIGIvc3JjL2dwZy1lcnJvci5tNAotQEAgLTI2LDczICsyNiwxMyBAQCBkbmwgaXMgYWRkZWQgdG8gdGhlIGdwZ19jb25maWdfc2NyaXB0X3dhcm4gdmFyaWFibGUuCitJbmRleDogbGliZ3BnLWVycm9yLTEuMzMvc3JjL2dwZy1lcnJvci5tNAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGxpYmdwZy1lcnJvci0xLjMzLm9yaWcvc3JjL2dwZy1lcnJvci5tNAorKysrIGxpYmdwZy1lcnJvci0xLjMzL3NyYy9ncGctZXJyb3IubTQKK0BAIC0yNiwxMzkgKzI2LDEzIEBAIGRubCBpcyBhZGRlZCB0byB0aGUgZ3BnX2NvbmZpZ19zY3JpcHRfd2EKICBkbmwKICBBQ19ERUZVTihbQU1fUEFUSF9HUEdfRVJST1JdLAogIFsgQUNfUkVRVUlSRShbQUNfQ0FOT05JQ0FMX0hPU1RdKQpAQCAtNjYsMTQgKzM0LDE1IEBACiAtICAgICAgICAgICAgICBBQ19IRUxQX1NUUklORyhbLS13aXRoLWxpYmdwZy1lcnJvci1wcmVmaXg9UEZYXSwKIC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwcmVmaXggd2hlcmUgR1BHIEVycm9yIGlzIGluc3RhbGxlZCAob3B0aW9uYWwpXSksCiAtICAgICAgICAgICAgICBbZ3BnX2Vycm9yX2NvbmZpZ19wcmVmaXg9IiR3aXRodmFsIl0pCi0tCisrICBtaW5fZ3BnX2Vycm9yX3ZlcnNpb249aWZlbHNlKFskMV0sICwwLjAsJDEpCisrICBQS0dfQ0hFQ0tfTU9EVUxFUyhHUEdfRVJST1IsIFtncGctZXJyb3IgPj0gJG1pbl9ncGdfZXJyb3JfdmVyc2lvbl0sIFtvaz15ZXNdLCBbb2s9bm9dKQorIAogLSAgZG5sIEFjY2VwdCAtLXdpdGgtZ3BnLWVycm9yLXByZWZpeCBhbmQgbWFrZSBpdCB3b3JrIHRoZSBzYW1lIGFzCiAtICBkbmwgLS13aXRoLWxpYmdwZy1lcnJvci1wcmVmaXggYWJvdmUsIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwKIC0gIGRubCBidXQgZG8gbm90IGRvY3VtZW50IHRoaXMgb2xkLCBpbmNvbnNpc3RlbnRseS1uYW1lZCBvcHRpb24uCiAtICBBQ19BUkdfV0lUSChncGctZXJyb3ItcHJlZml4LCwKIC0gICAgICAgICAgICAgIFtncGdfZXJyb3JfY29uZmlnX3ByZWZpeD0iJHdpdGh2YWwiXSkKLSsgIG1pbl9ncGdfZXJyb3JfdmVyc2lvbj1pZmVsc2UoWyQxXSwgLDAuMCwkMSkKLSAKKy0KIC0gIGlmIHRlc3QgeCIke0dQR19FUlJPUl9DT05GSUd9IiA9IHggOyB0aGVuCiAtICAgICBpZiB0ZXN0IHgiJHtncGdfZXJyb3JfY29uZmlnX3ByZWZpeH0iICE9IHggOyB0aGVuCiAtICAgICAgICBHUEdfRVJST1JfQ09ORklHPSIke2dwZ19lcnJvcl9jb25maWdfcHJlZml4fS9iaW4vZ3BnLWVycm9yLWNvbmZpZyIKQEAgLTkyLDE5ICs2MSw1NyBAQAogLSAgICAgICBlc2FjCiAtICAgICBmaQogLSAgZmkKLSsgIFBLR19DSEVDS19NT0RVTEVTKEdQR19FUlJPUiwgW2dwZy1lcnJvciA+PSAkbWluX2dwZ19lcnJvcl92ZXJzaW9uXSwgW29rPXllc10sIFtvaz1ub10pCi0gCistCiAtICBBQ19QQVRIX1BST0coR1BHX0VSUk9SX0NPTkZJRywgZ3BnLWVycm9yLWNvbmZpZywgbm8pCi0tICBtaW5fZ3BnX2Vycm9yX3ZlcnNpb249aWZlbHNlKFskMV0sICwwLjAsJDEpCi0tICBBQ19NU0dfQ0hFQ0tJTkcoZm9yIEdQRyBFcnJvciAtIHZlcnNpb24gPj0gJG1pbl9ncGdfZXJyb3JfdmVyc2lvbikKKy0gIG1pbl9ncGdfZXJyb3JfdmVyc2lvbj1pZmVsc2UoWyQxXSwgLDEuMzMsJDEpCiAtICBvaz1ubwotLSAgaWYgdGVzdCAiJEdQR19FUlJPUl9DT05GSUciICE9ICJubyIgXAotLSAgICAgJiYgdGVzdCAtZiAiJEdQR19FUlJPUl9DT05GSUciIDsgdGhlbgorLQorLSAgaWYgdGVzdCAiJHByZWZpeCIgPSBOT05FIDsgdGhlbgorLSAgICBwcmVmaXhfb3B0aW9uX2V4cGFuZGVkPS91c3IvbG9jYWwKKy0gIGVsc2UKKy0gICAgcHJlZml4X29wdGlvbl9leHBhbmRlZD0iJHByZWZpeCIKKy0gIGZpCistICBpZiB0ZXN0ICIkZXhlY19wcmVmaXgiID0gTk9ORSA7IHRoZW4KKy0gICAgZXhlY19wcmVmaXhfb3B0aW9uX2V4cGFuZGVkPSRwcmVmaXhfb3B0aW9uX2V4cGFuZGVkCistICBlbHNlCistICAgIGV4ZWNfcHJlZml4X29wdGlvbl9leHBhbmRlZD0kKHByZWZpeD0kcHJlZml4X29wdGlvbl9leHBhbmRlZCBldmFsIGVjaG8gJGV4ZWNfcHJlZml4KQorLSAgZmkKKy0gIGxpYmRpcl9vcHRpb25fZXhwYW5kZWQ9JChwcmVmaXg9JHByZWZpeF9vcHRpb25fZXhwYW5kZWQgZXhlY19wcmVmaXg9JGV4ZWNfcHJlZml4X29wdGlvbl9leHBhbmRlZCBldmFsIGVjaG8gJGxpYmRpcikKKy0KKy0gIGlmIHRlc3QgLWYgJGxpYmRpcl9vcHRpb25fZXhwYW5kZWQvcGtnY29uZmlnL2dwZy1lcnJvci5wYzsgdGhlbgorLSAgICBncGdydF9saWJkaXI9JGxpYmRpcl9vcHRpb25fZXhwYW5kZWQKKy0gIGVsc2UKKy0gICAgaWYgY3J0MV9wYXRoPSQoJHtDQzotY2N9IC1wcmludC1maWxlLW5hbWU9Y3J0MS5vIDI+L2Rldi9udWxsKTsgdGhlbgorLSAgICAgIGlmIHBvc3NpYmxlX2xpYmRpcj0kKGNkICR7Y3J0MV9wYXRoJS8qfSAmJiBwd2QgMj4vZGV2L251bGwpOyB0aGVuCistICAgICAgICBpZiB0ZXN0IC1mICRwb3NzaWJsZV9saWJkaXIvcGtnY29uZmlnL2dwZy1lcnJvci5wYzsgdGhlbgorLSAgICAgICAgICBncGdydF9saWJkaXI9JHBvc3NpYmxlX2xpYmRpcgorLSAgICAgICAgZmkKKy0gICAgICBmaQorLSAgICBmaQorLSAgZmkKKy0KKy0gIGlmIHRlc3QgIiRHUEdfRVJST1JfQ09ORklHIiA9ICJubyIgLWEgLW4gIiRncGdydF9saWJkaXIiOyB0aGVuCistICAgIEFDX1BBVEhfUFJPRyhHUEdSVF9DT05GSUcsIGdwZ3J0LWNvbmZpZywgbm8pCistICAgIGlmIHRlc3QgIiRHUEdSVF9DT05GSUciID0gIm5vIjsgdGhlbgorLSAgICAgIHVuc2V0IEdQR1JUX0NPTkZJRworLSAgICBlbHNlCistICAgICAgR1BHUlRfQ09ORklHPSIkR1BHUlRfQ09ORklHIC0tbGliZGlyPSRncGdydF9saWJkaXIiCistICAgICAgaWYgJEdQR1JUX0NPTkZJRyBncGctZXJyb3IgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCistICAgICAgICBHUEdfRVJST1JfQ09ORklHPSIkR1BHUlRfQ09ORklHIGdwZy1lcnJvciIKKy0gICAgICAgIEFDX01TR19OT1RJQ0UoW1VzZSBncGdydC1jb25maWcgd2l0aCAkZ3BncnRfbGliZGlyIGFzIGdwZy1lcnJvci1jb25maWddKQorLSAgICAgICAgZ3BnX2Vycm9yX2NvbmZpZ192ZXJzaW9uPWAkR1BHX0VSUk9SX0NPTkZJRyAtLW1vZHZlcnNpb25gCistICAgICAgZWxzZQorLSAgICAgICAgdW5zZXQgR1BHUlRfQ09ORklHCistICAgICAgZmkKKy0gICAgZmkKKy0gIGVsc2UKKy0gICAgZ3BnX2Vycm9yX2NvbmZpZ192ZXJzaW9uPWAkR1BHX0VSUk9SX0NPTkZJRyAtLXZlcnNpb25gCistICBmaQorLSAgaWYgdGVzdCAiJEdQR19FUlJPUl9DT05GSUciICE9ICJubyI7IHRoZW4KIC0gICAgcmVxX21ham9yPWBlY2hvICRtaW5fZ3BnX2Vycm9yX3ZlcnNpb24gfCBcCiAtICAgICAgICAgICAgICAgc2VkICdzL1woW1swLTldXSpcKVwuXChbWzAtOV1dKlwpL1wxLydgCiAtICAgIHJlcV9taW5vcj1gZWNobyAkbWluX2dwZ19lcnJvcl92ZXJzaW9uIHwgXAogLSAgICAgICAgICAgICAgIHNlZCAncy9cKFtbMC05XV0qXClcLlwoW1swLTldXSpcKS9cMi8nYAotLSAgICBncGdfZXJyb3JfY29uZmlnX3ZlcnNpb249YCRHUEdfRVJST1JfQ09ORklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS12ZXJzaW9uYAogLSAgICBtYWpvcj1gZWNobyAkZ3BnX2Vycm9yX2NvbmZpZ192ZXJzaW9uIHwgXAogLSAgICAgICAgICAgICAgIHNlZCAncy9cKFtbMC05XV0qXClcLlwoW1swLTldXSpcKS4qL1wxLydgCiAtICAgIG1pbm9yPWBlY2hvICRncGdfZXJyb3JfY29uZmlnX3ZlcnNpb24gfCBcCkBAIC0xMTgsMjAgKzEyNSw0NyBAQAogLSAgICAgICAgICAgIGZpCiAtICAgICAgICBmaQogLSAgICBmaQorLSAgICBpZiB0ZXN0IC16ICIkR1BHUlRfQ09ORklHIiAtYSAtbiAiJGdwZ3J0X2xpYmRpciI7IHRoZW4KKy0gICAgICBpZiB0ZXN0ICIkbWFqb3IiIC1ndCAxIC1vICIkbWFqb3IiIC1lcSAxIC1hICIkbWlub3IiIC1nZSAzMzsgdGhlbgorLSAgICAgICAgQUNfUEFUSF9QUk9HKEdQR1JUX0NPTkZJRywgZ3BncnQtY29uZmlnLCBubykKKy0gICAgICAgIGlmIHRlc3QgIiRHUEdSVF9DT05GSUciID0gIm5vIjsgdGhlbgorLSAgICAgICAgICB1bnNldCBHUEdSVF9DT05GSUcKKy0gICAgICAgIGVsc2UKKy0gICAgICAgICAgR1BHUlRfQ09ORklHPSIkR1BHUlRfQ09ORklHIC0tbGliZGlyPSRncGdydF9saWJkaXIiCistICAgICAgICAgIGlmICRHUEdSVF9DT05GSUcgZ3BnLWVycm9yID4vZGV2L251bGwgMj4mMTsgdGhlbgorLSAgICAgICAgICAgIEdQR19FUlJPUl9DT05GSUc9IiRHUEdSVF9DT05GSUcgZ3BnLWVycm9yIgorLSAgICAgICAgICAgIEFDX01TR19OT1RJQ0UoW1VzZSBncGdydC1jb25maWcgd2l0aCAkZ3BncnRfbGliZGlyIGFzIGdwZy1lcnJvci1jb25maWddKQorLSAgICAgICAgICBlbHNlCistICAgICAgICAgICAgdW5zZXQgR1BHUlRfQ09ORklHCistICAgICAgICAgIGZpCistICAgICAgICBmaQorLSAgICAgIGZpCistICAgIGZpCiAtICBmaQorLSAgQUNfTVNHX0NIRUNLSU5HKGZvciBHUEcgRXJyb3IgLSB2ZXJzaW9uID49ICRtaW5fZ3BnX2Vycm9yX3ZlcnNpb24pCiAgICBpZiB0ZXN0ICRvayA9IHllczsgdGhlbgotLSAgICBHUEdfRVJST1JfQ0ZMQUdTPWAkR1BHX0VSUk9SX0NPTkZJRyAkZ3BnX2Vycm9yX2NvbmZpZ19hcmdzIC0tY2ZsYWdzYAotLSAgICBHUEdfRVJST1JfTElCUz1gJEdQR19FUlJPUl9DT05GSUcgJGdwZ19lcnJvcl9jb25maWdfYXJncyAtLWxpYnNgCi0tICAgIEdQR19FUlJPUl9NVF9DRkxBR1M9YCRHUEdfRVJST1JfQ09ORklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1tdCAtLWNmbGFncyAyPi9kZXYvbnVsbGAKLS0gICAgR1BHX0VSUk9SX01UX0xJQlM9YCRHUEdfRVJST1JfQ09ORklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1tdCAtLWxpYnMgMj4vZGV2L251bGxgCistICAgIEdQR19FUlJPUl9DRkxBR1M9YCRHUEdfRVJST1JfQ09ORklHIC0tY2ZsYWdzYAorLSAgICBHUEdfRVJST1JfTElCUz1gJEdQR19FUlJPUl9DT05GSUcgLS1saWJzYAorLSAgICBpZiB0ZXN0IC16ICIkR1BHUlRfQ09ORklHIjsgdGhlbgorLSAgICAgIEdQR19FUlJPUl9NVF9DRkxBR1M9YCRHUEdfRVJST1JfQ09ORklHIC0tbXQgLS1jZmxhZ3MgMj4vZGV2L251bGxgCistICAgICAgR1BHX0VSUk9SX01UX0xJQlM9YCRHUEdfRVJST1JfQ09ORklHIC0tbXQgLS1saWJzIDI+L2Rldi9udWxsYAorLSAgICBlbHNlCistICAgICAgR1BHX0VSUk9SX01UX0NGTEFHUz1gJEdQR19FUlJPUl9DT05GSUcgLS12YXJpYWJsZT1tdGNmbGFncyAyPi9kZXYvbnVsbGAKKy0gICAgICBHUEdfRVJST1JfTVRfQ0ZMQUdTPSIkR1BHX0VSUk9SX0NGTEFHUyR7R1BHX0VSUk9SX0NGTEFHUzorIH0kR1BHX0VSUk9SX01UX0NGTEFHUyIKKy0gICAgICBHUEdfRVJST1JfTVRfTElCUz1gJEdQR19FUlJPUl9DT05GSUcgLS12YXJpYWJsZT1tdGxpYnMgMj4vZGV2L251bGxgCistICAgICAgR1BHX0VSUk9SX01UX0xJQlM9IiRHUEdfRVJST1JfTElCUyR7R1BHX0VSUk9SX0xJQlM6KyB9JEdQR19FUlJPUl9NVF9MSUJTIgorLSAgICBmaQogLSAgICBBQ19NU0dfUkVTVUxUKFt5ZXMgKCRncGdfZXJyb3JfY29uZmlnX3ZlcnNpb24pXSkKICAgICAgaWZlbHNlKFskMl0sICwgOiwgWyQyXSkKLS0gICAgZ3BnX2Vycm9yX2NvbmZpZ19ob3N0PWAkR1BHX0VSUk9SX0NPTkZJRyAkZ3BnX2Vycm9yX2NvbmZpZ19hcmdzIC0taG9zdCAyPi9kZXYvbnVsbCB8fCBlY2hvIG5vbmVgCi0rICAgIGdwZ19lcnJvcl9jb25maWdfaG9zdD1gJFBLR19DT05GSUcgLS12YXJpYWJsZT1ob3N0IGdwZy1lcnJvcmAKKyAgICAgaWYgdGVzdCAteiAiJEdQR1JUX0NPTkZJRyI7IHRoZW4KKy0gICAgICBncGdfZXJyb3JfY29uZmlnX2hvc3Q9YCRHUEdfRVJST1JfQ09ORklHIC0taG9zdCAyPi9kZXYvbnVsbCB8fCBlY2hvIG5vbmVgCistICAgIGVsc2UKKy0gICAgICBncGdfZXJyb3JfY29uZmlnX2hvc3Q9YCRHUEdfRVJST1JfQ09ORklHIC0tdmFyaWFibGU9aG9zdCAyPi9kZXYvbnVsbCB8fCBlY2hvIG5vbmVgCisrICAgICAgZ3BnX2Vycm9yX2NvbmZpZ19ob3N0PWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPWhvc3QgZ3BnLWVycm9yYAorICAgICBmaQogICAgICBpZiB0ZXN0IHgiJGdwZ19lcnJvcl9jb25maWdfaG9zdCIgIT0geG5vbmUgOyB0aGVuCiAgICAgICAgaWYgdGVzdCB4IiRncGdfZXJyb3JfY29uZmlnX2hvc3QiICE9IHgiJGhvc3QiIDsgdGhlbgotICAgQUNfTVNHX1dBUk4oW1sKLUBAIC0xMDcsMTEgKzQ3LDYgQEAgQUNfREVGVU4oW0FNX1BBVEhfR1BHX0VSUk9SXSwKK0BAIC0xNzQsMTUgKzQ4LDYgQEAgQUNfREVGVU4oW0FNX1BBVEhfR1BHX0VSUk9SXSwKICAgICAgICBmaQogICAgICBmaQogICAgZWxzZQpAQCAtMTQyLDI0ICsxNzYsOCBAQAogLSAgICBBQ19NU0dfUkVTVUxUKG5vKQogICAgICBpZmVsc2UoWyQzXSwgLCA6LCBbJDNdKQogICAgZmkKLSAgIEFDX1NVQlNUKEdQR19FUlJPUl9DRkxBR1MpCi1kaWZmIC0tZ2l0IGEvc3JjL2dwZy1lcnJvci5wYy5pbiBiL3NyYy9ncGctZXJyb3IucGMuaW4KLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi5iYzBiMTc0Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9zcmMvZ3BnLWVycm9yLnBjLmluCi1AQCAtMCwwICsxLDExIEBACi0rcHJlZml4PUBwcmVmaXhACi0rZXhlY19wcmVmaXg9QGV4ZWNfcHJlZml4QAotK2xpYmRpcj1AbGliZGlyQAotK2luY2x1ZGVkaXI9QGluY2x1ZGVkaXJACi0raG9zdD1AR1BHX0VSUk9SX0NPTkZJR19IT1NUQAotKwotK05hbWU6IGdwZy1lcnJvcgotK0Rlc2NyaXB0aW9uOiBhIGxpYnJhcnkgdGhhdCBkZWZpbmVzIGNvbW1vbiBlcnJvciB2YWx1ZXMgZm9yIGFsbCBHbnVQRyBjb21wb25lbnRzCi0rVmVyc2lvbjogQFZFUlNJT05ACi0rTGliczogLUwke2xpYmRpcn0gLWxncGctZXJyb3IKLStDZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfQotLS0gCi0xLjguMy4xCi0KKy0gIEFDX1NVQlNUKEdQR19FUlJPUl9DRkxBR1MpCistICBBQ19TVUJTVChHUEdfRVJST1JfTElCUykKKy0gIEFDX1NVQlNUKEdQR19FUlJPUl9NVF9DRkxBR1MpCistICBBQ19TVUJTVChHUEdfRVJST1JfTVRfTElCUykKKyBdKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJncGctZXJyb3IvbGliZ3BnLWVycm9yXzEuMzIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmdwZy1lcnJvci9saWJncGctZXJyb3JfMS4zMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTU1MjAwMS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmdwZy1lcnJvci9saWJncGctZXJyb3JfMS4zMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDcxICswLDAgQEAKLVNVTU1BUlkgPSAiU21hbGwgbGlicmFyeSB0aGF0IGRlZmluZXMgY29tbW9uIGVycm9yIHZhbHVlcyBmb3IgYWxsIEdudVBHIGNvbXBvbmVudHMiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmdudXBnLm9yZy9yZWxhdGVkX3NvZnR3YXJlL2xpYmdwZy1lcnJvci8iCi1CVUdUUkFDS0VSID0gImh0dHBzOi8vYnVncy5nMTBjb2RlLmNvbS9nbnVwZy9pbmRleCIKLQotTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIuMSsiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9MmQ1MDI1ZDRhYTM0OTViZWZlZjhmMTcyMDZhNWIwYTEgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2dwZy1lcnJvci5oLmluO2JlZ2lubGluZT0yO2VuZGxpbmU9MTg7bWQ1PTUyNGQ0ZTgxMGM0ZGNkYzM4ZTRmYTI4ZTcwYTEzYmY4IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9pbml0LmM7YmVnaW5saW5lPTI7ZW5kbGluZT0xNzttZDU9ZjAxY2RmY2Y3NDdhZjUzODA1OTBjZmQ5YmJmZWFhZjciCi0KLQotU0VDVElPTiA9ICJsaWJzIgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9nbnVwZy5vcmcvZG93bmxvYWQvaW5kZXguaHRtbCIKLVNSQ19VUkkgPSAiJHtHTlVQR19NSVJST1J9L2xpYmdwZy1lcnJvci9saWJncGctZXJyb3ItJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9wa2djb25maWcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1zeXNjZmctU3VwcG9ydC1BUkMtQ1BVcy1hbmQtc2ltcGxpZnktYWxpYXNpbmctdGFibGUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1zeXNjZmctQWRkLXN1cHBvcnQtZm9yLWFyYy11bmtub3duLWxpbnV4LWdudS5wYXRjaCBcCi0JICAiCi1TUkNfVVJJW21kNXN1bV0gPSAiZWYzZDkyOGE1YTQ1M2ZhNzAxZWNjM2JiMjJiZTFjNjQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzM0NWM1ZTczY2MyMzMyZjhkNTBkYjg0YTIyODBhYmZiMWQ4ZjZkNGYxODU4YjlkYWEzMDQwNGRiNDQ1NDBjYSIKLQotQklOQ09ORklHID0gIiR7YmluZGlyfS9ncGctZXJyb3ItY29uZmlnIgotCi1pbmhlcml0IGF1dG90b29scyBiaW5jb25maWctZGlzYWJsZWQgcGtnY29uZmlnIGdldHRleHQgbXVsdGlsaWJfaGVhZGVyIG11bHRpbGliX3NjcmlwdAotCi1NVUxUSUxJQl9TQ1JJUFRTID0gIiR7UE59LWRldjoke2JpbmRpcn0vZ3BncnQtY29uZmlnIgotCi1DUFBGTEFHUyArPSAiLVAiCi1kb19jb21waWxlX3ByZXBlbmQoKSB7Ci0JVEFSR0VUX0ZJTEU9bGludXgtZ251Ci0JaWYgWyAke1RBUkdFVF9PU30gPSAibWluZ3czMiIgXTsgdGhlbgotCQkjIFRoZXJlIGFyZSBubyBhcmNoIHNwZWNpZmljIHN5c2NmZyBmaWxlcyBmb3IgbWluZ3czMgotCQlUQVJHRVRfRklMRT0KLQllbGlmIFsgJHtUQVJHRVRfQVJDSH0gPSAiYXJjIiBdOyB0aGVuCi0JCSMgQVJDIHN5c2NmZyBmaWxlIGlzIGF1dG9tYXRpY2FsbHkgYWxpYXNlZCB0byBpNjg2LXBjLWxpbnV4LWdudQotCQlUQVJHRVRfRklMRT0KLQllbGlmIFsgJHtUQVJHRVRfT1N9ICE9ICJsaW51eCIgXTsgdGhlbgotCQlUQVJHRVRfRklMRT0ke1RBUkdFVF9PU30KLQlmaQotCi0JY2FzZSAke1RBUkdFVF9BUkNIfSBpbgotCSAgYWFyY2g2NF9iZSkgVFVQTEU9YWFyY2g2NC11bmtub3duLWxpbnV4LWdudSA7OwotCSAgYXJtKQkgICAgICBUVVBMRT1hcm0tdW5rbm93bi1saW51eC1nbnVlYWJpIDs7Ci0JICBhcm1lYikgICAgICBUVVBMRT1hcm0tdW5rbm93bi1saW51eC1nbnVlYWJpIDs7Ci0JICBpNTg2fGk2ODYpICBUVVBMRT1pNjg2LXVua25vd24tbGludXgtZ251OzsKLQkgIG1pcHM2NCopICAgIFRVUExFPW1pcHM2NGVsLXVua25vd24tbGludXgtZ251YWJpNjQgOzsKLQkgIG1pcHMqZWwpICAgIFRVUExFPW1pcHNlbC11bmtub3duLWxpbnV4LWdudSA7OwotCSAgbWlwcyopICAgICAgVFVQTEU9bWlwcy11bmtub3duLWxpbnV4LWdudSA7OwotCSAgeDg2XzY0KSAgICAgVFVQTEU9eDg2XzY0LXVua25vd24tbGludXgtZ251IDs7Ci0JICBwcGM2NCkgICAgICBUVVBMRT1wb3dlcnBjNjQtdW5rbm93bi1saW51eC1nbnUgOzsKLQkgIHBwYzY0bGUpICAgIFRVUExFPXBvd2VycGM2NGxlLXVua25vd24tbGludXgtZ251IDs7Ci0JICAqKSAgICAgICAgICBUVVBMRT0ke1RBUkdFVF9BUkNIfS11bmtub3duLWxpbnV4LWdudSA7OwotCWVzYWMKLQotCWlmIFsgLW4gIiRUQVJHRVRfRklMRSIgXTsgdGhlbgotCQljcCAke1N9L3NyYy9zeXNjZmcvbG9jay1vYmotcHViLiRUVVBMRS5oIFwKLQkJCSR7U30vc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIuJFRBUkdFVF9GSUxFLmgKLQlmaQotfQotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLQkjIHdlIGRvbid0IGhhdmUgY29tbW9uIGxpc3AgaW4gT0UKLQlybSAtcmYgIiR7RH0ke2RhdGFkaXJ9L2NvbW1vbi1saXNwLyIKLQlvZV9tdWx0aWxpYl9oZWFkZXIgZ3BnLWVycm9yLmggZ3BncnQuaAotfQotCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7YmluZGlyfS9ncGctZXJyb3IiCi1GSUxFU18ke1BOfS1kb2MgKz0gIiR7ZGF0YWRpcn0vbGliZ3BnLWVycm9yL2Vycm9ycmVmLnR4dCIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJncGctZXJyb3IvbGliZ3BnLWVycm9yXzEuMzUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmdwZy1lcnJvci9saWJncGctZXJyb3JfMS4zNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41N2FjMTQzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJncGctZXJyb3IvbGliZ3BnLWVycm9yXzEuMzUuYmIKQEAgLTAsMCArMSw3MSBAQAorU1VNTUFSWSA9ICJTbWFsbCBsaWJyYXJ5IHRoYXQgZGVmaW5lcyBjb21tb24gZXJyb3IgdmFsdWVzIGZvciBhbGwgR251UEcgY29tcG9uZW50cyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251cGcub3JnL3JlbGF0ZWRfc29mdHdhcmUvbGliZ3BnLWVycm9yLyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWdzLmcxMGNvZGUuY29tL2dudXBnL2luZGV4IgorCitMSUNFTlNFID0gIkdQTHYyKyAmIExHUEx2Mi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT0yZDUwMjVkNGFhMzQ5NWJlZmVmOGYxNzIwNmE1YjBhMSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvZ3BnLWVycm9yLmguaW47YmVnaW5saW5lPTI7ZW5kbGluZT0xODttZDU9Y2Q5MWUzYWQxMjY1YTBjMjY4ZWZhZDU0MWEzOTM0NWUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2luaXQuYztiZWdpbmxpbmU9MjtlbmRsaW5lPTE3O21kNT1mMDFjZGZjZjc0N2FmNTM4MDU5MGNmZDliYmZlYWFmNyIKKworCitTRUNUSU9OID0gImxpYnMiCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2dudXBnLm9yZy9kb3dubG9hZC9pbmRleC5odG1sIgorU1JDX1VSSSA9ICIke0dOVVBHX01JUlJPUn0vbGliZ3BnLWVycm9yL2xpYmdwZy1lcnJvci0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL3BrZ2NvbmZpZy5wYXRjaCBcCisJICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyODA4YTllMDQ0Zjg4M2Y3NTU0YzViYTZhMzgwYjcxMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjYmQ1ZWU2MmE4YThjODhkNDhjMTU4ZmZmNGZjOWVhZDQxMzJhYWNkMWI0YTU2ZWI3OTFmOWY5OTdkMDdlMDY3IgorCitCSU5DT05GSUcgPSAiJHtiaW5kaXJ9L2dwZy1lcnJvci1jb25maWciCisKK2luaGVyaXQgYXV0b3Rvb2xzIGJpbmNvbmZpZy1kaXNhYmxlZCBwa2djb25maWcgZ2V0dGV4dCBtdWx0aWxpYl9oZWFkZXIgbXVsdGlsaWJfc2NyaXB0CisKK01VTFRJTElCX1NDUklQVFMgPSAiJHtQTn0tZGV2OiR7YmluZGlyfS9ncGdydC1jb25maWciCisKK0NQUEZMQUdTICs9ICItUCIKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKwlUQVJHRVRfRklMRT1saW51eC1nbnUKKwlpZiBbICR7VEFSR0VUX09TfSA9ICJtaW5ndzMyIiBdOyB0aGVuCisJCSMgVGhlcmUgYXJlIG5vIGFyY2ggc3BlY2lmaWMgc3lzY2ZnIGZpbGVzIGZvciBtaW5ndzMyCisJCVRBUkdFVF9GSUxFPQorCWVsaWYgWyAke1RBUkdFVF9BUkNIfSA9ICJhcmMiIF07IHRoZW4KKwkJIyBBUkMgc3lzY2ZnIGZpbGUgaXMgYXV0b21hdGljYWxseSBhbGlhc2VkIHRvIGk2ODYtcGMtbGludXgtZ251CisJCVRBUkdFVF9GSUxFPQorCWVsaWYgWyAke1RBUkdFVF9PU30gIT0gImxpbnV4IiBdOyB0aGVuCisJCVRBUkdFVF9GSUxFPSR7VEFSR0VUX09TfQorCWZpCisKKwljYXNlICR7VEFSR0VUX0FSQ0h9IGluCisJICBhYXJjaDY0X2JlKSBUVVBMRT1hYXJjaDY0LXVua25vd24tbGludXgtZ251IDs7CisJICBhcm0pCSAgICAgIFRVUExFPWFybS11bmtub3duLWxpbnV4LWdudWVhYmkgOzsKKwkgIGFybWViKSAgICAgIFRVUExFPWFybS11bmtub3duLWxpbnV4LWdudWVhYmkgOzsKKwkgIGk1ODZ8aTY4NikgIFRVUExFPWk2ODYtdW5rbm93bi1saW51eC1nbnU7OworCSAgbWlwczY0KikgICAgVFVQTEU9bWlwczY0ZWwtdW5rbm93bi1saW51eC1nbnVhYmk2NCA7OworCSAgbWlwcyplbCkgICAgVFVQTEU9bWlwc2VsLXVua25vd24tbGludXgtZ251IDs7CisJICBtaXBzKikgICAgICBUVVBMRT1taXBzLXVua25vd24tbGludXgtZ251IDs7CisJICB4ODZfNjQpICAgICBUVVBMRT14ODZfNjQtdW5rbm93bi1saW51eC1nbnUgOzsKKwkgIHBwYykgICAgICAgIFRVUExFPXBvd2VycGMtdW5rbm93bi1saW51eC1nbnUgOzsKKwkgIHBwYzY0KSAgICAgIFRVUExFPXBvd2VycGM2NC11bmtub3duLWxpbnV4LWdudSA7OworCSAgcHBjNjRsZSkgICAgVFVQTEU9cG93ZXJwYzY0bGUtdW5rbm93bi1saW51eC1nbnUgOzsKKwkgICopICAgICAgICAgIFRVUExFPSR7VEFSR0VUX0FSQ0h9LXVua25vd24tbGludXgtZ251IDs7CisJZXNhYworCisJaWYgWyAtbiAiJFRBUkdFVF9GSUxFIiBdOyB0aGVuCisJCWNwICR7U30vc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIuJFRVUExFLmggXAorCQkJJHtTfS9zcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi4kVEFSR0VUX0ZJTEUuaAorCWZpCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCSMgd2UgZG9uJ3QgaGF2ZSBjb21tb24gbGlzcCBpbiBPRQorCXJtIC1yZiAiJHtEfSR7ZGF0YWRpcn0vY29tbW9uLWxpc3AvIgorCW9lX211bHRpbGliX2hlYWRlciBncGctZXJyb3IuaCBncGdydC5oCit9CisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtiaW5kaXJ9L2dwZy1lcnJvciIKK0ZJTEVTXyR7UE59LWRvYyArPSAiJHtkYXRhZGlyfS9saWJncGctZXJyb3IvZXJyb3JyZWYudHh0IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmppdHRlcmVudHJvcHkvZmlsZXMvMDAwMS1maXgtZG9faW5zdGFsbC1mYWlsdXJlLW9uLW9lLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJqaXR0ZXJlbnRyb3B5L2ZpbGVzLzAwMDEtZml4LWRvX2luc3RhbGwtZmFpbHVyZS1vbi1vZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMGZmNGZlCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJqaXR0ZXJlbnRyb3B5L2ZpbGVzLzAwMDEtZml4LWRvX2luc3RhbGwtZmFpbHVyZS1vbi1vZS5wYXRjaApAQCAtMCwwICsxLDMzIEBACitGcm9tIDAwY2VmY2EwZWVmZWNlYzY1Nzk2OWI1MGNkNGUxZWQ1YjA1N2E4NTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBUaHUsIDI1IE9jdCAyMDE4IDE2OjMwOjA2ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGZpeCBkb19pbnN0YWxsIGZhaWx1cmUgb24gb2UKKworLSBEbyBub3Qgc3RyaXAgYXQgZG9faW5zdGFsbAorCistIENyZWF0ZSBpbmNsdWRlZGlyCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CistLS0KKyBNYWtlZmlsZSB8IDMgKystCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQoraW5kZXggNWUzMTI3Ni4uNzZmY2JmYSAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTUxLDcgKzUxLDggQEAgaW5zdGFsbDoKKyAJaW5zdGFsbCAtbSA2NDQgZG9jLyQoTkFNRSkuMyAkKERFU1RESVIpJChQUkVGSVgpL3NoYXJlL21hbi9tYW4zLworIAlnemlwIC05ICQoREVTVERJUikkKFBSRUZJWCkvc2hhcmUvbWFuL21hbjMvJChOQU1FKS4zCisgCWluc3RhbGwgLWQgLW0gMDc1NSAkKERFU1RESVIpJChQUkVGSVgpLyQoTElCRElSKQorLQlpbnN0YWxsIC1tIDA3NTUgLXMgbGliJChOQU1FKS5zby4kKExJQlZFUlNJT04pICQoREVTVERJUikkKFBSRUZJWCkvJChMSUJESVIpLworKwlpbnN0YWxsIC1tIDA3NTUgbGliJChOQU1FKS5zby4kKExJQlZFUlNJT04pICQoREVTVERJUikkKFBSRUZJWCkvJChMSUJESVIpLworKwlpbnN0YWxsIC1kIC1tIDA3NTUgJChERVNURElSKSQoUFJFRklYKS8kKElOQ0RJUikvCisgCWluc3RhbGwgLW0gMDY0NCBqaXR0ZXJlbnRyb3B5LmggJChERVNURElSKSQoUFJFRklYKS8kKElOQ0RJUikvCisgCWluc3RhbGwgLW0gMDY0NCBqaXR0ZXJlbnRyb3B5LWJhc2UtdXNlci5oICQoREVTVERJUikkKFBSRUZJWCkvJChJTkNESVIpLworIAkkKFJNKSAkKERFU1RESVIpJChQUkVGSVgpLyQoTElCRElSKS9saWIkKE5BTUUpLnNvLiQoTElCTUFKT1IpCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliaml0dGVyZW50cm9weS9saWJqaXR0ZXJlbnRyb3B5XzIuMS4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJqaXR0ZXJlbnRyb3B5L2xpYmppdHRlcmVudHJvcHlfMi4xLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2I1YjRlNAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliaml0dGVyZW50cm9weS9saWJqaXR0ZXJlbnRyb3B5XzIuMS4yLmJiCkBAIC0wLDAgKzEsMjggQEAKK1NVTU1BUlkgPSAiSGFyZHdhcmUgUk5HIGJhc2VkIG9uIENQVSB0aW1pbmcgaml0dGVyIgorREVTQ1JJUFRJT04gPSAiVGhlIEppdHRlciBSTkcgcHJvdmlkZXMgYSBub2lzZSBzb3VyY2UgdXNpbmcgdGhlIENQVSBleGVjdXRpb24gdGltaW5nIGppdHRlci4gXAorSXQgZG9lcyBub3QgZGVwZW5kIG9uIGFueSBzeXN0ZW0gcmVzb3VyY2Ugb3RoZXIgdGhhbiBhIGhpZ2gtcmVzb2x1dGlvbiB0aW1lIFwKK3N0YW1wLiBJdCBpcyBhIHNtYWxsLXNjYWxlLCB5ZXQgZmFzdCBlbnRyb3B5IHNvdXJjZSB0aGF0IGlzIHZpYWJsZSBpbiBhbG1vc3QgXAorYWxsIGVudmlyb25tZW50cyBhbmQgb24gYSBsb3Qgb2YgQ1BVIGFyY2hpdGVjdHVyZXMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5jaHJvbm94LmRlL2plbnQuaHRtbCIKK0xJQ0VOU0UgPSAiR1BMdjIrIHwgQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTUyMzY1NzUyYjM2Y2ZjZDdmOTYwMWQ4MGRlN2Q4YzYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5ncGx2MjttZDU9ZWI3MjNiNjE1MzlmZWVmMDEzZGU0NzZlNjhiNWM1MGEgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5ic2Q7bWQ1PTY2YTVjZWRhZjYyYzRiMjYzNzAyNWYwNDlmOWI4MjZmIFwKKyAgICAgICAgICAgICAgICAgICAiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vc211ZWxsZXJERC9qaXR0ZXJlbnRyb3B5LWxpYnJhcnkuZ2l0IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZml4LWRvX2luc3RhbGwtZmFpbHVyZS1vbi1vZS5wYXRjaCBcCisgICAgICAgICAgIgorU1JDUkVWID0gImY1YTgwYzZmM2ZjYzZkZWViZDBlYWJmNzUzMjRmNDhhZWQxYWZiY2UiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitkb19jb25maWd1cmVbbm9leGVjXSA9ICIxIgorCitMREZMQUdTICs9ICItV2wsLU8wIgorCitkb19pbnN0YWxsICgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgSU5DRElSPSIvaW5jbHVkZSIgXAorICAgICAgICAgICAgICAgICAgICAgICBERVNURElSPSIke0R9IiBcCisgICAgICAgICAgICAgICAgICAgICAgIFBSRUZJWD0iJHtleGVjX3ByZWZpeH0iIFwKKyAgICAgICAgICAgICAgICAgICAgICAgTElCRElSPSIke2Jhc2VsaWJ9IgorfQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnBjcmUvbGlicGNyZS9vdXQtb2YtdHJlZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlicGNyZS9saWJwY3JlL291dC1vZi10cmVlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1Njc4OTYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnBjcmUvbGlicGNyZS9vdXQtb2YtdHJlZS5wYXRjaApAQCAtMCwwICsxLDI2IEBACitJbiBvdXQtb2YtdHJlZSBidWlsZHMgdGhlICNpbmNsdWRlIGZhaWxzIGJlY2F1c2UgJHNyY2RpciBpc24ndCBpbiB0aGUgaW5jbHVkZSBwYXRoLiAgU2V0IENQUEZMQUdTIHNvIHRoYXQgaXQgaXMuCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW3IxNzUwXQorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworSW5kZXg6IGNvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvY29uZmlndXJlLmFjCShyZXZpc2lvbiAxNzQ5KQorKysrIGIvY29uZmlndXJlLmFjCSh3b3JraW5nIGNvcHkpCitAQCAtMTU5LDYgKzE1OSw4IEBACisgCisgaWYgdGVzdCAiJGVuYWJsZV9qaXQiID0gImF1dG8iOyB0aGVuCisgICBBQ19MQU5HKEMpCisrICBTQVZFX0NQUEZMQUdTPSRDUFBGTEFHUworKyAgQ1BQRkxBR1M9LUkkc3JjZGlyCisgICBBQ19DT01QSUxFX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW1sKKyAgICNkZWZpbmUgU0xKSVRfQ09ORklHX0FVVE8gMQorICAgI2luY2x1ZGUgInNsaml0L3Nsaml0Q29uZmlnSW50ZXJuYWwuaCIKK0BAIC0xNjUsNiArMTY3LDcgQEAKKyAgICNpZiAoZGVmaW5lZCBTTEpJVF9DT05GSUdfVU5TVVBQT1JURUQgJiYgU0xKSVRfQ09ORklHX1VOU1VQUE9SVEVEKQorICAgI2Vycm9yIHVuc3VwcG9ydGVkCisgICAjZW5kaWZdXSldLCBlbmFibGVfaml0PXllcywgZW5hYmxlX2ppdD1ubykKKysgIENQUEZMQUdTPSRTQVZFX0NQUEZMQUdTCisgZmkKKyAKKyAjIEhhbmRsZSAtLWRpc2FibGUtcGNyZWdyZXAtaml0IChlbmFibGVkIGJ5IGRlZmF1bHQpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnBjcmUvbGlicGNyZS9wY3JlLWNyb3NzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJwY3JlL2xpYnBjcmUvcGNyZS1jcm9zcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODM4ODBmNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnBjcmUvbGlicGNyZS9wY3JlLWNyb3NzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLS0tLSBwY3JlLTguMzIub3JpZy9NYWtlZmlsZS5hbQotKysrIHBjcmUtOC4zMi9NYWtlZmlsZS5hbQotQEAgLTE5Nyw4ICsxOTcsMTggQEAgYmluX1NDUklQVFMgPSBwY3JlLWNvbmZpZwotIAotK0NDX0ZPUl9CVUlMRCA9IEBDQ19GT1JfQlVJTERACi0rQ0ZMQUdTX0ZPUl9CVUlMRCA9IEBDRkxBR1NfRk9SX0JVSUxEQAotK0NDTERfRk9SX0JVSUxEID0gQENDTERfRk9SX0JVSUxEQAotK0xERkxBR1NfRk9SX0JVSUxEID0gQExERkxBR1NfRk9SX0JVSUxEQAotKwotIGlmIFdJVEhfUkVCVUlMRF9DSEFSVEFCTEVTCi0gCi0gbm9pbnN0X1BST0dSQU1TICs9IGRmdGFibGVzCi0gZGZ0YWJsZXNfU09VUkNFUyA9IGRmdGFibGVzLmMKLStkZnRhYmxlc19MSU5LID0gJChDQ0xEX0ZPUl9CVUlMRCkgLW8gJEAKLStkZnRhYmxlc19MREZMQUdTID0gJChMREZMQUdTX0ZPUl9CVUlMRCkKLSsKLStkZnRhYmxlcy5vOiAkKHNyY2RpcikvZGZ0YWJsZXMuYwotKwkkKENDX0ZPUl9CVUlMRCkgLWMgJChDRkxBR1NfRk9SX0JVSUxEKSAtbyAkQCAkKHNyY2RpcikvZGZ0YWJsZXMuYwotIAotIHBjcmVfY2hhcnRhYmxlcy5jOiBkZnRhYmxlcyQoRVhFRVhUKQotIAkuL2RmdGFibGVzJChFWEVFWFQpICRACi0tLS0gcGNyZS04LjMyLm9yaWcvY29uZmlndXJlLmFjCi0rKysgcGNyZS04LjMyL2NvbmZpZ3VyZS5hYwotQEAgLTcyLDYgKzcyLDIyIEBAIHRoZW4KLSAgIGZpCi0gZmkKLSAKLStpZiB0ZXN0IHgiJGNyb3NzX2NvbXBpbGluZyIgPSB4eWVzOyB0aGVuCi0rICAgIENDX0ZPUl9CVUlMRD0iJHtDQ19GT1JfQlVJTEQtZ2NjfSIKLSsgICAgQ0NMRF9GT1JfQlVJTEQ9IiR7Q0NMRF9GT1JfQlVJTEQtZ2NjfSIKLSsgICAgQ0ZMQUdTX0ZPUl9CVUlMRD0iJHtDRkxBR1NfRk9SX0JVSUxEfSIKLSsgICAgTERGTEFHU19GT1JfQlVJTEQ9IiR7TERGTEFHU19GT1JfQlVJTER9IgotK2Vsc2UKLSsgICAgQ0NfRk9SX0JVSUxEPSIke0NDX0ZPUl9CVUlMRC1cJChDQyl9IgotKyAgICBDQ0xEX0ZPUl9CVUlMRD0iJHtDQ0xEX0ZPUl9CVUlMRC1cJChDQ0xEKX0iCi0rICAgIENGTEFHU19GT1JfQlVJTEQ9IiR7Q0ZMQUdTX0ZPUl9CVUlMRC1cJChDRkxBR1MpfSIKLSsgICAgTERGTEFHU19GT1JfQlVJTEQ9IiR7TERGTEFHU19GT1JfQlVJTEQtXCQoTERGTEFHUyl9IgotK2ZpCi0rQUNfQVJHX1ZBUihDQ19GT1JfQlVJTEQsIFtidWlsZCBzeXN0ZW0gQyBjb21waWxlcl0pCi0rQUNfQVJHX1ZBUihDQ0xEX0ZPUl9CVUlMRCwgW2J1aWxkIHN5c3RlbSBDIGxpbmtlciBmcm9udGVuZF0pCi0rQUNfQVJHX1ZBUihDRkxBR1NfRk9SX0JVSUxELCBbYnVpbGQgc3lzdGVtIEMgY29tcGlsZXIgYXJndW1lbnRzXSkKLStBQ19BUkdfVkFSKExERkxBR1NfRk9SX0JVSUxELCBbYnVpbGQgc3lzdGVtIEMgbGlua2VyIGZyb250ZW5kIGFyZ3VtZW50c10pCi0rCi0gIyBBQ19QUk9HX0NYWCB3aWxsIHJldHVybiAiZysrIiBldmVuIGlmIG5vIGMrKyBjb21waWxlciBpcyBpbnN0YWxsZWQuCi0gIyBDaGVjayBmb3IgdGhhdCBjYXNlLCBhbmQganVzdCBkaXNhYmxlIGMrKyBjb2RlIGlmIGcrKyBkb2Vzbid0IHJ1bi4KLSBBQ19MQU5HX1BVU0goQysrKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJwY3JlL2xpYnBjcmUyXzEwLjMxLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJwY3JlL2xpYnBjcmUyXzEwLjMxLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMTBjMzEyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlicGNyZS9saWJwY3JlMl8xMC4zMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDYxICswLDAgQEAKLURFU0NSSVBUSU9OID0gIlRoZXJlIGFyZSB0d28gbWFqb3IgdmVyc2lvbnMgb2YgdGhlIFBDUkUgbGlicmFyeS4gVGhlIFwKLW5ld2VzdCB2ZXJzaW9uIGlzIFBDUkUyLCB3aGljaCBpcyBhIHJlLXdvcmtpbmcgb2YgdGhlIG9yaWdpbmFsIFBDUkUgXAotbGlicmFyeSB0byBwcm92aWRlIGFuIGVudGlyZWx5IG5ldyBBUEkuIFRoZSBvcmlnaW5hbCwgdmVyeSB3aWRlbHkgXAotZGVwbG95ZWQgUENSRSBsaWJyYXJ5J3MgQVBJIGFuZCBmZWF0dXJlIGFyZSBzdGFibGUsIGZ1dHVyZSByZWxlYXNlcyBcCi0gd2lsbCBiZSBmb3IgYnVnZml4ZXMgb25seS4gQWxsIG5ldyBmdXR1cmUgZmVhdHVyZXMgd2lsbCBiZSB0byBQQ1JFMiwgXAotbm90IHRoZSBvcmlnaW5hbCBQQ1JFIDgueCBzZXJpZXMuIgotU1VNTUFSWSA9ICJQZXJsIENvbXBhdGlibGUgUmVndWxhciBFeHByZXNzaW9ucyB2ZXJzaW9uIDIiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LnBjcmUub3JnIgotU0VDVElPTiA9ICJkZXZlbCIKLUxJQ0VOU0UgPSAiQlNEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5DRTttZDU9ZjVlNGJkZTlmZDA0OTNkMDk2N2I0ZGJhOTg5OTU5MGYiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly9mdHAucGNyZS5vcmcvcHViL3BjcmUvcGNyZTItJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9wY3JlLWNyb3NzLnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gImUwYjkxYzg5MWEzYzQ5MDUwZjdmZDE1ZGUzM2QwYmE0IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImUwN2Q1Mzg3MDRhYTY1ZTQ3N2I2YTM5MmIzMmZmOWZjNWVkZjc1YWI5YTQwZGRmYzg3NjE4NmM0ZmY0ZDY4YWMiCi0KLUNWRV9QUk9EVUNUID0gInBjcmUyIgotCi1TID0gIiR7V09SS0RJUn0vcGNyZTItJHtQVn0iCi0KLVBST1ZJREVTICs9ICJwY3JlMiIKLURFUEVORFMgKz0gImJ6aXAyIHpsaWIiCi0KLUJJTkNPTkZJRyA9ICIke2JpbmRpcn0vcGNyZTItY29uZmlnIgotCi1pbmhlcml0IGF1dG90b29scyBiaW5jb25maWctZGlzYWJsZWQKLQotRVhUUkFfT0VDT05GID0gIlwKLSAgICAtLWVuYWJsZS1uZXdsaW5lLWlzLWxmIFwKLSAgICAtLWVuYWJsZS1yZWJ1aWxkLWNoYXJ0YWJsZXMgXAotICAgIC0td2l0aC1saW5rLXNpemU9MiBcCi0gICAgLS13aXRoLW1hdGNoLWxpbWl0PTEwMDAwMDAwIFwKLSAgICAtLWVuYWJsZS1wY3JlMi0xNiBcCi0gICAgLS1lbmFibGUtcGNyZTItMzIgXAotIgotIyBTZXQgTElOS19TSVpFIGluIEJVSUxEX0NGTEFHUyBnaXZlbiB0aGF0IHRoZSBhdXRvdG9vbHMgYmJjbGFzcyB1c2UgaXQgdG8KLSMgc2V0IENGTEFHU19GT1JfQlVJTEQsIHJlcXVpcmVkIGZvciB0aGUgbGlicGNyZSBidWlsZC4KLUJVSUxEX0NGTEFHUyA9KyAiLURMSU5LX1NJWkU9MiAtSSR7Qn0vc3JjIgotQ0ZMQUdTICs9ICItRF9SRUVOVFJBTlQiCi1DWFhGTEFHU19hcHBlbmRfcG93ZXJwYyA9ICIgLWxzdGRjKysiCi0KLWV4cG9ydCBDQ0xEX0ZPUl9CVUlMRCA9IiR7QlVJTERfQ0NMRH0iCi0KLVBBQ0tBR0VTID0rICJsaWJwY3JlMi0xNiBsaWJwY3JlMi0zMiBwY3JlMmdyZXAgcGNyZTJncmVwLWRvYyBwY3JlMnRlc3QgcGNyZTJ0ZXN0LWRvYyIKLQotU1VNTUFSWV9wY3JlMmdyZXAgPSAiZ3JlcCB1dGlsaXR5IHRoYXQgdXNlcyBwZXJsIDUgY29tcGF0aWJsZSByZWdleGVzIgotU1VNTUFSWV9wY3JlMmdyZXAtZG9jID0gImdyZXAgdXRpbGl0eSB0aGF0IHVzZXMgcGVybCA1IGNvbXBhdGlibGUgcmVnZXhlcyAtIGRvY3MiCi1TVU1NQVJZX3BjcmUydGVzdCA9ICJwcm9ncmFtIGZvciB0ZXN0aW5nIFBlcmwtY29tYXRpYmxlIHJlZ3VsYXIgZXhwcmVzc2lvbnMiCi1TVU1NQVJZX3BjcmUydGVzdC1kb2MgPSAicHJvZ3JhbSBmb3IgdGVzdGluZyBQZXJsLWNvbWF0aWJsZSByZWd1bGFyIGV4cHJlc3Npb25zIC0gZG9jcyIKLQotRklMRVNfbGlicGNyZTItMTYgPSAiJHtsaWJkaXJ9L2xpYnBjcmUyLTE2LnNvLioiCi1GSUxFU19saWJwY3JlMi0zMiA9ICIke2xpYmRpcn0vbGlicGNyZTItMzIuc28uKiIKLUZJTEVTX3BjcmUyZ3JlcCA9ICIke2JpbmRpcn0vcGNyZTJncmVwIgotRklMRVNfcGNyZTJncmVwLWRvYyA9ICIke21hbmRpcn0vbWFuMS9wY3JlMmdyZXAuMSIKLUZJTEVTX3BjcmUydGVzdCA9ICIke2JpbmRpcn0vcGNyZTJ0ZXN0IgotRklMRVNfcGNyZTJ0ZXN0LWRvYyA9ICIke21hbmRpcn0vbWFuMS9wY3JlMnRlc3QuMSIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJwY3JlL2xpYnBjcmUyXzEwLjMyLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJwY3JlL2xpYnBjcmUyXzEwLjMyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhMGFhNTMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnBjcmUvbGlicGNyZTJfMTAuMzIuYmIKQEAgLTAsMCArMSw2MSBAQAorREVTQ1JJUFRJT04gPSAiVGhlcmUgYXJlIHR3byBtYWpvciB2ZXJzaW9ucyBvZiB0aGUgUENSRSBsaWJyYXJ5LiBUaGUgXAorbmV3ZXN0IHZlcnNpb24gaXMgUENSRTIsIHdoaWNoIGlzIGEgcmUtd29ya2luZyBvZiB0aGUgb3JpZ2luYWwgUENSRSBcCitsaWJyYXJ5IHRvIHByb3ZpZGUgYW4gZW50aXJlbHkgbmV3IEFQSS4gVGhlIG9yaWdpbmFsLCB2ZXJ5IHdpZGVseSBcCitkZXBsb3llZCBQQ1JFIGxpYnJhcnkncyBBUEkgYW5kIGZlYXR1cmUgYXJlIHN0YWJsZSwgZnV0dXJlIHJlbGVhc2VzIFwKKyB3aWxsIGJlIGZvciBidWdmaXhlcyBvbmx5LiBBbGwgbmV3IGZ1dHVyZSBmZWF0dXJlcyB3aWxsIGJlIHRvIFBDUkUyLCBcCitub3QgdGhlIG9yaWdpbmFsIFBDUkUgOC54IHNlcmllcy4iCitTVU1NQVJZID0gIlBlcmwgQ29tcGF0aWJsZSBSZWd1bGFyIEV4cHJlc3Npb25zIHZlcnNpb24gMiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cucGNyZS5vcmciCitTRUNUSU9OID0gImRldmVsIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTkNFO21kNT1jZjY2ZDMwN2JmMDNiYWU2NWQ0MTNlYjdhOGU2MDNhMCIKKworU1JDX1VSSSA9ICJodHRwczovL2Z0cC5wY3JlLm9yZy9wdWIvcGNyZS9wY3JlMi0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL3BjcmUtY3Jvc3MucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOGEwOTYyODcxNTNmYjk5NDk3MGRmMzU3MGU5MGZjYjUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjI5ZTg5Y2M1ZGU4MTNmNDU3ODY1ODAxMDFhYWVlMzk4NGE2NTgxODYzMWQ0ZGRiZGE3YjMyZjY5OWI4N2MyZSIKKworQ1ZFX1BST0RVQ1QgPSAicGNyZTIiCisKK1MgPSAiJHtXT1JLRElSfS9wY3JlMi0ke1BWfSIKKworUFJPVklERVMgKz0gInBjcmUyIgorREVQRU5EUyArPSAiYnppcDIgemxpYiIKKworQklOQ09ORklHID0gIiR7YmluZGlyfS9wY3JlMi1jb25maWciCisKK2luaGVyaXQgYXV0b3Rvb2xzIGJpbmNvbmZpZy1kaXNhYmxlZAorCitFWFRSQV9PRUNPTkYgPSAiXAorICAgIC0tZW5hYmxlLW5ld2xpbmUtaXMtbGYgXAorICAgIC0tZW5hYmxlLXJlYnVpbGQtY2hhcnRhYmxlcyBcCisgICAgLS13aXRoLWxpbmstc2l6ZT0yIFwKKyAgICAtLXdpdGgtbWF0Y2gtbGltaXQ9MTAwMDAwMDAgXAorICAgIC0tZW5hYmxlLXBjcmUyLTE2IFwKKyAgICAtLWVuYWJsZS1wY3JlMi0zMiBcCisiCisjIFNldCBMSU5LX1NJWkUgaW4gQlVJTERfQ0ZMQUdTIGdpdmVuIHRoYXQgdGhlIGF1dG90b29scyBiYmNsYXNzIHVzZSBpdCB0bworIyBzZXQgQ0ZMQUdTX0ZPUl9CVUlMRCwgcmVxdWlyZWQgZm9yIHRoZSBsaWJwY3JlIGJ1aWxkLgorQlVJTERfQ0ZMQUdTID0rICItRExJTktfU0laRT0yIC1JJHtCfS9zcmMiCitDRkxBR1MgKz0gIi1EX1JFRU5UUkFOVCIKK0NYWEZMQUdTX2FwcGVuZF9wb3dlcnBjID0gIiAtbHN0ZGMrKyIKKworZXhwb3J0IENDTERfRk9SX0JVSUxEID0iJHtCVUlMRF9DQ0xEfSIKKworUEFDS0FHRVMgPSsgImxpYnBjcmUyLTE2IGxpYnBjcmUyLTMyIHBjcmUyZ3JlcCBwY3JlMmdyZXAtZG9jIHBjcmUydGVzdCBwY3JlMnRlc3QtZG9jIgorCitTVU1NQVJZX3BjcmUyZ3JlcCA9ICJncmVwIHV0aWxpdHkgdGhhdCB1c2VzIHBlcmwgNSBjb21wYXRpYmxlIHJlZ2V4ZXMiCitTVU1NQVJZX3BjcmUyZ3JlcC1kb2MgPSAiZ3JlcCB1dGlsaXR5IHRoYXQgdXNlcyBwZXJsIDUgY29tcGF0aWJsZSByZWdleGVzIC0gZG9jcyIKK1NVTU1BUllfcGNyZTJ0ZXN0ID0gInByb2dyYW0gZm9yIHRlc3RpbmcgUGVybC1jb21hdGlibGUgcmVndWxhciBleHByZXNzaW9ucyIKK1NVTU1BUllfcGNyZTJ0ZXN0LWRvYyA9ICJwcm9ncmFtIGZvciB0ZXN0aW5nIFBlcmwtY29tYXRpYmxlIHJlZ3VsYXIgZXhwcmVzc2lvbnMgLSBkb2NzIgorCitGSUxFU19saWJwY3JlMi0xNiA9ICIke2xpYmRpcn0vbGlicGNyZTItMTYuc28uKiIKK0ZJTEVTX2xpYnBjcmUyLTMyID0gIiR7bGliZGlyfS9saWJwY3JlMi0zMi5zby4qIgorRklMRVNfcGNyZTJncmVwID0gIiR7YmluZGlyfS9wY3JlMmdyZXAiCitGSUxFU19wY3JlMmdyZXAtZG9jID0gIiR7bWFuZGlyfS9tYW4xL3BjcmUyZ3JlcC4xIgorRklMRVNfcGNyZTJ0ZXN0ID0gIiR7YmluZGlyfS9wY3JlMnRlc3QiCitGSUxFU19wY3JlMnRlc3QtZG9jID0gIiR7bWFuZGlyfS9tYW4xL3BjcmUydGVzdC4xIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnBjcmUvbGlicGNyZV84LjQyLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJwY3JlL2xpYnBjcmVfOC40Mi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2E0ODhjMC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnBjcmUvbGlicGNyZV84LjQyLmJiCisrKyAvZGV2L251bGwKQEAgLTEsODcgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiVGhlIFBDUkUgbGlicmFyeSBpcyBhIHNldCBvZiBmdW5jdGlvbnMgdGhhdCBpbXBsZW1lbnQgcmVndWxhciBcCi1leHByZXNzaW9uIHBhdHRlcm4gbWF0Y2hpbmcgdXNpbmcgdGhlIHNhbWUgc3ludGF4IGFuZCBzZW1hbnRpY3MgYXMgUGVybCA1LiBQQ1JFIFwKLWhhcyBpdHMgb3duIG5hdGl2ZSBBUEksIGFzIHdlbGwgYXMgYSBzZXQgb2Ygd3JhcHBlciBmdW5jdGlvbnMgdGhhdCBjb3JyZXNwb25kIFwKLXRvIHRoZSBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb24gQVBJLiIKLVNVTU1BUlkgPSAiUGVybCBDb21wYXRpYmxlIFJlZ3VsYXIgRXhwcmVzc2lvbnMiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LnBjcmUub3JnIgotU0VDVElPTiA9ICJkZXZlbCIKLUxJQ0VOU0UgPSAiQlNEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5DRTttZDU9ZmM1MDI2NDAzYjQ0Yzg2OGMyNWZjOTU0NmY3ZmViMDUiCi1TUkNfVVJJID0gImh0dHBzOi8vZnRwLnBjcmUub3JnL3B1Yi9wY3JlL3BjcmUtJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9wY3JlLWNyb3NzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2ZpeC1wY3JlLW5hbWUtY29sbGlzaW9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCi0gICAgICAgICAgIGZpbGU6Ly9NYWtlZmlsZSBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIwODViNmFhMjUzZTBmOTFjYWU3MGIzY2RiZThjMWFjMiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIyY2QwNGI3Yzg4NzgwOGJlMDMwMjU0ZThkNzdkZTExZDNmZTlkNDUwNWMzOWQ0YjE1ZDI2NjRmZmU4YmY5MzAxIgotCi1DVkVfUFJPRFVDVCA9ICJwY3JlIgotCi1TID0gIiR7V09SS0RJUn0vcGNyZS0ke1BWfSIKLQotUFJPVklERVMgKz0gInBjcmUiCi1ERVBFTkRTICs9ICJiemlwMiB6bGliIgotCi1QQUNLQUdFQ09ORklHID8/PSAicGNyZTggdW5pY29kZS1wcm9wZXJ0aWVzIgotCi1QQUNLQUdFQ09ORklHW3BjcmU4XSA9ICItLWVuYWJsZS1wY3JlOCwtLWRpc2FibGUtcGNyZTgiCi1QQUNLQUdFQ09ORklHW3BjcmUxNl0gPSAiLS1lbmFibGUtcGNyZTE2LC0tZGlzYWJsZS1wY3JlMTYiCi1QQUNLQUdFQ09ORklHW3BjcmUzMl0gPSAiLS1lbmFibGUtcGNyZTMyLC0tZGlzYWJsZS1wY3JlMzIiCi1QQUNLQUdFQ09ORklHW3BjcmV0ZXN0LXJlYWRsaW5lXSA9ICItLWVuYWJsZS1wY3JldGVzdC1saWJyZWFkbGluZSwtLWRpc2FibGUtcGNyZXRlc3QtbGlicmVhZGxpbmUscmVhZGxpbmUsIgotUEFDS0FHRUNPTkZJR1t1bmljb2RlLXByb3BlcnRpZXNdID0gIi0tZW5hYmxlLXVuaWNvZGUtcHJvcGVydGllcywtLWRpc2FibGUtdW5pY29kZS1wcm9wZXJ0aWVzIgotCi1CSU5DT05GSUcgPSAiJHtiaW5kaXJ9L3BjcmUtY29uZmlnIgotCi1pbmhlcml0IGF1dG90b29scyBiaW5jb25maWctZGlzYWJsZWQgcHRlc3QKLQotRVhUUkFfT0VDT05GID0gIlwKLSAgICAtLWVuYWJsZS1uZXdsaW5lLWlzLWxmIFwKLSAgICAtLWVuYWJsZS1yZWJ1aWxkLWNoYXJ0YWJsZXMgXAotICAgIC0tZW5hYmxlLXV0ZiBcCi0gICAgLS13aXRoLWxpbmstc2l6ZT0yIFwKLSAgICAtLXdpdGgtbWF0Y2gtbGltaXQ9MTAwMDAwMDAgXAotIgotCi0jIFNldCBMSU5LX1NJWkUgaW4gQlVJTERfQ0ZMQUdTIGdpdmVuIHRoYXQgdGhlIGF1dG90b29scyBiYmNsYXNzIHVzZSBpdCB0bwotIyBzZXQgQ0ZMQUdTX0ZPUl9CVUlMRCwgcmVxdWlyZWQgZm9yIHRoZSBsaWJwY3JlIGJ1aWxkLgotQlVJTERfQ0ZMQUdTID0rICItRExJTktfU0laRT0yIC1JJHtCfSIKLUNGTEFHUyArPSAiLURfUkVFTlRSQU5UIgotQ1hYRkxBR1NfYXBwZW5kX3Bvd2VycGMgPSAiIC1sc3RkYysrIgotCi1leHBvcnQgQ0NMRF9GT1JfQlVJTEQgPSIke0JVSUxEX0NDTER9IgotCi1QQUNLQUdFUyA9KyAibGlicGNyZWNwcCBsaWJwY3JlcG9zaXggcGNyZWdyZXAgcGNyZWdyZXAtZG9jIHBjcmV0ZXN0IHBjcmV0ZXN0LWRvYyIKLQotU1VNTUFSWV9saWJwY3JlY3BwID0gIiR7U1VNTUFSWX0gLSBDKysgd3JhcHBlciBmdW5jdGlvbnMiCi1TVU1NQVJZX2xpYnBjcmVwb3NpeCA9ICIke1NVTU1BUll9IC0gQyB3cmFwcGVyIGZ1bmN0aW9ucyBiYXNlZCBvbiB0aGUgUE9TSVggcmVnZXggQVBJIgotU1VNTUFSWV9wY3JlZ3JlcCA9ICJncmVwIHV0aWxpdHkgdGhhdCB1c2VzIHBlcmwgNSBjb21wYXRpYmxlIHJlZ2V4ZXMiCi1TVU1NQVJZX3BjcmVncmVwLWRvYyA9ICJncmVwIHV0aWxpdHkgdGhhdCB1c2VzIHBlcmwgNSBjb21wYXRpYmxlIHJlZ2V4ZXMgLSBkb2NzIgotU1VNTUFSWV9wY3JldGVzdCA9ICJwcm9ncmFtIGZvciB0ZXN0aW5nIFBlcmwtY29tYXRpYmxlIHJlZ3VsYXIgZXhwcmVzc2lvbnMiCi1TVU1NQVJZX3BjcmV0ZXN0LWRvYyA9ICJwcm9ncmFtIGZvciB0ZXN0aW5nIFBlcmwtY29tYXRpYmxlIHJlZ3VsYXIgZXhwcmVzc2lvbnMgLSBkb2NzIgotCi1GSUxFU19saWJwY3JlY3BwID0gIiR7bGliZGlyfS9saWJwY3JlY3BwLnNvLioiCi1GSUxFU19saWJwY3JlcG9zaXggPSAiJHtsaWJkaXJ9L2xpYnBjcmVwb3NpeC5zby4qIgotRklMRVNfcGNyZWdyZXAgPSAiJHtiaW5kaXJ9L3BjcmVncmVwIgotRklMRVNfcGNyZWdyZXAtZG9jID0gIiR7bWFuZGlyfS9tYW4xL3BjcmVncmVwLjEiCi1GSUxFU19wY3JldGVzdCA9ICIke2JpbmRpcn0vcGNyZXRlc3QiCi1GSUxFU19wY3JldGVzdC1kb2MgPSAiJHttYW5kaXJ9L21hbjEvcGNyZXRlc3QuMSIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgotCi1kb19pbnN0YWxsX3B0ZXN0KCkgewotCXQ9JHtEfSR7UFRFU1RfUEFUSH0KLQljcCAke1dPUktESVJ9L01ha2VmaWxlICR0Ci0JY3AgLXIgJHtTfS90ZXN0ZGF0YSAkdAotCWZvciBpIGluIHBjcmVfc3RyaW5ncGllY2VfdW5pdHRlc3QgcGNyZWdyZXAgcGNyZXRlc3Q7IFwKLQkgIGRvIGNwICR7Qn0vLmxpYnMvJGkgJHQ7IFwKLQlkb25lCi0JZm9yIGkgaW4gUnVuVGVzdCBSdW5HcmVwVGVzdCB0ZXN0LWRyaXZlcjsgXAotCSAgZG8gY3AgJHtTfS8kaSAkdDsgXAotCWRvbmUKLQkjIFNraXAgdGhlIGZyX0ZSIGxvY2FsZSB0ZXN0LiBJZiB0aGUgbG9jYWxlIGZyX0ZSIGlzIGZvdW5kLCBpdCBpcyB0ZXN0ZWQuCi0JIyBJZiBub3QgZm91bmQsIHRoZSB0ZXN0IGlzIHNraXBwZWQuIFRoZSB0ZXN0IHByb2dyYW0gYXNzdW1lcyBmcl9GUiBpcyBub24tVVRGLTgKLQkjIGxvY2FsZSBzbyB0aGUgdGVzdCBmYWlscyBpZiBmcl9GUiBpcyBVVEYtOCBsb2NhbGUuCi0Jc2VkIC1pIC1lICdzOmRvMz15ZXM6ZG8zPW5vOmcnICR7RH0ke1BURVNUX1BBVEh9L1J1blRlc3QgCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnBjcmUvbGlicGNyZV84LjQzLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJwY3JlL2xpYnBjcmVfOC40My5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wODMxNGVmCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJwY3JlL2xpYnBjcmVfOC40My5iYgpAQCAtMCwwICsxLDc0IEBACitERVNDUklQVElPTiA9ICJUaGUgUENSRSBsaWJyYXJ5IGlzIGEgc2V0IG9mIGZ1bmN0aW9ucyB0aGF0IGltcGxlbWVudCByZWd1bGFyIFwKK2V4cHJlc3Npb24gcGF0dGVybiBtYXRjaGluZyB1c2luZyB0aGUgc2FtZSBzeW50YXggYW5kIHNlbWFudGljcyBhcyBQZXJsIDUuIFBDUkUgXAoraGFzIGl0cyBvd24gbmF0aXZlIEFQSSwgYXMgd2VsbCBhcyBhIHNldCBvZiB3cmFwcGVyIGZ1bmN0aW9ucyB0aGF0IGNvcnJlc3BvbmQgXAordG8gdGhlIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbiBBUEkuIgorU1VNTUFSWSA9ICJQZXJsIENvbXBhdGlibGUgUmVndWxhciBFeHByZXNzaW9ucyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cucGNyZS5vcmciCitTRUNUSU9OID0gImRldmVsIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTkNFO21kNT05MWJlZTU5ZDFiMzI3ZWIxNTk5YjRjNjczZTJmYjNkMSIKK1NSQ19VUkkgPSAiaHR0cHM6Ly9mdHAucGNyZS5vcmcvcHViL3BjcmUvcGNyZS0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC1wY3JlLW5hbWUtY29sbGlzaW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL291dC1vZi10cmVlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIGZpbGU6Ly9NYWtlZmlsZSBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2MzYyMjJlNzllMzkyYzNkOTVkY2M1NDVmMjRmOThjNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5MWU3NjI1MjAwMDMwMTM4MzRhYzFhZGI0YTkzOGQ1M2IyMmEyMTYzNDFjMDYxYjBjZjA1NjAzYjI5MGZhZjZiIgorCitDVkVfUFJPRFVDVCA9ICJwY3JlIgorCitTID0gIiR7V09SS0RJUn0vcGNyZS0ke1BWfSIKKworUFJPVklERVMgKz0gInBjcmUiCitERVBFTkRTICs9ICJiemlwMiB6bGliIgorCitQQUNLQUdFQ09ORklHID8/PSAicGNyZTggdW5pY29kZS1wcm9wZXJ0aWVzIGppdCIKKworUEFDS0FHRUNPTkZJR1twY3JlOF0gPSAiLS1lbmFibGUtcGNyZTgsLS1kaXNhYmxlLXBjcmU4IgorUEFDS0FHRUNPTkZJR1twY3JlMTZdID0gIi0tZW5hYmxlLXBjcmUxNiwtLWRpc2FibGUtcGNyZTE2IgorUEFDS0FHRUNPTkZJR1twY3JlMzJdID0gIi0tZW5hYmxlLXBjcmUzMiwtLWRpc2FibGUtcGNyZTMyIgorUEFDS0FHRUNPTkZJR1twY3JldGVzdC1yZWFkbGluZV0gPSAiLS1lbmFibGUtcGNyZXRlc3QtbGlicmVhZGxpbmUsLS1kaXNhYmxlLXBjcmV0ZXN0LWxpYnJlYWRsaW5lLHJlYWRsaW5lLCIKK1BBQ0tBR0VDT05GSUdbdW5pY29kZS1wcm9wZXJ0aWVzXSA9ICItLWVuYWJsZS11bmljb2RlLXByb3BlcnRpZXMsLS1kaXNhYmxlLXVuaWNvZGUtcHJvcGVydGllcyIKK1BBQ0tBR0VDT05GSUdbaml0XSA9ICItLWVuYWJsZS1qaXQ9YXV0bywtLWRpc2FibGUtaml0IgorCitCSU5DT05GSUcgPSAiJHtiaW5kaXJ9L3BjcmUtY29uZmlnIgorCitpbmhlcml0IGF1dG90b29scyBiaW5jb25maWctZGlzYWJsZWQgcHRlc3QKKworRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLXV0ZiIKKworUEFDS0FHRVMgPSsgImxpYnBjcmVjcHAgbGlicGNyZXBvc2l4IHBjcmVncmVwIHBjcmVncmVwLWRvYyBwY3JldGVzdCBwY3JldGVzdC1kb2MiCisKK1NVTU1BUllfbGlicGNyZWNwcCA9ICIke1NVTU1BUll9IC0gQysrIHdyYXBwZXIgZnVuY3Rpb25zIgorU1VNTUFSWV9saWJwY3JlcG9zaXggPSAiJHtTVU1NQVJZfSAtIEMgd3JhcHBlciBmdW5jdGlvbnMgYmFzZWQgb24gdGhlIFBPU0lYIHJlZ2V4IEFQSSIKK1NVTU1BUllfcGNyZWdyZXAgPSAiZ3JlcCB1dGlsaXR5IHRoYXQgdXNlcyBwZXJsIDUgY29tcGF0aWJsZSByZWdleGVzIgorU1VNTUFSWV9wY3JlZ3JlcC1kb2MgPSAiZ3JlcCB1dGlsaXR5IHRoYXQgdXNlcyBwZXJsIDUgY29tcGF0aWJsZSByZWdleGVzIC0gZG9jcyIKK1NVTU1BUllfcGNyZXRlc3QgPSAicHJvZ3JhbSBmb3IgdGVzdGluZyBQZXJsLWNvbWF0aWJsZSByZWd1bGFyIGV4cHJlc3Npb25zIgorU1VNTUFSWV9wY3JldGVzdC1kb2MgPSAicHJvZ3JhbSBmb3IgdGVzdGluZyBQZXJsLWNvbWF0aWJsZSByZWd1bGFyIGV4cHJlc3Npb25zIC0gZG9jcyIKKworRklMRVNfbGlicGNyZWNwcCA9ICIke2xpYmRpcn0vbGlicGNyZWNwcC5zby4qIgorRklMRVNfbGlicGNyZXBvc2l4ID0gIiR7bGliZGlyfS9saWJwY3JlcG9zaXguc28uKiIKK0ZJTEVTX3BjcmVncmVwID0gIiR7YmluZGlyfS9wY3JlZ3JlcCIKK0ZJTEVTX3BjcmVncmVwLWRvYyA9ICIke21hbmRpcn0vbWFuMS9wY3JlZ3JlcC4xIgorRklMRVNfcGNyZXRlc3QgPSAiJHtiaW5kaXJ9L3BjcmV0ZXN0IgorRklMRVNfcGNyZXRlc3QtZG9jID0gIiR7bWFuZGlyfS9tYW4xL3BjcmV0ZXN0LjEiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworZG9faW5zdGFsbF9wdGVzdCgpIHsKKwl0PSR7RH0ke1BURVNUX1BBVEh9CisJY3AgJHtXT1JLRElSfS9NYWtlZmlsZSAkdAorCWNwIC1yICR7U30vdGVzdGRhdGEgJHQKKwlmb3IgaSBpbiBwY3JlX3N0cmluZ3BpZWNlX3VuaXR0ZXN0IHBjcmVncmVwIHBjcmV0ZXN0OyBcCisJICBkbyBjcCAke0J9Ly5saWJzLyRpICR0OyBcCisJZG9uZQorCWZvciBpIGluIFJ1blRlc3QgUnVuR3JlcFRlc3QgdGVzdC1kcml2ZXI7IFwKKwkgIGRvIGNwICR7U30vJGkgJHQ7IFwKKwlkb25lCisJIyBTa2lwIHRoZSBmcl9GUiBsb2NhbGUgdGVzdC4gSWYgdGhlIGxvY2FsZSBmcl9GUiBpcyBmb3VuZCwgaXQgaXMgdGVzdGVkLgorCSMgSWYgbm90IGZvdW5kLCB0aGUgdGVzdCBpcyBza2lwcGVkLiBUaGUgdGVzdCBwcm9ncmFtIGFzc3VtZXMgZnJfRlIgaXMgbm9uLVVURi04CisJIyBsb2NhbGUgc28gdGhlIHRlc3QgZmFpbHMgaWYgZnJfRlIgaXMgVVRGLTggbG9jYWxlLgorCXNlZCAtaSAtZSAnczpkbzM9eWVzOmRvMz1ubzpnJyAke0R9JHtQVEVTVF9QQVRIfS9SdW5UZXN0IAorfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJwcm94eS9saWJwcm94eS8wMDAxLWdldC1wYWMtdGVzdC1GaXgtYnVpbGQtd2l0aC1jbGFuZy1saWJjLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJwcm94eS9saWJwcm94eS8wMDAxLWdldC1wYWMtdGVzdC1GaXgtYnVpbGQtd2l0aC1jbGFuZy1saWJjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZlZGRhOWQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnByb3h5L2xpYnByb3h5LzAwMDEtZ2V0LXBhYy10ZXN0LUZpeC1idWlsZC13aXRoLWNsYW5nLWxpYmMucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSAyZDczNDY5YzdhMTdlYmZlNDMzMGFjNjY0M2IwYzhhYmRjMTI1ZDA1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMzAgSmFuIDIwMTkgMDk6Mjk6NDQgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gZ2V0LXBhYy10ZXN0OiBGaXggYnVpbGQgd2l0aCBjbGFuZy9saWJjKysKKworZ2V0LXBhYy10ZXN0LmNwcDo1NToxMDogZXJyb3I6IGFzc2lnbmluZyB0byAnaW50JyBmcm9tIGluY29tcGF0aWJsZSB0eXBlICdfX2JpbmQ8aW50ICYsIHNvY2thZGRyICosIHVuc2lnbmVkIGludD4nCisgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSBiaW5kKG1fc29jaywgKHNvY2thZGRyKikmYWRkciwgc2l6ZW9mIChzdHJ1Y3Qgc29ja2FkZHJfaW4pKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL2xpYnByb3h5L2xpYnByb3h5L3B1bGwvOTddCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBsaWJwcm94eS90ZXN0L2dldC1wYWMtdGVzdC5jcHAgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9saWJwcm94eS90ZXN0L2dldC1wYWMtdGVzdC5jcHAgYi9saWJwcm94eS90ZXN0L2dldC1wYWMtdGVzdC5jcHAKK2luZGV4IDAwNTlkZmIuLjkxMWYyOTYgMTAwNjQ0CistLS0gYS9saWJwcm94eS90ZXN0L2dldC1wYWMtdGVzdC5jcHAKKysrKyBiL2xpYnByb3h5L3Rlc3QvZ2V0LXBhYy10ZXN0LmNwcAorQEAgLTUyLDcgKzUyLDcgQEAgY2xhc3MgVGVzdFNlcnZlciB7CisgCisgCQkJc2V0c29ja29wdChtX3NvY2ssIFNPTF9TT0NLRVQsIFNPX1JFVVNFQUREUiwgJmksIHNpemVvZihpKSk7CisgCistCQkJcmV0ID0gYmluZChtX3NvY2ssIChzb2NrYWRkciopJmFkZHIsIHNpemVvZiAoc3RydWN0IHNvY2thZGRyX2luKSk7CisrCQkJcmV0ID0gOjpiaW5kKG1fc29jaywgKHNvY2thZGRyKikmYWRkciwgc2l6ZW9mIChzdHJ1Y3Qgc29ja2FkZHJfaW4pKTsKKyAJCQlhc3NlcnQoIXJldCk7CisgCisgCQkJcmV0ID0gbGlzdGVuKG1fc29jaywgMSk7CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnByb3h5L2xpYnByb3h5XzAuNC4xNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlicHJveHkvbGlicHJveHlfMC40LjE1LmJiCmluZGV4IGRkN2FkOTIuLjE5ZGRkZWIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlicHJveHkvbGlicHJveHlfMC40LjE1LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlicHJveHkvbGlicHJveHlfMC40LjE1LmJiCkBAIC04LDcgKzgsOSBAQAogCiBERVBFTkRTID0gImdsaWItMi4wIgogCi1TUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS8ke0JQTn0vJHtCUE59L3JlbGVhc2VzL2Rvd25sb2FkLyR7UFZ9LyR7QlB9LnRhci54eiIKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tLyR7QlBOfS8ke0JQTn0vcmVsZWFzZXMvZG93bmxvYWQvJHtQVn0vJHtCUH0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZ2V0LXBhYy10ZXN0LUZpeC1idWlsZC13aXRoLWNsYW5nLWxpYmMucGF0Y2ggXAorICAgICAgICAgICIKIFNSQ19VUklbbWQ1c3VtXSA9ICJmNmIxZDJhMWUxN2E5OWNkM2RlYmFhZTZkMDRhYjE1MiIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICI2NTRkYjQ2NDEyMGM5NTM0NjU0NTkwYjY2ODNjN2ZhMzg4N2IzZGFkMGNhMWM0Y2Q0MTJhZjI0ZmJmY2E2ZDRmIgogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnBzbC9saWJwc2xfMC4yMC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJwc2wvbGlicHNsXzAuMjAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Y2IyMGQ0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJwc2wvbGlicHNsXzAuMjAuMi5iYgpAQCAtMCwwICsxLDIwIEBACitTVU1NQVJZID0gIlB1YmxpYyBTdWZmaXggTGlzdCBsaWJyYXJ5IgorCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTU0MzcwMzBkOWU0ZmJlNzI2N2NlZDA1OGRkYjhhN2Y1IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkc7bWQ1PWY0MWQxMDk5N2ExMmRhNWVlM2MyNGNlZWIwMTQ4ZDE4IgorCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9yb2NrZGFib290LyR7QlBOfS9yZWxlYXNlcy9kb3dubG9hZC8ke0JQfS8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiZjYwNGY3ZDMwZDY0YmM2NzM4NzBlY2Y4NGI4NjBhMWUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjhmZDBhZWI2NjI1MmRmY2M2MzhmMTRkOWJlMWUyMzYyZmRhZjJjYTg2YmRlMDQ0NGZmNGQ1Y2M5NjFiNTYwZiIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9yb2NrZGFib290L2xpYnBzbC9yZWxlYXNlcyIKKworREVQRU5EUyA9ICJsaWJpZG4yIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IGd0ay1kb2MgbWFucGFnZXMgcGtnY29uZmlnIGxpYl9wYWNrYWdlCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICItLWVuYWJsZS1tYW4sLS1kaXNhYmxlLW1hbixsaWJ4c2x0LW5hdGl2ZSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJzb3VwL2xpYnNvdXAtMi40LzAwMDEtRG8tbm90LWVuZm9yY2Utbm8taW50cm9zcGVjdGlvbi13aGVuLWNyb3NzLWJ1aWxkaW5nLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJzb3VwL2xpYnNvdXAtMi40LzAwMDEtRG8tbm90LWVuZm9yY2Utbm8taW50cm9zcGVjdGlvbi13aGVuLWNyb3NzLWJ1aWxkaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyYjAyOWEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnNvdXAvbGlic291cC0yLjQvMDAwMS1Eby1ub3QtZW5mb3JjZS1uby1pbnRyb3NwZWN0aW9uLXdoZW4tY3Jvc3MtYnVpbGRpbmcucGF0Y2gKQEAgLTAsMCArMSwyNCBAQAorRnJvbSA5MjE4ODhhZmZlNjY5NTNjOTJhMDhhZTQ0MGU5MTFiMDE2YjEyNGJlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBGcmksIDE1IEZlYiAyMDE5IDE0OjIxOjA2ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIERvIG5vdCBlbmZvcmNlIG5vLWludHJvc3BlY3Rpb24gd2hlbiBjcm9zcy1idWlsZGluZworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorLS0tCisgbWVzb24uYnVpbGQgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCitpbmRleCA1YTkyY2RhLi5jZmIzNTIwIDEwMDY0NAorLS0tIGEvbWVzb24uYnVpbGQKKysrKyBiL21lc29uLmJ1aWxkCitAQCAtMjYyLDcgKzI2Miw3IEBAIGVuYWJsZV9nbm9tZSA9IGdldF9vcHRpb24oJ2dub21lJykgYW5kIGhvc3RfbWFjaGluZS5zeXN0ZW0oKSAhPSAnd2luZG93cycKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgIyBHT2JqZWN0IGludHJvc3BlY3Rpb24gIworICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy1lbmFibGVfaW50cm9zcGVjdGlvbiA9IGdldF9vcHRpb24oJ2ludHJvc3BlY3Rpb24nKSBhbmQgZmluZF9wcm9ncmFtKCdnLWlyLXNjYW5uZXInLCByZXF1aXJlZDogZmFsc2UpLmZvdW5kKCkgYW5kIG5vdCBtZXNvbi5pc19jcm9zc19idWlsZCgpCisrZW5hYmxlX2ludHJvc3BlY3Rpb24gPSBnZXRfb3B0aW9uKCdpbnRyb3NwZWN0aW9uJykgYW5kIGZpbmRfcHJvZ3JhbSgnZy1pci1zY2FubmVyJywgcmVxdWlyZWQ6IGZhbHNlKS5mb3VuZCgpCisgCisgIyMjIyMjIyMjIyMjCisgIyBWYWxhIEFQSSAjCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnNvdXAvbGlic291cC0yLjRfMi42Mi4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJzb3VwL2xpYnNvdXAtMi40XzIuNjIuMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWFhM2NjNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnNvdXAvbGlic291cC0yLjRfMi42Mi4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotU1VNTUFSWSA9ICJBbiBIVFRQIGxpYnJhcnkgaW1wbGVtZW50YXRpb24gaW4gQyIKLUhPTUVQQUdFID0gImh0dHBzOi8vd2lraS5nbm9tZS5vcmcvUHJvamVjdHMvbGlic291cCIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvIgotU0VDVElPTiA9ICJ4MTEvZ25vbWUvbGlicyIKLUxJQ0VOU0UgPSAiTEdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NWYzMGYwNzE2ZGZkZDBkOTFlYjQzOWViZWM1MjJlYzIiCi0KLURFUEVORFMgPSAiZ2xpYi0yLjAgZ2xpYi0yLjAtbmF0aXZlIGxpYnhtbDIgc3FsaXRlMyBpbnRsdG9vbC1uYXRpdmUiCi0KLVNIUlRfVkVSID0gIiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMF19LiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMV19IgotCi1TUkNfVVJJID0gIiR7R05PTUVfTUlSUk9SfS9saWJzb3VwLyR7U0hSVF9WRVJ9L2xpYnNvdXAtJHtQVn0udGFyLnh6IgotU1JDX1VSSVttZDVzdW1dID0gImRmYmYzMGFmNWZiNjE5MGJmYWZjNWFhNmFiY2M5ZGNlIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImQzMTJhZGU1NDc0OTVjMjA5M2ZmOGJkYTYxZjliOTcyN2E5OGNmZGFlMzM5ZjMyNjMyNzdkZDM5YzA0NTExNzIiCi0KLVMgPSAiJHtXT1JLRElSfS9saWJzb3VwLSR7UFZ9IgotCi1pbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBrZ2NvbmZpZyB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4gZ29iamVjdC1pbnRyb3NwZWN0aW9uIGd0ay1kb2MKLQotIyBsaWJzb3VwLWdub21lIGlzIGVudGlyZWx5IGRlcHJlY2F0ZWQgYW5kIGp1c3Qgc3R1YnMgaW4gMi40MiBvbndhcmRzLiBEaXNhYmxlIGJ5IGRlZmF1bHQuCi1QQUNLQUdFQ09ORklHID8/PSAiIgotUEFDS0FHRUNPTkZJR1tnbm9tZV0gPSAiLS13aXRoLWdub21lLC0td2l0aG91dC1nbm9tZSIKLVBBQ0tBR0VDT05GSUdbZ3NzYXBpXSA9ICItLXdpdGgtZ3NzYXBpLC0td2l0aG91dC1nc3NhcGksa3JiNSIKLQotRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS12YWxhIgotCi0jIFdoZW4gYnVpbHQgd2l0aG91dCBnbm9tZSBzdXBwb3J0LCBsaWJzb3VwLTIuNCB3aWxsIGNvbnRhaW4gb25seSBvbmUgc2hhcmVkIGxpYgotIyBhbmQgd2lsbCB0aGVyZWZvcmUgYmVjb21lIHN1YmplY3QgdG8gcmVuYW1pbmcgYnkgZGViaWFuLmJiY2xhc3MuIFByZXZlbnQKLSMgcmVuYW1pbmcgaW4gb3JkZXIgdG8ga2VlcCB0aGUgcGFja2FnZSBuYW1lIGNvbnNpc3RlbnQgcmVnYXJkbGVzcyBvZiB3aGV0aGVyCi0jIGdub21lIHN1cHBvcnQgaXMgZW5hYmxlZCBvciBkaXNhYmxlZC4KLURFQklBTl9OT0FVVE9OQU1FXyR7UE59ID0gIjEiCi0KLSMgZ2xpYi1uZXR3b3JraW5nIGlzIG5lZWRlZCBmb3IgU1NMLCBwcm94aWVzLCBldGMuCi1SUkVDT01NRU5EU18ke1BOfSA9ICJnbGliLW5ldHdvcmtpbmciCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnNvdXAvbGlic291cC0yLjRfMi42NC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJzb3VwL2xpYnNvdXAtMi40XzIuNjQuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZTdjMWE2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJzb3VwL2xpYnNvdXAtMi40XzIuNjQuMi5iYgpAQCAtMCwwICsxLDUxIEBACitTVU1NQVJZID0gIkFuIEhUVFAgbGlicmFyeSBpbXBsZW1lbnRhdGlvbiBpbiBDIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly93aWtpLmdub21lLm9yZy9Qcm9qZWN0cy9saWJzb3VwIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8iCitTRUNUSU9OID0gIngxMS9nbm9tZS9saWJzIgorTElDRU5TRSA9ICJMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01ZjMwZjA3MTZkZmRkMGQ5MWViNDM5ZWJlYzUyMmVjMiIKKworREVQRU5EUyA9ICJnbGliLTIuMCBnbGliLTIuMC1uYXRpdmUgbGlieG1sMiBzcWxpdGUzIGludGx0b29sLW5hdGl2ZSBsaWJwc2wiCisKK1NIUlRfVkVSID0gIiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMF19LiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMV19IgorCitTUkNfVVJJID0gIiR7R05PTUVfTUlSUk9SfS9saWJzb3VwLyR7U0hSVF9WRVJ9L2xpYnNvdXAtJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LWVuZm9yY2Utbm8taW50cm9zcGVjdGlvbi13aGVuLWNyb3NzLWJ1aWxkaW5nLnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImNhYzc1NWRjNmM2YWNkNmUwYzcwMDA3ZjU0NzU0OGY1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc1ZGRjMTk0YTViMWQ2ZjI1MDMzYmI5ZDM1NWYwNGJmZTVjMDNlMGUxYzcxZWQwNzc0MTA0NDU3YjNhNzg2YzYiCisKK1MgPSAiJHtXT1JLRElSfS9saWJzb3VwLSR7UFZ9IgorCitpbmhlcml0IG1lc29uIGdldHRleHQgcGtnY29uZmlnIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbiBnb2JqZWN0LWludHJvc3BlY3Rpb24gZ3RrLWRvYworCisjIGxpYnNvdXAtZ25vbWUgaXMgZW50aXJlbHkgZGVwcmVjYXRlZCBhbmQganVzdCBzdHVicyBpbiAyLjQyIG9ud2FyZHMuIERpc2FibGUgYnkgZGVmYXVsdC4KK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2dub21lXSA9ICItRGdub21lPXRydWUsLURnbm9tZT1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbZ3NzYXBpXSA9ICItRGdzc2FwaT10cnVlLC1EZ3NzYXBpPWZhbHNlLGtyYjUiCisKK0VYVFJBX09FTUVTT05fYXBwZW5kID0gIiAtRHZhcGk9ZmFsc2UiCisKK0dUS0RPQ19FTkFCTEVfRkxBRyA9ICItRGRvYz10cnVlIgorR1RLRE9DX0RJU0FCTEVfRkxBRyA9ICItRGRvYz1mYWxzZSIKKworR0lfRU5BQkxFX0ZMQUcgPSAiLURpbnRyb3NwZWN0aW9uPXRydWUiCitHSV9ESVNBQkxFX0ZMQUcgPSAiLURpbnRyb3NwZWN0aW9uPWZhbHNlIgorCitFWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiICR7R0lfRElTQUJMRV9GTEFHfSIKKworRVhUUkFfT0VNRVNPTl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygnR0lfREFUQV9FTkFCTEVEJywgJ1RydWUnLCAnJHtHSV9FTkFCTEVfRkxBR30nLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtHSV9ESVNBQkxFX0ZMQUd9JywgZCl9ICIKKworRVhUUkFfT0VNRVNPTl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygnR1RLRE9DX0VOQUJMRUQnLCAnVHJ1ZScsICcke0dUS0RPQ19FTkFCTEVfRkxBR30nLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7R1RLRE9DX0RJU0FCTEVfRkxBR30nLCBkKX0gIgorCisKKyMgV2hlbiBidWlsdCB3aXRob3V0IGdub21lIHN1cHBvcnQsIGxpYnNvdXAtMi40IHdpbGwgY29udGFpbiBvbmx5IG9uZSBzaGFyZWQgbGliCisjIGFuZCB3aWxsIHRoZXJlZm9yZSBiZWNvbWUgc3ViamVjdCB0byByZW5hbWluZyBieSBkZWJpYW4uYmJjbGFzcy4gUHJldmVudAorIyByZW5hbWluZyBpbiBvcmRlciB0byBrZWVwIHRoZSBwYWNrYWdlIG5hbWUgY29uc2lzdGVudCByZWdhcmRsZXNzIG9mIHdoZXRoZXIKKyMgZ25vbWUgc3VwcG9ydCBpcyBlbmFibGVkIG9yIGRpc2FibGVkLgorREVCSUFOX05PQVVUT05BTUVfJHtQTn0gPSAiMSIKKworIyBnbGliLW5ldHdvcmtpbmcgaXMgbmVlZGVkIGZvciBTU0wsIHByb3hpZXMsIGV0Yy4KK1JSRUNPTU1FTkRTXyR7UE59ID0gImdsaWItbmV0d29ya2luZyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDAxLUFkZC1BT19SRVFVSVJFX0NBUy10by1maXgtYnVpbGQtb24tQVJNLXY2LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kLzAwMDEtQWRkLUFPX1JFUVVJUkVfQ0FTLXRvLWZpeC1idWlsZC1vbi1BUk0tdjYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDM3Yjg3OAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDAxLUFkZC1BT19SRVFVSVJFX0NBUy10by1maXgtYnVpbGQtb24tQVJNLXY2LnBhdGNoCkBAIC0wLDAgKzEsNjIgQEAKK0Zyb20gNTk5ZjEwYWMzYTI0ZTQxOWE5M2Y5N2ZkZGJlMTRkZTAxYjExODVlYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFRob21hcyBQZXRhenpvbmkgPHRob21hcy5wZXRhenpvbmlAZnJlZS1lbGVjdHJvbnMuY29tPgorRGF0ZTogVHVlLCAxMyBNYXkgMjAxNCAyMzozMjoyNyArMDIwMAorU3ViamVjdDogW1BBVENIIDEvNl0gQWRkIEFPX1JFUVVJUkVfQ0FTIHRvIGZpeCBidWlsZCBvbiBBUk0gPCB2NgorCitBUk0gZWFybGllciB0aGFuIEFSTXY2LCBzdWNoIGFzIEFSTXY0IGFuZCBBUk12NSBkbyBub3QgcHJvdmlkZQorb3B0aW1pemUgYXRvbWljIG9wZXJhdGlvbnMgaW4gbGliYXRvbWljX29wcy4gU2luY2UgbGlidW53aW5kIGlzIHVzaW5nCitzdWNoIG9wZXJhdGlvbnMsIGl0IHNob3VsZCBkZWZpbmUgQU9fUkVRVUlSRV9DQVMgYmVmb3JlIGluY2x1ZGluZworPGF0b21pY19vcHMuaD4gc28gdGhhdCBsaWJhdG9taWNfb3BzIGtub3dzIGl0IHNob3VsZCB1c2UgZW11bGF0ZWQKK2F0b21pYyBvcGVyYXRpb25zIGluc3RlYWQgKGV2ZW4gdGhvdWdoIHRoZXkgYXJlIG9idmlvdXNseSBhIGxvdCBtb3JlCitleHBlbnNpdmUpLgorCitBbHNvLCB3aGlsZSByZWFsIGF0b21pYyBvcGVyYXRpb25zIGFyZSBhbGwgaW5saW5lIGZ1bmN0aW9ucyBhbmQKK3RoZXJlZm9yZSBsaW5raW5nIGFnYWluc3QgbGliYXRvbWljX29wcyB3YXMgbm90IHJlcXVpcmVkLCB0aGUgZW11bGF0ZWQKK2F0b21pYyBvcGVyYXRpb25zIGFjdHVhbGx5IHJlcXVpcmUgbGlua2luZyBhZ2FpbnN0IGxpYmF0b21pY19vcHMsIHNvCit0aGUgY29tbWVudGVkIEFDX0NIRUNLX0xJQiB0ZXN0IGluIGFjaW5jbHVkZS5tNCBpcyB1bmNvbW1lbnRlZCB0byBtYWtlCitzdXJlIHdlIGxpbmsgYWdhaW5zdCBsaWJhdG9taWNfb3BzLgorCitTaWduZWQtb2ZmLWJ5OiBUaG9tYXMgUGV0YXp6b25pIDx0aG9tYXMucGV0YXp6b25pQGZyZWUtZWxlY3Ryb25zLmNvbT4KK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitUYWtlbiBmcm9tOgoraHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3JkbmV0dG8vdGVhcG90LWJ1aWxkcm9vdC9tYXN0ZXIvcGFja2FnZS9saWJ1bndpbmQvbGlidW53aW5kLTAyLUFkZC1BT19SRVFVSVJFX0NBUy10by1maXgtYnVpbGQtb24tQVJNLXY2LnBhdGNoCisKKy0tLQorIGFjaW5jbHVkZS5tNCAgICAgICAgICB8IDggKy0tLS0tLS0KKyBpbmNsdWRlL2xpYnVud2luZF9pLmggfCAxICsKKyAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2FjaW5jbHVkZS5tNCBiL2FjaW5jbHVkZS5tNAoraW5kZXggNDk3ZjdjMi4uOWMxNWFmMSAxMDA2NDQKKy0tLSBhL2FjaW5jbHVkZS5tNAorKysrIGIvYWNpbmNsdWRlLm00CitAQCAtMjIsMTEgKzIyLDUgQEAgZmldKQorIEFDX0RFRlVOKFtDSEVDS19BVE9NSUNfT1BTXSwKKyBbZG5sIENoZWNrIHdoZXRoZXIgdGhlIHN5c3RlbSBoYXMgdGhlIGF0b21pY19vcHMgcGFja2FnZSBpbnN0YWxsZWQuCisgICBBQ19DSEVDS19IRUFERVJTKGF0b21pY19vcHMuaCkKKy0jCistIyBEb24ndCBsaW5rIGFnYWluc3QgbGliYXRvbWljX29wcyBmb3Igbm93LiAgV2UgZG9uJ3Qgd2FudCBsaWJ1bndpbmQKKy0jIHRvIGRlcGVuZCBvbiBsaWJhdG9taWNfb3BzLnNvLiAgRm9ydHVuYXRlbHksIG5vbmUgb2YgdGhlIHBsYXRmb3JtcworLSMgd2UgY2FyZSBhYm91dCBzbyBmYXIgbmVlZCBsaWJhdG9taWNfb3BzLmEgKGV2ZXJ5dGhpbmcgaXMgZG9uZSB2aWEKKy0jIGlubGluZSBtYWNyb3MpLgorLSMKKy0jICBBQ19DSEVDS19MSUIoYXRvbWljX29wcywgbWFpbikKKysgIEFDX0NIRUNLX0xJQihhdG9taWNfb3BzLCBtYWluKQorIF0pCitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saWJ1bndpbmRfaS5oIGIvaW5jbHVkZS9saWJ1bndpbmRfaS5oCitpbmRleCAzNmNmN2ExLi4zM2I0Y2EzIDEwMDY0NAorLS0tIGEvaW5jbHVkZS9saWJ1bndpbmRfaS5oCisrKysgYi9pbmNsdWRlL2xpYnVud2luZF9pLmgKK0BAIC0xMjQsNiArMTI0LDcgQEAgV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuICAqLworICAgICAgICAgKHB0aHJlYWRfbXV0ZXhfdW5sb2NrICE9IE5VTEwgPyBwdGhyZWFkX211dGV4X3VubG9jayAobCkgOiAwKQorIAorICNpZmRlZiBIQVZFX0FUT01JQ19PUFNfSAorKyMgZGVmaW5lIEFPX1JFUVVJUkVfQ0FTCisgIyBpbmNsdWRlIDxhdG9taWNfb3BzLmg+Cisgc3RhdGljIGlubGluZSBpbnQKKyBjbXB4Y2hnX3B0ciAodm9pZCAqYWRkciwgdm9pZCAqb2xkLCB2b2lkICpuZXcpCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwMS1GaXgtYnVpbGQtb24tbWlwcy1tdXNsLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kLzAwMDEtRml4LWJ1aWxkLW9uLW1pcHMtbXVzbC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGJjYzI1Mi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwMS1GaXgtYnVpbGQtb24tbWlwcy1tdXNsLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODEgKzAsMCBAQAotRnJvbSBlNjIzYzc3MDM5NDVhNWViNmM5YTMwNTg2ZWM1ZTIzYjJmNzM5NmY2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFdlZCwgMjMgTWFyIDIwMTYgMDY6MDg6NTkgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IGJ1aWxkIG9uIG1pcHMvbXVzbAotCi1EbyBub3QgaW5jbHVkZSBlbmRpYW4uaCBvbiBtdXNsIGl0IGluY2x1ZGVzCi1mdXJ0aGVyIGhlYWRlcnMgd2hpY2ggY2FuIG5vdCBiZSBjb21waWxlZCBpbiBfX0FTU0VNQkxFUl9fCi0gbW9kZQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotIHNyYy9jb3JlZHVtcC9fVUNEX2ludGVybmFsLmggfCAzNCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0gc3JjL21pcHMvZ2V0Y29udGV4dC5TICAgICAgICB8ICAzICstLQotIDIgZmlsZXMgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotSW5kZXg6IGdpdC9zcmMvY29yZWR1bXAvX1VDRF9pbnRlcm5hbC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvc3JjL2NvcmVkdW1wL19VQ0RfaW50ZXJuYWwuaAotKysrIGdpdC9zcmMvY29yZWR1bXAvX1VDRF9pbnRlcm5hbC5oCi1AQCAtNDQsNiArNDQsNDEgQEAgV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERQotIAotICNpbmNsdWRlICJsaWJ1bndpbmRfaS5oIgotIAotKyNpZm5kZWYgX19HTElCQ19fCi0rI2luY2x1ZGUgPHN5cy9yZWcuaD4KLSsKLSsjZGVmaW5lIEVGX1JFRzAJCQk2Ci0rI2RlZmluZSBFRl9SRUcxCQkJNwotKyNkZWZpbmUgRUZfUkVHMgkJCTgKLSsjZGVmaW5lIEVGX1JFRzMJCQk5Ci0rI2RlZmluZSBFRl9SRUc0CQkJMTAKLSsjZGVmaW5lIEVGX1JFRzUJCQkxMQotKyNkZWZpbmUgRUZfUkVHNgkJCTEyCi0rI2RlZmluZSBFRl9SRUc3CQkJMTMKLSsjZGVmaW5lIEVGX1JFRzgJCQkxNAotKyNkZWZpbmUgRUZfUkVHOQkJCTE1Ci0rI2RlZmluZSBFRl9SRUcxMAkJMTYKLSsjZGVmaW5lIEVGX1JFRzExCQkxNwotKyNkZWZpbmUgRUZfUkVHMTIJCTE4Ci0rI2RlZmluZSBFRl9SRUcxMwkJMTkKLSsjZGVmaW5lIEVGX1JFRzE0CQkyMAotKyNkZWZpbmUgRUZfUkVHMTUJCTIxCi0rI2RlZmluZSBFRl9SRUcxNgkJMjIKLSsjZGVmaW5lIEVGX1JFRzE3CQkyMwotKyNkZWZpbmUgRUZfUkVHMTgJCTI0Ci0rI2RlZmluZSBFRl9SRUcxOQkJMjUKLSsjZGVmaW5lIEVGX1JFRzIwCQkyNgotKyNkZWZpbmUgRUZfUkVHMjEJCTI3Ci0rI2RlZmluZSBFRl9SRUcyMgkJMjgKLSsjZGVmaW5lIEVGX1JFRzIzCQkyOQotKyNkZWZpbmUgRUZfUkVHMjQJCTMwCi0rI2RlZmluZSBFRl9SRUcyNQkJMzEKLSsjZGVmaW5lIEVGX1JFRzI4CQkzNAotKyNkZWZpbmUgRUZfUkVHMjkJCTM1Ci0rI2RlZmluZSBFRl9SRUczMAkJMzYKLSsjZGVmaW5lIEVGX1JFRzMxCQkzNwotKyNlbmRpZgotKwotIAotICNpZiBTSVpFT0ZfT0ZGX1QgPT0gNAotIHR5cGVkZWYgdWludDMyX3QgdW9mZl90OwotSW5kZXg6IGdpdC9zcmMvbWlwcy9nZXRjb250ZXh0LlMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnaXQub3JpZy9zcmMvbWlwcy9nZXRjb250ZXh0LlMKLSsrKyBnaXQvc3JjL21pcHMvZ2V0Y29udGV4dC5TCi1AQCAtMjQsMTIgKzI0LDExIEBAIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORwotIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLiAgKi8KLSAKLSAjaW5jbHVkZSAib2Zmc2V0cy5oIgotLSNpbmNsdWRlIDxlbmRpYW4uaD4KLSAKLSAJLnRleHQKLSAKLSAjaWYgX01JUFNfU0lNID09IF9BQklPMzIKLS0jIGlmIF9fQllURV9PUkRFUiA9PSBfX0JJR19FTkRJQU4KLSsjIGlmIF9fQllURV9PUkRFUl9fID09IF9fT1JERVJfQklHX0VORElBTl9fCi0gIyAgZGVmaW5lIE9GRlNFVCA0Ci0gIyBlbHNlCi0gIyAgZGVmaW5lIE9GRlNFVCAwCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwMS1hZGQta25vYnMtdG8tZGlzYWJsZS1lbmFibGUtdGVzdHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwMS1hZGQta25vYnMtdG8tZGlzYWJsZS1lbmFibGUtdGVzdHMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY3M2E1YmIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kLzAwMDEtYWRkLWtub2JzLXRvLWRpc2FibGUtZW5hYmxlLXRlc3RzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjkgKzAsMCBAQAotRnJvbSA0NTllNDcxZmNjMzNkMzAwZjdiYmNkYWYzZTBkYzMzOGQ5ZGMxNWI5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFNhdCwgMzAgQXByIDIwMTYgMTY6NTY6MzQgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gYWRkIGtub2JzIHRvIGRpc2FibGUvZW5hYmxlIHRlc3RzCi0KLVNvbWUgdGVzdHMgZG8gbm90IGNvbXBpbGUgb24gbXVzbCBsaWJjCi1pbiBnZW5lcmFsIGl0cyBnb29kIHRvIGhhdmUgc3VjaCBhIGtub2IKLXNpbmNlIG5vdCBhbGwgYnVpbGRzIG1heSB3YW50IHRvIGVuYWJsZQotdGVzdHMKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBNYWtlZmlsZS5hbSAgfCAgNiArKysrKy0KLSBjb25maWd1cmUuYWMgfCAxMiArKysrKysrKysrLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9NYWtlZmlsZS5hbSBiL01ha2VmaWxlLmFtCi1pbmRleCA2YTNlZDllLi4wYzI5YjNlIDEwMDY0NAotLS0tIGEvTWFrZWZpbGUuYW0KLSsrKyBiL01ha2VmaWxlLmFtCi1AQCAtNDIsNyArNDIsMTEgQEAgZW5kaWYKLSAKLSBub2Rpc3RfaW5jbHVkZV9IRUFERVJTID0gaW5jbHVkZS9saWJ1bndpbmQtY29tbW9uLmgKLSAKLS1TVUJESVJTID0gc3JjIHRlc3RzCi0rU1VCRElSUyA9IHNyYwotKwotK2lmIENPTkZJR19URVNUUwotK1NVQkRJUlMgKz0gdGVzdHMKLStlbmRpZgotIAotIGlmIENPTkZJR19ET0NTCi0gU1VCRElSUyArPSBkb2MKLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDg1ZDc4ZjguLmQzNjIzODcgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuYWMKLSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTEyOSw2ICsxMjksMTAgQEAgQUNfQVJHX0VOQUJMRShkb2N1bWVudGF0aW9uLAotIAlBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWRvY3VtZW50YXRpb25dLFtEaXNhYmxlIGdlbmVyYXRpbmcgdGhlIG1hbiBwYWdlc10pLCwKLSAJW2VuYWJsZV9kb2N1bWVudGF0aW9uPXllc10pCi0gCi0rQUNfQVJHX0VOQUJMRSh0ZXN0cywKLSsJQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS10ZXN0c10sW0Rpc2FibGUgYnVpbGRpbmcgdGVzdHNdKSwsCi0rCVtlbmFibGVfdGVzdHM9eWVzXSkKLSsKLSBBQ19NU0dfQ0hFQ0tJTkcoW2lmIHdlIHNob3VsZCBidWlsZCBsaWJ1bndpbmQtc2V0am1wXSkKLSBBQ19NU0dfUkVTVUxUKFskZW5hYmxlX3NldGptcF0pCi0gCi1AQCAtMzk1LDkgKzM5OSwxMyBAQCBBTV9DT05ESVRJT05BTChbQ09ORklHX0RPQ1NdLCBbdGVzdCB4JGVuYWJsZV9kb2N1bWVudGF0aW9uID0geHllc10pCi0gaWYgdGVzdCAieCRlbmFibGVfZG9jdW1lbnRhdGlvbiIgPSAieHllcyI7IHRoZW4KLSAgIEFDX0NPTkZJR19GSUxFUyhkb2MvTWFrZWZpbGUgZG9jL2NvbW1vbi50ZXgpCi0gZmkKLStBTV9DT05ESVRJT05BTChbQ09ORklHX1RFU1RTXSwgW3Rlc3QgeCRlbmFibGVfdGVzdHMgPSB4eWVzXSkKLStpZiB0ZXN0ICJ4JGVuYWJsZV90ZXN0cyIgPSAieHllcyI7IHRoZW4KLSsgIEFDX0NPTkZJR19GSUxFUyh0ZXN0cy9NYWtlZmlsZSB0ZXN0cy9jaGVjay1uYW1lc3BhY2Uuc2gpCi0rZmkKLSsKLSAKLS1BQ19DT05GSUdfRklMRVMoTWFrZWZpbGUgc3JjL01ha2VmaWxlIHRlc3RzL01ha2VmaWxlIHRlc3RzL2NoZWNrLW5hbWVzcGFjZS5zaAotLQkJaW5jbHVkZS9saWJ1bndpbmQtY29tbW9uLmgKLStBQ19DT05GSUdfRklMRVMoTWFrZWZpbGUgc3JjL01ha2VmaWxlIGluY2x1ZGUvbGlidW53aW5kLWNvbW1vbi5oCi0gICAgICAgICAgICAgICAgIGluY2x1ZGUvbGlidW53aW5kLmggaW5jbHVkZS90ZGVwL2xpYnVud2luZF9pLmgpCi0gQUNfQ09ORklHX0ZJTEVTKHNyYy91bndpbmQvbGlidW53aW5kLnBjIHNyYy9jb3JlZHVtcC9saWJ1bndpbmQtY29yZWR1bXAucGMKLSAgICAgICAgICAgICAgICAgc3JjL3B0cmFjZS9saWJ1bndpbmQtcHRyYWNlLnBjIHNyYy9zZXRqbXAvbGlidW53aW5kLXNldGptcC5wYwotLS0gCi0xLjguMy4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDAxLWJhY2t0cmFjZS1Vc2Utb25seS13aXRoLWdsaWJjLWFuZC11Y2xpYmMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwMS1iYWNrdHJhY2UtVXNlLW9ubHktd2l0aC1nbGliYy1hbmQtdWNsaWJjLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YWVkNDE5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDAxLWJhY2t0cmFjZS1Vc2Utb25seS13aXRoLWdsaWJjLWFuZC11Y2xpYmMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi1Gcm9tIDA0NDM3MTQyMzk5NjYyYjU3NmJkNTVhODU0ODVjNmRjYzE0ZDA4MTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVGh1LCAzMSBEZWMgMjAxNSAwNjo0NDowNyArMDAwMAotU3ViamVjdDogW1BBVENIXSBiYWNrdHJhY2U6IFVzZSBvbmx5IHdpdGggZ2xpYmMgYW5kIHVjbGliYwotCi1iYWNrdHJhY2UgQVBJIGlzIGdsaWJjIHNwZWNpZmljIG5vdCBsaW51eCBzcGVjaWZpYwotc28gbWFrZSBpdCBiZWhhdmUgc28uCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0gdGVzdHMvdGVzdC1jb3JlZHVtcC11bndpbmQuYyB8IDQgKysrLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3QtY29yZWR1bXAtdW53aW5kLmMgYi90ZXN0cy90ZXN0LWNvcmVkdW1wLXVud2luZC5jCi1pbmRleCA1MjU0NzA4Li44NzY3YjQyIDEwMDY0NAotLS0tIGEvdGVzdHMvdGVzdC1jb3JlZHVtcC11bndpbmQuYwotKysrIGIvdGVzdHMvdGVzdC1jb3JlZHVtcC11bndpbmQuYwotQEAgLTU3LDcgKzU3LDkgQEAKLSAjaW5jbHVkZSA8Z3JwLmg+Ci0gCi0gLyogRm9yIFNJR1NFR1YgaGFuZGxlciBjb2RlICovCi0rI2lmZGVmIF9fR0xJQkNfXwotICNpbmNsdWRlIDxleGVjaW5mby5oPgotKyNlbmRpZgotICNpbmNsdWRlIDxzeXMvdWNvbnRleHQuaD4KLSAKLSAjaW5jbHVkZSA8bGlidW53aW5kLWNvcmVkdW1wLmg+Ci1AQCAtMjM4LDExICsyNDAsMTEgQEAgdm9pZCBoYW5kbGVfc2lnc2VndihpbnQgc2lnLCBzaWdpbmZvX3QgKmluZm8sIHZvaWQgKnVjb250ZXh0KQotIAkJCWlwKTsKLSAKLSAgIHsKLSsjaWZkZWYgX19HTElCQ19fCi0gICAgIC8qIGdsaWJjIGV4dGVuc2lvbiAqLwotICAgICB2b2lkICphcnJheVs1MF07Ci0gICAgIGludCBzaXplOwotICAgICBzaXplID0gYmFja3RyYWNlKGFycmF5LCA1MCk7Ci0tI2lmZGVmIF9fbGludXhfXwotICAgICBiYWNrdHJhY2Vfc3ltYm9sc19mZChhcnJheSwgc2l6ZSwgMik7Ci0gI2VuZGlmCi0gICB9Ci0tLSAKLTIuNi40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDAxLXBwYzMyLUNvbnNpZGVyLXVjb250ZXh0LW1pc21hdGNoZXMtYmV0d2Vlbi1nbGliYy1hbmQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwMS1wcGMzMi1Db25zaWRlci11Y29udGV4dC1taXNtYXRjaGVzLWJldHdlZW4tZ2xpYmMtYW5kLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYTA2NDFmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDAxLXBwYzMyLUNvbnNpZGVyLXVjb250ZXh0LW1pc21hdGNoZXMtYmV0d2Vlbi1nbGliYy1hbmQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNDggKzAsMCBAQAotRnJvbSBlMGVlYTUzYzc3ZmNlODUzN2M1OGEwNzJiNjg0MDQzNTA3OTg3YmNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFNhdCwgOSBKdWwgMjAxNiAwMTowNzo1MyArMDAwMAotU3ViamVjdDogW1BBVENIXSBwcGMzMjogQ29uc2lkZXIgdWNvbnRleHQgbWlzbWF0Y2hlcyBiZXR3ZWVuIGdsaWJjIGFuZCBtdXNsCi0KLVRoaXMgaGVscHMgaW4gcG9ydGluZyBsaWJ1bndpbmQgb250byBtdXNsIGJhc2VkIHN5c3RlbXMKLXB0cmFjZS5oIGNoYW5nZSBpcyByZXF1aXJlZCBhZ2FpbiBhbiBlcnJvciB0aGF0IHN1cmZhY2VzCi13aXRoIG11c2wKLQotL21udC9vZS9vcGVuZW1iZWRkZWQtY29yZS9idWlsZC90bXAtbXVzbC9zeXNyb290cy9xZW11cHBjL3Vzci9pbmNsdWRlL2FzbS9wdHJhY2UuaDozMTo4OiBlcnJvcjogcmVkZWZpbml0aW9uIG9mICdzdHJ1Y3QgcHRfcmVncycKLSBzdHJ1Y3QgcHRfcmVncyB7Ci0gICAgICAgIF5+fn5+fn4KLUluIGZpbGUgaW5jbHVkZWQgZnJvbSAvbW50L29lL29wZW5lbWJlZGRlZC1jb3JlL2J1aWxkL3RtcC1tdXNsL3N5c3Jvb3RzL3FlbXVwcGMvdXNyL2luY2x1ZGUvc3lzL3VzZXIuaDoxMTowLAotICAgICAgICAgICAgICAgICBmcm9tIC9tbnQvb2Uvb3BlbmVtYmVkZGVkLWNvcmUvYnVpbGQvdG1wLW11c2wvc3lzcm9vdHMvcWVtdXBwYy91c3IvaW5jbHVkZS9zeXMvcHJvY2ZzLmg6OSwKLSAgICAgICAgICAgICAgICAgZnJvbSAuLi8uLi9naXQvc3JjL3B0cmFjZS9fVVBUX2ludGVybmFsLmg6NDAsCi0gICAgICAgICAgICAgICAgIGZyb20gLi4vLi4vZ2l0L3NyYy9wdHJhY2UvX1VQVF9yZWdfb2Zmc2V0LmM6Mjc6Ci0vbW50L29lL29wZW5lbWJlZGRlZC1jb3JlL2J1aWxkL3RtcC1tdXNsL3N5c3Jvb3RzL3FlbXVwcGMvdXNyL2luY2x1ZGUvYml0cy91c2VyLmg6MTo4OiBub3RlOiBvcmlnaW5hbGx5IGRlZmluZWQgaGVyZQotIHN0cnVjdCBwdF9yZWdzIHsKLSAgICAgICAgXn5+fn5+fgotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotIHNyYy9wcGMzMi9HaW5pdC5jICAgICAgICAgICAgfCAgIDYgKy0KLSBzcmMvcHBjMzIvdWNvbnRleHRfaS5oICAgICAgIHwgMTU4ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBzcmMvcHRyYWNlL19VUFRfcmVnX29mZnNldC5jIHwgICA3ICsrCi0gMyBmaWxlcyBjaGFuZ2VkLCA5MiBpbnNlcnRpb25zKCspLCA3OSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9wcGMzMi9HaW5pdC5jIGIvc3JjL3BwYzMyL0dpbml0LmMKLWluZGV4IGYyZTZlODIuLjYxN2FhYTEgMTAwNjQ0Ci0tLS0gYS9zcmMvcHBjMzIvR2luaXQuYwotKysrIGIvc3JjL3BwYzMyL0dpbml0LmMKLUBAIC00OCwxMiArNDgsMTIgQEAgdWNfYWRkciAodWNvbnRleHRfdCAqdWMsIGludCByZWcpCi0gICB2b2lkICphZGRyOwotIAotICAgaWYgKCh1bnNpZ25lZCkgKHJlZyAtIFVOV19QUEMzMl9SMCkgPCAzMikKLS0gICAgYWRkciA9ICZ1Yy0+dWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbcmVnIC0gVU5XX1BQQzMyX1IwXTsKLSsgICAgYWRkciA9ICZ1Yy0+R0VUX1VDX1JFR1MtPmdyZWdzW3JlZyAtIFVOV19QUEMzMl9SMF07Ci0gCi0gICBlbHNlCi0gICBpZiAoICgodW5zaWduZWQpIChyZWcgLSBVTldfUFBDMzJfRjApIDwgMzIpICYmCi0gICAgICAgICgodW5zaWduZWQpIChyZWcgLSBVTldfUFBDMzJfRjApID49IDApICkKLS0gICAgYWRkciA9ICZ1Yy0+dWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1tyZWcgLSBVTldfUFBDMzJfRjBdOwotKyAgICBhZGRyID0gJnVjLT5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1tyZWcgLSBVTldfUFBDMzJfRjBdOwotIAotICAgZWxzZQotICAgICB7Ci1AQCAtNzYsNyArNzYsNyBAQCB1Y19hZGRyICh1Y29udGV4dF90ICp1YywgaW50IHJlZykKLSAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICAgfQotLSAgICAgIGFkZHIgPSAmdWMtPnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzW2dyZWdzX2lkeF07Ci0rICAgICAgYWRkciA9ICZ1Yy0+R0VUX1VDX1JFR1MtPmdyZWdzW2dyZWdzX2lkeF07Ci0gICAgIH0KLSAgIHJldHVybiBhZGRyOwotIH0KLWRpZmYgLS1naXQgYS9zcmMvcHBjMzIvdWNvbnRleHRfaS5oIGIvc3JjL3BwYzMyL3Vjb250ZXh0X2kuaAotaW5kZXggYzZiYTgwNi4uYjc5ZjE1YyAxMDA2NDQKLS0tLSBhL3NyYy9wcGMzMi91Y29udGV4dF9pLmgKLSsrKyBiL3NyYy9wcGMzMi91Y29udGV4dF9pLmgKLUBAIC00Niw4MyArNDYsODkgQEAgV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuICAqLwotICAgIHZhcmlvdXMgc3RydWN0dXJlIG1lbWJlcnMuICovCi0gc3RhdGljIHVjb250ZXh0X3QgZG15X2N0eHQgVU5VU0VEOwotIAotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjAgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzBdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1syXSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjMgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzNdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SNCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbNF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1I1ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1s1XSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjYgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzZdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SNyAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbN10gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1I4ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1s4XSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjkgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzldIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTAgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzEwXSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjExICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1sxMV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxMiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMTJdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTMgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzEzXSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjE0ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1sxNF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxNSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMTVdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTYgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzE2XSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjE3ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1sxN10gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxOCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMThdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTkgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzE5XSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjIwICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1syMF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyMSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMjFdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjIgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzIyXSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjIzICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1syM10gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyNCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMjRdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjUgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzI1XSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjI2ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1syNl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyNyAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMjddIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjggKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzI4XSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjI5ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1syOV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IzMCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMzBdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMzEgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzMxXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNpZmRlZiBfX0dMSUJDX18KLSsjZGVmaW5lIEdFVF9VQ19SRUdTIHVjX21jb250ZXh0LnVjX3JlZ3MKLSsjZWxzZQotKyNkZWZpbmUgR0VUX1VDX1JFR1MgdWNfcmVncwotKyNlbmRpZgotKwotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjAgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1swXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjEgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1sxXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjIgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1syXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjMgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1szXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjQgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1s0XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjUgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1s1XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjYgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1s2XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjcgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1s3XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjggKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1s4XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjkgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1s5XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjEwICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMTBdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTEgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1sxMV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxMiAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzEyXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjEzICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMTNdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTQgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1sxNF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxNSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzE1XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjE2ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMTZdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTcgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1sxN10gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxOCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzE4XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjE5ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMTldIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjAgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1syMF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyMSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzIxXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjIyICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMjJdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjMgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1syM10gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyNCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzI0XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjI1ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMjVdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjYgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1syNl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyNyAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzI3XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjI4ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMjhdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjkgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1syOV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IzMCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzMwXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjMxICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMzFdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0gCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19NU1IgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzW01TUl9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19PUklHX0dQUjMgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzW09SSUdfR1BSM19JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19DVFIgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzW0NUUl9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19MSU5LICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1tMSU5LX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1hFUiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbWEVSX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX0NDUiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbQ0NSX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1NPRlRFICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1tTT0ZURV9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19UUkFQICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1tUUkFQX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX0RBUiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbREFSX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX0RTSVNSICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1tEU0lTUl9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SRVNVTFQgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzW1JFU1VMVF9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19NU1IgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1tNU1JfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfT1JJR19HUFIzICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbT1JJR19HUFIzX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX0NUUiAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzW0NUUl9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19MSU5LICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbTElOS19JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19YRVIgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1tYRVJfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfQ0NSICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbQ0NSX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1NPRlRFICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbU09GVEVfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfVFJBUCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzW1RSQVBfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfREFSICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbREFSX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX0RTSVNSICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbRFNJU1JfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUkVTVUxUICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbUkVTVUxUX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSAKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IwICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5mcHJlZ3MuZnByZWdzWzBdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1sxXSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjIgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IzICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5mcHJlZ3MuZnByZWdzWzNdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SNCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1s0XSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjUgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbNV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1I2ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5mcHJlZ3MuZnByZWdzWzZdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SNyAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1s3XSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjggKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbOF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1I5ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5mcHJlZ3MuZnByZWdzWzldIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTAgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTBdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTEgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTFdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTIgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTJdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTMgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTNdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTQgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTRdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTUgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTVdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTYgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTZdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTcgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTddIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTggKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMThdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTkgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTldIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjAgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjBdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjEgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjFdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjIgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjJdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjMgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjNdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjQgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjRdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjUgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjVdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjYgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjZdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjcgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjddIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjggKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjhdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjkgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjldIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMzAgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMzBdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMzEgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMzFdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19GUFNDUiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1szMl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IwICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1swXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjEgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzFdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMiAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IzICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1szXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjQgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzRdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SNSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbNV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1I2ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1s2XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjcgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzddIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SOCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbOF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1I5ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1s5XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjEwICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1sxMF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxMSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMTFdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTIgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzEyXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjEzICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1sxM10gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxNCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMTRdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTUgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzE1XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjE2ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1sxNl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxNyAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMTddIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTggKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzE4XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjE5ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1sxOV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyMCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMjBdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjEgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzIxXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjIyICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1syMl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyMyAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMjNdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjQgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzI0XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjI1ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1syNV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyNiAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMjZdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjcgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzI3XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjI4ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1syOF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyOSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMjldIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMzAgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzMwXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjMxICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1szMV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX0ZQU0NSICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1szMl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSAKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9zcmMvcHRyYWNlL19VUFRfcmVnX29mZnNldC5jIGIvc3JjL3B0cmFjZS9fVVBUX3JlZ19vZmZzZXQuYwotaW5kZXggNjg0NjFhMi4uZmNjNDNmNyAxMDA2NDQKLS0tLSBhL3NyYy9wdHJhY2UvX1VQVF9yZWdfb2Zmc2V0LmMKLSsrKyBiL3NyYy9wdHJhY2UvX1VQVF9yZWdfb2Zmc2V0LmMKLUBAIC0yNyw2ICsyNywxMyBAQCBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4gICovCi0gI2luY2x1ZGUgIl9VUFRfaW50ZXJuYWwuaCIKLSAKLSAjaW5jbHVkZSA8c3RkZGVmLmg+Ci0rI2lmICFkZWZpbmVkKF9fR0xJQkNfXykKLSsjIGRlZmluZSBwdF9yZWdzIHVhcGlfcHRfcmVncwotKyNlbmRpZgotKyNpbmNsdWRlIDxhc20vcHRyYWNlLmg+Ci0rI2lmICFkZWZpbmVkKF9fR0xJQkNfXykKLSsjIHVuZGVmIHB0X3JlZ3MKLSsjZW5kaWYKLSAKLSAjaWZkZWYgSEFWRV9BU01fUFRSQUNFX09GRlNFVFNfSAotICMgaW5jbHVkZSA8YXNtL3B0cmFjZV9vZmZzZXRzLmg+Ci0tLSAKLTEuOC4zLjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kLzAwMDEteDg2LVN0dWItb3V0LXg4Nl9sb2NhbF9yZXN1bWUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwMS14ODYtU3R1Yi1vdXQteDg2X2xvY2FsX3Jlc3VtZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzcxMDEzYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwMS14ODYtU3R1Yi1vdXQteDg2X2xvY2FsX3Jlc3VtZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLUZyb20gZjVkZjAxNjU1YTRiNzZkNGZlNDE1NzQ3ZGU1ODFkOTRhYzU5M2U2YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDIyIE1hciAyMDE2IDE2OjE5OjI5ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIHg4NjogU3R1YiBvdXQgeDg2X2xvY2FsX3Jlc3VtZSgpCi0KLWl0cyBwdXJwb3NlIHNlZW1zCi10byBiZSB1bndpbmRpbmcgYWNyb3NzIHNpZ25hbCBoYW5kbGVyIGJvdW5kYXJpZXMsIHdoaWNoIGNhbm5vdCBoYXBwZW4KLWluIGNvcnJlY3QgcHJvZ3JhbXMgYW55d2F5LiBSZXBsYWNpbmcgdGhlIHdob2xlIGZ1bmN0aW9uIHdpdGgKLXNvbWV0aGluZyBsaWtlICoodm9sYXRpbGUgY2hhciAqKTA9MDsgKGkuZS4gY3Jhc2gpLCBnZXRzIGEgd29ya2luZwotbGlidW53aW5kCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0gc3JjL3g4Ni9Hb3MtbGludXguYyB8IDIyICstLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDIxIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3g4Ni9Hb3MtbGludXguYyBiL3NyYy94ODYvR29zLWxpbnV4LmMKLWluZGV4IDMxZjgzYmEuLjNhYWEzNGUgMTAwNjQ0Ci0tLS0gYS9zcmMveDg2L0dvcy1saW51eC5jCi0rKysgYi9zcmMveDg2L0dvcy1saW51eC5jCi1AQCAtMjgxLDI3ICsyODEsNyBAQCB4ODZfcl91Y19hZGRyICh1Y29udGV4dF90ICp1YywgaW50IHJlZykKLSBISURERU4gaW50Ci0geDg2X2xvY2FsX3Jlc3VtZSAodW53X2FkZHJfc3BhY2VfdCBhcywgdW53X2N1cnNvcl90ICpjdXJzb3IsIHZvaWQgKmFyZykKLSB7Ci0tICBzdHJ1Y3QgY3Vyc29yICpjID0gKHN0cnVjdCBjdXJzb3IgKikgY3Vyc29yOwotLSAgdWNvbnRleHRfdCAqdWMgPSBjLT51YzsKLS0KLS0gIC8qIEVuc3VyZSBjLT5waSBpcyB1cC10by1kYXRlLiAgT24geDg2LCBpdCdzIHJlbGF0aXZlbHkgY29tbW9uIHRvIGJlCi0tICAgICBtaXNzaW5nIERXQVJGIHVud2luZCBpbmZvLiAgV2UgZG9uJ3Qgd2FudCB0byBmYWlsIGluIHRoYXQgY2FzZSwKLS0gICAgIGJlY2F1c2UgdGhlIGZyYW1lLWNoYWluIHN0aWxsIHdvdWxkIGxldCB1cyBkbyBhIGJhY2t0cmFjZSBhdAotLSAgICAgbGVhc3QuICAqLwotLSAgZHdhcmZfbWFrZV9wcm9jX2luZm8gKCZjLT5kd2FyZik7Ci0tCi0tICBpZiAodW5saWtlbHkgKGMtPnNpZ2NvbnRleHRfZm9ybWF0ICE9IFg4Nl9TQ0ZfTk9ORSkpCi0tICAgIHsKLS0gICAgICBzdHJ1Y3Qgc2lnY29udGV4dCAqc2MgPSAoc3RydWN0IHNpZ2NvbnRleHQgKikgYy0+c2lnY29udGV4dF9hZGRyOwotLQotLSAgICAgIERlYnVnICg4LCAicmVzdW1pbmcgYXQgaXA9JXggdmlhIHNpZ3JldHVybiglcClcbiIsIGMtPmR3YXJmLmlwLCBzYyk7Ci0tICAgICAgc2lncmV0dXJuIChzYyk7Ci0tICAgIH0KLS0gIGVsc2UKLS0gICAgewotLSAgICAgIERlYnVnICg4LCAicmVzdW1pbmcgYXQgaXA9JXggdmlhIHNldGNvbnRleHQoKVxuIiwgYy0+ZHdhcmYuaXApOwotLSAgICAgIHNldGNvbnRleHQgKHVjKTsKLS0gICAgfQotKyAgKih2b2xhdGlsZSBjaGFyICopMD0wOwotICAgcmV0dXJuIC1VTldfRUlOVkFMOwotIH0KLSAjZW5kaWYKLS0tIAotMS44LjMuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwMi1iYWNrdHJhY2UtVXNlLW9ubHktd2l0aC1nbGliYy1hbmQtdWNsaWJjLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kLzAwMDItYmFja3RyYWNlLVVzZS1vbmx5LXdpdGgtZ2xpYmMtYW5kLXVjbGliYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjg2MmRjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kLzAwMDItYmFja3RyYWNlLVVzZS1vbmx5LXdpdGgtZ2xpYmMtYW5kLXVjbGliYy5wYXRjaApAQCAtMCwwICsxLDQ1IEBACitGcm9tIGI2MTQ0NmFkZDdhZTFjMDQxMjY2YzJmYTViYTJmNTFjYjNiNjVkMzUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVGh1LCAzMSBEZWMgMjAxNSAwNjo0NDowNyArMDAwMAorU3ViamVjdDogW1BBVENIIDIvNl0gYmFja3RyYWNlOiBVc2Ugb25seSB3aXRoIGdsaWJjIGFuZCB1Y2xpYmMKKworYmFja3RyYWNlIEFQSSBpcyBnbGliYyBzcGVjaWZpYyBub3QgbGludXggc3BlY2lmaWMKK3NvIG1ha2UgaXQgYmVoYXZlIHNvLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIHRlc3RzL3Rlc3QtY29yZWR1bXAtdW53aW5kLmMgfCA0ICsrKy0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS90ZXN0cy90ZXN0LWNvcmVkdW1wLXVud2luZC5jIGIvdGVzdHMvdGVzdC1jb3JlZHVtcC11bndpbmQuYworaW5kZXggNTM0OTgyMy4uM2IxNTNjYiAxMDA2NDQKKy0tLSBhL3Rlc3RzL3Rlc3QtY29yZWR1bXAtdW53aW5kLmMKKysrKyBiL3Rlc3RzL3Rlc3QtY29yZWR1bXAtdW53aW5kLmMKK0BAIC01Nyw3ICs1Nyw5IEBACisgI2luY2x1ZGUgPGdycC5oPgorIAorIC8qIEZvciBTSUdTRUdWIGhhbmRsZXIgY29kZSAqLworKyNpZmRlZiBfX0dMSUJDX18KKyAjaW5jbHVkZSA8ZXhlY2luZm8uaD4KKysjZW5kaWYKKyAjaW5jbHVkZSA8c3lzL3Vjb250ZXh0Lmg+CisgCisgI2luY2x1ZGUgPGxpYnVud2luZC1jb3JlZHVtcC5oPgorQEAgLTIzOCwxMSArMjQwLDExIEBAIHZvaWQgaGFuZGxlX3NpZ3NlZ3YoaW50IHNpZywgc2lnaW5mb190ICppbmZvLCB2b2lkICp1Y29udGV4dCkKKyAJCQlpcCk7CisgCisgICB7CisrI2lmZGVmIF9fR0xJQkNfXworICAgICAvKiBnbGliYyBleHRlbnNpb24gKi8KKyAgICAgdm9pZCAqYXJyYXlbNTBdOworICAgICBpbnQgc2l6ZTsKKyAgICAgc2l6ZSA9IGJhY2t0cmFjZShhcnJheSwgNTApOworLSNpZmRlZiBfX2xpbnV4X18KKyAgICAgYmFja3RyYWNlX3N5bWJvbHNfZmQoYXJyYXksIHNpemUsIDIpOworICNlbmRpZgorICAgfQorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kLzAwMDMteDg2LVN0dWItb3V0LXg4Nl9sb2NhbF9yZXN1bWUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwMy14ODYtU3R1Yi1vdXQteDg2X2xvY2FsX3Jlc3VtZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MDhlZDZhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kLzAwMDMteDg2LVN0dWItb3V0LXg4Nl9sb2NhbF9yZXN1bWUucGF0Y2gKQEAgLTAsMCArMSw1NCBAQAorRnJvbSBmNjg2NmI5ZTRhNjM0MWM1MGViMWQ5MjNkYmY0OGVjYTJjYTQwMTQwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMjIgTWFyIDIwMTYgMTY6MTk6MjkgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCAzLzZdIHg4NjogU3R1YiBvdXQgeDg2X2xvY2FsX3Jlc3VtZSgpCisKK2l0cyBwdXJwb3NlIHNlZW1zCit0byBiZSB1bndpbmRpbmcgYWNyb3NzIHNpZ25hbCBoYW5kbGVyIGJvdW5kYXJpZXMsIHdoaWNoIGNhbm5vdCBoYXBwZW4KK2luIGNvcnJlY3QgcHJvZ3JhbXMgYW55d2F5LiBSZXBsYWNpbmcgdGhlIHdob2xlIGZ1bmN0aW9uIHdpdGgKK3NvbWV0aGluZyBsaWtlICoodm9sYXRpbGUgY2hhciAqKTA9MDsgKGkuZS4gY3Jhc2gpLCBnZXRzIGEgd29ya2luZworbGlidW53aW5kCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworLS0tCisgc3JjL3g4Ni9Hb3MtbGludXguYyB8IDIyICstLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDIxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL3g4Ni9Hb3MtbGludXguYyBiL3NyYy94ODYvR29zLWxpbnV4LmMKK2luZGV4IGZiOWE1ZTMuLmMyNWFlMGMgMTAwNjQ0CistLS0gYS9zcmMveDg2L0dvcy1saW51eC5jCisrKysgYi9zcmMveDg2L0dvcy1saW51eC5jCitAQCAtMjg0LDI3ICsyODQsNyBAQCB4ODZfcl91Y19hZGRyICh1Y29udGV4dF90ICp1YywgaW50IHJlZykKKyBISURERU4gaW50CisgeDg2X2xvY2FsX3Jlc3VtZSAodW53X2FkZHJfc3BhY2VfdCBhcywgdW53X2N1cnNvcl90ICpjdXJzb3IsIHZvaWQgKmFyZykKKyB7CistICBzdHJ1Y3QgY3Vyc29yICpjID0gKHN0cnVjdCBjdXJzb3IgKikgY3Vyc29yOworLSAgdWNvbnRleHRfdCAqdWMgPSBjLT51YzsKKy0KKy0gIC8qIEVuc3VyZSBjLT5waSBpcyB1cC10by1kYXRlLiAgT24geDg2LCBpdCdzIHJlbGF0aXZlbHkgY29tbW9uIHRvIGJlCistICAgICBtaXNzaW5nIERXQVJGIHVud2luZCBpbmZvLiAgV2UgZG9uJ3Qgd2FudCB0byBmYWlsIGluIHRoYXQgY2FzZSwKKy0gICAgIGJlY2F1c2UgdGhlIGZyYW1lLWNoYWluIHN0aWxsIHdvdWxkIGxldCB1cyBkbyBhIGJhY2t0cmFjZSBhdAorLSAgICAgbGVhc3QuICAqLworLSAgZHdhcmZfbWFrZV9wcm9jX2luZm8gKCZjLT5kd2FyZik7CistCistICBpZiAodW5saWtlbHkgKGMtPnNpZ2NvbnRleHRfZm9ybWF0ICE9IFg4Nl9TQ0ZfTk9ORSkpCistICAgIHsKKy0gICAgICBzdHJ1Y3Qgc2lnY29udGV4dCAqc2MgPSAoc3RydWN0IHNpZ2NvbnRleHQgKikgYy0+c2lnY29udGV4dF9hZGRyOworLQorLSAgICAgIERlYnVnICg4LCAicmVzdW1pbmcgYXQgaXA9JXggdmlhIHNpZ3JldHVybiglcClcbiIsIGMtPmR3YXJmLmlwLCBzYyk7CistICAgICAgeDg2X3NpZ3JldHVybiAoc2MpOworLSAgICB9CistICBlbHNlCistICAgIHsKKy0gICAgICBEZWJ1ZyAoOCwgInJlc3VtaW5nIGF0IGlwPSV4IHZpYSBzZXRjb250ZXh0KClcbiIsIGMtPmR3YXJmLmlwKTsKKy0gICAgICBzZXRjb250ZXh0ICh1Yyk7CistICAgIH0KKysgICoodm9sYXRpbGUgY2hhciAqKTA9MDsKKyAgIHJldHVybiAtVU5XX0VJTlZBTDsKKyB9CisgCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwNC1GaXgtYnVpbGQtb24tbWlwcy1tdXNsLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kLzAwMDQtRml4LWJ1aWxkLW9uLW1pcHMtbXVzbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjRkMGUwCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kLzAwMDQtRml4LWJ1aWxkLW9uLW1pcHMtbXVzbC5wYXRjaApAQCAtMCwwICsxLDg0IEBACitGcm9tIDZiZGFiNWNjOGYxZTJlYzVmODRmYzlmNTlmMTY5OWE3MjY5ODA3MDkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogV2VkLCAyMyBNYXIgMjAxNiAwNjowODo1OSArMDAwMAorU3ViamVjdDogW1BBVENIIDQvNl0gRml4IGJ1aWxkIG9uIG1pcHMvbXVzbAorCitEbyBub3QgaW5jbHVkZSBlbmRpYW4uaCBvbiBtdXNsIGl0IGluY2x1ZGVzCitmdXJ0aGVyIGhlYWRlcnMgd2hpY2ggY2FuIG5vdCBiZSBjb21waWxlZCBpbiBfX0FTU0VNQkxFUl9fCisgbW9kZQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKKy0tLQorIHNyYy9jb3JlZHVtcC9fVUNEX2ludGVybmFsLmggfCAzNSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIHNyYy9taXBzL2dldGNvbnRleHQuUyAgICAgICAgfCAgMyArLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvY29yZWR1bXAvX1VDRF9pbnRlcm5hbC5oIGIvc3JjL2NvcmVkdW1wL19VQ0RfaW50ZXJuYWwuaAoraW5kZXggM2M5NWEyYS4uMjFlZDFjMyAxMDA2NDQKKy0tLSBhL3NyYy9jb3JlZHVtcC9fVUNEX2ludGVybmFsLmgKKysrKyBiL3NyYy9jb3JlZHVtcC9fVUNEX2ludGVybmFsLmgKK0BAIC00NCw2ICs0NCw0MSBAQCBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4gICovCisgCisgI2luY2x1ZGUgImxpYnVud2luZF9pLmgiCisgCisrI2lmbmRlZiBfX0dMSUJDX18KKysjaW5jbHVkZSA8c3lzL3JlZy5oPgorKworKyNkZWZpbmUgRUZfUkVHMAkJCTYKKysjZGVmaW5lIEVGX1JFRzEJCQk3CisrI2RlZmluZSBFRl9SRUcyCQkJOAorKyNkZWZpbmUgRUZfUkVHMwkJCTkKKysjZGVmaW5lIEVGX1JFRzQJCQkxMAorKyNkZWZpbmUgRUZfUkVHNQkJCTExCisrI2RlZmluZSBFRl9SRUc2CQkJMTIKKysjZGVmaW5lIEVGX1JFRzcJCQkxMworKyNkZWZpbmUgRUZfUkVHOAkJCTE0CisrI2RlZmluZSBFRl9SRUc5CQkJMTUKKysjZGVmaW5lIEVGX1JFRzEwCQkxNgorKyNkZWZpbmUgRUZfUkVHMTEJCTE3CisrI2RlZmluZSBFRl9SRUcxMgkJMTgKKysjZGVmaW5lIEVGX1JFRzEzCQkxOQorKyNkZWZpbmUgRUZfUkVHMTQJCTIwCisrI2RlZmluZSBFRl9SRUcxNQkJMjEKKysjZGVmaW5lIEVGX1JFRzE2CQkyMgorKyNkZWZpbmUgRUZfUkVHMTcJCTIzCisrI2RlZmluZSBFRl9SRUcxOAkJMjQKKysjZGVmaW5lIEVGX1JFRzE5CQkyNQorKyNkZWZpbmUgRUZfUkVHMjAJCTI2CisrI2RlZmluZSBFRl9SRUcyMQkJMjcKKysjZGVmaW5lIEVGX1JFRzIyCQkyOAorKyNkZWZpbmUgRUZfUkVHMjMJCTI5CisrI2RlZmluZSBFRl9SRUcyNAkJMzAKKysjZGVmaW5lIEVGX1JFRzI1CQkzMQorKyNkZWZpbmUgRUZfUkVHMjgJCTM0CisrI2RlZmluZSBFRl9SRUcyOQkJMzUKKysjZGVmaW5lIEVGX1JFRzMwCQkzNgorKyNkZWZpbmUgRUZfUkVHMzEJCTM3CisrI2VuZGlmCisrCisgCisgI2lmIFNJWkVPRl9PRkZfVCA9PSA0CisgdHlwZWRlZiB1aW50MzJfdCB1b2ZmX3Q7CitkaWZmIC0tZ2l0IGEvc3JjL21pcHMvZ2V0Y29udGV4dC5TIGIvc3JjL21pcHMvZ2V0Y29udGV4dC5TCitpbmRleCBkMWRiZDU3Li5kZTliNjgxIDEwMDY0NAorLS0tIGEvc3JjL21pcHMvZ2V0Y29udGV4dC5TCisrKysgYi9zcmMvbWlwcy9nZXRjb250ZXh0LlMKK0BAIC0yNCwxMiArMjQsMTEgQEAgT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OCisgV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuICAqLworIAorICNpbmNsdWRlICJvZmZzZXRzLmgiCistI2luY2x1ZGUgPGVuZGlhbi5oPgorIAorIAkudGV4dAorIAorICNpZiBfTUlQU19TSU0gPT0gX0FCSU8zMgorLSMgaWYgX19CWVRFX09SREVSID09IF9fQklHX0VORElBTgorKyMgaWYgX19CWVRFX09SREVSX18gPT0gX19PUkRFUl9CSUdfRU5ESUFOX18KKyAjICBkZWZpbmUgT0ZGU0VUIDQKKyAjIGVsc2UKKyAjICBkZWZpbmUgT0ZGU0VUIDAKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDA1LXBwYzMyLUNvbnNpZGVyLXVjb250ZXh0LW1pc21hdGNoZXMtYmV0d2Vlbi1nbGliYy1hbmQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwNS1wcGMzMi1Db25zaWRlci11Y29udGV4dC1taXNtYXRjaGVzLWJldHdlZW4tZ2xpYmMtYW5kLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkYWE4MjIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwNS1wcGMzMi1Db25zaWRlci11Y29udGV4dC1taXNtYXRjaGVzLWJldHdlZW4tZ2xpYmMtYW5kLnBhdGNoCkBAIC0wLDAgKzEsMjQ5IEBACitGcm9tIDAyOTE5ZDc0YjE1OTk5Nzk4ODRmOWNlZTQ2NmVkMzkyZDlmYzQ4MTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogU2F0LCA5IEp1bCAyMDE2IDAxOjA3OjUzICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggNS82XSBwcGMzMjogQ29uc2lkZXIgdWNvbnRleHQgbWlzbWF0Y2hlcyBiZXR3ZWVuIGdsaWJjIGFuZAorIG11c2wKKworVGhpcyBoZWxwcyBpbiBwb3J0aW5nIGxpYnVud2luZCBvbnRvIG11c2wgYmFzZWQgc3lzdGVtcworcHRyYWNlLmggY2hhbmdlIGlzIHJlcXVpcmVkIGFnYWluIGFuIGVycm9yIHRoYXQgc3VyZmFjZXMKK3dpdGggbXVzbAorCisvbW50L29lL29wZW5lbWJlZGRlZC1jb3JlL2J1aWxkL3RtcC1tdXNsL3N5c3Jvb3RzL3FlbXVwcGMvdXNyL2luY2x1ZGUvYXNtL3B0cmFjZS5oOjMxOjg6IGVycm9yOiByZWRlZmluaXRpb24gb2YgJ3N0cnVjdCBwdF9yZWdzJworIHN0cnVjdCBwdF9yZWdzIHsKKyAgICAgICAgXn5+fn5+fgorSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9tbnQvb2Uvb3BlbmVtYmVkZGVkLWNvcmUvYnVpbGQvdG1wLW11c2wvc3lzcm9vdHMvcWVtdXBwYy91c3IvaW5jbHVkZS9zeXMvdXNlci5oOjExOjAsCisgICAgICAgICAgICAgICAgIGZyb20gL21udC9vZS9vcGVuZW1iZWRkZWQtY29yZS9idWlsZC90bXAtbXVzbC9zeXNyb290cy9xZW11cHBjL3Vzci9pbmNsdWRlL3N5cy9wcm9jZnMuaDo5LAorICAgICAgICAgICAgICAgICBmcm9tIC4uLy4uL2dpdC9zcmMvcHRyYWNlL19VUFRfaW50ZXJuYWwuaDo0MCwKKyAgICAgICAgICAgICAgICAgZnJvbSAuLi8uLi9naXQvc3JjL3B0cmFjZS9fVVBUX3JlZ19vZmZzZXQuYzoyNzoKKy9tbnQvb2Uvb3BlbmVtYmVkZGVkLWNvcmUvYnVpbGQvdG1wLW11c2wvc3lzcm9vdHMvcWVtdXBwYy91c3IvaW5jbHVkZS9iaXRzL3VzZXIuaDoxOjg6IG5vdGU6IG9yaWdpbmFsbHkgZGVmaW5lZCBoZXJlCisgc3RydWN0IHB0X3JlZ3MgeworICAgICAgICBefn5+fn5+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworLS0tCisgc3JjL3BwYzMyL0dpbml0LmMgICAgICAgICAgICB8ICAgNiArLQorIHNyYy9wcGMzMi91Y29udGV4dF9pLmggICAgICAgfCAxNTggKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0KKyBzcmMvcHRyYWNlL19VUFRfcmVnX29mZnNldC5jIHwgICA3ICsrCisgMyBmaWxlcyBjaGFuZ2VkLCA5MiBpbnNlcnRpb25zKCspLCA3OSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9wcGMzMi9HaW5pdC5jIGIvc3JjL3BwYzMyL0dpbml0LmMKK2luZGV4IGJhMzAyNDQuLmM1MzEyZDkgMTAwNjQ0CistLS0gYS9zcmMvcHBjMzIvR2luaXQuYworKysrIGIvc3JjL3BwYzMyL0dpbml0LmMKK0BAIC00OCwxMiArNDgsMTIgQEAgdWNfYWRkciAodWNvbnRleHRfdCAqdWMsIGludCByZWcpCisgICB2b2lkICphZGRyOworIAorICAgaWYgKCh1bnNpZ25lZCkgKHJlZyAtIFVOV19QUEMzMl9SMCkgPCAzMikKKy0gICAgYWRkciA9ICZ1Yy0+dWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbcmVnIC0gVU5XX1BQQzMyX1IwXTsKKysgICAgYWRkciA9ICZ1Yy0+R0VUX1VDX1JFR1MtPmdyZWdzW3JlZyAtIFVOV19QUEMzMl9SMF07CisgCisgICBlbHNlCisgICBpZiAoICgodW5zaWduZWQpIChyZWcgLSBVTldfUFBDMzJfRjApIDwgMzIpICYmCisgICAgICAgICgodW5zaWduZWQpIChyZWcgLSBVTldfUFBDMzJfRjApID49IDApICkKKy0gICAgYWRkciA9ICZ1Yy0+dWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1tyZWcgLSBVTldfUFBDMzJfRjBdOworKyAgICBhZGRyID0gJnVjLT5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1tyZWcgLSBVTldfUFBDMzJfRjBdOworIAorICAgZWxzZQorICAgICB7CitAQCAtNzYsNyArNzYsNyBAQCB1Y19hZGRyICh1Y29udGV4dF90ICp1YywgaW50IHJlZykKKyAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgfQorLSAgICAgIGFkZHIgPSAmdWMtPnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzW2dyZWdzX2lkeF07CisrICAgICAgYWRkciA9ICZ1Yy0+R0VUX1VDX1JFR1MtPmdyZWdzW2dyZWdzX2lkeF07CisgICAgIH0KKyAgIHJldHVybiBhZGRyOworIH0KK2RpZmYgLS1naXQgYS9zcmMvcHBjMzIvdWNvbnRleHRfaS5oIGIvc3JjL3BwYzMyL3Vjb250ZXh0X2kuaAoraW5kZXggYzZiYTgwNi4uYjc5ZjE1YyAxMDA2NDQKKy0tLSBhL3NyYy9wcGMzMi91Y29udGV4dF9pLmgKKysrKyBiL3NyYy9wcGMzMi91Y29udGV4dF9pLmgKK0BAIC00Niw4MyArNDYsODkgQEAgV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuICAqLworICAgIHZhcmlvdXMgc3RydWN0dXJlIG1lbWJlcnMuICovCisgc3RhdGljIHVjb250ZXh0X3QgZG15X2N0eHQgVU5VU0VEOworIAorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjAgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzBdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1syXSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjMgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzNdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SNCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbNF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1I1ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1s1XSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjYgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzZdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SNyAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbN10gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1I4ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1s4XSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjkgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzldIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTAgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzEwXSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjExICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1sxMV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxMiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMTJdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTMgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzEzXSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjE0ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1sxNF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxNSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMTVdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTYgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzE2XSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjE3ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1sxN10gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxOCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMThdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTkgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzE5XSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjIwICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1syMF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyMSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMjFdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjIgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzIyXSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjIzICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1syM10gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyNCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMjRdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjUgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzI1XSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjI2ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1syNl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyNyAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMjddIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjggKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzI4XSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjI5ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1syOV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IzMCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMzBdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMzEgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzMxXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNpZmRlZiBfX0dMSUJDX18KKysjZGVmaW5lIEdFVF9VQ19SRUdTIHVjX21jb250ZXh0LnVjX3JlZ3MKKysjZWxzZQorKyNkZWZpbmUgR0VUX1VDX1JFR1MgdWNfcmVncworKyNlbmRpZgorKworKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjAgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1swXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjEgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1sxXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjIgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1syXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjMgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1szXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjQgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1s0XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjUgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1s1XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjYgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1s2XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjcgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1s3XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjggKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1s4XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjkgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1s5XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjEwICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMTBdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTEgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1sxMV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxMiAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzEyXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjEzICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMTNdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTQgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1sxNF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxNSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzE1XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjE2ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMTZdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTcgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1sxN10gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxOCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzE4XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjE5ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMTldIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjAgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1syMF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyMSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzIxXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjIyICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMjJdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjMgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1syM10gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyNCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzI0XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjI1ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMjVdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjYgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1syNl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyNyAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzI3XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjI4ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMjhdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjkgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1syOV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IzMCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzMwXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjMxICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMzFdIC0gKHZvaWQgKikmZG15X2N0eHQpCisgCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19NU1IgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzW01TUl9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19PUklHX0dQUjMgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzW09SSUdfR1BSM19JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19DVFIgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzW0NUUl9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19MSU5LICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1tMSU5LX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1hFUiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbWEVSX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX0NDUiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbQ0NSX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1NPRlRFICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1tTT0ZURV9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19UUkFQICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1tUUkFQX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX0RBUiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbREFSX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX0RTSVNSICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1tEU0lTUl9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SRVNVTFQgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzW1JFU1VMVF9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19NU1IgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1tNU1JfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfT1JJR19HUFIzICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbT1JJR19HUFIzX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX0NUUiAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzW0NUUl9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19MSU5LICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbTElOS19JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19YRVIgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1tYRVJfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfQ0NSICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbQ0NSX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1NPRlRFICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbU09GVEVfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfVFJBUCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzW1RSQVBfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfREFSICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbREFSX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX0RTSVNSICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbRFNJU1JfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUkVTVUxUICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbUkVTVUxUX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKyAKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IwICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5mcHJlZ3MuZnByZWdzWzBdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1sxXSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjIgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IzICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5mcHJlZ3MuZnByZWdzWzNdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SNCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1s0XSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjUgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbNV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1I2ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5mcHJlZ3MuZnByZWdzWzZdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SNyAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1s3XSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjggKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbOF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1I5ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5mcHJlZ3MuZnByZWdzWzldIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTAgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTBdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTEgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTFdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTIgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTJdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTMgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTNdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTQgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTRdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTUgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTVdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTYgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTZdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTcgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTddIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTggKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMThdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTkgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTldIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjAgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjBdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjEgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjFdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjIgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjJdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjMgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjNdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjQgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjRdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjUgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjVdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjYgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjZdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjcgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjddIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjggKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjhdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjkgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjldIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMzAgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMzBdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMzEgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMzFdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19GUFNDUiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1szMl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IwICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1swXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjEgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzFdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMiAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IzICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1szXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjQgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzRdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SNSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbNV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1I2ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1s2XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjcgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzddIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SOCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbOF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1I5ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1s5XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjEwICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1sxMF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxMSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMTFdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTIgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzEyXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjEzICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1sxM10gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxNCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMTRdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTUgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzE1XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjE2ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1sxNl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxNyAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMTddIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTggKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzE4XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjE5ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1sxOV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyMCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMjBdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjEgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzIxXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjIyICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1syMl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyMyAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMjNdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjQgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzI0XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjI1ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1syNV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyNiAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMjZdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjcgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzI3XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjI4ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1syOF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyOSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMjldIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMzAgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzMwXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjMxICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1szMV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX0ZQU0NSICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1szMl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKyAKKyAjZW5kaWYKK2RpZmYgLS1naXQgYS9zcmMvcHRyYWNlL19VUFRfcmVnX29mZnNldC5jIGIvc3JjL3B0cmFjZS9fVVBUX3JlZ19vZmZzZXQuYworaW5kZXggYzgyZDFjOS4uNmMzMWJhYSAxMDA2NDQKKy0tLSBhL3NyYy9wdHJhY2UvX1VQVF9yZWdfb2Zmc2V0LmMKKysrKyBiL3NyYy9wdHJhY2UvX1VQVF9yZWdfb2Zmc2V0LmMKK0BAIC0yNyw2ICsyNywxMyBAQCBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4gICovCisgI2luY2x1ZGUgIl9VUFRfaW50ZXJuYWwuaCIKKyAKKyAjaW5jbHVkZSA8c3RkZGVmLmg+CisrI2lmICFkZWZpbmVkKF9fR0xJQkNfXykKKysjIGRlZmluZSBwdF9yZWdzIHVhcGlfcHRfcmVncworKyNlbmRpZgorKyNpbmNsdWRlIDxhc20vcHRyYWNlLmg+CisrI2lmICFkZWZpbmVkKF9fR0xJQkNfXykKKysjIHVuZGVmIHB0X3JlZ3MKKysjZW5kaWYKKyAKKyAjaWZkZWYgSEFWRV9BU01fUFRSQUNFX09GRlNFVFNfSAorICMgaW5jbHVkZSA8YXNtL3B0cmFjZV9vZmZzZXRzLmg+CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwNi1GaXgtZm9yLVgzMi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDA2LUZpeC1mb3ItWDMyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3YWU4MTIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwNi1GaXgtZm9yLVgzMi5wYXRjaApAQCAtMCwwICsxLDMyIEBACitGcm9tIDdhNGZkNTkzM2NjNzk1ZGY4NWNkZDg1MTY4ZmU1NGZiYWVjNGRjZWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaHJpc3RvcGhlciBMYXJzb24gPGNocmlzX2xhcnNvbkBtZW50b3IuY29tPgorRGF0ZTogVHVlLCAxMyBEZWMgMjAxNiAwOTo1MDozNCAtMDcwMAorU3ViamVjdDogW1BBVENIIDYvNl0gRml4IGZvciBYMzIKKworQXBwbHkgcGF0Y2ggdG8gZml4IHRoZSBYMzIgYnVpbGQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vc2puZXdidXJ5L3gzMi4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGhlciBMYXJzb24gPGNocmlzX2xhcnNvbkBtZW50b3IuY29tPgorCistLS0KKyBzcmMveDg2XzY0L0dvcy1saW51eC5jIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy94ODZfNjQvR29zLWxpbnV4LmMgYi9zcmMveDg2XzY0L0dvcy1saW51eC5jCitpbmRleCBiZDE0MjM0Li5iZTFjYjViIDEwMDY0NAorLS0tIGEvc3JjL3g4Nl82NC9Hb3MtbGludXguYworKysrIGIvc3JjL3g4Nl82NC9Hb3MtbGludXguYworQEAgLTE0NSw4ICsxNDUsOCBAQCB4ODZfNjRfc2lncmV0dXJuICh1bndfY3Vyc29yX3QgKmN1cnNvcikKKyAKKyAgIERlYnVnICg4LCAicmVzdW1pbmcgYXQgaXA9JWxseCB2aWEgc2lncmV0dXJuKCVwKVxuIiwKKyAgICAgICAgICAgICAgKHVuc2lnbmVkIGxvbmcgbG9uZykgYy0+ZHdhcmYuaXAsIHNjKTsKKy0gIF9fYXNtX18gX192b2xhdGlsZV9fICgibW92ICUwLCAlJXJzcDsiCistICAgICAgICAgICAgICAgICAgICAgICAgIm1vdiAlMSwgJSVyYXg7IgorKyAgX19hc21fXyBfX3ZvbGF0aWxlX18gKCJtb3YgJXEwLCAlJXJzcDsiCisrICAgICAgICAgICAgICAgICAgICAgICAgIm1vdiAlcTEsICUlcmF4OyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAic3lzY2FsbCIKKyAgICAgICAgICAgICAgICAgICAgICAgICA6OiAiciIoc2MpLCAiaSIoU1lTX3J0X3NpZ3JldHVybikKKyAgICAgICAgICAgICAgICAgICAgICAgICA6ICJtZW1vcnkiKTsKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC9BZGQtQU9fUkVRVUlSRV9DQVMtdG8tZml4LWJ1aWxkLW9uLUFSTS12Ni5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC9BZGQtQU9fUkVRVUlSRV9DQVMtdG8tZml4LWJ1aWxkLW9uLUFSTS12Ni5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzhmYWNhNC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvQWRkLUFPX1JFUVVJUkVfQ0FTLXRvLWZpeC1idWlsZC1vbi1BUk0tdjYucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1OSArMCwwIEBACi1Gcm9tIDI0NDg0ZTgwYjNlMzI5YzllZGVlMTk5NWUxMDJmODYxMmVlZGI3OWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBUaG9tYXMgUGV0YXp6b25pIDx0aG9tYXMucGV0YXp6b25pQGZyZWUtZWxlY3Ryb25zLmNvbT4KLURhdGU6IFR1ZSwgMTMgTWF5IDIwMTQgMjM6MzI6MjcgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gQWRkIEFPX1JFUVVJUkVfQ0FTIHRvIGZpeCBidWlsZCBvbiBBUk0gPCB2NgotCi1BUk0gZWFybGllciB0aGFuIEFSTXY2LCBzdWNoIGFzIEFSTXY0IGFuZCBBUk12NSBkbyBub3QgcHJvdmlkZQotb3B0aW1pemUgYXRvbWljIG9wZXJhdGlvbnMgaW4gbGliYXRvbWljX29wcy4gU2luY2UgbGlidW53aW5kIGlzIHVzaW5nCi1zdWNoIG9wZXJhdGlvbnMsIGl0IHNob3VsZCBkZWZpbmUgQU9fUkVRVUlSRV9DQVMgYmVmb3JlIGluY2x1ZGluZwotPGF0b21pY19vcHMuaD4gc28gdGhhdCBsaWJhdG9taWNfb3BzIGtub3dzIGl0IHNob3VsZCB1c2UgZW11bGF0ZWQKLWF0b21pYyBvcGVyYXRpb25zIGluc3RlYWQgKGV2ZW4gdGhvdWdoIHRoZXkgYXJlIG9idmlvdXNseSBhIGxvdCBtb3JlCi1leHBlbnNpdmUpLgotCi1BbHNvLCB3aGlsZSByZWFsIGF0b21pYyBvcGVyYXRpb25zIGFyZSBhbGwgaW5saW5lIGZ1bmN0aW9ucyBhbmQKLXRoZXJlZm9yZSBsaW5raW5nIGFnYWluc3QgbGliYXRvbWljX29wcyB3YXMgbm90IHJlcXVpcmVkLCB0aGUgZW11bGF0ZWQKLWF0b21pYyBvcGVyYXRpb25zIGFjdHVhbGx5IHJlcXVpcmUgbGlua2luZyBhZ2FpbnN0IGxpYmF0b21pY19vcHMsIHNvCi10aGUgY29tbWVudGVkIEFDX0NIRUNLX0xJQiB0ZXN0IGluIGFjaW5jbHVkZS5tNCBpcyB1bmNvbW1lbnRlZCB0byBtYWtlCi1zdXJlIHdlIGxpbmsgYWdhaW5zdCBsaWJhdG9taWNfb3BzLgotCi1TaWduZWQtb2ZmLWJ5OiBUaG9tYXMgUGV0YXp6b25pIDx0aG9tYXMucGV0YXp6b25pQGZyZWUtZWxlY3Ryb25zLmNvbT4KLVNpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi1UYWtlbiBmcm9tOgotaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3JkbmV0dG8vdGVhcG90LWJ1aWxkcm9vdC9tYXN0ZXIvcGFja2FnZS9saWJ1bndpbmQvbGlidW53aW5kLTAyLUFkZC1BT19SRVFVSVJFX0NBUy10by1maXgtYnVpbGQtb24tQVJNLXY2LnBhdGNoCi0KLS0tLQotIGFjaW5jbHVkZS5tNCAgICAgICAgICB8IDggKy0tLS0tLS0KLSBpbmNsdWRlL2xpYnVud2luZF9pLmggfCAxICsKLSAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKLQotSW5kZXg6IGxpYnVud2luZC0xLjIuMS9hY2luY2x1ZGUubTQKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaWJ1bndpbmQtMS4yLjEub3JpZy9hY2luY2x1ZGUubTQKLSsrKyBsaWJ1bndpbmQtMS4yLjEvYWNpbmNsdWRlLm00Ci1AQCAtMjIsMTEgKzIyLDUgQEAgZmldKQotIEFDX0RFRlVOKFtDSEVDS19BVE9NSUNfT1BTXSwKLSBbZG5sIENoZWNrIHdoZXRoZXIgdGhlIHN5c3RlbSBoYXMgdGhlIGF0b21pY19vcHMgcGFja2FnZSBpbnN0YWxsZWQuCi0gICBBQ19DSEVDS19IRUFERVJTKGF0b21pY19vcHMuaCkKLS0jCi0tIyBEb24ndCBsaW5rIGFnYWluc3QgbGliYXRvbWljX29wcyBmb3Igbm93LiAgV2UgZG9uJ3Qgd2FudCBsaWJ1bndpbmQKLS0jIHRvIGRlcGVuZCBvbiBsaWJhdG9taWNfb3BzLnNvLiAgRm9ydHVuYXRlbHksIG5vbmUgb2YgdGhlIHBsYXRmb3JtcwotLSMgd2UgY2FyZSBhYm91dCBzbyBmYXIgbmVlZCBsaWJhdG9taWNfb3BzLmEgKGV2ZXJ5dGhpbmcgaXMgZG9uZSB2aWEKLS0jIGlubGluZSBtYWNyb3MpLgotLSMKLS0jICBBQ19DSEVDS19MSUIoYXRvbWljX29wcywgbWFpbikKLSsgIEFDX0NIRUNLX0xJQihhdG9taWNfb3BzLCBtYWluKQotIF0pCi1JbmRleDogbGlidW53aW5kLTEuMi4xL2luY2x1ZGUvbGlidW53aW5kX2kuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpYnVud2luZC0xLjIuMS5vcmlnL2luY2x1ZGUvbGlidW53aW5kX2kuaAotKysrIGxpYnVud2luZC0xLjIuMS9pbmNsdWRlL2xpYnVud2luZF9pLmgKLUBAIC0xMTYsNiArMTE2LDcgQEAgV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERQotICAgICAgICAgKHB0aHJlYWRfbXV0ZXhfdW5sb2NrICE9IE5VTEwgPyBwdGhyZWFkX211dGV4X3VubG9jayAobCkgOiAwKQotIAotICNpZmRlZiBIQVZFX0FUT01JQ19PUFNfSAotKyMgZGVmaW5lIEFPX1JFUVVJUkVfQ0FTCi0gIyBpbmNsdWRlIDxhdG9taWNfb3BzLmg+Ci0gc3RhdGljIGlubGluZSBpbnQKLSBjbXB4Y2hnX3B0ciAodm9pZCAqYWRkciwgdm9pZCAqb2xkLCB2b2lkICpuZXcpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvbGlidW53aW5kLTEuMS14MzIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvbGlidW53aW5kLTEuMS14MzIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMyNTE2NDYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kL2xpYnVud2luZC0xLjEteDMyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotRnJvbSA1MDZiZDM3YmQ1ODBkNzM4MmQ3YzU4MjU3ZGFjNGIxZTUwMmE4ODdjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ2hyaXN0b3BoZXIgTGFyc29uIDxjaHJpc19sYXJzb25AbWVudG9yLmNvbT4KLURhdGU6IFR1ZSwgMTMgRGVjIDIwMTYgMDk6NTA6MzQgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IGZvciBYMzIKLQotQXBwbHkgcGF0Y2ggdG8gZml4IHRoZSBYMzIgYnVpbGQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vc2puZXdidXJ5L3gzMi4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi1TaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGhlciBMYXJzb24gPGNocmlzX2xhcnNvbkBtZW50b3IuY29tPgotLS0tCi0gc3JjL3g4Nl82NC9Hb3MtbGludXguYyB8IDQgKystLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMveDg2XzY0L0dvcy1saW51eC5jIGIvc3JjL3g4Nl82NC9Hb3MtbGludXguYwotaW5kZXggOWUxYWNmYy4uODE2OWQ1YSAxMDA2NDQKLS0tLSBhL3NyYy94ODZfNjQvR29zLWxpbnV4LmMKLSsrKyBiL3NyYy94ODZfNjQvR29zLWxpbnV4LmMKLUBAIC0xNDMsOCArMTQzLDggQEAgeDg2XzY0X3NpZ3JldHVybiAodW53X2N1cnNvcl90ICpjdXJzb3IpCi0gCi0gICBEZWJ1ZyAoOCwgInJlc3VtaW5nIGF0IGlwPSVsbHggdmlhIHNpZ3JldHVybiglcClcbiIsCi0gICAgICAgICAgICAgICh1bnNpZ25lZCBsb25nIGxvbmcpIGMtPmR3YXJmLmlwLCBzYyk7Ci0tICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAoIm1vdiAlMCwgJSVyc3A7IgotLSAgICAgICAgICAgICAgICAgICAgICAgICJtb3YgJTEsICUlcmF4OyIKLSsgIF9fYXNtX18gX192b2xhdGlsZV9fICgibW92ICVxMCwgJSVyc3A7IgotKyAgICAgICAgICAgICAgICAgICAgICAgICJtb3YgJXExLCAlJXJheDsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgInN5c2NhbGwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgOjogInIiKHNjKSwgImkiKFNZU19ydF9zaWdyZXR1cm4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgOiAibWVtb3J5Iik7Ci0tLSAKLTIuOC4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZF8xLjIuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZF8xLjIuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTdmYjJiMi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmRfMS4yLjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi1yZXF1aXJlIGxpYnVud2luZC5pbmMKLQotU1JDX1VSSVttZDVzdW1dID0gIjA2YmE5ZTYwZDkyZmQ2ZjU1Y2Q5ZGFkYjA4NGRmMTllIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNmM2VjYjkwZTI4Y2JlNTNmYmE3YTRhMjdjY2NlN2FhZDE4OGQzMjEwYmIxOTY0YTkyM2E3MzFhMjdhNzVhY2IiCi0KLVNSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLnNhdmFubmFoLm5vbmdudS5vcmcvcmVsZWFzZXMvbGlidW53aW5kL2xpYnVud2luZC0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vQWRkLUFPX1JFUVVJUkVfQ0FTLXRvLWZpeC1idWlsZC1vbi1BUk0tdjYucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1iYWNrdHJhY2UtVXNlLW9ubHktd2l0aC1nbGliYy1hbmQtdWNsaWJjLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEteDg2LVN0dWItb3V0LXg4Nl9sb2NhbF9yZXN1bWUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtYnVpbGQtb24tbWlwcy1tdXNsLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtYWRkLWtub2JzLXRvLWRpc2FibGUtZW5hYmxlLXRlc3RzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtcHBjMzItQ29uc2lkZXItdWNvbnRleHQtbWlzbWF0Y2hlcy1iZXR3ZWVuLWdsaWJjLWFuZC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9saWJ1bndpbmQtMS4xLXgzMi5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsID0gIiBmaWxlOi8vbXVzbC1oZWFkZXItY29uZmxpY3QucGF0Y2giCi1FWFRSQV9PRUNPTkZfYXBwZW5kX2xpYmMtbXVzbCA9ICIgLS1kaXNhYmxlLWRvY3VtZW50YXRpb24gLS1kaXNhYmxlLXRlc3RzICIKLQotIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMjA0ODcvCi1BUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY0ID0gImFybSIKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgotCi1MREZMQUdTICs9ICItV2wsLXoscmVscm8sLXosbm93ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGQtaXMtZ29sZCcsICcgLWZ1c2UtbGQ9YmZkICcsICcnLCBkKX0iCi0KLVNFQ1VSSVRZX0xERkxBR1NfYXBwZW5kX2xpYmMtbXVzbCA9ICIgLWxzc3Bfbm9uc2hhcmVkIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kXzEuMy4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kXzEuMy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzN2UwNGMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmRfMS4zLjEuYmIKQEAgLTAsMCArMSwyNCBAQAorcmVxdWlyZSBsaWJ1bndpbmQuaW5jCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLnNhdmFubmFoLm5vbmdudS5vcmcvcmVsZWFzZXMvbGlidW53aW5kL2xpYnVud2luZC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1BZGQtQU9fUkVRVUlSRV9DQVMtdG8tZml4LWJ1aWxkLW9uLUFSTS12Ni5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLWJhY2t0cmFjZS1Vc2Utb25seS13aXRoLWdsaWJjLWFuZC11Y2xpYmMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy14ODYtU3R1Yi1vdXQteDg2X2xvY2FsX3Jlc3VtZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA0LUZpeC1idWlsZC1vbi1taXBzLW11c2wucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNS1wcGMzMi1Db25zaWRlci11Y29udGV4dC1taXNtYXRjaGVzLWJldHdlZW4tZ2xpYmMtYW5kLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDYtRml4LWZvci1YMzIucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJX2FwcGVuZF9saWJjLW11c2wgPSAiIGZpbGU6Ly9tdXNsLWhlYWRlci1jb25mbGljdC5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gImEwNGY2OWQ2NmQ4ZTE2ZjhiZjNhYjcyYTY5MTEyY2Q2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQzOTk3YTM5MzliNmNjZGYyZjY2OWI1MGZkYjhhNGQzMjA1Mzc0NzI4YzI5MjNkZGMyMzU0YzY1MjYwMjE0ZjgiCisKK0VYVFJBX09FQ09ORl9hcHBlbmRfbGliYy1tdXNsID0gIiAtLWRpc2FibGUtZG9jdW1lbnRhdGlvbiAtLWRpc2FibGUtdGVzdHMgLS1lbmFibGUtc3RhdGljIgorCisjIGh0dHA6Ly9lcnJvcnMueW9jdG9wcm9qZWN0Lm9yZy9FcnJvcnMvRGV0YWlscy8yMDQ4Ny8KK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjQgPSAiYXJtIgorQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NSA9ICJhcm0iCisKK0xERkxBR1MgKz0gIi1XbCwteixyZWxybywteixub3cgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsZC1pcy1nb2xkJywgJyAtZnVzZS1sZD1iZmQgJywgJycsIGQpfSIKKworU0VDVVJJVFlfTERGTEFHU19hcHBlbmRfbGliYy1tdXNsID0gIiAtbHNzcF9ub25zaGFyZWQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVyY3UvbGlidXJjdV8wLjEwLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVyY3UvbGlidXJjdV8wLjEwLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVlYjkxZTEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1cmN1L2xpYnVyY3VfMC4xMC4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotU1VNTUFSWSA9ICJVc2Vyc3BhY2UgUkNVIChyZWFkLWNvcHktdXBkYXRlKSBsaWJyYXJ5IgotSE9NRVBBR0UgPSAiaHR0cDovL2x0dG5nLm9yZy91cmN1IgotQlVHVFJBQ0tFUiA9ICJodHRwOi8vbHR0bmcub3JnL3Byb2plY3QvaXNzdWVzIgotCi1MSUNFTlNFID0gIkxHUEx2Mi4xKyAmIE1JVC1zdHlsZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWU1NDhkMjg3MzcyODlkNzVhOGYxZTAxYmEyZmQ3ODI1IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy91cmN1Lmg7YmVnaW5saW5lPTQ7ZW5kbGluZT0zMjttZDU9NGRlMGQ2OGQzYTk5NzY0MzcxNTAzNmQyMjA5YWUxZDkgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vaW5jbHVkZS91cmN1L3VhdG9taWMveDg2Lmg7YmVnaW5saW5lPTQ7ZW5kbGluZT0yMTttZDU9NThlNTBiYmQ4YTJmMDczYmI1NTAwZTY1NTRhZjBkMGIiCi0KLVNSQ19VUkkgPSAiaHR0cDovL2x0dG5nLm9yZy9maWxlcy91cmN1L3VzZXJzcGFjZS1yY3UtJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9BZGQtc3VwcG9ydC1mb3ItdGhlLVJJU0MtVi1hcmNoaXRlY3R1cmUucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIyODFhMmY5MmZkYzM5YzQwYWQ2Yjc2ZjY2MzFmZGJkNyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI5YzA5MjIwYmU0NDM1ZGMyN2ZjZDIyZDI5MTcwN2I5NGI5N2YxNTllMGM0NDJmYmNkNjBjMTY4ZjhmNzllYjA2IgotCi1TID0gIiR7V09SS0RJUn0vdXNlcnNwYWNlLXJjdS0ke1BWfSIKLWluaGVyaXQgYXV0b3Rvb2xzIG11bHRpbGliX2hlYWRlcgotCi1DUFBGTEFHU19hcHBlbmRfcmlzY3Y2NCAgPSAiIC1wdGhyZWFkIC1EX1JFRU5UUkFOVCIKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgb2VfbXVsdGlsaWJfaGVhZGVyIHVyY3UvY29uZmlnLmgKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidXJjdS9saWJ1cmN1XzAuMTAuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidXJjdS9saWJ1cmN1XzAuMTAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNGI2ZTIzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1cmN1L2xpYnVyY3VfMC4xMC4yLmJiCkBAIC0wLDAgKzEsMjQgQEAKK1NVTU1BUlkgPSAiVXNlcnNwYWNlIFJDVSAocmVhZC1jb3B5LXVwZGF0ZSkgbGlicmFyeSIKK0hPTUVQQUdFID0gImh0dHA6Ly9sdHRuZy5vcmcvdXJjdSIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL2x0dG5nLm9yZy9wcm9qZWN0L2lzc3VlcyIKKworTElDRU5TRSA9ICJMR1BMdjIuMSsgJiBNSVQtc3R5bGUiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1lNTQ4ZDI4NzM3Mjg5ZDc1YThmMWUwMWJhMmZkNzgyNSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvdXJjdS5oO2JlZ2lubGluZT00O2VuZGxpbmU9MzI7bWQ1PTRkZTBkNjhkM2E5OTc2NDM3MTUwMzZkMjIwOWFlMWQ5IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2luY2x1ZGUvdXJjdS91YXRvbWljL3g4Ni5oO2JlZ2lubGluZT00O2VuZGxpbmU9MjE7bWQ1PTU4ZTUwYmJkOGEyZjA3M2JiNTUwMGU2NTU0YWYwZDBiIgorCitTUkNfVVJJID0gImh0dHA6Ly9sdHRuZy5vcmcvZmlsZXMvdXJjdS91c2Vyc3BhY2UtcmN1LSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vQWRkLXN1cHBvcnQtZm9yLXRoZS1SSVNDLVYtYXJjaGl0ZWN0dXJlLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiN2M0MjRjNTE4M2VjMDA5ZDg3ZTBmNzBjMjNlOTJmMWIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjNmNjg4OGRhZjZmZTAyYzFmODA5N2Y0YTA4OThlNDFiNWZlOTk3NWUxMjFkYzc5MmI5ZGRlZjRiMTcyNjFjYyIKKworUyA9ICIke1dPUktESVJ9L3VzZXJzcGFjZS1yY3UtJHtQVn0iCitpbmhlcml0IGF1dG90b29scyBtdWx0aWxpYl9oZWFkZXIKKworQ1BQRkxBR1NfYXBwZW5kX3Jpc2N2NjQgID0gIiAtcHRocmVhZCAtRF9SRUVOVFJBTlQiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIG9lX211bHRpbGliX2hlYWRlciB1cmN1L2NvbmZpZy5oCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVzYi9saWJ1c2IxXzEuMC4yMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidXNiL2xpYnVzYjFfMS4wLjIyLmJiCmluZGV4IDBjNmUxMTYuLjFkOWQ3NzIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidXNiL2xpYnVzYjFfMS4wLjIyLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidXNiL2xpYnVzYjFfMS4wLjIyLmJiCkBAIC0yMCw5ICsyMCwxMCBAQAogCiBpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgcHRlc3QKIAotIyBEb24ndCBjb25maWd1cmUgdWRldiBieSBkZWZhdWx0IHNpbmNlIGl0IHdpbGwgY2F1c2UgYSBjaXJjdWxhcgotIyBkZXBlbmRlY3kgd2l0aCB1ZGV2IHBhY2thZ2UsIHdoaWNoIGRlcGVuZHMgb24gbGlidXNiCi1FWFRSQV9PRUNPTkYgPSAiLS1saWJkaXI9JHtiYXNlX2xpYmRpcn0gLS1kaXNhYmxlLXVkZXYiCitQQUNLQUdFQ09ORklHX2NsYXNzLXRhcmdldCA/Pz0gInVkZXYiCitQQUNLQUdFQ09ORklHW3VkZXZdID0gIi0tZW5hYmxlLXVkZXYsLS1kaXNhYmxlLXVkZXYsdWRldiIKKworRVhUUkFfT0VDT05GID0gIi0tbGliZGlyPSR7YmFzZV9saWJkaXJ9IgogCiBkb19pbnN0YWxsX2FwcGVuZCgpIHsKIAlpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlieHNsdC9saWJ4c2x0L2ZpeC1ydnRzLWhhbmRsaW5nLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ4c2x0L2xpYnhzbHQvZml4LXJ2dHMtaGFuZGxpbmcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVhM2FlNTEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ4c2x0L2xpYnhzbHQvZml4LXJ2dHMtaGFuZGxpbmcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw4MCArMCwwIEBACi1saWJ4c2x0LTEuMS4zMjogRml4IGhhbmRsaW5nIG9mIFJWVHMgcmV0dXJuZWQgZnJvbSBuZXN0ZWQgRVhTTFQgZnVuY3Rpb25zCi0KLVtObyB1cHN0cmVhbSB0cmFja2luZ10gLS0gaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MjU4MAotCi1TZXQgdGhlIGNvbnRleHQgdmFyaWFibGUgdG8gTlVMTCB3aGVuIGV2YWx1YXRpbmcgRVhTTFQgZnVuY3Rpb25zLgotRml4ZXMgcG90ZW50aWFsIHVzZS1hZnRlci1mcmVlIGVycm9ycyBvciBtZW1vcnkgbGVha3MuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9saWJ4c2x0L2NvbW1pdC84YmQzMmY3NzUzYWMyNTNhNTQyNzlhMGI2YTg4ZDE1YTU3MDc2YmIwXQotYnVnOiA3OTI1ODAKLVNpZ25lZC1vZmYtYnk6IEFuZHJlaiBWYWxlayA8YW5kcmVqLnZhbGVrQHNpZW1lbnMuY29tPgotCi1kaWZmIC0tZ2l0IGEvbGliZXhzbHQvZnVuY3Rpb25zLmMgYi9saWJleHNsdC9mdW5jdGlvbnMuYwotaW5kZXggZGM3OTRlMy4uODUxMWNiMCAxMDA2NDQKLS0tLSBhL2xpYmV4c2x0L2Z1bmN0aW9ucy5jCi0rKysgYi9saWJleHNsdC9mdW5jdGlvbnMuYwotQEAgLTI4MCw2ICsyODAsNyBAQCBleHNsdEZ1bmNGdW5jdGlvbkZ1bmN0aW9uICh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgaW50IG5hcmdzKSB7Ci0gICAgIGV4c2x0RnVuY0Z1bmN0aW9uRGF0YSAqZnVuYzsKLSAgICAgeG1sTm9kZVB0ciBwYXJhbU5vZGUsIG9sZEluc2VydCwgZmFrZTsKLSAgICAgaW50IG9sZEJhc2U7Ci0rICAgIHZvaWQgKm9sZEN0eHRWYXI7Ci0gICAgIHhzbHRTdGFja0VsZW1QdHIgcGFyYW1zID0gTlVMTCwgcGFyYW07Ci0gICAgIHhzbHRUcmFuc2Zvcm1Db250ZXh0UHRyIHRjdHh0ID0geHNsdFhQYXRoR2V0VHJhbnNmb3JtQ29udGV4dChjdHh0KTsKLSAgICAgaW50IGksIG5vdFNldDsKLUBAIC00MTgsMTEgKzQxOSwxNCBAQCBleHNsdEZ1bmNGdW5jdGlvbkZ1bmN0aW9uICh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgaW50IG5hcmdzKSB7Ci0gICAgIGZha2UgPSB4bWxOZXdEb2NOb2RlKHRjdHh0LT5vdXRwdXQsIE5VTEwsCi0gCQkJIChjb25zdCB4bWxDaGFyICopImZha2UiLCBOVUxMKTsKLSAgICAgb2xkSW5zZXJ0ID0gdGN0eHQtPmluc2VydDsKLSsgICAgb2xkQ3R4dFZhciA9IHRjdHh0LT5jb250ZXh0VmFyaWFibGU7Ci0gICAgIHRjdHh0LT5pbnNlcnQgPSBmYWtlOwotKyAgICB0Y3R4dC0+Y29udGV4dFZhcmlhYmxlID0gTlVMTDsKLSAgICAgeHNsdEFwcGx5T25lVGVtcGxhdGUgKHRjdHh0LCB0Y3R4dC0+bm9kZSwKLSAJCQkgIGZ1bmMtPmNvbnRlbnQsIE5VTEwsIE5VTEwpOwotICAgICB4c2x0TG9jYWxWYXJpYWJsZVBvcCh0Y3R4dCwgdGN0eHQtPnZhcnNCYXNlLCAtMik7Ci0gICAgIHRjdHh0LT5pbnNlcnQgPSBvbGRJbnNlcnQ7Ci0rICAgIHRjdHh0LT5jb250ZXh0VmFyaWFibGUgPSBvbGRDdHh0VmFyOwotICAgICB0Y3R4dC0+dmFyc0Jhc2UgPSBvbGRCYXNlOwkvKiByZXN0b3JlIG9yaWdpbmFsIHNjb3BlICovCi0gICAgIGlmIChwYXJhbXMgIT0gTlVMTCkKLSAJeHNsdEZyZWVTdGFja0VsZW1MaXN0KHBhcmFtcyk7Ci1kaWZmIC0tZ2l0IGEvdGVzdHMvZG9jcy9idWctMjA5LnhtbCBiL3Rlc3RzL2RvY3MvYnVnLTIwOS54bWwKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi42OWQ2MmYyCi0tLS0gL2Rldi9udWxsCi0rKysgYi90ZXN0cy9kb2NzL2J1Zy0yMDkueG1sCi1AQCAtMCwwICsxIEBACi0rPGRvYy8+Ci1kaWZmIC0tZ2l0IGEvdGVzdHMvZ2VuZXJhbC9idWctMjA5Lm91dCBiL3Rlc3RzL2dlbmVyYWwvYnVnLTIwOS5vdXQKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi5lODI5NzkwCi0tLS0gL2Rldi9udWxsCi0rKysgYi90ZXN0cy9nZW5lcmFsL2J1Zy0yMDkub3V0Ci1AQCAtMCwwICsxLDIgQEAKLSs8P3htbCB2ZXJzaW9uPSIxLjAiPz4KLSs8cmVzdWx0Lz4KLWRpZmYgLS1naXQgYS90ZXN0cy9nZW5lcmFsL2J1Zy0yMDkueHNsIGIvdGVzdHMvZ2VuZXJhbC9idWctMjA5LnhzbAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLmZlNjlhYzYKLS0tLSAvZGV2L251bGwKLSsrKyBiL3Rlc3RzL2dlbmVyYWwvYnVnLTIwOS54c2wKLUBAIC0wLDAgKzEsMjEgQEAKLSs8eHNsOnN0eWxlc2hlZXQKLSsgICAgdmVyc2lvbj0iMS4wIgotKyAgICB4bWxuczp4c2w9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNML1RyYW5zZm9ybSIKLSsgICAgeG1sbnM6ZnVuYz0iaHR0cDovL2V4c2x0Lm9yZy9mdW5jdGlvbnMiCi0rICAgIGV4dGVuc2lvbi1lbGVtZW50LXByZWZpeGVzPSJmdW5jIj4KLSsKLSsgICAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iLyI+Ci0rICAgICAgICA8eHNsOnZhcmlhYmxlIG5hbWU9InYiIHNlbGVjdD0iZnVuYzphKCkiIC8+Ci0rICAgICAgICA8eHNsOmNvcHktb2Ygc2VsZWN0PSIkdiIvPgotKyAgICA8L3hzbDp0ZW1wbGF0ZT4KLSsKLSsgICAgPGZ1bmM6ZnVuY3Rpb24gbmFtZT0iZnVuYzphIj4KLSsgICAgICAgIDxmdW5jOnJlc3VsdCBzZWxlY3Q9ImZ1bmM6YigpIiAvPgotKyAgICA8L2Z1bmM6ZnVuY3Rpb24+Ci0rCi0rICAgIDxmdW5jOmZ1bmN0aW9uIG5hbWU9ImZ1bmM6YiI+Ci0rICAgICAgICA8ZnVuYzpyZXN1bHQ+Ci0rICAgICAgICAgICAgPHJlc3VsdC8+Ci0rICAgICAgICA8L2Z1bmM6cmVzdWx0PgotKyAgICA8L2Z1bmM6ZnVuY3Rpb24+Ci0rPC94c2w6c3R5bGVzaGVldD4KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlieHNsdC9saWJ4c2x0XzEuMS4zMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlieHNsdC9saWJ4c2x0XzEuMS4zMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjBmYTVlNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnhzbHQvbGlieHNsdF8xLjEuMzIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi1TVU1NQVJZID0gIkdOT01FIFhTTFQgbGlicmFyeSIKLUhPTUVQQUdFID0gImh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvIgotCi1MSUNFTlNFID0gIk1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NvcHlyaWdodDttZDU9MGNkOWEwN2FmYmViMjQwMjZjOWIwM2FlY2ZlYmE0NTgiCi0KLVNFQ1RJT04gPSAibGlicyIKLURFUEVORFMgPSAibGlieG1sMiIKLQotU1JDX1VSSSA9ICJodHRwOi8veG1sc29mdC5vcmcvc291cmNlcy9saWJ4c2x0LSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9maXgtcnZ0cy1oYW5kbGluZy5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gIjFmYzcyZjk4ZTk4YmY0NDQzZjE2NTExNjVmM2FhMTQ2IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjUyNmVjZDBhYmFmNGE3Nzg5MDQxNjIyYzM5NTBjMGU3ZjJjNGM4ODM1NDcxNTE1ZmQ3N2VlYzY4NGEzNTU0NjAiCi0KLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gImxpYnhzbHQtKD9QPHB2ZXI+XGQrKFwuXGQrKSspXC50YXIiCi0KLVMgPSAiJHtXT1JLRElSfS9saWJ4c2x0LSR7UFZ9IgotCi1CSU5DT05GSUcgPSAiJHtiaW5kaXJ9L3hzbHQtY29uZmlnIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgYmluY29uZmlnLWRpc2FibGVkIGxpYl9wYWNrYWdlCi0KLSMgV2UgZG9uJ3QgREVQRU5EIG9uIGJpbnV0aWxzIGZvciBhbnNpZGVjbC5oIHNvIGVuc3VyZSB3ZSBkb24ndCB1c2UgdGhlIGhlYWRlcgotZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgewotCXNlZCAtaSAtZSAncy9hbnNpZGVjbC5oLy8nICR7U30vY29uZmlndXJlLmFjCi0KLQkjIFRoZSB0aW1lc3RhbXBzIGluIHRoZSAxLjEuMjggdGFyYmFsbCBhcmUgbWVzc2VkIHVwIGNhdXNpbmcgdGhpcyBmaWxlIHRvCi0JIyBhcHBlYXIgb3V0IG9mIGRhdGUuICBUb3VjaCBpdCBzbyB0aGF0IHdlIGRvbid0IHRyeSB0byByZWdlbmVyYXRlIGl0LgotCXRvdWNoICR7U30vZG9jL3hzbHRwcm9jLjEKLX0KLQotRVhUUkFfT0VDT05GID0gIi0td2l0aG91dC1weXRob24gLS13aXRob3V0LWRlYnVnIC0td2l0aG91dC1tZW0tZGVidWcgLS13aXRob3V0LWNyeXB0byIKLSMgb2xkZXIgdmVyc2lvbnMgb2YgdGhpcyByZWNpcGUgaGFkICR7UE59LXV0aWxzCi1SUFJPVklERVNfJHtQTn0tYmluICs9ICIke1BOfS11dGlscyIKLVJDT05GTElDVFNfJHtQTn0tYmluICs9ICIke1BOfS11dGlscyIKLVJSRVBMQUNFU18ke1BOfS1iaW4gKz0gIiR7UE59LXV0aWxzIgotCi0KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7Ci0gICAgY3JlYXRlX3dyYXBwZXIgJHtEfS8ke2JpbmRpcn0veHNsdHByb2MgWE1MX0NBVEFMT0dfRklMRVM9JHtzeXNjb25mZGlyfS94bWwvY2F0YWxvZy54bWwKLX0KLQotRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9saWJ4c2x0LXBsdWdpbnMiCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS94c2x0Q29uZi5zaCIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ4c2x0L2xpYnhzbHRfMS4xLjMzLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ4c2x0L2xpYnhzbHRfMS4xLjMzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4ZDQwNGMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnhzbHQvbGlieHNsdF8xLjEuMzMuYmIKQEAgLTAsMCArMSw0NyBAQAorU1VNTUFSWSA9ICJHTk9NRSBYU0xUIGxpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLyIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9Db3B5cmlnaHQ7bWQ1PTBjZDlhMDdhZmJlYjI0MDI2YzliMDNhZWNmZWJhNDU4IgorCitTRUNUSU9OID0gImxpYnMiCitERVBFTkRTID0gImxpYnhtbDIiCisKK1NSQ19VUkkgPSAiaHR0cDovL3htbHNvZnQub3JnL3NvdXJjZXMvbGlieHNsdC0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiM2JkMjU0YTAzZTQ2ZDU4ZjhhZDFlNDU1OWNkMmMyZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ZTM2NjA1MTQ0NDA5ZGY5NzljYWI0M2Q4MzUwMDJmNjM5ODhmM2RjOTRkNWQzNTM3YzEyNzk2ZGI5MGUzOGM4IgorCitVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJsaWJ4c2x0LSg/UDxwdmVyPlxkKyhcLlxkKykrKVwudGFyIgorCitTID0gIiR7V09SS0RJUn0vbGlieHNsdC0ke1BWfSIKKworQklOQ09ORklHID0gIiR7YmluZGlyfS94c2x0LWNvbmZpZyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGJpbmNvbmZpZy1kaXNhYmxlZCBsaWJfcGFja2FnZQorCisjIFdlIGRvbid0IERFUEVORCBvbiBiaW51dGlscyBmb3IgYW5zaWRlY2wuaCBzbyBlbnN1cmUgd2UgZG9uJ3QgdXNlIHRoZSBoZWFkZXIKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKwlzZWQgLWkgLWUgJ3MvYW5zaWRlY2wuaC8vJyAke1N9L2NvbmZpZ3VyZS5hYworCisJIyBUaGUgdGltZXN0YW1wcyBpbiB0aGUgMS4xLjI4IHRhcmJhbGwgYXJlIG1lc3NlZCB1cCBjYXVzaW5nIHRoaXMgZmlsZSB0bworCSMgYXBwZWFyIG91dCBvZiBkYXRlLiAgVG91Y2ggaXQgc28gdGhhdCB3ZSBkb24ndCB0cnkgdG8gcmVnZW5lcmF0ZSBpdC4KKwl0b3VjaCAke1N9L2RvYy94c2x0cHJvYy4xCit9CisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGhvdXQtcHl0aG9uIC0td2l0aG91dC1kZWJ1ZyAtLXdpdGhvdXQtbWVtLWRlYnVnIC0td2l0aG91dC1jcnlwdG8gLS13aXRoLWh0bWwtc3ViZGlyPSR7QlBOfSIKKyMgb2xkZXIgdmVyc2lvbnMgb2YgdGhpcyByZWNpcGUgaGFkICR7UE59LXV0aWxzCitSUFJPVklERVNfJHtQTn0tYmluICs9ICIke1BOfS11dGlscyIKK1JDT05GTElDVFNfJHtQTn0tYmluICs9ICIke1BOfS11dGlscyIKK1JSRVBMQUNFU18ke1BOfS1iaW4gKz0gIiR7UE59LXV0aWxzIgorCisjIFRoaXMgaXMgb25seSBuZWVkZWQgdW50aWwgbGlieG1sIGNhbiBsb2FkIHRoZSByZWxvY2F0ZWQgY2F0YWxvZyBpdHNlbGYKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7CisgICAgY3JlYXRlX3dyYXBwZXIgJHtEfS8ke2JpbmRpcn0veHNsdHByb2MgWE1MX0NBVEFMT0dfRklMRVM9JHtzeXNjb25mZGlyfS94bWwvY2F0YWxvZworfQorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2xpYnhzbHQtcGx1Z2lucyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L3hzbHRDb25mLnNoIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2x6NC9sejRfMS44LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2x6NC9sejRfMS44LjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhZDE3ZTEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9sejQvbHo0XzEuOC4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotU1VNTUFSWSA9ICJFeHRyZW1lbHkgRmFzdCBDb21wcmVzc2lvbiBhbGdvcml0aG0iCi1ERVNDUklQVElPTiA9ICJMWjQgaXMgYSB2ZXJ5IGZhc3QgbG9zc2xlc3MgY29tcHJlc3Npb24gYWxnb3JpdGhtLCBwcm92aWRpbmcgY29tcHJlc3Npb24gc3BlZWQgYXQgNDAwIE1CL3MgcGVyIGNvcmUsIHNjYWxhYmxlIHdpdGggbXVsdGktY29yZXMgQ1BVLiBJdCBhbHNvIGZlYXR1cmVzIGFuIGV4dHJlbWVseSBmYXN0IGRlY29kZXIsIHdpdGggc3BlZWQgaW4gbXVsdGlwbGUgR0IvcyBwZXIgY29yZSwgdHlwaWNhbGx5IHJlYWNoaW5nIFJBTSBzcGVlZCBsaW1pdHMgb24gbXVsdGktY29yZSBzeXN0ZW1zLiIKLQotTElDRU5TRSA9ICJCU0QgfCBCU0QtMi1DbGF1c2UgfCBHUEwtMi4wIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vbGliL0xJQ0VOU0U7bWQ1PWViYzJlYTQ4MTRhNjRkZTc3MDhmMTU3MTkwNGIzMmNjIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3Byb2dyYW1zL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0U7bWQ1PWQ1N2MwZDIxY2I5MTdmYjRlMGFmMjQ1NGFhNDhiOTU2IFwKLSAgICAgICAgICAgICAgICAgICAgIgotCi1QRSA9ICIxIgotCi1TUkNSRVYgPSAiYjM2OTJkYjQ2ZDJiMjNhN2MwYWYyZDVlNjk5ODhjOTRmMTI2ZTEwYSIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2x6NC9sejQuZ2l0IFwKLSAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCi0gICAgICAgICAgICIKLVVQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gInYoP1A8cHZlcj4uKikiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLUVYVFJBX09FTUFLRSA9ICJQUkVGSVg9JHtwcmVmaXh9IENDPScke0NDfScgREVTVERJUj0ke0R9IExJQkRJUj0ke2xpYmRpcn0gSU5DTFVERURJUj0ke2luY2x1ZGVkaXJ9IgotCi1kb19pbnN0YWxsKCkgewotCW9lX3J1bm1ha2UgaW5zdGFsbAotfQotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2x6NC9sejRfMS44LjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2x6NC9sejRfMS44LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTI1ODM2ZgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbHo0L2x6NF8xLjguMy5iYgpAQCAtMCwwICsxLDI3IEBACitTVU1NQVJZID0gIkV4dHJlbWVseSBGYXN0IENvbXByZXNzaW9uIGFsZ29yaXRobSIKK0RFU0NSSVBUSU9OID0gIkxaNCBpcyBhIHZlcnkgZmFzdCBsb3NzbGVzcyBjb21wcmVzc2lvbiBhbGdvcml0aG0sIHByb3ZpZGluZyBjb21wcmVzc2lvbiBzcGVlZCBhdCA0MDAgTUIvcyBwZXIgY29yZSwgc2NhbGFibGUgd2l0aCBtdWx0aS1jb3JlcyBDUFUuIEl0IGFsc28gZmVhdHVyZXMgYW4gZXh0cmVtZWx5IGZhc3QgZGVjb2Rlciwgd2l0aCBzcGVlZCBpbiBtdWx0aXBsZSBHQi9zIHBlciBjb3JlLCB0eXBpY2FsbHkgcmVhY2hpbmcgUkFNIHNwZWVkIGxpbWl0cyBvbiBtdWx0aS1jb3JlIHN5c3RlbXMuIgorCitMSUNFTlNFID0gIkJTRCB8IEJTRC0yLUNsYXVzZSB8IEdQTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9saWIvTElDRU5TRTttZDU9ZWJjMmVhNDgxNGE2NGRlNzcwOGYxNTcxOTA0YjMyY2MgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcHJvZ3JhbXMvQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vTElDRU5TRTttZDU9ZDU3YzBkMjFjYjkxN2ZiNGUwYWYyNDU0YWE0OGI5NTYgXAorICAgICAgICAgICAgICAgICAgICAiCisKK1BFID0gIjEiCisKK1NSQ1JFViA9ICI2NDFiNDUzZDlkYjUzNmVlMDIwODUxYmZjYjFkYzM5ZjYxMDA2ZjBhIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbHo0L2x6NC5naXQgXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAgIgorVVBTVFJFQU1fQ0hFQ0tfR0lUVEFHUkVHRVggPSAidig/UDxwdmVyPi4qKSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworRVhUUkFfT0VNQUtFID0gIlBSRUZJWD0ke3ByZWZpeH0gQ0M9JyR7Q0N9JyBERVNURElSPSR7RH0gTElCRElSPSR7bGliZGlyfSBJTkNMVURFRElSPSR7aW5jbHVkZWRpcn0iCisKK2RvX2luc3RhbGwoKSB7CisJb2VfcnVubWFrZSBpbnN0YWxsCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbHpvcC9sem9wLzAwMDEtdXNlLXN0YXRpYy1pbmxpbmVzLWFzLXRoZS1leHRlcm5hbC1pbmxpbmUtZGVmaW5pdGlvbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbHpvcC9sem9wLzAwMDEtdXNlLXN0YXRpYy1pbmxpbmVzLWFzLXRoZS1leHRlcm5hbC1pbmxpbmUtZGVmaW5pdGlvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODY3Yjg4Yi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2x6b3AvbHpvcC8wMDAxLXVzZS1zdGF0aWMtaW5saW5lcy1hcy10aGUtZXh0ZXJuYWwtaW5saW5lLWRlZmluaXRpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMDAgKzAsMCBAQAotRnJvbSBlY2NjYmNmNjZkYTUzNzc5ZDg4ZTM4ZTJhZjdmODJlZmY4ZGRlN2Y4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFN1biwgMTYgQXVnIDIwMTUgMTA6MzU6NDcgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gdXNlIHN0YXRpYyBpbmxpbmVzIGFzIHRoZSBleHRlcm5hbCBpbmxpbmUgZGVmaW5pdGlvbiBoYXMKLSBjaGFuZ2VkIHdpdGggZ2NjNQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotIHNyYy9taW5pYWNjLmggfCAyNCArKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9taW5pYWNjLmggYi9zcmMvbWluaWFjYy5oCi1pbmRleCAwOWU2ZjBjLi5jYWU5OGQxIDEwMDY0NAotLS0tIGEvc3JjL21pbmlhY2MuaAotKysrIGIvc3JjL21pbmlhY2MuaAotQEAgLTI4ODAsOCArMjg4MCw3IEBAIHR5cGVkZWYgdm9pZCAoX19hY2NfY2RlY2xfc2lnaGFuZGxlciAqYWNjX3NpZ2hhbmRsZXJfdCkoYWNjX3NpZ25vX3QpOwotICNpZiAhKEFDQ19DRkdfTk9fSU5MSU5FX0FTTSkgJiYgKF9fYWNjX0hBVkVfZm9yY2VpbmxpbmUpCi0gI2lmIChBQ0NfQVJDSF9QT1dFUlBDICYmIEFDQ19BQklfQklHX0VORElBTikgJiYgKEFDQ19DQ19HTlVDKQotICNpZiAhZGVmaW5lZChBQ0NfVUFfR0VUX0xFMTYpCi0tZXh0ZXJuIF9fYWNjX2ZvcmNlaW5saW5lIHVuc2lnbmVkIGxvbmcgX19BQ0NfVUFfR0VUX0xFMTYoX19hY2NfdWFfdm9sYXRpbGUgY29uc3Qgdm9pZCogcHApOwotLWV4dGVybiBfX2FjY19mb3JjZWlubGluZSB1bnNpZ25lZCBsb25nIF9fQUNDX1VBX0dFVF9MRTE2KF9fYWNjX3VhX3ZvbGF0aWxlIGNvbnN0IHZvaWQqIHBwKSB7Ci0rc3RhdGljIF9fYWNjX2ZvcmNlaW5saW5lIHVuc2lnbmVkIGxvbmcgX19BQ0NfVUFfR0VUX0xFMTYoX19hY2NfdWFfdm9sYXRpbGUgY29uc3Qgdm9pZCogcHApIHsKLSAgICAgX19hY2NfdWFfdm9sYXRpbGUgY29uc3QgYWNjX3VpbnQxNmVfdCogcCA9IChfX2FjY191YV92b2xhdGlsZSBjb25zdCBhY2NfdWludDE2ZV90KikgcHA7Ci0gICAgIHVuc2lnbmVkIGxvbmcgdjsKLSAgICAgX19hc21fXyBfX3ZvbGF0aWxlX18oImxoYnJ4ICUwLDAsJTEiIDogIj1yIiAodikgOiAiciIgKHApLCAibSIgKCpwKSk7Ci1AQCAtMjg5MCw4ICsyODg5LDcgQEAgZXh0ZXJuIF9fYWNjX2ZvcmNlaW5saW5lIHVuc2lnbmVkIGxvbmcgX19BQ0NfVUFfR0VUX0xFMTYoX19hY2NfdWFfdm9sYXRpbGUgY29uc3QKLSAjZGVmaW5lIEFDQ19VQV9HRVRfTEUxNihwKSAgICAgIF9fQUNDX1VBX0dFVF9MRTE2KHApCi0gI2VuZGlmCi0gI2lmICFkZWZpbmVkKEFDQ19VQV9TRVRfTEUxNikKLS1leHRlcm4gX19hY2NfZm9yY2VpbmxpbmUgdm9pZCBfX0FDQ19VQV9TRVRfTEUxNihfX2FjY191YV92b2xhdGlsZSB2b2lkKiBwcCwgdW5zaWduZWQgbG9uZyB2KTsKLS1leHRlcm4gX19hY2NfZm9yY2VpbmxpbmUgdm9pZCBfX0FDQ19VQV9TRVRfTEUxNihfX2FjY191YV92b2xhdGlsZSB2b2lkKiBwcCwgdW5zaWduZWQgbG9uZyB2KSB7Ci0rc3RhdGljIF9fYWNjX2ZvcmNlaW5saW5lIHZvaWQgX19BQ0NfVUFfU0VUX0xFMTYoX19hY2NfdWFfdm9sYXRpbGUgdm9pZCogcHAsIHVuc2lnbmVkIGxvbmcgdikgewotICAgICBfX2FjY191YV92b2xhdGlsZSBhY2NfdWludDE2ZV90KiBwID0gKF9fYWNjX3VhX3ZvbGF0aWxlIGFjY191aW50MTZlX3QqKSBwcDsKLSAgICAgX19hc21fXyBfX3ZvbGF0aWxlX18oInN0aGJyeCAlMiwwLCUxIiA6ICI9bSIgKCpwKSA6ICJyIiAocCksICJyIiAodikpOwotIH0KLUBAIC0yOTE2LDggKzI5MTQsNyBAQCBleHRlcm4gX19hY2NfZm9yY2VpbmxpbmUgdm9pZCBfX0FDQ19VQV9TRVRfTEUxNihfX2FjY191YV92b2xhdGlsZSB2b2lkKiBwcCwgdW5zaQotICNpZiAhKEFDQ19DRkdfTk9fSU5MSU5FX0FTTSkgJiYgKF9fYWNjX0hBVkVfZm9yY2VpbmxpbmUpCi0gI2lmIChBQ0NfQVJDSF9QT1dFUlBDICYmIEFDQ19BQklfQklHX0VORElBTikgJiYgKEFDQ19DQ19HTlVDKQotICNpZiAhZGVmaW5lZChBQ0NfVUFfR0VUX0xFMzIpCi0tZXh0ZXJuIF9fYWNjX2ZvcmNlaW5saW5lIHVuc2lnbmVkIGxvbmcgX19BQ0NfVUFfR0VUX0xFMzIoX19hY2NfdWFfdm9sYXRpbGUgY29uc3Qgdm9pZCogcHApOwotLWV4dGVybiBfX2FjY19mb3JjZWlubGluZSB1bnNpZ25lZCBsb25nIF9fQUNDX1VBX0dFVF9MRTMyKF9fYWNjX3VhX3ZvbGF0aWxlIGNvbnN0IHZvaWQqIHBwKSB7Ci0rc3RhdGljIF9fYWNjX2ZvcmNlaW5saW5lIHVuc2lnbmVkIGxvbmcgX19BQ0NfVUFfR0VUX0xFMzIoX19hY2NfdWFfdm9sYXRpbGUgY29uc3Qgdm9pZCogcHApIHsKLSAgICAgX19hY2NfdWFfdm9sYXRpbGUgY29uc3QgYWNjX3VpbnQzMmVfdCogcCA9IChfX2FjY191YV92b2xhdGlsZSBjb25zdCBhY2NfdWludDMyZV90KikgcHA7Ci0gICAgIHVuc2lnbmVkIGxvbmcgdjsKLSAgICAgX19hc21fXyBfX3ZvbGF0aWxlX18oImx3YnJ4ICUwLDAsJTEiIDogIj1yIiAodikgOiAiciIgKHApLCAibSIgKCpwKSk7Ci1AQCAtMjkyNiw4ICsyOTIzLDcgQEAgZXh0ZXJuIF9fYWNjX2ZvcmNlaW5saW5lIHVuc2lnbmVkIGxvbmcgX19BQ0NfVUFfR0VUX0xFMzIoX19hY2NfdWFfdm9sYXRpbGUgY29uc3QKLSAjZGVmaW5lIEFDQ19VQV9HRVRfTEUzMihwKSAgICAgIF9fQUNDX1VBX0dFVF9MRTMyKHApCi0gI2VuZGlmCi0gI2lmICFkZWZpbmVkKEFDQ19VQV9TRVRfTEUzMikKLS1leHRlcm4gX19hY2NfZm9yY2VpbmxpbmUgdm9pZCBfX0FDQ19VQV9TRVRfTEUzMihfX2FjY191YV92b2xhdGlsZSB2b2lkKiBwcCwgdW5zaWduZWQgbG9uZyB2KTsKLS1leHRlcm4gX19hY2NfZm9yY2VpbmxpbmUgdm9pZCBfX0FDQ19VQV9TRVRfTEUzMihfX2FjY191YV92b2xhdGlsZSB2b2lkKiBwcCwgdW5zaWduZWQgbG9uZyB2KSB7Ci0rc3RhdGljIF9fYWNjX2ZvcmNlaW5saW5lIHZvaWQgX19BQ0NfVUFfU0VUX0xFMzIoX19hY2NfdWFfdm9sYXRpbGUgdm9pZCogcHAsIHVuc2lnbmVkIGxvbmcgdikgewotICAgICBfX2FjY191YV92b2xhdGlsZSBhY2NfdWludDMyZV90KiBwID0gKF9fYWNjX3VhX3ZvbGF0aWxlIGFjY191aW50MzJlX3QqKSBwcDsKLSAgICAgX19hc21fXyBfX3ZvbGF0aWxlX18oInN0d2JyeCAlMiwwLCUxIiA6ICI9bSIgKCpwKSA6ICJyIiAocCksICJyIiAodikpOwotIH0KLUBAIC0zMzA3LDggKzMzMDMsNyBAQCB0eXBlZGVmIHZvaWQgKF9fYWNjX2NkZWNsX3NpZ2hhbmRsZXIgKmFjY19zaWdoYW5kbGVyX3QpKGFjY19zaWdub190KTsKLSAjaWYgIShBQ0NfQ0ZHX05PX0lOTElORV9BU00pICYmIChfX2FjY19IQVZFX2ZvcmNlaW5saW5lKQotICNpZiAoQUNDX0FSQ0hfUE9XRVJQQyAmJiBBQ0NfQUJJX0JJR19FTkRJQU4pICYmIChBQ0NfQ0NfR05VQykKLSAjaWYgIWRlZmluZWQoQUNDX1VBX0dFVF9MRTE2KQotLWV4dGVybiBfX2FjY19mb3JjZWlubGluZSB1bnNpZ25lZCBsb25nIF9fQUNDX1VBX0dFVF9MRTE2KF9fYWNjX3VhX3ZvbGF0aWxlIGNvbnN0IHZvaWQqIHBwKTsKLS1leHRlcm4gX19hY2NfZm9yY2VpbmxpbmUgdW5zaWduZWQgbG9uZyBfX0FDQ19VQV9HRVRfTEUxNihfX2FjY191YV92b2xhdGlsZSBjb25zdCB2b2lkKiBwcCkgewotK3N0YXRpYyBfX2FjY19mb3JjZWlubGluZSB1bnNpZ25lZCBsb25nIF9fQUNDX1VBX0dFVF9MRTE2KF9fYWNjX3VhX3ZvbGF0aWxlIGNvbnN0IHZvaWQqIHBwKSB7Ci0gICAgIF9fYWNjX3VhX3ZvbGF0aWxlIGNvbnN0IGFjY191aW50MTZlX3QqIHAgPSAoX19hY2NfdWFfdm9sYXRpbGUgY29uc3QgYWNjX3VpbnQxNmVfdCopIHBwOwotICAgICB1bnNpZ25lZCBsb25nIHY7Ci0gICAgIF9fYXNtX18gX192b2xhdGlsZV9fKCJsaGJyeCAlMCwwLCUxIiA6ICI9ciIgKHYpIDogInIiIChwKSwgIm0iICgqcCkpOwotQEAgLTMzMTcsOCArMzMxMiw3IEBAIGV4dGVybiBfX2FjY19mb3JjZWlubGluZSB1bnNpZ25lZCBsb25nIF9fQUNDX1VBX0dFVF9MRTE2KF9fYWNjX3VhX3ZvbGF0aWxlIGNvbnN0Ci0gI2RlZmluZSBBQ0NfVUFfR0VUX0xFMTYocCkgICAgICBfX0FDQ19VQV9HRVRfTEUxNihwKQotICNlbmRpZgotICNpZiAhZGVmaW5lZChBQ0NfVUFfU0VUX0xFMTYpCi0tZXh0ZXJuIF9fYWNjX2ZvcmNlaW5saW5lIHZvaWQgX19BQ0NfVUFfU0VUX0xFMTYoX19hY2NfdWFfdm9sYXRpbGUgdm9pZCogcHAsIHVuc2lnbmVkIGxvbmcgdik7Ci0tZXh0ZXJuIF9fYWNjX2ZvcmNlaW5saW5lIHZvaWQgX19BQ0NfVUFfU0VUX0xFMTYoX19hY2NfdWFfdm9sYXRpbGUgdm9pZCogcHAsIHVuc2lnbmVkIGxvbmcgdikgewotK3N0YXRpYyBfX2FjY19mb3JjZWlubGluZSB2b2lkIF9fQUNDX1VBX1NFVF9MRTE2KF9fYWNjX3VhX3ZvbGF0aWxlIHZvaWQqIHBwLCB1bnNpZ25lZCBsb25nIHYpIHsKLSAgICAgX19hY2NfdWFfdm9sYXRpbGUgYWNjX3VpbnQxNmVfdCogcCA9IChfX2FjY191YV92b2xhdGlsZSBhY2NfdWludDE2ZV90KikgcHA7Ci0gICAgIF9fYXNtX18gX192b2xhdGlsZV9fKCJzdGhicnggJTIsMCwlMSIgOiAiPW0iICgqcCkgOiAiciIgKHApLCAiciIgKHYpKTsKLSB9Ci1AQCAtMzM0Myw4ICszMzM3LDcgQEAgZXh0ZXJuIF9fYWNjX2ZvcmNlaW5saW5lIHZvaWQgX19BQ0NfVUFfU0VUX0xFMTYoX19hY2NfdWFfdm9sYXRpbGUgdm9pZCogcHAsIHVuc2kKLSAjaWYgIShBQ0NfQ0ZHX05PX0lOTElORV9BU00pICYmIChfX2FjY19IQVZFX2ZvcmNlaW5saW5lKQotICNpZiAoQUNDX0FSQ0hfUE9XRVJQQyAmJiBBQ0NfQUJJX0JJR19FTkRJQU4pICYmIChBQ0NfQ0NfR05VQykKLSAjaWYgIWRlZmluZWQoQUNDX1VBX0dFVF9MRTMyKQotLWV4dGVybiBfX2FjY19mb3JjZWlubGluZSB1bnNpZ25lZCBsb25nIF9fQUNDX1VBX0dFVF9MRTMyKF9fYWNjX3VhX3ZvbGF0aWxlIGNvbnN0IHZvaWQqIHBwKTsKLS1leHRlcm4gX19hY2NfZm9yY2VpbmxpbmUgdW5zaWduZWQgbG9uZyBfX0FDQ19VQV9HRVRfTEUzMihfX2FjY191YV92b2xhdGlsZSBjb25zdCB2b2lkKiBwcCkgewotK3N0YXRpYyBfX2FjY19mb3JjZWlubGluZSB1bnNpZ25lZCBsb25nIF9fQUNDX1VBX0dFVF9MRTMyKF9fYWNjX3VhX3ZvbGF0aWxlIGNvbnN0IHZvaWQqIHBwKSB7Ci0gICAgIF9fYWNjX3VhX3ZvbGF0aWxlIGNvbnN0IGFjY191aW50MzJlX3QqIHAgPSAoX19hY2NfdWFfdm9sYXRpbGUgY29uc3QgYWNjX3VpbnQzMmVfdCopIHBwOwotICAgICB1bnNpZ25lZCBsb25nIHY7Ci0gICAgIF9fYXNtX18gX192b2xhdGlsZV9fKCJsd2JyeCAlMCwwLCUxIiA6ICI9ciIgKHYpIDogInIiIChwKSwgIm0iICgqcCkpOwotQEAgLTMzNTMsOCArMzM0Niw3IEBAIGV4dGVybiBfX2FjY19mb3JjZWlubGluZSB1bnNpZ25lZCBsb25nIF9fQUNDX1VBX0dFVF9MRTMyKF9fYWNjX3VhX3ZvbGF0aWxlIGNvbnN0Ci0gI2RlZmluZSBBQ0NfVUFfR0VUX0xFMzIocCkgICAgICBfX0FDQ19VQV9HRVRfTEUzMihwKQotICNlbmRpZgotICNpZiAhZGVmaW5lZChBQ0NfVUFfU0VUX0xFMzIpCi0tZXh0ZXJuIF9fYWNjX2ZvcmNlaW5saW5lIHZvaWQgX19BQ0NfVUFfU0VUX0xFMzIoX19hY2NfdWFfdm9sYXRpbGUgdm9pZCogcHAsIHVuc2lnbmVkIGxvbmcgdik7Ci0tZXh0ZXJuIF9fYWNjX2ZvcmNlaW5saW5lIHZvaWQgX19BQ0NfVUFfU0VUX0xFMzIoX19hY2NfdWFfdm9sYXRpbGUgdm9pZCogcHAsIHVuc2lnbmVkIGxvbmcgdikgewotK3N0YXRpYyBfX2FjY19mb3JjZWlubGluZSB2b2lkIF9fQUNDX1VBX1NFVF9MRTMyKF9fYWNjX3VhX3ZvbGF0aWxlIHZvaWQqIHBwLCB1bnNpZ25lZCBsb25nIHYpIHsKLSAgICAgX19hY2NfdWFfdm9sYXRpbGUgYWNjX3VpbnQzMmVfdCogcCA9IChfX2FjY191YV92b2xhdGlsZSBhY2NfdWludDMyZV90KikgcHA7Ci0gICAgIF9fYXNtX18gX192b2xhdGlsZV9fKCJzdHdicnggJTIsMCwlMSIgOiAiPW0iICgqcCkgOiAiciIgKHApLCAiciIgKHYpKTsKLSB9Ci0tLSAKLTIuNS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbHpvcC9sem9wL2x6b3AtMS4wMy1nY2M2LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9sem9wL2x6b3AvbHpvcC0xLjAzLWdjYzYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcyYjMzOTcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9sem9wL2x6b3AvbHpvcC0xLjAzLWdjYzYucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi1nY2MtNiBoYXMgYWRkaXRpb25hbCBlcnJvcnMgZS5nLgotCi0uL3Rlc3QuYzoxOjEyOiBlcnJvcjogdmFyaWFibHkgbW9kaWZpZWQgJ19fYWNjX2N0YScgYXQgZmlsZSBzY29wZQotIGV4dGVybiBpbnQgX19hY2NfY3RhWzEtMiohKCgxbCA8PCAoOCo4IC0xKSkgPCAwKV07Ci0gICAgICAgICAgICBefn5+fn5+fn4KLQotVGhpcyBpcyByaWdodGx5IHBvaW50ZWQgb3V0IHNpbmNlIHRoYXQgaW5kZXggaXMgdW5kZWZpbmVkCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotLS0tIGEvc3JjL21pbmlhY2MuaC5vcmlnCTIwMTYtMDItMTAgMTY6MDk6MjMuMjQ3MzE1ODY2ICswMTAwCi0rKysgYS9zcmMvbWluaWFjYy5oCTIwMTYtMDItMTAgMTY6MTI6MTQuOTczMjk3MDU0ICswMTAwCi1AQCAtNDQ2OSwxMiArNDQ2OSwxMiBAQAotICNpZiBkZWZpbmVkKF9fTVNET1NfXykgJiYgZGVmaW5lZChfX1RVUkJPQ19fKSAmJiAoX19UVVJCT0NfXyA8IDB4MDE1MCkKLSAjZWxpZiAxICYmIChBQ0NfQ0NfU1VOUFJPQykgJiYgIWRlZmluZWQoQUNDQ0hLX0NGR19QRURBTlRJQykKLSAjZWxzZQotLSAgICBBQ0NDSEtfQVNTRVJUKCgxICAgPDwgKDgqU0laRU9GX0lOVC0xKSkgPCAwKQotKyAgICBBQ0NDSEtfQVNTRVJUKChpbnQpKDF1ICAgPDwgKDgqU0laRU9GX0lOVC0xKSkgPCAwKQotICNlbmRpZgotICAgICBBQ0NDSEtfQVNTRVJUKCgxdSAgPDwgKDgqU0laRU9GX0lOVC0xKSkgPiAwKQotICNpZiAxICYmIChBQ0NfQ0NfU1VOUFJPQykgJiYgIWRlZmluZWQoQUNDQ0hLX0NGR19QRURBTlRJQykKLSAjZWxzZQotLSAgICBBQ0NDSEtfQVNTRVJUKCgxbCAgPDwgKDgqU0laRU9GX0xPTkctMSkpIDwgMCkKLSsgICAgQUNDQ0hLX0FTU0VSVCgobG9uZykoMXVsICA8PCAoOCpTSVpFT0ZfTE9ORy0xKSkgPCAwKQotICNlbmRpZgotICAgICBBQ0NDSEtfQVNTRVJUKCgxdWwgPDwgKDgqU0laRU9GX0xPTkctMSkpID4gMCkKLSAjaWYgZGVmaW5lZChhY2NfaW50MTZlX3QpCi1AQCAtNDcwMyw3ICs0NzAzLDcgQEAKLSAjZWxpZiAxICYmIChBQ0NfQ0NfTENDIHx8IEFDQ19DQ19MQ0NXSU4zMikgJiYgIWRlZmluZWQoQUNDQ0hLX0NGR19QRURBTlRJQykKLSAjZWxpZiAxICYmIChBQ0NfQ0NfU1VOUFJPQykgJiYgIWRlZmluZWQoQUNDQ0hLX0NGR19QRURBTlRJQykKLSAjZWxpZiAhKEFDQ19CUk9LRU5fSU5URUdSQUxfUFJPTU9USU9OKSAmJiAoU0laRU9GX0lOVCA+IDEpCi0tICAgIEFDQ0NIS19BU1NFUlQoICgoKHVuc2lnbmVkIGNoYXIpMTI4KSA8PCAoaW50KSg4KnNpemVvZihpbnQpLTgpKSA8IDApCi0rICAgIEFDQ0NIS19BU1NFUlQoIChpbnQpKCh1bnNpZ25lZCBpbnQpKCh1bnNpZ25lZCBjaGFyKTEyOCkgPDwgKGludCkoOCpzaXplb2YoaW50KS04KSkgPCAwKQotICNlbmRpZgotICNpZiAoQUNDX0NDX0JPUkxBTkRDICYmIChfX0JPUkxBTkRDX18gPj0gMHgwNTMwKSAmJiAoX19CT1JMQU5EQ19fIDwgMHgwNTYwKSkKLSAjICBwcmFnbWEgb3B0aW9uIHBvcApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9sem9wL2x6b3AveDMyX2FiaV9taW5pYWNjX2gucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2x6b3AvbHpvcC94MzJfYWJpX21pbmlhY2NfaC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzM5YmU4Mi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2x6b3AvbHpvcC94MzJfYWJpX21pbmlhY2NfaC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLUZpeCBnZXQgb2YgRkxBR1MgcmVnaXN0ZXIgaW4geDMyIEFCSSwKLQoteDMyIEFCSSByZXF1aXJlcyB0byBoYXZlIDY0LWJpdCB2YXJpYWJsZSB0byBzdG9yZSBGTEFHUyByZWdpc3RlcgotaW5zdGVhZCBvZiBzaXplX3QgdGhhdCBpcyAzMi1iaXQgdmFyaWFibGUsIHRoaXMgZml4IG9wZXJhbmQKLXR5cGUgbWlzbWF0Y2ggd2hlbiB0cnkgdG8gcG9wIHByZXZpb3VzIHB1c2hmIHZhbHVlLgotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZAotCi1TaWduZWQtb2ZmLWJ5OiBBbsOtYmFsIExpbcOzbiA8YW5pYmFsLmxpbW9uQGxpbnV4LmludGVsLmNvbT4KLQotSW5kZXg6IGx6b3AtMS4wMy9zcmMvbWluaWFjYy5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbHpvcC0xLjAzLm9yaWcvc3JjL21pbmlhY2MuaAotKysrIGx6b3AtMS4wMy9zcmMvbWluaWFjYy5oCi1AQCAtNzU0LDYgKzc1NCw5IEBACi0gI2VsaWYgZGVmaW5lZChfX2FtZDY0X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfTV9BTUQ2NCkKLSAjICBkZWZpbmUgQUNDX0FSQ0hfQU1ENjQgICAgICAgICAgICAxCi0gIyAgZGVmaW5lIEFDQ19JTkZPX0FSQ0ggICAgICAgICAgICAgImFtZDY0IgotKyMgIGlmIGRlZmluZWQoX19JTFAzMl9fKQotKyMgICAgZGVmaW5lIEFDQ19BUkNIX0FNRDY0X1gzMiAgICAgIDEKLSsjICBlbmRpZgotICNlbGlmIGRlZmluZWQoX190aHVtYl9fKSB8fCAoZGVmaW5lZChfTV9BUk0pICYmIGRlZmluZWQoX01fVEhVTUIpKQotICMgIGRlZmluZSBBQ0NfQVJDSF9BUk0gICAgICAgICAgICAgIDEKLSAjICBkZWZpbmUgQUNDX0FSQ0hfQVJNX1RIVU1CICAgICAgICAxCi1AQCAtNjc4Nyw3ICs2NzkwLDExIEBAIEFDQ0xJQl9QVUJMSUNfTk9JTkxJTkUodm9pZCwgYWNjX2RlYnVnX24KLSBBQ0NMSUJfUFVCTElDX05PSU5MSU5FKGludCwgYWNjX2RlYnVnX2FsaWduX2NoZWNrX3F1ZXJ5KSAodm9pZCkKLSB7Ci0gI2lmIChBQ0NfQVJDSF9BTUQ2NCB8fCBBQ0NfQVJDSF9JMzg2KSAmJiAoQUNDX0FTTV9TWU5UQVhfR05VQykKLSsjICBpZiBkZWZpbmVkKEFDQ19BUkNIX0FNRDY0X1gzMikKLSsgICAgdW5zaWduZWQgbG9uZyBsb25nIHI7Ci0rIyAgZWxzZQotICAgICBzaXplX3QgcjsKLSsjICBlbmRpZgotICAgICBfX2FzbV9fIF9fdm9sYXRpbGVfXygicHVzaGZcbiBwb3AgJTBcbiIgOiAiPWEiIChyKSA6IDogX19BQ0NfQVNNX0NMT0JCRVIpOwotICAgICByZXR1cm4gKGludCkociA+PiAxOCkgJiAxOwotICNlbGlmIChBQ0NfQVJDSF9JMzg2KSAmJiAoQUNDX0FTTV9TWU5UQVhfTVNDKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9sem9wL2x6b3BfMS4wMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbHpvcC9sem9wXzEuMDMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZmMDkwMDIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9sem9wL2x6b3BfMS4wMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLVNVTU1BUlkgPSAiUmVhbC10aW1lIGZpbGUgY29tcHJlc3NvciIKLURFU0NSSVBUSU9OID0gImx6b3AgaXMgYSBjb21wcmVzc2lvbiB1dGlsaXR5IHdoaWNoIGlzIGRlc2lnbmVkIHRvIGJlIGEgY29tcGFuaW9uIHRvIGd6aXAuIFxuXAotSXQgaXMgYmFzZWQgb24gdGhlIExaTyBkYXRhIGNvbXByZXNzaW9uIGxpYnJhcnkgYW5kIGl0cyBtYWluIGFkdmFudGFnZXMgb3ZlciBcblwKLWd6aXAgYXJlIG11Y2ggaGlnaGVyIGNvbXByZXNzaW9uIGFuZCBkZWNvbXByZXNzaW9uIHNwZWVkIGF0IHRoZSBjb3N0IG9mIHNvbWUgXG5cCi1jb21wcmVzc2lvbiByYXRpby4gVGhlIGx6b3AgY29tcHJlc3Npb24gdXRpbGl0eSB3YXMgZGVzaWduZWQgd2l0aCB0aGUgZ29hbHMgXG5cCi1vZiByZWxpYWJpbGl0eSwgc3BlZWQsIHBvcnRhYmlsaXR5IGFuZCB3aXRoIHJlYXNvbmFibGUgZHJvcC1pbiBjb21wYXRpYmlsaXR5IFxuXAotdG8gZ3ppcC4iCi1ERVBFTkRTICs9ICJsem8iCi0KLUxJQ0VOU0UgPSAiR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZGZlYWYzZGM0YmVlZjRmNWE3YmRiYzM1YjE5N2YzOWUgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2x6b3AuYztiZWdpbmxpbmU9NTtlbmRsaW5lPTIxO21kNT02Nzk3YmQzZWQwYTFhNDkzMjdiN2ViZjkzNjZlYmQ4NiIKLQotU1JDX1VSSSA9ICJodHRwOi8vd3d3Lmx6b3Aub3JnL2Rvd25sb2FkLyR7QlB9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9hY2luY2x1ZGUubTQgXAotICAgICAgICAgICBmaWxlOi8veDMyX2FiaV9taW5pYWNjX2gucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS11c2Utc3RhdGljLWlubGluZXMtYXMtdGhlLWV4dGVybmFsLWlubGluZS1kZWZpbml0aW9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2x6b3AtMS4wMy1nY2M2LnBhdGNoIFwKLSAgICAgICAgICAiCi1TUkNfVVJJW21kNXN1bV0gPSAiMDA2YzVlMjdmYjc4Y2RkMTRhNjI4ZmRmYTVhYTE5MDUiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzE0MjViOGM3N2Q0OWY1YTY3OWQ1YTEyNmM5MGVhNmFkOTk1ODVhNTVlMzM1YTYxM2NhZTU5ZTkwOWRiYjJjOSIKLQotaW5oZXJpdCBhdXRvdG9vbHMKLQotZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgewotICAgIGluc3RhbGwgLURtIDA2NDQgJHtXT1JLRElSfS9hY2luY2x1ZGUubTQgJHtTfS9hY2luY2x1ZGUubTQKLX0KLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9sem9wL2x6b3BfMS4wNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbHpvcC9sem9wXzEuMDQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjUwYzIzMAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbHpvcC9sem9wXzEuMDQuYmIKQEAgLTAsMCArMSwyNiBAQAorU1VNTUFSWSA9ICJSZWFsLXRpbWUgZmlsZSBjb21wcmVzc29yIgorREVTQ1JJUFRJT04gPSAibHpvcCBpcyBhIGNvbXByZXNzaW9uIHV0aWxpdHkgd2hpY2ggaXMgZGVzaWduZWQgdG8gYmUgYSBjb21wYW5pb24gdG8gZ3ppcC4gXG5cCitJdCBpcyBiYXNlZCBvbiB0aGUgTFpPIGRhdGEgY29tcHJlc3Npb24gbGlicmFyeSBhbmQgaXRzIG1haW4gYWR2YW50YWdlcyBvdmVyIFxuXAorZ3ppcCBhcmUgbXVjaCBoaWdoZXIgY29tcHJlc3Npb24gYW5kIGRlY29tcHJlc3Npb24gc3BlZWQgYXQgdGhlIGNvc3Qgb2Ygc29tZSBcblwKK2NvbXByZXNzaW9uIHJhdGlvLiBUaGUgbHpvcCBjb21wcmVzc2lvbiB1dGlsaXR5IHdhcyBkZXNpZ25lZCB3aXRoIHRoZSBnb2FscyBcblwKK29mIHJlbGlhYmlsaXR5LCBzcGVlZCwgcG9ydGFiaWxpdHkgYW5kIHdpdGggcmVhc29uYWJsZSBkcm9wLWluIGNvbXBhdGliaWxpdHkgXG5cCit0byBnemlwLiIKK0RFUEVORFMgKz0gImx6byIKKworTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvbHpvcC5jO2JlZ2lubGluZT01O2VuZGxpbmU9MjE7bWQ1PTIzZDc2N2RlNzc1NGViMjRiOWU5MDBiMDI1Y2Y3ZmM4IgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cubHpvcC5vcmcvZG93bmxvYWQvJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2FjaW5jbHVkZS5tNCBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjI3MWViMTBmZGU3N2EwYTk2YjljYmY3NDVlNzE5ZGRmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdlNzJiNjJhOGE2MGFmZjUyMDBhMDQ3ZWVhMDc3M2E4ZmIyMDVjYWY3YWNiZTE3NzRkOTUxNDdmMzA1YTJmNDEiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKyAgICBpbnN0YWxsIC1EbSAwNjQ0ICR7V09SS0RJUn0vYWNpbmNsdWRlLm00ICR7U30vYWNpbmNsdWRlLm00Cit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbXBmci9tcGZyLzAwMDEtRml4LW9ic29sZXRlLUFSQy1hc20tY29uc3RyYWludHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L21wZnIvbXBmci8wMDAxLUZpeC1vYnNvbGV0ZS1BUkMtYXNtLWNvbnN0cmFpbnRzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1OWQxYjBkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbXBmci9tcGZyLzAwMDEtRml4LW9ic29sZXRlLUFSQy1hc20tY29uc3RyYWludHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi1tcGZyLWxvbmdsb25nLmg6IEZpeCBvYnNvbGV0ZSBBUkMgYXNtIGNvbnN0cmFpbnRzCi0KLVRoaXMgcGF0Y2ggcmVwbGFjZXMgb2Jzb2xldGUgQVJDICJKIiBhc20gY29uc3RyYWludCB3aXRoCi11cC10by1kYXRlICJDYWwiIGNvbnN0cmFpbnQuCi0KLSJKIiBjb25zdHJhaW50IG9ubHkgZXhpc3RlZCBpbiBwcmUtdXBzdHJlYW0gR0NDIHBvcnQgZm9yIEFSQy4KLUluIGN1cnJlbnQgdXBzdHJlYW0gcG9ydCAiQ2FsIiBjb25zdHJhaW50IGlzIHVzZWQgd2hpY2ggbGVhZHMKLXRvIGNvbXBpbGUtdGltZSBlcnJvci4KLQotUHJvcG9zZWQgZml4IGlzIGtub3duIHRvIHdvcmsgaW4gQnVpbGRyb290LCBDcm9zc3Rvb2wtTkcgZXRjLgotCi1bMV0gaHR0cHM6Ly9nY2MuZ251Lm9yZy9naXQvP3A9Z2NjLmdpdDthPWNvbW1pdDtoPTA5Y2I2YTE3ZTcxYmQ0MGQyZmJmYWY4MmExNTAyZmMyMTBlMzNjODcKLQotU2lnbmVkLW9mZi1ieTogQ2xhdWRpdSBaaXNzdWxlc2N1IDxjbGF6aXNzQHN5bm9wc3lzLmNvbT4KLVNpZ25lZC1vZmYtYnk6IFZsYWQgWmFraGFyb3YgPHZ6YWtoYXJAc3lub3BzeXMuY29tPgotU2lnbmVkLW9mZi1ieTogQWxleGV5IEJyb2RraW4gPGFicm9ka2luQHN5bm9wc3lzLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9nZm9yZ2UuaW5yaWEuZnIvc2NtL3ZpZXd2Yy5waHAvbXBmcj92aWV3PXJldmlzaW9uJnJldmlzaW9uPTEzMjUxXQotLS0tCi1JbmRleDogc3JjL21wZnItbG9uZ2xvbmcuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGEvc3JjL21wZnItbG9uZ2xvbmcuaAkocmV2aXNpb24gMTA5NjMpCi0rKysgYi9zcmMvbXBmci1sb25nbG9uZy5oCSh3b3JraW5nIGNvcHkpCi1AQCAtNDE2LDE3ICs0MTYsMTcgQEAKLSAJICAgOiAiPXIiIChzaCksCQkJCQkJCVwKLSAJICAgICAiPSZyIiAoc2wpCQkJCQkJCVwKLSAJICAgOiAiciIgICgoVVNJdHlwZSkgKGFoKSksCQkJCQlcCi0tCSAgICAgInJJSiIgKChVU0l0eXBlKSAoYmgpKSwJCQkJCVwKLSsJICAgICAicklDYWwiICgoVVNJdHlwZSkgKGJoKSksCQkJCQlcCi0gCSAgICAgIiVyIiAoKFVTSXR5cGUpIChhbCkpLAkJCQkJXAotLQkgICAgICJySUoiICgoVVNJdHlwZSkgKGJsKSkpCi0rCSAgICAgInJJQ2FsIiAoKFVTSXR5cGUpIChibCkpKQotICNkZWZpbmUgc3ViX2RkbW1zcyhzaCwgc2wsIGFoLCBhbCwgYmgsIGJsKSBcCi0gICBfX2FzbV9fICgic3ViLmZcdCUxLCAlNCwgJTVcblx0c2JjXHQlMCwgJTIsICUzIgkJCVwKLSAJICAgOiAiPXIiIChzaCksCQkJCQkJCVwKLSAJICAgICAiPSZyIiAoc2wpCQkJCQkJCVwKLSAJICAgOiAiciIgKChVU0l0eXBlKSAoYWgpKSwJCQkJCVwKLS0JICAgICAicklKIiAoKFVTSXR5cGUpIChiaCkpLAkJCQkJXAotKwkgICAgICJySUNhbCIgKChVU0l0eXBlKSAoYmgpKSwJCQkJCVwKLSAJICAgICAiciIgKChVU0l0eXBlKSAoYWwpKSwJCQkJCVwKLS0JICAgICAicklKIiAoKFVTSXR5cGUpIChibCkpKQotKwkgICAgICJySUNhbCIgKChVU0l0eXBlKSAoYmwpKSkKLSAjZW5kaWYKLSAKLSAjaWYgZGVmaW5lZCAoX19hcm1fXykgJiYgKGRlZmluZWQgKF9fdGh1bWIyX18pIHx8ICFkZWZpbmVkIChfX3RodW1iX18pKSBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L21wZnIvbXBmcl80LjAuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbXBmci9tcGZyXzQuMC4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZWVlNzZhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbXBmci9tcGZyXzQuMC4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotU1VNTUFSWSA9ICJDIGxpYnJhcnkgZm9yIG11bHRpcGxlLXByZWNpc2lvbiBmbG9hdGluZy1wb2ludCBjb21wdXRhdGlvbnMgd2l0aCBleGFjdCByb3VuZGluZyIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cubXBmci5vcmcvIgotTElDRU5TRSA9ICJMR1BMdjMrIgotU0VDVElPTiA9ICJkZXZlbCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgdGV4aW5mbwotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCBcCi0JCSAgICBmaWxlOi8vQ09QWUlORy5MRVNTRVI7bWQ1PTZhNmE4ZTAyMDgzOGIyMzQwNmM4MWIxOWMxZDQ2ZGY2IgotREVQRU5EUyA9ICJnbXAgYXV0b2NvbmYtYXJjaGl2ZSIKLQotU1JDX1VSSSA9ICJodHRwOi8vd3d3Lm1wZnIub3JnL21wZnItJHtQVn0vbXBmci0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtb2Jzb2xldGUtQVJDLWFzbS1jb25zdHJhaW50cy5wYXRjaCIKLVNSQ19VUklbbWQ1c3VtXSA9ICJiOGRkMTliZDliYjFlYzg4MzFhNmE1ODJhNzMwODA3MyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI2Nzg3NGE2MDgyNjMwM2VlMmZiNmFmZmM2ZGMwZGRkM2U3NDllOWJmY2I0Yzg2NTVlMzk1M2QwNDU4YTZlMTZlIgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cDovL3d3dy5tcGZyLm9yZy9tcGZyLWN1cnJlbnQvIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L21wZnIvbXBmcl80LjAuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbXBmci9tcGZyXzQuMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzMDU5MTcKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L21wZnIvbXBmcl80LjAuMi5iYgpAQCAtMCwwICsxLDE5IEBACitTVU1NQVJZID0gIkMgbGlicmFyeSBmb3IgbXVsdGlwbGUtcHJlY2lzaW9uIGZsb2F0aW5nLXBvaW50IGNvbXB1dGF0aW9ucyB3aXRoIGV4YWN0IHJvdW5kaW5nIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5tcGZyLm9yZy8iCitMSUNFTlNFID0gIkxHUEx2MysiCitTRUNUSU9OID0gImRldmVsIgorCitpbmhlcml0IGF1dG90b29scyB0ZXhpbmZvCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTFlYmJkM2UzNDIzN2FmMjZkYTVkYzA4YTRlNDQwNDY0IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEVTU0VSO21kNT0zMDAwMjA4ZDUzOWVjMDYxYjg5OWJjZTFkOWNlOTQwNCBcCisgICAgICAgICAgICAgICAgICAgICIKK0RFUEVORFMgPSAiZ21wIGF1dG9jb25mLWFyY2hpdmUiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5tcGZyLm9yZy9tcGZyLSR7UFZ9L21wZnItJHtQVn0udGFyLnh6IgorU1JDX1VSSVttZDVzdW1dID0gIjMyMGZiYzQ0NjNkNGM4Y2IxZTU2NjkyOWQ4YWRjNGY4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFkM2JlNzA4NjA0ZWFlMGU0MmQ1NzhiYTkzYjM5MGMyYTE0NWYxNzc0M2E3NDRkOGYzZjhjMmFkNTg1NWEzOGEiCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8vd3d3Lm1wZnIub3JnL21wZnItY3VycmVudC8iCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbmV0dGxlL25ldHRsZS0zLjQvQWRkLXRhcmdldC10by1vbmx5LWJ1aWxkLXRlc3RzLW5vdC1ydW4tdGhlbS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbmV0dGxlL25ldHRsZS0zLjQuMS9BZGQtdGFyZ2V0LXRvLW9ubHktYnVpbGQtdGVzdHMtbm90LXJ1bi10aGVtLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25ldHRsZS9uZXR0bGUtMy40L0FkZC10YXJnZXQtdG8tb25seS1idWlsZC10ZXN0cy1ub3QtcnVuLXRoZW0ucGF0Y2gKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbmV0dGxlL25ldHRsZS0zLjQuMS9BZGQtdGFyZ2V0LXRvLW9ubHktYnVpbGQtdGVzdHMtbm90LXJ1bi10aGVtLnBhdGNoCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25ldHRsZS9uZXR0bGUtMy40L2NoZWNrLWhlYWRlci1maWxlcy1vZi1vcGVuc3NsLW9ubHktaWYtZW5hYmxlXy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbmV0dGxlL25ldHRsZS0zLjQuMS9jaGVjay1oZWFkZXItZmlsZXMtb2Ytb3BlbnNzbC1vbmx5LWlmLWVuYWJsZV8ucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbmV0dGxlL25ldHRsZS0zLjQvY2hlY2staGVhZGVyLWZpbGVzLW9mLW9wZW5zc2wtb25seS1pZi1lbmFibGVfLnBhdGNoCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25ldHRsZS9uZXR0bGUtMy40LjEvY2hlY2staGVhZGVyLWZpbGVzLW9mLW9wZW5zc2wtb25seS1pZi1lbmFibGVfLnBhdGNoCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25ldHRsZS9uZXR0bGUtMy40L2Rsb3Blbi10ZXN0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uZXR0bGUvbmV0dGxlLTMuNC4xL2Rsb3Blbi10ZXN0LnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25ldHRsZS9uZXR0bGUtMy40L2Rsb3Blbi10ZXN0LnBhdGNoCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25ldHRsZS9uZXR0bGUtMy40LjEvZGxvcGVuLXRlc3QucGF0Y2gKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbmV0dGxlL25ldHRsZS0zLjQvcnVuLXB0ZXN0IGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uZXR0bGUvbmV0dGxlLTMuNC4xL3J1bi1wdGVzdApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uZXR0bGUvbmV0dGxlLTMuNC9ydW4tcHRlc3QKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbmV0dGxlL25ldHRsZS0zLjQuMS9ydW4tcHRlc3QKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbmV0dGxlL25ldHRsZV8zLjQuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbmV0dGxlL25ldHRsZV8zLjQuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZDQ5YzMwCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uZXR0bGUvbmV0dGxlXzMuNC4xLmJiCkBAIC0wLDAgKzEsNTIgQEAKK1NVTU1BUlkgPSAiQSBsb3cgbGV2ZWwgY3J5cHRvZ3JhcGhpYyBsaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+bmlzc2UvbmV0dGxlLyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYzKyB8IEdQTHYyKyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5MRVNTRVJ2MzttZDU9NmE2YThlMDIwODM4YjIzNDA2YzgxYjE5YzFkNDZkZjYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlOR3YyO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zZXJwZW50LWRlY3J5cHQuYztiZWdpbmxpbmU9MTQ7ZW5kbGluZT0zNjttZDU9Y2EwZDIyMGJjNDEzZTE4NDJlY2M1MDc2OTBjZTQxNmUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc2VycGVudC1zZXQta2V5LmM7YmVnaW5saW5lPTE0O2VuZGxpbmU9MzY7bWQ1PWNhMGQyMjBiYzQxM2UxODQyZWNjNTA3NjkwY2U0MTZlIgorCitERVBFTkRTICs9ICJnbXAiCisKK1NSQ19VUkkgPSAiJHtHTlVfTUlSUk9SfS8ke0JQTn0vJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL0FkZC10YXJnZXQtdG8tb25seS1idWlsZC10ZXN0cy1ub3QtcnVuLXRoZW0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAgZmlsZTovL2NoZWNrLWhlYWRlci1maWxlcy1vZi1vcGVuc3NsLW9ubHktaWYtZW5hYmxlXy5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIlwKKyAgICAgICAgICAgIGZpbGU6Ly9kbG9wZW4tdGVzdC5wYXRjaCBcCisgICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5YmRlYmIwZTJmNjM4ZDNiOWQ5MWY3ZmMyNjRiNzBjMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmOTQxY2YxNTM1Y2Q1ZDE4MTliZTVjY2FlNWJhYmVmMDFmNmRiNjExZjliNWE3NzdiYWU5Yzc2MDRiOGE5MmFkIgorCitVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJuZXR0bGUtKD9QPHB2ZXI+XGQrKFwuXGQrKSspXC50YXIiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHB0ZXN0IG11bHRpbGliX2hlYWRlcgorCitFWFRSQV9BVVRPUkVDT05GICs9ICItLWV4Y2x1ZGU9YWNsb2NhbCIKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1vcGVuc3NsIgorQ0ZMQUdTX2FwcGVuZCA9ICIgLXN0ZD1jOTkiCisKK2RvX2NvbXBpbGVfcHRlc3QoKSB7CisgICAgICAgIG9lX3J1bm1ha2UgYnVpbGR0ZXN0Cit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIG9lX211bHRpbGliX2hlYWRlciBuZXR0bGUvbmV0dGxlLXN0ZGludC5oIG5ldHRsZS92ZXJzaW9uLmgKK30KKworZG9faW5zdGFsbF9wdGVzdCgpIHsKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS90ZXN0c3VpdGUvCisgICAgICAgIGluc3RhbGwgJHtTfS90ZXN0c3VpdGUvZ29sZC1idWcudHh0ICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzdWl0ZS8KKyAgICAgICAgaW5zdGFsbCAke1N9L3Rlc3RzdWl0ZS8qLXRlc3QgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHN1aXRlLworICAgICAgICAjIHRvb2xzIGNhbiBiZSBmb3VuZCBpbiBQQVRILCBub3QgaW4gLi4vdG9vbHMvCisgICAgICAgIHNlZCAtaSAtZSAnc3wuLi90b29scy98fCcgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHN1aXRlLyotdGVzdAorICAgICAgICBpbnN0YWxsICR7Qn0vdGVzdHN1aXRlLyotdGVzdCAke0R9JHtQVEVTVF9QQVRIfS90ZXN0c3VpdGUvCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbmV0dGxlL25ldHRsZV8zLjQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25ldHRsZS9uZXR0bGVfMy40LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYTg0NTBlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbmV0dGxlL25ldHRsZV8zLjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1MSArMCwwIEBACi1TVU1NQVJZID0gIkEgbG93IGxldmVsIGNyeXB0b2dyYXBoaWMgbGlicmFyeSIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cubHlzYXRvci5saXUuc2Uvfm5pc3NlL25ldHRsZS8iCi1TRUNUSU9OID0gImxpYnMiCi1MSUNFTlNFID0gIkxHUEx2MysgfCBHUEx2MisiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTEVTU0VSdjM7bWQ1PTZhNmE4ZTAyMDgzOGIyMzQwNmM4MWIxOWMxZDQ2ZGY2IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkd2MjttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc2VycGVudC1kZWNyeXB0LmM7YmVnaW5saW5lPTE0O2VuZGxpbmU9MzY7bWQ1PWNhMGQyMjBiYzQxM2UxODQyZWNjNTA3NjkwY2U0MTZlIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NlcnBlbnQtc2V0LWtleS5jO2JlZ2lubGluZT0xNDtlbmRsaW5lPTM2O21kNT1jYTBkMjIwYmM0MTNlMTg0MmVjYzUwNzY5MGNlNDE2ZSIKLQotREVQRU5EUyArPSAiZ21wIgotCi1TUkNfVVJJID0gIiR7R05VX01JUlJPUn0vJHtCUE59LyR7QlB9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9BZGQtdGFyZ2V0LXRvLW9ubHktYnVpbGQtdGVzdHMtbm90LXJ1bi10aGVtLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCi0gICAgICAgICAgIGZpbGU6Ly9jaGVjay1oZWFkZXItZmlsZXMtb2Ytb3BlbnNzbC1vbmx5LWlmLWVuYWJsZV8ucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICJcCi0gICAgICAgICAgICBmaWxlOi8vZGxvcGVuLXRlc3QucGF0Y2ggXAotICAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiZGMwZjEzMDI4MjY0OTkyZjU4ZTY3YjRlODkxNWY1M2QiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWU3YTQyZGYwMjY1NTBiODVkYWNhODM4OWI2YTYwYmE2MzEzYjA1NjdmMzc0MzkyZTU0OTE4NTg4YTQxMWU5NCIKLQotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAibmV0dGxlLSg/UDxwdmVyPlxkKyhcLlxkKykrKVwudGFyIgotCi1pbmhlcml0IGF1dG90b29scyBwdGVzdCBtdWx0aWxpYl9oZWFkZXIKLQotRVhUUkFfQVVUT1JFQ09ORiArPSAiLS1leGNsdWRlPWFjbG9jYWwiCi0KLUVYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtb3BlbnNzbCIKLQotZG9fY29tcGlsZV9wdGVzdCgpIHsKLSAgICAgICAgb2VfcnVubWFrZSBidWlsZHRlc3QKLX0KLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgb2VfbXVsdGlsaWJfaGVhZGVyIG5ldHRsZS9uZXR0bGUtc3RkaW50LmggbmV0dGxlL3ZlcnNpb24uaAotfQotCi1kb19pbnN0YWxsX3B0ZXN0KCkgewotICAgICAgICBpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzdWl0ZS8KLSAgICAgICAgaW5zdGFsbCAke1N9L3Rlc3RzdWl0ZS9nb2xkLWJ1Zy50eHQgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHN1aXRlLwotICAgICAgICBpbnN0YWxsICR7U30vdGVzdHN1aXRlLyotdGVzdCAke0R9JHtQVEVTVF9QQVRIfS90ZXN0c3VpdGUvCi0gICAgICAgICMgdG9vbHMgY2FuIGJlIGZvdW5kIGluIFBBVEgsIG5vdCBpbiAuLi90b29scy8KLSAgICAgICAgc2VkIC1pIC1lICdzfC4uL3Rvb2xzL3x8JyAke0R9JHtQVEVTVF9QQVRIfS90ZXN0c3VpdGUvKi10ZXN0Ci0gICAgICAgIGluc3RhbGwgJHtCfS90ZXN0c3VpdGUvKi10ZXN0ICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzdWl0ZS8KLX0KLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uc3ByL25zcHIvMDAwMi1BZGQtbmlvczItc3VwcG9ydC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbnNwci9uc3ByLzAwMDItQWRkLW5pb3MyLXN1cHBvcnQucGF0Y2gKaW5kZXggMjMyMjgwNi4uM2EwNGQ0MiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uc3ByL25zcHIvMDAwMi1BZGQtbmlvczItc3VwcG9ydC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25zcHIvbnNwci8wMDAyLUFkZC1uaW9zMi1zdXBwb3J0LnBhdGNoCkBAIC0xMiwxMSArMTIsMTEgQEAKICBuc3ByL3ByL2luY2x1ZGUvbWQvX2xpbnV4LmggICB8IDE0ICsrKysrKysrKysrKysrCiAgMiBmaWxlcyBjaGFuZ2VkLCA1OSBpbnNlcnRpb25zKCspCiAKLWRpZmYgLS1naXQgYS9wci9pbmNsdWRlL21kL19saW51eC5jZmcgYi9uc3ByL3ByL2luY2x1ZGUvbWQvX2xpbnV4LmNmZwotaW5kZXggOGNiZjBjYi4uMTUwNjc2YiAxMDA2NDQKLS0tLSBhL3ByL2luY2x1ZGUvbWQvX2xpbnV4LmNmZwotKysrIGIvcHIvaW5jbHVkZS9tZC9fbGludXguY2ZnCi1AQCAtOTcyLDYgKzk3Miw1MSBAQAorSW5kZXg6IG5zcHIvcHIvaW5jbHVkZS9tZC9fbGludXguY2ZnCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbnNwci5vcmlnL3ByL2luY2x1ZGUvbWQvX2xpbnV4LmNmZworKysrIG5zcHIvcHIvaW5jbHVkZS9tZC9fbGludXguY2ZnCitAQCAtOTc1LDYgKzk3NSw1MSBAQAogICNkZWZpbmUgUFJfQllURVNfUEVSX1dPUkRfTE9HMiAgIDIKICAjZGVmaW5lIFBSX0JZVEVTX1BFUl9EV09SRF9MT0cyICAzCiAgCkBAIC02OCwxMCArNjgsMTAgQEAKICAjZWxpZiBkZWZpbmVkKF9fb3Ixa19fKQogIAogICN1bmRlZiAgSVNfTElUVExFX0VORElBTgotZGlmZiAtLWdpdCBhL3ByL2luY2x1ZGUvbWQvX2xpbnV4LmggYi9uc3ByL3ByL2luY2x1ZGUvbWQvX2xpbnV4LmgKLWluZGV4IGQzNzhkYjUuLjE4MjYwYmUgMTAwNjQ0Ci0tLS0gYS9wci9pbmNsdWRlL21kL19saW51eC5oCi0rKysgYi9wci9pbmNsdWRlL21kL19saW51eC5oCitJbmRleDogbnNwci9wci9pbmNsdWRlL21kL19saW51eC5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbnNwci5vcmlnL3ByL2luY2x1ZGUvbWQvX2xpbnV4LmgKKysrKyBuc3ByL3ByL2luY2x1ZGUvbWQvX2xpbnV4LmgKIEBAIC01NSw2ICs1NSw4IEBACiAgI2RlZmluZSBfUFJfU0lfQVJDSElURUNUVVJFICJhdnIzMiIKICAjZWxpZiBkZWZpbmVkKF9fbTMycl9fKQpAQCAtODAsOCArODAsOCBAQAogKyNkZWZpbmUgX1BSX1NJX0FSQ0hJVEVDVFVSRSAibmlvczIiCiAgI2VsaWYgZGVmaW5lZChfX29yMWtfXykKICAjZGVmaW5lIF9QUl9TSV9BUkNISVRFQ1RVUkUgIm9yMWsiCi0gI2Vsc2UKLUBAIC0xMjUsNiArMTI3LDE4IEBAIGV4dGVybiBQUkludDMyIF9QUl94ODZfNjRfQXRvbWljU2V0KFBSSW50MzIgKnZhbCwgUFJJbnQzMiBuZXd2YWwpOworICNlbGlmIGRlZmluZWQoX19yaXNjdikgJiYgKF9fcmlzY3ZfeGxlbiA9PSAzMikKK0BAIC0xMjksNiArMTMxLDE4IEBAIGV4dGVybiBQUkludDMyIF9QUl94ODZfNjRfQXRvbWljU2V0KFBSSW4KICAjZGVmaW5lIF9NRF9BVE9NSUNfU0VUICAgICAgICAgICAgICAgIF9QUl94ODZfNjRfQXRvbWljU2V0CiAgI2VuZGlmCiAgCkBAIC0xMDAsNiArMTAwLDMgQEAKICAjaWYgZGVmaW5lZChfX29yMWtfXykKICAjaWYgZGVmaW5lZChfX0dOVUNfXykKICAvKiBVc2UgR0NDIGJ1aWx0LWluIGZ1bmN0aW9ucyAqLwotLS0gCi0yLjcuMC5yYzMKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uc3ByL25zcHIvMDAwMy1BZGQtdHlwZS1kZWZpbml0aW9ucy1mb3ItdGhlLVJJU0MtVi1hcmNoaXRlY3R1cmUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25zcHIvbnNwci8wMDAzLUFkZC10eXBlLWRlZmluaXRpb25zLWZvci10aGUtUklTQy1WLWFyY2hpdGVjdHVyZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDdlMTQ3NS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25zcHIvbnNwci8wMDAzLUFkZC10eXBlLWRlZmluaXRpb25zLWZvci10aGUtUklTQy1WLWFyY2hpdGVjdHVyZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE1MCArMCwwIEBACi0jIEhHIGNoYW5nZXNldCBwYXRjaAotIyBVc2VyIEthcnN0ZW4gTWVya2VyIDxtZXJrZXJAZGViaWFuLm9yZz4KLSMgRGF0ZSAxNTIzOTc0MzMzIC03MjAwCi0jIE5vZGUgSUQgZjQ3ODcxZTJhZWIxNmIzOWQ0ZjUxNjY5MGUyNWM4MWIwNGQ2ZDA1YQotIyBQYXJlbnQgIDc3NmRiOTZmODM0Y2I4NmU4ODYzMDUyMjAxZDU1ZjYwYTJkYTkxY2IKLUJ1ZyAxMzA4NTg0LCBBZGQgdHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIFJJU0MtViBhcmNoaXRlY3R1cmUsIHI9a2FpZQotCi1TaWduZWQtb2ZmLWJ5OiBBbGlzdGFpciBGcmFuY2lzIDxhbGlzdGFpci5mcmFuY2lzQHdkYy5jb20+Ci1bIENoYW5nZXMgYnkgQUY6Ci0gLSBSZWJhc2Ugb24gb3RoZXIgWW9jdG8gcGF0Y2hlcwotXQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbIGh0dHBzOi8vaGcubW96aWxsYS5vcmcvcHJvamVjdHMvbnNwci9yZXYvZjQ3ODcxZTJhZWIxIF0KLQotZGlmZiAtLWdpdCBhL3ByL2luY2x1ZGUvbWQvX2xpbnV4LmNmZyBiL3ByL2luY2x1ZGUvbWQvX2xpbnV4LmNmZwotLS0tIGEvcHIvaW5jbHVkZS9tZC9fbGludXguY2ZnCi0rKysgYi9wci9pbmNsdWRlL21kL19saW51eC5jZmcKLUBAIC0xMDE1LDE2ICsxMDE1LDEwOCBAQAotICNkZWZpbmUgUFJfQUxJR05fT0ZfRkxPQVQgICA0Ci0gI2RlZmluZSBQUl9BTElHTl9PRl9ET1VCTEUgIDQKLSAjZGVmaW5lIFBSX0FMSUdOX09GX1BPSU5URVIgNAotICNkZWZpbmUgUFJfQUxJR05fT0ZfV09SRCAgICA0Ci0gCi0gI2RlZmluZSBQUl9CWVRFU19QRVJfV09SRF9MT0cyICAgMgotICNkZWZpbmUgUFJfQllURVNfUEVSX0RXT1JEX0xPRzIgIDMKLSAKLSsjZWxpZiBkZWZpbmVkKF9fcmlzY3YpICYmIChfX3Jpc2N2X3hsZW4gPT0gMzIpCi0rCi0rI3VuZGVmICBJU19CSUdfRU5ESUFOCi0rI2RlZmluZSBJU19MSVRUTEVfRU5ESUFOIDEKLSsjdW5kZWYgIElTXzY0Ci0rCi0rI2RlZmluZSBQUl9CWVRFU19QRVJfQllURSAgIDEKLSsjZGVmaW5lIFBSX0JZVEVTX1BFUl9TSE9SVCAgMgotKyNkZWZpbmUgUFJfQllURVNfUEVSX0lOVCAgICA0Ci0rI2RlZmluZSBQUl9CWVRFU19QRVJfSU5UNjQgIDgKLSsjZGVmaW5lIFBSX0JZVEVTX1BFUl9MT05HICAgNAotKyNkZWZpbmUgUFJfQllURVNfUEVSX0ZMT0FUICA0Ci0rI2RlZmluZSBQUl9CWVRFU19QRVJfRE9VQkxFIDgKLSsjZGVmaW5lIFBSX0JZVEVTX1BFUl9XT1JEICAgNAotKyNkZWZpbmUgUFJfQllURVNfUEVSX0RXT1JEICA4Ci0rCi0rI2RlZmluZSBQUl9CSVRTX1BFUl9CWVRFICAgIDgKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX1NIT1JUICAgMTYKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0lOVCAgICAgMzIKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0lOVDY0ICAgNjQKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0xPTkcgICAgMzIKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0ZMT0FUICAgMzIKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0RPVUJMRSAgNjQKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX1dPUkQgICAgMzIKLSsKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0JZVEVfTE9HMiAgIDMKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX1NIT1JUX0xPRzIgIDQKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0lOVF9MT0cyICAgIDUKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0lOVDY0X0xPRzIgIDYKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0xPTkdfTE9HMiAgIDUKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0ZMT0FUX0xPRzIgIDUKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0RPVUJMRV9MT0cyIDYKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX1dPUkRfTE9HMiAgIDUKLSsKLSsjZGVmaW5lIFBSX0FMSUdOX09GX1NIT1JUICAgMgotKyNkZWZpbmUgUFJfQUxJR05fT0ZfSU5UICAgICA0Ci0rI2RlZmluZSBQUl9BTElHTl9PRl9MT05HICAgIDQKLSsjZGVmaW5lIFBSX0FMSUdOX09GX0lOVDY0ICAgOAotKyNkZWZpbmUgUFJfQUxJR05fT0ZfRkxPQVQgICA0Ci0rI2RlZmluZSBQUl9BTElHTl9PRl9ET1VCTEUgIDgKLSsjZGVmaW5lIFBSX0FMSUdOX09GX1BPSU5URVIgNAotKyNkZWZpbmUgUFJfQUxJR05fT0ZfV09SRCAgICA0Ci0rCi0rI2RlZmluZSBQUl9CWVRFU19QRVJfV09SRF9MT0cyICAyCi0rI2RlZmluZSBQUl9CWVRFU19QRVJfRFdPUkRfTE9HMiAzCi0rCi0rI2VsaWYgZGVmaW5lZChfX3Jpc2N2KSAmJiAoX19yaXNjdl94bGVuID09IDY0KQotKwotKyN1bmRlZiAgSVNfQklHX0VORElBTgotKyNkZWZpbmUgSVNfTElUVExFX0VORElBTiAxCi0rI2RlZmluZSBJU182NAotKwotKyNkZWZpbmUgUFJfQllURVNfUEVSX0JZVEUgICAxCi0rI2RlZmluZSBQUl9CWVRFU19QRVJfU0hPUlQgIDIKLSsjZGVmaW5lIFBSX0JZVEVTX1BFUl9JTlQgICAgNAotKyNkZWZpbmUgUFJfQllURVNfUEVSX0lOVDY0ICA4Ci0rI2RlZmluZSBQUl9CWVRFU19QRVJfTE9ORyAgIDgKLSsjZGVmaW5lIFBSX0JZVEVTX1BFUl9GTE9BVCAgNAotKyNkZWZpbmUgUFJfQllURVNfUEVSX0RPVUJMRSA4Ci0rI2RlZmluZSBQUl9CWVRFU19QRVJfV09SRCAgIDgKLSsjZGVmaW5lIFBSX0JZVEVTX1BFUl9EV09SRCAgOAotKwotKyNkZWZpbmUgUFJfQklUU19QRVJfQllURSAgICA4Ci0rI2RlZmluZSBQUl9CSVRTX1BFUl9TSE9SVCAgIDE2Ci0rI2RlZmluZSBQUl9CSVRTX1BFUl9JTlQgICAgIDMyCi0rI2RlZmluZSBQUl9CSVRTX1BFUl9JTlQ2NCAgIDY0Ci0rI2RlZmluZSBQUl9CSVRTX1BFUl9MT05HICAgIDY0Ci0rI2RlZmluZSBQUl9CSVRTX1BFUl9GTE9BVCAgIDMyCi0rI2RlZmluZSBQUl9CSVRTX1BFUl9ET1VCTEUgIDY0Ci0rI2RlZmluZSBQUl9CSVRTX1BFUl9XT1JEICAgIDY0Ci0rCi0rI2RlZmluZSBQUl9CSVRTX1BFUl9CWVRFX0xPRzIgICAzCi0rI2RlZmluZSBQUl9CSVRTX1BFUl9TSE9SVF9MT0cyICA0Ci0rI2RlZmluZSBQUl9CSVRTX1BFUl9JTlRfTE9HMiAgICA1Ci0rI2RlZmluZSBQUl9CSVRTX1BFUl9JTlQ2NF9MT0cyICA2Ci0rI2RlZmluZSBQUl9CSVRTX1BFUl9MT05HX0xPRzIgICA2Ci0rI2RlZmluZSBQUl9CSVRTX1BFUl9GTE9BVF9MT0cyICA1Ci0rI2RlZmluZSBQUl9CSVRTX1BFUl9ET1VCTEVfTE9HMiA2Ci0rI2RlZmluZSBQUl9CSVRTX1BFUl9XT1JEX0xPRzIgICA2Ci0rCi0rI2RlZmluZSBQUl9BTElHTl9PRl9TSE9SVCAgIDIKLSsjZGVmaW5lIFBSX0FMSUdOX09GX0lOVCAgICAgNAotKyNkZWZpbmUgUFJfQUxJR05fT0ZfTE9ORyAgICA4Ci0rI2RlZmluZSBQUl9BTElHTl9PRl9JTlQ2NCAgIDgKLSsjZGVmaW5lIFBSX0FMSUdOX09GX0ZMT0FUICAgNAotKyNkZWZpbmUgUFJfQUxJR05fT0ZfRE9VQkxFICA4Ci0rI2RlZmluZSBQUl9BTElHTl9PRl9QT0lOVEVSIDgKLSsjZGVmaW5lIFBSX0FMSUdOX09GX1dPUkQgICAgOAotKwotKyNkZWZpbmUgUFJfQllURVNfUEVSX1dPUkRfTE9HMiAgMwotKyNkZWZpbmUgUFJfQllURVNfUEVSX0RXT1JEX0xPRzIgMwotKwotICNlbHNlCi0gCi0gI2Vycm9yICJVbmtub3duIENQVSBhcmNoaXRlY3R1cmUiCi0gCi0gI2VuZGlmCi0gCi0gI2lmbmRlZiBIQVZFX0xPTkdfTE9ORwotICNkZWZpbmUJSEFWRV9MT05HX0xPTkcKLWRpZmYgLS1naXQgYS9wci9pbmNsdWRlL21kL19saW51eC5oIGIvcHIvaW5jbHVkZS9tZC9fbGludXguaAotLS0tIGEvcHIvaW5jbHVkZS9tZC9fbGludXguaAotKysrIGIvcHIvaW5jbHVkZS9tZC9fbGludXguaAotQEAgLTU0LDE2ICs1NCwyMCBAQAotICNlbGlmIGRlZmluZWQoX19hdnIzMl9fKQotICNkZWZpbmUgX1BSX1NJX0FSQ0hJVEVDVFVSRSAiYXZyMzIiCi0gI2VsaWYgZGVmaW5lZChfX20zMnJfXykKLSAjZGVmaW5lIF9QUl9TSV9BUkNISVRFQ1RVUkUgIm0zMnIiCi0gI2VsaWYgZGVmaW5lZChfX25pb3MyX18pCi0gI2RlZmluZSBfUFJfU0lfQVJDSElURUNUVVJFICJuaW9zMiIKLSAjZWxpZiBkZWZpbmVkKF9fb3Ixa19fKQotICNkZWZpbmUgX1BSX1NJX0FSQ0hJVEVDVFVSRSAib3IxayIKLSsjZWxpZiBkZWZpbmVkKF9fcmlzY3YpICYmIChfX3Jpc2N2X3hsZW4gPT0gMzIpCi0rI2RlZmluZSBfUFJfU0lfQVJDSElURUNUVVJFICJyaXNjdjMyIgotKyNlbGlmIGRlZmluZWQoX19yaXNjdikgJiYgKF9fcmlzY3ZfeGxlbiA9PSA2NCkKLSsjZGVmaW5lIF9QUl9TSV9BUkNISVRFQ1RVUkUgInJpc2N2NjQiCi0gI2Vsc2UKLSAjZXJyb3IgIlVua25vd24gQ1BVIGFyY2hpdGVjdHVyZSIKLSAjZW5kaWYKLSAjZGVmaW5lIFBSX0RMTF9TVUZGSVgJCSIuc28iCi0gCi0gI2RlZmluZSBfUFJfVk1CQVNFICAgICAgICAgICAgICAweDMwMDAwMDAwCi0gI2RlZmluZSBfUFJfU1RBQ0tfVk1CQVNFCTB4NTAwMDAwMDAKLSAjZGVmaW5lIF9NRF9ERUZBVUxUX1NUQUNLX1NJWkUJNjU1MzZMCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbnNwci9uc3ByL3JlbW92ZS1ycGF0aC1mcm9tLXRlc3RzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uc3ByL25zcHIvcmVtb3ZlLXJwYXRoLWZyb20tdGVzdHMucGF0Y2gKaW5kZXggZWNjNmQzMS4uN2JhNTllZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uc3ByL25zcHIvcmVtb3ZlLXJwYXRoLWZyb20tdGVzdHMucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uc3ByL25zcHIvcmVtb3ZlLXJwYXRoLWZyb20tdGVzdHMucGF0Y2gKQEAgLTE1LDcgKzE1LDcgQEAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSBuc3ByLm9yaWcvcHIvdGVzdHMvTWFrZWZpbGUuaW4KICsrKyBuc3ByL3ByL3Rlc3RzL01ha2VmaWxlLmluCi1AQCAtMzE1LDcgKzMxNSw3IEBAIGlmZXEgKCQoT1NfQVJDSCksIFN1bk9TKQorQEAgLTMxNiw3ICszMTYsNyBAQCBpZmVxICgkKE9TX0FSQ0gpLCBTdW5PUykKICBlbmRpZiAjIFN1bk9TCiAgCiAgaWZlcSAoLCQoZmlsdGVyLW91dCBMaW51eCBHTlUgR05VXyUsJChPU19BUkNIKSkpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25zcHIvbnNwcl80LjE5LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uc3ByL25zcHJfNC4xOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTI2M2Y2OC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25zcHIvbnNwcl80LjE5LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTk1ICswLDAgQEAKLVNVTU1BUlkgPSAiTmV0c2NhcGUgUG9ydGFibGUgUnVudGltZSBMaWJyYXJ5IgotSE9NRVBBR0UgPSAgImh0dHA6Ly93d3cubW96aWxsYS5vcmcvcHJvamVjdHMvbnNwci8iCi1MSUNFTlNFID0gIkdQTC0yLjAgfCBNUEwtMi4wIHwgTEdQTC0yLjEiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9jb25maWd1cmUuaW47YmVnaW5saW5lPTM7ZW5kbGluZT02O21kNT05MGMyZmRlZTM4ZTQ1ZDYzMDJhYmNmZTQ3NWM4YjVjNSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9NYWtlZmlsZS5pbjtiZWdpbmxpbmU9NDtlbmRsaW5lPTM4O21kNT1iZWRhMWRiYjk4YTUxNWY1NTdkM2U1OGVmMDZiY2E5OSIKLVNFQ1RJT04gPSAibGlicy9uZXR3b3JrIgotCi1TUkNfVVJJID0gImh0dHA6Ly9mdHAubW96aWxsYS5vcmcvcHViL25zcHIvcmVsZWFzZXMvdiR7UFZ9L3NyYy9uc3ByLSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9yZW1vdmUtcnBhdGgtZnJvbS10ZXN0cy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9maXgtYnVpbGQtb24teDg2XzY0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3JlbW92ZS1zcmNkaXItZnJvbS1jb25maWd1cmUtaW4ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1BZGQtbmlvczItc3VwcG9ydC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLW1kLUZpeC1idWlsZC13aXRoLW11c2wucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMy1BZGQtdHlwZS1kZWZpbml0aW9ucy1mb3ItdGhlLVJJU0MtVi1hcmNoaXRlY3R1cmUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNC1BZGQtQVJDLXN1cHBvcnQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vTWFrZWZpbGUuaW4tcmVtb3ZlLV9CVUlMRF9TVFJJTkctYW5kLV9CVUlMRF9USU1FLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL25zcHIucGMuaW4gXAotIgotCi1DQUNIRURfQ09ORklHVVJFVkFSU19hcHBlbmRfbGliYy1tdXNsID0gIiBDRkxBR1M9JyR7Q0ZMQUdTfSAtRF9QUl9QT0xMX0FWQUlMQUJMRSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtRF9QUl9IQVZFX09GRjY0X1QgLURfUFJfSU5FVDYgLURfUFJfSEFWRV9JTkVUX05UT1AgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLURfUFJfSEFWRV9HRVRIT1NUQllOQU1FMiAtRF9QUl9IQVZFX0dFVEFERFJJTkZPIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1EX1BSX0lORVQ2X1BST0JFIC1ETk9fRExPUEVOX05VTEwnIgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cDovL2Z0cC5tb3ppbGxhLm9yZy9wdWIvbnNwci9yZWxlYXNlcy8iCi1VUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJ2KD9QPHB2ZXI+XGQrKFwuXGQrKSspLyIKLQotU1JDX1VSSVttZDVzdW1dID0gImUxZDI3MjgyYWQ2Mjg2YjY5ZDZiOWZkMDcyMDFkM2RkIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJlZDk1OTE3ZmEyMjc3OTEwZDFkMWNmMzYwMzA2MDdkY2NjMGJhNTIyYmJhMDhlMmFmMTNjMTEzZGNkOGY3MjkiCi0KLUNWRV9QUk9EVUNUID0gIm5ldHNjYXBlX3BvcnRhYmxlX3J1bnRpbWUiCi0KLVMgPSAiJHtXT1JLRElSfS9uc3ByLSR7UFZ9L25zcHIiCi0KLVJERVBFTkRTXyR7UE59LWRldiArPSAicGVybCIKLVRBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgotCi1URVNUUyA9ICIgXAotICAgIGFjY2VwdCBcCi0gICAgYWNjZXB0cmVhZCBcCi0gICAgYWNjZXB0cmVhZGVtdSBcCi0gICAgYWZmaW5pdHkgXAotICAgIGFsYXJtIFwKLSAgICBhbm9uZm0gXAotICAgIGF0b21pYyBcCi0gICAgYXR0YWNoIFwKLSAgICBiaWdmaWxlIFwKLSAgICBjbGVhbnVwIFwKLSAgICBjbHRzcnYgIFwKLSAgICBjb25jdXIgXAotICAgIGN2YXIgXAotICAgIGN2YXIyIFwKLSAgICBkbGx0ZXN0IFwKLSAgICBkdG9hIFwKLSAgICBlcnJjb2RlcyBcCi0gICAgZXhpdCBcCi0gICAgZmRjYWNoIFwKLSAgICBmaWxlaW8gXAotICAgIGZvcmVpZ24gXAotICAgIGZvcm1hdHRtIFwKLSAgICBmc3luYyBcCi0gICAgZ2V0aG9zdCBcCi0gICAgZ2V0cHJvdG8gXAotICAgIGkybCBcCi0gICAgaW5pdGNsayBcCi0gICAgaW5ydmFsIFwKLSAgICBpbnN0cnVtdCBcCi0gICAgaW50cmlvIFwKLSAgICBpbnRydXB0IFwKLSAgICBpb190aW1lb3V0IFwKLSAgICBpb2NvbnRociBcCi0gICAgam9pbiBcCi0gICAgam9pbmtrIFwKLSAgICBqb2lua3UgXAotICAgIGpvaW51ayBcCi0gICAgam9pbnV1IFwKLSAgICBsYXllciBcCi0gICAgbGF6eWluaXQgXAotICAgIGxpYmZpbGVuYW1lIFwKLSAgICBsbHRlc3QgXAotICAgIGxvY2sgXAotICAgIGxvY2tmaWxlIFwKLSAgICBsb2dmaWxlIFwKLSAgICBsb2dnZXIgXAotICAgIG1hbnlfY3YgXAotICAgIG11bHRpd2FpdCBcCi0gICAgbmFtZXNobTEgXAotICAgIG5ibGF5ZXIgXAotICAgIG5vbmJsb2NrIFwKLSAgICBudGlvdG8gXAotICAgIG50b2ggXAotICAgIG9wXzJsb25nIFwKLSAgICBvcF9leGNsIFwKLSAgICBvcF9maWxuZiBcCi0gICAgb3BfZmlsb2sgXAotICAgIG9wX25vZmlsIFwKLSAgICBwYXJlbnQgXAotICAgIHBhcnNldG0gXAotICAgIHBlZWsgXAotICAgIHBlcmYgXAotICAgIHBpcGVwaW5nIFwKLSAgICBwaXBlcGluZzIgXAotICAgIHBpcGVzZWxmIFwKLSAgICBwb2xsX25tIFwKLSAgICBwb2xsX3RvIFwKLSAgICBwb2xsYWJsZSBcCi0gICAgcHJmdGVzdCBcCi0gICAgcHJpbWJsb2sgXAotICAgIHByb3ZpZGVyIFwKLSAgICBwcnBvbGxtbCBcCi0gICAgcmFuZmlsZSBcCi0gICAgcmFuZHNlZWQgXAotICAgIHJlaW5pdCBcCi0gICAgcndsb2NrdGVzdCBcCi0gICAgc2VsX3NwZCBcCi0gICAgc2VsY3RfZXIgXAotICAgIHNlbGN0X25tIFwKLSAgICBzZWxjdF90byBcCi0gICAgc2VsaW50ciBcCi0gICAgc2VtYSBcCi0gICAgc2VtYWVyciBcCi0gICAgc2VtYXBpbmcgXAotICAgIHNlbmR6bGYgXAotICAgIHNlcnZlcl90ZXN0IFwKLSAgICBzZXJ2cl9rayBcCi0gICAgc2VydnJfdWsgXAotICAgIHNlcnZyX2t1IFwKLSAgICBzZXJ2cl91dSBcCi0gICAgc2hvcnRfdGhyZWFkIFwKLSAgICBzaWdwaXBlIFwKLSAgICBzb2NrZXQgXAotICAgIHNvY2tvcHQgXAotICAgIHNvY2twaW5nIFwKLSAgICBzcHJpbnRmIFwKLSAgICBzdGFjayBcCi0gICAgc3RkaW8gXAotICAgIHN0cjJhZGRyIFwKLSAgICBzdHJvZCBcCi0gICAgc3dpdGNoIFwKLSAgICBzeXN0ZW0gXAotICAgIHRlc3RiaXQgXAotICAgIHRlc3RmaWxlIFwKLSAgICB0aHJlYWRzIFwKLSAgICB0aW1lbWFjIFwKLSAgICB0aW1ldGVzdCBcCi0gICAgdHBkIFwKLSAgICB1ZHBzcnYgXAotICAgIHZlcmNoZWNrIFwKLSAgICB2ZXJzaW9uIFwKLSAgICB3cml0ZXYgXAotICAgIHhub3RpZnkgXAotICAgIHplcm9sZW4iCi0KLWluaGVyaXQgYXV0b3Rvb2xzIG11bHRpbGliX3NjcmlwdAotCi1NVUxUSUxJQl9TQ1JJUFRTID0gIiR7UE59LWRldjoke2JpbmRpcn0vbnNwci1jb25maWciCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgZCl9IgotUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2LCIKLQotZG9fY29tcGlsZV9wcmVwZW5kKCkgewotCW9lX3J1bm1ha2UgQ1JPU1NfQ09NUElMRT0xIENGTEFHUz0iLURYUF9VTklYICR7QlVJTERfQ0ZMQUdTfSIgTERGTEFHUz0iIiBDQz0iJHtCVUlMRF9DQ30iIC1DIGNvbmZpZyBleHBvcnQKLX0KLQotZG9fY29tcGlsZV9hcHBlbmQoKSB7Ci0Jb2VfcnVubWFrZSAtQyBwci90ZXN0cwotfQotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICBpbnN0YWxsIC1EICR7V09SS0RJUn0vbnNwci5wYy5pbiAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy9uc3ByLnBjCi0gICAgc2VkIC1pICBcCi0gICAgLWUgJ3M6TlNQUlZFUlNJT046JHtQVn06ZycgXAotICAgIC1lICdzOk9FUFJFRklYOiR7cHJlZml4fTpnJyBcCi0gICAgLWUgJ3M6T0VMSUJESVI6JHtsaWJkaXJ9OmcnIFwKLSAgICAtZSAnczpPRUlOQ0RJUjoke2luY2x1ZGVkaXJ9OmcnIFwKLSAgICAtZSAnczpPRUVYRUNQUkVGSVg6JHtleGVjX3ByZWZpeH06ZycgXAotICAgICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnL25zcHIucGMKLQotICAgIG1rZGlyIC1wICR7RH0ke2xpYmRpcn0vbnNwci90ZXN0cwotICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L3ByL3Rlc3RzL3J1bnRlc3RzLnBsICR7RH0ke2xpYmRpcn0vbnNwci90ZXN0cwotICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L3ByL3Rlc3RzL3J1bnRlc3RzLnNoICR7RH0ke2xpYmRpcn0vbnNwci90ZXN0cwotICAgIGNkICR7Qn0vcHIvdGVzdHMKLSAgICBpbnN0YWxsIC1tIDA3NTUgJHtURVNUU30gJHtEfSR7bGliZGlyfS9uc3ByL3Rlc3RzCi0KLSAgICAjIGRlbGV0ZSBjb21waWxlLWV0LnBsIGFuZCBwZXJyLnByb3BlcnRpZXMgZnJvbSAke2JpbmRpcn0gYmVjYXVzZSB0aGVzZSBhcmUKLSAgICAjIG9ubHkgdXNlZCB0byBnZW5lcmF0ZSBwcmVyci5jIGFuZCBwcmVyci5oIGZpbGVzIGZyb20gcHJlcnIuZXQgYXQgY29tcGlsZQotICAgICMgdGltZQotICAgIHJtICR7RH0ke2JpbmRpcn0vY29tcGlsZS1ldC5wbCAke0R9JHtiaW5kaXJ9L3ByZXJyLnByb3BlcnRpZXMKLX0KLQotRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYiouc28iCi1GSUxFU18ke1BOfS1kZXYgPSAiJHtiaW5kaXJ9LyogJHtsaWJkaXJ9L25zcHIvdGVzdHMvKiAke2xpYmRpcn0vcGtnY29uZmlnIFwKLSAgICAgICAgICAgICAgICAke2luY2x1ZGVkaXJ9LyogJHtkYXRhZGlyfS9hY2xvY2FsLyogIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25zcHIvbnNwcl80LjIxLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uc3ByL25zcHJfNC4yMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTU2M2U1Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uc3ByL25zcHJfNC4yMS5iYgpAQCAtMCwwICsxLDE5NCBAQAorU1VNTUFSWSA9ICJOZXRzY2FwZSBQb3J0YWJsZSBSdW50aW1lIExpYnJhcnkiCitIT01FUEFHRSA9ICAiaHR0cDovL3d3dy5tb3ppbGxhLm9yZy9wcm9qZWN0cy9uc3ByLyIKK0xJQ0VOU0UgPSAiR1BMLTIuMCB8IE1QTC0yLjAgfCBMR1BMLTIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2NvbmZpZ3VyZS5pbjtiZWdpbmxpbmU9MztlbmRsaW5lPTY7bWQ1PTkwYzJmZGVlMzhlNDVkNjMwMmFiY2ZlNDc1YzhiNWM1IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL01ha2VmaWxlLmluO2JlZ2lubGluZT00O2VuZGxpbmU9Mzg7bWQ1PWJlZGExZGJiOThhNTE1ZjU1N2QzZTU4ZWYwNmJjYTk5IgorU0VDVElPTiA9ICJsaWJzL25ldHdvcmsiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Z0cC5tb3ppbGxhLm9yZy9wdWIvbnNwci9yZWxlYXNlcy92JHtQVn0vc3JjL25zcHItJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3JlbW92ZS1ycGF0aC1mcm9tLXRlc3RzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC1idWlsZC1vbi14ODZfNjQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcmVtb3ZlLXNyY2Rpci1mcm9tLWNvbmZpZ3VyZS1pbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLUFkZC1uaW9zMi1zdXBwb3J0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbWQtRml4LWJ1aWxkLXdpdGgtbXVzbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA0LUFkZC1BUkMtc3VwcG9ydC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9NYWtlZmlsZS5pbi1yZW1vdmUtX0JVSUxEX1NUUklORy1hbmQtX0JVSUxEX1RJTUUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbnNwci5wYy5pbiBcCisiCisKK0NBQ0hFRF9DT05GSUdVUkVWQVJTX2FwcGVuZF9saWJjLW11c2wgPSAiIENGTEFHUz0nJHtDRkxBR1N9IC1EX1BSX1BPTExfQVZBSUxBQkxFIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1EX1BSX0hBVkVfT0ZGNjRfVCAtRF9QUl9JTkVUNiAtRF9QUl9IQVZFX0lORVRfTlRPUCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtRF9QUl9IQVZFX0dFVEhPU1RCWU5BTUUyIC1EX1BSX0hBVkVfR0VUQUREUklORk8gXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLURfUFJfSU5FVDZfUFJPQkUgLUROT19ETE9QRU5fTlVMTCciCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8vZnRwLm1vemlsbGEub3JnL3B1Yi9uc3ByL3JlbGVhc2VzLyIKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gInYoP1A8cHZlcj5cZCsoXC5cZCspKykvIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYjg2NTU4NmYxOTkxMmE1MGFjYzM3NTVkOGE0NWRiYWEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTVlYTMyYzdiMTAwMjE3YjZlMzE5M2JjMDNlNzdmNDg1ZDliZjc1MDQwNTE0NDNiYTljZTg2ZDFjMTdjNmI1YSIKKworQ1ZFX1BST0RVQ1QgPSAibmV0c2NhcGVfcG9ydGFibGVfcnVudGltZSIKKworUyA9ICIke1dPUktESVJ9L25zcHItJHtQVn0vbnNwciIKKworUkRFUEVORFNfJHtQTn0tZGV2ICs9ICJwZXJsIgorVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCisKK1RFU1RTID0gIiBcCisgICAgYWNjZXB0IFwKKyAgICBhY2NlcHRyZWFkIFwKKyAgICBhY2NlcHRyZWFkZW11IFwKKyAgICBhZmZpbml0eSBcCisgICAgYWxhcm0gXAorICAgIGFub25mbSBcCisgICAgYXRvbWljIFwKKyAgICBhdHRhY2ggXAorICAgIGJpZ2ZpbGUgXAorICAgIGNsZWFudXAgXAorICAgIGNsdHNydiAgXAorICAgIGNvbmN1ciBcCisgICAgY3ZhciBcCisgICAgY3ZhcjIgXAorICAgIGRsbHRlc3QgXAorICAgIGR0b2EgXAorICAgIGVycmNvZGVzIFwKKyAgICBleGl0IFwKKyAgICBmZGNhY2ggXAorICAgIGZpbGVpbyBcCisgICAgZm9yZWlnbiBcCisgICAgZm9ybWF0dG0gXAorICAgIGZzeW5jIFwKKyAgICBnZXRob3N0IFwKKyAgICBnZXRwcm90byBcCisgICAgaTJsIFwKKyAgICBpbml0Y2xrIFwKKyAgICBpbnJ2YWwgXAorICAgIGluc3RydW10IFwKKyAgICBpbnRyaW8gXAorICAgIGludHJ1cHQgXAorICAgIGlvX3RpbWVvdXQgXAorICAgIGlvY29udGhyIFwKKyAgICBqb2luIFwKKyAgICBqb2lua2sgXAorICAgIGpvaW5rdSBcCisgICAgam9pbnVrIFwKKyAgICBqb2ludXUgXAorICAgIGxheWVyIFwKKyAgICBsYXp5aW5pdCBcCisgICAgbGliZmlsZW5hbWUgXAorICAgIGxsdGVzdCBcCisgICAgbG9jayBcCisgICAgbG9ja2ZpbGUgXAorICAgIGxvZ2ZpbGUgXAorICAgIGxvZ2dlciBcCisgICAgbWFueV9jdiBcCisgICAgbXVsdGl3YWl0IFwKKyAgICBuYW1lc2htMSBcCisgICAgbmJsYXllciBcCisgICAgbm9uYmxvY2sgXAorICAgIG50aW90byBcCisgICAgbnRvaCBcCisgICAgb3BfMmxvbmcgXAorICAgIG9wX2V4Y2wgXAorICAgIG9wX2ZpbG5mIFwKKyAgICBvcF9maWxvayBcCisgICAgb3Bfbm9maWwgXAorICAgIHBhcmVudCBcCisgICAgcGFyc2V0bSBcCisgICAgcGVlayBcCisgICAgcGVyZiBcCisgICAgcGlwZXBpbmcgXAorICAgIHBpcGVwaW5nMiBcCisgICAgcGlwZXNlbGYgXAorICAgIHBvbGxfbm0gXAorICAgIHBvbGxfdG8gXAorICAgIHBvbGxhYmxlIFwKKyAgICBwcmZ0ZXN0IFwKKyAgICBwcmltYmxvayBcCisgICAgcHJvdmlkZXIgXAorICAgIHBycG9sbG1sIFwKKyAgICByYW5maWxlIFwKKyAgICByYW5kc2VlZCBcCisgICAgcmVpbml0IFwKKyAgICByd2xvY2t0ZXN0IFwKKyAgICBzZWxfc3BkIFwKKyAgICBzZWxjdF9lciBcCisgICAgc2VsY3Rfbm0gXAorICAgIHNlbGN0X3RvIFwKKyAgICBzZWxpbnRyIFwKKyAgICBzZW1hIFwKKyAgICBzZW1hZXJyIFwKKyAgICBzZW1hcGluZyBcCisgICAgc2VuZHpsZiBcCisgICAgc2VydmVyX3Rlc3QgXAorICAgIHNlcnZyX2trIFwKKyAgICBzZXJ2cl91ayBcCisgICAgc2VydnJfa3UgXAorICAgIHNlcnZyX3V1IFwKKyAgICBzaG9ydF90aHJlYWQgXAorICAgIHNpZ3BpcGUgXAorICAgIHNvY2tldCBcCisgICAgc29ja29wdCBcCisgICAgc29ja3BpbmcgXAorICAgIHNwcmludGYgXAorICAgIHN0YWNrIFwKKyAgICBzdGRpbyBcCisgICAgc3RyMmFkZHIgXAorICAgIHN0cm9kIFwKKyAgICBzd2l0Y2ggXAorICAgIHN5c3RlbSBcCisgICAgdGVzdGJpdCBcCisgICAgdGVzdGZpbGUgXAorICAgIHRocmVhZHMgXAorICAgIHRpbWVtYWMgXAorICAgIHRpbWV0ZXN0IFwKKyAgICB0cGQgXAorICAgIHVkcHNydiBcCisgICAgdmVyY2hlY2sgXAorICAgIHZlcnNpb24gXAorICAgIHdyaXRldiBcCisgICAgeG5vdGlmeSBcCisgICAgemVyb2xlbiIKKworaW5oZXJpdCBhdXRvdG9vbHMgbXVsdGlsaWJfc2NyaXB0CisKK01VTFRJTElCX1NDUklQVFMgPSAiJHtQTn0tZGV2OiR7YmluZGlyfS9uc3ByLWNvbmZpZyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0iCitQQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYsIgorCitkb19jb21waWxlX3ByZXBlbmQoKSB7CisJb2VfcnVubWFrZSBDUk9TU19DT01QSUxFPTEgQ0ZMQUdTPSItRFhQX1VOSVggJHtCVUlMRF9DRkxBR1N9IiBMREZMQUdTPSIiIENDPSIke0JVSUxEX0NDfSIgLUMgY29uZmlnIGV4cG9ydAorfQorCitkb19jb21waWxlX2FwcGVuZCgpIHsKKwlvZV9ydW5tYWtlIC1DIHByL3Rlc3RzCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLUQgJHtXT1JLRElSfS9uc3ByLnBjLmluICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnL25zcHIucGMKKyAgICBzZWQgLWkgIFwKKyAgICAtZSAnczpOU1BSVkVSU0lPTjoke1BWfTpnJyBcCisgICAgLWUgJ3M6T0VQUkVGSVg6JHtwcmVmaXh9OmcnIFwKKyAgICAtZSAnczpPRUxJQkRJUjoke2xpYmRpcn06ZycgXAorICAgIC1lICdzOk9FSU5DRElSOiR7aW5jbHVkZWRpcn06ZycgXAorICAgIC1lICdzOk9FRVhFQ1BSRUZJWDoke2V4ZWNfcHJlZml4fTpnJyBcCisgICAgJHtEfSR7bGliZGlyfS9wa2djb25maWcvbnNwci5wYworCisgICAgbWtkaXIgLXAgJHtEfSR7bGliZGlyfS9uc3ByL3Rlc3RzCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vcHIvdGVzdHMvcnVudGVzdHMucGwgJHtEfSR7bGliZGlyfS9uc3ByL3Rlc3RzCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vcHIvdGVzdHMvcnVudGVzdHMuc2ggJHtEfSR7bGliZGlyfS9uc3ByL3Rlc3RzCisgICAgY2QgJHtCfS9wci90ZXN0cworICAgIGluc3RhbGwgLW0gMDc1NSAke1RFU1RTfSAke0R9JHtsaWJkaXJ9L25zcHIvdGVzdHMKKworICAgICMgZGVsZXRlIGNvbXBpbGUtZXQucGwgYW5kIHBlcnIucHJvcGVydGllcyBmcm9tICR7YmluZGlyfSBiZWNhdXNlIHRoZXNlIGFyZQorICAgICMgb25seSB1c2VkIHRvIGdlbmVyYXRlIHByZXJyLmMgYW5kIHByZXJyLmggZmlsZXMgZnJvbSBwcmVyci5ldCBhdCBjb21waWxlCisgICAgIyB0aW1lCisgICAgcm0gJHtEfSR7YmluZGlyfS9jb21waWxlLWV0LnBsICR7RH0ke2JpbmRpcn0vcHJlcnIucHJvcGVydGllcworfQorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vbGliKi5zbyIKK0ZJTEVTXyR7UE59LWRldiA9ICIke2JpbmRpcn0vKiAke2xpYmRpcn0vbnNwci90ZXN0cy8qICR7bGliZGlyfS9wa2djb25maWcgXAorICAgICAgICAgICAgICAgICR7aW5jbHVkZWRpcn0vKiAke2RhdGFkaXJ9L2FjbG9jYWwvKiAiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbnNzL25zcy9uc3MtZml4LVNIQV9IVE9OTC1idWctZm9yLWFybS0zMmJlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uc3MvbnNzL25zcy1maXgtU0hBX0hUT05MLWJ1Zy1mb3ItYXJtLTMyYmUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJiMWM2ZTMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uc3MvbnNzL25zcy1maXgtU0hBX0hUT05MLWJ1Zy1mb3ItYXJtLTMyYmUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi1TdWJqZWN0OiBbUEFUQ0hdIEZpeCBTSEFfSFRPTkwgYnVnIGZvciBhcm0gMzJiZS4KLQotSW4gYXJtIDMyYmUsIHRoZXJlIGlzIG5vIG5lZWQgdG8gcmV2ZXJzZSB0aGUgaG9zdCB2YWx1ZS4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IFpoZW5nIFJ1b3FpbiA8emhlbmdycS5mbnN0QGNuLmZ1aml0c3UuY29tPgotLS0tCi0gbGliL2ZyZWVibC9zaGFfZmFzdC5oIHwgMiArKwotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL25zcy9saWIvZnJlZWJsL3NoYV9mYXN0LmggYi9uc3MvbGliL2ZyZWVibC9zaGFfZmFzdC5oCi1pbmRleCA0ZjM3ZDEzLi44MDcyZWRhIDEwMDY0NAotLS0tIGEvbnNzL2xpYi9mcmVlYmwvc2hhX2Zhc3QuaAotKysrIGIvbnNzL2xpYi9mcmVlYmwvc2hhX2Zhc3QuaAotQEAgLTk5LDYgKzk5LDcgQEAgc3dhcDRiKFBSVWludDMyIHZhbHVlKQotICAgICAgIGRlZmluZWQoX19BUk1fQVJDSF83X18pIHx8ICAgXAotICAgICAgIGRlZmluZWQoX19BUk1fQVJDSF83QV9fKSB8fCAgXAotICAgICAgIGRlZmluZWQoX19BUk1fQVJDSF83Ul9fKSkpCi0rI2lmIGRlZmluZWQoSVNfTElUVExFX0VORElBTikgIAotIHN0YXRpYyBfX2lubGluZV9fIFBSVWludDMyCi0gc3dhcDRiKFBSVWludDMyIHZhbHVlKQotIHsKLUBAIC0xMDksNiArMTEwLDcgQEAgc3dhcDRiKFBSVWludDMyIHZhbHVlKQotICAgICByZXR1cm4gcmV0OwotIH0KLSAjZGVmaW5lIFNIQV9IVE9OTCh4KSBzd2FwNGIoeCkKLSsjZW5kaWYKLSAKLSAjZW5kaWYgLyogeDg2IGZhbWlseSAqLwotIAotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25zcy9uc3NfMy4zOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbnNzL25zc18zLjM5LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYThlNWQ0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbnNzL25zc18zLjM5LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjY1ICswLDAgQEAKLVNVTU1BUlkgPSAiTW96aWxsYSdzIFNTTCBhbmQgVExTIGltcGxlbWVudGF0aW9uIgotREVTQ1JJUFRJT04gPSAiTmV0d29yayBTZWN1cml0eSBTZXJ2aWNlcyAoTlNTKSBpcyBhIHNldCBvZiBsaWJyYXJpZXMgXAotZGVzaWduZWQgdG8gc3VwcG9ydCBjcm9zcy1wbGF0Zm9ybSBkZXZlbG9wbWVudCBvZiBcCi1zZWN1cml0eS1lbmFibGVkIGNsaWVudCBhbmQgc2VydmVyIGFwcGxpY2F0aW9ucy4gXAotQXBwbGljYXRpb25zIGJ1aWx0IHdpdGggTlNTIGNhbiBzdXBwb3J0IFNTTCB2MiBhbmQgdjMsIFwKLVRMUywgUEtDUyA1LCBQS0NTIDcsIFBLQ1MgMTEsIFBLQ1MgMTIsIFMvTUlNRSwgWC41MDkgXAotdjMgY2VydGlmaWNhdGVzLCBhbmQgb3RoZXIgc2VjdXJpdHkgc3RhbmRhcmRzLiIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cubW96aWxsYS5vcmcvcHJvamVjdHMvc2VjdXJpdHkvcGtpL25zcy8iCi1TRUNUSU9OID0gImxpYnMiCi0KLUxJQ0VOU0UgPSAiTVBMLTIuMCB8IChNUEwtMi4wICYgR1BMLTIuMCspIHwgKE1QTC0yLjAgJiBMR1BMLTIuMSspIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9uc3MvQ09QWUlORzttZDU9M2IxZTg4ZTFiOWMwYjVhNGIyODgxZDQ2Y2NlMDZhMTggXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbnNzL2xpYi9mcmVlYmwvbXBpL2RvYy9MSUNFTlNFO21kNT00OTFmMTU4ZDA5ZDk0ODQ2NmFmY2U4NWQ2ZjFmZTE4ZiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9uc3MvbGliL2ZyZWVibC9tcGkvZG9jL0xJQ0VOU0UtTVBMO21kNT01ZDQyNWM4ZjMxNTdkYmYyMTJkYjJlYzUzZDllNTEzMiIKLQotVkVSU0lPTl9ESVIgPSAiJHtAZC5nZXRWYXIoJ0JQJykudXBwZXIoKS5yZXBsYWNlKCctJywgJ18nKS5yZXBsYWNlKCcuJywgJ18nKSArICdfUlRNJ30iCi0KLVNSQ19VUkkgPSAiaHR0cDovL2Z0cC5tb3ppbGxhLm9yZy9wdWIvbW96aWxsYS5vcmcvc2VjdXJpdHkvbnNzL3JlbGVhc2VzLyR7VkVSU0lPTl9ESVJ9L3NyYy8ke0JQfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vbnNzLnBjLmluIFwKLSAgICAgICAgICAgZmlsZTovL3NpZ25saWJzLnNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtbnNzLWZpeC1zdXBwb3J0LWNyb3NzLWNvbXBpbGluZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9uc3Mtbm8tcnBhdGgtZm9yLWNyb3NzLWNvbXBpbGluZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9uc3MtZml4LWluY29ycmVjdC1zaGViYW5nLW9mLXBlcmwucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbnNzLWZpeC1uc2luc3RhbGwtYnVpbGQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGlzYWJsZS1XdmFyYXJncy13aXRoLWNsYW5nLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3BxZy5jLVVMTF9hZGRlbmQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vYmxhbmstY2VydDkuZGIgXAotICAgICAgICAgICBmaWxlOi8vYmxhbmsta2V5NC5kYiBcCi0gICAgICAgICAgIGZpbGU6Ly9zeXN0ZW0tcGtjczExLnR4dCBcCi0gICAgICAgICAgIGZpbGU6Ly9uc3MtZml4LVNIQV9IVE9OTC1idWctZm9yLWFybS0zMmJlLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMTA3MjBmYzcwZmQ0ODNkZTFiMDg1NDAyZmIxMGVkNTkiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmJlNjRkZDc2ZjIxMjQxNWNjOGJjMzQzNDNhYzFlNzM4OTA0OGRiNGRiOWEwMjNhODQ4NzNjNDExZGM1ODY0YiIKLQotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9OU1MvTlNTX1JlbGVhc2VzIgotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiTlNTXyg/UDxwdmVyPi4rKV9yZWxlYXNlX25vdGVzIgotCi1pbmhlcml0IHNpdGVpbmZvCi0KLURFUEVORFMgPSAic3FsaXRlMyBuc3ByIHpsaWIgbnNzLW5hdGl2ZSIKLURFUEVORFNfY2xhc3MtbmF0aXZlID0gInNxbGl0ZTMtbmF0aXZlIG5zcHItbmF0aXZlIHpsaWItbmF0aXZlIgotUkRFUEVORFNfJHtQTn0tc21pbWUgPSAicGVybCIKLQotVEQgPSAiJHtTfS90ZW50YXRpdmUtZGlzdCIKLVREUyA9ICIke1N9L3RlbnRhdGl2ZS1kaXN0LXN0YWdpbmciCi0KLVRBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgotCi1kb19jb25maWd1cmVfcHJlcGVuZF9saWJjLW11c2wgKCkgewotICAgIHNlZCAtaSAtZSAnLy1ESEFWRV9TWVNfQ0RFRlNfSC9kJyAke1N9L25zcy9saWIvZGJtL2NvbmZpZy9jb25maWcubWsKLX0KLQotZG9fY29tcGlsZV9wcmVwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKLSAgICBleHBvcnQgTlNQUl9JTkNMVURFX0RJUj0ke1NUQUdJTkdfSU5DRElSX05BVElWRX0KLSAgICBleHBvcnQgTlNQUl9MSUJfRElSPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfQotICAgIGV4cG9ydCBOU1NfRU5BQkxFX1dFUlJPUj0wCi19Ci0KLWRvX2NvbXBpbGVfcHJlcGVuZF9jbGFzcy1uYXRpdmVzZGsoKSB7Ci0gICAgZXhwb3J0IExERkxBR1M9IiIKLX0KLQotZG9fY29tcGlsZV9wcmVwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKLSAgICAjIE5lZWQgdG8gc2V0IFJQQVRIIHNvIHRoYXQgY2hycGF0aCB3aWxsIGRvIGl0cyBqb2IgY29ycmVjdGx5Ci0gICAgUlBBVEg9Ii1XbCwtcnBhdGgtbGluaywke1NUQUdJTkdfTElCRElSX05BVElWRX0gLVdsLC1ycGF0aC1saW5rLCR7U1RBR0lOR19CQVNFX0xJQkRJUl9OQVRJVkV9IC1XbCwtcnBhdGgsJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9IC1XbCwtcnBhdGgsJHtTVEFHSU5HX0JBU0VfTElCRElSX05BVElWRX0iCi19Ci0KLWRvX2NvbXBpbGUoKSB7Ci0gICAgZXhwb3J0IENST1NTX0NPTVBJTEU9MQotICAgIGV4cG9ydCBOQVRJVkVfQ0M9IiR7QlVJTERfQ0N9IgotICAgIGV4cG9ydCBOQVRJVkVfRkxBR1M9IiR7QlVJTERfQ0ZMQUdTfSIKLSAgICBleHBvcnQgQlVJTERfT1BUPTEKLQotICAgIGV4cG9ydCBGUkVFQkxfTk9fREVQRU5EPTEKLSAgICBleHBvcnQgRlJFRUJMX0xPV0hBU0g9MQotCi0gICAgZXhwb3J0IExJQkRJUj0ke2xpYmRpcn0KLSAgICBleHBvcnQgTU9aSUxMQV9DTElFTlQ9MQotICAgIGV4cG9ydCBOU19VU0VfR0NDPTEKLSAgICBleHBvcnQgTlNTX1VTRV9TWVNURU1fU1FMSVRFPTEKLSAgICBleHBvcnQgTlNTX0VOQUJMRV9FQ0M9MQotCi0gICAgZXhwb3J0IE9TX1JFTEVBU0U9My40Ci0gICAgZXhwb3J0IE9TX1RBUkdFVD1MaW51eAotICAgIGV4cG9ydCBPU19BUkNIPUxpbnV4Ci0KLSAgICBpZiBbICIke1RBUkdFVF9BUkNIfSIgPSAicG93ZXJwYyIgXTsgdGhlbgotICAgICAgICBPU19URVNUPXBwYwotICAgIGVsaWYgWyAiJHtUQVJHRVRfQVJDSH0iID0gInBvd2VycGM2NCIgXTsgdGhlbgotICAgICAgICBPU19URVNUPXBwYzY0Ci0gICAgZWxpZiBbICIke1RBUkdFVF9BUkNIfSIgPSAibWlwcyIgLW8gIiR7VEFSR0VUX0FSQ0h9IiA9ICJtaXBzZWwiIC1vICIke1RBUkdFVF9BUkNIfSIgPSAibWlwczY0IiAtbyAiJHtUQVJHRVRfQVJDSH0iID0gIm1pcHM2NGVsIiBdOyB0aGVuCi0gICAgICAgIE9TX1RFU1Q9bWlwcwotICAgIGVsaWYgWyAiJHtUQVJHRVRfQVJDSH0iID0gImFhcmNoNjRfYmUiIF07IHRoZW4KLSAgICAgICAgT1NfVEVTVD0iYWFyY2g2NCIKLSAgICBlbHNlCi0gICAgICAgIE9TX1RFU1Q9IiR7VEFSR0VUX0FSQ0h9IgotICAgIGZpCi0KLSAgICBpZiBbICIke1NJVEVJTkZPX0JJVFN9IiA9ICI2NCIgXTsgdGhlbgotICAgICAgICBleHBvcnQgVVNFXzY0PTEKLSAgICBlbGlmIFsgIiR7VEFSR0VUX0FSQ0h9IiA9ICJ4ODZfNjQiIC1hICIke1NJVEVJTkZPX0JJVFN9IiA9ICIzMiIgXTsgdGhlbgotICAgICAgICBleHBvcnQgVVNFX1gzMj0xCi0gICAgZmkKLQotICAgIGV4cG9ydCBOU1NfRElTQUJMRV9HVEVTVFM9MQotCi0gICAgIyBXZSBjYW4gbW9kaWZ5IENDIGluIHRoZSBlbnZpcm9ubWVudCwgYnV0IGlmIHdlIHNldCBpdCB2aWEgYW4KLSAgICAjIGFyZ3VtZW50IHRvIG1ha2UsIG5zaW5zdGFsbCwgYSBob3N0IHByb2dyYW0sIHdpbGwgYWxzbyBidWlsZCB3aXRoIGl0IQotICAgICMKLSAgICAjIG5zcyBwcmV0dHkgbXVjaCBkb2VzIGl0cyBvd24gdGhpbmcgd2l0aCBDRkxBR1MsIHNvIHdlIHB1dCB0aGVtIGludG8gQ0MuCi0gICAgIyBPcHRpbWl6YXRpb24gd2lsbCBnZXQgY2xvYmJlcmVkLCBidXQgbW9zdCBvZiB0aGUgc3R1ZmYgd2lsbCBzdXJ2aXZlLgotICAgICMgVGhlIG1vdGl2YXRpb24gZm9yIHRoaXMgaXMgdG8gcG9pbnQgdG8gdGhlIGNvcnJlY3QgcGxhY2UgZm9yIGRlYnVnCi0gICAgIyBzb3VyY2UgZmlsZXMgYW5kIENGTEFHUyBkb2VzIHRoYXQuICBOb3RoaW5nIHVzZXMgQ0NDLgotICAgICMKLSAgICBleHBvcnQgQ0M9IiR7Q0N9ICR7Q0ZMQUdTfSIKLSAgICBtYWtlIC1DIC4vbnNzIENDQz0iJHtDWFh9IC1nIiBcCi0gICAgICAgIE9TX1RFU1Q9JHtPU19URVNUfSBcCi0gICAgICAgIFJQQVRIPSIke1JQQVRIfSIKLX0KLWRvX2NvbXBpbGVbdmFyZGVwc2V4Y2x1ZGVdICs9ICJTSVRFSU5GT19CSVRTIgotCi0KLWRvX2luc3RhbGxfcHJlcGVuZF9jbGFzcy1uYXRpdmVzZGsoKSB7Ci0gICAgZXhwb3J0IExERkxBR1M9IiIKLX0KLQotZG9faW5zdGFsbCgpIHsKLSAgICBleHBvcnQgQ1JPU1NfQ09NUElMRT0xCi0gICAgZXhwb3J0IE5BVElWRV9DQz0iJHtCVUlMRF9DQ30iCi0gICAgZXhwb3J0IEJVSUxEX09QVD0xCi0KLSAgICBleHBvcnQgRlJFRUJMX05PX0RFUEVORD0xCi0KLSAgICBleHBvcnQgTElCRElSPSR7bGliZGlyfQotICAgIGV4cG9ydCBNT1pJTExBX0NMSUVOVD0xCi0gICAgZXhwb3J0IE5TX1VTRV9HQ0M9MQotICAgIGV4cG9ydCBOU1NfVVNFX1NZU1RFTV9TUUxJVEU9MQotICAgIGV4cG9ydCBOU1NfRU5BQkxFX0VDQz0xCi0KLSAgICBleHBvcnQgT1NfUkVMRUFTRT0zLjQKLSAgICBleHBvcnQgT1NfVEFSR0VUPUxpbnV4Ci0gICAgZXhwb3J0IE9TX0FSQ0g9TGludXgKLQotICAgIGlmIFsgIiR7VEFSR0VUX0FSQ0h9IiA9ICJwb3dlcnBjIiBdOyB0aGVuCi0gICAgICAgIE9TX1RFU1Q9cHBjCi0gICAgZWxpZiBbICIke1RBUkdFVF9BUkNIfSIgPSAicG93ZXJwYzY0IiBdOyB0aGVuCi0gICAgICAgIE9TX1RFU1Q9cHBjNjQKLSAgICBlbGlmIFsgIiR7VEFSR0VUX0FSQ0h9IiA9ICJtaXBzIiAtbyAiJHtUQVJHRVRfQVJDSH0iID0gIm1pcHNlbCIgLW8gIiR7VEFSR0VUX0FSQ0h9IiA9ICJtaXBzNjQiIC1vICIke1RBUkdFVF9BUkNIfSIgPSAibWlwczY0ZWwiIF07IHRoZW4KLSAgICAgICAgT1NfVEVTVD1taXBzCi0gICAgZWxpZiBbICIke1RBUkdFVF9BUkNIfSIgPSAiYWFyY2g2NF9iZSIgXTsgdGhlbgotICAgICAgICBDUFVfQVJDSD1hYXJjaDY0Ci0gICAgICAgIE9TX1RFU1Q9ImFhcmNoNjQiCi0gICAgZWxzZQotICAgICAgICBPU19URVNUPSIke1RBUkdFVF9BUkNIfSIKLSAgICBmaQotICAgIGlmIFsgIiR7U0lURUlORk9fQklUU30iID0gIjY0IiBdOyB0aGVuCi0gICAgICAgIGV4cG9ydCBVU0VfNjQ9MQotICAgIGVsaWYgWyAiJHtUQVJHRVRfQVJDSH0iID0gIng4Nl82NCIgLWEgIiR7U0lURUlORk9fQklUU30iID0gIjMyIiBdOyB0aGVuCi0gICAgICAgIGV4cG9ydCBVU0VfWDMyPTEKLSAgICBmaQotCi0gICAgZXhwb3J0IE5TU19ESVNBQkxFX0dURVNUUz0xCi0KLSAgICBtYWtlIC1DIC4vbnNzIFwKLSAgICAgICAgQ0NDPSIke0NYWH0iIFwKLSAgICAgICAgT1NfVEVTVD0ke09TX1RFU1R9IFwKLSAgICAgICAgU09VUkNFX0xJQl9ESVI9IiR7VER9LyR7bGliZGlyfSIgXAotICAgICAgICBTT1VSQ0VfQklOX0RJUj0iJHtURH0vJHtiaW5kaXJ9IiBcCi0gICAgICAgIGluc3RhbGwKLQotICAgIGluc3RhbGwgLWQgJHtEfS8ke2xpYmRpcn0vCi0gICAgZm9yIGZpbGUgaW4gJHtTfS9kaXN0LyouT0JKL2xpYi8qLnNvOyBkbwotICAgICAgICBlY2hvICJJbnN0YWxsaW5nIGBiYXNlbmFtZSAkZmlsZWAuLi4iCi0gICAgICAgIGNwICRmaWxlICAke0R9LyR7bGliZGlyfS8KLSAgICBkb25lCi0KLSAgICBmb3Igc2hhcmVkX2xpYiBpbiAke1REfS8ke2xpYmRpcn0vKi5zby4qOyBkbwotICAgICAgICBpZiBbIC1mICRzaGFyZWRfbGliIF07IHRoZW4KLSAgICAgICAgICAgIGNwICRzaGFyZWRfbGliICR7RH0vJHtsaWJkaXJ9Ci0gICAgICAgICAgICBsbiAtc2YgJChiYXNlbmFtZSAkc2hhcmVkX2xpYikgJHtEfS8ke2xpYmRpcn0vJChiYXNlbmFtZSAkc2hhcmVkX2xpYiAuMW9lKQotICAgICAgICBmaQotICAgIGRvbmUKLSAgICBmb3Igc2hhcmVkX2xpYiBpbiAke1REfS8ke2xpYmRpcn0vKi5zbzsgZG8KLSAgICAgICAgaWYgWyAtZiAkc2hhcmVkX2xpYiAtYSAhIC1lICR7RH0vJHtsaWJkaXJ9LyRzaGFyZWRfbGliIF07IHRoZW4KLSAgICAgICAgICAgIGNwICRzaGFyZWRfbGliICR7RH0vJHtsaWJkaXJ9Ci0gICAgICAgIGZpCi0gICAgZG9uZQotCi0gICAgaW5zdGFsbCAtZCAke0R9LyR7aW5jbHVkZWRpcn0vbnNzMwotICAgIGluc3RhbGwgLW0gNjQ0IC10ICR7RH0vJHtpbmNsdWRlZGlyfS9uc3MzIGRpc3QvcHVibGljL25zcy8qCi0KLSAgICBpbnN0YWxsIC1kICR7RH0vJHtiaW5kaXJ9Ci0gICAgZm9yIGJpbmFyeSBpbiAke1REfS8ke2JpbmRpcn0vKjsgZG8KLSAgICAgICAgaW5zdGFsbCAtbSA3NTUgLXQgJHtEfS8ke2JpbmRpcn0gJGJpbmFyeQotICAgIGRvbmUKLX0KLWRvX2luc3RhbGxbdmFyZGVwc2V4Y2x1ZGVdICs9ICJTSVRFSU5GT19CSVRTIgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICAjIENyZWF0ZSBlbXB0eSAuY2hrIGZpbGVzIGZvciB0aGUgTlNTIGxpYnJhcmllcyBhdCBidWlsZCB0aW1lLiBUaGV5IGNvdWxkCi0gICAgIyBiZSByZWdlbmVyYXRlZCBhdCB0YXJnZXQncyBib290IHRpbWUuCi0gICAgZm9yIGZpbGUgaW4gbGlic29mdG9rbjMuY2hrIGxpYmZyZWVibDMuY2hrIGxpYm5zc2RibTMuY2hrOyBkbwotICAgICAgICB0b3VjaCAke0R9LyR7bGliZGlyfS8kZmlsZQotICAgICAgICBjaG1vZCA3NTUgJHtEfS8ke2xpYmRpcn0vJGZpbGUKLSAgICBkb25lCi0gICAgaW5zdGFsbCAtRCAtbSA3NTUgJHtXT1JLRElSfS9zaWdubGlicy5zaCAke0R9LyR7YmluZGlyfS9zaWdubGlicy5zaAotCi0gICAgaW5zdGFsbCAtZCAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy8KLSAgICBzZWQgJ3MvJU5TU19WRVJTSU9OJS8ke1BWfS8nICR7V09SS0RJUn0vbnNzLnBjLmluIHwgc2VkICdzLyVOU1BSX1ZFUlNJT04lLzQuOS4yLycgPiAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy9uc3MucGMKLSAgICBzZWQgLWkgczpPRVBSRUZJWDoke3ByZWZpeH06ZyAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy9uc3MucGMKLSAgICBzZWQgLWkgczpPRUVYRUNQUkVGSVg6JHtleGVjX3ByZWZpeH06ZyAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy9uc3MucGMKLSAgICBzZWQgLWkgczpPRUxJQkRJUjoke2xpYmRpcn06ZyAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy9uc3MucGMKLSAgICBzZWQgLWkgczpPRUlOQ0RJUjoke2luY2x1ZGVkaXJ9L25zczM6ZyAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy9uc3MucGMKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgewotICAgICMgSXQgdXNlZCB0byBjYWxsIGNlcnR1dGlsIHRvIGNyZWF0ZSBhIGJsYW5rIGNlcnRpZmljYXRlIHdpdGggZW1wdHkgcGFzc3dvcmQgYXQKLSAgICAjIGJ1aWxkIHRpbWUsIGJ1dCB0aGUgY2hlY2tzdW0gb2Yga2V5NC5kYiBjaGFuZ2VzIGV2ZXJ5IHRpbWUgd2hlbiBjZXJ0dXRpbCBpcyBjYWxsZWQuCi0gICAgIyBJdCBjYXVzZXMgbm9uLWRldGVybWluaXNtIGlzc3VlLCBzbyBwcm92aWRlIGRhdGFiYXNlcyB3aXRoIGEgYmxhbmsgY2VydGlmaWNhdGUKLSAgICAjIHdoaWNoIGFyZSBvcmlnaW5hbGx5IGZyb20gb3V0cHV0IG9mIG5zcyBpbiBxZW11eDg2LTY0IGJ1aWxkLiBZb3UgY2FuIGdldCB0aGVzZQotICAgICMgZGF0YWJhc2VzIGJ5OgotICAgICMgY2VydHV0aWwgLU4gLWQgc3FsOi9kYXRhYmFzZS9wYXRoLyAtLWVtcHR5LXBhc3N3b3JkCi0gICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9wa2kvbnNzZGIvCi0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vYmxhbmstY2VydDkuZGIgJHtEfSR7c3lzY29uZmRpcn0vcGtpL25zc2RiL2NlcnQ5LmRiCi0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vYmxhbmsta2V5NC5kYiAke0R9JHtzeXNjb25mZGlyfS9wa2kvbnNzZGIva2V5NC5kYgotICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3N5c3RlbS1wa2NzMTEudHh0ICR7RH0ke3N5c2NvbmZkaXJ9L3BraS9uc3NkYi9wa2NzMTEudHh0Ci19Ci0KLVBBQ0tBR0VfV1JJVEVfREVQUyArPSAibnNzLW5hdGl2ZSIKLXBrZ19wb3N0aW5zdF8ke1BOfSAoKSB7Ci0gICAgaWYgWyAtbiAiJEQiIF07IHRoZW4KLSAgICAgICAgZm9yIEkgaW4gJEQke2xpYmRpcn0vbGliKi5jaGs7IGRvCi0gICAgICAgICAgICBETj1gZGlybmFtZSAkSWAKLSAgICAgICAgICAgIEJOPWBiYXNlbmFtZSAkSSAuY2hrYAotICAgICAgICAgICAgRk49JEROLyRCTi5zbwotICAgICAgICAgICAgc2hsaWJzaWduIC1pICRGTgotICAgICAgICAgICAgaWYgWyAkPyAtbmUgMCBdOyB0aGVuCi0gICAgICAgICAgICAgICAgZXhpdCAxCi0gICAgICAgICAgICBmaQotICAgICAgICBkb25lCi0gICAgZWxzZQotICAgICAgICBzaWdubGlicy5zaAotICAgIGZpCi19Ci0KLVBBQ0tBR0VTID0rICIke1BOfS1zbWltZSIKLUZJTEVTXyR7UE59LXNtaW1lID0gIlwKLSAgICAke2JpbmRpcn0vc21pbWUgXAotIgotRklMRVNfJHtQTn0gPSAiXAotICAgICR7c3lzY29uZmRpcn0gXAotICAgICR7YmluZGlyfSBcCi0gICAgJHtsaWJkaXJ9L2xpYiouY2hrIFwKLSAgICAke2xpYmRpcn0vbGliKi5zbyBcCi0gICAgIgotRklMRVNfJHtQTn0tZGV2ID0gIlwKLSAgICAke2xpYmRpcn0vbnNzIFwKLSAgICAke2xpYmRpcn0vcGtnY29uZmlnLyogXAotICAgICR7aW5jbHVkZWRpcn0vKiBcCi0gICAgIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbnNzL25zc18zLjQyLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25zcy9uc3NfMy40Mi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2YmJkODAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25zcy9uc3NfMy40Mi4xLmJiCkBAIC0wLDAgKzEsMjY0IEBACitTVU1NQVJZID0gIk1vemlsbGEncyBTU0wgYW5kIFRMUyBpbXBsZW1lbnRhdGlvbiIKK0RFU0NSSVBUSU9OID0gIk5ldHdvcmsgU2VjdXJpdHkgU2VydmljZXMgKE5TUykgaXMgYSBzZXQgb2YgbGlicmFyaWVzIFwKK2Rlc2lnbmVkIHRvIHN1cHBvcnQgY3Jvc3MtcGxhdGZvcm0gZGV2ZWxvcG1lbnQgb2YgXAorc2VjdXJpdHktZW5hYmxlZCBjbGllbnQgYW5kIHNlcnZlciBhcHBsaWNhdGlvbnMuIFwKK0FwcGxpY2F0aW9ucyBidWlsdCB3aXRoIE5TUyBjYW4gc3VwcG9ydCBTU0wgdjIgYW5kIHYzLCBcCitUTFMsIFBLQ1MgNSwgUEtDUyA3LCBQS0NTIDExLCBQS0NTIDEyLCBTL01JTUUsIFguNTA5IFwKK3YzIGNlcnRpZmljYXRlcywgYW5kIG90aGVyIHNlY3VyaXR5IHN0YW5kYXJkcy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm1vemlsbGEub3JnL3Byb2plY3RzL3NlY3VyaXR5L3BraS9uc3MvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIk1QTC0yLjAgfCAoTVBMLTIuMCAmIEdQTC0yLjArKSB8IChNUEwtMi4wICYgTEdQTC0yLjErKSIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vbnNzL0NPUFlJTkc7bWQ1PTNiMWU4OGUxYjljMGI1YTRiMjg4MWQ0NmNjZTA2YTE4IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL25zcy9saWIvZnJlZWJsL21waS9kb2MvTElDRU5TRTttZDU9NDkxZjE1OGQwOWQ5NDg0NjZhZmNlODVkNmYxZmUxOGYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbnNzL2xpYi9mcmVlYmwvbXBpL2RvYy9MSUNFTlNFLU1QTDttZDU9NWQ0MjVjOGYzMTU3ZGJmMjEyZGIyZWM1M2Q5ZTUxMzIiCisKK1ZFUlNJT05fRElSID0gIiR7QGQuZ2V0VmFyKCdCUCcpLnVwcGVyKCkucmVwbGFjZSgnLScsICdfJykucmVwbGFjZSgnLicsICdfJykgKyAnX1JUTSd9IgorCitTUkNfVVJJID0gImh0dHA6Ly9mdHAubW96aWxsYS5vcmcvcHViL21vemlsbGEub3JnL3NlY3VyaXR5L25zcy9yZWxlYXNlcy8ke1ZFUlNJT05fRElSfS9zcmMvJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL25zcy5wYy5pbiBcCisgICAgICAgICAgIGZpbGU6Ly9zaWdubGlicy5zaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW5zcy1maXgtc3VwcG9ydC1jcm9zcy1jb21waWxpbmcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbnNzLW5vLXJwYXRoLWZvci1jcm9zcy1jb21waWxpbmcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbnNzLWZpeC1pbmNvcnJlY3Qtc2hlYmFuZy1vZi1wZXJsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL25zcy1maXgtbnNpbnN0YWxsLWJ1aWxkLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2Rpc2FibGUtV3ZhcmFyZ3Mtd2l0aC1jbGFuZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9wcWcuYy1VTExfYWRkZW5kLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2JsYW5rLWNlcnQ5LmRiIFwKKyAgICAgICAgICAgZmlsZTovL2JsYW5rLWtleTQuZGIgXAorICAgICAgICAgICBmaWxlOi8vc3lzdGVtLXBrY3MxMS50eHQgXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxZjZjYzZjNzAyMzc5NDc4YTNhNzIyOThjYWFlZjBhNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwODdkYjM3ZDM4ZmQ0OWRmZDU4NGRkMmE4YjViYWE3ZmM4OGRlN2M5YmQ5N2MwYzJkNWJlNGFiY2FmYzYxZmM2IgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9Nb3ppbGxhL1Byb2plY3RzL05TUy9OU1NfUmVsZWFzZXMiCitVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJOU1NfKD9QPHB2ZXI+LispX3JlbGVhc2Vfbm90ZXMiCisKK2luaGVyaXQgc2l0ZWluZm8KKworREVQRU5EUyA9ICJzcWxpdGUzIG5zcHIgemxpYiBuc3MtbmF0aXZlIgorREVQRU5EU19jbGFzcy1uYXRpdmUgPSAic3FsaXRlMy1uYXRpdmUgbnNwci1uYXRpdmUgemxpYi1uYXRpdmUiCitSREVQRU5EU18ke1BOfS1zbWltZSA9ICJwZXJsIgorCitURCA9ICIke1N9L3RlbnRhdGl2ZS1kaXN0IgorVERTID0gIiR7U30vdGVudGF0aXZlLWRpc3Qtc3RhZ2luZyIKKworVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kX2xpYmMtbXVzbCAoKSB7CisgICAgc2VkIC1pIC1lICcvLURIQVZFX1NZU19DREVGU19IL2QnICR7U30vbnNzL2xpYi9kYm0vY29uZmlnL2NvbmZpZy5taworfQorCitkb19jb21waWxlX3ByZXBlbmRfY2xhc3MtbmF0aXZlKCkgeworICAgIGV4cG9ydCBOU1BSX0lOQ0xVREVfRElSPSR7U1RBR0lOR19JTkNESVJfTkFUSVZFfQorICAgIGV4cG9ydCBOU1BSX0xJQl9ESVI9JHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9CisgICAgZXhwb3J0IE5TU19FTkFCTEVfV0VSUk9SPTAKK30KKworZG9fY29tcGlsZV9wcmVwZW5kX2NsYXNzLW5hdGl2ZXNkaygpIHsKKyAgICBleHBvcnQgTERGTEFHUz0iIgorfQorCitkb19jb21waWxlX3ByZXBlbmRfY2xhc3MtbmF0aXZlKCkgeworICAgICMgTmVlZCB0byBzZXQgUlBBVEggc28gdGhhdCBjaHJwYXRoIHdpbGwgZG8gaXRzIGpvYiBjb3JyZWN0bHkKKyAgICBSUEFUSD0iLVdsLC1ycGF0aC1saW5rLCR7U1RBR0lOR19MSUJESVJfTkFUSVZFfSAtV2wsLXJwYXRoLWxpbmssJHtTVEFHSU5HX0JBU0VfTElCRElSX05BVElWRX0gLVdsLC1ycGF0aCwke1NUQUdJTkdfTElCRElSX05BVElWRX0gLVdsLC1ycGF0aCwke1NUQUdJTkdfQkFTRV9MSUJESVJfTkFUSVZFfSIKK30KKworZG9fY29tcGlsZSgpIHsKKyAgICBleHBvcnQgQ1JPU1NfQ09NUElMRT0xCisgICAgZXhwb3J0IE5BVElWRV9DQz0iJHtCVUlMRF9DQ30iCisgICAgZXhwb3J0IE5BVElWRV9GTEFHUz0iJHtCVUlMRF9DRkxBR1N9IgorICAgIGV4cG9ydCBCVUlMRF9PUFQ9MQorCisgICAgZXhwb3J0IEZSRUVCTF9OT19ERVBFTkQ9MQorICAgIGV4cG9ydCBGUkVFQkxfTE9XSEFTSD0xCisKKyAgICBleHBvcnQgTElCRElSPSR7bGliZGlyfQorICAgIGV4cG9ydCBNT1pJTExBX0NMSUVOVD0xCisgICAgZXhwb3J0IE5TX1VTRV9HQ0M9MQorICAgIGV4cG9ydCBOU1NfVVNFX1NZU1RFTV9TUUxJVEU9MQorICAgIGV4cG9ydCBOU1NfRU5BQkxFX0VDQz0xCisKKyAgICBleHBvcnQgT1NfUkVMRUFTRT0zLjQKKyAgICBleHBvcnQgT1NfVEFSR0VUPUxpbnV4CisgICAgZXhwb3J0IE9TX0FSQ0g9TGludXgKKworICAgIGlmIFsgIiR7VEFSR0VUX0FSQ0h9IiA9ICJwb3dlcnBjIiBdOyB0aGVuCisgICAgICAgIE9TX1RFU1Q9cHBjCisgICAgZWxpZiBbICIke1RBUkdFVF9BUkNIfSIgPSAicG93ZXJwYzY0IiBdOyB0aGVuCisgICAgICAgIE9TX1RFU1Q9cHBjNjQKKyAgICBlbGlmIFsgIiR7VEFSR0VUX0FSQ0h9IiA9ICJtaXBzIiAtbyAiJHtUQVJHRVRfQVJDSH0iID0gIm1pcHNlbCIgLW8gIiR7VEFSR0VUX0FSQ0h9IiA9ICJtaXBzNjQiIC1vICIke1RBUkdFVF9BUkNIfSIgPSAibWlwczY0ZWwiIF07IHRoZW4KKyAgICAgICAgT1NfVEVTVD1taXBzCisgICAgZWxpZiBbICIke1RBUkdFVF9BUkNIfSIgPSAiYWFyY2g2NF9iZSIgXTsgdGhlbgorICAgICAgICBPU19URVNUPSJhYXJjaDY0IgorICAgIGVsc2UKKyAgICAgICAgT1NfVEVTVD0iJHtUQVJHRVRfQVJDSH0iCisgICAgZmkKKworICAgIGlmIFsgIiR7U0lURUlORk9fQklUU30iID0gIjY0IiBdOyB0aGVuCisgICAgICAgIGV4cG9ydCBVU0VfNjQ9MQorICAgIGVsaWYgWyAiJHtUQVJHRVRfQVJDSH0iID0gIng4Nl82NCIgLWEgIiR7U0lURUlORk9fQklUU30iID0gIjMyIiBdOyB0aGVuCisgICAgICAgIGV4cG9ydCBVU0VfWDMyPTEKKyAgICBmaQorCisgICAgZXhwb3J0IE5TU19ESVNBQkxFX0dURVNUUz0xCisKKyAgICAjIFdlIGNhbiBtb2RpZnkgQ0MgaW4gdGhlIGVudmlyb25tZW50LCBidXQgaWYgd2Ugc2V0IGl0IHZpYSBhbgorICAgICMgYXJndW1lbnQgdG8gbWFrZSwgbnNpbnN0YWxsLCBhIGhvc3QgcHJvZ3JhbSwgd2lsbCBhbHNvIGJ1aWxkIHdpdGggaXQhCisgICAgIworICAgICMgbnNzIHByZXR0eSBtdWNoIGRvZXMgaXRzIG93biB0aGluZyB3aXRoIENGTEFHUywgc28gd2UgcHV0IHRoZW0gaW50byBDQy4KKyAgICAjIE9wdGltaXphdGlvbiB3aWxsIGdldCBjbG9iYmVyZWQsIGJ1dCBtb3N0IG9mIHRoZSBzdHVmZiB3aWxsIHN1cnZpdmUuCisgICAgIyBUaGUgbW90aXZhdGlvbiBmb3IgdGhpcyBpcyB0byBwb2ludCB0byB0aGUgY29ycmVjdCBwbGFjZSBmb3IgZGVidWcKKyAgICAjIHNvdXJjZSBmaWxlcyBhbmQgQ0ZMQUdTIGRvZXMgdGhhdC4gIE5vdGhpbmcgdXNlcyBDQ0MuCisgICAgIworICAgIGV4cG9ydCBDQz0iJHtDQ30gJHtDRkxBR1N9IgorICAgIG1ha2UgLUMgLi9uc3MgQ0NDPSIke0NYWH0gLWciIFwKKyAgICAgICAgT1NfVEVTVD0ke09TX1RFU1R9IFwKKyAgICAgICAgUlBBVEg9IiR7UlBBVEh9IgorfQorZG9fY29tcGlsZVt2YXJkZXBzZXhjbHVkZV0gKz0gIlNJVEVJTkZPX0JJVFMiCisKKworZG9faW5zdGFsbF9wcmVwZW5kX2NsYXNzLW5hdGl2ZXNkaygpIHsKKyAgICBleHBvcnQgTERGTEFHUz0iIgorfQorCitkb19pbnN0YWxsKCkgeworICAgIGV4cG9ydCBDUk9TU19DT01QSUxFPTEKKyAgICBleHBvcnQgTkFUSVZFX0NDPSIke0JVSUxEX0NDfSIKKyAgICBleHBvcnQgQlVJTERfT1BUPTEKKworICAgIGV4cG9ydCBGUkVFQkxfTk9fREVQRU5EPTEKKworICAgIGV4cG9ydCBMSUJESVI9JHtsaWJkaXJ9CisgICAgZXhwb3J0IE1PWklMTEFfQ0xJRU5UPTEKKyAgICBleHBvcnQgTlNfVVNFX0dDQz0xCisgICAgZXhwb3J0IE5TU19VU0VfU1lTVEVNX1NRTElURT0xCisgICAgZXhwb3J0IE5TU19FTkFCTEVfRUNDPTEKKworICAgIGV4cG9ydCBPU19SRUxFQVNFPTMuNAorICAgIGV4cG9ydCBPU19UQVJHRVQ9TGludXgKKyAgICBleHBvcnQgT1NfQVJDSD1MaW51eAorCisgICAgaWYgWyAiJHtUQVJHRVRfQVJDSH0iID0gInBvd2VycGMiIF07IHRoZW4KKyAgICAgICAgT1NfVEVTVD1wcGMKKyAgICBlbGlmIFsgIiR7VEFSR0VUX0FSQ0h9IiA9ICJwb3dlcnBjNjQiIF07IHRoZW4KKyAgICAgICAgT1NfVEVTVD1wcGM2NAorICAgIGVsaWYgWyAiJHtUQVJHRVRfQVJDSH0iID0gIm1pcHMiIC1vICIke1RBUkdFVF9BUkNIfSIgPSAibWlwc2VsIiAtbyAiJHtUQVJHRVRfQVJDSH0iID0gIm1pcHM2NCIgLW8gIiR7VEFSR0VUX0FSQ0h9IiA9ICJtaXBzNjRlbCIgXTsgdGhlbgorICAgICAgICBPU19URVNUPW1pcHMKKyAgICBlbGlmIFsgIiR7VEFSR0VUX0FSQ0h9IiA9ICJhYXJjaDY0X2JlIiBdOyB0aGVuCisgICAgICAgIENQVV9BUkNIPWFhcmNoNjQKKyAgICAgICAgT1NfVEVTVD0iYWFyY2g2NCIKKyAgICBlbHNlCisgICAgICAgIE9TX1RFU1Q9IiR7VEFSR0VUX0FSQ0h9IgorICAgIGZpCisgICAgaWYgWyAiJHtTSVRFSU5GT19CSVRTfSIgPSAiNjQiIF07IHRoZW4KKyAgICAgICAgZXhwb3J0IFVTRV82ND0xCisgICAgZWxpZiBbICIke1RBUkdFVF9BUkNIfSIgPSAieDg2XzY0IiAtYSAiJHtTSVRFSU5GT19CSVRTfSIgPSAiMzIiIF07IHRoZW4KKyAgICAgICAgZXhwb3J0IFVTRV9YMzI9MQorICAgIGZpCisKKyAgICBleHBvcnQgTlNTX0RJU0FCTEVfR1RFU1RTPTEKKworICAgIG1ha2UgLUMgLi9uc3MgXAorICAgICAgICBDQ0M9IiR7Q1hYfSIgXAorICAgICAgICBPU19URVNUPSR7T1NfVEVTVH0gXAorICAgICAgICBTT1VSQ0VfTElCX0RJUj0iJHtURH0vJHtsaWJkaXJ9IiBcCisgICAgICAgIFNPVVJDRV9CSU5fRElSPSIke1REfS8ke2JpbmRpcn0iIFwKKyAgICAgICAgaW5zdGFsbAorCisgICAgaW5zdGFsbCAtZCAke0R9LyR7bGliZGlyfS8KKyAgICBmb3IgZmlsZSBpbiAke1N9L2Rpc3QvKi5PQkovbGliLyouc287IGRvCisgICAgICAgIGVjaG8gIkluc3RhbGxpbmcgYGJhc2VuYW1lICRmaWxlYC4uLiIKKyAgICAgICAgY3AgJGZpbGUgICR7RH0vJHtsaWJkaXJ9LworICAgIGRvbmUKKworICAgIGZvciBzaGFyZWRfbGliIGluICR7VER9LyR7bGliZGlyfS8qLnNvLio7IGRvCisgICAgICAgIGlmIFsgLWYgJHNoYXJlZF9saWIgXTsgdGhlbgorICAgICAgICAgICAgY3AgJHNoYXJlZF9saWIgJHtEfS8ke2xpYmRpcn0KKyAgICAgICAgICAgIGxuIC1zZiAkKGJhc2VuYW1lICRzaGFyZWRfbGliKSAke0R9LyR7bGliZGlyfS8kKGJhc2VuYW1lICRzaGFyZWRfbGliIC4xb2UpCisgICAgICAgIGZpCisgICAgZG9uZQorICAgIGZvciBzaGFyZWRfbGliIGluICR7VER9LyR7bGliZGlyfS8qLnNvOyBkbworICAgICAgICBpZiBbIC1mICRzaGFyZWRfbGliIC1hICEgLWUgJHtEfS8ke2xpYmRpcn0vJHNoYXJlZF9saWIgXTsgdGhlbgorICAgICAgICAgICAgY3AgJHNoYXJlZF9saWIgJHtEfS8ke2xpYmRpcn0KKyAgICAgICAgZmkKKyAgICBkb25lCisKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtpbmNsdWRlZGlyfS9uc3MzCisgICAgaW5zdGFsbCAtbSA2NDQgLXQgJHtEfS8ke2luY2x1ZGVkaXJ9L25zczMgZGlzdC9wdWJsaWMvbnNzLyoKKworICAgIGluc3RhbGwgLWQgJHtEfS8ke2JpbmRpcn0KKyAgICBmb3IgYmluYXJ5IGluICR7VER9LyR7YmluZGlyfS8qOyBkbworICAgICAgICBpbnN0YWxsIC1tIDc1NSAtdCAke0R9LyR7YmluZGlyfSAkYmluYXJ5CisgICAgZG9uZQorfQorZG9faW5zdGFsbFt2YXJkZXBzZXhjbHVkZV0gKz0gIlNJVEVJTkZPX0JJVFMiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICMgQ3JlYXRlIGVtcHR5IC5jaGsgZmlsZXMgZm9yIHRoZSBOU1MgbGlicmFyaWVzIGF0IGJ1aWxkIHRpbWUuIFRoZXkgY291bGQKKyAgICAjIGJlIHJlZ2VuZXJhdGVkIGF0IHRhcmdldCdzIGJvb3QgdGltZS4KKyAgICBmb3IgZmlsZSBpbiBsaWJzb2Z0b2tuMy5jaGsgbGliZnJlZWJsMy5jaGsgbGlibnNzZGJtMy5jaGs7IGRvCisgICAgICAgIHRvdWNoICR7RH0vJHtsaWJkaXJ9LyRmaWxlCisgICAgICAgIGNobW9kIDc1NSAke0R9LyR7bGliZGlyfS8kZmlsZQorICAgIGRvbmUKKyAgICBpbnN0YWxsIC1EIC1tIDc1NSAke1dPUktESVJ9L3NpZ25saWJzLnNoICR7RH0vJHtiaW5kaXJ9L3NpZ25saWJzLnNoCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnLworICAgIHNlZCAncy8lTlNTX1ZFUlNJT04lLyR7UFZ9LycgJHtXT1JLRElSfS9uc3MucGMuaW4gfCBzZWQgJ3MvJU5TUFJfVkVSU0lPTiUvNC45LjIvJyA+ICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnL25zcy5wYworICAgIHNlZCAtaSBzOk9FUFJFRklYOiR7cHJlZml4fTpnICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnL25zcy5wYworICAgIHNlZCAtaSBzOk9FRVhFQ1BSRUZJWDoke2V4ZWNfcHJlZml4fTpnICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnL25zcy5wYworICAgIHNlZCAtaSBzOk9FTElCRElSOiR7bGliZGlyfTpnICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnL25zcy5wYworICAgIHNlZCAtaSBzOk9FSU5DRElSOiR7aW5jbHVkZWRpcn0vbnNzMzpnICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnL25zcy5wYworfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy10YXJnZXQoKSB7CisgICAgIyBJdCB1c2VkIHRvIGNhbGwgY2VydHV0aWwgdG8gY3JlYXRlIGEgYmxhbmsgY2VydGlmaWNhdGUgd2l0aCBlbXB0eSBwYXNzd29yZCBhdAorICAgICMgYnVpbGQgdGltZSwgYnV0IHRoZSBjaGVja3N1bSBvZiBrZXk0LmRiIGNoYW5nZXMgZXZlcnkgdGltZSB3aGVuIGNlcnR1dGlsIGlzIGNhbGxlZC4KKyAgICAjIEl0IGNhdXNlcyBub24tZGV0ZXJtaW5pc20gaXNzdWUsIHNvIHByb3ZpZGUgZGF0YWJhc2VzIHdpdGggYSBibGFuayBjZXJ0aWZpY2F0ZQorICAgICMgd2hpY2ggYXJlIG9yaWdpbmFsbHkgZnJvbSBvdXRwdXQgb2YgbnNzIGluIHFlbXV4ODYtNjQgYnVpbGQuIFlvdSBjYW4gZ2V0IHRoZXNlCisgICAgIyBkYXRhYmFzZXMgYnk6CisgICAgIyBjZXJ0dXRpbCAtTiAtZCBzcWw6L2RhdGFiYXNlL3BhdGgvIC0tZW1wdHktcGFzc3dvcmQKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3BraS9uc3NkYi8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9ibGFuay1jZXJ0OS5kYiAke0R9JHtzeXNjb25mZGlyfS9wa2kvbnNzZGIvY2VydDkuZGIKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9ibGFuay1rZXk0LmRiICR7RH0ke3N5c2NvbmZkaXJ9L3BraS9uc3NkYi9rZXk0LmRiCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vc3lzdGVtLXBrY3MxMS50eHQgJHtEfSR7c3lzY29uZmRpcn0vcGtpL25zc2RiL3BrY3MxMS50eHQKK30KKworUEFDS0FHRV9XUklURV9ERVBTICs9ICJuc3MtbmF0aXZlIgorcGtnX3Bvc3RpbnN0XyR7UE59ICgpIHsKKyAgICBpZiBbIC1uICIkRCIgXTsgdGhlbgorICAgICAgICBmb3IgSSBpbiAkRCR7bGliZGlyfS9saWIqLmNoazsgZG8KKyAgICAgICAgICAgIEROPWBkaXJuYW1lICRJYAorICAgICAgICAgICAgQk49YGJhc2VuYW1lICRJIC5jaGtgCisgICAgICAgICAgICBGTj0kRE4vJEJOLnNvCisgICAgICAgICAgICBzaGxpYnNpZ24gLWkgJEZOCisgICAgICAgICAgICBpZiBbICQ/IC1uZSAwIF07IHRoZW4KKyAgICAgICAgICAgICAgICBleGl0IDEKKyAgICAgICAgICAgIGZpCisgICAgICAgIGRvbmUKKyAgICBlbHNlCisgICAgICAgIHNpZ25saWJzLnNoCisgICAgZmkKK30KKworUEFDS0FHRVMgPSsgIiR7UE59LXNtaW1lIgorRklMRVNfJHtQTn0tc21pbWUgPSAiXAorICAgICR7YmluZGlyfS9zbWltZSBcCisiCitGSUxFU18ke1BOfSA9ICJcCisgICAgJHtzeXNjb25mZGlyfSBcCisgICAgJHtiaW5kaXJ9IFwKKyAgICAke2xpYmRpcn0vbGliKi5jaGsgXAorICAgICR7bGliZGlyfS9saWIqLnNvIFwKKyAgICAiCitGSUxFU18ke1BOfS1kZXYgPSAiXAorICAgICR7bGliZGlyfS9uc3MgXAorICAgICR7bGliZGlyfS9wa2djb25maWcvKiBcCisgICAgJHtpbmNsdWRlZGlyfS8qIFwKKyAgICAiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9wMTEta2l0L3AxMS1raXRfMC4yMy4xNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcDExLWtpdC9wMTEta2l0XzAuMjMuMTQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRkMjVjMzguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9wMTEta2l0L3AxMS1raXRfMC4yMy4xNC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLVNVTU1BUlkgPSAiUHJvdmlkZXMgYSB3YXkgdG8gbG9hZCBhbmQgZW51bWVyYXRlIFBLQ1MjMTEgbW9kdWxlcyIKLUxJQ0VOU0UgPSAiQlNEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDI5MzM4ODdmNjA5ODA3ZmJiNTdhYTQyMzdkMTRhNTAiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnIGd0ay1kb2MKLQotREVQRU5EUyA9ICJsaWJ0YXNuMSBsaWJmZmkiCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9wMTEtZ2x1ZS9wMTEta2l0IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtTElOR1VBUy1kcm9wLXRoZS1sYW5ndWFnZXMtZm9yLXdoaWNoLXVwc3RyZWFtLWRvZXMtbi5wYXRjaCBcCi0gICAgICAgICAgICIKLVNSQ1JFViA9ICIzNzcwNzkzZjAyNmU0NmEwMDBkMmQ4ODE2ZDU2MTIyNTk4Mjg5ZDVjIgotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotQVVUT1RPT0xTX0FVWERJUiA9ICIke1N9L2J1aWxkL2xpdHRlciIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiIKLVBBQ0tBR0VDT05GSUdbdHJ1c3QtcGF0aHNdID0gIi0td2l0aC10cnVzdC1wYXRocz0vZXRjL3NzbC9jZXJ0cy9jYS1jZXJ0aWZpY2F0ZXMuY3J0LC0td2l0aG91dC10cnVzdC1wYXRocywsY2EtY2VydGlmaWNhdGVzIgotCi0jIFRoaXMgcmVjaXBlIGRvZXMgbm90IHVzZSB0aGUgc3RhbmRhcmQgZ3RrLWRvYyBtNCBtYWNyb3MsIGFuZCBzbyB0aGUgLi9jb25maWd1cmUgZmxhZ3MKLSMgdGhhdCBjb250cm9sIGd0ay1kb2MgYnVpbGQgYXJlIG5vbi1zdGFuZGFyZAotRVhUUkFfT0VDT05GX3ByZXBlbmRfY2xhc3MtdGFyZ2V0ID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHVEtET0NfRU5BQkxFRCcsICdUcnVlJywgJy0tZW5hYmxlLWRvYyAtLWVuYWJsZS1kb2MtaHRtbCAtLWRpc2FibGUtZG9jLXBkZicsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWRpc2FibGUtZG9jJywgZCl9ICIKLQotIyBXaGVuIGJ1aWxkaW5nIG5hdGl2ZSByZWNpcGVzLCBkaXNhYmxlIGd0a2RvYywgYXMgaXQgaXMgbm90IG5lY2Vzc2FyeSwKLSMgcHVsbHMgaW4gYWRkaXRpb25hbCBkZXBlbmRlbmNpZXMsIGFuZCBtYWtlcyBidWlsZCB0aW1lcyBsb25nZXIKLUVYVFJBX09FQ09ORl9wcmVwZW5kX2NsYXNzLW5hdGl2ZSA9ICItLWRpc2FibGUtZG9jICIKLUVYVFJBX09FQ09ORl9wcmVwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICItLWRpc2FibGUtZG9jICIKLQotVU5LTk9XTl9DT05GSUdVUkVfV0hJVEVMSVNUX2FwcGVuZCA9ICIgLS1lbmFibGUtZ3RrLWRvYy1odG1sIC0tZGlzYWJsZS1ndGstZG9jLXBkZiAtLWVuYWJsZS1ndGstZG9jIC0tZGlzYWJsZS1ndGstZG9jIgotCi0jIHAxMS1raXQgcmVsaWVzIG9uIHRoZXNlIHR3byBiZWluZyBjb3BpZWQgZnJvbSBzb3VyY2UgdHJlZQotIyBpbnN0ZWFkIG9mIGJlaW5nIHJlZ2VuZXJhdGVkIGJ5IGd0a2RvYy1zY2FuLCBidXQgZG9lc24ndCBzZXR1cAotIyBkZXBlbmRlbmNpZXMgY29ycmVjdGx5IHdoZW4gdGhlcmUgaXMgYSBwYXJhbGxlbCBidWlsZC4gTGV0J3MgcHJlLWNvcHkKLSMgdGhlbSBpbnN0ZWFkLgotZG9fY29tcGlsZV9wcmVwZW5kICgpIHsKLSAgICAgICAgY3AgJHtTfS9kb2MvbWFudWFsL3AxMS1raXQtb3ZlcnJpZGVzLnR4dCAke1N9L2RvYy9tYW51YWwvcDExLWtpdC1zZWN0aW9ucy50eHQgJHtCfS9kb2MvbWFudWFsLwotfQotCi1GSUxFU18ke1BOfSArPSAiIFwKLSAgICAke2xpYmRpcn0vcDExLWtpdC1wcm94eS5zbyBcCi0gICAgJHtsaWJkaXJ9L3BrY3MxMS8qLnNvIFwKLSAgICAke2xpYmRpcn0vcGtjczExLyoubGEiCi0KLSMgUE4gY29udGFpbnMgcDExLWtpdC1wcm94eS5zbywgYSBzeW1saW5rIHRvIGEgbG9hZGFibGUgbW9kdWxlCi1JTlNBTkVfU0tJUF8ke1BOfSA9ICJkZXYtc28iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3AxMS1raXQvcDExLWtpdF8wLjIzLjE1LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9wMTEta2l0L3AxMS1raXRfMC4yMy4xNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OWU2NzViCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9wMTEta2l0L3AxMS1raXRfMC4yMy4xNS5iYgpAQCAtMCwwICsxLDQ2IEBACitTVU1NQVJZID0gIlByb3ZpZGVzIGEgd2F5IHRvIGxvYWQgYW5kIGVudW1lcmF0ZSBQS0NTIzExIG1vZHVsZXMiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTAyOTMzODg3ZjYwOTgwN2ZiYjU3YWE0MjM3ZDE0YTUwIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBrZ2NvbmZpZyBndGstZG9jCisKK0RFUEVORFMgPSAibGlidGFzbjEgbGliZmZpIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vcDExLWdsdWUvcDExLWtpdCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUxJTkdVQVMtZHJvcC10aGUtbGFuZ3VhZ2VzLWZvci13aGljaC11cHN0cmVhbS1kb2VzLW4ucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNSRVYgPSAiMWJhODBjNjdjNDkyZjI1NTgxZWQ5N2M4YzMxZmZiNWYyMDYzNmQwNiIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0FVVE9UT09MU19BVVhESVIgPSAiJHtTfS9idWlsZC9saXR0ZXIiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW3RydXN0LXBhdGhzXSA9ICItLXdpdGgtdHJ1c3QtcGF0aHM9L2V0Yy9zc2wvY2VydHMvY2EtY2VydGlmaWNhdGVzLmNydCwtLXdpdGhvdXQtdHJ1c3QtcGF0aHMsLGNhLWNlcnRpZmljYXRlcyIKKworIyBUaGlzIHJlY2lwZSBkb2VzIG5vdCB1c2UgdGhlIHN0YW5kYXJkIGd0ay1kb2MgbTQgbWFjcm9zLCBhbmQgc28gdGhlIC4vY29uZmlndXJlIGZsYWdzCisjIHRoYXQgY29udHJvbCBndGstZG9jIGJ1aWxkIGFyZSBub24tc3RhbmRhcmQKK0VYVFJBX09FQ09ORl9wcmVwZW5kX2NsYXNzLXRhcmdldCA9ICIke0BiYi51dGlscy5jb250YWlucygnR1RLRE9DX0VOQUJMRUQnLCAnVHJ1ZScsICctLWVuYWJsZS1kb2MgLS1lbmFibGUtZG9jLWh0bWwgLS1kaXNhYmxlLWRvYy1wZGYnLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1kaXNhYmxlLWRvYycsIGQpfSAiCisKKyMgV2hlbiBidWlsZGluZyBuYXRpdmUgcmVjaXBlcywgZGlzYWJsZSBndGtkb2MsIGFzIGl0IGlzIG5vdCBuZWNlc3NhcnksCisjIHB1bGxzIGluIGFkZGl0aW9uYWwgZGVwZW5kZW5jaWVzLCBhbmQgbWFrZXMgYnVpbGQgdGltZXMgbG9uZ2VyCitFWFRSQV9PRUNPTkZfcHJlcGVuZF9jbGFzcy1uYXRpdmUgPSAiLS1kaXNhYmxlLWRvYyAiCitFWFRSQV9PRUNPTkZfcHJlcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiLS1kaXNhYmxlLWRvYyAiCisKK1VOS05PV05fQ09ORklHVVJFX1dISVRFTElTVF9hcHBlbmQgPSAiIC0tZW5hYmxlLWd0ay1kb2MtaHRtbCAtLWRpc2FibGUtZ3RrLWRvYy1wZGYgLS1lbmFibGUtZ3RrLWRvYyAtLWRpc2FibGUtZ3RrLWRvYyIKKworIyBwMTEta2l0IHJlbGllcyBvbiB0aGVzZSB0d28gYmVpbmcgY29waWVkIGZyb20gc291cmNlIHRyZWUKKyMgaW5zdGVhZCBvZiBiZWluZyByZWdlbmVyYXRlZCBieSBndGtkb2Mtc2NhbiwgYnV0IGRvZXNuJ3Qgc2V0dXAKKyMgZGVwZW5kZW5jaWVzIGNvcnJlY3RseSB3aGVuIHRoZXJlIGlzIGEgcGFyYWxsZWwgYnVpbGQuIExldCdzIHByZS1jb3B5CisjIHRoZW0gaW5zdGVhZC4KK2RvX2NvbXBpbGVfcHJlcGVuZCAoKSB7CisgICAgICAgIGNwICR7U30vZG9jL21hbnVhbC9wMTEta2l0LW92ZXJyaWRlcy50eHQgJHtTfS9kb2MvbWFudWFsL3AxMS1raXQtc2VjdGlvbnMudHh0ICR7Qn0vZG9jL21hbnVhbC8KK30KKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtsaWJkaXJ9L3AxMS1raXQtcHJveHkuc28gXAorICAgICR7bGliZGlyfS9wa2NzMTEvKi5zbyBcCisgICAgJHtsaWJkaXJ9L3BrY3MxMS8qLmxhIgorCisjIFBOIGNvbnRhaW5zIHAxMS1raXQtcHJveHkuc28sIGEgc3ltbGluayB0byBhIGxvYWRhYmxlIG1vZHVsZQorSU5TQU5FX1NLSVBfJHtQTn0gPSAiZGV2LXNvIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9wb3B0L3BvcHRfMS4xNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcG9wdC9wb3B0XzEuMTYuYmIKaW5kZXggMzc3ZDEwOC4uNDc4Mjg4ZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9wb3B0L3BvcHRfMS4xNi5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3BvcHQvcG9wdF8xLjE2LmJiCkBAIC04LDcgKzgsNyBAQAogCiBERVBFTkRTID0gInZpcnR1YWwvbGliaWNvbnYiCiAKLVNSQ19VUkkgPSAiaHR0cHM6Ly9mb3NzaWVzLm9yZy9saW51eC9taXNjL3BvcHQtJHtQVn0udGFyLmd6IFwKK1NSQ19VUkkgPSAiaHR0cDovL3JwbTUub3JnL2ZpbGVzL3BvcHQvcG9wdC0ke1BWfS50YXIuZ3ogXAogICAgICAgICAgICBmaWxlOi8vcGtnY29uZmlnX2ZpeC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9wb3B0X2ZpeF9mb3JfYXV0b21ha2UtMS4xMi5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9kaXNhYmxlX3Rlc3RzLnBhdGNoIFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcHRlc3QtcnVubmVyL3B0ZXN0LXJ1bm5lcl8yLjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3B0ZXN0LXJ1bm5lci9wdGVzdC1ydW5uZXJfMi4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MjJkMjNiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcHRlc3QtcnVubmVyL3B0ZXN0LXJ1bm5lcl8yLjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1TVU1NQVJZID0gIkEgQyBwcm9ncmFtIHRvIHJ1biBhbGwgaW5zdGFsbGVkIHB0ZXN0cyIKLURFU0NSSVBUSU9OID0gIlRoZSBwdGVzdC1ydW5uZXIyIHBhY2thZ2UgaW5zdGFsbHMgYSBwdGVzdC1ydW5uZXIgXAotcHJvZ3JhbSB3aGljaCBsb29wcyB0aHJvdWdoIGFsbCBpbnN0YWxsZWQgcHRlc3QgdGVzdCBzdWl0ZXMgYW5kIFwKLXJ1bnMgdGhlbSBpbiBzZXF1ZW5jZS4iCi1IT01FUEFHRSA9ICJodHRwOi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvY2dpdC9jZ2l0LmNnaS9wdGVzdC1ydW5uZXIyL2Fib3V0LyIKLQotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgotCi1TUkNSRVYgPSAiNDk5NTZmNjViYjUzZWEyYTJjMWIzOTRlNWU1OWZmZGZjZGNjNDkwZiIKLVBWID0gIjIuMitnaXQke1NSQ1BWfSIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy9wdGVzdC1ydW5uZXIyIgotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9L3B0ZXN0LXJ1bm5lciIKLQotRVhUUkFfT0VNQUtFID0gIi1lIE1BS0VGTEFHUz0iCi0KLWRvX2NvbXBpbGUgKCkgewotCW9lX3J1bm1ha2UKLX0KLQotZG9faW5zdGFsbCAoKSB7Ci0JaW5zdGFsbCAtRCAtbSAwNzU1ICR7U30vcHRlc3QtcnVubmVyICR7RH0ke2JpbmRpcn0vcHRlc3QtcnVubmVyCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3B0ZXN0LXJ1bm5lci9wdGVzdC1ydW5uZXJfMi4zLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3B0ZXN0LXJ1bm5lci9wdGVzdC1ydW5uZXJfMi4zLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGI3OTkyYgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcHRlc3QtcnVubmVyL3B0ZXN0LXJ1bm5lcl8yLjMuMS5iYgpAQCAtMCwwICsxLDI2IEBACitTVU1NQVJZID0gIkEgQyBwcm9ncmFtIHRvIHJ1biBhbGwgaW5zdGFsbGVkIHB0ZXN0cyIKK0RFU0NSSVBUSU9OID0gIlRoZSBwdGVzdC1ydW5uZXIyIHBhY2thZ2UgaW5zdGFsbHMgYSBwdGVzdC1ydW5uZXIgXAorcHJvZ3JhbSB3aGljaCBsb29wcyB0aHJvdWdoIGFsbCBpbnN0YWxsZWQgcHRlc3QgdGVzdCBzdWl0ZXMgYW5kIFwKK3J1bnMgdGhlbSBpbiBzZXF1ZW5jZS4iCitIT01FUEFHRSA9ICJodHRwOi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvY2dpdC9jZ2l0LmNnaS9wdGVzdC1ydW5uZXIyL2Fib3V0LyIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorCitTUkNSRVYgPSAiMDViMTEyYmRhN2FjMmFkYmE4ZTliMGYwODhkNmU1ODQzYjE0OGEzOCIKK1BWID0gIjIuMy4xK2dpdCR7U1JDUFZ9IgorCitTUkNfVVJJID0gImdpdDovL2dpdC55b2N0b3Byb2plY3Qub3JnL3B0ZXN0LXJ1bm5lcjIiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitGSUxFU18ke1BOfSA9ICIke2JpbmRpcn0vcHRlc3QtcnVubmVyIgorCitFWFRSQV9PRU1BS0UgPSAiLWUgTUFLRUZMQUdTPSBDRkxBR1M9IiR7Q0ZMQUdTfSAtRERFRkFVTFRfRElSRUNUT1JZPVxcXCIke2xpYmRpcn1cXFwiIiIKKworZG9fY29tcGlsZSAoKSB7CisJb2VfcnVubWFrZQorfQorCitkb19pbnN0YWxsICgpIHsKKwlpbnN0YWxsIC1EIC1tIDA3NTUgJHtTfS9wdGVzdC1ydW5uZXIgJHtEfSR7YmluZGlyfS9wdGVzdC1ydW5uZXIKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcm5nLXRvb2xzL3JuZy10b29scy8wMDAxLUlmLXRoZS1saWJjLWlzLWxhY2tpbmctYXJncC11c2UtbGliYXJncC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcm5nLXRvb2xzL3JuZy10b29scy8wMDAxLUlmLXRoZS1saWJjLWlzLWxhY2tpbmctYXJncC11c2UtbGliYXJncC5wYXRjaAppbmRleCA0YmQ5ZDMxLi4wNmQxZDk0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3JuZy10b29scy9ybmctdG9vbHMvMDAwMS1JZi10aGUtbGliYy1pcy1sYWNraW5nLWFyZ3AtdXNlLWxpYmFyZ3AucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ybmctdG9vbHMvcm5nLXRvb2xzLzAwMDEtSWYtdGhlLWxpYmMtaXMtbGFja2luZy1hcmdwLXVzZS1saWJhcmdwLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSA5OTY3OWZkYTQwNWU1MzVhMjgyZjA0YTRkZWNjMjM4MTE1NGE3NDlmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAwNmJhNzE4ODdmNjY3ZDQ1ZGQyMzFhNzgyYTI3NTFmMzZlOGZlMDI1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQ2hyaXN0b3BoZXIgTGFyc29uIDxjaHJpc19sYXJzb25AbWVudG9yLmNvbT4KIERhdGU6IE1vbiwgMTUgRmViIDIwMTYgMTU6NTk6NTggLTA3MDAKLVN1YmplY3Q6IFtQQVRDSCAxLzJdIElmIHRoZSBsaWJjIGlzIGxhY2tpbmcgYXJncCwgdXNlIGxpYmFyZ3AKK1N1YmplY3Q6IFtQQVRDSCAxLzRdIElmIHRoZSBsaWJjIGlzIGxhY2tpbmcgYXJncCwgdXNlIGxpYmFyZ3AKIAogUGF0Y2ggcHVsbGVkIGZyb20gR2VudG9vOgogCkBAIC0yMywxMCArMjMsMTAgQEAKICAxIGZpbGUgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKQogCiBkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCAyN2EyZGJhLi4wNGZjZDI1IDEwMDY0NAoraW5kZXggNGU3OTlkYy4uYzRhNWRkOCAxMDA2NDQKIC0tLSBhL2NvbmZpZ3VyZS5hYwogKysrIGIvY29uZmlndXJlLmFjCi1AQCAtODIsNiArODIsMjggQEAgQVNfSUYoCitAQCAtMTM1LDYgKzEzNSwyOCBAQCBBU19JRigKICAJXQogICkKICAKQEAgLTU2LDUgKzU2LDUgQEAKICBkbmwgQ29uZmlndXJlIG9wdGlvbnMKICBkbmwgLS0tLS0tLS0tLS0tLS0tLS0KIC0tIAotMi4yLjEKKzIuNy40CiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcm5nLXRvb2xzL3JuZy10b29scy8wMDAxLWNvbmZpZ3VyZS5hYy1maXgtdHlwby5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcm5nLXRvb2xzL3JuZy10b29scy8wMDAxLWNvbmZpZ3VyZS5hYy1maXgtdHlwby5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNGQyOGEwCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ybmctdG9vbHMvcm5nLXRvb2xzLzAwMDEtY29uZmlndXJlLmFjLWZpeC10eXBvLnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK0Zyb20gOTliMGVmZWJkNzY1ODAzMjAzNjg2ZDg5YmM0Zjk5NWJjYjEwM2U3OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFNhdCwgMTAgTm92IDIwMTggMDk6NTM6MTkgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlLmFjOiBmaXggdHlwbworCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL25ob3JtYW4vcm5nLXRvb2xzLmdpdF0KK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggNGU3OTlkYy4uMDI1MTkyOCAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNjIsNyArNjIsNyBAQCBBU19JRihbdGVzdCAkdGFyZ2V0X2NwdSA9IHBvd2VycGM2NGxlXSwgW0FDX0RFRklORShbSEFWRV9EQVJOXSwxLFtFbmFibGUgREFSTl0pXQorIEFNX0NPTkRJVElPTkFMKFtKSVRURVJdLCBbZmFsc2VdKQorIAorIEFDX0FSR19FTkFCTEUoaml0dGVyZW50cm9weSwKKy0JQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1qaXR0ZXJudHJvcHkgfCAtLWVuYWJsZS1qaXR0ZXJlbnRyb3B5PTxwYXRoPl0sCisrCUFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtaml0dGVyZW50cm9weSB8IC0tZW5hYmxlLWppdHRlcmVudHJvcHk9PHBhdGg+XSwKKyAJW0Rpc2FibGUgaml0dGVyZW50cm9weSBzb3VyY2UsIG9yIHNwZWNpZnkgaXRzIGxvY2F0aW9uXSksCisgCVtpZiBbIHRlc3QgLWQgJGVuYWJsZV9qaXR0ZXJlbnRyb3B5IF07IHRoZW4KKyAJCWV4cG9ydCBMREZMQUdTKz0tTCRlbmFibGVfaml0dGVyZW50cm9weTsKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ybmctdG9vbHMvcm5nLXRvb2xzLzAwMDItQWRkLWFyZ3VtZW50LXRvLWNvbnRyb2wtdGhlLWxpYmFyZ3AtZGVwZW5kZW5jeS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcm5nLXRvb2xzL3JuZy10b29scy8wMDAyLUFkZC1hcmd1bWVudC10by1jb250cm9sLXRoZS1saWJhcmdwLWRlcGVuZGVuY3kucGF0Y2gKaW5kZXggMWM4YTc5Yy4uYmU2MGZlOSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ybmctdG9vbHMvcm5nLXRvb2xzLzAwMDItQWRkLWFyZ3VtZW50LXRvLWNvbnRyb2wtdGhlLWxpYmFyZ3AtZGVwZW5kZW5jeS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3JuZy10b29scy9ybmctdG9vbHMvMDAwMi1BZGQtYXJndW1lbnQtdG8tY29udHJvbC10aGUtbGliYXJncC1kZXBlbmRlbmN5LnBhdGNoCkBAIC0xLDIzICsxLDI2IEBACi1Gcm9tIGFmYzg3MTJhOWU2YzcyZmJkMDNjMzZmODRlY2Y4NzAzZTVkMjJhOGMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDcxMWUyZjc2ODkwZTNjNWIwOGY2NDg1OWQ5ZmQ5MTNkZGJlYzdkNTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBDaHJpc3RvcGhlciBMYXJzb24gPGNocmlzX2xhcnNvbkBtZW50b3IuY29tPgotRGF0ZTogTW9uLCAxNSBGZWIgMjAxNiAxNjoxMTozMiAtMDcwMAotU3ViamVjdDogW1BBVENIIDIvMl0gQWRkIGFyZ3VtZW50IHRvIGNvbnRyb2wgdGhlIGxpYmFyZ3AgZGVwZW5kZW5jeQorRGF0ZTogTW9uLCAyMiBPY3QgMjAxOCAxNToyNjo0NyArMDgwMAorU3ViamVjdDogW1BBVENIIDIvNF0gQWRkIGFyZ3VtZW50IHRvIGNvbnRyb2wgdGhlIGxpYmFyZ3AgZGVwZW5kZW5jeQogCiBUaGlzIGVuc3VyZXMgdGhhdCB0aGUgYnVpbGRzIGFyZSBhbHdheXMgZGV0ZXJtaW5pc3RpYy4gSWYgdGhlIGFyZ3VtZW50IGlzbid0CiBwYXNzZWQsIHRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIHVzZSBsaWJhcmdwIGlmIHRoZSBsaWJjIGRvZXNuJ3QgaGF2ZSBhcmdwLgogCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIFNpZ25lZC1vZmYtYnk6IENocmlzdG9waGVyIExhcnNvbiA8Y2hyaXNfbGFyc29uQG1lbnRvci5jb20+CisKK1JlYmFzZSB0byA2LjYKK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KIC0tLQogIGNvbmZpZ3VyZS5hYyB8IDU1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KICAxIGZpbGUgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDA0ZmNkMjUuLjExYTUzMjEgMTAwNjQ0CitpbmRleCBjNGE1ZGQ4Li5kZDFjMzBmIDEwMDY0NAogLS0tIGEvY29uZmlndXJlLmFjCiArKysgYi9jb25maWd1cmUuYWMKLUBAIC0zMiw2ICszMiwxMyBAQCBBQ19BUkdfV0lUSChbbGliZ2NyeXB0XSwKLSAJW3dpdGhfbGliZ2NyeXB0PWNoZWNrXQorQEAgLTQwLDYgKzQwLDEzIEBAIEFDX0FSR19XSVRIKFtuaXN0YmVhY29uXSwKKyAJW3dpdGhfbmlzdGJlYWNvbj1jaGVja10KICApCiAgCiArQUNfQVJHX1dJVEgoW2xpYmFyZ3BdLApAQCAtMjksOCArMzIsOCBAQAogKwogIGRubCBNYWtlIHN1cmUgYW55b25lIGNoYW5naW5nIGNvbmZpZ3VyZS5hYy9NYWtlZmlsZS5hbSBoYXMgYSBjbHVlCiAgQU1fTUFJTlRBSU5FUl9NT0RFCi0gCi1AQCAtODIsMjcgKzg5LDM3IEBAIEFTX0lGKAorIEFNX1BST0dfQVMKK0BAIC0xMzUsMjcgKzE0MiwzNyBAQCBBU19JRigKICAJXQogICkKICAKQEAgLTg4LDUgKzkxLDUgQEAKICBkbmwgLS0tLS0tLS0tLS0tLS0tLS0KICBkbmwgQ29uZmlndXJlIG9wdGlvbnMKIC0tIAotMi4yLjEKKzIuNy40CiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcm5nLXRvb2xzL3JuZy10b29scy9yZWFkX2Vycm9yX21zZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcm5nLXRvb2xzL3JuZy10b29scy9yZWFkX2Vycm9yX21zZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGFhMTNiZi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3JuZy10b29scy9ybmctdG9vbHMvcmVhZF9lcnJvcl9tc2cucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5OCArMCwwIEBACi1ybmctdG9vbHM6IG1vZGlmeSAncmVhZCBlcnJvcicgbWVzc2FnZQotCi1NYWtlIHRoZSAncmVhZCBlcnJvcicgbWVzc2FnZSBtb3JlIGRlc2NyaXB0aXZlLgotCi1Db3BpZWQgZnJvbSBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vYXR0YWNobWVudC5jZ2k/aWQ9MTI5NTg1NwotYW5kIG1vZGlmaWVkIGluIG9uZSBwbGFjZSB0byBhcHBseSBzdWNjZXNzZnVsbHkuICBFcnJvciBtZXNzYWdlIGR1cmluZwotYm9vdHN0cmFwIG1vZGlmaWVkIHRvIHNob3cgZGV2aWNlIG5hbWUuCi0KLVVwc3RyZWFtLVN0YXR1czogcGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBKb2UgU2xhdGVyIDxqb2Uuc2xhdGVyQHdpbmRyaXZlci5jb20+Ci0KLQotLS0tIGEvcm5nZC5jCi0rKysgYi9ybmdkLmMKLUBAIC0yNDcsOCArMjQ3LDExIEBAIHN0YXRpYyB2b2lkIGRvX2xvb3AoaW50IHJhbmRvbV9zdGVwKQotIAkJCQljb250aW51ZTsJLyogZmFpbGVkLCBubyB3b3JrICovCi0gCi0gCQkJcmV0dmFsID0gaXRlci0+eHJlYWQoYnVmLCBzaXplb2YgYnVmLCBpdGVyKTsKLS0JCQlpZiAocmV0dmFsKQotKwkJCWlmIChyZXR2YWwpIHsKLSsJCQkJbWVzc2FnZShMT0dfREFFTU9OfExPR19FUlIsCi0rCQkJCQkiRXJyb3IgcmVhZGluZyBmcm9tIGVudHJvcHkgc291cmNlXG4iKTsKLSAJCQkJY29udGludWU7CS8qIGZhaWxlZCwgbm8gd29yayAqLwotKwkJCX0KLSAKLSAJCQl3b3JrX2RvbmUgPSB0cnVlOwotIAotLS0tIGEvcm5nZF9lbnRzb3VyY2UuYwotKysrIGIvcm5nZF9lbnRzb3VyY2UuYwotQEAgLTYzLDEwICs2Myw4IEBAIGludCB4cmVhZCh2b2lkICpidWYsIHNpemVfdCBzaXplLCBzdHJ1Y3QKLSAJCXNpemUgLT0gcjsKLSAJfQotIAotLQlpZiAoc2l6ZSkgewotLQkJbWVzc2FnZShMT0dfREFFTU9OfExPR19FUlIsICJyZWFkIGVycm9yXG4iKTsKLSsJaWYgKHNpemUpCi0gCQlyZXR1cm4gLTE7Ci0tCX0KLSAJcmV0dXJuIDA7Ci0gfQotIAotQEAgLTE1Miw3ICsxNTAsNyBAQCBlcnJvcl9vdXQ6Ci0gfQotIAotIC8qIEluaXRpYWxpemUgZW50cm9weSBzb3VyY2UgKi8KLS1zdGF0aWMgaW50IGRpc2NhcmRfaW5pdGlhbF9kYXRhKHN0cnVjdCBybmcgKmVudF9zcmMpCi0rc3RhdGljIGludCBkaXNjYXJkX2luaXRpYWxfZGF0YShzdHJ1Y3Qgcm5nICplbnRfc3JjLCBpbnQgKmJ1ZikKLSB7Ci0gCS8qIFRyYXNoIDMyIGJpdHMgb2Ygd2hhdCBpcyBwcm9iYWJseSBzdGFsZSAobm9uLXJhbmRvbSkKLSAJICogaW5pdGlhbCBzdGF0ZSBmcm9tIHRoZSBSTkcuICBGb3IgSW50ZWwncywgOCBiaXRzIHdvdWxkCi1AQCAtMTY0LDEwICsxNjIsMTIgQEAgc3RhdGljIGludCBkaXNjYXJkX2luaXRpYWxfZGF0YShzdHJ1Y3QgcgotIAl4cmVhZCh0ZW1wYnVmLCBzaXplb2YodGVtcGJ1ZiksIGVudF9zcmMpOwotIAotIAkvKiBSZXR1cm4gMzIgYml0cyBvZiBib290c3RyYXAgZGF0YSAqLwotLQl4cmVhZCh0ZW1wYnVmLCBzaXplb2YodGVtcGJ1ZiksIGVudF9zcmMpOwotKwlpZiAoeHJlYWQodGVtcGJ1Ziwgc2l6ZW9mKHRlbXBidWYpLCBlbnRfc3JjKSAhPSAwKQotKwkJcmV0dXJuIC0xOwotIAotLQlyZXR1cm4gdGVtcGJ1ZlswXSB8ICh0ZW1wYnVmWzFdIDw8IDgpIHwKLSsJKmJ1ZiA9IHRlbXBidWZbMF0gfCAodGVtcGJ1ZlsxXSA8PCA4KSB8Ci0gCQkodGVtcGJ1ZlsyXSA8PCAxNikgfCAodGVtcGJ1ZlszXSA8PCAyNCk7Ci0rCXJldHVybiAwOwotIH0KLSAKLSAvKgotQEAgLTE3NSw2ICsxNzUsOCBAQCBzdGF0aWMgaW50IGRpc2NhcmRfaW5pdGlhbF9kYXRhKHN0cnVjdCByCi0gICovCi0gaW50IGluaXRfZW50cm9weV9zb3VyY2Uoc3RydWN0IHJuZyAqZW50X3NyYykKLSB7Ci0rCWludCBib290c3RyYXA7Ci0rCi0gCWVudF9zcmMtPnJuZ19mZCA9IG9wZW4oZW50X3NyYy0+cm5nX25hbWUsIE9fUkRPTkxZKTsKLSAJaWYgKGVudF9zcmMtPnJuZ19mZCA9PSAtMSkgewotIAkJcmV0dXJuIDE7Ci1AQCAtMTgyLDcgKzE4NCwxMSBAQCBpbnQgaW5pdF9lbnRyb3B5X3NvdXJjZShzdHJ1Y3Qgcm5nICplbnRfCi0gCXNyY19saXN0X2FkZChlbnRfc3JjKTsKLSAJLyogQm9vdHN0cmFwIEZJUFMgdGVzdHMgKi8KLSAJZW50X3NyYy0+Zmlwc2N0eCA9IG1hbGxvYyhzaXplb2YoZmlwc19jdHhfdCkpOwotLQlmaXBzX2luaXQoZW50X3NyYy0+Zmlwc2N0eCwgZGlzY2FyZF9pbml0aWFsX2RhdGEoZW50X3NyYykpOwotKwlpZiAoZGlzY2FyZF9pbml0aWFsX2RhdGEoZW50X3NyYywgJmJvb3RzdHJhcCkgIT0gMCkgewotKwkJbWVzc2FnZShMT0dfRVJSfExPR19JTkZPLCAiUmVhZCBmYWlsdXJlIGluICVzIGR1cmluZyBib290c3RyYXBcbiIsZW50X3NyYy0+cm5nX25hbWUpOwotKwkJcmV0dXJuIDE7Ci0rCX0KLSsJZmlwc19pbml0KGVudF9zcmMtPmZpcHNjdHgsIGJvb3RzdHJhcCk7Ci0gCXJldHVybiAwOwotIH0KLSAKLS0tLSBhL3JuZ3Rlc3QuYwotKysrIGIvcm5ndGVzdC5jCi1AQCAtMzM1LDYgKzMzNSw3IEBAIHN0YXRpYyBpbnQgZGlzY2FyZF9pbml0aWFsX2RhdGEodm9pZCkKLSAKLSAJcmV0dXJuIHRlbXBidWZbMF0gfCAodGVtcGJ1ZlsxXSA8PCA4KSB8Ci0gCQkodGVtcGJ1ZlsyXSA8PCAxNikgfCAodGVtcGJ1ZlszXSA8PCAyNCk7Ci0rCi0gfQotIAotIHN0YXRpYyB2b2lkIGRvX3JuZ19maXBzX3Rlc3RfbG9vcCggdm9pZCApCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3JuZy10b29scy9ybmctdG9vbHMvcm5nLXRvb2xzLTUtZml4LXRleHRyZWxzLW9uLVBJQy14ODYucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3JuZy10b29scy9ybmctdG9vbHMvcm5nLXRvb2xzLTUtZml4LXRleHRyZWxzLW9uLVBJQy14ODYucGF0Y2gKaW5kZXggOTNhNTg2NC4uNjE0YWRhYiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ybmctdG9vbHMvcm5nLXRvb2xzL3JuZy10b29scy01LWZpeC10ZXh0cmVscy1vbi1QSUMteDg2LnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcm5nLXRvb2xzL3JuZy10b29scy9ybmctdG9vbHMtNS1maXgtdGV4dHJlbHMtb24tUElDLXg4Ni5wYXRjaApAQCAtMSw1ICsxLDEwIEBACi1Gcm9tOiBGcmFuY2lzY28gQmxhcyBJenF1aWVyZG8gUmllcmEgKGtsb25kaWtlKSA8a2xvbmRpa2VAZ2VudG9vLm9yZz4KLVN1YmplY3Q6IFtQQVRDSF0gRml4IGFzc2VtYnkgdGV4dHJlbHMgb24gcmRyYW5kX2FzbS5TIG9uIFBJQyB4ODYKK0Zyb20gZDhiMWJiOGVkZDk5YjI4OTg3MjBiNGYxMGQyOTJhNjdkNTMyZGI0OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ICJGcmFuY2lzY28gQmxhcyBJenF1aWVyZG8gUmllcmEgKGtsb25kaWtlKSIgPGtsb25kaWtlQGdlbnRvby5vcmc+CitEYXRlOiBNb24sIDIyIE9jdCAyMDE4IDE1OjI5OjM2ICswODAwCitTdWJqZWN0OiBbUEFUQ0ggNC80XSBGaXggYXNzZW1ieSB0ZXh0cmVscyBvbiByZHJhbmRfYXNtLlMgb24gUElDIHg4NgorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAogCiBUaGlzIHBhdGNoIHVwZGF0ZXMgdGhlIGZpeGVzIGluIHRoZSBhc3NlbWJseSBpbiByZHJhbmRfYXNtLlMgaW4KIHN5cy1hcHBzL3JuZy10b29scy01IHNvIGl0IHdvbid0IGdlbmVyYXRlIHRleHRyZWxzIG9uIFBJQyBzeXN0ZW1zLgpAQCAtMTksMTEgKzI0LDE0IEBACiBUZXN0ZWQtYnk6IEFudGhvbnkgQmFzaWxlIDxibHVlbmVzc0BnZW50b28ub3JnPgogCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKy0tLQorIHJkcmFuZF9hc20uUyB8IDI3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAyNyBpbnNlcnRpb25zKCspCiAKLUluZGV4OiBybmctdG9vbHMtNS9yZHJhbmRfYXNtLlMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBybmctdG9vbHMtNS5vcmlnL3JkcmFuZF9hc20uUwotKysrIHJuZy10b29scy01L3JkcmFuZF9hc20uUworZGlmZiAtLWdpdCBhL3JkcmFuZF9hc20uUyBiL3JkcmFuZF9hc20uUworaW5kZXggYjVkMjYwYS4uNzgxMWNmMiAxMDA2NDQKKy0tLSBhL3JkcmFuZF9hc20uUworKysrIGIvcmRyYW5kX2FzbS5TCiBAQCAtMiw2ICsyLDcgQEAKICAgKiBDb3B5cmlnaHQgKGMpIDIwMTEtMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24KICAgKiBBdXRob3JzOiBGZW5naHVhIFl1IDxmZW5naHVhLnl1QGludGVsLmNvbT4sCkBAIC0zMiw3ICs0MCw3IEBACiAgICoKICAgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAogICAqIHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCi1AQCAtMTc0LDcgKzE3NSwxOSBAQCBFTlRSWSh4ODZfcmRzZWVkX29yX3JkcmFuZF9ieXRlcykKK0BAIC0xNzIsNyArMTczLDE5IEBAIEVOVFJZKHg4Nl9yZHNlZWRfb3JfcmRyYW5kX2J5dGVzKQogIAlqbXAJNGIKICBFTkRQUk9DKHg4Nl9yZHNlZWRfb3JfcmRyYW5kX2J5dGVzKQogIApAQCAtNTIsNyArNjAsNyBAQAogICNkZWZpbmUgUFRSMAklZWF4CiAgI2RlZmluZSBQVFIxCSVlZHgKICAjZGVmaW5lIFBUUjIJJWVjeAotQEAgLTE5MCw2ICsyMDMsNyBAQCBFTlRSWSh4ODZfYWVzX21hbmdsZSkKK0BAIC0xODgsNiArMjAxLDcgQEAgRU5UUlkoeDg2X2Flc19tYW5nbGUpCiAgCW1vdmwJOCglZWJwKSwgJWVheAogIAltb3ZsCTEyKCVlYnApLCAlZWR4CiAgCXB1c2gJJWVzaQpAQCAtNjAsNyArNjgsNyBAQAogICNlbmRpZgogIAltb3ZsCSQ1MTIsIENUUjMJLyogTnVtYmVyIG9mIHJvdW5kcyAqLwogIAkKLUBAIC0yODAsNiArMjk0LDcgQEAgb2Zmc2V0ID0gb2Zmc2V0ICsgMTYKK0BAIC0yNzgsNiArMjkyLDcgQEAgb2Zmc2V0ID0gb2Zmc2V0ICsgMTYKICAJbW92ZHFhCSV4bW03LCAoNyoxNikoUFRSMSkKICAKICAjaWZkZWYgX19pMzg2X18KQEAgLTY4LDcgKzc2LDcgQEAKICAJcG9wCSVlc2kKICAJcG9wCSVlYnAKICAjZW5kaWYKLUBAIC0yOTQsNiArMzA5LDcgQEAgRU5UUlkoeDg2X2Flc19leHBhbmRfa2V5KQorQEAgLTI5Miw2ICszMDcsNyBAQCBFTlRSWSh4ODZfYWVzX2V4cGFuZF9rZXkpCiAgCXB1c2gJJWVicAogIAltb3YJJWVzcCwgJWVicAogIAltb3ZsCTgoJWVicCksICVlYXgKQEAgLTc2LDcgKzg0LDcgQEAKICAjZW5kaWYKICAKICAJU0VUUFRSKGFlc19yb3VuZF9rZXlzLCBQVFIxKQotQEAgLTMyMyw2ICszMzksNyBAQCBFTlRSWSh4ODZfYWVzX2V4cGFuZF9rZXkpCitAQCAtMzIxLDYgKzMzNyw3IEBAIEVOVFJZKHg4Nl9hZXNfZXhwYW5kX2tleSkKICAJY2FsbAkxZgogIAogICNpZmRlZiBfX2kzODZfXwpAQCAtODQsNyArOTIsNyBAQAogIAlwb3AJJWVicAogICNlbmRpZgogIAlyZXQKLUBAIC0zNDMsNiArMzYwLDE2IEBAIEVOVFJZKHg4Nl9hZXNfZXhwYW5kX2tleSkKK0BAIC0zNDEsNiArMzU4LDE2IEBAIEVOVFJZKHg4Nl9hZXNfZXhwYW5kX2tleSkKICAKICBFTkRQUk9DKHg4Nl9hZXNfZXhwYW5kX2tleSkKICAKQEAgLTEwMSwzICsxMDksNiBAQAogIAkuYnNzCiAgCS5iYWxpZ24gNjQKICBhZXNfcm91bmRfa2V5czoKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ybmctdG9vbHMvcm5nLXRvb2xzL3VuZGVycXVvdGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3JuZy10b29scy9ybmctdG9vbHMvdW5kZXJxdW90ZS5wYXRjaAppbmRleCBhZmQwOGQ1Li5hYTRiYmNiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3JuZy10b29scy9ybmctdG9vbHMvdW5kZXJxdW90ZS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3JuZy10b29scy9ybmctdG9vbHMvdW5kZXJxdW90ZS5wYXRjaApAQCAtMSw0ICsxLDggQEAKLUZpeCB1bmRlcnF1b3RlZCBtNCBlbnRyeS4gVGhpcyBjYXVzZXMgYSBmYWlsdXJlIGlmIGdjcnlwdCBpc24ndCBwcmVzZW50OgorRnJvbSAwM2ZlN2VmYTFiYzA0YTgzZmI5YjY3ODc5OThlN2JhYTdlZTkwNjQ2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+CitEYXRlOiBNb24sIDIyIE9jdCAyMDE4IDE1OjI3OjQxICswODAwCitTdWJqZWN0OiBbUEFUQ0ggMy80XSBGaXggdW5kZXJxdW90ZWQgbTQgZW50cnkuIFRoaXMgY2F1c2VzIGEgZmFpbHVyZSBpZiBnY3J5cHQKKyBpc24ndCBwcmVzZW50OgogCiB8IGNvbmZpZ3VyZTogbGliZ2NyeXB0IHN1cHBvcnQgZGlzYWJsZWQKIHwgLi4vcm5nLXRvb2xzLTUvY29uZmlndXJlOiBsaW5lIDQzNDU6IGFjX2ZuX2NfdHJ5X2xpbms6IGNvbW1hbmQgbm90IGZvdW5kCkBAIC05LDExICsxMywxNyBAQAogCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIAotSW5kZXg6IHJuZy10b29scy01L2NvbmZpZ3VyZS5hYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHJuZy10b29scy01Lm9yaWcvY29uZmlndXJlLmFjCi0rKysgcm5nLXRvb2xzLTUvY29uZmlndXJlLmFjCi1AQCAtNzEsNyArNzEsNyBAQCBBU19JRigKK1JlYmFzZSB0byA2LjYKK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IGRkMWMzMGYuLjg4ZDJiZTMgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTEyNCw3ICsxMjQsNyBAQCBBU19JRigKICAJW3Rlc3QgIngkd2l0aF9saWJnY3J5cHQiICE9ICJ4bm8iXSwKICAJWwogIAkJQUNfQ0hFQ0tfSEVBREVSKFtnY3J5cHQuaF0sCkBAIC0yMiw3ICszMiw3IEBACiAgCQkJCVtnY3J5cHRdLAogIAkJCQlbZ2NyeV9jaGVja192ZXJzaW9uXSwgLAogIAkJCQlbCi1AQCAtODAsNyArODAsNyBAQCBBU19JRigKK0BAIC0xMzMsNyArMTMzLDcgQEAgQVNfSUYoCiAgCQkJCQkJQUNfTVNHX05PVElDRShbbGliZ2NyeXB0IHN1cHBvcnQgZGlzYWJsZWRdKQogIAkJCQkJZmkKICAJCQkJXQpAQCAtMzEsMyArNDEsNiBAQAogIAkJCVtpZiB0ZXN0ICJ4JHdpdGhfbGliZ2NyeXB0IiAhPSAieGNoZWNrIjsgdGhlbgogIAkJCQlBQ19NU0dfRkFJTFVSRShbbGliZ2NyeXB0IGhlYWRlcnMgbm90IGZvdW5kXSk7IGVsc2UKICAJCQkJQUNfTVNHX05PVElDRShbbGliZ2NyeXB0IHN1cHBvcnQgZGlzYWJsZWRdKQorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3JuZy10b29scy9ybmctdG9vbHNfNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcm5nLXRvb2xzL3JuZy10b29sc181LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NzY1NjY3Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcm5nLXRvb2xzL3JuZy10b29sc181LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotU1VNTUFSWSA9ICJSYW5kb20gbnVtYmVyIGdlbmVyYXRvciBkYWVtb24iCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MGI2ZjAzM2FmZTZkYjIzNWU1NTk0NTY1ODVkYzhjZGMiCi0KLVNSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2drZXJuZWwvJHtCUH0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtSWYtdGhlLWxpYmMtaXMtbGFja2luZy1hcmdwLXVzZS1saWJhcmdwLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItQWRkLWFyZ3VtZW50LXRvLWNvbnRyb2wtdGhlLWxpYmFyZ3AtZGVwZW5kZW5jeS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly91bmRlcnF1b3RlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3JuZy10b29scy01LWZpeC10ZXh0cmVscy1vbi1QSUMteDg2LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3JlYWRfZXJyb3JfbXNnLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2luaXQgXAotICAgICAgICAgICBmaWxlOi8vZGVmYXVsdCBcCi0gICAgICAgICAgIGZpbGU6Ly9ybmdkLnNlcnZpY2UgXAotIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNjcyNmNkYzZmYWUxZjUxMjI0NjNmMjRhZTk4MGRkNjgiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjBhMTAyYjY2MDNiYmNjZTJkYTM0MTQ3MGNhZDQyZWVhYTk1NjRhMTZiNDQ5MGU3ODY3MDI2Y2ExMWEzMDc4ZSIKLQotaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLXJjLmQgc3lzdGVtZAotCi1QQUNLQUdFQ09ORklHID0gImxpYmdjcnlwdCIKLVBBQ0tBR0VDT05GSUdfbGliYy1tdXNsID0gImxpYmFyZ3AiCi1QQUNLQUdFQ09ORklHW2xpYmFyZ3BdID0gIi0td2l0aC1saWJhcmdwLC0td2l0aG91dC1saWJhcmdwLGFyZ3Atc3RhbmRhbG9uZSwiCi1QQUNLQUdFQ09ORklHW2xpYmdjcnlwdF0gPSAiLS13aXRoLWxpYmdjcnlwdCwtLXdpdGhvdXQtbGliZ2NyeXB0LGxpYmdjcnlwdCwiCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgICMgT25seSBpbnN0YWxsIHRoZSBpbml0IHNjcmlwdCB3aGVuICdzeXN2aW5pdCcgaXMgaW4gRElTVFJPX0ZFQVRVUkVTLgotICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdmluaXQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgotICAgICAgICBpbnN0YWxsIC1kICIke0R9JHtzeXNjb25mZGlyfS9pbml0LmQiCi0gICAgICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2luaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3JuZy10b29scwotICAgICAgICBzZWQgLWkgLWUgJ3MsL2V0Yy8sJHtzeXNjb25mZGlyfS8sJyAtZSAncywvdXNyL3NiaW4vLCR7c2JpbmRpcn0vLCcgXAotICAgICAgICAgICAgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3JuZy10b29scwotCi0gICAgICAgIGluc3RhbGwgLWQgIiR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQiCi0gICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2RlZmF1bHQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC9ybmctdG9vbHMKLSAgICBmaQotCi0gICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KLSAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L3JuZ2Quc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotICAgICAgICBzZWQgLWkgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcm5nZC5zZXJ2aWNlCi0gICAgZmkKLX0KLQotSU5JVFNDUklQVF9OQU1FID0gInJuZy10b29scyIKLUlOSVRTQ1JJUFRfUEFSQU1TID0gInN0YXJ0IDAzIDIgMyA0IDUgLiBzdG9wIDMwIDAgNiAxIC4iCi0KLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJybmdkLnNlcnZpY2UiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3JuZy10b29scy9ybmctdG9vbHNfNi42LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ybmctdG9vbHMvcm5nLXRvb2xzXzYuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Nzk2YzliCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ybmctdG9vbHMvcm5nLXRvb2xzXzYuNi5iYgpAQCAtMCwwICsxLDU4IEBACitTVU1NQVJZID0gIlJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yIGRhZW1vbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL25ob3JtYW4vcm5nLXRvb2xzLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUlmLXRoZS1saWJjLWlzLWxhY2tpbmctYXJncC11c2UtbGliYXJncC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLUFkZC1hcmd1bWVudC10by1jb250cm9sLXRoZS1saWJhcmdwLWRlcGVuZGVuY3kucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vdW5kZXJxdW90ZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9ybmctdG9vbHMtNS1maXgtdGV4dHJlbHMtb24tUElDLXg4Ni5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS5hYy1maXgtdHlwby5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9pbml0IFwKKyAgICAgICAgICAgZmlsZTovL2RlZmF1bHQgXAorICAgICAgICAgICBmaWxlOi8vcm5nZC5zZXJ2aWNlIFwKKyIKK1NSQ1JFViA9ICI0ZWJjMjFkNmYzODdiYjdiNGIzZjZiYWRjNDI5ZTI3YjIxYzBhNmVlIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLXJjLmQgc3lzdGVtZCBwa2djb25maWcKKworREVQRU5EUyA9ICIgXAorICAgICAgICAgICBzeXNmc3V0aWxzIFwKKyAgICAgICAgICAiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJsaWJnY3J5cHQgbGliaml0dGVyZW50cm9weSIKK1BBQ0tBR0VDT05GSUdfbGliYy1tdXNsID0gImxpYmFyZ3AgbGliaml0dGVyZW50cm9weSIKK1BBQ0tBR0VDT05GSUdbbGliYXJncF0gPSAiLS13aXRoLWxpYmFyZ3AsLS13aXRob3V0LWxpYmFyZ3AsYXJncC1zdGFuZGFsb25lLCIKK1BBQ0tBR0VDT05GSUdbbGliZ2NyeXB0XSA9ICItLXdpdGgtbGliZ2NyeXB0LC0td2l0aG91dC1saWJnY3J5cHQsbGliZ2NyeXB0LCIKK1BBQ0tBR0VDT05GSUdbbGliaml0dGVyZW50cm9weV0gPSAiLS1lbmFibGUtaml0dGVyZW50cm9weSwtLWRpc2FibGUtaml0dGVyZW50cm9weSxsaWJqaXR0ZXJlbnRyb3B5IgorUEFDS0FHRUNPTkZJR1tuaXN0YmVhY29uXSA9ICItLXdpdGgtbmlzdGJlYWNvbiwtLXdpdGhvdXQtbmlzdGJlYWNvbixjdXJsIGxpYnhtbDIgb3BlbnNzbCIKKworIyBSZWZlciBhdXRvZ2VuLnNoIGluIHJuZy10b29scworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgY3AgJHtTfS9SRUFETUUubWQgJHtTfS9SRUFETUUKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyBPbmx5IGluc3RhbGwgdGhlIGluaXQgc2NyaXB0IHdoZW4gJ3N5c3Zpbml0JyBpcyBpbiBESVNUUk9fRkVBVFVSRVMuCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgIiR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZCIKKyAgICAgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvcm5nLXRvb2xzCisgICAgICAgIHNlZCAtaSAtZSAncywvZXRjLywke3N5c2NvbmZkaXJ9LywnIC1lICdzLC91c3Ivc2Jpbi8sJHtzYmluZGlyfS8sJyBcCisgICAgICAgICAgICAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvcm5nLXRvb2xzCisKKyAgICAgICAgaW5zdGFsbCAtZCAiJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdCIKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZGVmYXVsdCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3JuZy10b29scworICAgIGZpCisKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vcm5nZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgIHNlZCAtaSAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9ybmdkLnNlcnZpY2UKKyAgICBmaQorfQorCitJTklUU0NSSVBUX05BTUUgPSAicm5nLXRvb2xzIgorSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgMDMgMiAzIDQgNSAuIHN0b3AgMzAgMCA2IDEgLiIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInJuZ2Quc2VydmljZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvc2hhcmVkLW1pbWUtaW5mby9zaGFyZWQtbWltZS1pbmZvLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvc2hhcmVkLW1pbWUtaW5mby9zaGFyZWQtbWltZS1pbmZvLmluYwppbmRleCAzNDRkYTdlLi4zZmUxYTQ0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3NoYXJlZC1taW1lLWluZm8vc2hhcmVkLW1pbWUtaW5mby5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9zaGFyZWQtbWltZS1pbmZvL3NoYXJlZC1taW1lLWluZm8uaW5jCkBAIC0zMCw2ICszMCw4IEBACiAKIGRvX2luc3RhbGxfY2xhc3MtbmF0aXZlICgpIHsKIAlhdXRvdG9vbHNfZG9faW5zdGFsbAorCisJJHtCfS91cGRhdGUtbWltZS1kYXRhYmFzZSAke0R9JHtkYXRhZGlyfS9taW1lCiB9CiAKIEJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZTMuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9zcWxpdGUvc3FsaXRlMy5pbmMKaW5kZXggMTgzNDg2Ny4uZGFmM2RiNSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9zcWxpdGUvc3FsaXRlMy5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9zcWxpdGUvc3FsaXRlMy5pbmMKQEAgLTIxLDExICsyMSwxOSBAQAogCiBpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKIAotUEFDS0FHRUNPTkZJRyA/PSAiIgotUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmUgPSAiIgorIyBlbmFibGUgdGhvc2Ugd2hpY2ggYXJlIGVuYWJsZWQgYnkgZGVmYXVsdCBpbiBjb25maWd1cmUKK1BBQ0tBR0VDT05GSUcgPz0gImZ0czQgZnRzNSBqc29uMSBydHJlZSBkeW5fZXh0IgorUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmUgPz0gImZ0czQgZnRzNSBqc29uMSBydHJlZSBkeW5fZXh0IgogCiBQQUNLQUdFQ09ORklHW2VkaXRsaW5lXSA9ICItLWVuYWJsZS1lZGl0bGluZSwtLWRpc2FibGUtZWRpdGxpbmUsbGliZWRpdCIKIFBBQ0tBR0VDT05GSUdbcmVhZGxpbmVdID0gIi0tZW5hYmxlLXJlYWRsaW5lLC0tZGlzYWJsZS1yZWFkbGluZSxyZWFkbGluZSBuY3Vyc2VzIgorUEFDS0FHRUNPTkZJR1tmdHMzXSA9ICItLWVuYWJsZS1mdHMzLC0tZGlzYWJsZS1mdHMzIgorUEFDS0FHRUNPTkZJR1tmdHM0XSA9ICItLWVuYWJsZS1mdHM0LC0tZGlzYWJsZS1mdHM0IgorUEFDS0FHRUNPTkZJR1tmdHM1XSA9ICItLWVuYWJsZS1mdHM1LC0tZGlzYWJsZS1mdHM1IgorUEFDS0FHRUNPTkZJR1tqc29uMV0gPSAiLS1lbmFibGUtanNvbjEsLS1kaXNhYmxlLWpzb24xIgorUEFDS0FHRUNPTkZJR1tydHJlZV0gPSAiLS1lbmFibGUtcnRyZWUsLS1kaXNhYmxlLXJ0cmVlIgorUEFDS0FHRUNPTkZJR1tzZXNzaW9uXSA9ICItLWVuYWJsZS1zZXNzaW9uLC0tZGlzYWJsZS1zZXNzaW9uIgorUEFDS0FHRUNPTkZJR1tkeW5fZXh0XSA9ICItLWVuYWJsZS1keW5hbWljLWV4dGVuc2lvbnMsLS1kaXNhYmxlLWR5bmFtaWMtZXh0ZW5zaW9ucyIKIAogRVhUUkFfT0VDT05GID0gIiBcCiAgICAgLS1lbmFibGUtc2hhcmVkIFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZTMvQ1ZFLTIwMTktOTkzNi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZTMvQ1ZFLTIwMTktOTkzNi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjkwN2I5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9zcWxpdGUvc3FsaXRlMy9DVkUtMjAxOS05OTM2LnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK1J1bm5pbmcgZnRzNSBwcmVmaXggcXVlcmllcyBpbnNpZGUgYSB0cmFuc2FjdGlvbiBjb3VsZCB0cmlnZ2VyIGEgaGVhcC1iYXNlZAorYnVmZmVyIG92ZXItcmVhZCBpbiBmdHM1SGFzaEVudHJ5U29ydCBpbiBzcWxpdGUzLmMsIHdoaWNoIG1heSBsZWFkIHRvIGFuCitpbmZvcm1hdGlvbiBsZWFrLgorCitDVkU6IENWRS0yMDE5LTk5MzYKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vc3FsaXRlLm9yZy9zcmMvdnBhdGNoP2Zyb209NDVjNzNkZWI0NDA0OTZlOCZ0bz1iM2ZhNThkZDc0MDNkYmQ0XQorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKy0tLQorIHNxbGl0ZTMuYyB8IDQgKysrLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NxbGl0ZTMuYyBiL3NxbGl0ZTMuYworaW5kZXggNDcyOWY0NS4uNjU1MjdkOCAxMDA2NDQKKy0tLSBhL3NxbGl0ZTMuYworKysrIGIvc3FsaXRlMy5jCitAQCAtMjA3NzU5LDcgKzIwNzc1OSw5IEBAIHN0YXRpYyBpbnQgZnRzNUhhc2hFbnRyeVNvcnQoCisgICBmb3IoaVNsb3Q9MDsgaVNsb3Q8cEhhc2gtPm5TbG90OyBpU2xvdCsrKXsKKyAgICAgRnRzNUhhc2hFbnRyeSAqcEl0ZXI7CisgICAgIGZvcihwSXRlcj1wSGFzaC0+YVNsb3RbaVNsb3RdOyBwSXRlcjsgcEl0ZXI9cEl0ZXItPnBIYXNoTmV4dCl7CistICAgICAgaWYoIHBUZXJtPT0wIHx8IDA9PW1lbWNtcChmdHM1RW50cnlLZXkocEl0ZXIpLCBwVGVybSwgblRlcm0pICl7CisrICAgICAgaWYoIHBUZXJtPT0wCisrICAgICAgIHx8IChwSXRlci0+bktleSsxPj1uVGVybSAmJiAwPT1tZW1jbXAoZnRzNUVudHJ5S2V5KHBJdGVyKSwgcFRlcm0sIG5UZXJtKSkKKysgICAgICApeworICAgICAgICAgRnRzNUhhc2hFbnRyeSAqcEVudHJ5ID0gcEl0ZXI7CisgICAgICAgICBwRW50cnktPnBTY2FuTmV4dCA9IDA7CisgICAgICAgICBmb3IoaT0wOyBhcFtpXTsgaSsrKXsKKy0tIAorMi4yMC4xCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3NxbGl0ZS9zcWxpdGUzL0NWRS0yMDE5LTk5MzcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3NxbGl0ZS9zcWxpdGUzL0NWRS0yMDE5LTk5MzcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmFhNTY2NgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZTMvQ1ZFLTIwMTktOTkzNy5wYXRjaApAQCAtMCwwICsxLDE4NyBAQAorSW50ZXJsZWF2aW5nIHJlYWRzIGFuZCB3cml0ZXMgaW4gYSBzaW5nbGUgdHJhbnNhY3Rpb24gd2l0aCBhbiBmdHM1IHZpcnR1YWwgdGFibGUKK3dpbGwgbGVhZCB0byBhIE5VTEwgUG9pbnRlciBEZXJlZmVyZW5jZSBpbiBmdHM1Q2h1bmtJdGVyYXRlIGluIHNxbGl0ZTMuYy4KKworQ1ZFOiBDVkUtMjAxOS05OTM3CitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL3NxbGl0ZS5vcmcvc3JjL3ZwYXRjaD9mcm9tPWMyZjUwYWE0ZTdiYWQ4ODImdG89NDVjNzNkZWI0NDA0OTZlOF0KK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKKy0tLQorIHNxbGl0ZTMuYyB8IDgzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNTcgaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcWxpdGUzLmMgYi9zcWxpdGUzLmMKK2luZGV4IDY1NTI3ZDguLmIxYTg3OTkgMTAwNjQ0CistLS0gYS9zcWxpdGUzLmMKKysrKyBiL3NxbGl0ZTMuYworQEAgLTIwMDY2OCw4ICsyMDA2NjgsOSBAQCBzdGF0aWMgdm9pZCBzcWxpdGUzRnRzNUhhc2hDbGVhcihGdHM1SGFzaCopOworIAorIHN0YXRpYyBpbnQgc3FsaXRlM0Z0czVIYXNoUXVlcnkoCisgICBGdHM1SGFzaCosICAgICAgICAgICAgICAgICAgICAgIC8qIEhhc2ggdGFibGUgdG8gcXVlcnkgKi8KKysgIGludCBuUHJlLAorICAgY29uc3QgY2hhciAqcFRlcm0sIGludCBuVGVybSwgICAvKiBRdWVyeSB0ZXJtICovCistICBjb25zdCB1OCAqKnBwRG9jbGlzdCwgICAgICAgICAgIC8qIE9VVDogUG9pbnRlciB0byBkb2NsaXN0IGZvciBwVGVybSAqLworKyAgdm9pZCAqKnBwT2JqLAkJCSAgLyogT1VUOiBQb2ludGVyIHRvIGRvY2xpc3QgZm9yIHBUZXJtICovCisgICBpbnQgKnBuRG9jbGlzdCAgICAgICAgICAgICAgICAgIC8qIE9VVDogU2l6ZSBvZiBkb2NsaXN0IGluIGJ5dGVzICovCisgKTsKKyAKK0BAIC0yMDc1MDEsMTkgKzIwNzUwMiwyNSBAQCBzdGF0aWMgaW50IGZ0czVIYXNoUmVzaXplKEZ0czVIYXNoICpwSGFzaCl7CisgICByZXR1cm4gU1FMSVRFX09LOworIH0KKyAKKy1zdGF0aWMgdm9pZCBmdHM1SGFzaEFkZFBvc2xpc3RTaXplKEZ0czVIYXNoICpwSGFzaCwgRnRzNUhhc2hFbnRyeSAqcCl7Cisrc3RhdGljIGludCBmdHM1SGFzaEFkZFBvc2xpc3RTaXplKAorKyAgRnRzNUhhc2ggKnBIYXNoLAorKyAgRnRzNUhhc2hFbnRyeSAqcCwKKysgIEZ0czVIYXNoRW50cnkgKnAyCisrKXsKKysgIGludCBuUmV0ID0gMDsKKyAgIGlmKCBwLT5pU3pQb3NsaXN0ICl7CistICAgIHU4ICpwUHRyID0gKHU4KilwOworKyAgICB1OCAqcFB0ciA9IHAyID8gKHU4KilwMiA6ICh1OCopcDsKKysgICAgaW50IG5EYXRhID0gcC0+bkRhdGE7CisgICAgIGlmKCBwSGFzaC0+ZURldGFpbD09RlRTNV9ERVRBSUxfTk9ORSApeworLSAgICAgIGFzc2VydCggcC0+bkRhdGE9PXAtPmlTelBvc2xpc3QgKTsKKysgICAgICBhc3NlcnQoIG5EYXRhPT1wLT5pU3pQb3NMaXN0ICk7CisgICAgICAgaWYoIHAtPmJEZWwgKXsKKy0gICAgICAgIHBQdHJbcC0+bkRhdGErK10gPSAweDAwOworKyAgICAgICAgcFB0cltuRGF0YSsrXSA9IDB4MDA7CisgICAgICAgICBpZiggcC0+YkNvbnRlbnQgKXsKKy0gICAgICAgICAgcFB0cltwLT5uRGF0YSsrXSA9IDB4MDA7CisrICAgICAgICAgIHBQdHJbbkRhdGErK10gPSAweDAwOworICAgICAgICAgfQorICAgICAgIH0KKyAgICAgfWVsc2V7CistICAgICAgaW50IG5TeiA9IChwLT5uRGF0YSAtIHAtPmlTelBvc2xpc3QgLSAxKTsgICAgICAgLyogU2l6ZSBpbiBieXRlcyAqLworKyAgICAgIGludCBuU3ogPSAobkRhdGEgLSBwLT5pU3pQb3NsaXN0IC0gMSk7ICAgICAgIC8qIFNpemUgaW4gYnl0ZXMgKi8KKyAgICAgICBpbnQgblBvcyA9IG5TeioyICsgcC0+YkRlbDsgICAgICAgICAgICAgICAgICAgICAvKiBWYWx1ZSBvZiBuUG9zIGZpZWxkICovCisgCisgICAgICAgYXNzZXJ0KCBwLT5iRGVsPT0wIHx8IHAtPmJEZWw9PTEgKTsKK0BAIC0yMDc1MjMsMTQgKzIwNzUzMCwxOSBAQCBzdGF0aWMgdm9pZCBmdHM1SGFzaEFkZFBvc2xpc3RTaXplKEZ0czVIYXNoICpwSGFzaCwgRnRzNUhhc2hFbnRyeSAqcCl7CisgICAgICAgICBpbnQgbkJ5dGUgPSBzcWxpdGUzRnRzNUdldFZhcmludExlbigodTMyKW5Qb3MpOworICAgICAgICAgbWVtbW92ZSgmcFB0cltwLT5pU3pQb3NsaXN0ICsgbkJ5dGVdLCAmcFB0cltwLT5pU3pQb3NsaXN0ICsgMV0sIG5Teik7CisgICAgICAgICBzcWxpdGUzRnRzNVB1dFZhcmludCgmcFB0cltwLT5pU3pQb3NsaXN0XSwgblBvcyk7CistICAgICAgICBwLT5uRGF0YSArPSAobkJ5dGUtMSk7CisrICAgICAgICBuRGF0YSArPSAobkJ5dGUtMSk7CisgICAgICAgfQorICAgICB9CisgCistICAgIHAtPmlTelBvc2xpc3QgPSAwOworLSAgICBwLT5iRGVsID0gMDsKKy0gICAgcC0+YkNvbnRlbnQgPSAwOworKyAgICBuUmV0ID0gbkRhdGEgLSBwLT5uRGF0YTsKKysgICAgaWYoIHAyID09IDAgKXsKKysgICAgICBwLT5pU3pQb3NsaXN0ID0gMDsKKysgICAgICBwLT5iRGVsID0gMDsKKysgICAgICBwLT5iQ29udGVudCA9IDA7CisrICAgICAgcC0+bkRhdGEgPSBuRGF0YTsKKysgICAgfQorICAgfQorKyAgcmV0dXJuIG5SZXQ7CisgfQorIAorIC8qCitAQCAtMjA3NjQyLDcgKzIwNzY1NCw3IEBAIHN0YXRpYyBpbnQgc3FsaXRlM0Z0czVIYXNoV3JpdGUoCisgICAvKiBJZiB0aGlzIGlzIGEgbmV3IHJvd2lkLCBhcHBlbmQgdGhlIDQtYnl0ZSBzaXplIGZpZWxkIGZvciB0aGUgcHJldmlvdXMKKyAgICoqIGVudHJ5LCBhbmQgdGhlIG5ldyByb3dpZCBmb3IgdGhpcyBlbnRyeS4gICovCisgICBpZiggaVJvd2lkIT1wLT5pUm93aWQgKXsKKy0gICAgZnRzNUhhc2hBZGRQb3NsaXN0U2l6ZShwSGFzaCwgcCk7CisrICAgIGZ0czVIYXNoQWRkUG9zbGlzdFNpemUocEhhc2gsIHAsIDApOworICAgICBwLT5uRGF0YSArPSBzcWxpdGUzRnRzNVB1dFZhcmludCgmcFB0cltwLT5uRGF0YV0sIGlSb3dpZCAtIHAtPmlSb3dpZCk7CisgICAgIHAtPmlSb3dpZCA9IGlSb3dpZDsKKyAgICAgYk5ldyA9IDE7CitAQCAtMjA3Nzg5LDggKzIwNzgwMSw5IEBAIHN0YXRpYyBpbnQgZnRzNUhhc2hFbnRyeVNvcnQoCisgKi8KKyBzdGF0aWMgaW50IHNxbGl0ZTNGdHM1SGFzaFF1ZXJ5KAorICAgRnRzNUhhc2ggKnBIYXNoLCAgICAgICAgICAgICAgICAvKiBIYXNoIHRhYmxlIHRvIHF1ZXJ5ICovCisrICBpbnQgblByZSwKKyAgIGNvbnN0IGNoYXIgKnBUZXJtLCBpbnQgblRlcm0sICAgLyogUXVlcnkgdGVybSAqLworLSAgY29uc3QgdTggKipwcERvY2xpc3QsICAgICAgICAgICAvKiBPVVQ6IFBvaW50ZXIgdG8gZG9jbGlzdCBmb3IgcFRlcm0gKi8KKysgIHZvaWQgKipwcE91dCwJCQkgIC8qIE9VVDogUG9pbnRlciB0byBuZXcgb2JqZWN0ICovCisgICBpbnQgKnBuRG9jbGlzdCAgICAgICAgICAgICAgICAgIC8qIE9VVDogU2l6ZSBvZiBkb2NsaXN0IGluIGJ5dGVzICovCisgKXsKKyAgIHVuc2lnbmVkIGludCBpSGFzaCA9IGZ0czVIYXNoS2V5KHBIYXNoLT5uU2xvdCwgKGNvbnN0IHU4KilwVGVybSwgblRlcm0pOworQEAgLTIwNzgwNCwxMSArMjA3ODE3LDIwIEBAIHN0YXRpYyBpbnQgc3FsaXRlM0Z0czVIYXNoUXVlcnkoCisgICB9CisgCisgICBpZiggcCApeworLSAgICBmdHM1SGFzaEFkZFBvc2xpc3RTaXplKHBIYXNoLCBwKTsKKy0gICAgKnBwRG9jbGlzdCA9IChjb25zdCB1OCopJnpLZXlbblRlcm0rMV07CistICAgICpwbkRvY2xpc3QgPSBwLT5uRGF0YSAtIChzaXplb2YoRnRzNUhhc2hFbnRyeSkgKyBuVGVybSArIDEpOworKyAgICBpbnQgbkhhc2hQcmUgPSBzaXplb2YoRnRzNUhhc2hFbnRyeSkgKyBuVGVybSArIDE7CisrICAgIGludCBuTGlzdCA9IHAtPm5EYXRhIC0gbkhhc2hQcmU7CisrICAgIHU4ICpwUmV0ID0gKHU4KikoKnBwT3V0ID0gc3FsaXRlM19tYWxsb2M2NChuUHJlICsgbkxpc3QgKyAxMCkpOworKyAgICBpZiAoIHBSZXQgKXsKKysgICAgICAgRnRzNUhhc2hFbnRyeSAqcEZhdXggPSAoRnRzNUhhc2hFbnRyeSopJnBSZXRbblByZS1uSGFzaFByZV07CisrICAgICAgIG1lbWNweSgmcFJldFtuUHJlXSwgJigodTgqKXApW25IYXNoUHJlXSwgbkxpc3QpOworKyAgICAgICBuTGlzdCArPSBmdHM1SGFzaEFkZFBvc2xpc3RTaXplKHBIYXNoLCBwLCBwRmF1eCk7CisrICAgICAgICpwbkRvY2xpc3QgPSBuTGlzdDsKKysgICAgfWVsc2V7CisrICAgICAgICpwbkRvY2xpc3QgPSAwOworKyAgICAgICByZXR1cm4gU1FMSVRFX05PTUVNOworKyAgICB9CisgICB9ZWxzZXsKKy0gICAgKnBwRG9jbGlzdCA9IDA7CisrICAgICpwcE91dCA9IDA7CisgICAgICpwbkRvY2xpc3QgPSAwOworICAgfQorIAorQEAgLTIwNzg0MSw3ICsyMDc4NjMsNyBAQCBzdGF0aWMgdm9pZCBzcWxpdGUzRnRzNUhhc2hTY2FuRW50cnkoCisgICBpZiggKHAgPSBwSGFzaC0+cFNjYW4pICl7CisgICAgIGNoYXIgKnpLZXkgPSBmdHM1RW50cnlLZXkocCk7CisgICAgIGludCBuVGVybSA9IChpbnQpc3RybGVuKHpLZXkpOworLSAgICBmdHM1SGFzaEFkZFBvc2xpc3RTaXplKHBIYXNoLCBwKTsKKysgICAgZnRzNUhhc2hBZGRQb3NsaXN0U2l6ZShwSGFzaCwgcCwgMCk7CisgICAgICpwelRlcm0gPSB6S2V5OworICAgICAqcHBEb2NsaXN0ID0gKGNvbnN0IHU4KikmektleVtuVGVybSsxXTsKKyAgICAgKnBuRG9jbGlzdCA9IHAtPm5EYXRhIC0gKHNpemVvZihGdHM1SGFzaEVudHJ5KSArIG5UZXJtICsgMSk7CitAQCAtMjEwMzExLDMxICsyMTAzMzMsNDAgQEAgc3RhdGljIHZvaWQgZnRzNVNlZ0l0ZXJIYXNoSW5pdCgKKyAgIGludCBmbGFncywgICAgICAgICAgICAgICAgICAgICAgLyogTWFzayBvZiBGVFM1SU5ERVhfWFhYIGZsYWdzICovCisgICBGdHM1U2VnSXRlciAqcEl0ZXIgICAgICAgICAgICAgIC8qIE9iamVjdCB0byBwb3B1bGF0ZSAqLworICl7CistICBjb25zdCB1OCAqcExpc3QgPSAwOworICAgaW50IG5MaXN0ID0gMDsKKyAgIGNvbnN0IHU4ICp6ID0gMDsKKyAgIGludCBuID0gMDsKKysgIEZ0czVEYXRhICpwTGVhZiA9IDA7CisgCisgICBhc3NlcnQoIHAtPnBIYXNoICk7CisgICBhc3NlcnQoIHAtPnJjPT1TUUxJVEVfT0sgKTsKKyAKKyAgIGlmKCBwVGVybT09MCB8fCAoZmxhZ3MgJiBGVFM1SU5ERVhfUVVFUllfU0NBTikgKXsKKysgICAgY29uc3QgdTggKnBMaXN0ID0gMDsKKysKKyAgICAgcC0+cmMgPSBzcWxpdGUzRnRzNUhhc2hTY2FuSW5pdChwLT5wSGFzaCwgKGNvbnN0IGNoYXIqKXBUZXJtLCBuVGVybSk7CisgICAgIHNxbGl0ZTNGdHM1SGFzaFNjYW5FbnRyeShwLT5wSGFzaCwgKGNvbnN0IGNoYXIqKikmeiwgJnBMaXN0LCAmbkxpc3QpOworICAgICBuID0gKHogPyAoaW50KXN0cmxlbigoY29uc3QgY2hhciopeikgOiAwKTsKKysgICAgaWYgKCBwTGlzdCApeworKyAgICAgIHBMZWFmID0gZnRzNUlkeE1hbGxvYyhwLCBzaXplb2YoRnRzNURhdGEpKTsKKysgICAgICBpZiAoIHBMZWFmICl7CisrICAgICAgICBwTGVhZi0+cCA9IHBMaXN0OworKyAgICAgIH0KKysgICAgfQorICAgfWVsc2V7CistICAgIHBJdGVyLT5mbGFncyB8PSBGVFM1X1NFR0lURVJfT05FVEVSTTsKKy0gICAgc3FsaXRlM0Z0czVIYXNoUXVlcnkocC0+cEhhc2gsIChjb25zdCBjaGFyKilwVGVybSwgblRlcm0sICZwTGlzdCwgJm5MaXN0KTsKKysgICAgcC0+cmMgPSBzcWxpdGUzRnRzNUhhc2hRdWVyeShwLT5wSGFzaCwgc2l6ZW9mKEZ0czVEYXRhKSwKKysgICAgICAgIChjb25zdCBjaGFyKilwVGVybSwgblRlcm0sICh2b2lkKiopJnBMZWFmLCAmbkxpc3QKKysgICAgKTsKKysgICAgaWYoIHBMZWFmICl7CisrICAgICAgcExlYWYtPnAgPSAodTgqKSZwTGVhZlsxXTsKKysgICAgfQorICAgICB6ID0gcFRlcm07CisgICAgIG4gPSBuVGVybTsKKysgICAgcEl0ZXItPmZsYWdzIHw9IEZUUzVfU0VHSVRFUl9PTkVURVJNOworICAgfQorIAorLSAgaWYoIHBMaXN0ICl7CistICAgIEZ0czVEYXRhICpwTGVhZjsKKysgIGlmKCBwTGVhZiApeworICAgICBzcWxpdGUzRnRzNUJ1ZmZlclNldCgmcC0+cmMsICZwSXRlci0+dGVybSwgbiwgeik7CistICAgIHBMZWFmID0gZnRzNUlkeE1hbGxvYyhwLCBzaXplb2YoRnRzNURhdGEpKTsKKy0gICAgaWYoIHBMZWFmPT0wICkgcmV0dXJuOworLSAgICBwTGVhZi0+cCA9ICh1OCopcExpc3Q7CisgICAgIHBMZWFmLT5ubiA9IHBMZWFmLT5zekxlYWYgPSBuTGlzdDsKKyAgICAgcEl0ZXItPnBMZWFmID0gcExlYWY7CisgICAgIHBJdGVyLT5pTGVhZk9mZnNldCA9IGZ0czVHZXRWYXJpbnQocExlYWYtPnAsICh1NjQqKSZwSXRlci0+aVJvd2lkKTsKKy0tIAorMi4yMC4xCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3NxbGl0ZS9zcWxpdGUzXzMuMjMuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZTNfMy4yMy4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNzU1NzYxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZTNfMy4yMy4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotcmVxdWlyZSBzcWxpdGUzLmluYwotCi1MSUNFTlNFID0gIlBEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vc3FsaXRlMy5oO2VuZGxpbmU9MTE7bWQ1PTc4NmQzZGM1ODFlZmYwM2Y0ZmQ5ZTRhNzdlZDAwYzY2IgotCi1TUkNfVVJJID0gIlwKLSAgaHR0cDovL3d3dy5zcWxpdGUub3JnLzIwMTgvc3FsaXRlLWF1dG9jb25mLSR7U1FMSVRFX1BWfS50YXIuZ3ogXAotICAiCi1TUkNfVVJJW21kNXN1bV0gPSAiOTlhNTFiNDBhNjY4NzI4NzJhOTFjOTJmNmQwMTM0ZmEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTI4NDJiMjgzZTVlNzQ0ZWZmNWRhMjllZDNjNjkzOTFkZTczNjhmY2NjNGQwZWU2YmY2MjQ5MGNlNTU1ZWYyNSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZTNfMy4yNy4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9zcWxpdGUvc3FsaXRlM18zLjI3LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGJkYjA0ZgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZTNfMy4yNy4yLmJiCkBAIC0wLDAgKzEsMTMgQEAKK3JlcXVpcmUgc3FsaXRlMy5pbmMKKworTElDRU5TRSA9ICJQRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3NxbGl0ZTMuaDtlbmRsaW5lPTExO21kNT03ODZkM2RjNTgxZWZmMDNmNGZkOWU0YTc3ZWQwMGM2NiIKKworU1JDX1VSSSA9ICJcCisgIGh0dHA6Ly93d3cuc3FsaXRlLm9yZy8yMDE5L3NxbGl0ZS1hdXRvY29uZi0ke1NRTElURV9QVn0udGFyLmd6IFwKKyAgZmlsZTovL0NWRS0yMDE5LTk5MzYucGF0Y2ggXAorICBmaWxlOi8vQ1ZFLTIwMTktOTkzNy5wYXRjaCBcCisgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjFmNzI2MzFjZTZlOGVmYTViNGE2ZTU1YTQzYjNiZGMwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjUwYzM5ZTg1ZWEyOGI1ZWNmZGIzZjllODYwYWZlOWJhNjA2MzgxZTIxODM2YjI4NDllZmNhNmEwYmZlNmVmNmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92aW0vZmlsZXMvMDAwMS1zcmMtTWFrZWZpbGUtaW1wcm92ZS1yZXByb2R1Y2liaWxpdHkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3ZpbS9maWxlcy8wMDAxLXNyYy1NYWtlZmlsZS1pbXByb3ZlLXJlcHJvZHVjaWJpbGl0eS5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmltL2ZpbGVzLzAwMDEtc3JjLU1ha2VmaWxlLWltcHJvdmUtcmVwcm9kdWNpYmlsaXR5LnBhdGNoCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3ZpbS9maWxlcy8wMDAxLXNyYy1NYWtlZmlsZS1pbXByb3ZlLXJlcHJvZHVjaWJpbGl0eS5wYXRjaApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC92aW0vZmlsZXMvZGlzYWJsZV9hY2xfaGVhZGVyX2NoZWNrLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC92aW0vZmlsZXMvZGlzYWJsZV9hY2xfaGVhZGVyX2NoZWNrLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMzMDg5MTYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3ZpbS9maWxlcy9kaXNhYmxlX2FjbF9oZWFkZXJfY2hlY2sucGF0Y2gKQEAgLTAsMCArMSwzOSBAQAorRnJvbSA1ZWQyNWMwNzZhMWZiMTg4OWEzYzUwZGRkZjI5ZjIxODUwYjU5YTEzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogV2Vuem9uZyBGYW4gPHdlbnpvbmcuZmFuQHdpbmRyaXZlci5jb20+IAorRGF0ZTogVHVlLCAyNiBKdW4gMjAxOCAxNzoyOTowOSArMDgwMAorU3ViamVjdDogW1BBVENIXSBkaXNhYmxlIGFjbCBoZWFkZXIgY2hlY2sKKworRG9uJ3QgY2hlY2sgJ3N5cy9hY2wuaCcgaWYgYWNsIHN1cHBvcnQgZGlzYWJsZWQgZm9yIHZpbS92aW0tdGlueS4KKworVXBzdHJlYW0tU3RhdHVzOiBwZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFdlbnpvbmcgRmFuIDx3ZW56b25nLmZhbkB3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorIHNyYy9jb25maWd1cmUuYWMgfCAzICsrLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy9jb25maWd1cmUuYWMgYi9zcmMvY29uZmlndXJlLmFjCitpbmRleCAyZDQwOWIzY2EwNmEuLmRiY2FmNjE0MDI2MyAxMDA2NDQKKy0tLSBhL3NyYy9jb25maWd1cmUuYWMKKysrKyBiL3NyYy9jb25maWd1cmUuYWMKK0BAIC0zMjU3LDcgKzMyNTcsNyBAQCBBQ19DSEVDS19IRUFERVJTKHN0ZGludC5oIHN0ZGxpYi5oIHN0cmluZy5oIFwKKyAJc3lzL3N5c3RlbWluZm8uaCBsb2NhbGUuaCBzeXMvc3RyZWFtLmggdGVybWlvcy5oIFwKKyAJbGliYy5oIHN5cy9zdGF0ZnMuaCBwb2xsLmggc3lzL3BvbGwuaCBwd2QuaCBcCisgCXV0aW1lLmggc3lzL3BhcmFtLmggc3lzL3B0bXMuaCBsaWJpbnRsLmggbGliZ2VuLmggXAorLQl1dGlsL2RlYnVnLmggdXRpbC9tc2cxOG4uaCBmcmFtZS5oIHN5cy9hY2wuaCBcCisrCXV0aWwvZGVidWcuaCB1dGlsL21zZzE4bi5oIGZyYW1lLmggXAorIAlzeXMvYWNjZXNzLmggc3lzL3N5c2luZm8uaCB3Y2hhci5oIHdjdHlwZS5oKQorIAorIGRubCBzeXMvcHRlbS5oIGRlcGVuZHMgb24gc3lzL3N0cmVhbS5oIG9uIFNvbGFyaXMKK0BAIC0zODg2LDYgKzM4ODYsNyBAQCBBQ19BUkdfRU5BQkxFKGFjbCwKKyAJLCBbZW5hYmxlX2FjbD0ieWVzIl0pCisgaWYgdGVzdCAiJGVuYWJsZV9hY2wiID0gInllcyI7IHRoZW4KKyAgIEFDX01TR19SRVNVTFQobm8pCisrICBBQ19DSEVDS19IRUFERVJTKHN5cy9hY2wuaCkKKyAgIEFDX0NIRUNLX0xJQihwb3NpeDFlLCBhY2xfZ2V0X2ZpbGUsIFtMSUJTPSIkTElCUyAtbHBvc2l4MWUiXSwKKyAJQUNfQ0hFQ0tfTElCKGFjbCwgYWNsX2dldF9maWxlLCBbTElCUz0iJExJQlMgLWxhY2wiCisgCQkgIEFDX0NIRUNLX0xJQihhdHRyLCBmZ2V0eGF0dHIsIExJQlM9IiRMSUJTIC1sYXR0ciIsLCldLCwpLCkKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmltL2ZpbGVzL3ZpbS1hZGQta25vYi13aGV0aGVyLWVsZi5oLWFyZS1jaGVja2VkLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC92aW0vZmlsZXMvdmltLWFkZC1rbm9iLXdoZXRoZXItZWxmLmgtYXJlLWNoZWNrZWQucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS9maWxlcy92aW0tYWRkLWtub2Itd2hldGhlci1lbGYuaC1hcmUtY2hlY2tlZC5wYXRjaApyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC92aW0vZmlsZXMvdmltLWFkZC1rbm9iLXdoZXRoZXItZWxmLmgtYXJlLWNoZWNrZWQucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW0tdGlueV84LjEuMDM0Ny5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvdmltL3ZpbS10aW55XzguMS4xMDE3LmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92aW0vdmltLXRpbnlfOC4xLjAzNDcuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvdmltL3ZpbS10aW55XzguMS4xMDE3LmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW1fOC4xLjEwMTcuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW1fOC4xLjEwMTcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzYyN2QyOAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvdmltL3ZpbV84LjEuMTAxNy5iYgpAQCAtMCwwICsxLDEyOSBAQAorU1VNTUFSWSA9ICJWaSBJTXByb3ZlZCAtIGVuaGFuY2VkIHZpIGVkaXRvciIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKKworUFJPVklERVMgPSAieHhkIgorREVQRU5EUyA9ICJuY3Vyc2VzIGdldHRleHQtbmF0aXZlIgorIyB2aW1kaWZmIGRvZXNuJ3QgbGlrZSBidXN5Ym94IGRpZmYKK1JTVUdHRVNUU18ke1BOfSA9ICJkaWZmdXRpbHMiCitMSUNFTlNFID0gInZpbSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLy4uL3J1bnRpbWUvZG9jL3VnYW5kYS50eHQ7ZW5kbGluZT0yODc7bWQ1PWYxZjgyYjQyMzYwMDA1YzcwYjhjMTliMGVmNDkzZjcyIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vdmltL3ZpbS5naXQgXAorICAgICAgICAgICBmaWxlOi8vZGlzYWJsZV9hY2xfaGVhZGVyX2NoZWNrLnBhdGNoO3BhdGNoZGlyPS4uIFwKKyAgICAgICAgICAgZmlsZTovL3ZpbS1hZGQta25vYi13aGV0aGVyLWVsZi5oLWFyZS1jaGVja2VkLnBhdGNoO3BhdGNoZGlyPS4uIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtc3JjLU1ha2VmaWxlLWltcHJvdmUtcmVwcm9kdWNpYmlsaXR5LnBhdGNoO3BhdGNoZGlyPS4uIFwKKyIKK1NSQ1JFViA9ICI0OTNmYmU0YWJlZTY2MGQzMGI0ZjJhZWY4N2I3NTRiMGE3MjAyMTNjIgorCitTID0gIiR7V09SS0RJUn0vZ2l0L3NyYyIKKworVklNRElSID0gInZpbSR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMF19JHtAZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVsxXX0iCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCB1cGRhdGUtYWx0ZXJuYXRpdmVzCisKK0NMRUFOQlJPS0VOID0gIjEiCisKKyMgdmltIGNvbmZpZ3VyZS5pbiBjb250YWlucyBmdW5jdGlvbnMgd2hpY2ggZ290ICdkcm9wcGVkJyBieSBhdXRvdG9vbHMuYmJjbGFzcworZG9fY29uZmlndXJlICgpIHsKKyAgICBybSAtZiBhdXRvLyoKKyAgICB0b3VjaCBhdXRvL2NvbmZpZy5taworICAgIGFjbG9jYWwKKyAgICBhdXRvY29uZgorICAgIG9lX3J1bmNvbmYKKyAgICB0b3VjaCBhdXRvL2NvbmZpZ3VyZQorICAgIHRvdWNoIGF1dG8vY29uZmlnLm1rIGF1dG8vY29uZmlnLmgKK30KKworI0F2YWlsYWJsZSBQQUNLQUdFQ09ORklHIG9wdGlvbnMgYXJlIGd0a2d1aSwgYWNsLCB4MTEsIHRpbnkKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHICs9ICIgXAorICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2FjbCBzZWxpbnV4JywgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICd4MTEgZ3RrZ3VpJywgJycsIGQpfSBcCisiCitQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZSA9ICIiCisKK1BBQ0tBR0VDT05GSUdbZ3RrZ3VpXSA9ICItLWVuYWJsZS1ndWk9Z3RrMiwtLWVuYWJsZS1ndWk9bm8sZ3RrKywiCitQQUNLQUdFQ09ORklHW2FjbF0gPSAiLS1lbmFibGUtYWNsLC0tZGlzYWJsZS1hY2wsYWNsLCIKK1BBQ0tBR0VDT05GSUdbeDExXSA9ICItLXdpdGgteCwtLXdpdGhvdXQteCx4dCwiCitQQUNLQUdFQ09ORklHW3RpbnldID0gIi0td2l0aC1mZWF0dXJlcz10aW55LC0td2l0aC1mZWF0dXJlcz1iaWcsLCIKK1BBQ0tBR0VDT05GSUdbc2VsaW51eF0gPSAiLS1lbmFibGUtc2VsaW51eCwtLWRpc2FibGUtc2VsaW51eCxsaWJzZWxpbnV4LCIKK1BBQ0tBR0VDT05GSUdbZWxmdXRpbHNdID0gIi0tZW5hYmxlLWVsZi1jaGVjaywsZWxmdXRpbHMsIgorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLWRpc2FibGUtZ3BtIFwKKyAgICAtLWRpc2FibGUtZ3RrdGVzdCBcCisgICAgLS1kaXNhYmxlLXhpbSBcCisgICAgLS1kaXNhYmxlLW5ldGJlYW5zIFwKKyAgICAtLXdpdGgtdGxpYj1uY3Vyc2VzIFwKKyAgICBhY19jdl9zbWFsbF93Y2hhcl90PW5vIFwKKyAgICB2aW1fY3ZfZ2V0Y3dkX2Jyb2tlbj1ubyBcCisgICAgdmltX2N2X21lbW1vdmVfaGFuZGxlc19vdmVybGFwPXllcyBcCisgICAgdmltX2N2X3N0YXRfaWdub3Jlc19zbGFzaD1ubyBcCisgICAgdmltX2N2X3Rlcm1pbmZvPXllcyBcCisgICAgdmltX2N2X3RnZXRlbnQ9bm9uLXplcm8gXAorICAgIHZpbV9jdl90b3VwcGVyX2Jyb2tlbj1ubyBcCisgICAgdmltX2N2X3R0eV9ncm91cD13b3JsZCBcCisgICAgU1RSSVA9L2Jpbi90cnVlIFwKKyIKKworZG9faW5zdGFsbCgpIHsKKyAgICBhdXRvdG9vbHNfZG9faW5zdGFsbAorCisgICAgIyBXb3JrIGFyb3VuZCBmaWxlLXJkZXBzIHBpY2tpbmcgdXAgY3NoLCBhd2ssIHBlcmwgb3IgcHl0aG9uIGFzIGEgZGVwCisgICAgY2htb2QgLXggJHtEfSR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS90b29scy92aW0xMzIKKyAgICBjaG1vZCAteCAke0R9JHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3Rvb2xzL212ZS5hd2sKKyAgICBjaG1vZCAteCAke0R9JHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3Rvb2xzLyoucGwKKyAgICBjaG1vZCAteCAke0R9JHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3Rvb2xzLyoucHkKKworICAgICMgSW5zdGFsbCBleGFtcGxlIHZpbXJjIGZyb20gcnVudGltZSBmaWxlcworICAgIGluc3RhbGwgLW0gMDY0NCAuLi9ydW50aW1lL3ZpbXJjX2V4YW1wbGUudmltICR7RH0vJHtkYXRhZGlyfS8ke0JQTn0vdmltcmMKKworICAgICMgd2UgdXNlIC0td2l0aC1mZWF0dXJlcz1iaWcgYXMgZGVmYXVsdAorICAgIG12ICR7RH0ke2JpbmRpcn0vJHtCUE59ICR7RH0ke2JpbmRpcn0vJHtCUE59LiR7QlBOfQorCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorCSMgVGhlIG1vdXNlIGJlaW5nIGF1dG9lbmFibGVkIGlzIGp1c3QgYW5ub3lpbmcgaW4geGZjZTQtdGVybWluYWwgKG1vdXNlCisJIyBkcmFnIG1ha2UgdmltIGdvIGludG8gdmlzdWFsIG1vZGUgYW5kIHRoZXJlIGlzIG5vIHJpZ2h0IGNsaWNrIG1lbnUpLAorCSMgZGVsZXRlIHRoZSBibG9jay4KKwlzZWQgLWkgJy90aGUgbW91c2Ugd29ya3MganVzdCBmaW5lLywrNGQnICR7RH0vJHtkYXRhZGlyfS8ke0JQTn0vdmltcmMKKyAgICBmaQorfQorCitQQVJBTExFTF9NQUtFSU5TVCA9ICIiCisKK1BBQ0tBR0VTID0rICIke1BOfS1jb21tb24gJHtQTn0tc3ludGF4ICR7UE59LWhlbHAgJHtQTn0tdHV0b3IgJHtQTn0tdmltcmMgJHtQTn0tdG9vbHMiCitGSUxFU18ke1BOfS1zeW50YXggPSAiJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3N5bnRheCIKK0ZJTEVTXyR7UE59LWhlbHAgPSAiJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L2RvYyIKK0ZJTEVTXyR7UE59LXR1dG9yID0gIiR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS90dXRvciAke2JpbmRpcn0vJHtCUE59dHV0b3IiCitGSUxFU18ke1BOfS12aW1yYyA9ICIke2RhdGFkaXJ9LyR7QlBOfS92aW1yYyIKK0ZJTEVTXyR7UE59LWRhdGEgPSAiJHtkYXRhZGlyfS8ke0JQTn0iCitGSUxFU18ke1BOfS10b29scyA9ICIke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vdG9vbHMiCitGSUxFU18ke1BOfS1jb21tb24gPSAiIFwKKyAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vKi52aW0gXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9hdXRvbG9hZCBcCisgICAgJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L2NvbG9ycyBcCisgICAgJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L2NvbXBpbGVyIFwKKyAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vZnRwbHVnaW4gXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9pbmRlbnQgXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9rZXltYXAgXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9sYW5nIFwKKyAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vbWFjcm9zIFwKKyAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vcGx1Z2luIFwKKyAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vcHJpbnQgXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9zcGVsbCBcCisgICAgJHtkYXRhZGlyfS9pY29ucyBcCisiCisKK1JERVBFTkRTXyR7QlBOfSA9ICJuY3Vyc2VzLXRlcm1pbmZvLWJhc2UiCisjIFJlY29tbWVuZCB0aGF0IHJ1bnRpbWUgZGF0YSBpcyBpbnN0YWxsZWQgYWxvbmcgd2l0aCB2aW0KK1JSRUNPTU1FTkRTXyR7QlBOfSA9ICIke1BOfS1zeW50YXggJHtQTn0taGVscCAke1BOfS10dXRvciAke1BOfS12aW1yYyAke1BOfS1jb21tb24iCisKK0FMVEVSTkFUSVZFXyR7UE59ID0gInZpIHZpbSB4eGQiCitBTFRFUk5BVElWRV9QUklPUklUWSA9ICIxMDAiCitBTFRFUk5BVElWRV9UQVJHRVQgPSAiJHtiaW5kaXJ9LyR7QlBOfS4ke0JQTn0iCitBTFRFUk5BVElWRV9MSU5LX05BTUVbdmldID0gIiR7YmFzZV9iaW5kaXJ9L3ZpIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3ZpbV0gPSAiJHtiaW5kaXJ9L3ZpbSIKK0FMVEVSTkFUSVZFX1RBUkdFVFt4eGRdID0gIiR7YmluZGlyfS94eGQiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbeHhkXSA9ICIke2JpbmRpcn0veHhkIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvdnRlL3Z0ZS8wMDAxLWFwcC5jYy11c2Utb2xkLXNjaG9vbC1hc2lnbm1lbnQtdG8tYXZvaWQtZ2NjLTQuOC1lcnIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3Z0ZS92dGUvMDAwMS1hcHAuY2MtdXNlLW9sZC1zY2hvb2wtYXNpZ25tZW50LXRvLWF2b2lkLWdjYy00LjgtZXJyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljM2Y5OGYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3Z0ZS92dGUvMDAwMS1hcHAuY2MtdXNlLW9sZC1zY2hvb2wtYXNpZ25tZW50LXRvLWF2b2lkLWdjYy00LjgtZXJyLnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK0Zyb20gNDQyZGE5MDc2YjUyMDAzNzQzZmZjNmZkN2I5ZDY0N2RlNmQ3YWE4ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogVGh1LCAxNyBKYW4gMjAxOSAxNjozNzo1NCArMDEwMAorU3ViamVjdDogW1BBVENIXSBhcHAuY2M6IHVzZSBvbGQgc2Nob29sIGFzaWdubWVudCB0byBhdm9pZCBnY2MgNC44IGVycm9yCisKK1RoaXMgaXMgbmVlZGVkIHRvIGJ1aWxkIHZ0ZS1uYXRpdmUgb24gQ2VudG9zIDcsCithbmQgY2FuIGJlIGRyb3BwZWQgb25jZSB0aGF0IE9TIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbYW5jaWVudCBjb21waWxlciBmaXhdCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9hcHAvYXBwLmNjIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2FwcC9hcHAuY2MgYi9zcmMvYXBwL2FwcC5jYworaW5kZXggZDQyNDA2NC4uNjc1ZDc4OSAxMDA2NDQKKy0tLSBhL3NyYy9hcHAvYXBwLmNjCisrKysgYi9zcmMvYXBwL2FwcC5jYworQEAgLTMwNiw3ICszMDYsNyBAQCBwdWJsaWM6CisgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICBhbHBoYSA9IGdldF9hbHBoYSgpOworIAorLSAgICAgICAgICAgICAgICBHZGtSR0JBIGNvbG9ye2JnX2NvbG9yfTsKKysgICAgICAgICAgICAgICAgR2RrUkdCQSBjb2xvciA9IGJnX2NvbG9yOworICAgICAgICAgICAgICAgICBjb2xvci5hbHBoYSA9IGFscGhhOworICAgICAgICAgICAgICAgICByZXR1cm4gY29sb3I7CisgICAgICAgICB9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3Z0ZS92dGVfMC41Mi4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC92dGUvdnRlXzAuNTIuMi5iYgppbmRleCA3MzI0YzljLi4yNzJhZTY2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3Z0ZS92dGVfMC41Mi4yLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvdnRlL3Z0ZV8wLjUyLjIuYmIKQEAgLTksOCArOSw5IEBACiAKICMgdmFwaWdlbi5tNCBpcyByZXF1aXJlZCB3aGVuIHZhbGEgaXMgbm90IHByZXNlbnQgKGJ1dCB0aGUgb25lIGZyb20gdmFsYSBzaG91bGQgYmUgdXNlZCBub3JtYWxseSkKIFNSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLURvbi10LWVuYWJsZS1zdGFjay1wcm90ZWN0aW9uLWJ5LWRlZmF1bHQucGF0Y2ggXAotICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAndmFsYScsICcnLCAnZmlsZTovLzAwMDEtQWRkLW00LXZhcGlnZW4ubTQucGF0Y2gnLCBkKSB9IFwKLSAgICAgICAgICAgICIKKyAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAndmFsYScsICcnLCAnZmlsZTovLzAwMDEtQWRkLW00LXZhcGlnZW4ubTQucGF0Y2gnLCBkKSB9IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtYXBwLmNjLXVzZS1vbGQtc2Nob29sLWFzaWdubWVudC10by1hdm9pZC1nY2MtNC44LWVyci5wYXRjaCBcCisgICAgICAgICAgICIKIFNSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImRlODE4MTM1MGRjY2IwMTBlOTE1ZTM2NmJkZDA2ZDE4IgogU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiMGYyNjU3Y2VmNTJhY2NiZmU1NmZlZWRlNTUzMTU1NTUyZDdjMTk4NGIxMjkxODM4YWYzY2I4Y2ZjMTliMjZhZiIKIApAQCAtNDQsMyArNDUsNSBAQAogCiBQQUNLQUdFUyA9KyAibGlidnRlIgogRklMRVNfbGlidnRlID0gIiR7bGliZGlyfS8qLnNvLiogJHtsaWJkaXJ9L2dpcmVwb3NpdG9yeS0xLjAvKiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9vZS1pbml0LWJ1aWxkLWVudiBiL3Bva3kvb2UtaW5pdC1idWlsZC1lbnYKaW5kZXggZTgxMzIzMC4uODYxYzNlMCAxMDA3NTUKLS0tIGEvcG9reS9vZS1pbml0LWJ1aWxkLWVudgorKysgYi9wb2t5L29lLWluaXQtYnVpbGQtZW52CkBAIC0zMSwxMyArMzEsMTggQEAKICAgICBUSElTX1NDUklQVD0kMAogZWxzZQogICAgIFRISVNfU0NSSVBUPSIkKHB3ZCkvb2UtaW5pdC1idWlsZC1lbnYiCisgICAgaWYgWyAhIC1lICIkVEhJU19TQ1JJUFQiIF07IHRoZW4KKyAgICAgICAgZWNobyAiRXJyb3I6ICRUSElTX1NDUklQVCBkb2Vzbid0IGV4aXN0ISIgPiYyCisgICAgICAgIGVjaG8gIlBsZWFzZSBydW4gdGhpcyBzY3JpcHQgaW4gb2UtaW5pdC1idWlsZC1lbnYncyBkaXJlY3RvcnkuIiA+JjIKKyAgICAgICAgZXhpdCAxCisgICAgZmkKIGZpCiBpZiBbIC1uICIkQkJTRVJWRVIiIF07IHRoZW4KICAgICB1bnNldCBCQlNFUlZFUgogZmkKIAogaWYgWyAteiAiJFpTSF9OQU1FIiBdICYmIFsgIiQwIiA9ICIkVEhJU19TQ1JJUFQiIF07IHRoZW4KLSAgICBlY2hvICJFcnJvcjogVGhpcyBzY3JpcHQgbmVlZHMgdG8gYmUgc291cmNlZC4gUGxlYXNlIHJ1biBhcyAnLiAkVEhJU19TQ1JJUFQnIgorICAgIGVjaG8gIkVycm9yOiBUaGlzIHNjcmlwdCBuZWVkcyB0byBiZSBzb3VyY2VkLiBQbGVhc2UgcnVuIGFzICcuICRUSElTX1NDUklQVCciID4mMgogICAgIGV4aXQgMQogZmkKIApkaWZmIC0tZ2l0IGEvcG9reS9zY3JpcHRzL2F1dG9idWlsZGVyLXdvcmtlci1wcmVyZXEtdGVzdHMgYi9wb2t5L3NjcmlwdHMvYXV0b2J1aWxkZXItd29ya2VyLXByZXJlcS10ZXN0cwppbmRleCBiYjQ2YzY5Li4zNThkZDJiIDEwMDc1NQotLS0gYS9wb2t5L3NjcmlwdHMvYXV0b2J1aWxkZXItd29ya2VyLXByZXJlcS10ZXN0cworKysgYi9wb2t5L3NjcmlwdHMvYXV0b2J1aWxkZXItd29ya2VyLXByZXJlcS10ZXN0cwpAQCAtMTUsNiArMTUsMTIgQEAKICMgdGVzdCBidWlsZGlzdG9yeSBnaXQgcmVwbyB3b3Jrcz8KICMKIAoraWYgWyAhIC14ICRIT01FL3lvY3RvLWF1dG9idWlsZGVyLWhlbHBlci9zY3JpcHRzL2NoZWNrdm5jIF07IHRoZW4KKyAgICBlY2hvICIkSE9NRS95b2N0by1hdXRvYnVpbGRlci1oZWxwZXIgc2hvdWxkIGJlIGNyZWF0ZWQuIgorICAgIGV4aXQgMQorZmkKKyRIT01FL3lvY3RvLWF1dG9idWlsZGVyLWhlbHBlci9zY3JpcHRzL2NoZWNrdm5jCisKIC4gLi9vZS1pbml0LWJ1aWxkLWVudiA+IC9kZXYvbnVsbAogaWYgWyAiJD8iICE9ICIwIiBdOyB0aGVuCiAgICAgZXhpdCAxCkBAIC01MywxMiArNTksMTIgQEAKIGZpCiBwb3BkCiBiaXRiYWtlIHFlbXUtaGVscGVyLW5hdGl2ZQotcnVucWVtdSBxZW11eDg2LTY0CitESVNQTEFZPToxIHJ1bnFlbXUgc2VyaWFsc3RkaW8gcWVtdXg4Ni02NAogaWYgWyAiJD8iICE9ICIwIiBdOyB0aGVuCiAgICAgZWNobyAiVW5hYmxlIHRvIHVzZSBydW5xZW11IgogICAgIGV4aXQgMQogZmkKLXJ1bnFlbXUgcWVtdXg4Ni02NCBrdm0KK0RJU1BMQVk9OjEgcnVucWVtdSBzZXJpYWxzdGRpbyBxZW11eDg2LTY0IGt2bQogaWYgWyAiJD8iICE9ICIwIiBdOyB0aGVuCiAgICAgZWNobyAiVW5hYmxlIHRvIHVzZSBydW5xZW11IHdpdGgga3ZtIgogICAgIGV4aXQgMQpkaWZmIC0tZ2l0IGEvcG9reS9zY3JpcHRzL2Rpc3Ryby9idWlsZC1yZWNpcGUtbGlzdC5weSBiL3Bva3kvc2NyaXB0cy9kaXN0cm8vYnVpbGQtcmVjaXBlLWxpc3QucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDIxNjI3NjQuLjAwMDAwMDAKLS0tIGEvcG9reS9zY3JpcHRzL2Rpc3Ryby9idWlsZC1yZWNpcGUtbGlzdC5weQorKysgL2Rldi9udWxsCkBAIC0xLDEyOSArMCwwIEBACi0jIS91c3IvYmluL2VudiBweXRob24zCi0jCi0jIENvcHlyaWdodCAoYykgMjAxNywgSW50ZWwgQ29ycG9yYXRpb24uCi0jCi0jIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0Ci0jIHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCi0jIHZlcnNpb24gMiwgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0jCi0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQKLSMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yCi0jIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IKLSMgbW9yZSBkZXRhaWxzLgotIwotCi1pbXBvcnQgb3MKLWltcG9ydCBzaHV0aWwKLWltcG9ydCBjc3YKLWltcG9ydCBzeXMKLWltcG9ydCBhcmdwYXJzZQotCi1fX3ZlcnNpb25fXyA9ICIwLjEuMCIKLQotIyBzZXQgb2YgQlBOcwotcmVjaXBlbmFtZXMgPSBzZXQoKQotIyBtYXAgb2YgcmVjaXBlIC0+IGRhdGEKLWFsbHJlY2lwZXMgPSB7fQotCi1kZWYgbWFrZV9icG4ocmVjaXBlKToKLSAgICBwcmVmaXhlcyA9ICgibmF0aXZlc2RrLSIsKQotICAgIHN1ZmZpeGVzID0gKCItbmF0aXZlIiwgIi1jcm9zcyIsICItaW5pdGlhbCIsICItaW50ZXJtZWRpYXRlIiwgIi1jcm9zc3NkayIsICItY3Jvc3MtY2FuYWRpYW4iKQotICAgIGZvciBpeCBpbiBwcmVmaXhlcyArIHN1ZmZpeGVzOgotICAgICAgICBpZiBpeCBpbiByZWNpcGU6Ci0gICAgICAgICAgICByZWNpcGUgPSByZWNpcGUucmVwbGFjZShpeCwgIiIpCi0gICAgcmV0dXJuIHJlY2lwZQotCi1kZWYgZ2F0aGVyX3JlY2lwZXMocm93cyk6Ci0gICAgZm9yIHJvdyBpbiByb3dzOgotICAgICAgICByZWNpcGUgPSByb3dbMF0KLSAgICAgICAgYnBuID0gbWFrZV9icG4ocmVjaXBlKQotICAgICAgICBpZiBicG4gbm90IGluIHJlY2lwZW5hbWVzOgotICAgICAgICAgICAgcmVjaXBlbmFtZXMuYWRkKGJwbikKLSAgICAgICAgaWYgcmVjaXBlIG5vdCBpbiBhbGxyZWNpcGVzOgotICAgICAgICAgICAgYWxscmVjaXBlc1tyZWNpcGVdID0gcm93Ci0KLWRlZiBnZW5lcmF0ZV9yZWNpcGVfbGlzdCgpOgotICAgICMgbWFjaGluZSBsaXN0Ci0gICAgbWFjaGluZV9saXN0ID0gKCAicWVtdWFybTY0IiwgInFlbXVhcm0iLCAicWVtdW1pcHM2NCIsICJxZW11bWlwcyIsICJxZW11cHBjIiwgInFlbXV4ODYtNjQiLCAicWVtdXg4NiIgKQotICAgICMgc2V0IGZpbGVuYW1lIGZvcm1hdAotICAgIGZuZm9ybWF0ID0gJ2Rpc3Ryb2RhdGEuJXMuY3N2JwotCi0gICAgIyBzdG9yZSBhbGwgZGF0YSBmaWxlcyBpbiBkaXN0cm9kYXRhCi0gICAgZGF0YWRpciA9ICdkaXN0cm9kYXRhJwotCi0gICAgIyBjcmVhdGUgdGhlIGRpcmVjdG9yeSBpZiBpdCBkb2VzIG5vdCBleGlzdHMKLSAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZGF0YWRpcik6Ci0gICAgICAgIG9zLm1rZGlyKGRhdGFkaXIpCi0KLSAgICAjIGRvaW5nIGJpdGJha2UgZGlzdHJvZGF0YQotICAgIGZvciBtYWNoaW5lIGluIG1hY2hpbmVfbGlzdDoKLSAgICAgICAgb3Muc3lzdGVtKCdNQUNISU5FPScrIG1hY2hpbmUgKyAnIGJpdGJha2UgLWsgdW5pdmVyc2UgLWMgZGlzdHJvZGF0YScpCi0gICAgICAgIHNodXRpbC5jb3B5KCd0bXAvbG9nL2Rpc3Ryb2RhdGEuY3N2JywgJ2Rpc3Ryb2RhdGEvJyArIGZuZm9ybWF0ICUgbWFjaGluZSkKLQotICAgIGZvciBtYWNoaW5lIGluIG1hY2hpbmVfbGlzdDoKLSAgICAgICAgd2l0aCBvcGVuKCdkaXN0cm9kYXRhLycgKyBmbmZvcm1hdCAlIG1hY2hpbmUpIGFzIGY6Ci0gICAgICAgICAgICByZWFkZXIgPSBjc3YucmVhZGVyKGYpCi0gICAgICAgICAgICByb3dzID0gcmVhZGVyLl9faXRlcl9fKCkKLSAgICAgICAgICAgIGdhdGhlcl9yZWNpcGVzKHJvd3MpCi0KLSAgICB3aXRoIG9wZW4oJ3JlY2lwZS1saXN0LnR4dCcsICd3JykgYXMgZjoKLSAgICAgICAgZm9yIHJlY2lwZSBpbiBzb3J0ZWQocmVjaXBlbmFtZXMpOgotICAgICAgICAgICAgZi53cml0ZSgiJXNcbiIgJSByZWNpcGUpCi0gICAgcHJpbnQoImZpbGUgOiByZWNpcGUtbGlzdC50eHQgaXMgY3JlYXRlZCB3aXRoICVkIGVudHJpZXMuIiAlIGxlbihyZWNpcGVuYW1lcykpCi0KLSAgICB3aXRoIG9wZW4oJ2FsbC1yZWNpcGUtbGlzdC50eHQnLCAndycpIGFzIGY6Ci0gICAgICAgIGZvciByZWNpcGUsIHJvdyBpbiBzb3J0ZWQoYWxscmVjaXBlcy5pdGVtcygpKToKLSAgICAgICAgICAgIGYud3JpdGUoIiVzXG4iICUgJywnLmpvaW4ocm93KSkKLQotCi1kZWYgZGlmZl9mb3JfbmV3X3JlY2lwZXMocmVjaXBlMSwgcmVjaXBlMik6Ci0gICAgcHJldl9yZWNpcGVfcGF0aCA9IHJlY2lwZTEgKyAnLycKLSAgICBjdXJyX3JlY2lwZV9wYXRoID0gcmVjaXBlMiArICcvJwotICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZShwcmV2X3JlY2lwZV9wYXRoICsgJ3JlY2lwZS1saXN0LnR4dCcpIG9yIG5vdCBvcy5wYXRoLmlzZmlsZShjdXJyX3JlY2lwZV9wYXRoICsgJ3JlY2lwZS1saXN0LnR4dCcpOgotICAgICAgICBwcmludCgicmVjaXBlIGZpbGVzIGRvIG5vdCBleGlzdHMuIHBsZWFzZSB2ZXJpZnkgdGhhdCB0aGUgZmlsZSBleGlzdHMuIikKLSAgICAgICAgZXhpdCgxKQotCi0gICAgaW1wb3J0IGNzdgotCi0gICAgcHJldiA9IFtdCi0gICAgbmV3ID0gW10KLQotICAgIHdpdGggb3BlbihwcmV2X3JlY2lwZV9wYXRoICsgJ3JlY2lwZS1saXN0LnR4dCcpIGFzIGY6Ci0gICAgICAgIHByZXYgPSBmLnJlYWRsaW5lcygpCi0KLSAgICB3aXRoIG9wZW4oY3Vycl9yZWNpcGVfcGF0aCArICdyZWNpcGUtbGlzdC50eHQnKSBhcyBmOgotICAgICAgICBuZXcgPSBmLnJlYWRsaW5lcygpCi0KLSAgICB1cGRhdGVzID0gW10KLSAgICBmb3IgcG4gaW4gbmV3OgotICAgICAgICBpZiBub3QgcG4gaW4gcHJldjoKLSAgICAgICAgICAgIHVwZGF0ZXMuYXBwZW5kKHBuLnJzdHJpcCgpKQotCi0gICAgYWxscmVjaXBlID0gW10KLSAgICB3aXRoIG9wZW4ocmVjaXBlMSArICdfJyArIHJlY2lwZTIgKyAnX25ld19yZWNpcGVfbGlzdC50eHQnLCd3JykgYXMgZHI6Ci0gICAgICAgIHdpdGggb3BlbihjdXJyX3JlY2lwZV9wYXRoICsgJ2FsbC1yZWNpcGUtbGlzdC50eHQnKSBhcyBmOgotICAgICAgICAgICAgcmVhZGVyID0gY3N2LnJlYWRlcihmLCBkZWxpbWl0ZXI9JywnKQotICAgICAgICAgICAgZm9yIHJvdyBpbiByZWFkZXI6Ci0gICAgICAgICAgICAgICAgaWYgcm93WzBdIGluIHVwZGF0ZXM6Ci0gICAgICAgICAgICAgICAgICAgIGRyLndyaXRlKCIlcywlcywlcyIgJSAocm93WzBdLCByb3dbM10sIHJvd1s1XSkpCi0gICAgICAgICAgICAgICAgICAgIGlmIGxlbihyb3dbOTpdKSA+IDA6Ci0gICAgICAgICAgICAgICAgICAgICAgICBkci53cml0ZSgiLCVzIiAlICcsJy5qb2luKHJvd1s5Ol0pKQotICAgICAgICAgICAgICAgICAgICBkci53cml0ZSgiXG4iKQotCi1kZWYgbWFpbihhcmd2KToKLSAgICBpZiBhcmd2WzBdID09ICJnZW5lcmF0ZV9yZWNpcGVfbGlzdCI6Ci0gICAgICAgIGdlbmVyYXRlX3JlY2lwZV9saXN0KCkKLSAgICBlbGlmIGFyZ3ZbMF0gPT0gImNvbXBhcmVfcmVjaXBlIjoKLSAgICAgICAgZGlmZl9mb3JfbmV3X3JlY2lwZXMoYXJndlsxXSwgYXJndlsyXSkKLSAgICBlbHNlOgotICAgICAgICBwcmludCgibm8gc3VjaCBvcHRpb24uIGNob29zZSBlaXRoZXIgJ2dlbmVyYXRlX3JlY2lwZV9saXN0JyBvciAnY29tcGFyZV9yZWNpcGUnIikKLQotICAgIGV4aXQoMCkKLQotaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKLSAgICB0cnk6Ci0gICAgICAgIHN5cy5leGl0KG1haW4oc3lzLmFyZ3ZbMTpdKSkKLSAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6Ci0gICAgICAgIHByaW50KCJFeGNlcHRpb24gOiIsIGUpCi0gICAgICAgIHN5cy5leGl0KDEpCi0KZGlmZiAtLWdpdCBhL3Bva3kvc2NyaXB0cy9kaXN0cm8vZGlzdHJvY29tcGFyZS5zaCBiL3Bva3kvc2NyaXB0cy9kaXN0cm8vZGlzdHJvY29tcGFyZS5zaApkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggOTA4NzYwYy4uMDAwMDAwMAotLS0gYS9wb2t5L3NjcmlwdHMvZGlzdHJvL2Rpc3Ryb2NvbXBhcmUuc2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMjMgKzAsMCBAQAotIyEvdXNyL2Jpbi9lbnYgYmFzaAotIwotIyBDb3B5cmlnaHQgKGMpIDIwMTcsIEludGVsIENvcnBvcmF0aW9uLgotIyBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwotIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgotIwotIyBkaXN0cm9jb21wYXJlLnNoIDogcHJvdmlkZXMgY2FwYWJpbGl0eSB0byBnZXQgYSBsaXN0IG9mIG5ldyBwYWNrYWdlcwotIyAgICAgICAgICAgICAgICAgICAgYmFzZWQgb24gdHdvIGRpc3RpbmN0IGJyYW5jaGVzLiBUaGlzIHNjcmlwdCB0YWtlcwotIyAgICAgICAgICAgICAgICAgICAgMiBwYXJhbWV0ZXJzOyBlaXRoZXIgYSBjb21taXQtaXNoIG9yIGEgYnJhbmNoIG5hbWUKLSMKLSMgICAgICAgICAgICAgICAgICAgIFRvIHJ1biA6IGRpc3Ryb2NvbXBhcmUuc2ggPG9sZGVyIGhhc2g+IDxuZXdlciBoYXNoPgotIyAgICAgICAgICAgICAgICAgICAgRS5nLiBkaXN0cm9jb21wYXJlLnNoIG1vcnR5IDkyYWEwZTcKLSMgICAgICAgICAgICAgICAgICAgIEUuZy4gZGlzdHJvY29tcGFyZS5zaCBtb3J0eSBweXJvCi0jCi0KLSMgZ2V0IGlucHV0IGFzIHZlcnNpb24KLXByZXZpb3VzX3ZlcnNpb249JDEKLWN1cnJlbnRfdmVyc2lvbj0kMgotCi0jIHNldCBwcmV2aW91cyBhbmQgY3VycmVudCB2ZXJzaW9uCi1pZiBbIC16ICIkMiIgXTsgdGhlbgotICAgIHByZXZpb3VzX3ZlcnNpb249JDEKLSAgICBjdXJyZW50X3ZlcnNpb249ImN1cnJlbnQiCi1maQotCi0jIGdldCBzY3JpcHQgbG9jYXRpb24uIFRoYXQncyB3aGVyZSB0aGUgc291cmNlIHN1cHBvc2VkbHkgbG9jYXRlZCBhcyB3ZWxsLgotc2NyaXB0ZGlyPSIkKCByZWFscGF0aCAkKGRpcm5hbWUgIiR7QkFTSF9TT1VSQ0VbMF19IiApKSIKLXNvdXJjZWRpcj0iJCggcmVhbHBhdGggJHNjcmlwdGRpci8uLi8uLiApIgotCi0jIGNyZWF0ZSB3b3JraW5nIGRpcmVjdG9yeQotd29ya2Rpcj0kKG1rdGVtcCAtZCkKLQotIyBwcmVwYXJlIHRvIHJvbGxiYWNrIHRvIHRoZSBicmFuY2ggaWYgbm90IHNpbWlsYXIKLWJyYW5jaD1gY2QgJHNvdXJjZWRpcjsgZ2l0IGJyYW5jaCB8IGdyZXAgXCogfCBjdXQgLWQgJyAnIC1mMmAKLQotIyBzZXQgY3VycmVudCB3b3JrZGlyIHRvIHN0b3JlIGZpbmFsIHJlc3VsdAotY3VycmVudHdvcmtkaXI9YHB3ZGAKLQotIyBwZXJzaXN0cyB0aGUgZmlsZSBhZnRlciBsb2NhbCByZXBvIGNoYW5nZQotY3AgJHNjcmlwdGRpci9idWlsZC1yZWNpcGUtbGlzdC5weSAkd29ya2RpcgotCi0jPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLWZ1bmN0aW9uIGJha2VfZGlzdHJvZGF0YSB7Ci0gICAgIyBnZXQgdG8gc291cmNlIGRpcmVjdG9yeSBvZiB0aGUgZ2l0Ci0gICAgY2QgJHNvdXJjZWRpcgotCi0gICAgIyBjaGFuZ2UgdGhlIGJyYW5jaCAvIGNvbW1pdC4gRG8gbm90IGNoYW5nZSBpZiBpbnB1dCBpcyBjdXJyZW50Ci0gICAgaWYgWyAiJDEiICE9ICJjdXJyZW50IiBdOyB0aGVuCi0gICAgICAgIG91dHB1dD0kKGdpdCBjaGVja291dCAkMSAyPiYxKQotCi0gICAgICAgICMgZXhpdCBpZiBnaXQgZmFpbHMKLSAgICAgICAgaWYgW1sgJG91dHB1dCA9PSAqImVycm9yIiogXV07IHRoZW4KLSAgICAgICAgICAgIGVjaG8gImdpdCBlcnJvciA6ICRvdXRwdXQiCi0gICAgICAgICAgICBlY2hvICJleGl0aW5nIC4uLiAiCi0gICAgICAgICAgICBybSAtcmYgJHdvcmtkaXIKLSAgICAgICAgICAgIGV4aXQKLSAgICAgICAgZmkKLSAgICBmaQotCi0gICAgIyBtYWtlIHRtcCBhcyB3b3JrZGlyCi0gICAgY2QgJHdvcmtkaXIKLQotICAgICMgc291cmNlIG9lLWluaXQgdG8gZ2VuZXJhdGUgYSBuZXcgYnVpbGQgZm9sZGVyCi0gICAgc291cmNlICRzb3VyY2VkaXIvb2UtaW5pdC1idWlsZC1lbnYgJDEKLQotICAgICMgaWYgZmlsZSBhbHJlYWR5IGV4aXN0cyB3aXRoIGRpc3Ryb2RhdGEsIGRvIG5vdCBhcHBlbmQKLSAgICBpZiAhIGdyZXAgLXEgImRpc3Ryb2RhdGEiICJjb25mL2xvY2FsLmNvbmYiOyB0aGVuCi0gICAgICAgICMgYWRkIGluaGVyaXQgZGlzdHJvZGF0YSB0byBsb2NhbC5jb25mIHRvIGVuYWJsZSBkaXN0cm9kYXRhIGZlYXR1cmUKLSAgICAgICAgZWNobyAnSU5IRVJJVCArPSAiZGlzdHJvZGF0YSInID4+IGNvbmYvbG9jYWwuY29uZgotICAgIGZpCi0KLSAgICAjIHVzZSBmcm9tIHRtcAotICAgICR3b3JrZGlyL2J1aWxkLXJlY2lwZS1saXN0LnB5IGdlbmVyYXRlX3JlY2lwZV9saXN0Ci19Ci0KLWJha2VfZGlzdHJvZGF0YSAkcHJldmlvdXNfdmVyc2lvbgotYmFrZV9kaXN0cm9kYXRhICRjdXJyZW50X3ZlcnNpb24KLQotIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi1jZCAkd29ya2RpcgotCi0jIGNvbXBhcmUgdGhlIDIgZ2VuZXJhdGVkIHJlY2lwZS1saXN0LnR4dAotJHdvcmtkaXIvYnVpbGQtcmVjaXBlLWxpc3QucHkgY29tcGFyZV9yZWNpcGUgJHByZXZpb3VzX3ZlcnNpb24gJGN1cnJlbnRfdmVyc2lvbgotCi0jIGNvcHkgZmluYWwgcmVzdWx0IHRvIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkKLWNwICR3b3JrZGlyLypfbmV3X3JlY2lwZV9saXN0LnR4dCAkY3VycmVudHdvcmtkaXIKLQotaWYgWyAkPyAtbmUgMCBdOyB0aGVuCi0gICAgcm0gLXJmICR3b3JrZGlyLyRwcmV2aW91c192ZXJzaW9uCi0gICAgcm0gLXJmICR3b3JrZGlyLyRjdXJyZW50X3ZlcnNpb24KLSAgICBybSAkd29ya2Rpci9idWlsZC1yZWNpcGUtbGlzdC5weQotICAgICMgcHJlc2VydmUgdGhlIHJlc3VsdCBpbiAvdG1wL2Rpc3Ryb2RhdGEgaWYgZmFpbCB0byBjb3B5IHRoZSByZXN1bHQgb3ZlcgotICAgIGV4aXQKLWZpCi0KLSMgY2xlYW51cAotcm0gLXJmICR3b3JrZGlyCi0KLSMgcGVyZm9ybSByb2xsYmFjayBicmFuY2gKLWNkICRzb3VyY2VkaXIKLWN1cnJlbnRicmFuY2g9YGdpdCBicmFuY2ggfCBncmVwIFwqIHwgY3V0IC1kICcgJyAtZjJgCi1pZiBbICIkY3VycmVudGJyYW5jaCIgIT0gIiRicmFuY2giIF07IHRoZW4KLSAgICBnaXQgY2hlY2tvdXQgJGJyYW5jaAotZmkKLQotY2QgJGN1cnJlbnR3b3JrZGlyCi0KLSM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KZGlmZiAtLWdpdCBhL3Bva3kvc2NyaXB0cy9saWIvZGV2dG9vbC9fX2luaXRfXy5weSBiL3Bva3kvc2NyaXB0cy9saWIvZGV2dG9vbC9fX2luaXRfXy5weQppbmRleCA4OWYwOThhLi44ZmM3ZmZmIDEwMDY0NAotLS0gYS9wb2t5L3NjcmlwdHMvbGliL2RldnRvb2wvX19pbml0X18ucHkKKysrIGIvcG9reS9zY3JpcHRzL2xpYi9kZXZ0b29sL19faW5pdF9fLnB5CkBAIC0yMDUsNiArMjA1LDcgQEAKICAgICBpbXBvcnQgb2UucGF0Y2gKICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHJlcG9kaXIsICcuZ2l0JykpOgogICAgICAgICBiYi5wcm9jZXNzLnJ1bignZ2l0IGluaXQnLCBjd2Q9cmVwb2RpcikKKyAgICAgICAgYmIucHJvY2Vzcy5ydW4oJ2dpdCBjb25maWcgLS1sb2NhbCBnYy5hdXRvZGV0YWNoIDAnLCBjd2Q9cmVwb2RpcikKICAgICAgICAgYmIucHJvY2Vzcy5ydW4oJ2dpdCBhZGQgLicsIGN3ZD1yZXBvZGlyKQogICAgICAgICBjb21taXRfY21kID0gWydnaXQnXQogICAgICAgICBvZS5wYXRjaC5HaXRBcHBseVRyZWUuZ2l0Q29tbWFuZFVzZXJPcHRpb25zKGNvbW1pdF9jbWQsIGQ9ZCkKZGlmZiAtLWdpdCBhL3Bva3kvc2NyaXB0cy9saWIvZGV2dG9vbC9kZXBsb3kucHkgYi9wb2t5L3NjcmlwdHMvbGliL2RldnRvb2wvZGVwbG95LnB5CmluZGV4IDg4NjAwNGIuLmYzNDVmMzEgMTAwNjQ0Ci0tLSBhL3Bva3kvc2NyaXB0cy9saWIvZGV2dG9vbC9kZXBsb3kucHkKKysrIGIvcG9reS9zY3JpcHRzL2xpYi9kZXZ0b29sL2RlcGxveS5weQpAQCAtMjExLDYgKzIxMSwxMSBAQAogICAgICAgICBpZiBub3QgYXJncy5zaG93X3N0YXR1czoKICAgICAgICAgICAgIGV4dHJhb3B0aW9ucyArPSAnIC1xJwogCisgICAgICAgIHNjcF9zc2hleGVjID0gJycKKyAgICAgICAgc3NoX3NzaGV4ZWMgPSAnc3NoJworICAgICAgICBpZiBhcmdzLnNzaF9leGVjOgorICAgICAgICAgICAgc2NwX3NzaGV4ZWMgPSAiLVMgJXMiICUgYXJncy5zc2hfZXhlYworICAgICAgICAgICAgc3NoX3NzaGV4ZWMgPSBhcmdzLnNzaF9leGVjCiAgICAgICAgIHNjcF9wb3J0ID0gJycKICAgICAgICAgc3NoX3BvcnQgPSAnJwogICAgICAgICBpZiBhcmdzLnBvcnQ6CkBAIC0yMzgsNyArMjQzLDcgQEAKICAgICAgICAgICAgICAgICBmb3IgZnBhdGgsIGZzaXplIGluIGZpbGVsaXN0OgogICAgICAgICAgICAgICAgICAgICBmLndyaXRlKCclcyAlZFxuJyAlIChmcGF0aCwgZnNpemUpKQogICAgICAgICAgICAgIyBDb3B5IHRoZW0gdG8gdGhlIHRhcmdldAotICAgICAgICAgICAgcmV0ID0gc3VicHJvY2Vzcy5jYWxsKCJzY3AgJXMgJXMgJXMvKiAlczolcyIgJSAoc2NwX3BvcnQsIGV4dHJhb3B0aW9ucywgdG1wZGlyLCBhcmdzLnRhcmdldCwgb3MucGF0aC5kaXJuYW1lKHRtcHNjcmlwdCkpLCBzaGVsbD1UcnVlKQorICAgICAgICAgICAgcmV0ID0gc3VicHJvY2Vzcy5jYWxsKCJzY3AgJXMgJXMgJXMgJXMvKiAlczolcyIgJSAoc2NwX3NzaGV4ZWMsIHNjcF9wb3J0LCBleHRyYW9wdGlvbnMsIHRtcGRpciwgYXJncy50YXJnZXQsIG9zLnBhdGguZGlybmFtZSh0bXBzY3JpcHQpKSwgc2hlbGw9VHJ1ZSkKICAgICAgICAgICAgIGlmIHJldCAhPSAwOgogICAgICAgICAgICAgICAgIHJhaXNlIERldnRvb2xFcnJvcignRmFpbGVkIHRvIGNvcHkgc2NyaXB0IHRvICVzIC0gcmVydW4gd2l0aCAtcyB0byAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdnZXQgYSBjb21wbGV0ZSBlcnJvciBtZXNzYWdlJyAlIGFyZ3MudGFyZ2V0KQpAQCAtMjQ2LDcgKzI1MSw3IEBACiAgICAgICAgICAgICBzaHV0aWwucm10cmVlKHRtcGRpcikKIAogICAgICAgICAjIE5vdyBydW4gdGhlIHNjcmlwdAotICAgICAgICByZXQgPSBleGVjX2Zha2Vyb290KHJkLCAndGFyIGNmIC0gLiB8IHNzaCAgJXMgJXMgJXMgXCdzaCAlcyAlcyAlcyAlc1wnJyAlIChzc2hfcG9ydCwgZXh0cmFvcHRpb25zLCBhcmdzLnRhcmdldCwgdG1wc2NyaXB0LCBhcmdzLnJlY2lwZW5hbWUsIGRlc3RkaXIsIHRtcGZpbGVsaXN0KSwgY3dkPXJlY2lwZV9vdXRkaXIsIHNoZWxsPVRydWUpCisgICAgICAgIHJldCA9IGV4ZWNfZmFrZXJvb3QocmQsICd0YXIgY2YgLSAuIHwgJXMgICVzICVzICVzIFwnc2ggJXMgJXMgJXMgJXNcJycgJSAoc3NoX3NzaGV4ZWMsIHNzaF9wb3J0LCBleHRyYW9wdGlvbnMsIGFyZ3MudGFyZ2V0LCB0bXBzY3JpcHQsIGFyZ3MucmVjaXBlbmFtZSwgZGVzdGRpciwgdG1wZmlsZWxpc3QpLCBjd2Q9cmVjaXBlX291dGRpciwgc2hlbGw9VHJ1ZSkKICAgICAgICAgaWYgcmV0ICE9IDA6CiAgICAgICAgICAgICByYWlzZSBEZXZ0b29sRXJyb3IoJ0RlcGxveSBmYWlsZWQgLSByZXJ1biB3aXRoIC1zIHRvIGdldCBhIGNvbXBsZXRlICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXJyb3IgbWVzc2FnZScpCkBAIC0yNzYsNiArMjgxLDExIEBACiAgICAgaWYgbm90IGFyZ3Muc2hvd19zdGF0dXM6CiAgICAgICAgIGV4dHJhb3B0aW9ucyArPSAnIC1xJwogCisgICAgc2NwX3NzaGV4ZWMgPSAnJworICAgIHNzaF9zc2hleGVjID0gJ3NzaCcKKyAgICBpZiBhcmdzLnNzaF9leGVjOgorICAgICAgICBzY3Bfc3NoZXhlYyA9ICItUyAlcyIgJSBhcmdzLnNzaF9leGVjCisgICAgICAgIHNzaF9zc2hleGVjID0gYXJncy5zc2hfZXhlYwogICAgIHNjcF9wb3J0ID0gJycKICAgICBzc2hfcG9ydCA9ICcnCiAgICAgaWYgYXJncy5wb3J0OgpAQCAtMjkyLDcgKzMwMiw3IEBACiAgICAgICAgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4odG1wZGlyLCBvcy5wYXRoLmJhc2VuYW1lKHRtcHNjcmlwdCkpLCAndycpIGFzIGY6CiAgICAgICAgICAgICBmLndyaXRlKHNoZWxsc2NyaXB0KQogICAgICAgICAjIENvcHkgaXQgdG8gdGhlIHRhcmdldAotICAgICAgICByZXQgPSBzdWJwcm9jZXNzLmNhbGwoInNjcCAlcyAlcyAlcy8qICVzOiVzIiAlIChzY3BfcG9ydCwgZXh0cmFvcHRpb25zLCB0bXBkaXIsIGFyZ3MudGFyZ2V0LCBvcy5wYXRoLmRpcm5hbWUodG1wc2NyaXB0KSksIHNoZWxsPVRydWUpCisgICAgICAgIHJldCA9IHN1YnByb2Nlc3MuY2FsbCgic2NwICVzICVzICVzICVzLyogJXM6JXMiICUgKHNjcF9zc2hleGVjLCBzY3BfcG9ydCwgZXh0cmFvcHRpb25zLCB0bXBkaXIsIGFyZ3MudGFyZ2V0LCBvcy5wYXRoLmRpcm5hbWUodG1wc2NyaXB0KSksIHNoZWxsPVRydWUpCiAgICAgICAgIGlmIHJldCAhPSAwOgogICAgICAgICAgICAgcmFpc2UgRGV2dG9vbEVycm9yKCdGYWlsZWQgdG8gY29weSBzY3JpcHQgdG8gJXMgLSByZXJ1biB3aXRoIC1zIHRvICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2dldCBhIGNvbXBsZXRlIGVycm9yIG1lc3NhZ2UnICUgYXJncy50YXJnZXQpCkBAIC0zMDAsNyArMzEwLDcgQEAKICAgICAgICAgc2h1dGlsLnJtdHJlZSh0bXBkaXIpCiAKICAgICAjIE5vdyBydW4gdGhlIHNjcmlwdAotICAgIHJldCA9IHN1YnByb2Nlc3MuY2FsbCgnc3NoICVzICVzICVzIFwnc2ggJXMgJXNcJycgJSAoc3NoX3BvcnQsIGV4dHJhb3B0aW9ucywgYXJncy50YXJnZXQsIHRtcHNjcmlwdCwgYXJncy5yZWNpcGVuYW1lKSwgc2hlbGw9VHJ1ZSkKKyAgICByZXQgPSBzdWJwcm9jZXNzLmNhbGwoJyVzICVzICVzICVzIFwnc2ggJXMgJXNcJycgJSAoc3NoX3NzaGV4ZWMsIHNzaF9wb3J0LCBleHRyYW9wdGlvbnMsIGFyZ3MudGFyZ2V0LCB0bXBzY3JpcHQsIGFyZ3MucmVjaXBlbmFtZSksIHNoZWxsPVRydWUpCiAgICAgaWYgcmV0ICE9IDA6CiAgICAgICAgIHJhaXNlIERldnRvb2xFcnJvcignVW5kZXBsb3kgZmFpbGVkIC0gcmVydW4gd2l0aCAtcyB0byBnZXQgYSBjb21wbGV0ZSAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXJyb3IgbWVzc2FnZScpCkBAIC0zMjQsNiArMzM0LDcgQEAKICAgICBwYXJzZXJfZGVwbG95LmFkZF9hcmd1bWVudCgnLW4nLCAnLS1kcnktcnVuJywgaGVscD0nTGlzdCBmaWxlcyB0byBiZSBkZXBsb3llZCBvbmx5JywgYWN0aW9uPSdzdG9yZV90cnVlJykKICAgICBwYXJzZXJfZGVwbG95LmFkZF9hcmd1bWVudCgnLXAnLCAnLS1uby1wcmVzZXJ2ZScsIGhlbHA9J0RvIG5vdCBwcmVzZXJ2ZSBleGlzdGluZyBmaWxlcycsIGFjdGlvbj0nc3RvcmVfdHJ1ZScpCiAgICAgcGFyc2VyX2RlcGxveS5hZGRfYXJndW1lbnQoJy0tbm8tY2hlY2stc3BhY2UnLCBoZWxwPSdEbyBub3QgY2hlY2sgZm9yIGF2YWlsYWJsZSBzcGFjZSBiZWZvcmUgZGVwbG95aW5nJywgYWN0aW9uPSdzdG9yZV90cnVlJykKKyAgICBwYXJzZXJfZGVwbG95LmFkZF9hcmd1bWVudCgnLWUnLCAnLS1zc2gtZXhlYycsIGhlbHA9J0V4ZWN1dGFibGUgdG8gdXNlIGluIHBsYWNlIG9mIHNzaCcpCiAgICAgcGFyc2VyX2RlcGxveS5hZGRfYXJndW1lbnQoJy1QJywgJy0tcG9ydCcsIGhlbHA9J1NwZWNpZnkgcG9ydCB0byB1c2UgZm9yIGNvbm5lY3Rpb24gdG8gdGhlIHRhcmdldCcpCiAKICAgICBzdHJpcF9vcHRzID0gcGFyc2VyX2RlcGxveS5hZGRfbXV0dWFsbHlfZXhjbHVzaXZlX2dyb3VwKHJlcXVpcmVkPUZhbHNlKQpAQCAtMzQ2LDUgKzM1Nyw2IEBACiAgICAgcGFyc2VyX3VuZGVwbG95LmFkZF9hcmd1bWVudCgnLXMnLCAnLS1zaG93LXN0YXR1cycsIGhlbHA9J1Nob3cgcHJvZ3Jlc3Mvc3RhdHVzIG91dHB1dCcsIGFjdGlvbj0nc3RvcmVfdHJ1ZScpCiAgICAgcGFyc2VyX3VuZGVwbG95LmFkZF9hcmd1bWVudCgnLWEnLCAnLS1hbGwnLCBoZWxwPSdVbmRlcGxveSBhbGwgcmVjaXBlcyBkZXBsb3llZCBvbiB0aGUgdGFyZ2V0JywgYWN0aW9uPSdzdG9yZV90cnVlJykKICAgICBwYXJzZXJfdW5kZXBsb3kuYWRkX2FyZ3VtZW50KCctbicsICctLWRyeS1ydW4nLCBoZWxwPSdMaXN0IGZpbGVzIHRvIGJlIHVuZGVwbG95ZWQgb25seScsIGFjdGlvbj0nc3RvcmVfdHJ1ZScpCisgICAgcGFyc2VyX3VuZGVwbG95LmFkZF9hcmd1bWVudCgnLWUnLCAnLS1zc2gtZXhlYycsIGhlbHA9J0V4ZWN1dGFibGUgdG8gdXNlIGluIHBsYWNlIG9mIHNzaCcpCiAgICAgcGFyc2VyX3VuZGVwbG95LmFkZF9hcmd1bWVudCgnLVAnLCAnLS1wb3J0JywgaGVscD0nU3BlY2lmeSBwb3J0IHRvIHVzZSBmb3IgY29ubmVjdGlvbiB0byB0aGUgdGFyZ2V0JykKICAgICBwYXJzZXJfdW5kZXBsb3kuc2V0X2RlZmF1bHRzKGZ1bmM9dW5kZXBsb3kpCmRpZmYgLS1naXQgYS9wb2t5L3NjcmlwdHMvbGliL2RldnRvb2wvc3RhbmRhcmQucHkgYi9wb2t5L3NjcmlwdHMvbGliL2RldnRvb2wvc3RhbmRhcmQucHkKaW5kZXggYjdkNGQ0Ny4uZWEwOWJiZiAxMDA2NDQKLS0tIGEvcG9reS9zY3JpcHRzL2xpYi9kZXZ0b29sL3N0YW5kYXJkLnB5CisrKyBiL3Bva3kvc2NyaXB0cy9saWIvZGV2dG9vbC9zdGFuZGFyZC5weQpAQCAtODQ5LDkgKzg0OSw3IEBACiAgICAgICAgICAgICBpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdrZXJuZWwnLCByZCk6CiAgICAgICAgICAgICAgICAgZi53cml0ZSgnU1JDVFJFRUNPVkVSRURUQVNLUyA9ICJkb192YWxpZGF0ZV9icmFuY2hlcyBkb19rZXJuZWxfY2hlY2tvdXQgJwogICAgICAgICAgICAgICAgICAgICAgICAgJ2RvX2ZldGNoIGRvX3VucGFjayBkb19rZXJuZWxfY29uZmlnbWUgZG9fa2VybmVsX2NvbmZpZ2NoZWNrIlxuJykKLSAgICAgICAgICAgICAgICBmLndyaXRlKCdcbmRvX3BhdGNoKCkge1xuJwotICAgICAgICAgICAgICAgICAgICAgICAgJyAgICA6XG4nCi0gICAgICAgICAgICAgICAgICAgICAgICAnfVxuJykKKyAgICAgICAgICAgICAgICBmLndyaXRlKCdcbmRvX3BhdGNoW25vZXhlY10gPSAiMSJcbicpCiAgICAgICAgICAgICAgICAgZi53cml0ZSgnXG5kb19jb25maWd1cmVfYXBwZW5kKCkge1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgJyAgICBjcCAke0J9Ly5jb25maWcgJHtTfS8uY29uZmlnLmJhc2VsaW5lXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIGxuIC1zZlQgJHtCfS8uY29uZmlnICR7U30vLmNvbmZpZy5uZXdcbicKZGlmZiAtLWdpdCBhL3Bva3kvc2NyaXB0cy9saWIvZGV2dG9vbC91cGdyYWRlLnB5IGIvcG9reS9zY3JpcHRzL2xpYi9kZXZ0b29sL3VwZ3JhZGUucHkKaW5kZXggMjAyMDA3Ny4uNzVlNzY1ZSAxMDA2NDQKLS0tIGEvcG9reS9zY3JpcHRzL2xpYi9kZXZ0b29sL3VwZ3JhZGUucHkKKysrIGIvcG9reS9zY3JpcHRzL2xpYi9kZXZ0b29sL3VwZ3JhZGUucHkKQEAgLTYwMCw2ICs2MDAsMjAgQEAKICAgICAgICAgdGluZm9pbC5zaHV0ZG93bigpCiAgICAgcmV0dXJuIDAKIAorZGVmIGNoZWNrX3VwZ3JhZGVfc3RhdHVzKGFyZ3MsIGNvbmZpZywgYmFzZXBhdGgsIHdvcmtzcGFjZSk6CisgICAgaWYgbm90IGFyZ3MucmVjaXBlOgorICAgICAgICBsb2dnZXIuaW5mbygiQ2hlY2tpbmcgdGhlIHVwc3RyZWFtIHN0YXR1cyBmb3IgYWxsIHJlY2lwZXMgbWF5IHRha2UgYSBmZXcgbWludXRlcyIpCisgICAgcmVzdWx0cyA9IG9lLnJlY2lwZXV0aWxzLmdldF9yZWNpcGVfdXBncmFkZV9zdGF0dXMoYXJncy5yZWNpcGUpCisgICAgZm9yIHJlc3VsdCBpbiByZXN1bHRzOgorICAgICAgICAjIHBuLCB1cGRhdGVfc3RhdHVzLCBjdXJyZW50LCBsYXRlc3QsIG1haW50YWluZXIsIGxhdGVzdF9jb21taXQsIG5vX3VwZGF0ZV9yZWFzb24KKyAgICAgICAgaWYgYXJncy5hbGwgb3IgcmVzdWx0WzFdICE9ICdNQVRDSCc6CisgICAgICAgICAgICBsb2dnZXIuaW5mbygiezoyNX0gezoxNX0gezoxNX0ge30ge30ge30iLmZvcm1hdCggICByZXN1bHRbMF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRbMl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRbMV0gaWYgcmVzdWx0WzFdICE9ICdVUERBVEUnIGVsc2UgKHJlc3VsdFszXSBpZiBub3QgcmVzdWx0WzNdLmVuZHN3aXRoKCJuZXctY29tbWl0cy1hdmFpbGFibGUiKSBlbHNlICJuZXcgY29tbWl0cyIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0WzVdIGlmIHJlc3VsdFs1XSAhPSAnTi9BJyBlbHNlICIiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNhbm5vdCBiZSB1cGRhdGVkIGR1ZSB0bzogJXMiICUocmVzdWx0WzZdKSBpZiByZXN1bHRbNl0gZWxzZSAiIikpCisKIGRlZiByZWdpc3Rlcl9jb21tYW5kcyhzdWJwYXJzZXJzLCBjb250ZXh0KToKICAgICAiIiJSZWdpc3RlciBkZXZ0b29sIHN1YmNvbW1hbmRzIGZyb20gdGhpcyBwbHVnaW4iIiIKIApAQCAtNjI3LDMgKzY0MSwxMCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cD0naW5mbycpCiAgICAgcGFyc2VyX2xhdGVzdF92ZXJzaW9uLmFkZF9hcmd1bWVudCgncmVjaXBlbmFtZScsIGhlbHA9J05hbWUgb2YgcmVjaXBlIHRvIHF1ZXJ5IChqdXN0IG5hbWUgLSBubyB2ZXJzaW9uLCBwYXRoIG9yIGV4dGVuc2lvbiknKQogICAgIHBhcnNlcl9sYXRlc3RfdmVyc2lvbi5zZXRfZGVmYXVsdHMoZnVuYz1sYXRlc3RfdmVyc2lvbikKKworICAgIHBhcnNlcl9jaGVja191cGdyYWRlX3N0YXR1cyA9IHN1YnBhcnNlcnMuYWRkX3BhcnNlcignY2hlY2stdXBncmFkZS1zdGF0dXMnLCBoZWxwPSJSZXBvcnQgdXBncmFkYWJpbGl0eSBmb3IgbXVsdGlwbGUgKG9yIGFsbCkgcmVjaXBlcyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uPSJQcmludHMgYSB0YWJsZSBvZiByZWNpcGVzIHRvZ2V0aGVyIHdpdGggdmVyc2lvbnMgY3VycmVudGx5IHByb3ZpZGVkIGJ5IHJlY2lwZXMsIGFuZCBsYXRlc3QgdXBzdHJlYW0gdmVyc2lvbnMsIHdoZW4gdGhlcmUgaXMgYSBsYXRlciB2ZXJzaW9uIGF2YWlsYWJsZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwPSdpbmZvJykKKyAgICBwYXJzZXJfY2hlY2tfdXBncmFkZV9zdGF0dXMuYWRkX2FyZ3VtZW50KCdyZWNpcGUnLCBoZWxwPSdOYW1lIG9mIHRoZSByZWNpcGUgdG8gcmVwb3J0IChvbWl0IHRvIHJlcG9ydCB1cGdyYWRlIGluZm8gZm9yIGFsbCByZWNpcGVzKScsIG5hcmdzPScqJykKKyAgICBwYXJzZXJfY2hlY2tfdXBncmFkZV9zdGF0dXMuYWRkX2FyZ3VtZW50KCctLWFsbCcsICctYScsIGhlbHA9J1Nob3cgYWxsIHJlY2lwZXMsIG5vdCBqdXN0IHJlY2lwZXMgbmVlZGluZyB1cGdyYWRlJywgYWN0aW9uPSJzdG9yZV90cnVlIikKKyAgICBwYXJzZXJfY2hlY2tfdXBncmFkZV9zdGF0dXMuc2V0X2RlZmF1bHRzKGZ1bmM9Y2hlY2tfdXBncmFkZV9zdGF0dXMpCmRpZmYgLS1naXQgYS9wb2t5L3NjcmlwdHMvbGliL3Jlc3VsdHRvb2wvbWFudWFsZXhlY3V0aW9uLnB5IGIvcG9reS9zY3JpcHRzL2xpYi9yZXN1bHR0b29sL21hbnVhbGV4ZWN1dGlvbi5weQppbmRleCA2NDg3Y2Q5Li5jOTRmOTgxIDEwMDc1NQotLS0gYS9wb2t5L3NjcmlwdHMvbGliL3Jlc3VsdHRvb2wvbWFudWFsZXhlY3V0aW9uLnB5CisrKyBiL3Bva3kvc2NyaXB0cy9saWIvcmVzdWx0dG9vbC9tYW51YWxleGVjdXRpb24ucHkKQEAgLTI0LDMwICsyNCwxOCBAQAogICAgIHdpdGggb3BlbihmaWxlLCAiciIpIGFzIGY6CiAgICAgICAgIHJldHVybiBqc29uLmxvYWQoZikKIAotCiBjbGFzcyBNYW51YWxUZXN0UnVubmVyKG9iamVjdCk6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYpOgotICAgICAgICBzZWxmLmpkYXRhID0gJycKLSAgICAgICAgc2VsZi50ZXN0X21vZHVsZSA9ICcnCi0gICAgICAgIHNlbGYudGVzdF9jYXNlc19pZCA9ICcnCi0gICAgICAgIHNlbGYuY29uZmlndXJhdGlvbiA9ICcnCi0gICAgICAgIHNlbGYuc3RhcnR0aW1lID0gJycKLSAgICAgICAgc2VsZi5yZXN1bHRfaWQgPSAnJwotICAgICAgICBzZWxmLndyaXRlX2RpciA9ICcnCiAKICAgICBkZWYgX2dldF90ZXN0Y2FzZXMoc2VsZiwgZmlsZSk6CiAgICAgICAgIHNlbGYuamRhdGEgPSBsb2FkX2pzb25fZmlsZShmaWxlKQotICAgICAgICBzZWxmLnRlc3RfY2FzZXNfaWQgPSBbXQogICAgICAgICBzZWxmLnRlc3RfbW9kdWxlID0gc2VsZi5qZGF0YVswXVsndGVzdCddWydAYWxpYXMnXS5zcGxpdCgnLicsIDIpWzBdCi0gICAgICAgIGZvciBpIGluIHNlbGYuamRhdGE6Ci0gICAgICAgICAgICBzZWxmLnRlc3RfY2FzZXNfaWQuYXBwZW5kKGlbJ3Rlc3QnXVsnQGFsaWFzJ10pCi0gICAgCisKICAgICBkZWYgX2dldF9pbnB1dChzZWxmLCBjb25maWcpOgogICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICAgb3V0cHV0ID0gaW5wdXQoJ3t9ID0gJy5mb3JtYXQoY29uZmlnKSkKLSAgICAgICAgICAgIGlmIHJlLm1hdGNoKCdeW2EtekEtWjAtOV8tXSskJywgb3V0cHV0KToKKyAgICAgICAgICAgIGlmIHJlLm1hdGNoKCdeW2EtejAtOS0uXSskJywgb3V0cHV0KToKICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgcHJpbnQoJ09ubHkgYWxwaGFudW1lcmljIGFuZCB1bmRlcnNjb3JlL2h5cGhlbiBhcmUgYWxsb3dlZC4gUGxlYXNlIHRyeSBhZ2FpbicpCisgICAgICAgICAgICBwcmludCgnT25seSBsb3dlcmNhc2UgYWxwaGFudW1lcmljLCBoeXBoZW4gYW5kIGRvdCBhcmUgYWxsb3dlZC4gUGxlYXNlIHRyeSBhZ2FpbicpCiAgICAgICAgIHJldHVybiBvdXRwdXQKIAogICAgIGRlZiBfY3JlYXRlX2NvbmZpZyhzZWxmKToKQEAgLTY3LDQ0ICs1NSw0MiBAQAogICAgICAgICBleHRyYV9jb25maWcgPSBzZXQoc3RvcmVfbWFwWydtYW51YWwnXSkgLSBzZXQoc2VsZi5jb25maWd1cmF0aW9uKQogICAgICAgICBmb3IgY29uZmlnIGluIHNvcnRlZChleHRyYV9jb25maWcpOgogICAgICAgICAgICAgcHJpbnQoJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLScpCi0gICAgICAgICAgICBwcmludCgnVGhpcyBpcyBjb25maWd1cmF0aW9uICMlcy4gUGxlYXNlIHByb3ZpZGUgY29uZmlndXJhdGlvbiB2YWx1ZSh1c2UgIk5vbmUiIGlmIG5vdCBhcHBsaWNhYmxlKS4nCi0gICAgICAgICAgICAgICAgICAlIGNvbmZpZykKKyAgICAgICAgICAgIHByaW50KCdUaGlzIGlzIGNvbmZpZ3VyYXRpb24gIyVzLiBQbGVhc2UgcHJvdmlkZSBjb25maWd1cmF0aW9uIHZhbHVlKHVzZSAiTm9uZSIgaWYgbm90IGFwcGxpY2FibGUpLicgJSBjb25maWcpCiAgICAgICAgICAgICBwcmludCgnLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJykKICAgICAgICAgICAgIHZhbHVlX2NvbmYgPSBzZWxmLl9nZXRfaW5wdXQoJ0NvbmZpZ3VyYXRpb24gVmFsdWUnKQogICAgICAgICAgICAgcHJpbnQoJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJykKICAgICAgICAgICAgIHNlbGYuY29uZmlndXJhdGlvbltjb25maWddID0gdmFsdWVfY29uZgogCiAgICAgZGVmIF9jcmVhdGVfcmVzdWx0X2lkKHNlbGYpOgotICAgICAgICBzZWxmLnJlc3VsdF9pZCA9ICdtYW51YWxfJyArIHNlbGYudGVzdF9tb2R1bGUgKyAnXycgKyBzZWxmLnN0YXJ0dGltZQorICAgICAgICBzZWxmLnJlc3VsdF9pZCA9ICdtYW51YWxfJXNfJXMnICUgKHNlbGYudGVzdF9tb2R1bGUsIHNlbGYuc3RhcnR0aW1lKQogCi0gICAgZGVmIF9leGVjdXRlX3Rlc3Rfc3RlcHMoc2VsZiwgdGVzdF9pZCk6CisgICAgZGVmIF9leGVjdXRlX3Rlc3Rfc3RlcHMoc2VsZiwgdGVzdCk6CiAgICAgICAgIHRlc3RfcmVzdWx0ID0ge30KLSAgICAgICAgdG90YWxfc3RlcHMgPSBsZW4oc2VsZi5qZGF0YVt0ZXN0X2lkXVsndGVzdCddWydleGVjdXRpb24nXS5rZXlzKCkpCiAgICAgICAgIHByaW50KCctLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0nKQotICAgICAgICBwcmludCgnRXhlY3V0aW5nIHRlc3QgY2FzZTonICsgJycgJycgKyBzZWxmLnRlc3RfY2FzZXNfaWRbdGVzdF9pZF0pCisgICAgICAgIHByaW50KCdFeGVjdXRpbmcgdGVzdCBjYXNlOiAlcycgJSB0ZXN0Wyd0ZXN0J11bJ0BhbGlhcyddKQogICAgICAgICBwcmludCgnLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJykKLSAgICAgICAgcHJpbnQoJ1lvdSBoYXZlIHRvdGFsICcgKyBzdHIodG90YWxfc3RlcHMpICsgJyB0ZXN0IHN0ZXBzIHRvIGJlIGV4ZWN1dGVkLicpCisgICAgICAgIHByaW50KCdZb3UgaGF2ZSB0b3RhbCAlcyB0ZXN0IHN0ZXBzIHRvIGJlIGV4ZWN1dGVkLicgJSBsZW4odGVzdFsndGVzdCddWydleGVjdXRpb24nXSkpCiAgICAgICAgIHByaW50KCctLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbicpCi0gICAgICAgIGZvciBzdGVwIGluIHNvcnRlZCgoc2VsZi5qZGF0YVt0ZXN0X2lkXVsndGVzdCddWydleGVjdXRpb24nXSkua2V5cygpKToKLSAgICAgICAgICAgIHByaW50KCdTdGVwICVzOiAnICUgc3RlcCArIHNlbGYuamRhdGFbdGVzdF9pZF1bJ3Rlc3QnXVsnZXhlY3V0aW9uJ11bJyVzJyAlIHN0ZXBdWydhY3Rpb24nXSkKLSAgICAgICAgICAgIHByaW50KCdFeHBlY3RlZCBvdXRwdXQ6ICcgKyBzZWxmLmpkYXRhW3Rlc3RfaWRdWyd0ZXN0J11bJ2V4ZWN1dGlvbiddWyclcycgJSBzdGVwXVsnZXhwZWN0ZWRfcmVzdWx0cyddKQotICAgICAgICAgICAgZG9uZSA9IGlucHV0KCdcblBsZWFzZSBwcmVzcyBFTlRFUiB3aGVuIHlvdSBhcmUgZG9uZSB0byBwcm9jZWVkIHRvIG5leHQgc3RlcC5cbicpCisgICAgICAgIGZvciBzdGVwLCBfIGluIHNvcnRlZCh0ZXN0Wyd0ZXN0J11bJ2V4ZWN1dGlvbiddLml0ZW1zKCksIGtleT1sYW1iZGEgeDogaW50KHhbMF0pKToKKyAgICAgICAgICAgIHByaW50KCdTdGVwICVzOiAlcycgJSAoc3RlcCwgdGVzdFsndGVzdCddWydleGVjdXRpb24nXVtzdGVwXVsnYWN0aW9uJ10pKQorICAgICAgICAgICAgZXhwZWN0ZWRfb3V0cHV0ID0gdGVzdFsndGVzdCddWydleGVjdXRpb24nXVtzdGVwXVsnZXhwZWN0ZWRfcmVzdWx0cyddCisgICAgICAgICAgICBpZiBleHBlY3RlZF9vdXRwdXQ6CisgICAgICAgICAgICAgICAgcHJpbnQoJ0V4cGVjdGVkIG91dHB1dDogJXMnICUgZXhwZWN0ZWRfb3V0cHV0KQogICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgZG9uZSA9IGlucHV0KCdcblBsZWFzZSBwcm92aWRlIHRlc3QgcmVzdWx0czogKFApYXNzZWQvKEYpYWlsZWQvKEIpbG9ja2VkLyhTKWtpcHBlZD8gXG4nKQotICAgICAgICAgICAgZG9uZSA9IGRvbmUubG93ZXIoKQorICAgICAgICAgICAgZG9uZSA9IGlucHV0KCdcblBsZWFzZSBwcm92aWRlIHRlc3QgcmVzdWx0czogKFApYXNzZWQvKEYpYWlsZWQvKEIpbG9ja2VkLyhTKWtpcHBlZD8gXG4nKS5sb3dlcigpCiAgICAgICAgICAgICByZXN1bHRfdHlwZXMgPSB7J3AnOidQQVNTRUQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZic6J0ZBSUxFRCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiJzonQkxPQ0tFRCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzJzonU0tJUFBFRCd9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2YnOidGQUlMRUQnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiJzonQkxPQ0tFRCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3MnOidTS0lQUEVEJ30KICAgICAgICAgICAgIGlmIGRvbmUgaW4gcmVzdWx0X3R5cGVzOgogICAgICAgICAgICAgICAgIGZvciByIGluIHJlc3VsdF90eXBlczoKICAgICAgICAgICAgICAgICAgICAgaWYgZG9uZSA9PSByOgogICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gcmVzdWx0X3R5cGVzW3JdCiAgICAgICAgICAgICAgICAgICAgICAgICBpZiByZXMgPT0gJ0ZBSUxFRCc6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9nX2lucHV0ID0gaW5wdXQoJ1xuUGxlYXNlIGVudGVyIHRoZSBlcnJvciBhbmQgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBsb2c6IChFeDpsb2c6MjExIEVycm9yIEJpdGJha2UpXG4nKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfcmVzdWx0LnVwZGF0ZSh7c2VsZi50ZXN0X2Nhc2VzX2lkW3Rlc3RfaWRdOiB7J3N0YXR1cyc6ICclcycgJSByZXMsICdsb2cnOiAnJXMnICUgbG9nX2lucHV0fX0pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9yZXN1bHQudXBkYXRlKHt0ZXN0Wyd0ZXN0J11bJ0BhbGlhcyddOiB7J3N0YXR1cyc6ICclcycgJSByZXMsICdsb2cnOiAnJXMnICUgbG9nX2lucHV0fX0pCiAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfcmVzdWx0LnVwZGF0ZSh7c2VsZi50ZXN0X2Nhc2VzX2lkW3Rlc3RfaWRdOiB7J3N0YXR1cyc6ICclcycgJSByZXN9fSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3Jlc3VsdC51cGRhdGUoe3Rlc3RbJ3Rlc3QnXVsnQGFsaWFzJ106IHsnc3RhdHVzJzogJyVzJyAlIHJlc319KQogICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICBwcmludCgnSW52YWxpZCBpbnB1dCEnKQogICAgICAgICByZXR1cm4gdGVzdF9yZXN1bHQKQEAgLTExOSw5ICsxMDUsOSBAQAogICAgICAgICBzZWxmLl9jcmVhdGVfcmVzdWx0X2lkKCkKICAgICAgICAgc2VsZi5fY3JlYXRlX3dyaXRlX2RpcigpCiAgICAgICAgIHRlc3RfcmVzdWx0cyA9IHt9Ci0gICAgICAgIHByaW50KCdcblRvdGFsIG51bWJlciBvZiB0ZXN0IGNhc2VzIGluIHRoaXMgdGVzdCBzdWl0ZTogJyArICclc1xuJyAlIGxlbihzZWxmLmpkYXRhKSkKLSAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgbGVuKHNlbGYuamRhdGEpKToKLSAgICAgICAgICAgIHRlc3RfcmVzdWx0ID0gc2VsZi5fZXhlY3V0ZV90ZXN0X3N0ZXBzKGkpCisgICAgICAgIHByaW50KCdcblRvdGFsIG51bWJlciBvZiB0ZXN0IGNhc2VzIGluIHRoaXMgdGVzdCBzdWl0ZTogJXNcbicgJSBsZW4oc2VsZi5qZGF0YSkpCisgICAgICAgIGZvciB0IGluIHNlbGYuamRhdGE6CisgICAgICAgICAgICB0ZXN0X3Jlc3VsdCA9IHNlbGYuX2V4ZWN1dGVfdGVzdF9zdGVwcyh0KQogICAgICAgICAgICAgdGVzdF9yZXN1bHRzLnVwZGF0ZSh0ZXN0X3Jlc3VsdCkKICAgICAgICAgcmV0dXJuIHNlbGYuY29uZmlndXJhdGlvbiwgc2VsZi5yZXN1bHRfaWQsIHNlbGYud3JpdGVfZGlyLCB0ZXN0X3Jlc3VsdHMKIApAQCAtMTI5LDggKzExNSw3IEBACiAgICAgdGVzdHJ1bm5lciA9IE1hbnVhbFRlc3RSdW5uZXIoKQogICAgIGdldF9jb25maWd1cmF0aW9uLCBnZXRfcmVzdWx0X2lkLCBnZXRfd3JpdGVfZGlyLCBnZXRfdGVzdF9yZXN1bHRzID0gdGVzdHJ1bm5lci5ydW5fdGVzdChhcmdzLmZpbGUpCiAgICAgcmVzdWx0anNvbmhlbHBlciA9IE9FVGVzdFJlc3VsdEpTT05IZWxwZXIoKQotICAgIHJlc3VsdGpzb25oZWxwZXIuZHVtcF90ZXN0cmVzdWx0X2ZpbGUoZ2V0X3dyaXRlX2RpciwgZ2V0X2NvbmZpZ3VyYXRpb24sIGdldF9yZXN1bHRfaWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRfdGVzdF9yZXN1bHRzKQorICAgIHJlc3VsdGpzb25oZWxwZXIuZHVtcF90ZXN0cmVzdWx0X2ZpbGUoZ2V0X3dyaXRlX2RpciwgZ2V0X2NvbmZpZ3VyYXRpb24sIGdldF9yZXN1bHRfaWQsIGdldF90ZXN0X3Jlc3VsdHMpCiAgICAgcmV0dXJuIDAKIAogZGVmIHJlZ2lzdGVyX2NvbW1hbmRzKHN1YnBhcnNlcnMpOgpkaWZmIC0tZ2l0IGEvcG9reS9zY3JpcHRzL2xpYi9yZXN1bHR0b29sL3Jlc3VsdHV0aWxzLnB5IGIvcG9reS9zY3JpcHRzL2xpYi9yZXN1bHR0b29sL3Jlc3VsdHV0aWxzLnB5CmluZGV4IDE1M2YyYjguLmFkNDBhYzggMTAwNjQ0Ci0tLSBhL3Bva3kvc2NyaXB0cy9saWIvcmVzdWx0dG9vbC9yZXN1bHR1dGlscy5weQorKysgYi9wb2t5L3NjcmlwdHMvbGliL3Jlc3VsdHRvb2wvcmVzdWx0dXRpbHMucHkKQEAgLTE1LDYgKzE1LDcgQEAKIGltcG9ydCBvcwogaW1wb3J0IGpzb24KIGltcG9ydCBzY3JpcHRwYXRoCitpbXBvcnQgY29weQogc2NyaXB0cGF0aC5hZGRfb2VfbGliX3BhdGgoKQogCiBmbGF0dGVuX21hcCA9IHsKQEAgLTYwLDEyICs2MSw2IEBACiAgICAgICAgIHRlc3RwYXRoID0gIi8iLmpvaW4oZGF0YVtyZXNdWyJjb25maWd1cmF0aW9uIl0uZ2V0KGkpIGZvciBpIGluIGNvbmZpZ21hcFt0ZXN0dHlwZV0pCiAgICAgICAgIGlmIHRlc3RwYXRoIG5vdCBpbiByZXN1bHRzOgogICAgICAgICAgICAgcmVzdWx0c1t0ZXN0cGF0aF0gPSB7fQotICAgICAgICBpZiAncHRlc3RyZXN1bHQucmF3bG9ncycgaW4gZGF0YVtyZXNdWydyZXN1bHQnXToKLSAgICAgICAgICAgIGRlbCBkYXRhW3Jlc11bJ3Jlc3VsdCddWydwdGVzdHJlc3VsdC5yYXdsb2dzJ10KLSAgICAgICAgaWYgJ3B0ZXN0cmVzdWx0LnNlY3Rpb25zJyBpbiBkYXRhW3Jlc11bJ3Jlc3VsdCddOgotICAgICAgICAgICAgZm9yIGkgaW4gZGF0YVtyZXNdWydyZXN1bHQnXVsncHRlc3RyZXN1bHQuc2VjdGlvbnMnXToKLSAgICAgICAgICAgICAgICBpZiAnbG9nJyBpbiBkYXRhW3Jlc11bJ3Jlc3VsdCddWydwdGVzdHJlc3VsdC5zZWN0aW9ucyddW2ldOgotICAgICAgICAgICAgICAgICAgICBkZWwgZGF0YVtyZXNdWydyZXN1bHQnXVsncHRlc3RyZXN1bHQuc2VjdGlvbnMnXVtpXVsnbG9nJ10KICAgICAgICAgcmVzdWx0c1t0ZXN0cGF0aF1bcmVzXSA9IGRhdGFbcmVzXQogCiAjCkBAIC05MywxNSArODgsNDMgQEAKICAgICAgICAgICAgICAgICAgbmV3cmVzdWx0c1tyXVtpXSA9IHJlc3VsdHNbcl1baV0KICAgICByZXR1cm4gbmV3cmVzdWx0cwogCi1kZWYgc2F2ZV9yZXN1bHRzZGF0YShyZXN1bHRzLCBkZXN0ZGlyLCBmbj0idGVzdHJlc3VsdHMuanNvbiIpOgorZGVmIHN0cmlwX3B0ZXN0cmVzdWx0cyhyZXN1bHRzKToKKyAgICBuZXdyZXN1bHRzID0gY29weS5kZWVwY29weShyZXN1bHRzKQorICAgICNmb3IgYSBpbiBuZXdyZXN1bHRzMjoKKyAgICAjICBuZXdyZXN1bHRzID0gbmV3cmVzdWx0czJbYV0KKyAgICBmb3IgcmVzIGluIG5ld3Jlc3VsdHM6CisgICAgICAgIGlmICdyZXN1bHQnIG5vdCBpbiBuZXdyZXN1bHRzW3Jlc106CisgICAgICAgICAgICBjb250aW51ZQorICAgICAgICBpZiAncHRlc3RyZXN1bHQucmF3bG9ncycgaW4gbmV3cmVzdWx0c1tyZXNdWydyZXN1bHQnXToKKyAgICAgICAgICAgIGRlbCBuZXdyZXN1bHRzW3Jlc11bJ3Jlc3VsdCddWydwdGVzdHJlc3VsdC5yYXdsb2dzJ10KKyAgICAgICAgaWYgJ3B0ZXN0cmVzdWx0LnNlY3Rpb25zJyBpbiBuZXdyZXN1bHRzW3Jlc11bJ3Jlc3VsdCddOgorICAgICAgICAgICAgZm9yIGkgaW4gbmV3cmVzdWx0c1tyZXNdWydyZXN1bHQnXVsncHRlc3RyZXN1bHQuc2VjdGlvbnMnXToKKyAgICAgICAgICAgICAgICBpZiAnbG9nJyBpbiBuZXdyZXN1bHRzW3Jlc11bJ3Jlc3VsdCddWydwdGVzdHJlc3VsdC5zZWN0aW9ucyddW2ldOgorICAgICAgICAgICAgICAgICAgICBkZWwgbmV3cmVzdWx0c1tyZXNdWydyZXN1bHQnXVsncHRlc3RyZXN1bHQuc2VjdGlvbnMnXVtpXVsnbG9nJ10KKyAgICByZXR1cm4gbmV3cmVzdWx0cworCitkZWYgc2F2ZV9yZXN1bHRzZGF0YShyZXN1bHRzLCBkZXN0ZGlyLCBmbj0idGVzdHJlc3VsdHMuanNvbiIsIHB0ZXN0anNvbj1GYWxzZSwgcHRlc3Rsb2dzPUZhbHNlKToKICAgICBmb3IgcmVzIGluIHJlc3VsdHM6CiAgICAgICAgIGlmIHJlczoKICAgICAgICAgICAgIGRzdCA9IGRlc3RkaXIgKyAiLyIgKyByZXMgKyAiLyIgKyBmbgogICAgICAgICBlbHNlOgogICAgICAgICAgICAgZHN0ID0gZGVzdGRpciArICIvIiArIGZuCiAgICAgICAgIG9zLm1ha2VkaXJzKG9zLnBhdGguZGlybmFtZShkc3QpLCBleGlzdF9vaz1UcnVlKQorICAgICAgICByZXN1bHRzb3V0ID0gcmVzdWx0c1tyZXNdCisgICAgICAgIGlmIG5vdCBwdGVzdGpzb246CisgICAgICAgICAgICByZXN1bHRzb3V0ID0gc3RyaXBfcHRlc3RyZXN1bHRzKHJlc3VsdHNbcmVzXSkKICAgICAgICAgd2l0aCBvcGVuKGRzdCwgJ3cnKSBhcyBmOgotICAgICAgICAgICAgZi53cml0ZShqc29uLmR1bXBzKHJlc3VsdHNbcmVzXSwgc29ydF9rZXlzPVRydWUsIGluZGVudD00KSkKKyAgICAgICAgICAgIGYud3JpdGUoanNvbi5kdW1wcyhyZXN1bHRzb3V0LCBzb3J0X2tleXM9VHJ1ZSwgaW5kZW50PTQpKQorICAgICAgICBmb3IgcmVzMiBpbiByZXN1bHRzW3Jlc106CisgICAgICAgICAgICBpZiBwdGVzdGxvZ3MgYW5kICdyZXN1bHQnIGluIHJlc3VsdHNbcmVzXVtyZXMyXToKKyAgICAgICAgICAgICAgICBpZiAncHRlc3RyZXN1bHQucmF3bG9ncycgaW4gcmVzdWx0c1tyZXNdW3JlczJdWydyZXN1bHQnXToKKyAgICAgICAgICAgICAgICAgICAgd2l0aCBvcGVuKGRzdC5yZXBsYWNlKGZuLCAicHRlc3QtcmF3LmxvZyIpLCAidysiKSBhcyBmOgorICAgICAgICAgICAgICAgICAgICAgICAgZi53cml0ZShyZXN1bHRzW3Jlc11bcmVzMl1bJ3Jlc3VsdCddWydwdGVzdHJlc3VsdC5yYXdsb2dzJ11bJ2xvZyddKQorICAgICAgICAgICAgICAgIGlmICdwdGVzdHJlc3VsdC5zZWN0aW9ucycgaW4gcmVzdWx0c1tyZXNdW3JlczJdWydyZXN1bHQnXToKKyAgICAgICAgICAgICAgICAgICAgZm9yIGkgaW4gcmVzdWx0c1tyZXNdW3JlczJdWydyZXN1bHQnXVsncHRlc3RyZXN1bHQuc2VjdGlvbnMnXToKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICdsb2cnIGluIHJlc3VsdHNbcmVzXVtyZXMyXVsncmVzdWx0J11bJ3B0ZXN0cmVzdWx0LnNlY3Rpb25zJ11baV06CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBvcGVuKGRzdC5yZXBsYWNlKGZuLCAicHRlc3QtJXMubG9nIiAlIGkpLCAidysiKSBhcyBmOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmLndyaXRlKHJlc3VsdHNbcmVzXVtyZXMyXVsncmVzdWx0J11bJ3B0ZXN0cmVzdWx0LnNlY3Rpb25zJ11baV1bJ2xvZyddKQogCiBkZWYgZ2l0X2dldF9yZXN1bHQocmVwbywgdGFncyk6CiAgICAgZ2l0X29ianMgPSBbXQpkaWZmIC0tZ2l0IGEvcG9reS9zY3JpcHRzL2xpYi9yZXN1bHR0b29sL3N0b3JlLnB5IGIvcG9reS9zY3JpcHRzL2xpYi9yZXN1bHR0b29sL3N0b3JlLnB5CmluZGV4IDVlMzM3MTYuLmU0YTA4MDcgMTAwNjQ0Ci0tLSBhL3Bva3kvc2NyaXB0cy9saWIvcmVzdWx0dG9vbC9zdG9yZS5weQorKysgYi9wb2t5L3NjcmlwdHMvbGliL3Jlc3VsdHRvb2wvc3RvcmUucHkKQEAgLTI5LDE1ICsyOSwxOCBAQAogICAgIHRyeToKICAgICAgICAgcmVzdWx0cyA9IHt9CiAgICAgICAgIGxvZ2dlci5pbmZvKCdSZWFkaW5nIGZpbGVzIGZyb20gJXMnICUgYXJncy5zb3VyY2UpCi0gICAgICAgIGZvciByb290LCBkaXJzLCAgZmlsZXMgaW4gb3Mud2FsayhhcmdzLnNvdXJjZSk6Ci0gICAgICAgICAgICBmb3IgbmFtZSBpbiBmaWxlczoKLSAgICAgICAgICAgICAgICBmID0gb3MucGF0aC5qb2luKHJvb3QsIG5hbWUpCi0gICAgICAgICAgICAgICAgaWYgbmFtZSA9PSAidGVzdHJlc3VsdHMuanNvbiI6Ci0gICAgICAgICAgICAgICAgICAgIHJlc3VsdHV0aWxzLmFwcGVuZF9yZXN1bHRzZGF0YShyZXN1bHRzLCBmKQotICAgICAgICAgICAgICAgIGVsaWYgYXJncy5hbGw6Ci0gICAgICAgICAgICAgICAgICAgIGRzdCA9IGYucmVwbGFjZShhcmdzLnNvdXJjZSwgdGVtcGRpciArICIvIikKLSAgICAgICAgICAgICAgICAgICAgb3MubWFrZWRpcnMob3MucGF0aC5kaXJuYW1lKGRzdCksIGV4aXN0X29rPVRydWUpCi0gICAgICAgICAgICAgICAgICAgIHNodXRpbC5jb3B5ZmlsZShmLCBkc3QpCisgICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKGFyZ3Muc291cmNlKToKKyAgICAgICAgICAgIHJlc3VsdHV0aWxzLmFwcGVuZF9yZXN1bHRzZGF0YShyZXN1bHRzLCBhcmdzLnNvdXJjZSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGZvciByb290LCBkaXJzLCAgZmlsZXMgaW4gb3Mud2FsayhhcmdzLnNvdXJjZSk6CisgICAgICAgICAgICAgICAgZm9yIG5hbWUgaW4gZmlsZXM6CisgICAgICAgICAgICAgICAgICAgIGYgPSBvcy5wYXRoLmpvaW4ocm9vdCwgbmFtZSkKKyAgICAgICAgICAgICAgICAgICAgaWYgbmFtZSA9PSAidGVzdHJlc3VsdHMuanNvbiI6CisgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHR1dGlscy5hcHBlbmRfcmVzdWx0c2RhdGEocmVzdWx0cywgZikKKyAgICAgICAgICAgICAgICAgICAgZWxpZiBhcmdzLmFsbDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGRzdCA9IGYucmVwbGFjZShhcmdzLnNvdXJjZSwgdGVtcGRpciArICIvIikKKyAgICAgICAgICAgICAgICAgICAgICAgIG9zLm1ha2VkaXJzKG9zLnBhdGguZGlybmFtZShkc3QpLCBleGlzdF9vaz1UcnVlKQorICAgICAgICAgICAgICAgICAgICAgICAgc2h1dGlsLmNvcHlmaWxlKGYsIGRzdCkKIAogICAgICAgICByZXZpc2lvbnMgPSB7fQogCkBAIC02NSw3ICs2OCw3IEBACiAgICAgICAgICAgICByZXN1bHRzID0gcmV2aXNpb25zW3JdCiAgICAgICAgICAgICBrZXl3b3JkcyA9IHsnY29tbWl0JzogclswXSwgJ2JyYW5jaCc6IHJbMV0sICJjb21taXRfY291bnQiOiByWzJdfQogICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKFsiZmluZCIsIHRlbXBkaXIsICIhIiwgIi1wYXRoIiwgIi4vLmdpdC8qIiwgIi1kZWxldGUiXSkKLSAgICAgICAgICAgIHJlc3VsdHV0aWxzLnNhdmVfcmVzdWx0c2RhdGEocmVzdWx0cywgdGVtcGRpcikKKyAgICAgICAgICAgIHJlc3VsdHV0aWxzLnNhdmVfcmVzdWx0c2RhdGEocmVzdWx0cywgdGVtcGRpciwgcHRlc3Rsb2dzPVRydWUpCiAKICAgICAgICAgICAgIGxvZ2dlci5pbmZvKCdTdG9yaW5nIHRlc3QgcmVzdWx0IGludG8gZ2l0IHJlcG9zaXRvcnkgJXMnICUgYXJncy5naXRfZGlyKQogCmRpZmYgLS1naXQgYS9wb2t5L3NjcmlwdHMvbGliL3NjcmlwdHV0aWxzLnB5IGIvcG9reS9zY3JpcHRzL2xpYi9zY3JpcHR1dGlscy5weQppbmRleCAzMWU0OGVhLi4wNjMzYzcwIDEwMDY0NAotLS0gYS9wb2t5L3NjcmlwdHMvbGliL3NjcmlwdHV0aWxzLnB5CisrKyBiL3Bva3kvc2NyaXB0cy9saWIvc2NyaXB0dXRpbHMucHkKQEAgLTI2LDYgKzI2LDggQEAKIGltcG9ydCBzdWJwcm9jZXNzCiBpbXBvcnQgc3lzCiBpbXBvcnQgdGVtcGZpbGUKK2ltcG9ydCBpbXBvcnRsaWIKK2Zyb20gaW1wb3J0bGliIGltcG9ydCBtYWNoaW5lcnkKIAogZGVmIGxvZ2dlcl9jcmVhdGUobmFtZSwgc3RyZWFtPU5vbmUpOgogICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKG5hbWUpCkBAIC0zNywxMiArMzksMTIgQEAKIAogZGVmIGxvZ2dlcl9zZXR1cF9jb2xvcihsb2dnZXIsIGNvbG9yPSdhdXRvJyk6CiAgICAgZnJvbSBiYi5tc2cgaW1wb3J0IEJCTG9nRm9ybWF0dGVyCi0gICAgY29uc29sZSA9IGxvZ2dpbmcuU3RyZWFtSGFuZGxlcihzeXMuc3Rkb3V0KQotICAgIGZvcm1hdHRlciA9IEJCTG9nRm9ybWF0dGVyKCIlKGxldmVsbmFtZSlzOiAlKG1lc3NhZ2UpcyIpCi0gICAgY29uc29sZS5zZXRGb3JtYXR0ZXIoZm9ybWF0dGVyKQotICAgIGxvZ2dlci5oYW5kbGVycyA9IFtjb25zb2xlXQotICAgIGlmIGNvbG9yID09ICdhbHdheXMnIG9yIChjb2xvcj09J2F1dG8nIGFuZCBjb25zb2xlLnN0cmVhbS5pc2F0dHkoKSk6Ci0gICAgICAgIGZvcm1hdHRlci5lbmFibGVfY29sb3IoKQorCisgICAgZm9yIGhhbmRsZXIgaW4gbG9nZ2VyLmhhbmRsZXJzOgorICAgICAgICBpZiAoaXNpbnN0YW5jZShoYW5kbGVyLCBsb2dnaW5nLlN0cmVhbUhhbmRsZXIpIGFuZAorICAgICAgICAgICAgaXNpbnN0YW5jZShoYW5kbGVyLmZvcm1hdHRlciwgQkJMb2dGb3JtYXR0ZXIpKToKKyAgICAgICAgICAgIGlmIGNvbG9yID09ICdhbHdheXMnIG9yIChjb2xvciA9PSAnYXV0bycgYW5kIGhhbmRsZXIuc3RyZWFtLmlzYXR0eSgpKToKKyAgICAgICAgICAgICAgICBoYW5kbGVyLmZvcm1hdHRlci5lbmFibGVfY29sb3IoKQogCiAKIGRlZiBsb2FkX3BsdWdpbnMobG9nZ2VyLCBwbHVnaW5zLCBwbHVnaW5wYXRoKToKQEAgLTUwLDEyICs1Miw5IEBACiAKICAgICBkZWYgbG9hZF9wbHVnaW4obmFtZSk6CiAgICAgICAgIGxvZ2dlci5kZWJ1ZygnTG9hZGluZyBwbHVnaW4gJXMnICUgbmFtZSkKLSAgICAgICAgZnAsIHBhdGhuYW1lLCBkZXNjcmlwdGlvbiA9IGltcC5maW5kX21vZHVsZShuYW1lLCBbcGx1Z2lucGF0aF0pCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHJldHVybiBpbXAubG9hZF9tb2R1bGUobmFtZSwgZnAsIHBhdGhuYW1lLCBkZXNjcmlwdGlvbikKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIGlmIGZwOgotICAgICAgICAgICAgICAgIGZwLmNsb3NlKCkKKyAgICAgICAgc3BlYyA9IGltcG9ydGxpYi5tYWNoaW5lcnkuUGF0aEZpbmRlci5maW5kX3NwZWMobmFtZSwgcGF0aD1bcGx1Z2lucGF0aF0gKQorICAgICAgICBpZiBzcGVjOgorICAgICAgICAgICAgcmV0dXJuIHNwZWMubG9hZGVyLmxvYWRfbW9kdWxlKCkKIAogICAgIGRlZiBwbHVnaW5fbmFtZShmaWxlbmFtZSk6CiAgICAgICAgIHJldHVybiBvcy5wYXRoLnNwbGl0ZXh0KG9zLnBhdGguYmFzZW5hbWUoZmlsZW5hbWUpKVswXQpAQCAtNzAsNiArNjksNyBAQAogICAgICAgICAgICAgICAgIHBsdWdpbi5wbHVnaW5faW5pdChwbHVnaW5zKQogICAgICAgICAgICAgcGx1Z2lucy5hcHBlbmQocGx1Z2luKQogCisKIGRlZiBnaXRfY29udmVydF9zdGFuZGFsb25lX2Nsb25lKHJlcG9kaXIpOgogICAgICIiIklmIHNwZWNpZmllZCBkaXJlY3RvcnkgaXMgYSBnaXQgcmVwb3NpdG9yeSwgZW5zdXJlIGl0J3MgYSBzdGFuZGFsb25lIGNsb25lIiIiCiAgICAgaW1wb3J0IGJiLnByb2Nlc3MKZGlmZiAtLWdpdCBhL3Bva3kvc2NyaXB0cy9saWIvd2ljL2VuZ2luZS5weSBiL3Bva3kvc2NyaXB0cy9saWIvd2ljL2VuZ2luZS5weQppbmRleCBlYTYwMGQyLi5hYjMzZmE2IDEwMDY0NAotLS0gYS9wb2t5L3NjcmlwdHMvbGliL3dpYy9lbmdpbmUucHkKKysrIGIvcG9reS9zY3JpcHRzL2xpYi93aWMvZW5naW5lLnB5CkBAIC0zMzgsNyArMzM4LDcgQEAKICAgICBkZWYgY29weShzZWxmLCBzcmMsIHBudW0sIHBhdGgpOgogICAgICAgICAiIiJDb3B5IHBhcnRpdGlvbiBpbWFnZSBpbnRvIHdpYyBpbWFnZS4iIiIKICAgICAgICAgaWYgc2VsZi5wYXJ0aXRpb25zW3BudW1dLmZzdHlwZS5zdGFydHN3aXRoKCdleHQnKToKLSAgICAgICAgICAgIGNtZCA9ICJwcmludGYgJ2NkIHt9XG53cml0ZSB7fSB7fScgfCB7fSAtdyB7fSIuXAorICAgICAgICAgICAgY21kID0gInByaW50ZiAnY2Qge31cbndyaXRlIHt9IHt9XG4nIHwge30gLXcge30iLlwKICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQocGF0aCwgc3JjLCBvcy5wYXRoLmJhc2VuYW1lKHNyYyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZGVidWdmcywgc2VsZi5fZ2V0X3BhcnRfaW1hZ2UocG51bSkpCiAgICAgICAgIGVsc2U6ICMgZmF0CmRpZmYgLS1naXQgYS9wb2t5L3NjcmlwdHMvbGliL3dpYy9rc3BhcnNlci5weSBiL3Bva3kvc2NyaXB0cy9saWIvd2ljL2tzcGFyc2VyLnB5CmluZGV4IDdlNWE5YzUuLjA4YmFmNzYgMTAwNjQ0Ci0tLSBhL3Bva3kvc2NyaXB0cy9saWIvd2ljL2tzcGFyc2VyLnB5CisrKyBiL3Bva3kvc2NyaXB0cy9saWIvd2ljL2tzcGFyc2VyLnB5CkBAIC0yOCwxNCArMjgsMzAgQEAKIGltcG9ydCBvcwogaW1wb3J0IHNobGV4CiBpbXBvcnQgbG9nZ2luZworaW1wb3J0IHJlCiAKIGZyb20gYXJncGFyc2UgaW1wb3J0IEFyZ3VtZW50UGFyc2VyLCBBcmd1bWVudEVycm9yLCBBcmd1bWVudFR5cGVFcnJvcgogCiBmcm9tIHdpYy5lbmdpbmUgaW1wb3J0IGZpbmRfY2FubmVkCiBmcm9tIHdpYy5wYXJ0aXRpb24gaW1wb3J0IFBhcnRpdGlvbgorZnJvbSB3aWMubWlzYyBpbXBvcnQgZ2V0X2JpdGJha2VfdmFyCiAKIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCd3aWMnKQogCitfX2V4cGFuZF92YXJfcmVnZXhwX18gPSByZS5jb21waWxlKHIiXCR7W157fUBcblx0IDpdK30iKQorCitkZWYgZXhwYW5kX2xpbmUobGluZSk6CisgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgbSA9IF9fZXhwYW5kX3Zhcl9yZWdleHBfXy5zZWFyY2gobGluZSkKKyAgICAgICAgaWYgbm90IG06CisgICAgICAgICAgICByZXR1cm4gbGluZQorICAgICAgICBrZXkgPSBtLmdyb3VwKClbMjotMV0KKyAgICAgICAgdmFsID0gZ2V0X2JpdGJha2VfdmFyKGtleSkKKyAgICAgICAgaWYgdmFsIGlzIE5vbmU6CisgICAgICAgICAgICBsb2dnZXIud2FybmluZygiY2Fubm90IGV4cGFuZCB2YXJpYWJsZSAlcyIgJSBrZXkpCisgICAgICAgICAgICByZXR1cm4gbGluZQorICAgICAgICBsaW5lID0gbGluZVs6bS5zdGFydCgpXSArIHZhbCArIGxpbmVbbS5lbmQoKTpdCisKIGNsYXNzIEtpY2tTdGFydEVycm9yKEV4Y2VwdGlvbik6CiAgICAgIiIiQ3VzdG9tIGV4Y2VwdGlvbi4iIiIKICAgICBwYXNzCkBAIC0xOTAsNiArMjA2LDcgQEAKICAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5zdHJpcCgpCiAgICAgICAgICAgICAgICAgbGluZW5vICs9IDEKICAgICAgICAgICAgICAgICBpZiBsaW5lIGFuZCBsaW5lWzBdICE9ICcjJzoKKyAgICAgICAgICAgICAgICAgICAgbGluZSA9IGV4cGFuZF9saW5lKGxpbmUpCiAgICAgICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVfYXJncyA9IHNobGV4LnNwbGl0KGxpbmUpCiAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZWQgPSBwYXJzZXIucGFyc2VfYXJncyhsaW5lX2FyZ3MpCmRpZmYgLS1naXQgYS9wb2t5L3NjcmlwdHMvbGliL3dpYy9wYXJ0aXRpb24ucHkgYi9wb2t5L3NjcmlwdHMvbGliL3dpYy9wYXJ0aXRpb24ucHkKaW5kZXggM2RhN2UyMy4uY2EyMDZlYyAxMDA2NDQKLS0tIGEvcG9reS9zY3JpcHRzL2xpYi93aWMvcGFydGl0aW9uLnB5CisrKyBiL3Bva3kvc2NyaXB0cy9saWIvd2ljL3BhcnRpdGlvbi5weQpAQCAtMTczLDcgKzE3Myw3IEBACiAgICAgICAgICAgICAjIFNwbGl0IHNvdXJjZXBhcmFtcyBzdHJpbmcgb2YgdGhlIGZvcm0ga2V5MT12YWwxWyxrZXkyPXZhbDIsLi4uXQogICAgICAgICAgICAgIyBpbnRvIGEgZGljdC4gIEFsc28gYWNjZXB0cyB2YWx1ZWxlc3Mga2V5cyBpLmUuIHdpdGhvdXQgPQogICAgICAgICAgICAgc3BsaXR0ZWQgPSBzZWxmLnNvdXJjZXBhcmFtcy5zcGxpdCgnLCcpCi0gICAgICAgICAgICBzcmNwYXJhbXNfZGljdCA9IGRpY3QocGFyLnNwbGl0KCc9JykgZm9yIHBhciBpbiBzcGxpdHRlZCBpZiBwYXIpCisgICAgICAgICAgICBzcmNwYXJhbXNfZGljdCA9IGRpY3QocGFyLnNwbGl0KCc9JywgMSkgZm9yIHBhciBpbiBzcGxpdHRlZCBpZiBwYXIpCiAKICAgICAgICAgcGx1Z2luID0gUGx1Z2luTWdyLmdldF9wbHVnaW5zKCdzb3VyY2UnKVtzZWxmLnNvdXJjZV0KICAgICAgICAgcGx1Z2luLmRvX2NvbmZpZ3VyZV9wYXJ0aXRpb24oc2VsZiwgc3JjcGFyYW1zX2RpY3QsIGNyZWF0b3IsCmRpZmYgLS1naXQgYS9wb2t5L3NjcmlwdHMvbGliL3dpYy9wbHVnaW5zL3NvdXJjZS9ib290aW1nLWVmaS5weSBiL3Bva3kvc2NyaXB0cy9saWIvd2ljL3BsdWdpbnMvc291cmNlL2Jvb3RpbWctZWZpLnB5CmluZGV4IDBlYjg2YTAuLjgzYTdlMTggMTAwNjQ0Ci0tLSBhL3Bva3kvc2NyaXB0cy9saWIvd2ljL3BsdWdpbnMvc291cmNlL2Jvb3RpbWctZWZpLnB5CisrKyBiL3Bva3kvc2NyaXB0cy9saWIvd2ljL3BsdWdpbnMvc291cmNlL2Jvb3RpbWctZWZpLnB5CkBAIC03NywxMiArNzcsMTMgQEAKICAgICAgICAgaWYgbm90IGN1c3RvbV9jZmc6CiAgICAgICAgICAgICAjIENyZWF0ZSBncnViIGNvbmZpZ3VyYXRpb24gdXNpbmcgcGFyYW1ldGVycyBmcm9tIHdrcyBmaWxlCiAgICAgICAgICAgICBib290bG9hZGVyID0gY3JlYXRvci5rcy5ib290bG9hZGVyCisgICAgICAgICAgICB0aXRsZSA9IHNvdXJjZV9wYXJhbXMuZ2V0KCd0aXRsZScpCiAKICAgICAgICAgICAgIGdydWJlZmlfY29uZiA9ICIiCiAgICAgICAgICAgICBncnViZWZpX2NvbmYgKz0gInNlcmlhbCAtLXVuaXQ9MCAtLXNwZWVkPTExNTIwMCAtLXdvcmQ9OCAtLXBhcml0eT1ubyAtLXN0b3A9MVxuIgogICAgICAgICAgICAgZ3J1YmVmaV9jb25mICs9ICJkZWZhdWx0PWJvb3RcbiIKICAgICAgICAgICAgIGdydWJlZmlfY29uZiArPSAidGltZW91dD0lc1xuIiAlIGJvb3Rsb2FkZXIudGltZW91dAotICAgICAgICAgICAgZ3J1YmVmaV9jb25mICs9ICJtZW51ZW50cnkgJ2Jvb3Qne1xuIgorICAgICAgICAgICAgZ3J1YmVmaV9jb25mICs9ICJtZW51ZW50cnkgJyVzJ3tcbiIgJSAodGl0bGUgaWYgdGl0bGUgZWxzZSAiYm9vdCIpCiAKICAgICAgICAgICAgIGtlcm5lbCA9ICIvYnpJbWFnZSIKIApAQCAtMTUyLDkgKzE1MywxMCBAQAogICAgICAgICBpZiBub3QgY3VzdG9tX2NmZzoKICAgICAgICAgICAgICMgQ3JlYXRlIHN5c3RlbWQtYm9vdCBjb25maWd1cmF0aW9uIHVzaW5nIHBhcmFtZXRlcnMgZnJvbSB3a3MgZmlsZQogICAgICAgICAgICAga2VybmVsID0gIi9iekltYWdlIgorICAgICAgICAgICAgdGl0bGUgPSBzb3VyY2VfcGFyYW1zLmdldCgndGl0bGUnKQogCiAgICAgICAgICAgICBib290X2NvbmYgPSAiIgotICAgICAgICAgICAgYm9vdF9jb25mICs9ICJ0aXRsZSBib290XG4iCisgICAgICAgICAgICBib290X2NvbmYgKz0gInRpdGxlICVzXG4iICUgKHRpdGxlIGlmIHRpdGxlIGVsc2UgImJvb3QiKQogICAgICAgICAgICAgYm9vdF9jb25mICs9ICJsaW51eCAlc1xuIiAlIGtlcm5lbAogICAgICAgICAgICAgYm9vdF9jb25mICs9ICJvcHRpb25zIExBQkVMPUJvb3Qgcm9vdD0lcyAlc1xuIiAlIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNyZWF0b3Iucm9vdGRldiwgYm9vdGxvYWRlci5hcHBlbmQpCmRpZmYgLS1naXQgYS9wb2t5L3NjcmlwdHMvb2UtcHlsaW50IGIvcG9reS9zY3JpcHRzL29lLXB5bGludApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43NGZmNGI4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9zY3JpcHRzL29lLXB5bGludApAQCAtMCwwICsxLDExIEBACisjIS9iaW4vYmFzaAorIworIyBSdW4gdGhlIHB5bGludDMgYWdhaW5zdCBvdXIgY29tbW9uIHB5dGhvbiBtb2R1bGUgc3BhY2VzIGFuZCBwcmludCBhIHJlcG9ydCBvZiBwb3RlbnRpYWwgaXNzdWVzCisjCit0aGlzX2Rpcj0kKGRpcm5hbWUgJChyZWFkbGluayAtZiAkMCkpCitFUlJPUlM9Ii1FIgorSUdOT1JFTElTVD0iJEVSUk9SUyAtZCBsb2dnaW5nLXRvby1tYW55LWFyZ3MgLWQgbWlzc2luZy1kb2NzdHJpbmcgLWQgbGluZS10b28tbG9uZyAtZCBpbnZhbGlkLW5hbWUiCitQWVRIT05QQVRIPSR0aGlzX2Rpci8uLi9iaXRiYWtlL2xpYi8gcHlsaW50MyAkSUdOT1JFTElTVCBiYgorUFlUSE9OUEFUSD0kdGhpc19kaXIvLi4vYml0YmFrZS9saWIvOiR0aGlzX2Rpci8uLi9tZXRhL2xpYiBweWxpbnQzICRJR05PUkVMSVNUIC1kIHVuZGVmaW5lZC12YXJpYWJsZSBvZQorUFlUSE9OUEFUSD0kdGhpc19kaXIvLi4vYml0YmFrZS9saWIvOiR0aGlzX2Rpci8uLi9tZXRhL2xpYiBweWxpbnQzICAkSUdOT1JFTElTVCBvZXFhCitQWVRIT05QQVRIPSR0aGlzX2Rpci8uLi9iaXRiYWtlL2xpYi86JHRoaXNfZGlyLy4uL21ldGEvbGliOiR0aGlzX2Rpci9saWIgcHlsaW50MyAkSUdOT1JFTElTVCAtZCB1bmRlZmluZWQtdmFyaWFibGUgYXJncGFyc2Vfb2UgYnVpbGRzdGF0cyAgZGV2dG9vbCByZWNpcGV0b29sIHNjcmlwdHBhdGggdGVzdGNhc2VtZ210IGJ1aWxkX3BlcmYgY2hlY2tsYXllciByZXN1bHR0b29sICBzY3JpcHR1dGlscyB3aWMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9wb2t5L3NjcmlwdHMvb2VweWRldnNoZWxsLWludGVybmFsLnB5IGIvcG9reS9zY3JpcHRzL29lcHlkZXZzaGVsbC1pbnRlcm5hbC5weQppbmRleCAwNDYyMWFlLi4yZjdkNWQ0IDEwMDc1NQotLS0gYS9wb2t5L3NjcmlwdHMvb2VweWRldnNoZWxsLWludGVybmFsLnB5CisrKyBiL3Bva3kvc2NyaXB0cy9vZXB5ZGV2c2hlbGwtaW50ZXJuYWwucHkKQEAgLTYzLDcgKzYzLDkgQEAKICAgICAgICAgICAgIChyZWFkeSwgXywgXykgPSBzZWxlY3Quc2VsZWN0KFtwdHksIHN5cy5zdGRpbl0sIHdyaXRlcnMgLCBbXSwgMCkKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBpZiBwdHkgaW4gcmVhZHk6Ci0gICAgICAgICAgICAgICAgICAgIGkgPSBpICsgcHR5LnJlYWQoKS5kZWNvZGUoJ3V0Zi04JykKKyAgICAgICAgICAgICAgICAgICAgcmVhZGRhdGEgPSBwdHkucmVhZCgpCisgICAgICAgICAgICAgICAgICAgIGlmIHJlYWRkYXRhOgorICAgICAgICAgICAgICAgICAgICAgICAgaSA9IGkgKyByZWFkZGF0YS5kZWNvZGUoJ3V0Zi04JykKICAgICAgICAgICAgICAgICBpZiBpOgogICAgICAgICAgICAgICAgICAgICAjIFdyaXRlIGEgcGFnZSBhdCBhIHRpbWUgdG8gYXZvaWQgb3ZlcmZsb3dpbmcgb3V0cHV0IAogICAgICAgICAgICAgICAgICAgICAjIGQua2V5cygpIGlzIGEgZ29vZCB3YXkgdG8gZG8gdGhhdApkaWZmIC0tZ2l0IGEvcG9reS9zY3JpcHRzL3B5dGhvbmRlcHMgYi9wb2t5L3NjcmlwdHMvcHl0aG9uZGVwcwppbmRleCA1OTBiOTc2Li4zZTEzYTU4IDEwMDc1NQotLS0gYS9wb2t5L3NjcmlwdHMvcHl0aG9uZGVwcworKysgYi9wb2t5L3NjcmlwdHMvcHl0aG9uZGVwcwpAQCAtOSw3ICs5LDggQEAKIAogaW1wb3J0IGFyZ3BhcnNlCiBpbXBvcnQgYXN0Ci1pbXBvcnQgaW1wCitpbXBvcnQgaW1wb3J0bGliCitmcm9tIGltcG9ydGxpYiBpbXBvcnQgbWFjaGluZXJ5CiBpbXBvcnQgbG9nZ2luZwogaW1wb3J0IG9zLnBhdGgKIGltcG9ydCBzeXMKQEAgLTE3LDEwICsxOCw3IEBACiAKIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCdweXRob25kZXBzJykKIAotc3VmZml4ZXMgPSBbXQotZm9yIHRyaXBsZSBpbiBpbXAuZ2V0X3N1ZmZpeGVzKCk6Ci0gICAgc3VmZml4ZXMuYXBwZW5kKHRyaXBsZVswXSkKLQorc3VmZml4ZXMgPSBpbXBvcnRsaWIubWFjaGluZXJ5LmFsbF9zdWZmaXhlcygpCiAKIGNsYXNzIFB5dGhvbkRlcEVycm9yKEV4Y2VwdGlvbik6CiAgICAgcGFzcwpkaWZmIC0tZ2l0IGEvcG9reS9zY3JpcHRzL3Jlc3VsdHRvb2wgYi9wb2t5L3NjcmlwdHMvcmVzdWx0dG9vbAppbmRleCA1YTg5ZTFjLi4xOGFjMTAxIDEwMDc1NQotLS0gYS9wb2t5L3NjcmlwdHMvcmVzdWx0dG9vbAorKysgYi9wb2t5L3NjcmlwdHMvcmVzdWx0dG9vbApAQCAtNTEsMTMgKzUxLDYgQEAKIGltcG9ydCByZXN1bHR0b29sLm1hbnVhbGV4ZWN1dGlvbgogbG9nZ2VyID0gc2NyaXB0dXRpbHMubG9nZ2VyX2NyZWF0ZSgncmVzdWx0dG9vbCcpCiAKLWRlZiBfdmFsaWRhdGVfdXNlcl9pbnB1dF9hcmd1bWVudHMoYXJncyk6Ci0gICAgaWYgaGFzYXR0cihhcmdzLCAic291cmNlX2RpciIpOgotICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2RpcihhcmdzLnNvdXJjZV9kaXIpOgotICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdzb3VyY2VfZGlyIGFyZ3VtZW50IG5lZWQgdG8gYmUgYSBkaXJlY3RvcnkgOiAlcycgJSBhcmdzLnNvdXJjZV9kaXIpCi0gICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICByZXR1cm4gVHJ1ZQotCiBkZWYgbWFpbigpOgogICAgIHBhcnNlciA9IGFyZ3BhcnNlX29lLkFyZ3VtZW50UGFyc2VyKGRlc2NyaXB0aW9uPSJPRVFBIHRlc3QgcmVzdWx0IG1hbmlwdWxhdGlvbiB0b29sLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXBpbG9nPSJVc2UgJShwcm9nKXMgPHN1YmNvbW1hbmQ+IC0taGVscCB0byBnZXQgaGVscCBvbiBhIHNwZWNpZmljIGNvbW1hbmQiKQpAQCAtODAsOSArNzMsNiBAQAogICAgIGVsaWYgYXJncy5xdWlldDoKICAgICAgICAgbG9nZ2VyLnNldExldmVsKGxvZ2dpbmcuRVJST1IpCiAKLSAgICBpZiBub3QgX3ZhbGlkYXRlX3VzZXJfaW5wdXRfYXJndW1lbnRzKGFyZ3MpOgotICAgICAgICByZXR1cm4gLTEKLQogICAgIHRyeToKICAgICAgICAgcmV0ID0gYXJncy5mdW5jKGFyZ3MsIGxvZ2dlcikKICAgICBleGNlcHQgYXJncGFyc2Vfb2UuQXJndW1lbnRVc2FnZUVycm9yIGFzIGFlOgpkaWZmIC0tZ2l0IGEvcG9reS9zY3JpcHRzL3J1bnFlbXUgYi9wb2t5L3NjcmlwdHMvcnVucWVtdQppbmRleCAxYzk2YjI5Li5jMGU1NjljIDEwMDc1NQotLS0gYS9wb2t5L3NjcmlwdHMvcnVucWVtdQorKysgYi9wb2t5L3NjcmlwdHMvcnVucWVtdQpAQCAtNzQsNyArNzQsMTIgQEAKICAgTUFDSElORSAtIHRoZSBtYWNoaW5lIG5hbWUgKG9wdGlvbmFsLCBhdXRvZGV0ZWN0ZWQgZnJvbSBLRVJORUwgZmlsZW5hbWUgaWYgdW5zcGVjaWZpZWQpCiAgIFNpbXBsaWZpZWQgUUVNVSBjb21tYW5kLWxpbmUgb3B0aW9ucyBjYW4gYmUgcGFzc2VkIHdpdGg6CiAgICAgbm9ncmFwaGljIC0gZGlzYWJsZSB2aWRlbyBjb25zb2xlCisgICAgc2RsIC0gY2hvb3NlIHRoZSBTREwgZnJvbnRlbmQgaW5zdGVhZCBvZiB0aGUgR3RrKyBkZWZhdWx0CisgICAgZ3RrLWdsIC0gZW5hYmxlIHZpcmdsLWJhc2VkIEdMIGFjY2VsZXJhdGlvbiB1c2luZyBHdGsrIGZyb250ZW5kCisgICAgZ3RrLWdsLWVzIC0gZW5hYmxlIHZpcmdsLWJhc2VkIEdMIGFjY2VsZXJhdGlvbiwgdXNpbmcgT3BlbkdMIEVTIGFuZCBHdGsrIGZyb250ZW5kCisgICAgZWdsLWhlYWRsZXNzIC0gZW5hYmxlIGhlYWRsZXNzIEVHTCBvdXRwdXQ7IHVzZSB2bmMgb3Igc3BpY2UgdG8gc2VlIGl0CiAgICAgc2VyaWFsIC0gZW5hYmxlIGEgc2VyaWFsIGNvbnNvbGUgb24gL2Rldi90dHlTMAorICAgIHNlcmlhbHN0ZGlvIC0gZW5hYmxlIGEgc2VyaWFsIGNvbnNvbGUgb24gdGhlIGNvbnNvbGUgKHJlZ2FyZGxlc3Mgb2YgZ3JhcGhpY3MgbW9kZSkKICAgICBzbGlycCAtIGVuYWJsZSB1c2VyIG5ldHdvcmtpbmcsIG5vIHJvb3QgcHJpdmlsZWdlcyBpcyByZXF1aXJlZAogICAgIGt2bSAtIGVuYWJsZSBLVk0gd2hlbiBydW5uaW5nIHg4Ni94ODZfNjQgKFZULWNhcGFibGUgQ1BVIHJlcXVpcmVkKQogICAgIGt2bS12aG9zdCAtIGVuYWJsZSBLVk0gd2l0aCB2aG9zdCB3aGVuIHJ1bm5pbmcgeDg2L3g4Nl82NCAoVlQtY2FwYWJsZSBDUFUgcmVxdWlyZWQpCkBAIC0xMTQsMzkgKzExOSw2IEBACiAgICAgaWYgbm90IG9zLmFjY2VzcyhkZXZfdHVuLCBvcy5XX09LKToKICAgICAgICAgcmFpc2UgUnVuUWVtdUVycm9yKCJUVU4gY29udHJvbCBkZXZpY2UgJXMgaXMgbm90IHdyaXRhYmxlLCBwbGVhc2UgZml4IChlLmcuIHN1ZG8gY2htb2QgNjY2ICVzKSIgJSAoZGV2X3R1biwgZGV2X3R1bikpCiAKLWRlZiBjaGVja19saWJnbChxZW11X2Jpbik6Ci0gICAgY21kID0gKCdsZGQnLCBxZW11X2JpbikKLSAgICBsb2dnZXIuZGVidWcoJ1J1bm5pbmcgJXMuLi4nICUgc3RyKGNtZCkpCi0gICAgbmVlZF9nbCA9IHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KGNtZCkuZGVjb2RlKCd1dGYtOCcpCi0gICAgaWYgcmUuc2VhcmNoKCdsaWJHTFUnLCBuZWVkX2dsKToKLSAgICAgICAgIyBXZSBjYW4ndCBydW4gd2l0aG91dCBhIGxpYkdMLnNvCi0gICAgICAgIGxpYmdsID0gRmFsc2UKLSAgICAgICAgY2hlY2tfZmlsZXMgPSAoKCcvdXNyL2xpYi9saWJHTC5zbycsICcvdXNyL2xpYi9saWJHTFUuc28nKSwgXAotICAgICAgICAgICAgKCcvdXNyL2xpYjY0L2xpYkdMLnNvJywgJy91c3IvbGliNjQvbGliR0xVLnNvJyksIFwKLSAgICAgICAgICAgICgnL3Vzci9saWIvKi1saW51eC1nbnUvbGliR0wuc28nLCAnL3Vzci9saWIvKi1saW51eC1nbnUvbGliR0xVLnNvJykpCi0KLSAgICAgICAgZm9yIChmMSwgZjIpIGluIGNoZWNrX2ZpbGVzOgotICAgICAgICAgICAgaWYgcmUuc2VhcmNoKCdcKicsIGYxKToKLSAgICAgICAgICAgICAgICBmb3IgZzEgaW4gZ2xvYi5nbG9iKGYxKToKLSAgICAgICAgICAgICAgICAgICAgaWYgbGliZ2w6Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhnMSk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBmb3IgZzIgaW4gZ2xvYi5nbG9iKGYyKToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhnMik6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYmdsID0gVHJ1ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgIGlmIGxpYmdsOgotICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhmMSkgYW5kIG9zLnBhdGguZXhpc3RzKGYyKToKLSAgICAgICAgICAgICAgICAgICAgbGliZ2wgPSBUcnVlCi0gICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgIGlmIG5vdCBsaWJnbDoKLSAgICAgICAgICAgIGxvZ2dlci5lcnJvcigiWW91IG5lZWQgbGliR0wuc28gYW5kIGxpYkdMVS5zbyB0byBleGlzdCBpbiB5b3VyIGxpYnJhcnkgcGF0aCB0byBydW4gdGhlIFFFTVUgZW11bGF0b3IuIikKLSAgICAgICAgICAgIGxvZ2dlci5lcnJvcigiVWJ1bnR1IHBhY2thZ2UgbmFtZXMgYXJlOiBsaWJnbDEtbWVzYS1kZXYgYW5kIGxpYmdsdTEtbWVzYS1kZXYuIikKLSAgICAgICAgICAgIGxvZ2dlci5lcnJvcigiRmVkb3JhIHBhY2thZ2UgbmFtZXMgYXJlOiBtZXNhLWxpYkdMLWRldmVsIG1lc2EtbGliR0xVLWRldmVsLiIpCi0gICAgICAgICAgICByYWlzZSBSdW5RZW11RXJyb3IoJyVzIHJlcXVpcmVzIGxpYkdMVSwgYnV0IG5vdCBmb3VuZCcgJSBxZW11X2JpbikKLQogZGVmIGdldF9maXJzdF9maWxlKGNtZHMpOgogICAgICIiIlJldHVybiBmaXJzdCBmaWxlIGZvdW5kIGluIHdpbGRjYXJkIGNtZHMiIiIKICAgICBmb3IgY21kIGluIGNtZHM6CkBAIC0yMTIsNiArMTg0LDcgQEAKICAgICAgICAgc2VsZi5zbGlycF9lbmFibGVkID0gRmFsc2UKICAgICAgICAgc2VsZi5uZnNfaW5zdGFuY2UgPSAwCiAgICAgICAgIHNlbGYubmZzX3J1bm5pbmcgPSBGYWxzZQorICAgICAgICBzZWxmLnNlcmlhbGNvbnNvbGUgPSBGYWxzZQogICAgICAgICBzZWxmLnNlcmlhbHN0ZGlvID0gRmFsc2UKICAgICAgICAgc2VsZi5jbGVhbnRhcCA9IEZhbHNlCiAgICAgICAgIHNlbGYuc2F2ZWRfc3R0eSA9ICcnCkBAIC00MzIsOCArNDA1LDMzIEBACiAgICAgICAgICAgICBlbGlmIGFyZyA9PSAnbm9ncmFwaGljJzoKICAgICAgICAgICAgICAgICBzZWxmLnFlbXVfb3B0X3NjcmlwdCArPSAnIC1ub2dyYXBoaWMnCiAgICAgICAgICAgICAgICAgc2VsZi5rZXJuZWxfY21kbGluZV9zY3JpcHQgKz0gJyBjb25zb2xlPXR0eVMwJworICAgICAgICAgICAgZWxpZiBhcmcgPT0gJ3NkbCc6CisgICAgICAgICAgICAgICAgc2VsZi5xZW11X29wdF9zY3JpcHQgKz0gJyAtZGlzcGxheSBzZGwnCisgICAgICAgICAgICBlbGlmIGFyZyA9PSAnZ3RrLWdsJzoKKyAgICAgICAgICAgICAgICBzZWxmLnFlbXVfb3B0X3NjcmlwdCArPSAnIC12Z2EgdmlydGlvIC1kaXNwbGF5IGd0ayxnbD1vbicKKyAgICAgICAgICAgIGVsaWYgYXJnID09ICdndGstZ2wtZXMnOgorICAgICAgICAgICAgICAgIHNlbGYucWVtdV9vcHRfc2NyaXB0ICs9ICcgLXZnYSB2aXJ0aW8gLWRpc3BsYXkgZ3RrLGdsPWVzJworICAgICAgICAgICAgZWxpZiBhcmcgPT0gJ2VnbC1oZWFkbGVzcyc6CisgICAgICAgICAgICAgICAgc2VsZi5xZW11X29wdF9zY3JpcHQgKz0gJyAtdmdhIHZpcnRpbyAtZGlzcGxheSBlZ2wtaGVhZGxlc3MnCisgICAgICAgICAgICAgICAgIyBBcyBydW5xZW11IGNhbiBiZSBydW4gd2l0aGluIGJpdGJha2UgKHdoZW4gdXNpbmcgdGVzdGltYWdlLCBmb3IgZXhhbXBsZSksCisgICAgICAgICAgICAgICAgIyB3ZSBuZWVkIHRvIGVuc3VyZSB0aGF0IHdlIHJ1biBob3N0IHBrZy1jb25maWcsIGFuZCB0aGF0IGl0IGRvZXMgbm90CisgICAgICAgICAgICAgICAgIyBnZXQgbWlzLWRpcmVjdGVkIHRvIG5hdGl2ZSBidWlsZCBwYXRocyBzZXQgYnkgYml0YmFrZS4KKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIGRlbCBvcy5lbnZpcm9uWydQS0dfQ09ORklHX1BBVEgnXQorICAgICAgICAgICAgICAgICAgICBkZWwgb3MuZW52aXJvblsnUEtHX0NPTkZJR19ESVInXQorICAgICAgICAgICAgICAgICAgICBkZWwgb3MuZW52aXJvblsnUEtHX0NPTkZJR19MSUJESVInXQorICAgICAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgZHJpcGF0aCA9IHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KCJQQVRIPS9iaW46L3Vzci9iaW46JFBBVEggcGtnLWNvbmZpZyAtLXZhcmlhYmxlPWRyaWRyaXZlcmRpciBkcmkiLCBzaGVsbD1UcnVlKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvciBhcyBlOgorICAgICAgICAgICAgICAgICAgICByYWlzZSBSdW5RZW11RXJyb3IoIkNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIHBhdGggdG8gZHJpIGRyaXZlcnMgb24gdGhlIGhvc3QgdmlhIHBrZy1jb25maWcuXG5QbGVhc2UgaW5zdGFsbCBNZXNhIGRldmVsb3BtZW50IGZpbGVzIChwYXJ0aWN1bGFybHksIGRyaS5wYykgb24gdGhlIGhvc3QgbWFjaGluZS4iKQorICAgICAgICAgICAgICAgIG9zLmVudmlyb25bJ0xJQkdMX0RSSVZFUlNfUEFUSCddID0gZHJpcGF0aC5kZWNvZGUoJ3V0Zi04Jykuc3RyaXAoKQogICAgICAgICAgICAgZWxpZiBhcmcgPT0gJ3NlcmlhbCc6CiAgICAgICAgICAgICAgICAgc2VsZi5rZXJuZWxfY21kbGluZV9zY3JpcHQgKz0gJyBjb25zb2xlPXR0eVMwJworICAgICAgICAgICAgICAgIHNlbGYuc2VyaWFsY29uc29sZSA9IFRydWUKKyAgICAgICAgICAgIGVsaWYgYXJnID09ICJzZXJpYWxzdGRpbyI6CisgICAgICAgICAgICAgICAgc2VsZi5rZXJuZWxfY21kbGluZV9zY3JpcHQgKz0gJyBjb25zb2xlPXR0eVMwJwogICAgICAgICAgICAgICAgIHNlbGYuc2VyaWFsc3RkaW8gPSBUcnVlCiAgICAgICAgICAgICBlbGlmIGFyZyA9PSAnYXVkaW8nOgogICAgICAgICAgICAgICAgIGxvZ2dlci5pbmZvKCJFbmFibGluZyBhdWRpbyBpbiBxZW11IikKQEAgLTExNjYsOCArMTE2NCw2IEBACiAgICAgICAgIGlmIG5vdCBvcy5hY2Nlc3MocWVtdV9iaW4sIG9zLlhfT0spOgogICAgICAgICAgICAgcmFpc2UgT0VQYXRoRXJyb3IoIk5vIFFFTVUgYmluYXJ5ICclcycgY291bGQgYmUgZm91bmQiICUgcWVtdV9iaW4pCiAKLSAgICAgICAgY2hlY2tfbGliZ2wocWVtdV9iaW4pCi0KICAgICAgICAgc2VsZi5xZW11X29wdCA9ICIlcyAlcyAlcyAlcyIgJSAocWVtdV9iaW4sIHNlbGYuZ2V0KCdORVRXT1JLX0NNRCcpLCBzZWxmLmdldCgnUk9PVEZTX09QVElPTlMnKSwgc2VsZi5nZXQoJ1FCX09QVF9BUFBFTkQnKSkKIAogICAgICAgICBmb3Igb3ZtZiBpbiBzZWxmLm92bWZfYmlvczoKQEAgLTExODcsNyArMTE4Myw3IEBACiAgICAgICAgIGlmIHNlbGYuc25hcHNob3Q6CiAgICAgICAgICAgICBzZWxmLnFlbXVfb3B0ICs9ICIgLXNuYXBzaG90IgogCi0gICAgICAgIGlmIHNlbGYuc2VyaWFsc3RkaW86CisgICAgICAgIGlmIHNlbGYuc2VyaWFsY29uc29sZToKICAgICAgICAgICAgIGlmIHN5cy5zdGRpbi5pc2F0dHkoKToKICAgICAgICAgICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoKCJzdHR5IiwgImludHIiLCAiXl0iKSkKICAgICAgICAgICAgICAgICBsb2dnZXIuaW5mbygiSW50ZXJydXB0IGNoYXJhY3RlciBpcyAnXl0nIikKQEAgLTEyMTQsNyArMTIxMCw3IEBACiAgICAgICAgICMgICAgIElOSVQ6IElkICJTMSIgcmVzcGF3bmluZyB0b28gZmFzdDogZGlzYWJsZWQgZm9yIDUgbWludXRlcwogICAgICAgICBzZXJpYWxfbnVtID0gbGVuKHJlLmZpbmRhbGwoIi1zZXJpYWwiLCBzZWxmLnFlbXVfb3B0KSkKICAgICAgICAgaWYgc2VyaWFsX251bSA9PSAwOgotICAgICAgICAgICAgaWYgcmUuc2VhcmNoKCItbm9ncmFwaGljIiwgc2VsZi5xZW11X29wdCk6CisgICAgICAgICAgICBpZiByZS5zZWFyY2goIi1ub2dyYXBoaWMiLCBzZWxmLnFlbXVfb3B0KSBvciBzZWxmLnNlcmlhbHN0ZGlvOgogICAgICAgICAgICAgICAgIHNlbGYucWVtdV9vcHQgKz0gIiAtc2VyaWFsIG1vbjpzdGRpbyAtc2VyaWFsIG51bGwiCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHNlbGYucWVtdV9vcHQgKz0gIiAtc2VyaWFsIG1vbjp2YyAtc2VyaWFsIG51bGwiCg==